From af278cc56e6a96169455ff3f3cfe26246421065a Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 3 Mar 2025 13:40:58 -0800 Subject: [PATCH 01/63] Example working --- _api/package.json | 9 ++ _api/src/api.ts | 89 ++++++++++++++ _api/src/client.ts | 81 +++++++++++++ _api/src/errors.ts | 27 +++++ _api/src/jsonRPC.ts | 75 ++++++++++++ _api/src/main.ts | 0 _api/src/server.ts | 31 +++++ _api/src/test.ts | 88 ++++++++++++++ _api/src/types.ts | 16 +++ _api/tsconfig.json | 16 +++ cmd/tsgo/api.go | 39 ++++++ cmd/tsgo/main.go | 2 + internal/ls/api.go | 19 +++ internal/ls/languageservice.go | 7 +- internal/lsp/lsproto/custom.go | 70 +++++++++++ internal/lsp/lsproto/jsonrpc.go | 9 ++ internal/lsp/server.go | 83 +++++++++---- internal/project/api.go | 205 ++++++++++++++++++++++++++++++++ internal/project/project.go | 127 ++++++++++++++++---- internal/project/scriptinfo.go | 63 +--------- internal/project/service.go | 201 ++++++++++++++++++------------- package-lock.json | 30 +++++ package.json | 3 +- 23 files changed, 1104 insertions(+), 186 deletions(-) create mode 100644 _api/package.json create mode 100644 _api/src/api.ts create mode 100644 _api/src/client.ts create mode 100644 _api/src/errors.ts create mode 100644 _api/src/jsonRPC.ts create mode 100644 _api/src/main.ts create mode 100644 _api/src/server.ts create mode 100644 _api/src/test.ts create mode 100644 _api/src/types.ts create mode 100644 _api/tsconfig.json create mode 100644 cmd/tsgo/api.go create mode 100644 internal/ls/api.go create mode 100644 internal/lsp/lsproto/custom.go create mode 100644 internal/project/api.go diff --git a/_api/package.json b/_api/package.json new file mode 100644 index 0000000000..020fd4f98e --- /dev/null +++ b/_api/package.json @@ -0,0 +1,9 @@ +{ + "private": true, + "name": "typescript-api", + "version": "1.0.0", + "type": "module", + "dependencies": { + "json-rpc-2.0": "^1.7.0" + } +} diff --git a/_api/src/api.ts b/_api/src/api.ts new file mode 100644 index 0000000000..26b88c86da --- /dev/null +++ b/_api/src/api.ts @@ -0,0 +1,89 @@ +import type { ChildProcessWithoutNullStreams } from "node:child_process"; +import { Client } from "./client.ts"; +import { startServer } from "./server.ts"; +import type { + ParsedCommandLine, + ProjectData, + SymbolData, +} from "./types.ts"; + +export interface APIOptions { + tsserverPath: string; + cwd?: string; + logServer?: (msg: string) => void; +} + +export class API { + private server: ChildProcessWithoutNullStreams; + private client: Client; + constructor(options: APIOptions) { + this.client = new Client(this.server = startServer(options.tsserverPath, options.cwd ?? process.cwd(), options.logServer)); + } + + async parseConfigFile(fileName: string): Promise { + await this.ensureInitialized(); + return this.client.request("parseConfigFile", { fileName }); + } + + async loadProject(configFileName: string): Promise { + await this.ensureInitialized(); + const data = await this.client.loadProject(configFileName); + return new Project(this.client, data); + } + + async ensureInitialized(): Promise { + if (!this.client.initialized) { + await this.client.initialize(); + } + } + + async close(): Promise { + await this.client.shutdown(); + this.client.exit(); + this.server.kill(); + } +} + +export class Project { + private client: Client; + configFileName!: string; + commandLine!: ParsedCommandLine; + + constructor(client: Client, data: ProjectData) { + this.client = client; + this.loadData(data); + } + + private loadData(data: ProjectData) { + this.configFileName = data.configFileName; + this.commandLine = data.commandLine; + } + + async reload(): Promise { + this.loadData(await this.client.request("loadProject", { configFileName: this.configFileName })); + } + + async getSymbolAtPosition(fileName: string, position: number): Promise { + const data = await this.client.request("getSymbolAtPosition", { project: this.configFileName, fileName, position }); + return data ? new Symbol(this.client, this, data) : undefined; + } +} + +export class Symbol { + private client: Client; + private project: Project; + + private projectVersion: number; + name: string; + flags: number; + checkFlags: number; + + constructor(client: Client, project: Project, data: SymbolData) { + this.client = client; + this.project = project; + this.projectVersion = data.projectVersion; + this.name = data.name; + this.flags = data.flags; + this.checkFlags = data.checkFlags; + } +} diff --git a/_api/src/client.ts b/_api/src/client.ts new file mode 100644 index 0000000000..7ae5db84d8 --- /dev/null +++ b/_api/src/client.ts @@ -0,0 +1,81 @@ +import type { JSONRPCClient } from "json-rpc-2.0"; +import type { ChildProcessWithoutNullStreams } from "node:child_process"; +import { + LSPError, + LSPErrorCollection, +} from "./errors.ts"; +import { createJSONRPCClient } from "./jsonRPC.ts"; +import type { + ParsedCommandLine, + ProjectData, + SymbolData, +} from "./types.ts"; + +export class Client { + initialized = false; + jsonRPCClient: JSONRPCClient; + errorStack: LSPError[] = []; + + constructor(serverProcess: ChildProcessWithoutNullStreams) { + this.jsonRPCClient = createJSONRPCClient(serverProcess, error => { + this.errorStack.push(error); + }); + } + + async initialize(): Promise { + await this.jsonRPCClient.request("initialize", { + rootUri: null, + capabilities: {}, + }); + this.initialized = true; + this.jsonRPCClient.notify("initialized", {}); + this.flushErrors(); + } + + async parseConfigFile(configFileName: string): Promise { + return this.request("parseConfigFile", { + configFileName, + }); + } + + async loadProject(configFileName: string): Promise { + return this.request("loadProject", { + configFileName, + }); + } + + async getSymbolAtPosition(fileName: string, position: number): Promise { + return this.request("getSymbolAtPosition", { + fileName, + position, + }); + } + + async shutdown(): Promise { + await this.jsonRPCClient.request("shutdown", {}); + this.jsonRPCClient.notify("exit", {}); + this.flushErrors(); + } + + exit(): void { + this.jsonRPCClient.notify("exit", {}); + } + + async request(method: string, params: any): Promise { + const result = await this.jsonRPCClient.request("custom/api", { + method, + params, + }); + this.flushErrors(); + return result; + } + + private flushErrors() { + if (this.errorStack.length > 1) { + throw new LSPErrorCollection(this.errorStack); + } + if (this.errorStack.length === 1) { + throw this.errorStack[0]; + } + } +} diff --git a/_api/src/errors.ts b/_api/src/errors.ts new file mode 100644 index 0000000000..05ad1ece22 --- /dev/null +++ b/_api/src/errors.ts @@ -0,0 +1,27 @@ +export type LSPErrorType = "MessageFormat" | "Parse" | "Server"; + +export class LSPError extends Error { + code?: number; + raw?: string; + constructor( + message: string, + type: LSPErrorType, + details?: { code?: number; raw?: string; }, + ) { + super(message); + this.name = `LSP${type}Error`; + this.code = details?.code; + this.raw = details?.raw; + } +} + +export class LSPErrorCollection extends Error { + errors: LSPError[]; + constructor( + errors: LSPError[], + ) { + super("LSP Errors:\n" + errors.map(e => e.message).join("\n")); + this.name = "LSPErrorCollection"; + this.errors = errors; + } +} diff --git a/_api/src/jsonRPC.ts b/_api/src/jsonRPC.ts new file mode 100644 index 0000000000..3e50ee1b84 --- /dev/null +++ b/_api/src/jsonRPC.ts @@ -0,0 +1,75 @@ +import type { ChildProcessWithoutNullStreams } from "child_process"; +import { JSONRPCClient } from "json-rpc-2.0"; +import { LSPError } from "./errors.ts"; + +export function createJSONRPCClient(serverProcess: ChildProcessWithoutNullStreams, onError: (error: LSPError) => void): JSONRPCClient { + const client = new JSONRPCClient(jsonRPCRequest => { + const content = JSON.stringify(jsonRPCRequest); + const contentLength = Buffer.byteLength(content, "utf8"); + const header = `Content-Length: ${contentLength}\r\n\r\n`; + serverProcess.stdin.write(header + content, "utf8"); + }); + + // Buffer for incoming data + let buffer = ""; + let contentLength: number | null = null; + + serverProcess.stdout.on("data", (data: Buffer) => { + buffer += data.toString(); + + // Process all complete messages in the buffer + while (true) { + // If we don't have a content length yet, try to parse the header + if (contentLength === null) { + const headerEnd = buffer.indexOf("\r\n\r\n"); + if (headerEnd === -1) { + // Not enough data to read the header + break; + } + + const header = buffer.substring(0, headerEnd); + const match = header.match(/Content-Length:\s*(\d+)/i); + if (!match) { + onError( + new LSPError( + "Invalid message header: Content-Length not found", + "MessageFormat", + ), + ); + buffer = ""; + return; + } + + contentLength = parseInt(match[1], 10); + buffer = buffer.substring(headerEnd + 4); // Remove the header + } + + // If we have a content length and enough data, process the message + if (contentLength !== null && buffer.length >= contentLength) { + const message = buffer.substring(0, contentLength); + buffer = buffer.substring(contentLength); // Remove the processed message + contentLength = null; + + try { + const json = JSON.parse(message); + client.receive(json); + } + catch (error) { + onError( + new LSPError( + `Error parsing message: ${error instanceof Error ? error.message : error}`, + "Parse", + { raw: message }, + ), + ); + } + } + else { + // Not enough data to process a message + break; + } + } + }); + + return client; +} diff --git a/_api/src/main.ts b/_api/src/main.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/_api/src/server.ts b/_api/src/server.ts new file mode 100644 index 0000000000..219a369d5a --- /dev/null +++ b/_api/src/server.ts @@ -0,0 +1,31 @@ +import { + type ChildProcessWithoutNullStreams, + spawn, +} from "child_process"; +import { LSPError } from "./errors.ts"; + +export function startServer(executable: string, cwd: string, log?: (msg: string) => void): ChildProcessWithoutNullStreams { + const server = spawn(executable, ["api", "-cwd", cwd], { + detached: true, + }); + + server.unref(); + + server.on("error", error => { + throw new LSPError(`Server process error: ${error.message}`, "Server"); + }); + + if (log) { + server.stderr.on("data", data => { + log(data.toString()); + }); + } + + server.once("exit", code => { + if (code !== 0 && code !== null) { + throw new LSPError(`Server exited with code ${code}`, "Server", { code }); + } + }); + + return server; +} diff --git a/_api/src/test.ts b/_api/src/test.ts new file mode 100644 index 0000000000..2b07385f82 --- /dev/null +++ b/_api/src/test.ts @@ -0,0 +1,88 @@ +import * as fs from "node:fs"; +import { dirname } from "node:path"; +import * as path from "node:path"; +import ts from "typescript"; +import { API } from "./api.ts"; + +console.log("=== LSP-based tsgo ==="); +console.time("Total execution time"); + +console.time("Server startup time"); +const api = new API({ + tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, + cwd: dirname(new URL(import.meta.url).pathname), + // logServer: msg => logs.push(msg), +}); +console.timeEnd("Server startup time"); + +// Start project loading timer +console.time("Project loading time"); +const project = await api.loadProject("../../../eg/ts/tsconfig.json"); +console.timeEnd("Project loading time"); + +console.time("Symbol lookup time"); +const symbol = await project.getSymbolAtPosition("a.ts", 4); +console.timeEnd("Symbol lookup time"); + +console.log(symbol?.name, symbol?.flags); +await api.close(); + +console.timeEnd("Total execution time"); + +// Implement equivalent functionality with TypeScript API directly +console.log("\n=== Direct TypeScript API implementation ==="); +console.time("Total execution time"); + +try { + console.time("Config parsing"); + // Parse tsconfig.json + const configFilePath = new URL("../../../eg/ts/tsconfig.json", import.meta.url).pathname; + const configFileText = fs.readFileSync(configFilePath, "utf-8"); + const jsonSourceFile = ts.parseJsonText(configFilePath, configFileText); + + const parseConfigHost: ts.ParseConfigHost = { + fileExists: ts.sys.fileExists, + readFile: ts.sys.readFile, + readDirectory: ts.sys.readDirectory, + useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, + }; + + const parsedConfig = ts.parseJsonSourceFileConfigFileContent( + jsonSourceFile, + parseConfigHost, + path.dirname(configFilePath), + ); + console.timeEnd("Config parsing"); + + console.time("Program creation"); + // Create a program + const program = ts.createProgram({ + rootNames: parsedConfig.fileNames, + options: parsedConfig.options, + }); + console.timeEnd("Program creation"); + + console.time("Symbol lookup"); + // Get the checker and find symbol at position + const checker = program.getTypeChecker(); + const aFilePath = path.resolve(path.dirname(configFilePath), "a.ts"); + const sourceFile = program.getSourceFile(aFilePath); + + if (sourceFile) { + // Position 4 is in the first line + const position = 4; + + // @ts-expect-error + const token = ts.getTokenAtPosition(sourceFile, position); + + // Get symbol at position + const symbol = checker.getSymbolAtLocation(token); + console.log("Direct TS API symbol:", symbol?.getName(), symbol?.getFlags()); + } + console.timeEnd("Symbol lookup"); +} +catch (err) { + console.error("Error in direct TS API implementation:", err); +} + +console.timeEnd("Total execution time"); diff --git a/_api/src/types.ts b/_api/src/types.ts new file mode 100644 index 0000000000..e6fed7ae08 --- /dev/null +++ b/_api/src/types.ts @@ -0,0 +1,16 @@ +export interface ParsedCommandLine { + options: Record; + fileNames: string[]; +} + +export interface ProjectData { + configFileName: string; + commandLine: ParsedCommandLine; +} + +export interface SymbolData { + name: string; + flags: number; + checkFlags: number; + projectVersion: number; +} diff --git a/_api/tsconfig.json b/_api/tsconfig.json new file mode 100644 index 0000000000..d014396564 --- /dev/null +++ b/_api/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "node16", + "strict": true, + "forceConsistentCasingInFileNames": true, + "rewriteRelativeImportExtensions": true, + "verbatimModuleSyntax": true, + "isolatedDeclarations": true, + "sourceMap": true, + "declaration": true, + "declarationMap": true, + "rootDir": "src", + "outDir": "dist" + }, + "include": ["src"] +} diff --git a/cmd/tsgo/api.go b/cmd/tsgo/api.go new file mode 100644 index 0000000000..b6563eda63 --- /dev/null +++ b/cmd/tsgo/api.go @@ -0,0 +1,39 @@ +package main + +import ( + "errors" + "flag" + "io" + "os" + + "github.com/microsoft/typescript-go/internal/bundled" + "github.com/microsoft/typescript-go/internal/core" + "github.com/microsoft/typescript-go/internal/lsp" + "github.com/microsoft/typescript-go/internal/vfs/osvfs" +) + +func runAPI(args []string) int { + flag := flag.NewFlagSet("api", flag.ContinueOnError) + cwd := flag.String("cwd", core.Must(os.Getwd()), "current working directory") + if err := flag.Parse(args); err != nil { + return 2 + } + + fs := bundled.WrapFS(osvfs.FS()) + defaultLibraryPath := bundled.LibPath() + + s := lsp.NewServer(&lsp.ServerOptions{ + In: os.Stdin, + Out: os.Stdout, + Err: os.Stderr, + API: true, + Cwd: *cwd, + FS: fs, + DefaultLibraryPath: defaultLibraryPath, + }) + + if err := s.Run(); err != nil && !errors.Is(err, io.EOF) { + return 1 + } + return 0 +} diff --git a/cmd/tsgo/main.go b/cmd/tsgo/main.go index 6f4eb0d367..2ef102512e 100644 --- a/cmd/tsgo/main.go +++ b/cmd/tsgo/main.go @@ -122,6 +122,8 @@ func main() { os.Exit(int(execute.CommandLine(newSystem(), nil, args[1:]))) case "lsp": os.Exit(runLSP(args[1:])) + case "api": + os.Exit(runAPI(args[1:])) } } opts := parseArgs() diff --git a/internal/ls/api.go b/internal/ls/api.go new file mode 100644 index 0000000000..8ede231af9 --- /dev/null +++ b/internal/ls/api.go @@ -0,0 +1,19 @@ +package ls + +import ( + "github.com/microsoft/typescript-go/internal/ast" + "github.com/microsoft/typescript-go/internal/astnav" +) + +func (l *LanguageService) GetSymbolAtPosition(fileName string, position int) *ast.Symbol { + program, file := l.tryGetProgramAndFile(fileName) + if file == nil { + return nil + } + node := astnav.GetTokenAtPosition(file, position) + if node == nil { + return nil + } + checker := program.GetTypeChecker() + return checker.GetSymbolAtLocation(node) +} diff --git a/internal/ls/languageservice.go b/internal/ls/languageservice.go index 815278749b..2b75f95e17 100644 --- a/internal/ls/languageservice.go +++ b/internal/ls/languageservice.go @@ -55,9 +55,14 @@ func (l *LanguageService) GetProgram() *compiler.Program { return l.host.GetProgram() } -func (l *LanguageService) getProgramAndFile(fileName string) (*compiler.Program, *ast.SourceFile) { +func (l *LanguageService) tryGetProgramAndFile(fileName string) (*compiler.Program, *ast.SourceFile) { program := l.GetProgram() file := program.GetSourceFile(fileName) + return program, file +} + +func (l *LanguageService) getProgramAndFile(fileName string) (*compiler.Program, *ast.SourceFile) { + program, file := l.tryGetProgramAndFile(fileName) if file == nil { panic("file not found") } diff --git a/internal/lsp/lsproto/custom.go b/internal/lsp/lsproto/custom.go new file mode 100644 index 0000000000..cf2ffa85ce --- /dev/null +++ b/internal/lsp/lsproto/custom.go @@ -0,0 +1,70 @@ +package lsproto + +import ( + "encoding/json" + "fmt" +) + +const ( + MethodAPI Method = "custom/api" +) + +type APIRequestParams struct { + Method APIMethod `json:"method"` + Params any `json:"params"` +} + +type APIMethod string + +const ( + APIMethodParseConfigFile APIMethod = "parseConfigFile" + APIMethodLoadProject APIMethod = "loadProject" + APIMethodGetSymbolAtPosition APIMethod = "getSymbolAtPosition" +) + +var apiUnmarshalers = map[APIMethod]func([]byte) (any, error){ + APIMethodParseConfigFile: unmarshallerFor[APIParseConfigFileParams], + APIMethodLoadProject: unmarshallerFor[APILoadProjectParams], + APIMethodGetSymbolAtPosition: unmarshallerFor[APIGetSymbolAtPositionParams], +} + +type APIParseConfigFileParams struct { + FileName string `json:"fileName"` +} + +type APILoadProjectParams struct { + ConfigFileName string `json:"configFileName"` +} + +type APIGetSymbolAtPositionParams struct { + Project string `json:"project"` + FileName string `json:"fileName"` + Position uint32 `json:"position"` +} + +func (p *APIRequestParams) UnmarshalJSON(data []byte) error { + *p = APIRequestParams{} + var raw struct { + Method APIMethod `json:"method"` + Params json.RawMessage `json:"params"` + } + if err := json.Unmarshal(data, &raw); err != nil { + return err + } + p.Method = raw.Method + + var params any + var err error + + if unmarshaler, ok := apiUnmarshalers[raw.Method]; ok { + params, err = unmarshaler(raw.Params) + } else { + return fmt.Errorf("unknown API method %q", raw.Method) + } + p.Params = params + + if err != nil { + return fmt.Errorf("failed to unmarshal API method %q: %w", raw.Method, err) + } + return nil +} diff --git a/internal/lsp/lsproto/jsonrpc.go b/internal/lsp/lsproto/jsonrpc.go index 952a3635b9..07a39f204d 100644 --- a/internal/lsp/lsproto/jsonrpc.go +++ b/internal/lsp/lsproto/jsonrpc.go @@ -70,6 +70,15 @@ func (r *RequestMessage) UnmarshalJSON(data []byte) error { return nil } + if r.Method == MethodAPI { + var params APIRequestParams + if err := json.Unmarshal(raw.Params, ¶ms); err != nil { + return fmt.Errorf("%w: %w", ErrInvalidRequest, err) + } + r.Params = ¶ms + return nil + } + var params any var err error diff --git a/internal/lsp/server.go b/internal/lsp/server.go index d3200178d5..fe131b78ec 100644 --- a/internal/lsp/server.go +++ b/internal/lsp/server.go @@ -20,6 +20,7 @@ type ServerOptions struct { Out io.Writer Err io.Writer + API bool Cwd string NewLine core.NewLineKind FS vfs.FS @@ -34,6 +35,7 @@ func NewServer(opts *ServerOptions) *Server { r: lsproto.NewBaseReader(opts.In), w: lsproto.NewBaseWriter(opts.Out), stderr: opts.Err, + useAPI: opts.API, cwd: opts.Cwd, newLine: opts.NewLine, fs: opts.FS, @@ -52,6 +54,7 @@ type Server struct { requestMethod string requestTime time.Time + useAPI bool cwd string newLine core.NewLineKind fs vfs.FS @@ -60,6 +63,7 @@ type Server struct { initializeParams *lsproto.InitializeParams logger *project.Logger + api *project.API projectService *project.Service converters *converters } @@ -93,6 +97,8 @@ func (s *Server) Run() error { for { req, err := s.read() if err != nil { + s.requestMethod = "" + s.requestTime = time.Time{} if errors.Is(err, lsproto.ErrInvalidRequest) { if err := s.sendError(nil, err); err != nil { return err @@ -172,12 +178,39 @@ func (s *Server) handleMessage(req *lsproto.RequestMessage) error { s.requestTime = time.Now() s.requestMethod = string(req.Method) - params := req.Params - switch params.(type) { + switch params := req.Params.(type) { case *lsproto.InitializeParams: return s.sendError(req.ID, lsproto.ErrInvalidRequest) case *lsproto.InitializedParams: return s.handleInitialized(req) + case *lsproto.APIRequestParams: + if !s.useAPI { + break + } + if result, err := s.api.HandleRequest(req.ID, params); err != nil { + return s.sendError(req.ID, err) + } else { + return s.sendResult(req.ID, result) + } + default: + switch req.Method { + case lsproto.MethodShutdown: + if s.useAPI { + s.api.Close() + } else { + s.projectService.Close() + } + return s.sendResult(req.ID, nil) + case lsproto.MethodExit: + return nil + } + } + + if s.useAPI { + return s.sendError(req.ID, lsproto.ErrInvalidRequest) + } + + switch req.Params.(type) { case *lsproto.DidOpenTextDocumentParams: return s.handleDidOpen(req) case *lsproto.DidChangeTextDocumentParams: @@ -193,29 +226,28 @@ func (s *Server) handleMessage(req *lsproto.RequestMessage) error { case *lsproto.DefinitionParams: return s.handleDefinition(req) default: - switch req.Method { - case lsproto.MethodShutdown: - s.projectService.Close() - return s.sendResult(req.ID, nil) - case lsproto.MethodExit: - return nil - default: - s.Log("unknown method", req.Method) - if req.ID != nil { - return s.sendError(req.ID, lsproto.ErrInvalidRequest) - } - return nil + s.Log("unknown method", req.Method) + if req.ID != nil { + return s.sendError(req.ID, lsproto.ErrInvalidRequest) } + return nil } } func (s *Server) handleInitialize(req *lsproto.RequestMessage) error { s.initializeParams = req.Params.(*lsproto.InitializeParams) + serverInfo := &lsproto.ServerInfo{ + Name: "typescript-go", + Version: ptrTo(core.Version), + } + if s.useAPI { + return s.sendResult(req.ID, &lsproto.InitializeResult{ + ServerInfo: serverInfo, + Capabilities: lsproto.ServerCapabilities{}, + }) + } return s.sendResult(req.ID, &lsproto.InitializeResult{ - ServerInfo: &lsproto.ServerInfo{ - Name: "typescript-go", - Version: ptrTo(core.Version), - }, + ServerInfo: serverInfo, Capabilities: lsproto.ServerCapabilities{ TextDocumentSync: &lsproto.TextDocumentSyncOptionsOrTextDocumentSyncKind{ TextDocumentSyncOptions: &lsproto.TextDocumentSyncOptions{ @@ -245,10 +277,17 @@ func (s *Server) handleInitialize(req *lsproto.RequestMessage) error { func (s *Server) handleInitialized(req *lsproto.RequestMessage) error { s.logger = project.NewLogger([]io.Writer{s.stderr}, project.LogLevelVerbose) - s.projectService = project.NewService(s, project.ServiceOptions{ - DefaultLibraryPath: s.defaultLibraryPath, - Logger: s.logger, - }) + if s.useAPI { + s.api = project.NewAPI(s, project.ServiceOptions{ + DefaultLibraryPath: s.defaultLibraryPath, + Logger: s.logger, + }) + } else { + s.projectService = project.NewService(s, project.ServiceOptions{ + DefaultLibraryPath: s.defaultLibraryPath, + Logger: s.logger, + }) + } s.converters = &converters{projectService: s.projectService} return nil } diff --git a/internal/project/api.go b/internal/project/api.go new file mode 100644 index 0000000000..b3923f011e --- /dev/null +++ b/internal/project/api.go @@ -0,0 +1,205 @@ +package project + +import ( + "fmt" + "sync" + + "github.com/microsoft/typescript-go/internal/ast" + "github.com/microsoft/typescript-go/internal/core" + "github.com/microsoft/typescript-go/internal/lsp/lsproto" + "github.com/microsoft/typescript-go/internal/tsoptions" + "github.com/microsoft/typescript-go/internal/tspath" + "github.com/microsoft/typescript-go/internal/vfs" +) + +type SymbolData struct { + Name string `json:"name"` + Flags uint32 `json:"flags"` + CheckFlags uint32 `json:"checkFlags"` + ProjectVersion uint32 `json:"projectVersion"` +} + +func NewSymbolData(symbol *ast.Symbol, projectVersion int) *SymbolData { + return &SymbolData{ + Name: symbol.Name, + Flags: uint32(symbol.Flags), + CheckFlags: uint32(symbol.CheckFlags), + ProjectVersion: uint32(projectVersion), + } +} + +type ProjectData struct { + ConfigFileName string `json:"configFileName"` + RootFiles []string `json:"rootFiles"` + CompilerOptions *core.CompilerOptions `json:"compilerOptions"` +} + +func NewProjectData(project *Project) *ProjectData { + return &ProjectData{ + ConfigFileName: project.configFileName, + RootFiles: project.GetRootFileNames(), + CompilerOptions: project.GetCompilerOptions(), + } +} + +type API struct { + host ServiceHost + options ServiceOptions + + documentRegistry *documentRegistry + scriptInfosMu sync.RWMutex + scriptInfos map[tspath.Path]*ScriptInfo + + projects map[tspath.Path]*Project +} + +var _ ProjectHost = (*API)(nil) + +func NewAPI(host ServiceHost, options ServiceOptions) *API { + return &API{ + host: host, + options: options, + documentRegistry: newDocumentRegistry(tspath.ComparePathsOptions{ + UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), + CurrentDirectory: host.GetCurrentDirectory(), + }), + scriptInfos: make(map[tspath.Path]*ScriptInfo), + projects: make(map[tspath.Path]*Project), + } +} + +// DefaultLibraryPath implements ProjectHost. +func (api *API) DefaultLibraryPath() string { + return api.options.DefaultLibraryPath +} + +// DocumentRegistry implements ProjectHost. +func (api *API) DocumentRegistry() *documentRegistry { + return api.documentRegistry +} + +// FS implements ProjectHost. +func (api *API) FS() vfs.FS { + return api.host.FS() +} + +// GetCurrentDirectory implements ProjectHost. +func (api *API) GetCurrentDirectory() string { + return api.host.GetCurrentDirectory() +} + +// GetOrCreateScriptInfoForFile implements ProjectHost. +func (api *API) GetOrCreateScriptInfoForFile(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo { + return api.getOrCreateScriptInfo(fileName, path, scriptKind) +} + +// GetScriptInfoByPath implements ProjectHost. +func (api *API) GetScriptInfoByPath(path tspath.Path) *ScriptInfo { + api.scriptInfosMu.RLock() + defer api.scriptInfosMu.RUnlock() + return api.scriptInfos[path] +} + +// OnDiscoveredSymlink implements ProjectHost. +func (api *API) OnDiscoveredSymlink(info *ScriptInfo) { + // !!! +} + +// Log implements ProjectHost. +func (api *API) Log(s string) { + api.options.Logger.Info(s) +} + +// NewLine implements ProjectHost. +func (api *API) NewLine() string { + return api.host.NewLine() +} + +func (api *API) HandleRequest(id *lsproto.ID, params *lsproto.APIRequestParams) (any, error) { + switch params.Method { + case lsproto.APIMethodParseConfigFile: + return api.ParseConfigFile(params.Params.(*lsproto.APIParseConfigFileParams).FileName) + case lsproto.APIMethodLoadProject: + return api.LoadProject(params.Params.(*lsproto.APILoadProjectParams).ConfigFileName) + case lsproto.APIMethodGetSymbolAtPosition: + params := params.Params.(*lsproto.APIGetSymbolAtPositionParams) + return api.GetSymbolAtPosition(api.toPath(params.Project), params.FileName, int(params.Position)) + default: + return nil, fmt.Errorf("unhandled API method %q", params.Method) + } +} + +func (api *API) Close() { + // !!! +} + +func (api *API) ParseConfigFile(configFileName string) (*tsoptions.ParsedCommandLine, error) { + configFileName = api.toAbsoluteFileName(configFileName) + if configFileContent, ok := api.host.FS().ReadFile(configFileName); ok { + configDir := tspath.GetDirectoryPath(configFileName) + tsConfigSourceFile := tsoptions.NewTsconfigSourceFileFromFilePath(configFileName, api.toPath(configFileName), configFileContent) + parsedCommandLine := tsoptions.ParseJsonSourceFileConfigFileContent( + tsConfigSourceFile, + api.host, + configDir, + nil, /*existingOptions*/ + configFileName, + nil, /*resolutionStack*/ + nil, /*extraFileExtensions*/ + nil, /*extendedConfigCache*/ + ) + return parsedCommandLine, nil + } + return nil, fmt.Errorf("could not read file %q", configFileName) +} + +func (api *API) LoadProject(configFileName string) (*ProjectData, error) { + configFileName = api.toAbsoluteFileName(configFileName) + configFilePath := api.toPath(configFileName) + project := NewConfiguredProject(configFileName, configFilePath, api) + if err := project.loadConfig(); err != nil { + return nil, err + } + api.projects[configFilePath] = project + return NewProjectData(project), nil +} + +func (api *API) GetSymbolAtPosition(project tspath.Path, fileName string, position int) (*SymbolData, error) { + if project, ok := api.projects[project]; ok { + symbol := project.LanguageService().GetSymbolAtPosition(fileName, position) + if symbol == nil { + return nil, nil + } + data := NewSymbolData(symbol, project.version) + return data, nil + } + return nil, fmt.Errorf("project %q not found", project) +} + +func (api *API) getOrCreateScriptInfo(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo { + api.scriptInfosMu.RLock() + info, ok := api.scriptInfos[path] + api.scriptInfosMu.RUnlock() + if ok { + return info + } + + content, ok := api.host.FS().ReadFile(fileName) + if !ok { + return nil + } + info = newScriptInfo(fileName, path, scriptKind) + info.setTextFromDisk(content) + api.scriptInfosMu.Lock() + defer api.scriptInfosMu.Unlock() + api.scriptInfos[path] = info + return info +} + +func (api *API) toAbsoluteFileName(fileName string) string { + return tspath.GetNormalizedAbsolutePath(fileName, api.host.GetCurrentDirectory()) +} + +func (api *API) toPath(fileName string) tspath.Path { + return tspath.ToPath(fileName, api.host.GetCurrentDirectory(), api.host.FS().UseCaseSensitiveFileNames()) +} diff --git a/internal/project/project.go b/internal/project/project.go index 372a1db721..bde7ffd361 100644 --- a/internal/project/project.go +++ b/internal/project/project.go @@ -10,6 +10,7 @@ import ( "github.com/microsoft/typescript-go/internal/compiler" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/ls" + "github.com/microsoft/typescript-go/internal/tsoptions" "github.com/microsoft/typescript-go/internal/tspath" "github.com/microsoft/typescript-go/internal/vfs" ) @@ -29,9 +30,20 @@ const ( KindAuxiliary ) +type ProjectHost interface { + tsoptions.ParseConfigHost + NewLine() string + DefaultLibraryPath() string + DocumentRegistry() *documentRegistry + GetScriptInfoByPath(path tspath.Path) *ScriptInfo + GetOrCreateScriptInfoForFile(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo + OnDiscoveredSymlink(info *ScriptInfo) + Log(s string) +} + type Project struct { - projectService *Service - mu sync.Mutex + host ProjectHost + mu sync.Mutex name string kind Kind @@ -58,25 +70,25 @@ type Project struct { program *compiler.Program } -func NewConfiguredProject(configFileName string, configFilePath tspath.Path, projectService *Service) *Project { - project := NewProject(configFileName, KindConfigured, tspath.GetDirectoryPath(configFileName), projectService) +func NewConfiguredProject(configFileName string, configFilePath tspath.Path, host ProjectHost) *Project { + project := NewProject(configFileName, KindConfigured, tspath.GetDirectoryPath(configFileName), host) project.configFileName = configFileName project.configFilePath = configFilePath project.initialLoadPending = true return project } -func NewInferredProject(compilerOptions *core.CompilerOptions, currentDirectory string, projectRootPath tspath.Path, projectService *Service) *Project { - project := NewProject(projectNamer.next("/dev/null/inferredProject"), KindInferred, currentDirectory, projectService) +func NewInferredProject(compilerOptions *core.CompilerOptions, currentDirectory string, projectRootPath tspath.Path, host ProjectHost) *Project { + project := NewProject(projectNamer.next("/dev/null/inferredProject"), KindInferred, currentDirectory, host) project.rootPath = projectRootPath project.compilerOptions = compilerOptions return project } -func NewProject(name string, kind Kind, currentDirectory string, projectService *Service) *Project { - projectService.log(fmt.Sprintf("Creating %sProject: %s, currentDirectory: %s", kind.String(), name, currentDirectory)) +func NewProject(name string, kind Kind, currentDirectory string, host ProjectHost) *Project { + host.Log(fmt.Sprintf("Creating %sProject: %s, currentDirectory: %s", kind.String(), name, currentDirectory)) project := &Project{ - projectService: projectService, + host: host, name: name, kind: kind, currentDirectory: currentDirectory, @@ -89,12 +101,12 @@ func NewProject(name string, kind Kind, currentDirectory string, projectService // FS implements LanguageServiceHost. func (p *Project) FS() vfs.FS { - return p.projectService.host.FS() + return p.host.FS() } // DefaultLibraryPath implements LanguageServiceHost. func (p *Project) DefaultLibraryPath() string { - return p.projectService.host.DefaultLibraryPath() + return p.host.DefaultLibraryPath() } // GetCompilerOptions implements LanguageServiceHost. @@ -116,7 +128,7 @@ func (p *Project) GetProjectVersion() int { func (p *Project) GetRootFileNames() []string { fileNames := make([]string, 0, p.rootFileNames.Size()) for path, fileName := range p.rootFileNames.Entries() { - if p.projectService.getScriptInfo(path) != nil { + if p.host.GetScriptInfoByPath(path) != nil { fileNames = append(fileNames, fileName) } } @@ -135,7 +147,7 @@ func (p *Project) GetSourceFile(fileName string, path tspath.Path, languageVersi oldSourceFile = p.program.GetSourceFileByPath(scriptInfo.path) oldCompilerOptions = p.program.GetCompilerOptions() } - return p.projectService.documentRegistry.acquireDocument(scriptInfo, p.GetCompilerOptions(), oldSourceFile, oldCompilerOptions) + return p.host.DocumentRegistry().acquireDocument(scriptInfo, p.GetCompilerOptions(), oldSourceFile, oldCompilerOptions) } return nil } @@ -148,7 +160,7 @@ func (p *Project) GetProgram() *compiler.Program { // NewLine implements LanguageServiceHost. func (p *Project) NewLine() string { - return p.projectService.host.NewLine() + return p.host.NewLine() } // Trace implements LanguageServiceHost. @@ -158,7 +170,7 @@ func (p *Project) Trace(msg string) { // GetDefaultLibraryPath implements ls.Host. func (p *Project) GetDefaultLibraryPath() string { - return p.projectService.options.DefaultLibraryPath + return p.host.DefaultLibraryPath() } func (p *Project) Name() string { @@ -178,7 +190,7 @@ func (p *Project) LanguageService() *ls.LanguageService { } func (p *Project) getOrCreateScriptInfoAndAttachToProject(fileName string, scriptKind core.ScriptKind) *ScriptInfo { - if scriptInfo := p.projectService.getOrCreateScriptInfoNotOpenedByClient(fileName, p.projectService.toPath(fileName), scriptKind); scriptInfo != nil { + if scriptInfo := p.host.GetOrCreateScriptInfoForFile(fileName, p.toPath(fileName), scriptKind); scriptInfo != nil { scriptInfo.attachToProject(p) return scriptInfo } @@ -230,7 +242,9 @@ func (p *Project) updateGraph() bool { p.initialLoadPending = false if p.kind == KindConfigured && p.reloadConfig { - p.projectService.loadConfiguredProject(p) + if err := p.loadConfig(); err != nil { + panic(fmt.Sprintf("failed to reload config: %v", err)) + } p.reloadConfig = false } @@ -248,7 +262,7 @@ func (p *Project) updateGraph() bool { if p.program != oldProgram && oldProgram != nil { for _, oldSourceFile := range oldProgram.GetSourceFiles() { if p.program.GetSourceFileByPath(oldSourceFile.Path()) == nil { - p.projectService.documentRegistry.releaseDocument(oldSourceFile, oldProgram.GetCompilerOptions()) + p.host.DocumentRegistry().releaseDocument(oldSourceFile, oldProgram.GetCompilerOptions()) } } } @@ -315,7 +329,7 @@ func (p *Project) removeFile(info *ScriptInfo, fileExists bool, detachFromProjec func (p *Project) addRoot(info *ScriptInfo) { // !!! // if p.kind == KindInferred { - // p.projectService.startWatchingConfigFilesForInferredProjectRoot(info.path); + // p.host.startWatchingConfigFilesForInferredProjectRoot(info.path); // // handle JS toggling // } if p.isRoot(info) { @@ -326,6 +340,75 @@ func (p *Project) addRoot(info *ScriptInfo) { p.markAsDirty() } +func (p *Project) loadConfig() error { + if p.kind != KindConfigured { + panic("loadConfig called on non-configured project") + } + + if configFileContent, ok := p.host.FS().ReadFile(p.configFileName); ok { + configDir := tspath.GetDirectoryPath(p.configFileName) + tsConfigSourceFile := tsoptions.NewTsconfigSourceFileFromFilePath(p.configFileName, p.configFilePath, configFileContent) + parsedCommandLine := tsoptions.ParseJsonSourceFileConfigFileContent( + tsConfigSourceFile, + p.host, + configDir, + nil, /*existingOptions*/ + p.configFileName, + nil, /*resolutionStack*/ + nil, /*extraFileExtensions*/ + nil, /*extendedConfigCache*/ + ) + + p.logf("Config: %s : %s", + p.configFileName, + core.Must(core.StringifyJson(map[string]interface{}{ + "rootNames": parsedCommandLine.FileNames(), + "options": parsedCommandLine.CompilerOptions(), + "projectReferences": parsedCommandLine.ProjectReferences(), + }, " ", " ")), + ) + + p.compilerOptions = parsedCommandLine.CompilerOptions() + p.setRootFiles(parsedCommandLine.FileNames()) + } else { + p.compilerOptions = &core.CompilerOptions{} + return fmt.Errorf("could not read file %q", p.configFileName) + } + + p.markAsDirty() + return nil +} + +func (p *Project) setRootFiles(rootFileNames []string) { + newRootScriptInfos := make(map[tspath.Path]struct{}, len(rootFileNames)) + for _, file := range rootFileNames { + scriptKind := p.getScriptKind(file) + scriptInfo := p.host.GetOrCreateScriptInfoForFile(file, p.toPath(file), scriptKind) + newRootScriptInfos[scriptInfo.path] = struct{}{} + if _, isRoot := p.rootFileNames.Get(scriptInfo.path); !isRoot { + p.addRoot(scriptInfo) + if scriptInfo.isOpen { + // !!! + // s.removeRootOfInferredProjectIfNowPartOfOtherProject(scriptInfo) + } + } else { + p.rootFileNames.Set(scriptInfo.path, file) + } + } + + if p.rootFileNames.Size() > len(rootFileNames) { + for root := range p.rootFileNames.Keys() { + if _, ok := newRootScriptInfos[root]; !ok { + if info := p.host.GetScriptInfoByPath(root); info != nil { + p.removeFile(info, true /*fileExists*/, true /*detachFromProject*/) + } else { + p.rootFileNames.Delete(root) + } + } + } + } +} + func (p *Project) clearSourceMapperCache() { // !!! } @@ -357,5 +440,9 @@ func (p *Project) print(writeFileNames bool, writeFileExplanation bool, writeFil } func (p *Project) log(s string) { - p.projectService.log(s) + p.host.Log(s) +} + +func (p *Project) logf(format string, args ...interface{}) { + p.log(fmt.Sprintf(format, args...)) } diff --git a/internal/project/scriptinfo.go b/internal/project/scriptinfo.go index 71a6c7fd3e..31af3735bc 100644 --- a/internal/project/scriptinfo.go +++ b/internal/project/scriptinfo.go @@ -144,7 +144,7 @@ func (s *ScriptInfo) ensureRealpath(fs vfs.FS) { project := s.containingProjects[0] s.realpath = project.toPath(realpath) if s.realpath != s.path { - project.projectService.recordSymlink(s) + project.host.OnDiscoveredSymlink(s) } } } @@ -182,64 +182,3 @@ func (s *ScriptInfo) delayReloadNonMixedContentFile() { s.pendingReloadFromDisk = true s.markContainingProjectsAsDirty() } - -func (s *ScriptInfo) getDefaultProject() *Project { - switch len(s.containingProjects) { - case 0: - panic("scriptInfo must be attached to a project before calling getDefaultProject") - case 1: - project := s.containingProjects[0] - if project.deferredClose || project.kind == KindAutoImportProvider || project.kind == KindAuxiliary { - panic("scriptInfo must be attached to a non-background project before calling getDefaultProject") - } - return project - default: - // If this file belongs to multiple projects, below is the order in which default project is used - // - first external project - // - for open script info, its default configured project during opening is default if info is part of it - // - first configured project of which script info is not a source of project reference redirect - // - first configured project - // - first inferred project - var firstConfiguredProject *Project - var firstInferredProject *Project - var firstNonSourceOfProjectReferenceRedirect *Project - var defaultConfiguredProject *Project - - for index, project := range s.containingProjects { - if project.kind == KindConfigured { - if project.deferredClose { - continue - } - // !!! if !project.isSourceOfProjectReferenceRedirect(s.fileName) { - if defaultConfiguredProject == nil && index != len(s.containingProjects)-1 { - defaultConfiguredProject = project.projectService.findDefaultConfiguredProject(s) - } - if defaultConfiguredProject == project { - return project - } - if firstNonSourceOfProjectReferenceRedirect == nil { - firstNonSourceOfProjectReferenceRedirect = project - } - // } - if firstConfiguredProject == nil { - firstConfiguredProject = project - } - } else if firstInferredProject == nil && project.kind == KindInferred { - firstInferredProject = project - } - } - if defaultConfiguredProject != nil { - return defaultConfiguredProject - } - if firstNonSourceOfProjectReferenceRedirect != nil { - return firstNonSourceOfProjectReferenceRedirect - } - if firstConfiguredProject != nil { - return firstConfiguredProject - } - if firstInferredProject != nil { - return firstInferredProject - } - panic("no project found") - } -} diff --git a/internal/project/service.go b/internal/project/service.go index 3181d400ee..340149b8f6 100644 --- a/internal/project/service.go +++ b/internal/project/service.go @@ -7,8 +7,8 @@ import ( "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/ls" - "github.com/microsoft/typescript-go/internal/tsoptions" "github.com/microsoft/typescript-go/internal/tspath" + "github.com/microsoft/typescript-go/internal/vfs" ) type projectLoadKind int @@ -31,6 +31,8 @@ type ServiceOptions struct { Logger *Logger } +var _ ProjectHost = (*Service)(nil) + type Service struct { host ServiceHost options ServiceOptions @@ -55,6 +57,41 @@ type Service struct { realpathToScriptInfos map[tspath.Path]map[*ScriptInfo]struct{} } +// GetCurrentDirectory implements ProjectHost. +func (s *Service) GetCurrentDirectory() string { + panic("unimplemented") +} + +// Log implements ProjectHost. +func (s *Service) Log(msg string) { + s.options.Logger.Info(msg) +} + +// NewLine implements ProjectHost. +func (s *Service) NewLine() string { + return s.host.NewLine() +} + +// DefaultLibraryPath implements ProjectHost. +func (s *Service) DefaultLibraryPath() string { + return s.options.DefaultLibraryPath +} + +// DocumentRegistry implements ProjectHost. +func (s *Service) DocumentRegistry() *documentRegistry { + return s.documentRegistry +} + +// FS implements ProjectHost. +func (s *Service) FS() vfs.FS { + return s.host.FS() +} + +// GetScriptInfoForFile implements ProjectHost. +func (s *Service) GetOrCreateScriptInfoForFile(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo { + return s.getOrCreateScriptInfoNotOpenedByClient(fileName, path, scriptKind) +} + func NewService(host ServiceHost, options ServiceOptions) *Service { options.Logger.Info(fmt.Sprintf("currentDirectory:: %s useCaseSensitiveFileNames:: %t", host.GetCurrentDirectory(), host.FS().UseCaseSensitiveFileNames())) options.Logger.Info("libs Location:: " + options.DefaultLibraryPath) @@ -89,10 +126,10 @@ func (s *Service) Projects() []*Project { } func (s *Service) GetScriptInfo(fileName string) *ScriptInfo { - return s.getScriptInfo(s.toPath(fileName)) + return s.GetScriptInfoByPath(s.toPath(fileName)) } -func (s *Service) getScriptInfo(path tspath.Path) *ScriptInfo { +func (s *Service) GetScriptInfoByPath(path tspath.Path) *ScriptInfo { s.scriptInfosMu.RLock() defer s.scriptInfosMu.RUnlock() if info, ok := s.scriptInfos[path]; ok && !info.deferredDelete { @@ -103,7 +140,7 @@ func (s *Service) getScriptInfo(path tspath.Path) *ScriptInfo { func (s *Service) OpenFile(fileName string, fileContent string, scriptKind core.ScriptKind, projectRootPath string) { path := s.toPath(fileName) - existing := s.getScriptInfo(path) + existing := s.GetScriptInfoByPath(path) info := s.getOrCreateOpenScriptInfo(fileName, path, fileContent, scriptKind, projectRootPath) if existing == nil && info != nil && !info.isDynamic { // !!! @@ -116,7 +153,7 @@ func (s *Service) OpenFile(fileName string, fileContent string, scriptKind core. func (s *Service) ChangeFile(fileName string, changes []ls.TextChange) { path := s.toPath(fileName) - info := s.getScriptInfo(path) + info := s.GetScriptInfoByPath(path) if info == nil { panic("scriptInfo not found") } @@ -124,7 +161,7 @@ func (s *Service) ChangeFile(fileName string, changes []ls.TextChange) { } func (s *Service) CloseFile(fileName string) { - if info := s.getScriptInfo(s.toPath(fileName)); info != nil { + if info := s.GetScriptInfoByPath(s.toPath(fileName)); info != nil { fileExists := !info.isDynamic && s.host.FS().FileExists(info.fileName) info.close(fileExists) for _, project := range info.containingProjects { @@ -140,21 +177,21 @@ func (s *Service) CloseFile(fileName string) { } func (s *Service) MarkFileSaved(fileName string, text string) { - if info := s.getScriptInfo(s.toPath(fileName)); info != nil { + if info := s.GetScriptInfoByPath(s.toPath(fileName)); info != nil { info.setTextFromDisk(text) } } func (s *Service) EnsureDefaultProjectForFile(fileName string) (*ScriptInfo, *Project) { path := s.toPath(fileName) - if info := s.getScriptInfo(path); info != nil && !info.isOrphan() { - if project := info.getDefaultProject(); project != nil { + if info := s.GetScriptInfoByPath(path); info != nil && !info.isOrphan() { + if project := s.getDefaultProjectForScript(info); project != nil { return info, project } } s.ensureProjectStructureUpToDate() - if info := s.getScriptInfo(path); info != nil { - if project := info.getDefaultProject(); project != nil { + if info := s.GetScriptInfoByPath(path); info != nil { + if project := s.getDefaultProjectForScript(info); project != nil { return info, project } } @@ -184,11 +221,11 @@ func (s *Service) ensureProjectStructureUpToDate() { } func (s *Service) ensureProjectForOpenFiles() { - s.log("Before ensureProjectForOpenFiles:") + s.Log("Before ensureProjectForOpenFiles:") s.printProjects() for filePath, projectRootPath := range s.openFiles { - info := s.getScriptInfo(filePath) + info := s.GetScriptInfoByPath(filePath) if info == nil { panic("scriptInfo not found for open file") } @@ -202,7 +239,7 @@ func (s *Service) ensureProjectForOpenFiles() { project.updateIfDirty() } - s.log("After ensureProjectForOpenFiles:") + s.Log("After ensureProjectForOpenFiles:") s.printProjects() } @@ -247,7 +284,7 @@ func (s *Service) deleteScriptInfo(info *ScriptInfo) { // !!! closeSourceMapFileWatcher } -func (s *Service) recordSymlink(info *ScriptInfo) { +func (s *Service) OnDiscoveredSymlink(info *ScriptInfo) { s.realpathToScriptInfosMu.Lock() defer s.realpathToScriptInfosMu.Unlock() if scriptInfos, ok := s.realpathToScriptInfos[info.realpath]; ok { @@ -511,6 +548,67 @@ func (s *Service) getOrCreateInferredProjectForProjectRootPath(info *ScriptInfo, return bestMatch } +func (s *Service) getDefaultProjectForScript(scriptInfo *ScriptInfo) *Project { + switch len(scriptInfo.containingProjects) { + case 0: + panic("scriptInfo must be attached to a project before calling getDefaultProject") + case 1: + project := scriptInfo.containingProjects[0] + if project.deferredClose || project.kind == KindAutoImportProvider || project.kind == KindAuxiliary { + panic("scriptInfo must be attached to a non-background project before calling getDefaultProject") + } + return project + default: + // If this file belongs to multiple projects, below is the order in which default project is used + // - first external project + // - for open script info, its default configured project during opening is default if info is part of it + // - first configured project of which script info is not a source of project reference redirect + // - first configured project + // - first inferred project + var firstConfiguredProject *Project + var firstInferredProject *Project + var firstNonSourceOfProjectReferenceRedirect *Project + var defaultConfiguredProject *Project + + for index, project := range scriptInfo.containingProjects { + if project.kind == KindConfigured { + if project.deferredClose { + continue + } + // !!! if !project.isSourceOfProjectReferenceRedirect(scriptInfo.fileName) { + if defaultConfiguredProject == nil && index != len(scriptInfo.containingProjects)-1 { + defaultConfiguredProject = s.findDefaultConfiguredProject(scriptInfo) + } + if defaultConfiguredProject == project { + return project + } + if firstNonSourceOfProjectReferenceRedirect == nil { + firstNonSourceOfProjectReferenceRedirect = project + } + // } + if firstConfiguredProject == nil { + firstConfiguredProject = project + } + } else if firstInferredProject == nil && project.kind == KindInferred { + firstInferredProject = project + } + } + if defaultConfiguredProject != nil { + return defaultConfiguredProject + } + if firstNonSourceOfProjectReferenceRedirect != nil { + return firstNonSourceOfProjectReferenceRedirect + } + if firstConfiguredProject != nil { + return firstConfiguredProject + } + if firstInferredProject != nil { + return firstInferredProject + } + panic("no project found") + } +} + func (s *Service) createInferredProject(currentDirectory string, projectRootPath tspath.Path) *Project { // !!! compilerOptions := core.CompilerOptions{} @@ -524,62 +622,9 @@ func (s *Service) toPath(fileName string) tspath.Path { } func (s *Service) loadConfiguredProject(project *Project) { - if configFileContent, ok := s.host.FS().ReadFile(project.configFileName); ok { - configDir := tspath.GetDirectoryPath(project.configFileName) - tsConfigSourceFile := tsoptions.NewTsconfigSourceFileFromFilePath(project.configFileName, s.toPath(project.configFileName), configFileContent) - parsedCommandLine := tsoptions.ParseJsonSourceFileConfigFileContent( - tsConfigSourceFile, - s.host, - configDir, - nil, /*existingOptions*/ - project.configFileName, - nil, /*resolutionStack*/ - nil, /*extraFileExtensions*/ - nil, /*extendedConfigCache*/ - ) - - s.logf("Config: %s : %s", - project.configFileName, - core.Must(core.StringifyJson(map[string]interface{}{ - "rootNames": parsedCommandLine.FileNames(), - "options": parsedCommandLine.CompilerOptions(), - "projectReferences": parsedCommandLine.ProjectReferences(), - }, " ", " ")), - ) - - newRootScriptInfos := make(map[tspath.Path]struct{}, len(parsedCommandLine.FileNames())) - project.compilerOptions = parsedCommandLine.CompilerOptions() - for _, file := range parsedCommandLine.FileNames() { - scriptKind := project.getScriptKind(file) - scriptInfo := s.getOrCreateScriptInfoNotOpenedByClient(file, s.toPath(file), scriptKind) - newRootScriptInfos[scriptInfo.path] = struct{}{} - if _, isRoot := project.rootFileNames.Get(scriptInfo.path); !isRoot { - project.addRoot(scriptInfo) - if scriptInfo.isOpen { - // !!! - // s.removeRootOfInferredProjectIfNowPartOfOtherProject(scriptInfo) - } - } else { - project.rootFileNames.Set(scriptInfo.path, file) - } - } - - if project.rootFileNames.Size() > len(parsedCommandLine.FileNames()) { - for root := range project.rootFileNames.Keys() { - if _, ok := newRootScriptInfos[root]; !ok { - if info := s.getScriptInfo(root); info != nil { - project.removeFile(info, true /*fileExists*/, true /*detachFromProject*/) - } else { - project.rootFileNames.Delete(root) - } - } - } - } - } else { - project.compilerOptions = &core.CompilerOptions{} + if err := project.loadConfig(); err != nil { + panic(fmt.Errorf("failed to load project %q: %w", project.configFileName, err)) } - - project.markAsDirty() } func (s *Service) printProjects() { @@ -589,25 +634,21 @@ func (s *Service) printProjects() { s.options.Logger.StartGroup() for _, project := range s.configuredProjects { - s.log(project.print(false /*writeFileNames*/, false /*writeFileExpanation*/, false /*writeFileVersionAndText*/)) + s.Log(project.print(false /*writeFileNames*/, false /*writeFileExpanation*/, false /*writeFileVersionAndText*/)) } for _, project := range s.inferredProjects { - s.log(project.print(false /*writeFileNames*/, false /*writeFileExpanation*/, false /*writeFileVersionAndText*/)) + s.Log(project.print(false /*writeFileNames*/, false /*writeFileExpanation*/, false /*writeFileVersionAndText*/)) } - s.log("Open files: ") + s.Log("Open files: ") for path, projectRootPath := range s.openFiles { - info := s.getScriptInfo(path) + info := s.GetScriptInfoByPath(path) s.logf("\tFileName: %s ProjectRootPath: %s", info.fileName, projectRootPath) - s.log("\t\tProjects: " + strings.Join(core.Map(info.containingProjects, func(project *Project) string { return project.name }), ", ")) + s.Log("\t\tProjects: " + strings.Join(core.Map(info.containingProjects, func(project *Project) string { return project.name }), ", ")) } s.options.Logger.EndGroup() } -func (s *Service) log(msg string) { - s.options.Logger.Info(msg) -} - func (s *Service) logf(format string, args ...interface{}) { - s.log(fmt.Sprintf(format, args...)) + s.Log(fmt.Sprintf(format, args...)) } diff --git a/package-lock.json b/package-lock.json index ae2a6f9a5b..6730d3d924 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "hasInstallScript": true, "license": "Apache-2.0", "workspaces": [ + "./_api", "./_extension" ], "devDependencies": { @@ -26,6 +27,13 @@ "which": "^5.0.0" } }, + "_api": { + "name": "typescript-api", + "version": "1.0.0", + "dependencies": { + "json-rpc-2.0": "^1.7.0" + } + }, "_extension": { "name": "typescript-lsp", "version": "0.0.0", @@ -695,6 +703,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-rpc-2.0": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-1.7.0.tgz", + "integrity": "sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==", + "license": "MIT" + }, "node_modules/json-schema-to-typescript-lite": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/json-schema-to-typescript-lite/-/json-schema-to-typescript-lite-14.1.0.tgz", @@ -1042,6 +1056,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -1050,6 +1065,10 @@ "node": ">=14.17" } }, + "node_modules/typescript-api": { + "resolved": "_api", + "link": true + }, "node_modules/typescript-lsp": { "resolved": "_extension", "link": true @@ -1746,6 +1765,11 @@ "argparse": "^2.0.1" } }, + "json-rpc-2.0": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-1.7.0.tgz", + "integrity": "sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==" + }, "json-schema-to-typescript-lite": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/json-schema-to-typescript-lite/-/json-schema-to-typescript-lite-14.1.0.tgz", @@ -1986,6 +2010,12 @@ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true }, + "typescript-api": { + "version": "file:_api", + "requires": { + "json-rpc-2.0": "^1.7.0" + } + }, "typescript-lsp": { "version": "file:_extension", "requires": { diff --git a/package.json b/package.json index 7130090b01..3175f9cf68 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "extension:watch": "npm run -w typescript-lsp watch" }, "workspaces": [ + "./_api", "./_extension" ], "packageManager": "npm@8.19.4", @@ -48,4 +49,4 @@ "node": "20.5.1", "npm": "8.19.4" } -} +} \ No newline at end of file From 2ffb88ed50c1b713a4426c1cbdf41df0437b5faf Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 3 Mar 2025 14:34:45 -0800 Subject: [PATCH 02/63] Refactor API into own package --- _api/src/client.ts | 5 +- internal/{project => api}/api.go | 78 ++++++++++++++++------------ internal/api/host.go | 10 ++++ internal/api/proto.go | 50 ++++++++++++++++++ internal/lsp/lsproto/custom.go | 70 ------------------------- internal/lsp/lsproto/jsonrpc.go | 16 +++--- internal/lsp/server.go | 29 +++++------ internal/project/documentregistry.go | 18 +++---- internal/project/project.go | 14 +++-- internal/project/scriptinfo.go | 4 +- internal/project/service.go | 65 ++++++++++++----------- 11 files changed, 180 insertions(+), 179 deletions(-) rename internal/{project => api}/api.go (70%) create mode 100644 internal/api/host.go create mode 100644 internal/api/proto.go delete mode 100644 internal/lsp/lsproto/custom.go diff --git a/_api/src/client.ts b/_api/src/client.ts index 7ae5db84d8..23cc7c7c8b 100644 --- a/_api/src/client.ts +++ b/_api/src/client.ts @@ -62,10 +62,7 @@ export class Client { } async request(method: string, params: any): Promise { - const result = await this.jsonRPCClient.request("custom/api", { - method, - params, - }); + const result = await this.jsonRPCClient.request(`@ts/${method}`, params); this.flushErrors(); return result; } diff --git a/internal/project/api.go b/internal/api/api.go similarity index 70% rename from internal/project/api.go rename to internal/api/api.go index b3923f011e..8530070d51 100644 --- a/internal/project/api.go +++ b/internal/api/api.go @@ -1,12 +1,13 @@ -package project +package api import ( + "encoding/json" "fmt" "sync" "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/core" - "github.com/microsoft/typescript-go/internal/lsp/lsproto" + "github.com/microsoft/typescript-go/internal/project" "github.com/microsoft/typescript-go/internal/tsoptions" "github.com/microsoft/typescript-go/internal/tspath" "github.com/microsoft/typescript-go/internal/vfs" @@ -34,47 +35,51 @@ type ProjectData struct { CompilerOptions *core.CompilerOptions `json:"compilerOptions"` } -func NewProjectData(project *Project) *ProjectData { +func NewProjectData(project *project.Project) *ProjectData { return &ProjectData{ - ConfigFileName: project.configFileName, + ConfigFileName: project.Name(), RootFiles: project.GetRootFileNames(), CompilerOptions: project.GetCompilerOptions(), } } +type APIOptions struct { + Logger *project.Logger +} + type API struct { - host ServiceHost - options ServiceOptions + host APIHost + options APIOptions - documentRegistry *documentRegistry + documentRegistry *project.DocumentRegistry scriptInfosMu sync.RWMutex - scriptInfos map[tspath.Path]*ScriptInfo + scriptInfos map[tspath.Path]*project.ScriptInfo - projects map[tspath.Path]*Project + projects map[tspath.Path]*project.Project } -var _ ProjectHost = (*API)(nil) +var _ project.ProjectHost = (*API)(nil) -func NewAPI(host ServiceHost, options ServiceOptions) *API { +func NewAPI(host APIHost, options APIOptions) *API { return &API{ host: host, options: options, - documentRegistry: newDocumentRegistry(tspath.ComparePathsOptions{ + documentRegistry: project.NewDocumentRegistry(tspath.ComparePathsOptions{ UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), CurrentDirectory: host.GetCurrentDirectory(), }), - scriptInfos: make(map[tspath.Path]*ScriptInfo), - projects: make(map[tspath.Path]*Project), + scriptInfos: make(map[tspath.Path]*project.ScriptInfo), + projects: make(map[tspath.Path]*project.Project), } } // DefaultLibraryPath implements ProjectHost. func (api *API) DefaultLibraryPath() string { - return api.options.DefaultLibraryPath + return api.host.DefaultLibraryPath() } // DocumentRegistry implements ProjectHost. -func (api *API) DocumentRegistry() *documentRegistry { +func (api *API) DocumentRegistry() *project.DocumentRegistry { return api.documentRegistry } @@ -89,19 +94,19 @@ func (api *API) GetCurrentDirectory() string { } // GetOrCreateScriptInfoForFile implements ProjectHost. -func (api *API) GetOrCreateScriptInfoForFile(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo { +func (api *API) GetOrCreateScriptInfoForFile(fileName string, path tspath.Path, scriptKind core.ScriptKind) *project.ScriptInfo { return api.getOrCreateScriptInfo(fileName, path, scriptKind) } // GetScriptInfoByPath implements ProjectHost. -func (api *API) GetScriptInfoByPath(path tspath.Path) *ScriptInfo { +func (api *API) GetScriptInfoByPath(path tspath.Path) *project.ScriptInfo { api.scriptInfosMu.RLock() defer api.scriptInfosMu.RUnlock() return api.scriptInfos[path] } // OnDiscoveredSymlink implements ProjectHost. -func (api *API) OnDiscoveredSymlink(info *ScriptInfo) { +func (api *API) OnDiscoveredSymlink(info *project.ScriptInfo) { // !!! } @@ -115,17 +120,22 @@ func (api *API) NewLine() string { return api.host.NewLine() } -func (api *API) HandleRequest(id *lsproto.ID, params *lsproto.APIRequestParams) (any, error) { - switch params.Method { - case lsproto.APIMethodParseConfigFile: - return api.ParseConfigFile(params.Params.(*lsproto.APIParseConfigFileParams).FileName) - case lsproto.APIMethodLoadProject: - return api.LoadProject(params.Params.(*lsproto.APILoadProjectParams).ConfigFileName) - case lsproto.APIMethodGetSymbolAtPosition: - params := params.Params.(*lsproto.APIGetSymbolAtPositionParams) +func (api *API) HandleRequest(id int, method string, payload json.RawMessage) (any, error) { + params, err := unmarshalPayload(method, payload) + if err != nil { + return nil, err + } + + switch Method(method) { + case MethodParseConfigFile: + return api.ParseConfigFile(params.(*ParseConfigFileParams).FileName) + case MethodLoadProject: + return api.LoadProject(params.(*LoadProjectParams).ConfigFileName) + case MethodGetSymbolAtPosition: + params := params.(*GetSymbolAtPositionParams) return api.GetSymbolAtPosition(api.toPath(params.Project), params.FileName, int(params.Position)) default: - return nil, fmt.Errorf("unhandled API method %q", params.Method) + return nil, fmt.Errorf("unhandled API method %q", method) } } @@ -156,8 +166,8 @@ func (api *API) ParseConfigFile(configFileName string) (*tsoptions.ParsedCommand func (api *API) LoadProject(configFileName string) (*ProjectData, error) { configFileName = api.toAbsoluteFileName(configFileName) configFilePath := api.toPath(configFileName) - project := NewConfiguredProject(configFileName, configFilePath, api) - if err := project.loadConfig(); err != nil { + project := project.NewConfiguredProject(configFileName, configFilePath, api) + if err := project.LoadConfig(); err != nil { return nil, err } api.projects[configFilePath] = project @@ -170,13 +180,13 @@ func (api *API) GetSymbolAtPosition(project tspath.Path, fileName string, positi if symbol == nil { return nil, nil } - data := NewSymbolData(symbol, project.version) + data := NewSymbolData(symbol, project.Version()) return data, nil } return nil, fmt.Errorf("project %q not found", project) } -func (api *API) getOrCreateScriptInfo(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo { +func (api *API) getOrCreateScriptInfo(fileName string, path tspath.Path, scriptKind core.ScriptKind) *project.ScriptInfo { api.scriptInfosMu.RLock() info, ok := api.scriptInfos[path] api.scriptInfosMu.RUnlock() @@ -188,8 +198,8 @@ func (api *API) getOrCreateScriptInfo(fileName string, path tspath.Path, scriptK if !ok { return nil } - info = newScriptInfo(fileName, path, scriptKind) - info.setTextFromDisk(content) + info = project.NewScriptInfo(fileName, path, scriptKind) + info.SetTextFromDisk(content) api.scriptInfosMu.Lock() defer api.scriptInfosMu.Unlock() api.scriptInfos[path] = info diff --git a/internal/api/host.go b/internal/api/host.go new file mode 100644 index 0000000000..83d45a8c60 --- /dev/null +++ b/internal/api/host.go @@ -0,0 +1,10 @@ +package api + +import "github.com/microsoft/typescript-go/internal/vfs" + +type APIHost interface { + FS() vfs.FS + DefaultLibraryPath() string + GetCurrentDirectory() string + NewLine() string +} diff --git a/internal/api/proto.go b/internal/api/proto.go new file mode 100644 index 0000000000..9117612532 --- /dev/null +++ b/internal/api/proto.go @@ -0,0 +1,50 @@ +package api + +import ( + "encoding/json" + "fmt" +) + +type Method string + +const ( + MethodParseConfigFile Method = "parseConfigFile" + MethodLoadProject Method = "loadProject" + MethodGetSymbolAtPosition Method = "getSymbolAtPosition" +) + +var unmarshalers = map[Method]func([]byte) (any, error){ + MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], + MethodLoadProject: unmarshallerFor[LoadProjectParams], + MethodGetSymbolAtPosition: unmarshallerFor[GetSymbolAtPositionParams], +} + +type ParseConfigFileParams struct { + FileName string `json:"fileName"` +} + +type LoadProjectParams struct { + ConfigFileName string `json:"configFileName"` +} + +type GetSymbolAtPositionParams struct { + Project string `json:"project"` + FileName string `json:"fileName"` + Position uint32 `json:"position"` +} + +func unmarshalPayload(method string, payload json.RawMessage) (any, error) { + unmarshaler, ok := unmarshalers[Method(method)] + if !ok { + return nil, fmt.Errorf("unknown API method %q", method) + } + return unmarshaler(payload) +} + +func unmarshallerFor[T any](data []byte) (any, error) { + var v T + if err := json.Unmarshal(data, &v); err != nil { + return nil, fmt.Errorf("failed to unmarshal %T: %w", (*T)(nil), err) + } + return &v, nil +} diff --git a/internal/lsp/lsproto/custom.go b/internal/lsp/lsproto/custom.go deleted file mode 100644 index cf2ffa85ce..0000000000 --- a/internal/lsp/lsproto/custom.go +++ /dev/null @@ -1,70 +0,0 @@ -package lsproto - -import ( - "encoding/json" - "fmt" -) - -const ( - MethodAPI Method = "custom/api" -) - -type APIRequestParams struct { - Method APIMethod `json:"method"` - Params any `json:"params"` -} - -type APIMethod string - -const ( - APIMethodParseConfigFile APIMethod = "parseConfigFile" - APIMethodLoadProject APIMethod = "loadProject" - APIMethodGetSymbolAtPosition APIMethod = "getSymbolAtPosition" -) - -var apiUnmarshalers = map[APIMethod]func([]byte) (any, error){ - APIMethodParseConfigFile: unmarshallerFor[APIParseConfigFileParams], - APIMethodLoadProject: unmarshallerFor[APILoadProjectParams], - APIMethodGetSymbolAtPosition: unmarshallerFor[APIGetSymbolAtPositionParams], -} - -type APIParseConfigFileParams struct { - FileName string `json:"fileName"` -} - -type APILoadProjectParams struct { - ConfigFileName string `json:"configFileName"` -} - -type APIGetSymbolAtPositionParams struct { - Project string `json:"project"` - FileName string `json:"fileName"` - Position uint32 `json:"position"` -} - -func (p *APIRequestParams) UnmarshalJSON(data []byte) error { - *p = APIRequestParams{} - var raw struct { - Method APIMethod `json:"method"` - Params json.RawMessage `json:"params"` - } - if err := json.Unmarshal(data, &raw); err != nil { - return err - } - p.Method = raw.Method - - var params any - var err error - - if unmarshaler, ok := apiUnmarshalers[raw.Method]; ok { - params, err = unmarshaler(raw.Params) - } else { - return fmt.Errorf("unknown API method %q", raw.Method) - } - p.Params = params - - if err != nil { - return fmt.Errorf("failed to unmarshal API method %q: %w", raw.Method, err) - } - return nil -} diff --git a/internal/lsp/lsproto/jsonrpc.go b/internal/lsp/lsproto/jsonrpc.go index 07a39f204d..0af3ac6cf1 100644 --- a/internal/lsp/lsproto/jsonrpc.go +++ b/internal/lsp/lsproto/jsonrpc.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "fmt" + "strings" ) type JSONRPCVersion struct{} @@ -43,6 +44,13 @@ func (id *ID) UnmarshalJSON(data []byte) error { return json.Unmarshal(data, &id.int) } +func (id *ID) MustInt() int32 { + if id.str != "" { + panic("ID is not an integer") + } + return id.int +} + // TODO(jakebailey): NotificationMessage? Use RequestMessage without ID? type RequestMessage struct { @@ -70,12 +78,8 @@ func (r *RequestMessage) UnmarshalJSON(data []byte) error { return nil } - if r.Method == MethodAPI { - var params APIRequestParams - if err := json.Unmarshal(raw.Params, ¶ms); err != nil { - return fmt.Errorf("%w: %w", ErrInvalidRequest, err) - } - r.Params = ¶ms + if strings.HasPrefix(string(r.Method), "@ts/") { + r.Params = raw.Params return nil } diff --git a/internal/lsp/server.go b/internal/lsp/server.go index fe131b78ec..79e96f8e51 100644 --- a/internal/lsp/server.go +++ b/internal/lsp/server.go @@ -8,6 +8,7 @@ import ( "strings" "time" + "github.com/microsoft/typescript-go/internal/api" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/ls" "github.com/microsoft/typescript-go/internal/lsp/lsproto" @@ -63,7 +64,7 @@ type Server struct { initializeParams *lsproto.InitializeParams logger *project.Logger - api *project.API + api *api.API projectService *project.Service converters *converters } @@ -177,21 +178,19 @@ func (s *Server) sendResponse(resp *lsproto.ResponseMessage) error { func (s *Server) handleMessage(req *lsproto.RequestMessage) error { s.requestTime = time.Now() s.requestMethod = string(req.Method) + if s.useAPI && strings.HasPrefix(string(req.Method), "@ts/") { + if result, err := s.api.HandleRequest(int(req.ID.MustInt()), strings.TrimPrefix(string(req.Method), "@ts/"), req.Params.(json.RawMessage)); err != nil { + return s.sendError(req.ID, err) + } else { + return s.sendResult(req.ID, result) + } + } - switch params := req.Params.(type) { + switch req.Params.(type) { case *lsproto.InitializeParams: return s.sendError(req.ID, lsproto.ErrInvalidRequest) case *lsproto.InitializedParams: return s.handleInitialized(req) - case *lsproto.APIRequestParams: - if !s.useAPI { - break - } - if result, err := s.api.HandleRequest(req.ID, params); err != nil { - return s.sendError(req.ID, err) - } else { - return s.sendResult(req.ID, result) - } default: switch req.Method { case lsproto.MethodShutdown: @@ -278,14 +277,12 @@ func (s *Server) handleInitialize(req *lsproto.RequestMessage) error { func (s *Server) handleInitialized(req *lsproto.RequestMessage) error { s.logger = project.NewLogger([]io.Writer{s.stderr}, project.LogLevelVerbose) if s.useAPI { - s.api = project.NewAPI(s, project.ServiceOptions{ - DefaultLibraryPath: s.defaultLibraryPath, - Logger: s.logger, + s.api = api.NewAPI(s, api.APIOptions{ + Logger: s.logger, }) } else { s.projectService = project.NewService(s, project.ServiceOptions{ - DefaultLibraryPath: s.defaultLibraryPath, - Logger: s.logger, + Logger: s.logger, }) } s.converters = &converters{projectService: s.projectService} diff --git a/internal/project/documentregistry.go b/internal/project/documentregistry.go index cb9ac05eb3..d973b66c0f 100644 --- a/internal/project/documentregistry.go +++ b/internal/project/documentregistry.go @@ -32,18 +32,18 @@ type registryEntry struct { // The document registry represents a store of SourceFile objects that can be shared between // multiple LanguageService instances. -type documentRegistry struct { +type DocumentRegistry struct { options tspath.ComparePathsOptions documents sync.Map } -func newDocumentRegistry(options tspath.ComparePathsOptions) *documentRegistry { - return &documentRegistry{ +func NewDocumentRegistry(options tspath.ComparePathsOptions) *DocumentRegistry { + return &DocumentRegistry{ options: options, } } -// acquireDocument gets a SourceFile from the registry if it exists as the same version tracked +// AcquireDocument gets a SourceFile from the registry if it exists as the same version tracked // by the ScriptInfo. If it does not exist, or is out of date, it creates a new SourceFile and // stores it, tracking that the caller has referenced it. If an oldSourceFile is passed, the registry // will decrement its reference count and remove it from the registry if the count reaches 0. @@ -54,7 +54,7 @@ func newDocumentRegistry(options tspath.ComparePathsOptions) *documentRegistry { // LanguageService instance over time, as well as across multiple instances. Here, we still // reuse files across multiple LanguageServices, but we only reuse them across Program updates // when the files haven't changed. -func (r *documentRegistry) acquireDocument(scriptInfo *ScriptInfo, compilerOptions *core.CompilerOptions, oldSourceFile *ast.SourceFile, oldCompilerOptions *core.CompilerOptions) *ast.SourceFile { +func (r *DocumentRegistry) AcquireDocument(scriptInfo *ScriptInfo, compilerOptions *core.CompilerOptions, oldSourceFile *ast.SourceFile, oldCompilerOptions *core.CompilerOptions) *ast.SourceFile { key := newRegistryKey(compilerOptions, scriptInfo.path, scriptInfo.scriptKind) document := r.getDocumentWorker(scriptInfo, compilerOptions, key) if oldSourceFile != nil && oldCompilerOptions != nil { @@ -64,12 +64,12 @@ func (r *documentRegistry) acquireDocument(scriptInfo *ScriptInfo, compilerOptio return document } -func (r *documentRegistry) releaseDocument(file *ast.SourceFile, compilerOptions *core.CompilerOptions) { +func (r *DocumentRegistry) ReleaseDocument(file *ast.SourceFile, compilerOptions *core.CompilerOptions) { key := newRegistryKey(compilerOptions, file.Path(), file.ScriptKind) r.releaseDocumentWithKey(key) } -func (r *documentRegistry) releaseDocumentWithKey(key registryKey) { +func (r *DocumentRegistry) releaseDocumentWithKey(key registryKey) { if entryAny, ok := r.documents.Load(key); ok { entry := entryAny.(*registryEntry) entry.mu.Lock() @@ -81,7 +81,7 @@ func (r *documentRegistry) releaseDocumentWithKey(key registryKey) { } } -func (r *documentRegistry) getDocumentWorker( +func (r *DocumentRegistry) getDocumentWorker( scriptInfo *ScriptInfo, compilerOptions *core.CompilerOptions, key registryKey, @@ -117,7 +117,7 @@ func (r *documentRegistry) getDocumentWorker( } // size should only be used for testing. -func (r *documentRegistry) size() int { +func (r *DocumentRegistry) size() int { count := 0 r.documents.Range(func(_, _ any) bool { count++ diff --git a/internal/project/project.go b/internal/project/project.go index bde7ffd361..2a78d5367c 100644 --- a/internal/project/project.go +++ b/internal/project/project.go @@ -34,7 +34,7 @@ type ProjectHost interface { tsoptions.ParseConfigHost NewLine() string DefaultLibraryPath() string - DocumentRegistry() *documentRegistry + DocumentRegistry() *DocumentRegistry GetScriptInfoByPath(path tspath.Path) *ScriptInfo GetOrCreateScriptInfoForFile(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo OnDiscoveredSymlink(info *ScriptInfo) @@ -147,7 +147,7 @@ func (p *Project) GetSourceFile(fileName string, path tspath.Path, languageVersi oldSourceFile = p.program.GetSourceFileByPath(scriptInfo.path) oldCompilerOptions = p.program.GetCompilerOptions() } - return p.host.DocumentRegistry().acquireDocument(scriptInfo, p.GetCompilerOptions(), oldSourceFile, oldCompilerOptions) + return p.host.DocumentRegistry().AcquireDocument(scriptInfo, p.GetCompilerOptions(), oldSourceFile, oldCompilerOptions) } return nil } @@ -181,6 +181,10 @@ func (p *Project) Kind() Kind { return p.kind } +func (p *Project) Version() int { + return p.version +} + func (p *Project) CurrentProgram() *compiler.Program { return p.program } @@ -242,7 +246,7 @@ func (p *Project) updateGraph() bool { p.initialLoadPending = false if p.kind == KindConfigured && p.reloadConfig { - if err := p.loadConfig(); err != nil { + if err := p.LoadConfig(); err != nil { panic(fmt.Sprintf("failed to reload config: %v", err)) } p.reloadConfig = false @@ -262,7 +266,7 @@ func (p *Project) updateGraph() bool { if p.program != oldProgram && oldProgram != nil { for _, oldSourceFile := range oldProgram.GetSourceFiles() { if p.program.GetSourceFileByPath(oldSourceFile.Path()) == nil { - p.host.DocumentRegistry().releaseDocument(oldSourceFile, oldProgram.GetCompilerOptions()) + p.host.DocumentRegistry().ReleaseDocument(oldSourceFile, oldProgram.GetCompilerOptions()) } } } @@ -340,7 +344,7 @@ func (p *Project) addRoot(info *ScriptInfo) { p.markAsDirty() } -func (p *Project) loadConfig() error { +func (p *Project) LoadConfig() error { if p.kind != KindConfigured { panic("loadConfig called on non-configured project") } diff --git a/internal/project/scriptinfo.go b/internal/project/scriptinfo.go index 31af3735bc..9446a8f7a3 100644 --- a/internal/project/scriptinfo.go +++ b/internal/project/scriptinfo.go @@ -27,7 +27,7 @@ type ScriptInfo struct { containingProjects []*Project } -func newScriptInfo(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo { +func NewScriptInfo(fileName string, path tspath.Path, scriptKind core.ScriptKind) *ScriptInfo { isDynamic := isDynamicFileName(fileName) realpath := core.IfElse(isDynamic, path, "") return &ScriptInfo{ @@ -68,7 +68,7 @@ func (s *ScriptInfo) open(newText string) { } } -func (s *ScriptInfo) setTextFromDisk(newText string) { +func (s *ScriptInfo) SetTextFromDisk(newText string) { if newText != s.text { s.setText(newText) s.matchesDiskText = true diff --git a/internal/project/service.go b/internal/project/service.go index 340149b8f6..bc8b39c182 100644 --- a/internal/project/service.go +++ b/internal/project/service.go @@ -27,8 +27,7 @@ type assignProjectResult struct { } type ServiceOptions struct { - DefaultLibraryPath string - Logger *Logger + Logger *Logger } var _ ProjectHost = (*Service)(nil) @@ -46,7 +45,7 @@ type Service struct { // if it exists inferredProjects []*Project - documentRegistry *documentRegistry + documentRegistry *DocumentRegistry scriptInfosMu sync.RWMutex scriptInfos map[tspath.Path]*ScriptInfo openFiles map[tspath.Path]string // values are projectRootPath, if provided @@ -57,6 +56,30 @@ type Service struct { realpathToScriptInfos map[tspath.Path]map[*ScriptInfo]struct{} } +func NewService(host ServiceHost, options ServiceOptions) *Service { + options.Logger.Info(fmt.Sprintf("currentDirectory:: %s useCaseSensitiveFileNames:: %t", host.GetCurrentDirectory(), host.FS().UseCaseSensitiveFileNames())) + options.Logger.Info("libs Location:: " + host.DefaultLibraryPath()) + return &Service{ + host: host, + options: options, + comparePathsOptions: tspath.ComparePathsOptions{ + UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), + CurrentDirectory: host.GetCurrentDirectory(), + }, + + configuredProjects: make(map[tspath.Path]*Project), + + documentRegistry: NewDocumentRegistry(tspath.ComparePathsOptions{ + UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), + CurrentDirectory: host.GetCurrentDirectory(), + }), + scriptInfos: make(map[tspath.Path]*ScriptInfo), + openFiles: make(map[tspath.Path]string), + filenameToScriptInfoVersion: make(map[tspath.Path]int), + realpathToScriptInfos: make(map[tspath.Path]map[*ScriptInfo]struct{}), + } +} + // GetCurrentDirectory implements ProjectHost. func (s *Service) GetCurrentDirectory() string { panic("unimplemented") @@ -74,11 +97,11 @@ func (s *Service) NewLine() string { // DefaultLibraryPath implements ProjectHost. func (s *Service) DefaultLibraryPath() string { - return s.options.DefaultLibraryPath + return s.host.DefaultLibraryPath() } // DocumentRegistry implements ProjectHost. -func (s *Service) DocumentRegistry() *documentRegistry { +func (s *Service) DocumentRegistry() *DocumentRegistry { return s.documentRegistry } @@ -92,30 +115,6 @@ func (s *Service) GetOrCreateScriptInfoForFile(fileName string, path tspath.Path return s.getOrCreateScriptInfoNotOpenedByClient(fileName, path, scriptKind) } -func NewService(host ServiceHost, options ServiceOptions) *Service { - options.Logger.Info(fmt.Sprintf("currentDirectory:: %s useCaseSensitiveFileNames:: %t", host.GetCurrentDirectory(), host.FS().UseCaseSensitiveFileNames())) - options.Logger.Info("libs Location:: " + options.DefaultLibraryPath) - return &Service{ - host: host, - options: options, - comparePathsOptions: tspath.ComparePathsOptions{ - UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), - CurrentDirectory: host.GetCurrentDirectory(), - }, - - configuredProjects: make(map[tspath.Path]*Project), - - documentRegistry: newDocumentRegistry(tspath.ComparePathsOptions{ - UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), - CurrentDirectory: host.GetCurrentDirectory(), - }), - scriptInfos: make(map[tspath.Path]*ScriptInfo), - openFiles: make(map[tspath.Path]string), - filenameToScriptInfoVersion: make(map[tspath.Path]int), - realpathToScriptInfos: make(map[tspath.Path]map[*ScriptInfo]struct{}), - } -} - func (s *Service) Projects() []*Project { projects := make([]*Project, 0, len(s.configuredProjects)+len(s.inferredProjects)) for _, project := range s.configuredProjects { @@ -178,7 +177,7 @@ func (s *Service) CloseFile(fileName string) { func (s *Service) MarkFileSaved(fileName string, text string) { if info := s.GetScriptInfoByPath(s.toPath(fileName)); info != nil { - info.setTextFromDisk(text) + info.SetTextFromDisk(text) } } @@ -343,9 +342,9 @@ func (s *Service) getOrCreateScriptInfoWorker(fileName string, path tspath.Path, } } - info = newScriptInfo(fileName, path, scriptKind) + info = NewScriptInfo(fileName, path, scriptKind) if fromDisk { - info.setTextFromDisk(fileContent) + info.SetTextFromDisk(fileContent) } s.scriptInfosMu.Lock() @@ -622,7 +621,7 @@ func (s *Service) toPath(fileName string) tspath.Path { } func (s *Service) loadConfiguredProject(project *Project) { - if err := project.loadConfig(); err != nil { + if err := project.LoadConfig(); err != nil { panic(fmt.Errorf("failed to load project %q: %w", project.configFileName, err)) } } From c563027640ab980fac45404fb65ea87a8612e36f Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 5 Mar 2025 13:34:44 -0800 Subject: [PATCH 03/63] WIP --- _api/package.json | 5 +- _api/src/{ => async}/api.ts | 66 ++--- _api/src/{ => async}/client.ts | 12 +- _api/src/{ => async}/errors.ts | 0 _api/src/{jsonRPC.ts => async/lsp.ts} | 31 ++- _api/src/base/api.ts | 63 +++++ _api/src/hosted.ts | 45 ++++ _api/src/main.ts | 0 _api/src/server.ts | 31 --- _api/src/sync/api.ts | 110 ++++++++ _api/src/sync/client.ts | 34 +++ _api/src/test.ts | 116 +++++--- _api/src/types.ts | 17 +- cmd/tsgo/api.go | 44 ++- internal/api/api.go | 71 +++-- internal/api/proto.go | 67 +++++ internal/api/server.go | 373 ++++++++++++++++++++++++++ internal/checker/types.go | 4 + internal/ls/api.go | 22 +- internal/project/service.go | 2 +- package-lock.json | 30 ++- 21 files changed, 969 insertions(+), 174 deletions(-) rename _api/src/{ => async}/api.ts (60%) rename _api/src/{ => async}/client.ts (96%) rename _api/src/{ => async}/errors.ts (100%) rename _api/src/{jsonRPC.ts => async/lsp.ts} (78%) create mode 100644 _api/src/base/api.ts create mode 100644 _api/src/hosted.ts delete mode 100644 _api/src/main.ts delete mode 100644 _api/src/server.ts create mode 100644 _api/src/sync/api.ts create mode 100644 _api/src/sync/client.ts create mode 100644 internal/api/server.go diff --git a/_api/package.json b/_api/package.json index 020fd4f98e..f81dbd1e38 100644 --- a/_api/package.json +++ b/_api/package.json @@ -4,6 +4,7 @@ "version": "1.0.0", "type": "module", "dependencies": { - "json-rpc-2.0": "^1.7.0" + "json-rpc-2.0": "^1.7.0", + "libsyncrpc": "file:../../libsyncrpc" } -} +} \ No newline at end of file diff --git a/_api/src/api.ts b/_api/src/async/api.ts similarity index 60% rename from _api/src/api.ts rename to _api/src/async/api.ts index 26b88c86da..35015b8935 100644 --- a/_api/src/api.ts +++ b/_api/src/async/api.ts @@ -1,23 +1,26 @@ -import type { ChildProcessWithoutNullStreams } from "node:child_process"; -import { Client } from "./client.ts"; -import { startServer } from "./server.ts"; +import type { ChildProcessWithoutNullStreams } from "child_process"; +import type { ParsedCommandLine } from "typescript"; +import type { APIOptions } from "../base/api.ts"; +import { + type API as BaseAPI, + Project as BaseProject, + Symbol as BaseSymbol, + Type as BaseType, +} from "../base/api.ts"; import type { - ParsedCommandLine, ProjectData, SymbolData, -} from "./types.ts"; - -export interface APIOptions { - tsserverPath: string; - cwd?: string; - logServer?: (msg: string) => void; -} + TypeData, +} from "../types.ts"; +import { Client } from "./client.ts"; +import { startLSPServer } from "./lsp.ts"; -export class API { +export class API implements BaseAPI { private server: ChildProcessWithoutNullStreams; private client: Client; + constructor(options: APIOptions) { - this.client = new Client(this.server = startServer(options.tsserverPath, options.cwd ?? process.cwd(), options.logServer)); + this.client = new Client(this.server = startLSPServer(options.tsserverPath, options.cwd ?? process.cwd(), options.logServer)); } async parseConfigFile(fileName: string): Promise { @@ -44,19 +47,12 @@ export class API { } } -export class Project { +export class Project extends BaseProject { private client: Client; - configFileName!: string; - commandLine!: ParsedCommandLine; constructor(client: Client, data: ProjectData) { + super(data); this.client = client; - this.loadData(data); - } - - private loadData(data: ProjectData) { - this.configFileName = data.configFileName; - this.commandLine = data.commandLine; } async reload(): Promise { @@ -69,21 +65,27 @@ export class Project { } } -export class Symbol { +export class Symbol extends BaseSymbol { private client: Client; private project: Project; - private projectVersion: number; - name: string; - flags: number; - checkFlags: number; - constructor(client: Client, project: Project, data: SymbolData) { + super(data); this.client = client; this.project = project; - this.projectVersion = data.projectVersion; - this.name = data.name; - this.flags = data.flags; - this.checkFlags = data.checkFlags; + } + + async getType(): Promise { + const data = await this.client.request("getTypeOfSymbol", { project: this.project.configFileName, symbol: this.id }); + return data ? new Type(this.client, data) : undefined; + } +} + +export class Type extends BaseType { + private client: Client; + + constructor(client: Client, data: TypeData) { + super(data); + this.client = client; } } diff --git a/_api/src/client.ts b/_api/src/async/client.ts similarity index 96% rename from _api/src/client.ts rename to _api/src/async/client.ts index 23cc7c7c8b..df5c87dfda 100644 --- a/_api/src/client.ts +++ b/_api/src/async/client.ts @@ -1,15 +1,15 @@ import type { JSONRPCClient } from "json-rpc-2.0"; import type { ChildProcessWithoutNullStreams } from "node:child_process"; -import { - LSPError, - LSPErrorCollection, -} from "./errors.ts"; -import { createJSONRPCClient } from "./jsonRPC.ts"; import type { ParsedCommandLine, ProjectData, SymbolData, -} from "./types.ts"; +} from "../types.ts"; +import { + LSPError, + LSPErrorCollection, +} from "./errors.ts"; +import { createJSONRPCClient } from "./lsp.ts"; export class Client { initialized = false; diff --git a/_api/src/errors.ts b/_api/src/async/errors.ts similarity index 100% rename from _api/src/errors.ts rename to _api/src/async/errors.ts diff --git a/_api/src/jsonRPC.ts b/_api/src/async/lsp.ts similarity index 78% rename from _api/src/jsonRPC.ts rename to _api/src/async/lsp.ts index 3e50ee1b84..cf3dbe62ef 100644 --- a/_api/src/jsonRPC.ts +++ b/_api/src/async/lsp.ts @@ -1,7 +1,36 @@ -import type { ChildProcessWithoutNullStreams } from "child_process"; +import { + type ChildProcessWithoutNullStreams, + spawn, +} from "child_process"; import { JSONRPCClient } from "json-rpc-2.0"; import { LSPError } from "./errors.ts"; +export function startLSPServer(executable: string, cwd: string, log?: (msg: string) => void): ChildProcessWithoutNullStreams { + const server = spawn(executable, ["api", "-lsp", "-cwd", cwd], { + detached: true, + }); + + server.unref(); + + server.on("error", error => { + throw new LSPError(`Server process error: ${error.message}`, "Server"); + }); + + if (log) { + server.stderr.on("data", data => { + log(data.toString()); + }); + } + + server.once("exit", code => { + if (code !== 0 && code !== null) { + throw new LSPError(`Server exited with code ${code}`, "Server", { code }); + } + }); + + return server; +} + export function createJSONRPCClient(serverProcess: ChildProcessWithoutNullStreams, onError: (error: LSPError) => void): JSONRPCClient { const client = new JSONRPCClient(jsonRPCRequest => { const content = JSON.stringify(jsonRPCRequest); diff --git a/_api/src/base/api.ts b/_api/src/base/api.ts new file mode 100644 index 0000000000..5ddd78e8e7 --- /dev/null +++ b/_api/src/base/api.ts @@ -0,0 +1,63 @@ +import type { + MaybeAsync, + ParsedCommandLine, + ProjectData, + SymbolData, + TypeData, +} from "../types.ts"; + +export interface APIOptions { + tsserverPath: string; + cwd?: string; + logServer?: (msg: string) => void; +} + +export interface API { + parseConfigFile(fileName: string): MaybeAsync; + loadProject(configFileName: string): MaybeAsync>; +} + +export abstract class Project { + configFileName!: string; + compilerOptions!: Record; + rootFiles!: readonly string[]; + + constructor(data: ProjectData) { + this.loadData(data); + } + + loadData(data: ProjectData): void { + this.configFileName = data.configFileName; + this.compilerOptions = data.compilerOptions; + this.rootFiles = data.rootFiles; + } + + abstract reload(): MaybeAsync; + abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync | undefined>; +} + +export abstract class Symbol { + protected id: number; + name: string; + flags: number; + checkFlags: number; + + constructor(data: SymbolData) { + this.id = data.id; + this.name = data.name; + this.flags = data.flags; + this.checkFlags = data.checkFlags; + } + + abstract getType(): MaybeAsync | undefined>; +} + +export abstract class Type { + protected id: number; + flags: number; + + constructor(data: TypeData) { + this.id = data.id; + this.flags = data.flags; + } +} diff --git a/_api/src/hosted.ts b/_api/src/hosted.ts new file mode 100644 index 0000000000..488fbc4446 --- /dev/null +++ b/_api/src/hosted.ts @@ -0,0 +1,45 @@ +import { dirname } from "path"; +import { + API, + type APIOptions, +} from "./sync/api.ts"; +import type { FileSystemEntries } from "./types.ts"; + +function createFS(): APIOptions["fs"] { + const files = new Map([ + ["/project/tsconfig.json", `{}`], + ["/project/index.ts", `import { hello } from "./hello";\nconsole.log(hello());`], + ["/project/hello.ts", `export function hello() { return "Hello, world!"; }`], + ]); + + function getAccessibleEntries(directoryName: string): FileSystemEntries { + if (directoryName === "/") { + return { files: [], directories: ["/project"] }; + } + if (!directoryName.startsWith("/project")) { + return { files: [], directories: [] }; + } + return { + files: Array.from(files.keys()).filter(f => dirname(f) === directoryName), + directories: [], + }; + } + + return { + fileExists: path => files.has(path), + readFile: path => files.get(path), + directoryExists: () => true, + getAccessibleEntries, + }; +} + +const api = new API({ + tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, + cwd: dirname(new URL("../../", import.meta.url).pathname), + fs: createFS(), +}); + +const project = api.loadProject("/project/tsconfig.json"); +const symbol = project.getSymbolAtPosition("index.ts", 47); +console.log(symbol); +console.log(symbol?.getType()); diff --git a/_api/src/main.ts b/_api/src/main.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/_api/src/server.ts b/_api/src/server.ts deleted file mode 100644 index 219a369d5a..0000000000 --- a/_api/src/server.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { - type ChildProcessWithoutNullStreams, - spawn, -} from "child_process"; -import { LSPError } from "./errors.ts"; - -export function startServer(executable: string, cwd: string, log?: (msg: string) => void): ChildProcessWithoutNullStreams { - const server = spawn(executable, ["api", "-cwd", cwd], { - detached: true, - }); - - server.unref(); - - server.on("error", error => { - throw new LSPError(`Server process error: ${error.message}`, "Server"); - }); - - if (log) { - server.stderr.on("data", data => { - log(data.toString()); - }); - } - - server.once("exit", code => { - if (code !== 0 && code !== null) { - throw new LSPError(`Server exited with code ${code}`, "Server", { code }); - } - }); - - return server; -} diff --git a/_api/src/sync/api.ts b/_api/src/sync/api.ts new file mode 100644 index 0000000000..fc1b334505 --- /dev/null +++ b/_api/src/sync/api.ts @@ -0,0 +1,110 @@ +import type { APIOptions as BaseAPIOptions } from "../base/api.ts"; +import { + type API as BaseAPI, + Project as BaseProject, + Symbol as BaseSymbol, + Type as BaseType, +} from "../base/api.ts"; +import type { + FileSystemEntries, + ParsedCommandLine, + ProjectData, + SymbolData, + TypeData, +} from "../types.ts"; +import { Client } from "./client.ts"; + +export interface APIOptions extends BaseAPIOptions { + fs?: { + directoryExists?: (directoryName: string) => boolean | undefined; + fileExists?: (fileName: string) => boolean | undefined; + getAccessibleEntries?: (directoryName: string) => FileSystemEntries | undefined; + getEntries?: (directoryName: string) => FileSystemEntries | undefined; + readFile?: (fileName: string) => string | null | undefined; + realpath?: (path: string) => string | undefined; + }; +} + +export class API implements BaseAPI { + private client: Client; + constructor(options: APIOptions) { + this.client = new Client(options); + if (options.fs) { + if (options.fs) { + if (options.fs.directoryExists) { + this.client.registerCallback("directoryExists", options.fs.directoryExists); + } + if (options.fs.fileExists) { + this.client.registerCallback("fileExists", options.fs.fileExists); + } + if (options.fs.getAccessibleEntries) { + this.client.registerCallback("getAccessibleEntries", options.fs.getAccessibleEntries); + } + if (options.fs.getEntries) { + this.client.registerCallback("getEntries", options.fs.getEntries); + } + if (options.fs.readFile) { + this.client.registerCallback("readFile", options.fs.readFile); + } + if (options.fs.realpath) { + this.client.registerCallback("realpath", options.fs.realpath); + } + } + } + } + + parseConfigFile(fileName: string): ParsedCommandLine { + return this.client.request("parseConfigFile", { fileName }); + } + + loadProject(configFileName: string): Project { + const data = this.client.request("loadProject", { configFileName }); + return new Project(this.client, data); + } + + close(): void { + this.client.close(); + } +} + +export class Project extends BaseProject { + private client: Client; + + constructor(client: Client, data: ProjectData) { + super(data); + this.client = client; + } + + reload(): void { + this.loadData(this.client.request("loadProject", { configFileName: this.configFileName })); + } + + getSymbolAtPosition(fileName: string, position: number): Symbol | undefined { + const data = this.client.request("getSymbolAtPosition", { project: this.configFileName, fileName, position }); + return data ? new Symbol(this.client, this, data) : undefined; + } +} + +export class Symbol extends BaseSymbol { + private client: Client; + private project: Project; + + constructor(client: Client, project: Project, data: SymbolData) { + super(data); + this.client = client; + this.project = project; + } + + getType(): Type | undefined { + const data = this.client.request("getTypeOfSymbol", { project: this.project.configFileName, symbol: this.id }); + return data ? new Type(this.client, data) : undefined; + } +} + +export class Type extends BaseType { + private client: Client; + constructor(client: Client, data: TypeData) { + super(data); + this.client = client; + } +} diff --git a/_api/src/sync/client.ts b/_api/src/sync/client.ts new file mode 100644 index 0000000000..4386d5b032 --- /dev/null +++ b/_api/src/sync/client.ts @@ -0,0 +1,34 @@ +import { SyncRpcChannel } from "libsyncrpc"; + +export interface ClientOptions { + tsserverPath: string; + cwd?: string; +} + +export class Client { + private channel: SyncRpcChannel; + + constructor(options: ClientOptions) { + this.channel = new SyncRpcChannel(options.tsserverPath, [ + "api", + "-cwd", + options.cwd ?? process.cwd(), + ]); + } + + registerCallback(method: string, callback: (payload: any) => any): void { + this.channel.registerCallback(method, (_, arg) => { + const result = callback(JSON.parse(arg)); + return JSON.stringify(result) ?? ""; + }); + this.channel.requestSync("registerCallback", method); + } + + request(method: string, payload: any): any { + return JSON.parse(this.channel.requestSync(method, JSON.stringify(payload))); + } + + close(): void { + this.channel.murderInColdBlood(); + } +} diff --git a/_api/src/test.ts b/_api/src/test.ts index 2b07385f82..4c06b377b9 100644 --- a/_api/src/test.ts +++ b/_api/src/test.ts @@ -2,38 +2,73 @@ import * as fs from "node:fs"; import { dirname } from "node:path"; import * as path from "node:path"; import ts from "typescript"; -import { API } from "./api.ts"; +import { API as AsyncAPI } from "./async/api.ts"; +import { API as SyncAPI } from "./sync/api.ts"; + +{ + console.log("=== LSP-based tsgo ==="); + console.time("Total execution time"); + + console.time("Server startup time"); + const api = new AsyncAPI({ + tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, + cwd: dirname(new URL(import.meta.url).pathname), + // logServer: msg => logs.push(msg), + }); + console.timeEnd("Server startup time"); + + // Start project loading timer + console.time("Project loading time"); + const project = await api.loadProject("../../../eg/ts/tsconfig.json"); + console.timeEnd("Project loading time"); + + console.time("Symbol lookup time 1"); + const symbol1 = await project.getSymbolAtPosition("a.ts", 4); + console.timeEnd("Symbol lookup time 1"); + + console.time("Symbol lookup time 2"); + const symbol2 = await project.getSymbolAtPosition("a.ts", 4); + console.timeEnd("Symbol lookup time 2"); -console.log("=== LSP-based tsgo ==="); -console.time("Total execution time"); + console.log(symbol1?.name, symbol1?.flags); + await api.close(); -console.time("Server startup time"); -const api = new API({ - tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, - cwd: dirname(new URL(import.meta.url).pathname), - // logServer: msg => logs.push(msg), -}); -console.timeEnd("Server startup time"); + console.timeEnd("Total execution time"); +} + +{ + console.log("\n=== libsyncrpc-based tsgo ==="); + console.time("Total execution time"); -// Start project loading timer -console.time("Project loading time"); -const project = await api.loadProject("../../../eg/ts/tsconfig.json"); -console.timeEnd("Project loading time"); + console.time("Server startup time"); + const api = new SyncAPI({ + tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, + cwd: dirname(new URL(import.meta.url).pathname), + // logServer: msg => logs.push(msg), + }); + console.timeEnd("Server startup time"); -console.time("Symbol lookup time"); -const symbol = await project.getSymbolAtPosition("a.ts", 4); -console.timeEnd("Symbol lookup time"); + console.time("Project loading time"); + const project = api.loadProject("../../../eg/ts/tsconfig.json"); + console.timeEnd("Project loading time"); -console.log(symbol?.name, symbol?.flags); -await api.close(); + console.time("Symbol lookup time 1"); + const symbol1 = project.getSymbolAtPosition("a.ts", 4); + console.timeEnd("Symbol lookup time 1"); -console.timeEnd("Total execution time"); + console.time("Symbol lookup time 2"); + const symbol2 = project.getSymbolAtPosition("a.ts", 4); + console.timeEnd("Symbol lookup time 2"); -// Implement equivalent functionality with TypeScript API directly -console.log("\n=== Direct TypeScript API implementation ==="); -console.time("Total execution time"); + console.log(symbol1?.name, symbol1?.flags); + api.close(); + console.timeEnd("Total execution time"); +} + +{ + console.log("\n=== Direct TypeScript API implementation ==="); + console.time("Total execution time"); -try { console.time("Config parsing"); // Parse tsconfig.json const configFilePath = new URL("../../../eg/ts/tsconfig.json", import.meta.url).pathname; @@ -62,27 +97,22 @@ try { }); console.timeEnd("Program creation"); - console.time("Symbol lookup"); - // Get the checker and find symbol at position - const checker = program.getTypeChecker(); const aFilePath = path.resolve(path.dirname(configFilePath), "a.ts"); - const sourceFile = program.getSourceFile(aFilePath); + const sourceFile = program.getSourceFile(aFilePath)!; + // @ts-expect-error + const token = ts.getTokenAtPosition(sourceFile, 4); - if (sourceFile) { - // Position 4 is in the first line - const position = 4; + console.time("Symbol lookup 1"); + // Get the checker and find symbol at position + const checker = program.getTypeChecker(); + // Get symbol at position + const symbol = checker.getSymbolAtLocation(token); + console.timeEnd("Symbol lookup 1"); - // @ts-expect-error - const token = ts.getTokenAtPosition(sourceFile, position); + console.time("Symbol lookup 2"); + const _ = program.getTypeChecker().getSymbolAtLocation(token); + console.timeEnd("Symbol lookup 2"); - // Get symbol at position - const symbol = checker.getSymbolAtLocation(token); - console.log("Direct TS API symbol:", symbol?.getName(), symbol?.getFlags()); - } - console.timeEnd("Symbol lookup"); -} -catch (err) { - console.error("Error in direct TS API implementation:", err); + console.log("Direct TS API symbol:", symbol?.getName(), symbol?.getFlags()); + console.timeEnd("Total execution time"); } - -console.timeEnd("Total execution time"); diff --git a/_api/src/types.ts b/_api/src/types.ts index e6fed7ae08..c84eff1282 100644 --- a/_api/src/types.ts +++ b/_api/src/types.ts @@ -1,3 +1,10 @@ +export type MaybeAsync = Async extends true ? Promise : T; + +export interface FileSystemEntries { + files: string[]; + directories: string[]; +} + export interface ParsedCommandLine { options: Record; fileNames: string[]; @@ -5,12 +12,18 @@ export interface ParsedCommandLine { export interface ProjectData { configFileName: string; - commandLine: ParsedCommandLine; + compilerOptions: Record; + rootFiles: string[]; } export interface SymbolData { + id: number; name: string; flags: number; checkFlags: number; - projectVersion: number; +} + +export interface TypeData { + id: number; + flags: number; } diff --git a/cmd/tsgo/api.go b/cmd/tsgo/api.go index b6563eda63..096ebd3e5c 100644 --- a/cmd/tsgo/api.go +++ b/cmd/tsgo/api.go @@ -3,9 +3,11 @@ package main import ( "errors" "flag" + "fmt" "io" "os" + "github.com/microsoft/typescript-go/internal/api" "github.com/microsoft/typescript-go/internal/bundled" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/lsp" @@ -14,6 +16,7 @@ import ( func runAPI(args []string) int { flag := flag.NewFlagSet("api", flag.ContinueOnError) + useLSP := flag.Bool("lsp", false, "use API over LSP server") cwd := flag.String("cwd", core.Must(os.Getwd()), "current working directory") if err := flag.Parse(args); err != nil { return 2 @@ -22,18 +25,35 @@ func runAPI(args []string) int { fs := bundled.WrapFS(osvfs.FS()) defaultLibraryPath := bundled.LibPath() - s := lsp.NewServer(&lsp.ServerOptions{ - In: os.Stdin, - Out: os.Stdout, - Err: os.Stderr, - API: true, - Cwd: *cwd, - FS: fs, - DefaultLibraryPath: defaultLibraryPath, - }) + if *useLSP { + s := lsp.NewServer(&lsp.ServerOptions{ + In: os.Stdin, + Out: os.Stdout, + Err: os.Stderr, + API: true, + Cwd: *cwd, + FS: fs, + DefaultLibraryPath: defaultLibraryPath, + }) - if err := s.Run(); err != nil && !errors.Is(err, io.EOF) { - return 1 + if err := s.Run(); err != nil && !errors.Is(err, io.EOF) { + return 1 + } + return 0 + } else { + s := api.NewServer(&api.ServerOptions{ + In: os.Stdin, + Out: os.Stdout, + Err: os.Stderr, + Cwd: *cwd, + NewLine: "\n", + DefaultLibraryPath: defaultLibraryPath, + }) + + if err := s.Run(); err != nil && !errors.Is(err, io.EOF) { + fmt.Println(err) + return 1 + } + return 0 } - return 0 } diff --git a/internal/api/api.go b/internal/api/api.go index 8530070d51..659ab95790 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -13,35 +13,7 @@ import ( "github.com/microsoft/typescript-go/internal/vfs" ) -type SymbolData struct { - Name string `json:"name"` - Flags uint32 `json:"flags"` - CheckFlags uint32 `json:"checkFlags"` - ProjectVersion uint32 `json:"projectVersion"` -} - -func NewSymbolData(symbol *ast.Symbol, projectVersion int) *SymbolData { - return &SymbolData{ - Name: symbol.Name, - Flags: uint32(symbol.Flags), - CheckFlags: uint32(symbol.CheckFlags), - ProjectVersion: uint32(projectVersion), - } -} - -type ProjectData struct { - ConfigFileName string `json:"configFileName"` - RootFiles []string `json:"rootFiles"` - CompilerOptions *core.CompilerOptions `json:"compilerOptions"` -} - -func NewProjectData(project *project.Project) *ProjectData { - return &ProjectData{ - ConfigFileName: project.Name(), - RootFiles: project.GetRootFileNames(), - CompilerOptions: project.GetCompilerOptions(), - } -} +type weakValuedMap[T any] map[Handle[T]]*T type APIOptions struct { Logger *project.Logger @@ -56,6 +28,7 @@ type API struct { scriptInfos map[tspath.Path]*project.ScriptInfo projects map[tspath.Path]*project.Project + symbols weakValuedMap[ast.Symbol] } var _ project.ProjectHost = (*API)(nil) @@ -70,6 +43,7 @@ func NewAPI(host APIHost, options APIOptions) *API { }), scriptInfos: make(map[tspath.Path]*project.ScriptInfo), projects: make(map[tspath.Path]*project.Project), + symbols: make(weakValuedMap[ast.Symbol]), } } @@ -134,6 +108,9 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) (a case MethodGetSymbolAtPosition: params := params.(*GetSymbolAtPositionParams) return api.GetSymbolAtPosition(api.toPath(params.Project), params.FileName, int(params.Position)) + case MethodGetTypeOfSymbol: + params := params.(*GetTypeOfSymbolParams) + return api.GetTypeOfSymbol(api.toPath(params.Project), params.Symbol) default: return nil, fmt.Errorf("unhandled API method %q", method) } @@ -174,16 +151,34 @@ func (api *API) LoadProject(configFileName string) (*ProjectData, error) { return NewProjectData(project), nil } -func (api *API) GetSymbolAtPosition(project tspath.Path, fileName string, position int) (*SymbolData, error) { - if project, ok := api.projects[project]; ok { - symbol := project.LanguageService().GetSymbolAtPosition(fileName, position) - if symbol == nil { - return nil, nil - } - data := NewSymbolData(symbol, project.Version()) - return data, nil +func (api *API) GetSymbolAtPosition(projectPath tspath.Path, fileName string, position int) (*SymbolData, error) { + project, ok := api.projects[projectPath] + if !ok { + return nil, fmt.Errorf("project %q not found", projectPath) + } + symbol, err := project.LanguageService().GetSymbolAtPosition(fileName, position) + if err != nil || symbol == nil { + return nil, err + } + data := NewSymbolData(symbol, project.Version()) + api.symbols[data.Id] = symbol + return data, nil +} + +func (api *API) GetTypeOfSymbol(projectPath tspath.Path, symbolHandle Handle[ast.Symbol]) (*TypeData, error) { + project, ok := api.projects[projectPath] + if !ok { + return nil, fmt.Errorf("project %q not found", projectPath) + } + symbol, ok := api.symbols[symbolHandle] + if !ok { + return nil, fmt.Errorf("symbol %q not found", symbolHandle) + } + t := project.LanguageService().GetTypeOfSymbol(symbol) + if t == nil { + return nil, nil } - return nil, fmt.Errorf("project %q not found", project) + return NewTypeData(t), nil } func (api *API) getOrCreateScriptInfo(fileName string, path tspath.Path, scriptKind core.ScriptKind) *project.ScriptInfo { diff --git a/internal/api/proto.go b/internal/api/proto.go index 9117612532..71c08d8fbd 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -2,21 +2,41 @@ package api import ( "encoding/json" + "errors" "fmt" + "unsafe" + + "github.com/microsoft/typescript-go/internal/ast" + "github.com/microsoft/typescript-go/internal/checker" + "github.com/microsoft/typescript-go/internal/core" + "github.com/microsoft/typescript-go/internal/project" +) + +var ( + ErrInvalidRequest = errors.New("api: invalid request") + ErrClientError = errors.New("api: client error") ) type Method string +type Handle[T any] uint32 + +func NewHandle[T any](v *T) Handle[T] { + return Handle[T](uintptr(unsafe.Pointer(v))) +} + const ( MethodParseConfigFile Method = "parseConfigFile" MethodLoadProject Method = "loadProject" MethodGetSymbolAtPosition Method = "getSymbolAtPosition" + MethodGetTypeOfSymbol Method = "getTypeOfSymbol" ) var unmarshalers = map[Method]func([]byte) (any, error){ MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], MethodLoadProject: unmarshallerFor[LoadProjectParams], MethodGetSymbolAtPosition: unmarshallerFor[GetSymbolAtPositionParams], + MethodGetTypeOfSymbol: unmarshallerFor[GetTypeOfSymbolParams], } type ParseConfigFileParams struct { @@ -27,12 +47,59 @@ type LoadProjectParams struct { ConfigFileName string `json:"configFileName"` } +type ProjectData struct { + ConfigFileName string `json:"configFileName"` + RootFiles []string `json:"rootFiles"` + CompilerOptions *core.CompilerOptions `json:"compilerOptions"` +} + +func NewProjectData(project *project.Project) *ProjectData { + return &ProjectData{ + ConfigFileName: project.Name(), + RootFiles: project.GetRootFileNames(), + CompilerOptions: project.GetCompilerOptions(), + } +} + type GetSymbolAtPositionParams struct { Project string `json:"project"` FileName string `json:"fileName"` Position uint32 `json:"position"` } +type SymbolData struct { + Id Handle[ast.Symbol] `json:"id"` + Name string `json:"name"` + Flags uint32 `json:"flags"` + CheckFlags uint32 `json:"checkFlags"` +} + +func NewSymbolData(symbol *ast.Symbol, projectVersion int) *SymbolData { + return &SymbolData{ + Id: NewHandle(symbol), + Name: symbol.Name, + Flags: uint32(symbol.Flags), + CheckFlags: uint32(symbol.CheckFlags), + } +} + +type GetTypeOfSymbolParams struct { + Project string `json:"project"` + Symbol Handle[ast.Symbol] `json:"symbol"` +} + +type TypeData struct { + Id Handle[checker.Type] `json:"id"` + Flags uint32 `json:"flags"` +} + +func NewTypeData(t *checker.Type) *TypeData { + return &TypeData{ + Id: NewHandle(t), + Flags: uint32(t.Flags()), + } +} + func unmarshalPayload(method string, payload json.RawMessage) (any, error) { unmarshaler, ok := unmarshalers[Method(method)] if !ok { diff --git a/internal/api/server.go b/internal/api/server.go new file mode 100644 index 0000000000..74c3bd1975 --- /dev/null +++ b/internal/api/server.go @@ -0,0 +1,373 @@ +package api + +import ( + "bufio" + "bytes" + "encoding/json" + "errors" + "fmt" + "io" + "sync" + + "github.com/microsoft/typescript-go/internal/bundled" + "github.com/microsoft/typescript-go/internal/project" + "github.com/microsoft/typescript-go/internal/vfs" + "github.com/microsoft/typescript-go/internal/vfs/osvfs" +) + +type Callback int + +const ( + CallbackDirectoryExists Callback = 1 << iota + CallbackFileExists + CallbackGetAccessibleEntries + CallbackReadFile + CallbackRealpath +) + +type ServerOptions struct { + In io.Reader + Out io.Writer + Err io.Writer + Cwd string + NewLine string + DefaultLibraryPath string +} + +var _ APIHost = (*Server)(nil) +var _ vfs.FS = (*Server)(nil) + +type Server struct { + r *bufio.Reader + w *bufio.Writer + stderr io.Writer + + cwd string + newLine string + fs vfs.FS + defaultLibraryPath string + + callbackMu sync.Mutex + enabledCallbacks Callback + logger *project.Logger + api *API + + requestId int +} + +func NewServer(options *ServerOptions) *Server { + if options.Cwd == "" { + panic("Cwd is required") + } + + server := &Server{ + r: bufio.NewReader(options.In), + w: bufio.NewWriter(options.Out), + stderr: options.Err, + cwd: options.Cwd, + newLine: options.NewLine, + fs: bundled.WrapFS(osvfs.FS()), + defaultLibraryPath: options.DefaultLibraryPath, + } + logger := project.NewLogger([]io.Writer{options.Err}, project.LogLevelVerbose) + api := NewAPI(server, APIOptions{ + Logger: logger, + }) + server.logger = logger + server.api = api + return server +} + +// DefaultLibraryPath implements APIHost. +func (s *Server) DefaultLibraryPath() string { + return s.defaultLibraryPath +} + +// FS implements APIHost. +func (s *Server) FS() vfs.FS { + return s +} + +// GetCurrentDirectory implements APIHost. +func (s *Server) GetCurrentDirectory() string { + return s.cwd +} + +// NewLine implements APIHost. +func (s *Server) NewLine() string { + return s.newLine +} + +func (s *Server) Run() error { + for { + line, err := s.r.ReadBytes('\n') + if err != nil { + if errors.Is(err, io.EOF) { + return nil + } + return err + } + + index := bytes.IndexByte(line, '\t') + if index == -1 { + return fmt.Errorf("%w: missing message type or method: %q", ErrInvalidRequest, line) + } + + messageType := string(line[:index]) + offset := index + 1 + switch messageType { + case "request": + index = bytes.IndexByte(line[offset:], '\t') + if index == -1 { + return fmt.Errorf("%w: missing method or payload: %q", ErrInvalidRequest, line) + } + method := string(line[offset : offset+index]) + payload := line[offset+index+1 : len(line)-1] + if result, err := s.handleRequest(method, payload); err != nil { + if err := s.sendError(method, err); err != nil { + return err + } + } else { + if err := s.sendResponse(method, result); err != nil { + return err + } + } + default: + return fmt.Errorf("%w: expected request, recieved: %s", ErrInvalidRequest, messageType) + } + } +} + +func (s *Server) enableCallback(callback string) error { + switch callback { + case "directoryExists": + s.enabledCallbacks |= CallbackDirectoryExists + case "fileExists": + s.enabledCallbacks |= CallbackFileExists + case "getAccessibleEntries": + s.enabledCallbacks |= CallbackGetAccessibleEntries + case "readFile": + s.enabledCallbacks |= CallbackReadFile + case "realpath": + s.enabledCallbacks |= CallbackRealpath + default: + return fmt.Errorf("unknown callback: %s", callback) + } + return nil +} + +func (s *Server) handleRequest(method string, payload []byte) (any, error) { + s.requestId++ + if method == "registerCallback" { + return nil, s.enableCallback(string(payload)) + } + return s.api.HandleRequest(s.requestId, method, payload) +} + +func (s *Server) sendResponse(method string, result any) error { + payload, err := json.Marshal(result) + if err != nil { + return err + } + if _, err = s.w.Write([]byte("response\t")); err != nil { + return err + } + if _, err = s.w.Write([]byte(method)); err != nil { + return err + } + if _, err = s.w.Write([]byte("\t")); err != nil { + return err + } + if _, err = s.w.Write(payload); err != nil { + return err + } + if _, err = s.w.Write([]byte("\n")); err != nil { + return err + } + return s.w.Flush() +} + +func (s *Server) sendError(method string, err error) error { + payload, err := json.Marshal(err.Error()) + if err != nil { + return err + } + if _, err = s.w.Write([]byte("error\t")); err != nil { + return err + } + if _, err = s.w.Write([]byte(method)); err != nil { + return err + } + if _, err = s.w.Write([]byte("\t")); err != nil { + return err + } + if _, err = s.w.Write(payload); err != nil { + return err + } + if _, err = s.w.Write([]byte("\n")); err != nil { + return err + } + return s.w.Flush() +} + +func (s *Server) call(method string, payload any) ([]byte, error) { + s.callbackMu.Lock() + defer s.callbackMu.Unlock() + if _, err := s.w.WriteString("call\t"); err != nil { + return nil, err + } + if _, err := s.w.WriteString(method); err != nil { + return nil, err + } + if err := s.w.WriteByte('\t'); err != nil { + return nil, err + } + if err := json.NewEncoder(s.w).Encode(payload); err != nil { + return nil, err + } + if err := s.w.Flush(); err != nil { + return nil, err + } + line, err := s.r.ReadBytes('\n') + if err != nil { + return nil, err + } + + index := bytes.IndexByte(line, '\t') + if index == -1 { + return nil, fmt.Errorf("%w: missing message type or method: %q", ErrInvalidRequest, line) + } + + messageType := string(line[:index]) + if messageType != "call-response" && messageType != "call-error" { + return nil, fmt.Errorf("%w: expected call-response or call-error, recieved: %s", ErrInvalidRequest, messageType) + } + + offset := index + 1 + index = bytes.IndexByte(line[offset:], '\t') + if index == -1 { + return nil, fmt.Errorf("%w: missing method or payload: %q", ErrInvalidRequest, line) + } + if string(line[offset:offset+index]) != method { + return nil, fmt.Errorf("%w: expected method %q, recieved %q", ErrInvalidRequest, method, line[offset:offset+index]) + } + + if messageType == "call-error" { + return nil, fmt.Errorf("%w: %s", ErrClientError, line[offset+index+1:]) + } + + return line[offset+index+1 : len(line)-1], nil +} + +// DirectoryExists implements vfs.FS. +func (s *Server) DirectoryExists(path string) bool { + if s.enabledCallbacks&CallbackDirectoryExists != 0 { + result, err := s.call("directoryExists", path) + if err != nil { + panic(err) + } + if len(result) > 0 { + return string(result) == "true" + } + } + return s.fs.DirectoryExists(path) +} + +// FileExists implements vfs.FS. +func (s *Server) FileExists(path string) bool { + if s.enabledCallbacks&CallbackFileExists != 0 { + result, err := s.call("fileExists", path) + if err != nil { + panic(err) + } + if len(result) > 0 { + return string(result) == "true" + } + } + return s.fs.FileExists(path) +} + +// GetAccessibleEntries implements vfs.FS. +func (s *Server) GetAccessibleEntries(path string) vfs.Entries { + if s.enabledCallbacks&CallbackGetAccessibleEntries != 0 { + result, err := s.call("getAccessibleEntries", path) + if err != nil { + panic(err) + } + if len(result) > 0 { + var rawEntries *struct { + Files []string `json:"files"` + Directories []string `json:"directories"` + } + if err := json.Unmarshal(result, &rawEntries); err != nil { + panic(err) + } + if rawEntries != nil { + return vfs.Entries{ + Files: rawEntries.Files, + Directories: rawEntries.Directories, + } + } + } + } + return s.fs.GetAccessibleEntries(path) +} + +// ReadFile implements vfs.FS. +func (s *Server) ReadFile(path string) (contents string, ok bool) { + if s.enabledCallbacks&CallbackReadFile != 0 { + data, err := s.call("readFile", path) + if err != nil { + panic(err) + } + if string(data) == "null" { + return "", false + } + if len(data) > 0 { + var result string + if err := json.Unmarshal(data, &result); err != nil { + panic(err) + } + return result, true + } + } + return s.fs.ReadFile(path) +} + +// Realpath implements vfs.FS. +func (s *Server) Realpath(path string) string { + if s.enabledCallbacks&CallbackRealpath != 0 { + data, err := s.call("realpath", path) + if err != nil { + panic(err) + } + if len(data) > 0 { + var result string + if err := json.Unmarshal(data, &result); err != nil { + panic(err) + } + return result + } + } + return s.fs.Realpath(path) +} + +// UseCaseSensitiveFileNames implements vfs.FS. +func (s *Server) UseCaseSensitiveFileNames() bool { + return s.fs.UseCaseSensitiveFileNames() +} + +// WriteFile implements vfs.FS. +func (s *Server) WriteFile(path string, data string, writeByteOrderMark bool) error { + return s.fs.WriteFile(path, data, writeByteOrderMark) +} + +// WalkDir implements vfs.FS. +func (s *Server) WalkDir(root string, walkFn vfs.WalkDirFunc) error { + panic("unimplemented") +} + +// Stat implements vfs.FS. +func (s *Server) Stat(path string) vfs.FileInfo { + panic("unimplemented") +} diff --git a/internal/checker/types.go b/internal/checker/types.go index 77be679eab..01e3c5dfa7 100644 --- a/internal/checker/types.go +++ b/internal/checker/types.go @@ -581,6 +581,10 @@ type Type struct { data TypeData // Type specific data } +func (t *Type) Flags() TypeFlags { + return t.flags +} + // Casts for concrete struct types func (t *Type) AsIntrinsicType() *IntrinsicType { return t.data.(*IntrinsicType) } diff --git a/internal/ls/api.go b/internal/ls/api.go index 8ede231af9..df4cdb25b9 100644 --- a/internal/ls/api.go +++ b/internal/ls/api.go @@ -1,19 +1,33 @@ package ls import ( + "errors" + "fmt" + "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/astnav" + "github.com/microsoft/typescript-go/internal/checker" +) + +var ( + ErrNoSourceFile = errors.New("source file not found") + ErrNoTokenAtPosition = errors.New("no token found at position") ) -func (l *LanguageService) GetSymbolAtPosition(fileName string, position int) *ast.Symbol { +func (l *LanguageService) GetSymbolAtPosition(fileName string, position int) (*ast.Symbol, error) { program, file := l.tryGetProgramAndFile(fileName) if file == nil { - return nil + return nil, fmt.Errorf("%w: %s", ErrNoSourceFile, fileName) } node := astnav.GetTokenAtPosition(file, position) if node == nil { - return nil + return nil, fmt.Errorf("%w: %s:%d", ErrNoTokenAtPosition, fileName, position) } checker := program.GetTypeChecker() - return checker.GetSymbolAtLocation(node) + return checker.GetSymbolAtLocation(node), nil +} + +func (l *LanguageService) GetTypeOfSymbol(symbol *ast.Symbol) *checker.Type { + checker := l.GetProgram().GetTypeChecker() + return checker.GetTypeOfSymbolAtLocation(symbol, nil) } diff --git a/internal/project/service.go b/internal/project/service.go index bc8b39c182..78f2089116 100644 --- a/internal/project/service.go +++ b/internal/project/service.go @@ -82,7 +82,7 @@ func NewService(host ServiceHost, options ServiceOptions) *Service { // GetCurrentDirectory implements ProjectHost. func (s *Service) GetCurrentDirectory() string { - panic("unimplemented") + return s.host.GetCurrentDirectory() } // Log implements ProjectHost. diff --git a/package-lock.json b/package-lock.json index 6730d3d924..69adcd57b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,8 @@ "name": "typescript-api", "version": "1.0.0", "dependencies": { - "json-rpc-2.0": "^1.7.0" + "json-rpc-2.0": "^1.7.0", + "libsyncrpc": "file:../../libsyncrpc" } }, "_extension": { @@ -47,6 +48,18 @@ "vscode": "^1.91.0" } }, + "../libsyncrpc": { + "version": "0.0.0", + "license": "MIT", + "devDependencies": { + "@napi-rs/cli": "^2.18.4", + "ava": "^6.0.1", + "tinybench": "^2.9.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/@apidevtools/json-schema-ref-parser": { "version": "11.9.0", "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.0.tgz", @@ -719,6 +732,10 @@ "@types/json-schema": "^7.0.15" } }, + "node_modules/libsyncrpc": { + "resolved": "../libsyncrpc", + "link": true + }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -1780,6 +1797,14 @@ "@types/json-schema": "^7.0.15" } }, + "libsyncrpc": { + "version": "file:../libsyncrpc", + "requires": { + "@napi-rs/cli": "^2.18.4", + "ava": "^6.0.1", + "tinybench": "^2.9.0" + } + }, "lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -2013,7 +2038,8 @@ "typescript-api": { "version": "file:_api", "requires": { - "json-rpc-2.0": "^1.7.0" + "json-rpc-2.0": "^1.7.0", + "libsyncrpc": "file:../../libsyncrpc" } }, "typescript-lsp": { From 8867ecbf0b9f6030596ac6a0b430cf400967a2c1 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Fri, 7 Mar 2025 20:46:08 -0800 Subject: [PATCH 04/63] WIP --- _api/src/base/api.ts | 13 + _api/src/base/decode.ts | 120 + _api/src/base/node.ts | 552 + _api/src/sf.ts | 26 + _api/src/sync/api.ts | 18 +- _api/src/sync/client.ts | 4 + _api/src/syntaxKind.ts | 706 + checker.ast | 290257 ++++++++++++++++++++++++++++++++ internal/api/api.go | 31 + internal/api/encoder.go | 604 + internal/api/encoder_test.go | 96 + internal/api/proto.go | 7 + internal/api/server.go | 44 +- internal/ast/ast.go | 387 +- internal/parser/parser.go | 1 + program.ast | 0 16 files changed, 292675 insertions(+), 191 deletions(-) create mode 100644 _api/src/base/decode.ts create mode 100644 _api/src/base/node.ts create mode 100644 _api/src/sf.ts create mode 100644 _api/src/syntaxKind.ts create mode 100644 checker.ast create mode 100644 internal/api/encoder.go create mode 100644 internal/api/encoder_test.go create mode 100644 program.ast diff --git a/_api/src/base/api.ts b/_api/src/base/api.ts index 5ddd78e8e7..0b7022ec4f 100644 --- a/_api/src/base/api.ts +++ b/_api/src/base/api.ts @@ -5,6 +5,7 @@ import type { SymbolData, TypeData, } from "../types.ts"; +import { Node } from "./node.ts"; export interface APIOptions { tsserverPath: string; @@ -33,9 +34,21 @@ export abstract class Project { } abstract reload(): MaybeAsync; + abstract getSourceFile(fileName: string): MaybeAsync | undefined>; abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync | undefined>; } +export abstract class SourceFile extends Node { + constructor(data: Buffer) { + const view = new DataView(data.buffer, data.byteOffset, data.byteLength); + super(view, 1, undefined!); + } + + nodeCount(): number { + return (this.view.byteLength / (Node.NODE_LEN * 4)) - 1; + } +} + export abstract class Symbol { protected id: number; name: string; diff --git a/_api/src/base/decode.ts b/_api/src/base/decode.ts new file mode 100644 index 0000000000..7a7c8a381c --- /dev/null +++ b/_api/src/base/decode.ts @@ -0,0 +1,120 @@ +import { SyntaxKind } from "../syntaxKind.ts"; + +export type NodeDataType = typeof NodeDataTypeChildren | typeof NodeDataTypeString | typeof NodeDataTypeExtended; +export const NodeDataTypeMask = 0xc0000000; +export const NodeDataTypeChildren = 0x00000000; +export const NodeDataTypeString = 0x40000000; +export const NodeDataTypeExtended = 0x80000000; + +export const NodeChildMask = 0xff; + +export const childProperties: Readonly> = { + [SyntaxKind.QualifiedName]: ["left", "right"], + [SyntaxKind.TypeParameter]: ["modifiers", "name", "constraint", "defaultType"], + [SyntaxKind.IfStatement]: ["expression", "thenStatement", "elseStatement"], + [SyntaxKind.DoStatement]: ["statement", "expression"], + [SyntaxKind.WhileStatement]: ["expression", "statement"], + [SyntaxKind.ForStatement]: ["initializer", "condition", "incrementor", "statement"], + [SyntaxKind.ForInStatement]: ["awaitModifier", "initializer", "expression", "statement"], + [SyntaxKind.ForOfStatement]: ["awaitModifier", "initializer", "expression", "statement"], + [SyntaxKind.WithStatement]: ["expression", "statement"], + [SyntaxKind.SwitchStatement]: ["expression", "caseBlock"], + [SyntaxKind.CaseClause]: ["expression", "statements"], + [SyntaxKind.DefaultClause]: ["expression", "statements"], + [SyntaxKind.TryStatement]: ["tryBlock", "catchClause", "finallyBlock"], + [SyntaxKind.CatchClause]: ["variableDeclaration", "block"], + [SyntaxKind.LabeledStatement]: ["label", "statement"], + [SyntaxKind.VariableStatement]: ["modifiers", "declarationList"], + [SyntaxKind.VariableDeclaration]: ["name", "exclamationToken", "type", "initializer"], + [SyntaxKind.Parameter]: ["modifiers", "dotDotDotToken", "name", "questionToken", "type", "initializer"], + [SyntaxKind.BindingElement]: ["dotDotDotToken", "propertyName", "name", "initializer"], + [SyntaxKind.FunctionDeclaration]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.InterfaceDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], + [SyntaxKind.TypeAliasDeclaration]: ["modifiers", "name", "typeParameters", "type"], + [SyntaxKind.EnumMember]: ["name", "initializer"], + [SyntaxKind.EnumDeclaration]: ["modifiers", "name", "members"], + [SyntaxKind.ModuleDeclaration]: ["modifiers", "name", "body"], + [SyntaxKind.ImportEqualsDeclaration]: ["modifiers", "name", "moduleReference"], + [SyntaxKind.ImportDeclaration]: ["modifiers", "importClause", "moduleSpecifier", "attributes"], + [SyntaxKind.ImportSpecifier]: ["propertyName", "name"], + [SyntaxKind.ImportClause]: ["name", "namedBindings"], + [SyntaxKind.ExportAssignment]: ["modifiers", "expression"], + [SyntaxKind.NamespaceExportDeclaration]: ["modifiers", "name"], + [SyntaxKind.ExportDeclaration]: ["modifiers", "exportClause", "moduleSpecifier", "attributes"], + [SyntaxKind.ExportSpecifier]: ["propertyName", "name"], + [SyntaxKind.CallSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ConstructSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.Constructor]: ["modifiers", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.GetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.SetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.IndexSignature]: ["modifiers", "parameters", "type"], + [SyntaxKind.MethodSignature]: ["modifiers", "name", "postfixToken", "typeParameters", "parameters", "type"], + [SyntaxKind.MethodDeclaration]: ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.PropertySignature]: ["modifiers", "name", "postfixToken", "type", "initializer"], + [SyntaxKind.PropertyDeclaration]: ["modifiers", "name", "postfixToken", "type", "initializer"], + [SyntaxKind.BinaryExpression]: ["left", "operatorToken", "right"], + [SyntaxKind.YieldExpression]: ["asteriskToken", "expression"], + [SyntaxKind.ArrowFunction]: ["modifiers", "typeParameters", "parameters", "type", "equalsGreaterThanToken", "body"], + [SyntaxKind.FunctionExpression]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.AsExpression]: ["expression", "type"], + [SyntaxKind.SatisfiesExpression]: ["expression", "type"], + [SyntaxKind.ConditionalExpression]: ["condition", "questionToken", "whenTrue", "colonToken", "whenFalse"], + [SyntaxKind.PropertyAccessExpression]: ["expression", "questionDotToken", "name"], + [SyntaxKind.ElementAccessExpression]: ["expression", "questionDotToken", "argumentExpression"], + [SyntaxKind.CallExpression]: ["expression", "questionDotToken", "typeArguments", "arguments"], + [SyntaxKind.NewExpression]: ["expression", "typeArguments", "arguments"], + [SyntaxKind.TemplateExpression]: ["head", "templateSpans"], + [SyntaxKind.TemplateSpan]: ["expression", "literal"], + [SyntaxKind.TaggedTemplateExpression]: ["tag", "questionDotToken", "typeArguments", "template"], + [SyntaxKind.PropertyAssignment]: ["modifiers", "name", "postfixToken", "initializer"], + [SyntaxKind.ShorthandPropertyAssignment]: ["modifiers", "name", "postfixToken", "equalsToken", "objectAssignmentInitializer"], + [SyntaxKind.TypeAssertionExpression]: ["type", "expression"], + [SyntaxKind.ConditionalType]: ["checkType", "extendsType", "trueType", "falseType"], + [SyntaxKind.IndexedAccessType]: ["objectType", "indexType"], + [SyntaxKind.TypeReference]: ["typeName", "typeArguments"], + [SyntaxKind.ExpressionWithTypeArguments]: ["expression", "typeArguments"], + [SyntaxKind.TypePredicate]: ["assertsModifier", "parameterName", "type"], + [SyntaxKind.ImportType]: ["argument", "attributes", "qualifier", "typeArguments"], + [SyntaxKind.ImportAttribute]: ["name", "value"], + [SyntaxKind.TypeQuery]: ["exprName", "typeArguments"], + [SyntaxKind.MappedType]: ["readonlyToken", "typeParameter", "nameType", "questionToken", "type", "members"], + [SyntaxKind.NamedTupleMember]: ["dotDotDotToken", "name", "questionToken", "type"], + [SyntaxKind.FunctionType]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ConstructorType]: ["modifiers", "typeParameters", "parameters", "type"], + [SyntaxKind.TemplateLiteralType]: ["head", "templateSpans"], + [SyntaxKind.TemplateLiteralTypeSpan]: ["type", "literal"], + [SyntaxKind.JsxElement]: ["openingElement", "children", "closingElement"], + [SyntaxKind.JsxNamespacedName]: ["name", "namespace"], + [SyntaxKind.JsxOpeningElement]: ["tagName", "typeArguments", "attributes"], + [SyntaxKind.JsxSelfClosingElement]: ["tagName", "typeArguments", "attributes"], + [SyntaxKind.JsxFragment]: ["openingFragment", "children", "closingFragment"], + [SyntaxKind.JsxAttribute]: ["name", "initializer"], + [SyntaxKind.JsxExpression]: ["dotDotDotToken", "expression"], + [SyntaxKind.JSDoc]: ["comment", "tags"], + [SyntaxKind.JSDocTypeTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocTag]: ["tagName", "comment"], + [SyntaxKind.JSDocTemplateTag]: ["tagName", "constraint", "typeParameters", "comment"], + [SyntaxKind.JSDocReturnTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocPublicTag]: ["tagName", "comment"], + [SyntaxKind.JSDocPrivateTag]: ["tagName", "comment"], + [SyntaxKind.JSDocProtectedTag]: ["tagName", "comment"], + [SyntaxKind.JSDocReadonlyTag]: ["tagName", "comment"], + [SyntaxKind.JSDocOverrideTag]: ["tagName", "comment"], + [SyntaxKind.JSDocDeprecatedTag]: ["tagName", "comment"], + [SyntaxKind.JSDocSeeTag]: ["tagName", "nameExpression", "comment"], + [SyntaxKind.JSDocImplementsTag]: ["tagName", "className", "comment"], + [SyntaxKind.JSDocAugmentsTag]: ["tagName", "className", "comment"], + [SyntaxKind.JSDocSatisfiesTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocThisTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocImportTag]: ["tagName", "importClause", "moduleSpecifier", "attributes", "comment"], + [SyntaxKind.JSDocCallbackTag]: ["tagName", "typeExpression", "fullName", "comment"], + [SyntaxKind.JSDocOverloadTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocTypedefTag]: ["tagName", "typeExpression", "fullName", "comment"], + [SyntaxKind.JSDocSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ClassStaticBlockDeclaration]: ["modifiers", "body"], + [SyntaxKind.ClassDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], + + // Later properties are in variable order, needs special handling + [SyntaxKind.JSDocPropertyTag]: [undefined!, undefined!], + [SyntaxKind.JSDocParameterTag]: ["tagName", undefined!, undefined!, "comment"], +}; diff --git a/_api/src/base/node.ts b/_api/src/base/node.ts new file mode 100644 index 0000000000..ba834e5805 --- /dev/null +++ b/_api/src/base/node.ts @@ -0,0 +1,552 @@ +import { SyntaxKind } from "../syntaxKind.ts"; +import { + childProperties, + NodeChildMask, + type NodeDataType, + NodeDataTypeChildren, + NodeDataTypeMask, +} from "./decode.ts"; + +const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8]; + +const OFFSET_KIND = 0; +const OFFSET_POS = 1; +const OFFSET_END = 2; +const OFFSET_NEXT = 3; +const OFFSET_PARENT = 4; +const OFFSET_DATA = 5; +const NODE_LEN = 6; + +const KIND_NODE_LIST = 2 ** 32 - 1; + +export class NodeBase { + protected parent: Node; + protected view: DataView; + protected index: number; + /** Keys are positions */ + protected _children: Map | undefined; + + constructor(view: DataView, index: number, parent: Node) { + this.view = view; + this.index = index; + this.parent = parent; + } + + get kind(): SyntaxKind { + return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_KIND * 4, true); + } + + get pos(): number { + return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_POS * 4, true); + } + + get end(): number { + return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_END * 4, true); + } + + get next(): number { + return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_NEXT * 4, true); + } + + protected get parentIndex(): number { + return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_PARENT * 4, true); + } + + protected get data(): number { + return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_DATA * 4, true); + } + + protected get dataType(): NodeDataType { + return (this.data & NodeDataTypeMask) as NodeDataType; + } + + protected get childMask(): number { + if (this.dataType !== NodeDataTypeChildren) { + return 0; + } + return this.data & NodeChildMask; + } +} + +export class NodeList extends NodeBase implements Iterable { + get length(): number { + return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_DATA * 4, true); + } + + *[Symbol.iterator](): IterableIterator { + let next = this.index + 1; + while (next) { + const child = this.getOrCreateChildAtNodeIndex(next); + next = child.next; + yield child as Node; + } + } + + at(index: number): Node { + let next = this.index + 1; + for (let i = 0; i < index; i++) { + const child = this.getOrCreateChildAtNodeIndex(next); + next = child.next; + } + return this.getOrCreateChildAtNodeIndex(next) as Node; + } + + private getOrCreateChildAtNodeIndex(index: number): Node | NodeList { + const pos = this.view.getUint32(index * NODE_LEN * 4 + OFFSET_POS * 4, true); + let child = (this._children ??= new Map()).get(pos); + if (!child) { + const kind = this.view.getUint32(index * NODE_LEN * 4 + OFFSET_KIND * 4, true); + if (kind === KIND_NODE_LIST) { + throw new Error("NodeList cannot directly contain another NodeList"); + } + child = new Node(this.view, index, this.parent); + this._children.set(pos, child); + } + return child; + } +} + +export class Node extends NodeBase { + protected static NODE_LEN: number = NODE_LEN; + + forEachChild(visitor: (node: Node) => T): T | undefined { + if (this.hasChildren()) { + let next = this.index + 1; + do { + const child = this.getOrCreateChildAtNodeIndex(next); + if (child instanceof NodeList) { + for (const node of child) { + const result = visitor(node); + if (result) { + return result; + } + } + } + else { + const result = visitor(child); + if (result) { + return result; + } + } + next = child.next; + } + while (next); + } + } + + private getOrCreateChildAtNodeIndex(index: number): Node | NodeList { + const pos = this.view.getUint32(index * NODE_LEN * 4 + OFFSET_POS * 4, true); + let child = (this._children ??= new Map()).get(pos); + if (!child) { + const kind = this.view.getUint32(index * NODE_LEN * 4 + OFFSET_KIND * 4, true); + child = kind === KIND_NODE_LIST ? new NodeList(this.view, index, this) : new Node(this.view, index, this); + this._children.set(pos, child); + } + return child; + } + + private hasChildren(): boolean { + if (this._children) { + return true; + } + if (this.index === this.view.byteLength / (NODE_LEN * 4) - 1) { + return false; + } + const nextNodeParent = this.view.getUint32((this.index + 1) * NODE_LEN * 4 + OFFSET_PARENT * 4, true); + return nextNodeParent === this.index; + } + + private getNamedChild(propertyName: string): Node | NodeList | undefined { + const propertyNames = childProperties[this.kind]; + if (!propertyNames) { + // `childProperties` is only defined for nodes with more than one child property. + // Get the only child if it exists. + const child = this.getOrCreateChildAtNodeIndex(this.index + 1); + if (child.next !== 0) { + throw new Error("Expected only one child"); + } + return child; + } + + let order = propertyNames.indexOf(propertyName); + if (order === -1) { + // JSDocPropertyTag and JSDocParameterTag need special handling + // because they have a conditional property order + const kind = this.kind; + if (kind === SyntaxKind.JSDocPropertyTag) { + switch (propertyName) { + case "name": + order = this.isNameFirst ? 0 : 1; + break; + case "typeExpression": + order = this.isNameFirst ? 1 : 0; + break; + } + } + else if (kind === SyntaxKind.JSDocParameterTag) { + switch (propertyName) { + case "name": + order = this.isNameFirst ? 1 : 2; + case "typeExpression": + order = this.isNameFirst ? 2 : 1; + } + } + // Node kind does not have this property + return undefined; + } + const mask = this.childMask; + if (!(mask & (1 << order))) { + // Property is not present + return undefined; + } + + const propertyIndex = order - popcount8[mask & ((1 << order) - 1)]; + return this.getOrCreateChildAtNodeIndex(this.index + 1 + propertyIndex); + } + + // Boolean properties + get isArrayType(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocTypeLiteral: + return (this.data & 1 << 24) !== 0; + } + } + + get isTypeOnly(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ImportSpecifier: + case SyntaxKind.ImportClause: + case SyntaxKind.ExportSpecifier: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ExportDeclaration: + return (this.data & 1 << 24) !== 0; + } + } + + get isTypeOf(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ImportType: + return (this.data & 1 << 24) !== 0; + } + } + + get multiline(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.Block: + case SyntaxKind.ArrayLiteralExpression: + case SyntaxKind.ObjectLiteralExpression: + case SyntaxKind.ImportAttributes: + return (this.data & 1 << 24) !== 0; + } + } + + get isExportEquals(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ExportAssignment: + return (this.data & 1 << 24) !== 0; + } + } + + get isBracketed(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocPropertyTag: + case SyntaxKind.JSDocParameterTag: + return (this.data & 1 << 24) !== 0; + } + } + + get containsOnlyTriviaWhiteSpaces(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JsxText: + return (this.data & 1 << 24) !== 0; + } + } + + get isNameFirst(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocPropertyTag: + case SyntaxKind.JSDocParameterTag: + return (this.data & 1 << 25) !== 0; + } + } + + // Children properties + get argument(): Node | undefined { + return this.getNamedChild("argument") as Node; + } + get argumentExpression(): Node | undefined { + return this.getNamedChild("argumentExpression") as Node; + } + get arguments(): NodeList | undefined { + return this.getNamedChild("arguments") as NodeList; + } + get assertsModifier(): Node | undefined { + return this.getNamedChild("assertsModifier") as Node; + } + get asteriskToken(): Node | undefined { + return this.getNamedChild("asteriskToken") as Node; + } + get attributes(): Node | undefined { + return this.getNamedChild("attributes") as Node; + } + get awaitModifier(): Node | undefined { + return this.getNamedChild("awaitModifier") as Node; + } + get block(): Node | undefined { + return this.getNamedChild("block") as Node; + } + get body(): Node | undefined { + return this.getNamedChild("body") as Node; + } + get caseBlock(): Node | undefined { + return this.getNamedChild("caseBlock") as Node; + } + get catchClause(): Node | undefined { + return this.getNamedChild("catchClause") as Node; + } + get checkType(): Node | undefined { + return this.getNamedChild("checkType") as Node; + } + get children(): NodeList | undefined { + return this.getNamedChild("children") as NodeList; + } + get className(): Node | undefined { + return this.getNamedChild("className") as Node; + } + get closingElement(): Node | undefined { + return this.getNamedChild("closingElement") as Node; + } + get closingFragment(): Node | undefined { + return this.getNamedChild("closingFragment") as Node; + } + get colonToken(): Node | undefined { + return this.getNamedChild("colonToken") as Node; + } + get comment(): Node | undefined { + return this.getNamedChild("comment") as Node; + } + get condition(): Node | undefined { + return this.getNamedChild("condition") as Node; + } + get constraint(): Node | undefined { + return this.getNamedChild("constraint") as Node; + } + get declarationList(): Node | undefined { + return this.getNamedChild("declarationList") as Node; + } + get defaultType(): Node | undefined { + return this.getNamedChild("defaultType") as Node; + } + get dotDotDotToken(): Node | undefined { + return this.getNamedChild("dotDotDotToken") as Node; + } + get elseStatement(): Node | undefined { + return this.getNamedChild("elseStatement") as Node; + } + get equalsGreaterThanToken(): Node | undefined { + return this.getNamedChild("equalsGreaterThanToken") as Node; + } + get equalsToken(): Node | undefined { + return this.getNamedChild("equalsToken") as Node; + } + get exclamationToken(): Node | undefined { + return this.getNamedChild("exclamationToken") as Node; + } + get exportClause(): Node | undefined { + return this.getNamedChild("exportClause") as Node; + } + get expression(): Node | undefined { + return this.getNamedChild("expression") as Node; + } + get exprName(): Node | undefined { + return this.getNamedChild("exprName") as Node; + } + get extendsType(): Node | undefined { + return this.getNamedChild("extendsType") as Node; + } + get falseType(): Node | undefined { + return this.getNamedChild("falseType") as Node; + } + get finallyBlock(): Node | undefined { + return this.getNamedChild("finallyBlock") as Node; + } + get fullName(): Node | undefined { + return this.getNamedChild("fullName") as Node; + } + get head(): Node | undefined { + return this.getNamedChild("head") as Node; + } + get heritageClauses(): NodeList | undefined { + return this.getNamedChild("heritageClauses") as NodeList; + } + get importClause(): Node | undefined { + return this.getNamedChild("importClause") as Node; + } + get incrementor(): Node | undefined { + return this.getNamedChild("incrementor") as Node; + } + get indexType(): Node | undefined { + return this.getNamedChild("indexType") as Node; + } + get initializer(): Node | undefined { + return this.getNamedChild("initializer") as Node; + } + get label(): Node | undefined { + return this.getNamedChild("label") as Node; + } + get left(): Node | undefined { + return this.getNamedChild("left") as Node; + } + get literal(): Node | undefined { + return this.getNamedChild("literal") as Node; + } + get members(): NodeList | undefined { + return this.getNamedChild("members") as NodeList; + } + get modifiers(): NodeList | undefined { + return this.getNamedChild("modifiers") as NodeList; + } + get moduleReference(): Node | undefined { + return this.getNamedChild("moduleReference") as Node; + } + get moduleSpecifier(): Node | undefined { + return this.getNamedChild("moduleSpecifier") as Node; + } + get name(): Node | undefined { + return this.getNamedChild("name") as Node; + } + get namedBindings(): Node | undefined { + return this.getNamedChild("namedBindings") as Node; + } + get nameExpression(): Node | undefined { + return this.getNamedChild("nameExpression") as Node; + } + get namespace(): Node | undefined { + return this.getNamedChild("namespace") as Node; + } + get nameType(): Node | undefined { + return this.getNamedChild("nameType") as Node; + } + get objectAssignmentInitializer(): Node | undefined { + return this.getNamedChild("objectAssignmentInitializer") as Node; + } + get objectType(): Node | undefined { + return this.getNamedChild("objectType") as Node; + } + get openingElement(): Node | undefined { + return this.getNamedChild("openingElement") as Node; + } + get openingFragment(): Node | undefined { + return this.getNamedChild("openingFragment") as Node; + } + get operatorToken(): Node | undefined { + return this.getNamedChild("operatorToken") as Node; + } + get parameterName(): Node | undefined { + return this.getNamedChild("parameterName") as Node; + } + get parameters(): NodeList | undefined { + return this.getNamedChild("parameters") as NodeList; + } + get postfixToken(): Node | undefined { + return this.getNamedChild("postfixToken") as Node; + } + get propertyName(): Node | undefined { + return this.getNamedChild("propertyName") as Node; + } + get qualifier(): Node | undefined { + return this.getNamedChild("qualifier") as Node; + } + get questionDotToken(): Node | undefined { + return this.getNamedChild("questionDotToken") as Node; + } + get questionToken(): Node | undefined { + return this.getNamedChild("questionToken") as Node; + } + get readonlyToken(): Node | undefined { + return this.getNamedChild("readonlyToken") as Node; + } + get right(): Node | undefined { + return this.getNamedChild("right") as Node; + } + get statement(): Node | undefined { + return this.getNamedChild("statement") as Node; + } + get statements(): NodeList | undefined { + return this.getNamedChild("statements") as NodeList; + } + get tag(): Node | undefined { + return this.getNamedChild("tag") as Node; + } + get tagName(): Node | undefined { + return this.getNamedChild("tagName") as Node; + } + get tags(): NodeList | undefined { + return this.getNamedChild("tags") as NodeList; + } + get template(): Node | undefined { + return this.getNamedChild("template") as Node; + } + get templateSpans(): NodeList | undefined { + return this.getNamedChild("templateSpans") as NodeList; + } + get thenStatement(): Node | undefined { + return this.getNamedChild("thenStatement") as Node; + } + get trueType(): Node | undefined { + return this.getNamedChild("trueType") as Node; + } + get tryBlock(): Node | undefined { + return this.getNamedChild("tryBlock") as Node; + } + get type(): Node | undefined { + return this.getNamedChild("type") as Node; + } + get typeArguments(): Node | undefined { + return this.getNamedChild("typeArguments") as Node; + } + get typeExpression(): Node | undefined { + return this.getNamedChild("typeExpression") as Node; + } + get typeName(): Node | undefined { + return this.getNamedChild("typeName") as Node; + } + get typeParameter(): Node | undefined { + return this.getNamedChild("typeParameter") as Node; + } + get typeParameters(): NodeList | undefined { + return this.getNamedChild("typeParameters") as NodeList; + } + get value(): Node | undefined { + return this.getNamedChild("value") as Node; + } + get variableDeclaration(): Node | undefined { + return this.getNamedChild("variableDeclaration") as Node; + } + get whenFalse(): Node | undefined { + return this.getNamedChild("whenFalse") as Node; + } + get whenTrue(): Node | undefined { + return this.getNamedChild("whenTrue") as Node; + } + + // Other properties + get flags(): number { + switch (this.kind) { + case SyntaxKind.VariableDeclarationList: + return this.data & (1 << 24 | 1 << 25) >> 24; + default: + return 0; + } + } + + get token(): SyntaxKind | undefined { + switch (this.kind) { + case SyntaxKind.ImportAttributes: + if ((this.data & 1 << 25) !== 0) { + return SyntaxKind.AssertKeyword; + } + return SyntaxKind.WithKeyword; + } + } +} diff --git a/_api/src/sf.ts b/_api/src/sf.ts new file mode 100644 index 0000000000..3d74e4923c --- /dev/null +++ b/_api/src/sf.ts @@ -0,0 +1,26 @@ +import { dirname } from "node:path"; +import { API } from "./sync/api.ts"; +import { SyntaxKind } from "./syntaxKind.ts"; + +const api = new API({ + tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, + cwd: dirname(new URL(import.meta.url).pathname), +}); + +const project = api.loadProject("../../../TypeScript/src/compiler/tsconfig.json"); + +console.time("getSourceFile"); +const file = project.getSourceFile("corePublic.ts")!; +console.timeEnd("getSourceFile"); +console.log(""); + +console.log("node count:", file.nodeCount()); +console.log(); + +console.log(file.statements!.at(0).declarationList); + +// console.log(SyntaxKind[file.kind], file.pos, file.end); +// file.forEachChild(function visitNode(node, depth = 0) { +// console.log(" ".repeat(depth), SyntaxKind[node.kind] ?? "(NodeList)", node.pos, node.end); +// node.forEachChild(child => visitNode(child, depth + 1)); +// }); diff --git a/_api/src/sync/api.ts b/_api/src/sync/api.ts index fc1b334505..95286c8bf3 100644 --- a/_api/src/sync/api.ts +++ b/_api/src/sync/api.ts @@ -1,7 +1,8 @@ -import type { APIOptions as BaseAPIOptions } from "../base/api.ts"; import { type API as BaseAPI, + type APIOptions as BaseAPIOptions, Project as BaseProject, + SourceFile as BaseSourceFile, Symbol as BaseSymbol, Type as BaseType, } from "../base/api.ts"; @@ -79,12 +80,27 @@ export class Project extends BaseProject { this.loadData(this.client.request("loadProject", { configFileName: this.configFileName })); } + getSourceFile(fileName: string): SourceFile | undefined { + const data = this.client.requestBinary("getSourceFile", { project: this.configFileName, fileName }); + return data ? new SourceFile(this.client, this, data) : undefined; + } + getSymbolAtPosition(fileName: string, position: number): Symbol | undefined { const data = this.client.request("getSymbolAtPosition", { project: this.configFileName, fileName, position }); return data ? new Symbol(this.client, this, data) : undefined; } } +export class SourceFile extends BaseSourceFile { + private client: Client; + private project: Project; + constructor(client: Client, project: Project, data: Buffer) { + super(data); + this.client = client; + this.project = project; + } +} + export class Symbol extends BaseSymbol { private client: Client; private project: Project; diff --git a/_api/src/sync/client.ts b/_api/src/sync/client.ts index 4386d5b032..5951145fdb 100644 --- a/_api/src/sync/client.ts +++ b/_api/src/sync/client.ts @@ -28,6 +28,10 @@ export class Client { return JSON.parse(this.channel.requestSync(method, JSON.stringify(payload))); } + requestBinary(method: string, payload: any): Buffer { + return this.channel.requestBinarySync(method, JSON.stringify(payload)); + } + close(): void { this.channel.murderInColdBlood(); } diff --git a/_api/src/syntaxKind.ts b/_api/src/syntaxKind.ts new file mode 100644 index 0000000000..babd694af4 --- /dev/null +++ b/_api/src/syntaxKind.ts @@ -0,0 +1,706 @@ +export type SyntaxKind = number; +const syntaxKind = { + Unknown: 0, + EndOfFile: 1, + SingleLineCommentTrivia: 2, + MultiLineCommentTrivia: 3, + NewLineTrivia: 4, + WhitespaceTrivia: 5, + ConflictMarkerTrivia: 6, + NonTextFileMarkerTrivia: 7, + NumericLiteral: 8, + BigIntLiteral: 9, + StringLiteral: 10, + JsxText: 11, + JsxTextAllWhiteSpaces: 12, + RegularExpressionLiteral: 13, + NoSubstitutionTemplateLiteral: 14, + TemplateHead: 15, + TemplateMiddle: 16, + TemplateTail: 17, + OpenBraceToken: 18, + CloseBraceToken: 19, + OpenParenToken: 20, + CloseParenToken: 21, + OpenBracketToken: 22, + CloseBracketToken: 23, + DotToken: 24, + DotDotDotToken: 25, + SemicolonToken: 26, + CommaToken: 27, + QuestionDotToken: 28, + LessThanToken: 29, + LessThanSlashToken: 30, + GreaterThanToken: 31, + LessThanEqualsToken: 32, + GreaterThanEqualsToken: 33, + EqualsEqualsToken: 34, + ExclamationEqualsToken: 35, + EqualsEqualsEqualsToken: 36, + ExclamationEqualsEqualsToken: 37, + EqualsGreaterThanToken: 38, + PlusToken: 39, + MinusToken: 40, + AsteriskToken: 41, + AsteriskAsteriskToken: 42, + SlashToken: 43, + PercentToken: 44, + PlusPlusToken: 45, + MinusMinusToken: 46, + LessThanLessThanToken: 47, + GreaterThanGreaterThanToken: 48, + GreaterThanGreaterThanGreaterThanToken: 49, + AmpersandToken: 50, + BarToken: 51, + CaretToken: 52, + ExclamationToken: 53, + TildeToken: 54, + AmpersandAmpersandToken: 55, + BarBarToken: 56, + QuestionToken: 57, + ColonToken: 58, + AtToken: 59, + QuestionQuestionToken: 60, + BacktickToken: 61, + HashToken: 62, + EqualsToken: 63, + PlusEqualsToken: 64, + MinusEqualsToken: 65, + AsteriskEqualsToken: 66, + AsteriskAsteriskEqualsToken: 67, + SlashEqualsToken: 68, + PercentEqualsToken: 69, + LessThanLessThanEqualsToken: 70, + GreaterThanGreaterThanEqualsToken: 71, + GreaterThanGreaterThanGreaterThanEqualsToken: 72, + AmpersandEqualsToken: 73, + BarEqualsToken: 74, + BarBarEqualsToken: 75, + AmpersandAmpersandEqualsToken: 76, + QuestionQuestionEqualsToken: 77, + CaretEqualsToken: 78, + Identifier: 79, + PrivateIdentifier: 80, + JSDocCommentTextToken: 81, + BreakKeyword: 82, + CaseKeyword: 83, + CatchKeyword: 84, + ClassKeyword: 85, + ConstKeyword: 86, + ContinueKeyword: 87, + DebuggerKeyword: 88, + DefaultKeyword: 89, + DeleteKeyword: 90, + DoKeyword: 91, + ElseKeyword: 92, + EnumKeyword: 93, + ExportKeyword: 94, + ExtendsKeyword: 95, + FalseKeyword: 96, + FinallyKeyword: 97, + ForKeyword: 98, + FunctionKeyword: 99, + IfKeyword: 100, + ImportKeyword: 101, + InKeyword: 102, + InstanceOfKeyword: 103, + NewKeyword: 104, + NullKeyword: 105, + ReturnKeyword: 106, + SuperKeyword: 107, + SwitchKeyword: 108, + ThisKeyword: 109, + ThrowKeyword: 110, + TrueKeyword: 111, + TryKeyword: 112, + TypeOfKeyword: 113, + VarKeyword: 114, + VoidKeyword: 115, + WhileKeyword: 116, + WithKeyword: 117, + ImplementsKeyword: 118, + InterfaceKeyword: 119, + LetKeyword: 120, + PackageKeyword: 121, + PrivateKeyword: 122, + ProtectedKeyword: 123, + PublicKeyword: 124, + StaticKeyword: 125, + YieldKeyword: 126, + AbstractKeyword: 127, + AccessorKeyword: 128, + AsKeyword: 129, + AssertsKeyword: 130, + AssertKeyword: 131, + AnyKeyword: 132, + AsyncKeyword: 133, + AwaitKeyword: 134, + BooleanKeyword: 135, + ConstructorKeyword: 136, + DeclareKeyword: 137, + GetKeyword: 138, + ImmediateKeyword: 139, + InferKeyword: 140, + IntrinsicKeyword: 141, + IsKeyword: 142, + KeyOfKeyword: 143, + ModuleKeyword: 144, + NamespaceKeyword: 145, + NeverKeyword: 146, + OutKeyword: 147, + ReadonlyKeyword: 148, + RequireKeyword: 149, + NumberKeyword: 150, + ObjectKeyword: 151, + SatisfiesKeyword: 152, + SetKeyword: 153, + StringKeyword: 154, + SymbolKeyword: 155, + TypeKeyword: 156, + UndefinedKeyword: 157, + UniqueKeyword: 158, + UnknownKeyword: 159, + UsingKeyword: 160, + FromKeyword: 161, + GlobalKeyword: 162, + BigIntKeyword: 163, + OverrideKeyword: 164, + OfKeyword: 165, + QualifiedName: 166, + ComputedPropertyName: 167, + TypeParameter: 168, + Parameter: 169, + Decorator: 170, + PropertySignature: 171, + PropertyDeclaration: 172, + MethodSignature: 173, + MethodDeclaration: 174, + ClassStaticBlockDeclaration: 175, + Constructor: 176, + GetAccessor: 177, + SetAccessor: 178, + CallSignature: 179, + ConstructSignature: 180, + IndexSignature: 181, + TypePredicate: 182, + TypeReference: 183, + FunctionType: 184, + ConstructorType: 185, + TypeQuery: 186, + TypeLiteral: 187, + ArrayType: 188, + TupleType: 189, + OptionalType: 190, + RestType: 191, + UnionType: 192, + IntersectionType: 193, + ConditionalType: 194, + InferType: 195, + ParenthesizedType: 196, + ThisType: 197, + TypeOperator: 198, + IndexedAccessType: 199, + MappedType: 200, + LiteralType: 201, + NamedTupleMember: 202, + TemplateLiteralType: 203, + TemplateLiteralTypeSpan: 204, + ImportType: 205, + ObjectBindingPattern: 206, + ArrayBindingPattern: 207, + BindingElement: 208, + ArrayLiteralExpression: 209, + ObjectLiteralExpression: 210, + PropertyAccessExpression: 211, + ElementAccessExpression: 212, + CallExpression: 213, + NewExpression: 214, + TaggedTemplateExpression: 215, + TypeAssertionExpression: 216, + ParenthesizedExpression: 217, + FunctionExpression: 218, + ArrowFunction: 219, + DeleteExpression: 220, + TypeOfExpression: 221, + VoidExpression: 222, + AwaitExpression: 223, + PrefixUnaryExpression: 224, + PostfixUnaryExpression: 225, + BinaryExpression: 226, + ConditionalExpression: 227, + TemplateExpression: 228, + YieldExpression: 229, + SpreadElement: 230, + ClassExpression: 231, + OmittedExpression: 232, + ExpressionWithTypeArguments: 233, + AsExpression: 234, + NonNullExpression: 235, + MetaProperty: 236, + SyntheticExpression: 237, + SatisfiesExpression: 238, + TemplateSpan: 239, + SemicolonClassElement: 240, + Block: 241, + EmptyStatement: 242, + VariableStatement: 243, + ExpressionStatement: 244, + IfStatement: 245, + DoStatement: 246, + WhileStatement: 247, + ForStatement: 248, + ForInStatement: 249, + ForOfStatement: 250, + ContinueStatement: 251, + BreakStatement: 252, + ReturnStatement: 253, + WithStatement: 254, + SwitchStatement: 255, + LabeledStatement: 256, + ThrowStatement: 257, + TryStatement: 258, + DebuggerStatement: 259, + VariableDeclaration: 260, + VariableDeclarationList: 261, + FunctionDeclaration: 262, + ClassDeclaration: 263, + InterfaceDeclaration: 264, + TypeAliasDeclaration: 265, + EnumDeclaration: 266, + ModuleDeclaration: 267, + ModuleBlock: 268, + CaseBlock: 269, + NamespaceExportDeclaration: 270, + ImportEqualsDeclaration: 271, + ImportDeclaration: 272, + ImportClause: 273, + NamespaceImport: 274, + NamedImports: 275, + ImportSpecifier: 276, + ExportAssignment: 277, + ExportDeclaration: 278, + NamedExports: 279, + NamespaceExport: 280, + ExportSpecifier: 281, + MissingDeclaration: 282, + ExternalModuleReference: 283, + JsxElement: 284, + JsxSelfClosingElement: 285, + JsxOpeningElement: 286, + JsxClosingElement: 287, + JsxFragment: 288, + JsxOpeningFragment: 289, + JsxClosingFragment: 290, + JsxAttribute: 291, + JsxAttributes: 292, + JsxSpreadAttribute: 293, + JsxExpression: 294, + JsxNamespacedName: 295, + CaseClause: 296, + DefaultClause: 297, + HeritageClause: 298, + CatchClause: 299, + ImportAttributes: 300, + ImportAttribute: 301, + PropertyAssignment: 302, + ShorthandPropertyAssignment: 303, + SpreadAssignment: 304, + EnumMember: 305, + SourceFile: 306, + Bundle: 307, + JSDocTypeExpression: 308, + JSDocNameReference: 309, + JSDocMemberName: 310, + JSDocAllType: 311, + JSDocNullableType: 312, + JSDocNonNullableType: 313, + JSDocOptionalType: 314, + JSDocVariadicType: 315, + JSDoc: 316, + JSDocText: 317, + JSDocTypeLiteral: 318, + JSDocSignature: 319, + JSDocLink: 320, + JSDocLinkCode: 321, + JSDocLinkPlain: 322, + JSDocTag: 323, + JSDocAugmentsTag: 324, + JSDocImplementsTag: 325, + JSDocDeprecatedTag: 326, + JSDocPublicTag: 327, + JSDocPrivateTag: 328, + JSDocProtectedTag: 329, + JSDocReadonlyTag: 330, + JSDocOverrideTag: 331, + JSDocCallbackTag: 332, + JSDocOverloadTag: 333, + JSDocParameterTag: 334, + JSDocReturnTag: 335, + JSDocThisTag: 336, + JSDocTypeTag: 337, + JSDocTemplateTag: 338, + JSDocTypedefTag: 339, + JSDocSeeTag: 340, + JSDocPropertyTag: 341, + JSDocSatisfiesTag: 342, + JSDocImportTag: 343, + SyntaxList: 344, + NotEmittedStatement: 345, + PartiallyEmittedExpression: 346, + CommaListExpression: 347, + SyntheticReferenceExpression: 348, + Count: 349, + + [0]: "Unknown", + [1]: "EndOfFile", + [2]: "SingleLineCommentTrivia", + [3]: "MultiLineCommentTrivia", + [4]: "NewLineTrivia", + [5]: "WhitespaceTrivia", + [6]: "ConflictMarkerTrivia", + [7]: "NonTextFileMarkerTrivia", + [8]: "NumericLiteral", + [9]: "BigIntLiteral", + [10]: "StringLiteral", + [11]: "JsxText", + [12]: "JsxTextAllWhiteSpaces", + [13]: "RegularExpressionLiteral", + [14]: "NoSubstitutionTemplateLiteral", + [15]: "TemplateHead", + [16]: "TemplateMiddle", + [17]: "TemplateTail", + [18]: "OpenBraceToken", + [19]: "CloseBraceToken", + [20]: "OpenParenToken", + [21]: "CloseParenToken", + [22]: "OpenBracketToken", + [23]: "CloseBracketToken", + [24]: "DotToken", + [25]: "DotDotDotToken", + [26]: "SemicolonToken", + [27]: "CommaToken", + [28]: "QuestionDotToken", + [29]: "LessThanToken", + [30]: "LessThanSlashToken", + [31]: "GreaterThanToken", + [32]: "LessThanEqualsToken", + [33]: "GreaterThanEqualsToken", + [34]: "EqualsEqualsToken", + [35]: "ExclamationEqualsToken", + [36]: "EqualsEqualsEqualsToken", + [37]: "ExclamationEqualsEqualsToken", + [38]: "EqualsGreaterThanToken", + [39]: "PlusToken", + [40]: "MinusToken", + [41]: "AsteriskToken", + [42]: "AsteriskAsteriskToken", + [43]: "SlashToken", + [44]: "PercentToken", + [45]: "PlusPlusToken", + [46]: "MinusMinusToken", + [47]: "LessThanLessThanToken", + [48]: "GreaterThanGreaterThanToken", + [49]: "GreaterThanGreaterThanGreaterThanToken", + [50]: "AmpersandToken", + [51]: "BarToken", + [52]: "CaretToken", + [53]: "ExclamationToken", + [54]: "TildeToken", + [55]: "AmpersandAmpersandToken", + [56]: "BarBarToken", + [57]: "QuestionToken", + [58]: "ColonToken", + [59]: "AtToken", + [60]: "QuestionQuestionToken", + [61]: "BacktickToken", + [62]: "HashToken", + [63]: "EqualsToken", + [64]: "PlusEqualsToken", + [65]: "MinusEqualsToken", + [66]: "AsteriskEqualsToken", + [67]: "AsteriskAsteriskEqualsToken", + [68]: "SlashEqualsToken", + [69]: "PercentEqualsToken", + [70]: "LessThanLessThanEqualsToken", + [71]: "GreaterThanGreaterThanEqualsToken", + [72]: "GreaterThanGreaterThanGreaterThanEqualsToken", + [73]: "AmpersandEqualsToken", + [74]: "BarEqualsToken", + [75]: "BarBarEqualsToken", + [76]: "AmpersandAmpersandEqualsToken", + [77]: "QuestionQuestionEqualsToken", + [78]: "CaretEqualsToken", + [79]: "Identifier", + [80]: "PrivateIdentifier", + [81]: "JSDocCommentTextToken", + [82]: "BreakKeyword", + [83]: "CaseKeyword", + [84]: "CatchKeyword", + [85]: "ClassKeyword", + [86]: "ConstKeyword", + [87]: "ContinueKeyword", + [88]: "DebuggerKeyword", + [89]: "DefaultKeyword", + [90]: "DeleteKeyword", + [91]: "DoKeyword", + [92]: "ElseKeyword", + [93]: "EnumKeyword", + [94]: "ExportKeyword", + [95]: "ExtendsKeyword", + [96]: "FalseKeyword", + [97]: "FinallyKeyword", + [98]: "ForKeyword", + [99]: "FunctionKeyword", + [100]: "IfKeyword", + [101]: "ImportKeyword", + [102]: "InKeyword", + [103]: "InstanceOfKeyword", + [104]: "NewKeyword", + [105]: "NullKeyword", + [106]: "ReturnKeyword", + [107]: "SuperKeyword", + [108]: "SwitchKeyword", + [109]: "ThisKeyword", + [110]: "ThrowKeyword", + [111]: "TrueKeyword", + [112]: "TryKeyword", + [113]: "TypeOfKeyword", + [114]: "VarKeyword", + [115]: "VoidKeyword", + [116]: "WhileKeyword", + [117]: "WithKeyword", + [118]: "ImplementsKeyword", + [119]: "InterfaceKeyword", + [120]: "LetKeyword", + [121]: "PackageKeyword", + [122]: "PrivateKeyword", + [123]: "ProtectedKeyword", + [124]: "PublicKeyword", + [125]: "StaticKeyword", + [126]: "YieldKeyword", + [127]: "AbstractKeyword", + [128]: "AccessorKeyword", + [129]: "AsKeyword", + [130]: "AssertsKeyword", + [131]: "AssertKeyword", + [132]: "AnyKeyword", + [133]: "AsyncKeyword", + [134]: "AwaitKeyword", + [135]: "BooleanKeyword", + [136]: "ConstructorKeyword", + [137]: "DeclareKeyword", + [138]: "GetKeyword", + [139]: "ImmediateKeyword", + [140]: "InferKeyword", + [141]: "IntrinsicKeyword", + [142]: "IsKeyword", + [143]: "KeyOfKeyword", + [144]: "ModuleKeyword", + [145]: "NamespaceKeyword", + [146]: "NeverKeyword", + [147]: "OutKeyword", + [148]: "ReadonlyKeyword", + [149]: "RequireKeyword", + [150]: "NumberKeyword", + [151]: "ObjectKeyword", + [152]: "SatisfiesKeyword", + [153]: "SetKeyword", + [154]: "StringKeyword", + [155]: "SymbolKeyword", + [156]: "TypeKeyword", + [157]: "UndefinedKeyword", + [158]: "UniqueKeyword", + [159]: "UnknownKeyword", + [160]: "UsingKeyword", + [161]: "FromKeyword", + [162]: "GlobalKeyword", + [163]: "BigIntKeyword", + [164]: "OverrideKeyword", + [165]: "OfKeyword", + [166]: "QualifiedName", + [167]: "ComputedPropertyName", + [168]: "TypeParameter", + [169]: "Parameter", + [170]: "Decorator", + [171]: "PropertySignature", + [172]: "PropertyDeclaration", + [173]: "MethodSignature", + [174]: "MethodDeclaration", + [175]: "ClassStaticBlockDeclaration", + [176]: "Constructor", + [177]: "GetAccessor", + [178]: "SetAccessor", + [179]: "CallSignature", + [180]: "ConstructSignature", + [181]: "IndexSignature", + [182]: "TypePredicate", + [183]: "TypeReference", + [184]: "FunctionType", + [185]: "ConstructorType", + [186]: "TypeQuery", + [187]: "TypeLiteral", + [188]: "ArrayType", + [189]: "TupleType", + [190]: "OptionalType", + [191]: "RestType", + [192]: "UnionType", + [193]: "IntersectionType", + [194]: "ConditionalType", + [195]: "InferType", + [196]: "ParenthesizedType", + [197]: "ThisType", + [198]: "TypeOperator", + [199]: "IndexedAccessType", + [200]: "MappedType", + [201]: "LiteralType", + [202]: "NamedTupleMember", + [203]: "TemplateLiteralType", + [204]: "TemplateLiteralTypeSpan", + [205]: "ImportType", + [206]: "ObjectBindingPattern", + [207]: "ArrayBindingPattern", + [208]: "BindingElement", + [209]: "ArrayLiteralExpression", + [210]: "ObjectLiteralExpression", + [211]: "PropertyAccessExpression", + [212]: "ElementAccessExpression", + [213]: "CallExpression", + [214]: "NewExpression", + [215]: "TaggedTemplateExpression", + [216]: "TypeAssertionExpression", + [217]: "ParenthesizedExpression", + [218]: "FunctionExpression", + [219]: "ArrowFunction", + [220]: "DeleteExpression", + [221]: "TypeOfExpression", + [222]: "VoidExpression", + [223]: "AwaitExpression", + [224]: "PrefixUnaryExpression", + [225]: "PostfixUnaryExpression", + [226]: "BinaryExpression", + [227]: "ConditionalExpression", + [228]: "TemplateExpression", + [229]: "YieldExpression", + [230]: "SpreadElement", + [231]: "ClassExpression", + [232]: "OmittedExpression", + [233]: "ExpressionWithTypeArguments", + [234]: "AsExpression", + [235]: "NonNullExpression", + [236]: "MetaProperty", + [237]: "SyntheticExpression", + [238]: "SatisfiesExpression", + [239]: "TemplateSpan", + [240]: "SemicolonClassElement", + [241]: "Block", + [242]: "EmptyStatement", + [243]: "VariableStatement", + [244]: "ExpressionStatement", + [245]: "IfStatement", + [246]: "DoStatement", + [247]: "WhileStatement", + [248]: "ForStatement", + [249]: "ForInStatement", + [250]: "ForOfStatement", + [251]: "ContinueStatement", + [252]: "BreakStatement", + [253]: "ReturnStatement", + [254]: "WithStatement", + [255]: "SwitchStatement", + [256]: "LabeledStatement", + [257]: "ThrowStatement", + [258]: "TryStatement", + [259]: "DebuggerStatement", + [260]: "VariableDeclaration", + [261]: "VariableDeclarationList", + [262]: "FunctionDeclaration", + [263]: "ClassDeclaration", + [264]: "InterfaceDeclaration", + [265]: "TypeAliasDeclaration", + [266]: "EnumDeclaration", + [267]: "ModuleDeclaration", + [268]: "ModuleBlock", + [269]: "CaseBlock", + [270]: "NamespaceExportDeclaration", + [271]: "ImportEqualsDeclaration", + [272]: "ImportDeclaration", + [273]: "ImportClause", + [274]: "NamespaceImport", + [275]: "NamedImports", + [276]: "ImportSpecifier", + [277]: "ExportAssignment", + [278]: "ExportDeclaration", + [279]: "NamedExports", + [280]: "NamespaceExport", + [281]: "ExportSpecifier", + [282]: "MissingDeclaration", + [283]: "ExternalModuleReference", + [284]: "JsxElement", + [285]: "JsxSelfClosingElement", + [286]: "JsxOpeningElement", + [287]: "JsxClosingElement", + [288]: "JsxFragment", + [289]: "JsxOpeningFragment", + [290]: "JsxClosingFragment", + [291]: "JsxAttribute", + [292]: "JsxAttributes", + [293]: "JsxSpreadAttribute", + [294]: "JsxExpression", + [295]: "JsxNamespacedName", + [296]: "CaseClause", + [297]: "DefaultClause", + [298]: "HeritageClause", + [299]: "CatchClause", + [300]: "ImportAttributes", + [301]: "ImportAttribute", + [302]: "PropertyAssignment", + [303]: "ShorthandPropertyAssignment", + [304]: "SpreadAssignment", + [305]: "EnumMember", + [306]: "SourceFile", + [307]: "Bundle", + [308]: "JSDocTypeExpression", + [309]: "JSDocNameReference", + [310]: "JSDocMemberName", + [311]: "JSDocAllType", + [312]: "JSDocNullableType", + [313]: "JSDocNonNullableType", + [314]: "JSDocOptionalType", + [315]: "JSDocVariadicType", + [316]: "JSDoc", + [317]: "JSDocText", + [318]: "JSDocTypeLiteral", + [319]: "JSDocSignature", + [320]: "JSDocLink", + [321]: "JSDocLinkCode", + [322]: "JSDocLinkPlain", + [323]: "JSDocTag", + [324]: "JSDocAugmentsTag", + [325]: "JSDocImplementsTag", + [326]: "JSDocDeprecatedTag", + [327]: "JSDocPublicTag", + [328]: "JSDocPrivateTag", + [329]: "JSDocProtectedTag", + [330]: "JSDocReadonlyTag", + [331]: "JSDocOverrideTag", + [332]: "JSDocCallbackTag", + [333]: "JSDocOverloadTag", + [334]: "JSDocParameterTag", + [335]: "JSDocReturnTag", + [336]: "JSDocThisTag", + [337]: "JSDocTypeTag", + [338]: "JSDocTemplateTag", + [339]: "JSDocTypedefTag", + [340]: "JSDocSeeTag", + [341]: "JSDocPropertyTag", + [342]: "JSDocSatisfiesTag", + [343]: "JSDocImportTag", + [344]: "SyntaxList", + [345]: "NotEmittedStatement", + [346]: "PartiallyEmittedExpression", + [347]: "CommaListExpression", + [348]: "SyntheticReferenceExpression", + [349]: "Count", +} as const; + +export const SyntaxKind = syntaxKind as typeof syntaxKind & { readonly [k: number]: string; }; diff --git a/checker.ast b/checker.ast new file mode 100644 index 0000000000..74c8b30d63 --- /dev/null +++ b/checker.ast @@ -0,0 +1,290257 @@ +getSourceFile: 92.398ms + +node count: 290253 + +SourceFile 0 3079404 + ImportDeclaration 0 29775 + ImportClause 6 29747 + NamedImports 6 29747 + ImportSpecifier 8 22 + Identifier 8 22 + ImportSpecifier 23 45 + Identifier 23 45 + ImportSpecifier 46 63 + Identifier 46 63 + ImportSpecifier 64 89 + Identifier 64 89 + ImportSpecifier 90 104 + Identifier 90 104 + ImportSpecifier 105 125 + Identifier 105 125 + ImportSpecifier 126 158 + Identifier 126 158 + ImportSpecifier 159 192 + Identifier 159 192 + ImportSpecifier 193 219 + Identifier 193 219 + ImportSpecifier 220 249 + Identifier 220 249 + ImportSpecifier 250 280 + Identifier 250 280 + ImportSpecifier 281 290 + Identifier 281 290 + ImportSpecifier 291 310 + Identifier 291 310 + ImportSpecifier 311 339 + Identifier 311 339 + ImportSpecifier 340 365 + Identifier 340 365 + ImportSpecifier 366 378 + Identifier 366 378 + ImportSpecifier 379 399 + Identifier 379 399 + ImportSpecifier 400 425 + Identifier 400 425 + ImportSpecifier 426 441 + Identifier 426 441 + ImportSpecifier 442 462 + Identifier 442 462 + ImportSpecifier 463 487 + Identifier 463 487 + ImportSpecifier 488 516 + Identifier 488 516 + ImportSpecifier 517 530 + Identifier 517 530 + ImportSpecifier 531 552 + Identifier 531 552 + ImportSpecifier 553 572 + Identifier 553 572 + ImportSpecifier 573 592 + Identifier 573 592 + ImportSpecifier 593 611 + Identifier 593 611 + ImportSpecifier 612 637 + Identifier 612 637 + ImportSpecifier 638 669 + Identifier 638 669 + ImportSpecifier 670 690 + Identifier 670 690 + ImportSpecifier 691 714 + Identifier 691 714 + ImportSpecifier 715 736 + Identifier 715 736 + ImportSpecifier 737 751 + Identifier 737 751 + ImportSpecifier 752 771 + Identifier 752 771 + ImportSpecifier 772 795 + Identifier 772 795 + ImportSpecifier 796 818 + Identifier 796 818 + ImportSpecifier 819 839 + Identifier 819 839 + ImportSpecifier 840 865 + Identifier 840 865 + ImportSpecifier 866 884 + Identifier 866 884 + ImportSpecifier 885 923 + Identifier 885 923 + ImportSpecifier 924 958 + Identifier 924 958 + ImportSpecifier 959 979 + Identifier 959 979 + ImportSpecifier 980 1011 + Identifier 980 1011 + ImportSpecifier 1012 1029 + Identifier 1012 1029 + ImportSpecifier 1030 1050 + Identifier 1030 1050 + ImportSpecifier 1051 1071 + Identifier 1051 1071 + ImportSpecifier 1072 1083 + Identifier 1072 1083 + ImportSpecifier 1084 1104 + Identifier 1084 1104 + ImportSpecifier 1105 1135 + Identifier 1105 1135 + ImportSpecifier 1136 1151 + Identifier 1136 1151 + ImportSpecifier 1152 1172 + Identifier 1152 1172 + ImportSpecifier 1173 1197 + Identifier 1173 1197 + ImportSpecifier 1198 1228 + Identifier 1198 1228 + ImportSpecifier 1229 1252 + Identifier 1229 1252 + ImportSpecifier 1253 1276 + Identifier 1253 1276 + ImportSpecifier 1277 1304 + Identifier 1277 1304 + ImportSpecifier 1305 1326 + Identifier 1305 1326 + ImportSpecifier 1327 1357 + Identifier 1327 1357 + ImportSpecifier 1358 1387 + Identifier 1358 1387 + ImportSpecifier 1388 1406 + Identifier 1388 1406 + ImportSpecifier 1407 1426 + Identifier 1407 1426 + ImportSpecifier 1427 1449 + Identifier 1427 1449 + ImportSpecifier 1450 1478 + Identifier 1450 1478 + ImportSpecifier 1479 1498 + Identifier 1479 1498 + ImportSpecifier 1499 1538 + Identifier 1499 1538 + ImportSpecifier 1539 1565 + Identifier 1539 1565 + ImportSpecifier 1566 1588 + Identifier 1566 1588 + ImportSpecifier 1589 1604 + Identifier 1589 1604 + ImportSpecifier 1605 1621 + Identifier 1605 1621 + ImportSpecifier 1622 1647 + Identifier 1622 1647 + ImportSpecifier 1648 1658 + Identifier 1648 1658 + ImportSpecifier 1659 1688 + Identifier 1659 1688 + ImportSpecifier 1689 1709 + Identifier 1689 1709 + ImportSpecifier 1710 1726 + Identifier 1710 1726 + ImportSpecifier 1727 1749 + Identifier 1727 1749 + ImportSpecifier 1750 1768 + Identifier 1750 1768 + ImportSpecifier 1769 1821 + Identifier 1769 1821 + ImportSpecifier 1822 1843 + Identifier 1822 1843 + ImportSpecifier 1844 1870 + Identifier 1844 1870 + ImportSpecifier 1871 1915 + Identifier 1871 1915 + ImportSpecifier 1916 1949 + Identifier 1916 1949 + ImportSpecifier 1950 1961 + Identifier 1950 1961 + ImportSpecifier 1962 1986 + Identifier 1962 1986 + ImportSpecifier 1987 2005 + Identifier 1987 2005 + ImportSpecifier 2006 2025 + Identifier 2006 2025 + ImportSpecifier 2026 2042 + Identifier 2026 2042 + ImportSpecifier 2043 2064 + Identifier 2043 2064 + ImportSpecifier 2065 2091 + Identifier 2065 2091 + ImportSpecifier 2092 2109 + Identifier 2092 2109 + ImportSpecifier 2110 2150 + Identifier 2110 2150 + ImportSpecifier 2151 2178 + Identifier 2151 2178 + ImportSpecifier 2179 2200 + Identifier 2179 2200 + ImportSpecifier 2201 2222 + Identifier 2201 2222 + ImportSpecifier 2223 2248 + Identifier 2223 2248 + ImportSpecifier 2249 2277 + Identifier 2249 2277 + ImportSpecifier 2278 2303 + Identifier 2278 2303 + ImportSpecifier 2304 2339 + Identifier 2304 2339 + ImportSpecifier 2340 2354 + Identifier 2340 2354 + ImportSpecifier 2355 2379 + Identifier 2355 2379 + ImportSpecifier 2380 2398 + Identifier 2380 2398 + ImportSpecifier 2399 2416 + Identifier 2399 2416 + ImportSpecifier 2417 2433 + Identifier 2417 2433 + ImportSpecifier 2434 2472 + Identifier 2434 2472 + ImportSpecifier 2473 2503 + Identifier 2473 2503 + ImportSpecifier 2504 2534 + Identifier 2504 2534 + ImportSpecifier 2535 2567 + Identifier 2535 2567 + ImportSpecifier 2568 2613 + Identifier 2568 2613 + ImportSpecifier 2614 2643 + Identifier 2614 2643 + ImportSpecifier 2644 2678 + Identifier 2644 2678 + ImportSpecifier 2679 2729 + Identifier 2679 2729 + ImportSpecifier 2730 2775 + Identifier 2730 2775 + ImportSpecifier 2776 2824 + Identifier 2776 2824 + ImportSpecifier 2825 2849 + Identifier 2825 2849 + ImportSpecifier 2850 2871 + Identifier 2850 2871 + ImportSpecifier 2872 2898 + Identifier 2872 2898 + ImportSpecifier 2899 2919 + Identifier 2899 2919 + ImportSpecifier 2920 2947 + Identifier 2920 2947 + ImportSpecifier 2948 2977 + Identifier 2948 2977 + ImportSpecifier 2978 3009 + Identifier 2978 3009 + ImportSpecifier 3010 3041 + Identifier 3010 3041 + ImportSpecifier 3042 3062 + Identifier 3042 3062 + ImportSpecifier 3063 3087 + Identifier 3063 3087 + ImportSpecifier 3088 3119 + Identifier 3088 3119 + ImportSpecifier 3120 3157 + Identifier 3120 3157 + ImportSpecifier 3158 3211 + Identifier 3158 3211 + ImportSpecifier 3212 3270 + Identifier 3212 3270 + ImportSpecifier 3271 3321 + Identifier 3271 3321 + ImportSpecifier 3322 3341 + Identifier 3322 3341 + ImportSpecifier 3342 3365 + Identifier 3342 3365 + ImportSpecifier 3366 3402 + Identifier 3366 3402 + ImportSpecifier 3403 3425 + Identifier 3403 3425 + ImportSpecifier 3426 3437 + Identifier 3426 3437 + ImportSpecifier 3438 3455 + Identifier 3438 3455 + ImportSpecifier 3456 3477 + Identifier 3456 3477 + ImportSpecifier 3478 3507 + Identifier 3478 3507 + ImportSpecifier 3508 3534 + Identifier 3508 3534 + ImportSpecifier 3535 3577 + Identifier 3535 3577 + ImportSpecifier 3578 3613 + Identifier 3578 3613 + ImportSpecifier 3614 3629 + Identifier 3614 3629 + ImportSpecifier 3630 3647 + Identifier 3630 3647 + ImportSpecifier 3648 3667 + Identifier 3648 3667 + ImportSpecifier 3668 3704 + Identifier 3668 3704 + ImportSpecifier 3705 3732 + Identifier 3705 3732 + ImportSpecifier 3733 3755 + Identifier 3733 3755 + ImportSpecifier 3756 3772 + Identifier 3756 3772 + ImportSpecifier 3773 3801 + Identifier 3773 3801 + ImportSpecifier 3802 3827 + Identifier 3802 3827 + ImportSpecifier 3828 3852 + Identifier 3828 3852 + ImportSpecifier 3853 3876 + Identifier 3853 3876 + ImportSpecifier 3877 3905 + Identifier 3877 3905 + ImportSpecifier 3906 3940 + Identifier 3906 3940 + ImportSpecifier 3941 3958 + Identifier 3941 3958 + ImportSpecifier 3959 3987 + Identifier 3959 3987 + ImportSpecifier 3988 4005 + Identifier 3988 4005 + ImportSpecifier 4006 4035 + Identifier 4006 4035 + ImportSpecifier 4036 4060 + Identifier 4036 4060 + ImportSpecifier 4061 4090 + Identifier 4061 4090 + ImportSpecifier 4091 4109 + Identifier 4091 4109 + ImportSpecifier 4110 4147 + Identifier 4110 4147 + ImportSpecifier 4148 4163 + Identifier 4148 4163 + ImportSpecifier 4164 4178 + Identifier 4164 4178 + ImportSpecifier 4179 4211 + Identifier 4179 4211 + ImportSpecifier 4212 4230 + Identifier 4212 4230 + ImportSpecifier 4231 4251 + Identifier 4231 4251 + ImportSpecifier 4252 4268 + Identifier 4252 4268 + ImportSpecifier 4269 4285 + Identifier 4269 4285 + ImportSpecifier 4286 4312 + Identifier 4286 4312 + ImportSpecifier 4313 4351 + Identifier 4313 4351 + ImportSpecifier 4352 4376 + Identifier 4352 4376 + ImportSpecifier 4377 4398 + Identifier 4377 4398 + ImportSpecifier 4399 4415 + Identifier 4399 4415 + ImportSpecifier 4416 4430 + Identifier 4416 4430 + ImportSpecifier 4431 4449 + Identifier 4431 4449 + ImportSpecifier 4450 4476 + Identifier 4450 4476 + ImportSpecifier 4477 4507 + Identifier 4477 4507 + ImportSpecifier 4508 4526 + Identifier 4508 4526 + ImportSpecifier 4527 4548 + Identifier 4527 4548 + ImportSpecifier 4549 4570 + Identifier 4549 4570 + ImportSpecifier 4571 4582 + Identifier 4571 4582 + ImportSpecifier 4583 4606 + Identifier 4583 4606 + ImportSpecifier 4607 4629 + Identifier 4607 4629 + ImportSpecifier 4630 4652 + Identifier 4630 4652 + ImportSpecifier 4653 4682 + Identifier 4653 4682 + ImportSpecifier 4683 4706 + Identifier 4683 4706 + ImportSpecifier 4707 4728 + Identifier 4707 4728 + ImportSpecifier 4729 4745 + Identifier 4729 4745 + ImportSpecifier 4746 4776 + Identifier 4746 4776 + ImportSpecifier 4777 4802 + Identifier 4777 4802 + ImportSpecifier 4803 4836 + Identifier 4803 4836 + ImportSpecifier 4837 4852 + Identifier 4837 4852 + ImportSpecifier 4853 4878 + Identifier 4853 4878 + ImportSpecifier 4879 4914 + Identifier 4879 4914 + ImportSpecifier 4915 4928 + Identifier 4915 4928 + ImportSpecifier 4929 4950 + Identifier 4929 4950 + ImportSpecifier 4951 4977 + Identifier 4951 4977 + ImportSpecifier 4978 4990 + Identifier 4978 4990 + ImportSpecifier 4991 5001 + Identifier 4991 5001 + ImportSpecifier 5002 5020 + Identifier 5002 5020 + ImportSpecifier 5021 5047 + Identifier 5021 5047 + ImportSpecifier 5048 5080 + Identifier 5048 5080 + ImportSpecifier 5081 5096 + Identifier 5081 5096 + ImportSpecifier 5097 5111 + Identifier 5097 5111 + ImportSpecifier 5112 5131 + Identifier 5112 5131 + ImportSpecifier 5132 5159 + Identifier 5132 5159 + ImportSpecifier 5160 5171 + Identifier 5160 5171 + ImportSpecifier 5172 5190 + Identifier 5172 5190 + ImportSpecifier 5191 5210 + Identifier 5191 5210 + ImportSpecifier 5211 5233 + Identifier 5211 5233 + ImportSpecifier 5234 5264 + Identifier 5234 5264 + ImportSpecifier 5265 5278 + Identifier 5265 5278 + ImportSpecifier 5279 5292 + Identifier 5279 5292 + ImportSpecifier 5293 5316 + Identifier 5293 5316 + ImportSpecifier 5317 5337 + Identifier 5317 5337 + ImportSpecifier 5338 5352 + Identifier 5338 5352 + ImportSpecifier 5353 5372 + Identifier 5353 5372 + ImportSpecifier 5373 5388 + Identifier 5373 5388 + ImportSpecifier 5389 5404 + Identifier 5389 5404 + ImportSpecifier 5405 5419 + Identifier 5405 5419 + ImportSpecifier 5420 5441 + Identifier 5420 5441 + ImportSpecifier 5442 5457 + Identifier 5442 5457 + ImportSpecifier 5458 5480 + Identifier 5458 5480 + ImportSpecifier 5481 5507 + Identifier 5481 5507 + ImportSpecifier 5508 5522 + Identifier 5508 5522 + ImportSpecifier 5523 5536 + Identifier 5523 5536 + ImportSpecifier 5537 5555 + Identifier 5537 5555 + ImportSpecifier 5556 5585 + Identifier 5556 5585 + ImportSpecifier 5586 5627 + Identifier 5586 5627 + ImportSpecifier 5628 5646 + Identifier 5628 5646 + ImportSpecifier 5647 5663 + Identifier 5647 5663 + ImportSpecifier 5664 5692 + Identifier 5664 5692 + ImportSpecifier 5693 5721 + Identifier 5693 5721 + ImportSpecifier 5722 5746 + Identifier 5722 5746 + ImportSpecifier 5747 5767 + Identifier 5747 5767 + ImportSpecifier 5768 5787 + Identifier 5768 5787 + ImportSpecifier 5788 5808 + Identifier 5788 5808 + ImportSpecifier 5809 5827 + Identifier 5809 5827 + ImportSpecifier 5828 5856 + Identifier 5828 5856 + ImportSpecifier 5857 5876 + Identifier 5857 5876 + ImportSpecifier 5877 5905 + Identifier 5877 5905 + ImportSpecifier 5906 5931 + Identifier 5906 5931 + ImportSpecifier 5932 5956 + Identifier 5932 5956 + ImportSpecifier 5957 5976 + Identifier 5957 5976 + ImportSpecifier 5977 6006 + Identifier 5977 6006 + ImportSpecifier 6007 6042 + Identifier 6007 6042 + ImportSpecifier 6043 6065 + Identifier 6043 6065 + ImportSpecifier 6066 6083 + Identifier 6066 6083 + ImportSpecifier 6084 6112 + Identifier 6084 6112 + ImportSpecifier 6113 6146 + Identifier 6113 6146 + ImportSpecifier 6147 6168 + Identifier 6147 6168 + ImportSpecifier 6169 6206 + Identifier 6169 6206 + ImportSpecifier 6207 6224 + Identifier 6207 6224 + ImportSpecifier 6225 6254 + Identifier 6225 6254 + ImportSpecifier 6255 6290 + Identifier 6255 6290 + ImportSpecifier 6291 6325 + Identifier 6291 6325 + ImportSpecifier 6326 6374 + Identifier 6326 6374 + ImportSpecifier 6375 6404 + Identifier 6375 6404 + ImportSpecifier 6405 6433 + Identifier 6405 6433 + ImportSpecifier 6434 6453 + Identifier 6434 6453 + ImportSpecifier 6454 6490 + Identifier 6454 6490 + ImportSpecifier 6491 6528 + Identifier 6491 6528 + ImportSpecifier 6529 6571 + Identifier 6529 6571 + ImportSpecifier 6572 6602 + Identifier 6572 6602 + ImportSpecifier 6603 6629 + Identifier 6603 6629 + ImportSpecifier 6630 6668 + Identifier 6630 6668 + ImportSpecifier 6669 6693 + Identifier 6669 6693 + ImportSpecifier 6694 6742 + Identifier 6694 6742 + ImportSpecifier 6743 6778 + Identifier 6743 6778 + ImportSpecifier 6779 6806 + Identifier 6779 6806 + ImportSpecifier 6807 6852 + Identifier 6807 6852 + ImportSpecifier 6853 6886 + Identifier 6853 6886 + ImportSpecifier 6887 6930 + Identifier 6887 6930 + ImportSpecifier 6931 6957 + Identifier 6931 6957 + ImportSpecifier 6958 6985 + Identifier 6958 6985 + ImportSpecifier 6986 7021 + Identifier 6986 7021 + ImportSpecifier 7022 7041 + Identifier 7022 7041 + ImportSpecifier 7042 7064 + Identifier 7042 7064 + ImportSpecifier 7065 7095 + Identifier 7065 7095 + ImportSpecifier 7096 7139 + Identifier 7096 7139 + ImportSpecifier 7140 7186 + Identifier 7140 7186 + ImportSpecifier 7187 7224 + Identifier 7187 7224 + ImportSpecifier 7225 7254 + Identifier 7225 7254 + ImportSpecifier 7255 7282 + Identifier 7255 7282 + ImportSpecifier 7283 7314 + Identifier 7283 7314 + ImportSpecifier 7315 7347 + Identifier 7315 7347 + ImportSpecifier 7348 7395 + Identifier 7348 7395 + ImportSpecifier 7396 7432 + Identifier 7396 7432 + ImportSpecifier 7433 7476 + Identifier 7433 7476 + ImportSpecifier 7477 7513 + Identifier 7477 7513 + ImportSpecifier 7514 7539 + Identifier 7514 7539 + ImportSpecifier 7540 7563 + Identifier 7540 7563 + ImportSpecifier 7564 7597 + Identifier 7564 7597 + ImportSpecifier 7598 7623 + Identifier 7598 7623 + ImportSpecifier 7624 7656 + Identifier 7624 7656 + ImportSpecifier 7657 7694 + Identifier 7657 7694 + ImportSpecifier 7695 7722 + Identifier 7695 7722 + ImportSpecifier 7723 7754 + Identifier 7723 7754 + ImportSpecifier 7755 7780 + Identifier 7755 7780 + ImportSpecifier 7781 7822 + Identifier 7781 7822 + ImportSpecifier 7823 7861 + Identifier 7823 7861 + ImportSpecifier 7862 7901 + Identifier 7862 7901 + ImportSpecifier 7902 7926 + Identifier 7902 7926 + ImportSpecifier 7927 7954 + Identifier 7927 7954 + ImportSpecifier 7955 7990 + Identifier 7955 7990 + ImportSpecifier 7991 8047 + Identifier 7991 8047 + ImportSpecifier 8048 8075 + Identifier 8048 8075 + ImportSpecifier 8076 8114 + Identifier 8076 8114 + ImportSpecifier 8115 8148 + Identifier 8115 8148 + ImportSpecifier 8149 8173 + Identifier 8149 8173 + ImportSpecifier 8174 8196 + Identifier 8174 8196 + ImportSpecifier 8197 8228 + Identifier 8197 8228 + ImportSpecifier 8229 8272 + Identifier 8229 8272 + ImportSpecifier 8273 8305 + Identifier 8273 8305 + ImportSpecifier 8306 8351 + Identifier 8306 8351 + ImportSpecifier 8352 8390 + Identifier 8352 8390 + ImportSpecifier 8391 8422 + Identifier 8391 8422 + ImportSpecifier 8423 8449 + Identifier 8423 8449 + ImportSpecifier 8450 8474 + Identifier 8450 8474 + ImportSpecifier 8475 8497 + Identifier 8475 8497 + ImportSpecifier 8498 8525 + Identifier 8498 8525 + ImportSpecifier 8526 8547 + Identifier 8526 8547 + ImportSpecifier 8548 8566 + Identifier 8548 8566 + ImportSpecifier 8567 8593 + Identifier 8567 8593 + ImportSpecifier 8594 8621 + Identifier 8594 8621 + ImportSpecifier 8622 8640 + Identifier 8622 8640 + ImportSpecifier 8641 8678 + Identifier 8641 8678 + ImportSpecifier 8679 8697 + Identifier 8679 8697 + ImportSpecifier 8698 8719 + Identifier 8698 8719 + ImportSpecifier 8720 8738 + Identifier 8720 8738 + ImportSpecifier 8739 8770 + Identifier 8739 8770 + ImportSpecifier 8771 8810 + Identifier 8771 8810 + ImportSpecifier 8811 8832 + Identifier 8811 8832 + ImportSpecifier 8833 8863 + Identifier 8833 8863 + ImportSpecifier 8864 8889 + Identifier 8864 8889 + ImportSpecifier 8890 8918 + Identifier 8890 8918 + ImportSpecifier 8919 8952 + Identifier 8919 8952 + ImportSpecifier 8953 8988 + Identifier 8953 8988 + ImportSpecifier 8989 9018 + Identifier 8989 9018 + ImportSpecifier 9019 9037 + Identifier 9019 9037 + ImportSpecifier 9038 9066 + Identifier 9038 9066 + ImportSpecifier 9067 9099 + Identifier 9067 9099 + ImportSpecifier 9100 9126 + Identifier 9100 9126 + ImportSpecifier 9127 9153 + Identifier 9127 9153 + ImportSpecifier 9154 9176 + Identifier 9154 9176 + ImportSpecifier 9177 9210 + Identifier 9177 9210 + ImportSpecifier 9211 9238 + Identifier 9211 9238 + ImportSpecifier 9239 9274 + Identifier 9239 9274 + ImportSpecifier 9275 9309 + Identifier 9275 9309 + ImportSpecifier 9310 9341 + Identifier 9310 9341 + ImportSpecifier 9342 9362 + Identifier 9342 9362 + ImportSpecifier 9363 9384 + Identifier 9363 9384 + ImportSpecifier 9385 9402 + Identifier 9385 9402 + ImportSpecifier 9403 9436 + Identifier 9403 9436 + ImportSpecifier 9437 9459 + Identifier 9437 9459 + ImportSpecifier 9460 9506 + Identifier 9460 9506 + ImportSpecifier 9507 9547 + Identifier 9507 9547 + ImportSpecifier 9548 9577 + Identifier 9548 9577 + ImportSpecifier 9578 9612 + Identifier 9578 9612 + ImportSpecifier 9613 9642 + Identifier 9613 9642 + ImportSpecifier 9643 9672 + Identifier 9643 9672 + ImportSpecifier 9673 9704 + Identifier 9673 9704 + ImportSpecifier 9705 9731 + Identifier 9705 9731 + ImportSpecifier 9732 9765 + Identifier 9732 9765 + ImportSpecifier 9766 9790 + Identifier 9766 9790 + ImportSpecifier 9791 9820 + Identifier 9791 9820 + ImportSpecifier 9821 9860 + Identifier 9821 9860 + ImportSpecifier 9861 9889 + Identifier 9861 9889 + ImportSpecifier 9890 9924 + Identifier 9890 9924 + ImportSpecifier 9925 9967 + Identifier 9925 9967 + ImportSpecifier 9968 9995 + Identifier 9968 9995 + ImportSpecifier 9996 10021 + Identifier 9996 10021 + ImportSpecifier 10022 10052 + Identifier 10022 10052 + ImportSpecifier 10053 10080 + Identifier 10053 10080 + ImportSpecifier 10081 10107 + Identifier 10081 10107 + ImportSpecifier 10108 10131 + Identifier 10108 10131 + ImportSpecifier 10132 10171 + Identifier 10132 10171 + ImportSpecifier 10172 10206 + Identifier 10172 10206 + ImportSpecifier 10207 10234 + Identifier 10207 10234 + ImportSpecifier 10235 10266 + Identifier 10235 10266 + ImportSpecifier 10267 10286 + Identifier 10267 10286 + ImportSpecifier 10287 10314 + Identifier 10287 10314 + ImportSpecifier 10315 10337 + Identifier 10315 10337 + ImportSpecifier 10338 10360 + Identifier 10338 10360 + ImportSpecifier 10361 10402 + Identifier 10361 10402 + ImportSpecifier 10403 10434 + Identifier 10403 10434 + ImportSpecifier 10435 10467 + Identifier 10435 10467 + ImportSpecifier 10468 10479 + Identifier 10468 10479 + ImportSpecifier 10480 10505 + Identifier 10480 10505 + ImportSpecifier 10506 10531 + Identifier 10506 10531 + ImportSpecifier 10532 10556 + Identifier 10532 10556 + ImportSpecifier 10557 10592 + Identifier 10557 10592 + ImportSpecifier 10593 10612 + Identifier 10593 10612 + ImportSpecifier 10613 10632 + Identifier 10613 10632 + ImportSpecifier 10633 10653 + Identifier 10633 10653 + ImportSpecifier 10654 10680 + Identifier 10654 10680 + ImportSpecifier 10681 10708 + Identifier 10681 10708 + ImportSpecifier 10709 10743 + Identifier 10709 10743 + ImportSpecifier 10744 10774 + Identifier 10744 10774 + ImportSpecifier 10775 10793 + Identifier 10775 10793 + ImportSpecifier 10794 10820 + Identifier 10794 10820 + ImportSpecifier 10821 10846 + Identifier 10821 10846 + ImportSpecifier 10847 10868 + Identifier 10847 10868 + ImportSpecifier 10869 10890 + Identifier 10869 10890 + ImportSpecifier 10891 10911 + Identifier 10891 10911 + ImportSpecifier 10912 10932 + Identifier 10912 10932 + ImportSpecifier 10933 10952 + Identifier 10933 10952 + ImportSpecifier 10953 10980 + Identifier 10953 10980 + ImportSpecifier 10981 11011 + Identifier 10981 11011 + ImportSpecifier 11012 11027 + Identifier 11012 11027 + ImportSpecifier 11028 11046 + Identifier 11028 11046 + ImportSpecifier 11047 11081 + Identifier 11047 11081 + ImportSpecifier 11082 11107 + Identifier 11082 11107 + ImportSpecifier 11108 11148 + Identifier 11108 11148 + ImportSpecifier 11149 11171 + Identifier 11149 11171 + ImportSpecifier 11172 11203 + Identifier 11172 11203 + ImportSpecifier 11204 11226 + Identifier 11204 11226 + ImportSpecifier 11227 11247 + Identifier 11227 11247 + ImportSpecifier 11248 11271 + Identifier 11248 11271 + ImportSpecifier 11272 11298 + Identifier 11272 11298 + ImportSpecifier 11299 11326 + Identifier 11299 11326 + ImportSpecifier 11327 11340 + Identifier 11327 11340 + ImportSpecifier 11341 11361 + Identifier 11341 11361 + ImportSpecifier 11362 11392 + Identifier 11362 11392 + ImportSpecifier 11393 11409 + Identifier 11393 11409 + ImportSpecifier 11410 11439 + Identifier 11410 11439 + ImportSpecifier 11440 11469 + Identifier 11440 11469 + ImportSpecifier 11470 11482 + Identifier 11470 11482 + ImportSpecifier 11483 11500 + Identifier 11483 11500 + ImportSpecifier 11501 11522 + Identifier 11501 11522 + ImportSpecifier 11523 11545 + Identifier 11523 11545 + ImportSpecifier 11546 11562 + Identifier 11546 11562 + ImportSpecifier 11563 11581 + Identifier 11563 11581 + ImportSpecifier 11582 11605 + Identifier 11582 11605 + ImportSpecifier 11606 11635 + Identifier 11606 11635 + ImportSpecifier 11636 11665 + Identifier 11636 11665 + ImportSpecifier 11666 11687 + Identifier 11666 11687 + ImportSpecifier 11688 11708 + Identifier 11688 11708 + ImportSpecifier 11709 11732 + Identifier 11709 11732 + ImportSpecifier 11733 11760 + Identifier 11733 11760 + ImportSpecifier 11761 11777 + Identifier 11761 11777 + ImportSpecifier 11778 11793 + Identifier 11778 11793 + ImportSpecifier 11794 11809 + Identifier 11794 11809 + ImportSpecifier 11810 11827 + Identifier 11810 11827 + ImportSpecifier 11828 11859 + Identifier 11828 11859 + ImportSpecifier 11860 11875 + Identifier 11860 11875 + ImportSpecifier 11876 11891 + Identifier 11876 11891 + ImportSpecifier 11892 11914 + Identifier 11892 11914 + ImportSpecifier 11915 11935 + Identifier 11915 11935 + ImportSpecifier 11936 11955 + Identifier 11936 11955 + ImportSpecifier 11956 11979 + Identifier 11956 11979 + ImportSpecifier 11980 11999 + Identifier 11980 11999 + ImportSpecifier 12000 12026 + Identifier 12000 12026 + ImportSpecifier 12027 12049 + Identifier 12027 12049 + ImportSpecifier 12050 12083 + Identifier 12050 12083 + ImportSpecifier 12084 12110 + Identifier 12084 12110 + ImportSpecifier 12111 12130 + Identifier 12111 12130 + ImportSpecifier 12131 12169 + Identifier 12131 12169 + ImportSpecifier 12170 12200 + Identifier 12170 12200 + ImportSpecifier 12201 12225 + Identifier 12201 12225 + ImportSpecifier 12226 12249 + Identifier 12226 12249 + ImportSpecifier 12250 12272 + Identifier 12250 12272 + ImportSpecifier 12273 12299 + Identifier 12273 12299 + ImportSpecifier 12300 12330 + Identifier 12300 12330 + ImportSpecifier 12331 12350 + Identifier 12331 12350 + ImportSpecifier 12351 12388 + Identifier 12351 12388 + ImportSpecifier 12389 12417 + Identifier 12389 12417 + ImportSpecifier 12418 12442 + Identifier 12418 12442 + ImportSpecifier 12443 12459 + Identifier 12443 12459 + ImportSpecifier 12460 12487 + Identifier 12460 12487 + ImportSpecifier 12488 12509 + Identifier 12488 12509 + ImportSpecifier 12510 12523 + Identifier 12510 12523 + ImportSpecifier 12524 12551 + Identifier 12524 12551 + ImportSpecifier 12552 12582 + Identifier 12552 12582 + ImportSpecifier 12583 12604 + Identifier 12583 12604 + ImportSpecifier 12605 12632 + Identifier 12605 12632 + ImportSpecifier 12633 12662 + Identifier 12633 12662 + ImportSpecifier 12663 12691 + Identifier 12663 12691 + ImportSpecifier 12692 12718 + Identifier 12692 12718 + ImportSpecifier 12719 12744 + Identifier 12719 12744 + ImportSpecifier 12745 12769 + Identifier 12745 12769 + ImportSpecifier 12770 12809 + Identifier 12770 12809 + ImportSpecifier 12810 12833 + Identifier 12810 12833 + ImportSpecifier 12834 12858 + Identifier 12834 12858 + ImportSpecifier 12859 12888 + Identifier 12859 12888 + ImportSpecifier 12889 12929 + Identifier 12889 12929 + ImportSpecifier 12930 12975 + Identifier 12930 12975 + ImportSpecifier 12976 13012 + Identifier 12976 13012 + ImportSpecifier 13013 13035 + Identifier 13013 13035 + ImportSpecifier 13036 13081 + Identifier 13036 13081 + ImportSpecifier 13082 13104 + Identifier 13082 13104 + ImportSpecifier 13105 13118 + Identifier 13105 13118 + ImportSpecifier 13119 13145 + Identifier 13119 13145 + ImportSpecifier 13146 13182 + Identifier 13146 13182 + ImportSpecifier 13183 13205 + Identifier 13183 13205 + ImportSpecifier 13206 13223 + Identifier 13206 13223 + ImportSpecifier 13224 13246 + Identifier 13224 13246 + ImportSpecifier 13247 13273 + Identifier 13247 13273 + ImportSpecifier 13274 13314 + Identifier 13274 13314 + ImportSpecifier 13315 13342 + Identifier 13315 13342 + ImportSpecifier 13343 13375 + Identifier 13343 13375 + ImportSpecifier 13376 13395 + Identifier 13376 13395 + ImportSpecifier 13396 13434 + Identifier 13396 13434 + ImportSpecifier 13435 13489 + Identifier 13435 13489 + ImportSpecifier 13490 13519 + Identifier 13490 13519 + ImportSpecifier 13520 13544 + Identifier 13520 13544 + ImportSpecifier 13545 13565 + Identifier 13545 13565 + ImportSpecifier 13566 13589 + Identifier 13566 13589 + ImportSpecifier 13590 13619 + Identifier 13590 13619 + ImportSpecifier 13620 13637 + Identifier 13620 13637 + ImportSpecifier 13638 13673 + Identifier 13638 13673 + ImportSpecifier 13674 13695 + Identifier 13674 13695 + ImportSpecifier 13696 13730 + Identifier 13696 13730 + ImportSpecifier 13731 13771 + Identifier 13731 13771 + ImportSpecifier 13772 13798 + Identifier 13772 13798 + ImportSpecifier 13799 13829 + Identifier 13799 13829 + ImportSpecifier 13830 13858 + Identifier 13830 13858 + ImportSpecifier 13859 13888 + Identifier 13859 13888 + ImportSpecifier 13889 13916 + Identifier 13889 13916 + ImportSpecifier 13917 13939 + Identifier 13917 13939 + ImportSpecifier 13940 13970 + Identifier 13940 13970 + ImportSpecifier 13971 13998 + Identifier 13971 13998 + ImportSpecifier 13999 14036 + Identifier 13999 14036 + ImportSpecifier 14037 14063 + Identifier 14037 14063 + ImportSpecifier 14064 14083 + Identifier 14064 14083 + ImportSpecifier 14084 14111 + Identifier 14084 14111 + ImportSpecifier 14112 14135 + Identifier 14112 14135 + ImportSpecifier 14136 14163 + Identifier 14136 14163 + ImportSpecifier 14164 14181 + Identifier 14164 14181 + ImportSpecifier 14182 14217 + Identifier 14182 14217 + ImportSpecifier 14218 14238 + Identifier 14218 14238 + ImportSpecifier 14239 14257 + Identifier 14239 14257 + ImportSpecifier 14258 14277 + Identifier 14258 14277 + ImportSpecifier 14278 14309 + Identifier 14278 14309 + ImportSpecifier 14310 14341 + Identifier 14310 14341 + ImportSpecifier 14342 14360 + Identifier 14342 14360 + ImportSpecifier 14361 14389 + Identifier 14361 14389 + ImportSpecifier 14390 14407 + Identifier 14390 14407 + ImportSpecifier 14408 14431 + Identifier 14408 14431 + ImportSpecifier 14432 14450 + Identifier 14432 14450 + ImportSpecifier 14451 14492 + Identifier 14451 14492 + ImportSpecifier 14493 14527 + Identifier 14493 14527 + ImportSpecifier 14528 14552 + Identifier 14528 14552 + ImportSpecifier 14553 14578 + Identifier 14553 14578 + ImportSpecifier 14579 14604 + Identifier 14579 14604 + ImportSpecifier 14605 14628 + Identifier 14605 14628 + ImportSpecifier 14629 14647 + Identifier 14629 14647 + ImportSpecifier 14648 14670 + Identifier 14648 14670 + ImportSpecifier 14671 14708 + Identifier 14671 14708 + ImportSpecifier 14709 14736 + Identifier 14709 14736 + ImportSpecifier 14737 14772 + Identifier 14737 14772 + ImportSpecifier 14773 14828 + Identifier 14773 14828 + ImportSpecifier 14829 14851 + Identifier 14829 14851 + ImportSpecifier 14852 14886 + Identifier 14852 14886 + ImportSpecifier 14887 14932 + Identifier 14887 14932 + ImportSpecifier 14933 14964 + Identifier 14933 14964 + ImportSpecifier 14965 14999 + Identifier 14965 14999 + ImportSpecifier 15000 15031 + Identifier 15000 15031 + ImportSpecifier 15032 15060 + Identifier 15032 15060 + ImportSpecifier 15061 15093 + Identifier 15061 15093 + ImportSpecifier 15094 15120 + Identifier 15094 15120 + ImportSpecifier 15121 15143 + Identifier 15121 15143 + ImportSpecifier 15144 15166 + Identifier 15144 15166 + ImportSpecifier 15167 15187 + Identifier 15167 15187 + ImportSpecifier 15188 15215 + Identifier 15188 15215 + ImportSpecifier 15216 15242 + Identifier 15216 15242 + ImportSpecifier 15243 15284 + Identifier 15243 15284 + ImportSpecifier 15285 15305 + Identifier 15285 15305 + ImportSpecifier 15306 15337 + Identifier 15306 15337 + ImportSpecifier 15338 15387 + Identifier 15338 15387 + ImportSpecifier 15388 15417 + Identifier 15388 15417 + ImportSpecifier 15418 15442 + Identifier 15418 15442 + ImportSpecifier 15443 15470 + Identifier 15443 15470 + ImportSpecifier 15471 15490 + Identifier 15471 15490 + ImportSpecifier 15491 15521 + Identifier 15491 15521 + ImportSpecifier 15522 15557 + Identifier 15522 15557 + ImportSpecifier 15558 15589 + Identifier 15558 15589 + ImportSpecifier 15590 15614 + Identifier 15590 15614 + ImportSpecifier 15615 15637 + Identifier 15615 15637 + ImportSpecifier 15638 15656 + Identifier 15638 15656 + ImportSpecifier 15657 15679 + Identifier 15657 15679 + ImportSpecifier 15680 15711 + Identifier 15680 15711 + ImportSpecifier 15712 15743 + Identifier 15712 15743 + ImportSpecifier 15744 15763 + Identifier 15744 15763 + ImportSpecifier 15764 15788 + Identifier 15764 15788 + ImportSpecifier 15789 15807 + Identifier 15789 15807 + ImportSpecifier 15808 15828 + Identifier 15808 15828 + ImportSpecifier 15829 15854 + Identifier 15829 15854 + ImportSpecifier 15855 15886 + Identifier 15855 15886 + ImportSpecifier 15887 15908 + Identifier 15887 15908 + ImportSpecifier 15909 15940 + Identifier 15909 15940 + ImportSpecifier 15941 15964 + Identifier 15941 15964 + ImportSpecifier 15965 15987 + Identifier 15965 15987 + ImportSpecifier 15988 16020 + Identifier 15988 16020 + ImportSpecifier 16021 16050 + Identifier 16021 16050 + ImportSpecifier 16051 16084 + Identifier 16051 16084 + ImportSpecifier 16085 16112 + Identifier 16085 16112 + ImportSpecifier 16113 16140 + Identifier 16113 16140 + ImportSpecifier 16141 16168 + Identifier 16141 16168 + ImportSpecifier 16169 16184 + Identifier 16169 16184 + ImportSpecifier 16185 16201 + Identifier 16185 16201 + ImportSpecifier 16202 16220 + Identifier 16202 16220 + ImportSpecifier 16221 16249 + Identifier 16221 16249 + ImportSpecifier 16250 16278 + Identifier 16250 16278 + ImportSpecifier 16279 16324 + Identifier 16279 16324 + ImportSpecifier 16325 16350 + Identifier 16325 16350 + ImportSpecifier 16351 16375 + Identifier 16351 16375 + ImportSpecifier 16376 16395 + Identifier 16376 16395 + ImportSpecifier 16396 16422 + Identifier 16396 16422 + ImportSpecifier 16423 16447 + Identifier 16423 16447 + ImportSpecifier 16448 16472 + Identifier 16448 16472 + ImportSpecifier 16473 16504 + Identifier 16473 16504 + ImportSpecifier 16505 16530 + Identifier 16505 16530 + ImportSpecifier 16531 16553 + Identifier 16531 16553 + ImportSpecifier 16554 16581 + Identifier 16554 16581 + ImportSpecifier 16582 16603 + Identifier 16582 16603 + ImportSpecifier 16604 16627 + Identifier 16604 16627 + ImportSpecifier 16628 16654 + Identifier 16628 16654 + ImportSpecifier 16655 16672 + Identifier 16655 16672 + ImportSpecifier 16673 16701 + Identifier 16673 16701 + ImportSpecifier 16702 16727 + Identifier 16702 16727 + ImportSpecifier 16728 16758 + Identifier 16728 16758 + ImportSpecifier 16759 16783 + Identifier 16759 16783 + ImportSpecifier 16784 16809 + Identifier 16784 16809 + ImportSpecifier 16810 16838 + Identifier 16810 16838 + ImportSpecifier 16839 16863 + Identifier 16839 16863 + ImportSpecifier 16864 16896 + Identifier 16864 16896 + ImportSpecifier 16897 16922 + Identifier 16897 16922 + ImportSpecifier 16923 16945 + Identifier 16923 16945 + ImportSpecifier 16946 16970 + Identifier 16946 16970 + ImportSpecifier 16971 16991 + Identifier 16971 16991 + ImportSpecifier 16992 17014 + Identifier 16992 17014 + ImportSpecifier 17015 17041 + Identifier 17015 17041 + ImportSpecifier 17042 17065 + Identifier 17042 17065 + ImportSpecifier 17066 17093 + Identifier 17066 17093 + ImportSpecifier 17094 17118 + Identifier 17094 17118 + ImportSpecifier 17119 17144 + Identifier 17119 17144 + ImportSpecifier 17145 17167 + Identifier 17145 17167 + ImportSpecifier 17168 17188 + Identifier 17168 17188 + ImportSpecifier 17189 17213 + Identifier 17189 17213 + ImportSpecifier 17214 17235 + Identifier 17214 17235 + ImportSpecifier 17236 17255 + Identifier 17236 17255 + ImportSpecifier 17256 17274 + Identifier 17256 17274 + ImportSpecifier 17275 17294 + Identifier 17275 17294 + ImportSpecifier 17295 17320 + Identifier 17295 17320 + ImportSpecifier 17321 17346 + Identifier 17321 17346 + ImportSpecifier 17347 17373 + Identifier 17347 17373 + ImportSpecifier 17374 17403 + Identifier 17374 17403 + ImportSpecifier 17404 17433 + Identifier 17404 17433 + ImportSpecifier 17434 17460 + Identifier 17434 17460 + ImportSpecifier 17461 17479 + Identifier 17461 17479 + ImportSpecifier 17480 17499 + Identifier 17480 17499 + ImportSpecifier 17500 17538 + Identifier 17500 17538 + ImportSpecifier 17539 17569 + Identifier 17539 17569 + ImportSpecifier 17570 17587 + Identifier 17570 17587 + ImportSpecifier 17588 17634 + Identifier 17588 17634 + ImportSpecifier 17635 17660 + Identifier 17635 17660 + ImportSpecifier 17661 17694 + Identifier 17661 17694 + ImportSpecifier 17695 17724 + Identifier 17695 17724 + ImportSpecifier 17725 17748 + Identifier 17725 17748 + ImportSpecifier 17749 17792 + Identifier 17749 17792 + ImportSpecifier 17793 17834 + Identifier 17793 17834 + ImportSpecifier 17835 17855 + Identifier 17835 17855 + ImportSpecifier 17856 17881 + Identifier 17856 17881 + ImportSpecifier 17882 17905 + Identifier 17882 17905 + ImportSpecifier 17906 17922 + Identifier 17906 17922 + ImportSpecifier 17923 17942 + Identifier 17923 17942 + ImportSpecifier 17943 17968 + Identifier 17943 17968 + ImportSpecifier 17969 18006 + Identifier 17969 18006 + ImportSpecifier 18007 18031 + Identifier 18007 18031 + ImportSpecifier 18032 18063 + Identifier 18032 18063 + ImportSpecifier 18064 18099 + Identifier 18064 18099 + ImportSpecifier 18100 18124 + Identifier 18100 18124 + ImportSpecifier 18125 18154 + Identifier 18125 18154 + ImportSpecifier 18155 18175 + Identifier 18155 18175 + ImportSpecifier 18176 18200 + Identifier 18176 18200 + ImportSpecifier 18201 18224 + Identifier 18201 18224 + ImportSpecifier 18225 18259 + Identifier 18225 18259 + ImportSpecifier 18260 18296 + Identifier 18260 18296 + ImportSpecifier 18297 18318 + Identifier 18297 18318 + ImportSpecifier 18319 18343 + Identifier 18319 18343 + ImportSpecifier 18344 18365 + Identifier 18344 18365 + ImportSpecifier 18366 18391 + Identifier 18366 18391 + ImportSpecifier 18392 18414 + Identifier 18392 18414 + ImportSpecifier 18415 18441 + Identifier 18415 18441 + ImportSpecifier 18442 18470 + Identifier 18442 18470 + ImportSpecifier 18471 18503 + Identifier 18471 18503 + ImportSpecifier 18504 18535 + Identifier 18504 18535 + ImportSpecifier 18536 18563 + Identifier 18536 18563 + ImportSpecifier 18564 18618 + Identifier 18564 18618 + ImportSpecifier 18619 18644 + Identifier 18619 18644 + ImportSpecifier 18645 18666 + Identifier 18645 18666 + ImportSpecifier 18667 18692 + Identifier 18667 18692 + ImportSpecifier 18693 18720 + Identifier 18693 18720 + ImportSpecifier 18721 18757 + Identifier 18721 18757 + ImportSpecifier 18758 18782 + Identifier 18758 18782 + ImportSpecifier 18783 18813 + Identifier 18783 18813 + ImportSpecifier 18814 18831 + Identifier 18814 18831 + ImportSpecifier 18832 18868 + Identifier 18832 18868 + ImportSpecifier 18869 18900 + Identifier 18869 18900 + ImportSpecifier 18901 18930 + Identifier 18901 18930 + ImportSpecifier 18931 18965 + Identifier 18931 18965 + ImportSpecifier 18966 18988 + Identifier 18966 18988 + ImportSpecifier 18989 19036 + Identifier 18989 19036 + ImportSpecifier 19037 19060 + Identifier 19037 19060 + ImportSpecifier 19061 19080 + Identifier 19061 19080 + ImportSpecifier 19081 19110 + Identifier 19081 19110 + ImportSpecifier 19111 19136 + Identifier 19111 19136 + ImportSpecifier 19137 19185 + Identifier 19137 19185 + ImportSpecifier 19186 19235 + Identifier 19186 19235 + ImportSpecifier 19236 19278 + Identifier 19236 19278 + ImportSpecifier 19279 19311 + Identifier 19279 19311 + ImportSpecifier 19312 19349 + Identifier 19312 19349 + ImportSpecifier 19350 19403 + Identifier 19350 19403 + ImportSpecifier 19404 19430 + Identifier 19404 19430 + ImportSpecifier 19431 19458 + Identifier 19431 19458 + ImportSpecifier 19459 19479 + Identifier 19459 19479 + ImportSpecifier 19480 19507 + Identifier 19480 19507 + ImportSpecifier 19508 19533 + Identifier 19508 19533 + ImportSpecifier 19534 19557 + Identifier 19534 19557 + ImportSpecifier 19558 19593 + Identifier 19558 19593 + ImportSpecifier 19594 19625 + Identifier 19594 19625 + ImportSpecifier 19626 19647 + Identifier 19626 19647 + ImportSpecifier 19648 19667 + Identifier 19648 19667 + ImportSpecifier 19668 19689 + Identifier 19668 19689 + ImportSpecifier 19690 19710 + Identifier 19690 19710 + ImportSpecifier 19711 19746 + Identifier 19711 19746 + ImportSpecifier 19747 19786 + Identifier 19747 19786 + ImportSpecifier 19787 19835 + Identifier 19787 19835 + ImportSpecifier 19836 19901 + Identifier 19836 19901 + ImportSpecifier 19902 19924 + Identifier 19902 19924 + ImportSpecifier 19925 19944 + Identifier 19925 19944 + ImportSpecifier 19945 19975 + Identifier 19945 19975 + ImportSpecifier 19976 20012 + Identifier 19976 20012 + ImportSpecifier 20013 20048 + Identifier 20013 20048 + ImportSpecifier 20049 20073 + Identifier 20049 20073 + ImportSpecifier 20074 20101 + Identifier 20074 20101 + ImportSpecifier 20102 20120 + Identifier 20102 20120 + ImportSpecifier 20121 20141 + Identifier 20121 20141 + ImportSpecifier 20142 20166 + Identifier 20142 20166 + ImportSpecifier 20167 20188 + Identifier 20167 20188 + ImportSpecifier 20189 20206 + Identifier 20189 20206 + ImportSpecifier 20207 20234 + Identifier 20207 20234 + ImportSpecifier 20235 20249 + Identifier 20235 20249 + ImportSpecifier 20250 20264 + Identifier 20250 20264 + ImportSpecifier 20265 20300 + Identifier 20265 20300 + ImportSpecifier 20301 20322 + Identifier 20301 20322 + ImportSpecifier 20323 20348 + Identifier 20323 20348 + ImportSpecifier 20349 20383 + Identifier 20349 20383 + ImportSpecifier 20384 20401 + Identifier 20384 20401 + ImportSpecifier 20402 20423 + Identifier 20402 20423 + ImportSpecifier 20424 20456 + Identifier 20424 20456 + ImportSpecifier 20457 20477 + Identifier 20457 20477 + ImportSpecifier 20478 20514 + Identifier 20478 20514 + ImportSpecifier 20515 20537 + Identifier 20515 20537 + ImportSpecifier 20538 20572 + Identifier 20538 20572 + ImportSpecifier 20573 20619 + Identifier 20573 20619 + ImportSpecifier 20620 20643 + Identifier 20620 20643 + ImportSpecifier 20644 20664 + Identifier 20644 20664 + ImportSpecifier 20665 20690 + Identifier 20665 20690 + ImportSpecifier 20691 20716 + Identifier 20691 20716 + ImportSpecifier 20717 20740 + Identifier 20717 20740 + ImportSpecifier 20741 20762 + Identifier 20741 20762 + ImportSpecifier 20763 20780 + Identifier 20763 20780 + ImportSpecifier 20781 20809 + Identifier 20781 20809 + ImportSpecifier 20810 20833 + Identifier 20810 20833 + ImportSpecifier 20834 20857 + Identifier 20834 20857 + ImportSpecifier 20858 20874 + Identifier 20858 20874 + ImportSpecifier 20875 20895 + Identifier 20875 20895 + ImportSpecifier 20896 20920 + Identifier 20896 20920 + ImportSpecifier 20921 20954 + Identifier 20921 20954 + ImportSpecifier 20955 20996 + Identifier 20955 20996 + ImportSpecifier 20997 21021 + Identifier 20997 21021 + ImportSpecifier 21022 21054 + Identifier 21022 21054 + ImportSpecifier 21055 21080 + Identifier 21055 21080 + ImportSpecifier 21081 21102 + Identifier 21081 21102 + ImportSpecifier 21103 21128 + Identifier 21103 21128 + ImportSpecifier 21129 21154 + Identifier 21129 21154 + ImportSpecifier 21155 21187 + Identifier 21155 21187 + ImportSpecifier 21188 21211 + Identifier 21188 21211 + ImportSpecifier 21212 21237 + Identifier 21212 21237 + ImportSpecifier 21238 21270 + Identifier 21238 21270 + ImportSpecifier 21271 21304 + Identifier 21271 21304 + ImportSpecifier 21305 21338 + Identifier 21305 21338 + ImportSpecifier 21339 21366 + Identifier 21339 21366 + ImportSpecifier 21367 21428 + Identifier 21367 21428 + ImportSpecifier 21429 21475 + Identifier 21429 21475 + ImportSpecifier 21476 21507 + Identifier 21476 21507 + ImportSpecifier 21508 21528 + Identifier 21508 21528 + ImportSpecifier 21529 21554 + Identifier 21529 21554 + ImportSpecifier 21555 21574 + Identifier 21555 21574 + ImportSpecifier 21575 21598 + Identifier 21575 21598 + ImportSpecifier 21599 21627 + Identifier 21599 21627 + ImportSpecifier 21628 21648 + Identifier 21628 21648 + ImportSpecifier 21649 21660 + Identifier 21649 21660 + ImportSpecifier 21661 21683 + Identifier 21661 21683 + ImportSpecifier 21684 21706 + Identifier 21684 21706 + ImportSpecifier 21707 21725 + Identifier 21707 21725 + ImportSpecifier 21726 21749 + Identifier 21726 21749 + ImportSpecifier 21750 21774 + Identifier 21750 21774 + ImportSpecifier 21775 21795 + Identifier 21775 21795 + ImportSpecifier 21796 21811 + Identifier 21796 21811 + ImportSpecifier 21812 21831 + Identifier 21812 21831 + ImportSpecifier 21832 21852 + Identifier 21832 21852 + ImportSpecifier 21853 21874 + Identifier 21853 21874 + ImportSpecifier 21875 21898 + Identifier 21875 21898 + ImportSpecifier 21899 21922 + Identifier 21899 21922 + ImportSpecifier 21923 21945 + Identifier 21923 21945 + ImportSpecifier 21946 21969 + Identifier 21946 21969 + ImportSpecifier 21970 21991 + Identifier 21970 21991 + ImportSpecifier 21992 22018 + Identifier 21992 22018 + ImportSpecifier 22019 22041 + Identifier 22019 22041 + ImportSpecifier 22042 22065 + Identifier 22042 22065 + ImportSpecifier 22066 22086 + Identifier 22066 22086 + ImportSpecifier 22087 22110 + Identifier 22087 22110 + ImportSpecifier 22111 22131 + Identifier 22111 22131 + ImportSpecifier 22132 22154 + Identifier 22132 22154 + ImportSpecifier 22155 22173 + Identifier 22155 22173 + ImportSpecifier 22174 22198 + Identifier 22174 22198 + ImportSpecifier 22199 22220 + Identifier 22199 22220 + ImportSpecifier 22221 22246 + Identifier 22221 22246 + ImportSpecifier 22247 22269 + Identifier 22247 22269 + ImportSpecifier 22270 22300 + Identifier 22270 22300 + ImportSpecifier 22301 22319 + Identifier 22301 22319 + ImportSpecifier 22320 22343 + Identifier 22320 22343 + ImportSpecifier 22344 22362 + Identifier 22344 22362 + ImportSpecifier 22363 22385 + Identifier 22363 22385 + ImportSpecifier 22386 22408 + Identifier 22386 22408 + ImportSpecifier 22409 22428 + Identifier 22409 22428 + ImportSpecifier 22429 22446 + Identifier 22429 22446 + ImportSpecifier 22447 22461 + Identifier 22447 22461 + ImportSpecifier 22462 22485 + Identifier 22462 22485 + ImportSpecifier 22486 22502 + Identifier 22486 22502 + ImportSpecifier 22503 22516 + Identifier 22503 22516 + ImportSpecifier 22517 22536 + Identifier 22517 22536 + ImportSpecifier 22537 22551 + Identifier 22537 22551 + ImportSpecifier 22552 22569 + Identifier 22552 22569 + ImportSpecifier 22570 22593 + Identifier 22570 22593 + ImportSpecifier 22594 22617 + Identifier 22594 22617 + ImportSpecifier 22618 22642 + Identifier 22618 22642 + ImportSpecifier 22643 22670 + Identifier 22643 22670 + ImportSpecifier 22671 22693 + Identifier 22671 22693 + ImportSpecifier 22694 22721 + Identifier 22694 22721 + ImportSpecifier 22722 22746 + Identifier 22722 22746 + ImportSpecifier 22747 22773 + Identifier 22747 22773 + ImportSpecifier 22774 22795 + Identifier 22774 22795 + ImportSpecifier 22796 22818 + Identifier 22796 22818 + ImportSpecifier 22819 22853 + Identifier 22819 22853 + ImportSpecifier 22854 22864 + Identifier 22854 22864 + ImportSpecifier 22865 22886 + Identifier 22865 22886 + ImportSpecifier 22887 22929 + Identifier 22887 22929 + ImportSpecifier 22930 22956 + Identifier 22930 22956 + ImportSpecifier 22957 22976 + Identifier 22957 22976 + ImportSpecifier 22977 23013 + Identifier 22977 23013 + ImportSpecifier 23014 23038 + Identifier 23014 23038 + ImportSpecifier 23039 23051 + Identifier 23039 23051 + ImportSpecifier 23052 23075 + Identifier 23052 23075 + ImportSpecifier 23076 23093 + Identifier 23076 23093 + ImportSpecifier 23094 23115 + Identifier 23094 23115 + ImportSpecifier 23116 23125 + Identifier 23116 23125 + ImportSpecifier 23126 23142 + Identifier 23126 23142 + ImportSpecifier 23143 23161 + Identifier 23143 23161 + ImportSpecifier 23162 23178 + Identifier 23162 23178 + ImportSpecifier 23179 23199 + Identifier 23179 23199 + ImportSpecifier 23200 23218 + Identifier 23200 23218 + ImportSpecifier 23219 23234 + Identifier 23219 23234 + ImportSpecifier 23235 23261 + Identifier 23235 23261 + ImportSpecifier 23262 23280 + Identifier 23262 23280 + ImportSpecifier 23281 23304 + Identifier 23281 23304 + ImportSpecifier 23305 23326 + Identifier 23305 23326 + ImportSpecifier 23327 23342 + Identifier 23327 23342 + ImportSpecifier 23343 23359 + Identifier 23343 23359 + ImportSpecifier 23360 23374 + Identifier 23360 23374 + ImportSpecifier 23375 23394 + Identifier 23375 23394 + ImportSpecifier 23395 23417 + Identifier 23395 23417 + ImportSpecifier 23418 23438 + Identifier 23418 23438 + ImportSpecifier 23439 23456 + Identifier 23439 23456 + ImportSpecifier 23457 23480 + Identifier 23457 23480 + ImportSpecifier 23481 23503 + Identifier 23481 23503 + ImportSpecifier 23504 23535 + Identifier 23504 23535 + ImportSpecifier 23536 23569 + Identifier 23536 23569 + ImportSpecifier 23570 23605 + Identifier 23570 23605 + ImportSpecifier 23606 23631 + Identifier 23606 23631 + ImportSpecifier 23632 23648 + Identifier 23632 23648 + ImportSpecifier 23649 23675 + Identifier 23649 23675 + ImportSpecifier 23676 23711 + Identifier 23676 23711 + ImportSpecifier 23712 23748 + Identifier 23712 23748 + ImportSpecifier 23749 23762 + Identifier 23749 23762 + ImportSpecifier 23763 23785 + Identifier 23763 23785 + ImportSpecifier 23786 23808 + Identifier 23786 23808 + ImportSpecifier 23809 23827 + Identifier 23809 23827 + ImportSpecifier 23828 23855 + Identifier 23828 23855 + ImportSpecifier 23856 23878 + Identifier 23856 23878 + ImportSpecifier 23879 23905 + Identifier 23879 23905 + ImportSpecifier 23906 23927 + Identifier 23906 23927 + ImportSpecifier 23928 23960 + Identifier 23928 23960 + ImportSpecifier 23961 23982 + Identifier 23961 23982 + ImportSpecifier 23983 24005 + Identifier 23983 24005 + ImportSpecifier 24006 24025 + Identifier 24006 24025 + ImportSpecifier 24026 24036 + Identifier 24026 24036 + ImportSpecifier 24037 24052 + Identifier 24037 24052 + ImportSpecifier 24053 24075 + Identifier 24053 24075 + ImportSpecifier 24076 24100 + Identifier 24076 24100 + ImportSpecifier 24101 24121 + Identifier 24101 24121 + ImportSpecifier 24122 24137 + Identifier 24122 24137 + ImportSpecifier 24138 24155 + Identifier 24138 24155 + ImportSpecifier 24156 24175 + Identifier 24156 24175 + ImportSpecifier 24176 24195 + Identifier 24176 24195 + ImportSpecifier 24196 24219 + Identifier 24196 24219 + ImportSpecifier 24220 24235 + Identifier 24220 24235 + ImportSpecifier 24236 24273 + Identifier 24236 24273 + ImportSpecifier 24274 24301 + Identifier 24274 24301 + ImportSpecifier 24302 24320 + Identifier 24302 24320 + ImportSpecifier 24321 24344 + Identifier 24321 24344 + ImportSpecifier 24345 24380 + Identifier 24345 24380 + ImportSpecifier 24381 24390 + Identifier 24381 24390 + ImportSpecifier 24391 24432 + Identifier 24391 24432 + ImportSpecifier 24433 24456 + Identifier 24433 24456 + ImportSpecifier 24457 24477 + Identifier 24457 24477 + ImportSpecifier 24478 24499 + Identifier 24478 24499 + ImportSpecifier 24500 24526 + Identifier 24500 24526 + ImportSpecifier 24527 24544 + Identifier 24527 24544 + ImportSpecifier 24545 24566 + Identifier 24545 24566 + ImportSpecifier 24567 24597 + Identifier 24567 24597 + ImportSpecifier 24598 24627 + Identifier 24598 24627 + ImportSpecifier 24628 24644 + Identifier 24628 24644 + ImportSpecifier 24645 24664 + Identifier 24645 24664 + ImportSpecifier 24665 24687 + Identifier 24665 24687 + ImportSpecifier 24688 24696 + Identifier 24688 24696 + ImportSpecifier 24697 24722 + Identifier 24697 24722 + ImportSpecifier 24723 24749 + Identifier 24723 24749 + ImportSpecifier 24750 24776 + Identifier 24750 24776 + ImportSpecifier 24777 24805 + Identifier 24777 24805 + ImportSpecifier 24806 24840 + Identifier 24806 24840 + ImportSpecifier 24841 24870 + Identifier 24841 24870 + ImportSpecifier 24871 24898 + Identifier 24871 24898 + ImportSpecifier 24899 24928 + Identifier 24899 24928 + ImportSpecifier 24929 24951 + Identifier 24929 24951 + ImportSpecifier 24952 24975 + Identifier 24952 24975 + ImportSpecifier 24976 24998 + Identifier 24976 24998 + ImportSpecifier 24999 25009 + Identifier 24999 25009 + ImportSpecifier 25010 25030 + Identifier 25010 25030 + ImportSpecifier 25031 25057 + Identifier 25031 25057 + ImportSpecifier 25058 25073 + Identifier 25058 25073 + ImportSpecifier 25074 25102 + Identifier 25074 25102 + ImportSpecifier 25103 25127 + Identifier 25103 25127 + ImportSpecifier 25128 25155 + Identifier 25128 25155 + ImportSpecifier 25156 25179 + Identifier 25156 25179 + ImportSpecifier 25180 25193 + Identifier 25180 25193 + ImportSpecifier 25194 25222 + Identifier 25194 25222 + ImportSpecifier 25223 25248 + Identifier 25223 25248 + ImportSpecifier 25249 25289 + Identifier 25249 25289 + ImportSpecifier 25290 25320 + Identifier 25290 25320 + ImportSpecifier 25321 25345 + Identifier 25321 25345 + ImportSpecifier 25346 25371 + Identifier 25346 25371 + ImportSpecifier 25372 25390 + Identifier 25372 25390 + ImportSpecifier 25391 25414 + Identifier 25391 25414 + ImportSpecifier 25415 25433 + Identifier 25415 25433 + ImportSpecifier 25434 25460 + Identifier 25434 25460 + ImportSpecifier 25461 25488 + Identifier 25461 25488 + ImportSpecifier 25489 25507 + Identifier 25489 25507 + ImportSpecifier 25508 25527 + Identifier 25508 25527 + ImportSpecifier 25528 25547 + Identifier 25528 25547 + ImportSpecifier 25548 25565 + Identifier 25548 25565 + ImportSpecifier 25566 25583 + Identifier 25566 25583 + ImportSpecifier 25584 25611 + Identifier 25584 25611 + ImportSpecifier 25612 25633 + Identifier 25612 25633 + ImportSpecifier 25634 25650 + Identifier 25634 25650 + ImportSpecifier 25651 25681 + Identifier 25651 25681 + ImportSpecifier 25682 25712 + Identifier 25682 25712 + ImportSpecifier 25713 25737 + Identifier 25713 25737 + ImportSpecifier 25738 25759 + Identifier 25738 25759 + ImportSpecifier 25760 25778 + Identifier 25760 25778 + ImportSpecifier 25779 25799 + Identifier 25779 25799 + ImportSpecifier 25800 25835 + Identifier 25800 25835 + ImportSpecifier 25836 25856 + Identifier 25836 25856 + ImportSpecifier 25857 25881 + Identifier 25857 25881 + ImportSpecifier 25882 25900 + Identifier 25882 25900 + ImportSpecifier 25901 25926 + Identifier 25901 25926 + ImportSpecifier 25927 25945 + Identifier 25927 25945 + ImportSpecifier 25946 25967 + Identifier 25946 25967 + ImportSpecifier 25968 25993 + Identifier 25968 25993 + ImportSpecifier 25994 26017 + Identifier 25994 26017 + ImportSpecifier 26018 26031 + Identifier 26018 26031 + ImportSpecifier 26032 26057 + Identifier 26032 26057 + ImportSpecifier 26058 26071 + Identifier 26058 26071 + ImportSpecifier 26072 26097 + Identifier 26072 26097 + ImportSpecifier 26098 26114 + Identifier 26098 26114 + ImportSpecifier 26115 26133 + Identifier 26115 26133 + ImportSpecifier 26134 26162 + Identifier 26134 26162 + ImportSpecifier 26163 26209 + Identifier 26163 26184 + Identifier 26187 26209 + ImportSpecifier 26210 26228 + Identifier 26210 26228 + ImportSpecifier 26229 26261 + Identifier 26229 26261 + ImportSpecifier 26262 26280 + Identifier 26262 26280 + ImportSpecifier 26281 26302 + Identifier 26281 26302 + ImportSpecifier 26303 26318 + Identifier 26303 26318 + ImportSpecifier 26319 26352 + Identifier 26319 26352 + ImportSpecifier 26353 26393 + Identifier 26353 26371 + Identifier 26374 26393 + ImportSpecifier 26394 26418 + Identifier 26394 26418 + ImportSpecifier 26419 26444 + Identifier 26419 26444 + ImportSpecifier 26445 26478 + Identifier 26445 26478 + ImportSpecifier 26479 26516 + Identifier 26479 26516 + ImportSpecifier 26517 26547 + Identifier 26517 26547 + ImportSpecifier 26548 26582 + Identifier 26548 26582 + ImportSpecifier 26583 26598 + Identifier 26583 26598 + ImportSpecifier 26599 26625 + Identifier 26599 26625 + ImportSpecifier 26626 26646 + Identifier 26626 26646 + ImportSpecifier 26647 26666 + Identifier 26647 26666 + ImportSpecifier 26667 26691 + Identifier 26667 26691 + ImportSpecifier 26692 26717 + Identifier 26692 26717 + ImportSpecifier 26718 26744 + Identifier 26718 26744 + ImportSpecifier 26745 26766 + Identifier 26745 26766 + ImportSpecifier 26767 26783 + Identifier 26767 26783 + ImportSpecifier 26784 26806 + Identifier 26784 26806 + ImportSpecifier 26807 26832 + Identifier 26807 26832 + ImportSpecifier 26833 26843 + Identifier 26833 26843 + ImportSpecifier 26844 26860 + Identifier 26844 26860 + ImportSpecifier 26861 26889 + Identifier 26861 26889 + ImportSpecifier 26890 26912 + Identifier 26890 26912 + ImportSpecifier 26913 26932 + Identifier 26913 26932 + ImportSpecifier 26933 26949 + Identifier 26933 26949 + ImportSpecifier 26950 26965 + Identifier 26950 26965 + ImportSpecifier 26966 26985 + Identifier 26966 26985 + ImportSpecifier 26986 27009 + Identifier 26986 27009 + ImportSpecifier 27010 27033 + Identifier 27010 27033 + ImportSpecifier 27034 27057 + Identifier 27034 27057 + ImportSpecifier 27058 27075 + Identifier 27058 27075 + ImportSpecifier 27076 27096 + Identifier 27076 27096 + ImportSpecifier 27097 27119 + Identifier 27097 27119 + ImportSpecifier 27120 27135 + Identifier 27120 27135 + ImportSpecifier 27136 27157 + Identifier 27136 27157 + ImportSpecifier 27158 27170 + Identifier 27158 27170 + ImportSpecifier 27171 27196 + Identifier 27171 27196 + ImportSpecifier 27197 27228 + Identifier 27197 27228 + ImportSpecifier 27229 27246 + Identifier 27229 27246 + ImportSpecifier 27247 27270 + Identifier 27247 27270 + ImportSpecifier 27271 27285 + Identifier 27271 27285 + ImportSpecifier 27286 27303 + Identifier 27286 27303 + ImportSpecifier 27304 27320 + Identifier 27304 27320 + ImportSpecifier 27321 27338 + Identifier 27321 27338 + ImportSpecifier 27339 27358 + Identifier 27339 27358 + ImportSpecifier 27359 27387 + Identifier 27359 27387 + ImportSpecifier 27388 27425 + Identifier 27388 27425 + ImportSpecifier 27426 27464 + Identifier 27426 27464 + ImportSpecifier 27465 27481 + Identifier 27465 27481 + ImportSpecifier 27482 27514 + Identifier 27482 27514 + ImportSpecifier 27515 27540 + Identifier 27515 27540 + ImportSpecifier 27541 27571 + Identifier 27541 27571 + ImportSpecifier 27572 27596 + Identifier 27572 27596 + ImportSpecifier 27597 27622 + Identifier 27597 27622 + ImportSpecifier 27623 27652 + Identifier 27623 27652 + ImportSpecifier 27653 27666 + Identifier 27653 27666 + ImportSpecifier 27667 27707 + Identifier 27667 27707 + ImportSpecifier 27708 27722 + Identifier 27708 27722 + ImportSpecifier 27723 27753 + Identifier 27723 27753 + ImportSpecifier 27754 27771 + Identifier 27754 27771 + ImportSpecifier 27772 27792 + Identifier 27772 27792 + ImportSpecifier 27793 27811 + Identifier 27793 27811 + ImportSpecifier 27812 27832 + Identifier 27812 27832 + ImportSpecifier 27833 27849 + Identifier 27833 27849 + ImportSpecifier 27850 27869 + Identifier 27850 27869 + ImportSpecifier 27870 27883 + Identifier 27870 27883 + ImportSpecifier 27884 27901 + Identifier 27884 27901 + ImportSpecifier 27902 27921 + Identifier 27902 27921 + ImportSpecifier 27922 27943 + Identifier 27922 27943 + ImportSpecifier 27944 27970 + Identifier 27944 27970 + ImportSpecifier 27971 27988 + Identifier 27971 27988 + ImportSpecifier 27989 28002 + Identifier 27989 28002 + ImportSpecifier 28003 28030 + Identifier 28003 28030 + ImportSpecifier 28031 28098 + Identifier 28031 28098 + ImportSpecifier 28099 28128 + Identifier 28099 28128 + ImportSpecifier 28129 28163 + Identifier 28129 28163 + ImportSpecifier 28164 28206 + Identifier 28164 28206 + ImportSpecifier 28207 28253 + Identifier 28207 28253 + ImportSpecifier 28254 28272 + Identifier 28254 28272 + ImportSpecifier 28273 28288 + Identifier 28273 28288 + ImportSpecifier 28289 28308 + Identifier 28289 28308 + ImportSpecifier 28309 28333 + Identifier 28309 28333 + ImportSpecifier 28334 28344 + Identifier 28334 28344 + ImportSpecifier 28345 28371 + Identifier 28345 28371 + ImportSpecifier 28372 28391 + Identifier 28372 28391 + ImportSpecifier 28392 28409 + Identifier 28392 28409 + ImportSpecifier 28410 28431 + Identifier 28410 28431 + ImportSpecifier 28432 28450 + Identifier 28432 28450 + ImportSpecifier 28451 28468 + Identifier 28451 28468 + ImportSpecifier 28469 28484 + Identifier 28469 28484 + ImportSpecifier 28485 28506 + Identifier 28485 28506 + ImportSpecifier 28507 28519 + Identifier 28507 28519 + ImportSpecifier 28520 28541 + Identifier 28520 28541 + ImportSpecifier 28542 28559 + Identifier 28542 28559 + ImportSpecifier 28560 28576 + Identifier 28560 28576 + ImportSpecifier 28577 28591 + Identifier 28577 28591 + ImportSpecifier 28592 28616 + Identifier 28592 28616 + ImportSpecifier 28617 28639 + Identifier 28617 28639 + ImportSpecifier 28640 28670 + Identifier 28640 28670 + ImportSpecifier 28671 28711 + Identifier 28671 28711 + ImportSpecifier 28712 28734 + Identifier 28712 28734 + ImportSpecifier 28735 28754 + Identifier 28735 28754 + ImportSpecifier 28755 28785 + Identifier 28755 28785 + ImportSpecifier 28786 28805 + Identifier 28786 28805 + ImportSpecifier 28806 28829 + Identifier 28806 28829 + ImportSpecifier 28830 28853 + Identifier 28830 28853 + ImportSpecifier 28854 28873 + Identifier 28854 28873 + ImportSpecifier 28874 28893 + Identifier 28874 28893 + ImportSpecifier 28894 28917 + Identifier 28894 28917 + ImportSpecifier 28918 28954 + Identifier 28918 28954 + ImportSpecifier 28955 28978 + Identifier 28955 28978 + ImportSpecifier 28979 28997 + Identifier 28979 28997 + ImportSpecifier 28998 29030 + Identifier 28998 29030 + ImportSpecifier 29031 29060 + Identifier 29031 29060 + ImportSpecifier 29061 29094 + Identifier 29061 29094 + ImportSpecifier 29095 29115 + Identifier 29095 29115 + ImportSpecifier 29116 29131 + Identifier 29116 29131 + ImportSpecifier 29132 29151 + Identifier 29132 29151 + ImportSpecifier 29152 29176 + Identifier 29152 29176 + ImportSpecifier 29177 29210 + Identifier 29177 29210 + ImportSpecifier 29211 29236 + Identifier 29211 29236 + ImportSpecifier 29237 29266 + Identifier 29237 29266 + ImportSpecifier 29267 29296 + Identifier 29267 29296 + ImportSpecifier 29297 29320 + Identifier 29297 29320 + ImportSpecifier 29321 29340 + Identifier 29321 29340 + ImportSpecifier 29341 29385 + Identifier 29341 29361 + Identifier 29364 29385 + ImportSpecifier 29386 29401 + Identifier 29386 29401 + ImportSpecifier 29402 29418 + Identifier 29402 29418 + ImportSpecifier 29419 29432 + Identifier 29419 29432 + ImportSpecifier 29433 29450 + Identifier 29433 29450 + ImportSpecifier 29451 29471 + Identifier 29451 29471 + ImportSpecifier 29472 29510 + Identifier 29472 29510 + ImportSpecifier 29511 29539 + Identifier 29511 29539 + ImportSpecifier 29540 29576 + Identifier 29540 29576 + ImportSpecifier 29577 29607 + Identifier 29577 29607 + ImportSpecifier 29608 29658 + Identifier 29608 29658 + ImportSpecifier 29659 29679 + Identifier 29659 29679 + ImportSpecifier 29680 29701 + Identifier 29680 29701 + ImportSpecifier 29702 29721 + Identifier 29702 29721 + ImportSpecifier 29722 29743 + Identifier 29722 29743 + StringLiteral 29752 29774 + ImportDeclaration 29775 29850 + ImportClause 29783 29805 + NamespaceImport 29783 29805 + Identifier 29788 29805 + StringLiteral 29810 29849 + ImportDeclaration 29850 29915 + ImportClause 29858 29875 + NamespaceImport 29858 29875 + Identifier 29863 29875 + StringLiteral 29880 29914 + VariableStatement 29915 29961 + VariableDeclarationList 29915 29960 + VariableDeclaration 29924 29960 + Identifier 29924 29949 + RegularExpressionLiteral 29951 29960 + VariableStatement 29961 30011 + VariableDeclarationList 29961 30010 + VariableDeclaration 29968 30010 + Identifier 29968 29973 + AsExpression 29975 30010 + StringLiteral 29975 29989 + IntersectionType 29992 30010 + TypeReference 29992 30001 + Identifier 29992 30001 + StringKeyword 30003 30010 + EnumDeclaration 30011 30210 + ConstKeyword 30011 30020 + Identifier 30025 30039 + EnumMember 30041 30058 + Identifier 30041 30058 + EnumMember 30059 30075 + Identifier 30059 30075 + EnumMember 30076 30090 + Identifier 30076 30090 + EnumMember 30091 30113 + Identifier 30091 30113 + EnumMember 30114 30123 + Identifier 30114 30123 + EnumMember 30124 30143 + Identifier 30124 30143 + EnumMember 30144 30168 + Identifier 30144 30168 + EnumMember 30169 30190 + Identifier 30169 30190 + EnumMember 30191 30206 + Identifier 30191 30206 + VariableStatement 30210 30235 + VariableDeclarationList 30210 30234 + VariableDeclaration 30217 30234 + Identifier 30217 30230 + NumericLiteral 30232 30234 + VariableStatement 30235 30256 + VariableDeclarationList 30235 30255 + VariableDeclaration 30240 30255 + Identifier 30240 30251 + NumericLiteral 30253 30255 + VariableStatement 30256 30278 + VariableDeclarationList 30256 30277 + VariableDeclaration 30261 30277 + Identifier 30261 30273 + NumericLiteral 30275 30277 + VariableStatement 30278 30299 + VariableDeclarationList 30278 30298 + VariableDeclaration 30283 30298 + Identifier 30283 30294 + NumericLiteral 30296 30298 + EnumDeclaration 30299 31255 + ConstKeyword 30299 30308 + Identifier 30313 30326 + EnumMember 30328 30366 + Identifier 30328 30357 + BinaryExpression 30359 30366 + NumericLiteral 30359 30361 + LessThanLessThanToken 30361 30364 + NumericLiteral 30364 30366 + EnumMember 30367 30406 + Identifier 30367 30397 + BinaryExpression 30399 30406 + NumericLiteral 30399 30401 + LessThanLessThanToken 30401 30404 + NumericLiteral 30404 30406 + EnumMember 30407 30443 + Identifier 30407 30434 + BinaryExpression 30436 30443 + NumericLiteral 30436 30438 + LessThanLessThanToken 30438 30441 + NumericLiteral 30441 30443 + EnumMember 30444 30468 + Identifier 30444 30459 + BinaryExpression 30461 30468 + NumericLiteral 30461 30463 + LessThanLessThanToken 30463 30466 + NumericLiteral 30466 30468 + EnumMember 30469 30497 + Identifier 30469 30488 + BinaryExpression 30490 30497 + NumericLiteral 30490 30492 + LessThanLessThanToken 30492 30495 + NumericLiteral 30495 30497 + EnumMember 30498 30523 + Identifier 30498 30514 + BinaryExpression 30516 30523 + NumericLiteral 30516 30518 + LessThanLessThanToken 30518 30521 + NumericLiteral 30521 30523 + EnumMember 30524 30556 + Identifier 30524 30547 + BinaryExpression 30549 30556 + NumericLiteral 30549 30551 + LessThanLessThanToken 30551 30554 + NumericLiteral 30554 30556 + EnumMember 30557 30591 + Identifier 30557 30582 + BinaryExpression 30584 30591 + NumericLiteral 30584 30586 + LessThanLessThanToken 30586 30589 + NumericLiteral 30589 30591 + EnumMember 30592 30689 + Identifier 30592 30663 + Identifier 30665 30689 + EnumMember 30690 30741 + Identifier 30690 30702 + BinaryExpression 30704 30741 + Identifier 30704 30728 + BarToken 30728 30730 + Identifier 30730 30741 + EnumMember 30742 30807 + Identifier 30742 30761 + BinaryExpression 30763 30807 + Identifier 30763 30787 + BarToken 30787 30789 + Identifier 30789 30807 + EnumMember 30808 30883 + Identifier 30808 30821 + BinaryExpression 30823 30883 + BinaryExpression 30823 30871 + Identifier 30823 30847 + BarToken 30847 30849 + Identifier 30849 30871 + BarToken 30871 30873 + Identifier 30873 30883 + EnumMember 30884 30989 + Identifier 30884 30900 + BinaryExpression 30902 30989 + BinaryExpression 30902 30977 + BinaryExpression 30902 30953 + Identifier 30902 30926 + BarToken 30926 30928 + Identifier 30928 30953 + BarToken 30953 30955 + Identifier 30955 30977 + BarToken 30977 30979 + Identifier 30979 30989 + EnumMember 30990 31049 + Identifier 30990 31007 + BinaryExpression 31009 31049 + Identifier 31009 31033 + BarToken 31033 31035 + Identifier 31035 31049 + EnumMember 31050 31139 + Identifier 31050 31070 + BinaryExpression 31072 31139 + BinaryExpression 31072 31123 + Identifier 31072 31096 + BarToken 31096 31098 + Identifier 31098 31123 + BarToken 31123 31125 + Identifier 31125 31139 + EnumMember 31140 31193 + Identifier 31140 31167 + Identifier 31169 31193 + EnumMember 31194 31251 + Identifier 31194 31224 + Identifier 31226 31251 + EnumDeclaration 31255 31328 + ConstKeyword 31255 31264 + Identifier 31269 31287 + EnumMember 31289 31300 + Identifier 31289 31300 + EnumMember 31301 31313 + Identifier 31301 31313 + EnumMember 31314 31324 + Identifier 31314 31324 + InterfaceDeclaration 31328 32259 + Identifier 31341 31364 + PropertySignature 31366 31451 + Identifier 31366 31388 + UnionType 31389 31450 + LiteralType 31389 31421 + StringLiteral 31389 31421 + LiteralType 31423 31450 + StringLiteral 31423 31450 + PropertySignature 31451 31536 + Identifier 31451 31473 + UnionType 31474 31535 + LiteralType 31474 31506 + StringLiteral 31474 31506 + LiteralType 31508 31535 + StringLiteral 31508 31535 + PropertySignature 31536 31591 + Identifier 31536 31560 + UnionType 31561 31590 + LiteralType 31561 31577 + StringLiteral 31561 31577 + LiteralType 31579 31590 + StringLiteral 31579 31590 + PropertySignature 31591 31659 + Identifier 31591 31618 + FunctionType 31619 31658 + Parameter 31621 31642 + Identifier 31621 31633 + BooleanKeyword 31634 31642 + TypeReference 31646 31658 + Identifier 31646 31658 + PropertySignature 31659 31727 + Identifier 31659 31686 + FunctionType 31687 31726 + Parameter 31689 31710 + Identifier 31689 31701 + BooleanKeyword 31702 31710 + TypeReference 31714 31726 + Identifier 31714 31726 + PropertySignature 31727 31803 + Identifier 31727 31762 + FunctionType 31763 31802 + Parameter 31765 31786 + Identifier 31765 31777 + BooleanKeyword 31778 31786 + TypeReference 31790 31802 + Identifier 31790 31802 + PropertySignature 31803 31877 + Identifier 31803 31836 + FunctionType 31837 31876 + Parameter 31839 31860 + Identifier 31839 31851 + BooleanKeyword 31852 31860 + TypeReference 31864 31876 + Identifier 31864 31876 + PropertySignature 31877 31946 + Identifier 31877 31905 + FunctionType 31906 31945 + Parameter 31908 31929 + Identifier 31908 31920 + BooleanKeyword 31921 31929 + TypeReference 31933 31945 + Identifier 31933 31945 + PropertySignature 31946 32012 + Identifier 31946 31981 + FunctionType 31982 32011 + TypeOperator 31988 32011 + ArrayType 31997 32011 + TypeReference 31997 32009 + Identifier 31997 32009 + PropertySignature 32012 32102 + Identifier 32012 32038 + FunctionType 32039 32101 + Parameter 32041 32051 + Identifier 32041 32045 + TypeReference 32046 32051 + Identifier 32046 32051 + Parameter 32052 32080 + Identifier 32052 32062 + UnionType 32063 32080 + TypeReference 32063 32068 + Identifier 32063 32068 + UndefinedKeyword 32070 32080 + UnionType 32084 32101 + TypeReference 32084 32089 + Identifier 32084 32089 + UndefinedKeyword 32091 32101 + PropertySignature 32102 32157 + Identifier 32102 32137 + TypeReference 32138 32156 + Identifier 32138 32156 + PropertySignature 32157 32206 + Identifier 32157 32186 + TypeReference 32187 32205 + Identifier 32187 32205 + PropertySignature 32206 32256 + Identifier 32206 32236 + TypeReference 32237 32255 + Identifier 32237 32255 + EnumDeclaration 32259 32366 + ConstKeyword 32259 32268 + Identifier 32273 32286 + EnumMember 32288 32300 + Identifier 32288 32300 + EnumMember 32301 32321 + Identifier 32301 32321 + EnumMember 32322 32341 + Identifier 32322 32341 + EnumMember 32342 32362 + Identifier 32342 32362 + EnumDeclaration 32366 38907 + ExportKeyword 32366 32412 + ConstKeyword 32412 32418 + Identifier 32423 32433 + EnumMember 32435 32449 + Identifier 32435 32445 + NumericLiteral 32447 32449 + EnumMember 32450 32479 + Identifier 32450 32470 + BinaryExpression 32472 32479 + NumericLiteral 32472 32474 + LessThanLessThanToken 32474 32477 + NumericLiteral 32477 32479 + EnumMember 32480 32539 + Identifier 32480 32530 + BinaryExpression 32532 32539 + NumericLiteral 32532 32534 + LessThanLessThanToken 32534 32537 + NumericLiteral 32537 32539 + EnumMember 32540 32599 + Identifier 32540 32590 + BinaryExpression 32592 32599 + NumericLiteral 32592 32594 + LessThanLessThanToken 32594 32597 + NumericLiteral 32597 32599 + EnumMember 32600 32660 + Identifier 32600 32651 + BinaryExpression 32653 32660 + NumericLiteral 32653 32655 + LessThanLessThanToken 32655 32658 + NumericLiteral 32658 32660 + EnumMember 32661 32720 + Identifier 32661 32711 + BinaryExpression 32713 32720 + NumericLiteral 32713 32715 + LessThanLessThanToken 32715 32718 + NumericLiteral 32718 32720 + EnumMember 32721 32780 + Identifier 32721 32771 + BinaryExpression 32773 32780 + NumericLiteral 32773 32775 + LessThanLessThanToken 32775 32778 + NumericLiteral 32778 32780 + EnumMember 32781 32842 + Identifier 32781 32833 + BinaryExpression 32835 32842 + NumericLiteral 32835 32837 + LessThanLessThanToken 32837 32840 + NumericLiteral 32840 32842 + EnumMember 32843 32906 + Identifier 32843 32897 + BinaryExpression 32899 32906 + NumericLiteral 32899 32901 + LessThanLessThanToken 32901 32904 + NumericLiteral 32904 32906 + EnumMember 32907 32959 + Identifier 32907 32950 + BinaryExpression 32952 32959 + NumericLiteral 32952 32954 + LessThanLessThanToken 32954 32957 + NumericLiteral 32957 32959 + EnumMember 32960 33019 + Identifier 32960 33010 + BinaryExpression 33012 33019 + NumericLiteral 33012 33014 + LessThanLessThanToken 33014 33017 + NumericLiteral 33017 33019 + EnumMember 33020 33080 + Identifier 33020 33070 + BinaryExpression 33072 33080 + NumericLiteral 33072 33074 + LessThanLessThanToken 33074 33077 + NumericLiteral 33077 33080 + EnumMember 33081 33141 + Identifier 33081 33131 + BinaryExpression 33133 33141 + NumericLiteral 33133 33135 + LessThanLessThanToken 33135 33138 + NumericLiteral 33138 33141 + EnumMember 33142 33201 + Identifier 33142 33191 + BinaryExpression 33193 33201 + NumericLiteral 33193 33195 + LessThanLessThanToken 33195 33198 + NumericLiteral 33198 33201 + EnumMember 33202 33261 + Identifier 33202 33251 + BinaryExpression 33253 33261 + NumericLiteral 33253 33255 + LessThanLessThanToken 33255 33258 + NumericLiteral 33258 33261 + EnumMember 33262 33323 + Identifier 33262 33313 + BinaryExpression 33315 33323 + NumericLiteral 33315 33317 + LessThanLessThanToken 33317 33320 + NumericLiteral 33320 33323 + EnumMember 33324 33387 + Identifier 33324 33377 + BinaryExpression 33379 33387 + NumericLiteral 33379 33381 + LessThanLessThanToken 33381 33384 + NumericLiteral 33384 33387 + EnumMember 33388 33437 + Identifier 33388 33427 + BinaryExpression 33429 33437 + NumericLiteral 33429 33431 + LessThanLessThanToken 33431 33434 + NumericLiteral 33434 33437 + EnumMember 33438 33486 + Identifier 33438 33476 + BinaryExpression 33478 33486 + NumericLiteral 33478 33480 + LessThanLessThanToken 33480 33483 + NumericLiteral 33483 33486 + EnumMember 33487 33546 + Identifier 33487 33536 + BinaryExpression 33538 33546 + NumericLiteral 33538 33540 + LessThanLessThanToken 33540 33543 + NumericLiteral 33543 33546 + EnumMember 33547 33607 + Identifier 33547 33597 + BinaryExpression 33599 33607 + NumericLiteral 33599 33601 + LessThanLessThanToken 33601 33604 + NumericLiteral 33604 33607 + EnumMember 33608 33656 + Identifier 33608 33646 + BinaryExpression 33648 33656 + NumericLiteral 33648 33650 + LessThanLessThanToken 33650 33653 + NumericLiteral 33653 33656 + EnumMember 33657 33716 + Identifier 33657 33706 + BinaryExpression 33708 33716 + NumericLiteral 33708 33710 + LessThanLessThanToken 33710 33713 + NumericLiteral 33713 33716 + EnumMember 33717 33770 + Identifier 33717 33760 + BinaryExpression 33762 33770 + NumericLiteral 33762 33764 + LessThanLessThanToken 33764 33767 + NumericLiteral 33767 33770 + EnumMember 33771 33809 + Identifier 33771 33799 + BinaryExpression 33801 33809 + NumericLiteral 33801 33803 + LessThanLessThanToken 33803 33806 + NumericLiteral 33806 33809 + EnumMember 33810 33856 + Identifier 33810 33846 + BinaryExpression 33848 33856 + NumericLiteral 33848 33850 + LessThanLessThanToken 33850 33853 + NumericLiteral 33853 33856 + EnumMember 33857 33939 + Identifier 33857 33929 + BinaryExpression 33931 33939 + NumericLiteral 33931 33933 + LessThanLessThanToken 33933 33936 + NumericLiteral 33936 33939 + EnumMember 33940 34041 + Identifier 33940 34018 + BinaryExpression 34020 34041 + Identifier 34020 34032 + BarToken 34032 34034 + Identifier 34034 34041 + EnumMember 34042 34067 + Identifier 34042 34051 + BinaryExpression 34053 34067 + ParenthesizedExpression 34053 34063 + BinaryExpression 34055 34062 + NumericLiteral 34055 34056 + LessThanLessThanToken 34056 34059 + NumericLiteral 34059 34062 + MinusToken 34063 34065 + NumericLiteral 34065 34067 + EnumMember 34068 34535 + Identifier 34068 34349 + BinaryExpression 34351 34535 + BinaryExpression 34351 34515 + BinaryExpression 34351 34506 + BinaryExpression 34351 34492 + BinaryExpression 34351 34471 + BinaryExpression 34351 34452 + BinaryExpression 34351 34435 + BinaryExpression 34351 34418 + BinaryExpression 34351 34400 + BinaryExpression 34351 34383 + Identifier 34351 34366 + BarToken 34366 34368 + Identifier 34368 34383 + BarToken 34383 34385 + Identifier 34385 34400 + BarToken 34400 34402 + Identifier 34402 34418 + BarToken 34418 34420 + Identifier 34420 34435 + BarToken 34435 34437 + Identifier 34437 34452 + BarToken 34452 34454 + Identifier 34454 34471 + BarToken 34471 34473 + Identifier 34473 34492 + BarToken 34492 34494 + Identifier 34494 34506 + BarToken 34506 34508 + Identifier 34508 34515 + BarToken 34515 34517 + Identifier 34517 34535 + EnumMember 34536 34632 + Identifier 34536 34557 + BinaryExpression 34559 34632 + BinaryExpression 34559 34624 + BinaryExpression 34559 34604 + BinaryExpression 34559 34595 + Identifier 34559 34581 + BarToken 34581 34583 + Identifier 34583 34595 + BarToken 34595 34597 + Identifier 34597 34604 + BarToken 34604 34606 + Identifier 34606 34624 + BarToken 34624 34626 + Identifier 34626 34632 + EnumMember 34633 34697 + Identifier 34633 34656 + BinaryExpression 34658 34697 + BinaryExpression 34658 34689 + Identifier 34658 34680 + BarToken 34680 34682 + Identifier 34682 34689 + BarToken 34689 34691 + Identifier 34691 34697 + EnumMember 34698 34742 + Identifier 34698 34715 + BinaryExpression 34717 34742 + Identifier 34717 34733 + BarToken 34733 34735 + Identifier 34735 34742 + EnumMember 34743 34803 + Identifier 34743 34771 + BinaryExpression 34773 34803 + Identifier 34773 34795 + BarToken 34795 34797 + Identifier 34797 34803 + EnumMember 34804 34844 + Identifier 34804 34826 + Identifier 34828 34844 + EnumMember 34845 34909 + Identifier 34845 34876 + BinaryExpression 34878 34909 + Identifier 34878 34900 + BarToken 34900 34902 + Identifier 34902 34909 + EnumMember 34910 34962 + Identifier 34910 34935 + BinaryExpression 34937 34962 + Identifier 34937 34953 + BarToken 34953 34955 + Identifier 34955 34962 + EnumMember 34963 35176 + Identifier 34963 34990 + BinaryExpression 34992 35176 + BinaryExpression 34992 35156 + BinaryExpression 34992 35147 + BinaryExpression 34992 35133 + BinaryExpression 34992 35112 + BinaryExpression 34992 35093 + BinaryExpression 34992 35076 + BinaryExpression 34992 35059 + BinaryExpression 34992 35041 + BinaryExpression 34992 35024 + Identifier 34992 35007 + BarToken 35007 35009 + Identifier 35009 35024 + BarToken 35024 35026 + Identifier 35026 35041 + BarToken 35041 35043 + Identifier 35043 35059 + BarToken 35059 35061 + Identifier 35061 35076 + BarToken 35076 35078 + Identifier 35078 35093 + BarToken 35093 35095 + Identifier 35095 35112 + BarToken 35112 35114 + Identifier 35114 35133 + BarToken 35133 35135 + Identifier 35135 35147 + BarToken 35147 35149 + Identifier 35149 35156 + BarToken 35156 35158 + Identifier 35158 35176 + EnumMember 35177 35273 + Identifier 35177 35198 + BinaryExpression 35200 35273 + BinaryExpression 35200 35265 + BinaryExpression 35200 35245 + BinaryExpression 35200 35236 + Identifier 35200 35222 + BarToken 35222 35224 + Identifier 35224 35236 + BarToken 35236 35238 + Identifier 35238 35245 + BarToken 35245 35247 + Identifier 35247 35265 + BarToken 35265 35267 + Identifier 35267 35273 + EnumMember 35274 35338 + Identifier 35274 35297 + BinaryExpression 35299 35338 + BinaryExpression 35299 35330 + Identifier 35299 35321 + BarToken 35321 35323 + Identifier 35323 35330 + BarToken 35330 35332 + Identifier 35332 35338 + EnumMember 35339 35383 + Identifier 35339 35356 + BinaryExpression 35358 35383 + Identifier 35358 35374 + BarToken 35374 35376 + Identifier 35376 35383 + EnumMember 35384 35443 + Identifier 35384 35411 + BinaryExpression 35413 35443 + Identifier 35413 35435 + BarToken 35435 35437 + Identifier 35437 35443 + EnumMember 35444 35483 + Identifier 35444 35465 + Identifier 35467 35483 + EnumMember 35484 35547 + Identifier 35484 35514 + BinaryExpression 35516 35547 + Identifier 35516 35538 + BarToken 35538 35540 + Identifier 35540 35547 + EnumMember 35548 35599 + Identifier 35548 35572 + BinaryExpression 35574 35599 + Identifier 35574 35590 + BarToken 35590 35592 + Identifier 35592 35599 + EnumMember 35600 35813 + Identifier 35600 35627 + BinaryExpression 35629 35813 + BinaryExpression 35629 35793 + BinaryExpression 35629 35784 + BinaryExpression 35629 35770 + BinaryExpression 35629 35749 + BinaryExpression 35629 35730 + BinaryExpression 35629 35713 + BinaryExpression 35629 35696 + BinaryExpression 35629 35678 + BinaryExpression 35629 35661 + Identifier 35629 35644 + BarToken 35644 35646 + Identifier 35646 35661 + BarToken 35661 35663 + Identifier 35663 35678 + BarToken 35678 35680 + Identifier 35680 35696 + BarToken 35696 35698 + Identifier 35698 35713 + BarToken 35713 35715 + Identifier 35715 35730 + BarToken 35730 35732 + Identifier 35732 35749 + BarToken 35749 35751 + Identifier 35751 35770 + BarToken 35770 35772 + Identifier 35772 35784 + BarToken 35784 35786 + Identifier 35786 35793 + BarToken 35793 35795 + Identifier 35795 35813 + EnumMember 35814 35910 + Identifier 35814 35835 + BinaryExpression 35837 35910 + BinaryExpression 35837 35902 + BinaryExpression 35837 35882 + BinaryExpression 35837 35873 + Identifier 35837 35859 + BarToken 35859 35861 + Identifier 35861 35873 + BarToken 35873 35875 + Identifier 35875 35882 + BarToken 35882 35884 + Identifier 35884 35902 + BarToken 35902 35904 + Identifier 35904 35910 + EnumMember 35911 35975 + Identifier 35911 35934 + BinaryExpression 35936 35975 + BinaryExpression 35936 35967 + Identifier 35936 35958 + BarToken 35958 35960 + Identifier 35960 35967 + BarToken 35967 35969 + Identifier 35969 35975 + EnumMember 35976 36020 + Identifier 35976 35993 + BinaryExpression 35995 36020 + Identifier 35995 36011 + BarToken 36011 36013 + Identifier 36013 36020 + EnumMember 36021 36080 + Identifier 36021 36048 + BinaryExpression 36050 36080 + Identifier 36050 36072 + BarToken 36072 36074 + Identifier 36074 36080 + EnumMember 36081 36120 + Identifier 36081 36102 + Identifier 36104 36120 + EnumMember 36121 36184 + Identifier 36121 36151 + BinaryExpression 36153 36184 + Identifier 36153 36175 + BarToken 36175 36177 + Identifier 36177 36184 + EnumMember 36185 36236 + Identifier 36185 36209 + BinaryExpression 36211 36236 + Identifier 36211 36227 + BarToken 36227 36229 + Identifier 36229 36236 + EnumMember 36237 36451 + Identifier 36237 36265 + BinaryExpression 36267 36451 + BinaryExpression 36267 36431 + BinaryExpression 36267 36422 + BinaryExpression 36267 36408 + BinaryExpression 36267 36387 + BinaryExpression 36267 36368 + BinaryExpression 36267 36351 + BinaryExpression 36267 36334 + BinaryExpression 36267 36317 + BinaryExpression 36267 36300 + Identifier 36267 36283 + BarToken 36283 36285 + Identifier 36285 36300 + BarToken 36300 36302 + Identifier 36302 36317 + BarToken 36317 36319 + Identifier 36319 36334 + BarToken 36334 36336 + Identifier 36336 36351 + BarToken 36351 36353 + Identifier 36353 36368 + BarToken 36368 36370 + Identifier 36370 36387 + BarToken 36387 36389 + Identifier 36389 36408 + BarToken 36408 36410 + Identifier 36410 36422 + BarToken 36422 36424 + Identifier 36424 36431 + BarToken 36431 36433 + Identifier 36433 36451 + EnumMember 36452 36550 + Identifier 36452 36474 + BinaryExpression 36476 36550 + BinaryExpression 36476 36542 + BinaryExpression 36476 36522 + BinaryExpression 36476 36513 + Identifier 36476 36499 + BarToken 36499 36501 + Identifier 36501 36513 + BarToken 36513 36515 + Identifier 36515 36522 + BarToken 36522 36524 + Identifier 36524 36542 + BarToken 36542 36544 + Identifier 36544 36550 + EnumMember 36551 36617 + Identifier 36551 36575 + BinaryExpression 36577 36617 + BinaryExpression 36577 36609 + Identifier 36577 36600 + BarToken 36600 36602 + Identifier 36602 36609 + BarToken 36609 36611 + Identifier 36611 36617 + EnumMember 36618 36664 + Identifier 36618 36636 + BinaryExpression 36638 36664 + Identifier 36638 36655 + BarToken 36655 36657 + Identifier 36657 36664 + EnumMember 36665 36720 + Identifier 36665 36687 + BinaryExpression 36689 36720 + Identifier 36689 36712 + BarToken 36712 36714 + Identifier 36714 36720 + EnumMember 36721 36756 + Identifier 36721 36737 + Identifier 36739 36756 + EnumMember 36757 36812 + Identifier 36757 36778 + BinaryExpression 36780 36812 + Identifier 36780 36803 + BarToken 36803 36805 + Identifier 36805 36812 + EnumMember 36813 36856 + Identifier 36813 36828 + BinaryExpression 36830 36856 + Identifier 36830 36847 + BarToken 36847 36849 + Identifier 36849 36856 + EnumMember 36857 37075 + Identifier 36857 36880 + BinaryExpression 36882 37075 + BinaryExpression 36882 37066 + BinaryExpression 36882 37046 + BinaryExpression 36882 37037 + BinaryExpression 36882 37023 + BinaryExpression 36882 37002 + BinaryExpression 36882 36983 + BinaryExpression 36882 36966 + BinaryExpression 36882 36948 + BinaryExpression 36882 36931 + BinaryExpression 36882 36914 + Identifier 36882 36897 + BarToken 36897 36899 + Identifier 36899 36914 + BarToken 36914 36916 + Identifier 36916 36931 + BarToken 36931 36933 + Identifier 36933 36948 + BarToken 36948 36950 + Identifier 36950 36966 + BarToken 36966 36968 + Identifier 36968 36983 + BarToken 36983 36985 + Identifier 36985 37002 + BarToken 37002 37004 + Identifier 37004 37023 + BarToken 37023 37025 + Identifier 37025 37037 + BarToken 37037 37039 + Identifier 37039 37046 + BarToken 37046 37048 + Identifier 37048 37066 + BarToken 37066 37068 + Identifier 37068 37075 + EnumMember 37076 37164 + Identifier 37076 37093 + BinaryExpression 37095 37164 + BinaryExpression 37095 37156 + BinaryExpression 37095 37136 + BinaryExpression 37095 37127 + Identifier 37095 37113 + BarToken 37113 37115 + Identifier 37115 37127 + BarToken 37127 37129 + Identifier 37129 37136 + BarToken 37136 37138 + Identifier 37138 37156 + BarToken 37156 37158 + Identifier 37158 37164 + EnumMember 37165 37383 + Identifier 37165 37188 + BinaryExpression 37190 37383 + BinaryExpression 37190 37374 + BinaryExpression 37190 37354 + BinaryExpression 37190 37345 + BinaryExpression 37190 37331 + BinaryExpression 37190 37312 + BinaryExpression 37190 37295 + BinaryExpression 37190 37277 + BinaryExpression 37190 37260 + BinaryExpression 37190 37243 + BinaryExpression 37190 37226 + Identifier 37190 37205 + BarToken 37205 37207 + Identifier 37207 37226 + BarToken 37226 37228 + Identifier 37228 37243 + BarToken 37243 37245 + Identifier 37245 37260 + BarToken 37260 37262 + Identifier 37262 37277 + BarToken 37277 37279 + Identifier 37279 37295 + BarToken 37295 37297 + Identifier 37297 37312 + BarToken 37312 37314 + Identifier 37314 37331 + BarToken 37331 37333 + Identifier 37333 37345 + BarToken 37345 37347 + Identifier 37347 37354 + BarToken 37354 37356 + Identifier 37356 37374 + BarToken 37374 37376 + Identifier 37376 37383 + EnumMember 37384 37472 + Identifier 37384 37401 + BinaryExpression 37403 37472 + BinaryExpression 37403 37464 + BinaryExpression 37403 37444 + BinaryExpression 37403 37435 + Identifier 37403 37421 + BarToken 37421 37423 + Identifier 37423 37435 + BarToken 37435 37437 + Identifier 37437 37444 + BarToken 37444 37446 + Identifier 37446 37464 + BarToken 37464 37466 + Identifier 37466 37472 + EnumMember 37473 37693 + Identifier 37473 37498 + BinaryExpression 37500 37693 + BinaryExpression 37500 37684 + BinaryExpression 37500 37664 + BinaryExpression 37500 37655 + BinaryExpression 37500 37641 + BinaryExpression 37500 37624 + BinaryExpression 37500 37607 + BinaryExpression 37500 37589 + BinaryExpression 37500 37572 + BinaryExpression 37500 37555 + BinaryExpression 37500 37538 + Identifier 37500 37517 + BarToken 37517 37519 + Identifier 37519 37538 + BarToken 37538 37540 + Identifier 37540 37555 + BarToken 37555 37557 + Identifier 37557 37572 + BarToken 37572 37574 + Identifier 37574 37589 + BarToken 37589 37591 + Identifier 37591 37607 + BarToken 37607 37609 + Identifier 37609 37624 + BarToken 37624 37626 + Identifier 37626 37641 + BarToken 37641 37643 + Identifier 37643 37655 + BarToken 37655 37657 + Identifier 37657 37664 + BarToken 37664 37666 + Identifier 37666 37684 + BarToken 37684 37686 + Identifier 37686 37693 + EnumMember 37694 37786 + Identifier 37694 37713 + BinaryExpression 37715 37786 + BinaryExpression 37715 37778 + BinaryExpression 37715 37758 + BinaryExpression 37715 37749 + Identifier 37715 37735 + BarToken 37735 37737 + Identifier 37737 37749 + BarToken 37749 37751 + Identifier 37751 37758 + BarToken 37758 37760 + Identifier 37760 37778 + BarToken 37778 37780 + Identifier 37780 37786 + EnumMember 37787 37996 + Identifier 37787 37802 + BinaryExpression 37804 37996 + BinaryExpression 37804 37988 + BinaryExpression 37804 37979 + BinaryExpression 37804 37959 + BinaryExpression 37804 37945 + BinaryExpression 37804 37924 + BinaryExpression 37804 37905 + BinaryExpression 37804 37888 + BinaryExpression 37804 37871 + BinaryExpression 37804 37853 + BinaryExpression 37804 37836 + Identifier 37804 37819 + BarToken 37819 37821 + Identifier 37821 37836 + BarToken 37836 37838 + Identifier 37838 37853 + BarToken 37853 37855 + Identifier 37855 37871 + BarToken 37871 37873 + Identifier 37873 37888 + BarToken 37888 37890 + Identifier 37890 37905 + BarToken 37905 37907 + Identifier 37907 37924 + BarToken 37924 37926 + Identifier 37926 37945 + BarToken 37945 37947 + Identifier 37947 37959 + BarToken 37959 37961 + Identifier 37961 37979 + BarToken 37979 37981 + Identifier 37981 37988 + BarToken 37988 37990 + Identifier 37990 37996 + EnumMember 37997 38225 + Identifier 37997 38017 + BinaryExpression 38019 38225 + BinaryExpression 38019 38211 + BinaryExpression 38019 38203 + BinaryExpression 38019 38194 + BinaryExpression 38019 38174 + BinaryExpression 38019 38160 + BinaryExpression 38019 38139 + BinaryExpression 38019 38120 + BinaryExpression 38019 38103 + BinaryExpression 38019 38086 + BinaryExpression 38019 38068 + BinaryExpression 38019 38051 + Identifier 38019 38034 + BarToken 38034 38036 + Identifier 38036 38051 + BarToken 38051 38053 + Identifier 38053 38068 + BarToken 38068 38070 + Identifier 38070 38086 + BarToken 38086 38088 + Identifier 38088 38103 + BarToken 38103 38105 + Identifier 38105 38120 + BarToken 38120 38122 + Identifier 38122 38139 + BarToken 38139 38141 + Identifier 38141 38160 + BarToken 38160 38162 + Identifier 38162 38174 + BarToken 38174 38176 + Identifier 38176 38194 + BarToken 38194 38196 + Identifier 38196 38203 + BarToken 38203 38205 + Identifier 38205 38211 + BarToken 38211 38213 + Identifier 38213 38225 + EnumMember 38226 38444 + Identifier 38226 38241 + BinaryExpression 38243 38444 + BinaryExpression 38243 38435 + BinaryExpression 38243 38427 + BinaryExpression 38243 38413 + BinaryExpression 38243 38393 + BinaryExpression 38243 38384 + BinaryExpression 38243 38363 + BinaryExpression 38243 38344 + BinaryExpression 38243 38327 + BinaryExpression 38243 38309 + BinaryExpression 38243 38292 + BinaryExpression 38243 38275 + Identifier 38243 38258 + BarToken 38258 38260 + Identifier 38260 38275 + BarToken 38275 38277 + Identifier 38277 38292 + BarToken 38292 38294 + Identifier 38294 38309 + BarToken 38309 38311 + Identifier 38311 38327 + BarToken 38327 38329 + Identifier 38329 38344 + BarToken 38344 38346 + Identifier 38346 38363 + BarToken 38363 38365 + Identifier 38365 38384 + BarToken 38384 38386 + Identifier 38386 38393 + BarToken 38393 38395 + Identifier 38395 38413 + BarToken 38413 38415 + Identifier 38415 38427 + BarToken 38427 38429 + Identifier 38429 38435 + BarToken 38435 38437 + Identifier 38437 38444 + EnumMember 38445 38545 + Identifier 38445 38473 + BinaryExpression 38475 38545 + Identifier 38475 38479 + AmpersandToken 38479 38481 + PrefixUnaryExpression 38481 38545 + ParenthesizedExpression 38483 38545 + BinaryExpression 38484 38544 + BinaryExpression 38484 38524 + BinaryExpression 38484 38504 + Identifier 38484 38495 + BarToken 38495 38497 + Identifier 38497 38504 + BarToken 38504 38506 + Identifier 38506 38524 + BarToken 38524 38526 + Identifier 38526 38544 + EnumMember 38546 38595 + Identifier 38546 38568 + BinaryExpression 38570 38595 + Identifier 38570 38574 + AmpersandToken 38574 38576 + PrefixUnaryExpression 38576 38595 + Identifier 38578 38595 + EnumMember 38596 38641 + Identifier 38596 38614 + BinaryExpression 38616 38641 + Identifier 38616 38620 + AmpersandToken 38620 38622 + PrefixUnaryExpression 38622 38641 + Identifier 38624 38641 + EnumMember 38642 38795 + Identifier 38642 38659 + BinaryExpression 38661 38795 + BinaryExpression 38661 38781 + BinaryExpression 38661 38762 + BinaryExpression 38661 38745 + BinaryExpression 38661 38728 + BinaryExpression 38661 38710 + BinaryExpression 38661 38693 + Identifier 38661 38676 + BarToken 38676 38678 + Identifier 38678 38693 + BarToken 38693 38695 + Identifier 38695 38710 + BarToken 38710 38712 + Identifier 38712 38728 + BarToken 38728 38730 + Identifier 38730 38745 + BarToken 38745 38747 + Identifier 38747 38762 + BarToken 38762 38764 + Identifier 38764 38781 + BarToken 38781 38783 + Identifier 38783 38795 + EnumMember 38796 38863 + Identifier 38796 38827 + BinaryExpression 38829 38863 + Identifier 38829 38846 + BarToken 38846 38848 + Identifier 38848 38863 + EnumMember 38864 38903 + Identifier 38864 38882 + BinaryExpression 38884 38903 + Identifier 38884 38888 + AmpersandToken 38888 38890 + PrefixUnaryExpression 38890 38903 + Identifier 38892 38903 + VariableStatement 38907 39313 + VariableDeclarationList 38907 39312 + VariableDeclaration 38916 39312 + Identifier 38916 38930 + TypeReference 38931 38962 + Identifier 38931 38943 + StringKeyword 38944 38950 + TypeReference 38951 38961 + Identifier 38951 38961 + NewExpression 38964 39312 + Identifier 38968 38972 + CallExpression 38973 39311 + PropertyAccessExpression 38973 38987 + Identifier 38973 38979 + Identifier 38980 38987 + ObjectLiteralExpression 38988 39310 + PropertyAssignment 38989 39027 + Identifier 38989 39001 + PropertyAccessExpression 39002 39027 + Identifier 39002 39012 + Identifier 39013 39027 + PropertyAssignment 39028 39066 + Identifier 39028 39040 + PropertyAccessExpression 39041 39066 + Identifier 39041 39051 + Identifier 39052 39066 + PropertyAssignment 39067 39105 + Identifier 39067 39079 + PropertyAccessExpression 39080 39105 + Identifier 39080 39090 + Identifier 39091 39105 + PropertyAssignment 39106 39146 + Identifier 39106 39119 + PropertyAccessExpression 39120 39146 + Identifier 39120 39130 + Identifier 39131 39146 + PropertyAssignment 39147 39185 + Identifier 39147 39159 + PropertyAccessExpression 39160 39185 + Identifier 39160 39170 + Identifier 39171 39185 + PropertyAssignment 39186 39224 + Identifier 39186 39201 + PropertyAccessExpression 39202 39224 + Identifier 39202 39212 + Identifier 39213 39224 + PropertyAssignment 39225 39263 + Identifier 39225 39237 + PropertyAccessExpression 39238 39263 + Identifier 39238 39248 + Identifier 39249 39263 + PropertyAssignment 39264 39306 + Identifier 39264 39278 + PropertyAccessExpression 39279 39306 + Identifier 39279 39289 + Identifier 39290 39306 + TypeAliasDeclaration 39313 39374 + Identifier 39321 39338 + UnionType 39340 39373 + TypeReference 39340 39345 + Identifier 39340 39345 + TypeReference 39347 39354 + Identifier 39347 39354 + TypeReference 39356 39361 + Identifier 39356 39361 + TypeReference 39363 39373 + Identifier 39363 39373 + EnumDeclaration 39374 39647 + ConstKeyword 39374 39383 + Identifier 39388 39411 + EnumMember 39413 39423 + Identifier 39413 39423 + EnumMember 39424 39457 + Identifier 39424 39457 + EnumMember 39458 39476 + Identifier 39458 39476 + EnumMember 39477 39501 + Identifier 39477 39501 + EnumMember 39502 39531 + Identifier 39502 39531 + EnumMember 39532 39559 + Identifier 39532 39559 + EnumMember 39560 39583 + Identifier 39560 39583 + EnumMember 39584 39599 + Identifier 39584 39599 + EnumMember 39600 39643 + Identifier 39600 39643 + EnumDeclaration 39647 40846 + ExportKeyword 39647 39693 + ConstKeyword 39693 39699 + Identifier 39704 39714 + EnumMember 39716 39732 + Identifier 39716 39728 + NumericLiteral 39730 39732 + EnumMember 39733 39818 + Identifier 39733 39809 + BinaryExpression 39811 39818 + NumericLiteral 39811 39813 + LessThanLessThanToken 39813 39816 + NumericLiteral 39816 39818 + EnumMember 39819 39936 + Identifier 39819 39927 + BinaryExpression 39929 39936 + NumericLiteral 39929 39931 + LessThanLessThanToken 39931 39934 + NumericLiteral 39934 39936 + EnumMember 39937 40020 + Identifier 39937 40011 + BinaryExpression 40013 40020 + NumericLiteral 40013 40015 + LessThanLessThanToken 40015 40018 + NumericLiteral 40018 40020 + EnumMember 40021 40120 + Identifier 40021 40111 + BinaryExpression 40113 40120 + NumericLiteral 40113 40115 + LessThanLessThanToken 40115 40118 + NumericLiteral 40118 40120 + EnumMember 40121 40214 + Identifier 40121 40205 + BinaryExpression 40207 40214 + NumericLiteral 40207 40209 + LessThanLessThanToken 40209 40212 + NumericLiteral 40212 40214 + EnumMember 40215 40317 + Identifier 40215 40308 + BinaryExpression 40310 40317 + NumericLiteral 40310 40312 + LessThanLessThanToken 40312 40315 + NumericLiteral 40315 40317 + EnumMember 40318 40750 + Identifier 40318 40741 + BinaryExpression 40743 40750 + NumericLiteral 40743 40745 + LessThanLessThanToken 40745 40748 + NumericLiteral 40748 40750 + EnumDeclaration 40846 41133 + ExportKeyword 40846 40874 + ConstKeyword 40874 40880 + Identifier 40885 40904 + EnumMember 40906 40920 + Identifier 40906 40916 + NumericLiteral 40918 40920 + EnumMember 40921 40953 + Identifier 40921 40944 + BinaryExpression 40946 40953 + NumericLiteral 40946 40948 + LessThanLessThanToken 40948 40951 + NumericLiteral 40951 40953 + EnumMember 40954 40983 + Identifier 40954 40974 + BinaryExpression 40976 40983 + NumericLiteral 40976 40978 + LessThanLessThanToken 40978 40981 + NumericLiteral 40981 40983 + EnumMember 40984 41016 + Identifier 40984 41007 + BinaryExpression 41009 41016 + NumericLiteral 41009 41011 + LessThanLessThanToken 41011 41014 + NumericLiteral 41014 41016 + EnumMember 41017 41043 + Identifier 41017 41034 + BinaryExpression 41036 41043 + NumericLiteral 41036 41038 + LessThanLessThanToken 41038 41041 + NumericLiteral 41041 41043 + EnumMember 41044 41077 + Identifier 41044 41068 + BinaryExpression 41070 41077 + NumericLiteral 41070 41072 + LessThanLessThanToken 41072 41075 + NumericLiteral 41075 41077 + EnumMember 41078 41129 + Identifier 41078 41092 + BinaryExpression 41094 41129 + Identifier 41094 41112 + BarToken 41112 41114 + Identifier 41114 41129 + EnumDeclaration 41133 41343 + ConstKeyword 41133 41142 + Identifier 41147 41165 + EnumMember 41167 41181 + Identifier 41167 41177 + NumericLiteral 41179 41181 + EnumMember 41182 41203 + Identifier 41182 41194 + BinaryExpression 41196 41203 + NumericLiteral 41196 41198 + LessThanLessThanToken 41198 41201 + NumericLiteral 41201 41203 + EnumMember 41204 41282 + Identifier 41204 41273 + BinaryExpression 41275 41282 + NumericLiteral 41275 41277 + LessThanLessThanToken 41277 41280 + NumericLiteral 41280 41282 + EnumDeclaration 41343 41465 + ConstKeyword 41343 41352 + Identifier 41357 41372 + EnumMember 41374 41388 + Identifier 41374 41384 + NumericLiteral 41386 41388 + EnumMember 41389 41410 + Identifier 41389 41401 + BinaryExpression 41403 41410 + NumericLiteral 41403 41405 + LessThanLessThanToken 41405 41408 + NumericLiteral 41408 41410 + EnumMember 41411 41432 + Identifier 41411 41423 + BinaryExpression 41425 41432 + NumericLiteral 41425 41427 + LessThanLessThanToken 41427 41430 + NumericLiteral 41430 41432 + EnumMember 41433 41461 + Identifier 41433 41443 + BinaryExpression 41445 41461 + Identifier 41445 41452 + BarToken 41452 41454 + Identifier 41454 41461 + EnumDeclaration 41465 41628 + ConstKeyword 41465 41474 + Identifier 41479 41499 + EnumMember 41501 41531 + Identifier 41501 41522 + BinaryExpression 41524 41531 + NumericLiteral 41524 41526 + LessThanLessThanToken 41526 41529 + NumericLiteral 41529 41531 + EnumMember 41532 41562 + Identifier 41532 41553 + BinaryExpression 41555 41562 + NumericLiteral 41555 41557 + LessThanLessThanToken 41557 41560 + NumericLiteral 41560 41562 + EnumMember 41563 41593 + Identifier 41563 41584 + BinaryExpression 41586 41593 + NumericLiteral 41586 41588 + LessThanLessThanToken 41588 41591 + NumericLiteral 41591 41593 + EnumMember 41594 41624 + Identifier 41594 41615 + BinaryExpression 41617 41624 + NumericLiteral 41617 41619 + LessThanLessThanToken 41619 41622 + NumericLiteral 41622 41624 + EnumDeclaration 41628 41713 + ConstKeyword 41628 41637 + Identifier 41642 41665 + EnumMember 41667 41677 + Identifier 41667 41677 + EnumMember 41678 41693 + Identifier 41678 41693 + EnumMember 41694 41709 + Identifier 41694 41709 + EnumDeclaration 41713 41830 + ConstKeyword 41713 41722 + Identifier 41727 41742 + EnumMember 41744 41758 + Identifier 41744 41754 + NumericLiteral 41756 41758 + EnumMember 41759 41775 + Identifier 41759 41771 + NumericLiteral 41773 41775 + EnumMember 41776 41797 + Identifier 41776 41788 + BinaryExpression 41790 41797 + NumericLiteral 41790 41792 + LessThanLessThanToken 41792 41795 + NumericLiteral 41795 41797 + EnumMember 41798 41826 + Identifier 41798 41808 + BinaryExpression 41810 41826 + Identifier 41810 41817 + BarToken 41817 41819 + Identifier 41819 41826 + EnumDeclaration 41830 41964 + ConstKeyword 41830 41839 + Identifier 41844 41875 + EnumMember 41877 41918 + Identifier 41877 41898 + StringLiteral 41900 41918 + EnumMember 41919 41960 + Identifier 41919 41940 + StringLiteral 41942 41960 + EnumDeclaration 41964 42022 + ConstKeyword 41964 41973 + Identifier 41978 41989 + EnumMember 41991 42002 + Identifier 41991 42002 + EnumMember 42003 42018 + Identifier 42003 42018 + TypeAliasDeclaration 42022 42198 + Identifier 42090 42110 + FunctionType 42112 42197 + Parameter 42114 42134 + Identifier 42114 42128 + TypeReference 42129 42134 + Identifier 42129 42134 + Parameter 42135 42152 + Identifier 42135 42140 + TypeReference 42141 42152 + Identifier 42141 42152 + Parameter 42153 42188 + Identifier 42153 42164 + TypeReference 42165 42188 + Identifier 42165 42188 + VoidKeyword 42192 42197 + VariableStatement 42198 42272 + VariableDeclarationList 42198 42271 + VariableDeclaration 42207 42271 + Identifier 42207 42235 + CallExpression 42237 42271 + Identifier 42237 42241 + Identifier 42242 42255 + Identifier 42256 42270 + EnumDeclaration 42272 42539 + ConstKeyword 42272 42281 + Identifier 42286 42305 + EnumMember 42307 42328 + Identifier 42307 42324 + NumericLiteral 42326 42328 + EnumMember 42329 42350 + Identifier 42329 42346 + NumericLiteral 42348 42350 + EnumMember 42351 42379 + Identifier 42351 42375 + NumericLiteral 42377 42379 + EnumMember 42380 42396 + Identifier 42380 42392 + NumericLiteral 42394 42396 + EnumMember 42397 42421 + Identifier 42397 42416 + NumericLiteral 42418 42421 + EnumMember 42422 42472 + Identifier 42422 42444 + BinaryExpression 42446 42472 + Identifier 42446 42458 + BarToken 42458 42460 + Identifier 42460 42472 + EnumMember 42473 42535 + Identifier 42473 42505 + BinaryExpression 42507 42535 + Identifier 42507 42526 + BarToken 42526 42528 + Identifier 42528 42535 + EnumDeclaration 42539 42675 + ConstKeyword 42539 42548 + Identifier 42553 42571 + EnumMember 42573 42587 + Identifier 42573 42583 + NumericLiteral 42585 42587 + EnumMember 42588 42614 + Identifier 42588 42605 + BinaryExpression 42607 42614 + NumericLiteral 42607 42609 + LessThanLessThanToken 42609 42612 + NumericLiteral 42612 42614 + EnumMember 42615 42640 + Identifier 42615 42631 + BinaryExpression 42633 42640 + NumericLiteral 42633 42635 + LessThanLessThanToken 42635 42638 + NumericLiteral 42638 42640 + EnumMember 42641 42671 + Identifier 42641 42662 + BinaryExpression 42664 42671 + NumericLiteral 42664 42666 + LessThanLessThanToken 42666 42669 + NumericLiteral 42669 42671 + EnumDeclaration 42675 42803 + ConstKeyword 42675 42684 + Identifier 42689 42711 + EnumMember 42713 42727 + Identifier 42713 42723 + NumericLiteral 42725 42727 + EnumMember 42728 42766 + Identifier 42728 42757 + BinaryExpression 42759 42766 + NumericLiteral 42759 42761 + LessThanLessThanToken 42761 42764 + NumericLiteral 42764 42766 + EnumMember 42767 42799 + Identifier 42767 42790 + BinaryExpression 42792 42799 + NumericLiteral 42792 42794 + LessThanLessThanToken 42794 42797 + NumericLiteral 42797 42799 + EnumDeclaration 42803 42922 + ConstKeyword 42803 42812 + Identifier 42817 42835 + EnumMember 42837 42852 + Identifier 42837 42852 + EnumMember 42853 42868 + Identifier 42853 42868 + EnumMember 42869 42885 + Identifier 42869 42885 + EnumMember 42886 42904 + Identifier 42886 42904 + EnumMember 42905 42918 + Identifier 42905 42918 + VariableStatement 42922 43252 + VariableDeclarationList 42922 43251 + VariableDeclaration 42931 43251 + Identifier 42931 42950 + TypeReference 42951 42990 + Identifier 42951 42963 + StringKeyword 42964 42970 + TypeReference 42971 42989 + Identifier 42971 42989 + NewExpression 42992 43251 + Identifier 42996 43000 + CallExpression 43001 43250 + PropertyAccessExpression 43001 43015 + Identifier 43001 43007 + Identifier 43008 43015 + ObjectLiteralExpression 43016 43249 + PropertyAssignment 43017 43061 + Identifier 43017 43032 + PropertyAccessExpression 43033 43061 + Identifier 43033 43051 + Identifier 43052 43061 + PropertyAssignment 43062 43106 + Identifier 43062 43077 + PropertyAccessExpression 43078 43106 + Identifier 43078 43096 + Identifier 43097 43106 + PropertyAssignment 43107 43153 + Identifier 43107 43123 + PropertyAccessExpression 43124 43153 + Identifier 43124 43142 + Identifier 43143 43153 + PropertyAssignment 43154 43204 + Identifier 43154 43172 + PropertyAccessExpression 43173 43204 + Identifier 43173 43191 + Identifier 43192 43204 + PropertyAssignment 43205 43245 + Identifier 43205 43218 + PropertyAccessExpression 43219 43245 + Identifier 43219 43237 + Identifier 43238 43245 + VariableStatement 43252 43347 + VariableDeclarationList 43252 43346 + VariableDeclaration 43261 43346 + Identifier 43261 43273 + ClassExpression 43275 43346 + HeritageClause 43281 43304 + ExpressionWithTypeArguments 43292 43304 + Identifier 43292 43304 + PropertyDeclaration 43306 43343 + DeclareKeyword 43306 43319 + Identifier 43319 43337 + AnyKeyword 43338 43342 + FunctionDeclaration 43347 43430 + Identifier 43359 43369 + Parameter 43370 43385 + Identifier 43370 43374 + TypeReference 43375 43385 + Identifier 43375 43385 + Block 43386 43430 + ExpressionStatement 43388 43427 + BinaryExpression 43388 43426 + PropertyAccessExpression 43388 43404 + ThisKeyword 43388 43398 + Identifier 43399 43404 + EqualsToken 43404 43406 + PropertyAccessExpression 43406 43426 + Identifier 43406 43421 + Identifier 43422 43426 + FunctionDeclaration 43430 43605 + ExportKeyword 43430 43458 + Identifier 43467 43477 + Parameter 43478 43488 + Identifier 43478 43482 + TypeReference 43483 43488 + Identifier 43483 43488 + NumberKeyword 43490 43497 + Block 43497 43605 + IfStatement 43499 43581 + PrefixUnaryExpression 43509 43517 + PropertyAccessExpression 43510 43517 + Identifier 43510 43514 + Identifier 43515 43517 + Block 43518 43581 + ExpressionStatement 43520 43551 + BinaryExpression 43520 43550 + PropertyAccessExpression 43520 43537 + Identifier 43520 43534 + Identifier 43535 43537 + EqualsToken 43537 43539 + Identifier 43539 43550 + ExpressionStatement 43551 43574 + PostfixUnaryExpression 43551 43573 + Identifier 43551 43571 + ReturnStatement 43581 43602 + PropertyAccessExpression 43593 43601 + Identifier 43593 43598 + Identifier 43599 43601 + FunctionDeclaration 43605 43800 + ExportKeyword 43605 43633 + Identifier 43642 43654 + Parameter 43655 43669 + Identifier 43655 43661 + TypeReference 43662 43669 + Identifier 43662 43669 + TypeReference 43671 43680 + Identifier 43671 43680 + Block 43680 43800 + IfStatement 43682 43772 + PrefixUnaryExpression 43692 43702 + PropertyAccessExpression 43693 43702 + Identifier 43693 43699 + Identifier 43700 43702 + Block 43703 43772 + ExpressionStatement 43705 43740 + BinaryExpression 43705 43739 + PropertyAccessExpression 43705 43724 + Identifier 43705 43721 + Identifier 43722 43724 + EqualsToken 43724 43726 + Identifier 43726 43739 + ExpressionStatement 43740 43765 + PostfixUnaryExpression 43740 43764 + Identifier 43740 43762 + ReturnStatement 43772 43797 + PropertyAccessExpression 43786 43796 + Identifier 43786 43793 + Identifier 43794 43796 + FunctionDeclaration 43800 44129 + ExportKeyword 43800 43828 + Identifier 43837 43858 + Parameter 43859 43882 + Identifier 43859 43863 + TypeReference 43864 43882 + Identifier 43864 43882 + Parameter 43883 43911 + Identifier 43883 43902 + BooleanKeyword 43903 43911 + BooleanKeyword 43913 43921 + Block 43921 44129 + VariableStatement 43923 43978 + VariableDeclarationList 43923 43977 + VariableDeclaration 43934 43977 + Identifier 43934 43946 + CallExpression 43948 43977 + Identifier 43948 43971 + Identifier 43972 43976 + ReturnStatement 43978 44126 + BinaryExpression 43990 44125 + BinaryExpression 43990 44039 + Identifier 43990 44002 + EqualsEqualsEqualsToken 44002 44006 + PropertyAccessExpression 44006 44039 + Identifier 44006 44026 + Identifier 44027 44039 + BarBarToken 44039 44042 + ParenthesizedExpression 44042 44125 + BinaryExpression 44053 44124 + Identifier 44053 44071 + AmpersandAmpersandToken 44071 44074 + BinaryExpression 44074 44124 + Identifier 44074 44086 + EqualsEqualsEqualsToken 44086 44090 + PropertyAccessExpression 44090 44124 + Identifier 44090 44110 + Identifier 44111 44124 + FunctionDeclaration 44129 3069644 + ExportKeyword 44129 44157 + Identifier 44166 44184 + Parameter 44185 44206 + Identifier 44185 44189 + TypeReference 44190 44206 + Identifier 44190 44206 + TypeReference 44208 44220 + Identifier 44208 44220 + Block 44220 3069644 + VariableStatement 44222 44455 + VariableDeclarationList 44222 44454 + VariableDeclaration 44404 44454 + Identifier 44404 44433 + ArrayType 44434 44449 + ParenthesizedType 44434 44447 + FunctionType 44436 44446 + VoidKeyword 44441 44446 + ArrayLiteralExpression 44451 44454 + VariableStatement 44455 44566 + VariableDeclarationList 44455 44565 + VariableDeclaration 44466 44565 + Identifier 44466 44484 + ArrowFunction 44486 44565 + Parameter 44488 44503 + Identifier 44488 44491 + FunctionType 44492 44503 + VoidKeyword 44498 44503 + EqualsGreaterThanToken 44504 44507 + Block 44507 44565 + ExpressionStatement 44509 44558 + CallExpression 44509 44557 + PropertyAccessExpression 44509 44552 + Identifier 44509 44547 + Identifier 44548 44552 + Identifier 44553 44556 + VariableStatement 44566 45359 + VariableDeclarationList 44566 45358 + VariableDeclaration 45309 45358 + Identifier 45309 45327 + UnionType 45328 45358 + TypeReference 45328 45346 + Identifier 45328 45346 + UndefinedKeyword 45348 45358 + VariableStatement 45359 45400 + VariableDeclarationList 45359 45399 + VariableDeclaration 45370 45399 + Identifier 45370 45378 + UnionType 45379 45399 + TypeReference 45379 45387 + Identifier 45379 45387 + UndefinedKeyword 45389 45399 + VariableStatement 45400 45460 + VariableDeclarationList 45400 45459 + VariableDeclaration 45411 45459 + Identifier 45411 45418 + CallExpression 45420 45459 + PropertyAccessExpression 45420 45457 + Identifier 45420 45436 + Identifier 45437 45457 + VariableStatement 45460 45514 + VariableDeclarationList 45460 45513 + VariableDeclaration 45469 45513 + Identifier 45469 45474 + CallExpression 45476 45513 + PropertyAccessExpression 45476 45511 + Identifier 45476 45492 + Identifier 45493 45511 + VariableStatement 45514 45578 + VariableDeclarationList 45514 45577 + VariableDeclaration 45523 45577 + Identifier 45523 45533 + CallExpression 45535 45577 + PropertyAccessExpression 45535 45575 + Identifier 45535 45551 + Identifier 45552 45575 + VariableStatement 45578 45604 + VariableDeclarationList 45578 45603 + VariableDeclaration 45589 45603 + Identifier 45589 45599 + NumericLiteral 45601 45603 + VariableStatement 45604 45630 + VariableDeclarationList 45604 45629 + VariableDeclaration 45613 45629 + Identifier 45613 45625 + NumericLiteral 45627 45629 + VariableStatement 45630 45668 + VariableDeclarationList 45630 45667 + VariableDeclaration 45639 45667 + Identifier 45639 45663 + NumericLiteral 45665 45667 + VariableStatement 45668 45701 + VariableDeclarationList 45668 45700 + VariableDeclaration 45677 45700 + Identifier 45677 45696 + NumericLiteral 45698 45700 + VariableStatement 45701 45734 + VariableDeclarationList 45701 45733 + VariableDeclaration 45710 45733 + Identifier 45710 45729 + NumericLiteral 45731 45733 + VariableStatement 45734 45760 + VariableDeclarationList 45734 45759 + VariableDeclaration 45743 45759 + Identifier 45743 45755 + NumericLiteral 45757 45759 + VariableStatement 45760 45800 + VariableDeclarationList 45760 45799 + VariableDeclaration 45769 45799 + Identifier 45769 45781 + UnionType 45782 45799 + TypeReference 45782 45787 + Identifier 45782 45787 + UndefinedKeyword 45789 45799 + VariableStatement 45800 45859 + VariableDeclarationList 45800 45858 + VariableDeclaration 45809 45858 + Identifier 45809 45831 + UnionType 45832 45858 + TypeReference 45832 45846 + Identifier 45832 45846 + UndefinedKeyword 45848 45858 + VariableStatement 45859 45905 + VariableDeclarationList 45859 45904 + VariableDeclaration 45868 45904 + Identifier 45868 45896 + FalseKeyword 45898 45904 + VariableStatement 45905 45952 + VariableDeclarationList 45905 45951 + VariableDeclaration 45916 45951 + Identifier 45916 45929 + CallExpression 45931 45951 + Identifier 45931 45949 + VariableStatement 45952 46005 + VariableDeclarationList 45952 46004 + VariableDeclaration 45961 46004 + Identifier 45961 45976 + ArrayLiteralExpression 45978 46004 + PropertyAccessExpression 45980 46003 + Identifier 45980 45993 + Identifier 45994 46003 + VariableStatement 46005 46061 + VariableDeclarationList 46005 46060 + VariableDeclaration 46016 46060 + Identifier 46016 46032 + CallExpression 46034 46060 + PropertyAccessExpression 46034 46058 + Identifier 46034 46039 + Identifier 46040 46058 + VariableStatement 46061 46126 + VariableDeclarationList 46061 46125 + VariableDeclaration 46070 46125 + Identifier 46070 46086 + CallExpression 46088 46125 + Identifier 46088 46108 + Identifier 46109 46124 + VariableStatement 46126 46184 + VariableDeclarationList 46126 46183 + VariableDeclaration 46135 46183 + Identifier 46135 46146 + CallExpression 46148 46183 + Identifier 46148 46166 + Identifier 46167 46182 + VariableStatement 46184 46254 + VariableDeclarationList 46184 46253 + VariableDeclaration 46193 46253 + Identifier 46193 46210 + PrefixUnaryExpression 46212 46253 + PrefixUnaryExpression 46214 46253 + PropertyAccessExpression 46215 46253 + Identifier 46215 46230 + Identifier 46231 46253 + VariableStatement 46254 46334 + VariableDeclarationList 46254 46333 + VariableDeclaration 46263 46333 + Identifier 46263 46287 + CallExpression 46289 46333 + Identifier 46289 46316 + Identifier 46317 46332 + VariableStatement 46334 46414 + VariableDeclarationList 46334 46413 + VariableDeclaration 46343 46413 + Identifier 46343 46367 + CallExpression 46369 46413 + Identifier 46369 46396 + Identifier 46397 46412 + VariableStatement 46414 46504 + VariableDeclarationList 46414 46503 + VariableDeclaration 46423 46503 + Identifier 46423 46452 + CallExpression 46454 46503 + Identifier 46454 46486 + Identifier 46487 46502 + VariableStatement 46504 46591 + VariableDeclarationList 46504 46590 + VariableDeclaration 46513 46590 + Identifier 46513 46530 + CallExpression 46532 46590 + Identifier 46532 46553 + Identifier 46554 46569 + StringLiteral 46570 46589 + VariableStatement 46591 46684 + VariableDeclarationList 46591 46683 + VariableDeclaration 46600 46683 + Identifier 46600 46620 + CallExpression 46622 46683 + Identifier 46622 46643 + Identifier 46644 46659 + StringLiteral 46660 46682 + VariableStatement 46684 46777 + VariableDeclarationList 46684 46776 + VariableDeclaration 46693 46776 + Identifier 46693 46713 + CallExpression 46715 46776 + Identifier 46715 46736 + Identifier 46737 46752 + StringLiteral 46753 46775 + VariableStatement 46777 46888 + VariableDeclarationList 46777 46887 + VariableDeclaration 46786 46887 + Identifier 46786 46815 + CallExpression 46817 46887 + Identifier 46817 46838 + Identifier 46839 46854 + StringLiteral 46855 46886 + VariableStatement 46888 46997 + VariableDeclarationList 46888 46996 + VariableDeclaration 46897 46996 + Identifier 46897 46925 + CallExpression 46927 46996 + Identifier 46927 46948 + Identifier 46949 46964 + StringLiteral 46965 46995 + VariableStatement 46997 47078 + VariableDeclarationList 46997 47077 + VariableDeclaration 47006 47077 + Identifier 47006 47020 + CallExpression 47022 47077 + Identifier 47022 47043 + Identifier 47044 47059 + StringLiteral 47060 47076 + VariableStatement 47078 47161 + VariableDeclarationList 47078 47160 + VariableDeclaration 47087 47160 + Identifier 47087 47102 + CallExpression 47104 47160 + Identifier 47104 47125 + Identifier 47126 47141 + StringLiteral 47142 47159 + VariableStatement 47161 47268 + VariableDeclarationList 47161 47267 + VariableDeclaration 47170 47267 + Identifier 47170 47197 + CallExpression 47199 47267 + Identifier 47199 47220 + Identifier 47221 47236 + StringLiteral 47237 47266 + VariableStatement 47268 47350 + VariableDeclarationList 47268 47349 + VariableDeclaration 47277 47349 + Identifier 47277 47304 + PropertyAccessExpression 47306 47349 + Identifier 47306 47322 + Identifier 47323 47349 + VariableStatement 47350 47438 + VariableDeclarationList 47350 47437 + VariableDeclaration 47359 47437 + Identifier 47359 47388 + PrefixUnaryExpression 47390 47437 + PrefixUnaryExpression 47392 47437 + PropertyAccessExpression 47393 47437 + Identifier 47393 47408 + Identifier 47409 47437 + VariableStatement 47438 47504 + VariableDeclarationList 47438 47503 + VariableDeclaration 47449 47503 + Identifier 47449 47471 + CallExpression 47473 47503 + Identifier 47473 47501 + VariableStatement 47504 47546 + VariableDeclarationList 47504 47545 + VariableDeclaration 47513 47545 + Identifier 47513 47526 + CallExpression 47528 47545 + Identifier 47528 47543 + VariableStatement 47546 47590 + VariableDeclarationList 47546 47589 + VariableDeclaration 47555 47589 + Identifier 47555 47567 + CallExpression 47569 47589 + Identifier 47569 47587 + VariableStatement 47590 47709 + VariableDeclarationList 47590 47708 + VariableDeclaration 47599 47708 + Identifier 47599 47620 + CallExpression 47622 47708 + Identifier 47622 47653 + Identifier 47654 47669 + PropertyAccessExpression 47670 47707 + Identifier 47670 47682 + Identifier 47683 47707 + VariableStatement 47709 47837 + VariableDeclarationList 47709 47836 + VariableDeclaration 47718 47836 + Identifier 47718 47727 + CallExpression 47729 47836 + Identifier 47729 47745 + ObjectLiteralExpression 47746 47835 + ShorthandPropertyAssignment 47747 47788 + Identifier 47747 47788 + ShorthandPropertyAssignment 47789 47827 + Identifier 47789 47827 + VariableStatement 47837 47879 + VariableDeclarationList 47837 47878 + VariableDeclaration 47848 47878 + Identifier 47848 47856 + CallExpression 47858 47878 + Identifier 47858 47876 + VariableStatement 47879 47967 + VariableDeclarationList 47879 47966 + VariableDeclaration 47888 47966 + Identifier 47888 47904 + CallExpression 47906 47966 + Identifier 47906 47919 + PropertyAccessExpression 47920 47940 + Identifier 47920 47931 + Identifier 47932 47940 + AsExpression 47941 47965 + StringLiteral 47941 47953 + TypeReference 47956 47965 + Identifier 47956 47965 + ExpressionStatement 47967 48007 + BinaryExpression 47967 48006 + PropertyAccessExpression 47967 48001 + Identifier 47967 47988 + Identifier 47989 48001 + EqualsToken 48001 48003 + ArrayLiteralExpression 48003 48006 + VariableStatement 48007 48118 + VariableDeclarationList 48007 48117 + VariableDeclaration 48018 48117 + Identifier 48018 48035 + CallExpression 48037 48117 + Identifier 48037 48050 + PropertyAccessExpression 48051 48069 + Identifier 48051 48062 + Identifier 48063 48069 + AsExpression 48070 48095 + StringLiteral 48070 48083 + TypeReference 48086 48095 + Identifier 48086 48095 + PropertyAccessExpression 48096 48116 + Identifier 48096 48107 + Identifier 48108 48116 + ExpressionStatement 48118 48159 + BinaryExpression 48118 48158 + PropertyAccessExpression 48118 48148 + Identifier 48118 48140 + Identifier 48141 48148 + EqualsToken 48148 48150 + Identifier 48150 48158 + ExpressionStatement 48159 48200 + BinaryExpression 48159 48199 + PropertyAccessExpression 48159 48194 + Identifier 48159 48181 + Identifier 48182 48194 + EqualsToken 48194 48196 + ArrayLiteralExpression 48196 48199 + ExpressionStatement 48200 48266 + CallExpression 48200 48265 + PropertyAccessExpression 48200 48217 + Identifier 48200 48213 + Identifier 48214 48217 + PropertyAccessExpression 48218 48246 + Identifier 48218 48234 + Identifier 48235 48246 + Identifier 48247 48264 + VariableStatement 48266 48356 + VariableDeclarationList 48266 48355 + VariableDeclaration 48277 48355 + Identifier 48277 48293 + CallExpression 48295 48355 + Identifier 48295 48308 + PropertyAccessExpression 48309 48329 + Identifier 48309 48320 + Identifier 48321 48329 + AsExpression 48330 48354 + StringLiteral 48330 48342 + TypeReference 48345 48354 + Identifier 48345 48354 + VariableStatement 48356 48440 + VariableDeclarationList 48356 48439 + VariableDeclaration 48365 48439 + Identifier 48365 48379 + CallExpression 48381 48439 + Identifier 48381 48394 + PropertyAccessExpression 48395 48415 + Identifier 48395 48406 + Identifier 48407 48415 + AsExpression 48416 48438 + StringLiteral 48416 48426 + TypeReference 48429 48438 + Identifier 48429 48438 + VariableStatement 48440 48562 + VariableDeclarationList 48440 48561 + VariableDeclaration 48449 48561 + Identifier 48449 48477 + ConditionalExpression 48479 48561 + PropertyAccessExpression 48479 48516 + Identifier 48479 48495 + Identifier 48496 48516 + QuestionToken 48516 48518 + StringLiteral 48518 48541 + ColonToken 48541 48543 + StringLiteral 48543 48561 + VariableStatement 48562 48651 + VariableDeclarationList 48562 48650 + VariableDeclaration 48571 48650 + Identifier 48571 48610 + PrefixUnaryExpression 48612 48650 + PropertyAccessExpression 48614 48650 + Identifier 48614 48629 + Identifier 48630 48650 + VariableStatement 48651 48871 + VariableDeclarationList 48651 48870 + VariableDeclaration 48828 48870 + Identifier 48828 48850 + UnionType 48851 48870 + NumberKeyword 48851 48858 + UndefinedKeyword 48860 48870 + VariableStatement 48871 48930 + VariableDeclarationList 48871 48929 + VariableDeclaration 48882 48929 + Identifier 48882 48911 + UnionType 48912 48929 + TypeReference 48912 48917 + Identifier 48912 48917 + UndefinedKeyword 48919 48929 + VariableStatement 48930 48988 + VariableDeclarationList 48930 48987 + VariableDeclaration 48939 48987 + Identifier 48939 48970 + PropertyAccessExpression 48972 48987 + Identifier 48972 48982 + Identifier 48983 48987 + VariableStatement 48988 49056 + VariableDeclarationList 48988 49055 + VariableDeclaration 48997 49055 + Identifier 48997 49030 + UnionType 49031 49055 + TypeReference 49031 49043 + Identifier 49031 49043 + UndefinedKeyword 49045 49055 + VariableStatement 49056 49122 + VariableDeclarationList 49056 49121 + VariableDeclaration 49065 49121 + Identifier 49065 49100 + PropertyAccessExpression 49102 49121 + Identifier 49102 49116 + Identifier 49117 49121 + VariableStatement 49122 49580 + VariableDeclarationList 49122 49579 + VariableDeclaration 49131 49579 + Identifier 49131 49143 + CallExpression 49145 49579 + Identifier 49145 49164 + ObjectLiteralExpression 49165 49578 + ShorthandPropertyAssignment 49166 49191 + Identifier 49166 49191 + ShorthandPropertyAssignment 49192 49215 + Identifier 49192 49215 + ShorthandPropertyAssignment 49216 49241 + Identifier 49216 49241 + ShorthandPropertyAssignment 49242 49259 + Identifier 49242 49259 + ShorthandPropertyAssignment 49260 49292 + Identifier 49260 49292 + ShorthandPropertyAssignment 49293 49308 + Identifier 49293 49308 + ShorthandPropertyAssignment 49309 49346 + Identifier 49309 49346 + ShorthandPropertyAssignment 49347 49384 + Identifier 49347 49384 + PropertyAssignment 49385 49412 + Identifier 49385 49401 + Identifier 49402 49412 + PropertyAssignment 49413 49497 + Identifier 49413 49455 + Identifier 49456 49497 + ShorthandPropertyAssignment 49498 49531 + Identifier 49498 49531 + ShorthandPropertyAssignment 49532 49570 + Identifier 49532 49570 + VariableStatement 49580 49924 + VariableDeclarationList 49580 49923 + VariableDeclaration 49591 49923 + Identifier 49591 49622 + CallExpression 49624 49923 + Identifier 49624 49643 + ObjectLiteralExpression 49644 49922 + ShorthandPropertyAssignment 49645 49670 + Identifier 49645 49670 + ShorthandPropertyAssignment 49671 49694 + Identifier 49671 49694 + ShorthandPropertyAssignment 49695 49720 + Identifier 49695 49720 + ShorthandPropertyAssignment 49721 49738 + Identifier 49721 49738 + ShorthandPropertyAssignment 49739 49771 + Identifier 49739 49771 + ShorthandPropertyAssignment 49772 49787 + Identifier 49772 49787 + ShorthandPropertyAssignment 49788 49825 + Identifier 49788 49825 + ShorthandPropertyAssignment 49826 49863 + Identifier 49826 49863 + PropertyAssignment 49864 49914 + Identifier 49864 49880 + Identifier 49881 49914 + VariableStatement 49924 68607 + VariableDeclarationList 49924 68606 + VariableDeclaration 50312 68606 + Identifier 50312 50320 + TypeReference 50321 50333 + Identifier 50321 50333 + ObjectLiteralExpression 50335 68606 + PropertyAssignment 50337 50430 + Identifier 50337 50359 + ArrowFunction 50360 50430 + EqualsGreaterThanToken 50363 50366 + CallExpression 50366 50430 + Identifier 50366 50377 + CallExpression 50378 50399 + PropertyAccessExpression 50378 50397 + Identifier 50378 50382 + Identifier 50383 50397 + ArrowFunction 50400 50426 + Parameter 50402 50403 + Identifier 50402 50403 + Parameter 50404 50406 + Identifier 50404 50406 + EqualsGreaterThanToken 50407 50410 + BinaryExpression 50410 50426 + Identifier 50410 50412 + PlusToken 50412 50414 + PropertyAccessExpression 50414 50426 + Identifier 50414 50416 + Identifier 50417 50426 + NumericLiteral 50427 50429 + PropertyAssignment 50431 50536 + Identifier 50431 50459 + ArrowFunction 50460 50536 + EqualsGreaterThanToken 50463 50466 + CallExpression 50466 50536 + Identifier 50466 50477 + CallExpression 50478 50499 + PropertyAccessExpression 50478 50497 + Identifier 50478 50482 + Identifier 50483 50497 + ArrowFunction 50500 50532 + Parameter 50502 50503 + Identifier 50502 50503 + Parameter 50504 50506 + Identifier 50504 50506 + EqualsGreaterThanToken 50507 50510 + BinaryExpression 50510 50532 + Identifier 50510 50512 + PlusToken 50512 50514 + PropertyAccessExpression 50514 50532 + Identifier 50514 50516 + Identifier 50517 50532 + NumericLiteral 50533 50535 + PropertyAssignment 50537 50644 + Identifier 50537 50561 + ArrowFunction 50562 50644 + EqualsGreaterThanToken 50565 50568 + CallExpression 50568 50644 + Identifier 50568 50579 + CallExpression 50580 50601 + PropertyAccessExpression 50580 50599 + Identifier 50580 50584 + Identifier 50585 50599 + ArrowFunction 50602 50630 + Parameter 50604 50605 + Identifier 50604 50605 + Parameter 50606 50608 + Identifier 50606 50608 + EqualsGreaterThanToken 50609 50612 + BinaryExpression 50612 50630 + Identifier 50612 50614 + PlusToken 50614 50616 + PropertyAccessExpression 50616 50630 + Identifier 50616 50618 + Identifier 50619 50630 + Identifier 50631 50643 + PropertyAssignment 50645 50684 + Identifier 50645 50667 + ArrowFunction 50668 50684 + EqualsGreaterThanToken 50671 50674 + Identifier 50674 50684 + PropertyAssignment 50685 50747 + Identifier 50685 50716 + ArrowFunction 50717 50747 + EqualsGreaterThanToken 50720 50723 + Identifier 50723 50747 + PropertyAssignment 50748 50997 + Identifier 50748 50779 + ArrowFunction 50780 50997 + EqualsGreaterThanToken 50783 50786 + ParenthesizedExpression 50786 50997 + ObjectLiteralExpression 50788 50996 + PropertyAssignment 50789 50838 + Identifier 50789 50813 + PropertyAccessExpression 50814 50838 + Identifier 50814 50833 + Identifier 50834 50838 + PropertyAssignment 50839 50884 + Identifier 50839 50861 + PropertyAccessExpression 50862 50884 + Identifier 50862 50879 + Identifier 50880 50884 + PropertyAssignment 50885 50928 + Identifier 50885 50906 + PropertyAccessExpression 50907 50928 + Identifier 50907 50923 + Identifier 50924 50928 + PropertyAssignment 50929 50984 + Identifier 50929 50956 + PropertyAccessExpression 50957 50984 + Identifier 50957 50979 + Identifier 50980 50984 + PropertyAssignment 50998 51063 + Identifier 50998 51025 + ArrowFunction 51026 51063 + Parameter 51026 51033 + Identifier 51026 51033 + EqualsGreaterThanToken 51033 51036 + BinaryExpression 51036 51063 + Identifier 51036 51043 + EqualsEqualsEqualsToken 51043 51047 + Identifier 51047 51063 + PropertyAssignment 51064 51129 + Identifier 51064 51091 + ArrowFunction 51092 51129 + Parameter 51092 51099 + Identifier 51092 51099 + EqualsGreaterThanToken 51099 51102 + BinaryExpression 51102 51129 + Identifier 51102 51109 + EqualsEqualsEqualsToken 51109 51113 + Identifier 51113 51129 + PropertyAssignment 51130 51191 + Identifier 51130 51155 + ArrowFunction 51156 51191 + Parameter 51156 51163 + Identifier 51156 51163 + EqualsGreaterThanToken 51163 51166 + BinaryExpression 51166 51191 + Identifier 51166 51173 + EqualsEqualsEqualsToken 51173 51177 + Identifier 51177 51191 + ShorthandPropertyAssignment 51192 51217 + Identifier 51192 51217 + ShorthandPropertyAssignment 51218 51241 + Identifier 51218 51241 + ShorthandPropertyAssignment 51242 51266 + Identifier 51242 51266 + ShorthandPropertyAssignment 51267 51297 + Identifier 51267 51297 + ShorthandPropertyAssignment 51298 51328 + Identifier 51298 51328 + ShorthandPropertyAssignment 51329 51361 + Identifier 51329 51361 + PropertyAssignment 51362 51583 + Identifier 51362 51397 + ArrowFunction 51398 51583 + Parameter 51400 51406 + Identifier 51400 51406 + Parameter 51407 51418 + Identifier 51407 51418 + EqualsGreaterThanToken 51419 51422 + Block 51422 51583 + VariableStatement 51424 51484 + VariableDeclarationList 51424 51483 + VariableDeclaration 51443 51483 + Identifier 51443 51452 + CallExpression 51454 51483 + Identifier 51454 51471 + Identifier 51472 51482 + ReturnStatement 51484 51572 + ConditionalExpression 51504 51571 + Identifier 51504 51513 + QuestionToken 51513 51515 + CallExpression 51515 51559 + Identifier 51515 51541 + Identifier 51542 51548 + Identifier 51549 51558 + ColonToken 51559 51561 + Identifier 51561 51571 + ShorthandPropertyAssignment 51584 51609 + Identifier 51584 51609 + PropertyAssignment 51610 52137 + Identifier 51610 51660 + ArrowFunction 51661 52137 + Parameter 51663 51674 + Identifier 51663 51674 + Parameter 51675 51689 + Identifier 51675 51689 + EqualsGreaterThanToken 51690 51693 + Block 51693 52137 + VariableStatement 51695 51770 + VariableDeclarationList 51695 51769 + VariableDeclaration 51714 51769 + Identifier 51714 51724 + CallExpression 51726 51769 + Identifier 51726 51743 + Identifier 51744 51755 + Identifier 51756 51768 + IfStatement 51770 51924 + BinaryExpression 51788 51811 + Identifier 51788 51797 + EqualsEqualsEqualsToken 51797 51801 + Identifier 51801 51811 + ReturnStatement 51812 51924 + CallExpression 51819 51923 + PropertyAccessExpression 51819 51830 + Identifier 51819 51825 + Identifier 51826 51830 + StringLiteral 51831 51922 + ExpressionStatement 51924 52012 + CallExpression 51924 52011 + PropertyAccessExpression 51924 51950 + Identifier 51924 51943 + Identifier 51944 51950 + CallExpression 51951 52010 + Identifier 51951 51981 + Identifier 51982 51991 + PropertyAccessExpression 51992 52009 + Identifier 51992 52002 + Identifier 52003 52009 + ReturnStatement 52012 52126 + CallExpression 52032 52125 + Identifier 52032 52073 + Identifier 52074 52083 + CallExpression 52084 52124 + Identifier 52084 52109 + Identifier 52110 52123 + ShorthandPropertyAssignment 52138 52171 + Identifier 52138 52171 + ShorthandPropertyAssignment 52172 52201 + Identifier 52172 52201 + PropertyAssignment 52202 52302 + Identifier 52202 52229 + ArrowFunction 52230 52302 + Parameter 52232 52236 + Identifier 52232 52236 + Parameter 52237 52242 + Identifier 52237 52242 + EqualsGreaterThanToken 52243 52246 + CallExpression 52246 52302 + Identifier 52246 52264 + Identifier 52265 52269 + CallExpression 52270 52301 + Identifier 52270 52295 + Identifier 52296 52300 + PropertyAssignment 52303 52844 + Identifier 52303 52347 + ArrowFunction 52348 52844 + Parameter 52350 52364 + Identifier 52350 52358 + TypeReference 52359 52364 + Identifier 52359 52364 + Parameter 52365 52378 + Identifier 52365 52370 + StringKeyword 52371 52378 + Parameter 52379 52394 + Identifier 52379 52388 + TypeReference 52389 52394 + Identifier 52389 52394 + EqualsGreaterThanToken 52395 52398 + Block 52398 52844 + VariableStatement 52400 52454 + VariableDeclarationList 52400 52453 + VariableDeclaration 52419 52453 + Identifier 52419 52424 + CallExpression 52426 52453 + Identifier 52426 52443 + Identifier 52444 52452 + IfStatement 52454 52530 + PrefixUnaryExpression 52472 52477 + Identifier 52473 52477 + Block 52478 52530 + ReturnStatement 52480 52515 + Identifier 52504 52514 + VariableStatement 52530 52592 + VariableDeclarationList 52530 52591 + VariableDeclaration 52549 52591 + Identifier 52549 52558 + CallExpression 52560 52591 + Identifier 52560 52585 + Identifier 52586 52590 + VariableStatement 52592 52700 + VariableDeclarationList 52592 52699 + VariableDeclaration 52611 52699 + Identifier 52611 52637 + CallExpression 52639 52699 + Identifier 52639 52683 + Identifier 52684 52692 + Identifier 52693 52698 + ReturnStatement 52700 52833 + ConditionalExpression 52720 52832 + Identifier 52720 52746 + QuestionToken 52746 52748 + CallExpression 52748 52820 + Identifier 52748 52783 + Identifier 52784 52792 + Identifier 52793 52819 + ColonToken 52820 52822 + Identifier 52822 52832 + PropertyAssignment 52845 52957 + Identifier 52845 52878 + ArrowFunction 52879 52957 + Parameter 52881 52885 + Identifier 52881 52885 + Parameter 52886 52891 + Identifier 52886 52891 + EqualsGreaterThanToken 52892 52895 + CallExpression 52895 52957 + Identifier 52895 52919 + Identifier 52920 52924 + CallExpression 52925 52956 + Identifier 52925 52950 + Identifier 52951 52955 + PropertyAssignment 52958 53081 + Identifier 52958 52986 + ArrowFunction 52987 53081 + Parameter 52989 52993 + Identifier 52989 52993 + Parameter 52994 52999 + Identifier 52994 52999 + EqualsGreaterThanToken 53000 53003 + CallExpression 53003 53081 + Identifier 53003 53022 + Identifier 53023 53027 + ConditionalExpression 53028 53080 + BinaryExpression 53028 53054 + Identifier 53028 53033 + EqualsEqualsEqualsToken 53033 53037 + PropertyAccessExpression 53037 53054 + Identifier 53037 53047 + Identifier 53048 53054 + QuestionToken 53054 53056 + Identifier 53056 53067 + ColonToken 53067 53069 + Identifier 53069 53080 + ShorthandPropertyAssignment 53082 53111 + Identifier 53082 53111 + ShorthandPropertyAssignment 53112 53148 + Identifier 53112 53148 + ShorthandPropertyAssignment 53149 53178 + Identifier 53149 53178 + PropertyAssignment 53179 53302 + Identifier 53179 53207 + ArrowFunction 53208 53302 + Parameter 53210 53214 + Identifier 53210 53214 + Parameter 53215 53220 + Identifier 53215 53220 + EqualsGreaterThanToken 53221 53224 + CallExpression 53224 53302 + Identifier 53224 53243 + Identifier 53244 53248 + ConditionalExpression 53249 53301 + BinaryExpression 53249 53275 + Identifier 53249 53254 + EqualsEqualsEqualsToken 53254 53258 + PropertyAccessExpression 53258 53275 + Identifier 53258 53268 + Identifier 53269 53275 + QuestionToken 53275 53277 + Identifier 53277 53288 + ColonToken 53288 53290 + Identifier 53290 53301 + PropertyAssignment 53303 53353 + Identifier 53303 53325 + ArrowFunction 53326 53353 + Parameter 53326 53331 + Identifier 53326 53331 + EqualsGreaterThanToken 53331 53334 + CallExpression 53334 53353 + Identifier 53334 53347 + Identifier 53348 53352 + ShorthandPropertyAssignment 53354 53376 + Identifier 53354 53376 + ShorthandPropertyAssignment 53377 53411 + Identifier 53377 53411 + ShorthandPropertyAssignment 53412 53436 + Identifier 53412 53436 + ShorthandPropertyAssignment 53437 53468 + Identifier 53437 53468 + ShorthandPropertyAssignment 53469 53503 + Identifier 53469 53503 + PropertyAssignment 53504 53687 + Identifier 53504 53533 + ArrowFunction 53534 53687 + Parameter 53534 53541 + Identifier 53534 53541 + EqualsGreaterThanToken 53541 53544 + Block 53544 53687 + VariableStatement 53546 53610 + VariableDeclarationList 53546 53609 + VariableDeclaration 53565 53609 + Identifier 53565 53570 + CallExpression 53572 53609 + Identifier 53572 53589 + Identifier 53590 53596 + Identifier 53597 53608 + ReturnStatement 53610 53676 + ConditionalExpression 53630 53675 + Identifier 53630 53635 + QuestionToken 53635 53637 + CallExpression 53637 53663 + Identifier 53637 53657 + Identifier 53658 53662 + ColonToken 53663 53665 + Identifier 53665 53675 + PropertyAssignment 53688 53733 + Identifier 53688 53714 + Identifier 53715 53733 + ShorthandPropertyAssignment 53734 53780 + Identifier 53734 53780 + ShorthandPropertyAssignment 53781 53815 + Identifier 53781 53815 + PropertyAssignment 53816 53870 + Identifier 53816 53840 + ArrowFunction 53841 53870 + Parameter 53841 53846 + Identifier 53841 53846 + EqualsGreaterThanToken 53846 53849 + CallExpression 53849 53870 + Identifier 53849 53864 + Identifier 53865 53869 + ShorthandPropertyAssignment 53871 53905 + Identifier 53871 53905 + ShorthandPropertyAssignment 53906 53930 + Identifier 53906 53930 + ShorthandPropertyAssignment 53931 53956 + Identifier 53931 53956 + ShorthandPropertyAssignment 53957 53985 + Identifier 53957 53985 + PropertyAssignment 53986 54040 + Identifier 53986 54014 + Identifier 54015 54040 + ShorthandPropertyAssignment 54041 54067 + Identifier 54041 54067 + PropertyAssignment 54068 54120 + Identifier 54068 54092 + PropertyAccessExpression 54093 54120 + Identifier 54093 54105 + Identifier 54106 54120 + PropertyAssignment 54121 54209 + Identifier 54121 54163 + PropertyAccessExpression 54164 54209 + Identifier 54164 54176 + Identifier 54177 54209 + PropertyAssignment 54210 54306 + Identifier 54210 54256 + PropertyAccessExpression 54257 54306 + Identifier 54257 54269 + Identifier 54270 54306 + PropertyAssignment 54307 54393 + Identifier 54307 54348 + PropertyAccessExpression 54349 54393 + Identifier 54349 54361 + Identifier 54362 54393 + PropertyAssignment 54394 54454 + Identifier 54394 54422 + PropertyAccessExpression 54423 54454 + Identifier 54423 54435 + Identifier 54436 54454 + PropertyAssignment 54455 54515 + Identifier 54455 54483 + PropertyAccessExpression 54484 54515 + Identifier 54484 54496 + Identifier 54497 54515 + PropertyAssignment 54516 54564 + Identifier 54516 54538 + PropertyAccessExpression 54539 54564 + Identifier 54539 54551 + Identifier 54552 54564 + PropertyAssignment 54565 54655 + Identifier 54565 54608 + PropertyAccessExpression 54609 54655 + Identifier 54609 54621 + Identifier 54622 54655 + PropertyAssignment 54656 54736 + Identifier 54656 54694 + PropertyAccessExpression 54695 54736 + Identifier 54695 54707 + Identifier 54708 54736 + PropertyAssignment 54737 54813 + Identifier 54737 54773 + PropertyAccessExpression 54774 54813 + Identifier 54774 54786 + Identifier 54787 54813 + PropertyAssignment 54814 55014 + Identifier 54814 54841 + ArrowFunction 54842 55014 + Parameter 54844 54854 + Identifier 54844 54854 + Parameter 54855 54863 + Identifier 54855 54863 + EqualsGreaterThanToken 54864 54867 + Block 54867 55014 + VariableStatement 54869 54929 + VariableDeclarationList 54869 54928 + VariableDeclaration 54888 54928 + Identifier 54888 54897 + CallExpression 54899 54928 + Identifier 54899 54916 + Identifier 54917 54927 + ReturnStatement 54929 55003 + ConditionalExpression 54949 55002 + Identifier 54949 54958 + QuestionToken 54958 54960 + CallExpression 54960 54997 + Identifier 54960 54978 + Identifier 54979 54987 + Identifier 54988 54996 + ColonToken 54997 54999 + ArrayLiteralExpression 54999 55002 + PropertyAssignment 55015 55318 + Identifier 55015 55044 + ArrowFunction 55045 55318 + Parameter 55045 55052 + Identifier 55045 55052 + EqualsGreaterThanToken 55052 55055 + Block 55055 55318 + VariableStatement 55057 55109 + VariableDeclarationList 55057 55108 + VariableDeclaration 55076 55108 + Identifier 55076 55081 + CallExpression 55083 55108 + Identifier 55083 55100 + Identifier 55101 55107 + ReturnStatement 55109 55307 + ConditionalExpression 55238 55306 + Identifier 55238 55243 + QuestionToken 55243 55245 + CallExpression 55245 55294 + Identifier 55245 55265 + Identifier 55266 55270 + TrueKeyword 55271 55293 + ColonToken 55294 55296 + Identifier 55296 55306 + PropertyAssignment 55319 55498 + Identifier 55319 55352 + ArrowFunction 55353 55498 + Parameter 55353 55360 + Identifier 55353 55360 + EqualsGreaterThanToken 55360 55363 + Block 55363 55498 + VariableStatement 55365 55417 + VariableDeclarationList 55365 55416 + VariableDeclaration 55384 55416 + Identifier 55384 55389 + CallExpression 55391 55416 + Identifier 55391 55408 + Identifier 55409 55415 + ReturnStatement 55417 55487 + ConditionalExpression 55437 55486 + Identifier 55437 55442 + QuestionToken 55442 55444 + CallExpression 55444 55474 + Identifier 55444 55468 + Identifier 55469 55473 + ColonToken 55474 55476 + Identifier 55476 55486 + PropertyAssignment 55499 55698 + Identifier 55499 55542 + ArrowFunction 55543 55698 + Parameter 55543 55550 + Identifier 55543 55550 + EqualsGreaterThanToken 55550 55553 + Block 55553 55698 + VariableStatement 55555 55607 + VariableDeclarationList 55555 55606 + VariableDeclaration 55574 55606 + Identifier 55574 55579 + CallExpression 55581 55606 + Identifier 55581 55598 + Identifier 55599 55605 + ReturnStatement 55607 55687 + ConditionalExpression 55627 55686 + Identifier 55627 55632 + QuestionToken 55632 55634 + CallExpression 55634 55674 + Identifier 55634 55668 + Identifier 55669 55673 + ColonToken 55674 55676 + Identifier 55676 55686 + PropertyAssignment 55699 55921 + Identifier 55699 55744 + ArrowFunction 55745 55921 + Parameter 55745 55752 + Identifier 55745 55752 + EqualsGreaterThanToken 55752 55755 + Block 55755 55921 + VariableStatement 55757 55828 + VariableDeclarationList 55757 55827 + VariableDeclaration 55776 55827 + Identifier 55776 55781 + CallExpression 55783 55827 + Identifier 55783 55800 + Identifier 55801 55807 + Identifier 55808 55826 + ReturnStatement 55828 55910 + ConditionalExpression 55848 55909 + Identifier 55848 55853 + QuestionToken 55853 55855 + CallExpression 55855 55897 + Identifier 55855 55891 + Identifier 55892 55896 + ColonToken 55897 55899 + Identifier 55899 55909 + MethodDeclaration 55922 56044 + Identifier 55922 55955 + Parameter 55956 55962 + Identifier 55956 55962 + Block 55963 56044 + ReturnStatement 55965 56033 + CallExpression 55985 56032 + Identifier 55985 56001 + BinaryExpression 56002 56031 + PropertyAccessExpression 56002 56021 + Identifier 56002 56008 + Identifier 56009 56021 + BarBarToken 56021 56024 + Identifier 56024 56031 + PropertyAssignment 56045 56208 + Identifier 56045 56072 + ArrowFunction 56073 56208 + Parameter 56073 56080 + Identifier 56073 56080 + EqualsGreaterThanToken 56080 56083 + Block 56083 56208 + VariableStatement 56085 56137 + VariableDeclarationList 56085 56136 + VariableDeclaration 56104 56136 + Identifier 56104 56109 + CallExpression 56111 56136 + Identifier 56111 56128 + Identifier 56129 56135 + ReturnStatement 56137 56197 + ConditionalExpression 56157 56196 + Identifier 56157 56162 + QuestionToken 56162 56164 + CallExpression 56164 56184 + Identifier 56164 56178 + Identifier 56179 56183 + ColonToken 56184 56186 + Identifier 56186 56196 + PropertyAssignment 56209 56417 + Identifier 56209 56245 + ArrowFunction 56246 56417 + Parameter 56246 56253 + Identifier 56246 56253 + EqualsGreaterThanToken 56253 56256 + Block 56256 56417 + VariableStatement 56258 56331 + VariableDeclarationList 56258 56330 + VariableDeclaration 56277 56330 + Identifier 56277 56282 + CallExpression 56284 56330 + Identifier 56284 56301 + Identifier 56302 56308 + Identifier 56309 56329 + ReturnStatement 56331 56406 + BinaryExpression 56351 56405 + BinaryExpression 56351 56392 + Identifier 56351 56356 + AmpersandAmpersandToken 56356 56359 + CallExpression 56359 56392 + Identifier 56359 56386 + Identifier 56387 56391 + BarBarToken 56392 56395 + Identifier 56395 56405 + PropertyAssignment 56418 56669 + Identifier 56418 56470 + ArrowFunction 56471 56669 + Parameter 56471 56482 + Identifier 56471 56482 + EqualsGreaterThanToken 56482 56485 + Block 56485 56669 + VariableStatement 56487 56561 + VariableDeclarationList 56487 56560 + VariableDeclaration 56506 56560 + Identifier 56506 56515 + CallExpression 56517 56560 + Identifier 56517 56534 + Identifier 56535 56545 + Identifier 56546 56559 + ReturnStatement 56561 56658 + ConditionalExpression 56581 56657 + Identifier 56581 56590 + QuestionToken 56590 56592 + CallExpression 56592 56645 + Identifier 56592 56635 + Identifier 56636 56644 + ColonToken 56645 56647 + Identifier 56647 56657 + PropertyAssignment 56670 56864 + Identifier 56670 56697 + ArrowFunction 56698 56864 + Parameter 56700 56709 + Identifier 56700 56709 + Parameter 56710 56731 + Identifier 56710 56731 + Parameter 56732 56738 + Identifier 56732 56738 + Parameter 56739 56744 + Identifier 56739 56744 + EqualsGreaterThanToken 56745 56748 + Block 56748 56864 + ReturnStatement 56750 56853 + CallExpression 56770 56852 + Identifier 56770 56788 + Identifier 56789 56798 + CallExpression 56799 56838 + Identifier 56799 56816 + Identifier 56817 56837 + Identifier 56839 56845 + Identifier 56846 56851 + PropertyAssignment 56865 57027 + Identifier 56865 56887 + ArrowFunction 56888 57027 + Parameter 56890 56894 + Identifier 56890 56894 + Parameter 56895 56916 + Identifier 56895 56916 + Parameter 56917 56923 + Identifier 56917 56923 + EqualsGreaterThanToken 56924 56927 + Block 56927 57027 + ReturnStatement 56929 57016 + CallExpression 56949 57015 + Identifier 56949 56962 + Identifier 56963 56967 + CallExpression 56968 57007 + Identifier 56968 56985 + Identifier 56986 57006 + Identifier 57008 57014 + PropertyAssignment 57028 57216 + Identifier 57028 57052 + ArrowFunction 57053 57216 + Parameter 57055 57061 + Identifier 57055 57061 + Parameter 57062 57083 + Identifier 57062 57083 + Parameter 57084 57092 + Identifier 57084 57092 + Parameter 57093 57099 + Identifier 57093 57099 + EqualsGreaterThanToken 57100 57103 + Block 57103 57216 + ReturnStatement 57105 57205 + CallExpression 57125 57204 + Identifier 57125 57140 + Identifier 57141 57147 + CallExpression 57148 57187 + Identifier 57148 57165 + Identifier 57166 57186 + Identifier 57188 57196 + Identifier 57197 57203 + PropertyAssignment 57217 57407 + Identifier 57217 57248 + ArrowFunction 57249 57407 + Parameter 57251 57260 + Identifier 57251 57260 + Parameter 57261 57282 + Identifier 57261 57282 + Parameter 57283 57289 + Identifier 57283 57289 + EqualsGreaterThanToken 57290 57293 + Block 57293 57407 + ReturnStatement 57295 57396 + CallExpression 57315 57395 + Identifier 57315 57337 + Identifier 57338 57347 + CallExpression 57348 57387 + Identifier 57348 57365 + Identifier 57366 57386 + Identifier 57388 57394 + PropertyAssignment 57408 57615 + Identifier 57408 57432 + ArrowFunction 57433 57615 + Parameter 57435 57444 + Identifier 57435 57444 + Parameter 57445 57466 + Identifier 57445 57466 + Parameter 57467 57473 + Identifier 57467 57473 + Parameter 57474 57479 + Identifier 57474 57479 + Parameter 57480 57487 + Identifier 57480 57487 + EqualsGreaterThanToken 57488 57491 + Block 57491 57615 + ReturnStatement 57493 57604 + CallExpression 57513 57603 + Identifier 57513 57531 + Identifier 57532 57541 + CallExpression 57542 57581 + Identifier 57542 57559 + Identifier 57560 57580 + Identifier 57582 57588 + Identifier 57589 57594 + Identifier 57595 57602 + PropertyAssignment 57616 57791 + Identifier 57616 57635 + ArrowFunction 57636 57791 + Parameter 57638 57642 + Identifier 57638 57642 + Parameter 57643 57664 + Identifier 57643 57664 + Parameter 57665 57671 + Identifier 57665 57671 + Parameter 57672 57679 + Identifier 57672 57679 + EqualsGreaterThanToken 57680 57683 + Block 57683 57791 + ReturnStatement 57685 57780 + CallExpression 57705 57779 + Identifier 57705 57718 + Identifier 57719 57723 + CallExpression 57724 57763 + Identifier 57724 57741 + Identifier 57742 57762 + Identifier 57764 57770 + Identifier 57771 57778 + PropertyAssignment 57792 57993 + Identifier 57792 57813 + ArrowFunction 57814 57993 + Parameter 57816 57822 + Identifier 57816 57822 + Parameter 57823 57844 + Identifier 57823 57844 + Parameter 57845 57853 + Identifier 57845 57853 + Parameter 57854 57860 + Identifier 57854 57860 + Parameter 57861 57868 + Identifier 57861 57868 + EqualsGreaterThanToken 57869 57872 + Block 57872 57993 + ReturnStatement 57874 57982 + CallExpression 57894 57981 + Identifier 57894 57909 + Identifier 57910 57916 + CallExpression 57917 57956 + Identifier 57917 57934 + Identifier 57935 57955 + Identifier 57957 57965 + Identifier 57966 57972 + Identifier 57973 57980 + PropertyAssignment 57994 58197 + Identifier 57994 58022 + ArrowFunction 58023 58197 + Parameter 58025 58034 + Identifier 58025 58034 + Parameter 58035 58056 + Identifier 58035 58056 + Parameter 58057 58063 + Identifier 58057 58063 + Parameter 58064 58071 + Identifier 58064 58071 + EqualsGreaterThanToken 58072 58075 + Block 58075 58197 + ReturnStatement 58077 58186 + CallExpression 58097 58185 + Identifier 58097 58119 + Identifier 58120 58129 + CallExpression 58130 58169 + Identifier 58130 58147 + Identifier 58148 58168 + Identifier 58170 58176 + Identifier 58177 58184 + ShorthandPropertyAssignment 58198 58236 + Identifier 58198 58236 + ShorthandPropertyAssignment 58237 58261 + Identifier 58237 58261 + ShorthandPropertyAssignment 58262 58290 + Identifier 58262 58290 + PropertyAssignment 58291 58776 + Identifier 58291 58318 + ArrowFunction 58319 58776 + Parameter 58321 58339 + Identifier 58321 58327 + TypeReference 58328 58339 + Identifier 58328 58339 + Parameter 58340 58368 + Identifier 58340 58353 + QuestionToken 58353 58354 + TypeReference 58355 58368 + Identifier 58355 58368 + EqualsGreaterThanToken 58369 58372 + Block 58372 58776 + VariableStatement 58374 58440 + VariableDeclarationList 58374 58439 + VariableDeclaration 58393 58439 + Identifier 58393 58398 + CallExpression 58400 58439 + Identifier 58400 58417 + Identifier 58418 58424 + Identifier 58425 58438 + IfStatement 58440 58516 + PrefixUnaryExpression 58458 58463 + Identifier 58459 58463 + Block 58464 58516 + ReturnStatement 58466 58501 + Identifier 58490 58500 + IfStatement 58516 58706 + BinaryExpression 58534 58574 + NonNullExpression 58534 58547 + Identifier 58534 58546 + AmpersandToken 58547 58549 + PropertyAccessExpression 58549 58574 + Identifier 58549 58562 + Identifier 58563 58574 + Block 58575 58706 + ReturnStatement 58577 58691 + CallExpression 58601 58690 + Identifier 58601 58639 + Identifier 58640 58644 + ArrowFunction 58645 58689 + EqualsGreaterThanToken 58648 58651 + CallExpression 58651 58689 + Identifier 58651 58669 + Identifier 58670 58674 + Identifier 58675 58688 + ReturnStatement 58706 58765 + CallExpression 58726 58764 + Identifier 58726 58744 + Identifier 58745 58749 + Identifier 58750 58763 + PropertyAssignment 58777 59046 + Identifier 58777 58827 + ArrowFunction 58828 59046 + Parameter 58828 58835 + Identifier 58828 58835 + EqualsGreaterThanToken 58835 58838 + Block 58838 59046 + VariableStatement 58840 58920 + VariableDeclarationList 58840 58919 + VariableDeclaration 58859 58919 + Identifier 58859 58864 + CallExpression 58866 58919 + Identifier 58866 58883 + Identifier 58884 58890 + Identifier 58891 58918 + ReturnStatement 58920 59035 + ConditionalExpression 58940 59034 + Identifier 58940 58945 + QuestionToken 58945 58947 + CallExpression 58947 59022 + Identifier 58947 58988 + Identifier 58989 58993 + Identifier 58994 59021 + ColonToken 59022 59024 + Identifier 59024 59034 + PropertyAssignment 59047 59283 + Identifier 59047 59092 + ArrowFunction 59093 59283 + Parameter 59095 59101 + Identifier 59095 59101 + Parameter 59102 59111 + Identifier 59102 59111 + EqualsGreaterThanToken 59112 59115 + Block 59115 59283 + VariableStatement 59117 59191 + VariableDeclarationList 59117 59190 + VariableDeclaration 59136 59190 + Identifier 59136 59141 + CallExpression 59143 59190 + Identifier 59143 59160 + Identifier 59161 59167 + Identifier 59168 59189 + ReturnStatement 59191 59272 + BinaryExpression 59211 59271 + Identifier 59211 59216 + AmpersandAmpersandToken 59216 59219 + CallExpression 59219 59271 + Identifier 59219 59255 + Identifier 59256 59260 + Identifier 59261 59270 + PropertyAssignment 59284 59518 + Identifier 59284 59326 + ArrowFunction 59327 59518 + Parameter 59327 59334 + Identifier 59327 59334 + EqualsGreaterThanToken 59334 59337 + Block 59337 59518 + VariableStatement 59339 59411 + VariableDeclarationList 59339 59410 + VariableDeclaration 59358 59410 + Identifier 59358 59363 + CallExpression 59365 59410 + Identifier 59365 59382 + Identifier 59383 59389 + Identifier 59390 59409 + ReturnStatement 59411 59507 + BinaryExpression 59431 59506 + Identifier 59431 59436 + AmpersandAmpersandToken 59436 59439 + CallExpression 59439 59506 + Identifier 59439 59472 + Identifier 59473 59477 + Identifier 59478 59505 + ShorthandPropertyAssignment 59519 59547 + Identifier 59519 59547 + ShorthandPropertyAssignment 59548 59591 + Identifier 59548 59591 + ShorthandPropertyAssignment 59592 59623 + Identifier 59592 59623 + PropertyAssignment 59624 59786 + Identifier 59624 59654 + ArrowFunction 59655 59786 + Parameter 59657 59661 + Identifier 59657 59661 + Parameter 59662 59681 + Identifier 59662 59681 + Parameter 59682 59696 + Identifier 59682 59696 + EqualsGreaterThanToken 59697 59700 + CallExpression 59700 59786 + Identifier 59700 59727 + Identifier 59728 59732 + Identifier 59733 59752 + Identifier 59753 59767 + PropertyAccessExpression 59768 59785 + Identifier 59768 59778 + Identifier 59779 59785 + ShorthandPropertyAssignment 59787 59846 + Identifier 59787 59846 + PropertyAssignment 59847 60085 + Identifier 59847 59893 + ArrowFunction 59894 60085 + Parameter 59896 59900 + Identifier 59896 59900 + Parameter 59901 59920 + Identifier 59901 59920 + Parameter 59921 59935 + Identifier 59921 59935 + EqualsGreaterThanToken 59936 59939 + CallExpression 59939 60085 + Identifier 59939 59974 + Identifier 59975 59979 + ArrowFunction 59980 60084 + EqualsGreaterThanToken 59983 59986 + CallExpression 59986 60084 + Identifier 59986 60013 + Identifier 60014 60018 + Identifier 60019 60038 + Identifier 60039 60053 + PropertyAccessExpression 60054 60083 + Identifier 60054 60064 + Identifier 60065 60083 + ShorthandPropertyAssignment 60086 60117 + Identifier 60086 60117 + ShorthandPropertyAssignment 60118 60153 + Identifier 60118 60153 + ShorthandPropertyAssignment 60154 60190 + Identifier 60154 60190 + PropertyAssignment 60191 60378 + Identifier 60191 60217 + ArrowFunction 60218 60378 + Parameter 60218 60225 + Identifier 60218 60225 + EqualsGreaterThanToken 60225 60228 + Block 60228 60378 + VariableStatement 60230 60304 + VariableDeclarationList 60230 60303 + VariableDeclaration 60249 60303 + Identifier 60249 60254 + CallExpression 60256 60303 + Identifier 60256 60273 + Identifier 60274 60280 + Identifier 60281 60302 + ReturnStatement 60304 60367 + ConditionalExpression 60324 60366 + Identifier 60324 60329 + QuestionToken 60329 60331 + CallExpression 60331 60354 + Identifier 60331 60348 + Identifier 60349 60353 + ColonToken 60354 60356 + Identifier 60356 60366 + PropertyAssignment 60379 60650 + Identifier 60379 60410 + ArrowFunction 60411 60650 + Parameter 60413 60419 + Identifier 60413 60419 + Parameter 60420 60433 + Identifier 60420 60433 + EqualsGreaterThanToken 60434 60437 + Block 60437 60650 + VariableStatement 60439 60540 + VariableDeclarationList 60439 60539 + VariableDeclaration 60458 60539 + Identifier 60458 60463 + CallExpression 60465 60539 + Identifier 60465 60482 + Identifier 60483 60489 + Identifier 60490 60538 + ReturnStatement 60540 60639 + BinaryExpression 60560 60638 + PrefixUnaryExpression 60560 60567 + PrefixUnaryExpression 60562 60567 + Identifier 60563 60567 + AmpersandAmpersandToken 60567 60570 + CallExpression 60570 60638 + Identifier 60570 60592 + Identifier 60593 60597 + CallExpression 60598 60637 + Identifier 60598 60623 + Identifier 60624 60636 + PropertyAssignment 60651 60907 + Identifier 60651 60696 + ArrowFunction 60697 60907 + Parameter 60699 60705 + Identifier 60699 60705 + Parameter 60706 60711 + Identifier 60706 60711 + Parameter 60712 60721 + Identifier 60712 60721 + EqualsGreaterThanToken 60722 60725 + Block 60725 60907 + VariableStatement 60727 60807 + VariableDeclarationList 60727 60806 + VariableDeclaration 60746 60806 + Identifier 60746 60751 + CallExpression 60753 60806 + Identifier 60753 60770 + Identifier 60771 60777 + Identifier 60778 60805 + ReturnStatement 60807 60896 + BinaryExpression 60827 60895 + PrefixUnaryExpression 60827 60834 + PrefixUnaryExpression 60829 60834 + Identifier 60830 60834 + AmpersandAmpersandToken 60834 60837 + CallExpression 60837 60895 + Identifier 60837 60873 + Identifier 60874 60878 + Identifier 60879 60884 + Identifier 60885 60894 + PropertyAssignment 60908 61146 + Identifier 60908 60945 + ArrowFunction 60946 61146 + Parameter 60946 60960 + Identifier 60946 60960 + EqualsGreaterThanToken 60960 60963 + Block 60963 61146 + VariableStatement 60965 61047 + VariableDeclarationList 60965 61046 + VariableDeclaration 60984 61046 + Identifier 60984 60996 + CallExpression 60998 61046 + Identifier 60998 61015 + Identifier 61016 61029 + Identifier 61030 61045 + ReturnStatement 61047 61135 + ConditionalExpression 61067 61134 + Identifier 61067 61079 + QuestionToken 61079 61081 + CallExpression 61081 61122 + Identifier 61081 61109 + Identifier 61110 61121 + ColonToken 61122 61124 + Identifier 61124 61134 + PropertyAssignment 61147 61348 + Identifier 61147 61183 + ArrowFunction 61184 61348 + Parameter 61184 61191 + Identifier 61184 61191 + EqualsGreaterThanToken 61191 61194 + Block 61194 61348 + VariableStatement 61196 61264 + VariableDeclarationList 61196 61263 + VariableDeclaration 61215 61263 + Identifier 61215 61220 + CallExpression 61222 61263 + Identifier 61222 61239 + Identifier 61240 61246 + Identifier 61247 61262 + ReturnStatement 61264 61337 + ConditionalExpression 61284 61336 + Identifier 61284 61289 + QuestionToken 61289 61291 + CallExpression 61291 61324 + Identifier 61291 61318 + Identifier 61319 61323 + ColonToken 61324 61326 + Identifier 61326 61336 + ShorthandPropertyAssignment 61349 61384 + Identifier 61349 61384 + PropertyAssignment 61385 61425 + Identifier 61385 61411 + Identifier 61412 61425 + ShorthandPropertyAssignment 61426 61451 + Identifier 61426 61451 + ShorthandPropertyAssignment 61452 61493 + Identifier 61452 61493 + PropertyAssignment 61494 61549 + Identifier 61494 61522 + Identifier 61523 61549 + ShorthandPropertyAssignment 61550 61591 + Identifier 61550 61591 + ShorthandPropertyAssignment 61592 61634 + Identifier 61592 61634 + PropertyAssignment 61635 62052 + Identifier 61635 61660 + CallExpression 61661 62052 + Identifier 61661 61683 + Identifier 61684 61720 + Identifier 61721 61762 + Identifier 61763 61801 + Identifier 61802 61828 + Identifier 61829 61871 + Identifier 61872 61901 + Identifier 61902 61933 + Identifier 61934 61976 + Identifier 61977 62009 + Identifier 62010 62040 + ShorthandPropertyAssignment 62053 62080 + Identifier 62053 62080 + ShorthandPropertyAssignment 62081 62116 + Identifier 62081 62116 + PropertyAssignment 62117 62297 + Identifier 62117 62146 + ArrowFunction 62147 62297 + Parameter 62147 62154 + Identifier 62147 62154 + EqualsGreaterThanToken 62154 62157 + Block 62157 62297 + VariableStatement 62159 62224 + VariableDeclarationList 62159 62223 + VariableDeclaration 62178 62223 + Identifier 62178 62183 + CallExpression 62185 62223 + Identifier 62185 62202 + Identifier 62203 62209 + Identifier 62210 62222 + ReturnStatement 62224 62286 + ConditionalExpression 62244 62285 + Identifier 62244 62249 + QuestionToken 62249 62251 + CallExpression 62251 62277 + Identifier 62251 62271 + Identifier 62272 62276 + ColonToken 62277 62279 + FalseKeyword 62279 62285 + PropertyAssignment 62298 62422 + Identifier 62298 62335 + ArrowFunction 62336 62422 + Parameter 62338 62342 + Identifier 62338 62342 + Parameter 62343 62350 + Identifier 62343 62350 + EqualsGreaterThanToken 62351 62354 + CallExpression 62354 62422 + Identifier 62354 62382 + CallExpression 62383 62413 + Identifier 62383 62407 + Identifier 62408 62412 + Identifier 62414 62421 + PropertyAssignment 62423 62573 + Identifier 62423 62473 + ArrowFunction 62474 62573 + Parameter 62476 62480 + Identifier 62476 62480 + Parameter 62481 62488 + Identifier 62481 62488 + EqualsGreaterThanToken 62489 62492 + CallExpression 62492 62573 + Identifier 62492 62533 + CallExpression 62534 62564 + Identifier 62534 62558 + Identifier 62559 62563 + Identifier 62565 62572 + PropertyAssignment 62574 62680 + Identifier 62574 62604 + ArrowFunction 62605 62680 + Parameter 62605 62616 + Identifier 62605 62616 + EqualsGreaterThanToken 62616 62619 + CallExpression 62619 62680 + Identifier 62619 62640 + Identifier 62641 62651 + TrueKeyword 62652 62679 + ShorthandPropertyAssignment 62681 62706 + Identifier 62681 62706 + ShorthandPropertyAssignment 62707 62729 + Identifier 62707 62729 + ShorthandPropertyAssignment 62730 62758 + Identifier 62730 62758 + ShorthandPropertyAssignment 62759 62788 + Identifier 62759 62788 + ShorthandPropertyAssignment 62789 62814 + Identifier 62789 62814 + ShorthandPropertyAssignment 62815 62837 + Identifier 62815 62837 + ShorthandPropertyAssignment 62838 62863 + Identifier 62838 62863 + PropertyAssignment 62864 62899 + Identifier 62864 62884 + ArrowFunction 62885 62899 + EqualsGreaterThanToken 62888 62891 + Identifier 62891 62899 + PropertyAssignment 62900 62941 + Identifier 62900 62923 + ArrowFunction 62924 62941 + EqualsGreaterThanToken 62927 62930 + Identifier 62930 62941 + ShorthandPropertyAssignment 62942 62972 + Identifier 62942 62972 + PropertyAssignment 62973 63014 + Identifier 62973 62996 + ArrowFunction 62997 63014 + EqualsGreaterThanToken 63000 63003 + Identifier 63003 63014 + ShorthandPropertyAssignment 63015 63045 + Identifier 63015 63045 + PropertyAssignment 63046 63087 + Identifier 63046 63069 + ArrowFunction 63070 63087 + EqualsGreaterThanToken 63073 63076 + Identifier 63076 63087 + ShorthandPropertyAssignment 63088 63118 + Identifier 63088 63118 + PropertyAssignment 63119 63162 + Identifier 63119 63143 + ArrowFunction 63144 63162 + EqualsGreaterThanToken 63147 63150 + Identifier 63150 63162 + ShorthandPropertyAssignment 63163 63190 + Identifier 63163 63190 + ShorthandPropertyAssignment 63191 63216 + Identifier 63191 63216 + ShorthandPropertyAssignment 63217 63252 + Identifier 63217 63252 + PropertyAssignment 63253 63296 + Identifier 63253 63277 + ArrowFunction 63278 63296 + EqualsGreaterThanToken 63281 63284 + Identifier 63284 63296 + PropertyAssignment 63297 63369 + Identifier 63297 63319 + ArrowFunction 63320 63369 + Parameter 63322 63328 + Identifier 63322 63327 + QuestionToken 63327 63328 + EqualsGreaterThanToken 63329 63332 + ConditionalExpression 63332 63369 + Identifier 63332 63338 + QuestionToken 63338 63340 + Identifier 63340 63350 + ColonToken 63350 63352 + Identifier 63352 63369 + PropertyAssignment 63370 63439 + Identifier 63370 63391 + ArrowFunction 63392 63439 + Parameter 63394 63400 + Identifier 63394 63399 + QuestionToken 63399 63400 + EqualsGreaterThanToken 63401 63404 + ConditionalExpression 63404 63439 + Identifier 63404 63410 + QuestionToken 63410 63412 + Identifier 63412 63421 + ColonToken 63421 63423 + Identifier 63423 63439 + PropertyAssignment 63440 63477 + Identifier 63440 63461 + ArrowFunction 63462 63477 + EqualsGreaterThanToken 63465 63468 + Identifier 63468 63477 + PropertyAssignment 63478 63525 + Identifier 63478 63504 + ArrowFunction 63505 63525 + EqualsGreaterThanToken 63508 63511 + Identifier 63511 63525 + PropertyAssignment 63526 63563 + Identifier 63526 63547 + ArrowFunction 63548 63563 + EqualsGreaterThanToken 63551 63554 + Identifier 63554 63563 + PropertyAssignment 63564 63609 + Identifier 63564 63589 + ArrowFunction 63590 63609 + EqualsGreaterThanToken 63593 63596 + Identifier 63596 63609 + PropertyAssignment 63610 63649 + Identifier 63610 63632 + ArrowFunction 63633 63649 + EqualsGreaterThanToken 63636 63639 + Identifier 63639 63649 + PropertyAssignment 63650 63695 + Identifier 63650 63675 + ArrowFunction 63676 63695 + EqualsGreaterThanToken 63679 63682 + Identifier 63682 63695 + PropertyAssignment 63696 63772 + Identifier 63696 63720 + ArrowFunction 63721 63772 + EqualsGreaterThanToken 63724 63727 + CallExpression 63727 63772 + Identifier 63727 63748 + FalseKeyword 63749 63771 + PropertyAssignment 63773 63857 + Identifier 63773 63801 + ArrowFunction 63802 63857 + EqualsGreaterThanToken 63805 63808 + CallExpression 63808 63857 + Identifier 63808 63833 + FalseKeyword 63834 63856 + PropertyAssignment 63858 64127 + Identifier 63858 63891 + ArrowFunction 63892 64127 + EqualsGreaterThanToken 63895 63898 + Block 63898 64127 + VariableStatement 63900 63978 + VariableDeclarationList 63900 63977 + VariableDeclaration 63919 63977 + Identifier 63919 63924 + CallExpression 63926 63977 + Identifier 63926 63953 + FalseKeyword 63954 63976 + IfStatement 63978 64040 + BinaryExpression 63996 64021 + Identifier 63996 64000 + EqualsEqualsEqualsToken 64000 64004 + Identifier 64004 64021 + ReturnStatement 64022 64040 + Identifier 64029 64039 + ReturnStatement 64040 64116 + CallExpression 64060 64115 + Identifier 64060 64080 + Identifier 64081 64085 + ArrayLiteralExpression 64086 64114 + Identifier 64088 64095 + Identifier 64096 64104 + Identifier 64105 64113 + ShorthandPropertyAssignment 64128 64156 + Identifier 64128 64156 + ShorthandPropertyAssignment 64157 64178 + Identifier 64157 64178 + ShorthandPropertyAssignment 64179 64200 + Identifier 64179 64200 + ShorthandPropertyAssignment 64201 64226 + Identifier 64201 64226 + ShorthandPropertyAssignment 64227 64263 + Identifier 64227 64263 + ShorthandPropertyAssignment 64264 64309 + Identifier 64264 64309 + ShorthandPropertyAssignment 64310 64346 + Identifier 64310 64346 + ShorthandPropertyAssignment 64347 64388 + Identifier 64347 64388 + ShorthandPropertyAssignment 64389 64439 + Identifier 64389 64439 + ShorthandPropertyAssignment 64440 64494 + Identifier 64440 64494 + PropertyAssignment 64495 64663 + Identifier 64495 64543 + ArrowFunction 64544 64663 + Parameter 64546 64554 + Identifier 64546 64554 + Parameter 64555 64560 + Identifier 64555 64560 + Parameter 64561 64569 + Identifier 64561 64569 + EqualsGreaterThanToken 64570 64573 + CallExpression 64573 64663 + Identifier 64573 64612 + Identifier 64613 64621 + CallExpression 64622 64653 + Identifier 64622 64647 + Identifier 64648 64652 + Identifier 64654 64662 + ShorthandPropertyAssignment 64664 64712 + Identifier 64664 64712 + ShorthandPropertyAssignment 64713 64766 + Identifier 64713 64766 + ShorthandPropertyAssignment 64767 64800 + Identifier 64767 64800 + PropertyAssignment 64801 64957 + Identifier 64801 64838 + ArrowFunction 64839 64957 + Parameter 64839 64844 + Identifier 64839 64844 + EqualsGreaterThanToken 64844 64847 + ConditionalExpression 64847 64957 + BinaryExpression 64847 64892 + Identifier 64847 64852 + AmpersandAmpersandToken 64852 64855 + BinaryExpression 64855 64892 + PropertyAccessExpression 64855 64866 + Identifier 64855 64860 + Identifier 64861 64866 + AmpersandToken 64866 64868 + PropertyAccessExpression 64868 64892 + Identifier 64868 64878 + Identifier 64879 64892 + QuestionToken 64892 64894 + CallExpression 64894 64945 + Identifier 64894 64922 + AsExpression 64923 64944 + Identifier 64923 64927 + TypeReference 64930 64944 + Identifier 64930 64944 + ColonToken 64945 64947 + Identifier 64947 64957 + MethodDeclaration 64958 65185 + Identifier 64958 64979 + Parameter 64980 64984 + Identifier 64980 64984 + Parameter 64985 64994 + Identifier 64985 64994 + Parameter 64995 65003 + Identifier 64995 65003 + Parameter 65004 65019 + Identifier 65004 65019 + Block 65020 65185 + ReturnStatement 65022 65174 + CallExpression 65042 65173 + Identifier 65042 65054 + Identifier 65055 65063 + CallExpression 65064 65095 + Identifier 65064 65089 + Identifier 65090 65094 + Identifier 65096 65104 + Identifier 65105 65139 + FalseKeyword 65140 65156 + Identifier 65157 65172 + PropertyAssignment 65186 65264 + Identifier 65186 65211 + ArrowFunction 65212 65264 + Parameter 65212 65214 + Identifier 65212 65214 + EqualsGreaterThanToken 65214 65217 + CallExpression 65217 65264 + Identifier 65217 65244 + CallExpression 65245 65263 + Identifier 65245 65260 + Identifier 65261 65262 + PropertyAssignment 65265 65509 + Identifier 65265 65296 + ArrowFunction 65297 65509 + Parameter 65297 65299 + Identifier 65297 65299 + EqualsGreaterThanToken 65299 65302 + Block 65302 65509 + VariableStatement 65304 65376 + VariableDeclarationList 65304 65375 + VariableDeclaration 65323 65375 + Identifier 65323 65342 + CallExpression 65344 65375 + Identifier 65344 65372 + Identifier 65373 65374 + ReturnStatement 65376 65498 + BinaryExpression 65396 65497 + Identifier 65396 65415 + AmpersandAmpersandToken 65415 65418 + CallExpression 65418 65497 + Identifier 65418 65445 + PropertyAccessExpression 65446 65496 + CallExpression 65446 65484 + Identifier 65446 65464 + Identifier 65465 65483 + Identifier 65485 65496 + ShorthandPropertyAssignment 65510 65544 + Identifier 65510 65544 + ShorthandPropertyAssignment 65545 65582 + Identifier 65545 65582 + PropertyAssignment 65583 65864 + Identifier 65583 65618 + ArrowFunction 65619 65864 + Parameter 65619 65637 + Identifier 65619 65637 + EqualsGreaterThanToken 65637 65640 + Block 65640 65864 + VariableStatement 65642 65730 + VariableDeclarationList 65642 65729 + VariableDeclaration 65661 65729 + Identifier 65661 65677 + CallExpression 65679 65729 + Identifier 65679 65696 + Identifier 65697 65714 + Identifier 65715 65728 + ReturnStatement 65730 65853 + BinaryExpression 65750 65852 + Identifier 65750 65766 + AmpersandAmpersandToken 65766 65769 + CallExpression 65769 65852 + Identifier 65769 65795 + Identifier 65796 65811 + Identifier 65812 65828 + TrueKeyword 65829 65851 + ShorthandPropertyAssignment 65865 65902 + Identifier 65865 65902 + PropertyAssignment 65903 66119 + Identifier 65903 65929 + ArrowFunction 65930 66119 + Parameter 65932 65938 + Identifier 65932 65938 + Parameter 65939 65957 + Identifier 65939 65957 + Parameter 65958 65968 + Identifier 65958 65968 + EqualsGreaterThanToken 65969 65972 + Block 65972 66119 + VariableStatement 65974 66026 + VariableDeclarationList 65974 66025 + VariableDeclaration 65993 66025 + Identifier 65993 65998 + CallExpression 66000 66025 + Identifier 66000 66017 + Identifier 66018 66024 + ReturnStatement 66026 66108 + BinaryExpression 66046 66107 + Identifier 66046 66051 + AmpersandAmpersandToken 66051 66054 + CallExpression 66054 66107 + Identifier 66054 66071 + Identifier 66072 66076 + Identifier 66077 66095 + Identifier 66096 66106 + PropertyAssignment 66120 66304 + Identifier 66120 66155 + ArrowFunction 66156 66304 + Parameter 66156 66163 + Identifier 66156 66163 + EqualsGreaterThanToken 66163 66166 + Block 66166 66304 + VariableStatement 66168 66232 + VariableDeclarationList 66168 66231 + VariableDeclaration 66187 66231 + Identifier 66187 66192 + CallExpression 66194 66231 + Identifier 66194 66211 + Identifier 66212 66218 + Identifier 66219 66230 + ReturnStatement 66232 66293 + BinaryExpression 66252 66292 + Identifier 66252 66257 + AmpersandAmpersandToken 66257 66260 + CallExpression 66260 66292 + Identifier 66260 66286 + Identifier 66287 66291 + PropertyAssignment 66305 67954 + Identifier 66305 66339 + ArrowFunction 66340 67954 + Parameter 66342 66348 + Identifier 66342 66348 + Parameter 66349 66352 + Identifier 66349 66352 + EqualsGreaterThanToken 66353 66356 + Block 66356 67954 + VariableStatement 66358 66481 + VariableDeclarationList 66358 66480 + VariableDeclaration 66377 66480 + Identifier 66377 66382 + BinaryExpression 66384 66480 + CallExpression 66384 66423 + Identifier 66384 66401 + Identifier 66402 66408 + Identifier 66409 66422 + BarBarToken 66423 66426 + CallExpression 66426 66480 + PropertyAccessExpression 66426 66437 + Identifier 66426 66432 + Identifier 66433 66437 + StringLiteral 66438 66479 + IfStatement 66481 66598 + CallExpression 66499 66544 + Identifier 66499 66515 + Identifier 66516 66520 + Identifier 66521 66537 + Identifier 66538 66543 + Block 66545 66598 + ReturnStatement 66547 66583 + Identifier 66571 66582 + VariableStatement 66598 66668 + VariableDeclarationList 66598 66667 + VariableDeclaration 66617 66667 + Identifier 66617 66629 + UnionType 66630 66667 + ArrayType 66630 66655 + TypeReference 66630 66653 + Identifier 66630 66653 + UndefinedKeyword 66657 66667 + TryStatement 66668 67943 + Block 66685 67857 + ExpressionStatement 66687 66979 + BinaryExpression 66687 66978 + Identifier 66687 66973 + EqualsToken 66973 66975 + Identifier 66975 66978 + ExpressionStatement 66979 67178 + CallExpression 66979 67177 + Identifier 66979 67171 + Identifier 67172 67176 + ExpressionStatement 67178 67268 + CallExpression 67178 67267 + PropertyAccessExpression 67178 67208 + Identifier 67178 67201 + Identifier 67202 67208 + PrefixUnaryExpression 67209 67266 + PrefixUnaryExpression 67210 67266 + ParenthesizedExpression 67211 67266 + BinaryExpression 67212 67265 + PropertyAccessExpression 67212 67236 + CallExpression 67212 67230 + Identifier 67212 67224 + Identifier 67225 67229 + Identifier 67231 67236 + AmpersandToken 67236 67238 + PropertyAccessExpression 67238 67265 + Identifier 67238 67253 + Identifier 67254 67265 + ExpressionStatement 67268 67377 + BinaryExpression 67268 67376 + Identifier 67268 67299 + EqualsToken 67299 67301 + CallExpression 67301 67376 + Identifier 67301 67310 + Identifier 67311 67322 + CallExpression 67323 67375 + PropertyAccessExpression 67323 67360 + Identifier 67323 67345 + Identifier 67346 67360 + PropertyAccessExpression 67361 67374 + Identifier 67361 67365 + Identifier 67366 67374 + ExpressionStatement 67377 67789 + CallExpression 67377 67788 + Identifier 67377 67417 + CallExpression 67418 67455 + Identifier 67418 67449 + Identifier 67450 67454 + ArrowFunction 67456 67787 + Parameter 67458 67472 + Identifier 67458 67472 + Parameter 67473 67478 + Identifier 67473 67478 + Parameter 67479 67484 + Identifier 67479 67484 + EqualsGreaterThanToken 67485 67488 + Block 67488 67787 + IfStatement 67490 67768 + BinaryExpression 67516 67621 + PrefixUnaryExpression 67516 67551 + CallExpression 67517 67551 + Identifier 67517 67535 + Identifier 67536 67550 + AmpersandAmpersandToken 67551 67554 + PrefixUnaryExpression 67554 67621 + CallExpression 67556 67621 + Identifier 67556 67569 + Identifier 67570 67574 + PrefixUnaryExpression 67575 67620 + PrefixUnaryExpression 67577 67620 + ParenthesizedExpression 67578 67620 + BinaryExpression 67579 67619 + PropertyAccessExpression 67579 67599 + Identifier 67579 67593 + Identifier 67594 67599 + AmpersandToken 67599 67601 + PropertyAccessExpression 67601 67619 + Identifier 67601 67611 + Identifier 67612 67619 + Block 67622 67768 + ExpressionStatement 67624 67745 + CallExpression 67624 67744 + PropertyAccessExpression 67624 67690 + ParenthesizedExpression 67624 67685 + BinaryExpression 67651 67684 + Identifier 67651 67662 + BarBarToken 67662 67665 + ParenthesizedExpression 67665 67684 + BinaryExpression 67667 67683 + Identifier 67667 67678 + EqualsToken 67678 67680 + ArrayLiteralExpression 67680 67683 + Identifier 67686 67690 + ObjectLiteralExpression 67691 67743 + SpreadAssignment 67692 67700 + Identifier 67696 67700 + PropertyAssignment 67701 67741 + Identifier 67701 67710 + PropertyAccessExpression 67711 67741 + Identifier 67711 67730 + Identifier 67731 67741 + ReturnStatement 67789 67842 + BinaryExpression 67815 67841 + Identifier 67815 67827 + BarBarToken 67827 67830 + Identifier 67830 67841 + Block 67878 67943 + ExpressionStatement 67880 67928 + BinaryExpression 67880 67927 + Identifier 67880 67915 + EqualsToken 67915 67917 + Identifier 67917 67927 + PropertyAssignment 67955 68233 + Identifier 67955 67991 + ArrowFunction 67992 68233 + Parameter 67994 67999 + Identifier 67994 67999 + Parameter 68000 68009 + Identifier 68000 68009 + EqualsGreaterThanToken 68010 68013 + Block 68013 68233 + TryStatement 68015 68222 + Block 68032 68136 + ExpressionStatement 68034 68078 + BinaryExpression 68034 68077 + Identifier 68034 68069 + EqualsToken 68069 68071 + Identifier 68071 68077 + ReturnStatement 68078 68121 + CallExpression 68102 68120 + Identifier 68102 68111 + Identifier 68112 68119 + Block 68157 68222 + ExpressionStatement 68159 68207 + BinaryExpression 68159 68206 + Identifier 68159 68194 + EqualsToken 68194 68196 + Identifier 68196 68206 + ShorthandPropertyAssignment 68234 68297 + Identifier 68234 68297 + ShorthandPropertyAssignment 68298 68328 + Identifier 68298 68328 + ShorthandPropertyAssignment 68329 68359 + Identifier 68329 68359 + ShorthandPropertyAssignment 68360 68397 + Identifier 68360 68397 + ShorthandPropertyAssignment 68398 68439 + Identifier 68398 68439 + ShorthandPropertyAssignment 68440 68483 + Identifier 68440 68483 + ShorthandPropertyAssignment 68484 68526 + Identifier 68484 68526 + ShorthandPropertyAssignment 68527 68551 + Identifier 68527 68551 + ShorthandPropertyAssignment 68552 68598 + Identifier 68552 68598 + FunctionDeclaration 68607 68854 + Identifier 68623 68660 + Parameter 68661 68681 + Identifier 68661 68670 + TypeReference 68671 68681 + Identifier 68671 68681 + Block 68682 68854 + IfStatement 68684 68747 + BinaryExpression 68698 68728 + PropertyAccessExpression 68698 68714 + Identifier 68698 68707 + Identifier 68708 68714 + EqualsEqualsEqualsToken 68714 68718 + Identifier 68718 68728 + ReturnStatement 68729 68747 + Identifier 68736 68746 + ReturnStatement 68747 68847 + CallExpression 68763 68846 + Identifier 68763 68780 + PropertyAccessExpression 68781 68827 + ParenthesizedExpression 68781 68812 + BinaryExpression 68782 68811 + PropertyAccessExpression 68782 68798 + Identifier 68782 68791 + Identifier 68792 68798 + BarBarToken 68798 68801 + Identifier 68801 68811 + Identifier 68813 68827 + PropertyAccessExpression 68828 68845 + Identifier 68828 68838 + Identifier 68839 68845 + FunctionDeclaration 68854 69896 + Identifier 68870 68920 + Parameter 68921 68945 + Identifier 68921 68925 + TypeReference 68926 68945 + Identifier 68926 68945 + Parameter 68946 68968 + Identifier 68946 68962 + TypeReference 68963 68968 + Identifier 68963 68968 + Block 68969 69896 + VariableStatement 68971 69024 + VariableDeclarationList 68971 69023 + VariableDeclaration 68986 69023 + Identifier 68986 69000 + NewExpression 69002 69023 + Identifier 69006 69010 + TypeReference 69011 69020 + Identifier 69011 69020 + VariableStatement 69024 69069 + VariableDeclarationList 69024 69068 + VariableDeclaration 69039 69068 + Identifier 69039 69050 + ArrayType 69051 69063 + TypeReference 69051 69061 + Identifier 69051 69061 + ArrayLiteralExpression 69065 69068 + ExpressionStatement 69069 69317 + CallExpression 69069 69316 + Identifier 69069 69200 + Identifier 69201 69216 + ArrowFunction 69217 69315 + EqualsGreaterThanToken 69220 69223 + CallExpression 69223 69315 + Identifier 69223 69250 + Identifier 69251 69255 + Identifier 69256 69267 + Identifier 69268 69296 + PropertyAccessExpression 69297 69314 + Identifier 69297 69307 + Identifier 69308 69314 + ForOfStatement 69317 69418 + VariableDeclarationList 69332 69347 + VariableDeclaration 69337 69347 + Identifier 69337 69347 + Identifier 69350 69361 + Block 69362 69418 + ExpressionStatement 69364 69407 + CallExpression 69364 69406 + PropertyAccessExpression 69364 69395 + Identifier 69364 69391 + Identifier 69392 69395 + Identifier 69396 69405 + ExpressionStatement 69418 69497 + BinaryExpression 69418 69496 + PropertyAccessExpression 69418 69492 + Identifier 69418 69485 + Identifier 69486 69492 + EqualsToken 69492 69494 + NumericLiteral 69494 69496 + ExpressionStatement 69497 69744 + CallExpression 69497 69743 + Identifier 69497 69627 + Identifier 69628 69643 + ArrowFunction 69644 69742 + EqualsGreaterThanToken 69647 69650 + CallExpression 69650 69742 + Identifier 69650 69677 + Identifier 69678 69682 + Identifier 69683 69694 + Identifier 69695 69723 + PropertyAccessExpression 69724 69741 + Identifier 69724 69734 + Identifier 69735 69741 + ForOfStatement 69744 69845 + VariableDeclarationList 69759 69774 + VariableDeclaration 69764 69774 + Identifier 69764 69774 + Identifier 69777 69788 + Block 69789 69845 + ExpressionStatement 69791 69834 + CallExpression 69791 69833 + PropertyAccessExpression 69791 69822 + Identifier 69791 69818 + Identifier 69819 69822 + Identifier 69823 69832 + ReturnStatement 69845 69889 + CallExpression 69863 69888 + Identifier 69863 69873 + Identifier 69874 69887 + FunctionDeclaration 69896 71246 + Identifier 69912 69947 + TypeParameter 69948 69949 + Identifier 69948 69949 + Parameter 69951 69973 + Identifier 69951 69955 + UnionType 69956 69973 + TypeReference 69956 69961 + Identifier 69956 69961 + UndefinedKeyword 69963 69973 + Parameter 69974 69986 + Identifier 69974 69977 + FunctionType 69978 69986 + TypeReference 69984 69986 + Identifier 69984 69986 + TypeReference 69988 69990 + Identifier 69988 69990 + Block 69990 71246 + ExpressionStatement 69992 70064 + BinaryExpression 69992 70063 + Identifier 69992 70006 + EqualsToken 70006 70008 + CallExpression 70008 70063 + Identifier 70008 70021 + Identifier 70022 70026 + Identifier 70027 70062 + IfStatement 70064 71217 + Identifier 70078 70082 + Block 70083 71217 + VariableStatement 70085 70135 + VariableDeclarationList 70085 70134 + VariableDeclaration 70104 70134 + Identifier 70104 70129 + ArrayLiteralExpression 70131 70134 + VariableStatement 70135 70172 + VariableDeclarationList 70135 70171 + VariableDeclaration 70154 70171 + Identifier 70154 70166 + ArrayLiteralExpression 70168 70171 + WhileStatement 70172 70858 + Identifier 70193 70197 + Block 70198 70858 + VariableStatement 70200 70255 + VariableDeclarationList 70200 70254 + VariableDeclaration 70223 70254 + Identifier 70223 70233 + CallExpression 70235 70254 + Identifier 70235 70248 + Identifier 70249 70253 + ExpressionStatement 70255 70354 + CallExpression 70255 70353 + PropertyAccessExpression 70255 70302 + Identifier 70255 70297 + Identifier 70298 70302 + AsExpression 70303 70352 + ArrayLiteralExpression 70303 70343 + Identifier 70304 70313 + PropertyAccessExpression 70314 70342 + Identifier 70314 70324 + Identifier 70325 70342 + TypeReference 70346 70352 + Identifier 70346 70352 + ExpressionStatement 70354 70412 + BinaryExpression 70354 70411 + PropertyAccessExpression 70354 70399 + Identifier 70354 70381 + Identifier 70382 70399 + EqualsToken 70399 70401 + Identifier 70401 70411 + IfStatement 70412 70756 + CallExpression 70434 70475 + Identifier 70434 70469 + Identifier 70470 70474 + Block 70476 70756 + VariableStatement 70478 70565 + VariableDeclarationList 70478 70564 + VariableDeclaration 70505 70564 + Identifier 70505 70517 + CallExpression 70519 70564 + Identifier 70519 70534 + CallExpression 70535 70563 + Identifier 70535 70557 + Identifier 70558 70562 + VariableStatement 70565 70617 + VariableDeclarationList 70565 70616 + VariableDeclaration 70592 70616 + Identifier 70592 70597 + PropertyAccessExpression 70599 70616 + Identifier 70599 70611 + Identifier 70612 70616 + ExpressionStatement 70617 70686 + CallExpression 70617 70685 + PropertyAccessExpression 70617 70655 + Identifier 70617 70650 + Identifier 70651 70655 + AsExpression 70656 70684 + ArrayLiteralExpression 70656 70675 + Identifier 70657 70668 + Identifier 70669 70674 + TypeReference 70678 70684 + Identifier 70678 70684 + ExpressionStatement 70686 70737 + BinaryExpression 70686 70736 + PropertyAccessExpression 70686 70724 + Identifier 70686 70719 + Identifier 70720 70724 + EqualsToken 70724 70726 + Identifier 70726 70736 + ExpressionStatement 70756 70843 + BinaryExpression 70756 70842 + Identifier 70756 70778 + EqualsToken 70778 70780 + CallExpression 70780 70842 + Identifier 70780 70793 + PropertyAccessExpression 70794 70805 + Identifier 70794 70798 + Identifier 70799 70805 + Identifier 70806 70841 + VariableStatement 70858 70892 + VariableDeclarationList 70858 70891 + VariableDeclaration 70877 70891 + Identifier 70877 70884 + CallExpression 70886 70891 + Identifier 70886 70889 + ForOfStatement 70892 71059 + VariableDeclarationList 70911 70947 + VariableDeclaration 70916 70947 + ArrayBindingPattern 70916 70947 + BindingElement 70918 70927 + Identifier 70918 70927 + BindingElement 70928 70946 + Identifier 70928 70946 + Identifier 70950 70975 + Block 70976 71059 + ExpressionStatement 70978 71044 + BinaryExpression 70978 71043 + PropertyAccessExpression 70978 71023 + Identifier 70978 71005 + Identifier 71006 71023 + EqualsToken 71023 71025 + Identifier 71025 71043 + ForOfStatement 71059 71178 + VariableDeclarationList 71078 71103 + VariableDeclaration 71083 71103 + ArrayBindingPattern 71083 71103 + BindingElement 71085 71096 + Identifier 71085 71096 + BindingElement 71097 71102 + Identifier 71097 71102 + Identifier 71106 71118 + Block 71119 71178 + ExpressionStatement 71121 71163 + BinaryExpression 71121 71162 + PropertyAccessExpression 71121 71155 + Identifier 71121 71150 + Identifier 71151 71155 + EqualsToken 71155 71157 + Identifier 71157 71162 + ReturnStatement 71178 71206 + Identifier 71198 71205 + ReturnStatement 71217 71239 + CallExpression 71233 71238 + Identifier 71233 71236 + FunctionDeclaration 71246 72214 + Identifier 71262 71300 + TypeParameter 71301 71302 + Identifier 71301 71302 + Parameter 71304 71326 + Identifier 71304 71308 + UnionType 71309 71326 + TypeReference 71309 71314 + Identifier 71309 71314 + UndefinedKeyword 71316 71326 + Parameter 71327 71339 + Identifier 71327 71330 + FunctionType 71331 71339 + TypeReference 71337 71339 + Identifier 71337 71339 + TypeReference 71341 71343 + Identifier 71341 71343 + Block 71343 72214 + VariableStatement 71345 71419 + VariableDeclarationList 71345 71418 + VariableDeclaration 71360 71418 + Identifier 71360 71375 + CallExpression 71377 71418 + Identifier 71377 71390 + Identifier 71391 71395 + Identifier 71396 71417 + IfStatement 71419 71716 + Identifier 71433 71447 + Block 71448 71716 + VariableStatement 71450 71487 + VariableDeclarationList 71450 71486 + VariableDeclaration 71467 71486 + Identifier 71467 71478 + NonNullExpression 71480 71486 + Identifier 71480 71485 + DoStatement 71487 71705 + Block 71503 71639 + ExpressionStatement 71505 71575 + BinaryExpression 71505 71574 + PropertyAccessExpression 71505 71567 + CallExpression 71505 71547 + Identifier 71505 71535 + Identifier 71536 71546 + Identifier 71548 71567 + EqualsToken 71567 71569 + TrueKeyword 71569 71574 + ExpressionStatement 71575 71624 + BinaryExpression 71575 71623 + Identifier 71575 71603 + EqualsToken 71603 71605 + PropertyAccessExpression 71605 71623 + Identifier 71605 71616 + Identifier 71617 71623 + BinaryExpression 71660 71703 + Identifier 71660 71670 + AmpersandAmpersandToken 71670 71673 + BinaryExpression 71673 71703 + Identifier 71673 71684 + ExclamationEqualsEqualsToken 71684 71688 + Identifier 71688 71703 + ExpressionStatement 71716 71763 + BinaryExpression 71716 71762 + Identifier 71716 71755 + EqualsToken 71755 71757 + TrueKeyword 71757 71762 + VariableStatement 71763 71833 + VariableDeclarationList 71763 71832 + VariableDeclaration 71778 71832 + Identifier 71778 71785 + CallExpression 71787 71832 + Identifier 71787 71822 + Identifier 71823 71827 + Identifier 71828 71831 + ExpressionStatement 71833 71879 + BinaryExpression 71833 71878 + Identifier 71833 71870 + EqualsToken 71870 71872 + FalseKeyword 71872 71878 + IfStatement 71879 72183 + Identifier 71895 71909 + Block 71910 72183 + VariableStatement 71912 71949 + VariableDeclarationList 71912 71948 + VariableDeclaration 71929 71948 + Identifier 71929 71940 + NonNullExpression 71942 71948 + Identifier 71942 71947 + DoStatement 71949 72172 + Block 71965 72106 + ExpressionStatement 71967 72042 + BinaryExpression 71967 72041 + PropertyAccessExpression 71967 72029 + CallExpression 71967 72009 + Identifier 71967 71997 + Identifier 71998 72008 + Identifier 72010 72029 + EqualsToken 72029 72031 + Identifier 72031 72041 + ExpressionStatement 72042 72091 + BinaryExpression 72042 72090 + Identifier 72042 72070 + EqualsToken 72070 72072 + PropertyAccessExpression 72072 72090 + Identifier 72072 72083 + Identifier 72084 72090 + BinaryExpression 72127 72170 + Identifier 72127 72137 + AmpersandAmpersandToken 72137 72140 + BinaryExpression 72140 72170 + Identifier 72140 72151 + ExclamationEqualsEqualsToken 72151 72155 + Identifier 72155 72170 + ReturnStatement 72183 72207 + Identifier 72199 72206 + FunctionDeclaration 72214 72702 + Identifier 72230 72257 + Parameter 72258 72284 + Identifier 72258 72264 + TypeReference 72265 72284 + Identifier 72265 72284 + Parameter 72285 72329 + Identifier 72285 72304 + UnionType 72305 72329 + ArrayType 72305 72317 + TypeReference 72305 72315 + Identifier 72305 72315 + UndefinedKeyword 72319 72329 + Parameter 72330 72364 + Identifier 72330 72344 + UnionType 72345 72364 + NumberKeyword 72345 72352 + UndefinedKeyword 72354 72364 + Parameter 72365 72386 + Identifier 72365 72375 + TypeReference 72376 72386 + Identifier 72376 72386 + UnionType 72388 72410 + TypeReference 72388 72398 + Identifier 72388 72398 + UndefinedKeyword 72400 72410 + Block 72410 72702 + VariableStatement 72412 72482 + VariableDeclarationList 72412 72481 + VariableDeclaration 72427 72481 + Identifier 72427 72432 + CallExpression 72434 72481 + Identifier 72434 72451 + Identifier 72452 72458 + Identifier 72459 72480 + ExpressionStatement 72482 72530 + BinaryExpression 72482 72529 + Identifier 72482 72513 + EqualsToken 72513 72515 + Identifier 72515 72529 + VariableStatement 72530 72630 + VariableDeclarationList 72530 72629 + VariableDeclaration 72545 72629 + Identifier 72545 72549 + ConditionalExpression 72551 72629 + PrefixUnaryExpression 72551 72557 + Identifier 72553 72557 + QuestionToken 72557 72559 + Identifier 72559 72569 + ColonToken 72569 72571 + CallExpression 72571 72629 + Identifier 72571 72592 + Identifier 72593 72597 + Identifier 72598 72617 + Identifier 72618 72628 + ExpressionStatement 72630 72674 + BinaryExpression 72630 72673 + Identifier 72630 72661 + EqualsToken 72661 72663 + Identifier 72663 72673 + ReturnStatement 72674 72695 + Identifier 72690 72694 + VariableStatement 72702 72758 + VariableDeclarationList 72702 72757 + VariableDeclaration 72713 72757 + Identifier 72713 72724 + NewExpression 72726 72757 + Identifier 72730 72734 + StringKeyword 72735 72741 + TypeReference 72742 72754 + Identifier 72742 72754 + VariableStatement 72758 72810 + VariableDeclarationList 72758 72809 + VariableDeclaration 72767 72809 + Identifier 72767 72778 + NewExpression 72780 72809 + Identifier 72784 72788 + StringKeyword 72789 72795 + TypeReference 72796 72806 + Identifier 72796 72806 + VariableStatement 72810 72864 + VariableDeclarationList 72810 72863 + VariableDeclaration 72819 72863 + Identifier 72819 72837 + NewExpression 72839 72863 + Identifier 72843 72847 + StringKeyword 72848 72854 + TypeReference 72855 72860 + Identifier 72855 72860 + VariableStatement 72864 72918 + VariableDeclarationList 72864 72917 + VariableDeclaration 72873 72917 + Identifier 72873 72891 + NewExpression 72893 72917 + Identifier 72897 72901 + StringKeyword 72902 72908 + TypeReference 72909 72914 + Identifier 72909 72914 + VariableStatement 72918 72986 + VariableDeclarationList 72918 72985 + VariableDeclaration 72927 72985 + Identifier 72927 72946 + NewExpression 72948 72985 + Identifier 72952 72956 + StringKeyword 72957 72963 + TypeReference 72964 72982 + Identifier 72964 72982 + VariableStatement 72986 73054 + VariableDeclarationList 72986 73053 + VariableDeclaration 72995 73053 + Identifier 72995 73014 + NewExpression 73016 73053 + Identifier 73020 73024 + NumberKeyword 73025 73031 + TypeReference 73032 73050 + Identifier 73032 73050 + VariableStatement 73054 73122 + VariableDeclarationList 73054 73121 + VariableDeclaration 73063 73121 + Identifier 73063 73082 + NewExpression 73084 73121 + Identifier 73088 73092 + StringKeyword 73093 73099 + TypeReference 73100 73118 + Identifier 73100 73118 + VariableStatement 73122 73182 + VariableDeclarationList 73122 73181 + VariableDeclaration 73131 73181 + Identifier 73131 73148 + NewExpression 73150 73181 + Identifier 73154 73158 + StringKeyword 73159 73165 + TypeReference 73166 73178 + Identifier 73166 73178 + VariableStatement 73182 73250 + VariableDeclarationList 73182 73249 + VariableDeclaration 73191 73249 + Identifier 73191 73210 + NewExpression 73212 73249 + Identifier 73216 73220 + StringKeyword 73221 73227 + TypeReference 73228 73246 + Identifier 73228 73246 + VariableStatement 73250 73322 + VariableDeclarationList 73250 73321 + VariableDeclaration 73259 73321 + Identifier 73259 73280 + NewExpression 73282 73321 + Identifier 73286 73290 + StringKeyword 73291 73297 + TypeReference 73298 73318 + Identifier 73298 73318 + VariableStatement 73322 73390 + VariableDeclarationList 73322 73389 + VariableDeclaration 73331 73389 + Identifier 73331 73350 + NewExpression 73352 73389 + Identifier 73356 73360 + StringKeyword 73361 73367 + TypeReference 73368 73386 + Identifier 73368 73386 + VariableStatement 73390 73456 + VariableDeclarationList 73390 73455 + VariableDeclaration 73399 73455 + Identifier 73399 73417 + NewExpression 73419 73455 + Identifier 73423 73427 + StringKeyword 73428 73434 + TypeReference 73435 73452 + Identifier 73435 73452 + VariableStatement 73456 73516 + VariableDeclarationList 73456 73515 + VariableDeclaration 73465 73515 + Identifier 73465 73487 + NewExpression 73489 73515 + Identifier 73493 73497 + StringKeyword 73498 73504 + ArrayType 73505 73512 + TypeReference 73505 73510 + Identifier 73505 73510 + VariableStatement 73516 73586 + VariableDeclarationList 73516 73585 + VariableDeclaration 73525 73585 + Identifier 73525 73559 + NewExpression 73561 73585 + Identifier 73565 73569 + StringKeyword 73570 73576 + TypeReference 73577 73582 + Identifier 73577 73582 + VariableStatement 73586 73634 + VariableDeclarationList 73586 73633 + VariableDeclaration 73595 73633 + Identifier 73595 73607 + NewExpression 73609 73633 + Identifier 73613 73617 + StringKeyword 73618 73624 + TypeReference 73625 73630 + Identifier 73625 73630 + VariableStatement 73634 73689 + VariableDeclarationList 73634 73688 + VariableDeclaration 73643 73688 + Identifier 73643 73662 + ArrayType 73663 73683 + TypeReference 73663 73681 + Identifier 73663 73681 + ArrayLiteralExpression 73685 73688 + VariableStatement 73689 73744 + VariableDeclarationList 73689 73743 + VariableDeclaration 73698 73743 + Identifier 73698 73718 + TypeReference 73719 73731 + Identifier 73719 73731 + NewExpression 73733 73743 + Identifier 73737 73741 + VariableStatement 73744 73786 + VariableDeclarationList 73744 73785 + VariableDeclaration 73753 73785 + Identifier 73753 73765 + NewExpression 73767 73785 + Identifier 73771 73775 + NumberKeyword 73776 73782 + VariableStatement 73786 73872 + VariableDeclarationList 73786 73871 + VariableDeclaration 73797 73871 + Identifier 73797 73811 + CallExpression 73813 73871 + Identifier 73813 73826 + PropertyAccessExpression 73827 73847 + Identifier 73827 73838 + Identifier 73839 73847 + AsExpression 73848 73870 + StringLiteral 73848 73858 + TypeReference 73861 73870 + Identifier 73861 73870 + VariableStatement 73872 73946 + VariableDeclarationList 73872 73945 + VariableDeclaration 73881 73945 + Identifier 73881 73897 + CallExpression 73899 73945 + Identifier 73899 73912 + NumericLiteral 73913 73914 + PropertyAccessExpression 73915 73944 + Identifier 73915 73934 + Identifier 73935 73944 + VariableStatement 73946 74011 + VariableDeclarationList 73946 74010 + VariableDeclaration 73955 74010 + Identifier 73955 73973 + NewExpression 73975 74010 + Identifier 73979 73983 + StringKeyword 73984 73990 + TypeReference 73991 74007 + Identifier 73991 74007 + VariableStatement 74011 74058 + VariableDeclarationList 74011 74057 + VariableDeclaration 74020 74057 + Identifier 74020 74031 + NewExpression 74033 74057 + Identifier 74037 74041 + StringKeyword 74042 74048 + TypeReference 74049 74054 + Identifier 74049 74054 + VariableStatement 74058 74425 + VariableDeclarationList 74058 74424 + VariableDeclaration 74385 74424 + Identifier 74385 74404 + NewExpression 74406 74424 + Identifier 74410 74414 + StringKeyword 74415 74421 + VariableStatement 74425 74489 + VariableDeclarationList 74425 74488 + VariableDeclaration 74436 74488 + Identifier 74436 74444 + CallExpression 74446 74488 + Identifier 74446 74466 + PropertyAccessExpression 74467 74480 + Identifier 74467 74476 + Identifier 74477 74480 + StringLiteral 74481 74487 + VariableStatement 74489 74591 + VariableDeclarationList 74489 74590 + VariableDeclaration 74498 74590 + Identifier 74498 74507 + CallExpression 74509 74590 + Identifier 74509 74529 + PropertyAccessExpression 74530 74543 + Identifier 74530 74539 + Identifier 74540 74543 + StringLiteral 74544 74550 + PropertyAccessExpression 74551 74581 + Identifier 74551 74563 + Identifier 74564 74581 + StringLiteral 74582 74589 + VariableStatement 74591 74697 + VariableDeclarationList 74591 74696 + VariableDeclaration 74600 74696 + Identifier 74600 74613 + CallExpression 74615 74696 + Identifier 74615 74635 + PropertyAccessExpression 74636 74649 + Identifier 74636 74645 + Identifier 74646 74649 + StringLiteral 74650 74656 + Identifier 74657 74683 + StringLiteral 74684 74695 + VariableStatement 74697 74814 + VariableDeclarationList 74697 74813 + VariableDeclaration 74706 74813 + Identifier 74706 74724 + CallExpression 74726 74813 + Identifier 74726 74746 + PropertyAccessExpression 74747 74760 + Identifier 74747 74756 + Identifier 74757 74760 + StringLiteral 74761 74767 + Identifier 74768 74794 + StringLiteral 74795 74812 + VariableStatement 74814 74880 + VariableDeclarationList 74814 74879 + VariableDeclaration 74823 74879 + Identifier 74823 74833 + CallExpression 74835 74879 + Identifier 74835 74855 + PropertyAccessExpression 74856 74869 + Identifier 74856 74865 + Identifier 74866 74869 + StringLiteral 74870 74878 + VariableStatement 74880 74956 + VariableDeclarationList 74880 74955 + VariableDeclaration 74889 74955 + Identifier 74889 74904 + CallExpression 74906 74955 + Identifier 74906 74926 + PropertyAccessExpression 74927 74940 + Identifier 74927 74936 + Identifier 74937 74940 + StringLiteral 74941 74954 + VariableStatement 74956 75083 + VariableDeclarationList 74956 75082 + VariableDeclaration 74965 75082 + Identifier 74965 74986 + CallExpression 74988 75082 + Identifier 74988 75008 + PropertyAccessExpression 75009 75022 + Identifier 75009 75018 + Identifier 75019 75022 + StringLiteral 75023 75029 + PropertyAccessExpression 75030 75063 + Identifier 75030 75042 + Identifier 75043 75063 + StringLiteral 75064 75081 + VariableStatement 75083 75163 + VariableDeclarationList 75083 75162 + VariableDeclaration 75092 75162 + Identifier 75092 75112 + CallExpression 75114 75162 + Identifier 75114 75134 + PropertyAccessExpression 75135 75148 + Identifier 75135 75144 + Identifier 75145 75148 + StringLiteral 75149 75161 + VariableStatement 75163 75237 + VariableDeclarationList 75163 75236 + VariableDeclaration 75172 75236 + Identifier 75172 75184 + CallExpression 75186 75236 + Identifier 75186 75206 + PropertyAccessExpression 75207 75224 + Identifier 75207 75216 + Identifier 75217 75224 + StringLiteral 75225 75235 + VariableStatement 75237 75317 + VariableDeclarationList 75237 75316 + VariableDeclaration 75246 75316 + Identifier 75246 75260 + CallExpression 75262 75316 + Identifier 75262 75282 + PropertyAccessExpression 75283 75302 + Identifier 75283 75292 + Identifier 75293 75302 + StringLiteral 75303 75315 + VariableStatement 75317 75486 + VariableDeclarationList 75317 75485 + VariableDeclaration 75326 75485 + Identifier 75326 75348 + ConditionalExpression 75350 75485 + Identifier 75350 75367 + QuestionToken 75367 75369 + Identifier 75369 75383 + ColonToken 75383 75385 + CallExpression 75385 75485 + Identifier 75385 75405 + PropertyAccessExpression 75406 75425 + Identifier 75406 75415 + Identifier 75416 75425 + StringLiteral 75426 75438 + PropertyAccessExpression 75439 75472 + Identifier 75439 75451 + Identifier 75452 75472 + StringLiteral 75473 75484 + VariableStatement 75486 75602 + VariableDeclarationList 75486 75601 + VariableDeclaration 75495 75601 + Identifier 75495 75507 + CallExpression 75509 75601 + Identifier 75509 75529 + PropertyAccessExpression 75530 75549 + Identifier 75530 75539 + Identifier 75540 75549 + StringLiteral 75550 75562 + Identifier 75563 75589 + StringLiteral 75590 75600 + VariableStatement 75602 75694 + VariableDeclarationList 75602 75693 + VariableDeclaration 75611 75693 + Identifier 75611 75634 + ConditionalExpression 75636 75693 + Identifier 75636 75663 + QuestionToken 75663 75665 + Identifier 75665 75677 + ColonToken 75677 75679 + Identifier 75679 75693 + VariableStatement 75694 75812 + VariableDeclarationList 75694 75811 + VariableDeclaration 75703 75811 + Identifier 75703 75716 + CallExpression 75718 75811 + Identifier 75718 75738 + PropertyAccessExpression 75739 75758 + Identifier 75739 75748 + Identifier 75749 75758 + StringLiteral 75759 75771 + Identifier 75772 75798 + StringLiteral 75799 75810 + VariableStatement 75812 75877 + VariableDeclarationList 75812 75876 + VariableDeclaration 75821 75876 + Identifier 75821 75830 + CallExpression 75832 75876 + Identifier 75832 75852 + PropertyAccessExpression 75853 75867 + Identifier 75853 75862 + Identifier 75863 75867 + StringLiteral 75868 75875 + VariableStatement 75877 76026 + VariableDeclarationList 75877 76025 + VariableDeclaration 75886 76025 + Identifier 75886 75903 + ConditionalExpression 75905 76025 + Identifier 75905 75922 + QuestionToken 75922 75924 + Identifier 75924 75933 + ColonToken 75933 75935 + CallExpression 75935 76025 + Identifier 75935 75955 + PropertyAccessExpression 75956 75970 + Identifier 75956 75965 + Identifier 75966 75970 + StringLiteral 75971 75978 + PropertyAccessExpression 75979 76012 + Identifier 75979 75991 + Identifier 75992 76012 + StringLiteral 76013 76024 + VariableStatement 76026 76097 + VariableDeclarationList 76026 76096 + VariableDeclaration 76035 76096 + Identifier 76035 76046 + CallExpression 76048 76096 + Identifier 76048 76068 + PropertyAccessExpression 76069 76085 + Identifier 76069 76078 + Identifier 76079 76085 + StringLiteral 76086 76095 + VariableStatement 76097 76168 + VariableDeclarationList 76097 76167 + VariableDeclaration 76106 76167 + Identifier 76106 76117 + CallExpression 76119 76167 + Identifier 76119 76139 + PropertyAccessExpression 76140 76156 + Identifier 76140 76149 + Identifier 76150 76156 + StringLiteral 76157 76166 + VariableStatement 76168 76239 + VariableDeclarationList 76168 76238 + VariableDeclaration 76177 76238 + Identifier 76177 76188 + CallExpression 76190 76238 + Identifier 76190 76210 + PropertyAccessExpression 76211 76227 + Identifier 76211 76220 + Identifier 76221 76227 + StringLiteral 76228 76237 + VariableStatement 76239 76378 + VariableDeclarationList 76239 76377 + VariableDeclaration 76248 76377 + Identifier 76248 76258 + AsExpression 76260 76377 + CallExpression 76260 76351 + Identifier 76260 76280 + PropertyAccessExpression 76281 76305 + Identifier 76281 76290 + Identifier 76291 76305 + StringLiteral 76306 76314 + Identifier 76315 76341 + StringLiteral 76342 76350 + TypeReference 76354 76377 + Identifier 76354 76377 + VariableStatement 76378 76488 + VariableDeclarationList 76378 76487 + VariableDeclaration 76387 76487 + Identifier 76387 76404 + AsExpression 76406 76487 + CallExpression 76406 76461 + Identifier 76406 76426 + PropertyAccessExpression 76427 76451 + Identifier 76427 76436 + Identifier 76437 76451 + StringLiteral 76452 76460 + TypeReference 76464 76487 + Identifier 76464 76487 + VariableStatement 76488 76625 + VariableDeclarationList 76488 76624 + VariableDeclaration 76497 76624 + Identifier 76497 76506 + AsExpression 76508 76624 + CallExpression 76508 76598 + Identifier 76508 76528 + PropertyAccessExpression 76529 76553 + Identifier 76529 76538 + Identifier 76539 76553 + StringLiteral 76554 76561 + Identifier 76562 76588 + StringLiteral 76589 76597 + TypeReference 76601 76624 + Identifier 76601 76624 + VariableStatement 76625 76733 + VariableDeclarationList 76625 76732 + VariableDeclaration 76634 76732 + Identifier 76634 76650 + AsExpression 76652 76732 + CallExpression 76652 76706 + Identifier 76652 76672 + PropertyAccessExpression 76673 76697 + Identifier 76673 76682 + Identifier 76683 76697 + StringLiteral 76698 76705 + TypeReference 76709 76732 + Identifier 76709 76732 + ExpressionStatement 76733 76778 + BinaryExpression 76733 76777 + PropertyAccessExpression 76733 76759 + Identifier 76733 76747 + Identifier 76748 76759 + EqualsToken 76759 76761 + Identifier 76761 76777 + ExpressionStatement 76778 76814 + BinaryExpression 76778 76813 + PropertyAccessExpression 76778 76802 + Identifier 76778 76792 + Identifier 76793 76802 + EqualsToken 76802 76804 + Identifier 76804 76813 + ExpressionStatement 76814 76866 + BinaryExpression 76814 76865 + PropertyAccessExpression 76814 76847 + Identifier 76814 76835 + Identifier 76836 76847 + EqualsToken 76847 76849 + Identifier 76849 76865 + ExpressionStatement 76866 76909 + BinaryExpression 76866 76908 + PropertyAccessExpression 76866 76897 + Identifier 76866 76887 + Identifier 76888 76897 + EqualsToken 76897 76899 + Identifier 76899 76908 + ExpressionStatement 76909 76956 + BinaryExpression 76909 76955 + PropertyAccessExpression 76909 76936 + Identifier 76909 76924 + Identifier 76925 76936 + EqualsToken 76936 76938 + Identifier 76938 76955 + ExpressionStatement 76956 76994 + BinaryExpression 76956 76993 + PropertyAccessExpression 76956 76981 + Identifier 76956 76971 + Identifier 76972 76981 + EqualsToken 76981 76983 + Identifier 76983 76993 + ExpressionStatement 76994 77048 + BinaryExpression 76994 77047 + PropertyAccessExpression 76994 77028 + Identifier 76994 77016 + Identifier 77017 77028 + EqualsToken 77028 77030 + Identifier 77030 77047 + ExpressionStatement 77048 77093 + BinaryExpression 77048 77092 + PropertyAccessExpression 77048 77080 + Identifier 77048 77070 + Identifier 77071 77080 + EqualsToken 77080 77082 + Identifier 77082 77092 + VariableStatement 77093 77167 + VariableDeclarationList 77093 77166 + VariableDeclaration 77102 77166 + Identifier 77102 77114 + CallExpression 77116 77166 + Identifier 77116 77129 + ArrayLiteralExpression 77130 77165 + Identifier 77131 77147 + Identifier 77148 77164 + VariableStatement 77167 77242 + VariableDeclarationList 77167 77241 + VariableDeclaration 77176 77241 + Identifier 77176 77189 + CallExpression 77191 77241 + Identifier 77191 77211 + PropertyAccessExpression 77212 77230 + Identifier 77212 77221 + Identifier 77222 77230 + StringLiteral 77231 77240 + VariableStatement 77242 77307 + VariableDeclarationList 77242 77306 + VariableDeclaration 77251 77306 + Identifier 77251 77260 + CallExpression 77262 77306 + Identifier 77262 77282 + PropertyAccessExpression 77283 77297 + Identifier 77283 77292 + Identifier 77293 77297 + StringLiteral 77298 77305 + VariableStatement 77307 77375 + VariableDeclarationList 77307 77374 + VariableDeclaration 77316 77374 + Identifier 77316 77326 + CallExpression 77328 77374 + Identifier 77328 77348 + PropertyAccessExpression 77349 77364 + Identifier 77349 77358 + Identifier 77359 77364 + StringLiteral 77365 77373 + VariableStatement 77375 77490 + VariableDeclarationList 77375 77489 + VariableDeclaration 77384 77489 + Identifier 77384 77400 + CallExpression 77402 77489 + Identifier 77402 77422 + PropertyAccessExpression 77423 77438 + Identifier 77423 77432 + Identifier 77433 77438 + StringLiteral 77439 77447 + PropertyAccessExpression 77448 77478 + Identifier 77448 77460 + Identifier 77461 77478 + StringLiteral 77479 77488 + VariableStatement 77490 77605 + VariableDeclarationList 77490 77604 + VariableDeclaration 77499 77604 + Identifier 77499 77517 + CallExpression 77519 77604 + Identifier 77519 77539 + PropertyAccessExpression 77540 77555 + Identifier 77540 77549 + Identifier 77550 77555 + StringLiteral 77556 77564 + Identifier 77565 77591 + StringLiteral 77592 77603 + VariableStatement 77605 77726 + VariableDeclarationList 77605 77725 + VariableDeclaration 77614 77725 + Identifier 77614 77635 + CallExpression 77637 77725 + Identifier 77637 77657 + PropertyAccessExpression 77658 77673 + Identifier 77658 77667 + Identifier 77668 77673 + StringLiteral 77674 77682 + Identifier 77683 77709 + StringLiteral 77710 77724 + VariableStatement 77726 77809 + VariableDeclarationList 77726 77808 + VariableDeclaration 77735 77808 + Identifier 77735 77752 + CallExpression 77754 77808 + Identifier 77754 77774 + PropertyAccessExpression 77775 77797 + Identifier 77775 77784 + Identifier 77785 77797 + StringLiteral 77798 77807 + VariableStatement 77809 77879 + VariableDeclarationList 77809 77878 + VariableDeclaration 77818 77878 + Identifier 77818 77837 + CallExpression 77839 77878 + Identifier 77839 77852 + ArrayLiteralExpression 77853 77877 + Identifier 77854 77864 + Identifier 77865 77876 + VariableStatement 77879 77967 + VariableDeclarationList 77879 77966 + VariableDeclaration 77888 77966 + Identifier 77888 77911 + CallExpression 77913 77966 + Identifier 77913 77926 + ArrayLiteralExpression 77927 77965 + Identifier 77928 77938 + Identifier 77939 77950 + Identifier 77951 77964 + VariableStatement 77967 78037 + VariableDeclarationList 77967 78036 + VariableDeclaration 77976 78036 + Identifier 77976 77995 + CallExpression 77997 78036 + Identifier 77997 78010 + ArrayLiteralExpression 78011 78035 + Identifier 78012 78022 + Identifier 78023 78034 + VariableStatement 78037 78174 + VariableDeclarationList 78037 78173 + VariableDeclaration 78046 78173 + Identifier 78046 78069 + AsExpression 78071 78173 + CallExpression 78071 78160 + Identifier 78071 78084 + ArrayLiteralExpression 78085 78159 + Identifier 78086 78096 + Identifier 78097 78108 + Identifier 78109 78121 + Identifier 78122 78133 + Identifier 78134 78143 + Identifier 78144 78158 + TypeReference 78163 78173 + Identifier 78163 78173 + VariableStatement 78174 78251 + VariableDeclarationList 78174 78250 + VariableDeclaration 78183 78250 + Identifier 78183 78201 + CallExpression 78203 78250 + Identifier 78203 78226 + ArrayLiteralExpression 78227 78235 + StringLiteral 78228 78230 + StringLiteral 78231 78234 + ArrayLiteralExpression 78236 78249 + Identifier 78238 78248 + VariableStatement 78251 78466 + VariableDeclarationList 78251 78465 + VariableDeclaration 78286 78465 + Identifier 78286 78304 + TypeReference 78305 78316 + Identifier 78305 78316 + CallExpression 78318 78465 + Identifier 78318 78341 + ArrowFunction 78342 78434 + Parameter 78342 78343 + Identifier 78342 78343 + EqualsGreaterThanToken 78343 78346 + ConditionalExpression 78346 78434 + BinaryExpression 78346 78380 + PropertyAccessExpression 78346 78354 + Identifier 78346 78348 + Identifier 78349 78354 + AmpersandToken 78354 78356 + PropertyAccessExpression 78356 78380 + Identifier 78356 78366 + Identifier 78367 78380 + QuestionToken 78380 78382 + CallExpression 78382 78430 + Identifier 78382 78410 + AsExpression 78411 78429 + Identifier 78411 78412 + TypeReference 78415 78429 + Identifier 78415 78429 + ColonToken 78430 78432 + Identifier 78432 78434 + ArrowFunction 78435 78464 + EqualsGreaterThanToken 78438 78441 + StringLiteral 78441 78464 + VariableStatement 78466 78618 + VariableDeclarationList 78466 78617 + VariableDeclaration 78475 78617 + Identifier 78475 78492 + TypeReference 78493 78504 + Identifier 78493 78504 + CallExpression 78506 78617 + Identifier 78506 78529 + ArrowFunction 78530 78587 + Parameter 78530 78531 + Identifier 78530 78531 + EqualsGreaterThanToken 78531 78534 + ConditionalExpression 78534 78587 + BinaryExpression 78534 78568 + PropertyAccessExpression 78534 78542 + Identifier 78534 78536 + Identifier 78537 78542 + AmpersandToken 78542 78544 + PropertyAccessExpression 78544 78568 + Identifier 78544 78554 + Identifier 78555 78568 + QuestionToken 78568 78570 + Identifier 78570 78583 + ColonToken 78583 78585 + Identifier 78585 78587 + ArrowFunction 78588 78616 + EqualsGreaterThanToken 78591 78594 + StringLiteral 78594 78616 + VariableStatement 78618 78739 + VariableDeclarationList 78618 78738 + VariableDeclaration 78627 78738 + Identifier 78627 78645 + CallExpression 78647 78738 + Identifier 78647 78667 + PropertyAccessExpression 78668 78683 + Identifier 78668 78677 + Identifier 78678 78683 + StringLiteral 78684 78692 + Identifier 78693 78719 + StringLiteral 78720 78737 + VariableStatement 78739 78997 + VariableDeclarationList 78739 78996 + VariableDeclaration 78842 78996 + Identifier 78842 78862 + TypeReference 78863 78874 + Identifier 78863 78874 + CallExpression 78876 78996 + Identifier 78876 78899 + ArrowFunction 78900 78962 + Parameter 78900 78901 + Identifier 78900 78901 + EqualsGreaterThanToken 78901 78904 + ConditionalExpression 78904 78962 + BinaryExpression 78904 78938 + PropertyAccessExpression 78904 78912 + Identifier 78904 78906 + Identifier 78907 78912 + AmpersandToken 78912 78914 + PropertyAccessExpression 78914 78938 + Identifier 78914 78924 + Identifier 78925 78938 + QuestionToken 78938 78940 + Identifier 78940 78958 + ColonToken 78958 78960 + Identifier 78960 78962 + ArrowFunction 78963 78995 + EqualsGreaterThanToken 78966 78969 + StringLiteral 78969 78995 + VariableStatement 78997 79174 + VariableDeclarationList 78997 79173 + VariableDeclaration 79093 79173 + Identifier 79093 79124 + UnionType 79125 79173 + ParenthesizedType 79125 79161 + FunctionType 79127 79160 + Parameter 79128 79151 + Identifier 79128 79142 + BooleanKeyword 79143 79151 + VoidKeyword 79155 79160 + UndefinedKeyword 79163 79173 + VariableStatement 79174 79502 + VariableDeclarationList 79174 79501 + VariableDeclaration 79183 79501 + Identifier 79183 79206 + CallExpression 79208 79501 + Identifier 79208 79231 + ArrowFunction 79232 79467 + Parameter 79232 79233 + Identifier 79232 79233 + EqualsGreaterThanToken 79233 79236 + Block 79236 79467 + IfStatement 79238 79441 + BinaryExpression 79252 79357 + Identifier 79252 79282 + AmpersandAmpersandToken 79282 79285 + ParenthesizedExpression 79285 79357 + BinaryExpression 79287 79356 + BinaryExpression 79287 79331 + BinaryExpression 79287 79308 + Identifier 79287 79288 + EqualsEqualsEqualsToken 79288 79292 + Identifier 79292 79308 + BarBarToken 79308 79311 + BinaryExpression 79311 79331 + Identifier 79311 79313 + EqualsEqualsEqualsToken 79313 79317 + Identifier 79317 79331 + BarBarToken 79331 79334 + BinaryExpression 79334 79356 + Identifier 79334 79336 + EqualsEqualsEqualsToken 79336 79340 + Identifier 79340 79356 + Block 79358 79441 + ExpressionStatement 79360 79430 + CallExpression 79360 79429 + Identifier 79360 79404 + TrueKeyword 79405 79428 + ReturnStatement 79441 79460 + Identifier 79457 79459 + ArrowFunction 79468 79500 + EqualsGreaterThanToken 79471 79474 + StringLiteral 79474 79500 + VariableStatement 79502 79831 + VariableDeclarationList 79502 79830 + VariableDeclaration 79511 79830 + Identifier 79511 79536 + CallExpression 79538 79830 + Identifier 79538 79561 + ArrowFunction 79562 79798 + Parameter 79562 79563 + Identifier 79562 79563 + EqualsGreaterThanToken 79563 79566 + Block 79566 79798 + IfStatement 79568 79772 + BinaryExpression 79582 79687 + Identifier 79582 79612 + AmpersandAmpersandToken 79612 79615 + ParenthesizedExpression 79615 79687 + BinaryExpression 79617 79686 + BinaryExpression 79617 79661 + BinaryExpression 79617 79638 + Identifier 79617 79618 + EqualsEqualsEqualsToken 79618 79622 + Identifier 79622 79638 + BarBarToken 79638 79641 + BinaryExpression 79641 79661 + Identifier 79641 79643 + EqualsEqualsEqualsToken 79643 79647 + Identifier 79647 79661 + BarBarToken 79661 79664 + BinaryExpression 79664 79686 + Identifier 79664 79666 + EqualsEqualsEqualsToken 79666 79670 + Identifier 79670 79686 + Block 79688 79772 + ExpressionStatement 79690 79761 + CallExpression 79690 79760 + Identifier 79690 79734 + FalseKeyword 79735 79759 + ReturnStatement 79772 79791 + Identifier 79788 79790 + ArrowFunction 79799 79829 + EqualsGreaterThanToken 79802 79805 + StringLiteral 79805 79829 + VariableStatement 79831 79953 + VariableDeclarationList 79831 79952 + VariableDeclaration 79842 79952 + Identifier 79842 79858 + CallExpression 79860 79952 + Identifier 79860 79880 + Identifier 79881 79901 + Identifier 79902 79915 + Identifier 79916 79927 + Identifier 79928 79939 + Identifier 79940 79951 + VariableStatement 79953 80076 + VariableDeclarationList 79953 80075 + VariableDeclaration 79962 80075 + Identifier 79962 79981 + CallExpression 79983 80075 + Identifier 79983 80003 + Identifier 80004 80024 + Identifier 80025 80038 + Identifier 80039 80050 + Identifier 80051 80062 + Identifier 80063 80074 + ExpressionStatement 80076 80142 + BinaryExpression 80076 80141 + PropertyAccessExpression 80076 80112 + Identifier 80076 80100 + Identifier 80101 80112 + BarEqualsToken 80112 80115 + PropertyAccessExpression 80115 80141 + Identifier 80115 80127 + Identifier 80128 80141 + VariableStatement 80142 80270 + VariableDeclarationList 80142 80269 + VariableDeclaration 80151 80269 + Identifier 80151 80175 + CallExpression 80177 80269 + Identifier 80177 80197 + Identifier 80198 80218 + Identifier 80219 80232 + Identifier 80233 80244 + Identifier 80245 80256 + Identifier 80257 80268 + ExpressionStatement 80270 80439 + BinaryExpression 80270 80438 + PropertyAccessExpression 80270 80311 + Identifier 80270 80299 + Identifier 80300 80311 + BarEqualsToken 80311 80314 + BinaryExpression 80314 80438 + BinaryExpression 80314 80395 + BinaryExpression 80314 80367 + PropertyAccessExpression 80314 80340 + Identifier 80314 80326 + Identifier 80327 80340 + BarToken 80340 80342 + PropertyAccessExpression 80342 80367 + Identifier 80342 80354 + Identifier 80355 80367 + BarToken 80367 80369 + PropertyAccessExpression 80369 80395 + Identifier 80369 80381 + Identifier 80382 80395 + BarToken 80395 80397 + PropertyAccessExpression 80397 80438 + Identifier 80397 80409 + Identifier 80410 80438 + VariableStatement 80439 80539 + VariableDeclarationList 80439 80538 + VariableDeclaration 80450 80538 + Identifier 80450 80473 + CallExpression 80475 80538 + Identifier 80475 80488 + PropertyAccessExpression 80489 80512 + Identifier 80489 80500 + Identifier 80501 80512 + PropertyAccessExpression 80513 80537 + Identifier 80513 80532 + Identifier 80533 80537 + ExpressionStatement 80539 80598 + BinaryExpression 80539 80597 + PropertyAccessExpression 80539 80575 + Identifier 80539 80567 + Identifier 80568 80575 + EqualsToken 80575 80577 + CallExpression 80577 80597 + Identifier 80577 80595 + VariableStatement 80598 80725 + VariableDeclarationList 80598 80724 + VariableDeclaration 80607 80724 + Identifier 80607 80628 + CallExpression 80630 80724 + Identifier 80630 80650 + Identifier 80651 80673 + Identifier 80674 80687 + Identifier 80688 80699 + Identifier 80700 80711 + Identifier 80712 80723 + VariableStatement 80725 80854 + VariableDeclarationList 80725 80853 + VariableDeclaration 80736 80853 + Identifier 80736 80759 + CallExpression 80761 80853 + Identifier 80761 80781 + Identifier 80782 80802 + Identifier 80803 80816 + Identifier 80817 80828 + Identifier 80829 80840 + Identifier 80841 80852 + VariableStatement 80854 80980 + VariableDeclarationList 80854 80979 + VariableDeclaration 80863 80979 + Identifier 80863 80880 + ConditionalExpression 80882 80979 + Identifier 80882 80899 + QuestionToken 80899 80901 + CallExpression 80901 80965 + Identifier 80901 80914 + ArrayLiteralExpression 80915 80964 + Identifier 80916 80929 + Identifier 80930 80939 + Identifier 80940 80963 + ColonToken 80965 80967 + Identifier 80967 80979 + VariableStatement 80980 81132 + VariableDeclarationList 80980 81131 + VariableDeclaration 80991 81131 + Identifier 80991 81008 + AsExpression 81010 81131 + AsExpression 81010 81116 + CallExpression 81010 81102 + Identifier 81010 81030 + Identifier 81031 81051 + Identifier 81052 81065 + Identifier 81066 81077 + Identifier 81078 81089 + Identifier 81090 81101 + TypeReference 81105 81116 + Identifier 81105 81116 + TypeReference 81119 81131 + Identifier 81119 81131 + ExpressionStatement 81132 81205 + BinaryExpression 81132 81204 + PropertyAccessExpression 81132 81169 + Identifier 81132 81154 + Identifier 81155 81169 + EqualsToken 81169 81171 + NewExpression 81171 81204 + Identifier 81175 81179 + StringKeyword 81180 81186 + TypeReference 81187 81201 + Identifier 81187 81201 + VariableStatement 81205 81327 + VariableDeclarationList 81205 81326 + VariableDeclaration 81216 81326 + Identifier 81216 81232 + CallExpression 81234 81326 + Identifier 81234 81254 + Identifier 81255 81275 + Identifier 81276 81289 + Identifier 81290 81301 + Identifier 81302 81313 + Identifier 81314 81325 + ExpressionStatement 81327 81573 + BinaryExpression 81327 81572 + PropertyAccessExpression 81327 81539 + Identifier 81327 81527 + Identifier 81528 81539 + BarEqualsToken 81539 81542 + PropertyAccessExpression 81542 81572 + Identifier 81542 81554 + Identifier 81555 81572 + VariableStatement 81573 81696 + VariableDeclarationList 81573 81695 + VariableDeclaration 81584 81695 + Identifier 81584 81601 + CallExpression 81603 81695 + Identifier 81603 81623 + Identifier 81624 81644 + Identifier 81645 81658 + Identifier 81659 81670 + Identifier 81671 81682 + Identifier 81683 81694 + VariableStatement 81696 81823 + VariableDeclarationList 81696 81822 + VariableDeclaration 81705 81822 + Identifier 81705 81728 + CallExpression 81730 81822 + Identifier 81730 81750 + Identifier 81751 81771 + Identifier 81772 81785 + Identifier 81786 81797 + Identifier 81798 81809 + Identifier 81810 81821 + VariableStatement 81823 81948 + VariableDeclarationList 81823 81947 + VariableDeclaration 81832 81947 + Identifier 81832 81853 + CallExpression 81855 81947 + Identifier 81855 81875 + Identifier 81876 81896 + Identifier 81897 81910 + Identifier 81911 81922 + Identifier 81923 81934 + Identifier 81935 81946 + VariableStatement 81948 82000 + VariableDeclarationList 81948 81999 + VariableDeclaration 81959 81999 + Identifier 81959 81975 + CallExpression 81977 81999 + Identifier 81977 81997 + VariableStatement 82000 82048 + VariableDeclarationList 82000 82047 + VariableDeclaration 82009 82047 + Identifier 82009 82023 + CallExpression 82025 82047 + Identifier 82025 82045 + ExpressionStatement 82048 82097 + BinaryExpression 82048 82096 + PropertyAccessExpression 82048 82078 + Identifier 82048 82067 + Identifier 82068 82078 + EqualsToken 82078 82080 + Identifier 82080 82096 + VariableStatement 82097 82147 + VariableDeclarationList 82097 82146 + VariableDeclaration 82106 82146 + Identifier 82106 82122 + CallExpression 82124 82146 + Identifier 82124 82144 + VariableStatement 82147 82207 + VariableDeclarationList 82147 82206 + VariableDeclaration 82158 82206 + Identifier 82158 82182 + CallExpression 82184 82206 + Identifier 82184 82204 + VariableStatement 82207 82263 + VariableDeclarationList 82207 82262 + VariableDeclaration 82216 82262 + Identifier 82216 82238 + CallExpression 82240 82262 + Identifier 82240 82260 + ExpressionStatement 82263 82328 + BinaryExpression 82263 82327 + PropertyAccessExpression 82263 82301 + Identifier 82263 82290 + Identifier 82291 82301 + EqualsToken 82301 82303 + Identifier 82303 82327 + VariableStatement 82328 82438 + VariableDeclarationList 82328 82437 + VariableDeclaration 82339 82437 + Identifier 82339 82355 + CallExpression 82357 82437 + Identifier 82357 82377 + PropertyAccessExpression 82378 82406 + Identifier 82378 82395 + Identifier 82396 82406 + StringLiteral 82407 82424 + NumericLiteral 82425 82427 + Identifier 82428 82436 + VariableStatement 82438 82649 + VariableDeclarationList 82438 82648 + VariableDeclaration 82449 82648 + Identifier 82449 82462 + CallExpression 82464 82648 + Identifier 82464 82480 + Identifier 82481 82506 + Identifier 82507 82536 + Identifier 82537 82565 + Identifier 82566 82577 + Identifier 82578 82586 + Identifier 82587 82623 + NumericLiteral 82624 82626 + PropertyAccessExpression 82627 82647 + Identifier 82627 82642 + Identifier 82643 82647 + VariableStatement 82649 82864 + VariableDeclarationList 82649 82863 + VariableDeclaration 82658 82863 + Identifier 82658 82675 + CallExpression 82677 82863 + Identifier 82677 82693 + Identifier 82694 82719 + Identifier 82720 82749 + Identifier 82750 82778 + Identifier 82779 82790 + Identifier 82791 82801 + Identifier 82802 82838 + NumericLiteral 82839 82841 + PropertyAccessExpression 82842 82862 + Identifier 82842 82857 + Identifier 82858 82862 + VariableStatement 82864 83079 + VariableDeclarationList 82864 83078 + VariableDeclaration 82873 83078 + Identifier 82873 82892 + CallExpression 82894 83078 + Identifier 82894 82910 + Identifier 82911 82936 + Identifier 82937 82966 + Identifier 82967 82995 + Identifier 82996 83007 + Identifier 83008 83016 + Identifier 83017 83053 + NumericLiteral 83054 83056 + PropertyAccessExpression 83057 83077 + Identifier 83057 83072 + Identifier 83073 83077 + VariableStatement 83079 83304 + VariableDeclarationList 83079 83303 + VariableDeclaration 83088 83303 + Identifier 83088 83109 + CallExpression 83111 83303 + Identifier 83111 83127 + Identifier 83128 83153 + Identifier 83154 83183 + Identifier 83184 83212 + Identifier 83213 83224 + Identifier 83225 83241 + Identifier 83242 83278 + NumericLiteral 83279 83281 + PropertyAccessExpression 83282 83302 + Identifier 83282 83297 + Identifier 83298 83302 + VariableStatement 83304 83399 + VariableDeclarationList 83304 83398 + VariableDeclaration 83315 83398 + Identifier 83315 83335 + CallExpression 83337 83398 + Identifier 83337 83353 + Identifier 83354 83364 + Identifier 83365 83376 + TrueKeyword 83377 83397 + VariableStatement 83399 83491 + VariableDeclarationList 83399 83490 + VariableDeclaration 83408 83490 + Identifier 83408 83429 + CallExpression 83431 83490 + Identifier 83431 83447 + Identifier 83448 83458 + Identifier 83459 83467 + FalseKeyword 83468 83489 + VariableStatement 83491 83559 + VariableDeclarationList 83491 83558 + VariableDeclaration 83502 83558 + Identifier 83502 83522 + NewExpression 83524 83558 + Identifier 83528 83532 + StringKeyword 83533 83539 + TypeReference 83540 83555 + Identifier 83540 83555 + VariableStatement 83559 83940 + VariableDeclarationList 83559 83939 + VariableDeclaration 83613 83939 + Identifier 83613 83630 + TypeReference 83631 83646 + Identifier 83631 83646 + ObjectLiteralExpression 83648 83939 + GetAccessor 83650 83743 + Identifier 83663 83673 + TypeReference 83676 83681 + Identifier 83676 83681 + Block 83681 83743 + ReturnStatement 83683 83732 + CallExpression 83703 83731 + PropertyAccessExpression 83703 83714 + Identifier 83703 83709 + Identifier 83710 83714 + StringLiteral 83715 83730 + GetAccessor 83744 83838 + Identifier 83757 83768 + TypeReference 83771 83776 + Identifier 83771 83776 + Block 83776 83838 + ReturnStatement 83778 83827 + CallExpression 83798 83826 + PropertyAccessExpression 83798 83809 + Identifier 83798 83804 + Identifier 83805 83809 + StringLiteral 83810 83825 + GetAccessor 83839 83931 + Identifier 83852 83861 + TypeReference 83864 83869 + Identifier 83864 83869 + Block 83869 83931 + ReturnStatement 83871 83920 + CallExpression 83891 83919 + PropertyAccessExpression 83891 83902 + Identifier 83891 83897 + Identifier 83898 83902 + StringLiteral 83903 83918 + VariableStatement 83940 84020 + VariableDeclarationList 83940 84019 + VariableDeclaration 83951 84019 + Identifier 83951 83969 + CallExpression 83971 84019 + Identifier 83971 83992 + Identifier 83993 84000 + Identifier 84001 84009 + Identifier 84010 84018 + VariableStatement 84020 85210 + VariableDeclarationList 84020 85209 + VariableDeclaration 84031 85209 + Identifier 84031 84059 + TypeReference 84060 84083 + Identifier 84060 84083 + ObjectLiteralExpression 84085 85209 + PropertyAssignment 84087 84146 + Identifier 84087 84113 + StringLiteral 84114 84146 + PropertyAssignment 84147 84206 + Identifier 84147 84173 + StringLiteral 84174 84206 + PropertyAssignment 84207 84252 + Identifier 84207 84235 + StringLiteral 84236 84252 + PropertyAssignment 84253 84312 + Identifier 84253 84284 + Identifier 84285 84312 + PropertyAssignment 84313 84372 + Identifier 84313 84344 + Identifier 84345 84372 + PropertyAssignment 84373 84448 + Identifier 84373 84412 + Identifier 84413 84448 + PropertyAssignment 84449 84520 + Identifier 84449 84486 + Identifier 84487 84520 + PropertyAssignment 84521 84582 + Identifier 84521 84553 + Identifier 84554 84582 + PropertyAssignment 84583 84658 + Identifier 84583 84622 + Identifier 84623 84658 + PropertyAssignment 84659 84852 + Identifier 84659 84689 + ArrowFunction 84690 84852 + Parameter 84692 84696 + Identifier 84692 84696 + Parameter 84697 84707 + Identifier 84697 84707 + EqualsGreaterThanToken 84708 84711 + CallExpression 84711 84852 + Identifier 84711 84726 + Identifier 84727 84731 + Identifier 84732 84742 + PropertyAccessExpression 84743 84851 + Identifier 84743 84755 + Identifier 84756 84851 + PropertyAssignment 84853 84947 + Identifier 84853 84892 + PropertyAccessExpression 84893 84947 + Identifier 84893 84905 + Identifier 84906 84947 + PropertyAssignment 84948 85047 + Identifier 84948 84981 + PropertyAccessExpression 84982 85047 + Identifier 84982 84994 + Identifier 84995 85047 + PropertyAssignment 85048 85201 + Identifier 85048 85082 + PropertyAccessExpression 85083 85201 + Identifier 85083 85095 + Identifier 85096 85201 + VariableStatement 85210 86016 + VariableDeclarationList 85210 86015 + VariableDeclaration 85221 86015 + Identifier 85221 85248 + TypeReference 85249 85272 + Identifier 85249 85272 + ObjectLiteralExpression 85274 86015 + PropertyAssignment 85276 85330 + Identifier 85276 85302 + StringLiteral 85303 85330 + PropertyAssignment 85331 85385 + Identifier 85331 85357 + StringLiteral 85358 85385 + PropertyAssignment 85386 85426 + Identifier 85386 85414 + StringLiteral 85415 85426 + ShorthandPropertyAssignment 85427 85458 + Identifier 85427 85458 + ShorthandPropertyAssignment 85459 85490 + Identifier 85459 85490 + ShorthandPropertyAssignment 85491 85530 + Identifier 85491 85530 + ShorthandPropertyAssignment 85531 85568 + Identifier 85531 85568 + ShorthandPropertyAssignment 85569 85601 + Identifier 85569 85601 + ShorthandPropertyAssignment 85602 85641 + Identifier 85602 85641 + PropertyAssignment 85642 85700 + Identifier 85642 85672 + ArrowFunction 85673 85700 + Parameter 85675 85679 + Identifier 85675 85679 + Parameter 85680 85691 + Identifier 85680 85691 + EqualsGreaterThanToken 85692 85695 + Identifier 85695 85700 + PropertyAssignment 85701 85789 + Identifier 85701 85740 + PropertyAccessExpression 85741 85789 + Identifier 85741 85753 + Identifier 85754 85789 + PropertyAssignment 85790 85883 + Identifier 85790 85823 + PropertyAccessExpression 85824 85883 + Identifier 85824 85836 + Identifier 85837 85883 + PropertyAssignment 85884 86007 + Identifier 85884 85918 + PropertyAccessExpression 85919 86007 + Identifier 85919 85931 + Identifier 85932 86007 + InterfaceDeclaration 86016 86214 + Identifier 86033 86056 + PropertySignature 86058 86111 + ReadonlyKeyword 86058 86076 + Identifier 86076 86095 + ArrayType 86096 86110 + TypeReference 86096 86108 + Identifier 86096 86108 + PropertySignature 86111 86165 + ReadonlyKeyword 86111 86129 + Identifier 86129 86149 + ArrayType 86150 86164 + TypeReference 86150 86162 + Identifier 86150 86162 + PropertySignature 86165 86207 + ReadonlyKeyword 86165 86183 + Identifier 86183 86197 + BooleanKeyword 86198 86206 + InterfaceDeclaration 86214 86454 + Identifier 86229 86251 + PropertySignature 86253 86294 + ReadonlyKeyword 86253 86271 + Identifier 86271 86281 + TypeReference 86282 86293 + Identifier 86282 86293 + PropertySignature 86294 86336 + ReadonlyKeyword 86294 86312 + Identifier 86312 86323 + TypeReference 86324 86335 + Identifier 86324 86335 + PropertySignature 86336 86447 + ReadonlyKeyword 86336 86390 + Identifier 86390 86409 + TypeReference 86410 86446 + Identifier 86410 86414 + StringKeyword 86415 86421 + TypeReference 86422 86445 + Identifier 86422 86445 + VariableStatement 86454 86584 + VariableDeclarationList 86454 86583 + VariableDeclaration 86513 86583 + Identifier 86513 86535 + UnionType 86536 86583 + TypeReference 86536 86571 + Identifier 86536 86540 + StringKeyword 86541 86547 + TypeReference 86548 86570 + Identifier 86548 86570 + UndefinedKeyword 86573 86583 + VariableStatement 86584 86651 + VariableDeclarationList 86584 86650 + VariableDeclaration 86593 86650 + Identifier 86593 86612 + NewExpression 86614 86650 + Identifier 86618 86622 + StringKeyword 86623 86629 + UnionType 86630 86647 + TypeReference 86630 86635 + Identifier 86630 86635 + UndefinedKeyword 86637 86647 + VariableStatement 86651 86729 + VariableDeclarationList 86651 86728 + VariableDeclaration 86660 86728 + Identifier 86660 86690 + NewExpression 86692 86728 + Identifier 86696 86700 + StringKeyword 86701 86707 + UnionType 86708 86725 + TypeReference 86708 86713 + Identifier 86708 86713 + UndefinedKeyword 86715 86725 + VariableStatement 86729 86781 + VariableDeclarationList 86729 86780 + VariableDeclaration 86738 86780 + Identifier 86738 86758 + UnionType 86759 86780 + ArrayType 86759 86768 + TypeReference 86759 86766 + Identifier 86759 86766 + UndefinedKeyword 86770 86780 + VariableStatement 86781 87092 + VariableDeclarationList 86781 87091 + VariableDeclaration 87045 87091 + Identifier 87045 87067 + ArrayType 87068 87091 + TypeReference 87068 87089 + Identifier 87068 87089 + VariableStatement 87092 87169 + VariableDeclarationList 87092 87168 + VariableDeclaration 87101 87168 + Identifier 87101 87135 + UnionType 87136 87168 + TypeReference 87136 87156 + Identifier 87136 87140 + StringKeyword 87141 87147 + TypeReference 87148 87155 + Identifier 87148 87155 + UndefinedKeyword 87158 87168 + VariableStatement 87169 87210 + VariableDeclarationList 87169 87209 + VariableDeclaration 87180 87209 + Identifier 87180 87197 + TypeReference 87198 87209 + Identifier 87198 87209 + VariableStatement 87210 87251 + VariableDeclarationList 87210 87250 + VariableDeclaration 87219 87250 + Identifier 87219 87238 + TypeReference 87239 87250 + Identifier 87239 87250 + VariableStatement 87251 87300 + VariableDeclarationList 87251 87299 + VariableDeclaration 87260 87299 + Identifier 87260 87287 + TypeReference 87288 87299 + Identifier 87288 87299 + VariableStatement 87300 87348 + VariableDeclarationList 87300 87347 + VariableDeclaration 87309 87347 + Identifier 87309 87335 + TypeReference 87336 87347 + Identifier 87336 87347 + VariableStatement 87348 87387 + VariableDeclarationList 87348 87386 + VariableDeclaration 87357 87386 + Identifier 87357 87373 + TypeReference 87374 87386 + Identifier 87374 87386 + VariableStatement 87387 87434 + VariableDeclarationList 87387 87433 + VariableDeclaration 87396 87433 + Identifier 87396 87420 + TypeReference 87421 87433 + Identifier 87421 87433 + VariableStatement 87434 87473 + VariableDeclarationList 87434 87472 + VariableDeclaration 87443 87472 + Identifier 87443 87460 + TypeReference 87461 87472 + Identifier 87461 87472 + VariableStatement 87473 87512 + VariableDeclarationList 87473 87511 + VariableDeclaration 87482 87511 + Identifier 87482 87499 + TypeReference 87500 87511 + Identifier 87500 87511 + VariableStatement 87512 87552 + VariableDeclarationList 87512 87551 + VariableDeclaration 87521 87551 + Identifier 87521 87539 + TypeReference 87540 87551 + Identifier 87540 87551 + VariableStatement 87552 87591 + VariableDeclarationList 87552 87590 + VariableDeclaration 87561 87590 + Identifier 87561 87578 + TypeReference 87579 87590 + Identifier 87579 87590 + VariableStatement 87591 87629 + VariableDeclarationList 87591 87628 + VariableDeclaration 87600 87628 + Identifier 87600 87615 + TypeReference 87616 87628 + Identifier 87616 87628 + VariableStatement 87629 87658 + VariableDeclarationList 87629 87657 + VariableDeclaration 87638 87657 + Identifier 87638 87651 + TypeReference 87652 87657 + Identifier 87652 87657 + VariableStatement 87658 87688 + VariableDeclarationList 87658 87687 + VariableDeclaration 87667 87687 + Identifier 87667 87681 + TypeReference 87682 87687 + Identifier 87682 87687 + VariableStatement 87688 87725 + VariableDeclarationList 87688 87724 + VariableDeclaration 87697 87724 + Identifier 87697 87718 + TypeReference 87719 87724 + Identifier 87719 87724 + VariableStatement 87725 87778 + VariableDeclarationList 87725 87777 + VariableDeclaration 87734 87777 + Identifier 87734 87769 + TypeReference 87770 87777 + Identifier 87770 87777 + VariableStatement 87778 88085 + VariableDeclarationList 87778 88084 + VariableDeclaration 88024 88084 + Identifier 88024 88064 + UnionType 88065 88084 + TypeReference 88065 88072 + Identifier 88065 88072 + UndefinedKeyword 88074 88084 + VariableStatement 88085 88159 + VariableDeclarationList 88085 88158 + VariableDeclaration 88094 88158 + Identifier 88094 88138 + UnionType 88139 88158 + TypeReference 88139 88146 + Identifier 88139 88146 + UndefinedKeyword 88148 88158 + VariableStatement 88159 88220 + VariableDeclarationList 88159 88219 + VariableDeclaration 88168 88219 + Identifier 88168 88195 + UnionType 88196 88219 + TypeReference 88196 88207 + Identifier 88196 88207 + UndefinedKeyword 88209 88219 + VariableStatement 88220 88285 + VariableDeclarationList 88220 88284 + VariableDeclaration 88229 88284 + Identifier 88229 88271 + TypeReference 88272 88284 + Identifier 88272 88284 + VariableStatement 88285 88346 + VariableDeclarationList 88285 88345 + VariableDeclaration 88294 88345 + Identifier 88294 88320 + UnionType 88321 88345 + TypeReference 88321 88333 + Identifier 88321 88333 + UndefinedKeyword 88335 88345 + VariableStatement 88346 88411 + VariableDeclarationList 88346 88410 + VariableDeclaration 88355 88410 + Identifier 88355 88385 + UnionType 88386 88410 + TypeReference 88386 88398 + Identifier 88386 88398 + UndefinedKeyword 88400 88410 + VariableStatement 88411 88480 + VariableDeclarationList 88411 88479 + VariableDeclaration 88420 88479 + Identifier 88420 88459 + UnionType 88460 88479 + TypeReference 88460 88467 + Identifier 88460 88467 + UndefinedKeyword 88469 88479 + VariableStatement 88480 88555 + VariableDeclarationList 88480 88554 + VariableDeclaration 88489 88554 + Identifier 88489 88530 + UnionType 88531 88554 + TypeReference 88531 88542 + Identifier 88531 88542 + UndefinedKeyword 88544 88554 + VariableStatement 88555 88617 + VariableDeclarationList 88555 88616 + VariableDeclaration 88564 88616 + Identifier 88564 88591 + UnionType 88592 88616 + TypeReference 88592 88604 + Identifier 88592 88604 + UndefinedKeyword 88606 88616 + VariableStatement 88617 88679 + VariableDeclarationList 88617 88678 + VariableDeclaration 88626 88678 + Identifier 88626 88653 + UnionType 88654 88678 + TypeReference 88654 88666 + Identifier 88654 88666 + UndefinedKeyword 88668 88678 + VariableStatement 88679 88749 + VariableDeclarationList 88679 88748 + VariableDeclaration 88688 88748 + Identifier 88688 88723 + UnionType 88724 88748 + TypeReference 88724 88736 + Identifier 88724 88736 + UndefinedKeyword 88738 88748 + VariableStatement 88749 88817 + VariableDeclarationList 88749 88816 + VariableDeclaration 88758 88816 + Identifier 88758 88791 + UnionType 88792 88816 + TypeReference 88792 88804 + Identifier 88792 88804 + UndefinedKeyword 88806 88816 + VariableStatement 88817 88880 + VariableDeclarationList 88817 88879 + VariableDeclaration 88826 88879 + Identifier 88826 88854 + UnionType 88855 88879 + TypeReference 88855 88867 + Identifier 88855 88867 + UndefinedKeyword 88869 88879 + VariableStatement 88880 88953 + VariableDeclarationList 88880 88952 + VariableDeclaration 88889 88952 + Identifier 88889 88927 + UnionType 88928 88952 + TypeReference 88928 88940 + Identifier 88928 88940 + UndefinedKeyword 88942 88952 + VariableStatement 88953 89027 + VariableDeclarationList 88953 89026 + VariableDeclaration 88962 89026 + Identifier 88962 89001 + UnionType 89002 89026 + TypeReference 89002 89014 + Identifier 89002 89014 + UndefinedKeyword 89016 89026 + VariableStatement 89027 89094 + VariableDeclarationList 89027 89093 + VariableDeclaration 89036 89093 + Identifier 89036 89068 + UnionType 89069 89093 + TypeReference 89069 89081 + Identifier 89069 89081 + UndefinedKeyword 89083 89093 + VariableStatement 89094 89161 + VariableDeclarationList 89094 89160 + VariableDeclaration 89103 89160 + Identifier 89103 89135 + UnionType 89136 89160 + TypeReference 89136 89148 + Identifier 89136 89148 + UndefinedKeyword 89150 89160 + VariableStatement 89161 89236 + VariableDeclarationList 89161 89235 + VariableDeclaration 89170 89235 + Identifier 89170 89210 + UnionType 89211 89235 + TypeReference 89211 89223 + Identifier 89211 89223 + UndefinedKeyword 89225 89235 + VariableStatement 89236 89317 + VariableDeclarationList 89236 89316 + VariableDeclaration 89245 89316 + Identifier 89245 89280 + UnionType 89281 89316 + TypeOperator 89281 89304 + ArrayType 89290 89304 + TypeReference 89290 89302 + Identifier 89290 89302 + UndefinedKeyword 89306 89316 + VariableStatement 89317 89403 + VariableDeclarationList 89317 89402 + VariableDeclaration 89326 89402 + Identifier 89326 89366 + UnionType 89367 89402 + TypeOperator 89367 89390 + ArrayType 89376 89390 + TypeReference 89376 89388 + Identifier 89376 89388 + UndefinedKeyword 89392 89402 + VariableStatement 89403 89476 + VariableDeclarationList 89403 89475 + VariableDeclaration 89412 89475 + Identifier 89412 89450 + UnionType 89451 89475 + TypeReference 89451 89463 + Identifier 89451 89463 + UndefinedKeyword 89465 89475 + VariableStatement 89476 89544 + VariableDeclarationList 89476 89543 + VariableDeclaration 89485 89543 + Identifier 89485 89518 + UnionType 89519 89543 + TypeReference 89519 89531 + Identifier 89519 89531 + UndefinedKeyword 89533 89543 + VariableStatement 89544 89617 + VariableDeclarationList 89544 89616 + VariableDeclaration 89553 89616 + Identifier 89553 89592 + UnionType 89593 89616 + TypeReference 89593 89604 + Identifier 89593 89604 + UndefinedKeyword 89606 89616 + VariableStatement 89617 89668 + VariableDeclarationList 89617 89667 + VariableDeclaration 89626 89667 + Identifier 89626 89655 + TypeReference 89656 89667 + Identifier 89656 89667 + VariableStatement 89668 89729 + VariableDeclarationList 89668 89728 + VariableDeclaration 89677 89728 + Identifier 89677 89716 + TypeReference 89717 89728 + Identifier 89717 89728 + VariableStatement 89729 89799 + VariableDeclarationList 89729 89798 + VariableDeclaration 89738 89798 + Identifier 89738 89774 + UnionType 89775 89798 + TypeReference 89775 89786 + Identifier 89775 89786 + UndefinedKeyword 89788 89798 + VariableStatement 89799 89868 + VariableDeclarationList 89799 89867 + VariableDeclaration 89808 89867 + Identifier 89808 89843 + UnionType 89844 89867 + TypeReference 89844 89855 + Identifier 89844 89855 + UndefinedKeyword 89857 89867 + VariableStatement 89868 89931 + VariableDeclarationList 89868 89930 + VariableDeclaration 89877 89930 + Identifier 89877 89906 + UnionType 89907 89930 + TypeReference 89907 89918 + Identifier 89907 89918 + UndefinedKeyword 89920 89930 + VariableStatement 89931 89999 + VariableDeclarationList 89931 89998 + VariableDeclaration 89940 89998 + Identifier 89940 89974 + UnionType 89975 89998 + TypeReference 89975 89986 + Identifier 89975 89986 + UndefinedKeyword 89988 89998 + VariableStatement 89999 90057 + VariableDeclarationList 89999 90056 + VariableDeclaration 90008 90056 + Identifier 90008 90036 + UnionType 90037 90056 + TypeReference 90037 90044 + Identifier 90037 90044 + UndefinedKeyword 90046 90056 + VariableStatement 90057 90112 + VariableDeclarationList 90057 90111 + VariableDeclaration 90066 90111 + Identifier 90066 90091 + UnionType 90092 90111 + TypeReference 90092 90099 + Identifier 90092 90099 + UndefinedKeyword 90101 90111 + VariableStatement 90112 90170 + VariableDeclarationList 90112 90169 + VariableDeclaration 90121 90169 + Identifier 90121 90149 + UnionType 90150 90169 + TypeReference 90150 90157 + Identifier 90150 90157 + UndefinedKeyword 90159 90169 + VariableStatement 90170 90229 + VariableDeclarationList 90170 90228 + VariableDeclaration 90179 90228 + Identifier 90179 90204 + UnionType 90205 90228 + TypeReference 90205 90216 + Identifier 90205 90216 + UndefinedKeyword 90218 90228 + VariableStatement 90229 90283 + VariableDeclarationList 90229 90282 + VariableDeclaration 90238 90282 + Identifier 90238 90262 + UnionType 90263 90282 + TypeReference 90263 90270 + Identifier 90263 90270 + UndefinedKeyword 90272 90282 + VariableStatement 90283 90340 + VariableDeclarationList 90283 90339 + VariableDeclaration 90292 90339 + Identifier 90292 90319 + UnionType 90320 90339 + TypeReference 90320 90327 + Identifier 90320 90327 + UndefinedKeyword 90329 90339 + VariableStatement 90340 90415 + VariableDeclarationList 90340 90414 + VariableDeclaration 90349 90414 + Identifier 90349 90389 + UnionType 90390 90414 + TypeReference 90390 90402 + Identifier 90390 90402 + UndefinedKeyword 90404 90414 + VariableStatement 90415 90496 + VariableDeclarationList 90415 90495 + VariableDeclaration 90424 90495 + Identifier 90424 90470 + UnionType 90471 90495 + TypeReference 90471 90483 + Identifier 90471 90483 + UndefinedKeyword 90485 90495 + VariableStatement 90496 90577 + VariableDeclarationList 90496 90576 + VariableDeclaration 90505 90576 + Identifier 90505 90551 + UnionType 90552 90576 + TypeReference 90552 90564 + Identifier 90552 90564 + UndefinedKeyword 90566 90576 + VariableStatement 90577 90658 + VariableDeclarationList 90577 90657 + VariableDeclaration 90586 90657 + Identifier 90586 90632 + UnionType 90633 90657 + TypeReference 90633 90645 + Identifier 90633 90645 + UndefinedKeyword 90647 90657 + VariableStatement 90658 90741 + VariableDeclarationList 90658 90740 + VariableDeclaration 90667 90740 + Identifier 90667 90715 + UnionType 90716 90740 + TypeReference 90716 90728 + Identifier 90716 90728 + UndefinedKeyword 90730 90740 + VariableStatement 90741 90823 + VariableDeclarationList 90741 90822 + VariableDeclaration 90750 90822 + Identifier 90750 90797 + UnionType 90798 90822 + TypeReference 90798 90810 + Identifier 90798 90810 + UndefinedKeyword 90812 90822 + VariableStatement 90823 90905 + VariableDeclarationList 90823 90904 + VariableDeclaration 90832 90904 + Identifier 90832 90879 + UnionType 90880 90904 + TypeReference 90880 90892 + Identifier 90880 90892 + UndefinedKeyword 90894 90904 + VariableStatement 90905 90985 + VariableDeclarationList 90905 90984 + VariableDeclaration 90914 90984 + Identifier 90914 90959 + UnionType 90960 90984 + TypeReference 90960 90972 + Identifier 90960 90972 + UndefinedKeyword 90974 90984 + VariableStatement 90985 91078 + VariableDeclarationList 90985 91077 + VariableDeclaration 90996 91077 + Identifier 90996 91028 + NewExpression 91030 91077 + Identifier 91034 91038 + TypeReference 91039 91043 + Identifier 91039 91043 + ArrayType 91044 91074 + TypeReference 91044 91072 + Identifier 91044 91072 + VariableStatement 91078 91128 + VariableDeclarationList 91078 91127 + VariableDeclaration 91109 91127 + Identifier 91109 91123 + NumericLiteral 91125 91127 + VariableStatement 91128 91156 + VariableDeclarationList 91128 91155 + VariableDeclaration 91137 91155 + Identifier 91137 91151 + NumericLiteral 91153 91155 + VariableStatement 91156 91186 + VariableDeclarationList 91156 91185 + VariableDeclaration 91165 91185 + Identifier 91165 91181 + NumericLiteral 91183 91185 + VariableStatement 91186 91225 + VariableDeclarationList 91186 91224 + VariableDeclaration 91195 91224 + Identifier 91195 91216 + FalseKeyword 91218 91224 + VariableStatement 91225 91259 + VariableDeclarationList 91225 91258 + VariableDeclaration 91234 91258 + Identifier 91234 91254 + NumericLiteral 91256 91258 + VariableStatement 91259 91304 + VariableDeclarationList 91259 91303 + VariableDeclaration 91268 91303 + Identifier 91268 91281 + UnionType 91282 91303 + TypeReference 91282 91291 + Identifier 91282 91291 + UndefinedKeyword 91293 91303 + VariableStatement 91304 91345 + VariableDeclarationList 91304 91344 + VariableDeclaration 91313 91344 + Identifier 91313 91335 + BooleanKeyword 91336 91344 + VariableStatement 91345 91389 + VariableDeclarationList 91345 91388 + VariableDeclaration 91354 91388 + Identifier 91354 91368 + UnionType 91369 91388 + ArrayType 91369 91376 + TypeReference 91369 91374 + Identifier 91369 91374 + UndefinedKeyword 91378 91388 + VariableStatement 91389 91434 + VariableDeclarationList 91389 91433 + VariableDeclaration 91400 91433 + Identifier 91400 91420 + ArrayType 91421 91428 + TypeReference 91421 91426 + Identifier 91421 91426 + ArrayLiteralExpression 91430 91433 + VariableStatement 91434 91487 + VariableDeclarationList 91434 91486 + VariableDeclaration 91443 91486 + Identifier 91443 91459 + ArrayType 91460 91481 + ParenthesizedType 91460 91479 + UnionType 91462 91478 + TypeReference 91462 91466 + Identifier 91462 91466 + UndefinedKeyword 91468 91478 + ArrayLiteralExpression 91483 91486 + VariableStatement 91487 91531 + VariableDeclarationList 91487 91530 + VariableDeclaration 91496 91530 + Identifier 91496 91514 + ArrayType 91515 91525 + BooleanKeyword 91515 91523 + ArrayLiteralExpression 91527 91530 + VariableStatement 91531 91565 + VariableDeclarationList 91531 91564 + VariableDeclaration 91540 91564 + Identifier 91540 91560 + NumericLiteral 91562 91564 + VariableStatement 91565 91624 + VariableDeclarationList 91565 91623 + VariableDeclaration 91574 91623 + Identifier 91574 91600 + ArrayType 91601 91618 + TypeReference 91601 91616 + Identifier 91601 91616 + ArrayLiteralExpression 91620 91623 + VariableStatement 91624 91671 + VariableDeclarationList 91624 91670 + VariableDeclaration 91635 91670 + Identifier 91635 91657 + ArrayType 91658 91665 + TypeReference 91658 91663 + Identifier 91658 91663 + ArrayLiteralExpression 91667 91670 + VariableStatement 91671 91738 + VariableDeclarationList 91671 91737 + VariableDeclaration 91680 91737 + Identifier 91680 91698 + ArrayType 91699 91732 + ParenthesizedType 91699 91730 + UnionType 91701 91729 + TypeReference 91701 91717 + Identifier 91701 91717 + UndefinedKeyword 91719 91729 + ArrayLiteralExpression 91734 91737 + VariableStatement 91738 91774 + VariableDeclarationList 91738 91773 + VariableDeclaration 91747 91773 + Identifier 91747 91769 + NumericLiteral 91771 91773 + VariableStatement 91774 91829 + VariableDeclarationList 91774 91828 + VariableDeclaration 91785 91828 + Identifier 91785 91801 + CallExpression 91803 91828 + Identifier 91803 91824 + StringLiteral 91825 91827 + VariableStatement 91829 91874 + VariableDeclarationList 91829 91873 + VariableDeclaration 91838 91873 + Identifier 91838 91847 + CallExpression 91849 91873 + Identifier 91849 91870 + NumericLiteral 91871 91872 + VariableStatement 91874 91961 + VariableDeclarationList 91874 91960 + VariableDeclaration 91883 91960 + Identifier 91883 91898 + CallExpression 91900 91960 + Identifier 91900 91921 + ObjectLiteralExpression 91922 91959 + PropertyAssignment 91923 91939 + Identifier 91923 91932 + FalseKeyword 91933 91939 + PropertyAssignment 91940 91957 + Identifier 91940 91952 + StringLiteral 91953 91957 + VariableStatement 91961 92016 + VariableDeclarationList 91961 92015 + VariableDeclaration 91972 92015 + Identifier 91972 91990 + ArrayType 91991 92010 + TypeReference 91991 92008 + Identifier 91991 92008 + ArrayLiteralExpression 92012 92015 + VariableStatement 92016 92060 + VariableDeclarationList 92016 92059 + VariableDeclaration 92025 92059 + Identifier 92025 92043 + ArrayType 92044 92054 + BooleanKeyword 92044 92052 + ArrayLiteralExpression 92056 92059 + VariableStatement 92060 92125 + VariableDeclarationList 92060 92124 + VariableDeclaration 92069 92124 + Identifier 92069 92093 + ArrayType 92094 92119 + TypeReference 92094 92117 + Identifier 92094 92117 + ArrayLiteralExpression 92121 92124 + VariableStatement 92125 92155 + VariableDeclarationList 92125 92154 + VariableDeclaration 92134 92154 + Identifier 92134 92150 + NumericLiteral 92152 92154 + VariableStatement 92155 92195 + VariableDeclarationList 92155 92194 + VariableDeclaration 92164 92194 + Identifier 92164 92186 + FalseKeyword 92188 92194 + VariableStatement 92195 92227 + VariableDeclarationList 92195 92226 + VariableDeclaration 92206 92226 + Identifier 92206 92222 + NumericLiteral 92224 92226 + VariableStatement 92227 92265 + VariableDeclarationList 92227 92264 + VariableDeclaration 92236 92264 + Identifier 92236 92259 + NumericLiteral 92261 92264 + VariableStatement 92265 92304 + VariableDeclarationList 92265 92303 + VariableDeclaration 92274 92303 + Identifier 92274 92288 + ArrayType 92289 92298 + TypeReference 92289 92296 + Identifier 92289 92296 + ArrayLiteralExpression 92300 92303 + VariableStatement 92304 92346 + VariableDeclarationList 92304 92345 + VariableDeclaration 92313 92345 + Identifier 92313 92325 + ArrayType 92326 92340 + TypeReference 92326 92338 + Identifier 92326 92338 + ArrayLiteralExpression 92342 92345 + VariableStatement 92346 92384 + VariableDeclarationList 92346 92383 + VariableDeclaration 92355 92383 + Identifier 92355 92365 + ArrayType 92366 92378 + TypeReference 92366 92376 + Identifier 92366 92376 + ArrayLiteralExpression 92380 92383 + VariableStatement 92384 92435 + VariableDeclarationList 92384 92434 + VariableDeclaration 92393 92434 + Identifier 92393 92408 + ArrayType 92409 92429 + TypeReference 92409 92427 + Identifier 92409 92413 + StringKeyword 92414 92420 + TypeReference 92421 92426 + Identifier 92421 92426 + ArrayLiteralExpression 92431 92434 + VariableStatement 92435 92476 + VariableDeclarationList 92435 92475 + VariableDeclaration 92444 92475 + Identifier 92444 92458 + ArrayType 92459 92470 + TypeReference 92459 92468 + Identifier 92459 92468 + ArrayLiteralExpression 92472 92475 + VariableStatement 92476 92514 + VariableDeclarationList 92476 92513 + VariableDeclaration 92485 92513 + Identifier 92485 92498 + ArrayType 92499 92508 + StringKeyword 92499 92506 + ArrayLiteralExpression 92510 92513 + VariableStatement 92514 92553 + VariableDeclarationList 92514 92552 + VariableDeclaration 92523 92552 + Identifier 92523 92537 + ArrayType 92538 92547 + ArrayType 92538 92545 + TypeReference 92538 92543 + Identifier 92538 92543 + ArrayLiteralExpression 92549 92552 + VariableStatement 92553 92596 + VariableDeclarationList 92553 92595 + VariableDeclaration 92562 92595 + Identifier 92562 92578 + ArrayType 92579 92590 + TypeReference 92579 92588 + Identifier 92579 92588 + ArrayLiteralExpression 92592 92595 + VariableStatement 92596 92639 + VariableDeclarationList 92596 92638 + VariableDeclaration 92605 92638 + Identifier 92605 92621 + ArrayType 92622 92633 + TypeReference 92622 92631 + Identifier 92622 92631 + ArrayLiteralExpression 92635 92638 + VariableStatement 92639 92697 + VariableDeclarationList 92639 92696 + VariableDeclaration 92648 92696 + Identifier 92648 92666 + ArrayType 92667 92691 + ParenthesizedType 92667 92689 + UnionType 92669 92688 + BooleanKeyword 92669 92676 + UndefinedKeyword 92678 92688 + ArrayLiteralExpression 92693 92696 + VariableStatement 92697 92755 + VariableDeclarationList 92697 92754 + VariableDeclaration 92706 92754 + Identifier 92706 92724 + ArrayType 92725 92749 + ParenthesizedType 92725 92747 + UnionType 92727 92746 + BooleanKeyword 92727 92734 + UndefinedKeyword 92736 92746 + ArrayLiteralExpression 92751 92754 + VariableStatement 92755 92802 + VariableDeclarationList 92755 92801 + VariableDeclaration 92764 92801 + Identifier 92764 92788 + ArrayType 92789 92796 + TypeReference 92789 92794 + Identifier 92789 92794 + ArrayLiteralExpression 92798 92801 + VariableStatement 92802 92854 + VariableDeclarationList 92802 92853 + VariableDeclaration 92811 92853 + Identifier 92811 92840 + ArrayType 92841 92848 + TypeReference 92841 92846 + Identifier 92841 92846 + ArrayLiteralExpression 92850 92853 + VariableStatement 92854 92907 + VariableDeclarationList 92854 92906 + VariableDeclaration 92863 92906 + Identifier 92863 92893 + ArrayType 92894 92901 + TypeReference 92894 92899 + Identifier 92894 92899 + ArrayLiteralExpression 92903 92906 + VariableStatement 92907 92957 + VariableDeclarationList 92907 92956 + VariableDeclaration 92916 92956 + Identifier 92916 92943 + ArrayType 92944 92951 + TypeReference 92944 92949 + Identifier 92944 92949 + ArrayLiteralExpression 92953 92956 + VariableStatement 92957 93035 + VariableDeclarationList 92957 93034 + VariableDeclaration 92966 93034 + Identifier 92966 93011 + ArrayType 93012 93029 + TypeReference 93012 93027 + Identifier 93012 93027 + ArrayLiteralExpression 93031 93034 + VariableStatement 93035 93077 + VariableDeclarationList 93035 93076 + VariableDeclaration 93044 93076 + Identifier 93044 93061 + ArrayType 93062 93071 + NumberKeyword 93062 93069 + ArrayLiteralExpression 93073 93076 + VariableStatement 93077 93125 + VariableDeclarationList 93077 93124 + VariableDeclaration 93086 93124 + Identifier 93086 93111 + ArrayType 93112 93119 + TypeReference 93112 93117 + Identifier 93112 93117 + ArrayLiteralExpression 93121 93124 + VariableStatement 93125 93173 + VariableDeclarationList 93125 93172 + VariableDeclaration 93134 93172 + Identifier 93134 93159 + ArrayType 93160 93167 + TypeReference 93160 93165 + Identifier 93160 93165 + ArrayLiteralExpression 93169 93172 + VariableStatement 93173 93227 + VariableDeclarationList 93173 93226 + VariableDeclaration 93182 93226 + Identifier 93182 93204 + PropertyAccessExpression 93206 93226 + Identifier 93206 93221 + Identifier 93222 93226 + VariableStatement 93227 93282 + VariableDeclarationList 93227 93281 + VariableDeclaration 93238 93281 + Identifier 93238 93250 + CallExpression 93252 93281 + Identifier 93252 93279 + VariableStatement 93282 93345 + VariableDeclarationList 93282 93344 + VariableDeclaration 93291 93344 + Identifier 93291 93313 + CallExpression 93315 93344 + Identifier 93315 93342 + VariableStatement 93345 93389 + VariableDeclarationList 93345 93388 + VariableDeclaration 93356 93388 + Identifier 93356 93367 + CallExpression 93369 93388 + Identifier 93369 93386 + VariableStatement 93389 93425 + VariableDeclarationList 93389 93424 + VariableDeclaration 93400 93424 + Identifier 93400 93414 + TypeReference 93415 93424 + Identifier 93415 93424 + VariableStatement 93425 93477 + VariableDeclarationList 93425 93476 + VariableDeclaration 93434 93476 + Identifier 93434 93452 + UnionType 93453 93476 + TypeReference 93453 93464 + Identifier 93453 93464 + UndefinedKeyword 93466 93476 + VariableStatement 93477 93551 + VariableDeclarationList 93477 93550 + VariableDeclaration 93488 93550 + Identifier 93488 93504 + NewExpression 93506 93550 + Identifier 93510 93514 + StringKeyword 93515 93521 + TypeReference 93522 93547 + Identifier 93522 93547 + VariableStatement 93551 93629 + VariableDeclarationList 93551 93628 + VariableDeclaration 93560 93628 + Identifier 93560 93582 + NewExpression 93584 93628 + Identifier 93588 93592 + StringKeyword 93593 93599 + TypeReference 93600 93625 + Identifier 93600 93625 + VariableStatement 93629 93704 + VariableDeclarationList 93629 93703 + VariableDeclaration 93638 93703 + Identifier 93638 93657 + NewExpression 93659 93703 + Identifier 93663 93667 + StringKeyword 93668 93674 + TypeReference 93675 93700 + Identifier 93675 93700 + VariableStatement 93704 93779 + VariableDeclarationList 93704 93778 + VariableDeclaration 93713 93778 + Identifier 93713 93732 + NewExpression 93734 93778 + Identifier 93738 93742 + StringKeyword 93743 93749 + TypeReference 93750 93775 + Identifier 93750 93775 + VariableStatement 93779 93852 + VariableDeclarationList 93779 93851 + VariableDeclaration 93788 93851 + Identifier 93788 93805 + NewExpression 93807 93851 + Identifier 93811 93815 + StringKeyword 93816 93822 + TypeReference 93823 93848 + Identifier 93823 93848 + VariableStatement 93852 93921 + VariableDeclarationList 93852 93920 + VariableDeclaration 93861 93920 + Identifier 93861 93874 + NewExpression 93876 93920 + Identifier 93880 93884 + StringKeyword 93885 93891 + TypeReference 93892 93917 + Identifier 93892 93917 + VariableStatement 93921 94626 + VariableDeclarationList 93921 94625 + VariableDeclaration 94282 94625 + Identifier 94282 94302 + ArrayType 94303 94322 + TupleType 94303 94320 + StringKeyword 94305 94311 + StringKeyword 94312 94319 + ArrayLiteralExpression 94324 94625 + ArrayLiteralExpression 94326 94352 + StringLiteral 94337 94343 + StringLiteral 94344 94351 + ArrayLiteralExpression 94353 94377 + StringLiteral 94364 94369 + StringLiteral 94370 94376 + ArrayLiteralExpression 94378 94404 + StringLiteral 94389 94395 + StringLiteral 94396 94403 + ArrayLiteralExpression 94405 94431 + StringLiteral 94416 94422 + StringLiteral 94423 94430 + ArrayLiteralExpression 94432 94456 + StringLiteral 94443 94448 + StringLiteral 94449 94455 + ArrayLiteralExpression 94457 94483 + StringLiteral 94468 94474 + StringLiteral 94475 94482 + ArrayLiteralExpression 94484 94561 + StringLiteral 94495 94501 + ConditionalExpression 94502 94560 + BinaryExpression 94502 94543 + PropertyAccessExpression 94502 94522 + Identifier 94502 94518 + Identifier 94519 94522 + EqualsEqualsEqualsToken 94522 94526 + PropertyAccessExpression 94526 94543 + Identifier 94526 94534 + Identifier 94535 94543 + QuestionToken 94543 94545 + StringLiteral 94545 94552 + ColonToken 94552 94554 + StringLiteral 94554 94560 + ArrayLiteralExpression 94562 94588 + StringLiteral 94573 94579 + StringLiteral 94580 94587 + ArrayLiteralExpression 94589 94617 + StringLiteral 94600 94607 + StringLiteral 94608 94616 + ExpressionStatement 94626 94692 + CallExpression 94626 94691 + Identifier 94626 94689 + ReturnStatement 94692 94715 + Identifier 94706 94714 + FunctionDeclaration 94715 95791 + Identifier 94731 94773 + Parameter 94774 94784 + Identifier 94774 94778 + TypeReference 94779 94784 + Identifier 94779 94784 + BooleanKeyword 94786 94794 + Block 94794 95791 + IfStatement 94796 94858 + PrefixUnaryExpression 94810 94843 + CallExpression 94811 94843 + Identifier 94811 94837 + Identifier 94838 94842 + ReturnStatement 94844 94858 + FalseKeyword 94851 94857 + IfStatement 94858 94911 + PrefixUnaryExpression 94872 94896 + CallExpression 94873 94896 + Identifier 94873 94885 + PropertyAccessExpression 94886 94895 + Identifier 94886 94890 + Identifier 94891 94895 + ReturnStatement 94897 94911 + FalseKeyword 94904 94910 + IfStatement 94911 95018 + BinaryExpression 94925 95003 + PrefixUnaryExpression 94925 94969 + CallExpression 94926 94969 + Identifier 94926 94952 + PropertyAccessExpression 94953 94968 + Identifier 94953 94957 + Identifier 94958 94968 + AmpersandAmpersandToken 94969 94972 + PrefixUnaryExpression 94972 95003 + CallExpression 94974 95003 + Identifier 94974 94986 + PropertyAccessExpression 94987 95002 + Identifier 94987 94991 + Identifier 94992 95002 + ReturnStatement 95004 95018 + FalseKeyword 95011 95017 + IfStatement 95018 95427 + CallExpression 95032 95061 + Identifier 95032 95044 + PropertyAccessExpression 95045 95060 + Identifier 95045 95049 + Identifier 95050 95060 + Block 95062 95427 + ReturnStatement 95064 95416 + BinaryExpression 95208 95415 + BinaryExpression 95208 95245 + CallExpression 95208 95232 + Identifier 95208 95215 + PropertyAccessExpression 95216 95231 + Identifier 95216 95220 + Identifier 95221 95231 + EqualsEqualsEqualsToken 95232 95236 + StringLiteral 95236 95245 + AmpersandAmpersandToken 95245 95248 + BinaryExpression 95248 95415 + CallExpression 95248 95283 + Identifier 95248 95266 + PropertyAccessExpression 95267 95282 + Identifier 95267 95271 + Identifier 95272 95282 + EqualsEqualsEqualsToken 95283 95287 + ParenthesizedExpression 95287 95415 + BinaryExpression 95289 95414 + CallExpression 95289 95397 + Identifier 95289 95304 + AsExpression 95305 95325 + StringLiteral 95305 95313 + TypeReference 95316 95325 + Identifier 95316 95325 + BinaryExpression 95326 95370 + PropertyAccessExpression 95326 95344 + Identifier 95326 95338 + Identifier 95339 95344 + BarToken 95344 95346 + PropertyAccessExpression 95346 95370 + Identifier 95346 95358 + Identifier 95359 95370 + Identifier 95371 95396 + BarBarToken 95397 95400 + Identifier 95400 95414 + IfStatement 95427 95497 + PrefixUnaryExpression 95441 95482 + CallExpression 95442 95482 + Identifier 95442 95454 + PropertyAccessExpression 95455 95481 + PropertyAccessExpression 95455 95470 + Identifier 95455 95459 + Identifier 95460 95470 + Identifier 95471 95481 + ReturnStatement 95483 95497 + FalseKeyword 95490 95496 + ReturnStatement 95497 95784 + BinaryExpression 95616 95783 + BinaryExpression 95616 95713 + BinaryExpression 95616 95658 + CallExpression 95616 95645 + Identifier 95616 95623 + PropertyAccessExpression 95624 95644 + PropertyAccessExpression 95624 95639 + Identifier 95624 95628 + Identifier 95629 95639 + Identifier 95640 95644 + EqualsEqualsEqualsToken 95645 95649 + StringLiteral 95649 95658 + AmpersandAmpersandToken 95658 95661 + BinaryExpression 95661 95713 + CallExpression 95661 95696 + Identifier 95661 95668 + PropertyAccessExpression 95669 95695 + PropertyAccessExpression 95669 95684 + Identifier 95669 95673 + Identifier 95674 95684 + Identifier 95685 95695 + EqualsEqualsEqualsToken 95696 95700 + StringLiteral 95700 95713 + AmpersandAmpersandToken 95713 95716 + BinaryExpression 95716 95783 + CallExpression 95716 95762 + Identifier 95716 95734 + PropertyAccessExpression 95735 95761 + PropertyAccessExpression 95735 95750 + Identifier 95735 95739 + Identifier 95740 95750 + Identifier 95751 95761 + EqualsEqualsEqualsToken 95762 95766 + Identifier 95766 95783 + FunctionDeclaration 95791 95911 + Identifier 95807 95821 + Parameter 95822 95845 + Identifier 95822 95825 + UnionType 95826 95845 + StringKeyword 95826 95833 + UndefinedKeyword 95835 95845 + Block 95846 95911 + ReturnStatement 95848 95904 + ConditionalExpression 95864 95903 + Identifier 95864 95868 + QuestionToken 95868 95870 + CallExpression 95870 95891 + PropertyAccessExpression 95870 95886 + Identifier 95870 95882 + Identifier 95883 95886 + Identifier 95887 95890 + ColonToken 95891 95893 + Identifier 95893 95903 + FunctionDeclaration 95911 96055 + Identifier 95927 95941 + Parameter 95942 95965 + Identifier 95942 95945 + UnionType 95946 95965 + StringKeyword 95946 95953 + UndefinedKeyword 95955 95965 + Parameter 95966 95977 + Identifier 95966 95971 + TypeReference 95972 95977 + Identifier 95972 95977 + Block 95978 96055 + IfStatement 95980 96026 + Identifier 95994 95997 + ExpressionStatement 95998 96026 + CallExpression 95998 96025 + PropertyAccessExpression 95998 96014 + Identifier 95998 96010 + Identifier 96011 96014 + Identifier 96015 96018 + Identifier 96019 96024 + ReturnStatement 96026 96048 + Identifier 96042 96047 + FunctionDeclaration 96055 98621 + Identifier 96071 96087 + Parameter 96088 96114 + Identifier 96088 96096 + UnionType 96097 96114 + TypeReference 96097 96102 + Identifier 96097 96102 + UndefinedKeyword 96104 96114 + TypeReference 96116 96125 + Identifier 96116 96125 + Block 96125 98621 + IfStatement 96127 97753 + Identifier 96141 96149 + Block 96150 97753 + VariableStatement 96152 96209 + VariableDeclarationList 96152 96208 + VariableDeclaration 96171 96208 + Identifier 96171 96176 + CallExpression 96178 96208 + Identifier 96178 96198 + Identifier 96199 96207 + IfStatement 96209 97742 + Identifier 96227 96231 + Block 96232 97742 + IfStatement 96234 97727 + CallExpression 96256 96286 + Identifier 96256 96276 + Identifier 96277 96285 + Block 96287 97464 + IfStatement 96289 96435 + PropertyAccessExpression 96315 96345 + Identifier 96315 96319 + Identifier 96320 96345 + Block 96346 96435 + ReturnStatement 96348 96412 + PropertyAccessExpression 96380 96411 + Identifier 96380 96385 + Identifier 96386 96411 + VariableStatement 96435 96511 + VariableDeclarationList 96435 96510 + VariableDeclaration 96462 96510 + Identifier 96462 96480 + CallExpression 96482 96510 + PropertyAccessExpression 96482 96499 + PropertyAccessExpression 96482 96495 + Identifier 96482 96487 + Identifier 96488 96495 + Identifier 96496 96499 + StringLiteral 96500 96509 + IfStatement 96511 97143 + Identifier 96537 96554 + Block 96555 97143 + VariableStatement 96557 96674 + VariableDeclarationList 96557 96673 + VariableDeclaration 96588 96673 + Identifier 96588 96601 + ConditionalExpression 96603 96673 + CallExpression 96603 96630 + Identifier 96603 96611 + Identifier 96612 96629 + QuestionToken 96630 96632 + ElementAccessExpression 96632 96653 + Identifier 96632 96650 + NumericLiteral 96651 96652 + ColonToken 96653 96655 + Identifier 96655 96673 + ExpressionStatement 96674 96804 + BinaryExpression 96674 96803 + PropertyAccessExpression 96674 96728 + Identifier 96674 96704 + Identifier 96705 96728 + EqualsToken 96728 96730 + CallExpression 96730 96803 + Identifier 96730 96754 + PropertyAccessExpression 96755 96785 + PropertyAccessExpression 96755 96777 + Identifier 96755 96767 + Identifier 96768 96777 + Identifier 96778 96785 + Identifier 96786 96802 + ExpressionStatement 96804 96901 + CallExpression 96804 96900 + Identifier 96804 96839 + PropertyAccessExpression 96840 96868 + Identifier 96840 96844 + Identifier 96845 96868 + Identifier 96869 96885 + Identifier 96886 96899 + IfStatement 96901 97120 + PropertyAccessExpression 96931 96959 + Identifier 96931 96935 + Identifier 96936 96959 + Block 96960 97120 + ReturnStatement 96962 97093 + BinaryExpression 96998 97092 + PropertyAccessExpression 96998 97029 + Identifier 96998 97003 + Identifier 97004 97029 + EqualsToken 97029 97031 + PropertyAccessExpression 97031 97092 + CallExpression 97031 97080 + Identifier 97031 97050 + PropertyAccessExpression 97051 97079 + Identifier 97051 97055 + Identifier 97056 97079 + Identifier 97081 97092 + VariableStatement 97143 97218 + VariableDeclarationList 97143 97217 + VariableDeclaration 97170 97217 + Identifier 97170 97177 + CallExpression 97179 97217 + Identifier 97179 97207 + Identifier 97208 97216 + IfStatement 97218 97445 + Identifier 97244 97250 + Block 97251 97445 + ExpressionStatement 97253 97317 + BinaryExpression 97253 97316 + PropertyAccessExpression 97253 97307 + Identifier 97253 97283 + Identifier 97284 97307 + EqualsToken 97307 97309 + Identifier 97309 97316 + ReturnStatement 97317 97422 + BinaryExpression 97349 97421 + PropertyAccessExpression 97349 97380 + Identifier 97349 97354 + Identifier 97355 97380 + EqualsToken 97380 97382 + PropertyAccessExpression 97382 97421 + CallExpression 97382 97409 + Identifier 97382 97401 + Identifier 97402 97408 + Identifier 97410 97421 + Block 97486 97727 + VariableStatement 97488 97563 + VariableDeclarationList 97488 97562 + VariableDeclaration 97515 97562 + Identifier 97515 97533 + CallExpression 97535 97562 + Identifier 97535 97556 + Identifier 97557 97561 + IfStatement 97563 97708 + Identifier 97589 97606 + Block 97607 97708 + ReturnStatement 97609 97685 + BinaryExpression 97641 97684 + PropertyAccessExpression 97641 97664 + Identifier 97641 97646 + Identifier 97647 97664 + EqualsToken 97664 97666 + Identifier 97666 97684 + IfStatement 97753 98389 + PrefixUnaryExpression 97767 97781 + Identifier 97768 97781 + Block 97782 98389 + ExpressionStatement 97784 97834 + BinaryExpression 97784 97833 + Identifier 97784 97811 + EqualsToken 97811 97813 + AsExpression 97813 97833 + StringLiteral 97813 97821 + TypeReference 97824 97833 + Identifier 97824 97833 + IfStatement 97834 98378 + PropertyAccessExpression 97852 97878 + Identifier 97852 97867 + Identifier 97868 97878 + Block 97879 98216 + ExpressionStatement 97881 97988 + BinaryExpression 97881 97987 + Identifier 97881 97916 + EqualsToken 97916 97918 + CallExpression 97918 97987 + Identifier 97918 97942 + PropertyAccessExpression 97943 97969 + Identifier 97943 97958 + Identifier 97959 97969 + Identifier 97970 97986 + ExpressionStatement 97988 98052 + CallExpression 97988 98051 + Identifier 97988 98015 + Identifier 98016 98033 + Identifier 98034 98050 + IfStatement 98052 98201 + Identifier 98074 98091 + Block 98092 98201 + ExpressionStatement 98094 98182 + BinaryExpression 98094 98181 + Identifier 98094 98129 + EqualsToken 98129 98131 + PropertyAccessExpression 98131 98181 + CallExpression 98131 98169 + Identifier 98131 98150 + Identifier 98151 98168 + Identifier 98170 98181 + IfStatement 98234 98378 + PropertyAccessExpression 98239 98269 + Identifier 98239 98254 + Identifier 98255 98269 + Block 98270 98378 + ExpressionStatement 98272 98363 + BinaryExpression 98272 98362 + Identifier 98272 98303 + EqualsToken 98303 98305 + CallExpression 98305 98362 + Identifier 98305 98330 + PropertyAccessExpression 98331 98361 + Identifier 98331 98346 + Identifier 98347 98361 + IfStatement 98389 98583 + PrefixUnaryExpression 98403 98421 + Identifier 98404 98421 + Block 98422 98583 + ExpressionStatement 98424 98572 + BinaryExpression 98424 98571 + Identifier 98424 98455 + EqualsToken 98455 98457 + CallExpression 98457 98571 + PropertyAccessExpression 98457 98485 + Identifier 98457 98465 + Identifier 98466 98485 + CallExpression 98486 98553 + PropertyAccessExpression 98486 98510 + Identifier 98486 98493 + Identifier 98494 98510 + CallExpression 98511 98552 + Identifier 98511 98537 + Identifier 98538 98551 + StringLiteral 98554 98570 + ReturnStatement 98583 98614 + Identifier 98599 98613 + FunctionDeclaration 98621 99317 + Identifier 98637 98658 + Parameter 98659 98675 + Identifier 98659 98663 + TypeReference 98664 98675 + Identifier 98664 98675 + UnionType 98677 98698 + TypeReference 98677 98686 + Identifier 98677 98686 + UndefinedKeyword 98688 98698 + Block 98698 99317 + IfStatement 98700 98794 + PropertyAccessExpression 98714 98736 + Identifier 98714 98718 + Identifier 98719 98736 + Block 98737 98794 + ReturnStatement 98739 98783 + PropertyAccessExpression 98759 98782 + Identifier 98759 98764 + Identifier 98765 98782 + VariableStatement 98794 98846 + VariableDeclarationList 98794 98845 + VariableDeclaration 98809 98845 + Identifier 98809 98819 + CallExpression 98821 98845 + PropertyAccessExpression 98821 98838 + PropertyAccessExpression 98821 98834 + Identifier 98821 98826 + Identifier 98827 98834 + Identifier 98835 98838 + StringLiteral 98839 98844 + IfStatement 98846 99310 + Identifier 98860 98869 + Block 98870 99310 + VariableStatement 98872 98953 + VariableDeclarationList 98872 98952 + VariableDeclaration 98891 98952 + Identifier 98891 98904 + ConditionalExpression 98906 98952 + CallExpression 98906 98925 + Identifier 98906 98914 + Identifier 98915 98924 + QuestionToken 98925 98927 + ElementAccessExpression 98927 98940 + Identifier 98927 98937 + NumericLiteral 98938 98939 + ColonToken 98940 98942 + Identifier 98942 98952 + ExpressionStatement 98953 99063 + BinaryExpression 98953 99062 + PropertyAccessExpression 98953 98987 + Identifier 98953 98971 + Identifier 98972 98987 + EqualsToken 98987 98989 + CallExpression 98989 99062 + Identifier 98989 99013 + PropertyAccessExpression 99014 99044 + PropertyAccessExpression 99014 99036 + Identifier 99014 99026 + Identifier 99027 99036 + Identifier 99037 99044 + Identifier 99045 99061 + ExpressionStatement 99063 99140 + CallExpression 99063 99139 + Identifier 99063 99086 + PropertyAccessExpression 99087 99107 + Identifier 99087 99091 + Identifier 99092 99107 + Identifier 99108 99124 + Identifier 99125 99138 + IfStatement 99140 99299 + PropertyAccessExpression 99158 99178 + Identifier 99158 99162 + Identifier 99163 99178 + Block 99179 99299 + ReturnStatement 99181 99284 + BinaryExpression 99205 99283 + PropertyAccessExpression 99205 99228 + Identifier 99205 99210 + Identifier 99211 99228 + EqualsToken 99228 99230 + PropertyAccessExpression 99230 99283 + CallExpression 99230 99271 + Identifier 99230 99249 + PropertyAccessExpression 99250 99270 + Identifier 99250 99254 + Identifier 99255 99270 + Identifier 99272 99283 + FunctionDeclaration 99317 99526 + Identifier 99333 99349 + TypeParameter 99350 99364 + Identifier 99350 99351 + TypeReference 99359 99364 + Identifier 99359 99364 + Parameter 99366 99373 + Identifier 99366 99370 + TypeReference 99371 99373 + Identifier 99371 99373 + TypeReference 99375 99390 + Identifier 99375 99387 + TypeReference 99388 99389 + Identifier 99388 99389 + Block 99390 99526 + ExpressionStatement 99392 99435 + CallExpression 99392 99434 + Identifier 99392 99420 + Identifier 99421 99425 + PrefixUnaryExpression 99426 99429 + NumericLiteral 99428 99429 + PrefixUnaryExpression 99430 99433 + NumericLiteral 99432 99433 + ReturnStatement 99435 99519 + CallExpression 99451 99518 + Identifier 99451 99472 + Identifier 99473 99477 + Identifier 99478 99494 + Identifier 99495 99517 + FunctionDeclaration 99526 99937 + Identifier 99542 99558 + Parameter 99559 99581 + Identifier 99559 99569 + TypeReference 99570 99581 + Identifier 99570 99581 + Parameter 99582 99619 + Identifier 99582 99600 + TypeReference 99601 99619 + Identifier 99601 99619 + Parameter 99620 99646 + Identifier 99620 99636 + QuestionToken 99636 99637 + BooleanKeyword 99638 99646 + Block 99647 99937 + IfStatement 99649 99900 + PrefixUnaryExpression 99836 99852 + Identifier 99837 99852 + ExpressionStatement 99853 99900 + CallExpression 99853 99899 + Identifier 99853 99868 + Identifier 99869 99879 + Identifier 99880 99898 + ReturnStatement 99900 99930 + Identifier 99916 99929 + FunctionDeclaration 99937 100467 + Identifier 99953 99972 + Parameter 99973 99999 + Identifier 99973 99981 + UnionType 99982 99999 + TypeReference 99982 99987 + Identifier 99982 99987 + UndefinedKeyword 99989 99999 + Parameter 100000 100027 + Identifier 100000 100008 + TypeReference 100009 100027 + Identifier 100009 100027 + Parameter 100028 100057 + DotDotDotToken 100028 100032 + Identifier 100032 100036 + TypeReference 100037 100057 + Identifier 100037 100057 + TypeReference 100059 100070 + Identifier 100059 100070 + Block 100070 100467 + VariableStatement 100072 100235 + VariableDeclarationList 100072 100234 + VariableDeclaration 100087 100234 + Identifier 100087 100098 + ConditionalExpression 100100 100234 + Identifier 100100 100109 + QuestionToken 100109 100124 + CallExpression 100124 100176 + Identifier 100124 100148 + Identifier 100149 100157 + Identifier 100158 100166 + SpreadElement 100167 100175 + Identifier 100171 100175 + ColonToken 100176 100191 + CallExpression 100191 100234 + Identifier 100191 100216 + Identifier 100217 100224 + SpreadElement 100225 100233 + Identifier 100229 100233 + VariableStatement 100235 100293 + VariableDeclarationList 100235 100292 + VariableDeclaration 100250 100292 + Identifier 100250 100259 + CallExpression 100261 100292 + PropertyAccessExpression 100261 100280 + Identifier 100261 100273 + Identifier 100274 100280 + Identifier 100281 100291 + IfStatement 100293 100460 + Identifier 100307 100315 + Block 100316 100359 + ReturnStatement 100318 100348 + Identifier 100338 100347 + Block 100373 100460 + ExpressionStatement 100375 100417 + CallExpression 100375 100416 + PropertyAccessExpression 100375 100404 + Identifier 100375 100400 + Identifier 100401 100404 + Identifier 100405 100415 + ReturnStatement 100417 100449 + Identifier 100437 100448 + FunctionDeclaration 100467 100761 + Identifier 100483 100498 + Parameter 100499 100525 + Identifier 100499 100502 + TypeOperator 100503 100525 + TypeReference 100509 100525 + Identifier 100509 100525 + Parameter 100526 100553 + Identifier 100526 100535 + UnionType 100536 100553 + TypeReference 100536 100541 + Identifier 100536 100541 + UndefinedKeyword 100543 100553 + Parameter 100554 100581 + Identifier 100554 100562 + TypeReference 100563 100581 + Identifier 100563 100581 + Parameter 100582 100611 + DotDotDotToken 100582 100586 + Identifier 100586 100590 + TypeReference 100591 100611 + Identifier 100591 100611 + TypeReference 100613 100624 + Identifier 100613 100624 + Block 100624 100761 + VariableStatement 100626 100689 + VariableDeclarationList 100626 100688 + VariableDeclaration 100641 100688 + Identifier 100641 100652 + CallExpression 100654 100688 + Identifier 100654 100660 + Identifier 100661 100669 + Identifier 100670 100678 + SpreadElement 100679 100687 + Identifier 100683 100687 + ExpressionStatement 100689 100726 + BinaryExpression 100689 100725 + PropertyAccessExpression 100689 100719 + Identifier 100689 100709 + Identifier 100710 100719 + EqualsToken 100719 100721 + Identifier 100721 100725 + ReturnStatement 100726 100754 + Identifier 100742 100753 + FunctionDeclaration 100761 101047 + Identifier 100777 100789 + Parameter 100790 100816 + Identifier 100790 100798 + UnionType 100799 100816 + TypeReference 100799 100804 + Identifier 100799 100804 + UndefinedKeyword 100806 100816 + Parameter 100817 100844 + Identifier 100817 100825 + TypeReference 100826 100844 + Identifier 100826 100844 + Parameter 100845 100874 + DotDotDotToken 100845 100849 + Identifier 100849 100853 + TypeReference 100854 100874 + Identifier 100854 100874 + TypeReference 100876 100887 + Identifier 100876 100887 + Block 100887 101047 + ReturnStatement 100889 101040 + ConditionalExpression 100905 101039 + Identifier 100905 100914 + QuestionToken 100914 100929 + CallExpression 100929 100981 + Identifier 100929 100953 + Identifier 100954 100962 + Identifier 100963 100971 + SpreadElement 100972 100980 + Identifier 100976 100980 + ColonToken 100981 100996 + CallExpression 100996 101039 + Identifier 100996 101021 + Identifier 101022 101029 + SpreadElement 101030 101038 + Identifier 101034 101038 + FunctionDeclaration 101047 101311 + Identifier 101063 101069 + Parameter 101070 101096 + Identifier 101070 101078 + UnionType 101079 101096 + TypeReference 101079 101084 + Identifier 101079 101084 + UndefinedKeyword 101086 101096 + Parameter 101097 101124 + Identifier 101097 101105 + TypeReference 101106 101124 + Identifier 101106 101124 + Parameter 101125 101154 + DotDotDotToken 101125 101129 + Identifier 101129 101133 + TypeReference 101134 101154 + Identifier 101134 101154 + TypeReference 101156 101167 + Identifier 101156 101167 + Block 101167 101311 + VariableStatement 101169 101238 + VariableDeclarationList 101169 101237 + VariableDeclaration 101184 101237 + Identifier 101184 101195 + CallExpression 101197 101237 + Identifier 101197 101209 + Identifier 101210 101218 + Identifier 101219 101227 + SpreadElement 101228 101236 + Identifier 101232 101236 + ExpressionStatement 101238 101276 + CallExpression 101238 101275 + PropertyAccessExpression 101238 101263 + Identifier 101238 101259 + Identifier 101260 101263 + Identifier 101264 101274 + ReturnStatement 101276 101304 + Identifier 101292 101303 + FunctionDeclaration 101311 101603 + Identifier 101327 101348 + Parameter 101349 101365 + Identifier 101349 101356 + BooleanKeyword 101357 101365 + Parameter 101366 101389 + Identifier 101366 101377 + TypeReference 101378 101389 + Identifier 101378 101389 + Block 101390 101603 + IfStatement 101392 101596 + Identifier 101406 101413 + Block 101414 101469 + ExpressionStatement 101416 101458 + CallExpression 101416 101457 + PropertyAccessExpression 101416 101445 + Identifier 101416 101441 + Identifier 101442 101445 + Identifier 101446 101456 + Block 101483 101596 + ExpressionStatement 101485 101585 + CallExpression 101485 101584 + PropertyAccessExpression 101485 101524 + Identifier 101485 101520 + Identifier 101521 101524 + ObjectLiteralExpression 101525 101583 + SpreadAssignment 101526 101540 + Identifier 101530 101540 + PropertyAssignment 101541 101581 + Identifier 101541 101550 + PropertyAccessExpression 101551 101581 + Identifier 101551 101570 + Identifier 101571 101581 + FunctionDeclaration 101603 102582 + Identifier 101617 101635 + Parameter 101636 101652 + Identifier 101636 101643 + BooleanKeyword 101644 101652 + Parameter 101653 101668 + Identifier 101653 101662 + TypeReference 101663 101668 + Identifier 101663 101668 + Parameter 101669 101721 + Identifier 101669 101677 + UnionType 101678 101721 + TypeReference 101678 101696 + Identifier 101678 101696 + TypeReference 101698 101721 + Identifier 101698 101721 + Parameter 101722 101751 + DotDotDotToken 101722 101726 + Identifier 101726 101730 + TypeReference 101731 101751 + Identifier 101731 101751 + VoidKeyword 101753 101758 + Block 101758 102582 + IfStatement 101760 102323 + BinaryExpression 101816 101852 + BinaryExpression 101816 101832 + PropertyAccessExpression 101816 101828 + Identifier 101816 101824 + Identifier 101825 101828 + LessThanToken 101828 101830 + NumericLiteral 101830 101832 + BarBarToken 101832 101835 + BinaryExpression 101835 101852 + PropertyAccessExpression 101835 101848 + Identifier 101835 101844 + Identifier 101845 101848 + LessThanToken 101848 101850 + NumericLiteral 101850 101852 + Block 101853 102323 + IfStatement 101855 101976 + PrefixUnaryExpression 101873 101881 + Identifier 101874 101881 + Block 101882 101976 + ReturnStatement 101884 101909 + VariableStatement 101976 102071 + VariableDeclarationList 101976 102070 + VariableDeclaration 102033 102070 + Identifier 102033 102038 + CallExpression 102040 102070 + Identifier 102040 102060 + Identifier 102061 102069 + ExpressionStatement 102071 102247 + CallExpression 102071 102246 + Identifier 102071 102105 + Identifier 102106 102113 + ConditionalExpression 102114 102245 + BinaryExpression 102114 102135 + StringLiteral 102114 102124 + InKeyword 102124 102127 + Identifier 102127 102135 + QuestionToken 102135 102137 + CallExpression 102137 102188 + Identifier 102137 102158 + Identifier 102159 102163 + NumericLiteral 102164 102166 + NumericLiteral 102167 102169 + Identifier 102170 102178 + SpreadElement 102179 102187 + Identifier 102183 102187 + ColonToken 102188 102190 + CallExpression 102190 102245 + Identifier 102190 102230 + Identifier 102231 102235 + Identifier 102236 102244 + ReturnStatement 102247 102312 + ExpressionStatement 102323 102531 + CallExpression 102323 102530 + Identifier 102323 102353 + Identifier 102354 102361 + ConditionalExpression 102362 102529 + BinaryExpression 102362 102383 + StringLiteral 102362 102372 + InKeyword 102372 102375 + Identifier 102375 102383 + QuestionToken 102383 102385 + CallExpression 102385 102437 + Identifier 102385 102409 + Identifier 102410 102418 + Identifier 102419 102427 + SpreadElement 102428 102436 + Identifier 102432 102436 + ColonToken 102437 102439 + CallExpression 102439 102529 + Identifier 102439 102479 + CallExpression 102480 102509 + Identifier 102480 102499 + Identifier 102500 102508 + Identifier 102510 102519 + Identifier 102520 102528 + FunctionDeclaration 102582 103081 + Identifier 102598 102624 + Parameter 102625 102649 + Identifier 102625 102643 + TypeReference 102644 102649 + Identifier 102644 102649 + Parameter 102650 102686 + Identifier 102650 102677 + BooleanKeyword 102678 102686 + Parameter 102687 102723 + Identifier 102687 102704 + TypeReference 102705 102723 + Identifier 102705 102723 + Parameter 102724 102762 + DotDotDotToken 102724 102737 + Identifier 102737 102741 + TypeReference 102742 102762 + Identifier 102742 102762 + TypeReference 102770 102781 + Identifier 102770 102781 + Block 102781 103081 + VariableStatement 102783 102846 + VariableDeclarationList 102783 102845 + VariableDeclaration 102798 102845 + Identifier 102798 102809 + CallExpression 102811 102845 + Identifier 102811 102817 + Identifier 102818 102826 + Identifier 102827 102835 + SpreadElement 102836 102844 + Identifier 102840 102844 + IfStatement 102846 103046 + Identifier 102860 102877 + Block 102878 103046 + VariableStatement 102880 102985 + VariableDeclarationList 102880 102984 + VariableDeclaration 102899 102984 + Identifier 102899 102907 + CallExpression 102909 102984 + Identifier 102909 102933 + Identifier 102934 102942 + PropertyAccessExpression 102943 102983 + Identifier 102943 102955 + Identifier 102956 102983 + ExpressionStatement 102985 103035 + CallExpression 102985 103034 + Identifier 102985 103013 + Identifier 103014 103024 + Identifier 103025 103033 + ReturnStatement 103046 103074 + Identifier 103062 103073 + FunctionDeclaration 103081 103744 + Identifier 103097 103127 + Parameter 103128 103155 + Identifier 103128 103140 + UnionType 103141 103155 + TypeReference 103141 103146 + Identifier 103141 103146 + ArrayType 103148 103155 + TypeReference 103148 103153 + Identifier 103148 103153 + Parameter 103156 103191 + Identifier 103156 103167 + TypeReference 103168 103191 + Identifier 103168 103191 + Block 103192 103744 + VariableStatement 103194 103339 + VariableDeclarationList 103194 103338 + VariableDeclaration 103209 103338 + Identifier 103209 103223 + ConditionalExpression 103225 103338 + CallExpression 103225 103253 + PropertyAccessExpression 103225 103239 + Identifier 103225 103231 + Identifier 103232 103239 + Identifier 103240 103252 + QuestionToken 103253 103255 + CallExpression 103255 103300 + Identifier 103255 103263 + Identifier 103264 103276 + Identifier 103277 103299 + ColonToken 103300 103302 + CallExpression 103302 103338 + Identifier 103302 103324 + Identifier 103325 103337 + IfStatement 103339 103570 + Identifier 103353 103366 + Block 103367 103570 + ExpressionStatement 103369 103559 + CallExpression 103369 103558 + Identifier 103369 103397 + Identifier 103398 103426 + CallExpression 103427 103542 + Identifier 103427 103468 + Identifier 103469 103482 + PropertyAccessExpression 103483 103541 + Identifier 103483 103495 + Identifier 103496 103541 + ExpressionStatement 103570 103709 + CallExpression 103570 103708 + PropertyAccessExpression 103570 103696 + Identifier 103570 103692 + Identifier 103693 103696 + Identifier 103697 103707 + ReturnStatement 103709 103737 + Identifier 103725 103736 + FunctionDeclaration 103744 104301 + Identifier 103760 103779 + Parameter 103780 103794 + Identifier 103780 103786 + TypeReference 103787 103794 + Identifier 103787 103794 + Block 103795 104301 + VariableStatement 103797 103854 + VariableDeclarationList 103797 103853 + VariableDeclaration 103812 103853 + Identifier 103812 103825 + CallExpression 103827 103853 + Identifier 103827 103845 + Identifier 103846 103852 + IfStatement 103854 104100 + BinaryExpression 103868 103915 + Identifier 103868 103880 + AmpersandAmpersandToken 103880 103883 + BinaryExpression 103883 103915 + CallExpression 103883 103911 + Identifier 103883 103890 + PropertyAccessExpression 103891 103910 + Identifier 103891 103897 + Identifier 103898 103910 + GreaterThanToken 103911 103913 + NumericLiteral 103913 103915 + Block 103916 104100 + ReturnStatement 103918 104089 + ConditionalExpression 103938 104088 + BinaryExpression 103938 103981 + PropertyAccessExpression 103938 103957 + Identifier 103938 103951 + Identifier 103952 103957 + AmpersandToken 103957 103959 + PropertyAccessExpression 103959 103981 + Identifier 103959 103971 + Identifier 103972 103981 + QuestionToken 103981 103983 + CallExpression 103983 104034 + Identifier 103983 103988 + PropertyAccessExpression 103989 104008 + Identifier 103989 103995 + Identifier 103996 104008 + Identifier 104009 104033 + ColonToken 104034 104036 + CallExpression 104036 104088 + Identifier 104036 104042 + PropertyAccessExpression 104043 104062 + Identifier 104043 104049 + Identifier 104050 104062 + Identifier 104063 104087 + ReturnStatement 104100 104294 + BinaryExpression 104116 104293 + BinaryExpression 104116 104194 + PrefixUnaryExpression 104116 104142 + PrefixUnaryExpression 104118 104142 + PropertyAccessExpression 104119 104142 + Identifier 104119 104125 + Identifier 104126 104142 + AmpersandAmpersandToken 104142 104145 + CallExpression 104145 104194 + Identifier 104145 104169 + PropertyAccessExpression 104170 104193 + Identifier 104170 104176 + Identifier 104177 104193 + BarBarToken 104194 104210 + BinaryExpression 104210 104293 + CallExpression 104210 104238 + Identifier 104210 104217 + PropertyAccessExpression 104218 104237 + Identifier 104218 104224 + Identifier 104225 104237 + AmpersandAmpersandToken 104238 104241 + CallExpression 104241 104293 + Identifier 104241 104247 + PropertyAccessExpression 104248 104267 + Identifier 104248 104254 + Identifier 104255 104267 + Identifier 104268 104292 + FunctionDeclaration 104301 104460 + Identifier 104317 104341 + Parameter 104342 104366 + Identifier 104342 104353 + TypeReference 104354 104366 + Identifier 104354 104366 + Block 104367 104460 + ReturnStatement 104369 104453 + PrefixUnaryExpression 104385 104452 + PrefixUnaryExpression 104387 104452 + ParenthesizedExpression 104388 104452 + BinaryExpression 104389 104451 + CallExpression 104389 104428 + Identifier 104389 104415 + Identifier 104416 104427 + AmpersandToken 104428 104430 + PropertyAccessExpression 104430 104451 + Identifier 104430 104440 + Identifier 104441 104451 + FunctionDeclaration 104460 104757 + Identifier 104476 104500 + Parameter 104501 104515 + Identifier 104501 104509 + TypeReference 104510 104515 + Identifier 104510 104515 + Parameter 104516 104537 + Identifier 104516 104529 + ArrayType 104530 104537 + TypeReference 104530 104535 + Identifier 104530 104535 + Parameter 104538 104563 + Identifier 104538 104555 + StringKeyword 104556 104563 + Block 104564 104757 + VariableStatement 104566 104677 + VariableDeclarationList 104566 104676 + VariableDeclaration 104581 104676 + Identifier 104581 104592 + CallExpression 104594 104676 + Identifier 104594 104618 + Identifier 104619 104627 + PropertyAccessExpression 104628 104657 + Identifier 104628 104640 + Identifier 104641 104657 + Identifier 104658 104675 + ReturnStatement 104677 104750 + CallExpression 104693 104749 + Identifier 104693 104723 + Identifier 104724 104736 + Identifier 104737 104748 + FunctionDeclaration 104757 105263 + Identifier 104773 104810 + Parameter 104811 104825 + Identifier 104811 104819 + TypeReference 104820 104825 + Identifier 104820 104825 + Parameter 104826 104844 + Identifier 104826 104838 + TypeReference 104839 104844 + Identifier 104839 104844 + Parameter 104845 104882 + Identifier 104845 104862 + UnionType 104863 104882 + StringKeyword 104863 104870 + UndefinedKeyword 104872 104882 + Parameter 104883 104907 + Identifier 104883 104899 + StringKeyword 104900 104907 + Block 104908 105263 + VariableStatement 104910 105184 + VariableDeclarationList 104910 105183 + VariableDeclaration 104925 105183 + Identifier 104925 104936 + ConditionalExpression 104938 105183 + Identifier 104938 104955 + QuestionToken 104955 104970 + CallExpression 104970 105087 + Identifier 104970 104994 + Identifier 104995 105003 + PropertyAccessExpression 105004 105051 + Identifier 105004 105016 + Identifier 105017 105051 + Identifier 105052 105068 + Identifier 105069 105086 + ColonToken 105087 105102 + CallExpression 105102 105183 + Identifier 105102 105126 + Identifier 105127 105135 + PropertyAccessExpression 105136 105165 + Identifier 105136 105148 + Identifier 105149 105165 + Identifier 105166 105182 + ReturnStatement 105184 105256 + CallExpression 105200 105255 + Identifier 105200 105230 + Identifier 105231 105242 + Identifier 105243 105254 + FunctionDeclaration 105263 105635 + Identifier 105279 105292 + Parameter 105293 105311 + Identifier 105293 105298 + TypeReference 105299 105311 + Identifier 105299 105311 + Parameter 105312 105327 + Identifier 105312 105317 + TypeReference 105318 105327 + Identifier 105318 105327 + Parameter 105328 105352 + Identifier 105328 105339 + QuestionToken 105339 105340 + TypeReference 105341 105352 + Identifier 105341 105352 + Block 105353 105635 + ExpressionStatement 105355 105379 + PostfixUnaryExpression 105355 105378 + Identifier 105355 105376 + VariableStatement 105379 105471 + VariableDeclarationList 105379 105470 + VariableDeclaration 105394 105470 + Identifier 105394 105401 + AsExpression 105403 105470 + NewExpression 105403 105451 + Identifier 105407 105414 + BinaryExpression 105415 105444 + Identifier 105415 105420 + BarToken 105420 105422 + PropertyAccessExpression 105422 105444 + Identifier 105422 105434 + Identifier 105435 105444 + Identifier 105445 105450 + TypeReference 105454 105470 + Identifier 105454 105470 + ExpressionStatement 105471 105538 + BinaryExpression 105471 105537 + PropertyAccessExpression 105471 105493 + Identifier 105471 105487 + Identifier 105488 105493 + EqualsToken 105493 105495 + AsExpression 105495 105537 + NewExpression 105495 105513 + Identifier 105499 105511 + TypeReference 105516 105537 + Identifier 105516 105537 + ExpressionStatement 105538 105604 + BinaryExpression 105538 105603 + PropertyAccessExpression 105538 105571 + PropertyAccessExpression 105538 105560 + Identifier 105538 105554 + Identifier 105555 105560 + Identifier 105561 105571 + EqualsToken 105571 105573 + BinaryExpression 105573 105603 + Identifier 105573 105584 + BarBarToken 105584 105587 + PropertyAccessExpression 105587 105603 + Identifier 105587 105598 + Identifier 105599 105603 + ReturnStatement 105604 105628 + Identifier 105620 105627 + FunctionDeclaration 105635 105843 + Identifier 105651 105667 + Parameter 105668 105682 + Identifier 105668 105672 + TypeReference 105673 105682 + Identifier 105673 105682 + Parameter 105683 105694 + Identifier 105683 105688 + TypeReference 105689 105694 + Identifier 105689 105694 + Block 105695 105843 + VariableStatement 105697 105777 + VariableDeclarationList 105697 105776 + VariableDeclaration 105712 105776 + Identifier 105712 105719 + CallExpression 105721 105776 + Identifier 105721 105734 + PropertyAccessExpression 105735 105769 + Identifier 105735 105746 + Identifier 105747 105769 + Identifier 105770 105775 + ExpressionStatement 105777 105812 + BinaryExpression 105777 105811 + PropertyAccessExpression 105777 105804 + PropertyAccessExpression 105777 105799 + Identifier 105777 105793 + Identifier 105794 105799 + Identifier 105800 105804 + EqualsToken 105804 105806 + Identifier 105806 105811 + ReturnStatement 105812 105836 + Identifier 105828 105835 + FunctionDeclaration 105843 106036 + Identifier 105859 105874 + Parameter 105875 105889 + Identifier 105875 105879 + TypeReference 105880 105889 + Identifier 105880 105889 + Parameter 105890 105901 + Identifier 105890 105895 + TypeReference 105896 105901 + Identifier 105896 105901 + Block 105902 106036 + VariableStatement 105904 105970 + VariableDeclarationList 105904 105969 + VariableDeclaration 105919 105969 + Identifier 105919 105926 + CallExpression 105928 105969 + Identifier 105928 105941 + PropertyAccessExpression 105942 105962 + Identifier 105942 105953 + Identifier 105954 105962 + Identifier 105963 105968 + ExpressionStatement 105970 106005 + BinaryExpression 105970 106004 + PropertyAccessExpression 105970 105997 + PropertyAccessExpression 105970 105992 + Identifier 105970 105986 + Identifier 105987 105992 + Identifier 105993 105997 + EqualsToken 105997 105999 + Identifier 105999 106004 + ReturnStatement 106005 106029 + Identifier 106021 106028 + FunctionDeclaration 106036 107585 + Identifier 106052 106075 + Parameter 106076 106094 + Identifier 106076 106081 + TypeReference 106082 106094 + Identifier 106082 106094 + TypeReference 106096 106108 + Identifier 106096 106108 + Block 106108 107585 + VariableStatement 106110 106148 + VariableDeclarationList 106110 106147 + VariableDeclaration 106123 106147 + Identifier 106123 106130 + TypeReference 106131 106143 + Identifier 106131 106143 + NumericLiteral 106145 106147 + IfStatement 106148 106253 + BinaryExpression 106162 106201 + Identifier 106162 106167 + AmpersandToken 106167 106169 + PropertyAccessExpression 106169 106201 + Identifier 106169 106181 + Identifier 106182 106201 + ExpressionStatement 106202 106253 + BinaryExpression 106202 106252 + Identifier 106202 106209 + BarEqualsToken 106209 106212 + PropertyAccessExpression 106212 106252 + Identifier 106212 106224 + Identifier 106225 106252 + IfStatement 106253 106364 + BinaryExpression 106267 106309 + Identifier 106267 106272 + AmpersandToken 106272 106274 + PropertyAccessExpression 106274 106309 + Identifier 106274 106286 + Identifier 106287 106309 + ExpressionStatement 106310 106364 + BinaryExpression 106310 106363 + Identifier 106310 106317 + BarEqualsToken 106317 106320 + PropertyAccessExpression 106320 106363 + Identifier 106320 106332 + Identifier 106333 106363 + IfStatement 106364 106447 + BinaryExpression 106378 106406 + Identifier 106378 106383 + AmpersandToken 106383 106385 + PropertyAccessExpression 106385 106406 + Identifier 106385 106397 + Identifier 106398 106406 + ExpressionStatement 106407 106447 + BinaryExpression 106407 106446 + Identifier 106407 106414 + BarEqualsToken 106414 106417 + PropertyAccessExpression 106417 106446 + Identifier 106417 106429 + Identifier 106430 106446 + IfStatement 106447 106534 + BinaryExpression 106461 106491 + Identifier 106461 106466 + AmpersandToken 106466 106468 + PropertyAccessExpression 106468 106491 + Identifier 106468 106480 + Identifier 106481 106491 + ExpressionStatement 106492 106534 + BinaryExpression 106492 106533 + Identifier 106492 106499 + BarEqualsToken 106499 106502 + PropertyAccessExpression 106502 106533 + Identifier 106502 106514 + Identifier 106515 106533 + IfStatement 106534 106617 + BinaryExpression 106548 106576 + Identifier 106548 106553 + AmpersandToken 106553 106555 + PropertyAccessExpression 106555 106576 + Identifier 106555 106567 + Identifier 106568 106576 + ExpressionStatement 106577 106617 + BinaryExpression 106577 106616 + Identifier 106577 106584 + BarEqualsToken 106584 106587 + PropertyAccessExpression 106587 106616 + Identifier 106587 106599 + Identifier 106600 106616 + IfStatement 106617 106694 + BinaryExpression 106631 106656 + Identifier 106631 106636 + AmpersandToken 106636 106638 + PropertyAccessExpression 106638 106656 + Identifier 106638 106650 + Identifier 106651 106656 + ExpressionStatement 106657 106694 + BinaryExpression 106657 106693 + Identifier 106657 106664 + BarEqualsToken 106664 106667 + PropertyAccessExpression 106667 106693 + Identifier 106667 106679 + Identifier 106680 106693 + IfStatement 106694 106779 + BinaryExpression 106708 106737 + Identifier 106708 106713 + AmpersandToken 106713 106715 + PropertyAccessExpression 106715 106737 + Identifier 106715 106727 + Identifier 106728 106737 + ExpressionStatement 106738 106779 + BinaryExpression 106738 106778 + Identifier 106738 106745 + BarEqualsToken 106745 106748 + PropertyAccessExpression 106748 106778 + Identifier 106748 106760 + Identifier 106761 106778 + IfStatement 106779 106868 + BinaryExpression 106793 106824 + Identifier 106793 106798 + AmpersandToken 106798 106800 + PropertyAccessExpression 106800 106824 + Identifier 106800 106812 + Identifier 106813 106824 + ExpressionStatement 106825 106868 + BinaryExpression 106825 106867 + Identifier 106825 106832 + BarEqualsToken 106832 106835 + PropertyAccessExpression 106835 106867 + Identifier 106835 106847 + Identifier 106848 106867 + IfStatement 106868 106953 + BinaryExpression 106882 106911 + Identifier 106882 106887 + AmpersandToken 106887 106889 + PropertyAccessExpression 106889 106911 + Identifier 106889 106901 + Identifier 106902 106911 + ExpressionStatement 106912 106953 + BinaryExpression 106912 106952 + Identifier 106912 106919 + BarEqualsToken 106919 106922 + PropertyAccessExpression 106922 106952 + Identifier 106922 106934 + Identifier 106935 106952 + IfStatement 106953 107042 + BinaryExpression 106967 106998 + Identifier 106967 106972 + AmpersandToken 106972 106974 + PropertyAccessExpression 106974 106998 + Identifier 106974 106986 + Identifier 106987 106998 + ExpressionStatement 106999 107042 + BinaryExpression 106999 107041 + Identifier 106999 107006 + BarEqualsToken 107006 107009 + PropertyAccessExpression 107009 107041 + Identifier 107009 107021 + Identifier 107022 107041 + IfStatement 107042 107121 + BinaryExpression 107056 107082 + Identifier 107056 107061 + AmpersandToken 107061 107063 + PropertyAccessExpression 107063 107082 + Identifier 107063 107075 + Identifier 107076 107082 + ExpressionStatement 107083 107121 + BinaryExpression 107083 107120 + Identifier 107083 107090 + BarEqualsToken 107090 107093 + PropertyAccessExpression 107093 107120 + Identifier 107093 107105 + Identifier 107106 107120 + IfStatement 107121 107210 + BinaryExpression 107135 107166 + Identifier 107135 107140 + AmpersandToken 107140 107142 + PropertyAccessExpression 107142 107166 + Identifier 107142 107154 + Identifier 107155 107166 + ExpressionStatement 107167 107210 + BinaryExpression 107167 107209 + Identifier 107167 107174 + BarEqualsToken 107174 107177 + PropertyAccessExpression 107177 107209 + Identifier 107177 107189 + Identifier 107190 107209 + IfStatement 107210 107299 + BinaryExpression 107224 107255 + Identifier 107224 107229 + AmpersandToken 107229 107231 + PropertyAccessExpression 107231 107255 + Identifier 107231 107243 + Identifier 107244 107255 + ExpressionStatement 107256 107299 + BinaryExpression 107256 107298 + Identifier 107256 107263 + BarEqualsToken 107263 107266 + PropertyAccessExpression 107266 107298 + Identifier 107266 107278 + Identifier 107279 107298 + IfStatement 107299 107392 + BinaryExpression 107313 107346 + Identifier 107313 107318 + AmpersandToken 107318 107320 + PropertyAccessExpression 107320 107346 + Identifier 107320 107332 + Identifier 107333 107346 + ExpressionStatement 107347 107392 + BinaryExpression 107347 107391 + Identifier 107347 107354 + BarEqualsToken 107354 107357 + PropertyAccessExpression 107357 107391 + Identifier 107357 107369 + Identifier 107370 107391 + IfStatement 107392 107477 + BinaryExpression 107406 107435 + Identifier 107406 107411 + AmpersandToken 107411 107413 + PropertyAccessExpression 107413 107435 + Identifier 107413 107425 + Identifier 107426 107435 + ExpressionStatement 107436 107477 + BinaryExpression 107436 107476 + Identifier 107436 107443 + BarEqualsToken 107443 107446 + PropertyAccessExpression 107446 107476 + Identifier 107446 107458 + Identifier 107459 107476 + IfStatement 107477 107554 + BinaryExpression 107491 107516 + Identifier 107491 107496 + AmpersandToken 107496 107498 + PropertyAccessExpression 107498 107516 + Identifier 107498 107510 + Identifier 107511 107516 + ExpressionStatement 107517 107554 + BinaryExpression 107517 107553 + Identifier 107517 107524 + BarEqualsToken 107524 107527 + PropertyAccessExpression 107527 107553 + Identifier 107527 107539 + Identifier 107540 107553 + ReturnStatement 107554 107578 + Identifier 107570 107577 + FunctionDeclaration 107585 107824 + Identifier 107601 107620 + Parameter 107621 107635 + Identifier 107621 107627 + TypeReference 107628 107635 + Identifier 107628 107635 + Parameter 107636 107651 + Identifier 107636 107643 + TypeReference 107644 107651 + Identifier 107644 107651 + Block 107652 107824 + IfStatement 107654 107768 + PrefixUnaryExpression 107668 107683 + PropertyAccessExpression 107669 107683 + Identifier 107669 107675 + Identifier 107676 107683 + Block 107684 107768 + ExpressionStatement 107686 107729 + BinaryExpression 107686 107728 + PropertyAccessExpression 107686 107714 + Identifier 107686 107706 + Identifier 107707 107714 + EqualsToken 107714 107716 + Identifier 107716 107728 + ExpressionStatement 107729 107757 + PostfixUnaryExpression 107729 107756 + Identifier 107729 107754 + ExpressionStatement 107768 107817 + BinaryExpression 107768 107816 + ElementAccessExpression 107768 107807 + Identifier 107768 107791 + PropertyAccessExpression 107792 107806 + Identifier 107792 107798 + Identifier 107799 107806 + EqualsToken 107807 107809 + Identifier 107809 107816 + FunctionDeclaration 107824 108469 + Identifier 107840 107852 + Parameter 107853 107867 + Identifier 107853 107859 + TypeReference 107860 107867 + Identifier 107860 107867 + TypeReference 107869 107885 + Identifier 107869 107885 + Block 107885 108469 + VariableStatement 107887 107959 + VariableDeclarationList 107887 107958 + VariableDeclaration 107902 107958 + Identifier 107902 107909 + CallExpression 107911 107958 + Identifier 107911 107924 + PropertyAccessExpression 107925 107937 + Identifier 107925 107931 + Identifier 107932 107937 + PropertyAccessExpression 107938 107957 + Identifier 107938 107945 + Identifier 107946 107957 + ExpressionStatement 107959 108046 + BinaryExpression 107959 108045 + PropertyAccessExpression 107959 107988 + Identifier 107959 107975 + Identifier 107976 107988 + EqualsToken 107988 107990 + ConditionalExpression 107990 108045 + PropertyAccessExpression 107990 108010 + Identifier 107990 107997 + Identifier 107998 108010 + QuestionToken 108010 108012 + CallExpression 108012 108040 + PropertyAccessExpression 108012 108038 + PropertyAccessExpression 108012 108032 + Identifier 108012 108019 + Identifier 108020 108032 + Identifier 108033 108038 + ColonToken 108040 108042 + ArrayLiteralExpression 108042 108045 + ExpressionStatement 108046 108086 + BinaryExpression 108046 108085 + PropertyAccessExpression 108046 108069 + Identifier 108046 108062 + Identifier 108063 108069 + EqualsToken 108069 108071 + PropertyAccessExpression 108071 108085 + Identifier 108071 108078 + Identifier 108079 108085 + IfStatement 108086 108175 + PropertyAccessExpression 108100 108123 + Identifier 108100 108106 + Identifier 108107 108123 + ExpressionStatement 108124 108175 + BinaryExpression 108124 108174 + PropertyAccessExpression 108124 108148 + Identifier 108124 108131 + Identifier 108132 108148 + EqualsToken 108148 108150 + PropertyAccessExpression 108150 108174 + Identifier 108150 108157 + Identifier 108158 108174 + IfStatement 108175 108251 + PropertyAccessExpression 108189 108215 + Identifier 108189 108195 + Identifier 108196 108215 + ExpressionStatement 108216 108251 + BinaryExpression 108216 108250 + PropertyAccessExpression 108216 108243 + Identifier 108216 108223 + Identifier 108224 108243 + EqualsToken 108243 108245 + TrueKeyword 108245 108250 + IfStatement 108251 108322 + PropertyAccessExpression 108265 108279 + Identifier 108265 108271 + Identifier 108272 108279 + ExpressionStatement 108280 108322 + BinaryExpression 108280 108321 + PropertyAccessExpression 108280 108295 + Identifier 108280 108287 + Identifier 108288 108295 + EqualsToken 108295 108297 + NewExpression 108297 108321 + Identifier 108301 108305 + PropertyAccessExpression 108306 108320 + Identifier 108306 108312 + Identifier 108313 108320 + IfStatement 108322 108393 + PropertyAccessExpression 108336 108350 + Identifier 108336 108342 + Identifier 108343 108350 + ExpressionStatement 108351 108393 + BinaryExpression 108351 108392 + PropertyAccessExpression 108351 108366 + Identifier 108351 108358 + Identifier 108359 108366 + EqualsToken 108366 108368 + NewExpression 108368 108392 + Identifier 108372 108376 + PropertyAccessExpression 108377 108391 + Identifier 108377 108383 + Identifier 108384 108391 + ExpressionStatement 108393 108438 + CallExpression 108393 108437 + Identifier 108393 108421 + Identifier 108422 108428 + Identifier 108429 108436 + ReturnStatement 108438 108462 + Identifier 108454 108461 + FunctionDeclaration 108469 114804 + Identifier 108716 108728 + Parameter 108729 108743 + Identifier 108729 108735 + TypeReference 108736 108743 + Identifier 108736 108743 + Parameter 108744 108759 + Identifier 108744 108751 + TypeReference 108752 108759 + Identifier 108752 108759 + Parameter 108760 108783 + Identifier 108760 108775 + FalseKeyword 108777 108783 + TypeReference 108785 108792 + Identifier 108785 108792 + Block 108792 114804 + IfStatement 108794 111929 + BinaryExpression 108808 108947 + PrefixUnaryExpression 108808 108876 + ParenthesizedExpression 108823 108876 + BinaryExpression 108824 108875 + PropertyAccessExpression 108824 108836 + Identifier 108824 108830 + Identifier 108831 108836 + AmpersandToken 108836 108838 + CallExpression 108838 108875 + Identifier 108838 108861 + PropertyAccessExpression 108862 108874 + Identifier 108862 108868 + Identifier 108869 108874 + BarBarToken 108876 108879 + BinaryExpression 108879 108947 + ParenthesizedExpression 108879 108922 + BinaryExpression 108894 108921 + PropertyAccessExpression 108894 108906 + Identifier 108894 108900 + Identifier 108901 108906 + BarToken 108906 108908 + PropertyAccessExpression 108908 108921 + Identifier 108908 108915 + Identifier 108916 108921 + AmpersandToken 108922 108924 + PropertyAccessExpression 108924 108947 + Identifier 108924 108936 + Identifier 108937 108947 + Block 108958 111174 + IfStatement 108960 109261 + BinaryExpression 108978 108995 + Identifier 108978 108984 + EqualsEqualsEqualsToken 108984 108988 + Identifier 108988 108995 + Block 108996 109261 + ReturnStatement 108998 109246 + Identifier 109238 109245 + IfStatement 109261 109943 + PrefixUnaryExpression 109279 109318 + ParenthesizedExpression 109280 109318 + BinaryExpression 109281 109317 + PropertyAccessExpression 109281 109293 + Identifier 109281 109287 + Identifier 109288 109293 + AmpersandToken 109293 109295 + PropertyAccessExpression 109295 109317 + Identifier 109295 109307 + Identifier 109308 109317 + Block 109319 109943 + VariableStatement 109321 109384 + VariableDeclarationList 109321 109383 + VariableDeclaration 109344 109383 + Identifier 109344 109359 + CallExpression 109361 109383 + Identifier 109361 109375 + Identifier 109376 109382 + IfStatement 109384 109496 + BinaryExpression 109406 109438 + Identifier 109406 109420 + EqualsEqualsEqualsToken 109420 109424 + Identifier 109424 109438 + Block 109439 109496 + ReturnStatement 109441 109477 + Identifier 109469 109476 + IfStatement 109496 109928 + BinaryExpression 109518 109689 + PrefixUnaryExpression 109518 109602 + ParenthesizedExpression 109541 109602 + BinaryExpression 109542 109601 + PropertyAccessExpression 109542 109562 + Identifier 109542 109556 + Identifier 109557 109562 + AmpersandToken 109562 109564 + CallExpression 109564 109601 + Identifier 109564 109587 + PropertyAccessExpression 109588 109600 + Identifier 109588 109594 + Identifier 109595 109600 + BarBarToken 109602 109605 + BinaryExpression 109605 109689 + ParenthesizedExpression 109605 109664 + BinaryExpression 109628 109663 + PropertyAccessExpression 109628 109640 + Identifier 109628 109634 + Identifier 109635 109640 + BarToken 109640 109642 + PropertyAccessExpression 109642 109663 + Identifier 109642 109657 + Identifier 109658 109663 + AmpersandToken 109664 109666 + PropertyAccessExpression 109666 109689 + Identifier 109666 109678 + Identifier 109679 109689 + Block 109708 109788 + ExpressionStatement 109710 109769 + BinaryExpression 109710 109768 + Identifier 109710 109738 + EqualsToken 109738 109740 + CallExpression 109740 109768 + Identifier 109740 109752 + Identifier 109753 109767 + Block 109810 109928 + ExpressionStatement 109812 109873 + CallExpression 109812 109872 + Identifier 109812 109856 + Identifier 109857 109863 + Identifier 109864 109871 + ReturnStatement 109873 109909 + Identifier 109901 109908 + IfStatement 109943 110395 + BinaryExpression 110075 110216 + BinaryExpression 110075 110185 + BinaryExpression 110075 110155 + BinaryExpression 110075 110113 + PropertyAccessExpression 110075 110087 + Identifier 110075 110081 + Identifier 110082 110087 + AmpersandToken 110087 110089 + PropertyAccessExpression 110089 110113 + Identifier 110089 110101 + Identifier 110102 110113 + AmpersandAmpersandToken 110113 110116 + BinaryExpression 110116 110155 + PropertyAccessExpression 110116 110129 + Identifier 110116 110123 + Identifier 110124 110129 + AmpersandToken 110129 110131 + PropertyAccessExpression 110131 110155 + Identifier 110131 110143 + Identifier 110144 110155 + AmpersandAmpersandToken 110155 110158 + PropertyAccessExpression 110158 110185 + Identifier 110158 110165 + Identifier 110166 110185 + AmpersandAmpersandToken 110185 110188 + PrefixUnaryExpression 110188 110216 + PropertyAccessExpression 110190 110216 + Identifier 110190 110196 + Identifier 110197 110216 + Block 110217 110395 + ExpressionStatement 110219 110380 + BinaryExpression 110219 110379 + PropertyAccessExpression 110219 110371 + Identifier 110219 110351 + Identifier 110352 110371 + EqualsToken 110371 110373 + FalseKeyword 110373 110379 + ExpressionStatement 110395 110438 + BinaryExpression 110395 110437 + PropertyAccessExpression 110395 110421 + Identifier 110395 110415 + Identifier 110416 110421 + BarEqualsToken 110421 110424 + PropertyAccessExpression 110424 110437 + Identifier 110424 110431 + Identifier 110432 110437 + IfStatement 110438 110568 + PropertyAccessExpression 110456 110479 + Identifier 110456 110462 + Identifier 110463 110479 + Block 110480 110568 + ExpressionStatement 110482 110553 + CallExpression 110482 110552 + Identifier 110482 110519 + Identifier 110520 110526 + PropertyAccessExpression 110527 110551 + Identifier 110527 110534 + Identifier 110535 110551 + ExpressionStatement 110568 110633 + CallExpression 110568 110632 + Identifier 110568 110590 + PropertyAccessExpression 110591 110610 + Identifier 110591 110597 + Identifier 110598 110610 + PropertyAccessExpression 110611 110631 + Identifier 110611 110618 + Identifier 110619 110631 + IfStatement 110633 110842 + PropertyAccessExpression 110651 110665 + Identifier 110651 110657 + Identifier 110658 110665 + Block 110666 110842 + IfStatement 110668 110744 + PrefixUnaryExpression 110690 110705 + PropertyAccessExpression 110691 110705 + Identifier 110691 110697 + Identifier 110698 110705 + ExpressionStatement 110706 110744 + BinaryExpression 110706 110743 + PropertyAccessExpression 110706 110721 + Identifier 110706 110713 + Identifier 110714 110721 + EqualsToken 110721 110723 + CallExpression 110723 110743 + Identifier 110723 110741 + ExpressionStatement 110744 110827 + CallExpression 110744 110826 + Identifier 110744 110778 + PropertyAccessExpression 110779 110793 + Identifier 110779 110785 + Identifier 110786 110793 + PropertyAccessExpression 110794 110809 + Identifier 110794 110801 + Identifier 110802 110809 + Identifier 110810 110825 + IfStatement 110842 111059 + PropertyAccessExpression 110860 110874 + Identifier 110860 110866 + Identifier 110867 110874 + Block 110875 111059 + IfStatement 110877 110953 + PrefixUnaryExpression 110899 110914 + PropertyAccessExpression 110900 110914 + Identifier 110900 110906 + Identifier 110907 110914 + ExpressionStatement 110915 110953 + BinaryExpression 110915 110952 + PropertyAccessExpression 110915 110930 + Identifier 110915 110922 + Identifier 110923 110930 + EqualsToken 110930 110932 + CallExpression 110932 110952 + Identifier 110932 110950 + ExpressionStatement 110953 111044 + CallExpression 110953 111043 + Identifier 110953 110987 + PropertyAccessExpression 110988 111002 + Identifier 110988 110994 + Identifier 110995 111002 + PropertyAccessExpression 111003 111018 + Identifier 111003 111010 + Identifier 111011 111018 + Identifier 111019 111034 + Identifier 111035 111042 + IfStatement 111059 111163 + PrefixUnaryExpression 111077 111092 + Identifier 111078 111092 + Block 111093 111163 + ExpressionStatement 111095 111148 + CallExpression 111095 111147 + Identifier 111095 111131 + Identifier 111132 111138 + Identifier 111139 111146 + IfStatement 111188 111929 + BinaryExpression 111193 111235 + PropertyAccessExpression 111193 111205 + Identifier 111193 111199 + Identifier 111200 111205 + AmpersandToken 111205 111207 + PropertyAccessExpression 111207 111235 + Identifier 111207 111219 + Identifier 111220 111235 + Block 111236 111849 + IfStatement 111238 111838 + BinaryExpression 111494 111521 + Identifier 111494 111500 + ExclamationEqualsEqualsToken 111500 111504 + Identifier 111504 111521 + Block 111522 111838 + ExpressionStatement 111524 111823 + CallExpression 111524 111822 + Identifier 111524 111547 + BinaryExpression 111548 111637 + PropertyAccessExpression 111548 111589 + Identifier 111548 111576 + Identifier 111577 111589 + AmpersandAmpersandToken 111589 111592 + CallExpression 111592 111637 + Identifier 111592 111613 + ElementAccessExpression 111614 111636 + PropertyAccessExpression 111614 111633 + Identifier 111614 111620 + Identifier 111621 111633 + NumericLiteral 111634 111635 + PropertyAccessExpression 111638 111757 + Identifier 111638 111671 + Identifier 111672 111757 + CallExpression 111758 111802 + Identifier 111758 111794 + Identifier 111795 111801 + Block 111863 111929 + ExpressionStatement 111865 111918 + CallExpression 111865 111917 + Identifier 111865 111901 + Identifier 111902 111908 + Identifier 111909 111916 + ReturnStatement 111929 111953 + Identifier 111945 111952 + FunctionDeclaration 111953 114519 + Identifier 111973 111996 + Parameter 111997 112011 + Identifier 111997 112003 + TypeReference 112004 112011 + Identifier 112004 112011 + Parameter 112012 112027 + Identifier 112012 112019 + TypeReference 112020 112027 + Identifier 112020 112027 + Block 112028 114519 + VariableStatement 112030 112136 + VariableDeclarationList 112030 112135 + VariableDeclaration 112049 112135 + Identifier 112049 112062 + PrefixUnaryExpression 112064 112135 + PrefixUnaryExpression 112066 112135 + ParenthesizedExpression 112067 112135 + BinaryExpression 112068 112134 + BinaryExpression 112068 112099 + PropertyAccessExpression 112068 112080 + Identifier 112068 112074 + Identifier 112075 112080 + AmpersandToken 112080 112082 + PropertyAccessExpression 112082 112099 + Identifier 112082 112094 + Identifier 112095 112099 + BarBarToken 112099 112102 + BinaryExpression 112102 112134 + PropertyAccessExpression 112102 112115 + Identifier 112102 112109 + Identifier 112110 112115 + AmpersandToken 112115 112117 + PropertyAccessExpression 112117 112134 + Identifier 112117 112129 + Identifier 112130 112134 + VariableStatement 112136 112279 + VariableDeclarationList 112136 112278 + VariableDeclaration 112155 112278 + Identifier 112155 112175 + PrefixUnaryExpression 112177 112278 + PrefixUnaryExpression 112179 112278 + ParenthesizedExpression 112180 112278 + BinaryExpression 112181 112277 + BinaryExpression 112181 112227 + PropertyAccessExpression 112181 112193 + Identifier 112181 112187 + Identifier 112188 112193 + AmpersandToken 112193 112195 + PropertyAccessExpression 112195 112227 + Identifier 112195 112207 + Identifier 112208 112227 + BarBarToken 112227 112230 + BinaryExpression 112230 112277 + PropertyAccessExpression 112230 112243 + Identifier 112230 112237 + Identifier 112238 112243 + AmpersandToken 112243 112245 + PropertyAccessExpression 112245 112277 + Identifier 112245 112257 + Identifier 112258 112277 + VariableStatement 112279 112559 + VariableDeclarationList 112279 112558 + VariableDeclaration 112298 112558 + Identifier 112298 112306 + ConditionalExpression 112308 112558 + Identifier 112308 112321 + QuestionToken 112321 112323 + PropertyAccessExpression 112323 112410 + Identifier 112323 112335 + Identifier 112336 112410 + ColonToken 112410 112429 + ConditionalExpression 112429 112558 + Identifier 112429 112449 + QuestionToken 112449 112451 + PropertyAccessExpression 112451 112504 + Identifier 112451 112463 + Identifier 112464 112504 + ColonToken 112504 112523 + PropertyAccessExpression 112523 112558 + Identifier 112523 112535 + Identifier 112536 112558 + VariableStatement 112559 112665 + VariableDeclarationList 112559 112664 + VariableDeclaration 112578 112664 + Identifier 112578 112595 + BinaryExpression 112597 112664 + PropertyAccessExpression 112597 112617 + Identifier 112597 112604 + Identifier 112605 112617 + AmpersandAmpersandToken 112617 112620 + CallExpression 112620 112664 + Identifier 112620 112640 + ElementAccessExpression 112641 112663 + PropertyAccessExpression 112641 112660 + Identifier 112641 112647 + Identifier 112648 112660 + NumericLiteral 112661 112662 + VariableStatement 112665 112771 + VariableDeclarationList 112665 112770 + VariableDeclaration 112684 112770 + Identifier 112684 112701 + BinaryExpression 112703 112770 + PropertyAccessExpression 112703 112723 + Identifier 112703 112710 + Identifier 112711 112723 + AmpersandAmpersandToken 112723 112726 + CallExpression 112726 112770 + Identifier 112726 112746 + ElementAccessExpression 112747 112769 + PropertyAccessExpression 112747 112766 + Identifier 112747 112753 + Identifier 112754 112766 + NumericLiteral 112767 112768 + VariableStatement 112771 112868 + VariableDeclarationList 112771 112867 + VariableDeclaration 112792 112867 + Identifier 112792 112808 + CallExpression 112810 112867 + Identifier 112810 112824 + Identifier 112825 112841 + PropertyAccessExpression 112842 112866 + Identifier 112842 112858 + Identifier 112859 112866 + VariableStatement 112868 112963 + VariableDeclarationList 112868 112962 + VariableDeclaration 112887 112962 + Identifier 112887 112903 + CallExpression 112905 112962 + Identifier 112905 112919 + Identifier 112920 112936 + PropertyAccessExpression 112937 112961 + Identifier 112937 112953 + Identifier 112954 112961 + VariableStatement 112963 113019 + VariableDeclarationList 112963 113018 + VariableDeclaration 112982 113018 + Identifier 112982 112993 + CallExpression 112995 113018 + Identifier 112995 113010 + Identifier 113011 113017 + IfStatement 113019 114508 + BinaryExpression 113179 113298 + BinaryExpression 113179 113257 + BinaryExpression 113179 113240 + BinaryExpression 113179 113215 + Identifier 113179 113195 + AmpersandAmpersandToken 113195 113198 + Identifier 113198 113215 + AmpersandAmpersandToken 113215 113218 + Identifier 113218 113240 + AmpersandAmpersandToken 113240 113243 + PrefixUnaryExpression 113243 113257 + Identifier 113245 113257 + AmpersandAmpersandToken 113257 113260 + BinaryExpression 113260 113298 + Identifier 113260 113277 + ExclamationEqualsEqualsToken 113277 113281 + Identifier 113281 113298 + Block 113299 114239 + VariableStatement 113301 113458 + VariableDeclarationList 113301 113457 + VariableDeclaration 113324 113457 + Identifier 113324 113334 + ConditionalExpression 113336 113457 + BinaryExpression 113336 113419 + CallExpression 113336 113395 + Identifier 113336 113349 + PropertyAccessExpression 113350 113371 + Identifier 113350 113366 + Identifier 113367 113371 + PropertyAccessExpression 113372 113394 + Identifier 113372 113389 + Identifier 113390 113394 + EqualsEqualsEqualsToken 113395 113399 + PropertyAccessExpression 113399 113419 + Identifier 113399 113410 + Identifier 113411 113419 + QuestionToken 113419 113421 + Identifier 113421 113438 + ColonToken 113438 113440 + Identifier 113440 113457 + VariableStatement 113458 113564 + VariableDeclarationList 113458 113563 + VariableDeclaration 113481 113563 + Identifier 113481 113492 + ConditionalExpression 113494 113563 + BinaryExpression 113494 113525 + Identifier 113494 113504 + EqualsEqualsEqualsToken 113504 113508 + Identifier 113508 113525 + QuestionToken 113525 113527 + Identifier 113527 113544 + ColonToken 113544 113546 + Identifier 113546 113563 + VariableStatement 113564 113770 + VariableDeclarationList 113564 113769 + VariableDeclaration 113587 113769 + Identifier 113587 113603 + CallExpression 113605 113769 + Identifier 113605 113617 + Identifier 113618 113639 + TemplateExpression 113640 113679 + TemplateHead 113640 113644 + TemplateSpan 113644 113662 + PropertyAccessExpression 113644 113658 + Identifier 113644 113653 + Identifier 113654 113658 + TemplateMiddle 113658 113662 + TemplateSpan 113662 113679 + PropertyAccessExpression 113662 113677 + Identifier 113662 113672 + Identifier 113673 113677 + TemplateTail 113677 113679 + ArrowFunction 113680 113768 + TypeReference 113684 113706 + Identifier 113684 113706 + EqualsGreaterThanToken 113706 113709 + ParenthesizedExpression 113709 113768 + ObjectLiteralExpression 113711 113767 + ShorthandPropertyAssignment 113712 113722 + Identifier 113712 113722 + ShorthandPropertyAssignment 113723 113734 + Identifier 113723 113734 + PropertyAssignment 113735 113765 + Identifier 113735 113754 + NewExpression 113755 113765 + Identifier 113759 113763 + VariableStatement 113770 113999 + VariableDeclarationList 113770 113998 + VariableDeclaration 113793 113998 + Identifier 113793 113815 + CallExpression 113817 113998 + Identifier 113817 113829 + PropertyAccessExpression 113830 113864 + Identifier 113830 113845 + Identifier 113846 113864 + Identifier 113865 113876 + ArrowFunction 113877 113997 + TypeReference 113881 113904 + Identifier 113881 113904 + EqualsGreaterThanToken 113904 113907 + ParenthesizedExpression 113907 113997 + ObjectLiteralExpression 113909 113996 + PropertyAssignment 113910 113945 + Identifier 113910 113924 + Identifier 113925 113945 + PropertyAssignment 113946 113969 + Identifier 113946 113965 + ArrayLiteralExpression 113966 113969 + PropertyAssignment 113970 113994 + Identifier 113970 113990 + ArrayLiteralExpression 113991 113994 + IfStatement 113999 114111 + PrefixUnaryExpression 114021 114037 + Identifier 114022 114037 + ExpressionStatement 114038 114111 + CallExpression 114038 114110 + Identifier 114038 114060 + PropertyAccessExpression 114061 114101 + Identifier 114061 114082 + Identifier 114083 114101 + Identifier 114102 114109 + IfStatement 114111 114224 + PrefixUnaryExpression 114133 114149 + Identifier 114134 114149 + ExpressionStatement 114150 114224 + CallExpression 114150 114223 + Identifier 114150 114172 + PropertyAccessExpression 114173 114214 + Identifier 114173 114194 + Identifier 114195 114214 + Identifier 114215 114222 + Block 114257 114508 + IfStatement 114259 114376 + PrefixUnaryExpression 114281 114297 + Identifier 114282 114297 + ExpressionStatement 114298 114376 + CallExpression 114298 114375 + Identifier 114298 114338 + Identifier 114339 114345 + Identifier 114346 114354 + Identifier 114355 114366 + Identifier 114367 114374 + IfStatement 114376 114493 + PrefixUnaryExpression 114398 114414 + Identifier 114399 114414 + ExpressionStatement 114415 114493 + CallExpression 114415 114492 + Identifier 114415 114455 + Identifier 114456 114462 + Identifier 114463 114471 + Identifier 114472 114483 + Identifier 114484 114491 + FunctionDeclaration 114519 114797 + Identifier 114539 114561 + Parameter 114562 114581 + Identifier 114562 114566 + ArrayType 114567 114581 + TypeReference 114567 114579 + Identifier 114567 114579 + Parameter 114582 114597 + Identifier 114582 114589 + TypeReference 114590 114597 + Identifier 114590 114597 + VoidKeyword 114599 114604 + Block 114604 114797 + IfStatement 114606 114786 + PropertyAccessExpression 114624 114643 + Identifier 114624 114630 + Identifier 114631 114643 + Block 114644 114786 + ForOfStatement 114646 114771 + VariableDeclarationList 114669 114679 + VariableDeclaration 114674 114679 + Identifier 114674 114679 + PropertyAccessExpression 114682 114702 + Identifier 114682 114689 + Identifier 114690 114702 + Block 114703 114771 + ExpressionStatement 114705 114752 + CallExpression 114705 114751 + Identifier 114705 114739 + Identifier 114740 114744 + Identifier 114745 114750 + FunctionDeclaration 114804 115101 + Identifier 114820 114860 + Parameter 114861 114875 + Identifier 114861 114867 + TypeReference 114868 114875 + Identifier 114868 114875 + Parameter 114876 114903 + Identifier 114876 114884 + TypeReference 114885 114903 + Identifier 114885 114903 + Parameter 114904 114923 + Identifier 114904 114915 + StringKeyword 114916 114923 + Parameter 114924 114939 + Identifier 114924 114931 + TypeReference 114932 114939 + Identifier 114932 114939 + Block 114940 115101 + ExpressionStatement 114942 115094 + CallExpression 114942 115093 + Identifier 114942 114959 + PropertyAccessExpression 114960 114979 + Identifier 114960 114966 + Identifier 114967 114979 + ArrowFunction 114980 115092 + Parameter 114980 114985 + Identifier 114980 114985 + EqualsGreaterThanToken 114985 114988 + Block 114988 115092 + ExpressionStatement 114990 115081 + CallExpression 114990 115080 + Identifier 114990 115032 + Identifier 115033 115037 + Identifier 115038 115046 + Identifier 115047 115058 + PropertyAccessExpression 115059 115079 + Identifier 115059 115066 + Identifier 115067 115079 + FunctionDeclaration 115101 116439 + Identifier 115117 115146 + Parameter 115147 115164 + Identifier 115147 115151 + TypeReference 115152 115164 + Identifier 115152 115164 + Parameter 115165 115192 + Identifier 115165 115173 + TypeReference 115174 115192 + Identifier 115174 115192 + Parameter 115193 115212 + Identifier 115193 115204 + StringKeyword 115205 115212 + Parameter 115213 115262 + Identifier 115213 115226 + UnionType 115227 115262 + TypeOperator 115227 115250 + ArrayType 115236 115250 + TypeReference 115236 115248 + Identifier 115236 115248 + UndefinedKeyword 115252 115262 + Block 115263 116439 + VariableStatement 115265 115418 + VariableDeclarationList 115265 115417 + VariableDeclaration 115280 115417 + Identifier 115280 115290 + BinaryExpression 115292 115417 + ParenthesizedExpression 115292 115409 + ConditionalExpression 115294 115408 + CallExpression 115294 115354 + Identifier 115294 115315 + Identifier 115316 115320 + FalseKeyword 115321 115353 + QuestionToken 115354 115356 + CallExpression 115356 115379 + Identifier 115356 115373 + Identifier 115374 115378 + ColonToken 115379 115381 + CallExpression 115381 115408 + Identifier 115381 115402 + Identifier 115403 115407 + BarBarToken 115409 115412 + Identifier 115412 115417 + VariableStatement 115418 115491 + VariableDeclarationList 115418 115490 + VariableDeclaration 115433 115490 + Identifier 115433 115437 + CallExpression 115439 115490 + Identifier 115439 115458 + Identifier 115459 115468 + Identifier 115469 115477 + Identifier 115478 115489 + ForOfStatement 115491 116432 + VariableDeclarationList 115506 115523 + VariableDeclaration 115511 115523 + Identifier 115511 115523 + BinaryExpression 115526 115553 + Identifier 115526 115539 + BarBarToken 115539 115542 + Identifier 115542 115553 + Block 115554 116432 + VariableStatement 115556 115744 + VariableDeclarationList 115556 115743 + VariableDeclaration 115575 115743 + Identifier 115575 115588 + BinaryExpression 115590 115743 + ParenthesizedExpression 115590 115728 + ConditionalExpression 115592 115727 + CallExpression 115592 115659 + Identifier 115592 115613 + Identifier 115614 115625 + FalseKeyword 115626 115658 + QuestionToken 115659 115661 + CallExpression 115661 115691 + Identifier 115661 115678 + Identifier 115679 115690 + ColonToken 115691 115693 + CallExpression 115693 115727 + Identifier 115693 115714 + Identifier 115715 115726 + BarBarToken 115728 115731 + Identifier 115731 115743 + IfStatement 115744 115799 + BinaryExpression 115762 115788 + Identifier 115762 115774 + EqualsEqualsEqualsToken 115774 115778 + Identifier 115778 115788 + ContinueStatement 115789 115799 + ExpressionStatement 115799 115867 + BinaryExpression 115799 115866 + PropertyAccessExpression 115799 115835 + Identifier 115799 115816 + Identifier 115817 115835 + EqualsToken 115835 115837 + BinaryExpression 115837 115866 + PropertyAccessExpression 115837 115860 + Identifier 115837 115841 + Identifier 115842 115860 + BarBarToken 115860 115863 + ArrayLiteralExpression 115863 115866 + VariableStatement 115867 115993 + VariableDeclarationList 115867 115992 + VariableDeclaration 115886 115992 + Identifier 115886 115901 + CallExpression 115903 115992 + Identifier 115903 115927 + Identifier 115928 115940 + PropertyAccessExpression 115941 115979 + Identifier 115941 115953 + Identifier 115954 115979 + Identifier 115980 115991 + VariableStatement 115993 116091 + VariableDeclarationList 115993 116090 + VariableDeclaration 116012 116090 + Identifier 116012 116028 + CallExpression 116030 116090 + Identifier 116030 116054 + Identifier 116055 116067 + PropertyAccessExpression 116068 116089 + Identifier 116068 116080 + Identifier 116081 116089 + IfStatement 116091 116319 + BinaryExpression 116109 116308 + BinaryExpression 116109 116144 + CallExpression 116109 116139 + Identifier 116109 116115 + PropertyAccessExpression 116116 116138 + Identifier 116116 116119 + Identifier 116120 116138 + GreaterThanEqualsToken 116139 116142 + NumericLiteral 116142 116144 + BarBarToken 116144 116147 + CallExpression 116147 116308 + Identifier 116147 116152 + PropertyAccessExpression 116153 116175 + Identifier 116153 116156 + Identifier 116157 116175 + ArrowFunction 116176 116307 + Parameter 116176 116178 + Identifier 116176 116178 + EqualsGreaterThanToken 116178 116181 + BinaryExpression 116181 116307 + BinaryExpression 116181 116243 + CallExpression 116181 116220 + Identifier 116181 116200 + Identifier 116201 116202 + Identifier 116203 116219 + EqualsEqualsEqualsToken 116220 116224 + PropertyAccessExpression 116224 116243 + Identifier 116224 116235 + Identifier 116236 116243 + BarBarToken 116243 116246 + BinaryExpression 116246 116307 + CallExpression 116246 116284 + Identifier 116246 116265 + Identifier 116266 116267 + Identifier 116268 116283 + EqualsEqualsEqualsToken 116284 116288 + PropertyAccessExpression 116288 116307 + Identifier 116288 116299 + Identifier 116300 116307 + ContinueStatement 116309 116319 + ExpressionStatement 116319 116421 + CallExpression 116319 116420 + Identifier 116319 116347 + Identifier 116348 116351 + ConditionalExpression 116352 116419 + PrefixUnaryExpression 116352 116384 + CallExpression 116354 116384 + Identifier 116354 116360 + PropertyAccessExpression 116361 116383 + Identifier 116361 116364 + Identifier 116365 116383 + QuestionToken 116384 116386 + Identifier 116386 116401 + ColonToken 116401 116403 + Identifier 116403 116419 + FunctionDeclaration 116439 116820 + Identifier 116455 116475 + Parameter 116476 116506 + Identifier 116476 116481 + UnionType 116482 116506 + TypeReference 116482 116494 + Identifier 116482 116494 + UndefinedKeyword 116496 116506 + Parameter 116507 116539 + Identifier 116507 116514 + UnionType 116515 116539 + TypeReference 116515 116527 + Identifier 116515 116527 + UndefinedKeyword 116529 116539 + UnionType 116541 116565 + TypeReference 116541 116553 + Identifier 116541 116553 + UndefinedKeyword 116555 116565 + Block 116565 116820 + IfStatement 116567 116609 + PrefixUnaryExpression 116581 116593 + PropertyAccessExpression 116582 116593 + Identifier 116582 116587 + QuestionDotToken 116587 116589 + Identifier 116589 116593 + ReturnStatement 116594 116609 + Identifier 116601 116608 + IfStatement 116609 116651 + PrefixUnaryExpression 116623 116636 + PropertyAccessExpression 116624 116636 + Identifier 116624 116630 + QuestionDotToken 116630 116632 + Identifier 116632 116636 + ReturnStatement 116637 116651 + Identifier 116644 116650 + VariableStatement 116651 116698 + VariableDeclarationList 116651 116697 + VariableDeclaration 116666 116697 + Identifier 116666 116675 + CallExpression 116677 116697 + Identifier 116677 116695 + ExpressionStatement 116698 116742 + CallExpression 116698 116741 + Identifier 116698 116724 + Identifier 116725 116733 + Identifier 116734 116740 + ExpressionStatement 116742 116787 + CallExpression 116742 116786 + Identifier 116742 116768 + Identifier 116769 116777 + Identifier 116778 116785 + ReturnStatement 116787 116813 + Identifier 116803 116812 + FunctionDeclaration 116820 118244 + Identifier 116836 116853 + Parameter 116854 116873 + Identifier 116854 116860 + TypeReference 116861 116873 + Identifier 116861 116873 + Parameter 116874 116894 + Identifier 116874 116881 + TypeReference 116882 116894 + Identifier 116882 116894 + Parameter 116895 116918 + Identifier 116895 116910 + FalseKeyword 116912 116918 + Parameter 116919 116941 + Identifier 116919 116932 + QuestionToken 116932 116933 + TypeReference 116934 116941 + Identifier 116934 116941 + Block 116942 118244 + ExpressionStatement 116944 118237 + CallExpression 116944 118236 + PropertyAccessExpression 116944 116968 + Identifier 116944 116960 + Identifier 116961 116968 + ArrowFunction 116969 118235 + Parameter 116970 116982 + Identifier 116970 116982 + Parameter 116983 116986 + Identifier 116983 116986 + EqualsGreaterThanToken 116987 116990 + Block 116990 118235 + VariableStatement 116992 117042 + VariableDeclarationList 116992 117041 + VariableDeclaration 117011 117041 + Identifier 117011 117024 + CallExpression 117026 117041 + PropertyAccessExpression 117026 117037 + Identifier 117026 117033 + Identifier 117034 117037 + Identifier 117038 117040 + VariableStatement 117042 117174 + VariableDeclarationList 117042 117173 + VariableDeclaration 117061 117173 + Identifier 117061 117068 + ConditionalExpression 117070 117173 + Identifier 117070 117083 + QuestionToken 117083 117085 + CallExpression 117085 117141 + Identifier 117085 117097 + Identifier 117098 117110 + Identifier 117111 117124 + Identifier 117125 117140 + ColonToken 117141 117143 + CallExpression 117143 117173 + Identifier 117143 117159 + Identifier 117160 117172 + IfStatement 117174 118187 + BinaryExpression 117192 117220 + Identifier 117192 117204 + AmpersandAmpersandToken 117204 117207 + Identifier 117207 117220 + Block 117221 118187 + ExpressionStatement 117223 118172 + BinaryExpression 117223 118171 + PropertyAccessExpression 117223 118156 + Identifier 117223 118149 + Identifier 118150 118156 + EqualsToken 118156 118158 + Identifier 118158 118171 + ExpressionStatement 118187 118224 + CallExpression 118187 118223 + PropertyAccessExpression 118187 118211 + Identifier 118187 118207 + Identifier 118208 118211 + Identifier 118212 118214 + Identifier 118215 118222 + FunctionDeclaration 118244 122030 + Identifier 118260 118284 + Parameter 118285 118323 + Identifier 118285 118295 + UnionType 118296 118323 + TypeReference 118296 118310 + Identifier 118296 118310 + TypeReference 118312 118323 + Identifier 118312 118323 + VoidKeyword 118325 118330 + Block 118330 122030 + VariableStatement 118332 118408 + VariableDeclarationList 118332 118407 + VariableDeclaration 118347 118407 + Identifier 118347 118366 + AsExpression 118368 118407 + PropertyAccessExpression 118368 118386 + Identifier 118368 118379 + Identifier 118380 118386 + TypeReference 118389 118407 + Identifier 118389 118407 + IfStatement 118408 118865 + BinaryExpression 118422 118488 + ElementAccessExpression 118422 118465 + PropertyAccessExpression 118422 118460 + PropertyAccessExpression 118422 118447 + Identifier 118422 118440 + Identifier 118441 118447 + Identifier 118448 118460 + QuestionDotToken 118460 118462 + NumericLiteral 118463 118464 + ExclamationEqualsEqualsToken 118465 118469 + Identifier 118469 118488 + Block 118489 118865 + ExpressionStatement 118491 118833 + CallExpression 118491 118832 + PropertyAccessExpression 118491 118780 + Identifier 118491 118773 + Identifier 118774 118780 + BinaryExpression 118781 118831 + PropertyAccessExpression 118781 118827 + NonNullExpression 118781 118820 + PropertyAccessExpression 118781 118819 + PropertyAccessExpression 118781 118806 + Identifier 118781 118799 + Identifier 118800 118806 + Identifier 118807 118819 + Identifier 118821 118827 + GreaterThanToken 118827 118829 + NumericLiteral 118829 118831 + ReturnStatement 118833 118854 + IfStatement 118865 122023 + CallExpression 118881 118926 + Identifier 118881 118906 + Identifier 118907 118925 + Block 118927 119016 + ExpressionStatement 118929 119005 + CallExpression 118929 119004 + Identifier 118929 118959 + Identifier 118960 118967 + NonNullExpression 118968 119003 + PropertyAccessExpression 118968 119002 + PropertyAccessExpression 118968 118994 + Identifier 118968 118987 + Identifier 118988 118994 + Identifier 118995 119002 + Block 119030 122023 + VariableStatement 119032 119397 + VariableDeclarationList 119032 119396 + VariableDeclaration 119199 119396 + Identifier 119199 119219 + ConditionalExpression 119221 119396 + PrefixUnaryExpression 119221 119275 + ParenthesizedExpression 119223 119275 + BinaryExpression 119224 119274 + PropertyAccessExpression 119224 119254 + PropertyAccessExpression 119224 119248 + PropertyAccessExpression 119224 119241 + Identifier 119224 119234 + Identifier 119235 119241 + Identifier 119242 119248 + Identifier 119249 119254 + AmpersandToken 119254 119256 + PropertyAccessExpression 119256 119274 + Identifier 119256 119266 + Identifier 119267 119274 + QuestionToken 119275 119294 + PropertyAccessExpression 119294 119367 + Identifier 119294 119306 + Identifier 119307 119367 + ColonToken 119367 119386 + Identifier 119386 119396 + VariableStatement 119397 119557 + VariableDeclarationList 119397 119556 + VariableDeclaration 119414 119556 + Identifier 119414 119425 + CallExpression 119427 119556 + Identifier 119427 119459 + Identifier 119460 119470 + Identifier 119471 119482 + Identifier 119483 119503 + FalseKeyword 119504 119527 + TrueKeyword 119528 119555 + IfStatement 119557 119629 + PrefixUnaryExpression 119575 119586 + Identifier 119576 119586 + Block 119587 119629 + ReturnStatement 119589 119614 + ExpressionStatement 119629 119748 + BinaryExpression 119629 119747 + Identifier 119629 119705 + EqualsToken 119705 119707 + CallExpression 119707 119747 + Identifier 119707 119735 + Identifier 119736 119746 + IfStatement 119748 122012 + BinaryExpression 119766 119806 + PropertyAccessExpression 119766 119782 + Identifier 119766 119776 + Identifier 119777 119782 + AmpersandToken 119782 119784 + PropertyAccessExpression 119784 119806 + Identifier 119784 119796 + Identifier 119797 119806 + Block 119807 121734 + IfStatement 119809 121719 + CallExpression 120277 120344 + Identifier 120277 120281 + Identifier 120282 120303 + ArrowFunction 120304 120343 + Parameter 120304 120311 + Identifier 120304 120311 + EqualsGreaterThanToken 120311 120314 + BinaryExpression 120314 120343 + Identifier 120314 120325 + EqualsEqualsEqualsToken 120325 120329 + PropertyAccessExpression 120329 120343 + Identifier 120329 120336 + Identifier 120337 120343 + Block 120345 120836 + VariableStatement 120347 120460 + VariableDeclarationList 120347 120459 + VariableDeclaration 120374 120459 + Identifier 120374 120381 + CallExpression 120383 120459 + Identifier 120383 120395 + PropertyAccessExpression 120396 120421 + Identifier 120396 120414 + Identifier 120415 120421 + Identifier 120422 120433 + TrueKeyword 120434 120458 + IfStatement 120460 120618 + PrefixUnaryExpression 120486 120520 + Identifier 120487 120520 + Block 120521 120618 + ExpressionStatement 120523 120595 + BinaryExpression 120523 120594 + Identifier 120523 120582 + EqualsToken 120582 120584 + NewExpression 120584 120594 + Identifier 120588 120592 + ExpressionStatement 120618 120817 + CallExpression 120618 120816 + PropertyAccessExpression 120618 120772 + Identifier 120618 120768 + Identifier 120769 120772 + PropertyAccessExpression 120773 120807 + ParenthesizedExpression 120773 120802 + AsExpression 120774 120801 + Identifier 120774 120784 + TypeReference 120787 120801 + Identifier 120787 120801 + Identifier 120803 120807 + Identifier 120808 120815 + Block 120858 121719 + IfStatement 120860 121627 + BinaryExpression 120886 120983 + CallExpression 120886 120940 + PropertyAccessExpression 120886 120909 + PropertyAccessExpression 120886 120904 + Identifier 120886 120896 + Identifier 120897 120904 + QuestionDotToken 120904 120906 + Identifier 120906 120909 + PropertyAccessExpression 120910 120939 + Identifier 120910 120928 + Identifier 120929 120939 + AmpersandAmpersandToken 120940 120943 + PropertyAccessExpression 120943 120983 + PropertyAccessExpression 120943 120977 + PropertyAccessExpression 120943 120969 + Identifier 120943 120962 + Identifier 120963 120969 + Identifier 120970 120977 + QuestionDotToken 120977 120979 + Identifier 120979 120983 + Block 120984 121627 + VariableStatement 120986 121263 + VariableDeclarationList 120986 121262 + VariableDeclaration 121148 121262 + Identifier 121148 121164 + CallExpression 121166 121262 + Identifier 121166 121202 + Identifier 121203 121213 + PropertyAccessExpression 121214 121261 + Identifier 121214 121245 + Identifier 121246 121261 + ForOfStatement 121263 121604 + VariableDeclarationList 121294 121312 + VariableDeclaration 121299 121312 + ArrayBindingPattern 121299 121312 + BindingElement 121301 121304 + Identifier 121301 121304 + BindingElement 121305 121311 + Identifier 121305 121311 + CallExpression 121315 121370 + Identifier 121315 121325 + CallExpression 121326 121369 + PropertyAccessExpression 121326 121367 + PropertyAccessExpression 121326 121359 + PropertyAccessExpression 121326 121351 + Identifier 121326 121344 + Identifier 121345 121351 + Identifier 121352 121359 + Identifier 121360 121367 + Block 121371 121604 + IfStatement 121373 121577 + BinaryExpression 121407 121463 + CallExpression 121407 121431 + PropertyAccessExpression 121407 121426 + Identifier 121407 121422 + Identifier 121423 121426 + Identifier 121427 121430 + AmpersandAmpersandToken 121431 121434 + PrefixUnaryExpression 121434 121463 + CallExpression 121436 121463 + PropertyAccessExpression 121436 121458 + PropertyAccessExpression 121436 121454 + Identifier 121436 121446 + Identifier 121447 121454 + Identifier 121455 121458 + Identifier 121459 121462 + Block 121464 121577 + ExpressionStatement 121466 121546 + CallExpression 121466 121545 + Identifier 121466 121511 + NonNullExpression 121512 121537 + CallExpression 121512 121536 + PropertyAccessExpression 121512 121531 + Identifier 121512 121527 + Identifier 121528 121531 + Identifier 121532 121535 + Identifier 121538 121544 + ExpressionStatement 121627 121700 + CallExpression 121627 121699 + Identifier 121627 121660 + Identifier 121661 121671 + PropertyAccessExpression 121672 121698 + Identifier 121672 121691 + Identifier 121692 121698 + Block 121752 122012 + ExpressionStatement 121754 121997 + CallExpression 121754 121996 + Identifier 121754 121868 + Identifier 121869 121879 + PropertyAccessExpression 121880 121959 + Identifier 121880 121892 + Identifier 121893 121959 + PropertyAccessExpression 121960 121995 + ParenthesizedExpression 121960 121990 + AsExpression 121962 121989 + Identifier 121962 121972 + TypeReference 121975 121989 + Identifier 121975 121989 + Identifier 121991 121995 + FunctionDeclaration 122030 122760 + Identifier 122046 122090 + Block 122092 122760 + VariableStatement 122094 122145 + VariableDeclarationList 122094 122144 + VariableDeclaration 122109 122144 + Identifier 122109 122114 + PropertyAccessExpression 122116 122144 + Identifier 122116 122132 + Identifier 122133 122144 + VariableStatement 122145 122194 + VariableDeclarationList 122145 122193 + VariableDeclaration 122160 122193 + Identifier 122160 122173 + CallExpression 122175 122193 + PropertyAccessExpression 122175 122187 + Identifier 122175 122183 + Identifier 122184 122187 + Identifier 122188 122192 + IfStatement 122194 122753 + Identifier 122208 122220 + Block 122221 122677 + ExpressionStatement 122223 122666 + CallExpression 122223 122665 + Identifier 122223 122244 + PropertyAccessExpression 122245 122270 + Identifier 122245 122257 + Identifier 122258 122270 + ArrowFunction 122271 122664 + Parameter 122271 122283 + Identifier 122271 122283 + EqualsGreaterThanToken 122283 122286 + Block 122286 122664 + IfStatement 122288 122649 + PrefixUnaryExpression 122412 122443 + CallExpression 122413 122443 + Identifier 122413 122430 + Identifier 122431 122442 + Block 122444 122649 + ExpressionStatement 122446 122630 + CallExpression 122446 122629 + PropertyAccessExpression 122446 122483 + Identifier 122446 122479 + Identifier 122480 122483 + CallExpression 122484 122628 + Identifier 122484 122507 + Identifier 122508 122519 + PropertyAccessExpression 122520 122593 + Identifier 122520 122532 + Identifier 122533 122593 + CallExpression 122594 122627 + Identifier 122594 122621 + Identifier 122622 122626 + Block 122691 122753 + ExpressionStatement 122693 122742 + CallExpression 122693 122741 + PropertyAccessExpression 122693 122718 + Identifier 122693 122714 + Identifier 122715 122718 + Identifier 122719 122723 + Identifier 122724 122740 + FunctionDeclaration 122760 123018 + Identifier 122776 122791 + Parameter 122792 122806 + Identifier 122792 122798 + TypeReference 122799 122806 + Identifier 122799 122806 + TypeReference 122808 122820 + Identifier 122808 122820 + Block 122820 123018 + IfStatement 122822 122915 + BinaryExpression 122836 122872 + PropertyAccessExpression 122836 122848 + Identifier 122836 122842 + Identifier 122843 122848 + AmpersandToken 122848 122850 + PropertyAccessExpression 122850 122872 + Identifier 122850 122862 + Identifier 122863 122872 + ReturnStatement 122873 122915 + PropertyAccessExpression 122880 122914 + ParenthesizedExpression 122880 122908 + AsExpression 122882 122907 + Identifier 122882 122888 + TypeReference 122891 122907 + Identifier 122891 122907 + Identifier 122909 122914 + VariableStatement 122915 122956 + VariableDeclarationList 122915 122955 + VariableDeclaration 122930 122955 + Identifier 122930 122933 + CallExpression 122935 122955 + Identifier 122935 122947 + Identifier 122948 122954 + ReturnStatement 122956 123011 + BinaryExpression 122972 123010 + ElementAccessExpression 122972 122988 + Identifier 122972 122984 + Identifier 122985 122987 + QuestionQuestionEqualsToken 122988 122992 + NewExpression 122992 123010 + Identifier 122996 123008 + FunctionDeclaration 123018 123205 + Identifier 123034 123047 + Parameter 123048 123058 + Identifier 123048 123052 + TypeReference 123053 123058 + Identifier 123053 123058 + TypeReference 123060 123070 + Identifier 123060 123070 + Block 123070 123205 + VariableStatement 123072 123113 + VariableDeclarationList 123072 123112 + VariableDeclaration 123087 123112 + Identifier 123087 123094 + CallExpression 123096 123112 + Identifier 123096 123106 + Identifier 123107 123111 + ReturnStatement 123113 123198 + BinaryExpression 123129 123197 + ElementAccessExpression 123129 123147 + Identifier 123129 123139 + Identifier 123140 123146 + BarBarToken 123147 123150 + ParenthesizedExpression 123150 123197 + BinaryExpression 123152 123196 + ElementAccessExpression 123152 123169 + Identifier 123152 123161 + Identifier 123162 123168 + EqualsToken 123169 123171 + NewExpression 123171 123196 + ParenthesizedExpression 123175 123194 + AsExpression 123177 123193 + Identifier 123177 123186 + AnyKeyword 123189 123193 + FunctionDeclaration 123205 124008 + Identifier 123221 123231 + Parameter 123232 123252 + Identifier 123232 123239 + TypeReference 123240 123252 + Identifier 123240 123252 + Parameter 123253 123268 + Identifier 123253 123258 + TypeReference 123259 123268 + Identifier 123259 123268 + Parameter 123269 123290 + Identifier 123269 123277 + TypeReference 123278 123290 + Identifier 123278 123290 + UnionType 123292 123311 + TypeReference 123292 123299 + Identifier 123292 123299 + UndefinedKeyword 123301 123311 + Block 123311 124008 + IfStatement 123313 123945 + Identifier 123327 123334 + Block 123335 123945 + VariableStatement 123337 123401 + VariableDeclarationList 123337 123400 + VariableDeclaration 123356 123400 + Identifier 123356 123363 + CallExpression 123365 123400 + Identifier 123365 123381 + CallExpression 123382 123399 + PropertyAccessExpression 123382 123393 + Identifier 123382 123389 + Identifier 123390 123393 + Identifier 123394 123398 + IfStatement 123401 123934 + Identifier 123419 123425 + Block 123426 123934 + IfStatement 123428 123530 + BinaryExpression 123450 123472 + PropertyAccessExpression 123450 123462 + Identifier 123450 123456 + Identifier 123457 123462 + AmpersandToken 123462 123464 + Identifier 123464 123472 + Block 123473 123530 + ReturnStatement 123475 123511 + Identifier 123503 123510 + IfStatement 123530 123919 + BinaryExpression 123552 123584 + PropertyAccessExpression 123552 123564 + Identifier 123552 123558 + Identifier 123559 123564 + AmpersandToken 123564 123566 + PropertyAccessExpression 123566 123584 + Identifier 123566 123578 + Identifier 123579 123584 + Block 123585 123919 + VariableStatement 123587 123652 + VariableDeclarationList 123587 123651 + VariableDeclaration 123614 123651 + Identifier 123614 123626 + CallExpression 123628 123651 + Identifier 123628 123643 + Identifier 123644 123650 + IfStatement 123652 123900 + BinaryExpression 123813 123834 + Identifier 123813 123824 + AmpersandToken 123824 123826 + Identifier 123826 123834 + Block 123835 123900 + ReturnStatement 123837 123877 + Identifier 123869 123876 + FunctionDeclaration 124008 125047 + Identifier 124318 124359 + Parameter 124360 124399 + Identifier 124360 124369 + TypeReference 124370 124399 + Identifier 124370 124399 + Parameter 124400 124424 + Identifier 124400 124414 + TypeReference 124415 124424 + Identifier 124415 124424 + TupleType 124426 124443 + TypeReference 124428 124434 + Identifier 124428 124434 + TypeReference 124435 124442 + Identifier 124435 124442 + Block 124443 125047 + VariableStatement 124445 124503 + VariableDeclarationList 124445 124502 + VariableDeclaration 124460 124502 + Identifier 124460 124483 + PropertyAccessExpression 124485 124502 + Identifier 124485 124495 + Identifier 124496 124502 + VariableStatement 124503 124562 + VariableDeclarationList 124503 124561 + VariableDeclaration 124518 124561 + Identifier 124518 124535 + PropertyAccessExpression 124537 124561 + PropertyAccessExpression 124537 124554 + Identifier 124537 124547 + Identifier 124548 124554 + Identifier 124555 124561 + VariableStatement 124562 124674 + VariableDeclarationList 124562 124673 + VariableDeclaration 124579 124673 + Identifier 124579 124595 + CallExpression 124597 124673 + Identifier 124597 124607 + NonNullExpression 124608 124638 + PropertyAccessExpression 124608 124637 + Identifier 124608 124630 + Identifier 124631 124637 + Identifier 124639 124653 + PropertyAccessExpression 124654 124672 + Identifier 124654 124666 + Identifier 124667 124672 + VariableStatement 124674 124796 + VariableDeclarationList 124674 124795 + VariableDeclaration 124689 124795 + Identifier 124689 124704 + CallExpression 124706 124795 + Identifier 124706 124716 + CallExpression 124717 124760 + Identifier 124717 124735 + PropertyAccessExpression 124736 124759 + Identifier 124736 124752 + Identifier 124753 124759 + Identifier 124761 124775 + PropertyAccessExpression 124776 124794 + Identifier 124776 124788 + Identifier 124789 124794 + IfStatement 124796 124914 + BinaryExpression 124812 124845 + Identifier 124812 124827 + AmpersandAmpersandToken 124827 124830 + Identifier 124830 124845 + Block 124846 124914 + ReturnStatement 124848 124903 + ArrayLiteralExpression 124868 124902 + Identifier 124870 124885 + Identifier 124886 124901 + ReturnStatement 124914 125040 + CallExpression 124932 125039 + PropertyAccessExpression 124932 124943 + Identifier 124932 124938 + Identifier 124939 124943 + StringLiteral 124944 125038 + FunctionDeclaration 125047 137353 + Identifier 125063 125098 + Parameter 125099 125123 + Identifier 125099 125110 + TypeReference 125111 125123 + Identifier 125111 125123 + Parameter 125124 125136 + Identifier 125124 125130 + TypeReference 125131 125136 + Identifier 125131 125136 + BooleanKeyword 125138 125146 + Block 125146 137353 + VariableStatement 125148 125215 + VariableDeclarationList 125148 125214 + VariableDeclaration 125163 125214 + Identifier 125163 125179 + CallExpression 125181 125214 + Identifier 125181 125201 + Identifier 125202 125213 + VariableStatement 125215 125268 + VariableDeclarationList 125215 125267 + VariableDeclaration 125230 125267 + Identifier 125230 125238 + CallExpression 125240 125267 + Identifier 125240 125260 + Identifier 125261 125266 + VariableStatement 125268 125345 + VariableDeclarationList 125268 125344 + VariableDeclaration 125283 125344 + Identifier 125283 125297 + CallExpression 125299 125344 + Identifier 125299 125331 + Identifier 125332 125343 + IfStatement 125345 126237 + BinaryExpression 125359 125386 + Identifier 125359 125374 + ExclamationEqualsEqualsToken 125374 125378 + Identifier 125378 125386 + Block 125387 126237 + IfStatement 125389 125805 + BinaryExpression 125407 125663 + BinaryExpression 125407 125605 + BinaryExpression 125407 125564 + ParenthesizedExpression 125407 125517 + BinaryExpression 125426 125516 + Identifier 125426 125436 + AmpersandAmpersandToken 125436 125439 + ParenthesizedExpression 125439 125516 + BinaryExpression 125441 125515 + PropertyAccessExpression 125441 125480 + Identifier 125441 125456 + Identifier 125457 125480 + BarBarToken 125480 125483 + PropertyAccessExpression 125483 125515 + Identifier 125483 125491 + Identifier 125492 125515 + BarBarToken 125517 125520 + ParenthesizedExpression 125520 125564 + PrefixUnaryExpression 125539 125563 + PropertyAccessExpression 125540 125563 + Identifier 125540 125555 + Identifier 125556 125563 + BarBarToken 125564 125567 + CallExpression 125567 125605 + Identifier 125567 125598 + Identifier 125599 125604 + BarBarToken 125605 125608 + BinaryExpression 125608 125663 + PropertyAccessExpression 125608 125643 + Identifier 125608 125637 + Identifier 125638 125643 + AmpersandToken 125643 125645 + PropertyAccessExpression 125645 125663 + Identifier 125645 125655 + Identifier 125656 125663 + Block 125678 125805 + ReturnStatement 125680 125790 + TrueKeyword 125784 125789 + IfStatement 125805 126080 + CallExpression 125978 126032 + Identifier 125978 126012 + Identifier 126013 126018 + Identifier 126019 126031 + Block 126033 126080 + ReturnStatement 126035 126065 + TrueKeyword 126059 126064 + VariableStatement 126080 126136 + VariableDeclarationList 126080 126135 + VariableDeclaration 126099 126135 + Identifier 126099 126111 + CallExpression 126113 126135 + PropertyAccessExpression 126113 126133 + Identifier 126113 126118 + Identifier 126119 126133 + ReturnStatement 126136 126226 + BinaryExpression 126156 126225 + CallExpression 126156 126193 + PropertyAccessExpression 126156 126176 + Identifier 126156 126168 + Identifier 126169 126176 + Identifier 126177 126192 + LessThanEqualsToken 126193 126196 + CallExpression 126196 126225 + PropertyAccessExpression 126196 126216 + Identifier 126196 126208 + Identifier 126209 126216 + Identifier 126217 126224 + IfStatement 126237 126474 + BinaryExpression 126345 126434 + BinaryExpression 126345 126402 + PrefixUnaryExpression 126345 126378 + PrefixUnaryExpression 126346 126378 + ParenthesizedExpression 126347 126378 + BinaryExpression 126348 126377 + PropertyAccessExpression 126348 126359 + Identifier 126348 126353 + Identifier 126354 126359 + AmpersandToken 126359 126361 + PropertyAccessExpression 126361 126377 + Identifier 126361 126371 + Identifier 126372 126377 + BarBarToken 126378 126381 + CallExpression 126381 126402 + Identifier 126381 126395 + Identifier 126396 126401 + BarBarToken 126402 126405 + CallExpression 126405 126434 + Identifier 126405 126427 + Identifier 126428 126433 + Block 126435 126474 + ReturnStatement 126437 126463 + TrueKeyword 126457 126462 + IfStatement 126474 130128 + BinaryExpression 126490 126652 + BinaryExpression 126490 126518 + PropertyAccessExpression 126490 126505 + Identifier 126490 126501 + Identifier 126502 126505 + LessThanEqualsToken 126505 126508 + PropertyAccessExpression 126508 126518 + Identifier 126508 126514 + Identifier 126515 126518 + AmpersandAmpersandToken 126518 126521 + PrefixUnaryExpression 126521 126652 + ParenthesizedExpression 126523 126652 + BinaryExpression 126524 126651 + BinaryExpression 126524 126618 + BinaryExpression 126524 126590 + CallExpression 126524 126558 + Identifier 126524 126545 + Identifier 126546 126557 + AmpersandAmpersandToken 126558 126561 + CallExpression 126561 126590 + Identifier 126561 126576 + PropertyAccessExpression 126577 126589 + Identifier 126577 126582 + Identifier 126583 126589 + AmpersandAmpersandToken 126590 126593 + PrefixUnaryExpression 126593 126618 + PropertyAccessExpression 126595 126618 + Identifier 126595 126606 + Identifier 126607 126618 + AmpersandAmpersandToken 126618 126621 + PrefixUnaryExpression 126621 126651 + PropertyAccessExpression 126623 126651 + Identifier 126623 126634 + Identifier 126635 126651 + Block 126653 130128 + IfStatement 126655 130091 + BinaryExpression 126717 126763 + PropertyAccessExpression 126717 126733 + Identifier 126717 126728 + Identifier 126729 126733 + EqualsEqualsEqualsToken 126733 126737 + PropertyAccessExpression 126737 126763 + Identifier 126737 126748 + Identifier 126749 126763 + Block 126764 127532 + VariableStatement 126766 127003 + VariableDeclarationList 126766 127002 + VariableDeclaration 126916 127002 + Identifier 126916 126936 + AsExpression 126938 127002 + CallExpression 126938 126984 + Identifier 126938 126950 + Identifier 126951 126956 + PropertyAccessExpression 126957 126983 + Identifier 126957 126968 + Identifier 126969 126983 + TypeReference 126987 127002 + Identifier 126987 127002 + IfStatement 127003 127265 + Identifier 127025 127044 + Block 127045 127265 + ReturnStatement 127047 127246 + BinaryExpression 127075 127245 + BinaryExpression 127075 127175 + CallExpression 127075 127127 + Identifier 127075 127088 + Identifier 127089 127108 + Identifier 127109 127126 + ExclamationEqualsEqualsToken 127127 127131 + CallExpression 127131 127175 + Identifier 127131 127144 + Identifier 127145 127156 + Identifier 127157 127174 + BarBarToken 127175 127178 + BinaryExpression 127178 127245 + PropertyAccessExpression 127178 127219 + Identifier 127178 127215 + Identifier 127216 127219 + LessThanToken 127219 127221 + PropertyAccessExpression 127221 127245 + Identifier 127221 127241 + Identifier 127242 127245 + ReturnStatement 127265 127517 + CallExpression 127401 127516 + Identifier 127401 127436 + AsExpression 127437 127508 + CallExpression 127437 127493 + Identifier 127437 127448 + Identifier 127449 127460 + PropertyAccessExpression 127461 127492 + Identifier 127461 127472 + Identifier 127473 127492 + TypeReference 127496 127508 + Identifier 127496 127508 + Identifier 127509 127515 + IfStatement 127550 130091 + BinaryExpression 127555 127606 + PropertyAccessExpression 127555 127571 + Identifier 127555 127566 + Identifier 127567 127571 + EqualsEqualsEqualsToken 127571 127575 + PropertyAccessExpression 127575 127606 + Identifier 127575 127586 + Identifier 127587 127606 + Block 127607 127862 + ReturnStatement 127609 127847 + PrefixUnaryExpression 127750 127846 + CallExpression 127752 127846 + Identifier 127752 127803 + AsExpression 127804 127838 + Identifier 127804 127815 + TypeReference 127818 127838 + Identifier 127818 127838 + Identifier 127839 127845 + IfStatement 127880 130091 + CallExpression 127885 127909 + Identifier 127885 127896 + Identifier 127897 127908 + Block 127910 129344 + VariableStatement 127912 128974 + VariableDeclarationList 127912 128973 + VariableDeclaration 128308 128973 + Identifier 128308 128318 + CallExpression 128320 128973 + Identifier 128320 128333 + Identifier 128334 128339 + ArrowFunction 128340 128972 + Parameter 128340 128342 + Identifier 128340 128342 + EqualsGreaterThanToken 128342 128345 + ConditionalExpression 128345 128972 + BinaryExpression 128345 128384 + Identifier 128345 128368 + EqualsEqualsEqualsToken 128368 128372 + Identifier 128372 128384 + QuestionToken 128384 128386 + StringLiteral 128386 128393 + ColonToken 128393 128395 + ConditionalExpression 128395 128972 + CallExpression 128395 128446 + Identifier 128395 128443 + Identifier 128444 128445 + QuestionToken 128446 128448 + BinaryExpression 128448 128480 + PropertyAccessExpression 128448 128464 + PropertyAccessExpression 128448 128457 + Identifier 128448 128450 + Identifier 128451 128457 + Identifier 128458 128464 + EqualsEqualsEqualsToken 128464 128468 + Identifier 128468 128480 + ColonToken 128480 128482 + BinaryExpression 128482 128972 + BinaryExpression 128482 128543 + PrefixUnaryExpression 128482 128525 + Identifier 128509 128525 + AmpersandAmpersandToken 128525 128528 + CallExpression 128528 128543 + Identifier 128528 128540 + Identifier 128541 128542 + AmpersandAmpersandToken 128543 128546 + ParenthesizedExpression 128546 128972 + BinaryExpression 128548 128971 + BinaryExpression 128548 128875 + BinaryExpression 128548 128776 + BinaryExpression 128548 128669 + BinaryExpression 128548 128572 + PropertyAccessExpression 128548 128556 + Identifier 128548 128549 + Identifier 128550 128556 + EqualsEqualsEqualsToken 128556 128560 + Identifier 128560 128572 + BarBarToken 128572 128575 + BinaryExpression 128575 128669 + CallExpression 128575 128634 + Identifier 128575 128624 + PropertyAccessExpression 128625 128633 + Identifier 128625 128626 + Identifier 128627 128633 + AmpersandAmpersandToken 128634 128637 + BinaryExpression 128637 128669 + PropertyAccessExpression 128637 128653 + PropertyAccessExpression 128637 128646 + Identifier 128637 128639 + Identifier 128640 128646 + Identifier 128647 128653 + EqualsEqualsEqualsToken 128653 128657 + Identifier 128657 128669 + BarBarToken 128669 128672 + BinaryExpression 128672 128776 + CallExpression 128672 128741 + Identifier 128672 128731 + PropertyAccessExpression 128732 128740 + Identifier 128732 128733 + Identifier 128734 128740 + AmpersandAmpersandToken 128741 128744 + BinaryExpression 128744 128776 + PropertyAccessExpression 128744 128760 + PropertyAccessExpression 128744 128753 + Identifier 128744 128746 + Identifier 128747 128753 + Identifier 128754 128760 + EqualsEqualsEqualsToken 128760 128764 + Identifier 128764 128776 + BarBarToken 128776 128779 + BinaryExpression 128779 128875 + CallExpression 128779 128840 + Identifier 128779 128830 + PropertyAccessExpression 128831 128839 + Identifier 128831 128832 + Identifier 128833 128839 + AmpersandAmpersandToken 128840 128843 + BinaryExpression 128843 128875 + PropertyAccessExpression 128843 128859 + PropertyAccessExpression 128843 128852 + Identifier 128843 128845 + Identifier 128846 128852 + Identifier 128853 128859 + EqualsEqualsEqualsToken 128859 128863 + Identifier 128863 128875 + BarBarToken 128875 128878 + BinaryExpression 128878 128971 + CallExpression 128878 128929 + Identifier 128878 128919 + PropertyAccessExpression 128920 128928 + Identifier 128920 128921 + Identifier 128922 128928 + AmpersandAmpersandToken 128929 128932 + BinaryExpression 128932 128971 + PropertyAccessExpression 128932 128955 + PropertyAccessExpression 128932 128948 + PropertyAccessExpression 128932 128941 + Identifier 128932 128934 + Identifier 128935 128941 + Identifier 128942 128948 + Identifier 128949 128955 + EqualsEqualsEqualsToken 128955 128959 + Identifier 128959 128971 + IfStatement 128974 129062 + PrefixUnaryExpression 128996 129006 + Identifier 128997 129006 + Block 129007 129062 + ReturnStatement 129009 129043 + TrueKeyword 129037 129042 + IfStatement 129062 129298 + BinaryExpression 129084 129127 + PrefixUnaryExpression 129084 129101 + Identifier 129085 129101 + AmpersandAmpersandToken 129101 129104 + CallExpression 129104 129127 + Identifier 129104 129116 + Identifier 129117 129126 + Block 129128 129298 + ReturnStatement 129130 129279 + PrefixUnaryExpression 129158 129278 + PrefixUnaryExpression 129160 129278 + CallExpression 129161 129278 + Identifier 129161 129173 + Identifier 129174 129179 + ArrowFunction 129180 129277 + Parameter 129180 129182 + Identifier 129180 129182 + EqualsGreaterThanToken 129182 129185 + ConditionalExpression 129185 129277 + BinaryExpression 129185 129201 + Identifier 129185 129187 + EqualsEqualsEqualsToken 129187 129191 + Identifier 129191 129201 + QuestionToken 129201 129203 + StringLiteral 129203 129210 + ColonToken 129210 129212 + BinaryExpression 129212 129277 + CallExpression 129212 129230 + Identifier 129212 129227 + Identifier 129228 129229 + AmpersandAmpersandToken 129230 129233 + PrefixUnaryExpression 129233 129277 + CallExpression 129235 129277 + Identifier 129235 129274 + Identifier 129275 129276 + ReturnStatement 129298 129329 + FalseKeyword 129322 129328 + IfStatement 129362 130091 + CallExpression 129367 129401 + Identifier 129367 129388 + Identifier 129389 129400 + Block 129402 129664 + ReturnStatement 129404 129649 + PrefixUnaryExpression 129538 129648 + CallExpression 129540 129648 + Identifier 129540 129588 + Identifier 129589 129600 + Identifier 129601 129607 + FalseKeyword 129608 129647 + IfStatement 129682 130091 + CallExpression 129687 129750 + Identifier 129687 129717 + Identifier 129718 129729 + PropertyAccessExpression 129730 129749 + Identifier 129730 129742 + Identifier 129743 129749 + Block 129751 130091 + ReturnStatement 129753 130076 + PrefixUnaryExpression 129883 130075 + ParenthesizedExpression 129885 130075 + BinaryExpression 129886 130074 + BinaryExpression 129886 129995 + Identifier 129886 129909 + AmpersandAmpersandToken 129909 129933 + BinaryExpression 129933 129995 + CallExpression 129933 129965 + Identifier 129933 129952 + Identifier 129953 129964 + EqualsEqualsEqualsToken 129965 129969 + CallExpression 129969 129995 + Identifier 129969 129988 + Identifier 129989 129994 + AmpersandAmpersandToken 129995 130019 + CallExpression 130019 130074 + Identifier 130019 130054 + Identifier 130055 130060 + Identifier 130061 130073 + ReturnStatement 130091 130117 + TrueKeyword 130111 130116 + IfStatement 130128 131013 + BinaryExpression 130722 130878 + BinaryExpression 130722 130770 + PropertyAccessExpression 130722 130739 + PropertyAccessExpression 130722 130734 + Identifier 130722 130727 + Identifier 130728 130734 + Identifier 130735 130739 + EqualsEqualsEqualsToken 130739 130743 + PropertyAccessExpression 130743 130770 + Identifier 130743 130754 + Identifier 130755 130770 + BarBarToken 130770 130773 + ParenthesizedExpression 130773 130878 + BinaryExpression 130775 130877 + BinaryExpression 130775 130824 + PropertyAccessExpression 130775 130792 + PropertyAccessExpression 130775 130787 + Identifier 130775 130780 + Identifier 130781 130787 + Identifier 130788 130792 + EqualsEqualsEqualsToken 130792 130796 + PropertyAccessExpression 130796 130824 + Identifier 130796 130807 + Identifier 130808 130824 + AmpersandAmpersandToken 130824 130827 + PropertyAccessExpression 130827 130877 + ParenthesizedExpression 130827 130862 + AsExpression 130829 130861 + PropertyAccessExpression 130829 130841 + Identifier 130829 130834 + Identifier 130835 130841 + TypeReference 130844 130861 + Identifier 130844 130861 + Identifier 130863 130877 + Block 130879 131013 + ReturnStatement 130881 131002 + TrueKeyword 130996 131001 + IfStatement 131013 131266 + BinaryExpression 131138 131226 + BinaryExpression 131138 131180 + PropertyAccessExpression 131138 131148 + Identifier 131138 131143 + Identifier 131144 131148 + EqualsEqualsEqualsToken 131148 131152 + PropertyAccessExpression 131152 131180 + Identifier 131152 131163 + Identifier 131164 131180 + AmpersandAmpersandToken 131180 131183 + PropertyAccessExpression 131183 131226 + ParenthesizedExpression 131183 131211 + AsExpression 131185 131210 + Identifier 131185 131190 + TypeReference 131193 131210 + Identifier 131193 131210 + Identifier 131212 131226 + Block 131227 131266 + ReturnStatement 131229 131255 + TrueKeyword 131249 131254 + IfStatement 131266 131816 + CallExpression 131282 131336 + Identifier 131282 131316 + Identifier 131317 131322 + Identifier 131323 131335 + Block 131337 131816 + IfStatement 131339 131805 + BinaryExpression 131357 131574 + BinaryExpression 131357 131450 + Identifier 131357 131398 + AmpersandAmpersandToken 131398 131418 + CallExpression 131418 131450 + Identifier 131418 131437 + Identifier 131438 131449 + AmpersandAmpersandToken 131450 131470 + ParenthesizedExpression 131470 131574 + BinaryExpression 131472 131573 + CallExpression 131472 131506 + Identifier 131472 131493 + Identifier 131494 131505 + BarBarToken 131506 131509 + CallExpression 131509 131573 + Identifier 131509 131540 + Identifier 131541 131552 + PropertyAccessExpression 131553 131572 + Identifier 131553 131565 + Identifier 131566 131572 + Block 131589 131740 + ReturnStatement 131591 131725 + PrefixUnaryExpression 131615 131724 + CallExpression 131617 131724 + Identifier 131617 131665 + Identifier 131666 131677 + Identifier 131678 131684 + TrueKeyword 131685 131723 + Block 131758 131805 + ReturnStatement 131760 131790 + TrueKeyword 131784 131789 + ReturnStatement 131816 131839 + FalseKeyword 131832 131838 + FunctionDeclaration 131839 132839 + Identifier 131859 131911 + Parameter 131912 131944 + Identifier 131912 131923 + TypeReference 131924 131944 + Identifier 131924 131944 + Parameter 131945 131957 + Identifier 131945 131951 + TypeReference 131952 131957 + Identifier 131952 131957 + BooleanKeyword 131959 131967 + Block 131967 132839 + SwitchStatement 131969 132556 + PropertyAccessExpression 131991 132021 + PropertyAccessExpression 131991 132016 + PropertyAccessExpression 131991 132009 + Identifier 131991 132002 + Identifier 132003 132009 + Identifier 132010 132016 + Identifier 132017 132021 + CaseBlock 132022 132556 + CaseClause 132024 132076 + PropertyAccessExpression 132046 132075 + Identifier 132046 132057 + Identifier 132058 132075 + CaseClause 132076 132123 + PropertyAccessExpression 132098 132122 + Identifier 132098 132109 + Identifier 132110 132122 + CaseClause 132123 132541 + PropertyAccessExpression 132145 132171 + Identifier 132145 132156 + Identifier 132157 132171 + IfStatement 132172 132513 + CallExpression 132391 132449 + Identifier 132391 132414 + Identifier 132415 132420 + Identifier 132421 132433 + Identifier 132434 132448 + Block 132450 132513 + ReturnStatement 132452 132490 + TrueKeyword 132484 132489 + BreakStatement 132513 132541 + VariableStatement 132556 132700 + VariableDeclarationList 132556 132699 + VariableDeclaration 132659 132699 + Identifier 132659 132671 + PropertyAccessExpression 132673 132699 + PropertyAccessExpression 132673 132692 + Identifier 132673 132685 + Identifier 132686 132692 + Identifier 132693 132699 + ReturnStatement 132700 132828 + BinaryExpression 132720 132827 + CallExpression 132720 132754 + Identifier 132720 132741 + Identifier 132742 132753 + AmpersandAmpersandToken 132754 132757 + CallExpression 132757 132827 + Identifier 132757 132781 + Identifier 132782 132787 + PropertyAccessExpression 132788 132811 + Identifier 132788 132800 + Identifier 132801 132811 + Identifier 132812 132826 + FunctionDeclaration 132839 135219 + Identifier 132859 132894 + Parameter 132895 132906 + Identifier 132895 132900 + TypeReference 132901 132906 + Identifier 132901 132906 + Parameter 132907 132925 + Identifier 132907 132919 + TypeReference 132920 132925 + Identifier 132920 132925 + BooleanKeyword 132927 132935 + Block 132935 135219 + ReturnStatement 132937 135208 + PrefixUnaryExpression 132957 135207 + PrefixUnaryExpression 132959 135207 + CallExpression 132960 135207 + Identifier 132960 132972 + Identifier 132973 132978 + ArrowFunction 132979 135206 + Parameter 132979 132987 + Identifier 132979 132987 + EqualsGreaterThanToken 132987 132990 + Block 132990 135206 + IfStatement 132992 133097 + BinaryExpression 133014 133039 + Identifier 133014 133021 + EqualsEqualsEqualsToken 133021 133025 + Identifier 133025 133039 + Block 133040 133097 + ReturnStatement 133042 133078 + StringLiteral 133070 133077 + IfStatement 133097 133198 + CallExpression 133119 133142 + Identifier 133119 133133 + Identifier 133134 133141 + Block 133143 133198 + ReturnStatement 133145 133179 + TrueKeyword 133173 133178 + IfStatement 133198 133337 + CallExpression 133220 133258 + Identifier 133220 133249 + Identifier 133250 133257 + Block 133259 133337 + ReturnStatement 133261 133318 + BinaryExpression 133289 133317 + PropertyAccessExpression 133289 133305 + Identifier 133289 133301 + Identifier 133302 133305 + LessThanToken 133305 133307 + PropertyAccessExpression 133307 133317 + Identifier 133307 133313 + Identifier 133314 133317 + VariableStatement 133337 133432 + VariableDeclarationList 133337 133431 + VariableDeclaration 133362 133431 + Identifier 133362 133382 + CallExpression 133384 133431 + Identifier 133384 133392 + PropertyAccessExpression 133393 133407 + Identifier 133393 133400 + Identifier 133401 133407 + Identifier 133408 133430 + IfStatement 133432 135160 + Identifier 133454 133473 + Block 133474 135160 + VariableStatement 133476 133572 + VariableDeclarationList 133476 133571 + VariableDeclaration 133503 133571 + Identifier 133503 133525 + BinaryExpression 133527 133571 + PropertyAccessExpression 133527 133559 + Identifier 133527 133547 + Identifier 133548 133559 + EqualsEqualsEqualsToken 133559 133563 + Identifier 133563 133571 + IfStatement 133572 135141 + Identifier 133598 133619 + Block 133620 135141 + IfStatement 133622 135118 + CallExpression 133652 133676 + Identifier 133652 133660 + PropertyAccessExpression 133661 133675 + Identifier 133661 133668 + Identifier 133669 133675 + Block 133677 134704 + IfStatement 133679 133842 + BinaryExpression 133713 133762 + PropertyAccessExpression 133713 133729 + Identifier 133713 133724 + Identifier 133725 133729 + EqualsEqualsEqualsToken 133729 133733 + PropertyAccessExpression 133733 133762 + Identifier 133733 133744 + Identifier 133745 133762 + Block 133763 133842 + ReturnStatement 133765 133811 + TrueKeyword 133805 133810 + IfStatement 133842 134677 + BinaryExpression 133876 133975 + CallExpression 133876 133910 + Identifier 133876 133897 + Identifier 133898 133909 + AmpersandAmpersandToken 133910 133913 + BinaryExpression 133913 133975 + CallExpression 133913 133939 + Identifier 133913 133932 + Identifier 133933 133938 + EqualsEqualsEqualsToken 133939 133943 + CallExpression 133943 133975 + Identifier 133943 133962 + Identifier 133963 133974 + Block 133976 134677 + VariableStatement 133978 134046 + VariableDeclarationList 133978 134045 + VariableDeclaration 134017 134045 + Identifier 134017 134026 + PropertyAccessExpression 134028 134045 + Identifier 134028 134040 + Identifier 134041 134045 + IfStatement 134046 134646 + BinaryExpression 134084 134139 + CallExpression 134084 134106 + Identifier 134084 134096 + Identifier 134097 134105 + BarBarToken 134106 134109 + CallExpression 134109 134139 + Identifier 134109 134129 + Identifier 134130 134138 + Block 134140 134646 + VariableStatement 134142 134246 + VariableDeclarationList 134142 134245 + VariableDeclaration 134185 134245 + Identifier 134185 134190 + CallExpression 134192 134245 + Identifier 134192 134208 + CallExpression 134209 134244 + Identifier 134209 134231 + Identifier 134232 134243 + VariableStatement 134246 134371 + VariableDeclarationList 134246 134370 + VariableDeclaration 134289 134370 + Identifier 134289 134302 + CallExpression 134304 134370 + Identifier 134304 134311 + PropertyAccessExpression 134312 134338 + PropertyAccessExpression 134312 134330 + Identifier 134312 134323 + Identifier 134324 134330 + Identifier 134331 134338 + Identifier 134339 134369 + IfStatement 134371 134611 + CallExpression 134413 134515 + Identifier 134413 134448 + Identifier 134449 134457 + Identifier 134458 134463 + Identifier 134464 134477 + PropertyAccessExpression 134478 134501 + PropertyAccessExpression 134478 134497 + Identifier 134478 134490 + Identifier 134491 134497 + Identifier 134498 134501 + PropertyAccessExpression 134502 134514 + Identifier 134502 134510 + Identifier 134511 134514 + Block 134516 134611 + ReturnStatement 134518 134572 + TrueKeyword 134566 134571 + Block 134734 135118 + VariableStatement 134736 134882 + VariableDeclarationList 134736 134881 + VariableDeclaration 134771 134881 + Identifier 134771 134801 + BinaryExpression 134803 134881 + BinaryExpression 134803 134855 + PropertyAccessExpression 134803 134820 + Identifier 134803 134815 + Identifier 134816 134820 + EqualsEqualsEqualsToken 134820 134824 + PropertyAccessExpression 134824 134855 + Identifier 134824 134835 + Identifier 134836 134855 + AmpersandAmpersandToken 134855 134858 + PrefixUnaryExpression 134858 134881 + CallExpression 134860 134881 + Identifier 134860 134868 + Identifier 134869 134880 + IfStatement 134882 135091 + BinaryExpression 134916 135011 + PrefixUnaryExpression 134916 134946 + Identifier 134917 134946 + BarBarToken 134946 134949 + BinaryExpression 134949 135011 + CallExpression 134949 134975 + Identifier 134949 134968 + Identifier 134969 134974 + ExclamationEqualsEqualsToken 134975 134979 + CallExpression 134979 135011 + Identifier 134979 134998 + Identifier 134999 135010 + Block 135012 135091 + ReturnStatement 135014 135060 + TrueKeyword 135054 135059 + ReturnStatement 135160 135191 + FalseKeyword 135184 135190 + FunctionDeclaration 135219 137346 + Identifier 135352 135401 + Parameter 135402 135465 + Identifier 135402 135413 + UnionType 135414 135465 + TypeReference 135414 135434 + Identifier 135414 135434 + TypeReference 135436 135465 + Identifier 135436 135465 + Parameter 135466 135478 + Identifier 135466 135472 + TypeReference 135473 135478 + Identifier 135473 135478 + Parameter 135479 135517 + Identifier 135479 135508 + BooleanKeyword 135509 135517 + Block 135518 137346 + IfStatement 135520 135673 + BinaryExpression 135597 135624 + PropertyAccessExpression 135597 135606 + Identifier 135597 135602 + Identifier 135603 135606 + GreaterThanToken 135606 135608 + PropertyAccessExpression 135608 135624 + Identifier 135608 135620 + Identifier 135621 135624 + Block 135625 135673 + ReturnStatement 135627 135658 + FalseKeyword 135651 135657 + VariableStatement 135673 137267 + VariableDeclarationList 135673 137266 + VariableDeclaration 135887 137266 + Identifier 135887 135918 + CallExpression 135920 137266 + Identifier 135920 135933 + Identifier 135934 135939 + ArrowFunction 135940 137265 + Parameter 135942 135952 + Identifier 135942 135946 + TypeReference 135947 135952 + Identifier 135947 135952 + EqualsGreaterThanToken 135953 135956 + Block 135956 137265 + IfStatement 135958 136058 + BinaryExpression 135980 136000 + Identifier 135980 135984 + EqualsEqualsEqualsToken 135984 135988 + Identifier 135988 136000 + Block 136001 136058 + ReturnStatement 136003 136039 + StringLiteral 136031 136038 + SwitchStatement 136058 137250 + PropertyAccessExpression 136086 136095 + Identifier 136086 136090 + Identifier 136091 136095 + CaseBlock 136096 137250 + CaseClause 136098 136188 + PropertyAccessExpression 136124 136149 + Identifier 136124 136135 + Identifier 136136 136149 + ReturnStatement 136150 136188 + TrueKeyword 136182 136187 + CaseClause 136188 136727 + PropertyAccessExpression 136214 136245 + Identifier 136214 136225 + Identifier 136226 136245 + ReturnStatement 136246 136727 + ConditionalExpression 136392 136726 + BinaryExpression 136392 136681 + Identifier 136392 136421 + AmpersandAmpersandToken 136421 136424 + ParenthesizedExpression 136424 136681 + BinaryExpression 136459 136680 + BinaryExpression 136459 136531 + CallExpression 136459 136493 + Identifier 136459 136480 + Identifier 136481 136492 + AmpersandAmpersandToken 136493 136496 + BinaryExpression 136496 136531 + PropertyAccessExpression 136496 136508 + Identifier 136496 136501 + Identifier 136502 136508 + EqualsEqualsEqualsToken 136508 136512 + PropertyAccessExpression 136512 136531 + Identifier 136512 136524 + Identifier 136525 136531 + BarBarToken 136531 136571 + BinaryExpression 136571 136680 + CallExpression 136571 136635 + Identifier 136571 136602 + Identifier 136603 136614 + PropertyAccessExpression 136615 136634 + Identifier 136615 136627 + Identifier 136628 136634 + AmpersandAmpersandToken 136635 136638 + BinaryExpression 136638 136680 + PropertyAccessExpression 136638 136650 + Identifier 136638 136643 + Identifier 136644 136650 + EqualsEqualsEqualsToken 136650 136654 + PropertyAccessExpression 136654 136680 + PropertyAccessExpression 136654 136673 + Identifier 136654 136666 + Identifier 136667 136673 + Identifier 136674 136680 + QuestionToken 136681 136712 + StringLiteral 136712 136719 + ColonToken 136719 136721 + TrueKeyword 136721 136726 + CaseClause 136727 137162 + PropertyAccessExpression 136753 136770 + Identifier 136753 136764 + Identifier 136765 136770 + SwitchStatement 136771 137162 + PropertyAccessExpression 136805 136821 + PropertyAccessExpression 136805 136816 + Identifier 136805 136809 + Identifier 136810 136816 + Identifier 136817 136821 + CaseBlock 136822 137162 + CaseClause 136824 136882 + PropertyAccessExpression 136858 136881 + Identifier 136858 136869 + Identifier 136870 136881 + CaseClause 136882 136946 + PropertyAccessExpression 136916 136945 + Identifier 136916 136927 + Identifier 136928 136945 + CaseClause 136946 137050 + PropertyAccessExpression 136980 137003 + Identifier 136980 136991 + Identifier 136992 137003 + ReturnStatement 137004 137050 + TrueKeyword 137044 137049 + DefaultClause 137050 137135 + ReturnStatement 137088 137135 + FalseKeyword 137128 137134 + DefaultClause 137162 137231 + ReturnStatement 137192 137231 + FalseKeyword 137224 137230 + ReturnStatement 137267 137335 + BinaryExpression 137289 137334 + Identifier 137289 137320 + EqualsEqualsEqualsToken 137320 137324 + Identifier 137324 137334 + FunctionDeclaration 137353 137504 + Identifier 137369 137397 + Parameter 137398 137427 + Identifier 137398 137402 + TypeReference 137403 137427 + Identifier 137403 137427 + Block 137428 137504 + ReturnStatement 137430 137497 + PropertyAccessExpression 137446 137496 + CallExpression 137446 137465 + Identifier 137446 137459 + Identifier 137460 137464 + Identifier 137466 137496 + FunctionDeclaration 137504 137670 + Identifier 137518 137546 + Parameter 137547 137576 + Identifier 137547 137551 + TypeReference 137552 137576 + Identifier 137552 137576 + Parameter 137577 137592 + Identifier 137577 137583 + BooleanKeyword 137584 137592 + Block 137593 137670 + ExpressionStatement 137595 137663 + BinaryExpression 137595 137662 + PropertyAccessExpression 137595 137654 + CallExpression 137595 137623 + Identifier 137595 137617 + Identifier 137618 137622 + Identifier 137624 137654 + EqualsToken 137654 137656 + Identifier 137656 137662 + FunctionDeclaration 137670 139239 + Identifier 137858 137899 + Parameter 137900 137931 + Identifier 137900 137913 + UnionType 137914 137931 + TypeReference 137914 137919 + Identifier 137914 137919 + UndefinedKeyword 137921 137931 + Parameter 137932 137947 + Identifier 137932 137937 + TypeReference 137938 137947 + Identifier 137938 137947 + Parameter 137948 138000 + Identifier 137948 137979 + TypeReference 137980 138000 + Identifier 137980 138000 + Parameter 138001 138028 + Identifier 138001 138008 + UnionType 138009 138028 + TypeReference 138009 138016 + Identifier 138009 138016 + UndefinedKeyword 138018 138028 + Block 138029 139239 + IfStatement 138031 139209 + PrefixUnaryExpression 138045 138069 + Identifier 138046 138069 + Block 138070 139209 + IfStatement 138072 138228 + BinaryExpression 138090 138180 + BinaryExpression 138090 138114 + Identifier 138090 138103 + AmpersandAmpersandToken 138103 138106 + PrefixUnaryExpression 138106 138114 + Identifier 138108 138114 + AmpersandAmpersandToken 138114 138117 + CallExpression 138117 138180 + Identifier 138117 138153 + Identifier 138154 138167 + Identifier 138168 138173 + Identifier 138174 138179 + Block 138181 138228 + ReturnStatement 138183 138213 + TrueKeyword 138207 138212 + ExpressionStatement 138228 139172 + CallExpression 138228 139171 + Identifier 138228 138577 + Identifier 138578 138609 + ConditionalExpression 138610 139037 + BinaryExpression 138610 138774 + BinaryExpression 138610 138680 + Identifier 138610 138641 + AmpersandAmpersandToken 138641 138644 + PropertyAccessExpression 138644 138680 + Identifier 138644 138675 + Identifier 138676 138680 + AmpersandAmpersandToken 138680 138683 + CallExpression 138683 138774 + Identifier 138683 138718 + PropertyAccessExpression 138719 138754 + Identifier 138719 138749 + Identifier 138750 138754 + PropertyAccessExpression 138755 138773 + Identifier 138755 138769 + Identifier 138770 138773 + QuestionToken 138774 138797 + PropertyAccessExpression 138797 138902 + Identifier 138797 138809 + Identifier 138810 138902 + ColonToken 138902 138925 + PropertyAccessExpression 138925 139037 + Identifier 138925 138937 + Identifier 138938 139037 + CallExpression 139038 139116 + Identifier 139038 139079 + PropertyAccessExpression 139080 139115 + Identifier 139080 139110 + Identifier 139111 139115 + CallExpression 139117 139155 + Identifier 139117 139149 + Identifier 139150 139154 + ReturnStatement 139172 139198 + TrueKeyword 139192 139197 + ReturnStatement 139209 139232 + FalseKeyword 139225 139231 + FunctionDeclaration 139239 143083 + Identifier 139253 139277 + Parameter 139278 139319 + Identifier 139278 139301 + UnionType 139302 139319 + TypeReference 139302 139307 + Identifier 139302 139307 + UndefinedKeyword 139309 139319 + Parameter 139320 139360 + Identifier 139320 139337 + UnionType 139338 139360 + TypeReference 139338 139347 + Identifier 139338 139347 + TypeReference 139349 139360 + Identifier 139349 139360 + Parameter 139361 139391 + Identifier 139361 139378 + TypeReference 139379 139391 + Identifier 139379 139391 + Parameter 139392 139440 + Identifier 139392 139421 + TypeReference 139422 139440 + Identifier 139422 139440 + Block 139448 143083 + VariableStatement 139450 139539 + VariableDeclarationList 139450 139538 + VariableDeclaration 139465 139538 + Identifier 139465 139470 + ConditionalExpression 139472 139538 + CallExpression 139472 139490 + Identifier 139472 139481 + Identifier 139482 139489 + QuestionToken 139490 139492 + Identifier 139492 139500 + ColonToken 139500 139502 + PropertyAccessExpression 139502 139538 + ParenthesizedExpression 139502 139526 + AsExpression 139504 139525 + Identifier 139504 139511 + TypeReference 139514 139525 + Identifier 139514 139525 + Identifier 139527 139538 + ExpressionStatement 139539 143076 + CallExpression 139539 143075 + Identifier 139539 139566 + ArrowFunction 139567 143074 + EqualsGreaterThanToken 139569 139572 + Block 139572 143074 + IfStatement 139574 143063 + BinaryExpression 139592 140349 + PrefixUnaryExpression 139592 139624 + Identifier 139611 139624 + BarBarToken 139624 139627 + BinaryExpression 139627 140349 + BinaryExpression 139627 140255 + BinaryExpression 139627 140161 + BinaryExpression 139627 140056 + BinaryExpression 139627 139965 + BinaryExpression 139627 139867 + BinaryExpression 139627 139786 + BinaryExpression 139627 139695 + PropertyAccessExpression 139627 139670 + PropertyAccessExpression 139627 139665 + Identifier 139627 139658 + Identifier 139659 139665 + Identifier 139666 139670 + ExclamationEqualsEqualsToken 139670 139674 + PropertyAccessExpression 139674 139695 + Identifier 139674 139685 + Identifier 139686 139695 + AmpersandAmpersandToken 139695 139698 + PrefixUnaryExpression 139698 139786 + CallExpression 139721 139786 + Identifier 139721 139756 + Identifier 139757 139770 + Identifier 139771 139776 + Identifier 139777 139785 + AmpersandAmpersandToken 139786 139789 + PrefixUnaryExpression 139789 139867 + CallExpression 139812 139867 + Identifier 139812 139852 + Identifier 139853 139866 + AmpersandAmpersandToken 139867 139870 + PrefixUnaryExpression 139870 139965 + CallExpression 139893 139965 + Identifier 139893 139935 + Identifier 139936 139949 + Identifier 139950 139955 + Identifier 139956 139964 + AmpersandAmpersandToken 139965 139968 + PrefixUnaryExpression 139968 140056 + CallExpression 139991 140056 + Identifier 139991 140035 + Identifier 140036 140049 + Identifier 140050 140055 + AmpersandAmpersandToken 140056 140059 + PrefixUnaryExpression 140059 140161 + CallExpression 140082 140161 + Identifier 140082 140131 + Identifier 140132 140145 + Identifier 140146 140151 + Identifier 140152 140160 + AmpersandAmpersandToken 140161 140164 + PrefixUnaryExpression 140164 140255 + CallExpression 140187 140255 + Identifier 140187 140225 + Identifier 140226 140239 + Identifier 140240 140245 + Identifier 140246 140254 + AmpersandAmpersandToken 140255 140258 + PrefixUnaryExpression 140258 140349 + CallExpression 140281 140349 + Identifier 140281 140319 + Identifier 140320 140333 + Identifier 140334 140339 + Identifier 140340 140348 + Block 140364 143063 + VariableStatement 140366 140419 + VariableDeclarationList 140366 140418 + VariableDeclaration 140387 140418 + Identifier 140387 140398 + UnionType 140399 140418 + TypeReference 140399 140406 + Identifier 140399 140406 + UndefinedKeyword 140408 140418 + VariableStatement 140419 140474 + VariableDeclarationList 140419 140473 + VariableDeclaration 140440 140473 + Identifier 140440 140453 + UnionType 140454 140473 + StringKeyword 140454 140461 + UndefinedKeyword 140463 140473 + IfStatement 140474 140821 + Identifier 140541 140548 + Block 140549 140821 + ExpressionStatement 140551 140631 + BinaryExpression 140551 140630 + Identifier 140551 140585 + EqualsToken 140585 140587 + CallExpression 140587 140630 + Identifier 140587 140621 + Identifier 140622 140629 + IfStatement 140631 140802 + Identifier 140657 140669 + Block 140670 140802 + ExpressionStatement 140672 140779 + CallExpression 140672 140778 + Identifier 140672 140703 + Identifier 140704 140717 + Identifier 140718 140738 + CallExpression 140739 140763 + Identifier 140739 140754 + Identifier 140755 140762 + Identifier 140764 140777 + IfStatement 140821 142774 + BinaryExpression 140889 140946 + PrefixUnaryExpression 140889 140902 + Identifier 140890 140902 + AmpersandAmpersandToken 140902 140905 + BinaryExpression 140905 140946 + Identifier 140905 140921 + LessThanToken 140921 140923 + Identifier 140923 140946 + Block 140947 142774 + ExpressionStatement 140949 141053 + BinaryExpression 140949 141052 + Identifier 140949 140981 + EqualsToken 140981 140983 + CallExpression 140983 141052 + Identifier 140983 141022 + Identifier 141023 141036 + Identifier 141037 141042 + Identifier 141043 141051 + VariableStatement 141053 141255 + VariableDeclarationList 141053 141254 + VariableDeclaration 141080 141254 + Identifier 141080 141117 + BinaryExpression 141119 141254 + BinaryExpression 141119 141196 + PropertyAccessExpression 141119 141148 + Identifier 141119 141130 + QuestionDotToken 141130 141132 + Identifier 141132 141148 + AmpersandAmpersandToken 141148 141151 + CallExpression 141151 141196 + Identifier 141151 141167 + PropertyAccessExpression 141168 141195 + Identifier 141168 141178 + Identifier 141179 141195 + AmpersandAmpersandToken 141196 141199 + CallExpression 141199 141254 + Identifier 141199 141225 + PropertyAccessExpression 141226 141253 + Identifier 141226 141236 + Identifier 141237 141253 + IfStatement 141255 141392 + Identifier 141281 141317 + Block 141318 141392 + ExpressionStatement 141320 141369 + BinaryExpression 141320 141368 + Identifier 141320 141356 + EqualsToken 141356 141358 + Identifier 141358 141368 + IfStatement 141392 142755 + Identifier 141418 141428 + Block 141429 142755 + VariableStatement 141431 141507 + VariableDeclarationList 141431 141506 + VariableDeclaration 141462 141506 + Identifier 141462 141477 + CallExpression 141479 141506 + Identifier 141479 141494 + Identifier 141495 141505 + VariableStatement 141507 141632 + VariableDeclarationList 141507 141631 + VariableDeclaration 141538 141631 + Identifier 141538 141552 + CallExpression 141554 141631 + Identifier 141554 141578 + Identifier 141579 141592 + Identifier 141593 141604 + FalseKeyword 141605 141630 + VariableStatement 141632 142068 + VariableDeclarationList 141632 142067 + VariableDeclaration 141663 142067 + Identifier 141663 141671 + ConditionalExpression 141673 142067 + BinaryExpression 141673 141812 + BinaryExpression 141673 141707 + Identifier 141673 141681 + EqualsEqualsEqualsToken 141681 141685 + PropertyAccessExpression 141685 141707 + Identifier 141685 141697 + Identifier 141698 141707 + BarBarToken 141707 141710 + BinaryExpression 141710 141812 + BinaryExpression 141710 141782 + Identifier 141710 141751 + AmpersandAmpersandToken 141751 141754 + BinaryExpression 141754 141782 + TypeOfExpression 141754 141769 + Identifier 141761 141769 + ExclamationEqualsEqualsToken 141769 141773 + StringLiteral 141773 141782 + AmpersandAmpersandToken 141782 141785 + CallExpression 141785 141812 + Identifier 141785 141803 + Identifier 141804 141811 + QuestionToken 141812 141814 + PropertyAccessExpression 141814 141894 + Identifier 141814 141855 + Identifier 141856 141894 + ColonToken 141894 141925 + ConditionalExpression 141925 142067 + Identifier 141925 141939 + QuestionToken 141939 141941 + PropertyAccessExpression 141941 141990 + Identifier 141941 141953 + Identifier 141954 141990 + ColonToken 141990 142021 + PropertyAccessExpression 142021 142067 + Identifier 142021 142033 + Identifier 142034 142067 + VariableStatement 142068 142190 + VariableDeclarationList 142068 142189 + VariableDeclaration 142099 142189 + Identifier 142099 142110 + CallExpression 142112 142189 + Identifier 142112 142124 + Identifier 142125 142138 + Identifier 142139 142147 + CallExpression 142148 142172 + Identifier 142148 142163 + Identifier 142164 142171 + Identifier 142173 142188 + ExpressionStatement 142190 142312 + BinaryExpression 142190 142311 + PropertyAccessExpression 142190 142240 + Identifier 142190 142226 + Identifier 142227 142240 + EqualsToken 142240 142242 + CallExpression 142242 142311 + Identifier 142242 142265 + Identifier 142266 142285 + CallExpression 142286 142310 + Identifier 142286 142301 + Identifier 142302 142309 + ExpressionStatement 142312 142387 + CallExpression 142312 142386 + Identifier 142312 142358 + PrefixUnaryExpression 142359 142373 + Identifier 142360 142373 + Identifier 142374 142385 + IfStatement 142387 142732 + PropertyAccessExpression 142417 142444 + Identifier 142417 142427 + Identifier 142428 142444 + Block 142445 142732 + ExpressionStatement 142447 142705 + CallExpression 142447 142704 + Identifier 142447 142491 + Identifier 142492 142536 + CallExpression 142537 142672 + Identifier 142537 142594 + PropertyAccessExpression 142595 142622 + Identifier 142595 142605 + Identifier 142606 142622 + PropertyAccessExpression 142623 142655 + Identifier 142623 142635 + Identifier 142636 142655 + Identifier 142656 142671 + IfStatement 142774 143012 + BinaryExpression 142862 142901 + BinaryExpression 142862 142890 + PrefixUnaryExpression 142862 142873 + Identifier 142863 142873 + AmpersandAmpersandToken 142873 142876 + PrefixUnaryExpression 142876 142890 + Identifier 142878 142890 + AmpersandAmpersandToken 142890 142893 + Identifier 142893 142901 + Block 142902 143012 + ExpressionStatement 142904 142993 + CallExpression 142904 142992 + Identifier 142904 142931 + Identifier 142932 142945 + Identifier 142946 142966 + CallExpression 142967 142991 + Identifier 142967 142982 + Identifier 142983 142990 + ExpressionStatement 143012 143048 + PostfixUnaryExpression 143012 143047 + Identifier 143012 143045 + FunctionDeclaration 143083 149761 + Identifier 143099 143128 + Parameter 143129 143170 + Identifier 143129 143152 + UnionType 143153 143170 + TypeReference 143153 143158 + Identifier 143153 143158 + UndefinedKeyword 143160 143170 + Parameter 143171 143195 + Identifier 143171 143187 + TypeReference 143188 143195 + Identifier 143188 143195 + Parameter 143196 143226 + Identifier 143196 143213 + TypeReference 143214 143226 + Identifier 143214 143226 + Parameter 143227 143267 + Identifier 143227 143249 + UnionType 143250 143267 + TypeReference 143250 143255 + Identifier 143250 143255 + UndefinedKeyword 143257 143267 + Parameter 143268 143387 + Identifier 143268 143336 + UnionType 143337 143387 + TypeReference 143337 143358 + Identifier 143337 143358 + TypeReference 143360 143375 + Identifier 143360 143375 + UndefinedKeyword 143377 143387 + Parameter 143388 143428 + Identifier 143388 143419 + BooleanKeyword 143420 143428 + Block 143436 149761 + ExpressionStatement 143438 149754 + CallExpression 143438 149753 + Identifier 143438 143465 + ArrowFunction 143466 149752 + EqualsGreaterThanToken 143468 143471 + Block 143471 149752 + VariableStatement 143473 143519 + VariableDeclarationList 143473 143518 + VariableDeclaration 143492 143518 + Identifier 143492 143497 + PropertyAccessExpression 143499 143518 + Identifier 143499 143506 + Identifier 143507 143518 + VariableStatement 143519 143647 + VariableDeclarationList 143519 143646 + VariableDeclaration 143538 143646 + Identifier 143538 143557 + BinaryExpression 143559 143646 + BinaryExpression 143559 143602 + Identifier 143559 143572 + AmpersandAmpersandToken 143572 143575 + CallExpression 143575 143602 + Identifier 143575 143588 + Identifier 143589 143601 + AmpersandAmpersandToken 143602 143605 + CallExpression 143605 143646 + Identifier 143605 143632 + Identifier 143633 143645 + IfStatement 143647 144968 + BinaryExpression 144316 144552 + Identifier 144316 144347 + AmpersandAmpersandToken 144347 144350 + ParenthesizedExpression 144350 144552 + BinaryExpression 144369 144551 + BinaryExpression 144369 144410 + Identifier 144369 144376 + AmpersandToken 144376 144378 + PropertyAccessExpression 144378 144410 + Identifier 144378 144390 + Identifier 144391 144410 + BarBarToken 144410 144413 + ParenthesizedExpression 144413 144551 + BinaryExpression 144436 144550 + ParenthesizedExpression 144436 144495 + BinaryExpression 144437 144494 + BinaryExpression 144437 144464 + Identifier 144437 144444 + AmpersandToken 144444 144446 + PropertyAccessExpression 144446 144464 + Identifier 144446 144458 + Identifier 144459 144464 + BarBarToken 144464 144467 + BinaryExpression 144467 144494 + Identifier 144467 144475 + AmpersandToken 144475 144477 + PropertyAccessExpression 144477 144494 + Identifier 144477 144489 + Identifier 144490 144494 + AmpersandAmpersandToken 144495 144498 + BinaryExpression 144498 144550 + ParenthesizedExpression 144498 144528 + BinaryExpression 144500 144527 + Identifier 144500 144507 + AmpersandToken 144507 144509 + PropertyAccessExpression 144509 144527 + Identifier 144509 144521 + Identifier 144522 144527 + EqualsEqualsEqualsToken 144528 144532 + PropertyAccessExpression 144532 144550 + Identifier 144532 144544 + Identifier 144545 144550 + Block 144567 144968 + VariableStatement 144569 144662 + VariableDeclarationList 144569 144661 + VariableDeclaration 144592 144661 + Identifier 144592 144612 + CallExpression 144614 144661 + Identifier 144614 144653 + Identifier 144654 144660 + IfStatement 144662 144953 + BinaryExpression 144684 144840 + BinaryExpression 144684 144792 + BinaryExpression 144684 144743 + PropertyAccessExpression 144684 144709 + Identifier 144684 144703 + Identifier 144704 144709 + AmpersandToken 144709 144711 + PropertyAccessExpression 144711 144743 + Identifier 144711 144723 + Identifier 144724 144743 + BarBarToken 144743 144746 + BinaryExpression 144746 144792 + PropertyAccessExpression 144746 144772 + Identifier 144746 144766 + Identifier 144767 144772 + AmpersandToken 144772 144774 + PropertyAccessExpression 144774 144792 + Identifier 144774 144786 + Identifier 144787 144792 + BarBarToken 144792 144795 + BinaryExpression 144795 144840 + PropertyAccessExpression 144795 144821 + Identifier 144795 144815 + Identifier 144816 144821 + AmpersandToken 144821 144823 + PropertyAccessExpression 144823 144840 + Identifier 144823 144835 + Identifier 144836 144840 + Block 144841 144953 + ExpressionStatement 144843 144934 + CallExpression 144843 144933 + Identifier 144843 144897 + Identifier 144898 144917 + Identifier 144918 144932 + IfStatement 144968 145720 + BinaryExpression 145106 145224 + BinaryExpression 145106 145179 + Identifier 145106 145124 + AmpersandAmpersandToken 145124 145127 + BinaryExpression 145127 145179 + ParenthesizedExpression 145127 145157 + BinaryExpression 145129 145156 + Identifier 145129 145136 + AmpersandToken 145136 145138 + PropertyAccessExpression 145138 145156 + Identifier 145138 145150 + Identifier 145151 145156 + EqualsEqualsEqualsToken 145157 145161 + PropertyAccessExpression 145161 145179 + Identifier 145161 145173 + Identifier 145174 145179 + AmpersandAmpersandToken 145179 145182 + PrefixUnaryExpression 145182 145224 + ParenthesizedExpression 145184 145224 + BinaryExpression 145185 145223 + PropertyAccessExpression 145185 145205 + NonNullExpression 145185 145199 + Identifier 145185 145198 + Identifier 145200 145205 + AmpersandToken 145205 145207 + PropertyAccessExpression 145207 145223 + Identifier 145207 145217 + Identifier 145218 145223 + Block 145225 145720 + VariableStatement 145227 145284 + VariableDeclarationList 145227 145283 + VariableDeclaration 145250 145283 + Identifier 145250 145257 + CallExpression 145259 145283 + Identifier 145259 145275 + Identifier 145276 145282 + IfStatement 145284 145705 + BinaryExpression 145306 145448 + CallExpression 145306 145333 + Identifier 145306 145312 + PropertyAccessExpression 145313 145332 + Identifier 145313 145319 + Identifier 145320 145332 + AmpersandAmpersandToken 145333 145336 + CallExpression 145336 145448 + Identifier 145336 145342 + PropertyAccessExpression 145343 145362 + Identifier 145343 145349 + Identifier 145350 145362 + ArrowFunction 145363 145447 + Parameter 145363 145365 + Identifier 145363 145365 + EqualsGreaterThanToken 145365 145368 + BinaryExpression 145368 145447 + CallExpression 145368 145400 + Identifier 145368 145397 + Identifier 145398 145399 + BarBarToken 145400 145403 + BinaryExpression 145403 145447 + CallExpression 145403 145419 + Identifier 145403 145416 + Identifier 145417 145418 + AmpersandAmpersandToken 145419 145422 + PrefixUnaryExpression 145422 145447 + PrefixUnaryExpression 145424 145447 + PropertyAccessExpression 145425 145447 + PropertyAccessExpression 145425 145433 + Identifier 145425 145426 + Identifier 145427 145433 + Identifier 145434 145447 + Block 145449 145705 + ExpressionStatement 145451 145686 + CallExpression 145451 145685 + Identifier 145451 145490 + PrefixUnaryExpression 145491 145528 + PropertyAccessExpression 145492 145528 + Identifier 145492 145507 + Identifier 145508 145528 + NonNullExpression 145529 145544 + Identifier 145529 145543 + PropertyAccessExpression 145545 145650 + Identifier 145545 145557 + Identifier 145558 145650 + CallExpression 145651 145684 + Identifier 145651 145678 + Identifier 145679 145683 + IfStatement 145720 147339 + BinaryExpression 145914 146053 + BinaryExpression 145914 145998 + Identifier 145914 145972 + AmpersandAmpersandToken 145972 145975 + PrefixUnaryExpression 145975 145998 + Identifier 145977 145998 + AmpersandAmpersandToken 145998 146001 + BinaryExpression 146001 146053 + ParenthesizedExpression 146001 146031 + BinaryExpression 146003 146030 + Identifier 146003 146010 + AmpersandToken 146010 146012 + PropertyAccessExpression 146012 146030 + Identifier 146012 146024 + Identifier 146025 146030 + EqualsEqualsEqualsToken 146031 146035 + PropertyAccessExpression 146035 146053 + Identifier 146035 146047 + Identifier 146048 146053 + Block 146054 147339 + VariableStatement 146056 146136 + VariableDeclarationList 146056 146135 + VariableDeclaration 146079 146135 + Identifier 146079 146089 + CallExpression 146091 146135 + Identifier 146091 146107 + CallExpression 146108 146134 + Identifier 146108 146126 + Identifier 146127 146133 + VariableStatement 146136 146270 + VariableDeclarationList 146136 146269 + VariableDeclaration 146159 146269 + Identifier 146159 146164 + AsExpression 146166 146269 + CallExpression 146166 146245 + Identifier 146166 146185 + Identifier 146186 146244 + TypeReference 146248 146269 + Identifier 146248 146269 + IfStatement 146270 147324 + BinaryExpression 146409 146505 + Identifier 146409 146418 + EqualsEqualsEqualsToken 146418 146422 + CallExpression 146422 146505 + Identifier 146422 146445 + Identifier 146446 146504 + Block 146506 146709 + ExpressionStatement 146508 146690 + CallExpression 146508 146689 + Identifier 146508 146535 + Identifier 146536 146549 + PropertyAccessExpression 146550 146598 + Identifier 146550 146562 + Identifier 146563 146598 + CallExpression 146599 146688 + Identifier 146599 146623 + PropertyAccessExpression 146624 146687 + Identifier 146624 146682 + Identifier 146683 146687 + IfStatement 146811 147324 + BinaryExpression 146816 147042 + BinaryExpression 146816 146963 + BinaryExpression 146816 146941 + PropertyAccessExpression 146816 146842 + Identifier 146816 146825 + Identifier 146826 146842 + AmpersandAmpersandToken 146842 146845 + BinaryExpression 146845 146941 + PropertyAccessExpression 146845 146876 + PropertyAccessExpression 146845 146872 + Identifier 146845 146855 + Identifier 146856 146872 + Identifier 146873 146876 + GreaterThanToken 146876 146878 + PropertyAccessExpression 146878 146941 + Identifier 146878 146937 + Identifier 146938 146941 + AmpersandAmpersandToken 146941 146944 + PropertyAccessExpression 146944 146963 + PropertyAccessExpression 146944 146956 + Identifier 146944 146949 + Identifier 146950 146956 + Identifier 146957 146963 + AmpersandAmpersandToken 146963 146966 + BinaryExpression 146966 147042 + CallExpression 146966 147028 + Identifier 146966 146976 + PropertyAccessExpression 146977 146995 + PropertyAccessExpression 146977 146988 + Identifier 146977 146981 + Identifier 146982 146988 + Identifier 146989 146995 + PropertyAccessExpression 146996 147018 + Identifier 146996 147006 + Identifier 147007 147018 + Identifier 147019 147027 + EqualsEqualsEqualsToken 147028 147032 + Identifier 147032 147042 + Block 147043 147324 + ExpressionStatement 147045 147305 + CallExpression 147045 147304 + Identifier 147045 147072 + Identifier 147073 147086 + PropertyAccessExpression 147087 147159 + Identifier 147087 147099 + Identifier 147100 147159 + CallExpression 147160 147249 + Identifier 147160 147184 + PropertyAccessExpression 147185 147248 + Identifier 147185 147243 + Identifier 147244 147248 + CallExpression 147250 147303 + Identifier 147250 147274 + AsExpression 147275 147302 + Identifier 147275 147288 + TypeReference 147291 147302 + Identifier 147291 147302 + IfStatement 147339 148453 + BinaryExpression 147357 147523 + BinaryExpression 147357 147476 + BinaryExpression 147357 147437 + BinaryExpression 147357 147401 + Identifier 147357 147370 + AmpersandAmpersandToken 147370 147373 + BinaryExpression 147373 147401 + Identifier 147373 147381 + AmpersandToken 147381 147383 + PropertyAccessExpression 147383 147401 + Identifier 147383 147395 + Identifier 147396 147401 + AmpersandAmpersandToken 147401 147404 + BinaryExpression 147404 147437 + PropertyAccessExpression 147404 147417 + Identifier 147404 147411 + Identifier 147412 147417 + AmpersandToken 147417 147419 + PropertyAccessExpression 147419 147437 + Identifier 147419 147431 + Identifier 147432 147437 + AmpersandAmpersandToken 147437 147440 + PrefixUnaryExpression 147440 147476 + ParenthesizedExpression 147442 147476 + BinaryExpression 147443 147475 + PropertyAccessExpression 147443 147455 + Identifier 147443 147449 + Identifier 147450 147455 + AmpersandToken 147455 147457 + PropertyAccessExpression 147457 147475 + Identifier 147457 147469 + Identifier 147470 147475 + AmpersandAmpersandToken 147476 147479 + PrefixUnaryExpression 147479 147523 + CallExpression 147481 147523 + Identifier 147481 147508 + Identifier 147509 147522 + Block 147524 148453 + VariableStatement 147526 147627 + VariableDeclarationList 147526 147626 + VariableDeclaration 147549 147626 + Identifier 147549 147569 + CallExpression 147571 147626 + Identifier 147571 147599 + Identifier 147600 147606 + PropertyAccessExpression 147607 147625 + Identifier 147607 147619 + Identifier 147620 147625 + IfStatement 147627 148438 + Identifier 147649 147668 + Block 147669 148438 + VariableStatement 147671 148105 + VariableDeclarationList 147671 148104 + VariableDeclaration 147698 148104 + Identifier 147698 147706 + ConditionalExpression 147708 148104 + BinaryExpression 147708 147884 + BinaryExpression 147708 147825 + BinaryExpression 147708 147764 + PropertyAccessExpression 147708 147733 + Identifier 147708 147728 + Identifier 147729 147733 + EqualsEqualsEqualsToken 147733 147737 + PropertyAccessExpression 147737 147764 + Identifier 147737 147748 + Identifier 147749 147764 + BarBarToken 147764 147767 + BinaryExpression 147767 147825 + PropertyAccessExpression 147767 147792 + Identifier 147767 147787 + Identifier 147788 147792 + EqualsEqualsEqualsToken 147792 147796 + PropertyAccessExpression 147796 147825 + Identifier 147796 147807 + Identifier 147808 147825 + BarBarToken 147825 147828 + BinaryExpression 147828 147884 + PropertyAccessExpression 147828 147853 + Identifier 147828 147848 + Identifier 147849 147853 + EqualsEqualsEqualsToken 147853 147857 + PropertyAccessExpression 147857 147884 + Identifier 147857 147868 + Identifier 147869 147884 + QuestionToken 147884 147911 + PropertyAccessExpression 147911 147994 + Identifier 147911 147923 + Identifier 147924 147994 + ColonToken 147994 148021 + PropertyAccessExpression 148021 148104 + Identifier 148021 148033 + Identifier 148034 148104 + VariableStatement 148105 148182 + VariableDeclarationList 148105 148181 + VariableDeclaration 148132 148181 + Identifier 148132 148146 + CallExpression 148148 148181 + Identifier 148148 148175 + Identifier 148176 148180 + ExpressionStatement 148182 148419 + CallExpression 148182 148418 + Identifier 148182 148237 + CallExpression 148238 148308 + Identifier 148238 148269 + Identifier 148270 148283 + Identifier 148284 148292 + Identifier 148293 148307 + Identifier 148309 148354 + Identifier 148355 148394 + IfStatement 148453 149741 + BinaryExpression 148729 148847 + BinaryExpression 148729 148792 + BinaryExpression 148729 148770 + PropertyAccessExpression 148729 148760 + Identifier 148729 148744 + Identifier 148745 148760 + AmpersandAmpersandToken 148760 148763 + Identifier 148763 148770 + AmpersandAmpersandToken 148770 148773 + Identifier 148773 148792 + AmpersandAmpersandToken 148792 148795 + BinaryExpression 148795 148847 + ParenthesizedExpression 148795 148825 + BinaryExpression 148797 148824 + Identifier 148797 148804 + AmpersandToken 148804 148806 + PropertyAccessExpression 148806 148824 + Identifier 148806 148818 + Identifier 148819 148824 + EqualsEqualsEqualsToken 148825 148829 + PropertyAccessExpression 148829 148847 + Identifier 148829 148841 + Identifier 148842 148847 + Block 148848 149741 + VariableStatement 148850 148930 + VariableDeclarationList 148850 148929 + VariableDeclaration 148873 148929 + Identifier 148873 148882 + BinaryExpression 148884 148929 + CallExpression 148884 148918 + Identifier 148884 148894 + Identifier 148895 148902 + Identifier 148903 148908 + Identifier 148909 148917 + EqualsEqualsEqualsToken 148918 148922 + Identifier 148922 148929 + VariableStatement 148930 149093 + VariableDeclarationList 148930 149092 + VariableDeclaration 148953 149092 + Identifier 148953 148968 + BinaryExpression 148970 149092 + BinaryExpression 148970 149032 + BinaryExpression 148970 149009 + Identifier 148970 148979 + AmpersandAmpersandToken 148979 148982 + CallExpression 148982 149009 + Identifier 148982 148995 + Identifier 148996 149008 + AmpersandAmpersandToken 149009 149012 + PropertyAccessExpression 149012 149032 + Identifier 149012 149025 + Identifier 149026 149032 + AmpersandAmpersandToken 149032 149035 + CallExpression 149035 149092 + Identifier 149035 149045 + PropertyAccessExpression 149046 149065 + Identifier 149046 149058 + Identifier 149059 149065 + Identifier 149066 149071 + PrefixUnaryExpression 149072 149091 + PropertyAccessExpression 149074 149091 + Identifier 149074 149085 + Identifier 149086 149091 + IfStatement 149093 149726 + Identifier 149115 149129 + Block 149130 149726 + VariableStatement 149132 149379 + VariableDeclarationList 149132 149378 + VariableDeclaration 149159 149378 + Identifier 149159 149170 + CallExpression 149172 149378 + PropertyAccessExpression 149172 149206 + PropertyAccessExpression 149172 149200 + Identifier 149172 149187 + Identifier 149188 149200 + QuestionDotToken 149200 149202 + Identifier 149202 149206 + ArrowFunction 149207 149377 + Parameter 149207 149208 + Identifier 149207 149208 + EqualsGreaterThanToken 149208 149211 + BinaryExpression 149211 149377 + BinaryExpression 149211 149328 + BinaryExpression 149211 149287 + BinaryExpression 149211 149249 + PropertyAccessExpression 149211 149218 + Identifier 149211 149213 + Identifier 149214 149218 + EqualsEqualsEqualsToken 149218 149222 + PropertyAccessExpression 149222 149249 + Identifier 149222 149233 + Identifier 149234 149249 + BarBarToken 149249 149252 + BinaryExpression 149252 149287 + PropertyAccessExpression 149252 149259 + Identifier 149252 149254 + Identifier 149255 149259 + EqualsEqualsEqualsToken 149259 149263 + PropertyAccessExpression 149263 149287 + Identifier 149263 149274 + Identifier 149275 149287 + BarBarToken 149287 149290 + BinaryExpression 149290 149328 + PropertyAccessExpression 149290 149297 + Identifier 149290 149292 + Identifier 149293 149297 + EqualsEqualsEqualsToken 149297 149301 + PropertyAccessExpression 149301 149328 + Identifier 149301 149312 + Identifier 149313 149328 + BarBarToken 149328 149331 + BinaryExpression 149331 149377 + PropertyAccessExpression 149331 149338 + Identifier 149331 149333 + Identifier 149334 149338 + EqualsEqualsEqualsToken 149338 149342 + PropertyAccessExpression 149342 149377 + Identifier 149342 149353 + Identifier 149354 149377 + IfStatement 149379 149707 + BinaryExpression 149405 149459 + Identifier 149405 149415 + AmpersandAmpersandToken 149415 149418 + PrefixUnaryExpression 149418 149459 + CallExpression 149420 149459 + Identifier 149420 149447 + Identifier 149448 149458 + Block 149460 149707 + ExpressionStatement 149462 149684 + CallExpression 149462 149683 + Identifier 149462 149493 + Identifier 149494 149504 + PropertyAccessExpression 149505 149648 + Identifier 149505 149517 + Identifier 149518 149648 + CallExpression 149649 149682 + Identifier 149649 149676 + Identifier 149677 149681 + FunctionDeclaration 149761 150489 + Identifier 149777 149811 + Parameter 149812 149834 + Identifier 149812 149822 + TypeReference 149823 149834 + Identifier 149823 149834 + Parameter 149835 149903 + Identifier 149835 149855 + UnionType 149856 149903 + TypeReference 149856 149891 + Identifier 149856 149891 + UndefinedKeyword 149893 149903 + Parameter 149904 149926 + Identifier 149904 149918 + StringKeyword 149919 149926 + Block 149927 150489 + IfStatement 149929 149983 + PrefixUnaryExpression 149943 149963 + Identifier 149944 149963 + ReturnStatement 149964 149983 + Identifier 149971 149982 + ReturnStatement 149983 150482 + CallExpression 149999 150481 + Identifier 149999 150014 + Identifier 150015 150039 + CallExpression 150040 150469 + Identifier 150040 150077 + Identifier 150078 150115 + ConditionalExpression 150116 150421 + BinaryExpression 150116 150309 + BinaryExpression 150116 150250 + BinaryExpression 150116 150189 + PropertyAccessExpression 150116 150158 + Identifier 150116 150153 + Identifier 150154 150158 + EqualsEqualsEqualsToken 150158 150162 + PropertyAccessExpression 150162 150189 + Identifier 150162 150173 + Identifier 150174 150189 + BarBarToken 150189 150192 + BinaryExpression 150192 150250 + PropertyAccessExpression 150192 150217 + Identifier 150192 150212 + Identifier 150213 150217 + EqualsEqualsEqualsToken 150217 150221 + PropertyAccessExpression 150221 150250 + Identifier 150221 150232 + Identifier 150233 150250 + BarBarToken 150250 150253 + BinaryExpression 150253 150309 + PropertyAccessExpression 150253 150278 + Identifier 150253 150273 + Identifier 150274 150278 + EqualsEqualsEqualsToken 150278 150282 + PropertyAccessExpression 150282 150309 + Identifier 150282 150293 + Identifier 150294 150309 + QuestionToken 150309 150332 + PropertyAccessExpression 150332 150365 + Identifier 150332 150344 + Identifier 150345 150365 + ColonToken 150365 150388 + PropertyAccessExpression 150388 150421 + Identifier 150388 150400 + Identifier 150401 150421 + Identifier 150422 150453 + FunctionDeclaration 150489 150715 + Identifier 150505 150520 + Parameter 150521 150571 + Identifier 150521 150528 + UnionType 150529 150571 + TypeReference 150529 150538 + Identifier 150529 150538 + TypeReference 150540 150551 + Identifier 150540 150551 + TypeReference 150553 150571 + Identifier 150553 150571 + Block 150572 150715 + ReturnStatement 150574 150708 + ConditionalExpression 150590 150707 + CallExpression 150590 150608 + Identifier 150590 150599 + Identifier 150600 150607 + QuestionToken 150608 150610 + CallExpression 150610 150658 + Identifier 150610 150637 + AsExpression 150638 150657 + Identifier 150638 150645 + TypeReference 150648 150657 + Identifier 150648 150657 + ColonToken 150658 150660 + CallExpression 150660 150707 + Identifier 150660 150684 + AsExpression 150685 150706 + Identifier 150685 150692 + TypeReference 150695 150706 + Identifier 150695 150706 + FunctionDeclaration 150715 152613 + Identifier 150731 150767 + Parameter 150768 150787 + Identifier 150768 150781 + TypeReference 150782 150787 + Identifier 150782 150787 + Parameter 150788 150803 + Identifier 150788 150793 + TypeReference 150794 150803 + Identifier 150794 150803 + Parameter 150804 150835 + Identifier 150804 150812 + UnionType 150813 150835 + TypeReference 150813 150822 + Identifier 150813 150822 + TypeReference 150824 150835 + Identifier 150824 150835 + BooleanKeyword 150837 150845 + Block 150845 152613 + IfStatement 150847 151044 + BinaryExpression 150861 151003 + BinaryExpression 150861 150971 + BinaryExpression 150861 150927 + PrefixUnaryExpression 150861 150889 + CallExpression 150862 150889 + Identifier 150862 150874 + Identifier 150875 150888 + BarBarToken 150889 150892 + BinaryExpression 150892 150927 + PropertyAccessExpression 150892 150918 + Identifier 150892 150906 + Identifier 150907 150918 + ExclamationEqualsEqualsToken 150918 150922 + Identifier 150922 150927 + BarBarToken 150927 150930 + CallExpression 150930 150971 + Identifier 150930 150956 + Identifier 150957 150970 + BarBarToken 150971 150974 + CallExpression 150974 151003 + Identifier 150974 150988 + Identifier 150989 151002 + Block 151004 151044 + ReturnStatement 151006 151033 + FalseKeyword 151026 151032 + VariableStatement 151044 151183 + VariableDeclarationList 151044 151182 + VariableDeclaration 151061 151182 + Identifier 151061 151071 + CallExpression 151073 151182 + Identifier 151073 151090 + Identifier 151091 151104 + FalseKeyword 151105 151137 + FalseKeyword 151138 151181 + VariableStatement 151183 151224 + VariableDeclarationList 151183 151223 + VariableDeclaration 151196 151223 + Identifier 151196 151205 + TypeReference 151206 151211 + Identifier 151206 151211 + Identifier 151213 151223 + WhileStatement 151224 152583 + Identifier 151241 151249 + Block 151250 152583 + IfStatement 151252 152529 + CallExpression 151270 151298 + Identifier 151270 151281 + PropertyAccessExpression 151282 151297 + Identifier 151282 151290 + Identifier 151291 151297 + Block 151299 152529 + VariableStatement 151301 151379 + VariableDeclarationList 151301 151378 + VariableDeclaration 151324 151378 + Identifier 151324 151336 + CallExpression 151338 151378 + Identifier 151338 151361 + PropertyAccessExpression 151362 151377 + Identifier 151362 151370 + Identifier 151371 151377 + IfStatement 151379 151463 + PrefixUnaryExpression 151401 151413 + Identifier 151402 151413 + Block 151414 151463 + BreakStatement 151416 151444 + VariableStatement 151463 151596 + VariableDeclarationList 151463 151595 + VariableDeclaration 151548 151595 + Identifier 151548 151564 + CallExpression 151566 151595 + Identifier 151566 151582 + Identifier 151583 151594 + IfStatement 151596 151878 + CallExpression 151618 151658 + Identifier 151618 151635 + Identifier 151636 151651 + Identifier 151652 151657 + Block 151659 151878 + ExpressionStatement 151661 151825 + CallExpression 151661 151824 + Identifier 151661 151688 + Identifier 151689 151702 + PropertyAccessExpression 151703 151769 + Identifier 151703 151715 + Identifier 151716 151769 + CallExpression 151770 151794 + Identifier 151770 151785 + Identifier 151786 151793 + CallExpression 151795 151823 + Identifier 151795 151810 + Identifier 151811 151822 + ReturnStatement 151825 151859 + TrueKeyword 151853 151858 + IfStatement 151878 152514 + BinaryExpression 152049 152094 + BinaryExpression 152049 152071 + Identifier 152049 152057 + EqualsEqualsEqualsToken 152057 152061 + Identifier 152061 152071 + AmpersandAmpersandToken 152071 152074 + PrefixUnaryExpression 152074 152094 + CallExpression 152076 152094 + Identifier 152076 152084 + Identifier 152085 152093 + Block 152095 152514 + VariableStatement 152097 152206 + VariableDeclarationList 152097 152205 + VariableDeclaration 152124 152205 + Identifier 152124 152137 + NonNullExpression 152139 152205 + PropertyAccessExpression 152139 152204 + ParenthesizedExpression 152139 152195 + AsExpression 152141 152194 + CallExpression 152141 152177 + Identifier 152141 152164 + Identifier 152165 152176 + TypeReference 152180 152194 + Identifier 152180 152194 + Identifier 152196 152204 + IfStatement 152206 152495 + CallExpression 152250 152287 + Identifier 152250 152267 + Identifier 152268 152280 + Identifier 152281 152286 + Block 152288 152495 + ExpressionStatement 152290 152434 + CallExpression 152290 152433 + Identifier 152290 152321 + Identifier 152322 152335 + PropertyAccessExpression 152336 152407 + Identifier 152336 152348 + Identifier 152349 152407 + CallExpression 152408 152432 + Identifier 152408 152423 + Identifier 152424 152431 + ReturnStatement 152434 152472 + TrueKeyword 152466 152471 + ExpressionStatement 152529 152572 + BinaryExpression 152529 152571 + Identifier 152529 152553 + EqualsToken 152553 152555 + PropertyAccessExpression 152555 152571 + Identifier 152555 152564 + Identifier 152565 152571 + ReturnStatement 152583 152606 + FalseKeyword 152599 152605 + FunctionDeclaration 152613 153082 + Identifier 152629 152670 + Parameter 152671 152690 + Identifier 152671 152684 + TypeReference 152685 152690 + Identifier 152685 152690 + BooleanKeyword 152692 152700 + Block 152700 153082 + VariableStatement 152702 152781 + VariableDeclarationList 152702 152780 + VariableDeclaration 152717 152780 + Identifier 152717 152728 + CallExpression 152730 152780 + Identifier 152730 152765 + Identifier 152766 152779 + IfStatement 152781 153052 + BinaryExpression 152795 152884 + Identifier 152795 152805 + AmpersandAmpersandToken 152805 152808 + CallExpression 152808 152884 + Identifier 152808 152826 + Identifier 152827 152837 + PropertyAccessExpression 152838 152860 + Identifier 152838 152850 + Identifier 152851 152860 + TrueKeyword 152861 152883 + Block 152885 153052 + ExpressionStatement 152887 153015 + CallExpression 152887 153014 + Identifier 152887 152906 + Identifier 152907 152920 + PropertyAccessExpression 152921 152986 + Identifier 152921 152933 + Identifier 152934 152986 + CallExpression 152987 153013 + Identifier 152987 153001 + Identifier 153002 153012 + ReturnStatement 153015 153041 + TrueKeyword 153035 153040 + ReturnStatement 153052 153075 + FalseKeyword 153068 153074 + FunctionDeclaration 153082 153977 + Identifier 153284 153319 + Parameter 153320 153330 + Identifier 153320 153324 + TypeReference 153325 153330 + Identifier 153325 153330 + UnionType 153332 153365 + TypeReference 153332 153353 + Identifier 153332 153353 + UndefinedKeyword 153355 153365 + Block 153365 153977 + SwitchStatement 153367 153970 + PropertyAccessExpression 153385 153394 + Identifier 153385 153389 + Identifier 153390 153394 + CaseBlock 153395 153970 + CaseClause 153397 153438 + PropertyAccessExpression 153415 153437 + Identifier 153415 153426 + Identifier 153427 153437 + CaseClause 153438 153592 + PropertyAccessExpression 153456 153492 + Identifier 153456 153467 + Identifier 153468 153492 + ReturnStatement 153493 153592 + ConditionalExpression 153517 153591 + PropertyAccessExpression 153517 153529 + Identifier 153517 153522 + Identifier 153523 153529 + QuestionToken 153529 153531 + CallExpression 153531 153579 + Identifier 153531 153566 + PropertyAccessExpression 153567 153578 + Identifier 153567 153571 + Identifier 153572 153578 + ColonToken 153579 153581 + Identifier 153581 153591 + CaseClause 153592 153868 + PropertyAccessExpression 153610 153649 + Identifier 153610 153621 + Identifier 153622 153649 + IfStatement 153650 153868 + CallExpression 153672 153744 + Identifier 153672 153694 + PropertyAccessExpression 153695 153743 + ParenthesizedExpression 153695 153732 + AsExpression 153696 153731 + Identifier 153696 153700 + TypeReference 153703 153731 + Identifier 153703 153731 + Identifier 153733 153743 + Block 153745 153868 + ReturnStatement 153747 153849 + AsExpression 153775 153848 + PropertyAccessExpression 153775 153824 + ParenthesizedExpression 153775 153813 + AsExpression 153777 153812 + Identifier 153777 153781 + TypeReference 153784 153812 + Identifier 153784 153812 + Identifier 153814 153824 + TypeReference 153827 153848 + Identifier 153827 153848 + DefaultClause 153868 153959 + ReturnStatement 153924 153959 + Identifier 153948 153958 + FunctionDeclaration 153977 155602 + Identifier 153993 154036 + Parameter 154037 154056 + Identifier 154037 154050 + TypeReference 154051 154056 + Identifier 154051 154056 + Parameter 154057 154072 + Identifier 154057 154062 + TypeReference 154063 154072 + Identifier 154063 154072 + Parameter 154073 154094 + Identifier 154073 154081 + TypeReference 154082 154094 + Identifier 154082 154094 + BooleanKeyword 154096 154104 + Block 154104 155602 + VariableStatement 154106 154217 + VariableDeclarationList 154106 154216 + VariableDeclaration 154121 154216 + Identifier 154121 154138 + BinaryExpression 154140 154216 + PropertyAccessExpression 154140 154162 + Identifier 154140 154152 + Identifier 154153 154162 + BarToken 154162 154164 + ParenthesizedExpression 154164 154216 + ConditionalExpression 154166 154215 + CallExpression 154166 154191 + Identifier 154166 154176 + Identifier 154177 154190 + QuestionToken 154191 154193 + PropertyAccessExpression 154193 154211 + Identifier 154193 154205 + Identifier 154206 154211 + ColonToken 154211 154213 + NumericLiteral 154213 154215 + IfStatement 154217 155570 + BinaryExpression 154231 154259 + Identifier 154231 154238 + EqualsEqualsEqualsToken 154238 154242 + Identifier 154242 154259 + Block 154260 155570 + VariableStatement 154262 154429 + VariableDeclarationList 154262 154428 + VariableDeclaration 154281 154428 + Identifier 154281 154288 + CallExpression 154290 154428 + Identifier 154290 154304 + CallExpression 154305 154427 + Identifier 154305 154316 + Identifier 154317 154330 + Identifier 154331 154336 + BinaryExpression 154337 154374 + PropertyAccessExpression 154337 154354 + Identifier 154337 154349 + Identifier 154350 154354 + AmpersandToken 154354 154356 + PrefixUnaryExpression 154356 154374 + Identifier 154358 154374 + Identifier 154375 154409 + FalseKeyword 154410 154426 + VariableStatement 154429 154479 + VariableDeclarationList 154429 154478 + VariableDeclaration 154448 154478 + Identifier 154448 154455 + PropertyAccessExpression 154457 154478 + Identifier 154457 154471 + Identifier 154472 154478 + IfStatement 154479 155559 + Identifier 154497 154503 + Block 154504 155559 + IfStatement 154506 155365 + CallExpression 154528 154551 + Identifier 154528 154543 + Identifier 154544 154550 + Block 154552 155365 + ExpressionStatement 154554 154691 + CallExpression 154554 154690 + PropertyAccessExpression 154554 154588 + Identifier 154554 154581 + Identifier 154582 154588 + BinaryExpression 154589 154618 + PropertyAccessExpression 154589 154600 + Identifier 154589 154595 + Identifier 154596 154600 + EqualsEqualsEqualsToken 154600 154604 + Identifier 154604 154618 + StringLiteral 154619 154689 + VariableStatement 154691 154755 + VariableDeclarationList 154691 154754 + VariableDeclaration 154718 154754 + Identifier 154718 154727 + PropertyAccessExpression 154729 154754 + PropertyAccessExpression 154729 154742 + Identifier 154729 154736 + Identifier 154737 154742 + Identifier 154743 154754 + VariableStatement 154755 154855 + VariableDeclarationList 154755 154854 + VariableDeclaration 154782 154854 + Identifier 154782 154791 + CallExpression 154793 154854 + Identifier 154793 154811 + CallExpression 154812 154843 + Identifier 154812 154835 + Identifier 154836 154842 + Identifier 154844 154853 + IfStatement 154855 155346 + Identifier 154881 154889 + Block 154890 155346 + ExpressionStatement 154892 155285 + CallExpression 154892 155284 + Identifier 154892 154923 + Identifier 154924 154960 + PropertyAccessExpression 154961 155126 + Identifier 154961 155002 + Identifier 155003 155126 + CallExpression 155127 155189 + Identifier 155127 155183 + Identifier 155184 155188 + CallExpression 155190 155256 + Identifier 155190 155246 + Identifier 155247 155255 + ReturnStatement 155285 155323 + TrueKeyword 155317 155322 + ExpressionStatement 155365 155514 + CallExpression 155365 155513 + Identifier 155365 155388 + Identifier 155389 155402 + PropertyAccessExpression 155403 155478 + Identifier 155403 155415 + Identifier 155416 155478 + CallExpression 155479 155512 + Identifier 155479 155506 + Identifier 155507 155511 + ReturnStatement 155514 155544 + TrueKeyword 155538 155543 + ReturnStatement 155570 155595 + FalseKeyword 155588 155594 + FunctionDeclaration 155602 156283 + Identifier 155618 155657 + Parameter 155658 155677 + Identifier 155658 155671 + TypeReference 155672 155677 + Identifier 155672 155677 + Parameter 155678 155693 + Identifier 155678 155683 + TypeReference 155684 155693 + Identifier 155684 155693 + Parameter 155694 155715 + Identifier 155694 155702 + TypeReference 155703 155715 + Identifier 155703 155715 + BooleanKeyword 155717 155725 + Block 155725 156283 + IfStatement 155727 156253 + BinaryExpression 155741 155794 + Identifier 155741 155748 + AmpersandToken 155748 155750 + ParenthesizedExpression 155750 155794 + BinaryExpression 155752 155793 + PropertyAccessExpression 155752 155768 + Identifier 155752 155763 + Identifier 155764 155768 + AmpersandToken 155768 155770 + PrefixUnaryExpression 155770 155793 + PropertyAccessExpression 155772 155793 + Identifier 155772 155783 + Identifier 155784 155793 + Block 155795 156253 + VariableStatement 155797 155965 + VariableDeclarationList 155797 155964 + VariableDeclaration 155816 155964 + Identifier 155816 155823 + CallExpression 155825 155964 + Identifier 155825 155839 + CallExpression 155840 155963 + Identifier 155840 155851 + Identifier 155852 155865 + Identifier 155866 155871 + BinaryExpression 155872 155910 + PrefixUnaryExpression 155872 155890 + PropertyAccessExpression 155874 155890 + Identifier 155874 155885 + Identifier 155886 155890 + AmpersandToken 155890 155892 + PropertyAccessExpression 155892 155910 + Identifier 155892 155904 + Identifier 155905 155910 + Identifier 155911 155945 + FalseKeyword 155946 155962 + IfStatement 155965 156242 + BinaryExpression 155983 156032 + Identifier 155983 155989 + AmpersandAmpersandToken 155989 155992 + PrefixUnaryExpression 155992 156032 + ParenthesizedExpression 155994 156032 + BinaryExpression 155995 156031 + PropertyAccessExpression 155995 156007 + Identifier 155995 156001 + Identifier 156002 156007 + AmpersandToken 156007 156009 + PropertyAccessExpression 156009 156031 + Identifier 156009 156021 + Identifier 156022 156031 + Block 156033 156242 + ExpressionStatement 156035 156197 + CallExpression 156035 156196 + Identifier 156035 156058 + Identifier 156059 156072 + PropertyAccessExpression 156073 156161 + Identifier 156073 156085 + Identifier 156086 156161 + CallExpression 156162 156195 + Identifier 156162 156189 + Identifier 156190 156194 + ReturnStatement 156197 156227 + TrueKeyword 156221 156226 + ReturnStatement 156253 156276 + FalseKeyword 156269 156275 + FunctionDeclaration 156283 156482 + Identifier 156299 156319 + Parameter 156320 156334 + Identifier 156320 156324 + TypeReference 156325 156334 + Identifier 156325 156334 + Block 156335 156482 + ReturnStatement 156337 156475 + BinaryExpression 156353 156474 + BinaryExpression 156353 156452 + BinaryExpression 156353 156432 + BinaryExpression 156353 156410 + BinaryExpression 156353 156389 + BinaryExpression 156353 156368 + Identifier 156353 156358 + EqualsEqualsEqualsToken 156358 156362 + StringLiteral 156362 156368 + BarBarToken 156368 156371 + BinaryExpression 156371 156389 + Identifier 156371 156376 + EqualsEqualsEqualsToken 156376 156380 + StringLiteral 156380 156389 + BarBarToken 156389 156392 + BinaryExpression 156392 156410 + Identifier 156392 156397 + EqualsEqualsEqualsToken 156397 156401 + StringLiteral 156401 156410 + BarBarToken 156410 156413 + BinaryExpression 156413 156432 + Identifier 156413 156418 + EqualsEqualsEqualsToken 156418 156422 + StringLiteral 156422 156432 + BarBarToken 156432 156435 + BinaryExpression 156435 156452 + Identifier 156435 156440 + EqualsEqualsEqualsToken 156440 156444 + StringLiteral 156444 156452 + BarBarToken 156452 156455 + BinaryExpression 156455 156474 + Identifier 156455 156460 + EqualsEqualsEqualsToken 156460 156464 + StringLiteral 156464 156474 + FunctionDeclaration 156482 156894 + Identifier 156498 156543 + Parameter 156544 156563 + Identifier 156544 156557 + TypeReference 156558 156563 + Identifier 156558 156563 + Parameter 156564 156579 + Identifier 156564 156569 + TypeReference 156570 156579 + Identifier 156570 156579 + BooleanKeyword 156581 156589 + Block 156589 156894 + IfStatement 156591 156864 + BinaryExpression 156605 156690 + CallExpression 156605 156630 + Identifier 156605 156624 + Identifier 156625 156629 + AmpersandAmpersandToken 156630 156633 + BinaryExpression 156633 156690 + PropertyAccessExpression 156633 156659 + PropertyAccessExpression 156633 156654 + Identifier 156633 156647 + Identifier 156648 156654 + Identifier 156655 156659 + EqualsEqualsEqualsToken 156659 156663 + PropertyAccessExpression 156663 156690 + Identifier 156663 156674 + Identifier 156675 156690 + Block 156691 156864 + ExpressionStatement 156693 156827 + CallExpression 156693 156826 + Identifier 156693 156712 + Identifier 156713 156726 + PropertyAccessExpression 156727 156809 + Identifier 156727 156739 + Identifier 156740 156809 + AsExpression 156810 156825 + Identifier 156810 156815 + StringKeyword 156818 156825 + ReturnStatement 156827 156853 + TrueKeyword 156847 156852 + ReturnStatement 156864 156887 + FalseKeyword 156880 156886 + FunctionDeclaration 156894 159842 + Identifier 156910 156949 + Parameter 156950 156969 + Identifier 156950 156963 + TypeReference 156964 156969 + Identifier 156964 156969 + Parameter 156970 156985 + Identifier 156970 156975 + TypeReference 156976 156985 + Identifier 156976 156985 + Parameter 156986 157007 + Identifier 156986 156994 + TypeReference 156995 157007 + Identifier 156995 157007 + BooleanKeyword 157009 157017 + Block 157017 159842 + IfStatement 157019 159812 + BinaryExpression 157033 157060 + Identifier 157033 157040 + AmpersandToken 157040 157042 + PropertyAccessExpression 157042 157060 + Identifier 157042 157054 + Identifier 157055 157060 + Block 157061 159812 + IfStatement 157063 158633 + CallExpression 157081 157106 + Identifier 157081 157100 + Identifier 157101 157105 + Block 157107 158633 + VariableStatement 157109 157175 + VariableDeclarationList 157109 157174 + VariableDeclaration 157132 157174 + Identifier 157132 157144 + PropertyAccessExpression 157146 157174 + PropertyAccessExpression 157146 157167 + Identifier 157146 157160 + Identifier 157161 157167 + Identifier 157168 157174 + IfStatement 157175 158588 + BinaryExpression 157197 157263 + BinaryExpression 157197 157230 + Identifier 157197 157208 + AmpersandAmpersandToken 157208 157211 + PropertyAccessExpression 157211 157230 + Identifier 157211 157223 + Identifier 157224 157230 + AmpersandAmpersandToken 157230 157233 + CallExpression 157233 157263 + Identifier 157233 157250 + Identifier 157251 157262 + Block 157264 158396 + VariableStatement 157266 157327 + VariableDeclarationList 157266 157326 + VariableDeclaration 157293 157326 + Identifier 157293 157306 + PropertyAccessExpression 157308 157326 + Identifier 157308 157320 + Identifier 157321 157326 + VariableStatement 157327 157395 + VariableDeclarationList 157327 157394 + VariableDeclaration 157354 157394 + Identifier 157354 157368 + PropertyAccessExpression 157370 157394 + PropertyAccessExpression 157370 157389 + Identifier 157370 157382 + Identifier 157383 157389 + Identifier 157390 157394 + IfStatement 157395 158377 + BinaryExpression 157421 157516 + BinaryExpression 157421 157470 + Identifier 157421 157434 + EqualsEqualsEqualsToken 157434 157438 + PropertyAccessExpression 157438 157470 + Identifier 157438 157449 + Identifier 157450 157470 + AmpersandAmpersandToken 157470 157473 + BinaryExpression 157473 157516 + Identifier 157473 157486 + EqualsEqualsEqualsToken 157486 157490 + PropertyAccessExpression 157490 157516 + Identifier 157490 157501 + Identifier 157502 157516 + Block 157517 157731 + ExpressionStatement 157519 157708 + CallExpression 157519 157707 + Identifier 157519 157550 + Identifier 157551 157564 + PropertyAccessExpression 157565 157672 + Identifier 157565 157577 + Identifier 157578 157672 + CallExpression 157673 157706 + Identifier 157673 157700 + Identifier 157701 157705 + IfStatement 157757 158377 + BinaryExpression 157762 157839 + CallExpression 157762 157793 + Identifier 157762 157773 + PropertyAccessExpression 157774 157792 + Identifier 157774 157785 + Identifier 157786 157792 + AmpersandAmpersandToken 157793 157796 + BinaryExpression 157796 157839 + Identifier 157796 157809 + EqualsEqualsEqualsToken 157809 157813 + PropertyAccessExpression 157813 157839 + Identifier 157813 157824 + Identifier 157825 157839 + Block 157840 158050 + ExpressionStatement 157842 158027 + CallExpression 157842 158026 + Identifier 157842 157873 + Identifier 157874 157887 + PropertyAccessExpression 157888 157991 + Identifier 157888 157900 + Identifier 157901 157991 + CallExpression 157992 158025 + Identifier 157992 158019 + Identifier 158020 158024 + IfStatement 158076 158377 + BinaryExpression 158081 158161 + CallExpression 158081 158112 + Identifier 158081 158092 + PropertyAccessExpression 158093 158111 + Identifier 158093 158104 + Identifier 158105 158111 + AmpersandAmpersandToken 158112 158115 + BinaryExpression 158115 158161 + Identifier 158115 158128 + EqualsEqualsEqualsToken 158128 158132 + PropertyAccessExpression 158132 158161 + Identifier 158132 158143 + Identifier 158144 158161 + Block 158162 158377 + ExpressionStatement 158164 158354 + CallExpression 158164 158353 + Identifier 158164 158195 + Identifier 158196 158209 + PropertyAccessExpression 158210 158318 + Identifier 158210 158222 + Identifier 158223 158318 + CallExpression 158319 158352 + Identifier 158319 158346 + Identifier 158347 158351 + Block 158418 158588 + ExpressionStatement 158420 158569 + CallExpression 158420 158568 + Identifier 158420 158447 + Identifier 158448 158461 + PropertyAccessExpression 158462 158533 + Identifier 158462 158474 + Identifier 158475 158533 + CallExpression 158534 158567 + Identifier 158534 158561 + Identifier 158562 158566 + ReturnStatement 158588 158618 + TrueKeyword 158612 158617 + VariableStatement 158633 158801 + VariableDeclarationList 158633 158800 + VariableDeclaration 158652 158800 + Identifier 158652 158659 + CallExpression 158661 158800 + Identifier 158661 158675 + CallExpression 158676 158799 + Identifier 158676 158687 + Identifier 158688 158701 + Identifier 158702 158707 + BinaryExpression 158708 158746 + PropertyAccessExpression 158708 158725 + Identifier 158708 158720 + Identifier 158721 158725 + AmpersandToken 158725 158727 + PrefixUnaryExpression 158727 158746 + PropertyAccessExpression 158729 158746 + Identifier 158729 158740 + Identifier 158741 158746 + Identifier 158747 158781 + FalseKeyword 158782 158798 + VariableStatement 158801 158865 + VariableDeclarationList 158801 158864 + VariableDeclaration 158820 158864 + Identifier 158820 158829 + BinaryExpression 158831 158864 + Identifier 158831 158838 + AmpersandAmpersandToken 158838 158841 + CallExpression 158841 158864 + Identifier 158841 158856 + Identifier 158857 158863 + IfStatement 158865 159801 + BinaryExpression 158883 158950 + BinaryExpression 158883 158915 + Identifier 158883 158889 + AmpersandAmpersandToken 158889 158892 + BinaryExpression 158892 158915 + Identifier 158892 158901 + ExclamationEqualsEqualsToken 158901 158905 + Identifier 158905 158915 + AmpersandAmpersandToken 158915 158918 + PrefixUnaryExpression 158918 158950 + ParenthesizedExpression 158920 158950 + BinaryExpression 158921 158949 + Identifier 158921 158929 + AmpersandToken 158929 158931 + PropertyAccessExpression 158931 158949 + Identifier 158931 158943 + Identifier 158944 158949 + Block 158951 159801 + VariableStatement 158953 159020 + VariableDeclarationList 158953 159019 + VariableDeclaration 158976 159019 + Identifier 158976 158984 + CallExpression 158986 159019 + Identifier 158986 159013 + Identifier 159014 159018 + IfStatement 159020 159756 + CallExpression 159042 159078 + Identifier 159042 159072 + Identifier 159073 159077 + Block 159079 159322 + ExpressionStatement 159081 159303 + CallExpression 159081 159302 + Identifier 159081 159108 + Identifier 159109 159122 + PropertyAccessExpression 159123 159292 + Identifier 159123 159135 + Identifier 159136 159292 + Identifier 159293 159301 + IfStatement 159344 159756 + CallExpression 159349 159387 + Identifier 159349 159364 + Identifier 159365 159378 + Identifier 159379 159386 + Block 159388 159589 + ExpressionStatement 159390 159570 + CallExpression 159390 159569 + Identifier 159390 159417 + Identifier 159418 159431 + PropertyAccessExpression 159432 159530 + Identifier 159432 159444 + Identifier 159445 159530 + Identifier 159531 159539 + ConditionalExpression 159540 159568 + BinaryExpression 159540 159556 + Identifier 159540 159548 + EqualsEqualsEqualsToken 159548 159552 + StringLiteral 159552 159556 + QuestionToken 159556 159558 + StringLiteral 159558 159562 + ColonToken 159562 159564 + StringLiteral 159564 159568 + Block 159611 159756 + ExpressionStatement 159613 159737 + CallExpression 159613 159736 + Identifier 159613 159640 + Identifier 159641 159654 + PropertyAccessExpression 159655 159726 + Identifier 159655 159667 + Identifier 159668 159726 + Identifier 159727 159735 + ReturnStatement 159756 159786 + TrueKeyword 159780 159785 + ReturnStatement 159812 159835 + FalseKeyword 159828 159834 + FunctionDeclaration 159842 160386 + Identifier 159858 159874 + Parameter 159875 159885 + Identifier 159875 159879 + TypeReference 159880 159885 + Identifier 159880 159885 + Parameter 159886 159901 + Identifier 159886 159893 + TypeReference 159894 159901 + Identifier 159894 159901 + Block 159902 160386 + VariableStatement 159904 160088 + VariableDeclarationList 159904 160087 + VariableDeclaration 159919 160087 + Identifier 159919 159929 + AsExpression 159931 160087 + CallExpression 159931 160056 + Identifier 159931 159944 + PropertyAccessExpression 159945 159956 + Identifier 159945 159949 + Identifier 159950 159956 + ArrowFunction 159957 160055 + Parameter 159957 159959 + Identifier 159957 159959 + EqualsGreaterThanToken 159959 159962 + ConditionalExpression 159962 160055 + BinaryExpression 159962 160014 + CallExpression 159962 159988 + Identifier 159962 159985 + Identifier 159986 159987 + BarBarToken 159988 159991 + CallExpression 159991 160014 + Identifier 159991 160011 + Identifier 160012 160013 + QuestionToken 160014 160016 + FalseKeyword 160016 160022 + ColonToken 160022 160024 + BinaryExpression 160024 160055 + CallExpression 160024 160045 + Identifier 160024 160042 + Identifier 160043 160044 + BarBarToken 160045 160048 + StringLiteral 160048 160055 + UnionType 160059 160087 + TypeReference 160059 160075 + Identifier 160059 160075 + UndefinedKeyword 160077 160087 + IfStatement 160088 160356 + BinaryExpression 160102 160145 + Identifier 160102 160111 + AmpersandAmpersandToken 160111 160114 + BinaryExpression 160114 160145 + PropertyAccessExpression 160114 160139 + PropertyAccessExpression 160114 160132 + Identifier 160114 160124 + Identifier 160125 160132 + Identifier 160133 160139 + EqualsEqualsEqualsToken 160139 160143 + NumericLiteral 160143 160145 + Block 160146 160356 + VariableStatement 160148 160207 + VariableDeclarationList 160148 160206 + VariableDeclaration 160167 160206 + Identifier 160167 160172 + CallExpression 160174 160206 + Identifier 160174 160198 + Identifier 160199 160205 + ReturnStatement 160207 160345 + BinaryExpression 160227 160344 + PrefixUnaryExpression 160227 160260 + PrefixUnaryExpression 160229 160260 + ParenthesizedExpression 160230 160260 + BinaryExpression 160231 160259 + PropertyAccessExpression 160231 160241 + Identifier 160231 160235 + Identifier 160236 160241 + AmpersandToken 160241 160243 + PropertyAccessExpression 160243 160259 + Identifier 160243 160253 + Identifier 160254 160259 + AmpersandAmpersandToken 160260 160263 + CallExpression 160263 160344 + Identifier 160263 160288 + Identifier 160289 160293 + PropertyAccessExpression 160294 160326 + Identifier 160294 160304 + Identifier 160305 160326 + TrueKeyword 160327 160343 + ReturnStatement 160356 160379 + FalseKeyword 160372 160378 + FunctionDeclaration 160386 160706 + Identifier 160402 160433 + Parameter 160434 160445 + Identifier 160434 160435 + TypeReference 160436 160445 + Identifier 160436 160445 + Block 160446 160706 + SwitchStatement 160448 160676 + Identifier 160466 160467 + CaseBlock 160468 160676 + CaseClause 160470 160499 + StringLiteral 160488 160498 + CaseClause 160499 160527 + StringLiteral 160517 160526 + CaseClause 160527 160552 + StringLiteral 160545 160551 + CaseClause 160552 160581 + StringLiteral 160570 160580 + CaseClause 160581 160606 + StringLiteral 160599 160605 + CaseClause 160606 160665 + StringLiteral 160624 160634 + ReturnStatement 160635 160665 + TrueKeyword 160659 160664 + ReturnStatement 160676 160699 + FalseKeyword 160692 160698 + FunctionDeclaration 160706 161804 + Identifier 160722 160772 + Parameter 160773 160792 + Identifier 160773 160786 + TypeReference 160787 160792 + Identifier 160787 160792 + Parameter 160793 160808 + Identifier 160793 160798 + TypeReference 160799 160808 + Identifier 160799 160808 + Parameter 160809 160830 + Identifier 160809 160817 + TypeReference 160818 160830 + Identifier 160818 160830 + BooleanKeyword 160832 160840 + Block 160840 161804 + IfStatement 160842 161774 + BinaryExpression 160856 160905 + Identifier 160856 160863 + AmpersandToken 160863 160865 + ParenthesizedExpression 160865 160905 + BinaryExpression 160867 160904 + PropertyAccessExpression 160867 160884 + Identifier 160867 160878 + Identifier 160879 160884 + AmpersandToken 160884 160886 + PrefixUnaryExpression 160886 160904 + PropertyAccessExpression 160888 160904 + Identifier 160888 160899 + Identifier 160900 160904 + Block 160906 161352 + VariableStatement 160908 161066 + VariableDeclarationList 160908 161065 + VariableDeclaration 160927 161065 + Identifier 160927 160934 + CallExpression 160936 161065 + Identifier 160936 160950 + CallExpression 160951 161064 + Identifier 160951 160962 + Identifier 160963 160976 + Identifier 160977 160982 + PropertyAccessExpression 160983 161011 + Identifier 160983 160995 + Identifier 160996 161011 + Identifier 161012 161046 + FalseKeyword 161047 161063 + IfStatement 161066 161341 + Identifier 161084 161090 + Block 161091 161341 + ExpressionStatement 161093 161296 + CallExpression 161093 161295 + Identifier 161093 161116 + Identifier 161117 161152 + PropertyAccessExpression 161153 161220 + Identifier 161153 161186 + Identifier 161187 161220 + CallExpression 161221 161275 + Identifier 161221 161269 + Identifier 161270 161274 + ReturnStatement 161296 161326 + TrueKeyword 161320 161325 + IfStatement 161366 161774 + BinaryExpression 161371 161420 + Identifier 161371 161378 + AmpersandToken 161378 161380 + ParenthesizedExpression 161380 161420 + BinaryExpression 161382 161419 + PropertyAccessExpression 161382 161398 + Identifier 161382 161393 + Identifier 161394 161398 + AmpersandToken 161398 161400 + PrefixUnaryExpression 161400 161419 + PropertyAccessExpression 161402 161419 + Identifier 161402 161413 + Identifier 161414 161419 + Block 161421 161774 + VariableStatement 161423 161572 + VariableDeclarationList 161423 161571 + VariableDeclaration 161442 161571 + Identifier 161442 161449 + CallExpression 161451 161571 + Identifier 161451 161465 + CallExpression 161466 161570 + Identifier 161466 161477 + Identifier 161478 161491 + Identifier 161492 161497 + PropertyAccessExpression 161498 161517 + Identifier 161498 161510 + Identifier 161511 161517 + Identifier 161518 161552 + FalseKeyword 161553 161569 + IfStatement 161572 161763 + Identifier 161590 161596 + Block 161597 161763 + ExpressionStatement 161599 161718 + CallExpression 161599 161717 + Identifier 161599 161622 + Identifier 161623 161636 + PropertyAccessExpression 161637 161682 + Identifier 161637 161649 + Identifier 161650 161682 + CallExpression 161683 161716 + Identifier 161683 161710 + Identifier 161711 161715 + ReturnStatement 161718 161748 + TrueKeyword 161742 161747 + ReturnStatement 161774 161797 + FalseKeyword 161790 161796 + FunctionDeclaration 161804 164080 + Identifier 161820 161853 + Parameter 161854 161868 + Identifier 161854 161860 + TypeReference 161861 161868 + Identifier 161861 161868 + Parameter 161869 161889 + Identifier 161869 161883 + TypeReference 161884 161889 + Identifier 161884 161889 + VoidKeyword 161891 161896 + Block 161896 164080 + ExpressionStatement 161898 162044 + CallExpression 161898 162043 + PropertyAccessExpression 161898 161920 + Identifier 161898 161913 + Identifier 161914 161920 + PrefixUnaryExpression 161921 162042 + PrefixUnaryExpression 161922 162042 + ParenthesizedExpression 161923 162042 + BinaryExpression 161924 162041 + BinaryExpression 161924 162006 + BinaryExpression 161924 161970 + PropertyAccessExpression 161924 161936 + Identifier 161924 161930 + Identifier 161931 161936 + AmpersandToken 161936 161938 + PropertyAccessExpression 161938 161970 + Identifier 161938 161950 + Identifier 161951 161970 + BarBarToken 161970 161973 + BinaryExpression 161973 162006 + PropertyAccessExpression 161973 161986 + Identifier 161973 161980 + Identifier 161981 161986 + AmpersandToken 161986 161988 + PropertyAccessExpression 161988 162006 + Identifier 161988 162000 + Identifier 162001 162006 + BarBarToken 162006 162009 + BinaryExpression 162009 162041 + PropertyAccessExpression 162009 162022 + Identifier 162009 162016 + Identifier 162017 162022 + AmpersandToken 162022 162024 + PropertyAccessExpression 162024 162041 + Identifier 162024 162036 + Identifier 162037 162041 + IfStatement 162044 162286 + BinaryExpression 162058 162193 + BinaryExpression 162058 162157 + PropertyAccessExpression 162058 162070 + Identifier 162058 162064 + Identifier 162065 162070 + AmpersandToken 162070 162072 + ParenthesizedExpression 162072 162157 + BinaryExpression 162074 162156 + BinaryExpression 162074 162131 + PropertyAccessExpression 162074 162094 + Identifier 162074 162085 + Identifier 162086 162094 + BarToken 162094 162096 + PropertyAccessExpression 162096 162131 + Identifier 162096 162108 + Identifier 162109 162131 + BarToken 162131 162133 + PropertyAccessExpression 162133 162156 + Identifier 162133 162145 + Identifier 162146 162156 + AmpersandAmpersandToken 162157 162160 + BinaryExpression 162160 162193 + PropertyAccessExpression 162160 162173 + Identifier 162160 162167 + Identifier 162168 162173 + AmpersandToken 162173 162175 + PropertyAccessExpression 162175 162193 + Identifier 162175 162187 + Identifier 162188 162193 + Block 162194 162286 + ReturnStatement 162196 162275 + VariableStatement 162286 162532 + VariableDeclarationList 162286 162531 + VariableDeclaration 162375 162531 + Identifier 162375 162387 + CallExpression 162389 162531 + PropertyAccessExpression 162389 162415 + PropertyAccessExpression 162389 162409 + Identifier 162389 162396 + Identifier 162397 162409 + QuestionDotToken 162409 162411 + Identifier 162411 162415 + ArrowFunction 162416 162519 + Parameter 162416 162431 + Identifier 162416 162431 + EqualsGreaterThanToken 162431 162434 + BinaryExpression 162434 162519 + BinaryExpression 162434 162476 + CallExpression 162434 162458 + Identifier 162434 162455 + Identifier 162456 162457 + BarBarToken 162458 162461 + CallExpression 162461 162476 + Identifier 162461 162473 + Identifier 162474 162475 + BarBarToken 162476 162479 + ParenthesizedExpression 162479 162519 + BinaryExpression 162481 162518 + PropertyAccessExpression 162481 162487 + Identifier 162481 162482 + Identifier 162483 162487 + EqualsEqualsEqualsToken 162487 162491 + PropertyAccessExpression 162491 162518 + Identifier 162491 162502 + Identifier 162503 162518 + IfStatement 162532 162669 + BinaryExpression 162548 162573 + Identifier 162548 162559 + EqualsEqualsEqualsToken 162559 162563 + Identifier 162563 162573 + ReturnStatement 162574 162669 + CallExpression 162581 162668 + PropertyAccessExpression 162581 162592 + Identifier 162581 162587 + Identifier 162588 162592 + StringLiteral 162593 162667 + IfStatement 162669 164073 + BinaryExpression 162685 162792 + PrefixUnaryExpression 162685 162725 + ParenthesizedExpression 162686 162725 + BinaryExpression 162687 162724 + PropertyAccessExpression 162687 162704 + Identifier 162687 162698 + Identifier 162699 162704 + AmpersandToken 162704 162706 + PropertyAccessExpression 162706 162724 + Identifier 162706 162716 + Identifier 162717 162724 + AmpersandAmpersandToken 162725 162728 + PrefixUnaryExpression 162728 162792 + CallExpression 162730 162792 + Identifier 162730 162764 + Identifier 162765 162776 + Identifier 162777 162791 + Block 162793 164073 + VariableStatement 162795 162831 + VariableDeclarationList 162795 162830 + VariableDeclaration 162812 162830 + Identifier 162812 162830 + VariableStatement 162831 162928 + VariableDeclarationList 162831 162927 + VariableDeclaration 162850 162927 + Identifier 162850 162866 + CallExpression 162868 162927 + Identifier 162868 162892 + CallExpression 162893 162926 + Identifier 162893 162913 + Identifier 162914 162925 + IfStatement 162928 163867 + BinaryExpression 162946 162992 + PropertyAccessExpression 162946 162958 + Identifier 162946 162952 + Identifier 162953 162958 + AmpersandToken 162958 162960 + PropertyAccessExpression 162960 162992 + Identifier 162960 162972 + Identifier 162973 162992 + Block 162993 163151 + ExpressionStatement 162995 163136 + BinaryExpression 162995 163135 + Identifier 162995 163030 + EqualsToken 163030 163032 + CallExpression 163032 163135 + Identifier 163032 163038 + Identifier 163039 163052 + PropertyAccessExpression 163053 163117 + Identifier 163053 163065 + Identifier 163066 163117 + Identifier 163118 163134 + IfStatement 163169 163867 + BinaryExpression 163174 163206 + PropertyAccessExpression 163174 163186 + Identifier 163174 163180 + Identifier 163181 163186 + AmpersandToken 163186 163188 + PropertyAccessExpression 163188 163206 + Identifier 163188 163200 + Identifier 163201 163206 + Block 163207 163349 + ExpressionStatement 163209 163334 + BinaryExpression 163209 163333 + Identifier 163209 163244 + EqualsToken 163244 163246 + CallExpression 163246 163333 + Identifier 163246 163252 + Identifier 163253 163266 + PropertyAccessExpression 163267 163315 + Identifier 163267 163279 + Identifier 163280 163315 + Identifier 163316 163332 + IfStatement 163367 163867 + BinaryExpression 163372 163410 + PropertyAccessExpression 163372 163384 + Identifier 163372 163378 + Identifier 163379 163384 + AmpersandToken 163384 163386 + PropertyAccessExpression 163386 163410 + Identifier 163386 163398 + Identifier 163399 163410 + Block 163411 163552 + ExpressionStatement 163413 163537 + BinaryExpression 163413 163536 + Identifier 163413 163448 + EqualsToken 163448 163450 + CallExpression 163450 163536 + Identifier 163450 163456 + Identifier 163457 163470 + PropertyAccessExpression 163471 163518 + Identifier 163471 163483 + Identifier 163484 163518 + Identifier 163519 163535 + Block 163570 163867 + ExpressionStatement 163572 163645 + CallExpression 163572 163644 + PropertyAccessExpression 163572 163602 + Identifier 163572 163595 + Identifier 163596 163602 + PrefixUnaryExpression 163603 163643 + PrefixUnaryExpression 163604 163643 + ParenthesizedExpression 163605 163643 + BinaryExpression 163606 163642 + PropertyAccessExpression 163606 163618 + Identifier 163606 163612 + Identifier 163613 163618 + AmpersandToken 163618 163620 + PropertyAccessExpression 163620 163642 + Identifier 163620 163632 + Identifier 163633 163642 + IfStatement 163645 163852 + CallExpression 163667 163702 + Identifier 163667 163685 + Identifier 163686 163701 + Block 163703 163852 + ExpressionStatement 163705 163833 + BinaryExpression 163705 163832 + Identifier 163705 163744 + EqualsToken 163744 163746 + CallExpression 163746 163832 + Identifier 163746 163752 + Identifier 163753 163766 + PropertyAccessExpression 163767 163814 + Identifier 163767 163779 + Identifier 163780 163814 + Identifier 163815 163831 + IfStatement 163867 164062 + Identifier 163887 163904 + Block 163905 164062 + ExpressionStatement 163907 164047 + CallExpression 163907 164046 + Identifier 163907 163939 + Identifier 163940 163957 + CallExpression 163958 164045 + Identifier 163958 163982 + Identifier 163983 163994 + PropertyAccessExpression 163995 164027 + Identifier 163995 164007 + Identifier 164008 164027 + Identifier 164028 164044 + FunctionDeclaration 164080 164776 + Identifier 164420 164444 + Parameter 164445 164458 + Identifier 164445 164452 + TypeReference 164453 164458 + Identifier 164453 164458 + Parameter 164459 164484 + Identifier 164459 164466 + UnionType 164467 164484 + TypeReference 164467 164472 + Identifier 164467 164472 + UndefinedKeyword 164474 164484 + Parameter 164485 164498 + Identifier 164485 164492 + TypeReference 164493 164498 + Identifier 164493 164498 + BooleanKeyword 164500 164508 + Block 164508 164776 + ReturnStatement 164510 164769 + BinaryExpression 164526 164768 + PrefixUnaryExpression 164526 164535 + PrefixUnaryExpression 164528 164535 + Identifier 164529 164535 + AmpersandAmpersandToken 164535 164538 + PrefixUnaryExpression 164538 164768 + PrefixUnaryExpression 164540 164768 + CallExpression 164541 164768 + Identifier 164541 164553 + Identifier 164554 164561 + ArrowFunction 164562 164767 + Parameter 164562 164564 + Identifier 164562 164564 + EqualsGreaterThanToken 164564 164567 + BinaryExpression 164567 164767 + BinaryExpression 164567 164593 + Identifier 164567 164582 + EqualsEqualsEqualsToken 164582 164586 + Identifier 164586 164593 + BarBarToken 164593 164609 + ParenthesizedExpression 164609 164767 + ConditionalExpression 164611 164766 + BinaryExpression 164611 164749 + BinaryExpression 164611 164623 + Identifier 164611 164612 + EqualsEqualsEqualsToken 164612 164616 + Identifier 164616 164623 + BarBarToken 164623 164626 + BinaryExpression 164626 164749 + CallExpression 164626 164644 + Identifier 164626 164641 + Identifier 164642 164643 + AmpersandAmpersandToken 164644 164647 + ParenthesizedExpression 164647 164749 + BinaryExpression 164649 164748 + PrefixUnaryExpression 164649 164692 + CallExpression 164650 164692 + Identifier 164650 164689 + Identifier 164690 164691 + BarBarToken 164692 164695 + ParenthesizedExpression 164695 164748 + BinaryExpression 164697 164747 + CallExpression 164697 164716 + Identifier 164697 164713 + Identifier 164714 164715 + AmpersandToken 164716 164718 + PropertyAccessExpression 164718 164747 + Identifier 164718 164732 + Identifier 164733 164747 + QuestionToken 164749 164751 + StringLiteral 164751 164758 + ColonToken 164758 164760 + FalseKeyword 164760 164766 + FunctionDeclaration 164776 165404 + Identifier 164792 164811 + Parameter 164812 164822 + Identifier 164812 164816 + TypeReference 164817 164822 + Identifier 164817 164822 + UnionType 164824 164859 + TypeReference 164824 164847 + Identifier 164824 164847 + UndefinedKeyword 164849 164859 + Block 164859 165404 + SwitchStatement 164861 165397 + PropertyAccessExpression 164879 164888 + Identifier 164879 164883 + Identifier 164884 164888 + CaseBlock 164889 165397 + CaseClause 164891 165002 + PropertyAccessExpression 164909 164944 + Identifier 164909 164920 + Identifier 164921 164944 + ReturnStatement 164945 165002 + AsExpression 164969 165001 + Identifier 164969 164974 + TypeReference 164977 165001 + Identifier 164977 165001 + CaseClause 165002 165100 + PropertyAccessExpression 165020 165044 + Identifier 165020 165031 + Identifier 165032 165044 + ReturnStatement 165045 165100 + PropertyAccessExpression 165069 165099 + ParenthesizedExpression 165069 165092 + AsExpression 165071 165091 + Identifier 165071 165075 + TypeReference 165078 165091 + Identifier 165078 165091 + Identifier 165093 165099 + CaseClause 165100 165211 + PropertyAccessExpression 165118 165145 + Identifier 165118 165129 + Identifier 165130 165145 + ReturnStatement 165146 165211 + PropertyAccessExpression 165170 165210 + PropertyAccessExpression 165170 165203 + ParenthesizedExpression 165170 165196 + AsExpression 165172 165195 + Identifier 165172 165176 + TypeReference 165179 165195 + Identifier 165179 165195 + Identifier 165197 165203 + Identifier 165204 165210 + CaseClause 165211 165329 + PropertyAccessExpression 165229 165256 + Identifier 165229 165240 + Identifier 165241 165256 + ReturnStatement 165257 165329 + PropertyAccessExpression 165281 165328 + PropertyAccessExpression 165281 165321 + PropertyAccessExpression 165281 165314 + ParenthesizedExpression 165281 165307 + AsExpression 165283 165306 + Identifier 165283 165287 + TypeReference 165290 165306 + Identifier 165290 165306 + Identifier 165308 165314 + Identifier 165315 165321 + Identifier 165322 165328 + DefaultClause 165329 165386 + ReturnStatement 165351 165386 + Identifier 165375 165385 + FunctionDeclaration 165404 165607 + Identifier 165420 165448 + Parameter 165449 165463 + Identifier 165449 165455 + TypeReference 165456 165463 + Identifier 165456 165463 + UnionType 165465 165489 + TypeReference 165465 165477 + Identifier 165465 165477 + UndefinedKeyword 165479 165489 + Block 165489 165607 + ReturnStatement 165491 165600 + BinaryExpression 165507 165599 + PropertyAccessExpression 165507 165527 + Identifier 165507 165514 + Identifier 165515 165527 + AmpersandAmpersandToken 165527 165530 + CallExpression 165530 165599 + Identifier 165530 165539 + TypeReference 165540 165551 + Identifier 165540 165551 + PropertyAccessExpression 165553 165572 + Identifier 165553 165559 + Identifier 165560 165572 + Identifier 165573 165598 + FunctionDeclaration 165607 167684 + Identifier 166170 166195 + Parameter 166196 166206 + Identifier 166196 166200 + TypeReference 166201 166206 + Identifier 166201 166206 + BooleanKeyword 166208 166216 + Block 166216 167684 + ReturnStatement 166218 167677 + BinaryExpression 166234 167676 + BinaryExpression 166234 167541 + BinaryExpression 166234 167415 + BinaryExpression 166234 167284 + BinaryExpression 166234 167215 + BinaryExpression 166234 166933 + BinaryExpression 166234 166777 + BinaryExpression 166234 166666 + BinaryExpression 166234 166609 + BinaryExpression 166234 166552 + BinaryExpression 166234 166495 + BinaryExpression 166234 166438 + BinaryExpression 166234 166351 + BinaryExpression 166234 166283 + PropertyAccessExpression 166234 166244 + Identifier 166234 166239 + Identifier 166240 166244 + EqualsEqualsEqualsToken 166244 166248 + PropertyAccessExpression 166248 166283 + Identifier 166248 166259 + Identifier 166260 166283 + BarBarToken 166283 166299 + BinaryExpression 166299 166351 + PropertyAccessExpression 166299 166309 + Identifier 166299 166304 + Identifier 166305 166309 + EqualsEqualsEqualsToken 166309 166313 + PropertyAccessExpression 166313 166351 + Identifier 166313 166324 + Identifier 166325 166351 + BarBarToken 166351 166367 + BinaryExpression 166367 166438 + BinaryExpression 166367 166405 + PropertyAccessExpression 166367 166377 + Identifier 166367 166372 + Identifier 166373 166377 + EqualsEqualsEqualsToken 166377 166381 + PropertyAccessExpression 166381 166405 + Identifier 166381 166392 + Identifier 166393 166405 + AmpersandAmpersandToken 166405 166408 + PrefixUnaryExpression 166408 166438 + PrefixUnaryExpression 166410 166438 + PropertyAccessExpression 166411 166438 + ParenthesizedExpression 166411 166433 + AsExpression 166412 166432 + Identifier 166412 166416 + TypeReference 166419 166432 + Identifier 166419 166432 + Identifier 166434 166438 + BarBarToken 166438 166454 + BinaryExpression 166454 166495 + PropertyAccessExpression 166454 166464 + Identifier 166454 166459 + Identifier 166460 166464 + EqualsEqualsEqualsToken 166464 166468 + PropertyAccessExpression 166468 166495 + Identifier 166468 166479 + Identifier 166480 166495 + BarBarToken 166495 166511 + BinaryExpression 166511 166552 + PropertyAccessExpression 166511 166521 + Identifier 166511 166516 + Identifier 166517 166521 + EqualsEqualsEqualsToken 166521 166525 + PropertyAccessExpression 166525 166552 + Identifier 166525 166536 + Identifier 166537 166552 + BarBarToken 166552 166568 + BinaryExpression 166568 166609 + PropertyAccessExpression 166568 166578 + Identifier 166568 166573 + Identifier 166574 166578 + EqualsEqualsEqualsToken 166578 166582 + PropertyAccessExpression 166582 166609 + Identifier 166582 166593 + Identifier 166594 166609 + BarBarToken 166609 166625 + BinaryExpression 166625 166666 + PropertyAccessExpression 166625 166635 + Identifier 166625 166630 + Identifier 166631 166635 + EqualsEqualsEqualsToken 166635 166639 + PropertyAccessExpression 166639 166666 + Identifier 166639 166650 + Identifier 166651 166666 + BarBarToken 166666 166682 + BinaryExpression 166682 166777 + BinaryExpression 166682 166724 + PropertyAccessExpression 166682 166692 + Identifier 166682 166687 + Identifier 166688 166692 + EqualsEqualsEqualsToken 166692 166696 + PropertyAccessExpression 166696 166724 + Identifier 166696 166707 + Identifier 166708 166724 + AmpersandAmpersandToken 166724 166727 + CallExpression 166727 166777 + Identifier 166727 166751 + AsExpression 166752 166776 + Identifier 166752 166756 + TypeReference 166759 166776 + Identifier 166759 166776 + BarBarToken 166777 166793 + BinaryExpression 166793 166933 + BinaryExpression 166793 166900 + CallExpression 166793 166818 + Identifier 166793 166812 + Identifier 166813 166817 + AmpersandAmpersandToken 166818 166821 + BinaryExpression 166821 166900 + CallExpression 166821 166856 + Identifier 166821 166850 + Identifier 166851 166855 + EqualsEqualsEqualsToken 166856 166860 + PropertyAccessExpression 166860 166900 + Identifier 166860 166886 + Identifier 166887 166900 + AmpersandAmpersandToken 166900 166903 + CallExpression 166903 166933 + Identifier 166903 166927 + Identifier 166928 166932 + BarBarToken 166933 166949 + BinaryExpression 166949 167215 + BinaryExpression 166949 167150 + BinaryExpression 166949 167072 + BinaryExpression 166949 167026 + CallExpression 166949 166974 + Identifier 166949 166968 + Identifier 166969 166973 + AmpersandAmpersandToken 166974 166994 + CallExpression 166994 167026 + Identifier 166994 167013 + PropertyAccessExpression 167014 167025 + Identifier 167014 167018 + Identifier 167019 167025 + AmpersandAmpersandToken 167026 167046 + BinaryExpression 167046 167072 + PropertyAccessExpression 167046 167063 + PropertyAccessExpression 167046 167058 + Identifier 167046 167051 + Identifier 167052 167058 + Identifier 167059 167063 + EqualsEqualsEqualsToken 167063 167067 + Identifier 167067 167072 + AmpersandAmpersandToken 167072 167092 + BinaryExpression 167092 167150 + PropertyAccessExpression 167092 167123 + PropertyAccessExpression 167092 167118 + PropertyAccessExpression 167092 167104 + Identifier 167092 167097 + Identifier 167098 167104 + Identifier 167105 167118 + Identifier 167119 167123 + EqualsEqualsEqualsToken 167123 167127 + PropertyAccessExpression 167127 167150 + Identifier 167127 167138 + Identifier 167139 167150 + AmpersandAmpersandToken 167150 167170 + CallExpression 167170 167215 + Identifier 167170 167196 + PropertyAccessExpression 167197 167214 + PropertyAccessExpression 167197 167208 + Identifier 167197 167201 + Identifier 167202 167208 + Identifier 167209 167214 + BarBarToken 167215 167231 + BinaryExpression 167231 167284 + PropertyAccessExpression 167231 167241 + Identifier 167231 167236 + Identifier 167237 167241 + EqualsEqualsEqualsToken 167241 167245 + PropertyAccessExpression 167245 167284 + Identifier 167245 167256 + Identifier 167257 167284 + BarBarToken 167284 167300 + BinaryExpression 167300 167415 + BinaryExpression 167300 167344 + PropertyAccessExpression 167300 167310 + Identifier 167300 167305 + Identifier 167306 167310 + EqualsEqualsEqualsToken 167310 167314 + PropertyAccessExpression 167314 167344 + Identifier 167314 167325 + Identifier 167326 167344 + AmpersandAmpersandToken 167344 167347 + CallExpression 167347 167415 + Identifier 167347 167373 + PropertyAccessExpression 167374 167414 + ParenthesizedExpression 167374 167402 + AsExpression 167375 167401 + Identifier 167375 167379 + TypeReference 167382 167401 + Identifier 167382 167401 + Identifier 167403 167414 + BarBarToken 167415 167431 + BinaryExpression 167431 167541 + BinaryExpression 167431 167476 + PropertyAccessExpression 167431 167441 + Identifier 167431 167436 + Identifier 167437 167441 + EqualsEqualsEqualsToken 167441 167445 + PropertyAccessExpression 167445 167476 + Identifier 167445 167456 + Identifier 167457 167476 + AmpersandAmpersandToken 167476 167479 + CallExpression 167479 167541 + Identifier 167479 167535 + Identifier 167536 167540 + BarBarToken 167541 167557 + BinaryExpression 167557 167676 + BinaryExpression 167557 167597 + PropertyAccessExpression 167557 167567 + Identifier 167557 167562 + Identifier 167563 167567 + EqualsEqualsEqualsToken 167567 167571 + PropertyAccessExpression 167571 167597 + Identifier 167571 167582 + Identifier 167583 167597 + AmpersandAmpersandToken 167597 167600 + CallExpression 167600 167676 + Identifier 167600 167656 + PropertyAccessExpression 167657 167675 + PropertyAccessExpression 167657 167668 + Identifier 167657 167661 + Identifier 167662 167668 + Identifier 167669 167675 + FunctionDeclaration 167684 167841 + Identifier 167700 167726 + Parameter 167727 167740 + Identifier 167727 167728 + TypeReference 167729 167740 + Identifier 167729 167740 + Block 167741 167841 + ReturnStatement 167743 167834 + BinaryExpression 167759 167833 + CallExpression 167759 167784 + Identifier 167759 167781 + Identifier 167782 167783 + BarBarToken 167784 167787 + BinaryExpression 167787 167833 + CallExpression 167787 167811 + Identifier 167787 167808 + Identifier 167809 167810 + AmpersandAmpersandToken 167811 167814 + CallExpression 167814 167833 + Identifier 167814 167830 + Identifier 167831 167832 + FunctionDeclaration 167841 169257 + Identifier 167857 167892 + Parameter 167893 167944 + Identifier 167893 167897 + UnionType 167898 167944 + TypeReference 167898 167922 + Identifier 167898 167922 + TypeReference 167924 167944 + Identifier 167924 167944 + Parameter 167945 167971 + Identifier 167945 167962 + BooleanKeyword 167963 167971 + UnionType 167973 167992 + TypeReference 167973 167980 + Identifier 167973 167980 + UndefinedKeyword 167982 167992 + Block 167992 169257 + VariableStatement 167994 168067 + VariableDeclarationList 167994 168066 + VariableDeclaration 168009 168066 + Identifier 168009 168032 + CallExpression 168034 168066 + Identifier 168034 168060 + Identifier 168061 168065 + IfStatement 168067 168484 + Identifier 168081 168103 + Block 168104 168484 + VariableStatement 168106 168246 + VariableDeclarationList 168106 168245 + VariableDeclaration 168125 168245 + Identifier 168125 168130 + AsExpression 168132 168245 + ElementAccessExpression 168132 168228 + PropertyAccessExpression 168132 168225 + ParenthesizedExpression 168132 168215 + AsExpression 168134 168214 + CallExpression 168134 168196 + Identifier 168134 168161 + PropertyAccessExpression 168162 168195 + Identifier 168162 168184 + Identifier 168185 168195 + TypeReference 168199 168214 + Identifier 168199 168214 + Identifier 168216 168225 + NumericLiteral 168226 168227 + TypeReference 168231 168245 + Identifier 168231 168245 + ReturnStatement 168246 168473 + ConditionalExpression 168266 168472 + CallExpression 168266 168308 + Identifier 168266 168279 + PropertyAccessExpression 168280 168307 + Identifier 168280 168302 + Identifier 168303 168307 + QuestionToken 168308 168327 + CallExpression 168327 168443 + Identifier 168327 168341 + CallExpression 168342 168442 + Identifier 168342 168359 + CallExpression 168360 168400 + Identifier 168360 168394 + Identifier 168395 168399 + PropertyAccessExpression 168401 168441 + PropertyAccessExpression 168401 168429 + Identifier 168401 168424 + Identifier 168425 168429 + Identifier 168430 168441 + ColonToken 168443 168462 + Identifier 168462 168472 + IfStatement 168484 169027 + BinaryExpression 168498 168593 + CallExpression 168498 168525 + Identifier 168498 168519 + Identifier 168520 168524 + BarBarToken 168525 168528 + BinaryExpression 168528 168593 + PropertyAccessExpression 168528 168554 + PropertyAccessExpression 168528 168549 + Identifier 168528 168533 + Identifier 168534 168549 + Identifier 168550 168554 + EqualsEqualsEqualsToken 168554 168558 + PropertyAccessExpression 168558 168593 + Identifier 168558 168569 + Identifier 168570 168593 + Block 168594 169027 + VariableStatement 168596 168810 + VariableDeclarationList 168596 168809 + VariableDeclaration 168615 168809 + Identifier 168615 168625 + CallExpression 168627 168809 + Identifier 168627 168653 + Identifier 168654 168676 + BinaryExpression 168677 168793 + CallExpression 168677 168733 + Identifier 168677 168727 + Identifier 168728 168732 + BarBarToken 168733 168736 + CallExpression 168736 168793 + Identifier 168736 168787 + Identifier 168788 168792 + VariableStatement 168810 168880 + VariableDeclarationList 168810 168879 + VariableDeclaration 168829 168879 + Identifier 168829 168838 + CallExpression 168840 168879 + Identifier 168840 168868 + Identifier 168869 168878 + ExpressionStatement 168880 168986 + CallExpression 168880 168985 + Identifier 168880 168932 + Identifier 168933 168937 + Identifier 168938 168948 + Identifier 168949 168958 + FalseKeyword 168959 168984 + ReturnStatement 168986 169016 + Identifier 169006 169015 + VariableStatement 169027 169139 + VariableDeclarationList 169027 169138 + VariableDeclaration 169042 169138 + Identifier 169042 169051 + CallExpression 169053 169138 + Identifier 169053 169098 + PropertyAccessExpression 169099 169119 + Identifier 169099 169103 + Identifier 169104 169119 + Identifier 169120 169137 + ExpressionStatement 169139 169224 + CallExpression 169139 169223 + Identifier 169139 169207 + Identifier 169208 169212 + Identifier 169213 169222 + ReturnStatement 169224 169250 + Identifier 169240 169249 + FunctionDeclaration 169257 170565 + Identifier 169273 169332 + Parameter 169333 169362 + Identifier 169333 169337 + TypeReference 169338 169362 + Identifier 169338 169362 + Parameter 169363 169392 + Identifier 169363 169372 + UnionType 169373 169392 + TypeReference 169373 169380 + Identifier 169373 169380 + UndefinedKeyword 169382 169392 + Block 169393 170565 + IfStatement 169395 170558 + BinaryExpression 169409 169540 + CallExpression 169409 169520 + Identifier 169409 169447 + Identifier 169448 169452 + Identifier 169453 169483 + Identifier 169484 169493 + FalseKeyword 169494 169519 + AmpersandAmpersandToken 169520 169523 + PrefixUnaryExpression 169523 169540 + PropertyAccessExpression 169525 169540 + Identifier 169525 169529 + Identifier 169530 169540 + Block 169541 170558 + VariableStatement 169543 169644 + VariableDeclarationList 169543 169643 + VariableDeclaration 169562 169643 + Identifier 169562 169582 + NonNullExpression 169584 169643 + CallExpression 169584 169642 + Identifier 169584 169612 + CallExpression 169613 169641 + Identifier 169613 169635 + Identifier 169636 169640 + VariableStatement 169644 169792 + VariableDeclarationList 169644 169791 + VariableDeclaration 169663 169791 + Identifier 169663 169672 + BinaryExpression 169674 169791 + BinaryExpression 169674 169730 + PropertyAccessExpression 169674 169699 + Identifier 169674 169694 + Identifier 169695 169699 + EqualsEqualsEqualsToken 169699 169703 + PropertyAccessExpression 169703 169730 + Identifier 169703 169714 + Identifier 169715 169730 + BarBarToken 169730 169733 + BinaryExpression 169733 169791 + PropertyAccessExpression 169733 169758 + Identifier 169733 169753 + Identifier 169754 169758 + EqualsEqualsEqualsToken 169758 169762 + PropertyAccessExpression 169762 169791 + Identifier 169762 169773 + Identifier 169774 169791 + VariableStatement 169792 170059 + VariableDeclarationList 169792 170058 + VariableDeclaration 169811 170058 + Identifier 169811 169819 + ConditionalExpression 169821 170058 + Identifier 169821 169830 + QuestionToken 169830 169849 + PropertyAccessExpression 169849 169944 + Identifier 169849 169861 + Identifier 169862 169944 + ColonToken 169944 169963 + PropertyAccessExpression 169963 170058 + Identifier 169963 169975 + Identifier 169976 170058 + VariableStatement 170059 170209 + VariableDeclarationList 170059 170208 + VariableDeclaration 170078 170208 + Identifier 170078 170093 + ConditionalExpression 170095 170208 + Identifier 170095 170104 + QuestionToken 170104 170123 + PropertyAccessExpression 170123 170156 + Identifier 170123 170135 + Identifier 170136 170156 + ColonToken 170156 170175 + PropertyAccessExpression 170175 170208 + Identifier 170175 170187 + Identifier 170188 170208 + VariableStatement 170209 170412 + VariableDeclarationList 170209 170411 + VariableDeclaration 170282 170411 + Identifier 170282 170287 + ConditionalExpression 170289 170411 + BinaryExpression 170289 170347 + PropertyAccessExpression 170289 170314 + Identifier 170289 170309 + Identifier 170310 170314 + EqualsEqualsEqualsToken 170314 170318 + PropertyAccessExpression 170318 170347 + Identifier 170318 170329 + Identifier 170330 170347 + QuestionToken 170347 170349 + StringLiteral 170349 170353 + ColonToken 170353 170355 + CallExpression 170355 170411 + Identifier 170355 170385 + PropertyAccessExpression 170386 170410 + Identifier 170386 170405 + Identifier 170406 170410 + ExpressionStatement 170412 170547 + CallExpression 170412 170546 + Identifier 170412 170440 + CallExpression 170441 170477 + Identifier 170441 170446 + PropertyAccessExpression 170447 170467 + Identifier 170447 170451 + Identifier 170452 170467 + Identifier 170468 170476 + CallExpression 170478 170545 + Identifier 170478 170502 + Identifier 170503 170522 + Identifier 170523 170538 + Identifier 170539 170544 + FunctionDeclaration 170565 171237 + Identifier 170581 170601 + Parameter 170602 170622 + Identifier 170602 170614 + TypeReference 170615 170622 + Identifier 170615 170622 + Parameter 170623 170638 + Identifier 170623 170628 + TypeReference 170629 170638 + Identifier 170629 170638 + Parameter 170639 170698 + Identifier 170639 170650 + UnionType 170651 170698 + TypeReference 170651 170686 + Identifier 170651 170686 + UndefinedKeyword 170688 170698 + Parameter 170699 170725 + Identifier 170699 170716 + BooleanKeyword 170717 170725 + Block 170726 171237 + VariableStatement 170728 170817 + VariableDeclarationList 170728 170816 + VariableDeclaration 170743 170816 + Identifier 170743 170755 + CallExpression 170757 170816 + PropertyAccessExpression 170757 170783 + NonNullExpression 170757 170779 + PropertyAccessExpression 170757 170778 + Identifier 170757 170770 + Identifier 170771 170778 + Identifier 170780 170783 + PropertyAccessExpression 170784 170815 + Identifier 170784 170802 + Identifier 170803 170815 + VariableStatement 170817 171020 + VariableDeclarationList 170817 171019 + VariableDeclaration 170832 171019 + Identifier 170832 170845 + ConditionalExpression 170847 171019 + Identifier 170847 170859 + QuestionToken 170859 170874 + CallExpression 170874 170972 + Identifier 170874 170892 + CallExpression 170893 170921 + Identifier 170893 170908 + Identifier 170909 170920 + Identifier 170922 170927 + TrueKeyword 170928 170971 + ColonToken 170972 170987 + CallExpression 170987 171019 + PropertyAccessExpression 170987 171013 + NonNullExpression 170987 171009 + PropertyAccessExpression 170987 171008 + Identifier 170987 171000 + Identifier 171001 171008 + Identifier 171010 171013 + Identifier 171014 171018 + VariableStatement 171020 171093 + VariableDeclarationList 171020 171092 + VariableDeclaration 171035 171092 + Identifier 171035 171044 + CallExpression 171046 171092 + Identifier 171046 171060 + Identifier 171061 171073 + Identifier 171074 171091 + ExpressionStatement 171093 171204 + CallExpression 171093 171203 + Identifier 171093 171141 + Identifier 171142 171152 + Identifier 171153 171166 + Identifier 171167 171176 + FalseKeyword 171177 171202 + ReturnStatement 171204 171230 + Identifier 171220 171229 + FunctionDeclaration 171237 171509 + Identifier 171253 171272 + Parameter 171273 171283 + Identifier 171273 171277 + TypeReference 171278 171283 + Identifier 171278 171283 + Block 171284 171509 + ReturnStatement 171286 171502 + ParenthesizedExpression 171302 171501 + BinaryExpression 171304 171500 + BinaryExpression 171304 171460 + BinaryExpression 171304 171420 + ParenthesizedExpression 171304 171354 + BinaryExpression 171305 171353 + CallExpression 171305 171329 + Identifier 171305 171323 + Identifier 171324 171328 + AmpersandAmpersandToken 171329 171332 + PrefixUnaryExpression 171332 171353 + PropertyAccessExpression 171334 171353 + Identifier 171334 171338 + Identifier 171339 171353 + BarBarToken 171354 171370 + CallExpression 171370 171420 + Identifier 171370 171391 + Identifier 171392 171396 + PropertyAccessExpression 171397 171419 + Identifier 171397 171411 + Identifier 171412 171419 + BarBarToken 171420 171436 + CallExpression 171436 171460 + Identifier 171436 171454 + Identifier 171455 171459 + BarBarToken 171460 171476 + CallExpression 171476 171500 + Identifier 171476 171494 + Identifier 171495 171499 + FunctionDeclaration 171509 171723 + Identifier 171525 171567 + Parameter 171568 171585 + Identifier 171568 171573 + TypeReference 171574 171585 + Identifier 171574 171585 + Block 171586 171723 + ReturnStatement 171588 171716 + ConditionalExpression 171604 171715 + CallExpression 171604 171631 + Identifier 171604 171624 + Identifier 171625 171630 + QuestionToken 171631 171633 + CallExpression 171633 171703 + PropertyAccessExpression 171633 171668 + Identifier 171633 171638 + Identifier 171639 171668 + CallExpression 171669 171695 + Identifier 171669 171688 + Identifier 171689 171694 + Identifier 171696 171702 + ColonToken 171703 171705 + Identifier 171705 171715 + FunctionDeclaration 171723 171935 + Identifier 171739 171784 + Parameter 171785 171810 + Identifier 171785 171794 + TypeReference 171795 171810 + Identifier 171795 171810 + Parameter 171811 171838 + Identifier 171811 171822 + TypeReference 171823 171838 + Identifier 171823 171838 + Block 171839 171935 + ReturnStatement 171841 171928 + BinaryExpression 171857 171927 + BinaryExpression 171857 171889 + Identifier 171857 171867 + EqualsEqualsEqualsToken 171867 171871 + PropertyAccessExpression 171871 171889 + Identifier 171871 171882 + Identifier 171883 171889 + AmpersandAmpersandToken 171889 171892 + BinaryExpression 171892 171927 + Identifier 171892 171903 + EqualsEqualsEqualsToken 171903 171907 + PropertyAccessExpression 171907 171927 + Identifier 171907 171918 + Identifier 171919 171927 + FunctionDeclaration 171935 172690 + Identifier 171951 171977 + Parameter 171978 171995 + Identifier 171978 171983 + TypeReference 171984 171995 + Identifier 171984 171995 + Parameter 171996 172020 + Identifier 171996 172011 + QuestionToken 172011 172012 + TypeReference 172013 172020 + Identifier 172013 172020 + Block 172021 172690 + IfStatement 172023 172660 + BinaryExpression 172098 172166 + BinaryExpression 172098 172129 + PropertyAccessExpression 172098 172115 + Identifier 172098 172108 + Identifier 172109 172115 + LessThanEqualsToken 172115 172118 + Identifier 172118 172129 + AmpersandAmpersandToken 172129 172132 + BinaryExpression 172132 172166 + Identifier 172132 172143 + LessThanEqualsToken 172143 172146 + PropertyAccessExpression 172146 172166 + Identifier 172146 172157 + Identifier 172158 172166 + Block 172167 172660 + VariableStatement 172169 172250 + VariableDeclarationList 172169 172249 + VariableDeclaration 172188 172249 + Identifier 172188 172198 + CallExpression 172200 172249 + Identifier 172200 172242 + Identifier 172243 172248 + IfStatement 172250 172649 + BinaryExpression 172268 172299 + Identifier 172268 172277 + EqualsEqualsEqualsToken 172277 172281 + PropertyAccessExpression 172281 172299 + Identifier 172281 172292 + Identifier 172293 172299 + Block 172300 172649 + ExpressionStatement 172302 172402 + BinaryExpression 172302 172401 + Identifier 172302 172334 + QuestionQuestionEqualsToken 172334 172338 + CallExpression 172338 172401 + Identifier 172338 172364 + Identifier 172365 172370 + Identifier 172371 172377 + TrueKeyword 172378 172400 + VariableStatement 172402 172495 + VariableDeclarationList 172402 172494 + VariableDeclaration 172425 172494 + Identifier 172425 172436 + BinaryExpression 172438 172494 + Identifier 172438 172453 + AmpersandAmpersandToken 172453 172456 + CallExpression 172456 172494 + Identifier 172456 172478 + Identifier 172479 172493 + ReturnStatement 172495 172634 + BinaryExpression 172519 172633 + Identifier 172519 172530 + AmpersandAmpersandToken 172530 172533 + ParenthesizedExpression 172533 172633 + BinaryExpression 172535 172632 + CallExpression 172535 172563 + Identifier 172535 172551 + Identifier 172552 172562 + BarBarToken 172563 172566 + BinaryExpression 172566 172632 + CallExpression 172566 172615 + Identifier 172566 172594 + PropertyAccessExpression 172595 172614 + Identifier 172595 172605 + Identifier 172606 172614 + EqualsEqualsEqualsToken 172615 172619 + StringLiteral 172619 172632 + ReturnStatement 172660 172683 + FalseKeyword 172676 172682 + FunctionDeclaration 172690 176002 + Identifier 172706 172730 + Parameter 172731 172759 + Identifier 172731 172735 + UnionType 172736 172759 + TypeReference 172736 172747 + Identifier 172736 172747 + UndefinedKeyword 172749 172759 + Parameter 172760 172781 + Identifier 172760 172773 + TypeReference 172774 172781 + Identifier 172774 172781 + Parameter 172782 172808 + Identifier 172782 172799 + BooleanKeyword 172800 172808 + Parameter 172809 172827 + Identifier 172809 172815 + TypeReference 172816 172827 + Identifier 172816 172827 + Block 172828 176002 + VariableStatement 172830 172915 + VariableDeclarationList 172830 172914 + VariableDeclaration 172845 172914 + Identifier 172845 172855 + BinaryExpression 172857 172914 + Identifier 172857 172862 + AmpersandAmpersandToken 172862 172865 + CallExpression 172865 172914 + Identifier 172865 172907 + Identifier 172908 172913 + IfStatement 172915 173652 + BinaryExpression 172929 172960 + Identifier 172929 172933 + AmpersandAmpersandToken 172933 172936 + BinaryExpression 172936 172960 + Identifier 172936 172946 + ExclamationEqualsEqualsToken 172946 172950 + Identifier 172950 172960 + Block 172961 173652 + VariableStatement 172963 173035 + VariableDeclarationList 172963 173034 + VariableDeclaration 172982 173034 + Identifier 172982 172993 + CallExpression 172995 173034 + PropertyAccessExpression 172995 173028 + Identifier 172995 173000 + Identifier 173001 173028 + Identifier 173029 173033 + IfStatement 173035 173346 + BinaryExpression 173053 173194 + BinaryExpression 173053 173157 + BinaryExpression 173053 173122 + BinaryExpression 173053 173084 + Identifier 173053 173062 + EqualsEqualsEqualsToken 173062 173066 + PropertyAccessExpression 173066 173084 + Identifier 173066 173077 + Identifier 173078 173084 + AmpersandAmpersandToken 173084 173087 + BinaryExpression 173087 173122 + Identifier 173087 173098 + EqualsEqualsEqualsToken 173098 173102 + PropertyAccessExpression 173102 173122 + Identifier 173102 173113 + Identifier 173114 173122 + AmpersandAmpersandToken 173122 173125 + BinaryExpression 173125 173157 + PropertyAccessExpression 173125 173143 + Identifier 173125 173136 + Identifier 173137 173143 + LessThanEqualsToken 173143 173146 + Identifier 173146 173157 + AmpersandAmpersandToken 173157 173160 + BinaryExpression 173160 173194 + Identifier 173160 173171 + LessThanEqualsToken 173171 173174 + PropertyAccessExpression 173174 173194 + Identifier 173174 173185 + Identifier 173186 173194 + Block 173195 173346 + ReturnStatement 173197 173331 + TrueKeyword 173325 173330 + IfStatement 173346 173641 + BinaryExpression 173364 173431 + BinaryExpression 173364 173395 + Identifier 173364 173373 + EqualsEqualsEqualsToken 173373 173377 + PropertyAccessExpression 173377 173395 + Identifier 173377 173388 + Identifier 173389 173395 + AmpersandAmpersandToken 173395 173398 + BinaryExpression 173398 173431 + Identifier 173398 173409 + EqualsEqualsEqualsToken 173409 173413 + PropertyAccessExpression 173413 173431 + Identifier 173413 173424 + Identifier 173425 173431 + Block 173432 173641 + ReturnStatement 173434 173626 + FalseKeyword 173619 173625 + IfStatement 173652 173736 + PrefixUnaryExpression 173666 173695 + Identifier 173667 173695 + Block 173696 173736 + ReturnStatement 173698 173725 + FalseKeyword 173718 173724 + IfStatement 173736 175379 + BinaryExpression 173802 173833 + PrefixUnaryExpression 173802 173807 + Identifier 173803 173807 + BarBarToken 173807 173810 + PropertyAccessExpression 173810 173833 + Identifier 173810 173815 + Identifier 173816 173833 + Block 173834 175379 + VariableStatement 173836 174102 + VariableDeclarationList 173836 174101 + VariableDeclaration 173964 174101 + Identifier 173964 173984 + CallExpression 173986 174101 + Identifier 173986 174006 + Identifier 174007 174019 + PropertyAccessExpression 174020 174047 + Identifier 174020 174039 + Identifier 174040 174047 + Identifier 174048 174073 + TrueKeyword 174074 174100 + IfStatement 174102 174334 + BinaryExpression 174204 174285 + Identifier 174204 174223 + AmpersandAmpersandToken 174223 174226 + CallExpression 174226 174285 + Identifier 174226 174231 + PropertyAccessExpression 174232 174264 + Identifier 174232 174251 + Identifier 174252 174264 + Identifier 174265 174284 + Block 174286 174334 + ReturnStatement 174288 174319 + FalseKeyword 174312 174318 + IfStatement 174334 174933 + CallExpression 174541 174658 + Identifier 174541 174560 + Identifier 174561 174573 + CallExpression 174574 174613 + Identifier 174574 174599 + StringLiteral 174600 174612 + Identifier 174614 174639 + Identifier 174640 174657 + Block 174659 174933 + ReturnStatement 174661 174918 + FalseKeyword 174911 174917 + ReturnStatement 174933 175368 + TrueKeyword 175362 175367 + IfStatement 175379 175647 + PrefixUnaryExpression 175551 175572 + CallExpression 175552 175572 + Identifier 175552 175566 + Identifier 175567 175571 + Block 175573 175647 + ReturnStatement 175575 175636 + CallExpression 175595 175635 + Identifier 175595 175621 + Identifier 175622 175634 + ReturnStatement 175647 175995 + BinaryExpression 175823 175994 + BinaryExpression 175823 175872 + TypeOfExpression 175823 175859 + PropertyAccessExpression 175830 175859 + Identifier 175830 175835 + Identifier 175836 175859 + ExclamationEqualsEqualsToken 175859 175863 + StringLiteral 175863 175872 + AmpersandAmpersandToken 175872 175875 + PrefixUnaryExpression 175875 175994 + CallExpression 175877 175994 + Identifier 175877 175896 + Identifier 175897 175909 + CallExpression 175910 175949 + Identifier 175910 175935 + StringLiteral 175936 175948 + Identifier 175950 175975 + Identifier 175976 175993 + FunctionDeclaration 176002 176334 + Identifier 176018 176042 + Parameter 176043 176061 + Identifier 176043 176047 + TypeReference 176048 176061 + Identifier 176048 176061 + Parameter 176062 176088 + Identifier 176062 176079 + BooleanKeyword 176080 176088 + UnionType 176090 176109 + TypeReference 176090 176097 + Identifier 176090 176097 + UndefinedKeyword 176099 176109 + Block 176109 176334 + VariableStatement 176111 176203 + VariableDeclarationList 176111 176202 + VariableDeclaration 176126 176202 + Identifier 176126 176139 + CallExpression 176141 176202 + Identifier 176141 176167 + Identifier 176168 176172 + PropertyAccessExpression 176173 176201 + PropertyAccessExpression 176173 176185 + Identifier 176173 176178 + Identifier 176179 176185 + Identifier 176186 176201 + IfStatement 176203 176327 + Identifier 176217 176229 + Block 176230 176327 + ReturnStatement 176232 176316 + CallExpression 176252 176315 + Identifier 176252 176277 + Identifier 176278 176290 + Identifier 176291 176296 + Identifier 176297 176314 + FunctionDeclaration 176334 179304 + Identifier 176350 176375 + Parameter 176376 176396 + Identifier 176376 176388 + TypeReference 176389 176396 + Identifier 176389 176396 + Parameter 176397 176442 + Identifier 176397 176402 + UnionType 176403 176442 + TypeReference 176403 176416 + Identifier 176403 176416 + TypeReference 176418 176442 + Identifier 176418 176442 + Parameter 176443 176469 + Identifier 176443 176460 + BooleanKeyword 176461 176469 + Block 176470 179304 + VariableStatement 176472 176526 + VariableDeclarationList 176472 176525 + VariableDeclaration 176485 176525 + Identifier 176485 176505 + UnionType 176506 176525 + TypeReference 176506 176513 + Identifier 176506 176513 + UndefinedKeyword 176515 176525 + IfStatement 176526 176796 + CallExpression 176540 176584 + Identifier 176540 176570 + Identifier 176571 176583 + Block 176585 176647 + ExpressionStatement 176587 176636 + BinaryExpression 176587 176635 + Identifier 176587 176620 + EqualsToken 176620 176622 + Identifier 176622 176635 + Block 176661 176796 + ExpressionStatement 176663 176785 + BinaryExpression 176663 176784 + Identifier 176663 176696 + EqualsToken 176696 176698 + CallExpression 176698 176784 + Identifier 176698 176718 + Identifier 176719 176731 + PropertyAccessExpression 176732 176759 + Identifier 176732 176751 + Identifier 176752 176759 + Identifier 176760 176765 + Identifier 176766 176783 + VariableStatement 176796 176867 + VariableDeclarationList 176796 176866 + VariableDeclaration 176813 176866 + Identifier 176813 176818 + CallExpression 176820 176866 + PropertyAccessExpression 176820 176852 + PropertyAccessExpression 176820 176846 + Identifier 176820 176833 + Identifier 176834 176846 + QuestionDotToken 176846 176848 + Identifier 176848 176852 + Identifier 176853 176865 + VariableStatement 176867 176937 + VariableDeclarationList 176867 176936 + VariableDeclaration 176882 176936 + Identifier 176882 176892 + CallExpression 176894 176936 + Identifier 176894 176930 + Identifier 176931 176935 + IfStatement 176937 177016 + PrefixUnaryExpression 176951 176961 + Identifier 176952 176961 + Block 176962 177016 + ReturnStatement 176964 177005 + Identifier 176984 177004 + VariableStatement 177016 177100 + VariableDeclarationList 177016 177099 + VariableDeclaration 177031 177099 + Identifier 177031 177046 + CallExpression 177048 177099 + Identifier 177048 177074 + Identifier 177075 177084 + Identifier 177085 177098 + VariableStatement 177100 177211 + VariableDeclarationList 177100 177210 + VariableDeclaration 177115 177210 + Identifier 177115 177135 + CallExpression 177137 177210 + Identifier 177137 177161 + Identifier 177162 177166 + Identifier 177167 177180 + Identifier 177181 177198 + Identifier 177199 177209 + IfStatement 177211 179131 + BinaryExpression 177225 177288 + BinaryExpression 177225 177269 + PrefixUnaryExpression 177225 177245 + Identifier 177226 177245 + AmpersandAmpersandToken 177245 177248 + PrefixUnaryExpression 177248 177269 + Identifier 177250 177269 + AmpersandAmpersandToken 177269 177272 + PrefixUnaryExpression 177272 177288 + Identifier 177274 177288 + Block 177289 178661 + IfStatement 177291 178650 + BinaryExpression 177309 177381 + CallExpression 177309 177348 + Identifier 177309 177334 + Identifier 177335 177347 + AmpersandAmpersandToken 177348 177351 + PrefixUnaryExpression 177351 177381 + Identifier 177353 177381 + Block 177382 178348 + VariableStatement 177384 177514 + VariableDeclarationList 177384 177513 + VariableDeclaration 177407 177513 + Identifier 177407 177426 + ConditionalExpression 177428 177513 + BinaryExpression 177428 177460 + Identifier 177428 177439 + GreaterThanEqualsToken 177439 177442 + PropertyAccessExpression 177442 177460 + Identifier 177442 177453 + Identifier 177454 177460 + QuestionToken 177460 177462 + StringLiteral 177462 177493 + ColonToken 177493 177495 + StringLiteral 177495 177513 + VariableStatement 177514 177618 + VariableDeclarationList 177514 177617 + VariableDeclaration 177537 177617 + Identifier 177537 177556 + CallExpression 177558 177617 + PropertyAccessExpression 177558 177584 + NonNullExpression 177558 177580 + PropertyAccessExpression 177558 177579 + Identifier 177558 177571 + Identifier 177572 177579 + Identifier 177581 177584 + PropertyAccessExpression 177585 177616 + Identifier 177585 177603 + Identifier 177604 177616 + VariableStatement 177618 177698 + VariableDeclarationList 177618 177697 + VariableDeclaration 177641 177697 + Identifier 177641 177658 + PropertyAccessExpression 177660 177697 + NonNullExpression 177660 177680 + Identifier 177660 177679 + Identifier 177681 177697 + VariableStatement 177698 177863 + VariableDeclarationList 177698 177862 + VariableDeclaration 177721 177862 + Identifier 177721 177725 + CallExpression 177727 177862 + Identifier 177727 177733 + PropertyAccessExpression 177734 177743 + Identifier 177734 177738 + Identifier 177739 177743 + PropertyAccessExpression 177744 177811 + Identifier 177744 177756 + Identifier 177757 177811 + CallExpression 177812 177841 + Identifier 177812 177827 + Identifier 177828 177840 + Identifier 177842 177861 + IfStatement 177863 178333 + Identifier 177887 177903 + Block 177904 178333 + ExpressionStatement 177906 178314 + CallExpression 177906 178313 + Identifier 177906 177942 + Identifier 177943 177972 + CallExpression 177973 178289 + Identifier 177973 178022 + Identifier 178023 178069 + PropertyAccessExpression 178070 178212 + Identifier 178070 178111 + Identifier 178112 178212 + Identifier 178213 178261 + IfStatement 178366 178650 + CallExpression 178371 178391 + Identifier 178371 178385 + Identifier 178386 178390 + Block 178392 178470 + ExpressionStatement 178394 178455 + CallExpression 178394 178454 + Identifier 178394 178434 + Identifier 178435 178447 + Identifier 178448 178453 + Block 178488 178650 + ExpressionStatement 178490 178635 + CallExpression 178490 178634 + Identifier 178490 178533 + Identifier 178534 178546 + Identifier 178547 178560 + Identifier 178561 178566 + BinaryExpression 178567 178633 + BinaryExpression 178567 178620 + CallExpression 178567 178599 + Identifier 178567 178593 + Identifier 178594 178598 + AmpersandAmpersandToken 178599 178602 + PropertyAccessExpression 178602 178620 + Identifier 178602 178607 + Identifier 178608 178620 + BarBarToken 178620 178623 + PropertyAccessExpression 178623 178633 + Identifier 178623 178628 + Identifier 178629 178633 + IfStatement 178675 179131 + BinaryExpression 178680 178717 + Identifier 178680 178699 + BarBarToken 178699 178702 + Identifier 178702 178717 + Block 178718 179131 + VariableStatement 178720 178981 + VariableDeclarationList 178720 178980 + VariableDeclaration 178860 178980 + Identifier 178860 178869 + BinaryExpression 178871 178980 + CallExpression 178871 178931 + Identifier 178871 178899 + Identifier 178900 178912 + Identifier 178913 178930 + BarBarToken 178931 178934 + CallExpression 178934 178980 + Identifier 178934 178948 + Identifier 178949 178961 + Identifier 178962 178979 + ExpressionStatement 178981 179090 + CallExpression 178981 179089 + Identifier 178981 179033 + Identifier 179034 179038 + Identifier 179039 179052 + Identifier 179053 179062 + FalseKeyword 179063 179088 + ReturnStatement 179090 179120 + Identifier 179110 179119 + ExpressionStatement 179131 179260 + CallExpression 179131 179259 + Identifier 179131 179179 + Identifier 179180 179184 + Identifier 179185 179205 + Identifier 179206 179232 + FalseKeyword 179233 179258 + ReturnStatement 179260 179297 + Identifier 179276 179296 + FunctionDeclaration 179304 180185 + Identifier 179320 179356 + Parameter 179357 179445 + Identifier 179357 179361 + UnionType 179362 179445 + TypeReference 179362 179386 + Identifier 179362 179386 + TypeReference 179388 179401 + Identifier 179388 179401 + TypeReference 179403 179419 + Identifier 179403 179419 + TypeReference 179421 179445 + Identifier 179421 179445 + UnionType 179447 179470 + TypeReference 179447 179458 + Identifier 179447 179458 + UndefinedKeyword 179460 179470 + Block 179470 180185 + SwitchStatement 179472 180178 + PropertyAccessExpression 179490 179499 + Identifier 179490 179494 + Identifier 179495 179499 + CaseBlock 179500 180178 + CaseClause 179502 179598 + PropertyAccessExpression 179520 179544 + Identifier 179520 179531 + Identifier 179532 179544 + ReturnStatement 179545 179598 + PropertyAccessExpression 179569 179597 + PropertyAccessExpression 179569 179581 + Identifier 179569 179574 + Identifier 179575 179581 + Identifier 179582 179597 + CaseClause 179598 179771 + PropertyAccessExpression 179616 179651 + Identifier 179616 179627 + Identifier 179628 179651 + ReturnStatement 179652 179771 + ConditionalExpression 179676 179770 + CallExpression 179676 179724 + Identifier 179676 179702 + PropertyAccessExpression 179703 179723 + Identifier 179703 179707 + Identifier 179708 179723 + QuestionToken 179724 179726 + PropertyAccessExpression 179726 179758 + PropertyAccessExpression 179726 179747 + Identifier 179726 179731 + Identifier 179732 179747 + Identifier 179748 179758 + ColonToken 179758 179760 + Identifier 179760 179770 + CaseClause 179771 179877 + PropertyAccessExpression 179789 179816 + Identifier 179789 179800 + Identifier 179801 179816 + ReturnStatement 179817 179877 + PropertyAccessExpression 179841 179876 + PropertyAccessExpression 179841 179860 + PropertyAccessExpression 179841 179853 + Identifier 179841 179846 + Identifier 179847 179853 + Identifier 179854 179860 + Identifier 179861 179876 + CaseClause 179877 179990 + PropertyAccessExpression 179895 179922 + Identifier 179895 179906 + Identifier 179907 179922 + ReturnStatement 179923 179990 + PropertyAccessExpression 179947 179989 + PropertyAccessExpression 179947 179973 + PropertyAccessExpression 179947 179966 + PropertyAccessExpression 179947 179959 + Identifier 179947 179952 + Identifier 179953 179959 + Identifier 179960 179966 + Identifier 179967 179973 + Identifier 179974 179989 + CaseClause 179990 180096 + PropertyAccessExpression 180008 180035 + Identifier 180008 180019 + Identifier 180020 180035 + ReturnStatement 180036 180096 + PropertyAccessExpression 180060 180095 + PropertyAccessExpression 180060 180079 + PropertyAccessExpression 180060 180072 + Identifier 180060 180065 + Identifier 180066 180072 + Identifier 180073 180079 + Identifier 180080 180095 + DefaultClause 180096 180167 + ReturnStatement 180118 180167 + CallExpression 180142 180166 + PropertyAccessExpression 180142 180160 + Identifier 180142 180148 + Identifier 180149 180160 + Identifier 180161 180165 + FunctionDeclaration 180185 181450 + Identifier 180201 180224 + Parameter 180225 180245 + Identifier 180225 180237 + TypeReference 180238 180245 + Identifier 180238 180245 + Parameter 180246 180265 + Identifier 180246 180251 + TypeReference 180252 180265 + Identifier 180252 180265 + Block 180266 181450 + IfStatement 180268 181443 + CallExpression 180282 180332 + PropertyAccessExpression 180282 180307 + PropertyAccessExpression 180282 180302 + Identifier 180282 180294 + Identifier 180295 180302 + QuestionDotToken 180302 180304 + Identifier 180304 180307 + PropertyAccessExpression 180308 180331 + PropertyAccessExpression 180308 180319 + Identifier 180308 180312 + Identifier 180313 180319 + Identifier 180320 180331 + Block 180333 180608 + ExpressionStatement 180335 180597 + CallExpression 180335 180596 + Identifier 180335 180354 + PropertyAccessExpression 180355 180382 + Identifier 180355 180377 + Identifier 180378 180382 + PropertyAccessExpression 180383 180487 + Identifier 180383 180412 + Identifier 180413 180487 + CallExpression 180488 180534 + Identifier 180488 180520 + Identifier 180521 180533 + CallExpression 180535 180580 + Identifier 180535 180567 + PropertyAccessExpression 180568 180579 + Identifier 180568 180572 + Identifier 180573 180579 + Block 180622 181443 + VariableStatement 180624 180748 + VariableDeclarationList 180624 180747 + VariableDeclaration 180643 180747 + Identifier 180643 180654 + CallExpression 180656 180747 + Identifier 180656 180662 + PropertyAccessExpression 180663 180672 + Identifier 180663 180667 + Identifier 180668 180672 + PropertyAccessExpression 180673 180716 + Identifier 180673 180685 + Identifier 180686 180716 + CallExpression 180717 180746 + Identifier 180717 180732 + Identifier 180733 180745 + VariableStatement 180748 180838 + VariableDeclarationList 180748 180837 + VariableDeclaration 180767 180837 + Identifier 180767 180778 + CallExpression 180780 180837 + PropertyAccessExpression 180780 180806 + PropertyAccessExpression 180780 180801 + Identifier 180780 180793 + Identifier 180794 180801 + QuestionDotToken 180801 180803 + Identifier 180803 180806 + PropertyAccessExpression 180807 180836 + Identifier 180807 180825 + Identifier 180826 180836 + IfStatement 180838 181432 + Identifier 180856 180866 + Block 180867 181432 + VariableStatement 180869 181213 + VariableDeclarationList 180869 181212 + VariableDeclaration 180892 181212 + Identifier 180892 180906 + CallExpression 180908 181212 + PropertyAccessExpression 180908 180938 + PropertyAccessExpression 180908 180932 + Identifier 180908 180919 + Identifier 180920 180932 + QuestionDotToken 180932 180934 + Identifier 180934 180938 + ArrowFunction 180939 181193 + Parameter 180939 180943 + Identifier 180939 180943 + EqualsGreaterThanToken 180943 180946 + PrefixUnaryExpression 180946 181193 + PrefixUnaryExpression 180969 181193 + ParenthesizedExpression 180970 181193 + BinaryExpression 180971 181170 + BinaryExpression 180971 181046 + CallExpression 180971 181022 + Identifier 180971 181016 + Identifier 181017 181021 + AmpersandAmpersandToken 181022 181025 + PropertyAccessExpression 181025 181046 + Identifier 181025 181030 + Identifier 181031 181046 + AmpersandAmpersandToken 181046 181049 + CallExpression 181049 181170 + PropertyAccessExpression 181049 181142 + PropertyAccessExpression 181049 181137 + CallExpression 181049 181128 + Identifier 181049 181100 + Identifier 181101 181105 + PropertyAccessExpression 181106 181127 + Identifier 181106 181111 + Identifier 181112 181127 + QuestionDotToken 181128 181130 + Identifier 181130 181137 + QuestionDotToken 181137 181139 + Identifier 181139 181142 + PropertyAccessExpression 181143 181169 + Identifier 181143 181161 + Identifier 181162 181169 + IfStatement 181213 181417 + Identifier 181235 181248 + Block 181249 181417 + ExpressionStatement 181251 181398 + CallExpression 181251 181397 + Identifier 181251 181287 + Identifier 181288 181298 + CallExpression 181299 181396 + Identifier 181299 181323 + Identifier 181324 181337 + PropertyAccessExpression 181338 181395 + Identifier 181338 181350 + Identifier 181351 181395 + FunctionDeclaration 181450 181973 + Identifier 181466 181493 + Parameter 181494 181515 + Identifier 181494 181498 + TypeReference 181499 181515 + Identifier 181499 181515 + Parameter 181516 181542 + Identifier 181516 181533 + BooleanKeyword 181534 181542 + UnionType 181544 181563 + TypeReference 181544 181551 + Identifier 181544 181551 + UndefinedKeyword 181553 181563 + Block 181563 181973 + VariableStatement 181565 181634 + VariableDeclarationList 181565 181633 + VariableDeclaration 181580 181633 + Identifier 181580 181596 + PropertyAccessExpression 181598 181633 + PropertyAccessExpression 181598 181617 + PropertyAccessExpression 181598 181610 + Identifier 181598 181603 + Identifier 181604 181610 + Identifier 181611 181617 + Identifier 181618 181633 + VariableStatement 181634 181711 + VariableDeclarationList 181634 181710 + VariableDeclaration 181649 181710 + Identifier 181649 181659 + CallExpression 181661 181710 + Identifier 181661 181687 + Identifier 181688 181692 + Identifier 181693 181709 + VariableStatement 181711 181838 + VariableDeclarationList 181711 181837 + VariableDeclaration 181726 181837 + Identifier 181726 181735 + CallExpression 181737 181837 + Identifier 181737 181759 + Identifier 181760 181769 + Identifier 181770 181786 + Identifier 181787 181804 + FalseKeyword 181805 181836 + ExpressionStatement 181838 181940 + CallExpression 181838 181939 + Identifier 181838 181886 + Identifier 181887 181891 + Identifier 181892 181902 + Identifier 181903 181912 + FalseKeyword 181913 181938 + ReturnStatement 181940 181966 + Identifier 181956 181965 + FunctionDeclaration 181973 182527 + Identifier 181989 182016 + Parameter 182017 182038 + Identifier 182017 182021 + TypeReference 182022 182038 + Identifier 182022 182038 + Parameter 182039 182065 + Identifier 182039 182056 + BooleanKeyword 182057 182065 + UnionType 182067 182086 + TypeReference 182067 182074 + Identifier 182067 182074 + UndefinedKeyword 182076 182086 + Block 182086 182527 + VariableStatement 182088 182150 + VariableDeclarationList 182088 182149 + VariableDeclaration 182103 182149 + Identifier 182103 182119 + PropertyAccessExpression 182121 182149 + PropertyAccessExpression 182121 182133 + Identifier 182121 182126 + Identifier 182127 182133 + Identifier 182134 182149 + VariableStatement 182150 182246 + VariableDeclarationList 182150 182245 + VariableDeclaration 182165 182245 + Identifier 182165 182175 + BinaryExpression 182177 182245 + Identifier 182177 182193 + AmpersandAmpersandToken 182193 182196 + CallExpression 182196 182245 + Identifier 182196 182222 + Identifier 182223 182227 + Identifier 182228 182244 + VariableStatement 182246 182392 + VariableDeclarationList 182246 182391 + VariableDeclaration 182261 182391 + Identifier 182261 182270 + BinaryExpression 182272 182391 + Identifier 182272 182288 + AmpersandAmpersandToken 182288 182291 + CallExpression 182291 182391 + Identifier 182291 182313 + Identifier 182314 182323 + Identifier 182324 182340 + Identifier 182341 182358 + FalseKeyword 182359 182390 + ExpressionStatement 182392 182494 + CallExpression 182392 182493 + Identifier 182392 182440 + Identifier 182441 182445 + Identifier 182446 182456 + Identifier 182457 182466 + FalseKeyword 182467 182492 + ReturnStatement 182494 182520 + Identifier 182510 182519 + FunctionDeclaration 182527 184234 + Identifier 183253 183280 + Parameter 183281 183300 + Identifier 183281 183292 + TypeReference 183293 183300 + Identifier 183293 183300 + Parameter 183301 183320 + Identifier 183301 183312 + TypeReference 183313 183320 + Identifier 183313 183320 + TypeReference 183322 183329 + Identifier 183322 183329 + Block 183329 184234 + IfStatement 183331 183455 + BinaryExpression 183345 183406 + BinaryExpression 183345 183374 + Identifier 183345 183356 + EqualsEqualsEqualsToken 183356 183360 + Identifier 183360 183374 + AmpersandAmpersandToken 183374 183377 + BinaryExpression 183377 183406 + Identifier 183377 183388 + EqualsEqualsEqualsToken 183388 183392 + Identifier 183392 183406 + Block 183407 183455 + ReturnStatement 183409 183444 + Identifier 183429 183443 + IfStatement 183455 183578 + BinaryExpression 183469 183531 + PropertyAccessExpression 183469 183486 + Identifier 183469 183480 + Identifier 183481 183486 + AmpersandToken 183486 183488 + ParenthesizedExpression 183488 183531 + BinaryExpression 183490 183530 + PropertyAccessExpression 183490 183506 + Identifier 183490 183501 + Identifier 183502 183506 + BarToken 183506 183508 + PropertyAccessExpression 183508 183530 + Identifier 183508 183520 + Identifier 183521 183530 + Block 183532 183578 + ReturnStatement 183534 183567 + Identifier 183554 183566 + VariableStatement 183578 183679 + VariableDeclarationList 183578 183678 + VariableDeclaration 183593 183678 + Identifier 183593 183600 + CallExpression 183602 183678 + Identifier 183602 183615 + BinaryExpression 183616 183652 + PropertyAccessExpression 183616 183633 + Identifier 183616 183627 + Identifier 183628 183633 + BarToken 183633 183635 + PropertyAccessExpression 183635 183652 + Identifier 183635 183646 + Identifier 183647 183652 + PropertyAccessExpression 183653 183677 + Identifier 183653 183665 + Identifier 183666 183677 + ExpressionStatement 183679 183755 + CallExpression 183679 183754 + PropertyAccessExpression 183679 183701 + Identifier 183679 183694 + Identifier 183695 183701 + BinaryExpression 183702 183753 + PropertyAccessExpression 183702 183726 + Identifier 183702 183713 + Identifier 183714 183726 + BarBarToken 183726 183729 + PropertyAccessExpression 183729 183753 + Identifier 183729 183740 + Identifier 183741 183753 + ExpressionStatement 183755 183878 + BinaryExpression 183755 183877 + PropertyAccessExpression 183755 183784 + Identifier 183755 183771 + Identifier 183772 183784 + EqualsToken 183784 183786 + CallExpression 183786 183877 + Identifier 183786 183798 + CallExpression 183799 183862 + Identifier 183799 183810 + NonNullExpression 183811 183836 + PropertyAccessExpression 183811 183835 + Identifier 183811 183822 + Identifier 183823 183835 + PropertyAccessExpression 183837 183861 + Identifier 183837 183848 + Identifier 183849 183861 + Identifier 183863 183876 + ExpressionStatement 183878 183944 + BinaryExpression 183878 183943 + PropertyAccessExpression 183878 183901 + Identifier 183878 183894 + Identifier 183895 183901 + EqualsToken 183901 183903 + BinaryExpression 183903 183943 + PropertyAccessExpression 183903 183922 + Identifier 183903 183915 + Identifier 183916 183922 + BarBarToken 183922 183925 + PropertyAccessExpression 183925 183943 + Identifier 183925 183936 + Identifier 183937 183943 + IfStatement 183944 184043 + PropertyAccessExpression 183958 183986 + Identifier 183958 183969 + Identifier 183970 183986 + ExpressionStatement 183987 184043 + BinaryExpression 183987 184042 + PropertyAccessExpression 183987 184011 + Identifier 183987 183994 + Identifier 183995 184011 + EqualsToken 184011 184013 + PropertyAccessExpression 184013 184042 + Identifier 184013 184025 + Identifier 184026 184042 + IfStatement 184043 184122 + PropertyAccessExpression 184057 184075 + Identifier 184057 184067 + Identifier 184068 184075 + ExpressionStatement 184076 184122 + BinaryExpression 184076 184121 + PropertyAccessExpression 184076 184091 + Identifier 184076 184083 + Identifier 184084 184091 + EqualsToken 184091 184093 + NewExpression 184093 184121 + Identifier 184097 184101 + PropertyAccessExpression 184102 184120 + Identifier 184102 184112 + Identifier 184113 184120 + IfStatement 184122 184203 + PropertyAccessExpression 184136 184155 + Identifier 184136 184147 + Identifier 184148 184155 + ExpressionStatement 184156 184203 + BinaryExpression 184156 184202 + PropertyAccessExpression 184156 184171 + Identifier 184156 184163 + Identifier 184164 184171 + EqualsToken 184171 184173 + NewExpression 184173 184202 + Identifier 184177 184181 + PropertyAccessExpression 184182 184201 + Identifier 184182 184193 + Identifier 184194 184201 + ReturnStatement 184203 184227 + Identifier 184219 184226 + FunctionDeclaration 184234 184879 + Identifier 184250 184268 + Parameter 184269 184283 + Identifier 184269 184275 + TypeReference 184276 184283 + Identifier 184276 184283 + Parameter 184284 184303 + Identifier 184284 184293 + TypeReference 184294 184303 + Identifier 184294 184303 + Parameter 184304 184327 + Identifier 184304 184314 + TypeReference 184315 184327 + Identifier 184315 184327 + Parameter 184328 184354 + Identifier 184328 184345 + BooleanKeyword 184346 184354 + UnionType 184356 184375 + TypeReference 184356 184363 + Identifier 184356 184363 + UndefinedKeyword 184365 184375 + Block 184375 184879 + IfStatement 184377 184872 + BinaryExpression 184391 184424 + PropertyAccessExpression 184391 184403 + Identifier 184391 184397 + Identifier 184398 184403 + AmpersandToken 184403 184405 + PropertyAccessExpression 184405 184424 + Identifier 184405 184417 + Identifier 184418 184424 + Block 184425 184872 + VariableStatement 184427 184503 + VariableDeclarationList 184427 184502 + VariableDeclaration 184446 184502 + Identifier 184446 184459 + CallExpression 184461 184502 + PropertyAccessExpression 184461 184492 + CallExpression 184461 184488 + Identifier 184461 184480 + Identifier 184481 184487 + Identifier 184489 184492 + Identifier 184493 184501 + VariableStatement 184503 184580 + VariableDeclarationList 184503 184579 + VariableDeclaration 184522 184579 + Identifier 184522 184531 + CallExpression 184533 184579 + Identifier 184533 184547 + Identifier 184548 184560 + Identifier 184561 184578 + VariableStatement 184580 184684 + VariableDeclarationList 184580 184683 + VariableDeclaration 184599 184683 + Identifier 184599 184621 + CallExpression 184623 184683 + PropertyAccessExpression 184623 184673 + PropertyAccessExpression 184623 184668 + CallExpression 184623 184646 + Identifier 184623 184638 + Identifier 184639 184645 + Identifier 184647 184668 + QuestionDotToken 184668 184670 + Identifier 184670 184673 + Identifier 184674 184682 + ExpressionStatement 184684 184831 + CallExpression 184684 184830 + Identifier 184684 184736 + Identifier 184737 184746 + Identifier 184747 184760 + Identifier 184761 184770 + FalseKeyword 184771 184796 + Identifier 184797 184819 + Identifier 184820 184829 + ReturnStatement 184831 184861 + Identifier 184851 184860 + FunctionDeclaration 184879 185283 + Identifier 184895 184917 + Parameter 184918 184932 + Identifier 184918 184924 + TypeReference 184925 184932 + Identifier 184925 184932 + Parameter 184933 184948 + Identifier 184933 184938 + TypeReference 184939 184948 + Identifier 184939 184948 + UnionType 184950 184969 + TypeReference 184950 184957 + Identifier 184950 184957 + UndefinedKeyword 184959 184969 + Block 184969 185283 + IfStatement 184971 185276 + BinaryExpression 184985 185020 + PropertyAccessExpression 184985 184997 + Identifier 184985 184991 + Identifier 184992 184997 + AmpersandToken 184997 184999 + PropertyAccessExpression 184999 185020 + Identifier 184999 185011 + Identifier 185012 185020 + Block 185021 185276 + VariableStatement 185023 185114 + VariableDeclarationList 185023 185113 + VariableDeclaration 185042 185113 + Identifier 185042 185057 + PropertyAccessExpression 185059 185113 + ParenthesizedExpression 185059 185108 + AsExpression 185061 185107 + PropertyAccessExpression 185061 185084 + Identifier 185061 185067 + Identifier 185068 185084 + TypeReference 185087 185107 + Identifier 185087 185107 + Identifier 185109 185113 + IfStatement 185114 185265 + Identifier 185132 185146 + Block 185147 185265 + ReturnStatement 185149 185250 + CallExpression 185173 185249 + Identifier 185173 185187 + CallExpression 185188 185248 + Identifier 185188 185205 + CallExpression 185206 185241 + Identifier 185206 185225 + Identifier 185226 185240 + Identifier 185242 185247 + FunctionDeclaration 185283 188999 + Identifier 185299 185323 + Parameter 185324 185406 + Identifier 185324 185328 + UnionType 185329 185406 + TypeReference 185329 185347 + Identifier 185329 185347 + TypeReference 185349 185367 + Identifier 185349 185367 + TypeReference 185369 185389 + Identifier 185369 185389 + TypeReference 185391 185406 + Identifier 185391 185406 + Parameter 185407 185486 + Identifier 185407 185417 + UnionType 185418 185486 + TypeReference 185418 185442 + Identifier 185418 185442 + TypeReference 185444 185459 + Identifier 185444 185459 + TypeReference 185461 185486 + Identifier 185461 185486 + Parameter 185487 185512 + Identifier 185487 185504 + FalseKeyword 185506 185512 + UnionType 185514 185533 + TypeReference 185514 185521 + Identifier 185514 185521 + UndefinedKeyword 185523 185533 + Block 185533 188999 + VariableStatement 185535 185693 + VariableDeclarationList 185535 185692 + VariableDeclaration 185550 185692 + Identifier 185550 185566 + BinaryExpression 185568 185692 + CallExpression 185568 185607 + Identifier 185568 185601 + Identifier 185602 185606 + BarBarToken 185607 185610 + NonNullExpression 185610 185692 + PropertyAccessExpression 185610 185691 + ParenthesizedExpression 185610 185675 + AsExpression 185612 185674 + Identifier 185612 185616 + UnionType 185619 185674 + TypeReference 185619 185637 + Identifier 185619 185637 + TypeReference 185639 185657 + Identifier 185639 185657 + TypeReference 185659 185674 + Identifier 185659 185674 + Identifier 185676 185691 + VariableStatement 185693 185774 + VariableDeclarationList 185693 185773 + VariableDeclaration 185708 185773 + Identifier 185708 185721 + NonNullExpression 185723 185773 + CallExpression 185723 185772 + Identifier 185723 185749 + Identifier 185750 185754 + Identifier 185755 185771 + VariableStatement 185774 185898 + VariableDeclarationList 185774 185897 + VariableDeclaration 185807 185897 + Identifier 185807 185812 + BinaryExpression 185814 185897 + BinaryExpression 185814 185879 + PrefixUnaryExpression 185814 185853 + CallExpression 185816 185853 + Identifier 185816 185842 + Identifier 185843 185852 + AmpersandAmpersandToken 185853 185856 + PropertyAccessExpression 185856 185879 + Identifier 185856 185866 + Identifier 185867 185879 + BarBarToken 185879 185882 + PropertyAccessExpression 185882 185897 + Identifier 185882 185892 + Identifier 185893 185897 + IfStatement 185898 186018 + BinaryExpression 185912 185973 + PrefixUnaryExpression 185912 185931 + CallExpression 185913 185931 + Identifier 185913 185925 + Identifier 185926 185930 + AmpersandAmpersandToken 185931 185934 + BinaryExpression 185934 185973 + PropertyAccessExpression 185934 185944 + Identifier 185934 185939 + Identifier 185940 185944 + ExclamationEqualsEqualsToken 185944 185948 + PropertyAccessExpression 185948 185973 + Identifier 185948 185959 + Identifier 185960 185973 + Block 185974 186018 + ReturnStatement 185976 186007 + Identifier 185996 186006 + VariableStatement 186018 186079 + VariableDeclarationList 186018 186078 + VariableDeclaration 186033 186078 + Identifier 186033 186042 + CallExpression 186044 186078 + Identifier 186044 186072 + Identifier 186073 186077 + VariableStatement 186079 186190 + VariableDeclarationList 186079 186189 + VariableDeclaration 186094 186189 + Identifier 186094 186115 + BinaryExpression 186117 186189 + BinaryExpression 186117 186157 + Identifier 186117 186126 + EqualsEqualsEqualsToken 186126 186130 + PropertyAccessExpression 186130 186157 + Identifier 186130 186149 + Identifier 186150 186157 + AmpersandAmpersandToken 186157 186160 + Identifier 186160 186189 + VariableStatement 186190 186324 + VariableDeclarationList 186190 186323 + VariableDeclaration 186205 186323 + Identifier 186205 186218 + CallExpression 186220 186323 + Identifier 186220 186242 + Identifier 186243 186255 + Identifier 186256 186272 + FalseKeyword 186273 186300 + Identifier 186301 186322 + IfStatement 186324 188992 + Identifier 186338 186350 + Block 186351 188992 + IfStatement 186353 188981 + BinaryExpression 186566 186616 + Identifier 186566 186574 + BarBarToken 186574 186577 + BinaryExpression 186577 186616 + PropertyAccessExpression 186577 186587 + Identifier 186577 186582 + Identifier 186583 186587 + EqualsEqualsEqualsToken 186587 186591 + PropertyAccessExpression 186591 186616 + Identifier 186591 186602 + Identifier 186603 186616 + Block 186617 188981 + IfStatement 186619 186749 + CallExpression 186641 186685 + Identifier 186641 186671 + Identifier 186672 186684 + Block 186686 186749 + ReturnStatement 186688 186730 + Identifier 186716 186729 + VariableStatement 186749 186812 + VariableDeclarationList 186749 186811 + VariableDeclaration 186772 186811 + Identifier 186772 186791 + UnionType 186792 186811 + TypeReference 186792 186799 + Identifier 186792 186799 + UndefinedKeyword 186801 186811 + IfStatement 186812 187348 + BinaryExpression 186951 187048 + BinaryExpression 186951 186987 + Identifier 186951 186963 + AmpersandAmpersandToken 186963 186966 + PropertyAccessExpression 186966 186987 + Identifier 186966 186979 + Identifier 186980 186987 + AmpersandAmpersandToken 186987 186990 + CallExpression 186990 187048 + PropertyAccessExpression 186990 187015 + PropertyAccessExpression 186990 187011 + Identifier 186990 187003 + Identifier 187004 187011 + Identifier 187012 187015 + PropertyAccessExpression 187016 187047 + Identifier 187016 187034 + Identifier 187035 187047 + Block 187049 187216 + ExpressionStatement 187051 187197 + BinaryExpression 187051 187196 + Identifier 187051 187091 + EqualsToken 187091 187093 + CallExpression 187093 187196 + Identifier 187093 187111 + CallExpression 187112 187141 + Identifier 187112 187127 + Identifier 187128 187140 + Identifier 187142 187151 + TrueKeyword 187152 187195 + Block 187238 187348 + ExpressionStatement 187240 187329 + BinaryExpression 187240 187328 + Identifier 187240 187280 + EqualsToken 187280 187282 + CallExpression 187282 187328 + Identifier 187282 187304 + Identifier 187305 187317 + Identifier 187318 187327 + ExpressionStatement 187348 187514 + BinaryExpression 187348 187513 + Identifier 187348 187459 + EqualsToken 187459 187461 + CallExpression 187461 187513 + Identifier 187461 187475 + Identifier 187476 187494 + Identifier 187495 187512 + VariableStatement 187514 187628 + VariableDeclarationList 187514 187627 + VariableDeclaration 187537 187627 + Identifier 187537 187554 + CallExpression 187556 187627 + Identifier 187556 187574 + Identifier 187575 187587 + Identifier 187588 187597 + Identifier 187598 187608 + Identifier 187609 187626 + IfStatement 187628 188170 + BinaryExpression 187650 187723 + BinaryExpression 187650 187680 + Identifier 187650 187666 + EqualsEqualsEqualsToken 187666 187670 + Identifier 187670 187680 + AmpersandAmpersandToken 187680 187683 + BinaryExpression 187683 187723 + Identifier 187683 187692 + EqualsEqualsEqualsToken 187692 187696 + PropertyAccessExpression 187696 187723 + Identifier 187696 187715 + Identifier 187716 187723 + Block 187724 188170 + VariableStatement 187726 187807 + VariableDeclarationList 187726 187806 + VariableDeclaration 187753 187806 + Identifier 187753 187758 + CallExpression 187760 187806 + PropertyAccessExpression 187760 187792 + PropertyAccessExpression 187760 187786 + Identifier 187760 187773 + Identifier 187774 187786 + QuestionDotToken 187786 187788 + Identifier 187788 187792 + Identifier 187793 187805 + IfStatement 187807 188151 + BinaryExpression 187833 187971 + CallExpression 187833 187889 + Identifier 187833 187858 + Identifier 187859 187874 + Identifier 187875 187888 + BarBarToken 187889 187892 + CallExpression 187892 187971 + Identifier 187892 187916 + Identifier 187917 187921 + Identifier 187922 187935 + Identifier 187936 187953 + Identifier 187954 187970 + Block 187972 188151 + ExpressionStatement 187974 188128 + BinaryExpression 187974 188127 + Identifier 187974 188016 + EqualsToken 188016 188018 + BinaryExpression 188018 188127 + CallExpression 188018 188078 + Identifier 188018 188046 + Identifier 188047 188059 + Identifier 188060 188077 + BarBarToken 188078 188081 + CallExpression 188081 188127 + Identifier 188081 188095 + Identifier 188096 188108 + Identifier 188109 188126 + VariableStatement 188170 188437 + VariableDeclarationList 188170 188436 + VariableDeclaration 188195 188436 + Identifier 188195 188202 + ConditionalExpression 188204 188436 + BinaryExpression 188204 188286 + BinaryExpression 188204 188243 + Identifier 188204 188221 + AmpersandAmpersandToken 188221 188224 + Identifier 188224 188243 + AmpersandAmpersandToken 188243 188246 + BinaryExpression 188246 188286 + Identifier 188246 188263 + ExclamationEqualsEqualsToken 188263 188267 + Identifier 188267 188286 + QuestionToken 188286 188288 + CallExpression 188288 188374 + Identifier 188288 188336 + Identifier 188337 188355 + Identifier 188356 188373 + ColonToken 188374 188376 + BinaryExpression 188376 188436 + Identifier 188376 188414 + BarBarToken 188414 188417 + Identifier 188417 188436 + IfStatement 188437 188934 + BinaryExpression 188461 188600 + BinaryExpression 188461 188557 + CallExpression 188461 188497 + Identifier 188461 188486 + Identifier 188487 188496 + AmpersandAmpersandToken 188497 188500 + CallExpression 188500 188557 + Identifier 188500 188526 + Identifier 188527 188542 + Identifier 188543 188556 + AmpersandAmpersandToken 188557 188560 + BinaryExpression 188560 188600 + Identifier 188560 188569 + ExclamationEqualsEqualsToken 188569 188573 + PropertyAccessExpression 188573 188600 + Identifier 188573 188592 + Identifier 188593 188600 + Block 188601 188790 + ExpressionStatement 188603 188771 + CallExpression 188603 188770 + Identifier 188603 188630 + Identifier 188631 188635 + PropertyAccessExpression 188636 188745 + Identifier 188636 188648 + Identifier 188649 188745 + ElementAccessExpression 188746 188769 + Identifier 188746 188757 + Identifier 188758 188768 + IfStatement 188812 188934 + PrefixUnaryExpression 188817 188824 + Identifier 188818 188824 + Block 188825 188934 + ExpressionStatement 188827 188915 + CallExpression 188827 188914 + Identifier 188827 188874 + Identifier 188875 188887 + Identifier 188888 188901 + Identifier 188902 188907 + Identifier 188908 188913 + ReturnStatement 188934 188966 + Identifier 188958 188965 + FunctionDeclaration 188999 190367 + Identifier 189015 189041 + Parameter 189042 189062 + Identifier 189042 189054 + TypeReference 189055 189062 + Identifier 189055 189062 + Parameter 189063 189084 + Identifier 189063 189076 + TypeReference 189077 189084 + Identifier 189077 189084 + Parameter 189085 189096 + Identifier 189085 189090 + TypeReference 189091 189096 + Identifier 189091 189096 + Parameter 189097 189120 + Identifier 189097 189102 + TypeReference 189103 189120 + Identifier 189103 189120 + Block 189121 190367 + VariableStatement 189123 189194 + VariableDeclarationList 189123 189193 + VariableDeclaration 189138 189193 + Identifier 189138 189149 + CallExpression 189151 189193 + Identifier 189151 189173 + Identifier 189174 189186 + Identifier 189187 189192 + VariableStatement 189194 189258 + VariableDeclarationList 189194 189257 + VariableDeclaration 189209 189257 + Identifier 189209 189225 + CallExpression 189227 189257 + Identifier 189227 189251 + Identifier 189252 189256 + VariableStatement 189258 189379 + VariableDeclarationList 189258 189378 + VariableDeclaration 189273 189378 + Identifier 189273 189284 + ConditionalExpression 189286 189378 + CallExpression 189286 189305 + Identifier 189286 189299 + Identifier 189300 189304 + QuestionToken 189305 189307 + CallExpression 189307 189366 + Identifier 189307 189346 + Identifier 189347 189351 + Identifier 189352 189365 + ColonToken 189366 189368 + Identifier 189368 189378 + IfStatement 189379 190360 + BinaryExpression 189393 189417 + Identifier 189393 189403 + ExclamationEqualsEqualsToken 189403 189407 + Identifier 189407 189417 + Block 189418 189858 + VariableStatement 189420 189484 + VariableDeclarationList 189420 189483 + VariableDeclaration 189439 189483 + Identifier 189439 189454 + CallExpression 189456 189483 + Identifier 189456 189471 + Identifier 189472 189482 + VariableStatement 189484 189636 + VariableDeclarationList 189484 189635 + VariableDeclaration 189503 189635 + Identifier 189503 189514 + CallExpression 189516 189635 + Identifier 189516 189522 + Identifier 189523 189527 + PropertyAccessExpression 189528 189589 + Identifier 189528 189540 + Identifier 189541 189589 + Identifier 189590 189601 + Identifier 189602 189618 + Identifier 189619 189634 + IfStatement 189636 189847 + PropertyAccessExpression 189654 189681 + Identifier 189654 189664 + Identifier 189665 189681 + Block 189682 189847 + ExpressionStatement 189684 189832 + CallExpression 189684 189831 + Identifier 189684 189716 + Identifier 189717 189727 + CallExpression 189728 189830 + Identifier 189728 189752 + PropertyAccessExpression 189753 189780 + Identifier 189753 189763 + Identifier 189764 189780 + PropertyAccessExpression 189781 189813 + Identifier 189781 189793 + Identifier 189794 189813 + Identifier 189814 189829 + Block 189872 190360 + IfStatement 189874 190349 + CallExpression 189892 189945 + PropertyAccessExpression 189892 189917 + PropertyAccessExpression 189892 189912 + Identifier 189892 189904 + Identifier 189905 189912 + QuestionDotToken 189912 189914 + Identifier 189914 189917 + PropertyAccessExpression 189918 189944 + Identifier 189918 189936 + Identifier 189937 189944 + Block 189946 190217 + ExpressionStatement 189948 190202 + CallExpression 189948 190201 + Identifier 189948 189971 + Identifier 189972 189998 + PropertyAccessExpression 189999 190110 + Identifier 189999 190032 + Identifier 190033 190110 + Identifier 190111 190143 + Identifier 190144 190181 + Block 190235 190349 + ExpressionStatement 190237 190334 + CallExpression 190237 190333 + Identifier 190237 190278 + Identifier 190279 190283 + Identifier 190284 190289 + Identifier 190290 190306 + Identifier 190307 190320 + Identifier 190321 190332 + FunctionDeclaration 190367 192080 + Identifier 190383 190407 + Parameter 190408 190418 + Identifier 190408 190412 + TypeReference 190413 190418 + Identifier 190413 190418 + Parameter 190419 190442 + Identifier 190419 190424 + TypeReference 190425 190442 + Identifier 190425 190442 + Parameter 190443 190467 + Identifier 190443 190459 + StringKeyword 190460 190467 + Parameter 190468 190489 + Identifier 190468 190481 + TypeReference 190482 190489 + Identifier 190482 190489 + Parameter 190490 190509 + Identifier 190490 190501 + StringKeyword 190502 190509 + VoidKeyword 190511 190516 + Block 190516 192080 + VariableStatement 190518 190650 + VariableDeclarationList 190518 190649 + VariableDeclaration 190533 190649 + Identifier 190533 190545 + CallExpression 190547 190649 + PropertyAccessExpression 190547 190614 + PropertyAccessExpression 190547 190609 + CallExpression 190547 190601 + Identifier 190547 190555 + PropertyAccessExpression 190556 190585 + Identifier 190556 190568 + Identifier 190569 190585 + Identifier 190586 190600 + QuestionDotToken 190601 190603 + Identifier 190603 190609 + QuestionDotToken 190609 190611 + Identifier 190611 190614 + CallExpression 190615 190648 + Identifier 190615 190642 + Identifier 190643 190647 + VariableStatement 190650 190697 + VariableDeclarationList 190650 190696 + VariableDeclaration 190665 190696 + Identifier 190665 190673 + PropertyAccessExpression 190675 190696 + Identifier 190675 190688 + Identifier 190689 190696 + IfStatement 190697 192073 + Identifier 190711 190722 + Block 190723 191944 + VariableStatement 190725 190814 + VariableDeclarationList 190725 190813 + VariableDeclaration 190744 190813 + Identifier 190744 190765 + CallExpression 190767 190813 + PropertyAccessExpression 190767 190780 + Identifier 190767 190775 + QuestionDotToken 190775 190777 + Identifier 190777 190780 + PropertyAccessExpression 190781 190812 + Identifier 190781 190799 + Identifier 190800 190812 + IfStatement 190814 191933 + Identifier 190832 190852 + Block 190853 191140 + ExpressionStatement 190855 191125 + ConditionalExpression 190855 191124 + CallExpression 190855 190932 + Identifier 190855 190897 + Identifier 190898 190918 + Identifier 190919 190931 + QuestionToken 190932 190934 + CallExpression 190934 191013 + Identifier 190934 190972 + Identifier 190973 190977 + Identifier 190978 190983 + Identifier 190984 191000 + Identifier 191001 191012 + ColonToken 191013 191015 + CallExpression 191015 191124 + Identifier 191015 191042 + Identifier 191043 191047 + PropertyAccessExpression 191048 191094 + Identifier 191048 191060 + Identifier 191061 191094 + Identifier 191095 191106 + Identifier 191107 191123 + Block 191158 191933 + VariableStatement 191160 191312 + VariableDeclarationList 191160 191311 + VariableDeclaration 191183 191311 + Identifier 191183 191198 + ConditionalExpression 191200 191311 + Identifier 191200 191208 + QuestionToken 191208 191210 + CallExpression 191210 191299 + Identifier 191210 191215 + CallExpression 191216 191239 + Identifier 191216 191230 + Identifier 191231 191238 + ArrowFunction 191240 191298 + Parameter 191240 191247 + Identifier 191240 191247 + EqualsGreaterThanToken 191247 191250 + PrefixUnaryExpression 191250 191298 + PrefixUnaryExpression 191252 191298 + CallExpression 191253 191298 + Identifier 191253 191277 + Identifier 191278 191284 + Identifier 191285 191297 + ColonToken 191299 191301 + Identifier 191301 191311 + VariableStatement 191312 191632 + VariableDeclarationList 191312 191631 + VariableDeclaration 191335 191631 + Identifier 191335 191346 + ConditionalExpression 191348 191631 + Identifier 191348 191363 + QuestionToken 191363 191365 + CallExpression 191365 191503 + Identifier 191365 191371 + Identifier 191372 191376 + PropertyAccessExpression 191377 191441 + Identifier 191377 191389 + Identifier 191390 191441 + Identifier 191442 191453 + Identifier 191454 191470 + CallExpression 191471 191502 + Identifier 191471 191486 + Identifier 191487 191501 + ColonToken 191503 191505 + CallExpression 191505 191631 + Identifier 191505 191532 + Identifier 191533 191537 + PropertyAccessExpression 191538 191601 + Identifier 191538 191550 + Identifier 191551 191601 + Identifier 191602 191613 + Identifier 191614 191630 + IfStatement 191632 191918 + PropertyAccessExpression 191654 191678 + Identifier 191654 191665 + Identifier 191666 191678 + Block 191679 191918 + ExpressionStatement 191681 191899 + CallExpression 191681 191898 + Identifier 191681 191717 + Identifier 191718 191728 + SpreadElement 191729 191897 + CallExpression 191733 191897 + Identifier 191733 191736 + PropertyAccessExpression 191737 191761 + Identifier 191737 191748 + Identifier 191749 191761 + ArrowFunction 191762 191896 + Parameter 191764 191768 + Identifier 191764 191768 + Parameter 191769 191775 + Identifier 191769 191775 + EqualsGreaterThanToken 191776 191779 + CallExpression 191779 191896 + Identifier 191779 191803 + Identifier 191804 191808 + ConditionalExpression 191809 191878 + BinaryExpression 191809 191821 + Identifier 191809 191815 + EqualsEqualsEqualsToken 191815 191819 + NumericLiteral 191819 191821 + QuestionToken 191821 191823 + PropertyAccessExpression 191823 191855 + Identifier 191823 191835 + Identifier 191836 191855 + ColonToken 191855 191857 + PropertyAccessExpression 191857 191878 + Identifier 191857 191869 + Identifier 191870 191878 + Identifier 191879 191895 + Block 191958 192073 + ExpressionStatement 191960 192062 + CallExpression 191960 192061 + Identifier 191960 191979 + Identifier 191980 191984 + PropertyAccessExpression 191985 192031 + Identifier 191985 191997 + Identifier 191998 192031 + Identifier 192032 192043 + Identifier 192044 192060 + FunctionDeclaration 192080 193466 + Identifier 192096 192134 + Parameter 192135 192145 + Identifier 192135 192139 + TypeReference 192140 192145 + Identifier 192140 192145 + Parameter 192146 192169 + Identifier 192146 192151 + TypeReference 192152 192169 + Identifier 192152 192169 + Parameter 192170 192194 + Identifier 192170 192186 + StringKeyword 192187 192194 + Parameter 192195 192214 + Identifier 192195 192206 + StringKeyword 192207 192214 + Block 192215 193466 + IfStatement 192217 193459 + BinaryExpression 192231 192262 + Identifier 192231 192241 + GreaterThanEqualsToken 192241 192244 + PropertyAccessExpression 192244 192262 + Identifier 192244 192255 + Identifier 192256 192262 + Block 192263 192579 + VariableStatement 192265 192516 + VariableDeclarationList 192265 192515 + VariableDeclaration 192284 192515 + Identifier 192284 192292 + ConditionalExpression 192294 192515 + CallExpression 192294 192330 + Identifier 192294 192313 + Identifier 192314 192329 + QuestionToken 192330 192332 + PropertyAccessExpression 192332 192394 + Identifier 192332 192344 + Identifier 192345 192394 + ColonToken 192394 192396 + PropertyAccessExpression 192396 192515 + Identifier 192396 192425 + Identifier 192426 192515 + ExpressionStatement 192516 192568 + CallExpression 192516 192567 + Identifier 192516 192535 + Identifier 192536 192540 + Identifier 192541 192549 + Identifier 192550 192566 + Block 192593 193459 + IfStatement 192595 193448 + CallExpression 192613 192629 + Identifier 192613 192623 + Identifier 192624 192628 + Block 192630 193016 + VariableStatement 192632 192945 + VariableDeclarationList 192632 192944 + VariableDeclaration 192655 192944 + Identifier 192655 192663 + ConditionalExpression 192665 192944 + CallExpression 192665 192701 + Identifier 192665 192684 + Identifier 192685 192700 + QuestionToken 192701 192703 + PropertyAccessExpression 192703 192792 + Identifier 192703 192715 + Identifier 192716 192792 + ColonToken 192792 192794 + PropertyAccessExpression 192794 192944 + Identifier 192794 192827 + Identifier 192828 192944 + ExpressionStatement 192945 193001 + CallExpression 192945 193000 + Identifier 192945 192968 + Identifier 192969 192973 + Identifier 192974 192982 + Identifier 192983 192999 + Block 193034 193448 + VariableStatement 193036 193348 + VariableDeclarationList 193036 193347 + VariableDeclaration 193059 193347 + Identifier 193059 193067 + ConditionalExpression 193069 193347 + CallExpression 193069 193105 + Identifier 193069 193088 + Identifier 193089 193104 + QuestionToken 193105 193107 + PropertyAccessExpression 193107 193191 + Identifier 193107 193119 + Identifier 193120 193191 + ColonToken 193191 193193 + PropertyAccessExpression 193193 193347 + Identifier 193193 193226 + Identifier 193227 193347 + ExpressionStatement 193348 193433 + CallExpression 193348 193432 + Identifier 193348 193371 + Identifier 193372 193376 + Identifier 193377 193385 + Identifier 193386 193402 + Identifier 193403 193419 + Identifier 193420 193431 + FunctionDeclaration 193466 194725 + Identifier 193482 193509 + Parameter 193510 193548 + Identifier 193510 193514 + UnionType 193515 193548 + TypeReference 193515 193531 + Identifier 193515 193531 + TypeReference 193533 193548 + Identifier 193533 193548 + Parameter 193549 193575 + Identifier 193549 193566 + BooleanKeyword 193567 193575 + UnionType 193577 193596 + TypeReference 193577 193584 + Identifier 193577 193584 + UndefinedKeyword 193586 193596 + Block 193596 194725 + IfStatement 193598 194011 + BinaryExpression 193612 193696 + CallExpression 193612 193635 + Identifier 193612 193629 + Identifier 193630 193634 + AmpersandAmpersandToken 193635 193638 + CallExpression 193638 193696 + Identifier 193638 193664 + BinaryExpression 193665 193695 + PropertyAccessExpression 193665 193682 + Identifier 193665 193669 + Identifier 193670 193682 + BarBarToken 193682 193685 + PropertyAccessExpression 193685 193695 + Identifier 193685 193690 + Identifier 193691 193695 + Block 193697 194011 + VariableStatement 193699 193773 + VariableDeclarationList 193699 193772 + VariableDeclaration 193718 193772 + Identifier 193718 193728 + CallExpression 193730 193772 + Identifier 193730 193766 + Identifier 193767 193771 + VariableStatement 193773 193864 + VariableDeclarationList 193773 193863 + VariableDeclaration 193792 193863 + Identifier 193792 193805 + BinaryExpression 193807 193863 + Identifier 193807 193817 + AmpersandAmpersandToken 193817 193820 + CallExpression 193820 193863 + Identifier 193820 193846 + Identifier 193847 193851 + Identifier 193852 193862 + IfStatement 193864 194000 + Identifier 193882 193894 + Block 193895 194000 + ReturnStatement 193897 193985 + CallExpression 193921 193984 + Identifier 193921 193946 + Identifier 193947 193959 + Identifier 193960 193965 + Identifier 193966 193983 + VariableStatement 194011 194135 + VariableDeclarationList 194011 194134 + VariableDeclaration 194026 194134 + Identifier 194026 194031 + ConditionalExpression 194033 194134 + CallExpression 194033 194056 + Identifier 194033 194050 + Identifier 194051 194055 + QuestionToken 194056 194058 + AsExpression 194058 194106 + CallExpression 194058 194083 + Identifier 194058 194077 + Identifier 194078 194082 + TypeReference 194086 194106 + Identifier 194086 194106 + ColonToken 194106 194108 + PropertyAccessExpression 194108 194134 + PropertyAccessExpression 194108 194127 + PropertyAccessExpression 194108 194120 + Identifier 194108 194113 + Identifier 194114 194120 + Identifier 194121 194127 + Identifier 194128 194134 + VariableStatement 194135 194208 + VariableDeclarationList 194135 194207 + VariableDeclaration 194150 194207 + Identifier 194150 194173 + CallExpression 194175 194207 + Identifier 194175 194201 + Identifier 194202 194206 + VariableStatement 194208 194315 + VariableDeclarationList 194208 194314 + VariableDeclaration 194223 194314 + Identifier 194223 194232 + CallExpression 194234 194314 + Identifier 194234 194258 + Identifier 194259 194263 + BinaryExpression 194264 194295 + Identifier 194264 194287 + BarBarToken 194287 194290 + Identifier 194290 194295 + Identifier 194296 194313 + VariableStatement 194315 194369 + VariableDeclarationList 194315 194368 + VariableDeclaration 194330 194368 + Identifier 194330 194335 + BinaryExpression 194337 194368 + PropertyAccessExpression 194337 194355 + Identifier 194337 194342 + Identifier 194343 194355 + BarBarToken 194355 194358 + PropertyAccessExpression 194358 194368 + Identifier 194358 194363 + Identifier 194364 194368 + IfStatement 194369 194570 + BinaryExpression 194383 194439 + BinaryExpression 194383 194417 + Identifier 194383 194405 + AmpersandAmpersandToken 194405 194408 + Identifier 194408 194417 + AmpersandAmpersandToken 194417 194420 + CallExpression 194420 194439 + Identifier 194420 194433 + Identifier 194434 194438 + Block 194440 194570 + ReturnStatement 194442 194559 + CallExpression 194462 194558 + Identifier 194462 194476 + CallExpression 194477 194539 + Identifier 194477 194494 + CallExpression 194495 194520 + Identifier 194495 194510 + Identifier 194511 194519 + PropertyAccessExpression 194521 194538 + Identifier 194521 194526 + Identifier 194527 194538 + Identifier 194540 194557 + ExpressionStatement 194570 194692 + CallExpression 194570 194691 + Identifier 194570 194618 + Identifier 194619 194623 + Identifier 194624 194654 + Identifier 194655 194664 + FalseKeyword 194665 194690 + ReturnStatement 194692 194718 + Identifier 194708 194717 + FunctionDeclaration 194725 194949 + Identifier 194741 194767 + Parameter 194768 194778 + Identifier 194768 194772 + TypeReference 194773 194778 + Identifier 194773 194778 + Block 194779 194949 + IfStatement 194781 194942 + BinaryExpression 194795 194890 + BinaryExpression 194795 194842 + CallExpression 194795 194822 + Identifier 194795 194816 + Identifier 194817 194821 + AmpersandAmpersandToken 194822 194825 + PropertyAccessExpression 194825 194842 + Identifier 194825 194830 + Identifier 194831 194842 + AmpersandAmpersandToken 194842 194845 + CallExpression 194845 194890 + Identifier 194845 194872 + PropertyAccessExpression 194873 194889 + Identifier 194873 194877 + Identifier 194878 194889 + Block 194891 194942 + ReturnStatement 194893 194931 + PropertyAccessExpression 194913 194930 + Identifier 194913 194918 + Identifier 194919 194930 + FunctionDeclaration 194949 195400 + Identifier 194965 195003 + Parameter 195004 195036 + Identifier 195004 195008 + TypeReference 195009 195036 + Identifier 195009 195036 + Parameter 195037 195063 + Identifier 195037 195054 + BooleanKeyword 195055 195063 + UnionType 195065 195084 + TypeReference 195065 195072 + Identifier 195065 195072 + UndefinedKeyword 195074 195084 + Block 195084 195400 + IfStatement 195086 195393 + CallExpression 195100 195126 + Identifier 195100 195113 + PropertyAccessExpression 195114 195125 + Identifier 195114 195118 + Identifier 195119 195125 + Block 195127 195393 + VariableStatement 195129 195226 + VariableDeclarationList 195129 195225 + VariableDeclaration 195148 195225 + Identifier 195148 195157 + CallExpression 195159 195225 + Identifier 195159 195187 + PropertyAccessExpression 195188 195206 + PropertyAccessExpression 195188 195199 + Identifier 195188 195192 + Identifier 195193 195199 + Identifier 195200 195206 + Identifier 195207 195224 + ExpressionStatement 195226 195352 + CallExpression 195226 195351 + Identifier 195226 195278 + Identifier 195279 195283 + Identifier 195284 195314 + Identifier 195315 195324 + FalseKeyword 195325 195350 + ReturnStatement 195352 195382 + Identifier 195372 195381 + FunctionDeclaration 195400 196443 + Identifier 195416 195443 + Parameter 195444 195465 + Identifier 195444 195448 + TypeReference 195449 195465 + Identifier 195449 195465 + Parameter 195466 195487 + Identifier 195466 195474 + TypeReference 195475 195487 + Identifier 195475 195487 + Parameter 195488 195515 + Identifier 195488 195505 + QuestionToken 195505 195506 + BooleanKeyword 195507 195515 + Block 195516 196443 + VariableStatement 195518 195572 + VariableDeclarationList 195518 195571 + VariableDeclaration 195533 195571 + Identifier 195533 195538 + BinaryExpression 195540 195571 + PropertyAccessExpression 195540 195558 + Identifier 195540 195545 + Identifier 195546 195558 + BarBarToken 195558 195561 + PropertyAccessExpression 195561 195571 + Identifier 195561 195566 + Identifier 195567 195571 + IfStatement 195572 195934 + CallExpression 195586 195617 + Identifier 195586 195611 + Identifier 195612 195616 + Block 195618 195934 + VariableStatement 195620 195694 + VariableDeclarationList 195620 195693 + VariableDeclaration 195639 195693 + Identifier 195639 195649 + CallExpression 195651 195693 + Identifier 195651 195687 + Identifier 195688 195692 + VariableStatement 195694 195785 + VariableDeclarationList 195694 195784 + VariableDeclaration 195713 195784 + Identifier 195713 195726 + BinaryExpression 195728 195784 + Identifier 195728 195738 + AmpersandAmpersandToken 195738 195741 + CallExpression 195741 195784 + Identifier 195741 195767 + Identifier 195768 195772 + Identifier 195773 195783 + IfStatement 195785 195923 + Identifier 195803 195815 + Block 195816 195923 + ReturnStatement 195818 195908 + CallExpression 195842 195907 + Identifier 195842 195867 + Identifier 195868 195880 + Identifier 195881 195886 + PrefixUnaryExpression 195887 195906 + PrefixUnaryExpression 195889 195906 + Identifier 195890 195906 + VariableStatement 195934 196288 + VariableDeclarationList 195934 196287 + VariableDeclaration 195949 196287 + Identifier 195949 195958 + ConditionalExpression 195960 196287 + PropertyAccessExpression 195960 195995 + PropertyAccessExpression 195960 195979 + PropertyAccessExpression 195960 195972 + Identifier 195960 195965 + Identifier 195966 195972 + Identifier 195973 195979 + Identifier 195980 195995 + QuestionToken 195995 195997 + CallExpression 195997 196078 + Identifier 195997 196034 + PropertyAccessExpression 196035 196053 + PropertyAccessExpression 196035 196046 + Identifier 196035 196039 + Identifier 196040 196046 + Identifier 196047 196053 + Identifier 196054 196059 + Identifier 196060 196077 + ColonToken 196078 196080 + ConditionalExpression 196080 196287 + BinaryExpression 196080 196132 + PropertyAccessExpression 196080 196103 + Identifier 196080 196098 + Identifier 196099 196103 + EqualsEqualsEqualsToken 196103 196107 + PropertyAccessExpression 196107 196132 + Identifier 196107 196118 + Identifier 196119 196132 + QuestionToken 196132 196134 + Identifier 196134 196144 + ColonToken 196144 196146 + CallExpression 196146 196287 + Identifier 196146 196230 + Identifier 196231 196235 + Identifier 196236 196244 + FalseKeyword 196245 196268 + Identifier 196269 196286 + ExpressionStatement 196288 196410 + CallExpression 196288 196409 + Identifier 196288 196336 + Identifier 196337 196341 + Identifier 196342 196372 + Identifier 196373 196382 + FalseKeyword 196383 196408 + ReturnStatement 196410 196436 + Identifier 196426 196435 + FunctionDeclaration 196443 196907 + Identifier 196459 196487 + Parameter 196488 196529 + Identifier 196488 196492 + UnionType 196493 196529 + TypeReference 196493 196510 + Identifier 196493 196510 + TypeReference 196512 196529 + Identifier 196512 196529 + Parameter 196530 196556 + Identifier 196530 196547 + BooleanKeyword 196548 196556 + UnionType 196558 196577 + TypeReference 196558 196565 + Identifier 196558 196565 + UndefinedKeyword 196567 196577 + Block 196577 196907 + VariableStatement 196579 196664 + VariableDeclarationList 196579 196663 + VariableDeclaration 196594 196663 + Identifier 196594 196605 + ConditionalExpression 196607 196663 + CallExpression 196607 196632 + Identifier 196607 196626 + Identifier 196627 196631 + QuestionToken 196632 196634 + PropertyAccessExpression 196634 196650 + Identifier 196634 196639 + Identifier 196640 196650 + ColonToken 196650 196652 + PropertyAccessExpression 196652 196663 + Identifier 196652 196657 + Identifier 196658 196663 + VariableStatement 196664 196752 + VariableDeclarationList 196664 196751 + VariableDeclaration 196679 196751 + Identifier 196679 196688 + CallExpression 196690 196751 + Identifier 196690 196721 + Identifier 196722 196732 + Identifier 196733 196750 + ExpressionStatement 196752 196874 + CallExpression 196752 196873 + Identifier 196752 196800 + Identifier 196801 196805 + Identifier 196806 196836 + Identifier 196837 196846 + FalseKeyword 196847 196872 + ReturnStatement 196874 196900 + Identifier 196890 196899 + FunctionDeclaration 196907 197586 + Identifier 196923 196954 + Parameter 196955 196977 + Identifier 196955 196965 + TypeReference 196966 196977 + Identifier 196966 196977 + Parameter 196978 197004 + Identifier 196978 196995 + BooleanKeyword 196996 197004 + Block 197005 197586 + IfStatement 197007 197126 + CallExpression 197021 197050 + Identifier 197021 197038 + Identifier 197039 197049 + Block 197051 197126 + ReturnStatement 197053 197115 + PropertyAccessExpression 197073 197114 + CallExpression 197073 197107 + Identifier 197073 197095 + Identifier 197096 197106 + Identifier 197108 197114 + IfStatement 197126 197249 + BinaryExpression 197140 197204 + PrefixUnaryExpression 197140 197165 + CallExpression 197141 197165 + Identifier 197141 197153 + Identifier 197154 197164 + AmpersandAmpersandToken 197165 197168 + PrefixUnaryExpression 197168 197204 + CallExpression 197170 197204 + Identifier 197170 197192 + Identifier 197193 197203 + Block 197205 197249 + ReturnStatement 197207 197238 + Identifier 197227 197237 + VariableStatement 197249 197410 + VariableDeclarationList 197249 197409 + VariableDeclaration 197264 197409 + Identifier 197264 197274 + CallExpression 197276 197409 + Identifier 197276 197294 + Identifier 197295 197305 + BinaryExpression 197306 197367 + BinaryExpression 197306 197343 + PropertyAccessExpression 197306 197324 + Identifier 197306 197318 + Identifier 197319 197324 + BarToken 197324 197326 + PropertyAccessExpression 197326 197343 + Identifier 197326 197338 + Identifier 197339 197343 + BarToken 197343 197345 + PropertyAccessExpression 197345 197367 + Identifier 197345 197357 + Identifier 197358 197367 + TrueKeyword 197368 197390 + Identifier 197391 197408 + IfStatement 197410 197478 + Identifier 197424 197433 + Block 197434 197478 + ReturnStatement 197436 197467 + Identifier 197456 197466 + ExpressionStatement 197478 197522 + CallExpression 197478 197521 + Identifier 197478 197509 + Identifier 197510 197520 + ReturnStatement 197522 197579 + PropertyAccessExpression 197538 197578 + CallExpression 197538 197563 + Identifier 197538 197551 + Identifier 197552 197562 + Identifier 197564 197578 + FunctionDeclaration 197586 197992 + Identifier 197602 197630 + Parameter 197631 197653 + Identifier 197631 197635 + TypeReference 197636 197653 + Identifier 197636 197653 + Parameter 197654 197686 + Identifier 197654 197677 + BooleanKeyword 197678 197686 + UnionType 197688 197707 + TypeReference 197688 197695 + Identifier 197688 197695 + UndefinedKeyword 197697 197707 + Block 197707 197992 + IfStatement 197709 197892 + PrefixUnaryExpression 197723 197847 + ParenthesizedExpression 197724 197847 + BinaryExpression 197725 197846 + BinaryExpression 197725 197785 + CallExpression 197725 197756 + Identifier 197725 197743 + PropertyAccessExpression 197744 197755 + Identifier 197744 197748 + Identifier 197749 197755 + AmpersandAmpersandToken 197756 197759 + BinaryExpression 197759 197785 + PropertyAccessExpression 197759 197776 + PropertyAccessExpression 197759 197771 + Identifier 197759 197764 + Identifier 197765 197771 + Identifier 197772 197776 + EqualsEqualsEqualsToken 197776 197780 + Identifier 197780 197785 + AmpersandAmpersandToken 197785 197788 + BinaryExpression 197788 197846 + PropertyAccessExpression 197788 197819 + PropertyAccessExpression 197788 197814 + PropertyAccessExpression 197788 197800 + Identifier 197788 197793 + Identifier 197794 197800 + Identifier 197801 197814 + Identifier 197815 197819 + EqualsEqualsEqualsToken 197819 197823 + PropertyAccessExpression 197823 197846 + Identifier 197823 197834 + Identifier 197835 197846 + Block 197848 197892 + ReturnStatement 197850 197881 + Identifier 197870 197880 + ReturnStatement 197892 197985 + CallExpression 197910 197984 + Identifier 197910 197941 + PropertyAccessExpression 197942 197959 + PropertyAccessExpression 197942 197953 + Identifier 197942 197946 + Identifier 197947 197953 + Identifier 197954 197959 + Identifier 197960 197983 + FunctionDeclaration 197992 200343 + Identifier 198008 198036 + Parameter 198037 198054 + Identifier 198037 198041 + TypeReference 198042 198054 + Identifier 198042 198054 + Parameter 198055 198086 + Identifier 198055 198078 + FalseKeyword 198080 198086 + UnionType 198088 198107 + TypeReference 198088 198095 + Identifier 198088 198095 + UndefinedKeyword 198097 198107 + Block 198107 200343 + SwitchStatement 198109 200336 + PropertyAccessExpression 198127 198136 + Identifier 198127 198131 + Identifier 198132 198136 + CaseBlock 198137 200336 + CaseClause 198139 198193 + PropertyAccessExpression 198157 198192 + Identifier 198157 198168 + Identifier 198169 198192 + CaseClause 198193 198382 + PropertyAccessExpression 198211 198242 + Identifier 198211 198222 + Identifier 198223 198242 + ReturnStatement 198243 198382 + CallExpression 198267 198381 + Identifier 198267 198302 + AsExpression 198303 198356 + Identifier 198303 198307 + UnionType 198310 198356 + TypeReference 198310 198334 + Identifier 198310 198334 + TypeReference 198336 198356 + Identifier 198336 198356 + Identifier 198357 198380 + CaseClause 198382 198520 + PropertyAccessExpression 198400 198424 + Identifier 198400 198411 + Identifier 198412 198424 + ReturnStatement 198425 198520 + CallExpression 198449 198519 + Identifier 198449 198473 + AsExpression 198474 198494 + Identifier 198474 198478 + TypeReference 198481 198494 + Identifier 198481 198494 + Identifier 198495 198518 + CaseClause 198520 198667 + PropertyAccessExpression 198538 198565 + Identifier 198538 198549 + Identifier 198550 198565 + ReturnStatement 198566 198667 + CallExpression 198590 198666 + Identifier 198590 198617 + AsExpression 198618 198641 + Identifier 198618 198622 + TypeReference 198625 198641 + Identifier 198625 198641 + Identifier 198642 198665 + CaseClause 198667 198814 + PropertyAccessExpression 198685 198712 + Identifier 198685 198696 + Identifier 198697 198712 + ReturnStatement 198713 198814 + CallExpression 198737 198813 + Identifier 198737 198764 + AsExpression 198765 198788 + Identifier 198765 198769 + TypeReference 198772 198788 + Identifier 198772 198788 + Identifier 198789 198812 + CaseClause 198814 198860 + PropertyAccessExpression 198832 198859 + Identifier 198832 198843 + Identifier 198844 198859 + CaseClause 198860 199023 + PropertyAccessExpression 198878 198904 + Identifier 198878 198889 + Identifier 198890 198904 + ReturnStatement 198905 199023 + CallExpression 198929 199022 + Identifier 198929 198956 + AsExpression 198957 198997 + Identifier 198957 198961 + UnionType 198964 198997 + TypeReference 198964 198980 + Identifier 198964 198980 + TypeReference 198982 198997 + Identifier 198982 198997 + Identifier 198998 199021 + CaseClause 199023 199232 + PropertyAccessExpression 199041 199068 + Identifier 199041 199052 + Identifier 199053 199068 + ReturnStatement 199069 199232 + CallExpression 199093 199231 + Identifier 199093 199120 + AsExpression 199121 199144 + Identifier 199121 199125 + TypeReference 199128 199144 + Identifier 199128 199144 + BinaryExpression 199145 199206 + BinaryExpression 199145 199182 + PropertyAccessExpression 199145 199163 + Identifier 199145 199157 + Identifier 199158 199163 + BarToken 199163 199165 + PropertyAccessExpression 199165 199182 + Identifier 199165 199177 + Identifier 199178 199182 + BarToken 199182 199184 + PropertyAccessExpression 199184 199206 + Identifier 199184 199196 + Identifier 199197 199206 + Identifier 199207 199230 + CaseClause 199232 199279 + PropertyAccessExpression 199250 199278 + Identifier 199250 199261 + Identifier 199262 199278 + CaseClause 199279 199448 + PropertyAccessExpression 199297 199325 + Identifier 199297 199308 + Identifier 199309 199325 + ReturnStatement 199326 199448 + CallExpression 199350 199447 + Identifier 199350 199378 + AsExpression 199379 199422 + Identifier 199379 199383 + UnionType 199386 199422 + TypeReference 199386 199403 + Identifier 199386 199403 + TypeReference 199405 199422 + Identifier 199405 199422 + Identifier 199423 199446 + CaseClause 199448 199628 + PropertyAccessExpression 199466 199504 + Identifier 199466 199477 + Identifier 199478 199504 + ReturnStatement 199505 199628 + CallExpression 199529 199627 + Identifier 199529 199567 + AsExpression 199568 199602 + Identifier 199568 199572 + TypeReference 199575 199602 + Identifier 199575 199602 + Identifier 199603 199626 + CaseClause 199628 199882 + PropertyAccessExpression 199646 199685 + Identifier 199646 199657 + Identifier 199658 199685 + ReturnStatement 199686 199882 + CallExpression 199710 199881 + Identifier 199710 199728 + PropertyAccessExpression 199729 199771 + ParenthesizedExpression 199729 199766 + AsExpression 199730 199765 + Identifier 199730 199734 + TypeReference 199737 199765 + Identifier 199737 199765 + Identifier 199767 199771 + BinaryExpression 199772 199833 + BinaryExpression 199772 199809 + PropertyAccessExpression 199772 199790 + Identifier 199772 199784 + Identifier 199785 199790 + BarToken 199790 199792 + PropertyAccessExpression 199792 199809 + Identifier 199792 199804 + Identifier 199805 199809 + BarToken 199809 199811 + PropertyAccessExpression 199811 199833 + Identifier 199811 199823 + Identifier 199824 199833 + TrueKeyword 199834 199856 + Identifier 199857 199880 + CaseClause 199882 200053 + PropertyAccessExpression 199900 199930 + Identifier 199900 199911 + Identifier 199912 199930 + ReturnStatement 199931 200053 + CallExpression 199955 200052 + Identifier 199955 199986 + PropertyAccessExpression 199987 200027 + ParenthesizedExpression 199987 200015 + AsExpression 199988 200014 + Identifier 199988 199992 + TypeReference 199995 200014 + Identifier 199995 200014 + Identifier 200016 200027 + Identifier 200028 200051 + CaseClause 200053 200107 + PropertyAccessExpression 200071 200106 + Identifier 200071 200082 + Identifier 200083 200106 + CaseClause 200107 200265 + PropertyAccessExpression 200125 200161 + Identifier 200125 200136 + Identifier 200137 200161 + ReturnStatement 200162 200265 + CallExpression 200186 200264 + Identifier 200186 200214 + AsExpression 200215 200239 + Identifier 200215 200219 + TypeReference 200222 200239 + Identifier 200222 200239 + Identifier 200240 200263 + DefaultClause 200265 200325 + ReturnStatement 200287 200325 + CallExpression 200311 200324 + PropertyAccessExpression 200311 200322 + Identifier 200311 200317 + Identifier 200318 200322 + FunctionDeclaration 200343 200893 + Identifier 200545 200561 + Parameter 200562 200588 + Identifier 200562 200568 + UnionType 200569 200588 + TypeReference 200569 200576 + Identifier 200569 200576 + UndefinedKeyword 200578 200588 + Parameter 200589 200661 + Identifier 200589 200598 + BinaryExpression 200600 200661 + BinaryExpression 200600 200637 + PropertyAccessExpression 200600 200618 + Identifier 200600 200612 + Identifier 200613 200618 + BarToken 200618 200620 + PropertyAccessExpression 200620 200637 + Identifier 200620 200632 + Identifier 200633 200637 + BarToken 200637 200639 + PropertyAccessExpression 200639 200661 + Identifier 200639 200651 + Identifier 200652 200661 + TypePredicate 200663 200680 + Identifier 200663 200670 + TypeReference 200673 200680 + Identifier 200673 200680 + Block 200680 200893 + IfStatement 200682 200718 + PrefixUnaryExpression 200696 200703 + Identifier 200697 200703 + ReturnStatement 200704 200718 + FalseKeyword 200711 200717 + ReturnStatement 200718 200886 + BinaryExpression 200734 200885 + BinaryExpression 200734 200804 + ParenthesizedExpression 200734 200782 + BinaryExpression 200736 200781 + PropertyAccessExpression 200736 200748 + Identifier 200736 200742 + Identifier 200743 200748 + AmpersandToken 200748 200750 + ParenthesizedExpression 200750 200781 + BinaryExpression 200752 200780 + PropertyAccessExpression 200752 200769 + Identifier 200752 200763 + Identifier 200764 200769 + BarToken 200769 200771 + Identifier 200771 200780 + EqualsEqualsEqualsToken 200782 200786 + PropertyAccessExpression 200786 200804 + Identifier 200786 200798 + Identifier 200799 200804 + BarBarToken 200804 200807 + PrefixUnaryExpression 200807 200885 + PrefixUnaryExpression 200809 200885 + ParenthesizedExpression 200810 200885 + BinaryExpression 200811 200884 + BinaryExpression 200811 200843 + PropertyAccessExpression 200811 200823 + Identifier 200811 200817 + Identifier 200818 200823 + AmpersandToken 200823 200825 + PropertyAccessExpression 200825 200843 + Identifier 200825 200837 + Identifier 200838 200843 + AmpersandAmpersandToken 200843 200846 + BinaryExpression 200846 200884 + PropertyAccessExpression 200846 200859 + Identifier 200846 200853 + Identifier 200854 200859 + AmpersandToken 200859 200861 + PropertyAccessExpression 200861 200884 + Identifier 200861 200873 + Identifier 200874 200884 + FunctionDeclaration 200893 200976 + Identifier 200909 200923 + Parameter 200924 200938 + Identifier 200924 200930 + TypeReference 200931 200938 + Identifier 200931 200938 + Parameter 200939 200966 + Identifier 200939 200956 + QuestionToken 200956 200957 + BooleanKeyword 200958 200966 + TypeReference 200968 200975 + Identifier 200968 200975 + FunctionDeclaration 200976 201081 + Identifier 200990 201004 + Parameter 201005 201031 + Identifier 201005 201011 + UnionType 201012 201031 + TypeReference 201012 201019 + Identifier 201012 201019 + UndefinedKeyword 201021 201031 + Parameter 201032 201059 + Identifier 201032 201049 + QuestionToken 201049 201050 + BooleanKeyword 201051 201059 + UnionType 201061 201080 + TypeReference 201061 201068 + Identifier 201061 201068 + UndefinedKeyword 201070 201080 + FunctionDeclaration 201081 201288 + Identifier 201095 201109 + Parameter 201110 201136 + Identifier 201110 201116 + UnionType 201117 201136 + TypeReference 201117 201124 + Identifier 201117 201124 + UndefinedKeyword 201126 201136 + Parameter 201137 201164 + Identifier 201137 201154 + QuestionToken 201154 201155 + BooleanKeyword 201156 201164 + UnionType 201166 201185 + TypeReference 201166 201173 + Identifier 201166 201173 + UndefinedKeyword 201175 201185 + Block 201185 201288 + ReturnStatement 201187 201281 + ConditionalExpression 201203 201280 + BinaryExpression 201203 201248 + PrefixUnaryExpression 201203 201221 + Identifier 201205 201221 + AmpersandAmpersandToken 201221 201224 + CallExpression 201224 201248 + Identifier 201224 201240 + Identifier 201241 201247 + QuestionToken 201248 201250 + CallExpression 201250 201271 + Identifier 201250 201263 + Identifier 201264 201270 + ColonToken 201271 201273 + Identifier 201273 201280 + FunctionDeclaration 201288 202188 + Identifier 201304 201317 + Parameter 201318 201332 + Identifier 201318 201324 + TypeReference 201325 201332 + Identifier 201325 201332 + TypeReference 201334 201341 + Identifier 201334 201341 + Block 201341 202188 + ExpressionStatement 201343 201439 + CallExpression 201343 201438 + PropertyAccessExpression 201343 201365 + Identifier 201343 201358 + Identifier 201359 201365 + BinaryExpression 201366 201406 + ParenthesizedExpression 201366 201400 + BinaryExpression 201367 201399 + PropertyAccessExpression 201367 201379 + Identifier 201367 201373 + Identifier 201374 201379 + AmpersandToken 201379 201381 + PropertyAccessExpression 201381 201399 + Identifier 201381 201393 + Identifier 201394 201399 + ExclamationEqualsEqualsToken 201400 201404 + NumericLiteral 201404 201406 + StringLiteral 201407 201437 + VariableStatement 201439 201486 + VariableDeclarationList 201439 201485 + VariableDeclaration 201454 201485 + Identifier 201454 201460 + CallExpression 201462 201485 + Identifier 201462 201477 + Identifier 201478 201484 + IfStatement 201486 202146 + PrefixUnaryExpression 201500 201518 + PropertyAccessExpression 201501 201518 + Identifier 201501 201506 + Identifier 201507 201518 + Block 201519 202028 + ExpressionStatement 201521 201571 + BinaryExpression 201521 201570 + PropertyAccessExpression 201521 201552 + Identifier 201521 201540 + Identifier 201541 201552 + EqualsToken 201552 201554 + Identifier 201554 201570 + VariableStatement 201571 201634 + VariableDeclarationList 201571 201633 + VariableDeclaration 201590 201633 + Identifier 201590 201595 + CallExpression 201597 201633 + Identifier 201597 201625 + Identifier 201626 201632 + IfStatement 201634 201679 + PrefixUnaryExpression 201652 201657 + Identifier 201653 201657 + ReturnStatement 201658 201679 + CallExpression 201665 201678 + PropertyAccessExpression 201665 201676 + Identifier 201665 201671 + Identifier 201672 201676 + VariableStatement 201679 201742 + VariableDeclarationList 201679 201741 + VariableDeclaration 201698 201741 + Identifier 201698 201705 + CallExpression 201707 201741 + Identifier 201707 201735 + Identifier 201736 201740 + IfStatement 201742 202017 + BinaryExpression 201760 201797 + PropertyAccessExpression 201760 201777 + Identifier 201760 201765 + Identifier 201766 201777 + EqualsEqualsEqualsToken 201777 201781 + Identifier 201781 201797 + Block 201798 201877 + ExpressionStatement 201800 201862 + BinaryExpression 201800 201861 + PropertyAccessExpression 201800 201835 + Identifier 201800 201823 + Identifier 201824 201835 + EqualsToken 201835 201837 + BinaryExpression 201837 201861 + Identifier 201837 201844 + BarBarToken 201844 201847 + Identifier 201847 201861 + Block 201895 202017 + ExpressionStatement 201897 202002 + CallExpression 201897 202001 + Identifier 201897 201920 + Identifier 201921 201925 + PropertyAccessExpression 201926 201976 + Identifier 201926 201938 + Identifier 201939 201976 + CallExpression 201977 202000 + Identifier 201977 201992 + Identifier 201993 201999 + IfStatement 202042 202146 + BinaryExpression 202047 202084 + PropertyAccessExpression 202047 202064 + Identifier 202047 202052 + Identifier 202053 202064 + EqualsEqualsEqualsToken 202064 202068 + Identifier 202068 202084 + Block 202085 202146 + ExpressionStatement 202087 202135 + BinaryExpression 202087 202134 + PropertyAccessExpression 202087 202118 + Identifier 202087 202106 + Identifier 202107 202118 + EqualsToken 202118 202120 + Identifier 202120 202134 + ReturnStatement 202146 202181 + PropertyAccessExpression 202162 202180 + Identifier 202162 202168 + Identifier 202169 202180 + FunctionDeclaration 202188 202448 + Identifier 202204 202220 + Parameter 202221 202235 + Identifier 202221 202227 + TypeReference 202228 202235 + Identifier 202228 202235 + UnionType 202237 202256 + TypeReference 202237 202244 + Identifier 202237 202244 + UndefinedKeyword 202246 202256 + Block 202256 202448 + VariableStatement 202258 202305 + VariableDeclarationList 202258 202304 + VariableDeclaration 202273 202304 + Identifier 202273 202279 + CallExpression 202281 202304 + Identifier 202281 202296 + Identifier 202297 202303 + IfStatement 202305 202412 + BinaryExpression 202319 202356 + PropertyAccessExpression 202319 202336 + Identifier 202319 202324 + Identifier 202325 202336 + ExclamationEqualsEqualsToken 202336 202340 + Identifier 202340 202356 + Block 202357 202412 + ReturnStatement 202359 202401 + CallExpression 202379 202400 + Identifier 202379 202392 + Identifier 202393 202399 + ReturnStatement 202412 202441 + Identifier 202430 202440 + FunctionDeclaration 202448 205411 + Identifier 203430 203445 + Parameter 203446 203460 + Identifier 203446 203452 + TypeReference 203453 203460 + Identifier 203453 203460 + Parameter 203461 203495 + Identifier 203461 203485 + QuestionToken 203485 203486 + BooleanKeyword 203487 203495 + Parameter 203496 203527 + Identifier 203496 203517 + QuestionToken 203517 203518 + BooleanKeyword 203519 203527 + TypeReference 203529 203541 + Identifier 203529 203541 + Block 203541 205411 + VariableStatement 203543 203644 + VariableDeclarationList 203543 203643 + VariableDeclaration 203558 203643 + Identifier 203558 203578 + BinaryExpression 203580 203643 + Identifier 203580 203604 + AmpersandAmpersandToken 203604 203607 + CallExpression 203607 203643 + Identifier 203607 203635 + Identifier 203636 203642 + VariableStatement 203644 203758 + VariableDeclarationList 203644 203757 + VariableDeclaration 203659 203757 + Identifier 203659 203691 + BinaryExpression 203693 203757 + Identifier 203693 203713 + AmpersandAmpersandToken 203713 203716 + CallExpression 203716 203757 + Identifier 203716 203736 + Identifier 203737 203756 + VariableStatement 203758 204078 + VariableDeclarationList 203758 204077 + VariableDeclaration 203773 204077 + Identifier 203773 203792 + BinaryExpression 203794 204077 + Identifier 203794 203814 + AmpersandAmpersandToken 203814 203817 + ParenthesizedExpression 203817 204077 + ConditionalExpression 203819 204066 + Identifier 203819 203864 + QuestionToken 203864 203883 + CallExpression 203883 204006 + Identifier 203883 203909 + PropertyAccessExpression 203910 203945 + Identifier 203910 203929 + Identifier 203930 203945 + PropertyAccessExpression 203946 203982 + Identifier 203946 203966 + Identifier 203967 203982 + TrueKeyword 203983 204005 + ColonToken 204006 204025 + CallExpression 204025 204066 + Identifier 204025 204038 + PropertyAccessExpression 204039 204065 + Identifier 204039 204058 + Identifier 204059 204065 + VariableStatement 204078 204229 + VariableDeclarationList 204078 204228 + VariableDeclaration 204093 204228 + Identifier 204093 204119 + ConditionalExpression 204121 204228 + BinaryExpression 204121 204175 + Identifier 204121 204153 + AmpersandAmpersandToken 204153 204156 + Identifier 204156 204175 + QuestionToken 204175 204177 + CallExpression 204177 204216 + Identifier 204177 204196 + Identifier 204197 204215 + ColonToken 204216 204218 + Identifier 204218 204228 + VariableStatement 204229 204306 + VariableDeclarationList 204229 204305 + VariableDeclaration 204242 204305 + Identifier 204242 204248 + ConditionalExpression 204250 204305 + Identifier 204250 204271 + QuestionToken 204271 204273 + PropertyAccessExpression 204273 204290 + Identifier 204273 204285 + Identifier 204286 204290 + ColonToken 204290 204292 + PropertyAccessExpression 204292 204305 + Identifier 204292 204299 + Identifier 204300 204305 + VariableStatement 204306 204332 + VariableDeclarationList 204306 204331 + VariableDeclaration 204319 204331 + Identifier 204319 204331 + WhileStatement 204332 205381 + BinaryExpression 204349 204381 + PropertyAccessExpression 204349 204361 + Identifier 204349 204355 + Identifier 204356 204361 + AmpersandToken 204361 204363 + PropertyAccessExpression 204363 204381 + Identifier 204363 204375 + Identifier 204376 204381 + Block 204382 205381 + VariableStatement 204384 204474 + VariableDeclarationList 204384 204473 + VariableDeclaration 204403 204473 + Identifier 204403 204410 + CallExpression 204412 204473 + Identifier 204412 204451 + CallExpression 204452 204472 + Identifier 204452 204464 + Identifier 204465 204471 + IfStatement 204474 204713 + BinaryExpression 204492 204657 + BinaryExpression 204492 204575 + PrefixUnaryExpression 204492 204542 + Identifier 204511 204542 + AmpersandAmpersandToken 204542 204545 + BinaryExpression 204545 204575 + Identifier 204545 204552 + EqualsEqualsEqualsToken 204552 204556 + Identifier 204556 204575 + BarBarToken 204575 204578 + BinaryExpression 204578 204657 + CallExpression 204578 204646 + PropertyAccessExpression 204578 204626 + Identifier 204578 204621 + QuestionDotToken 204621 204623 + Identifier 204623 204626 + PropertyAccessExpression 204627 204645 + Identifier 204627 204633 + Identifier 204634 204645 + EqualsEqualsEqualsToken 204646 204650 + Identifier 204650 204657 + Block 204672 204713 + BreakStatement 204674 204698 + IfStatement 204713 204814 + BinaryExpression 204731 204755 + Identifier 204731 204737 + EqualsEqualsEqualsToken 204737 204741 + Identifier 204741 204755 + Block 204756 204814 + ReturnStatement 204758 204799 + PropertyAccessExpression 204782 204798 + Identifier 204782 204794 + Identifier 204795 204798 + IfStatement 204814 205030 + BinaryExpression 204943 204988 + BinaryExpression 204943 204960 + Identifier 204943 204949 + EqualsEqualsEqualsToken 204949 204953 + Identifier 204953 204960 + BarBarToken 204960 204963 + CallExpression 204963 204988 + PropertyAccessExpression 204963 204980 + Identifier 204963 204975 + QuestionDotToken 204975 204977 + Identifier 204977 204980 + Identifier 204981 204987 + Block 204989 205030 + BreakStatement 204991 205015 + IfStatement 205030 205304 + BinaryExpression 205048 205080 + PropertyAccessExpression 205048 205060 + Identifier 205048 205054 + Identifier 205055 205060 + AmpersandToken 205060 205062 + PropertyAccessExpression 205062 205080 + Identifier 205062 205074 + Identifier 205075 205080 + Block 205081 205304 + IfStatement 205083 205289 + Identifier 205105 205116 + Block 205117 205184 + ExpressionStatement 205119 205165 + CallExpression 205119 205164 + PropertyAccessExpression 205119 205156 + Identifier 205119 205152 + Identifier 205153 205156 + Identifier 205157 205163 + Block 205206 205289 + ExpressionStatement 205208 205270 + BinaryExpression 205208 205269 + Identifier 205208 205241 + EqualsToken 205241 205243 + NewExpression 205243 205269 + Identifier 205247 205251 + ArrayLiteralExpression 205252 205268 + Identifier 205253 205259 + Identifier 205260 205267 + ExpressionStatement 205304 205340 + BinaryExpression 205304 205339 + Identifier 205304 205323 + BarEqualsToken 205323 205326 + PropertyAccessExpression 205326 205339 + Identifier 205326 205333 + Identifier 205334 205339 + ExpressionStatement 205340 205370 + BinaryExpression 205340 205369 + Identifier 205340 205360 + EqualsToken 205360 205362 + Identifier 205362 205369 + ReturnStatement 205381 205404 + Identifier 205397 205403 + FunctionDeclaration 205411 208447 + Identifier 206943 206982 + Parameter 206983 207034 + Identifier 206983 207009 + UnionType 207010 207034 + TypeReference 207010 207022 + Identifier 207010 207022 + UndefinedKeyword 207024 207034 + Parameter 207035 207080 + Identifier 207035 207060 + UnionType 207061 207080 + TypeReference 207061 207068 + Identifier 207061 207068 + UndefinedKeyword 207070 207080 + Parameter 207081 207122 + Identifier 207081 207102 + UnionType 207103 207122 + TypeReference 207103 207110 + Identifier 207103 207110 + UndefinedKeyword 207112 207122 + Parameter 207123 207156 + Identifier 207123 207147 + BooleanKeyword 207148 207156 + Parameter 207157 207279 + Identifier 207157 207188 + QuestionToken 207188 207189 + IntersectionType 207190 207279 + TypeReference 207190 207208 + Identifier 207190 207208 + TypeLiteral 207210 207279 + PropertySignature 207212 207239 + ReadonlyKeyword 207212 207221 + Identifier 207221 207232 + LiteralType 207233 207238 + TrueKeyword 207233 207238 + PropertySignature 207239 207277 + ReadonlyKeyword 207239 207248 + Identifier 207248 207264 + TypeReference 207265 207276 + Identifier 207265 207276 + Parameter 207280 207315 + Identifier 207280 207304 + QuestionToken 207304 207305 + TypeReference 207306 207315 + Identifier 207306 207315 + BooleanKeyword 207324 207332 + Block 207332 208447 + IfStatement 207334 207428 + BinaryExpression 207348 207413 + PrefixUnaryExpression 207348 207365 + Identifier 207349 207365 + BarBarToken 207365 207368 + CallExpression 207368 207413 + Identifier 207368 207395 + Identifier 207396 207412 + ReturnStatement 207414 207428 + FalseKeyword 207421 207427 + VariableStatement 207428 207624 + VariableDeclarationList 207428 207623 + VariableDeclaration 207567 207623 + Identifier 207567 207580 + CallExpression 207582 207623 + Identifier 207582 207605 + Identifier 207606 207622 + IfStatement 207624 207847 + CallExpression 207638 207691 + Identifier 207638 207673 + Identifier 207674 207690 + Block 207692 207847 + VariableStatement 207694 207751 + VariableDeclarationList 207694 207750 + VariableDeclaration 207713 207750 + Identifier 207713 207719 + CallExpression 207721 207750 + Identifier 207721 207736 + Identifier 207737 207749 + ExpressionStatement 207751 207810 + BinaryExpression 207751 207809 + PropertyAccessExpression 207751 207790 + Identifier 207751 207770 + Identifier 207771 207790 + EqualsToken 207790 207792 + Identifier 207792 207809 + ReturnStatement 207810 207836 + TrueKeyword 207830 207835 + IfStatement 207847 208186 + Identifier 207861 207882 + Block 207883 208186 + VariableStatement 207885 207942 + VariableDeclarationList 207885 207941 + VariableDeclaration 207904 207941 + Identifier 207904 207910 + CallExpression 207912 207941 + Identifier 207912 207927 + Identifier 207928 207940 + ExpressionStatement 207942 208006 + BinaryExpression 207942 208005 + PropertyAccessExpression 207942 207981 + Identifier 207942 207961 + Identifier 207962 207981 + EqualsToken 207981 207983 + Identifier 207983 208005 + IfStatement 208006 208149 + BinaryExpression 208024 208067 + PropertyAccessExpression 208024 208048 + Identifier 208024 208036 + Identifier 208037 208048 + ExclamationEqualsEqualsToken 208048 208052 + Identifier 208052 208067 + Block 208068 208149 + ExpressionStatement 208070 208134 + BinaryExpression 208070 208133 + PropertyAccessExpression 208070 208116 + Identifier 208070 208093 + Identifier 208094 208116 + EqualsToken 208116 208118 + Identifier 208118 208133 + ReturnStatement 208149 208175 + TrueKeyword 208169 208174 + VariableStatement 208186 208241 + VariableDeclarationList 208186 208240 + VariableDeclaration 208203 208240 + Identifier 208203 208209 + CallExpression 208211 208240 + Identifier 208211 208226 + Identifier 208227 208239 + ReturnStatement 208241 208440 + BinaryExpression 208257 208439 + CallExpression 208257 208342 + Identifier 208257 208302 + Identifier 208303 208308 + Identifier 208309 208325 + Identifier 208326 208341 + BarBarToken 208342 208358 + CallExpression 208358 208439 + Identifier 208358 208403 + Identifier 208404 208409 + Identifier 208410 208422 + Identifier 208423 208438 + FunctionDeclaration 208447 209199 + Identifier 208463 208508 + Parameter 208509 208543 + Identifier 208509 208530 + TypeReference 208531 208543 + Identifier 208531 208543 + Parameter 208544 208571 + Identifier 208544 208551 + UnionType 208552 208571 + TypeReference 208552 208559 + Identifier 208552 208559 + UndefinedKeyword 208561 208571 + Parameter 208572 208596 + Identifier 208572 208587 + BooleanKeyword 208588 208596 + BooleanKeyword 208598 208606 + Block 208606 209199 + IfStatement 208608 209131 + BinaryExpression 208622 208762 + Identifier 208622 208628 + AmpersandAmpersandToken 208628 208631 + ParenthesizedExpression 208631 208762 + BinaryExpression 208633 208761 + BinaryExpression 208633 208688 + PropertyAccessExpression 208633 208674 + Identifier 208633 208654 + Identifier 208655 208674 + EqualsEqualsEqualsToken 208674 208678 + Identifier 208678 208688 + BarBarToken 208688 208691 + BinaryExpression 208691 208761 + Identifier 208691 208706 + AmpersandAmpersandToken 208706 208709 + BinaryExpression 208709 208761 + PropertyAccessExpression 208709 208751 + Identifier 208709 208731 + Identifier 208732 208751 + EqualsEqualsEqualsToken 208751 208755 + FalseKeyword 208755 208761 + Block 208763 209131 + VariableStatement 208765 208863 + VariableDeclarationList 208765 208862 + VariableDeclaration 208784 208862 + Identifier 208784 208797 + BinaryExpression 208799 208862 + CallExpression 208799 208852 + PropertyAccessExpression 208799 208819 + PropertyAccessExpression 208799 208814 + Identifier 208799 208806 + Identifier 208807 208814 + QuestionDotToken 208814 208816 + Identifier 208816 208819 + PropertyAccessExpression 208820 208851 + Identifier 208820 208838 + Identifier 208839 208851 + QuestionQuestionToken 208852 208855 + Identifier 208855 208862 + VariableStatement 208863 208992 + VariableDeclarationList 208863 208991 + VariableDeclaration 208882 208991 + Identifier 208882 208891 + BinaryExpression 208893 208991 + PropertyAccessExpression 208893 208919 + Identifier 208893 208906 + Identifier 208907 208919 + AmpersandAmpersandToken 208919 208922 + CallExpression 208922 208991 + Identifier 208922 208927 + PropertyAccessExpression 208928 208953 + Identifier 208928 208940 + Identifier 208941 208953 + Identifier 208954 208990 + ExpressionStatement 208992 209120 + BinaryExpression 208992 209119 + PropertyAccessExpression 208992 209047 + Identifier 208992 209027 + Identifier 209028 209047 + EqualsToken 209047 209049 + BinaryExpression 209049 209119 + BinaryExpression 209049 209110 + Identifier 209049 209058 + QuestionQuestionToken 209058 209061 + PropertyAccessExpression 209061 209110 + CallExpression 209061 209090 + Identifier 209061 209076 + Identifier 209077 209089 + Identifier 209091 209110 + QuestionQuestionToken 209110 209113 + FalseKeyword 209113 209119 + ReturnStatement 209131 209192 + PrefixUnaryExpression 209147 209191 + PrefixUnaryExpression 209149 209191 + PropertyAccessExpression 209150 209191 + Identifier 209150 209171 + Identifier 209172 209191 + FunctionDeclaration 209199 211000 + Identifier 209316 209344 + Parameter 209345 209359 + Identifier 209345 209351 + TypeReference 209352 209359 + Identifier 209352 209359 + Parameter 209360 209382 + Identifier 209360 209368 + QuestionToken 209368 209369 + TypeReference 209370 209382 + Identifier 209370 209382 + UnionType 209384 209421 + TypeReference 209384 209409 + Identifier 209384 209409 + UndefinedKeyword 209411 209421 + Block 209421 211000 + IfStatement 209423 209517 + PrefixUnaryExpression 209437 209472 + ParenthesizedExpression 209438 209472 + BinaryExpression 209439 209471 + PropertyAccessExpression 209439 209451 + Identifier 209439 209445 + Identifier 209446 209451 + AmpersandToken 209451 209453 + PropertyAccessExpression 209453 209471 + Identifier 209453 209465 + Identifier 209466 209471 + Block 209473 209517 + ReturnStatement 209475 209506 + Identifier 209495 209505 + VariableStatement 209517 209564 + VariableDeclarationList 209517 209563 + VariableDeclaration 209532 209563 + Identifier 209532 209538 + CallExpression 209540 209563 + Identifier 209540 209555 + Identifier 209556 209562 + IfStatement 209564 210395 + BinaryExpression 209578 209617 + PropertyAccessExpression 209578 209603 + Identifier 209578 209583 + Identifier 209584 209603 + EqualsEqualsEqualsToken 209603 209607 + Identifier 209607 209617 + Block 209618 210395 + ExpressionStatement 209620 209814 + BinaryExpression 209620 209813 + PropertyAccessExpression 209620 209805 + Identifier 209620 209785 + Identifier 209786 209805 + EqualsToken 209805 209807 + FalseKeyword 209807 209813 + VariableStatement 209814 209867 + VariableDeclarationList 209814 209866 + VariableDeclaration 209833 209866 + Identifier 209833 209842 + CallExpression 209844 209866 + Identifier 209844 209858 + Identifier 209859 209865 + ExpressionStatement 209867 210384 + CallExpression 209867 210383 + Identifier 209867 210248 + ElementAccessExpression 210249 210273 + PropertyAccessExpression 210249 210268 + Identifier 210249 210255 + Identifier 210256 210268 + QuestionDotToken 210268 210270 + NumericLiteral 210271 210272 + BinaryExpression 210274 210347 + CallExpression 210274 210310 + Identifier 210274 210302 + Identifier 210303 210309 + AmpersandAmpersandToken 210310 210313 + CallExpression 210313 210347 + Identifier 210313 210339 + Identifier 210340 210346 + Identifier 210348 210357 + TrueKeyword 210358 210382 + IfStatement 210395 210504 + BinaryExpression 210409 210430 + Identifier 210409 210416 + EqualsEqualsEqualsToken 210416 210420 + Identifier 210420 210430 + Block 210431 210504 + ReturnStatement 210433 210493 + BinaryExpression 210453 210492 + PropertyAccessExpression 210453 210479 + Identifier 210453 210459 + Identifier 210460 210479 + BarBarToken 210479 210482 + Identifier 210482 210492 + IfStatement 210504 210966 + PropertyAccessExpression 210518 210543 + Identifier 210518 210523 + Identifier 210524 210543 + Block 210544 210966 + VariableStatement 210546 210859 + VariableDeclarationList 210546 210858 + VariableDeclaration 210565 210858 + Identifier 210565 210574 + ConditionalExpression 210576 210858 + BinaryExpression 210576 210640 + PropertyAccessExpression 210576 210607 + PropertyAccessExpression 210576 210602 + Identifier 210576 210582 + Identifier 210583 210602 + Identifier 210603 210607 + EqualsEqualsEqualsToken 210607 210611 + PropertyAccessExpression 210611 210640 + Identifier 210611 210622 + Identifier 210623 210640 + QuestionToken 210640 210659 + NonNullExpression 210659 210792 + CallExpression 210659 210791 + Identifier 210659 210673 + CallExpression 210674 210790 + PropertyAccessExpression 210674 210738 + CallExpression 210674 210734 + Identifier 210674 210692 + NonNullExpression 210693 210733 + PropertyAccessExpression 210693 210732 + PropertyAccessExpression 210693 210725 + PropertyAccessExpression 210693 210718 + Identifier 210693 210698 + Identifier 210699 210718 + Identifier 210719 210725 + Identifier 210726 210732 + Identifier 210735 210738 + BinaryExpression 210739 210789 + PropertyAccessExpression 210739 210767 + Identifier 210739 210744 + Identifier 210745 210767 + BarBarToken 210767 210770 + PropertyAccessExpression 210770 210789 + Identifier 210770 210777 + Identifier 210778 210789 + ColonToken 210792 210811 + CallExpression 210811 210858 + Identifier 210811 210824 + PropertyAccessExpression 210825 210857 + PropertyAccessExpression 210825 210850 + Identifier 210825 210830 + Identifier 210831 210850 + Identifier 210851 210857 + ReturnStatement 210859 210955 + ConditionalExpression 210879 210954 + BinaryExpression 210879 210914 + CallExpression 210879 210904 + Identifier 210879 210894 + Identifier 210895 210903 + AmpersandToken 210904 210906 + Identifier 210906 210914 + QuestionToken 210914 210916 + PropertyAccessExpression 210916 210942 + Identifier 210916 210922 + Identifier 210923 210942 + ColonToken 210942 210944 + Identifier 210944 210954 + ReturnStatement 210966 210993 + Identifier 210982 210992 + FunctionDeclaration 211000 212384 + Identifier 211076 211121 + Parameter 211122 211144 + Identifier 211122 211132 + TypeReference 211133 211144 + Identifier 211133 211144 + Parameter 211145 211172 + Identifier 211145 211162 + QuestionToken 211162 211163 + BooleanKeyword 211164 211172 + UnionType 211174 211193 + TypeReference 211174 211181 + Identifier 211174 211181 + UndefinedKeyword 211183 211193 + Block 211193 212384 + IfStatement 211195 211688 + BinaryExpression 211513 211612 + BinaryExpression 211513 211554 + PropertyAccessExpression 211513 211528 + Identifier 211513 211523 + Identifier 211524 211528 + EqualsEqualsEqualsToken 211528 211532 + PropertyAccessExpression 211532 211554 + Identifier 211532 211543 + Identifier 211544 211554 + AmpersandAmpersandToken 211554 211557 + CallExpression 211557 211612 + Identifier 211557 211600 + Identifier 211601 211611 + Block 211613 211688 + ExpressionStatement 211615 211677 + BinaryExpression 211615 211676 + Identifier 211615 211639 + EqualsToken 211639 211641 + AsExpression 211641 211676 + PropertyAccessExpression 211641 211659 + Identifier 211641 211652 + Identifier 211653 211659 + TypeReference 211662 211676 + Identifier 211662 211676 + IfStatement 211688 212377 + BinaryExpression 211758 211854 + BinaryExpression 211758 211799 + PropertyAccessExpression 211758 211773 + Identifier 211758 211768 + Identifier 211769 211773 + EqualsEqualsEqualsToken 211773 211777 + PropertyAccessExpression 211777 211799 + Identifier 211777 211788 + Identifier 211789 211799 + BarBarToken 211799 211802 + BinaryExpression 211802 211854 + PropertyAccessExpression 211802 211825 + PropertyAccessExpression 211802 211820 + Identifier 211802 211813 + Identifier 211814 211820 + Identifier 211821 211825 + EqualsEqualsEqualsToken 211825 211829 + PropertyAccessExpression 211829 211854 + Identifier 211829 211840 + Identifier 211841 211854 + Block 211855 211984 + ReturnStatement 211857 211973 + CallExpression 211877 211972 + Identifier 211877 211895 + Identifier 211896 211906 + PropertyAccessExpression 211907 211929 + Identifier 211907 211919 + Identifier 211920 211929 + FalseKeyword 211930 211953 + Identifier 211954 211971 + Block 211998 212377 + ExpressionStatement 212000 212211 + CallExpression 212000 212210 + PropertyAccessExpression 212000 212147 + Identifier 212000 212140 + Identifier 212141 212147 + BinaryExpression 212148 212209 + PropertyAccessExpression 212148 212170 + PropertyAccessExpression 212148 212165 + Identifier 212148 212158 + Identifier 212159 212165 + Identifier 212166 212170 + EqualsEqualsEqualsToken 212170 212174 + PropertyAccessExpression 212174 212209 + Identifier 212174 212185 + Identifier 212186 212209 + ReturnStatement 212211 212366 + CallExpression 212231 212365 + Identifier 212231 212249 + Identifier 212250 212260 + BinaryExpression 212261 212322 + BinaryExpression 212261 212298 + PropertyAccessExpression 212261 212279 + Identifier 212261 212273 + Identifier 212274 212279 + BarToken 212279 212281 + PropertyAccessExpression 212281 212298 + Identifier 212281 212293 + Identifier 212294 212298 + BarToken 212298 212300 + PropertyAccessExpression 212300 212322 + Identifier 212300 212312 + Identifier 212313 212322 + FalseKeyword 212323 212346 + Identifier 212347 212364 + FunctionDeclaration 212384 212751 + Identifier 212400 212422 + Parameter 212423 212437 + Identifier 212423 212429 + TypeReference 212430 212437 + Identifier 212430 212437 + Parameter 212438 212464 + Identifier 212438 212457 + QuestionToken 212457 212458 + TypeReference 212459 212464 + Identifier 212459 212464 + StringKeyword 212466 212473 + Block 212473 212751 + ReturnStatement 212475 212744 + ConditionalExpression 212491 212743 + PropertyAccessExpression 212491 212505 + Identifier 212491 212498 + Identifier 212499 212505 + QuestionToken 212505 212507 + BinaryExpression 212507 212595 + BinaryExpression 212507 212570 + CallExpression 212507 212564 + Identifier 212507 212529 + PropertyAccessExpression 212530 212543 + Identifier 212530 212536 + Identifier 212537 212543 + Identifier 212544 212563 + PlusToken 212564 212566 + StringLiteral 212566 212570 + PlusToken 212570 212572 + CallExpression 212572 212595 + Identifier 212572 212587 + Identifier 212588 212594 + ColonToken 212595 212597 + CallExpression 212597 212743 + Identifier 212597 212612 + Identifier 212613 212619 + Identifier 212620 212639 + Identifier 212640 212662 + BinaryExpression 212663 212742 + PropertyAccessExpression 212663 212705 + Identifier 212663 212681 + Identifier 212682 212705 + BarToken 212705 212707 + PropertyAccessExpression 212707 212742 + Identifier 212707 212725 + Identifier 212726 212742 + FunctionDeclaration 212751 212942 + Identifier 212767 212798 + Parameter 212799 212818 + Identifier 212799 212803 + TypeReference 212804 212818 + Identifier 212804 212818 + Block 212819 212942 + WhileStatement 212821 212913 + CallExpression 212838 212866 + Identifier 212838 212853 + PropertyAccessExpression 212854 212865 + Identifier 212854 212858 + Identifier 212859 212865 + Block 212867 212913 + ExpressionStatement 212869 212902 + BinaryExpression 212869 212901 + Identifier 212869 212887 + EqualsToken 212887 212889 + PropertyAccessExpression 212889 212901 + Identifier 212889 212894 + Identifier 212895 212901 + ReturnStatement 212913 212935 + Identifier 212929 212934 + FunctionDeclaration 212942 213595 + Identifier 212958 212985 + Parameter 212986 213005 + Identifier 212986 212990 + TypeReference 212991 213005 + Identifier 212991 213005 + Block 213006 213595 + VariableStatement 213008 213082 + VariableDeclarationList 213008 213081 + VariableDeclaration 213021 213081 + Identifier 213021 213026 + UnionType 213027 213054 + TypeReference 213027 213038 + Identifier 213027 213038 + TypeReference 213040 213054 + Identifier 213040 213054 + CallExpression 213056 213081 + Identifier 213056 213075 + Identifier 213076 213080 + VariableStatement 213082 213199 + VariableDeclarationList 213082 213198 + VariableDeclaration 213095 213198 + Identifier 213095 213102 + CallExpression 213104 213198 + Identifier 213104 213116 + Identifier 213117 213121 + Identifier 213122 213127 + PropertyAccessExpression 213128 213146 + Identifier 213128 213140 + Identifier 213141 213146 + Identifier 213147 213181 + TrueKeyword 213182 213197 + IfStatement 213199 213265 + PrefixUnaryExpression 213213 213220 + Identifier 213214 213220 + Block 213221 213265 + ReturnStatement 213223 213254 + Identifier 213243 213253 + WhileStatement 213265 213564 + CallExpression 213282 213310 + Identifier 213282 213297 + PropertyAccessExpression 213298 213309 + Identifier 213298 213302 + Identifier 213303 213309 + Block 213311 213564 + VariableStatement 213313 213364 + VariableDeclarationList 213313 213363 + VariableDeclaration 213332 213363 + Identifier 213332 213337 + CallExpression 213339 213363 + Identifier 213339 213355 + Identifier 213356 213362 + ExpressionStatement 213364 213442 + BinaryExpression 213364 213441 + Identifier 213364 213384 + EqualsToken 213384 213386 + CallExpression 213386 213441 + Identifier 213386 213404 + Identifier 213405 213409 + PropertyAccessExpression 213410 213440 + PropertyAccessExpression 213410 213428 + PropertyAccessExpression 213410 213422 + Identifier 213410 213415 + Identifier 213416 213422 + Identifier 213423 213428 + Identifier 213429 213440 + IfStatement 213442 213520 + PrefixUnaryExpression 213460 213467 + Identifier 213461 213467 + Block 213468 213520 + ReturnStatement 213470 213505 + Identifier 213494 213504 + ExpressionStatement 213520 213553 + BinaryExpression 213520 213552 + Identifier 213520 213538 + EqualsToken 213538 213540 + PropertyAccessExpression 213540 213552 + Identifier 213540 213545 + Identifier 213546 213552 + ReturnStatement 213564 213588 + Identifier 213580 213587 + FunctionDeclaration 213595 219922 + Identifier 213689 213707 + Parameter 213708 213746 + Identifier 213708 213712 + TypeReference 213713 213746 + Identifier 213713 213746 + Parameter 213747 213768 + Identifier 213747 213755 + TypeReference 213756 213768 + Identifier 213756 213768 + Parameter 213769 213792 + Identifier 213769 213782 + QuestionToken 213782 213783 + BooleanKeyword 213784 213792 + Parameter 213793 213820 + Identifier 213793 213810 + QuestionToken 213810 213811 + BooleanKeyword 213812 213820 + Parameter 213821 213837 + Identifier 213821 213830 + QuestionToken 213830 213831 + TypeReference 213832 213837 + Identifier 213832 213837 + UnionType 213839 213858 + TypeReference 213839 213846 + Identifier 213839 213846 + UndefinedKeyword 213848 213858 + Block 213858 219922 + IfStatement 213860 213938 + CallExpression 213874 213893 + Identifier 213874 213887 + Identifier 213888 213892 + Block 213894 213938 + ReturnStatement 213896 213927 + Identifier 213916 213926 + VariableStatement 213938 214052 + VariableDeclarationList 213938 214051 + VariableDeclaration 213955 214051 + Identifier 213955 213972 + BinaryExpression 213974 214051 + PropertyAccessExpression 213974 213996 + Identifier 213974 213986 + Identifier 213987 213996 + BarToken 213996 213998 + ParenthesizedExpression 213998 214051 + ConditionalExpression 214000 214050 + CallExpression 214000 214016 + Identifier 214000 214010 + Identifier 214011 214015 + QuestionToken 214016 214018 + BinaryExpression 214018 214046 + Identifier 214018 214026 + AmpersandToken 214026 214028 + PropertyAccessExpression 214028 214046 + Identifier 214028 214040 + Identifier 214041 214046 + ColonToken 214046 214048 + NumericLiteral 214048 214050 + VariableStatement 214052 214093 + VariableDeclarationList 214052 214092 + VariableDeclaration 214065 214092 + Identifier 214065 214072 + UnionType 214073 214092 + TypeReference 214073 214080 + Identifier 214073 214080 + UndefinedKeyword 214082 214092 + IfStatement 214093 219509 + BinaryExpression 214107 214142 + PropertyAccessExpression 214107 214116 + Identifier 214107 214111 + Identifier 214112 214116 + EqualsEqualsEqualsToken 214116 214120 + PropertyAccessExpression 214120 214142 + Identifier 214120 214131 + Identifier 214132 214142 + Block 214143 214799 + VariableStatement 214145 214332 + VariableDeclarationList 214145 214331 + VariableDeclaration 214164 214331 + Identifier 214164 214172 + ConditionalExpression 214174 214331 + BinaryExpression 214174 214230 + BinaryExpression 214174 214203 + Identifier 214174 214182 + EqualsEqualsEqualsToken 214182 214186 + Identifier 214186 214203 + BarBarToken 214203 214206 + CallExpression 214206 214230 + Identifier 214206 214224 + Identifier 214225 214229 + QuestionToken 214230 214232 + PropertyAccessExpression 214232 214268 + Identifier 214232 214244 + Identifier 214245 214268 + ColonToken 214268 214270 + CallExpression 214270 214331 + Identifier 214270 214305 + CallExpression 214306 214330 + Identifier 214306 214324 + Identifier 214325 214329 + VariableStatement 214332 214493 + VariableDeclarationList 214332 214492 + VariableDeclaration 214351 214492 + Identifier 214351 214373 + ConditionalExpression 214375 214492 + BinaryExpression 214375 214420 + CallExpression 214375 214392 + Identifier 214375 214386 + Identifier 214387 214391 + AmpersandAmpersandToken 214392 214395 + PrefixUnaryExpression 214395 214420 + CallExpression 214397 214420 + Identifier 214397 214414 + Identifier 214415 214419 + QuestionToken 214420 214422 + CallExpression 214422 214480 + Identifier 214422 214465 + Identifier 214466 214470 + Identifier 214471 214479 + ColonToken 214480 214482 + Identifier 214482 214492 + ExpressionStatement 214493 214681 + BinaryExpression 214493 214680 + Identifier 214493 214513 + EqualsToken 214513 214515 + CallExpression 214515 214680 + Identifier 214515 214531 + CallExpression 214532 214679 + Identifier 214532 214543 + BinaryExpression 214544 214560 + Identifier 214544 214552 + BarBarToken 214552 214555 + Identifier 214555 214560 + Identifier 214561 214566 + Identifier 214567 214575 + ConditionalExpression 214576 214636 + BinaryExpression 214576 214614 + Identifier 214576 214589 + BarBarToken 214589 214592 + Identifier 214592 214614 + QuestionToken 214614 214616 + Identifier 214616 214626 + ColonToken 214626 214628 + Identifier 214628 214636 + TrueKeyword 214637 214652 + FalseKeyword 214653 214678 + IfStatement 214681 214788 + PrefixUnaryExpression 214699 214706 + Identifier 214700 214706 + Block 214707 214788 + ReturnStatement 214709 214773 + CallExpression 214733 214772 + Identifier 214733 214749 + Identifier 214750 214771 + IfStatement 214813 219509 + BinaryExpression 214818 214909 + BinaryExpression 214818 214856 + PropertyAccessExpression 214818 214827 + Identifier 214818 214822 + Identifier 214823 214827 + EqualsEqualsEqualsToken 214827 214831 + PropertyAccessExpression 214831 214856 + Identifier 214831 214842 + Identifier 214843 214856 + BarBarToken 214856 214859 + BinaryExpression 214859 214909 + PropertyAccessExpression 214859 214869 + Identifier 214859 214864 + Identifier 214865 214869 + EqualsEqualsEqualsToken 214869 214873 + PropertyAccessExpression 214873 214909 + Identifier 214873 214884 + Identifier 214885 214909 + Block 214910 219415 + VariableStatement 214912 215008 + VariableDeclarationList 214912 215007 + VariableDeclaration 214931 215007 + Identifier 214931 214936 + ConditionalExpression 214938 215007 + BinaryExpression 214938 214977 + PropertyAccessExpression 214938 214948 + Identifier 214938 214943 + Identifier 214944 214948 + EqualsEqualsEqualsToken 214948 214952 + PropertyAccessExpression 214952 214977 + Identifier 214952 214963 + Identifier 214964 214977 + QuestionToken 214977 214979 + PropertyAccessExpression 214979 214989 + Identifier 214979 214984 + Identifier 214985 214989 + ColonToken 214989 214991 + PropertyAccessExpression 214991 215007 + Identifier 214991 214996 + Identifier 214997 215007 + VariableStatement 215008 215100 + VariableDeclarationList 215008 215099 + VariableDeclaration 215027 215099 + Identifier 215027 215033 + ConditionalExpression 215035 215099 + BinaryExpression 215035 215074 + PropertyAccessExpression 215035 215045 + Identifier 215035 215040 + Identifier 215041 215045 + EqualsEqualsEqualsToken 215045 215049 + PropertyAccessExpression 215049 215074 + Identifier 215049 215060 + Identifier 215061 215074 + QuestionToken 215074 215076 + PropertyAccessExpression 215076 215087 + Identifier 215076 215081 + Identifier 215082 215087 + ColonToken 215087 215089 + PropertyAccessExpression 215089 215099 + Identifier 215089 215094 + Identifier 215095 215099 + VariableStatement 215100 215224 + VariableDeclarationList 215100 215223 + VariableDeclaration 215117 215223 + Identifier 215117 215127 + CallExpression 215129 215223 + Identifier 215129 215147 + Identifier 215148 215152 + Identifier 215153 215170 + Identifier 215171 215184 + FalseKeyword 215185 215212 + Identifier 215213 215222 + IfStatement 215224 215432 + BinaryExpression 215242 215276 + PrefixUnaryExpression 215242 215252 + Identifier 215243 215252 + BarBarToken 215252 215255 + CallExpression 215255 215276 + Identifier 215255 215269 + Identifier 215270 215275 + Block 215277 215329 + ReturnStatement 215279 215314 + Identifier 215303 215313 + IfStatement 215347 215432 + BinaryExpression 215352 215379 + Identifier 215352 215361 + EqualsEqualsEqualsToken 215361 215365 + Identifier 215365 215379 + Block 215380 215432 + ReturnStatement 215382 215417 + Identifier 215406 215416 + IfStatement 215432 216376 + BinaryExpression 215450 215858 + BinaryExpression 215450 215780 + BinaryExpression 215450 215721 + BinaryExpression 215450 215651 + BinaryExpression 215450 215553 + PropertyAccessExpression 215450 215494 + Identifier 215450 215477 + Identifier 215478 215494 + AmpersandAmpersandToken 215494 215497 + CallExpression 215497 215553 + Identifier 215497 215525 + PropertyAccessExpression 215526 215552 + Identifier 215526 215535 + Identifier 215536 215552 + AmpersandAmpersandToken 215553 215556 + BinaryExpression 215556 215651 + CallExpression 215556 215618 + Identifier 215556 215601 + Identifier 215602 215617 + ExclamationEqualsEqualsToken 215618 215622 + PropertyAccessExpression 215622 215651 + Identifier 215622 215643 + Identifier 215644 215651 + AmpersandAmpersandToken 215651 215654 + CallExpression 215654 215721 + Identifier 215654 215693 + PropertyAccessExpression 215694 215720 + Identifier 215694 215703 + Identifier 215704 215720 + AmpersandAmpersandToken 215721 215724 + PropertyAccessExpression 215724 215780 + PropertyAccessExpression 215724 215768 + Identifier 215724 215751 + Identifier 215752 215768 + Identifier 215769 215780 + AmpersandAmpersandToken 215780 215783 + CallExpression 215783 215858 + Identifier 215783 215818 + PropertyAccessExpression 215819 215857 + PropertyAccessExpression 215819 215845 + Identifier 215819 215828 + Identifier 215829 215845 + Identifier 215846 215857 + Block 215873 216376 + VariableStatement 215875 216001 + VariableDeclarationList 215875 216000 + VariableDeclaration 215898 216000 + Identifier 215898 215909 + AsExpression 215911 216000 + ElementAccessExpression 215911 215983 + PropertyAccessExpression 215911 215980 + ParenthesizedExpression 215911 215970 + AsExpression 215913 215969 + PropertyAccessExpression 215913 215951 + PropertyAccessExpression 215913 215939 + Identifier 215913 215922 + Identifier 215923 215939 + Identifier 215940 215951 + TypeReference 215954 215969 + Identifier 215954 215969 + Identifier 215971 215980 + NumericLiteral 215981 215982 + TypeReference 215986 216000 + Identifier 215986 216000 + VariableStatement 216001 216087 + VariableDeclarationList 216001 216086 + VariableDeclaration 216024 216086 + Identifier 216024 216034 + CallExpression 216036 216086 + Identifier 216036 216062 + Identifier 216063 216073 + Identifier 216074 216085 + IfStatement 216087 216361 + Identifier 216109 216118 + Block 216119 216361 + VariableStatement 216121 216211 + VariableDeclarationList 216121 216210 + VariableDeclaration 216148 216210 + Identifier 216148 216169 + CallExpression 216171 216210 + Identifier 216171 216199 + Identifier 216200 216209 + IfStatement 216211 216342 + Identifier 216237 216257 + Block 216258 216342 + ExpressionStatement 216260 216319 + BinaryExpression 216260 216318 + Identifier 216260 216295 + EqualsToken 216295 216297 + Identifier 216297 216318 + ExpressionStatement 216376 216485 + BinaryExpression 216376 216484 + Identifier 216376 216396 + EqualsToken 216396 216398 + CallExpression 216398 216484 + Identifier 216398 216414 + CallExpression 216415 216483 + Identifier 216415 216424 + CallExpression 216425 216454 + Identifier 216425 216443 + Identifier 216444 216453 + PropertyAccessExpression 216455 216473 + Identifier 216455 216461 + Identifier 216462 216473 + Identifier 216474 216482 + IfStatement 216485 216797 + BinaryExpression 216503 216551 + PrefixUnaryExpression 216503 216510 + Identifier 216504 216510 + AmpersandAmpersandToken 216510 216513 + ParenthesizedExpression 216513 216551 + BinaryExpression 216515 216550 + PropertyAccessExpression 216515 216530 + Identifier 216515 216524 + Identifier 216525 216530 + AmpersandToken 216530 216532 + PropertyAccessExpression 216532 216550 + Identifier 216532 216544 + Identifier 216545 216550 + Block 216552 216797 + ExpressionStatement 216554 216782 + BinaryExpression 216554 216781 + Identifier 216554 216679 + EqualsToken 216679 216681 + CallExpression 216681 216781 + Identifier 216681 216697 + CallExpression 216698 216780 + Identifier 216698 216707 + CallExpression 216708 216751 + Identifier 216708 216726 + CallExpression 216727 216750 + Identifier 216727 216739 + Identifier 216740 216749 + PropertyAccessExpression 216752 216770 + Identifier 216752 216758 + Identifier 216759 216770 + Identifier 216771 216779 + IfStatement 216797 219404 + PrefixUnaryExpression 216815 216822 + Identifier 216816 216822 + Block 216823 219404 + IfStatement 216825 219354 + PrefixUnaryExpression 216847 216860 + Identifier 216848 216860 + Block 216861 219354 + VariableStatement 216863 216940 + VariableDeclarationList 216863 216939 + VariableDeclaration 216890 216939 + Identifier 216890 216904 + CallExpression 216906 216939 + Identifier 216906 216928 + Identifier 216929 216938 + VariableStatement 216940 217017 + VariableDeclarationList 216940 217016 + VariableDeclaration 216967 217016 + Identifier 216967 216983 + CallExpression 216985 217016 + Identifier 216985 217009 + Identifier 217010 217015 + VariableStatement 217017 217135 + VariableDeclarationList 217017 217134 + VariableDeclaration 217044 217134 + Identifier 217044 217075 + CallExpression 217077 217134 + Identifier 217077 217116 + Identifier 217117 217122 + Identifier 217123 217133 + IfStatement 217135 217441 + Identifier 217161 217191 + Block 217192 217441 + ExpressionStatement 217194 217375 + CallExpression 217194 217374 + Identifier 217194 217225 + Identifier 217226 217231 + PropertyAccessExpression 217232 217293 + Identifier 217232 217244 + Identifier 217245 217293 + Identifier 217294 217308 + Identifier 217309 217325 + CallExpression 217326 217373 + Identifier 217326 217341 + Identifier 217342 217372 + ReturnStatement 217375 217418 + Identifier 217407 217417 + VariableStatement 217441 217559 + VariableDeclarationList 217441 217558 + VariableDeclaration 217470 217558 + Identifier 217470 217494 + BinaryExpression 217496 217558 + CallExpression 217496 217518 + Identifier 217496 217512 + Identifier 217513 217517 + AmpersandAmpersandToken 217518 217521 + CallExpression 217521 217558 + Identifier 217521 217552 + Identifier 217553 217557 + VariableStatement 217559 217958 + VariableDeclarationList 217559 217957 + VariableDeclaration 217586 217957 + Identifier 217586 217603 + BinaryExpression 217605 217957 + BinaryExpression 217605 217877 + BinaryExpression 217605 217797 + BinaryExpression 217605 217745 + Identifier 217605 217622 + AmpersandAmpersandToken 217622 217716 + ParenthesizedExpression 217716 217745 + BinaryExpression 217718 217744 + Identifier 217718 217725 + AmpersandToken 217725 217727 + PropertyAccessExpression 217727 217744 + Identifier 217727 217739 + Identifier 217740 217744 + AmpersandAmpersandToken 217745 217773 + Identifier 217773 217797 + AmpersandAmpersandToken 217797 217825 + PrefixUnaryExpression 217825 217877 + CallExpression 217827 217877 + Identifier 217827 217845 + PropertyAccessExpression 217846 217876 + Identifier 217846 217869 + Identifier 217870 217876 + AmpersandAmpersandToken 217877 217905 + CallExpression 217905 217957 + Identifier 217905 217932 + Identifier 217933 217956 + IfStatement 217958 218375 + Identifier 217984 218000 + Block 218001 218375 + ExpressionStatement 218003 218309 + CallExpression 218003 218308 + Identifier 218003 218034 + Identifier 218035 218088 + PropertyAccessExpression 218089 218206 + Identifier 218089 218130 + Identifier 218131 218206 + CallExpression 218207 218280 + Identifier 218207 218255 + Identifier 218256 218279 + ReturnStatement 218309 218352 + Identifier 218341 218351 + IfStatement 218375 219216 + BinaryExpression 218403 218466 + BinaryExpression 218403 218434 + Identifier 218403 218410 + AmpersandToken 218410 218412 + PropertyAccessExpression 218412 218434 + Identifier 218412 218424 + Identifier 218425 218434 + AmpersandAmpersandToken 218434 218437 + CallExpression 218437 218466 + Identifier 218437 218453 + PropertyAccessExpression 218454 218465 + Identifier 218454 218458 + Identifier 218459 218465 + Block 218467 219216 + VariableStatement 218469 218617 + VariableDeclarationList 218469 218616 + VariableDeclaration 218500 218616 + Identifier 218500 218519 + CallExpression 218521 218616 + Identifier 218521 218537 + CallExpression 218538 218615 + Identifier 218538 218547 + CallExpression 218548 218577 + Identifier 218548 218566 + Identifier 218567 218576 + PropertyAccessExpression 218578 218596 + Identifier 218578 218584 + Identifier 218585 218596 + PropertyAccessExpression 218597 218614 + Identifier 218597 218609 + Identifier 218610 218614 + IfStatement 218617 219193 + Identifier 218647 218665 + Block 218666 219193 + ExpressionStatement 218668 219119 + CallExpression 218668 219118 + Identifier 218668 218703 + PropertyAccessExpression 218704 218755 + PropertyAccessExpression 218704 218749 + Identifier 218704 218742 + Identifier 218743 218749 + Identifier 218750 218755 + PropertyAccessExpression 218756 218925 + Identifier 218756 218801 + Identifier 218802 218925 + CallExpression 218926 218994 + Identifier 218926 218974 + Identifier 218975 218993 + CallExpression 218995 219086 + Identifier 218995 219055 + PropertyAccessExpression 219056 219085 + PropertyAccessExpression 219056 219073 + PropertyAccessExpression 219056 219067 + Identifier 219056 219060 + Identifier 219061 219067 + Identifier 219068 219073 + Identifier 219074 219085 + ReturnStatement 219119 219166 + Identifier 219155 219165 + ExpressionStatement 219216 219335 + CallExpression 219216 219334 + Identifier 219216 219245 + Identifier 219246 219251 + PropertyAccessExpression 219252 219301 + Identifier 219252 219264 + Identifier 219265 219301 + Identifier 219302 219316 + Identifier 219317 219333 + ReturnStatement 219354 219389 + Identifier 219378 219388 + Block 219429 219509 + ExpressionStatement 219431 219498 + CallExpression 219431 219497 + PropertyAccessExpression 219431 219462 + Identifier 219431 219450 + Identifier 219451 219462 + Identifier 219463 219467 + StringLiteral 219468 219496 + IfStatement 219509 219821 + BinaryExpression 219523 219659 + BinaryExpression 219523 219569 + PrefixUnaryExpression 219523 219547 + CallExpression 219524 219547 + Identifier 219524 219541 + Identifier 219542 219546 + AmpersandAmpersandToken 219547 219550 + CallExpression 219550 219569 + Identifier 219550 219563 + Identifier 219564 219568 + AmpersandAmpersandToken 219569 219572 + ParenthesizedExpression 219572 219659 + BinaryExpression 219574 219658 + BinaryExpression 219574 219606 + PropertyAccessExpression 219574 219586 + Identifier 219574 219580 + Identifier 219581 219586 + AmpersandToken 219586 219588 + PropertyAccessExpression 219588 219606 + Identifier 219588 219600 + Identifier 219601 219606 + BarBarToken 219606 219609 + BinaryExpression 219609 219658 + PropertyAccessExpression 219609 219626 + PropertyAccessExpression 219609 219621 + Identifier 219609 219614 + Identifier 219615 219621 + Identifier 219622 219626 + EqualsEqualsEqualsToken 219626 219630 + PropertyAccessExpression 219630 219658 + Identifier 219630 219641 + Identifier 219642 219658 + Block 219660 219821 + ExpressionStatement 219662 219810 + CallExpression 219662 219809 + Identifier 219662 219714 + CallExpression 219715 219748 + Identifier 219715 219742 + Identifier 219743 219747 + Identifier 219749 219756 + Identifier 219757 219783 + TrueKeyword 219784 219808 + ReturnStatement 219821 219915 + ConditionalExpression 219837 219914 + BinaryExpression 219837 219882 + ParenthesizedExpression 219837 219862 + BinaryExpression 219839 219861 + PropertyAccessExpression 219839 219851 + Identifier 219839 219845 + Identifier 219846 219851 + AmpersandToken 219851 219853 + Identifier 219853 219861 + BarBarToken 219862 219865 + Identifier 219865 219882 + QuestionToken 219882 219884 + Identifier 219884 219891 + ColonToken 219891 219893 + CallExpression 219893 219914 + Identifier 219893 219906 + Identifier 219907 219913 + FunctionDeclaration 219922 220772 + Identifier 220358 220401 + Parameter 220402 220418 + Identifier 220402 220406 + TypeReference 220407 220418 + Identifier 220407 220418 + Parameter 220419 220440 + Identifier 220419 220427 + TypeReference 220428 220440 + Identifier 220428 220440 + Block 220441 220772 + IfStatement 220443 220765 + CallExpression 220457 220490 + Identifier 220457 220477 + PropertyAccessExpression 220478 220489 + Identifier 220478 220482 + Identifier 220483 220489 + Block 220491 220765 + VariableStatement 220493 220579 + VariableDeclarationList 220493 220578 + VariableDeclaration 220512 220578 + Identifier 220512 220530 + CallExpression 220532 220578 + Identifier 220532 220565 + PropertyAccessExpression 220566 220577 + Identifier 220566 220570 + Identifier 220571 220577 + IfStatement 220579 220754 + Identifier 220597 220614 + Block 220615 220754 + ReturnStatement 220617 220739 + CallExpression 220641 220738 + Identifier 220641 220653 + Identifier 220654 220671 + Identifier 220672 220677 + Identifier 220678 220686 + Identifier 220687 220721 + TrueKeyword 220722 220737 + FunctionDeclaration 220772 222765 + Identifier 220788 220821 + Parameter 220822 220845 + Identifier 220822 220826 + TypeReference 220827 220845 + Identifier 220827 220845 + UnionType 220847 220864 + TypeReference 220847 220852 + Identifier 220847 220852 + UndefinedKeyword 220854 220864 + Block 220864 222765 + VariableStatement 220866 221009 + VariableDeclarationList 220866 221008 + VariableDeclaration 220881 221008 + Identifier 220881 220891 + CallExpression 220893 221008 + Identifier 220893 220906 + Identifier 220907 220911 + ArrowFunction 220912 221007 + Parameter 220912 220917 + Identifier 220912 220917 + EqualsGreaterThanToken 220917 220920 + ConditionalExpression 220920 221007 + PrefixUnaryExpression 220920 220973 + ParenthesizedExpression 220922 220973 + BinaryExpression 220923 220972 + CallExpression 220923 220940 + Identifier 220923 220934 + Identifier 220935 220939 + BarBarToken 220940 220943 + BinaryExpression 220943 220972 + PropertyAccessExpression 220943 220954 + Identifier 220943 220948 + Identifier 220949 220954 + AmpersandToken 220954 220956 + PropertyAccessExpression 220956 220972 + Identifier 220956 220966 + Identifier 220967 220972 + QuestionToken 220973 220975 + StringLiteral 220975 220982 + ColonToken 220982 220984 + CallExpression 220984 221007 + Identifier 220984 221001 + Identifier 221002 221006 + IfStatement 221009 221067 + Identifier 221023 221032 + Block 221033 221067 + ReturnStatement 221035 221056 + VariableStatement 221067 221109 + VariableDeclarationList 221067 221108 + VariableDeclaration 221082 221108 + Identifier 221082 221087 + CallExpression 221089 221108 + Identifier 221089 221102 + Identifier 221103 221107 + IfStatement 221109 221510 + BinaryExpression 221123 221208 + BinaryExpression 221123 221158 + Identifier 221123 221127 + AmpersandAmpersandToken 221127 221130 + CallExpression 221130 221158 + Identifier 221130 221152 + Identifier 221153 221157 + AmpersandAmpersandToken 221158 221161 + CallExpression 221161 221208 + Identifier 221161 221191 + PropertyAccessExpression 221192 221207 + Identifier 221192 221196 + Identifier 221197 221207 + Block 221209 221510 + VariableStatement 221211 221387 + VariableDeclarationList 221211 221386 + VariableDeclaration 221332 221386 + Identifier 221332 221339 + CallExpression 221341 221386 + Identifier 221341 221364 + PropertyAccessExpression 221365 221385 + PropertyAccessExpression 221365 221380 + Identifier 221365 221369 + Identifier 221370 221380 + Identifier 221381 221385 + IfStatement 221387 221499 + Identifier 221405 221411 + Block 221412 221499 + ReturnStatement 221414 221484 + CallExpression 221438 221483 + Identifier 221438 221475 + Identifier 221476 221482 + IfStatement 221510 221947 + BinaryExpression 221524 221649 + BinaryExpression 221524 221604 + BinaryExpression 221524 221558 + Identifier 221524 221528 + AmpersandAmpersandToken 221528 221531 + CallExpression 221531 221558 + Identifier 221531 221552 + Identifier 221553 221557 + AmpersandAmpersandToken 221558 221561 + CallExpression 221561 221604 + Identifier 221561 221591 + PropertyAccessExpression 221592 221603 + Identifier 221592 221596 + Identifier 221597 221603 + AmpersandAmpersandToken 221604 221607 + CallExpression 221607 221649 + Identifier 221607 221629 + PropertyAccessExpression 221630 221648 + PropertyAccessExpression 221630 221641 + Identifier 221630 221634 + Identifier 221635 221641 + Identifier 221642 221648 + Block 221650 221947 + VariableStatement 221652 221824 + VariableDeclarationList 221652 221823 + VariableDeclaration 221773 221823 + Identifier 221773 221780 + CallExpression 221782 221823 + Identifier 221782 221805 + PropertyAccessExpression 221806 221822 + PropertyAccessExpression 221806 221817 + Identifier 221806 221810 + Identifier 221811 221817 + Identifier 221818 221822 + IfStatement 221824 221936 + Identifier 221842 221848 + Block 221849 221936 + ReturnStatement 221851 221921 + CallExpression 221875 221920 + Identifier 221875 221912 + Identifier 221913 221919 + IfStatement 221947 222542 + BinaryExpression 221961 222202 + BinaryExpression 221961 222097 + BinaryExpression 221961 222042 + Identifier 221961 221979 + AmpersandAmpersandToken 221979 221982 + ParenthesizedExpression 221982 222042 + BinaryExpression 221984 222041 + CallExpression 221984 222011 + Identifier 221984 222005 + Identifier 222006 222010 + BarBarToken 222011 222014 + CallExpression 222014 222041 + Identifier 222014 222035 + Identifier 222036 222040 + AmpersandAmpersandToken 222042 222045 + CallExpression 222045 222097 + Identifier 222045 222077 + PropertyAccessExpression 222078 222096 + PropertyAccessExpression 222078 222089 + Identifier 222078 222082 + Identifier 222083 222089 + Identifier 222090 222096 + AmpersandAmpersandToken 222097 222100 + BinaryExpression 222100 222202 + CallExpression 222100 222162 + Identifier 222100 222142 + PropertyAccessExpression 222143 222161 + PropertyAccessExpression 222143 222154 + Identifier 222143 222147 + Identifier 222148 222154 + Identifier 222155 222161 + EqualsEqualsEqualsToken 222162 222166 + PropertyAccessExpression 222166 222202 + Identifier 222166 222192 + Identifier 222193 222202 + Block 222213 222542 + VariableStatement 222215 222419 + VariableDeclarationList 222215 222418 + VariableDeclaration 222329 222418 + Identifier 222329 222336 + CallExpression 222338 222418 + Identifier 222338 222361 + AsExpression 222362 222417 + PropertyAccessExpression 222362 222385 + PropertyAccessExpression 222362 222380 + PropertyAccessExpression 222362 222373 + Identifier 222362 222366 + Identifier 222367 222373 + Identifier 222374 222380 + Identifier 222381 222385 + TypeReference 222388 222417 + Identifier 222388 222417 + IfStatement 222419 222531 + Identifier 222437 222443 + Block 222444 222531 + ReturnStatement 222446 222516 + CallExpression 222470 222515 + Identifier 222470 222507 + Identifier 222508 222514 + VariableStatement 222542 222592 + VariableDeclarationList 222542 222591 + VariableDeclaration 222557 222591 + Identifier 222557 222561 + CallExpression 222563 222591 + Identifier 222563 222585 + Identifier 222586 222590 + IfStatement 222592 222758 + BinaryExpression 222606 222632 + Identifier 222606 222609 + AmpersandAmpersandToken 222609 222612 + CallExpression 222612 222632 + Identifier 222612 222627 + Identifier 222628 222631 + Block 222633 222758 + VariableStatement 222635 222692 + VariableDeclarationList 222635 222691 + VariableDeclaration 222654 222691 + Identifier 222654 222661 + CallExpression 222663 222691 + Identifier 222663 222686 + Identifier 222687 222690 + ReturnStatement 222692 222747 + BinaryExpression 222712 222746 + Identifier 222712 222719 + AmpersandAmpersandToken 222719 222722 + PropertyAccessExpression 222722 222746 + Identifier 222722 222729 + Identifier 222730 222746 + FunctionDeclaration 222765 223210 + Identifier 222781 222818 + Parameter 222819 222833 + Identifier 222819 222825 + TypeReference 222826 222833 + Identifier 222826 222833 + Block 222834 223210 + VariableStatement 222836 222891 + VariableDeclarationList 222836 222890 + VariableDeclaration 222851 222890 + Identifier 222851 222856 + PropertyAccessExpression 222858 222890 + NonNullExpression 222858 222873 + PropertyAccessExpression 222858 222872 + Identifier 222858 222865 + Identifier 222866 222872 + Identifier 222874 222890 + IfStatement 222891 222955 + PrefixUnaryExpression 222905 222910 + Identifier 222906 222910 + Block 222911 222955 + ReturnStatement 222913 222944 + Identifier 222933 222943 + VariableStatement 222955 223166 + VariableDeclarationList 222955 223165 + VariableDeclaration 222970 223165 + Identifier 222970 222982 + ConditionalExpression 222984 223165 + CallExpression 222984 223014 + Identifier 222984 223008 + Identifier 223009 223013 + QuestionToken 223014 223016 + CallExpression 223016 223052 + Identifier 223016 223046 + Identifier 223047 223051 + ColonToken 223052 223054 + ConditionalExpression 223054 223165 + CallExpression 223054 223102 + Identifier 223054 223096 + Identifier 223097 223101 + QuestionToken 223102 223104 + CallExpression 223104 223140 + Identifier 223104 223134 + Identifier 223135 223139 + ColonToken 223140 223142 + Identifier 223142 223165 + ReturnStatement 223166 223203 + BinaryExpression 223182 223202 + Identifier 223182 223194 + BarBarToken 223194 223197 + Identifier 223197 223202 + FunctionDeclaration 223210 224134 + Identifier 223516 223533 + Parameter 223534 223548 + Identifier 223534 223540 + TypeReference 223541 223548 + Identifier 223541 223548 + UnionType 223550 223569 + TypeReference 223550 223557 + Identifier 223550 223557 + UndefinedKeyword 223559 223569 + Block 223569 224134 + VariableStatement 223571 223618 + VariableDeclarationList 223571 223617 + VariableDeclaration 223586 223617 + Identifier 223586 223591 + PropertyAccessExpression 223593 223617 + Identifier 223593 223600 + Identifier 223601 223617 + IfStatement 223618 223807 + BinaryExpression 223632 223762 + BinaryExpression 223632 223698 + BinaryExpression 223632 223658 + PrefixUnaryExpression 223632 223637 + Identifier 223633 223637 + BarBarToken 223637 223640 + PrefixUnaryExpression 223640 223658 + CallExpression 223642 223658 + Identifier 223642 223652 + Identifier 223653 223657 + BarBarToken 223658 223661 + BinaryExpression 223661 223698 + PropertyAccessExpression 223661 223674 + Identifier 223661 223668 + Identifier 223669 223674 + AmpersandToken 223674 223676 + PropertyAccessExpression 223676 223698 + Identifier 223676 223688 + Identifier 223689 223698 + BarBarToken 223698 223701 + CallExpression 223701 223762 + Identifier 223701 223723 + Identifier 223724 223728 + FalseKeyword 223729 223761 + Block 223763 223807 + ReturnStatement 223765 223796 + Identifier 223785 223795 + VariableStatement 223807 223934 + VariableDeclarationList 223807 223933 + VariableDeclaration 223822 223933 + Identifier 223822 223827 + ConditionalExpression 223829 223933 + CallExpression 223829 223857 + Identifier 223829 223851 + Identifier 223852 223856 + QuestionToken 223857 223859 + CallExpression 223859 223895 + Identifier 223859 223889 + Identifier 223890 223894 + ColonToken 223895 223897 + CallExpression 223897 223933 + Identifier 223897 223927 + Identifier 223928 223932 + IfStatement 223934 224127 + Identifier 223948 223952 + Block 223953 224127 + VariableStatement 223955 224010 + VariableDeclarationList 223955 224009 + VariableDeclaration 223974 224009 + Identifier 223974 223985 + CallExpression 223987 224009 + Identifier 223987 224003 + Identifier 224004 224008 + IfStatement 224010 224116 + Identifier 224028 224038 + Block 224039 224116 + ReturnStatement 224041 224101 + CallExpression 224065 224100 + Identifier 224065 224080 + Identifier 224081 224091 + Identifier 224092 224099 + FunctionDeclaration 224134 224805 + Identifier 224150 224176 + Parameter 224177 224191 + Identifier 224177 224185 + TypeReference 224186 224191 + Identifier 224186 224191 + Parameter 224192 224230 + Identifier 224192 224218 + TypeReference 224219 224230 + Identifier 224219 224230 + Parameter 224231 224254 + Identifier 224231 224244 + QuestionToken 224244 224245 + BooleanKeyword 224246 224254 + UnionType 224256 224275 + TypeReference 224256 224263 + Identifier 224256 224263 + UndefinedKeyword 224265 224275 + Block 224275 224805 + VariableStatement 224277 224383 + VariableDeclarationList 224277 224382 + VariableDeclaration 224292 224382 + Identifier 224292 224302 + BinaryExpression 224304 224382 + CallExpression 224304 224349 + Identifier 224304 224332 + Identifier 224333 224348 + EqualsEqualsEqualsToken 224349 224353 + PropertyAccessExpression 224353 224382 + Identifier 224353 224374 + Identifier 224375 224382 + VariableStatement 224383 224657 + VariableDeclarationList 224383 224656 + VariableDeclaration 224398 224656 + Identifier 224398 224411 + ConditionalExpression 224413 224656 + Identifier 224413 224423 + QuestionToken 224423 224425 + PropertyAccessExpression 224425 224569 + Identifier 224425 224450 + Identifier 224451 224569 + ColonToken 224569 224584 + PropertyAccessExpression 224584 224656 + Identifier 224584 224596 + Identifier 224597 224656 + ReturnStatement 224657 224798 + CallExpression 224673 224797 + Identifier 224673 224705 + Identifier 224706 224714 + Identifier 224715 224741 + ConditionalExpression 224742 224782 + Identifier 224742 224755 + QuestionToken 224755 224757 + Identifier 224757 224767 + ColonToken 224767 224769 + Identifier 224769 224782 + Identifier 224783 224796 + FunctionDeclaration 224805 225301 + Identifier 224821 224853 + Parameter 224854 224868 + Identifier 224854 224862 + TypeReference 224863 224868 + Identifier 224863 224868 + Parameter 224869 224907 + Identifier 224869 224895 + TypeReference 224896 224907 + Identifier 224896 224907 + Parameter 224908 224959 + Identifier 224908 224928 + UnionType 224929 224959 + TypeReference 224929 224947 + Identifier 224929 224947 + UndefinedKeyword 224949 224959 + Parameter 224960 224981 + Identifier 224960 224973 + FalseKeyword 224975 224981 + Parameter 224982 225008 + Identifier 224982 225000 + FalseKeyword 225002 225008 + UnionType 225010 225029 + TypeReference 225010 225017 + Identifier 225010 225017 + UndefinedKeyword 225019 225029 + Block 225029 225301 + ReturnStatement 225031 225294 + ConditionalExpression 225047 225293 + CallExpression 225047 225094 + Identifier 225047 225067 + Identifier 225068 225093 + QuestionToken 225094 225109 + CallExpression 225109 225268 + Identifier 225109 225131 + Identifier 225132 225140 + PropertyAccessExpression 225141 225172 + Identifier 225141 225167 + Identifier 225168 225172 + Identifier 225173 225193 + ConditionalExpression 225194 225248 + PrefixUnaryExpression 225194 225208 + Identifier 225196 225208 + QuestionToken 225208 225210 + Identifier 225210 225236 + ColonToken 225236 225238 + Identifier 225238 225248 + Identifier 225249 225267 + ColonToken 225268 225283 + Identifier 225283 225293 + FunctionDeclaration 225301 242119 + Identifier 225317 225339 + Parameter 225340 225354 + Identifier 225340 225348 + TypeReference 225349 225354 + Identifier 225349 225354 + Parameter 225355 225379 + Identifier 225355 225371 + StringKeyword 225372 225379 + Parameter 225380 225431 + Identifier 225380 225400 + UnionType 225401 225431 + TypeReference 225401 225419 + Identifier 225401 225419 + UndefinedKeyword 225421 225431 + Parameter 225432 225460 + Identifier 225432 225442 + UnionType 225443 225460 + TypeReference 225443 225448 + Identifier 225443 225448 + UndefinedKeyword 225450 225460 + Parameter 225461 225487 + Identifier 225461 225479 + FalseKeyword 225481 225487 + UnionType 225489 225508 + TypeReference 225489 225496 + Identifier 225489 225496 + UndefinedKeyword 225498 225508 + Block 225508 242119 + IfStatement 225510 225857 + BinaryExpression 225524 225575 + Identifier 225524 225533 + AmpersandAmpersandToken 225533 225536 + CallExpression 225536 225575 + Identifier 225536 225547 + Identifier 225548 225563 + StringLiteral 225564 225574 + Block 225576 225857 + VariableStatement 225578 225688 + VariableDeclarationList 225578 225687 + VariableDeclaration 225597 225687 + Identifier 225597 225602 + PropertyAccessExpression 225604 225687 + Identifier 225604 225616 + Identifier 225617 225687 + VariableStatement 225688 225771 + VariableDeclarationList 225688 225770 + VariableDeclaration 225707 225770 + Identifier 225707 225727 + CallExpression 225729 225770 + Identifier 225729 225742 + Identifier 225743 225758 + StringLiteral 225759 225769 + ExpressionStatement 225771 225846 + CallExpression 225771 225845 + Identifier 225771 225790 + Identifier 225791 225800 + Identifier 225801 225806 + Identifier 225807 225827 + Identifier 225828 225844 + VariableStatement 225857 225957 + VariableDeclarationList 225857 225956 + VariableDeclaration 225874 225956 + Identifier 225874 225888 + CallExpression 225890 225956 + Identifier 225890 225911 + Identifier 225912 225927 + TrueKeyword 225928 225955 + IfStatement 225957 226033 + Identifier 225971 225984 + Block 225985 226033 + ReturnStatement 225987 226022 + Identifier 226007 226021 + VariableStatement 226033 226099 + VariableDeclarationList 226033 226098 + VariableDeclaration 226048 226098 + Identifier 226048 226066 + CallExpression 226068 226098 + Identifier 226068 226088 + Identifier 226089 226097 + VariableStatement 226099 226989 + VariableDeclarationList 226099 226988 + VariableDeclaration 226114 226988 + Identifier 226114 226131 + ConditionalExpression 226133 226988 + CallExpression 226133 226163 + Identifier 226133 226153 + Identifier 226154 226162 + QuestionToken 226163 226178 + Identifier 226178 226187 + ColonToken 226187 226202 + BinaryExpression 226202 226988 + BinaryExpression 226202 226876 + BinaryExpression 226202 226752 + BinaryExpression 226202 226681 + BinaryExpression 226202 226473 + PropertyAccessExpression 226202 226376 + ParenthesizedExpression 226202 226370 + ConditionalExpression 226204 226369 + CallExpression 226204 226233 + Identifier 226204 226223 + Identifier 226224 226232 + QuestionToken 226233 226235 + Identifier 226235 226244 + ColonToken 226244 226246 + ConditionalExpression 226246 226369 + BinaryExpression 226246 226339 + BinaryExpression 226246 226302 + PropertyAccessExpression 226246 226262 + Identifier 226246 226255 + Identifier 226256 226262 + AmpersandAmpersandToken 226262 226265 + CallExpression 226265 226302 + Identifier 226265 226285 + PropertyAccessExpression 226286 226301 + Identifier 226286 226294 + Identifier 226295 226301 + AmpersandAmpersandToken 226302 226305 + BinaryExpression 226305 226339 + PropertyAccessExpression 226305 226326 + PropertyAccessExpression 226305 226321 + Identifier 226305 226314 + Identifier 226315 226321 + Identifier 226322 226326 + EqualsEqualsEqualsToken 226326 226330 + Identifier 226330 226339 + QuestionToken 226339 226341 + PropertyAccessExpression 226341 226357 + Identifier 226341 226350 + Identifier 226351 226357 + ColonToken 226357 226359 + Identifier 226359 226369 + QuestionDotToken 226370 226372 + Identifier 226372 226376 + BarBarToken 226376 226379 + PropertyAccessExpression 226379 226473 + PropertyAccessExpression 226379 226465 + ParenthesizedExpression 226379 226455 + ConditionalExpression 226398 226454 + CallExpression 226398 226431 + Identifier 226398 226421 + Identifier 226422 226430 + QuestionToken 226431 226433 + Identifier 226433 226442 + ColonToken 226442 226444 + Identifier 226444 226454 + QuestionDotToken 226455 226457 + Identifier 226457 226465 + Identifier 226466 226473 + BarBarToken 226473 226476 + ParenthesizedExpression 226476 226681 + ConditionalExpression 226495 226680 + BinaryExpression 226495 226632 + BinaryExpression 226495 226550 + CallExpression 226495 226526 + Identifier 226495 226516 + Identifier 226517 226525 + AmpersandAmpersandToken 226526 226529 + PropertyAccessExpression 226529 226550 + Identifier 226529 226538 + Identifier 226539 226550 + AmpersandAmpersandToken 226550 226553 + CallExpression 226553 226632 + Identifier 226553 226567 + PropertyAccessExpression 226568 226588 + Identifier 226568 226576 + Identifier 226577 226588 + TrueKeyword 226589 226631 + QuestionToken 226632 226634 + ElementAccessExpression 226634 226668 + PropertyAccessExpression 226634 226665 + PropertyAccessExpression 226634 226655 + Identifier 226634 226643 + Identifier 226644 226655 + Identifier 226656 226665 + NumericLiteral 226666 226667 + ColonToken 226668 226670 + Identifier 226670 226680 + BarBarToken 226681 226684 + ElementAccessExpression 226684 226752 + PropertyAccessExpression 226684 226749 + CallExpression 226684 226738 + Identifier 226684 226714 + Identifier 226715 226723 + Identifier 226724 226737 + QuestionDotToken 226738 226740 + Identifier 226740 226749 + NumericLiteral 226750 226751 + BarBarToken 226752 226755 + PropertyAccessExpression 226755 226876 + CallExpression 226755 226859 + Identifier 226755 226785 + Identifier 226786 226794 + CallExpression 226795 226858 + Identifier 226795 226798 + Identifier 226799 226818 + Identifier 226819 226836 + Identifier 226837 226857 + QuestionDotToken 226859 226861 + Identifier 226861 226876 + BarBarToken 226876 226879 + PropertyAccessExpression 226879 226988 + PropertyAccessExpression 226879 226977 + CallExpression 226879 226960 + Identifier 226879 226909 + Identifier 226910 226918 + Identifier 226919 226959 + QuestionDotToken 226960 226962 + Identifier 226962 226977 + Identifier 226978 226988 + VariableStatement 226989 227222 + VariableDeclarationList 226989 227221 + VariableDeclaration 227004 227221 + Identifier 227004 227009 + ConditionalExpression 227011 227221 + BinaryExpression 227011 227069 + Identifier 227011 227028 + AmpersandAmpersandToken 227028 227031 + CallExpression 227031 227069 + Identifier 227031 227051 + Identifier 227052 227068 + QuestionToken 227069 227084 + CallExpression 227084 227150 + PropertyAccessExpression 227084 227113 + Identifier 227084 227089 + Identifier 227090 227113 + Identifier 227114 227131 + Identifier 227132 227149 + ColonToken 227150 227165 + CallExpression 227165 227221 + PropertyAccessExpression 227165 227202 + Identifier 227165 227170 + Identifier 227171 227202 + Identifier 227203 227220 + VariableStatement 227222 227306 + VariableDeclarationList 227222 227305 + VariableDeclaration 227237 227305 + Identifier 227237 227258 + CallExpression 227260 227305 + Identifier 227260 227288 + Identifier 227289 227304 + VariableStatement 227306 227420 + VariableDeclarationList 227306 227419 + VariableDeclaration 227321 227419 + Identifier 227321 227336 + PropertyAccessExpression 227338 227419 + CallExpression 227338 227403 + PropertyAccessExpression 227338 227361 + Identifier 227338 227343 + Identifier 227344 227361 + Identifier 227362 227379 + Identifier 227380 227396 + Identifier 227397 227402 + QuestionDotToken 227403 227405 + Identifier 227405 227419 + VariableStatement 227420 227566 + VariableDeclarationList 227420 227565 + VariableDeclaration 227435 227565 + Identifier 227435 227456 + BinaryExpression 227458 227565 + BinaryExpression 227458 227486 + Identifier 227458 227468 + AmpersandAmpersandToken 227468 227471 + Identifier 227471 227486 + AmpersandAmpersandToken 227486 227489 + CallExpression 227489 227565 + Identifier 227489 227513 + Identifier 227514 227529 + Identifier 227530 227545 + Identifier 227546 227564 + VariableStatement 227566 227804 + VariableDeclarationList 227566 227803 + VariableDeclaration 227581 227803 + Identifier 227581 227592 + BinaryExpression 227594 227803 + BinaryExpression 227594 227735 + Identifier 227594 227609 + AmpersandAmpersandToken 227609 227625 + ParenthesizedExpression 227625 227735 + BinaryExpression 227627 227734 + PrefixUnaryExpression 227627 227648 + Identifier 227628 227648 + BarBarToken 227648 227651 + BinaryExpression 227651 227734 + Identifier 227651 227672 + EqualsEqualsEqualsToken 227672 227676 + PropertyAccessExpression 227676 227734 + Identifier 227676 227688 + Identifier 227689 227734 + AmpersandAmpersandToken 227735 227751 + CallExpression 227751 227803 + PropertyAccessExpression 227751 227770 + Identifier 227751 227756 + Identifier 227757 227770 + PropertyAccessExpression 227771 227802 + Identifier 227771 227785 + Identifier 227786 227802 + IfStatement 227804 236074 + Identifier 227818 227828 + Block 227829 236074 + IfStatement 227831 228096 + Identifier 227951 227971 + Block 227972 228096 + ExpressionStatement 227974 228081 + CallExpression 227974 228080 + Identifier 227974 227997 + Identifier 227998 228007 + Identifier 228008 228029 + Identifier 228030 228046 + PropertyAccessExpression 228047 228079 + Identifier 228047 228062 + Identifier 228063 228079 + IfStatement 228096 232399 + BinaryExpression 228116 228197 + PropertyAccessExpression 228116 228155 + Identifier 228116 228130 + Identifier 228131 228155 + AmpersandAmpersandToken 228155 228158 + CallExpression 228158 228197 + Identifier 228158 228180 + Identifier 228181 228196 + Block 228198 228905 + VariableStatement 228200 228398 + VariableDeclarationList 228200 228397 + VariableDeclaration 228223 228397 + Identifier 228223 228238 + BinaryExpression 228240 228397 + PropertyAccessExpression 228240 228298 + CallExpression 228240 228284 + Identifier 228240 228253 + Identifier 228254 228262 + Identifier 228263 228283 + QuestionDotToken 228284 228286 + Identifier 228286 228298 + BarBarToken 228298 228301 + CallExpression 228301 228397 + Identifier 228301 228335 + Identifier 228336 228344 + CallExpression 228345 228396 + Identifier 228345 228348 + Identifier 228349 228374 + Identifier 228375 228395 + IfStatement 228398 228890 + BinaryExpression 228420 228517 + BinaryExpression 228420 228477 + BinaryExpression 228420 228447 + Identifier 228420 228429 + AmpersandAmpersandToken 228429 228432 + Identifier 228432 228447 + AmpersandAmpersandToken 228447 228450 + PrefixUnaryExpression 228450 228477 + PropertyAccessExpression 228452 228477 + Identifier 228452 228466 + Identifier 228467 228477 + BarBarToken 228477 228480 + CallExpression 228480 228517 + Identifier 228480 228493 + Identifier 228494 228502 + Identifier 228503 228516 + Block 228518 228890 + ExpressionStatement 228520 228871 + CallExpression 228520 228870 + Identifier 228520 228547 + Identifier 228548 228583 + PropertyAccessExpression 228584 228735 + Identifier 228584 228621 + Identifier 228622 228735 + CallExpression 228736 228846 + Identifier 228736 228786 + CallExpression 228787 228845 + PropertyAccessExpression 228787 228805 + Identifier 228787 228792 + Identifier 228793 228805 + CallExpression 228806 228844 + Identifier 228806 228827 + Identifier 228828 228843 + IfStatement 228923 232399 + BinaryExpression 228928 229048 + PropertyAccessExpression 228928 228967 + Identifier 228928 228942 + Identifier 228943 228967 + AmpersandAmpersandToken 228967 228970 + PrefixUnaryExpression 228970 229048 + CallExpression 228972 229048 + Identifier 228972 229003 + Identifier 229004 229019 + PropertyAccessExpression 229020 229047 + Identifier 229020 229038 + Identifier 229039 229047 + Block 229049 229650 + VariableStatement 229051 229249 + VariableDeclarationList 229051 229248 + VariableDeclaration 229074 229248 + Identifier 229074 229089 + BinaryExpression 229091 229248 + PropertyAccessExpression 229091 229149 + CallExpression 229091 229135 + Identifier 229091 229104 + Identifier 229105 229113 + Identifier 229114 229134 + QuestionDotToken 229135 229137 + Identifier 229137 229149 + BarBarToken 229149 229152 + CallExpression 229152 229248 + Identifier 229152 229186 + Identifier 229187 229195 + CallExpression 229196 229247 + Identifier 229196 229199 + Identifier 229200 229225 + Identifier 229226 229246 + IfStatement 229249 229635 + BinaryExpression 229271 229357 + Identifier 229271 229280 + AmpersandAmpersandToken 229280 229283 + PrefixUnaryExpression 229283 229357 + ParenthesizedExpression 229285 229357 + BinaryExpression 229286 229356 + PropertyAccessExpression 229286 229312 + Identifier 229286 229300 + QuestionDotToken 229300 229302 + Identifier 229302 229312 + BarBarToken 229312 229315 + CallExpression 229315 229356 + Identifier 229315 229328 + Identifier 229329 229337 + Identifier 229338 229355 + Block 229358 229635 + VariableStatement 229360 229461 + VariableDeclarationList 229360 229460 + VariableDeclaration 229387 229460 + Identifier 229387 229399 + CallExpression 229401 229460 + PropertyAccessExpression 229401 229420 + Identifier 229401 229407 + Identifier 229408 229420 + CallExpression 229421 229459 + Identifier 229421 229442 + Identifier 229443 229458 + ExpressionStatement 229461 229616 + CallExpression 229461 229615 + Identifier 229461 229488 + Identifier 229489 229498 + PropertyAccessExpression 229499 229601 + Identifier 229499 229511 + Identifier 229512 229601 + Identifier 229602 229614 + IfStatement 229668 232399 + BinaryExpression 229673 229984 + BinaryExpression 229673 229911 + BinaryExpression 229673 229856 + BinaryExpression 229673 229796 + PropertyAccessExpression 229673 229738 + Identifier 229673 229706 + Identifier 229707 229738 + AmpersandAmpersandToken 229738 229758 + PrefixUnaryExpression 229758 229796 + ParenthesizedExpression 229760 229796 + BinaryExpression 229761 229795 + PropertyAccessExpression 229761 229775 + Identifier 229761 229769 + Identifier 229770 229775 + AmpersandToken 229775 229777 + PropertyAccessExpression 229777 229795 + Identifier 229777 229787 + Identifier 229788 229795 + AmpersandAmpersandToken 229796 229816 + PrefixUnaryExpression 229816 229856 + CallExpression 229818 229856 + Identifier 229818 229839 + Identifier 229840 229855 + AmpersandAmpersandToken 229856 229876 + PrefixUnaryExpression 229876 229911 + CallExpression 229878 229911 + Identifier 229878 229901 + Identifier 229902 229910 + AmpersandAmpersandToken 229911 229931 + PrefixUnaryExpression 229931 229984 + CallExpression 229933 229984 + Identifier 229933 229974 + Identifier 229975 229983 + Block 229999 232399 + VariableStatement 230001 230104 + VariableDeclarationList 230001 230103 + VariableDeclaration 230024 230103 + Identifier 230024 230038 + CallExpression 230040 230103 + Identifier 230040 230069 + Identifier 230070 230085 + Identifier 230086 230102 + IfStatement 230104 232384 + BinaryExpression 230126 230183 + PrefixUnaryExpression 230126 230166 + PropertyAccessExpression 230127 230166 + Identifier 230127 230141 + Identifier 230142 230166 + AmpersandAmpersandToken 230166 230169 + Identifier 230169 230183 + Block 230184 230637 + ExpressionStatement 230186 230618 + CallExpression 230186 230617 + Identifier 230186 230213 + Identifier 230214 230249 + PropertyAccessExpression 230250 230395 + Identifier 230250 230287 + Identifier 230288 230395 + CallExpression 230396 230593 + Identifier 230396 230445 + CallExpression 230446 230527 + Identifier 230446 230471 + PropertyAccessExpression 230472 230498 + Identifier 230472 230489 + Identifier 230490 230498 + CallExpression 230499 230526 + PropertyAccessExpression 230499 230524 + Identifier 230499 230504 + Identifier 230505 230524 + PropertyAccessExpression 230528 230560 + Identifier 230528 230543 + Identifier 230544 230560 + CallExpression 230561 230592 + Identifier 230561 230586 + Identifier 230587 230591 + IfStatement 230659 232384 + BinaryExpression 230664 230765 + BinaryExpression 230664 230721 + PropertyAccessExpression 230664 230703 + Identifier 230664 230678 + Identifier 230679 230703 + AmpersandAmpersandToken 230703 230706 + PrefixUnaryExpression 230706 230721 + Identifier 230708 230721 + AmpersandAmpersandToken 230721 230724 + CallExpression 230724 230765 + Identifier 230724 230747 + Identifier 230748 230758 + Identifier 230759 230764 + Block 230766 231122 + ExpressionStatement 230768 231103 + CallExpression 230768 231102 + Identifier 230768 230795 + Identifier 230796 230831 + PropertyAccessExpression 230832 231011 + Identifier 230832 230869 + Identifier 230870 231011 + CallExpression 231012 231078 + Identifier 231012 231061 + Identifier 231062 231077 + IfStatement 231144 232384 + BinaryExpression 231149 231205 + PropertyAccessExpression 231149 231188 + Identifier 231149 231163 + Identifier 231164 231188 + AmpersandAmpersandToken 231188 231191 + Identifier 231191 231205 + Block 231206 232384 + VariableStatement 231208 231307 + VariableDeclarationList 231208 231306 + VariableDeclaration 231235 231306 + Identifier 231235 231244 + CallExpression 231246 231306 + PropertyAccessExpression 231246 231289 + Identifier 231246 231251 + Identifier 231252 231289 + PropertyAccessExpression 231290 231305 + Identifier 231290 231300 + Identifier 231301 231305 + IfStatement 231307 232365 + Identifier 231333 231341 + Block 231342 232365 + VariableStatement 231344 231423 + VariableDeclarationList 231344 231422 + VariableDeclaration 231375 231422 + Identifier 231375 231386 + PrefixUnaryExpression 231388 231422 + CallExpression 231390 231422 + PropertyAccessExpression 231390 231420 + Identifier 231390 231394 + Identifier 231395 231420 + VariableStatement 231423 231500 + VariableDeclarationList 231423 231499 + VariableDeclaration 231454 231499 + Identifier 231454 231465 + CallExpression 231467 231499 + PropertyAccessExpression 231467 231497 + Identifier 231467 231472 + Identifier 231473 231497 + VariableStatement 231500 231614 + VariableDeclarationList 231500 231613 + VariableDeclaration 231531 231613 + Identifier 231531 231544 + CallExpression 231546 231613 + Identifier 231546 231579 + PropertyAccessExpression 231580 231600 + Identifier 231580 231588 + Identifier 231589 231600 + Identifier 231601 231612 + VariableStatement 231614 231727 + VariableDeclarationList 231614 231726 + VariableDeclaration 231645 231726 + Identifier 231645 231657 + CallExpression 231659 231726 + Identifier 231659 231688 + Identifier 231689 231699 + Identifier 231700 231713 + Identifier 231714 231725 + VariableStatement 231727 231904 + VariableDeclarationList 231727 231903 + VariableDeclaration 231758 231903 + Identifier 231758 231769 + CallExpression 231771 231903 + Identifier 231771 231800 + BinaryExpression 231801 231837 + PropertyAccessExpression 231801 231823 + Identifier 231801 231816 + Identifier 231817 231823 + BarBarToken 231823 231826 + Identifier 231826 231837 + BinaryExpression 231838 231890 + PropertyAccessExpression 231838 231874 + PropertyAccessExpression 231838 231867 + PropertyAccessExpression 231838 231859 + Identifier 231838 231847 + Identifier 231848 231859 + Identifier 231860 231867 + Identifier 231868 231874 + BarBarToken 231874 231877 + Identifier 231877 231890 + Identifier 231891 231902 + IfStatement 231904 232342 + BinaryExpression 231934 231960 + Identifier 231934 231945 + ExclamationEqualsEqualsToken 231945 231949 + Identifier 231949 231960 + Block 231961 232342 + ExpressionStatement 231963 232315 + CallExpression 231963 232314 + Identifier 231963 231998 + Identifier 231999 232042 + PropertyAccessExpression 232043 232282 + Identifier 232043 232088 + Identifier 232089 232282 + IfStatement 232399 235779 + PropertyAccessExpression 232419 232436 + Identifier 232419 232429 + Identifier 232430 232436 + Block 232437 235779 + IfStatement 232439 232729 + BinaryExpression 232461 232572 + BinaryExpression 232461 232512 + Identifier 232461 232470 + AmpersandAmpersandToken 232470 232473 + PropertyAccessExpression 232473 232512 + Identifier 232473 232488 + Identifier 232489 232512 + AmpersandAmpersandToken 232512 232515 + PrefixUnaryExpression 232515 232572 + CallExpression 232517 232572 + Identifier 232517 232546 + PropertyAccessExpression 232547 232571 + Identifier 232547 232561 + Identifier 232562 232571 + Block 232573 232729 + ExpressionStatement 232575 232710 + CallExpression 232575 232709 + Identifier 232575 232621 + FalseKeyword 232622 232639 + Identifier 232640 232650 + Identifier 232651 232669 + Identifier 232670 232675 + Identifier 232676 232691 + Identifier 232692 232708 + IfStatement 232729 235609 + BinaryExpression 232751 232834 + Identifier 232751 232760 + AmpersandAmpersandToken 232760 232763 + ParenthesizedExpression 232763 232834 + BinaryExpression 232765 232833 + BinaryExpression 232765 232797 + Identifier 232765 232775 + EqualsEqualsEqualsToken 232775 232779 + PropertyAccessExpression 232779 232797 + Identifier 232779 232790 + Identifier 232791 232797 + BarBarToken 232797 232800 + BinaryExpression 232800 232833 + Identifier 232800 232811 + EqualsEqualsEqualsToken 232811 232815 + PropertyAccessExpression 232815 232833 + Identifier 232815 232826 + Identifier 232827 232833 + Block 232835 235609 + VariableStatement 232837 233038 + VariableDeclarationList 232837 233037 + VariableDeclaration 232864 233037 + Identifier 232864 232877 + BinaryExpression 232879 233037 + ParenthesizedExpression 232879 232982 + BinaryExpression 232881 232981 + BinaryExpression 232881 232940 + PropertyAccessExpression 232881 232916 + Identifier 232881 232898 + Identifier 232899 232916 + EqualsEqualsEqualsToken 232916 232920 + PropertyAccessExpression 232920 232940 + Identifier 232920 232931 + Identifier 232932 232940 + AmpersandAmpersandToken 232940 232943 + PrefixUnaryExpression 232943 232981 + CallExpression 232945 232981 + Identifier 232945 232957 + Identifier 232958 232966 + Identifier 232967 232980 + BarBarToken 232982 232985 + PrefixUnaryExpression 232985 233037 + PrefixUnaryExpression 232987 233037 + CallExpression 232988 233037 + Identifier 232988 233000 + Identifier 233001 233009 + Identifier 233010 233036 + VariableStatement 233038 233205 + VariableDeclarationList 233038 233204 + VariableDeclaration 233065 233204 + Identifier 233065 233078 + CallExpression 233080 233204 + Identifier 233080 233093 + Identifier 233094 233102 + ArrowFunction 233103 233203 + Parameter 233103 233105 + Identifier 233103 233105 + EqualsGreaterThanToken 233105 233108 + BinaryExpression 233108 233203 + BinaryExpression 233108 233180 + BinaryExpression 233108 233154 + CallExpression 233108 233128 + Identifier 233108 233125 + Identifier 233126 233127 + BarBarToken 233128 233131 + CallExpression 233131 233154 + Identifier 233131 233151 + Identifier 233152 233153 + BarBarToken 233154 233157 + CallExpression 233157 233180 + Identifier 233157 233177 + Identifier 233178 233179 + BarBarToken 233180 233183 + CallExpression 233183 233203 + Identifier 233183 233200 + Identifier 233201 233202 + IfStatement 233205 235590 + BinaryExpression 233441 233551 + BinaryExpression 233441 233507 + Identifier 233441 233453 + AmpersandAmpersandToken 233453 233456 + BinaryExpression 233456 233507 + PropertyAccessExpression 233456 233485 + Identifier 233456 233467 + Identifier 233468 233485 + EqualsEqualsEqualsToken 233485 233489 + PropertyAccessExpression 233489 233507 + Identifier 233489 233500 + Identifier 233501 233507 + AmpersandAmpersandToken 233507 233510 + PrefixUnaryExpression 233510 233551 + CallExpression 233512 233551 + Identifier 233512 233537 + Identifier 233538 233550 + Block 233552 235590 + IfStatement 233554 235567 + CallExpression 233584 233633 + Identifier 233584 233596 + Identifier 233597 233605 + Identifier 233606 233632 + Block 233634 233993 + ExpressionStatement 233636 233966 + CallExpression 233636 233965 + Identifier 233636 233760 + Identifier 233761 233770 + PropertyAccessExpression 233771 233947 + Identifier 233771 233783 + Identifier 233784 233947 + Identifier 233948 233964 + Block 234023 235567 + VariableStatement 234025 234143 + VariableDeclarationList 234025 234142 + VariableDeclaration 234124 234142 + Identifier 234124 234142 + VariableStatement 234143 234237 + VariableDeclarationList 234143 234236 + VariableDeclaration 234178 234236 + Identifier 234178 234182 + CallExpression 234184 234236 + Identifier 234184 234208 + PropertyAccessExpression 234209 234235 + Identifier 234209 234226 + Identifier 234227 234235 + IfStatement 234237 234498 + BinaryExpression 234271 234365 + BinaryExpression 234271 234340 + BinaryExpression 234271 234315 + BinaryExpression 234271 234291 + Identifier 234271 234274 + EqualsEqualsEqualsToken 234274 234278 + PropertyAccessExpression 234278 234291 + Identifier 234278 234288 + Identifier 234289 234291 + BarBarToken 234291 234294 + BinaryExpression 234294 234315 + Identifier 234294 234298 + EqualsEqualsEqualsToken 234298 234302 + PropertyAccessExpression 234302 234315 + Identifier 234302 234312 + Identifier 234313 234315 + BarBarToken 234315 234318 + BinaryExpression 234318 234340 + Identifier 234318 234322 + EqualsEqualsEqualsToken 234322 234326 + PropertyAccessExpression 234326 234340 + Identifier 234326 234336 + Identifier 234337 234340 + BarBarToken 234340 234343 + BinaryExpression 234343 234365 + Identifier 234343 234347 + EqualsEqualsEqualsToken 234347 234351 + PropertyAccessExpression 234351 234365 + Identifier 234351 234361 + Identifier 234362 234365 + Block 234366 234498 + ExpressionStatement 234368 234467 + BinaryExpression 234368 234466 + Identifier 234368 234419 + EqualsToken 234419 234421 + CallExpression 234421 234466 + Identifier 234421 234447 + Identifier 234448 234465 + VariableStatement 234498 235209 + VariableDeclarationList 234498 235208 + VariableDeclaration 234535 235208 + Identifier 234535 234543 + ConditionalExpression 234545 235208 + BinaryExpression 234545 234638 + BinaryExpression 234545 234597 + PropertyAccessExpression 234545 234564 + Identifier 234545 234558 + QuestionDotToken 234558 234560 + Identifier 234560 234564 + EqualsEqualsEqualsToken 234564 234568 + PropertyAccessExpression 234568 234597 + Identifier 234568 234579 + Identifier 234580 234597 + AmpersandAmpersandToken 234597 234600 + PropertyAccessExpression 234600 234638 + PropertyAccessExpression 234600 234626 + Identifier 234600 234613 + Identifier 234614 234626 + QuestionDotToken 234626 234628 + Identifier 234628 234638 + QuestionToken 234638 234640 + PropertyAccessExpression 234640 234754 + Identifier 234640 234652 + Identifier 234653 234754 + ColonToken 234754 234756 + ConditionalExpression 234756 235208 + BinaryExpression 234756 234834 + PropertyAccessExpression 234756 234808 + Identifier 234756 234802 + QuestionDotToken 234802 234804 + Identifier 234804 234808 + EqualsEqualsEqualsToken 234808 234812 + PropertyAccessExpression 234812 234834 + Identifier 234812 234823 + Identifier 234824 234834 + QuestionToken 234834 234836 + PropertyAccessExpression 234836 234945 + Identifier 234836 234848 + Identifier 234849 234945 + ColonToken 234945 234947 + PropertyAccessExpression 234947 235208 + Identifier 234947 234992 + Identifier 234993 235208 + ExpressionStatement 235209 235540 + CallExpression 235209 235539 + PropertyAccessExpression 235209 235254 + Identifier 235209 235250 + Identifier 235251 235254 + CallExpression 235255 235538 + Identifier 235255 235294 + CallExpression 235295 235359 + Identifier 235295 235348 + Identifier 235349 235358 + Identifier 235360 235403 + CallExpression 235404 235506 + Identifier 235404 235461 + Identifier 235462 235479 + Identifier 235480 235488 + Identifier 235489 235505 + ReturnStatement 235609 235764 + CallExpression 235728 235763 + Identifier 235728 235744 + PropertyAccessExpression 235745 235762 + Identifier 235745 235755 + Identifier 235756 235762 + IfStatement 235779 236032 + BinaryExpression 235797 235863 + BinaryExpression 235797 235829 + Identifier 235797 235806 + AmpersandAmpersandToken 235806 235809 + Identifier 235809 235829 + AmpersandAmpersandToken 235829 235832 + PrefixUnaryExpression 235832 235863 + CallExpression 235834 235863 + Identifier 235834 235852 + Identifier 235853 235862 + Block 235864 236032 + ExpressionStatement 235866 236017 + CallExpression 235866 236016 + Identifier 235866 235948 + Identifier 235949 235958 + PropertyAccessExpression 235959 235994 + Identifier 235959 235971 + Identifier 235972 235994 + PropertyAccessExpression 235995 236015 + Identifier 235995 236006 + Identifier 236007 236015 + ReturnStatement 236032 236063 + Identifier 236052 236062 + IfStatement 236074 236934 + Identifier 236090 236111 + Block 236112 236934 + VariableStatement 236114 236221 + VariableDeclarationList 236114 236220 + VariableDeclaration 236133 236220 + Identifier 236133 236141 + CallExpression 236143 236220 + Identifier 236143 236164 + Identifier 236165 236186 + ArrowFunction 236187 236202 + Parameter 236187 236189 + Identifier 236187 236189 + EqualsGreaterThanToken 236189 236192 + PropertyAccessExpression 236192 236202 + Identifier 236192 236194 + Identifier 236195 236202 + Identifier 236203 236219 + IfStatement 236221 236923 + Identifier 236239 236246 + Block 236247 236923 + VariableStatement 236249 236736 + VariableDeclarationList 236249 236735 + VariableDeclaration 236628 236735 + Identifier 236628 236641 + BinaryExpression 236643 236735 + Identifier 236643 236677 + AmpersandAmpersandToken 236677 236680 + CallExpression 236680 236735 + PropertyAccessExpression 236680 236718 + Identifier 236680 236714 + Identifier 236715 236718 + Identifier 236719 236734 + IfStatement 236736 236851 + Identifier 236758 236770 + Block 236771 236851 + ReturnStatement 236773 236832 + CallExpression 236801 236831 + Identifier 236801 236817 + Identifier 236818 236830 + ReturnStatement 236851 236908 + CallExpression 236875 236907 + Identifier 236875 236891 + PropertyAccessExpression 236892 236906 + Identifier 236892 236899 + Identifier 236900 236906 + IfStatement 236934 237005 + PrefixUnaryExpression 236950 236960 + Identifier 236951 236960 + Block 236961 237005 + ReturnStatement 236963 236994 + Identifier 236983 236993 + IfStatement 237005 238007 + BinaryExpression 237095 237323 + BinaryExpression 237095 237207 + BinaryExpression 237095 237169 + Identifier 237095 237109 + AmpersandAmpersandToken 237109 237112 + PrefixUnaryExpression 237112 237169 + CallExpression 237114 237169 + Identifier 237114 237143 + PropertyAccessExpression 237144 237168 + Identifier 237144 237158 + Identifier 237159 237168 + AmpersandAmpersandToken 237169 237172 + BinaryExpression 237172 237207 + Identifier 237172 237193 + EqualsEqualsEqualsToken 237193 237197 + Identifier 237197 237207 + BarBarToken 237207 237210 + BinaryExpression 237210 237323 + Identifier 237210 237231 + EqualsEqualsEqualsToken 237231 237235 + PropertyAccessExpression 237235 237323 + Identifier 237235 237247 + Identifier 237248 237323 + Block 237324 238007 + IfStatement 237326 237820 + Identifier 237344 237361 + Block 237362 237620 + VariableStatement 237364 237513 + VariableDeclarationList 237364 237512 + VariableDeclaration 237387 237512 + Identifier 237387 237392 + PropertyAccessExpression 237394 237512 + Identifier 237394 237406 + Identifier 237407 237512 + ExpressionStatement 237513 237605 + CallExpression 237513 237604 + Identifier 237513 237536 + Identifier 237537 237546 + Identifier 237547 237552 + Identifier 237553 237569 + PropertyAccessExpression 237570 237603 + NonNullExpression 237570 237586 + Identifier 237570 237585 + Identifier 237587 237603 + Block 237638 237820 + ExpressionStatement 237640 237805 + CallExpression 237640 237804 + Identifier 237640 237682 + BinaryExpression 237683 237733 + Identifier 237683 237708 + AmpersandAmpersandToken 237708 237711 + PrefixUnaryExpression 237711 237733 + PrefixUnaryExpression 237713 237733 + Identifier 237714 237733 + Identifier 237734 237744 + Identifier 237745 237763 + Identifier 237764 237769 + NonNullExpression 237770 237786 + Identifier 237770 237785 + Identifier 237787 237803 + ReturnStatement 237820 237996 + Identifier 237985 237995 + IfStatement 238007 241081 + Identifier 238023 238042 + Block 238043 241081 + IfStatement 238045 238503 + Identifier 238132 238146 + Block 238147 238503 + VariableStatement 238149 238250 + VariableDeclarationList 238149 238249 + VariableDeclaration 238172 238249 + Identifier 238172 238181 + CallExpression 238183 238249 + PropertyAccessExpression 238183 238216 + Identifier 238183 238188 + Identifier 238189 238216 + PropertyAccessExpression 238217 238248 + Identifier 238217 238231 + Identifier 238232 238248 + IfStatement 238250 238488 + Identifier 238272 238280 + Block 238281 238488 + ExpressionStatement 238283 238430 + CallExpression 238283 238429 + Identifier 238283 238310 + Identifier 238311 238320 + PropertyAccessExpression 238321 238385 + Identifier 238321 238333 + Identifier 238334 238385 + Identifier 238386 238395 + PropertyAccessExpression 238396 238428 + Identifier 238396 238411 + Identifier 238412 238428 + ReturnStatement 238430 238469 + Identifier 238458 238468 + IfStatement 238503 241070 + Identifier 238523 238543 + Block 238544 238668 + ExpressionStatement 238546 238653 + CallExpression 238546 238652 + Identifier 238546 238569 + Identifier 238570 238579 + Identifier 238580 238601 + Identifier 238602 238618 + PropertyAccessExpression 238619 238651 + Identifier 238619 238634 + Identifier 238635 238651 + Block 238686 241070 + VariableStatement 238688 238814 + VariableDeclarationList 238688 238813 + VariableDeclaration 238711 238813 + Identifier 238711 238745 + BinaryExpression 238747 238813 + CallExpression 238747 238779 + Identifier 238747 238762 + Identifier 238763 238778 + AmpersandAmpersandToken 238779 238782 + PrefixUnaryExpression 238782 238813 + CallExpression 238784 238813 + Identifier 238784 238796 + Identifier 238797 238812 + VariableStatement 238814 238997 + VariableDeclarationList 238814 238996 + VariableDeclaration 238837 238996 + Identifier 238837 238862 + BinaryExpression 238864 238996 + BinaryExpression 238864 238917 + Identifier 238864 238885 + EqualsEqualsEqualsToken 238885 238889 + PropertyAccessExpression 238889 238917 + Identifier 238889 238910 + Identifier 238911 238917 + BarBarToken 238917 238920 + BinaryExpression 238920 238996 + Identifier 238920 238962 + EqualsEqualsEqualsToken 238962 238966 + PropertyAccessExpression 238966 238996 + Identifier 238966 238987 + Identifier 238988 238996 + IfStatement 238997 241055 + BinaryExpression 239019 239296 + BinaryExpression 239019 239230 + BinaryExpression 239019 239152 + PrefixUnaryExpression 239019 239079 + CallExpression 239042 239079 + Identifier 239042 239062 + Identifier 239063 239078 + AmpersandAmpersandToken 239079 239082 + CallExpression 239082 239152 + Identifier 239082 239119 + Identifier 239120 239135 + PropertyAccessExpression 239136 239151 + Identifier 239136 239146 + Identifier 239147 239151 + AmpersandAmpersandToken 239152 239155 + BinaryExpression 239155 239230 + Identifier 239155 239197 + ExclamationEqualsEqualsToken 239197 239201 + PropertyAccessExpression 239201 239230 + Identifier 239201 239222 + Identifier 239223 239230 + AmpersandAmpersandToken 239230 239233 + CallExpression 239233 239296 + Identifier 239233 239279 + Identifier 239280 239295 + Block 239315 239496 + ExpressionStatement 239317 239477 + CallExpression 239317 239476 + Identifier 239317 239344 + Identifier 239345 239354 + PropertyAccessExpression 239355 239458 + Identifier 239355 239367 + Identifier 239368 239458 + Identifier 239459 239475 + IfStatement 239518 241055 + BinaryExpression 239523 239614 + BinaryExpression 239523 239577 + BinaryExpression 239523 239549 + Identifier 239523 239527 + EqualsEqualsEqualsToken 239527 239531 + PropertyAccessExpression 239531 239549 + Identifier 239531 239542 + Identifier 239543 239549 + AmpersandAmpersandToken 239549 239552 + Identifier 239552 239577 + AmpersandAmpersandToken 239577 239580 + Identifier 239580 239614 + Block 239615 240465 + VariableStatement 239617 239744 + VariableDeclarationList 239617 239743 + VariableDeclaration 239644 239743 + Identifier 239644 239656 + CallExpression 239658 239743 + Identifier 239658 239684 + Identifier 239685 239700 + CallExpression 239701 239742 + Identifier 239701 239718 + PropertyAccessExpression 239719 239741 + Identifier 239719 239736 + Identifier 239737 239741 + VariableStatement 239744 239888 + VariableDeclarationList 239744 239887 + VariableDeclaration 239771 239887 + Identifier 239771 239784 + ElementAccessExpression 239786 239887 + CallExpression 239786 239882 + PropertyAccessExpression 239786 239811 + Identifier 239786 239806 + Identifier 239807 239811 + ArrowFunction 239812 239881 + Parameter 239813 239836 + ArrayBindingPattern 239813 239836 + BindingElement 239814 239823 + Identifier 239814 239823 + BindingElement 239824 239835 + Identifier 239824 239835 + EqualsGreaterThanToken 239837 239840 + CallExpression 239840 239881 + PropertyAccessExpression 239840 239856 + Identifier 239840 239845 + Identifier 239846 239856 + BinaryExpression 239857 239880 + Identifier 239857 239868 + PlusToken 239868 239870 + Identifier 239870 239880 + QuestionDotToken 239882 239884 + NumericLiteral 239885 239886 + IfStatement 239888 240446 + Identifier 239914 239926 + Block 239927 240173 + ExpressionStatement 239929 240150 + CallExpression 239929 240149 + Identifier 239929 239960 + Identifier 239961 239970 + PropertyAccessExpression 239971 240116 + Identifier 239971 239983 + Identifier 239984 240116 + BinaryExpression 240117 240148 + Identifier 240117 240133 + PlusToken 240133 240135 + Identifier 240135 240148 + Block 240199 240446 + ExpressionStatement 240201 240423 + CallExpression 240201 240422 + Identifier 240201 240232 + Identifier 240233 240242 + PropertyAccessExpression 240243 240421 + Identifier 240243 240255 + Identifier 240256 240421 + Block 240487 241055 + IfStatement 240489 241036 + PropertyAccessExpression 240515 240596 + CallExpression 240515 240579 + PropertyAccessExpression 240515 240537 + Identifier 240515 240519 + Identifier 240520 240537 + Identifier 240538 240555 + Identifier 240556 240572 + Identifier 240573 240578 + QuestionDotToken 240579 240581 + Identifier 240581 240596 + Block 240597 240904 + VariableStatement 240599 240734 + VariableDeclarationList 240599 240733 + VariableDeclaration 240630 240733 + Identifier 240630 240640 + CallExpression 240642 240733 + Identifier 240642 240668 + Identifier 240669 240686 + Identifier 240687 240692 + Identifier 240693 240709 + Identifier 240710 240715 + Identifier 240716 240732 + ExpressionStatement 240734 240881 + CallExpression 240734 240880 + Identifier 240734 240777 + TrueKeyword 240778 240794 + Identifier 240795 240805 + CallExpression 240806 240879 + Identifier 240806 240830 + Identifier 240831 240840 + Identifier 240841 240861 + Identifier 240862 240878 + Block 240930 241036 + ExpressionStatement 240932 241013 + CallExpression 240932 241012 + Identifier 240932 240963 + Identifier 240964 240973 + Identifier 240974 240994 + Identifier 240995 241011 + ReturnStatement 241081 241108 + Identifier 241097 241107 + FunctionDeclaration 241108 242112 + Identifier 241128 241153 + Parameter 241154 241173 + Identifier 241154 241165 + StringKeyword 241166 241173 + Block 241174 242112 + VariableStatement 241176 241273 + VariableDeclarationList 241176 241272 + VariableDeclaration 241195 241272 + Identifier 241195 241224 + CallExpression 241226 241272 + Identifier 241226 241242 + Identifier 241243 241258 + Identifier 241259 241271 + IfStatement 241273 242051 + BinaryExpression 241492 241560 + CallExpression 241492 241530 + Identifier 241492 241518 + Identifier 241519 241529 + BarBarToken 241530 241533 + BinaryExpression 241533 241560 + Identifier 241533 241538 + EqualsEqualsEqualsToken 241538 241542 + PropertyAccessExpression 241542 241560 + Identifier 241542 241553 + Identifier 241554 241560 + Block 241561 242051 + VariableStatement 241563 241689 + VariableDeclarationList 241563 241688 + VariableDeclaration 241586 241688 + Identifier 241586 241595 + BinaryExpression 241597 241688 + CallExpression 241597 241636 + Identifier 241597 241619 + Identifier 241620 241635 + AmpersandAmpersandToken 241636 241639 + CallExpression 241639 241688 + Identifier 241639 241671 + Identifier 241672 241687 + VariableStatement 241689 241976 + VariableDeclarationList 241689 241975 + VariableDeclaration 241712 241975 + Identifier 241712 241716 + ConditionalExpression 241718 241975 + BinaryExpression 241718 241782 + BinaryExpression 241718 241748 + Identifier 241718 241730 + EqualsEqualsEqualsToken 241730 241734 + PropertyAccessExpression 241734 241748 + Identifier 241734 241744 + Identifier 241745 241748 + BarBarToken 241748 241751 + BinaryExpression 241751 241782 + Identifier 241751 241763 + EqualsEqualsEqualsToken 241763 241767 + PropertyAccessExpression 241767 241782 + Identifier 241767 241777 + Identifier 241778 241782 + QuestionToken 241782 241784 + ConditionalExpression 241784 241811 + Identifier 241784 241793 + QuestionToken 241793 241795 + StringLiteral 241795 241802 + ColonToken 241802 241804 + StringLiteral 241804 241811 + ColonToken 241811 241813 + ConditionalExpression 241813 241975 + BinaryExpression 241813 241898 + BinaryExpression 241813 241864 + Identifier 241813 241846 + EqualsEqualsEqualsToken 241846 241850 + PropertyAccessExpression 241850 241864 + Identifier 241850 241860 + Identifier 241861 241864 + BarBarToken 241864 241867 + BinaryExpression 241867 241898 + Identifier 241867 241879 + EqualsEqualsEqualsToken 241879 241883 + PropertyAccessExpression 241883 241898 + Identifier 241883 241893 + Identifier 241894 241898 + QuestionToken 241898 241900 + ConditionalExpression 241900 241927 + Identifier 241900 241909 + QuestionToken 241909 241911 + StringLiteral 241911 241918 + ColonToken 241918 241920 + StringLiteral 241920 241927 + ColonToken 241927 241929 + ConditionalExpression 241929 241975 + Identifier 241929 241959 + QuestionToken 241959 241961 + StringLiteral 241961 241967 + ColonToken 241967 241969 + StringLiteral 241969 241975 + ReturnStatement 241976 242036 + BinaryExpression 242000 242035 + Identifier 242000 242029 + PlusToken 242029 242031 + Identifier 242031 242035 + ReturnStatement 242051 242101 + Identifier 242071 242100 + FunctionDeclaration 242119 243013 + Identifier 242135 242160 + Parameter 242161 242177 + Identifier 242161 242168 + BooleanKeyword 242169 242177 + Parameter 242178 242194 + Identifier 242178 242188 + TypeReference 242189 242194 + Identifier 242189 242194 + Parameter 242195 242218 + Identifier 242195 242206 + TypeReference 242207 242218 + Identifier 242207 242218 + Parameter 242219 242240 + Identifier 242219 242224 + TypeReference 242225 242240 + Identifier 242225 242240 + Parameter 242241 242293 + ObjectBindingPattern 242241 242273 + BindingElement 242243 242253 + Identifier 242243 242253 + BindingElement 242254 242271 + Identifier 242254 242271 + TypeReference 242274 242293 + Identifier 242274 242293 + Parameter 242294 242318 + Identifier 242294 242310 + StringKeyword 242311 242318 + VoidKeyword 242320 242325 + Block 242325 243013 + IfStatement 242327 242405 + CallExpression 242341 242370 + Identifier 242341 242359 + Identifier 242360 242369 + Block 242371 242405 + ReturnStatement 242373 242394 + VariableStatement 242405 242467 + VariableDeclarationList 242405 242466 + VariableDeclaration 242420 242466 + Identifier 242420 242430 + UnionType 242431 242466 + TypeReference 242431 242454 + Identifier 242431 242454 + UndefinedKeyword 242456 242466 + IfStatement 242467 242663 + BinaryExpression 242481 242540 + PrefixUnaryExpression 242481 242527 + CallExpression 242482 242527 + Identifier 242482 242510 + Identifier 242511 242526 + AmpersandAmpersandToken 242527 242530 + Identifier 242530 242540 + Block 242541 242663 + ExpressionStatement 242543 242652 + BinaryExpression 242543 242651 + Identifier 242543 242566 + EqualsToken 242566 242568 + CallExpression 242568 242651 + Identifier 242568 242594 + Identifier 242595 242605 + Identifier 242606 242611 + Identifier 242612 242628 + Identifier 242629 242634 + PropertyAccessExpression 242635 242650 + Identifier 242635 242645 + Identifier 242646 242650 + ExpressionStatement 242663 243006 + CallExpression 242663 243005 + Identifier 242663 242690 + Identifier 242691 242712 + Identifier 242713 242736 + CallExpression 242737 242993 + Identifier 242737 242774 + Identifier 242775 242802 + PropertyAccessExpression 242803 242908 + Identifier 242803 242832 + Identifier 242833 242908 + Identifier 242909 242942 + Identifier 242943 242977 + FunctionDeclaration 243013 243116 + Identifier 243029 243057 + Parameter 243058 243078 + Identifier 243058 243070 + TypeReference 243071 243078 + Identifier 243071 243078 + Parameter 243079 243106 + Identifier 243079 243096 + QuestionToken 243096 243097 + BooleanKeyword 243098 243106 + TypeReference 243108 243115 + Identifier 243108 243115 + FunctionDeclaration 243116 243241 + Identifier 243130 243158 + Parameter 243159 243191 + Identifier 243159 243171 + UnionType 243172 243191 + TypeReference 243172 243179 + Identifier 243172 243179 + UndefinedKeyword 243181 243191 + Parameter 243192 243219 + Identifier 243192 243209 + QuestionToken 243209 243210 + BooleanKeyword 243211 243219 + UnionType 243221 243240 + TypeReference 243221 243228 + Identifier 243221 243228 + UndefinedKeyword 243230 243240 + FunctionDeclaration 243241 243756 + Identifier 243255 243283 + Parameter 243284 243316 + Identifier 243284 243296 + UnionType 243297 243316 + TypeReference 243297 243304 + Identifier 243297 243304 + UndefinedKeyword 243306 243316 + Parameter 243317 243344 + Identifier 243317 243334 + QuestionToken 243334 243335 + BooleanKeyword 243336 243344 + UnionType 243346 243365 + TypeReference 243346 243353 + Identifier 243346 243353 + UndefinedKeyword 243355 243365 + Block 243365 243756 + IfStatement 243367 243722 + PropertyAccessExpression 243381 243402 + Identifier 243381 243393 + QuestionDotToken 243393 243395 + Identifier 243395 243402 + Block 243403 243722 + VariableStatement 243405 243531 + VariableDeclarationList 243405 243530 + VariableDeclaration 243424 243530 + Identifier 243424 243437 + CallExpression 243439 243530 + Identifier 243439 243453 + CallExpression 243454 243511 + PropertyAccessExpression 243454 243478 + PropertyAccessExpression 243454 243474 + Identifier 243454 243466 + Identifier 243467 243474 + Identifier 243475 243478 + PropertyAccessExpression 243479 243510 + Identifier 243479 243497 + Identifier 243498 243510 + Identifier 243512 243529 + VariableStatement 243531 243648 + VariableDeclarationList 243531 243647 + VariableDeclaration 243550 243647 + Identifier 243550 243559 + CallExpression 243561 243647 + Identifier 243561 243585 + CallExpression 243586 243615 + Identifier 243586 243601 + Identifier 243602 243614 + CallExpression 243616 243646 + Identifier 243616 243632 + Identifier 243633 243645 + ReturnStatement 243648 243711 + BinaryExpression 243668 243710 + CallExpression 243668 243694 + Identifier 243668 243684 + Identifier 243685 243693 + BarBarToken 243694 243697 + Identifier 243697 243710 + ReturnStatement 243722 243749 + Identifier 243738 243748 + FunctionDeclaration 243756 245179 + Identifier 243772 243796 + Parameter 243797 243825 + Identifier 243797 243805 + UnionType 243806 243825 + TypeReference 243806 243813 + Identifier 243806 243813 + UndefinedKeyword 243815 243825 + Parameter 243826 243847 + Identifier 243826 243839 + TypeReference 243840 243847 + Identifier 243840 243847 + UnionType 243849 243868 + TypeReference 243849 243856 + Identifier 243849 243856 + UndefinedKeyword 243858 243868 + Block 243868 245179 + IfStatement 243870 244070 + BinaryExpression 243884 244026 + BinaryExpression 243884 243988 + BinaryExpression 243884 243952 + BinaryExpression 243884 243923 + PrefixUnaryExpression 243884 243893 + Identifier 243885 243893 + BarBarToken 243893 243896 + BinaryExpression 243896 243923 + Identifier 243896 243905 + EqualsEqualsEqualsToken 243905 243909 + Identifier 243909 243923 + BarBarToken 243923 243926 + BinaryExpression 243926 243952 + Identifier 243926 243935 + EqualsEqualsEqualsToken 243935 243939 + Identifier 243939 243952 + BarBarToken 243952 243955 + BinaryExpression 243955 243988 + PropertyAccessExpression 243955 243982 + NonNullExpression 243955 243977 + PropertyAccessExpression 243955 243976 + Identifier 243955 243968 + Identifier 243969 243976 + Identifier 243978 243982 + EqualsEqualsEqualsToken 243982 243986 + NumericLiteral 243986 243988 + BarBarToken 243988 243991 + BinaryExpression 243991 244026 + PropertyAccessExpression 243991 244006 + Identifier 243991 244000 + Identifier 244001 244006 + AmpersandToken 244006 244008 + PropertyAccessExpression 244008 244026 + Identifier 244008 244020 + Identifier 244021 244026 + Block 244027 244070 + ReturnStatement 244029 244059 + Identifier 244049 244058 + VariableStatement 244070 244119 + VariableDeclarationList 244070 244118 + VariableDeclaration 244085 244118 + Identifier 244085 244091 + CallExpression 244093 244118 + Identifier 244093 244108 + Identifier 244109 244117 + IfStatement 244119 244211 + PropertyAccessExpression 244133 244154 + Identifier 244133 244138 + Identifier 244139 244154 + Block 244155 244211 + ReturnStatement 244157 244200 + PropertyAccessExpression 244177 244199 + Identifier 244177 244183 + Identifier 244184 244199 + VariableStatement 244211 244310 + VariableDeclarationList 244211 244309 + VariableDeclaration 244226 244309 + Identifier 244226 244233 + ConditionalExpression 244235 244309 + BinaryExpression 244235 244274 + PropertyAccessExpression 244235 244250 + Identifier 244235 244244 + Identifier 244245 244250 + AmpersandToken 244250 244252 + PropertyAccessExpression 244252 244274 + Identifier 244252 244264 + Identifier 244265 244274 + QuestionToken 244274 244276 + Identifier 244276 244285 + ColonToken 244285 244287 + CallExpression 244287 244309 + Identifier 244287 244299 + Identifier 244300 244308 + ExpressionStatement 244310 244374 + BinaryExpression 244310 244373 + PropertyAccessExpression 244310 244332 + Identifier 244310 244326 + Identifier 244327 244332 + EqualsToken 244332 244334 + BinaryExpression 244334 244373 + PropertyAccessExpression 244334 244347 + Identifier 244334 244341 + Identifier 244342 244347 + BarToken 244347 244349 + PropertyAccessExpression 244349 244373 + Identifier 244349 244361 + Identifier 244362 244373 + IfStatement 244374 244481 + BinaryExpression 244388 244416 + PropertyAccessExpression 244388 244402 + Identifier 244388 244394 + Identifier 244395 244402 + EqualsEqualsEqualsToken 244402 244406 + Identifier 244406 244416 + Block 244417 244481 + ExpressionStatement 244419 244470 + BinaryExpression 244419 244469 + PropertyAccessExpression 244419 244447 + Identifier 244419 244439 + Identifier 244440 244447 + EqualsToken 244447 244449 + CallExpression 244449 244469 + Identifier 244449 244467 + ExpressionStatement 244481 244731 + CallExpression 244481 244730 + PropertyAccessExpression 244481 244520 + NonNullExpression 244481 244512 + PropertyAccessExpression 244481 244511 + Identifier 244481 244503 + Identifier 244504 244511 + Identifier 244513 244520 + ArrowFunction 244521 244729 + Parameter 244522 244523 + Identifier 244522 244523 + Parameter 244524 244529 + Identifier 244524 244529 + EqualsGreaterThanToken 244530 244533 + Block 244533 244729 + IfStatement 244535 244602 + BinaryExpression 244553 244593 + Identifier 244553 244557 + EqualsEqualsEqualsToken 244557 244561 + PropertyAccessExpression 244561 244593 + Identifier 244561 244580 + Identifier 244581 244593 + ReturnStatement 244594 244602 + ExpressionStatement 244602 244718 + CallExpression 244602 244717 + PropertyAccessExpression 244602 244635 + NonNullExpression 244602 244631 + PropertyAccessExpression 244602 244630 + Identifier 244602 244622 + Identifier 244623 244630 + Identifier 244632 244635 + Identifier 244636 244640 + ConditionalExpression 244641 244716 + CallExpression 244641 244667 + PropertyAccessExpression 244641 244661 + NonNullExpression 244641 244657 + PropertyAccessExpression 244641 244656 + Identifier 244641 244648 + Identifier 244649 244656 + Identifier 244658 244661 + Identifier 244662 244666 + QuestionToken 244667 244669 + CallExpression 244669 244712 + Identifier 244669 244681 + NonNullExpression 244682 244708 + CallExpression 244682 244707 + PropertyAccessExpression 244682 244701 + NonNullExpression 244682 244697 + PropertyAccessExpression 244682 244696 + Identifier 244682 244688 + Identifier 244689 244696 + Identifier 244698 244701 + Identifier 244702 244706 + Identifier 244709 244711 + ColonToken 244712 244714 + Identifier 244714 244716 + IfStatement 244731 245066 + BinaryExpression 244745 244764 + Identifier 244745 244751 + EqualsEqualsEqualsToken 244751 244755 + Identifier 244755 244764 + Block 244765 245066 + ExpressionStatement 244767 244990 + BinaryExpression 244767 244989 + PropertyAccessExpression 244767 244977 + CallExpression 244767 244961 + Identifier 244767 244953 + Identifier 244954 244960 + Identifier 244962 244977 + EqualsToken 244977 244979 + Identifier 244979 244989 + ExpressionStatement 244990 245055 + BinaryExpression 244990 245054 + PropertyAccessExpression 244990 245042 + CallExpression 244990 245026 + Identifier 244990 245018 + Identifier 245019 245025 + Identifier 245027 245042 + EqualsToken 245042 245044 + Identifier 245044 245054 + ExpressionStatement 245066 245124 + BinaryExpression 245066 245123 + PropertyAccessExpression 245066 245114 + CallExpression 245066 245098 + Identifier 245066 245090 + Identifier 245091 245097 + Identifier 245099 245114 + EqualsToken 245114 245116 + Identifier 245116 245123 + ReturnStatement 245124 245172 + BinaryExpression 245140 245171 + PropertyAccessExpression 245140 245162 + Identifier 245140 245146 + Identifier 245147 245162 + EqualsToken 245162 245164 + Identifier 245164 245171 + FunctionDeclaration 245179 248498 + Identifier 245549 245571 + Parameter 245572 245604 + Identifier 245572 245584 + UnionType 245585 245604 + TypeReference 245585 245592 + Identifier 245585 245592 + UndefinedKeyword 245594 245604 + Parameter 245605 245631 + Identifier 245605 245625 + TypeReference 245626 245631 + Identifier 245626 245631 + Parameter 245632 245658 + Identifier 245632 245649 + BooleanKeyword 245650 245658 + Parameter 245659 245689 + Identifier 245659 245680 + BooleanKeyword 245681 245689 + UnionType 245691 245710 + TypeReference 245691 245698 + Identifier 245691 245698 + UndefinedKeyword 245700 245710 + Block 245710 248498 + VariableStatement 245712 245797 + VariableDeclarationList 245712 245796 + VariableDeclaration 245727 245796 + Identifier 245727 245734 + CallExpression 245736 245796 + Identifier 245736 245764 + Identifier 245765 245777 + Identifier 245778 245795 + IfStatement 245797 248467 + BinaryExpression 245813 245840 + PrefixUnaryExpression 245813 245830 + Identifier 245814 245830 + AmpersandAmpersandToken 245830 245833 + Identifier 245833 245840 + Block 245841 248467 + IfStatement 245843 246439 + BinaryExpression 245861 246003 + BinaryExpression 245861 245947 + PrefixUnaryExpression 245861 245882 + Identifier 245862 245882 + AmpersandAmpersandToken 245882 245885 + PrefixUnaryExpression 245885 245947 + ParenthesizedExpression 245887 245947 + BinaryExpression 245888 245946 + PropertyAccessExpression 245888 245900 + Identifier 245888 245894 + Identifier 245895 245900 + AmpersandToken 245900 245902 + ParenthesizedExpression 245902 245946 + BinaryExpression 245904 245945 + PropertyAccessExpression 245904 245922 + Identifier 245904 245915 + Identifier 245916 245922 + BarToken 245922 245924 + PropertyAccessExpression 245924 245945 + Identifier 245924 245936 + Identifier 245937 245945 + AmpersandAmpersandToken 245947 245950 + PrefixUnaryExpression 245950 246003 + CallExpression 245952 246003 + Identifier 245952 245972 + Identifier 245973 245979 + PropertyAccessExpression 245980 246002 + Identifier 245980 245991 + Identifier 245992 246002 + Block 246004 246439 + VariableStatement 246006 246178 + VariableDeclarationList 246006 246177 + VariableDeclaration 246029 246177 + Identifier 246029 246048 + ConditionalExpression 246050 246177 + BinaryExpression 246050 246082 + Identifier 246050 246061 + GreaterThanEqualsToken 246061 246064 + PropertyAccessExpression 246064 246082 + Identifier 246064 246075 + Identifier 246076 246082 + QuestionToken 246082 246105 + StringLiteral 246105 246136 + ColonToken 246136 246159 + StringLiteral 246159 246177 + ExpressionStatement 246178 246390 + CallExpression 246178 246389 + Identifier 246178 246203 + Identifier 246204 246223 + PropertyAccessExpression 246224 246368 + Identifier 246224 246236 + Identifier 246237 246368 + Identifier 246369 246388 + ReturnStatement 246390 246424 + Identifier 246416 246423 + VariableStatement 246439 246506 + VariableDeclarationList 246439 246505 + VariableDeclaration 246460 246505 + Identifier 246460 246476 + PropertyAccessExpression 246478 246505 + Identifier 246478 246498 + Identifier 246499 246505 + IfStatement 246506 248456 + BinaryExpression 246524 246678 + ParenthesizedExpression 246524 246628 + BinaryExpression 246543 246627 + CallExpression 246543 246579 + Identifier 246543 246562 + Identifier 246563 246578 + AmpersandAmpersandToken 246579 246582 + CallExpression 246582 246627 + Identifier 246582 246610 + Identifier 246611 246626 + BarBarToken 246628 246631 + CallExpression 246631 246678 + Identifier 246631 246661 + Identifier 246662 246677 + Block 246693 248456 + VariableStatement 246695 246826 + VariableDeclarationList 246695 246825 + VariableDeclaration 246718 246825 + Identifier 246718 246728 + ConditionalExpression 246730 246825 + CallExpression 246730 246760 + Identifier 246730 246743 + Identifier 246744 246759 + QuestionToken 246760 246762 + ElementAccessExpression 246762 246791 + PropertyAccessExpression 246762 246788 + Identifier 246762 246778 + Identifier 246779 246788 + NumericLiteral 246789 246790 + ColonToken 246791 246793 + PropertyAccessExpression 246793 246825 + Identifier 246793 246809 + Identifier 246810 246825 + VariableStatement 246826 246881 + VariableDeclarationList 246826 246880 + VariableDeclaration 246849 246880 + Identifier 246849 246854 + CallExpression 246856 246880 + Identifier 246856 246872 + Identifier 246873 246879 + VariableStatement 246881 246995 + VariableDeclarationList 246881 246994 + VariableDeclaration 246904 246994 + Identifier 246904 246920 + CallExpression 246922 246994 + Identifier 246922 246954 + Identifier 246955 246959 + Identifier 246960 246967 + NonNullExpression 246968 246982 + Identifier 246968 246981 + Identifier 246983 246993 + IfStatement 246995 247147 + Identifier 247017 247032 + Block 247033 247147 + ReturnStatement 247035 247128 + CallExpression 247063 247127 + Identifier 247063 247085 + Identifier 247086 247092 + Identifier 247093 247109 + Identifier 247110 247126 + VariableStatement 247147 247233 + VariableDeclarationList 247147 247232 + VariableDeclaration 247172 247232 + Identifier 247172 247183 + CallExpression 247185 247232 + PropertyAccessExpression 247185 247218 + PropertyAccessExpression 247185 247212 + Identifier 247185 247198 + QuestionDotToken 247198 247200 + Identifier 247200 247212 + QuestionDotToken 247212 247214 + Identifier 247214 247218 + Identifier 247219 247231 + VariableStatement 247233 247430 + VariableDeclarationList 247233 247429 + VariableDeclaration 247256 247429 + Identifier 247256 247268 + BinaryExpression 247270 247429 + Identifier 247270 247281 + AmpersandAmpersandToken 247281 247284 + CallExpression 247284 247429 + Identifier 247284 247329 + CallExpression 247330 247382 + Identifier 247330 247371 + Identifier 247372 247381 + CallExpression 247383 247428 + PropertyAccessExpression 247383 247416 + Identifier 247383 247388 + Identifier 247389 247416 + Identifier 247417 247427 + IfStatement 247430 248441 + BinaryExpression 247452 247502 + CallExpression 247452 247487 + Identifier 247452 247470 + Identifier 247471 247486 + BarBarToken 247487 247490 + Identifier 247490 247502 + Block 247503 248441 + VariableStatement 247505 247594 + VariableDeclarationList 247505 247593 + VariableDeclaration 247530 247593 + Identifier 247530 247535 + CallExpression 247537 247593 + Identifier 247537 247567 + Identifier 247568 247572 + PropertyAccessExpression 247573 247592 + Identifier 247573 247587 + Identifier 247588 247592 + IfStatement 247594 247761 + BinaryExpression 247620 247641 + PrefixUnaryExpression 247620 247625 + Identifier 247621 247625 + BarBarToken 247625 247628 + PrefixUnaryExpression 247628 247641 + PropertyAccessExpression 247630 247641 + Identifier 247630 247634 + Identifier 247635 247641 + Block 247642 247761 + ExpressionStatement 247644 247738 + BinaryExpression 247644 247737 + Identifier 247644 247674 + EqualsToken 247674 247676 + CallExpression 247676 247737 + Identifier 247676 247706 + Identifier 247707 247711 + PropertyAccessExpression 247712 247736 + Identifier 247712 247726 + Identifier 247727 247736 + IfStatement 247761 248422 + BinaryExpression 247787 247998 + BinaryExpression 247787 247958 + ParenthesizedExpression 247787 247834 + BinaryExpression 247814 247833 + Identifier 247814 247818 + AmpersandAmpersandToken 247818 247821 + PropertyAccessExpression 247821 247833 + Identifier 247821 247826 + Identifier 247827 247833 + BarBarToken 247834 247837 + CallExpression 247837 247958 + Identifier 247837 247880 + Identifier 247881 247885 + PropertyAccessExpression 247886 247913 + Identifier 247886 247905 + Identifier 247906 247913 + TrueKeyword 247914 247957 + BarBarToken 247958 247961 + Identifier 247961 247998 + Block 248021 248422 + VariableStatement 248023 248307 + VariableDeclarationList 248023 248306 + VariableDeclaration 248054 248306 + Identifier 248054 248065 + ConditionalExpression 248067 248306 + BinaryExpression 248067 248105 + PropertyAccessExpression 248067 248078 + Identifier 248067 248072 + Identifier 248073 248078 + AmpersandToken 248078 248080 + PropertyAccessExpression 248080 248105 + Identifier 248080 248090 + Identifier 248091 248105 + QuestionToken 248105 248136 + CallExpression 248136 248214 + Identifier 248136 248174 + Identifier 248175 248179 + Identifier 248180 248187 + NonNullExpression 248188 248202 + Identifier 248188 248201 + Identifier 248203 248213 + ColonToken 248214 248245 + CallExpression 248245 248306 + Identifier 248245 248283 + Identifier 248284 248290 + PropertyAccessExpression 248291 248305 + Identifier 248291 248298 + Identifier 248299 248305 + ReturnStatement 248307 248399 + CallExpression 248339 248398 + Identifier 248339 248361 + Identifier 248362 248368 + Identifier 248369 248380 + Identifier 248381 248397 + ReturnStatement 248467 248491 + Identifier 248483 248490 + FunctionDeclaration 248498 249668 + Identifier 248627 248649 + Parameter 248650 248664 + Identifier 248650 248656 + TypeReference 248657 248664 + Identifier 248657 248664 + Parameter 248665 248682 + Identifier 248665 248676 + TypeReference 248677 248682 + Identifier 248677 248682 + Parameter 248683 248731 + Identifier 248683 248699 + UnionType 248700 248731 + TypeReference 248700 248718 + Identifier 248700 248718 + TypeReference 248720 248731 + Identifier 248720 248731 + Block 248732 249668 + VariableStatement 248734 248806 + VariableDeclarationList 248734 248805 + VariableDeclaration 248749 248805 + Identifier 248749 248756 + CallExpression 248758 248805 + Identifier 248758 248771 + PropertyAccessExpression 248772 248784 + Identifier 248772 248778 + Identifier 248779 248784 + PropertyAccessExpression 248785 248804 + Identifier 248785 248792 + Identifier 248793 248804 + ExpressionStatement 248806 248893 + BinaryExpression 248806 248892 + PropertyAccessExpression 248806 248835 + Identifier 248806 248822 + Identifier 248823 248835 + EqualsToken 248835 248837 + ConditionalExpression 248837 248892 + PropertyAccessExpression 248837 248857 + Identifier 248837 248844 + Identifier 248845 248857 + QuestionToken 248857 248859 + CallExpression 248859 248887 + PropertyAccessExpression 248859 248885 + PropertyAccessExpression 248859 248879 + Identifier 248859 248866 + Identifier 248867 248879 + Identifier 248880 248885 + ColonToken 248887 248889 + ArrayLiteralExpression 248889 248892 + ExpressionStatement 248893 248933 + BinaryExpression 248893 248932 + PropertyAccessExpression 248893 248916 + Identifier 248893 248909 + Identifier 248910 248916 + EqualsToken 248916 248918 + PropertyAccessExpression 248918 248932 + Identifier 248918 248925 + Identifier 248926 248932 + ExpressionStatement 248933 248972 + BinaryExpression 248933 248971 + PropertyAccessExpression 248933 248962 + PropertyAccessExpression 248933 248955 + Identifier 248933 248949 + Identifier 248950 248955 + Identifier 248956 248962 + EqualsToken 248962 248964 + Identifier 248964 248971 + ExpressionStatement 248972 249031 + BinaryExpression 248972 249030 + PropertyAccessExpression 248972 249012 + PropertyAccessExpression 248972 248994 + Identifier 248972 248988 + Identifier 248989 248994 + Identifier 248995 249012 + EqualsToken 249012 249014 + Identifier 249014 249030 + IfStatement 249031 249120 + PropertyAccessExpression 249045 249068 + Identifier 249045 249051 + Identifier 249052 249068 + ExpressionStatement 249069 249120 + BinaryExpression 249069 249119 + PropertyAccessExpression 249069 249093 + Identifier 249069 249076 + Identifier 249077 249093 + EqualsToken 249093 249095 + PropertyAccessExpression 249095 249119 + Identifier 249095 249102 + Identifier 249103 249119 + IfStatement 249120 249196 + PropertyAccessExpression 249134 249160 + Identifier 249134 249140 + Identifier 249141 249160 + ExpressionStatement 249161 249196 + BinaryExpression 249161 249195 + PropertyAccessExpression 249161 249188 + Identifier 249161 249168 + Identifier 249169 249188 + EqualsToken 249188 249190 + TrueKeyword 249190 249195 + IfStatement 249196 249267 + PropertyAccessExpression 249210 249224 + Identifier 249210 249216 + Identifier 249217 249224 + ExpressionStatement 249225 249267 + BinaryExpression 249225 249266 + PropertyAccessExpression 249225 249240 + Identifier 249225 249232 + Identifier 249233 249240 + EqualsToken 249240 249242 + NewExpression 249242 249266 + Identifier 249246 249250 + PropertyAccessExpression 249251 249265 + Identifier 249251 249257 + Identifier 249258 249265 + IfStatement 249267 249338 + PropertyAccessExpression 249281 249295 + Identifier 249281 249287 + Identifier 249288 249295 + ExpressionStatement 249296 249338 + BinaryExpression 249296 249337 + PropertyAccessExpression 249296 249311 + Identifier 249296 249303 + Identifier 249304 249311 + EqualsToken 249311 249313 + NewExpression 249313 249337 + Identifier 249317 249321 + PropertyAccessExpression 249322 249336 + Identifier 249322 249328 + Identifier 249329 249336 + VariableStatement 249338 249434 + VariableDeclarationList 249338 249433 + VariableDeclaration 249353 249433 + Identifier 249353 249372 + CallExpression 249374 249433 + Identifier 249374 249403 + AsExpression 249404 249432 + Identifier 249404 249414 + TypeReference 249417 249432 + Identifier 249417 249432 + ExpressionStatement 249434 249637 + BinaryExpression 249434 249636 + PropertyAccessExpression 249434 249523 + PropertyAccessExpression 249434 249518 + Identifier 249434 249512 + Identifier 249513 249518 + Identifier 249519 249523 + EqualsToken 249523 249525 + CallExpression 249525 249636 + Identifier 249525 249545 + Identifier 249546 249552 + PropertyAccessExpression 249553 249580 + Identifier 249553 249572 + Identifier 249573 249580 + Identifier 249581 249592 + Identifier 249593 249604 + PropertyAccessExpression 249605 249635 + Identifier 249605 249624 + Identifier 249625 249635 + ReturnStatement 249637 249661 + Identifier 249653 249660 + FunctionDeclaration 249668 249840 + Identifier 249684 249710 + Parameter 249711 249731 + Identifier 249711 249723 + TypeReference 249724 249731 + Identifier 249724 249731 + BooleanKeyword 249733 249741 + Block 249741 249840 + ReturnStatement 249743 249833 + BinaryExpression 249759 249832 + CallExpression 249759 249818 + PropertyAccessExpression 249759 249785 + NonNullExpression 249759 249781 + PropertyAccessExpression 249759 249780 + Identifier 249759 249772 + Identifier 249773 249780 + Identifier 249782 249785 + PropertyAccessExpression 249786 249817 + Identifier 249786 249804 + Identifier 249805 249817 + ExclamationEqualsEqualsToken 249818 249822 + Identifier 249822 249832 + FunctionDeclaration 249840 249989 + Identifier 249856 249882 + Parameter 249883 249903 + Identifier 249883 249895 + TypeReference 249896 249903 + Identifier 249896 249903 + ArrayType 249905 249914 + TypeReference 249905 249912 + Identifier 249905 249912 + Block 249914 249989 + ReturnStatement 249916 249982 + CallExpression 249932 249981 + Identifier 249932 249947 + CallExpression 249948 249980 + Identifier 249948 249966 + Identifier 249967 249979 + FunctionDeclaration 249989 250507 + Identifier 250005 250037 + Parameter 250038 250058 + Identifier 250038 250050 + TypeReference 250051 250058 + Identifier 250051 250058 + ArrayType 250060 250069 + TypeReference 250060 250067 + Identifier 250060 250067 + Block 250069 250507 + VariableStatement 250071 250137 + VariableDeclarationList 250071 250136 + VariableDeclaration 250086 250136 + Identifier 250086 250094 + CallExpression 250096 250136 + Identifier 250096 250122 + Identifier 250123 250135 + VariableStatement 250137 250210 + VariableDeclarationList 250137 250209 + VariableDeclaration 250152 250209 + Identifier 250152 250165 + CallExpression 250167 250209 + Identifier 250167 250195 + Identifier 250196 250208 + IfStatement 250210 250475 + BinaryExpression 250224 250253 + Identifier 250224 250236 + ExclamationEqualsEqualsToken 250236 250240 + Identifier 250240 250253 + Block 250254 250475 + VariableStatement 250256 250313 + VariableDeclarationList 250256 250312 + VariableDeclaration 250275 250312 + Identifier 250275 250280 + CallExpression 250282 250312 + Identifier 250282 250298 + Identifier 250299 250311 + IfStatement 250313 250464 + CallExpression 250331 250383 + Identifier 250331 250377 + Identifier 250378 250382 + Block 250384 250464 + ExpressionStatement 250386 250449 + CallExpression 250386 250448 + Identifier 250386 250412 + Identifier 250413 250420 + CallExpression 250421 250447 + Identifier 250421 250441 + Identifier 250442 250446 + ReturnStatement 250475 250500 + Identifier 250491 250499 + FunctionDeclaration 250507 251264 + Identifier 250523 250556 + Parameter 250557 250577 + Identifier 250557 250569 + TypeReference 250570 250577 + Identifier 250570 250577 + Parameter 250578 250622 + Identifier 250578 250581 + FunctionType 250582 250622 + Parameter 250584 250598 + Identifier 250584 250590 + TypeReference 250591 250598 + Identifier 250591 250598 + Parameter 250599 250613 + Identifier 250599 250603 + TypeReference 250604 250613 + Identifier 250604 250613 + VoidKeyword 250617 250622 + VoidKeyword 250624 250629 + Block 250629 251264 + VariableStatement 250631 250690 + VariableDeclarationList 250631 250689 + VariableDeclaration 250646 250689 + Identifier 250646 250654 + CallExpression 250656 250689 + Identifier 250656 250675 + Identifier 250676 250688 + ExpressionStatement 250690 250843 + CallExpression 250690 250842 + PropertyAccessExpression 250690 250715 + Identifier 250690 250707 + Identifier 250708 250715 + ArrowFunction 250716 250841 + Parameter 250717 250723 + Identifier 250717 250723 + Parameter 250724 250728 + Identifier 250724 250728 + EqualsGreaterThanToken 250729 250732 + Block 250732 250841 + IfStatement 250734 250830 + PrefixUnaryExpression 250752 250778 + CallExpression 250753 250778 + Identifier 250753 250773 + Identifier 250774 250777 + Block 250779 250830 + ExpressionStatement 250781 250815 + CallExpression 250781 250814 + Identifier 250781 250801 + Identifier 250802 250808 + Identifier 250809 250813 + VariableStatement 250843 250916 + VariableDeclarationList 250843 250915 + VariableDeclaration 250858 250915 + Identifier 250858 250871 + CallExpression 250873 250915 + Identifier 250873 250901 + Identifier 250902 250914 + IfStatement 250916 251257 + BinaryExpression 250930 250959 + Identifier 250930 250942 + ExclamationEqualsEqualsToken 250942 250946 + Identifier 250946 250959 + Block 250960 251257 + VariableStatement 250962 251019 + VariableDeclarationList 250962 251018 + VariableDeclaration 250981 251018 + Identifier 250981 250986 + CallExpression 250988 251018 + Identifier 250988 251004 + Identifier 251005 251017 + IfStatement 251019 251246 + CallExpression 251037 251089 + Identifier 251037 251083 + Identifier 251084 251088 + Block 251090 251246 + ExpressionStatement 251092 251231 + CallExpression 251092 251230 + Identifier 251092 251131 + Identifier 251132 251136 + ArrowFunction 251137 251229 + Parameter 251139 251145 + Identifier 251139 251145 + Parameter 251146 251158 + Identifier 251146 251158 + EqualsGreaterThanToken 251159 251162 + Block 251162 251229 + ExpressionStatement 251164 251210 + CallExpression 251164 251209 + Identifier 251164 251188 + Identifier 251189 251195 + Identifier 251196 251208 + FunctionDeclaration 251264 251532 + Identifier 251280 251308 + Parameter 251309 251329 + Identifier 251309 251319 + TypeReference 251320 251329 + Identifier 251320 251329 + Parameter 251330 251351 + Identifier 251330 251343 + TypeReference 251344 251351 + Identifier 251344 251351 + UnionType 251353 251372 + TypeReference 251353 251360 + Identifier 251353 251360 + UndefinedKeyword 251362 251372 + Block 251372 251532 + VariableStatement 251374 251437 + VariableDeclarationList 251374 251436 + VariableDeclaration 251389 251436 + Identifier 251389 251401 + CallExpression 251403 251436 + Identifier 251403 251422 + Identifier 251423 251435 + IfStatement 251437 251525 + Identifier 251451 251462 + Block 251463 251525 + ReturnStatement 251465 251514 + CallExpression 251485 251513 + PropertyAccessExpression 251485 251501 + Identifier 251485 251497 + Identifier 251498 251501 + Identifier 251502 251512 + FunctionDeclaration 251532 252141 + Identifier 251548 251589 + Parameter 251590 251610 + Identifier 251590 251600 + TypeReference 251601 251610 + Identifier 251601 251610 + Parameter 251611 251632 + Identifier 251611 251624 + TypeReference 251625 251632 + Identifier 251625 251632 + UnionType 251634 251653 + TypeReference 251634 251641 + Identifier 251634 251641 + UndefinedKeyword 251643 251653 + Block 251653 252141 + VariableStatement 251655 251734 + VariableDeclarationList 251655 251733 + VariableDeclaration 251670 251733 + Identifier 251670 251677 + CallExpression 251679 251733 + Identifier 251679 251707 + Identifier 251708 251718 + Identifier 251719 251732 + IfStatement 251734 251796 + Identifier 251748 251754 + Block 251755 251796 + ReturnStatement 251757 251785 + Identifier 251777 251784 + VariableStatement 251796 251871 + VariableDeclarationList 251796 251870 + VariableDeclaration 251813 251870 + Identifier 251813 251826 + CallExpression 251828 251870 + Identifier 251828 251856 + Identifier 251857 251869 + IfStatement 251871 251959 + BinaryExpression 251885 251914 + Identifier 251885 251897 + EqualsEqualsEqualsToken 251897 251901 + Identifier 251901 251914 + Block 251915 251959 + ReturnStatement 251917 251948 + Identifier 251937 251947 + VariableStatement 251959 252014 + VariableDeclarationList 251959 252013 + VariableDeclaration 251976 252013 + Identifier 251976 251981 + CallExpression 251983 252013 + Identifier 251983 251999 + Identifier 252000 252012 + ReturnStatement 252014 252134 + ConditionalExpression 252030 252133 + CallExpression 252030 252083 + Identifier 252030 252077 + Identifier 252078 252082 + QuestionToken 252083 252085 + CallExpression 252085 252121 + Identifier 252085 252103 + Identifier 252104 252108 + Identifier 252109 252120 + ColonToken 252121 252123 + Identifier 252123 252133 + FunctionDeclaration 252141 252608 + Identifier 252157 252204 + Parameter 252205 252237 + Identifier 252205 252231 + TypeReference 252232 252237 + Identifier 252232 252237 + Block 252238 252608 + ReturnStatement 252240 252601 + PrefixUnaryExpression 252256 252600 + ParenthesizedExpression 252258 252600 + BinaryExpression 252259 252599 + BinaryExpression 252259 252543 + BinaryExpression 252259 252392 + BinaryExpression 252259 252313 + PropertyAccessExpression 252259 252291 + Identifier 252259 252285 + Identifier 252286 252291 + AmpersandToken 252291 252293 + PropertyAccessExpression 252293 252313 + Identifier 252293 252303 + Identifier 252304 252313 + BarBarToken 252313 252316 + BinaryExpression 252316 252392 + CallExpression 252316 252372 + Identifier 252316 252344 + Identifier 252345 252371 + AmpersandToken 252372 252374 + PropertyAccessExpression 252374 252392 + Identifier 252374 252386 + Identifier 252387 252392 + BarBarToken 252392 252395 + CallExpression 252395 252543 + Identifier 252395 252515 + Identifier 252516 252542 + BarBarToken 252543 252546 + CallExpression 252546 252599 + Identifier 252546 252571 + Identifier 252572 252598 + FunctionDeclaration 252608 252964 + Identifier 252624 252643 + Parameter 252644 252658 + Identifier 252644 252650 + TypeReference 252651 252658 + Identifier 252651 252658 + TypeReference 252660 252672 + Identifier 252660 252672 + Block 252672 252964 + ReturnStatement 252674 252957 + ConditionalExpression 252690 252956 + BinaryExpression 252690 252738 + PropertyAccessExpression 252690 252703 + Identifier 252690 252697 + Identifier 252698 252703 + AmpersandToken 252703 252705 + PropertyAccessExpression 252705 252738 + Identifier 252705 252717 + Identifier 252718 252738 + QuestionToken 252738 252740 + CallExpression 252740 252832 + Identifier 252740 252776 + Identifier 252777 252783 + PropertyAccessExpression 252784 252831 + Identifier 252784 252815 + Identifier 252816 252831 + ColonToken 252832 252834 + ConditionalExpression 252834 252956 + BinaryExpression 252834 252881 + PropertyAccessExpression 252834 252860 + Identifier 252834 252854 + Identifier 252855 252860 + AmpersandToken 252860 252862 + PropertyAccessExpression 252862 252881 + Identifier 252862 252874 + Identifier 252875 252881 + QuestionToken 252881 252883 + CallExpression 252883 252910 + Identifier 252883 252902 + Identifier 252903 252909 + ColonToken 252910 252912 + BinaryExpression 252912 252956 + PropertyAccessExpression 252912 252940 + Identifier 252912 252932 + Identifier 252933 252940 + BarBarToken 252940 252943 + Identifier 252943 252956 + FunctionDeclaration 252964 253393 + Identifier 252980 252999 + Parameter 253000 253020 + Identifier 253000 253012 + TypeReference 253013 253020 + Identifier 253013 253020 + TypeReference 253022 253034 + Identifier 253022 253034 + Block 253034 253393 + VariableStatement 253036 253089 + VariableDeclarationList 253036 253088 + VariableDeclaration 253051 253088 + Identifier 253051 253057 + CallExpression 253059 253088 + Identifier 253059 253074 + Identifier 253075 253087 + IfStatement 253089 253347 + PrefixUnaryExpression 253103 253125 + PropertyAccessExpression 253104 253125 + Identifier 253104 253109 + Identifier 253110 253125 + Block 253126 253347 + VariableStatement 253128 253224 + VariableDeclarationList 253128 253223 + VariableDeclaration 253147 253223 + ObjectBindingPattern 253147 253182 + BindingElement 253149 253157 + Identifier 253149 253157 + BindingElement 253158 253180 + Identifier 253158 253180 + CallExpression 253184 253223 + Identifier 253184 253209 + Identifier 253210 253222 + ExpressionStatement 253224 253270 + BinaryExpression 253224 253269 + PropertyAccessExpression 253224 253259 + Identifier 253224 253243 + Identifier 253244 253259 + EqualsToken 253259 253261 + Identifier 253261 253269 + ExpressionStatement 253270 253336 + BinaryExpression 253270 253335 + PropertyAccessExpression 253270 253311 + Identifier 253270 253289 + Identifier 253290 253311 + EqualsToken 253311 253313 + Identifier 253313 253335 + ReturnStatement 253347 253386 + PropertyAccessExpression 253363 253385 + Identifier 253363 253369 + Identifier 253370 253385 + InterfaceDeclaration 253393 253527 + Identifier 253410 253433 + PropertySignature 253435 253467 + Identifier 253435 253458 + StringKeyword 253459 253466 + PropertySignature 253467 253520 + Identifier 253467 253497 + QuestionToken 253497 253498 + ArrayType 253499 253519 + TypeReference 253499 253517 + Identifier 253499 253517 + TypeAliasDeclaration 253527 253608 + Identifier 253539 253567 + TypeReference 253569 253607 + Identifier 253569 253573 + TypeReference 253574 253582 + Identifier 253574 253582 + TypeReference 253583 253606 + Identifier 253583 253606 + FunctionDeclaration 253608 255066 + Identifier 253902 253922 + Parameter 253923 253942 + Identifier 253923 253929 + TypeReference 253930 253942 + Identifier 253930 253942 + Parameter 253943 253975 + Identifier 253943 253950 + UnionType 253951 253975 + TypeReference 253951 253963 + Identifier 253951 253963 + UndefinedKeyword 253965 253975 + Parameter 253976 254018 + Identifier 253976 253988 + QuestionToken 253988 253989 + TypeReference 253990 254018 + Identifier 253990 254018 + Parameter 254019 254050 + Identifier 254019 254030 + QuestionToken 254030 254031 + TypeReference 254032 254050 + Identifier 254032 254050 + Block 254051 255066 + IfStatement 254053 254083 + PrefixUnaryExpression 254067 254074 + Identifier 254068 254074 + ReturnStatement 254075 254083 + ExpressionStatement 254083 255059 + CallExpression 254083 255058 + PropertyAccessExpression 254083 254107 + Identifier 254083 254099 + Identifier 254100 254107 + ArrowFunction 254108 255057 + Parameter 254109 254121 + Identifier 254109 254121 + Parameter 254122 254125 + Identifier 254122 254125 + EqualsGreaterThanToken 254126 254129 + Block 254129 255057 + IfStatement 254131 254191 + BinaryExpression 254149 254182 + Identifier 254149 254151 + EqualsEqualsEqualsToken 254151 254155 + PropertyAccessExpression 254155 254182 + Identifier 254155 254174 + Identifier 254175 254182 + ReturnStatement 254183 254191 + VariableStatement 254191 254243 + VariableDeclarationList 254191 254242 + VariableDeclaration 254212 254242 + Identifier 254212 254225 + CallExpression 254227 254242 + PropertyAccessExpression 254227 254238 + Identifier 254227 254234 + Identifier 254235 254238 + Identifier 254239 254241 + IfStatement 254243 255046 + PrefixUnaryExpression 254261 254274 + Identifier 254262 254274 + Block 254275 254560 + ExpressionStatement 254277 254324 + CallExpression 254277 254323 + PropertyAccessExpression 254277 254305 + Identifier 254277 254301 + Identifier 254302 254305 + Identifier 254306 254308 + Identifier 254309 254322 + IfStatement 254324 254545 + BinaryExpression 254346 254371 + Identifier 254346 254357 + AmpersandAmpersandToken 254357 254360 + Identifier 254360 254371 + Block 254372 254545 + ExpressionStatement 254374 254526 + CallExpression 254374 254525 + PropertyAccessExpression 254374 254411 + Identifier 254374 254407 + Identifier 254408 254411 + Identifier 254412 254414 + ObjectLiteralExpression 254415 254524 + PropertyAssignment 254417 254500 + Identifier 254417 254456 + CallExpression 254457 254500 + Identifier 254457 254471 + NonNullExpression 254472 254499 + PropertyAccessExpression 254472 254498 + Identifier 254472 254482 + Identifier 254483 254498 + IfStatement 254578 255046 + BinaryExpression 254583 254687 + BinaryExpression 254583 254624 + BinaryExpression 254583 254608 + Identifier 254583 254594 + AmpersandAmpersandToken 254594 254597 + Identifier 254597 254608 + AmpersandAmpersandToken 254608 254611 + Identifier 254611 254624 + AmpersandAmpersandToken 254624 254627 + BinaryExpression 254627 254687 + CallExpression 254627 254655 + Identifier 254627 254641 + Identifier 254642 254654 + ExclamationEqualsEqualsToken 254655 254659 + CallExpression 254659 254687 + Identifier 254659 254673 + Identifier 254674 254686 + Block 254688 255046 + VariableStatement 254690 254754 + VariableDeclarationList 254690 254753 + VariableDeclaration 254713 254753 + Identifier 254713 254730 + NonNullExpression 254732 254753 + CallExpression 254732 254752 + PropertyAccessExpression 254732 254748 + Identifier 254732 254744 + Identifier 254745 254748 + Identifier 254749 254751 + IfStatement 254754 255031 + PrefixUnaryExpression 254776 254814 + PropertyAccessExpression 254777 254814 + Identifier 254777 254793 + Identifier 254794 254814 + Block 254815 254911 + ExpressionStatement 254817 254892 + BinaryExpression 254817 254891 + PropertyAccessExpression 254817 254876 + Identifier 254817 254855 + Identifier 254856 254876 + EqualsToken 254876 254878 + ArrayLiteralExpression 254878 254891 + Identifier 254880 254890 + Block 254933 255031 + ExpressionStatement 254935 255012 + CallExpression 254935 255011 + PropertyAccessExpression 254935 254999 + PropertyAccessExpression 254935 254994 + Identifier 254935 254973 + Identifier 254974 254994 + Identifier 254995 254999 + Identifier 255000 255010 + FunctionDeclaration 255066 259285 + Identifier 255082 255107 + Parameter 255108 255128 + Identifier 255108 255120 + TypeReference 255121 255128 + Identifier 255121 255128 + Block 255129 259285 + VariableStatement 255131 255177 + VariableDeclarationList 255131 255176 + VariableDeclaration 255146 255176 + Identifier 255146 255161 + ArrayType 255162 255171 + TypeReference 255162 255169 + Identifier 255162 255169 + ArrayLiteralExpression 255173 255176 + VariableStatement 255177 255330 + VariableDeclarationList 255177 255329 + VariableDeclaration 255190 255329 + Identifier 255190 255212 + UnionType 255213 255329 + TypeReference 255213 255317 + Identifier 255213 255217 + TypeReference 255218 255226 + Identifier 255218 255226 + IntersectionType 255227 255316 + TypeReference 255227 255245 + Identifier 255227 255245 + TypeLiteral 255247 255316 + PropertySignature 255249 255276 + ReadonlyKeyword 255249 255258 + Identifier 255258 255269 + LiteralType 255270 255275 + TrueKeyword 255270 255275 + PropertySignature 255276 255314 + ReadonlyKeyword 255276 255285 + Identifier 255285 255301 + TypeReference 255302 255313 + Identifier 255302 255313 + UndefinedKeyword 255319 255329 + VariableStatement 255330 255385 + VariableDeclarationList 255330 255384 + VariableDeclaration 255345 255384 + Identifier 255345 255362 + NewExpression 255364 255384 + Identifier 255368 255372 + TypeReference 255373 255381 + Identifier 255373 255381 + ExpressionStatement 255385 255548 + BinaryExpression 255385 255547 + Identifier 255385 255503 + EqualsToken 255503 255505 + CallExpression 255505 255547 + Identifier 255505 255533 + Identifier 255534 255546 + VariableStatement 255548 255610 + VariableDeclarationList 255548 255609 + VariableDeclaration 255563 255609 + Identifier 255563 255571 + BinaryExpression 255573 255609 + CallExpression 255573 255593 + Identifier 255573 255579 + Identifier 255580 255592 + BarBarToken 255593 255596 + Identifier 255596 255609 + IfStatement 255610 255745 + Identifier 255626 255647 + Block 255648 255745 + ExpressionStatement 255650 255734 + CallExpression 255650 255733 + PropertyAccessExpression 255650 255688 + Identifier 255650 255680 + Identifier 255681 255688 + ArrowFunction 255689 255732 + Parameter 255689 255693 + Identifier 255689 255693 + EqualsGreaterThanToken 255693 255696 + CallExpression 255696 255732 + PropertyAccessExpression 255696 255726 + NonNullExpression 255696 255719 + Identifier 255696 255718 + Identifier 255720 255726 + Identifier 255727 255731 + ReturnStatement 255745 255835 + ObjectLiteralExpression 255763 255834 + ShorthandPropertyAssignment 255765 255786 + Identifier 255765 255786 + ShorthandPropertyAssignment 255787 255822 + Identifier 255787 255822 + FunctionDeclaration 255835 259278 + Identifier 256072 256078 + Parameter 256079 256105 + Identifier 256079 256085 + UnionType 256086 256105 + TypeReference 256086 256093 + Identifier 256086 256093 + UndefinedKeyword 256095 256105 + Parameter 256106 256137 + Identifier 256106 256117 + QuestionToken 256117 256118 + TypeReference 256119 256137 + Identifier 256119 256137 + Parameter 256138 256159 + Identifier 256138 256149 + QuestionToken 256149 256150 + BooleanKeyword 256151 256159 + UnionType 256161 256185 + TypeReference 256161 256173 + Identifier 256161 256173 + UndefinedKeyword 256175 256185 + Block 256185 259278 + IfStatement 256187 256605 + BinaryExpression 256205 256235 + PrefixUnaryExpression 256205 256216 + Identifier 256206 256216 + AmpersandAmpersandToken 256216 256219 + PropertyAccessExpression 256219 256235 + Identifier 256219 256226 + QuestionDotToken 256226 256228 + Identifier 256228 256235 + Block 256236 256605 + ExpressionStatement 256238 256590 + CallExpression 256238 256589 + PropertyAccessExpression 256238 256548 + PropertyAccessExpression 256238 256540 + Identifier 256238 256532 + Identifier 256533 256540 + Identifier 256541 256548 + ArrowFunction 256549 256588 + Parameter 256550 256551 + Identifier 256550 256551 + Parameter 256552 256557 + Identifier 256552 256557 + EqualsGreaterThanToken 256558 256561 + CallExpression 256561 256588 + PropertyAccessExpression 256561 256582 + Identifier 256561 256578 + Identifier 256579 256582 + Identifier 256583 256587 + IfStatement 256605 256733 + PrefixUnaryExpression 256623 256690 + ParenthesizedExpression 256624 256690 + BinaryExpression 256625 256689 + BinaryExpression 256625 256649 + Identifier 256625 256631 + AmpersandAmpersandToken 256631 256634 + PropertyAccessExpression 256634 256649 + Identifier 256634 256641 + Identifier 256642 256649 + AmpersandAmpersandToken 256649 256652 + CallExpression 256652 256689 + Identifier 256652 256665 + Identifier 256666 256680 + Identifier 256681 256688 + Block 256691 256733 + ReturnStatement 256693 256718 + VariableStatement 256733 256787 + VariableDeclarationList 256733 256786 + VariableDeclaration 256752 256786 + Identifier 256752 256760 + NewExpression 256762 256786 + Identifier 256766 256770 + PropertyAccessExpression 256771 256785 + Identifier 256771 256777 + Identifier 256778 256785 + VariableStatement 256787 256965 + VariableDeclarationList 256787 256964 + VariableDeclaration 256900 256964 + Identifier 256900 256912 + CallExpression 256914 256964 + PropertyAccessExpression 256914 256933 + PropertyAccessExpression 256914 256929 + Identifier 256914 256921 + Identifier 256922 256929 + Identifier 256930 256933 + PropertyAccessExpression 256934 256963 + Identifier 256934 256952 + Identifier 256953 256963 + IfStatement 256965 258814 + Identifier 256983 256994 + Block 256995 258814 + VariableStatement 256997 257057 + VariableDeclarationList 256997 257056 + VariableDeclaration 257020 257056 + Identifier 257020 257034 + CallExpression 257036 257056 + Identifier 257036 257054 + VariableStatement 257057 257134 + VariableDeclarationList 257057 257133 + VariableDeclaration 257080 257133 + Identifier 257080 257092 + TypeReference 257093 257121 + Identifier 257093 257121 + NewExpression 257123 257133 + Identifier 257127 257131 + IfStatement 257134 257835 + PropertyAccessExpression 257156 257180 + Identifier 257156 257167 + Identifier 257168 257180 + Block 257181 257835 + ForOfStatement 257183 257816 + VariableDeclarationList 257210 257220 + VariableDeclaration 257215 257220 + Identifier 257215 257220 + PropertyAccessExpression 257223 257248 + Identifier 257223 257235 + Identifier 257236 257248 + Block 257249 257816 + VariableStatement 257251 257378 + VariableDeclarationList 257251 257377 + VariableDeclaration 257282 257377 + Identifier 257282 257297 + CallExpression 257299 257377 + Identifier 257299 257325 + Identifier 257326 257330 + NonNullExpression 257331 257376 + PropertyAccessExpression 257331 257375 + ParenthesizedExpression 257331 257359 + AsExpression 257333 257358 + Identifier 257333 257337 + TypeReference 257340 257358 + Identifier 257340 257358 + Identifier 257360 257375 + VariableStatement 257378 257531 + VariableDeclarationList 257378 257530 + VariableDeclaration 257409 257530 + Identifier 257409 257425 + CallExpression 257427 257530 + Identifier 257427 257433 + Identifier 257434 257448 + AsExpression 257449 257475 + Identifier 257449 257454 + TypeReference 257457 257475 + Identifier 257457 257475 + BinaryExpression 257476 257529 + Identifier 257476 257487 + BarBarToken 257487 257490 + PropertyAccessExpression 257490 257529 + ParenthesizedExpression 257490 257518 + AsExpression 257492 257517 + Identifier 257492 257496 + TypeReference 257499 257517 + Identifier 257499 257517 + Identifier 257519 257529 + ExpressionStatement 257531 257793 + CallExpression 257531 257792 + Identifier 257531 257576 + Identifier 257577 257620 + Identifier 257621 257666 + Identifier 257667 257708 + AsExpression 257709 257764 + Identifier 257709 257743 + TypeReference 257746 257764 + Identifier 257746 257764 + ExpressionStatement 257835 258737 + CallExpression 257835 258736 + PropertyAccessExpression 257835 257872 + Identifier 257835 257864 + Identifier 257865 257872 + ArrowFunction 257873 258735 + Parameter 257874 257898 + ObjectBindingPattern 257874 257898 + BindingElement 257875 257896 + Identifier 257875 257896 + Parameter 257899 257902 + Identifier 257899 257902 + EqualsGreaterThanToken 257903 257906 + Block 257906 258735 + IfStatement 257908 258226 + BinaryExpression 258074 258167 + BinaryExpression 258074 258148 + BinaryExpression 258074 258090 + Identifier 258074 258076 + EqualsEqualsEqualsToken 258076 258080 + StringLiteral 258080 258090 + BarBarToken 258090 258093 + PrefixUnaryExpression 258093 258148 + ParenthesizedExpression 258095 258148 + BinaryExpression 258096 258147 + Identifier 258096 258116 + AmpersandAmpersandToken 258116 258119 + PropertyAccessExpression 258119 258147 + Identifier 258119 258140 + Identifier 258141 258147 + BarBarToken 258148 258151 + CallExpression 258151 258167 + PropertyAccessExpression 258151 258163 + Identifier 258151 258159 + Identifier 258160 258163 + Identifier 258164 258166 + Block 258168 258226 + ReturnStatement 258170 258203 + ForOfStatement 258226 258716 + VariableDeclarationList 258253 258263 + VariableDeclaration 258258 258263 + Identifier 258258 258263 + Identifier 258266 258287 + Block 258288 258716 + ExpressionStatement 258290 258693 + CallExpression 258290 258692 + PropertyAccessExpression 258290 258331 + Identifier 258290 258327 + Identifier 258328 258331 + CallExpression 258332 258691 + Identifier 258332 258355 + Identifier 258356 258390 + PropertyAccessExpression 258391 258537 + Identifier 258391 258432 + Identifier 258433 258537 + PropertyAccessExpression 258538 258602 + NonNullExpression 258538 258588 + CallExpression 258538 258587 + PropertyAccessExpression 258538 258583 + Identifier 258538 258579 + Identifier 258580 258583 + Identifier 258584 258586 + Identifier 258589 258602 + CallExpression 258603 258663 + Identifier 258603 258659 + Identifier 258660 258662 + ExpressionStatement 258737 258799 + CallExpression 258737 258798 + Identifier 258737 258774 + Identifier 258775 258782 + Identifier 258783 258797 + IfStatement 258814 259238 + PropertyAccessExpression 258832 258854 + Identifier 258832 258842 + QuestionDotToken 258842 258844 + Identifier 258844 258854 + Block 258855 259238 + ExpressionStatement 258857 258911 + BinaryExpression 258857 258910 + Identifier 258857 258896 + QuestionQuestionEqualsToken 258896 258900 + NewExpression 258900 258910 + Identifier 258904 258908 + ExpressionStatement 258911 259223 + CallExpression 258911 259222 + PropertyAccessExpression 258911 258944 + Identifier 258911 258936 + Identifier 258937 258944 + ArrowFunction 258945 259203 + Parameter 258946 258947 + Identifier 258946 258947 + Parameter 258948 258960 + Identifier 258948 258960 + EqualsGreaterThanToken 258961 258964 + CallExpression 258964 259203 + PropertyAccessExpression 258964 259012 + NonNullExpression 258964 259008 + Identifier 258964 259007 + Identifier 259009 259012 + Identifier 259013 259050 + AsExpression 259051 259179 + Identifier 259051 259087 + IntersectionType 259090 259179 + TypeReference 259090 259108 + Identifier 259090 259108 + TypeLiteral 259110 259179 + PropertySignature 259112 259139 + ReadonlyKeyword 259112 259121 + Identifier 259121 259132 + LiteralType 259133 259138 + TrueKeyword 259133 259138 + PropertySignature 259139 259177 + ReadonlyKeyword 259139 259148 + Identifier 259148 259164 + TypeReference 259165 259176 + Identifier 259165 259176 + ReturnStatement 259238 259267 + Identifier 259258 259266 + FunctionDeclaration 259285 259342 + Identifier 259301 259317 + Parameter 259318 259332 + Identifier 259318 259324 + TypeReference 259325 259332 + Identifier 259325 259332 + TypeReference 259334 259341 + Identifier 259334 259341 + FunctionDeclaration 259342 259421 + Identifier 259356 259372 + Parameter 259373 259399 + Identifier 259373 259379 + UnionType 259380 259399 + TypeReference 259380 259387 + Identifier 259380 259387 + UndefinedKeyword 259389 259399 + UnionType 259401 259420 + TypeReference 259401 259408 + Identifier 259401 259408 + UndefinedKeyword 259410 259420 + FunctionDeclaration 259421 259641 + Identifier 259435 259451 + Parameter 259452 259478 + Identifier 259452 259458 + UnionType 259459 259478 + TypeReference 259459 259466 + Identifier 259459 259466 + UndefinedKeyword 259468 259478 + UnionType 259480 259499 + TypeReference 259480 259487 + Identifier 259480 259487 + UndefinedKeyword 259489 259499 + Block 259499 259641 + VariableStatement 259501 259530 + VariableDeclarationList 259501 259529 + VariableDeclaration 259514 259529 + Identifier 259514 259521 + TypeReference 259522 259529 + Identifier 259522 259529 + ReturnStatement 259530 259634 + ConditionalExpression 259546 259633 + BinaryExpression 259546 259615 + BinaryExpression 259546 259571 + Identifier 259546 259553 + AmpersandAmpersandToken 259553 259556 + PropertyAccessExpression 259556 259571 + Identifier 259556 259563 + Identifier 259564 259571 + AmpersandAmpersandToken 259571 259574 + ParenthesizedExpression 259574 259615 + BinaryExpression 259576 259614 + Identifier 259576 259582 + EqualsToken 259582 259584 + ElementAccessExpression 259584 259614 + Identifier 259584 259598 + PropertyAccessExpression 259599 259613 + Identifier 259599 259605 + Identifier 259606 259613 + QuestionToken 259615 259617 + Identifier 259617 259624 + ColonToken 259624 259626 + Identifier 259626 259633 + FunctionDeclaration 259641 259797 + Identifier 259657 259680 + Parameter 259681 259698 + Identifier 259681 259685 + TypeReference 259686 259698 + Identifier 259686 259698 + TypeReference 259700 259707 + Identifier 259700 259707 + Block 259707 259797 + ReturnStatement 259709 259790 + CallExpression 259725 259789 + Identifier 259725 259741 + BinaryExpression 259742 259788 + PropertyAccessExpression 259742 259753 + Identifier 259742 259746 + Identifier 259747 259753 + AmpersandAmpersandToken 259753 259756 + CallExpression 259756 259788 + Identifier 259756 259775 + PropertyAccessExpression 259776 259787 + Identifier 259776 259780 + Identifier 259781 259787 + FunctionDeclaration 259797 260136 + Identifier 259999 260015 + Parameter 260016 260026 + Identifier 260016 260020 + TypeReference 260021 260026 + Identifier 260021 260026 + UnionType 260028 260047 + TypeReference 260028 260035 + Identifier 260028 260035 + UndefinedKeyword 260037 260047 + Block 260047 260136 + ReturnStatement 260049 260129 + ConditionalExpression 260065 260128 + CallExpression 260065 260085 + Identifier 260065 260079 + Identifier 260080 260084 + QuestionToken 260085 260087 + CallExpression 260087 260116 + Identifier 260087 260110 + Identifier 260111 260115 + ColonToken 260116 260118 + Identifier 260118 260128 + FunctionDeclaration 260136 260300 + Identifier 260152 260170 + Parameter 260171 260185 + Identifier 260171 260177 + TypeReference 260178 260185 + Identifier 260178 260185 + UnionType 260187 260206 + TypeReference 260187 260194 + Identifier 260187 260194 + UndefinedKeyword 260196 260206 + Block 260206 260300 + ReturnStatement 260208 260293 + CallExpression 260224 260292 + Identifier 260224 260240 + BinaryExpression 260241 260291 + PropertyAccessExpression 260241 260254 + Identifier 260241 260247 + Identifier 260248 260254 + AmpersandAmpersandToken 260254 260257 + CallExpression 260257 260291 + Identifier 260257 260276 + PropertyAccessExpression 260277 260290 + Identifier 260277 260283 + Identifier 260284 260290 + FunctionDeclaration 260300 260621 + Identifier 260316 260358 + Parameter 260359 260373 + Identifier 260359 260365 + TypeReference 260366 260373 + Identifier 260366 260373 + Block 260374 260621 + ReturnStatement 260376 260614 + ConditionalExpression 260392 260613 + BinaryExpression 260392 260518 + BinaryExpression 260392 260451 + PropertyAccessExpression 260392 260422 + PropertyAccessExpression 260392 260416 + Identifier 260392 260399 + Identifier 260400 260416 + QuestionDotToken 260416 260418 + Identifier 260418 260422 + EqualsEqualsEqualsToken 260422 260426 + PropertyAccessExpression 260426 260451 + Identifier 260426 260437 + Identifier 260438 260451 + BarBarToken 260451 260454 + BinaryExpression 260454 260518 + PropertyAccessExpression 260454 260484 + PropertyAccessExpression 260454 260478 + Identifier 260454 260461 + Identifier 260462 260478 + QuestionDotToken 260478 260480 + Identifier 260480 260484 + EqualsEqualsEqualsToken 260484 260488 + PropertyAccessExpression 260488 260518 + Identifier 260488 260499 + Identifier 260500 260518 + QuestionToken 260518 260533 + BinaryExpression 260533 260591 + CallExpression 260533 260581 + Identifier 260533 260549 + PropertyAccessExpression 260550 260580 + PropertyAccessExpression 260550 260573 + Identifier 260550 260556 + Identifier 260557 260573 + Identifier 260574 260580 + BarBarToken 260581 260584 + Identifier 260584 260591 + ColonToken 260591 260606 + Identifier 260606 260613 + FunctionDeclaration 260621 262713 + Identifier 260637 260669 + Parameter 260670 260684 + Identifier 260670 260676 + TypeReference 260677 260684 + Identifier 260677 260684 + Parameter 260685 260712 + Identifier 260685 260706 + TypeReference 260707 260712 + Identifier 260707 260712 + ArrayType 260714 260723 + TypeReference 260714 260721 + Identifier 260714 260721 + Block 260723 262713 + VariableStatement 260725 260800 + VariableDeclarationList 260725 260799 + VariableDeclaration 260740 260799 + Identifier 260740 260755 + CallExpression 260757 260799 + Identifier 260757 260777 + Identifier 260778 260798 + VariableStatement 260800 260847 + VariableDeclarationList 260800 260846 + VariableDeclaration 260815 260846 + Identifier 260815 260818 + CallExpression 260820 260846 + Identifier 260820 260830 + Identifier 260831 260845 + VariableStatement 260847 260894 + VariableDeclarationList 260847 260893 + VariableDeclaration 260862 260893 + Identifier 260862 260868 + CallExpression 260870 260893 + Identifier 260870 260885 + Identifier 260886 260892 + VariableStatement 260894 260938 + VariableDeclarationList 260894 260937 + VariableDeclaration 260907 260937 + Identifier 260907 260915 + UnionType 260916 260937 + ArrayType 260916 260925 + TypeReference 260916 260923 + Identifier 260916 260923 + UndefinedKeyword 260927 260937 + IfStatement 260938 261079 + BinaryExpression 260952 261036 + PropertyAccessExpression 260952 260982 + Identifier 260952 260957 + Identifier 260958 260982 + AmpersandAmpersandToken 260982 260985 + ParenthesizedExpression 260985 261036 + BinaryExpression 260987 261035 + Identifier 260987 260994 + EqualsToken 260994 260996 + CallExpression 260996 261035 + PropertyAccessExpression 260996 261031 + PropertyAccessExpression 260996 261027 + Identifier 260996 261002 + Identifier 261003 261027 + Identifier 261028 261031 + Identifier 261032 261034 + Block 261037 261079 + ReturnStatement 261039 261068 + Identifier 261059 261067 + IfStatement 261079 262049 + BinaryExpression 261093 261133 + Identifier 261093 261107 + AmpersandAmpersandToken 261107 261110 + PropertyAccessExpression 261110 261133 + Identifier 261110 261125 + Identifier 261126 261133 + Block 261134 262049 + ForOfStatement 261136 261836 + VariableDeclarationList 261252 261267 + VariableDeclaration 261257 261267 + Identifier 261257 261267 + PropertyAccessExpression 261270 261293 + Identifier 261270 261285 + Identifier 261286 261293 + Block 261294 261836 + IfStatement 261296 261357 + CallExpression 261318 261346 + Identifier 261318 261335 + Identifier 261336 261345 + ContinueStatement 261347 261357 + VariableStatement 261357 261593 + VariableDeclarationList 261357 261592 + VariableDeclaration 261493 261592 + Identifier 261493 261508 + CallExpression 261510 261592 + Identifier 261510 261536 + Identifier 261537 261557 + Identifier 261558 261568 + TrueKeyword 261569 261591 + IfStatement 261593 261641 + PrefixUnaryExpression 261615 261630 + Identifier 261616 261630 + ContinueStatement 261631 261641 + VariableStatement 261641 261724 + VariableDeclarationList 261641 261723 + VariableDeclaration 261664 261723 + Identifier 261664 261668 + CallExpression 261670 261723 + Identifier 261670 261699 + Identifier 261700 261714 + Identifier 261715 261722 + IfStatement 261724 261761 + PrefixUnaryExpression 261746 261750 + Identifier 261747 261750 + ContinueStatement 261751 261761 + ExpressionStatement 261761 261821 + BinaryExpression 261761 261820 + Identifier 261761 261786 + EqualsToken 261786 261788 + CallExpression 261788 261820 + Identifier 261788 261795 + Identifier 261796 261803 + Identifier 261804 261819 + IfStatement 261836 262038 + CallExpression 261854 261869 + Identifier 261854 261860 + Identifier 261861 261868 + Block 261870 262038 + ExpressionStatement 261872 261989 + CallExpression 261872 261988 + PropertyAccessExpression 261872 261974 + ParenthesizedExpression 261872 261970 + BinaryExpression 261891 261969 + PropertyAccessExpression 261891 261921 + Identifier 261891 261896 + Identifier 261897 261921 + BarBarToken 261921 261924 + ParenthesizedExpression 261924 261969 + BinaryExpression 261926 261968 + PropertyAccessExpression 261926 261956 + Identifier 261926 261931 + Identifier 261932 261956 + EqualsToken 261956 261958 + NewExpression 261958 261968 + Identifier 261962 261966 + Identifier 261971 261974 + Identifier 261975 261977 + NonNullExpression 261978 261987 + Identifier 261978 261986 + ReturnStatement 261989 262023 + NonNullExpression 262013 262022 + Identifier 262013 262021 + IfStatement 262049 262147 + PropertyAccessExpression 262063 262087 + Identifier 262063 262068 + Identifier 262069 262087 + Block 262088 262147 + ReturnStatement 262090 262136 + PropertyAccessExpression 262110 262135 + Identifier 262110 262116 + Identifier 262117 262135 + VariableStatement 262147 262334 + VariableDeclarationList 262147 262333 + VariableDeclaration 262298 262333 + Identifier 262298 262309 + CallExpression 262311 262333 + PropertyAccessExpression 262311 262331 + Identifier 262311 262316 + Identifier 262317 262331 + ForOfStatement 262334 262640 + VariableDeclarationList 262349 262359 + VariableDeclaration 262354 262359 + Identifier 262354 262359 + Identifier 262362 262373 + Block 262374 262640 + IfStatement 262376 262428 + PrefixUnaryExpression 262394 262417 + CallExpression 262395 262417 + Identifier 262395 262411 + Identifier 262412 262416 + ContinueStatement 262418 262428 + VariableStatement 262428 262483 + VariableDeclarationList 262428 262482 + VariableDeclaration 262447 262482 + Identifier 262447 262451 + CallExpression 262453 262482 + Identifier 262453 262476 + Identifier 262477 262481 + VariableStatement 262483 262551 + VariableDeclarationList 262483 262550 + VariableDeclaration 262502 262550 + Identifier 262502 262506 + CallExpression 262508 262550 + Identifier 262508 262537 + Identifier 262538 262541 + Identifier 262542 262549 + IfStatement 262551 262584 + PrefixUnaryExpression 262569 262573 + Identifier 262570 262573 + ContinueStatement 262574 262584 + ExpressionStatement 262584 262629 + BinaryExpression 262584 262628 + Identifier 262584 262605 + EqualsToken 262605 262607 + CallExpression 262607 262628 + Identifier 262607 262614 + Identifier 262615 262622 + Identifier 262623 262627 + ReturnStatement 262640 262706 + BinaryExpression 262656 262705 + PropertyAccessExpression 262656 262681 + Identifier 262656 262662 + Identifier 262663 262681 + EqualsToken 262681 262683 + BinaryExpression 262683 262705 + Identifier 262683 262691 + BarBarToken 262691 262694 + Identifier 262694 262705 + FunctionDeclaration 262713 267631 + Identifier 262918 262940 + Parameter 262941 262955 + Identifier 262941 262947 + TypeReference 262948 262955 + Identifier 262948 262955 + Parameter 262956 262995 + Identifier 262956 262977 + UnionType 262978 262995 + TypeReference 262978 262983 + Identifier 262978 262983 + UndefinedKeyword 262985 262995 + Parameter 262996 263017 + Identifier 262996 263004 + TypeReference 263005 263017 + Identifier 263005 263017 + UnionType 263019 263040 + ArrayType 263019 263028 + TypeReference 263019 263026 + Identifier 263019 263026 + UndefinedKeyword 263030 263040 + Block 263040 267631 + VariableStatement 263042 263096 + VariableDeclarationList 263042 263095 + VariableDeclaration 263057 263095 + Identifier 263057 263067 + CallExpression 263069 263095 + Identifier 263069 263087 + Identifier 263088 263094 + IfStatement 263096 263330 + BinaryExpression 263199 263255 + Identifier 263199 263208 + AmpersandAmpersandToken 263208 263211 + PrefixUnaryExpression 263211 263255 + ParenthesizedExpression 263213 263255 + BinaryExpression 263214 263254 + PropertyAccessExpression 263214 263226 + Identifier 263214 263220 + Identifier 263221 263226 + AmpersandToken 263226 263228 + PropertyAccessExpression 263228 263254 + Identifier 263228 263240 + Identifier 263241 263254 + Block 263256 263330 + ReturnStatement 263258 263319 + CallExpression 263278 263318 + Identifier 263278 263307 + Identifier 263308 263317 + VariableStatement 263330 264592 + VariableDeclarationList 263330 264591 + VariableDeclaration 263345 264591 + Identifier 263345 263356 + CallExpression 263358 264591 + Identifier 263358 263369 + PropertyAccessExpression 263370 263389 + Identifier 263370 263376 + Identifier 263377 263389 + ArrowFunction 263390 264590 + Parameter 263390 263392 + Identifier 263390 263392 + EqualsGreaterThanToken 263392 263395 + Block 263395 264590 + IfStatement 263397 263984 + BinaryExpression 263415 263446 + PrefixUnaryExpression 263415 263434 + CallExpression 263416 263434 + Identifier 263416 263431 + Identifier 263432 263433 + AmpersandAmpersandToken 263434 263437 + PropertyAccessExpression 263437 263446 + Identifier 263437 263439 + Identifier 263440 263446 + Block 263447 263984 + IfStatement 263449 263672 + CallExpression 263519 263573 + Identifier 263519 263563 + PropertyAccessExpression 263564 263572 + Identifier 263564 263565 + Identifier 263566 263572 + Block 263574 263672 + ReturnStatement 263576 263653 + CallExpression 263604 263652 + Identifier 263604 263627 + AsExpression 263628 263651 + PropertyAccessExpression 263628 263636 + Identifier 263628 263629 + Identifier 263630 263636 + TypeReference 263639 263651 + Identifier 263639 263651 + IfStatement 263672 263969 + BinaryExpression 263753 263878 + BinaryExpression 263753 263795 + CallExpression 263753 263776 + Identifier 263753 263766 + PropertyAccessExpression 263767 263775 + Identifier 263767 263768 + Identifier 263769 263775 + AmpersandAmpersandToken 263776 263779 + PropertyAccessExpression 263779 263795 + PropertyAccessExpression 263779 263788 + Identifier 263779 263781 + Identifier 263782 263788 + Identifier 263789 263795 + AmpersandAmpersandToken 263795 263798 + BinaryExpression 263798 263878 + CallExpression 263798 263867 + Identifier 263798 263826 + CallExpression 263827 263866 + Identifier 263827 263849 + PropertyAccessExpression 263850 263865 + PropertyAccessExpression 263850 263858 + Identifier 263850 263851 + Identifier 263852 263858 + Identifier 263859 263865 + EqualsEqualsEqualsToken 263867 263871 + Identifier 263871 263878 + Block 263879 263969 + ReturnStatement 263881 263950 + CallExpression 263909 263949 + Identifier 263909 263932 + PropertyAccessExpression 263933 263948 + PropertyAccessExpression 263933 263941 + Identifier 263933 263934 + Identifier 263935 263941 + Identifier 263942 263948 + IfStatement 263984 264579 + BinaryExpression 264002 264201 + BinaryExpression 264002 264149 + BinaryExpression 264002 264112 + BinaryExpression 264002 264054 + CallExpression 264002 264022 + Identifier 264002 264019 + Identifier 264020 264021 + AmpersandAmpersandToken 264022 264025 + CallExpression 264025 264054 + Identifier 264025 264044 + PropertyAccessExpression 264045 264053 + Identifier 264045 264046 + Identifier 264047 264053 + AmpersandAmpersandToken 264054 264057 + BinaryExpression 264057 264112 + PropertyAccessExpression 264057 264085 + PropertyAccessExpression 264057 264080 + PropertyAccessExpression 264057 264066 + Identifier 264057 264059 + Identifier 264060 264066 + Identifier 264067 264080 + Identifier 264081 264085 + EqualsEqualsEqualsToken 264085 264089 + PropertyAccessExpression 264089 264112 + Identifier 264089 264100 + Identifier 264101 264112 + AmpersandAmpersandToken 264112 264115 + CallExpression 264115 264149 + Identifier 264115 264134 + PropertyAccessExpression 264135 264148 + PropertyAccessExpression 264135 264143 + Identifier 264135 264136 + Identifier 264137 264143 + Identifier 264144 264148 + AmpersandAmpersandToken 264149 264152 + CallExpression 264152 264201 + Identifier 264152 264175 + PropertyAccessExpression 264176 264200 + PropertyAccessExpression 264176 264189 + PropertyAccessExpression 264176 264184 + Identifier 264176 264177 + Identifier 264178 264184 + Identifier 264185 264189 + Identifier 264190 264200 + Block 264202 264579 + IfStatement 264204 264419 + BinaryExpression 264226 264321 + CallExpression 264226 264272 + Identifier 264226 264257 + PropertyAccessExpression 264258 264271 + PropertyAccessExpression 264258 264266 + Identifier 264258 264259 + Identifier 264260 264266 + Identifier 264267 264271 + BarBarToken 264272 264275 + CallExpression 264275 264321 + Identifier 264275 264295 + PropertyAccessExpression 264296 264320 + PropertyAccessExpression 264296 264309 + PropertyAccessExpression 264296 264304 + Identifier 264296 264297 + Identifier 264298 264304 + Identifier 264305 264309 + Identifier 264310 264320 + Block 264322 264419 + ReturnStatement 264324 264400 + CallExpression 264352 264399 + Identifier 264352 264375 + CallExpression 264376 264398 + Identifier 264376 264395 + Identifier 264396 264397 + ExpressionStatement 264419 264485 + CallExpression 264419 264484 + Identifier 264419 264458 + PropertyAccessExpression 264459 264483 + PropertyAccessExpression 264459 264472 + PropertyAccessExpression 264459 264467 + Identifier 264459 264460 + Identifier 264461 264467 + Identifier 264468 264472 + Identifier 264473 264483 + ReturnStatement 264485 264564 + PropertyAccessExpression 264509 264563 + CallExpression 264509 264548 + Identifier 264509 264522 + PropertyAccessExpression 264523 264547 + PropertyAccessExpression 264523 264536 + PropertyAccessExpression 264523 264531 + Identifier 264523 264524 + Identifier 264525 264531 + Identifier 264532 264536 + Identifier 264537 264547 + Identifier 264549 264563 + IfStatement 264592 264670 + PrefixUnaryExpression 264606 264625 + CallExpression 264607 264625 + Identifier 264607 264613 + Identifier 264614 264624 + Block 264626 264670 + ReturnStatement 264628 264659 + Identifier 264648 264658 + VariableStatement 264670 264808 + VariableDeclarationList 264670 264807 + VariableDeclaration 264685 264807 + Identifier 264685 264696 + CallExpression 264698 264807 + Identifier 264698 264709 + Identifier 264710 264720 + ArrowFunction 264721 264806 + Parameter 264721 264731 + Identifier 264721 264731 + EqualsGreaterThanToken 264731 264734 + ConditionalExpression 264734 264806 + CallExpression 264734 264782 + Identifier 264734 264763 + Identifier 264764 264773 + Identifier 264774 264781 + QuestionToken 264782 264784 + Identifier 264784 264794 + ColonToken 264794 264796 + Identifier 264796 264806 + VariableStatement 264808 264854 + VariableDeclarationList 264808 264853 + VariableDeclaration 264823 264853 + Identifier 264823 264838 + ArrayType 264839 264848 + TypeReference 264839 264846 + Identifier 264839 264846 + ArrayLiteralExpression 264850 264853 + VariableStatement 264854 264905 + VariableDeclarationList 264854 264904 + VariableDeclaration 264867 264904 + Identifier 264867 264889 + ArrayType 264890 264899 + TypeReference 264890 264897 + Identifier 264890 264897 + ArrayLiteralExpression 264901 264904 + ForOfStatement 264905 265189 + VariableDeclarationList 264922 264937 + VariableDeclaration 264927 264937 + Identifier 264927 264937 + Identifier 264940 264951 + Block 264952 265189 + VariableStatement 264954 265037 + VariableDeclarationList 264954 265036 + VariableDeclaration 264973 265036 + ArrayBindingPattern 264973 264994 + BindingElement 264975 264984 + Identifier 264975 264984 + BindingElement 264985 264993 + DotDotDotToken 264985 264989 + Identifier 264989 264993 + CallExpression 264996 265036 + Identifier 264996 265025 + Identifier 265026 265035 + ExpressionStatement 265037 265102 + BinaryExpression 265037 265101 + Identifier 265037 265065 + EqualsToken 265065 265067 + CallExpression 265067 265101 + Identifier 265067 265074 + Identifier 265075 265089 + Identifier 265090 265100 + ExpressionStatement 265102 265178 + BinaryExpression 265102 265177 + Identifier 265102 265137 + EqualsToken 265137 265139 + CallExpression 265139 265177 + Identifier 265139 265148 + Identifier 265149 265170 + Identifier 265171 265176 + ReturnStatement 265189 265259 + CallExpression 265207 265258 + Identifier 265207 265219 + Identifier 265220 265234 + Identifier 265235 265257 + FunctionDeclaration 265259 267436 + Identifier 265279 265308 + Parameter 265309 265326 + Identifier 265309 265318 + TypeReference 265319 265326 + Identifier 265319 265326 + Block 265327 267436 + VariableStatement 265329 265452 + VariableDeclarationList 265329 265451 + VariableDeclaration 265348 265451 + Identifier 265348 265369 + CallExpression 265371 265451 + Identifier 265371 265382 + PropertyAccessExpression 265383 265405 + Identifier 265383 265392 + Identifier 265393 265405 + Identifier 265406 265450 + VariableStatement 265452 265579 + VariableDeclarationList 265452 265578 + VariableDeclaration 265471 265578 + Identifier 265471 265490 + BinaryExpression 265492 265578 + Identifier 265492 265513 + AmpersandAmpersandToken 265513 265516 + CallExpression 265516 265578 + Identifier 265516 265548 + Identifier 265549 265555 + Identifier 265556 265577 + VariableStatement 265579 265682 + VariableDeclarationList 265579 265681 + VariableDeclaration 265598 265681 + Identifier 265598 265621 + CallExpression 265623 265681 + Identifier 265623 265661 + Identifier 265662 265671 + Identifier 265672 265680 + IfStatement 265682 266192 + BinaryExpression 265700 265945 + BinaryExpression 265700 265809 + Identifier 265700 265738 + AmpersandAmpersandToken 265738 265741 + BinaryExpression 265741 265809 + PropertyAccessExpression 265741 265774 + Identifier 265741 265768 + Identifier 265769 265774 + AmpersandToken 265774 265776 + CallExpression 265776 265809 + Identifier 265776 265800 + Identifier 265801 265808 + AmpersandAmpersandToken 265809 265812 + CallExpression 265812 265945 + Identifier 265812 265854 + Identifier 265855 265864 + Identifier 265865 265886 + PropertyAccessExpression 265887 265909 + Identifier 265887 265899 + Identifier 265900 265909 + FalseKeyword 265910 265944 + Block 265960 266192 + ReturnStatement 265962 266099 + CallExpression 265986 266098 + Identifier 265986 265993 + CallExpression 265994 266073 + Identifier 265994 266005 + CallExpression 266006 266052 + Identifier 266006 266017 + ArrayLiteralExpression 266018 266029 + Identifier 266019 266028 + Identifier 266030 266051 + Identifier 266053 266072 + Identifier 266074 266097 + VariableStatement 266192 267149 + VariableDeclarationList 266192 267148 + VariableDeclaration 266492 267148 + Identifier 266492 266511 + ConditionalExpression 266513 267148 + BinaryExpression 266513 266764 + BinaryExpression 266513 266710 + BinaryExpression 266513 266626 + PrefixUnaryExpression 266513 266567 + ParenthesizedExpression 266515 266567 + BinaryExpression 266516 266566 + PropertyAccessExpression 266516 266531 + Identifier 266516 266525 + Identifier 266526 266531 + AmpersandToken 266531 266533 + CallExpression 266533 266566 + Identifier 266533 266557 + Identifier 266558 266565 + AmpersandAmpersandToken 266567 266591 + BinaryExpression 266591 266626 + PropertyAccessExpression 266591 266607 + Identifier 266591 266601 + Identifier 266602 266607 + AmpersandToken 266607 266609 + PropertyAccessExpression 266609 266626 + Identifier 266609 266621 + Identifier 266622 266626 + AmpersandAmpersandToken 266626 266650 + BinaryExpression 266650 266710 + PropertyAccessExpression 266650 266691 + CallExpression 266650 266685 + Identifier 266650 266674 + Identifier 266675 266684 + Identifier 266686 266691 + AmpersandToken 266691 266693 + PropertyAccessExpression 266693 266710 + Identifier 266693 266703 + Identifier 266704 266710 + AmpersandAmpersandToken 266710 266734 + BinaryExpression 266734 266764 + Identifier 266734 266742 + EqualsEqualsEqualsToken 266742 266746 + PropertyAccessExpression 266746 266764 + Identifier 266746 266758 + Identifier 266759 266764 + QuestionToken 266764 266783 + CallExpression 266783 267136 + Identifier 266783 266809 + Identifier 266810 266830 + ArrowFunction 266831 267135 + Parameter 266831 266833 + Identifier 266831 266833 + EqualsGreaterThanToken 266833 266836 + Block 266836 267135 + ReturnStatement 266838 267116 + CallExpression 266866 267115 + Identifier 266866 266879 + Identifier 266880 266881 + ArrowFunction 266882 267114 + Parameter 266882 266884 + Identifier 266882 266884 + EqualsGreaterThanToken 266884 266887 + Block 266887 267114 + IfStatement 266889 267091 + BinaryExpression 266919 267022 + BinaryExpression 266919 266961 + PropertyAccessExpression 266919 266926 + Identifier 266919 266920 + Identifier 266921 266926 + AmpersandToken 266926 266928 + CallExpression 266928 266961 + Identifier 266928 266952 + Identifier 266953 266960 + AmpersandAmpersandToken 266961 266964 + BinaryExpression 266964 267022 + CallExpression 266964 266983 + Identifier 266964 266980 + Identifier 266981 266982 + EqualsEqualsEqualsToken 266983 266987 + CallExpression 266987 267022 + Identifier 266987 267011 + Identifier 267012 267021 + Block 267023 267091 + ReturnStatement 267025 267064 + Identifier 267061 267063 + ColonToken 267136 267138 + Identifier 267138 267148 + VariableStatement 267149 267290 + VariableDeclarationList 267149 267289 + VariableDeclaration 267166 267289 + Identifier 267166 267170 + ConditionalExpression 267172 267289 + Identifier 267172 267191 + QuestionToken 267191 267193 + ArrayLiteralExpression 267193 267250 + Identifier 267195 267213 + SpreadElement 267214 267238 + Identifier 267218 267238 + Identifier 267239 267249 + ColonToken 267250 267252 + ArrayLiteralExpression 267252 267289 + SpreadElement 267254 267277 + Identifier 267257 267277 + Identifier 267278 267288 + ExpressionStatement 267290 267346 + BinaryExpression 267290 267345 + Identifier 267290 267307 + EqualsToken 267307 267309 + CallExpression 267309 267345 + Identifier 267309 267316 + Identifier 267317 267320 + Identifier 267321 267344 + ExpressionStatement 267346 267400 + BinaryExpression 267346 267399 + Identifier 267346 267363 + EqualsToken 267363 267365 + CallExpression 267365 267399 + Identifier 267365 267374 + Identifier 267375 267378 + Identifier 267379 267398 + ReturnStatement 267400 267425 + Identifier 267420 267424 + FunctionDeclaration 267436 267624 + Identifier 267456 267500 + Parameter 267501 267515 + Identifier 267501 267502 + TypeReference 267503 267515 + Identifier 267503 267515 + Block 267516 267624 + ReturnStatement 267518 267613 + BinaryExpression 267538 267612 + Identifier 267538 267548 + AmpersandAmpersandToken 267548 267551 + CallExpression 267551 267612 + Identifier 267551 267598 + Identifier 267599 267600 + Identifier 267601 267611 + FunctionDeclaration 267631 268642 + Identifier 267647 267685 + Parameter 267686 267700 + Identifier 267686 267692 + TypeReference 267693 267700 + Identifier 267693 267700 + Parameter 267701 267722 + Identifier 267701 267709 + TypeReference 267710 267722 + Identifier 267710 267722 + Block 267723 268642 + VariableStatement 267725 268249 + VariableDeclarationList 267725 268248 + VariableDeclaration 268161 268248 + Identifier 268161 268171 + UnionType 268172 268185 + TypeReference 268172 268177 + Identifier 268172 268177 + LiteralType 268179 268185 + FalseKeyword 268179 268185 + BinaryExpression 268187 268248 + PrefixUnaryExpression 268187 268217 + PrefixUnaryExpression 268189 268217 + CallExpression 268190 268217 + Identifier 268190 268196 + PropertyAccessExpression 268197 268216 + Identifier 268197 268203 + Identifier 268204 268216 + AmpersandAmpersandToken 268217 268220 + CallExpression 268220 268248 + Identifier 268220 268226 + NonNullExpression 268227 268247 + PropertyAccessExpression 268227 268246 + Identifier 268227 268233 + Identifier 268234 268246 + IfStatement 268249 268635 + BinaryExpression 268263 268366 + BinaryExpression 268263 268323 + BinaryExpression 268263 268303 + BinaryExpression 268263 268290 + Identifier 268263 268270 + AmpersandToken 268270 268272 + PropertyAccessExpression 268272 268290 + Identifier 268272 268284 + Identifier 268285 268290 + AmpersandAmpersandToken 268290 268293 + Identifier 268293 268303 + AmpersandAmpersandToken 268303 268306 + PropertyAccessExpression 268306 268323 + Identifier 268306 268316 + Identifier 268317 268323 + AmpersandAmpersandToken 268323 268326 + CallExpression 268326 268366 + Identifier 268326 268348 + PropertyAccessExpression 268349 268365 + Identifier 268349 268358 + Identifier 268359 268365 + Block 268367 268635 + IfStatement 268369 268624 + BinaryExpression 268387 268540 + BinaryExpression 268387 268469 + CallExpression 268387 268423 + Identifier 268387 268412 + Identifier 268413 268422 + AmpersandAmpersandToken 268423 268426 + BinaryExpression 268426 268469 + Identifier 268426 268436 + EqualsEqualsEqualsToken 268436 268440 + PropertyAccessExpression 268440 268469 + PropertyAccessExpression 268440 268457 + Identifier 268440 268450 + Identifier 268451 268457 + Identifier 268458 268469 + BarBarToken 268469 268472 + BinaryExpression 268472 268540 + CallExpression 268472 268501 + Identifier 268472 268490 + Identifier 268491 268500 + AmpersandAmpersandToken 268501 268504 + BinaryExpression 268504 268540 + Identifier 268504 268514 + EqualsEqualsEqualsToken 268514 268518 + PropertyAccessExpression 268518 268540 + PropertyAccessExpression 268518 268535 + Identifier 268518 268528 + Identifier 268529 268535 + Identifier 268536 268540 + Block 268541 268624 + ReturnStatement 268543 268609 + CallExpression 268567 268608 + Identifier 268567 268590 + PropertyAccessExpression 268591 268607 + Identifier 268591 268600 + Identifier 268601 268607 + FunctionDeclaration 268642 269027 + Identifier 268658 268705 + Parameter 268706 268720 + Identifier 268706 268707 + TypeReference 268708 268720 + Identifier 268708 268720 + Parameter 268721 268739 + Identifier 268721 268731 + TypeReference 268732 268739 + Identifier 268732 268739 + Block 268740 269027 + VariableStatement 268742 268801 + VariableDeclarationList 268742 268800 + VariableDeclaration 268757 268800 + Identifier 268757 268768 + CallExpression 268770 268800 + Identifier 268770 268797 + Identifier 268798 268799 + VariableStatement 268801 268920 + VariableDeclarationList 268801 268919 + VariableDeclaration 268816 268919 + Identifier 268816 268825 + BinaryExpression 268827 268919 + BinaryExpression 268827 268860 + Identifier 268827 268838 + AmpersandAmpersandToken 268838 268841 + PropertyAccessExpression 268841 268860 + Identifier 268841 268852 + Identifier 268853 268860 + AmpersandAmpersandToken 268860 268863 + CallExpression 268863 268919 + PropertyAccessExpression 268863 268886 + PropertyAccessExpression 268863 268882 + Identifier 268863 268874 + Identifier 268875 268882 + Identifier 268883 268886 + PropertyAccessExpression 268887 268918 + Identifier 268887 268905 + Identifier 268906 268918 + ReturnStatement 268920 269020 + ConditionalExpression 268936 269019 + BinaryExpression 268936 268994 + Identifier 268936 268945 + AmpersandAmpersandToken 268945 268948 + CallExpression 268948 268994 + Identifier 268948 268973 + Identifier 268974 268982 + Identifier 268983 268993 + QuestionToken 268994 268996 + Identifier 268996 269007 + ColonToken 269007 269009 + Identifier 269009 269019 + FunctionDeclaration 269027 270086 + Identifier 269043 269072 + Parameter 269073 269090 + Identifier 269073 269082 + TypeReference 269083 269090 + Identifier 269083 269090 + Parameter 269091 269106 + Identifier 269091 269098 + TypeReference 269099 269106 + Identifier 269099 269106 + Block 269107 270086 + IfStatement 269109 269285 + BinaryExpression 269123 269162 + Identifier 269123 269132 + EqualsEqualsEqualsToken 269132 269136 + CallExpression 269136 269162 + Identifier 269136 269154 + Identifier 269155 269161 + Block 269163 269285 + ReturnStatement 269165 269274 + Identifier 269266 269273 + VariableStatement 269285 269566 + VariableDeclarationList 269285 269565 + VariableDeclaration 269474 269565 + Identifier 269474 269487 + BinaryExpression 269489 269565 + PropertyAccessExpression 269489 269507 + Identifier 269489 269499 + Identifier 269500 269507 + AmpersandAmpersandToken 269507 269510 + CallExpression 269510 269565 + PropertyAccessExpression 269510 269532 + PropertyAccessExpression 269510 269528 + Identifier 269510 269520 + Identifier 269521 269528 + Identifier 269529 269532 + PropertyAccessExpression 269533 269564 + Identifier 269533 269551 + Identifier 269552 269564 + IfStatement 269566 269687 + BinaryExpression 269580 269642 + Identifier 269580 269592 + AmpersandAmpersandToken 269592 269595 + CallExpression 269595 269642 + Identifier 269595 269620 + Identifier 269621 269633 + Identifier 269634 269641 + Block 269643 269687 + ReturnStatement 269645 269676 + Identifier 269665 269675 + VariableStatement 269687 269743 + VariableDeclarationList 269687 269742 + VariableDeclaration 269702 269742 + Identifier 269702 269710 + CallExpression 269712 269742 + Identifier 269712 269731 + Identifier 269732 269741 + VariableStatement 269743 269799 + VariableDeclarationList 269743 269798 + VariableDeclaration 269758 269798 + Identifier 269758 269764 + CallExpression 269766 269798 + PropertyAccessExpression 269766 269778 + Identifier 269766 269774 + Identifier 269775 269778 + PropertyAccessExpression 269779 269797 + Identifier 269779 269785 + Identifier 269786 269797 + IfStatement 269799 269902 + BinaryExpression 269813 269861 + Identifier 269813 269818 + AmpersandAmpersandToken 269818 269821 + CallExpression 269821 269861 + Identifier 269821 269846 + Identifier 269847 269852 + Identifier 269853 269860 + Block 269862 269902 + ReturnStatement 269864 269891 + Identifier 269884 269890 + ReturnStatement 269902 270079 + CallExpression 269918 270078 + Identifier 269918 269931 + Identifier 269932 269939 + ArrowFunction 269940 270077 + Parameter 269940 269949 + Identifier 269940 269949 + EqualsGreaterThanToken 269949 269952 + Block 269952 270077 + IfStatement 269954 270066 + CallExpression 269972 270014 + Identifier 269972 269996 + Identifier 269997 270005 + Identifier 270006 270013 + Block 270015 270066 + ReturnStatement 270017 270051 + Identifier 270041 270050 + FunctionDeclaration 270086 270425 + Identifier 270208 270233 + Parameter 270234 270244 + Identifier 270234 270236 + TypeReference 270237 270244 + Identifier 270237 270244 + Parameter 270245 270256 + Identifier 270245 270248 + TypeReference 270249 270256 + Identifier 270249 270256 + Block 270257 270425 + IfStatement 270259 270418 + BinaryExpression 270273 270380 + CallExpression 270273 270324 + Identifier 270273 270288 + CallExpression 270289 270323 + Identifier 270289 270302 + CallExpression 270303 270322 + Identifier 270303 270318 + Identifier 270319 270321 + EqualsEqualsEqualsToken 270324 270328 + CallExpression 270328 270380 + Identifier 270328 270344 + CallExpression 270345 270379 + Identifier 270345 270358 + CallExpression 270359 270378 + Identifier 270359 270374 + Identifier 270375 270377 + Block 270381 270418 + ReturnStatement 270383 270407 + Identifier 270403 270406 + FunctionDeclaration 270425 270505 + Identifier 270441 270480 + Parameter 270481 270495 + Identifier 270481 270487 + TypeReference 270488 270495 + Identifier 270488 270495 + TypeReference 270497 270504 + Identifier 270497 270504 + FunctionDeclaration 270505 270607 + Identifier 270519 270558 + Parameter 270559 270585 + Identifier 270559 270565 + UnionType 270566 270585 + TypeReference 270566 270573 + Identifier 270566 270573 + UndefinedKeyword 270575 270585 + UnionType 270587 270606 + TypeReference 270587 270594 + Identifier 270587 270594 + UndefinedKeyword 270596 270606 + FunctionDeclaration 270607 270841 + Identifier 270621 270660 + Parameter 270661 270687 + Identifier 270661 270667 + UnionType 270668 270687 + TypeReference 270668 270675 + Identifier 270668 270675 + UndefinedKeyword 270677 270687 + UnionType 270689 270708 + TypeReference 270689 270696 + Identifier 270689 270696 + UndefinedKeyword 270698 270708 + Block 270708 270841 + ReturnStatement 270710 270834 + CallExpression 270726 270833 + Identifier 270726 270742 + BinaryExpression 270743 270832 + BinaryExpression 270743 270822 + BinaryExpression 270743 270799 + Identifier 270743 270749 + AmpersandAmpersandToken 270749 270752 + BinaryExpression 270752 270799 + ParenthesizedExpression 270752 270793 + BinaryExpression 270754 270792 + PropertyAccessExpression 270754 270766 + Identifier 270754 270760 + Identifier 270761 270766 + AmpersandToken 270766 270768 + PropertyAccessExpression 270768 270792 + Identifier 270768 270780 + Identifier 270781 270792 + ExclamationEqualsEqualsToken 270793 270797 + NumericLiteral 270797 270799 + AmpersandAmpersandToken 270799 270802 + PropertyAccessExpression 270802 270822 + Identifier 270802 270809 + Identifier 270810 270822 + BarBarToken 270822 270825 + Identifier 270825 270832 + FunctionDeclaration 270841 271137 + Identifier 270857 270871 + Parameter 270872 270886 + Identifier 270872 270878 + TypeReference 270879 270886 + Identifier 270879 270886 + Parameter 270887 270920 + Identifier 270887 270910 + QuestionToken 270910 270911 + BooleanKeyword 270912 270920 + BooleanKeyword 270922 270930 + Block 270930 271137 + ReturnStatement 270932 271130 + PrefixUnaryExpression 270948 271129 + PrefixUnaryExpression 270950 271129 + ParenthesizedExpression 270951 271129 + BinaryExpression 270952 271118 + BinaryExpression 270952 270998 + PropertyAccessExpression 270952 270978 + Identifier 270952 270972 + Identifier 270973 270978 + AmpersandToken 270978 270980 + PropertyAccessExpression 270980 270998 + Identifier 270980 270992 + Identifier 270993 270998 + BarBarToken 270998 271001 + BinaryExpression 271001 271118 + BinaryExpression 271001 271047 + PropertyAccessExpression 271001 271027 + Identifier 271001 271021 + Identifier 271022 271027 + AmpersandToken 271027 271029 + PropertyAccessExpression 271029 271047 + Identifier 271029 271041 + Identifier 271042 271047 + AmpersandAmpersandToken 271047 271050 + BinaryExpression 271050 271118 + CallExpression 271050 271098 + Identifier 271050 271065 + Identifier 271066 271072 + PrefixUnaryExpression 271073 271097 + Identifier 271075 271097 + AmpersandToken 271098 271100 + PropertyAccessExpression 271100 271118 + Identifier 271100 271112 + Identifier 271113 271118 + FunctionDeclaration 271137 271363 + Identifier 271153 271164 + Parameter 271165 271181 + Identifier 271165 271170 + TypeReference 271171 271181 + Identifier 271171 271181 + TypeReference 271183 271188 + Identifier 271183 271188 + Block 271188 271363 + VariableStatement 271190 271240 + VariableDeclarationList 271190 271239 + VariableDeclaration 271205 271239 + Identifier 271205 271212 + NewExpression 271214 271239 + Identifier 271218 271223 + Identifier 271224 271231 + Identifier 271232 271238 + ExpressionStatement 271240 271262 + PostfixUnaryExpression 271240 271261 + Identifier 271240 271259 + ExpressionStatement 271262 271294 + BinaryExpression 271262 271293 + PropertyAccessExpression 271262 271281 + Identifier 271262 271278 + Identifier 271279 271281 + EqualsToken 271281 271283 + Identifier 271283 271293 + ExpressionStatement 271294 271332 + CallExpression 271294 271331 + PropertyAccessExpression 271294 271323 + Identifier 271294 271311 + QuestionDotToken 271311 271313 + Identifier 271313 271323 + Identifier 271324 271330 + ReturnStatement 271332 271356 + Identifier 271348 271355 + FunctionDeclaration 271363 271549 + Identifier 271379 271400 + Parameter 271401 271417 + Identifier 271401 271406 + TypeReference 271407 271417 + Identifier 271407 271417 + Parameter 271418 271433 + Identifier 271418 271425 + TypeReference 271426 271433 + Identifier 271426 271433 + TypeReference 271435 271440 + Identifier 271435 271440 + Block 271440 271549 + VariableStatement 271442 271485 + VariableDeclarationList 271442 271484 + VariableDeclaration 271457 271484 + Identifier 271457 271464 + CallExpression 271466 271484 + Identifier 271466 271477 + Identifier 271478 271483 + ExpressionStatement 271485 271518 + BinaryExpression 271485 271517 + PropertyAccessExpression 271485 271508 + Identifier 271485 271501 + Identifier 271502 271508 + EqualsToken 271508 271510 + Identifier 271510 271517 + ReturnStatement 271518 271542 + Identifier 271534 271541 + FunctionDeclaration 271549 271657 + Identifier 271565 271582 + Parameter 271583 271599 + Identifier 271583 271588 + TypeReference 271589 271599 + Identifier 271589 271599 + TypeReference 271601 271606 + Identifier 271601 271606 + Block 271606 271657 + ReturnStatement 271608 271650 + NewExpression 271624 271649 + Identifier 271628 271633 + Identifier 271634 271641 + Identifier 271642 271648 + FunctionDeclaration 271657 272269 + Identifier 271673 271693 + Parameter 271694 271709 + Identifier 271694 271698 + TypeReference 271699 271709 + Identifier 271699 271709 + Parameter 271710 271732 + Identifier 271710 271724 + StringKeyword 271725 271732 + Parameter 271733 271764 + Identifier 271733 271745 + PropertyAccessExpression 271747 271764 + Identifier 271747 271759 + Identifier 271760 271764 + Parameter 271765 271793 + Identifier 271765 271784 + QuestionToken 271784 271785 + StringKeyword 271786 271793 + TypeReference 271795 271809 + Identifier 271795 271809 + Block 271809 272269 + ExpressionStatement 271811 271875 + CallExpression 271811 271874 + Identifier 271811 271839 + Identifier 271840 271853 + Identifier 271854 271873 + VariableStatement 271875 271932 + VariableDeclarationList 271875 271931 + VariableDeclaration 271890 271931 + Identifier 271890 271895 + AsExpression 271897 271931 + CallExpression 271897 271914 + Identifier 271897 271908 + Identifier 271909 271913 + TypeReference 271917 271931 + Identifier 271917 271931 + ExpressionStatement 271932 271977 + BinaryExpression 271932 271976 + PropertyAccessExpression 271932 271960 + Identifier 271932 271946 + Identifier 271947 271960 + EqualsToken 271960 271962 + Identifier 271962 271976 + ExpressionStatement 271977 272032 + BinaryExpression 271977 272031 + PropertyAccessExpression 271977 272010 + Identifier 271977 271991 + Identifier 271992 272010 + EqualsToken 272010 272012 + Identifier 272012 272031 + ExpressionStatement 272032 272240 + BinaryExpression 272032 272239 + PropertyAccessExpression 272032 272058 + Identifier 272032 272046 + Identifier 272047 272058 + EqualsToken 272058 272060 + BinaryExpression 272060 272239 + BinaryExpression 272060 272197 + BinaryExpression 272060 272156 + BinaryExpression 272060 272120 + Identifier 272060 272072 + BarToken 272072 272074 + PropertyAccessExpression 272074 272120 + Identifier 272074 272086 + Identifier 272087 272120 + BarToken 272120 272122 + PropertyAccessExpression 272122 272156 + Identifier 272122 272134 + Identifier 272135 272156 + BarToken 272156 272158 + PropertyAccessExpression 272158 272197 + Identifier 272158 272170 + Identifier 272171 272197 + BarToken 272197 272199 + PropertyAccessExpression 272199 272239 + Identifier 272199 272211 + Identifier 272212 272239 + ReturnStatement 272240 272262 + Identifier 272256 272261 + FunctionDeclaration 272269 272642 + Identifier 272285 272304 + Parameter 272305 272317 + Identifier 272305 272309 + StringKeyword 272310 272317 + Parameter 272318 272344 + Identifier 272318 272324 + UnionType 272325 272344 + StringKeyword 272325 272332 + UndefinedKeyword 272334 272344 + Block 272345 272642 + VariableStatement 272347 272394 + VariableDeclarationList 272347 272393 + VariableDeclaration 272362 272393 + Identifier 272362 272366 + TemplateExpression 272368 272393 + TemplateHead 272368 272372 + TemplateSpan 272372 272380 + Identifier 272372 272376 + TemplateMiddle 272376 272380 + TemplateSpan 272380 272393 + BinaryExpression 272380 272391 + Identifier 272380 272385 + QuestionQuestionToken 272385 272388 + StringLiteral 272388 272391 + TemplateTail 272391 272393 + IfStatement 272394 272597 + CallExpression 272408 272435 + PropertyAccessExpression 272408 272430 + Identifier 272408 272426 + Identifier 272427 272430 + Identifier 272431 272434 + Block 272436 272597 + ExpressionStatement 272438 272586 + CallExpression 272438 272585 + PropertyAccessExpression 272438 272462 + Identifier 272438 272457 + Identifier 272458 272462 + TemplateExpression 272463 272584 + TemplateHead 272463 272496 + TemplateSpan 272496 272503 + Identifier 272496 272500 + TemplateMiddle 272500 272503 + TemplateSpan 272503 272584 + ConditionalExpression 272503 272529 + Identifier 272503 272508 + QuestionToken 272508 272510 + TemplateExpression 272510 272524 + TemplateHead 272510 272516 + TemplateSpan 272516 272524 + Identifier 272516 272521 + TemplateTail 272521 272524 + ColonToken 272524 272526 + StringLiteral 272526 272529 + TemplateTail 272529 272584 + ExpressionStatement 272597 272635 + CallExpression 272597 272634 + PropertyAccessExpression 272597 272629 + Identifier 272597 272625 + Identifier 272626 272629 + Identifier 272630 272633 + FunctionDeclaration 272642 273087 + Identifier 272658 272675 + Parameter 272676 272700 + Identifier 272676 272687 + TypeReference 272688 272700 + Identifier 272688 272700 + Parameter 272701 272717 + Identifier 272701 272708 + QuestionToken 272708 272709 + TypeReference 272710 272717 + Identifier 272710 272717 + TypeReference 272719 272730 + Identifier 272719 272730 + Block 272730 273087 + VariableStatement 272732 272817 + VariableDeclarationList 272732 272816 + VariableDeclaration 272747 272816 + Identifier 272747 272752 + AsExpression 272754 272816 + CallExpression 272754 272802 + Identifier 272754 272775 + PropertyAccessExpression 272776 272792 + Identifier 272776 272785 + Identifier 272786 272792 + NonNullExpression 272793 272801 + Identifier 272793 272800 + TypeReference 272805 272816 + Identifier 272805 272816 + ExpressionStatement 272817 272858 + BinaryExpression 272817 272857 + PropertyAccessExpression 272817 272843 + Identifier 272817 272831 + Identifier 272832 272843 + EqualsToken 272843 272845 + Identifier 272845 272857 + ExpressionStatement 272858 272893 + BinaryExpression 272858 272892 + PropertyAccessExpression 272858 272880 + Identifier 272858 272872 + Identifier 272873 272880 + EqualsToken 272880 272882 + Identifier 272882 272892 + ExpressionStatement 272893 272931 + BinaryExpression 272893 272930 + PropertyAccessExpression 272893 272918 + Identifier 272893 272907 + Identifier 272908 272918 + EqualsToken 272918 272920 + Identifier 272920 272930 + ExpressionStatement 272931 272973 + BinaryExpression 272931 272972 + PropertyAccessExpression 272931 272960 + Identifier 272931 272945 + Identifier 272946 272960 + EqualsToken 272960 272962 + Identifier 272962 272972 + ExpressionStatement 272973 273020 + BinaryExpression 272973 273019 + PropertyAccessExpression 272973 273007 + Identifier 272973 272987 + Identifier 272988 273007 + EqualsToken 273007 273009 + Identifier 273009 273019 + ExpressionStatement 273020 273058 + BinaryExpression 273020 273057 + PropertyAccessExpression 273020 273045 + Identifier 273020 273034 + Identifier 273035 273045 + EqualsToken 273045 273047 + Identifier 273047 273057 + ReturnStatement 273058 273080 + Identifier 273074 273079 + FunctionDeclaration 273087 273216 + Identifier 273103 273120 + Block 273122 273216 + ReturnStatement 273124 273209 + CallExpression 273140 273208 + Identifier 273140 273153 + CallExpression 273154 273207 + Identifier 273154 273163 + CallExpression 273164 273184 + PropertyAccessExpression 273164 273182 + Identifier 273164 273177 + Identifier 273178 273182 + Identifier 273185 273206 + FunctionDeclaration 273216 273367 + Identifier 273232 273252 + Parameter 273253 273268 + Identifier 273253 273259 + QuestionToken 273259 273260 + TypeReference 273261 273268 + Identifier 273261 273268 + Block 273269 273367 + ReturnStatement 273271 273360 + AsExpression 273287 273359 + CallExpression 273287 273342 + Identifier 273287 273308 + PropertyAccessExpression 273309 273332 + Identifier 273309 273318 + Identifier 273319 273332 + NonNullExpression 273333 273341 + Identifier 273333 273340 + TypeReference 273345 273359 + Identifier 273345 273359 + FunctionDeclaration 273367 274176 + Identifier 273785 273806 + Parameter 273807 273821 + Identifier 273807 273811 + TypeReference 273812 273821 + Identifier 273812 273821 + Block 273822 274176 + ReturnStatement 273824 274169 + BinaryExpression 273840 274168 + BinaryExpression 273840 274097 + BinaryExpression 273840 274028 + BinaryExpression 273840 273960 + BinaryExpression 273840 273892 + CallExpression 273840 273871 + PropertyAccessExpression 273840 273868 + ParenthesizedExpression 273840 273857 + AsExpression 273842 273856 + Identifier 273842 273846 + StringKeyword 273849 273856 + Identifier 273858 273868 + NumericLiteral 273869 273870 + EqualsEqualsEqualsToken 273871 273875 + PropertyAccessExpression 273875 273892 + Identifier 273875 273890 + Identifier 273891 273892 + AmpersandAmpersandToken 273892 273895 + BinaryExpression 273895 273960 + CallExpression 273895 273939 + PropertyAccessExpression 273895 273936 + ParenthesizedExpression 273895 273925 + AsExpression 273910 273924 + Identifier 273910 273914 + StringKeyword 273917 273924 + Identifier 273926 273936 + NumericLiteral 273937 273938 + EqualsEqualsEqualsToken 273939 273943 + PropertyAccessExpression 273943 273960 + Identifier 273943 273958 + Identifier 273959 273960 + AmpersandAmpersandToken 273960 273963 + BinaryExpression 273963 274028 + CallExpression 273963 274007 + PropertyAccessExpression 273963 274004 + ParenthesizedExpression 273963 273993 + AsExpression 273978 273992 + Identifier 273978 273982 + StringKeyword 273985 273992 + Identifier 273994 274004 + NumericLiteral 274005 274006 + ExclamationEqualsEqualsToken 274007 274011 + PropertyAccessExpression 274011 274028 + Identifier 274011 274026 + Identifier 274027 274028 + AmpersandAmpersandToken 274028 274031 + BinaryExpression 274031 274097 + CallExpression 274031 274075 + PropertyAccessExpression 274031 274072 + ParenthesizedExpression 274031 274061 + AsExpression 274046 274060 + Identifier 274046 274050 + StringKeyword 274053 274060 + Identifier 274062 274072 + NumericLiteral 274073 274074 + ExclamationEqualsEqualsToken 274075 274079 + PropertyAccessExpression 274079 274097 + Identifier 274079 274094 + Identifier 274095 274097 + AmpersandAmpersandToken 274097 274100 + BinaryExpression 274100 274168 + CallExpression 274100 274144 + PropertyAccessExpression 274100 274141 + ParenthesizedExpression 274100 274130 + AsExpression 274115 274129 + Identifier 274115 274119 + StringKeyword 274122 274129 + Identifier 274131 274141 + NumericLiteral 274142 274143 + ExclamationEqualsEqualsToken 274144 274148 + PropertyAccessExpression 274148 274168 + Identifier 274148 274163 + Identifier 274164 274168 + FunctionDeclaration 274176 274504 + Identifier 274192 274208 + Parameter 274209 274229 + Identifier 274209 274216 + TypeReference 274217 274229 + Identifier 274217 274229 + ArrayType 274231 274240 + TypeReference 274231 274238 + Identifier 274231 274238 + Block 274240 274504 + VariableStatement 274242 274285 + VariableDeclarationList 274242 274284 + VariableDeclaration 274255 274284 + Identifier 274255 274262 + UnionType 274263 274284 + ArrayType 274263 274272 + TypeReference 274263 274270 + Identifier 274263 274270 + UndefinedKeyword 274274 274284 + ExpressionStatement 274285 274459 + CallExpression 274285 274458 + PropertyAccessExpression 274285 274310 + Identifier 274285 274302 + Identifier 274303 274310 + ArrowFunction 274311 274457 + Parameter 274312 274318 + Identifier 274312 274318 + Parameter 274319 274322 + Identifier 274319 274322 + EqualsGreaterThanToken 274323 274326 + Block 274326 274457 + IfStatement 274328 274446 + CallExpression 274346 274371 + Identifier 274346 274359 + Identifier 274360 274366 + Identifier 274367 274370 + Block 274372 274446 + ExpressionStatement 274374 274431 + CallExpression 274374 274430 + PropertyAccessExpression 274374 274422 + ParenthesizedExpression 274374 274417 + BinaryExpression 274393 274416 + Identifier 274393 274399 + BarBarToken 274399 274402 + ParenthesizedExpression 274402 274416 + BinaryExpression 274404 274415 + Identifier 274404 274410 + EqualsToken 274410 274412 + ArrayLiteralExpression 274412 274415 + Identifier 274418 274422 + Identifier 274423 274429 + ReturnStatement 274459 274497 + BinaryExpression 274475 274496 + Identifier 274475 274482 + BarBarToken 274482 274485 + Identifier 274485 274496 + FunctionDeclaration 274504 274659 + Identifier 274520 274534 + Parameter 274535 274549 + Identifier 274535 274541 + TypeReference 274542 274549 + Identifier 274542 274549 + Parameter 274550 274572 + Identifier 274550 274562 + TypeReference 274563 274572 + Identifier 274563 274572 + Block 274573 274659 + ReturnStatement 274575 274652 + BinaryExpression 274591 274651 + PrefixUnaryExpression 274591 274626 + CallExpression 274593 274626 + Identifier 274593 274613 + Identifier 274614 274625 + AmpersandAmpersandToken 274626 274629 + CallExpression 274629 274651 + Identifier 274629 274643 + Identifier 274644 274650 + FunctionDeclaration 274659 274924 + Identifier 274675 274707 + Parameter 274708 274728 + Identifier 274708 274715 + TypeReference 274716 274728 + Identifier 274716 274728 + ArrayType 274730 274739 + TypeReference 274730 274737 + Identifier 274730 274737 + Block 274739 274924 + VariableStatement 274741 274791 + VariableDeclarationList 274741 274790 + VariableDeclaration 274756 274790 + Identifier 274756 274763 + CallExpression 274765 274790 + Identifier 274765 274781 + Identifier 274782 274789 + VariableStatement 274791 274854 + VariableDeclarationList 274791 274853 + VariableDeclaration 274806 274853 + Identifier 274806 274812 + CallExpression 274814 274853 + Identifier 274814 274844 + Identifier 274845 274852 + ReturnStatement 274854 274917 + ConditionalExpression 274870 274916 + Identifier 274870 274876 + QuestionToken 274876 274878 + CallExpression 274878 274907 + Identifier 274878 274890 + Identifier 274891 274897 + ArrayLiteralExpression 274898 274906 + Identifier 274900 274905 + ColonToken 274907 274909 + Identifier 274909 274916 + FunctionDeclaration 274924 275680 + Identifier 274940 274965 + Parameter 274966 274986 + Identifier 274966 274970 + TypeReference 274971 274986 + Identifier 274971 274986 + Parameter 274987 275008 + Identifier 274987 274995 + TypeReference 274996 275008 + Identifier 274996 275008 + Parameter 275009 275046 + Identifier 275009 275024 + TypeOperator 275025 275046 + ArrayType 275034 275046 + TypeReference 275034 275044 + Identifier 275034 275044 + Parameter 275047 275089 + Identifier 275047 275067 + TypeOperator 275068 275089 + ArrayType 275077 275089 + TypeReference 275077 275087 + Identifier 275077 275087 + Parameter 275090 275123 + Identifier 275090 275101 + TypeOperator 275102 275123 + ArrayType 275111 275123 + TypeReference 275111 275121 + Identifier 275111 275121 + TypeReference 275125 275138 + Identifier 275125 275138 + Block 275138 275680 + VariableStatement 275140 275188 + VariableDeclarationList 275140 275187 + VariableDeclaration 275155 275187 + Identifier 275155 275164 + AsExpression 275166 275187 + Identifier 275166 275171 + TypeReference 275174 275187 + Identifier 275174 275187 + ExpressionStatement 275188 275225 + BinaryExpression 275188 275224 + PropertyAccessExpression 275188 275214 + Identifier 275188 275206 + Identifier 275207 275214 + EqualsToken 275214 275216 + Identifier 275216 275224 + ExpressionStatement 275225 275268 + BinaryExpression 275225 275267 + PropertyAccessExpression 275225 275254 + Identifier 275225 275243 + Identifier 275244 275254 + EqualsToken 275254 275256 + Identifier 275256 275267 + ExpressionStatement 275268 275319 + BinaryExpression 275268 275318 + PropertyAccessExpression 275268 275301 + Identifier 275268 275286 + Identifier 275287 275301 + EqualsToken 275301 275303 + Identifier 275303 275318 + ExpressionStatement 275319 275380 + BinaryExpression 275319 275379 + PropertyAccessExpression 275319 275357 + Identifier 275319 275337 + Identifier 275338 275357 + EqualsToken 275357 275359 + Identifier 275359 275379 + ExpressionStatement 275380 275423 + BinaryExpression 275380 275422 + PropertyAccessExpression 275380 275409 + Identifier 275380 275398 + Identifier 275399 275409 + EqualsToken 275409 275411 + Identifier 275411 275422 + IfStatement 275423 275647 + BinaryExpression 275574 275598 + Identifier 275574 275581 + ExclamationEqualsEqualsToken 275581 275585 + Identifier 275585 275598 + ExpressionStatement 275599 275647 + BinaryExpression 275599 275646 + PropertyAccessExpression 275599 275619 + Identifier 275599 275608 + Identifier 275609 275619 + EqualsToken 275619 275621 + CallExpression 275621 275646 + Identifier 275621 275637 + Identifier 275638 275645 + ReturnStatement 275647 275673 + Identifier 275663 275672 + FunctionDeclaration 275680 276053 + Identifier 275696 275716 + Parameter 275717 275743 + Identifier 275717 275723 + UnionType 275724 275743 + TypeReference 275724 275731 + Identifier 275724 275731 + UndefinedKeyword 275733 275743 + Parameter 275744 275765 + Identifier 275744 275752 + TypeReference 275753 275765 + Identifier 275753 275765 + Parameter 275766 275803 + Identifier 275766 275781 + TypeOperator 275782 275803 + ArrayType 275791 275803 + TypeReference 275791 275801 + Identifier 275791 275801 + Parameter 275804 275846 + Identifier 275804 275824 + TypeOperator 275825 275846 + ArrayType 275834 275846 + TypeReference 275834 275844 + Identifier 275834 275844 + Parameter 275847 275880 + Identifier 275847 275858 + TypeOperator 275859 275880 + ArrayType 275868 275880 + TypeReference 275868 275878 + Identifier 275868 275878 + TypeReference 275882 275895 + Identifier 275882 275895 + Block 275895 276053 + ReturnStatement 275897 276046 + CallExpression 275913 276045 + Identifier 275913 275938 + CallExpression 275939 275986 + Identifier 275939 275955 + PropertyAccessExpression 275956 275977 + Identifier 275956 275967 + Identifier 275968 275977 + Identifier 275978 275985 + Identifier 275987 275995 + Identifier 275996 276011 + Identifier 276012 276032 + Identifier 276033 276044 + FunctionDeclaration 276053 276964 + Identifier 276069 276119 + Parameter 276120 276138 + Identifier 276120 276124 + TypeReference 276125 276138 + Identifier 276125 276138 + Block 276139 276964 + IfStatement 276141 276206 + BinaryExpression 276155 276192 + PropertyAccessExpression 276155 276186 + PropertyAccessExpression 276155 276179 + Identifier 276155 276159 + Identifier 276160 276179 + Identifier 276180 276186 + EqualsEqualsEqualsToken 276186 276190 + NumericLiteral 276190 276192 + ReturnStatement 276193 276206 + Identifier 276200 276205 + IfStatement 276206 276328 + PropertyAccessExpression 276220 276269 + Identifier 276220 276224 + Identifier 276225 276269 + ReturnStatement 276270 276328 + PropertyAccessExpression 276277 276327 + Identifier 276277 276282 + Identifier 276283 276327 + VariableStatement 276328 276458 + VariableDeclarationList 276328 276457 + VariableDeclaration 276343 276457 + Identifier 276343 276363 + CallExpression 276365 276457 + Identifier 276365 276372 + PropertyAccessExpression 276373 276397 + Identifier 276373 276377 + Identifier 276378 276397 + ArrowFunction 276398 276456 + Parameter 276398 276408 + Identifier 276398 276408 + EqualsGreaterThanToken 276408 276411 + PrefixUnaryExpression 276411 276456 + ParenthesizedExpression 276413 276456 + BinaryExpression 276414 276455 + PropertyAccessExpression 276414 276429 + Identifier 276414 276423 + Identifier 276424 276429 + AmpersandToken 276429 276431 + PropertyAccessExpression 276431 276455 + Identifier 276431 276446 + Identifier 276447 276455 + IfStatement 276458 276534 + BinaryExpression 276472 276520 + PropertyAccessExpression 276472 276496 + Identifier 276472 276476 + Identifier 276477 276496 + EqualsEqualsEqualsToken 276496 276500 + Identifier 276500 276520 + ReturnStatement 276521 276534 + Identifier 276528 276533 + VariableStatement 276534 276785 + VariableDeclarationList 276534 276784 + VariableDeclaration 276549 276784 + Identifier 276549 276558 + CallExpression 276560 276784 + Identifier 276560 276580 + PropertyAccessExpression 276581 276606 + Identifier 276581 276599 + Identifier 276600 276606 + PropertyAccessExpression 276607 276633 + Identifier 276607 276625 + Identifier 276626 276633 + PropertyAccessExpression 276634 276667 + Identifier 276634 276652 + Identifier 276653 276667 + ConditionalExpression 276668 276742 + CallExpression 276668 276707 + Identifier 276668 276686 + Identifier 276687 276706 + QuestionToken 276707 276709 + Identifier 276709 276729 + ColonToken 276729 276731 + Identifier 276731 276742 + PropertyAccessExpression 276743 276772 + Identifier 276743 276761 + Identifier 276762 276772 + ExpressionStatement 276785 276856 + BinaryExpression 276785 276855 + PropertyAccessExpression 276785 276844 + Identifier 276785 276799 + Identifier 276800 276844 + EqualsToken 276844 276846 + Identifier 276846 276855 + ExpressionStatement 276856 276931 + BinaryExpression 276856 276930 + PropertyAccessExpression 276856 276919 + Identifier 276856 276874 + Identifier 276875 276919 + EqualsToken 276919 276921 + Identifier 276921 276930 + ReturnStatement 276931 276957 + Identifier 276947 276956 + FunctionDeclaration 276964 280571 + Identifier 276980 277006 + TypeParameter 277007 277008 + Identifier 277007 277008 + Parameter 277010 277048 + Identifier 277010 277030 + UnionType 277031 277048 + TypeReference 277031 277036 + Identifier 277031 277036 + UndefinedKeyword 277038 277048 + Parameter 277049 277169 + Identifier 277049 277058 + FunctionType 277059 277169 + Parameter 277061 277085 + Identifier 277061 277072 + TypeReference 277073 277085 + Identifier 277073 277085 + Parameter 277086 277116 + Identifier 277086 277106 + QuestionToken 277106 277107 + BooleanKeyword 277108 277116 + Parameter 277117 277145 + Identifier 277117 277135 + QuestionToken 277135 277136 + BooleanKeyword 277137 277145 + Parameter 277146 277163 + Identifier 277146 277156 + QuestionToken 277156 277157 + TypeReference 277158 277163 + Identifier 277158 277163 + TypeReference 277167 277169 + Identifier 277167 277169 + TypeReference 277171 277173 + Identifier 277171 277173 + Block 277173 280571 + VariableStatement 277175 277199 + VariableDeclarationList 277175 277198 + VariableDeclaration 277188 277198 + Identifier 277188 277195 + TypeReference 277196 277198 + Identifier 277196 277198 + ForStatement 277199 280464 + VariableDeclarationList 277214 277249 + VariableDeclaration 277217 277249 + Identifier 277217 277226 + Identifier 277228 277249 + Identifier 277250 277259 + BinaryExpression 277260 277287 + Identifier 277260 277269 + EqualsToken 277269 277271 + PropertyAccessExpression 277271 277287 + Identifier 277271 277280 + Identifier 277281 277287 + Block 277288 280464 + IfStatement 277290 277700 + BinaryExpression 277420 277495 + BinaryExpression 277420 277462 + CallExpression 277420 277443 + Identifier 277420 277433 + Identifier 277434 277442 + AmpersandAmpersandToken 277443 277446 + PropertyAccessExpression 277446 277462 + Identifier 277446 277455 + Identifier 277456 277462 + AmpersandAmpersandToken 277462 277465 + PrefixUnaryExpression 277465 277495 + CallExpression 277467 277495 + Identifier 277467 277485 + Identifier 277486 277494 + Block 277496 277700 + IfStatement 277498 277685 + BinaryExpression 277520 277627 + Identifier 277520 277526 + EqualsToken 277526 277528 + CallExpression 277528 277627 + Identifier 277528 277537 + PropertyAccessExpression 277538 277553 + Identifier 277538 277546 + Identifier 277547 277553 + Identifier 277554 277588 + TrueKeyword 277589 277616 + Identifier 277617 277626 + Block 277628 277685 + ReturnStatement 277630 277666 + Identifier 277658 277665 + SwitchStatement 277700 280453 + PropertyAccessExpression 277722 277735 + Identifier 277722 277730 + Identifier 277731 277735 + CaseBlock 277736 280453 + CaseClause 277738 277918 + PropertyAccessExpression 277760 277782 + Identifier 277760 277771 + Identifier 277772 277782 + IfStatement 277783 277918 + PrefixUnaryExpression 277809 277860 + CallExpression 277810 277860 + Identifier 277810 277836 + AsExpression 277837 277859 + Identifier 277837 277845 + TypeReference 277848 277859 + Identifier 277848 277859 + Block 277861 277918 + BreakStatement 277863 277895 + CaseClause 277918 278671 + PropertyAccessExpression 277978 278007 + Identifier 277978 277989 + Identifier 277990 278007 + VariableStatement 278008 278096 + VariableDeclarationList 278008 278095 + VariableDeclaration 278035 278095 + Identifier 278035 278039 + CallExpression 278041 278095 + Identifier 278041 278064 + AsExpression 278065 278094 + Identifier 278065 278073 + TypeReference 278076 278094 + Identifier 278076 278094 + IfStatement 278096 278643 + BinaryExpression 278457 278577 + Identifier 278457 278463 + EqualsToken 278463 278465 + CallExpression 278465 278577 + Identifier 278465 278474 + BinaryExpression 278475 278503 + PropertyAccessExpression 278475 278487 + Identifier 278475 278478 + QuestionDotToken 278478 278480 + Identifier 278480 278487 + BarBarToken 278487 278490 + Identifier 278490 278503 + Identifier 278504 278538 + TrueKeyword 278539 278566 + Identifier 278567 278576 + Block 278578 278643 + ReturnStatement 278580 278620 + Identifier 278612 278619 + BreakStatement 278643 278671 + CaseClause 278671 278722 + PropertyAccessExpression 278693 278721 + Identifier 278693 278704 + Identifier 278705 278721 + CaseClause 278722 278772 + PropertyAccessExpression 278744 278771 + Identifier 278744 278755 + Identifier 278756 278771 + CaseClause 278772 280438 + PropertyAccessExpression 278794 278826 + Identifier 278794 278805 + Identifier 278806 278826 + VariableStatement 278827 279725 + VariableDeclarationList 278827 279724 + VariableDeclaration 279683 279724 + Identifier 279683 279689 + UnionType 279690 279724 + TypeReference 279690 279712 + Identifier 279690 279694 + TypeReference 279695 279703 + Identifier 279695 279703 + TypeReference 279704 279711 + Identifier 279704 279711 + UndefinedKeyword 279714 279724 + ExpressionStatement 279725 280209 + CallExpression 279725 280208 + PropertyAccessExpression 279725 279940 + ParenthesizedExpression 279725 279932 + BinaryExpression 279828 279931 + PropertyAccessExpression 279828 279915 + CallExpression 279828 279907 + Identifier 279828 279850 + AsExpression 279851 279906 + Identifier 279851 279859 + UnionType 279862 279906 + TypeReference 279862 279883 + Identifier 279862 279883 + TypeReference 279885 279906 + Identifier 279885 279906 + Identifier 279908 279915 + BarBarToken 279915 279918 + Identifier 279918 279931 + Identifier 279933 279940 + ArrowFunction 279941 280207 + Parameter 279942 279954 + Identifier 279942 279954 + Parameter 279955 279959 + Identifier 279955 279959 + EqualsGreaterThanToken 279960 279963 + Block 279963 280207 + IfStatement 279965 280184 + BinaryExpression 279995 280060 + PropertyAccessExpression 279995 280013 + Identifier 279995 280007 + Identifier 280008 280013 + AmpersandToken 280013 280015 + ParenthesizedExpression 280015 280060 + BinaryExpression 280017 280059 + PropertyAccessExpression 280017 280033 + Identifier 280017 280028 + Identifier 280029 280033 + AmpersandToken 280033 280035 + PrefixUnaryExpression 280035 280059 + PropertyAccessExpression 280037 280059 + Identifier 280037 280048 + Identifier 280049 280059 + Block 280061 280184 + ExpressionStatement 280063 280157 + CallExpression 280063 280156 + PropertyAccessExpression 280063 280137 + ParenthesizedExpression 280063 280133 + BinaryExpression 280094 280132 + Identifier 280094 280099 + BarBarToken 280099 280102 + ParenthesizedExpression 280102 280132 + BinaryExpression 280104 280131 + Identifier 280104 280109 + EqualsToken 280109 280111 + CallExpression 280111 280131 + Identifier 280111 280129 + Identifier 280134 280137 + Identifier 280138 280141 + Identifier 280142 280155 + IfStatement 280209 280410 + BinaryExpression 280235 280344 + Identifier 280235 280240 + AmpersandAmpersandToken 280240 280243 + ParenthesizedExpression 280243 280344 + BinaryExpression 280245 280343 + Identifier 280245 280251 + EqualsToken 280251 280253 + CallExpression 280253 280343 + Identifier 280253 280262 + Identifier 280263 280268 + Identifier 280269 280303 + FalseKeyword 280304 280332 + Identifier 280333 280342 + Block 280345 280410 + ReturnStatement 280347 280387 + Identifier 280379 280386 + BreakStatement 280410 280438 + ReturnStatement 280464 280564 + CallExpression 280482 280563 + Identifier 280482 280491 + Identifier 280492 280499 + Identifier 280500 280534 + TrueKeyword 280535 280562 + FunctionDeclaration 280571 280845 + Identifier 280587 280611 + Parameter 280612 280637 + Identifier 280612 280624 + TypeReference 280625 280637 + Identifier 280625 280637 + Block 280638 280845 + ReturnStatement 280640 280838 + ConditionalExpression 280758 280837 + BinaryExpression 280758 280793 + Identifier 280758 280771 + EqualsEqualsEqualsToken 280771 280775 + PropertyAccessExpression 280775 280793 + Identifier 280775 280787 + Identifier 280788 280793 + QuestionToken 280793 280795 + PropertyAccessExpression 280795 280813 + Identifier 280795 280807 + Identifier 280808 280813 + ColonToken 280813 280815 + PropertyAccessExpression 280815 280837 + Identifier 280815 280827 + Identifier 280828 280837 + FunctionDeclaration 280845 288243 + Identifier 280861 280886 + Parameter 280887 280913 + Identifier 280887 280893 + UnionType 280894 280913 + TypeReference 280894 280901 + Identifier 280894 280901 + UndefinedKeyword 280903 280913 + Parameter 280914 280953 + Identifier 280914 280935 + UnionType 280936 280953 + TypeReference 280936 280941 + Identifier 280936 280941 + UndefinedKeyword 280943 280953 + Parameter 280954 280975 + Identifier 280954 280962 + TypeReference 280963 280975 + Identifier 280963 280975 + Parameter 280976 281009 + Identifier 280976 281000 + BooleanKeyword 281001 281009 + Parameter 281010 281070 + Identifier 281010 281033 + NewExpression 281035 281070 + Identifier 281039 281043 + TypeReference 281044 281052 + Identifier 281044 281052 + ArrayType 281053 281067 + TypeReference 281053 281065 + Identifier 281053 281065 + UnionType 281072 281093 + ArrayType 281072 281081 + TypeReference 281072 281079 + Identifier 281072 281079 + UndefinedKeyword 281083 281093 + Block 281093 288243 + IfStatement 281095 281211 + PrefixUnaryExpression 281109 281166 + ParenthesizedExpression 281110 281166 + BinaryExpression 281111 281165 + Identifier 281111 281117 + AmpersandAmpersandToken 281117 281120 + PrefixUnaryExpression 281120 281165 + CallExpression 281122 281165 + Identifier 281122 281157 + Identifier 281158 281164 + Block 281167 281211 + ReturnStatement 281169 281200 + Identifier 281189 281199 + VariableStatement 281211 281258 + VariableDeclarationList 281211 281257 + VariableDeclaration 281226 281257 + Identifier 281226 281232 + CallExpression 281234 281257 + Identifier 281234 281249 + Identifier 281250 281256 + VariableStatement 281258 281325 + VariableDeclarationList 281258 281324 + VariableDeclaration 281273 281324 + Identifier 281273 281279 + ParenthesizedExpression 281281 281324 + BinaryExpression 281283 281323 + PropertyAccessExpression 281283 281309 + Identifier 281283 281288 + Identifier 281289 281309 + BarBarEqualsToken 281309 281313 + NewExpression 281313 281323 + Identifier 281317 281321 + VariableStatement 281325 281568 + VariableDeclarationList 281325 281567 + VariableDeclaration 281467 281567 + Identifier 281467 281489 + CallExpression 281491 281567 + Identifier 281491 281517 + Identifier 281518 281538 + ArrowFunction 281539 281566 + Parameter 281541 281542 + Identifier 281541 281542 + Parameter 281543 281546 + Identifier 281543 281546 + Parameter 281547 281551 + Identifier 281547 281551 + Parameter 281552 281557 + Identifier 281552 281557 + EqualsGreaterThanToken 281558 281561 + Identifier 281561 281566 + VariableStatement 281568 281702 + VariableDeclarationList 281568 281701 + VariableDeclaration 281583 281701 + Identifier 281583 281587 + TemplateExpression 281589 281701 + TemplateHead 281589 281593 + TemplateSpan 281593 281628 + ConditionalExpression 281593 281624 + Identifier 281593 281616 + QuestionToken 281616 281618 + NumericLiteral 281618 281620 + ColonToken 281620 281622 + NumericLiteral 281622 281624 + TemplateMiddle 281624 281628 + TemplateSpan 281628 281692 + ConditionalExpression 281628 281688 + Identifier 281628 281649 + QuestionToken 281649 281651 + CallExpression 281651 281684 + Identifier 281651 281661 + Identifier 281662 281683 + ColonToken 281684 281686 + NumericLiteral 281686 281688 + TemplateMiddle 281688 281692 + TemplateSpan 281692 281701 + Identifier 281692 281699 + TemplateTail 281699 281701 + IfStatement 281702 281780 + CallExpression 281716 281730 + PropertyAccessExpression 281716 281725 + Identifier 281716 281721 + Identifier 281722 281725 + Identifier 281726 281729 + Block 281731 281780 + ReturnStatement 281733 281769 + CallExpression 281753 281768 + PropertyAccessExpression 281753 281763 + Identifier 281753 281759 + Identifier 281760 281763 + Identifier 281764 281767 + VariableStatement 281780 281823 + VariableDeclarationList 281780 281822 + VariableDeclaration 281797 281822 + Identifier 281797 281800 + CallExpression 281802 281822 + Identifier 281802 281814 + Identifier 281815 281821 + VariableStatement 281823 281890 + VariableDeclarationList 281823 281889 + VariableDeclaration 281836 281889 + Identifier 281836 281856 + CallExpression 281858 281889 + PropertyAccessExpression 281858 281885 + Identifier 281858 281881 + Identifier 281882 281885 + Identifier 281886 281888 + IfStatement 281890 282009 + PrefixUnaryExpression 281904 281924 + Identifier 281905 281924 + Block 281925 282009 + ExpressionStatement 281927 281998 + CallExpression 281927 281997 + PropertyAccessExpression 281927 281967 + Identifier 281927 281963 + Identifier 281964 281967 + Identifier 281968 281970 + BinaryExpression 281971 281996 + Identifier 281971 281991 + EqualsToken 281991 281993 + ArrayLiteralExpression 281993 281996 + VariableStatement 282009 282123 + VariableDeclarationList 282009 282122 + VariableDeclaration 282024 282122 + Identifier 282024 282031 + CallExpression 282033 282122 + Identifier 282033 282059 + Identifier 282060 282080 + Identifier 282081 282121 + ExpressionStatement 282123 282156 + CallExpression 282123 282155 + PropertyAccessExpression 282123 282142 + Identifier 282123 282138 + Identifier 282139 282142 + Identifier 282143 282146 + Identifier 282147 282154 + ReturnStatement 282156 282180 + Identifier 282172 282179 + FunctionDeclaration 282180 282835 + Identifier 282399 282439 + Parameter 282440 282460 + Identifier 282440 282447 + TypeReference 282448 282460 + Identifier 282448 282460 + Parameter 282461 282491 + Identifier 282461 282481 + QuestionToken 282481 282482 + BooleanKeyword 282483 282491 + Parameter 282492 282520 + Identifier 282492 282510 + QuestionToken 282510 282511 + BooleanKeyword 282512 282520 + UnionType 282522 282543 + ArrayType 282522 282531 + TypeReference 282522 282529 + Identifier 282522 282529 + UndefinedKeyword 282533 282543 + Block 282543 282835 + IfStatement 282545 282660 + PrefixUnaryExpression 282563 282607 + CallExpression 282564 282607 + Identifier 282564 282576 + NonNullExpression 282577 282597 + Identifier 282577 282596 + Identifier 282598 282606 + Block 282608 282660 + ReturnStatement 282610 282645 + Identifier 282634 282644 + VariableStatement 282660 282755 + VariableDeclarationList 282660 282754 + VariableDeclaration 282681 282754 + Identifier 282681 282688 + CallExpression 282690 282754 + Identifier 282690 282705 + Identifier 282706 282713 + Identifier 282714 282734 + Identifier 282735 282753 + ExpressionStatement 282755 282796 + CallExpression 282755 282795 + PropertyAccessExpression 282755 282793 + NonNullExpression 282755 282789 + Identifier 282755 282788 + Identifier 282790 282793 + ReturnStatement 282796 282824 + Identifier 282816 282823 + FunctionDeclaration 282835 283457 + Identifier 282855 282872 + Parameter 282873 282902 + Identifier 282873 282894 + TypeReference 282895 282902 + Identifier 282895 282902 + Parameter 282903 282924 + Identifier 282903 282911 + TypeReference 282912 282924 + Identifier 282912 282924 + Block 282925 283457 + ReturnStatement 282927 283446 + BinaryExpression 283057 283445 + PrefixUnaryExpression 283057 283131 + CallExpression 283059 283131 + Identifier 283059 283077 + Identifier 283078 283099 + Identifier 283100 283121 + Identifier 283122 283130 + BarBarToken 283131 283134 + PrefixUnaryExpression 283134 283445 + PrefixUnaryExpression 283285 283445 + CallExpression 283286 283445 + Identifier 283286 283310 + PropertyAccessExpression 283311 283339 + Identifier 283311 283332 + Identifier 283333 283339 + Identifier 283340 283361 + CallExpression 283362 283395 + Identifier 283362 283386 + Identifier 283387 283394 + Identifier 283396 283420 + Identifier 283421 283444 + FunctionDeclaration 283457 284338 + Identifier 283477 283490 + Parameter 283491 283520 + Identifier 283491 283512 + TypeReference 283513 283520 + Identifier 283513 283520 + Parameter 283521 283550 + Identifier 283521 283541 + QuestionToken 283541 283542 + TypeReference 283543 283550 + Identifier 283543 283550 + Parameter 283551 283581 + Identifier 283551 283571 + QuestionToken 283571 283572 + BooleanKeyword 283573 283581 + Block 283582 284338 + ReturnStatement 283584 284327 + BinaryExpression 283604 284326 + BinaryExpression 283604 284215 + ParenthesizedExpression 283604 283757 + BinaryExpression 283606 283756 + BinaryExpression 283606 283663 + Identifier 283606 283612 + EqualsEqualsEqualsToken 283612 283616 + ParenthesizedExpression 283616 283663 + BinaryExpression 283618 283662 + Identifier 283618 283637 + BarBarToken 283637 283640 + Identifier 283640 283662 + BarBarToken 283663 283666 + BinaryExpression 283666 283756 + CallExpression 283666 283690 + Identifier 283666 283682 + Identifier 283683 283689 + EqualsEqualsEqualsToken 283690 283694 + CallExpression 283694 283756 + Identifier 283694 283710 + BinaryExpression 283711 283755 + Identifier 283711 283730 + BarBarToken 283730 283733 + Identifier 283733 283755 + AmpersandAmpersandToken 283757 283760 + PrefixUnaryExpression 283760 284215 + CallExpression 284129 284215 + Identifier 284129 284133 + PropertyAccessExpression 284134 284168 + Identifier 284134 284155 + Identifier 284156 284168 + Identifier 284169 284214 + AmpersandAmpersandToken 284215 284218 + ParenthesizedExpression 284218 284326 + BinaryExpression 284237 284325 + Identifier 284237 284256 + BarBarToken 284256 284259 + CallExpression 284259 284325 + Identifier 284259 284276 + CallExpression 284277 284315 + Identifier 284277 284292 + Identifier 284293 284314 + Identifier 284316 284324 + FunctionDeclaration 284338 287250 + Identifier 284358 284373 + Parameter 284374 284394 + Identifier 284374 284381 + TypeReference 284382 284394 + Identifier 284382 284394 + Parameter 284395 284436 + Identifier 284395 284415 + UnionType 284416 284436 + BooleanKeyword 284416 284424 + UndefinedKeyword 284426 284436 + Parameter 284437 284476 + Identifier 284437 284455 + UnionType 284456 284476 + BooleanKeyword 284456 284464 + UndefinedKeyword 284466 284476 + UnionType 284478 284499 + ArrayType 284478 284487 + TypeReference 284478 284485 + Identifier 284478 284485 + UndefinedKeyword 284489 284499 + Block 284499 287250 + IfStatement 284501 284755 + CallExpression 284599 284702 + Identifier 284599 284611 + NonNullExpression 284612 284645 + CallExpression 284612 284644 + PropertyAccessExpression 284612 284623 + Identifier 284612 284619 + Identifier 284620 284623 + PropertyAccessExpression 284624 284643 + NonNullExpression 284624 284631 + Identifier 284624 284630 + Identifier 284632 284643 + Identifier 284646 284680 + Identifier 284681 284701 + Block 284703 284755 + ReturnStatement 284705 284740 + ArrayLiteralExpression 284729 284739 + NonNullExpression 284731 284738 + Identifier 284731 284737 + VariableStatement 284755 286943 + VariableDeclarationList 284755 286942 + VariableDeclaration 284839 286942 + Identifier 284839 284846 + CallExpression 284848 286942 + Identifier 284848 284861 + Identifier 284862 284869 + ArrowFunction 284870 286941 + Parameter 284870 284892 + Identifier 284870 284892 + EqualsGreaterThanToken 284892 284895 + Block 284895 286941 + IfStatement 284897 286571 + BinaryExpression 284919 286204 + BinaryExpression 284919 285886 + BinaryExpression 284919 285562 + BinaryExpression 284919 285326 + BinaryExpression 284919 285171 + BinaryExpression 284919 285082 + BinaryExpression 284919 284988 + PropertyAccessExpression 284919 284968 + Identifier 284919 284962 + Identifier 284963 284968 + AmpersandToken 284968 284970 + PropertyAccessExpression 284970 284988 + Identifier 284970 284982 + Identifier 284983 284988 + AmpersandAmpersandToken 284988 285012 + BinaryExpression 285012 285082 + PropertyAccessExpression 285012 285046 + Identifier 285012 285034 + Identifier 285035 285046 + ExclamationEqualsEqualsToken 285046 285050 + PropertyAccessExpression 285050 285082 + Identifier 285050 285069 + Identifier 285070 285082 + AmpersandAmpersandToken 285082 285106 + BinaryExpression 285106 285171 + PropertyAccessExpression 285106 285140 + Identifier 285106 285128 + Identifier 285129 285140 + ExclamationEqualsEqualsToken 285140 285144 + PropertyAccessExpression 285144 285171 + Identifier 285144 285163 + Identifier 285164 285171 + AmpersandAmpersandToken 285171 285195 + PrefixUnaryExpression 285195 285326 + ParenthesizedExpression 285197 285326 + BinaryExpression 285198 285325 + BinaryExpression 285198 285262 + CallExpression 285198 285238 + Identifier 285198 285215 + Identifier 285216 285237 + AmpersandAmpersandToken 285238 285241 + Identifier 285241 285262 + AmpersandAmpersandToken 285262 285265 + CallExpression 285265 285325 + Identifier 285265 285282 + CallExpression 285283 285324 + Identifier 285283 285302 + Identifier 285303 285323 + AmpersandAmpersandToken 285326 285450 + ParenthesizedExpression 285450 285562 + BinaryExpression 285452 285561 + PrefixUnaryExpression 285452 285476 + Identifier 285453 285476 + BarBarToken 285476 285479 + CallExpression 285479 285561 + Identifier 285479 285484 + PropertyAccessExpression 285485 285519 + Identifier 285485 285506 + Identifier 285507 285519 + Identifier 285520 285560 + AmpersandAmpersandToken 285562 285783 + ParenthesizedExpression 285783 285886 + ConditionalExpression 285785 285885 + Identifier 285785 285802 + QuestionToken 285802 285804 + PrefixUnaryExpression 285804 285878 + CallExpression 285806 285878 + Identifier 285806 285810 + PropertyAccessExpression 285811 285845 + Identifier 285811 285832 + Identifier 285833 285845 + Identifier 285846 285877 + ColonToken 285878 285880 + TrueKeyword 285880 285885 + AmpersandAmpersandToken 285886 286106 + ParenthesizedExpression 286106 286204 + BinaryExpression 286108 286203 + Identifier 286108 286127 + BarBarToken 286127 286130 + PrefixUnaryExpression 286130 286203 + CallExpression 286132 286203 + Identifier 286132 286152 + Identifier 286153 286174 + PropertyAccessExpression 286175 286202 + Identifier 286175 286186 + Identifier 286187 286202 + Block 286223 286571 + VariableStatement 286225 286314 + VariableDeclarationList 286225 286313 + VariableDeclaration 286252 286313 + Identifier 286252 286275 + CallExpression 286277 286313 + Identifier 286277 286290 + Identifier 286291 286312 + VariableStatement 286314 286448 + VariableDeclarationList 286314 286447 + VariableDeclaration 286341 286447 + Identifier 286341 286351 + CallExpression 286353 286447 + Identifier 286353 286379 + Identifier 286380 286401 + Identifier 286402 286425 + Identifier 286426 286446 + IfStatement 286448 286552 + Identifier 286474 286483 + Block 286484 286552 + ReturnStatement 286486 286529 + Identifier 286518 286528 + IfStatement 286571 286926 + BinaryExpression 286593 286688 + BinaryExpression 286593 286650 + PropertyAccessExpression 286593 286626 + Identifier 286593 286614 + Identifier 286615 286626 + EqualsEqualsEqualsToken 286626 286630 + PropertyAccessExpression 286630 286650 + NonNullExpression 286630 286638 + Identifier 286630 286637 + Identifier 286639 286650 + AmpersandAmpersandToken 286650 286653 + PropertyAccessExpression 286653 286688 + Identifier 286653 286675 + Identifier 286676 286688 + Block 286689 286926 + IfStatement 286691 286907 + CallExpression 286717 286838 + Identifier 286717 286729 + CallExpression 286730 286781 + Identifier 286730 286745 + PropertyAccessExpression 286746 286780 + Identifier 286746 286767 + Identifier 286768 286780 + Identifier 286782 286816 + Identifier 286817 286837 + Block 286839 286907 + ReturnStatement 286841 286884 + ArrayLiteralExpression 286873 286883 + NonNullExpression 286875 286882 + Identifier 286875 286881 + ReturnStatement 286943 287239 + BinaryExpression 287109 287238 + Identifier 287109 287116 + BarBarToken 287116 287119 + ParenthesizedExpression 287119 287238 + ConditionalExpression 287121 287237 + BinaryExpression 287121 287140 + Identifier 287121 287128 + EqualsEqualsEqualsToken 287128 287132 + Identifier 287132 287140 + QuestionToken 287140 287142 + CallExpression 287142 287225 + Identifier 287142 287168 + Identifier 287169 287185 + Identifier 287186 287203 + Identifier 287204 287224 + ColonToken 287225 287227 + Identifier 287227 287237 + FunctionDeclaration 287250 288236 + Identifier 287270 287296 + Parameter 287297 287326 + Identifier 287297 287318 + TypeReference 287319 287326 + Identifier 287319 287326 + Parameter 287327 287358 + Identifier 287327 287350 + TypeReference 287351 287358 + Identifier 287351 287358 + Parameter 287359 287400 + Identifier 287359 287379 + UnionType 287380 287400 + BooleanKeyword 287380 287388 + UndefinedKeyword 287390 287400 + Block 287401 288236 + IfStatement 287403 287568 + CallExpression 287421 287501 + Identifier 287421 287433 + Identifier 287434 287455 + Identifier 287456 287479 + Identifier 287480 287500 + Block 287502 287568 + ReturnStatement 287504 287553 + ArrayLiteralExpression 287528 287552 + Identifier 287530 287551 + VariableStatement 287568 287843 + VariableDeclarationList 287568 287842 + VariableDeclaration 287782 287842 + Identifier 287782 287797 + CallExpression 287799 287842 + Identifier 287799 287818 + Identifier 287819 287841 + VariableStatement 287843 287998 + VariableDeclarationList 287843 287997 + VariableDeclaration 287862 287997 + Identifier 287862 287891 + BinaryExpression 287893 287997 + Identifier 287893 287908 + AmpersandAmpersandToken 287908 287911 + CallExpression 287911 287997 + Identifier 287911 287951 + Identifier 287952 287966 + TrueKeyword 287967 287996 + IfStatement 287998 288225 + BinaryExpression 288016 288121 + Identifier 288016 288044 + AmpersandAmpersandToken 288044 288047 + CallExpression 288047 288121 + Identifier 288047 288064 + Identifier 288065 288086 + CallExpression 288087 288120 + Identifier 288087 288111 + Identifier 288112 288119 + Block 288122 288225 + ReturnStatement 288124 288210 + CallExpression 288148 288209 + PropertyAccessExpression 288148 288179 + ArrayLiteralExpression 288148 288172 + Identifier 288150 288171 + Identifier 288173 288179 + Identifier 288180 288208 + FunctionDeclaration 288243 289737 + Identifier 288259 288278 + Parameter 288279 288293 + Identifier 288279 288285 + TypeReference 288286 288293 + Identifier 288286 288293 + Parameter 288294 288333 + Identifier 288294 288315 + UnionType 288316 288333 + TypeReference 288316 288321 + Identifier 288316 288321 + UndefinedKeyword 288323 288333 + Parameter 288334 288355 + Identifier 288334 288342 + TypeReference 288343 288355 + Identifier 288343 288355 + Block 288356 289737 + VariableStatement 288358 288388 + VariableDeclarationList 288358 288387 + VariableDeclaration 288371 288387 + Identifier 288371 288379 + FalseKeyword 288381 288387 + ExpressionStatement 288388 289703 + CallExpression 288388 289702 + Identifier 288388 288423 + Identifier 288424 288444 + ArrowFunction 288445 289701 + Parameter 288445 288457 + Identifier 288445 288457 + EqualsGreaterThanToken 288457 288460 + Block 288460 289701 + VariableStatement 288462 288643 + VariableDeclarationList 288462 288642 + VariableDeclaration 288565 288642 + Identifier 288565 288587 + CallExpression 288589 288642 + Identifier 288589 288605 + CallExpression 288606 288641 + PropertyAccessExpression 288606 288621 + Identifier 288606 288617 + Identifier 288618 288621 + PropertyAccessExpression 288622 288640 + Identifier 288622 288628 + Identifier 288629 288640 + IfStatement 288643 288786 + PrefixUnaryExpression 288661 288683 + Identifier 288662 288683 + Block 288684 288786 + ReturnStatement 288686 288771 + FalseKeyword 288764 288770 + IfStatement 288786 289009 + BinaryExpression 288890 288922 + Identifier 288890 288911 + EqualsEqualsEqualsToken 288911 288915 + Identifier 288915 288922 + Block 288923 289009 + ReturnStatement 288925 288994 + TrueKeyword 288988 288993 + VariableStatement 289009 289261 + VariableDeclarationList 289009 289260 + VariableDeclaration 289115 289260 + Identifier 289115 289134 + BinaryExpression 289136 289260 + BinaryExpression 289136 289184 + PropertyAccessExpression 289136 289164 + Identifier 289136 289158 + Identifier 289159 289164 + AmpersandToken 289164 289166 + PropertyAccessExpression 289166 289184 + Identifier 289166 289178 + Identifier 289179 289184 + AmpersandAmpersandToken 289184 289187 + PrefixUnaryExpression 289187 289260 + CallExpression 289189 289260 + Identifier 289189 289209 + Identifier 289210 289231 + PropertyAccessExpression 289232 289259 + Identifier 289232 289243 + Identifier 289244 289259 + ExpressionStatement 289261 289380 + BinaryExpression 289261 289379 + Identifier 289261 289296 + EqualsToken 289296 289298 + ConditionalExpression 289298 289379 + Identifier 289298 289317 + QuestionToken 289317 289319 + CallExpression 289319 289355 + Identifier 289319 289332 + Identifier 289333 289354 + ColonToken 289355 289357 + Identifier 289357 289379 + VariableStatement 289380 289497 + VariableDeclarationList 289380 289496 + VariableDeclaration 289399 289496 + Identifier 289399 289405 + ConditionalExpression 289407 289496 + Identifier 289407 289426 + QuestionToken 289426 289428 + CallExpression 289428 289466 + Identifier 289428 289443 + Identifier 289444 289465 + ColonToken 289466 289468 + PropertyAccessExpression 289468 289496 + Identifier 289468 289490 + Identifier 289491 289496 + IfStatement 289497 289611 + BinaryExpression 289515 289530 + Identifier 289515 289520 + AmpersandToken 289520 289522 + Identifier 289522 289530 + Block 289531 289611 + ExpressionStatement 289533 289566 + BinaryExpression 289533 289565 + Identifier 289533 289558 + EqualsToken 289558 289560 + TrueKeyword 289560 289565 + ReturnStatement 289566 289596 + TrueKeyword 289590 289595 + ReturnStatement 289611 289690 + FalseKeyword 289683 289689 + ReturnStatement 289703 289730 + Identifier 289721 289729 + FunctionDeclaration 289737 290399 + Identifier 289753 289789 + Parameter 289790 289804 + Identifier 289790 289796 + TypeReference 289797 289804 + Identifier 289797 289804 + Block 289805 290399 + IfStatement 289807 290369 + BinaryExpression 289821 289870 + PropertyAccessExpression 289821 289840 + Identifier 289821 289827 + Identifier 289828 289840 + AmpersandAmpersandToken 289840 289843 + PropertyAccessExpression 289843 289870 + PropertyAccessExpression 289843 289863 + Identifier 289843 289850 + Identifier 289851 289863 + Identifier 289864 289870 + Block 289871 290369 + ForOfStatement 289873 290332 + VariableDeclarationList 289892 289909 + VariableDeclaration 289897 289909 + Identifier 289897 289909 + PropertyAccessExpression 289912 289932 + Identifier 289912 289919 + Identifier 289920 289932 + Block 289933 290332 + SwitchStatement 289935 290317 + PropertyAccessExpression 289961 289977 + Identifier 289961 289972 + Identifier 289973 289977 + CaseBlock 289978 290317 + CaseClause 289980 290038 + PropertyAccessExpression 290006 290037 + Identifier 290006 290017 + Identifier 290018 290037 + CaseClause 290038 290094 + PropertyAccessExpression 290064 290093 + Identifier 290064 290075 + Identifier 290076 290093 + CaseClause 290094 290144 + PropertyAccessExpression 290120 290143 + Identifier 290120 290131 + Identifier 290132 290143 + CaseClause 290144 290229 + PropertyAccessExpression 290170 290193 + Identifier 290170 290181 + Identifier 290182 290193 + ContinueStatement 290194 290229 + DefaultClause 290229 290298 + ReturnStatement 290259 290298 + FalseKeyword 290291 290297 + ReturnStatement 290332 290358 + TrueKeyword 290352 290357 + ReturnStatement 290369 290392 + FalseKeyword 290385 290391 + FunctionDeclaration 290399 290759 + Identifier 290415 290438 + Parameter 290439 290457 + Identifier 290439 290449 + TypeReference 290450 290457 + Identifier 290450 290457 + Parameter 290458 290497 + Identifier 290458 290479 + UnionType 290480 290497 + TypeReference 290480 290485 + Identifier 290480 290485 + UndefinedKeyword 290487 290497 + BooleanKeyword 290499 290507 + Block 290507 290759 + VariableStatement 290509 290679 + VariableDeclarationList 290509 290678 + VariableDeclaration 290524 290678 + Identifier 290524 290531 + CallExpression 290533 290678 + Identifier 290533 290558 + Identifier 290559 290569 + Identifier 290570 290591 + PropertyAccessExpression 290592 290609 + Identifier 290592 290604 + Identifier 290605 290609 + FalseKeyword 290610 290654 + TrueKeyword 290655 290677 + ReturnStatement 290679 290752 + BinaryExpression 290695 290751 + PropertyAccessExpression 290695 290716 + Identifier 290695 290702 + Identifier 290703 290716 + EqualsEqualsEqualsToken 290716 290720 + PropertyAccessExpression 290720 290751 + Identifier 290720 290740 + Identifier 290741 290751 + FunctionDeclaration 290759 291121 + Identifier 290775 290799 + Parameter 290800 290818 + Identifier 290800 290810 + TypeReference 290811 290818 + Identifier 290811 290818 + Parameter 290819 290858 + Identifier 290819 290840 + UnionType 290841 290858 + TypeReference 290841 290846 + Identifier 290841 290846 + UndefinedKeyword 290848 290858 + BooleanKeyword 290860 290868 + Block 290868 291121 + VariableStatement 290870 291041 + VariableDeclarationList 290870 291040 + VariableDeclaration 290885 291040 + Identifier 290885 290892 + CallExpression 290894 291040 + Identifier 290894 290919 + Identifier 290920 290930 + Identifier 290931 290952 + PropertyAccessExpression 290953 290971 + Identifier 290953 290965 + Identifier 290966 290971 + FalseKeyword 290972 291016 + TrueKeyword 291017 291039 + ReturnStatement 291041 291114 + BinaryExpression 291057 291113 + PropertyAccessExpression 291057 291078 + Identifier 291057 291064 + Identifier 291065 291078 + EqualsEqualsEqualsToken 291078 291082 + PropertyAccessExpression 291082 291113 + Identifier 291082 291102 + Identifier 291103 291113 + FunctionDeclaration 291121 291494 + Identifier 291137 291163 + Parameter 291164 291182 + Identifier 291164 291174 + TypeReference 291175 291182 + Identifier 291175 291182 + Parameter 291183 291222 + Identifier 291183 291204 + UnionType 291205 291222 + TypeReference 291205 291210 + Identifier 291205 291210 + UndefinedKeyword 291212 291222 + Parameter 291223 291242 + Identifier 291223 291229 + TypeReference 291230 291242 + Identifier 291230 291242 + BooleanKeyword 291244 291252 + Block 291252 291494 + VariableStatement 291254 291414 + VariableDeclarationList 291254 291413 + VariableDeclaration 291269 291413 + Identifier 291269 291276 + CallExpression 291278 291413 + Identifier 291278 291303 + Identifier 291304 291314 + Identifier 291315 291336 + Identifier 291337 291343 + FalseKeyword 291344 291388 + FalseKeyword 291389 291412 + ReturnStatement 291414 291487 + BinaryExpression 291430 291486 + PropertyAccessExpression 291430 291451 + Identifier 291430 291437 + Identifier 291438 291451 + EqualsEqualsEqualsToken 291451 291455 + PropertyAccessExpression 291455 291486 + Identifier 291455 291475 + Identifier 291476 291486 + FunctionDeclaration 291494 295319 + Identifier 291510 291532 + Parameter 291533 291562 + Identifier 291533 291540 + UnionType 291541 291562 + ArrayType 291541 291550 + TypeReference 291541 291548 + Identifier 291541 291548 + UndefinedKeyword 291552 291562 + Parameter 291563 291602 + Identifier 291563 291584 + UnionType 291585 291602 + TypeReference 291585 291590 + Identifier 291585 291590 + UndefinedKeyword 291592 291602 + Parameter 291603 291625 + Identifier 291603 291617 + TypeReference 291618 291625 + Identifier 291618 291625 + Parameter 291626 291647 + Identifier 291626 291634 + TypeReference 291635 291647 + Identifier 291635 291647 + Parameter 291648 291691 + Identifier 291648 291682 + BooleanKeyword 291683 291691 + Parameter 291692 291714 + Identifier 291692 291705 + BooleanKeyword 291706 291714 + UnionType 291716 291754 + TypeReference 291716 291742 + Identifier 291716 291742 + UndefinedKeyword 291744 291754 + Block 291754 295319 + IfStatement 291756 291795 + PrefixUnaryExpression 291770 291786 + CallExpression 291771 291786 + Identifier 291771 291777 + Identifier 291778 291785 + ReturnStatement 291787 291795 + VariableStatement 291795 291850 + VariableDeclarationList 291795 291849 + VariableDeclaration 291810 291849 + Identifier 291810 291829 + UnionType 291830 291849 + TypeReference 291830 291837 + Identifier 291830 291837 + UndefinedKeyword 291839 291849 + VariableStatement 291850 291888 + VariableDeclarationList 291850 291887 + VariableDeclaration 291863 291887 + Identifier 291863 291879 + FalseKeyword 291881 291887 + ForOfStatement 291888 294750 + VariableDeclarationList 291903 291915 + VariableDeclaration 291908 291915 + Identifier 291908 291915 + NonNullExpression 291918 291927 + Identifier 291918 291926 + Block 291928 294750 + VariableStatement 291930 292140 + VariableDeclarationList 291930 292139 + VariableDeclaration 292016 292139 + Identifier 292016 292038 + CallExpression 292040 292139 + Identifier 292040 292065 + Identifier 292066 292072 + Identifier 292073 292094 + Identifier 292095 292103 + FalseKeyword 292104 292138 + IfStatement 292140 292503 + Identifier 292158 292179 + Block 292180 292503 + ExpressionStatement 292182 292228 + BinaryExpression 292182 292227 + Identifier 292182 292218 + EqualsToken 292218 292220 + Identifier 292220 292227 + VariableStatement 292228 292364 + VariableDeclarationList 292228 292363 + VariableDeclaration 292251 292363 + Identifier 292251 292277 + CallExpression 292279 292363 + Identifier 292279 292302 + ElementAccessExpression 292303 292327 + Identifier 292303 292324 + NumericLiteral 292325 292326 + Identifier 292328 292362 + IfStatement 292364 292488 + Identifier 292386 292411 + Block 292412 292488 + ReturnStatement 292414 292469 + Identifier 292442 292468 + IfStatement 292503 293570 + Identifier 292521 292533 + Block 292534 293570 + IfStatement 292536 293555 + CallExpression 292558 292629 + Identifier 292558 292562 + PropertyAccessExpression 292563 292582 + Identifier 292563 292569 + Identifier 292570 292582 + Identifier 292583 292628 + Block 292630 293555 + IfStatement 292632 293313 + Identifier 292658 292691 + Block 292692 293313 + ExpressionStatement 292694 292743 + BinaryExpression 292694 292742 + Identifier 292694 292735 + EqualsToken 292735 292737 + TrueKeyword 292737 292742 + ContinueStatement 292743 293290 + ReturnStatement 293313 293536 + ObjectLiteralExpression 293438 293535 + PropertyAssignment 293440 293511 + Identifier 293440 293479 + PropertyAccessExpression 293480 293511 + Identifier 293480 293500 + Identifier 293501 293511 + VariableStatement 293570 294427 + VariableDeclarationList 293570 294426 + VariableDeclaration 294352 294426 + Identifier 294352 294363 + CallExpression 294365 294426 + Identifier 294365 294387 + Identifier 294388 294394 + Identifier 294395 294416 + Identifier 294417 294425 + VariableStatement 294427 294653 + VariableDeclarationList 294427 294652 + VariableDeclaration 294446 294652 + Identifier 294446 294459 + CallExpression 294461 294652 + Identifier 294461 294483 + Identifier 294484 294494 + Identifier 294495 294516 + Identifier 294517 294531 + ConditionalExpression 294532 294602 + BinaryExpression 294532 294557 + Identifier 294532 294546 + EqualsEqualsEqualsToken 294546 294550 + Identifier 294550 294557 + QuestionToken 294557 294559 + CallExpression 294559 294592 + Identifier 294559 294583 + Identifier 294584 294591 + ColonToken 294592 294594 + Identifier 294594 294602 + Identifier 294603 294637 + Identifier 294638 294651 + IfStatement 294653 294739 + Identifier 294671 294683 + Block 294684 294739 + ReturnStatement 294686 294724 + Identifier 294710 294723 + IfStatement 294750 294897 + Identifier 294766 294781 + Block 294782 294897 + ReturnStatement 294784 294886 + ObjectLiteralExpression 294804 294885 + PropertyAssignment 294806 294869 + Identifier 294806 294837 + PropertyAccessExpression 294838 294869 + Identifier 294838 294858 + Identifier 294859 294869 + IfStatement 294897 295312 + Identifier 294913 294931 + Block 294932 295312 + ReturnStatement 294934 295301 + ObjectLiteralExpression 294954 295300 + PropertyAssignment 294956 295022 + Identifier 294956 294987 + PropertyAccessExpression 294988 295022 + Identifier 294988 295008 + Identifier 295009 295022 + PropertyAssignment 295023 295118 + Identifier 295023 295056 + CallExpression 295057 295118 + Identifier 295057 295072 + Identifier 295073 295086 + Identifier 295087 295108 + Identifier 295109 295117 + PropertyAssignment 295119 295284 + Identifier 295119 295152 + ConditionalExpression 295153 295284 + BinaryExpression 295153 295190 + Identifier 295153 295172 + ExclamationEqualsEqualsToken 295172 295176 + Identifier 295176 295190 + QuestionToken 295190 295192 + CallExpression 295192 295272 + Identifier 295192 295207 + Identifier 295208 295226 + Identifier 295227 295248 + PropertyAccessExpression 295249 295271 + Identifier 295249 295261 + Identifier 295262 295271 + ColonToken 295272 295274 + Identifier 295274 295284 + FunctionDeclaration 295319 296200 + Identifier 295872 295891 + Parameter 295892 295918 + Identifier 295892 295898 + UnionType 295899 295918 + TypeReference 295899 295906 + Identifier 295899 295906 + UndefinedKeyword 295908 295918 + Parameter 295919 295958 + Identifier 295919 295940 + UnionType 295941 295958 + TypeReference 295941 295946 + Identifier 295941 295946 + UndefinedKeyword 295948 295958 + Parameter 295959 295980 + Identifier 295959 295967 + TypeReference 295968 295980 + Identifier 295968 295980 + Parameter 295981 296024 + Identifier 295981 296015 + BooleanKeyword 296016 296024 + TypeReference 296026 296052 + Identifier 296026 296052 + Block 296052 296200 + ReturnStatement 296054 296193 + CallExpression 296070 296192 + Identifier 296070 296095 + Identifier 296096 296102 + Identifier 296103 296124 + Identifier 296125 296133 + Identifier 296134 296168 + TrueKeyword 296169 296191 + FunctionDeclaration 296200 298077 + Identifier 296216 296241 + Parameter 296242 296268 + Identifier 296242 296248 + UnionType 296249 296268 + TypeReference 296249 296256 + Identifier 296249 296256 + UndefinedKeyword 296258 296268 + Parameter 296269 296308 + Identifier 296269 296290 + UnionType 296291 296308 + TypeReference 296291 296296 + Identifier 296291 296296 + UndefinedKeyword 296298 296308 + Parameter 296309 296330 + Identifier 296309 296317 + TypeReference 296318 296330 + Identifier 296318 296330 + Parameter 296331 296374 + Identifier 296331 296365 + BooleanKeyword 296366 296374 + Parameter 296375 296397 + Identifier 296375 296388 + BooleanKeyword 296389 296397 + TypeReference 296399 296425 + Identifier 296399 296425 + Block 296425 298077 + IfStatement 296427 298001 + BinaryExpression 296441 296471 + Identifier 296441 296447 + AmpersandAmpersandToken 296447 296450 + Identifier 296450 296471 + Block 296472 298001 + VariableStatement 296474 296623 + VariableDeclarationList 296474 296622 + VariableDeclaration 296493 296622 + Identifier 296493 296500 + CallExpression 296502 296622 + Identifier 296502 296524 + ArrayLiteralExpression 296525 296533 + Identifier 296526 296532 + Identifier 296534 296555 + Identifier 296556 296563 + Identifier 296564 296572 + Identifier 296573 296607 + Identifier 296608 296621 + IfStatement 296623 296697 + Identifier 296641 296647 + Block 296648 296697 + ReturnStatement 296650 296682 + Identifier 296674 296681 + VariableStatement 296697 296999 + VariableDeclarationList 296697 296998 + VariableDeclaration 296918 296998 + Identifier 296918 296939 + CallExpression 296941 296998 + Identifier 296941 296949 + PropertyAccessExpression 296950 296969 + Identifier 296950 296956 + Identifier 296957 296969 + Identifier 296970 296997 + IfStatement 296999 297737 + Identifier 297017 297037 + Block 297038 297737 + VariableStatement 297040 297139 + VariableDeclarationList 297040 297138 + VariableDeclaration 297063 297138 + Identifier 297063 297087 + CallExpression 297089 297138 + Identifier 297089 297116 + Identifier 297117 297137 + IfStatement 297139 297722 + BinaryExpression 297161 297209 + Identifier 297161 297181 + ExclamationEqualsEqualsToken 297181 297185 + Identifier 297185 297209 + Block 297210 297722 + ReturnStatement 297212 297703 + ObjectLiteralExpression 297320 297702 + PropertyAssignment 297322 297396 + Identifier 297322 297361 + PropertyAccessExpression 297362 297396 + Identifier 297362 297382 + Identifier 297383 297396 + PropertyAssignment 297397 297493 + Identifier 297397 297438 + CallExpression 297439 297493 + Identifier 297439 297454 + Identifier 297455 297461 + Identifier 297462 297483 + Identifier 297484 297492 + PropertyAssignment 297494 297573 + Identifier 297494 297535 + CallExpression 297536 297573 + Identifier 297536 297551 + Identifier 297552 297572 + PropertyAssignment 297574 297678 + Identifier 297574 297609 + ConditionalExpression 297610 297678 + CallExpression 297610 297643 + Identifier 297610 297621 + Identifier 297622 297642 + QuestionToken 297643 297645 + Identifier 297645 297666 + ColonToken 297666 297668 + Identifier 297668 297678 + ReturnStatement 297737 297990 + ObjectLiteralExpression 297816 297989 + PropertyAssignment 297818 297884 + Identifier 297818 297849 + PropertyAccessExpression 297850 297884 + Identifier 297850 297870 + Identifier 297871 297884 + PropertyAssignment 297885 297973 + Identifier 297885 297918 + CallExpression 297919 297973 + Identifier 297919 297934 + Identifier 297935 297941 + Identifier 297942 297963 + Identifier 297964 297972 + ReturnStatement 298001 298070 + ObjectLiteralExpression 298019 298069 + PropertyAssignment 298021 298067 + Identifier 298021 298035 + PropertyAccessExpression 298036 298067 + Identifier 298036 298056 + Identifier 298057 298067 + FunctionDeclaration 298077 298317 + Identifier 298093 298120 + Parameter 298121 298138 + Identifier 298121 298132 + TypeReference 298133 298138 + Identifier 298133 298138 + Block 298139 298317 + VariableStatement 298141 298215 + VariableDeclarationList 298141 298214 + VariableDeclaration 298156 298214 + Identifier 298156 298161 + CallExpression 298163 298214 + Identifier 298163 298176 + Identifier 298177 298188 + Identifier 298189 298213 + ReturnStatement 298215 298310 + BinaryExpression 298231 298309 + Identifier 298231 298236 + AmpersandAmpersandToken 298236 298239 + CallExpression 298239 298309 + Identifier 298239 298262 + AsExpression 298263 298308 + Identifier 298263 298267 + UnionType 298270 298308 + TypeReference 298270 298295 + Identifier 298270 298295 + TypeReference 298297 298308 + Identifier 298297 298308 + FunctionDeclaration 298317 298536 + Identifier 298333 298357 + Parameter 298358 298375 + Identifier 298358 298369 + TypeReference 298370 298375 + Identifier 298370 298375 + Block 298376 298536 + ReturnStatement 298378 298529 + BinaryExpression 298394 298528 + CallExpression 298394 298423 + Identifier 298394 298410 + Identifier 298411 298422 + BarBarToken 298423 298426 + ParenthesizedExpression 298426 298528 + BinaryExpression 298428 298527 + BinaryExpression 298428 298470 + PropertyAccessExpression 298428 298444 + Identifier 298428 298439 + Identifier 298440 298444 + EqualsEqualsEqualsToken 298444 298448 + PropertyAccessExpression 298448 298470 + Identifier 298448 298459 + Identifier 298460 298470 + AmpersandAmpersandToken 298470 298473 + CallExpression 298473 298527 + Identifier 298473 298500 + AsExpression 298501 298526 + Identifier 298501 298512 + TypeReference 298515 298526 + Identifier 298515 298526 + FunctionDeclaration 298536 298790 + Identifier 298552 298597 + Parameter 298598 298615 + Identifier 298598 298609 + TypeReference 298610 298615 + Identifier 298610 298615 + Block 298616 298790 + ReturnStatement 298618 298783 + BinaryExpression 298634 298782 + CallExpression 298634 298677 + Identifier 298634 298664 + Identifier 298665 298676 + BarBarToken 298677 298680 + ParenthesizedExpression 298680 298782 + BinaryExpression 298682 298781 + BinaryExpression 298682 298724 + PropertyAccessExpression 298682 298698 + Identifier 298682 298693 + Identifier 298694 298698 + EqualsEqualsEqualsToken 298698 298702 + PropertyAccessExpression 298702 298724 + Identifier 298702 298713 + Identifier 298714 298724 + AmpersandAmpersandToken 298724 298727 + CallExpression 298727 298781 + Identifier 298727 298754 + AsExpression 298755 298780 + Identifier 298755 298766 + TypeReference 298769 298780 + Identifier 298769 298780 + FunctionDeclaration 298790 303272 + Identifier 298806 298829 + Parameter 298830 298844 + Identifier 298830 298836 + TypeReference 298837 298844 + Identifier 298837 298844 + Parameter 298845 298886 + Identifier 298845 298877 + BooleanKeyword 298878 298886 + UnionType 298888 298923 + TypeReference 298888 298911 + Identifier 298888 298911 + UndefinedKeyword 298913 298923 + Block 298923 303272 + VariableStatement 298925 299006 + VariableDeclarationList 298925 299005 + VariableDeclaration 298938 299005 + Identifier 298938 298959 + UnionType 298960 299005 + ArrayType 298960 298993 + TypeReference 298960 298991 + Identifier 298960 298991 + UndefinedKeyword 298995 299005 + IfStatement 299006 299164 + PrefixUnaryExpression 299020 299119 + CallExpression 299021 299119 + Identifier 299021 299026 + CallExpression 299027 299093 + Identifier 299027 299033 + PropertyAccessExpression 299034 299053 + Identifier 299034 299040 + Identifier 299041 299053 + ArrowFunction 299054 299092 + Parameter 299054 299056 + Identifier 299054 299056 + EqualsGreaterThanToken 299056 299059 + BinaryExpression 299059 299092 + PropertyAccessExpression 299059 299066 + Identifier 299059 299061 + Identifier 299062 299066 + ExclamationEqualsEqualsToken 299066 299070 + PropertyAccessExpression 299070 299092 + Identifier 299070 299081 + Identifier 299082 299092 + Identifier 299094 299118 + Block 299120 299164 + ReturnStatement 299122 299153 + Identifier 299142 299152 + ReturnStatement 299164 299253 + ObjectLiteralExpression 299180 299252 + PropertyAssignment 299182 299228 + Identifier 299182 299196 + PropertyAccessExpression 299197 299228 + Identifier 299197 299217 + Identifier 299218 299228 + ShorthandPropertyAssignment 299229 299250 + Identifier 299229 299250 + FunctionDeclaration 299253 302577 + Identifier 299273 299297 + Parameter 299298 299322 + Identifier 299298 299309 + TypeReference 299310 299322 + Identifier 299310 299322 + Block 299323 302577 + IfStatement 299325 302538 + PrefixUnaryExpression 299343 299377 + CallExpression 299344 299377 + Identifier 299344 299364 + Identifier 299365 299376 + Block 299378 302538 + VariableStatement 299380 299634 + VariableDeclarationList 299380 299633 + VariableDeclaration 299583 299633 + Identifier 299583 299599 + CallExpression 299601 299633 + Identifier 299601 299620 + Identifier 299621 299632 + IfStatement 299634 302443 + BinaryExpression 299656 299879 + BinaryExpression 299656 299778 + Identifier 299656 299693 + AmpersandAmpersandToken 299693 299696 + PrefixUnaryExpression 299696 299778 + CallExpression 299719 299778 + Identifier 299719 299739 + Identifier 299740 299755 + PropertyAccessExpression 299756 299777 + Identifier 299756 299770 + Identifier 299771 299777 + AmpersandAmpersandToken 299778 299781 + CallExpression 299781 299879 + Identifier 299781 299855 + PropertyAccessExpression 299856 299878 + Identifier 299856 299871 + Identifier 299872 299878 + Block 299898 299994 + ReturnStatement 299900 299975 + CallExpression 299928 299974 + Identifier 299928 299944 + Identifier 299945 299956 + Identifier 299957 299973 + IfStatement 300016 302443 + BinaryExpression 300021 300334 + BinaryExpression 300021 300222 + BinaryExpression 300021 300127 + CallExpression 300021 300077 + Identifier 300021 300064 + Identifier 300065 300076 + AmpersandAmpersandToken 300077 300080 + CallExpression 300080 300127 + Identifier 300080 300100 + PropertyAccessExpression 300101 300126 + PropertyAccessExpression 300101 300119 + Identifier 300101 300112 + Identifier 300113 300119 + Identifier 300120 300126 + AmpersandAmpersandToken 300127 300130 + PrefixUnaryExpression 300130 300222 + CallExpression 300153 300222 + Identifier 300153 300173 + PropertyAccessExpression 300174 300199 + PropertyAccessExpression 300174 300192 + Identifier 300174 300185 + Identifier 300186 300192 + Identifier 300193 300199 + PropertyAccessExpression 300200 300221 + Identifier 300200 300214 + Identifier 300215 300221 + AmpersandAmpersandToken 300222 300225 + CallExpression 300225 300334 + Identifier 300225 300300 + PropertyAccessExpression 300301 300333 + PropertyAccessExpression 300301 300326 + PropertyAccessExpression 300301 300319 + Identifier 300301 300312 + Identifier 300313 300319 + Identifier 300320 300326 + Identifier 300327 300333 + Block 300353 300459 + ReturnStatement 300355 300440 + CallExpression 300383 300439 + Identifier 300383 300399 + Identifier 300400 300411 + PropertyAccessExpression 300412 300438 + PropertyAccessExpression 300412 300431 + Identifier 300412 300424 + Identifier 300425 300431 + Identifier 300432 300438 + IfStatement 300481 302443 + BinaryExpression 300486 300733 + BinaryExpression 300486 300668 + CallExpression 300486 300553 + Identifier 300486 300540 + Identifier 300541 300552 + AmpersandAmpersandToken 300553 300611 + PrefixUnaryExpression 300611 300668 + CallExpression 300613 300668 + Identifier 300613 300633 + Identifier 300634 300645 + PropertyAccessExpression 300646 300667 + Identifier 300646 300660 + Identifier 300661 300667 + AmpersandAmpersandToken 300668 300692 + CallExpression 300692 300733 + Identifier 300692 300713 + PropertyAccessExpression 300714 300732 + Identifier 300714 300725 + Identifier 300726 300732 + Block 300752 300844 + ReturnStatement 300754 300825 + CallExpression 300782 300824 + Identifier 300782 300798 + Identifier 300799 300810 + Identifier 300811 300823 + IfStatement 300866 302443 + CallExpression 300871 300900 + Identifier 300871 300887 + Identifier 300888 300899 + Block 300901 302443 + IfStatement 300903 302424 + BinaryExpression 300929 301676 + BinaryExpression 300929 301497 + BinaryExpression 300929 301422 + BinaryExpression 300929 301309 + BinaryExpression 300929 301245 + BinaryExpression 300929 301176 + BinaryExpression 300929 301044 + BinaryExpression 300929 301014 + BinaryExpression 300929 300987 + PropertyAccessExpression 300929 300967 + Identifier 300929 300961 + Identifier 300962 300967 + AmpersandToken 300967 300969 + PropertyAccessExpression 300969 300987 + Identifier 300969 300981 + Identifier 300982 300987 + AmpersandAmpersandToken 300987 300990 + CallExpression 300990 301014 + Identifier 300990 301001 + Identifier 301002 301013 + AmpersandAmpersandToken 301014 301017 + PropertyAccessExpression 301017 301044 + PropertyAccessExpression 301017 301036 + Identifier 301017 301029 + Identifier 301030 301036 + QuestionDotToken 301036 301038 + Identifier 301038 301044 + AmpersandAmpersandToken 301044 301127 + CallExpression 301127 301176 + Identifier 301127 301149 + PropertyAccessExpression 301150 301175 + PropertyAccessExpression 301150 301168 + Identifier 301150 301161 + Identifier 301162 301168 + Identifier 301169 301175 + AmpersandAmpersandToken 301176 301204 + PropertyAccessExpression 301204 301245 + PropertyAccessExpression 301204 301237 + PropertyAccessExpression 301204 301230 + PropertyAccessExpression 301204 301223 + Identifier 301204 301216 + Identifier 301217 301223 + Identifier 301224 301230 + Identifier 301231 301237 + QuestionDotToken 301237 301239 + Identifier 301239 301245 + AmpersandAmpersandToken 301245 301248 + CallExpression 301248 301309 + Identifier 301248 301268 + PropertyAccessExpression 301269 301308 + PropertyAccessExpression 301269 301301 + PropertyAccessExpression 301269 301294 + PropertyAccessExpression 301269 301287 + Identifier 301269 301280 + Identifier 301281 301287 + Identifier 301288 301294 + Identifier 301295 301301 + Identifier 301302 301308 + AmpersandAmpersandToken 301309 301337 + PrefixUnaryExpression 301337 301422 + CallExpression 301339 301422 + Identifier 301339 301359 + PropertyAccessExpression 301360 301399 + PropertyAccessExpression 301360 301392 + PropertyAccessExpression 301360 301385 + PropertyAccessExpression 301360 301378 + Identifier 301360 301371 + Identifier 301372 301378 + Identifier 301379 301385 + Identifier 301386 301392 + Identifier 301393 301399 + PropertyAccessExpression 301400 301421 + Identifier 301400 301414 + Identifier 301415 301421 + AmpersandAmpersandToken 301422 301450 + PropertyAccessExpression 301450 301497 + PropertyAccessExpression 301450 301490 + PropertyAccessExpression 301450 301483 + PropertyAccessExpression 301450 301476 + PropertyAccessExpression 301450 301469 + Identifier 301450 301462 + Identifier 301463 301469 + Identifier 301470 301476 + Identifier 301477 301483 + Identifier 301484 301490 + Identifier 301491 301497 + AmpersandAmpersandToken 301497 301607 + CallExpression 301607 301676 + Identifier 301607 301628 + PropertyAccessExpression 301629 301675 + PropertyAccessExpression 301629 301668 + PropertyAccessExpression 301629 301661 + PropertyAccessExpression 301629 301654 + PropertyAccessExpression 301629 301647 + Identifier 301629 301640 + Identifier 301641 301647 + Identifier 301648 301654 + Identifier 301655 301661 + Identifier 301662 301668 + Identifier 301669 301675 + Block 301699 301827 + ReturnStatement 301701 301804 + CallExpression 301733 301803 + Identifier 301733 301749 + Identifier 301750 301761 + PropertyAccessExpression 301762 301802 + PropertyAccessExpression 301762 301795 + PropertyAccessExpression 301762 301788 + PropertyAccessExpression 301762 301781 + Identifier 301762 301774 + Identifier 301775 301781 + Identifier 301782 301788 + Identifier 301789 301795 + Identifier 301796 301802 + IfStatement 301853 302424 + BinaryExpression 301858 301904 + PropertyAccessExpression 301858 301870 + Identifier 301858 301864 + Identifier 301865 301870 + AmpersandToken 301870 301872 + PropertyAccessExpression 301872 301904 + Identifier 301872 301884 + Identifier 301885 301904 + Block 301905 302424 + VariableStatement 301907 302007 + VariableDeclarationList 301907 302006 + VariableDeclaration 301938 302006 + Identifier 301938 301956 + NonNullExpression 301958 302006 + CallExpression 301958 302005 + Identifier 301958 301971 + Identifier 301972 301983 + Identifier 301984 302004 + IfStatement 302007 302170 + CallExpression 302037 302098 + Identifier 302037 302057 + Identifier 302058 302075 + PropertyAccessExpression 302076 302097 + Identifier 302076 302090 + Identifier 302091 302097 + Block 302099 302170 + ReturnStatement 302101 302143 + TrueKeyword 302137 302142 + IfStatement 302170 302320 + PrefixUnaryExpression 302200 302247 + CallExpression 302201 302247 + Identifier 302201 302221 + PropertyAccessExpression 302222 302246 + Identifier 302222 302239 + Identifier 302240 302246 + Block 302248 302320 + ReturnStatement 302250 302293 + FalseKeyword 302286 302292 + ReturnStatement 302320 302401 + CallExpression 302352 302400 + Identifier 302352 302368 + Identifier 302369 302380 + Identifier 302381 302399 + ReturnStatement 302443 302523 + FalseKeyword 302516 302522 + ReturnStatement 302538 302566 + TrueKeyword 302560 302565 + FunctionDeclaration 302577 303265 + Identifier 302597 302613 + Parameter 302614 302638 + Identifier 302614 302625 + TypeReference 302626 302638 + Identifier 302626 302638 + Parameter 302639 302689 + Identifier 302639 302657 + TypeReference 302658 302689 + Identifier 302658 302689 + Block 302690 303265 + IfStatement 302692 303228 + Identifier 303021 303052 + Block 303053 303228 + ExpressionStatement 303055 303116 + BinaryExpression 303055 303115 + PropertyAccessExpression 303055 303108 + CallExpression 303055 303098 + Identifier 303055 303085 + Identifier 303086 303097 + Identifier 303099 303108 + EqualsToken 303108 303110 + TrueKeyword 303110 303115 + ExpressionStatement 303116 303213 + BinaryExpression 303116 303212 + Identifier 303116 303154 + EqualsToken 303154 303156 + CallExpression 303156 303212 + Identifier 303156 303171 + Identifier 303172 303192 + Identifier 303193 303211 + ReturnStatement 303228 303254 + TrueKeyword 303248 303253 + FunctionDeclaration 303272 305026 + Identifier 303288 303320 + Parameter 303321 303365 + Identifier 303321 303331 + TypeReference 303332 303365 + Identifier 303332 303365 + TypeReference 303367 303379 + Identifier 303367 303379 + Block 303379 305026 + VariableStatement 303381 303481 + VariableDeclarationList 303381 303480 + VariableDeclaration 303459 303480 + Identifier 303459 303467 + TypeReference 303468 303480 + Identifier 303468 303480 + IfStatement 303481 304994 + BinaryExpression 303495 303894 + BinaryExpression 303495 303753 + BinaryExpression 303495 303678 + BinaryExpression 303495 303556 + PropertyAccessExpression 303495 303531 + PropertyAccessExpression 303495 303526 + Identifier 303495 303519 + Identifier 303520 303526 + Identifier 303527 303531 + EqualsEqualsEqualsToken 303531 303535 + PropertyAccessExpression 303535 303556 + Identifier 303535 303546 + Identifier 303547 303556 + BarBarToken 303556 303559 + BinaryExpression 303559 303678 + BinaryExpression 303559 303638 + PropertyAccessExpression 303559 303595 + PropertyAccessExpression 303559 303590 + Identifier 303559 303583 + Identifier 303584 303590 + Identifier 303591 303595 + EqualsEqualsEqualsToken 303595 303599 + PropertyAccessExpression 303599 303638 + Identifier 303599 303610 + Identifier 303611 303638 + AmpersandAmpersandToken 303638 303641 + PrefixUnaryExpression 303641 303678 + CallExpression 303643 303678 + Identifier 303643 303659 + PropertyAccessExpression 303660 303677 + Identifier 303660 303670 + Identifier 303671 303677 + BarBarToken 303678 303681 + BinaryExpression 303681 303753 + PropertyAccessExpression 303681 303717 + PropertyAccessExpression 303681 303712 + Identifier 303681 303705 + Identifier 303706 303712 + Identifier 303713 303717 + EqualsEqualsEqualsToken 303717 303721 + PropertyAccessExpression 303721 303753 + Identifier 303721 303732 + Identifier 303733 303753 + BarBarToken 303753 303756 + BinaryExpression 303756 303894 + BinaryExpression 303756 303821 + PropertyAccessExpression 303756 303792 + PropertyAccessExpression 303756 303787 + Identifier 303756 303780 + Identifier 303781 303787 + Identifier 303788 303792 + EqualsEqualsEqualsToken 303792 303796 + PropertyAccessExpression 303796 303821 + Identifier 303796 303807 + Identifier 303808 303821 + AmpersandAmpersandToken 303821 303824 + BinaryExpression 303824 303894 + PropertyAccessExpression 303824 303879 + ParenthesizedExpression 303824 303865 + AsExpression 303826 303864 + PropertyAccessExpression 303826 303843 + Identifier 303826 303836 + Identifier 303837 303843 + TypeReference 303846 303864 + Identifier 303846 303864 + Identifier 303866 303879 + EqualsEqualsEqualsToken 303879 303883 + Identifier 303883 303894 + Block 303905 304015 + ExpressionStatement 303907 304004 + BinaryExpression 303907 304003 + Identifier 303907 303957 + EqualsToken 303957 303959 + BinaryExpression 303959 304003 + PropertyAccessExpression 303959 303977 + Identifier 303959 303971 + Identifier 303972 303977 + BarToken 303977 303979 + PropertyAccessExpression 303979 304003 + Identifier 303979 303991 + Identifier 303992 304003 + IfStatement 304029 304994 + BinaryExpression 304034 304673 + BinaryExpression 304034 304517 + BinaryExpression 304034 304359 + BinaryExpression 304034 304229 + BinaryExpression 304034 304151 + BinaryExpression 304034 304092 + PropertyAccessExpression 304034 304063 + Identifier 304034 304058 + Identifier 304059 304063 + EqualsEqualsEqualsToken 304063 304067 + PropertyAccessExpression 304067 304092 + Identifier 304067 304078 + Identifier 304079 304092 + BarBarToken 304092 304095 + BinaryExpression 304095 304151 + PropertyAccessExpression 304095 304111 + Identifier 304095 304106 + Identifier 304107 304111 + EqualsEqualsEqualsToken 304111 304115 + PropertyAccessExpression 304115 304151 + Identifier 304115 304126 + Identifier 304127 304151 + BarBarToken 304151 304154 + BinaryExpression 304154 304229 + PropertyAccessExpression 304154 304190 + PropertyAccessExpression 304154 304185 + Identifier 304154 304178 + Identifier 304179 304185 + Identifier 304186 304190 + EqualsEqualsEqualsToken 304190 304194 + PropertyAccessExpression 304194 304229 + Identifier 304194 304205 + Identifier 304206 304229 + BarBarToken 304229 304232 + ParenthesizedExpression 304232 304359 + BinaryExpression 304247 304358 + BinaryExpression 304247 304298 + PropertyAccessExpression 304247 304269 + PropertyAccessExpression 304247 304264 + Identifier 304247 304257 + Identifier 304258 304264 + Identifier 304265 304269 + EqualsEqualsEqualsToken 304269 304273 + PropertyAccessExpression 304273 304298 + Identifier 304273 304284 + Identifier 304285 304298 + AmpersandAmpersandToken 304298 304301 + BinaryExpression 304301 304358 + PropertyAccessExpression 304301 304343 + ParenthesizedExpression 304301 304338 + AsExpression 304303 304337 + PropertyAccessExpression 304303 304320 + Identifier 304303 304313 + Identifier 304314 304320 + TypeReference 304323 304337 + Identifier 304323 304337 + Identifier 304339 304343 + EqualsEqualsEqualsToken 304343 304347 + Identifier 304347 304358 + BarBarToken 304359 304362 + ParenthesizedExpression 304362 304517 + BinaryExpression 304377 304516 + BinaryExpression 304377 304439 + PropertyAccessExpression 304377 304399 + PropertyAccessExpression 304377 304394 + Identifier 304377 304387 + Identifier 304388 304394 + Identifier 304395 304399 + EqualsEqualsEqualsToken 304399 304403 + PropertyAccessExpression 304403 304439 + Identifier 304403 304414 + Identifier 304415 304439 + AmpersandAmpersandToken 304439 304442 + BinaryExpression 304442 304516 + PropertyAccessExpression 304442 304501 + ParenthesizedExpression 304442 304490 + AsExpression 304444 304489 + PropertyAccessExpression 304444 304461 + Identifier 304444 304454 + Identifier 304455 304461 + TypeReference 304464 304489 + Identifier 304464 304489 + Identifier 304491 304501 + EqualsEqualsEqualsToken 304501 304505 + Identifier 304505 304516 + BarBarToken 304517 304520 + ParenthesizedExpression 304520 304673 + BinaryExpression 304535 304672 + BinaryExpression 304535 304596 + PropertyAccessExpression 304535 304557 + PropertyAccessExpression 304535 304552 + Identifier 304535 304545 + Identifier 304546 304552 + Identifier 304553 304557 + EqualsEqualsEqualsToken 304557 304561 + PropertyAccessExpression 304561 304596 + Identifier 304561 304572 + Identifier 304573 304596 + AmpersandAmpersandToken 304596 304599 + BinaryExpression 304599 304672 + PropertyAccessExpression 304599 304657 + ParenthesizedExpression 304599 304646 + AsExpression 304601 304645 + PropertyAccessExpression 304601 304618 + Identifier 304601 304611 + Identifier 304612 304618 + TypeReference 304621 304645 + Identifier 304621 304645 + Identifier 304647 304657 + EqualsEqualsEqualsToken 304657 304661 + Identifier 304661 304672 + Block 304684 304862 + ExpressionStatement 304686 304851 + BinaryExpression 304686 304850 + Identifier 304686 304826 + EqualsToken 304826 304828 + PropertyAccessExpression 304828 304850 + Identifier 304828 304840 + Identifier 304841 304850 + Block 304876 304994 + ExpressionStatement 304878 304983 + BinaryExpression 304878 304982 + Identifier 304878 304963 + EqualsToken 304963 304965 + PropertyAccessExpression 304965 304982 + Identifier 304965 304977 + Identifier 304978 304982 + ReturnStatement 304994 305019 + Identifier 305010 305018 + FunctionDeclaration 305026 306654 + Identifier 305042 305062 + Parameter 305063 305107 + Identifier 305063 305073 + TypeReference 305074 305107 + Identifier 305074 305107 + Parameter 305108 305135 + Identifier 305108 305129 + TypeReference 305130 305135 + Identifier 305130 305135 + Parameter 305136 305175 + Identifier 305136 305168 + TrueKeyword 305170 305175 + TypeReference 305177 305200 + Identifier 305177 305200 + Block 305200 306654 + VariableStatement 305202 305272 + VariableDeclarationList 305202 305271 + VariableDeclaration 305217 305271 + Identifier 305217 305225 + CallExpression 305227 305271 + Identifier 305227 305259 + Identifier 305260 305270 + VariableStatement 305272 305337 + VariableDeclarationList 305272 305336 + VariableDeclaration 305287 305336 + Identifier 305287 305303 + CallExpression 305305 305336 + Identifier 305305 305324 + Identifier 305325 305335 + VariableStatement 305337 305486 + VariableDeclarationList 305337 305485 + VariableDeclaration 305352 305485 + Identifier 305352 305359 + CallExpression 305361 305485 + Identifier 305361 305373 + Identifier 305374 305394 + PropertyAccessExpression 305395 305423 + Identifier 305395 305411 + Identifier 305412 305423 + Identifier 305424 305432 + Identifier 305433 305467 + FalseKeyword 305468 305484 + IfStatement 305486 305665 + BinaryExpression 305500 305580 + BinaryExpression 305500 305550 + Identifier 305500 305506 + AmpersandAmpersandToken 305506 305509 + BinaryExpression 305509 305550 + PropertyAccessExpression 305509 305522 + Identifier 305509 305516 + Identifier 305517 305522 + AmpersandToken 305522 305524 + PropertyAccessExpression 305524 305550 + Identifier 305524 305536 + Identifier 305537 305550 + AmpersandAmpersandToken 305550 305553 + BinaryExpression 305553 305580 + Identifier 305553 305561 + AmpersandToken 305561 305563 + PropertyAccessExpression 305563 305580 + Identifier 305563 305575 + Identifier 305576 305580 + Block 305581 305665 + ReturnStatement 305583 305654 + ObjectLiteralExpression 305603 305653 + PropertyAssignment 305605 305651 + Identifier 305605 305619 + PropertyAccessExpression 305620 305651 + Identifier 305620 305640 + Identifier 305641 305651 + IfStatement 305665 306086 + BinaryExpression 305679 306001 + BinaryExpression 305679 305723 + PrefixUnaryExpression 305679 305686 + Identifier 305680 305686 + AmpersandAmpersandToken 305686 305689 + CallExpression 305689 305723 + Identifier 305689 305706 + Identifier 305707 305722 + AmpersandAmpersandToken 305723 305726 + BinaryExpression 305726 306001 + PropertyAccessExpression 305726 305966 + CallExpression 305726 305952 + Identifier 305726 305745 + CallExpression 305746 305880 + Identifier 305746 305768 + CallExpression 305769 305879 + Identifier 305769 305785 + Identifier 305786 305801 + FalseKeyword 305802 305834 + FalseKeyword 305835 305878 + Identifier 305881 305897 + Identifier 305898 305906 + FalseKeyword 305907 305951 + Identifier 305953 305966 + EqualsEqualsEqualsToken 305966 305970 + PropertyAccessExpression 305970 306001 + Identifier 305970 305990 + Identifier 305991 306001 + Block 306002 306086 + ReturnStatement 306004 306075 + ObjectLiteralExpression 306024 306074 + PropertyAssignment 306026 306072 + Identifier 306026 306040 + PropertyAccessExpression 306041 306072 + Identifier 306041 306061 + Identifier 306062 306072 + IfStatement 306086 306337 + PrefixUnaryExpression 306102 306109 + Identifier 306103 306109 + Block 306110 306337 + ReturnStatement 306112 306326 + ObjectLiteralExpression 306132 306325 + PropertyAssignment 306134 306198 + Identifier 306134 306165 + PropertyAccessExpression 306166 306198 + Identifier 306166 306186 + Identifier 306187 306198 + PropertyAssignment 306199 306264 + Identifier 306199 306232 + CallExpression 306233 306264 + Identifier 306233 306247 + Identifier 306248 306263 + PropertyAssignment 306265 306309 + Identifier 306265 306292 + Identifier 306293 306309 + ReturnStatement 306337 306647 + BinaryExpression 306400 306646 + CallExpression 306400 306464 + Identifier 306400 306423 + Identifier 306424 306430 + Identifier 306431 306463 + BarBarToken 306464 306467 + ObjectLiteralExpression 306467 306646 + PropertyAssignment 306469 306531 + Identifier 306469 306496 + PropertyAccessExpression 306497 306531 + Identifier 306497 306517 + Identifier 306518 306531 + PropertyAssignment 306532 306593 + Identifier 306532 306561 + CallExpression 306562 306593 + Identifier 306562 306576 + Identifier 306577 306592 + PropertyAssignment 306594 306634 + Identifier 306594 306617 + Identifier 306618 306634 + FunctionDeclaration 306654 308694 + Identifier 306670 306685 + Parameter 306686 306700 + Identifier 306686 306692 + TypeReference 306693 306700 + Identifier 306693 306700 + Parameter 306701 306729 + Identifier 306701 306722 + QuestionToken 306722 306723 + TypeReference 306724 306729 + Identifier 306724 306729 + Parameter 306730 306752 + Identifier 306730 306738 + QuestionToken 306738 306739 + TypeReference 306740 306752 + Identifier 306740 306752 + Parameter 306753 306815 + Identifier 306753 306759 + TypeReference 306760 306778 + Identifier 306760 306778 + PropertyAccessExpression 306780 306815 + Identifier 306780 306798 + Identifier 306799 306815 + Parameter 306816 306840 + Identifier 306816 306823 + QuestionToken 306823 306824 + TypeReference 306825 306840 + Identifier 306825 306840 + StringKeyword 306842 306849 + Block 306849 308694 + VariableStatement 306851 306907 + VariableDeclarationList 306851 306906 + VariableDeclaration 306864 306906 + Identifier 306864 306874 + PropertyAccessExpression 306876 306906 + Identifier 306876 306893 + Identifier 306894 306906 + VariableStatement 306907 306971 + VariableDeclarationList 306907 306970 + VariableDeclaration 306920 306970 + Identifier 306920 306938 + PropertyAccessExpression 306940 306970 + Identifier 306940 306965 + Identifier 306966 306970 + IfStatement 306971 307116 + BinaryExpression 306985 307034 + Identifier 306985 306990 + AmpersandToken 306990 306992 + PropertyAccessExpression 306992 307034 + Identifier 306992 307010 + Identifier 307011 307034 + Block 307035 307116 + ExpressionStatement 307037 307105 + BinaryExpression 307037 307104 + Identifier 307037 307060 + BarEqualsToken 307060 307063 + PropertyAccessExpression 307063 307104 + Identifier 307063 307080 + Identifier 307081 307104 + IfStatement 307116 307279 + BinaryExpression 307130 307186 + Identifier 307130 307135 + AmpersandToken 307135 307137 + PropertyAccessExpression 307137 307186 + Identifier 307137 307155 + Identifier 307156 307186 + Block 307187 307279 + ExpressionStatement 307189 307268 + BinaryExpression 307189 307267 + Identifier 307189 307212 + BarEqualsToken 307212 307215 + PropertyAccessExpression 307215 307267 + Identifier 307215 307232 + Identifier 307233 307267 + IfStatement 307279 307446 + BinaryExpression 307293 307353 + Identifier 307293 307298 + AmpersandToken 307298 307300 + PropertyAccessExpression 307300 307353 + Identifier 307300 307318 + Identifier 307319 307353 + Block 307354 307446 + ExpressionStatement 307356 307435 + BinaryExpression 307356 307434 + Identifier 307356 307379 + BarEqualsToken 307379 307382 + PropertyAccessExpression 307382 307434 + Identifier 307382 307399 + Identifier 307400 307434 + IfStatement 307446 307607 + BinaryExpression 307460 307509 + Identifier 307460 307465 + AmpersandToken 307465 307467 + PropertyAccessExpression 307467 307509 + Identifier 307467 307485 + Identifier 307486 307509 + Block 307510 307607 + ExpressionStatement 307512 307596 + BinaryExpression 307512 307595 + Identifier 307512 307543 + BarEqualsToken 307543 307546 + PropertyAccessExpression 307546 307595 + Identifier 307546 307571 + Identifier 307572 307595 + IfStatement 307607 307758 + BinaryExpression 307621 307665 + Identifier 307621 307626 + AmpersandToken 307626 307628 + PropertyAccessExpression 307628 307665 + Identifier 307628 307646 + Identifier 307647 307665 + Block 307666 307758 + ExpressionStatement 307668 307747 + BinaryExpression 307668 307746 + Identifier 307668 307699 + BarEqualsToken 307699 307702 + PropertyAccessExpression 307702 307746 + Identifier 307702 307727 + Identifier 307728 307746 + VariableStatement 307758 307887 + VariableDeclarationList 307758 307886 + VariableDeclaration 307773 307886 + Identifier 307773 307781 + ConditionalExpression 307783 307886 + BinaryExpression 307783 307826 + Identifier 307783 307789 + AmpersandToken 307789 307791 + PropertyAccessExpression 307791 307826 + Identifier 307791 307809 + Identifier 307810 307826 + QuestionToken 307826 307828 + PropertyAccessExpression 307828 307853 + Identifier 307828 307840 + Identifier 307841 307853 + ColonToken 307853 307855 + PropertyAccessExpression 307855 307886 + Identifier 307855 307867 + Identifier 307868 307886 + ReturnStatement 307887 308004 + ConditionalExpression 307903 308003 + Identifier 307903 307910 + QuestionToken 307910 307912 + CallExpression 307912 307951 + PropertyAccessExpression 307912 307949 + CallExpression 307912 307941 + Identifier 307912 307933 + Identifier 307934 307940 + Identifier 307942 307949 + ColonToken 307951 307953 + CallExpression 307953 308003 + Identifier 307953 307981 + Identifier 307982 308002 + FunctionDeclaration 308004 308687 + Identifier 308024 308045 + Parameter 308046 308068 + Identifier 308046 308052 + TypeReference 308053 308068 + Identifier 308053 308068 + Block 308069 308687 + VariableStatement 308071 308179 + VariableDeclarationList 308071 308178 + VariableDeclaration 308090 308178 + Identifier 308090 308097 + NonNullExpression 308099 308178 + CallExpression 308099 308177 + Identifier 308099 308107 + Identifier 308108 308114 + NonNullExpression 308115 308124 + Identifier 308115 308123 + Identifier 308125 308146 + Identifier 308147 308157 + Identifier 308158 308176 + VariableStatement 308179 308452 + VariableDeclarationList 308179 308451 + VariableDeclaration 308266 308451 + Identifier 308266 308274 + ConditionalExpression 308276 308451 + BinaryExpression 308276 308329 + PropertyAccessExpression 308276 308303 + Identifier 308276 308297 + QuestionDotToken 308297 308299 + Identifier 308299 308303 + EqualsEqualsEqualsToken 308303 308307 + PropertyAccessExpression 308307 308329 + Identifier 308307 308318 + Identifier 308319 308329 + QuestionToken 308329 308348 + CallExpression 308348 308398 + Identifier 308348 308396 + ColonToken 308398 308417 + CallExpression 308417 308451 + Identifier 308417 308449 + VariableStatement 308452 308551 + VariableDeclarationList 308452 308550 + VariableDeclaration 308471 308550 + Identifier 308471 308482 + BinaryExpression 308484 308550 + Identifier 308484 308505 + AmpersandAmpersandToken 308505 308508 + CallExpression 308508 308550 + Identifier 308508 308528 + Identifier 308529 308549 + ExpressionStatement 308551 308648 + CallExpression 308551 308647 + PropertyAccessExpression 308551 308582 + Identifier 308551 308572 + Identifier 308573 308582 + PropertyAccessExpression 308583 308603 + Identifier 308583 308591 + Identifier 308592 308603 + Identifier 308604 308611 + Identifier 308612 308638 + Identifier 308639 308646 + ReturnStatement 308648 308676 + Identifier 308668 308675 + FunctionDeclaration 308694 310065 + Identifier 308710 308728 + Parameter 308729 308749 + Identifier 308729 308738 + TypeReference 308739 308749 + Identifier 308739 308749 + Parameter 308750 308778 + Identifier 308750 308771 + QuestionToken 308771 308772 + TypeReference 308773 308778 + Identifier 308773 308778 + Parameter 308779 308808 + Identifier 308779 308785 + PropertyAccessExpression 308787 308808 + Identifier 308787 308803 + Identifier 308804 308808 + Parameter 308809 308830 + Identifier 308809 308814 + QuestionToken 308814 308815 + TypeReference 308816 308830 + Identifier 308816 308830 + Parameter 308831 308855 + Identifier 308831 308838 + QuestionToken 308838 308839 + TypeReference 308840 308855 + Identifier 308840 308855 + StringKeyword 308857 308864 + Block 308864 310065 + ReturnStatement 308866 308989 + ConditionalExpression 308882 308988 + Identifier 308882 308889 + QuestionToken 308889 308891 + CallExpression 308891 308933 + PropertyAccessExpression 308891 308931 + CallExpression 308891 308923 + Identifier 308891 308915 + Identifier 308916 308922 + Identifier 308924 308931 + ColonToken 308933 308935 + CallExpression 308935 308988 + Identifier 308935 308963 + Identifier 308964 308987 + FunctionDeclaration 308989 310058 + Identifier 309009 309033 + Parameter 309034 309056 + Identifier 309034 309040 + TypeReference 309041 309056 + Identifier 309041 309056 + Block 309057 310058 + VariableStatement 309059 309099 + VariableDeclarationList 309059 309098 + VariableDeclaration 309076 309098 + Identifier 309076 309086 + TypeReference 309087 309098 + Identifier 309087 309098 + IfStatement 309099 309458 + BinaryExpression 309117 309165 + Identifier 309117 309122 + AmpersandToken 309122 309124 + PropertyAccessExpression 309124 309165 + Identifier 309124 309140 + Identifier 309141 309165 + Block 309166 309301 + ExpressionStatement 309168 309286 + BinaryExpression 309168 309285 + Identifier 309168 309195 + EqualsToken 309195 309197 + ConditionalExpression 309197 309285 + BinaryExpression 309197 309230 + Identifier 309197 309202 + EqualsEqualsEqualsToken 309202 309206 + PropertyAccessExpression 309206 309230 + Identifier 309206 309220 + Identifier 309221 309230 + QuestionToken 309230 309232 + PropertyAccessExpression 309232 309259 + Identifier 309232 309243 + Identifier 309244 309259 + ColonToken 309259 309261 + PropertyAccessExpression 309261 309285 + Identifier 309261 309272 + Identifier 309273 309285 + Block 309319 309458 + ExpressionStatement 309321 309443 + BinaryExpression 309321 309442 + Identifier 309321 309348 + EqualsToken 309348 309350 + ConditionalExpression 309350 309442 + BinaryExpression 309350 309383 + Identifier 309350 309355 + EqualsEqualsEqualsToken 309355 309359 + PropertyAccessExpression 309359 309383 + Identifier 309359 309373 + Identifier 309374 309383 + QuestionToken 309383 309385 + PropertyAccessExpression 309385 309415 + Identifier 309385 309396 + Identifier 309397 309415 + ColonToken 309415 309417 + PropertyAccessExpression 309417 309442 + Identifier 309417 309428 + Identifier 309429 309442 + VariableStatement 309458 309685 + VariableDeclarationList 309458 309684 + VariableDeclaration 309477 309684 + Identifier 309477 309481 + CallExpression 309483 309684 + PropertyAccessExpression 309483 309527 + Identifier 309483 309495 + Identifier 309496 309527 + Identifier 309528 309537 + Identifier 309538 309548 + Identifier 309549 309570 + BinaryExpression 309571 309683 + BinaryExpression 309571 309629 + CallExpression 309571 309597 + Identifier 309571 309590 + Identifier 309591 309596 + BarToken 309597 309599 + PropertyAccessExpression 309599 309629 + Identifier 309599 309616 + Identifier 309617 309629 + BarToken 309629 309631 + PropertyAccessExpression 309631 309683 + Identifier 309631 309648 + Identifier 309649 309683 + VariableStatement 309685 309770 + VariableDeclarationList 309685 309769 + VariableDeclaration 309704 309769 + Identifier 309704 309712 + CallExpression 309714 309769 + Identifier 309714 309767 + VariableStatement 309770 309869 + VariableDeclarationList 309770 309868 + VariableDeclaration 309789 309868 + Identifier 309789 309800 + BinaryExpression 309802 309868 + Identifier 309802 309823 + AmpersandAmpersandToken 309823 309826 + CallExpression 309826 309868 + Identifier 309826 309846 + Identifier 309847 309867 + ExpressionStatement 309869 310001 + CallExpression 309869 310000 + PropertyAccessExpression 309869 309900 + Identifier 309869 309890 + Identifier 309891 309900 + PropertyAccessExpression 309901 309921 + Identifier 309901 309909 + Identifier 309910 309921 + NonNullExpression 309922 309927 + Identifier 309922 309926 + Identifier 309928 309954 + CallExpression 309955 309999 + Identifier 309955 309991 + Identifier 309992 309998 + ReturnStatement 310001 310047 + Identifier 310039 310046 + FunctionDeclaration 310065 311562 + Identifier 310081 310094 + Parameter 310095 310105 + Identifier 310095 310099 + TypeReference 310100 310105 + Identifier 310100 310105 + Parameter 310106 310134 + Identifier 310106 310127 + QuestionToken 310127 310128 + TypeReference 310129 310134 + Identifier 310129 310134 + Parameter 310135 310253 + Identifier 310135 310141 + TypeReference 310142 310158 + Identifier 310142 310158 + BinaryExpression 310160 310253 + PropertyAccessExpression 310160 310200 + Identifier 310160 310176 + Identifier 310177 310200 + BarToken 310200 310202 + PropertyAccessExpression 310202 310253 + Identifier 310202 310218 + Identifier 310219 310253 + Parameter 310254 310300 + Identifier 310254 310261 + TypeReference 310262 310277 + Identifier 310262 310277 + CallExpression 310279 310300 + Identifier 310279 310296 + StringLiteral 310297 310299 + StringKeyword 310302 310309 + Block 310309 311562 + VariableStatement 310311 310416 + VariableDeclarationList 310311 310415 + VariableDeclaration 310326 310415 + Identifier 310326 310339 + BinaryExpression 310341 310415 + PropertyAccessExpression 310341 310375 + Identifier 310341 310357 + Identifier 310358 310375 + BarBarToken 310375 310378 + BinaryExpression 310378 310415 + Identifier 310378 310384 + AmpersandToken 310384 310386 + PropertyAccessExpression 310386 310415 + Identifier 310386 310402 + Identifier 310403 310415 + VariableStatement 310416 310659 + VariableDeclarationList 310416 310658 + VariableDeclaration 310431 310658 + Identifier 310431 310440 + CallExpression 310442 310658 + PropertyAccessExpression 310442 310469 + Identifier 310442 310454 + Identifier 310455 310469 + Identifier 310470 310474 + Identifier 310475 310496 + BinaryExpression 310497 310628 + BinaryExpression 310497 310555 + CallExpression 310497 310523 + Identifier 310497 310516 + Identifier 310517 310522 + BarToken 310523 310525 + PropertyAccessExpression 310525 310555 + Identifier 310525 310542 + Identifier 310543 310555 + BarToken 310555 310557 + ParenthesizedExpression 310557 310628 + ConditionalExpression 310559 310627 + Identifier 310559 310571 + QuestionToken 310571 310573 + PropertyAccessExpression 310573 310603 + Identifier 310573 310590 + Identifier 310591 310603 + ColonToken 310603 310605 + PropertyAccessExpression 310605 310627 + Identifier 310605 310622 + Identifier 310623 310627 + Identifier 310629 310657 + IfStatement 310659 310745 + BinaryExpression 310673 310695 + Identifier 310673 310681 + EqualsEqualsEqualsToken 310681 310685 + Identifier 310685 310695 + ReturnStatement 310696 310745 + CallExpression 310703 310744 + PropertyAccessExpression 310703 310714 + Identifier 310703 310709 + Identifier 310710 310714 + StringLiteral 310715 310743 + VariableStatement 310745 311028 + VariableDeclarationList 310745 311027 + VariableDeclaration 310927 311027 + Identifier 310927 310935 + ConditionalExpression 310937 311027 + BinaryExpression 310937 310961 + Identifier 310937 310942 + ExclamationEqualsEqualsToken 310942 310946 + Identifier 310946 310961 + QuestionToken 310961 310963 + CallExpression 310963 310997 + Identifier 310963 310995 + ColonToken 310997 310999 + CallExpression 310999 311027 + Identifier 310999 311025 + VariableStatement 311028 311123 + VariableDeclarationList 311028 311122 + VariableDeclaration 311043 311122 + Identifier 311043 311054 + BinaryExpression 311056 311122 + Identifier 311056 311077 + AmpersandAmpersandToken 311077 311080 + CallExpression 311080 311122 + Identifier 311080 311100 + Identifier 311101 311121 + ExpressionStatement 311123 311218 + CallExpression 311123 311217 + PropertyAccessExpression 311123 311150 + Identifier 311123 311140 + Identifier 311141 311150 + PropertyAccessExpression 311151 311171 + Identifier 311151 311159 + Identifier 311160 311171 + Identifier 311172 311181 + Identifier 311182 311208 + Identifier 311209 311216 + VariableStatement 311218 311260 + VariableDeclarationList 311218 311259 + VariableDeclaration 311233 311259 + Identifier 311233 311240 + CallExpression 311242 311259 + PropertyAccessExpression 311242 311257 + Identifier 311242 311249 + Identifier 311250 311257 + VariableStatement 311260 311382 + VariableDeclarationList 311260 311381 + VariableDeclaration 311277 311381 + Identifier 311277 311287 + ConditionalExpression 311289 311381 + Identifier 311289 311302 + QuestionToken 311302 311304 + BinaryExpression 311304 311344 + Identifier 311304 311340 + AsteriskToken 311340 311342 + NumericLiteral 311342 311344 + ColonToken 311344 311346 + BinaryExpression 311346 311381 + Identifier 311346 311377 + AsteriskToken 311377 311379 + NumericLiteral 311379 311381 + IfStatement 311382 311531 + BinaryExpression 311396 311445 + BinaryExpression 311396 311415 + Identifier 311396 311405 + AmpersandAmpersandToken 311405 311408 + Identifier 311408 311415 + AmpersandAmpersandToken 311415 311418 + BinaryExpression 311418 311445 + PropertyAccessExpression 311418 311432 + Identifier 311418 311425 + Identifier 311426 311432 + GreaterThanEqualsToken 311432 311435 + Identifier 311435 311445 + Block 311446 311531 + ReturnStatement 311448 311520 + BinaryExpression 311468 311519 + CallExpression 311468 311511 + PropertyAccessExpression 311468 311482 + Identifier 311468 311475 + Identifier 311476 311482 + NumericLiteral 311483 311484 + BinaryExpression 311485 311510 + Identifier 311485 311495 + MinusToken 311495 311497 + PropertyAccessExpression 311497 311510 + StringLiteral 311497 311503 + Identifier 311504 311510 + PlusToken 311511 311513 + StringLiteral 311513 311519 + ReturnStatement 311531 311555 + Identifier 311547 311554 + FunctionDeclaration 311562 312164 + Identifier 311578 311606 + Parameter 311607 311617 + Identifier 311607 311611 + TypeReference 311612 311617 + Identifier 311612 311617 + Parameter 311618 311630 + Identifier 311618 311624 + TypeReference 311625 311630 + Identifier 311625 311630 + TupleType 311632 311649 + StringKeyword 311634 311640 + StringKeyword 311641 311648 + Block 311649 312164 + VariableStatement 311651 311801 + VariableDeclarationList 311651 311800 + VariableDeclaration 311664 311800 + Identifier 311664 311672 + ConditionalExpression 311674 311800 + CallExpression 311674 311728 + Identifier 311674 311715 + PropertyAccessExpression 311716 311727 + Identifier 311716 311720 + Identifier 311721 311727 + QuestionToken 311728 311730 + CallExpression 311730 311779 + Identifier 311730 311743 + Identifier 311744 311748 + PropertyAccessExpression 311749 311778 + PropertyAccessExpression 311749 311761 + Identifier 311749 311754 + Identifier 311755 311761 + Identifier 311762 311778 + ColonToken 311779 311781 + CallExpression 311781 311800 + Identifier 311781 311794 + Identifier 311795 311799 + VariableStatement 311801 311956 + VariableDeclarationList 311801 311955 + VariableDeclaration 311814 311955 + Identifier 311814 311823 + ConditionalExpression 311825 311955 + CallExpression 311825 311880 + Identifier 311825 311866 + PropertyAccessExpression 311867 311879 + Identifier 311867 311872 + Identifier 311873 311879 + QuestionToken 311880 311882 + CallExpression 311882 311933 + Identifier 311882 311895 + Identifier 311896 311901 + PropertyAccessExpression 311902 311932 + PropertyAccessExpression 311902 311915 + Identifier 311902 311908 + Identifier 311909 311915 + Identifier 311916 311932 + ColonToken 311933 311935 + CallExpression 311935 311955 + Identifier 311935 311948 + Identifier 311949 311954 + IfStatement 311956 312120 + BinaryExpression 311970 311990 + Identifier 311970 311977 + EqualsEqualsEqualsToken 311977 311981 + Identifier 311981 311990 + Block 311991 312120 + ExpressionStatement 311993 312050 + BinaryExpression 311993 312049 + Identifier 311993 312014 + EqualsToken 312014 312016 + CallExpression 312016 312049 + Identifier 312016 312043 + Identifier 312044 312048 + ExpressionStatement 312050 312109 + BinaryExpression 312050 312108 + Identifier 312050 312072 + EqualsToken 312072 312074 + CallExpression 312074 312108 + Identifier 312074 312101 + Identifier 312102 312107 + ReturnStatement 312120 312157 + ArrayLiteralExpression 312136 312156 + Identifier 312138 312145 + Identifier 312146 312155 + FunctionDeclaration 312164 312339 + Identifier 312180 312207 + Parameter 312208 312218 + Identifier 312208 312212 + TypeReference 312213 312218 + Identifier 312213 312218 + Block 312219 312339 + ReturnStatement 312221 312332 + CallExpression 312237 312331 + Identifier 312237 312250 + Identifier 312251 312255 + Identifier 312256 312291 + PropertyAccessExpression 312292 312330 + Identifier 312292 312308 + Identifier 312309 312330 + FunctionDeclaration 312339 312572 + Identifier 312355 312396 + Parameter 312397 312411 + Identifier 312397 312403 + TypeReference 312404 312411 + Identifier 312404 312411 + BooleanKeyword 312413 312421 + Block 312421 312572 + ReturnStatement 312423 312565 + BinaryExpression 312439 312564 + BinaryExpression 312439 312516 + BinaryExpression 312439 312475 + Identifier 312439 312446 + AmpersandAmpersandToken 312446 312449 + PrefixUnaryExpression 312449 312475 + PrefixUnaryExpression 312451 312475 + PropertyAccessExpression 312452 312475 + Identifier 312452 312458 + Identifier 312459 312475 + AmpersandAmpersandToken 312475 312478 + CallExpression 312478 312516 + Identifier 312478 312491 + PropertyAccessExpression 312492 312515 + Identifier 312492 312498 + Identifier 312499 312515 + AmpersandAmpersandToken 312516 312519 + PrefixUnaryExpression 312519 312564 + CallExpression 312521 312564 + Identifier 312521 312539 + PropertyAccessExpression 312540 312563 + Identifier 312540 312546 + Identifier 312547 312563 + FunctionDeclaration 312572 312726 + Identifier 312588 312607 + Parameter 312608 312636 + Identifier 312608 312613 + PropertyAccessExpression 312615 312636 + Identifier 312615 312631 + Identifier 312632 312636 + TypeReference 312638 312655 + Identifier 312638 312655 + Block 312655 312726 + ReturnStatement 312657 312719 + BinaryExpression 312673 312718 + Identifier 312673 312679 + AmpersandToken 312679 312681 + PropertyAccessExpression 312681 312718 + Identifier 312681 312697 + Identifier 312698 312718 + FunctionDeclaration 312726 313022 + Identifier 312742 312762 + Parameter 312763 312773 + Identifier 312763 312767 + TypeReference 312768 312773 + Identifier 312768 312773 + Block 312774 313022 + ReturnStatement 312776 313015 + BinaryExpression 312792 313014 + BinaryExpression 312792 312851 + PrefixUnaryExpression 312792 312806 + PrefixUnaryExpression 312794 312806 + PropertyAccessExpression 312795 312806 + Identifier 312795 312799 + Identifier 312800 312806 + AmpersandAmpersandToken 312806 312809 + PrefixUnaryExpression 312809 312851 + PrefixUnaryExpression 312811 312851 + ParenthesizedExpression 312812 312851 + BinaryExpression 312813 312850 + PropertyAccessExpression 312813 312830 + PropertyAccessExpression 312813 312824 + Identifier 312813 312817 + Identifier 312818 312824 + Identifier 312825 312830 + AmpersandToken 312830 312832 + PropertyAccessExpression 312832 312850 + Identifier 312832 312844 + Identifier 312845 312850 + AmpersandAmpersandToken 312851 312854 + ParenthesizedExpression 312854 313014 + BinaryExpression 312856 313013 + BinaryExpression 312856 312911 + Identifier 312856 312860 + EqualsEqualsEqualsToken 312860 312864 + CallExpression 312864 312911 + Identifier 312864 312898 + PropertyAccessExpression 312899 312910 + Identifier 312899 312903 + Identifier 312904 312910 + BarBarToken 312911 312914 + ParenthesizedExpression 312914 313013 + BinaryExpression 312916 313012 + PrefixUnaryExpression 312916 312949 + PrefixUnaryExpression 312917 312949 + ParenthesizedExpression 312918 312949 + BinaryExpression 312919 312948 + PropertyAccessExpression 312919 312929 + Identifier 312919 312923 + Identifier 312924 312929 + AmpersandToken 312929 312931 + PropertyAccessExpression 312931 312948 + Identifier 312931 312941 + Identifier 312942 312948 + AmpersandAmpersandToken 312949 312952 + PrefixUnaryExpression 312952 313012 + PrefixUnaryExpression 312954 313012 + ParenthesizedExpression 312955 313012 + BinaryExpression 312956 313011 + CallExpression 312956 312976 + Identifier 312956 312970 + Identifier 312971 312975 + AmpersandToken 312976 312978 + PropertyAccessExpression 312978 313011 + Identifier 312978 312990 + Identifier 312991 313011 + FunctionDeclaration 313022 313535 + Identifier 313433 313467 + Parameter 313468 313482 + Identifier 313468 313472 + TypeReference 313473 313482 + Identifier 313473 313482 + Block 313483 313535 + ReturnStatement 313485 313528 + CallExpression 313501 313527 + Identifier 313501 313521 + Identifier 313522 313526 + FunctionDeclaration 313535 611488 + Identifier 313549 313567 + Block 313569 611488 + VariableStatement 313571 325206 + VariableDeclarationList 313571 325205 + VariableDeclaration 313586 325205 + Identifier 313586 313611 + TypeReference 313612 313645 + Identifier 313612 313645 + ObjectLiteralExpression 313647 325205 + ShorthandPropertyAssignment 313649 313691 + Identifier 313649 313691 + ShorthandPropertyAssignment 313692 313734 + Identifier 313692 313734 + ShorthandPropertyAssignment 313735 313768 + Identifier 313735 313768 + MethodDeclaration 313769 314128 + Identifier 313769 313806 + Parameter 313807 313847 + Identifier 313807 313814 + TypeReference 313815 313847 + Identifier 313815 313847 + Parameter 313848 313878 + Identifier 313848 313853 + TypeReference 313854 313878 + Identifier 313854 313878 + Block 313879 314128 + ReturnStatement 313881 314113 + PrefixUnaryExpression 313905 314112 + ParenthesizedExpression 313907 314112 + BinaryExpression 313908 314111 + BinaryExpression 313908 314049 + BinaryExpression 313908 314001 + PropertyAccessExpression 313908 313953 + ParenthesizedExpression 313908 313939 + AsExpression 313909 313938 + Identifier 313909 313916 + TypeReference 313919 313938 + Identifier 313919 313938 + Identifier 313940 313953 + AmpersandToken 313953 313955 + PropertyAccessExpression 313955 314001 + Identifier 313955 313980 + Identifier 313981 314001 + AmpersandAmpersandToken 314001 314004 + CallExpression 314004 314049 + Identifier 314004 314027 + PropertyAccessExpression 314028 314048 + PropertyAccessExpression 314028 314037 + Identifier 314028 314032 + Identifier 314033 314037 + Identifier 314038 314048 + AmpersandAmpersandToken 314049 314052 + BinaryExpression 314052 314111 + PropertyAccessExpression 314052 314095 + CallExpression 314052 314089 + Identifier 314052 314078 + PropertyAccessExpression 314079 314088 + Identifier 314079 314083 + Identifier 314084 314088 + Identifier 314090 314095 + AmpersandToken 314095 314097 + PropertyAccessExpression 314097 314111 + Identifier 314097 314107 + Identifier 314108 314111 + MethodDeclaration 314129 314270 + Identifier 314129 314165 + Parameter 314166 314173 + Identifier 314166 314173 + Block 314174 314270 + ReturnStatement 314176 314255 + CallExpression 314200 314254 + Identifier 314200 314223 + AsExpression 314224 314253 + Identifier 314224 314231 + TypeReference 314234 314253 + Identifier 314234 314253 + ShorthandPropertyAssignment 314271 314326 + Identifier 314271 314326 + PropertyAssignment 314327 314409 + Identifier 314327 314367 + Identifier 314368 314409 + MethodDeclaration 314410 315562 + Identifier 314410 314455 + Parameter 314456 314570 + Identifier 314456 314467 + UnionType 314468 314570 + TypeReference 314468 314489 + Identifier 314468 314489 + TypeReference 314491 314509 + Identifier 314491 314509 + TypeReference 314511 314531 + Identifier 314511 314531 + TypeReference 314533 314551 + Identifier 314533 314551 + TypeReference 314553 314570 + Identifier 314553 314570 + Parameter 314571 314598 + Identifier 314571 314578 + UnionType 314579 314598 + TypeReference 314579 314586 + Identifier 314579 314586 + UndefinedKeyword 314588 314598 + Parameter 314599 314638 + Identifier 314599 314620 + UnionType 314621 314638 + TypeReference 314621 314626 + Identifier 314621 314626 + UndefinedKeyword 314628 314638 + BooleanKeyword 314640 314648 + Block 314648 315562 + SwitchStatement 314650 315547 + PropertyAccessExpression 314676 314692 + Identifier 314676 314687 + Identifier 314688 314692 + CaseBlock 314693 315547 + CaseClause 314695 314753 + PropertyAccessExpression 314721 314752 + Identifier 314721 314732 + Identifier 314733 314752 + CaseClause 314753 314809 + PropertyAccessExpression 314779 314808 + Identifier 314779 314790 + Identifier 314791 314808 + CaseClause 314809 315237 + PropertyAccessExpression 314835 314863 + Identifier 314835 314846 + Identifier 314847 314863 + ExpressionStatement 314864 314937 + BinaryExpression 314864 314936 + Identifier 314864 314896 + QuestionQuestionEqualsToken 314896 314900 + CallExpression 314900 314936 + Identifier 314900 314923 + Identifier 314924 314935 + VariableStatement 314937 315000 + VariableDeclarationList 314937 314999 + VariableDeclaration 314968 314999 + Identifier 314968 314973 + CallExpression 314975 314999 + Identifier 314975 314991 + Identifier 314992 314998 + ReturnStatement 315000 315237 + PrefixUnaryExpression 315032 315236 + PrefixUnaryExpression 315034 315236 + ParenthesizedExpression 315035 315236 + BinaryExpression 315036 315235 + BinaryExpression 315036 315194 + BinaryExpression 315036 315148 + BinaryExpression 315036 315110 + BinaryExpression 315036 315071 + PropertyAccessExpression 315036 315048 + Identifier 315036 315042 + Identifier 315043 315048 + AmpersandToken 315048 315050 + PropertyAccessExpression 315050 315071 + Identifier 315050 315062 + Identifier 315063 315071 + AmpersandAmpersandToken 315071 315074 + BinaryExpression 315074 315110 + PropertyAccessExpression 315074 315087 + Identifier 315074 315081 + Identifier 315082 315087 + AmpersandToken 315087 315089 + PropertyAccessExpression 315089 315110 + Identifier 315089 315101 + Identifier 315102 315110 + AmpersandAmpersandToken 315110 315113 + CallExpression 315113 315148 + Identifier 315113 315135 + Identifier 315136 315147 + AmpersandAmpersandToken 315148 315151 + PropertyAccessExpression 315151 315194 + PropertyAccessExpression 315151 315182 + ParenthesizedExpression 315151 315176 + AsExpression 315153 315175 + Identifier 315153 315159 + TypeReference 315162 315175 + Identifier 315162 315175 + Identifier 315177 315182 + QuestionDotToken 315182 315184 + Identifier 315184 315194 + AmpersandAmpersandToken 315194 315197 + CallExpression 315197 315235 + Identifier 315197 315229 + Identifier 315230 315234 + CaseClause 315237 315285 + PropertyAccessExpression 315263 315284 + Identifier 315263 315274 + Identifier 315275 315284 + CaseClause 315285 315441 + PropertyAccessExpression 315311 315340 + Identifier 315311 315322 + Identifier 315323 315340 + ReturnStatement 315341 315441 + CallExpression 315373 315440 + Identifier 315373 315405 + Identifier 315406 315417 + Identifier 315418 315439 + DefaultClause 315441 315528 + ExpressionStatement 315471 315528 + CallExpression 315471 315527 + PropertyAccessExpression 315471 315514 + Identifier 315471 315502 + Identifier 315503 315514 + Identifier 315515 315526 + ShorthandPropertyAssignment 315563 315596 + Identifier 315563 315596 + MethodDeclaration 315597 315803 + Identifier 315597 315642 + Parameter 315643 315659 + Identifier 315643 315647 + TypeReference 315648 315659 + Identifier 315648 315659 + Block 315660 315803 + ExpressionStatement 315662 315717 + CallExpression 315662 315716 + PropertyAccessExpression 315662 315692 + Identifier 315662 315685 + Identifier 315686 315692 + CallExpression 315693 315715 + Identifier 315693 315709 + Identifier 315710 315714 + ReturnStatement 315717 315788 + BinaryExpression 315741 315787 + CallExpression 315741 315767 + Identifier 315741 315761 + Identifier 315762 315766 + EqualsEqualsEqualsToken 315767 315771 + Identifier 315771 315787 + MethodDeclaration 315804 316029 + Identifier 315804 315837 + Parameter 315838 315845 + Identifier 315838 315845 + Parameter 315846 315857 + Identifier 315846 315857 + Parameter 315858 315890 + Identifier 315858 315890 + Block 315891 316029 + ReturnStatement 315893 316014 + CallExpression 315917 316013 + Identifier 315917 315937 + Identifier 315938 315948 + NonNullExpression 315949 315979 + PropertyAccessExpression 315949 315978 + Identifier 315949 315957 + Identifier 315958 315978 + Identifier 315980 316012 + MethodDeclaration 316030 316227 + Identifier 316030 316069 + Parameter 316070 316077 + Identifier 316070 316077 + Parameter 316078 316087 + Identifier 316078 316087 + Parameter 316088 316101 + Identifier 316088 316101 + Block 316102 316227 + ReturnStatement 316104 316212 + CallExpression 316128 316211 + Identifier 316128 316154 + AsExpression 316155 316184 + Identifier 316155 316162 + TypeReference 316165 316184 + Identifier 316165 316184 + Identifier 316185 316194 + PrefixUnaryExpression 316195 316210 + PrefixUnaryExpression 316197 316210 + Identifier 316198 316210 + MethodDeclaration 316228 316787 + Identifier 316228 316273 + Parameter 316274 316290 + Identifier 316274 316290 + Parameter 316291 316312 + Identifier 316291 316312 + Block 316313 316787 + VariableStatement 316315 316388 + VariableDeclarationList 316315 316387 + VariableDeclaration 316338 316387 + Identifier 316338 316346 + AsExpression 316348 316387 + Identifier 316348 316365 + TypeReference 316368 316387 + Identifier 316368 316387 + VariableStatement 316388 316474 + VariableDeclarationList 316388 316473 + VariableDeclaration 316411 316473 + Identifier 316411 316421 + CallExpression 316423 316473 + Identifier 316423 316451 + Identifier 316452 316472 + VariableStatement 316474 316675 + VariableDeclarationList 316474 316674 + VariableDeclaration 316497 316674 + Identifier 316497 316508 + BinaryExpression 316510 316674 + CallExpression 316510 316602 + PropertyAccessExpression 316510 316543 + PropertyAccessExpression 316510 316539 + Identifier 316510 316518 + Identifier 316519 316539 + Identifier 316540 316543 + CallExpression 316544 316601 + Identifier 316544 316555 + CallExpression 316556 316600 + Identifier 316556 316578 + Identifier 316579 316599 + QuestionQuestionToken 316602 316605 + CallExpression 316605 316674 + Identifier 316605 316621 + CallExpression 316622 316657 + Identifier 316622 316646 + Identifier 316647 316656 + PropertyAccessExpression 316658 316673 + Identifier 316658 316666 + Identifier 316667 316673 + ReturnStatement 316675 316772 + CallExpression 316699 316771 + Identifier 316699 316739 + Identifier 316740 316747 + Identifier 316748 316758 + Identifier 316759 316770 + MethodDeclaration 316788 317115 + Identifier 316788 316827 + Parameter 316828 316844 + Identifier 316828 316844 + Parameter 316845 316850 + Identifier 316845 316850 + Block 316851 317115 + VariableStatement 316853 316926 + VariableDeclarationList 316853 316925 + VariableDeclaration 316876 316925 + Identifier 316876 316884 + AsExpression 316886 316925 + Identifier 316886 316903 + TypeReference 316906 316925 + Identifier 316906 316925 + VariableStatement 316926 317039 + VariableDeclarationList 316926 317038 + VariableDeclaration 316949 317038 + Identifier 316949 316954 + CallExpression 316956 317038 + Identifier 316956 316972 + CallExpression 316973 317021 + Identifier 316973 316987 + CallExpression 316988 317020 + Identifier 316988 317014 + Identifier 317015 317019 + PropertyAccessExpression 317022 317037 + Identifier 317022 317030 + Identifier 317031 317037 + ReturnStatement 317039 317100 + CallExpression 317063 317099 + Identifier 317063 317084 + Identifier 317085 317089 + Identifier 317090 317098 + MethodDeclaration 317116 318259 + Identifier 317116 317156 + Parameter 317157 317173 + Identifier 317157 317173 + Parameter 317174 317186 + Identifier 317174 317186 + Parameter 317187 317194 + Identifier 317187 317194 + Block 317195 318259 + VariableStatement 317197 317372 + VariableDeclarationList 317197 317371 + VariableDeclaration 317322 317371 + Identifier 317322 317330 + AsExpression 317332 317371 + Identifier 317332 317349 + TypeReference 317352 317371 + Identifier 317352 317371 + ExpressionStatement 317372 317437 + BinaryExpression 317372 317436 + Identifier 317372 317396 + QuestionQuestionEqualsToken 317396 317400 + CallExpression 317400 317436 + Identifier 317400 317423 + Identifier 317424 317435 + VariableStatement 317437 317521 + VariableDeclarationList 317437 317520 + VariableDeclaration 317458 317520 + Identifier 317458 317463 + CallExpression 317465 317520 + PropertyAccessExpression 317465 317499 + PropertyAccessExpression 317465 317494 + Identifier 317465 317473 + Identifier 317474 317494 + QuestionDotToken 317494 317496 + Identifier 317496 317499 + CallExpression 317500 317519 + Identifier 317500 317511 + Identifier 317512 317518 + IfStatement 317521 317834 + BinaryExpression 317543 317561 + Identifier 317543 317547 + EqualsEqualsEqualsToken 317547 317551 + Identifier 317551 317561 + Block 317562 317834 + ExpressionStatement 317564 317815 + BinaryExpression 317564 317814 + Identifier 317564 317590 + EqualsToken 317590 317592 + ConditionalExpression 317592 317814 + BinaryExpression 317592 317670 + Identifier 317592 317599 + AmpersandAmpersandToken 317599 317602 + PrefixUnaryExpression 317602 317670 + ParenthesizedExpression 317604 317670 + BinaryExpression 317605 317669 + PropertyAccessExpression 317605 317617 + Identifier 317605 317611 + Identifier 317612 317617 + AmpersandToken 317617 317619 + ParenthesizedExpression 317619 317669 + BinaryExpression 317621 317668 + PropertyAccessExpression 317621 317644 + Identifier 317621 317632 + Identifier 317633 317644 + BarToken 317644 317646 + PropertyAccessExpression 317646 317668 + Identifier 317646 317658 + Identifier 317659 317668 + QuestionToken 317670 317697 + CallExpression 317697 317777 + Identifier 317697 317713 + CallExpression 317714 317760 + Identifier 317714 317735 + CallExpression 317736 317759 + Identifier 317736 317751 + Identifier 317752 317758 + PropertyAccessExpression 317761 317776 + Identifier 317761 317769 + Identifier 317770 317776 + ColonToken 317777 317804 + Identifier 317804 317814 + VariableStatement 317834 318041 + VariableDeclarationList 317834 318040 + VariableDeclaration 317857 318040 + Identifier 317857 317882 + BinaryExpression 317884 318040 + BinaryExpression 317884 317962 + Identifier 317884 317896 + AmpersandAmpersandToken 317896 317899 + ParenthesizedExpression 317899 317962 + BinaryExpression 317901 317961 + CallExpression 317901 317925 + Identifier 317901 317912 + Identifier 317913 317924 + BarBarToken 317925 317928 + CallExpression 317928 317961 + Identifier 317928 317948 + Identifier 317949 317960 + AmpersandAmpersandToken 317962 317965 + CallExpression 317965 318040 + Identifier 317965 317997 + Identifier 317998 318009 + PropertyAccessExpression 318010 318039 + Identifier 318010 318018 + Identifier 318019 318039 + IfStatement 318041 318160 + Identifier 318063 318087 + Block 318088 318160 + ExpressionStatement 318090 318141 + BinaryExpression 318090 318140 + Identifier 318090 318116 + EqualsToken 318116 318118 + CallExpression 318118 318140 + Identifier 318118 318134 + Identifier 318135 318139 + ReturnStatement 318160 318244 + CallExpression 318184 318243 + Identifier 318184 318220 + Identifier 318221 318227 + Identifier 318228 318236 + Identifier 318237 318242 + MethodDeclaration 318260 318473 + Identifier 318260 318298 + Parameter 318299 318306 + Identifier 318299 318306 + Parameter 318307 318317 + Identifier 318307 318317 + Block 318318 318473 + ReturnStatement 318320 318458 + CallExpression 318344 318457 + Identifier 318344 318380 + CallExpression 318381 318414 + Identifier 318381 318403 + Identifier 318404 318413 + Identifier 318415 318425 + AsExpression 318426 318456 + Identifier 318426 318434 + TypeReference 318437 318456 + Identifier 318437 318456 + MethodDeclaration 318474 318960 + Identifier 318474 318507 + Parameter 318508 318524 + Identifier 318508 318524 + Parameter 318525 318530 + Identifier 318525 318530 + Block 318531 318960 + VariableStatement 318533 318606 + VariableDeclarationList 318533 318605 + VariableDeclaration 318556 318605 + Identifier 318556 318564 + AsExpression 318566 318605 + Identifier 318566 318583 + TypeReference 318586 318605 + Identifier 318586 318605 + VariableStatement 318606 318688 + VariableDeclarationList 318606 318687 + VariableDeclaration 318629 318687 + Identifier 318629 318636 + CallExpression 318638 318687 + Identifier 318638 318658 + Identifier 318659 318663 + TrueKeyword 318664 318686 + IfStatement 318688 318736 + PrefixUnaryExpression 318710 318717 + Identifier 318711 318717 + ReturnStatement 318718 318736 + Identifier 318725 318735 + IfStatement 318736 318839 + PrefixUnaryExpression 318758 318820 + CallExpression 318759 318820 + Identifier 318759 318782 + Identifier 318783 318789 + PropertyAccessExpression 318790 318819 + Identifier 318790 318798 + Identifier 318799 318819 + ReturnStatement 318821 318839 + Identifier 318828 318838 + ReturnStatement 318839 318945 + CallExpression 318863 318944 + Identifier 318863 318882 + Identifier 318883 318889 + Identifier 318890 318898 + BinaryExpression 318899 318943 + PropertyAccessExpression 318899 318917 + Identifier 318899 318911 + Identifier 318912 318917 + BarToken 318917 318919 + PropertyAccessExpression 318919 318943 + Identifier 318919 318931 + Identifier 318932 318943 + MethodDeclaration 318961 319154 + Identifier 318961 318992 + Parameter 318993 319000 + Identifier 318993 319000 + Parameter 319001 319006 + Identifier 319001 319006 + Parameter 319007 319016 + Identifier 319007 319016 + Parameter 319017 319031 + Identifier 319017 319031 + Block 319032 319154 + ReturnStatement 319034 319139 + CallExpression 319058 319138 + Identifier 319058 319076 + AsExpression 319077 319106 + Identifier 319077 319084 + TypeReference 319087 319106 + Identifier 319087 319106 + Identifier 319107 319112 + Identifier 319113 319122 + Identifier 319123 319137 + MethodDeclaration 319155 319851 + Identifier 319155 319193 + Parameter 319194 319210 + Identifier 319194 319210 + Parameter 319211 319228 + Identifier 319211 319228 + Parameter 319229 319243 + Identifier 319229 319243 + Block 319244 319851 + VariableStatement 319246 319319 + VariableDeclarationList 319246 319318 + VariableDeclaration 319269 319318 + Identifier 319269 319277 + AsExpression 319279 319318 + Identifier 319279 319296 + TypeReference 319299 319318 + Identifier 319299 319318 + VariableStatement 319319 319431 + VariableDeclarationList 319319 319430 + VariableDeclaration 319342 319430 + Identifier 319342 319347 + ConditionalExpression 319349 319430 + CallExpression 319349 319382 + Identifier 319349 319362 + PropertyAccessExpression 319363 319381 + Identifier 319363 319376 + Identifier 319377 319381 + QuestionToken 319382 319384 + PropertyAccessExpression 319384 319403 + Identifier 319384 319398 + Identifier 319399 319403 + ColonToken 319403 319405 + PropertyAccessExpression 319405 319430 + PropertyAccessExpression 319405 319424 + Identifier 319405 319419 + Identifier 319420 319424 + Identifier 319425 319430 + VariableStatement 319431 319561 + VariableDeclarationList 319431 319560 + VariableDeclaration 319454 319560 + Identifier 319454 319468 + CallExpression 319470 319560 + Identifier 319470 319494 + CallExpression 319495 319541 + Identifier 319495 319514 + Identifier 319515 319522 + Identifier 319523 319540 + PropertyAccessExpression 319542 319559 + Identifier 319542 319547 + Identifier 319548 319559 + VariableStatement 319561 319794 + VariableDeclarationList 319561 319793 + VariableDeclaration 319584 319793 + Identifier 319584 319601 + ConditionalExpression 319603 319793 + BinaryExpression 319603 319734 + BinaryExpression 319603 319649 + Identifier 319603 319617 + AmpersandAmpersandToken 319617 319620 + PropertyAccessExpression 319620 319649 + Identifier 319620 319634 + Identifier 319635 319649 + AmpersandAmpersandToken 319649 319652 + BinaryExpression 319652 319734 + CallExpression 319652 319716 + Identifier 319652 319672 + Identifier 319673 319680 + PropertyAccessExpression 319681 319715 + PropertyAccessExpression 319681 319710 + Identifier 319681 319695 + Identifier 319696 319710 + Identifier 319711 319715 + ExclamationEqualsEqualsToken 319716 319720 + Identifier 319720 319734 + QuestionToken 319734 319736 + CallExpression 319736 319781 + Identifier 319736 319757 + Identifier 319758 319771 + Identifier 319772 319780 + ColonToken 319781 319783 + Identifier 319783 319793 + ReturnStatement 319794 319836 + Identifier 319818 319835 + MethodDeclaration 319852 320580 + Identifier 319852 319879 + Parameter 319880 319887 + Identifier 319880 319887 + Parameter 319888 319893 + Identifier 319888 319893 + Block 319894 320580 + IfStatement 319896 320565 + BinaryExpression 319918 319964 + CallExpression 319918 319938 + Identifier 319918 319932 + Identifier 319933 319937 + BarBarToken 319938 319941 + CallExpression 319941 319964 + Identifier 319941 319958 + Identifier 319959 319963 + Block 319965 320188 + VariableStatement 319967 320041 + VariableDeclarationList 319967 320040 + VariableDeclaration 319994 320040 + Identifier 319994 320004 + CallExpression 320006 320040 + Identifier 320006 320034 + Identifier 320035 320039 + ReturnStatement 320041 320169 + CallExpression 320069 320168 + Identifier 320069 320083 + AsExpression 320084 320113 + Identifier 320084 320091 + TypeReference 320094 320113 + Identifier 320094 320113 + Identifier 320114 320119 + PropertyAccessExpression 320120 320141 + Identifier 320120 320130 + Identifier 320131 320141 + PropertyAccessExpression 320142 320167 + Identifier 320142 320152 + Identifier 320153 320167 + Block 320210 320565 + VariableStatement 320212 320420 + VariableDeclarationList 320212 320419 + VariableDeclaration 320239 320419 + Identifier 320239 320254 + ConditionalExpression 320256 320419 + CallExpression 320256 320284 + Identifier 320256 320278 + Identifier 320279 320283 + QuestionToken 320284 320286 + CallExpression 320286 320315 + Identifier 320286 320309 + Identifier 320310 320314 + ColonToken 320315 320317 + ArrayLiteralExpression 320317 320419 + CallExpression 320344 320418 + Identifier 320344 320374 + CallExpression 320375 320417 + Identifier 320375 320397 + PropertyAccessExpression 320398 320416 + Identifier 320398 320402 + Identifier 320403 320416 + ReturnStatement 320420 320546 + CallExpression 320448 320545 + Identifier 320448 320462 + AsExpression 320463 320492 + Identifier 320463 320470 + TypeReference 320473 320492 + Identifier 320473 320492 + Identifier 320493 320498 + Identifier 320499 320528 + Identifier 320529 320544 + MethodDeclaration 320581 320807 + Identifier 320581 320608 + TypeParameter 320609 320623 + Identifier 320609 320610 + TypeReference 320618 320623 + Identifier 320618 320623 + Parameter 320625 320665 + Identifier 320625 320632 + TypeReference 320633 320665 + Identifier 320633 320665 + Parameter 320666 320675 + Identifier 320666 320672 + TypeReference 320673 320675 + Identifier 320673 320675 + Parameter 320676 320703 + Identifier 320676 320685 + UnionType 320686 320703 + TypeReference 320686 320691 + Identifier 320686 320691 + UndefinedKeyword 320693 320703 + Block 320704 320807 + ReturnStatement 320706 320792 + CallExpression 320730 320791 + Identifier 320730 320743 + AsExpression 320744 320773 + Identifier 320744 320751 + TypeReference 320754 320773 + Identifier 320754 320773 + Identifier 320774 320780 + Identifier 320781 320790 + MethodDeclaration 320808 321043 + Identifier 320808 320845 + TypeParameter 320846 320888 + Identifier 320846 320847 + TypeReference 320855 320888 + Identifier 320855 320888 + Parameter 320890 320930 + Identifier 320890 320897 + TypeReference 320898 320930 + Identifier 320898 320930 + Parameter 320931 320939 + Identifier 320931 320936 + TypeReference 320937 320939 + Identifier 320937 320939 + Block 320940 321043 + ReturnStatement 320942 321028 + CallExpression 320966 321027 + Identifier 320966 320990 + Identifier 320991 320995 + AsExpression 320996 321026 + Identifier 320996 321004 + TypeReference 321007 321026 + Identifier 321007 321026 + MethodDeclaration 321044 321301 + Identifier 321044 321075 + Parameter 321076 321116 + Identifier 321076 321083 + TypeReference 321084 321116 + Identifier 321084 321116 + Parameter 321117 321168 + Identifier 321117 321134 + TypeReference 321135 321168 + Identifier 321135 321168 + Block 321169 321301 + ExpressionStatement 321171 321286 + CallExpression 321171 321285 + Identifier 321171 321206 + Identifier 321207 321223 + PropertyAccessExpression 321224 321253 + Identifier 321224 321232 + Identifier 321233 321253 + AsExpression 321254 321284 + Identifier 321254 321262 + TypeReference 321265 321284 + Identifier 321265 321284 + MethodDeclaration 321302 323136 + Identifier 321302 321342 + Parameter 321343 321359 + Identifier 321343 321359 + Parameter 321360 321367 + Identifier 321360 321367 + Parameter 321368 321372 + Identifier 321368 321372 + Block 321373 323136 + VariableStatement 321375 321448 + VariableDeclarationList 321375 321447 + VariableDeclaration 321398 321447 + Identifier 321398 321406 + AsExpression 321408 321447 + Identifier 321408 321425 + TypeReference 321428 321447 + Identifier 321428 321447 + IfStatement 321448 323121 + BinaryExpression 321470 321539 + PropertyAccessExpression 321470 321485 + Identifier 321470 321477 + Identifier 321478 321485 + BarBarToken 321485 321488 + BinaryExpression 321488 321539 + PropertyAccessExpression 321488 321510 + Identifier 321488 321496 + Identifier 321497 321510 + ExclamationEqualsEqualsToken 321510 321514 + CallExpression 321514 321539 + Identifier 321514 321534 + Identifier 321535 321538 + Block 321540 323121 + VariableStatement 321542 321584 + VariableDeclarationList 321542 321583 + VariableDeclaration 321567 321583 + Identifier 321567 321572 + PropertyAccessExpression 321574 321583 + Identifier 321574 321578 + Identifier 321579 321583 + VariableStatement 321584 321632 + VariableDeclarationList 321584 321631 + VariableDeclaration 321611 321631 + Identifier 321611 321624 + Identifier 321626 321631 + VariableStatement 321632 321709 + VariableDeclarationList 321632 321708 + VariableDeclaration 321659 321708 + Identifier 321659 321670 + PropertyAccessExpression 321672 321708 + CallExpression 321672 321693 + Identifier 321672 321685 + Identifier 321686 321692 + Identifier 321694 321708 + VariableStatement 321709 321802 + VariableDeclarationList 321709 321801 + VariableDeclaration 321736 321801 + Identifier 321736 321744 + ConditionalExpression 321746 321801 + PropertyAccessExpression 321746 321762 + Identifier 321746 321753 + Identifier 321754 321762 + QuestionToken 321762 321764 + PropertyAccessExpression 321764 321782 + Identifier 321764 321776 + Identifier 321777 321782 + ColonToken 321782 321784 + PropertyAccessExpression 321784 321801 + Identifier 321784 321796 + Identifier 321797 321801 + VariableStatement 321802 322155 + VariableDeclarationList 321802 322154 + VariableDeclaration 321829 322154 + Identifier 321829 321842 + BinaryExpression 321844 322154 + BinaryExpression 321844 322047 + Identifier 321844 321855 + AmpersandAmpersandToken 321855 321883 + BinaryExpression 321883 322047 + PropertyAccessExpression 321883 322012 + CallExpression 321883 321998 + Identifier 321883 321902 + Identifier 321903 321913 + PropertyAccessExpression 321914 321943 + Identifier 321914 321922 + Identifier 321923 321943 + Identifier 321944 321952 + FalseKeyword 321953 321997 + Identifier 321999 322012 + EqualsEqualsEqualsToken 322012 322016 + PropertyAccessExpression 322016 322047 + Identifier 322016 322036 + Identifier 322037 322047 + AmpersandAmpersandToken 322047 322075 + ElementAccessExpression 322075 322154 + CallExpression 322075 322151 + Identifier 322075 322093 + Identifier 322094 322104 + Identifier 322105 322113 + Identifier 322114 322122 + TrueKeyword 322123 322150 + NumericLiteral 322152 322153 + IfStatement 322155 322647 + BinaryExpression 322181 322233 + Identifier 322181 322193 + AmpersandAmpersandToken 322193 322196 + CallExpression 322196 322233 + Identifier 322196 322219 + Identifier 322220 322232 + Block 322234 322343 + ExpressionStatement 322236 322320 + BinaryExpression 322236 322319 + Identifier 322236 322266 + EqualsToken 322266 322268 + CallExpression 322268 322319 + Identifier 322268 322296 + Identifier 322297 322309 + Identifier 322310 322318 + Block 322369 322647 + VariableStatement 322371 322461 + VariableDeclarationList 322371 322460 + VariableDeclaration 322402 322460 + Identifier 322402 322413 + CallExpression 322415 322460 + Identifier 322415 322452 + Identifier 322453 322459 + IfStatement 322461 322624 + Identifier 322491 322501 + Block 322502 322624 + ExpressionStatement 322504 322597 + BinaryExpression 322504 322596 + Identifier 322504 322538 + EqualsToken 322538 322540 + CallExpression 322540 322596 + Identifier 322540 322568 + PropertyAccessExpression 322569 322586 + Identifier 322569 322579 + Identifier 322580 322586 + Identifier 322587 322595 + IfStatement 322647 322991 + CallExpression 322673 322704 + PropertyAccessExpression 322673 322686 + Identifier 322673 322677 + Identifier 322678 322686 + StringLiteral 322687 322703 + Block 322705 322991 + ExpressionStatement 322707 322765 + BinaryExpression 322707 322764 + PropertyAccessExpression 322707 322757 + Identifier 322707 322740 + Identifier 322741 322757 + EqualsToken 322757 322759 + TrueKeyword 322759 322764 + IfStatement 322765 322968 + PropertyAccessExpression 322795 322848 + PropertyAccessExpression 322795 322810 + Identifier 322795 322802 + Identifier 322803 322810 + Identifier 322811 322848 + Block 322849 322968 + ExpressionStatement 322851 322941 + CallExpression 322851 322940 + PropertyAccessExpression 322851 322934 + PropertyAccessExpression 322851 322896 + Identifier 322851 322888 + Identifier 322889 322896 + Identifier 322897 322934 + Identifier 322935 322939 + IfStatement 322991 323102 + BinaryExpression 323017 323038 + Identifier 323017 323021 + ExclamationEqualsEqualsToken 323021 323025 + Identifier 323025 323038 + Block 323039 323102 + ReturnStatement 323041 323079 + Identifier 323073 323078 + MethodDeclaration 323137 323286 + Identifier 323137 323167 + Parameter 323168 323175 + Identifier 323168 323175 + Parameter 323176 323185 + Identifier 323176 323185 + Block 323186 323286 + ReturnStatement 323188 323271 + CallExpression 323212 323270 + Identifier 323212 323229 + AsExpression 323230 323259 + Identifier 323230 323237 + TypeReference 323240 323259 + Identifier 323240 323259 + Identifier 323260 323269 + MethodDeclaration 323287 325193 + Identifier 323287 323327 + Parameter 323328 323377 + Identifier 323328 323344 + TypeReference 323345 323377 + Identifier 323345 323377 + Parameter 323378 323396 + Identifier 323378 323383 + TypeReference 323384 323396 + Identifier 323384 323396 + Parameter 323397 323416 + Identifier 323397 323406 + TypeReference 323407 323416 + Identifier 323407 323416 + Parameter 323417 323432 + Identifier 323417 323424 + TypeReference 323425 323432 + Identifier 323425 323432 + Parameter 323433 323467 + Identifier 323433 323457 + QuestionToken 323457 323458 + BooleanKeyword 323459 323467 + Block 323468 325193 + VariableStatement 323470 323543 + VariableDeclarationList 323470 323542 + VariableDeclaration 323493 323542 + Identifier 323493 323501 + AsExpression 323503 323542 + Identifier 323503 323520 + TypeReference 323523 323542 + Identifier 323523 323542 + IfStatement 323543 323622 + BinaryExpression 323565 323607 + PropertyAccessExpression 323565 323593 + Identifier 323565 323572 + Identifier 323573 323593 + EqualsEqualsEqualsToken 323593 323597 + Identifier 323597 323607 + ReturnStatement 323608 323622 + FalseKeyword 323615 323621 + ExpressionStatement 323622 323682 + BinaryExpression 323622 323681 + Identifier 323622 323648 + QuestionQuestionEqualsToken 323648 323652 + CallExpression 323652 323681 + Identifier 323652 323675 + Identifier 323676 323680 + VariableStatement 323682 323766 + VariableDeclarationList 323682 323765 + VariableDeclaration 323703 323765 + Identifier 323703 323708 + CallExpression 323710 323765 + PropertyAccessExpression 323710 323744 + PropertyAccessExpression 323710 323739 + Identifier 323710 323718 + Identifier 323719 323739 + QuestionDotToken 323739 323741 + Identifier 323741 323744 + CallExpression 323745 323764 + Identifier 323745 323756 + Identifier 323757 323763 + IfStatement 323766 324336 + BinaryExpression 323788 323806 + Identifier 323788 323792 + EqualsEqualsEqualsToken 323792 323796 + Identifier 323796 323806 + Block 323807 324336 + IfStatement 323809 324317 + BinaryExpression 323835 323870 + PropertyAccessExpression 323835 323847 + Identifier 323835 323841 + Identifier 323842 323847 + AmpersandToken 323847 323849 + PropertyAccessExpression 323849 323870 + Identifier 323849 323861 + Identifier 323862 323870 + Block 323871 324026 + ExpressionStatement 323873 324003 + BinaryExpression 323873 324002 + Identifier 323873 323903 + EqualsToken 323903 323905 + ConditionalExpression 323905 324002 + BinaryExpression 323905 323942 + PropertyAccessExpression 323905 323915 + Identifier 323905 323910 + Identifier 323911 323915 + EqualsEqualsEqualsToken 323915 323919 + PropertyAccessExpression 323919 323942 + Identifier 323919 323930 + Identifier 323931 323942 + QuestionToken 323942 323944 + CallExpression 323944 323973 + Identifier 323944 323965 + Identifier 323966 323972 + ColonToken 323973 323975 + CallExpression 323975 324002 + Identifier 323975 323994 + Identifier 323995 324001 + IfStatement 324052 324317 + CallExpression 324057 324090 + Identifier 324057 324084 + Identifier 324085 324089 + Block 324091 324209 + ExpressionStatement 324093 324186 + BinaryExpression 324093 324185 + Identifier 324093 324123 + EqualsToken 324123 324125 + CallExpression 324125 324185 + Identifier 324125 324150 + CallExpression 324151 324184 + Identifier 324151 324178 + Identifier 324179 324183 + Block 324235 324317 + ExpressionStatement 324237 324294 + BinaryExpression 324237 324293 + Identifier 324237 324267 + EqualsToken 324267 324269 + CallExpression 324269 324293 + Identifier 324269 324285 + Identifier 324286 324292 + VariableStatement 324336 324419 + VariableDeclarationList 324336 324418 + VariableDeclaration 324357 324418 + Identifier 324357 324372 + CallExpression 324374 324418 + Identifier 324374 324408 + Identifier 324409 324417 + IfStatement 324419 324809 + CallExpression 324441 324468 + Identifier 324441 324452 + Identifier 324453 324467 + Block 324469 324809 + ReturnStatement 324471 324790 + TrueKeyword 324784 324789 + IfStatement 324809 324984 + BinaryExpression 324831 324872 + Identifier 324831 324854 + AmpersandAmpersandToken 324854 324857 + Identifier 324857 324872 + Block 324873 324984 + ExpressionStatement 324875 324965 + BinaryExpression 324875 324964 + Identifier 324875 324911 + EqualsToken 324911 324913 + CallExpression 324913 324964 + Identifier 324913 324928 + Identifier 324929 324943 + PrefixUnaryExpression 324944 324963 + CallExpression 324946 324963 + Identifier 324946 324957 + Identifier 324958 324962 + ReturnStatement 324984 325178 + BinaryExpression 325008 325177 + BinaryExpression 325008 325083 + PrefixUnaryExpression 325008 325025 + PrefixUnaryExpression 325010 325025 + Identifier 325011 325025 + AmpersandAmpersandToken 325025 325028 + CallExpression 325028 325083 + Identifier 325028 325055 + Identifier 325056 325060 + Identifier 325061 325066 + Identifier 325067 325082 + AmpersandAmpersandToken 325083 325086 + CallExpression 325086 325177 + Identifier 325086 325161 + Identifier 325162 325170 + Identifier 325171 325176 + ReturnStatement 325206 329983 + ObjectLiteralExpression 325222 329982 + ShorthandPropertyAssignment 325224 325262 + Identifier 325224 325262 + PropertyAssignment 325263 325543 + Identifier 325263 325291 + ArrowFunction 325292 325543 + Parameter 325294 325304 + Identifier 325294 325298 + TypeReference 325299 325304 + Identifier 325299 325304 + Parameter 325305 325333 + Identifier 325305 325326 + QuestionToken 325326 325327 + TypeReference 325328 325333 + Identifier 325328 325333 + Parameter 325334 325359 + Identifier 325334 325340 + QuestionToken 325340 325341 + TypeReference 325342 325359 + Identifier 325342 325359 + Parameter 325360 325401 + Identifier 325360 325374 + QuestionToken 325374 325375 + TypeReference 325376 325401 + Identifier 325376 325401 + Parameter 325402 325426 + Identifier 325402 325410 + QuestionToken 325410 325411 + TypeReference 325412 325426 + Identifier 325412 325426 + EqualsGreaterThanToken 325427 325430 + CallExpression 325430 325543 + Identifier 325430 325442 + Identifier 325443 325463 + Identifier 325464 325470 + Identifier 325471 325485 + Identifier 325486 325494 + ArrowFunction 325495 325542 + Parameter 325495 325503 + Identifier 325495 325503 + EqualsGreaterThanToken 325503 325506 + CallExpression 325506 325542 + Identifier 325506 325527 + Identifier 325528 325532 + Identifier 325533 325541 + PropertyAssignment 325544 325887 + Identifier 325544 325590 + ArrowFunction 325591 325887 + Parameter 325593 325621 + Identifier 325593 325606 + TypeReference 325607 325621 + Identifier 325607 325621 + Parameter 325622 325650 + Identifier 325622 325643 + QuestionToken 325643 325644 + TypeReference 325645 325650 + Identifier 325645 325650 + Parameter 325651 325676 + Identifier 325651 325657 + QuestionToken 325657 325658 + TypeReference 325659 325676 + Identifier 325659 325676 + Parameter 325677 325718 + Identifier 325677 325691 + QuestionToken 325691 325692 + TypeReference 325693 325718 + Identifier 325693 325718 + Parameter 325719 325743 + Identifier 325719 325727 + QuestionToken 325727 325728 + TypeReference 325729 325743 + Identifier 325729 325743 + EqualsGreaterThanToken 325744 325747 + CallExpression 325747 325887 + Identifier 325747 325759 + Identifier 325760 325780 + Identifier 325781 325787 + Identifier 325788 325802 + Identifier 325803 325811 + ArrowFunction 325812 325886 + Parameter 325812 325820 + Identifier 325812 325820 + EqualsGreaterThanToken 325820 325823 + CallExpression 325823 325886 + Identifier 325823 325862 + Identifier 325863 325876 + Identifier 325877 325885 + PropertyAssignment 325888 326212 + Identifier 325888 325928 + ArrowFunction 325929 326212 + Parameter 325931 325947 + Identifier 325931 325935 + TypeReference 325936 325947 + Identifier 325936 325947 + Parameter 325948 325976 + Identifier 325948 325969 + QuestionToken 325969 325970 + TypeReference 325971 325976 + Identifier 325971 325976 + Parameter 325977 326002 + Identifier 325977 325983 + QuestionToken 325983 325984 + TypeReference 325985 326002 + Identifier 325985 326002 + Parameter 326003 326044 + Identifier 326003 326017 + QuestionToken 326017 326018 + TypeReference 326019 326044 + Identifier 326019 326044 + Parameter 326045 326069 + Identifier 326045 326053 + QuestionToken 326053 326054 + TypeReference 326055 326069 + Identifier 326055 326069 + EqualsGreaterThanToken 326070 326073 + CallExpression 326073 326212 + Identifier 326073 326085 + Identifier 326086 326106 + Identifier 326107 326113 + Identifier 326114 326128 + Identifier 326129 326137 + ArrowFunction 326138 326211 + Parameter 326138 326146 + Identifier 326138 326146 + EqualsGreaterThanToken 326146 326149 + CallExpression 326149 326211 + PropertyAccessExpression 326149 326196 + Identifier 326149 326170 + Identifier 326171 326196 + Identifier 326197 326201 + Identifier 326202 326210 + PropertyAssignment 326213 326582 + Identifier 326213 326254 + ArrowFunction 326255 326582 + Parameter 326257 326285 + Identifier 326257 326268 + TypeReference 326269 326285 + Identifier 326269 326285 + Parameter 326286 326301 + Identifier 326286 326293 + TypeReference 326294 326301 + Identifier 326294 326301 + Parameter 326302 326330 + Identifier 326302 326323 + QuestionToken 326323 326324 + TypeReference 326325 326330 + Identifier 326325 326330 + Parameter 326331 326356 + Identifier 326331 326337 + QuestionToken 326337 326338 + TypeReference 326339 326356 + Identifier 326339 326356 + Parameter 326357 326398 + Identifier 326357 326371 + QuestionToken 326371 326372 + TypeReference 326373 326398 + Identifier 326373 326398 + Parameter 326399 326423 + Identifier 326399 326407 + QuestionToken 326407 326408 + TypeReference 326409 326423 + Identifier 326409 326423 + EqualsGreaterThanToken 326424 326427 + CallExpression 326427 326582 + Identifier 326427 326439 + Identifier 326440 326460 + Identifier 326461 326467 + Identifier 326468 326482 + Identifier 326483 326491 + ArrowFunction 326492 326581 + Parameter 326492 326500 + Identifier 326492 326500 + EqualsGreaterThanToken 326500 326503 + CallExpression 326503 326581 + PropertyAccessExpression 326503 326551 + Identifier 326503 326524 + Identifier 326525 326551 + Identifier 326552 326563 + Identifier 326564 326571 + Identifier 326572 326580 + PropertyAssignment 326583 326973 + Identifier 326583 326628 + ArrowFunction 326629 326973 + Parameter 326631 326662 + Identifier 326631 326640 + TypeReference 326641 326662 + Identifier 326641 326662 + Parameter 326663 326691 + Identifier 326663 326684 + QuestionToken 326684 326685 + TypeReference 326686 326691 + Identifier 326686 326691 + Parameter 326692 326717 + Identifier 326692 326698 + QuestionToken 326698 326699 + TypeReference 326700 326717 + Identifier 326700 326717 + Parameter 326718 326759 + Identifier 326718 326732 + QuestionToken 326732 326733 + TypeReference 326734 326759 + Identifier 326734 326759 + Parameter 326760 326784 + Identifier 326760 326768 + QuestionToken 326768 326769 + TypeReference 326770 326784 + Identifier 326770 326784 + EqualsGreaterThanToken 326785 326788 + CallExpression 326788 326973 + Identifier 326788 326800 + Identifier 326801 326821 + Identifier 326822 326828 + Identifier 326829 326843 + Identifier 326844 326852 + ArrowFunction 326853 326972 + Parameter 326853 326861 + Identifier 326853 326861 + EqualsGreaterThanToken 326861 326864 + CallExpression 326864 326972 + PropertyAccessExpression 326864 326917 + Identifier 326864 326885 + Identifier 326886 326917 + Identifier 326918 326927 + CallExpression 326928 326962 + Identifier 326928 326951 + Identifier 326952 326961 + Identifier 326963 326971 + PropertyAssignment 326974 327337 + Identifier 326974 327024 + ArrowFunction 327025 327337 + Parameter 327027 327047 + Identifier 327027 327036 + TypeReference 327037 327047 + Identifier 327037 327047 + Parameter 327048 327076 + Identifier 327048 327069 + QuestionToken 327069 327070 + TypeReference 327071 327076 + Identifier 327071 327076 + Parameter 327077 327102 + Identifier 327077 327083 + QuestionToken 327083 327084 + TypeReference 327085 327102 + Identifier 327085 327102 + Parameter 327103 327144 + Identifier 327103 327117 + QuestionToken 327117 327118 + TypeReference 327119 327144 + Identifier 327119 327144 + Parameter 327145 327169 + Identifier 327145 327153 + QuestionToken 327153 327154 + TypeReference 327155 327169 + Identifier 327155 327169 + EqualsGreaterThanToken 327170 327173 + CallExpression 327173 327337 + Identifier 327173 327185 + Identifier 327186 327206 + Identifier 327207 327213 + Identifier 327214 327228 + Identifier 327229 327237 + ArrowFunction 327238 327336 + Parameter 327238 327246 + Identifier 327238 327246 + EqualsGreaterThanToken 327246 327249 + CallExpression 327249 327336 + Identifier 327249 327292 + Identifier 327293 327302 + Identifier 327303 327311 + Identifier 327312 327335 + PropertyAssignment 327338 327709 + Identifier 327338 327383 + ArrowFunction 327384 327709 + Parameter 327386 327406 + Identifier 327386 327395 + TypeReference 327396 327406 + Identifier 327396 327406 + Parameter 327407 327442 + Identifier 327407 327412 + IndexedAccessType 327413 327442 + TypeReference 327413 327434 + Identifier 327413 327434 + LiteralType 327435 327441 + StringLiteral 327435 327441 + Parameter 327443 327471 + Identifier 327443 327464 + QuestionToken 327464 327465 + TypeReference 327466 327471 + Identifier 327466 327471 + Parameter 327472 327497 + Identifier 327472 327478 + QuestionToken 327478 327479 + TypeReference 327480 327497 + Identifier 327480 327497 + Parameter 327498 327539 + Identifier 327498 327512 + QuestionToken 327512 327513 + TypeReference 327514 327539 + Identifier 327514 327539 + Parameter 327540 327564 + Identifier 327540 327548 + QuestionToken 327548 327549 + TypeReference 327550 327564 + Identifier 327550 327564 + EqualsGreaterThanToken 327565 327568 + CallExpression 327568 327709 + Identifier 327568 327580 + Identifier 327581 327601 + Identifier 327602 327608 + Identifier 327609 327623 + Identifier 327624 327632 + ArrowFunction 327633 327708 + Parameter 327633 327641 + Identifier 327633 327641 + EqualsGreaterThanToken 327641 327644 + CallExpression 327644 327708 + Identifier 327644 327682 + Identifier 327683 327692 + Identifier 327693 327698 + Identifier 327699 327707 + PropertyAssignment 327710 328052 + Identifier 327710 327742 + ArrowFunction 327743 328052 + Parameter 327745 327759 + Identifier 327745 327751 + TypeReference 327752 327759 + Identifier 327752 327759 + Parameter 327760 327781 + Identifier 327760 327768 + TypeReference 327769 327781 + Identifier 327769 327781 + Parameter 327782 327810 + Identifier 327782 327803 + QuestionToken 327803 327804 + TypeReference 327805 327810 + Identifier 327805 327810 + Parameter 327811 327836 + Identifier 327811 327817 + QuestionToken 327817 327818 + TypeReference 327819 327836 + Identifier 327819 327836 + Parameter 327837 327878 + Identifier 327837 327851 + QuestionToken 327851 327852 + TypeReference 327853 327878 + Identifier 327853 327878 + Parameter 327879 327903 + Identifier 327879 327887 + QuestionToken 327887 327888 + TypeReference 327889 327903 + Identifier 327889 327903 + EqualsGreaterThanToken 327904 327907 + CallExpression 327907 328052 + Identifier 327907 327919 + Identifier 327920 327940 + Identifier 327941 327947 + Identifier 327948 327962 + Identifier 327963 327971 + ArrowFunction 327972 328051 + Parameter 327972 327980 + Identifier 327972 327980 + EqualsGreaterThanToken 327980 327983 + CallExpression 327983 328051 + Identifier 327983 327996 + Identifier 327997 328003 + Identifier 328004 328012 + Identifier 328013 328021 + FalseKeyword 328022 328050 + PropertyAssignment 328053 328372 + Identifier 328053 328085 + ArrowFunction 328086 328372 + Parameter 328088 328102 + Identifier 328088 328094 + TypeReference 328095 328102 + Identifier 328095 328102 + Parameter 328103 328124 + Identifier 328103 328111 + TypeReference 328112 328124 + Identifier 328112 328124 + Parameter 328125 328153 + Identifier 328125 328146 + QuestionToken 328146 328147 + TypeReference 328148 328153 + Identifier 328148 328153 + Parameter 328154 328179 + Identifier 328154 328160 + QuestionToken 328160 328161 + TypeReference 328162 328179 + Identifier 328162 328179 + Parameter 328180 328221 + Identifier 328180 328194 + QuestionToken 328194 328195 + TypeReference 328196 328221 + Identifier 328196 328221 + Parameter 328222 328246 + Identifier 328222 328230 + QuestionToken 328230 328231 + TypeReference 328232 328246 + Identifier 328232 328246 + EqualsGreaterThanToken 328247 328250 + CallExpression 328250 328372 + Identifier 328250 328262 + Identifier 328263 328283 + Identifier 328284 328290 + Identifier 328291 328305 + Identifier 328306 328314 + ArrowFunction 328315 328371 + Parameter 328315 328323 + Identifier 328315 328323 + EqualsGreaterThanToken 328323 328326 + CallExpression 328326 328371 + Identifier 328326 328345 + Identifier 328346 328352 + Identifier 328353 328361 + Identifier 328362 328370 + PropertyAssignment 328373 328699 + Identifier 328373 328420 + ArrowFunction 328421 328699 + Parameter 328423 328437 + Identifier 328423 328429 + TypeReference 328430 328437 + Identifier 328430 328437 + Parameter 328438 328466 + Identifier 328438 328459 + QuestionToken 328459 328460 + TypeReference 328461 328466 + Identifier 328461 328466 + Parameter 328467 328492 + Identifier 328467 328473 + QuestionToken 328473 328474 + TypeReference 328475 328492 + Identifier 328475 328492 + Parameter 328493 328534 + Identifier 328493 328507 + QuestionToken 328507 328508 + TypeReference 328509 328534 + Identifier 328509 328534 + Parameter 328535 328559 + Identifier 328535 328543 + QuestionToken 328543 328544 + TypeReference 328545 328559 + Identifier 328545 328559 + EqualsGreaterThanToken 328560 328563 + CallExpression 328563 328699 + Identifier 328563 328575 + Identifier 328576 328596 + Identifier 328597 328603 + Identifier 328604 328618 + Identifier 328619 328627 + ArrowFunction 328628 328698 + Parameter 328628 328636 + Identifier 328628 328636 + EqualsGreaterThanToken 328636 328639 + CallExpression 328639 328698 + Identifier 328639 328681 + Identifier 328682 328688 + Identifier 328689 328697 + PropertyAssignment 328700 329008 + Identifier 328700 328742 + ArrowFunction 328743 329008 + Parameter 328745 328759 + Identifier 328745 328751 + TypeReference 328752 328759 + Identifier 328752 328759 + Parameter 328760 328788 + Identifier 328760 328781 + QuestionToken 328781 328782 + TypeReference 328783 328788 + Identifier 328783 328788 + Parameter 328789 328814 + Identifier 328789 328795 + QuestionToken 328795 328796 + TypeReference 328797 328814 + Identifier 328797 328814 + Parameter 328815 328856 + Identifier 328815 328829 + QuestionToken 328829 328830 + TypeReference 328831 328856 + Identifier 328831 328856 + Parameter 328857 328881 + Identifier 328857 328865 + QuestionToken 328865 328866 + TypeReference 328867 328881 + Identifier 328867 328881 + EqualsGreaterThanToken 328882 328885 + CallExpression 328885 329008 + Identifier 328885 328897 + Identifier 328898 328918 + Identifier 328919 328925 + Identifier 328926 328940 + Identifier 328941 328949 + ArrowFunction 328950 329007 + Parameter 328950 328958 + Identifier 328950 328958 + EqualsGreaterThanToken 328958 328961 + CallExpression 328961 329007 + Identifier 328961 328990 + Identifier 328991 328997 + Identifier 328998 329006 + PropertyAssignment 329009 329326 + Identifier 329009 329049 + ArrowFunction 329050 329326 + Parameter 329052 329076 + Identifier 329052 329061 + TypeReference 329062 329076 + Identifier 329062 329076 + Parameter 329077 329105 + Identifier 329077 329098 + QuestionToken 329098 329099 + TypeReference 329100 329105 + Identifier 329100 329105 + Parameter 329106 329131 + Identifier 329106 329112 + QuestionToken 329112 329113 + TypeReference 329114 329131 + Identifier 329114 329131 + Parameter 329132 329173 + Identifier 329132 329146 + QuestionToken 329146 329147 + TypeReference 329148 329173 + Identifier 329148 329173 + Parameter 329174 329198 + Identifier 329174 329182 + QuestionToken 329182 329183 + TypeReference 329184 329198 + Identifier 329184 329198 + EqualsGreaterThanToken 329199 329202 + CallExpression 329202 329326 + Identifier 329202 329214 + Identifier 329215 329235 + Identifier 329236 329242 + Identifier 329243 329257 + Identifier 329258 329266 + ArrowFunction 329267 329325 + Parameter 329267 329275 + Identifier 329267 329275 + EqualsGreaterThanToken 329275 329278 + CallExpression 329278 329325 + Identifier 329278 329305 + Identifier 329306 329315 + Identifier 329316 329324 + PropertyAssignment 329327 329662 + Identifier 329327 329375 + ArrowFunction 329376 329662 + Parameter 329378 329402 + Identifier 329378 329389 + TypeReference 329390 329402 + Identifier 329390 329402 + Parameter 329403 329431 + Identifier 329403 329424 + QuestionToken 329424 329425 + TypeReference 329426 329431 + Identifier 329426 329431 + Parameter 329432 329457 + Identifier 329432 329438 + QuestionToken 329438 329439 + TypeReference 329440 329457 + Identifier 329440 329457 + Parameter 329458 329499 + Identifier 329458 329472 + QuestionToken 329472 329473 + TypeReference 329474 329499 + Identifier 329474 329499 + Parameter 329500 329524 + Identifier 329500 329508 + QuestionToken 329508 329509 + TypeReference 329510 329524 + Identifier 329510 329524 + EqualsGreaterThanToken 329525 329528 + CallExpression 329528 329662 + Identifier 329528 329540 + Identifier 329541 329561 + Identifier 329562 329568 + Identifier 329569 329583 + Identifier 329584 329592 + ArrowFunction 329593 329661 + Parameter 329593 329601 + Identifier 329593 329601 + EqualsGreaterThanToken 329601 329604 + CallExpression 329604 329661 + Identifier 329604 329639 + Identifier 329640 329651 + Identifier 329652 329660 + PropertyAssignment 329663 329970 + Identifier 329663 329689 + ArrowFunction 329690 329970 + Parameter 329692 329706 + Identifier 329692 329698 + TypeReference 329699 329706 + Identifier 329699 329706 + Parameter 329707 329728 + Identifier 329707 329715 + TypeReference 329716 329728 + Identifier 329716 329728 + Parameter 329729 329757 + Identifier 329729 329750 + QuestionToken 329750 329751 + TypeReference 329752 329757 + Identifier 329752 329757 + Parameter 329758 329783 + Identifier 329758 329764 + QuestionToken 329764 329765 + TypeReference 329766 329783 + Identifier 329766 329783 + Parameter 329784 329825 + Identifier 329784 329798 + QuestionToken 329798 329799 + TypeReference 329800 329825 + Identifier 329800 329825 + Parameter 329826 329850 + Identifier 329826 329834 + QuestionToken 329834 329835 + TypeReference 329836 329850 + Identifier 329836 329850 + EqualsGreaterThanToken 329851 329854 + CallExpression 329854 329970 + Identifier 329854 329866 + Identifier 329867 329887 + Identifier 329888 329894 + Identifier 329895 329909 + Identifier 329910 329918 + ArrowFunction 329919 329969 + Parameter 329919 329927 + Identifier 329919 329927 + EqualsGreaterThanToken 329927 329930 + CallExpression 329930 329969 + Identifier 329930 329943 + Identifier 329944 329950 + Identifier 329951 329959 + Identifier 329960 329968 + FunctionDeclaration 329983 330098 + Identifier 330003 330023 + Parameter 330024 330051 + Identifier 330024 330031 + TypeReference 330032 330051 + Identifier 330032 330051 + Parameter 330052 330067 + Identifier 330052 330057 + TypeReference 330058 330067 + Identifier 330058 330067 + Parameter 330068 330090 + Identifier 330068 330082 + QuestionToken 330082 330083 + LiteralType 330084 330090 + FalseKeyword 330084 330090 + TypeReference 330092 330097 + Identifier 330092 330097 + FunctionDeclaration 330098 330221 + Identifier 330116 330136 + Parameter 330137 330164 + Identifier 330137 330144 + TypeReference 330145 330164 + Identifier 330145 330164 + Parameter 330165 330180 + Identifier 330165 330170 + TypeReference 330171 330180 + Identifier 330171 330180 + Parameter 330181 330201 + Identifier 330181 330195 + LiteralType 330196 330201 + TrueKeyword 330196 330201 + UnionType 330203 330220 + TypeReference 330203 330208 + Identifier 330203 330208 + UndefinedKeyword 330210 330220 + FunctionDeclaration 330221 330630 + Identifier 330239 330259 + Parameter 330260 330287 + Identifier 330260 330267 + TypeReference 330268 330287 + Identifier 330268 330287 + Parameter 330288 330303 + Identifier 330288 330293 + TypeReference 330294 330303 + Identifier 330294 330303 + Parameter 330304 330328 + Identifier 330304 330318 + QuestionToken 330318 330319 + BooleanKeyword 330320 330328 + UnionType 330330 330347 + TypeReference 330330 330335 + Identifier 330330 330335 + UndefinedKeyword 330337 330347 + Block 330347 330630 + VariableStatement 330349 330416 + VariableDeclarationList 330349 330415 + VariableDeclaration 330368 330415 + Identifier 330368 330373 + CallExpression 330375 330415 + Identifier 330375 330409 + Identifier 330410 330414 + IfStatement 330416 330463 + PrefixUnaryExpression 330434 330449 + PropertyAccessExpression 330435 330449 + Identifier 330435 330442 + Identifier 330443 330449 + ReturnStatement 330450 330463 + Identifier 330457 330462 + VariableStatement 330463 330536 + VariableDeclarationList 330463 330535 + VariableDeclaration 330484 330535 + Identifier 330484 330495 + CallExpression 330497 330535 + Identifier 330497 330513 + Identifier 330514 330518 + PropertyAccessExpression 330519 330534 + Identifier 330519 330527 + Identifier 330528 330534 + ReturnStatement 330536 330619 + ConditionalExpression 330556 330618 + BinaryExpression 330556 330593 + Identifier 330556 330570 + AmpersandAmpersandToken 330570 330573 + BinaryExpression 330573 330593 + Identifier 330573 330584 + ExclamationEqualsEqualsToken 330584 330588 + Identifier 330588 330593 + QuestionToken 330593 330595 + Identifier 330595 330605 + ColonToken 330605 330607 + Identifier 330607 330618 + FunctionDeclaration 330630 332696 + Identifier 331343 331356 + TypeParameter 331357 331371 + Identifier 331357 331358 + TypeReference 331366 331371 + Identifier 331366 331371 + Parameter 331373 331400 + Identifier 331373 331380 + TypeReference 331381 331400 + Identifier 331381 331400 + Parameter 331401 331410 + Identifier 331401 331407 + TypeReference 331408 331410 + Identifier 331408 331410 + Parameter 331411 331438 + Identifier 331411 331420 + UnionType 331421 331438 + TypeReference 331421 331426 + Identifier 331421 331426 + UndefinedKeyword 331428 331438 + TypeReference 331440 331442 + Identifier 331440 331442 + Block 331442 332696 + IfStatement 331444 331806 + BinaryExpression 331462 331628 + BinaryExpression 331462 331555 + BinaryExpression 331462 331529 + PrefixUnaryExpression 331462 331487 + CallExpression 331463 331487 + Identifier 331463 331480 + Identifier 331481 331486 + BarBarToken 331487 331490 + PrefixUnaryExpression 331490 331529 + ParenthesizedExpression 331492 331529 + BinaryExpression 331493 331528 + PropertyAccessExpression 331493 331504 + Identifier 331493 331498 + Identifier 331499 331504 + AmpersandToken 331504 331506 + PropertyAccessExpression 331506 331528 + Identifier 331506 331516 + Identifier 331517 331528 + BarBarToken 331529 331532 + PrefixUnaryExpression 331532 331555 + PropertyAccessExpression 331534 331555 + Identifier 331534 331541 + Identifier 331542 331555 + BarBarToken 331555 331558 + BinaryExpression 331558 331628 + PropertyAccessExpression 331558 331580 + Identifier 331558 331566 + Identifier 331567 331580 + ExclamationEqualsEqualsToken 331580 331584 + CallExpression 331584 331628 + Identifier 331584 331604 + CallExpression 331605 331627 + Identifier 331605 331620 + Identifier 331621 331626 + Block 331629 331806 + ExpressionStatement 331631 331682 + BinaryExpression 331631 331681 + Identifier 331631 331654 + EqualsToken 331654 331656 + CallExpression 331656 331681 + PropertyAccessExpression 331656 331674 + Identifier 331656 331664 + Identifier 331665 331674 + Identifier 331675 331680 + IfStatement 331806 331857 + BinaryExpression 331824 331842 + Identifier 331824 331829 + EqualsEqualsEqualsToken 331829 331833 + Identifier 331833 331842 + ReturnStatement 331843 331857 + Identifier 331850 331856 + IfStatement 331857 331933 + PrefixUnaryExpression 331875 331884 + Identifier 331876 331884 + Block 331885 331933 + ReturnStatement 331887 331918 + Identifier 331911 331917 + VariableStatement 331933 332117 + VariableDeclarationList 331933 332116 + VariableDeclaration 332090 332116 + Identifier 332090 332099 + PropertyAccessExpression 332101 332116 + Identifier 332101 332107 + Identifier 332108 332116 + WhileStatement 332117 332236 + BinaryExpression 332138 332171 + Identifier 332138 332146 + AmpersandAmpersandToken 332146 332149 + BinaryExpression 332149 332171 + Identifier 332149 332158 + ExclamationEqualsEqualsToken 332158 332162 + Identifier 332162 332171 + Block 332172 332236 + ExpressionStatement 332174 332221 + BinaryExpression 332174 332220 + Identifier 332174 332200 + EqualsToken 332200 332202 + PropertyAccessExpression 332202 332220 + Identifier 332202 332211 + Identifier 332212 332220 + IfStatement 332236 332332 + PrefixUnaryExpression 332254 332263 + Identifier 332255 332263 + Block 332264 332332 + ExpressionStatement 332266 332317 + CallExpression 332266 332316 + Identifier 332266 332299 + Identifier 332300 332305 + Identifier 332306 332315 + IfStatement 332332 332658 + BinaryExpression 332482 332579 + PropertyAccessExpression 332482 332503 + Identifier 332482 332489 + Identifier 332490 332503 + AmpersandAmpersandToken 332503 332506 + BinaryExpression 332506 332579 + PropertyAccessExpression 332506 332528 + Identifier 332506 332514 + Identifier 332515 332528 + EqualsEqualsEqualsToken 332528 332532 + CallExpression 332532 332579 + Identifier 332532 332552 + CallExpression 332553 332578 + Identifier 332553 332568 + Identifier 332569 332577 + Block 332580 332658 + ReturnStatement 332582 332643 + CallExpression 332606 332642 + Identifier 332606 332625 + Identifier 332626 332631 + Identifier 332632 332641 + ReturnStatement 332658 332685 + Identifier 332678 332684 + FunctionDeclaration 332696 333597 + Identifier 332716 332729 + Parameter 332730 332744 + Identifier 332730 332736 + TypeReference 332737 332744 + Identifier 332737 332744 + Parameter 332745 332773 + Identifier 332745 332753 + TypeReference 332754 332773 + Identifier 332754 332773 + Parameter 332774 332795 + Identifier 332774 332782 + TypeReference 332783 332795 + Identifier 332783 332795 + Block 332796 333597 + IfStatement 332798 333520 + BinaryExpression 332816 332883 + PropertyAccessExpression 332816 332837 + Identifier 332816 332823 + Identifier 332824 332837 + AmpersandToken 332837 332839 + PropertyAccessExpression 332839 332883 + Identifier 332839 332864 + Identifier 332865 332883 + Block 332884 333520 + IfStatement 332886 333110 + PropertyAccessExpression 332908 332931 + Identifier 332908 332914 + Identifier 332915 332931 + Block 332932 333110 + VariableStatement 332934 333015 + VariableDeclarationList 332934 333014 + VariableDeclaration 332961 333014 + Identifier 332961 332966 + CallExpression 332968 333014 + Identifier 332968 332989 + PropertyAccessExpression 332990 333013 + Identifier 332990 332996 + Identifier 332997 333013 + IfStatement 333015 333091 + BinaryExpression 333041 333077 + Identifier 333041 333045 + AmpersandAmpersandToken 333045 333048 + CallExpression 333048 333077 + Identifier 333048 333071 + Identifier 333072 333076 + ReturnStatement 333078 333091 + Identifier 333085 333090 + VariableStatement 333110 333177 + VariableDeclarationList 333110 333176 + VariableDeclaration 333133 333176 + Identifier 333133 333142 + PropertyAccessExpression 333144 333176 + CallExpression 333144 333167 + Identifier 333144 333159 + Identifier 333160 333166 + Identifier 333168 333176 + IfStatement 333177 333505 + BinaryExpression 333199 333278 + Identifier 333199 333207 + AmpersandAmpersandToken 333207 333210 + BinaryExpression 333210 333278 + PropertyAccessExpression 333210 333225 + Identifier 333210 333219 + Identifier 333220 333225 + AmpersandToken 333225 333227 + ParenthesizedExpression 333227 333278 + BinaryExpression 333229 333277 + PropertyAccessExpression 333229 333250 + Identifier 333229 333238 + Identifier 333239 333250 + BarToken 333250 333252 + PropertyAccessExpression 333252 333277 + Identifier 333252 333262 + Identifier 333263 333277 + Block 333279 333505 + ExpressionStatement 333281 333367 + BinaryExpression 333281 333366 + PropertyAccessExpression 333281 333331 + Identifier 333281 333310 + Identifier 333311 333331 + EqualsToken 333331 333333 + PropertyAccessExpression 333333 333366 + PropertyAccessExpression 333333 333349 + Identifier 333333 333342 + Identifier 333343 333349 + Identifier 333350 333366 + ReturnStatement 333367 333486 + CallExpression 333395 333485 + PropertyAccessExpression 333395 333430 + Identifier 333395 333403 + Identifier 333404 333430 + CallExpression 333431 333484 + Identifier 333431 333449 + PropertyAccessExpression 333450 333465 + Identifier 333450 333458 + Identifier 333459 333465 + Identifier 333466 333474 + Identifier 333475 333483 + ReturnStatement 333520 333586 + CallExpression 333540 333585 + Identifier 333540 333559 + Identifier 333560 333566 + Identifier 333567 333575 + Identifier 333576 333584 + FunctionDeclaration 333597 336088 + Identifier 333617 333629 + TypeParameter 333630 333631 + Identifier 333630 333631 + Parameter 333633 333671 + Identifier 333633 333653 + UnionType 333654 333671 + TypeReference 333654 333659 + Identifier 333654 333659 + UndefinedKeyword 333661 333671 + Parameter 333672 333708 + Identifier 333672 333678 + UnionType 333679 333708 + TypeReference 333679 333696 + Identifier 333679 333696 + UndefinedKeyword 333698 333708 + Parameter 333709 333761 + Identifier 333709 333723 + UnionType 333724 333761 + TypeReference 333724 333749 + Identifier 333724 333749 + UndefinedKeyword 333751 333761 + Parameter 333762 333797 + Identifier 333762 333770 + UnionType 333771 333797 + TypeReference 333771 333785 + Identifier 333771 333785 + UndefinedKeyword 333787 333797 + Parameter 333798 333837 + Identifier 333798 333801 + FunctionType 333802 333837 + Parameter 333804 333831 + Identifier 333804 333811 + TypeReference 333812 333831 + Identifier 333812 333831 + TypeReference 333835 333837 + Identifier 333835 333837 + UnionType 333839 333853 + TypeReference 333839 333841 + Identifier 333839 333841 + UndefinedKeyword 333843 333853 + Block 333853 336088 + VariableStatement 333855 334154 + VariableDeclarationList 333855 334153 + VariableDeclaration 333874 334153 + Identifier 333874 333893 + ConditionalExpression 333895 334153 + PropertyAccessExpression 333895 333916 + Identifier 333895 333903 + QuestionDotToken 333903 333905 + Identifier 333905 333916 + QuestionToken 333916 333918 + PropertyAccessExpression 333918 333945 + Identifier 333918 333926 + Identifier 333927 333945 + ColonToken 333945 333947 + ConditionalExpression 333947 334153 + BinaryExpression 333947 334064 + ParenthesizedExpression 333947 334013 + BinaryExpression 333966 334012 + Identifier 333966 333979 + BarBarToken 333979 333982 + PropertyAccessExpression 333982 334012 + Identifier 333982 334007 + Identifier 334008 334012 + AmpersandToken 334013 334015 + PropertyAccessExpression 334015 334064 + Identifier 334015 334040 + Identifier 334041 334064 + QuestionToken 334064 334066 + CallExpression 334066 334124 + Identifier 334066 334118 + Identifier 334119 334123 + ColonToken 334124 334126 + Identifier 334126 334153 + VariableStatement 334154 335702 + VariableDeclarationList 334154 335701 + VariableDeclaration 334173 335701 + Identifier 334173 334181 + TypeReference 334182 334201 + Identifier 334182 334201 + ObjectLiteralExpression 334203 335701 + ShorthandPropertyAssignment 334205 334243 + Identifier 334205 334243 + PropertyAssignment 334244 334342 + Identifier 334244 334275 + BinaryExpression 334276 334342 + Identifier 334276 334297 + AmpersandAmpersandToken 334297 334300 + CallExpression 334300 334342 + Identifier 334300 334320 + Identifier 334321 334341 + PropertyAssignment 334343 334398 + Identifier 334343 334366 + BinaryExpression 334367 334398 + Identifier 334367 334373 + BarBarToken 334373 334376 + PropertyAccessExpression 334376 334398 + Identifier 334376 334393 + Identifier 334394 334398 + PropertyAssignment 334399 334478 + Identifier 334399 334430 + BinaryExpression 334431 334478 + Identifier 334431 334445 + BarBarToken 334445 334448 + PropertyAccessExpression 334448 334478 + Identifier 334448 334473 + Identifier 334474 334478 + PropertyAssignment 334479 334516 + Identifier 334479 334504 + NonNullExpression 334505 334516 + Identifier 334505 334515 + PropertyAssignment 334517 334558 + Identifier 334517 334551 + FalseKeyword 334552 334558 + PropertyAssignment 334559 334615 + Identifier 334559 334608 + FalseKeyword 334609 334615 + PropertyAssignment 334616 334659 + Identifier 334616 334652 + FalseKeyword 334653 334659 + PropertyAssignment 334660 334701 + Identifier 334660 334690 + Identifier 334691 334701 + PropertyAssignment 334702 334742 + Identifier 334702 334731 + Identifier 334732 334742 + PropertyAssignment 334743 334791 + Identifier 334743 334780 + Identifier 334781 334791 + PropertyAssignment 334792 334830 + Identifier 334792 334827 + NumericLiteral 334828 334830 + PropertyAssignment 334831 334874 + Identifier 334831 334863 + Identifier 334864 334874 + PropertyAssignment 334875 335026 + Identifier 334875 334900 + BinaryExpression 334901 335026 + BinaryExpression 334901 334953 + PrefixUnaryExpression 334901 334927 + PrefixUnaryExpression 334903 334927 + PropertyAccessExpression 334904 334927 + Identifier 334904 334919 + Identifier 334920 334927 + AmpersandAmpersandToken 334927 334930 + PrefixUnaryExpression 334930 334953 + PrefixUnaryExpression 334932 334953 + Identifier 334933 334953 + AmpersandAmpersandToken 334953 334956 + CallExpression 334956 335026 + Identifier 334956 334983 + CallExpression 334984 335025 + Identifier 334984 335003 + Identifier 335004 335024 + PropertyAssignment 335027 335062 + Identifier 335027 335055 + FalseKeyword 335056 335062 + PropertyAssignment 335063 335107 + Identifier 335063 335096 + Identifier 335097 335107 + PropertyAssignment 335108 335156 + Identifier 335108 335145 + Identifier 335146 335156 + PropertyAssignment 335157 335210 + Identifier 335157 335199 + Identifier 335200 335210 + PropertyAssignment 335211 335258 + Identifier 335211 335247 + Identifier 335248 335258 + PropertyAssignment 335259 335316 + Identifier 335259 335310 + TrueKeyword 335311 335316 + PropertyAssignment 335317 335369 + Identifier 335317 335358 + Identifier 335359 335369 + PropertyAssignment 335370 335430 + Identifier 335370 335424 + TrueKeyword 335425 335430 + PropertyAssignment 335431 335478 + Identifier 335431 335467 + Identifier 335468 335478 + PropertyAssignment 335479 335532 + Identifier 335479 335521 + Identifier 335522 335532 + PropertyAssignment 335533 335599 + Identifier 335533 335588 + Identifier 335589 335599 + PropertyAssignment 335600 335649 + Identifier 335600 335638 + NewExpression 335639 335649 + Identifier 335643 335647 + PropertyAssignment 335650 335685 + Identifier 335650 335674 + Identifier 335675 335685 + ExpressionStatement 335702 335794 + BinaryExpression 335702 335793 + PropertyAccessExpression 335702 335731 + Identifier 335702 335723 + Identifier 335724 335731 + EqualsToken 335731 335733 + NewExpression 335733 335793 + Identifier 335737 335755 + Identifier 335756 335763 + Identifier 335764 335772 + Identifier 335773 335792 + VariableStatement 335794 335842 + VariableDeclarationList 335794 335841 + VariableDeclaration 335813 335841 + Identifier 335813 335827 + CallExpression 335829 335841 + Identifier 335829 335832 + Identifier 335833 335840 + IfStatement 335842 336003 + BinaryExpression 335860 335927 + PropertyAccessExpression 335860 335878 + Identifier 335860 335867 + Identifier 335868 335878 + AmpersandAmpersandToken 335878 335881 + BinaryExpression 335881 335927 + PropertyAccessExpression 335881 335895 + Identifier 335881 335889 + Identifier 335890 335895 + AmpersandToken 335895 335897 + PropertyAccessExpression 335897 335927 + Identifier 335897 335914 + Identifier 335915 335927 + Block 335928 336003 + ExpressionStatement 335930 335988 + CallExpression 335930 335987 + PropertyAccessExpression 335930 335985 + PropertyAccessExpression 335930 335963 + Identifier 335930 335955 + Identifier 335956 335963 + Identifier 335964 335985 + ReturnStatement 336003 336077 + ConditionalExpression 336023 336076 + PropertyAccessExpression 336023 336048 + Identifier 336023 336031 + Identifier 336032 336048 + QuestionToken 336048 336050 + Identifier 336050 336060 + ColonToken 336060 336062 + Identifier 336062 336076 + FunctionDeclaration 336088 336672 + Identifier 336108 336131 + Parameter 336132 336159 + Identifier 336132 336139 + TypeReference 336140 336159 + Identifier 336140 336159 + Parameter 336160 336175 + Identifier 336160 336167 + TypeReference 336168 336175 + Identifier 336168 336175 + Parameter 336176 336187 + Identifier 336176 336181 + TypeReference 336182 336187 + Identifier 336182 336187 + Block 336188 336672 + VariableStatement 336190 336235 + VariableDeclarationList 336190 336234 + VariableDeclaration 336209 336234 + Identifier 336209 336212 + CallExpression 336214 336234 + Identifier 336214 336226 + Identifier 336227 336233 + VariableStatement 336235 336302 + VariableDeclarationList 336235 336301 + VariableDeclaration 336254 336301 + Identifier 336254 336262 + CallExpression 336264 336301 + PropertyAccessExpression 336264 336297 + PropertyAccessExpression 336264 336293 + Identifier 336264 336272 + Identifier 336273 336293 + Identifier 336294 336297 + Identifier 336298 336300 + ExpressionStatement 336302 336359 + CallExpression 336302 336358 + PropertyAccessExpression 336302 336348 + PropertyAccessExpression 336302 336344 + Identifier 336302 336323 + Identifier 336324 336344 + Identifier 336345 336348 + Identifier 336349 336351 + Identifier 336352 336357 + ReturnStatement 336359 336388 + Identifier 336379 336387 + FunctionDeclaration 336388 336661 + Identifier 336410 336418 + Block 336420 336661 + IfStatement 336422 336646 + Identifier 336444 336451 + Block 336452 336541 + ExpressionStatement 336454 336522 + CallExpression 336454 336521 + PropertyAccessExpression 336454 336508 + PropertyAccessExpression 336454 336504 + Identifier 336454 336483 + Identifier 336484 336504 + Identifier 336505 336508 + Identifier 336509 336511 + Identifier 336512 336520 + Block 336563 336646 + ExpressionStatement 336565 336627 + CallExpression 336565 336626 + PropertyAccessExpression 336565 336622 + PropertyAccessExpression 336565 336615 + Identifier 336565 336594 + Identifier 336595 336615 + Identifier 336616 336622 + Identifier 336623 336625 + FunctionDeclaration 336672 337027 + Identifier 336690 336707 + Parameter 336708 336735 + Identifier 336708 336715 + TypeReference 336716 336735 + Identifier 336716 336735 + Block 336736 337027 + VariableStatement 336738 336780 + VariableDeclarationList 336738 336779 + VariableDeclaration 336757 336779 + Identifier 336757 336763 + PropertyAccessExpression 336765 336779 + Identifier 336765 336773 + Identifier 336774 336779 + VariableStatement 336780 336838 + VariableDeclarationList 336780 336837 + VariableDeclaration 336799 336837 + Identifier 336799 336813 + PropertyAccessExpression 336815 336837 + Identifier 336815 336823 + Identifier 336824 336837 + ReturnStatement 336838 336869 + Identifier 336860 336868 + FunctionDeclaration 336869 337016 + Identifier 336893 336901 + Block 336903 337016 + ExpressionStatement 336905 336945 + BinaryExpression 336905 336944 + PropertyAccessExpression 336905 336936 + Identifier 336905 336930 + Identifier 336931 336936 + EqualsToken 336936 336938 + Identifier 336938 336944 + ExpressionStatement 336945 337001 + BinaryExpression 336945 337000 + PropertyAccessExpression 336945 336984 + Identifier 336945 336970 + Identifier 336971 336984 + EqualsToken 336984 336986 + Identifier 336986 337000 + FunctionDeclaration 337027 337375 + Identifier 337047 337069 + Parameter 337070 337097 + Identifier 337070 337077 + TypeReference 337078 337097 + Identifier 337078 337097 + BooleanKeyword 337099 337107 + Block 337107 337375 + IfStatement 337109 337173 + PropertyAccessExpression 337127 337145 + Identifier 337127 337134 + Identifier 337135 337145 + ReturnStatement 337146 337173 + PropertyAccessExpression 337153 337172 + Identifier 337153 337161 + Identifier 337162 337172 + ReturnStatement 337173 337364 + BinaryExpression 337193 337363 + PropertyAccessExpression 337193 337212 + Identifier 337193 337201 + Identifier 337202 337212 + EqualsToken 337212 337214 + BinaryExpression 337214 337363 + PropertyAccessExpression 337214 337240 + Identifier 337214 337222 + Identifier 337223 337240 + GreaterThanToken 337240 337242 + ParenthesizedExpression 337242 337363 + ConditionalExpression 337244 337362 + ParenthesizedExpression 337244 337291 + BinaryExpression 337245 337290 + PropertyAccessExpression 337245 337258 + Identifier 337245 337252 + Identifier 337253 337258 + AmpersandToken 337258 337260 + PropertyAccessExpression 337260 337290 + Identifier 337260 337277 + Identifier 337278 337290 + QuestionToken 337291 337293 + Identifier 337293 337329 + ColonToken 337329 337331 + Identifier 337331 337362 + FunctionDeclaration 337375 337667 + Identifier 337395 337416 + Parameter 337417 337427 + Identifier 337417 337421 + TypeReference 337422 337427 + Identifier 337422 337427 + Parameter 337428 337456 + Identifier 337428 337436 + TypeReference 337437 337456 + Identifier 337437 337456 + TypeReference 337458 337467 + Identifier 337458 337467 + Block 337467 337667 + VariableStatement 337469 337530 + VariableDeclarationList 337469 337529 + VariableDeclaration 337488 337529 + Identifier 337488 337501 + CallExpression 337503 337529 + Identifier 337503 337520 + Identifier 337521 337528 + VariableStatement 337530 337597 + VariableDeclarationList 337530 337596 + VariableDeclaration 337549 337596 + Identifier 337549 337558 + CallExpression 337560 337596 + Identifier 337560 337581 + Identifier 337582 337586 + Identifier 337587 337595 + ExpressionStatement 337597 337626 + CallExpression 337597 337625 + Identifier 337597 337623 + ReturnStatement 337626 337656 + Identifier 337646 337655 + FunctionDeclaration 337667 399312 + Identifier 337687 337708 + Parameter 337709 337719 + Identifier 337709 337713 + TypeReference 337714 337719 + Identifier 337714 337719 + Parameter 337720 337748 + Identifier 337720 337728 + TypeReference 337729 337748 + Identifier 337729 337748 + TypeReference 337750 337759 + Identifier 337750 337759 + Block 337759 399312 + IfStatement 337761 337931 + BinaryExpression 337779 337846 + Identifier 337779 337796 + AmpersandAmpersandToken 337796 337799 + PropertyAccessExpression 337799 337846 + Identifier 337799 337817 + Identifier 337818 337846 + Block 337847 337931 + ExpressionStatement 337849 337916 + CallExpression 337849 337915 + PropertyAccessExpression 337849 337913 + Identifier 337849 337884 + Identifier 337885 337913 + VariableStatement 337931 338010 + VariableDeclarationList 337931 338009 + VariableDeclaration 337950 338009 + Identifier 337950 337962 + BinaryExpression 337964 338009 + PropertyAccessExpression 337964 337978 + Identifier 337964 337972 + Identifier 337973 337978 + AmpersandToken 337978 337980 + PropertyAccessExpression 337980 338009 + Identifier 337980 337997 + Identifier 337998 338009 + ExpressionStatement 338010 338071 + BinaryExpression 338010 338070 + PropertyAccessExpression 338010 338037 + Identifier 338010 338031 + Identifier 338032 338037 + AmpersandEqualsToken 338037 338040 + PrefixUnaryExpression 338040 338070 + PropertyAccessExpression 338042 338070 + Identifier 338042 338058 + Identifier 338059 338070 + IfStatement 338071 338462 + PrefixUnaryExpression 338091 338096 + Identifier 338092 338096 + Block 338097 338462 + IfStatement 338099 338320 + PrefixUnaryExpression 338121 338186 + ParenthesizedExpression 338122 338186 + BinaryExpression 338123 338185 + PropertyAccessExpression 338123 338136 + Identifier 338123 338130 + Identifier 338131 338136 + AmpersandToken 338136 338138 + PropertyAccessExpression 338138 338185 + Identifier 338138 338155 + Identifier 338156 338185 + Block 338187 338320 + ExpressionStatement 338189 338243 + BinaryExpression 338189 338242 + PropertyAccessExpression 338189 338235 + Identifier 338189 338218 + Identifier 338219 338235 + EqualsToken 338235 338237 + TrueKeyword 338237 338242 + ReturnStatement 338243 338283 + NonNullExpression 338271 338282 + Identifier 338271 338281 + ExpressionStatement 338320 338369 + BinaryExpression 338320 338368 + PropertyAccessExpression 338320 338363 + Identifier 338320 338345 + Identifier 338346 338363 + PlusEqualsToken 338363 338366 + NumericLiteral 338366 338368 + ReturnStatement 338369 338447 + CallExpression 338393 338446 + PropertyAccessExpression 338393 338423 + Identifier 338393 338401 + Identifier 338402 338423 + PropertyAccessExpression 338424 338445 + Identifier 338424 338434 + Identifier 338435 338445 + IfStatement 338462 338597 + PrefixUnaryExpression 338482 338533 + ParenthesizedExpression 338483 338533 + BinaryExpression 338484 338532 + PropertyAccessExpression 338484 338497 + Identifier 338484 338491 + Identifier 338492 338497 + AmpersandToken 338497 338499 + PropertyAccessExpression 338499 338532 + Identifier 338499 338516 + Identifier 338517 338532 + Block 338534 338597 + ExpressionStatement 338536 338582 + BinaryExpression 338536 338581 + Identifier 338536 338558 + EqualsToken 338558 338560 + CallExpression 338560 338581 + Identifier 338560 338575 + Identifier 338576 338580 + IfStatement 338597 339288 + BinaryExpression 338617 338643 + PropertyAccessExpression 338617 338627 + Identifier 338617 338621 + Identifier 338622 338627 + AmpersandToken 338627 338629 + PropertyAccessExpression 338629 338643 + Identifier 338629 338639 + Identifier 338640 338643 + Block 338644 339288 + IfStatement 338646 338859 + PropertyAccessExpression 338668 338684 + Identifier 338668 338672 + Identifier 338673 338684 + Block 338685 338859 + ReturnStatement 338687 338840 + CallExpression 338715 338839 + PropertyAccessExpression 338715 338747 + Identifier 338715 338723 + Identifier 338724 338747 + CallExpression 338748 338788 + Identifier 338748 338770 + PropertyAccessExpression 338771 338787 + Identifier 338771 338775 + Identifier 338776 338787 + CallExpression 338789 338838 + Identifier 338789 338804 + PropertyAccessExpression 338805 338828 + Identifier 338805 338809 + Identifier 338810 338828 + Identifier 338829 338837 + IfStatement 338859 339085 + BinaryExpression 338881 338904 + Identifier 338881 338885 + EqualsEqualsEqualsToken 338885 338889 + Identifier 338889 338904 + Block 338905 339085 + ReturnStatement 338907 339066 + CallExpression 338935 339065 + Identifier 338935 338962 + CallExpression 338963 339015 + PropertyAccessExpression 338963 338992 + Identifier 338963 338970 + Identifier 338971 338992 + PropertyAccessExpression 338993 339014 + Identifier 338993 339003 + Identifier 339004 339014 + PropertyAccessExpression 339016 339050 + Identifier 339016 339027 + Identifier 339028 339050 + StringLiteral 339051 339064 + ExpressionStatement 339085 339134 + BinaryExpression 339085 339133 + PropertyAccessExpression 339085 339128 + Identifier 339085 339110 + Identifier 339111 339128 + PlusEqualsToken 339128 339131 + NumericLiteral 339131 339133 + ReturnStatement 339134 339273 + CallExpression 339158 339272 + PropertyAccessExpression 339158 339188 + Identifier 339158 339166 + Identifier 339167 339188 + ConditionalExpression 339189 339271 + BinaryExpression 339189 339217 + Identifier 339189 339193 + EqualsEqualsEqualsToken 339193 339197 + Identifier 339197 339217 + QuestionToken 339217 339219 + PropertyAccessExpression 339219 339247 + Identifier 339219 339230 + Identifier 339231 339247 + ColonToken 339247 339249 + PropertyAccessExpression 339249 339271 + Identifier 339249 339260 + Identifier 339261 339271 + IfStatement 339288 339436 + BinaryExpression 339306 339336 + PropertyAccessExpression 339306 339316 + Identifier 339306 339310 + Identifier 339311 339316 + AmpersandToken 339316 339318 + PropertyAccessExpression 339318 339336 + Identifier 339318 339328 + Identifier 339329 339336 + Block 339337 339436 + ReturnStatement 339339 339421 + CallExpression 339363 339420 + PropertyAccessExpression 339363 339393 + Identifier 339363 339371 + Identifier 339372 339393 + PropertyAccessExpression 339394 339419 + Identifier 339394 339404 + Identifier 339405 339419 + IfStatement 339436 339631 + BinaryExpression 339454 339483 + PropertyAccessExpression 339454 339464 + Identifier 339454 339458 + Identifier 339459 339464 + AmpersandToken 339464 339466 + PropertyAccessExpression 339466 339483 + Identifier 339466 339476 + Identifier 339477 339483 + Block 339484 339631 + ExpressionStatement 339486 339535 + BinaryExpression 339486 339534 + PropertyAccessExpression 339486 339529 + Identifier 339486 339511 + Identifier 339512 339529 + PlusEqualsToken 339529 339532 + NumericLiteral 339532 339534 + ReturnStatement 339535 339616 + CallExpression 339559 339615 + PropertyAccessExpression 339559 339589 + Identifier 339559 339567 + Identifier 339568 339589 + PropertyAccessExpression 339590 339614 + Identifier 339590 339600 + Identifier 339601 339614 + IfStatement 339631 339826 + BinaryExpression 339649 339678 + PropertyAccessExpression 339649 339659 + Identifier 339649 339653 + Identifier 339654 339659 + AmpersandToken 339659 339661 + PropertyAccessExpression 339661 339678 + Identifier 339661 339671 + Identifier 339672 339678 + Block 339679 339826 + ExpressionStatement 339681 339730 + BinaryExpression 339681 339729 + PropertyAccessExpression 339681 339724 + Identifier 339681 339706 + Identifier 339707 339724 + PlusEqualsToken 339724 339727 + NumericLiteral 339727 339729 + ReturnStatement 339730 339811 + CallExpression 339754 339810 + PropertyAccessExpression 339754 339784 + Identifier 339754 339762 + Identifier 339763 339784 + PropertyAccessExpression 339785 339809 + Identifier 339785 339795 + Identifier 339796 339809 + IfStatement 339826 340021 + BinaryExpression 339844 339873 + PropertyAccessExpression 339844 339854 + Identifier 339844 339848 + Identifier 339849 339854 + AmpersandToken 339854 339856 + PropertyAccessExpression 339856 339873 + Identifier 339856 339866 + Identifier 339867 339873 + Block 339874 340021 + ExpressionStatement 339876 339925 + BinaryExpression 339876 339924 + PropertyAccessExpression 339876 339919 + Identifier 339876 339901 + Identifier 339902 339919 + PlusEqualsToken 339919 339922 + NumericLiteral 339922 339924 + ReturnStatement 339925 340006 + CallExpression 339949 340005 + PropertyAccessExpression 339949 339979 + Identifier 339949 339957 + Identifier 339958 339979 + PropertyAccessExpression 339980 340004 + Identifier 339980 339990 + Identifier 339991 340004 + IfStatement 340021 340239 + BinaryExpression 340039 340090 + BinaryExpression 340039 340069 + PropertyAccessExpression 340039 340049 + Identifier 340039 340043 + Identifier 340044 340049 + AmpersandToken 340049 340051 + PropertyAccessExpression 340051 340069 + Identifier 340051 340061 + Identifier 340062 340069 + AmpersandAmpersandToken 340069 340072 + PrefixUnaryExpression 340072 340090 + PropertyAccessExpression 340074 340090 + Identifier 340074 340078 + Identifier 340079 340090 + Block 340091 340239 + ExpressionStatement 340093 340142 + BinaryExpression 340093 340141 + PropertyAccessExpression 340093 340136 + Identifier 340093 340118 + Identifier 340119 340136 + PlusEqualsToken 340136 340139 + NumericLiteral 340139 340141 + ReturnStatement 340142 340224 + CallExpression 340166 340223 + PropertyAccessExpression 340166 340196 + Identifier 340166 340174 + Identifier 340175 340196 + PropertyAccessExpression 340197 340222 + Identifier 340197 340207 + Identifier 340208 340222 + IfStatement 340239 342004 + BinaryExpression 340257 340288 + PropertyAccessExpression 340257 340267 + Identifier 340257 340261 + Identifier 340262 340267 + AmpersandToken 340267 340269 + PropertyAccessExpression 340269 340288 + Identifier 340269 340279 + Identifier 340280 340288 + Block 340289 342004 + IfStatement 340291 341907 + BinaryExpression 340313 340355 + PropertyAccessExpression 340313 340330 + PropertyAccessExpression 340313 340324 + Identifier 340313 340317 + Identifier 340318 340324 + Identifier 340325 340330 + AmpersandToken 340330 340332 + PropertyAccessExpression 340332 340355 + Identifier 340332 340344 + Identifier 340345 340355 + Block 340356 341907 + VariableStatement 340358 340433 + VariableDeclarationList 340358 340432 + VariableDeclaration 340385 340432 + Identifier 340385 340398 + NonNullExpression 340400 340432 + CallExpression 340400 340431 + Identifier 340400 340418 + PropertyAccessExpression 340419 340430 + Identifier 340419 340423 + Identifier 340424 340430 + VariableStatement 340433 340532 + VariableDeclarationList 340433 340531 + VariableDeclaration 340460 340531 + Identifier 340460 340471 + CallExpression 340473 340531 + Identifier 340473 340490 + Identifier 340491 340503 + Identifier 340504 340512 + PropertyAccessExpression 340513 340530 + Identifier 340513 340525 + Identifier 340526 340530 + IfStatement 340532 340674 + BinaryExpression 340558 340604 + CallExpression 340558 340595 + Identifier 340558 340581 + Identifier 340582 340594 + EqualsEqualsEqualsToken 340595 340599 + Identifier 340599 340604 + Block 340605 340674 + ReturnStatement 340607 340651 + Identifier 340639 340650 + VariableStatement 340674 340739 + VariableDeclarationList 340674 340738 + VariableDeclaration 340701 340738 + Identifier 340701 340712 + CallExpression 340714 340738 + Identifier 340714 340725 + PropertyAccessExpression 340726 340737 + Identifier 340726 340730 + Identifier 340731 340737 + IfStatement 340739 341102 + CallExpression 340765 340811 + Identifier 340765 340781 + Identifier 340782 340792 + PropertyAccessExpression 340793 340810 + Identifier 340793 340806 + Identifier 340807 340810 + Block 340812 341102 + ReturnStatement 340814 341079 + CallExpression 340846 341078 + Identifier 340846 340868 + AsExpression 340869 340947 + Identifier 340869 340909 + UnionType 340912 340947 + TypeReference 340912 340930 + Identifier 340912 340930 + TypeReference 340932 340947 + Identifier 340932 340947 + CallExpression 340948 341050 + PropertyAccessExpression 340948 341009 + Identifier 340948 340985 + Identifier 340986 341009 + Identifier 341010 341020 + Identifier 341021 341049 + IfStatement 341102 341888 + CallExpression 341128 341156 + Identifier 341128 341144 + Identifier 341145 341155 + Block 341157 341452 + ExpressionStatement 341159 341221 + BinaryExpression 341159 341220 + PropertyAccessExpression 341159 341213 + ParenthesizedExpression 341159 341204 + AsExpression 341186 341203 + Identifier 341186 341196 + AnyKeyword 341199 341203 + Identifier 341205 341213 + EqualsToken 341213 341215 + TrueKeyword 341215 341220 + ReturnStatement 341221 341429 + CallExpression 341308 341428 + PropertyAccessExpression 341308 341344 + Identifier 341308 341316 + Identifier 341317 341344 + Identifier 341345 341355 + CallExpression 341356 341427 + PropertyAccessExpression 341356 341386 + Identifier 341356 341364 + Identifier 341365 341386 + CallExpression 341387 341426 + PropertyAccessExpression 341387 341414 + Identifier 341387 341394 + Identifier 341395 341414 + Identifier 341415 341425 + IfStatement 341478 341888 + CallExpression 341483 341514 + Identifier 341483 341502 + Identifier 341503 341513 + Block 341515 341731 + ReturnStatement 341517 341708 + CallExpression 341549 341707 + PropertyAccessExpression 341549 341585 + Identifier 341549 341557 + Identifier 341558 341585 + CallExpression 341586 341634 + PropertyAccessExpression 341586 341613 + Identifier 341586 341593 + Identifier 341594 341613 + PropertyAccessExpression 341614 341633 + Identifier 341614 341624 + Identifier 341625 341633 + CallExpression 341635 341706 + PropertyAccessExpression 341635 341665 + Identifier 341635 341643 + Identifier 341644 341665 + CallExpression 341666 341705 + PropertyAccessExpression 341666 341693 + Identifier 341666 341673 + Identifier 341674 341693 + Identifier 341694 341704 + Block 341757 341888 + ReturnStatement 341759 341865 + CallExpression 341791 341864 + PropertyAccessExpression 341791 341802 + Identifier 341791 341797 + Identifier 341798 341802 + StringLiteral 341803 341863 + ReturnStatement 341907 341989 + CallExpression 341931 341988 + Identifier 341931 341948 + PropertyAccessExpression 341949 341960 + Identifier 341949 341953 + Identifier 341954 341960 + Identifier 341961 341969 + PropertyAccessExpression 341970 341987 + Identifier 341970 341982 + Identifier 341983 341987 + IfStatement 342004 342402 + BinaryExpression 342022 342058 + PropertyAccessExpression 342022 342032 + Identifier 342022 342026 + Identifier 342027 342032 + AmpersandToken 342032 342034 + PropertyAccessExpression 342034 342058 + Identifier 342034 342044 + Identifier 342045 342058 + Block 342059 342402 + ExpressionStatement 342061 342153 + BinaryExpression 342061 342152 + PropertyAccessExpression 342061 342104 + Identifier 342061 342086 + Identifier 342087 342104 + PlusEqualsToken 342104 342107 + BinaryExpression 342107 342152 + PropertyAccessExpression 342107 342148 + PropertyAccessExpression 342107 342141 + ParenthesizedExpression 342107 342135 + AsExpression 342109 342134 + Identifier 342109 342113 + TypeReference 342116 342134 + Identifier 342116 342134 + Identifier 342136 342141 + Identifier 342142 342148 + PlusToken 342148 342150 + NumericLiteral 342150 342152 + ReturnStatement 342153 342387 + CallExpression 342177 342386 + PropertyAccessExpression 342177 342207 + Identifier 342177 342185 + Identifier 342186 342207 + CallExpression 342208 342385 + Identifier 342208 342220 + CallExpression 342221 342357 + PropertyAccessExpression 342221 342248 + Identifier 342221 342228 + Identifier 342229 342248 + PropertyAccessExpression 342249 342282 + ParenthesizedExpression 342249 342276 + AsExpression 342250 342275 + Identifier 342250 342254 + TypeReference 342257 342275 + Identifier 342257 342275 + Identifier 342277 342282 + PrefixUnaryExpression 342283 342356 + PrefixUnaryExpression 342285 342356 + ParenthesizedExpression 342286 342356 + BinaryExpression 342287 342355 + PropertyAccessExpression 342287 342300 + Identifier 342287 342294 + Identifier 342295 342300 + AmpersandToken 342300 342302 + PropertyAccessExpression 342302 342355 + Identifier 342302 342319 + Identifier 342320 342355 + PropertyAccessExpression 342358 342384 + Identifier 342358 342368 + Identifier 342369 342384 + IfStatement 342402 342810 + BinaryExpression 342420 342456 + PropertyAccessExpression 342420 342430 + Identifier 342420 342424 + Identifier 342425 342430 + AmpersandToken 342430 342432 + PropertyAccessExpression 342432 342456 + Identifier 342432 342442 + Identifier 342443 342456 + Block 342457 342810 + VariableStatement 342459 342525 + VariableDeclarationList 342459 342524 + VariableDeclaration 342482 342524 + Identifier 342482 342488 + PropertyAccessExpression 342490 342524 + ParenthesizedExpression 342490 342518 + AsExpression 342492 342517 + Identifier 342492 342496 + TypeReference 342499 342517 + Identifier 342499 342517 + Identifier 342519 342524 + ExpressionStatement 342525 342592 + BinaryExpression 342525 342591 + PropertyAccessExpression 342525 342568 + Identifier 342525 342550 + Identifier 342551 342568 + PlusEqualsToken 342568 342571 + PropertyAccessExpression 342571 342591 + ParenthesizedExpression 342571 342584 + BinaryExpression 342573 342583 + StringLiteral 342573 342575 + PlusToken 342575 342577 + Identifier 342577 342583 + Identifier 342585 342591 + ReturnStatement 342592 342795 + CallExpression 342616 342794 + PropertyAccessExpression 342616 342646 + Identifier 342616 342624 + Identifier 342625 342646 + ConditionalExpression 342647 342793 + BinaryExpression 342647 342656 + Identifier 342647 342652 + LessThanToken 342652 342654 + NumericLiteral 342654 342656 + QuestionToken 342656 342658 + CallExpression 342658 342755 + PropertyAccessExpression 342658 342694 + Identifier 342658 342666 + Identifier 342667 342694 + PropertyAccessExpression 342695 342716 + Identifier 342695 342705 + Identifier 342706 342716 + CallExpression 342717 342754 + PropertyAccessExpression 342717 342746 + Identifier 342717 342725 + Identifier 342726 342746 + PrefixUnaryExpression 342747 342753 + Identifier 342748 342753 + ColonToken 342755 342757 + CallExpression 342757 342793 + PropertyAccessExpression 342757 342786 + Identifier 342757 342765 + Identifier 342766 342786 + Identifier 342787 342792 + IfStatement 342810 343117 + BinaryExpression 342828 342864 + PropertyAccessExpression 342828 342838 + Identifier 342828 342832 + Identifier 342833 342838 + AmpersandToken 342838 342840 + PropertyAccessExpression 342840 342864 + Identifier 342840 342850 + Identifier 342851 342864 + Block 342865 343117 + ExpressionStatement 342867 342983 + BinaryExpression 342867 342982 + PropertyAccessExpression 342867 342910 + Identifier 342867 342892 + Identifier 342893 342910 + PlusEqualsToken 342910 342913 + BinaryExpression 342913 342982 + ParenthesizedExpression 342913 342978 + PropertyAccessExpression 342915 342977 + CallExpression 342915 342970 + Identifier 342915 342935 + PropertyAccessExpression 342936 342969 + ParenthesizedExpression 342936 342963 + AsExpression 342937 342962 + Identifier 342937 342941 + TypeReference 342944 342962 + Identifier 342944 342962 + Identifier 342964 342969 + Identifier 342971 342977 + PlusToken 342978 342980 + NumericLiteral 342980 342982 + ReturnStatement 342983 343102 + CallExpression 343007 343101 + PropertyAccessExpression 343007 343037 + Identifier 343007 343015 + Identifier 343016 343037 + CallExpression 343038 343100 + PropertyAccessExpression 343038 343065 + Identifier 343038 343045 + Identifier 343046 343065 + PropertyAccessExpression 343066 343099 + ParenthesizedExpression 343066 343093 + AsExpression 343067 343092 + Identifier 343067 343071 + TypeReference 343074 343092 + Identifier 343074 343092 + Identifier 343094 343099 + IfStatement 343117 343434 + BinaryExpression 343135 343172 + PropertyAccessExpression 343135 343145 + Identifier 343135 343139 + Identifier 343140 343145 + AmpersandToken 343145 343147 + PropertyAccessExpression 343147 343172 + Identifier 343147 343157 + Identifier 343158 343172 + Block 343173 343434 + ExpressionStatement 343175 343267 + BinaryExpression 343175 343266 + PropertyAccessExpression 343175 343218 + Identifier 343175 343200 + Identifier 343201 343218 + PlusEqualsToken 343218 343221 + PropertyAccessExpression 343221 343266 + PropertyAccessExpression 343221 343259 + ParenthesizedExpression 343221 343245 + AsExpression 343223 343244 + Identifier 343223 343227 + TypeReference 343230 343244 + Identifier 343230 343244 + Identifier 343246 343259 + Identifier 343260 343266 + ReturnStatement 343267 343419 + CallExpression 343291 343418 + PropertyAccessExpression 343291 343321 + Identifier 343291 343299 + Identifier 343300 343321 + ConditionalExpression 343322 343417 + BinaryExpression 343322 343370 + PropertyAccessExpression 343322 343359 + ParenthesizedExpression 343322 343345 + AsExpression 343323 343344 + Identifier 343323 343327 + TypeReference 343330 343344 + Identifier 343330 343344 + Identifier 343346 343359 + EqualsEqualsEqualsToken 343359 343363 + StringLiteral 343363 343370 + QuestionToken 343370 343372 + CallExpression 343372 343393 + PropertyAccessExpression 343372 343391 + Identifier 343372 343380 + Identifier 343381 343391 + ColonToken 343393 343395 + CallExpression 343395 343417 + PropertyAccessExpression 343395 343415 + Identifier 343395 343403 + Identifier 343404 343415 + IfStatement 343434 344248 + BinaryExpression 343452 343489 + PropertyAccessExpression 343452 343462 + Identifier 343452 343456 + Identifier 343457 343462 + AmpersandToken 343462 343464 + PropertyAccessExpression 343464 343489 + Identifier 343464 343474 + Identifier 343475 343489 + Block 343490 344248 + IfStatement 343492 344044 + PrefixUnaryExpression 343514 343573 + ParenthesizedExpression 343515 343573 + BinaryExpression 343516 343572 + PropertyAccessExpression 343516 343529 + Identifier 343516 343523 + Identifier 343524 343529 + AmpersandToken 343529 343531 + PropertyAccessExpression 343531 343572 + Identifier 343531 343548 + Identifier 343549 343572 + Block 343574 344044 + IfStatement 343576 343842 + CallExpression 343602 343668 + Identifier 343602 343625 + PropertyAccessExpression 343626 343637 + Identifier 343626 343630 + Identifier 343631 343637 + PropertyAccessExpression 343638 343667 + Identifier 343638 343646 + Identifier 343647 343667 + Block 343669 343842 + ExpressionStatement 343671 343728 + BinaryExpression 343671 343727 + PropertyAccessExpression 343671 343722 + Identifier 343671 343704 + Identifier 343705 343722 + PlusEqualsToken 343722 343725 + NumericLiteral 343725 343727 + ReturnStatement 343728 343819 + CallExpression 343760 343818 + Identifier 343760 343777 + PropertyAccessExpression 343778 343789 + Identifier 343778 343782 + Identifier 343783 343789 + Identifier 343790 343798 + PropertyAccessExpression 343799 343817 + Identifier 343799 343811 + Identifier 343812 343817 + IfStatement 343842 344025 + PropertyAccessExpression 343868 343919 + PropertyAccessExpression 343868 343883 + Identifier 343868 343875 + Identifier 343876 343883 + Identifier 343884 343919 + Block 343920 344025 + ExpressionStatement 343922 344002 + CallExpression 343922 344001 + PropertyAccessExpression 343922 343999 + PropertyAccessExpression 343922 343963 + Identifier 343922 343955 + Identifier 343956 343963 + Identifier 343964 343999 + ExpressionStatement 344044 344094 + BinaryExpression 344044 344093 + PropertyAccessExpression 344044 344087 + Identifier 344044 344069 + Identifier 344070 344087 + PlusEqualsToken 344087 344090 + NumericLiteral 344090 344093 + ReturnStatement 344094 344233 + CallExpression 344118 344232 + PropertyAccessExpression 344118 344149 + Identifier 344118 344126 + Identifier 344127 344149 + PropertyAccessExpression 344150 344174 + Identifier 344150 344160 + Identifier 344161 344174 + CallExpression 344175 344231 + PropertyAccessExpression 344175 344205 + Identifier 344175 344183 + Identifier 344184 344205 + PropertyAccessExpression 344206 344230 + Identifier 344206 344216 + Identifier 344217 344230 + IfStatement 344248 344439 + BinaryExpression 344266 344293 + PropertyAccessExpression 344266 344276 + Identifier 344266 344270 + Identifier 344271 344276 + AmpersandToken 344276 344278 + PropertyAccessExpression 344278 344293 + Identifier 344278 344288 + Identifier 344289 344293 + Block 344294 344439 + ExpressionStatement 344296 344345 + BinaryExpression 344296 344344 + PropertyAccessExpression 344296 344339 + Identifier 344296 344321 + Identifier 344322 344339 + PlusEqualsToken 344339 344342 + NumericLiteral 344342 344344 + ReturnStatement 344345 344424 + CallExpression 344369 344423 + PropertyAccessExpression 344369 344399 + Identifier 344369 344377 + Identifier 344378 344399 + PropertyAccessExpression 344400 344422 + Identifier 344400 344410 + Identifier 344411 344422 + IfStatement 344439 344640 + BinaryExpression 344457 344489 + PropertyAccessExpression 344457 344467 + Identifier 344457 344461 + Identifier 344462 344467 + AmpersandToken 344467 344469 + PropertyAccessExpression 344469 344489 + Identifier 344469 344479 + Identifier 344480 344489 + Block 344490 344640 + ExpressionStatement 344492 344541 + BinaryExpression 344492 344540 + PropertyAccessExpression 344492 344535 + Identifier 344492 344517 + Identifier 344518 344535 + PlusEqualsToken 344535 344538 + NumericLiteral 344538 344540 + ReturnStatement 344541 344625 + CallExpression 344565 344624 + PropertyAccessExpression 344565 344595 + Identifier 344565 344573 + Identifier 344574 344595 + PropertyAccessExpression 344596 344623 + Identifier 344596 344606 + Identifier 344607 344623 + IfStatement 344640 344829 + BinaryExpression 344658 344685 + PropertyAccessExpression 344658 344668 + Identifier 344658 344662 + Identifier 344663 344668 + AmpersandToken 344668 344670 + PropertyAccessExpression 344670 344685 + Identifier 344670 344680 + Identifier 344681 344685 + Block 344686 344829 + ExpressionStatement 344688 344737 + BinaryExpression 344688 344736 + PropertyAccessExpression 344688 344731 + Identifier 344688 344713 + Identifier 344714 344731 + PlusEqualsToken 344731 344734 + NumericLiteral 344734 344736 + ReturnStatement 344737 344814 + CallExpression 344761 344813 + PropertyAccessExpression 344761 344791 + Identifier 344761 344769 + Identifier 344770 344791 + CallExpression 344792 344812 + PropertyAccessExpression 344792 344810 + Identifier 344792 344799 + Identifier 344800 344810 + IfStatement 344829 345022 + BinaryExpression 344847 344875 + PropertyAccessExpression 344847 344857 + Identifier 344847 344851 + Identifier 344852 344857 + AmpersandToken 344857 344859 + PropertyAccessExpression 344859 344875 + Identifier 344859 344869 + Identifier 344870 344875 + Block 344876 345022 + ExpressionStatement 344878 344927 + BinaryExpression 344878 344926 + PropertyAccessExpression 344878 344921 + Identifier 344878 344903 + Identifier 344904 344921 + PlusEqualsToken 344921 344924 + NumericLiteral 344924 344926 + ReturnStatement 344927 345007 + CallExpression 344951 345006 + PropertyAccessExpression 344951 344981 + Identifier 344951 344959 + Identifier 344960 344981 + PropertyAccessExpression 344982 345005 + Identifier 344982 344992 + Identifier 344993 345005 + IfStatement 345022 345219 + BinaryExpression 345040 345071 + PropertyAccessExpression 345040 345050 + Identifier 345040 345044 + Identifier 345045 345050 + AmpersandToken 345050 345052 + PropertyAccessExpression 345052 345071 + Identifier 345052 345062 + Identifier 345063 345071 + Block 345072 345219 + ExpressionStatement 345074 345123 + BinaryExpression 345074 345122 + PropertyAccessExpression 345074 345117 + Identifier 345074 345099 + Identifier 345100 345117 + PlusEqualsToken 345117 345120 + NumericLiteral 345120 345122 + ReturnStatement 345123 345204 + CallExpression 345147 345203 + PropertyAccessExpression 345147 345177 + Identifier 345147 345155 + Identifier 345156 345177 + PropertyAccessExpression 345178 345202 + Identifier 345178 345188 + Identifier 345189 345202 + IfStatement 345219 345420 + BinaryExpression 345237 345272 + PropertyAccessExpression 345237 345247 + Identifier 345237 345241 + Identifier 345242 345247 + AmpersandToken 345247 345249 + PropertyAccessExpression 345249 345272 + Identifier 345249 345259 + Identifier 345260 345272 + Block 345273 345420 + ExpressionStatement 345275 345324 + BinaryExpression 345275 345323 + PropertyAccessExpression 345275 345318 + Identifier 345275 345300 + Identifier 345301 345318 + PlusEqualsToken 345318 345321 + NumericLiteral 345321 345323 + ReturnStatement 345324 345405 + CallExpression 345348 345404 + PropertyAccessExpression 345348 345378 + Identifier 345348 345356 + Identifier 345357 345378 + PropertyAccessExpression 345379 345403 + Identifier 345379 345389 + Identifier 345390 345403 + IfStatement 345420 345949 + CallExpression 345438 345463 + Identifier 345438 345457 + Identifier 345458 345462 + Block 345464 345949 + IfStatement 345466 345831 + BinaryExpression 345488 345540 + PropertyAccessExpression 345488 345501 + Identifier 345488 345495 + Identifier 345496 345501 + AmpersandToken 345501 345503 + PropertyAccessExpression 345503 345540 + Identifier 345503 345520 + Identifier 345521 345540 + Block 345541 345831 + IfStatement 345543 345742 + BinaryExpression 345569 345658 + PrefixUnaryExpression 345569 345594 + PropertyAccessExpression 345570 345594 + Identifier 345570 345577 + Identifier 345578 345594 + AmpersandAmpersandToken 345594 345597 + PrefixUnaryExpression 345597 345658 + ParenthesizedExpression 345599 345658 + BinaryExpression 345600 345657 + PropertyAccessExpression 345600 345613 + Identifier 345600 345607 + Identifier 345608 345613 + AmpersandToken 345613 345615 + PropertyAccessExpression 345615 345657 + Identifier 345615 345632 + Identifier 345633 345657 + Block 345659 345742 + ExpressionStatement 345661 345719 + BinaryExpression 345661 345718 + PropertyAccessExpression 345661 345711 + Identifier 345661 345694 + Identifier 345695 345711 + EqualsToken 345711 345713 + TrueKeyword 345713 345718 + ExpressionStatement 345742 345812 + CallExpression 345742 345811 + PropertyAccessExpression 345742 345807 + PropertyAccessExpression 345742 345779 + Identifier 345742 345771 + Identifier 345772 345779 + Identifier 345780 345807 + QuestionDotToken 345807 345809 + ExpressionStatement 345831 345880 + BinaryExpression 345831 345879 + PropertyAccessExpression 345831 345874 + Identifier 345831 345856 + Identifier 345857 345874 + PlusEqualsToken 345874 345877 + NumericLiteral 345877 345879 + ReturnStatement 345880 345934 + CallExpression 345904 345933 + PropertyAccessExpression 345904 345931 + Identifier 345904 345912 + Identifier 345913 345931 + IfStatement 345949 346778 + BinaryExpression 345969 346148 + BinaryExpression 345969 346001 + PrefixUnaryExpression 345969 345981 + Identifier 345970 345981 + AmpersandAmpersandToken 345981 345984 + PropertyAccessExpression 345984 346001 + Identifier 345984 345989 + Identifier 345990 346001 + AmpersandAmpersandToken 346001 346004 + ParenthesizedExpression 346004 346148 + BinaryExpression 346006 346147 + BinaryExpression 346006 346073 + PropertyAccessExpression 346006 346019 + Identifier 346006 346013 + Identifier 346014 346019 + AmpersandToken 346019 346021 + PropertyAccessExpression 346021 346073 + Identifier 346021 346038 + Identifier 346039 346073 + BarBarToken 346073 346076 + CallExpression 346076 346147 + Identifier 346076 346099 + PropertyAccessExpression 346100 346116 + Identifier 346100 346104 + Identifier 346105 346116 + PropertyAccessExpression 346117 346146 + Identifier 346117 346125 + Identifier 346126 346146 + Block 346149 346778 + VariableStatement 346151 346244 + VariableDeclarationList 346151 346243 + VariableDeclaration 346174 346243 + Identifier 346174 346192 + CallExpression 346194 346243 + Identifier 346194 346209 + PropertyAccessExpression 346210 346233 + Identifier 346210 346214 + Identifier 346215 346233 + Identifier 346234 346242 + IfStatement 346244 346455 + BinaryExpression 346266 346365 + CallExpression 346266 346316 + Identifier 346266 346286 + PropertyAccessExpression 346287 346315 + PropertyAccessExpression 346287 346303 + Identifier 346287 346291 + Identifier 346292 346303 + Identifier 346304 346315 + AmpersandAmpersandToken 346316 346319 + PrefixUnaryExpression 346319 346365 + ParenthesizedExpression 346321 346365 + BinaryExpression 346322 346364 + PropertyAccessExpression 346322 346344 + PropertyAccessExpression 346322 346338 + Identifier 346322 346326 + Identifier 346327 346338 + Identifier 346339 346344 + AmpersandToken 346344 346346 + PropertyAccessExpression 346346 346364 + Identifier 346346 346358 + Identifier 346359 346364 + ReturnStatement 346366 346455 + CallExpression 346373 346454 + PropertyAccessExpression 346373 346405 + Identifier 346373 346381 + Identifier 346382 346405 + CallExpression 346406 346434 + PropertyAccessExpression 346406 346430 + Identifier 346406 346413 + Identifier 346414 346430 + StringLiteral 346431 346433 + Identifier 346435 346453 + IfStatement 346455 346657 + BinaryExpression 346477 346555 + BinaryExpression 346477 346508 + CallExpression 346477 346502 + Identifier 346477 346483 + Identifier 346484 346501 + EqualsEqualsEqualsToken 346502 346506 + NumericLiteral 346506 346508 + AmpersandAmpersandToken 346508 346511 + BinaryExpression 346511 346555 + PropertyAccessExpression 346511 346528 + Identifier 346511 346516 + Identifier 346517 346528 + EqualsEqualsEqualsToken 346528 346532 + PropertyAccessExpression 346532 346555 + Identifier 346532 346548 + Identifier 346549 346555 + Block 346556 346657 + ReturnStatement 346558 346638 + CallExpression 346586 346637 + PropertyAccessExpression 346586 346614 + Identifier 346586 346594 + Identifier 346595 346614 + ElementAccessExpression 346615 346636 + NonNullExpression 346615 346633 + Identifier 346615 346632 + NumericLiteral 346634 346635 + ReturnStatement 346657 346763 + CallExpression 346681 346762 + Identifier 346681 346698 + PropertyAccessExpression 346699 346715 + Identifier 346699 346703 + Identifier 346704 346715 + Identifier 346716 346724 + PropertyAccessExpression 346725 346742 + Identifier 346725 346737 + Identifier 346738 346742 + Identifier 346743 346761 + VariableStatement 346778 346835 + VariableDeclarationList 346778 346834 + VariableDeclaration 346799 346834 + Identifier 346799 346811 + CallExpression 346813 346834 + Identifier 346813 346828 + Identifier 346829 346833 + IfStatement 346835 347149 + BinaryExpression 346855 346890 + Identifier 346855 346866 + AmpersandToken 346866 346868 + PropertyAccessExpression 346868 346890 + Identifier 346868 346880 + Identifier 346881 346890 + Block 346891 347149 + ExpressionStatement 346893 346959 + CallExpression 346893 346958 + PropertyAccessExpression 346893 346923 + Identifier 346893 346916 + Identifier 346917 346923 + PrefixUnaryExpression 346924 346957 + PrefixUnaryExpression 346925 346957 + ParenthesizedExpression 346926 346957 + BinaryExpression 346927 346956 + PropertyAccessExpression 346927 346937 + Identifier 346927 346931 + Identifier 346932 346937 + AmpersandToken 346937 346939 + PropertyAccessExpression 346939 346956 + Identifier 346939 346949 + Identifier 346950 346956 + ReturnStatement 346959 347134 + ConditionalExpression 346983 347133 + PropertyAccessExpression 346983 347012 + ParenthesizedExpression 346983 347007 + AsExpression 346985 347006 + Identifier 346985 346989 + TypeReference 346992 347006 + Identifier 346992 347006 + Identifier 347008 347012 + QuestionToken 347012 347014 + CallExpression 347014 347084 + Identifier 347014 347036 + AsExpression 347037 347058 + Identifier 347037 347041 + TypeReference 347044 347058 + Identifier 347044 347058 + Identifier 347059 347083 + ColonToken 347084 347086 + CallExpression 347086 347133 + Identifier 347086 347110 + AsExpression 347111 347132 + Identifier 347111 347115 + TypeReference 347118 347132 + Identifier 347118 347132 + IfStatement 347149 349783 + BinaryExpression 347167 347249 + BinaryExpression 347167 347203 + PropertyAccessExpression 347167 347177 + Identifier 347167 347171 + Identifier 347172 347177 + AmpersandToken 347177 347179 + PropertyAccessExpression 347179 347203 + Identifier 347179 347189 + Identifier 347190 347203 + BarBarToken 347203 347206 + BinaryExpression 347206 347249 + Identifier 347206 347218 + AmpersandToken 347218 347220 + PropertyAccessExpression 347220 347249 + Identifier 347220 347232 + Identifier 347233 347249 + Block 347250 349783 + IfStatement 347252 348627 + BinaryExpression 347274 347357 + BinaryExpression 347274 347310 + PropertyAccessExpression 347274 347284 + Identifier 347274 347278 + Identifier 347279 347284 + AmpersandToken 347284 347286 + PropertyAccessExpression 347286 347310 + Identifier 347286 347296 + Identifier 347297 347310 + AmpersandAmpersandToken 347310 347313 + CallExpression 347313 347357 + Identifier 347313 347322 + PropertyAccessExpression 347323 347350 + Identifier 347323 347330 + Identifier 347331 347350 + Identifier 347351 347356 + Block 347358 348627 + ExpressionStatement 347360 347446 + BinaryExpression 347360 347445 + PropertyAccessExpression 347360 347407 + Identifier 347360 347389 + Identifier 347390 347407 + PlusEqualsToken 347407 347410 + BinaryExpression 347410 347445 + PropertyAccessExpression 347410 347441 + CallExpression 347410 347434 + Identifier 347410 347421 + PropertyAccessExpression 347422 347433 + Identifier 347422 347426 + Identifier 347427 347433 + Identifier 347435 347441 + PlusToken 347441 347443 + NumericLiteral 347443 347445 + VariableStatement 347446 347509 + VariableDeclarationList 347446 347508 + VariableDeclaration 347471 347508 + Identifier 347471 347486 + UnionType 347487 347508 + TypeReference 347487 347496 + Identifier 347487 347496 + UndefinedKeyword 347498 347508 + VariableStatement 347509 347602 + VariableDeclarationList 347509 347601 + VariableDeclaration 347536 347601 + Identifier 347536 347547 + CallExpression 347549 347601 + Identifier 347549 347578 + AsExpression 347579 347600 + Identifier 347579 347583 + TypeReference 347586 347600 + Identifier 347586 347600 + IfStatement 347602 348461 + Identifier 347628 347638 + Block 347639 348461 + VariableStatement 347641 348140 + VariableDeclarationList 347641 348139 + VariableDeclaration 348031 348139 + Identifier 348031 348050 + CallExpression 348052 348139 + Identifier 348052 348087 + AsExpression 348088 348109 + Identifier 348088 348092 + TypeReference 348095 348109 + Identifier 348095 348109 + TrueKeyword 348110 348138 + IfStatement 348140 348438 + PrefixUnaryExpression 348170 348244 + ParenthesizedExpression 348171 348244 + BinaryExpression 348172 348243 + Identifier 348172 348190 + AmpersandAmpersandToken 348190 348193 + CallExpression 348193 348243 + Identifier 348193 348211 + Identifier 348212 348222 + Identifier 348223 348242 + Block 348245 348438 + ExpressionStatement 348247 348308 + BinaryExpression 348247 348307 + PropertyAccessExpression 348247 348302 + Identifier 348247 348284 + Identifier 348285 348302 + PlusEqualsToken 348302 348305 + NumericLiteral 348305 348307 + ExpressionStatement 348308 348411 + BinaryExpression 348308 348410 + Identifier 348308 348352 + EqualsToken 348352 348354 + BinaryExpression 348354 348410 + Identifier 348354 348365 + AmpersandAmpersandToken 348365 348368 + CallExpression 348368 348410 + Identifier 348368 348389 + Identifier 348390 348400 + Identifier 348401 348409 + ReturnStatement 348461 348608 + CallExpression 348489 348607 + PropertyAccessExpression 348489 348517 + Identifier 348489 348497 + Identifier 348498 348517 + CallExpression 348518 348606 + Identifier 348518 348558 + AsExpression 348559 348580 + Identifier 348559 348563 + TypeReference 348566 348580 + Identifier 348566 348580 + Identifier 348581 348589 + Identifier 348590 348605 + IfStatement 348627 349110 + BinaryExpression 348649 348799 + BinaryExpression 348649 348738 + PropertyAccessExpression 348649 348684 + Identifier 348649 348678 + Identifier 348679 348684 + AmpersandToken 348684 348686 + PropertyAccessExpression 348686 348738 + Identifier 348686 348703 + Identifier 348704 348738 + AmpersandAmpersandToken 348738 348741 + BinaryExpression 348741 348799 + PropertyAccessExpression 348741 348773 + Identifier 348741 348767 + Identifier 348768 348773 + AmpersandToken 348773 348775 + PropertyAccessExpression 348775 348799 + Identifier 348775 348785 + Identifier 348786 348799 + Block 348818 349110 + VariableStatement 348820 348890 + VariableDeclarationList 348820 348889 + VariableDeclaration 348847 348889 + Identifier 348847 348852 + CallExpression 348854 348889 + Identifier 348854 348874 + Identifier 348875 348879 + Identifier 348880 348888 + ExpressionStatement 348890 348961 + BinaryExpression 348890 348960 + PropertyAccessExpression 348890 348937 + Identifier 348890 348919 + Identifier 348920 348937 + PlusEqualsToken 348937 348940 + PropertyAccessExpression 348940 348960 + CallExpression 348940 348953 + Identifier 348940 348947 + Identifier 348948 348952 + Identifier 348954 348960 + ReturnStatement 348961 349091 + CallExpression 348989 349090 + PropertyAccessExpression 348989 349021 + Identifier 348989 348997 + Identifier 348998 349021 + CallExpression 349022 349060 + PropertyAccessExpression 349022 349046 + Identifier 349022 349029 + Identifier 349030 349046 + CallExpression 349047 349059 + Identifier 349047 349053 + Identifier 349054 349058 + Identifier 349061 349089 + IfStatement 349110 349368 + PropertyAccessExpression 349249 349260 + Identifier 349249 349253 + Identifier 349254 349260 + Block 349261 349368 + ReturnStatement 349263 349349 + CallExpression 349291 349348 + Identifier 349291 349308 + PropertyAccessExpression 349309 349320 + Identifier 349309 349313 + Identifier 349314 349320 + Identifier 349321 349329 + PropertyAccessExpression 349330 349347 + Identifier 349330 349342 + Identifier 349343 349347 + VariableStatement 349368 349650 + VariableDeclarationList 349368 349649 + VariableDeclaration 349391 349649 + Identifier 349391 349396 + ConditionalExpression 349398 349649 + BinaryExpression 349398 349524 + BinaryExpression 349398 349492 + ParenthesizedExpression 349398 349467 + BinaryExpression 349400 349466 + BinaryExpression 349400 349432 + Identifier 349400 349404 + EqualsEqualsEqualsToken 349404 349408 + Identifier 349408 349432 + BarBarToken 349432 349435 + BinaryExpression 349435 349466 + Identifier 349435 349440 + EqualsEqualsEqualsToken 349440 349444 + Identifier 349444 349466 + AmpersandAmpersandToken 349467 349470 + Identifier 349470 349492 + AmpersandAmpersandToken 349492 349495 + PropertyAccessExpression 349495 349524 + Identifier 349495 349517 + Identifier 349518 349524 + QuestionToken 349524 349526 + BinaryExpression 349526 349643 + ParenthesizedExpression 349526 349600 + ConditionalExpression 349549 349599 + BinaryExpression 349549 349579 + Identifier 349549 349553 + EqualsEqualsEqualsToken 349553 349557 + Identifier 349557 349579 + QuestionToken 349579 349581 + StringLiteral 349581 349588 + ColonToken 349588 349590 + StringLiteral 349590 349599 + PlusToken 349600 349602 + CallExpression 349602 349643 + Identifier 349602 349613 + PropertyAccessExpression 349614 349642 + Identifier 349614 349635 + Identifier 349636 349642 + ColonToken 349643 349645 + StringLiteral 349645 349649 + ReturnStatement 349650 349768 + CallExpression 349674 349767 + PropertyAccessExpression 349674 349706 + Identifier 349674 349682 + Identifier 349683 349706 + CallExpression 349707 349737 + PropertyAccessExpression 349707 349731 + Identifier 349707 349714 + Identifier 349715 349731 + Identifier 349732 349736 + Identifier 349738 349766 + IfStatement 349783 349930 + BinaryExpression 349801 349859 + BinaryExpression 349801 349829 + PropertyAccessExpression 349801 349811 + Identifier 349801 349805 + Identifier 349806 349811 + AmpersandToken 349811 349813 + PropertyAccessExpression 349813 349829 + Identifier 349813 349823 + Identifier 349824 349829 + AmpersandAmpersandToken 349829 349832 + PropertyAccessExpression 349832 349859 + ParenthesizedExpression 349832 349852 + AsExpression 349834 349851 + Identifier 349834 349838 + TypeReference 349841 349851 + Identifier 349841 349851 + Identifier 349853 349859 + Block 349860 349930 + ExpressionStatement 349862 349915 + BinaryExpression 349862 349914 + Identifier 349862 349884 + EqualsToken 349884 349886 + NonNullExpression 349886 349914 + PropertyAccessExpression 349886 349913 + ParenthesizedExpression 349886 349906 + AsExpression 349888 349905 + Identifier 349888 349892 + TypeReference 349895 349905 + Identifier 349895 349905 + Identifier 349907 349913 + IfStatement 349930 350912 + BinaryExpression 349948 350003 + PropertyAccessExpression 349948 349958 + Identifier 349948 349952 + Identifier 349953 349958 + AmpersandToken 349958 349960 + ParenthesizedExpression 349960 350003 + BinaryExpression 349962 350002 + PropertyAccessExpression 349962 349977 + Identifier 349962 349971 + Identifier 349972 349977 + BarToken 349977 349979 + PropertyAccessExpression 349979 350002 + Identifier 349979 349989 + Identifier 349990 350002 + Block 350004 350912 + VariableStatement 350006 350148 + VariableDeclarationList 350006 350147 + VariableDeclaration 350029 350147 + Identifier 350029 350035 + ConditionalExpression 350037 350147 + BinaryExpression 350037 350066 + PropertyAccessExpression 350037 350048 + Identifier 350037 350042 + Identifier 350043 350048 + AmpersandToken 350048 350050 + PropertyAccessExpression 350050 350066 + Identifier 350050 350060 + Identifier 350061 350066 + QuestionToken 350066 350068 + CallExpression 350068 350112 + Identifier 350068 350085 + PropertyAccessExpression 350086 350111 + ParenthesizedExpression 350086 350105 + AsExpression 350087 350104 + Identifier 350087 350091 + TypeReference 350094 350104 + Identifier 350094 350104 + Identifier 350106 350111 + ColonToken 350112 350114 + PropertyAccessExpression 350114 350147 + ParenthesizedExpression 350114 350141 + AsExpression 350116 350140 + Identifier 350116 350120 + TypeReference 350123 350140 + Identifier 350123 350140 + Identifier 350142 350147 + IfStatement 350148 350280 + BinaryExpression 350170 350189 + CallExpression 350170 350183 + Identifier 350170 350176 + Identifier 350177 350182 + EqualsEqualsEqualsToken 350183 350187 + NumericLiteral 350187 350189 + Block 350190 350280 + ReturnStatement 350192 350261 + CallExpression 350220 350260 + Identifier 350220 350241 + ElementAccessExpression 350242 350250 + Identifier 350242 350247 + NumericLiteral 350248 350249 + Identifier 350251 350259 + VariableStatement 350280 350368 + VariableDeclarationList 350280 350367 + VariableDeclaration 350303 350367 + Identifier 350303 350313 + CallExpression 350315 350367 + Identifier 350315 350330 + Identifier 350331 350336 + Identifier 350337 350345 + TrueKeyword 350346 350366 + IfStatement 350368 350897 + BinaryExpression 350390 350423 + Identifier 350390 350399 + AmpersandAmpersandToken 350399 350402 + BinaryExpression 350402 350423 + PropertyAccessExpression 350402 350419 + Identifier 350402 350412 + Identifier 350413 350419 + GreaterThanToken 350419 350421 + NumericLiteral 350421 350423 + Block 350424 350592 + ReturnStatement 350426 350573 + ConditionalExpression 350454 350572 + BinaryExpression 350454 350483 + PropertyAccessExpression 350454 350465 + Identifier 350454 350459 + Identifier 350460 350465 + AmpersandToken 350465 350467 + PropertyAccessExpression 350467 350483 + Identifier 350467 350477 + Identifier 350478 350483 + QuestionToken 350483 350485 + CallExpression 350485 350524 + PropertyAccessExpression 350485 350513 + Identifier 350485 350493 + Identifier 350494 350513 + Identifier 350514 350523 + ColonToken 350524 350526 + CallExpression 350526 350572 + PropertyAccessExpression 350526 350561 + Identifier 350526 350534 + Identifier 350535 350561 + Identifier 350562 350571 + Block 350614 350897 + IfStatement 350616 350820 + BinaryExpression 350642 350736 + PrefixUnaryExpression 350642 350667 + PropertyAccessExpression 350643 350667 + Identifier 350643 350650 + Identifier 350651 350667 + AmpersandAmpersandToken 350667 350670 + PrefixUnaryExpression 350670 350736 + ParenthesizedExpression 350672 350736 + BinaryExpression 350673 350735 + PropertyAccessExpression 350673 350686 + Identifier 350673 350680 + Identifier 350681 350686 + AmpersandToken 350686 350688 + PropertyAccessExpression 350688 350735 + Identifier 350688 350705 + Identifier 350706 350735 + Block 350737 350820 + ExpressionStatement 350739 350797 + BinaryExpression 350739 350796 + PropertyAccessExpression 350739 350789 + Identifier 350739 350772 + Identifier 350773 350789 + EqualsToken 350789 350791 + TrueKeyword 350791 350796 + ReturnStatement 350820 350860 + NonNullExpression 350848 350859 + Identifier 350848 350858 + IfStatement 350912 351197 + BinaryExpression 350930 350988 + Identifier 350930 350941 + AmpersandToken 350941 350943 + ParenthesizedExpression 350943 350988 + BinaryExpression 350945 350987 + PropertyAccessExpression 350945 350966 + Identifier 350945 350956 + Identifier 350957 350966 + BarToken 350966 350968 + PropertyAccessExpression 350968 350987 + Identifier 350968 350980 + Identifier 350981 350987 + Block 350989 351197 + ExpressionStatement 350991 351057 + CallExpression 350991 351056 + PropertyAccessExpression 350991 351021 + Identifier 350991 351014 + Identifier 351015 351021 + PrefixUnaryExpression 351022 351055 + PrefixUnaryExpression 351023 351055 + ParenthesizedExpression 351024 351055 + BinaryExpression 351025 351054 + PropertyAccessExpression 351025 351035 + Identifier 351025 351029 + Identifier 351030 351035 + AmpersandToken 351035 351037 + PropertyAccessExpression 351037 351054 + Identifier 351037 351047 + Identifier 351048 351054 + ReturnStatement 351057 351182 + CallExpression 351137 351181 + Identifier 351137 351161 + AsExpression 351162 351180 + Identifier 351162 351166 + TypeReference 351169 351180 + Identifier 351169 351180 + IfStatement 351197 351552 + BinaryExpression 351215 351243 + PropertyAccessExpression 351215 351225 + Identifier 351215 351219 + Identifier 351220 351225 + AmpersandToken 351225 351227 + PropertyAccessExpression 351227 351243 + Identifier 351227 351237 + Identifier 351238 351243 + Block 351244 351552 + VariableStatement 351246 351309 + VariableDeclarationList 351246 351308 + VariableDeclaration 351269 351308 + Identifier 351269 351281 + PropertyAccessExpression 351283 351308 + ParenthesizedExpression 351283 351303 + AsExpression 351285 351302 + Identifier 351285 351289 + TypeReference 351292 351302 + Identifier 351292 351302 + Identifier 351304 351308 + ExpressionStatement 351309 351358 + BinaryExpression 351309 351357 + PropertyAccessExpression 351309 351352 + Identifier 351309 351334 + Identifier 351335 351352 + PlusEqualsToken 351352 351355 + NumericLiteral 351355 351357 + VariableStatement 351358 351441 + VariableDeclarationList 351358 351440 + VariableDeclaration 351381 351440 + Identifier 351381 351395 + CallExpression 351397 351440 + Identifier 351397 351418 + Identifier 351419 351430 + Identifier 351431 351439 + ReturnStatement 351441 351537 + CallExpression 351465 351536 + PropertyAccessExpression 351465 351496 + Identifier 351465 351473 + Identifier 351474 351496 + PropertyAccessExpression 351497 351520 + Identifier 351497 351507 + Identifier 351508 351520 + Identifier 351521 351535 + IfStatement 351552 352384 + BinaryExpression 351570 351608 + PropertyAccessExpression 351570 351580 + Identifier 351570 351574 + Identifier 351575 351580 + AmpersandToken 351580 351582 + PropertyAccessExpression 351582 351608 + Identifier 351582 351592 + Identifier 351593 351608 + Block 351609 352384 + VariableStatement 351611 351679 + VariableDeclarationList 351611 351678 + VariableDeclaration 351634 351678 + Identifier 351634 351640 + PropertyAccessExpression 351642 351678 + ParenthesizedExpression 351642 351672 + AsExpression 351644 351671 + Identifier 351644 351648 + TypeReference 351651 351671 + Identifier 351651 351671 + Identifier 351673 351678 + VariableStatement 351679 351747 + VariableDeclarationList 351679 351746 + VariableDeclaration 351702 351746 + Identifier 351702 351708 + PropertyAccessExpression 351710 351746 + ParenthesizedExpression 351710 351740 + AsExpression 351712 351739 + Identifier 351712 351716 + TypeReference 351719 351739 + Identifier 351719 351739 + Identifier 351741 351746 + VariableStatement 351747 351823 + VariableDeclarationList 351747 351822 + VariableDeclaration 351770 351822 + Identifier 351770 351783 + CallExpression 351785 351822 + PropertyAccessExpression 351785 351812 + Identifier 351785 351793 + Identifier 351794 351812 + ElementAccessExpression 351813 351821 + Identifier 351813 351818 + NumericLiteral 351819 351820 + VariableStatement 351823 352232 + VariableDeclarationList 351823 352231 + VariableDeclaration 351846 352231 + Identifier 351846 351860 + CallExpression 351862 352231 + PropertyAccessExpression 351862 351886 + Identifier 351862 351870 + Identifier 351871 351886 + CallExpression 351887 352211 + Identifier 351887 351912 + Identifier 351913 351918 + ArrowFunction 351919 352210 + Parameter 351921 351922 + Identifier 351921 351922 + Parameter 351923 351925 + Identifier 351923 351925 + EqualsGreaterThanToken 351926 351929 + CallExpression 351929 352210 + PropertyAccessExpression 351929 351992 + Identifier 351929 351962 + Identifier 351963 351992 + CallExpression 351993 352055 + Identifier 351993 352043 + Identifier 352044 352045 + Identifier 352046 352054 + CallExpression 352056 352182 + ParenthesizedExpression 352056 352168 + ConditionalExpression 352087 352167 + BinaryExpression 352087 352107 + Identifier 352087 352088 + LessThanToken 352088 352090 + BinaryExpression 352090 352107 + PropertyAccessExpression 352090 352103 + Identifier 352090 352096 + Identifier 352097 352103 + MinusToken 352103 352105 + NumericLiteral 352105 352107 + QuestionToken 352107 352109 + PropertyAccessExpression 352109 352138 + Identifier 352109 352117 + Identifier 352118 352138 + ColonToken 352138 352140 + PropertyAccessExpression 352140 352167 + Identifier 352140 352148 + Identifier 352149 352167 + ElementAccessExpression 352169 352181 + Identifier 352169 352174 + BinaryExpression 352175 352180 + Identifier 352175 352176 + PlusToken 352176 352178 + NumericLiteral 352178 352180 + ExpressionStatement 352232 352281 + BinaryExpression 352232 352280 + PropertyAccessExpression 352232 352275 + Identifier 352232 352257 + Identifier 352258 352275 + PlusEqualsToken 352275 352278 + NumericLiteral 352278 352280 + ReturnStatement 352281 352369 + CallExpression 352305 352368 + PropertyAccessExpression 352305 352339 + Identifier 352305 352313 + Identifier 352314 352339 + Identifier 352340 352352 + Identifier 352353 352367 + IfStatement 352384 352672 + BinaryExpression 352402 352438 + PropertyAccessExpression 352402 352412 + Identifier 352402 352406 + Identifier 352407 352412 + AmpersandToken 352412 352414 + PropertyAccessExpression 352414 352438 + Identifier 352414 352424 + Identifier 352425 352438 + Block 352439 352672 + VariableStatement 352441 352540 + VariableDeclarationList 352441 352539 + VariableDeclaration 352464 352539 + Identifier 352464 352473 + CallExpression 352475 352539 + Identifier 352475 352496 + PropertyAccessExpression 352497 352529 + ParenthesizedExpression 352497 352524 + AsExpression 352498 352523 + Identifier 352498 352502 + TypeReference 352505 352523 + Identifier 352505 352523 + Identifier 352525 352529 + Identifier 352530 352538 + ReturnStatement 352540 352657 + CallExpression 352564 352656 + Identifier 352564 352581 + PropertyAccessExpression 352582 352616 + ParenthesizedExpression 352582 352609 + AsExpression 352583 352608 + Identifier 352583 352587 + TypeReference 352590 352608 + Identifier 352590 352608 + Identifier 352610 352616 + Identifier 352617 352625 + PropertyAccessExpression 352626 352643 + Identifier 352626 352638 + Identifier 352639 352643 + ArrayLiteralExpression 352644 352655 + Identifier 352646 352654 + IfStatement 352672 353105 + BinaryExpression 352690 352726 + PropertyAccessExpression 352690 352700 + Identifier 352690 352694 + Identifier 352695 352700 + AmpersandToken 352700 352702 + PropertyAccessExpression 352702 352726 + Identifier 352702 352712 + Identifier 352713 352726 + Block 352727 353105 + VariableStatement 352729 352840 + VariableDeclarationList 352729 352839 + VariableDeclaration 352752 352839 + Identifier 352752 352767 + CallExpression 352769 352839 + Identifier 352769 352790 + PropertyAccessExpression 352791 352829 + ParenthesizedExpression 352791 352818 + AsExpression 352792 352817 + Identifier 352792 352796 + TypeReference 352799 352817 + Identifier 352799 352817 + Identifier 352819 352829 + Identifier 352830 352838 + VariableStatement 352840 352949 + VariableDeclarationList 352840 352948 + VariableDeclaration 352863 352948 + Identifier 352863 352877 + CallExpression 352879 352948 + Identifier 352879 352900 + PropertyAccessExpression 352901 352938 + ParenthesizedExpression 352901 352928 + AsExpression 352902 352927 + Identifier 352902 352906 + TypeReference 352909 352927 + Identifier 352909 352927 + Identifier 352929 352938 + Identifier 352939 352947 + ExpressionStatement 352949 352998 + BinaryExpression 352949 352997 + PropertyAccessExpression 352949 352992 + Identifier 352949 352974 + Identifier 352975 352992 + PlusEqualsToken 352992 352995 + NumericLiteral 352995 352997 + ReturnStatement 352998 353090 + CallExpression 353022 353089 + PropertyAccessExpression 353022 353058 + Identifier 353022 353030 + Identifier 353031 353058 + Identifier 353059 353073 + Identifier 353074 353088 + IfStatement 353105 353288 + BinaryExpression 353123 353157 + PropertyAccessExpression 353123 353133 + Identifier 353123 353127 + Identifier 353128 353133 + AmpersandToken 353133 353135 + PropertyAccessExpression 353135 353157 + Identifier 353135 353145 + Identifier 353146 353157 + Block 353158 353288 + ReturnStatement 353160 353273 + CallExpression 353184 353272 + Identifier 353184 353206 + Identifier 353207 353211 + ArrowFunction 353212 353271 + Parameter 353212 353217 + Identifier 353212 353217 + EqualsGreaterThanToken 353217 353220 + CallExpression 353220 353271 + Identifier 353220 353246 + AsExpression 353247 353270 + Identifier 353247 353251 + TypeReference 353254 353270 + Identifier 353254 353270 + IfStatement 353288 353714 + BinaryExpression 353306 353341 + PropertyAccessExpression 353306 353316 + Identifier 353306 353310 + Identifier 353311 353316 + AmpersandToken 353316 353318 + PropertyAccessExpression 353318 353341 + Identifier 353318 353328 + Identifier 353329 353341 + Block 353342 353714 + VariableStatement 353344 353446 + VariableDeclarationList 353344 353445 + VariableDeclaration 353367 353445 + Identifier 353367 353376 + CallExpression 353378 353445 + Identifier 353378 353399 + PropertyAccessExpression 353400 353435 + ParenthesizedExpression 353400 353426 + AsExpression 353401 353425 + Identifier 353401 353405 + TypeReference 353408 353425 + Identifier 353408 353425 + Identifier 353427 353435 + Identifier 353436 353444 + VariableStatement 353446 353576 + VariableDeclarationList 353446 353575 + VariableDeclaration 353469 353575 + Identifier 353469 353483 + BinaryExpression 353485 353575 + CallExpression 353485 353505 + Identifier 353485 353499 + Identifier 353500 353504 + AmpersandAmpersandToken 353505 353508 + CallExpression 353508 353575 + Identifier 353508 353528 + AsExpression 353529 353550 + StringLiteral 353529 353538 + TypeReference 353541 353550 + Identifier 353541 353550 + FalseKeyword 353551 353574 + ReturnStatement 353576 353699 + ConditionalExpression 353600 353698 + Identifier 353600 353614 + QuestionToken 353614 353616 + CallExpression 353616 353687 + Identifier 353616 353633 + Identifier 353634 353647 + Identifier 353648 353656 + PropertyAccessExpression 353657 353674 + Identifier 353657 353669 + Identifier 353670 353674 + ArrayLiteralExpression 353675 353686 + Identifier 353677 353685 + ColonToken 353687 353689 + Identifier 353689 353698 + ReturnStatement 353714 353774 + CallExpression 353736 353773 + PropertyAccessExpression 353736 353747 + Identifier 353736 353742 + Identifier 353743 353747 + StringLiteral 353748 353772 + FunctionDeclaration 353774 358007 + Identifier 353798 353824 + Parameter 353825 353846 + Identifier 353825 353829 + TypeReference 353830 353846 + Identifier 353830 353846 + Block 353847 358007 + VariableStatement 353849 353935 + VariableDeclarationList 353849 353934 + VariableDeclaration 353872 353934 + Identifier 353872 353886 + CallExpression 353888 353934 + Identifier 353888 353909 + PropertyAccessExpression 353910 353924 + Identifier 353910 353914 + Identifier 353915 353924 + Identifier 353925 353933 + ExpressionStatement 353935 353985 + BinaryExpression 353935 353984 + PropertyAccessExpression 353935 353978 + Identifier 353935 353960 + Identifier 353961 353978 + PlusEqualsToken 353978 353981 + NumericLiteral 353981 353984 + IfStatement 353985 357328 + BinaryExpression 354007 354155 + BinaryExpression 354007 354102 + BinaryExpression 354007 354074 + PropertyAccessExpression 354007 354020 + Identifier 354007 354014 + Identifier 354015 354020 + AmpersandToken 354020 354022 + PropertyAccessExpression 354022 354074 + Identifier 354022 354039 + Identifier 354040 354074 + AmpersandAmpersandToken 354074 354077 + PropertyAccessExpression 354077 354102 + PropertyAccessExpression 354077 354087 + Identifier 354077 354082 + Identifier 354083 354087 + Identifier 354088 354102 + AmpersandAmpersandToken 354102 354105 + PrefixUnaryExpression 354105 354155 + ParenthesizedExpression 354107 354155 + BinaryExpression 354108 354154 + PropertyAccessExpression 354108 354128 + PropertyAccessExpression 354108 354122 + Identifier 354108 354112 + Identifier 354113 354122 + Identifier 354123 354128 + AmpersandToken 354128 354130 + PropertyAccessExpression 354130 354154 + Identifier 354130 354140 + Identifier 354141 354154 + Block 354156 357328 + VariableStatement 354158 354275 + VariableDeclarationList 354158 354274 + VariableDeclaration 354185 354274 + Identifier 354185 354194 + CallExpression 354196 354274 + Identifier 354196 354216 + CallExpression 354217 354273 + Identifier 354217 354229 + PropertyAccessExpression 354230 354255 + Identifier 354230 354241 + Identifier 354242 354255 + AsExpression 354256 354272 + StringLiteral 354256 354260 + TypeReference 354263 354272 + Identifier 354263 354272 + VariableStatement 354275 354349 + VariableDeclarationList 354275 354348 + VariableDeclaration 354302 354348 + Identifier 354302 354307 + CallExpression 354309 354348 + Identifier 354309 354329 + Identifier 354330 354338 + Identifier 354339 354347 + VariableStatement 354349 354433 + VariableDeclarationList 354349 354432 + VariableDeclaration 354376 354432 + Identifier 354376 354392 + CallExpression 354394 354432 + PropertyAccessExpression 354394 354426 + Identifier 354394 354402 + Identifier 354403 354426 + Identifier 354427 354431 + ExpressionStatement 354433 354487 + BinaryExpression 354433 354486 + PropertyAccessExpression 354433 354480 + Identifier 354433 354462 + Identifier 354463 354480 + PlusEqualsToken 354480 354483 + NumericLiteral 354483 354486 + VariableStatement 354487 354655 + VariableDeclarationList 354487 354654 + VariableDeclaration 354579 354654 + Identifier 354579 354589 + CallExpression 354591 354654 + Identifier 354591 354610 + PropertyAccessExpression 354611 354630 + PropertyAccessExpression 354611 354620 + Identifier 354611 354615 + Identifier 354616 354620 + Identifier 354621 354630 + Identifier 354631 354640 + PropertyAccessExpression 354641 354653 + Identifier 354641 354646 + Identifier 354647 354653 + VariableStatement 354655 354737 + VariableDeclarationList 354655 354736 + VariableDeclaration 354682 354736 + Identifier 354682 354706 + PropertyAccessExpression 354708 354736 + Identifier 354708 354716 + Identifier 354717 354736 + ExpressionStatement 354737 354819 + BinaryExpression 354737 354818 + PropertyAccessExpression 354737 354786 + Identifier 354737 354766 + Identifier 354767 354786 + EqualsToken 354786 354788 + PropertyAccessExpression 354788 354818 + PropertyAccessExpression 354788 354798 + Identifier 354788 354793 + Identifier 354794 354798 + Identifier 354799 354818 + VariableStatement 354819 354946 + VariableDeclarationList 354819 354945 + VariableDeclaration 354846 354945 + Identifier 354846 354862 + CallExpression 354864 354945 + Identifier 354864 354885 + CallExpression 354886 354935 + Identifier 354886 354901 + PropertyAccessExpression 354902 354923 + PropertyAccessExpression 354902 354911 + Identifier 354902 354906 + Identifier 354907 354911 + Identifier 354912 354923 + Identifier 354924 354934 + Identifier 354936 354944 + ExpressionStatement 354946 355022 + BinaryExpression 354946 355021 + PropertyAccessExpression 354946 354995 + Identifier 354946 354975 + Identifier 354976 354995 + EqualsToken 354995 354997 + Identifier 354997 355021 + VariableStatement 355022 355183 + VariableDeclarationList 355022 355182 + VariableDeclaration 355049 355182 + Identifier 355049 355062 + CallExpression 355064 355182 + Identifier 355064 355099 + CallExpression 355100 355181 + Identifier 355100 355115 + CallExpression 355116 355169 + Identifier 355116 355135 + Identifier 355136 355143 + PropertyAccessExpression 355144 355168 + PropertyAccessExpression 355144 355159 + PropertyAccessExpression 355144 355154 + Identifier 355144 355149 + Identifier 355150 355154 + Identifier 355155 355159 + Identifier 355160 355168 + Identifier 355170 355180 + VariableStatement 355183 355346 + VariableDeclarationList 355183 355345 + VariableDeclaration 355210 355345 + Identifier 355210 355224 + CallExpression 355226 355345 + Identifier 355226 355261 + CallExpression 355262 355344 + Identifier 355262 355277 + CallExpression 355278 355332 + Identifier 355278 355297 + Identifier 355298 355305 + PropertyAccessExpression 355306 355331 + PropertyAccessExpression 355306 355321 + PropertyAccessExpression 355306 355316 + Identifier 355306 355311 + Identifier 355312 355316 + Identifier 355317 355321 + Identifier 355322 355331 + Identifier 355333 355343 + ReturnStatement 355346 357309 + CallExpression 356488 357308 + PropertyAccessExpression 356488 356522 + Identifier 356488 356496 + Identifier 356497 356522 + Identifier 356523 356562 + CallExpression 356563 356740 + PropertyAccessExpression 356563 356616 + Identifier 356563 356596 + Identifier 356597 356616 + CallExpression 356617 356739 + PropertyAccessExpression 356617 356655 + Identifier 356617 356624 + Identifier 356625 356655 + Identifier 356656 356679 + AsExpression 356680 356738 + CallExpression 356680 356724 + PropertyAccessExpression 356680 356698 + Identifier 356680 356688 + Identifier 356689 356698 + PropertyAccessExpression 356699 356723 + Identifier 356699 356714 + Identifier 356715 356723 + TypeReference 356727 356738 + Identifier 356727 356738 + CallExpression 356741 357203 + PropertyAccessExpression 356741 356800 + Identifier 356741 356774 + Identifier 356775 356800 + CallExpression 356801 356887 + PropertyAccessExpression 356801 356862 + Identifier 356801 356838 + Identifier 356839 356862 + CallExpression 356863 356886 + PropertyAccessExpression 356863 356880 + Identifier 356863 356870 + Identifier 356871 356880 + Identifier 356881 356885 + CallExpression 356888 356963 + Identifier 356888 356938 + PropertyAccessExpression 356939 356953 + Identifier 356939 356943 + Identifier 356944 356953 + Identifier 356954 356962 + CallExpression 356964 357090 + PropertyAccessExpression 356964 357027 + Identifier 356964 357001 + Identifier 357002 357027 + Identifier 357028 357043 + Identifier 357044 357060 + Identifier 357061 357074 + Identifier 357075 357089 + CallExpression 357091 357175 + PropertyAccessExpression 357091 357150 + Identifier 357091 357128 + Identifier 357129 357150 + PropertyAccessExpression 357151 357174 + Identifier 357151 357161 + Identifier 357162 357174 + CallExpression 357204 357284 + PropertyAccessExpression 357204 357259 + Identifier 357204 357237 + Identifier 357238 357259 + PropertyAccessExpression 357260 357283 + Identifier 357260 357270 + Identifier 357271 357283 + VariableStatement 357328 357406 + VariableDeclarationList 357328 357405 + VariableDeclaration 357351 357405 + Identifier 357351 357375 + PropertyAccessExpression 357377 357405 + Identifier 357377 357385 + Identifier 357386 357405 + ExpressionStatement 357406 357484 + BinaryExpression 357406 357483 + PropertyAccessExpression 357406 357451 + Identifier 357406 357431 + Identifier 357432 357451 + EqualsToken 357451 357453 + PropertyAccessExpression 357453 357483 + PropertyAccessExpression 357453 357463 + Identifier 357453 357458 + Identifier 357459 357463 + Identifier 357464 357483 + VariableStatement 357484 357574 + VariableDeclarationList 357484 357573 + VariableDeclaration 357507 357573 + Identifier 357507 357523 + CallExpression 357525 357573 + Identifier 357525 357546 + PropertyAccessExpression 357547 357563 + Identifier 357547 357551 + Identifier 357552 357563 + Identifier 357564 357572 + ExpressionStatement 357574 357646 + BinaryExpression 357574 357645 + PropertyAccessExpression 357574 357619 + Identifier 357574 357599 + Identifier 357600 357619 + EqualsToken 357619 357621 + Identifier 357621 357645 + VariableStatement 357646 357758 + VariableDeclarationList 357646 357757 + VariableDeclaration 357669 357757 + Identifier 357669 357682 + CallExpression 357684 357757 + Identifier 357684 357719 + CallExpression 357720 357756 + Identifier 357720 357750 + Identifier 357751 357755 + VariableStatement 357758 357872 + VariableDeclarationList 357758 357871 + VariableDeclaration 357781 357871 + Identifier 357781 357795 + CallExpression 357797 357871 + Identifier 357797 357832 + CallExpression 357833 357870 + Identifier 357833 357864 + Identifier 357865 357869 + ReturnStatement 357872 357992 + CallExpression 357896 357991 + PropertyAccessExpression 357896 357930 + Identifier 357896 357904 + Identifier 357905 357930 + Identifier 357931 357944 + Identifier 357945 357961 + Identifier 357962 357975 + Identifier 357976 357990 + FunctionDeclaration 358007 358761 + Identifier 358031 358066 + Parameter 358067 358077 + Identifier 358067 358071 + TypeReference 358072 358077 + Identifier 358072 358077 + Block 358078 358761 + IfStatement 358080 358685 + BinaryExpression 358102 358130 + PropertyAccessExpression 358102 358112 + Identifier 358102 358106 + Identifier 358107 358112 + AmpersandToken 358112 358114 + PropertyAccessExpression 358114 358130 + Identifier 358114 358124 + Identifier 358125 358130 + Block 358131 358685 + IfStatement 358133 358564 + CallExpression 358159 358201 + PropertyAccessExpression 358159 358184 + PropertyAccessExpression 358159 358179 + Identifier 358159 358166 + Identifier 358167 358179 + QuestionDotToken 358179 358181 + Identifier 358181 358184 + CallExpression 358185 358200 + Identifier 358185 358194 + Identifier 358195 358199 + Block 358202 358564 + IfStatement 358204 358464 + PrefixUnaryExpression 358234 358294 + ParenthesizedExpression 358235 358294 + BinaryExpression 358236 358293 + PropertyAccessExpression 358236 358249 + Identifier 358236 358243 + Identifier 358244 358249 + AmpersandToken 358249 358251 + PropertyAccessExpression 358251 358293 + Identifier 358251 358268 + Identifier 358269 358293 + Block 358295 358464 + ExpressionStatement 358297 358359 + BinaryExpression 358297 358358 + PropertyAccessExpression 358297 358351 + Identifier 358297 358334 + Identifier 358335 358351 + EqualsToken 358351 358353 + TrueKeyword 358353 358358 + ExpressionStatement 358359 358437 + CallExpression 358359 358436 + PropertyAccessExpression 358359 358432 + PropertyAccessExpression 358359 358404 + Identifier 358359 358396 + Identifier 358397 358404 + QuestionDotToken 358404 358406 + Identifier 358406 358432 + QuestionDotToken 358432 358434 + ReturnStatement 358464 358541 + CallExpression 358496 358540 + Identifier 358496 358531 + Identifier 358532 358539 + ReturnStatement 358564 358666 + CallExpression 358592 358665 + Identifier 358592 358614 + Identifier 358615 358619 + ArrowFunction 358620 358664 + Parameter 358620 358625 + Identifier 358620 358625 + EqualsGreaterThanToken 358625 358628 + CallExpression 358628 358664 + Identifier 358628 358649 + Identifier 358650 358654 + Identifier 358655 358663 + ReturnStatement 358685 358746 + CallExpression 358709 358745 + Identifier 358709 358730 + Identifier 358731 358735 + Identifier 358736 358744 + FunctionDeclaration 358761 358904 + Identifier 358785 358809 + Parameter 358810 358826 + Identifier 358810 358814 + TypeReference 358815 358826 + Identifier 358815 358826 + Block 358827 358904 + ReturnStatement 358829 358889 + PrefixUnaryExpression 358853 358888 + PrefixUnaryExpression 358855 358888 + CallExpression 358856 358888 + Identifier 358856 358882 + Identifier 358883 358887 + FunctionDeclaration 358904 359145 + Identifier 358928 358983 + Parameter 358984 359000 + Identifier 358984 358988 + TypeReference 358989 359000 + Identifier 358989 359000 + Block 359001 359145 + ReturnStatement 359003 359130 + BinaryExpression 359027 359129 + BinaryExpression 359027 359095 + PrefixUnaryExpression 359027 359041 + PrefixUnaryExpression 359029 359041 + PropertyAccessExpression 359030 359041 + Identifier 359030 359034 + Identifier 359035 359041 + AmpersandAmpersandToken 359041 359044 + CallExpression 359044 359095 + Identifier 359044 359068 + AsExpression 359069 359094 + PropertyAccessExpression 359069 359080 + Identifier 359069 359073 + Identifier 359074 359080 + TypeReference 359083 359094 + Identifier 359083 359094 + AmpersandAmpersandToken 359095 359098 + PrefixUnaryExpression 359098 359129 + CallExpression 359100 359129 + Identifier 359100 359123 + Identifier 359124 359128 + FunctionDeclaration 359145 365695 + Identifier 359169 359198 + Parameter 359199 359215 + Identifier 359199 359203 + TypeReference 359204 359215 + Identifier 359204 359215 + Block 359216 365695 + ExpressionStatement 359218 359284 + CallExpression 359218 359283 + PropertyAccessExpression 359218 359248 + Identifier 359218 359241 + Identifier 359242 359248 + PrefixUnaryExpression 359249 359282 + PrefixUnaryExpression 359250 359282 + ParenthesizedExpression 359251 359282 + BinaryExpression 359252 359281 + PropertyAccessExpression 359252 359262 + Identifier 359252 359256 + Identifier 359257 359262 + AmpersandToken 359262 359264 + PropertyAccessExpression 359264 359281 + Identifier 359264 359274 + Identifier 359275 359281 + VariableStatement 359284 359470 + VariableDeclarationList 359284 359469 + VariableDeclaration 359307 359469 + Identifier 359307 359321 + ConditionalExpression 359323 359469 + PropertyAccessExpression 359323 359354 + PropertyAccessExpression 359323 359340 + Identifier 359323 359328 + Identifier 359329 359340 + Identifier 359341 359354 + QuestionToken 359354 359356 + AsExpression 359356 359457 + CallExpression 359356 359413 + PropertyAccessExpression 359356 359376 + Identifier 359356 359364 + Identifier 359365 359376 + PropertyAccessExpression 359377 359412 + PropertyAccessExpression 359377 359407 + PropertyAccessExpression 359377 359393 + Identifier 359377 359381 + Identifier 359382 359393 + Identifier 359394 359407 + Identifier 359408 359412 + UnionType 359416 359457 + TypeReference 359416 359432 + Identifier 359416 359432 + TypeReference 359434 359444 + Identifier 359434 359444 + TypeReference 359446 359457 + Identifier 359446 359457 + ColonToken 359457 359459 + Identifier 359459 359469 + VariableStatement 359470 359654 + VariableDeclarationList 359470 359653 + VariableDeclaration 359493 359653 + Identifier 359493 359507 + ConditionalExpression 359509 359653 + PropertyAccessExpression 359509 359540 + PropertyAccessExpression 359509 359526 + Identifier 359509 359514 + Identifier 359515 359526 + Identifier 359527 359540 + QuestionToken 359540 359542 + AsExpression 359542 359641 + CallExpression 359542 359599 + PropertyAccessExpression 359542 359562 + Identifier 359542 359550 + Identifier 359551 359562 + PropertyAccessExpression 359563 359598 + PropertyAccessExpression 359563 359593 + PropertyAccessExpression 359563 359579 + Identifier 359563 359567 + Identifier 359568 359579 + Identifier 359580 359593 + Identifier 359594 359598 + UnionType 359602 359641 + TypeReference 359602 359616 + Identifier 359602 359616 + TypeReference 359618 359628 + Identifier 359618 359628 + TypeReference 359630 359641 + Identifier 359630 359641 + ColonToken 359641 359643 + Identifier 359643 359653 + VariableStatement 359654 359716 + VariableDeclarationList 359654 359715 + VariableDeclaration 359675 359715 + Identifier 359675 359705 + TypeReference 359706 359715 + Identifier 359706 359715 + VariableStatement 359716 359785 + VariableDeclarationList 359716 359784 + VariableDeclaration 359737 359784 + Identifier 359737 359753 + UnionType 359754 359784 + TypeReference 359754 359772 + Identifier 359754 359772 + UndefinedKeyword 359774 359784 + VariableStatement 359785 360501 + VariableDeclarationList 359785 360500 + VariableDeclaration 360041 360500 + Identifier 360041 360072 + BinaryExpression 360074 360500 + BinaryExpression 360074 360306 + BinaryExpression 360074 360214 + PrefixUnaryExpression 360074 360124 + CallExpression 360076 360124 + Identifier 360076 360118 + Identifier 360119 360123 + AmpersandAmpersandToken 360124 360148 + PrefixUnaryExpression 360148 360214 + ParenthesizedExpression 360150 360214 + BinaryExpression 360151 360213 + PropertyAccessExpression 360151 360193 + CallExpression 360151 360187 + Identifier 360151 360181 + Identifier 360182 360186 + Identifier 360188 360193 + AmpersandToken 360193 360195 + PropertyAccessExpression 360195 360213 + Identifier 360195 360205 + Identifier 360206 360213 + AmpersandAmpersandToken 360214 360238 + BinaryExpression 360238 360306 + PropertyAccessExpression 360238 360252 + Identifier 360238 360246 + Identifier 360247 360252 + AmpersandToken 360252 360254 + PropertyAccessExpression 360254 360306 + Identifier 360254 360271 + Identifier 360272 360306 + AmpersandAmpersandToken 360306 360330 + PrefixUnaryExpression 360330 360500 + ParenthesizedExpression 360332 360500 + BinaryExpression 360333 360499 + BinaryExpression 360333 360402 + PropertyAccessExpression 360333 360376 + CallExpression 360333 360370 + Identifier 360333 360364 + Identifier 360365 360369 + Identifier 360371 360376 + AmpersandToken 360376 360378 + PropertyAccessExpression 360378 360402 + Identifier 360378 360388 + Identifier 360389 360402 + AmpersandAmpersandToken 360402 360405 + BinaryExpression 360405 360499 + NonNullExpression 360405 360481 + PropertyAccessExpression 360405 360480 + CallExpression 360405 360473 + Identifier 360405 360434 + CallExpression 360435 360472 + Identifier 360435 360466 + Identifier 360467 360471 + QuestionDotToken 360473 360475 + Identifier 360475 360480 + AmpersandToken 360481 360483 + PropertyAccessExpression 360483 360499 + Identifier 360483 360493 + Identifier 360494 360499 + IfStatement 360501 362261 + CallExpression 360523 360571 + Identifier 360523 360565 + Identifier 360566 360570 + Block 360572 361487 + IfStatement 360574 361270 + BinaryExpression 360832 360963 + CallExpression 360832 360892 + Identifier 360832 360886 + Identifier 360887 360891 + AmpersandAmpersandToken 360892 360895 + BinaryExpression 360895 360963 + PropertyAccessExpression 360895 360909 + Identifier 360895 360903 + Identifier 360904 360909 + AmpersandToken 360909 360911 + PropertyAccessExpression 360911 360963 + Identifier 360911 360928 + Identifier 360929 360963 + Block 360964 361270 + VariableStatement 360966 361087 + VariableDeclarationList 360966 361086 + VariableDeclaration 360997 361086 + Identifier 360997 361006 + CallExpression 361008 361086 + Identifier 361008 361028 + CallExpression 361029 361085 + Identifier 361029 361041 + PropertyAccessExpression 361042 361067 + Identifier 361042 361053 + Identifier 361054 361067 + AsExpression 361068 361084 + StringLiteral 361068 361072 + TypeReference 361075 361084 + Identifier 361075 361084 + VariableStatement 361087 361165 + VariableDeclarationList 361087 361164 + VariableDeclaration 361118 361164 + Identifier 361118 361123 + CallExpression 361125 361164 + Identifier 361125 361145 + Identifier 361146 361154 + Identifier 361155 361163 + ExpressionStatement 361165 361247 + BinaryExpression 361165 361246 + Identifier 361165 361206 + EqualsToken 361206 361208 + CallExpression 361208 361246 + PropertyAccessExpression 361208 361240 + Identifier 361208 361216 + Identifier 361217 361240 + Identifier 361241 361245 + ExpressionStatement 361270 361468 + BinaryExpression 361270 361467 + Identifier 361270 361321 + EqualsToken 361321 361323 + CallExpression 361323 361467 + PropertyAccessExpression 361323 361354 + Identifier 361323 361331 + Identifier 361332 361354 + PropertyAccessExpression 361355 361378 + Identifier 361355 361365 + Identifier 361366 361378 + BinaryExpression 361379 361466 + Identifier 361379 361395 + BarBarToken 361395 361398 + CallExpression 361398 361466 + Identifier 361398 361419 + CallExpression 361420 361456 + Identifier 361420 361450 + Identifier 361451 361455 + Identifier 361457 361465 + IfStatement 361509 362261 + Identifier 361514 361544 + Block 361545 362095 + VariableStatement 361547 361718 + VariableDeclarationList 361547 361717 + VariableDeclaration 361628 361717 + Identifier 361628 361637 + CallExpression 361639 361717 + Identifier 361639 361659 + CallExpression 361660 361716 + Identifier 361660 361672 + PropertyAccessExpression 361673 361698 + Identifier 361673 361684 + Identifier 361685 361698 + AsExpression 361699 361715 + StringLiteral 361699 361703 + TypeReference 361706 361715 + Identifier 361706 361715 + VariableStatement 361718 361792 + VariableDeclarationList 361718 361791 + VariableDeclaration 361745 361791 + Identifier 361745 361750 + CallExpression 361752 361791 + Identifier 361752 361772 + Identifier 361773 361781 + Identifier 361782 361790 + ExpressionStatement 361792 361870 + BinaryExpression 361792 361869 + Identifier 361792 361829 + EqualsToken 361829 361831 + CallExpression 361831 361869 + PropertyAccessExpression 361831 361863 + Identifier 361831 361839 + Identifier 361840 361863 + Identifier 361864 361868 + ExpressionStatement 361870 362076 + BinaryExpression 361870 362075 + Identifier 361870 362057 + EqualsToken 362057 362059 + Identifier 362059 362075 + Block 362117 362261 + ExpressionStatement 362119 362242 + BinaryExpression 362119 362241 + Identifier 362119 362170 + EqualsToken 362170 362172 + CallExpression 362172 362241 + Identifier 362172 362193 + CallExpression 362194 362231 + Identifier 362194 362225 + Identifier 362226 362230 + Identifier 362232 362240 + VariableStatement 362261 362424 + VariableDeclarationList 362261 362423 + VariableDeclaration 362284 362423 + Identifier 362284 362302 + CallExpression 362304 362423 + Identifier 362304 362345 + CallExpression 362346 362382 + Identifier 362346 362376 + Identifier 362377 362381 + Identifier 362383 362391 + Identifier 362392 362422 + VariableStatement 362424 362567 + VariableDeclarationList 362424 362566 + VariableDeclaration 362447 362566 + Identifier 362447 362460 + ConditionalExpression 362462 362566 + PropertyAccessExpression 362462 362488 + PropertyAccessExpression 362462 362479 + Identifier 362462 362467 + Identifier 362468 362479 + Identifier 362480 362488 + QuestionToken 362488 362490 + CallExpression 362490 362554 + Identifier 362490 362511 + NonNullExpression 362512 362544 + CallExpression 362512 362543 + Identifier 362512 362537 + Identifier 362538 362542 + Identifier 362545 362553 + ColonToken 362554 362556 + Identifier 362556 362566 + VariableStatement 362567 362768 + VariableDeclarationList 362567 362767 + VariableDeclaration 362590 362767 + Identifier 362590 362607 + CallExpression 362609 362767 + Identifier 362609 362630 + CallExpression 362631 362757 + Identifier 362631 362648 + CallExpression 362649 362684 + Identifier 362649 362678 + Identifier 362679 362683 + PrefixUnaryExpression 362685 362756 + PrefixUnaryExpression 362687 362756 + ParenthesizedExpression 362688 362756 + BinaryExpression 362689 362755 + CallExpression 362689 362717 + Identifier 362689 362711 + Identifier 362712 362716 + AmpersandToken 362717 362719 + PropertyAccessExpression 362719 362755 + Identifier 362719 362739 + Identifier 362740 362755 + Identifier 362758 362766 + VariableStatement 362768 362942 + VariableDeclarationList 362768 362941 + VariableDeclaration 362791 362941 + Identifier 362791 362806 + CallExpression 362808 362941 + PropertyAccessExpression 362808 362837 + Identifier 362808 362816 + Identifier 362817 362837 + Identifier 362838 362851 + Identifier 362852 362870 + Identifier 362871 362884 + Identifier 362885 362899 + Identifier 362900 362917 + Identifier 362918 362940 + ExpressionStatement 362942 362992 + BinaryExpression 362942 362991 + PropertyAccessExpression 362942 362985 + Identifier 362942 362967 + Identifier 362968 362985 + PlusEqualsToken 362985 362988 + NumericLiteral 362988 362991 + VariableStatement 362992 363076 + VariableDeclarationList 362992 363075 + VariableDeclaration 363015 363075 + Identifier 363015 363022 + CallExpression 363024 363075 + Identifier 363024 363037 + Identifier 363038 363052 + PropertyAccessExpression 363053 363074 + Identifier 363053 363063 + Identifier 363064 363074 + IfStatement 363076 365648 + BinaryExpression 363098 363229 + CallExpression 363098 363158 + Identifier 363098 363152 + Identifier 363153 363157 + AmpersandAmpersandToken 363158 363161 + BinaryExpression 363161 363229 + PropertyAccessExpression 363161 363175 + Identifier 363161 363169 + Identifier 363170 363175 + AmpersandToken 363175 363177 + PropertyAccessExpression 363177 363229 + Identifier 363177 363194 + Identifier 363195 363229 + Block 363230 364358 + VariableStatement 363232 363755 + VariableDeclarationList 363232 363754 + VariableDeclaration 363541 363754 + Identifier 363541 363560 + CallExpression 363562 363754 + Identifier 363562 363578 + BinaryExpression 363579 363740 + CallExpression 363579 363725 + Identifier 363579 363607 + AsExpression 363608 363724 + CallExpression 363608 363707 + Identifier 363608 363627 + Identifier 363628 363635 + PropertyAccessExpression 363636 363706 + ParenthesizedExpression 363636 363701 + AsExpression 363638 363700 + NonNullExpression 363638 363680 + PropertyAccessExpression 363638 363679 + PropertyAccessExpression 363638 363668 + PropertyAccessExpression 363638 363654 + Identifier 363638 363642 + Identifier 363643 363654 + Identifier 363655 363668 + Identifier 363669 363679 + TypeReference 363683 363700 + Identifier 363683 363700 + Identifier 363702 363706 + TypeReference 363710 363724 + Identifier 363710 363724 + BarBarToken 363725 363728 + Identifier 363728 363740 + PropertyAccessExpression 363741 363753 + Identifier 363741 363746 + Identifier 363747 363753 + ReturnStatement 363755 364339 + CallExpression 363783 364338 + PropertyAccessExpression 363783 363817 + Identifier 363783 363791 + Identifier 363792 363817 + CallExpression 363818 363911 + Identifier 363818 363864 + CallExpression 363865 363901 + Identifier 363865 363895 + Identifier 363896 363900 + Identifier 363902 363910 + CallExpression 363912 364200 + PropertyAccessExpression 363912 363965 + Identifier 363912 363945 + Identifier 363946 363965 + CallExpression 363966 364199 + PropertyAccessExpression 363966 364004 + Identifier 363966 363973 + Identifier 363974 364004 + Identifier 364005 364028 + AsExpression 364029 364088 + CallExpression 364029 364074 + PropertyAccessExpression 364029 364047 + Identifier 364029 364037 + Identifier 364038 364047 + PropertyAccessExpression 364048 364073 + NonNullExpression 364048 364064 + Identifier 364048 364063 + Identifier 364065 364073 + TypeReference 364077 364088 + Identifier 364077 364088 + ConditionalExpression 364089 364198 + BinaryExpression 364089 364134 + PropertyAccessExpression 364089 364114 + Identifier 364089 364108 + Identifier 364109 364114 + AmpersandToken 364114 364116 + PropertyAccessExpression 364116 364134 + Identifier 364116 364126 + Identifier 364127 364134 + QuestionToken 364134 364136 + Identifier 364136 364146 + ColonToken 364146 364148 + CallExpression 364148 364198 + Identifier 364148 364169 + Identifier 364170 364188 + Identifier 364189 364197 + Identifier 364201 364233 + CallExpression 364234 364314 + PropertyAccessExpression 364234 364289 + Identifier 364234 364267 + Identifier 364268 364289 + PropertyAccessExpression 364290 364313 + Identifier 364290 364300 + Identifier 364301 364313 + IfStatement 364380 365648 + Identifier 364385 364415 + Block 364416 365648 + ReturnStatement 364418 365629 + CallExpression 365056 365628 + PropertyAccessExpression 365056 365090 + Identifier 365056 365064 + Identifier 365065 365090 + CallExpression 365091 365185 + Identifier 365091 365137 + CallExpression 365138 365175 + Identifier 365138 365169 + Identifier 365170 365174 + Identifier 365176 365184 + CallExpression 365186 365490 + PropertyAccessExpression 365186 365239 + Identifier 365186 365219 + Identifier 365220 365239 + CallExpression 365240 365489 + PropertyAccessExpression 365240 365278 + Identifier 365240 365247 + Identifier 365248 365278 + Identifier 365279 365302 + AsExpression 365303 365362 + CallExpression 365303 365348 + PropertyAccessExpression 365303 365321 + Identifier 365303 365311 + Identifier 365312 365321 + PropertyAccessExpression 365322 365347 + NonNullExpression 365322 365338 + Identifier 365322 365337 + Identifier 365339 365347 + TypeReference 365351 365362 + Identifier 365351 365362 + CallExpression 365363 365488 + PropertyAccessExpression 365363 365394 + Identifier 365363 365371 + Identifier 365372 365394 + PropertyAccessExpression 365395 365418 + Identifier 365395 365405 + Identifier 365406 365418 + CallExpression 365419 365487 + Identifier 365419 365440 + CallExpression 365441 365477 + Identifier 365441 365471 + Identifier 365472 365476 + Identifier 365478 365486 + Identifier 365491 365523 + CallExpression 365524 365604 + PropertyAccessExpression 365524 365579 + Identifier 365524 365557 + Identifier 365558 365579 + PropertyAccessExpression 365580 365603 + Identifier 365580 365590 + Identifier 365591 365603 + ReturnStatement 365648 365680 + Identifier 365672 365679 + FunctionDeclaration 365695 371275 + Identifier 365719 365743 + Parameter 365744 365760 + Identifier 365744 365748 + TypeReference 365749 365760 + Identifier 365749 365760 + TypeReference 365762 365771 + Identifier 365762 365771 + Block 365771 371275 + VariableStatement 365773 365814 + VariableDeclarationList 365773 365813 + VariableDeclaration 365796 365813 + Identifier 365796 365803 + PropertyAccessExpression 365805 365813 + Identifier 365805 365810 + Identifier 365811 365813 + VariableStatement 365814 365859 + VariableDeclarationList 365814 365858 + VariableDeclaration 365837 365858 + Identifier 365837 365844 + PropertyAccessExpression 365846 365858 + Identifier 365846 365851 + Identifier 365852 365858 + IfStatement 365859 369929 + Identifier 365881 365887 + Block 365888 369745 + VariableStatement 365890 366017 + VariableDeclarationList 365890 366016 + VariableDeclaration 365917 366016 + Identifier 365917 365947 + PrefixUnaryExpression 365949 366016 + PrefixUnaryExpression 365951 366016 + ParenthesizedExpression 365952 366016 + BinaryExpression 365953 366015 + CallExpression 365953 365973 + Identifier 365953 365967 + Identifier 365968 365972 + AmpersandToken 365973 365975 + PropertyAccessExpression 365975 366015 + Identifier 365975 365987 + Identifier 365988 366015 + IfStatement 366017 367586 + Identifier 366043 366072 + Block 366073 367586 + VariableStatement 366075 366173 + VariableDeclarationList 366075 366172 + VariableDeclaration 366106 366172 + Identifier 366106 366134 + AsExpression 366136 366172 + Identifier 366136 366141 + TypeReference 366144 366172 + Identifier 366144 366172 + VariableStatement 366173 366249 + VariableDeclarationList 366173 366248 + VariableDeclaration 366204 366248 + Identifier 366204 366213 + PropertyAccessExpression 366215 366248 + Identifier 366215 366243 + Identifier 366244 366248 + IfStatement 366249 367298 + BinaryExpression 366954 367030 + CallExpression 366954 366979 + Identifier 366954 366969 + Identifier 366970 366978 + AmpersandAmpersandToken 366979 366982 + BinaryExpression 366982 367030 + CallExpression 366982 367021 + Identifier 366982 367002 + Identifier 367003 367010 + Identifier 367011 367020 + EqualsEqualsEqualsToken 367021 367025 + Identifier 367025 367030 + Block 367031 367298 + VariableStatement 367033 367145 + VariableDeclarationList 367033 367144 + VariableDeclaration 367068 367144 + Identifier 367068 367077 + CallExpression 367079 367144 + PropertyAccessExpression 367079 367125 + Identifier 367079 367100 + Identifier 367101 367125 + Identifier 367126 367133 + Identifier 367134 367143 + IfStatement 367145 367271 + Identifier 367179 367187 + Block 367188 367271 + ReturnStatement 367190 367240 + Identifier 367230 367239 + IfStatement 367298 367472 + CallExpression 367328 367361 + PropertyAccessExpression 367328 367353 + PropertyAccessExpression 367328 367348 + Identifier 367328 367335 + Identifier 367336 367348 + QuestionDotToken 367348 367350 + Identifier 367350 367353 + Identifier 367354 367360 + Block 367362 367472 + ReturnStatement 367364 367445 + CallExpression 367400 367444 + Identifier 367400 367435 + Identifier 367436 367443 + ReturnStatement 367472 367563 + CallExpression 367504 367562 + Identifier 367504 367526 + Identifier 367527 367531 + Identifier 367532 367561 + VariableStatement 367586 367696 + VariableDeclarationList 367586 367695 + VariableDeclaration 367613 367695 + Identifier 367613 367628 + ConditionalExpression 367630 367695 + CallExpression 367630 367656 + Identifier 367630 367650 + Identifier 367651 367655 + QuestionToken 367656 367658 + PropertyAccessExpression 367658 367675 + Identifier 367658 367670 + Identifier 367671 367675 + ColonToken 367675 367677 + PropertyAccessExpression 367677 367695 + Identifier 367677 367689 + Identifier 367690 367695 + IfStatement 367696 369726 + CallExpression 367722 367762 + Identifier 367722 367737 + PropertyAccessExpression 367738 367761 + Identifier 367738 367744 + Identifier 367745 367761 + Block 367763 367987 + ReturnStatement 367765 367964 + CallExpression 367913 367963 + Identifier 367913 367930 + Identifier 367931 367937 + Identifier 367938 367946 + Identifier 367947 367962 + IfStatement 368103 369726 + BinaryExpression 368108 368773 + BinaryExpression 368108 368711 + BinaryExpression 368108 368623 + BinaryExpression 368108 368234 + BinaryExpression 368108 368166 + PropertyAccessExpression 368108 368146 + Identifier 368108 368140 + Identifier 368141 368146 + AmpersandToken 368146 368148 + PropertyAccessExpression 368148 368166 + Identifier 368148 368160 + Identifier 368161 368166 + AmpersandAmpersandToken 368166 368198 + PrefixUnaryExpression 368198 368234 + CallExpression 368200 368234 + Identifier 368200 368226 + Identifier 368227 368233 + AmpersandAmpersandToken 368234 368266 + PrefixUnaryExpression 368266 368623 + ParenthesizedExpression 368268 368623 + BinaryExpression 368269 368622 + BinaryExpression 368269 368402 + BinaryExpression 368269 368332 + PropertyAccessExpression 368269 368292 + Identifier 368269 368275 + Identifier 368276 368292 + AmpersandAmpersandToken 368292 368295 + CallExpression 368295 368332 + Identifier 368295 368307 + PropertyAccessExpression 368308 368331 + Identifier 368308 368314 + Identifier 368315 368331 + AmpersandAmpersandToken 368332 368335 + BinaryExpression 368335 368402 + PropertyAccessExpression 368335 368349 + Identifier 368335 368343 + Identifier 368344 368349 + AmpersandToken 368349 368351 + PropertyAccessExpression 368351 368402 + Identifier 368351 368368 + Identifier 368369 368402 + AmpersandAmpersandToken 368402 368405 + ParenthesizedExpression 368405 368622 + BinaryExpression 368407 368621 + PrefixUnaryExpression 368407 368451 + CallExpression 368408 368451 + Identifier 368408 368426 + PropertyAccessExpression 368427 368450 + Identifier 368427 368433 + Identifier 368434 368450 + BarBarToken 368451 368454 + BinaryExpression 368454 368621 + PropertyAccessExpression 368454 368586 + CallExpression 368454 368572 + Identifier 368454 368473 + Identifier 368474 368480 + PropertyAccessExpression 368481 368510 + Identifier 368481 368489 + Identifier 368490 368510 + Identifier 368511 368526 + FalseKeyword 368527 368571 + Identifier 368573 368586 + ExclamationEqualsEqualsToken 368586 368590 + PropertyAccessExpression 368590 368621 + Identifier 368590 368610 + Identifier 368611 368621 + BarBarToken 368623 368626 + BinaryExpression 368626 368711 + PropertyAccessExpression 368626 368664 + Identifier 368626 368658 + Identifier 368659 368664 + AmpersandToken 368664 368666 + ParenthesizedExpression 368666 368711 + BinaryExpression 368668 368710 + PropertyAccessExpression 368668 368684 + Identifier 368668 368679 + Identifier 368680 368684 + BarToken 368684 368686 + PropertyAccessExpression 368686 368710 + Identifier 368686 368698 + Identifier 368699 368710 + BarBarToken 368711 368714 + CallExpression 368714 368773 + Identifier 368714 368771 + Block 368796 368904 + ReturnStatement 368798 368881 + CallExpression 368830 368880 + Identifier 368830 368847 + Identifier 368848 368854 + Identifier 368855 368863 + Identifier 368864 368879 + IfStatement 368930 369726 + CallExpression 368935 368968 + PropertyAccessExpression 368935 368960 + PropertyAccessExpression 368935 368955 + Identifier 368935 368942 + Identifier 368943 368955 + QuestionDotToken 368955 368957 + Identifier 368957 368960 + Identifier 368961 368967 + Block 368969 369584 + VariableStatement 368971 369162 + VariableDeclarationList 368971 369161 + VariableDeclaration 369116 369161 + Identifier 369116 369126 + CallExpression 369128 369161 + Identifier 369128 369155 + Identifier 369156 369160 + IfStatement 369162 369561 + Identifier 369192 369201 + Block 369202 369421 + ReturnStatement 369204 369394 + CallExpression 369338 369393 + Identifier 369338 369355 + Identifier 369356 369365 + Identifier 369366 369374 + PropertyAccessExpression 369375 369392 + Identifier 369375 369387 + Identifier 369388 369392 + Block 369451 369561 + ReturnStatement 369453 369534 + CallExpression 369489 369533 + Identifier 369489 369524 + Identifier 369525 369532 + Block 369610 369726 + ReturnStatement 369612 369703 + CallExpression 369644 369702 + Identifier 369644 369666 + Identifier 369667 369671 + Identifier 369672 369701 + Block 369767 369929 + ReturnStatement 369769 369910 + CallExpression 369874 369909 + Identifier 369874 369903 + Identifier 369904 369908 + FunctionDeclaration 369929 371260 + Identifier 369955 369987 + Block 369989 371260 + VariableStatement 369991 370265 + VariableDeclarationList 369991 370264 + VariableDeclaration 370018 370264 + Identifier 370018 370039 + BinaryExpression 370041 370264 + PrefixUnaryExpression 370041 370079 + PrefixUnaryExpression 370043 370079 + ParenthesizedExpression 370044 370079 + BinaryExpression 370045 370078 + PropertyAccessExpression 370045 370057 + Identifier 370045 370051 + Identifier 370052 370057 + AmpersandToken 370057 370059 + PropertyAccessExpression 370059 370078 + Identifier 370059 370071 + Identifier 370072 370078 + AmpersandAmpersandToken 370079 370082 + CallExpression 370082 370264 + Identifier 370082 370136 + PropertyAccessExpression 370137 370156 + Identifier 370137 370143 + Identifier 370144 370156 + ArrowFunction 370157 370263 + Parameter 370157 370169 + Identifier 370157 370169 + EqualsGreaterThanToken 370169 370172 + BinaryExpression 370172 370263 + CallExpression 370172 370194 + Identifier 370172 370181 + Identifier 370182 370193 + AmpersandAmpersandToken 370194 370197 + PrefixUnaryExpression 370197 370263 + CallExpression 370199 370263 + Identifier 370199 370227 + NonNullExpression 370228 370262 + CallExpression 370228 370261 + Identifier 370228 370248 + Identifier 370249 370260 + VariableStatement 370265 370616 + VariableDeclarationList 370265 370615 + VariableDeclaration 370292 370615 + Identifier 370292 370317 + BinaryExpression 370319 370615 + PrefixUnaryExpression 370319 370359 + PrefixUnaryExpression 370321 370359 + ParenthesizedExpression 370322 370359 + BinaryExpression 370323 370358 + PropertyAccessExpression 370323 370335 + Identifier 370323 370329 + Identifier 370330 370335 + AmpersandToken 370335 370337 + PropertyAccessExpression 370337 370358 + Identifier 370337 370349 + Identifier 370350 370358 + AmpersandAmpersandToken 370359 370362 + ParenthesizedExpression 370362 370615 + BinaryExpression 370389 370614 + PropertyAccessExpression 370389 370402 + Identifier 370389 370395 + Identifier 370396 370402 + BarBarToken 370402 370405 + CallExpression 370405 370614 + Identifier 370405 370473 + PropertyAccessExpression 370474 370493 + Identifier 370474 370480 + Identifier 370481 370493 + ArrowFunction 370494 370613 + Parameter 370494 370506 + Identifier 370494 370506 + EqualsGreaterThanToken 370506 370509 + BinaryExpression 370509 370613 + BinaryExpression 370509 370559 + PropertyAccessExpression 370509 370533 + PropertyAccessExpression 370509 370528 + Identifier 370509 370521 + Identifier 370522 370528 + Identifier 370529 370533 + EqualsEqualsEqualsToken 370533 370537 + PropertyAccessExpression 370537 370559 + Identifier 370537 370548 + Identifier 370549 370559 + BarBarToken 370559 370562 + BinaryExpression 370562 370613 + PropertyAccessExpression 370562 370586 + PropertyAccessExpression 370562 370581 + Identifier 370562 370574 + Identifier 370575 370581 + Identifier 370582 370586 + EqualsEqualsEqualsToken 370586 370590 + PropertyAccessExpression 370590 370613 + Identifier 370590 370601 + Identifier 370602 370613 + IfStatement 370616 371241 + BinaryExpression 370642 370690 + Identifier 370642 370662 + BarBarToken 370662 370665 + Identifier 370665 370690 + Block 370691 371241 + ReturnStatement 370693 371113 + BinaryExpression 370807 371112 + ParenthesizedExpression 370807 370903 + BinaryExpression 370809 370902 + PrefixUnaryExpression 370809 370863 + PrefixUnaryExpression 370810 370863 + ParenthesizedExpression 370811 370863 + BinaryExpression 370812 370862 + PropertyAccessExpression 370812 370825 + Identifier 370812 370819 + Identifier 370820 370825 + AmpersandToken 370825 370827 + PropertyAccessExpression 370827 370862 + Identifier 370827 370844 + Identifier 370845 370862 + BarBarToken 370863 370866 + ParenthesizedExpression 370866 370902 + CallExpression 370868 370901 + PropertyAccessExpression 370868 370893 + PropertyAccessExpression 370868 370888 + Identifier 370868 370875 + Identifier 370876 370888 + QuestionDotToken 370888 370890 + Identifier 370890 370893 + Identifier 370894 370900 + AmpersandAmpersandToken 370903 370906 + ParenthesizedExpression 370906 371112 + BinaryExpression 370989 371111 + PrefixUnaryExpression 370989 371046 + ParenthesizedExpression 370990 371046 + BinaryExpression 370991 371045 + PropertyAccessExpression 370991 371004 + Identifier 370991 370998 + Identifier 370999 371004 + AmpersandToken 371004 371006 + PropertyAccessExpression 371006 371045 + Identifier 371006 371023 + Identifier 371024 371045 + BarBarToken 371046 371049 + CallExpression 371049 371111 + Identifier 371049 371073 + Identifier 371074 371080 + PropertyAccessExpression 371081 371110 + Identifier 371081 371089 + Identifier 371090 371110 + FunctionDeclaration 371275 376364 + Identifier 371299 371321 + TypeParameter 371322 371336 + Identifier 371322 371323 + TypeReference 371331 371336 + Identifier 371331 371336 + Parameter 371338 371345 + Identifier 371338 371342 + TypeReference 371343 371345 + Identifier 371343 371345 + Parameter 371346 371379 + Identifier 371346 371356 + FunctionType 371357 371379 + Parameter 371359 371366 + Identifier 371359 371363 + TypeReference 371364 371366 + Identifier 371364 371366 + TypeReference 371370 371379 + Identifier 371370 371379 + Block 371380 376364 + VariableStatement 371382 371423 + VariableDeclarationList 371382 371422 + VariableDeclaration 371405 371422 + Identifier 371405 371412 + PropertyAccessExpression 371414 371422 + Identifier 371414 371419 + Identifier 371420 371422 + VariableStatement 371423 371570 + VariableDeclarationList 371423 371569 + VariableDeclaration 371446 371569 + Identifier 371446 371466 + BinaryExpression 371468 371569 + BinaryExpression 371468 371528 + BinaryExpression 371468 371513 + CallExpression 371468 371489 + Identifier 371468 371483 + Identifier 371484 371488 + AmpersandToken 371489 371491 + PropertyAccessExpression 371491 371513 + Identifier 371491 371503 + Identifier 371504 371513 + AmpersandAmpersandToken 371513 371516 + PropertyAccessExpression 371516 371528 + Identifier 371516 371521 + Identifier 371522 371528 + AmpersandAmpersandToken 371528 371531 + BinaryExpression 371531 371569 + PropertyAccessExpression 371531 371549 + PropertyAccessExpression 371531 371543 + Identifier 371531 371536 + Identifier 371537 371543 + Identifier 371544 371549 + AmpersandToken 371549 371551 + PropertyAccessExpression 371551 371569 + Identifier 371551 371563 + Identifier 371564 371569 + VariableStatement 371570 371980 + VariableDeclarationList 371570 371979 + VariableDeclaration 371593 371979 + Identifier 371593 371596 + ConditionalExpression 371598 371979 + BinaryExpression 371598 371679 + BinaryExpression 371598 371643 + CallExpression 371598 371619 + Identifier 371598 371613 + Identifier 371614 371618 + AmpersandToken 371619 371621 + PropertyAccessExpression 371621 371643 + Identifier 371621 371633 + Identifier 371634 371643 + AmpersandAmpersandToken 371643 371646 + PropertyAccessExpression 371646 371679 + ParenthesizedExpression 371646 371674 + AsExpression 371648 371673 + Identifier 371648 371652 + IntersectionType 371655 371673 + TypeReference 371655 371669 + Identifier 371655 371669 + TypeReference 371671 371673 + Identifier 371671 371673 + Identifier 371675 371679 + QuestionToken 371679 371681 + BinaryExpression 371681 371732 + StringLiteral 371681 371685 + PlusToken 371685 371687 + CallExpression 371687 371732 + Identifier 371687 371697 + NonNullExpression 371698 371731 + PropertyAccessExpression 371698 371730 + ParenthesizedExpression 371698 371725 + AsExpression 371699 371724 + Identifier 371699 371703 + IntersectionType 371706 371724 + TypeReference 371706 371720 + Identifier 371706 371720 + TypeReference 371722 371724 + Identifier 371722 371724 + Identifier 371726 371730 + ColonToken 371732 371734 + ConditionalExpression 371734 371979 + BinaryExpression 371734 371790 + PropertyAccessExpression 371734 371766 + Identifier 371734 371760 + Identifier 371761 371766 + AmpersandToken 371766 371768 + PropertyAccessExpression 371768 371790 + Identifier 371768 371778 + Identifier 371779 371790 + QuestionToken 371790 371792 + BinaryExpression 371792 371849 + StringLiteral 371792 371796 + PlusToken 371796 371798 + CallExpression 371798 371849 + Identifier 371798 371808 + PropertyAccessExpression 371809 371848 + PropertyAccessExpression 371809 371843 + ParenthesizedExpression 371809 371838 + AsExpression 371810 371837 + Identifier 371810 371814 + IntersectionType 371817 371837 + TypeReference 371817 371833 + Identifier 371817 371833 + TypeReference 371835 371837 + Identifier 371835 371837 + Identifier 371839 371843 + Identifier 371844 371848 + ColonToken 371849 371851 + ConditionalExpression 371851 371979 + PropertyAccessExpression 371851 371884 + Identifier 371851 371877 + Identifier 371878 371884 + QuestionToken 371884 371886 + BinaryExpression 371886 371946 + ParenthesizedExpression 371886 371919 + ConditionalExpression 371888 371918 + Identifier 371888 371907 + QuestionToken 371907 371909 + StringLiteral 371909 371913 + ColonToken 371913 371915 + StringLiteral 371915 371918 + PlusToken 371919 371921 + CallExpression 371921 371946 + Identifier 371921 371933 + PropertyAccessExpression 371934 371945 + Identifier 371934 371938 + Identifier 371939 371945 + ColonToken 371946 371948 + Identifier 371948 371979 + IfStatement 371980 372328 + PrefixUnaryExpression 372230 372251 + PropertyAccessExpression 372231 372251 + Identifier 372231 372238 + Identifier 372239 372251 + Block 372252 372328 + ExpressionStatement 372254 372309 + BinaryExpression 372254 372308 + PropertyAccessExpression 372254 372296 + Identifier 372254 372283 + Identifier 372284 372296 + EqualsToken 372296 372298 + NewExpression 372298 372308 + Identifier 372302 372306 + IfStatement 372328 372452 + BinaryExpression 372350 372376 + Identifier 372350 372352 + AmpersandAmpersandToken 372352 372355 + PrefixUnaryExpression 372355 372376 + PropertyAccessExpression 372357 372376 + Identifier 372357 372364 + Identifier 372365 372376 + Block 372377 372452 + ExpressionStatement 372379 372433 + BinaryExpression 372379 372432 + PropertyAccessExpression 372379 372420 + Identifier 372379 372408 + Identifier 372409 372420 + EqualsToken 372420 372422 + NewExpression 372422 372432 + Identifier 372426 372430 + VariableStatement 372452 372561 + VariableDeclarationList 372452 372560 + VariableDeclaration 372477 372560 + Identifier 372477 372483 + BinaryExpression 372485 372560 + PropertyAccessExpression 372485 372514 + Identifier 372485 372493 + Identifier 372494 372514 + AmpersandAmpersandToken 372514 372517 + CallExpression 372517 372560 + Identifier 372517 372530 + PropertyAccessExpression 372531 372559 + Identifier 372531 372538 + Identifier 372539 372559 + VariableStatement 372561 372654 + VariableDeclarationList 372561 372653 + VariableDeclaration 372584 372653 + Identifier 372584 372588 + TemplateExpression 372590 372653 + TemplateHead 372590 372594 + TemplateSpan 372594 372613 + CallExpression 372594 372609 + Identifier 372594 372603 + Identifier 372604 372608 + TemplateMiddle 372609 372613 + TemplateSpan 372613 372630 + PropertyAccessExpression 372613 372626 + Identifier 372613 372620 + Identifier 372621 372626 + TemplateMiddle 372626 372630 + TemplateSpan 372630 372653 + PropertyAccessExpression 372630 372651 + Identifier 372630 372637 + Identifier 372638 372651 + TemplateTail 372651 372653 + IfStatement 372654 372761 + Identifier 372676 372681 + Block 372682 372761 + ExpressionStatement 372684 372742 + BinaryExpression 372684 372741 + PropertyAccessExpression 372684 372727 + Identifier 372684 372711 + Identifier 372712 372727 + BarBarEqualsToken 372727 372731 + NewExpression 372731 372741 + Identifier 372735 372739 + VariableStatement 372761 372833 + VariableDeclarationList 372761 372832 + VariableDeclaration 372784 372832 + Identifier 372784 372797 + CallExpression 372799 372832 + PropertyAccessExpression 372799 372827 + PropertyAccessExpression 372799 372822 + Identifier 372799 372805 + QuestionDotToken 372805 372807 + Identifier 372807 372822 + QuestionDotToken 372822 372824 + Identifier 372824 372827 + Identifier 372828 372831 + IfStatement 372833 373645 + Identifier 372855 372867 + Block 372868 373645 + ExpressionStatement 372870 373354 + CallExpression 372870 373353 + PropertyAccessExpression 372870 373031 + PropertyAccessExpression 372870 373022 + Identifier 372870 373007 + Identifier 373008 373022 + QuestionDotToken 373022 373024 + Identifier 373024 373031 + ArrowFunction 373032 373329 + Parameter 373059 373098 + ArrayBindingPattern 373059 373098 + BindingElement 373060 373066 + Identifier 373060 373066 + BindingElement 373067 373088 + Identifier 373067 373088 + BindingElement 373089 373097 + Identifier 373089 373097 + EqualsGreaterThanToken 373099 373102 + CallExpression 373102 373329 + PropertyAccessExpression 373102 373159 + PropertyAccessExpression 373102 373147 + Identifier 373102 373139 + Identifier 373140 373147 + Identifier 373148 373159 + Identifier 373160 373200 + Identifier 373201 373255 + Identifier 373256 373297 + IfStatement 373354 373481 + PropertyAccessExpression 373380 373403 + Identifier 373380 373392 + Identifier 373393 373403 + Block 373404 373481 + ExpressionStatement 373406 373458 + BinaryExpression 373406 373457 + PropertyAccessExpression 373406 373450 + Identifier 373406 373439 + Identifier 373440 373450 + EqualsToken 373450 373452 + TrueKeyword 373452 373457 + ExpressionStatement 373481 373557 + BinaryExpression 373481 373556 + PropertyAccessExpression 373481 373528 + Identifier 373481 373510 + Identifier 373511 373528 + PlusEqualsToken 373528 373531 + PropertyAccessExpression 373531 373556 + Identifier 373531 373544 + Identifier 373545 373556 + ReturnStatement 373557 373626 + CallExpression 373585 373625 + Identifier 373585 373606 + PropertyAccessExpression 373607 373624 + Identifier 373607 373619 + Identifier 373620 373624 + VariableStatement 373645 373695 + VariableDeclarationList 373645 373694 + VariableDeclaration 373668 373694 + Identifier 373668 373674 + UnionType 373675 373694 + NumberKeyword 373675 373682 + UndefinedKeyword 373684 373694 + IfStatement 373695 374006 + Identifier 373717 373719 + Block 373720 374006 + ExpressionStatement 373722 373786 + BinaryExpression 373722 373785 + Identifier 373722 373749 + EqualsToken 373749 373751 + BinaryExpression 373751 373785 + CallExpression 373751 373780 + PropertyAccessExpression 373751 373776 + NonNullExpression 373751 373772 + PropertyAccessExpression 373751 373771 + Identifier 373751 373759 + Identifier 373760 373771 + Identifier 373773 373776 + Identifier 373777 373779 + BarBarToken 373780 373783 + NumericLiteral 373783 373785 + IfStatement 373786 373925 + BinaryExpression 373812 373822 + Identifier 373812 373817 + GreaterThanToken 373817 373819 + NumericLiteral 373819 373822 + Block 373823 373925 + ReturnStatement 373825 373902 + CallExpression 373857 373901 + Identifier 373857 373892 + Identifier 373893 373900 + ExpressionStatement 373925 373987 + CallExpression 373925 373986 + PropertyAccessExpression 373925 373971 + NonNullExpression 373925 373967 + PropertyAccessExpression 373925 373966 + Identifier 373925 373954 + Identifier 373955 373966 + Identifier 373968 373971 + Identifier 373972 373974 + BinaryExpression 373975 373985 + Identifier 373975 373981 + PlusToken 373981 373983 + NumericLiteral 373983 373985 + ExpressionStatement 374006 374057 + CallExpression 374006 374056 + PropertyAccessExpression 374006 374048 + PropertyAccessExpression 374006 374044 + Identifier 374006 374031 + Identifier 374032 374044 + Identifier 374045 374048 + Identifier 374049 374055 + VariableStatement 374057 374125 + VariableDeclarationList 374057 374124 + VariableDeclaration 374080 374124 + Identifier 374080 374099 + PropertyAccessExpression 374101 374124 + Identifier 374101 374109 + Identifier 374110 374124 + ExpressionStatement 374125 374178 + BinaryExpression 374125 374177 + PropertyAccessExpression 374125 374165 + Identifier 374125 374150 + Identifier 374151 374165 + EqualsToken 374165 374167 + Identifier 374167 374177 + VariableStatement 374178 374242 + VariableDeclarationList 374178 374241 + VariableDeclaration 374201 374241 + Identifier 374201 374213 + PropertyAccessExpression 374215 374241 + Identifier 374215 374223 + Identifier 374224 374241 + VariableStatement 374242 374291 + VariableDeclarationList 374242 374290 + VariableDeclaration 374265 374290 + Identifier 374265 374272 + CallExpression 374274 374290 + Identifier 374274 374284 + Identifier 374285 374289 + VariableStatement 374291 374369 + VariableDeclarationList 374291 374368 + VariableDeclaration 374314 374368 + Identifier 374314 374326 + BinaryExpression 374328 374368 + PropertyAccessExpression 374328 374354 + Identifier 374328 374336 + Identifier 374337 374354 + MinusToken 374354 374356 + Identifier 374356 374368 + IfStatement 374369 374749 + BinaryExpression 374391 374447 + PrefixUnaryExpression 374391 374418 + PropertyAccessExpression 374392 374418 + Identifier 374392 374399 + Identifier 374400 374418 + AmpersandAmpersandToken 374418 374421 + PrefixUnaryExpression 374421 374447 + PropertyAccessExpression 374423 374447 + Identifier 374423 374430 + Identifier 374431 374447 + Block 374448 374749 + ExpressionStatement 374450 374730 + CallExpression 374450 374729 + PropertyAccessExpression 374450 374499 + PropertyAccessExpression 374450 374494 + Identifier 374450 374477 + QuestionDotToken 374477 374479 + Identifier 374479 374494 + QuestionDotToken 374494 374496 + Identifier 374496 374499 + Identifier 374500 374503 + ObjectLiteralExpression 374504 374728 + PropertyAssignment 374506 374544 + Identifier 374506 374536 + Identifier 374537 374544 + PropertyAssignment 374545 374601 + Identifier 374545 374581 + PropertyAccessExpression 374582 374601 + Identifier 374582 374590 + Identifier 374591 374601 + ShorthandPropertyAssignment 374602 374639 + Identifier 374602 374639 + PropertyAssignment 374640 374704 + Identifier 374640 374680 + PropertyAccessExpression 374681 374704 + Identifier 374681 374689 + Identifier 374690 374704 + ExpressionStatement 374749 374803 + CallExpression 374749 374802 + PropertyAccessExpression 374749 374794 + PropertyAccessExpression 374749 374787 + Identifier 374749 374774 + Identifier 374775 374787 + Identifier 374788 374794 + Identifier 374795 374801 + IfStatement 374803 374908 + Identifier 374825 374827 + Block 374828 374908 + ExpressionStatement 374830 374889 + CallExpression 374830 374888 + PropertyAccessExpression 374830 374876 + NonNullExpression 374830 374872 + PropertyAccessExpression 374830 374871 + Identifier 374830 374859 + Identifier 374860 374871 + Identifier 374873 374876 + Identifier 374877 374879 + NonNullExpression 374880 374887 + Identifier 374880 374886 + ExpressionStatement 374908 374970 + BinaryExpression 374908 374969 + PropertyAccessExpression 374908 374948 + Identifier 374908 374933 + Identifier 374934 374948 + EqualsToken 374948 374950 + Identifier 374950 374969 + ReturnStatement 374970 375002 + Identifier 374994 375001 + FunctionDeclaration 375002 375443 + Identifier 375030 375051 + TypeParameter 375052 375066 + Identifier 375052 375053 + TypeReference 375061 375066 + Identifier 375061 375066 + Parameter 375068 375075 + Identifier 375068 375072 + TypeReference 375073 375075 + Identifier 375073 375075 + TypeReference 375077 375079 + Identifier 375077 375079 + Block 375079 375443 + IfStatement 375081 375230 + BinaryExpression 375107 375166 + PrefixUnaryExpression 375107 375131 + CallExpression 375108 375131 + Identifier 375108 375125 + Identifier 375126 375130 + AmpersandAmpersandToken 375131 375134 + BinaryExpression 375134 375166 + CallExpression 375134 375157 + Identifier 375134 375151 + Identifier 375152 375156 + EqualsEqualsEqualsToken 375157 375161 + Identifier 375161 375166 + Block 375167 375230 + ReturnStatement 375169 375207 + Identifier 375201 375206 + ReturnStatement 375230 375424 + CallExpression 375258 375423 + Identifier 375258 375271 + Identifier 375272 375279 + CallExpression 375280 375416 + PropertyAccessExpression 375280 375298 + Identifier 375280 375288 + Identifier 375289 375298 + CallExpression 375299 375415 + Identifier 375299 375319 + Identifier 375320 375324 + Identifier 375325 375346 + Identifier 375347 375369 + Identifier 375370 375392 + Identifier 375393 375414 + Identifier 375417 375422 + FunctionDeclaration 375443 376349 + Identifier 375471 375493 + Parameter 375494 375550 + Identifier 375494 375521 + UnionType 375522 375550 + TypeReference 375522 375538 + Identifier 375522 375532 + TypeReference 375533 375537 + Identifier 375533 375537 + UndefinedKeyword 375540 375550 + Parameter 375551 375589 + Identifier 375551 375580 + TypeReference 375581 375589 + Identifier 375581 375589 + Parameter 375590 375642 + Identifier 375590 375616 + QuestionToken 375616 375617 + FunctionType 375618 375642 + Parameter 375620 375630 + Identifier 375620 375624 + TypeReference 375625 375630 + Identifier 375625 375630 + BooleanKeyword 375634 375642 + Parameter 375643 375679 + Identifier 375643 375670 + QuestionToken 375670 375671 + NumberKeyword 375672 375679 + Parameter 375680 375716 + Identifier 375680 375707 + QuestionToken 375707 375708 + NumberKeyword 375709 375716 + UnionType 375737 375765 + TypeReference 375737 375753 + Identifier 375737 375747 + TypeReference 375748 375752 + Identifier 375748 375752 + UndefinedKeyword 375755 375765 + Block 375765 376349 + IfStatement 375767 376254 + BinaryExpression 375793 375820 + Identifier 375793 375798 + AmpersandAmpersandToken 375798 375801 + BinaryExpression 375801 375820 + PropertyAccessExpression 375801 375814 + Identifier 375801 375807 + Identifier 375808 375814 + EqualsEqualsEqualsToken 375814 375818 + NumericLiteral 375818 375820 + Block 375821 376254 + ReturnStatement 375823 376231 + CallExpression 376131 376230 + Identifier 376131 376150 + CallExpression 376151 376222 + PropertyAccessExpression 376151 376174 + Identifier 376151 376158 + Identifier 376159 376174 + Identifier 376175 376197 + PropertyAccessExpression 376198 376221 + Identifier 376198 376204 + Identifier 376205 376221 + Identifier 376223 376229 + ReturnStatement 376254 376330 + CallExpression 376282 376329 + Identifier 376282 376293 + Identifier 376294 376299 + Identifier 376300 376308 + Identifier 376309 376314 + Identifier 376315 376321 + Identifier 376322 376328 + FunctionDeclaration 376364 380174 + Identifier 376388 376417 + Parameter 376418 376434 + Identifier 376418 376422 + TypeReference 376423 376434 + Identifier 376423 376434 + TypeReference 376436 376445 + Identifier 376436 376445 + Block 376445 380174 + IfStatement 376447 376632 + BinaryExpression 376469 376532 + CallExpression 376469 376494 + Identifier 376469 376488 + Identifier 376489 376493 + BarBarToken 376494 376497 + PropertyAccessExpression 376497 376532 + ParenthesizedExpression 376497 376518 + AsExpression 376499 376517 + Identifier 376499 376503 + TypeReference 376506 376517 + Identifier 376506 376517 + Identifier 376519 376532 + Block 376533 376632 + ReturnStatement 376535 376613 + CallExpression 376563 376612 + Identifier 376563 376592 + AsExpression 376593 376611 + Identifier 376593 376597 + TypeReference 376600 376611 + Identifier 376600 376611 + VariableStatement 376632 376704 + VariableDeclarationList 376632 376703 + VariableDeclaration 376657 376703 + Identifier 376657 376666 + CallExpression 376668 376703 + Identifier 376668 376697 + Identifier 376698 376702 + IfStatement 376704 377917 + BinaryExpression 376726 376784 + PrefixUnaryExpression 376726 376753 + PropertyAccessExpression 376727 376753 + PropertyAccessExpression 376727 376746 + Identifier 376727 376735 + Identifier 376736 376746 + Identifier 376747 376753 + AmpersandAmpersandToken 376753 376756 + PrefixUnaryExpression 376756 376784 + PropertyAccessExpression 376758 376784 + PropertyAccessExpression 376758 376777 + Identifier 376758 376766 + Identifier 376767 376777 + Identifier 376778 376784 + Block 376785 377917 + IfStatement 376787 377089 + BinaryExpression 376813 376884 + PrefixUnaryExpression 376813 376844 + PropertyAccessExpression 376814 376844 + PropertyAccessExpression 376814 376837 + Identifier 376814 376822 + Identifier 376823 376837 + Identifier 376838 376844 + AmpersandAmpersandToken 376844 376847 + PrefixUnaryExpression 376847 376884 + PropertyAccessExpression 376849 376884 + PropertyAccessExpression 376849 376877 + Identifier 376849 376857 + Identifier 376858 376877 + Identifier 376878 376884 + Block 376885 377089 + ExpressionStatement 376887 376944 + BinaryExpression 376887 376943 + PropertyAccessExpression 376887 376938 + Identifier 376887 376920 + Identifier 376921 376938 + PlusEqualsToken 376938 376941 + NumericLiteral 376941 376943 + ReturnStatement 376944 377066 + CallExpression 376976 377065 + Identifier 376976 376989 + CallExpression 376990 377042 + PropertyAccessExpression 376990 377019 + Identifier 376990 376997 + Identifier 376998 377019 + Identifier 377020 377041 + PropertyAccessExpression 377043 377064 + Identifier 377043 377053 + Identifier 377054 377064 + IfStatement 377089 377488 + BinaryExpression 377117 377193 + BinaryExpression 377117 377153 + PropertyAccessExpression 377117 377147 + PropertyAccessExpression 377117 377140 + Identifier 377117 377125 + Identifier 377126 377140 + Identifier 377141 377147 + EqualsEqualsEqualsToken 377147 377151 + NumericLiteral 377151 377153 + AmpersandAmpersandToken 377153 377156 + PrefixUnaryExpression 377156 377193 + PropertyAccessExpression 377158 377193 + PropertyAccessExpression 377158 377186 + Identifier 377158 377166 + Identifier 377167 377186 + Identifier 377187 377193 + Block 377194 377488 + VariableStatement 377196 377267 + VariableDeclarationList 377196 377266 + VariableDeclaration 377227 377266 + Identifier 377227 377237 + ElementAccessExpression 377239 377266 + PropertyAccessExpression 377239 377263 + Identifier 377239 377248 + Identifier 377249 377263 + NumericLiteral 377264 377265 + VariableStatement 377267 377418 + VariableDeclarationList 377267 377417 + VariableDeclaration 377298 377417 + Identifier 377298 377312 + AsExpression 377314 377417 + CallExpression 377314 377397 + Identifier 377314 377352 + Identifier 377353 377362 + PropertyAccessExpression 377363 377387 + Identifier 377363 377374 + Identifier 377375 377387 + Identifier 377388 377396 + TypeReference 377400 377417 + Identifier 377400 377417 + ReturnStatement 377418 377465 + Identifier 377450 377464 + IfStatement 377488 377898 + BinaryExpression 377516 377592 + BinaryExpression 377516 377557 + PropertyAccessExpression 377516 377551 + PropertyAccessExpression 377516 377544 + Identifier 377516 377524 + Identifier 377525 377544 + Identifier 377545 377551 + EqualsEqualsEqualsToken 377551 377555 + NumericLiteral 377555 377557 + AmpersandAmpersandToken 377557 377560 + PrefixUnaryExpression 377560 377592 + PropertyAccessExpression 377562 377592 + PropertyAccessExpression 377562 377585 + Identifier 377562 377570 + Identifier 377571 377585 + Identifier 377586 377592 + Block 377593 377898 + VariableStatement 377595 377671 + VariableDeclarationList 377595 377670 + VariableDeclaration 377626 377670 + Identifier 377626 377636 + ElementAccessExpression 377638 377670 + PropertyAccessExpression 377638 377667 + Identifier 377638 377647 + Identifier 377648 377667 + NumericLiteral 377668 377669 + VariableStatement 377671 377828 + VariableDeclarationList 377671 377827 + VariableDeclaration 377702 377827 + Identifier 377702 377716 + AsExpression 377718 377827 + CallExpression 377718 377804 + Identifier 377718 377756 + Identifier 377757 377766 + PropertyAccessExpression 377767 377794 + Identifier 377767 377778 + Identifier 377779 377794 + Identifier 377795 377803 + TypeReference 377807 377827 + Identifier 377807 377827 + ReturnStatement 377828 377875 + Identifier 377860 377874 + VariableStatement 377917 378061 + VariableDeclarationList 377917 378060 + VariableDeclaration 377942 378060 + Identifier 377942 377961 + CallExpression 377963 378060 + Identifier 377963 377970 + PropertyAccessExpression 377971 377999 + Identifier 377971 377979 + Identifier 377980 377999 + ArrowFunction 378000 378059 + Parameter 378000 378010 + Identifier 378000 378010 + EqualsGreaterThanToken 378010 378013 + PrefixUnaryExpression 378013 378059 + PrefixUnaryExpression 378015 378059 + ParenthesizedExpression 378016 378059 + BinaryExpression 378017 378058 + PropertyAccessExpression 378017 378032 + Identifier 378017 378026 + Identifier 378027 378032 + AmpersandToken 378032 378034 + PropertyAccessExpression 378034 378058 + Identifier 378034 378049 + Identifier 378050 378058 + IfStatement 378061 379605 + CallExpression 378083 378107 + Identifier 378083 378087 + Identifier 378088 378106 + Block 378108 379605 + VariableStatement 378110 378208 + VariableDeclarationList 378110 378207 + VariableDeclaration 378137 378207 + Identifier 378137 378143 + CallExpression 378145 378207 + Identifier 378145 378149 + Identifier 378150 378168 + ArrowFunction 378169 378206 + Parameter 378169 378171 + Identifier 378169 378171 + EqualsGreaterThanToken 378171 378174 + CallExpression 378174 378206 + Identifier 378174 378203 + Identifier 378204 378205 + VariableStatement 378208 378964 + VariableDeclarationList 378208 378963 + VariableDeclaration 378325 378963 + Identifier 378325 378342 + BinaryExpression 378344 378963 + BinaryExpression 378344 378522 + BinaryExpression 378344 378468 + PropertyAccessExpression 378344 378375 + PropertyAccessExpression 378344 378368 + Identifier 378344 378353 + Identifier 378354 378368 + Identifier 378369 378375 + PlusToken 378375 378377 + ParenthesizedExpression 378377 378468 + BinaryExpression 378404 378467 + PropertyAccessExpression 378404 378439 + PropertyAccessExpression 378404 378432 + Identifier 378404 378412 + Identifier 378413 378432 + Identifier 378433 378439 + MinusToken 378439 378441 + PropertyAccessExpression 378441 378467 + Identifier 378441 378460 + Identifier 378461 378467 + PlusToken 378468 378470 + PropertyAccessExpression 378470 378522 + PropertyAccessExpression 378470 378515 + Identifier 378470 378504 + Identifier 378505 378515 + Identifier 378516 378522 + PlusToken 378522 378524 + ParenthesizedExpression 378524 378963 + ConditionalExpression 378733 378962 + BinaryExpression 378733 378799 + PropertyAccessExpression 378733 378746 + Identifier 378733 378740 + Identifier 378741 378746 + AmpersandToken 378746 378748 + PropertyAccessExpression 378748 378799 + Identifier 378748 378765 + Identifier 378766 378799 + QuestionToken 378799 378801 + CallExpression 378801 378903 + Identifier 378801 378841 + PropertyAccessExpression 378842 378861 + Identifier 378842 378850 + Identifier 378851 378861 + ArrowFunction 378862 378902 + Parameter 378862 378864 + Identifier 378862 378864 + EqualsGreaterThanToken 378864 378867 + PrefixUnaryExpression 378867 378902 + ParenthesizedExpression 378869 378902 + BinaryExpression 378870 378901 + PropertyAccessExpression 378870 378877 + Identifier 378870 378871 + Identifier 378872 378877 + AmpersandToken 378877 378879 + PropertyAccessExpression 378879 378901 + Identifier 378879 378891 + Identifier 378892 378901 + ColonToken 378903 378905 + CallExpression 378905 378962 + Identifier 378905 378941 + PropertyAccessExpression 378942 378961 + Identifier 378942 378950 + Identifier 378951 378961 + IfStatement 378964 379499 + Identifier 379255 379271 + Block 379272 379499 + ExpressionStatement 379274 379476 + CallExpression 379274 379475 + PropertyAccessExpression 379274 379414 + Identifier 379274 379409 + Identifier 379410 379414 + CallExpression 379415 379474 + Identifier 379415 379464 + Identifier 379465 379473 + ReturnStatement 379499 379586 + CallExpression 379527 379585 + Identifier 379527 379548 + CallExpression 379549 379575 + Identifier 379549 379568 + Identifier 379569 379574 + Identifier 379576 379584 + VariableStatement 379605 379672 + VariableDeclarationList 379605 379671 + VariableDeclaration 379630 379671 + Identifier 379630 379643 + CallExpression 379645 379671 + Identifier 379645 379662 + Identifier 379663 379670 + ExpressionStatement 379672 379744 + BinaryExpression 379672 379743 + PropertyAccessExpression 379672 379703 + Identifier 379672 379697 + Identifier 379698 379703 + BarEqualsToken 379703 379706 + PropertyAccessExpression 379706 379743 + Identifier 379706 379723 + Identifier 379724 379743 + VariableStatement 379744 379820 + VariableDeclarationList 379744 379819 + VariableDeclaration 379767 379819 + Identifier 379767 379775 + CallExpression 379777 379819 + Identifier 379777 379809 + Identifier 379810 379818 + ExpressionStatement 379820 379853 + CallExpression 379820 379852 + Identifier 379820 379850 + VariableStatement 379853 379934 + VariableDeclarationList 379853 379933 + VariableDeclaration 379876 379933 + Identifier 379876 379892 + CallExpression 379894 379933 + PropertyAccessExpression 379894 379924 + Identifier 379894 379902 + Identifier 379903 379924 + Identifier 379925 379932 + ExpressionStatement 379934 379983 + BinaryExpression 379934 379982 + PropertyAccessExpression 379934 379977 + Identifier 379934 379959 + Identifier 379960 379977 + PlusEqualsToken 379977 379980 + NumericLiteral 379980 379982 + ExpressionStatement 379983 380118 + CallExpression 379983 380117 + Identifier 379983 380013 + Identifier 380014 380029 + ConditionalExpression 380030 380116 + ParenthesizedExpression 380030 380089 + BinaryExpression 380032 380088 + PropertyAccessExpression 380032 380045 + Identifier 380032 380039 + Identifier 380040 380045 + AmpersandToken 380045 380047 + PropertyAccessExpression 380047 380088 + Identifier 380047 380064 + Identifier 380065 380088 + QuestionToken 380089 380091 + NumericLiteral 380091 380093 + ColonToken 380093 380095 + PropertyAccessExpression 380095 380116 + Identifier 380095 380105 + Identifier 380106 380116 + ReturnStatement 380118 380159 + Identifier 380142 380158 + FunctionDeclaration 380174 389607 + Identifier 380198 380222 + Parameter 380223 380242 + Identifier 380223 380227 + TypeReference 380228 380242 + Identifier 380228 380242 + Block 380243 389607 + VariableStatement 380245 380323 + VariableDeclarationList 380245 380322 + VariableDeclaration 380266 380322 + Identifier 380266 380280 + TypeOperator 380281 380297 + ArrayType 380290 380297 + TypeReference 380290 380295 + Identifier 380290 380295 + CallExpression 380299 380322 + Identifier 380299 380316 + Identifier 380317 380321 + IfStatement 380323 389592 + BinaryExpression 380345 380419 + BinaryExpression 380345 380376 + PropertyAccessExpression 380345 380356 + Identifier 380345 380349 + Identifier 380350 380356 + EqualsEqualsEqualsToken 380356 380360 + Identifier 380360 380376 + BarBarToken 380376 380379 + BinaryExpression 380379 380419 + PropertyAccessExpression 380379 380391 + Identifier 380379 380384 + Identifier 380385 380391 + EqualsEqualsEqualsToken 380391 380395 + Identifier 380395 380419 + Block 380420 381110 + IfStatement 380422 380775 + BinaryExpression 380448 380504 + PropertyAccessExpression 380448 380461 + Identifier 380448 380455 + Identifier 380456 380461 + AmpersandToken 380461 380463 + PropertyAccessExpression 380463 380504 + Identifier 380463 380480 + Identifier 380481 380504 + Block 380505 380775 + VariableStatement 380507 380606 + VariableDeclarationList 380507 380605 + VariableDeclaration 380538 380605 + Identifier 380538 380555 + CallExpression 380557 380605 + Identifier 380557 380578 + ElementAccessExpression 380579 380595 + Identifier 380579 380592 + NumericLiteral 380593 380594 + Identifier 380596 380604 + ReturnStatement 380606 380752 + CallExpression 380638 380751 + PropertyAccessExpression 380638 380670 + Identifier 380638 380646 + Identifier 380647 380670 + ConditionalExpression 380671 380730 + BinaryExpression 380671 380702 + PropertyAccessExpression 380671 380682 + Identifier 380671 380675 + Identifier 380676 380682 + EqualsEqualsEqualsToken 380682 380686 + Identifier 380686 380702 + QuestionToken 380702 380704 + StringLiteral 380704 380712 + ColonToken 380712 380714 + StringLiteral 380714 380730 + ArrayLiteralExpression 380731 380750 + Identifier 380733 380749 + VariableStatement 380775 380865 + VariableDeclarationList 380775 380864 + VariableDeclaration 380802 380864 + Identifier 380802 380814 + CallExpression 380816 380864 + Identifier 380816 380837 + ElementAccessExpression 380838 380854 + Identifier 380838 380851 + NumericLiteral 380852 380853 + Identifier 380855 380863 + VariableStatement 380865 380946 + VariableDeclarationList 380865 380945 + VariableDeclaration 380892 380945 + Identifier 380892 380902 + CallExpression 380904 380945 + PropertyAccessExpression 380904 380932 + Identifier 380904 380912 + Identifier 380913 380932 + Identifier 380933 380944 + ReturnStatement 380946 381091 + ConditionalExpression 380974 381090 + BinaryExpression 380974 381006 + PropertyAccessExpression 380974 380986 + Identifier 380974 380979 + Identifier 380980 380986 + EqualsEqualsEqualsToken 380986 380990 + Identifier 380990 381006 + QuestionToken 381006 381008 + Identifier 381008 381018 + ColonToken 381018 381020 + CallExpression 381020 381090 + PropertyAccessExpression 381020 381051 + Identifier 381020 381028 + Identifier 381029 381051 + PropertyAccessExpression 381052 381078 + Identifier 381052 381062 + Identifier 381063 381078 + Identifier 381079 381089 + IfStatement 381132 389592 + BinaryExpression 381137 381180 + PropertyAccessExpression 381137 381160 + PropertyAccessExpression 381137 381148 + Identifier 381137 381141 + Identifier 381142 381148 + Identifier 381149 381160 + AmpersandToken 381160 381162 + PropertyAccessExpression 381162 381180 + Identifier 381162 381174 + Identifier 381175 381180 + Block 381181 384281 + ExpressionStatement 381183 381348 + BinaryExpression 381183 381347 + Identifier 381183 381218 + EqualsToken 381218 381220 + CallExpression 381220 381347 + Identifier 381220 381228 + Identifier 381229 381242 + ArrowFunction 381243 381346 + Parameter 381245 381246 + Identifier 381245 381246 + Parameter 381247 381249 + Identifier 381247 381249 + EqualsGreaterThanToken 381250 381253 + CallExpression 381253 381346 + Identifier 381253 381271 + Identifier 381272 381273 + PrefixUnaryExpression 381274 381345 + PrefixUnaryExpression 381276 381345 + ParenthesizedExpression 381277 381345 + BinaryExpression 381278 381344 + ElementAccessExpression 381278 381320 + PropertyAccessExpression 381278 381317 + ParenthesizedExpression 381278 381304 + AsExpression 381279 381303 + PropertyAccessExpression 381279 381290 + Identifier 381279 381283 + Identifier 381284 381290 + TypeReference 381293 381303 + Identifier 381293 381303 + Identifier 381305 381317 + Identifier 381318 381319 + AmpersandToken 381320 381322 + PropertyAccessExpression 381322 381344 + Identifier 381322 381335 + Identifier 381336 381344 + IfStatement 381348 383743 + BinaryExpression 381374 381398 + PropertyAccessExpression 381374 381394 + Identifier 381374 381387 + Identifier 381388 381394 + GreaterThanToken 381394 381396 + NumericLiteral 381396 381398 + Block 381399 383743 + VariableStatement 381401 381469 + VariableDeclarationList 381401 381468 + VariableDeclaration 381432 381468 + Identifier 381432 381438 + CallExpression 381440 381468 + Identifier 381440 381462 + Identifier 381463 381467 + VariableStatement 381469 381580 + VariableDeclarationList 381469 381579 + VariableDeclaration 381500 381579 + Identifier 381500 381522 + CallExpression 381524 381579 + Identifier 381524 381539 + CallExpression 381540 381569 + PropertyAccessExpression 381540 381559 + Identifier 381540 381553 + Identifier 381554 381559 + NumericLiteral 381560 381561 + Identifier 381562 381568 + Identifier 381570 381578 + IfStatement 381580 383720 + Identifier 381610 381631 + Block 381632 383720 + VariableStatement 381634 381728 + VariableDeclarationList 381634 381727 + VariableDeclaration 381669 381727 + ObjectBindingPattern 381669 381700 + BindingElement 381671 381698 + Identifier 381671 381698 + AsExpression 381702 381727 + PropertyAccessExpression 381702 381714 + Identifier 381702 381707 + Identifier 381708 381714 + TypeReference 381717 381727 + Identifier 381717 381727 + ForStatement 381728 383389 + VariableDeclarationList 381763 381772 + VariableDeclaration 381766 381772 + Identifier 381766 381768 + NumericLiteral 381770 381772 + BinaryExpression 381773 381806 + Identifier 381773 381775 + LessThanToken 381775 381777 + PropertyAccessExpression 381777 381806 + Identifier 381777 381799 + Identifier 381800 381806 + PostfixUnaryExpression 381807 381811 + Identifier 381807 381809 + Block 381812 383389 + VariableStatement 381814 381905 + VariableDeclarationList 381814 381904 + VariableDeclaration 381853 381904 + Identifier 381853 381859 + ElementAccessExpression 381861 381904 + PropertyAccessExpression 381861 381901 + ParenthesizedExpression 381861 381888 + AsExpression 381863 381887 + PropertyAccessExpression 381863 381874 + Identifier 381863 381867 + Identifier 381868 381874 + TypeReference 381877 381887 + Identifier 381877 381887 + Identifier 381889 381901 + Identifier 381902 381903 + VariableStatement 381905 382005 + VariableDeclarationList 381905 382004 + VariableDeclaration 381944 382004 + Identifier 381944 381970 + ElementAccessExpression 381972 382004 + Identifier 381972 381999 + QuestionDotToken 381999 382001 + Identifier 382002 382003 + IfStatement 382005 383358 + Identifier 382045 382070 + Block 382071 382849 + ExpressionStatement 382073 382814 + BinaryExpression 382073 382813 + ElementAccessExpression 382073 382135 + Identifier 382073 382132 + Identifier 382133 382134 + EqualsToken 382135 382137 + CallExpression 382137 382813 + PropertyAccessExpression 382137 382168 + Identifier 382137 382145 + Identifier 382146 382168 + ConditionalExpression 382169 382301 + BinaryExpression 382169 382240 + Identifier 382169 382216 + AmpersandToken 382216 382218 + PropertyAccessExpression 382218 382240 + Identifier 382218 382231 + Identifier 382232 382240 + QuestionToken 382240 382242 + CallExpression 382242 382289 + PropertyAccessExpression 382242 382262 + Identifier 382242 382250 + Identifier 382251 382262 + PropertyAccessExpression 382263 382288 + Identifier 382263 382273 + Identifier 382274 382288 + ColonToken 382289 382291 + Identifier 382291 382301 + CallExpression 382302 382445 + PropertyAccessExpression 382302 382368 + Identifier 382302 382351 + Identifier 382352 382368 + CallExpression 382369 382444 + Identifier 382369 382395 + CallExpression 382396 382443 + Identifier 382396 382416 + Identifier 382417 382442 + ConditionalExpression 382446 382577 + BinaryExpression 382446 382517 + Identifier 382446 382493 + AmpersandToken 382493 382495 + PropertyAccessExpression 382495 382517 + Identifier 382495 382508 + Identifier 382509 382517 + QuestionToken 382517 382519 + CallExpression 382519 382565 + PropertyAccessExpression 382519 382539 + Identifier 382519 382527 + Identifier 382528 382539 + PropertyAccessExpression 382540 382564 + Identifier 382540 382550 + Identifier 382551 382564 + ColonToken 382565 382567 + Identifier 382567 382577 + ConditionalExpression 382578 382773 + BinaryExpression 382578 382645 + Identifier 382578 382625 + AmpersandToken 382625 382627 + PropertyAccessExpression 382627 382645 + Identifier 382627 382640 + Identifier 382641 382645 + QuestionToken 382645 382647 + CallExpression 382647 382701 + PropertyAccessExpression 382647 382675 + Identifier 382647 382655 + Identifier 382656 382675 + ElementAccessExpression 382676 382700 + Identifier 382676 382697 + Identifier 382698 382699 + ColonToken 382701 382703 + ElementAccessExpression 382703 382773 + Identifier 382703 382770 + Identifier 382771 382772 + Block 382887 383358 + ExpressionStatement 382889 383323 + BinaryExpression 382889 383322 + ElementAccessExpression 382889 382951 + Identifier 382889 382948 + Identifier 382949 382950 + EqualsToken 382951 382953 + ConditionalExpression 382953 383322 + BinaryExpression 382953 382983 + Identifier 382953 382959 + AmpersandToken 382959 382961 + PropertyAccessExpression 382961 382983 + Identifier 382961 382974 + Identifier 382975 382983 + QuestionToken 382983 382985 + CallExpression 382985 383122 + PropertyAccessExpression 382985 383012 + Identifier 382985 382993 + Identifier 382994 383012 + ConditionalExpression 383013 383121 + BinaryExpression 383013 383038 + Identifier 383013 383018 + AmpersandToken 383018 383020 + PropertyAccessExpression 383020 383038 + Identifier 383020 383033 + Identifier 383034 383038 + QuestionToken 383038 383040 + CallExpression 383040 383094 + PropertyAccessExpression 383040 383068 + Identifier 383040 383048 + Identifier 383049 383068 + ElementAccessExpression 383069 383093 + Identifier 383069 383090 + Identifier 383091 383092 + ColonToken 383094 383096 + ElementAccessExpression 383096 383121 + Identifier 383096 383118 + Identifier 383119 383120 + ColonToken 383122 383124 + ConditionalExpression 383124 383322 + BinaryExpression 383124 383195 + Identifier 383124 383171 + AmpersandToken 383171 383173 + PropertyAccessExpression 383173 383195 + Identifier 383173 383186 + Identifier 383187 383195 + QuestionToken 383195 383197 + CallExpression 383197 383254 + PropertyAccessExpression 383197 383228 + Identifier 383197 383205 + Identifier 383206 383228 + ElementAccessExpression 383229 383253 + Identifier 383229 383250 + Identifier 383251 383252 + ColonToken 383254 383256 + ElementAccessExpression 383256 383322 + Identifier 383256 383319 + Identifier 383320 383321 + VariableStatement 383389 383528 + VariableDeclarationList 383389 383527 + VariableDeclaration 383424 383527 + Identifier 383424 383438 + CallExpression 383440 383527 + Identifier 383440 383453 + CallExpression 383454 383504 + PropertyAccessExpression 383454 383481 + Identifier 383454 383461 + Identifier 383462 383481 + Identifier 383482 383503 + PropertyAccessExpression 383505 383526 + Identifier 383505 383515 + Identifier 383516 383526 + ReturnStatement 383528 383693 + ConditionalExpression 383564 383692 + PropertyAccessExpression 383564 383600 + ParenthesizedExpression 383564 383591 + AsExpression 383566 383590 + PropertyAccessExpression 383566 383577 + Identifier 383566 383570 + Identifier 383571 383577 + TypeReference 383580 383590 + Identifier 383580 383590 + Identifier 383592 383600 + QuestionToken 383600 383602 + CallExpression 383602 383676 + PropertyAccessExpression 383602 383633 + Identifier 383602 383610 + Identifier 383611 383633 + PropertyAccessExpression 383634 383660 + Identifier 383634 383644 + Identifier 383645 383660 + Identifier 383661 383675 + ColonToken 383676 383678 + Identifier 383678 383692 + IfStatement 383743 384150 + BinaryExpression 383769 383847 + PropertyAccessExpression 383769 383793 + Identifier 383769 383776 + Identifier 383777 383793 + BarBarToken 383793 383796 + ParenthesizedExpression 383796 383847 + BinaryExpression 383798 383846 + PropertyAccessExpression 383798 383811 + Identifier 383798 383805 + Identifier 383806 383811 + AmpersandToken 383811 383813 + PropertyAccessExpression 383813 383846 + Identifier 383813 383830 + Identifier 383831 383846 + Block 383848 384150 + VariableStatement 383850 383966 + VariableDeclarationList 383850 383965 + VariableDeclaration 383881 383965 + Identifier 383881 383895 + CallExpression 383897 383965 + Identifier 383897 383910 + CallExpression 383911 383942 + PropertyAccessExpression 383911 383938 + Identifier 383911 383918 + Identifier 383919 383938 + ArrayLiteralExpression 383939 383941 + PropertyAccessExpression 383943 383964 + Identifier 383943 383953 + Identifier 383954 383964 + ReturnStatement 383966 384127 + ConditionalExpression 383998 384126 + PropertyAccessExpression 383998 384034 + ParenthesizedExpression 383998 384025 + AsExpression 384000 384024 + PropertyAccessExpression 384000 384011 + Identifier 384000 384004 + Identifier 384005 384011 + TypeReference 384014 384024 + Identifier 384014 384024 + Identifier 384026 384034 + QuestionToken 384034 384036 + CallExpression 384036 384110 + PropertyAccessExpression 384036 384067 + Identifier 384036 384044 + Identifier 384045 384067 + PropertyAccessExpression 384068 384094 + Identifier 384068 384078 + Identifier 384079 384094 + Identifier 384095 384109 + ColonToken 384110 384112 + Identifier 384112 384126 + ExpressionStatement 384150 384204 + BinaryExpression 384150 384203 + PropertyAccessExpression 384150 384196 + Identifier 384150 384179 + Identifier 384180 384196 + EqualsToken 384196 384198 + TrueKeyword 384198 384203 + ReturnStatement 384204 384244 + NonNullExpression 384232 384243 + Identifier 384232 384242 + IfStatement 384303 389592 + BinaryExpression 384308 384607 + BinaryExpression 384308 384515 + BinaryExpression 384308 384449 + BinaryExpression 384308 384396 + PropertyAccessExpression 384308 384343 + Identifier 384308 384337 + Identifier 384338 384343 + AmpersandToken 384343 384345 + PropertyAccessExpression 384345 384396 + Identifier 384345 384362 + Identifier 384363 384396 + AmpersandAmpersandToken 384396 384399 + PropertyAccessExpression 384399 384449 + PropertyAccessExpression 384399 384432 + Identifier 384399 384425 + Identifier 384426 384432 + Identifier 384433 384449 + AmpersandAmpersandToken 384449 384452 + CallExpression 384452 384515 + Identifier 384452 384485 + PropertyAccessExpression 384486 384514 + PropertyAccessExpression 384486 384497 + Identifier 384486 384490 + Identifier 384491 384497 + Identifier 384498 384514 + AmpersandAmpersandToken 384515 384518 + PrefixUnaryExpression 384518 384607 + CallExpression 384541 384607 + Identifier 384541 384564 + PropertyAccessExpression 384565 384576 + Identifier 384565 384569 + Identifier 384570 384576 + PropertyAccessExpression 384577 384606 + Identifier 384577 384585 + Identifier 384586 384606 + Block 384626 384706 + ReturnStatement 384628 384687 + CallExpression 384656 384686 + Identifier 384656 384680 + Identifier 384681 384685 + Block 384728 389592 + VariableStatement 384730 384812 + VariableDeclarationList 384730 384811 + VariableDeclaration 384757 384811 + Identifier 384757 384777 + PropertyAccessExpression 384779 384811 + PropertyAccessExpression 384779 384791 + Identifier 384779 384784 + Identifier 384785 384791 + Identifier 384792 384811 + VariableStatement 384812 384844 + VariableDeclarationList 384812 384843 + VariableDeclaration 384837 384843 + Identifier 384837 384839 + NumericLiteral 384841 384843 + VariableStatement 384844 384929 + VariableDeclarationList 384844 384928 + VariableDeclaration 384869 384928 + Identifier 384869 384880 + UnionType 384881 384928 + TypeReference 384881 384899 + Identifier 384881 384899 + TypeReference 384901 384916 + Identifier 384901 384916 + UndefinedKeyword 384918 384928 + IfStatement 384929 386590 + Identifier 384955 384974 + Block 384975 386590 + VariableStatement 384977 385045 + VariableDeclarationList 384977 385044 + VariableDeclaration 385008 385044 + Identifier 385008 385015 + PropertyAccessExpression 385017 385044 + Identifier 385017 385037 + Identifier 385038 385044 + WhileStatement 385045 386567 + BinaryExpression 385078 385088 + Identifier 385078 385079 + LessThanToken 385079 385081 + Identifier 385081 385088 + Block 385089 386567 + VariableStatement 385091 385253 + VariableDeclarationList 385091 385252 + VariableDeclaration 385242 385252 + Identifier 385242 385248 + Identifier 385250 385252 + VariableStatement 385253 385354 + VariableDeclarationList 385253 385353 + VariableDeclaration 385288 385353 + Identifier 385288 385295 + NonNullExpression 385297 385353 + CallExpression 385297 385352 + Identifier 385297 385328 + ElementAccessExpression 385329 385351 + Identifier 385329 385348 + Identifier 385349 385350 + DoStatement 385354 385575 + Block 385386 385457 + ExpressionStatement 385388 385426 + PostfixUnaryExpression 385388 385425 + Identifier 385388 385423 + BinaryExpression 385494 385573 + BinaryExpression 385494 385504 + Identifier 385494 385495 + LessThanToken 385495 385497 + Identifier 385497 385504 + AmpersandAmpersandToken 385504 385507 + BinaryExpression 385507 385573 + CallExpression 385507 385562 + Identifier 385507 385538 + ElementAccessExpression 385539 385561 + Identifier 385539 385558 + Identifier 385559 385560 + EqualsEqualsEqualsToken 385562 385566 + Identifier 385566 385573 + IfStatement 385575 386540 + PrefixUnaryExpression 385817 385875 + CallExpression 385818 385875 + Identifier 385818 385829 + Identifier 385830 385849 + Identifier 385850 385864 + Identifier 385865 385871 + Identifier 385872 385874 + Block 385876 386540 + VariableStatement 385878 385993 + VariableDeclarationList 385878 385992 + VariableDeclaration 385917 385992 + Identifier 385917 385935 + CallExpression 385937 385992 + Identifier 385937 385952 + CallExpression 385953 385982 + PropertyAccessExpression 385953 385972 + Identifier 385953 385966 + Identifier 385967 385972 + Identifier 385973 385978 + Identifier 385979 385981 + Identifier 385983 385991 + VariableStatement 385993 386074 + VariableDeclarationList 385993 386073 + VariableDeclaration 386032 386073 + Identifier 386032 386045 + CallExpression 386047 386073 + Identifier 386047 386064 + Identifier 386065 386072 + ExpressionStatement 386074 386178 + BinaryExpression 386074 386177 + PropertyAccessExpression 386074 386121 + Identifier 386074 386115 + Identifier 386116 386121 + BarEqualsToken 386121 386124 + PropertyAccessExpression 386124 386177 + Identifier 386124 386141 + Identifier 386142 386177 + VariableStatement 386178 386333 + VariableDeclarationList 386178 386332 + VariableDeclaration 386217 386332 + Identifier 386217 386221 + AsExpression 386223 386332 + CallExpression 386223 386294 + Identifier 386223 386240 + Identifier 386241 386247 + Identifier 386248 386256 + PropertyAccessExpression 386257 386274 + Identifier 386257 386269 + Identifier 386270 386274 + Identifier 386275 386293 + UnionType 386297 386332 + TypeReference 386297 386315 + Identifier 386297 386315 + TypeReference 386317 386332 + Identifier 386317 386332 + ExpressionStatement 386333 386382 + CallExpression 386333 386381 + Identifier 386333 386379 + ExpressionStatement 386382 386509 + BinaryExpression 386382 386508 + Identifier 386382 386426 + EqualsToken 386426 386428 + ConditionalExpression 386428 386508 + PrefixUnaryExpression 386428 386440 + Identifier 386430 386440 + QuestionToken 386440 386442 + Identifier 386442 386446 + ColonToken 386446 386448 + CallExpression 386448 386508 + Identifier 386448 386470 + Identifier 386471 386481 + AsExpression 386482 386507 + Identifier 386482 386486 + TypeReference 386489 386507 + Identifier 386489 386507 + VariableStatement 386590 386667 + VariableDeclarationList 386590 386666 + VariableDeclaration 386615 386666 + Identifier 386615 386633 + UnionType 386634 386666 + TypeOperator 386634 386654 + ArrayType 386643 386654 + TypeReference 386643 386652 + Identifier 386643 386652 + UndefinedKeyword 386656 386666 + IfStatement 386667 389141 + BinaryExpression 386693 386717 + PropertyAccessExpression 386693 386713 + Identifier 386693 386706 + Identifier 386707 386713 + GreaterThanToken 386713 386715 + NumericLiteral 386715 386717 + Block 386718 389141 + VariableStatement 386720 386773 + VariableDeclarationList 386720 386772 + VariableDeclaration 386749 386772 + Identifier 386749 386768 + NumericLiteral 386770 386772 + IfStatement 386773 389002 + PropertyAccessExpression 386803 386829 + PropertyAccessExpression 386803 386814 + Identifier 386803 386807 + Identifier 386808 386814 + Identifier 386815 386829 + Block 386830 389002 + ExpressionStatement 386832 386949 + BinaryExpression 386832 386948 + Identifier 386832 386880 + EqualsToken 386880 386882 + CallExpression 386882 386948 + PropertyAccessExpression 386882 386891 + Identifier 386882 386887 + Identifier 386888 386891 + PropertyAccessExpression 386892 386925 + PropertyAccessExpression 386892 386918 + PropertyAccessExpression 386892 386903 + Identifier 386892 386896 + Identifier 386897 386903 + Identifier 386904 386918 + Identifier 386919 386925 + PropertyAccessExpression 386926 386947 + Identifier 386926 386940 + Identifier 386941 386947 + IfStatement 386949 388975 + BinaryExpression 387449 387900 + BinaryExpression 387449 387780 + BinaryExpression 387449 387668 + CallExpression 387449 387553 + Identifier 387449 387500 + Identifier 387501 387505 + CallExpression 387506 387552 + Identifier 387506 387528 + FalseKeyword 387529 387551 + BarBarToken 387553 387556 + CallExpression 387556 387668 + Identifier 387556 387607 + Identifier 387608 387612 + CallExpression 387613 387667 + Identifier 387613 387643 + FalseKeyword 387644 387666 + BarBarToken 387668 387671 + CallExpression 387671 387780 + Identifier 387671 387722 + Identifier 387723 387727 + CallExpression 387728 387779 + Identifier 387728 387755 + FalseKeyword 387756 387778 + BarBarToken 387780 387783 + CallExpression 387783 387900 + Identifier 387783 387834 + Identifier 387835 387839 + CallExpression 387840 387899 + Identifier 387840 387875 + FalseKeyword 387876 387898 + Block 387931 388975 + IfStatement 387933 388944 + BinaryExpression 387971 388174 + BinaryExpression 387971 388082 + BinaryExpression 387971 388054 + PrefixUnaryExpression 387971 388019 + PropertyAccessExpression 388010 388019 + Identifier 388010 388014 + Identifier 388015 388019 + BarBarToken 388019 388022 + PrefixUnaryExpression 388022 388054 + CallExpression 388024 388054 + Identifier 388024 388043 + PropertyAccessExpression 388044 388053 + Identifier 388044 388048 + Identifier 388049 388053 + BarBarToken 388054 388057 + PrefixUnaryExpression 388057 388082 + PropertyAccessExpression 388059 388082 + PropertyAccessExpression 388059 388068 + Identifier 388059 388063 + Identifier 388064 388068 + Identifier 388069 388082 + BarBarToken 388082 388085 + BinaryExpression 388085 388174 + PropertyAccessExpression 388085 388153 + PropertyAccessExpression 388085 388146 + PropertyAccessExpression 388085 388132 + Identifier 388085 388127 + Identifier 388128 388132 + Identifier 388133 388146 + Identifier 388147 388153 + LessThanToken 388153 388155 + Identifier 388155 388174 + Block 388209 388944 + WhileStatement 388211 388909 + BinaryExpression 388256 388278 + Identifier 388256 388274 + GreaterThanToken 388274 388276 + NumericLiteral 388276 388278 + Block 388279 388909 + VariableStatement 388281 388382 + VariableDeclarationList 388281 388381 + VariableDeclaration 388328 388381 + Identifier 388328 388341 + ElementAccessExpression 388343 388381 + Identifier 388343 388357 + BinaryExpression 388358 388380 + Identifier 388358 388376 + MinusToken 388376 388378 + NumericLiteral 388378 388380 + VariableStatement 388382 388497 + VariableDeclarationList 388382 388496 + VariableDeclaration 388429 388496 + Identifier 388429 388443 + ElementAccessExpression 388445 388496 + PropertyAccessExpression 388445 388472 + PropertyAccessExpression 388445 388457 + Identifier 388445 388450 + Identifier 388451 388457 + Identifier 388458 388472 + BinaryExpression 388473 388495 + Identifier 388473 388491 + MinusToken 388491 388493 + NumericLiteral 388493 388495 + VariableStatement 388497 388602 + VariableDeclarationList 388497 388601 + VariableDeclaration 388544 388601 + Identifier 388544 388556 + CallExpression 388558 388601 + Identifier 388558 388586 + Identifier 388587 388600 + IfStatement 388602 388807 + BinaryExpression 388648 388709 + PrefixUnaryExpression 388648 388660 + Identifier 388649 388660 + BarBarToken 388660 388663 + PrefixUnaryExpression 388663 388709 + CallExpression 388665 388709 + Identifier 388665 388682 + Identifier 388683 388695 + Identifier 388696 388708 + Block 388710 388807 + BreakStatement 388712 388764 + ExpressionStatement 388807 388870 + PostfixUnaryExpression 388807 388869 + Identifier 388807 388867 + ExpressionStatement 389002 389118 + BinaryExpression 389002 389117 + Identifier 389002 389047 + EqualsToken 389047 389049 + CallExpression 389049 389117 + Identifier 389049 389064 + CallExpression 389065 389107 + PropertyAccessExpression 389065 389084 + Identifier 389065 389078 + Identifier 389079 389084 + Identifier 389085 389086 + Identifier 389087 389106 + Identifier 389108 389116 + VariableStatement 389141 389210 + VariableDeclarationList 389141 389209 + VariableDeclaration 389168 389209 + Identifier 389168 389181 + CallExpression 389183 389209 + Identifier 389183 389200 + Identifier 389201 389208 + ExpressionStatement 389210 389302 + BinaryExpression 389210 389301 + PropertyAccessExpression 389210 389245 + Identifier 389210 389239 + Identifier 389240 389245 + BarEqualsToken 389245 389248 + PropertyAccessExpression 389248 389301 + Identifier 389248 389265 + Identifier 389266 389301 + VariableStatement 389302 389417 + VariableDeclarationList 389302 389416 + VariableDeclaration 389329 389416 + Identifier 389329 389338 + CallExpression 389340 389416 + Identifier 389340 389357 + PropertyAccessExpression 389358 389369 + Identifier 389358 389362 + Identifier 389363 389369 + Identifier 389370 389378 + PropertyAccessExpression 389379 389396 + Identifier 389379 389391 + Identifier 389392 389396 + Identifier 389397 389415 + ExpressionStatement 389417 389454 + CallExpression 389417 389453 + Identifier 389417 389451 + ReturnStatement 389454 389573 + ConditionalExpression 389482 389572 + PrefixUnaryExpression 389482 389494 + Identifier 389484 389494 + QuestionToken 389494 389496 + Identifier 389496 389505 + ColonToken 389505 389507 + CallExpression 389507 389572 + Identifier 389507 389529 + Identifier 389530 389540 + AsExpression 389541 389571 + Identifier 389541 389550 + TypeReference 389553 389571 + Identifier 389553 389571 + FunctionDeclaration 389607 392730 + Identifier 389631 389653 + Parameter 389654 389694 + Identifier 389654 389658 + UnionType 389659 389694 + TypeReference 389659 389677 + Identifier 389659 389677 + TypeReference 389679 389694 + Identifier 389679 389694 + Parameter 389695 389718 + Identifier 389695 389699 + TypeReference 389700 389718 + Identifier 389700 389718 + UnionType 389720 389755 + TypeReference 389720 389738 + Identifier 389720 389738 + TypeReference 389740 389755 + Identifier 389740 389755 + Block 389755 392730 + IfStatement 389757 392715 + CallExpression 389779 389801 + Identifier 389779 389795 + Identifier 389796 389800 + Block 389802 391373 + VariableStatement 389804 389916 + VariableDeclarationList 389804 389915 + VariableDeclaration 389880 389915 + Identifier 389880 389894 + PropertyAccessExpression 389896 389915 + Identifier 389896 389901 + Identifier 389902 389915 + VariableStatement 389916 389969 + VariableDeclarationList 389916 389968 + VariableDeclaration 389941 389968 + Identifier 389941 389951 + PropertyAccessExpression 389953 389968 + Identifier 389953 389958 + Identifier 389959 389968 + IfStatement 389969 390722 + Identifier 389995 390004 + Block 390005 390722 + IfStatement 390007 390699 + CallExpression 390037 390060 + Identifier 390037 390049 + Identifier 390050 390059 + Block 390061 390331 + IfStatement 390063 390304 + BinaryExpression 390097 390152 + Identifier 390097 390110 + ExclamationEqualsEqualsToken 390110 390114 + CallExpression 390114 390152 + Identifier 390114 390141 + Identifier 390142 390151 + Block 390153 390304 + ExpressionStatement 390155 390273 + BinaryExpression 390155 390272 + Identifier 390155 390198 + EqualsToken 390198 390200 + CallExpression 390200 390272 + Identifier 390200 390227 + CallExpression 390228 390256 + PropertyAccessExpression 390228 390245 + Identifier 390228 390235 + Identifier 390236 390245 + Identifier 390246 390255 + Identifier 390257 390271 + Block 390361 390699 + IfStatement 390363 390672 + BinaryExpression 390397 390458 + Identifier 390397 390410 + ExclamationEqualsEqualsToken 390410 390414 + CallExpression 390414 390458 + Identifier 390414 390441 + PropertyAccessExpression 390442 390457 + Identifier 390442 390451 + Identifier 390452 390457 + Block 390459 390672 + ExpressionStatement 390461 390641 + BinaryExpression 390461 390640 + Identifier 390461 390504 + EqualsToken 390504 390506 + CallExpression 390506 390640 + PropertyAccessExpression 390506 390534 + Identifier 390506 390514 + Identifier 390515 390534 + Identifier 390535 390544 + PropertyAccessExpression 390545 390560 + Identifier 390545 390555 + Identifier 390556 390560 + CallExpression 390561 390639 + Identifier 390561 390588 + CallExpression 390589 390623 + PropertyAccessExpression 390589 390606 + Identifier 390589 390596 + Identifier 390597 390606 + PropertyAccessExpression 390607 390622 + Identifier 390607 390616 + Identifier 390617 390622 + Identifier 390624 390638 + ExpressionStatement 390722 390778 + BinaryExpression 390722 390777 + Identifier 390722 390757 + EqualsToken 390757 390759 + PropertyAccessExpression 390759 390777 + Identifier 390759 390763 + Identifier 390764 390777 + VariableStatement 390778 390877 + VariableDeclarationList 390778 390876 + VariableDeclaration 390850 390876 + Identifier 390850 390854 + CallExpression 390856 390876 + Identifier 390856 390871 + Identifier 390872 390875 + ForOfStatement 390877 391043 + VariableDeclarationList 390904 390912 + VariableDeclaration 390909 390912 + Identifier 390909 390912 + Identifier 390915 390919 + Block 390920 391043 + ExpressionStatement 390922 391020 + BinaryExpression 390922 391019 + Identifier 390922 390957 + EqualsToken 390957 390959 + ConditionalExpression 390959 391019 + Identifier 390959 390969 + QuestionToken 390969 390971 + CallExpression 390971 391014 + PropertyAccessExpression 390971 390999 + Identifier 390971 390979 + Identifier 390980 390999 + Identifier 391000 391009 + Identifier 391010 391013 + ColonToken 391014 391016 + Identifier 391016 391019 + ReturnStatement 391043 391354 + CallExpression 391071 391353 + PropertyAccessExpression 391071 391100 + Identifier 391071 391079 + Identifier 391080 391100 + Identifier 391101 391131 + PropertyAccessExpression 391132 391171 + Identifier 391132 391162 + Identifier 391163 391171 + PropertyAccessExpression 391172 391213 + Identifier 391172 391202 + Identifier 391203 391213 + Identifier 391214 391249 + Identifier 391250 391289 + PropertyAccessExpression 391290 391329 + Identifier 391290 391320 + Identifier 391321 391329 + Block 391395 392715 + VariableStatement 391397 391509 + VariableDeclarationList 391397 391508 + VariableDeclaration 391473 391508 + Identifier 391473 391487 + PropertyAccessExpression 391489 391508 + Identifier 391489 391494 + Identifier 391495 391508 + VariableStatement 391509 391560 + VariableDeclarationList 391509 391559 + VariableDeclaration 391534 391559 + Identifier 391534 391543 + PropertyAccessExpression 391545 391559 + Identifier 391545 391550 + Identifier 391551 391559 + IfStatement 391560 392203 + CallExpression 391586 391608 + Identifier 391586 391598 + Identifier 391599 391607 + Block 391609 391860 + IfStatement 391611 391837 + BinaryExpression 391641 391695 + Identifier 391641 391654 + ExclamationEqualsEqualsToken 391654 391658 + CallExpression 391658 391695 + Identifier 391658 391685 + Identifier 391686 391694 + Block 391696 391837 + ExpressionStatement 391698 391810 + BinaryExpression 391698 391809 + Identifier 391698 391736 + EqualsToken 391736 391738 + CallExpression 391738 391809 + Identifier 391738 391765 + CallExpression 391766 391793 + PropertyAccessExpression 391766 391783 + Identifier 391766 391773 + Identifier 391774 391783 + Identifier 391784 391792 + Identifier 391794 391808 + Block 391886 392203 + IfStatement 391888 392180 + BinaryExpression 391918 391978 + Identifier 391918 391931 + ExclamationEqualsEqualsToken 391931 391935 + CallExpression 391935 391978 + Identifier 391935 391962 + PropertyAccessExpression 391963 391977 + Identifier 391963 391971 + Identifier 391972 391977 + Block 391979 392180 + ExpressionStatement 391981 392153 + BinaryExpression 391981 392152 + Identifier 391981 392019 + EqualsToken 392019 392021 + CallExpression 392021 392152 + PropertyAccessExpression 392021 392049 + Identifier 392021 392029 + Identifier 392030 392049 + Identifier 392050 392058 + PropertyAccessExpression 392059 392073 + Identifier 392059 392068 + Identifier 392069 392073 + CallExpression 392074 392151 + Identifier 392074 392101 + CallExpression 392102 392135 + PropertyAccessExpression 392102 392119 + Identifier 392102 392109 + Identifier 392110 392119 + PropertyAccessExpression 392120 392134 + Identifier 392120 392128 + Identifier 392129 392134 + Identifier 392136 392150 + ExpressionStatement 392203 392259 + BinaryExpression 392203 392258 + Identifier 392203 392238 + EqualsToken 392238 392240 + PropertyAccessExpression 392240 392258 + Identifier 392240 392244 + Identifier 392245 392258 + VariableStatement 392259 392358 + VariableDeclarationList 392259 392357 + VariableDeclaration 392331 392357 + Identifier 392331 392335 + CallExpression 392337 392357 + Identifier 392337 392352 + Identifier 392353 392356 + ForOfStatement 392358 392505 + VariableDeclarationList 392385 392393 + VariableDeclaration 392390 392393 + Identifier 392390 392393 + Identifier 392396 392400 + Block 392401 392505 + ExpressionStatement 392403 392482 + BinaryExpression 392403 392481 + Identifier 392403 392437 + EqualsToken 392437 392439 + CallExpression 392439 392481 + PropertyAccessExpression 392439 392467 + Identifier 392439 392447 + Identifier 392448 392467 + Identifier 392468 392476 + Identifier 392477 392480 + ReturnStatement 392505 392696 + CallExpression 392533 392695 + PropertyAccessExpression 392533 392565 + Identifier 392533 392541 + Identifier 392542 392565 + Identifier 392566 392596 + Identifier 392597 392631 + Identifier 392632 392671 + FunctionDeclaration 392730 393121 + Identifier 392754 392769 + Parameter 392770 392792 + Identifier 392770 392773 + TypeReference 392774 392792 + Identifier 392774 392792 + ArrayType 392794 392807 + TypeReference 392794 392805 + Identifier 392794 392805 + Block 392807 393121 + VariableStatement 392809 392852 + VariableDeclarationList 392809 392851 + VariableDeclaration 392830 392851 + Identifier 392830 392836 + PropertyAccessExpression 392838 392851 + Identifier 392838 392842 + Identifier 392843 392851 + VariableStatement 392852 392885 + VariableDeclarationList 392852 392884 + VariableDeclaration 392875 392884 + Identifier 392875 392879 + ArrayLiteralExpression 392881 392884 + WhileStatement 392885 393040 + PrefixUnaryExpression 392910 392930 + CallExpression 392911 392930 + Identifier 392911 392923 + Identifier 392924 392929 + Block 392931 393040 + ExpressionStatement 392933 392980 + CallExpression 392933 392979 + PropertyAccessExpression 392933 392966 + Identifier 392933 392958 + Identifier 392959 392966 + PropertyAccessExpression 392967 392978 + Identifier 392967 392972 + Identifier 392973 392978 + ExpressionStatement 392980 393021 + BinaryExpression 392980 393020 + Identifier 392980 393007 + EqualsToken 393007 393009 + PropertyAccessExpression 393009 393020 + Identifier 393009 393015 + Identifier 393016 393020 + ExpressionStatement 393040 393077 + CallExpression 393040 393076 + PropertyAccessExpression 393040 393069 + Identifier 393040 393061 + Identifier 393062 393069 + Identifier 393070 393075 + ReturnStatement 393077 393106 + Identifier 393101 393105 + FunctionDeclaration 393121 395832 + Identifier 393145 393198 + Parameter 393199 393219 + Identifier 393199 393208 + TypeReference 393209 393219 + Identifier 393209 393219 + Parameter 393220 393248 + Identifier 393220 393228 + TypeReference 393229 393248 + Identifier 393229 393248 + Parameter 393249 393280 + Identifier 393249 393258 + UnionType 393259 393280 + TypeReference 393259 393268 + Identifier 393259 393268 + UndefinedKeyword 393270 393280 + UnionType 393282 393332 + TupleType 393282 393310 + TypeReference 393284 393309 + Identifier 393284 393309 + ArrayType 393312 393332 + TypeReference 393312 393330 + Identifier 393312 393330 + Block 393332 395832 + IfStatement 393334 395717 + PropertyAccessExpression 393356 393376 + Identifier 393356 393365 + Identifier 393366 393376 + Block 393377 395717 + VariableStatement 393379 394027 + VariableDeclarationList 393379 394026 + VariableDeclaration 393607 394026 + Identifier 393607 393645 + CallExpression 393647 394026 + Identifier 393647 393653 + PropertyAccessExpression 393654 393674 + Identifier 393654 393663 + Identifier 393664 393674 + ArrowFunction 393675 394025 + Parameter 393675 393677 + Identifier 393675 393677 + EqualsGreaterThanToken 393677 393680 + Block 393680 394025 + ReturnStatement 393682 394002 + PrefixUnaryExpression 393714 394001 + PrefixUnaryExpression 393716 394001 + ParenthesizedExpression 393717 394001 + BinaryExpression 393718 394000 + BinaryExpression 393718 393835 + BinaryExpression 393718 393803 + BinaryExpression 393718 393758 + PropertyAccessExpression 393718 393724 + Identifier 393718 393719 + Identifier 393720 393724 + AmpersandAmpersandToken 393724 393727 + CallExpression 393727 393758 + Identifier 393727 393750 + PropertyAccessExpression 393751 393757 + Identifier 393751 393752 + Identifier 393753 393757 + AmpersandAmpersandToken 393758 393761 + CallExpression 393761 393803 + Identifier 393761 393784 + PropertyAccessExpression 393785 393802 + PropertyAccessExpression 393785 393791 + Identifier 393785 393786 + Identifier 393787 393791 + Identifier 393792 393802 + AmpersandAmpersandToken 393803 393806 + PropertyAccessExpression 393806 393835 + Identifier 393806 393814 + Identifier 393815 393835 + AmpersandAmpersandToken 393835 393838 + BinaryExpression 393838 394000 + PropertyAccessExpression 393838 393965 + CallExpression 393838 393950 + Identifier 393838 393858 + PropertyAccessExpression 393859 393876 + PropertyAccessExpression 393859 393865 + Identifier 393859 393860 + Identifier 393861 393865 + Identifier 393866 393876 + PropertyAccessExpression 393877 393906 + Identifier 393877 393885 + Identifier 393886 393906 + FalseKeyword 393907 393949 + QuestionDotToken 393950 393952 + Identifier 393952 393965 + EqualsEqualsEqualsToken 393965 393969 + PropertyAccessExpression 393969 394000 + Identifier 393969 393989 + Identifier 393990 394000 + IfStatement 394027 395698 + Identifier 394053 394090 + Block 394091 395698 + VariableStatement 394093 394534 + VariableDeclarationList 394093 394533 + VariableDeclaration 394250 394533 + Identifier 394250 394264 + CallExpression 394266 394533 + Identifier 394266 394273 + PropertyAccessExpression 394274 394294 + Identifier 394274 394283 + Identifier 394284 394294 + ArrowFunction 394295 394532 + Parameter 394295 394297 + Identifier 394295 394297 + EqualsGreaterThanToken 394297 394300 + Block 394300 394532 + ReturnStatement 394302 394505 + PrefixUnaryExpression 394480 394504 + CallExpression 394482 394504 + Identifier 394482 394501 + Identifier 394502 394503 + ReturnStatement 394534 395675 + CallExpression 394566 395674 + Identifier 394566 394570 + Identifier 394571 394584 + ArrowFunction 394585 395673 + Parameter 394585 394587 + Identifier 394585 394587 + EqualsGreaterThanToken 394587 394590 + Block 394590 395673 + ExpressionStatement 394592 394846 + CallExpression 394592 394845 + Identifier 394592 394763 + AsExpression 394764 394805 + PropertyAccessExpression 394764 394781 + PropertyAccessExpression 394764 394770 + Identifier 394764 394765 + Identifier 394766 394770 + Identifier 394771 394781 + TypeReference 394784 394805 + Identifier 394784 394805 + PropertyAccessExpression 394806 394835 + Identifier 394806 394814 + Identifier 394815 394835 + Identifier 394836 394844 + ReturnStatement 394846 395646 + CallExpression 394882 395645 + Identifier 394882 394895 + Identifier 394896 394937 + CallExpression 394938 395577 + PropertyAccessExpression 394938 395003 + Identifier 394938 394979 + Identifier 394980 395003 + ConditionalExpression 395004 395129 + PropertyAccessExpression 395004 395062 + Identifier 395004 395051 + Identifier 395052 395062 + QuestionToken 395062 395064 + ArrayLiteralExpression 395064 395117 + CallExpression 395066 395116 + PropertyAccessExpression 395066 395088 + Identifier 395066 395073 + Identifier 395074 395088 + PropertyAccessExpression 395089 395115 + Identifier 395089 395099 + Identifier 395100 395115 + ColonToken 395117 395119 + Identifier 395119 395129 + PropertyAccessExpression 395130 395174 + Identifier 395130 395169 + Identifier 395170 395174 + ConditionalExpression 395175 395434 + BinaryExpression 395175 395374 + ParenthesizedExpression 395175 395355 + BinaryExpression 395214 395354 + BinaryExpression 395214 395334 + BinaryExpression 395214 395314 + BinaryExpression 395214 395288 + BinaryExpression 395214 395264 + CallExpression 395214 395236 + Identifier 395214 395233 + Identifier 395234 395235 + BarBarToken 395236 395239 + CallExpression 395239 395264 + Identifier 395239 395261 + Identifier 395262 395263 + BarBarToken 395264 395267 + CallExpression 395267 395288 + Identifier 395267 395285 + Identifier 395286 395287 + BarBarToken 395288 395291 + CallExpression 395291 395314 + Identifier 395291 395311 + Identifier 395312 395313 + BarBarToken 395314 395317 + CallExpression 395317 395334 + Identifier 395317 395331 + Identifier 395332 395333 + BarBarToken 395334 395337 + CallExpression 395337 395354 + Identifier 395337 395351 + Identifier 395352 395353 + AmpersandAmpersandToken 395355 395358 + PropertyAccessExpression 395358 395374 + Identifier 395358 395360 + Identifier 395361 395374 + QuestionToken 395374 395376 + CallExpression 395376 395422 + PropertyAccessExpression 395376 395396 + Identifier 395376 395384 + Identifier 395385 395396 + PropertyAccessExpression 395397 395421 + Identifier 395397 395407 + Identifier 395408 395421 + ColonToken 395422 395424 + Identifier 395424 395434 + BinaryExpression 395435 395541 + Identifier 395435 395481 + BarBarToken 395481 395484 + CallExpression 395484 395541 + Identifier 395484 395505 + CallExpression 395506 395531 + Identifier 395506 395521 + PropertyAccessExpression 395522 395530 + Identifier 395522 395523 + Identifier 395524 395530 + Identifier 395532 395540 + Identifier 395578 395613 + ReturnStatement 395717 395817 + ArrayLiteralExpression 395741 395816 + CallExpression 395743 395815 + Identifier 395743 395785 + Identifier 395786 395795 + Identifier 395796 395804 + Identifier 395805 395814 + FunctionDeclaration 395832 399301 + Identifier 395856 395888 + Parameter 395889 395915 + Identifier 395889 395901 + TypeReference 395902 395915 + Identifier 395902 395915 + UnionType 395917 395943 + ArrayType 395917 395931 + TypeReference 395917 395929 + Identifier 395917 395929 + UndefinedKeyword 395933 395943 + Block 395943 399301 + IfStatement 395945 396407 + CallExpression 395967 395997 + Identifier 395967 395988 + Identifier 395989 395996 + Block 395998 396407 + IfStatement 396000 396244 + BinaryExpression 396026 396071 + PropertyAccessExpression 396026 396039 + Identifier 396026 396033 + Identifier 396034 396039 + AmpersandToken 396039 396041 + PropertyAccessExpression 396041 396071 + Identifier 396041 396058 + Identifier 396059 396071 + Block 396072 396244 + ReturnStatement 396074 396221 + ArrayLiteralExpression 396106 396220 + CallExpression 396108 396219 + Identifier 396108 396135 + CallExpression 396136 396173 + PropertyAccessExpression 396136 396171 + Identifier 396136 396143 + Identifier 396144 396171 + PropertyAccessExpression 396174 396208 + Identifier 396174 396185 + Identifier 396186 396208 + StringLiteral 396209 396218 + ReturnStatement 396244 396388 + ArrayLiteralExpression 396272 396387 + CallExpression 396274 396386 + PropertyAccessExpression 396274 396305 + Identifier 396274 396281 + Identifier 396282 396305 + Identifier 396306 396329 + StringLiteral 396330 396336 + Identifier 396337 396365 + Identifier 396366 396385 + VariableStatement 396407 396464 + VariableDeclarationList 396407 396463 + VariableDeclaration 396430 396463 + Identifier 396430 396443 + ArrayType 396444 396458 + TypeReference 396444 396456 + Identifier 396444 396456 + ArrayLiteralExpression 396460 396463 + ForOfStatement 396464 396708 + VariableDeclarationList 396487 396502 + VariableDeclaration 396492 396502 + Identifier 396492 396502 + PropertyAccessExpression 396505 396533 + Identifier 396505 396518 + Identifier 396519 396533 + Block 396534 396708 + ExpressionStatement 396536 396689 + CallExpression 396536 396688 + PropertyAccessExpression 396536 396575 + Identifier 396536 396570 + Identifier 396571 396575 + AsExpression 396576 396687 + CallExpression 396576 396659 + Identifier 396576 396613 + Identifier 396614 396623 + PropertyAccessExpression 396624 396649 + Identifier 396624 396635 + Identifier 396636 396649 + Identifier 396650 396658 + TypeReference 396662 396687 + Identifier 396662 396687 + ForOfStatement 396708 397045 + VariableDeclarationList 396731 396746 + VariableDeclaration 396736 396746 + Identifier 396736 396746 + PropertyAccessExpression 396749 396782 + Identifier 396749 396762 + Identifier 396763 396782 + Block 396783 397045 + IfStatement 396785 396863 + BinaryExpression 396811 396852 + PropertyAccessExpression 396811 396826 + Identifier 396811 396820 + Identifier 396821 396826 + AmpersandToken 396826 396828 + PropertyAccessExpression 396828 396852 + Identifier 396828 396843 + Identifier 396844 396852 + ContinueStatement 396853 396863 + ExpressionStatement 396863 397026 + CallExpression 396863 397025 + PropertyAccessExpression 396863 396902 + Identifier 396863 396897 + Identifier 396898 396902 + AsExpression 396903 397024 + CallExpression 396903 396991 + Identifier 396903 396940 + Identifier 396941 396950 + PropertyAccessExpression 396951 396981 + Identifier 396951 396962 + Identifier 396963 396981 + Identifier 396982 396990 + TypeReference 396994 397024 + Identifier 396994 397024 + ForOfStatement 397045 397351 + VariableDeclarationList 397068 397078 + VariableDeclaration 397073 397078 + Identifier 397073 397078 + PropertyAccessExpression 397081 397105 + Identifier 397081 397094 + Identifier 397095 397105 + Block 397106 397351 + ExpressionStatement 397108 397332 + CallExpression 397108 397331 + PropertyAccessExpression 397108 397147 + Identifier 397108 397142 + Identifier 397143 397147 + SpreadElement 397148 397330 + CallExpression 397151 397330 + Identifier 397151 397203 + Identifier 397204 397208 + Identifier 397209 397217 + ConditionalExpression 397218 397329 + BinaryExpression 397218 397271 + PropertyAccessExpression 397218 397243 + Identifier 397218 397231 + Identifier 397232 397243 + AmpersandToken 397243 397245 + PropertyAccessExpression 397245 397271 + Identifier 397245 397257 + Identifier 397258 397271 + QuestionToken 397271 397273 + CallExpression 397273 397317 + Identifier 397273 397308 + Identifier 397309 397316 + ColonToken 397317 397319 + Identifier 397319 397329 + VariableStatement 397351 397414 + VariableDeclarationList 397351 397413 + VariableDeclaration 397376 397413 + Identifier 397376 397387 + PropertyAccessExpression 397389 397413 + Identifier 397389 397402 + Identifier 397403 397413 + IfStatement 397414 397511 + PrefixUnaryExpression 397436 397447 + Identifier 397437 397447 + Block 397448 397511 + ReturnStatement 397450 397492 + Identifier 397478 397491 + VariableStatement 397511 397541 + VariableDeclarationList 397511 397540 + VariableDeclaration 397534 397540 + Identifier 397534 397536 + NumericLiteral 397538 397540 + ForOfStatement 397541 399214 + VariableDeclarationList 397564 397584 + VariableDeclaration 397569 397584 + Identifier 397569 397584 + Identifier 397587 397598 + Block 397599 399214 + ExpressionStatement 397601 397627 + PostfixUnaryExpression 397601 397626 + Identifier 397601 397624 + IfStatement 397627 398248 + BinaryExpression 397653 397719 + PropertyAccessExpression 397653 397666 + Identifier 397653 397660 + Identifier 397661 397666 + AmpersandToken 397666 397668 + PropertyAccessExpression 397668 397719 + Identifier 397668 397685 + Identifier 397686 397719 + Block 397720 398248 + IfStatement 397722 397865 + BinaryExpression 397752 397796 + PropertyAccessExpression 397752 397772 + Identifier 397752 397766 + Identifier 397767 397772 + AmpersandToken 397772 397774 + PropertyAccessExpression 397774 397796 + Identifier 397774 397786 + Identifier 397787 397796 + Block 397797 397865 + ContinueStatement 397799 397838 + IfStatement 397865 398225 + BinaryExpression 397895 398056 + BinaryExpression 397895 398000 + CallExpression 397895 397948 + Identifier 397895 397932 + Identifier 397933 397947 + AmpersandToken 397948 397950 + ParenthesizedExpression 397950 398000 + BinaryExpression 397952 397999 + PropertyAccessExpression 397952 397973 + Identifier 397952 397965 + Identifier 397966 397973 + BarToken 397973 397975 + PropertyAccessExpression 397975 397999 + Identifier 397975 397989 + Identifier 397990 397999 + AmpersandAmpersandToken 398000 398003 + PropertyAccessExpression 398003 398056 + PropertyAccessExpression 398003 398019 + Identifier 398003 398011 + Identifier 398012 398019 + Identifier 398020 398056 + Block 398057 398225 + ExpressionStatement 398059 398198 + CallExpression 398059 398197 + PropertyAccessExpression 398059 398141 + PropertyAccessExpression 398059 398104 + Identifier 398059 398096 + Identifier 398097 398104 + Identifier 398105 398141 + CallExpression 398142 398196 + Identifier 398142 398168 + PropertyAccessExpression 398169 398195 + Identifier 398169 398183 + Identifier 398184 398195 + IfStatement 398248 399109 + BinaryExpression 398274 398339 + CallExpression 398274 398304 + Identifier 398274 398295 + Identifier 398296 398303 + AmpersandAmpersandToken 398304 398307 + ParenthesizedExpression 398307 398339 + BinaryExpression 398309 398338 + BinaryExpression 398309 398314 + Identifier 398309 398310 + PlusToken 398310 398312 + NumericLiteral 398312 398314 + LessThanToken 398314 398316 + BinaryExpression 398316 398338 + PropertyAccessExpression 398316 398334 + Identifier 398316 398327 + Identifier 398328 398334 + MinusToken 398334 398336 + NumericLiteral 398336 398338 + Block 398340 399109 + IfStatement 398342 398945 + BinaryExpression 398372 398417 + PropertyAccessExpression 398372 398385 + Identifier 398372 398379 + Identifier 398380 398385 + AmpersandToken 398385 398387 + PropertyAccessExpression 398387 398417 + Identifier 398387 398404 + Identifier 398405 398417 + Block 398418 398690 + VariableStatement 398420 398490 + VariableDeclarationList 398420 398489 + VariableDeclaration 398455 398489 + Identifier 398455 398467 + NonNullExpression 398469 398489 + CallExpression 398469 398488 + PropertyAccessExpression 398469 398486 + Identifier 398469 398482 + Identifier 398483 398486 + ExpressionStatement 398490 398663 + CallExpression 398490 398662 + PropertyAccessExpression 398490 398537 + Identifier 398490 398532 + Identifier 398533 398537 + CallExpression 398538 398661 + Identifier 398538 398565 + Identifier 398566 398577 + PropertyAccessExpression 398578 398612 + Identifier 398578 398589 + Identifier 398590 398612 + TemplateExpression 398613 398660 + TemplateHead 398613 398621 + TemplateSpan 398621 398660 + BinaryExpression 398621 398642 + PropertyAccessExpression 398621 398638 + Identifier 398621 398631 + Identifier 398632 398638 + MinusToken 398638 398640 + Identifier 398640 398642 + TemplateTail 398642 398660 + Block 398720 398945 + ExpressionStatement 398722 398918 + CallExpression 398722 398917 + PropertyAccessExpression 398722 398769 + Identifier 398722 398764 + Identifier 398765 398769 + CallExpression 398770 398916 + PropertyAccessExpression 398770 398801 + Identifier 398770 398777 + Identifier 398778 398801 + Identifier 398802 398825 + TemplateExpression 398826 398866 + TemplateHead 398826 398834 + TemplateSpan 398834 398866 + BinaryExpression 398834 398855 + PropertyAccessExpression 398834 398851 + Identifier 398834 398844 + Identifier 398845 398851 + MinusToken 398851 398853 + Identifier 398853 398855 + TemplateTail 398855 398866 + Identifier 398867 398895 + Identifier 398896 398915 + ExpressionStatement 398945 399054 + CallExpression 398945 399053 + Identifier 398945 398995 + ElementAccessExpression 398996 399029 + Identifier 398996 399006 + BinaryExpression 399007 399028 + PropertyAccessExpression 399007 399024 + Identifier 399007 399017 + Identifier 399018 399024 + MinusToken 399024 399026 + NumericLiteral 399026 399028 + Identifier 399030 399038 + Identifier 399039 399052 + BreakStatement 399054 399086 + ExpressionStatement 399109 399195 + CallExpression 399109 399194 + Identifier 399109 399155 + Identifier 399156 399170 + Identifier 399171 399179 + Identifier 399180 399193 + ReturnStatement 399214 399286 + ConditionalExpression 399238 399285 + PropertyAccessExpression 399238 399258 + Identifier 399238 399251 + Identifier 399252 399258 + QuestionToken 399258 399260 + Identifier 399260 399273 + ColonToken 399273 399275 + Identifier 399275 399285 + FunctionDeclaration 399312 399804 + Identifier 399332 399367 + Parameter 399368 399395 + Identifier 399368 399375 + TypeReference 399376 399395 + Identifier 399376 399395 + Block 399396 399804 + ExpressionStatement 399398 399443 + BinaryExpression 399398 399442 + PropertyAccessExpression 399398 399437 + Identifier 399398 399419 + Identifier 399420 399437 + PlusEqualsToken 399437 399440 + NumericLiteral 399440 399442 + IfStatement 399443 399646 + PrefixUnaryExpression 399461 399509 + ParenthesizedExpression 399462 399509 + BinaryExpression 399463 399508 + PropertyAccessExpression 399463 399476 + Identifier 399463 399470 + Identifier 399471 399476 + AmpersandToken 399476 399478 + PropertyAccessExpression 399478 399508 + Identifier 399478 399495 + Identifier 399496 399508 + Block 399510 399646 + ReturnStatement 399512 399631 + CallExpression 399536 399630 + PropertyAccessExpression 399536 399568 + Identifier 399536 399544 + Identifier 399545 399568 + CallExpression 399569 399600 + PropertyAccessExpression 399569 399593 + Identifier 399569 399576 + Identifier 399577 399593 + StringLiteral 399594 399599 + Identifier 399601 399629 + ReturnStatement 399646 399793 + CallExpression 399666 399792 + Identifier 399666 399693 + CallExpression 399694 399746 + PropertyAccessExpression 399694 399723 + Identifier 399694 399701 + Identifier 399702 399723 + PropertyAccessExpression 399724 399745 + Identifier 399724 399734 + Identifier 399735 399745 + PropertyAccessExpression 399747 399781 + Identifier 399747 399758 + Identifier 399759 399781 + StringLiteral 399782 399791 + FunctionDeclaration 399804 401909 + Identifier 399824 399856 + Parameter 399857 399879 + Identifier 399857 399871 + TypeReference 399872 399879 + Identifier 399872 399879 + Parameter 399880 399908 + Identifier 399880 399888 + TypeReference 399889 399908 + Identifier 399889 399908 + Block 399909 401909 + VariableStatement 399911 400780 + VariableDeclarationList 399911 400779 + VariableDeclaration 400769 400779 + Identifier 400769 400775 + NumericLiteral 400777 400779 + ReturnStatement 400780 401295 + BinaryExpression 400800 401294 + PrefixUnaryExpression 400800 400861 + PrefixUnaryExpression 400802 400861 + ParenthesizedExpression 400803 400861 + BinaryExpression 400804 400860 + CallExpression 400804 400833 + Identifier 400804 400817 + Identifier 400818 400832 + AmpersandToken 400833 400835 + PropertyAccessExpression 400835 400860 + Identifier 400835 400846 + Identifier 400847 400860 + AmpersandAmpersandToken 400861 400881 + ParenthesizedExpression 400881 401294 + BinaryExpression 400883 401275 + BinaryExpression 400883 401209 + CallExpression 400883 400980 + Identifier 400883 400913 + PropertyAccessExpression 400914 400940 + Identifier 400914 400921 + Identifier 400922 400940 + AsExpression 400941 400979 + Identifier 400941 400956 + TypeReference 400959 400979 + Identifier 400959 400979 + BarBarToken 400980 401004 + ParenthesizedExpression 401004 401209 + BinaryExpression 401006 401186 + ElementAccessExpression 401006 401063 + PropertyAccessExpression 401006 401058 + Identifier 401006 401039 + Identifier 401040 401058 + QuestionDotToken 401058 401060 + NumericLiteral 401061 401062 + AmpersandAmpersandToken 401063 401091 + PrefixUnaryExpression 401091 401186 + ParenthesizedExpression 401093 401186 + BinaryExpression 401094 401185 + CallExpression 401094 401161 + Identifier 401094 401108 + PropertyAccessExpression 401109 401160 + PropertyAccessExpression 401109 401147 + CallExpression 401109 401141 + Identifier 401109 401113 + PropertyAccessExpression 401114 401140 + Identifier 401114 401121 + Identifier 401122 401140 + Identifier 401142 401147 + Identifier 401148 401160 + AmpersandToken 401161 401163 + PropertyAccessExpression 401163 401185 + Identifier 401163 401175 + Identifier 401176 401185 + BarBarToken 401209 401233 + CallExpression 401233 401275 + Identifier 401233 401273 + FunctionDeclaration 401295 401898 + Identifier 401317 401357 + Block 401359 401898 + IfStatement 401361 401489 + BinaryExpression 401383 401432 + ParenthesizedExpression 401383 401424 + BinaryExpression 401384 401423 + PropertyAccessExpression 401384 401418 + PropertyAccessExpression 401384 401410 + Identifier 401384 401391 + Identifier 401392 401410 + QuestionDotToken 401410 401412 + Identifier 401412 401418 + QuestionQuestionToken 401418 401421 + NumericLiteral 401421 401423 + LessThanToken 401424 401426 + Identifier 401426 401432 + Block 401433 401489 + ReturnStatement 401435 401470 + FalseKeyword 401463 401469 + ForStatement 401489 401853 + VariableDeclarationList 401512 401521 + VariableDeclaration 401515 401521 + Identifier 401515 401517 + NumericLiteral 401519 401521 + BinaryExpression 401522 401532 + Identifier 401522 401524 + LessThanToken 401524 401526 + Identifier 401526 401532 + PostfixUnaryExpression 401533 401537 + Identifier 401533 401535 + Block 401538 401853 + VariableStatement 401540 401647 + VariableDeclarationList 401540 401646 + VariableDeclaration 401567 401646 + Identifier 401567 401572 + ElementAccessExpression 401574 401646 + NonNullExpression 401574 401602 + PropertyAccessExpression 401574 401601 + Identifier 401574 401582 + Identifier 401583 401601 + BinaryExpression 401603 401645 + BinaryExpression 401603 401641 + PropertyAccessExpression 401603 401637 + NonNullExpression 401603 401630 + PropertyAccessExpression 401603 401629 + Identifier 401603 401610 + Identifier 401611 401629 + Identifier 401631 401637 + MinusToken 401637 401639 + NumericLiteral 401639 401641 + MinusToken 401641 401643 + Identifier 401643 401645 + IfStatement 401647 401834 + BinaryExpression 401673 401769 + PropertyAccessExpression 401673 401701 + PropertyAccessExpression 401673 401694 + PropertyAccessExpression 401673 401683 + Identifier 401673 401677 + Identifier 401678 401683 + Identifier 401684 401694 + Identifier 401695 401701 + ExclamationEqualsEqualsToken 401701 401705 + PropertyAccessExpression 401705 401769 + PropertyAccessExpression 401705 401762 + PropertyAccessExpression 401705 401751 + ParenthesizedExpression 401705 401745 + AsExpression 401707 401744 + Identifier 401707 401721 + TypeReference 401724 401744 + Identifier 401724 401744 + Identifier 401746 401751 + Identifier 401752 401762 + Identifier 401763 401769 + Block 401770 401834 + ReturnStatement 401772 401811 + FalseKeyword 401804 401810 + ReturnStatement 401853 401883 + TrueKeyword 401877 401882 + FunctionDeclaration 401909 408679 + Identifier 401929 401954 + Parameter 401955 401977 + Identifier 401955 401969 + TypeReference 401970 401977 + Identifier 401970 401977 + Parameter 401978 402006 + Identifier 401978 401986 + TypeReference 401987 402006 + Identifier 401987 402006 + Parameter 402007 402035 + Identifier 402007 402020 + ArrayType 402021 402035 + TypeReference 402021 402033 + Identifier 402021 402033 + Block 402036 408679 + VariableStatement 402038 402145 + VariableDeclarationList 402038 402144 + VariableDeclaration 402057 402144 + Identifier 402057 402081 + PrefixUnaryExpression 402083 402144 + PrefixUnaryExpression 402085 402144 + ParenthesizedExpression 402086 402144 + BinaryExpression 402087 402143 + CallExpression 402087 402116 + Identifier 402087 402100 + Identifier 402101 402115 + AmpersandToken 402116 402118 + PropertyAccessExpression 402118 402143 + Identifier 402118 402129 + Identifier 402130 402143 + VariableStatement 402145 402308 + VariableDeclarationList 402145 402307 + VariableDeclaration 402164 402307 + Identifier 402164 402177 + ConditionalExpression 402179 402307 + CallExpression 402179 402236 + Identifier 402179 402211 + Identifier 402212 402226 + Identifier 402227 402235 + QuestionToken 402236 402238 + Identifier 402238 402263 + ColonToken 402263 402265 + CallExpression 402265 402307 + Identifier 402265 402291 + Identifier 402292 402306 + VariableStatement 402308 402384 + VariableDeclarationList 402308 402383 + VariableDeclaration 402327 402383 + Identifier 402327 402352 + PropertyAccessExpression 402354 402383 + Identifier 402354 402362 + Identifier 402363 402383 + ExpressionStatement 402384 402439 + BinaryExpression 402384 402438 + PropertyAccessExpression 402384 402426 + Identifier 402384 402405 + Identifier 402406 402426 + EqualsToken 402426 402428 + Identifier 402428 402438 + IfStatement 402439 403515 + BinaryExpression 402457 402534 + PropertyAccessExpression 402457 402487 + PropertyAccessExpression 402457 402472 + Identifier 402457 402464 + Identifier 402465 402472 + Identifier 402473 402487 + AmpersandAmpersandToken 402487 402490 + CallExpression 402490 402534 + Identifier 402490 402506 + PropertyAccessExpression 402507 402533 + Identifier 402507 402521 + Identifier 402522 402533 + Block 402535 403515 + IfStatement 402537 403500 + PropertyAccessExpression 402559 402586 + Identifier 402559 402573 + Identifier 402574 402586 + Block 402587 403357 + VariableStatement 402589 402659 + VariableDeclarationList 402589 402658 + VariableDeclaration 402616 402658 + Identifier 402616 402621 + CallExpression 402623 402658 + Identifier 402623 402629 + PropertyAccessExpression 402630 402657 + Identifier 402630 402644 + Identifier 402645 402657 + IfStatement 402659 403338 + CallExpression 402685 402710 + Identifier 402685 402704 + Identifier 402705 402709 + Block 402711 403338 + IfStatement 402713 403315 + CallExpression 402743 402767 + Identifier 402743 402761 + Identifier 402762 402766 + Block 402768 403151 + VariableStatement 402770 402840 + VariableDeclarationList 402770 402839 + VariableDeclaration 402805 402839 + Identifier 402805 402810 + CallExpression 402812 402839 + Identifier 402812 402833 + Identifier 402834 402838 + IfStatement 402840 403124 + BinaryExpression 402874 402978 + BinaryExpression 402874 402913 + Identifier 402874 402878 + AmpersandAmpersandToken 402878 402881 + CallExpression 402881 402913 + Identifier 402881 402907 + Identifier 402908 402912 + AmpersandAmpersandToken 402913 402916 + CallExpression 402916 402978 + Identifier 402916 402953 + PropertyAccessExpression 402954 402977 + Identifier 402954 402958 + Identifier 402959 402977 + Block 402979 403124 + ExpressionStatement 402981 403093 + CallExpression 402981 403092 + Identifier 402981 403032 + PropertyAccessExpression 403033 403056 + Identifier 403033 403037 + Identifier 403038 403056 + Identifier 403057 403082 + Identifier 403083 403091 + Block 403181 403315 + ExpressionStatement 403183 403288 + CallExpression 403183 403287 + Identifier 403183 403230 + PropertyAccessExpression 403231 403251 + PropertyAccessExpression 403231 403240 + Identifier 403231 403235 + Identifier 403236 403240 + Identifier 403241 403251 + Identifier 403252 403277 + Identifier 403278 403286 + Block 403379 403500 + ExpressionStatement 403381 403481 + CallExpression 403381 403480 + PropertyAccessExpression 403381 403448 + PropertyAccessExpression 403381 403418 + Identifier 403381 403410 + Identifier 403411 403418 + Identifier 403419 403448 + CallExpression 403449 403479 + Identifier 403449 403463 + Identifier 403464 403478 + ExpressionStatement 403515 403656 + BinaryExpression 403515 403655 + PropertyAccessExpression 403515 403557 + Identifier 403515 403536 + Identifier 403537 403557 + EqualsToken 403557 403559 + BinaryExpression 403559 403655 + BinaryExpression 403559 403627 + PropertyAccessExpression 403559 403591 + Identifier 403559 403574 + Identifier 403575 403591 + BarBarToken 403591 403594 + ElementAccessExpression 403594 403627 + PropertyAccessExpression 403594 403622 + Identifier 403594 403609 + Identifier 403610 403622 + QuestionDotToken 403622 403624 + NumericLiteral 403625 403626 + BarBarToken 403627 403630 + Identifier 403630 403655 + VariableStatement 403656 403745 + VariableDeclarationList 403656 403744 + VariableDeclaration 403675 403744 + Identifier 403675 403688 + CallExpression 403690 403744 + Identifier 403690 403719 + Identifier 403720 403734 + Identifier 403735 403743 + ExpressionStatement 403745 403815 + BinaryExpression 403745 403814 + PropertyAccessExpression 403745 403787 + Identifier 403745 403766 + Identifier 403767 403787 + EqualsToken 403787 403789 + Identifier 403789 403814 + ExpressionStatement 403815 403896 + BinaryExpression 403815 403895 + PropertyAccessExpression 403815 403854 + Identifier 403815 403836 + Identifier 403837 403854 + PlusEqualsToken 403854 403857 + BinaryExpression 403857 403895 + PropertyAccessExpression 403857 403891 + CallExpression 403857 403884 + Identifier 403857 403868 + Identifier 403869 403883 + Identifier 403885 403891 + PlusToken 403891 403893 + NumericLiteral 403893 403895 + IfStatement 403896 405436 + BinaryExpression 403916 403959 + PropertyAccessExpression 403916 403936 + Identifier 403916 403930 + Identifier 403931 403936 + AmpersandToken 403936 403938 + PropertyAccessExpression 403938 403959 + Identifier 403938 403950 + Identifier 403951 403959 + Block 403960 405436 + VariableStatement 403962 404035 + VariableDeclarationList 403962 404034 + VariableDeclaration 403985 404034 + Identifier 403985 403995 + CallExpression 403997 404034 + Identifier 403997 404018 + Identifier 404019 404033 + IfStatement 404035 405421 + BinaryExpression 404057 404140 + BinaryExpression 404057 404113 + BinaryExpression 404057 404083 + Identifier 404057 404069 + ExclamationEqualsEqualsToken 404069 404073 + Identifier 404073 404083 + AmpersandAmpersandToken 404083 404086 + PrefixUnaryExpression 404086 404113 + CallExpression 404088 404113 + Identifier 404088 404099 + Identifier 404100 404112 + AmpersandAmpersandToken 404113 404116 + PrefixUnaryExpression 404116 404140 + CallExpression 404118 404140 + Identifier 404118 404129 + Identifier 404130 404139 + Block 404141 405421 + VariableStatement 404143 404277 + VariableDeclarationList 404143 404276 + VariableDeclaration 404170 404276 + Identifier 404170 404188 + NonNullExpression 404190 404276 + CallExpression 404190 404275 + Identifier 404190 404211 + TypeReference 404212 404234 + Identifier 404212 404234 + Identifier 404236 404250 + PropertyAccessExpression 404251 404274 + Identifier 404251 404262 + Identifier 404263 404274 + VariableStatement 404277 404370 + VariableDeclarationList 404277 404369 + VariableDeclaration 404304 404369 + Identifier 404304 404320 + CallExpression 404322 404369 + Identifier 404322 404350 + Identifier 404351 404368 + ExpressionStatement 404370 404758 + CallExpression 404370 404757 + PropertyAccessExpression 404370 404409 + Identifier 404370 404404 + Identifier 404405 404409 + CallExpression 404410 404733 + Identifier 404410 404451 + Identifier 404452 404489 + AsExpression 404490 404657 + CallExpression 404490 404631 + Identifier 404490 404557 + Identifier 404558 404573 + PropertyAccessExpression 404574 404597 + Identifier 404574 404585 + Identifier 404586 404597 + Identifier 404598 404606 + ObjectLiteralExpression 404607 404630 + PropertyAssignment 404609 404628 + Identifier 404609 404614 + Identifier 404615 404628 + TypeReference 404634 404657 + Identifier 404634 404657 + Identifier 404658 404705 + VariableStatement 404758 404892 + VariableDeclarationList 404758 404891 + VariableDeclaration 404785 404891 + Identifier 404785 404803 + NonNullExpression 404805 404891 + CallExpression 404805 404890 + Identifier 404805 404826 + TypeReference 404827 404849 + Identifier 404827 404849 + Identifier 404851 404865 + PropertyAccessExpression 404866 404889 + Identifier 404866 404877 + Identifier 404878 404889 + VariableStatement 404892 404985 + VariableDeclarationList 404892 404984 + VariableDeclaration 404919 404984 + Identifier 404919 404935 + CallExpression 404937 404984 + Identifier 404937 404965 + Identifier 404966 404983 + ExpressionStatement 404985 405373 + CallExpression 404985 405372 + PropertyAccessExpression 404985 405024 + Identifier 404985 405019 + Identifier 405020 405024 + CallExpression 405025 405348 + Identifier 405025 405066 + Identifier 405067 405104 + AsExpression 405105 405272 + CallExpression 405105 405246 + Identifier 405105 405172 + Identifier 405173 405188 + PropertyAccessExpression 405189 405212 + Identifier 405189 405200 + Identifier 405201 405212 + Identifier 405213 405221 + ObjectLiteralExpression 405222 405245 + PropertyAssignment 405224 405243 + Identifier 405224 405229 + Identifier 405230 405243 + TypeReference 405249 405272 + Identifier 405249 405272 + Identifier 405273 405320 + ReturnStatement 405373 405402 + VariableStatement 405436 405578 + VariableDeclarationList 405436 405577 + VariableDeclaration 405457 405577 + Identifier 405457 405471 + ConditionalExpression 405473 405577 + BinaryExpression 405473 405517 + PropertyAccessExpression 405473 405494 + Identifier 405473 405488 + Identifier 405489 405494 + AmpersandToken 405494 405496 + PropertyAccessExpression 405496 405517 + Identifier 405496 405508 + Identifier 405509 405517 + QuestionToken 405517 405519 + CallExpression 405519 405565 + PropertyAccessExpression 405519 405539 + Identifier 405519 405527 + Identifier 405528 405539 + PropertyAccessExpression 405540 405564 + Identifier 405540 405550 + Identifier 405551 405564 + ColonToken 405565 405567 + Identifier 405567 405577 + IfStatement 405578 406436 + BinaryExpression 405596 405750 + BinaryExpression 405596 405713 + BinaryExpression 405596 405662 + PropertyAccessExpression 405596 405616 + Identifier 405596 405610 + Identifier 405611 405616 + AmpersandToken 405616 405618 + ParenthesizedExpression 405618 405662 + BinaryExpression 405620 405661 + PropertyAccessExpression 405620 405640 + Identifier 405620 405631 + Identifier 405632 405640 + BarToken 405640 405642 + PropertyAccessExpression 405642 405661 + Identifier 405642 405654 + Identifier 405655 405661 + AmpersandAmpersandToken 405662 405665 + PrefixUnaryExpression 405665 405713 + PropertyAccessExpression 405667 405713 + CallExpression 405667 405706 + Identifier 405667 405692 + Identifier 405693 405705 + Identifier 405707 405713 + AmpersandAmpersandToken 405713 405716 + PrefixUnaryExpression 405716 405750 + CallExpression 405718 405750 + Identifier 405718 405734 + Identifier 405735 405749 + Block 405751 406436 + VariableStatement 405753 405895 + VariableDeclarationList 405753 405894 + VariableDeclaration 405776 405894 + Identifier 405776 405787 + CallExpression 405789 405894 + Identifier 405789 405809 + CallExpression 405810 405873 + Identifier 405810 405820 + Identifier 405821 405833 + ArrowFunction 405834 405872 + Parameter 405834 405836 + Identifier 405834 405836 + EqualsGreaterThanToken 405836 405839 + PrefixUnaryExpression 405839 405872 + ParenthesizedExpression 405841 405872 + BinaryExpression 405842 405871 + PropertyAccessExpression 405842 405849 + Identifier 405842 405843 + Identifier 405844 405849 + AmpersandToken 405849 405851 + PropertyAccessExpression 405851 405871 + Identifier 405851 405861 + Identifier 405862 405871 + PropertyAccessExpression 405874 405893 + Identifier 405874 405888 + Identifier 405889 405893 + ForOfStatement 405895 406313 + VariableDeclarationList 405918 405933 + VariableDeclaration 405923 405933 + Identifier 405923 405933 + Identifier 405936 405947 + Block 405948 406313 + VariableStatement 405950 406157 + VariableDeclarationList 405950 406156 + VariableDeclaration 405977 406156 + Identifier 405977 405995 + AsExpression 405997 406156 + CallExpression 405997 406137 + Identifier 405997 406035 + Identifier 406036 406045 + PropertyAccessExpression 406046 406073 + Identifier 406046 406057 + Identifier 406058 406073 + Identifier 406074 406082 + ObjectLiteralExpression 406083 406136 + PropertyAssignment 406085 406104 + Identifier 406085 406090 + Identifier 406091 406104 + PropertyAssignment 406105 406134 + Identifier 406105 406119 + Identifier 406120 406134 + TypeReference 406140 406156 + Identifier 406140 406156 + ExpressionStatement 406157 406294 + CallExpression 406157 406293 + PropertyAccessExpression 406157 406196 + Identifier 406157 406191 + Identifier 406192 406196 + CallExpression 406197 406292 + Identifier 406197 406215 + Identifier 406216 406233 + BinaryExpression 406234 406291 + PropertyAccessExpression 406234 406256 + Identifier 406234 406244 + Identifier 406245 406256 + BarBarToken 406256 406259 + PropertyAccessExpression 406259 406291 + Identifier 406259 406274 + Identifier 406275 406291 + IfStatement 406313 406421 + BinaryExpression 406335 406370 + PropertyAccessExpression 406335 406352 + Identifier 406335 406345 + Identifier 406346 406352 + BarBarToken 406352 406355 + PrefixUnaryExpression 406355 406370 + Identifier 406357 406370 + Block 406371 406421 + ReturnStatement 406373 406402 + VariableStatement 406436 406481 + VariableDeclarationList 406436 406480 + VariableDeclaration 406453 406480 + Identifier 406453 406470 + TypeReference 406471 406480 + Identifier 406471 406480 + IfStatement 406481 407229 + CallExpression 406499 406555 + Identifier 406499 406530 + Identifier 406531 406545 + Identifier 406546 406554 + Block 406556 406654 + ExpressionStatement 406558 406639 + BinaryExpression 406558 406638 + Identifier 406558 406592 + EqualsToken 406592 406594 + CallExpression 406594 406638 + Identifier 406594 406629 + Identifier 406630 406637 + Block 406672 407229 + IfStatement 406674 406890 + Identifier 406696 406719 + Block 406720 406890 + ExpressionStatement 406722 406778 + BinaryExpression 406722 406777 + PropertyAccessExpression 406722 406770 + Identifier 406722 406751 + Identifier 406752 406770 + BarBarEqualsToken 406770 406774 + ArrayLiteralExpression 406774 406777 + ExpressionStatement 406778 406871 + CallExpression 406778 406870 + PropertyAccessExpression 406778 406831 + PropertyAccessExpression 406778 406826 + Identifier 406778 406807 + Identifier 406808 406826 + Identifier 406827 406831 + AsExpression 406832 406869 + Identifier 406832 406846 + TypeReference 406849 406869 + Identifier 406849 406869 + ExpressionStatement 406890 407091 + BinaryExpression 406890 407090 + Identifier 406890 406924 + EqualsToken 406924 406926 + ConditionalExpression 406926 407090 + Identifier 406926 406939 + QuestionToken 406939 406941 + CallExpression 406941 407035 + Identifier 406941 406969 + Identifier 406970 406977 + Identifier 406978 407004 + Identifier 407005 407018 + Identifier 407019 407034 + ColonToken 407035 407037 + CallExpression 407037 407090 + PropertyAccessExpression 407037 407067 + Identifier 407037 407045 + Identifier 407046 407067 + PropertyAccessExpression 407068 407089 + Identifier 407068 407078 + Identifier 407079 407089 + IfStatement 407091 407214 + Identifier 407113 407136 + Block 407137 407214 + ExpressionStatement 407139 407195 + CallExpression 407139 407194 + PropertyAccessExpression 407139 407192 + NonNullExpression 407139 407188 + PropertyAccessExpression 407139 407187 + Identifier 407139 407168 + Identifier 407169 407187 + Identifier 407189 407192 + VariableStatement 407229 407360 + VariableDeclarationList 407229 407359 + VariableDeclaration 407250 407359 + Identifier 407250 407260 + ConditionalExpression 407262 407359 + CallExpression 407262 407295 + Identifier 407262 407279 + Identifier 407280 407294 + QuestionToken 407295 407297 + ArrayLiteralExpression 407297 407347 + CallExpression 407299 407346 + PropertyAccessExpression 407299 407318 + Identifier 407299 407306 + Identifier 407307 407318 + PropertyAccessExpression 407319 407345 + Identifier 407319 407329 + Identifier 407330 407345 + ColonToken 407347 407349 + Identifier 407349 407359 + IfStatement 407360 407454 + Identifier 407378 407387 + Block 407388 407454 + ExpressionStatement 407390 407439 + BinaryExpression 407390 407438 + PropertyAccessExpression 407390 407433 + Identifier 407390 407415 + Identifier 407416 407433 + PlusEqualsToken 407433 407436 + NumericLiteral 407436 407438 + VariableStatement 407454 407668 + VariableDeclarationList 407454 407667 + VariableDeclaration 407473 407667 + Identifier 407473 407491 + CallExpression 407493 407667 + PropertyAccessExpression 407493 407525 + Identifier 407493 407501 + Identifier 407502 407525 + Identifier 407526 407553 + Identifier 407554 407584 + Identifier 407585 407616 + Identifier 407617 407651 + ExpressionStatement 407668 407774 + CallExpression 407668 407773 + PropertyAccessExpression 407668 407701 + Identifier 407668 407696 + Identifier 407697 407701 + CallExpression 407702 407772 + Identifier 407702 407720 + Identifier 407721 407738 + PropertyAccessExpression 407739 407771 + Identifier 407739 407754 + Identifier 407755 407771 + FunctionDeclaration 407774 408668 + Identifier 407798 407817 + TypeParameter 407818 407832 + Identifier 407818 407819 + TypeReference 407827 407832 + Identifier 407827 407832 + Parameter 407834 407841 + Identifier 407834 407838 + TypeReference 407839 407841 + Identifier 407839 407841 + Parameter 407842 407866 + Identifier 407842 407848 + UnionType 407849 407866 + TypeReference 407849 407854 + Identifier 407849 407854 + UndefinedKeyword 407856 407866 + Block 407867 408668 + VariableStatement 407869 408016 + VariableDeclarationList 407869 408015 + VariableDeclaration 407892 408015 + Identifier 407892 407909 + CallExpression 407911 408015 + PropertyAccessExpression 407911 407945 + PropertyAccessExpression 407911 407939 + Identifier 407911 407926 + Identifier 407927 407939 + QuestionDotToken 407939 407941 + Identifier 407941 407945 + ArrowFunction 407946 408014 + Parameter 407947 407948 + Identifier 407947 407948 + TypePredicate 407950 407972 + Identifier 407950 407952 + TypeReference 407955 407972 + Identifier 407955 407972 + EqualsGreaterThanToken 407972 407975 + BinaryExpression 407975 408014 + PropertyAccessExpression 407975 407982 + Identifier 407975 407977 + Identifier 407978 407982 + EqualsEqualsEqualsToken 407982 407986 + PropertyAccessExpression 407986 408014 + Identifier 407986 407997 + Identifier 407998 408014 + IfStatement 408016 408623 + Identifier 408038 408054 + Block 408055 408442 + VariableStatement 408057 408147 + VariableDeclarationList 408057 408146 + VariableDeclaration 408084 408146 + Identifier 408084 408096 + CallExpression 408098 408146 + Identifier 408098 408120 + PropertyAccessExpression 408121 408145 + Identifier 408121 408137 + Identifier 408138 408145 + IfStatement 408147 408423 + Identifier 408173 408184 + Block 408185 408423 + ExpressionStatement 408187 408400 + CallExpression 408187 408399 + Identifier 408187 408240 + Identifier 408241 408245 + ArrayLiteralExpression 408246 408398 + ObjectLiteralExpression 408248 408397 + PropertyAssignment 408249 408289 + Identifier 408249 408254 + PropertyAccessExpression 408255 408289 + Identifier 408255 408266 + Identifier 408267 408289 + PropertyAssignment 408290 408351 + Identifier 408290 408295 + BinaryExpression 408296 408351 + BinaryExpression 408296 408343 + StringLiteral 408296 408305 + PlusToken 408305 408307 + CallExpression 408307 408343 + PropertyAccessExpression 408307 408327 + Identifier 408307 408319 + Identifier 408320 408327 + RegularExpressionLiteral 408328 408333 + StringLiteral 408334 408342 + PlusToken 408343 408345 + StringLiteral 408345 408351 + PropertyAssignment 408352 408360 + Identifier 408352 408356 + PrefixUnaryExpression 408357 408360 + NumericLiteral 408359 408360 + PropertyAssignment 408361 408369 + Identifier 408361 408365 + PrefixUnaryExpression 408366 408369 + NumericLiteral 408368 408369 + PropertyAssignment 408370 408395 + Identifier 408370 408389 + TrueKeyword 408390 408395 + IfStatement 408464 408623 + Identifier 408469 408474 + Block 408475 408623 + ExpressionStatement 408477 408604 + CallExpression 408477 408603 + Identifier 408477 408581 + Identifier 408582 408589 + Identifier 408590 408595 + Identifier 408596 408602 + ReturnStatement 408623 408653 + Identifier 408647 408652 + FunctionDeclaration 408679 409060 + Identifier 408699 408715 + TypeParameter 408716 408730 + Identifier 408716 408717 + TypeReference 408725 408730 + Identifier 408725 408730 + Parameter 408732 408759 + Identifier 408732 408739 + TypeReference 408740 408759 + Identifier 408740 408759 + Parameter 408760 408768 + Identifier 408760 408765 + TypeReference 408766 408768 + Identifier 408766 408768 + Parameter 408769 408781 + Identifier 408769 408775 + TypeReference 408776 408781 + Identifier 408776 408781 + TypeReference 408783 408785 + Identifier 408783 408785 + Block 408785 409060 + IfStatement 408787 409023 + BinaryExpression 408805 408882 + PropertyAccessExpression 408805 408826 + Identifier 408805 408812 + Identifier 408813 408826 + AmpersandAmpersandToken 408826 408829 + BinaryExpression 408829 408882 + PropertyAccessExpression 408829 408851 + Identifier 408829 408837 + Identifier 408838 408851 + EqualsEqualsEqualsToken 408851 408855 + CallExpression 408855 408882 + Identifier 408855 408875 + Identifier 408876 408881 + Block 408883 409023 + ReturnStatement 408885 409008 + CallExpression 408972 409007 + Identifier 408972 408994 + Identifier 408995 408999 + Identifier 409000 409006 + ReturnStatement 409023 409049 + Identifier 409043 409048 + FunctionDeclaration 409060 413554 + Identifier 409080 409095 + Parameter 409096 409130 + Identifier 409096 409101 + UnionType 409102 409130 + TypeOperator 409102 409118 + ArrayType 409111 409118 + TypeReference 409111 409116 + Identifier 409111 409116 + UndefinedKeyword 409120 409130 + Parameter 409131 409159 + Identifier 409131 409139 + TypeReference 409140 409159 + Identifier 409140 409159 + Parameter 409160 409181 + Identifier 409160 409171 + QuestionToken 409171 409172 + BooleanKeyword 409173 409181 + UnionType 409183 409206 + ArrayType 409183 409194 + TypeReference 409183 409192 + Identifier 409183 409192 + UndefinedKeyword 409196 409206 + Block 409206 413554 + IfStatement 409208 413543 + CallExpression 409226 409237 + Identifier 409226 409230 + Identifier 409231 409236 + Block 409238 413543 + IfStatement 409240 410471 + CallExpression 409262 409292 + Identifier 409262 409283 + Identifier 409284 409291 + Block 409293 410471 + IfStatement 409295 410452 + PrefixUnaryExpression 409321 409332 + Identifier 409322 409332 + Block 409333 409760 + ReturnStatement 409335 409737 + ArrayLiteralExpression 409367 409736 + ConditionalExpression 409369 409708 + BinaryExpression 409369 409444 + PropertyAccessExpression 409369 409412 + Identifier 409369 409406 + Identifier 409407 409412 + AmpersandToken 409412 409414 + PropertyAccessExpression 409414 409444 + Identifier 409414 409431 + Identifier 409432 409444 + QuestionToken 409444 409479 + CallExpression 409479 409605 + Identifier 409479 409506 + CallExpression 409507 409559 + PropertyAccessExpression 409507 409536 + Identifier 409507 409514 + Identifier 409515 409536 + PropertyAccessExpression 409537 409558 + Identifier 409537 409547 + Identifier 409548 409558 + PropertyAccessExpression 409560 409594 + Identifier 409560 409571 + Identifier 409572 409594 + StringLiteral 409595 409604 + ColonToken 409605 409640 + CallExpression 409640 409708 + PropertyAccessExpression 409640 409672 + Identifier 409640 409648 + Identifier 409649 409672 + StringLiteral 409673 409678 + Identifier 409679 409707 + IfStatement 409786 410452 + BinaryExpression 409791 409807 + PropertyAccessExpression 409791 409803 + Identifier 409791 409796 + Identifier 409797 409803 + GreaterThanToken 409803 409805 + NumericLiteral 409805 409807 + Block 409808 410452 + ReturnStatement 409810 410429 + ArrayLiteralExpression 409842 410428 + CallExpression 409844 409913 + Identifier 409844 409894 + ElementAccessExpression 409895 409903 + Identifier 409895 409900 + NumericLiteral 409901 409902 + Identifier 409904 409912 + ConditionalExpression 409914 410315 + BinaryExpression 409914 409989 + PropertyAccessExpression 409914 409957 + Identifier 409914 409951 + Identifier 409952 409957 + AmpersandToken 409957 409959 + PropertyAccessExpression 409959 409989 + Identifier 409959 409976 + Identifier 409977 409989 + QuestionToken 409989 410024 + CallExpression 410024 410183 + Identifier 410024 410051 + CallExpression 410052 410104 + PropertyAccessExpression 410052 410081 + Identifier 410052 410059 + Identifier 410060 410081 + PropertyAccessExpression 410082 410103 + Identifier 410082 410092 + Identifier 410093 410103 + PropertyAccessExpression 410105 410139 + Identifier 410105 410116 + Identifier 410117 410139 + TemplateExpression 410140 410182 + TemplateHead 410140 410148 + TemplateSpan 410148 410182 + BinaryExpression 410148 410164 + PropertyAccessExpression 410148 410160 + Identifier 410148 410153 + Identifier 410154 410160 + MinusToken 410160 410162 + NumericLiteral 410162 410164 + TemplateTail 410164 410182 + ColonToken 410183 410218 + CallExpression 410218 410315 + PropertyAccessExpression 410218 410250 + Identifier 410218 410226 + Identifier 410227 410250 + TemplateExpression 410251 410285 + TemplateHead 410251 410258 + TemplateSpan 410258 410285 + BinaryExpression 410258 410274 + PropertyAccessExpression 410258 410270 + Identifier 410258 410263 + Identifier 410264 410270 + MinusToken 410270 410272 + NumericLiteral 410272 410274 + TemplateTail 410274 410285 + Identifier 410286 410314 + CallExpression 410316 410400 + Identifier 410316 410366 + ElementAccessExpression 410367 410390 + Identifier 410367 410372 + BinaryExpression 410373 410389 + PropertyAccessExpression 410373 410385 + Identifier 410373 410378 + Identifier 410379 410385 + MinusToken 410385 410387 + NumericLiteral 410387 410389 + Identifier 410391 410399 + VariableStatement 410471 410577 + VariableDeclarationList 410471 410576 + VariableDeclaration 410494 410576 + Identifier 410494 410516 + PrefixUnaryExpression 410518 410576 + ParenthesizedExpression 410520 410576 + BinaryExpression 410521 410575 + PropertyAccessExpression 410521 410534 + Identifier 410521 410528 + Identifier 410529 410534 + AmpersandToken 410534 410536 + PropertyAccessExpression 410536 410575 + Identifier 410536 410553 + Identifier 410554 410575 + VariableStatement 410577 410808 + VariableDeclarationList 410577 410807 + VariableDeclaration 410716 410807 + Identifier 410716 410726 + ConditionalExpression 410728 410807 + Identifier 410728 410750 + QuestionToken 410750 410752 + CallExpression 410752 410795 + Identifier 410752 410767 + TypeReference 410768 410776 + Identifier 410768 410776 + TupleType 410777 410792 + TypeReference 410779 410783 + Identifier 410779 410783 + NumberKeyword 410784 410791 + ColonToken 410795 410797 + Identifier 410797 410807 + VariableStatement 410808 410856 + VariableDeclarationList 410808 410855 + VariableDeclaration 410831 410855 + Identifier 410831 410838 + ArrayType 410839 410850 + TypeReference 410839 410848 + Identifier 410839 410848 + ArrayLiteralExpression 410852 410855 + VariableStatement 410856 410884 + VariableDeclarationList 410856 410883 + VariableDeclaration 410877 410883 + Identifier 410877 410879 + NumericLiteral 410881 410883 + ForOfStatement 410884 412288 + VariableDeclarationList 410907 410917 + VariableDeclaration 410912 410917 + Identifier 410912 410917 + Identifier 410920 410926 + Block 410927 412288 + ExpressionStatement 410929 410955 + PostfixUnaryExpression 410929 410954 + Identifier 410929 410952 + IfStatement 410955 411785 + BinaryExpression 410981 411041 + CallExpression 410981 411011 + Identifier 410981 411002 + Identifier 411003 411010 + AmpersandAmpersandToken 411011 411014 + ParenthesizedExpression 411014 411041 + BinaryExpression 411016 411040 + BinaryExpression 411016 411021 + Identifier 411016 411017 + PlusToken 411017 411019 + NumericLiteral 411019 411021 + LessThanToken 411021 411023 + BinaryExpression 411023 411040 + PropertyAccessExpression 411023 411036 + Identifier 411023 411029 + Identifier 411030 411036 + MinusToken 411036 411038 + NumericLiteral 411038 411040 + Block 411042 411785 + ExpressionStatement 411044 411512 + CallExpression 411044 411511 + PropertyAccessExpression 411044 411081 + Identifier 411044 411076 + Identifier 411077 411081 + ConditionalExpression 411082 411483 + BinaryExpression 411082 411157 + PropertyAccessExpression 411082 411125 + Identifier 411082 411119 + Identifier 411120 411125 + AmpersandToken 411125 411127 + PropertyAccessExpression 411127 411157 + Identifier 411127 411144 + Identifier 411145 411157 + QuestionToken 411157 411192 + CallExpression 411192 411351 + Identifier 411192 411219 + CallExpression 411220 411272 + PropertyAccessExpression 411220 411249 + Identifier 411220 411227 + Identifier 411228 411249 + PropertyAccessExpression 411250 411271 + Identifier 411250 411260 + Identifier 411261 411271 + PropertyAccessExpression 411273 411307 + Identifier 411273 411284 + Identifier 411285 411307 + TemplateExpression 411308 411350 + TemplateHead 411308 411316 + TemplateSpan 411316 411350 + BinaryExpression 411316 411332 + PropertyAccessExpression 411316 411328 + Identifier 411316 411321 + Identifier 411322 411328 + MinusToken 411328 411330 + Identifier 411330 411332 + TemplateTail 411332 411350 + ColonToken 411351 411386 + CallExpression 411386 411483 + PropertyAccessExpression 411386 411418 + Identifier 411386 411394 + Identifier 411395 411418 + TemplateExpression 411419 411453 + TemplateHead 411419 411426 + TemplateSpan 411426 411453 + BinaryExpression 411426 411442 + PropertyAccessExpression 411426 411438 + Identifier 411426 411431 + Identifier 411432 411438 + MinusToken 411438 411440 + Identifier 411440 411442 + TemplateTail 411442 411453 + Identifier 411454 411482 + VariableStatement 411512 411610 + VariableDeclarationList 411512 411609 + VariableDeclaration 411543 411609 + Identifier 411543 411552 + CallExpression 411554 411609 + Identifier 411554 411575 + ElementAccessExpression 411576 411599 + Identifier 411576 411581 + BinaryExpression 411582 411598 + PropertyAccessExpression 411582 411594 + Identifier 411582 411587 + Identifier 411588 411594 + MinusToken 411594 411596 + NumericLiteral 411596 411598 + Identifier 411600 411608 + IfStatement 411610 411730 + Identifier 411640 411648 + Block 411649 411730 + ExpressionStatement 411651 411703 + CallExpression 411651 411702 + PropertyAccessExpression 411651 411692 + Identifier 411651 411687 + Identifier 411688 411692 + Identifier 411693 411701 + BreakStatement 411730 411762 + ExpressionStatement 411785 411838 + BinaryExpression 411785 411837 + PropertyAccessExpression 411785 411832 + Identifier 411785 411814 + Identifier 411815 411832 + PlusEqualsToken 411832 411835 + NumericLiteral 411835 411837 + VariableStatement 411838 411951 + VariableDeclarationList 411838 411950 + VariableDeclaration 411903 411950 + Identifier 411903 411912 + CallExpression 411914 411950 + Identifier 411914 411935 + Identifier 411936 411940 + Identifier 411941 411949 + IfStatement 411951 412269 + Identifier 411977 411985 + Block 411986 412269 + ExpressionStatement 411988 412036 + CallExpression 411988 412035 + PropertyAccessExpression 411988 412025 + Identifier 411988 412020 + Identifier 412021 412025 + Identifier 412026 412034 + IfStatement 412036 412246 + BinaryExpression 412066 412114 + Identifier 412066 412075 + AmpersandAmpersandToken 412075 412078 + CallExpression 412078 412114 + Identifier 412078 412104 + Identifier 412105 412113 + Block 412115 412246 + ExpressionStatement 412117 412219 + CallExpression 412117 412218 + PropertyAccessExpression 412117 412160 + Identifier 412117 412156 + Identifier 412157 412160 + PropertyAccessExpression 412161 412190 + PropertyAccessExpression 412161 412178 + Identifier 412161 412169 + Identifier 412170 412178 + Identifier 412179 412190 + ArrayLiteralExpression 412191 412217 + Identifier 412193 412197 + BinaryExpression 412198 412216 + PropertyAccessExpression 412198 412212 + Identifier 412198 412205 + Identifier 412206 412212 + MinusToken 412212 412214 + NumericLiteral 412214 412216 + IfStatement 412288 413494 + Identifier 412312 412321 + Block 412322 413494 + VariableStatement 412324 412961 + VariableDeclarationList 412324 412960 + VariableDeclaration 412919 412960 + Identifier 412919 412932 + CallExpression 412934 412960 + Identifier 412934 412951 + Identifier 412952 412959 + ExpressionStatement 412961 413039 + BinaryExpression 412961 413038 + PropertyAccessExpression 412961 412996 + Identifier 412961 412990 + Identifier 412991 412996 + BarEqualsToken 412996 412999 + PropertyAccessExpression 412999 413038 + Identifier 412999 413016 + Identifier 413017 413038 + ExpressionStatement 413039 413438 + CallExpression 413039 413437 + PropertyAccessExpression 413039 413078 + Identifier 413039 413070 + Identifier 413071 413078 + ArrowFunction 413079 413436 + Parameter 413079 413084 + Identifier 413079 413084 + EqualsGreaterThanToken 413084 413087 + Block 413087 413436 + IfStatement 413089 413413 + PrefixUnaryExpression 413119 413188 + CallExpression 413120 413188 + Identifier 413120 413138 + Identifier 413139 413144 + ArrowFunction 413145 413187 + Parameter 413147 413150 + ArrayBindingPattern 413147 413150 + BindingElement 413148 413149 + Identifier 413148 413149 + Parameter 413151 413155 + ArrayBindingPattern 413151 413155 + BindingElement 413153 413154 + Identifier 413153 413154 + EqualsGreaterThanToken 413156 413159 + CallExpression 413159 413187 + Identifier 413159 413181 + Identifier 413182 413183 + Identifier 413184 413186 + Block 413189 413413 + ForOfStatement 413191 413386 + VariableDeclarationList 413226 413251 + VariableDeclaration 413231 413251 + ArrayBindingPattern 413231 413251 + BindingElement 413233 413237 + Identifier 413233 413237 + BindingElement 413238 413250 + Identifier 413238 413250 + Identifier 413254 413260 + Block 413261 413386 + ExpressionStatement 413263 413355 + BinaryExpression 413263 413354 + ElementAccessExpression 413263 413316 + Identifier 413263 413303 + Identifier 413304 413315 + EqualsToken 413316 413318 + CallExpression 413318 413354 + Identifier 413318 413339 + Identifier 413340 413344 + Identifier 413345 413353 + ExpressionStatement 413438 413475 + CallExpression 413438 413474 + Identifier 413438 413472 + ReturnStatement 413494 413528 + Identifier 413520 413527 + FunctionDeclaration 413554 413792 + Identifier 413574 413596 + Parameter 413597 413604 + Identifier 413597 413598 + TypeReference 413599 413604 + Identifier 413599 413604 + Parameter 413605 413613 + Identifier 413605 413607 + TypeReference 413608 413613 + Identifier 413608 413613 + BooleanKeyword 413615 413623 + Block 413623 413792 + ReturnStatement 413625 413781 + BinaryExpression 413645 413780 + BinaryExpression 413645 413709 + BinaryExpression 413645 413653 + Identifier 413645 413647 + EqualsEqualsEqualsToken 413647 413651 + Identifier 413651 413653 + BarBarToken 413653 413673 + BinaryExpression 413673 413709 + PrefixUnaryExpression 413673 413684 + PrefixUnaryExpression 413675 413684 + PropertyAccessExpression 413676 413684 + Identifier 413676 413677 + Identifier 413678 413684 + AmpersandAmpersandToken 413684 413687 + BinaryExpression 413687 413709 + PropertyAccessExpression 413687 413696 + Identifier 413687 413689 + Identifier 413690 413696 + EqualsEqualsEqualsToken 413696 413700 + PropertyAccessExpression 413700 413709 + Identifier 413700 413702 + Identifier 413703 413709 + BarBarToken 413709 413729 + BinaryExpression 413729 413780 + PrefixUnaryExpression 413729 413745 + PrefixUnaryExpression 413731 413745 + PropertyAccessExpression 413732 413745 + Identifier 413732 413733 + Identifier 413734 413745 + AmpersandAmpersandToken 413745 413748 + BinaryExpression 413748 413780 + PropertyAccessExpression 413748 413762 + Identifier 413748 413750 + Identifier 413751 413762 + EqualsEqualsEqualsToken 413762 413766 + PropertyAccessExpression 413766 413780 + Identifier 413766 413768 + Identifier 413769 413780 + FunctionDeclaration 413792 415048 + Identifier 413812 413855 + Parameter 413856 413876 + Identifier 413856 413865 + TypeReference 413866 413876 + Identifier 413866 413876 + Parameter 413877 413905 + Identifier 413877 413885 + TypeReference 413886 413905 + Identifier 413886 413905 + Parameter 413906 413937 + Identifier 413906 413915 + UnionType 413916 413937 + TypeReference 413916 413925 + Identifier 413916 413925 + UndefinedKeyword 413927 413937 + TypeReference 413939 413965 + Identifier 413939 413965 + Block 413965 415048 + VariableStatement 413967 414033 + VariableDeclarationList 413967 414032 + VariableDeclaration 413986 414032 + Identifier 413986 413991 + BinaryExpression 413993 414032 + CallExpression 413993 414025 + Identifier 413993 414014 + Identifier 414015 414024 + BarBarToken 414025 414028 + StringLiteral 414028 414032 + VariableStatement 414033 414120 + VariableDeclarationList 414033 414119 + VariableDeclaration 414052 414119 + Identifier 414052 414068 + CallExpression 414070 414119 + Identifier 414070 414091 + PropertyAccessExpression 414092 414109 + Identifier 414092 414101 + Identifier 414102 414109 + Identifier 414110 414118 + VariableStatement 414120 414449 + VariableDeclarationList 414120 414448 + VariableDeclaration 414141 414448 + Identifier 414141 414159 + CallExpression 414161 414448 + PropertyAccessExpression 414161 414196 + Identifier 414161 414169 + Identifier 414170 414196 + Identifier 414197 414238 + Identifier 414239 414285 + Identifier 414286 414308 + Identifier 414309 414354 + Identifier 414355 414388 + Identifier 414389 414432 + IfStatement 414449 414580 + PrefixUnaryExpression 414467 414476 + Identifier 414468 414476 + Block 414477 414580 + ExpressionStatement 414479 414565 + BinaryExpression 414479 414564 + Identifier 414479 414505 + EqualsToken 414505 414507 + CallExpression 414507 414564 + Identifier 414507 414528 + BinaryExpression 414529 414554 + PropertyAccessExpression 414529 414543 + Identifier 414529 414538 + Identifier 414539 414543 + BarBarToken 414543 414546 + Identifier 414546 414554 + Identifier 414555 414563 + IfStatement 414580 414744 + BinaryExpression 414598 414676 + PrefixUnaryExpression 414598 414613 + PropertyAccessExpression 414599 414613 + Identifier 414599 414608 + Identifier 414609 414613 + AmpersandAmpersandToken 414613 414616 + PrefixUnaryExpression 414616 414676 + ParenthesizedExpression 414618 414676 + BinaryExpression 414619 414675 + PropertyAccessExpression 414619 414632 + Identifier 414619 414626 + Identifier 414627 414632 + AmpersandToken 414632 414634 + PropertyAccessExpression 414634 414675 + Identifier 414634 414651 + Identifier 414652 414675 + Block 414677 414744 + ExpressionStatement 414679 414729 + BinaryExpression 414679 414728 + PropertyAccessExpression 414679 414721 + Identifier 414679 414704 + Identifier 414705 414721 + EqualsToken 414721 414723 + TrueKeyword 414723 414728 + ExpressionStatement 414744 414803 + BinaryExpression 414744 414802 + PropertyAccessExpression 414744 414783 + Identifier 414744 414765 + Identifier 414766 414783 + PlusEqualsToken 414783 414786 + BinaryExpression 414786 414802 + PropertyAccessExpression 414786 414798 + Identifier 414786 414791 + Identifier 414792 414798 + PlusToken 414798 414800 + NumericLiteral 414800 414802 + ReturnStatement 414803 415037 + CallExpression 414823 415036 + PropertyAccessExpression 414823 414852 + Identifier 414823 414831 + Identifier 414832 414852 + ConditionalExpression 414853 414955 + PropertyAccessExpression 414853 414891 + Identifier 414853 414880 + Identifier 414881 414891 + QuestionToken 414891 414893 + ArrayLiteralExpression 414893 414943 + CallExpression 414895 414942 + PropertyAccessExpression 414895 414914 + Identifier 414895 414902 + Identifier 414903 414914 + PropertyAccessExpression 414915 414941 + Identifier 414915 414925 + Identifier 414926 414941 + ColonToken 414943 414945 + Identifier 414945 414955 + ArrayLiteralExpression 414956 414993 + Identifier 414975 414992 + Identifier 414994 415020 + InterfaceDeclaration 415048 415245 + Identifier 415069 415108 + PropertySignature 415110 415156 + Identifier 415110 415133 + QuestionToken 415133 415134 + TypeOperator 415135 415155 + ArrayType 415144 415155 + TypeReference 415144 415153 + Identifier 415144 415153 + PropertySignature 415156 415190 + Identifier 415156 415174 + QuestionToken 415174 415175 + TypeReference 415176 415189 + Identifier 415176 415189 + PropertySignature 415190 415234 + Identifier 415190 415217 + QuestionToken 415217 415218 + TypeReference 415219 415233 + Identifier 415219 415233 + FunctionDeclaration 415245 421230 + Identifier 415265 415303 + Parameter 415304 415324 + Identifier 415304 415313 + TypeReference 415314 415324 + Identifier 415314 415324 + Parameter 415325 415360 + Identifier 415325 415330 + IndexedAccessType 415331 415360 + TypeReference 415331 415352 + Identifier 415331 415352 + LiteralType 415353 415359 + StringLiteral 415353 415359 + Parameter 415361 415389 + Identifier 415361 415369 + TypeReference 415370 415389 + Identifier 415370 415389 + Parameter 415390 415439 + Identifier 415390 415398 + QuestionToken 415398 415399 + TypeReference 415400 415439 + Identifier 415400 415439 + TypeReference 415441 415462 + Identifier 415441 415462 + Block 415462 421230 + VariableStatement 415464 415537 + VariableDeclarationList 415464 415536 + VariableDeclaration 415481 415536 + Identifier 415481 415496 + UnionType 415497 415536 + ArrayType 415497 415524 + TypeReference 415497 415522 + Identifier 415497 415522 + UndefinedKeyword 415526 415536 + VariableStatement 415537 415593 + VariableDeclarationList 415537 415592 + VariableDeclaration 415554 415592 + Identifier 415554 415568 + UnionType 415569 415592 + ArrayType 415569 415580 + TypeReference 415569 415578 + Identifier 415569 415578 + UndefinedKeyword 415582 415592 + VariableStatement 415593 415697 + VariableDeclarationList 415593 415696 + VariableDeclaration 415614 415696 + Identifier 415614 415629 + ElementAccessExpression 415631 415696 + CallExpression 415631 415693 + Identifier 415631 415653 + Identifier 415654 415663 + TrueKeyword 415664 415692 + NumericLiteral 415694 415695 + VariableStatement 415697 415855 + VariableDeclarationList 415697 415854 + VariableDeclaration 415716 415854 + Identifier 415716 415724 + CallExpression 415726 415854 + Identifier 415726 415740 + Identifier 415741 415748 + PropertyAccessExpression 415749 415771 + Identifier 415749 415759 + Identifier 415760 415771 + Identifier 415772 415787 + PropertyAccessExpression 415788 415813 + Identifier 415788 415798 + Identifier 415799 415813 + PropertyAccessExpression 415814 415835 + Identifier 415814 415824 + Identifier 415825 415835 + PropertyAccessExpression 415836 415853 + Identifier 415836 415846 + Identifier 415847 415853 + ExpressionStatement 415855 415900 + BinaryExpression 415855 415899 + PropertyAccessExpression 415855 415894 + Identifier 415855 415876 + Identifier 415877 415894 + PlusEqualsToken 415894 415897 + NumericLiteral 415897 415899 + IfStatement 415900 416512 + BinaryExpression 416009 416146 + BinaryExpression 416009 416111 + BinaryExpression 416009 416091 + BinaryExpression 416009 416071 + PropertyAccessExpression 416009 416022 + Identifier 416009 416016 + Identifier 416017 416022 + AmpersandToken 416022 416024 + PropertyAccessExpression 416024 416071 + Identifier 416024 416041 + Identifier 416042 416071 + AmpersandAmpersandToken 416071 416074 + PropertyAccessExpression 416074 416091 + Identifier 416074 416084 + Identifier 416085 416091 + AmpersandAmpersandToken 416091 416094 + PropertyAccessExpression 416094 416111 + Identifier 416094 416104 + Identifier 416105 416111 + AmpersandAmpersandToken 416111 416114 + PropertyAccessExpression 416114 416146 + PropertyAccessExpression 416114 416131 + Identifier 416114 416124 + Identifier 416125 416131 + Identifier 416132 416146 + Block 416147 416324 + ExpressionStatement 416149 416309 + BinaryExpression 416149 416308 + Identifier 416149 416180 + EqualsToken 416180 416182 + CallExpression 416182 416308 + PropertyAccessExpression 416182 416218 + PropertyAccessExpression 416182 416214 + PropertyAccessExpression 416182 416199 + Identifier 416182 416192 + Identifier 416193 416199 + Identifier 416200 416214 + Identifier 416215 416218 + ArrowFunction 416219 416307 + Parameter 416219 416228 + Identifier 416219 416228 + EqualsGreaterThanToken 416228 416231 + CallExpression 416231 416307 + Identifier 416231 416252 + CallExpression 416253 416297 + Identifier 416253 416268 + Identifier 416269 416278 + PropertyAccessExpression 416279 416296 + Identifier 416279 416289 + Identifier 416290 416296 + Identifier 416298 416306 + Block 416342 416512 + ExpressionStatement 416344 416497 + BinaryExpression 416344 416496 + Identifier 416344 416376 + EqualsToken 416376 416378 + BinaryExpression 416378 416496 + PropertyAccessExpression 416378 416403 + Identifier 416378 416388 + Identifier 416389 416403 + AmpersandAmpersandToken 416403 416406 + CallExpression 416406 416496 + PropertyAccessExpression 416406 416435 + PropertyAccessExpression 416406 416431 + Identifier 416406 416416 + Identifier 416417 416431 + Identifier 416432 416435 + ArrowFunction 416436 416495 + Parameter 416436 416445 + Identifier 416436 416445 + EqualsGreaterThanToken 416445 416448 + CallExpression 416448 416495 + Identifier 416448 416475 + Identifier 416476 416485 + Identifier 416486 416494 + VariableStatement 416512 416575 + VariableDeclarationList 416512 416574 + VariableDeclaration 416533 416574 + Identifier 416533 416546 + CallExpression 416548 416574 + Identifier 416548 416565 + Identifier 416566 416573 + ExpressionStatement 416575 416646 + BinaryExpression 416575 416645 + PropertyAccessExpression 416575 416602 + Identifier 416575 416596 + Identifier 416597 416602 + AmpersandEqualsToken 416602 416605 + PrefixUnaryExpression 416605 416645 + PropertyAccessExpression 416607 416645 + Identifier 416607 416623 + Identifier 416624 416645 + VariableStatement 416646 417131 + VariableDeclarationList 416646 417130 + VariableDeclaration 416849 417130 + Identifier 416849 416860 + CallExpression 416862 417130 + PropertyAccessExpression 416862 417034 + ParenthesizedExpression 416862 417030 + ConditionalExpression 416864 417029 + CallExpression 416864 416989 + Identifier 416864 416868 + Identifier 416869 416883 + ArrowFunction 416884 416988 + Parameter 416884 416886 + Identifier 416884 416886 + EqualsGreaterThanToken 416886 416889 + BinaryExpression 416889 416988 + BinaryExpression 416889 416937 + Identifier 416889 416891 + ExclamationEqualsEqualsToken 416891 416895 + ElementAccessExpression 416895 416937 + Identifier 416895 416910 + BinaryExpression 416911 416936 + PropertyAccessExpression 416911 416932 + Identifier 416911 416925 + Identifier 416926 416932 + MinusToken 416932 416934 + NumericLiteral 416934 416936 + AmpersandAmpersandToken 416937 416940 + PrefixUnaryExpression 416940 416988 + PrefixUnaryExpression 416942 416988 + ParenthesizedExpression 416943 416988 + BinaryExpression 416944 416987 + CallExpression 416944 416960 + Identifier 416944 416957 + Identifier 416958 416959 + AmpersandToken 416960 416962 + PropertyAccessExpression 416962 416987 + Identifier 416962 416973 + Identifier 416974 416987 + QuestionToken 416989 416991 + PropertyAccessExpression 416991 417012 + Identifier 416991 417001 + Identifier 417002 417012 + ColonToken 417012 417014 + Identifier 417014 417029 + Identifier 417031 417034 + ArrowFunction 417035 417129 + Parameter 417035 417044 + Identifier 417035 417044 + EqualsGreaterThanToken 417044 417047 + CallExpression 417047 417129 + Identifier 417047 417076 + Identifier 417077 417086 + Identifier 417087 417095 + BinaryExpression 417096 417128 + Identifier 417096 417101 + EqualsEqualsEqualsToken 417101 417105 + PropertyAccessExpression 417105 417128 + Identifier 417105 417116 + Identifier 417117 417128 + VariableStatement 417131 417283 + VariableDeclarationList 417131 417282 + VariableDeclaration 417150 417282 + Identifier 417150 417164 + ConditionalExpression 417166 417282 + BinaryExpression 417166 417217 + PropertyAccessExpression 417166 417180 + Identifier 417166 417174 + Identifier 417175 417180 + AmpersandToken 417180 417182 + PropertyAccessExpression 417182 417217 + Identifier 417182 417199 + Identifier 417200 417217 + QuestionToken 417217 417219 + Identifier 417219 417229 + ColonToken 417229 417231 + CallExpression 417231 417282 + Identifier 417231 417262 + Identifier 417263 417272 + Identifier 417273 417281 + IfStatement 417283 417384 + Identifier 417301 417314 + Block 417315 417384 + ExpressionStatement 417317 417369 + CallExpression 417317 417368 + PropertyAccessExpression 417317 417353 + Identifier 417317 417345 + Identifier 417346 417353 + Identifier 417354 417367 + ExpressionStatement 417384 417413 + CallExpression 417384 417412 + Identifier 417384 417410 + VariableStatement 417413 417504 + VariableDeclarationList 417413 417503 + VariableDeclaration 417434 417503 + Identifier 417434 417449 + CallExpression 417451 417503 + Identifier 417451 417483 + Identifier 417484 417491 + Identifier 417492 417502 + VariableStatement 417504 417555 + VariableDeclarationList 417504 417554 + VariableDeclaration 417523 417554 + Identifier 417523 417533 + PropertyAccessExpression 417535 417554 + Identifier 417535 417543 + QuestionDotToken 417543 417545 + Identifier 417545 417554 + IfStatement 417555 417836 + BinaryExpression 417573 417655 + ParenthesizedExpression 417573 417610 + BinaryExpression 417574 417609 + Identifier 417574 417578 + EqualsEqualsEqualsToken 417578 417582 + PropertyAccessExpression 417582 417609 + Identifier 417582 417593 + Identifier 417594 417609 + AmpersandAmpersandToken 417610 417613 + BinaryExpression 417613 417655 + PropertyAccessExpression 417613 417629 + Identifier 417613 417623 + Identifier 417624 417629 + AmpersandToken 417629 417631 + PropertyAccessExpression 417631 417655 + Identifier 417631 417646 + Identifier 417647 417655 + Block 417656 417836 + VariableStatement 417658 417718 + VariableDeclarationList 417658 417717 + VariableDeclaration 417681 417717 + Identifier 417681 417687 + CallExpression 417689 417717 + Identifier 417689 417706 + Identifier 417707 417716 + ExpressionStatement 417718 417821 + BinaryExpression 417718 417820 + Identifier 417718 417745 + EqualsToken 417745 417747 + CallExpression 417747 417820 + PropertyAccessExpression 417747 417788 + Identifier 417747 417755 + Identifier 417756 417788 + BinaryExpression 417789 417819 + Identifier 417789 417794 + BarToken 417794 417796 + PropertyAccessExpression 417796 417819 + Identifier 417796 417810 + Identifier 417811 417819 + VariableStatement 417836 420558 + VariableDeclarationList 417836 420557 + VariableDeclaration 417857 420557 + Identifier 417857 417862 + ConditionalExpression 417864 420557 + BinaryExpression 417864 417898 + Identifier 417864 417869 + EqualsEqualsEqualsToken 417869 417873 + PropertyAccessExpression 417873 417898 + Identifier 417873 417884 + Identifier 417885 417898 + QuestionToken 417898 417900 + CallExpression 417900 417972 + PropertyAccessExpression 417900 417928 + Identifier 417900 417908 + Identifier 417909 417928 + Identifier 417929 417943 + Identifier 417944 417955 + Identifier 417956 417971 + ColonToken 417972 417974 + ConditionalExpression 417974 420557 + BinaryExpression 417974 418030 + Identifier 417974 417996 + EqualsEqualsEqualsToken 417996 418000 + PropertyAccessExpression 418000 418030 + Identifier 418000 418011 + Identifier 418012 418030 + QuestionToken 418030 418032 + CallExpression 418032 418109 + PropertyAccessExpression 418032 418065 + Identifier 418032 418040 + Identifier 418041 418065 + Identifier 418066 418080 + Identifier 418081 418092 + Identifier 418093 418108 + ColonToken 418109 418111 + ConditionalExpression 418111 420557 + BinaryExpression 418111 418164 + Identifier 418111 418133 + EqualsEqualsEqualsToken 418133 418137 + PropertyAccessExpression 418137 418164 + Identifier 418137 418148 + Identifier 418149 418164 + QuestionToken 418164 418166 + CallExpression 418166 418322 + PropertyAccessExpression 418166 418196 + Identifier 418166 418174 + Identifier 418175 418196 + Identifier 418197 418206 + BinaryExpression 418207 418253 + PropertyAccessExpression 418207 418221 + Identifier 418207 418215 + QuestionDotToken 418215 418217 + Identifier 418217 418221 + QuestionQuestionToken 418221 418224 + CallExpression 418224 418253 + PropertyAccessExpression 418224 418249 + Identifier 418224 418232 + Identifier 418233 418249 + StringLiteral 418250 418252 + PropertyAccessExpression 418254 418277 + Identifier 418254 418262 + QuestionDotToken 418262 418264 + Identifier 418264 418277 + Identifier 418278 418293 + Identifier 418294 418305 + Identifier 418306 418321 + ColonToken 418322 418324 + ConditionalExpression 418324 420557 + BinaryExpression 418324 418379 + Identifier 418324 418346 + EqualsEqualsEqualsToken 418346 418350 + PropertyAccessExpression 418350 418379 + Identifier 418350 418361 + Identifier 418362 418379 + QuestionToken 418379 418381 + CallExpression 418381 418593 + PropertyAccessExpression 418381 418413 + Identifier 418381 418389 + Identifier 418390 418413 + Identifier 418414 418423 + Identifier 418424 418452 + BinaryExpression 418453 418499 + PropertyAccessExpression 418453 418467 + Identifier 418453 418461 + QuestionDotToken 418461 418463 + Identifier 418463 418467 + QuestionQuestionToken 418467 418470 + CallExpression 418470 418499 + PropertyAccessExpression 418470 418495 + Identifier 418470 418478 + Identifier 418479 418495 + StringLiteral 418496 418498 + Identifier 418500 418528 + Identifier 418529 418544 + Identifier 418545 418556 + Identifier 418557 418572 + Identifier 418573 418592 + ColonToken 418593 418595 + ConditionalExpression 418595 420557 + BinaryExpression 418595 418644 + Identifier 418595 418617 + EqualsEqualsEqualsToken 418617 418621 + PropertyAccessExpression 418621 418644 + Identifier 418621 418632 + Identifier 418633 418644 + QuestionToken 418644 418646 + CallExpression 418646 418726 + PropertyAccessExpression 418646 418683 + Identifier 418646 418654 + Identifier 418655 418683 + Identifier 418684 418693 + Identifier 418694 418705 + Identifier 418706 418725 + ColonToken 418726 418728 + ConditionalExpression 418728 420557 + BinaryExpression 418728 418777 + Identifier 418728 418750 + EqualsEqualsEqualsToken 418750 418754 + PropertyAccessExpression 418754 418777 + Identifier 418754 418765 + Identifier 418766 418777 + QuestionToken 418777 418779 + CallExpression 418779 418922 + PropertyAccessExpression 418779 418816 + Identifier 418779 418787 + Identifier 418788 418816 + Identifier 418817 418826 + BinaryExpression 418827 418873 + PropertyAccessExpression 418827 418841 + Identifier 418827 418835 + QuestionDotToken 418835 418837 + Identifier 418837 418841 + QuestionQuestionToken 418841 418844 + CallExpression 418844 418873 + PropertyAccessExpression 418844 418869 + Identifier 418844 418852 + Identifier 418853 418869 + StringLiteral 418870 418872 + Identifier 418874 418885 + Identifier 418886 418901 + Identifier 418902 418921 + ColonToken 418922 418924 + ConditionalExpression 418924 420557 + BinaryExpression 418924 418973 + Identifier 418924 418946 + EqualsEqualsEqualsToken 418946 418950 + PropertyAccessExpression 418950 418973 + Identifier 418950 418961 + Identifier 418962 418973 + QuestionToken 418973 418975 + CallExpression 418975 419102 + PropertyAccessExpression 418975 419012 + Identifier 418975 418983 + Identifier 418984 419012 + Identifier 419013 419022 + BinaryExpression 419023 419069 + PropertyAccessExpression 419023 419037 + Identifier 419023 419031 + QuestionDotToken 419031 419033 + Identifier 419033 419037 + QuestionQuestionToken 419037 419040 + CallExpression 419040 419069 + PropertyAccessExpression 419040 419065 + Identifier 419040 419048 + Identifier 419049 419065 + StringLiteral 419066 419068 + Identifier 419070 419081 + Identifier 419082 419101 + ColonToken 419102 419104 + ConditionalExpression 419104 420557 + BinaryExpression 419104 419156 + Identifier 419104 419126 + EqualsEqualsEqualsToken 419126 419130 + PropertyAccessExpression 419130 419156 + Identifier 419130 419141 + Identifier 419142 419156 + QuestionToken 419156 419158 + CallExpression 419158 419226 + PropertyAccessExpression 419158 419187 + Identifier 419158 419166 + Identifier 419167 419187 + Identifier 419188 419197 + Identifier 419198 419209 + Identifier 419210 419225 + ColonToken 419226 419228 + ConditionalExpression 419228 420557 + BinaryExpression 419228 419283 + Identifier 419228 419250 + EqualsEqualsEqualsToken 419250 419254 + PropertyAccessExpression 419254 419283 + Identifier 419254 419265 + Identifier 419266 419283 + QuestionToken 419283 419285 + CallExpression 419285 419345 + PropertyAccessExpression 419285 419317 + Identifier 419285 419293 + Identifier 419294 419317 + Identifier 419318 419328 + Identifier 419329 419344 + ColonToken 419345 419347 + ConditionalExpression 419347 420557 + BinaryExpression 419347 419397 + Identifier 419347 419369 + EqualsEqualsEqualsToken 419369 419373 + PropertyAccessExpression 419373 419397 + Identifier 419373 419384 + Identifier 419385 419397 + QuestionToken 419397 419399 + CallExpression 419399 419539 + PropertyAccessExpression 419399 419430 + Identifier 419399 419407 + Identifier 419408 419430 + Identifier 419431 419445 + Identifier 419446 419457 + BinaryExpression 419458 419538 + Identifier 419458 419473 + QuestionQuestionToken 419473 419476 + CallExpression 419476 419538 + PropertyAccessExpression 419476 419508 + Identifier 419476 419484 + Identifier 419485 419508 + CallExpression 419509 419537 + PropertyAccessExpression 419509 419533 + Identifier 419509 419516 + Identifier 419517 419533 + StringLiteral 419534 419536 + ColonToken 419539 419541 + ConditionalExpression 419541 420557 + BinaryExpression 419541 419594 + Identifier 419541 419563 + EqualsEqualsEqualsToken 419563 419567 + PropertyAccessExpression 419567 419594 + Identifier 419567 419578 + Identifier 419579 419594 + QuestionToken 419594 419596 + CallExpression 419596 419750 + PropertyAccessExpression 419596 419630 + Identifier 419596 419604 + Identifier 419605 419630 + Identifier 419631 419640 + Identifier 419641 419656 + Identifier 419657 419668 + BinaryExpression 419669 419749 + Identifier 419669 419684 + QuestionQuestionToken 419684 419687 + CallExpression 419687 419749 + PropertyAccessExpression 419687 419719 + Identifier 419687 419695 + Identifier 419696 419719 + CallExpression 419720 419748 + PropertyAccessExpression 419720 419744 + Identifier 419720 419727 + Identifier 419728 419744 + StringLiteral 419745 419747 + ColonToken 419750 419752 + ConditionalExpression 419752 420557 + BinaryExpression 419752 419809 + Identifier 419752 419774 + EqualsEqualsEqualsToken 419774 419778 + PropertyAccessExpression 419778 419809 + Identifier 419778 419789 + Identifier 419790 419809 + QuestionToken 419809 419811 + CallExpression 419811 420030 + PropertyAccessExpression 419811 419845 + Identifier 419811 419819 + Identifier 419820 419845 + Identifier 419846 419855 + Identifier 419856 419884 + ConditionalExpression 419885 419965 + PropertyAccessExpression 419885 419899 + Identifier 419885 419893 + QuestionDotToken 419893 419895 + Identifier 419895 419899 + QuestionToken 419899 419901 + CallExpression 419901 419934 + Identifier 419901 419906 + PropertyAccessExpression 419907 419919 + Identifier 419907 419914 + Identifier 419915 419919 + Identifier 419920 419933 + ColonToken 419934 419936 + CallExpression 419936 419965 + PropertyAccessExpression 419936 419961 + Identifier 419936 419944 + Identifier 419945 419961 + StringLiteral 419962 419964 + Identifier 419966 419981 + Identifier 419982 419993 + Identifier 419994 420009 + Identifier 420010 420029 + ColonToken 420030 420032 + ConditionalExpression 420032 420557 + BinaryExpression 420032 420088 + Identifier 420032 420054 + EqualsEqualsEqualsToken 420054 420058 + PropertyAccessExpression 420058 420088 + Identifier 420058 420069 + Identifier 420070 420088 + QuestionToken 420088 420090 + CallExpression 420090 420313 + PropertyAccessExpression 420090 420123 + Identifier 420090 420098 + Identifier 420099 420123 + Identifier 420124 420133 + Identifier 420134 420162 + ConditionalExpression 420163 420243 + PropertyAccessExpression 420163 420177 + Identifier 420163 420171 + QuestionDotToken 420171 420173 + Identifier 420173 420177 + QuestionToken 420177 420179 + CallExpression 420179 420212 + Identifier 420179 420184 + PropertyAccessExpression 420185 420197 + Identifier 420185 420192 + Identifier 420193 420197 + Identifier 420198 420211 + ColonToken 420212 420214 + CallExpression 420214 420243 + PropertyAccessExpression 420214 420239 + Identifier 420214 420222 + Identifier 420223 420239 + StringLiteral 420240 420242 + Identifier 420244 420259 + Identifier 420260 420271 + Identifier 420272 420287 + CallExpression 420288 420312 + PropertyAccessExpression 420288 420308 + Identifier 420288 420296 + Identifier 420297 420308 + ArrayLiteralExpression 420309 420311 + ColonToken 420313 420315 + ConditionalExpression 420315 420557 + BinaryExpression 420315 420366 + Identifier 420315 420337 + EqualsEqualsEqualsToken 420337 420341 + PropertyAccessExpression 420341 420366 + Identifier 420341 420352 + Identifier 420353 420366 + QuestionToken 420366 420368 + CallExpression 420368 420514 + PropertyAccessExpression 420368 420396 + Identifier 420368 420376 + Identifier 420377 420396 + Identifier 420397 420406 + Identifier 420407 420422 + Identifier 420423 420434 + Identifier 420435 420450 + Identifier 420451 420488 + CallExpression 420489 420513 + PropertyAccessExpression 420489 420509 + Identifier 420489 420497 + Identifier 420498 420509 + ArrayLiteralExpression 420510 420512 + ColonToken 420514 420516 + CallExpression 420516 420557 + PropertyAccessExpression 420516 420551 + Identifier 420516 420539 + Identifier 420540 420551 + Identifier 420552 420556 + IfStatement 420558 420687 + Identifier 420578 420591 + Block 420592 420687 + ExpressionStatement 420594 420672 + BinaryExpression 420594 420671 + PropertyAccessExpression 420594 420630 + Identifier 420594 420616 + Identifier 420617 420630 + EqualsToken 420630 420632 + CallExpression 420632 420671 + PropertyAccessExpression 420632 420656 + Identifier 420632 420640 + Identifier 420641 420656 + Identifier 420657 420670 + IfStatement 420687 421165 + BinaryExpression 420705 420831 + BinaryExpression 420705 420762 + PropertyAccessExpression 420705 420732 + PropertyAccessExpression 420705 420726 + Identifier 420705 420714 + Identifier 420715 420726 + QuestionDotToken 420726 420728 + Identifier 420728 420732 + EqualsEqualsEqualsToken 420732 420736 + PropertyAccessExpression 420736 420762 + Identifier 420736 420747 + Identifier 420748 420762 + AmpersandAmpersandToken 420762 420765 + BinaryExpression 420765 420831 + PropertyAccessExpression 420765 420799 + PropertyAccessExpression 420765 420794 + PropertyAccessExpression 420765 420787 + Identifier 420765 420775 + Identifier 420776 420787 + Identifier 420788 420794 + Identifier 420795 420799 + EqualsEqualsEqualsToken 420799 420803 + PropertyAccessExpression 420803 420831 + Identifier 420803 420814 + Identifier 420815 420831 + Block 420832 421165 + VariableStatement 420834 421026 + VariableDeclarationList 420834 421025 + VariableDeclaration 420857 421025 + Identifier 420857 420865 + CallExpression 420867 421025 + PropertyAccessExpression 420867 421019 + CallExpression 420867 421014 + PropertyAccessExpression 420867 420979 + CallExpression 420867 420975 + PropertyAccessExpression 420867 420961 + CallExpression 420867 420955 + PropertyAccessExpression 420867 420948 + CallExpression 420867 420942 + Identifier 420867 420881 + PropertyAccessExpression 420882 420917 + PropertyAccessExpression 420882 420910 + PropertyAccessExpression 420882 420903 + Identifier 420882 420891 + Identifier 420892 420903 + Identifier 420904 420910 + Identifier 420911 420917 + TrueKeyword 420918 420941 + Identifier 420943 420948 + NumericLiteral 420949 420950 + PrefixUnaryExpression 420951 420954 + NumericLiteral 420953 420954 + Identifier 420956 420961 + RegularExpressionLiteral 420962 420974 + Identifier 420976 420979 + ArrowFunction 420980 421013 + Parameter 420980 420984 + Identifier 420980 420984 + EqualsGreaterThanToken 420984 420987 + CallExpression 420987 421013 + PropertyAccessExpression 420987 421000 + Identifier 420987 420992 + Identifier 420993 421000 + RegularExpressionLiteral 421001 421007 + StringLiteral 421008 421012 + Identifier 421015 421019 + StringLiteral 421020 421024 + ExpressionStatement 421026 421150 + CallExpression 421026 421149 + Identifier 421026 421070 + Identifier 421071 421075 + PropertyAccessExpression 421076 421110 + Identifier 421076 421087 + Identifier 421088 421110 + Identifier 421111 421119 + TrueKeyword 421120 421148 + ExpressionStatement 421165 421193 + CallExpression 421165 421192 + Identifier 421165 421188 + QuestionDotToken 421188 421190 + ReturnStatement 421193 421219 + Identifier 421213 421218 + FunctionDeclaration 421230 425072 + Identifier 421250 421273 + Parameter 421274 421301 + Identifier 421274 421281 + TypeReference 421282 421301 + Identifier 421282 421301 + Block 421302 425072 + IfStatement 421304 421474 + BinaryExpression 421322 421389 + Identifier 421322 421339 + AmpersandAmpersandToken 421339 421342 + PropertyAccessExpression 421342 421389 + Identifier 421342 421360 + Identifier 421361 421389 + Block 421390 421474 + ExpressionStatement 421392 421459 + CallExpression 421392 421458 + PropertyAccessExpression 421392 421456 + Identifier 421392 421427 + Identifier 421428 421456 + VariableStatement 421474 421526 + VariableDeclarationList 421474 421525 + VariableDeclaration 421493 421525 + Identifier 421493 421508 + ArrayType 421509 421525 + TypeReference 421509 421523 + Identifier 421509 421523 + VariableStatement 421526 421577 + VariableDeclarationList 421526 421576 + VariableDeclaration 421543 421576 + Identifier 421543 421560 + ArrayType 421561 421576 + ParenthesizedType 421561 421574 + FunctionType 421563 421573 + VoidKeyword 421568 421573 + VariableStatement 421577 421612 + VariableDeclarationList 421577 421611 + VariableDeclaration 421594 421611 + Identifier 421594 421603 + FalseKeyword 421605 421611 + VariableStatement 421612 421661 + VariableDeclarationList 421612 421660 + VariableDeclaration 421631 421660 + Identifier 421631 421642 + PropertyAccessExpression 421644 421660 + Identifier 421644 421652 + Identifier 421653 421660 + VariableStatement 421661 421724 + VariableDeclarationList 421661 421723 + VariableDeclaration 421680 421723 + Identifier 421680 421698 + PropertyAccessExpression 421700 421723 + Identifier 421700 421708 + Identifier 421709 421723 + ExpressionStatement 421724 421773 + BinaryExpression 421724 421772 + PropertyAccessExpression 421724 421760 + Identifier 421724 421745 + Identifier 421746 421760 + EqualsToken 421760 421762 + Identifier 421762 421772 + VariableStatement 421773 421840 + VariableDeclarationList 421773 421839 + VariableDeclaration 421792 421839 + Identifier 421792 421812 + PropertyAccessExpression 421814 421839 + Identifier 421814 421822 + Identifier 421823 421839 + ExpressionStatement 421840 423247 + BinaryExpression 421840 423246 + PropertyAccessExpression 421840 421869 + Identifier 421840 421861 + Identifier 421862 421869 + EqualsToken 421869 421871 + NewExpression 421871 423246 + Identifier 421875 421893 + Identifier 421894 421901 + ObjectLiteralExpression 421902 423209 + SpreadAssignment 421904 421941 + PropertyAccessExpression 421925 421941 + Identifier 421925 421935 + Identifier 421936 421941 + MethodDeclaration 421942 422088 + Identifier 421942 421986 + Block 421988 422088 + ExpressionStatement 421990 422069 + CallExpression 421990 422068 + Identifier 421990 422021 + ArrowFunction 422022 422067 + EqualsGreaterThanToken 422024 422027 + CallExpression 422027 422067 + PropertyAccessExpression 422027 422065 + Identifier 422027 422038 + Identifier 422039 422065 + MethodDeclaration 422089 422237 + Identifier 422089 422134 + Block 422136 422237 + ExpressionStatement 422138 422218 + CallExpression 422138 422217 + Identifier 422138 422169 + ArrowFunction 422170 422216 + EqualsGreaterThanToken 422172 422175 + CallExpression 422175 422216 + PropertyAccessExpression 422175 422214 + Identifier 422175 422186 + Identifier 422187 422214 + MethodDeclaration 422238 422402 + Identifier 422238 422291 + Block 422293 422402 + ExpressionStatement 422295 422383 + CallExpression 422295 422382 + Identifier 422295 422326 + ArrowFunction 422327 422381 + EqualsGreaterThanToken 422329 422332 + CallExpression 422332 422381 + PropertyAccessExpression 422332 422379 + Identifier 422332 422343 + Identifier 422344 422379 + MethodDeclaration 422403 422589 + Identifier 422403 422458 + Parameter 422459 422468 + Identifier 422459 422468 + Block 422469 422589 + ExpressionStatement 422471 422570 + CallExpression 422471 422569 + Identifier 422471 422502 + ArrowFunction 422503 422568 + EqualsGreaterThanToken 422505 422508 + CallExpression 422508 422568 + PropertyAccessExpression 422508 422557 + Identifier 422508 422519 + Identifier 422520 422557 + Identifier 422558 422567 + MethodDeclaration 422590 422750 + Identifier 422590 422637 + Parameter 422638 422642 + Identifier 422638 422642 + Block 422643 422750 + ExpressionStatement 422645 422731 + CallExpression 422645 422730 + Identifier 422645 422676 + ArrowFunction 422677 422729 + EqualsGreaterThanToken 422679 422682 + CallExpression 422682 422729 + PropertyAccessExpression 422682 422723 + Identifier 422682 422693 + Identifier 422694 422723 + Identifier 422724 422728 + MethodDeclaration 422751 422941 + Identifier 422751 422805 + Parameter 422806 422818 + Identifier 422806 422818 + Block 422819 422941 + ExpressionStatement 422821 422922 + CallExpression 422821 422921 + Identifier 422821 422852 + ArrowFunction 422853 422920 + EqualsGreaterThanToken 422855 422858 + CallExpression 422858 422920 + PropertyAccessExpression 422858 422906 + Identifier 422858 422869 + Identifier 422870 422906 + Identifier 422907 422919 + MethodDeclaration 422942 423120 + Identifier 422942 422971 + Parameter 422972 422975 + Identifier 422972 422975 + Parameter 422976 422981 + Identifier 422976 422981 + Parameter 422982 422990 + Identifier 422982 422990 + Block 422991 423120 + ExpressionStatement 422993 423066 + CallExpression 422993 423065 + PropertyAccessExpression 422993 423043 + ParenthesizedExpression 422993 423038 + BinaryExpression 423016 423037 + Identifier 423016 423030 + QuestionQuestionEqualsToken 423030 423034 + ArrayLiteralExpression 423034 423037 + Identifier 423039 423043 + ArrayLiteralExpression 423044 423064 + Identifier 423045 423048 + Identifier 423049 423054 + Identifier 423055 423063 + ReturnStatement 423066 423101 + FalseKeyword 423094 423100 + PropertyAssignment 423121 423193 + Identifier 423121 423157 + PropertyAccessExpression 423158 423193 + PropertyAccessExpression 423158 423174 + Identifier 423158 423166 + Identifier 423167 423174 + Identifier 423175 423193 + PropertyAccessExpression 423210 423245 + PropertyAccessExpression 423210 423226 + Identifier 423210 423218 + Identifier 423219 423226 + Identifier 423227 423245 + ReturnStatement 423247 423430 + ObjectLiteralExpression 423269 423429 + ShorthandPropertyAssignment 423271 423307 + Identifier 423271 423307 + ShorthandPropertyAssignment 423308 423342 + Identifier 423308 423342 + ShorthandPropertyAssignment 423343 423370 + Identifier 423343 423370 + PropertyAssignment 423371 423413 + Identifier 423371 423397 + ArrowFunction 423398 423413 + EqualsGreaterThanToken 423401 423404 + Identifier 423404 423413 + FunctionDeclaration 423430 423672 + Identifier 423452 423462 + Parameter 423463 423491 + Identifier 423463 423478 + QuestionToken 423478 423479 + FunctionType 423480 423491 + VoidKeyword 423486 423491 + Block 423492 423672 + ExpressionStatement 423494 423528 + BinaryExpression 423494 423527 + Identifier 423494 423520 + EqualsToken 423520 423522 + TrueKeyword 423522 423527 + IfStatement 423528 423657 + Identifier 423550 423565 + Block 423566 423657 + ExpressionStatement 423568 423638 + CallExpression 423568 423637 + PropertyAccessExpression 423568 423620 + ParenthesizedExpression 423568 423615 + BinaryExpression 423591 423614 + Identifier 423591 423607 + QuestionQuestionEqualsToken 423607 423611 + ArrayLiteralExpression 423611 423614 + Identifier 423616 423620 + Identifier 423621 423636 + FunctionDeclaration 423672 424317 + Identifier 423696 423715 + Block 423717 424317 + VariableStatement 423719 423791 + VariableDeclarationList 423719 423790 + VariableDeclaration 423742 423790 + Identifier 423742 423760 + BinaryExpression 423762 423790 + PropertyAccessExpression 423762 423785 + Identifier 423762 423777 + QuestionDotToken 423777 423779 + Identifier 423779 423785 + QuestionQuestionToken 423785 423788 + NumericLiteral 423788 423790 + VariableStatement 423791 423867 + VariableDeclarationList 423791 423866 + VariableDeclaration 423814 423866 + Identifier 423814 423834 + BinaryExpression 423836 423866 + PropertyAccessExpression 423836 423861 + Identifier 423836 423853 + QuestionDotToken 423853 423855 + Identifier 423855 423861 + QuestionQuestionToken 423861 423864 + NumericLiteral 423864 423866 + ReturnStatement 423867 424302 + ArrowFunction 423891 424301 + EqualsGreaterThanToken 423894 423897 + Block 423897 424301 + ExpressionStatement 423899 423938 + BinaryExpression 423899 423937 + Identifier 423899 423929 + EqualsToken 423929 423931 + FalseKeyword 423931 423937 + IfStatement 423938 424142 + Identifier 424034 424048 + Block 424049 424142 + ExpressionStatement 424051 424119 + BinaryExpression 424051 424118 + PropertyAccessExpression 424051 424098 + Identifier 424051 424091 + Identifier 424092 424098 + EqualsToken 424098 424100 + Identifier 424100 424118 + IfStatement 424142 424282 + Identifier 424168 424184 + Block 424185 424282 + ExpressionStatement 424187 424259 + BinaryExpression 424187 424258 + PropertyAccessExpression 424187 424236 + Identifier 424187 424229 + Identifier 424230 424236 + EqualsToken 424236 424238 + Identifier 424238 424258 + FunctionDeclaration 424317 425061 + Identifier 424341 424358 + Block 424360 425061 + ExpressionStatement 424362 424409 + BinaryExpression 424362 424408 + PropertyAccessExpression 424362 424395 + Identifier 424362 424387 + Identifier 424388 424395 + EqualsToken 424395 424397 + Identifier 424397 424408 + ExpressionStatement 424409 424470 + BinaryExpression 424409 424469 + PropertyAccessExpression 424409 424449 + Identifier 424409 424434 + Identifier 424435 424449 + EqualsToken 424449 424451 + Identifier 424451 424469 + ExpressionStatement 424470 424535 + BinaryExpression 424470 424534 + PropertyAccessExpression 424470 424512 + Identifier 424470 424495 + Identifier 424496 424512 + EqualsToken 424512 424514 + Identifier 424514 424534 + ExpressionStatement 424535 424593 + CallExpression 424535 424592 + PropertyAccessExpression 424535 424580 + Identifier 424535 424571 + QuestionDotToken 424571 424573 + Identifier 424573 424580 + ArrowFunction 424581 424591 + Parameter 424581 424583 + Identifier 424581 424583 + EqualsGreaterThanToken 424583 424586 + CallExpression 424586 424591 + Identifier 424586 424589 + IfStatement 424593 424680 + Identifier 424615 424623 + Block 424624 424680 + ReturnStatement 424626 424661 + FalseKeyword 424654 424660 + ExpressionStatement 424680 425016 + CallExpression 424680 425015 + PropertyAccessExpression 424680 424721 + Identifier 424680 424712 + QuestionDotToken 424712 424714 + Identifier 424714 424721 + ArrowFunction 424722 424995 + Parameter 424745 424784 + ArrayBindingPattern 424745 424784 + BindingElement 424746 424752 + Identifier 424746 424752 + BindingElement 424753 424774 + Identifier 424753 424774 + BindingElement 424775 424783 + Identifier 424775 424783 + EqualsGreaterThanToken 424785 424788 + CallExpression 424788 424995 + PropertyAccessExpression 424788 424841 + PropertyAccessExpression 424788 424829 + Identifier 424788 424821 + Identifier 424822 424829 + Identifier 424830 424841 + Identifier 424842 424878 + Identifier 424879 424929 + Identifier 424930 424967 + ReturnStatement 425016 425046 + TrueKeyword 425040 425045 + FunctionDeclaration 425072 435012 + Identifier 425092 425106 + Parameter 425107 425148 + Identifier 425107 425128 + TypeReference 425129 425148 + Identifier 425129 425148 + Parameter 425149 425232 + Identifier 425149 425174 + UnionType 425175 425232 + TypeReference 425175 425198 + Identifier 425175 425198 + TypeReference 425200 425220 + Identifier 425200 425220 + UndefinedKeyword 425222 425232 + Parameter 425233 425292 + Identifier 425233 425261 + UnionType 425262 425292 + TypeOperator 425262 425280 + ArrayType 425271 425280 + TypeReference 425271 425278 + Identifier 425271 425278 + UndefinedKeyword 425282 425292 + Parameter 425293 425359 + Identifier 425293 425321 + UnionType 425322 425359 + TypeOperator 425322 425347 + ArrayType 425331 425347 + TypeReference 425331 425345 + Identifier 425331 425345 + UndefinedKeyword 425349 425359 + Parameter 425360 425424 + Identifier 425360 425392 + QuestionToken 425392 425393 + UnionType 425394 425424 + TypeOperator 425394 425412 + ArrayType 425403 425412 + TypeReference 425403 425410 + Identifier 425403 425410 + UndefinedKeyword 425414 425424 + Parameter 425425 425458 + Identifier 425425 425445 + QuestionToken 425445 425446 + TypeReference 425447 425458 + Identifier 425447 425458 + Block 425470 435012 + VariableStatement 425472 425542 + VariableDeclarationList 425472 425541 + VariableDeclaration 425491 425541 + Identifier 425491 425506 + CallExpression 425508 425541 + Identifier 425508 425532 + Identifier 425533 425540 + VariableStatement 425542 426738 + VariableDeclarationList 425542 426737 + VariableDeclaration 426697 426737 + Identifier 426697 426711 + UnionType 426712 426737 + ParenthesizedType 426712 426725 + FunctionType 426714 426724 + VoidKeyword 426719 426724 + UndefinedKeyword 426727 426737 + VariableStatement 426738 426800 + VariableDeclarationList 426738 426799 + VariableDeclaration 426755 426799 + Identifier 426755 426773 + UnionType 426774 426799 + ParenthesizedType 426774 426787 + FunctionType 426776 426786 + VoidKeyword 426781 426786 + UndefinedKeyword 426789 426799 + VariableStatement 426800 426868 + VariableDeclarationList 426800 426867 + VariableDeclaration 426819 426867 + Identifier 426819 426836 + PropertyAccessExpression 426838 426867 + Identifier 426838 426846 + Identifier 426847 426867 + VariableStatement 426868 426915 + VariableDeclarationList 426868 426914 + VariableDeclaration 426887 426914 + Identifier 426887 426897 + PropertyAccessExpression 426899 426914 + Identifier 426899 426907 + Identifier 426908 426914 + IfStatement 426915 426999 + Identifier 426933 426939 + Block 426940 426999 + ExpressionStatement 426942 426984 + BinaryExpression 426942 426983 + PropertyAccessExpression 426942 426974 + Identifier 426942 426967 + Identifier 426968 426974 + EqualsToken 426974 426976 + Identifier 426976 426983 + IfStatement 426999 434733 + BinaryExpression 427017 427060 + PropertyAccessExpression 427017 427045 + Identifier 427017 427024 + Identifier 427025 427045 + AmpersandAmpersandToken 427045 427048 + Identifier 427048 427060 + Block 427061 434733 + ExpressionStatement 427063 431277 + BinaryExpression 427063 431276 + Identifier 427063 428432 + EqualsToken 428432 428434 + ConditionalExpression 428434 431276 + PrefixUnaryExpression 428434 428456 + CallExpression 428436 428456 + Identifier 428436 428440 + Identifier 428441 428455 + QuestionToken 428456 428458 + Identifier 428458 428468 + ColonToken 428468 428470 + CallExpression 428470 431276 + Identifier 428470 428484 + StringLiteral 428485 428515 + ArrowFunction 428516 431256 + Parameter 428516 428541 + Identifier 428516 428541 + EqualsGreaterThanToken 428541 428544 + Block 428544 431256 + IfStatement 428546 428600 + PrefixUnaryExpression 428576 428591 + Identifier 428577 428591 + ReturnStatement 428592 428600 + ForStatement 428600 431233 + VariableDeclarationList 428631 428645 + VariableDeclaration 428634 428645 + Identifier 428634 428641 + NumericLiteral 428643 428645 + BinaryExpression 428646 428677 + Identifier 428646 428653 + LessThanToken 428653 428655 + PropertyAccessExpression 428655 428677 + Identifier 428655 428670 + Identifier 428671 428677 + PostfixUnaryExpression 428678 428687 + Identifier 428678 428685 + Block 428688 431233 + VariableStatement 428690 428757 + VariableDeclarationList 428690 428756 + VariableDeclaration 428725 428756 + Identifier 428725 428731 + ElementAccessExpression 428733 428756 + Identifier 428733 428748 + Identifier 428749 428755 + VariableStatement 428757 428838 + VariableDeclarationList 428757 428837 + VariableDeclaration 428792 428837 + Identifier 428792 428806 + ElementAccessExpression 428808 428837 + Identifier 428808 428827 + QuestionDotToken 428827 428829 + Identifier 428830 428836 + IfStatement 428838 431206 + BinaryExpression 428872 428917 + Identifier 428872 428890 + AmpersandAmpersandToken 428890 428893 + BinaryExpression 428893 428917 + Identifier 428893 428907 + ExclamationEqualsEqualsToken 428907 428911 + Identifier 428911 428917 + Block 428918 429378 + ExpressionStatement 428920 429083 + CallExpression 428920 429082 + Identifier 428920 429048 + PropertyAccessExpression 429049 429066 + Identifier 429049 429054 + Identifier 429055 429066 + Identifier 429067 429081 + IfStatement 429083 429347 + Identifier 429212 429225 + Block 429226 429347 + ExpressionStatement 429228 429312 + CallExpression 429228 429311 + Identifier 429228 429269 + PropertyAccessExpression 429270 429295 + Identifier 429270 429283 + Identifier 429284 429295 + Identifier 429296 429310 + IfStatement 429412 431206 + PrefixUnaryExpression 429417 431078 + CallExpression 429452 431078 + Identifier 429452 429459 + PropertyAccessExpression 429460 429478 + Identifier 429460 429465 + Identifier 429466 429478 + ArrowFunction 429479 431077 + Parameter 429479 429481 + Identifier 429479 429481 + EqualsGreaterThanToken 429481 429484 + Block 429484 431077 + IfStatement 429486 429728 + BinaryExpression 429528 429570 + CallExpression 429528 429542 + Identifier 429528 429539 + Identifier 429540 429541 + AmpersandAmpersandToken 429542 429545 + CallExpression 429545 429570 + Identifier 429545 429562 + PropertyAccessExpression 429563 429569 + Identifier 429563 429564 + Identifier 429565 429569 + Block 429571 429728 + ExpressionStatement 429573 429635 + CallExpression 429573 429634 + Identifier 429573 429626 + PropertyAccessExpression 429627 429633 + Identifier 429627 429628 + Identifier 429629 429633 + ReturnStatement 429635 429689 + TrueKeyword 429683 429688 + ReturnStatement 429728 429783 + Identifier 429772 429782 + FunctionDeclaration 429783 430572 + Identifier 429829 429841 + Parameter 429842 429859 + Identifier 429842 429843 + TypeReference 429844 429859 + Identifier 429844 429859 + VoidKeyword 429861 429866 + Block 429866 430572 + ExpressionStatement 429868 430533 + CallExpression 429868 430532 + Identifier 429868 429917 + PropertyAccessExpression 429918 429928 + Identifier 429918 429919 + Identifier 429920 429928 + ArrowFunction 429929 430531 + Parameter 429929 429931 + Identifier 429929 429931 + EqualsGreaterThanToken 429931 429934 + Block 429934 430531 + SwitchStatement 429936 430488 + PropertyAccessExpression 429990 429996 + Identifier 429990 429991 + Identifier 429992 429996 + CaseBlock 429997 430488 + CaseClause 429999 430144 + PropertyAccessExpression 430053 430082 + Identifier 430053 430064 + Identifier 430065 430082 + ReturnStatement 430083 430144 + CaseClause 430144 430301 + PropertyAccessExpression 430198 430224 + Identifier 430198 430209 + Identifier 430210 430224 + ReturnStatement 430225 430301 + CallExpression 430285 430300 + Identifier 430285 430297 + Identifier 430298 430299 + DefaultClause 430301 430441 + ReturnStatement 430359 430441 + CallExpression 430419 430440 + PropertyAccessExpression 430419 430437 + Identifier 430419 430425 + Identifier 430426 430437 + Identifier 430438 430439 + FunctionDeclaration 430572 431042 + Identifier 430618 430630 + Parameter 430631 430648 + Identifier 430631 430632 + TypeReference 430633 430648 + Identifier 430633 430648 + VoidKeyword 430650 430655 + Block 430655 431042 + IfStatement 430657 430846 + CallExpression 430703 430727 + Identifier 430703 430719 + PropertyAccessExpression 430720 430726 + Identifier 430720 430721 + Identifier 430722 430726 + Block 430728 430846 + ReturnStatement 430730 430803 + CallExpression 430782 430802 + Identifier 430782 430794 + PropertyAccessExpression 430795 430801 + Identifier 430795 430796 + Identifier 430797 430801 + VariableStatement 430846 430929 + VariableDeclarationList 430846 430928 + VariableDeclaration 430893 430928 + Identifier 430893 430900 + CallExpression 430902 430928 + Identifier 430902 430925 + Identifier 430926 430927 + ExpressionStatement 430929 431003 + CallExpression 430929 431002 + Identifier 430929 430974 + PropertyAccessExpression 430975 430993 + Identifier 430975 430981 + Identifier 430982 430993 + Identifier 430994 431001 + Block 431109 431206 + ExpressionStatement 431111 431175 + CallExpression 431111 431174 + Identifier 431111 431148 + PropertyAccessExpression 431149 431166 + Identifier 431149 431154 + Identifier 431155 431166 + Identifier 431167 431173 + IfStatement 431277 431890 + BinaryExpression 431301 431392 + BinaryExpression 431301 431368 + PropertyAccessExpression 431301 431314 + Identifier 431301 431308 + Identifier 431309 431314 + AmpersandToken 431314 431316 + PropertyAccessExpression 431316 431368 + Identifier 431316 431333 + Identifier 431334 431368 + AmpersandAmpersandToken 431368 431371 + CallExpression 431371 431392 + Identifier 431371 431376 + Identifier 431377 431391 + Block 431393 431890 + ExpressionStatement 431395 431871 + BinaryExpression 431395 431870 + Identifier 431395 431434 + EqualsToken 431434 431436 + CallExpression 431436 431870 + Identifier 431436 431450 + StringLiteral 431451 431489 + ArrowFunction 431490 431846 + Parameter 431490 431519 + Identifier 431490 431519 + EqualsGreaterThanToken 431519 431522 + Block 431522 431846 + ForOfStatement 431524 431819 + VariableDeclarationList 431559 431574 + VariableDeclaration 431564 431574 + Identifier 431564 431574 + BinaryExpression 431577 431606 + Identifier 431577 431592 + QuestionQuestionToken 431592 431595 + Identifier 431595 431606 + Block 431607 431819 + VariableStatement 431609 431717 + VariableDeclarationList 431609 431716 + VariableDeclaration 431648 431716 + Identifier 431648 431662 + PropertyAccessExpression 431664 431716 + CallExpression 431664 431704 + Identifier 431664 431684 + Identifier 431685 431694 + Identifier 431695 431703 + Identifier 431705 431716 + ExpressionStatement 431717 431788 + CallExpression 431717 431787 + Identifier 431717 431754 + Identifier 431755 431768 + PropertyAccessExpression 431769 431786 + Identifier 431769 431779 + Identifier 431780 431786 + FunctionDeclaration 431890 434718 + Identifier 431918 431932 + Parameter 431933 431962 + Identifier 431933 431937 + UnionType 431938 431962 + LiteralType 431938 431947 + StringLiteral 431938 431947 + LiteralType 431949 431962 + StringLiteral 431949 431962 + Parameter 431963 432033 + Identifier 431963 431970 + FunctionType 431971 432033 + Parameter 431973 432024 + Identifier 431973 431982 + FunctionType 431983 432024 + Parameter 431985 431999 + Identifier 431985 431989 + TypeReference 431990 431999 + Identifier 431990 431999 + Parameter 432000 432015 + Identifier 432000 432007 + TypeReference 432008 432015 + Identifier 432008 432015 + VoidKeyword 432019 432024 + VoidKeyword 432028 432033 + Block 432034 434718 + ExpressionStatement 432036 432176 + CallExpression 432036 432175 + PropertyAccessExpression 432036 432145 + Identifier 432036 432138 + Identifier 432139 432145 + PropertyAccessExpression 432146 432174 + Identifier 432146 432153 + Identifier 432154 432174 + VariableStatement 432176 432238 + VariableDeclarationList 432176 432237 + VariableDeclaration 432201 432237 + Identifier 432201 432219 + UnionType 432220 432237 + TypeReference 432220 432225 + Identifier 432220 432225 + UndefinedKeyword 432227 432237 + IfStatement 432238 432718 + BinaryExpression 432264 432348 + PropertyAccessExpression 432264 432339 + CallExpression 432264 432306 + Identifier 432264 432276 + PropertyAccessExpression 432277 432305 + Identifier 432277 432284 + Identifier 432285 432305 + Identifier 432307 432339 + EqualsEqualsEqualsToken 432339 432343 + Identifier 432343 432348 + Block 432349 432449 + ExpressionStatement 432351 432426 + BinaryExpression 432351 432425 + Identifier 432351 432394 + EqualsToken 432394 432396 + PropertyAccessExpression 432396 432425 + Identifier 432396 432404 + Identifier 432405 432425 + IfStatement 432475 432718 + BinaryExpression 432480 432610 + PropertyAccessExpression 432480 432515 + PropertyAccessExpression 432480 432508 + Identifier 432480 432487 + Identifier 432488 432508 + Identifier 432509 432515 + AmpersandAmpersandToken 432515 432518 + BinaryExpression 432518 432610 + PropertyAccessExpression 432518 432601 + CallExpression 432518 432568 + Identifier 432518 432531 + PropertyAccessExpression 432532 432567 + PropertyAccessExpression 432532 432560 + Identifier 432532 432539 + Identifier 432540 432560 + Identifier 432561 432567 + Identifier 432569 432601 + EqualsEqualsEqualsToken 432601 432605 + Identifier 432605 432610 + Block 432611 432718 + ExpressionStatement 432613 432695 + BinaryExpression 432613 432694 + Identifier 432613 432656 + EqualsToken 432656 432658 + PropertyAccessExpression 432658 432694 + PropertyAccessExpression 432658 432687 + Identifier 432658 432666 + Identifier 432667 432687 + Identifier 432688 432694 + ExpressionStatement 432718 432793 + CallExpression 432718 432792 + PropertyAccessExpression 432718 432764 + Identifier 432718 432745 + Identifier 432746 432764 + Identifier 432765 432782 + Identifier 432783 432791 + VariableStatement 432793 432881 + VariableDeclarationList 432793 432880 + VariableDeclaration 432822 432880 + Identifier 432822 432829 + BinaryExpression 432831 432880 + PropertyAccessExpression 432831 432857 + Identifier 432831 432849 + QuestionDotToken 432849 432851 + Identifier 432851 432857 + QuestionQuestionToken 432857 432860 + CallExpression 432860 432880 + Identifier 432860 432878 + VariableStatement 432881 432941 + VariableDeclarationList 432881 432940 + VariableDeclaration 432906 432940 + Identifier 432906 432916 + UnionType 432917 432940 + ArrayType 432917 432928 + TypeReference 432917 432926 + Identifier 432917 432926 + UndefinedKeyword 432930 432940 + VariableStatement 432941 433031 + VariableDeclarationList 432941 433030 + VariableDeclaration 432966 433030 + Identifier 432966 432976 + UnionType 432977 433030 + ArrayType 432977 433018 + TypeLiteral 432977 433016 + PropertySignature 432979 432995 + Identifier 432979 432984 + TypeReference 432985 432994 + Identifier 432985 432994 + PropertySignature 432995 433014 + Identifier 432995 433005 + TypeReference 433006 433013 + Identifier 433006 433013 + UndefinedKeyword 433020 433030 + ExpressionStatement 433031 433685 + CallExpression 433031 433684 + Identifier 433031 433059 + ArrowFunction 433060 433683 + Parameter 433061 433065 + Identifier 433061 433065 + Parameter 433066 433073 + Identifier 433066 433073 + EqualsGreaterThanToken 433074 433077 + Block 433077 433683 + IfStatement 433079 433609 + Identifier 433197 433214 + Block 433215 433609 + VariableStatement 433217 433282 + VariableDeclarationList 433217 433281 + VariableDeclaration 433252 433281 + Identifier 433252 433262 + CallExpression 433264 433281 + PropertyAccessExpression 433264 433275 + Identifier 433264 433271 + Identifier 433272 433275 + Identifier 433276 433280 + IfStatement 433282 433582 + PrefixUnaryExpression 433316 433326 + Identifier 433317 433326 + Block 433327 433430 + ExpressionStatement 433329 433399 + BinaryExpression 433329 433398 + Identifier 433329 433372 + EqualsToken 433372 433374 + CallExpression 433374 433398 + Identifier 433374 433381 + Identifier 433382 433391 + Identifier 433392 433397 + Block 433464 433582 + ExpressionStatement 433466 433551 + BinaryExpression 433466 433550 + Identifier 433466 433509 + EqualsToken 433509 433511 + CallExpression 433511 433550 + Identifier 433511 433518 + Identifier 433519 433528 + ObjectLiteralExpression 433529 433549 + ShorthandPropertyAssignment 433531 433536 + Identifier 433531 433536 + ShorthandPropertyAssignment 433537 433547 + Identifier 433537 433547 + ExpressionStatement 433609 433660 + CallExpression 433609 433659 + PropertyAccessExpression 433609 433645 + Identifier 433609 433641 + Identifier 433642 433645 + Identifier 433646 433650 + Identifier 433651 433658 + IfStatement 433685 434699 + PrefixUnaryExpression 433713 433731 + Identifier 433714 433731 + Block 433732 434320 + VariableStatement 433734 434009 + VariableDeclarationList 433734 434008 + VariableDeclaration 433964 434008 + Identifier 433964 433974 + CallExpression 433976 434008 + PropertyAccessExpression 433976 433996 + Identifier 433976 433984 + Identifier 433985 433996 + Identifier 433997 434007 + ExpressionStatement 434009 434099 + BinaryExpression 434009 434098 + PropertyAccessExpression 434009 434091 + CallExpression 434009 434058 + Identifier 434009 434047 + Identifier 434048 434057 + Identifier 434059 434091 + EqualsToken 434091 434093 + Identifier 434093 434098 + ExpressionStatement 434099 434151 + BinaryExpression 434099 434150 + PropertyAccessExpression 434099 434141 + Identifier 434099 434134 + Identifier 434135 434141 + EqualsToken 434141 434143 + Identifier 434143 434150 + ExpressionStatement 434151 434230 + CallExpression 434151 434229 + Identifier 434151 434188 + Identifier 434189 434198 + PropertyAccessExpression 434199 434228 + Identifier 434199 434207 + Identifier 434208 434228 + ExpressionStatement 434230 434297 + BinaryExpression 434230 434296 + PropertyAccessExpression 434230 434284 + Identifier 434230 434263 + Identifier 434264 434284 + EqualsToken 434284 434286 + Identifier 434286 434296 + Block 434346 434699 + ReturnStatement 434348 434676 + FunctionExpression 434471 434675 + Identifier 434480 434485 + Block 434487 434675 + ExpressionStatement 434489 434561 + CallExpression 434489 434560 + Identifier 434489 434526 + Identifier 434527 434536 + ArrowFunction 434537 434559 + Parameter 434537 434539 + Identifier 434537 434539 + EqualsGreaterThanToken 434539 434542 + CallExpression 434542 434559 + PropertyAccessExpression 434542 434556 + Identifier 434542 434549 + Identifier 434550 434556 + Identifier 434557 434558 + ExpressionStatement 434561 434648 + CallExpression 434561 434647 + Identifier 434561 434598 + Identifier 434599 434608 + ArrowFunction 434609 434646 + Parameter 434609 434611 + Identifier 434609 434611 + EqualsGreaterThanToken 434611 434614 + CallExpression 434614 434646 + PropertyAccessExpression 434614 434625 + Identifier 434614 434621 + Identifier 434622 434625 + PropertyAccessExpression 434626 434632 + Identifier 434626 434627 + Identifier 434628 434632 + PropertyAccessExpression 434633 434645 + Identifier 434633 434635 + Identifier 434636 434645 + ReturnStatement 434733 435001 + ArrowFunction 434755 435000 + EqualsGreaterThanToken 434758 434761 + Block 434761 435000 + ExpressionStatement 434763 434799 + CallExpression 434763 434798 + Identifier 434763 434794 + QuestionDotToken 434794 434796 + ExpressionStatement 434799 434839 + CallExpression 434799 434838 + Identifier 434799 434834 + QuestionDotToken 434834 434836 + ExpressionStatement 434839 434874 + CallExpression 434839 434873 + Identifier 434839 434871 + ExpressionStatement 434874 434940 + BinaryExpression 434874 434939 + PropertyAccessExpression 434874 434920 + Identifier 434874 434899 + Identifier 434900 434920 + EqualsToken 434920 434922 + Identifier 434922 434939 + ExpressionStatement 434940 434985 + BinaryExpression 434940 434984 + PropertyAccessExpression 434940 434972 + Identifier 434940 434965 + Identifier 434966 434972 + EqualsToken 434972 434974 + Identifier 434974 434984 + FunctionDeclaration 435012 435908 + Identifier 435032 435063 + Parameter 435064 435084 + Identifier 435064 435073 + TypeReference 435074 435084 + Identifier 435074 435084 + Parameter 435085 435113 + Identifier 435085 435093 + TypeReference 435094 435113 + Identifier 435094 435113 + Block 435114 435908 + IfStatement 435116 435263 + PropertyAccessExpression 435134 435157 + Identifier 435134 435143 + Identifier 435144 435157 + Block 435158 435263 + ReturnStatement 435160 435248 + CallExpression 435184 435247 + Identifier 435184 435213 + PropertyAccessExpression 435214 435237 + Identifier 435214 435223 + Identifier 435224 435237 + Identifier 435238 435246 + IfStatement 435263 435897 + BinaryExpression 435281 435339 + PropertyAccessExpression 435281 435302 + Identifier 435281 435290 + Identifier 435291 435302 + AmpersandAmpersandToken 435302 435305 + CallExpression 435305 435339 + Identifier 435305 435316 + PropertyAccessExpression 435317 435338 + Identifier 435317 435326 + Identifier 435327 435338 + Block 435340 435897 + VariableStatement 435342 435415 + VariableDeclarationList 435342 435414 + VariableDeclaration 435365 435414 + Identifier 435365 435373 + CallExpression 435375 435414 + Identifier 435375 435391 + PropertyAccessExpression 435392 435413 + Identifier 435392 435401 + Identifier 435402 435413 + IfStatement 435415 435882 + BinaryExpression 435437 435470 + Identifier 435437 435444 + AmpersandAmpersandToken 435444 435447 + PropertyAccessExpression 435447 435470 + Identifier 435447 435455 + Identifier 435456 435470 + Block 435471 435882 + ReturnStatement 435473 435863 + CallExpression 435501 435862 + PropertyAccessExpression 435501 435536 + Identifier 435501 435509 + Identifier 435510 435536 + Identifier 435537 435586 + Identifier 435587 435641 + StringLiteral 435642 435674 + Identifier 435675 435728 + CallExpression 435729 435838 + Identifier 435729 435775 + CallExpression 435776 435828 + Identifier 435776 435795 + Identifier 435796 435803 + PropertyAccessExpression 435804 435827 + Identifier 435804 435812 + Identifier 435813 435827 + Identifier 435829 435837 + FunctionDeclaration 435908 436817 + Identifier 435928 435969 + Parameter 435970 435989 + Identifier 435970 435974 + TypeReference 435975 435989 + Identifier 435975 435989 + Parameter 435990 436018 + Identifier 435990 435998 + TypeReference 435999 436018 + Identifier 435999 436018 + Parameter 436019 436056 + Identifier 436019 436034 + UnionType 436035 436056 + TypeReference 436035 436044 + Identifier 436035 436044 + UndefinedKeyword 436046 436056 + TypeReference 436058 436083 + Identifier 436058 436083 + Block 436083 436817 + VariableStatement 436085 436146 + VariableDeclarationList 436085 436145 + VariableDeclaration 436104 436145 + Identifier 436104 436117 + CallExpression 436119 436145 + Identifier 436119 436136 + Identifier 436137 436144 + ExpressionStatement 436146 436230 + BinaryExpression 436146 436229 + PropertyAccessExpression 436146 436173 + Identifier 436146 436167 + Identifier 436168 436173 + AmpersandEqualsToken 436173 436176 + PrefixUnaryExpression 436176 436229 + PropertyAccessExpression 436178 436229 + Identifier 436178 436194 + Identifier 436195 436229 + VariableStatement 436230 436416 + VariableDeclarationList 436230 436415 + VariableDeclaration 436329 436415 + Identifier 436329 436339 + CallExpression 436341 436415 + PropertyAccessExpression 436341 436382 + Identifier 436341 436349 + Identifier 436350 436382 + CallExpression 436383 436414 + Identifier 436383 436408 + Identifier 436409 436413 + VariableStatement 436416 436478 + VariableDeclarationList 436416 436477 + VariableDeclaration 436435 436477 + Identifier 436435 436440 + CallExpression 436442 436477 + Identifier 436442 436462 + Identifier 436463 436467 + Identifier 436468 436476 + VariableStatement 436478 436551 + VariableDeclarationList 436478 436550 + VariableDeclaration 436497 436550 + Identifier 436497 436514 + CallExpression 436516 436550 + Identifier 436516 436544 + Identifier 436545 436549 + VariableStatement 436551 436662 + VariableDeclarationList 436551 436661 + VariableDeclaration 436570 436661 + Identifier 436570 436591 + BinaryExpression 436593 436661 + Identifier 436593 436610 + AmpersandAmpersandToken 436610 436613 + CallExpression 436613 436661 + Identifier 436613 436634 + Identifier 436635 436651 + Identifier 436652 436660 + ExpressionStatement 436662 436691 + CallExpression 436662 436690 + Identifier 436662 436688 + ReturnStatement 436691 436806 + CallExpression 436711 436805 + PropertyAccessExpression 436711 436750 + Identifier 436711 436719 + Identifier 436720 436750 + Identifier 436751 436760 + Identifier 436761 436766 + Identifier 436767 436782 + Identifier 436783 436804 + FunctionDeclaration 436817 437177 + Identifier 436837 436886 + Parameter 436887 436897 + Identifier 436887 436891 + TypeReference 436892 436897 + Identifier 436892 436897 + Parameter 436898 436929 + Identifier 436898 436907 + UnionType 436908 436929 + TypeReference 436908 436917 + Identifier 436908 436917 + UndefinedKeyword 436919 436929 + Parameter 436930 436958 + Identifier 436930 436938 + TypeReference 436939 436958 + Identifier 436939 436958 + Block 436959 437177 + ReturnStatement 436961 437166 + BinaryExpression 436981 437165 + BinaryExpression 436981 437109 + BinaryExpression 436981 437041 + Identifier 436981 436990 + AmpersandAmpersandToken 436990 436993 + BinaryExpression 436993 437041 + CallExpression 436993 437032 + Identifier 436993 437013 + Identifier 437014 437021 + Identifier 437022 437031 + EqualsEqualsEqualsToken 437032 437036 + Identifier 437036 437041 + AmpersandAmpersandToken 437041 437044 + CallExpression 437044 437109 + PropertyAccessExpression 437044 437090 + Identifier 437044 437065 + Identifier 437066 437090 + Identifier 437091 437098 + Identifier 437099 437108 + BarBarToken 437109 437129 + CallExpression 437129 437165 + Identifier 437129 437150 + Identifier 437151 437155 + Identifier 437156 437164 + FunctionDeclaration 437177 437608 + Identifier 437197 437224 + Parameter 437225 437244 + Identifier 437225 437229 + TypeReference 437230 437244 + Identifier 437230 437244 + Parameter 437245 437273 + Identifier 437245 437253 + TypeReference 437254 437273 + Identifier 437254 437273 + Parameter 437274 437322 + Identifier 437274 437285 + CallExpression 437287 437322 + Identifier 437287 437316 + Identifier 437317 437321 + TypeReference 437324 437349 + Identifier 437324 437349 + Block 437349 437608 + VariableStatement 437351 437504 + VariableDeclarationList 437351 437503 + VariableDeclaration 437370 437503 + Identifier 437370 437385 + BinaryExpression 437387 437503 + Identifier 437387 437398 + AmpersandAmpersandToken 437398 437401 + CallExpression 437401 437503 + Identifier 437401 437450 + Identifier 437451 437461 + CallExpression 437462 437493 + Identifier 437462 437487 + Identifier 437488 437492 + Identifier 437494 437502 + ReturnStatement 437504 437597 + CallExpression 437524 437596 + Identifier 437524 437565 + Identifier 437566 437570 + Identifier 437571 437579 + Identifier 437580 437595 + FunctionDeclaration 437608 438516 + Identifier 437628 437667 + Parameter 437668 437696 + Identifier 437668 437681 + TypeReference 437682 437696 + Identifier 437682 437696 + Parameter 437697 437725 + Identifier 437697 437705 + TypeReference 437706 437725 + Identifier 437706 437725 + TypeReference 437727 437745 + Identifier 437727 437745 + Block 437745 438516 + VariableStatement 437747 437995 + VariableDeclarationList 437747 437994 + VariableDeclaration 437766 437994 + Identifier 437766 437782 + ConditionalExpression 437784 437994 + BinaryExpression 437784 437899 + BinaryExpression 437784 437837 + PropertyAccessExpression 437784 437803 + Identifier 437784 437798 + Identifier 437799 437803 + EqualsEqualsEqualsToken 437803 437807 + PropertyAccessExpression 437807 437837 + Identifier 437807 437825 + Identifier 437826 437837 + BarBarToken 437837 437840 + BinaryExpression 437840 437899 + PropertyAccessExpression 437840 437859 + Identifier 437840 437854 + Identifier 437855 437859 + EqualsEqualsEqualsToken 437859 437863 + PropertyAccessExpression 437863 437899 + Identifier 437863 437881 + Identifier 437882 437899 + QuestionToken 437899 437901 + CallExpression 437901 437965 + PropertyAccessExpression 437901 437938 + Identifier 437901 437926 + Identifier 437927 437938 + PropertyAccessExpression 437939 437964 + Identifier 437939 437949 + Identifier 437950 437964 + ColonToken 437965 437967 + Identifier 437967 437994 + VariableStatement 437995 438307 + VariableDeclarationList 437995 438306 + VariableDeclaration 438014 438306 + Identifier 438014 438028 + ConditionalExpression 438030 438306 + BinaryExpression 438030 438144 + BinaryExpression 438030 438082 + PropertyAccessExpression 438030 438049 + Identifier 438030 438044 + Identifier 438045 438049 + EqualsEqualsEqualsToken 438049 438053 + PropertyAccessExpression 438053 438082 + Identifier 438053 438071 + Identifier 438072 438082 + BarBarToken 438082 438085 + BinaryExpression 438085 438144 + PropertyAccessExpression 438085 438104 + Identifier 438085 438099 + Identifier 438100 438104 + EqualsEqualsEqualsToken 438104 438108 + PropertyAccessExpression 438108 438144 + Identifier 438108 438126 + Identifier 438127 438144 + QuestionToken 438144 438146 + CallExpression 438146 438258 + Identifier 438146 438176 + CallExpression 438177 438230 + PropertyAccessExpression 438177 438201 + Identifier 438177 438184 + Identifier 438185 438201 + PropertyAccessExpression 438202 438229 + Identifier 438202 438215 + Identifier 438216 438229 + PropertyAccessExpression 438231 438257 + Identifier 438231 438241 + Identifier 438242 438257 + ColonToken 438258 438260 + CallExpression 438260 438306 + PropertyAccessExpression 438260 438304 + Identifier 438260 438285 + Identifier 438286 438304 + VariableStatement 438307 438410 + VariableDeclarationList 438307 438409 + VariableDeclaration 438326 438409 + Identifier 438326 438335 + BinaryExpression 438337 438409 + PropertyAccessExpression 438337 438356 + Identifier 438337 438351 + Identifier 438352 438356 + AmpersandAmpersandToken 438356 438359 + CallExpression 438359 438409 + Identifier 438359 438380 + PropertyAccessExpression 438381 438399 + Identifier 438381 438394 + Identifier 438395 438399 + Identifier 438400 438408 + ReturnStatement 438410 438505 + CallExpression 438430 438504 + PropertyAccessExpression 438430 438462 + Identifier 438430 438438 + Identifier 438439 438462 + Identifier 438463 438478 + Identifier 438479 438493 + Identifier 438494 438503 + FunctionDeclaration 438516 439125 + Identifier 438536 438569 + Parameter 438570 438593 + Identifier 438570 438585 + TypeReference 438586 438593 + Identifier 438586 438593 + UnionType 438595 438648 + TypeReference 438595 438616 + Identifier 438595 438616 + TypeReference 438618 438636 + Identifier 438618 438636 + UndefinedKeyword 438638 438648 + Block 438648 439125 + VariableStatement 438650 438829 + VariableDeclarationList 438650 438828 + VariableDeclaration 438669 438828 + Identifier 438669 438690 + UnionType 438691 438744 + TypeReference 438691 438712 + Identifier 438691 438712 + TypeReference 438714 438732 + Identifier 438714 438732 + UndefinedKeyword 438734 438744 + CallExpression 438746 438828 + Identifier 438746 438767 + TypeReference 438768 438788 + Identifier 438768 438788 + Identifier 438790 438805 + PropertyAccessExpression 438806 438827 + Identifier 438806 438817 + Identifier 438818 438827 + IfStatement 438829 438931 + Identifier 438847 438867 + Block 438868 438931 + ReturnStatement 438870 438916 + Identifier 438894 438915 + IfStatement 438931 439114 + PrefixUnaryExpression 438949 438984 + CallExpression 438950 438984 + Identifier 438950 438967 + Identifier 438968 438983 + Block 438985 439114 + ReturnStatement 438987 439099 + CallExpression 439011 439098 + Identifier 439011 439032 + TypeReference 439033 439050 + Identifier 439033 439050 + Identifier 439052 439067 + PropertyAccessExpression 439068 439097 + Identifier 439068 439079 + Identifier 439080 439097 + FunctionDeclaration 439125 440887 + Identifier 439145 439174 + Parameter 439175 439198 + Identifier 439175 439190 + TypeReference 439191 439198 + Identifier 439191 439198 + Parameter 439199 439227 + Identifier 439199 439207 + TypeReference 439208 439227 + Identifier 439208 439227 + Parameter 439228 439260 + Identifier 439228 439250 + QuestionToken 439250 439251 + BooleanKeyword 439252 439260 + TypeReference 439262 439283 + Identifier 439262 439283 + Block 439283 440887 + VariableStatement 439285 439378 + VariableDeclarationList 439285 439377 + VariableDeclaration 439304 439377 + Identifier 439304 439325 + CallExpression 439327 439377 + Identifier 439327 439360 + Identifier 439361 439376 + VariableStatement 439378 439449 + VariableDeclarationList 439378 439448 + VariableDeclaration 439399 439448 + Identifier 439399 439413 + CallExpression 439415 439448 + Identifier 439415 439431 + Identifier 439432 439447 + VariableStatement 439449 439580 + VariableDeclarationList 439449 439579 + VariableDeclaration 439468 439579 + Identifier 439468 439486 + CallExpression 439488 439579 + Identifier 439488 439516 + Identifier 439517 439524 + Identifier 439525 439546 + Identifier 439547 439561 + Identifier 439562 439578 + VariableStatement 439580 439837 + VariableDeclarationList 439580 439836 + VariableDeclaration 439601 439836 + Identifier 439601 439611 + ConditionalExpression 439613 439836 + BinaryExpression 439613 439763 + BinaryExpression 439613 439721 + BinaryExpression 439613 439697 + PrefixUnaryExpression 439613 439672 + ParenthesizedExpression 439615 439672 + BinaryExpression 439616 439671 + PropertyAccessExpression 439616 439629 + Identifier 439616 439623 + Identifier 439624 439629 + AmpersandToken 439629 439631 + PropertyAccessExpression 439631 439671 + Identifier 439631 439648 + Identifier 439649 439671 + AmpersandAmpersandToken 439672 439675 + Identifier 439675 439697 + AmpersandAmpersandToken 439697 439700 + Identifier 439700 439721 + AmpersandAmpersandToken 439721 439724 + CallExpression 439724 439763 + Identifier 439724 439741 + Identifier 439742 439762 + QuestionToken 439763 439765 + CallExpression 439765 439824 + Identifier 439765 439769 + CallExpression 439770 439804 + Identifier 439770 439782 + Identifier 439783 439803 + PropertyAccessExpression 439805 439823 + Identifier 439805 439813 + Identifier 439814 439823 + ColonToken 439824 439826 + Identifier 439826 439836 + VariableStatement 439837 439989 + VariableDeclarationList 439837 439988 + VariableDeclaration 439856 439988 + Identifier 439856 439863 + BinaryExpression 439865 439988 + BinaryExpression 439865 439927 + Identifier 439865 439886 + AmpersandAmpersandToken 439886 439889 + CallExpression 439889 439927 + Identifier 439889 439905 + Identifier 439906 439926 + BarBarToken 439927 439930 + BinaryExpression 439930 439988 + CallExpression 439930 439961 + Identifier 439930 439944 + Identifier 439945 439960 + AmpersandToken 439961 439963 + PropertyAccessExpression 439963 439988 + Identifier 439963 439974 + Identifier 439975 439988 + VariableStatement 439989 440094 + VariableDeclarationList 439989 440093 + VariableDeclaration 440008 440093 + Identifier 440008 440023 + ConditionalExpression 440025 440093 + Identifier 440025 440032 + QuestionToken 440032 440034 + CallExpression 440034 440081 + PropertyAccessExpression 440034 440054 + Identifier 440034 440042 + Identifier 440043 440054 + PropertyAccessExpression 440055 440080 + Identifier 440055 440065 + Identifier 440066 440080 + ColonToken 440081 440083 + Identifier 440083 440093 + VariableStatement 440094 440205 + VariableDeclarationList 440094 440204 + VariableDeclaration 440113 440204 + Identifier 440113 440118 + CallExpression 440120 440204 + Identifier 440120 440156 + Identifier 440157 440172 + Identifier 440173 440194 + Identifier 440195 440203 + VariableStatement 440205 440369 + VariableDeclarationList 440205 440368 + VariableDeclaration 440224 440368 + Identifier 440224 440235 + BinaryExpression 440237 440368 + BinaryExpression 440237 440303 + Identifier 440237 440258 + AmpersandAmpersandToken 440258 440261 + CallExpression 440261 440303 + Identifier 440261 440281 + Identifier 440282 440302 + BarBarToken 440303 440306 + BinaryExpression 440306 440368 + CallExpression 440306 440337 + Identifier 440306 440320 + Identifier 440321 440336 + AmpersandToken 440337 440339 + PropertyAccessExpression 440339 440368 + Identifier 440339 440350 + Identifier 440351 440368 + VariableStatement 440369 440476 + VariableDeclarationList 440369 440475 + VariableDeclaration 440388 440475 + Identifier 440388 440402 + ConditionalExpression 440404 440475 + Identifier 440404 440415 + QuestionToken 440415 440417 + CallExpression 440417 440463 + PropertyAccessExpression 440417 440437 + Identifier 440417 440425 + Identifier 440426 440437 + PropertyAccessExpression 440438 440462 + Identifier 440438 440448 + Identifier 440449 440462 + ColonToken 440463 440465 + Identifier 440465 440475 + VariableStatement 440476 440759 + VariableDeclarationList 440476 440758 + VariableDeclaration 440495 440758 + Identifier 440495 440509 + CallExpression 440511 440758 + PropertyAccessExpression 440511 440546 + Identifier 440511 440519 + Identifier 440520 440546 + Identifier 440547 440574 + Identifier 440575 440607 + Identifier 440608 440630 + Identifier 440631 440662 + Identifier 440663 440698 + Identifier 440699 440742 + ExpressionStatement 440759 440841 + BinaryExpression 440759 440840 + PropertyAccessExpression 440759 440798 + Identifier 440759 440780 + Identifier 440781 440798 + PlusEqualsToken 440798 440801 + BinaryExpression 440801 440840 + PropertyAccessExpression 440801 440836 + CallExpression 440801 440829 + Identifier 440801 440812 + Identifier 440813 440828 + Identifier 440830 440836 + PlusToken 440836 440838 + NumericLiteral 440838 440840 + ReturnStatement 440841 440876 + Identifier 440861 440875 + FunctionDeclaration 440887 442999 + Identifier 440907 440943 + Parameter 440944 440967 + Identifier 440944 440959 + TypeReference 440960 440967 + Identifier 440960 440967 + Parameter 440968 441043 + Identifier 440968 440989 + UnionType 440990 441043 + TypeReference 440990 441011 + Identifier 440990 441011 + TypeReference 441013 441031 + Identifier 441013 441031 + UndefinedKeyword 441033 441043 + Parameter 441044 441072 + Identifier 441044 441052 + TypeReference 441053 441072 + Identifier 441053 441072 + Block 441073 442999 + ReturnStatement 441075 441647 + ConditionalExpression 441095 441646 + Identifier 441095 441116 + QuestionToken 441116 441118 + ConditionalExpression 441118 441599 + PropertyAccessExpression 441118 441144 + Identifier 441118 441139 + Identifier 441140 441144 + QuestionToken 441144 441146 + ConditionalExpression 441146 441552 + BinaryExpression 441146 441220 + PropertyAccessExpression 441146 441194 + PropertyAccessExpression 441146 441189 + Identifier 441146 441184 + Identifier 441185 441189 + Identifier 441190 441194 + EqualsEqualsEqualsToken 441194 441198 + PropertyAccessExpression 441198 441220 + Identifier 441198 441209 + Identifier 441210 441220 + QuestionToken 441220 441222 + CallExpression 441222 441308 + Identifier 441222 441235 + CallExpression 441236 441280 + PropertyAccessExpression 441236 441253 + Identifier 441236 441243 + Identifier 441244 441253 + PropertyAccessExpression 441254 441279 + Identifier 441254 441274 + Identifier 441275 441279 + PropertyAccessExpression 441281 441307 + Identifier 441281 441291 + Identifier 441292 441307 + ColonToken 441308 441310 + ConditionalExpression 441310 441552 + BinaryExpression 441310 441391 + PropertyAccessExpression 441310 441362 + PropertyAccessExpression 441310 441357 + Identifier 441310 441352 + Identifier 441353 441357 + Identifier 441358 441362 + EqualsEqualsEqualsToken 441362 441366 + PropertyAccessExpression 441366 441391 + Identifier 441366 441377 + Identifier 441378 441391 + QuestionToken 441391 441393 + CallExpression 441393 441485 + Identifier 441393 441406 + CallExpression 441407 441457 + PropertyAccessExpression 441407 441424 + Identifier 441407 441414 + Identifier 441415 441424 + PropertyAccessExpression 441425 441456 + PropertyAccessExpression 441425 441450 + Identifier 441425 441445 + Identifier 441446 441450 + Identifier 441451 441456 + PropertyAccessExpression 441458 441484 + Identifier 441458 441468 + Identifier 441469 441484 + ColonToken 441485 441487 + CallExpression 441487 441552 + Identifier 441487 441525 + PropertyAccessExpression 441526 441551 + Identifier 441526 441546 + Identifier 441547 441551 + ColonToken 441552 441554 + CallExpression 441554 441599 + Identifier 441554 441582 + Identifier 441583 441598 + ColonToken 441599 441601 + CallExpression 441601 441646 + Identifier 441601 441629 + Identifier 441630 441645 + FunctionDeclaration 441647 442988 + Identifier 441671 441688 + Parameter 441689 441706 + Identifier 441689 441693 + TypeReference 441694 441706 + Identifier 441694 441706 + TypeReference 441708 441720 + Identifier 441708 441720 + Block 441720 442988 + ReturnStatement 441722 441800 + AsExpression 441746 441799 + CallExpression 441746 441784 + Identifier 441746 441778 + Identifier 441779 441783 + TypeReference 441787 441799 + Identifier 441787 441799 + FunctionDeclaration 441800 442973 + Identifier 441826 441858 + Parameter 441859 441869 + Identifier 441859 441863 + TypeReference 441864 441869 + Identifier 441864 441869 + TypeReference 441871 441876 + Identifier 441871 441876 + Block 441876 442973 + IfStatement 441878 442120 + BinaryExpression 441904 441994 + BinaryExpression 441904 441966 + PropertyAccessExpression 441904 441934 + PropertyAccessExpression 441904 441919 + Identifier 441904 441911 + Identifier 441912 441919 + Identifier 441920 441934 + AmpersandAmpersandToken 441934 441937 + CallExpression 441937 441966 + Identifier 441937 441960 + Identifier 441961 441965 + AmpersandAmpersandToken 441966 441969 + CallExpression 441969 441994 + Identifier 441969 441988 + Identifier 441989 441993 + Block 441995 442120 + ExpressionStatement 441997 442097 + CallExpression 441997 442096 + Identifier 441997 442040 + PropertyAccessExpression 442041 442056 + Identifier 442041 442045 + Identifier 442046 442056 + PropertyAccessExpression 442057 442086 + Identifier 442057 442065 + Identifier 442066 442086 + Identifier 442087 442095 + VariableStatement 442120 442300 + VariableDeclarationList 442120 442299 + VariableDeclaration 442145 442299 + Identifier 442145 442153 + CallExpression 442155 442299 + Identifier 442155 442176 + Identifier 442177 442181 + Identifier 442182 442214 + Identifier 442215 442237 + Identifier 442238 442265 + Identifier 442266 442298 + IfStatement 442300 442711 + CallExpression 442326 442351 + Identifier 442326 442342 + Identifier 442343 442350 + Block 442352 442711 + ExpressionStatement 442354 442688 + BinaryExpression 442354 442687 + Identifier 442354 442387 + EqualsToken 442387 442389 + CallExpression 442389 442687 + PropertyAccessExpression 442389 442418 + Identifier 442389 442397 + Identifier 442398 442418 + Identifier 442419 442456 + PropertyAccessExpression 442457 442509 + Identifier 442457 442494 + Identifier 442495 442509 + PropertyAccessExpression 442510 442560 + Identifier 442510 442547 + Identifier 442548 442560 + PropertyAccessExpression 442561 442603 + Identifier 442561 442598 + Identifier 442599 442603 + Identifier 442604 442659 + IfStatement 442711 442853 + PrefixUnaryExpression 442737 442764 + CallExpression 442738 442764 + Identifier 442738 442755 + Identifier 442756 442763 + Block 442765 442853 + ExpressionStatement 442767 442830 + BinaryExpression 442767 442829 + Identifier 442767 442800 + EqualsToken 442800 442802 + CallExpression 442802 442829 + PropertyAccessExpression 442802 442820 + Identifier 442802 442810 + Identifier 442811 442820 + Identifier 442821 442828 + ReturnStatement 442853 442954 + CallExpression 442881 442953 + Identifier 442881 442894 + Identifier 442895 442902 + BinaryExpression 442903 442952 + PropertyAccessExpression 442903 442924 + Identifier 442903 442913 + Identifier 442914 442924 + BarToken 442924 442926 + PropertyAccessExpression 442926 442952 + Identifier 442926 442936 + Identifier 442937 442952 + FunctionDeclaration 442999 444186 + Identifier 443019 443037 + Parameter 443038 443088 + Identifier 443038 443054 + TypeReference 443055 443088 + Identifier 443055 443088 + Parameter 443089 443128 + Identifier 443089 443110 + UnionType 443111 443128 + TypeReference 443111 443116 + Identifier 443111 443116 + UndefinedKeyword 443118 443128 + Parameter 443129 443157 + Identifier 443129 443137 + TypeReference 443138 443157 + Identifier 443138 443157 + Block 443158 444186 + IfStatement 443160 443218 + PrefixUnaryExpression 443178 443209 + PropertyAccessExpression 443179 443209 + PropertyAccessExpression 443179 443194 + Identifier 443179 443186 + Identifier 443187 443194 + Identifier 443195 443209 + ReturnStatement 443210 443218 + VariableStatement 443218 443362 + VariableDeclarationList 443218 443361 + VariableDeclaration 443306 443361 + Identifier 443306 443322 + CallExpression 443324 443361 + Identifier 443324 443343 + Identifier 443344 443360 + VariableStatement 443362 443548 + VariableDeclarationList 443362 443547 + VariableDeclaration 443381 443547 + Identifier 443381 443386 + CallExpression 443388 443547 + Identifier 443388 443400 + Identifier 443401 443421 + PropertyAccessExpression 443422 443450 + Identifier 443422 443438 + Identifier 443439 443450 + BinaryExpression 443451 443495 + PropertyAccessExpression 443451 443469 + Identifier 443451 443463 + Identifier 443464 443469 + BarToken 443469 443471 + PropertyAccessExpression 443471 443495 + Identifier 443471 443483 + Identifier 443484 443495 + Identifier 443496 443530 + TrueKeyword 443531 443546 + IfStatement 443548 444175 + Identifier 443566 443570 + Block 443571 443681 + ExpressionStatement 443573 443666 + CallExpression 443573 443665 + PropertyAccessExpression 443573 443618 + PropertyAccessExpression 443573 443606 + Identifier 443573 443598 + Identifier 443599 443606 + Identifier 443607 443618 + Identifier 443619 443623 + Identifier 443624 443645 + PropertyAccessExpression 443646 443664 + Identifier 443646 443658 + Identifier 443659 443664 + Block 443699 444175 + VariableStatement 443701 444007 + VariableDeclarationList 443701 444006 + VariableDeclaration 443841 444006 + Identifier 443841 443850 + CallExpression 443852 444006 + Identifier 443852 443864 + Identifier 443865 443880 + PropertyAccessExpression 443881 443909 + Identifier 443881 443897 + Identifier 443898 443909 + BinaryExpression 443910 443954 + PropertyAccessExpression 443910 443928 + Identifier 443910 443922 + Identifier 443923 443928 + BarToken 443928 443930 + PropertyAccessExpression 443930 443954 + Identifier 443930 443942 + Identifier 443943 443954 + Identifier 443955 443989 + TrueKeyword 443990 444005 + IfStatement 444007 444160 + Identifier 444029 444037 + Block 444038 444160 + ExpressionStatement 444040 444141 + CallExpression 444040 444140 + PropertyAccessExpression 444040 444089 + PropertyAccessExpression 444040 444077 + Identifier 444040 444069 + Identifier 444070 444077 + Identifier 444078 444089 + Identifier 444090 444098 + Identifier 444099 444120 + PropertyAccessExpression 444121 444139 + Identifier 444121 444133 + Identifier 444134 444139 + FunctionDeclaration 444186 444512 + Identifier 444206 444224 + Parameter 444225 444239 + Identifier 444225 444231 + TypeReference 444232 444239 + Identifier 444232 444239 + Parameter 444240 444268 + Identifier 444240 444248 + TypeReference 444249 444268 + Identifier 444249 444268 + Parameter 444269 444290 + Identifier 444269 444277 + TypeReference 444278 444290 + Identifier 444278 444290 + Parameter 444291 444319 + Identifier 444291 444309 + QuestionToken 444309 444310 + BooleanKeyword 444311 444319 + Block 444320 444512 + ExpressionStatement 444322 444411 + CallExpression 444322 444410 + PropertyAccessExpression 444322 444363 + PropertyAccessExpression 444322 444351 + Identifier 444322 444343 + Identifier 444344 444351 + Identifier 444352 444363 + Identifier 444364 444370 + PropertyAccessExpression 444371 444400 + Identifier 444371 444379 + Identifier 444380 444400 + Identifier 444401 444409 + ReturnStatement 444411 444501 + CallExpression 444431 444500 + Identifier 444431 444455 + Identifier 444456 444462 + Identifier 444463 444471 + Identifier 444472 444480 + Identifier 444481 444499 + FunctionDeclaration 444512 450038 + Identifier 444532 444556 + Parameter 444557 444571 + Identifier 444557 444563 + TypeReference 444564 444571 + Identifier 444564 444571 + Parameter 444572 444600 + Identifier 444572 444580 + TypeReference 444581 444600 + Identifier 444581 444600 + Parameter 444601 444622 + Identifier 444601 444609 + TypeReference 444610 444622 + Identifier 444610 444622 + Parameter 444623 444651 + Identifier 444623 444641 + QuestionToken 444641 444642 + BooleanKeyword 444643 444651 + Block 444652 450038 + VariableStatement 444654 444807 + VariableDeclarationList 444654 444806 + VariableDeclaration 444790 444806 + Identifier 444790 444796 + ArrayType 444797 444806 + TypeReference 444797 444804 + Identifier 444797 444804 + VariableStatement 444807 444886 + VariableDeclarationList 444807 444885 + VariableDeclaration 444826 444885 + Identifier 444826 444842 + BinaryExpression 444844 444885 + PropertyAccessExpression 444844 444857 + Identifier 444844 444851 + Identifier 444852 444857 + AmpersandToken 444857 444859 + PropertyAccessExpression 444859 444885 + Identifier 444859 444871 + Identifier 444872 444885 + IfStatement 444886 445336 + BinaryExpression 444904 445091 + BinaryExpression 444904 445012 + PrefixUnaryExpression 444904 444920 + Identifier 444905 444920 + AmpersandAmpersandToken 444920 444923 + ParenthesizedExpression 444923 445012 + BinaryExpression 444925 445011 + PropertyAccessExpression 444925 444953 + Identifier 444925 444932 + Identifier 444933 444953 + BarBarToken 444953 444956 + BinaryExpression 444956 445011 + PropertyAccessExpression 444956 444970 + Identifier 444956 444964 + Identifier 444965 444970 + AmpersandToken 444970 444972 + PropertyAccessExpression 444972 445011 + Identifier 444972 444989 + Identifier 444990 445011 + AmpersandAmpersandToken 445012 445015 + PrefixUnaryExpression 445015 445091 + ParenthesizedExpression 445017 445091 + BinaryExpression 445018 445090 + PropertyAccessExpression 445018 445039 + Identifier 445018 445025 + Identifier 445026 445039 + AmpersandToken 445039 445041 + PropertyAccessExpression 445041 445090 + Identifier 445041 445066 + Identifier 445067 445090 + Block 445092 445266 + ExpressionStatement 445094 445193 + BinaryExpression 445094 445192 + Identifier 445094 445117 + EqualsToken 445117 445119 + CallExpression 445119 445192 + PropertyAccessExpression 445119 445138 + Identifier 445119 445125 + Identifier 445126 445138 + CallExpression 445139 445191 + Identifier 445139 445153 + Identifier 445154 445160 + Identifier 445161 445169 + TrueKeyword 445170 445190 + ExpressionStatement 445193 445251 + CallExpression 445193 445250 + PropertyAccessExpression 445193 445223 + Identifier 445193 445216 + Identifier 445217 445223 + BinaryExpression 445224 445249 + Identifier 445224 445229 + AmpersandAmpersandToken 445229 445232 + BinaryExpression 445232 445249 + PropertyAccessExpression 445232 445245 + Identifier 445232 445238 + Identifier 445239 445245 + GreaterThanToken 445245 445247 + NumericLiteral 445247 445249 + Block 445284 445336 + ExpressionStatement 445286 445321 + BinaryExpression 445286 445320 + Identifier 445286 445309 + EqualsToken 445309 445311 + ArrayLiteralExpression 445311 445320 + Identifier 445313 445319 + ReturnStatement 445336 445363 + Identifier 445356 445362 + FunctionDeclaration 445363 450027 + Identifier 445511 445526 + Parameter 445527 445541 + Identifier 445527 445533 + TypeReference 445534 445541 + Identifier 445534 445541 + Parameter 445542 445563 + Identifier 445542 445550 + TypeReference 445551 445563 + Identifier 445551 445563 + Parameter 445564 445584 + Identifier 445564 445575 + BooleanKeyword 445576 445584 + UnionType 445586 445607 + ArrayType 445586 445595 + TypeReference 445586 445593 + Identifier 445586 445593 + UndefinedKeyword 445597 445607 + Block 445607 450027 + VariableStatement 445609 445789 + VariableDeclarationList 445609 445788 + VariableDeclaration 445630 445788 + Identifier 445630 445652 + CallExpression 445654 445788 + Identifier 445654 445679 + Identifier 445680 445686 + PropertyAccessExpression 445687 445716 + Identifier 445687 445695 + Identifier 445696 445716 + Identifier 445717 445725 + PrefixUnaryExpression 445726 445787 + PrefixUnaryExpression 445728 445787 + ParenthesizedExpression 445729 445787 + BinaryExpression 445730 445786 + PropertyAccessExpression 445730 445743 + Identifier 445730 445737 + Identifier 445738 445743 + AmpersandToken 445743 445745 + PropertyAccessExpression 445745 445786 + Identifier 445745 445762 + Identifier 445763 445786 + VariableStatement 445789 445852 + VariableDeclarationList 445789 445851 + VariableDeclaration 445810 445851 + Identifier 445810 445827 + ArrayType 445828 445851 + ParenthesizedType 445828 445849 + UnionType 445830 445848 + StringKeyword 445830 445836 + UndefinedKeyword 445838 445848 + IfStatement 445852 448125 + BinaryExpression 445874 446098 + PrefixUnaryExpression 445874 445918 + Identifier 445897 445918 + BarBarToken 445918 445921 + CallExpression 445921 446098 + Identifier 445921 445961 + ElementAccessExpression 445962 445986 + Identifier 445962 445983 + NumericLiteral 445984 445985 + PropertyAccessExpression 445987 446016 + Identifier 445987 445995 + Identifier 445996 446016 + ConditionalExpression 446017 446097 + BinaryExpression 446017 446052 + PropertyAccessExpression 446017 446046 + Identifier 446017 446039 + Identifier 446040 446046 + EqualsEqualsEqualsToken 446046 446050 + NumericLiteral 446050 446052 + QuestionToken 446052 446054 + Identifier 446054 446062 + ColonToken 446062 446064 + CallExpression 446064 446097 + Identifier 446064 446088 + Identifier 446089 446096 + Block 446117 448125 + VariableStatement 446119 446327 + VariableDeclarationList 446119 446326 + VariableDeclaration 446196 446326 + Identifier 446196 446204 + CallExpression 446206 446326 + Identifier 446206 446228 + ConditionalExpression 446229 446286 + Identifier 446229 446250 + QuestionToken 446250 446252 + ElementAccessExpression 446252 446277 + Identifier 446252 446274 + NumericLiteral 446275 446276 + ColonToken 446277 446279 + Identifier 446279 446286 + PropertyAccessExpression 446287 446316 + Identifier 446287 446295 + Identifier 446296 446316 + Identifier 446317 446325 + IfStatement 446327 448106 + CallExpression 446353 446368 + Identifier 446353 446359 + Identifier 446360 446367 + Block 446369 448106 + ExpressionStatement 446371 446692 + BinaryExpression 446371 446691 + Identifier 446371 446413 + EqualsToken 446413 446415 + CallExpression 446415 446691 + PropertyAccessExpression 446415 446428 + NonNullExpression 446415 446424 + Identifier 446415 446423 + Identifier 446425 446428 + ArrowFunction 446429 446664 + Parameter 446429 446435 + Identifier 446429 446435 + EqualsGreaterThanToken 446435 446438 + ConditionalExpression 446438 446664 + CallExpression 446438 446539 + Identifier 446438 446472 + PropertyAccessExpression 446473 446492 + Identifier 446473 446479 + Identifier 446480 446492 + Identifier 446493 446538 + QuestionToken 446539 446574 + CallExpression 446574 446619 + Identifier 446574 446602 + Identifier 446603 446609 + Identifier 446610 446618 + ColonToken 446619 446654 + Identifier 446654 446664 + VariableStatement 446692 446760 + VariableDeclarationList 446692 446759 + VariableDeclaration 446723 446759 + Identifier 446723 446731 + CallExpression 446733 446759 + PropertyAccessExpression 446733 446746 + NonNullExpression 446733 446742 + Identifier 446733 446741 + Identifier 446743 446746 + ArrowFunction 446747 446758 + Parameter 446748 446749 + Identifier 446748 446749 + Parameter 446750 446752 + Identifier 446750 446752 + EqualsGreaterThanToken 446753 446756 + Identifier 446756 446758 + ExpressionStatement 446760 446815 + CallExpression 446760 446814 + PropertyAccessExpression 446760 446798 + Identifier 446760 446793 + Identifier 446794 446798 + Identifier 446799 446813 + VariableStatement 446815 446893 + VariableDeclarationList 446815 446892 + VariableDeclaration 446846 446892 + Identifier 446846 446860 + CallExpression 446862 446892 + PropertyAccessExpression 446862 446874 + Identifier 446862 446870 + Identifier 446871 446874 + ArrowFunction 446875 446891 + Parameter 446875 446876 + Identifier 446875 446876 + EqualsGreaterThanToken 446876 446879 + ElementAccessExpression 446879 446891 + NonNullExpression 446879 446888 + Identifier 446879 446887 + Identifier 446889 446890 + ForOfStatement 446893 448083 + VariableDeclarationList 446924 446936 + VariableDeclaration 446929 446936 + Identifier 446929 446936 + Identifier 446939 446953 + Block 446954 448083 + VariableStatement 446956 447085 + VariableDeclarationList 446956 447084 + VariableDeclaration 446991 447084 + Identifier 446991 447003 + CallExpression 447005 447084 + Identifier 447005 447020 + Identifier 447021 447027 + CallExpression 447028 447061 + Identifier 447028 447052 + Identifier 447053 447060 + FalseKeyword 447062 447083 + IfStatement 447085 448056 + Identifier 447119 447130 + Block 447131 448056 + IfStatement 447133 447825 + BinaryExpression 447171 447405 + BinaryExpression 447171 447278 + PropertyAccessExpression 447171 447223 + Identifier 447171 447215 + Identifier 447216 447223 + AmpersandAmpersandToken 447223 447226 + CallExpression 447226 447278 + PropertyAccessExpression 447226 447245 + PropertyAccessExpression 447226 447241 + Identifier 447226 447233 + Identifier 447234 447241 + Identifier 447242 447245 + PropertyAccessExpression 447246 447277 + Identifier 447246 447264 + Identifier 447265 447277 + AmpersandAmpersandToken 447278 447281 + CallExpression 447281 447405 + Identifier 447281 447343 + NonNullExpression 447344 447396 + CallExpression 447344 447395 + PropertyAccessExpression 447344 447362 + PropertyAccessExpression 447344 447358 + Identifier 447344 447350 + Identifier 447351 447358 + Identifier 447359 447362 + PropertyAccessExpression 447363 447394 + Identifier 447363 447381 + Identifier 447382 447394 + Identifier 447397 447404 + Block 447440 447825 + ExpressionStatement 447442 447746 + BinaryExpression 447442 447745 + Identifier 447442 447731 + EqualsToken 447731 447733 + Identifier 447733 447745 + BreakStatement 447746 447790 + ExpressionStatement 447825 447985 + BinaryExpression 447825 447984 + Identifier 447825 447880 + EqualsToken 447880 447882 + CallExpression 447882 447984 + PropertyAccessExpression 447882 447901 + Identifier 447882 447894 + Identifier 447895 447901 + BinaryExpression 447902 447983 + Identifier 447902 447923 + BarBarToken 447923 447926 + ArrayLiteralExpression 447926 447983 + BinaryExpression 447928 447982 + CallExpression 447928 447972 + Identifier 447928 447956 + Identifier 447957 447963 + Identifier 447964 447971 + BarBarToken 447972 447975 + Identifier 447975 447982 + BreakStatement 447985 448025 + IfStatement 448125 448243 + Identifier 448149 448170 + Block 448171 448243 + ReturnStatement 448173 448224 + Identifier 448201 448223 + IfStatement 448243 449001 + BinaryExpression 448265 448604 + Identifier 448265 448427 + BarBarToken 448427 448430 + PrefixUnaryExpression 448430 448604 + ParenthesizedExpression 448534 448604 + BinaryExpression 448535 448603 + PropertyAccessExpression 448535 448547 + Identifier 448535 448541 + Identifier 448542 448547 + AmpersandToken 448547 448549 + ParenthesizedExpression 448549 448603 + BinaryExpression 448551 448602 + PropertyAccessExpression 448551 448574 + Identifier 448551 448562 + Identifier 448563 448574 + BarToken 448574 448576 + PropertyAccessExpression 448576 448602 + Identifier 448576 448588 + Identifier 448589 448602 + Block 448623 449001 + IfStatement 448625 448944 + BinaryExpression 448772 448885 + BinaryExpression 448772 448805 + PrefixUnaryExpression 448772 448783 + Identifier 448773 448783 + AmpersandAmpersandToken 448783 448786 + PrefixUnaryExpression 448786 448805 + Identifier 448788 448805 + AmpersandAmpersandToken 448805 448808 + PrefixUnaryExpression 448808 448885 + PrefixUnaryExpression 448810 448885 + CallExpression 448811 448885 + Identifier 448811 448818 + PropertyAccessExpression 448819 448838 + Identifier 448819 448825 + Identifier 448826 448838 + Identifier 448839 448884 + Block 448886 448944 + ReturnStatement 448888 448921 + ReturnStatement 448944 448982 + ArrayLiteralExpression 448972 448981 + Identifier 448974 448980 + FunctionDeclaration 449001 450012 + Identifier 449029 449044 + Parameter 449045 449054 + Identifier 449045 449046 + NumberKeyword 449047 449054 + Parameter 449055 449065 + Identifier 449055 449057 + NumberKeyword 449058 449065 + Block 449066 450012 + VariableStatement 449068 449129 + VariableDeclarationList 449068 449128 + VariableDeclaration 449095 449128 + Identifier 449095 449106 + ElementAccessExpression 449108 449128 + Identifier 449108 449125 + Identifier 449126 449127 + VariableStatement 449129 449190 + VariableDeclarationList 449129 449189 + VariableDeclaration 449156 449189 + Identifier 449156 449167 + ElementAccessExpression 449169 449189 + Identifier 449169 449186 + Identifier 449187 449188 + IfStatement 449190 449962 + BinaryExpression 449216 449240 + Identifier 449216 449226 + AmpersandAmpersandToken 449226 449229 + Identifier 449229 449240 + Block 449241 449962 + VariableStatement 449243 449316 + VariableDeclarationList 449243 449315 + VariableDeclaration 449274 449315 + Identifier 449274 449286 + CallExpression 449288 449315 + Identifier 449288 449303 + Identifier 449304 449314 + IfStatement 449316 449647 + BinaryExpression 449346 449388 + CallExpression 449346 449372 + Identifier 449346 449360 + Identifier 449361 449371 + EqualsEqualsEqualsToken 449372 449376 + Identifier 449376 449388 + Block 449389 449647 + ReturnStatement 449391 449620 + BinaryExpression 449519 449619 + CallExpression 449519 449568 + PropertyAccessExpression 449519 449556 + Identifier 449519 449536 + Identifier 449537 449556 + Identifier 449557 449567 + MinusToken 449568 449570 + CallExpression 449570 449619 + PropertyAccessExpression 449570 449607 + Identifier 449570 449587 + Identifier 449588 449607 + Identifier 449608 449618 + IfStatement 449647 449833 + Identifier 449677 449688 + Block 449689 449833 + ReturnStatement 449691 449806 + PrefixUnaryExpression 449802 449805 + NumericLiteral 449804 449805 + ReturnStatement 449833 449939 + NumericLiteral 449936 449938 + ReturnStatement 449962 449993 + NumericLiteral 449990 449992 + FunctionDeclaration 450038 450643 + Identifier 450058 450100 + Parameter 450101 450115 + Identifier 450101 450107 + TypeReference 450108 450115 + Identifier 450108 450115 + Parameter 450116 450144 + Identifier 450116 450124 + TypeReference 450125 450144 + Identifier 450125 450144 + Block 450145 450643 + VariableStatement 450147 450233 + VariableDeclarationList 450147 450232 + VariableDeclaration 450164 450232 + Identifier 450164 450183 + UnionType 450184 450232 + TypeReference 450184 450220 + Identifier 450184 450194 + TypeReference 450195 450219 + Identifier 450195 450219 + UndefinedKeyword 450222 450232 + VariableStatement 450233 450292 + VariableDeclarationList 450233 450291 + VariableDeclaration 450252 450291 + Identifier 450252 450265 + CallExpression 450267 450291 + Identifier 450267 450283 + Identifier 450284 450290 + IfStatement 450292 450592 + BinaryExpression 450310 450398 + PropertyAccessExpression 450310 450328 + Identifier 450310 450322 + Identifier 450323 450328 + AmpersandToken 450328 450330 + ParenthesizedExpression 450330 450398 + BinaryExpression 450332 450397 + BinaryExpression 450332 450373 + PropertyAccessExpression 450332 450349 + Identifier 450332 450343 + Identifier 450344 450349 + BarToken 450349 450351 + PropertyAccessExpression 450351 450373 + Identifier 450351 450363 + Identifier 450364 450373 + BarToken 450373 450375 + PropertyAccessExpression 450375 450397 + Identifier 450375 450387 + Identifier 450388 450397 + Block 450399 450592 + ExpressionStatement 450401 450577 + BinaryExpression 450401 450576 + Identifier 450401 450437 + EqualsToken 450437 450439 + CallExpression 450439 450576 + PropertyAccessExpression 450439 450463 + Identifier 450439 450447 + Identifier 450448 450463 + CallExpression 450464 450575 + Identifier 450464 450467 + CallExpression 450468 450527 + Identifier 450468 450519 + Identifier 450520 450526 + ArrowFunction 450528 450574 + Parameter 450528 450531 + Identifier 450528 450531 + EqualsGreaterThanToken 450531 450534 + CallExpression 450534 450574 + Identifier 450534 450561 + Identifier 450562 450564 + Identifier 450565 450573 + ReturnStatement 450592 450632 + Identifier 450612 450631 + FunctionDeclaration 450643 452451 + Identifier 450663 450688 + Parameter 450689 450704 + Identifier 450689 450694 + ArrayType 450695 450704 + TypeReference 450695 450702 + Identifier 450695 450702 + Parameter 450705 450719 + Identifier 450705 450711 + NumberKeyword 450712 450719 + Parameter 450720 450748 + Identifier 450720 450728 + TypeReference 450729 450748 + Identifier 450729 450748 + Block 450749 452451 + ExpressionStatement 450751 450823 + CallExpression 450751 450822 + PropertyAccessExpression 450751 450777 + Identifier 450751 450770 + Identifier 450771 450777 + BinaryExpression 450778 450821 + BinaryExpression 450778 450797 + Identifier 450778 450783 + AmpersandAmpersandToken 450783 450786 + BinaryExpression 450786 450797 + NumericLiteral 450786 450788 + LessThanEqualsToken 450788 450791 + Identifier 450791 450797 + AmpersandAmpersandToken 450797 450800 + BinaryExpression 450800 450821 + Identifier 450800 450806 + LessThanToken 450806 450808 + PropertyAccessExpression 450808 450821 + Identifier 450808 450814 + Identifier 450815 450821 + VariableStatement 450823 450865 + VariableDeclarationList 450823 450864 + VariableDeclaration 450842 450864 + Identifier 450842 450849 + ElementAccessExpression 450851 450864 + Identifier 450851 450857 + Identifier 450858 450863 + VariableStatement 450865 450916 + VariableDeclarationList 450865 450915 + VariableDeclaration 450884 450915 + Identifier 450884 450893 + CallExpression 450895 450915 + Identifier 450895 450907 + Identifier 450908 450914 + IfStatement 450916 451033 + CallExpression 450934 450980 + PropertyAccessExpression 450934 450970 + PropertyAccessExpression 450934 450965 + Identifier 450934 450941 + Identifier 450942 450965 + QuestionDotToken 450965 450967 + Identifier 450967 450970 + Identifier 450971 450979 + Block 450981 451033 + ReturnStatement 450983 451018 + Identifier 451007 451017 + IfStatement 451033 451271 + PropertyAccessExpression 451051 451092 + Identifier 451051 451058 + Identifier 451059 451092 + Block 451093 451271 + ExpressionStatement 451095 451163 + BinaryExpression 451095 451162 + PropertyAccessExpression 451095 451154 + Identifier 451095 451120 + Identifier 451121 451154 + EqualsToken 451154 451156 + FalseKeyword 451156 451162 + ExpressionStatement 451163 451256 + BinaryExpression 451163 451255 + PropertyAccessExpression 451163 451212 + Identifier 451163 451188 + Identifier 451189 451212 + EqualsToken 451212 451214 + NewExpression 451214 451255 + Identifier 451218 451222 + PropertyAccessExpression 451223 451254 + Identifier 451223 451230 + Identifier 451231 451254 + ExpressionStatement 451271 451332 + CallExpression 451271 451331 + PropertyAccessExpression 451271 451321 + NonNullExpression 451271 451317 + PropertyAccessExpression 451271 451316 + Identifier 451271 451292 + Identifier 451293 451316 + Identifier 451318 451321 + Identifier 451322 451330 + VariableStatement 451332 451440 + VariableDeclarationList 451332 451439 + VariableDeclaration 451349 451439 + Identifier 451349 451368 + UnionType 451369 451439 + TypeOperator 451369 451389 + ArrayType 451378 451389 + TypeReference 451378 451387 + Identifier 451378 451387 + TypeOperator 451391 451427 + ArrayType 451400 451427 + TypeReference 451400 451425 + Identifier 451400 451425 + UndefinedKeyword 451429 451439 + IfStatement 451440 452400 + BinaryExpression 451458 451555 + BinaryExpression 451458 451525 + PropertyAccessExpression 451458 451471 + Identifier 451458 451465 + Identifier 451466 451471 + AmpersandToken 451471 451473 + PropertyAccessExpression 451473 451525 + Identifier 451473 451490 + Identifier 451491 451525 + AmpersandAmpersandToken 451525 451528 + BinaryExpression 451528 451555 + Identifier 451528 451534 + LessThanToken 451534 451536 + ParenthesizedExpression 451536 451555 + BinaryExpression 451538 451554 + PropertyAccessExpression 451538 451550 + Identifier 451538 451543 + Identifier 451544 451550 + MinusToken 451550 451552 + NumericLiteral 451552 451554 + Block 451556 452400 + VariableStatement 451558 451604 + VariableDeclarationList 451558 451603 + VariableDeclaration 451581 451603 + Identifier 451581 451594 + Identifier 451596 451603 + VariableStatement 451604 451658 + VariableDeclarationList 451604 451657 + VariableDeclaration 451627 451657 + Identifier 451627 451638 + ElementAccessExpression 451640 451657 + Identifier 451640 451646 + BinaryExpression 451647 451656 + Identifier 451647 451652 + PlusToken 451652 451654 + NumericLiteral 451654 451656 + IfStatement 451658 452385 + BinaryExpression 451680 451731 + CallExpression 451680 451705 + Identifier 451680 451693 + Identifier 451694 451704 + AmpersandToken 451705 451707 + PropertyAccessExpression 451707 451731 + Identifier 451707 451718 + Identifier 451719 451731 + Block 451732 452240 + VariableStatement 451734 451940 + VariableDeclarationList 451734 451939 + VariableDeclaration 451761 451939 + Identifier 451761 451768 + CallExpression 451770 451939 + Identifier 451770 451806 + ConditionalExpression 451807 451915 + BinaryExpression 451807 451871 + PropertyAccessExpression 451807 451851 + Identifier 451807 451845 + Identifier 451846 451851 + AmpersandToken 451851 451853 + PropertyAccessExpression 451853 451871 + Identifier 451853 451865 + Identifier 451866 451871 + QuestionToken 451871 451873 + CallExpression 451873 451900 + Identifier 451873 451886 + Identifier 451887 451899 + ColonToken 451900 451902 + Identifier 451902 451915 + ExpressionStatement 451940 452221 + BinaryExpression 451940 452220 + Identifier 451940 452111 + EqualsToken 452111 452113 + CallExpression 452113 452220 + Identifier 452113 452128 + CallExpression 452129 452210 + Identifier 452129 452132 + Identifier 452133 452139 + ArrowFunction 452140 452209 + Parameter 452140 452142 + Identifier 452140 452142 + EqualsGreaterThanToken 452142 452145 + CallExpression 452145 452209 + Identifier 452145 452159 + Identifier 452160 452161 + NonNullExpression 452162 452208 + PropertyAccessExpression 452162 452207 + PropertyAccessExpression 452162 452200 + ParenthesizedExpression 452162 452194 + AsExpression 452164 452193 + Identifier 452164 452174 + TypeReference 452177 452193 + Identifier 452177 452193 + Identifier 452195 452200 + Identifier 452201 452207 + Identifier 452211 452219 + Block 452262 452385 + ExpressionStatement 452264 452366 + BinaryExpression 452264 452365 + Identifier 452264 452304 + EqualsToken 452304 452306 + CallExpression 452306 452365 + Identifier 452306 452348 + Identifier 452349 452355 + Identifier 452356 452364 + ReturnStatement 452400 452440 + Identifier 452420 452439 + FunctionDeclaration 452451 452799 + Identifier 452538 452566 + Parameter 452567 452593 + Identifier 452567 452570 + TypeReference 452571 452593 + Identifier 452571 452593 + TypeReference 452595 452617 + Identifier 452595 452617 + Block 452617 452799 + IfStatement 452619 452763 + CallExpression 452637 452676 + Identifier 452637 452660 + PropertyAccessExpression 452661 452675 + Identifier 452661 452664 + Identifier 452665 452675 + Block 452677 452763 + ReturnStatement 452679 452748 + CallExpression 452703 452747 + Identifier 452703 452731 + PropertyAccessExpression 452732 452746 + Identifier 452732 452735 + Identifier 452736 452746 + ReturnStatement 452763 452788 + Identifier 452783 452787 + FunctionDeclaration 452799 456827 + Identifier 452819 452847 + Parameter 452848 452862 + Identifier 452848 452854 + TypeReference 452855 452862 + Identifier 452855 452862 + Parameter 452863 452891 + Identifier 452863 452871 + TypeReference 452872 452891 + Identifier 452872 452891 + Parameter 452892 452928 + Identifier 452892 452911 + QuestionToken 452911 452912 + TypeReference 452913 452928 + Identifier 452913 452928 + Block 452929 456827 + VariableStatement 452931 453020 + VariableDeclarationList 452931 453019 + VariableDeclaration 452948 453019 + Identifier 452948 452953 + CallExpression 452955 453019 + Identifier 452955 452976 + TypeReference 452977 452987 + Identifier 452977 452987 + Identifier 452989 452995 + PropertyAccessExpression 452996 453018 + Identifier 452996 453007 + Identifier 453008 453018 + IfStatement 453020 453377 + PrefixUnaryExpression 453038 453043 + Identifier 453039 453043 + Block 453044 453377 + VariableStatement 453046 453191 + VariableDeclarationList 453046 453190 + VariableDeclaration 453069 453190 + Identifier 453069 453090 + CallExpression 453092 453190 + Identifier 453092 453105 + PropertyAccessExpression 453106 453125 + Identifier 453106 453112 + Identifier 453113 453125 + ArrowFunction 453126 453189 + Parameter 453126 453128 + Identifier 453126 453128 + EqualsGreaterThanToken 453128 453131 + CallExpression 453131 453189 + Identifier 453131 453178 + Identifier 453179 453180 + Identifier 453181 453188 + IfStatement 453191 453362 + Identifier 453213 453233 + Block 453234 453362 + ExpressionStatement 453236 453343 + BinaryExpression 453236 453342 + Identifier 453236 453262 + EqualsToken 453262 453264 + CallExpression 453264 453342 + Identifier 453264 453285 + TypeReference 453286 453296 + Identifier 453286 453296 + Identifier 453298 453318 + PropertyAccessExpression 453319 453341 + Identifier 453319 453330 + Identifier 453331 453341 + IfStatement 453377 453547 + BinaryExpression 453395 453432 + Identifier 453395 453399 + AmpersandAmpersandToken 453399 453402 + BinaryExpression 453402 453432 + PropertyAccessExpression 453402 453418 + Identifier 453402 453407 + Identifier 453408 453418 + ExclamationEqualsEqualsToken 453418 453422 + Identifier 453422 453432 + Block 453433 453547 + ReturnStatement 453435 453532 + PropertyAccessExpression 453515 453531 + Identifier 453515 453520 + Identifier 453521 453531 + IfStatement 453547 453807 + PrefixUnaryExpression 453565 453570 + Identifier 453566 453570 + Block 453571 453807 + IfStatement 453573 453792 + CallExpression 453595 453654 + PropertyAccessExpression 453595 453624 + Identifier 453595 453619 + Identifier 453620 453624 + AsExpression 453625 453653 + PropertyAccessExpression 453625 453643 + Identifier 453625 453631 + Identifier 453632 453643 + StringKeyword 453646 453653 + Block 453655 453792 + ReturnStatement 453657 453773 + CallExpression 453685 453772 + PropertyAccessExpression 453685 453726 + ParenthesizedExpression 453685 453716 + AsExpression 453687 453715 + PropertyAccessExpression 453687 453705 + Identifier 453687 453693 + Identifier 453694 453705 + StringKeyword 453708 453715 + Identifier 453717 453726 + NumericLiteral 453727 453728 + BinaryExpression 453729 453771 + PropertyAccessExpression 453729 453767 + ParenthesizedExpression 453729 453760 + AsExpression 453731 453759 + PropertyAccessExpression 453731 453749 + Identifier 453731 453737 + Identifier 453738 453749 + StringKeyword 453752 453759 + Identifier 453761 453767 + MinusToken 453767 453769 + NumericLiteral 453769 453771 + IfStatement 453807 454448 + BinaryExpression 453825 453886 + PrefixUnaryExpression 453825 453847 + PropertyAccessExpression 453826 453847 + Identifier 453826 453833 + Identifier 453834 453847 + BarBarToken 453847 453850 + PrefixUnaryExpression 453850 453886 + PropertyAccessExpression 453852 453886 + PropertyAccessExpression 453852 453867 + Identifier 453852 453859 + Identifier 453860 453867 + Identifier 453868 453886 + Block 453887 454448 + IfStatement 453889 454235 + CallExpression 454038 454097 + PropertyAccessExpression 454038 454067 + Identifier 454038 454062 + Identifier 454063 454067 + AsExpression 454068 454096 + PropertyAccessExpression 454068 454086 + Identifier 454068 454074 + Identifier 454075 454086 + StringKeyword 454089 454096 + Block 454098 454235 + ReturnStatement 454100 454216 + CallExpression 454128 454215 + PropertyAccessExpression 454128 454169 + ParenthesizedExpression 454128 454159 + AsExpression 454130 454158 + PropertyAccessExpression 454130 454148 + Identifier 454130 454136 + Identifier 454137 454148 + StringKeyword 454151 454158 + Identifier 454160 454169 + NumericLiteral 454170 454171 + BinaryExpression 454172 454214 + PropertyAccessExpression 454172 454210 + ParenthesizedExpression 454172 454203 + AsExpression 454174 454202 + PropertyAccessExpression 454174 454192 + Identifier 454174 454180 + Identifier 454181 454192 + StringKeyword 454195 454202 + Identifier 454204 454210 + MinusToken 454210 454212 + NumericLiteral 454212 454214 + ReturnStatement 454235 454329 + PropertyAccessExpression 454259 454328 + CallExpression 454259 454319 + Identifier 454259 454279 + NonNullExpression 454280 454318 + CallExpression 454280 454317 + Identifier 454280 454309 + Identifier 454310 454316 + Identifier 454320 454328 + VariableStatement 454448 454537 + VariableDeclarationList 454448 454536 + VariableDeclaration 454467 454536 + Identifier 454467 454488 + CallExpression 454490 454536 + Identifier 454490 454506 + PropertyAccessExpression 454507 454535 + Identifier 454507 454514 + Identifier 454515 454535 + VariableStatement 454537 454701 + VariableDeclarationList 454537 454700 + VariableDeclaration 454556 454700 + Identifier 454556 454580 + ConditionalExpression 454582 454700 + CallExpression 454582 454627 + Identifier 454582 454605 + Identifier 454606 454626 + QuestionToken 454627 454629 + CallExpression 454629 454688 + Identifier 454629 454666 + Identifier 454667 454687 + ColonToken 454688 454690 + Identifier 454690 454700 + VariableStatement 454701 454757 + VariableDeclarationList 454701 454756 + VariableDeclaration 454720 454756 + Identifier 454720 454732 + PropertyAccessExpression 454734 454756 + Identifier 454734 454742 + Identifier 454743 454756 + VariableStatement 454757 455012 + VariableDeclarationList 454757 455011 + VariableDeclaration 454776 455011 + Identifier 454776 454791 + BinaryExpression 454793 455011 + BinaryExpression 454793 454926 + Identifier 454793 454812 + BarBarToken 454812 454832 + BinaryExpression 454832 454926 + Identifier 454832 454856 + AmpersandAmpersandToken 454856 454859 + CallExpression 454859 454926 + PropertyAccessExpression 454859 454888 + Identifier 454859 454864 + Identifier 454865 454888 + Identifier 454889 454900 + Identifier 454901 454925 + BarBarToken 454926 454946 + BinaryExpression 454946 455011 + Identifier 454946 454958 + AmpersandAmpersandToken 454958 454961 + CallExpression 454961 455011 + PropertyAccessExpression 454961 454998 + Identifier 454961 454966 + Identifier 454967 454998 + Identifier 454999 455010 + VariableStatement 455012 455101 + VariableDeclarationList 455012 455100 + VariableDeclaration 455031 455100 + Identifier 455031 455040 + CallExpression 455042 455100 + Identifier 455042 455066 + PropertyAccessExpression 455067 455083 + Identifier 455067 455078 + Identifier 455079 455083 + Identifier 455084 455099 + VariableStatement 455101 455152 + VariableDeclarationList 455101 455151 + VariableDeclaration 455120 455151 + Identifier 455120 455126 + CallExpression 455128 455151 + Identifier 455128 455143 + Identifier 455144 455150 + VariableStatement 455152 455241 + VariableDeclarationList 455152 455240 + VariableDeclaration 455169 455240 + Identifier 455169 455179 + BinaryExpression 455181 455240 + PropertyAccessExpression 455181 455202 + Identifier 455181 455187 + Identifier 455188 455202 + AmpersandAmpersandToken 455202 455205 + CallExpression 455205 455240 + PropertyAccessExpression 455205 455230 + PropertyAccessExpression 455205 455226 + Identifier 455205 455211 + Identifier 455212 455226 + Identifier 455227 455230 + Identifier 455231 455239 + IfStatement 455241 456785 + PrefixUnaryExpression 455259 455269 + Identifier 455260 455269 + Block 455270 456785 + VariableStatement 455272 455333 + VariableDeclarationList 455272 455332 + VariableDeclaration 455295 455332 + Identifier 455295 455304 + PrefixUnaryExpression 455306 455332 + PrefixUnaryExpression 455308 455332 + PropertyAccessExpression 455309 455332 + Identifier 455309 455324 + Identifier 455325 455332 + VariableStatement 455333 455829 + VariableDeclarationList 455333 455828 + VariableDeclaration 455787 455828 + ObjectBindingPattern 455787 455810 + BindingElement 455789 455808 + Identifier 455789 455808 + PropertyAccessExpression 455812 455828 + Identifier 455812 455820 + Identifier 455821 455828 + VariableStatement 455829 455988 + VariableDeclarationList 455829 455987 + VariableDeclaration 455852 455987 + Identifier 455852 455877 + ConditionalExpression 455879 455987 + Identifier 455879 455888 + QuestionToken 455888 455890 + ObjectLiteralExpression 455890 455969 + SpreadAssignment 455892 455911 + Identifier 455896 455911 + PropertyAssignment 455912 455967 + Identifier 455912 455920 + CallExpression 455921 455967 + PropertyAccessExpression 455921 455965 + Identifier 455921 455940 + Identifier 455941 455965 + ColonToken 455969 455971 + Identifier 455971 455987 + ExpressionStatement 455988 456653 + BinaryExpression 455988 456652 + Identifier 455988 456015 + EqualsToken 456015 456017 + CallExpression 456017 456652 + Identifier 456017 456023 + CallExpression 456024 456651 + PropertyAccessExpression 456024 456060 + Identifier 456024 456040 + Identifier 456041 456060 + Identifier 456061 456089 + Identifier 456090 456119 + Identifier 456120 456166 + Identifier 456167 456200 + Identifier 456201 456241 + ObjectLiteralExpression 456242 456586 + PropertyAssignment 456265 456370 + Identifier 456265 456322 + ConditionalExpression 456323 456370 + Identifier 456323 456332 + QuestionToken 456332 456334 + StringLiteral 456334 456349 + ColonToken 456349 456351 + StringLiteral 456351 456370 + PropertyAssignment 456371 456562 + Identifier 456371 456424 + ConditionalExpression 456425 456562 + Identifier 456425 456434 + QuestionToken 456434 456436 + StringLiteral 456436 456446 + ColonToken 456446 456477 + ConditionalExpression 456477 456562 + BinaryExpression 456477 456514 + Identifier 456477 456492 + EqualsEqualsEqualsToken 456492 456496 + PropertyAccessExpression 456496 456514 + Identifier 456496 456507 + Identifier 456508 456514 + QuestionToken 456514 456516 + StringLiteral 456516 456521 + ColonToken 456521 456552 + Identifier 456552 456562 + ObjectLiteralExpression 456587 456631 + ShorthandPropertyAssignment 456610 456629 + Identifier 456610 456629 + ExpressionStatement 456653 456706 + BinaryExpression 456653 456705 + PropertyAccessExpression 456653 456691 + Identifier 456653 456676 + Identifier 456677 456691 + QuestionQuestionEqualsToken 456691 456695 + NewExpression 456695 456705 + Identifier 456699 456703 + ExpressionStatement 456706 456770 + CallExpression 456706 456769 + PropertyAccessExpression 456706 456748 + PropertyAccessExpression 456706 456744 + Identifier 456706 456729 + Identifier 456730 456744 + Identifier 456745 456748 + Identifier 456749 456757 + Identifier 456758 456768 + ReturnStatement 456785 456816 + Identifier 456805 456815 + FunctionDeclaration 456827 457146 + Identifier 456847 456870 + Parameter 456871 456885 + Identifier 456871 456877 + TypeReference 456878 456885 + Identifier 456878 456885 + TypeReference 456887 456898 + Identifier 456887 456898 + Block 456898 457146 + VariableStatement 456900 457006 + VariableDeclarationList 456900 457005 + VariableDeclaration 456919 457005 + Identifier 456919 456930 + CallExpression 456932 457005 + PropertyAccessExpression 456932 456957 + Identifier 456932 456940 + Identifier 456941 456957 + CallExpression 456958 457004 + Identifier 456958 456984 + PropertyAccessExpression 456985 457003 + Identifier 456985 456991 + Identifier 456992 457003 + ReturnStatement 457006 457135 + ConditionalExpression 457026 457134 + PropertyAccessExpression 457026 457040 + Identifier 457026 457033 + Identifier 457034 457040 + QuestionToken 457040 457042 + CallExpression 457042 457121 + PropertyAccessExpression 457042 457070 + Identifier 457042 457050 + Identifier 457051 457070 + CallExpression 457071 457108 + Identifier 457071 457093 + PropertyAccessExpression 457094 457107 + Identifier 457094 457100 + Identifier 457101 457107 + Identifier 457109 457120 + ColonToken 457121 457123 + Identifier 457123 457134 + FunctionDeclaration 457146 467674 + Identifier 457166 457183 + Parameter 457184 457198 + Identifier 457184 457190 + TypeReference 457191 457198 + Identifier 457191 457198 + Parameter 457199 457227 + Identifier 457199 457207 + TypeReference 457208 457227 + Identifier 457208 457227 + Parameter 457228 457249 + Identifier 457228 457236 + TypeReference 457237 457249 + Identifier 457237 457249 + Parameter 457250 457294 + Identifier 457250 457272 + QuestionToken 457272 457273 + TypeOperator 457274 457294 + ArrayType 457283 457294 + TypeReference 457283 457292 + Identifier 457283 457292 + TypeReference 457296 457305 + Identifier 457296 457305 + Block 457305 467674 + VariableStatement 457307 457451 + VariableDeclarationList 457307 457450 + VariableDeclaration 457326 457450 + Identifier 457326 457332 + CallExpression 457334 457450 + Identifier 457334 457352 + Identifier 457353 457359 + Identifier 457360 457368 + Identifier 457369 457377 + PrefixUnaryExpression 457378 457449 + ParenthesizedExpression 457380 457449 + BinaryExpression 457381 457448 + PropertyAccessExpression 457381 457394 + Identifier 457381 457388 + Identifier 457389 457394 + AmpersandToken 457394 457396 + PropertyAccessExpression 457396 457448 + Identifier 457396 457413 + Identifier 457414 457448 + VariableStatement 457451 457595 + VariableDeclarationList 457451 457594 + VariableDeclaration 457553 457594 + Identifier 457553 457562 + BinaryExpression 457564 457594 + Identifier 457564 457572 + EqualsEqualsEqualsToken 457572 457576 + PropertyAccessExpression 457576 457594 + Identifier 457576 457588 + Identifier 457589 457594 + IfStatement 457595 462886 + CallExpression 457613 457686 + Identifier 457613 457617 + PropertyAccessExpression 457618 457639 + ElementAccessExpression 457618 457626 + Identifier 457618 457623 + NumericLiteral 457624 457625 + Identifier 457627 457639 + Identifier 457640 457685 + Block 457687 462886 + VariableStatement 457689 457877 + VariableDeclarationList 457689 457876 + VariableDeclaration 457774 457876 + Identifier 457774 457787 + ConditionalExpression 457789 457876 + BinaryExpression 457789 457806 + PropertyAccessExpression 457789 457802 + Identifier 457789 457795 + Identifier 457796 457802 + GreaterThanToken 457802 457804 + NumericLiteral 457804 457806 + QuestionToken 457806 457808 + CallExpression 457808 457864 + Identifier 457808 457836 + Identifier 457837 457842 + BinaryExpression 457843 457860 + PropertyAccessExpression 457843 457856 + Identifier 457843 457849 + Identifier 457850 457856 + MinusToken 457856 457858 + NumericLiteral 457858 457860 + NumericLiteral 457861 457863 + ColonToken 457864 457866 + Identifier 457866 457876 + VariableStatement 457877 457991 + VariableDeclarationList 457877 457990 + VariableDeclaration 457900 457990 + Identifier 457900 457919 + BinaryExpression 457921 457990 + Identifier 457921 457943 + BarBarToken 457943 457946 + CallExpression 457946 457990 + Identifier 457946 457971 + Identifier 457972 457977 + NumericLiteral 457978 457980 + Identifier 457981 457989 + VariableStatement 457991 458096 + VariableDeclarationList 457991 458095 + VariableDeclaration 458014 458095 + Identifier 458014 458026 + CallExpression 458028 458095 + Identifier 458028 458048 + CallExpression 458049 458094 + Identifier 458049 458064 + PropertyAccessExpression 458065 458093 + Identifier 458065 458072 + Identifier 458073 458093 + VariableStatement 458096 458165 + VariableDeclarationList 458096 458164 + VariableDeclaration 458119 458164 + Identifier 458119 458130 + CallExpression 458132 458164 + Identifier 458132 458154 + ElementAccessExpression 458155 458163 + Identifier 458155 458160 + NumericLiteral 458161 458162 + VariableStatement 458165 458217 + VariableDeclarationList 458165 458216 + VariableDeclaration 458186 458216 + Identifier 458186 458196 + UnionType 458197 458216 + StringKeyword 458197 458204 + UndefinedKeyword 458206 458216 + VariableStatement 458217 458280 + VariableDeclarationList 458217 458279 + VariableDeclaration 458238 458279 + Identifier 458238 458249 + UnionType 458250 458279 + TypeReference 458250 458267 + Identifier 458250 458267 + UndefinedKeyword 458269 458279 + IfStatement 458280 459341 + BinaryExpression 458302 458460 + BinaryExpression 458302 458378 + CallExpression 458302 458346 + Identifier 458302 458329 + Identifier 458330 458345 + EqualsEqualsEqualsToken 458346 458350 + PropertyAccessExpression 458350 458378 + Identifier 458350 458371 + Identifier 458372 458378 + BarBarToken 458378 458381 + BinaryExpression 458381 458460 + CallExpression 458381 458426 + Identifier 458381 458409 + Identifier 458410 458425 + EqualsEqualsEqualsToken 458426 458430 + PropertyAccessExpression 458430 458460 + Identifier 458430 458451 + Identifier 458452 458460 + Block 458461 459341 + IfStatement 458463 459322 + BinaryExpression 458627 458745 + BinaryExpression 458627 458678 + PropertyAccessExpression 458627 458656 + Identifier 458627 458637 + QuestionDotToken 458637 458639 + Identifier 458639 458656 + EqualsEqualsEqualsToken 458656 458660 + PropertyAccessExpression 458660 458678 + Identifier 458660 458671 + Identifier 458672 458678 + AmpersandAmpersandToken 458678 458681 + BinaryExpression 458681 458745 + PropertyAccessExpression 458681 458710 + Identifier 458681 458692 + Identifier 458693 458710 + ExclamationEqualsEqualsToken 458710 458714 + PropertyAccessExpression 458714 458745 + Identifier 458714 458726 + QuestionDotToken 458726 458728 + Identifier 458728 458745 + Block 458746 459322 + ExpressionStatement 458748 458852 + BinaryExpression 458748 458851 + Identifier 458748 458783 + EqualsToken 458783 458785 + CallExpression 458785 458851 + Identifier 458785 458813 + ElementAccessExpression 458814 458822 + Identifier 458814 458819 + NumericLiteral 458820 458821 + Identifier 458823 458831 + PropertyAccessExpression 458832 458850 + Identifier 458832 458843 + Identifier 458844 458850 + ExpressionStatement 458852 459299 + BinaryExpression 458852 459298 + Identifier 458852 458888 + EqualsToken 458888 458890 + CallExpression 458890 459298 + PropertyAccessExpression 458890 458921 + Identifier 458890 458898 + Identifier 458899 458921 + CallExpression 458922 459270 + PropertyAccessExpression 458922 458975 + Identifier 458922 458959 + Identifier 458960 458975 + ArrayLiteralExpression 458976 459269 + CallExpression 458977 459237 + PropertyAccessExpression 458977 459040 + Identifier 458977 459018 + Identifier 459019 459040 + CallExpression 459041 459125 + PropertyAccessExpression 459041 459106 + Identifier 459041 459086 + Identifier 459087 459106 + StringLiteral 459107 459124 + CallExpression 459126 459201 + PropertyAccessExpression 459126 459191 + Identifier 459126 459171 + Identifier 459172 459191 + StringLiteral 459192 459200 + IfStatement 459341 459476 + PrefixUnaryExpression 459363 459373 + Identifier 459364 459373 + Block 459374 459476 + ExpressionStatement 459376 459457 + BinaryExpression 459376 459456 + Identifier 459376 459407 + EqualsToken 459407 459409 + CallExpression 459409 459456 + Identifier 459409 459437 + ElementAccessExpression 459438 459446 + Identifier 459438 459443 + NumericLiteral 459444 459445 + Identifier 459447 459455 + IfStatement 459476 461760 + BinaryExpression 459498 459684 + BinaryExpression 459498 459644 + PrefixUnaryExpression 459498 459563 + ParenthesizedExpression 459499 459563 + BinaryExpression 459500 459562 + PropertyAccessExpression 459500 459513 + Identifier 459500 459507 + Identifier 459508 459513 + AmpersandToken 459513 459515 + PropertyAccessExpression 459515 459562 + Identifier 459515 459532 + Identifier 459533 459562 + AmpersandAmpersandToken 459563 459566 + BinaryExpression 459566 459644 + CallExpression 459566 459611 + Identifier 459566 459594 + Identifier 459595 459610 + ExclamationEqualsEqualsToken 459611 459615 + PropertyAccessExpression 459615 459644 + Identifier 459615 459636 + Identifier 459637 459644 + AmpersandAmpersandToken 459644 459647 + CallExpression 459647 459684 + PropertyAccessExpression 459647 459666 + Identifier 459647 459657 + Identifier 459658 459666 + StringLiteral 459667 459683 + Block 459685 461760 + VariableStatement 459687 459740 + VariableDeclarationList 459687 459739 + VariableDeclaration 459714 459739 + Identifier 459714 459727 + Identifier 459729 459739 + IfStatement 459740 461143 + BinaryExpression 459766 459924 + BinaryExpression 459766 459842 + CallExpression 459766 459810 + Identifier 459766 459793 + Identifier 459794 459809 + EqualsEqualsEqualsToken 459810 459814 + PropertyAccessExpression 459814 459842 + Identifier 459814 459835 + Identifier 459836 459842 + BarBarToken 459842 459845 + BinaryExpression 459845 459924 + CallExpression 459845 459890 + Identifier 459845 459873 + Identifier 459874 459889 + EqualsEqualsEqualsToken 459890 459894 + PropertyAccessExpression 459894 459924 + Identifier 459894 459915 + Identifier 459916 459924 + Block 459925 461143 + VariableStatement 459927 460230 + VariableDeclarationList 459927 460229 + VariableDeclaration 460120 460229 + Identifier 460120 460132 + ConditionalExpression 460134 460229 + BinaryExpression 460134 460187 + PropertyAccessExpression 460134 460165 + Identifier 460134 460146 + QuestionDotToken 460146 460148 + Identifier 460148 460165 + EqualsEqualsEqualsToken 460165 460169 + PropertyAccessExpression 460169 460187 + Identifier 460169 460180 + Identifier 460181 460187 + QuestionToken 460187 460189 + PropertyAccessExpression 460189 460209 + Identifier 460189 460200 + Identifier 460201 460209 + ColonToken 460209 460211 + PropertyAccessExpression 460211 460229 + Identifier 460211 460222 + Identifier 460223 460229 + ExpressionStatement 460230 460328 + BinaryExpression 460230 460327 + Identifier 460230 460265 + EqualsToken 460265 460267 + CallExpression 460267 460327 + Identifier 460267 460295 + ElementAccessExpression 460296 460304 + Identifier 460296 460301 + NumericLiteral 460302 460303 + Identifier 460305 460313 + Identifier 460314 460326 + IfStatement 460328 461120 + CallExpression 460360 460396 + PropertyAccessExpression 460360 460378 + Identifier 460360 460369 + Identifier 460370 460378 + StringLiteral 460379 460395 + Block 460397 460534 + ExpressionStatement 460399 460507 + BinaryExpression 460399 460506 + Identifier 460399 460491 + EqualsToken 460491 460493 + Identifier 460493 460506 + Block 460564 461120 + ExpressionStatement 460566 461093 + BinaryExpression 460566 461092 + Identifier 460566 460606 + EqualsToken 460606 460608 + CallExpression 460608 461092 + PropertyAccessExpression 460608 460639 + Identifier 460608 460616 + Identifier 460617 460639 + CallExpression 460640 461060 + PropertyAccessExpression 460640 460697 + Identifier 460640 460681 + Identifier 460682 460697 + ArrayLiteralExpression 460698 461059 + CallExpression 460699 461023 + PropertyAccessExpression 460699 460766 + Identifier 460699 460744 + Identifier 460745 460766 + CallExpression 460767 460855 + PropertyAccessExpression 460767 460836 + Identifier 460767 460816 + Identifier 460817 460836 + StringLiteral 460837 460854 + CallExpression 460856 460983 + PropertyAccessExpression 460856 460925 + Identifier 460856 460905 + Identifier 460906 460925 + ConditionalExpression 460926 460982 + BinaryExpression 460926 460959 + Identifier 460926 460937 + EqualsEqualsEqualsToken 460937 460941 + PropertyAccessExpression 460941 460959 + Identifier 460941 460952 + Identifier 460953 460959 + QuestionToken 460959 460961 + StringLiteral 460961 460970 + ColonToken 460970 460972 + StringLiteral 460972 460982 + IfStatement 461143 461741 + PrefixUnaryExpression 461171 461182 + Identifier 461172 461182 + Block 461183 461741 + ExpressionStatement 461185 461507 + BinaryExpression 461185 461506 + PropertyAccessExpression 461185 461499 + Identifier 461185 461482 + Identifier 461483 461499 + EqualsToken 461499 461501 + TrueKeyword 461501 461506 + IfStatement 461507 461718 + PropertyAccessExpression 461537 461590 + PropertyAccessExpression 461537 461552 + Identifier 461537 461544 + Identifier 461545 461552 + Identifier 461553 461590 + Block 461591 461718 + ExpressionStatement 461593 461691 + CallExpression 461593 461690 + PropertyAccessExpression 461593 461676 + PropertyAccessExpression 461593 461638 + Identifier 461593 461630 + Identifier 461631 461638 + Identifier 461639 461676 + Identifier 461677 461689 + VariableStatement 461760 461860 + VariableDeclarationList 461760 461859 + VariableDeclaration 461783 461859 + Identifier 461783 461787 + CallExpression 461789 461859 + PropertyAccessExpression 461789 461819 + Identifier 461789 461797 + Identifier 461798 461819 + CallExpression 461820 461858 + PropertyAccessExpression 461820 461847 + Identifier 461820 461827 + Identifier 461828 461847 + Identifier 461848 461857 + ExpressionStatement 461860 461929 + BinaryExpression 461860 461928 + PropertyAccessExpression 461860 461903 + Identifier 461860 461885 + Identifier 461886 461903 + PlusEqualsToken 461903 461906 + BinaryExpression 461906 461928 + PropertyAccessExpression 461906 461923 + Identifier 461906 461916 + Identifier 461917 461923 + PlusToken 461923 461925 + NumericLiteral 461925 461928 + IfStatement 461929 462871 + BinaryExpression 461977 462020 + PrefixUnaryExpression 461977 461990 + Identifier 461978 461990 + BarBarToken 461990 461993 + CallExpression 461993 462020 + Identifier 461993 462006 + Identifier 462007 462019 + Block 462021 462456 + IfStatement 462023 462281 + Identifier 462049 462061 + Block 462062 462281 + VariableStatement 462064 462168 + VariableDeclarationList 462064 462167 + VariableDeclaration 462095 462167 + Identifier 462095 462102 + ConditionalExpression 462104 462167 + CallExpression 462104 462131 + Identifier 462104 462117 + Identifier 462118 462130 + QuestionToken 462131 462133 + Identifier 462133 462146 + ColonToken 462146 462148 + PropertyAccessExpression 462148 462167 + Identifier 462148 462161 + Identifier 462162 462167 + ExpressionStatement 462168 462258 + CallExpression 462168 462257 + Identifier 462168 462220 + Identifier 462221 462227 + Identifier 462228 462256 + ReturnStatement 462281 462437 + CallExpression 462309 462436 + PropertyAccessExpression 462309 462338 + Identifier 462309 462317 + Identifier 462318 462338 + Identifier 462339 462342 + Identifier 462343 462354 + AsExpression 462355 462382 + Identifier 462355 462368 + TypeReference 462371 462382 + Identifier 462371 462382 + AsExpression 462383 462425 + Identifier 462383 462402 + TypeOperator 462405 462425 + ArrayType 462414 462425 + TypeReference 462414 462423 + Identifier 462414 462423 + Identifier 462426 462435 + Block 462478 462871 + VariableStatement 462480 462562 + VariableDeclarationList 462480 462561 + VariableDeclaration 462507 462561 + Identifier 462507 462517 + CallExpression 462519 462561 + Identifier 462519 462547 + Identifier 462548 462560 + VariableStatement 462562 462655 + VariableDeclarationList 462562 462654 + VariableDeclaration 462589 462654 + Identifier 462589 462599 + PropertyAccessExpression 462601 462654 + ParenthesizedExpression 462601 462645 + AsExpression 462603 462644 + PropertyAccessExpression 462603 462623 + Identifier 462603 462612 + Identifier 462613 462623 + TypeReference 462626 462644 + Identifier 462626 462644 + Identifier 462646 462654 + ReturnStatement 462655 462852 + CallExpression 462683 462851 + PropertyAccessExpression 462683 462719 + Identifier 462683 462691 + Identifier 462692 462719 + CallExpression 462720 462829 + PropertyAccessExpression 462720 462748 + Identifier 462720 462727 + Identifier 462728 462748 + Identifier 462749 462752 + Identifier 462753 462764 + Identifier 462765 462775 + AsExpression 462776 462818 + Identifier 462776 462795 + TypeOperator 462798 462818 + ArrayType 462807 462818 + TypeReference 462807 462816 + Identifier 462807 462816 + Identifier 462819 462828 + PropertyAccessExpression 462830 462850 + Identifier 462830 462840 + Identifier 462841 462850 + VariableStatement 462886 462977 + VariableDeclarationList 462886 462976 + VariableDeclaration 462907 462976 + Identifier 462907 462918 + CallExpression 462920 462976 + Identifier 462920 462948 + Identifier 462949 462954 + BinaryExpression 462955 462972 + PropertyAccessExpression 462955 462968 + Identifier 462955 462961 + Identifier 462962 462968 + MinusToken 462968 462970 + NumericLiteral 462970 462972 + NumericLiteral 462973 462975 + IfStatement 462977 463126 + CallExpression 462995 463030 + Identifier 462995 463018 + Identifier 463019 463029 + Block 463031 463126 + ReturnStatement 463033 463069 + Identifier 463057 463068 + IfStatement 463126 463622 + Identifier 463144 463152 + Block 463153 463235 + ReturnStatement 463155 463220 + CallExpression 463179 463219 + PropertyAccessExpression 463179 463207 + Identifier 463179 463187 + Identifier 463188 463207 + Identifier 463208 463218 + Block 463253 463622 + VariableStatement 463255 463345 + VariableDeclarationList 463255 463344 + VariableDeclaration 463278 463344 + Identifier 463278 463285 + ConditionalExpression 463287 463344 + CallExpression 463287 463312 + Identifier 463287 463300 + Identifier 463301 463311 + QuestionToken 463312 463314 + Identifier 463314 463325 + ColonToken 463325 463327 + PropertyAccessExpression 463327 463344 + Identifier 463327 463338 + Identifier 463339 463344 + VariableStatement 463345 463419 + VariableDeclarationList 463345 463418 + VariableDeclaration 463368 463418 + Identifier 463368 463381 + CallExpression 463383 463418 + Identifier 463383 463410 + Identifier 463411 463417 + ExpressionStatement 463419 463501 + CallExpression 463419 463500 + Identifier 463419 463463 + Identifier 463464 463470 + Identifier 463471 463499 + ReturnStatement 463501 463607 + CallExpression 463525 463606 + PropertyAccessExpression 463525 463557 + Identifier 463525 463533 + Identifier 463534 463557 + Identifier 463558 463568 + AsExpression 463569 463605 + Identifier 463569 463582 + TypeReference 463585 463605 + Identifier 463585 463595 + TypeReference 463596 463604 + Identifier 463596 463604 + FunctionDeclaration 463622 467663 + Identifier 463646 463674 + Parameter 463675 463690 + Identifier 463675 463680 + ArrayType 463681 463690 + TypeReference 463681 463688 + Identifier 463681 463688 + Parameter 463691 463705 + Identifier 463691 463697 + NumberKeyword 463698 463705 + Parameter 463706 463722 + Identifier 463706 463714 + NumberKeyword 463715 463722 + UnionType 463724 463759 + TypeReference 463724 463735 + Identifier 463724 463735 + TypeReference 463737 463759 + Identifier 463737 463759 + Block 463759 467663 + VariableStatement 463761 463909 + VariableDeclarationList 463761 463908 + VariableDeclaration 463784 463908 + Identifier 463784 463803 + ConditionalExpression 463805 463908 + BinaryExpression 463805 463834 + Identifier 463805 463811 + EqualsEqualsEqualsToken 463811 463815 + ParenthesizedExpression 463815 463834 + BinaryExpression 463817 463833 + PropertyAccessExpression 463817 463829 + Identifier 463817 463822 + Identifier 463823 463829 + MinusToken 463829 463831 + NumericLiteral 463831 463833 + QuestionToken 463834 463836 + Identifier 463836 463858 + ColonToken 463858 463860 + CallExpression 463860 463908 + Identifier 463860 463885 + Identifier 463886 463891 + Identifier 463892 463898 + Identifier 463899 463907 + VariableStatement 463909 463955 + VariableDeclarationList 463909 463954 + VariableDeclaration 463932 463954 + Identifier 463932 463939 + ElementAccessExpression 463941 463954 + Identifier 463941 463947 + Identifier 463948 463953 + VariableStatement 463955 464005 + VariableDeclarationList 463955 464004 + VariableDeclaration 463978 464004 + Identifier 463978 463985 + ElementAccessExpression 463987 464004 + Identifier 463987 463993 + BinaryExpression 463994 464003 + Identifier 463994 463999 + MinusToken 463999 464001 + NumericLiteral 464001 464003 + VariableStatement 464005 464060 + VariableDeclarationList 464005 464059 + VariableDeclaration 464028 464059 + Identifier 464028 464039 + UnionType 464040 464059 + StringKeyword 464040 464047 + UndefinedKeyword 464049 464059 + IfStatement 464060 465028 + BinaryExpression 464082 464093 + Identifier 464082 464087 + EqualsEqualsEqualsToken 464087 464091 + NumericLiteral 464091 464093 + Block 464094 464436 + ExpressionStatement 464096 464172 + BinaryExpression 464096 464171 + PropertyAccessExpression 464096 464131 + Identifier 464096 464125 + Identifier 464126 464131 + BarEqualsToken 464131 464134 + PropertyAccessExpression 464134 464171 + Identifier 464134 464151 + Identifier 464152 464171 + ExpressionStatement 464172 464249 + BinaryExpression 464172 464248 + Identifier 464172 464204 + EqualsToken 464204 464206 + CallExpression 464206 464248 + Identifier 464206 464231 + Identifier 464232 464238 + Identifier 464239 464247 + ExpressionStatement 464249 464341 + BinaryExpression 464249 464340 + PropertyAccessExpression 464249 464296 + Identifier 464249 464278 + Identifier 464279 464296 + PlusEqualsToken 464296 464299 + BinaryExpression 464299 464340 + ParenthesizedExpression 464299 464336 + ConditionalExpression 464301 464335 + Identifier 464301 464311 + QuestionToken 464311 464313 + PropertyAccessExpression 464313 464331 + Identifier 464313 464324 + Identifier 464325 464331 + ColonToken 464331 464333 + NumericLiteral 464333 464335 + PlusToken 464336 464338 + NumericLiteral 464338 464340 + ExpressionStatement 464341 464417 + BinaryExpression 464341 464416 + PropertyAccessExpression 464341 464376 + Identifier 464341 464370 + Identifier 464371 464376 + CaretEqualsToken 464376 464379 + PropertyAccessExpression 464379 464416 + Identifier 464379 464396 + Identifier 464397 464416 + Block 464458 465028 + IfStatement 464460 465009 + BinaryExpression 464486 464522 + Identifier 464486 464492 + AmpersandAmpersandToken 464492 464495 + CallExpression 464495 464522 + Identifier 464495 464514 + Identifier 464515 464521 + Block 464523 465009 + VariableStatement 464525 464594 + VariableDeclarationList 464525 464593 + VariableDeclaration 464556 464593 + Identifier 464556 464564 + CallExpression 464566 464593 + Identifier 464566 464585 + Identifier 464586 464592 + ExpressionStatement 464594 464986 + CallExpression 464594 464985 + Identifier 464594 464632 + Identifier 464633 464640 + ArrowFunction 464641 464984 + Parameter 464643 464645 + Identifier 464643 464645 + Parameter 464646 464651 + Identifier 464646 464651 + EqualsGreaterThanToken 464652 464655 + Block 464655 464984 + IfStatement 464657 464957 + BinaryExpression 464691 464797 + BinaryExpression 464691 464753 + CallExpression 464691 464727 + Identifier 464691 464715 + Identifier 464716 464718 + Identifier 464719 464726 + AmpersandAmpersandToken 464727 464730 + PrefixUnaryExpression 464730 464753 + CallExpression 464732 464753 + Identifier 464732 464747 + Identifier 464748 464752 + AmpersandAmpersandToken 464753 464756 + BinaryExpression 464756 464797 + Identifier 464756 464761 + ExclamationEqualsEqualsToken 464761 464765 + PropertyAccessExpression 464765 464797 + Identifier 464765 464784 + Identifier 464785 464797 + Block 464798 464957 + ExpressionStatement 464800 464880 + BinaryExpression 464800 464879 + Identifier 464800 464844 + EqualsToken 464844 464846 + CallExpression 464846 464879 + Identifier 464846 464873 + Identifier 464874 464878 + ReturnStatement 464880 464926 + TrueKeyword 464920 464925 + IfStatement 465028 465780 + BinaryExpression 465052 465076 + Identifier 465052 465062 + EqualsEqualsEqualsToken 465062 465066 + Identifier 465066 465076 + Block 465077 465780 + VariableStatement 465079 465170 + VariableDeclarationList 465079 465169 + VariableDeclaration 465106 465169 + Identifier 465106 465111 + CallExpression 465113 465169 + Identifier 465113 465126 + PropertyAccessExpression 465127 465146 + Identifier 465127 465133 + Identifier 465134 465146 + Identifier 465147 465168 + IfStatement 465170 465684 + BinaryExpression 465196 465265 + BinaryExpression 465196 465232 + Identifier 465196 465200 + AmpersandAmpersandToken 465200 465203 + CallExpression 465203 465232 + Identifier 465203 465226 + Identifier 465227 465231 + AmpersandAmpersandToken 465232 465235 + CallExpression 465235 465265 + Identifier 465235 465248 + PropertyAccessExpression 465249 465264 + Identifier 465249 465253 + Identifier 465254 465264 + Block 465266 465684 + VariableStatement 465268 465361 + VariableDeclarationList 465268 465360 + VariableDeclaration 465299 465360 + Identifier 465299 465303 + CallExpression 465305 465360 + Identifier 465305 465333 + Identifier 465334 465339 + BinaryExpression 465340 465350 + Identifier 465340 465346 + MinusToken 465346 465348 + NumericLiteral 465348 465350 + Identifier 465351 465359 + IfStatement 465361 465624 + CallExpression 465391 465408 + Identifier 465391 465403 + Identifier 465404 465407 + Block 465409 465624 + ReturnStatement 465411 465597 + CallExpression 465447 465596 + PropertyAccessExpression 465447 465483 + Identifier 465447 465455 + Identifier 465456 465483 + CallExpression 465484 465549 + PropertyAccessExpression 465484 465515 + Identifier 465484 465491 + Identifier 465492 465515 + CallExpression 465516 465548 + PropertyAccessExpression 465516 465543 + Identifier 465516 465523 + Identifier 465524 465543 + Identifier 465544 465547 + CallExpression 465550 465595 + PropertyAccessExpression 465550 465578 + Identifier 465550 465558 + Identifier 465559 465578 + PropertyAccessExpression 465579 465594 + Identifier 465579 465583 + Identifier 465584 465594 + ReturnStatement 465624 465661 + Identifier 465656 465660 + ExpressionStatement 465684 465761 + BinaryExpression 465684 465760 + Identifier 465684 465716 + EqualsToken 465716 465718 + CallExpression 465718 465760 + Identifier 465718 465743 + Identifier 465744 465750 + Identifier 465751 465759 + ExpressionStatement 465780 465849 + BinaryExpression 465780 465848 + PropertyAccessExpression 465780 465823 + Identifier 465780 465805 + Identifier 465806 465823 + PlusEqualsToken 465823 465826 + BinaryExpression 465826 465848 + PropertyAccessExpression 465826 465844 + Identifier 465826 465837 + Identifier 465838 465844 + PlusToken 465844 465846 + NumericLiteral 465846 465848 + IfStatement 465849 466872 + BinaryExpression 465873 466191 + BinaryExpression 465873 466081 + BinaryExpression 465873 466027 + BinaryExpression 465873 465976 + PrefixUnaryExpression 465873 465966 + ParenthesizedExpression 465896 465966 + BinaryExpression 465897 465965 + PropertyAccessExpression 465897 465910 + Identifier 465897 465904 + Identifier 465905 465910 + AmpersandToken 465910 465912 + PropertyAccessExpression 465912 465965 + Identifier 465912 465929 + Identifier 465930 465965 + AmpersandAmpersandToken 465966 465969 + Identifier 465969 465976 + AmpersandAmpersandToken 465976 465979 + CallExpression 465979 466027 + Identifier 465979 466019 + Identifier 466020 466026 + AmpersandAmpersandToken 466027 466030 + CallExpression 466030 466081 + PropertyAccessExpression 466030 466061 + CallExpression 466030 466057 + Identifier 466030 466049 + Identifier 466050 466056 + Identifier 466058 466061 + PropertyAccessExpression 466062 466080 + Identifier 466062 466068 + Identifier 466069 466080 + AmpersandAmpersandToken 466081 466084 + CallExpression 466084 466191 + Identifier 466084 466130 + NonNullExpression 466131 466182 + CallExpression 466131 466181 + PropertyAccessExpression 466131 466161 + CallExpression 466131 466157 + Identifier 466131 466149 + Identifier 466150 466156 + Identifier 466158 466161 + PropertyAccessExpression 466162 466180 + Identifier 466162 466168 + Identifier 466169 466180 + Identifier 466183 466190 + Block 466210 466872 + VariableStatement 466212 466354 + VariableDeclarationList 466212 466353 + VariableDeclaration 466292 466353 + Identifier 466292 466296 + CallExpression 466298 466353 + Identifier 466298 466326 + Identifier 466327 466332 + BinaryExpression 466333 466343 + Identifier 466333 466339 + MinusToken 466339 466341 + NumericLiteral 466341 466343 + Identifier 466344 466352 + IfStatement 466354 466853 + CallExpression 466380 466408 + Identifier 466380 466403 + Identifier 466404 466407 + Block 466409 466580 + ReturnStatement 466411 466557 + CallExpression 466443 466556 + PropertyAccessExpression 466443 466479 + Identifier 466443 466451 + Identifier 466452 466479 + Identifier 466480 466483 + CallExpression 466484 466555 + PropertyAccessExpression 466484 466514 + Identifier 466484 466492 + Identifier 466493 466514 + CallExpression 466515 466554 + PropertyAccessExpression 466515 466542 + Identifier 466515 466522 + Identifier 466523 466542 + Identifier 466543 466553 + Block 466606 466853 + ReturnStatement 466608 466830 + CallExpression 466640 466829 + PropertyAccessExpression 466640 466676 + Identifier 466640 466648 + Identifier 466649 466676 + CallExpression 466677 466756 + PropertyAccessExpression 466677 466708 + Identifier 466677 466684 + Identifier 466685 466708 + Identifier 466709 466712 + AsExpression 466713 466755 + Identifier 466713 466732 + TypeOperator 466735 466755 + ArrayType 466744 466755 + TypeReference 466744 466753 + Identifier 466744 466753 + CallExpression 466757 466828 + PropertyAccessExpression 466757 466787 + Identifier 466757 466765 + Identifier 466766 466787 + CallExpression 466788 466827 + PropertyAccessExpression 466788 466815 + Identifier 466788 466795 + Identifier 466796 466815 + Identifier 466816 466826 + VariableStatement 466872 466989 + VariableDeclarationList 466872 466988 + VariableDeclaration 466897 466988 + Identifier 466897 466908 + CallExpression 466910 466988 + Identifier 466910 466923 + CallExpression 466924 466960 + PropertyAccessExpression 466924 466948 + Identifier 466924 466931 + Identifier 466932 466948 + Identifier 466949 466959 + PropertyAccessExpression 466961 466987 + Identifier 466961 466971 + Identifier 466972 466987 + IfStatement 466989 467152 + Identifier 467011 467029 + ExpressionStatement 467030 467152 + CallExpression 467030 467151 + Identifier 467030 467057 + Identifier 467058 467068 + CallExpression 467069 467150 + PropertyAccessExpression 467069 467093 + Identifier 467069 467077 + Identifier 467078 467093 + UnionType 467094 467129 + TypeReference 467094 467102 + Identifier 467094 467102 + TypeReference 467104 467129 + Identifier 467104 467129 + Identifier 467131 467149 + ExpressionStatement 467152 467197 + BinaryExpression 467152 467196 + PropertyAccessExpression 467152 467187 + Identifier 467152 467180 + Identifier 467181 467187 + EqualsToken 467187 467189 + Identifier 467189 467196 + IfStatement 467197 467612 + BinaryExpression 467221 467236 + Identifier 467221 467226 + GreaterThanToken 467226 467228 + Identifier 467228 467236 + Block 467237 467612 + VariableStatement 467239 467328 + VariableDeclarationList 467239 467327 + VariableDeclaration 467266 467327 + Identifier 467266 467270 + CallExpression 467272 467327 + Identifier 467272 467300 + Identifier 467301 467306 + BinaryExpression 467307 467317 + Identifier 467307 467313 + MinusToken 467313 467315 + NumericLiteral 467315 467317 + Identifier 467318 467326 + IfStatement 467328 467519 + PrefixUnaryExpression 467354 467372 + CallExpression 467355 467372 + Identifier 467355 467367 + Identifier 467368 467371 + Block 467373 467519 + ReturnStatement 467375 467496 + CallExpression 467407 467495 + PropertyAccessExpression 467407 467418 + Identifier 467407 467413 + Identifier 467414 467418 + StringLiteral 467419 467494 + ReturnStatement 467519 467593 + CallExpression 467547 467592 + PropertyAccessExpression 467547 467575 + Identifier 467547 467555 + Identifier 467556 467575 + Identifier 467576 467579 + Identifier 467580 467591 + ReturnStatement 467612 467648 + Identifier 467636 467647 + FunctionDeclaration 467674 468141 + Identifier 467694 467740 + Parameter 467741 467762 + Identifier 467741 467752 + TypeReference 467753 467762 + Identifier 467753 467762 + Parameter 467763 467791 + Identifier 467763 467771 + TypeReference 467772 467791 + Identifier 467772 467791 + Parameter 467792 467812 + Identifier 467792 467797 + TypeReference 467798 467812 + Identifier 467798 467812 + Block 467813 468141 + VariableStatement 467815 467969 + VariableDeclarationList 467815 467968 + VariableDeclaration 467834 467968 + Identifier 467834 467841 + CallExpression 467843 467968 + Identifier 467843 467855 + PropertyAccessExpression 467856 467884 + Identifier 467856 467863 + Identifier 467864 467884 + Identifier 467885 467897 + PropertyAccessExpression 467898 467915 + Identifier 467898 467910 + Identifier 467911 467915 + Identifier 467916 467950 + FalseKeyword 467951 467967 + IfStatement 467969 468103 + BinaryExpression 467987 468037 + Identifier 467987 467993 + AmpersandAmpersandToken 467993 467996 + BinaryExpression 467996 468037 + PropertyAccessExpression 467996 468009 + Identifier 467996 468003 + Identifier 468004 468009 + AmpersandToken 468009 468011 + PropertyAccessExpression 468011 468037 + Identifier 468011 468023 + Identifier 468024 468037 + Block 468038 468103 + ReturnStatement 468040 468088 + BinaryExpression 468064 468087 + Identifier 468064 468071 + ExclamationEqualsEqualsToken 468071 468075 + PropertyAccessExpression 468075 468087 + Identifier 468075 468080 + Identifier 468081 468087 + ReturnStatement 468103 468130 + FalseKeyword 468123 468129 + FunctionDeclaration 468141 470735 + Identifier 468161 468181 + Parameter 468182 468201 + Identifier 468182 468186 + TypeReference 468187 468201 + Identifier 468187 468201 + Parameter 468202 468230 + Identifier 468202 468210 + TypeReference 468211 468230 + Identifier 468211 468230 + Block 468231 470735 + IfStatement 468233 468533 + BinaryExpression 468251 468348 + BinaryExpression 468251 468318 + PropertyAccessExpression 468251 468264 + Identifier 468251 468258 + Identifier 468259 468264 + AmpersandToken 468264 468266 + PropertyAccessExpression 468266 468318 + Identifier 468266 468283 + Identifier 468284 468318 + AmpersandAmpersandToken 468318 468321 + PropertyAccessExpression 468321 468348 + Identifier 468321 468329 + Identifier 468330 468348 + Block 468349 468533 + VariableStatement 468351 468432 + VariableDeclarationList 468351 468431 + VariableDeclaration 468374 468431 + Identifier 468374 468381 + CallExpression 468383 468431 + PropertyAccessExpression 468383 468414 + PropertyAccessExpression 468383 468410 + Identifier 468383 468391 + Identifier 468392 468410 + Identifier 468411 468414 + CallExpression 468415 468430 + Identifier 468415 468424 + Identifier 468425 468429 + IfStatement 468432 468518 + Identifier 468454 468460 + Block 468461 468518 + ReturnStatement 468463 468499 + Identifier 468491 468498 + VariableStatement 468533 468641 + VariableDeclarationList 468533 468640 + VariableDeclaration 468550 468640 + Identifier 468550 468557 + CallExpression 468559 468640 + Identifier 468559 468572 + PropertyAccessExpression 468573 468584 + Identifier 468573 468577 + Identifier 468578 468584 + Identifier 468585 468593 + PropertyAccessExpression 468594 468611 + Identifier 468594 468606 + Identifier 468607 468611 + TrueKeyword 468612 468639 + IfStatement 468641 468793 + PrefixUnaryExpression 468659 468697 + ParenthesizedExpression 468660 468697 + BinaryExpression 468661 468696 + PropertyAccessExpression 468661 468672 + Identifier 468661 468667 + Identifier 468668 468672 + AmpersandToken 468672 468674 + PropertyAccessExpression 468674 468696 + Identifier 468674 468685 + Identifier 468686 468696 + Block 468698 468793 + ReturnStatement 468700 468778 + CallExpression 468724 468777 + PropertyAccessExpression 468724 468749 + Identifier 468724 468732 + Identifier 468733 468749 + StringLiteral 468750 468776 + VariableStatement 468793 468851 + VariableDeclarationList 468793 468850 + VariableDeclaration 468812 468850 + Identifier 468812 468817 + ElementAccessExpression 468819 468850 + PropertyAccessExpression 468819 468845 + PropertyAccessExpression 468819 468831 + Identifier 468819 468824 + Identifier 468825 468831 + QuestionDotToken 468831 468833 + Identifier 468833 468845 + QuestionDotToken 468845 468847 + NumericLiteral 468848 468849 + IfStatement 468851 468995 + BinaryExpression 468869 468909 + Identifier 468869 468873 + AmpersandAmpersandToken 468873 468876 + CallExpression 468876 468909 + Identifier 468876 468903 + Identifier 468904 468908 + Block 468910 468995 + ExpressionStatement 468912 468980 + BinaryExpression 468912 468979 + Identifier 468912 468936 + EqualsToken 468936 468938 + CallExpression 468938 468979 + Identifier 468938 468951 + Identifier 468952 468959 + Identifier 468960 468967 + PropertyAccessExpression 468968 468978 + Identifier 468968 468973 + Identifier 468974 468978 + IfStatement 468995 470696 + BinaryExpression 469013 469080 + PropertyAccessExpression 469013 469026 + Identifier 469013 469020 + Identifier 469021 469026 + AmpersandToken 469026 469028 + PropertyAccessExpression 469028 469080 + Identifier 469028 469045 + Identifier 469046 469080 + Block 469081 470696 + VariableStatement 469083 469146 + VariableDeclarationList 469083 469145 + VariableDeclaration 469106 469145 + Identifier 469106 469114 + AsExpression 469116 469145 + PropertyAccessExpression 469116 469135 + Identifier 469116 469123 + Identifier 469124 469135 + StringKeyword 469138 469145 + VariableStatement 469146 469237 + VariableDeclarationList 469146 469236 + VariableDeclaration 469167 469236 + Identifier 469167 469169 + BinaryExpression 469171 469236 + CallExpression 469171 469231 + PropertyAccessExpression 469171 469222 + PropertyAccessExpression 469171 469217 + Identifier 469171 469179 + Identifier 469180 469217 + QuestionDotToken 469217 469219 + Identifier 469219 469222 + Identifier 469223 469230 + BarBarToken 469231 469234 + NumericLiteral 469234 469236 + VariableStatement 469237 469274 + VariableDeclarationList 469237 469273 + VariableDeclaration 469258 469273 + Identifier 469258 469263 + Identifier 469265 469273 + WhileStatement 469274 469519 + BinaryExpression 469299 469424 + CallExpression 469299 469342 + PropertyAccessExpression 469299 469336 + PropertyAccessExpression 469299 469331 + Identifier 469299 469306 + Identifier 469307 469331 + QuestionDotToken 469331 469333 + Identifier 469333 469336 + Identifier 469337 469341 + BarBarToken 469342 469345 + CallExpression 469345 469424 + Identifier 469345 469391 + AsExpression 469392 469408 + Identifier 469392 469396 + TypeReference 469399 469408 + Identifier 469399 469408 + Identifier 469409 469417 + Identifier 469418 469423 + Block 469425 469519 + ExpressionStatement 469427 469453 + PostfixUnaryExpression 469427 469452 + Identifier 469427 469450 + ExpressionStatement 469453 469500 + BinaryExpression 469453 469499 + Identifier 469453 469479 + EqualsToken 469479 469481 + TemplateExpression 469481 469499 + TemplateHead 469481 469485 + TemplateSpan 469485 469496 + Identifier 469485 469492 + TemplateMiddle 469492 469496 + TemplateSpan 469496 469499 + Identifier 469496 469497 + TemplateTail 469497 469499 + IfStatement 469519 469792 + BinaryExpression 469541 469557 + Identifier 469541 469545 + ExclamationEqualsEqualsToken 469545 469549 + Identifier 469549 469557 + Block 469558 469792 + VariableStatement 469560 469639 + VariableDeclarationList 469560 469638 + VariableDeclaration 469587 469638 + Identifier 469587 469601 + CallExpression 469603 469638 + Identifier 469603 469630 + Identifier 469631 469637 + ExpressionStatement 469639 469701 + BinaryExpression 469639 469700 + Identifier 469639 469667 + EqualsToken 469667 469669 + CallExpression 469669 469700 + PropertyAccessExpression 469669 469694 + Identifier 469669 469677 + Identifier 469678 469694 + Identifier 469695 469699 + ExpressionStatement 469701 469773 + CallExpression 469701 469772 + Identifier 469701 469749 + Identifier 469750 469756 + Identifier 469757 469771 + IfStatement 469792 470266 + PropertyAccessExpression 469814 469858 + Identifier 469814 469821 + Identifier 469822 469858 + Block 469859 470266 + ExpressionStatement 469861 469936 + BinaryExpression 469861 469935 + PropertyAccessExpression 469861 469927 + Identifier 469861 469890 + Identifier 469891 469927 + EqualsToken 469927 469929 + FalseKeyword 469929 469935 + ExpressionStatement 469936 470023 + BinaryExpression 469936 470022 + PropertyAccessExpression 469936 469984 + Identifier 469936 469965 + Identifier 469966 469984 + EqualsToken 469984 469986 + NewExpression 469986 470022 + Identifier 469990 469994 + PropertyAccessExpression 469995 470021 + Identifier 469995 470002 + Identifier 470003 470021 + ExpressionStatement 470023 470148 + BinaryExpression 470023 470147 + PropertyAccessExpression 470023 470090 + Identifier 470023 470052 + Identifier 470053 470090 + EqualsToken 470090 470092 + NewExpression 470092 470147 + Identifier 470096 470100 + PropertyAccessExpression 470101 470146 + Identifier 470101 470108 + Identifier 470109 470146 + ExpressionStatement 470148 470247 + BinaryExpression 470148 470246 + PropertyAccessExpression 470148 470202 + Identifier 470148 470177 + Identifier 470178 470202 + EqualsToken 470202 470204 + NewExpression 470204 470246 + Identifier 470208 470212 + PropertyAccessExpression 470213 470245 + Identifier 470213 470220 + Identifier 470221 470245 + ExpressionStatement 470266 470544 + CallExpression 470266 470543 + PropertyAccessExpression 470266 470531 + NonNullExpression 470266 470527 + PropertyAccessExpression 470266 470526 + Identifier 470266 470488 + Identifier 470489 470526 + Identifier 470528 470531 + Identifier 470532 470539 + Identifier 470540 470542 + ExpressionStatement 470544 470619 + CallExpression 470544 470618 + PropertyAccessExpression 470544 470593 + NonNullExpression 470544 470589 + PropertyAccessExpression 470544 470588 + Identifier 470544 470569 + Identifier 470570 470588 + Identifier 470590 470593 + CallExpression 470594 470609 + Identifier 470594 470603 + Identifier 470604 470608 + Identifier 470610 470617 + ExpressionStatement 470619 470681 + CallExpression 470619 470680 + PropertyAccessExpression 470619 470674 + NonNullExpression 470619 470670 + PropertyAccessExpression 470619 470669 + Identifier 470619 470644 + Identifier 470645 470669 + Identifier 470671 470674 + Identifier 470675 470679 + ReturnStatement 470696 470724 + Identifier 470716 470723 + FunctionDeclaration 470735 470873 + Identifier 470755 470768 + Parameter 470769 470783 + Identifier 470769 470775 + TypeReference 470776 470783 + Identifier 470776 470783 + Parameter 470784 470812 + Identifier 470784 470792 + TypeReference 470793 470812 + Identifier 470793 470812 + Parameter 470813 470834 + Identifier 470813 470821 + TypeReference 470822 470834 + Identifier 470822 470834 + Parameter 470835 470859 + Identifier 470835 470853 + LiteralType 470854 470859 + TrueKeyword 470854 470859 + TypeReference 470861 470872 + Identifier 470861 470872 + FunctionDeclaration 470873 471010 + Identifier 470891 470904 + Parameter 470905 470919 + Identifier 470905 470911 + TypeReference 470912 470919 + Identifier 470912 470919 + Parameter 470920 470948 + Identifier 470920 470928 + TypeReference 470929 470948 + Identifier 470929 470948 + Parameter 470949 470970 + Identifier 470949 470957 + TypeReference 470958 470970 + Identifier 470958 470970 + Parameter 470971 470996 + Identifier 470971 470989 + LiteralType 470990 470996 + FalseKeyword 470990 470996 + TypeReference 470998 471009 + Identifier 470998 471009 + FunctionDeclaration 471010 472677 + Identifier 471028 471041 + Parameter 471042 471056 + Identifier 471042 471048 + TypeReference 471049 471056 + Identifier 471049 471056 + Parameter 471057 471085 + Identifier 471057 471065 + TypeReference 471066 471085 + Identifier 471066 471085 + Parameter 471086 471107 + Identifier 471086 471094 + TypeReference 471095 471107 + Identifier 471095 471107 + Parameter 471108 471135 + Identifier 471108 471126 + BooleanKeyword 471127 471135 + TypeReference 471137 471148 + Identifier 471137 471148 + Block 471148 472677 + VariableStatement 471150 471222 + VariableDeclarationList 471150 471221 + VariableDeclaration 471169 471221 + Identifier 471169 471175 + CallExpression 471177 471221 + Identifier 471177 471195 + Identifier 471196 471202 + Identifier 471203 471211 + Identifier 471212 471220 + IfStatement 471222 471521 + BinaryExpression 471242 471439 + BinaryExpression 471242 471345 + BinaryExpression 471242 471299 + Identifier 471242 471277 + AmpersandAmpersandToken 471277 471280 + BinaryExpression 471280 471299 + PropertyAccessExpression 471280 471293 + Identifier 471280 471286 + Identifier 471287 471293 + ExclamationEqualsEqualsToken 471293 471297 + NumericLiteral 471297 471299 + AmpersandAmpersandToken 471299 471319 + PrefixUnaryExpression 471319 471345 + PropertyAccessExpression 471321 471345 + Identifier 471321 471328 + Identifier 471329 471345 + AmpersandAmpersandToken 471345 471365 + PrefixUnaryExpression 471365 471439 + ParenthesizedExpression 471367 471439 + BinaryExpression 471368 471438 + PropertyAccessExpression 471368 471381 + Identifier 471368 471375 + Identifier 471376 471381 + AmpersandToken 471381 471383 + PropertyAccessExpression 471383 471438 + Identifier 471383 471400 + Identifier 471401 471438 + Block 471454 471521 + ExpressionStatement 471456 471506 + BinaryExpression 471456 471505 + PropertyAccessExpression 471456 471498 + Identifier 471456 471481 + Identifier 471482 471498 + EqualsToken 471498 471500 + TrueKeyword 471500 471505 + ReturnStatement 471521 471599 + CallExpression 471541 471598 + Identifier 471541 471573 + Identifier 471574 471579 + BinaryExpression 471580 471597 + PropertyAccessExpression 471580 471593 + Identifier 471580 471586 + Identifier 471587 471593 + MinusToken 471593 471595 + NumericLiteral 471595 471597 + FunctionDeclaration 471599 472666 + Identifier 471623 471655 + Parameter 471656 471671 + Identifier 471656 471661 + ArrayType 471662 471671 + TypeReference 471662 471669 + Identifier 471662 471669 + Parameter 471672 471686 + Identifier 471672 471678 + NumberKeyword 471679 471686 + TypeReference 471688 471699 + Identifier 471688 471699 + Block 471699 472666 + VariableStatement 471701 471794 + VariableDeclarationList 471701 471793 + VariableDeclaration 471724 471793 + Identifier 471724 471743 + CallExpression 471745 471793 + Identifier 471745 471770 + Identifier 471771 471776 + Identifier 471777 471783 + Identifier 471784 471792 + VariableStatement 471794 471840 + VariableDeclarationList 471794 471839 + VariableDeclaration 471817 471839 + Identifier 471817 471824 + ElementAccessExpression 471826 471839 + Identifier 471826 471832 + Identifier 471833 471838 + IfStatement 471840 471973 + BinaryExpression 471864 471875 + Identifier 471864 471869 + EqualsEqualsEqualsToken 471869 471873 + NumericLiteral 471873 471875 + Block 471876 471973 + ExpressionStatement 471878 471954 + BinaryExpression 471878 471953 + PropertyAccessExpression 471878 471913 + Identifier 471878 471907 + Identifier 471908 471913 + BarEqualsToken 471913 471916 + PropertyAccessExpression 471916 471953 + Identifier 471916 471933 + Identifier 471934 471953 + VariableStatement 471973 472052 + VariableDeclarationList 471973 472051 + VariableDeclaration 471996 472051 + Identifier 471996 472007 + CallExpression 472009 472051 + Identifier 472009 472034 + Identifier 472035 472041 + Identifier 472042 472050 + IfStatement 472052 472183 + BinaryExpression 472074 472085 + Identifier 472074 472079 + EqualsEqualsEqualsToken 472079 472083 + NumericLiteral 472083 472085 + Block 472086 472183 + ExpressionStatement 472088 472164 + BinaryExpression 472088 472163 + PropertyAccessExpression 472088 472123 + Identifier 472088 472117 + Identifier 472118 472123 + CaretEqualsToken 472123 472126 + PropertyAccessExpression 472126 472163 + Identifier 472126 472143 + Identifier 472144 472163 + VariableStatement 472183 472300 + VariableDeclarationList 472183 472299 + VariableDeclaration 472208 472299 + Identifier 472208 472219 + CallExpression 472221 472299 + Identifier 472221 472234 + CallExpression 472235 472271 + PropertyAccessExpression 472235 472259 + Identifier 472235 472242 + Identifier 472243 472259 + Identifier 472260 472270 + PropertyAccessExpression 472272 472298 + Identifier 472272 472282 + Identifier 472283 472298 + IfStatement 472300 472463 + Identifier 472322 472340 + ExpressionStatement 472341 472463 + CallExpression 472341 472462 + Identifier 472341 472368 + Identifier 472369 472379 + CallExpression 472380 472461 + PropertyAccessExpression 472380 472404 + Identifier 472380 472388 + Identifier 472389 472404 + UnionType 472405 472440 + TypeReference 472405 472413 + Identifier 472405 472413 + TypeReference 472415 472440 + Identifier 472415 472440 + Identifier 472442 472460 + ExpressionStatement 472463 472508 + BinaryExpression 472463 472507 + PropertyAccessExpression 472463 472498 + Identifier 472463 472491 + Identifier 472492 472498 + EqualsToken 472498 472500 + Identifier 472500 472507 + ReturnStatement 472508 472651 + ConditionalExpression 472534 472650 + BinaryExpression 472534 472544 + Identifier 472534 472540 + GreaterThanToken 472540 472542 + NumericLiteral 472542 472544 + QuestionToken 472544 472546 + CallExpression 472546 472637 + PropertyAccessExpression 472546 472574 + Identifier 472546 472554 + Identifier 472555 472574 + CallExpression 472575 472624 + Identifier 472575 472606 + Identifier 472607 472612 + BinaryExpression 472613 472623 + Identifier 472613 472619 + MinusToken 472619 472621 + NumericLiteral 472621 472623 + Identifier 472625 472636 + ColonToken 472637 472639 + Identifier 472639 472650 + FunctionDeclaration 472677 475866 + Identifier 472697 472716 + Parameter 472717 472731 + Identifier 472717 472723 + TypeReference 472724 472731 + Identifier 472724 472731 + Parameter 472732 472760 + Identifier 472732 472740 + TypeReference 472741 472760 + Identifier 472741 472760 + Parameter 472761 472782 + Identifier 472761 472769 + TypeReference 472770 472782 + Identifier 472770 472782 + Block 472783 475866 + VariableStatement 472785 472857 + VariableDeclarationList 472785 472856 + VariableDeclaration 472804 472856 + Identifier 472804 472810 + CallExpression 472812 472856 + Identifier 472812 472830 + Identifier 472831 472837 + Identifier 472838 472846 + Identifier 472847 472855 + ReturnStatement 472857 472937 + CallExpression 472879 472936 + Identifier 472879 472911 + Identifier 472912 472917 + BinaryExpression 472918 472935 + PropertyAccessExpression 472918 472931 + Identifier 472918 472924 + Identifier 472925 472931 + MinusToken 472931 472933 + NumericLiteral 472933 472935 + FunctionDeclaration 472937 475855 + Identifier 472961 472993 + Parameter 472994 473009 + Identifier 472994 472999 + ArrayType 473000 473009 + TypeReference 473000 473007 + Identifier 473000 473007 + Parameter 473010 473024 + Identifier 473010 473016 + NumberKeyword 473017 473024 + TypeReference 473026 473037 + Identifier 473026 473037 + Block 473037 475855 + VariableStatement 473039 473132 + VariableDeclarationList 473039 473131 + VariableDeclaration 473062 473131 + Identifier 473062 473081 + CallExpression 473083 473131 + Identifier 473083 473108 + Identifier 473109 473114 + Identifier 473115 473121 + Identifier 473122 473130 + VariableStatement 473132 473178 + VariableDeclarationList 473132 473177 + VariableDeclaration 473155 473177 + Identifier 473155 473162 + ElementAccessExpression 473164 473177 + Identifier 473164 473170 + Identifier 473171 473176 + IfStatement 473178 473311 + BinaryExpression 473202 473213 + Identifier 473202 473207 + EqualsEqualsEqualsToken 473207 473211 + NumericLiteral 473211 473213 + Block 473214 473311 + ExpressionStatement 473216 473292 + BinaryExpression 473216 473291 + PropertyAccessExpression 473216 473251 + Identifier 473216 473245 + Identifier 473246 473251 + BarEqualsToken 473251 473254 + PropertyAccessExpression 473254 473291 + Identifier 473254 473271 + Identifier 473272 473291 + VariableStatement 473311 473388 + VariableDeclarationList 473311 473387 + VariableDeclaration 473332 473387 + Identifier 473332 473343 + CallExpression 473345 473387 + Identifier 473345 473370 + Identifier 473371 473377 + Identifier 473378 473386 + IfStatement 473388 473519 + BinaryExpression 473410 473421 + Identifier 473410 473415 + EqualsEqualsEqualsToken 473415 473419 + NumericLiteral 473419 473421 + Block 473422 473519 + ExpressionStatement 473424 473500 + BinaryExpression 473424 473499 + PropertyAccessExpression 473424 473459 + Identifier 473424 473453 + Identifier 473454 473459 + CaretEqualsToken 473459 473462 + PropertyAccessExpression 473462 473499 + Identifier 473462 473479 + Identifier 473480 473499 + VariableStatement 473519 473578 + VariableDeclarationList 473519 473577 + VariableDeclaration 473540 473577 + Identifier 473540 473550 + CallExpression 473552 473577 + PropertyAccessExpression 473552 473574 + Identifier 473552 473563 + Identifier 473564 473574 + NumericLiteral 473575 473576 + IfStatement 473578 473834 + BinaryExpression 473602 473709 + CallExpression 473602 473634 + Identifier 473602 473623 + Identifier 473624 473633 + AmpersandAmpersandToken 473634 473637 + CallExpression 473637 473709 + Identifier 473637 473642 + PropertyAccessExpression 473643 473662 + Identifier 473643 473649 + Identifier 473650 473662 + Identifier 473663 473708 + Block 473710 473834 + ReturnStatement 473712 473815 + CallExpression 473740 473814 + PropertyAccessExpression 473740 473768 + Identifier 473740 473748 + Identifier 473749 473768 + CallExpression 473769 473813 + Identifier 473769 473796 + Identifier 473797 473803 + Identifier 473804 473812 + IfStatement 473834 475840 + BinaryExpression 473856 473920 + BinaryExpression 473856 473867 + Identifier 473856 473861 + EqualsEqualsEqualsToken 473861 473865 + NumericLiteral 473865 473867 + BarBarToken 473867 473870 + CallExpression 473870 473920 + Identifier 473870 473891 + Identifier 473892 473902 + Identifier 473903 473919 + Block 473921 474435 + VariableStatement 473923 474042 + VariableDeclarationList 473923 474041 + VariableDeclaration 473950 474041 + Identifier 473950 473961 + CallExpression 473963 474041 + Identifier 473963 473976 + CallExpression 473977 474013 + PropertyAccessExpression 473977 474001 + Identifier 473977 473984 + Identifier 473985 474001 + Identifier 474002 474012 + PropertyAccessExpression 474014 474040 + Identifier 474014 474024 + Identifier 474025 474040 + IfStatement 474042 474209 + Identifier 474068 474086 + ExpressionStatement 474087 474209 + CallExpression 474087 474208 + Identifier 474087 474114 + Identifier 474115 474125 + CallExpression 474126 474207 + PropertyAccessExpression 474126 474150 + Identifier 474126 474134 + Identifier 474135 474150 + UnionType 474151 474186 + TypeReference 474151 474159 + Identifier 474151 474159 + TypeReference 474161 474186 + Identifier 474161 474186 + Identifier 474188 474206 + ExpressionStatement 474209 474258 + BinaryExpression 474209 474257 + PropertyAccessExpression 474209 474248 + Identifier 474209 474241 + Identifier 474242 474248 + EqualsToken 474248 474250 + Identifier 474250 474257 + ReturnStatement 474258 474416 + ConditionalExpression 474288 474415 + BinaryExpression 474288 474298 + Identifier 474288 474294 + GreaterThanToken 474294 474296 + NumericLiteral 474296 474298 + QuestionToken 474298 474300 + CallExpression 474300 474402 + PropertyAccessExpression 474300 474339 + Identifier 474300 474308 + Identifier 474309 474339 + CallExpression 474340 474389 + Identifier 474340 474371 + Identifier 474372 474377 + BinaryExpression 474378 474388 + Identifier 474378 474384 + MinusToken 474384 474386 + NumericLiteral 474386 474388 + Identifier 474390 474401 + ColonToken 474402 474404 + Identifier 474404 474415 + Block 474457 475840 + IfStatement 474459 474700 + BinaryExpression 474485 474525 + Identifier 474485 474494 + EqualsEqualsEqualsToken 474494 474498 + PropertyAccessExpression 474498 474525 + Identifier 474498 474513 + Identifier 474514 474525 + Block 474526 474700 + ExpressionStatement 474528 474614 + BinaryExpression 474528 474613 + Identifier 474528 474564 + EqualsToken 474564 474566 + CallExpression 474566 474613 + PropertyAccessExpression 474566 474587 + Identifier 474566 474577 + Identifier 474578 474587 + NumericLiteral 474588 474589 + BinaryExpression 474590 474612 + PropertyAccessExpression 474590 474608 + Identifier 474590 474601 + Identifier 474602 474608 + MinusToken 474608 474610 + NumericLiteral 474610 474612 + ExpressionStatement 474614 474677 + BinaryExpression 474614 474676 + Identifier 474614 474649 + EqualsToken 474649 474651 + CallExpression 474651 474676 + PropertyAccessExpression 474651 474673 + Identifier 474651 474662 + Identifier 474663 474673 + NumericLiteral 474674 474675 + VariableStatement 474700 474761 + VariableDeclarationList 474700 474760 + VariableDeclaration 474725 474760 + Identifier 474725 474736 + UnionType 474737 474760 + TypeReference 474737 474748 + Identifier 474737 474748 + UndefinedKeyword 474750 474760 + IfStatement 474761 475231 + BinaryExpression 474787 474863 + CallExpression 474787 474819 + Identifier 474787 474808 + Identifier 474809 474818 + AmpersandAmpersandToken 474819 474822 + PrefixUnaryExpression 474822 474863 + ParenthesizedExpression 474824 474863 + BinaryExpression 474825 474862 + PropertyAccessExpression 474825 474837 + Identifier 474825 474831 + Identifier 474832 474837 + AmpersandToken 474837 474839 + PropertyAccessExpression 474839 474862 + Identifier 474839 474851 + Identifier 474852 474862 + Block 474864 475060 + ExpressionStatement 474866 475037 + BinaryExpression 474866 475036 + Identifier 474866 474902 + EqualsToken 474902 474904 + CallExpression 474904 475036 + PropertyAccessExpression 474904 474932 + Identifier 474904 474912 + Identifier 474913 474932 + CallExpression 474933 474993 + PropertyAccessExpression 474933 474964 + CallExpression 474933 474956 + Identifier 474933 474944 + Identifier 474945 474955 + Identifier 474957 474964 + RegularExpressionLiteral 474965 474971 + ArrowFunction 474972 474992 + Parameter 474972 474974 + Identifier 474972 474974 + EqualsGreaterThanToken 474974 474977 + CallExpression 474977 474992 + PropertyAccessExpression 474977 474989 + Identifier 474977 474979 + Identifier 474980 474989 + NumericLiteral 474990 474991 + BinaryExpression 474994 475035 + Identifier 474994 475004 + EqualsEqualsEqualsToken 475004 475008 + PropertyAccessExpression 475008 475035 + Identifier 475008 475023 + Identifier 475024 475035 + IfStatement 475086 475231 + BinaryExpression 475091 475124 + ParenthesizedExpression 475091 475109 + BinaryExpression 475092 475108 + StringLiteral 475092 475094 + PlusToken 475094 475096 + PrefixUnaryExpression 475096 475108 + Identifier 475098 475108 + EqualsEqualsEqualsToken 475109 475113 + Identifier 475113 475124 + Block 475125 475231 + ExpressionStatement 475127 475208 + BinaryExpression 475127 475207 + Identifier 475127 475163 + EqualsToken 475163 475165 + CallExpression 475165 475207 + PropertyAccessExpression 475165 475194 + Identifier 475165 475173 + Identifier 475174 475194 + PrefixUnaryExpression 475195 475206 + Identifier 475196 475206 + IfStatement 475231 475691 + PrefixUnaryExpression 475257 475268 + Identifier 475258 475268 + Block 475269 475691 + VariableStatement 475271 475394 + VariableDeclarationList 475271 475393 + VariableDeclaration 475302 475393 + Identifier 475302 475313 + CallExpression 475315 475393 + Identifier 475315 475328 + CallExpression 475329 475365 + PropertyAccessExpression 475329 475353 + Identifier 475329 475336 + Identifier 475337 475353 + Identifier 475354 475364 + PropertyAccessExpression 475366 475392 + Identifier 475366 475376 + Identifier 475377 475392 + IfStatement 475394 475565 + Identifier 475424 475442 + ExpressionStatement 475443 475565 + CallExpression 475443 475564 + Identifier 475443 475470 + Identifier 475471 475481 + CallExpression 475482 475563 + PropertyAccessExpression 475482 475506 + Identifier 475482 475490 + Identifier 475491 475506 + UnionType 475507 475542 + TypeReference 475507 475515 + Identifier 475507 475515 + TypeReference 475517 475542 + Identifier 475517 475542 + Identifier 475544 475562 + ExpressionStatement 475565 475618 + BinaryExpression 475565 475617 + PropertyAccessExpression 475565 475608 + Identifier 475565 475601 + Identifier 475602 475608 + EqualsToken 475608 475610 + Identifier 475610 475617 + ExpressionStatement 475618 475668 + BinaryExpression 475618 475667 + Identifier 475618 475654 + EqualsToken 475654 475656 + Identifier 475656 475667 + ReturnStatement 475691 475821 + CallExpression 475719 475820 + PropertyAccessExpression 475719 475757 + Identifier 475719 475727 + Identifier 475728 475757 + CallExpression 475758 475807 + Identifier 475758 475789 + Identifier 475790 475795 + BinaryExpression 475796 475806 + Identifier 475796 475802 + MinusToken 475802 475804 + NumericLiteral 475804 475806 + Identifier 475808 475819 + FunctionDeclaration 475866 476488 + Identifier 475886 475900 + Parameter 475901 475915 + Identifier 475901 475902 + TypeReference 475903 475915 + Identifier 475903 475915 + Block 475916 476488 + VariableStatement 475918 475969 + VariableDeclarationList 475918 475968 + VariableDeclaration 475937 475968 + Identifier 475937 475942 + CallExpression 475944 475968 + Identifier 475944 475965 + Identifier 475966 475967 + IfStatement 475969 476041 + PrefixUnaryExpression 475987 475992 + Identifier 475988 475992 + Block 475993 476041 + ReturnStatement 475995 476026 + FalseKeyword 476019 476025 + IfStatement 476041 476232 + CallExpression 476059 476087 + Identifier 476059 476081 + Identifier 476082 476086 + Block 476088 476232 + VariableStatement 476090 476154 + VariableDeclarationList 476090 476153 + VariableDeclaration 476113 476153 + Identifier 476113 476118 + CallExpression 476120 476153 + Identifier 476120 476136 + PropertyAccessExpression 476137 476152 + Identifier 476137 476141 + Identifier 476142 476152 + ReturnStatement 476154 476217 + PrefixUnaryExpression 476178 476216 + PrefixUnaryExpression 476180 476216 + ParenthesizedExpression 476181 476216 + BinaryExpression 476182 476215 + PropertyAccessExpression 476182 476192 + Identifier 476182 476186 + Identifier 476187 476192 + AmpersandToken 476192 476194 + PropertyAccessExpression 476194 476215 + Identifier 476194 476204 + Identifier 476205 476215 + IfStatement 476232 476434 + CallExpression 476250 476281 + Identifier 476250 476275 + Identifier 476276 476280 + Block 476282 476434 + VariableStatement 476284 476356 + VariableDeclarationList 476284 476355 + VariableDeclaration 476307 476355 + Identifier 476307 476312 + CallExpression 476314 476355 + Identifier 476314 476330 + PropertyAccessExpression 476331 476354 + Identifier 476331 476335 + Identifier 476336 476354 + ReturnStatement 476356 476419 + PrefixUnaryExpression 476380 476418 + PrefixUnaryExpression 476382 476418 + ParenthesizedExpression 476383 476418 + BinaryExpression 476384 476417 + PropertyAccessExpression 476384 476394 + Identifier 476384 476388 + Identifier 476389 476394 + AmpersandToken 476394 476396 + PropertyAccessExpression 476396 476417 + Identifier 476396 476406 + Identifier 476407 476417 + ReturnStatement 476434 476477 + CallExpression 476454 476476 + Identifier 476454 476470 + Identifier 476471 476475 + FunctionDeclaration 476488 476784 + Identifier 476508 476534 + Parameter 476535 476549 + Identifier 476535 476536 + TypeReference 476537 476549 + Identifier 476537 476549 + Block 476550 476784 + VariableStatement 476552 476603 + VariableDeclarationList 476552 476602 + VariableDeclaration 476571 476602 + Identifier 476571 476576 + CallExpression 476578 476602 + Identifier 476578 476599 + Identifier 476600 476601 + ReturnStatement 476603 476773 + PrefixUnaryExpression 476623 476772 + PrefixUnaryExpression 476625 476772 + ParenthesizedExpression 476626 476772 + BinaryExpression 476627 476771 + BinaryExpression 476627 476656 + Identifier 476627 476631 + AmpersandAmpersandToken 476631 476634 + CallExpression 476634 476656 + Identifier 476634 476650 + Identifier 476651 476655 + AmpersandAmpersandToken 476656 476659 + ParenthesizedExpression 476659 476771 + BinaryExpression 476661 476770 + PropertyAccessExpression 476661 476677 + Identifier 476661 476665 + Identifier 476666 476677 + BarBarToken 476677 476680 + BinaryExpression 476680 476770 + PrefixUnaryExpression 476680 476705 + CallExpression 476682 476705 + Identifier 476682 476699 + Identifier 476700 476704 + AmpersandAmpersandToken 476705 476708 + CallExpression 476708 476770 + Identifier 476708 476719 + CallExpression 476720 476764 + Identifier 476720 476733 + Identifier 476734 476738 + FalseKeyword 476739 476763 + StringLiteral 476765 476769 + FunctionDeclaration 476784 477631 + Identifier 476804 476833 + Parameter 476834 476848 + Identifier 476834 476840 + TypeReference 476841 476848 + Identifier 476841 476848 + Parameter 476849 476877 + Identifier 476849 476857 + TypeReference 476858 476877 + Identifier 476858 476877 + Block 476878 477631 + VariableStatement 476880 476989 + VariableDeclarationList 476880 476988 + VariableDeclaration 476899 476988 + Identifier 476899 476911 + BinaryExpression 476913 476988 + PrefixUnaryExpression 476913 476943 + PrefixUnaryExpression 476915 476943 + CallExpression 476916 476943 + Identifier 476916 476922 + PropertyAccessExpression 476923 476942 + Identifier 476923 476929 + Identifier 476930 476942 + AmpersandAmpersandToken 476943 476946 + CallExpression 476946 476988 + Identifier 476946 476952 + PropertyAccessExpression 476953 476972 + Identifier 476953 476959 + Identifier 476960 476972 + Identifier 476973 476987 + VariableStatement 476989 477110 + VariableDeclarationList 476989 477109 + VariableDeclaration 477008 477109 + Identifier 477008 477020 + BinaryExpression 477022 477109 + PrefixUnaryExpression 477022 477052 + PrefixUnaryExpression 477024 477052 + CallExpression 477025 477052 + Identifier 477025 477031 + PropertyAccessExpression 477032 477051 + Identifier 477032 477038 + Identifier 477039 477051 + AmpersandAmpersandToken 477052 477055 + CallExpression 477055 477109 + Identifier 477055 477061 + PropertyAccessExpression 477062 477081 + Identifier 477062 477068 + Identifier 477069 477081 + Identifier 477082 477108 + VariableStatement 477110 477179 + VariableDeclarationList 477110 477178 + VariableDeclaration 477129 477178 + Identifier 477129 477138 + PrefixUnaryExpression 477140 477178 + PrefixUnaryExpression 477142 477178 + ParenthesizedExpression 477143 477178 + BinaryExpression 477144 477177 + PropertyAccessExpression 477144 477156 + Identifier 477144 477150 + Identifier 477151 477156 + AmpersandToken 477156 477158 + PropertyAccessExpression 477158 477177 + Identifier 477158 477170 + Identifier 477171 477177 + VariableStatement 477179 477308 + VariableDeclarationList 477179 477307 + VariableDeclaration 477198 477307 + Identifier 477198 477211 + CallExpression 477213 477307 + Identifier 477213 477254 + Identifier 477255 477261 + Identifier 477262 477270 + Identifier 477271 477283 + Identifier 477284 477296 + Identifier 477297 477306 + IfStatement 477308 477394 + Identifier 477326 477338 + Block 477339 477394 + ReturnStatement 477341 477379 + Identifier 477365 477378 + VariableStatement 477394 477471 + VariableDeclarationList 477394 477470 + VariableDeclaration 477413 477470 + Identifier 477413 477421 + CallExpression 477423 477470 + Identifier 477423 477450 + PropertyAccessExpression 477451 477469 + Identifier 477451 477457 + Identifier 477458 477469 + ReturnStatement 477471 477620 + CallExpression 477491 477619 + Identifier 477491 477536 + Identifier 477537 477544 + CallExpression 477545 477582 + Identifier 477545 477565 + Identifier 477566 477581 + Identifier 477583 477595 + Identifier 477596 477608 + Identifier 477609 477618 + FunctionDeclaration 477631 479083 + Identifier 477721 477762 + Parameter 477763 477777 + Identifier 477763 477769 + TypeReference 477770 477777 + Identifier 477770 477777 + Parameter 477778 477806 + Identifier 477778 477786 + TypeReference 477787 477806 + Identifier 477787 477806 + Parameter 477807 477828 + Identifier 477807 477819 + BooleanKeyword 477820 477828 + Parameter 477829 477850 + Identifier 477829 477841 + BooleanKeyword 477842 477850 + Parameter 477851 477869 + Identifier 477851 477860 + BooleanKeyword 477861 477869 + Block 477870 479083 + VariableStatement 477872 477935 + VariableDeclarationList 477872 477934 + VariableDeclaration 477891 477934 + Identifier 477891 477900 + PropertyAccessExpression 477902 477934 + CallExpression 477902 477925 + Identifier 477902 477917 + Identifier 477918 477924 + Identifier 477926 477934 + IfStatement 477935 479072 + Identifier 477953 477961 + Block 477962 479072 + IfStatement 477964 478819 + BinaryExpression 477986 478034 + PropertyAccessExpression 477986 478000 + Identifier 477986 477994 + Identifier 477995 478000 + AmpersandToken 478000 478002 + PropertyAccessExpression 478002 478034 + Identifier 478002 478012 + Identifier 478013 478034 + Block 478035 478819 + VariableStatement 478037 478135 + VariableDeclarationList 478037 478134 + VariableDeclaration 478064 478134 + Identifier 478064 478069 + BinaryExpression 478071 478134 + StringLiteral 478071 478074 + PlusToken 478074 478076 + PropertyAccessExpression 478076 478134 + ParenthesizedExpression 478076 478128 + AsExpression 478078 478127 + Identifier 478078 478086 + UnionType 478089 478127 + TypeReference 478089 478107 + Identifier 478089 478107 + TypeReference 478109 478127 + Identifier 478109 478127 + Identifier 478129 478134 + IfStatement 478135 478378 + BinaryExpression 478161 478270 + PrefixUnaryExpression 478161 478222 + CallExpression 478162 478222 + Identifier 478162 478178 + Identifier 478179 478183 + CallExpression 478184 478221 + Identifier 478184 478204 + Identifier 478205 478220 + AmpersandAmpersandToken 478222 478225 + ParenthesizedExpression 478225 478270 + BinaryExpression 478227 478269 + Identifier 478227 478238 + BarBarToken 478238 478241 + PrefixUnaryExpression 478241 478269 + CallExpression 478243 478269 + Identifier 478243 478263 + Identifier 478264 478268 + Block 478271 478378 + ReturnStatement 478273 478355 + CallExpression 478305 478354 + PropertyAccessExpression 478305 478333 + Identifier 478305 478313 + Identifier 478314 478333 + Identifier 478334 478338 + PrefixUnaryExpression 478339 478353 + PrefixUnaryExpression 478341 478353 + Identifier 478342 478353 + IfStatement 478378 478646 + BinaryExpression 478404 478455 + CallExpression 478404 478430 + Identifier 478404 478424 + Identifier 478425 478429 + AmpersandAmpersandToken 478430 478433 + CallExpression 478433 478455 + Identifier 478433 478444 + Identifier 478445 478449 + StringLiteral 478450 478454 + Block 478456 478646 + ReturnStatement 478458 478623 + CallExpression 478490 478622 + PropertyAccessExpression 478490 478525 + Identifier 478490 478498 + Identifier 478499 478525 + CallExpression 478526 478621 + PropertyAccessExpression 478526 478561 + Identifier 478526 478533 + Identifier 478534 478561 + PropertyAccessExpression 478562 478583 + Identifier 478562 478572 + Identifier 478573 478583 + CallExpression 478584 478620 + PropertyAccessExpression 478584 478613 + Identifier 478584 478592 + Identifier 478593 478613 + PrefixUnaryExpression 478614 478619 + Identifier 478615 478619 + ReturnStatement 478646 478800 + CallExpression 478674 478799 + Identifier 478674 478719 + Identifier 478720 478724 + CallExpression 478725 478762 + Identifier 478725 478745 + Identifier 478746 478761 + Identifier 478763 478775 + Identifier 478776 478788 + Identifier 478789 478798 + IfStatement 478819 479057 + BinaryExpression 478841 478882 + PropertyAccessExpression 478841 478855 + Identifier 478841 478849 + Identifier 478850 478855 + AmpersandToken 478855 478857 + PropertyAccessExpression 478857 478882 + Identifier 478857 478867 + Identifier 478868 478882 + Block 478883 479057 + ReturnStatement 478885 479038 + CallExpression 478913 479037 + PropertyAccessExpression 478913 478948 + Identifier 478913 478921 + Identifier 478922 478948 + CallExpression 478949 479036 + Identifier 478949 478967 + PropertyAccessExpression 478968 479007 + ParenthesizedExpression 478968 479000 + AsExpression 478969 478999 + Identifier 478969 478977 + TypeReference 478980 478999 + Identifier 478980 478999 + Identifier 479001 479007 + Identifier 479008 479016 + PropertyAccessExpression 479017 479035 + Identifier 479017 479029 + Identifier 479030 479035 + FunctionDeclaration 479083 481301 + Identifier 479103 479127 + Parameter 479128 479155 + Identifier 479128 479135 + TypeReference 479136 479155 + Identifier 479136 479155 + Block 479156 481301 + VariableStatement 479158 480126 + VariableDeclarationList 479158 480125 + VariableDeclaration 480044 480125 + Identifier 480044 480081 + PropertyAccessExpression 480083 480125 + Identifier 480083 480091 + Identifier 480092 480125 + VariableStatement 480126 480233 + VariableDeclarationList 480126 480232 + VariableDeclaration 480145 480232 + Identifier 480145 480185 + PropertyAccessExpression 480187 480232 + Identifier 480187 480195 + Identifier 480196 480232 + ExpressionStatement 480233 480296 + BinaryExpression 480233 480295 + PropertyAccessExpression 480233 480288 + Identifier 480233 480254 + Identifier 480255 480288 + EqualsToken 480288 480290 + TrueKeyword 480290 480295 + ExpressionStatement 480296 480362 + BinaryExpression 480296 480361 + PropertyAccessExpression 480296 480354 + Identifier 480296 480317 + Identifier 480318 480354 + EqualsToken 480354 480356 + TrueKeyword 480356 480361 + VariableStatement 480362 480433 + VariableDeclarationList 480362 480432 + VariableDeclaration 480381 480432 + Identifier 480381 480403 + PropertyAccessExpression 480405 480432 + Identifier 480405 480413 + Identifier 480414 480432 + VariableStatement 480433 480516 + VariableDeclarationList 480433 480515 + VariableDeclaration 480452 480515 + Identifier 480452 480480 + PropertyAccessExpression 480482 480515 + Identifier 480482 480490 + Identifier 480491 480515 + VariableStatement 480516 480625 + VariableDeclarationList 480516 480624 + VariableDeclaration 480535 480624 + Identifier 480535 480576 + PropertyAccessExpression 480578 480624 + Identifier 480578 480586 + Identifier 480587 480624 + VariableStatement 480625 480706 + VariableDeclarationList 480625 480705 + VariableDeclaration 480644 480705 + Identifier 480644 480671 + PropertyAccessExpression 480673 480705 + Identifier 480673 480681 + Identifier 480682 480705 + ReturnStatement 480706 481290 + ArrowFunction 480726 481289 + EqualsGreaterThanToken 480729 480732 + Block 480732 481289 + ExpressionStatement 480734 480803 + BinaryExpression 480734 480802 + PropertyAccessExpression 480734 480778 + Identifier 480734 480759 + Identifier 480760 480778 + EqualsToken 480778 480780 + Identifier 480780 480802 + ExpressionStatement 480803 480884 + BinaryExpression 480803 480883 + PropertyAccessExpression 480803 480853 + Identifier 480803 480828 + Identifier 480829 480853 + EqualsToken 480853 480855 + Identifier 480855 480883 + ExpressionStatement 480884 480991 + BinaryExpression 480884 480990 + PropertyAccessExpression 480884 480947 + Identifier 480884 480909 + Identifier 480910 480947 + EqualsToken 480947 480949 + Identifier 480949 480990 + ExpressionStatement 480991 481070 + BinaryExpression 480991 481069 + PropertyAccessExpression 480991 481040 + Identifier 480991 481016 + Identifier 481017 481040 + EqualsToken 481040 481042 + Identifier 481042 481069 + ExpressionStatement 481070 481169 + BinaryExpression 481070 481168 + PropertyAccessExpression 481070 481129 + Identifier 481070 481095 + Identifier 481096 481129 + EqualsToken 481129 481131 + Identifier 481131 481168 + ExpressionStatement 481169 481274 + BinaryExpression 481169 481273 + PropertyAccessExpression 481169 481231 + Identifier 481169 481194 + Identifier 481195 481231 + EqualsToken 481231 481233 + Identifier 481233 481273 + FunctionDeclaration 481301 481625 + Identifier 481321 481354 + Parameter 481355 481369 + Identifier 481355 481361 + TypeReference 481362 481369 + Identifier 481362 481369 + Parameter 481370 481410 + Identifier 481370 481391 + QuestionToken 481391 481392 + UnionType 481393 481410 + TypeReference 481393 481398 + Identifier 481393 481398 + UndefinedKeyword 481400 481410 + Block 481411 481625 + ReturnStatement 481413 481614 + BinaryExpression 481433 481613 + PropertyAccessExpression 481433 481453 + Identifier 481433 481440 + Identifier 481441 481453 + AmpersandAmpersandToken 481453 481456 + CallExpression 481456 481613 + Identifier 481456 481461 + PropertyAccessExpression 481462 481481 + Identifier 481462 481468 + Identifier 481469 481481 + ArrowFunction 481482 481612 + Parameter 481482 481484 + Identifier 481482 481484 + EqualsGreaterThanToken 481484 481487 + BinaryExpression 481487 481612 + PrefixUnaryExpression 481487 481531 + PrefixUnaryExpression 481489 481531 + CallExpression 481490 481531 + Identifier 481490 481528 + Identifier 481529 481530 + AmpersandAmpersandToken 481531 481534 + ParenthesizedExpression 481534 481612 + BinaryExpression 481536 481611 + PrefixUnaryExpression 481536 481557 + Identifier 481537 481557 + BarBarToken 481557 481560 + PrefixUnaryExpression 481560 481611 + PrefixUnaryExpression 481562 481611 + CallExpression 481563 481611 + Identifier 481563 481575 + Identifier 481576 481577 + ArrowFunction 481578 481610 + Parameter 481578 481580 + Identifier 481578 481580 + EqualsGreaterThanToken 481580 481583 + BinaryExpression 481583 481610 + Identifier 481583 481585 + EqualsEqualsEqualsToken 481585 481589 + Identifier 481589 481610 + FunctionDeclaration 481625 482749 + Identifier 481645 481720 + Parameter 481721 481739 + Identifier 481721 481729 + TypeReference 481730 481739 + Identifier 481730 481739 + Parameter 481740 481751 + Identifier 481740 481745 + TypeReference 481746 481751 + Identifier 481746 481751 + Block 481752 482749 + IfStatement 481754 481993 + PrefixUnaryExpression 481932 481979 + ParenthesizedExpression 481933 481979 + BinaryExpression 481934 481978 + CallExpression 481934 481954 + Identifier 481934 481948 + Identifier 481949 481953 + AmpersandToken 481954 481956 + PropertyAccessExpression 481956 481978 + Identifier 481956 481968 + Identifier 481969 481978 + ReturnStatement 481980 481993 + TrueKeyword 481987 481992 + IfStatement 481993 482055 + PrefixUnaryExpression 482011 482041 + CallExpression 482012 482041 + Identifier 482012 482031 + Identifier 482032 482040 + ReturnStatement 482042 482055 + TrueKeyword 482049 482054 + ExpressionStatement 482055 482329 + VoidExpression 482055 482328 + CallExpression 482293 482328 + Identifier 482293 482318 + Identifier 482319 482327 + VariableStatement 482329 482433 + VariableDeclarationList 482329 482432 + VariableDeclaration 482385 482432 + Identifier 482385 482392 + PropertyAccessExpression 482394 482432 + CallExpression 482394 482417 + Identifier 482394 482407 + Identifier 482408 482416 + Identifier 482418 482432 + VariableStatement 482433 482512 + VariableDeclarationList 482433 482511 + VariableDeclaration 482452 482511 + Identifier 482452 482467 + BinaryExpression 482469 482511 + Identifier 482469 482476 + AmpersandAmpersandToken 482476 482479 + CallExpression 482479 482511 + Identifier 482479 482503 + Identifier 482504 482510 + IfStatement 482512 482612 + BinaryExpression 482530 482598 + PrefixUnaryExpression 482530 482545 + Identifier 482531 482545 + BarBarToken 482545 482548 + BinaryExpression 482548 482598 + Identifier 482548 482563 + ExclamationEqualsEqualsToken 482563 482567 + PropertyAccessExpression 482567 482598 + ParenthesizedExpression 482567 482591 + AsExpression 482569 482590 + Identifier 482569 482573 + TypeReference 482576 482590 + Identifier 482576 482590 + Identifier 482592 482598 + ReturnStatement 482599 482612 + TrueKeyword 482606 482611 + ReturnStatement 482612 482738 + BinaryExpression 482632 482737 + CallExpression 482632 482663 + Identifier 482632 482639 + PropertyAccessExpression 482640 482662 + Identifier 482640 482648 + Identifier 482649 482662 + GreaterThanEqualsToken 482663 482666 + CallExpression 482666 482737 + Identifier 482666 482690 + PropertyAccessExpression 482691 482736 + PropertyAccessExpression 482691 482721 + ParenthesizedExpression 482691 482714 + AsExpression 482692 482713 + Identifier 482692 482696 + TypeReference 482699 482713 + Identifier 482699 482713 + Identifier 482715 482721 + Identifier 482722 482736 + FunctionDeclaration 482749 483068 + Identifier 482769 482810 + Parameter 482811 482837 + Identifier 482811 482831 + TypeReference 482832 482837 + Identifier 482832 482837 + Block 482838 483068 + WhileStatement 482840 483015 + PropertyAccessExpression 482861 482928 + CallExpression 482861 482895 + Identifier 482861 482873 + Identifier 482874 482894 + Identifier 482896 482928 + Block 482929 483015 + ExpressionStatement 482931 483000 + BinaryExpression 482931 482999 + Identifier 482931 482969 + EqualsToken 482969 482971 + PropertyAccessExpression 482971 482999 + Identifier 482971 482992 + Identifier 482993 482999 + ReturnStatement 483015 483057 + Identifier 483035 483056 + FunctionDeclaration 483068 483976 + Identifier 483432 483468 + Parameter 483469 483483 + Identifier 483469 483475 + TypeReference 483476 483483 + Identifier 483476 483483 + Parameter 483484 483512 + Identifier 483484 483492 + TypeReference 483493 483512 + Identifier 483493 483512 + Parameter 483513 483524 + Identifier 483513 483518 + TypeReference 483519 483524 + Identifier 483519 483524 + Block 483525 483976 + IfStatement 483527 483870 + BinaryExpression 483545 483762 + BinaryExpression 483545 483643 + BinaryExpression 483545 483600 + PropertyAccessExpression 483545 483573 + Identifier 483545 483567 + Identifier 483568 483573 + AmpersandToken 483573 483575 + PropertyAccessExpression 483575 483600 + Identifier 483575 483585 + Identifier 483586 483600 + AmpersandAmpersandToken 483600 483603 + BinaryExpression 483603 483643 + PropertyAccessExpression 483603 483632 + Identifier 483603 483625 + Identifier 483626 483632 + EqualsEqualsEqualsToken 483632 483636 + Identifier 483636 483643 + AmpersandAmpersandToken 483643 483646 + ParenthesizedExpression 483646 483762 + BinaryExpression 483648 483761 + PrefixUnaryExpression 483648 483677 + PropertyAccessExpression 483649 483677 + Identifier 483649 483656 + Identifier 483657 483677 + BarBarToken 483677 483680 + CallExpression 483680 483761 + Identifier 483680 483685 + PropertyAccessExpression 483686 483705 + Identifier 483686 483692 + Identifier 483693 483705 + ArrowFunction 483706 483760 + Parameter 483706 483708 + Identifier 483706 483708 + EqualsGreaterThanToken 483708 483711 + BinaryExpression 483711 483760 + CallExpression 483711 483734 + Identifier 483711 483731 + Identifier 483732 483733 + EqualsEqualsEqualsToken 483734 483738 + PropertyAccessExpression 483738 483760 + Identifier 483738 483746 + Identifier 483747 483760 + Block 483777 483870 + ExpressionStatement 483779 483855 + BinaryExpression 483779 483854 + PropertyAccessExpression 483779 483810 + Identifier 483779 483804 + Identifier 483805 483810 + BarEqualsToken 483810 483813 + PropertyAccessExpression 483813 483854 + Identifier 483813 483830 + Identifier 483831 483854 + VariableStatement 483870 483937 + VariableDeclarationList 483870 483936 + VariableDeclaration 483891 483936 + Identifier 483891 483898 + CallExpression 483900 483936 + Identifier 483900 483921 + Identifier 483922 483926 + Identifier 483927 483935 + ReturnStatement 483937 483965 + Identifier 483957 483964 + FunctionDeclaration 483976 486315 + Identifier 484826 484854 + Parameter 484855 484882 + Identifier 484855 484862 + TypeReference 484863 484882 + Identifier 484863 484882 + Parameter 484883 484920 + Identifier 484883 484895 + UnionType 484896 484920 + TypeReference 484896 484908 + Identifier 484896 484908 + UndefinedKeyword 484910 484920 + Parameter 484921 484932 + Identifier 484921 484926 + TypeReference 484927 484932 + Identifier 484927 484932 + Parameter 484933 484948 + Identifier 484933 484940 + TypeReference 484941 484948 + Identifier 484941 484948 + Block 484949 486315 + VariableStatement 484951 484976 + VariableDeclarationList 484951 484975 + VariableDeclaration 484968 484975 + Identifier 484968 484975 + VariableStatement 484976 485179 + VariableDeclarationList 484976 485178 + VariableDeclaration 484995 485178 + Identifier 484995 485020 + BinaryExpression 485022 485178 + BinaryExpression 485022 485100 + Identifier 485022 485034 + AmpersandAmpersandToken 485034 485037 + ParenthesizedExpression 485037 485100 + BinaryExpression 485039 485099 + CallExpression 485039 485063 + Identifier 485039 485050 + Identifier 485051 485062 + BarBarToken 485063 485066 + CallExpression 485066 485099 + Identifier 485066 485086 + Identifier 485087 485098 + AmpersandAmpersandToken 485100 485103 + CallExpression 485103 485178 + Identifier 485103 485135 + Identifier 485136 485147 + PropertyAccessExpression 485148 485177 + Identifier 485148 485156 + Identifier 485157 485177 + VariableStatement 485179 485317 + VariableDeclarationList 485179 485316 + VariableDeclaration 485198 485316 + Identifier 485198 485203 + BinaryExpression 485205 485316 + BinaryExpression 485205 485288 + BinaryExpression 485205 485244 + Identifier 485205 485217 + QuestionQuestionToken 485217 485220 + PropertyAccessExpression 485220 485244 + Identifier 485220 485227 + Identifier 485228 485244 + QuestionQuestionToken 485244 485247 + CallExpression 485247 485288 + Identifier 485247 485280 + Identifier 485281 485287 + QuestionQuestionToken 485288 485291 + ElementAccessExpression 485291 485316 + PropertyAccessExpression 485291 485311 + Identifier 485291 485298 + Identifier 485299 485311 + QuestionDotToken 485311 485313 + NumericLiteral 485314 485315 + IfStatement 485317 485972 + Identifier 485335 485339 + Block 485340 485972 + IfStatement 485342 485957 + CallExpression 485364 485380 + Identifier 485364 485374 + Identifier 485375 485379 + Block 485381 485501 + ExpressionStatement 485383 485482 + BinaryExpression 485383 485481 + Identifier 485383 485411 + EqualsToken 485411 485413 + CallExpression 485413 485481 + PropertyAccessExpression 485413 485458 + Identifier 485413 485434 + Identifier 485435 485458 + Identifier 485459 485463 + Identifier 485464 485471 + Identifier 485472 485480 + IfStatement 485523 485957 + BinaryExpression 485528 485699 + BinaryExpression 485528 485620 + CallExpression 485528 485571 + Identifier 485528 485565 + Identifier 485566 485570 + AmpersandAmpersandToken 485571 485595 + PrefixUnaryExpression 485595 485620 + CallExpression 485597 485620 + Identifier 485597 485614 + Identifier 485615 485619 + AmpersandAmpersandToken 485620 485644 + PrefixUnaryExpression 485644 485699 + ParenthesizedExpression 485646 485699 + BinaryExpression 485647 485698 + CallExpression 485647 485667 + Identifier 485647 485661 + Identifier 485662 485666 + AmpersandToken 485667 485669 + PropertyAccessExpression 485669 485698 + Identifier 485669 485681 + Identifier 485682 485698 + Block 485718 485957 + VariableStatement 485720 485804 + VariableDeclarationList 485720 485803 + VariableDeclaration 485747 485803 + Identifier 485747 485755 + CallExpression 485757 485803 + Identifier 485757 485780 + Identifier 485781 485788 + Identifier 485789 485796 + Identifier 485797 485802 + ExpressionStatement 485804 485906 + BinaryExpression 485804 485905 + Identifier 485804 485832 + EqualsToken 485832 485834 + CallExpression 485834 485905 + PropertyAccessExpression 485834 485882 + Identifier 485834 485855 + Identifier 485856 485882 + Identifier 485883 485887 + Identifier 485888 485895 + Identifier 485896 485904 + ExpressionStatement 485906 485938 + CallExpression 485906 485937 + Identifier 485906 485935 + IfStatement 485972 486220 + PrefixUnaryExpression 485990 485997 + Identifier 485991 485997 + Block 485998 486220 + IfStatement 486000 486119 + Identifier 486022 486046 + Block 486047 486119 + ExpressionStatement 486049 486100 + BinaryExpression 486049 486099 + Identifier 486049 486075 + EqualsToken 486075 486077 + CallExpression 486077 486099 + Identifier 486077 486093 + Identifier 486094 486098 + ExpressionStatement 486119 486205 + BinaryExpression 486119 486204 + Identifier 486119 486143 + EqualsToken 486143 486145 + CallExpression 486145 486204 + Identifier 486145 486181 + Identifier 486182 486188 + Identifier 486189 486197 + Identifier 486198 486203 + ReturnStatement 486220 486304 + BinaryExpression 486240 486303 + Identifier 486240 486247 + QuestionQuestionToken 486247 486250 + CallExpression 486250 486303 + PropertyAccessExpression 486250 486280 + Identifier 486250 486258 + Identifier 486259 486280 + PropertyAccessExpression 486281 486302 + Identifier 486281 486291 + Identifier 486292 486302 + FunctionDeclaration 486315 487125 + Identifier 486335 486362 + Parameter 486363 486401 + Identifier 486363 486383 + UnionType 486384 486401 + TypeReference 486384 486389 + Identifier 486384 486389 + UndefinedKeyword 486391 486401 + Parameter 486402 486413 + Identifier 486402 486407 + TypeReference 486408 486413 + Identifier 486408 486413 + Parameter 486414 486437 + Identifier 486414 486431 + TypeReference 486432 486437 + Identifier 486432 486437 + Block 486438 487125 + IfStatement 486440 486531 + BinaryExpression 486458 486483 + Identifier 486458 486474 + EqualsEqualsEqualsToken 486474 486478 + Identifier 486478 486483 + Block 486484 486531 + ReturnStatement 486486 486516 + TrueKeyword 486510 486515 + IfStatement 486531 486619 + PrefixUnaryExpression 486549 486570 + Identifier 486550 486570 + Block 486571 486619 + ReturnStatement 486573 486604 + FalseKeyword 486597 486603 + IfStatement 486619 486875 + BinaryExpression 486637 486765 + ParenthesizedExpression 486637 486727 + BinaryExpression 486638 486726 + CallExpression 486638 486679 + Identifier 486638 486657 + Identifier 486658 486678 + BarBarToken 486679 486682 + CallExpression 486682 486726 + Identifier 486682 486704 + Identifier 486705 486725 + AmpersandAmpersandToken 486727 486730 + PropertyAccessExpression 486730 486765 + Identifier 486730 486751 + Identifier 486752 486765 + Block 486766 486875 + ReturnStatement 486768 486860 + BinaryExpression 486792 486859 + CallExpression 486792 486838 + Identifier 486792 486809 + Identifier 486810 486814 + PropertyAccessExpression 486815 486837 + Identifier 486815 486825 + Identifier 486826 486837 + EqualsEqualsEqualsToken 486838 486842 + Identifier 486842 486859 + IfStatement 486875 487087 + BinaryExpression 486893 486977 + CallExpression 486893 486926 + Identifier 486893 486904 + Identifier 486905 486925 + AmpersandAmpersandToken 486926 486929 + CallExpression 486929 486977 + Identifier 486929 486955 + Identifier 486956 486976 + Block 486978 487087 + ReturnStatement 486980 487072 + BinaryExpression 487004 487071 + CallExpression 487004 487050 + Identifier 487004 487021 + Identifier 487022 487026 + PropertyAccessExpression 487027 487049 + Identifier 487027 487037 + Identifier 487038 487049 + EqualsEqualsEqualsToken 487050 487054 + Identifier 487054 487071 + ReturnStatement 487087 487114 + FalseKeyword 487107 487113 + FunctionDeclaration 487125 488769 + Identifier 487329 487361 + Parameter 487362 487389 + Identifier 487362 487369 + TypeReference 487370 487389 + Identifier 487370 487389 + Parameter 487390 487411 + Identifier 487390 487400 + TypeReference 487401 487411 + Identifier 487401 487411 + Block 487412 488769 + VariableStatement 487414 487503 + VariableDeclarationList 487414 487502 + VariableDeclaration 487433 487502 + Identifier 487433 487445 + BinaryExpression 487447 487502 + PropertyAccessExpression 487447 487461 + Identifier 487447 487455 + Identifier 487456 487461 + AmpersandToken 487461 487463 + PropertyAccessExpression 487463 487502 + Identifier 487463 487480 + Identifier 487481 487502 + VariableStatement 487503 487564 + VariableDeclarationList 487503 487563 + VariableDeclaration 487522 487563 + Identifier 487522 487535 + CallExpression 487537 487563 + Identifier 487537 487554 + Identifier 487555 487562 + IfStatement 487564 487652 + Identifier 487582 487593 + ExpressionStatement 487594 487652 + BinaryExpression 487594 487651 + PropertyAccessExpression 487594 487608 + Identifier 487594 487602 + Identifier 487603 487608 + AmpersandEqualsToken 487608 487611 + PrefixUnaryExpression 487611 487651 + PropertyAccessExpression 487613 487651 + Identifier 487613 487629 + Identifier 487630 487651 + VariableStatement 487652 487740 + VariableDeclarationList 487652 487739 + VariableDeclaration 487702 487739 + Identifier 487702 487717 + UnionType 487718 487739 + TypeReference 487718 487727 + Identifier 487718 487727 + UndefinedKeyword 487729 487739 + VariableStatement 487740 487811 + VariableDeclarationList 487740 487810 + VariableDeclaration 487761 487810 + Identifier 487761 487772 + CallExpression 487774 487810 + Identifier 487774 487799 + Identifier 487800 487809 + IfStatement 487811 488536 + PrefixUnaryExpression 487829 487868 + ParenthesizedExpression 487830 487868 + BinaryExpression 487831 487867 + Identifier 487831 487842 + AmpersandAmpersandToken 487842 487845 + CallExpression 487845 487867 + Identifier 487845 487855 + Identifier 487856 487866 + Block 487869 488536 + IfStatement 487871 488351 + BinaryExpression 487893 487959 + PropertyAccessExpression 487893 487914 + Identifier 487893 487902 + Identifier 487903 487914 + AmpersandAmpersandToken 487914 487917 + PrefixUnaryExpression 487917 487959 + CallExpression 487919 487959 + Identifier 487919 487936 + PropertyAccessExpression 487937 487958 + Identifier 487937 487946 + Identifier 487947 487958 + Block 487960 488351 + VariableStatement 487962 488056 + VariableDeclarationList 487962 488055 + VariableDeclaration 487989 488055 + Identifier 487989 488007 + CallExpression 488009 488055 + Identifier 488009 488032 + PropertyAccessExpression 488033 488054 + Identifier 488033 488042 + Identifier 488043 488054 + VariableStatement 488056 488157 + VariableDeclarationList 488056 488156 + VariableDeclaration 488083 488156 + Identifier 488083 488091 + CallExpression 488093 488156 + Identifier 488093 488116 + Identifier 488117 488124 + Identifier 488125 488143 + Identifier 488144 488155 + ExpressionStatement 488157 488300 + BinaryExpression 488157 488299 + Identifier 488157 488193 + EqualsToken 488193 488195 + CallExpression 488195 488299 + PropertyAccessExpression 488195 488248 + Identifier 488195 488216 + Identifier 488217 488248 + PropertyAccessExpression 488249 488270 + Identifier 488249 488258 + Identifier 488259 488270 + Identifier 488271 488289 + Identifier 488290 488298 + ExpressionStatement 488300 488332 + CallExpression 488300 488331 + Identifier 488300 488329 + IfStatement 488351 488521 + PrefixUnaryExpression 488373 488388 + Identifier 488374 488388 + Block 488389 488521 + ExpressionStatement 488391 488502 + BinaryExpression 488391 488501 + Identifier 488391 488427 + EqualsToken 488427 488429 + CallExpression 488429 488501 + Identifier 488429 488469 + Identifier 488470 488477 + Identifier 488478 488488 + Identifier 488489 488500 + IfStatement 488536 488693 + BinaryExpression 488556 488587 + PrefixUnaryExpression 488556 488571 + Identifier 488557 488571 + AmpersandAmpersandToken 488571 488574 + PrefixUnaryExpression 488574 488587 + Identifier 488576 488587 + Block 488588 488693 + ExpressionStatement 488590 488678 + BinaryExpression 488590 488677 + Identifier 488590 488622 + EqualsToken 488622 488624 + CallExpression 488624 488677 + PropertyAccessExpression 488624 488654 + Identifier 488624 488632 + Identifier 488633 488654 + PropertyAccessExpression 488655 488676 + Identifier 488655 488665 + Identifier 488666 488676 + ExpressionStatement 488693 488722 + CallExpression 488693 488721 + Identifier 488693 488719 + ReturnStatement 488722 488758 + Identifier 488742 488757 + FunctionDeclaration 488769 489660 + Identifier 488909 488949 + Parameter 488950 488977 + Identifier 488950 488957 + TypeReference 488958 488977 + Identifier 488958 488977 + Parameter 488978 488999 + Identifier 488978 488988 + TypeReference 488989 488999 + Identifier 488989 488999 + Parameter 489000 489017 + Identifier 489000 489011 + TypeReference 489012 489017 + Identifier 489012 489017 + Block 489018 489660 + VariableStatement 489020 489117 + VariableDeclarationList 489020 489116 + VariableDeclaration 489039 489116 + Identifier 489039 489074 + PropertyAccessExpression 489076 489116 + Identifier 489076 489084 + Identifier 489085 489116 + ExpressionStatement 489117 489178 + BinaryExpression 489117 489177 + PropertyAccessExpression 489117 489170 + Identifier 489117 489138 + Identifier 489139 489170 + EqualsToken 489170 489172 + TrueKeyword 489172 489177 + VariableStatement 489178 489253 + VariableDeclarationList 489178 489252 + VariableDeclaration 489197 489252 + Identifier 489197 489211 + CallExpression 489213 489252 + Identifier 489213 489241 + Identifier 489242 489251 + VariableStatement 489253 489522 + VariableDeclarationList 489253 489521 + VariableDeclaration 489272 489521 + Identifier 489272 489287 + ConditionalExpression 489289 489521 + Identifier 489289 489303 + QuestionToken 489303 489305 + CallExpression 489305 489460 + Identifier 489305 489361 + ConditionalExpression 489362 489450 + PropertyAccessExpression 489362 489376 + Identifier 489362 489369 + Identifier 489370 489376 + QuestionToken 489376 489378 + CallExpression 489378 489434 + Identifier 489378 489403 + Identifier 489404 489417 + PropertyAccessExpression 489418 489433 + Identifier 489418 489426 + Identifier 489427 489433 + ColonToken 489434 489436 + Identifier 489436 489450 + Identifier 489451 489459 + ColonToken 489460 489462 + CallExpression 489462 489521 + Identifier 489462 489500 + Identifier 489501 489511 + Identifier 489512 489520 + ExpressionStatement 489522 489613 + BinaryExpression 489522 489612 + PropertyAccessExpression 489522 489575 + Identifier 489522 489543 + Identifier 489544 489575 + EqualsToken 489575 489577 + Identifier 489577 489612 + ReturnStatement 489613 489649 + Identifier 489633 489648 + FunctionDeclaration 489660 495730 + Identifier 489680 489704 + TypeParameter 489705 489747 + Identifier 489705 489706 + TypeReference 489714 489747 + Identifier 489714 489747 + Parameter 489749 489756 + Identifier 489749 489753 + TypeReference 489754 489756 + Identifier 489754 489756 + Parameter 489757 489785 + Identifier 489757 489765 + TypeReference 489766 489785 + Identifier 489766 489785 + Parameter 489786 489838 + Identifier 489786 489807 + PropertyAccessExpression 489809 489838 + Identifier 489809 489817 + Identifier 489818 489838 + Block 489839 495730 + VariableStatement 489841 489883 + VariableDeclarationList 489841 489882 + VariableDeclaration 489858 489882 + Identifier 489858 489874 + FalseKeyword 489876 489882 + VariableStatement 489883 489939 + VariableDeclarationList 489883 489938 + VariableDeclaration 489902 489938 + Identifier 489902 489911 + CallExpression 489913 489938 + Identifier 489913 489932 + Identifier 489933 489937 + IfStatement 489939 490298 + BinaryExpression 489957 490188 + CallExpression 489957 489973 + Identifier 489957 489967 + Identifier 489968 489972 + AmpersandAmpersandToken 489973 489976 + ParenthesizedExpression 489976 490188 + BinaryExpression 489978 490187 + BinaryExpression 489978 490059 + CallExpression 489978 490007 + Identifier 489978 489997 + Identifier 489998 490006 + BarBarToken 490007 490010 + CallExpression 490010 490059 + Identifier 490010 490042 + PropertyAccessExpression 490043 490058 + Identifier 490043 490051 + Identifier 490052 490058 + BarBarToken 490059 490062 + ParenthesizedExpression 490062 490187 + BinaryExpression 490064 490186 + BinaryExpression 490064 490140 + CallExpression 490064 490096 + Identifier 490064 490079 + PropertyAccessExpression 490080 490095 + Identifier 490080 490088 + Identifier 490089 490095 + AmpersandAmpersandToken 490096 490099 + CallExpression 490099 490140 + Identifier 490099 490118 + PropertyAccessExpression 490119 490139 + PropertyAccessExpression 490119 490134 + Identifier 490119 490127 + Identifier 490128 490134 + Identifier 490135 490139 + AmpersandAmpersandToken 490140 490143 + CallExpression 490143 490186 + Identifier 490143 490163 + PropertyAccessExpression 490164 490185 + PropertyAccessExpression 490164 490179 + Identifier 490164 490172 + Identifier 490173 490179 + Identifier 490180 490185 + Block 490189 490298 + ExpressionStatement 490191 490232 + BinaryExpression 490191 490231 + Identifier 490191 490224 + EqualsToken 490224 490226 + TrueKeyword 490226 490231 + ReturnStatement 490232 490283 + ObjectLiteralExpression 490256 490282 + ShorthandPropertyAssignment 490258 490274 + Identifier 490258 490274 + ShorthandPropertyAssignment 490275 490280 + Identifier 490275 490280 + VariableStatement 490298 490366 + VariableDeclarationList 490298 490365 + VariableDeclaration 490317 490365 + Identifier 490317 490325 + CallExpression 490327 490365 + Identifier 490327 490359 + Identifier 490360 490364 + VariableStatement 490366 490408 + VariableDeclarationList 490366 490407 + VariableDeclaration 490383 490407 + Identifier 490383 490387 + UnionType 490388 490407 + TypeReference 490388 490395 + Identifier 490388 490395 + UndefinedKeyword 490397 490407 + IfStatement 490408 491161 + CallExpression 490426 490452 + Identifier 490426 490442 + Identifier 490443 490451 + Block 490453 491161 + ExpressionStatement 490455 490757 + BinaryExpression 490455 490756 + Identifier 490455 490626 + EqualsToken 490626 490628 + CallExpression 490628 490756 + Identifier 490628 490651 + CallExpression 490652 490755 + Identifier 490652 490668 + Identifier 490669 490677 + FalseKeyword 490678 490710 + FalseKeyword 490711 490754 + IfStatement 490757 491050 + BinaryExpression 490779 490915 + PropertyAccessExpression 490779 490880 + CallExpression 490779 490866 + Identifier 490779 490797 + Identifier 490798 490801 + Identifier 490802 490811 + Identifier 490812 490820 + FalseKeyword 490821 490865 + Identifier 490867 490880 + ExclamationEqualsEqualsToken 490880 490884 + PropertyAccessExpression 490884 490915 + Identifier 490884 490904 + Identifier 490905 490915 + Block 490916 491050 + ExpressionStatement 490918 490963 + BinaryExpression 490918 490962 + Identifier 490918 490955 + EqualsToken 490955 490957 + TrueKeyword 490957 490962 + ExpressionStatement 490963 491031 + CallExpression 490963 491030 + PropertyAccessExpression 490963 491028 + PropertyAccessExpression 490963 491000 + Identifier 490963 490992 + Identifier 490993 491000 + Identifier 491001 491028 + ReturnStatement 491050 491146 + ObjectLiteralExpression 491074 491145 + ShorthandPropertyAssignment 491076 491092 + Identifier 491076 491092 + PropertyAssignment 491093 491143 + Identifier 491093 491098 + AsExpression 491099 491143 + CallExpression 491099 491138 + Identifier 491099 491132 + Identifier 491133 491137 + TypeReference 491141 491143 + Identifier 491141 491143 + ExpressionStatement 491161 491268 + BinaryExpression 491161 491267 + Identifier 491161 491178 + EqualsToken 491178 491180 + CallExpression 491180 491267 + Identifier 491180 491198 + Identifier 491199 491207 + Identifier 491208 491216 + TrueKeyword 491217 491239 + TrueKeyword 491240 491266 + IfStatement 491268 493342 + BinaryExpression 491286 491400 + PropertyAccessExpression 491286 491332 + Identifier 491286 491311 + Identifier 491312 491332 + AmpersandAmpersandToken 491332 491335 + PrefixUnaryExpression 491335 491400 + ParenthesizedExpression 491354 491400 + BinaryExpression 491355 491399 + Identifier 491355 491358 + AmpersandAmpersandToken 491358 491361 + BinaryExpression 491361 491399 + PropertyAccessExpression 491361 491371 + Identifier 491361 491365 + Identifier 491366 491371 + AmpersandToken 491371 491373 + PropertyAccessExpression 491373 491399 + Identifier 491373 491385 + Identifier 491386 491399 + Block 491415 493342 + ExpressionStatement 491417 491485 + BinaryExpression 491417 491484 + Identifier 491417 491438 + EqualsToken 491438 491440 + CallExpression 491440 491484 + Identifier 491440 491479 + Identifier 491480 491483 + VariableStatement 491485 492182 + VariableDeclarationList 491485 492181 + VariableDeclaration 492048 492181 + Identifier 492048 492062 + CallExpression 492064 492181 + Identifier 492064 492082 + Identifier 492083 492091 + Identifier 492092 492100 + TrueKeyword 492101 492123 + TrueKeyword 492124 492150 + PropertyAccessExpression 492151 492180 + Identifier 492151 492159 + Identifier 492160 492180 + IfStatement 492182 493327 + BinaryExpression 492204 492814 + BinaryExpression 492204 492541 + BinaryExpression 492204 492319 + Identifier 492204 492301 + EqualsEqualsEqualsToken 492301 492305 + Identifier 492305 492319 + BarBarToken 492319 492322 + ParenthesizedExpression 492322 492541 + BinaryExpression 492492 492540 + BinaryExpression 492492 492519 + Identifier 492492 492505 + EqualsEqualsEqualsToken 492505 492509 + Identifier 492509 492519 + AmpersandAmpersandToken 492519 492522 + BinaryExpression 492522 492540 + Identifier 492522 492526 + ExclamationEqualsEqualsToken 492526 492530 + Identifier 492530 492540 + BarBarToken 492541 492544 + ParenthesizedExpression 492544 492814 + BinaryExpression 492704 492813 + BinaryExpression 492704 492724 + Identifier 492704 492717 + AmpersandAmpersandToken 492717 492720 + Identifier 492720 492724 + AmpersandAmpersandToken 492724 492727 + PrefixUnaryExpression 492727 492813 + CallExpression 492729 492813 + Identifier 492729 492753 + CallExpression 492754 492807 + Identifier 492754 492792 + Identifier 492793 492806 + Identifier 492808 492812 + Block 492833 493242 + IfStatement 492835 493118 + BinaryExpression 492989 493020 + Identifier 492989 493002 + ExclamationEqualsEqualsToken 493002 493006 + Identifier 493006 493020 + Block 493021 493118 + ExpressionStatement 493023 493095 + CallExpression 493023 493094 + PropertyAccessExpression 493023 493088 + PropertyAccessExpression 493023 493064 + Identifier 493023 493056 + Identifier 493057 493064 + Identifier 493065 493088 + Identifier 493089 493093 + ExpressionStatement 493118 493163 + BinaryExpression 493118 493162 + Identifier 493118 493155 + EqualsToken 493155 493157 + TrueKeyword 493157 493162 + ReturnStatement 493163 493223 + ObjectLiteralExpression 493191 493222 + ShorthandPropertyAssignment 493193 493209 + Identifier 493193 493209 + ShorthandPropertyAssignment 493210 493215 + Identifier 493210 493215 + ShorthandPropertyAssignment 493216 493220 + Identifier 493216 493220 + Block 493264 493327 + ExpressionStatement 493266 493308 + BinaryExpression 493266 493307 + Identifier 493266 493291 + EqualsToken 493291 493293 + Identifier 493293 493307 + IfStatement 493342 494706 + Identifier 493362 493365 + Block 493366 494706 + IfStatement 493368 493926 + BinaryExpression 493522 493635 + BinaryExpression 493522 493590 + PropertyAccessExpression 493522 493553 + Identifier 493522 493547 + Identifier 493548 493553 + AmpersandToken 493553 493555 + PropertyAccessExpression 493555 493590 + Identifier 493555 493567 + Identifier 493568 493590 + AmpersandAmpersandToken 493590 493614 + PropertyAccessExpression 493614 493635 + Identifier 493614 493618 + Identifier 493619 493635 + Block 493654 493926 + IfStatement 493656 493907 + BinaryExpression 493682 493777 + CallExpression 493682 493732 + Identifier 493682 493710 + PropertyAccessExpression 493711 493731 + Identifier 493711 493714 + Identifier 493715 493731 + BarBarToken 493732 493735 + CallExpression 493735 493777 + Identifier 493735 493755 + PropertyAccessExpression 493756 493776 + Identifier 493756 493759 + Identifier 493760 493776 + Block 493778 493907 + ReturnStatement 493780 493884 + ObjectLiteralExpression 493812 493883 + ShorthandPropertyAssignment 493814 493830 + Identifier 493814 493830 + PropertyAssignment 493831 493881 + Identifier 493831 493836 + AsExpression 493837 493881 + CallExpression 493837 493876 + Identifier 493837 493870 + Identifier 493871 493875 + TypeReference 493879 493881 + Identifier 493879 493881 + IfStatement 493926 494595 + BinaryExpression 493948 494313 + BinaryExpression 493948 494140 + PrefixUnaryExpression 493948 494010 + ParenthesizedExpression 493971 494010 + BinaryExpression 493972 494009 + PropertyAccessExpression 493972 493981 + Identifier 493972 493975 + Identifier 493976 493981 + AmpersandToken 493981 493983 + PropertyAccessExpression 493983 494009 + Identifier 493983 493995 + Identifier 493996 494009 + AmpersandAmpersandToken 494010 494013 + PrefixUnaryExpression 494013 494140 + CallExpression 494117 494140 + Identifier 494117 494134 + Identifier 494135 494139 + AmpersandAmpersandToken 494140 494143 + BinaryExpression 494143 494313 + PropertyAccessExpression 494143 494278 + CallExpression 494143 494264 + Identifier 494143 494183 + Identifier 494184 494187 + Identifier 494188 494209 + Identifier 494210 494218 + FalseKeyword 494219 494263 + Identifier 494265 494278 + ExclamationEqualsEqualsToken 494278 494282 + PropertyAccessExpression 494282 494313 + Identifier 494282 494302 + Identifier 494303 494313 + Block 494332 494466 + ExpressionStatement 494334 494402 + CallExpression 494334 494401 + PropertyAccessExpression 494334 494395 + PropertyAccessExpression 494334 494371 + Identifier 494334 494363 + Identifier 494364 494371 + Identifier 494372 494395 + Identifier 494396 494400 + ExpressionStatement 494402 494447 + BinaryExpression 494402 494446 + Identifier 494402 494439 + EqualsToken 494439 494441 + TrueKeyword 494441 494446 + Block 494488 494595 + ExpressionStatement 494490 494576 + CallExpression 494490 494575 + PropertyAccessExpression 494490 494539 + PropertyAccessExpression 494490 494527 + Identifier 494490 494519 + Identifier 494520 494527 + Identifier 494528 494539 + Identifier 494540 494543 + Identifier 494544 494565 + Identifier 494566 494574 + ReturnStatement 494595 494691 + ObjectLiteralExpression 494619 494690 + ShorthandPropertyAssignment 494621 494637 + Identifier 494621 494637 + PropertyAssignment 494638 494688 + Identifier 494638 494643 + AsExpression 494644 494688 + CallExpression 494644 494683 + Identifier 494644 494677 + Identifier 494678 494682 + TypeReference 494686 494688 + Identifier 494686 494688 + ReturnStatement 494706 494755 + ObjectLiteralExpression 494728 494754 + ShorthandPropertyAssignment 494730 494746 + Identifier 494730 494746 + ShorthandPropertyAssignment 494747 494752 + Identifier 494747 494752 + FunctionDeclaration 494755 495719 + Identifier 494982 495015 + Parameter 495016 495026 + Identifier 495016 495020 + TypeReference 495021 495026 + Identifier 495021 495026 + TypeReference 495028 495033 + Identifier 495028 495033 + Block 495033 495719 + IfStatement 495035 495516 + BinaryExpression 495057 495074 + Identifier 495057 495061 + EqualsEqualsEqualsToken 495061 495065 + Identifier 495065 495074 + Block 495075 495516 + VariableStatement 495077 495142 + VariableDeclarationList 495077 495141 + VariableDeclaration 495104 495141 + Identifier 495104 495109 + CallExpression 495111 495141 + Identifier 495111 495135 + NonNullExpression 495136 495140 + Identifier 495136 495139 + VariableStatement 495142 495293 + VariableDeclarationList 495142 495292 + VariableDeclaration 495169 495292 + Identifier 495169 495174 + ConditionalExpression 495176 495292 + BinaryExpression 495176 495215 + PropertyAccessExpression 495176 495187 + NonNullExpression 495176 495181 + Identifier 495176 495180 + Identifier 495182 495187 + AmpersandToken 495187 495189 + PropertyAccessExpression 495189 495215 + Identifier 495189 495201 + Identifier 495202 495215 + QuestionToken 495215 495217 + CallExpression 495217 495252 + Identifier 495217 495237 + Identifier 495238 495242 + Identifier 495243 495251 + ColonToken 495252 495254 + CallExpression 495254 495292 + PropertyAccessExpression 495254 495272 + Identifier 495254 495262 + Identifier 495263 495272 + AsExpression 495273 495291 + Identifier 495273 495277 + TypeReference 495280 495291 + Identifier 495280 495291 + ExpressionStatement 495293 495334 + BinaryExpression 495293 495333 + PropertyAccessExpression 495293 495326 + Identifier 495293 495319 + Identifier 495320 495326 + EqualsToken 495326 495328 + NonNullExpression 495328 495333 + Identifier 495328 495332 + ReturnStatement 495334 495497 + CallExpression 495421 495496 + Identifier 495421 495434 + Identifier 495435 495442 + CallExpression 495443 495489 + Identifier 495443 495456 + Identifier 495457 495461 + PropertyAccessExpression 495462 495488 + Identifier 495462 495472 + Identifier 495473 495488 + Identifier 495490 495495 + VariableStatement 495516 495642 + VariableDeclarationList 495516 495641 + VariableDeclaration 495539 495641 + Identifier 495539 495547 + CallExpression 495549 495641 + Identifier 495549 495570 + Identifier 495571 495575 + ArrowFunction 495576 495617 + Parameter 495576 495578 + Identifier 495576 495578 + EqualsGreaterThanToken 495578 495581 + CallExpression 495581 495617 + Identifier 495581 495614 + Identifier 495615 495616 + Identifier 495618 495640 + ReturnStatement 495642 495704 + CallExpression 495666 495703 + Identifier 495666 495679 + Identifier 495680 495687 + Identifier 495688 495696 + Identifier 495697 495702 + FunctionDeclaration 495730 496477 + Identifier 495750 495768 + Parameter 495769 495796 + Identifier 495769 495776 + TypeReference 495777 495796 + Identifier 495777 495796 + Parameter 495797 495814 + Identifier 495797 495802 + TypeReference 495803 495814 + Identifier 495803 495814 + Parameter 495815 495834 + Identifier 495815 495824 + QuestionToken 495824 495825 + BooleanKeyword 495826 495834 + Parameter 495835 495871 + Identifier 495835 495849 + QuestionToken 495849 495850 + TypeOperator 495851 495871 + ArrayType 495860 495871 + TypeReference 495860 495869 + Identifier 495860 495869 + Block 495872 496477 + VariableStatement 495874 495952 + VariableDeclarationList 495874 495951 + VariableDeclaration 495893 495951 + Identifier 495893 495901 + ConditionalExpression 495903 495951 + Identifier 495903 495912 + QuestionToken 495912 495914 + PropertyAccessExpression 495914 495932 + Identifier 495914 495926 + Identifier 495927 495932 + ColonToken 495932 495934 + PropertyAccessExpression 495934 495951 + Identifier 495934 495946 + Identifier 495947 495951 + VariableStatement 495952 496037 + VariableDeclarationList 495952 496036 + VariableDeclaration 495971 496036 + Identifier 495971 495978 + CallExpression 495980 496036 + Identifier 495980 495998 + Identifier 495999 496003 + Identifier 496004 496012 + TrueKeyword 496013 496035 + IfStatement 496037 496081 + PrefixUnaryExpression 496055 496062 + Identifier 496056 496062 + ReturnStatement 496063 496081 + Identifier 496070 496080 + VariableStatement 496081 496183 + VariableDeclarationList 496081 496182 + VariableDeclaration 496100 496182 + Identifier 496100 496115 + ConditionalExpression 496117 496182 + BinaryExpression 496117 496150 + PropertyAccessExpression 496117 496130 + Identifier 496117 496124 + Identifier 496125 496130 + AmpersandToken 496130 496132 + PropertyAccessExpression 496132 496150 + Identifier 496132 496144 + Identifier 496145 496150 + QuestionToken 496150 496152 + CallExpression 496152 496173 + Identifier 496152 496165 + Identifier 496166 496172 + ColonToken 496173 496175 + Identifier 496175 496182 + IfStatement 496183 496379 + BinaryExpression 496201 496360 + PropertyAccessExpression 496201 496325 + CallExpression 496201 496311 + Identifier 496201 496219 + Identifier 496220 496226 + PropertyAccessExpression 496227 496256 + Identifier 496227 496235 + Identifier 496236 496256 + Identifier 496257 496265 + FalseKeyword 496266 496310 + Identifier 496312 496325 + ExclamationEqualsEqualsToken 496325 496329 + PropertyAccessExpression 496329 496360 + Identifier 496329 496349 + Identifier 496350 496360 + ReturnStatement 496361 496379 + Identifier 496368 496378 + ReturnStatement 496379 496466 + CallExpression 496399 496465 + Identifier 496399 496416 + Identifier 496417 496431 + Identifier 496432 496440 + Identifier 496441 496449 + Identifier 496450 496464 + FunctionDeclaration 496477 499195 + Identifier 496497 496514 + Parameter 496515 496542 + Identifier 496515 496522 + TypeReference 496523 496542 + Identifier 496523 496542 + Parameter 496543 496562 + Identifier 496543 496552 + TypeReference 496553 496562 + Identifier 496553 496562 + Block 496563 499195 + VariableStatement 496565 496655 + VariableDeclarationList 496565 496654 + VariableDeclaration 496584 496654 + Identifier 496584 496589 + CallExpression 496591 496654 + Identifier 496591 496611 + Identifier 496612 496619 + Identifier 496620 496629 + TrueKeyword 496630 496653 + IfStatement 496655 496727 + PrefixUnaryExpression 496673 496678 + Identifier 496674 496678 + Block 496679 496727 + ReturnStatement 496681 496712 + FalseKeyword 496705 496711 + IfStatement 496727 497641 + CallExpression 496745 496765 + Identifier 496745 496755 + Identifier 496756 496764 + Block 496766 497641 + IfStatement 496768 497626 + CallExpression 496790 496823 + Identifier 496790 496813 + Identifier 496814 496822 + Block 496824 497626 + ExpressionStatement 496826 496946 + VoidExpression 496826 496945 + CallExpression 496909 496945 + Identifier 496909 496935 + Identifier 496936 496944 + VariableStatement 496946 497025 + VariableDeclarationList 496946 497024 + VariableDeclaration 496973 497024 + Identifier 496973 496984 + PropertyAccessExpression 496986 497024 + CallExpression 496986 497009 + Identifier 496986 496999 + Identifier 497000 497008 + Identifier 497010 497024 + ReturnStatement 497025 497607 + ParenthesizedExpression 497053 497606 + BinaryExpression 497055 497583 + PrefixUnaryExpression 497055 497092 + Identifier 497082 497092 + BarBarToken 497092 497095 + PrefixUnaryExpression 497095 497583 + ParenthesizedExpression 497122 497583 + BinaryExpression 497123 497556 + ParenthesizedExpression 497123 497299 + BinaryExpression 497238 497298 + PrefixUnaryExpression 497238 497256 + PropertyAccessExpression 497239 497256 + Identifier 497239 497247 + Identifier 497248 497256 + AmpersandAmpersandToken 497256 497259 + PrefixUnaryExpression 497259 497298 + ParenthesizedExpression 497261 497298 + BinaryExpression 497262 497297 + PropertyAccessExpression 497262 497278 + Identifier 497262 497272 + Identifier 497273 497278 + AmpersandToken 497278 497280 + PropertyAccessExpression 497280 497297 + Identifier 497280 497292 + Identifier 497293 497297 + BarBarToken 497299 497302 + PrefixUnaryExpression 497302 497556 + ParenthesizedExpression 497432 497556 + BinaryExpression 497433 497555 + CallExpression 497433 497463 + Identifier 497433 497439 + PropertyAccessExpression 497440 497462 + Identifier 497440 497448 + Identifier 497449 497462 + GreaterThanEqualsToken 497463 497466 + CallExpression 497466 497555 + Identifier 497466 497490 + CallExpression 497491 497554 + Identifier 497491 497542 + Identifier 497543 497553 + IfStatement 497641 498684 + CallExpression 497659 497688 + Identifier 497659 497678 + Identifier 497679 497687 + Block 497689 498684 + IfStatement 497691 497758 + CallExpression 497713 497743 + Identifier 497713 497733 + Identifier 497734 497742 + ReturnStatement 497744 497758 + FalseKeyword 497751 497757 + VariableStatement 497758 497829 + VariableDeclarationList 497758 497828 + VariableDeclaration 497781 497828 + Identifier 497781 497788 + PropertyAccessExpression 497790 497828 + CallExpression 497790 497813 + Identifier 497790 497803 + Identifier 497804 497812 + Identifier 497814 497828 + IfStatement 497829 497873 + PrefixUnaryExpression 497851 497858 + Identifier 497852 497858 + ReturnStatement 497859 497873 + FalseKeyword 497866 497872 + IfStatement 497873 498143 + BinaryExpression 497895 497935 + PropertyAccessExpression 497895 497907 + Identifier 497895 497901 + Identifier 497902 497907 + AmpersandToken 497907 497909 + PropertyAccessExpression 497909 497935 + Identifier 497909 497921 + Identifier 497922 497935 + Block 497936 498143 + VariableStatement 497938 498013 + VariableDeclarationList 497938 498012 + VariableDeclaration 497965 498012 + Identifier 497965 497978 + CallExpression 497980 498012 + Identifier 497980 498004 + Identifier 498005 498011 + ReturnStatement 498013 498124 + PrefixUnaryExpression 498041 498123 + ParenthesizedExpression 498043 498123 + BinaryExpression 498044 498122 + PropertyAccessExpression 498044 498058 + Identifier 498044 498051 + Identifier 498052 498058 + AmpersandAmpersandToken 498058 498061 + BinaryExpression 498061 498122 + CallExpression 498061 498105 + Identifier 498061 498075 + Identifier 498076 498088 + PropertyAccessExpression 498089 498104 + Identifier 498089 498097 + Identifier 498098 498104 + ExclamationEqualsEqualsToken 498105 498109 + Identifier 498109 498122 + IfStatement 498143 498669 + CallExpression 498165 498184 + Identifier 498165 498174 + Identifier 498175 498183 + Block 498185 498669 + ReturnStatement 498187 498537 + BinaryExpression 498215 498536 + BinaryExpression 498215 498383 + CallExpression 498215 498306 + Identifier 498215 498290 + Identifier 498291 498299 + Identifier 498300 498305 + AmpersandAmpersandToken 498306 498334 + PrefixUnaryExpression 498334 498383 + CallExpression 498336 498383 + Identifier 498336 498373 + Identifier 498374 498382 + AmpersandAmpersandToken 498383 498500 + PrefixUnaryExpression 498500 498536 + PrefixUnaryExpression 498502 498536 + ParenthesizedExpression 498503 498536 + BinaryExpression 498504 498535 + PropertyAccessExpression 498504 498516 + Identifier 498504 498510 + Identifier 498511 498516 + AmpersandToken 498516 498518 + PropertyAccessExpression 498518 498535 + Identifier 498518 498530 + Identifier 498531 498535 + IfStatement 498684 499158 + BinaryExpression 498702 498883 + BinaryExpression 498702 498815 + CallExpression 498702 498748 + Identifier 498702 498738 + Identifier 498739 498747 + AmpersandAmpersandToken 498748 498751 + BinaryExpression 498751 498815 + PropertyAccessExpression 498751 498786 + Identifier 498751 498777 + Identifier 498778 498786 + EqualsEqualsEqualsToken 498786 498790 + PropertyAccessExpression 498790 498815 + Identifier 498790 498801 + Identifier 498802 498815 + AmpersandAmpersandToken 498815 498818 + BinaryExpression 498818 498883 + PropertyAccessExpression 498818 498854 + PropertyAccessExpression 498818 498849 + Identifier 498818 498844 + Identifier 498845 498849 + Identifier 498850 498854 + EqualsEqualsEqualsToken 498854 498858 + PropertyAccessExpression 498858 498883 + Identifier 498858 498869 + Identifier 498870 498883 + Block 498898 499158 + VariableStatement 498900 499055 + VariableDeclarationList 498900 499054 + VariableDeclaration 498923 499054 + Identifier 498923 498949 + BinaryExpression 498951 499054 + PropertyAccessExpression 498951 498980 + Identifier 498951 498959 + Identifier 498960 498980 + AmpersandAmpersandToken 498980 498983 + CallExpression 498983 499054 + Identifier 498983 499024 + PropertyAccessExpression 499025 499053 + Identifier 499025 499032 + Identifier 499033 499053 + ReturnStatement 499055 499143 + PrefixUnaryExpression 499079 499142 + PrefixUnaryExpression 499081 499142 + CallExpression 499082 499142 + Identifier 499082 499094 + Identifier 499095 499103 + ArrowFunction 499104 499141 + Parameter 499104 499106 + Identifier 499104 499106 + EqualsGreaterThanToken 499106 499109 + BinaryExpression 499109 499141 + Identifier 499109 499111 + EqualsEqualsEqualsToken 499111 499115 + Identifier 499115 499141 + ReturnStatement 499158 499184 + TrueKeyword 499178 499183 + FunctionDeclaration 499195 499933 + Identifier 499215 499241 + Parameter 499242 499269 + Identifier 499242 499249 + TypeReference 499250 499269 + Identifier 499250 499269 + Parameter 499270 499289 + Identifier 499270 499279 + TypeReference 499280 499289 + Identifier 499280 499289 + Parameter 499290 499312 + Identifier 499290 499303 + BooleanKeyword 499304 499312 + Block 499313 499933 + VariableStatement 499315 499381 + VariableDeclarationList 499315 499380 + VariableDeclaration 499334 499380 + Identifier 499334 499339 + CallExpression 499341 499380 + Identifier 499341 499361 + Identifier 499362 499369 + Identifier 499370 499379 + IfStatement 499381 499865 + BinaryExpression 499399 499561 + BinaryExpression 499399 499505 + Identifier 499399 499429 + AmpersandAmpersandToken 499429 499432 + PrefixUnaryExpression 499432 499505 + CallExpression 499451 499505 + Identifier 499451 499459 + Identifier 499460 499464 + ArrowFunction 499465 499504 + Parameter 499465 499467 + Identifier 499465 499467 + EqualsGreaterThanToken 499467 499470 + PrefixUnaryExpression 499470 499504 + PrefixUnaryExpression 499472 499504 + ParenthesizedExpression 499473 499504 + BinaryExpression 499474 499503 + PropertyAccessExpression 499474 499481 + Identifier 499474 499475 + Identifier 499476 499481 + AmpersandToken 499481 499483 + PropertyAccessExpression 499483 499503 + Identifier 499483 499493 + Identifier 499494 499503 + AmpersandAmpersandToken 499505 499508 + CallExpression 499508 499561 + Identifier 499508 499542 + Identifier 499543 499550 + Identifier 499551 499560 + Block 499576 499865 + VariableStatement 499578 499675 + VariableDeclarationList 499578 499674 + VariableDeclaration 499601 499674 + Identifier 499601 499607 + CallExpression 499609 499674 + PropertyAccessExpression 499609 499655 + Identifier 499609 499630 + Identifier 499631 499655 + Identifier 499656 499663 + Identifier 499664 499673 + IfStatement 499675 499850 + Identifier 499697 499702 + Block 499703 499850 + ReturnStatement 499705 499831 + CallExpression 499733 499830 + PropertyAccessExpression 499733 499761 + Identifier 499733 499741 + Identifier 499742 499761 + ArrayLiteralExpression 499762 499829 + Identifier 499763 499768 + CallExpression 499769 499828 + PropertyAccessExpression 499769 499799 + Identifier 499769 499777 + Identifier 499778 499799 + PropertyAccessExpression 499800 499827 + Identifier 499800 499810 + Identifier 499811 499827 + ReturnStatement 499865 499922 + CallExpression 499885 499921 + Identifier 499885 499906 + Identifier 499907 499911 + Identifier 499912 499920 + FunctionDeclaration 499933 611481 + Identifier 499953 499988 + Parameter 499989 500013 + Identifier 499989 500000 + TypeReference 500001 500013 + Identifier 500001 500013 + Parameter 500014 500042 + Identifier 500014 500022 + TypeReference 500023 500042 + Identifier 500023 500042 + ArrayType 500044 500056 + TypeReference 500044 500054 + Identifier 500044 500054 + Block 500056 611481 + VariableStatement 500058 500242 + VariableDeclarationList 500058 500241 + VariableDeclaration 500077 500241 + Identifier 500077 500109 + CallExpression 500111 500241 + Identifier 500111 500139 + TypeReference 500140 500152 + Identifier 500140 500152 + PropertyAccessExpression 500154 500187 + Identifier 500154 500161 + Identifier 500162 500187 + PropertyAccessExpression 500188 500217 + Identifier 500188 500199 + Identifier 500200 500217 + TrueKeyword 500218 500240 + VariableStatement 500242 500492 + VariableDeclarationList 500242 500491 + VariableDeclaration 500261 500491 + Identifier 500261 500303 + CallExpression 500305 500491 + Identifier 500305 500333 + TypeReference 500334 500345 + Identifier 500334 500345 + ArrowFunction 500347 500438 + Parameter 500348 500352 + Identifier 500348 500352 + Parameter 500353 500358 + Identifier 500353 500358 + Parameter 500359 500368 + Identifier 500359 500368 + Parameter 500369 500374 + Identifier 500369 500374 + EqualsGreaterThanToken 500375 500378 + CallExpression 500378 500438 + PropertyAccessExpression 500378 500410 + Identifier 500378 500386 + Identifier 500387 500410 + Identifier 500411 500415 + Identifier 500416 500421 + Identifier 500422 500431 + Identifier 500432 500437 + PropertyAccessExpression 500439 500466 + Identifier 500439 500450 + Identifier 500451 500466 + FalseKeyword 500467 500490 + VariableStatement 500492 501019 + VariableDeclarationList 500492 501018 + VariableDeclaration 500965 501018 + Identifier 500965 500986 + NonNullExpression 500988 501018 + PropertyAccessExpression 500988 501017 + Identifier 500988 500996 + Identifier 500997 501017 + VariableStatement 501019 501063 + VariableDeclarationList 501019 501062 + VariableDeclaration 501036 501062 + Identifier 501036 501044 + ArrayType 501045 501057 + TypeReference 501045 501055 + Identifier 501045 501055 + ArrayLiteralExpression 501059 501062 + VariableStatement 501063 501118 + VariableDeclarationList 501063 501117 + VariableDeclaration 501082 501117 + Identifier 501082 501097 + NewExpression 501099 501117 + Identifier 501103 501107 + NumberKeyword 501108 501114 + VariableStatement 501118 501190 + VariableDeclarationList 501118 501189 + VariableDeclaration 501137 501189 + Identifier 501137 501159 + ArrayType 501160 501184 + TypeReference 501160 501182 + Identifier 501160 501164 + TypeReference 501165 501173 + Identifier 501165 501173 + TypeReference 501174 501181 + Identifier 501174 501181 + ArrayLiteralExpression 501186 501189 + VariableStatement 501190 501231 + VariableDeclarationList 501190 501230 + VariableDeclaration 501209 501230 + Identifier 501209 501220 + Identifier 501222 501230 + ExpressionStatement 501231 501562 + BinaryExpression 501231 501561 + Identifier 501231 501252 + EqualsToken 501252 501254 + ObjectLiteralExpression 501254 501561 + SpreadAssignment 501256 501287 + Identifier 501277 501287 + PropertyAssignment 501288 501358 + Identifier 501288 501321 + NewExpression 501322 501358 + Identifier 501326 501330 + PropertyAccessExpression 501331 501357 + Identifier 501331 501341 + Identifier 501342 501357 + PropertyAssignment 501359 501407 + Identifier 501359 501396 + NewExpression 501397 501407 + Identifier 501401 501405 + PropertyAssignment 501408 501507 + Identifier 501408 501450 + NewExpression 501451 501507 + Identifier 501455 501459 + CallExpression 501460 501506 + PropertyAccessExpression 501460 501504 + PropertyAccessExpression 501460 501495 + Identifier 501460 501470 + Identifier 501471 501495 + QuestionDotToken 501495 501497 + Identifier 501497 501504 + PropertyAssignment 501508 501545 + Identifier 501508 501533 + NonNullExpression 501534 501545 + Identifier 501534 501544 + VariableStatement 501562 503281 + VariableDeclarationList 501562 503280 + VariableDeclaration 501581 503280 + Identifier 501581 501589 + TypeReference 501590 501604 + Identifier 501590 501604 + ObjectLiteralExpression 501606 503280 + SpreadAssignment 501608 501653 + PropertyAccessExpression 501629 501653 + PropertyAccessExpression 501629 501647 + Identifier 501629 501639 + Identifier 501640 501647 + Identifier 501648 501653 + PropertyAssignment 501654 503264 + Identifier 501654 501683 + ArrowFunction 501684 503264 + Parameter 501686 501689 + Identifier 501686 501689 + Parameter 501690 501695 + Identifier 501690 501695 + Parameter 501696 501704 + Identifier 501696 501704 + EqualsGreaterThanToken 501705 501708 + Block 501708 503264 + IfStatement 501710 501801 + CallExpression 501736 501786 + PropertyAccessExpression 501736 501768 + PropertyAccessExpression 501736 501763 + Identifier 501736 501743 + Identifier 501744 501763 + QuestionDotToken 501763 501765 + Identifier 501765 501768 + CallExpression 501769 501785 + Identifier 501769 501780 + Identifier 501781 501784 + ReturnStatement 501787 501801 + FalseKeyword 501794 501800 + VariableStatement 501801 502026 + VariableDeclarationList 501801 502025 + VariableDeclaration 501922 502025 + Identifier 501922 501939 + CallExpression 501941 502025 + Identifier 501941 501960 + Identifier 501961 501964 + Identifier 501965 501970 + Identifier 501971 501979 + FalseKeyword 501980 502024 + IfStatement 502026 503210 + BinaryExpression 502052 502117 + PropertyAccessExpression 502052 502082 + Identifier 502052 502068 + Identifier 502069 502082 + EqualsEqualsEqualsToken 502082 502086 + PropertyAccessExpression 502086 502117 + Identifier 502086 502106 + Identifier 502107 502117 + Block 502118 503026 + VariableStatement 502120 502319 + VariableDeclarationList 502120 502318 + VariableDeclaration 502263 502318 + Identifier 502263 502269 + CallExpression 502271 502318 + Identifier 502271 502295 + Identifier 502296 502299 + Identifier 502300 502308 + Identifier 502309 502317 + IfStatement 502319 503003 + PrefixUnaryExpression 502349 502384 + ParenthesizedExpression 502350 502384 + BinaryExpression 502351 502383 + PropertyAccessExpression 502351 502360 + Identifier 502351 502354 + Identifier 502355 502360 + AmpersandToken 502360 502362 + PropertyAccessExpression 502362 502383 + Identifier 502362 502374 + Identifier 502375 502383 + Block 502385 503003 + VariableStatement 502387 502676 + VariableDeclarationList 502387 502675 + VariableDeclaration 502659 502675 + Identifier 502659 502664 + ElementAccessExpression 502666 502675 + Identifier 502666 502672 + NumericLiteral 502673 502674 + VariableStatement 502676 502779 + VariableDeclarationList 502676 502778 + VariableDeclaration 502711 502778 + Identifier 502711 502723 + CallExpression 502725 502778 + Identifier 502725 502745 + PropertyAccessExpression 502746 502777 + Identifier 502746 502756 + Identifier 502757 502777 + IfStatement 502779 502976 + CallExpression 502813 502881 + Identifier 502813 502817 + PropertyAccessExpression 502818 502835 + Identifier 502818 502822 + Identifier 502823 502835 + ArrowFunction 502836 502880 + Parameter 502836 502838 + Identifier 502836 502838 + EqualsGreaterThanToken 502838 502841 + BinaryExpression 502841 502880 + CallExpression 502841 502864 + Identifier 502841 502861 + Identifier 502862 502863 + EqualsEqualsEqualsToken 502864 502868 + Identifier 502868 502880 + Block 502882 502976 + ExpressionStatement 502884 502945 + CallExpression 502884 502944 + Identifier 502884 502938 + Identifier 502939 502943 + IfStatement 503052 503210 + PropertyAccessExpression 503057 503094 + PropertyAccessExpression 503057 503081 + PropertyAccessExpression 503057 503075 + Identifier 503057 503067 + Identifier 503068 503075 + Identifier 503076 503081 + QuestionDotToken 503081 503083 + Identifier 503083 503094 + Block 503095 503210 + ReturnStatement 503097 503187 + CallExpression 503129 503186 + PropertyAccessExpression 503129 503166 + PropertyAccessExpression 503129 503154 + PropertyAccessExpression 503129 503148 + Identifier 503129 503140 + Identifier 503141 503148 + Identifier 503149 503154 + Identifier 503155 503166 + Identifier 503167 503170 + Identifier 503171 503176 + Identifier 503177 503185 + ReturnStatement 503210 503245 + FalseKeyword 503238 503244 + ExpressionStatement 503281 503392 + BinaryExpression 503281 503391 + PropertyAccessExpression 503281 503310 + Identifier 503281 503302 + Identifier 503303 503310 + EqualsToken 503310 503312 + NewExpression 503312 503391 + Identifier 503316 503334 + Identifier 503335 503342 + Identifier 503343 503351 + PropertyAccessExpression 503352 503390 + PropertyAccessExpression 503352 503371 + Identifier 503352 503363 + Identifier 503364 503371 + Identifier 503372 503390 + ExpressionStatement 503392 503674 + CallExpression 503392 503673 + Identifier 503392 503418 + Identifier 503419 503430 + ArrowFunction 503431 503672 + Parameter 503433 503439 + Identifier 503433 503439 + Parameter 503440 503445 + Identifier 503440 503445 + EqualsGreaterThanToken 503446 503449 + Block 503449 503672 + VariableStatement 503451 503519 + VariableDeclarationList 503451 503518 + VariableDeclaration 503474 503518 + Identifier 503474 503483 + CallExpression 503485 503518 + Identifier 503485 503512 + Identifier 503513 503517 + ExpressionStatement 503519 503582 + VoidExpression 503519 503581 + CallExpression 503541 503581 + Identifier 503541 503563 + Identifier 503564 503570 + Identifier 503571 503580 + VariableStatement 503674 503725 + VariableDeclarationList 503674 503724 + VariableDeclaration 503691 503724 + Identifier 503691 503705 + PrefixUnaryExpression 503707 503724 + PropertyAccessExpression 503709 503724 + Identifier 503709 503716 + Identifier 503717 503724 + VariableStatement 503725 503809 + VariableDeclarationList 503725 503808 + VariableDeclaration 503744 503808 + Identifier 503744 503757 + CallExpression 503759 503808 + PropertyAccessExpression 503759 503775 + Identifier 503759 503771 + Identifier 503772 503775 + PropertyAccessExpression 503776 503807 + Identifier 503776 503794 + Identifier 503795 503807 + IfStatement 503809 504222 + BinaryExpression 503827 503928 + BinaryExpression 503827 503863 + Identifier 503827 503839 + AmpersandAmpersandToken 503839 503842 + BinaryExpression 503842 503863 + PropertyAccessExpression 503842 503859 + Identifier 503842 503854 + Identifier 503855 503859 + GreaterThanToken 503859 503861 + NumericLiteral 503861 503863 + AmpersandAmpersandToken 503863 503866 + BinaryExpression 503866 503928 + PropertyAccessExpression 503866 503885 + Identifier 503866 503879 + Identifier 503880 503885 + AmpersandToken 503885 503887 + ParenthesizedExpression 503887 503928 + BinaryExpression 503889 503927 + PropertyAccessExpression 503889 503906 + Identifier 503889 503900 + Identifier 503901 503906 + BarToken 503906 503908 + PropertyAccessExpression 503908 503927 + Identifier 503908 503920 + Identifier 503921 503927 + Block 503929 504222 + ExpressionStatement 503931 503983 + BinaryExpression 503931 503982 + Identifier 503931 503960 + EqualsToken 503960 503962 + CallExpression 503962 503982 + Identifier 503962 503980 + ExpressionStatement 503983 504207 + CallExpression 503983 504206 + PropertyAccessExpression 503983 504159 + Identifier 503983 504155 + Identifier 504156 504159 + PropertyAccessExpression 504160 504191 + Identifier 504160 504178 + Identifier 504179 504191 + Identifier 504192 504205 + ExpressionStatement 504222 504268 + CallExpression 504222 504267 + Identifier 504222 504254 + Identifier 504255 504266 + ReturnStatement 504268 504323 + CallExpression 504288 504322 + Identifier 504288 504313 + Identifier 504314 504321 + FunctionDeclaration 504323 504507 + Identifier 504347 504375 + Parameter 504376 504398 + Identifier 504376 504380 + UnionType 504381 504398 + TypeReference 504381 504386 + Identifier 504381 504386 + UndefinedKeyword 504388 504398 + TypePredicate 504400 504419 + Identifier 504400 504405 + TypeReference 504408 504419 + Identifier 504408 504419 + Block 504419 504507 + ReturnStatement 504421 504492 + BinaryExpression 504445 504491 + PrefixUnaryExpression 504445 504452 + PrefixUnaryExpression 504447 504452 + Identifier 504448 504452 + AmpersandAmpersandToken 504452 504455 + BinaryExpression 504455 504491 + PropertyAccessExpression 504455 504465 + Identifier 504455 504460 + Identifier 504461 504465 + EqualsEqualsEqualsToken 504465 504469 + PropertyAccessExpression 504469 504491 + Identifier 504469 504480 + Identifier 504481 504491 + FunctionDeclaration 504507 504932 + Identifier 504531 504553 + Parameter 504554 504574 + Identifier 504554 504563 + TypeReference 504564 504574 + Identifier 504564 504574 + ArrayType 504576 504589 + TypeReference 504576 504587 + Identifier 504576 504587 + Block 504589 504932 + IfStatement 504591 504797 + CallExpression 504613 504643 + Identifier 504613 504632 + Identifier 504633 504642 + Block 504644 504797 + ReturnStatement 504646 504778 + CallExpression 504674 504777 + Identifier 504674 504681 + CallExpression 504682 504747 + Identifier 504682 504685 + PropertyAccessExpression 504686 504724 + PropertyAccessExpression 504686 504711 + Identifier 504686 504695 + Identifier 504696 504711 + Identifier 504712 504724 + Identifier 504725 504746 + Identifier 504748 504776 + ReturnStatement 504797 504917 + CallExpression 504821 504916 + Identifier 504821 504828 + ArrayLiteralExpression 504829 504886 + CallExpression 504830 504885 + Identifier 504830 504850 + AsExpression 504851 504884 + Identifier 504851 504860 + TypeReference 504863 504884 + Identifier 504863 504884 + Identifier 504887 504915 + FunctionDeclaration 504932 508557 + Identifier 504956 504987 + Parameter 504988 505011 + Identifier 504988 504998 + ArrayType 504999 505011 + TypeReference 504999 505009 + Identifier 504999 505009 + Block 505012 508557 + VariableStatement 505014 505094 + VariableDeclarationList 505014 505093 + VariableDeclaration 505037 505093 + Identifier 505037 505054 + CallExpression 505056 505093 + Identifier 505056 505061 + Identifier 505062 505072 + Identifier 505073 505092 + VariableStatement 505094 505171 + VariableDeclarationList 505094 505170 + VariableDeclaration 505117 505170 + Identifier 505117 505125 + CallExpression 505127 505170 + Identifier 505127 505137 + Identifier 505138 505148 + Identifier 505149 505169 + VariableStatement 505171 505268 + VariableDeclarationList 505171 505267 + VariableDeclaration 505192 505267 + Identifier 505192 505195 + ConditionalExpression 505197 505267 + BinaryExpression 505197 505212 + Identifier 505197 505205 + ExclamationEqualsEqualsToken 505205 505209 + PrefixUnaryExpression 505209 505212 + NumericLiteral 505211 505212 + QuestionToken 505212 505214 + AsExpression 505214 505255 + ElementAccessExpression 505214 505234 + Identifier 505214 505225 + Identifier 505226 505233 + TypeReference 505237 505255 + Identifier 505237 505255 + ColonToken 505255 505257 + Identifier 505257 505267 + IfStatement 505268 508506 + BinaryExpression 505290 505577 + BinaryExpression 505290 505551 + BinaryExpression 505290 505519 + BinaryExpression 505290 505460 + BinaryExpression 505290 505435 + BinaryExpression 505290 505369 + BinaryExpression 505290 505334 + Identifier 505290 505314 + AmpersandAmpersandToken 505314 505317 + Identifier 505317 505334 + AmpersandAmpersandToken 505334 505337 + PropertyAccessExpression 505337 505369 + Identifier 505337 505354 + Identifier 505355 505369 + AmpersandAmpersandToken 505369 505372 + CallExpression 505372 505435 + Identifier 505372 505406 + PropertyAccessExpression 505407 505434 + Identifier 505407 505423 + Identifier 505424 505434 + AmpersandAmpersandToken 505435 505438 + CallExpression 505438 505460 + Identifier 505438 505451 + PropertyAccessExpression 505452 505459 + Identifier 505452 505454 + Identifier 505455 505459 + AmpersandAmpersandToken 505460 505463 + BinaryExpression 505463 505519 + CallExpression 505463 505479 + Identifier 505463 505470 + PropertyAccessExpression 505471 505478 + Identifier 505471 505473 + Identifier 505474 505478 + EqualsEqualsEqualsToken 505479 505483 + CallExpression 505483 505519 + Identifier 505483 505490 + PropertyAccessExpression 505491 505518 + Identifier 505491 505507 + Identifier 505508 505518 + AmpersandAmpersandToken 505519 505522 + PropertyAccessExpression 505522 505551 + Identifier 505522 505546 + Identifier 505547 505551 + AmpersandAmpersandToken 505551 505554 + CallExpression 505554 505577 + Identifier 505554 505568 + PropertyAccessExpression 505569 505576 + Identifier 505569 505571 + Identifier 505572 505576 + Block 505596 508506 + VariableStatement 505598 506049 + VariableDeclarationList 505598 506048 + VariableDeclaration 505951 506048 + Identifier 505951 505965 + CallExpression 505967 506048 + Identifier 505967 505974 + Identifier 505975 505985 + ArrowFunction 505986 506047 + Parameter 505986 505988 + Identifier 505986 505988 + EqualsGreaterThanToken 505988 505991 + PrefixUnaryExpression 505991 506047 + PrefixUnaryExpression 505993 506047 + ParenthesizedExpression 505994 506047 + BinaryExpression 505995 506046 + CallExpression 505995 506023 + Identifier 505995 506020 + Identifier 506021 506022 + AmpersandToken 506023 506025 + PropertyAccessExpression 506025 506046 + Identifier 506025 506039 + Identifier 506040 506046 + VariableStatement 506049 506092 + VariableDeclarationList 506049 506091 + VariableDeclaration 506076 506091 + Identifier 506076 506081 + PropertyAccessExpression 506083 506091 + Identifier 506083 506086 + Identifier 506087 506091 + VariableStatement 506092 506133 + VariableDeclarationList 506092 506132 + VariableDeclaration 506117 506132 + Identifier 506117 506122 + PropertyAccessExpression 506124 506132 + Identifier 506124 506127 + Identifier 506128 506132 + IfStatement 506133 507343 + CallExpression 506159 506180 + Identifier 506159 506165 + Identifier 506166 506179 + Block 506181 507343 + ExpressionStatement 506183 507209 + BinaryExpression 506183 507208 + Identifier 506183 506211 + EqualsToken 506211 506213 + CallExpression 506213 507208 + PropertyAccessExpression 506213 506245 + Identifier 506213 506221 + Identifier 506222 506245 + Identifier 506246 506278 + PropertyAccessExpression 506279 506321 + Identifier 506279 506311 + Identifier 506312 506321 + PropertyAccessExpression 506322 506359 + Identifier 506322 506354 + Identifier 506355 506359 + BinaryExpression 506360 507180 + Identifier 506360 506394 + EqualsToken 506394 506396 + CallExpression 506396 507180 + PropertyAccessExpression 506396 506422 + Identifier 506396 506404 + Identifier 506405 506422 + Identifier 506423 506461 + CallExpression 506462 507148 + PropertyAccessExpression 506462 506519 + Identifier 506462 506503 + Identifier 506504 506519 + ArrayLiteralExpression 506520 507147 + SpreadElement 506521 506580 + PropertyAccessExpression 506562 506580 + PropertyAccessExpression 506562 506569 + Identifier 506562 506564 + Identifier 506565 506569 + Identifier 506570 506580 + CallExpression 506581 507111 + PropertyAccessExpression 506581 506650 + Identifier 506581 506626 + Identifier 506627 506650 + Identifier 506651 506716 + FalseKeyword 506717 506779 + CallExpression 506780 506999 + PropertyAccessExpression 506780 506848 + Identifier 506780 506829 + Identifier 506830 506848 + CallExpression 506849 506998 + Identifier 506849 506852 + CallExpression 506853 506906 + Identifier 506853 506860 + Identifier 506861 506874 + ArrowFunction 506875 506905 + Parameter 506875 506877 + Identifier 506875 506877 + EqualsGreaterThanToken 506877 506880 + CallExpression 506880 506905 + Identifier 506880 506902 + Identifier 506903 506904 + ArrowFunction 506907 506997 + Parameter 506907 506910 + Identifier 506907 506910 + EqualsGreaterThanToken 506910 506913 + CallExpression 506913 506997 + PropertyAccessExpression 506913 506943 + Identifier 506913 506921 + Identifier 506922 506943 + FalseKeyword 506944 506964 + Identifier 506965 506992 + Identifier 506993 506996 + Identifier 507000 507071 + ExpressionStatement 507209 507320 + BinaryExpression 507209 507319 + Identifier 507209 507245 + EqualsToken 507245 507247 + ArrayLiteralExpression 507247 507319 + SpreadElement 507249 507280 + CallExpression 507252 507280 + PropertyAccessExpression 507252 507268 + Identifier 507252 507262 + Identifier 507263 507268 + NumericLiteral 507269 507270 + Identifier 507271 507279 + Identifier 507281 507284 + SpreadElement 507285 507318 + CallExpression 507289 507318 + PropertyAccessExpression 507289 507305 + Identifier 507289 507299 + Identifier 507300 507305 + BinaryExpression 507306 507317 + Identifier 507306 507313 + PlusToken 507313 507315 + NumericLiteral 507315 507317 + IfStatement 507343 508487 + PrefixUnaryExpression 507532 507588 + CallExpression 507533 507588 + Identifier 507533 507537 + Identifier 507538 507548 + ArrowFunction 507549 507587 + Parameter 507549 507551 + Identifier 507549 507551 + EqualsGreaterThanToken 507551 507554 + BinaryExpression 507554 507587 + BinaryExpression 507554 507563 + Identifier 507554 507556 + ExclamationEqualsEqualsToken 507556 507560 + Identifier 507560 507563 + AmpersandAmpersandToken 507563 507566 + CallExpression 507566 507587 + Identifier 507566 507578 + Identifier 507579 507580 + Identifier 507581 507586 + Block 507589 508487 + ExpressionStatement 507591 507630 + BinaryExpression 507591 507629 + Identifier 507591 507624 + EqualsToken 507624 507626 + ArrayLiteralExpression 507626 507629 + VariableStatement 507630 508086 + VariableDeclarationList 507630 508085 + VariableDeclaration 507941 508085 + Identifier 507941 507957 + PrefixUnaryExpression 507959 508085 + CallExpression 507961 508085 + Identifier 507961 507965 + PropertyAccessExpression 507966 507981 + Identifier 507966 507970 + Identifier 507971 507981 + ArrowFunction 507982 508084 + Parameter 507982 507984 + Identifier 507982 507984 + EqualsGreaterThanToken 507984 507987 + BinaryExpression 507987 508084 + BinaryExpression 507987 508058 + CallExpression 507987 508033 + Identifier 507987 508008 + Identifier 508009 508010 + PropertyAccessExpression 508011 508032 + Identifier 508011 508025 + Identifier 508026 508032 + BarBarToken 508033 508036 + CallExpression 508036 508058 + Identifier 508036 508055 + Identifier 508056 508057 + BarBarToken 508058 508061 + CallExpression 508061 508084 + Identifier 508061 508081 + Identifier 508082 508083 + ExpressionStatement 508086 508348 + CallExpression 508086 508347 + Identifier 508086 508119 + PropertyAccessExpression 508120 508135 + Identifier 508120 508124 + Identifier 508125 508135 + ArrowFunction 508136 508346 + Parameter 508136 508138 + Identifier 508136 508138 + EqualsGreaterThanToken 508138 508141 + Block 508141 508346 + ExpressionStatement 508143 508247 + CallExpression 508143 508246 + Identifier 508143 508182 + Identifier 508183 508184 + ConditionalExpression 508185 508245 + Identifier 508185 508201 + QuestionToken 508201 508203 + PropertyAccessExpression 508203 508224 + Identifier 508203 508217 + Identifier 508218 508224 + ColonToken 508224 508226 + PropertyAccessExpression 508226 508245 + Identifier 508226 508240 + Identifier 508241 508245 + ExpressionStatement 508348 508464 + BinaryExpression 508348 508463 + Identifier 508348 508384 + EqualsToken 508384 508386 + ArrayLiteralExpression 508386 508463 + SpreadElement 508388 508450 + CallExpression 508391 508450 + Identifier 508391 508397 + Identifier 508398 508408 + ArrowFunction 508409 508449 + Parameter 508409 508411 + Identifier 508409 508411 + EqualsGreaterThanToken 508411 508414 + BinaryExpression 508414 508449 + BinaryExpression 508414 508423 + Identifier 508414 508416 + ExclamationEqualsEqualsToken 508416 508420 + Identifier 508420 508423 + AmpersandAmpersandToken 508423 508426 + BinaryExpression 508426 508449 + Identifier 508426 508428 + ExclamationEqualsEqualsToken 508428 508432 + Identifier 508432 508449 + SpreadElement 508451 508462 + Identifier 508455 508462 + ReturnStatement 508506 508542 + Identifier 508530 508541 + FunctionDeclaration 508557 511099 + Identifier 508581 508605 + Parameter 508606 508629 + Identifier 508606 508616 + ArrayType 508617 508629 + TypeReference 508617 508627 + Identifier 508617 508627 + Block 508630 511099 + VariableStatement 508632 508878 + VariableDeclarationList 508632 508877 + VariableDeclaration 508720 508877 + Identifier 508720 508728 + AsExpression 508730 508877 + CallExpression 508730 508854 + Identifier 508730 508737 + Identifier 508738 508748 + ArrowFunction 508749 508853 + Parameter 508749 508751 + Identifier 508749 508751 + EqualsGreaterThanToken 508751 508754 + BinaryExpression 508754 508853 + BinaryExpression 508754 508819 + BinaryExpression 508754 508799 + CallExpression 508754 508777 + Identifier 508754 508774 + Identifier 508775 508776 + AmpersandAmpersandToken 508777 508780 + PrefixUnaryExpression 508780 508799 + PropertyAccessExpression 508782 508799 + Identifier 508782 508783 + Identifier 508784 508799 + AmpersandAmpersandToken 508799 508802 + PrefixUnaryExpression 508802 508819 + PrefixUnaryExpression 508804 508819 + PropertyAccessExpression 508805 508819 + Identifier 508805 508806 + Identifier 508807 508819 + AmpersandAmpersandToken 508819 508822 + CallExpression 508822 508853 + Identifier 508822 508837 + PropertyAccessExpression 508838 508852 + Identifier 508838 508839 + Identifier 508840 508852 + ArrayType 508857 508877 + TypeReference 508857 508875 + Identifier 508857 508875 + IfStatement 508878 509551 + BinaryExpression 508900 508919 + CallExpression 508900 508915 + Identifier 508900 508906 + Identifier 508907 508914 + GreaterThanToken 508915 508917 + NumericLiteral 508917 508919 + Block 508920 509551 + VariableStatement 508922 509054 + VariableDeclarationList 508922 509053 + VariableDeclaration 508949 509053 + Identifier 508949 508960 + CallExpression 508962 509053 + Identifier 508962 508969 + Identifier 508970 508980 + ArrowFunction 508981 509052 + Parameter 508981 508983 + Identifier 508981 508983 + EqualsGreaterThanToken 508983 508986 + BinaryExpression 508986 509052 + BinaryExpression 508986 509033 + PrefixUnaryExpression 508986 509010 + CallExpression 508988 509010 + Identifier 508988 509007 + Identifier 509008 509009 + BarBarToken 509010 509013 + PrefixUnaryExpression 509013 509033 + PrefixUnaryExpression 509015 509033 + PropertyAccessExpression 509016 509033 + Identifier 509016 509017 + Identifier 509018 509033 + BarBarToken 509033 509036 + PrefixUnaryExpression 509036 509052 + PropertyAccessExpression 509038 509052 + Identifier 509038 509039 + Identifier 509040 509052 + ExpressionStatement 509054 509532 + BinaryExpression 509054 509531 + Identifier 509054 509086 + EqualsToken 509086 509088 + ArrayLiteralExpression 509088 509531 + SpreadElement 509090 509129 + Identifier 509119 509129 + CallExpression 509130 509507 + PropertyAccessExpression 509130 509187 + Identifier 509130 509163 + Identifier 509164 509187 + Identifier 509188 509241 + FalseKeyword 509242 509292 + CallExpression 509293 509419 + PropertyAccessExpression 509293 509349 + Identifier 509293 509330 + Identifier 509331 509349 + CallExpression 509350 509418 + Identifier 509350 509357 + Identifier 509358 509365 + ArrowFunction 509366 509417 + Parameter 509366 509368 + Identifier 509366 509368 + EqualsGreaterThanToken 509368 509371 + PropertyAccessExpression 509371 509417 + CallExpression 509371 509408 + Identifier 509371 509376 + PropertyAccessExpression 509377 509391 + Identifier 509377 509378 + Identifier 509379 509391 + Identifier 509392 509407 + Identifier 509409 509417 + Identifier 509420 509479 + VariableStatement 509551 509827 + VariableDeclarationList 509551 509826 + VariableDeclaration 509666 509826 + Identifier 509666 509676 + AsExpression 509678 509826 + CallExpression 509678 509803 + Identifier 509678 509685 + Identifier 509686 509696 + ArrowFunction 509697 509802 + Parameter 509697 509699 + Identifier 509697 509699 + EqualsGreaterThanToken 509699 509702 + BinaryExpression 509702 509802 + BinaryExpression 509702 509768 + BinaryExpression 509702 509748 + CallExpression 509702 509725 + Identifier 509702 509722 + Identifier 509723 509724 + AmpersandAmpersandToken 509725 509728 + PrefixUnaryExpression 509728 509748 + PrefixUnaryExpression 509730 509748 + PropertyAccessExpression 509731 509748 + Identifier 509731 509732 + Identifier 509733 509748 + AmpersandAmpersandToken 509748 509751 + PrefixUnaryExpression 509751 509768 + PrefixUnaryExpression 509753 509768 + PropertyAccessExpression 509754 509768 + Identifier 509754 509755 + Identifier 509756 509768 + AmpersandAmpersandToken 509768 509771 + CallExpression 509771 509802 + Identifier 509771 509786 + PropertyAccessExpression 509787 509801 + Identifier 509787 509788 + Identifier 509789 509801 + ArrayType 509806 509826 + TypeReference 509806 509824 + Identifier 509806 509824 + IfStatement 509827 511048 + BinaryExpression 509849 509870 + CallExpression 509849 509866 + Identifier 509849 509855 + Identifier 509856 509865 + GreaterThanToken 509866 509868 + NumericLiteral 509868 509870 + Block 509871 511048 + VariableStatement 509873 510015 + VariableDeclarationList 509873 510014 + VariableDeclaration 509900 510014 + Identifier 509900 509907 + CallExpression 509909 510014 + Identifier 509909 509915 + Identifier 509916 509925 + ArrowFunction 509926 510013 + Parameter 509926 509931 + Identifier 509926 509931 + EqualsGreaterThanToken 509931 509934 + ConditionalExpression 509934 510013 + CallExpression 509934 509973 + Identifier 509934 509950 + NonNullExpression 509951 509972 + PropertyAccessExpression 509951 509971 + Identifier 509951 509955 + Identifier 509956 509971 + QuestionToken 509973 509975 + BinaryExpression 509975 510007 + StringLiteral 509975 509979 + PlusToken 509979 509981 + PropertyAccessExpression 509981 510007 + PropertyAccessExpression 509981 510002 + Identifier 509981 509986 + Identifier 509987 510002 + Identifier 510003 510007 + ColonToken 510007 510009 + StringLiteral 510009 510013 + IfStatement 510015 511029 + BinaryExpression 510041 510075 + PropertyAccessExpression 510041 510054 + Identifier 510041 510047 + Identifier 510048 510054 + ExclamationEqualsEqualsToken 510054 510058 + PropertyAccessExpression 510058 510075 + Identifier 510058 510068 + Identifier 510069 510075 + Block 510076 511029 + ForOfStatement 510078 511006 + VariableDeclarationList 510109 510120 + VariableDeclaration 510114 510120 + Identifier 510114 510120 + Identifier 510123 510130 + Block 510131 511006 + IfStatement 510133 510979 + BinaryExpression 510167 510183 + PropertyAccessExpression 510167 510179 + Identifier 510167 510172 + Identifier 510173 510179 + GreaterThanToken 510179 510181 + NumericLiteral 510181 510183 + Block 510184 510979 + ExpressionStatement 510186 510948 + BinaryExpression 510186 510947 + Identifier 510186 510359 + EqualsToken 510359 510361 + ArrayLiteralExpression 510361 510947 + SpreadElement 510363 510468 + CallExpression 510404 510468 + Identifier 510404 510410 + Identifier 510411 510421 + ArrowFunction 510422 510467 + Parameter 510422 510424 + Identifier 510422 510424 + EqualsGreaterThanToken 510424 510427 + PrefixUnaryExpression 510427 510467 + CallExpression 510429 510467 + PropertyAccessExpression 510429 510443 + Identifier 510429 510434 + Identifier 510435 510443 + AsExpression 510444 510466 + Identifier 510444 510445 + TypeReference 510448 510466 + Identifier 510448 510466 + CallExpression 510469 510911 + PropertyAccessExpression 510469 510538 + Identifier 510469 510514 + Identifier 510515 510538 + Identifier 510539 510604 + FalseKeyword 510605 510667 + CallExpression 510668 510804 + PropertyAccessExpression 510668 510736 + Identifier 510668 510717 + Identifier 510718 510736 + CallExpression 510737 510803 + Identifier 510737 510744 + Identifier 510745 510750 + ArrowFunction 510751 510802 + Parameter 510751 510753 + Identifier 510751 510753 + EqualsGreaterThanToken 510753 510756 + PropertyAccessExpression 510756 510802 + CallExpression 510756 510793 + Identifier 510756 510761 + PropertyAccessExpression 510762 510776 + Identifier 510762 510763 + Identifier 510764 510776 + Identifier 510777 510792 + Identifier 510794 510802 + PropertyAccessExpression 510805 510871 + ElementAccessExpression 510805 510855 + Identifier 510805 510852 + NumericLiteral 510853 510854 + Identifier 510856 510871 + ReturnStatement 511048 511084 + Identifier 511072 511083 + FunctionDeclaration 511099 513687 + Identifier 511123 511145 + Parameter 511146 511169 + Identifier 511146 511156 + ArrayType 511157 511169 + TypeReference 511157 511167 + Identifier 511157 511167 + Block 511170 513687 + VariableStatement 511172 511436 + VariableDeclarationList 511172 511435 + VariableDeclaration 511283 511435 + Identifier 511283 511289 + CallExpression 511291 511435 + Identifier 511291 511301 + Identifier 511302 511312 + ArrowFunction 511313 511434 + Parameter 511313 511315 + Identifier 511313 511315 + EqualsGreaterThanToken 511315 511318 + BinaryExpression 511318 511434 + BinaryExpression 511318 511400 + BinaryExpression 511318 511380 + BinaryExpression 511318 511363 + CallExpression 511318 511341 + Identifier 511318 511338 + Identifier 511339 511340 + AmpersandAmpersandToken 511341 511344 + PrefixUnaryExpression 511344 511363 + PropertyAccessExpression 511346 511363 + Identifier 511346 511347 + Identifier 511348 511363 + AmpersandAmpersandToken 511363 511366 + PrefixUnaryExpression 511366 511380 + PropertyAccessExpression 511368 511380 + Identifier 511368 511369 + Identifier 511370 511380 + AmpersandAmpersandToken 511380 511383 + PrefixUnaryExpression 511383 511400 + PrefixUnaryExpression 511385 511400 + PropertyAccessExpression 511386 511400 + Identifier 511386 511387 + Identifier 511388 511400 + AmpersandAmpersandToken 511400 511403 + CallExpression 511403 511434 + Identifier 511403 511418 + PropertyAccessExpression 511419 511433 + Identifier 511419 511420 + Identifier 511421 511433 + IfStatement 511436 513636 + BinaryExpression 511458 511468 + Identifier 511458 511463 + GreaterThanEqualsToken 511463 511466 + NumericLiteral 511466 511468 + Block 511469 513636 + VariableStatement 511471 511594 + VariableDeclarationList 511471 511593 + VariableDeclaration 511498 511593 + Identifier 511498 511509 + AsExpression 511511 511593 + ElementAccessExpression 511511 511529 + Identifier 511511 511522 + Identifier 511523 511528 + IntersectionType 511532 511593 + TypeReference 511532 511550 + Identifier 511532 511550 + TypeLiteral 511552 511593 + PropertySignature 511554 511591 + ReadonlyKeyword 511554 511563 + Identifier 511563 511576 + TypeReference 511577 511590 + Identifier 511577 511590 + VariableStatement 511594 512704 + VariableDeclarationList 511594 512703 + VariableDeclaration 511621 512703 + Identifier 511621 511634 + CallExpression 511636 512703 + Identifier 511636 511647 + PropertyAccessExpression 511648 511680 + PropertyAccessExpression 511648 511671 + Identifier 511648 511658 + Identifier 511659 511671 + Identifier 511672 511680 + ArrowFunction 511681 512702 + Parameter 511681 511683 + Identifier 511681 511683 + EqualsGreaterThanToken 511683 511686 + Block 511686 512702 + IfStatement 511688 512644 + BinaryExpression 511718 511777 + PrefixUnaryExpression 511718 511733 + PropertyAccessExpression 511719 511733 + Identifier 511719 511720 + Identifier 511721 511733 + AmpersandAmpersandToken 511733 511736 + BinaryExpression 511736 511777 + PropertyAccessExpression 511736 511748 + PropertyAccessExpression 511736 511743 + Identifier 511736 511738 + Identifier 511739 511743 + Identifier 511744 511748 + ExclamationEqualsEqualsToken 511748 511752 + PropertyAccessExpression 511752 511777 + Identifier 511752 511763 + Identifier 511764 511777 + Block 511778 512644 + VariableStatement 511780 511983 + VariableDeclarationList 511780 511982 + VariableDeclaration 511968 511982 + Identifier 511968 511973 + PropertyAccessExpression 511975 511982 + Identifier 511975 511977 + Identifier 511978 511982 + VariableStatement 511983 512051 + VariableDeclarationList 511983 512050 + VariableDeclaration 512018 512050 + Identifier 512018 512026 + CallExpression 512028 512050 + Identifier 512028 512038 + Identifier 512039 512049 + VariableStatement 512051 512162 + VariableDeclarationList 512051 512161 + VariableDeclaration 512086 512161 + Identifier 512086 512104 + CallExpression 512106 512161 + Identifier 512106 512113 + Identifier 512114 512121 + ArrowFunction 512122 512160 + Parameter 512122 512124 + Identifier 512122 512124 + EqualsGreaterThanToken 512124 512127 + CallExpression 512127 512160 + Identifier 512127 512139 + ElementAccessExpression 512140 512153 + Identifier 512140 512150 + Identifier 512151 512152 + Identifier 512154 512159 + IfStatement 512162 512617 + BinaryExpression 512196 512292 + CallExpression 512196 512221 + Identifier 512196 512202 + Identifier 512203 512220 + AmpersandAmpersandToken 512221 512224 + CallExpression 512224 512292 + Identifier 512224 512230 + Identifier 512231 512248 + ArrowFunction 512249 512291 + Parameter 512249 512251 + Identifier 512249 512251 + EqualsGreaterThanToken 512251 512254 + CallExpression 512254 512291 + Identifier 512254 512276 + ElementAccessExpression 512277 512290 + Identifier 512277 512287 + Identifier 512288 512289 + Block 512293 512617 + ForOfStatement 512295 512535 + VariableDeclarationList 512334 512345 + VariableDeclaration 512339 512345 + Identifier 512339 512345 + Identifier 512348 512366 + Block 512367 512535 + ExpressionStatement 512369 512500 + BinaryExpression 512369 512499 + ElementAccessExpression 512369 512424 + Identifier 512369 512417 + Identifier 512418 512423 + EqualsToken 512424 512426 + CallExpression 512426 512499 + Identifier 512426 512444 + AsExpression 512445 512498 + ElementAccessExpression 512445 512462 + Identifier 512445 512455 + Identifier 512456 512461 + TypeReference 512465 512498 + Identifier 512465 512473 + TypeReference 512474 512486 + Identifier 512474 512486 + TypeReference 512487 512497 + Identifier 512487 512497 + ReturnStatement 512535 512586 + Identifier 512575 512585 + ReturnStatement 512644 512679 + Identifier 512676 512678 + IfStatement 512704 513617 + PrefixUnaryExpression 512730 512751 + CallExpression 512731 512751 + Identifier 512731 512737 + Identifier 512738 512750 + Block 512752 512921 + ExpressionStatement 512754 512898 + CallExpression 512754 512897 + Identifier 512754 512878 + Identifier 512879 512889 + Identifier 512890 512896 + Block 512947 513617 + ExpressionStatement 512949 513594 + BinaryExpression 512949 513593 + ElementAccessExpression 512949 513084 + Identifier 512949 513077 + Identifier 513078 513083 + EqualsToken 513084 513086 + CallExpression 513086 513593 + PropertyAccessExpression 513086 513118 + Identifier 513086 513094 + Identifier 513095 513118 + Identifier 513119 513159 + PropertyAccessExpression 513160 513210 + Identifier 513160 513200 + Identifier 513201 513210 + PropertyAccessExpression 513211 513262 + Identifier 513211 513251 + Identifier 513252 513262 + CallExpression 513263 513456 + PropertyAccessExpression 513263 513319 + Identifier 513263 513300 + Identifier 513301 513319 + PropertyAccessExpression 513320 513377 + Identifier 513320 513364 + Identifier 513365 513377 + Identifier 513378 513424 + PropertyAccessExpression 513457 513513 + Identifier 513457 513497 + Identifier 513498 513513 + PropertyAccessExpression 513514 513565 + Identifier 513514 513554 + Identifier 513555 513565 + ReturnStatement 513636 513672 + Identifier 513660 513671 + FunctionDeclaration 513687 514721 + Identifier 513711 513736 + Parameter 513737 513760 + Identifier 513737 513747 + ArrayType 513748 513760 + TypeReference 513748 513758 + Identifier 513748 513758 + Block 513761 514721 + ExpressionStatement 513763 513837 + BinaryExpression 513763 513836 + Identifier 513763 513791 + EqualsToken 513791 513793 + CallExpression 513793 513836 + Identifier 513793 513824 + Identifier 513825 513835 + ExpressionStatement 513837 513904 + BinaryExpression 513837 513903 + Identifier 513837 513865 + EqualsToken 513865 513867 + CallExpression 513867 513903 + Identifier 513867 513891 + Identifier 513892 513902 + ExpressionStatement 513904 513969 + BinaryExpression 513904 513968 + Identifier 513904 513932 + EqualsToken 513932 513934 + CallExpression 513934 513968 + Identifier 513934 513956 + Identifier 513957 513967 + IfStatement 513969 514670 + BinaryExpression 514219 514563 + BinaryExpression 514219 514421 + Identifier 514219 514261 + AmpersandAmpersandToken 514261 514264 + ParenthesizedExpression 514264 514421 + BinaryExpression 514287 514420 + ParenthesizedExpression 514287 514375 + BinaryExpression 514288 514374 + CallExpression 514288 514322 + Identifier 514288 514300 + Identifier 514301 514321 + AmpersandAmpersandToken 514322 514325 + CallExpression 514325 514374 + Identifier 514325 514352 + Identifier 514353 514373 + BarBarToken 514375 514378 + CallExpression 514378 514420 + Identifier 514378 514398 + Identifier 514399 514419 + AmpersandAmpersandToken 514421 514424 + ParenthesizedExpression 514424 514563 + BinaryExpression 514447 514562 + PrefixUnaryExpression 514447 514491 + CallExpression 514448 514491 + Identifier 514448 514452 + Identifier 514453 514463 + Identifier 514464 514490 + BarBarToken 514491 514494 + ParenthesizedExpression 514494 514562 + BinaryExpression 514496 514561 + PrefixUnaryExpression 514496 514523 + CallExpression 514497 514523 + Identifier 514497 514511 + Identifier 514512 514522 + AmpersandAmpersandToken 514523 514526 + CallExpression 514526 514561 + Identifier 514526 514531 + Identifier 514532 514542 + Identifier 514543 514560 + Block 514582 514670 + ExpressionStatement 514584 514651 + CallExpression 514584 514650 + PropertyAccessExpression 514584 514621 + Identifier 514584 514616 + Identifier 514617 514621 + CallExpression 514622 514649 + Identifier 514622 514640 + Identifier 514641 514648 + ReturnStatement 514670 514706 + Identifier 514694 514705 + FunctionDeclaration 514721 514997 + Identifier 514745 514763 + Parameter 514764 514802 + Identifier 514764 514768 + TypeReference 514769 514802 + Identifier 514769 514777 + TypeReference 514778 514790 + Identifier 514778 514790 + TypeReference 514791 514801 + Identifier 514791 514801 + Block 514803 514997 + VariableStatement 514805 514919 + VariableDeclarationList 514805 514918 + VariableDeclaration 514828 514918 + Identifier 514828 514834 + BinaryExpression 514836 514918 + ParenthesizedExpression 514836 514893 + BinaryExpression 514838 514892 + CallExpression 514838 514869 + Identifier 514838 514863 + Identifier 514864 514868 + BarToken 514869 514871 + PropertyAccessExpression 514871 514892 + Identifier 514871 514885 + Identifier 514886 514892 + AmpersandToken 514893 514895 + PrefixUnaryExpression 514895 514918 + PropertyAccessExpression 514897 514918 + Identifier 514897 514910 + Identifier 514911 514918 + ReturnStatement 514919 514982 + CallExpression 514943 514981 + PropertyAccessExpression 514943 514968 + Identifier 514943 514951 + Identifier 514952 514968 + Identifier 514969 514973 + Identifier 514974 514980 + FunctionDeclaration 514997 515250 + Identifier 515021 515042 + Parameter 515043 515081 + Identifier 515043 515047 + TypeReference 515048 515081 + Identifier 515048 515056 + TypeReference 515057 515069 + Identifier 515057 515069 + TypeReference 515070 515080 + Identifier 515070 515080 + Block 515082 515250 + VariableStatement 515084 515172 + VariableDeclarationList 515084 515171 + VariableDeclaration 515107 515171 + Identifier 515107 515113 + BinaryExpression 515115 515171 + CallExpression 515115 515147 + Identifier 515115 515141 + Identifier 515142 515146 + AmpersandToken 515147 515149 + PrefixUnaryExpression 515149 515171 + PropertyAccessExpression 515151 515171 + Identifier 515151 515164 + Identifier 515165 515171 + ReturnStatement 515172 515235 + CallExpression 515196 515234 + PropertyAccessExpression 515196 515221 + Identifier 515196 515204 + Identifier 515205 515221 + Identifier 515222 515226 + Identifier 515227 515233 + FunctionDeclaration 515250 516305 + Identifier 515274 515291 + Parameter 515292 515316 + Identifier 515292 515303 + TypeReference 515304 515316 + Identifier 515304 515316 + Parameter 515317 515353 + Identifier 515317 515343 + QuestionToken 515343 515344 + BooleanKeyword 515345 515353 + Parameter 515354 515380 + Identifier 515354 515370 + QuestionToken 515370 515371 + BooleanKeyword 515372 515380 + Block 515381 516305 + IfStatement 515383 515513 + PrefixUnaryExpression 515405 515431 + Identifier 515406 515431 + Block 515432 515513 + ExpressionStatement 515434 515494 + CallExpression 515434 515493 + PropertyAccessExpression 515434 515482 + Identifier 515434 515477 + Identifier 515478 515482 + NewExpression 515483 515492 + Identifier 515486 515490 + ExpressionStatement 515513 515679 + CallExpression 515513 515678 + PropertyAccessExpression 515513 515550 + Identifier 515513 515542 + Identifier 515543 515550 + ArrowFunction 515551 515677 + Parameter 515552 515566 + Identifier 515552 515558 + TypeReference 515559 515566 + Identifier 515559 515566 + EqualsGreaterThanToken 515567 515570 + Block 515570 515677 + ExpressionStatement 515572 515658 + CallExpression 515572 515657 + Identifier 515572 515609 + Identifier 515610 515616 + FalseKeyword 515617 515637 + PrefixUnaryExpression 515638 515656 + PrefixUnaryExpression 515640 515656 + Identifier 515641 515656 + IfStatement 515679 516290 + PrefixUnaryExpression 515701 515727 + Identifier 515702 515727 + Block 515728 516290 + ExpressionStatement 515730 516221 + CallExpression 515730 516220 + PropertyAccessExpression 515730 516085 + ElementAccessExpression 515730 516077 + Identifier 515730 516043 + BinaryExpression 516044 516076 + PropertyAccessExpression 516044 516072 + Identifier 516044 516065 + Identifier 516066 516072 + MinusToken 516072 516074 + NumericLiteral 516074 516076 + Identifier 516078 516085 + ArrowFunction 516086 516219 + Parameter 516087 516101 + Identifier 516087 516093 + TypeReference 516094 516101 + Identifier 516094 516101 + EqualsGreaterThanToken 516102 516105 + Block 516105 516219 + ExpressionStatement 516107 516196 + CallExpression 516107 516195 + Identifier 516107 516148 + Identifier 516149 516155 + TrueKeyword 516156 516175 + PrefixUnaryExpression 516176 516194 + PrefixUnaryExpression 516178 516194 + Identifier 516179 516194 + ExpressionStatement 516221 516271 + CallExpression 516221 516270 + PropertyAccessExpression 516221 516268 + Identifier 516221 516264 + Identifier 516265 516268 + FunctionDeclaration 516305 517915 + Identifier 516329 516345 + Parameter 516346 516360 + Identifier 516346 516352 + TypeReference 516353 516360 + Identifier 516353 516360 + Parameter 516361 516380 + Identifier 516361 516371 + BooleanKeyword 516372 516380 + Parameter 516381 516406 + Identifier 516381 516397 + BooleanKeyword 516398 516406 + VoidKeyword 516408 516413 + Block 516413 517915 + ExpressionStatement 516415 516483 + VoidExpression 516415 516482 + CallExpression 516437 516482 + Identifier 516437 516457 + CallExpression 516458 516481 + Identifier 516458 516473 + Identifier 516474 516480 + VariableStatement 516483 516837 + VariableDeclarationList 516483 516836 + VariableDeclaration 516799 516836 + Identifier 516799 516810 + CallExpression 516812 516836 + Identifier 516812 516828 + Identifier 516829 516835 + IfStatement 516837 516972 + CallExpression 516859 516902 + PropertyAccessExpression 516859 516877 + Identifier 516859 516873 + Identifier 516874 516877 + CallExpression 516878 516901 + Identifier 516878 516889 + Identifier 516890 516900 + Block 516903 516972 + ReturnStatement 516905 516934 + ExpressionStatement 516972 517034 + CallExpression 516972 517033 + PropertyAccessExpression 516972 517008 + Identifier 516972 517004 + Identifier 517005 517008 + CallExpression 517009 517032 + Identifier 517009 517020 + Identifier 517021 517031 + VariableStatement 517034 517237 + VariableDeclarationList 517034 517236 + VariableDeclaration 517203 517236 + Identifier 517203 517223 + PrefixUnaryExpression 517225 517236 + Identifier 517227 517236 + IfStatement 517237 517900 + BinaryExpression 517342 517482 + Identifier 517342 517361 + BarBarToken 517361 517364 + ParenthesizedExpression 517364 517482 + BinaryExpression 517366 517481 + PrefixUnaryExpression 517366 517395 + PrefixUnaryExpression 517367 517395 + CallExpression 517368 517395 + Identifier 517368 517374 + PropertyAccessExpression 517375 517394 + Identifier 517375 517381 + Identifier 517382 517394 + AmpersandAmpersandToken 517395 517398 + CallExpression 517398 517481 + Identifier 517398 517403 + PropertyAccessExpression 517404 517423 + Identifier 517404 517410 + Identifier 517411 517423 + ArrowFunction 517424 517480 + Parameter 517424 517426 + Identifier 517424 517426 + EqualsGreaterThanToken 517426 517429 + PrefixUnaryExpression 517429 517480 + PrefixUnaryExpression 517431 517480 + CallExpression 517432 517480 + Identifier 517432 517444 + Identifier 517445 517446 + ArrowFunction 517447 517479 + Parameter 517447 517449 + Identifier 517447 517449 + EqualsGreaterThanToken 517449 517452 + BinaryExpression 517452 517479 + Identifier 517452 517454 + EqualsEqualsEqualsToken 517454 517458 + Identifier 517458 517479 + Block 517483 517900 + VariableStatement 517485 517561 + VariableDeclarationList 517485 517560 + VariableDeclaration 517512 517560 + Identifier 517512 517525 + CallExpression 517527 517560 + Identifier 517527 517551 + Identifier 517552 517559 + ExpressionStatement 517561 517703 + CallExpression 517561 517702 + PropertyAccessExpression 517561 517620 + PropertyAccessExpression 517561 517598 + Identifier 517561 517590 + Identifier 517591 517598 + Identifier 517599 517620 + CallExpression 517621 517701 + Identifier 517621 517625 + PropertyAccessExpression 517626 517645 + Identifier 517626 517632 + Identifier 517633 517645 + ArrowFunction 517646 517700 + Parameter 517646 517648 + Identifier 517646 517648 + EqualsGreaterThanToken 517648 517651 + BinaryExpression 517651 517700 + CallExpression 517651 517674 + Identifier 517651 517671 + Identifier 517672 517673 + EqualsEqualsEqualsToken 517674 517678 + PropertyAccessExpression 517678 517700 + Identifier 517678 517686 + Identifier 517687 517700 + ExpressionStatement 517703 517783 + CallExpression 517703 517782 + Identifier 517703 517746 + Identifier 517747 517753 + Identifier 517754 517764 + Identifier 517765 517781 + ExpressionStatement 517783 517844 + CallExpression 517783 517843 + PropertyAccessExpression 517783 517841 + PropertyAccessExpression 517783 517820 + Identifier 517783 517812 + Identifier 517813 517820 + Identifier 517821 517841 + ExpressionStatement 517844 517881 + CallExpression 517844 517880 + Identifier 517844 517878 + FunctionDeclaration 517915 534701 + Identifier 518744 518766 + Parameter 518767 518781 + Identifier 518767 518773 + TypeReference 518774 518781 + Identifier 518774 518781 + Parameter 518782 518801 + Identifier 518782 518792 + BooleanKeyword 518793 518801 + Parameter 518802 518827 + Identifier 518802 518818 + BooleanKeyword 518819 518827 + Parameter 518828 518867 + Identifier 518828 518846 + PropertyAccessExpression 518848 518867 + Identifier 518848 518855 + Identifier 518856 518867 + VoidKeyword 518869 518874 + Block 518874 534701 + VariableStatement 518876 518959 + VariableDeclarationList 518876 518958 + VariableDeclaration 518899 518958 + Identifier 518899 518910 + CallExpression 518912 518958 + Identifier 518912 518939 + Identifier 518940 518957 + VariableStatement 518959 519044 + VariableDeclarationList 518959 519043 + VariableDeclaration 518982 519043 + Identifier 518982 518992 + BinaryExpression 518994 519043 + Identifier 518994 519012 + EqualsEqualsEqualsToken 519012 519016 + PropertyAccessExpression 519016 519043 + Identifier 519016 519035 + Identifier 519036 519043 + IfStatement 519044 519645 + BinaryExpression 519066 519198 + BinaryExpression 519066 519184 + BinaryExpression 519066 519139 + Identifier 519066 519075 + AmpersandAmpersandToken 519075 519078 + PrefixUnaryExpression 519078 519139 + ParenthesizedExpression 519080 519139 + BinaryExpression 519081 519138 + PropertyAccessExpression 519081 519094 + Identifier 519081 519088 + Identifier 519089 519094 + AmpersandToken 519094 519096 + PropertyAccessExpression 519096 519138 + Identifier 519096 519113 + Identifier 519114 519138 + AmpersandAmpersandToken 519139 519142 + CallExpression 519142 519184 + Identifier 519142 519172 + Identifier 519173 519183 + AmpersandAmpersandToken 519184 519187 + PrefixUnaryExpression 519187 519198 + Identifier 519189 519198 + Block 519199 519645 + ExpressionStatement 519201 519408 + BinaryExpression 519201 519407 + PropertyAccessExpression 519201 519400 + Identifier 519201 519383 + Identifier 519384 519400 + EqualsToken 519400 519402 + TrueKeyword 519402 519407 + ReturnStatement 519408 519499 + VariableStatement 519645 519969 + VariableDeclarationList 519645 519968 + VariableDeclaration 519666 519968 + Identifier 519666 519689 + BinaryExpression 519691 519968 + BinaryExpression 519691 519929 + Identifier 519691 519701 + AmpersandAmpersandToken 519701 519704 + PrefixUnaryExpression 519704 519929 + PrefixUnaryExpression 519706 519929 + ParenthesizedExpression 519707 519929 + BinaryExpression 519708 519910 + BinaryExpression 519708 519792 + PropertyAccessExpression 519708 519742 + Identifier 519708 519736 + Identifier 519737 519742 + AmpersandToken 519742 519744 + PropertyAccessExpression 519744 519792 + Identifier 519744 519756 + Identifier 519757 519792 + BarBarToken 519792 519816 + ParenthesizedExpression 519816 519910 + BinaryExpression 519818 519909 + BinaryExpression 519818 519853 + PropertyAccessExpression 519818 519830 + Identifier 519818 519824 + Identifier 519825 519830 + AmpersandToken 519830 519832 + PropertyAccessExpression 519832 519853 + Identifier 519832 519844 + Identifier 519845 519853 + AmpersandAmpersandToken 519853 519856 + CallExpression 519856 519909 + Identifier 519856 519863 + CallExpression 519864 519908 + Identifier 519864 519883 + CallExpression 519884 519907 + Identifier 519884 519899 + Identifier 519900 519906 + AmpersandAmpersandToken 519929 519932 + PrefixUnaryExpression 519932 519968 + ParenthesizedExpression 519934 519968 + BinaryExpression 519935 519967 + PropertyAccessExpression 519935 519947 + Identifier 519935 519941 + Identifier 519942 519947 + AmpersandToken 519947 519949 + PropertyAccessExpression 519949 519967 + Identifier 519949 519961 + Identifier 519962 519967 + VariableStatement 519969 520183 + VariableDeclarationList 519969 520182 + VariableDeclaration 520060 520182 + Identifier 520060 520083 + BinaryExpression 520085 520182 + BinaryExpression 520085 520168 + BinaryExpression 520085 520123 + PrefixUnaryExpression 520085 520109 + Identifier 520087 520109 + AmpersandAmpersandToken 520109 520112 + PrefixUnaryExpression 520112 520123 + Identifier 520114 520123 + AmpersandAmpersandToken 520123 520126 + CallExpression 520126 520168 + Identifier 520126 520156 + Identifier 520157 520167 + AmpersandAmpersandToken 520168 520171 + PrefixUnaryExpression 520171 520182 + Identifier 520173 520182 + IfStatement 520183 520545 + BinaryExpression 520436 520484 + Identifier 520436 520458 + BarBarToken 520458 520461 + Identifier 520461 520484 + Block 520485 520545 + ExpressionStatement 520487 520526 + BinaryExpression 520487 520525 + Identifier 520487 520518 + EqualsToken 520518 520520 + TrueKeyword 520520 520525 + VariableStatement 520545 520694 + VariableDeclarationList 520545 520693 + VariableDeclaration 520568 520693 + Identifier 520568 520582 + BinaryExpression 520584 520693 + ParenthesizedExpression 520584 520624 + ConditionalExpression 520586 520623 + PrefixUnaryExpression 520586 520596 + Identifier 520587 520596 + QuestionToken 520596 520598 + PropertyAccessExpression 520598 520619 + Identifier 520598 520612 + Identifier 520613 520619 + ColonToken 520619 520621 + NumericLiteral 520621 520623 + BarToken 520624 520626 + ParenthesizedExpression 520626 520693 + ConditionalExpression 520628 520692 + BinaryExpression 520628 520664 + Identifier 520628 520637 + AmpersandAmpersandToken 520637 520640 + PrefixUnaryExpression 520640 520664 + Identifier 520642 520664 + QuestionToken 520664 520666 + PropertyAccessExpression 520666 520688 + Identifier 520666 520680 + Identifier 520681 520688 + ColonToken 520688 520690 + NumericLiteral 520690 520692 + VariableStatement 520694 520985 + VariableDeclarationList 520694 520984 + VariableDeclaration 520717 520984 + Identifier 520717 520737 + BinaryExpression 520739 520984 + BinaryExpression 520739 520906 + BinaryExpression 520739 520773 + PropertyAccessExpression 520739 520752 + Identifier 520739 520746 + Identifier 520747 520752 + AmpersandToken 520752 520754 + PropertyAccessExpression 520754 520773 + Identifier 520754 520766 + Identifier 520767 520773 + AmpersandAmpersandToken 520773 520776 + BinaryExpression 520776 520906 + PropertyAccessExpression 520776 520810 + Identifier 520776 520804 + Identifier 520805 520810 + AmpersandToken 520810 520812 + ParenthesizedExpression 520812 520906 + BinaryExpression 520814 520905 + BinaryExpression 520814 520882 + PropertyAccessExpression 520814 520845 + Identifier 520814 520825 + Identifier 520826 520845 + BarToken 520845 520847 + PropertyAccessExpression 520847 520882 + Identifier 520847 520859 + Identifier 520860 520882 + BarToken 520882 520884 + PropertyAccessExpression 520884 520905 + Identifier 520884 520896 + Identifier 520897 520905 + AmpersandAmpersandToken 520906 520909 + BinaryExpression 520909 520984 + Identifier 520909 520948 + ExclamationEqualsEqualsToken 520948 520952 + PropertyAccessExpression 520952 520984 + Identifier 520952 520971 + Identifier 520972 520984 + VariableStatement 520985 521156 + VariableDeclarationList 520985 521155 + VariableDeclaration 521008 521155 + Identifier 521008 521053 + BinaryExpression 521055 521155 + Identifier 521055 521075 + AmpersandAmpersandToken 521075 521078 + CallExpression 521078 521155 + Identifier 521078 521122 + CallExpression 521123 521146 + Identifier 521123 521138 + Identifier 521139 521145 + Identifier 521147 521154 + IfStatement 521156 521453 + BinaryExpression 521178 521284 + BinaryExpression 521178 521236 + PropertyAccessExpression 521178 521190 + Identifier 521178 521184 + Identifier 521185 521190 + AmpersandToken 521190 521192 + ParenthesizedExpression 521192 521236 + BinaryExpression 521194 521235 + PropertyAccessExpression 521194 521214 + Identifier 521194 521205 + Identifier 521206 521214 + BarToken 521214 521216 + PropertyAccessExpression 521216 521235 + Identifier 521216 521228 + Identifier 521229 521235 + BarBarToken 521236 521239 + Identifier 521239 521284 + Block 521285 521453 + ExpressionStatement 521287 521434 + CallExpression 521287 521433 + Identifier 521287 521342 + CallExpression 521343 521366 + Identifier 521343 521358 + Identifier 521359 521365 + Identifier 521367 521374 + CallExpression 521375 521417 + Identifier 521375 521397 + Identifier 521398 521404 + Identifier 521405 521416 + Identifier 521418 521432 + IfStatement 521453 521609 + BinaryExpression 521475 521511 + PropertyAccessExpression 521475 521487 + Identifier 521475 521481 + Identifier 521482 521487 + AmpersandToken 521487 521489 + PropertyAccessExpression 521489 521511 + Identifier 521489 521501 + Identifier 521502 521511 + Block 521512 521609 + ExpressionStatement 521514 521590 + CallExpression 521514 521589 + Identifier 521514 521554 + Identifier 521555 521561 + Identifier 521562 521573 + Identifier 521574 521588 + IfStatement 521609 530742 + BinaryExpression 521867 522353 + BinaryExpression 521867 522283 + BinaryExpression 521867 522222 + BinaryExpression 521867 522162 + BinaryExpression 521867 522098 + BinaryExpression 521867 522020 + PropertyAccessExpression 521867 521901 + Identifier 521867 521895 + Identifier 521896 521901 + AmpersandToken 521901 521903 + ParenthesizedExpression 521903 522020 + BinaryExpression 521905 522019 + BinaryExpression 521905 521996 + BinaryExpression 521905 521973 + PropertyAccessExpression 521905 521936 + Identifier 521905 521916 + Identifier 521917 521936 + BarToken 521936 521938 + PropertyAccessExpression 521938 521973 + Identifier 521938 521950 + Identifier 521951 521973 + BarToken 521973 521975 + PropertyAccessExpression 521975 521996 + Identifier 521975 521987 + Identifier 521988 521996 + BarToken 521996 521998 + PropertyAccessExpression 521998 522019 + Identifier 521998 522010 + Identifier 522011 522019 + AmpersandAmpersandToken 522020 522044 + BinaryExpression 522044 522098 + Identifier 522044 522062 + ExclamationEqualsEqualsToken 522062 522066 + PropertyAccessExpression 522066 522098 + Identifier 522066 522085 + Identifier 522086 522098 + AmpersandAmpersandToken 522098 522122 + PrefixUnaryExpression 522122 522162 + ParenthesizedExpression 522124 522162 + BinaryExpression 522125 522161 + PropertyAccessExpression 522125 522137 + Identifier 522125 522131 + Identifier 522132 522137 + AmpersandToken 522137 522139 + PropertyAccessExpression 522139 522161 + Identifier 522139 522151 + Identifier 522152 522161 + AmpersandAmpersandToken 522162 522186 + PrefixUnaryExpression 522186 522222 + ParenthesizedExpression 522188 522222 + BinaryExpression 522189 522221 + PropertyAccessExpression 522189 522201 + Identifier 522189 522195 + Identifier 522196 522201 + AmpersandToken 522201 522203 + PropertyAccessExpression 522203 522221 + Identifier 522203 522215 + Identifier 522216 522221 + AmpersandAmpersandToken 522222 522246 + PrefixUnaryExpression 522246 522283 + ParenthesizedExpression 522248 522283 + BinaryExpression 522249 522282 + PropertyAccessExpression 522249 522261 + Identifier 522249 522255 + Identifier 522256 522261 + AmpersandToken 522261 522263 + PropertyAccessExpression 522263 522282 + Identifier 522263 522275 + Identifier 522276 522282 + AmpersandAmpersandToken 522283 522307 + PrefixUnaryExpression 522307 522353 + Identifier 522309 522353 + Block 522372 530742 + IfStatement 522374 530723 + Identifier 522400 522415 + Block 522416 522722 + VariableStatement 522418 522504 + VariableDeclarationList 522418 522503 + VariableDeclaration 522449 522503 + Identifier 522449 522463 + CallExpression 522465 522503 + Identifier 522465 522495 + Identifier 522496 522502 + IfStatement 522504 522699 + Identifier 522534 522547 + Block 522548 522699 + ExpressionStatement 522550 522611 + BinaryExpression 522550 522610 + Identifier 522550 522602 + EqualsToken 522602 522604 + FalseKeyword 522604 522610 + ExpressionStatement 522611 522672 + BinaryExpression 522611 522671 + Identifier 522611 522663 + EqualsToken 522663 522665 + FalseKeyword 522665 522671 + Block 522748 530723 + VariableStatement 522750 522813 + VariableDeclarationList 522750 522812 + VariableDeclaration 522781 522812 + Identifier 522781 522786 + CallExpression 522788 522812 + Identifier 522788 522804 + Identifier 522805 522811 + VariableStatement 522813 522899 + VariableDeclarationList 522813 522898 + VariableDeclaration 522844 522898 + Identifier 522844 522854 + CallExpression 522856 522898 + Identifier 522856 522878 + Identifier 522879 522885 + Identifier 522886 522897 + IfStatement 522899 530700 + BinaryExpression 522929 523141 + BinaryExpression 522929 523081 + BinaryExpression 522929 523010 + BinaryExpression 522929 522966 + PropertyAccessExpression 522929 522940 + Identifier 522929 522933 + Identifier 522934 522940 + AmpersandAmpersandToken 522940 522943 + BinaryExpression 522943 522966 + PropertyAccessExpression 522943 522955 + Identifier 522943 522948 + Identifier 522949 522955 + ExclamationEqualsEqualsToken 522955 522959 + Identifier 522959 522966 + AmpersandAmpersandToken 522966 522969 + BinaryExpression 522969 523010 + PropertyAccessExpression 522969 522987 + PropertyAccessExpression 522969 522981 + Identifier 522969 522974 + Identifier 522975 522981 + Identifier 522982 522987 + AmpersandToken 522987 522989 + PropertyAccessExpression 522989 523010 + Identifier 522989 523001 + Identifier 523002 523010 + AmpersandAmpersandToken 523010 523013 + CallExpression 523013 523081 + Identifier 523013 523018 + PropertyAccessExpression 523019 523043 + PropertyAccessExpression 523019 523030 + Identifier 523019 523023 + Identifier 523024 523030 + Identifier 523031 523043 + Identifier 523044 523080 + AmpersandAmpersandToken 523081 523084 + ParenthesizedExpression 523084 523141 + BinaryExpression 523086 523140 + PropertyAccessExpression 523086 523111 + PropertyAccessExpression 523086 523105 + PropertyAccessExpression 523086 523097 + Identifier 523086 523090 + Identifier 523091 523097 + Identifier 523098 523105 + QuestionDotToken 523105 523107 + Identifier 523107 523111 + BarBarToken 523111 523114 + PropertyAccessExpression 523114 523140 + PropertyAccessExpression 523114 523134 + PropertyAccessExpression 523114 523126 + Identifier 523114 523119 + Identifier 523120 523126 + Identifier 523127 523134 + QuestionDotToken 523134 523136 + Identifier 523136 523140 + Block 523142 524104 + IfStatement 523144 523713 + PrefixUnaryExpression 523567 523600 + PropertyAccessExpression 523568 523600 + Identifier 523568 523575 + Identifier 523576 523600 + Block 523601 523713 + ExpressionStatement 523603 523682 + BinaryExpression 523603 523681 + PropertyAccessExpression 523603 523669 + Identifier 523603 523644 + Identifier 523645 523669 + EqualsToken 523669 523671 + NewExpression 523671 523681 + Identifier 523675 523679 + ExpressionStatement 523713 523814 + CallExpression 523713 523813 + PropertyAccessExpression 523713 523779 + PropertyAccessExpression 523713 523775 + Identifier 523713 523750 + Identifier 523751 523775 + Identifier 523776 523779 + CallExpression 523780 523804 + Identifier 523780 523791 + PropertyAccessExpression 523792 523803 + Identifier 523792 523796 + Identifier 523797 523803 + Identifier 523805 523812 + ExpressionStatement 523814 523981 + CallExpression 523814 523980 + Identifier 523814 523920 + PropertyAccessExpression 523921 523932 + Identifier 523921 523925 + Identifier 523926 523932 + Identifier 523933 523943 + Identifier 523944 523960 + Identifier 523961 523979 + ExpressionStatement 523981 524077 + CallExpression 523981 524076 + PropertyAccessExpression 523981 524050 + PropertyAccessExpression 523981 524043 + Identifier 523981 524018 + Identifier 524019 524043 + Identifier 524044 524050 + CallExpression 524051 524075 + Identifier 524051 524062 + PropertyAccessExpression 524063 524074 + Identifier 524063 524067 + Identifier 524068 524074 + IfStatement 524134 530700 + BinaryExpression 524139 524238 + PrefixUnaryExpression 524139 524177 + ParenthesizedExpression 524140 524177 + BinaryExpression 524141 524176 + PropertyAccessExpression 524141 524153 + Identifier 524141 524147 + Identifier 524148 524153 + AmpersandToken 524153 524155 + PropertyAccessExpression 524155 524176 + Identifier 524155 524167 + Identifier 524168 524176 + AmpersandAmpersandToken 524177 524180 + CallExpression 524180 524238 + Identifier 524180 524224 + Identifier 524225 524229 + Identifier 524230 524237 + Block 524239 524553 + ExpressionStatement 524241 524526 + CallExpression 524241 524525 + Identifier 524241 524485 + Identifier 524486 524490 + Identifier 524491 524498 + Identifier 524499 524509 + Identifier 524510 524524 + Block 524583 530700 + VariableStatement 524585 525630 + VariableDeclarationList 524585 525629 + VariableDeclaration 524992 525629 + Identifier 524992 524998 + ConditionalExpression 525000 525629 + PrefixUnaryExpression 525000 525050 + ParenthesizedExpression 525002 525050 + BinaryExpression 525003 525049 + PropertyAccessExpression 525003 525015 + Identifier 525003 525009 + Identifier 525010 525015 + AmpersandToken 525015 525017 + PropertyAccessExpression 525017 525049 + Identifier 525017 525029 + Identifier 525030 525049 + QuestionToken 525050 525085 + ConditionalExpression 525085 525467 + BinaryExpression 525085 525166 + PropertyAccessExpression 525085 525117 + PropertyAccessExpression 525085 525099 + Identifier 525085 525092 + Identifier 525093 525099 + QuestionDotToken 525099 525101 + Identifier 525101 525117 + AmpersandAmpersandToken 525117 525120 + CallExpression 525120 525166 + Identifier 525120 525133 + PropertyAccessExpression 525134 525165 + PropertyAccessExpression 525134 525147 + Identifier 525134 525140 + Identifier 525141 525147 + QuestionDotToken 525147 525149 + Identifier 525149 525165 + QuestionToken 525166 525205 + PropertyAccessExpression 525205 525221 + Identifier 525205 525215 + Identifier 525216 525221 + ColonToken 525221 525457 + Identifier 525457 525467 + ColonToken 525467 525502 + ConditionalExpression 525502 525629 + CallExpression 525502 525529 + Identifier 525502 525521 + Identifier 525522 525528 + QuestionToken 525529 525564 + PropertyAccessExpression 525564 525580 + Identifier 525564 525574 + Identifier 525575 525580 + ColonToken 525580 525615 + PropertyAccessExpression 525615 525629 + Identifier 525615 525625 + Identifier 525626 525629 + VariableStatement 525630 525787 + VariableDeclarationList 525630 525786 + VariableDeclaration 525665 525786 + Identifier 525665 525670 + ConditionalExpression 525672 525786 + ParenthesizedExpression 525672 525739 + BinaryExpression 525674 525738 + Identifier 525674 525696 + BarBarToken 525696 525699 + PrefixUnaryExpression 525699 525738 + ParenthesizedExpression 525701 525738 + BinaryExpression 525702 525737 + PropertyAccessExpression 525702 525714 + Identifier 525702 525708 + Identifier 525709 525714 + AmpersandToken 525714 525716 + PropertyAccessExpression 525716 525737 + Identifier 525716 525728 + Identifier 525729 525737 + QuestionToken 525739 525741 + Identifier 525741 525751 + ColonToken 525751 525753 + CallExpression 525753 525786 + Identifier 525753 525767 + Identifier 525768 525777 + Identifier 525778 525785 + VariableStatement 525787 525931 + VariableDeclarationList 525787 525930 + VariableDeclaration 525820 525930 + Identifier 525820 525830 + UnionType 525831 525848 + TypeReference 525831 525836 + Identifier 525831 525836 + UndefinedKeyword 525838 525848 + BinaryExpression 525850 525930 + PropertyAccessExpression 525850 525870 + Identifier 525850 525857 + Identifier 525858 525870 + AmpersandAmpersandToken 525870 525873 + CallExpression 525873 525930 + Identifier 525873 525878 + PropertyAccessExpression 525879 525898 + Identifier 525879 525885 + Identifier 525886 525898 + ArrowFunction 525899 525929 + Parameter 525899 525901 + Identifier 525899 525901 + EqualsGreaterThanToken 525901 525904 + CallExpression 525904 525929 + Identifier 525904 525926 + Identifier 525927 525928 + IfStatement 525931 526171 + BinaryExpression 525965 526067 + BinaryExpression 525965 526021 + Identifier 525965 525974 + AmpersandAmpersandToken 525974 525977 + CallExpression 525977 526021 + Identifier 525977 526003 + PropertyAccessExpression 526004 526020 + Identifier 526004 526013 + Identifier 526014 526020 + AmpersandAmpersandToken 526021 526024 + BinaryExpression 526024 526067 + PropertyAccessExpression 526024 526061 + PropertyAccessExpression 526024 526054 + PropertyAccessExpression 526024 526041 + Identifier 526024 526034 + Identifier 526035 526041 + Identifier 526042 526054 + Identifier 526055 526061 + EqualsEqualsEqualsToken 526061 526065 + NumericLiteral 526065 526067 + Block 526068 526171 + ExpressionStatement 526070 526140 + BinaryExpression 526070 526139 + Identifier 526070 526113 + EqualsToken 526113 526115 + PropertyAccessExpression 526115 526139 + PropertyAccessExpression 526115 526132 + Identifier 526115 526125 + Identifier 526126 526132 + Identifier 526133 526139 + VariableStatement 526171 526285 + VariableDeclarationList 526171 526284 + VariableDeclaration 526206 526284 + Identifier 526206 526228 + CallExpression 526230 526284 + PropertyAccessExpression 526230 526256 + PropertyAccessExpression 526230 526250 + Identifier 526230 526237 + Identifier 526238 526250 + QuestionDotToken 526250 526252 + Identifier 526252 526256 + Identifier 526257 526283 + IfStatement 526285 530673 + BinaryExpression 526319 526590 + BinaryExpression 526319 526544 + BinaryExpression 526319 526478 + BinaryExpression 526319 526426 + Identifier 526319 526374 + AmpersandAmpersandToken 526374 526377 + CallExpression 526377 526426 + Identifier 526377 526396 + PropertyAccessExpression 526397 526425 + Identifier 526397 526418 + Identifier 526419 526425 + AmpersandAmpersandToken 526426 526429 + CallExpression 526429 526478 + Identifier 526429 526442 + PropertyAccessExpression 526443 526477 + PropertyAccessExpression 526443 526471 + Identifier 526443 526464 + Identifier 526465 526471 + Identifier 526472 526477 + AmpersandAmpersandToken 526478 526514 + PropertyAccessExpression 526514 526544 + PropertyAccessExpression 526514 526526 + Identifier 526514 526519 + Identifier 526520 526526 + QuestionDotToken 526526 526528 + Identifier 526528 526544 + AmpersandAmpersandToken 526544 526547 + CallExpression 526547 526590 + Identifier 526547 526560 + PropertyAccessExpression 526561 526589 + PropertyAccessExpression 526561 526572 + Identifier 526561 526565 + Identifier 526566 526572 + Identifier 526573 526589 + Block 526621 527454 + VariableStatement 526623 526781 + VariableDeclarationList 526623 526780 + VariableDeclaration 526662 526780 + Identifier 526662 526668 + ConditionalExpression 526670 526780 + BinaryExpression 526670 526731 + Identifier 526670 526680 + EqualsEqualsEqualsToken 526680 526684 + PropertyAccessExpression 526684 526731 + PropertyAccessExpression 526684 526719 + PropertyAccessExpression 526684 526713 + Identifier 526684 526706 + Identifier 526707 526713 + Identifier 526714 526719 + Identifier 526720 526731 + QuestionToken 526731 526733 + Identifier 526733 526743 + ColonToken 526743 526745 + PropertyAccessExpression 526745 526780 + PropertyAccessExpression 526745 526774 + Identifier 526745 526767 + Identifier 526768 526774 + Identifier 526775 526780 + ExpressionStatement 526781 527299 + CallExpression 526781 527298 + Identifier 526781 526824 + CallExpression 526825 527205 + PropertyAccessExpression 526825 526894 + Identifier 526825 526870 + Identifier 526871 526894 + Identifier 526895 526960 + FalseKeyword 526961 527023 + CallExpression 527024 527165 + PropertyAccessExpression 527024 527092 + Identifier 527024 527073 + Identifier 527074 527092 + ArrayLiteralExpression 527093 527164 + CallExpression 527094 527163 + PropertyAccessExpression 527094 527123 + Identifier 527094 527101 + Identifier 527102 527123 + FalseKeyword 527124 527144 + Identifier 527145 527151 + Identifier 527152 527162 + PropertyAccessExpression 527206 527262 + Identifier 527206 527257 + Identifier 527258 527262 + ExpressionStatement 527299 527423 + CallExpression 527299 527422 + PropertyAccessExpression 527299 527360 + PropertyAccessExpression 527299 527348 + Identifier 527299 527340 + Identifier 527341 527348 + Identifier 527349 527360 + PropertyAccessExpression 527361 527372 + Identifier 527361 527365 + Identifier 527366 527372 + PropertyAccessExpression 527373 527402 + Identifier 527373 527381 + Identifier 527382 527402 + PropertyAccessExpression 527403 527421 + Identifier 527403 527415 + Identifier 527416 527421 + Block 527488 530673 + VariableStatement 527490 528191 + VariableDeclarationList 527490 528190 + VariableDeclaration 527529 528190 + Identifier 527529 527539 + CallExpression 527541 528190 + Identifier 527541 527554 + Identifier 527555 527600 + CallExpression 527601 528106 + PropertyAccessExpression 527601 527670 + Identifier 527601 527646 + Identifier 527647 527670 + Identifier 527671 527736 + CallExpression 527737 528066 + PropertyAccessExpression 527737 527816 + Identifier 527737 527786 + Identifier 527787 527816 + ArrayLiteralExpression 527817 528058 + CallExpression 527818 528014 + PropertyAccessExpression 527818 527897 + Identifier 527818 527871 + Identifier 527872 527897 + Identifier 527898 527902 + Identifier 527903 527934 + CallExpression 527935 528013 + Identifier 527935 527963 + Identifier 527964 527971 + Identifier 527972 527998 + Identifier 527999 528004 + Identifier 528005 528012 + Identifier 528059 528065 + Identifier 528107 528154 + ExpressionStatement 528191 528322 + CallExpression 528191 528321 + Identifier 528191 528234 + Identifier 528235 528244 + ConditionalExpression 528245 528320 + BinaryExpression 528245 528264 + Identifier 528245 528250 + ExclamationEqualsEqualsToken 528250 528254 + Identifier 528254 528264 + QuestionToken 528264 528266 + BinaryExpression 528266 528304 + Identifier 528266 528280 + AmpersandToken 528280 528282 + PrefixUnaryExpression 528282 528304 + PropertyAccessExpression 528284 528304 + Identifier 528284 528297 + Identifier 528298 528304 + ColonToken 528304 528306 + Identifier 528306 528320 + IfStatement 528322 530642 + BinaryExpression 528360 528392 + BinaryExpression 528360 528378 + Identifier 528360 528364 + ExclamationEqualsEqualsToken 528364 528368 + Identifier 528368 528378 + AmpersandAmpersandToken 528378 528381 + PrefixUnaryExpression 528381 528392 + Identifier 528383 528392 + Block 528393 530642 + ExpressionStatement 528395 530469 + CallExpression 528395 530468 + Identifier 528395 529967 + CallExpression 529968 530367 + PropertyAccessExpression 529968 530041 + Identifier 529968 530017 + Identifier 530018 530041 + Identifier 530042 530111 + FalseKeyword 530112 530178 + CallExpression 530179 530323 + PropertyAccessExpression 530179 530251 + Identifier 530179 530232 + Identifier 530233 530251 + ArrayLiteralExpression 530252 530322 + CallExpression 530253 530321 + PropertyAccessExpression 530253 530282 + Identifier 530253 530260 + Identifier 530261 530282 + FalseKeyword 530283 530303 + Identifier 530304 530309 + Identifier 530310 530320 + PropertyAccessExpression 530368 530428 + Identifier 530368 530423 + Identifier 530424 530428 + ExpressionStatement 530469 530538 + BinaryExpression 530469 530537 + Identifier 530469 530529 + EqualsToken 530529 530531 + FalseKeyword 530531 530537 + ExpressionStatement 530538 530607 + BinaryExpression 530538 530606 + Identifier 530538 530598 + EqualsToken 530598 530600 + FalseKeyword 530600 530606 + IfStatement 530742 530888 + BinaryExpression 530764 530795 + PropertyAccessExpression 530764 530776 + Identifier 530764 530770 + Identifier 530771 530776 + AmpersandToken 530776 530778 + PropertyAccessExpression 530778 530795 + Identifier 530778 530790 + Identifier 530791 530795 + Block 530796 530888 + ExpressionStatement 530798 530869 + CallExpression 530798 530868 + Identifier 530798 530833 + Identifier 530834 530840 + Identifier 530841 530852 + Identifier 530853 530867 + IfStatement 530888 532039 + BinaryExpression 530910 530942 + PropertyAccessExpression 530910 530922 + Identifier 530910 530916 + Identifier 530917 530922 + AmpersandToken 530922 530924 + PropertyAccessExpression 530924 530942 + Identifier 530924 530936 + Identifier 530937 530942 + Block 530943 532039 + IfStatement 530945 532020 + BinaryExpression 530971 531247 + BinaryExpression 530971 531163 + BinaryExpression 530971 531084 + BinaryExpression 530971 531032 + PropertyAccessExpression 530971 531009 + Identifier 530971 531003 + Identifier 531004 531009 + AmpersandToken 531009 531011 + PropertyAccessExpression 531011 531032 + Identifier 531011 531023 + Identifier 531024 531032 + AmpersandAmpersandToken 531032 531060 + PropertyAccessExpression 531060 531084 + Identifier 531060 531067 + Identifier 531068 531084 + AmpersandAmpersandToken 531084 531112 + CallExpression 531112 531163 + Identifier 531112 531131 + PropertyAccessExpression 531132 531162 + PropertyAccessExpression 531132 531155 + Identifier 531132 531138 + Identifier 531139 531155 + Identifier 531156 531162 + AmpersandAmpersandToken 531163 531191 + CallExpression 531191 531247 + Identifier 531191 531209 + PropertyAccessExpression 531210 531246 + PropertyAccessExpression 531210 531240 + PropertyAccessExpression 531210 531233 + Identifier 531210 531216 + Identifier 531217 531233 + Identifier 531234 531240 + Identifier 531241 531246 + Block 531270 531860 + ExpressionStatement 531272 531837 + CallExpression 531272 531836 + Identifier 531272 531770 + Identifier 531771 531777 + CallExpression 531778 531820 + Identifier 531778 531800 + Identifier 531801 531807 + Identifier 531808 531819 + Identifier 531821 531835 + Block 531886 532020 + ExpressionStatement 531888 531997 + CallExpression 531888 531996 + Identifier 531888 531930 + Identifier 531931 531937 + CallExpression 531938 531980 + Identifier 531938 531960 + Identifier 531961 531967 + Identifier 531968 531979 + Identifier 531981 531995 + IfStatement 532039 532333 + BinaryExpression 532061 532238 + ParenthesizedExpression 532061 532190 + BinaryExpression 532062 532189 + BinaryExpression 532062 532132 + PropertyAccessExpression 532062 532074 + Identifier 532062 532068 + Identifier 532069 532074 + AmpersandToken 532074 532076 + ParenthesizedExpression 532076 532132 + BinaryExpression 532078 532131 + PropertyAccessExpression 532078 532101 + Identifier 532078 532089 + Identifier 532090 532101 + BarToken 532101 532103 + PropertyAccessExpression 532103 532131 + Identifier 532103 532115 + Identifier 532116 532131 + AmpersandAmpersandToken 532132 532135 + ParenthesizedExpression 532135 532189 + BinaryExpression 532137 532188 + PrefixUnaryExpression 532137 532157 + Identifier 532138 532157 + BarBarToken 532157 532160 + CallExpression 532160 532188 + Identifier 532160 532180 + Identifier 532181 532187 + BarBarToken 532190 532193 + Identifier 532193 532238 + Block 532239 532333 + ExpressionStatement 532241 532314 + CallExpression 532241 532313 + Identifier 532241 532278 + Identifier 532279 532285 + Identifier 532286 532297 + Identifier 532298 532312 + IfStatement 532333 532628 + BinaryExpression 532455 532530 + BinaryExpression 532455 532491 + PropertyAccessExpression 532455 532467 + Identifier 532455 532461 + Identifier 532462 532467 + AmpersandToken 532467 532469 + PropertyAccessExpression 532469 532491 + Identifier 532469 532481 + Identifier 532482 532491 + AmpersandAmpersandToken 532491 532494 + PrefixUnaryExpression 532494 532530 + ParenthesizedExpression 532496 532530 + BinaryExpression 532497 532529 + PropertyAccessExpression 532497 532509 + Identifier 532497 532503 + Identifier 532504 532509 + AmpersandToken 532509 532511 + PropertyAccessExpression 532511 532529 + Identifier 532511 532523 + Identifier 532524 532529 + Block 532531 532628 + ExpressionStatement 532533 532609 + CallExpression 532533 532608 + Identifier 532533 532573 + Identifier 532574 532580 + Identifier 532581 532592 + Identifier 532593 532607 + IfStatement 532628 532809 + BinaryExpression 532650 532682 + PropertyAccessExpression 532650 532662 + Identifier 532650 532656 + Identifier 532657 532662 + AmpersandToken 532662 532664 + PropertyAccessExpression 532664 532682 + Identifier 532664 532676 + Identifier 532677 532682 + Block 532683 532809 + ExpressionStatement 532685 532790 + CallExpression 532685 532789 + Identifier 532685 532723 + Identifier 532724 532730 + CallExpression 532731 532773 + Identifier 532731 532753 + Identifier 532754 532760 + Identifier 532761 532772 + Identifier 532774 532788 + IfStatement 532809 533006 + BinaryExpression 532831 532924 + BinaryExpression 532831 532866 + PropertyAccessExpression 532831 532843 + Identifier 532831 532837 + Identifier 532838 532843 + AmpersandToken 532843 532845 + PropertyAccessExpression 532845 532866 + Identifier 532845 532857 + Identifier 532858 532866 + AmpersandAmpersandToken 532866 532869 + BinaryExpression 532869 532924 + PropertyAccessExpression 532869 532888 + Identifier 532869 532876 + Identifier 532877 532888 + EqualsEqualsEqualsToken 532888 532892 + PropertyAccessExpression 532892 532924 + Identifier 532892 532911 + Identifier 532912 532924 + Block 532925 533006 + ExpressionStatement 532927 532987 + CallExpression 532927 532986 + Identifier 532927 532978 + Identifier 532979 532985 + IfStatement 533006 533886 + BinaryExpression 533028 533065 + PropertyAccessExpression 533028 533040 + Identifier 533028 533034 + Identifier 533035 533040 + AmpersandToken 533040 533042 + PropertyAccessExpression 533042 533065 + Identifier 533042 533054 + Identifier 533055 533065 + Block 533066 533886 + IfStatement 533068 533867 + PropertyAccessExpression 533253 533272 + Identifier 533253 533259 + Identifier 533260 533272 + Block 533273 533867 + ForOfStatement 533275 533844 + VariableDeclarationList 533306 533316 + VariableDeclaration 533311 533316 + Identifier 533311 533316 + PropertyAccessExpression 533319 533339 + Identifier 533319 533326 + Identifier 533327 533339 + Block 533340 533844 + VariableStatement 533342 533473 + VariableDeclarationList 533342 533472 + VariableDeclaration 533377 533472 + Identifier 533377 533392 + CallExpression 533394 533472 + Identifier 533394 533420 + Identifier 533421 533425 + NonNullExpression 533426 533471 + PropertyAccessExpression 533426 533470 + ParenthesizedExpression 533426 533454 + AsExpression 533428 533453 + Identifier 533428 533432 + TypeReference 533435 533453 + Identifier 533435 533453 + Identifier 533455 533470 + IfStatement 533473 533533 + PrefixUnaryExpression 533507 533522 + Identifier 533508 533522 + ContinueStatement 533523 533533 + ExpressionStatement 533533 533817 + CallExpression 533533 533816 + Identifier 533533 533572 + CallExpression 533573 533795 + PropertyAccessExpression 533573 533604 + Identifier 533573 533580 + Identifier 533581 533604 + Identifier 533605 533628 + PropertyAccessExpression 533629 533683 + ParenthesizedExpression 533629 533672 + AsExpression 533646 533671 + Identifier 533646 533650 + TypeReference 533653 533671 + Identifier 533653 533671 + Identifier 533673 533683 + Identifier 533684 533711 + CallExpression 533712 533794 + PropertyAccessExpression 533712 533740 + Identifier 533712 533720 + Identifier 533721 533740 + CallExpression 533741 533793 + Identifier 533741 533768 + Identifier 533769 533783 + Identifier 533784 533792 + PropertyAccessExpression 533796 533815 + Identifier 533796 533810 + Identifier 533811 533815 + IfStatement 533886 534686 + Identifier 533908 533930 + Block 533931 534156 + ExpressionStatement 533933 534137 + CallExpression 533933 534136 + Identifier 533933 533964 + CallExpression 533965 534115 + PropertyAccessExpression 533965 533995 + Identifier 533965 533972 + Identifier 533973 533995 + Identifier 533996 534019 + FalseKeyword 534020 534045 + CallExpression 534046 534114 + PropertyAccessExpression 534046 534071 + Identifier 534046 534054 + Identifier 534055 534071 + CallExpression 534072 534113 + Identifier 534072 534093 + Identifier 534094 534100 + Identifier 534101 534112 + PropertyAccessExpression 534116 534135 + Identifier 534116 534130 + Identifier 534131 534135 + IfStatement 534178 534686 + Identifier 534183 534205 + Block 534206 534686 + ExpressionStatement 534208 534667 + CallExpression 534208 534666 + Identifier 534208 534239 + CallExpression 534240 534597 + PropertyAccessExpression 534240 534297 + Identifier 534240 534273 + Identifier 534274 534297 + Identifier 534298 534351 + FalseKeyword 534352 534402 + CallExpression 534403 534569 + PropertyAccessExpression 534403 534459 + Identifier 534403 534440 + Identifier 534441 534459 + ArrayLiteralExpression 534460 534568 + CallExpression 534461 534567 + PropertyAccessExpression 534461 534490 + Identifier 534461 534468 + Identifier 534469 534490 + FalseKeyword 534491 534511 + CallExpression 534512 534554 + Identifier 534512 534534 + Identifier 534535 534541 + Identifier 534542 534553 + Identifier 534555 534566 + PropertyAccessExpression 534598 534642 + Identifier 534598 534637 + Identifier 534638 534642 + FunctionDeclaration 534701 536223 + Identifier 534725 534746 + Parameter 534747 534761 + Identifier 534747 534753 + TypeReference 534754 534761 + Identifier 534754 534761 + Block 534762 536223 + IfStatement 534764 534850 + CallExpression 534786 534841 + Identifier 534786 534790 + PropertyAccessExpression 534791 534810 + Identifier 534791 534797 + Identifier 534798 534810 + Identifier 534811 534840 + ReturnStatement 534842 534850 + ExpressionStatement 534850 534947 + CallExpression 534850 534946 + PropertyAccessExpression 534850 534889 + Identifier 534850 534873 + Identifier 534874 534889 + ElementAccessExpression 534890 534945 + Identifier 534890 534911 + BinaryExpression 534912 534944 + PropertyAccessExpression 534912 534940 + Identifier 534912 534933 + Identifier 534934 534940 + MinusToken 534940 534942 + NumericLiteral 534942 534944 + ExpressionStatement 534947 535035 + CallExpression 534947 535034 + Identifier 534947 534978 + CallExpression 534979 535025 + Identifier 534979 535005 + PropertyAccessExpression 535006 535024 + Identifier 535006 535012 + Identifier 535013 535024 + Identifier 535026 535033 + VariableStatement 535035 536071 + VariableDeclarationList 535035 536070 + VariableDeclaration 535764 536070 + Identifier 535764 535786 + BinaryExpression 535788 536070 + PrefixUnaryExpression 535788 535825 + PrefixUnaryExpression 535790 535825 + ParenthesizedExpression 535791 535825 + BinaryExpression 535792 535824 + PropertyAccessExpression 535792 535804 + Identifier 535792 535798 + Identifier 535799 535804 + AmpersandToken 535804 535806 + PropertyAccessExpression 535806 535824 + Identifier 535806 535818 + Identifier 535819 535824 + AmpersandAmpersandToken 535825 535828 + PrefixUnaryExpression 535828 536070 + CallExpression 535830 536070 + Identifier 535830 535834 + PropertyAccessExpression 535835 535854 + Identifier 535835 535841 + Identifier 535842 535854 + ArrowFunction 535855 536069 + Parameter 535855 535857 + Identifier 535855 535857 + EqualsGreaterThanToken 535857 535860 + BinaryExpression 535860 536069 + BinaryExpression 535860 535965 + PrefixUnaryExpression 535860 535920 + PrefixUnaryExpression 535883 535920 + CallExpression 535884 535920 + Identifier 535884 535896 + Identifier 535897 535898 + Identifier 535899 535919 + BarBarToken 535920 535923 + CallExpression 535923 535965 + Identifier 535923 535962 + Identifier 535963 535964 + BarBarToken 535965 535968 + ParenthesizedExpression 535968 536069 + BinaryExpression 535991 536068 + CallExpression 535991 536019 + Identifier 535991 536016 + Identifier 536017 536018 + AmpersandAmpersandToken 536019 536022 + PrefixUnaryExpression 536022 536068 + CallExpression 536024 536068 + Identifier 536024 536049 + PropertyAccessExpression 536050 536067 + Identifier 536050 536051 + Identifier 536052 536067 + ExpressionStatement 536071 536208 + CallExpression 536071 536207 + PropertyAccessExpression 536071 536178 + ElementAccessExpression 536071 536174 + Identifier 536071 536110 + ConditionalExpression 536111 536173 + Identifier 536111 536132 + QuestionToken 536132 536134 + NumericLiteral 536134 536136 + ColonToken 536136 536138 + ParenthesizedExpression 536138 536173 + BinaryExpression 536140 536172 + PropertyAccessExpression 536140 536168 + Identifier 536140 536161 + Identifier 536162 536168 + MinusToken 536168 536170 + NumericLiteral 536170 536172 + Identifier 536175 536178 + CallExpression 536179 536198 + Identifier 536179 536190 + Identifier 536191 536197 + Identifier 536199 536206 + FunctionDeclaration 536223 536585 + Identifier 536247 536264 + Parameter 536265 536291 + Identifier 536265 536285 + TypeReference 536286 536291 + Identifier 536286 536291 + Block 536292 536585 + ReturnStatement 536294 536570 + ParenthesizedExpression 536318 536569 + BinaryExpression 536320 536568 + ParenthesizedExpression 536320 536452 + BinaryExpression 536321 536451 + CallExpression 536321 536355 + Identifier 536321 536333 + Identifier 536334 536354 + AmpersandAmpersandToken 536355 536358 + ParenthesizedExpression 536358 536451 + BinaryExpression 536360 536450 + CallExpression 536360 536408 + Identifier 536360 536386 + Identifier 536387 536407 + BarBarToken 536408 536411 + CallExpression 536411 536450 + Identifier 536411 536428 + Identifier 536429 536449 + BarBarToken 536452 536455 + ParenthesizedExpression 536455 536568 + BinaryExpression 536478 536567 + CallExpression 536478 536515 + Identifier 536478 536493 + Identifier 536494 536514 + AmpersandAmpersandToken 536515 536518 + PrefixUnaryExpression 536518 536567 + CallExpression 536520 536567 + Identifier 536520 536545 + Identifier 536546 536566 + FunctionDeclaration 536585 538926 + Identifier 536751 536761 + Parameter 536762 536777 + Identifier 536762 536766 + TypeReference 536767 536777 + Identifier 536767 536777 + Parameter 536778 536817 + Identifier 536778 536802 + TypeReference 536803 536817 + Identifier 536803 536817 + Block 536818 538926 + IfStatement 536820 538874 + CallExpression 536842 536864 + Identifier 536842 536858 + Identifier 536859 536863 + Block 536865 538874 + VariableStatement 536867 536946 + VariableDeclarationList 536867 536945 + VariableDeclaration 536892 536945 + Identifier 536892 536909 + TypeReference 536910 536924 + Identifier 536910 536924 + PropertyAccessExpression 536926 536945 + Identifier 536926 536940 + Identifier 536941 536945 + VariableStatement 536946 537186 + VariableDeclarationList 536946 537185 + VariableDeclaration 536973 537185 + Identifier 536973 536994 + BinaryExpression 536996 537185 + PropertyAccessExpression 536996 537025 + Identifier 536996 537004 + Identifier 537005 537025 + AmpersandAmpersandToken 537025 537028 + ParenthesizedExpression 537028 537185 + ConditionalExpression 537055 537184 + CallExpression 537055 537101 + Identifier 537055 537071 + PropertyAccessExpression 537072 537100 + Identifier 537072 537079 + Identifier 537080 537100 + QuestionToken 537101 537103 + CallExpression 537103 537153 + Identifier 537103 537123 + PropertyAccessExpression 537124 537152 + Identifier 537124 537131 + Identifier 537132 537152 + ColonToken 537153 537155 + PropertyAccessExpression 537155 537184 + Identifier 537155 537163 + Identifier 537164 537184 + IfStatement 537186 537746 + BinaryExpression 537212 537478 + BinaryExpression 537212 537422 + BinaryExpression 537212 537333 + BinaryExpression 537212 537284 + Identifier 537212 537261 + AmpersandToken 537261 537263 + PropertyAccessExpression 537263 537284 + Identifier 537263 537277 + Identifier 537278 537284 + AmpersandAmpersandToken 537284 537287 + Identifier 537287 537333 + AmpersandAmpersandToken 537333 537336 + ParenthesizedExpression 537336 537422 + BinaryExpression 537338 537421 + CallExpression 537338 537376 + Identifier 537338 537354 + Identifier 537355 537375 + BarBarToken 537376 537379 + CallExpression 537379 537421 + Identifier 537379 537399 + Identifier 537400 537420 + AmpersandAmpersandToken 537422 537425 + CallExpression 537425 537478 + Identifier 537425 537472 + Identifier 537473 537477 + Block 537501 537746 + ExpressionStatement 537503 537723 + BinaryExpression 537503 537722 + Identifier 537503 537698 + BarEqualsToken 537698 537701 + PropertyAccessExpression 537701 537722 + Identifier 537701 537715 + Identifier 537716 537722 + IfStatement 537746 538409 + BinaryExpression 537772 538133 + BinaryExpression 537772 537962 + BinaryExpression 537772 537857 + Identifier 537772 537811 + AmpersandAmpersandToken 537811 537814 + PrefixUnaryExpression 537814 537857 + ParenthesizedExpression 537816 537857 + BinaryExpression 537817 537856 + Identifier 537817 537833 + AmpersandToken 537833 537835 + PropertyAccessExpression 537835 537856 + Identifier 537835 537849 + Identifier 537850 537856 + AmpersandAmpersandToken 537857 537860 + ParenthesizedExpression 537860 537962 + BinaryExpression 537887 537961 + PrefixUnaryExpression 537887 537908 + Identifier 537888 537908 + BarBarToken 537908 537911 + PrefixUnaryExpression 537911 537961 + ParenthesizedExpression 537913 537961 + BinaryExpression 537914 537960 + PropertyAccessExpression 537914 537940 + Identifier 537914 537934 + Identifier 537935 537940 + AmpersandToken 537940 537942 + PropertyAccessExpression 537942 537960 + Identifier 537942 537952 + Identifier 537953 537960 + AmpersandAmpersandToken 537962 537965 + ParenthesizedExpression 537965 538133 + BinaryExpression 537992 538132 + BinaryExpression 537992 538103 + BinaryExpression 537992 538075 + BinaryExpression 537992 538044 + CallExpression 537992 538015 + Identifier 537992 538009 + Identifier 538010 538014 + BarBarToken 538015 538018 + CallExpression 538018 538044 + Identifier 538018 538038 + Identifier 538039 538043 + BarBarToken 538044 538047 + CallExpression 538047 538075 + Identifier 538047 538069 + Identifier 538070 538074 + BarBarToken 538075 538078 + CallExpression 538078 538103 + Identifier 538078 538097 + Identifier 538098 538102 + BarBarToken 538103 538106 + CallExpression 538106 538132 + Identifier 538106 538126 + Identifier 538127 538131 + Block 538156 538409 + ExpressionStatement 538158 538386 + BinaryExpression 538158 538385 + Identifier 538158 538360 + BarEqualsToken 538360 538363 + PropertyAccessExpression 538363 538385 + Identifier 538363 538377 + Identifier 538378 538385 + IfStatement 538409 538671 + BinaryExpression 538435 538577 + ParenthesizedExpression 538435 538484 + BinaryExpression 538436 538483 + Identifier 538436 538459 + AmpersandToken 538459 538461 + PropertyAccessExpression 538461 538483 + Identifier 538461 538475 + Identifier 538476 538483 + AmpersandAmpersandToken 538484 538487 + ParenthesizedExpression 538487 538577 + BinaryExpression 538489 538576 + BinaryExpression 538489 538545 + CallExpression 538489 538513 + Identifier 538489 538507 + Identifier 538508 538512 + BarBarToken 538513 538516 + CallExpression 538516 538545 + Identifier 538516 538539 + Identifier 538540 538544 + BarBarToken 538545 538548 + CallExpression 538548 538576 + Identifier 538548 538570 + Identifier 538571 538575 + Block 538578 538671 + ExpressionStatement 538580 538648 + BinaryExpression 538580 538647 + Identifier 538580 538622 + BarEqualsToken 538622 538625 + PropertyAccessExpression 538625 538647 + Identifier 538625 538639 + Identifier 538640 538647 + IfStatement 538671 538855 + Identifier 538697 538713 + Block 538714 538855 + ExpressionStatement 538716 538832 + BinaryExpression 538716 538831 + Identifier 538716 538746 + EqualsToken 538746 538748 + CallExpression 538748 538831 + PropertyAccessExpression 538748 538773 + Identifier 538748 538756 + Identifier 538757 538773 + Identifier 538774 538778 + BinaryExpression 538779 538830 + Identifier 538779 538796 + BarToken 538796 538798 + CallExpression 538798 538830 + Identifier 538798 538824 + Identifier 538825 538829 + ExpressionStatement 538874 538911 + CallExpression 538874 538910 + PropertyAccessExpression 538874 538904 + Identifier 538874 538899 + Identifier 538900 538904 + Identifier 538905 538909 + FunctionDeclaration 538926 540754 + Identifier 538950 538969 + Parameter 538970 538984 + Identifier 538970 538976 + TypeReference 538977 538984 + Identifier 538977 538984 + Parameter 538985 539004 + Identifier 538985 538996 + StringKeyword 538997 539004 + Parameter 539005 539034 + Identifier 539005 539019 + TypeReference 539020 539034 + Identifier 539020 539034 + Block 539035 540754 + VariableStatement 539037 539108 + VariableDeclarationList 539037 539107 + VariableDeclaration 539060 539107 + Identifier 539060 539070 + CallExpression 539072 539107 + Identifier 539072 539099 + Identifier 539100 539106 + VariableStatement 539108 539183 + VariableDeclarationList 539108 539182 + VariableDeclaration 539131 539182 + Identifier 539131 539142 + PropertyAccessExpression 539144 539182 + CallExpression 539144 539167 + Identifier 539144 539159 + Identifier 539160 539166 + Identifier 539168 539182 + VariableStatement 539183 539285 + VariableDeclarationList 539183 539284 + VariableDeclaration 539206 539284 + Identifier 539206 539221 + CallExpression 539223 539284 + Identifier 539223 539227 + Identifier 539228 539238 + ArrowFunction 539239 539283 + Parameter 539239 539241 + Identifier 539239 539241 + EqualsGreaterThanToken 539241 539244 + CallExpression 539244 539283 + Identifier 539244 539271 + Identifier 539272 539273 + Identifier 539274 539282 + VariableStatement 539285 539370 + VariableDeclarationList 539285 539369 + VariableDeclaration 539308 539369 + Identifier 539308 539323 + CallExpression 539325 539369 + PropertyAccessExpression 539325 539351 + PropertyAccessExpression 539325 539345 + Identifier 539325 539332 + Identifier 539333 539345 + QuestionDotToken 539345 539347 + Identifier 539347 539351 + Identifier 539352 539368 + VariableStatement 539370 539516 + VariableDeclarationList 539370 539515 + VariableDeclaration 539393 539515 + Identifier 539393 539405 + CallExpression 539407 539515 + Identifier 539407 539429 + ConditionalExpression 539430 539514 + Identifier 539430 539444 + QuestionToken 539444 539446 + BinaryExpression 539446 539502 + PropertyAccessExpression 539446 539469 + Identifier 539446 539461 + Identifier 539462 539469 + BarBarToken 539469 539472 + PropertyAccessExpression 539472 539502 + PropertyAccessExpression 539472 539494 + Identifier 539472 539487 + Identifier 539488 539494 + Identifier 539495 539502 + ColonToken 539502 539504 + Identifier 539504 539514 + VariableStatement 539516 539581 + VariableDeclarationList 539516 539580 + VariableDeclaration 539539 539580 + Identifier 539539 539552 + CallExpression 539554 539580 + Identifier 539554 539571 + Identifier 539572 539579 + ExpressionStatement 539581 539645 + BinaryExpression 539581 539644 + PropertyAccessExpression 539581 539612 + Identifier 539581 539606 + Identifier 539607 539612 + BarEqualsToken 539612 539615 + PropertyAccessExpression 539615 539644 + Identifier 539615 539632 + Identifier 539633 539644 + VariableStatement 539645 539717 + VariableDeclarationList 539645 539716 + VariableDeclaration 539668 539716 + Identifier 539668 539685 + PropertyAccessExpression 539687 539716 + Identifier 539687 539695 + Identifier 539696 539716 + ExpressionStatement 539717 539781 + BinaryExpression 539717 539780 + PropertyAccessExpression 539717 539763 + Identifier 539717 539742 + Identifier 539743 539763 + EqualsToken 539763 539765 + Identifier 539765 539780 + VariableStatement 539781 540129 + VariableDeclarationList 539781 540128 + VariableDeclaration 539804 540128 + Identifier 539804 539813 + BinaryExpression 539815 540128 + BinaryExpression 539815 540063 + BinaryExpression 539815 539944 + BinaryExpression 539815 539863 + Identifier 539815 539830 + AmpersandAmpersandToken 539830 539833 + PropertyAccessExpression 539833 539863 + Identifier 539833 539848 + Identifier 539849 539863 + AmpersandAmpersandToken 539863 539891 + CallExpression 539891 539944 + Identifier 539891 539913 + PropertyAccessExpression 539914 539943 + Identifier 539914 539928 + Identifier 539929 539943 + AmpersandAmpersandToken 539944 539972 + CallExpression 539972 540063 + PropertyAccessExpression 539972 540018 + Identifier 539972 539993 + Identifier 539994 540018 + Identifier 540019 540026 + PropertyAccessExpression 540027 540062 + PropertyAccessExpression 540027 540057 + Identifier 540027 540042 + Identifier 540043 540057 + Identifier 540058 540062 + BarBarToken 540063 540087 + CallExpression 540087 540128 + Identifier 540087 540108 + Identifier 540109 540118 + Identifier 540119 540127 + ExpressionStatement 540129 540640 + CallExpression 540129 540639 + Identifier 540129 540156 + CallExpression 540157 540583 + Identifier 540157 540206 + CallExpression 540207 540361 + PropertyAccessExpression 540207 540267 + Identifier 540207 540240 + Identifier 540241 540267 + Identifier 540268 540291 + CallExpression 540292 540334 + Identifier 540292 540314 + Identifier 540315 540321 + Identifier 540322 540333 + Identifier 540335 540350 + Identifier 540351 540360 + ConditionalExpression 540362 540559 + PrefixUnaryExpression 540362 540400 + Identifier 540389 540400 + QuestionToken 540400 540402 + ArrayLiteralExpression 540402 540405 + ColonToken 540405 540407 + ArrayLiteralExpression 540407 540559 + ObjectLiteralExpression 540409 540558 + PropertyAssignment 540410 540450 + Identifier 540410 540415 + PropertyAccessExpression 540416 540450 + Identifier 540416 540427 + Identifier 540428 540450 + PropertyAssignment 540451 540512 + Identifier 540451 540456 + BinaryExpression 540457 540512 + BinaryExpression 540457 540504 + StringLiteral 540457 540466 + PlusToken 540466 540468 + CallExpression 540468 540504 + PropertyAccessExpression 540468 540488 + Identifier 540468 540480 + Identifier 540481 540488 + RegularExpressionLiteral 540489 540494 + StringLiteral 540495 540503 + PlusToken 540504 540506 + StringLiteral 540506 540512 + PropertyAssignment 540513 540521 + Identifier 540513 540517 + PrefixUnaryExpression 540518 540521 + NumericLiteral 540520 540521 + PropertyAssignment 540522 540530 + Identifier 540522 540526 + PrefixUnaryExpression 540527 540530 + NumericLiteral 540529 540530 + PropertyAssignment 540531 540556 + Identifier 540531 540550 + TrueKeyword 540551 540556 + Identifier 540584 540619 + ExpressionStatement 540640 540673 + CallExpression 540640 540672 + Identifier 540640 540670 + ExpressionStatement 540673 540739 + BinaryExpression 540673 540738 + PropertyAccessExpression 540673 540719 + Identifier 540673 540698 + Identifier 540699 540719 + EqualsToken 540719 540721 + Identifier 540721 540738 + FunctionDeclaration 540754 542597 + Identifier 540778 540797 + Parameter 540798 540812 + Identifier 540798 540804 + TypeReference 540805 540812 + Identifier 540805 540812 + Parameter 540813 540832 + Identifier 540813 540824 + StringKeyword 540825 540832 + Parameter 540833 540862 + Identifier 540833 540847 + TypeReference 540848 540862 + Identifier 540848 540862 + Block 540863 542597 + VariableStatement 540865 540947 + VariableDeclarationList 540865 540946 + VariableDeclaration 540888 540946 + Identifier 540888 540902 + CallExpression 540904 540946 + Identifier 540904 540938 + Identifier 540939 540945 + VariableStatement 540947 541045 + VariableDeclarationList 540947 541044 + VariableDeclaration 540970 541044 + Identifier 540970 540982 + CallExpression 540984 541044 + Identifier 540984 541036 + Identifier 541037 541043 + VariableStatement 541045 541148 + VariableDeclarationList 541045 541147 + VariableDeclaration 541068 541147 + Identifier 541068 541083 + CallExpression 541085 541147 + Identifier 541085 541089 + Identifier 541090 541101 + ArrowFunction 541102 541146 + Parameter 541102 541104 + Identifier 541102 541104 + EqualsGreaterThanToken 541104 541107 + CallExpression 541107 541146 + Identifier 541107 541134 + Identifier 541135 541136 + Identifier 541137 541145 + VariableStatement 541148 541212 + VariableDeclarationList 541148 541211 + VariableDeclaration 541171 541211 + Identifier 541171 541181 + CallExpression 541183 541211 + Identifier 541183 541196 + Identifier 541197 541210 + VariableStatement 541212 541310 + VariableDeclarationList 541212 541309 + VariableDeclaration 541235 541309 + Identifier 541235 541244 + ConditionalExpression 541246 541309 + CallExpression 541246 541264 + Identifier 541246 541253 + Identifier 541254 541263 + QuestionToken 541264 541266 + CallExpression 541266 541297 + Identifier 541266 541286 + Identifier 541287 541296 + ColonToken 541297 541299 + Identifier 541299 541309 + VariableStatement 541310 541464 + VariableDeclarationList 541310 541463 + VariableDeclaration 541333 541463 + Identifier 541333 541341 + CallExpression 541343 541463 + Identifier 541343 541351 + TypeReference 541352 541358 + Identifier 541352 541358 + TypeReference 541359 541371 + Identifier 541359 541371 + CallExpression 541373 541407 + Identifier 541373 541392 + Identifier 541393 541406 + ArrowFunction 541408 541462 + Parameter 541408 541410 + Identifier 541408 541410 + EqualsGreaterThanToken 541410 541413 + CallExpression 541413 541462 + Identifier 541413 541449 + Identifier 541450 541451 + Identifier 541452 541461 + VariableStatement 541464 541626 + VariableDeclarationList 541464 541625 + VariableDeclaration 541487 541625 + Identifier 541487 541502 + AsExpression 541504 541625 + CallExpression 541504 541595 + Identifier 541504 541524 + PropertyAccessExpression 541525 541543 + Identifier 541525 541538 + Identifier 541539 541543 + Identifier 541544 541558 + Identifier 541559 541568 + PropertyAccessExpression 541569 541594 + Identifier 541569 541580 + Identifier 541581 541594 + ArrayType 541598 541625 + TypeReference 541598 541623 + Identifier 541598 541623 + VariableStatement 541626 541808 + VariableDeclarationList 541626 541807 + VariableDeclaration 541649 541807 + Identifier 541649 541669 + AsExpression 541671 541807 + CallExpression 541671 541772 + Identifier 541671 541691 + PropertyAccessExpression 541692 541715 + Identifier 541692 541705 + Identifier 541706 541715 + Identifier 541716 541730 + Identifier 541731 541740 + PropertyAccessExpression 541741 541771 + Identifier 541741 541752 + Identifier 541753 541771 + ArrayType 541775 541807 + TypeReference 541775 541805 + Identifier 541775 541805 + VariableStatement 541808 541900 + VariableDeclarationList 541808 541899 + VariableDeclaration 541831 541899 + Identifier 541831 541847 + CallExpression 541849 541899 + Identifier 541849 541874 + Identifier 541875 541888 + Identifier 541889 541898 + VariableStatement 541900 542114 + VariableDeclarationList 541900 542113 + VariableDeclaration 541925 542113 + Identifier 541925 541941 + ConditionalExpression 541943 542113 + PrefixUnaryExpression 541943 541962 + CallExpression 541945 541962 + Identifier 541945 541951 + Identifier 541952 541961 + QuestionToken 541962 541964 + Identifier 541964 541974 + ColonToken 541974 541976 + ArrayLiteralExpression 541976 542113 + CallExpression 541978 542112 + PropertyAccessExpression 541978 542006 + Identifier 541978 541985 + Identifier 541986 542006 + PropertyAccessExpression 542007 542032 + Identifier 542007 542017 + Identifier 542018 542032 + CallExpression 542033 542111 + Identifier 542033 542044 + Identifier 542045 542054 + ArrowFunction 542055 542110 + Parameter 542055 542057 + Identifier 542055 542057 + EqualsGreaterThanToken 542057 542060 + CallExpression 542060 542110 + Identifier 542060 542088 + Identifier 542089 542090 + PropertyAccessExpression 542091 542109 + Identifier 542091 542103 + Identifier 542104 542109 + ExpressionStatement 542114 542582 + CallExpression 542114 542581 + Identifier 542114 542141 + CallExpression 542142 542525 + PropertyAccessExpression 542142 542198 + Identifier 542142 542171 + Identifier 542172 542198 + Identifier 542199 542248 + CallExpression 542249 542316 + Identifier 542249 542296 + Identifier 542297 542303 + Identifier 542304 542315 + Identifier 542317 542357 + Identifier 542358 542399 + ArrayLiteralExpression 542400 542501 + SpreadElement 542427 542445 + Identifier 542430 542445 + SpreadElement 542446 542469 + Identifier 542450 542469 + SpreadElement 542470 542488 + Identifier 542474 542488 + SpreadElement 542489 542500 + Identifier 542493 542500 + Identifier 542526 542561 + FunctionDeclaration 542597 543416 + Identifier 542621 542657 + Parameter 542658 542672 + Identifier 542658 542664 + TypeReference 542665 542672 + Identifier 542665 542672 + Block 542673 543416 + VariableStatement 542675 542754 + VariableDeclarationList 542675 542753 + VariableDeclaration 542696 542753 + Identifier 542696 542704 + CallExpression 542706 542753 + Identifier 542706 542716 + CallExpression 542717 542752 + PropertyAccessExpression 542717 542750 + CallExpression 542717 542743 + Identifier 542717 542735 + Identifier 542736 542742 + Identifier 542744 542750 + VariableStatement 542754 542811 + VariableDeclarationList 542754 542810 + VariableDeclaration 542777 542810 + Identifier 542777 542784 + CallExpression 542786 542810 + Identifier 542786 542802 + Identifier 542803 542809 + IfStatement 542811 543267 + BinaryExpression 542833 542850 + Identifier 542833 542839 + ExclamationEqualsEqualsToken 542839 542843 + Identifier 542843 542850 + Block 542851 543267 + VariableStatement 542853 542911 + VariableDeclarationList 542853 542910 + VariableDeclaration 542880 542910 + Identifier 542880 542891 + NewExpression 542893 542910 + Identifier 542897 542901 + Identifier 542902 542909 + ForOfStatement 542911 543194 + VariableDeclarationList 542938 542952 + VariableDeclaration 542943 542952 + Identifier 542943 542952 + CallExpression 542955 542991 + PropertyAccessExpression 542955 542989 + CallExpression 542955 542982 + Identifier 542955 542974 + Identifier 542975 542981 + Identifier 542983 542989 + Block 542992 543194 + IfStatement 542994 543171 + PrefixUnaryExpression 543024 543086 + ParenthesizedExpression 543025 543086 + BinaryExpression 543026 543085 + CallExpression 543026 543065 + Identifier 543026 543040 + CallExpression 543041 543064 + Identifier 543041 543054 + Identifier 543055 543063 + AmpersandToken 543065 543067 + PropertyAccessExpression 543067 543085 + Identifier 543067 543079 + Identifier 543080 543085 + Block 543087 543171 + ExpressionStatement 543089 543144 + CallExpression 543089 543143 + PropertyAccessExpression 543089 543133 + Identifier 543089 543129 + Identifier 543130 543133 + Identifier 543134 543142 + ExpressionStatement 543194 543248 + BinaryExpression 543194 543247 + Identifier 543194 543223 + EqualsToken 543223 543225 + CallExpression 543225 543247 + Identifier 543225 543235 + Identifier 543236 543246 + ReturnStatement 543267 543401 + CallExpression 543291 543400 + Identifier 543291 543298 + Identifier 543299 543306 + ArrowFunction 543307 543399 + Parameter 543307 543309 + Identifier 543307 543309 + EqualsGreaterThanToken 543309 543312 + BinaryExpression 543312 543399 + CallExpression 543312 543333 + Identifier 543312 543330 + Identifier 543331 543332 + AmpersandAmpersandToken 543333 543336 + CallExpression 543336 543399 + Identifier 543336 543353 + AsExpression 543354 543377 + PropertyAccessExpression 543354 543367 + Identifier 543354 543355 + Identifier 543356 543367 + StringKeyword 543370 543377 + PropertyAccessExpression 543378 543398 + Identifier 543378 543391 + Identifier 543392 543398 + FunctionDeclaration 543416 543631 + Identifier 543440 543460 + Parameter 543461 543475 + Identifier 543461 543467 + TypeReference 543468 543475 + Identifier 543468 543475 + Block 543476 543631 + ReturnStatement 543478 543616 + CallExpression 543502 543615 + Identifier 543502 543508 + CallExpression 543509 543552 + Identifier 543509 543544 + Identifier 543545 543551 + ArrowFunction 543553 543614 + Parameter 543553 543555 + Identifier 543553 543555 + EqualsGreaterThanToken 543555 543558 + PrefixUnaryExpression 543558 543614 + ParenthesizedExpression 543560 543614 + BinaryExpression 543561 543613 + CallExpression 543561 543593 + Identifier 543561 543575 + CallExpression 543576 543592 + Identifier 543576 543589 + Identifier 543590 543591 + AmpersandToken 543593 543595 + PropertyAccessExpression 543595 543613 + Identifier 543595 543607 + Identifier 543608 543613 + FunctionDeclaration 543631 547122 + Identifier 543655 543671 + Parameter 543672 543686 + Identifier 543672 543678 + TypeReference 543679 543686 + Identifier 543679 543686 + Parameter 543687 543706 + Identifier 543687 543698 + StringKeyword 543699 543706 + Parameter 543707 543736 + Identifier 543707 543721 + TypeReference 543722 543736 + Identifier 543722 543736 + Block 543737 547122 + VariableStatement 543739 543817 + VariableDeclarationList 543739 543816 + VariableDeclaration 543762 543816 + Identifier 543762 543770 + CallExpression 543772 543816 + Identifier 543772 543808 + Identifier 543809 543815 + VariableStatement 543817 544100 + VariableDeclarationList 543817 544099 + VariableDeclaration 544002 544099 + Identifier 544002 544014 + CallExpression 544016 544099 + Identifier 544016 544032 + Identifier 544033 544040 + ArrowFunction 544041 544098 + Parameter 544041 544043 + Identifier 544041 544043 + EqualsGreaterThanToken 544043 544046 + ConditionalExpression 544046 544098 + BinaryExpression 544046 544078 + PropertyAccessExpression 544046 544055 + Identifier 544046 544048 + Identifier 544049 544055 + AmpersandAmpersandToken 544055 544058 + BinaryExpression 544058 544078 + PropertyAccessExpression 544058 544067 + Identifier 544058 544060 + Identifier 544061 544067 + EqualsEqualsEqualsToken 544067 544071 + Identifier 544071 544078 + QuestionToken 544078 544080 + StringLiteral 544080 544087 + ColonToken 544087 544089 + StringLiteral 544089 544098 + VariableStatement 544100 544176 + VariableDeclarationList 544100 544175 + VariableDeclaration 544123 544175 + Identifier 544123 544135 + BinaryExpression 544137 544175 + CallExpression 544137 544161 + PropertyAccessExpression 544137 544153 + Identifier 544137 544149 + Identifier 544150 544153 + StringLiteral 544154 544160 + BarBarToken 544161 544164 + Identifier 544164 544175 + VariableStatement 544176 544256 + VariableDeclarationList 544176 544255 + VariableDeclaration 544199 544255 + Identifier 544199 544213 + BinaryExpression 544215 544255 + CallExpression 544215 544241 + PropertyAccessExpression 544215 544231 + Identifier 544215 544227 + Identifier 544228 544231 + StringLiteral 544232 544240 + BarBarToken 544241 544244 + Identifier 544244 544255 + IfStatement 544256 544950 + CallExpression 544666 544685 + Identifier 544666 544672 + Identifier 544673 544684 + Block 544686 544950 + VariableStatement 544688 544770 + VariableDeclarationList 544688 544769 + VariableDeclaration 544715 544769 + Identifier 544715 544725 + CallExpression 544727 544769 + Identifier 544727 544749 + Identifier 544750 544756 + Identifier 544757 544768 + ExpressionStatement 544770 544931 + CallExpression 544770 544930 + Identifier 544770 544823 + Identifier 544824 544835 + Identifier 544836 544846 + Identifier 544847 544861 + PrefixUnaryExpression 544862 544929 + PrefixUnaryExpression 544864 544929 + ParenthesizedExpression 544865 544929 + BinaryExpression 544866 544928 + PropertyAccessExpression 544866 544878 + Identifier 544866 544872 + Identifier 544873 544878 + AmpersandToken 544878 544880 + ParenthesizedExpression 544880 544928 + BinaryExpression 544882 544927 + PropertyAccessExpression 544882 544902 + Identifier 544882 544893 + Identifier 544894 544902 + BarToken 544902 544904 + PropertyAccessExpression 544904 544927 + Identifier 544904 544916 + Identifier 544917 544927 + IfStatement 544950 547107 + CallExpression 544972 544993 + Identifier 544972 544978 + Identifier 544979 544992 + Block 544994 547107 + VariableStatement 544996 545091 + VariableDeclarationList 544996 545090 + VariableDeclaration 545023 545090 + Identifier 545023 545038 + CallExpression 545040 545090 + Identifier 545040 545060 + PropertyAccessExpression 545061 545089 + Identifier 545061 545068 + Identifier 545069 545089 + VariableStatement 545091 545173 + VariableDeclarationList 545091 545172 + VariableDeclaration 545118 545172 + Identifier 545118 545128 + CallExpression 545130 545172 + Identifier 545130 545152 + Identifier 545153 545159 + Identifier 545160 545171 + VariableStatement 545173 546694 + VariableDeclarationList 545173 546693 + VariableDeclaration 545200 546693 + Identifier 545200 545207 + CallExpression 545209 546693 + PropertyAccessExpression 545209 545235 + Identifier 545209 545217 + Identifier 545218 545235 + ArrayLiteralExpression 545236 546692 + CallExpression 545237 546691 + PropertyAccessExpression 545237 545268 + Identifier 545237 545244 + Identifier 545245 545268 + Identifier 545269 545318 + FalseKeyword 545319 545365 + CallExpression 545366 546667 + PropertyAccessExpression 545366 545418 + Identifier 545366 545399 + Identifier 545400 545418 + CallExpression 545419 546666 + Identifier 545419 545429 + CallExpression 545430 545507 + Identifier 545430 545436 + Identifier 545437 545450 + ArrowFunction 545451 545506 + Parameter 545451 545453 + Identifier 545451 545453 + EqualsGreaterThanToken 545453 545456 + BinaryExpression 545456 545506 + PropertyAccessExpression 545456 545470 + Identifier 545456 545458 + Identifier 545459 545470 + ExclamationEqualsEqualsToken 545470 545474 + PropertyAccessExpression 545474 545506 + Identifier 545474 545493 + Identifier 545494 545506 + ArrowFunction 545508 546665 + Parameter 545508 545510 + Identifier 545508 545510 + EqualsGreaterThanToken 545510 545513 + Block 545513 546665 + VariableStatement 545515 545600 + VariableDeclarationList 545515 545599 + VariableDeclaration 545550 545599 + Identifier 545550 545555 + CallExpression 545557 545599 + Identifier 545557 545584 + PropertyAccessExpression 545585 545598 + Identifier 545585 545586 + Identifier 545587 545598 + VariableStatement 545600 545679 + VariableDeclarationList 545600 545678 + VariableDeclaration 545635 545678 + Identifier 545635 545645 + CallExpression 545647 545678 + Identifier 545647 545669 + Identifier 545670 545671 + Identifier 545672 545677 + VariableStatement 545679 545776 + VariableDeclarationList 545679 545775 + VariableDeclaration 545714 545775 + Identifier 545714 545724 + BinaryExpression 545726 545775 + PropertyAccessExpression 545726 545741 + Identifier 545726 545728 + Identifier 545729 545741 + AmpersandAmpersandToken 545741 545744 + CallExpression 545744 545775 + Identifier 545744 545772 + Identifier 545773 545774 + IfStatement 545776 546155 + BinaryExpression 545810 545963 + Identifier 545810 545824 + AmpersandAmpersandToken 545824 545827 + ParenthesizedExpression 545827 545963 + ConditionalExpression 545829 545962 + Identifier 545829 545838 + QuestionToken 545838 545840 + BinaryExpression 545840 545890 + Identifier 545840 545855 + ExclamationEqualsEqualsToken 545855 545859 + CallExpression 545859 545890 + Identifier 545859 545879 + Identifier 545880 545889 + ColonToken 545890 545892 + PrefixUnaryExpression 545892 545962 + CallExpression 545894 545962 + Identifier 545894 545898 + PropertyAccessExpression 545899 545913 + Identifier 545899 545900 + Identifier 545901 545913 + ArrowFunction 545914 545961 + Parameter 545914 545916 + Identifier 545914 545916 + EqualsGreaterThanToken 545916 545919 + BinaryExpression 545919 545961 + CallExpression 545919 545942 + Identifier 545919 545939 + Identifier 545940 545941 + EqualsEqualsEqualsToken 545942 545946 + Identifier 545946 545961 + Block 545964 546155 + ExpressionStatement 545966 546073 + CallExpression 545966 546072 + PropertyAccessExpression 545966 546043 + PropertyAccessExpression 545966 546015 + Identifier 545966 546007 + Identifier 546008 546015 + QuestionDotToken 546015 546017 + Identifier 546017 546043 + QuestionDotToken 546043 546045 + Identifier 546046 546060 + Identifier 546061 546068 + Identifier 546069 546071 + ReturnStatement 546073 546124 + Identifier 546113 546123 + VariableStatement 546155 546285 + VariableDeclarationList 546155 546284 + VariableDeclaration 546190 546284 + Identifier 546190 546197 + BinaryExpression 546199 546284 + Identifier 546199 546209 + AmpersandAmpersandToken 546209 546212 + CallExpression 546212 546284 + Identifier 546212 546240 + Identifier 546241 546250 + TrueKeyword 546251 546283 + ExpressionStatement 546285 546349 + CallExpression 546285 546348 + Identifier 546285 546335 + BinaryExpression 546336 546347 + Identifier 546336 546342 + BarBarToken 546342 546345 + Identifier 546345 546347 + VariableStatement 546349 546497 + VariableDeclarationList 546349 546496 + VariableDeclaration 546384 546496 + Identifier 546384 546395 + ConditionalExpression 546397 546496 + Identifier 546397 546404 + QuestionToken 546404 546406 + CallExpression 546406 546484 + Identifier 546406 546428 + Identifier 546429 546435 + CallExpression 546436 546483 + Identifier 546436 546463 + PropertyAccessExpression 546464 546482 + Identifier 546464 546470 + Identifier 546471 546482 + ColonToken 546484 546486 + Identifier 546486 546496 + ReturnStatement 546497 546638 + CallExpression 546533 546637 + PropertyAccessExpression 546533 546563 + Identifier 546533 546541 + Identifier 546542 546563 + FalseKeyword 546564 546584 + ConditionalExpression 546585 546630 + BinaryExpression 546585 546605 + Identifier 546585 546590 + EqualsEqualsEqualsToken 546590 546594 + Identifier 546594 546605 + QuestionToken 546605 546607 + Identifier 546607 546617 + ColonToken 546617 546619 + Identifier 546619 546630 + Identifier 546631 546636 + ExpressionStatement 546694 547088 + CallExpression 546694 547087 + Identifier 546694 546725 + CallExpression 546726 547018 + PropertyAccessExpression 546726 546783 + Identifier 546726 546759 + Identifier 546760 546783 + Identifier 546784 546837 + CallExpression 546838 546903 + PropertyAccessExpression 546838 546892 + Identifier 546838 546875 + Identifier 546876 546892 + Identifier 546893 546902 + Identifier 546904 546940 + PropertyAccessExpression 546941 546990 + Identifier 546941 546980 + Identifier 546981 546990 + PropertyAccessExpression 547019 547063 + Identifier 547019 547058 + Identifier 547059 547063 + FunctionDeclaration 547122 548804 + Identifier 547146 547160 + Parameter 547161 547175 + Identifier 547161 547167 + TypeReference 547168 547175 + Identifier 547168 547175 + Parameter 547176 547195 + Identifier 547176 547187 + StringKeyword 547188 547195 + Parameter 547196 547225 + Identifier 547196 547210 + TypeReference 547211 547225 + Identifier 547211 547225 + Block 547226 548804 + ExpressionStatement 547228 548789 + CallExpression 547228 548788 + Identifier 547228 547255 + CallExpression 547256 548732 + PropertyAccessExpression 547256 547307 + Identifier 547256 547285 + Identifier 547286 547307 + CallExpression 547308 547427 + PropertyAccessExpression 547308 547374 + Identifier 547308 547341 + Identifier 547342 547374 + ConditionalExpression 547375 547426 + CallExpression 547375 547400 + Identifier 547375 547392 + Identifier 547393 547399 + QuestionToken 547400 547402 + PropertyAccessExpression 547402 547422 + Identifier 547402 547416 + Identifier 547417 547422 + ColonToken 547422 547424 + NumericLiteral 547424 547426 + CallExpression 547428 547495 + Identifier 547428 547475 + Identifier 547476 547482 + Identifier 547483 547494 + CallExpression 547496 548708 + Identifier 547496 547525 + CallExpression 547526 547621 + Identifier 547526 547532 + CallExpression 547533 547577 + Identifier 547533 547552 + CallExpression 547553 547576 + Identifier 547553 547568 + Identifier 547569 547575 + ArrowFunction 547578 547620 + Parameter 547578 547580 + Identifier 547578 547580 + EqualsGreaterThanToken 547580 547583 + PrefixUnaryExpression 547583 547620 + PrefixUnaryExpression 547585 547620 + ParenthesizedExpression 547586 547620 + BinaryExpression 547587 547619 + PropertyAccessExpression 547587 547594 + Identifier 547587 547588 + Identifier 547589 547594 + AmpersandToken 547594 547596 + PropertyAccessExpression 547596 547619 + Identifier 547596 547608 + Identifier 547609 547619 + ArrowFunction 547622 548707 + Parameter 547622 547624 + Identifier 547622 547624 + EqualsGreaterThanToken 547624 547627 + Block 547627 548707 + VariableStatement 547629 548223 + VariableDeclarationList 547629 548222 + VariableDeclaration 548082 548222 + Identifier 548082 548099 + ConditionalExpression 548101 548222 + BinaryExpression 548101 548172 + BinaryExpression 548101 548137 + PropertyAccessExpression 548101 548116 + Identifier 548101 548103 + Identifier 548104 548116 + AmpersandAmpersandToken 548116 548119 + ElementAccessExpression 548119 548137 + PropertyAccessExpression 548119 548134 + Identifier 548119 548121 + Identifier 548122 548134 + NumericLiteral 548135 548136 + AmpersandAmpersandToken 548137 548140 + CallExpression 548140 548172 + Identifier 548140 548153 + ElementAccessExpression 548154 548171 + PropertyAccessExpression 548154 548168 + Identifier 548154 548155 + Identifier 548156 548168 + NumericLiteral 548169 548170 + QuestionToken 548172 548174 + CallExpression 548174 548210 + Identifier 548174 548191 + ElementAccessExpression 548192 548209 + PropertyAccessExpression 548192 548206 + Identifier 548192 548193 + Identifier 548194 548206 + NumericLiteral 548207 548208 + ColonToken 548210 548212 + Identifier 548212 548222 + ReturnStatement 548223 548680 + CallExpression 548259 548679 + PropertyAccessExpression 548259 548284 + Identifier 548259 548267 + Identifier 548268 548284 + CallExpression 548285 548360 + Identifier 548285 548345 + PropertyAccessExpression 548346 548359 + Identifier 548346 548347 + Identifier 548348 548359 + ConditionalExpression 548361 548647 + BinaryExpression 548361 548425 + Identifier 548361 548411 + EqualsEqualsEqualsToken 548411 548415 + Identifier 548415 548425 + QuestionToken 548425 548427 + Identifier 548427 548437 + ColonToken 548437 548439 + ConditionalExpression 548439 548647 + BinaryExpression 548439 548513 + TypeOfExpression 548439 548500 + Identifier 548483 548500 + EqualsEqualsEqualsToken 548500 548504 + StringLiteral 548504 548513 + QuestionToken 548513 548515 + CallExpression 548515 548561 + PropertyAccessExpression 548515 548543 + Identifier 548515 548523 + Identifier 548524 548543 + Identifier 548544 548560 + ColonToken 548561 548563 + CallExpression 548563 548647 + PropertyAccessExpression 548563 548629 + Identifier 548563 548608 + Identifier 548609 548629 + Identifier 548630 548646 + Identifier 548733 548768 + FunctionDeclaration 548804 549969 + Identifier 548828 548862 + Parameter 548863 548873 + Identifier 548863 548867 + TypeReference 548868 548873 + Identifier 548868 548873 + Parameter 548874 548889 + Identifier 548874 548881 + TypeReference 548882 548889 + Identifier 548882 548889 + Parameter 548890 548908 + Identifier 548890 548900 + StringKeyword 548901 548908 + Parameter 548909 548938 + Identifier 548909 548923 + TypeReference 548924 548938 + Identifier 548924 548938 + Block 548939 549969 + VariableStatement 548941 549024 + VariableDeclarationList 548941 549023 + VariableDeclaration 548964 549023 + Identifier 548964 548975 + CallExpression 548977 549023 + Identifier 548977 548997 + Identifier 548998 549002 + PropertyAccessExpression 549003 549022 + Identifier 549003 549017 + Identifier 549018 549022 + ForOfStatement 549024 549481 + VariableDeclarationList 549047 549056 + VariableDeclaration 549052 549056 + Identifier 549052 549056 + Identifier 549059 549070 + Block 549071 549481 + VariableStatement 549073 549350 + VariableDeclarationList 549073 549349 + VariableDeclaration 549188 549349 + Identifier 549188 549193 + AsExpression 549195 549349 + CallExpression 549195 549326 + Identifier 549195 549233 + Identifier 549234 549237 + PropertyAccessExpression 549238 549269 + Identifier 549238 549249 + Identifier 549250 549269 + Identifier 549270 549278 + ObjectLiteralExpression 549279 549325 + PropertyAssignment 549281 549323 + Identifier 549281 549286 + CallExpression 549287 549323 + PropertyAccessExpression 549287 549312 + Identifier 549287 549295 + Identifier 549296 549312 + Identifier 549313 549322 + TypeReference 549329 549349 + Identifier 549329 549349 + ExpressionStatement 549350 549462 + CallExpression 549350 549461 + Identifier 549350 549381 + CallExpression 549382 549445 + Identifier 549382 549394 + Identifier 549395 549402 + Identifier 549403 549408 + CallExpression 549409 549444 + Identifier 549409 549439 + Identifier 549440 549443 + Identifier 549446 549460 + IfStatement 549481 549954 + PrefixUnaryExpression 549602 549720 + ParenthesizedExpression 549603 549720 + BinaryExpression 549604 549719 + BinaryExpression 549604 549694 + BinaryExpression 549604 549674 + PropertyAccessExpression 549604 549616 + Identifier 549604 549610 + Identifier 549611 549616 + AmpersandToken 549616 549618 + ParenthesizedExpression 549618 549674 + BinaryExpression 549620 549673 + PropertyAccessExpression 549620 549643 + Identifier 549620 549631 + Identifier 549632 549643 + BarToken 549643 549645 + PropertyAccessExpression 549645 549673 + Identifier 549645 549657 + Identifier 549658 549673 + AmpersandAmpersandToken 549674 549677 + PrefixUnaryExpression 549677 549694 + PrefixUnaryExpression 549679 549694 + PropertyAccessExpression 549680 549694 + Identifier 549680 549686 + Identifier 549687 549694 + AmpersandAmpersandToken 549694 549697 + PrefixUnaryExpression 549697 549719 + PrefixUnaryExpression 549699 549719 + PropertyAccessExpression 549700 549719 + PropertyAccessExpression 549700 549714 + Identifier 549700 549706 + Identifier 549707 549714 + Identifier 549715 549719 + Block 549721 549954 + VariableStatement 549723 549812 + VariableDeclarationList 549723 549811 + VariableDeclaration 549750 549811 + Identifier 549750 549756 + CallExpression 549758 549811 + Identifier 549758 549765 + CallExpression 549766 549791 + Identifier 549766 549785 + Identifier 549786 549790 + Identifier 549792 549810 + ExpressionStatement 549812 549935 + CallExpression 549812 549934 + Identifier 549812 549865 + Identifier 549866 549871 + Identifier 549872 549882 + Identifier 549883 549897 + TrueKeyword 549898 549933 + FunctionDeclaration 549969 550772 + Identifier 549993 550023 + Parameter 550024 550044 + Identifier 550024 550033 + TypeReference 550034 550044 + Identifier 550034 550044 + Block 550045 550772 + IfStatement 550047 550710 + BinaryExpression 550069 550122 + PropertyAccessExpression 550069 550090 + Identifier 550069 550078 + Identifier 550079 550090 + AmpersandAmpersandToken 550090 550093 + PropertyAccessExpression 550093 550122 + PropertyAccessExpression 550093 550115 + Identifier 550093 550103 + Identifier 550104 550115 + Identifier 550116 550122 + Block 550123 550710 + IfStatement 550125 550388 + BinaryExpression 550151 550300 + CallExpression 550151 550199 + Identifier 550151 550169 + PropertyAccessExpression 550170 550198 + PropertyAccessExpression 550170 550191 + Identifier 550170 550179 + Identifier 550180 550191 + Identifier 550192 550198 + AmpersandAmpersandToken 550199 550202 + BinaryExpression 550202 550300 + CallExpression 550202 550261 + Identifier 550202 550231 + PropertyAccessExpression 550232 550260 + PropertyAccessExpression 550232 550253 + Identifier 550232 550241 + Identifier 550242 550253 + Identifier 550254 550260 + EqualsEqualsEqualsToken 550261 550265 + PropertyAccessExpression 550265 550300 + Identifier 550265 550291 + Identifier 550292 550300 + Block 550301 550388 + ReturnStatement 550303 550365 + PropertyAccessExpression 550335 550364 + PropertyAccessExpression 550335 550357 + Identifier 550335 550345 + Identifier 550346 550357 + Identifier 550358 550364 + IfStatement 550388 550691 + BinaryExpression 550506 550596 + CallExpression 550506 550557 + Identifier 550506 550527 + PropertyAccessExpression 550528 550556 + PropertyAccessExpression 550528 550549 + Identifier 550528 550537 + Identifier 550538 550549 + Identifier 550550 550556 + AmpersandAmpersandToken 550557 550560 + PropertyAccessExpression 550560 550596 + PropertyAccessExpression 550560 550589 + PropertyAccessExpression 550560 550582 + Identifier 550560 550570 + Identifier 550571 550582 + Identifier 550583 550589 + Identifier 550590 550596 + Block 550597 550691 + ReturnStatement 550599 550668 + PropertyAccessExpression 550631 550667 + PropertyAccessExpression 550631 550660 + PropertyAccessExpression 550631 550653 + Identifier 550631 550641 + Identifier 550642 550653 + Identifier 550654 550660 + Identifier 550661 550667 + ReturnStatement 550710 550757 + PropertyAccessExpression 550734 550756 + Identifier 550734 550744 + Identifier 550745 550756 + FunctionDeclaration 550772 555210 + Identifier 550796 550828 + Parameter 550829 550853 + Identifier 550829 550834 + TypeOperator 550835 550853 + ArrayType 550844 550853 + TypeReference 550844 550851 + Identifier 550844 550851 + Parameter 550854 550872 + Identifier 550854 550864 + StringKeyword 550865 550872 + Parameter 550873 550902 + Identifier 550873 550887 + TypeReference 550888 550902 + Identifier 550888 550902 + Parameter 550903 550938 + Identifier 550903 550929 + BooleanKeyword 550930 550938 + Block 550939 555210 + IfStatement 550941 555195 + CallExpression 550963 550976 + Identifier 550963 550969 + Identifier 550970 550975 + Block 550977 555195 + VariableStatement 550979 551208 + VariableDeclarationList 550979 551207 + VariableDeclaration 551006 551207 + Identifier 551006 551023 + CallExpression 551025 551207 + Identifier 551025 551041 + Identifier 551042 551047 + ArrowFunction 551048 551206 + Parameter 551048 551050 + Identifier 551048 551050 + EqualsGreaterThanToken 551050 551053 + ConditionalExpression 551053 551206 + BinaryExpression 551053 551185 + PrefixUnaryExpression 551053 551077 + CallExpression 551055 551077 + Identifier 551055 551061 + PropertyAccessExpression 551062 551076 + Identifier 551062 551063 + Identifier 551064 551076 + BarBarToken 551077 551080 + CallExpression 551080 551185 + Identifier 551080 551085 + PropertyAccessExpression 551086 551100 + Identifier 551086 551087 + Identifier 551088 551100 + ArrowFunction 551101 551184 + Parameter 551101 551103 + Identifier 551101 551103 + EqualsGreaterThanToken 551103 551106 + BinaryExpression 551106 551184 + CallExpression 551106 551129 + Identifier 551106 551126 + Identifier 551127 551128 + EqualsEqualsEqualsToken 551129 551133 + CallExpression 551133 551184 + Identifier 551133 551153 + NonNullExpression 551154 551183 + PropertyAccessExpression 551154 551182 + Identifier 551154 551161 + Identifier 551162 551182 + QuestionToken 551185 551187 + StringLiteral 551187 551195 + ColonToken 551195 551197 + StringLiteral 551197 551206 + VariableStatement 551208 551293 + VariableDeclarationList 551208 551292 + VariableDeclaration 551235 551292 + Identifier 551235 551246 + BinaryExpression 551248 551292 + CallExpression 551248 551278 + PropertyAccessExpression 551248 551269 + Identifier 551248 551265 + Identifier 551266 551269 + StringLiteral 551270 551277 + BarBarToken 551278 551281 + Identifier 551281 551292 + VariableStatement 551293 552850 + VariableDeclarationList 551293 552849 + VariableDeclaration 552682 552849 + Identifier 552682 552692 + CallExpression 552694 552849 + PropertyAccessExpression 552694 552735 + Identifier 552694 552711 + Identifier 552712 552735 + Identifier 552736 552759 + CallExpression 552760 552796 + PropertyAccessExpression 552760 552785 + Identifier 552760 552768 + Identifier 552769 552785 + Identifier 552786 552795 + CallExpression 552797 552827 + PropertyAccessExpression 552797 552823 + Identifier 552797 552805 + Identifier 552806 552823 + ArrayLiteralExpression 552824 552826 + PropertyAccessExpression 552828 552848 + Identifier 552828 552838 + Identifier 552839 552848 + ExpressionStatement 552850 552952 + CallExpression 552850 552951 + Identifier 552850 552881 + Identifier 552882 552891 + AsExpression 552892 552950 + Identifier 552892 552913 + UnionType 552916 552950 + TypeReference 552916 552927 + Identifier 552916 552927 + TypeReference 552929 552950 + Identifier 552929 552950 + ExpressionStatement 552952 553018 + BinaryExpression 552952 553017 + PropertyAccessExpression 552952 552990 + Identifier 552952 552983 + Identifier 552984 552990 + EqualsToken 552990 552992 + CallExpression 552992 553017 + Identifier 552992 553010 + Identifier 553011 553016 + ExpressionStatement 553018 553076 + BinaryExpression 553018 553075 + PropertyAccessExpression 553018 553056 + Identifier 553018 553049 + Identifier 553050 553056 + EqualsToken 553056 553058 + NonNullExpression 553058 553075 + PropertyAccessExpression 553058 553074 + ElementAccessExpression 553058 553067 + Identifier 553058 553064 + NumericLiteral 553065 553066 + Identifier 553068 553074 + VariableStatement 553076 553127 + VariableDeclarationList 553076 553126 + VariableDeclaration 553105 553126 + Identifier 553105 553116 + Identifier 553118 553126 + ExpressionStatement 553127 553162 + BinaryExpression 553127 553161 + Identifier 553127 553156 + EqualsToken 553156 553158 + ArrayLiteralExpression 553158 553161 + VariableStatement 553162 553223 + VariableDeclarationList 553162 553222 + VariableDeclaration 553189 553222 + Identifier 553189 553206 + Identifier 553208 553222 + ExpressionStatement 553223 553267 + BinaryExpression 553223 553266 + Identifier 553223 553258 + EqualsToken 553258 553260 + FalseKeyword 553260 553266 + VariableStatement 553267 553356 + VariableDeclarationList 553267 553355 + VariableDeclaration 553294 553355 + Identifier 553294 553305 + ObjectLiteralExpression 553307 553355 + SpreadAssignment 553309 553320 + Identifier 553313 553320 + PropertyAssignment 553321 553353 + Identifier 553321 553342 + Identifier 553343 553353 + VariableStatement 553356 553405 + VariableDeclarationList 553356 553404 + VariableDeclaration 553383 553404 + Identifier 553383 553394 + Identifier 553396 553404 + ExpressionStatement 553405 553448 + BinaryExpression 553405 553447 + Identifier 553405 553434 + EqualsToken 553434 553436 + Identifier 553436 553447 + ExpressionStatement 553448 553780 + CallExpression 553448 553779 + Identifier 553448 553695 + CallExpression 553696 553725 + Identifier 553696 553713 + Identifier 553714 553724 + Identifier 553726 553752 + TrueKeyword 553753 553778 + ExpressionStatement 553780 553823 + BinaryExpression 553780 553822 + Identifier 553780 553809 + EqualsToken 553809 553811 + Identifier 553811 553822 + ExpressionStatement 553823 553878 + BinaryExpression 553823 553877 + Identifier 553823 553858 + EqualsToken 553858 553860 + Identifier 553860 553877 + VariableStatement 553878 553929 + VariableDeclarationList 553878 553928 + VariableDeclaration 553905 553928 + Identifier 553905 553918 + Identifier 553920 553928 + ExpressionStatement 553929 553972 + BinaryExpression 553929 553971 + Identifier 553929 553958 + EqualsToken 553958 553960 + Identifier 553960 553971 + VariableStatement 553972 554556 + VariableDeclarationList 553972 554555 + VariableDeclaration 554064 554555 + Identifier 554064 554080 + CallExpression 554082 554555 + Identifier 554082 554086 + Identifier 554087 554099 + ArrowFunction 554100 554554 + Parameter 554100 554102 + Identifier 554100 554102 + EqualsGreaterThanToken 554102 554105 + ConditionalExpression 554105 554554 + BinaryExpression 554105 554203 + BinaryExpression 554105 554173 + CallExpression 554105 554152 + Identifier 554105 554149 + Identifier 554150 554151 + AmpersandAmpersandToken 554152 554155 + PrefixUnaryExpression 554155 554173 + PropertyAccessExpression 554157 554173 + Identifier 554157 554158 + Identifier 554159 554173 + AmpersandAmpersandToken 554173 554176 + CallExpression 554176 554203 + Identifier 554176 554189 + PropertyAccessExpression 554190 554202 + Identifier 554190 554191 + Identifier 554192 554202 + QuestionToken 554203 554205 + CallExpression 554205 554550 + PropertyAccessExpression 554205 554237 + Identifier 554205 554213 + Identifier 554214 554237 + Identifier 554238 554291 + FalseKeyword 554292 554342 + CallExpression 554343 554522 + PropertyAccessExpression 554343 554399 + Identifier 554343 554380 + Identifier 554381 554399 + ArrayLiteralExpression 554400 554521 + CallExpression 554401 554520 + PropertyAccessExpression 554401 554430 + Identifier 554401 554408 + Identifier 554409 554430 + FalseKeyword 554431 554451 + PropertyAccessExpression 554452 554465 + Identifier 554452 554454 + Identifier 554455 554465 + CallExpression 554466 554519 + PropertyAccessExpression 554466 554491 + Identifier 554466 554474 + Identifier 554475 554491 + PropertyAccessExpression 554492 554518 + Identifier 554492 554510 + Identifier 554511 554518 + ColonToken 554550 554552 + Identifier 554552 554554 + VariableStatement 554556 554785 + VariableDeclarationList 554556 554784 + VariableDeclaration 554583 554784 + Identifier 554583 554606 + ConditionalExpression 554608 554784 + CallExpression 554608 554683 + Identifier 554608 554614 + Identifier 554615 554630 + ArrowFunction 554631 554682 + Parameter 554631 554633 + Identifier 554631 554633 + EqualsGreaterThanToken 554633 554636 + CallExpression 554636 554682 + Identifier 554636 554657 + Identifier 554658 554659 + PropertyAccessExpression 554660 554681 + Identifier 554660 554674 + Identifier 554675 554681 + QuestionToken 554683 554685 + CallExpression 554685 554766 + Identifier 554685 554689 + AsExpression 554690 554743 + Identifier 554690 554705 + ArrayType 554708 554743 + TypeReference 554708 554741 + Identifier 554708 554716 + TypeReference 554717 554729 + Identifier 554717 554729 + TypeReference 554730 554740 + Identifier 554730 554740 + Identifier 554744 554765 + ColonToken 554766 554768 + Identifier 554768 554784 + ExpressionStatement 554785 555074 + BinaryExpression 554785 555073 + Identifier 554785 554816 + EqualsToken 554816 554818 + CallExpression 554818 555073 + PropertyAccessExpression 554818 554850 + Identifier 554818 554826 + Identifier 554827 554850 + Identifier 554851 554886 + PropertyAccessExpression 554887 554932 + Identifier 554887 554922 + Identifier 554923 554932 + PropertyAccessExpression 554933 554973 + Identifier 554933 554968 + Identifier 554969 554973 + CallExpression 554974 555049 + PropertyAccessExpression 554974 555025 + Identifier 554974 555007 + Identifier 555008 555025 + Identifier 555026 555048 + ExpressionStatement 555074 555132 + CallExpression 555074 555131 + Identifier 555074 555105 + Identifier 555106 555115 + Identifier 555116 555130 + FunctionDeclaration 555210 555570 + Identifier 555234 555252 + Parameter 555253 555262 + Identifier 555253 555254 + TypeReference 555255 555262 + Identifier 555255 555262 + Block 555263 555570 + ReturnStatement 555265 555555 + BinaryExpression 555289 555554 + PrefixUnaryExpression 555289 555366 + PrefixUnaryExpression 555291 555366 + ParenthesizedExpression 555292 555366 + BinaryExpression 555293 555365 + PropertyAccessExpression 555293 555300 + Identifier 555293 555294 + Identifier 555295 555300 + AmpersandToken 555300 555302 + ParenthesizedExpression 555302 555365 + BinaryExpression 555304 555364 + BinaryExpression 555304 555344 + PropertyAccessExpression 555304 555320 + Identifier 555304 555315 + Identifier 555316 555320 + BarToken 555320 555322 + PropertyAccessExpression 555322 555344 + Identifier 555322 555334 + Identifier 555335 555344 + BarToken 555344 555346 + PropertyAccessExpression 555346 555364 + Identifier 555346 555358 + Identifier 555359 555364 + BarBarToken 555366 555369 + PrefixUnaryExpression 555369 555554 + ParenthesizedExpression 555392 555554 + BinaryExpression 555393 555553 + BinaryExpression 555393 555457 + BinaryExpression 555393 555424 + PropertyAccessExpression 555393 555400 + Identifier 555393 555394 + Identifier 555395 555400 + AmpersandToken 555400 555402 + PropertyAccessExpression 555402 555424 + Identifier 555402 555414 + Identifier 555415 555424 + BarBarToken 555424 555427 + BinaryExpression 555427 555457 + PropertyAccessExpression 555427 555441 + Identifier 555427 555429 + Identifier 555430 555441 + EqualsEqualsEqualsToken 555441 555445 + StringLiteral 555445 555457 + BarBarToken 555457 555460 + BinaryExpression 555460 555553 + BinaryExpression 555460 555511 + PropertyAccessExpression 555460 555479 + Identifier 555460 555462 + Identifier 555463 555479 + AmpersandAmpersandToken 555479 555482 + CallExpression 555482 555511 + Identifier 555482 555491 + PropertyAccessExpression 555492 555510 + Identifier 555492 555493 + Identifier 555494 555510 + AmpersandAmpersandToken 555511 555514 + CallExpression 555514 555553 + Identifier 555514 555526 + PropertyAccessExpression 555527 555552 + PropertyAccessExpression 555527 555545 + Identifier 555527 555528 + Identifier 555529 555545 + Identifier 555546 555552 + FunctionDeclaration 555570 557349 + Identifier 555594 555618 + Parameter 555619 555666 + Identifier 555619 555626 + TypeOperator 555627 555666 + ArrayType 555636 555666 + TypeReference 555636 555664 + Identifier 555636 555664 + UnionType 555668 555710 + ArrayType 555668 555698 + TypeReference 555668 555696 + Identifier 555668 555696 + UndefinedKeyword 555700 555710 + Block 555710 557349 + VariableStatement 555712 557187 + VariableDeclarationList 555712 557186 + VariableDeclaration 555735 557186 + Identifier 555735 555742 + CallExpression 555744 557186 + Identifier 555744 555755 + Identifier 555756 555763 + ArrowFunction 555764 557185 + Parameter 555764 555766 + Identifier 555764 555766 + EqualsGreaterThanToken 555766 555769 + Block 555769 557185 + VariableStatement 555771 555843 + VariableDeclarationList 555771 555842 + VariableDeclaration 555798 555842 + Identifier 555798 555811 + PropertyAccessExpression 555813 555842 + Identifier 555813 555821 + Identifier 555822 555842 + ExpressionStatement 555843 555898 + BinaryExpression 555843 555897 + PropertyAccessExpression 555843 555893 + Identifier 555843 555872 + Identifier 555873 555893 + EqualsToken 555893 555895 + Identifier 555895 555897 + VariableStatement 555898 555944 + VariableDeclarationList 555898 555943 + VariableDeclaration 555923 555943 + Identifier 555923 555928 + PropertyAccessExpression 555930 555943 + Identifier 555930 555932 + Identifier 555933 555943 + IfStatement 555944 556604 + CallExpression 555970 555998 + Identifier 555970 555992 + Identifier 555993 555997 + Block 555999 556604 + IfStatement 556001 556283 + BinaryExpression 556031 556072 + CallExpression 556031 556049 + Identifier 556031 556043 + Identifier 556044 556048 + AmpersandAmpersandToken 556049 556052 + BinaryExpression 556052 556072 + CallExpression 556052 556065 + Identifier 556052 556059 + Identifier 556060 556064 + EqualsEqualsEqualsToken 556065 556069 + StringLiteral 556069 556072 + Block 556073 556283 + ReturnStatement 556075 556142 + CallExpression 556111 556141 + Identifier 556111 556119 + Identifier 556120 556140 + VariableStatement 556283 556338 + VariableDeclarationList 556283 556337 + VariableDeclaration 556312 556337 + Identifier 556312 556328 + BooleanKeyword 556329 556337 + ExpressionStatement 556338 556439 + ParenthesizedExpression 556338 556438 + BinaryExpression 556365 556437 + ObjectLiteralExpression 556365 556396 + ShorthandPropertyAssignment 556366 556382 + Identifier 556366 556382 + PropertyAssignment 556383 556394 + Identifier 556383 556388 + Identifier 556389 556394 + EqualsToken 556396 556398 + CallExpression 556398 556437 + Identifier 556398 556422 + Identifier 556423 556427 + Identifier 556428 556436 + IfStatement 556439 556581 + Identifier 556469 556484 + Block 556485 556581 + ReturnStatement 556487 556554 + CallExpression 556523 556553 + Identifier 556523 556531 + Identifier 556532 556552 + ReturnStatement 556604 556974 + CallExpression 556632 556973 + Identifier 556632 556640 + CallExpression 556641 556972 + PropertyAccessExpression 556641 556682 + Identifier 556641 556648 + Identifier 556649 556682 + Identifier 556683 556713 + CallExpression 556714 556948 + Identifier 556714 556743 + PropertyAccessExpression 556744 556759 + Identifier 556744 556745 + Identifier 556746 556759 + ArrowFunction 556760 556947 + Parameter 556760 556762 + Identifier 556760 556762 + EqualsGreaterThanToken 556762 556765 + BinaryExpression 556765 556947 + CallExpression 556765 556852 + PropertyAccessExpression 556765 556840 + Identifier 556765 556815 + Identifier 556816 556840 + Identifier 556841 556848 + Identifier 556849 556851 + BarBarToken 556852 556884 + CallExpression 556884 556947 + Identifier 556884 556905 + CallExpression 556906 556937 + Identifier 556906 556925 + Identifier 556926 556933 + Identifier 556934 556936 + Identifier 556938 556946 + FunctionDeclaration 556974 557166 + Identifier 557006 557014 + TypeParameter 557015 557016 + Identifier 557015 557016 + Parameter 557018 557027 + Identifier 557018 557024 + TypeReference 557025 557027 + Identifier 557025 557027 + TypeReference 557029 557031 + Identifier 557029 557031 + Block 557031 557166 + ExpressionStatement 557033 557103 + BinaryExpression 557033 557102 + PropertyAccessExpression 557033 557087 + Identifier 557033 557066 + Identifier 557067 557087 + EqualsToken 557087 557089 + Identifier 557089 557102 + ReturnStatement 557103 557143 + Identifier 557135 557142 + IfStatement 557187 557299 + BinaryExpression 557209 557241 + PropertyAccessExpression 557209 557222 + Identifier 557209 557215 + Identifier 557216 557222 + EqualsEqualsEqualsToken 557222 557226 + PropertyAccessExpression 557226 557241 + Identifier 557226 557234 + Identifier 557235 557241 + Block 557242 557299 + ReturnStatement 557244 557280 + Identifier 557272 557279 + ReturnStatement 557299 557334 + Identifier 557323 557333 + FunctionDeclaration 557349 563238 + Identifier 557373 557390 + Parameter 557391 557405 + Identifier 557391 557397 + TypeReference 557398 557405 + Identifier 557398 557405 + Parameter 557406 557424 + Identifier 557406 557416 + StringKeyword 557417 557424 + Parameter 557425 557454 + Identifier 557425 557439 + TypeReference 557440 557454 + Identifier 557440 557454 + Block 557455 563238 + VariableStatement 557457 557535 + VariableDeclarationList 557457 557534 + VariableDeclaration 557480 557534 + Identifier 557480 557493 + CallExpression 557495 557534 + PropertyAccessExpression 557495 557521 + PropertyAccessExpression 557495 557515 + Identifier 557495 557502 + Identifier 557503 557515 + QuestionDotToken 557515 557517 + Identifier 557517 557521 + Identifier 557522 557533 + VariableStatement 557535 557603 + VariableDeclarationList 557535 557602 + VariableDeclaration 557558 557602 + Identifier 557558 557571 + PropertyAccessExpression 557573 557602 + Identifier 557573 557581 + Identifier 557582 557602 + ExpressionStatement 557603 557681 + BinaryExpression 557603 557680 + PropertyAccessExpression 557603 557649 + Identifier 557603 557628 + Identifier 557629 557649 + EqualsToken 557649 557651 + BinaryExpression 557651 557680 + Identifier 557651 557664 + BarBarToken 557664 557667 + Identifier 557667 557680 + VariableStatement 557681 557779 + VariableDeclarationList 557681 557778 + VariableDeclaration 557704 557778 + Identifier 557704 557716 + CallExpression 557718 557778 + Identifier 557718 557770 + Identifier 557771 557777 + VariableStatement 557779 557882 + VariableDeclarationList 557779 557881 + VariableDeclaration 557802 557881 + Identifier 557802 557817 + CallExpression 557819 557881 + Identifier 557819 557823 + Identifier 557824 557835 + ArrowFunction 557836 557880 + Parameter 557836 557838 + Identifier 557836 557838 + EqualsGreaterThanToken 557838 557841 + CallExpression 557841 557880 + Identifier 557841 557868 + Identifier 557869 557870 + Identifier 557871 557879 + VariableStatement 557882 558002 + VariableDeclarationList 557882 558001 + VariableDeclaration 557905 558001 + Identifier 557905 557915 + AsExpression 557917 558001 + CallExpression 557917 557984 + Identifier 557917 557941 + CallExpression 557942 557983 + Identifier 557942 557975 + Identifier 557976 557982 + TypeReference 557987 558001 + Identifier 557987 558001 + VariableStatement 558002 558062 + VariableDeclarationList 558002 558061 + VariableDeclaration 558025 558061 + Identifier 558025 558035 + CallExpression 558037 558061 + Identifier 558037 558050 + Identifier 558051 558060 + VariableStatement 558062 558169 + VariableDeclarationList 558062 558168 + VariableDeclaration 558085 558168 + Identifier 558085 558104 + BinaryExpression 558106 558168 + Identifier 558106 558119 + AmpersandAmpersandToken 558119 558122 + CallExpression 558122 558168 + Identifier 558122 558154 + Identifier 558155 558167 + VariableStatement 558169 558375 + VariableDeclarationList 558169 558374 + VariableDeclaration 558192 558374 + Identifier 558192 558214 + BinaryExpression 558216 558374 + BinaryExpression 558216 558282 + Identifier 558216 558235 + AmpersandAmpersandToken 558235 558238 + CallExpression 558238 558282 + Identifier 558238 558262 + Identifier 558263 558281 + BarBarToken 558282 558306 + CallExpression 558306 558374 + Identifier 558306 558317 + CallExpression 558318 558347 + Identifier 558318 558336 + Identifier 558337 558346 + Identifier 558348 558373 + VariableStatement 558375 558436 + VariableDeclarationList 558375 558435 + VariableDeclaration 558398 558435 + Identifier 558398 558409 + CallExpression 558411 558435 + Identifier 558411 558427 + Identifier 558428 558434 + VariableStatement 558436 558559 + VariableDeclarationList 558436 558558 + VariableDeclaration 558459 558558 + Identifier 558459 558467 + BinaryExpression 558469 558558 + PrefixUnaryExpression 558469 558507 + PrefixUnaryExpression 558471 558507 + PropertyAccessExpression 558472 558507 + PropertyAccessExpression 558472 558489 + Identifier 558472 558482 + Identifier 558483 558489 + QuestionDotToken 558489 558491 + Identifier 558491 558507 + AmpersandAmpersandToken 558507 558510 + CallExpression 558510 558558 + Identifier 558510 558522 + PropertyAccessExpression 558523 558557 + PropertyAccessExpression 558523 558540 + Identifier 558523 558533 + Identifier 558534 558540 + Identifier 558541 558557 + VariableStatement 558559 558721 + VariableDeclarationList 558559 558720 + VariableDeclaration 558582 558720 + Identifier 558582 558597 + ConditionalExpression 558599 558720 + Identifier 558599 558607 + QuestionToken 558607 558630 + CallExpression 558630 558689 + Identifier 558630 558660 + AsExpression 558661 558688 + Identifier 558661 558671 + TypeReference 558674 558688 + Identifier 558674 558688 + ColonToken 558689 558712 + Identifier 558712 558720 + VariableStatement 558721 559110 + VariableDeclarationList 558721 559109 + VariableDeclaration 558744 559109 + Identifier 558744 558760 + ArrayLiteralExpression 558762 559109 + SpreadElement 558764 558942 + ConditionalExpression 558789 558942 + PrefixUnaryExpression 558789 558807 + CallExpression 558790 558807 + Identifier 558790 558796 + Identifier 558797 558806 + QuestionToken 558807 558809 + ArrayLiteralExpression 558809 558812 + ColonToken 558812 558814 + ArrayLiteralExpression 558814 558942 + CallExpression 558816 558941 + PropertyAccessExpression 558816 558844 + Identifier 558816 558823 + Identifier 558824 558844 + PropertyAccessExpression 558845 558870 + Identifier 558845 558855 + Identifier 558856 558870 + CallExpression 558871 558940 + Identifier 558871 558875 + Identifier 558876 558885 + ArrowFunction 558886 558939 + Parameter 558886 558888 + Identifier 558886 558888 + EqualsGreaterThanToken 558888 558891 + CallExpression 558891 558939 + Identifier 558891 558909 + Identifier 558910 558911 + Identifier 558912 558927 + Identifier 558928 558938 + SpreadElement 558943 559089 + ConditionalExpression 558968 559089 + PrefixUnaryExpression 558968 558998 + CallExpression 558969 558998 + Identifier 558969 558975 + Identifier 558976 558997 + QuestionToken 558998 559000 + ArrayLiteralExpression 559000 559003 + ColonToken 559003 559005 + ArrayLiteralExpression 559005 559089 + CallExpression 559007 559088 + PropertyAccessExpression 559007 559035 + Identifier 559007 559014 + Identifier 559015 559035 + PropertyAccessExpression 559036 559064 + Identifier 559036 559046 + Identifier 559047 559064 + Identifier 559065 559087 + VariableStatement 559110 559228 + VariableDeclarationList 559110 559227 + VariableDeclaration 559133 559227 + Identifier 559133 559145 + CallExpression 559147 559227 + Identifier 559147 559173 + Identifier 559174 559183 + Identifier 559184 559194 + CallExpression 559195 559226 + Identifier 559195 559215 + Identifier 559216 559225 + VariableStatement 559228 559698 + VariableDeclarationList 559228 559697 + VariableDeclaration 559251 559697 + Identifier 559251 559269 + CallExpression 559271 559697 + Identifier 559271 559278 + Identifier 559279 559290 + ArrowFunction 559291 559696 + Parameter 559291 559293 + Identifier 559291 559293 + EqualsGreaterThanToken 559293 559296 + Block 559296 559696 + VariableStatement 559298 559561 + VariableDeclarationList 559298 559560 + VariableDeclaration 559529 559560 + Identifier 559529 559539 + PropertyAccessExpression 559541 559560 + Identifier 559541 559543 + Identifier 559544 559560 + ReturnStatement 559561 559677 + BinaryExpression 559589 559676 + PrefixUnaryExpression 559589 559601 + PrefixUnaryExpression 559591 559601 + Identifier 559592 559601 + AmpersandAmpersandToken 559601 559604 + PrefixUnaryExpression 559604 559676 + ParenthesizedExpression 559606 559676 + BinaryExpression 559607 559675 + CallExpression 559607 559636 + Identifier 559607 559625 + Identifier 559626 559635 + AmpersandAmpersandToken 559636 559639 + CallExpression 559639 559675 + Identifier 559639 559659 + PropertyAccessExpression 559660 559674 + Identifier 559660 559669 + Identifier 559670 559674 + VariableStatement 559698 560166 + VariableDeclarationList 559698 560165 + VariableDeclaration 559721 560165 + Identifier 559721 559742 + CallExpression 559744 560165 + Identifier 559744 559749 + Identifier 559750 559761 + ArrowFunction 559762 560164 + Parameter 559762 559764 + Identifier 559762 559764 + EqualsGreaterThanToken 559764 559767 + Block 559767 560164 + VariableStatement 559769 560032 + VariableDeclarationList 559769 560031 + VariableDeclaration 560000 560031 + Identifier 560000 560010 + PropertyAccessExpression 560012 560031 + Identifier 560012 560014 + Identifier 560015 560031 + ReturnStatement 560032 560145 + BinaryExpression 560060 560144 + BinaryExpression 560060 560105 + PrefixUnaryExpression 560060 560072 + PrefixUnaryExpression 560062 560072 + Identifier 560063 560072 + AmpersandAmpersandToken 560072 560075 + CallExpression 560075 560105 + Identifier 560075 560094 + Identifier 560095 560104 + AmpersandAmpersandToken 560105 560108 + CallExpression 560108 560144 + Identifier 560108 560128 + PropertyAccessExpression 560129 560143 + Identifier 560129 560138 + Identifier 560139 560143 + VariableStatement 560166 560704 + VariableDeclarationList 560166 560703 + VariableDeclaration 560261 560703 + Identifier 560261 560279 + ConditionalExpression 560281 560703 + Identifier 560281 560302 + QuestionToken 560302 560304 + ArrayLiteralExpression 560304 560669 + CallExpression 560327 560668 + PropertyAccessExpression 560327 560360 + Identifier 560327 560334 + Identifier 560335 560360 + Identifier 560361 560410 + CallExpression 560411 560480 + PropertyAccessExpression 560411 560468 + Identifier 560411 560444 + Identifier 560445 560468 + StringLiteral 560469 560479 + Identifier 560481 560547 + Identifier 560548 560592 + Identifier 560593 560644 + ColonToken 560669 560671 + Identifier 560671 560703 + VariableStatement 560704 560871 + VariableDeclarationList 560704 560870 + VariableDeclaration 560727 560870 + Identifier 560727 560744 + CallExpression 560746 560870 + Identifier 560746 560754 + TypeReference 560755 560761 + Identifier 560755 560761 + TypeReference 560762 560775 + Identifier 560762 560775 + Identifier 560777 560794 + ArrowFunction 560795 560869 + Parameter 560795 560797 + Identifier 560795 560797 + EqualsGreaterThanToken 560797 560800 + CallExpression 560800 560869 + Identifier 560800 560832 + Identifier 560833 560834 + FalseKeyword 560835 560854 + ElementAccessExpression 560855 560868 + Identifier 560855 560865 + NumericLiteral 560866 560867 + VariableStatement 560871 561340 + VariableDeclarationList 560871 561339 + VariableDeclaration 561037 561339 + Identifier 561037 561051 + CallExpression 561053 561339 + Identifier 561053 561061 + CallExpression 561062 561222 + Identifier 561062 561090 + CallExpression 561091 561122 + Identifier 561091 561110 + Identifier 561111 561121 + ArrowFunction 561123 561221 + Parameter 561123 561125 + Identifier 561123 561125 + EqualsGreaterThanToken 561125 561128 + BinaryExpression 561128 561221 + BinaryExpression 561128 561196 + PrefixUnaryExpression 561128 561163 + ParenthesizedExpression 561130 561163 + BinaryExpression 561131 561162 + PropertyAccessExpression 561131 561138 + Identifier 561131 561132 + Identifier 561133 561138 + AmpersandToken 561138 561140 + PropertyAccessExpression 561140 561162 + Identifier 561140 561152 + Identifier 561153 561162 + AmpersandAmpersandToken 561163 561166 + BinaryExpression 561166 561196 + PropertyAccessExpression 561166 561180 + Identifier 561166 561168 + Identifier 561169 561180 + ExclamationEqualsEqualsToken 561180 561184 + StringLiteral 561184 561196 + AmpersandAmpersandToken 561196 561199 + PrefixUnaryExpression 561199 561221 + CallExpression 561201 561221 + Identifier 561201 561218 + Identifier 561219 561220 + ArrowFunction 561223 561319 + Parameter 561223 561246 + Identifier 561223 561246 + EqualsGreaterThanToken 561246 561249 + CallExpression 561249 561319 + Identifier 561249 561281 + Identifier 561282 561283 + TrueKeyword 561284 561302 + Identifier 561303 561318 + VariableStatement 561340 561987 + VariableDeclarationList 561340 561986 + VariableDeclaration 561741 561986 + Identifier 561741 561777 + BinaryExpression 561779 561986 + BinaryExpression 561779 561898 + BinaryExpression 561779 561838 + PrefixUnaryExpression 561779 561788 + Identifier 561781 561788 + AmpersandAmpersandToken 561788 561791 + PrefixUnaryExpression 561791 561838 + PrefixUnaryExpression 561814 561838 + PropertyAccessExpression 561815 561838 + Identifier 561815 561821 + Identifier 561822 561838 + AmpersandAmpersandToken 561838 561841 + CallExpression 561841 561898 + Identifier 561841 561873 + PropertyAccessExpression 561874 561897 + Identifier 561874 561880 + Identifier 561881 561897 + AmpersandAmpersandToken 561898 561901 + PrefixUnaryExpression 561901 561986 + CallExpression 561924 561986 + Identifier 561924 561928 + CallExpression 561929 561985 + Identifier 561929 561948 + Identifier 561949 561959 + PropertyAccessExpression 561960 561984 + Identifier 561960 561974 + Identifier 561975 561984 + VariableStatement 561987 562361 + VariableDeclarationList 561987 562360 + VariableDeclaration 562010 562360 + Identifier 562010 562023 + ConditionalExpression 562025 562360 + Identifier 562025 562061 + QuestionToken 562061 562063 + ArrayLiteralExpression 562063 562212 + CallExpression 562086 562211 + PropertyAccessExpression 562086 562122 + Identifier 562086 562093 + Identifier 562094 562122 + CallExpression 562123 562186 + PropertyAccessExpression 562123 562163 + Identifier 562123 562130 + Identifier 562131 562163 + PropertyAccessExpression 562164 562185 + Identifier 562164 562177 + Identifier 562178 562185 + ArrayLiteralExpression 562187 562190 + Identifier 562191 562210 + ColonToken 562212 562214 + AsExpression 562214 562360 + CallExpression 562214 562332 + Identifier 562214 562255 + PropertyAccessExpression 562256 562279 + Identifier 562256 562269 + Identifier 562270 562279 + Identifier 562280 562291 + Identifier 562292 562307 + PropertyAccessExpression 562308 562331 + Identifier 562308 562319 + Identifier 562320 562331 + ArrayType 562335 562360 + TypeReference 562335 562358 + Identifier 562335 562358 + VariableStatement 562361 562453 + VariableDeclarationList 562361 562452 + VariableDeclaration 562384 562452 + Identifier 562384 562400 + CallExpression 562402 562452 + Identifier 562402 562427 + Identifier 562428 562437 + ElementAccessExpression 562438 562451 + Identifier 562438 562448 + NumericLiteral 562449 562450 + ExpressionStatement 562453 562515 + BinaryExpression 562453 562514 + PropertyAccessExpression 562453 562499 + Identifier 562453 562478 + Identifier 562479 562499 + EqualsToken 562499 562501 + Identifier 562501 562514 + ExpressionStatement 562515 563223 + CallExpression 562515 563222 + Identifier 562515 562542 + CallExpression 562543 563166 + Identifier 562543 562577 + Identifier 562578 562611 + CallExpression 562612 563010 + PropertyAccessExpression 562612 562668 + Identifier 562612 562645 + Identifier 562646 562668 + Identifier 562669 562722 + Identifier 562723 562762 + Identifier 562763 562807 + Identifier 562808 562853 + ArrayLiteralExpression 562854 562982 + SpreadElement 562885 562903 + Identifier 562888 562903 + SpreadElement 562904 562921 + Identifier 562908 562921 + SpreadElement 562922 562938 + Identifier 562926 562938 + SpreadElement 562939 562959 + Identifier 562943 562959 + SpreadElement 562960 562981 + Identifier 562964 562981 + BinaryExpression 563011 563142 + PropertyAccessExpression 563011 563056 + Identifier 563011 563043 + Identifier 563044 563056 + AmpersandAmpersandToken 563056 563059 + ElementAccessExpression 563059 563142 + CallExpression 563059 563139 + Identifier 563059 563066 + PropertyAccessExpression 563067 563086 + Identifier 563067 563073 + Identifier 563074 563086 + ArrowFunction 563087 563138 + Parameter 563087 563089 + Identifier 563087 563089 + EqualsGreaterThanToken 563089 563092 + BinaryExpression 563092 563138 + CallExpression 563092 563114 + Identifier 563092 563111 + Identifier 563112 563113 + BarBarToken 563114 563117 + CallExpression 563117 563138 + Identifier 563117 563135 + Identifier 563136 563137 + NumericLiteral 563140 563141 + Identifier 563167 563202 + FunctionDeclaration 563238 564431 + Identifier 563262 563296 + Parameter 563297 563336 + Identifier 563297 563309 + UnionType 563310 563336 + ArrayType 563310 563324 + TypeReference 563310 563322 + Identifier 563310 563322 + UndefinedKeyword 563326 563336 + Block 563337 564431 + ReturnStatement 563339 564416 + CallExpression 563363 564415 + Identifier 563363 563376 + Identifier 563377 563389 + ArrowFunction 563390 564414 + Parameter 563390 563392 + Identifier 563390 563392 + EqualsGreaterThanToken 563392 563395 + Block 563395 564414 + IfStatement 563397 563582 + BinaryExpression 563423 563467 + CallExpression 563423 563443 + Identifier 563423 563440 + Identifier 563441 563442 + BarBarToken 563443 563446 + CallExpression 563446 563467 + Identifier 563446 563464 + Identifier 563465 563466 + Block 563468 563582 + ReturnStatement 563470 563559 + CallExpression 563502 563558 + Identifier 563502 563532 + BinaryExpression 563533 563557 + PropertyAccessExpression 563533 563547 + Identifier 563533 563534 + Identifier 563535 563547 + BarBarToken 563547 563550 + PropertyAccessExpression 563550 563557 + Identifier 563550 563552 + Identifier 563553 563557 + IfStatement 563582 563931 + BinaryExpression 563608 563654 + CallExpression 563608 563629 + Identifier 563608 563626 + Identifier 563627 563628 + BarBarToken 563629 563632 + CallExpression 563632 563654 + Identifier 563632 563651 + Identifier 563652 563653 + Block 563655 563931 + VariableStatement 563657 563749 + VariableDeclarationList 563657 563748 + VariableDeclaration 563688 563748 + Identifier 563688 563699 + ConditionalExpression 563701 563748 + CallExpression 563701 563723 + Identifier 563701 563720 + Identifier 563721 563722 + QuestionToken 563723 563725 + PropertyAccessExpression 563725 563738 + Identifier 563725 563727 + Identifier 563728 563738 + ColonToken 563738 563740 + PropertyAccessExpression 563740 563748 + Identifier 563740 563742 + Identifier 563743 563748 + IfStatement 563749 563908 + CallExpression 563779 563817 + Identifier 563779 563805 + Identifier 563806 563816 + Block 563818 563908 + ReturnStatement 563820 563881 + CallExpression 563856 563880 + Identifier 563856 563863 + PropertyAccessExpression 563864 563879 + Identifier 563864 563874 + Identifier 563875 563879 + IfStatement 563931 564356 + CallExpression 563957 563984 + Identifier 563957 563981 + Identifier 563982 563983 + Block 563985 564356 + VariableStatement 563987 564197 + VariableDeclarationList 563987 564196 + VariableDeclaration 564165 564196 + Identifier 564165 564170 + CallExpression 564172 564196 + Identifier 564172 564193 + Identifier 564194 564195 + IfStatement 564197 564333 + BinaryExpression 564227 564253 + Identifier 564227 564231 + AmpersandAmpersandToken 564231 564234 + CallExpression 564234 564253 + Identifier 564234 564247 + Identifier 564248 564252 + Block 564254 564333 + ReturnStatement 564256 564306 + CallExpression 564292 564305 + Identifier 564292 564299 + Identifier 564300 564304 + ReturnStatement 564356 564395 + Identifier 564384 564394 + FunctionDeclaration 564431 579733 + Identifier 564455 564472 + Parameter 564473 564487 + Identifier 564473 564479 + TypeReference 564480 564487 + Identifier 564480 564487 + Parameter 564488 564506 + Identifier 564488 564498 + StringKeyword 564499 564506 + Parameter 564507 564536 + Identifier 564507 564521 + TypeReference 564522 564536 + Identifier 564522 564536 + Block 564537 579733 + VariableStatement 564539 564831 + VariableDeclarationList 564539 564830 + VariableDeclaration 564787 564830 + Identifier 564787 564792 + CallExpression 564794 564830 + Identifier 564794 564822 + Identifier 564823 564829 + IfStatement 564831 564880 + PrefixUnaryExpression 564853 564858 + Identifier 564854 564858 + ReturnStatement 564859 564880 + CallExpression 564866 564879 + PropertyAccessExpression 564866 564877 + Identifier 564866 564872 + Identifier 564873 564877 + VariableStatement 564880 564997 + VariableDeclarationList 564880 564996 + VariableDeclaration 564903 564996 + Identifier 564903 564910 + CallExpression 564912 564996 + Identifier 564912 564928 + CallExpression 564929 564995 + Identifier 564929 564956 + Identifier 564957 564961 + TrueKeyword 564962 564994 + IfStatement 564997 565077 + PrefixUnaryExpression 565019 565026 + Identifier 565020 565026 + Block 565027 565077 + ReturnStatement 565029 565058 + VariableStatement 565077 565555 + VariableDeclarationList 565077 565554 + VariableDeclaration 565386 565554 + Identifier 565386 565405 + BinaryExpression 565407 565554 + BinaryExpression 565407 565504 + CallExpression 565407 565446 + Identifier 565407 565438 + Identifier 565439 565445 + AmpersandAmpersandToken 565446 565449 + CallExpression 565449 565504 + Identifier 565449 565483 + PropertyAccessExpression 565484 565503 + Identifier 565484 565490 + Identifier 565491 565503 + BarBarToken 565504 565507 + CallExpression 565507 565554 + Identifier 565507 565534 + PropertyAccessExpression 565535 565553 + Identifier 565535 565541 + Identifier 565542 565553 + IfStatement 565555 565881 + BinaryExpression 565577 565663 + BinaryExpression 565577 565631 + Identifier 565577 565595 + EqualsEqualsEqualsToken 565595 565599 + PropertyAccessExpression 565599 565631 + Identifier 565599 565618 + Identifier 565619 565631 + AmpersandAmpersandToken 565631 565634 + Identifier 565634 565663 + Block 565664 565881 + ExpressionStatement 565666 565862 + BinaryExpression 565666 565861 + Identifier 565666 565832 + EqualsToken 565832 565834 + PropertyAccessExpression 565834 565861 + Identifier 565834 565853 + Identifier 565854 565861 + VariableStatement 565881 565968 + VariableDeclarationList 565881 565967 + VariableDeclaration 565904 565967 + Identifier 565904 565915 + CallExpression 565917 565967 + Identifier 565917 565939 + Identifier 565940 565946 + Identifier 565947 565966 + ExpressionStatement 565968 566015 + CallExpression 565968 566014 + Identifier 565968 566006 + Identifier 566007 566013 + SwitchStatement 566015 579718 + PropertyAccessExpression 566116 566125 + Identifier 566116 566120 + Identifier 566121 566125 + CaseBlock 566126 579718 + CaseClause 566128 567987 + PropertyAccessExpression 566154 566180 + Identifier 566154 566165 + Identifier 566166 566180 + IfStatement 566181 567711 + BinaryExpression 566211 566271 + PropertyAccessExpression 566211 566236 + PropertyAccessExpression 566211 566230 + PropertyAccessExpression 566211 566222 + Identifier 566211 566215 + Identifier 566216 566222 + QuestionDotToken 566222 566224 + Identifier 566224 566230 + QuestionDotToken 566230 566232 + Identifier 566232 566236 + EqualsEqualsEqualsToken 566236 566240 + PropertyAccessExpression 566240 566271 + Identifier 566240 566251 + Identifier 566252 566271 + Block 566272 567711 + VariableStatement 566274 566456 + VariableDeclarationList 566274 566455 + VariableDeclaration 566381 566455 + Identifier 566381 566391 + CallExpression 566393 566455 + Identifier 566393 566421 + BinaryExpression 566422 566445 + PropertyAccessExpression 566422 566435 + Identifier 566422 566428 + Identifier 566429 566435 + BarBarToken 566435 566438 + Identifier 566438 566445 + Identifier 566446 566454 + VariableStatement 566456 566545 + VariableDeclarationList 566456 566544 + VariableDeclaration 566502 566544 + ObjectBindingPattern 566502 566519 + BindingElement 566504 566517 + Identifier 566504 566517 + AsExpression 566521 566544 + Identifier 566521 566526 + TypeReference 566529 566544 + Identifier 566529 566544 + ExpressionStatement 566545 567648 + CallExpression 566545 567647 + Identifier 566545 566584 + CallExpression 566585 567562 + PropertyAccessExpression 566585 566650 + Identifier 566585 566626 + Identifier 566627 566650 + Identifier 566651 566712 + CallExpression 566713 567386 + PropertyAccessExpression 566713 566777 + Identifier 566713 566758 + Identifier 566759 566777 + FalseKeyword 566778 566840 + Identifier 566841 566901 + CallExpression 566902 567346 + PropertyAccessExpression 566902 566970 + Identifier 566902 566951 + Identifier 566952 566970 + ArrayLiteralExpression 566971 567345 + CallExpression 566972 567344 + PropertyAccessExpression 566972 567001 + Identifier 566972 566979 + Identifier 566980 567001 + FalseKeyword 567002 567068 + ConditionalExpression 567069 567218 + BinaryExpression 567069 567157 + Identifier 567069 567127 + AmpersandAmpersandToken 567127 567130 + CallExpression 567130 567157 + Identifier 567130 567143 + Identifier 567144 567156 + QuestionToken 567157 567159 + CallExpression 567159 567206 + PropertyAccessExpression 567159 567184 + Identifier 567159 567167 + Identifier 567168 567184 + CallExpression 567185 567205 + Identifier 567185 567191 + Identifier 567192 567204 + ColonToken 567206 567208 + Identifier 567208 567218 + CallExpression 567219 567300 + PropertyAccessExpression 567219 567289 + Identifier 567219 567272 + Identifier 567273 567289 + Identifier 567290 567299 + CallExpression 567387 567463 + PropertyAccessExpression 567387 567452 + Identifier 567387 567432 + Identifier 567433 567452 + Identifier 567453 567462 + Identifier 567464 567526 + PropertyAccessExpression 567563 567615 + Identifier 567563 567610 + Identifier 567611 567615 + BreakStatement 567648 567684 + ExpressionStatement 567711 567955 + CallExpression 567711 567954 + PropertyAccessExpression 567711 567850 + Identifier 567711 567832 + Identifier 567833 567850 + BinaryExpression 567851 567878 + PropertyAccessExpression 567851 567870 + PropertyAccessExpression 567851 567862 + Identifier 567851 567855 + Identifier 567856 567862 + QuestionDotToken 567862 567864 + Identifier 567864 567870 + BarBarToken 567870 567873 + Identifier 567873 567878 + StringLiteral 567879 567953 + BreakStatement 567955 567987 + CaseClause 567987 568478 + PropertyAccessExpression 568013 568052 + Identifier 568013 568024 + Identifier 568025 568052 + IfStatement 568053 568446 + BinaryExpression 568083 568140 + PropertyAccessExpression 568083 568108 + PropertyAccessExpression 568083 568102 + PropertyAccessExpression 568083 568094 + Identifier 568083 568087 + Identifier 568088 568094 + QuestionDotToken 568094 568096 + Identifier 568096 568102 + QuestionDotToken 568102 568104 + Identifier 568104 568108 + EqualsEqualsEqualsToken 568108 568112 + PropertyAccessExpression 568112 568140 + Identifier 568112 568123 + Identifier 568124 568140 + Block 568141 568446 + ExpressionStatement 568143 568419 + CallExpression 568143 568418 + Identifier 568143 568260 + CallExpression 568261 568341 + Identifier 568261 568321 + PropertyAccessExpression 568322 568340 + Identifier 568322 568328 + Identifier 568329 568340 + Identifier 568342 568386 + BreakStatement 568446 568478 + CaseClause 568478 570333 + PropertyAccessExpression 568504 568535 + Identifier 568504 568515 + Identifier 568516 568535 + IfStatement 568536 570333 + CallExpression 568635 568705 + Identifier 568635 568661 + NonNullExpression 568662 568704 + PropertyAccessExpression 568662 568703 + ParenthesizedExpression 568662 568691 + AsExpression 568663 568690 + Identifier 568663 568667 + TypeReference 568670 568690 + Identifier 568670 568690 + Identifier 568692 568703 + Block 568706 570333 + VariableStatement 568708 568886 + VariableDeclarationList 568708 568885 + VariableDeclaration 568800 568885 + Identifier 568800 568812 + AsExpression 568814 568885 + NonNullExpression 568814 568857 + PropertyAccessExpression 568814 568856 + ParenthesizedExpression 568814 568844 + AsExpression 568816 568843 + Identifier 568816 568820 + TypeReference 568823 568843 + Identifier 568823 568843 + Identifier 568845 568856 + TypeReference 568860 568885 + Identifier 568860 568885 + VariableStatement 568886 568989 + VariableDeclarationList 568886 568988 + VariableDeclaration 568939 568988 + Identifier 568939 568950 + CallExpression 568952 568988 + PropertyAccessExpression 568952 568977 + Identifier 568952 568960 + Identifier 568961 568977 + Identifier 568978 568987 + VariableStatement 568989 569105 + VariableDeclarationList 568989 569104 + VariableDeclaration 569030 569104 + Identifier 569030 569040 + CallExpression 569042 569104 + Identifier 569042 569070 + BinaryExpression 569071 569094 + PropertyAccessExpression 569071 569084 + Identifier 569071 569077 + Identifier 569078 569084 + BarBarToken 569084 569087 + Identifier 569087 569094 + Identifier 569095 569103 + ExpressionStatement 569105 569689 + CallExpression 569105 569688 + Identifier 569105 569209 + CallExpression 569210 569603 + PropertyAccessExpression 569210 569281 + Identifier 569210 569251 + Identifier 569252 569281 + Identifier 569282 569343 + FalseKeyword 569344 569402 + Identifier 569403 569451 + CallExpression 569452 569567 + PropertyAccessExpression 569452 569527 + Identifier 569452 569497 + Identifier 569498 569527 + CallExpression 569528 569566 + PropertyAccessExpression 569528 569555 + Identifier 569528 569535 + Identifier 569536 569555 + Identifier 569556 569565 + PropertyAccessExpression 569604 569656 + Identifier 569604 569651 + Identifier 569652 569656 + ExpressionStatement 569689 570270 + CallExpression 569689 570269 + Identifier 569689 569776 + CallExpression 569777 570189 + PropertyAccessExpression 569777 569848 + Identifier 569777 569818 + Identifier 569819 569848 + Identifier 569849 569910 + FalseKeyword 569911 569969 + CallExpression 569970 570043 + PropertyAccessExpression 569970 570032 + Identifier 569970 570015 + Identifier 570016 570032 + Identifier 570033 570042 + CallExpression 570044 570153 + PropertyAccessExpression 570044 570109 + Identifier 570044 570089 + Identifier 570090 570109 + Identifier 570110 570120 + AsExpression 570121 570152 + PropertyAccessExpression 570121 570138 + Identifier 570121 570133 + Identifier 570134 570138 + TypeReference 570141 570152 + Identifier 570141 570152 + Identifier 570190 570237 + BreakStatement 570270 570306 + CaseClause 570333 572074 + PropertyAccessExpression 570450 570485 + Identifier 570450 570461 + Identifier 570462 570485 + IfStatement 570486 571017 + BinaryExpression 570755 570883 + BinaryExpression 570755 570809 + PropertyAccessExpression 570755 570773 + Identifier 570755 570761 + Identifier 570762 570773 + EqualsEqualsEqualsToken 570773 570777 + PropertyAccessExpression 570777 570809 + Identifier 570777 570796 + Identifier 570797 570809 + AmpersandAmpersandToken 570809 570812 + CallExpression 570812 570883 + Identifier 570812 570817 + PropertyAccessExpression 570818 570837 + Identifier 570818 570824 + Identifier 570825 570837 + ArrowFunction 570838 570882 + Parameter 570838 570840 + Identifier 570838 570840 + EqualsGreaterThanToken 570840 570843 + BinaryExpression 570843 570882 + CallExpression 570843 570859 + Identifier 570843 570856 + Identifier 570857 570858 + AmpersandAmpersandToken 570859 570862 + CallExpression 570862 570882 + Identifier 570862 570879 + Identifier 570880 570881 + Block 570884 571017 + ExpressionStatement 570886 570954 + CallExpression 570886 570953 + Identifier 570886 570945 + Identifier 570946 570952 + BreakStatement 570954 570990 + VariableStatement 571017 571299 + VariableDeclarationList 571017 571298 + VariableDeclaration 571208 571298 + Identifier 571208 571222 + BinaryExpression 571224 571298 + PrefixUnaryExpression 571224 571266 + ParenthesizedExpression 571226 571266 + BinaryExpression 571227 571265 + PropertyAccessExpression 571227 571239 + Identifier 571227 571233 + Identifier 571234 571239 + AmpersandToken 571239 571241 + PropertyAccessExpression 571241 571265 + Identifier 571241 571253 + Identifier 571254 571265 + AmpersandAmpersandToken 571266 571269 + PrefixUnaryExpression 571269 571298 + CallExpression 571271 571298 + Identifier 571271 571292 + Identifier 571293 571297 + ExpressionStatement 571299 572042 + CallExpression 571299 572041 + Identifier 571299 571334 + CallExpression 571335 571932 + PropertyAccessExpression 571335 571402 + Identifier 571335 571372 + Identifier 571373 571402 + Identifier 571403 571460 + FalseKeyword 571461 571515 + CallExpression 571516 571585 + PropertyAccessExpression 571516 571574 + Identifier 571516 571557 + Identifier 571558 571574 + Identifier 571575 571584 + ConditionalExpression 571586 571900 + Identifier 571586 571633 + QuestionToken 571633 571672 + CallExpression 571672 571748 + Identifier 571672 571685 + Identifier 571686 571692 + Identifier 571693 571701 + PropertyAccessExpression 571702 571718 + Identifier 571702 571714 + Identifier 571715 571718 + FalseKeyword 571719 571747 + ColonToken 571748 571787 + CallExpression 571787 571900 + PropertyAccessExpression 571787 571825 + Identifier 571787 571795 + Identifier 571796 571825 + CallExpression 571826 571899 + PropertyAccessExpression 571826 571853 + Identifier 571826 571833 + Identifier 571834 571853 + CallExpression 571854 571898 + Identifier 571854 571881 + Identifier 571882 571888 + Identifier 571889 571897 + ConditionalExpression 571933 572013 + Identifier 571933 571976 + QuestionToken 571976 571978 + Identifier 571978 571992 + ColonToken 571992 571994 + PropertyAccessExpression 571994 572013 + Identifier 571994 572008 + Identifier 572009 572013 + BreakStatement 572042 572074 + CaseClause 572074 572568 + PropertyAccessExpression 572100 572138 + Identifier 572100 572111 + Identifier 572112 572138 + ExpressionStatement 572139 572536 + CallExpression 572139 572535 + Identifier 572139 572422 + CallExpression 572423 572514 + PropertyAccessExpression 572423 572463 + Identifier 572423 572430 + Identifier 572431 572463 + CallExpression 572464 572513 + Identifier 572464 572470 + PropertyAccessExpression 572471 572512 + ParenthesizedExpression 572471 572507 + AsExpression 572472 572506 + Identifier 572472 572476 + TypeReference 572479 572506 + Identifier 572479 572506 + Identifier 572508 572512 + PropertyAccessExpression 572515 572534 + Identifier 572515 572529 + Identifier 572530 572534 + BreakStatement 572536 572568 + CaseClause 572568 573767 + PropertyAccessExpression 572594 572618 + Identifier 572594 572605 + Identifier 572606 572618 + Block 572619 573767 + VariableStatement 572621 572736 + VariableDeclarationList 572621 572735 + VariableDeclaration 572652 572735 + Identifier 572652 572671 + CallExpression 572673 572735 + Identifier 572673 572701 + BinaryExpression 572702 572725 + PropertyAccessExpression 572702 572715 + Identifier 572702 572708 + Identifier 572709 572715 + BarBarToken 572715 572718 + Identifier 572718 572725 + Identifier 572726 572734 + VariableStatement 572736 573011 + VariableDeclarationList 572736 573010 + VariableDeclaration 572884 573010 + Identifier 572884 572894 + ConditionalExpression 572896 573010 + PropertyAccessExpression 572896 572912 + Identifier 572896 572904 + Identifier 572905 572912 + QuestionToken 572912 572914 + CallExpression 572914 572962 + PropertyAccessExpression 572914 572942 + Identifier 572914 572922 + Identifier 572923 572942 + Identifier 572943 572961 + ColonToken 572962 572964 + PropertyAccessExpression 572964 573010 + PropertyAccessExpression 572964 572994 + ParenthesizedExpression 572964 572987 + AsExpression 572966 572986 + Identifier 572966 572970 + TypeReference 572973 572986 + Identifier 572973 572986 + Identifier 572988 572994 + Identifier 572995 573010 + VariableStatement 573011 573126 + VariableDeclarationList 573011 573125 + VariableDeclaration 573042 573125 + Identifier 573042 573053 + ConditionalExpression 573055 573125 + CallExpression 573055 573088 + Identifier 573055 573075 + PropertyAccessExpression 573076 573087 + Identifier 573076 573080 + Identifier 573081 573087 + QuestionToken 573088 573090 + PropertyAccessExpression 573090 573113 + PropertyAccessExpression 573090 573102 + Identifier 573090 573095 + Identifier 573096 573102 + Identifier 573103 573113 + ColonToken 573113 573115 + Identifier 573115 573125 + VariableStatement 573126 573219 + VariableDeclarationList 573126 573218 + VariableDeclaration 573157 573218 + Identifier 573157 573168 + CallExpression 573170 573218 + Identifier 573170 573187 + PropertyAccessExpression 573188 573217 + ParenthesizedExpression 573188 573210 + AsExpression 573189 573209 + Identifier 573189 573193 + TypeReference 573196 573209 + Identifier 573196 573209 + Identifier 573211 573217 + ExpressionStatement 573219 573712 + CallExpression 573219 573711 + Identifier 573219 573254 + CallExpression 573255 573634 + PropertyAccessExpression 573255 573316 + Identifier 573255 573292 + Identifier 573293 573316 + Identifier 573317 573374 + CallExpression 573375 573513 + PropertyAccessExpression 573375 573435 + Identifier 573375 573416 + Identifier 573417 573435 + Identifier 573436 573446 + CallExpression 573447 573483 + PropertyAccessExpression 573447 573472 + Identifier 573447 573455 + Identifier 573456 573472 + Identifier 573473 573482 + Identifier 573484 573512 + Identifier 573514 573557 + Identifier 573558 573602 + PropertyAccessExpression 573635 573683 + Identifier 573635 573678 + Identifier 573679 573683 + BreakStatement 573712 573744 + CaseClause 573767 574926 + PropertyAccessExpression 573793 573820 + Identifier 573793 573804 + Identifier 573805 573820 + Block 573821 574926 + VariableStatement 573823 573938 + VariableDeclarationList 573823 573937 + VariableDeclaration 573854 573937 + Identifier 573854 573873 + CallExpression 573875 573937 + Identifier 573875 573903 + BinaryExpression 573904 573927 + PropertyAccessExpression 573904 573917 + Identifier 573904 573910 + Identifier 573911 573917 + BarBarToken 573917 573920 + Identifier 573920 573927 + Identifier 573928 573936 + VariableStatement 573938 574223 + VariableDeclarationList 573938 574222 + VariableDeclaration 574086 574222 + Identifier 574086 574096 + ConditionalExpression 574098 574222 + PropertyAccessExpression 574098 574114 + Identifier 574098 574106 + Identifier 574107 574114 + QuestionToken 574114 574116 + CallExpression 574116 574164 + PropertyAccessExpression 574116 574144 + Identifier 574116 574124 + Identifier 574125 574144 + Identifier 574145 574163 + ColonToken 574164 574166 + PropertyAccessExpression 574166 574222 + PropertyAccessExpression 574166 574206 + PropertyAccessExpression 574166 574199 + ParenthesizedExpression 574166 574192 + AsExpression 574168 574191 + Identifier 574168 574172 + TypeReference 574175 574191 + Identifier 574175 574191 + Identifier 574193 574199 + Identifier 574200 574206 + Identifier 574207 574222 + VariableStatement 574223 574326 + VariableDeclarationList 574223 574325 + VariableDeclaration 574254 574325 + Identifier 574254 574265 + CallExpression 574267 574325 + Identifier 574267 574284 + PropertyAccessExpression 574285 574324 + PropertyAccessExpression 574285 574317 + ParenthesizedExpression 574285 574310 + AsExpression 574286 574309 + Identifier 574286 574290 + TypeReference 574293 574309 + Identifier 574293 574309 + Identifier 574311 574317 + Identifier 574318 574324 + ExpressionStatement 574326 574871 + CallExpression 574326 574870 + Identifier 574326 574361 + CallExpression 574362 574793 + PropertyAccessExpression 574362 574423 + Identifier 574362 574399 + Identifier 574400 574423 + Identifier 574424 574481 + CallExpression 574482 574642 + PropertyAccessExpression 574482 574542 + Identifier 574482 574523 + Identifier 574524 574542 + Identifier 574543 574553 + Identifier 574554 574573 + CallExpression 574574 574641 + PropertyAccessExpression 574574 574604 + Identifier 574574 574582 + Identifier 574583 574604 + CallExpression 574605 574640 + PropertyAccessExpression 574605 574629 + Identifier 574605 574612 + Identifier 574613 574629 + Identifier 574630 574639 + Identifier 574643 574686 + PropertyAccessExpression 574687 574761 + PropertyAccessExpression 574687 574750 + ParenthesizedExpression 574687 574743 + AsExpression 574722 574742 + Identifier 574722 574726 + TypeReference 574729 574742 + Identifier 574729 574742 + Identifier 574744 574750 + Identifier 574751 574761 + PropertyAccessExpression 574794 574842 + Identifier 574794 574837 + Identifier 574838 574842 + BreakStatement 574871 574903 + CaseClause 574926 575541 + PropertyAccessExpression 574952 574979 + Identifier 574952 574963 + Identifier 574964 574979 + ExpressionStatement 574980 575509 + CallExpression 574980 575508 + Identifier 574980 575015 + CallExpression 575016 575431 + PropertyAccessExpression 575016 575077 + Identifier 575016 575053 + Identifier 575054 575077 + Identifier 575078 575135 + FalseKeyword 575136 575190 + CallExpression 575191 575291 + PropertyAccessExpression 575191 575254 + Identifier 575191 575232 + Identifier 575233 575254 + CallExpression 575255 575290 + PropertyAccessExpression 575255 575279 + Identifier 575255 575262 + Identifier 575263 575279 + Identifier 575280 575289 + CallExpression 575292 575399 + PropertyAccessExpression 575292 575353 + Identifier 575292 575333 + Identifier 575334 575353 + CallExpression 575354 575398 + Identifier 575354 575381 + Identifier 575382 575388 + Identifier 575389 575397 + PropertyAccessExpression 575432 575480 + Identifier 575432 575475 + Identifier 575476 575480 + BreakStatement 575509 575541 + CaseClause 575541 577283 + PropertyAccessExpression 575567 575594 + Identifier 575567 575578 + Identifier 575579 575594 + Block 575595 577283 + VariableStatement 575597 575712 + VariableDeclarationList 575597 575711 + VariableDeclaration 575628 575711 + Identifier 575628 575647 + CallExpression 575649 575711 + Identifier 575649 575677 + BinaryExpression 575678 575701 + PropertyAccessExpression 575678 575691 + Identifier 575678 575684 + Identifier 575685 575691 + BarBarToken 575691 575694 + Identifier 575694 575701 + Identifier 575702 575710 + VariableStatement 575712 576004 + VariableDeclarationList 575712 576003 + VariableDeclaration 575860 576003 + Identifier 575860 575870 + ConditionalExpression 575872 576003 + PropertyAccessExpression 575872 575888 + Identifier 575872 575880 + Identifier 575881 575888 + QuestionToken 575888 575890 + CallExpression 575890 575938 + PropertyAccessExpression 575890 575918 + Identifier 575890 575898 + Identifier 575899 575918 + Identifier 575919 575937 + ColonToken 575938 575940 + PropertyAccessExpression 575940 576003 + PropertyAccessExpression 575940 575987 + PropertyAccessExpression 575940 575980 + PropertyAccessExpression 575940 575973 + ParenthesizedExpression 575940 575966 + AsExpression 575942 575965 + Identifier 575942 575946 + TypeReference 575949 575965 + Identifier 575949 575965 + Identifier 575967 575973 + Identifier 575974 575980 + Identifier 575981 575987 + Identifier 575988 576003 + VariableStatement 576004 576114 + VariableDeclarationList 576004 576113 + VariableDeclaration 576035 576113 + Identifier 576035 576046 + CallExpression 576048 576113 + Identifier 576048 576065 + PropertyAccessExpression 576066 576112 + PropertyAccessExpression 576066 576105 + PropertyAccessExpression 576066 576098 + ParenthesizedExpression 576066 576091 + AsExpression 576067 576090 + Identifier 576067 576071 + TypeReference 576074 576090 + Identifier 576074 576090 + Identifier 576092 576098 + Identifier 576099 576105 + Identifier 576106 576112 + ExpressionStatement 576114 577228 + CallExpression 576114 577227 + Identifier 576114 576149 + CallExpression 576150 577150 + PropertyAccessExpression 576150 576211 + Identifier 576150 576187 + Identifier 576188 576211 + Identifier 576212 576269 + CallExpression 576270 576982 + PropertyAccessExpression 576270 576330 + Identifier 576270 576311 + Identifier 576312 576330 + Identifier 576331 576379 + Identifier 576380 576436 + CallExpression 576437 576946 + PropertyAccessExpression 576437 576501 + Identifier 576437 576482 + Identifier 576483 576501 + ArrayLiteralExpression 576502 576945 + CallExpression 576503 576905 + PropertyAccessExpression 576503 576574 + Identifier 576503 576552 + Identifier 576553 576574 + FalseKeyword 576575 576641 + ConditionalExpression 576642 576779 + BinaryExpression 576642 576720 + Identifier 576642 576697 + ExclamationEqualsEqualsToken 576697 576701 + Identifier 576701 576720 + QuestionToken 576720 576722 + CallExpression 576722 576767 + PropertyAccessExpression 576722 576747 + Identifier 576722 576730 + Identifier 576731 576747 + Identifier 576748 576766 + ColonToken 576767 576769 + Identifier 576769 576779 + CallExpression 576780 576861 + PropertyAccessExpression 576780 576850 + Identifier 576780 576833 + Identifier 576834 576850 + Identifier 576851 576860 + Identifier 576983 577026 + PropertyAccessExpression 577027 577118 + PropertyAccessExpression 577027 577107 + PropertyAccessExpression 577027 577100 + PropertyAccessExpression 577027 577093 + ParenthesizedExpression 577027 577086 + AsExpression 577062 577085 + Identifier 577062 577066 + TypeReference 577069 577085 + Identifier 577069 577085 + Identifier 577087 577093 + Identifier 577094 577100 + Identifier 577101 577107 + Identifier 577108 577118 + PropertyAccessExpression 577151 577199 + Identifier 577151 577194 + Identifier 577195 577199 + BreakStatement 577228 577260 + CaseClause 577283 578555 + PropertyAccessExpression 577309 577336 + Identifier 577309 577320 + Identifier 577321 577336 + VariableStatement 577337 577627 + VariableDeclarationList 577337 577626 + VariableDeclaration 577556 577626 + Identifier 577556 577566 + PropertyAccessExpression 577568 577626 + ParenthesizedExpression 577568 577610 + AsExpression 577570 577609 + PropertyAccessExpression 577570 577588 + PropertyAccessExpression 577570 577581 + Identifier 577570 577574 + Identifier 577575 577581 + Identifier 577582 577588 + TypeReference 577591 577609 + Identifier 577591 577609 + Identifier 577611 577626 + IfStatement 577627 577991 + Identifier 577657 577666 + Block 577667 577991 + VariableStatement 577669 577759 + VariableDeclarationList 577669 577758 + VariableDeclaration 577704 577758 + Identifier 577704 577717 + PropertyAccessExpression 577719 577758 + ParenthesizedExpression 577719 577745 + AsExpression 577721 577744 + Identifier 577721 577725 + TypeReference 577728 577744 + Identifier 577728 577744 + Identifier 577746 577758 + IfStatement 577759 577964 + BinaryExpression 577793 577848 + Identifier 577793 577805 + AmpersandAmpersandToken 577805 577808 + CallExpression 577808 577848 + Identifier 577808 577834 + Identifier 577835 577847 + Block 577849 577964 + ExpressionStatement 577851 577933 + BinaryExpression 577851 577932 + Identifier 577851 577903 + EqualsToken 577903 577905 + PropertyAccessExpression 577905 577932 + Identifier 577905 577924 + Identifier 577925 577932 + ExpressionStatement 577991 578523 + CallExpression 577991 578522 + Identifier 577991 578211 + CallExpression 578212 578288 + Identifier 578212 578268 + PropertyAccessExpression 578269 578287 + Identifier 578269 578275 + Identifier 578276 578287 + ConditionalExpression 578289 578362 + Identifier 578289 578328 + QuestionToken 578328 578330 + Identifier 578330 578349 + ColonToken 578349 578351 + Identifier 578351 578362 + ConditionalExpression 578363 578494 + BinaryExpression 578363 578436 + Identifier 578363 578402 + AmpersandAmpersandToken 578402 578405 + CallExpression 578405 578436 + Identifier 578405 578425 + Identifier 578426 578435 + QuestionToken 578436 578438 + CallExpression 578438 578482 + PropertyAccessExpression 578438 578466 + Identifier 578438 578446 + Identifier 578447 578466 + PropertyAccessExpression 578467 578481 + Identifier 578467 578476 + Identifier 578477 578481 + ColonToken 578482 578484 + Identifier 578484 578494 + BreakStatement 578523 578555 + CaseClause 578555 578706 + PropertyAccessExpression 578581 578609 + Identifier 578581 578592 + Identifier 578593 578609 + ExpressionStatement 578610 578674 + CallExpression 578610 578673 + Identifier 578610 578665 + Identifier 578666 578672 + BreakStatement 578674 578706 + CaseClause 578706 578761 + PropertyAccessExpression 578732 578760 + Identifier 578732 578743 + Identifier 578744 578760 + CaseClause 578761 578824 + PropertyAccessExpression 578787 578823 + Identifier 578787 578798 + Identifier 578799 578823 + CaseClause 578824 579548 + PropertyAccessExpression 578850 578885 + Identifier 578850 578861 + Identifier 578862 578885 + IfStatement 578886 579516 + BinaryExpression 579174 579281 + BinaryExpression 579174 579223 + PropertyAccessExpression 579174 579192 + Identifier 579174 579180 + Identifier 579181 579192 + EqualsEqualsEqualsToken 579192 579196 + PropertyAccessExpression 579196 579223 + Identifier 579196 579215 + Identifier 579216 579223 + BarBarToken 579223 579226 + BinaryExpression 579226 579281 + PropertyAccessExpression 579226 579245 + Identifier 579226 579233 + Identifier 579234 579245 + EqualsEqualsEqualsToken 579245 579249 + PropertyAccessExpression 579249 579281 + Identifier 579249 579268 + Identifier 579269 579281 + Block 579282 579379 + ExpressionStatement 579284 579352 + CallExpression 579284 579351 + Identifier 579284 579343 + Identifier 579344 579350 + Block 579409 579516 + ExpressionStatement 579411 579489 + CallExpression 579411 579488 + Identifier 579411 579465 + Identifier 579466 579475 + Identifier 579476 579487 + BreakStatement 579516 579548 + DefaultClause 579548 579699 + ReturnStatement 579578 579699 + CallExpression 579610 579698 + PropertyAccessExpression 579610 579634 + Identifier 579610 579616 + Identifier 579617 579634 + Identifier 579635 579639 + StringLiteral 579640 579697 + FunctionDeclaration 579733 580332 + Identifier 579757 579782 + Parameter 579783 579800 + Identifier 579783 579792 + StringKeyword 579793 579800 + Parameter 579801 579820 + Identifier 579801 579812 + StringKeyword 579813 579820 + Parameter 579821 579844 + Identifier 579821 579831 + QuestionToken 579831 579832 + TypeReference 579833 579844 + Identifier 579833 579844 + Block 579845 580332 + ExpressionStatement 579847 580317 + CallExpression 579847 580316 + Identifier 579847 579874 + CallExpression 579875 580255 + PropertyAccessExpression 579875 579928 + Identifier 579875 579904 + Identifier 579905 579928 + Identifier 579929 579978 + FalseKeyword 579979 580025 + CallExpression 580026 580195 + PropertyAccessExpression 580026 580078 + Identifier 580026 580059 + Identifier 580060 580078 + ArrayLiteralExpression 580079 580194 + CallExpression 580080 580193 + PropertyAccessExpression 580080 580109 + Identifier 580080 580087 + Identifier 580088 580109 + FalseKeyword 580110 580130 + ConditionalExpression 580131 580181 + BinaryExpression 580131 580156 + Identifier 580131 580141 + ExclamationEqualsEqualsToken 580141 580145 + Identifier 580145 580156 + QuestionToken 580156 580158 + Identifier 580158 580169 + ColonToken 580169 580171 + Identifier 580171 580181 + Identifier 580182 580192 + Identifier 580196 580231 + PropertyAccessExpression 580256 580296 + Identifier 580256 580291 + Identifier 580292 580296 + FunctionDeclaration 580332 588379 + Identifier 580488 580518 + Parameter 580519 580533 + Identifier 580519 580525 + TypeReference 580526 580533 + Identifier 580526 580533 + BooleanKeyword 580535 580543 + Block 580543 588379 + IfStatement 580545 580660 + BinaryExpression 580567 580603 + PropertyAccessExpression 580567 580579 + Identifier 580567 580573 + Identifier 580574 580579 + AmpersandToken 580579 580581 + PropertyAccessExpression 580581 580603 + Identifier 580581 580593 + Identifier 580594 580603 + Block 580604 580660 + ReturnStatement 580606 580641 + FalseKeyword 580634 580640 + VariableStatement 580660 580738 + VariableDeclarationList 580660 580737 + VariableDeclaration 580683 580737 + Identifier 580683 580688 + CallExpression 580690 580737 + Identifier 580690 580717 + PropertyAccessExpression 580718 580736 + Identifier 580718 580724 + Identifier 580725 580736 + VariableStatement 580738 580820 + VariableDeclarationList 580738 580819 + VariableDeclaration 580761 580819 + Identifier 580761 580776 + BinaryExpression 580778 580819 + Identifier 580778 580783 + EqualsEqualsEqualsToken 580783 580787 + PropertyAccessExpression 580787 580819 + Identifier 580787 580806 + Identifier 580807 580819 + VariableStatement 580820 580892 + VariableDeclarationList 580820 580891 + VariableDeclaration 580843 580891 + Identifier 580843 580853 + BinaryExpression 580855 580891 + Identifier 580855 580860 + EqualsEqualsEqualsToken 580860 580864 + PropertyAccessExpression 580864 580891 + Identifier 580864 580883 + Identifier 580884 580891 + VariableStatement 580892 580985 + VariableDeclarationList 580892 580984 + VariableDeclaration 580915 580984 + Identifier 580915 580954 + BinaryExpression 580956 580984 + Identifier 580956 580971 + BarBarToken 580971 580974 + Identifier 580974 580984 + VariableStatement 580985 581336 + VariableDeclarationList 580985 581335 + VariableDeclaration 581264 581335 + Identifier 581264 581274 + BinaryExpression 581276 581335 + PropertyAccessExpression 581276 581296 + Identifier 581276 581283 + Identifier 581284 581296 + AmpersandAmpersandToken 581296 581299 + CallExpression 581299 581335 + Identifier 581299 581327 + Identifier 581328 581334 + VariableStatement 581336 581549 + VariableDeclarationList 581336 581548 + VariableDeclaration 581454 581548 + Identifier 581454 581461 + BinaryExpression 581463 581548 + Identifier 581463 581473 + AmpersandAmpersandToken 581473 581476 + CallExpression 581476 581548 + Identifier 581476 581504 + Identifier 581505 581514 + TrueKeyword 581515 581547 + IfStatement 581549 588364 + BinaryExpression 581704 581845 + BinaryExpression 581704 581741 + Identifier 581704 581710 + AmpersandAmpersandToken 581710 581713 + CallExpression 581713 581741 + Identifier 581713 581720 + PropertyAccessExpression 581721 581740 + Identifier 581721 581727 + Identifier 581728 581740 + AmpersandAmpersandToken 581741 581744 + CallExpression 581744 581845 + Identifier 581744 581749 + PropertyAccessExpression 581750 581769 + Identifier 581750 581756 + Identifier 581757 581769 + ArrowFunction 581770 581844 + Parameter 581770 581772 + Identifier 581770 581772 + EqualsGreaterThanToken 581772 581775 + BinaryExpression 581775 581844 + CallExpression 581775 581798 + Identifier 581775 581795 + Identifier 581796 581797 + EqualsEqualsEqualsToken 581798 581802 + CallExpression 581802 581844 + Identifier 581802 581822 + Identifier 581823 581843 + Block 581846 585458 + VariableStatement 581848 582481 + VariableDeclarationList 581848 582480 + VariableDeclaration 582217 582480 + Identifier 582217 582222 + BinaryExpression 582224 582480 + Identifier 582224 582234 + AmpersandAmpersandToken 582234 582237 + ParenthesizedExpression 582237 582480 + ConditionalExpression 582239 582479 + ParenthesizedExpression 582239 582303 + BinaryExpression 582240 582302 + CallExpression 582240 582269 + Identifier 582240 582258 + Identifier 582259 582268 + BarBarToken 582269 582272 + CallExpression 582272 582302 + Identifier 582272 582291 + Identifier 582292 582301 + QuestionToken 582303 582305 + CallExpression 582305 582346 + Identifier 582305 582335 + Identifier 582336 582345 + ColonToken 582346 582348 + CallExpression 582348 582479 + Identifier 582348 582389 + AsExpression 582390 582478 + Identifier 582390 582399 + UnionType 582402 582478 + TypeReference 582402 582430 + Identifier 582402 582430 + TypeReference 582432 582451 + Identifier 582432 582451 + TypeReference 582453 582478 + Identifier 582453 582478 + VariableStatement 582481 582609 + VariableDeclarationList 582481 582608 + VariableDeclaration 582508 582608 + Identifier 582508 582514 + ConditionalExpression 582516 582608 + BinaryExpression 582516 582553 + Identifier 582516 582521 + AmpersandAmpersandToken 582521 582524 + CallExpression 582524 582553 + Identifier 582524 582547 + Identifier 582548 582552 + QuestionToken 582553 582555 + CallExpression 582555 582596 + Identifier 582555 582590 + Identifier 582591 582595 + ColonToken 582596 582598 + Identifier 582598 582608 + VariableStatement 582609 582773 + VariableDeclarationList 582609 582772 + VariableDeclaration 582636 582772 + Identifier 582636 582647 + BinaryExpression 582649 582772 + Identifier 582649 582655 + AmpersandAmpersandToken 582655 582658 + CallExpression 582658 582772 + Identifier 582658 582676 + Identifier 582677 582682 + PropertyAccessExpression 582683 582699 + Identifier 582683 582695 + Identifier 582696 582699 + TrueKeyword 582700 582722 + TrueKeyword 582723 582749 + Identifier 582750 582771 + IfStatement 582773 582914 + BinaryExpression 582799 582819 + Identifier 582799 582809 + BarBarToken 582809 582812 + Identifier 582812 582819 + Block 582820 582914 + ExpressionStatement 582822 582891 + CallExpression 582822 582890 + Identifier 582822 582868 + BinaryExpression 582869 582889 + Identifier 582869 582879 + BarBarToken 582879 582882 + Identifier 582882 582889 + VariableStatement 582914 583561 + VariableDeclarationList 582914 583560 + VariableDeclaration 583500 583560 + Identifier 583500 583523 + PropertyAccessExpression 583525 583560 + PropertyAccessExpression 583525 583541 + Identifier 583525 583533 + Identifier 583534 583541 + Identifier 583542 583560 + ExpressionStatement 583561 583625 + BinaryExpression 583561 583624 + PropertyAccessExpression 583561 583617 + PropertyAccessExpression 583561 583598 + Identifier 583561 583590 + Identifier 583591 583598 + Identifier 583599 583617 + EqualsToken 583617 583619 + TrueKeyword 583619 583624 + IfStatement 583625 585323 + Identifier 583651 583689 + Block 583690 583996 + ExpressionStatement 583692 583973 + CallExpression 583692 583972 + PropertyAccessExpression 583692 583730 + Identifier 583692 583725 + Identifier 583726 583730 + CallExpression 583731 583971 + PropertyAccessExpression 583731 583761 + Identifier 583731 583738 + Identifier 583739 583761 + Identifier 583762 583815 + Identifier 583816 583860 + CallExpression 583861 583943 + Identifier 583861 583909 + Identifier 583910 583916 + Identifier 583917 583925 + PropertyAccessExpression 583926 583942 + Identifier 583926 583938 + Identifier 583939 583942 + Block 584022 585323 + IfStatement 584024 585300 + BinaryExpression 584054 584077 + BinaryExpression 584054 584068 + Identifier 584054 584059 + EqualsEqualsEqualsToken 584059 584063 + Identifier 584063 584068 + AmpersandAmpersandToken 584068 584071 + Identifier 584071 584077 + Block 584078 584254 + ExpressionStatement 584080 584227 + CallExpression 584080 584226 + Identifier 584080 584205 + Identifier 584206 584210 + CallExpression 584211 584225 + Identifier 584211 584218 + Identifier 584219 584224 + IfStatement 584284 585300 + BinaryExpression 584289 584320 + Identifier 584289 584293 + AmpersandAmpersandToken 584293 584296 + CallExpression 584296 584320 + Identifier 584296 584314 + Identifier 584315 584319 + Block 584321 584462 + ExpressionStatement 584323 584435 + CallExpression 584323 584434 + Identifier 584323 584377 + Identifier 584378 584382 + CallExpression 584383 584433 + Identifier 584383 584405 + Identifier 584406 584412 + CallExpression 584413 584432 + Identifier 584413 584424 + Identifier 584425 584431 + Block 584492 585300 + VariableStatement 584494 584663 + VariableDeclarationList 584494 584662 + VariableDeclaration 584624 584662 + Identifier 584624 584632 + CallExpression 584634 584662 + Identifier 584634 584648 + Identifier 584649 584653 + Identifier 584654 584661 + ExpressionStatement 584663 585203 + CallExpression 584663 585202 + Identifier 584663 584702 + CallExpression 584703 585117 + PropertyAccessExpression 584703 584774 + Identifier 584703 584744 + Identifier 584745 584774 + Identifier 584775 584836 + FalseKeyword 584837 584895 + CallExpression 584896 584967 + PropertyAccessExpression 584896 584958 + Identifier 584896 584941 + Identifier 584942 584958 + Identifier 584959 584966 + CallExpression 584968 585081 + Identifier 584968 585018 + Identifier 585019 585025 + Identifier 585026 585034 + PropertyAccessExpression 585035 585051 + Identifier 585035 585047 + Identifier 585048 585051 + FalseKeyword 585052 585080 + PropertyAccessExpression 585118 585170 + Identifier 585118 585165 + Identifier 585166 585170 + ExpressionStatement 585203 585273 + CallExpression 585203 585272 + Identifier 585203 585257 + Identifier 585258 585262 + Identifier 585263 585271 + ExpressionStatement 585323 585405 + BinaryExpression 585323 585404 + PropertyAccessExpression 585323 585379 + PropertyAccessExpression 585323 585360 + Identifier 585323 585352 + Identifier 585353 585360 + Identifier 585361 585379 + EqualsToken 585379 585381 + Identifier 585381 585404 + ReturnStatement 585405 585439 + TrueKeyword 585433 585438 + Block 585480 588364 + VariableStatement 585482 585619 + VariableDeclarationList 585482 585618 + VariableDeclaration 585580 585618 + Identifier 585580 585588 + CallExpression 585590 585618 + Identifier 585590 585604 + Identifier 585605 585609 + Identifier 585610 585617 + VariableStatement 585619 585959 + VariableDeclarationList 585619 585958 + VariableDeclaration 585883 585958 + Identifier 585883 585899 + CallExpression 585901 585958 + Identifier 585901 585916 + CallExpression 585917 585957 + Identifier 585917 585932 + CallExpression 585933 585956 + Identifier 585933 585948 + Identifier 585949 585955 + IfStatement 585959 587743 + CallExpression 585985 586053 + Identifier 585985 586028 + Identifier 586029 586044 + Identifier 586045 586052 + Block 586054 586398 + ExpressionStatement 586056 586375 + CallExpression 586056 586374 + Identifier 586056 586256 + Identifier 586257 586272 + Identifier 586273 586280 + Identifier 586281 586289 + ConditionalExpression 586290 586373 + Identifier 586290 586329 + QuestionToken 586329 586331 + PropertyAccessExpression 586331 586350 + Identifier 586331 586345 + Identifier 586346 586350 + ColonToken 586350 586352 + PropertyAccessExpression 586352 586373 + Identifier 586352 586366 + Identifier 586367 586373 + Block 586424 587743 + VariableStatement 586426 586654 + VariableDeclarationList 586426 586653 + VariableDeclaration 586457 586653 + Identifier 586457 586463 + ConditionalExpression 586465 586653 + BinaryExpression 586465 586619 + BinaryExpression 586465 586533 + PropertyAccessExpression 586465 586500 + PropertyAccessExpression 586465 586494 + Identifier 586465 586473 + Identifier 586474 586494 + QuestionDotToken 586494 586496 + Identifier 586496 586500 + EqualsEqualsEqualsToken 586500 586504 + PropertyAccessExpression 586504 586533 + Identifier 586504 586515 + Identifier 586516 586533 + AmpersandAmpersandToken 586533 586536 + ParenthesizedExpression 586536 586619 + BinaryExpression 586538 586618 + PrefixUnaryExpression 586538 586576 + ParenthesizedExpression 586539 586576 + BinaryExpression 586540 586575 + PropertyAccessExpression 586540 586552 + Identifier 586540 586546 + Identifier 586547 586552 + AmpersandToken 586552 586554 + PropertyAccessExpression 586554 586575 + Identifier 586554 586566 + Identifier 586567 586575 + BarBarToken 586576 586579 + BinaryExpression 586579 586618 + PropertyAccessExpression 586579 586592 + Identifier 586579 586586 + Identifier 586587 586592 + AmpersandToken 586592 586594 + PropertyAccessExpression 586594 586618 + Identifier 586594 586606 + Identifier 586607 586618 + QuestionToken 586619 586621 + PropertyAccessExpression 586621 586635 + Identifier 586621 586631 + Identifier 586632 586635 + ColonToken 586635 586637 + PropertyAccessExpression 586637 586653 + Identifier 586637 586647 + Identifier 586648 586653 + VariableStatement 586654 587120 + VariableDeclarationList 586654 587119 + VariableDeclaration 586685 587119 + Identifier 586685 586695 + CallExpression 586697 587119 + PropertyAccessExpression 586697 586729 + Identifier 586697 586705 + Identifier 586706 586729 + Identifier 586730 586783 + CallExpression 586784 587091 + PropertyAccessExpression 586784 586851 + Identifier 586784 586821 + Identifier 586822 586851 + ArrayLiteralExpression 586852 587083 + CallExpression 586853 587051 + PropertyAccessExpression 586853 586920 + Identifier 586853 586894 + Identifier 586895 586920 + Identifier 586921 586928 + Identifier 586929 586960 + CallExpression 586961 587050 + Identifier 586961 586989 + Identifier 586990 586997 + Identifier 586998 587024 + Identifier 587025 587041 + Identifier 587042 587049 + Identifier 587084 587090 + ExpressionStatement 587120 587720 + CallExpression 587120 587719 + Identifier 587120 587364 + Identifier 587365 587404 + ConditionalExpression 587405 587691 + BinaryExpression 587405 587538 + BinaryExpression 587405 587480 + Identifier 587405 587441 + AmpersandAmpersandToken 587441 587444 + BinaryExpression 587444 587480 + PropertyAccessExpression 587444 587457 + Identifier 587444 587451 + Identifier 587452 587457 + AmpersandToken 587457 587459 + PropertyAccessExpression 587459 587480 + Identifier 587459 587471 + Identifier 587472 587480 + AmpersandAmpersandToken 587480 587483 + BinaryExpression 587483 587538 + PropertyAccessExpression 587483 587502 + Identifier 587483 587490 + Identifier 587491 587502 + EqualsEqualsEqualsToken 587502 587506 + PropertyAccessExpression 587506 587538 + Identifier 587506 587525 + Identifier 587526 587538 + QuestionToken 587538 587540 + PropertyAccessExpression 587540 587562 + Identifier 587540 587554 + Identifier 587555 587562 + ColonToken 587562 587597 + ConditionalExpression 587597 587691 + BinaryExpression 587597 587614 + Identifier 587597 587602 + EqualsEqualsEqualsToken 587602 587606 + Identifier 587606 587614 + QuestionToken 587614 587616 + PropertyAccessExpression 587616 587637 + Identifier 587616 587630 + Identifier 587631 587637 + ColonToken 587637 587672 + PropertyAccessExpression 587672 587691 + Identifier 587672 587686 + Identifier 587687 587691 + IfStatement 587743 588310 + Identifier 587769 587807 + Block 587808 588133 + ExpressionStatement 587810 588072 + CallExpression 587810 588071 + PropertyAccessExpression 587810 587848 + Identifier 587810 587843 + Identifier 587844 587848 + CallExpression 587849 588070 + PropertyAccessExpression 587849 587879 + Identifier 587849 587856 + Identifier 587857 587879 + Identifier 587880 587933 + Identifier 587934 587978 + CallExpression 587979 588042 + PropertyAccessExpression 587979 588033 + Identifier 587979 588016 + Identifier 588017 588033 + Identifier 588034 588041 + ReturnStatement 588072 588110 + TrueKeyword 588104 588109 + IfStatement 588159 588310 + BinaryExpression 588164 588180 + Identifier 588164 588168 + ExclamationEqualsEqualsToken 588168 588172 + Identifier 588172 588180 + Block 588181 588310 + ExpressionStatement 588183 588249 + CallExpression 588183 588248 + Identifier 588183 588233 + Identifier 588234 588238 + Identifier 588239 588247 + ReturnStatement 588249 588287 + TrueKeyword 588281 588286 + ReturnStatement 588310 588345 + FalseKeyword 588338 588344 + FunctionDeclaration 588379 590769 + Identifier 588403 588447 + Parameter 588448 588469 + Identifier 588448 588463 + TypeReference 588464 588469 + Identifier 588464 588469 + Parameter 588470 588489 + Identifier 588470 588481 + TypeReference 588482 588489 + Identifier 588482 588489 + Block 588490 590769 + VariableStatement 588492 588934 + VariableDeclarationList 588492 588933 + VariableDeclaration 588874 588933 + Identifier 588874 588881 + CallExpression 588883 588933 + Identifier 588883 588903 + PropertyAccessExpression 588904 588932 + Identifier 588904 588911 + Identifier 588912 588932 + ReturnStatement 588934 590754 + BinaryExpression 588958 590753 + BinaryExpression 588958 590277 + BinaryExpression 588958 590142 + BinaryExpression 588958 590037 + BinaryExpression 588958 589902 + BinaryExpression 588958 589731 + BinaryExpression 588958 589636 + BinaryExpression 588958 589329 + BinaryExpression 588958 589267 + BinaryExpression 588958 589117 + BinaryExpression 588958 589037 + CallExpression 588958 588990 + Identifier 588958 588973 + Identifier 588974 588989 + AmpersandToken 588990 588992 + ParenthesizedExpression 588992 589037 + BinaryExpression 588994 589036 + PropertyAccessExpression 588994 589015 + Identifier 588994 589005 + Identifier 589006 589015 + BarToken 589015 589017 + PropertyAccessExpression 589017 589036 + Identifier 589017 589029 + Identifier 589030 589036 + AmpersandAmpersandToken 589037 589040 + PrefixUnaryExpression 589040 589117 + CallExpression 589063 589117 + Identifier 589063 589067 + PropertyAccessExpression 589068 589104 + PropertyAccessExpression 589068 589090 + Identifier 589068 589083 + Identifier 589084 589090 + QuestionDotToken 589090 589092 + Identifier 589092 589104 + Identifier 589105 589116 + AmpersandAmpersandToken 589117 589120 + PrefixUnaryExpression 589120 589267 + CallExpression 589223 589267 + Identifier 589223 589229 + CallExpression 589230 589266 + Identifier 589230 589249 + Identifier 589250 589265 + AmpersandAmpersandToken 589267 589270 + PrefixUnaryExpression 589270 589329 + CallExpression 589293 589329 + Identifier 589293 589312 + Identifier 589313 589328 + AmpersandAmpersandToken 589329 589332 + PrefixUnaryExpression 589332 589636 + PrefixUnaryExpression 589494 589636 + ParenthesizedExpression 589495 589636 + BinaryExpression 589496 589635 + CallExpression 589496 589567 + Identifier 589496 589502 + CallExpression 589503 589566 + Identifier 589503 589509 + CallExpression 589510 589546 + Identifier 589510 589529 + Identifier 589530 589545 + Identifier 589547 589565 + BarBarToken 589567 589570 + CallExpression 589570 589635 + Identifier 589570 589577 + CallExpression 589578 589634 + Identifier 589578 589597 + Identifier 589598 589613 + PropertyAccessExpression 589614 589633 + Identifier 589614 589628 + Identifier 589629 589633 + AmpersandAmpersandToken 589636 589639 + PrefixUnaryExpression 589639 589731 + CallExpression 589662 589731 + Identifier 589662 589668 + CallExpression 589669 589730 + Identifier 589669 589688 + Identifier 589689 589704 + PropertyAccessExpression 589705 589729 + Identifier 589705 589719 + Identifier 589720 589729 + AmpersandAmpersandToken 589731 589734 + PrefixUnaryExpression 589734 589902 + CallExpression 589836 589902 + Identifier 589836 589868 + Identifier 589869 589879 + Identifier 589880 589901 + AmpersandAmpersandToken 589902 589905 + PrefixUnaryExpression 589905 590037 + ParenthesizedExpression 589928 590037 + BinaryExpression 589929 590036 + PropertyAccessExpression 589929 589951 + Identifier 589929 589944 + Identifier 589945 589951 + AmpersandAmpersandToken 589951 589954 + CallExpression 589954 590036 + Identifier 589954 589959 + PropertyAccessExpression 589960 589995 + PropertyAccessExpression 589960 589982 + Identifier 589960 589975 + Identifier 589976 589982 + Identifier 589983 589995 + ArrowFunction 589996 590035 + Parameter 589996 589998 + Identifier 589996 589998 + EqualsGreaterThanToken 589998 590001 + BinaryExpression 590001 590035 + CallExpression 590001 590024 + Identifier 590001 590021 + Identifier 590022 590023 + ExclamationEqualsEqualsToken 590024 590028 + Identifier 590028 590035 + AmpersandAmpersandToken 590037 590040 + PrefixUnaryExpression 590040 590142 + CallExpression 590063 590142 + Identifier 590063 590067 + CallExpression 590068 590104 + Identifier 590068 590087 + Identifier 590088 590103 + ArrowFunction 590105 590141 + Parameter 590105 590107 + Identifier 590105 590107 + EqualsGreaterThanToken 590107 590110 + CallExpression 590110 590141 + Identifier 590110 590126 + PropertyAccessExpression 590127 590140 + Identifier 590127 590128 + Identifier 590129 590140 + AmpersandAmpersandToken 590142 590145 + PrefixUnaryExpression 590145 590277 + CallExpression 590168 590277 + Identifier 590168 590172 + CallExpression 590173 590209 + Identifier 590173 590192 + Identifier 590193 590208 + ArrowFunction 590210 590276 + Parameter 590210 590212 + Identifier 590210 590212 + EqualsGreaterThanToken 590212 590215 + CallExpression 590215 590276 + Identifier 590215 590220 + PropertyAccessExpression 590221 590235 + Identifier 590221 590222 + Identifier 590223 590235 + ArrowFunction 590236 590275 + Parameter 590236 590238 + Identifier 590236 590238 + EqualsGreaterThanToken 590238 590241 + BinaryExpression 590241 590275 + CallExpression 590241 590264 + Identifier 590241 590261 + Identifier 590262 590263 + ExclamationEqualsEqualsToken 590264 590268 + Identifier 590268 590275 + AmpersandAmpersandToken 590277 590280 + CallExpression 590280 590753 + Identifier 590280 590307 + CallExpression 590308 590344 + Identifier 590308 590327 + Identifier 590328 590343 + ArrowFunction 590345 590752 + Parameter 590345 590347 + Identifier 590345 590347 + EqualsGreaterThanToken 590347 590350 + Block 590350 590752 + IfStatement 590352 590504 + PrefixUnaryExpression 590382 590431 + CallExpression 590383 590431 + Identifier 590383 590399 + CallExpression 590400 590413 + Identifier 590400 590410 + Identifier 590411 590412 + Identifier 590414 590430 + Block 590432 590504 + ReturnStatement 590434 590477 + FalseKeyword 590470 590476 + IfStatement 590504 590639 + PrefixUnaryExpression 590534 590567 + ParenthesizedExpression 590535 590567 + BinaryExpression 590536 590566 + PropertyAccessExpression 590536 590543 + Identifier 590536 590537 + Identifier 590538 590543 + AmpersandToken 590543 590545 + PropertyAccessExpression 590545 590566 + Identifier 590545 590557 + Identifier 590558 590566 + Block 590568 590639 + ReturnStatement 590570 590612 + TrueKeyword 590606 590611 + ReturnStatement 590639 590729 + BinaryExpression 590671 590728 + CallExpression 590671 590700 + Identifier 590671 590697 + Identifier 590698 590699 + EqualsEqualsEqualsToken 590700 590704 + CallExpression 590704 590728 + Identifier 590704 590725 + Identifier 590726 590727 + FunctionDeclaration 590769 591425 + Identifier 590793 590821 + TypeParameter 590822 590836 + Identifier 590822 590823 + TypeReference 590831 590836 + Identifier 590831 590836 + Parameter 590838 591195 + Identifier 590838 590870 + FunctionType 590871 591195 + Parameter 590873 590937 + Identifier 590873 590904 + UnionType 590905 590937 + TypeOperator 590905 590925 + ArrayType 590914 590925 + TypeReference 590914 590923 + Identifier 590914 590923 + UndefinedKeyword 590927 590937 + Parameter 590938 590987 + Identifier 590938 590964 + UnionType 590965 590987 + StringKeyword 590965 590972 + TypeReference 590974 590987 + Identifier 590974 590987 + Parameter 590988 591063 + Identifier 590988 591036 + UnionType 591037 591063 + TypeReference 591037 591051 + Identifier 591037 591051 + UndefinedKeyword 591053 591063 + Parameter 591064 591112 + Identifier 591064 591090 + UnionType 591091 591112 + TypeReference 591091 591100 + Identifier 591091 591100 + UndefinedKeyword 591102 591112 + Parameter 591113 591170 + Identifier 591113 591146 + UnionType 591147 591170 + TypeReference 591147 591158 + Identifier 591147 591158 + UndefinedKeyword 591160 591170 + TypeReference 591193 591195 + Identifier 591193 591195 + Parameter 591196 591254 + Identifier 591196 591224 + IndexedAccessType 591225 591254 + TypeReference 591225 591246 + Identifier 591225 591246 + LiteralType 591247 591253 + StringLiteral 591247 591253 + Parameter 591255 591291 + Identifier 591255 591285 + LiteralType 591286 591291 + TrueKeyword 591286 591291 + FunctionType 591308 591424 + Parameter 591310 591319 + Identifier 591310 591311 + TypeReference 591312 591319 + Identifier 591312 591319 + Parameter 591320 591338 + Identifier 591320 591329 + BooleanKeyword 591330 591338 + Parameter 591339 591366 + Identifier 591339 591348 + UnionType 591349 591366 + TypeReference 591349 591354 + Identifier 591349 591354 + UndefinedKeyword 591356 591366 + UnionType 591370 591424 + TypeReference 591370 591372 + Identifier 591370 591372 + TypeReference 591374 591394 + Identifier 591374 591394 + ArrayType 591396 591424 + ParenthesizedType 591396 591422 + UnionType 591398 591421 + TypeReference 591398 591399 + Identifier 591398 591399 + TypeReference 591401 591421 + Identifier 591401 591421 + FunctionDeclaration 591425 592034 + Identifier 591447 591475 + TypeParameter 591476 591490 + Identifier 591476 591477 + TypeReference 591485 591490 + Identifier 591485 591490 + Parameter 591492 591849 + Identifier 591492 591524 + FunctionType 591525 591849 + Parameter 591527 591591 + Identifier 591527 591558 + UnionType 591559 591591 + TypeOperator 591559 591579 + ArrayType 591568 591579 + TypeReference 591568 591577 + Identifier 591568 591577 + UndefinedKeyword 591581 591591 + Parameter 591592 591641 + Identifier 591592 591618 + UnionType 591619 591641 + StringKeyword 591619 591626 + TypeReference 591628 591641 + Identifier 591628 591641 + Parameter 591642 591717 + Identifier 591642 591690 + UnionType 591691 591717 + TypeReference 591691 591705 + Identifier 591691 591705 + UndefinedKeyword 591707 591717 + Parameter 591718 591766 + Identifier 591718 591744 + UnionType 591745 591766 + TypeReference 591745 591754 + Identifier 591745 591754 + UndefinedKeyword 591756 591766 + Parameter 591767 591824 + Identifier 591767 591800 + UnionType 591801 591824 + TypeReference 591801 591812 + Identifier 591801 591812 + UndefinedKeyword 591814 591824 + TypeReference 591847 591849 + Identifier 591847 591849 + Parameter 591850 591908 + Identifier 591850 591878 + IndexedAccessType 591879 591908 + TypeReference 591879 591900 + Identifier 591879 591900 + LiteralType 591901 591907 + StringLiteral 591901 591907 + Parameter 591909 591946 + Identifier 591909 591939 + LiteralType 591940 591946 + FalseKeyword 591940 591946 + FunctionType 591963 592033 + Parameter 591965 591974 + Identifier 591965 591966 + TypeReference 591967 591974 + Identifier 591967 591974 + Parameter 591975 591993 + Identifier 591975 591984 + BooleanKeyword 591985 591993 + Parameter 591994 592021 + Identifier 591994 592003 + UnionType 592004 592021 + TypeReference 592004 592009 + Identifier 592004 592009 + UndefinedKeyword 592011 592021 + UnionType 592025 592033 + TypeReference 592025 592027 + Identifier 592025 592027 + ArrayType 592029 592033 + TypeReference 592029 592031 + Identifier 592029 592031 + FunctionDeclaration 592034 602014 + Identifier 592056 592084 + TypeParameter 592085 592099 + Identifier 592085 592086 + TypeReference 592094 592099 + Identifier 592094 592099 + Parameter 592101 592458 + Identifier 592101 592133 + FunctionType 592134 592458 + Parameter 592136 592200 + Identifier 592136 592167 + UnionType 592168 592200 + TypeOperator 592168 592188 + ArrayType 592177 592188 + TypeReference 592177 592186 + Identifier 592177 592186 + UndefinedKeyword 592190 592200 + Parameter 592201 592250 + Identifier 592201 592227 + UnionType 592228 592250 + StringKeyword 592228 592235 + TypeReference 592237 592250 + Identifier 592237 592250 + Parameter 592251 592326 + Identifier 592251 592299 + UnionType 592300 592326 + TypeReference 592300 592314 + Identifier 592300 592314 + UndefinedKeyword 592316 592326 + Parameter 592327 592375 + Identifier 592327 592353 + UnionType 592354 592375 + TypeReference 592354 592363 + Identifier 592354 592363 + UndefinedKeyword 592365 592375 + Parameter 592376 592433 + Identifier 592376 592409 + UnionType 592410 592433 + TypeReference 592410 592421 + Identifier 592410 592421 + UndefinedKeyword 592423 592433 + TypeReference 592456 592458 + Identifier 592456 592458 + Parameter 592459 592517 + Identifier 592459 592487 + IndexedAccessType 592488 592517 + TypeReference 592488 592509 + Identifier 592488 592509 + LiteralType 592510 592516 + StringLiteral 592510 592516 + Parameter 592518 592557 + Identifier 592518 592548 + BooleanKeyword 592549 592557 + FunctionType 592574 592690 + Parameter 592576 592585 + Identifier 592576 592577 + TypeReference 592578 592585 + Identifier 592578 592585 + Parameter 592586 592604 + Identifier 592586 592595 + BooleanKeyword 592596 592604 + Parameter 592605 592632 + Identifier 592605 592614 + UnionType 592615 592632 + TypeReference 592615 592620 + Identifier 592615 592620 + UndefinedKeyword 592622 592632 + UnionType 592636 592690 + TypeReference 592636 592638 + Identifier 592636 592638 + TypeReference 592640 592660 + Identifier 592640 592660 + ArrayType 592662 592690 + ParenthesizedType 592662 592688 + UnionType 592664 592687 + TypeReference 592664 592665 + Identifier 592664 592665 + TypeReference 592667 592687 + Identifier 592667 592687 + Block 592690 602014 + ReturnStatement 592692 601999 + FunctionExpression 592716 601998 + Identifier 592725 592749 + Parameter 592750 592759 + Identifier 592750 592751 + TypeReference 592752 592759 + Identifier 592752 592759 + Parameter 592760 592778 + Identifier 592760 592769 + BooleanKeyword 592770 592778 + Parameter 592779 592806 + Identifier 592779 592788 + UnionType 592789 592806 + TypeReference 592789 592794 + Identifier 592789 592794 + UndefinedKeyword 592796 592806 + UnionType 592808 592862 + TypeReference 592808 592810 + Identifier 592808 592810 + TypeReference 592812 592832 + Identifier 592812 592832 + ArrayType 592834 592862 + ParenthesizedType 592834 592860 + UnionType 592836 592859 + TypeReference 592836 592837 + Identifier 592836 592837 + TypeReference 592839 592859 + Identifier 592839 592859 + Block 592862 601998 + VariableStatement 592864 592949 + VariableDeclarationList 592864 592948 + VariableDeclaration 592891 592948 + Identifier 592891 592905 + CallExpression 592907 592948 + Identifier 592907 592945 + Identifier 592946 592947 + VariableStatement 592949 593031 + VariableDeclarationList 592949 593030 + VariableDeclaration 592976 593030 + Identifier 592976 592986 + PrefixUnaryExpression 592988 593030 + PrefixUnaryExpression 592990 593030 + ParenthesizedExpression 592991 593030 + BinaryExpression 592992 593029 + Identifier 592992 593005 + AmpersandToken 593005 593007 + PropertyAccessExpression 593007 593029 + Identifier 593007 593021 + Identifier 593022 593029 + IfStatement 593031 593409 + BinaryExpression 593057 593143 + Identifier 593057 593065 + AmpersandAmpersandToken 593065 593068 + ParenthesizedExpression 593068 593143 + BinaryExpression 593070 593142 + PropertyAccessExpression 593070 593077 + Identifier 593070 593071 + Identifier 593072 593077 + AmpersandToken 593077 593079 + ParenthesizedExpression 593079 593142 + BinaryExpression 593081 593141 + BinaryExpression 593081 593121 + PropertyAccessExpression 593081 593097 + Identifier 593081 593092 + Identifier 593093 593097 + BarToken 593097 593099 + PropertyAccessExpression 593099 593121 + Identifier 593099 593111 + Identifier 593112 593121 + BarToken 593121 593123 + PropertyAccessExpression 593123 593141 + Identifier 593123 593135 + Identifier 593136 593141 + Block 593144 593409 + ReturnStatement 593146 593386 + ArrayLiteralExpression 593382 593385 + IfStatement 593409 594079 + BinaryExpression 593435 593995 + BinaryExpression 593435 593527 + BinaryExpression 593435 593492 + PropertyAccessExpression 593435 593468 + Identifier 593435 593462 + Identifier 593463 593468 + AmpersandToken 593468 593470 + PropertyAccessExpression 593470 593492 + Identifier 593470 593482 + Identifier 593483 593492 + BarBarToken 593492 593495 + BinaryExpression 593495 593527 + PropertyAccessExpression 593495 593509 + Identifier 593495 593497 + Identifier 593498 593509 + EqualsEqualsEqualsToken 593509 593513 + StringLiteral 593513 593527 + BarBarToken 593527 593530 + ParenthesizedExpression 593530 593995 + BinaryExpression 593557 593994 + BinaryExpression 593557 593873 + BinaryExpression 593557 593729 + BinaryExpression 593557 593611 + Identifier 593557 593565 + AmpersandAmpersandToken 593565 593568 + CallExpression 593568 593611 + Identifier 593568 593586 + Identifier 593587 593595 + PropertyAccessExpression 593596 593610 + Identifier 593596 593598 + Identifier 593599 593610 + AmpersandAmpersandToken 593611 593643 + BinaryExpression 593643 593729 + CallExpression 593643 593705 + Identifier 593643 593660 + NonNullExpression 593661 593704 + CallExpression 593661 593703 + Identifier 593661 593678 + Identifier 593679 593687 + PropertyAccessExpression 593688 593702 + Identifier 593688 593690 + Identifier 593691 593702 + EqualsEqualsEqualsToken 593705 593709 + CallExpression 593709 593729 + Identifier 593709 593726 + Identifier 593727 593728 + AmpersandAmpersandToken 593729 593761 + BinaryExpression 593761 593873 + ParenthesizedExpression 593761 593794 + BinaryExpression 593763 593793 + PropertyAccessExpression 593763 593770 + Identifier 593763 593764 + Identifier 593765 593770 + AmpersandToken 593770 593772 + PropertyAccessExpression 593772 593793 + Identifier 593772 593784 + Identifier 593785 593793 + EqualsEqualsEqualsToken 593794 593798 + ParenthesizedExpression 593798 593873 + BinaryExpression 593800 593872 + PropertyAccessExpression 593800 593849 + NonNullExpression 593800 593843 + CallExpression 593800 593842 + Identifier 593800 593817 + Identifier 593818 593826 + PropertyAccessExpression 593827 593841 + Identifier 593827 593829 + Identifier 593830 593841 + Identifier 593844 593849 + AmpersandToken 593849 593851 + PropertyAccessExpression 593851 593872 + Identifier 593851 593863 + Identifier 593864 593872 + AmpersandAmpersandToken 593873 593905 + CallExpression 593905 593994 + Identifier 593905 593923 + CallExpression 593924 593942 + Identifier 593924 593939 + Identifier 593940 593941 + NonNullExpression 593943 593993 + CallExpression 593943 593992 + Identifier 593943 593967 + Identifier 593968 593976 + PropertyAccessExpression 593977 593991 + Identifier 593977 593979 + Identifier 593980 593991 + Block 594018 594079 + ReturnStatement 594020 594056 + ArrayLiteralExpression 594052 594055 + VariableStatement 594079 594193 + VariableDeclarationList 594079 594192 + VariableDeclaration 594106 594192 + Identifier 594106 594111 + BinaryExpression 594113 594192 + ParenthesizedExpression 594113 594152 + BinaryExpression 594115 594151 + Identifier 594115 594128 + AmpersandToken 594128 594130 + PrefixUnaryExpression 594130 594151 + PropertyAccessExpression 594132 594151 + Identifier 594132 594145 + Identifier 594146 594151 + BarToken 594152 594154 + ParenthesizedExpression 594154 594192 + ConditionalExpression 594156 594191 + Identifier 594156 594164 + QuestionToken 594164 594166 + PropertyAccessExpression 594166 594187 + Identifier 594166 594180 + Identifier 594181 594187 + ColonToken 594187 594189 + NumericLiteral 594189 594191 + VariableStatement 594193 594269 + VariableDeclarationList 594193 594268 + VariableDeclaration 594220 594268 + Identifier 594220 594225 + CallExpression 594227 594268 + Identifier 594227 594256 + Identifier 594257 594258 + Identifier 594259 594267 + VariableStatement 594269 594473 + VariableDeclarationList 594269 594472 + VariableDeclaration 594296 594472 + Identifier 594296 594318 + CallExpression 594320 594472 + PropertyAccessExpression 594320 594341 + PropertyAccessExpression 594320 594335 + Identifier 594320 594322 + Identifier 594323 594335 + QuestionDotToken 594335 594337 + Identifier 594337 594341 + CallExpression 594342 594471 + Identifier 594342 594344 + Identifier 594345 594366 + Identifier 594367 594378 + Identifier 594379 594401 + Identifier 594402 594422 + Identifier 594423 594442 + Identifier 594443 594470 + IfStatement 594473 599442 + BinaryExpression 594499 594545 + BinaryExpression 594499 594529 + PropertyAccessExpression 594499 594506 + Identifier 594499 594500 + Identifier 594501 594506 + AmpersandToken 594506 594508 + PropertyAccessExpression 594508 594529 + Identifier 594508 594520 + Identifier 594521 594529 + AmpersandAmpersandToken 594529 594532 + Identifier 594532 594545 + Block 594546 598024 + VariableStatement 594548 594615 + VariableDeclarationList 594548 594614 + VariableDeclaration 594579 594614 + Identifier 594579 594586 + ArrayType 594587 594609 + TypeReference 594587 594607 + Identifier 594587 594607 + ArrayLiteralExpression 594611 594614 + IfStatement 594615 597009 + BinaryExpression 594645 594678 + PropertyAccessExpression 594645 594652 + Identifier 594645 594646 + Identifier 594647 594652 + AmpersandToken 594652 594654 + PropertyAccessExpression 594654 594678 + Identifier 594654 594666 + Identifier 594667 594678 + Block 594679 597009 + VariableStatement 594681 595545 + VariableDeclarationList 594681 595544 + VariableDeclaration 594716 595544 + Identifier 594716 594723 + BinaryExpression 594725 595544 + PropertyAccessExpression 594725 594740 + Identifier 594725 594727 + Identifier 594728 594740 + AmpersandAmpersandToken 594740 594743 + CallExpression 594743 595544 + Identifier 594743 594751 + PropertyAccessExpression 594752 594766 + Identifier 594752 594753 + Identifier 594754 594766 + ArrowFunction 594767 595543 + Parameter 594767 594769 + Identifier 594767 594769 + EqualsGreaterThanToken 594769 594772 + Block 594772 595543 + IfStatement 594774 594956 + BinaryExpression 594812 594845 + PropertyAccessExpression 594812 594818 + Identifier 594812 594813 + Identifier 594814 594818 + EqualsEqualsEqualsToken 594818 594822 + PropertyAccessExpression 594822 594845 + Identifier 594822 594833 + Identifier 594834 594845 + Block 594846 594956 + ReturnStatement 594848 594921 + AsExpression 594892 594920 + Identifier 594892 594894 + TypeReference 594897 594920 + Identifier 594897 594920 + IfStatement 594956 595512 + BinaryExpression 594994 595054 + CallExpression 594994 595013 + Identifier 594994 595010 + Identifier 595011 595012 + AmpersandAmpersandToken 595013 595016 + CallExpression 595016 595054 + Identifier 595016 595051 + Identifier 595052 595053 + Block 595055 595512 + ReturnStatement 595057 595477 + CallExpression 595101 595476 + Identifier 595101 595109 + PropertyAccessExpression 595110 595135 + ElementAccessExpression 595110 595124 + PropertyAccessExpression 595110 595121 + Identifier 595110 595111 + Identifier 595112 595121 + NumericLiteral 595122 595123 + Identifier 595125 595135 + ArrowFunction 595136 595475 + Parameter 595136 595145 + Identifier 595136 595145 + EqualsGreaterThanToken 595145 595148 + Block 595148 595475 + VariableStatement 595150 595234 + VariableDeclarationList 595150 595233 + VariableDeclaration 595197 595233 + Identifier 595197 595200 + CallExpression 595202 595233 + Identifier 595202 595223 + Identifier 595224 595232 + IfStatement 595234 595436 + BinaryExpression 595280 595328 + BinaryExpression 595280 595304 + PrefixUnaryExpression 595280 595284 + PrefixUnaryExpression 595281 595284 + Identifier 595282 595284 + AmpersandAmpersandToken 595284 595287 + CallExpression 595287 595304 + Identifier 595287 595300 + Identifier 595301 595303 + AmpersandAmpersandToken 595304 595307 + BinaryExpression 595307 595328 + CallExpression 595307 595318 + Identifier 595307 595314 + Identifier 595315 595317 + EqualsEqualsEqualsToken 595318 595322 + StringLiteral 595322 595328 + Block 595329 595436 + ReturnStatement 595331 595393 + Identifier 595383 595392 + ExpressionStatement 595545 595600 + CallExpression 595545 595599 + PropertyAccessExpression 595545 595589 + Identifier 595545 595582 + Identifier 595583 595589 + PrefixUnaryExpression 595590 595598 + PrefixUnaryExpression 595591 595598 + Identifier 595592 595598 + VariableStatement 595600 595748 + VariableDeclarationList 595600 595747 + VariableDeclaration 595635 595747 + Identifier 595635 595647 + ConditionalExpression 595649 595747 + CallExpression 595649 595683 + Identifier 595649 595675 + Identifier 595676 595682 + QuestionToken 595683 595685 + ElementAccessExpression 595685 595735 + PropertyAccessExpression 595685 595732 + CallExpression 595685 595721 + Identifier 595685 595713 + Identifier 595714 595720 + Identifier 595722 595732 + NumericLiteral 595733 595734 + ColonToken 595735 595737 + Identifier 595737 595747 + VariableStatement 595748 595840 + VariableDeclarationList 595748 595839 + VariableDeclaration 595783 595839 + Identifier 595783 595801 + CallExpression 595803 595839 + PropertyAccessExpression 595803 595824 + PropertyAccessExpression 595803 595818 + Identifier 595803 595805 + Identifier 595806 595818 + QuestionDotToken 595818 595820 + Identifier 595820 595824 + Identifier 595825 595838 + ExpressionStatement 595840 596982 + CallExpression 595840 596981 + PropertyAccessExpression 595840 595881 + Identifier 595840 595876 + Identifier 595877 595881 + CallExpression 595882 596980 + Identifier 595882 595894 + Identifier 595895 595936 + CallExpression 595937 596871 + PropertyAccessExpression 595937 596007 + Identifier 595937 595978 + Identifier 595979 596007 + CallExpression 596008 596092 + PropertyAccessExpression 596008 596086 + Identifier 596008 596053 + Identifier 596054 596086 + Identifier 596087 596091 + Identifier 596093 596135 + ArrayLiteralExpression 596136 596778 + CallExpression 596175 596777 + PropertyAccessExpression 596175 596209 + Identifier 596175 596182 + Identifier 596183 596209 + Identifier 596210 596275 + Identifier 596276 596346 + ConditionalExpression 596347 596517 + Identifier 596347 596400 + QuestionToken 596400 596402 + CallExpression 596402 596507 + Identifier 596402 596438 + Identifier 596439 596450 + CallExpression 596451 596497 + Identifier 596451 596484 + Identifier 596485 596496 + Identifier 596498 596506 + ColonToken 596507 596509 + StringLiteral 596509 596517 + Identifier 596518 596587 + ConditionalExpression 596588 596737 + Identifier 596588 596639 + QuestionToken 596639 596641 + Identifier 596641 596651 + ColonToken 596651 596653 + CallExpression 596653 596737 + Identifier 596653 596681 + Identifier 596682 596689 + Identifier 596690 596708 + CallExpression 596709 596733 + Identifier 596709 596730 + Identifier 596731 596732 + Identifier 596734 596736 + Identifier 596779 596835 + BinaryExpression 596872 596948 + Identifier 596872 596923 + QuestionQuestionToken 596923 596926 + Identifier 596926 596948 + IfStatement 597009 597961 + BinaryExpression 597039 597072 + PropertyAccessExpression 597039 597046 + Identifier 597039 597040 + Identifier 597041 597046 + AmpersandToken 597046 597048 + PropertyAccessExpression 597048 597072 + Identifier 597048 597060 + Identifier 597061 597072 + Block 597073 597961 + VariableStatement 597075 597161 + VariableDeclarationList 597075 597160 + VariableDeclaration 597110 597160 + Identifier 597110 597120 + BinaryExpression 597122 597160 + Identifier 597122 597136 + AmpersandToken 597136 597138 + PropertyAccessExpression 597138 597160 + Identifier 597138 597152 + Identifier 597153 597160 + VariableStatement 597161 597253 + VariableDeclarationList 597161 597252 + VariableDeclaration 597196 597252 + Identifier 597196 597214 + CallExpression 597216 597252 + PropertyAccessExpression 597216 597237 + PropertyAccessExpression 597216 597231 + Identifier 597216 597218 + Identifier 597219 597231 + QuestionDotToken 597231 597233 + Identifier 597233 597237 + Identifier 597238 597251 + ExpressionStatement 597253 597934 + CallExpression 597253 597933 + PropertyAccessExpression 597253 597294 + Identifier 597253 597289 + Identifier 597290 597294 + CallExpression 597295 597932 + Identifier 597295 597307 + Identifier 597308 597349 + CallExpression 597350 597823 + PropertyAccessExpression 597350 597420 + Identifier 597350 597391 + Identifier 597392 597420 + CallExpression 597421 597505 + PropertyAccessExpression 597421 597499 + Identifier 597421 597466 + Identifier 597467 597499 + Identifier 597500 597504 + Identifier 597506 597548 + ArrayLiteralExpression 597549 597589 + ConditionalExpression 597590 597730 + Identifier 597590 597637 + QuestionToken 597637 597639 + Identifier 597639 597649 + ColonToken 597649 597651 + CallExpression 597651 597730 + Identifier 597651 597679 + Identifier 597680 597687 + Identifier 597688 597706 + CallExpression 597707 597726 + Identifier 597707 597723 + Identifier 597724 597725 + Identifier 597727 597729 + Identifier 597731 597787 + BinaryExpression 597824 597900 + Identifier 597824 597875 + QuestionQuestionToken 597875 597878 + Identifier 597878 597900 + ReturnStatement 597961 598001 + Identifier 597993 598000 + IfStatement 598267 599442 + BinaryExpression 598272 598350 + PropertyAccessExpression 598272 598279 + Identifier 598272 598273 + Identifier 598274 598279 + AmpersandToken 598279 598281 + ParenthesizedExpression 598281 598350 + BinaryExpression 598283 598349 + BinaryExpression 598283 598326 + PropertyAccessExpression 598283 598303 + Identifier 598283 598294 + Identifier 598295 598303 + BarToken 598303 598305 + PropertyAccessExpression 598305 598326 + Identifier 598305 598317 + Identifier 598318 598326 + BarToken 598326 598328 + PropertyAccessExpression 598328 598349 + Identifier 598328 598340 + Identifier 598341 598349 + Block 598351 599442 + ReturnStatement 598353 599419 + CallExpression 598385 599418 + Identifier 598385 598398 + Identifier 598399 598436 + CallExpression 598437 599264 + Identifier 598437 598481 + CallExpression 598482 598615 + PropertyAccessExpression 598482 598556 + Identifier 598482 598523 + Identifier 598524 598556 + BinaryExpression 598557 598614 + ParenthesizedExpression 598557 598607 + ConditionalExpression 598558 598606 + CallExpression 598558 598577 + Identifier 598558 598574 + Identifier 598575 598576 + QuestionToken 598577 598579 + PropertyAccessExpression 598579 598602 + Identifier 598579 598593 + Identifier 598594 598602 + ColonToken 598602 598604 + NumericLiteral 598604 598606 + BarToken 598607 598609 + Identifier 598609 598614 + Identifier 598616 598654 + ConditionalExpression 598655 598779 + BinaryExpression 598655 598719 + PropertyAccessExpression 598655 598696 + Identifier 598655 598690 + Identifier 598691 598696 + AmpersandToken 598696 598698 + PropertyAccessExpression 598698 598719 + Identifier 598698 598710 + Identifier 598711 598719 + QuestionToken 598719 598721 + CallExpression 598721 598767 + PropertyAccessExpression 598721 598741 + Identifier 598721 598729 + Identifier 598730 598741 + PropertyAccessExpression 598742 598766 + Identifier 598742 598752 + Identifier 598753 598766 + ColonToken 598767 598769 + Identifier 598769 598779 + ConditionalExpression 598780 598950 + Identifier 598780 598823 + QuestionToken 598823 598825 + Identifier 598825 598835 + ColonToken 598835 598837 + CallExpression 598837 598950 + Identifier 598837 598865 + Identifier 598866 598873 + CallExpression 598874 598921 + PropertyAccessExpression 598874 598895 + PropertyAccessExpression 598874 598889 + Identifier 598874 598876 + Identifier 598877 598889 + QuestionDotToken 598889 598891 + Identifier 598891 598895 + Identifier 598896 598920 + CallExpression 598922 598946 + Identifier 598922 598943 + Identifier 598944 598945 + Identifier 598947 598949 + Identifier 598951 599232 + BinaryExpression 599265 599390 + CallExpression 599265 599365 + PropertyAccessExpression 599265 599315 + PropertyAccessExpression 599265 599309 + Identifier 599265 599296 + Identifier 599297 599309 + QuestionDotToken 599309 599311 + Identifier 599311 599315 + CallExpression 599316 599364 + Identifier 599316 599318 + Identifier 599319 599340 + Identifier 599341 599363 + BarBarToken 599365 599368 + Identifier 599368 599390 + IfStatement 599442 601731 + BinaryExpression 599468 599521 + PropertyAccessExpression 599468 599475 + Identifier 599468 599469 + Identifier 599470 599475 + AmpersandToken 599475 599477 + ParenthesizedExpression 599477 599521 + BinaryExpression 599479 599520 + PropertyAccessExpression 599479 599497 + Identifier 599479 599490 + Identifier 599491 599497 + BarToken 599497 599499 + PropertyAccessExpression 599499 599520 + Identifier 599499 599511 + Identifier 599512 599520 + Block 599522 601731 + VariableStatement 599524 599582 + VariableDeclarationList 599524 599581 + VariableDeclaration 599555 599581 + Identifier 599555 599560 + CallExpression 599562 599581 + Identifier 599562 599578 + Identifier 599579 599580 + VariableStatement 599582 599673 + VariableDeclarationList 599582 599672 + VariableDeclaration 599613 599672 + Identifier 599613 599624 + CallExpression 599626 599672 + Identifier 599626 599646 + Identifier 599647 599651 + PropertyAccessExpression 599652 599671 + Identifier 599652 599666 + Identifier 599667 599671 + IfStatement 599673 600568 + BinaryExpression 599703 599731 + Identifier 599703 599707 + AmpersandToken 599707 599709 + PropertyAccessExpression 599709 599731 + Identifier 599709 599723 + Identifier 599724 599731 + Block 599732 600568 + ReturnStatement 599734 600541 + CallExpression 599770 600540 + Identifier 599770 599783 + Identifier 599784 599825 + CallExpression 599826 600341 + Identifier 599826 599874 + CallExpression 599875 600012 + PropertyAccessExpression 599875 599953 + Identifier 599875 599920 + Identifier 599921 599953 + BinaryExpression 599954 600011 + ParenthesizedExpression 599954 600004 + ConditionalExpression 599955 600003 + CallExpression 599955 599974 + Identifier 599955 599971 + Identifier 599972 599973 + QuestionToken 599974 599976 + PropertyAccessExpression 599976 599999 + Identifier 599976 599990 + Identifier 599991 599999 + ColonToken 599999 600001 + NumericLiteral 600001 600003 + BarToken 600004 600006 + Identifier 600006 600011 + Identifier 600013 600055 + ConditionalExpression 600056 600184 + BinaryExpression 600056 600124 + PropertyAccessExpression 600056 600101 + Identifier 600056 600095 + Identifier 600096 600101 + AmpersandToken 600101 600103 + PropertyAccessExpression 600103 600124 + Identifier 600103 600115 + Identifier 600116 600124 + QuestionToken 600124 600126 + CallExpression 600126 600172 + PropertyAccessExpression 600126 600146 + Identifier 600126 600134 + Identifier 600135 600146 + PropertyAccessExpression 600147 600171 + Identifier 600147 600157 + Identifier 600158 600171 + ColonToken 600172 600174 + Identifier 600174 600184 + Identifier 600185 600241 + Identifier 600242 600305 + BinaryExpression 600342 600508 + BinaryExpression 600342 600469 + CallExpression 600342 600423 + PropertyAccessExpression 600342 600396 + PropertyAccessExpression 600342 600390 + Identifier 600342 600377 + Identifier 600378 600390 + QuestionDotToken 600390 600392 + Identifier 600392 600396 + Identifier 600397 600422 + BarBarToken 600423 600426 + BinaryExpression 600426 600469 + ElementAccessExpression 600426 600440 + Identifier 600426 600437 + NumericLiteral 600438 600439 + AmpersandAmpersandToken 600440 600443 + PropertyAccessExpression 600443 600469 + ElementAccessExpression 600443 600457 + Identifier 600443 600454 + NumericLiteral 600455 600456 + Identifier 600458 600469 + BarBarToken 600469 600472 + BinaryExpression 600472 600508 + PropertyAccessExpression 600472 600487 + Identifier 600472 600474 + Identifier 600475 600487 + AmpersandAmpersandToken 600487 600490 + ElementAccessExpression 600490 600508 + PropertyAccessExpression 600490 600505 + Identifier 600490 600492 + Identifier 600493 600505 + NumericLiteral 600506 600507 + VariableStatement 600568 600615 + VariableDeclarationList 600568 600614 + VariableDeclaration 600601 600614 + Identifier 600601 600609 + ArrayLiteralExpression 600611 600614 + ForOfStatement 600615 601649 + VariableDeclarationList 600646 600655 + VariableDeclaration 600651 600655 + Identifier 600651 600655 + Identifier 600658 600669 + Block 600670 601649 + VariableStatement 600672 601377 + VariableDeclarationList 600672 601376 + VariableDeclaration 600801 601376 + Identifier 600801 600806 + CallExpression 600808 601376 + Identifier 600808 600846 + Identifier 600847 600884 + Identifier 600885 600929 + Identifier 600930 600971 + ObjectLiteralExpression 600972 601344 + ShorthandPropertyAssignment 601007 601049 + Identifier 601007 601049 + PropertyAssignment 601050 601193 + Identifier 601050 601101 + ConditionalExpression 601102 601193 + BinaryExpression 601102 601133 + PropertyAccessExpression 601102 601110 + Identifier 601102 601104 + Identifier 601105 601110 + AmpersandToken 601110 601112 + PropertyAccessExpression 601112 601133 + Identifier 601112 601124 + Identifier 601125 601133 + QuestionToken 601133 601135 + CallExpression 601135 601181 + PropertyAccessExpression 601135 601155 + Identifier 601135 601143 + Identifier 601144 601155 + PropertyAccessExpression 601156 601180 + Identifier 601156 601166 + Identifier 601167 601180 + ColonToken 601181 601183 + Identifier 601183 601193 + PropertyAssignment 601194 601308 + Identifier 601194 601241 + ConditionalExpression 601242 601308 + Identifier 601242 601247 + QuestionToken 601247 601249 + CallExpression 601249 601296 + PropertyAccessExpression 601249 601290 + Identifier 601249 601257 + Identifier 601258 601290 + Identifier 601291 601295 + ColonToken 601296 601298 + Identifier 601298 601308 + VariableStatement 601377 601540 + VariableDeclarationList 601377 601539 + VariableDeclaration 601412 601539 + Identifier 601412 601421 + ConditionalExpression 601423 601539 + BinaryExpression 601423 601496 + PropertyAccessExpression 601423 601439 + Identifier 601423 601427 + Identifier 601428 601439 + AmpersandAmpersandToken 601439 601442 + CallExpression 601442 601496 + Identifier 601442 601472 + PropertyAccessExpression 601473 601495 + PropertyAccessExpression 601473 601488 + Identifier 601473 601476 + Identifier 601477 601488 + Identifier 601489 601495 + QuestionToken 601496 601498 + PropertyAccessExpression 601498 601521 + PropertyAccessExpression 601498 601514 + Identifier 601498 601502 + Identifier 601503 601514 + Identifier 601515 601521 + ColonToken 601521 601523 + PropertyAccessExpression 601523 601539 + Identifier 601523 601527 + Identifier 601528 601539 + ExpressionStatement 601540 601622 + CallExpression 601540 601621 + PropertyAccessExpression 601540 601582 + Identifier 601540 601577 + Identifier 601578 601582 + CallExpression 601583 601620 + Identifier 601583 601595 + Identifier 601596 601603 + Identifier 601604 601609 + Identifier 601610 601619 + ReturnStatement 601649 601708 + AsExpression 601681 601707 + AsExpression 601681 601700 + Identifier 601681 601689 + UnknownKeyword 601692 601700 + ArrayType 601703 601707 + TypeReference 601703 601705 + Identifier 601703 601705 + ReturnStatement 601731 601979 + CallExpression 601897 601978 + PropertyAccessExpression 601897 601908 + Identifier 601897 601903 + Identifier 601904 601908 + TemplateExpression 601909 601977 + TemplateHead 601909 601941 + TemplateSpan 601941 601977 + BinaryExpression 601941 601975 + PropertyAccessExpression 601941 601964 + ParenthesizedExpression 601941 601951 + AsExpression 601942 601950 + Identifier 601942 601943 + AnyKeyword 601946 601950 + Identifier 601952 601964 + BarBarToken 601964 601967 + PropertyAccessExpression 601967 601975 + Identifier 601967 601969 + Identifier 601970 601975 + TemplateTail 601975 601977 + FunctionDeclaration 602014 602230 + Identifier 602038 602074 + Parameter 602075 602084 + Identifier 602075 602076 + TypeReference 602077 602084 + Identifier 602077 602084 + Parameter 602085 602112 + Identifier 602085 602094 + UnionType 602095 602112 + TypeReference 602095 602100 + Identifier 602095 602100 + UndefinedKeyword 602102 602112 + Block 602113 602230 + ReturnStatement 602115 602215 + CallExpression 602139 602214 + Identifier 602139 602181 + Identifier 602182 602183 + FalseKeyword 602184 602203 + Identifier 602204 602213 + FunctionDeclaration 602230 605437 + Identifier 602254 602274 + Parameter 602275 602294 + Identifier 602275 602279 + TypeReference 602280 602294 + Identifier 602280 602294 + Parameter 602295 602307 + Identifier 602295 602301 + TypeReference 602302 602307 + Identifier 602302 602307 + Parameter 602308 602335 + Identifier 602308 602317 + UnionType 602318 602335 + TypeReference 602318 602323 + Identifier 602318 602323 + UndefinedKeyword 602325 602335 + Parameter 602336 602377 + Identifier 602336 602347 + IndexedAccessType 602348 602377 + TypeReference 602348 602369 + Identifier 602348 602369 + LiteralType 602370 602376 + StringLiteral 602370 602376 + Block 602378 605437 + VariableStatement 602380 602450 + VariableDeclarationList 602380 602449 + VariableDeclaration 602403 602449 + Identifier 602403 602414 + CallExpression 602416 602449 + Identifier 602416 602436 + Identifier 602437 602442 + Identifier 602443 602448 + IfStatement 602450 605011 + BinaryExpression 602472 602504 + Identifier 602472 602476 + EqualsEqualsEqualsToken 602476 602480 + PropertyAccessExpression 602480 602504 + Identifier 602480 602494 + Identifier 602495 602504 + Block 602505 605011 + IfStatement 602507 602741 + BinaryExpression 602533 602596 + PrefixUnaryExpression 602533 602542 + Identifier 602534 602542 + AmpersandAmpersandToken 602542 602545 + CallExpression 602545 602596 + Identifier 602545 602551 + Identifier 602552 602562 + ArrowFunction 602563 602595 + Parameter 602563 602565 + Identifier 602563 602565 + EqualsGreaterThanToken 602565 602568 + BinaryExpression 602568 602595 + CallExpression 602568 602589 + Identifier 602568 602575 + PropertyAccessExpression 602576 602588 + Identifier 602576 602577 + Identifier 602578 602588 + EqualsEqualsEqualsToken 602589 602593 + NumericLiteral 602593 602595 + Block 602597 602741 + ReturnStatement 602599 602635 + ArrayLiteralExpression 602631 602634 + IfStatement 602741 604100 + Identifier 602767 602775 + Block 602776 604100 + VariableStatement 602778 603033 + VariableDeclarationList 602778 603032 + VariableDeclaration 602966 603032 + Identifier 602966 602975 + CallExpression 602977 603032 + Identifier 602977 602997 + Identifier 602998 603006 + PropertyAccessExpression 603007 603031 + Identifier 603007 603021 + Identifier 603022 603031 + IfStatement 603033 603302 + BinaryExpression 603063 603134 + PrefixUnaryExpression 603063 603080 + CallExpression 603064 603080 + Identifier 603064 603070 + Identifier 603071 603079 + AmpersandAmpersandToken 603080 603083 + CallExpression 603083 603134 + Identifier 603083 603089 + Identifier 603090 603100 + ArrowFunction 603101 603133 + Parameter 603101 603103 + Identifier 603101 603103 + EqualsGreaterThanToken 603103 603106 + BinaryExpression 603106 603133 + CallExpression 603106 603127 + Identifier 603106 603113 + PropertyAccessExpression 603114 603126 + Identifier 603114 603115 + Identifier 603116 603126 + EqualsEqualsEqualsToken 603127 603131 + NumericLiteral 603131 603133 + Block 603135 603302 + ReturnStatement 603137 603177 + ArrayLiteralExpression 603173 603176 + IfStatement 603302 604077 + BinaryExpression 603332 603369 + PropertyAccessExpression 603332 603347 + Identifier 603332 603340 + Identifier 603341 603347 + EqualsEqualsEqualsToken 603347 603351 + PropertyAccessExpression 603351 603369 + Identifier 603351 603362 + Identifier 603363 603369 + Block 603370 604077 + VariableStatement 603372 603421 + VariableDeclarationList 603372 603420 + VariableDeclaration 603405 603420 + Identifier 603405 603412 + FalseKeyword 603414 603420 + ForStatement 603421 603854 + VariableDeclarationList 603456 603465 + VariableDeclaration 603459 603465 + Identifier 603459 603461 + NumericLiteral 603463 603465 + BinaryExpression 603466 603486 + Identifier 603466 603468 + LessThanToken 603468 603470 + PropertyAccessExpression 603470 603486 + Identifier 603470 603479 + Identifier 603480 603486 + PostfixUnaryExpression 603487 603491 + Identifier 603487 603489 + Block 603492 603854 + IfStatement 603494 603823 + PrefixUnaryExpression 603532 603689 + CallExpression 603533 603689 + Identifier 603533 603559 + ElementAccessExpression 603560 603573 + Identifier 603560 603570 + Identifier 603571 603572 + ElementAccessExpression 603574 603586 + Identifier 603574 603583 + Identifier 603584 603585 + FalseKeyword 603587 603610 + FalseKeyword 603611 603637 + TrueKeyword 603638 603665 + Identifier 603666 603688 + Block 603690 603823 + ExpressionStatement 603692 603744 + BinaryExpression 603692 603743 + Identifier 603692 603736 + EqualsToken 603736 603738 + TrueKeyword 603738 603743 + BreakStatement 603744 603788 + IfStatement 603854 604050 + PrefixUnaryExpression 603888 603895 + Identifier 603889 603895 + Block 603896 604050 + ReturnStatement 603898 603942 + ArrayLiteralExpression 603938 603941 + VariableStatement 604100 604162 + VariableDeclarationList 604100 604161 + VariableDeclaration 604125 604161 + Identifier 604125 604142 + TypeReference 604143 604157 + Identifier 604143 604157 + NumericLiteral 604159 604161 + ForOfStatement 604162 604457 + VariableDeclarationList 604189 604196 + VariableDeclaration 604194 604196 + Identifier 604194 604196 + Identifier 604199 604210 + Block 604211 604457 + IfStatement 604213 604434 + PropertyAccessExpression 604243 604256 + Identifier 604243 604244 + Identifier 604245 604256 + Block 604257 604434 + ExpressionStatement 604259 604407 + BinaryExpression 604259 604406 + Identifier 604259 604305 + BarEqualsToken 604305 604308 + CallExpression 604308 604406 + Identifier 604308 604342 + PropertyAccessExpression 604343 604356 + Identifier 604343 604344 + Identifier 604345 604356 + BinaryExpression 604357 604405 + PropertyAccessExpression 604357 604379 + Identifier 604357 604371 + Identifier 604372 604379 + BarToken 604379 604381 + PropertyAccessExpression 604381 604405 + Identifier 604381 604395 + Identifier 604396 604405 + IfStatement 604457 604992 + Identifier 604483 604499 + Block 604500 604992 + ReturnStatement 604502 604969 + ArrayLiteralExpression 604534 604968 + CallExpression 604536 604967 + Identifier 604536 604548 + Identifier 604549 604586 + CallExpression 604587 604883 + PropertyAccessExpression 604587 604653 + Identifier 604587 604624 + Identifier 604625 604653 + CallExpression 604654 604746 + PropertyAccessExpression 604654 604728 + Identifier 604654 604695 + Identifier 604696 604728 + Identifier 604729 604745 + ArrayLiteralExpression 604747 604798 + Identifier 604799 604851 + PropertyAccessExpression 604884 604939 + ElementAccessExpression 604884 604927 + Identifier 604884 604924 + NumericLiteral 604925 604926 + Identifier 604928 604939 + VariableStatement 605011 605050 + VariableDeclarationList 605011 605049 + VariableDeclaration 605036 605049 + Identifier 605036 605044 + ArrayLiteralExpression 605046 605049 + ForOfStatement 605050 605389 + VariableDeclarationList 605073 605082 + VariableDeclaration 605078 605082 + Identifier 605078 605082 + Identifier 605085 605096 + Block 605097 605389 + VariableStatement 605099 605289 + VariableDeclarationList 605099 605288 + VariableDeclaration 605217 605288 + Identifier 605217 605222 + CallExpression 605224 605288 + Identifier 605224 605262 + Identifier 605263 605266 + Identifier 605267 605278 + Identifier 605279 605287 + ExpressionStatement 605289 605370 + CallExpression 605289 605369 + PropertyAccessExpression 605289 605323 + Identifier 605289 605318 + Identifier 605319 605323 + CallExpression 605324 605368 + Identifier 605324 605336 + Identifier 605337 605344 + Identifier 605345 605350 + PropertyAccessExpression 605351 605367 + Identifier 605351 605355 + Identifier 605356 605367 + ReturnStatement 605389 605422 + Identifier 605413 605421 + FunctionDeclaration 605437 606250 + Identifier 605461 605486 + Parameter 605487 605498 + Identifier 605487 605492 + TypeReference 605493 605498 + Identifier 605493 605498 + Parameter 605499 605526 + Identifier 605499 605508 + UnionType 605509 605526 + TypeReference 605509 605514 + Identifier 605509 605514 + UndefinedKeyword 605516 605526 + Block 605527 606250 + VariableStatement 605529 605595 + VariableDeclarationList 605529 605594 + VariableDeclaration 605552 605594 + Identifier 605552 605560 + ArrayType 605561 605589 + TypeReference 605561 605587 + Identifier 605561 605587 + ArrayLiteralExpression 605591 605594 + ForOfStatement 605595 606202 + VariableDeclarationList 605618 605628 + VariableDeclaration 605623 605628 + Identifier 605623 605628 + CallExpression 605631 605658 + Identifier 605631 605651 + Identifier 605652 605657 + Block 605659 606202 + IfStatement 605661 606065 + Identifier 605687 605695 + Block 605696 606065 + VariableStatement 605698 605784 + VariableDeclarationList 605698 605783 + VariableDeclaration 605729 605783 + Identifier 605729 605738 + CallExpression 605740 605783 + Identifier 605740 605759 + Identifier 605760 605768 + PropertyAccessExpression 605769 605782 + Identifier 605769 605774 + Identifier 605775 605782 + IfStatement 605784 606042 + Identifier 605814 605822 + Block 605823 606042 + IfStatement 605825 606015 + CallExpression 605859 605902 + Identifier 605859 605876 + PropertyAccessExpression 605877 605886 + Identifier 605877 605881 + Identifier 605882 605886 + PropertyAccessExpression 605887 605901 + Identifier 605887 605896 + Identifier 605897 605901 + Block 605903 606015 + ContinueStatement 605905 605948 + ExpressionStatement 606065 606183 + CallExpression 606065 606182 + PropertyAccessExpression 606065 606099 + Identifier 606065 606094 + Identifier 606095 606099 + CallExpression 606100 606181 + Identifier 606100 606142 + Identifier 606143 606147 + Identifier 606148 606156 + Identifier 606157 606180 + ReturnStatement 606202 606235 + Identifier 606226 606234 + FunctionDeclaration 606250 607156 + Identifier 606274 606292 + Parameter 606293 606300 + Identifier 606293 606294 + TypeReference 606295 606300 + Identifier 606295 606300 + Parameter 606301 606318 + Identifier 606301 606312 + TypeReference 606313 606318 + Identifier 606313 606318 + Parameter 606319 606336 + Identifier 606319 606328 + StringKeyword 606329 606336 + Block 606337 607156 + VariableStatement 606339 606419 + VariableDeclarationList 606339 606418 + VariableDeclaration 606362 606418 + Identifier 606362 606366 + CallExpression 606368 606418 + Identifier 606368 606396 + Identifier 606397 606398 + PropertyAccessExpression 606399 606417 + Identifier 606399 606411 + Identifier 606412 606417 + IfStatement 606419 606499 + Identifier 606441 606444 + Block 606445 606499 + ReturnStatement 606447 606480 + Identifier 606475 606479 + VariableStatement 606499 606568 + VariableDeclarationList 606499 606567 + VariableDeclaration 606522 606567 + Identifier 606522 606531 + CallExpression 606533 606567 + Identifier 606533 606547 + TemplateExpression 606548 606566 + TemplateHead 606548 606551 + TemplateSpan 606551 606566 + Identifier 606551 606559 + TemplateTail 606559 606566 + VariableStatement 606568 606950 + VariableDeclarationList 606568 606949 + VariableDeclaration 606591 606949 + Identifier 606591 606601 + CallExpression 606603 606949 + PropertyAccessExpression 606603 606635 + Identifier 606603 606611 + Identifier 606612 606635 + Identifier 606636 606681 + CallExpression 606682 606929 + PropertyAccessExpression 606682 606741 + Identifier 606682 606711 + Identifier 606712 606741 + ArrayLiteralExpression 606742 606911 + CallExpression 606743 606887 + PropertyAccessExpression 606743 606802 + Identifier 606743 606776 + Identifier 606777 606802 + Identifier 606803 606811 + Identifier 606812 606843 + CallExpression 606844 606886 + Identifier 606844 606865 + Identifier 606866 606876 + Identifier 606877 606885 + PropertyAccessExpression 606912 606928 + Identifier 606912 606922 + Identifier 606923 606928 + ExpressionStatement 606950 607009 + CallExpression 606950 607008 + Identifier 606950 606977 + Identifier 606978 606987 + PropertyAccessExpression 606988 607007 + Identifier 606988 607002 + Identifier 607003 607007 + ReturnStatement 607009 607141 + CallExpression 607033 607140 + PropertyAccessExpression 607033 607075 + Identifier 607033 607041 + Identifier 607042 607075 + CallExpression 607076 607110 + PropertyAccessExpression 607076 607100 + Identifier 607076 607083 + Identifier 607084 607100 + Identifier 607101 607109 + Identifier 607111 607139 + FunctionDeclaration 607156 608338 + Identifier 607180 607208 + Parameter 607209 607216 + Identifier 607209 607210 + TypeReference 607211 607216 + Identifier 607211 607216 + Parameter 607217 607236 + Identifier 607217 607223 + TypeReference 607224 607236 + Identifier 607224 607236 + Block 607237 608338 + VariableStatement 607239 607294 + VariableDeclarationList 607239 607293 + VariableDeclaration 607260 607293 + Identifier 607260 607269 + UnionType 607270 607293 + ArrayType 607270 607281 + TypeReference 607270 607279 + Identifier 607270 607279 + UndefinedKeyword 607283 607293 + VariableStatement 607294 607350 + VariableDeclarationList 607294 607349 + VariableDeclaration 607315 607349 + Identifier 607315 607325 + UnionType 607326 607349 + TypeReference 607326 607337 + Identifier 607326 607337 + UndefinedKeyword 607339 607349 + IfStatement 607350 608178 + BinaryExpression 607590 607711 + PropertyAccessExpression 607590 607617 + ParenthesizedExpression 607590 607610 + AsExpression 607591 607609 + Identifier 607591 607592 + TypeReference 607595 607609 + Identifier 607595 607609 + Identifier 607611 607617 + AmpersandAmpersandToken 607617 607620 + CallExpression 607620 607711 + Identifier 607620 607646 + PropertyAccessExpression 607647 607681 + PropertyAccessExpression 607647 607674 + ParenthesizedExpression 607647 607667 + AsExpression 607648 607666 + Identifier 607648 607649 + TypeReference 607652 607666 + Identifier 607652 607666 + Identifier 607668 607674 + Identifier 607675 607681 + Identifier 607682 607703 + Identifier 607704 607710 + Block 607712 607963 + ExpressionStatement 607714 607828 + BinaryExpression 607714 607827 + Identifier 607714 607744 + EqualsToken 607744 607746 + CallExpression 607746 607827 + Identifier 607746 607750 + CallExpression 607751 607787 + Identifier 607751 607767 + AsExpression 607768 607786 + Identifier 607768 607769 + TypeReference 607772 607786 + Identifier 607772 607786 + ArrowFunction 607788 607826 + Parameter 607788 607790 + Identifier 607788 607790 + EqualsGreaterThanToken 607790 607793 + CallExpression 607793 607826 + Identifier 607793 607814 + Identifier 607815 607816 + Identifier 607817 607825 + ExpressionStatement 607828 607944 + BinaryExpression 607828 607943 + Identifier 607828 607859 + EqualsToken 607859 607861 + CallExpression 607861 607943 + Identifier 607861 607880 + PropertyAccessExpression 607881 607915 + PropertyAccessExpression 607881 607908 + ParenthesizedExpression 607881 607901 + AsExpression 607882 607900 + Identifier 607882 607883 + TypeReference 607886 607900 + Identifier 607886 607900 + Identifier 607902 607908 + Identifier 607909 607915 + Identifier 607916 607924 + PropertyAccessExpression 607925 607942 + Identifier 607925 607937 + Identifier 607938 607942 + IfStatement 607985 608178 + BinaryExpression 607990 608066 + PropertyAccessExpression 607990 607998 + Identifier 607990 607991 + Identifier 607992 607998 + AmpersandAmpersandToken 607998 608001 + CallExpression 608001 608066 + Identifier 608001 608027 + PropertyAccessExpression 608028 608036 + Identifier 608028 608029 + Identifier 608030 608036 + Identifier 608037 608058 + Identifier 608059 608065 + Block 608067 608178 + ExpressionStatement 608069 608159 + BinaryExpression 608069 608158 + Identifier 608069 608100 + EqualsToken 608100 608102 + CallExpression 608102 608158 + Identifier 608102 608121 + PropertyAccessExpression 608122 608130 + Identifier 608122 608123 + Identifier 608124 608130 + Identifier 608131 608139 + PropertyAccessExpression 608140 608157 + Identifier 608140 608152 + Identifier 608153 608157 + IfStatement 608178 608323 + Identifier 608200 608209 + Block 608210 608323 + ReturnStatement 608212 608304 + CallExpression 608240 608303 + PropertyAccessExpression 608240 608282 + Identifier 608240 608248 + Identifier 608249 608282 + Identifier 608283 608292 + Identifier 608293 608302 + FunctionDeclaration 608338 608781 + Identifier 608362 608387 + Parameter 608388 608395 + Identifier 608388 608389 + TypeReference 608390 608395 + Identifier 608390 608395 + Block 608396 608781 + VariableStatement 608398 608477 + VariableDeclarationList 608398 608476 + VariableDeclaration 608421 608476 + Identifier 608421 608425 + CallExpression 608427 608476 + Identifier 608427 608455 + Identifier 608456 608457 + PropertyAccessExpression 608458 608475 + Identifier 608458 608470 + Identifier 608471 608475 + IfStatement 608477 608557 + Identifier 608499 608502 + Block 608503 608557 + ReturnStatement 608505 608538 + Identifier 608533 608537 + IfStatement 608557 608766 + PropertyAccessExpression 608579 608587 + Identifier 608579 608580 + Identifier 608581 608587 + Block 608588 608766 + ReturnStatement 608590 608747 + CallExpression 608618 608746 + PropertyAccessExpression 608618 608660 + Identifier 608618 608626 + Identifier 608627 608660 + CallExpression 608661 608716 + Identifier 608661 608679 + PropertyAccessExpression 608680 608688 + Identifier 608680 608681 + Identifier 608682 608688 + Identifier 608689 608697 + PropertyAccessExpression 608698 608715 + Identifier 608698 608710 + Identifier 608711 608715 + Identifier 608717 608745 + FunctionDeclaration 608781 609692 + Identifier 608805 608819 + Parameter 608820 608833 + Identifier 608820 608825 + StringKeyword 608826 608833 + Parameter 608834 608850 + Identifier 608834 608841 + QuestionToken 608841 608842 + TypeReference 608843 608850 + Identifier 608843 608850 + StringKeyword 608852 608859 + Block 608859 609692 + VariableStatement 608861 608931 + VariableDeclarationList 608861 608930 + VariableDeclaration 608884 608930 + Identifier 608884 608887 + ConditionalExpression 608889 608930 + Identifier 608889 608896 + QuestionToken 608896 608898 + CallExpression 608898 608918 + Identifier 608898 608910 + Identifier 608911 608917 + ColonToken 608918 608920 + Identifier 608920 608930 + IfStatement 608931 609136 + Identifier 608953 608955 + Block 608956 609136 + IfStatement 608958 609117 + CallExpression 608984 609020 + PropertyAccessExpression 608984 609016 + NonNullExpression 608984 609012 + PropertyAccessExpression 608984 609011 + Identifier 608984 608991 + Identifier 608992 609011 + Identifier 609013 609016 + Identifier 609017 609019 + Block 609021 609117 + ReturnStatement 609023 609094 + NonNullExpression 609055 609093 + CallExpression 609055 609092 + PropertyAccessExpression 609055 609088 + NonNullExpression 609055 609084 + PropertyAccessExpression 609055 609083 + Identifier 609055 609063 + Identifier 609064 609083 + Identifier 609085 609088 + Identifier 609089 609091 + IfStatement 609136 609254 + Identifier 609158 609164 + Block 609165 609254 + ExpressionStatement 609167 609235 + BinaryExpression 609167 609234 + Identifier 609167 609194 + EqualsToken 609194 609196 + CallExpression 609196 609234 + Identifier 609196 609219 + Identifier 609220 609226 + Identifier 609227 609233 + VariableStatement 609254 609282 + VariableDeclarationList 609254 609281 + VariableDeclaration 609275 609281 + Identifier 609275 609277 + NumericLiteral 609279 609281 + VariableStatement 609282 609323 + VariableDeclarationList 609282 609322 + VariableDeclaration 609305 609322 + Identifier 609305 609314 + Identifier 609316 609322 + WhileStatement 609323 609480 + CallExpression 609348 609383 + PropertyAccessExpression 609348 609376 + PropertyAccessExpression 609348 609371 + Identifier 609348 609355 + Identifier 609356 609371 + QuestionDotToken 609371 609373 + Identifier 609373 609376 + Identifier 609377 609382 + Block 609384 609480 + ExpressionStatement 609386 609412 + PostfixUnaryExpression 609386 609411 + Identifier 609386 609409 + ExpressionStatement 609412 609461 + BinaryExpression 609412 609460 + Identifier 609412 609439 + EqualsToken 609439 609441 + TemplateExpression 609441 609460 + TemplateHead 609441 609445 + TemplateSpan 609445 609457 + Identifier 609445 609453 + TemplateMiddle 609453 609457 + TemplateSpan 609457 609460 + Identifier 609457 609458 + TemplateTail 609458 609460 + ExpressionStatement 609480 609534 + CallExpression 609480 609533 + PropertyAccessExpression 609480 609526 + PropertyAccessExpression 609480 609521 + Identifier 609480 609505 + Identifier 609506 609521 + QuestionDotToken 609521 609523 + Identifier 609523 609526 + Identifier 609527 609532 + IfStatement 609534 609646 + Identifier 609556 609558 + Block 609559 609646 + ExpressionStatement 609561 609627 + CallExpression 609561 609626 + PropertyAccessExpression 609561 609615 + NonNullExpression 609561 609611 + PropertyAccessExpression 609561 609610 + Identifier 609561 609590 + Identifier 609591 609610 + Identifier 609612 609615 + Identifier 609616 609618 + Identifier 609619 609625 + ReturnStatement 609646 609677 + Identifier 609670 609676 + FunctionDeclaration 609692 610869 + Identifier 609716 609739 + Parameter 609740 609754 + Identifier 609740 609746 + TypeReference 609747 609754 + Identifier 609747 609754 + Parameter 609755 609773 + Identifier 609755 609765 + StringKeyword 609766 609773 + Block 609774 610869 + IfStatement 609776 610373 + BinaryExpression 609798 609925 + BinaryExpression 609798 609880 + BinaryExpression 609798 609838 + Identifier 609798 609807 + EqualsEqualsEqualsToken 609807 609811 + PropertyAccessExpression 609811 609838 + Identifier 609811 609830 + Identifier 609831 609838 + BarBarToken 609838 609841 + BinaryExpression 609841 609880 + Identifier 609841 609851 + EqualsEqualsEqualsToken 609851 609855 + PropertyAccessExpression 609855 609880 + Identifier 609855 609874 + Identifier 609875 609880 + BarBarToken 609880 609883 + BinaryExpression 609883 609925 + Identifier 609883 609893 + EqualsEqualsEqualsToken 609893 609897 + PropertyAccessExpression 609897 609925 + Identifier 609897 609916 + Identifier 609917 609925 + Block 609926 610373 + VariableStatement 609928 609997 + VariableDeclarationList 609928 609996 + VariableDeclaration 609955 609996 + Identifier 609955 609968 + CallExpression 609970 609996 + Identifier 609970 609987 + Identifier 609988 609995 + ExpressionStatement 609997 610073 + BinaryExpression 609997 610072 + PropertyAccessExpression 609997 610032 + Identifier 609997 610026 + Identifier 610027 610032 + BarEqualsToken 610032 610035 + PropertyAccessExpression 610035 610072 + Identifier 610035 610052 + Identifier 610053 610072 + VariableStatement 610073 610159 + VariableDeclarationList 610073 610158 + VariableDeclaration 610100 610158 + Identifier 610100 610114 + CallExpression 610116 610158 + Identifier 610116 610141 + Identifier 610142 610148 + Identifier 610149 610157 + ExpressionStatement 610159 610196 + CallExpression 610159 610195 + Identifier 610159 610193 + ExpressionStatement 610196 610354 + BinaryExpression 610196 610353 + Identifier 610196 610227 + EqualsToken 610227 610229 + ConditionalExpression 610229 610353 + BinaryExpression 610229 610308 + BinaryExpression 610229 610254 + PropertyAccessExpression 610229 610250 + Identifier 610229 610243 + Identifier 610244 610250 + GreaterThanToken 610250 610252 + NumericLiteral 610252 610254 + AmpersandAmpersandToken 610254 610257 + CallExpression 610257 610308 + Identifier 610257 610279 + CallExpression 610280 610307 + PropertyAccessExpression 610280 610304 + Identifier 610280 610293 + Identifier 610294 610304 + NumericLiteral 610305 610306 + QuestionToken 610308 610310 + CallExpression 610310 610337 + Identifier 610310 610322 + Identifier 610323 610336 + ColonToken 610337 610339 + Identifier 610339 610353 + IfStatement 610373 610641 + BinaryExpression 610395 610435 + Identifier 610395 610404 + EqualsEqualsEqualsToken 610404 610408 + PropertyAccessExpression 610408 610435 + Identifier 610408 610427 + Identifier 610428 610435 + Block 610436 610502 + ExpressionStatement 610438 610483 + BinaryExpression 610438 610482 + Identifier 610438 610469 + EqualsToken 610469 610471 + StringLiteral 610471 610482 + IfStatement 610524 610641 + BinaryExpression 610529 610574 + Identifier 610529 610538 + EqualsEqualsEqualsToken 610538 610542 + PropertyAccessExpression 610542 610574 + Identifier 610542 610561 + Identifier 610562 610574 + Block 610575 610641 + ExpressionStatement 610577 610622 + BinaryExpression 610577 610621 + Identifier 610577 610608 + EqualsToken 610608 610610 + StringLiteral 610610 610621 + ExpressionStatement 610641 610819 + BinaryExpression 610641 610818 + Identifier 610641 610668 + EqualsToken 610668 610670 + ConditionalExpression 610670 610818 + BinaryExpression 610670 610760 + CallExpression 610670 610715 + Identifier 610670 610687 + Identifier 610688 610697 + Identifier 610698 610714 + AmpersandAmpersandToken 610715 610718 + PrefixUnaryExpression 610718 610760 + CallExpression 610720 610760 + Identifier 610720 610749 + Identifier 610750 610759 + QuestionToken 610760 610762 + Identifier 610762 610772 + ColonToken 610772 610774 + BinaryExpression 610774 610818 + StringLiteral 610774 610778 + PlusToken 610778 610780 + CallExpression 610780 610818 + PropertyAccessExpression 610780 610798 + Identifier 610780 610790 + Identifier 610791 610798 + RegularExpressionLiteral 610799 610812 + StringLiteral 610813 610817 + ReturnStatement 610819 610854 + Identifier 610843 610853 + FunctionDeclaration 610869 611470 + Identifier 610893 610915 + Parameter 610916 610930 + Identifier 610916 610922 + TypeReference 610923 610930 + Identifier 610923 610930 + Parameter 610931 610949 + Identifier 610931 610941 + StringKeyword 610942 610949 + Block 610950 611470 + VariableStatement 610952 611001 + VariableDeclarationList 610952 611000 + VariableDeclaration 610975 611000 + Identifier 610975 610978 + CallExpression 610980 611000 + Identifier 610980 610992 + Identifier 610993 610999 + IfStatement 611001 611148 + CallExpression 611023 611059 + PropertyAccessExpression 611023 611055 + NonNullExpression 611023 611051 + PropertyAccessExpression 611023 611050 + Identifier 611023 611030 + Identifier 611031 611050 + Identifier 611052 611055 + Identifier 611056 611058 + Block 611060 611148 + ReturnStatement 611062 611129 + NonNullExpression 611090 611128 + CallExpression 611090 611127 + PropertyAccessExpression 611090 611123 + NonNullExpression 611090 611119 + PropertyAccessExpression 611090 611118 + Identifier 611090 611098 + Identifier 611099 611118 + Identifier 611120 611123 + Identifier 611124 611126 + ExpressionStatement 611148 611220 + BinaryExpression 611148 611219 + Identifier 611148 611175 + EqualsToken 611175 611177 + CallExpression 611177 611219 + Identifier 611177 611200 + Identifier 611201 611207 + Identifier 611208 611218 + ExpressionStatement 611220 611420 + CallExpression 611220 611419 + PropertyAccessExpression 611220 611404 + NonNullExpression 611220 611400 + PropertyAccessExpression 611220 611399 + Identifier 611220 611379 + Identifier 611380 611399 + Identifier 611401 611404 + Identifier 611405 611407 + Identifier 611408 611418 + ReturnStatement 611420 611455 + Identifier 611444 611454 + FunctionDeclaration 611488 612513 + Identifier 611504 611526 + Parameter 611527 611555 + Identifier 611527 611540 + TypeReference 611541 611555 + Identifier 611541 611555 + Parameter 611556 611584 + Identifier 611556 611577 + QuestionToken 611577 611578 + TypeReference 611579 611584 + Identifier 611579 611584 + Parameter 611585 611661 + Identifier 611585 611591 + TypeReference 611592 611608 + Identifier 611592 611608 + PropertyAccessExpression 611610 611661 + Identifier 611610 611626 + Identifier 611627 611661 + Parameter 611662 611686 + Identifier 611662 611669 + QuestionToken 611669 611670 + TypeReference 611671 611686 + Identifier 611671 611686 + StringKeyword 611688 611695 + Block 611695 612513 + ReturnStatement 611697 611828 + ConditionalExpression 611713 611827 + Identifier 611713 611720 + QuestionToken 611720 611722 + CallExpression 611722 611768 + PropertyAccessExpression 611722 611766 + CallExpression 611722 611758 + Identifier 611722 611750 + Identifier 611751 611757 + Identifier 611759 611766 + ColonToken 611768 611770 + CallExpression 611770 611827 + Identifier 611770 611798 + Identifier 611799 611826 + FunctionDeclaration 611828 612506 + Identifier 611848 611876 + Parameter 611877 611899 + Identifier 611877 611883 + TypeReference 611884 611899 + Identifier 611884 611899 + Block 611900 612506 + VariableStatement 611902 612053 + VariableDeclarationList 611902 612052 + VariableDeclaration 611921 612052 + Identifier 611921 611938 + BinaryExpression 611940 612052 + BinaryExpression 611940 611998 + CallExpression 611940 611966 + Identifier 611940 611959 + Identifier 611960 611965 + BarToken 611966 611968 + PropertyAccessExpression 611968 611998 + Identifier 611968 611985 + Identifier 611986 611998 + BarToken 611998 612000 + PropertyAccessExpression 612000 612052 + Identifier 612000 612017 + Identifier 612018 612052 + VariableStatement 612053 612186 + VariableDeclarationList 612053 612185 + VariableDeclaration 612072 612185 + Identifier 612072 612082 + NonNullExpression 612084 612185 + CallExpression 612084 612184 + PropertyAccessExpression 612084 612129 + Identifier 612084 612096 + Identifier 612097 612129 + Identifier 612130 612143 + Identifier 612144 612165 + Identifier 612166 612183 + VariableStatement 612186 612268 + VariableDeclarationList 612186 612267 + VariableDeclaration 612223 612267 + Identifier 612223 612231 + CallExpression 612233 612267 + Identifier 612233 612265 + VariableStatement 612268 612367 + VariableDeclarationList 612268 612366 + VariableDeclaration 612287 612366 + Identifier 612287 612298 + BinaryExpression 612300 612366 + Identifier 612300 612321 + AmpersandAmpersandToken 612321 612324 + CallExpression 612324 612366 + Identifier 612324 612344 + Identifier 612345 612365 + ExpressionStatement 612367 612467 + CallExpression 612367 612466 + PropertyAccessExpression 612367 612398 + Identifier 612367 612388 + Identifier 612389 612398 + PropertyAccessExpression 612399 612419 + Identifier 612399 612407 + Identifier 612408 612419 + Identifier 612420 612430 + Identifier 612431 612457 + Identifier 612458 612465 + ReturnStatement 612467 612495 + Identifier 612487 612494 + FunctionDeclaration 612513 613792 + Identifier 612529 612546 + Parameter 612547 612569 + Identifier 612547 612552 + TypeOperator 612553 612569 + ArrayType 612562 612569 + TypeReference 612562 612567 + Identifier 612562 612567 + ArrayType 612571 612578 + TypeReference 612571 612576 + Identifier 612571 612576 + Block 612578 613792 + VariableStatement 612580 612616 + VariableDeclarationList 612580 612615 + VariableDeclaration 612595 612615 + Identifier 612595 612602 + ArrayType 612603 612610 + TypeReference 612603 612608 + Identifier 612603 612608 + ArrayLiteralExpression 612612 612615 + VariableStatement 612616 612653 + VariableDeclarationList 612616 612652 + VariableDeclaration 612629 612652 + Identifier 612629 612635 + AsExpression 612637 612652 + NumericLiteral 612637 612639 + TypeReference 612642 612652 + Identifier 612642 612652 + ForStatement 612653 613622 + VariableDeclarationList 612668 612677 + VariableDeclaration 612671 612677 + Identifier 612671 612673 + NumericLiteral 612675 612677 + BinaryExpression 612678 612695 + Identifier 612678 612680 + LessThanToken 612680 612682 + PropertyAccessExpression 612682 612695 + Identifier 612682 612688 + Identifier 612689 612695 + PostfixUnaryExpression 612696 612700 + Identifier 612696 612698 + Block 612701 613622 + VariableStatement 612703 612736 + VariableDeclarationList 612703 612735 + VariableDeclaration 612722 612735 + Identifier 612722 612724 + ElementAccessExpression 612726 612735 + Identifier 612726 612732 + Identifier 612733 612734 + ExpressionStatement 612736 612767 + BinaryExpression 612736 612766 + Identifier 612736 612755 + BarEqualsToken 612755 612758 + PropertyAccessExpression 612758 612766 + Identifier 612758 612760 + Identifier 612761 612766 + IfStatement 612767 613611 + PrefixUnaryExpression 612785 612816 + ParenthesizedExpression 612786 612816 + BinaryExpression 612787 612815 + PropertyAccessExpression 612787 612794 + Identifier 612787 612788 + Identifier 612789 612794 + AmpersandToken 612794 612796 + PropertyAccessExpression 612796 612815 + Identifier 612796 612806 + Identifier 612807 612815 + Block 612817 613611 + IfStatement 612819 613563 + BinaryExpression 612841 612898 + PropertyAccessExpression 612841 612848 + Identifier 612841 612842 + Identifier 612843 612848 + AmpersandToken 612848 612850 + ParenthesizedExpression 612850 612898 + BinaryExpression 612852 612897 + PropertyAccessExpression 612852 612876 + Identifier 612852 612861 + Identifier 612862 612876 + BarToken 612876 612878 + PropertyAccessExpression 612878 612897 + Identifier 612878 612888 + Identifier 612889 612897 + Block 612899 613563 + VariableStatement 612901 613035 + VariableDeclarationList 612901 613034 + VariableDeclaration 612928 613034 + Identifier 612928 612937 + ConditionalExpression 612939 613034 + BinaryExpression 612939 612974 + PropertyAccessExpression 612939 612947 + Identifier 612939 612941 + Identifier 612942 612947 + AmpersandToken 612947 612949 + PropertyAccessExpression 612949 612974 + Identifier 612949 612959 + Identifier 612960 612974 + QuestionToken 612974 612976 + Identifier 612976 612988 + ColonToken 612988 612990 + CallExpression 612990 613034 + Identifier 612990 613016 + AsExpression 613017 613033 + Identifier 613017 613018 + TypeReference 613021 613033 + Identifier 613021 613033 + IfStatement 613035 613544 + BinaryExpression 613061 613093 + PropertyAccessExpression 613061 613075 + Identifier 613061 613069 + Identifier 613070 613075 + AmpersandToken 613075 613077 + PropertyAccessExpression 613077 613093 + Identifier 613077 613087 + Identifier 613088 613093 + Block 613094 613544 + VariableStatement 613096 613173 + VariableDeclarationList 613096 613172 + VariableDeclaration 613127 613172 + Identifier 613127 613133 + PropertyAccessExpression 613135 613172 + PropertyAccessExpression 613135 613165 + ParenthesizedExpression 613135 613159 + AsExpression 613137 613158 + Identifier 613137 613145 + TypeReference 613148 613158 + Identifier 613148 613158 + Identifier 613160 613165 + Identifier 613166 613172 + IfStatement 613173 613521 + BinaryExpression 613203 613355 + BinaryExpression 613203 613228 + BinaryExpression 613203 613212 + Identifier 613203 613204 + PlusToken 613204 613206 + Identifier 613206 613212 + LessThanEqualsToken 613212 613215 + PropertyAccessExpression 613215 613228 + Identifier 613215 613221 + Identifier 613222 613228 + AmpersandAmpersandToken 613228 613231 + BinaryExpression 613231 613355 + CallExpression 613231 613281 + Identifier 613231 613259 + ElementAccessExpression 613260 613280 + Identifier 613260 613265 + BinaryExpression 613266 613279 + BinaryExpression 613266 613275 + Identifier 613266 613267 + PlusToken 613267 613269 + Identifier 613269 613275 + MinusToken 613275 613277 + NumericLiteral 613277 613279 + EqualsEqualsEqualsToken 613281 613285 + CallExpression 613285 613355 + Identifier 613285 613313 + ElementAccessExpression 613314 613354 + PropertyAccessExpression 613314 613343 + ParenthesizedExpression 613314 613337 + AsExpression 613315 613336 + Identifier 613315 613323 + TypeReference 613326 613336 + Identifier 613326 613336 + Identifier 613338 613343 + BinaryExpression 613344 613353 + Identifier 613344 613349 + MinusToken 613349 613351 + NumericLiteral 613351 613353 + Block 613356 613521 + ExpressionStatement 613358 613410 + CallExpression 613358 613409 + PropertyAccessExpression 613358 613399 + Identifier 613358 613394 + Identifier 613395 613399 + Identifier 613400 613408 + ExpressionStatement 613410 613455 + BinaryExpression 613410 613454 + Identifier 613410 613441 + PlusEqualsToken 613441 613444 + BinaryExpression 613444 613454 + Identifier 613444 613450 + MinusToken 613450 613452 + NumericLiteral 613452 613454 + ContinueStatement 613455 613494 + ExpressionStatement 613563 613596 + CallExpression 613563 613595 + PropertyAccessExpression 613563 613592 + Identifier 613563 613587 + Identifier 613588 613592 + Identifier 613593 613594 + IfStatement 613622 613682 + BinaryExpression 613636 613658 + Identifier 613636 613641 + AmpersandToken 613641 613643 + PropertyAccessExpression 613643 613658 + Identifier 613643 613653 + Identifier 613654 613658 + ExpressionStatement 613659 613682 + CallExpression 613659 613681 + PropertyAccessExpression 613659 613671 + Identifier 613659 613666 + Identifier 613667 613671 + Identifier 613672 613680 + IfStatement 613682 613752 + BinaryExpression 613696 613723 + Identifier 613696 613701 + AmpersandToken 613701 613703 + PropertyAccessExpression 613703 613723 + Identifier 613703 613713 + Identifier 613714 613723 + ExpressionStatement 613724 613752 + CallExpression 613724 613751 + PropertyAccessExpression 613724 613736 + Identifier 613724 613731 + Identifier 613732 613736 + Identifier 613737 613750 + ReturnStatement 613752 613785 + BinaryExpression 613768 613784 + Identifier 613768 613775 + BarBarToken 613775 613778 + Identifier 613778 613784 + FunctionDeclaration 613792 614076 + Identifier 613808 613827 + Parameter 613828 613848 + Identifier 613828 613833 + TypeReference 613834 613848 + Identifier 613834 613848 + StringKeyword 613850 613857 + Block 613857 614076 + IfStatement 613859 613949 + BinaryExpression 613873 613904 + Identifier 613873 613878 + EqualsEqualsEqualsToken 613878 613882 + PropertyAccessExpression 613882 613904 + Identifier 613882 613896 + Identifier 613897 613904 + Block 613905 613949 + ReturnStatement 613907 613938 + StringLiteral 613927 613937 + IfStatement 613949 614043 + BinaryExpression 613963 613996 + Identifier 613963 613968 + EqualsEqualsEqualsToken 613968 613972 + PropertyAccessExpression 613972 613996 + Identifier 613972 613986 + Identifier 613987 613996 + Block 613997 614043 + ReturnStatement 613999 614032 + StringLiteral 614019 614031 + ReturnStatement 614043 614069 + StringLiteral 614059 614068 + FunctionDeclaration 614076 614507 + Identifier 614092 614119 + Parameter 614120 614130 + Identifier 614120 614124 + TypeReference 614125 614130 + Identifier 614125 614130 + UnionType 614132 614151 + TypeReference 614132 614139 + Identifier 614132 614139 + UndefinedKeyword 614141 614151 + Block 614151 614507 + IfStatement 614153 614473 + BinaryExpression 614167 614253 + BinaryExpression 614167 614225 + PropertyAccessExpression 614167 614178 + Identifier 614167 614171 + Identifier 614172 614178 + AmpersandAmpersandToken 614178 614181 + BinaryExpression 614181 614225 + PropertyAccessExpression 614181 614199 + PropertyAccessExpression 614181 614193 + Identifier 614181 614186 + Identifier 614187 614193 + Identifier 614194 614199 + AmpersandToken 614199 614201 + PropertyAccessExpression 614201 614225 + Identifier 614201 614213 + Identifier 614214 614225 + AmpersandAmpersandToken 614225 614228 + PropertyAccessExpression 614228 614253 + PropertyAccessExpression 614228 614240 + Identifier 614228 614233 + Identifier 614234 614240 + Identifier 614241 614253 + Block 614254 614473 + VariableStatement 614256 614344 + VariableDeclarationList 614256 614343 + VariableDeclaration 614275 614343 + Identifier 614275 614280 + CallExpression 614282 614343 + Identifier 614282 614307 + PropertyAccessExpression 614308 614342 + ElementAccessExpression 614308 614335 + PropertyAccessExpression 614308 614332 + PropertyAccessExpression 614308 614319 + Identifier 614308 614312 + Identifier 614313 614319 + Identifier 614320 614332 + NumericLiteral 614333 614334 + Identifier 614336 614342 + IfStatement 614344 614462 + CallExpression 614362 614390 + Identifier 614362 614384 + Identifier 614385 614389 + Block 614391 614462 + ReturnStatement 614393 614447 + CallExpression 614417 614446 + Identifier 614417 614440 + Identifier 614441 614445 + ReturnStatement 614473 614500 + Identifier 614489 614499 + FunctionDeclaration 614507 614754 + Identifier 614523 614562 + Parameter 614563 614573 + Identifier 614563 614567 + TypeReference 614568 614573 + Identifier 614568 614573 + BooleanKeyword 614575 614583 + Block 614583 614754 + ReturnStatement 614585 614747 + BinaryExpression 614601 614746 + BinaryExpression 614601 614681 + BinaryExpression 614601 614621 + Identifier 614601 614606 + AmpersandAmpersandToken 614606 614609 + PropertyAccessExpression 614609 614621 + Identifier 614609 614614 + Identifier 614615 614621 + AmpersandAmpersandToken 614621 614624 + BinaryExpression 614624 614681 + PropertyAccessExpression 614624 614654 + PropertyAccessExpression 614624 614649 + Identifier 614624 614642 + Identifier 614643 614649 + Identifier 614650 614654 + EqualsEqualsEqualsToken 614654 614658 + PropertyAccessExpression 614658 614681 + Identifier 614658 614669 + Identifier 614670 614681 + AmpersandAmpersandToken 614681 614684 + CallExpression 614684 614746 + Identifier 614684 614726 + PropertyAccessExpression 614727 614745 + PropertyAccessExpression 614727 614738 + Identifier 614727 614731 + Identifier 614732 614738 + Identifier 614739 614745 + FunctionDeclaration 614754 614905 + Identifier 614770 614794 + Parameter 614795 614809 + Identifier 614795 614803 + TypeReference 614804 614809 + Identifier 614804 614809 + Block 614810 614905 + ReturnStatement 614812 614898 + BinaryExpression 614828 614897 + BinaryExpression 614828 614868 + PropertyAccessExpression 614828 614842 + Identifier 614828 614837 + Identifier 614838 614842 + EqualsEqualsEqualsToken 614842 614846 + PropertyAccessExpression 614846 614868 + Identifier 614846 614857 + Identifier 614858 614868 + BarBarToken 614868 614871 + CallExpression 614871 614897 + Identifier 614871 614887 + Identifier 614888 614896 + FunctionDeclaration 614905 615846 + Identifier 614921 614949 + Parameter 614950 614964 + Identifier 614950 614956 + TypeReference 614957 614964 + Identifier 614957 614964 + Parameter 614965 614994 + Identifier 614965 614973 + QuestionToken 614973 614974 + TypeReference 614975 614994 + Identifier 614975 614994 + Block 614995 615846 + VariableStatement 614997 615056 + VariableDeclarationList 614997 615055 + VariableDeclaration 615012 615055 + Identifier 615012 615021 + PropertyAccessExpression 615023 615055 + CallExpression 615023 615046 + Identifier 615023 615038 + Identifier 615039 615045 + Identifier 615047 615055 + IfStatement 615056 615839 + Identifier 615070 615078 + Block 615079 615839 + IfStatement 615081 615644 + BinaryExpression 615099 615147 + PropertyAccessExpression 615099 615113 + Identifier 615099 615107 + Identifier 615108 615113 + AmpersandToken 615113 615115 + PropertyAccessExpression 615115 615147 + Identifier 615115 615125 + Identifier 615126 615147 + Block 615148 615644 + VariableStatement 615150 615244 + VariableDeclarationList 615150 615243 + VariableDeclaration 615173 615243 + Identifier 615173 615178 + BinaryExpression 615180 615243 + StringLiteral 615180 615183 + PlusToken 615183 615185 + PropertyAccessExpression 615185 615243 + ParenthesizedExpression 615185 615237 + AsExpression 615187 615236 + Identifier 615187 615195 + UnionType 615198 615236 + TypeReference 615198 615216 + Identifier 615198 615216 + TypeReference 615218 615236 + Identifier 615218 615236 + Identifier 615238 615243 + IfStatement 615244 615463 + BinaryExpression 615266 615358 + PrefixUnaryExpression 615266 615327 + CallExpression 615267 615327 + Identifier 615267 615283 + Identifier 615284 615288 + CallExpression 615289 615326 + Identifier 615289 615309 + Identifier 615310 615325 + AmpersandAmpersandToken 615327 615330 + PrefixUnaryExpression 615330 615358 + CallExpression 615332 615358 + Identifier 615332 615352 + Identifier 615353 615357 + Block 615359 615463 + ReturnStatement 615361 615444 + TemplateExpression 615389 615443 + TemplateHead 615389 615394 + TemplateSpan 615394 615443 + CallExpression 615394 615440 + Identifier 615394 615406 + Identifier 615407 615411 + PropertyAccessExpression 615412 615439 + Identifier 615412 615427 + Identifier 615428 615439 + TemplateTail 615440 615443 + IfStatement 615463 615599 + BinaryExpression 615485 615536 + CallExpression 615485 615511 + Identifier 615485 615505 + Identifier 615506 615510 + AmpersandAmpersandToken 615511 615514 + CallExpression 615514 615536 + Identifier 615514 615525 + Identifier 615526 615530 + StringLiteral 615531 615535 + Block 615537 615599 + ReturnStatement 615539 615580 + TemplateExpression 615567 615579 + TemplateHead 615567 615572 + TemplateSpan 615572 615579 + Identifier 615572 615576 + TemplateTail 615576 615579 + ReturnStatement 615599 615629 + Identifier 615623 615628 + IfStatement 615644 615828 + BinaryExpression 615662 615703 + PropertyAccessExpression 615662 615676 + Identifier 615662 615670 + Identifier 615671 615676 + AmpersandToken 615676 615678 + PropertyAccessExpression 615678 615703 + Identifier 615678 615688 + Identifier 615689 615703 + Block 615704 615828 + ReturnStatement 615706 615813 + TemplateExpression 615730 615812 + TemplateHead 615730 615735 + TemplateSpan 615735 615812 + CallExpression 615735 615809 + Identifier 615735 615759 + PropertyAccessExpression 615760 615799 + ParenthesizedExpression 615760 615792 + AsExpression 615761 615791 + Identifier 615761 615769 + TypeReference 615772 615791 + Identifier 615772 615791 + Identifier 615793 615799 + Identifier 615800 615808 + TemplateTail 615809 615812 + FunctionDeclaration 615846 619653 + Identifier 616265 616290 + Parameter 616291 616305 + Identifier 616291 616297 + TypeReference 616298 616305 + Identifier 616298 616305 + Parameter 616306 616335 + Identifier 616306 616314 + QuestionToken 616314 616315 + TypeReference 616316 616335 + Identifier 616316 616335 + StringKeyword 616337 616344 + Block 616344 619653 + IfStatement 616346 616515 + CallExpression 616360 616419 + PropertyAccessExpression 616360 616398 + PropertyAccessExpression 616360 616393 + Identifier 616360 616367 + QuestionDotToken 616367 616369 + Identifier 616369 616393 + QuestionDotToken 616393 616395 + Identifier 616395 616398 + CallExpression 616399 616418 + Identifier 616399 616410 + Identifier 616411 616417 + Block 616420 616515 + ExpressionStatement 616422 616504 + BinaryExpression 616422 616503 + Identifier 616422 616442 + EqualsToken 616442 616444 + NonNullExpression 616444 616503 + CallExpression 616444 616502 + PropertyAccessExpression 616444 616481 + PropertyAccessExpression 616444 616477 + Identifier 616444 616452 + Identifier 616453 616477 + Identifier 616478 616481 + CallExpression 616482 616501 + Identifier 616482 616493 + Identifier 616494 616500 + IfStatement 616515 617356 + BinaryExpression 616529 617301 + BinaryExpression 616529 616677 + BinaryExpression 616529 616603 + Identifier 616529 616550 + AmpersandAmpersandToken 616550 616553 + BinaryExpression 616553 616603 + PropertyAccessExpression 616553 616572 + Identifier 616553 616560 + Identifier 616561 616572 + EqualsEqualsEqualsToken 616572 616576 + PropertyAccessExpression 616576 616603 + Identifier 616576 616595 + Identifier 616596 616603 + AmpersandAmpersandToken 616603 616606 + PrefixUnaryExpression 616606 616677 + ParenthesizedExpression 616608 616677 + BinaryExpression 616609 616676 + PropertyAccessExpression 616609 616622 + Identifier 616609 616616 + Identifier 616617 616622 + AmpersandToken 616622 616624 + PropertyAccessExpression 616624 616676 + Identifier 616624 616641 + Identifier 616642 616676 + AmpersandAmpersandToken 616677 616680 + ParenthesizedExpression 616680 617301 + BinaryExpression 616784 617300 + BinaryExpression 616784 616995 + PrefixUnaryExpression 616784 616839 + ParenthesizedExpression 616785 616839 + BinaryExpression 616786 616838 + PropertyAccessExpression 616786 616799 + Identifier 616786 616793 + Identifier 616794 616799 + AmpersandToken 616799 616801 + PropertyAccessExpression 616801 616838 + Identifier 616801 616818 + Identifier 616819 616838 + BarBarToken 616839 616842 + PrefixUnaryExpression 616842 616995 + PropertyAccessExpression 616976 616995 + Identifier 616976 616982 + Identifier 616983 616995 + BarBarToken 616995 616998 + ParenthesizedExpression 616998 617300 + BinaryExpression 617134 617299 + PropertyAccessExpression 617134 617162 + Identifier 617134 617141 + Identifier 617142 617162 + AmpersandAmpersandToken 617162 617165 + BinaryExpression 617165 617299 + CallExpression 617165 617227 + Identifier 617165 617178 + ElementAccessExpression 617179 617201 + PropertyAccessExpression 617179 617198 + Identifier 617179 617185 + Identifier 617186 617198 + NumericLiteral 617199 617200 + Identifier 617202 617226 + ExclamationEqualsEqualsToken 617227 617231 + CallExpression 617231 617299 + Identifier 617231 617244 + PropertyAccessExpression 617245 617273 + Identifier 617245 617252 + Identifier 617253 617273 + Identifier 617274 617298 + Block 617312 617356 + ReturnStatement 617314 617345 + StringLiteral 617334 617344 + IfStatement 617356 619514 + BinaryExpression 617370 617419 + PropertyAccessExpression 617370 617389 + Identifier 617370 617376 + Identifier 617377 617389 + AmpersandAmpersandToken 617389 617392 + PropertyAccessExpression 617392 617419 + PropertyAccessExpression 617392 617412 + Identifier 617392 617399 + Identifier 617400 617412 + Identifier 617413 617419 + Block 617420 619514 + VariableStatement 617422 617534 + VariableDeclarationList 617422 617533 + VariableDeclaration 617439 617533 + Identifier 617439 617451 + CallExpression 617453 617533 + Identifier 617453 617466 + PropertyAccessExpression 617467 617486 + Identifier 617467 617473 + Identifier 617474 617486 + ArrowFunction 617487 617532 + Parameter 617487 617489 + Identifier 617487 617489 + EqualsGreaterThanToken 617489 617492 + ConditionalExpression 617492 617532 + CallExpression 617492 617516 + Identifier 617492 617513 + Identifier 617514 617515 + QuestionToken 617516 617518 + Identifier 617518 617520 + ColonToken 617520 617522 + Identifier 617522 617532 + VariableStatement 617534 617656 + VariableDeclarationList 617534 617655 + VariableDeclaration 617599 617655 + Identifier 617599 617604 + BinaryExpression 617606 617655 + Identifier 617606 617618 + AmpersandAmpersandToken 617618 617621 + CallExpression 617621 617655 + Identifier 617621 617642 + Identifier 617643 617654 + IfStatement 617656 618591 + BinaryExpression 617674 617693 + Identifier 617674 617685 + AmpersandAmpersandToken 617685 617688 + Identifier 617688 617693 + Block 617694 618591 + IfStatement 617696 617868 + BinaryExpression 617718 617798 + CallExpression 617718 617747 + Identifier 617718 617734 + Identifier 617735 617746 + AmpersandAmpersandToken 617747 617750 + CallExpression 617750 617798 + Identifier 617750 617785 + Identifier 617786 617797 + Block 617799 617868 + ReturnStatement 617801 617849 + CallExpression 617829 617848 + Identifier 617829 617840 + Identifier 617841 617847 + IfStatement 617868 618521 + BinaryExpression 617890 617964 + CallExpression 617890 617918 + Identifier 617890 617912 + Identifier 617913 617917 + AmpersandAmpersandToken 617918 617921 + PrefixUnaryExpression 617921 617964 + ParenthesizedExpression 617923 617964 + BinaryExpression 617924 617963 + CallExpression 617924 617945 + Identifier 617924 617937 + Identifier 617938 617944 + AmpersandToken 617945 617947 + PropertyAccessExpression 617947 617963 + Identifier 617947 617958 + Identifier 617959 617963 + Block 617965 618521 + VariableStatement 617967 618038 + VariableDeclarationList 617967 618037 + VariableDeclaration 617994 618037 + Identifier 617994 618003 + PropertyAccessExpression 618005 618037 + CallExpression 618005 618028 + Identifier 618005 618020 + Identifier 618021 618027 + Identifier 618029 618037 + IfStatement 618038 618502 + BinaryExpression 618064 618124 + Identifier 618064 618072 + AmpersandAmpersandToken 618072 618075 + BinaryExpression 618075 618124 + PropertyAccessExpression 618075 618090 + Identifier 618075 618084 + Identifier 618085 618090 + AmpersandToken 618090 618092 + PropertyAccessExpression 618092 618124 + Identifier 618092 618102 + Identifier 618103 618124 + Block 618125 618502 + VariableStatement 618127 618355 + VariableDeclarationList 618127 618354 + VariableDeclaration 618300 618354 + Identifier 618300 618307 + CallExpression 618309 618354 + Identifier 618309 618337 + Identifier 618338 618344 + Identifier 618345 618353 + IfStatement 618355 618479 + BinaryExpression 618385 618405 + Identifier 618385 618391 + ExclamationEqualsEqualsToken 618391 618395 + Identifier 618395 618405 + Block 618406 618479 + ReturnStatement 618408 618452 + Identifier 618444 618451 + ReturnStatement 618521 618576 + CallExpression 618545 618575 + Identifier 618545 618569 + Identifier 618570 618574 + IfStatement 618591 618747 + PrefixUnaryExpression 618609 618621 + Identifier 618610 618621 + Block 618622 618747 + ExpressionStatement 618624 618679 + BinaryExpression 618624 618678 + Identifier 618624 618653 + EqualsToken 618653 618655 + ElementAccessExpression 618655 618678 + PropertyAccessExpression 618655 618675 + Identifier 618655 618662 + Identifier 618663 618675 + NumericLiteral 618676 618677 + IfStatement 618747 618962 + BinaryExpression 618765 618845 + PropertyAccessExpression 618765 618783 + Identifier 618765 618776 + Identifier 618777 618783 + AmpersandAmpersandToken 618783 618786 + BinaryExpression 618786 618845 + PropertyAccessExpression 618786 618810 + PropertyAccessExpression 618786 618805 + Identifier 618786 618798 + Identifier 618799 618805 + Identifier 618806 618810 + EqualsEqualsEqualsToken 618810 618814 + PropertyAccessExpression 618814 618845 + Identifier 618814 618825 + Identifier 618826 618845 + Block 618846 618962 + ReturnStatement 618848 618947 + CallExpression 618872 618946 + Identifier 618872 618896 + PropertyAccessExpression 618897 618945 + ParenthesizedExpression 618897 618940 + AsExpression 618898 618939 + PropertyAccessExpression 618898 618916 + Identifier 618898 618909 + Identifier 618910 618916 + TypeReference 618919 618939 + Identifier 618919 618939 + Identifier 618941 618945 + SwitchStatement 618962 619503 + PropertyAccessExpression 618984 619000 + Identifier 618984 618995 + Identifier 618996 619000 + CaseBlock 619001 619503 + CaseClause 619003 619053 + PropertyAccessExpression 619025 619052 + Identifier 619025 619036 + Identifier 619037 619052 + CaseClause 619053 619106 + PropertyAccessExpression 619075 619105 + Identifier 619075 619086 + Identifier 619087 619105 + CaseClause 619106 619488 + PropertyAccessExpression 619128 619153 + Identifier 619128 619139 + Identifier 619140 619153 + IfStatement 619154 619364 + BinaryExpression 619180 619280 + BinaryExpression 619180 619216 + Identifier 619180 619187 + AmpersandAmpersandToken 619187 619190 + PrefixUnaryExpression 619190 619216 + PropertyAccessExpression 619192 619216 + Identifier 619192 619199 + Identifier 619200 619216 + AmpersandAmpersandToken 619216 619219 + PrefixUnaryExpression 619219 619280 + ParenthesizedExpression 619221 619280 + BinaryExpression 619222 619279 + PropertyAccessExpression 619222 619235 + Identifier 619222 619229 + Identifier 619230 619235 + AmpersandToken 619235 619237 + PropertyAccessExpression 619237 619279 + Identifier 619237 619254 + Identifier 619255 619279 + Block 619281 619364 + ExpressionStatement 619283 619341 + BinaryExpression 619283 619340 + PropertyAccessExpression 619283 619333 + Identifier 619283 619316 + Identifier 619317 619333 + EqualsToken 619333 619335 + TrueKeyword 619335 619340 + ReturnStatement 619364 619488 + ConditionalExpression 619392 619487 + BinaryExpression 619392 619440 + PropertyAccessExpression 619392 619409 + Identifier 619392 619404 + Identifier 619405 619409 + EqualsEqualsEqualsToken 619409 619413 + PropertyAccessExpression 619413 619440 + Identifier 619413 619424 + Identifier 619425 619440 + QuestionToken 619440 619442 + StringLiteral 619442 619462 + ColonToken 619462 619464 + StringLiteral 619464 619487 + VariableStatement 619514 619582 + VariableDeclarationList 619514 619581 + VariableDeclaration 619529 619581 + Identifier 619529 619534 + CallExpression 619536 619581 + Identifier 619536 619564 + Identifier 619565 619571 + Identifier 619572 619580 + ReturnStatement 619582 619646 + ConditionalExpression 619598 619645 + BinaryExpression 619598 619617 + Identifier 619598 619603 + ExclamationEqualsEqualsToken 619603 619607 + Identifier 619607 619617 + QuestionToken 619617 619619 + Identifier 619619 619624 + ColonToken 619624 619626 + CallExpression 619626 619645 + Identifier 619626 619637 + Identifier 619638 619644 + FunctionDeclaration 619653 625024 + Identifier 619669 619690 + Parameter 619691 619701 + Identifier 619691 619695 + TypeReference 619696 619701 + Identifier 619696 619701 + BooleanKeyword 619703 619711 + Block 619711 625024 + IfStatement 619713 619966 + Identifier 619727 619731 + Block 619732 619966 + VariableStatement 619734 619781 + VariableDeclarationList 619734 619780 + VariableDeclaration 619753 619780 + Identifier 619753 619759 + CallExpression 619761 619780 + Identifier 619761 619774 + Identifier 619775 619779 + IfStatement 619781 619918 + BinaryExpression 619799 619828 + PropertyAccessExpression 619799 619814 + Identifier 619799 619804 + Identifier 619805 619814 + EqualsEqualsEqualsToken 619814 619818 + Identifier 619818 619828 + Block 619829 619918 + ExpressionStatement 619831 619903 + BinaryExpression 619831 619902 + PropertyAccessExpression 619831 619864 + Identifier 619831 619854 + Identifier 619855 619864 + EqualsToken 619864 619866 + PrefixUnaryExpression 619866 619902 + PrefixUnaryExpression 619868 619902 + CallExpression 619869 619902 + Identifier 619869 619900 + ReturnStatement 619918 619955 + PropertyAccessExpression 619938 619954 + Identifier 619938 619944 + Identifier 619945 619954 + ReturnStatement 619966 619991 + FalseKeyword 619984 619990 + FunctionDeclaration 619991 625017 + Identifier 620011 620043 + Block 620045 625017 + SwitchStatement 620047 625006 + PropertyAccessExpression 620069 620078 + Identifier 620069 620073 + Identifier 620074 620078 + CaseBlock 620079 625006 + CaseClause 620081 620132 + PropertyAccessExpression 620103 620131 + Identifier 620103 620114 + Identifier 620115 620131 + CaseClause 620132 620182 + PropertyAccessExpression 620154 620181 + Identifier 620154 620165 + Identifier 620166 620181 + CaseClause 620182 620617 + PropertyAccessExpression 620204 620228 + Identifier 620204 620215 + Identifier 620216 620228 + ReturnStatement 620229 620617 + PrefixUnaryExpression 620506 620616 + PrefixUnaryExpression 620508 620616 + ParenthesizedExpression 620509 620616 + BinaryExpression 620510 620615 + BinaryExpression 620510 620572 + BinaryExpression 620510 620543 + PropertyAccessExpression 620510 620521 + Identifier 620510 620514 + Identifier 620515 620521 + AmpersandAmpersandToken 620521 620524 + PropertyAccessExpression 620524 620543 + PropertyAccessExpression 620524 620536 + Identifier 620524 620529 + Identifier 620530 620536 + Identifier 620537 620543 + AmpersandAmpersandToken 620543 620546 + PropertyAccessExpression 620546 620572 + PropertyAccessExpression 620546 620565 + PropertyAccessExpression 620546 620558 + Identifier 620546 620551 + Identifier 620552 620558 + Identifier 620559 620565 + Identifier 620566 620572 + AmpersandAmpersandToken 620572 620575 + CallExpression 620575 620615 + Identifier 620575 620588 + PropertyAccessExpression 620589 620614 + PropertyAccessExpression 620589 620607 + PropertyAccessExpression 620589 620600 + Identifier 620589 620593 + Identifier 620594 620600 + Identifier 620601 620607 + Identifier 620608 620614 + CaseClause 620617 620736 + PropertyAccessExpression 620639 620665 + Identifier 620639 620650 + Identifier 620651 620665 + ReturnStatement 620666 620736 + CallExpression 620694 620735 + Identifier 620694 620715 + PropertyAccessExpression 620716 620734 + PropertyAccessExpression 620716 620727 + Identifier 620716 620720 + Identifier 620721 620727 + Identifier 620728 620734 + CaseClause 620736 621183 + PropertyAccessExpression 620758 620789 + Identifier 620758 620769 + Identifier 620770 620789 + IfStatement 620790 621183 + BinaryExpression 620816 620994 + CallExpression 620816 620894 + Identifier 620816 620858 + PropertyAccessExpression 620859 620893 + ParenthesizedExpression 620859 620888 + AsExpression 620860 620887 + Identifier 620860 620864 + TypeReference 620867 620887 + Identifier 620867 620887 + Identifier 620889 620893 + AmpersandAmpersandToken 620894 620897 + PrefixUnaryExpression 620897 620994 + PropertyAccessExpression 620924 620994 + PropertyAccessExpression 620924 620987 + ParenthesizedExpression 620924 620978 + AsExpression 620925 620977 + PropertyAccessExpression 620925 620959 + ParenthesizedExpression 620925 620954 + AsExpression 620926 620953 + Identifier 620926 620930 + TypeReference 620933 620953 + Identifier 620933 620953 + Identifier 620955 620959 + TypeReference 620962 620977 + Identifier 620962 620977 + Identifier 620979 620987 + Identifier 620988 620994 + Block 621017 621183 + ReturnStatement 621019 621160 + FalseKeyword 621153 621159 + CaseClause 621183 621273 + PropertyAccessExpression 621243 621272 + Identifier 621243 621254 + Identifier 621255 621272 + CaseClause 621273 621324 + PropertyAccessExpression 621295 621323 + Identifier 621295 621306 + Identifier 621307 621323 + CaseClause 621324 621379 + PropertyAccessExpression 621346 621378 + Identifier 621346 621357 + Identifier 621358 621378 + CaseClause 621379 621434 + PropertyAccessExpression 621401 621433 + Identifier 621401 621412 + Identifier 621413 621433 + CaseClause 621434 621488 + PropertyAccessExpression 621456 621487 + Identifier 621456 621467 + Identifier 621468 621487 + CaseClause 621488 621538 + PropertyAccessExpression 621510 621537 + Identifier 621510 621521 + Identifier 621522 621537 + CaseClause 621538 622555 + PropertyAccessExpression 621560 621595 + Identifier 621560 621571 + Identifier 621572 621595 + IfStatement 621596 621791 + CallExpression 621693 621727 + Identifier 621693 621721 + Identifier 621722 621726 + Block 621728 621791 + ReturnStatement 621730 621768 + TrueKeyword 621762 621767 + VariableStatement 621791 621858 + VariableDeclarationList 621791 621857 + VariableDeclaration 621818 621857 + Identifier 621818 621825 + CallExpression 621827 621857 + Identifier 621827 621851 + Identifier 621852 621856 + IfStatement 621858 622368 + BinaryExpression 622000 622260 + PrefixUnaryExpression 622000 622103 + ParenthesizedExpression 622027 622103 + BinaryExpression 622028 622102 + CallExpression 622028 622079 + Identifier 622028 622058 + AsExpression 622059 622078 + Identifier 622059 622063 + TypeReference 622066 622078 + Identifier 622066 622078 + AmpersandToken 622079 622081 + PropertyAccessExpression 622081 622102 + Identifier 622081 622095 + Identifier 622096 622102 + AmpersandAmpersandToken 622103 622106 + PrefixUnaryExpression 622106 622260 + ParenthesizedExpression 622133 622260 + BinaryExpression 622134 622259 + BinaryExpression 622134 622223 + BinaryExpression 622134 622182 + PropertyAccessExpression 622134 622143 + Identifier 622134 622138 + Identifier 622139 622143 + ExclamationEqualsEqualsToken 622143 622147 + PropertyAccessExpression 622147 622182 + Identifier 622147 622158 + Identifier 622159 622182 + AmpersandAmpersandToken 622182 622185 + BinaryExpression 622185 622223 + PropertyAccessExpression 622185 622197 + Identifier 622185 622192 + Identifier 622193 622197 + ExclamationEqualsEqualsToken 622197 622201 + PropertyAccessExpression 622201 622223 + Identifier 622201 622212 + Identifier 622213 622223 + AmpersandAmpersandToken 622223 622226 + BinaryExpression 622226 622259 + PropertyAccessExpression 622226 622239 + Identifier 622226 622233 + Identifier 622234 622239 + AmpersandToken 622239 622241 + PropertyAccessExpression 622241 622259 + Identifier 622241 622251 + Identifier 622252 622259 + Block 622283 622368 + ReturnStatement 622285 622345 + CallExpression 622317 622344 + Identifier 622317 622336 + Identifier 622337 622343 + ReturnStatement 622368 622555 + CallExpression 622525 622554 + Identifier 622525 622546 + Identifier 622547 622553 + CaseClause 622555 622611 + PropertyAccessExpression 622579 622610 + Identifier 622579 622590 + Identifier 622591 622610 + CaseClause 622611 622663 + PropertyAccessExpression 622633 622662 + Identifier 622633 622644 + Identifier 622645 622662 + CaseClause 622663 622709 + PropertyAccessExpression 622685 622708 + Identifier 622685 622696 + Identifier 622697 622708 + CaseClause 622709 622755 + PropertyAccessExpression 622731 622754 + Identifier 622731 622742 + Identifier 622743 622754 + CaseClause 622755 622807 + PropertyAccessExpression 622777 622806 + Identifier 622777 622788 + Identifier 622789 622806 + CaseClause 622807 623104 + PropertyAccessExpression 622829 622856 + Identifier 622829 622840 + Identifier 622841 622856 + IfStatement 622857 623104 + CallExpression 622883 622958 + Identifier 622883 622903 + Identifier 622904 622908 + BinaryExpression 622909 622957 + PropertyAccessExpression 622909 622931 + Identifier 622909 622923 + Identifier 622924 622931 + BarToken 622931 622933 + PropertyAccessExpression 622933 622957 + Identifier 622933 622947 + Identifier 622948 622957 + Block 622959 623104 + ReturnStatement 622961 623081 + FalseKeyword 623074 623080 + CaseClause 623104 623284 + PropertyAccessExpression 623260 623283 + Identifier 623260 623271 + Identifier 623272 623283 + CaseClause 623284 623337 + PropertyAccessExpression 623306 623336 + Identifier 623306 623317 + Identifier 623318 623336 + CaseClause 623337 623385 + PropertyAccessExpression 623359 623384 + Identifier 623359 623370 + Identifier 623371 623384 + CaseClause 623385 623434 + PropertyAccessExpression 623407 623433 + Identifier 623407 623418 + Identifier 623419 623433 + CaseClause 623434 623478 + PropertyAccessExpression 623456 623477 + Identifier 623456 623467 + Identifier 623468 623477 + CaseClause 623478 623524 + PropertyAccessExpression 623500 623523 + Identifier 623500 623511 + Identifier 623512 623523 + CaseClause 623524 623571 + PropertyAccessExpression 623546 623570 + Identifier 623546 623557 + Identifier 623558 623570 + CaseClause 623571 623621 + PropertyAccessExpression 623593 623620 + Identifier 623593 623604 + Identifier 623605 623620 + CaseClause 623621 623667 + PropertyAccessExpression 623643 623666 + Identifier 623643 623654 + Identifier 623655 623666 + CaseClause 623667 623715 + PropertyAccessExpression 623689 623714 + Identifier 623689 623700 + Identifier 623701 623714 + CaseClause 623715 623759 + PropertyAccessExpression 623737 623758 + Identifier 623737 623748 + Identifier 623749 623758 + CaseClause 623759 623803 + PropertyAccessExpression 623781 623802 + Identifier 623781 623792 + Identifier 623793 623802 + CaseClause 623803 623847 + PropertyAccessExpression 623825 623846 + Identifier 623825 623836 + Identifier 623837 623846 + CaseClause 623847 623898 + PropertyAccessExpression 623869 623897 + Identifier 623869 623880 + Identifier 623881 623897 + CaseClause 623898 623950 + PropertyAccessExpression 623920 623949 + Identifier 623920 623931 + Identifier 623932 623949 + CaseClause 623950 624064 + PropertyAccessExpression 623972 624000 + Identifier 623972 623983 + Identifier 623984 624000 + ReturnStatement 624001 624064 + CallExpression 624029 624063 + Identifier 624029 624050 + PropertyAccessExpression 624051 624062 + Identifier 624051 624055 + Identifier 624056 624062 + CaseClause 624064 624266 + PropertyAccessExpression 624241 624265 + Identifier 624241 624252 + Identifier 624253 624265 + CaseClause 624266 624316 + PropertyAccessExpression 624288 624315 + Identifier 624288 624299 + Identifier 624300 624315 + CaseClause 624316 624401 + PropertyAccessExpression 624338 624365 + Identifier 624338 624349 + Identifier 624350 624365 + ReturnStatement 624366 624401 + FalseKeyword 624394 624400 + CaseClause 624401 624506 + PropertyAccessExpression 624480 624505 + Identifier 624480 624491 + Identifier 624492 624505 + CaseClause 624506 624659 + PropertyAccessExpression 624636 624658 + Identifier 624636 624647 + Identifier 624648 624658 + CaseClause 624659 624754 + PropertyAccessExpression 624681 624719 + Identifier 624681 624692 + Identifier 624693 624719 + ReturnStatement 624720 624754 + TrueKeyword 624748 624753 + CaseClause 624754 624928 + PropertyAccessExpression 624864 624892 + Identifier 624864 624875 + Identifier 624876 624892 + ReturnStatement 624893 624928 + FalseKeyword 624921 624927 + DefaultClause 624928 624991 + ReturnStatement 624956 624991 + FalseKeyword 624984 624990 + FunctionDeclaration 625024 627405 + Identifier 625040 625061 + Parameter 625062 625084 + Identifier 625062 625066 + TypeReference 625067 625084 + Identifier 625067 625084 + Parameter 625085 625109 + Identifier 625085 625099 + QuestionToken 625099 625100 + BooleanKeyword 625101 625109 + UnionType 625111 625130 + ArrayType 625111 625118 + TypeReference 625111 625116 + Identifier 625111 625116 + UndefinedKeyword 625120 625130 + Block 625130 627405 + VariableStatement 625132 625179 + VariableDeclarationList 625132 625178 + VariableDeclaration 625145 625178 + Identifier 625145 625158 + UnionType 625159 625178 + TypeReference 625159 625166 + Identifier 625159 625166 + UndefinedKeyword 625168 625178 + IfStatement 625179 625749 + BinaryExpression 625193 625298 + BinaryExpression 625193 625246 + BinaryExpression 625193 625231 + PropertyAccessExpression 625193 625202 + Identifier 625193 625197 + Identifier 625198 625202 + ExclamationEqualsEqualsToken 625202 625206 + PropertyAccessExpression 625206 625231 + Identifier 625206 625217 + Identifier 625218 625231 + AmpersandAmpersandToken 625231 625234 + PropertyAccessExpression 625234 625246 + Identifier 625234 625239 + Identifier 625240 625246 + AmpersandAmpersandToken 625246 625249 + BinaryExpression 625249 625298 + PropertyAccessExpression 625249 625266 + PropertyAccessExpression 625249 625261 + Identifier 625249 625254 + Identifier 625255 625261 + Identifier 625262 625266 + EqualsEqualsEqualsToken 625266 625270 + PropertyAccessExpression 625270 625298 + Identifier 625270 625281 + Identifier 625282 625298 + Block 625299 625499 + ExpressionStatement 625301 625488 + BinaryExpression 625301 625487 + Identifier 625301 625327 + EqualsToken 625327 625329 + CallExpression 625329 625487 + Identifier 625329 625341 + Identifier 625342 625346 + Identifier 625347 625352 + BinaryExpression 625353 625434 + BinaryExpression 625353 625414 + BinaryExpression 625353 625390 + PropertyAccessExpression 625353 625371 + Identifier 625353 625365 + Identifier 625366 625371 + BarToken 625371 625373 + PropertyAccessExpression 625373 625390 + Identifier 625373 625385 + Identifier 625386 625390 + BarToken 625390 625392 + PropertyAccessExpression 625392 625414 + Identifier 625392 625404 + Identifier 625405 625414 + BarToken 625414 625416 + PropertyAccessExpression 625416 625434 + Identifier 625416 625428 + Identifier 625429 625434 + Identifier 625435 625469 + FalseKeyword 625470 625486 + IfStatement 625513 625749 + BinaryExpression 625518 625565 + PropertyAccessExpression 625518 625534 + PropertyAccessExpression 625518 625529 + Identifier 625518 625522 + Identifier 625523 625529 + Identifier 625530 625534 + EqualsEqualsEqualsToken 625534 625538 + PropertyAccessExpression 625538 625565 + Identifier 625538 625549 + Identifier 625550 625565 + Block 625566 625749 + ExpressionStatement 625568 625738 + BinaryExpression 625568 625737 + Identifier 625568 625594 + EqualsToken 625594 625596 + CallExpression 625596 625737 + Identifier 625596 625623 + AsExpression 625624 625654 + PropertyAccessExpression 625624 625635 + Identifier 625624 625628 + Identifier 625629 625635 + TypeReference 625638 625654 + Identifier 625638 625654 + BinaryExpression 625655 625736 + BinaryExpression 625655 625716 + BinaryExpression 625655 625692 + PropertyAccessExpression 625655 625673 + Identifier 625655 625667 + Identifier 625668 625673 + BarToken 625673 625675 + PropertyAccessExpression 625675 625692 + Identifier 625675 625687 + Identifier 625688 625692 + BarToken 625692 625694 + PropertyAccessExpression 625694 625716 + Identifier 625694 625706 + Identifier 625707 625716 + BarToken 625716 625718 + PropertyAccessExpression 625718 625736 + Identifier 625718 625730 + Identifier 625731 625736 + VariableStatement 625749 625790 + VariableDeclarationList 625749 625789 + VariableDeclaration 625762 625789 + Identifier 625762 625769 + UnionType 625770 625789 + ArrayType 625770 625777 + TypeReference 625770 625775 + Identifier 625770 625775 + UndefinedKeyword 625779 625789 + VariableStatement 625790 625837 + VariableDeclarationList 625790 625836 + VariableDeclaration 625803 625836 + Identifier 625803 625811 + UnionType 625812 625836 + TypeReference 625812 625824 + Identifier 625812 625816 + NumberKeyword 625817 625823 + UndefinedKeyword 625826 625836 + IfStatement 625837 626026 + Identifier 625851 625863 + Block 625864 626026 + ExpressionStatement 625866 625900 + BinaryExpression 625866 625899 + Identifier 625866 625887 + EqualsToken 625887 625889 + NewExpression 625889 625899 + Identifier 625893 625897 + ExpressionStatement 625900 625953 + CallExpression 625900 625952 + PropertyAccessExpression 625900 625925 + Identifier 625900 625921 + Identifier 625922 625925 + CallExpression 625926 625951 + Identifier 625926 625937 + Identifier 625938 625950 + ExpressionStatement 625953 626015 + CallExpression 625953 626014 + Identifier 625953 625987 + PropertyAccessExpression 625988 626013 + Identifier 625988 626000 + Identifier 626001 626013 + ReturnStatement 626026 626050 + Identifier 626042 626049 + FunctionDeclaration 626050 627398 + Identifier 626070 626091 + Parameter 626092 626131 + Identifier 626092 626104 + UnionType 626105 626131 + ArrayType 626105 626119 + TypeReference 626105 626117 + Identifier 626105 626117 + UndefinedKeyword 626121 626131 + Block 626132 627398 + ExpressionStatement 626134 627387 + CallExpression 626134 627386 + Identifier 626134 626155 + Identifier 626156 626168 + ArrowFunction 626169 627385 + Parameter 626169 626181 + Identifier 626169 626181 + EqualsGreaterThanToken 626181 626184 + Block 626184 627385 + VariableStatement 626186 626270 + VariableDeclarationList 626186 626269 + VariableDeclaration 626209 626269 + Identifier 626209 626220 + BinaryExpression 626222 626269 + CallExpression 626222 626254 + Identifier 626222 626241 + Identifier 626242 626253 + BarBarToken 626254 626257 + Identifier 626257 626269 + IfStatement 626270 626534 + Identifier 626292 626305 + Block 626306 626392 + ExpressionStatement 626308 626373 + BinaryExpression 626308 626372 + PropertyAccessExpression 626308 626365 + CallExpression 626308 626355 + Identifier 626308 626342 + Identifier 626343 626354 + Identifier 626356 626365 + EqualsToken 626365 626367 + TrueKeyword 626367 626372 + Block 626414 626534 + ExpressionStatement 626416 626460 + BinaryExpression 626416 626459 + Identifier 626416 626444 + EqualsToken 626444 626446 + BinaryExpression 626446 626459 + Identifier 626446 626453 + BarBarToken 626453 626456 + ArrayLiteralExpression 626456 626459 + ExpressionStatement 626460 626515 + CallExpression 626460 626514 + Identifier 626460 626494 + Identifier 626495 626501 + Identifier 626502 626513 + IfStatement 626534 627370 + CallExpression 626558 626610 + Identifier 626558 626597 + Identifier 626598 626609 + Block 626611 627370 + VariableStatement 626613 626790 + VariableDeclarationList 626613 626789 + VariableDeclaration 626705 626789 + Identifier 626705 626729 + AsExpression 626731 626789 + PropertyAccessExpression 626731 626759 + Identifier 626731 626743 + Identifier 626744 626759 + UnionType 626762 626789 + TypeReference 626762 626773 + Identifier 626762 626773 + TypeReference 626775 626789 + Identifier 626775 626789 + VariableStatement 626790 626880 + VariableDeclarationList 626790 626879 + VariableDeclaration 626817 626879 + Identifier 626817 626833 + CallExpression 626835 626879 + Identifier 626835 626854 + Identifier 626855 626878 + VariableStatement 626880 627091 + VariableDeclarationList 626880 627090 + VariableDeclaration 626907 627090 + Identifier 626907 626920 + CallExpression 626922 627090 + Identifier 626922 626934 + Identifier 626935 626946 + PropertyAccessExpression 626947 626975 + Identifier 626947 626963 + Identifier 626964 626975 + BinaryExpression 626976 627037 + BinaryExpression 626976 627013 + PropertyAccessExpression 626976 626994 + Identifier 626976 626988 + Identifier 626989 626994 + BarToken 626994 626996 + PropertyAccessExpression 626996 627013 + Identifier 626996 627008 + Identifier 627009 627013 + BarToken 627013 627015 + PropertyAccessExpression 627015 627037 + Identifier 627015 627027 + Identifier 627028 627037 + Identifier 627038 627072 + FalseKeyword 627073 627089 + IfStatement 627091 627351 + BinaryExpression 627117 627140 + Identifier 627117 627129 + AmpersandAmpersandToken 627129 627132 + Identifier 627132 627140 + Block 627141 627351 + IfStatement 627143 627328 + CallExpression 627173 627220 + Identifier 627173 627184 + Identifier 627185 627192 + CallExpression 627193 627219 + Identifier 627193 627205 + Identifier 627206 627218 + Block 627221 627328 + ExpressionStatement 627223 627301 + CallExpression 627223 627300 + Identifier 627223 627273 + PropertyAccessExpression 627274 627299 + Identifier 627274 627286 + Identifier 627287 627299 + FunctionDeclaration 627405 628909 + Identifier 628243 628262 + Parameter 628263 628287 + Identifier 628263 628269 + TypeReference 628270 628287 + Identifier 628270 628287 + Parameter 628288 628325 + Identifier 628288 628301 + TypeReference 628302 628325 + Identifier 628302 628325 + BooleanKeyword 628327 628335 + Block 628335 628909 + VariableStatement 628337 628433 + VariableDeclarationList 628337 628432 + VariableDeclaration 628352 628432 + Identifier 628352 628378 + CallExpression 628380 628432 + Identifier 628380 628410 + Identifier 628411 628417 + Identifier 628418 628431 + IfStatement 628433 628737 + BinaryExpression 628447 628477 + Identifier 628447 628472 + GreaterThanEqualsToken 628472 628475 + NumericLiteral 628475 628477 + Block 628478 628737 + VariableStatement 628480 628565 + VariableDeclarationList 628480 628564 + VariableDeclaration 628533 628564 + ObjectBindingPattern 628533 628544 + BindingElement 628535 628542 + Identifier 628535 628542 + Identifier 628546 628564 + ForStatement 628565 628699 + VariableDeclarationList 628584 628617 + VariableDeclaration 628587 628617 + Identifier 628587 628589 + Identifier 628591 628617 + BinaryExpression 628618 628629 + Identifier 628618 628620 + LessThanToken 628620 628622 + Identifier 628622 628629 + PostfixUnaryExpression 628630 628634 + Identifier 628630 628632 + Block 628635 628699 + ExpressionStatement 628637 628684 + BinaryExpression 628637 628683 + ElementAccessExpression 628637 628675 + Identifier 628637 628672 + Identifier 628673 628674 + EqualsToken 628675 628677 + FalseKeyword 628677 628683 + ReturnStatement 628699 628726 + FalseKeyword 628719 628725 + ExpressionStatement 628737 628778 + CallExpression 628737 628777 + PropertyAccessExpression 628737 628769 + Identifier 628737 628764 + Identifier 628765 628769 + Identifier 628770 628776 + ExpressionStatement 628778 628827 + CallExpression 628778 628826 + PropertyAccessExpression 628778 628810 + Identifier 628778 628805 + Identifier 628806 628810 + TrueKeyword 628811 628825 + ExpressionStatement 628827 628880 + CallExpression 628827 628879 + PropertyAccessExpression 628827 628865 + Identifier 628827 628860 + Identifier 628861 628865 + Identifier 628866 628878 + ReturnStatement 628880 628902 + TrueKeyword 628896 628901 + FunctionDeclaration 628909 629430 + Identifier 628925 628955 + Parameter 628956 628980 + Identifier 628956 628962 + TypeReference 628963 628980 + Identifier 628963 628980 + Parameter 628981 629018 + Identifier 628981 628994 + TypeReference 628995 629018 + Identifier 628995 629018 + NumberKeyword 629020 629027 + Block 629027 629430 + ForStatement 629029 629403 + VariableDeclarationList 629044 629080 + VariableDeclaration 629047 629080 + Identifier 629047 629049 + BinaryExpression 629051 629080 + PropertyAccessExpression 629051 629076 + Identifier 629051 629069 + Identifier 629070 629076 + MinusToken 629076 629078 + NumericLiteral 629078 629080 + BinaryExpression 629081 629102 + Identifier 629081 629083 + GreaterThanEqualsToken 629083 629086 + Identifier 629086 629102 + PostfixUnaryExpression 629103 629107 + Identifier 629103 629105 + Block 629108 629403 + IfStatement 629110 629251 + CallExpression 629128 629205 + Identifier 629128 629155 + ElementAccessExpression 629156 629176 + Identifier 629156 629173 + Identifier 629174 629175 + ElementAccessExpression 629177 629204 + Identifier 629177 629201 + Identifier 629202 629203 + Block 629206 629251 + ReturnStatement 629208 629236 + PrefixUnaryExpression 629232 629235 + NumericLiteral 629234 629235 + IfStatement 629251 629392 + BinaryExpression 629269 629347 + BinaryExpression 629269 629300 + ElementAccessExpression 629269 629289 + Identifier 629269 629286 + Identifier 629287 629288 + EqualsEqualsEqualsToken 629289 629293 + Identifier 629293 629300 + AmpersandAmpersandToken 629300 629303 + BinaryExpression 629303 629347 + ElementAccessExpression 629303 629330 + Identifier 629303 629327 + Identifier 629328 629329 + EqualsEqualsEqualsToken 629330 629334 + Identifier 629334 629347 + Block 629348 629392 + ReturnStatement 629350 629377 + Identifier 629374 629376 + ReturnStatement 629403 629423 + PrefixUnaryExpression 629419 629422 + NumericLiteral 629421 629422 + FunctionDeclaration 629430 630897 + Identifier 629446 629474 + Parameter 629475 629499 + Identifier 629475 629481 + TypeReference 629482 629499 + Identifier 629482 629499 + Parameter 629500 629537 + Identifier 629500 629513 + TypeReference 629514 629537 + Identifier 629514 629537 + BooleanKeyword 629539 629547 + Block 629547 630897 + SwitchStatement 629549 630841 + Identifier 629567 629579 + CaseBlock 629580 630841 + CaseClause 629582 629694 + PropertyAccessExpression 629600 629628 + Identifier 629600 629623 + Identifier 629624 629628 + ReturnStatement 629629 629694 + PrefixUnaryExpression 629653 629693 + PrefixUnaryExpression 629655 629693 + PropertyAccessExpression 629656 629693 + CallExpression 629656 629688 + Identifier 629656 629670 + AsExpression 629671 629687 + Identifier 629671 629677 + TypeReference 629680 629687 + Identifier 629680 629687 + Identifier 629689 629693 + CaseClause 629694 629822 + PropertyAccessExpression 629712 629748 + Identifier 629712 629735 + Identifier 629736 629748 + ReturnStatement 629749 629822 + PrefixUnaryExpression 629773 629821 + PrefixUnaryExpression 629775 629821 + PropertyAccessExpression 629776 629821 + CallExpression 629776 629808 + Identifier 629776 629790 + AsExpression 629791 629807 + Identifier 629791 629797 + TypeReference 629800 629807 + Identifier 629800 629807 + Identifier 629809 629821 + CaseClause 629822 629973 + PropertyAccessExpression 629840 629891 + Identifier 629840 629863 + Identifier 629864 629891 + ReturnStatement 629892 629973 + PrefixUnaryExpression 629916 629972 + PrefixUnaryExpression 629918 629972 + PropertyAccessExpression 629919 629972 + ParenthesizedExpression 629919 629944 + AsExpression 629920 629943 + Identifier 629920 629926 + TypeReference 629929 629943 + Identifier 629929 629943 + Identifier 629945 629972 + CaseClause 629973 630102 + PropertyAccessExpression 629991 630033 + Identifier 629991 630014 + Identifier 630015 630033 + ReturnStatement 630034 630102 + PrefixUnaryExpression 630058 630101 + PrefixUnaryExpression 630060 630101 + PropertyAccessExpression 630061 630101 + ParenthesizedExpression 630061 630082 + AsExpression 630062 630081 + Identifier 630062 630068 + TypeReference 630071 630081 + Identifier 630071 630081 + Identifier 630083 630101 + CaseClause 630102 630236 + PropertyAccessExpression 630120 630167 + Identifier 630120 630143 + Identifier 630144 630167 + ReturnStatement 630168 630236 + PrefixUnaryExpression 630192 630235 + PrefixUnaryExpression 630194 630235 + PropertyAccessExpression 630195 630235 + ParenthesizedExpression 630195 630211 + AsExpression 630196 630210 + Identifier 630196 630202 + TypeReference 630205 630210 + Identifier 630205 630210 + Identifier 630212 630235 + CaseClause 630236 630375 + PropertyAccessExpression 630254 630299 + Identifier 630254 630277 + Identifier 630278 630299 + ReturnStatement 630300 630375 + PrefixUnaryExpression 630324 630374 + PrefixUnaryExpression 630326 630374 + PropertyAccessExpression 630327 630374 + ParenthesizedExpression 630327 630352 + AsExpression 630328 630351 + Identifier 630328 630334 + TypeReference 630337 630351 + Identifier 630337 630351 + Identifier 630353 630374 + CaseClause 630375 630506 + PropertyAccessExpression 630393 630434 + Identifier 630393 630416 + Identifier 630417 630434 + ReturnStatement 630435 630506 + PrefixUnaryExpression 630459 630505 + PrefixUnaryExpression 630461 630505 + PropertyAccessExpression 630462 630505 + ParenthesizedExpression 630462 630487 + AsExpression 630463 630486 + Identifier 630463 630469 + TypeReference 630472 630486 + Identifier 630472 630486 + Identifier 630488 630505 + CaseClause 630506 630628 + PropertyAccessExpression 630524 630557 + Identifier 630524 630547 + Identifier 630548 630557 + ReturnStatement 630558 630628 + PrefixUnaryExpression 630582 630627 + PrefixUnaryExpression 630584 630627 + PropertyAccessExpression 630585 630627 + CallExpression 630585 630617 + Identifier 630585 630599 + AsExpression 630600 630616 + Identifier 630600 630606 + TypeReference 630609 630616 + Identifier 630609 630616 + Identifier 630618 630627 + CaseClause 630628 630830 + PropertyAccessExpression 630646 630707 + Identifier 630646 630669 + Identifier 630670 630707 + ReturnStatement 630708 630830 + BinaryExpression 630732 630829 + PropertyAccessExpression 630732 630815 + CallExpression 630732 630777 + Identifier 630732 630745 + AsExpression 630746 630776 + Identifier 630746 630752 + TypeReference 630755 630776 + Identifier 630755 630776 + Identifier 630778 630815 + ExclamationEqualsEqualsToken 630815 630819 + Identifier 630819 630829 + ReturnStatement 630841 630890 + CallExpression 630857 630889 + PropertyAccessExpression 630857 630875 + Identifier 630857 630863 + Identifier 630864 630875 + Identifier 630876 630888 + FunctionDeclaration 630897 631287 + Identifier 631133 631151 + BooleanKeyword 631154 631162 + Block 631162 631287 + ExpressionStatement 631164 631198 + CallExpression 631164 631197 + PropertyAccessExpression 631164 631195 + Identifier 631164 631191 + Identifier 631192 631195 + ExpressionStatement 631198 631238 + CallExpression 631198 631237 + PropertyAccessExpression 631198 631235 + Identifier 631198 631231 + Identifier 631232 631235 + ReturnStatement 631238 631280 + NonNullExpression 631254 631279 + CallExpression 631254 631278 + PropertyAccessExpression 631254 631276 + Identifier 631254 631272 + Identifier 631273 631276 + FunctionDeclaration 631287 631890 + Identifier 631303 631327 + Parameter 631328 631338 + Identifier 631328 631332 + TypeReference 631333 631338 + Identifier 631333 631338 + TypeReference 631340 631345 + Identifier 631340 631345 + Block 631345 631890 + ReturnStatement 631347 631883 + PropertyAccessExpression 631363 631882 + NonNullExpression 631363 631875 + CallExpression 631363 631874 + Identifier 631363 631376 + CallExpression 631377 631401 + Identifier 631377 631395 + Identifier 631396 631400 + ArrowFunction 631402 631873 + Parameter 631402 631407 + Identifier 631402 631407 + EqualsGreaterThanToken 631407 631410 + Block 631410 631873 + SwitchStatement 631412 631862 + PropertyAccessExpression 631434 631443 + Identifier 631434 631438 + Identifier 631439 631443 + CaseBlock 631444 631862 + CaseClause 631446 631500 + PropertyAccessExpression 631468 631499 + Identifier 631468 631479 + Identifier 631480 631499 + CaseClause 631500 631558 + PropertyAccessExpression 631522 631557 + Identifier 631522 631533 + Identifier 631534 631557 + CaseClause 631558 631608 + PropertyAccessExpression 631580 631607 + Identifier 631580 631591 + Identifier 631592 631607 + CaseClause 631608 631655 + PropertyAccessExpression 631630 631654 + Identifier 631630 631641 + Identifier 631642 631654 + CaseClause 631655 631705 + PropertyAccessExpression 631677 631704 + Identifier 631677 631688 + Identifier 631689 631704 + CaseClause 631705 631787 + PropertyAccessExpression 631727 631751 + Identifier 631727 631738 + Identifier 631739 631751 + ReturnStatement 631752 631787 + FalseKeyword 631780 631786 + DefaultClause 631787 631847 + ReturnStatement 631813 631847 + TrueKeyword 631841 631846 + Identifier 631876 631882 + FunctionDeclaration 631890 632591 + Identifier 631906 631933 + Parameter 631934 631951 + Identifier 631934 631943 + TypeReference 631944 631951 + Identifier 631944 631951 + TypeReference 631953 631958 + Identifier 631953 631958 + Block 631958 632591 + VariableStatement 631960 632437 + VariableDeclarationList 631960 632436 + VariableDeclaration 632352 632436 + Identifier 632352 632362 + AsExpression 632364 632436 + CallExpression 632364 632419 + Identifier 632364 632388 + NonNullExpression 632389 632418 + CallExpression 632389 632417 + Identifier 632389 632406 + Identifier 632407 632416 + TypeReference 632422 632436 + Identifier 632422 632436 + ReturnStatement 632437 632584 + ConditionalExpression 632453 632583 + PropertyAccessExpression 632453 632478 + Identifier 632453 632463 + Identifier 632464 632478 + QuestionToken 632478 632480 + CallExpression 632480 632571 + Identifier 632480 632500 + AsExpression 632501 632525 + Identifier 632501 632510 + TypeReference 632513 632525 + Identifier 632513 632525 + CallExpression 632526 632570 + Identifier 632526 632530 + PropertyAccessExpression 632531 632555 + Identifier 632531 632540 + Identifier 632541 632555 + ArrowFunction 632556 632569 + Parameter 632556 632558 + Identifier 632556 632558 + EqualsGreaterThanToken 632558 632561 + Identifier 632561 632569 + ColonToken 632571 632573 + Identifier 632573 632583 + FunctionDeclaration 632591 632902 + Identifier 632712 632736 + Parameter 632737 632747 + Identifier 632737 632741 + TypeReference 632742 632747 + Identifier 632742 632747 + Parameter 632748 632763 + Identifier 632748 632753 + TypeReference 632754 632763 + Identifier 632754 632763 + UnionType 632765 632782 + TypeReference 632765 632770 + Identifier 632765 632770 + UndefinedKeyword 632772 632782 + Block 632782 632902 + VariableStatement 632784 632837 + VariableDeclarationList 632784 632836 + VariableDeclaration 632799 632836 + Identifier 632799 632804 + CallExpression 632806 632836 + Identifier 632806 632824 + Identifier 632825 632829 + Identifier 632830 632835 + ReturnStatement 632837 632895 + ConditionalExpression 632853 632894 + Identifier 632853 632858 + QuestionToken 632858 632860 + CallExpression 632860 632882 + Identifier 632860 632876 + Identifier 632877 632881 + ColonToken 632882 632884 + Identifier 632884 632894 + FunctionDeclaration 632902 633472 + Identifier 633137 633177 + Parameter 633178 633188 + Identifier 633178 633182 + TypeReference 633183 633188 + Identifier 633183 633188 + Parameter 633189 633204 + Identifier 633189 633194 + TypeReference 633195 633204 + Identifier 633195 633204 + UnionType 633206 633223 + TypeReference 633206 633211 + Identifier 633206 633211 + UndefinedKeyword 633213 633223 + Block 633223 633472 + VariableStatement 633225 633248 + VariableDeclarationList 633225 633247 + VariableDeclaration 633238 633247 + Identifier 633238 633247 + ReturnStatement 633248 633465 + BinaryExpression 633264 633464 + CallExpression 633264 633300 + Identifier 633264 633288 + Identifier 633289 633293 + Identifier 633294 633299 + BarBarToken 633300 633303 + BinaryExpression 633303 633464 + ParenthesizedExpression 633303 633377 + BinaryExpression 633318 633376 + Identifier 633318 633326 + EqualsToken 633326 633328 + PropertyAccessExpression 633328 633376 + CallExpression 633328 633370 + Identifier 633328 633358 + Identifier 633359 633363 + Identifier 633364 633369 + QuestionDotToken 633370 633372 + Identifier 633372 633376 + AmpersandAmpersandToken 633377 633380 + CallExpression 633380 633464 + Identifier 633380 633412 + Identifier 633413 633421 + TrueKeyword 633422 633442 + TrueKeyword 633443 633463 + FunctionDeclaration 633472 633591 + Identifier 633488 633498 + Parameter 633499 633521 + Identifier 633499 633503 + UnionType 633504 633521 + TypeReference 633504 633509 + Identifier 633504 633509 + UndefinedKeyword 633511 633521 + Block 633522 633591 + ReturnStatement 633524 633584 + BinaryExpression 633540 633583 + Identifier 633540 633545 + AmpersandAmpersandToken 633545 633548 + BinaryExpression 633548 633583 + ParenthesizedExpression 633548 633577 + BinaryExpression 633550 633576 + PropertyAccessExpression 633550 633560 + Identifier 633550 633554 + Identifier 633555 633560 + AmpersandToken 633560 633562 + PropertyAccessExpression 633562 633576 + Identifier 633562 633572 + Identifier 633573 633576 + ExclamationEqualsEqualsToken 633577 633581 + NumericLiteral 633581 633583 + FunctionDeclaration 633591 633940 + Identifier 633607 633619 + Parameter 633620 633630 + Identifier 633620 633624 + TypeReference 633625 633630 + Identifier 633625 633630 + Block 633631 633940 + ReturnStatement 633633 633933 + BinaryExpression 633859 633932 + BinaryExpression 633859 633878 + Identifier 633859 633864 + EqualsEqualsEqualsToken 633864 633868 + Identifier 633868 633878 + BarBarToken 633878 633881 + PrefixUnaryExpression 633881 633932 + PrefixUnaryExpression 633883 633932 + ParenthesizedExpression 633884 633932 + BinaryExpression 633885 633931 + BinaryExpression 633885 633911 + PropertyAccessExpression 633885 633895 + Identifier 633885 633889 + Identifier 633890 633895 + AmpersandToken 633895 633897 + PropertyAccessExpression 633897 633911 + Identifier 633897 633907 + Identifier 633908 633911 + AmpersandAmpersandToken 633911 633914 + PropertyAccessExpression 633914 633931 + Identifier 633914 633919 + Identifier 633920 633931 + FunctionDeclaration 633940 634549 + Identifier 634101 634132 + Parameter 634133 634164 + Identifier 634133 634137 + TypeReference 634138 634164 + Identifier 634138 634164 + Parameter 634165 634186 + Identifier 634165 634175 + TypeReference 634176 634186 + Identifier 634176 634186 + Block 634187 634549 + IfStatement 634189 634349 + BinaryExpression 634203 634233 + Identifier 634203 634212 + ExclamationEqualsEqualsToken 634212 634216 + PropertyAccessExpression 634216 634233 + Identifier 634216 634226 + Identifier 634227 634233 + Block 634234 634349 + ReturnStatement 634236 634338 + CallExpression 634256 634337 + Identifier 634256 634290 + Identifier 634291 634295 + FalseKeyword 634296 634325 + Identifier 634326 634336 + VariableStatement 634349 634403 + VariableDeclarationList 634349 634402 + VariableDeclaration 634364 634402 + Identifier 634364 634371 + CallExpression 634373 634402 + Identifier 634373 634396 + Identifier 634397 634401 + ReturnStatement 634403 634542 + BinaryExpression 634419 634541 + BinaryExpression 634419 634457 + Identifier 634419 634426 + AmpersandAmpersandToken 634426 634429 + PropertyAccessExpression 634429 634457 + CallExpression 634429 634452 + Identifier 634429 634444 + Identifier 634445 634451 + Identifier 634453 634457 + BarBarToken 634457 634460 + CallExpression 634460 634541 + Identifier 634460 634494 + Identifier 634495 634499 + FalseKeyword 634500 634529 + Identifier 634530 634540 + FunctionDeclaration 634549 637028 + Identifier 634565 634577 + Parameter 634578 634590 + Identifier 634578 634584 + TypeReference 634585 634590 + Identifier 634585 634590 + Parameter 634591 634618 + Identifier 634591 634602 + ArrayType 634603 634618 + TypeReference 634603 634616 + Identifier 634603 634616 + Parameter 634619 634646 + Identifier 634619 634626 + UnionType 634627 634646 + TypeReference 634627 634634 + Identifier 634627 634634 + UndefinedKeyword 634636 634646 + TypeReference 634648 634653 + Identifier 634648 634653 + Block 634653 637028 + ExpressionStatement 634655 634731 + BinaryExpression 634655 634730 + Identifier 634655 634671 + EqualsToken 634671 634673 + CallExpression 634673 634730 + Identifier 634673 634684 + Identifier 634685 634691 + ArrowFunction 634692 634729 + Parameter 634692 634694 + Identifier 634692 634694 + EqualsGreaterThanToken 634694 634697 + PrefixUnaryExpression 634697 634729 + ParenthesizedExpression 634699 634729 + BinaryExpression 634700 634728 + PropertyAccessExpression 634700 634707 + Identifier 634700 634701 + Identifier 634702 634707 + AmpersandToken 634707 634709 + PropertyAccessExpression 634709 634728 + Identifier 634709 634719 + Identifier 634720 634728 + IfStatement 634731 634826 + BinaryExpression 634745 634775 + PropertyAccessExpression 634745 634757 + Identifier 634745 634751 + Identifier 634752 634757 + AmpersandToken 634757 634759 + PropertyAccessExpression 634759 634775 + Identifier 634759 634769 + Identifier 634770 634775 + Block 634776 634826 + ReturnStatement 634778 634815 + Identifier 634798 634814 + IfStatement 634826 634962 + BinaryExpression 634840 634870 + PropertyAccessExpression 634840 634852 + Identifier 634840 634846 + Identifier 634847 634852 + AmpersandToken 634852 634854 + PropertyAccessExpression 634854 634870 + Identifier 634854 634864 + Identifier 634865 634870 + Block 634871 634962 + ReturnStatement 634873 634951 + CallExpression 634893 634950 + Identifier 634893 634901 + Identifier 634902 634908 + ArrowFunction 634909 634949 + Parameter 634909 634911 + Identifier 634909 634911 + EqualsGreaterThanToken 634911 634914 + CallExpression 634914 634949 + Identifier 634914 634926 + Identifier 634927 634928 + Identifier 634929 634940 + Identifier 634941 634948 + VariableStatement 634962 635054 + VariableDeclarationList 634962 635053 + VariableDeclaration 634977 635053 + Identifier 634977 634989 + CallExpression 634991 635053 + Identifier 634991 635004 + CallExpression 635005 635052 + Identifier 635005 635008 + Identifier 635009 635019 + Identifier 635020 635051 + VariableStatement 635054 635108 + VariableDeclarationList 635054 635107 + VariableDeclaration 635071 635107 + Identifier 635071 635092 + ArrayType 635093 635102 + TypeReference 635093 635100 + Identifier 635093 635100 + ArrayLiteralExpression 635104 635107 + VariableStatement 635108 635160 + VariableDeclarationList 635108 635159 + VariableDeclaration 635123 635159 + Identifier 635123 635146 + ArrayType 635147 635154 + TypeReference 635147 635152 + Identifier 635147 635152 + ArrayLiteralExpression 635156 635159 + ForOfStatement 635160 635799 + VariableDeclarationList 635177 635187 + VariableDeclaration 635182 635187 + Identifier 635182 635187 + CallExpression 635190 635218 + Identifier 635190 635210 + Identifier 635211 635217 + Block 635219 635799 + VariableStatement 635221 635341 + VariableDeclarationList 635221 635340 + VariableDeclaration 635240 635340 + Identifier 635240 635264 + CallExpression 635266 635340 + Identifier 635266 635293 + Identifier 635294 635298 + PropertyAccessExpression 635299 635339 + Identifier 635299 635309 + Identifier 635310 635339 + IfStatement 635341 635788 + BinaryExpression 635359 635600 + BinaryExpression 635359 635553 + PrefixUnaryExpression 635359 635434 + CallExpression 635378 635434 + Identifier 635378 635396 + Identifier 635397 635420 + Identifier 635421 635433 + AmpersandAmpersandToken 635434 635454 + PrefixUnaryExpression 635454 635553 + ParenthesizedExpression 635456 635553 + BinaryExpression 635457 635552 + CallExpression 635457 635500 + Identifier 635457 635494 + Identifier 635495 635499 + AmpersandToken 635500 635502 + ParenthesizedExpression 635502 635552 + BinaryExpression 635504 635551 + PropertyAccessExpression 635504 635525 + Identifier 635504 635517 + Identifier 635518 635525 + BarToken 635525 635527 + PropertyAccessExpression 635527 635551 + Identifier 635527 635541 + Identifier 635542 635551 + AmpersandAmpersandToken 635553 635573 + CallExpression 635573 635600 + Identifier 635573 635594 + Identifier 635595 635599 + Block 635615 635682 + ExpressionStatement 635617 635667 + CallExpression 635617 635666 + PropertyAccessExpression 635617 635660 + Identifier 635617 635655 + Identifier 635656 635660 + Identifier 635661 635665 + Block 635700 635788 + ExpressionStatement 635702 635773 + CallExpression 635702 635772 + PropertyAccessExpression 635702 635747 + Identifier 635702 635742 + Identifier 635743 635747 + Identifier 635748 635771 + IfStatement 635799 636627 + BinaryExpression 635815 635877 + CallExpression 635815 635842 + Identifier 635815 635834 + Identifier 635835 635841 + BarBarToken 635842 635845 + CallExpression 635845 635877 + Identifier 635845 635864 + Identifier 635865 635876 + Block 635878 636627 + IfStatement 635880 636281 + PropertyAccessExpression 635898 635927 + Identifier 635898 635920 + Identifier 635921 635927 + Block 635928 636281 + ExpressionStatement 635930 636266 + BinaryExpression 635930 636265 + Identifier 635930 636208 + EqualsToken 636208 636210 + CallExpression 636210 636265 + Identifier 636210 636223 + ArrayLiteralExpression 636224 636264 + Identifier 636225 636236 + SpreadElement 636237 636263 + Identifier 636241 636263 + IfStatement 636281 636386 + BinaryExpression 636301 636336 + PropertyAccessExpression 636301 636318 + Identifier 636301 636312 + Identifier 636313 636318 + AmpersandToken 636318 636320 + PropertyAccessExpression 636320 636336 + Identifier 636320 636330 + Identifier 636331 636336 + Block 636337 636386 + ReturnStatement 636339 636371 + Identifier 636363 636370 + VariableStatement 636386 636446 + VariableDeclarationList 636386 636445 + VariableDeclaration 636407 636445 + Identifier 636407 636421 + CallExpression 636423 636445 + Identifier 636423 636443 + IfStatement 636446 636531 + PrefixUnaryExpression 636464 636478 + Identifier 636465 636478 + Block 636479 636531 + ReturnStatement 636481 636516 + Identifier 636505 636515 + ReturnStatement 636531 636616 + CallExpression 636551 636615 + Identifier 636551 636577 + Identifier 636578 636591 + ArrayLiteralExpression 636592 636614 + Identifier 636594 636600 + Identifier 636601 636613 + VariableStatement 636627 636673 + VariableDeclarationList 636627 636672 + VariableDeclaration 636642 636672 + Identifier 636642 636650 + CallExpression 636652 636672 + Identifier 636652 636670 + ForOfStatement 636673 636823 + VariableDeclarationList 636688 636698 + VariableDeclaration 636693 636698 + Identifier 636693 636698 + Identifier 636701 636722 + Block 636723 636823 + ExpressionStatement 636725 636812 + CallExpression 636725 636811 + PropertyAccessExpression 636725 636750 + Identifier 636725 636746 + Identifier 636747 636750 + PropertyAccessExpression 636751 636767 + Identifier 636751 636755 + Identifier 636756 636767 + CallExpression 636768 636810 + Identifier 636768 636784 + Identifier 636785 636789 + FalseKeyword 636790 636809 + VariableStatement 636823 636938 + VariableDeclarationList 636823 636937 + VariableDeclaration 636838 636937 + Identifier 636838 636845 + CallExpression 636847 636937 + Identifier 636847 636867 + Identifier 636868 636874 + Identifier 636875 636883 + Identifier 636884 636895 + Identifier 636896 636907 + CallExpression 636908 636936 + Identifier 636908 636928 + Identifier 636929 636935 + ExpressionStatement 636938 636997 + BinaryExpression 636938 636996 + PropertyAccessExpression 636938 636966 + Identifier 636938 636954 + Identifier 636955 636966 + BarEqualsToken 636966 636969 + PropertyAccessExpression 636969 636996 + Identifier 636969 636981 + Identifier 636982 636996 + ReturnStatement 636997 637021 + Identifier 637013 637020 + FunctionDeclaration 637028 637245 + Identifier 637044 637081 + Parameter 637082 637092 + Identifier 637082 637086 + TypeReference 637087 637092 + Identifier 637087 637092 + Block 637093 637245 + ReturnStatement 637095 637238 + BinaryExpression 637111 637237 + PrefixUnaryExpression 637111 637151 + PrefixUnaryExpression 637113 637151 + ParenthesizedExpression 637114 637151 + BinaryExpression 637115 637150 + PropertyAccessExpression 637115 637125 + Identifier 637115 637119 + Identifier 637120 637125 + AmpersandToken 637125 637127 + PropertyAccessExpression 637127 637150 + Identifier 637127 637137 + Identifier 637138 637150 + AmpersandAmpersandToken 637151 637154 + CallExpression 637154 637237 + Identifier 637154 637170 + BinaryExpression 637171 637215 + CallExpression 637171 637200 + Identifier 637171 637194 + Identifier 637195 637199 + BarBarToken 637200 637203 + Identifier 637203 637215 + PropertyAccessExpression 637216 637236 + Identifier 637216 637226 + Identifier 637227 637236 + FunctionDeclaration 637245 637560 + Identifier 637261 637281 + Parameter 637282 637292 + Identifier 637282 637286 + TypeReference 637287 637292 + Identifier 637287 637292 + Block 637293 637560 + VariableStatement 637295 637478 + VariableDeclarationList 637295 637477 + VariableDeclaration 637310 637477 + Identifier 637310 637327 + ConditionalExpression 637329 637477 + CallExpression 637329 637382 + Identifier 637329 637338 + Identifier 637339 637343 + Identifier 637344 637381 + QuestionToken 637382 637384 + CallExpression 637384 637470 + Identifier 637384 637392 + Identifier 637393 637397 + ArrowFunction 637398 637469 + Parameter 637398 637400 + Identifier 637398 637400 + EqualsGreaterThanToken 637400 637403 + ConditionalExpression 637403 637469 + BinaryExpression 637403 637436 + PropertyAccessExpression 637403 637411 + Identifier 637403 637405 + Identifier 637406 637411 + AmpersandToken 637411 637413 + PropertyAccessExpression 637413 637436 + Identifier 637413 637423 + Identifier 637424 637436 + QuestionToken 637436 637438 + CallExpression 637438 637465 + Identifier 637438 637462 + Identifier 637463 637464 + ColonToken 637465 637467 + Identifier 637467 637469 + ColonToken 637470 637472 + Identifier 637472 637477 + ReturnStatement 637478 637553 + CallExpression 637494 637552 + Identifier 637494 637511 + Identifier 637512 637528 + PropertyAccessExpression 637529 637551 + Identifier 637529 637539 + Identifier 637540 637551 + FunctionDeclaration 637560 638457 + Identifier 638163 638190 + Parameter 638191 638275 + Identifier 638191 638195 + UnionType 638196 638275 + TypeReference 638196 638211 + Identifier 638196 638211 + TypeReference 638213 638232 + Identifier 638213 638232 + TypeReference 638234 638262 + Identifier 638234 638262 + TypeReference 638264 638275 + Identifier 638264 638275 + Parameter 638276 638295 + Identifier 638276 638289 + TypeReference 638290 638295 + Identifier 638290 638295 + Block 638296 638457 + VariableStatement 638298 638358 + VariableDeclarationList 638298 638357 + VariableDeclaration 638313 638357 + Identifier 638313 638323 + CallExpression 638325 638357 + Identifier 638325 638351 + Identifier 638352 638356 + ReturnStatement 638358 638450 + ConditionalExpression 638374 638449 + Identifier 638374 638384 + QuestionToken 638384 638386 + CallExpression 638386 638434 + Identifier 638386 638409 + Identifier 638410 638419 + Identifier 638420 638433 + ColonToken 638434 638436 + Identifier 638436 638449 + FunctionDeclaration 638457 639575 + Identifier 638473 638499 + Parameter 638500 638584 + Identifier 638500 638504 + UnionType 638505 638584 + TypeReference 638505 638520 + Identifier 638505 638520 + TypeReference 638522 638541 + Identifier 638522 638541 + TypeReference 638543 638571 + Identifier 638543 638571 + TypeReference 638573 638584 + Identifier 638573 638584 + UnionType 638586 638622 + TypeReference 638586 638610 + Identifier 638586 638610 + UndefinedKeyword 638612 638622 + Block 638622 639575 + VariableStatement 638624 638684 + VariableDeclarationList 638624 638683 + VariableDeclaration 638639 638683 + Identifier 638639 638652 + CallExpression 638654 638683 + Identifier 638654 638677 + Identifier 638678 638682 + IfStatement 638684 639568 + BinaryExpression 638698 638768 + BinaryExpression 638698 638743 + Identifier 638698 638710 + AmpersandAmpersandToken 638710 638713 + CallExpression 638713 638743 + Identifier 638713 638729 + Identifier 638730 638742 + AmpersandAmpersandToken 638743 638746 + PropertyAccessExpression 638746 638768 + Identifier 638746 638759 + Identifier 638760 638768 + Block 638769 639568 + VariableStatement 638771 638837 + VariableDeclarationList 638771 638836 + VariableDeclaration 638790 638836 + Identifier 638790 638799 + CallExpression 638801 638836 + Identifier 638801 638830 + Identifier 638831 638835 + IfStatement 638837 639557 + Identifier 638855 638863 + Block 638864 639557 + VariableStatement 638866 638973 + VariableDeclarationList 638866 638972 + VariableDeclaration 638889 638972 + Identifier 638889 638897 + CallExpression 638899 638972 + Identifier 638899 638918 + CallExpression 638919 638965 + PropertyAccessExpression 638919 638955 + Identifier 638919 638935 + Identifier 638936 638955 + Identifier 638956 638964 + Identifier 638966 638971 + VariableStatement 638973 639124 + VariableDeclarationList 638973 639123 + VariableDeclaration 638996 639123 + Identifier 638996 639004 + ConditionalExpression 639006 639123 + CallExpression 639006 639045 + Identifier 639006 639031 + Identifier 639032 639044 + QuestionToken 639045 639047 + Identifier 639047 639060 + ColonToken 639060 639062 + CallExpression 639062 639123 + PropertyAccessExpression 639062 639109 + Identifier 639062 639079 + Identifier 639080 639109 + Identifier 639110 639122 + VariableStatement 639124 639248 + VariableDeclarationList 639124 639247 + VariableDeclaration 639147 639247 + Identifier 639147 639154 + CallExpression 639156 639247 + Identifier 639156 639175 + CallExpression 639176 639240 + PropertyAccessExpression 639176 639222 + Identifier 639176 639192 + Identifier 639193 639222 + Identifier 639223 639230 + Identifier 639231 639239 + Identifier 639241 639246 + ExpressionStatement 639248 639293 + CallExpression 639248 639292 + Identifier 639248 639275 + Identifier 639276 639283 + Identifier 639284 639291 + ExpressionStatement 639293 639335 + CallExpression 639293 639334 + Identifier 639293 639320 + Identifier 639321 639327 + Identifier 639328 639333 + IfStatement 639335 639452 + BinaryExpression 639357 639381 + Identifier 639357 639364 + ExclamationEqualsEqualsToken 639364 639368 + Identifier 639368 639381 + Block 639382 639452 + ExpressionStatement 639384 639433 + CallExpression 639384 639432 + Identifier 639384 639415 + Identifier 639416 639423 + Identifier 639424 639431 + ExpressionStatement 639452 639510 + BinaryExpression 639452 639509 + PropertyAccessExpression 639452 639485 + Identifier 639452 639476 + Identifier 639477 639485 + EqualsToken 639485 639487 + PropertyAccessExpression 639487 639509 + Identifier 639487 639500 + Identifier 639501 639509 + ReturnStatement 639510 639542 + Identifier 639534 639541 + FunctionDeclaration 639575 640355 + Identifier 639591 639614 + Parameter 639615 639699 + Identifier 639615 639619 + UnionType 639620 639699 + TypeReference 639620 639635 + Identifier 639620 639635 + TypeReference 639637 639656 + Identifier 639637 639656 + TypeReference 639658 639686 + Identifier 639658 639686 + TypeReference 639688 639699 + Identifier 639688 639699 + Block 639700 640355 + VariableStatement 639702 639748 + VariableDeclarationList 639702 639747 + VariableDeclaration 639717 639747 + Identifier 639717 639726 + PropertyAccessExpression 639728 639747 + PropertyAccessExpression 639728 639740 + Identifier 639728 639733 + Identifier 639734 639740 + Identifier 639741 639747 + SwitchStatement 639748 640348 + PropertyAccessExpression 639766 639779 + Identifier 639766 639774 + Identifier 639775 639779 + CaseBlock 639780 640348 + CaseClause 639782 639827 + PropertyAccessExpression 639800 639826 + Identifier 639800 639811 + Identifier 639812 639826 + CaseClause 639827 639976 + PropertyAccessExpression 639845 639875 + Identifier 639845 639856 + Identifier 639857 639875 + ReturnStatement 639876 639976 + CallExpression 639900 639975 + Identifier 639900 639926 + AsExpression 639927 639974 + Identifier 639927 639935 + UnionType 639938 639974 + TypeReference 639938 639953 + Identifier 639938 639953 + TypeReference 639955 639974 + Identifier 639955 639974 + CaseClause 639976 640107 + PropertyAccessExpression 639994 640028 + Identifier 639994 640005 + Identifier 640006 640028 + ReturnStatement 640029 640107 + CallExpression 640053 640106 + Identifier 640053 640079 + AsExpression 640080 640105 + PropertyAccessExpression 640080 640091 + Identifier 640080 640084 + Identifier 640085 640091 + TypeReference 640094 640105 + Identifier 640094 640105 + CaseClause 640107 640228 + PropertyAccessExpression 640125 640156 + Identifier 640125 640136 + Identifier 640137 640156 + ReturnStatement 640157 640228 + PropertyAccessExpression 640181 640227 + ParenthesizedExpression 640181 640215 + AsExpression 640183 640214 + Identifier 640183 640191 + TypeReference 640194 640214 + Identifier 640194 640214 + Identifier 640216 640227 + CaseClause 640228 640337 + PropertyAccessExpression 640246 640274 + Identifier 640246 640257 + Identifier 640258 640274 + ReturnStatement 640275 640337 + PropertyAccessExpression 640299 640336 + ParenthesizedExpression 640299 640330 + AsExpression 640301 640329 + Identifier 640301 640309 + TypeReference 640312 640329 + Identifier 640312 640329 + Identifier 640331 640336 + FunctionDeclaration 640355 641142 + Identifier 640371 640400 + Parameter 640401 640485 + Identifier 640401 640405 + UnionType 640406 640485 + TypeReference 640406 640421 + Identifier 640406 640421 + TypeReference 640423 640442 + Identifier 640423 640442 + TypeReference 640444 640472 + Identifier 640444 640472 + TypeReference 640474 640485 + Identifier 640474 640485 + Block 640486 641142 + VariableStatement 640488 640525 + VariableDeclarationList 640488 640524 + VariableDeclaration 640503 640524 + Identifier 640503 640510 + PropertyAccessExpression 640512 640524 + Identifier 640512 640517 + Identifier 640518 640524 + IfStatement 640525 640777 + BinaryExpression 640539 640629 + BinaryExpression 640539 640578 + PropertyAccessExpression 640539 640548 + Identifier 640539 640543 + Identifier 640544 640548 + EqualsEqualsEqualsToken 640548 640552 + PropertyAccessExpression 640552 640578 + Identifier 640552 640563 + Identifier 640564 640578 + AmpersandAmpersandToken 640578 640581 + BinaryExpression 640581 640629 + PropertyAccessExpression 640581 640593 + Identifier 640581 640588 + Identifier 640589 640593 + EqualsEqualsEqualsToken 640593 640597 + PropertyAccessExpression 640597 640629 + Identifier 640597 640608 + Identifier 640609 640629 + Block 640630 640777 + ReturnStatement 640632 640766 + CallExpression 640652 640765 + Identifier 640652 640679 + BinaryExpression 640680 640764 + PropertyAccessExpression 640680 640717 + ParenthesizedExpression 640680 640704 + AsExpression 640681 640703 + Identifier 640681 640685 + TypeReference 640688 640703 + Identifier 640688 640703 + Identifier 640705 640717 + BarBarToken 640717 640720 + AsExpression 640720 640764 + PropertyAccessExpression 640720 640750 + ParenthesizedExpression 640720 640745 + AsExpression 640722 640744 + Identifier 640722 640726 + TypeReference 640729 640744 + Identifier 640729 640744 + Identifier 640746 640750 + TypeReference 640753 640764 + Identifier 640753 640764 + IfStatement 640777 641017 + BinaryExpression 640791 640890 + BinaryExpression 640791 640834 + PropertyAccessExpression 640791 640800 + Identifier 640791 640795 + Identifier 640796 640800 + EqualsEqualsEqualsToken 640800 640804 + PropertyAccessExpression 640804 640834 + Identifier 640804 640815 + Identifier 640816 640834 + BarBarToken 640834 640837 + BinaryExpression 640837 640890 + PropertyAccessExpression 640837 640847 + Identifier 640837 640842 + Identifier 640843 640847 + EqualsEqualsEqualsToken 640847 640851 + PropertyAccessExpression 640851 640890 + Identifier 640851 640862 + Identifier 640863 640890 + Block 640891 641017 + ReturnStatement 640893 641006 + CallExpression 640913 641005 + Identifier 640913 640940 + PropertyAccessExpression 640941 641004 + ParenthesizedExpression 640941 640999 + AsExpression 640942 640998 + Identifier 640942 640946 + UnionType 640949 640998 + TypeReference 640949 640968 + Identifier 640949 640968 + TypeReference 640970 640998 + Identifier 640970 640998 + Identifier 641000 641004 + ReturnStatement 641017 641135 + BinaryExpression 641033 641134 + StringLiteral 641033 641036 + PlusToken 641036 641038 + CallExpression 641038 641134 + PropertyAccessExpression 641038 641128 + ParenthesizedExpression 641038 641120 + AsExpression 641040 641119 + PropertyAccessExpression 641040 641100 + ParenthesizedExpression 641040 641091 + AsExpression 641041 641090 + Identifier 641041 641047 + UnionType 641050 641090 + TypeReference 641050 641065 + Identifier 641050 641065 + TypeReference 641067 641090 + Identifier 641067 641090 + Identifier 641092 641100 + TypeReference 641103 641119 + Identifier 641103 641113 + TypeReference 641114 641118 + Identifier 641114 641118 + Identifier 641121 641128 + Identifier 641129 641133 + FunctionDeclaration 641142 641429 + Identifier 641158 641185 + Parameter 641186 641204 + Identifier 641186 641190 + TypeReference 641191 641204 + Identifier 641191 641204 + Block 641205 641429 + VariableStatement 641207 641267 + VariableDeclarationList 641207 641266 + VariableDeclaration 641222 641266 + Identifier 641222 641227 + CallExpression 641229 641266 + Identifier 641229 641260 + Identifier 641261 641265 + ReturnStatement 641267 641422 + ConditionalExpression 641283 641421 + BinaryExpression 641283 641348 + PropertyAccessExpression 641283 641294 + Identifier 641283 641288 + Identifier 641289 641294 + AmpersandToken 641294 641296 + ParenthesizedExpression 641296 641348 + BinaryExpression 641298 641347 + PropertyAccessExpression 641298 641321 + Identifier 641298 641307 + Identifier 641308 641321 + BarToken 641321 641323 + PropertyAccessExpression 641323 641347 + Identifier 641323 641333 + Identifier 641334 641347 + QuestionToken 641348 641350 + BinaryExpression 641350 641409 + StringLiteral 641350 641353 + PlusToken 641353 641355 + PropertyAccessExpression 641355 641409 + ParenthesizedExpression 641355 641403 + AsExpression 641357 641402 + Identifier 641357 641361 + UnionType 641364 641402 + TypeReference 641364 641382 + Identifier 641364 641382 + TypeReference 641384 641402 + Identifier 641384 641402 + Identifier 641404 641409 + ColonToken 641409 641411 + Identifier 641411 641421 + FunctionDeclaration 641429 641910 + Identifier 641504 641529 + Parameter 641530 641557 + Identifier 641530 641541 + TypeReference 641542 641557 + Identifier 641542 641557 + UnionType 641559 641576 + TypeReference 641559 641564 + Identifier 641559 641564 + UndefinedKeyword 641566 641576 + Block 641576 641910 + VariableStatement 641578 641683 + VariableDeclarationList 641578 641682 + VariableDeclaration 641593 641682 + Identifier 641593 641603 + ConditionalExpression 641605 641682 + PropertyAccessExpression 641605 641632 + Identifier 641605 641617 + Identifier 641618 641632 + QuestionToken 641632 641634 + PropertyAccessExpression 641634 641663 + Identifier 641634 641644 + Identifier 641645 641663 + ColonToken 641663 641665 + PropertyAccessExpression 641665 641682 + Identifier 641665 641675 + Identifier 641676 641682 + VariableStatement 641683 641781 + VariableDeclarationList 641683 641780 + VariableDeclaration 641698 641780 + Identifier 641698 641709 + CallExpression 641711 641780 + Identifier 641711 641742 + PropertyAccessExpression 641743 641768 + PropertyAccessExpression 641743 641761 + Identifier 641743 641754 + Identifier 641755 641761 + Identifier 641762 641768 + Identifier 641769 641779 + ReturnStatement 641781 641903 + BinaryExpression 641797 641902 + Identifier 641797 641808 + AmpersandAmpersandToken 641808 641811 + CallExpression 641811 641902 + Identifier 641811 641847 + Identifier 641848 641859 + Identifier 641860 641871 + FalseKeyword 641872 641901 + FunctionDeclaration 641910 646898 + Identifier 641926 641962 + Parameter 641963 641990 + Identifier 641963 641974 + TypeReference 641975 641990 + Identifier 641975 641990 + Parameter 641991 642008 + Identifier 641991 642002 + TypeReference 642003 642008 + Identifier 642003 642008 + Parameter 642009 642037 + Identifier 642009 642028 + BooleanKeyword 642029 642037 + TypeReference 642039 642044 + Identifier 642039 642044 + Block 642044 646898 + IfStatement 642046 642214 + CallExpression 642147 642168 + Identifier 642147 642156 + Identifier 642157 642167 + Block 642169 642214 + ReturnStatement 642171 642203 + Identifier 642191 642202 + VariableStatement 642214 642259 + VariableDeclarationList 642214 642258 + VariableDeclaration 642229 642258 + Identifier 642229 642237 + PropertyAccessExpression 642239 642258 + Identifier 642239 642251 + Identifier 642252 642258 + IfStatement 642259 642978 + BinaryExpression 642410 642512 + BinaryExpression 642410 642467 + Identifier 642410 642426 + AmpersandAmpersandToken 642426 642429 + BinaryExpression 642429 642467 + PropertyAccessExpression 642429 642447 + Identifier 642429 642441 + Identifier 642442 642447 + AmpersandToken 642447 642449 + PropertyAccessExpression 642449 642467 + Identifier 642449 642459 + Identifier 642460 642467 + AmpersandAmpersandToken 642467 642470 + CallExpression 642470 642512 + Identifier 642470 642499 + Identifier 642500 642511 + Block 642513 642584 + ExpressionStatement 642515 642573 + BinaryExpression 642515 642572 + Identifier 642515 642539 + EqualsToken 642539 642541 + CallExpression 642541 642572 + Identifier 642541 642560 + Identifier 642561 642571 + IfStatement 642742 642978 + BinaryExpression 642747 642885 + BinaryExpression 642747 642793 + Identifier 642747 642763 + AmpersandAmpersandToken 642763 642766 + PropertyAccessExpression 642766 642793 + PropertyAccessExpression 642766 642781 + Identifier 642766 642774 + Identifier 642775 642781 + Identifier 642782 642793 + AmpersandAmpersandToken 642793 642796 + PrefixUnaryExpression 642796 642885 + ParenthesizedExpression 642798 642885 + CallExpression 642799 642884 + Identifier 642799 642811 + CallExpression 642812 642860 + Identifier 642812 642832 + PropertyAccessExpression 642833 642859 + PropertyAccessExpression 642833 642847 + Identifier 642833 642840 + Identifier 642841 642847 + Identifier 642848 642859 + PropertyAccessExpression 642861 642883 + Identifier 642861 642871 + Identifier 642872 642883 + Block 642886 642978 + ExpressionStatement 642888 642967 + BinaryExpression 642888 642966 + Identifier 642888 642912 + EqualsToken 642912 642914 + CallExpression 642914 642966 + Identifier 642914 642931 + Identifier 642932 642942 + PropertyAccessExpression 642943 642965 + Identifier 642943 642953 + Identifier 642954 642965 + VariableStatement 642978 643127 + VariableDeclarationList 642978 643126 + VariableDeclaration 642995 643126 + Identifier 642995 643007 + BinaryExpression 643009 643126 + PropertyAccessExpression 643009 643040 + Identifier 643009 643021 + Identifier 643022 643040 + BarToken 643040 643042 + ParenthesizedExpression 643042 643126 + ConditionalExpression 643044 643125 + BinaryExpression 643044 643094 + Identifier 643044 643062 + BarBarToken 643062 643065 + CallExpression 643065 643094 + Identifier 643065 643081 + Identifier 643082 643093 + QuestionToken 643094 643096 + PropertyAccessExpression 643096 643121 + Identifier 643096 643108 + Identifier 643109 643121 + ColonToken 643121 643123 + NumericLiteral 643123 643125 + VariableStatement 643127 643164 + VariableDeclarationList 643127 643163 + VariableDeclaration 643140 643163 + Identifier 643140 643145 + UnionType 643146 643163 + TypeReference 643146 643151 + Identifier 643146 643151 + UndefinedKeyword 643153 643163 + IfStatement 643164 646186 + BinaryExpression 643178 643226 + PropertyAccessExpression 643178 643190 + Identifier 643178 643185 + Identifier 643186 643190 + EqualsEqualsEqualsToken 643190 643194 + PropertyAccessExpression 643194 643226 + Identifier 643194 643205 + Identifier 643206 643226 + Block 643227 644512 + IfStatement 643229 644501 + PropertyAccessExpression 643247 643273 + Identifier 643247 643258 + Identifier 643259 643273 + Block 643274 644001 + ExpressionStatement 643276 643334 + BinaryExpression 643276 643333 + Identifier 643276 643304 + EqualsToken 643304 643306 + CallExpression 643306 643333 + Identifier 643306 643321 + Identifier 643322 643332 + IfStatement 643334 643590 + BinaryExpression 643356 643426 + BinaryExpression 643356 643392 + PropertyAccessExpression 643356 643372 + Identifier 643356 643366 + Identifier 643367 643372 + AmpersandToken 643372 643374 + PropertyAccessExpression 643374 643392 + Identifier 643374 643384 + Identifier 643385 643392 + BarBarToken 643392 643395 + PrefixUnaryExpression 643395 643426 + CallExpression 643397 643426 + Identifier 643397 643414 + Identifier 643415 643425 + Block 643427 643590 + ExpressionStatement 643429 643532 + CallExpression 643429 643531 + Identifier 643429 643456 + Identifier 643457 643468 + PropertyAccessExpression 643469 643530 + Identifier 643469 643481 + Identifier 643482 643530 + ReturnStatement 643532 643571 + Identifier 643560 643570 + VariableStatement 643590 643650 + VariableDeclarationList 643590 643649 + VariableDeclaration 643613 643649 + Identifier 643613 643628 + ArrayType 643629 643644 + TypeReference 643629 643642 + Identifier 643629 643642 + ArrayLiteralExpression 643646 643649 + ForOfStatement 643650 643901 + VariableDeclarationList 643673 643686 + VariableDeclaration 643678 643686 + Identifier 643678 643686 + PropertyAccessExpression 643689 643706 + Identifier 643689 643697 + Identifier 643698 643706 + Block 643707 643901 + IfStatement 643709 643882 + PrefixUnaryExpression 643735 643758 + PropertyAccessExpression 643736 643758 + Identifier 643736 643743 + Identifier 643744 643758 + Block 643759 643882 + ExpressionStatement 643761 643859 + CallExpression 643761 643858 + PropertyAccessExpression 643761 643806 + Identifier 643761 643801 + Identifier 643802 643806 + BinaryExpression 643807 643857 + PropertyAccessExpression 643807 643827 + Identifier 643807 643814 + Identifier 643815 643827 + BarBarToken 643827 643830 + AsExpression 643830 643857 + PropertyAccessExpression 643830 643843 + Identifier 643830 643838 + Identifier 643839 643843 + TypeReference 643846 643857 + Identifier 643846 643857 + ExpressionStatement 643901 643986 + BinaryExpression 643901 643985 + Identifier 643901 643923 + EqualsToken 643923 643925 + CallExpression 643925 643985 + Identifier 643925 643937 + Identifier 643938 643948 + Identifier 643949 643964 + PropertyAccessExpression 643965 643984 + Identifier 643965 643977 + Identifier 643978 643984 + Block 644019 644501 + VariableStatement 644021 644232 + VariableDeclarationList 644021 644231 + VariableDeclaration 644165 644231 + Identifier 644165 644170 + BinaryExpression 644172 644231 + PropertyAccessExpression 644172 644197 + Identifier 644172 644184 + Identifier 644185 644197 + BarBarToken 644197 644200 + AsExpression 644200 644231 + PropertyAccessExpression 644200 644217 + Identifier 644200 644212 + Identifier 644213 644217 + TypeReference 644220 644231 + Identifier 644220 644231 + VariableStatement 644232 644305 + VariableDeclarationList 644232 644304 + VariableDeclaration 644255 644304 + Identifier 644255 644265 + CallExpression 644267 644304 + Identifier 644267 644298 + Identifier 644299 644303 + VariableStatement 644305 644407 + VariableDeclarationList 644305 644406 + VariableDeclaration 644328 644406 + Identifier 644328 644341 + CallExpression 644343 644406 + Identifier 644343 644364 + Identifier 644365 644375 + Identifier 644376 644386 + Identifier 644387 644399 + Identifier 644400 644405 + ExpressionStatement 644407 644486 + BinaryExpression 644407 644485 + Identifier 644407 644429 + EqualsToken 644429 644431 + CallExpression 644431 644485 + Identifier 644431 644458 + Identifier 644459 644470 + Identifier 644471 644484 + Block 644526 646186 + VariableStatement 644528 645013 + VariableDeclarationList 644528 645012 + VariableDeclaration 644833 645012 + Identifier 644833 644845 + CallExpression 644847 645012 + Identifier 644847 644878 + BinaryExpression 644879 644975 + PropertyAccessExpression 644879 644905 + Identifier 644879 644891 + Identifier 644892 644905 + BarToken 644905 644907 + ParenthesizedExpression 644907 644975 + ConditionalExpression 644909 644974 + PropertyAccessExpression 644909 644935 + Identifier 644909 644920 + Identifier 644921 644935 + QuestionToken 644935 644937 + NumericLiteral 644937 644939 + ColonToken 644939 644941 + PropertyAccessExpression 644941 644974 + Identifier 644941 644954 + Identifier 644955 644974 + Identifier 644976 644987 + Identifier 644988 645002 + Identifier 645003 645011 + VariableStatement 645013 645079 + VariableDeclarationList 645013 645078 + VariableDeclaration 645032 645078 + Identifier 645032 645038 + CallExpression 645040 645078 + PropertyAccessExpression 645040 645065 + PropertyAccessExpression 645040 645057 + Identifier 645040 645048 + Identifier 645049 645057 + Identifier 645058 645065 + Identifier 645066 645077 + IfStatement 645079 646175 + PropertyAccessExpression 645097 645123 + Identifier 645097 645108 + Identifier 645109 645123 + Block 645124 645754 + VariableStatement 645126 645523 + VariableDeclarationList 645126 645522 + VariableDeclaration 645401 645522 + Identifier 645401 645416 + CallExpression 645418 645522 + Identifier 645418 645426 + Identifier 645427 645437 + ArrowFunction 645438 645521 + Parameter 645438 645440 + Identifier 645438 645440 + EqualsGreaterThanToken 645440 645443 + ConditionalExpression 645443 645521 + BinaryExpression 645443 645488 + PropertyAccessExpression 645443 645451 + Identifier 645443 645445 + Identifier 645446 645451 + AmpersandToken 645451 645453 + PropertyAccessExpression 645453 645488 + Identifier 645453 645463 + Identifier 645464 645488 + QuestionToken 645488 645490 + CallExpression 645490 645517 + Identifier 645490 645514 + Identifier 645515 645516 + ColonToken 645517 645519 + Identifier 645519 645521 + ExpressionStatement 645523 645739 + BinaryExpression 645523 645738 + Identifier 645523 645545 + EqualsToken 645545 645547 + ConditionalExpression 645547 645738 + CallExpression 645547 645586 + Identifier 645547 645557 + Identifier 645558 645572 + Identifier 645573 645585 + QuestionToken 645586 645588 + CallExpression 645588 645686 + Identifier 645588 645617 + Identifier 645618 645632 + ArrowFunction 645633 645685 + Parameter 645633 645635 + Identifier 645633 645635 + EqualsGreaterThanToken 645635 645638 + CallExpression 645638 645685 + Identifier 645638 645653 + AsExpression 645654 645677 + Identifier 645654 645655 + TypeReference 645658 645677 + Identifier 645658 645677 + Identifier 645678 645684 + ColonToken 645686 645688 + CallExpression 645688 645738 + Identifier 645688 645725 + Identifier 645726 645737 + IfStatement 645772 646175 + CallExpression 645777 645804 + Identifier 645777 645792 + Identifier 645793 645803 + Block 645805 646103 + VariableStatement 645807 645871 + VariableDeclarationList 645807 645870 + VariableDeclaration 645830 645870 + Identifier 645830 645840 + CallExpression 645842 645870 + Identifier 645842 645863 + Identifier 645864 645869 + VariableStatement 645871 646009 + VariableDeclarationList 645871 646008 + VariableDeclaration 645894 646008 + Identifier 645894 645907 + BinaryExpression 645909 646008 + CallExpression 645909 645995 + Identifier 645909 645941 + Identifier 645942 645952 + Identifier 645953 645963 + Identifier 645964 645976 + PropertyAccessExpression 645977 645994 + Identifier 645977 645989 + Identifier 645990 645994 + BarBarToken 645995 645998 + Identifier 645998 646008 + ExpressionStatement 646009 646088 + BinaryExpression 646009 646087 + Identifier 646009 646031 + EqualsToken 646031 646033 + CallExpression 646033 646087 + Identifier 646033 646060 + Identifier 646061 646072 + Identifier 646073 646086 + Block 646121 646175 + ExpressionStatement 646123 646160 + BinaryExpression 646123 646159 + Identifier 646123 646145 + EqualsToken 646145 646147 + Identifier 646147 646159 + IfStatement 646186 646264 + PrefixUnaryExpression 646200 646224 + PropertyAccessExpression 646201 646224 + Identifier 646201 646212 + Identifier 646213 646224 + Block 646225 646264 + ReturnStatement 646227 646253 + Identifier 646247 646252 + IfStatement 646264 646701 + CallExpression 646278 646355 + Identifier 646278 646308 + CallExpression 646309 646354 + Identifier 646309 646341 + Identifier 646342 646353 + Block 646356 646701 + ReturnStatement 646358 646690 + ConditionalExpression 646535 646689 + BinaryExpression 646535 646654 + Identifier 646535 646552 + AmpersandAmpersandToken 646552 646555 + PrefixUnaryExpression 646555 646654 + ParenthesizedExpression 646557 646654 + CallExpression 646558 646653 + Identifier 646558 646570 + CallExpression 646571 646629 + Identifier 646571 646598 + Identifier 646599 646610 + PropertyAccessExpression 646611 646628 + Identifier 646611 646621 + Identifier 646622 646628 + PropertyAccessExpression 646630 646652 + Identifier 646630 646640 + Identifier 646641 646652 + QuestionToken 646654 646656 + CallExpression 646656 646682 + Identifier 646656 646676 + Identifier 646677 646681 + ColonToken 646682 646684 + Identifier 646684 646689 + ReturnStatement 646701 646891 + CallExpression 646717 646890 + Identifier 646717 646750 + Identifier 646751 646762 + CallExpression 646763 646889 + Identifier 646763 646776 + ArrayLiteralExpression 646777 646864 + CallExpression 646778 646803 + Identifier 646778 646797 + Identifier 646798 646802 + CallExpression 646804 646863 + Identifier 646804 646832 + Identifier 646833 646844 + PropertyAccessExpression 646845 646862 + Identifier 646845 646855 + Identifier 646856 646862 + PropertyAccessExpression 646865 646888 + Identifier 646865 646880 + Identifier 646881 646888 + FunctionDeclaration 646898 647150 + Identifier 646914 646952 + Parameter 646953 646970 + Identifier 646953 646964 + TypeReference 646965 646970 + Identifier 646965 646970 + Block 646971 647150 + VariableStatement 646973 647027 + VariableDeclarationList 646973 647026 + VariableDeclaration 646988 647026 + Identifier 646988 646998 + CallExpression 647000 647026 + Identifier 647000 647013 + Identifier 647014 647025 + IfStatement 647027 647116 + Identifier 647041 647050 + Block 647051 647116 + ReturnStatement 647053 647105 + CallExpression 647073 647104 + Identifier 647073 647093 + Identifier 647094 647103 + ReturnStatement 647116 647143 + Identifier 647132 647142 + FunctionDeclaration 647150 647447 + Identifier 647166 647184 + Parameter 647185 647201 + Identifier 647185 647189 + TypeReference 647190 647201 + Identifier 647190 647201 + Block 647202 647447 + VariableStatement 647204 647286 + VariableDeclarationList 647204 647285 + VariableDeclaration 647219 647285 + Identifier 647219 647224 + CallExpression 647226 647285 + Identifier 647226 647242 + Identifier 647243 647247 + TrueKeyword 647248 647284 + ReturnStatement 647286 647440 + BinaryExpression 647302 647439 + BinaryExpression 647302 647339 + PropertyAccessExpression 647302 647312 + Identifier 647302 647307 + Identifier 647308 647312 + EqualsEqualsEqualsToken 647312 647316 + PropertyAccessExpression 647316 647339 + Identifier 647316 647327 + Identifier 647328 647339 + BarBarToken 647339 647342 + BinaryExpression 647342 647439 + BinaryExpression 647342 647378 + PropertyAccessExpression 647342 647352 + Identifier 647342 647347 + Identifier 647348 647352 + EqualsEqualsEqualsToken 647352 647356 + PropertyAccessExpression 647356 647378 + Identifier 647356 647367 + Identifier 647368 647378 + AmpersandAmpersandToken 647378 647381 + BinaryExpression 647381 647439 + CallExpression 647381 647419 + Identifier 647381 647399 + AsExpression 647400 647418 + Identifier 647400 647404 + TypeReference 647407 647418 + Identifier 647407 647418 + EqualsEqualsEqualsToken 647419 647423 + Identifier 647423 647439 + FunctionDeclaration 647447 647715 + Identifier 647463 647483 + Parameter 647484 647500 + Identifier 647484 647488 + TypeReference 647489 647500 + Identifier 647489 647500 + Block 647501 647715 + VariableStatement 647503 647585 + VariableDeclarationList 647503 647584 + VariableDeclaration 647518 647584 + Identifier 647518 647523 + CallExpression 647525 647584 + Identifier 647525 647541 + Identifier 647542 647546 + TrueKeyword 647547 647583 + ReturnStatement 647585 647708 + BinaryExpression 647601 647707 + BinaryExpression 647601 647649 + PropertyAccessExpression 647601 647611 + Identifier 647601 647606 + Identifier 647607 647611 + EqualsEqualsEqualsToken 647611 647615 + PropertyAccessExpression 647615 647649 + Identifier 647615 647626 + Identifier 647627 647649 + AmpersandAmpersandToken 647649 647652 + BinaryExpression 647652 647707 + PropertyAccessExpression 647652 647701 + PropertyAccessExpression 647652 647694 + ParenthesizedExpression 647652 647685 + AsExpression 647654 647684 + Identifier 647654 647658 + TypeReference 647661 647684 + Identifier 647661 647684 + Identifier 647686 647694 + Identifier 647695 647701 + EqualsEqualsEqualsToken 647701 647705 + NumericLiteral 647705 647707 + FunctionDeclaration 647715 647903 + Identifier 647731 647746 + Parameter 647747 647757 + Identifier 647747 647751 + TypeReference 647752 647757 + Identifier 647752 647757 + Parameter 647758 647777 + Identifier 647758 647769 + FalseKeyword 647771 647777 + Parameter 647778 647796 + Identifier 647778 647789 + TrueKeyword 647791 647796 + TypeReference 647798 647803 + Identifier 647798 647803 + Block 647803 647903 + ReturnStatement 647805 647896 + ConditionalExpression 647821 647895 + BinaryExpression 647821 647852 + Identifier 647821 647838 + AmpersandAmpersandToken 647838 647841 + Identifier 647841 647852 + QuestionToken 647852 647854 + CallExpression 647854 647888 + Identifier 647854 647870 + Identifier 647871 647875 + Identifier 647876 647887 + ColonToken 647888 647890 + Identifier 647890 647895 + FunctionDeclaration 647903 656548 + Identifier 648003 648037 + Parameter 648038 648185 + Identifier 648038 648059 + UnionType 648060 648185 + TypeReference 648060 648081 + Identifier 648060 648081 + TypeReference 648083 648103 + Identifier 648083 648103 + TypeReference 648105 648123 + Identifier 648105 648123 + TypeReference 648125 648145 + Identifier 648125 648145 + TypeReference 648147 648162 + Identifier 648147 648162 + TypeReference 648164 648185 + Identifier 648164 648185 + Parameter 648186 648223 + Identifier 648186 648214 + BooleanKeyword 648215 648223 + Parameter 648224 648254 + Identifier 648224 648243 + TypeReference 648244 648254 + Identifier 648244 648254 + UnionType 648263 648280 + TypeReference 648263 648268 + Identifier 648263 648268 + UndefinedKeyword 648270 648280 + Block 648280 656548 + IfStatement 648282 648856 + BinaryExpression 648461 648559 + CallExpression 648461 648495 + Identifier 648461 648482 + Identifier 648483 648494 + AmpersandAmpersandToken 648495 648498 + BinaryExpression 648498 648559 + PropertyAccessExpression 648498 648529 + PropertyAccessExpression 648498 648524 + PropertyAccessExpression 648498 648517 + Identifier 648498 648510 + Identifier 648511 648517 + Identifier 648518 648524 + Identifier 648525 648529 + EqualsEqualsEqualsToken 648529 648533 + PropertyAccessExpression 648533 648559 + Identifier 648533 648544 + Identifier 648545 648559 + Block 648560 648856 + VariableStatement 648562 648715 + VariableDeclarationList 648562 648714 + VariableDeclaration 648581 648714 + Identifier 648581 648591 + CallExpression 648593 648714 + Identifier 648593 648606 + CallExpression 648607 648713 + Identifier 648607 648633 + CallExpression 648634 648712 + Identifier 648634 648649 + PropertyAccessExpression 648650 648686 + PropertyAccessExpression 648650 648675 + PropertyAccessExpression 648650 648668 + Identifier 648650 648661 + Identifier 648662 648668 + Identifier 648669 648675 + Identifier 648676 648686 + Identifier 648687 648711 + ReturnStatement 648715 648845 + ConditionalExpression 648735 648844 + BinaryExpression 648735 648797 + PropertyAccessExpression 648735 648751 + Identifier 648735 648745 + Identifier 648746 648751 + AmpersandToken 648751 648753 + ParenthesizedExpression 648753 648797 + BinaryExpression 648755 648796 + PropertyAccessExpression 648755 648778 + Identifier 648755 648764 + Identifier 648765 648778 + BarToken 648778 648780 + PropertyAccessExpression 648780 648796 + Identifier 648780 648790 + Identifier 648791 648796 + QuestionToken 648797 648799 + CallExpression 648799 648831 + Identifier 648799 648820 + Identifier 648821 648830 + ColonToken 648831 648833 + Identifier 648833 648844 + IfStatement 648856 649485 + BinaryExpression 648872 648970 + CallExpression 648872 648906 + Identifier 648872 648893 + Identifier 648894 648905 + AmpersandAmpersandToken 648906 648909 + BinaryExpression 648909 648970 + PropertyAccessExpression 648909 648940 + PropertyAccessExpression 648909 648935 + PropertyAccessExpression 648909 648928 + Identifier 648909 648921 + Identifier 648922 648928 + Identifier 648929 648935 + Identifier 648936 648940 + EqualsEqualsEqualsToken 648940 648944 + PropertyAccessExpression 648944 648970 + Identifier 648944 648955 + Identifier 648956 648970 + Block 648971 649485 + VariableStatement 648973 649400 + VariableDeclarationList 648973 649399 + VariableDeclaration 649356 649399 + Identifier 649356 649371 + PropertyAccessExpression 649373 649399 + PropertyAccessExpression 649373 649392 + Identifier 649373 649385 + Identifier 649386 649392 + Identifier 649393 649399 + ReturnStatement 649400 649474 + BinaryExpression 649420 649473 + CallExpression 649420 649462 + Identifier 649420 649446 + Identifier 649447 649461 + BarBarToken 649462 649465 + Identifier 649465 649473 + IfStatement 649485 649628 + CallExpression 649501 649537 + Identifier 649501 649517 + PropertyAccessExpression 649518 649536 + Identifier 649518 649529 + Identifier 649530 649536 + Block 649538 649628 + ReturnStatement 649540 649617 + CallExpression 649560 649616 + Identifier 649560 649585 + AsExpression 649586 649615 + Identifier 649586 649597 + TypeReference 649600 649615 + Identifier 649600 649615 + VariableStatement 649628 649804 + VariableDeclarationList 649628 649803 + VariableDeclaration 649645 649803 + Identifier 649645 649656 + BinaryExpression 649658 649803 + BinaryExpression 649658 649768 + ParenthesizedExpression 649658 649732 + BinaryExpression 649660 649731 + CallExpression 649660 649694 + Identifier 649660 649681 + Identifier 649682 649693 + AmpersandAmpersandToken 649694 649697 + PrefixUnaryExpression 649697 649731 + CallExpression 649699 649731 + Identifier 649699 649718 + Identifier 649719 649730 + BarBarToken 649732 649735 + CallExpression 649735 649768 + Identifier 649735 649755 + Identifier 649756 649767 + BarBarToken 649768 649771 + CallExpression 649771 649803 + Identifier 649771 649790 + Identifier 649791 649802 + VariableStatement 649804 649890 + VariableDeclarationList 649804 649889 + VariableDeclaration 649819 649889 + Identifier 649819 649830 + BinaryExpression 649832 649889 + Identifier 649832 649851 + AmpersandAmpersandToken 649851 649854 + CallExpression 649854 649889 + Identifier 649854 649876 + Identifier 649877 649888 + VariableStatement 649890 650028 + VariableDeclarationList 649890 650027 + VariableDeclaration 649967 650027 + Identifier 649967 649980 + CallExpression 649982 650027 + Identifier 649982 650014 + Identifier 650015 650026 + IfStatement 650028 650649 + CallExpression 650042 650103 + Identifier 650042 650090 + Identifier 650091 650102 + Block 650104 650649 + IfStatement 650106 650375 + Identifier 650124 650136 + Block 650137 650375 + ReturnStatement 650139 650360 + ConditionalExpression 650276 650359 + BinaryExpression 650276 650332 + CallExpression 650276 650300 + Identifier 650276 650286 + Identifier 650287 650299 + BarBarToken 650300 650303 + BinaryExpression 650303 650332 + Identifier 650303 650316 + EqualsEqualsEqualsToken 650316 650320 + Identifier 650320 650332 + QuestionToken 650332 650334 + Identifier 650334 650347 + ColonToken 650347 650349 + Identifier 650349 650359 + ReturnStatement 650375 650638 + ConditionalExpression 650586 650637 + Identifier 650586 650613 + QuestionToken 650613 650615 + Identifier 650615 650627 + ColonToken 650627 650629 + Identifier 650629 650637 + IfStatement 650649 650763 + Identifier 650663 650675 + Block 650676 650763 + ReturnStatement 650678 650752 + CallExpression 650698 650751 + Identifier 650698 650713 + Identifier 650714 650726 + Identifier 650727 650738 + Identifier 650739 650750 + IfStatement 650763 651849 + BinaryExpression 650779 651055 + BinaryExpression 650779 651011 + BinaryExpression 650779 650925 + BinaryExpression 650779 650886 + ParenthesizedExpression 650779 650835 + BinaryExpression 650794 650834 + Identifier 650794 650807 + BarBarToken 650807 650810 + CallExpression 650810 650834 + Identifier 650810 650821 + Identifier 650822 650833 + AmpersandAmpersandToken 650835 650838 + CallExpression 650838 650886 + Identifier 650838 650873 + Identifier 650874 650885 + AmpersandAmpersandToken 650886 650889 + PrefixUnaryExpression 650889 650925 + CallExpression 650891 650925 + Identifier 650891 650907 + PropertyAccessExpression 650908 650924 + Identifier 650908 650919 + Identifier 650920 650924 + AmpersandAmpersandToken 650925 650928 + PrefixUnaryExpression 650928 651011 + ParenthesizedExpression 650943 651011 + BinaryExpression 650944 651010 + CallExpression 650944 650987 + Identifier 650944 650974 + Identifier 650975 650986 + AmpersandToken 650987 650989 + PropertyAccessExpression 650989 651010 + Identifier 650989 651003 + Identifier 651004 651010 + AmpersandAmpersandToken 651011 651014 + PrefixUnaryExpression 651014 651055 + ParenthesizedExpression 651016 651055 + BinaryExpression 651017 651054 + PropertyAccessExpression 651017 651034 + Identifier 651017 651028 + Identifier 651029 651034 + AmpersandToken 651034 651036 + PropertyAccessExpression 651036 651054 + Identifier 651036 651046 + Identifier 651047 651054 + Block 651066 651849 + IfStatement 651068 651541 + BinaryExpression 651350 651489 + PrefixUnaryExpression 651350 651413 + ParenthesizedExpression 651351 651413 + BinaryExpression 651352 651412 + CallExpression 651352 651391 + Identifier 651352 651378 + Identifier 651379 651390 + AmpersandToken 651391 651393 + PropertyAccessExpression 651393 651412 + Identifier 651393 651403 + Identifier 651404 651412 + AmpersandAmpersandToken 651413 651416 + ParenthesizedExpression 651416 651489 + BinaryExpression 651418 651488 + PrefixUnaryExpression 651418 651442 + PropertyAccessExpression 651419 651442 + Identifier 651419 651430 + Identifier 651431 651442 + BarBarToken 651442 651445 + CallExpression 651445 651488 + Identifier 651445 651463 + PropertyAccessExpression 651464 651487 + Identifier 651464 651475 + Identifier 651476 651487 + Block 651490 651541 + ReturnStatement 651492 651526 + Identifier 651516 651525 + IfStatement 651541 651838 + BinaryExpression 651710 651781 + PropertyAccessExpression 651710 651733 + Identifier 651710 651721 + Identifier 651722 651733 + AmpersandAmpersandToken 651733 651736 + CallExpression 651736 651781 + Identifier 651736 651756 + PropertyAccessExpression 651757 651780 + Identifier 651757 651768 + Identifier 651769 651780 + Block 651782 651838 + ReturnStatement 651784 651823 + Identifier 651808 651822 + IfStatement 651849 653616 + CallExpression 651865 651889 + Identifier 651865 651876 + Identifier 651877 651888 + Block 651890 653616 + IfStatement 651892 652069 + PrefixUnaryExpression 651910 651929 + PropertyAccessExpression 651911 651929 + Identifier 651911 651922 + Identifier 651923 651929 + Block 651930 652069 + ReturnStatement 651932 652054 + VariableStatement 652069 652142 + VariableDeclarationList 652069 652141 + VariableDeclaration 652088 652141 + Identifier 652088 652093 + AsExpression 652095 652141 + PropertyAccessExpression 652095 652114 + Identifier 652095 652107 + Identifier 652108 652114 + TypeReference 652117 652141 + Identifier 652117 652141 + IfStatement 652142 653083 + BinaryExpression 652262 652323 + BinaryExpression 652262 652298 + PropertyAccessExpression 652262 652271 + Identifier 652262 652266 + Identifier 652267 652271 + EqualsEqualsEqualsToken 652271 652275 + PropertyAccessExpression 652275 652298 + Identifier 652275 652286 + Identifier 652287 652298 + AmpersandAmpersandToken 652298 652301 + CallExpression 652301 652323 + Identifier 652301 652317 + Identifier 652318 652322 + Block 652324 653083 + VariableStatement 652326 652469 + VariableDeclarationList 652326 652468 + VariableDeclaration 652349 652468 + Identifier 652349 652356 + CallExpression 652358 652468 + Identifier 652358 652379 + TypeReference 652380 652399 + Identifier 652380 652399 + CallExpression 652401 652443 + Identifier 652401 652423 + PropertyAccessExpression 652424 652442 + Identifier 652424 652435 + Identifier 652436 652442 + PropertyAccessExpression 652444 652467 + Identifier 652444 652455 + Identifier 652456 652467 + IfStatement 652469 653068 + Identifier 652491 652497 + Block 652498 653068 + VariableStatement 652500 652582 + VariableDeclarationList 652500 652581 + VariableDeclaration 652527 652581 + Identifier 652527 652543 + CallExpression 652545 652581 + Identifier 652545 652573 + Identifier 652574 652580 + VariableStatement 652582 652680 + VariableDeclarationList 652582 652679 + VariableDeclaration 652609 652679 + Identifier 652609 652623 + CallExpression 652625 652679 + Identifier 652625 652650 + AsExpression 652651 652678 + Identifier 652651 652655 + TypeReference 652658 652678 + Identifier 652658 652678 + IfStatement 652680 652978 + BinaryExpression 652706 652752 + Identifier 652706 652719 + AmpersandAmpersandToken 652719 652722 + BinaryExpression 652722 652752 + Identifier 652722 652734 + EqualsEqualsEqualsToken 652734 652738 + Identifier 652738 652752 + Block 652753 652978 + ExpressionStatement 652755 652874 + CallExpression 652755 652873 + PropertyAccessExpression 652755 652852 + Identifier 652755 652845 + Identifier 652846 652852 + PrefixUnaryExpression 652853 652872 + PropertyAccessExpression 652854 652872 + Identifier 652854 652867 + Identifier 652868 652872 + ReturnStatement 652874 652955 + CallExpression 652906 652954 + Identifier 652906 652922 + NonNullExpression 652923 652953 + PropertyAccessExpression 652923 652952 + Identifier 652923 652938 + Identifier 652939 652952 + ReturnStatement 652978 653049 + CallExpression 653006 653048 + Identifier 653006 653031 + Identifier 653032 653047 + VariableStatement 653083 653173 + VariableDeclarationList 653083 653172 + VariableDeclaration 653102 653172 + Identifier 653102 653125 + CallExpression 653127 653172 + Identifier 653127 653153 + Identifier 653154 653158 + Identifier 653159 653171 + IfStatement 653173 653245 + Identifier 653191 653213 + ReturnStatement 653214 653245 + Identifier 653221 653244 + VariableStatement 653245 653485 + VariableDeclarationList 653245 653484 + VariableDeclaration 653330 653484 + Identifier 653330 653335 + ConditionalExpression 653337 653484 + BinaryExpression 653337 653396 + PropertyAccessExpression 653337 653368 + PropertyAccessExpression 653337 653356 + Identifier 653337 653349 + Identifier 653350 653356 + Identifier 653357 653368 + EqualsEqualsEqualsToken 653368 653372 + PropertyAccessExpression 653372 653396 + Identifier 653372 653391 + Identifier 653392 653396 + QuestionToken 653396 653398 + CallExpression 653398 653435 + Identifier 653398 653429 + Identifier 653430 653434 + ColonToken 653435 653437 + CallExpression 653437 653484 + Identifier 653437 653471 + Identifier 653472 653483 + IfStatement 653485 653605 + Identifier 653503 653507 + Block 653508 653605 + ReturnStatement 653510 653590 + CallExpression 653534 653589 + Identifier 653534 653549 + Identifier 653550 653554 + FalseKeyword 653555 653576 + Identifier 653577 653588 + IfStatement 653616 654430 + BinaryExpression 653789 653859 + CallExpression 653789 653830 + Identifier 653789 653817 + Identifier 653818 653829 + AmpersandAmpersandToken 653830 653833 + PrefixUnaryExpression 653833 653859 + PrefixUnaryExpression 653835 653859 + PropertyAccessExpression 653836 653859 + Identifier 653836 653847 + Identifier 653848 653859 + Block 653860 654430 + IfStatement 653862 654227 + BinaryExpression 653880 653932 + CallExpression 653880 653903 + Identifier 653880 653890 + Identifier 653891 653902 + AmpersandAmpersandToken 653903 653906 + PrefixUnaryExpression 653906 653932 + CallExpression 653908 653932 + Identifier 653908 653919 + Identifier 653920 653931 + Block 653933 654227 + VariableStatement 653935 654100 + VariableDeclarationList 653935 654099 + VariableDeclaration 653958 654099 + Identifier 653958 653978 + CallExpression 653980 654099 + Identifier 653980 654005 + Identifier 654006 654017 + CallExpression 654018 654054 + Identifier 654018 654041 + Identifier 654042 654053 + CallExpression 654055 654098 + Identifier 654055 654085 + Identifier 654086 654097 + IfStatement 654100 654212 + Identifier 654122 654141 + Block 654142 654212 + ReturnStatement 654144 654193 + Identifier 654172 654192 + VariableStatement 654227 654353 + VariableDeclarationList 654227 654352 + VariableDeclaration 654246 654352 + Identifier 654246 654251 + CallExpression 654253 654352 + Identifier 654253 654286 + Identifier 654287 654298 + CallExpression 654299 654351 + Identifier 654299 654327 + Identifier 654328 654339 + Identifier 654340 654350 + ReturnStatement 654353 654419 + CallExpression 654373 654418 + Identifier 654373 654388 + Identifier 654389 654393 + Identifier 654394 654405 + Identifier 654406 654417 + IfStatement 654430 655826 + BinaryExpression 654446 654526 + CallExpression 654446 654480 + Identifier 654446 654467 + Identifier 654468 654479 + AmpersandAmpersandToken 654480 654483 + ParenthesizedExpression 654483 654526 + BinaryExpression 654485 654525 + Identifier 654485 654498 + BarBarToken 654498 654501 + CallExpression 654501 654525 + Identifier 654501 654512 + Identifier 654513 654524 + Block 654527 655826 + IfStatement 654529 655815 + PrefixUnaryExpression 654811 654842 + CallExpression 654812 654842 + Identifier 654812 654829 + Identifier 654830 654841 + Block 654843 655305 + VariableStatement 654845 654930 + VariableDeclarationList 654845 654929 + VariableDeclaration 654868 654929 + Identifier 654868 654880 + CallExpression 654882 654929 + Identifier 654882 654909 + PropertyAccessExpression 654910 654928 + Identifier 654910 654921 + Identifier 654922 654928 + VariableStatement 654930 655203 + VariableDeclarationList 654930 655202 + VariableDeclaration 654953 655202 + Identifier 654953 654958 + ConditionalExpression 654960 655202 + Identifier 654960 654972 + QuestionToken 654972 654974 + CallExpression 654974 655032 + Identifier 654974 654999 + PropertyAccessExpression 655000 655018 + Identifier 655000 655011 + Identifier 655012 655018 + Identifier 655019 655031 + ColonToken 655032 655034 + ConditionalExpression 655034 655202 + BinaryExpression 655034 655118 + CallExpression 655034 655094 + Identifier 655034 655081 + Identifier 655082 655093 + AmpersandToken 655094 655096 + PropertyAccessExpression 655096 655118 + Identifier 655096 655110 + Identifier 655111 655118 + QuestionToken 655118 655120 + CallExpression 655120 655169 + Identifier 655120 655149 + PropertyAccessExpression 655150 655168 + Identifier 655150 655161 + Identifier 655162 655168 + ColonToken 655169 655171 + Identifier 655171 655202 + ReturnStatement 655203 655290 + BinaryExpression 655227 655289 + Identifier 655227 655232 + AmpersandAmpersandToken 655232 655235 + CallExpression 655235 655289 + Identifier 655235 655250 + Identifier 655251 655255 + TrueKeyword 655256 655276 + Identifier 655277 655288 + Block 655323 655815 + VariableStatement 655325 655430 + VariableDeclarationList 655325 655429 + VariableDeclaration 655348 655429 + Identifier 655348 655361 + CallExpression 655363 655429 + Identifier 655363 655370 + PropertyAccessExpression 655371 655397 + PropertyAccessExpression 655371 655389 + Identifier 655371 655382 + Identifier 655383 655389 + Identifier 655390 655397 + Identifier 655398 655428 + VariableStatement 655430 655713 + VariableDeclarationList 655430 655712 + VariableDeclaration 655453 655712 + Identifier 655453 655458 + ConditionalExpression 655460 655712 + PropertyAccessExpression 655460 655480 + Identifier 655460 655473 + Identifier 655474 655480 + QuestionToken 655480 655482 + CallExpression 655482 655542 + Identifier 655482 655508 + PropertyAccessExpression 655509 655527 + Identifier 655509 655520 + Identifier 655521 655527 + Identifier 655528 655541 + ColonToken 655542 655544 + ConditionalExpression 655544 655712 + BinaryExpression 655544 655628 + CallExpression 655544 655604 + Identifier 655544 655591 + Identifier 655592 655603 + AmpersandToken 655604 655606 + PropertyAccessExpression 655606 655628 + Identifier 655606 655620 + Identifier 655621 655628 + QuestionToken 655628 655630 + CallExpression 655630 655679 + Identifier 655630 655659 + PropertyAccessExpression 655660 655678 + Identifier 655660 655671 + Identifier 655672 655678 + ColonToken 655679 655681 + Identifier 655681 655712 + ReturnStatement 655713 655800 + BinaryExpression 655737 655799 + Identifier 655737 655742 + AmpersandAmpersandToken 655742 655745 + CallExpression 655745 655799 + Identifier 655745 655760 + Identifier 655761 655765 + TrueKeyword 655766 655786 + Identifier 655787 655798 + IfStatement 655826 656098 + CallExpression 655842 655869 + Identifier 655842 655856 + Identifier 655857 655868 + Block 655870 656098 + ReturnStatement 655872 656087 + Identifier 656077 656086 + IfStatement 656098 656454 + CallExpression 656286 656320 + Identifier 656286 656302 + PropertyAccessExpression 656303 656319 + Identifier 656303 656314 + Identifier 656315 656319 + Block 656321 656454 + ReturnStatement 656323 656443 + CallExpression 656343 656442 + Identifier 656343 656369 + PropertyAccessExpression 656370 656386 + Identifier 656370 656381 + Identifier 656382 656386 + FalseKeyword 656387 656418 + TrueKeyword 656419 656441 + ReturnStatement 656454 656541 + Identifier 656530 656540 + FunctionDeclaration 656548 657843 + Identifier 656564 656594 + Parameter 656595 656609 + Identifier 656595 656601 + TypeReference 656602 656609 + Identifier 656602 656609 + Block 656610 657843 + IfStatement 656612 657813 + BinaryExpression 656905 656975 + PropertyAccessExpression 656905 656928 + Identifier 656905 656911 + Identifier 656912 656928 + AmpersandAmpersandToken 656928 656931 + CallExpression 656931 656975 + Identifier 656931 656950 + PropertyAccessExpression 656951 656974 + Identifier 656951 656957 + Identifier 656958 656974 + Block 656976 657813 + VariableStatement 656978 657029 + VariableDeclarationList 656978 657028 + VariableDeclaration 656997 657028 + Identifier 656997 657003 + CallExpression 657005 657028 + Identifier 657005 657020 + Identifier 657021 657027 + IfStatement 657029 657745 + BinaryExpression 657047 657096 + PropertyAccessExpression 657047 657082 + Identifier 657047 657052 + Identifier 657053 657082 + EqualsEqualsEqualsToken 657082 657086 + Identifier 657086 657096 + Block 657097 657745 + ExpressionStatement 657099 657161 + BinaryExpression 657099 657160 + PropertyAccessExpression 657099 657152 + Identifier 657099 657122 + Identifier 657123 657152 + EqualsToken 657152 657154 + FalseKeyword 657154 657160 + ExpressionStatement 657161 657730 + BinaryExpression 657161 657729 + PropertyAccessExpression 657161 657214 + Identifier 657161 657184 + Identifier 657185 657214 + EqualsToken 657214 657216 + BinaryExpression 657216 657729 + PrefixUnaryExpression 657216 657250 + PrefixUnaryExpression 657218 657250 + CallExpression 657219 657250 + Identifier 657219 657242 + Identifier 657243 657249 + AmpersandAmpersandToken 657250 657253 + CallExpression 657253 657729 + Identifier 657253 657259 + PropertyAccessExpression 657260 657279 + Identifier 657260 657266 + Identifier 657267 657279 + ArrowFunction 657280 657728 + Parameter 657280 657292 + Identifier 657280 657292 + EqualsGreaterThanToken 657292 657295 + BinaryExpression 657295 657728 + BinaryExpression 657295 657600 + BinaryExpression 657295 657415 + CallExpression 657295 657348 + Identifier 657295 657335 + Identifier 657336 657347 + AmpersandAmpersandToken 657348 657351 + CallExpression 657351 657415 + Identifier 657351 657402 + Identifier 657403 657414 + AmpersandAmpersandToken 657415 657418 + ParenthesizedExpression 657418 657600 + BinaryExpression 657441 657599 + BinaryExpression 657441 657501 + PropertyAccessExpression 657441 657462 + PropertyAccessExpression 657441 657457 + Identifier 657441 657452 + Identifier 657453 657457 + Identifier 657458 657462 + ExclamationEqualsEqualsToken 657462 657466 + PropertyAccessExpression 657466 657501 + Identifier 657466 657477 + Identifier 657478 657501 + BarBarToken 657501 657504 + CallExpression 657504 657599 + Identifier 657504 657533 + PropertyAccessExpression 657534 657598 + ParenthesizedExpression 657534 657579 + AsExpression 657535 657578 + PropertyAccessExpression 657535 657551 + Identifier 657535 657546 + Identifier 657547 657551 + TypeReference 657554 657578 + Identifier 657554 657578 + Identifier 657580 657598 + AmpersandAmpersandToken 657600 657603 + PrefixUnaryExpression 657603 657728 + CallExpression 657626 657728 + Identifier 657626 657666 + Identifier 657667 657693 + Identifier 657694 657706 + Identifier 657707 657714 + Identifier 657715 657727 + ReturnStatement 657745 657802 + PropertyAccessExpression 657765 657801 + Identifier 657765 657771 + Identifier 657772 657801 + ReturnStatement 657813 657836 + FalseKeyword 657829 657835 + FunctionDeclaration 657843 658315 + Identifier 657859 657879 + Parameter 657880 657894 + Identifier 657880 657886 + TypeReference 657887 657894 + Identifier 657887 657894 + Block 657895 658315 + VariableStatement 657897 658106 + VariableDeclarationList 657897 658105 + VariableDeclaration 658067 658105 + Identifier 658067 658079 + PropertyAccessExpression 658081 658105 + Identifier 658081 658088 + Identifier 658089 658105 + ReturnStatement 658106 658308 + BinaryExpression 658122 658307 + BinaryExpression 658122 658261 + BinaryExpression 658122 658220 + BinaryExpression 658122 658172 + Identifier 658122 658134 + AmpersandAmpersandToken 658134 658137 + CallExpression 658137 658172 + Identifier 658137 658159 + Identifier 658160 658171 + AmpersandAmpersandToken 658172 658175 + PrefixUnaryExpression 658175 658220 + CallExpression 658177 658220 + Identifier 658177 658207 + Identifier 658208 658219 + AmpersandAmpersandToken 658220 658223 + PrefixUnaryExpression 658223 658261 + PropertyAccessExpression 658238 658261 + Identifier 658238 658249 + Identifier 658250 658261 + AmpersandAmpersandToken 658261 658264 + ParenthesizedExpression 658264 658307 + BinaryExpression 658266 658306 + Identifier 658266 658279 + BarBarToken 658279 658282 + CallExpression 658282 658306 + Identifier 658282 658293 + Identifier 658294 658305 + FunctionDeclaration 658315 658840 + Identifier 658331 658355 + Parameter 658356 658370 + Identifier 658356 658362 + TypeReference 658363 658370 + Identifier 658363 658370 + Block 658371 658840 + IfStatement 658373 658442 + PrefixUnaryExpression 658387 658407 + PropertyAccessExpression 658388 658407 + Identifier 658388 658394 + Identifier 658395 658407 + Block 658408 658442 + ReturnStatement 658410 658431 + ForOfStatement 658442 658833 + VariableDeclarationList 658457 658474 + VariableDeclaration 658462 658474 + Identifier 658462 658474 + PropertyAccessExpression 658477 658497 + Identifier 658477 658484 + Identifier 658485 658497 + Block 658498 658833 + VariableStatement 658500 658639 + VariableDeclarationList 658500 658638 + VariableDeclaration 658519 658638 + Identifier 658519 658529 + CallExpression 658531 658638 + Identifier 658531 658548 + Identifier 658549 658560 + FalseKeyword 658561 658593 + FalseKeyword 658594 658637 + IfStatement 658639 658822 + BinaryExpression 658657 658743 + Identifier 658657 658666 + AmpersandAmpersandToken 658666 658669 + ParenthesizedExpression 658669 658743 + BinaryExpression 658671 658742 + BinaryExpression 658671 658712 + PropertyAccessExpression 658671 658685 + Identifier 658671 658680 + Identifier 658681 658685 + EqualsEqualsEqualsToken 658685 658689 + PropertyAccessExpression 658689 658712 + Identifier 658689 658700 + Identifier 658701 658712 + BarBarToken 658712 658715 + CallExpression 658715 658742 + Identifier 658715 658731 + Identifier 658732 658741 + Block 658744 658822 + ReturnStatement 658746 658807 + AsExpression 658770 658806 + Identifier 658770 658780 + TypeReference 658783 658806 + Identifier 658783 658806 + FunctionDeclaration 658840 660008 + Identifier 658950 658980 + Parameter 658981 658995 + Identifier 658981 658987 + TypeReference 658988 658995 + Identifier 658988 658995 + Block 658996 660008 + VariableStatement 658998 659066 + VariableDeclarationList 658998 659065 + VariableDeclaration 659013 659065 + Identifier 659013 659018 + CallExpression 659020 659065 + Identifier 659020 659040 + ElementAccessExpression 659041 659064 + NonNullExpression 659041 659061 + PropertyAccessExpression 659041 659060 + Identifier 659041 659047 + Identifier 659048 659060 + NumericLiteral 659062 659063 + VariableStatement 659066 659142 + VariableDeclarationList 659066 659141 + VariableDeclaration 659081 659141 + Identifier 659081 659092 + CallExpression 659094 659141 + Identifier 659094 659121 + PropertyAccessExpression 659122 659140 + Identifier 659122 659128 + Identifier 659129 659140 + VariableStatement 659142 659301 + VariableDeclarationList 659142 659300 + VariableDeclaration 659157 659300 + Identifier 659157 659177 + CallExpression 659179 659300 + PropertyAccessExpression 659179 659206 + NonNullExpression 659179 659200 + PropertyAccessExpression 659179 659199 + Identifier 659179 659186 + Identifier 659187 659199 + Identifier 659201 659206 + ArrowFunction 659207 659299 + Parameter 659207 659208 + Identifier 659207 659208 + EqualsGreaterThanToken 659208 659211 + BinaryExpression 659211 659299 + BinaryExpression 659211 659250 + CallExpression 659211 659225 + Identifier 659211 659222 + Identifier 659223 659224 + AmpersandAmpersandToken 659225 659228 + CallExpression 659228 659250 + Identifier 659228 659247 + Identifier 659248 659249 + AmpersandAmpersandToken 659250 659253 + CallExpression 659253 659299 + Identifier 659253 659285 + PropertyAccessExpression 659286 659298 + Identifier 659286 659287 + Identifier 659288 659298 + VariableStatement 659301 659631 + VariableDeclarationList 659301 659630 + VariableDeclaration 659316 659630 + Identifier 659316 659326 + ConditionalExpression 659328 659630 + Identifier 659328 659348 + QuestionToken 659348 659363 + CallExpression 659363 659527 + PropertyAccessExpression 659363 659402 + Identifier 659363 659371 + Identifier 659372 659402 + CallExpression 659403 659514 + PropertyAccessExpression 659403 659441 + Identifier 659403 659410 + Identifier 659411 659441 + CallExpression 659442 659476 + PropertyAccessExpression 659442 659466 + Identifier 659442 659449 + Identifier 659450 659466 + StringLiteral 659467 659475 + CallExpression 659477 659513 + PropertyAccessExpression 659477 659502 + Identifier 659477 659485 + Identifier 659486 659502 + StringLiteral 659503 659512 + Identifier 659515 659526 + ColonToken 659527 659542 + CallExpression 659542 659630 + PropertyAccessExpression 659542 659581 + Identifier 659542 659550 + Identifier 659551 659581 + CallExpression 659582 659617 + PropertyAccessExpression 659582 659606 + Identifier 659582 659589 + Identifier 659590 659606 + StringLiteral 659607 659616 + Identifier 659618 659629 + IfStatement 659631 659787 + Identifier 659645 659664 + Block 659665 659787 + ExpressionStatement 659667 659776 + CallExpression 659667 659775 + Identifier 659667 659690 + PropertyAccessExpression 659691 659752 + ParenthesizedExpression 659691 659741 + AsExpression 659692 659740 + PropertyAccessExpression 659692 659712 + Identifier 659692 659701 + Identifier 659702 659712 + TypeReference 659715 659740 + Identifier 659715 659740 + Identifier 659742 659752 + PropertyAccessExpression 659753 659774 + Identifier 659753 659763 + Identifier 659764 659774 + ExpressionStatement 659787 659840 + CallExpression 659787 659839 + Identifier 659787 659806 + PropertyAccessExpression 659807 659827 + Identifier 659807 659816 + Identifier 659817 659827 + Identifier 659828 659838 + ExpressionStatement 659840 659877 + CallExpression 659840 659876 + Identifier 659840 659859 + Identifier 659860 659869 + Identifier 659870 659875 + ExpressionStatement 659877 659925 + BinaryExpression 659877 659924 + PropertyAccessExpression 659877 659905 + Identifier 659877 659896 + Identifier 659897 659905 + EqualsToken 659905 659907 + PropertyAccessExpression 659907 659924 + Identifier 659907 659912 + Identifier 659913 659924 + ReturnStatement 659925 660001 + CallExpression 659941 660000 + Identifier 659941 659964 + Identifier 659965 659974 + Identifier 659975 659984 + Identifier 659985 659999 + FunctionDeclaration 660008 661244 + Identifier 660024 660050 + Parameter 660051 660065 + Identifier 660051 660057 + TypeReference 660058 660065 + Identifier 660058 660065 + Parameter 660066 660119 + Identifier 660066 660079 + TypeOperator 660080 660119 + ArrayType 660089 660119 + TypeReference 660089 660117 + Identifier 660089 660117 + Block 660120 661244 + VariableStatement 660122 660354 + VariableDeclarationList 660122 660353 + VariableDeclaration 660137 660353 + Identifier 660137 660148 + ConditionalExpression 660150 660353 + CallExpression 660150 660198 + Identifier 660150 660161 + AsExpression 660162 660190 + PropertyAccessExpression 660162 660180 + Identifier 660162 660168 + Identifier 660169 660180 + StringKeyword 660183 660190 + StringLiteral 660191 660197 + QuestionToken 660198 660213 + CallExpression 660213 660291 + PropertyAccessExpression 660213 660245 + Identifier 660213 660221 + Identifier 660222 660245 + ElementAccessExpression 660246 660290 + CallExpression 660246 660287 + PropertyAccessExpression 660246 660282 + ParenthesizedExpression 660246 660276 + AsExpression 660247 660275 + PropertyAccessExpression 660247 660265 + Identifier 660247 660253 + Identifier 660254 660265 + StringKeyword 660268 660275 + Identifier 660277 660282 + StringLiteral 660283 660286 + NumericLiteral 660288 660289 + ColonToken 660291 660306 + CallExpression 660306 660353 + Identifier 660306 660333 + PropertyAccessExpression 660334 660352 + Identifier 660334 660340 + Identifier 660341 660352 + ForOfStatement 660354 661237 + VariableDeclarationList 660369 660386 + VariableDeclaration 660374 660386 + Identifier 660374 660386 + Identifier 660389 660402 + Block 660403 661237 + VariableStatement 660405 660510 + VariableDeclarationList 660405 660509 + VariableDeclaration 660424 660509 + Identifier 660424 660434 + CallExpression 660436 660509 + PropertyAccessExpression 660436 660475 + Identifier 660436 660444 + Identifier 660445 660475 + CallExpression 660476 660496 + PropertyAccessExpression 660476 660494 + Identifier 660476 660483 + Identifier 660484 660494 + Identifier 660497 660508 + ExpressionStatement 660510 660567 + CallExpression 660510 660566 + Identifier 660510 660533 + PropertyAccessExpression 660534 660554 + Identifier 660534 660543 + Identifier 660544 660554 + Identifier 660555 660565 + ExpressionStatement 660567 660615 + CallExpression 660567 660614 + Identifier 660567 660590 + Identifier 660591 660600 + Identifier 660601 660613 + ExpressionStatement 660615 660677 + BinaryExpression 660615 660676 + PropertyAccessExpression 660615 660647 + Identifier 660615 660638 + Identifier 660639 660647 + EqualsToken 660647 660649 + PropertyAccessExpression 660649 660676 + Identifier 660649 660661 + Identifier 660662 660676 + VariableStatement 660677 660749 + VariableDeclarationList 660677 660748 + VariableDeclaration 660696 660748 + Identifier 660696 660705 + CallExpression 660707 660748 + Identifier 660707 660729 + Identifier 660730 660739 + Identifier 660740 660747 + IfStatement 660749 660999 + BinaryExpression 660767 660837 + Identifier 660767 660780 + AmpersandAmpersandToken 660780 660783 + ParenthesizedExpression 660783 660837 + BinaryExpression 660785 660836 + BinaryExpression 660785 660806 + Identifier 660785 660793 + EqualsEqualsEqualsToken 660793 660797 + Identifier 660797 660806 + BarBarToken 660806 660809 + BinaryExpression 660809 660836 + Identifier 660809 660818 + EqualsEqualsEqualsToken 660818 660822 + Identifier 660822 660836 + Block 660838 660999 + ExpressionStatement 660840 660984 + CallExpression 660840 660983 + Identifier 660840 660863 + PropertyAccessExpression 660864 660887 + Identifier 660864 660870 + Identifier 660871 660887 + PropertyAccessExpression 660888 660934 + Identifier 660888 660900 + Identifier 660901 660934 + CallExpression 660935 660958 + Identifier 660935 660950 + Identifier 660951 660957 + CallExpression 660959 660982 + Identifier 660959 660972 + Identifier 660973 660981 + IfStatement 660999 661178 + CallExpression 661098 661133 + Identifier 661098 661107 + Identifier 661108 661116 + Identifier 661117 661132 + Block 661134 661178 + ContinueStatement 661136 661163 + ReturnStatement 661178 661226 + CallExpression 661198 661225 + Identifier 661198 661215 + Identifier 661216 661224 + FunctionDeclaration 661244 662312 + Identifier 661260 661285 + Parameter 661286 661300 + Identifier 661286 661292 + TypeReference 661293 661300 + Identifier 661293 661300 + Parameter 661301 661337 + Identifier 661301 661313 + TypeReference 661314 661337 + Identifier 661314 661337 + Block 661338 662312 + VariableStatement 661340 661572 + VariableDeclarationList 661340 661571 + VariableDeclaration 661355 661571 + Identifier 661355 661366 + ConditionalExpression 661368 661571 + CallExpression 661368 661416 + Identifier 661368 661379 + AsExpression 661380 661408 + PropertyAccessExpression 661380 661398 + Identifier 661380 661386 + Identifier 661387 661398 + StringKeyword 661401 661408 + StringLiteral 661409 661415 + QuestionToken 661416 661431 + CallExpression 661431 661509 + PropertyAccessExpression 661431 661463 + Identifier 661431 661439 + Identifier 661440 661463 + ElementAccessExpression 661464 661508 + CallExpression 661464 661505 + PropertyAccessExpression 661464 661500 + ParenthesizedExpression 661464 661494 + AsExpression 661465 661493 + PropertyAccessExpression 661465 661483 + Identifier 661465 661471 + Identifier 661472 661483 + StringKeyword 661486 661493 + Identifier 661495 661500 + StringLiteral 661501 661504 + NumericLiteral 661506 661507 + ColonToken 661509 661524 + CallExpression 661524 661571 + Identifier 661524 661551 + PropertyAccessExpression 661552 661570 + Identifier 661552 661558 + Identifier 661559 661570 + VariableStatement 661572 661673 + VariableDeclarationList 661572 661672 + VariableDeclaration 661587 661672 + Identifier 661587 661597 + CallExpression 661599 661672 + PropertyAccessExpression 661599 661638 + Identifier 661599 661607 + Identifier 661608 661638 + CallExpression 661639 661659 + PropertyAccessExpression 661639 661657 + Identifier 661639 661646 + Identifier 661647 661657 + Identifier 661660 661671 + ExpressionStatement 661673 661726 + CallExpression 661673 661725 + Identifier 661673 661692 + PropertyAccessExpression 661693 661713 + Identifier 661693 661702 + Identifier 661703 661713 + Identifier 661714 661724 + ExpressionStatement 661726 661770 + CallExpression 661726 661769 + Identifier 661726 661745 + Identifier 661746 661755 + Identifier 661756 661768 + ExpressionStatement 661770 661828 + BinaryExpression 661770 661827 + PropertyAccessExpression 661770 661798 + Identifier 661770 661789 + Identifier 661790 661798 + EqualsToken 661798 661800 + PropertyAccessExpression 661800 661827 + Identifier 661800 661812 + Identifier 661813 661827 + VariableStatement 661828 661896 + VariableDeclarationList 661828 661895 + VariableDeclaration 661843 661895 + Identifier 661843 661852 + CallExpression 661854 661895 + Identifier 661854 661876 + Identifier 661877 661886 + Identifier 661887 661894 + IfStatement 661896 662134 + BinaryExpression 661910 661980 + Identifier 661910 661923 + AmpersandAmpersandToken 661923 661926 + ParenthesizedExpression 661926 661980 + BinaryExpression 661928 661979 + BinaryExpression 661928 661949 + Identifier 661928 661936 + EqualsEqualsEqualsToken 661936 661940 + Identifier 661940 661949 + BarBarToken 661949 661952 + BinaryExpression 661952 661979 + Identifier 661952 661961 + EqualsEqualsEqualsToken 661961 661965 + Identifier 661965 661979 + Block 661981 662134 + ExpressionStatement 661983 662123 + CallExpression 661983 662122 + Identifier 661983 662002 + PropertyAccessExpression 662003 662026 + Identifier 662003 662009 + Identifier 662010 662026 + PropertyAccessExpression 662027 662073 + Identifier 662027 662039 + Identifier 662040 662073 + CallExpression 662074 662097 + Identifier 662074 662089 + Identifier 662090 662096 + CallExpression 662098 662121 + Identifier 662098 662111 + Identifier 662112 662120 + ReturnStatement 662134 662305 + ConditionalExpression 662227 662304 + CallExpression 662227 662263 + Identifier 662227 662237 + Identifier 662238 662246 + Identifier 662247 662262 + QuestionToken 662263 662265 + Identifier 662265 662275 + ColonToken 662275 662277 + CallExpression 662277 662304 + Identifier 662277 662294 + Identifier 662295 662303 + FunctionDeclaration 662312 662739 + Identifier 662328 662350 + Parameter 662351 662366 + Identifier 662351 662360 + TypeReference 662361 662366 + Identifier 662361 662366 + Parameter 662367 662392 + Identifier 662367 662372 + UnionType 662373 662392 + TypeReference 662373 662380 + Identifier 662373 662380 + UndefinedKeyword 662382 662392 + Block 662393 662739 + VariableStatement 662395 662658 + VariableDeclarationList 662395 662657 + VariableDeclaration 662410 662657 + Identifier 662410 662422 + BinaryExpression 662424 662657 + BinaryExpression 662424 662627 + BinaryExpression 662424 662572 + PropertyAccessExpression 662424 662447 + Identifier 662424 662429 + QuestionDotToken 662429 662431 + Identifier 662431 662447 + AmpersandAmpersandToken 662447 662467 + ParenthesizedExpression 662467 662572 + BinaryExpression 662469 662571 + PrefixUnaryExpression 662469 662495 + CallExpression 662470 662495 + Identifier 662470 662489 + Identifier 662490 662494 + BarBarToken 662495 662498 + BinaryExpression 662498 662571 + CallExpression 662498 662547 + Identifier 662498 662524 + PropertyAccessExpression 662525 662546 + Identifier 662525 662529 + Identifier 662530 662546 + AmpersandToken 662547 662549 + PropertyAccessExpression 662549 662571 + Identifier 662549 662563 + Identifier 662564 662571 + AmpersandAmpersandToken 662572 662592 + CallExpression 662592 662627 + Identifier 662592 662621 + Identifier 662622 662626 + BarBarToken 662627 662643 + Identifier 662643 662657 + ReturnStatement 662658 662732 + CallExpression 662674 662731 + Identifier 662674 662697 + Identifier 662698 662707 + Identifier 662708 662717 + Identifier 662718 662730 + FunctionDeclaration 662739 667430 + Identifier 662755 662794 + Parameter 662795 662809 + Identifier 662795 662801 + TypeReference 662802 662809 + Identifier 662802 662809 + Parameter 662810 662834 + Identifier 662810 662825 + QuestionToken 662825 662826 + TypeReference 662827 662834 + Identifier 662827 662834 + Block 662835 667430 + VariableStatement 662837 663048 + VariableDeclarationList 662837 663047 + VariableDeclaration 662980 663047 + Identifier 662980 662990 + CallExpression 662992 663047 + Identifier 662992 663022 + PropertyAccessExpression 663023 663046 + Identifier 663023 663029 + Identifier 663030 663046 + IfStatement 663048 663538 + Identifier 663062 663071 + Block 663072 663538 + VariableStatement 663074 663163 + VariableDeclarationList 663074 663162 + VariableDeclaration 663093 663162 + Identifier 663093 663097 + ConditionalExpression 663099 663162 + CallExpression 663099 663121 + Identifier 663099 663110 + Identifier 663111 663120 + QuestionToken 663121 663123 + CallExpression 663123 663150 + Identifier 663123 663139 + Identifier 663140 663149 + ColonToken 663150 663152 + Identifier 663152 663162 + IfStatement 663163 663289 + BinaryExpression 663181 663206 + Identifier 663181 663184 + AmpersandAmpersandToken 663184 663187 + PropertyAccessExpression 663187 663206 + Identifier 663187 663191 + Identifier 663192 663206 + Block 663207 663289 + ReturnStatement 663209 663274 + CallExpression 663233 663273 + Identifier 663233 663253 + PropertyAccessExpression 663254 663272 + Identifier 663254 663257 + Identifier 663258 663272 + VariableStatement 663289 663427 + VariableDeclarationList 663289 663426 + VariableDeclaration 663308 663426 + Identifier 663308 663328 + BinaryExpression 663330 663426 + PropertyAccessExpression 663330 663354 + Identifier 663330 663337 + Identifier 663338 663354 + AmpersandAmpersandToken 663354 663357 + CallExpression 663357 663426 + Identifier 663357 663382 + PropertyAccessExpression 663383 663406 + Identifier 663383 663389 + Identifier 663390 663406 + Identifier 663407 663414 + Identifier 663415 663425 + ReturnStatement 663427 663527 + BinaryExpression 663447 663526 + Identifier 663447 663467 + BarBarToken 663467 663470 + CallExpression 663470 663526 + Identifier 663470 663492 + CallExpression 663493 663525 + Identifier 663493 663514 + Identifier 663515 663524 + VariableStatement 663538 663557 + VariableDeclarationList 663538 663556 + VariableDeclaration 663551 663556 + Identifier 663551 663556 + VariableStatement 663557 663600 + VariableDeclarationList 663557 663599 + VariableDeclaration 663570 663599 + Identifier 663570 663591 + FalseKeyword 663593 663599 + VariableStatement 663600 663638 + VariableDeclarationList 663600 663637 + VariableDeclaration 663613 663637 + Identifier 663613 663629 + FalseKeyword 663631 663637 + IfStatement 663638 664009 + CallExpression 663870 663907 + Identifier 663870 663899 + Identifier 663900 663906 + Block 663908 664009 + ExpressionStatement 663910 663998 + BinaryExpression 663910 663997 + Identifier 663910 663928 + EqualsToken 663928 663930 + CallExpression 663930 663997 + Identifier 663930 663955 + Identifier 663956 663962 + NonNullExpression 663963 663996 + CallExpression 663963 663995 + Identifier 663963 663987 + Identifier 663988 663994 + IfStatement 664009 667009 + PrefixUnaryExpression 664023 664028 + Identifier 664024 664028 + Block 664029 667009 + VariableStatement 664031 664075 + VariableDeclarationList 664031 664074 + VariableDeclaration 664048 664074 + Identifier 664048 664054 + UnionType 664055 664074 + ArrayType 664055 664062 + TypeReference 664055 664060 + Identifier 664055 664060 + UndefinedKeyword 664064 664074 + IfStatement 664075 665991 + PropertyAccessExpression 664093 664112 + Identifier 664093 664099 + Identifier 664100 664112 + Block 664113 665991 + VariableStatement 664115 664165 + VariableDeclarationList 664115 664164 + VariableDeclaration 664136 664164 + Identifier 664136 664146 + UnionType 664147 664164 + TypeReference 664147 664152 + Identifier 664147 664152 + UndefinedKeyword 664154 664164 + ForOfStatement 664165 665941 + VariableDeclarationList 664188 664205 + VariableDeclaration 664193 664205 + Identifier 664193 664205 + PropertyAccessExpression 664208 664228 + Identifier 664208 664215 + Identifier 664216 664228 + Block 664229 665941 + VariableStatement 664231 664525 + VariableDeclarationList 664231 664524 + VariableDeclaration 664258 664524 + Identifier 664258 664269 + ConditionalExpression 664271 664524 + ParenthesizedExpression 664271 664338 + BinaryExpression 664273 664337 + CallExpression 664273 664304 + Identifier 664273 664291 + Identifier 664292 664303 + BarBarToken 664304 664307 + CallExpression 664307 664337 + Identifier 664307 664324 + Identifier 664325 664336 + QuestionToken 664338 664340 + Identifier 664340 664352 + ColonToken 664352 664354 + ConditionalExpression 664354 664524 + CallExpression 664354 664411 + Identifier 664354 664398 + Identifier 664399 664410 + QuestionToken 664411 664413 + ConditionalExpression 664413 664487 + CallExpression 664413 664452 + Identifier 664413 664432 + PropertyAccessExpression 664433 664451 + Identifier 664433 664444 + Identifier 664445 664451 + QuestionToken 664452 664454 + PropertyAccessExpression 664454 664473 + Identifier 664454 664466 + Identifier 664467 664473 + ColonToken 664473 664475 + Identifier 664475 664487 + ColonToken 664487 664489 + Identifier 664489 664524 + IfStatement 664525 664765 + PrefixUnaryExpression 664551 664562 + Identifier 664552 664562 + Block 664563 664765 + ContinueStatement 664565 664600 + VariableStatement 664765 664983 + VariableDeclarationList 664765 664982 + VariableDeclaration 664794 664982 + Identifier 664794 664799 + ConditionalExpression 664801 664982 + CallExpression 664801 664832 + Identifier 664801 664820 + Identifier 664821 664831 + QuestionToken 664832 664859 + CallExpression 664859 664914 + Identifier 664859 664902 + Identifier 664903 664913 + ColonToken 664914 664941 + CallExpression 664941 664982 + Identifier 664941 664970 + Identifier 664971 664981 + IfStatement 664983 665435 + BinaryExpression 665009 665141 + BinaryExpression 665009 665056 + Identifier 665009 665013 + EqualsEqualsEqualsToken 665013 665017 + PropertyAccessExpression 665017 665056 + Identifier 665017 665043 + Identifier 665044 665056 + BarBarToken 665056 665059 + BinaryExpression 665059 665141 + CallExpression 665059 665090 + Identifier 665059 665078 + Identifier 665079 665089 + AmpersandAmpersandToken 665090 665093 + CallExpression 665093 665141 + Identifier 665093 665123 + Identifier 665124 665134 + Identifier 665135 665140 + Block 665142 665435 + IfStatement 665144 665412 + CallExpression 665174 665212 + Identifier 665174 665200 + Identifier 665201 665211 + Block 665213 665300 + ExpressionStatement 665215 665273 + BinaryExpression 665215 665272 + Identifier 665215 665265 + EqualsToken 665265 665267 + TrueKeyword 665267 665272 + Block 665330 665412 + ExpressionStatement 665332 665385 + BinaryExpression 665332 665384 + Identifier 665332 665377 + EqualsToken 665377 665379 + TrueKeyword 665379 665384 + IfStatement 665435 665639 + PrefixUnaryExpression 665461 665490 + CallExpression 665462 665490 + Identifier 665462 665478 + Identifier 665479 665489 + Block 665491 665639 + ExpressionStatement 665493 665616 + BinaryExpression 665493 665615 + Identifier 665493 665528 + EqualsToken 665528 665530 + CallExpression 665530 665615 + Identifier 665530 665571 + Identifier 665572 665581 + Identifier 665582 665593 + Identifier 665594 665601 + Identifier 665602 665614 + IfStatement 665639 665922 + PrefixUnaryExpression 665665 665675 + Identifier 665666 665675 + Block 665676 665922 + ExpressionStatement 665678 665899 + CallExpression 665678 665898 + PropertyAccessExpression 665678 665732 + ParenthesizedExpression 665678 665727 + BinaryExpression 665705 665726 + Identifier 665705 665710 + BarBarToken 665710 665713 + ParenthesizedExpression 665713 665726 + BinaryExpression 665715 665725 + Identifier 665715 665720 + EqualsToken 665720 665722 + ArrayLiteralExpression 665722 665725 + Identifier 665728 665732 + ConditionalExpression 665733 665897 + ParenthesizedExpression 665733 665797 + BinaryExpression 665734 665796 + CallExpression 665734 665764 + Identifier 665734 665752 + Identifier 665753 665763 + BarBarToken 665764 665767 + CallExpression 665767 665796 + Identifier 665767 665784 + Identifier 665785 665795 + QuestionToken 665797 665799 + CallExpression 665799 665885 + Identifier 665799 665843 + Identifier 665844 665850 + Identifier 665851 665866 + Identifier 665867 665878 + Identifier 665879 665884 + ColonToken 665885 665887 + Identifier 665887 665897 + ExpressionStatement 665941 665976 + BinaryExpression 665941 665975 + Identifier 665941 665963 + EqualsToken 665963 665965 + Identifier 665965 665975 + IfStatement 665991 666998 + PrefixUnaryExpression 666009 666014 + Identifier 666010 666014 + Block 666015 666998 + IfStatement 666017 666151 + PrefixUnaryExpression 666039 666053 + CallExpression 666040 666053 + Identifier 666040 666046 + Identifier 666047 666052 + Block 666054 666151 + ReturnStatement 666056 666095 + Identifier 666084 666094 + VariableStatement 666151 666320 + VariableDeclarationList 666151 666319 + VariableDeclaration 666172 666319 + Identifier 666172 666189 + ConditionalExpression 666191 666319 + BinaryExpression 666191 666235 + Identifier 666191 666212 + AmpersandAmpersandToken 666212 666215 + PropertyAccessExpression 666215 666235 + Identifier 666215 666222 + Identifier 666223 666235 + QuestionToken 666235 666237 + CallExpression 666237 666307 + Identifier 666237 666278 + NonNullExpression 666279 666285 + Identifier 666279 666284 + PropertyAccessExpression 666286 666306 + Identifier 666286 666293 + Identifier 666294 666306 + ColonToken 666307 666309 + Identifier 666309 666319 + IfStatement 666320 666785 + Identifier 666471 666486 + Block 666487 666785 + VariableStatement 666489 666565 + VariableDeclarationList 666489 666564 + VariableDeclaration 666516 666564 + Identifier 666516 666525 + CallExpression 666527 666564 + Identifier 666527 666556 + Identifier 666557 666563 + IfStatement 666565 666766 + Identifier 666591 666599 + Block 666600 666766 + ExpressionStatement 666602 666689 + CallExpression 666602 666688 + PropertyAccessExpression 666602 666678 + ParenthesizedExpression 666602 666673 + BinaryExpression 666629 666672 + Identifier 666629 666645 + BarBarToken 666645 666648 + ParenthesizedExpression 666648 666672 + BinaryExpression 666650 666671 + Identifier 666650 666666 + EqualsToken 666666 666668 + ArrayLiteralExpression 666668 666671 + Identifier 666674 666678 + Identifier 666679 666687 + ExpressionStatement 666689 666743 + BinaryExpression 666689 666742 + Identifier 666689 666735 + EqualsToken 666735 666737 + TrueKeyword 666737 666742 + VariableStatement 666785 666913 + VariableDeclarationList 666785 666912 + VariableDeclaration 666808 666912 + Identifier 666808 666820 + ConditionalExpression 666822 666912 + CallExpression 666822 666885 + Identifier 666822 666827 + Identifier 666828 666844 + ArrowFunction 666845 666884 + Parameter 666845 666847 + Identifier 666845 666847 + EqualsGreaterThanToken 666847 666850 + PrefixUnaryExpression 666850 666884 + PrefixUnaryExpression 666852 666884 + ParenthesizedExpression 666853 666884 + BinaryExpression 666854 666883 + PropertyAccessExpression 666854 666861 + Identifier 666854 666855 + Identifier 666856 666861 + AmpersandToken 666861 666863 + PrefixUnaryExpression 666863 666883 + PropertyAccessExpression 666865 666883 + Identifier 666865 666874 + Identifier 666875 666883 + QuestionToken 666885 666887 + Identifier 666887 666904 + ColonToken 666904 666906 + Identifier 666906 666912 + ExpressionStatement 666913 666983 + BinaryExpression 666913 666982 + Identifier 666913 666953 + EqualsToken 666953 666955 + CallExpression 666955 666982 + Identifier 666955 666968 + NonNullExpression 666969 666981 + Identifier 666969 666980 + VariableStatement 667009 667136 + VariableDeclarationList 667009 667135 + VariableDeclaration 667024 667135 + Identifier 667024 667032 + CallExpression 667034 667135 + Identifier 667034 667049 + CallExpression 667050 667134 + Identifier 667050 667064 + Identifier 667065 667069 + FalseKeyword 667070 667091 + BinaryExpression 667092 667133 + Identifier 667092 667108 + AmpersandAmpersandToken 667108 667111 + PrefixUnaryExpression 667111 667133 + Identifier 667113 667133 + IfStatement 667136 667398 + BinaryExpression 667150 667289 + BinaryExpression 667150 667212 + PropertyAccessExpression 667150 667173 + Identifier 667150 667156 + Identifier 667157 667173 + AmpersandAmpersandToken 667173 667176 + CallExpression 667176 667212 + Identifier 667176 667187 + PropertyAccessExpression 667188 667211 + Identifier 667188 667194 + Identifier 667195 667211 + AmpersandAmpersandToken 667212 667215 + BinaryExpression 667215 667289 + CallExpression 667215 667275 + Identifier 667215 667226 + Identifier 667227 667234 + ArrowFunction 667235 667274 + Parameter 667235 667237 + Identifier 667235 667237 + EqualsGreaterThanToken 667237 667240 + PrefixUnaryExpression 667240 667274 + PrefixUnaryExpression 667242 667274 + ParenthesizedExpression 667243 667274 + BinaryExpression 667244 667273 + PropertyAccessExpression 667244 667251 + Identifier 667244 667245 + Identifier 667246 667251 + AmpersandToken 667251 667253 + PrefixUnaryExpression 667253 667273 + PropertyAccessExpression 667255 667273 + Identifier 667255 667264 + Identifier 667265 667273 + EqualsEqualsEqualsToken 667275 667279 + Identifier 667279 667289 + Block 667290 667398 + ExpressionStatement 667292 667358 + CallExpression 667292 667357 + Identifier 667292 667323 + PropertyAccessExpression 667324 667347 + Identifier 667324 667330 + Identifier 667331 667347 + Identifier 667348 667356 + ReturnStatement 667358 667387 + Identifier 667378 667386 + ReturnStatement 667398 667423 + Identifier 667414 667422 + FunctionDeclaration 667430 668381 + Identifier 667446 667471 + Parameter 667472 667482 + Identifier 667472 667476 + TypeReference 667477 667482 + Identifier 667477 667482 + Parameter 667483 667498 + Identifier 667483 667490 + TypeReference 667491 667498 + Identifier 667491 667498 + Parameter 667499 667528 + Identifier 667499 667504 + UnionType 667505 667528 + TypeReference 667505 667516 + Identifier 667505 667516 + UndefinedKeyword 667518 667528 + UnionType 667530 667547 + TypeReference 667530 667535 + Identifier 667530 667535 + UndefinedKeyword 667537 667547 + Block 667547 668381 + IfStatement 667549 667696 + BinaryExpression 667563 667651 + BinaryExpression 667563 667625 + BinaryExpression 667563 667589 + PrefixUnaryExpression 667563 667580 + CallExpression 667564 667580 + Identifier 667564 667574 + Identifier 667575 667579 + BarBarToken 667580 667583 + PrefixUnaryExpression 667583 667589 + Identifier 667585 667589 + BarBarToken 667589 667592 + PrefixUnaryExpression 667592 667625 + CallExpression 667594 667625 + Identifier 667594 667619 + Identifier 667620 667624 + BarBarToken 667625 667628 + PropertyAccessExpression 667628 667651 + PropertyAccessExpression 667628 667644 + Identifier 667628 667633 + Identifier 667634 667644 + Identifier 667645 667651 + Block 667652 667696 + ReturnStatement 667654 667685 + Identifier 667674 667684 + VariableStatement 667696 667742 + VariableDeclarationList 667696 667741 + VariableDeclaration 667711 667741 + Identifier 667711 667719 + CallExpression 667721 667741 + Identifier 667721 667739 + WhileStatement 667742 668067 + BinaryExpression 667759 667819 + CallExpression 667759 667783 + Identifier 667759 667777 + Identifier 667778 667782 + BarBarToken 667783 667786 + CallExpression 667786 667819 + Identifier 667786 667813 + Identifier 667814 667818 + Block 667820 668067 + VariableStatement 667822 667868 + VariableDeclarationList 667822 667867 + VariableDeclaration 667841 667867 + Identifier 667841 667843 + CallExpression 667845 667867 + Identifier 667845 667861 + Identifier 667862 667866 + IfStatement 667868 667975 + PropertyAccessExpression 667886 667902 + PropertyAccessExpression 667886 667896 + Identifier 667886 667887 + QuestionDotToken 667887 667889 + Identifier 667889 667896 + QuestionDotToken 667896 667898 + Identifier 667898 667902 + Block 667903 667975 + ExpressionStatement 667905 667960 + CallExpression 667905 667959 + Identifier 667905 667939 + Identifier 667940 667947 + PropertyAccessExpression 667948 667958 + Identifier 667948 667950 + Identifier 667951 667958 + ExpressionStatement 667975 668056 + BinaryExpression 667975 668055 + Identifier 667975 667993 + EqualsToken 667993 667995 + ConditionalExpression 667995 668055 + CallExpression 667995 668020 + Identifier 667995 668014 + Identifier 668015 668019 + QuestionToken 668020 668022 + PropertyAccessExpression 668022 668034 + Identifier 668022 668027 + Identifier 668028 668034 + ColonToken 668034 668036 + PropertyAccessExpression 668036 668055 + PropertyAccessExpression 668036 668048 + Identifier 668036 668041 + Identifier 668042 668048 + Identifier 668049 668055 + VariableStatement 668067 668109 + VariableDeclarationList 668067 668108 + VariableDeclaration 668082 668108 + Identifier 668082 668084 + CallExpression 668086 668108 + Identifier 668086 668102 + Identifier 668103 668107 + IfStatement 668109 668204 + PropertyAccessExpression 668123 668139 + PropertyAccessExpression 668123 668133 + Identifier 668123 668124 + QuestionDotToken 668124 668126 + Identifier 668126 668133 + QuestionDotToken 668133 668135 + Identifier 668135 668139 + Block 668140 668204 + ExpressionStatement 668142 668193 + CallExpression 668142 668192 + Identifier 668142 668172 + Identifier 668173 668180 + PropertyAccessExpression 668181 668191 + Identifier 668181 668183 + Identifier 668184 668191 + VariableStatement 668204 668300 + VariableDeclarationList 668204 668299 + VariableDeclaration 668219 668299 + Identifier 668219 668224 + CallExpression 668226 668299 + Identifier 668226 668246 + Identifier 668247 668253 + Identifier 668254 668262 + Identifier 668263 668274 + Identifier 668275 668286 + Identifier 668287 668298 + ExpressionStatement 668300 668352 + BinaryExpression 668300 668351 + PropertyAccessExpression 668300 668326 + Identifier 668300 668314 + Identifier 668315 668326 + BarEqualsToken 668326 668329 + PropertyAccessExpression 668329 668351 + Identifier 668329 668341 + Identifier 668342 668351 + ReturnStatement 668352 668374 + Identifier 668368 668373 + FunctionDeclaration 668381 669770 + Identifier 668397 668438 + Parameter 668439 668469 + Identifier 668439 668451 + UnionType 668452 668469 + TypeReference 668452 668457 + Identifier 668452 668457 + UndefinedKeyword 668459 668469 + Parameter 668470 668493 + Identifier 668470 668481 + TypeReference 668482 668493 + Identifier 668482 668493 + Parameter 668494 668509 + Identifier 668494 668501 + TypeReference 668502 668509 + Identifier 668502 668509 + Parameter 668510 668535 + Identifier 668510 668522 + TypeReference 668523 668535 + Identifier 668523 668535 + Block 668536 669770 + VariableStatement 668538 668615 + VariableDeclarationList 668538 668614 + VariableDeclaration 668553 668614 + Identifier 668553 668562 + CallExpression 668564 668614 + Identifier 668564 668595 + PropertyAccessExpression 668596 668613 + Identifier 668596 668606 + Identifier 668607 668613 + IfStatement 668615 669072 + Identifier 668629 668637 + Block 668638 669072 + VariableStatement 668640 668713 + VariableDeclarationList 668640 668712 + VariableDeclaration 668659 668712 + Identifier 668659 668664 + CallExpression 668666 668712 + Identifier 668666 668681 + CallExpression 668682 668711 + Identifier 668682 668701 + Identifier 668702 668710 + IfStatement 668713 669061 + PrefixUnaryExpression 668731 668744 + Identifier 668732 668744 + Block 668745 668792 + ReturnStatement 668747 668777 + Identifier 668771 668776 + IfStatement 668810 669061 + BinaryExpression 668815 668905 + BinaryExpression 668815 668863 + PrefixUnaryExpression 668815 668841 + CallExpression 668816 668841 + Identifier 668816 668827 + Identifier 668828 668840 + AmpersandAmpersandToken 668841 668844 + PrefixUnaryExpression 668844 668863 + CallExpression 668846 668863 + Identifier 668846 668857 + Identifier 668858 668862 + AmpersandAmpersandToken 668863 668866 + PrefixUnaryExpression 668866 668905 + CallExpression 668868 668905 + Identifier 668868 668885 + Identifier 668886 668898 + Identifier 668899 668904 + Block 668906 669061 + ExpressionStatement 668908 669046 + CallExpression 668908 669045 + Identifier 668908 668980 + Identifier 668981 669011 + Identifier 669012 669025 + Identifier 669026 669038 + Identifier 669039 669044 + IfStatement 669072 669731 + PropertyAccessExpression 669086 669117 + PropertyAccessExpression 669086 669099 + Identifier 669086 669092 + Identifier 669093 669099 + QuestionDotToken 669099 669101 + Identifier 669101 669117 + Block 669118 669731 + VariableStatement 669120 669223 + VariableDeclarationList 669120 669222 + VariableDeclaration 669139 669222 + Identifier 669139 669163 + CallExpression 669165 669222 + Identifier 669165 669207 + PropertyAccessExpression 669208 669221 + Identifier 669208 669214 + Identifier 669215 669221 + IfStatement 669223 669720 + PropertyAccessExpression 669241 669281 + Identifier 669241 669264 + Identifier 669265 669281 + Block 669282 669720 + VariableStatement 669284 669392 + VariableDeclarationList 669284 669391 + VariableDeclaration 669307 669391 + Identifier 669307 669316 + CallExpression 669318 669391 + Identifier 669318 669349 + PropertyAccessExpression 669350 669390 + Identifier 669350 669373 + Identifier 669374 669390 + IfStatement 669392 669705 + Identifier 669414 669422 + Block 669423 669705 + VariableStatement 669425 669541 + VariableDeclarationList 669425 669540 + VariableDeclaration 669452 669540 + Identifier 669452 669469 + CallExpression 669471 669540 + Identifier 669471 669489 + CallExpression 669490 669519 + Identifier 669490 669509 + Identifier 669510 669518 + PropertyAccessExpression 669520 669539 + Identifier 669520 669527 + Identifier 669528 669539 + IfStatement 669541 669686 + Identifier 669567 669583 + Block 669584 669686 + ReturnStatement 669586 669663 + CallExpression 669618 669662 + Identifier 669618 669644 + Identifier 669645 669661 + ReturnStatement 669731 669763 + Identifier 669749 669762 + FunctionDeclaration 669770 677232 + Identifier 669874 669918 + Parameter 669919 669933 + Identifier 669919 669925 + TypeReference 669926 669933 + Identifier 669926 669933 + Parameter 669934 669969 + Identifier 669934 669949 + UnionType 669950 669969 + TypeReference 669950 669957 + Identifier 669950 669957 + UndefinedKeyword 669959 669969 + Parameter 669970 670016 + Identifier 669970 669981 + UnionType 669982 670016 + TypeReference 669982 669999 + Identifier 669982 669999 + TypeReference 670001 670016 + Identifier 670001 670016 + Parameter 670017 670049 + Identifier 670017 670022 + TypeReference 670023 670049 + Identifier 670023 670049 + Block 670050 677232 + IfStatement 670052 671285 + CallExpression 670066 670094 + Identifier 670066 670082 + Identifier 670083 670093 + Block 670095 671285 + IfStatement 670097 670326 + Identifier 670115 670129 + Block 670130 670326 + ReturnStatement 670132 670189 + CallExpression 670156 670188 + Identifier 670156 670172 + Identifier 670173 670187 + VariableStatement 670326 670447 + VariableDeclarationList 670326 670446 + VariableDeclaration 670345 670446 + Identifier 670345 670359 + CallExpression 670361 670446 + Identifier 670361 670383 + ElementAccessExpression 670384 670445 + PropertyAccessExpression 670384 670442 + ParenthesizedExpression 670384 670432 + AsExpression 670385 670431 + Identifier 670385 670395 + TypeReference 670398 670431 + Identifier 670398 670431 + Identifier 670433 670442 + NumericLiteral 670443 670444 + VariableStatement 670447 670539 + VariableDeclarationList 670447 670538 + VariableDeclaration 670466 670538 + Identifier 670466 670476 + CallExpression 670478 670538 + Identifier 670478 670502 + Identifier 670503 670516 + AsExpression 670517 670537 + StringLiteral 670517 670525 + TypeReference 670528 670537 + Identifier 670528 670537 + IfStatement 670539 670619 + Identifier 670557 670566 + Block 670567 670619 + ReturnStatement 670569 670604 + Identifier 670593 670603 + VariableStatement 670619 670707 + VariableDeclarationList 670619 670706 + VariableDeclaration 670638 670706 + Identifier 670638 670646 + CallExpression 670648 670706 + Identifier 670648 670672 + Identifier 670673 670686 + AsExpression 670687 670705 + StringLiteral 670687 670693 + TypeReference 670696 670705 + Identifier 670696 670705 + IfStatement 670707 670927 + Identifier 670725 670732 + Block 670733 670927 + VariableStatement 670735 670800 + VariableDeclarationList 670735 670799 + VariableDeclaration 670758 670799 + Identifier 670758 670765 + CallExpression 670767 670799 + Identifier 670767 670790 + Identifier 670791 670798 + IfStatement 670800 670912 + Identifier 670822 670828 + Block 670829 670912 + ReturnStatement 670831 670893 + CallExpression 670859 670892 + Identifier 670859 670884 + Identifier 670885 670891 + VariableStatement 670927 671015 + VariableDeclarationList 670927 671014 + VariableDeclaration 670946 671014 + Identifier 670946 670954 + CallExpression 670956 671014 + Identifier 670956 670980 + Identifier 670981 670994 + AsExpression 670995 671013 + StringLiteral 670995 671001 + TypeReference 671004 671013 + Identifier 671004 671013 + IfStatement 671015 671245 + Identifier 671033 671040 + Block 671041 671245 + VariableStatement 671043 671108 + VariableDeclarationList 671043 671107 + VariableDeclaration 671066 671107 + Identifier 671066 671073 + CallExpression 671075 671107 + Identifier 671075 671098 + Identifier 671099 671106 + IfStatement 671108 671230 + Identifier 671130 671136 + Block 671137 671230 + ReturnStatement 671139 671211 + CallExpression 671167 671210 + Identifier 671167 671202 + Identifier 671203 671209 + ReturnStatement 671245 671274 + Identifier 671265 671273 + IfStatement 671285 671406 + CallExpression 671299 671363 + Identifier 671299 671328 + PropertyAccessExpression 671329 671344 + Identifier 671329 671339 + Identifier 671340 671344 + PropertyAccessExpression 671345 671362 + Identifier 671345 671356 + Identifier 671357 671362 + Block 671364 671406 + ReturnStatement 671366 671395 + Identifier 671386 671394 + VariableStatement 671406 671747 + VariableDeclarationList 671406 671746 + VariableDeclaration 671421 671746 + Identifier 671421 671436 + BinaryExpression 671438 671746 + BinaryExpression 671438 671584 + BinaryExpression 671438 671489 + Identifier 671438 671443 + EqualsEqualsEqualsToken 671443 671447 + PropertyAccessExpression 671447 671489 + Identifier 671447 671473 + Identifier 671474 671489 + AmpersandAmpersandToken 671489 671492 + ParenthesizedExpression 671492 671584 + BinaryExpression 671494 671583 + CallExpression 671494 671537 + Identifier 671494 671520 + PropertyAccessExpression 671521 671536 + Identifier 671521 671531 + Identifier 671532 671536 + BarBarToken 671537 671540 + CallExpression 671540 671583 + Identifier 671540 671566 + PropertyAccessExpression 671567 671582 + Identifier 671567 671577 + Identifier 671578 671582 + AmpersandAmpersandToken 671584 671587 + ParenthesizedExpression 671587 671746 + BinaryExpression 671589 671745 + CallExpression 671589 671648 + Identifier 671589 671620 + PropertyAccessExpression 671621 671647 + PropertyAccessExpression 671621 671636 + Identifier 671621 671631 + Identifier 671632 671636 + Identifier 671637 671647 + BarBarToken 671648 671651 + ParenthesizedExpression 671651 671745 + BinaryExpression 671653 671744 + CallExpression 671653 671693 + Identifier 671653 671665 + PropertyAccessExpression 671666 671692 + PropertyAccessExpression 671666 671681 + Identifier 671666 671676 + Identifier 671677 671681 + Identifier 671682 671692 + AmpersandAmpersandToken 671693 671696 + CallExpression 671696 671744 + Identifier 671696 671716 + PropertyAccessExpression 671717 671743 + PropertyAccessExpression 671717 671732 + Identifier 671717 671727 + Identifier 671728 671732 + Identifier 671733 671743 + VariableStatement 671747 671998 + VariableDeclarationList 671747 671997 + VariableDeclaration 671762 671997 + Identifier 671762 671767 + ConditionalExpression 671769 671997 + Identifier 671769 671784 + QuestionToken 671784 671786 + CallExpression 671786 671818 + Identifier 671786 671802 + Identifier 671803 671817 + ColonToken 671818 671833 + ConditionalExpression 671833 671997 + Identifier 671833 671848 + QuestionToken 671848 671850 + CallExpression 671850 671919 + Identifier 671850 671878 + CallExpression 671879 671918 + Identifier 671879 671900 + PropertyAccessExpression 671901 671917 + Identifier 671901 671911 + Identifier 671912 671917 + ColonToken 671919 671934 + CallExpression 671934 671997 + Identifier 671934 671956 + CallExpression 671957 671996 + Identifier 671957 671978 + PropertyAccessExpression 671979 671995 + Identifier 671979 671989 + Identifier 671990 671995 + IfStatement 671998 677054 + BinaryExpression 672012 672191 + BinaryExpression 672012 672120 + BinaryExpression 672012 672055 + PropertyAccessExpression 672012 672036 + Identifier 672012 672030 + Identifier 672031 672036 + AmpersandToken 672036 672038 + PropertyAccessExpression 672038 672055 + Identifier 672038 672048 + Identifier 672049 672055 + AmpersandAmpersandToken 672055 672058 + BinaryExpression 672058 672120 + Identifier 672058 672076 + EqualsEqualsEqualsToken 672076 672080 + PropertyAccessExpression 672080 672120 + Identifier 672080 672106 + Identifier 672107 672120 + AmpersandAmpersandToken 672120 672123 + BinaryExpression 672123 672191 + PropertyAccessExpression 672123 672155 + Identifier 672123 672143 + Identifier 672144 672155 + EqualsEqualsEqualsToken 672155 672159 + PropertyAccessExpression 672159 672191 + Identifier 672159 672178 + Identifier 672179 672191 + Block 672202 677054 + VariableStatement 672204 672288 + VariableDeclarationList 672204 672287 + VariableDeclaration 672223 672287 + Identifier 672223 672236 + CallExpression 672238 672287 + Identifier 672238 672267 + AsExpression 672268 672286 + Identifier 672268 672272 + TypeReference 672275 672286 + Identifier 672275 672286 + VariableStatement 672288 672338 + VariableDeclarationList 672288 672337 + VariableDeclaration 672307 672337 + Identifier 672307 672315 + CallExpression 672317 672337 + Identifier 672317 672335 + ExpressionStatement 672338 672395 + CallExpression 672338 672394 + Identifier 672338 672363 + PropertyAccessExpression 672364 672384 + Identifier 672364 672376 + Identifier 672377 672384 + Identifier 672385 672393 + VariableStatement 672395 672442 + VariableDeclarationList 672395 672441 + VariableDeclaration 672414 672441 + Identifier 672414 672426 + PropertyAccessExpression 672428 672441 + Identifier 672428 672436 + Identifier 672437 672441 + IfStatement 672442 672582 + BinaryExpression 672460 672501 + Identifier 672460 672474 + AmpersandAmpersandToken 672474 672477 + PrefixUnaryExpression 672477 672501 + PropertyAccessExpression 672479 672501 + Identifier 672479 672493 + Identifier 672494 672501 + Block 672502 672582 + ExpressionStatement 672504 672567 + BinaryExpression 672504 672566 + PropertyAccessExpression 672504 672544 + Identifier 672504 672536 + Identifier 672537 672544 + EqualsToken 672544 672546 + CallExpression 672546 672566 + Identifier 672546 672564 + ExpressionStatement 672582 675556 + CallExpression 672582 675555 + PropertyAccessExpression 672582 672639 + NonNullExpression 672582 672631 + PropertyAccessExpression 672582 672630 + ParenthesizedExpression 672582 672622 + BinaryExpression 672597 672621 + Identifier 672597 672611 + BarBarToken 672611 672614 + Identifier 672614 672621 + Identifier 672623 672630 + Identifier 672632 672639 + ArrowFunction 672640 675554 + Parameter 672641 672642 + Identifier 672641 672642 + Parameter 672643 672648 + Identifier 672643 672648 + EqualsGreaterThanToken 672649 672652 + Block 672652 675554 + VariableStatement 672654 672714 + VariableDeclarationList 672654 672713 + VariableDeclaration 672677 672713 + Identifier 672677 672692 + NonNullExpression 672694 672713 + CallExpression 672694 672712 + PropertyAccessExpression 672694 672706 + Identifier 672694 672702 + Identifier 672703 672706 + Identifier 672707 672711 + IfStatement 672714 675539 + BinaryExpression 672736 672808 + BinaryExpression 672736 672774 + Identifier 672736 672750 + AmpersandAmpersandToken 672750 672753 + BinaryExpression 672753 672774 + Identifier 672753 672768 + ExclamationEqualsEqualsToken 672768 672772 + Identifier 672772 672774 + AmpersandAmpersandToken 672774 672777 + PrefixUnaryExpression 672777 672808 + ParenthesizedExpression 672779 672808 + BinaryExpression 672780 672807 + PropertyAccessExpression 672780 672787 + Identifier 672780 672781 + Identifier 672782 672787 + AmpersandToken 672787 672789 + PropertyAccessExpression 672789 672807 + Identifier 672789 672801 + Identifier 672802 672807 + Block 672809 675453 + IfStatement 672811 675434 + BinaryExpression 672837 672908 + BinaryExpression 672837 672864 + PropertyAccessExpression 672837 672844 + Identifier 672837 672838 + Identifier 672839 672844 + AmpersandToken 672844 672846 + PropertyAccessExpression 672846 672864 + Identifier 672846 672858 + Identifier 672859 672864 + AmpersandAmpersandToken 672864 672867 + BinaryExpression 672867 672908 + PropertyAccessExpression 672867 672888 + Identifier 672867 672882 + Identifier 672883 672888 + AmpersandToken 672888 672890 + PropertyAccessExpression 672890 672908 + Identifier 672890 672902 + Identifier 672903 672908 + Block 672909 675307 + IfStatement 672911 674842 + BinaryExpression 673766 673919 + BinaryExpression 673766 673819 + PropertyAccessExpression 673766 673784 + Identifier 673766 673767 + Identifier 673768 673784 + AmpersandAmpersandToken 673784 673787 + PropertyAccessExpression 673787 673819 + Identifier 673787 673802 + Identifier 673803 673819 + AmpersandAmpersandToken 673819 673822 + BinaryExpression 673822 673919 + CallExpression 673822 673862 + Identifier 673822 673842 + PropertyAccessExpression 673843 673861 + Identifier 673843 673844 + Identifier 673845 673861 + ExclamationEqualsEqualsToken 673862 673866 + CallExpression 673866 673919 + Identifier 673866 673886 + PropertyAccessExpression 673887 673918 + Identifier 673887 673901 + Identifier 673902 673918 + Block 673920 674842 + VariableStatement 673922 674016 + VariableDeclarationList 673922 674015 + VariableDeclaration 673957 674015 + Identifier 673957 673971 + CallExpression 673973 674015 + Identifier 673973 674000 + PropertyAccessExpression 674001 674014 + Identifier 674001 674002 + Identifier 674003 674014 + VariableStatement 674016 674175 + VariableDeclarationList 674016 674174 + VariableDeclaration 674051 674174 + Identifier 674051 674070 + BinaryExpression 674072 674174 + PropertyAccessExpression 674072 674139 + CallExpression 674072 674133 + Identifier 674072 674080 + PropertyAccessExpression 674081 674112 + Identifier 674081 674095 + Identifier 674096 674112 + Identifier 674113 674132 + QuestionDotToken 674133 674135 + Identifier 674135 674139 + BarBarToken 674139 674142 + PropertyAccessExpression 674142 674174 + Identifier 674142 674157 + Identifier 674158 674174 + ExpressionStatement 674175 674495 + CallExpression 674175 674494 + Identifier 674175 674219 + CallExpression 674220 674330 + Identifier 674220 674259 + PropertyAccessExpression 674260 674278 + Identifier 674260 674261 + Identifier 674262 674278 + PropertyAccessExpression 674279 674314 + Identifier 674279 674291 + Identifier 674292 674314 + Identifier 674315 674329 + CallExpression 674331 674462 + Identifier 674331 674388 + Identifier 674389 674407 + PropertyAccessExpression 674408 674446 + Identifier 674408 674420 + Identifier 674421 674446 + Identifier 674447 674461 + ExpressionStatement 674495 674815 + CallExpression 674495 674814 + Identifier 674495 674539 + CallExpression 674540 674650 + Identifier 674540 674579 + Identifier 674580 674598 + PropertyAccessExpression 674599 674634 + Identifier 674599 674611 + Identifier 674612 674634 + Identifier 674635 674649 + CallExpression 674651 674782 + Identifier 674651 674708 + PropertyAccessExpression 674709 674727 + Identifier 674709 674710 + Identifier 674711 674727 + PropertyAccessExpression 674728 674766 + Identifier 674728 674740 + Identifier 674741 674766 + Identifier 674767 674781 + VariableStatement 674842 674933 + VariableDeclarationList 674842 674932 + VariableDeclaration 674873 674932 + Identifier 674873 674879 + CallExpression 674881 674932 + Identifier 674881 674894 + BinaryExpression 674895 674925 + PropertyAccessExpression 674895 674902 + Identifier 674895 674896 + Identifier 674897 674902 + BarToken 674902 674904 + PropertyAccessExpression 674904 674925 + Identifier 674904 674919 + Identifier 674920 674925 + Identifier 674926 674931 + ExpressionStatement 674933 675046 + BinaryExpression 674933 675045 + PropertyAccessExpression 674933 674975 + PropertyAccessExpression 674933 674970 + Identifier 674933 674964 + Identifier 674965 674970 + Identifier 674971 674975 + EqualsToken 674975 674977 + CallExpression 674977 675045 + Identifier 674977 674990 + ArrayLiteralExpression 674991 675044 + CallExpression 674992 675010 + Identifier 674992 675007 + Identifier 675008 675009 + CallExpression 675011 675043 + Identifier 675011 675027 + Identifier 675028 675042 + ExpressionStatement 675046 675129 + BinaryExpression 675046 675128 + PropertyAccessExpression 675046 675094 + Identifier 675046 675077 + Identifier 675078 675094 + EqualsToken 675094 675096 + PropertyAccessExpression 675096 675128 + Identifier 675096 675111 + Identifier 675112 675128 + ExpressionStatement 675129 675233 + BinaryExpression 675129 675232 + PropertyAccessExpression 675129 675173 + Identifier 675129 675160 + Identifier 675161 675173 + EqualsToken 675173 675175 + CallExpression 675175 675232 + Identifier 675175 675187 + PropertyAccessExpression 675188 675215 + Identifier 675188 675202 + Identifier 675203 675215 + PropertyAccessExpression 675216 675231 + Identifier 675216 675218 + Identifier 675219 675231 + ExpressionStatement 675233 675284 + CallExpression 675233 675283 + PropertyAccessExpression 675233 675270 + Identifier 675233 675266 + Identifier 675267 675270 + Identifier 675271 675275 + Identifier 675276 675282 + Block 675333 675434 + ExpressionStatement 675335 675411 + CallExpression 675335 675410 + PropertyAccessExpression 675335 675372 + Identifier 675335 675368 + Identifier 675369 675372 + Identifier 675373 675377 + CallExpression 675378 675409 + Identifier 675378 675390 + Identifier 675391 675392 + Identifier 675393 675408 + Block 675475 675539 + ExpressionStatement 675477 675520 + CallExpression 675477 675519 + PropertyAccessExpression 675477 675510 + Identifier 675477 675506 + Identifier 675507 675510 + Identifier 675511 675515 + Identifier 675516 675518 + VariableStatement 675556 675945 + VariableDeclarationList 675556 675944 + VariableDeclaration 675575 675944 + Identifier 675575 675582 + CallExpression 675584 675944 + Identifier 675584 675604 + ConditionalExpression 675605 675685 + BinaryExpression 675605 675651 + Identifier 675605 675634 + ExclamationEqualsEqualsToken 675634 675638 + PropertyAccessExpression 675638 675651 + Identifier 675638 675646 + Identifier 675647 675651 + QuestionToken 675651 675653 + Identifier 675653 675663 + ColonToken 675663 675665 + PropertyAccessExpression 675665 675685 + Identifier 675665 675678 + Identifier 675679 675685 + Identifier 675686 675789 + PropertyAccessExpression 675790 675835 + Identifier 675790 675820 + Identifier 675821 675835 + PropertyAccessExpression 675836 675886 + Identifier 675836 675866 + Identifier 675867 675886 + PropertyAccessExpression 675887 675928 + Identifier 675887 675917 + Identifier 675918 675928 + IfStatement 675945 676522 + BinaryExpression 675963 675991 + Identifier 675963 675974 + EqualsEqualsEqualsToken 675974 675978 + PropertyAccessExpression 675978 675991 + Identifier 675978 675986 + Identifier 675987 675991 + Block 675992 676522 + IfStatement 675994 676188 + PropertyAccessExpression 676016 676032 + Identifier 676016 676020 + Identifier 676021 676032 + Block 676033 676188 + ExpressionStatement 676035 676095 + BinaryExpression 676035 676094 + PropertyAccessExpression 676035 676075 + Identifier 676035 676063 + Identifier 676064 676075 + EqualsToken 676075 676077 + PropertyAccessExpression 676077 676094 + Identifier 676077 676082 + Identifier 676083 676094 + ExpressionStatement 676095 676169 + BinaryExpression 676095 676168 + PropertyAccessExpression 676095 676142 + Identifier 676095 676123 + Identifier 676124 676142 + EqualsToken 676142 676144 + PropertyAccessExpression 676144 676168 + Identifier 676144 676149 + Identifier 676150 676168 + IfStatement 676188 676507 + BinaryExpression 676210 676254 + CallExpression 676210 676230 + Identifier 676210 676224 + Identifier 676225 676229 + AmpersandToken 676230 676232 + PropertyAccessExpression 676232 676254 + Identifier 676232 676244 + Identifier 676245 676254 + Block 676255 676507 + ExpressionStatement 676257 676331 + BinaryExpression 676257 676330 + PropertyAccessExpression 676257 676297 + Identifier 676257 676285 + Identifier 676286 676297 + EqualsToken 676297 676299 + PropertyAccessExpression 676299 676330 + ParenthesizedExpression 676299 676323 + AsExpression 676301 676322 + Identifier 676301 676305 + TypeReference 676308 676322 + Identifier 676308 676322 + Identifier 676324 676330 + VariableStatement 676331 676406 + VariableDeclarationList 676331 676405 + VariableDeclaration 676358 676405 + Identifier 676358 676363 + CallExpression 676365 676405 + Identifier 676365 676382 + AsExpression 676383 676404 + Identifier 676383 676387 + TypeReference 676390 676404 + Identifier 676390 676404 + ExpressionStatement 676406 676488 + BinaryExpression 676406 676487 + PropertyAccessExpression 676406 676453 + Identifier 676406 676434 + Identifier 676435 676453 + EqualsToken 676453 676455 + ConditionalExpression 676455 676487 + CallExpression 676455 676468 + Identifier 676455 676462 + Identifier 676463 676467 + QuestionToken 676468 676470 + Identifier 676470 676475 + ColonToken 676475 676477 + Identifier 676477 676487 + ExpressionStatement 676522 676697 + BinaryExpression 676522 676696 + PropertyAccessExpression 676522 676554 + Identifier 676522 676542 + Identifier 676543 676554 + BarEqualsToken 676554 676557 + BinaryExpression 676557 676696 + CallExpression 676557 676592 + Identifier 676557 676584 + ArrayLiteralExpression 676585 676591 + Identifier 676586 676590 + BarToken 676592 676594 + BinaryExpression 676594 676696 + CallExpression 676594 676615 + Identifier 676594 676609 + Identifier 676610 676614 + AmpersandToken 676615 676617 + ParenthesizedExpression 676617 676696 + BinaryExpression 676619 676695 + BinaryExpression 676619 676667 + PropertyAccessExpression 676619 676640 + Identifier 676619 676630 + Identifier 676631 676640 + BarToken 676640 676642 + PropertyAccessExpression 676642 676667 + Identifier 676642 676654 + Identifier 676655 676667 + BarToken 676667 676669 + PropertyAccessExpression 676669 676695 + Identifier 676669 676681 + Identifier 676682 676695 + IfStatement 676697 677015 + BinaryExpression 676715 676832 + BinaryExpression 676715 676771 + PropertyAccessExpression 676715 676728 + Identifier 676715 676721 + Identifier 676722 676728 + AmpersandAmpersandToken 676728 676731 + BinaryExpression 676731 676771 + PropertyAccessExpression 676731 676751 + PropertyAccessExpression 676731 676745 + Identifier 676731 676738 + Identifier 676739 676745 + Identifier 676746 676751 + AmpersandToken 676751 676753 + PropertyAccessExpression 676753 676771 + Identifier 676753 676765 + Identifier 676766 676771 + AmpersandAmpersandToken 676771 676774 + BinaryExpression 676774 676832 + Identifier 676774 676779 + EqualsEqualsEqualsToken 676779 676783 + CallExpression 676783 676832 + Identifier 676783 676817 + PropertyAccessExpression 676818 676831 + Identifier 676818 676824 + Identifier 676825 676831 + Block 676833 677015 + ExpressionStatement 676835 676908 + BinaryExpression 676835 676907 + PropertyAccessExpression 676835 676871 + Identifier 676835 676859 + Identifier 676860 676871 + BarEqualsToken 676871 676874 + PropertyAccessExpression 676874 676907 + Identifier 676874 676886 + Identifier 676887 676907 + ReturnStatement 677015 677043 + Identifier 677035 677042 + IfStatement 677054 677203 + CallExpression 677068 677097 + Identifier 677068 677091 + Identifier 677092 677096 + Block 677098 677203 + ExpressionStatement 677100 677158 + CallExpression 677100 677157 + Identifier 677100 677131 + Identifier 677132 677142 + Identifier 677143 677156 + ReturnStatement 677158 677192 + Identifier 677178 677191 + ReturnStatement 677203 677225 + Identifier 677219 677224 + FunctionDeclaration 677232 677562 + Identifier 677248 677278 + Parameter 677279 677303 + Identifier 677279 677291 + TypeReference 677292 677303 + Identifier 677292 677303 + Parameter 677304 677327 + Identifier 677304 677315 + TypeReference 677316 677327 + Identifier 677316 677327 + Block 677328 677562 + ReturnStatement 677330 677555 + BinaryExpression 677346 677554 + BinaryExpression 677346 677459 + CallExpression 677346 677387 + Identifier 677346 677373 + Identifier 677374 677386 + AmpersandAmpersandToken 677387 677403 + BinaryExpression 677403 677459 + PropertyAccessExpression 677403 677432 + PropertyAccessExpression 677403 677427 + Identifier 677403 677416 + Identifier 677417 677427 + Identifier 677428 677432 + EqualsEqualsEqualsToken 677432 677436 + PropertyAccessExpression 677436 677459 + Identifier 677436 677447 + Identifier 677448 677459 + AmpersandAmpersandToken 677459 677475 + CallExpression 677475 677554 + Identifier 677475 677499 + Identifier 677500 677510 + ArrowFunction 677511 677553 + Parameter 677511 677513 + Identifier 677511 677513 + EqualsGreaterThanToken 677513 677516 + CallExpression 677516 677553 + Identifier 677516 677536 + Identifier 677537 677549 + Identifier 677550 677552 + FunctionDeclaration 677562 678255 + Identifier 677578 677605 + Parameter 677606 677628 + Identifier 677606 677616 + TypeReference 677617 677628 + Identifier 677617 677628 + Block 677629 678255 + VariableStatement 677631 677769 + VariableDeclarationList 677631 677768 + VariableDeclaration 677646 677768 + Identifier 677646 677660 + CallExpression 677662 677768 + Identifier 677662 677679 + Identifier 677680 677690 + FalseKeyword 677691 677723 + FalseKeyword 677724 677767 + ReturnStatement 677769 678248 + BinaryExpression 678004 678247 + BinaryExpression 678004 678120 + BinaryExpression 678004 678050 + PropertyAccessExpression 678004 678023 + Identifier 678004 678018 + Identifier 678019 678023 + EqualsEqualsEqualsToken 678023 678027 + PropertyAccessExpression 678027 678050 + Identifier 678027 678038 + Identifier 678039 678050 + BarBarToken 678050 678053 + BinaryExpression 678053 678120 + PropertyAccessExpression 678053 678085 + Identifier 678053 678080 + Identifier 678081 678085 + EqualsEqualsEqualsToken 678085 678089 + PropertyAccessExpression 678089 678120 + Identifier 678089 678100 + Identifier 678101 678120 + BarBarToken 678120 678123 + ParenthesizedExpression 678123 678247 + BinaryExpression 678138 678246 + BinaryExpression 678138 678190 + PropertyAccessExpression 678138 678156 + Identifier 678138 678151 + Identifier 678152 678156 + EqualsEqualsEqualsToken 678156 678160 + PropertyAccessExpression 678160 678190 + Identifier 678160 678171 + Identifier 678172 678190 + AmpersandAmpersandToken 678190 678193 + PrefixUnaryExpression 678193 678246 + CallExpression 678195 678246 + Identifier 678195 678224 + PropertyAccessExpression 678225 678245 + Identifier 678225 678238 + Identifier 678239 678245 + FunctionDeclaration 678255 678794 + Identifier 678271 678312 + Parameter 678313 678326 + Identifier 678313 678318 + ArrayType 678319 678326 + TypeReference 678319 678324 + Identifier 678319 678324 + Parameter 678327 678355 + Identifier 678327 678340 + ArrayType 678341 678355 + TypeReference 678341 678353 + Identifier 678341 678353 + UnionType 678357 678376 + ArrayType 678357 678364 + TypeReference 678357 678362 + Identifier 678357 678362 + UndefinedKeyword 678366 678376 + Block 678376 678794 + ExpressionStatement 678378 678439 + CallExpression 678378 678438 + PropertyAccessExpression 678378 678400 + Identifier 678378 678393 + Identifier 678394 678400 + BinaryExpression 678401 678437 + PropertyAccessExpression 678401 678413 + Identifier 678401 678406 + Identifier 678407 678413 + EqualsEqualsEqualsToken 678413 678417 + PropertyAccessExpression 678417 678437 + Identifier 678417 678430 + Identifier 678431 678437 + ReturnStatement 678439 678787 + CallExpression 678455 678786 + PropertyAccessExpression 678455 678468 + Identifier 678455 678461 + Identifier 678462 678468 + ArrowFunction 678469 678785 + Parameter 678470 678471 + Identifier 678470 678471 + Parameter 678472 678474 + Identifier 678472 678474 + EqualsGreaterThanToken 678475 678478 + Block 678478 678785 + VariableStatement 678480 678530 + VariableDeclarationList 678480 678529 + VariableDeclaration 678499 678529 + Identifier 678499 678511 + ElementAccessExpression 678513 678529 + Identifier 678513 678526 + Identifier 678527 678528 + VariableStatement 678530 678700 + VariableDeclarationList 678530 678699 + VariableDeclaration 678549 678699 + Identifier 678549 678560 + ConditionalExpression 678562 678699 + CallExpression 678562 678594 + Identifier 678562 678581 + Identifier 678582 678593 + QuestionToken 678594 678596 + Identifier 678596 678608 + ColonToken 678608 678610 + ConditionalExpression 678610 678699 + CallExpression 678610 678666 + Identifier 678610 678646 + PropertyAccessExpression 678647 678665 + Identifier 678647 678658 + Identifier 678659 678665 + QuestionToken 678666 678668 + PropertyAccessExpression 678668 678687 + Identifier 678668 678680 + Identifier 678681 678687 + ColonToken 678687 678689 + Identifier 678689 678699 + ReturnStatement 678700 678774 + BinaryExpression 678720 678773 + Identifier 678720 678731 + AmpersandAmpersandToken 678731 678734 + CallExpression 678734 678773 + Identifier 678734 678761 + Identifier 678762 678772 + FunctionDeclaration 678794 680657 + Identifier 679091 679117 + Parameter 679118 679141 + Identifier 679118 679125 + TypeReference 679126 679141 + Identifier 679126 679141 + Parameter 679142 679173 + Identifier 679142 679163 + QuestionToken 679163 679164 + BooleanKeyword 679165 679173 + Parameter 679174 679197 + Identifier 679174 679187 + QuestionToken 679187 679188 + BooleanKeyword 679189 679197 + TypeReference 679199 679204 + Identifier 679199 679204 + Block 679204 680657 + IfStatement 679206 679846 + PropertyAccessExpression 679220 679239 + Identifier 679220 679227 + Identifier 679228 679239 + Block 679240 679846 + VariableStatement 679242 679681 + VariableDeclarationList 679242 679680 + VariableDeclaration 679521 679680 + Identifier 679521 679536 + ConditionalExpression 679538 679680 + CallExpression 679538 679569 + Identifier 679538 679555 + PropertyAccessExpression 679556 679568 + Identifier 679556 679563 + Identifier 679564 679568 + QuestionToken 679569 679571 + CallExpression 679571 679666 + Identifier 679571 679597 + PropertyAccessExpression 679598 679610 + Identifier 679598 679605 + Identifier 679606 679610 + TrueKeyword 679611 679641 + FalseKeyword 679642 679665 + ColonToken 679666 679668 + Identifier 679668 679680 + ReturnStatement 679681 679835 + CallExpression 679701 679834 + Identifier 679701 679716 + CallExpression 679717 679833 + Identifier 679717 679752 + Identifier 679753 679760 + CallExpression 679761 679832 + Identifier 679761 679789 + Identifier 679790 679797 + PropertyAccessExpression 679798 679815 + Identifier 679798 679808 + Identifier 679809 679815 + Identifier 679816 679831 + IfStatement 679846 680001 + CallExpression 679860 679890 + Identifier 679860 679876 + PropertyAccessExpression 679877 679889 + Identifier 679877 679884 + Identifier 679885 679889 + Block 679891 680001 + ReturnStatement 679893 679990 + CallExpression 679913 679989 + Identifier 679913 679939 + PropertyAccessExpression 679940 679952 + Identifier 679940 679947 + Identifier 679948 679952 + Identifier 679953 679974 + Identifier 679975 679988 + IfStatement 680001 680145 + BinaryExpression 680015 680081 + Identifier 680015 680027 + AmpersandAmpersandToken 680027 680030 + PrefixUnaryExpression 680030 680081 + CallExpression 680032 680081 + Identifier 680032 680072 + Identifier 680073 680080 + Block 680082 680145 + ExpressionStatement 680084 680134 + CallExpression 680084 680133 + Identifier 680084 680115 + Identifier 680116 680123 + Identifier 680124 680132 + ReturnStatement 680145 680650 + ConditionalExpression 680595 680649 + Identifier 680595 680616 + QuestionToken 680616 680618 + Identifier 680618 680639 + ColonToken 680639 680641 + Identifier 680641 680649 + FunctionDeclaration 680657 682431 + Identifier 680734 680766 + Parameter 680767 680796 + Identifier 680767 680774 + TypeReference 680775 680796 + Identifier 680775 680796 + Parameter 680797 680827 + Identifier 680797 680818 + BooleanKeyword 680819 680827 + Parameter 680828 680850 + Identifier 680828 680841 + BooleanKeyword 680842 680850 + TypeReference 680852 680857 + Identifier 680852 680857 + Block 680857 682431 + VariableStatement 680859 680905 + VariableDeclarationList 680859 680904 + VariableDeclaration 680874 680904 + Identifier 680874 680882 + CallExpression 680884 680904 + Identifier 680884 680902 + VariableStatement 680905 680958 + VariableDeclarationList 680905 680957 + VariableDeclaration 680918 680957 + Identifier 680918 680934 + UnionType 680935 680957 + TypeReference 680935 680945 + Identifier 680935 680945 + UndefinedKeyword 680947 680957 + VariableStatement 680958 681055 + VariableDeclarationList 680958 681054 + VariableDeclaration 680971 681054 + Identifier 680971 680983 + BinaryExpression 680985 681054 + PropertyAccessExpression 680985 681011 + Identifier 680985 680997 + Identifier 680998 681011 + BarToken 681011 681013 + PropertyAccessExpression 681013 681054 + Identifier 681013 681025 + Identifier 681026 681054 + ExpressionStatement 681055 682042 + CallExpression 681055 682041 + Identifier 681055 681072 + PropertyAccessExpression 681073 681089 + Identifier 681073 681080 + Identifier 681081 681089 + ArrowFunction 681090 682040 + Parameter 681090 681092 + Identifier 681090 681092 + EqualsGreaterThanToken 681092 681095 + Block 681095 682040 + VariableStatement 681097 681163 + VariableDeclarationList 681097 681162 + VariableDeclaration 681116 681162 + Identifier 681116 681121 + BinaryExpression 681123 681162 + PropertyAccessExpression 681123 681138 + Identifier 681123 681125 + Identifier 681126 681138 + BarBarToken 681138 681141 + AsExpression 681141 681162 + PropertyAccessExpression 681141 681148 + Identifier 681141 681143 + Identifier 681144 681148 + TypeReference 681151 681162 + Identifier 681151 681162 + IfStatement 681163 681335 + PropertyAccessExpression 681181 681197 + Identifier 681181 681182 + Identifier 681183 681197 + Block 681198 681335 + ExpressionStatement 681200 681295 + BinaryExpression 681200 681294 + Identifier 681200 681233 + EqualsToken 681233 681235 + CallExpression 681235 681294 + Identifier 681235 681251 + Identifier 681252 681262 + Identifier 681263 681271 + FalseKeyword 681272 681293 + ReturnStatement 681295 681320 + VariableStatement 681335 681405 + VariableDeclarationList 681335 681404 + VariableDeclaration 681356 681404 + Identifier 681356 681365 + CallExpression 681367 681404 + Identifier 681367 681398 + Identifier 681399 681403 + IfStatement 681405 681666 + PrefixUnaryExpression 681423 681460 + CallExpression 681424 681460 + Identifier 681424 681450 + Identifier 681451 681459 + Block 681461 681666 + ExpressionStatement 681463 681626 + BinaryExpression 681463 681625 + Identifier 681463 681567 + BarEqualsToken 681567 681570 + PropertyAccessExpression 681570 681625 + Identifier 681570 681582 + Identifier 681583 681625 + ReturnStatement 681626 681651 + VariableStatement 681666 681727 + VariableDeclarationList 681666 681726 + VariableDeclaration 681685 681726 + Identifier 681685 681690 + CallExpression 681692 681726 + Identifier 681692 681716 + Identifier 681717 681725 + VariableStatement 681727 681821 + VariableDeclarationList 681727 681820 + VariableDeclaration 681746 681820 + Identifier 681746 681752 + BinaryExpression 681754 681820 + PropertyAccessExpression 681754 681775 + Identifier 681754 681766 + Identifier 681767 681775 + BarToken 681775 681777 + ParenthesizedExpression 681777 681820 + ConditionalExpression 681779 681819 + PropertyAccessExpression 681779 681792 + Identifier 681779 681780 + Identifier 681781 681792 + QuestionToken 681792 681794 + PropertyAccessExpression 681794 681815 + Identifier 681794 681806 + Identifier 681807 681815 + ColonToken 681815 681817 + NumericLiteral 681817 681819 + VariableStatement 681821 681876 + VariableDeclarationList 681821 681875 + VariableDeclaration 681840 681875 + Identifier 681840 681847 + CallExpression 681849 681875 + Identifier 681849 681862 + Identifier 681863 681868 + Identifier 681869 681874 + ExpressionStatement 681876 681975 + BinaryExpression 681876 681974 + PropertyAccessExpression 681876 681907 + PropertyAccessExpression 681876 681902 + Identifier 681876 681896 + Identifier 681897 681902 + Identifier 681903 681907 + EqualsToken 681907 681909 + CallExpression 681909 681974 + Identifier 681909 681935 + Identifier 681936 681937 + Identifier 681938 681959 + Identifier 681960 681973 + ExpressionStatement 681975 682029 + CallExpression 681975 682028 + PropertyAccessExpression 681975 682000 + Identifier 681975 681996 + Identifier 681997 682000 + PropertyAccessExpression 682001 682019 + Identifier 682001 682007 + Identifier 682008 682019 + Identifier 682020 682027 + VariableStatement 682042 682192 + VariableDeclarationList 682042 682191 + VariableDeclaration 682057 682191 + Identifier 682057 682064 + CallExpression 682066 682191 + Identifier 682066 682086 + Identifier 682087 682107 + Identifier 682108 682116 + Identifier 682117 682128 + Identifier 682129 682140 + ConditionalExpression 682141 682190 + Identifier 682141 682157 + QuestionToken 682157 682159 + ArrayLiteralExpression 682159 682177 + Identifier 682161 682176 + ColonToken 682177 682179 + Identifier 682179 682190 + ExpressionStatement 682192 682236 + BinaryExpression 682192 682235 + PropertyAccessExpression 682192 682220 + Identifier 682192 682208 + Identifier 682209 682220 + BarEqualsToken 682220 682223 + Identifier 682223 682235 + IfStatement 682236 682400 + Identifier 682250 682270 + Block 682271 682400 + ExpressionStatement 682273 682312 + BinaryExpression 682273 682311 + PropertyAccessExpression 682273 682301 + Identifier 682273 682293 + Identifier 682294 682301 + EqualsToken 682301 682303 + Identifier 682303 682311 + ExpressionStatement 682312 682389 + BinaryExpression 682312 682388 + PropertyAccessExpression 682312 682344 + Identifier 682312 682332 + Identifier 682333 682344 + BarEqualsToken 682344 682347 + PropertyAccessExpression 682347 682388 + Identifier 682347 682359 + Identifier 682360 682388 + ReturnStatement 682400 682424 + Identifier 682416 682423 + FunctionDeclaration 682431 683858 + Identifier 682507 682538 + Parameter 682539 682562 + Identifier 682539 682546 + TypeReference 682547 682562 + Identifier 682547 682562 + Parameter 682563 682593 + Identifier 682563 682584 + BooleanKeyword 682585 682593 + Parameter 682594 682616 + Identifier 682594 682607 + BooleanKeyword 682608 682616 + TypeReference 682618 682623 + Identifier 682618 682623 + Block 682623 683858 + VariableStatement 682625 682669 + VariableDeclarationList 682625 682668 + VariableDeclaration 682640 682668 + Identifier 682640 682649 + PropertyAccessExpression 682651 682668 + Identifier 682651 682659 + Identifier 682660 682668 + VariableStatement 682669 682725 + VariableDeclarationList 682669 682724 + VariableDeclaration 682684 682724 + Identifier 682684 682696 + CallExpression 682698 682724 + Identifier 682698 682714 + Identifier 682715 682723 + VariableStatement 682725 682873 + VariableDeclarationList 682725 682872 + VariableDeclaration 682740 682872 + Identifier 682740 682752 + ConditionalExpression 682754 682872 + BinaryExpression 682754 682846 + BinaryExpression 682754 682816 + Identifier 682754 682766 + AmpersandAmpersandToken 682766 682769 + BinaryExpression 682769 682816 + PropertyAccessExpression 682769 682786 + Identifier 682769 682781 + Identifier 682782 682786 + EqualsEqualsEqualsToken 682786 682790 + PropertyAccessExpression 682790 682816 + Identifier 682790 682801 + Identifier 682802 682816 + AmpersandAmpersandToken 682816 682819 + PropertyAccessExpression 682819 682846 + Identifier 682819 682831 + Identifier 682832 682846 + QuestionToken 682846 682848 + Identifier 682848 682860 + ColonToken 682860 682862 + Identifier 682862 682872 + IfStatement 682873 683067 + BinaryExpression 682887 682948 + BinaryExpression 682887 682908 + PropertyAccessExpression 682887 682902 + Identifier 682887 682895 + Identifier 682896 682902 + EqualsEqualsEqualsToken 682902 682906 + NumericLiteral 682906 682908 + BarBarToken 682908 682911 + BinaryExpression 682911 682948 + BinaryExpression 682911 682933 + PropertyAccessExpression 682911 682927 + Identifier 682911 682920 + Identifier 682921 682927 + EqualsEqualsEqualsToken 682927 682931 + NumericLiteral 682931 682933 + AmpersandAmpersandToken 682933 682936 + Identifier 682936 682948 + Block 682949 683067 + ReturnStatement 682951 683056 + ConditionalExpression 682971 683055 + BinaryExpression 682971 683010 + Identifier 682971 682987 + GreaterThanEqualsToken 682987 682990 + PropertyAccessExpression 682990 683010 + Identifier 682990 683003 + Identifier 683004 683010 + QuestionToken 683010 683012 + CallExpression 683012 683040 + Identifier 683012 683031 + Identifier 683032 683039 + ColonToken 683040 683042 + Identifier 683042 683055 + VariableStatement 683067 683218 + VariableDeclarationList 683067 683217 + VariableDeclaration 683082 683217 + Identifier 683082 683095 + CallExpression 683097 683217 + Identifier 683097 683101 + Identifier 683102 683110 + ArrowFunction 683111 683216 + Parameter 683111 683113 + Identifier 683111 683113 + EqualsGreaterThanToken 683113 683116 + ConditionalExpression 683116 683216 + CallExpression 683116 683139 + Identifier 683116 683136 + Identifier 683137 683138 + QuestionToken 683139 683141 + Identifier 683141 683149 + ColonToken 683149 683151 + CallExpression 683151 683216 + Identifier 683151 683177 + Identifier 683178 683179 + Identifier 683180 683201 + Identifier 683202 683215 + VariableStatement 683218 683370 + VariableDeclarationList 683218 683369 + VariableDeclaration 683233 683369 + Identifier 683233 683243 + BinaryExpression 683245 683369 + CallExpression 683245 683365 + Identifier 683245 683259 + Identifier 683260 683268 + ArrowFunction 683269 683343 + Parameter 683269 683271 + Identifier 683269 683271 + EqualsGreaterThanToken 683271 683274 + PrefixUnaryExpression 683274 683343 + ParenthesizedExpression 683276 683343 + BinaryExpression 683277 683342 + BinaryExpression 683277 683320 + BinaryExpression 683277 683294 + Identifier 683277 683278 + EqualsEqualsEqualsToken 683278 683282 + Identifier 683282 683294 + BarBarToken 683294 683297 + CallExpression 683297 683320 + Identifier 683297 683317 + Identifier 683318 683319 + BarBarToken 683320 683323 + CallExpression 683323 683342 + Identifier 683323 683339 + Identifier 683340 683341 + BinaryExpression 683344 683364 + PropertyAccessExpression 683344 683360 + Identifier 683344 683353 + Identifier 683354 683360 + MinusToken 683360 683362 + NumericLiteral 683362 683364 + PlusToken 683365 683367 + NumericLiteral 683367 683369 + VariableStatement 683370 683529 + VariableDeclarationList 683370 683528 + VariableDeclaration 683385 683528 + Identifier 683385 683398 + CallExpression 683400 683528 + Identifier 683400 683404 + Identifier 683405 683413 + ArrowFunction 683414 683527 + Parameter 683416 683417 + Identifier 683416 683417 + Parameter 683418 683420 + Identifier 683418 683420 + EqualsGreaterThanToken 683421 683424 + ConditionalExpression 683424 683527 + BinaryExpression 683424 683442 + Identifier 683424 683426 + EqualsEqualsEqualsToken 683426 683430 + Identifier 683430 683442 + QuestionToken 683442 683444 + PropertyAccessExpression 683444 683462 + Identifier 683444 683457 + Identifier 683458 683462 + ColonToken 683462 683464 + ConditionalExpression 683464 683527 + BinaryExpression 683464 683479 + Identifier 683464 683466 + GreaterThanEqualsToken 683466 683469 + Identifier 683469 683479 + QuestionToken 683479 683481 + PropertyAccessExpression 683481 683503 + Identifier 683481 683494 + Identifier 683495 683503 + ColonToken 683503 683505 + PropertyAccessExpression 683505 683527 + Identifier 683505 683518 + Identifier 683519 683527 + VariableStatement 683529 683613 + VariableDeclarationList 683529 683612 + VariableDeclaration 683542 683612 + Identifier 683542 683549 + AsExpression 683551 683612 + CallExpression 683551 683595 + Identifier 683551 683567 + Identifier 683568 683580 + Identifier 683581 683594 + TypeReference 683598 683612 + Identifier 683598 683612 + IfStatement 683613 683827 + Identifier 683627 683647 + Block 683648 683827 + ExpressionStatement 683650 683700 + BinaryExpression 683650 683699 + Identifier 683650 683670 + EqualsToken 683670 683672 + CallExpression 683672 683699 + Identifier 683672 683691 + Identifier 683692 683698 + ExpressionStatement 683700 683739 + BinaryExpression 683700 683738 + PropertyAccessExpression 683700 683728 + Identifier 683700 683720 + Identifier 683721 683728 + EqualsToken 683728 683730 + Identifier 683730 683738 + ExpressionStatement 683739 683816 + BinaryExpression 683739 683815 + PropertyAccessExpression 683739 683771 + Identifier 683739 683759 + Identifier 683760 683771 + BarEqualsToken 683771 683774 + PropertyAccessExpression 683774 683815 + Identifier 683774 683786 + Identifier 683787 683815 + ReturnStatement 683827 683851 + Identifier 683843 683850 + FunctionDeclaration 683858 685143 + Identifier 684600 684626 + Parameter 684627 684650 + Identifier 684627 684634 + TypeReference 684635 684650 + Identifier 684635 684650 + Parameter 684651 684680 + Identifier 684651 684672 + FalseKeyword 684674 684680 + Parameter 684681 684702 + Identifier 684681 684694 + FalseKeyword 684696 684702 + TypeReference 684704 684709 + Identifier 684704 684709 + Block 684709 685143 + IfStatement 684711 684787 + Identifier 684725 684745 + ExpressionStatement 684746 684787 + CallExpression 684746 684786 + PropertyAccessExpression 684746 684777 + Identifier 684746 684772 + Identifier 684773 684777 + Identifier 684778 684785 + VariableStatement 684787 685044 + VariableDeclarationList 684787 685043 + VariableDeclaration 684802 685043 + Identifier 684802 684809 + ConditionalExpression 684811 685043 + BinaryExpression 684811 684860 + PropertyAccessExpression 684811 684824 + Identifier 684811 684819 + Identifier 684820 684824 + EqualsEqualsEqualsToken 684824 684828 + PropertyAccessExpression 684828 684860 + Identifier 684828 684839 + Identifier 684840 684860 + QuestionToken 684860 684875 + CallExpression 684875 684952 + Identifier 684875 684907 + Identifier 684908 684915 + Identifier 684916 684937 + Identifier 684938 684951 + ColonToken 684952 684967 + CallExpression 684967 685043 + Identifier 684967 684998 + Identifier 684999 685006 + Identifier 685007 685028 + Identifier 685029 685042 + IfStatement 685044 685112 + Identifier 685058 685078 + ExpressionStatement 685079 685112 + CallExpression 685079 685111 + PropertyAccessExpression 685079 685109 + Identifier 685079 685105 + Identifier 685106 685109 + ReturnStatement 685112 685136 + Identifier 685128 685135 + FunctionDeclaration 685143 686272 + Identifier 685878 685919 + Parameter 685920 686057 + Identifier 685920 685931 + UnionType 685932 686057 + TypeReference 685932 685953 + Identifier 685932 685953 + TypeReference 685955 685975 + Identifier 685955 685975 + TypeReference 685977 685995 + Identifier 685977 685995 + TypeReference 685997 686017 + Identifier 685997 686017 + TypeReference 686019 686034 + Identifier 686019 686034 + TypeReference 686036 686057 + Identifier 686036 686057 + Parameter 686058 686081 + Identifier 686058 686071 + QuestionToken 686071 686072 + BooleanKeyword 686073 686081 + TypeReference 686083 686088 + Identifier 686083 686088 + Block 686088 686272 + ReturnStatement 686090 686265 + CallExpression 686106 686264 + Identifier 686106 686142 + CallExpression 686143 686236 + Identifier 686143 686176 + Identifier 686177 686188 + TrueKeyword 686189 686217 + PropertyAccessExpression 686218 686235 + Identifier 686218 686228 + Identifier 686229 686235 + Identifier 686237 686249 + Identifier 686250 686263 + FunctionDeclaration 686272 687245 + Identifier 686288 686316 + Parameter 686317 686339 + Identifier 686317 686321 + TypeReference 686322 686339 + Identifier 686322 686339 + TypeReference 686341 686346 + Identifier 686341 686346 + Block 686346 687245 + VariableStatement 686348 686391 + VariableDeclarationList 686348 686390 + VariableDeclaration 686363 686390 + Identifier 686363 686369 + CallExpression 686371 686390 + Identifier 686371 686384 + Identifier 686385 686389 + IfStatement 686391 687202 + PrefixUnaryExpression 686405 686424 + PropertyAccessExpression 686406 686424 + Identifier 686406 686411 + Identifier 686412 686424 + Block 686425 687202 + VariableStatement 686427 686533 + VariableDeclarationList 686427 686532 + VariableDeclaration 686446 686532 + Identifier 686446 686453 + CallExpression 686455 686532 + Identifier 686455 686468 + PropertyAccessExpression 686469 686494 + Identifier 686469 686480 + Identifier 686481 686494 + PropertyAccessExpression 686495 686531 + Identifier 686495 686514 + Identifier 686515 686531 + VariableStatement 686533 686583 + VariableDeclarationList 686533 686582 + VariableDeclaration 686552 686582 + Identifier 686552 686560 + CallExpression 686562 686582 + Identifier 686562 686580 + ExpressionStatement 686583 686959 + CallExpression 686583 686958 + Identifier 686583 686604 + PropertyAccessExpression 686605 686618 + Identifier 686605 686609 + Identifier 686610 686618 + ArrowFunction 686619 686957 + Parameter 686619 686624 + Identifier 686619 686624 + EqualsGreaterThanToken 686624 686627 + Block 686627 686957 + VariableStatement 686629 686731 + VariableDeclarationList 686629 686730 + VariableDeclaration 686652 686730 + Identifier 686652 686659 + CallExpression 686661 686730 + Identifier 686661 686674 + PropertyAccessExpression 686675 686695 + Identifier 686675 686686 + Identifier 686687 686695 + CallExpression 686696 686729 + Identifier 686696 686723 + Identifier 686724 686728 + ExpressionStatement 686731 686772 + BinaryExpression 686731 686771 + PropertyAccessExpression 686731 686762 + Identifier 686731 686755 + Identifier 686756 686762 + EqualsToken 686762 686764 + Identifier 686764 686771 + ExpressionStatement 686772 686837 + BinaryExpression 686772 686836 + PropertyAccessExpression 686772 686807 + PropertyAccessExpression 686772 686802 + Identifier 686772 686796 + Identifier 686797 686802 + Identifier 686803 686807 + EqualsToken 686807 686809 + CallExpression 686809 686836 + Identifier 686809 686830 + Identifier 686831 686835 + ExpressionStatement 686837 686884 + BinaryExpression 686837 686883 + PropertyAccessExpression 686837 686874 + PropertyAccessExpression 686837 686867 + Identifier 686837 686861 + Identifier 686862 686867 + Identifier 686868 686874 + EqualsToken 686874 686876 + Identifier 686876 686883 + ExpressionStatement 686884 686942 + CallExpression 686884 686941 + PropertyAccessExpression 686884 686913 + Identifier 686884 686909 + Identifier 686910 686913 + PropertyAccessExpression 686914 686932 + Identifier 686914 686920 + Identifier 686921 686932 + Identifier 686933 686940 + VariableStatement 686959 687059 + VariableDeclarationList 686959 687058 + VariableDeclaration 686978 687058 + Identifier 686978 686983 + CallExpression 686985 687058 + Identifier 686985 687005 + Identifier 687006 687012 + Identifier 687013 687021 + Identifier 687022 687033 + Identifier 687034 687045 + Identifier 687046 687057 + ExpressionStatement 687059 687151 + BinaryExpression 687059 687150 + PropertyAccessExpression 687059 687089 + Identifier 687059 687077 + Identifier 687078 687089 + BarEqualsToken 687089 687092 + BinaryExpression 687092 687150 + PropertyAccessExpression 687092 687118 + Identifier 687092 687104 + Identifier 687105 687118 + BarToken 687118 687120 + PropertyAccessExpression 687120 687150 + Identifier 687120 687132 + Identifier 687133 687150 + ExpressionStatement 687151 687191 + BinaryExpression 687151 687190 + PropertyAccessExpression 687151 687183 + Identifier 687151 687170 + Identifier 687171 687183 + EqualsToken 687183 687185 + Identifier 687185 687190 + ReturnStatement 687202 687238 + PropertyAccessExpression 687218 687237 + Identifier 687218 687224 + Identifier 687225 687237 + FunctionDeclaration 687245 687516 + Identifier 687261 687287 + Parameter 687288 687298 + Identifier 687288 687292 + TypeReference 687293 687298 + Identifier 687293 687298 + Block 687299 687516 + VariableStatement 687301 687348 + VariableDeclarationList 687301 687347 + VariableDeclaration 687316 687347 + Identifier 687316 687323 + CallExpression 687325 687347 + Identifier 687325 687341 + Identifier 687342 687346 + VariableStatement 687348 687442 + VariableDeclarationList 687348 687441 + VariableDeclaration 687363 687441 + Identifier 687363 687376 + CallExpression 687378 687441 + Identifier 687378 687417 + FalseKeyword 687418 687440 + ReturnStatement 687442 687509 + BinaryExpression 687458 687508 + BinaryExpression 687458 687481 + Identifier 687458 687471 + AmpersandAmpersandToken 687471 687474 + Identifier 687474 687481 + AmpersandAmpersandToken 687481 687484 + BinaryExpression 687484 687508 + Identifier 687484 687491 + EqualsEqualsEqualsToken 687491 687495 + Identifier 687495 687508 + FunctionDeclaration 687516 689036 + Identifier 687532 687568 + Parameter 687569 687591 + Identifier 687569 687573 + UnionType 687574 687591 + TypeReference 687574 687579 + Identifier 687574 687579 + UndefinedKeyword 687581 687591 + Parameter 687592 687609 + Identifier 687592 687604 + AnyKeyword 687605 687609 + Parameter 687610 687633 + Identifier 687610 687623 + QuestionToken 687623 687624 + BooleanKeyword 687625 687633 + Block 687634 689036 + IfStatement 687636 688530 + Identifier 687650 687654 + Block 687655 688530 + IfStatement 687657 688008 + BinaryExpression 687845 687925 + BinaryExpression 687845 687876 + PropertyAccessExpression 687845 687855 + Identifier 687845 687849 + Identifier 687850 687855 + AmpersandToken 687855 687857 + PropertyAccessExpression 687857 687876 + Identifier 687857 687867 + Identifier 687868 687876 + AmpersandAmpersandToken 687876 687879 + CallExpression 687879 687925 + Identifier 687879 687905 + PropertyAccessExpression 687906 687924 + Identifier 687906 687917 + Identifier 687918 687924 + Block 687926 688008 + ExpressionStatement 687928 687993 + BinaryExpression 687928 687992 + Identifier 687928 687950 + EqualsToken 687950 687952 + CallExpression 687952 687992 + Identifier 687952 687979 + Identifier 687980 687991 + IfStatement 688008 688118 + Identifier 688026 688038 + Block 688039 688118 + ExpressionStatement 688041 688103 + CallExpression 688041 688102 + Identifier 688041 688083 + Identifier 688084 688095 + Identifier 688096 688101 + IfStatement 688118 688475 + BinaryExpression 688243 688419 + BinaryExpression 688243 688364 + BinaryExpression 688243 688280 + PropertyAccessExpression 688243 688253 + Identifier 688243 688247 + Identifier 688248 688253 + AmpersandToken 688253 688255 + PropertyAccessExpression 688255 688280 + Identifier 688255 688265 + Identifier 688266 688280 + AmpersandAmpersandToken 688280 688283 + ParenthesizedExpression 688283 688364 + BinaryExpression 688285 688363 + CallExpression 688285 688314 + Identifier 688285 688301 + Identifier 688302 688313 + BarBarToken 688314 688317 + PrefixUnaryExpression 688317 688363 + CallExpression 688319 688363 + Identifier 688319 688350 + Identifier 688351 688362 + AmpersandAmpersandToken 688364 688367 + BinaryExpression 688367 688419 + PropertyAccessExpression 688367 688379 + Identifier 688367 688372 + Identifier 688373 688379 + ExclamationEqualsEqualsToken 688379 688383 + CallExpression 688383 688419 + Identifier 688383 688406 + Identifier 688407 688418 + Block 688420 688475 + ExpressionStatement 688422 688460 + BinaryExpression 688422 688459 + Identifier 688422 688444 + EqualsToken 688444 688446 + Identifier 688446 688459 + ReturnStatement 688475 688519 + CallExpression 688497 688518 + Identifier 688497 688512 + Identifier 688513 688517 + ExpressionStatement 688530 688717 + BinaryExpression 688530 688716 + Identifier 688530 688634 + EqualsToken 688634 688636 + ConditionalExpression 688636 688716 + BinaryExpression 688636 688691 + CallExpression 688636 688661 + Identifier 688636 688648 + Identifier 688649 688660 + AmpersandAmpersandToken 688661 688664 + PropertyAccessExpression 688664 688691 + Identifier 688664 688676 + Identifier 688677 688691 + QuestionToken 688691 688693 + Identifier 688693 688706 + ColonToken 688706 688708 + Identifier 688708 688716 + IfStatement 688717 689007 + Identifier 688836 688848 + Block 688849 689007 + IfStatement 688851 688996 + PrefixUnaryExpression 688869 688923 + CallExpression 688870 688923 + Identifier 688870 688910 + Identifier 688911 688922 + Block 688924 688996 + ExpressionStatement 688926 688981 + CallExpression 688926 688980 + Identifier 688926 688961 + Identifier 688962 688973 + Identifier 688974 688979 + ReturnStatement 689007 689029 + Identifier 689023 689028 + FunctionDeclaration 689036 689346 + Identifier 689052 689093 + Parameter 689094 689130 + Identifier 689094 689105 + TypeReference 689106 689130 + Identifier 689106 689130 + Block 689131 689346 + VariableStatement 689133 689188 + VariableDeclarationList 689133 689187 + VariableDeclaration 689148 689187 + Identifier 689148 689153 + CallExpression 689155 689187 + Identifier 689155 689174 + Identifier 689175 689186 + VariableStatement 689188 689280 + VariableDeclarationList 689188 689279 + VariableDeclaration 689203 689279 + Identifier 689203 689221 + ConditionalExpression 689223 689279 + BinaryExpression 689223 689258 + PropertyAccessExpression 689223 689233 + Identifier 689223 689228 + Identifier 689229 689233 + EqualsEqualsEqualsToken 689233 689237 + PropertyAccessExpression 689237 689258 + Identifier 689237 689248 + Identifier 689249 689258 + QuestionToken 689258 689260 + PropertyAccessExpression 689260 689272 + Identifier 689260 689265 + Identifier 689266 689272 + ColonToken 689272 689274 + Identifier 689274 689279 + ReturnStatement 689280 689339 + CallExpression 689296 689338 + Identifier 689296 689319 + Identifier 689320 689337 + FunctionDeclaration 689346 689566 + Identifier 689362 689394 + Parameter 689395 689405 + Identifier 689395 689399 + TypeReference 689400 689405 + Identifier 689400 689405 + Block 689406 689566 + VariableStatement 689408 689472 + VariableDeclarationList 689408 689471 + VariableDeclaration 689423 689471 + Identifier 689423 689432 + CallExpression 689434 689471 + Identifier 689434 689465 + Identifier 689466 689470 + IfStatement 689472 689559 + Identifier 689486 689494 + Block 689495 689559 + ReturnStatement 689497 689548 + CallExpression 689517 689547 + Identifier 689517 689537 + Identifier 689538 689546 + FunctionDeclaration 689566 690011 + Identifier 689582 689621 + Parameter 689622 689636 + Identifier 689622 689628 + TypeReference 689629 689636 + Identifier 689629 689636 + Block 689637 690011 + VariableStatement 689639 689684 + VariableDeclarationList 689639 689683 + VariableDeclaration 689652 689683 + Identifier 689652 689657 + PropertyAccessExpression 689659 689683 + Identifier 689659 689666 + Identifier 689667 689683 + IfStatement 689684 689744 + PrefixUnaryExpression 689698 689703 + Identifier 689699 689703 + Block 689704 689744 + ReturnStatement 689706 689733 + FalseKeyword 689726 689732 + IfStatement 689744 689854 + CallExpression 689758 689780 + Identifier 689758 689774 + Identifier 689775 689779 + Block 689781 689854 + ExpressionStatement 689783 689843 + BinaryExpression 689783 689842 + Identifier 689783 689801 + EqualsToken 689801 689803 + CallExpression 689803 689842 + Identifier 689803 689836 + Identifier 689837 689841 + IfStatement 689854 689981 + CallExpression 689868 689885 + Identifier 689868 689879 + Identifier 689880 689884 + Block 689886 689981 + ReturnStatement 689888 689970 + CallExpression 689908 689969 + Identifier 689908 689956 + PropertyAccessExpression 689957 689968 + Identifier 689957 689961 + Identifier 689962 689968 + ReturnStatement 689981 690004 + FalseKeyword 689997 690003 + FunctionDeclaration 690011 690873 + Identifier 690027 690066 + Parameter 690067 690081 + Identifier 690067 690073 + TypeReference 690074 690081 + Identifier 690074 690081 + TypeReference 690083 690088 + Identifier 690083 690088 + Block 690088 690873 + VariableStatement 690090 690137 + VariableDeclarationList 690090 690136 + VariableDeclaration 690105 690136 + Identifier 690105 690111 + CallExpression 690113 690136 + Identifier 690113 690128 + Identifier 690129 690135 + IfStatement 690137 690838 + PrefixUnaryExpression 690151 690162 + PropertyAccessExpression 690152 690162 + Identifier 690152 690157 + Identifier 690158 690162 + Block 690163 690838 + VariableStatement 690165 690245 + VariableDeclarationList 690165 690244 + VariableDeclaration 690184 690244 + Identifier 690184 690189 + CallExpression 690191 690244 + Identifier 690191 690236 + Identifier 690237 690243 + IfStatement 690245 690801 + BinaryExpression 690685 690747 + PrefixUnaryExpression 690685 690696 + PropertyAccessExpression 690686 690696 + Identifier 690686 690691 + Identifier 690692 690696 + AmpersandAmpersandToken 690696 690699 + PrefixUnaryExpression 690699 690747 + CallExpression 690701 690747 + Identifier 690701 690739 + Identifier 690740 690746 + Block 690748 690801 + ExpressionStatement 690750 690786 + BinaryExpression 690750 690785 + PropertyAccessExpression 690750 690778 + Identifier 690750 690773 + Identifier 690774 690778 + EqualsToken 690778 690780 + Identifier 690780 690785 + ReturnStatement 690801 690827 + Identifier 690821 690826 + ReturnStatement 690838 690866 + PropertyAccessExpression 690854 690865 + Identifier 690854 690860 + Identifier 690861 690865 + FunctionDeclaration 690873 697553 + Identifier 690889 690934 + Parameter 690935 690949 + Identifier 690935 690941 + TypeReference 690942 690949 + Identifier 690942 690949 + TypeReference 690951 690956 + Identifier 690951 690956 + Block 690956 697553 + IfStatement 690958 691116 + BinaryExpression 691010 691046 + PropertyAccessExpression 691010 691022 + Identifier 691010 691016 + Identifier 691017 691022 + AmpersandToken 691022 691024 + PropertyAccessExpression 691024 691046 + Identifier 691024 691036 + Identifier 691037 691046 + Block 691047 691116 + ReturnStatement 691049 691105 + CallExpression 691069 691104 + Identifier 691069 691096 + Identifier 691097 691103 + IfStatement 691116 691258 + BinaryExpression 691191 691215 + Identifier 691191 691197 + EqualsEqualsEqualsToken 691197 691201 + Identifier 691201 691215 + Block 691216 691258 + ReturnStatement 691218 691247 + Identifier 691238 691246 + IfStatement 691258 692189 + BinaryExpression 691272 691339 + BinaryExpression 691272 691312 + PropertyAccessExpression 691272 691284 + Identifier 691272 691278 + Identifier 691279 691284 + AmpersandToken 691284 691286 + PropertyAccessExpression 691286 691312 + Identifier 691286 691298 + Identifier 691299 691312 + AmpersandAmpersandToken 691312 691315 + PropertyAccessExpression 691315 691339 + Identifier 691315 691322 + Identifier 691323 691339 + Block 691340 692189 + VariableStatement 691342 691444 + VariableDeclarationList 691342 691443 + VariableDeclaration 691361 691443 + Identifier 691361 691372 + CallExpression 691374 691443 + Identifier 691374 691397 + CallExpression 691398 691442 + Identifier 691398 691417 + PropertyAccessExpression 691418 691441 + Identifier 691418 691424 + Identifier 691425 691441 + VariableStatement 691444 691527 + VariableDeclarationList 691444 691526 + VariableDeclaration 691463 691526 + Identifier 691463 691470 + CallExpression 691472 691526 + Identifier 691472 691485 + PropertyAccessExpression 691486 691502 + Identifier 691486 691496 + Identifier 691497 691502 + AsExpression 691503 691525 + StringLiteral 691503 691513 + TypeReference 691516 691525 + Identifier 691516 691525 + ExpressionStatement 691527 691626 + BinaryExpression 691527 691625 + PropertyAccessExpression 691527 691560 + Identifier 691527 691547 + Identifier 691548 691560 + EqualsToken 691560 691562 + ConditionalExpression 691562 691625 + PropertyAccessExpression 691562 691586 + Identifier 691562 691573 + Identifier 691574 691586 + QuestionToken 691586 691588 + CallExpression 691588 691620 + PropertyAccessExpression 691588 691618 + PropertyAccessExpression 691588 691612 + Identifier 691588 691599 + Identifier 691600 691612 + Identifier 691613 691618 + ColonToken 691620 691622 + ArrayLiteralExpression 691622 691625 + ExpressionStatement 691626 691663 + BinaryExpression 691626 691662 + PropertyAccessExpression 691626 691653 + Identifier 691626 691646 + Identifier 691647 691653 + EqualsToken 691653 691655 + Identifier 691655 691662 + ExpressionStatement 691663 691710 + BinaryExpression 691663 691709 + PropertyAccessExpression 691663 691696 + PropertyAccessExpression 691663 691689 + Identifier 691663 691683 + Identifier 691684 691689 + Identifier 691690 691696 + EqualsToken 691696 691698 + Identifier 691698 691709 + IfStatement 691710 691811 + PropertyAccessExpression 691728 691755 + Identifier 691728 691738 + Identifier 691739 691755 + ExpressionStatement 691756 691811 + BinaryExpression 691756 691810 + PropertyAccessExpression 691756 691780 + Identifier 691756 691763 + Identifier 691764 691780 + EqualsToken 691780 691782 + PropertyAccessExpression 691782 691810 + Identifier 691782 691793 + Identifier 691794 691810 + IfStatement 691811 691894 + PropertyAccessExpression 691829 691847 + Identifier 691829 691839 + Identifier 691840 691847 + ExpressionStatement 691848 691894 + BinaryExpression 691848 691893 + PropertyAccessExpression 691848 691863 + Identifier 691848 691855 + Identifier 691856 691863 + EqualsToken 691863 691865 + NewExpression 691865 691893 + Identifier 691869 691873 + PropertyAccessExpression 691874 691892 + Identifier 691874 691884 + Identifier 691885 691892 + IfStatement 691894 691977 + PropertyAccessExpression 691912 691930 + Identifier 691912 691922 + Identifier 691923 691930 + ExpressionStatement 691931 691977 + BinaryExpression 691931 691976 + PropertyAccessExpression 691931 691946 + Identifier 691931 691938 + Identifier 691939 691946 + EqualsToken 691946 691948 + NewExpression 691948 691976 + Identifier 691952 691956 + PropertyAccessExpression 691957 691975 + Identifier 691957 691967 + Identifier 691968 691975 + VariableStatement 691977 692027 + VariableDeclarationList 691977 692026 + VariableDeclaration 691996 692026 + Identifier 691996 692004 + CallExpression 692006 692026 + Identifier 692006 692024 + ExpressionStatement 692027 692084 + CallExpression 692027 692083 + PropertyAccessExpression 692027 692052 + Identifier 692027 692048 + Identifier 692049 692052 + AsExpression 692053 692074 + StringLiteral 692053 692062 + TypeReference 692065 692074 + Identifier 692065 692074 + Identifier 692075 692082 + ReturnStatement 692084 692178 + CallExpression 692104 692177 + Identifier 692104 692124 + Identifier 692125 692131 + Identifier 692132 692140 + Identifier 692141 692152 + Identifier 692153 692164 + Identifier 692165 692176 + ExpressionStatement 692189 692246 + CallExpression 692189 692245 + PropertyAccessExpression 692189 692220 + Identifier 692189 692204 + Identifier 692205 692220 + PropertyAccessExpression 692221 692244 + Identifier 692221 692227 + Identifier 692228 692244 + VariableStatement 692246 692300 + VariableDeclarationList 692246 692299 + VariableDeclaration 692261 692299 + Identifier 692261 692273 + PropertyAccessExpression 692275 692299 + Identifier 692275 692282 + Identifier 692283 692299 + IfStatement 692300 692653 + BinaryExpression 692360 692418 + CallExpression 692360 692385 + Identifier 692360 692372 + Identifier 692373 692384 + AmpersandAmpersandToken 692385 692388 + CallExpression 692388 692418 + Identifier 692388 692405 + Identifier 692406 692417 + Block 692419 692653 + IfStatement 692421 692528 + PrefixUnaryExpression 692439 692469 + PropertyAccessExpression 692440 692469 + PropertyAccessExpression 692440 692462 + Identifier 692440 692451 + Identifier 692452 692462 + Identifier 692463 692469 + Block 692470 692528 + ReturnStatement 692472 692513 + Identifier 692496 692512 + ReturnStatement 692528 692642 + CallExpression 692548 692641 + Identifier 692548 692563 + CallExpression 692564 692640 + Identifier 692564 692585 + CallExpression 692586 692639 + Identifier 692586 692601 + PropertyAccessExpression 692602 692638 + ElementAccessExpression 692602 692627 + PropertyAccessExpression 692602 692624 + Identifier 692602 692613 + Identifier 692614 692624 + NumericLiteral 692625 692626 + Identifier 692628 692638 + IfStatement 692653 692939 + CallExpression 692667 692690 + Identifier 692667 692677 + Identifier 692678 692689 + Block 692691 692939 + ReturnStatement 692693 692928 + CallExpression 692900 692927 + Identifier 692900 692919 + Identifier 692920 692926 + IfStatement 692939 693479 + PrefixUnaryExpression 693006 693062 + CallExpression 693007 693062 + Identifier 693007 693025 + Identifier 693026 693032 + PropertyAccessExpression 693033 693061 + Identifier 693033 693056 + Identifier 693057 693061 + Block 693063 693479 + IfStatement 693065 693416 + BinaryExpression 693254 693336 + BinaryExpression 693254 693292 + PropertyAccessExpression 693254 693266 + Identifier 693254 693260 + Identifier 693261 693266 + AmpersandToken 693266 693268 + PropertyAccessExpression 693268 693292 + Identifier 693268 693280 + Identifier 693281 693292 + AmpersandAmpersandToken 693292 693295 + PrefixUnaryExpression 693295 693336 + ParenthesizedExpression 693297 693336 + BinaryExpression 693298 693335 + PropertyAccessExpression 693298 693310 + Identifier 693298 693304 + Identifier 693305 693310 + AmpersandToken 693310 693312 + PropertyAccessExpression 693312 693335 + Identifier 693312 693324 + Identifier 693325 693335 + Block 693337 693416 + ReturnStatement 693339 693401 + CallExpression 693363 693400 + Identifier 693363 693392 + Identifier 693393 693399 + ReturnStatement 693416 693468 + CallExpression 693436 693467 + Identifier 693436 693459 + Identifier 693460 693466 + VariableStatement 693479 693504 + VariableDeclarationList 693479 693503 + VariableDeclaration 693492 693503 + Identifier 693492 693497 + TypeReference 693498 693503 + Identifier 693498 693503 + IfStatement 693504 697071 + BinaryExpression 693518 693566 + PropertyAccessExpression 693518 693534 + Identifier 693518 693529 + Identifier 693530 693534 + EqualsEqualsEqualsToken 693534 693538 + PropertyAccessExpression 693538 693566 + Identifier 693538 693549 + Identifier 693550 693566 + Block 693567 693767 + ExpressionStatement 693569 693756 + BinaryExpression 693569 693755 + Identifier 693569 693587 + EqualsToken 693587 693589 + CallExpression 693589 693755 + Identifier 693589 693625 + BinaryExpression 693626 693741 + CallExpression 693626 693670 + Identifier 693626 693657 + Identifier 693658 693669 + BarBarToken 693670 693673 + CallExpression 693673 693741 + Identifier 693673 693695 + PropertyAccessExpression 693696 693740 + ParenthesizedExpression 693696 693729 + AsExpression 693697 693728 + Identifier 693697 693708 + TypeReference 693711 693728 + Identifier 693711 693728 + Identifier 693730 693740 + Identifier 693742 693754 + IfStatement 693781 697071 + BinaryExpression 693786 694068 + CallExpression 693786 693831 + Identifier 693786 693818 + Identifier 693819 693830 + BarBarToken 693831 693834 + ParenthesizedExpression 693834 694068 + BinaryExpression 693849 694067 + CallExpression 693849 693872 + Identifier 693849 693859 + Identifier 693860 693871 + AmpersandAmpersandToken 693872 693875 + ParenthesizedExpression 693875 694067 + BinaryExpression 693894 694066 + CallExpression 693894 693923 + Identifier 693894 693910 + Identifier 693911 693922 + BarBarToken 693923 693926 + BinaryExpression 693926 694066 + ParenthesizedExpression 693926 694024 + BinaryExpression 693928 694023 + CallExpression 693928 693967 + Identifier 693928 693954 + Identifier 693955 693966 + BarBarToken 693967 693970 + CallExpression 693970 694023 + Identifier 693970 694010 + Identifier 694011 694022 + AmpersandAmpersandToken 694024 694027 + CallExpression 694027 694066 + Identifier 694027 694046 + PropertyAccessExpression 694047 694065 + Identifier 694047 694058 + Identifier 694059 694065 + Block 694079 694160 + ExpressionStatement 694081 694149 + BinaryExpression 694081 694148 + Identifier 694081 694099 + EqualsToken 694099 694101 + CallExpression 694101 694148 + Identifier 694101 694140 + Identifier 694141 694147 + IfStatement 694174 697071 + BinaryExpression 694179 694702 + BinaryExpression 694179 694660 + BinaryExpression 694179 694613 + BinaryExpression 694179 694523 + BinaryExpression 694179 694472 + BinaryExpression 694179 694424 + BinaryExpression 694179 694378 + BinaryExpression 694179 694329 + BinaryExpression 694179 694287 + CallExpression 694179 694232 + Identifier 694179 694219 + Identifier 694220 694231 + BarBarToken 694232 694248 + CallExpression 694248 694287 + Identifier 694248 694274 + Identifier 694275 694286 + BarBarToken 694287 694303 + CallExpression 694303 694329 + Identifier 694303 694316 + Identifier 694317 694328 + BarBarToken 694329 694345 + CallExpression 694345 694378 + Identifier 694345 694365 + Identifier 694366 694377 + BarBarToken 694378 694394 + CallExpression 694394 694424 + Identifier 694394 694411 + Identifier 694412 694423 + BarBarToken 694424 694440 + CallExpression 694440 694472 + Identifier 694440 694459 + Identifier 694460 694471 + BarBarToken 694472 694488 + CallExpression 694488 694523 + Identifier 694488 694510 + Identifier 694511 694522 + BarBarToken 694523 694539 + ParenthesizedExpression 694539 694613 + BinaryExpression 694541 694612 + CallExpression 694541 694573 + Identifier 694541 694560 + Identifier 694561 694572 + AmpersandAmpersandToken 694573 694576 + PrefixUnaryExpression 694576 694612 + CallExpression 694578 694612 + Identifier 694578 694599 + Identifier 694600 694611 + BarBarToken 694613 694629 + CallExpression 694629 694660 + Identifier 694629 694647 + Identifier 694648 694659 + BarBarToken 694660 694676 + CallExpression 694676 694702 + Identifier 694676 694689 + Identifier 694690 694701 + Block 694713 695319 + IfStatement 694715 695107 + BinaryExpression 694904 695027 + PropertyAccessExpression 694904 694916 + Identifier 694904 694910 + Identifier 694911 694916 + AmpersandToken 694916 694918 + ParenthesizedExpression 694918 695027 + BinaryExpression 694920 695026 + BinaryExpression 694920 695000 + BinaryExpression 694920 694981 + BinaryExpression 694920 694961 + PropertyAccessExpression 694920 694940 + Identifier 694920 694931 + Identifier 694932 694940 + BarToken 694940 694942 + PropertyAccessExpression 694942 694961 + Identifier 694942 694954 + Identifier 694955 694961 + BarToken 694961 694963 + PropertyAccessExpression 694963 694981 + Identifier 694963 694975 + Identifier 694976 694981 + BarToken 694981 694983 + PropertyAccessExpression 694983 695000 + Identifier 694983 694995 + Identifier 694996 695000 + BarToken 695000 695002 + PropertyAccessExpression 695002 695026 + Identifier 695002 695014 + Identifier 695015 695026 + Block 695028 695107 + ReturnStatement 695030 695092 + CallExpression 695054 695091 + Identifier 695054 695083 + Identifier 695084 695090 + ExpressionStatement 695107 695308 + BinaryExpression 695107 695307 + Identifier 695107 695125 + EqualsToken 695125 695127 + ConditionalExpression 695127 695307 + CallExpression 695127 695166 + Identifier 695127 695146 + PropertyAccessExpression 695147 695165 + Identifier 695147 695158 + Identifier 695159 695165 + QuestionToken 695166 695168 + CallExpression 695168 695232 + Identifier 695168 695224 + Identifier 695225 695231 + ColonToken 695232 695234 + BinaryExpression 695234 695307 + CallExpression 695234 695296 + Identifier 695234 695283 + Identifier 695284 695295 + BarBarToken 695296 695299 + Identifier 695299 695307 + IfStatement 695333 697071 + CallExpression 695338 695371 + Identifier 695338 695358 + Identifier 695359 695370 + Block 695372 695491 + ExpressionStatement 695374 695480 + BinaryExpression 695374 695479 + Identifier 695374 695392 + EqualsToken 695392 695394 + BinaryExpression 695394 695479 + CallExpression 695394 695439 + Identifier 695394 695426 + Identifier 695427 695438 + BarBarToken 695439 695442 + CallExpression 695442 695479 + Identifier 695442 695466 + Identifier 695467 695478 + IfStatement 695505 697071 + CallExpression 695510 695537 + Identifier 695510 695524 + Identifier 695525 695536 + Block 695538 695651 + ExpressionStatement 695540 695640 + BinaryExpression 695540 695639 + Identifier 695540 695558 + EqualsToken 695558 695560 + BinaryExpression 695560 695639 + CallExpression 695560 695605 + Identifier 695560 695592 + Identifier 695593 695604 + BarBarToken 695605 695608 + CallExpression 695608 695639 + Identifier 695608 695626 + Identifier 695627 695638 + IfStatement 695665 697071 + CallExpression 695670 695712 + Identifier 695670 695699 + Identifier 695700 695711 + Block 695713 695865 + ExpressionStatement 695715 695854 + BinaryExpression 695715 695853 + Identifier 695715 695733 + EqualsToken 695733 695735 + BinaryExpression 695735 695853 + CallExpression 695735 695780 + Identifier 695735 695767 + Identifier 695768 695779 + BarBarToken 695780 695783 + CallExpression 695783 695853 + Identifier 695783 695817 + PropertyAccessExpression 695818 695834 + Identifier 695818 695829 + Identifier 695830 695834 + PropertyAccessExpression 695835 695852 + Identifier 695835 695845 + Identifier 695846 695852 + IfStatement 695879 697071 + CallExpression 695884 695918 + Identifier 695884 695905 + Identifier 695906 695917 + Block 695919 696057 + ExpressionStatement 695921 696046 + BinaryExpression 695921 696045 + Identifier 695921 695939 + EqualsToken 695939 695941 + BinaryExpression 695941 696045 + CallExpression 695941 695986 + Identifier 695941 695973 + Identifier 695974 695985 + BarBarToken 695986 695989 + CallExpression 695989 696045 + Identifier 695989 696014 + Identifier 696015 696026 + PropertyAccessExpression 696027 696044 + Identifier 696027 696037 + Identifier 696038 696044 + IfStatement 696071 697071 + BinaryExpression 696076 696363 + BinaryExpression 696076 696311 + BinaryExpression 696076 696265 + BinaryExpression 696076 696214 + BinaryExpression 696076 696165 + CallExpression 696076 696114 + Identifier 696076 696101 + Identifier 696102 696113 + BarBarToken 696114 696130 + CallExpression 696130 696165 + Identifier 696130 696152 + Identifier 696153 696164 + BarBarToken 696165 696181 + CallExpression 696181 696214 + Identifier 696181 696201 + Identifier 696202 696213 + BarBarToken 696214 696230 + CallExpression 696230 696265 + Identifier 696230 696252 + Identifier 696253 696264 + BarBarToken 696265 696281 + CallExpression 696281 696311 + Identifier 696281 696298 + Identifier 696299 696310 + BarBarToken 696311 696327 + CallExpression 696327 696363 + Identifier 696327 696350 + Identifier 696351 696362 + Block 696374 696485 + ExpressionStatement 696376 696474 + BinaryExpression 696376 696473 + Identifier 696376 696394 + EqualsToken 696394 696396 + CallExpression 696396 696473 + Identifier 696396 696437 + Identifier 696438 696449 + TrueKeyword 696450 696472 + IfStatement 696684 697071 + CallExpression 696689 696719 + Identifier 696689 696706 + Identifier 696707 696718 + Block 696720 696791 + ExpressionStatement 696722 696780 + BinaryExpression 696722 696779 + Identifier 696722 696740 + EqualsToken 696740 696742 + CallExpression 696742 696779 + Identifier 696742 696771 + Identifier 696772 696778 + IfStatement 696805 697071 + CallExpression 696810 696835 + Identifier 696810 696822 + Identifier 696823 696834 + Block 696836 696898 + ExpressionStatement 696838 696887 + BinaryExpression 696838 696886 + Identifier 696838 696856 + EqualsToken 696856 696858 + CallExpression 696858 696886 + Identifier 696858 696878 + Identifier 696879 696885 + Block 696912 697071 + ReturnStatement 696914 697060 + CallExpression 696934 697059 + PropertyAccessExpression 696934 696945 + Identifier 696934 696940 + Identifier 696941 696945 + BinaryExpression 696946 697058 + BinaryExpression 696946 697029 + BinaryExpression 696946 697019 + StringLiteral 696946 696976 + PlusToken 696976 696978 + CallExpression 696978 697019 + PropertyAccessExpression 696978 697001 + Identifier 696978 696984 + Identifier 696985 697001 + PropertyAccessExpression 697002 697018 + Identifier 697002 697013 + Identifier 697014 697018 + PlusToken 697019 697021 + StringLiteral 697021 697029 + PlusToken 697029 697031 + CallExpression 697031 697058 + PropertyAccessExpression 697031 697050 + Identifier 697031 697037 + Identifier 697038 697050 + Identifier 697051 697057 + IfStatement 697071 697524 + PrefixUnaryExpression 697087 697107 + CallExpression 697088 697107 + Identifier 697088 697105 + Block 697108 697524 + IfStatement 697110 697461 + BinaryExpression 697299 697381 + BinaryExpression 697299 697337 + PropertyAccessExpression 697299 697311 + Identifier 697299 697305 + Identifier 697306 697311 + AmpersandToken 697311 697313 + PropertyAccessExpression 697313 697337 + Identifier 697313 697325 + Identifier 697326 697337 + AmpersandAmpersandToken 697337 697340 + PrefixUnaryExpression 697340 697381 + ParenthesizedExpression 697342 697381 + BinaryExpression 697343 697380 + PropertyAccessExpression 697343 697355 + Identifier 697343 697349 + Identifier 697350 697355 + AmpersandToken 697355 697357 + PropertyAccessExpression 697357 697380 + Identifier 697357 697369 + Identifier 697370 697380 + Block 697382 697461 + ReturnStatement 697384 697446 + CallExpression 697408 697445 + Identifier 697408 697437 + Identifier 697438 697444 + ReturnStatement 697461 697513 + CallExpression 697481 697512 + Identifier 697481 697504 + Identifier 697505 697511 + ReturnStatement 697524 697546 + Identifier 697540 697545 + FunctionDeclaration 697553 698459 + Identifier 697569 697598 + Parameter 697599 697662 + Identifier 697599 697607 + UnionType 697608 697662 + TypeReference 697608 697628 + Identifier 697608 697628 + TypeReference 697630 697650 + Identifier 697630 697650 + UndefinedKeyword 697652 697662 + UnionType 697664 697685 + TypeReference 697664 697673 + Identifier 697664 697673 + UndefinedKeyword 697675 697685 + Block 697685 698459 + IfStatement 697687 698425 + Identifier 697701 697709 + Block 697710 698425 + SwitchStatement 697712 698414 + PropertyAccessExpression 697734 697747 + Identifier 697734 697742 + Identifier 697743 697747 + CaseBlock 697748 698414 + CaseClause 697750 697934 + PropertyAccessExpression 697772 697795 + Identifier 697772 697783 + Identifier 697784 697795 + VariableStatement 697796 697884 + VariableDeclarationList 697796 697883 + VariableDeclaration 697823 697883 + Identifier 697823 697844 + CallExpression 697846 697883 + Identifier 697846 697873 + Identifier 697874 697882 + ReturnStatement 697884 697934 + Identifier 697912 697933 + CaseClause 697934 698133 + PropertyAccessExpression 697956 697979 + Identifier 697956 697967 + Identifier 697968 697979 + VariableStatement 697980 698083 + VariableDeclarationList 697980 698082 + VariableDeclaration 698007 698082 + Identifier 698007 698028 + CallExpression 698030 698082 + Identifier 698030 698072 + Identifier 698073 698081 + ReturnStatement 698083 698133 + Identifier 698111 698132 + CaseClause 698133 698399 + PropertyAccessExpression 698155 698186 + Identifier 698155 698166 + Identifier 698167 698186 + ExpressionStatement 698187 698253 + CallExpression 698187 698252 + PropertyAccessExpression 698187 698221 + Identifier 698187 698214 + Identifier 698215 698221 + CallExpression 698222 698251 + Identifier 698222 698241 + Identifier 698242 698250 + VariableStatement 698253 698347 + VariableDeclarationList 698253 698346 + VariableDeclaration 698280 698346 + Identifier 698280 698303 + CallExpression 698305 698346 + Identifier 698305 698336 + Identifier 698337 698345 + ReturnStatement 698347 698399 + Identifier 698375 698398 + ReturnStatement 698425 698452 + Identifier 698441 698451 + FunctionDeclaration 698459 698705 + Identifier 698475 698500 + Parameter 698501 698564 + Identifier 698501 698509 + UnionType 698510 698564 + TypeReference 698510 698530 + Identifier 698510 698530 + TypeReference 698532 698552 + Identifier 698532 698552 + UndefinedKeyword 698554 698564 + UnionType 698566 698583 + TypeReference 698566 698571 + Identifier 698566 698571 + UndefinedKeyword 698573 698583 + Block 698583 698705 + VariableStatement 698585 698647 + VariableDeclarationList 698585 698646 + VariableDeclaration 698600 698646 + Identifier 698600 698605 + CallExpression 698607 698646 + Identifier 698607 698636 + Identifier 698637 698645 + ReturnStatement 698647 698698 + BinaryExpression 698663 698697 + Identifier 698663 698668 + AmpersandAmpersandToken 698668 698671 + CallExpression 698671 698697 + Identifier 698671 698691 + Identifier 698692 698696 + FunctionDeclaration 698705 698925 + Identifier 698721 698755 + Parameter 698756 698785 + Identifier 698756 698764 + TypeReference 698765 698785 + Identifier 698765 698785 + UnionType 698787 698806 + TypeReference 698787 698794 + Identifier 698787 698794 + UndefinedKeyword 698796 698806 + Block 698806 698925 + VariableStatement 698808 698871 + VariableDeclarationList 698808 698870 + VariableDeclaration 698823 698870 + Identifier 698823 698833 + CallExpression 698835 698870 + Identifier 698835 698860 + Identifier 698861 698869 + ReturnStatement 698871 698918 + BinaryExpression 698887 698917 + Identifier 698887 698897 + AmpersandAmpersandToken 698897 698900 + PropertyAccessExpression 698900 698917 + Identifier 698900 698910 + Identifier 698911 698917 + FunctionDeclaration 698925 699110 + Identifier 698941 698966 + Parameter 698967 699000 + Identifier 698967 698978 + TypeReference 698979 699000 + Identifier 698979 699000 + UnionType 699002 699019 + TypeReference 699002 699007 + Identifier 699002 699007 + UndefinedKeyword 699009 699019 + Block 699019 699110 + ReturnStatement 699021 699103 + CallExpression 699037 699102 + Identifier 699037 699060 + CallExpression 699061 699101 + Identifier 699061 699088 + Identifier 699089 699100 + FunctionDeclaration 699110 702362 + Identifier 699126 699145 + Parameter 699146 699160 + Identifier 699146 699152 + TypeReference 699153 699160 + Identifier 699153 699160 + TypeReference 699162 699167 + Identifier 699162 699167 + Block 699167 702362 + VariableStatement 699169 699216 + VariableDeclarationList 699169 699215 + VariableDeclaration 699184 699215 + Identifier 699184 699190 + CallExpression 699192 699215 + Identifier 699192 699207 + Identifier 699208 699214 + IfStatement 699216 702327 + PrefixUnaryExpression 699230 699241 + PropertyAccessExpression 699231 699241 + Identifier 699231 699236 + Identifier 699237 699241 + Block 699242 702327 + IfStatement 699244 699371 + PrefixUnaryExpression 699262 699318 + CallExpression 699263 699318 + Identifier 699263 699281 + Identifier 699282 699288 + PropertyAccessExpression 699289 699317 + Identifier 699289 699312 + Identifier 699313 699317 + Block 699319 699371 + ReturnStatement 699321 699356 + Identifier 699345 699355 + VariableStatement 699371 699474 + VariableDeclarationList 699371 699473 + VariableDeclaration 699390 699473 + Identifier 699390 699397 + CallExpression 699399 699473 + Identifier 699399 699420 + TypeReference 699421 699440 + Identifier 699421 699440 + Identifier 699442 699448 + PropertyAccessExpression 699449 699472 + Identifier 699449 699460 + Identifier 699461 699472 + VariableStatement 699474 699577 + VariableDeclarationList 699474 699576 + VariableDeclaration 699493 699576 + Identifier 699493 699500 + CallExpression 699502 699576 + Identifier 699502 699523 + TypeReference 699524 699543 + Identifier 699524 699543 + Identifier 699545 699551 + PropertyAccessExpression 699552 699575 + Identifier 699552 699563 + Identifier 699564 699575 + VariableStatement 699577 699734 + VariableDeclarationList 699577 699733 + VariableDeclaration 699596 699733 + Identifier 699596 699605 + CallExpression 699607 699733 + Identifier 699607 699615 + CallExpression 699616 699697 + Identifier 699616 699636 + TypeReference 699637 699656 + Identifier 699637 699656 + Identifier 699658 699664 + PropertyAccessExpression 699665 699696 + Identifier 699665 699676 + Identifier 699677 699696 + Identifier 699698 699732 + VariableStatement 699734 700347 + VariableDeclarationList 699734 700346 + VariableDeclaration 699919 700346 + Identifier 699919 699924 + BinaryExpression 699926 700346 + BinaryExpression 699926 700240 + BinaryExpression 699926 700165 + BinaryExpression 699926 700110 + BinaryExpression 699926 700057 + BinaryExpression 699926 700004 + BinaryExpression 699926 699955 + Identifier 699926 699933 + AmpersandAmpersandToken 699933 699936 + CallExpression 699936 699955 + Identifier 699936 699947 + Identifier 699948 699954 + AmpersandAmpersandToken 699955 699958 + CallExpression 699958 700004 + Identifier 699958 699996 + Identifier 699997 700003 + BarBarToken 700004 700007 + CallExpression 700007 700057 + Identifier 700007 700049 + Identifier 700050 700056 + BarBarToken 700057 700060 + CallExpression 700060 700110 + Identifier 700060 700102 + Identifier 700103 700109 + BarBarToken 700110 700113 + CallExpression 700113 700165 + Identifier 700113 700155 + Identifier 700156 700164 + BarBarToken 700165 700168 + BinaryExpression 700168 700240 + BinaryExpression 700168 700207 + Identifier 700168 700192 + AmpersandAmpersandToken 700192 700195 + PropertyAccessExpression 700195 700207 + Identifier 700195 700202 + Identifier 700203 700207 + AmpersandAmpersandToken 700207 700210 + CallExpression 700210 700240 + Identifier 700210 700232 + Identifier 700233 700239 + BarBarToken 700240 700243 + BinaryExpression 700243 700346 + Identifier 700243 700269 + AmpersandAmpersandToken 700269 700272 + CallExpression 700272 700346 + Identifier 700272 700313 + Identifier 700314 700322 + TrueKeyword 700323 700345 + IfStatement 700347 701218 + PrefixUnaryExpression 700365 700370 + Identifier 700366 700370 + Block 700371 701218 + IfStatement 700373 701170 + BinaryExpression 700395 700436 + Identifier 700395 700401 + AmpersandAmpersandToken 700401 700404 + PrefixUnaryExpression 700404 700436 + CallExpression 700406 700436 + Identifier 700406 700428 + Identifier 700429 700435 + Block 700437 700652 + ExpressionStatement 700439 700633 + CallExpression 700439 700632 + Identifier 700439 700478 + Identifier 700479 700492 + Identifier 700493 700500 + PropertyAccessExpression 700501 700607 + Identifier 700501 700513 + Identifier 700514 700607 + CallExpression 700608 700631 + Identifier 700608 700623 + Identifier 700624 700630 + IfStatement 700674 701170 + BinaryExpression 700679 700720 + Identifier 700679 700685 + AmpersandAmpersandToken 700685 700688 + PrefixUnaryExpression 700688 700720 + CallExpression 700690 700720 + Identifier 700690 700712 + Identifier 700713 700719 + Block 700721 700933 + ExpressionStatement 700723 700914 + CallExpression 700723 700913 + Identifier 700723 700762 + Identifier 700763 700776 + Identifier 700777 700784 + PropertyAccessExpression 700785 700888 + Identifier 700785 700797 + Identifier 700798 700888 + CallExpression 700889 700912 + Identifier 700889 700904 + Identifier 700905 700911 + IfStatement 700955 701170 + BinaryExpression 700960 701005 + Identifier 700960 700968 + AmpersandAmpersandToken 700968 700971 + PrefixUnaryExpression 700971 701005 + CallExpression 700973 701005 + Identifier 700973 700995 + Identifier 700996 701004 + Block 701006 701170 + ExpressionStatement 701008 701151 + CallExpression 701008 701150 + Identifier 701008 701047 + Identifier 701048 701061 + Identifier 701062 701071 + PropertyAccessExpression 701072 701118 + Identifier 701072 701084 + Identifier 701085 701118 + CallExpression 701119 701142 + Identifier 701119 701134 + Identifier 701135 701141 + StringLiteral 701143 701149 + ExpressionStatement 701170 701203 + BinaryExpression 701170 701202 + Identifier 701170 701192 + EqualsToken 701192 701194 + Identifier 701194 701202 + IfStatement 701218 702282 + PrefixUnaryExpression 701236 701256 + CallExpression 701237 701256 + Identifier 701237 701254 + Block 701257 702282 + IfStatement 701259 702234 + CallExpression 701281 701317 + Identifier 701281 701309 + Identifier 701310 701316 + Block 701318 701479 + ExpressionStatement 701320 701460 + CallExpression 701320 701459 + Identifier 701320 701347 + Identifier 701348 701354 + PropertyAccessExpression 701355 701434 + Identifier 701355 701367 + Identifier 701368 701434 + CallExpression 701435 701458 + Identifier 701435 701450 + Identifier 701451 701457 + IfStatement 701501 702234 + CallExpression 701506 701542 + Identifier 701506 701534 + Identifier 701535 701541 + Block 701543 701704 + ExpressionStatement 701545 701685 + CallExpression 701545 701684 + Identifier 701545 701572 + Identifier 701573 701579 + PropertyAccessExpression 701580 701659 + Identifier 701580 701592 + Identifier 701593 701659 + CallExpression 701660 701683 + Identifier 701660 701675 + Identifier 701676 701682 + IfStatement 701726 702234 + CallExpression 701731 701769 + Identifier 701731 701759 + Identifier 701760 701768 + Block 701770 701931 + ExpressionStatement 701772 701912 + CallExpression 701772 701911 + Identifier 701772 701799 + Identifier 701800 701806 + PropertyAccessExpression 701807 701886 + Identifier 701807 701819 + Identifier 701820 701886 + CallExpression 701887 701910 + Identifier 701887 701902 + Identifier 701903 701909 + IfStatement 701953 702234 + BinaryExpression 701958 701981 + Identifier 701958 701964 + AmpersandAmpersandToken 701964 701967 + Identifier 701967 701981 + Block 701982 702234 + ExpressionStatement 701984 702215 + CallExpression 701984 702214 + Identifier 701984 702011 + Identifier 702012 702018 + PropertyAccessExpression 702019 702189 + Identifier 702019 702031 + Identifier 702032 702189 + CallExpression 702190 702213 + Identifier 702190 702205 + Identifier 702206 702212 + ExpressionStatement 702234 702267 + BinaryExpression 702234 702266 + Identifier 702234 702256 + EqualsToken 702256 702258 + Identifier 702258 702266 + ExpressionStatement 702282 702316 + BinaryExpression 702282 702315 + PropertyAccessExpression 702282 702306 + Identifier 702282 702301 + Identifier 702302 702306 + QuestionQuestionEqualsToken 702306 702310 + Identifier 702310 702315 + ReturnStatement 702327 702355 + PropertyAccessExpression 702343 702354 + Identifier 702343 702349 + Identifier 702350 702354 + FunctionDeclaration 702362 703487 + Identifier 702378 702402 + Parameter 702403 702417 + Identifier 702403 702409 + TypeReference 702410 702417 + Identifier 702410 702417 + TypeReference 702419 702424 + Identifier 702419 702424 + Block 702424 703487 + VariableStatement 702426 702473 + VariableDeclarationList 702426 702472 + VariableDeclaration 702441 702472 + Identifier 702441 702447 + CallExpression 702449 702472 + Identifier 702449 702464 + Identifier 702465 702471 + IfStatement 702473 703447 + PrefixUnaryExpression 702487 702503 + PropertyAccessExpression 702488 702503 + Identifier 702488 702493 + Identifier 702494 702503 + Block 702504 703447 + IfStatement 702506 702638 + PrefixUnaryExpression 702524 702585 + CallExpression 702525 702585 + Identifier 702525 702543 + Identifier 702544 702550 + PropertyAccessExpression 702551 702584 + Identifier 702551 702574 + Identifier 702575 702584 + Block 702586 702638 + ReturnStatement 702588 702623 + Identifier 702612 702622 + VariableStatement 702638 702889 + VariableDeclarationList 702638 702888 + VariableDeclaration 702659 702888 + Identifier 702659 702666 + BinaryExpression 702668 702888 + CallExpression 702668 702742 + Identifier 702668 702689 + TypeReference 702690 702709 + Identifier 702690 702709 + Identifier 702711 702717 + PropertyAccessExpression 702718 702741 + Identifier 702718 702729 + Identifier 702730 702741 + QuestionQuestionToken 702742 702762 + CallExpression 702762 702888 + Identifier 702762 702770 + CallExpression 702771 702852 + Identifier 702771 702791 + TypeReference 702792 702811 + Identifier 702792 702811 + Identifier 702813 702819 + PropertyAccessExpression 702820 702851 + Identifier 702820 702831 + Identifier 702832 702851 + Identifier 702853 702887 + VariableStatement 702889 702952 + VariableDeclarationList 702889 702951 + VariableDeclaration 702906 702951 + Identifier 702906 702916 + CallExpression 702918 702951 + Identifier 702918 702943 + Identifier 702944 702950 + IfStatement 702952 703266 + PrefixUnaryExpression 702970 702990 + CallExpression 702971 702990 + Identifier 702971 702988 + Block 702991 703266 + IfStatement 702993 703213 + CallExpression 703015 703051 + Identifier 703015 703043 + Identifier 703044 703050 + Block 703052 703213 + ExpressionStatement 703054 703194 + CallExpression 703054 703193 + Identifier 703054 703081 + Identifier 703082 703088 + PropertyAccessExpression 703089 703168 + Identifier 703089 703101 + Identifier 703102 703168 + CallExpression 703169 703192 + Identifier 703169 703184 + Identifier 703185 703191 + ExpressionStatement 703213 703251 + BinaryExpression 703213 703250 + Identifier 703213 703240 + EqualsToken 703240 703242 + Identifier 703242 703250 + ExpressionStatement 703266 703436 + BinaryExpression 703266 703435 + PropertyAccessExpression 703266 703391 + Identifier 703266 703381 + Identifier 703382 703391 + QuestionQuestionEqualsToken 703391 703395 + BinaryExpression 703395 703435 + Identifier 703395 703405 + BarBarToken 703405 703408 + CallExpression 703408 703435 + Identifier 703408 703427 + Identifier 703428 703434 + ReturnStatement 703447 703480 + PropertyAccessExpression 703463 703479 + Identifier 703463 703469 + Identifier 703470 703479 + FunctionDeclaration 703487 703946 + Identifier 703503 703530 + Parameter 703531 703545 + Identifier 703531 703537 + TypeReference 703538 703545 + Identifier 703538 703545 + Block 703546 703946 + VariableStatement 703548 703659 + VariableDeclarationList 703548 703658 + VariableDeclaration 703563 703658 + Identifier 703563 703583 + CallExpression 703585 703658 + Identifier 703585 703615 + CallExpression 703616 703657 + Identifier 703616 703649 + Identifier 703650 703656 + ReturnStatement 703659 703939 + ConditionalExpression 703675 703938 + BinaryExpression 703675 703726 + PropertyAccessExpression 703675 703701 + Identifier 703675 703695 + Identifier 703696 703701 + AmpersandToken 703701 703703 + PropertyAccessExpression 703703 703726 + Identifier 703703 703713 + Identifier 703714 703726 + QuestionToken 703726 703728 + Identifier 703728 703748 + ColonToken 703748 703750 + ConditionalExpression 703750 703938 + BinaryExpression 703750 703814 + PropertyAccessExpression 703750 703789 + Identifier 703750 703783 + Identifier 703784 703789 + AmpersandToken 703789 703791 + PropertyAccessExpression 703791 703814 + Identifier 703791 703801 + Identifier 703802 703814 + QuestionToken 703814 703816 + CallExpression 703816 703913 + Identifier 703816 703821 + PropertyAccessExpression 703822 703869 + ParenthesizedExpression 703822 703863 + AsExpression 703823 703862 + Identifier 703823 703842 + TypeReference 703845 703862 + Identifier 703845 703862 + Identifier 703864 703869 + ArrowFunction 703870 703912 + Parameter 703870 703872 + Identifier 703870 703872 + EqualsGreaterThanToken 703872 703875 + PrefixUnaryExpression 703875 703912 + PrefixUnaryExpression 703877 703912 + ParenthesizedExpression 703878 703912 + BinaryExpression 703879 703911 + PropertyAccessExpression 703879 703886 + Identifier 703879 703880 + Identifier 703881 703886 + AmpersandToken 703886 703888 + PropertyAccessExpression 703888 703911 + Identifier 703888 703898 + Identifier 703899 703911 + ColonToken 703913 703915 + Identifier 703915 703938 + FunctionDeclaration 703946 704713 + Identifier 703962 703991 + Parameter 703992 704006 + Identifier 703992 703998 + TypeReference 703999 704006 + Identifier 703999 704006 + TypeReference 704008 704013 + Identifier 704008 704013 + Block 704013 704713 + VariableStatement 704015 704060 + VariableDeclarationList 704015 704059 + VariableDeclaration 704028 704059 + Identifier 704028 704034 + CallExpression 704036 704059 + Identifier 704036 704051 + Identifier 704052 704058 + VariableStatement 704060 704098 + VariableDeclarationList 704060 704097 + VariableDeclaration 704075 704097 + Identifier 704075 704089 + Identifier 704091 704097 + IfStatement 704098 704678 + PrefixUnaryExpression 704112 704123 + PropertyAccessExpression 704113 704123 + Identifier 704113 704118 + Identifier 704119 704123 + Block 704124 704678 + VariableStatement 704126 704255 + VariableDeclarationList 704126 704254 + VariableDeclaration 704145 704254 + Identifier 704145 704153 + BinaryExpression 704155 704254 + PropertyAccessExpression 704155 704179 + Identifier 704155 704162 + Identifier 704163 704179 + AmpersandAmpersandToken 704179 704182 + CallExpression 704182 704254 + Identifier 704182 704201 + PropertyAccessExpression 704202 704225 + Identifier 704202 704208 + Identifier 704209 704225 + FalseKeyword 704226 704253 + IfStatement 704255 704576 + Identifier 704273 704280 + Block 704281 704576 + VariableStatement 704283 704348 + VariableDeclarationList 704283 704347 + VariableDeclaration 704306 704347 + Identifier 704306 704313 + CallExpression 704315 704347 + Identifier 704315 704330 + Identifier 704331 704337 + Identifier 704338 704346 + IfStatement 704348 704561 + Identifier 704370 704376 + Block 704377 704561 + ExpressionStatement 704379 704499 + BinaryExpression 704379 704498 + Identifier 704379 704489 + EqualsToken 704489 704491 + Identifier 704491 704498 + ExpressionStatement 704499 704542 + BinaryExpression 704499 704541 + Identifier 704499 704526 + EqualsToken 704526 704528 + PropertyAccessExpression 704528 704541 + Identifier 704528 704535 + Identifier 704536 704541 + ExpressionStatement 704576 704667 + BinaryExpression 704576 704666 + PropertyAccessExpression 704576 704608 + Identifier 704576 704603 + Identifier 704604 704608 + EqualsToken 704608 704610 + BinaryExpression 704610 704666 + PropertyAccessExpression 704610 704621 + Identifier 704610 704616 + Identifier 704617 704621 + EqualsToken 704621 704623 + CallExpression 704623 704666 + Identifier 704623 704658 + Identifier 704659 704665 + ReturnStatement 704678 704706 + PropertyAccessExpression 704694 704705 + Identifier 704694 704700 + Identifier 704701 704705 + FunctionDeclaration 704713 706594 + Identifier 704729 704764 + Parameter 704765 704779 + Identifier 704765 704771 + TypeReference 704772 704779 + Identifier 704772 704779 + TypeReference 704781 704786 + Identifier 704781 704786 + Block 704786 706594 + VariableStatement 704788 704842 + VariableDeclarationList 704788 704841 + VariableDeclaration 704803 704841 + Identifier 704803 704815 + PropertyAccessExpression 704817 704841 + Identifier 704817 704824 + Identifier 704825 704841 + IfStatement 704842 706133 + BinaryExpression 704856 704931 + BinaryExpression 704856 704889 + PropertyAccessExpression 704856 704868 + Identifier 704856 704862 + Identifier 704863 704868 + AmpersandToken 704868 704870 + PropertyAccessExpression 704870 704889 + Identifier 704870 704882 + Identifier 704883 704889 + AmpersandAmpersandToken 704889 704892 + CallExpression 704892 704931 + Identifier 704892 704923 + Identifier 704924 704930 + Block 704932 704974 + ReturnStatement 704934 704963 + Identifier 704954 704962 + IfStatement 704988 706133 + BinaryExpression 704993 705204 + Identifier 704993 705018 + AmpersandAmpersandToken 705018 705021 + ParenthesizedExpression 705021 705204 + BinaryExpression 705023 705203 + BinaryExpression 705023 705071 + PropertyAccessExpression 705023 705039 + Identifier 705023 705034 + Identifier 705035 705039 + EqualsEqualsEqualsToken 705039 705043 + PropertyAccessExpression 705043 705071 + Identifier 705043 705054 + Identifier 705055 705071 + BarBarToken 705071 705074 + BinaryExpression 705074 705203 + CallExpression 705074 705123 + Identifier 705074 705110 + Identifier 705111 705122 + AmpersandAmpersandToken 705123 705126 + BinaryExpression 705126 705203 + PropertyAccessExpression 705126 705171 + PropertyAccessExpression 705126 705166 + Identifier 705126 705159 + Identifier 705160 705166 + Identifier 705167 705171 + EqualsEqualsEqualsToken 705171 705175 + PropertyAccessExpression 705175 705203 + Identifier 705175 705186 + Identifier 705187 705203 + Block 705215 705296 + ReturnStatement 705217 705285 + CallExpression 705237 705284 + Identifier 705237 705276 + Identifier 705277 705283 + IfStatement 705310 706133 + BinaryExpression 705315 705436 + BinaryExpression 705315 705397 + BinaryExpression 705315 705368 + BinaryExpression 705315 705353 + PropertyAccessExpression 705315 705327 + Identifier 705315 705321 + Identifier 705322 705327 + AmpersandToken 705327 705329 + PropertyAccessExpression 705329 705353 + Identifier 705329 705341 + Identifier 705342 705353 + AmpersandAmpersandToken 705353 705356 + Identifier 705356 705368 + AmpersandAmpersandToken 705368 705371 + CallExpression 705371 705397 + Identifier 705371 705384 + Identifier 705385 705396 + AmpersandAmpersandToken 705397 705400 + PropertyAccessExpression 705400 705436 + Identifier 705400 705412 + Identifier 705413 705436 + Block 705437 706133 + VariableStatement 705439 705512 + VariableDeclarationList 705439 705511 + VariableDeclaration 705458 705511 + Identifier 705458 705473 + CallExpression 705475 705511 + Identifier 705475 705503 + Identifier 705504 705510 + IfStatement 705512 706122 + BinaryExpression 705530 705555 + Identifier 705530 705544 + ExclamationEqualsEqualsToken 705544 705548 + Identifier 705548 705555 + Block 705556 706122 + IfStatement 705558 705697 + PrefixUnaryExpression 705580 705636 + CallExpression 705581 705636 + Identifier 705581 705599 + Identifier 705600 705606 + PropertyAccessExpression 705607 705635 + Identifier 705607 705630 + Identifier 705631 705635 + Block 705637 705697 + ReturnStatement 705639 705678 + Identifier 705667 705677 + VariableStatement 705697 705807 + VariableDeclarationList 705697 705806 + VariableDeclaration 705720 705806 + Identifier 705720 705733 + CallExpression 705735 705806 + Identifier 705735 705751 + NonNullExpression 705752 705805 + CallExpression 705752 705804 + PropertyAccessExpression 705752 705771 + NonNullExpression 705752 705767 + PropertyAccessExpression 705752 705766 + Identifier 705752 705758 + Identifier 705759 705766 + Identifier 705768 705771 + PropertyAccessExpression 705772 705803 + Identifier 705772 705790 + Identifier 705791 705803 + VariableStatement 705807 705953 + VariableDeclarationList 705807 705952 + VariableDeclaration 705830 705952 + Identifier 705830 705835 + CallExpression 705837 705952 + Identifier 705837 705876 + Identifier 705877 705889 + ConditionalExpression 705890 705951 + BinaryExpression 705890 705922 + Identifier 705890 705903 + EqualsEqualsEqualsToken 705903 705907 + Identifier 705907 705922 + QuestionToken 705922 705924 + Identifier 705924 705934 + ColonToken 705934 705936 + Identifier 705936 705951 + IfStatement 705953 706077 + PrefixUnaryExpression 705975 705995 + CallExpression 705976 705995 + Identifier 705976 705993 + Block 705996 706077 + ReturnStatement 705998 706058 + CallExpression 706026 706057 + Identifier 706026 706049 + Identifier 706050 706056 + ReturnStatement 706077 706107 + Identifier 706101 706106 + VariableStatement 706133 706204 + VariableDeclarationList 706133 706203 + VariableDeclaration 706148 706203 + Identifier 706148 706153 + CallExpression 706155 706203 + Identifier 706155 706172 + PropertyAccessExpression 706173 706194 + Identifier 706173 706184 + Identifier 706185 706194 + Identifier 706195 706202 + IfStatement 706204 706587 + BinaryExpression 706218 706250 + PropertyAccessExpression 706218 706230 + Identifier 706218 706224 + Identifier 706225 706230 + AmpersandToken 706230 706232 + PropertyAccessExpression 706232 706250 + Identifier 706232 706244 + Identifier 706245 706250 + Block 706251 706431 + VariableStatement 706253 706327 + VariableDeclarationList 706253 706326 + VariableDeclaration 706272 706326 + Identifier 706272 706289 + CallExpression 706291 706326 + Identifier 706291 706318 + Identifier 706319 706325 + ReturnStatement 706327 706420 + ConditionalExpression 706347 706419 + Identifier 706347 706364 + QuestionToken 706364 706366 + CallExpression 706366 706412 + Identifier 706366 706386 + ArrayLiteralExpression 706387 706411 + Identifier 706388 706392 + Identifier 706393 706410 + ColonToken 706412 706414 + Identifier 706414 706419 + Block 706445 706587 + ReturnStatement 706447 706576 + ConditionalExpression 706467 706575 + BinaryExpression 706467 706523 + Identifier 706467 706484 + AmpersandAmpersandToken 706484 706487 + BinaryExpression 706487 706523 + PropertyAccessExpression 706487 706500 + Identifier 706487 706494 + Identifier 706495 706500 + AmpersandToken 706500 706502 + PropertyAccessExpression 706502 706523 + Identifier 706502 706514 + Identifier 706515 706523 + QuestionToken 706523 706525 + CallExpression 706525 706568 + Identifier 706525 706541 + Identifier 706542 706546 + TrueKeyword 706547 706567 + ColonToken 706568 706570 + Identifier 706570 706575 + FunctionDeclaration 706594 706790 + Identifier 706610 706630 + Parameter 706631 706645 + Identifier 706631 706637 + TypeReference 706638 706645 + Identifier 706638 706645 + TypeReference 706647 706652 + Identifier 706647 706652 + Block 706652 706790 + VariableStatement 706654 706701 + VariableDeclarationList 706654 706700 + VariableDeclaration 706669 706700 + Identifier 706669 706675 + CallExpression 706677 706700 + Identifier 706677 706692 + Identifier 706693 706699 + ReturnStatement 706701 706783 + BinaryExpression 706717 706782 + PropertyAccessExpression 706717 706728 + Identifier 706717 706723 + Identifier 706724 706728 + BarBarToken 706728 706731 + ParenthesizedExpression 706731 706782 + BinaryExpression 706733 706781 + PropertyAccessExpression 706733 706743 + Identifier 706733 706738 + Identifier 706739 706743 + EqualsToken 706743 706745 + CallExpression 706745 706781 + Identifier 706745 706773 + Identifier 706774 706780 + FunctionDeclaration 706790 708509 + Identifier 706806 706821 + Parameter 706822 706836 + Identifier 706822 706828 + TypeReference 706829 706836 + Identifier 706829 706836 + TypeReference 706838 706843 + Identifier 706838 706843 + Block 706843 708509 + VariableStatement 706845 706892 + VariableDeclarationList 706845 706891 + VariableDeclaration 706860 706891 + Identifier 706860 706866 + CallExpression 706868 706891 + Identifier 706868 706883 + Identifier 706884 706890 + IfStatement 706892 708474 + PrefixUnaryExpression 706906 706917 + PropertyAccessExpression 706907 706917 + Identifier 706907 706912 + Identifier 706913 706917 + Block 706918 708474 + IfStatement 706920 707047 + PrefixUnaryExpression 706938 706994 + CallExpression 706939 706994 + Identifier 706939 706957 + Identifier 706958 706964 + PropertyAccessExpression 706965 706993 + Identifier 706965 706988 + Identifier 706989 706993 + Block 706995 707047 + ReturnStatement 706997 707032 + Identifier 707021 707031 + VariableStatement 707047 707103 + VariableDeclarationList 707047 707102 + VariableDeclaration 707066 707102 + Identifier 707066 707079 + CallExpression 707081 707102 + Identifier 707081 707094 + Identifier 707095 707101 + VariableStatement 707103 707260 + VariableDeclarationList 707103 707259 + VariableDeclaration 707122 707259 + Identifier 707122 707135 + BinaryExpression 707137 707259 + PropertyAccessExpression 707137 707157 + Identifier 707137 707144 + Identifier 707145 707157 + AmpersandAmpersandToken 707157 707160 + CallExpression 707160 707259 + Identifier 707160 707188 + NonNullExpression 707189 707225 + CallExpression 707189 707224 + Identifier 707189 707216 + Identifier 707217 707223 + TrueKeyword 707226 707258 + VariableStatement 707260 707413 + VariableDeclarationList 707260 707412 + VariableDeclaration 707279 707412 + Identifier 707279 707292 + CallExpression 707294 707412 + Identifier 707294 707307 + PropertyAccessExpression 707308 707334 + Identifier 707308 707320 + QuestionDotToken 707320 707322 + Identifier 707322 707334 + ArrowFunction 707335 707411 + Parameter 707335 707337 + Identifier 707335 707337 + EqualsGreaterThanToken 707337 707340 + ConditionalExpression 707340 707411 + CallExpression 707340 707362 + Identifier 707340 707359 + Identifier 707360 707361 + QuestionToken 707362 707364 + CallExpression 707364 707399 + Identifier 707364 707396 + Identifier 707397 707398 + ColonToken 707399 707401 + Identifier 707401 707411 + ExpressionStatement 707413 708290 + BinaryExpression 707413 708289 + PropertyAccessExpression 707413 707870 + Identifier 707413 707865 + Identifier 707866 707870 + QuestionQuestionEqualsToken 707870 707874 + ConditionalExpression 707874 708289 + BinaryExpression 707874 707989 + BinaryExpression 707874 707958 + PropertyAccessExpression 707874 707901 + Identifier 707874 707887 + QuestionDotToken 707887 707889 + Identifier 707889 707901 + AmpersandAmpersandToken 707901 707904 + CallExpression 707904 707958 + Identifier 707904 707931 + PropertyAccessExpression 707932 707957 + Identifier 707932 707944 + Identifier 707945 707957 + AmpersandAmpersandToken 707958 707961 + PropertyAccessExpression 707961 707989 + NonNullExpression 707961 707982 + PropertyAccessExpression 707961 707981 + Identifier 707961 707968 + Identifier 707969 707981 + Identifier 707983 707989 + QuestionToken 707989 707991 + CallExpression 707991 708035 + Identifier 707991 708021 + Identifier 708022 708034 + ColonToken 708035 708054 + ConditionalExpression 708054 708289 + CallExpression 708054 708102 + Identifier 708054 708081 + PropertyAccessExpression 708082 708101 + Identifier 708082 708088 + Identifier 708089 708101 + QuestionToken 708102 708104 + Identifier 708104 708113 + ColonToken 708113 708132 + ConditionalExpression 708132 708289 + Identifier 708132 708145 + QuestionToken 708145 708147 + Identifier 708147 708160 + ColonToken 708160 708179 + ConditionalExpression 708179 708289 + BinaryExpression 708179 708228 + CallExpression 708179 708208 + Identifier 708179 708194 + Identifier 708195 708207 + AmpersandToken 708208 708210 + PropertyAccessExpression 708210 708228 + Identifier 708210 708222 + Identifier 708223 708228 + QuestionToken 708228 708230 + CallExpression 708230 708260 + Identifier 708230 708246 + Identifier 708247 708259 + ColonToken 708260 708279 + Identifier 708279 708289 + IfStatement 708290 708463 + PrefixUnaryExpression 708310 708330 + CallExpression 708311 708330 + Identifier 708311 708328 + Block 708331 708463 + ExpressionStatement 708333 708398 + CallExpression 708333 708397 + Identifier 708333 708373 + BinaryExpression 708374 708396 + Identifier 708374 708386 + QuestionQuestionToken 708386 708389 + Identifier 708389 708396 + ReturnStatement 708398 708448 + BinaryExpression 708422 708447 + PropertyAccessExpression 708422 708433 + Identifier 708422 708428 + Identifier 708429 708433 + QuestionQuestionEqualsToken 708433 708437 + Identifier 708437 708447 + ReturnStatement 708474 708502 + PropertyAccessExpression 708490 708501 + Identifier 708490 708496 + Identifier 708497 708501 + FunctionDeclaration 708509 708739 + Identifier 708525 708553 + Parameter 708554 708568 + Identifier 708554 708560 + TypeReference 708561 708568 + Identifier 708561 708568 + TypeReference 708570 708575 + Identifier 708570 708575 + Block 708575 708739 + VariableStatement 708577 708624 + VariableDeclarationList 708577 708623 + VariableDeclaration 708592 708623 + Identifier 708592 708598 + CallExpression 708600 708623 + Identifier 708600 708615 + Identifier 708616 708622 + ReturnStatement 708624 708732 + BinaryExpression 708640 708731 + PropertyAccessExpression 708640 708651 + Identifier 708640 708646 + Identifier 708647 708651 + BarBarToken 708651 708654 + ParenthesizedExpression 708654 708731 + BinaryExpression 708656 708730 + PropertyAccessExpression 708656 708666 + Identifier 708656 708661 + Identifier 708662 708666 + EqualsToken 708666 708668 + CallExpression 708668 708730 + Identifier 708668 708684 + CallExpression 708685 708715 + Identifier 708685 708700 + NonNullExpression 708701 708714 + PropertyAccessExpression 708701 708713 + Identifier 708701 708706 + Identifier 708707 708713 + PropertyAccessExpression 708716 708729 + Identifier 708716 708722 + Identifier 708723 708729 + FunctionDeclaration 708739 708989 + Identifier 708755 708788 + Parameter 708789 708803 + Identifier 708789 708795 + TypeReference 708796 708803 + Identifier 708796 708803 + TypeReference 708805 708810 + Identifier 708805 708810 + Block 708810 708989 + VariableStatement 708812 708859 + VariableDeclarationList 708812 708858 + VariableDeclaration 708827 708858 + Identifier 708827 708833 + CallExpression 708835 708858 + Identifier 708835 708850 + Identifier 708851 708857 + ReturnStatement 708859 708982 + BinaryExpression 708875 708981 + PropertyAccessExpression 708875 708891 + Identifier 708875 708881 + Identifier 708882 708891 + BarBarToken 708891 708894 + ParenthesizedExpression 708894 708981 + BinaryExpression 708896 708980 + PropertyAccessExpression 708896 708911 + Identifier 708896 708901 + Identifier 708902 708911 + EqualsToken 708911 708913 + CallExpression 708913 708980 + Identifier 708913 708929 + CallExpression 708930 708965 + Identifier 708930 708950 + NonNullExpression 708951 708964 + PropertyAccessExpression 708951 708963 + Identifier 708951 708956 + Identifier 708957 708963 + PropertyAccessExpression 708966 708979 + Identifier 708966 708972 + Identifier 708973 708979 + FunctionDeclaration 708989 710557 + Identifier 709005 709028 + Parameter 709029 709043 + Identifier 709029 709035 + TypeReference 709036 709043 + Identifier 709036 709043 + Block 709044 710557 + VariableStatement 709046 709100 + VariableDeclarationList 709046 709099 + VariableDeclaration 709061 709099 + Identifier 709061 709073 + PropertyAccessExpression 709075 709099 + Identifier 709075 709082 + Identifier 709083 709099 + IfStatement 709100 710236 + Identifier 709211 709222 + Block 709223 709963 + IfStatement 709225 709492 + CallExpression 709243 709286 + Identifier 709243 709273 + Identifier 709274 709285 + Block 709287 709492 + ExpressionStatement 709289 709442 + CallExpression 709289 709441 + Identifier 709289 709312 + PropertyAccessExpression 709313 709336 + Identifier 709313 709319 + Identifier 709320 709336 + PropertyAccessExpression 709337 709416 + Identifier 709337 709349 + Identifier 709350 709416 + CallExpression 709417 709440 + Identifier 709417 709432 + Identifier 709433 709439 + ReturnStatement 709442 709477 + Identifier 709466 709476 + IfStatement 709492 709952 + BinaryExpression 709607 709714 + Identifier 709607 709620 + AmpersandAmpersandToken 709620 709623 + ParenthesizedExpression 709623 709714 + BinaryExpression 709625 709713 + BinaryExpression 709625 709666 + PropertyAccessExpression 709625 709641 + Identifier 709625 709636 + Identifier 709637 709641 + ExclamationEqualsEqualsToken 709641 709645 + PropertyAccessExpression 709645 709666 + Identifier 709645 709656 + Identifier 709657 709666 + BarBarToken 709666 709669 + PropertyAccessExpression 709669 709713 + ParenthesizedExpression 709669 709701 + AsExpression 709671 709700 + Identifier 709671 709682 + TypeReference 709685 709700 + Identifier 709685 709700 + Identifier 709702 709713 + Block 709715 709952 + ExpressionStatement 709717 709937 + CallExpression 709717 709936 + Identifier 709717 709740 + PropertyAccessExpression 709741 709764 + Identifier 709741 709747 + Identifier 709748 709764 + PropertyAccessExpression 709765 709911 + Identifier 709765 709777 + Identifier 709778 709911 + CallExpression 709912 709935 + Identifier 709912 709927 + Identifier 709928 709934 + IfStatement 709977 710236 + BinaryExpression 709982 710014 + PropertyAccessExpression 709982 709994 + Identifier 709982 709988 + Identifier 709989 709994 + AmpersandToken 709994 709996 + PropertyAccessExpression 709996 710014 + Identifier 709996 710008 + Identifier 710009 710014 + Block 710015 710236 + VariableStatement 710017 710080 + VariableDeclarationList 710017 710079 + VariableDeclaration 710036 710079 + Identifier 710036 710041 + CallExpression 710043 710079 + Identifier 710043 710071 + Identifier 710072 710078 + IfStatement 710080 710225 + Identifier 710098 710102 + Block 710103 710225 + ExpressionStatement 710105 710210 + CallExpression 710105 710209 + Identifier 710105 710128 + Identifier 710129 710133 + PropertyAccessExpression 710134 710184 + Identifier 710134 710146 + Identifier 710147 710184 + CallExpression 710185 710208 + Identifier 710185 710200 + Identifier 710201 710207 + ReturnStatement 710236 710550 + Identifier 710541 710549 + FunctionDeclaration 710557 711031 + Identifier 710573 710605 + Parameter 710606 710620 + Identifier 710606 710612 + TypeReference 710613 710620 + Identifier 710613 710620 + Block 710621 711031 + VariableStatement 710623 710670 + VariableDeclarationList 710623 710669 + VariableDeclaration 710638 710669 + Identifier 710638 710644 + CallExpression 710646 710669 + Identifier 710646 710661 + Identifier 710662 710668 + IfStatement 710670 710996 + PrefixUnaryExpression 710684 710695 + PropertyAccessExpression 710685 710695 + Identifier 710685 710690 + Identifier 710691 710695 + Block 710696 710996 + ExpressionStatement 710698 710756 + CallExpression 710698 710755 + PropertyAccessExpression 710698 710733 + Identifier 710698 710717 + Identifier 710718 710733 + PropertyAccessExpression 710734 710754 + Identifier 710734 710739 + Identifier 710740 710754 + ExpressionStatement 710756 710820 + CallExpression 710756 710819 + PropertyAccessExpression 710756 710791 + Identifier 710756 710775 + Identifier 710776 710791 + PropertyAccessExpression 710792 710818 + Identifier 710792 710797 + Identifier 710798 710818 + ExpressionStatement 710820 710985 + BinaryExpression 710820 710984 + PropertyAccessExpression 710820 710844 + Identifier 710820 710839 + Identifier 710840 710844 + EqualsToken 710844 710846 + ConditionalExpression 710846 710984 + BinaryExpression 710846 710891 + PropertyAccessExpression 710846 710873 + PropertyAccessExpression 710846 710867 + Identifier 710846 710852 + Identifier 710853 710867 + Identifier 710868 710873 + AmpersandToken 710873 710875 + PropertyAccessExpression 710875 710891 + Identifier 710875 710885 + Identifier 710886 710891 + QuestionToken 710891 710893 + CallExpression 710893 710934 + Identifier 710893 710906 + PropertyAccessExpression 710907 710933 + Identifier 710907 710912 + Identifier 710913 710933 + ColonToken 710934 710936 + CallExpression 710936 710984 + Identifier 710936 710956 + PropertyAccessExpression 710957 710983 + Identifier 710957 710962 + Identifier 710963 710983 + ReturnStatement 710996 711024 + PropertyAccessExpression 711012 711023 + Identifier 711012 711018 + Identifier 711019 711023 + FunctionDeclaration 711031 711588 + Identifier 711047 711084 + Parameter 711085 711099 + Identifier 711085 711091 + TypeReference 711092 711099 + Identifier 711092 711099 + UnionType 711101 711118 + TypeReference 711101 711106 + Identifier 711101 711106 + UndefinedKeyword 711108 711118 + Block 711118 711588 + VariableStatement 711120 711167 + VariableDeclarationList 711120 711166 + VariableDeclaration 711135 711166 + Identifier 711135 711141 + CallExpression 711143 711166 + Identifier 711143 711158 + Identifier 711159 711165 + IfStatement 711167 711548 + BinaryExpression 711181 711232 + PrefixUnaryExpression 711181 711197 + PropertyAccessExpression 711182 711197 + Identifier 711182 711187 + Identifier 711188 711197 + AmpersandAmpersandToken 711197 711200 + PropertyAccessExpression 711200 711232 + Identifier 711200 711206 + Identifier 711207 711232 + Block 711233 711548 + ExpressionStatement 711235 711293 + CallExpression 711235 711292 + PropertyAccessExpression 711235 711270 + Identifier 711235 711254 + Identifier 711255 711270 + PropertyAccessExpression 711271 711291 + Identifier 711271 711276 + Identifier 711277 711291 + ExpressionStatement 711293 711357 + CallExpression 711293 711356 + PropertyAccessExpression 711293 711328 + Identifier 711293 711312 + Identifier 711313 711328 + PropertyAccessExpression 711329 711355 + Identifier 711329 711334 + Identifier 711335 711355 + ExpressionStatement 711357 711537 + BinaryExpression 711357 711536 + PropertyAccessExpression 711357 711386 + Identifier 711357 711376 + Identifier 711377 711386 + EqualsToken 711386 711388 + ConditionalExpression 711388 711536 + BinaryExpression 711388 711433 + PropertyAccessExpression 711388 711415 + PropertyAccessExpression 711388 711409 + Identifier 711388 711394 + Identifier 711395 711409 + Identifier 711410 711415 + AmpersandToken 711415 711417 + PropertyAccessExpression 711417 711433 + Identifier 711417 711427 + Identifier 711428 711433 + QuestionToken 711433 711435 + CallExpression 711435 711481 + Identifier 711435 711448 + PropertyAccessExpression 711449 711480 + Identifier 711449 711454 + Identifier 711455 711480 + ColonToken 711481 711483 + CallExpression 711483 711536 + Identifier 711483 711503 + PropertyAccessExpression 711504 711535 + Identifier 711504 711509 + Identifier 711510 711535 + ReturnStatement 711548 711581 + PropertyAccessExpression 711564 711580 + Identifier 711564 711570 + Identifier 711571 711580 + FunctionDeclaration 711588 712892 + Identifier 711873 711894 + Parameter 711895 711909 + Identifier 711895 711901 + TypeReference 711902 711909 + Identifier 711902 711909 + TypeReference 711911 711916 + Identifier 711911 711916 + Block 711916 712892 + VariableStatement 711918 711969 + VariableDeclarationList 711918 711968 + VariableDeclaration 711933 711968 + Identifier 711933 711944 + CallExpression 711946 711968 + Identifier 711946 711960 + Identifier 711961 711967 + IfStatement 711969 712612 + BinaryExpression 711983 712018 + PropertyAccessExpression 711983 711995 + Identifier 711983 711989 + Identifier 711990 711995 + AmpersandToken 711995 711997 + PropertyAccessExpression 711997 712018 + Identifier 711997 712009 + Identifier 712010 712018 + Block 712019 712612 + ReturnStatement 712021 712601 + ConditionalExpression 712041 712600 + BinaryExpression 712041 712083 + Identifier 712041 712052 + AmpersandToken 712052 712054 + PropertyAccessExpression 712054 712083 + Identifier 712054 712065 + Identifier 712066 712083 + QuestionToken 712083 712085 + ConditionalExpression 712085 712497 + BinaryExpression 712085 712139 + Identifier 712085 712113 + AmpersandToken 712113 712115 + PropertyAccessExpression 712115 712139 + Identifier 712115 712126 + Identifier 712127 712139 + QuestionToken 712139 712141 + BinaryExpression 712141 712250 + CallExpression 712141 712207 + Identifier 712141 712199 + Identifier 712200 712206 + BarBarToken 712207 712210 + CallExpression 712210 712250 + Identifier 712210 712242 + Identifier 712243 712249 + ColonToken 712250 712252 + BinaryExpression 712252 712497 + PropertyAccessExpression 712252 712454 + PropertyAccessExpression 712252 712444 + ParenthesizedExpression 712252 712438 + AsExpression 712412 712437 + Identifier 712412 712418 + TypeReference 712421 712437 + Identifier 712421 712437 + Identifier 712439 712444 + Identifier 712445 712454 + BarBarToken 712454 712457 + NonNullExpression 712457 712497 + PropertyAccessExpression 712457 712496 + PropertyAccessExpression 712457 712491 + ParenthesizedExpression 712457 712485 + AsExpression 712459 712484 + Identifier 712459 712465 + TypeReference 712468 712484 + Identifier 712468 712484 + Identifier 712486 712491 + Identifier 712492 712496 + ColonToken 712497 712499 + CallExpression 712499 712600 + Identifier 712499 712534 + CallExpression 712535 712558 + Identifier 712535 712550 + Identifier 712551 712557 + PrefixUnaryExpression 712559 712599 + PrefixUnaryExpression 712561 712599 + ParenthesizedExpression 712562 712599 + BinaryExpression 712563 712598 + PropertyAccessExpression 712563 712575 + Identifier 712563 712569 + Identifier 712570 712575 + AmpersandToken 712575 712577 + PropertyAccessExpression 712577 712598 + Identifier 712577 712589 + Identifier 712590 712598 + IfStatement 712612 712844 + BinaryExpression 712626 712661 + PropertyAccessExpression 712626 712638 + Identifier 712626 712632 + Identifier 712633 712638 + AmpersandToken 712638 712640 + PropertyAccessExpression 712640 712661 + Identifier 712640 712652 + Identifier 712653 712661 + Block 712662 712844 + ReturnStatement 712664 712833 + ConditionalExpression 712684 712832 + BinaryExpression 712684 712721 + Identifier 712684 712695 + AmpersandToken 712695 712697 + PropertyAccessExpression 712697 712721 + Identifier 712697 712708 + Identifier 712709 712721 + QuestionToken 712721 712723 + CallExpression 712723 712781 + Identifier 712723 712773 + Identifier 712774 712780 + ColonToken 712781 712783 + CallExpression 712783 712832 + Identifier 712783 712824 + Identifier 712825 712831 + ReturnStatement 712844 712885 + CallExpression 712860 712884 + Identifier 712860 712876 + Identifier 712877 712883 + FunctionDeclaration 712892 714244 + Identifier 712908 712924 + Parameter 712925 712939 + Identifier 712925 712931 + TypeReference 712932 712939 + Identifier 712932 712939 + TypeReference 712941 712946 + Identifier 712941 712946 + Block 712946 714244 + VariableStatement 712948 712999 + VariableDeclarationList 712948 712998 + VariableDeclaration 712963 712998 + Identifier 712963 712974 + CallExpression 712976 712998 + Identifier 712976 712990 + Identifier 712991 712997 + IfStatement 712999 713124 + BinaryExpression 713013 713049 + Identifier 713013 713023 + AmpersandToken 713023 713025 + PropertyAccessExpression 713025 713049 + Identifier 713025 713036 + Identifier 713037 713049 + Block 713050 713124 + ReturnStatement 713052 713113 + CallExpression 713072 713112 + Identifier 713072 713104 + Identifier 713105 713111 + IfStatement 713124 713245 + BinaryExpression 713138 713174 + Identifier 713138 713148 + AmpersandToken 713148 713150 + PropertyAccessExpression 713150 713174 + Identifier 713150 713161 + Identifier 713162 713174 + Block 713175 713245 + ReturnStatement 713177 713234 + CallExpression 713197 713233 + Identifier 713197 713225 + Identifier 713226 713232 + IfStatement 713245 713370 + BinaryExpression 713259 713289 + Identifier 713259 713269 + AmpersandToken 713269 713271 + PropertyAccessExpression 713271 713289 + Identifier 713271 713282 + Identifier 713283 713289 + Block 713290 713370 + ReturnStatement 713292 713359 + CallExpression 713312 713358 + Identifier 713312 713334 + AsExpression 713335 713357 + Identifier 713335 713341 + TypeReference 713344 713357 + Identifier 713344 713357 + IfStatement 713370 713516 + BinaryExpression 713384 713421 + Identifier 713384 713394 + AmpersandToken 713394 713396 + PropertyAccessExpression 713396 713421 + Identifier 713396 713407 + Identifier 713408 713421 + Block 713422 713516 + ReturnStatement 713424 713505 + CallExpression 713444 713504 + Identifier 713444 713473 + AsExpression 713474 713503 + Identifier 713474 713480 + TypeReference 713483 713503 + Identifier 713483 713503 + IfStatement 713516 713672 + BinaryExpression 713530 713590 + PropertyAccessExpression 713530 713542 + Identifier 713530 713536 + Identifier 713537 713542 + AmpersandToken 713542 713544 + ParenthesizedExpression 713544 713590 + BinaryExpression 713546 713589 + PropertyAccessExpression 713546 713566 + Identifier 713546 713557 + Identifier 713558 713566 + BarToken 713566 713568 + PropertyAccessExpression 713568 713589 + Identifier 713568 713580 + Identifier 713581 713589 + Block 713591 713672 + ReturnStatement 713593 713661 + CallExpression 713613 713660 + Identifier 713613 713652 + Identifier 713653 713659 + IfStatement 713672 713881 + BinaryExpression 713686 713809 + PropertyAccessExpression 713686 713698 + Identifier 713686 713692 + Identifier 713693 713698 + AmpersandToken 713698 713700 + ParenthesizedExpression 713700 713809 + BinaryExpression 713702 713808 + BinaryExpression 713702 713782 + BinaryExpression 713702 713763 + BinaryExpression 713702 713743 + PropertyAccessExpression 713702 713722 + Identifier 713702 713713 + Identifier 713714 713722 + BarToken 713722 713724 + PropertyAccessExpression 713724 713743 + Identifier 713724 713736 + Identifier 713737 713743 + BarToken 713743 713745 + PropertyAccessExpression 713745 713763 + Identifier 713745 713757 + Identifier 713758 713763 + BarToken 713763 713765 + PropertyAccessExpression 713765 713782 + Identifier 713765 713777 + Identifier 713778 713782 + BarToken 713782 713784 + PropertyAccessExpression 713784 713808 + Identifier 713784 713796 + Identifier 713797 713808 + Block 713810 713881 + ReturnStatement 713812 713870 + CallExpression 713832 713869 + Identifier 713832 713861 + Identifier 713862 713868 + IfStatement 713881 713995 + BinaryExpression 713895 713932 + PropertyAccessExpression 713895 713907 + Identifier 713895 713901 + Identifier 713902 713907 + AmpersandToken 713907 713909 + PropertyAccessExpression 713909 713932 + Identifier 713909 713921 + Identifier 713922 713932 + Block 713933 713995 + ReturnStatement 713935 713984 + CallExpression 713955 713983 + Identifier 713955 713975 + Identifier 713976 713982 + IfStatement 713995 714106 + BinaryExpression 714009 714044 + PropertyAccessExpression 714009 714021 + Identifier 714009 714015 + Identifier 714016 714021 + AmpersandToken 714021 714023 + PropertyAccessExpression 714023 714044 + Identifier 714023 714035 + Identifier 714036 714044 + Block 714045 714106 + ReturnStatement 714047 714095 + CallExpression 714067 714094 + Identifier 714067 714086 + Identifier 714087 714093 + IfStatement 714106 714210 + BinaryExpression 714120 714152 + PropertyAccessExpression 714120 714132 + Identifier 714120 714126 + Identifier 714127 714132 + AmpersandToken 714132 714134 + PropertyAccessExpression 714134 714152 + Identifier 714134 714146 + Identifier 714147 714152 + Block 714153 714210 + ReturnStatement 714155 714199 + CallExpression 714175 714198 + Identifier 714175 714190 + Identifier 714191 714197 + ReturnStatement 714210 714237 + Identifier 714226 714236 + FunctionDeclaration 714244 714412 + Identifier 714260 714286 + Parameter 714287 714301 + Identifier 714287 714293 + TypeReference 714294 714301 + Identifier 714294 714301 + Block 714302 714412 + ReturnStatement 714304 714405 + CallExpression 714320 714404 + Identifier 714320 714338 + CallExpression 714339 714362 + Identifier 714339 714354 + Identifier 714355 714361 + PrefixUnaryExpression 714363 714403 + PrefixUnaryExpression 714365 714403 + ParenthesizedExpression 714366 714403 + BinaryExpression 714367 714402 + PropertyAccessExpression 714367 714379 + Identifier 714367 714373 + Identifier 714374 714379 + AmpersandToken 714379 714381 + PropertyAccessExpression 714381 714402 + Identifier 714381 714393 + Identifier 714394 714402 + FunctionDeclaration 714412 714808 + Identifier 714428 714450 + Parameter 714451 714461 + Identifier 714451 714455 + TypeReference 714456 714461 + Identifier 714456 714461 + Parameter 714462 714487 + Identifier 714462 714470 + TypeOperator 714471 714487 + ArrayType 714480 714487 + TypeReference 714480 714485 + Identifier 714480 714485 + Block 714488 714808 + IfStatement 714490 714619 + BinaryExpression 714504 714578 + BinaryExpression 714504 714522 + Identifier 714504 714508 + EqualsEqualsEqualsToken 714508 714512 + Identifier 714512 714522 + BarBarToken 714522 714525 + BinaryExpression 714525 714578 + ParenthesizedExpression 714525 714572 + BinaryExpression 714527 714571 + CallExpression 714527 714547 + Identifier 714527 714541 + Identifier 714542 714546 + AmpersandToken 714547 714549 + PropertyAccessExpression 714549 714571 + Identifier 714549 714561 + Identifier 714562 714571 + EqualsEqualsEqualsToken 714572 714576 + NumericLiteral 714576 714578 + Block 714579 714619 + ReturnStatement 714581 714608 + FalseKeyword 714601 714607 + ForOfStatement 714619 714778 + VariableDeclarationList 714634 714646 + VariableDeclaration 714639 714646 + Identifier 714639 714646 + Identifier 714649 714657 + Block 714658 714778 + IfStatement 714660 714767 + BinaryExpression 714678 714719 + PropertyAccessExpression 714678 714708 + ParenthesizedExpression 714678 714701 + AsExpression 714679 714700 + Identifier 714679 714683 + TypeReference 714686 714700 + Identifier 714686 714700 + Identifier 714702 714708 + EqualsEqualsEqualsToken 714708 714712 + Identifier 714712 714719 + Block 714720 714767 + ReturnStatement 714722 714752 + TrueKeyword 714746 714751 + ReturnStatement 714778 714801 + FalseKeyword 714794 714800 + FunctionDeclaration 714808 715077 + Identifier 714824 714842 + Parameter 714843 714853 + Identifier 714843 714847 + TypeReference 714848 714853 + Identifier 714848 714853 + Parameter 714854 714867 + Identifier 714854 714861 + TypeReference 714862 714867 + Identifier 714862 714867 + Block 714868 715077 + ReturnStatement 714870 715070 + BinaryExpression 714886 715069 + BinaryExpression 714886 715011 + BinaryExpression 714886 714942 + BinaryExpression 714886 714905 + Identifier 714886 714891 + ExclamationEqualsEqualsToken 714891 714895 + Identifier 714895 714905 + AmpersandAmpersandToken 714905 714921 + BinaryExpression 714921 714942 + Identifier 714921 714928 + ExclamationEqualsEqualsToken 714928 714932 + Identifier 714932 714942 + AmpersandAmpersandToken 714942 714958 + BinaryExpression 714958 715011 + ParenthesizedExpression 714958 715005 + BinaryExpression 714960 715004 + CallExpression 714960 714980 + Identifier 714960 714974 + Identifier 714975 714979 + AmpersandToken 714980 714982 + PropertyAccessExpression 714982 715004 + Identifier 714982 714994 + Identifier 714995 715004 + ExclamationEqualsEqualsToken 715005 715009 + NumericLiteral 715009 715011 + AmpersandAmpersandToken 715011 715027 + BinaryExpression 715027 715069 + PropertyAccessExpression 715027 715058 + ParenthesizedExpression 715027 715051 + AsExpression 715029 715050 + Identifier 715029 715033 + TypeReference 715036 715050 + Identifier 715036 715050 + Identifier 715052 715058 + EqualsEqualsEqualsToken 715058 715062 + Identifier 715062 715069 + FunctionDeclaration 715077 715236 + Identifier 715093 715107 + Parameter 715108 715118 + Identifier 715108 715112 + TypeReference 715113 715118 + Identifier 715113 715118 + TypeReference 715120 715125 + Identifier 715120 715125 + Block 715125 715236 + ReturnStatement 715127 715229 + ConditionalExpression 715143 715228 + BinaryExpression 715143 715188 + CallExpression 715143 715164 + Identifier 715143 715158 + Identifier 715159 715163 + AmpersandToken 715164 715166 + PropertyAccessExpression 715166 715188 + Identifier 715166 715178 + Identifier 715179 715188 + QuestionToken 715188 715190 + PropertyAccessExpression 715190 715221 + ParenthesizedExpression 715190 715214 + AsExpression 715192 715213 + Identifier 715192 715196 + TypeReference 715199 715213 + Identifier 715199 715213 + Identifier 715215 715221 + ColonToken 715221 715223 + Identifier 715223 715228 + FunctionDeclaration 715236 715956 + Identifier 715367 715379 + Parameter 715380 715390 + Identifier 715380 715384 + TypeReference 715385 715390 + Identifier 715385 715390 + Parameter 715391 715419 + Identifier 715391 715401 + UnionType 715402 715419 + TypeReference 715402 715407 + Identifier 715402 715407 + UndefinedKeyword 715409 715419 + Block 715420 715956 + ReturnStatement 715422 715451 + CallExpression 715438 715450 + Identifier 715438 715444 + Identifier 715445 715449 + FunctionDeclaration 715451 715949 + Identifier 715469 715475 + Parameter 715476 715486 + Identifier 715476 715480 + TypeReference 715481 715486 + Identifier 715481 715486 + BooleanKeyword 715488 715496 + Block 715496 715949 + IfStatement 715498 715911 + BinaryExpression 715516 715593 + CallExpression 715516 715536 + Identifier 715516 715530 + Identifier 715531 715535 + AmpersandToken 715536 715538 + ParenthesizedExpression 715538 715593 + BinaryExpression 715540 715592 + PropertyAccessExpression 715540 715568 + Identifier 715540 715551 + Identifier 715552 715568 + BarToken 715568 715570 + PropertyAccessExpression 715570 715592 + Identifier 715570 715582 + Identifier 715583 715592 + Block 715594 715764 + VariableStatement 715596 715666 + VariableDeclarationList 715596 715665 + VariableDeclaration 715619 715665 + Identifier 715619 715626 + AsExpression 715628 715665 + CallExpression 715628 715648 + Identifier 715628 715642 + Identifier 715643 715647 + TypeReference 715651 715665 + Identifier 715651 715665 + ReturnStatement 715666 715749 + BinaryExpression 715690 715748 + BinaryExpression 715690 715711 + Identifier 715690 715697 + EqualsEqualsEqualsToken 715697 715701 + Identifier 715701 715711 + BarBarToken 715711 715714 + CallExpression 715714 715748 + Identifier 715714 715719 + CallExpression 715720 715740 + Identifier 715720 715732 + Identifier 715733 715739 + Identifier 715741 715747 + IfStatement 715782 715911 + BinaryExpression 715787 715822 + PropertyAccessExpression 715787 715797 + Identifier 715787 715791 + Identifier 715792 715797 + AmpersandToken 715797 715799 + PropertyAccessExpression 715799 715822 + Identifier 715799 715809 + Identifier 715810 715822 + Block 715823 715911 + ReturnStatement 715825 715896 + CallExpression 715849 715895 + Identifier 715849 715854 + PropertyAccessExpression 715855 715887 + ParenthesizedExpression 715855 715881 + AsExpression 715856 715880 + Identifier 715856 715860 + TypeReference 715863 715880 + Identifier 715863 715880 + Identifier 715882 715887 + Identifier 715888 715894 + ReturnStatement 715911 715938 + FalseKeyword 715931 715937 + FunctionDeclaration 715956 716647 + Identifier 716267 716288 + Parameter 716289 716332 + Identifier 716289 716303 + UnionType 716304 716332 + ArrayType 716304 716320 + TypeReference 716304 716318 + Identifier 716304 716318 + UndefinedKeyword 716322 716332 + Parameter 716333 716383 + Identifier 716333 716346 + TypeOperator 716347 716383 + ArrayType 716356 716383 + TypeReference 716356 716381 + Identifier 716356 716381 + UnionType 716385 716413 + ArrayType 716385 716401 + TypeReference 716385 716399 + Identifier 716385 716399 + UndefinedKeyword 716403 716413 + Block 716413 716647 + ForOfStatement 716415 716608 + VariableDeclarationList 716430 716447 + VariableDeclaration 716435 716447 + Identifier 716435 716447 + Identifier 716450 716463 + Block 716464 716608 + ExpressionStatement 716466 716597 + BinaryExpression 716466 716596 + Identifier 716466 716494 + EqualsToken 716494 716496 + CallExpression 716496 716596 + Identifier 716496 716511 + Identifier 716512 716526 + CallExpression 716527 716595 + Identifier 716527 716558 + CallExpression 716559 716594 + Identifier 716559 716581 + Identifier 716582 716593 + ReturnStatement 716608 716640 + Identifier 716624 716639 + FunctionDeclaration 716647 721453 + Identifier 716769 716792 + Parameter 716793 716803 + Identifier 716793 716797 + TypeReference 716798 716803 + Identifier 716798 716803 + Parameter 716804 716831 + Identifier 716804 716821 + QuestionToken 716821 716822 + BooleanKeyword 716823 716831 + UnionType 716833 716861 + ArrayType 716833 716849 + TypeReference 716833 716847 + Identifier 716833 716847 + UndefinedKeyword 716851 716861 + Block 716861 721453 + WhileStatement 716863 721446 + TrueKeyword 716880 716884 + Block 716885 721446 + ExpressionStatement 716887 716920 + BinaryExpression 716887 716919 + Identifier 716887 716905 + EqualsToken 716905 716907 + PropertyAccessExpression 716907 716919 + Identifier 716907 716912 + Identifier 716913 716919 + IfStatement 716920 717712 + BinaryExpression 716990 717022 + Identifier 716990 716994 + AmpersandAmpersandToken 716994 716997 + CallExpression 716997 717022 + Identifier 716997 717016 + Identifier 717017 717021 + Block 717023 717712 + VariableStatement 717025 717203 + VariableDeclarationList 717025 717202 + VariableDeclaration 717150 717202 + Identifier 717150 717165 + CallExpression 717167 717202 + Identifier 717167 717196 + Identifier 717197 717201 + IfStatement 717203 717697 + BinaryExpression 717225 717345 + BinaryExpression 717225 717279 + Identifier 717225 717239 + EqualsEqualsEqualsToken 717239 717243 + PropertyAccessExpression 717243 717279 + Identifier 717243 717269 + Identifier 717270 717279 + BarBarToken 717279 717282 + BinaryExpression 717282 717345 + Identifier 717282 717297 + EqualsEqualsEqualsToken 717297 717301 + PropertyAccessExpression 717301 717345 + Identifier 717301 717327 + Identifier 717328 717345 + Block 717346 717697 + VariableStatement 717348 717472 + VariableDeclarationList 717348 717471 + VariableDeclaration 717375 717471 + Identifier 717375 717382 + CallExpression 717384 717471 + Identifier 717384 717407 + AsExpression 717408 717470 + PropertyAccessExpression 717408 717417 + Identifier 717408 717412 + Identifier 717413 717417 + UnionType 717420 717470 + TypeReference 717420 717449 + Identifier 717420 717449 + TypeReference 717451 717470 + Identifier 717451 717470 + IfStatement 717472 717678 + BinaryExpression 717498 717587 + BinaryExpression 717498 717521 + Identifier 717498 717504 + AmpersandAmpersandToken 717504 717507 + PropertyAccessExpression 717507 717521 + Identifier 717507 717514 + Identifier 717515 717521 + AmpersandAmpersandToken 717521 717524 + PrefixUnaryExpression 717524 717587 + CallExpression 717526 717587 + Identifier 717526 717538 + PropertyAccessExpression 717539 717569 + PropertyAccessExpression 717539 717552 + Identifier 717539 717545 + Identifier 717546 717552 + Identifier 717553 717569 + ArrowFunction 717570 717586 + Parameter 717570 717572 + Identifier 717570 717572 + EqualsGreaterThanToken 717572 717575 + BinaryExpression 717575 717586 + Identifier 717575 717580 + EqualsEqualsEqualsToken 717580 717584 + Identifier 717584 717586 + Block 717588 717678 + ExpressionStatement 717590 717655 + BinaryExpression 717590 717654 + Identifier 717590 717620 + EqualsToken 717620 717622 + NonNullExpression 717622 717654 + PropertyAccessExpression 717622 717653 + PropertyAccessExpression 717622 717636 + Identifier 717622 717629 + Identifier 717630 717636 + Identifier 717637 717653 + IfStatement 717712 717788 + PrefixUnaryExpression 717730 717735 + Identifier 717731 717735 + Block 717736 717788 + ReturnStatement 717738 717773 + Identifier 717762 717772 + VariableStatement 717788 717825 + VariableDeclarationList 717788 717824 + VariableDeclaration 717807 717824 + Identifier 717807 717812 + PropertyAccessExpression 717814 717824 + Identifier 717814 717819 + Identifier 717820 717824 + SwitchStatement 717825 721435 + Identifier 717847 717851 + CaseBlock 717852 721435 + CaseClause 717854 717905 + PropertyAccessExpression 717876 717904 + Identifier 717876 717887 + Identifier 717888 717904 + CaseClause 717905 717955 + PropertyAccessExpression 717927 717954 + Identifier 717927 717938 + Identifier 717939 717954 + CaseClause 717955 718010 + PropertyAccessExpression 717977 718009 + Identifier 717977 717988 + Identifier 717989 718009 + CaseClause 718010 718058 + PropertyAccessExpression 718032 718057 + Identifier 718032 718043 + Identifier 718044 718057 + CaseClause 718058 718111 + PropertyAccessExpression 718080 718110 + Identifier 718080 718091 + Identifier 718092 718110 + CaseClause 718111 718161 + PropertyAccessExpression 718133 718160 + Identifier 718133 718144 + Identifier 718145 718160 + CaseClause 718161 718208 + PropertyAccessExpression 718183 718207 + Identifier 718183 718194 + Identifier 718195 718207 + CaseClause 718208 718258 + PropertyAccessExpression 718230 718257 + Identifier 718230 718241 + Identifier 718242 718257 + CaseClause 718258 718310 + PropertyAccessExpression 718280 718309 + Identifier 718280 718291 + Identifier 718292 718309 + CaseClause 718310 718364 + PropertyAccessExpression 718332 718363 + Identifier 718332 718343 + Identifier 718344 718363 + CaseClause 718364 718416 + PropertyAccessExpression 718386 718415 + Identifier 718386 718397 + Identifier 718398 718415 + CaseClause 718416 718469 + PropertyAccessExpression 718438 718468 + Identifier 718438 718449 + Identifier 718450 718468 + CaseClause 718469 718517 + PropertyAccessExpression 718491 718516 + Identifier 718491 718502 + Identifier 718503 718516 + CaseClause 718517 718572 + PropertyAccessExpression 718539 718571 + Identifier 718539 718550 + Identifier 718551 718571 + CaseClause 718572 718623 + PropertyAccessExpression 718594 718622 + Identifier 718594 718605 + Identifier 718606 718622 + CaseClause 718623 718673 + PropertyAccessExpression 718645 718672 + Identifier 718645 718656 + Identifier 718657 718672 + CaseClause 718673 718720 + PropertyAccessExpression 718695 718719 + Identifier 718695 718706 + Identifier 718707 718719 + CaseClause 718720 718771 + PropertyAccessExpression 718742 718770 + Identifier 718742 718753 + Identifier 718754 718770 + CaseClause 718771 718816 + PropertyAccessExpression 718793 718815 + Identifier 718793 718804 + Identifier 718805 718815 + CaseClause 718816 720703 + PropertyAccessExpression 718838 718865 + Identifier 718838 718849 + Identifier 718850 718865 + Block 718866 720703 + VariableStatement 718868 718965 + VariableDeclarationList 718868 718964 + VariableDeclaration 718895 718964 + Identifier 718895 718915 + CallExpression 718917 718964 + Identifier 718917 718940 + Identifier 718941 718945 + Identifier 718946 718963 + IfStatement 718965 719567 + BinaryExpression 718991 719161 + ParenthesizedExpression 718991 719099 + BinaryExpression 718992 719098 + BinaryExpression 718992 719067 + BinaryExpression 718992 719030 + Identifier 718992 718996 + EqualsEqualsEqualsToken 718996 719000 + PropertyAccessExpression 719000 719030 + Identifier 719000 719011 + Identifier 719012 719030 + BarBarToken 719030 719033 + BinaryExpression 719033 719067 + Identifier 719033 719038 + EqualsEqualsEqualsToken 719038 719042 + PropertyAccessExpression 719042 719067 + Identifier 719042 719053 + Identifier 719054 719067 + BarBarToken 719067 719070 + CallExpression 719070 719098 + Identifier 719070 719092 + Identifier 719093 719097 + AmpersandAmpersandToken 719099 719102 + CallExpression 719102 719161 + Identifier 719102 719121 + AsExpression 719122 719160 + Identifier 719122 719126 + UnionType 719129 719160 + TypeReference 719129 719140 + Identifier 719129 719140 + TypeReference 719142 719160 + Identifier 719142 719160 + Block 719162 719567 + VariableStatement 719164 719340 + VariableDeclarationList 719164 719339 + VariableDeclaration 719195 719339 + Identifier 719195 719205 + CallExpression 719207 719339 + Identifier 719207 719224 + CallExpression 719225 719338 + Identifier 719225 719244 + CallExpression 719245 719317 + Identifier 719245 719260 + CallExpression 719261 719316 + Identifier 719261 719283 + AsExpression 719284 719315 + Identifier 719284 719288 + TypeReference 719291 719315 + Identifier 719291 719315 + PropertyAccessExpression 719318 719337 + Identifier 719318 719332 + Identifier 719333 719337 + IfStatement 719340 719544 + BinaryExpression 719370 719407 + Identifier 719370 719379 + AmpersandAmpersandToken 719379 719382 + PropertyAccessExpression 719382 719407 + Identifier 719382 719392 + Identifier 719393 719407 + Block 719408 719544 + ReturnStatement 719410 719517 + ArrayLiteralExpression 719446 719516 + SpreadElement 719448 719486 + ParenthesizedExpression 719451 719486 + BinaryExpression 719452 719485 + Identifier 719452 719471 + BarBarToken 719471 719474 + Identifier 719474 719485 + SpreadElement 719487 719515 + PropertyAccessExpression 719491 719515 + Identifier 719491 719500 + Identifier 719501 719515 + IfStatement 719567 720017 + BinaryExpression 719593 719623 + Identifier 719593 719597 + EqualsEqualsEqualsToken 719597 719601 + PropertyAccessExpression 719601 719623 + Identifier 719601 719612 + Identifier 719613 719623 + Block 719624 719806 + ReturnStatement 719626 719783 + CallExpression 719658 719782 + Identifier 719658 719665 + Identifier 719666 719685 + CallExpression 719686 719781 + Identifier 719686 719717 + CallExpression 719718 719780 + Identifier 719718 719740 + PropertyAccessExpression 719741 719779 + ParenthesizedExpression 719741 719765 + AsExpression 719742 719764 + Identifier 719742 719746 + TypeReference 719749 719764 + Identifier 719749 719764 + Identifier 719766 719779 + IfStatement 719832 720017 + BinaryExpression 719837 719872 + Identifier 719837 719841 + EqualsEqualsEqualsToken 719841 719845 + PropertyAccessExpression 719845 719872 + Identifier 719845 719856 + Identifier 719857 719872 + Block 719873 720017 + ReturnStatement 719875 719994 + CallExpression 719907 719993 + Identifier 719907 719919 + Identifier 719920 719939 + CallExpression 719940 719992 + Identifier 719940 719963 + AsExpression 719964 719991 + Identifier 719964 719968 + TypeReference 719971 719991 + Identifier 719971 719991 + VariableStatement 720017 720193 + VariableDeclarationList 720017 720192 + VariableDeclaration 720044 720192 + Identifier 720044 720070 + CallExpression 720072 720192 + Identifier 720072 720093 + Identifier 720094 720113 + CallExpression 720114 720191 + Identifier 720114 720152 + AsExpression 720153 720190 + Identifier 720153 720157 + TypeReference 720160 720190 + Identifier 720160 720190 + VariableStatement 720193 720572 + VariableDeclarationList 720193 720571 + VariableDeclaration 720220 720571 + Identifier 720220 720229 + BinaryExpression 720231 720571 + BinaryExpression 720231 720423 + Identifier 720231 720248 + AmpersandAmpersandToken 720248 720251 + ParenthesizedExpression 720251 720423 + BinaryExpression 720278 720422 + BinaryExpression 720278 720397 + BinaryExpression 720278 720353 + BinaryExpression 720278 720314 + Identifier 720278 720282 + EqualsEqualsEqualsToken 720282 720286 + PropertyAccessExpression 720286 720314 + Identifier 720286 720297 + Identifier 720298 720314 + BarBarToken 720314 720317 + BinaryExpression 720317 720353 + Identifier 720317 720322 + EqualsEqualsEqualsToken 720322 720326 + PropertyAccessExpression 720326 720353 + Identifier 720326 720337 + Identifier 720338 720353 + BarBarToken 720353 720356 + BinaryExpression 720356 720397 + Identifier 720356 720361 + EqualsEqualsEqualsToken 720361 720365 + PropertyAccessExpression 720365 720397 + Identifier 720365 720376 + Identifier 720377 720397 + BarBarToken 720397 720400 + CallExpression 720400 720422 + Identifier 720400 720416 + Identifier 720417 720421 + AmpersandAmpersandToken 720423 720426 + PropertyAccessExpression 720426 720571 + CallExpression 720426 720562 + Identifier 720426 720485 + CallExpression 720486 720561 + Identifier 720486 720508 + AsExpression 720509 720560 + Identifier 720509 720513 + UnionType 720516 720560 + TypeReference 720516 720537 + Identifier 720516 720537 + TypeReference 720539 720560 + Identifier 720539 720560 + Identifier 720563 720571 + ReturnStatement 720572 720684 + ConditionalExpression 720600 720683 + Identifier 720600 720609 + QuestionToken 720609 720611 + CallExpression 720611 720655 + Identifier 720611 720618 + Identifier 720619 720644 + Identifier 720645 720654 + ColonToken 720655 720657 + Identifier 720657 720683 + CaseClause 720703 721006 + PropertyAccessExpression 720725 720754 + Identifier 720725 720736 + Identifier 720737 720754 + VariableStatement 720755 720852 + VariableDeclarationList 720755 720851 + VariableDeclaration 720782 720851 + Identifier 720782 720794 + CallExpression 720796 720851 + Identifier 720796 720824 + AsExpression 720825 720850 + Identifier 720825 720829 + TypeReference 720832 720850 + Identifier 720832 720850 + IfStatement 720852 720978 + Identifier 720878 720889 + Block 720890 720978 + ExpressionStatement 720892 720955 + BinaryExpression 720892 720954 + Identifier 720892 720922 + EqualsToken 720922 720924 + NonNullExpression 720924 720954 + PropertyAccessExpression 720924 720953 + Identifier 720924 720936 + Identifier 720937 720953 + BreakStatement 720978 721006 + CaseClause 721006 721420 + PropertyAccessExpression 721028 721045 + Identifier 721028 721039 + Identifier 721040 721045 + Block 721046 721420 + VariableStatement 721048 721145 + VariableDeclarationList 721048 721144 + VariableDeclaration 721075 721144 + Identifier 721075 721095 + CallExpression 721097 721144 + Identifier 721097 721120 + Identifier 721121 721125 + Identifier 721126 721143 + ReturnStatement 721145 721401 + ConditionalExpression 721173 721400 + PropertyAccessExpression 721173 721194 + ParenthesizedExpression 721173 721189 + AsExpression 721175 721188 + Identifier 721175 721179 + TypeReference 721182 721188 + Identifier 721182 721188 + Identifier 721190 721194 + QuestionToken 721194 721221 + CallExpression 721221 721353 + Identifier 721221 721242 + Identifier 721243 721262 + CallExpression 721263 721352 + Identifier 721263 721271 + PropertyAccessExpression 721272 721292 + ParenthesizedExpression 721272 721287 + AsExpression 721273 721286 + Identifier 721273 721277 + TypeReference 721280 721286 + Identifier 721280 721286 + Identifier 721288 721292 + ArrowFunction 721293 721351 + Parameter 721293 721295 + Identifier 721293 721295 + EqualsGreaterThanToken 721295 721298 + ConditionalExpression 721298 721351 + CallExpression 721298 721320 + Identifier 721298 721317 + Identifier 721318 721319 + QuestionToken 721320 721322 + PropertyAccessExpression 721322 721339 + Identifier 721322 721324 + Identifier 721325 721339 + ColonToken 721339 721341 + Identifier 721341 721351 + ColonToken 721353 721380 + Identifier 721380 721400 + FunctionDeclaration 721453 722524 + Identifier 721574 721615 + Parameter 721616 721630 + Identifier 721616 721622 + TypeReference 721623 721630 + Identifier 721623 721630 + UnionType 721632 721660 + ArrayType 721632 721648 + TypeReference 721632 721646 + Identifier 721632 721646 + UndefinedKeyword 721650 721660 + Block 721660 722524 + VariableStatement 721662 722343 + VariableDeclarationList 721662 722342 + VariableDeclaration 721677 722342 + Identifier 721677 721689 + ConditionalExpression 721691 722342 + ParenthesizedExpression 721691 721765 + BinaryExpression 721693 721764 + BinaryExpression 721693 721725 + PropertyAccessExpression 721693 721705 + Identifier 721693 721699 + Identifier 721700 721705 + AmpersandToken 721705 721707 + PropertyAccessExpression 721707 721725 + Identifier 721707 721719 + Identifier 721720 721725 + BarBarToken 721725 721728 + BinaryExpression 721728 721764 + PropertyAccessExpression 721728 721741 + Identifier 721728 721735 + Identifier 721736 721741 + AmpersandToken 721741 721743 + PropertyAccessExpression 721743 721764 + Identifier 721743 721755 + Identifier 721756 721764 + QuestionToken 721765 721780 + PropertyAccessExpression 721780 721804 + Identifier 721780 721787 + Identifier 721788 721804 + ColonToken 721804 721819 + NonNullExpression 721819 722342 + CallExpression 721819 722341 + PropertyAccessExpression 721819 721845 + PropertyAccessExpression 721819 721839 + Identifier 721819 721826 + Identifier 721827 721839 + QuestionDotToken 721839 721841 + Identifier 721841 721845 + ArrowFunction 721846 722340 + Parameter 721846 721850 + Identifier 721846 721850 + EqualsGreaterThanToken 721850 721853 + Block 721853 722340 + IfStatement 721855 721978 + BinaryExpression 721877 721922 + PropertyAccessExpression 721877 721886 + Identifier 721877 721881 + Identifier 721882 721886 + EqualsEqualsEqualsToken 721886 721890 + PropertyAccessExpression 721890 721922 + Identifier 721890 721901 + Identifier 721902 721922 + Block 721923 721978 + ReturnStatement 721925 721959 + TrueKeyword 721953 721958 + IfStatement 721978 722101 + BinaryExpression 722000 722044 + PropertyAccessExpression 722000 722009 + Identifier 722000 722004 + Identifier 722005 722009 + ExclamationEqualsEqualsToken 722009 722013 + PropertyAccessExpression 722013 722044 + Identifier 722013 722024 + Identifier 722025 722044 + Block 722045 722101 + ReturnStatement 722047 722082 + FalseKeyword 722075 722081 + VariableStatement 722101 722181 + VariableDeclarationList 722101 722180 + VariableDeclaration 722124 722180 + Identifier 722124 722136 + PropertyAccessExpression 722138 722180 + ParenthesizedExpression 722138 722168 + AsExpression 722140 722167 + Identifier 722140 722144 + TypeReference 722147 722167 + Identifier 722147 722167 + Identifier 722169 722180 + ReturnStatement 722181 722325 + BinaryExpression 722205 722324 + PrefixUnaryExpression 722205 722219 + PrefixUnaryExpression 722207 722219 + Identifier 722208 722219 + AmpersandAmpersandToken 722219 722222 + ParenthesizedExpression 722222 722324 + BinaryExpression 722224 722323 + BinaryExpression 722224 722274 + PropertyAccessExpression 722224 722240 + Identifier 722224 722235 + Identifier 722236 722240 + EqualsEqualsEqualsToken 722240 722244 + PropertyAccessExpression 722244 722274 + Identifier 722244 722255 + Identifier 722256 722274 + BarBarToken 722274 722277 + BinaryExpression 722277 722323 + PropertyAccessExpression 722277 722294 + Identifier 722277 722289 + Identifier 722290 722294 + EqualsEqualsEqualsToken 722294 722298 + PropertyAccessExpression 722298 722323 + Identifier 722298 722309 + Identifier 722310 722323 + ExpressionStatement 722343 722464 + CallExpression 722343 722463 + PropertyAccessExpression 722343 722365 + Identifier 722343 722358 + Identifier 722359 722365 + PrefixUnaryExpression 722366 722379 + PrefixUnaryExpression 722367 722379 + Identifier 722368 722379 + StringLiteral 722380 722462 + ReturnStatement 722464 722517 + CallExpression 722480 722516 + Identifier 722480 722503 + Identifier 722504 722515 + FunctionDeclaration 722524 723546 + Identifier 722684 722736 + Parameter 722737 722751 + Identifier 722737 722743 + TypeReference 722744 722751 + Identifier 722744 722751 + UnionType 722753 722781 + ArrayType 722753 722769 + TypeReference 722753 722767 + Identifier 722753 722767 + UndefinedKeyword 722771 722781 + Block 722781 723546 + IfStatement 722783 722852 + PrefixUnaryExpression 722797 722817 + PropertyAccessExpression 722798 722817 + Identifier 722798 722804 + Identifier 722805 722817 + Block 722818 722852 + ReturnStatement 722820 722841 + VariableStatement 722852 722902 + VariableDeclarationList 722852 722901 + VariableDeclaration 722865 722901 + Identifier 722865 722872 + UnionType 722873 722901 + ArrayType 722873 722889 + TypeReference 722873 722887 + Identifier 722873 722887 + UndefinedKeyword 722891 722901 + ForOfStatement 722902 723515 + VariableDeclarationList 722917 722927 + VariableDeclaration 722922 722927 + Identifier 722922 722927 + PropertyAccessExpression 722930 722950 + Identifier 722930 722937 + Identifier 722938 722950 + Block 722951 723515 + IfStatement 722953 723504 + BinaryExpression 722971 723237 + BinaryExpression 722971 723199 + BinaryExpression 722971 723157 + BinaryExpression 722971 723096 + BinaryExpression 722971 723034 + PropertyAccessExpression 722971 722998 + Identifier 722971 722993 + Identifier 722994 722998 + EqualsEqualsEqualsToken 722998 723002 + PropertyAccessExpression 723002 723034 + Identifier 723002 723013 + Identifier 723014 723034 + BarBarToken 723034 723037 + BinaryExpression 723037 723096 + PropertyAccessExpression 723037 723064 + Identifier 723037 723059 + Identifier 723060 723064 + EqualsEqualsEqualsToken 723064 723068 + PropertyAccessExpression 723068 723096 + Identifier 723068 723079 + Identifier 723080 723096 + BarBarToken 723096 723099 + BinaryExpression 723099 723157 + PropertyAccessExpression 723099 723126 + Identifier 723099 723121 + Identifier 723122 723126 + EqualsEqualsEqualsToken 723126 723130 + PropertyAccessExpression 723130 723157 + Identifier 723130 723141 + Identifier 723142 723157 + BarBarToken 723157 723160 + CallExpression 723160 723199 + Identifier 723160 723193 + Identifier 723194 723198 + BarBarToken 723199 723202 + CallExpression 723202 723237 + Identifier 723202 723231 + Identifier 723232 723236 + Block 723252 723504 + VariableStatement 723254 723381 + VariableDeclarationList 723254 723380 + VariableDeclaration 723277 723380 + Identifier 723277 723289 + AsExpression 723291 723380 + Identifier 723291 723296 + UnionType 723299 723380 + TypeReference 723299 723320 + Identifier 723299 723320 + TypeReference 723322 723343 + Identifier 723322 723343 + TypeReference 723345 723361 + Identifier 723345 723361 + TypeReference 723363 723380 + Identifier 723363 723380 + ExpressionStatement 723381 723489 + BinaryExpression 723381 723488 + Identifier 723381 723405 + EqualsToken 723405 723407 + CallExpression 723407 723488 + Identifier 723407 723428 + Identifier 723429 723435 + CallExpression 723436 723487 + Identifier 723436 723474 + Identifier 723475 723486 + ReturnStatement 723515 723539 + Identifier 723531 723538 + FunctionDeclaration 723546 723959 + Identifier 723729 723765 + Parameter 723766 723780 + Identifier 723766 723772 + TypeReference 723773 723780 + Identifier 723773 723780 + UnionType 723782 723810 + ArrayType 723782 723798 + TypeReference 723782 723796 + Identifier 723782 723796 + UndefinedKeyword 723800 723810 + Block 723810 723959 + ReturnStatement 723812 723952 + CallExpression 723828 723951 + Identifier 723828 723840 + CallExpression 723841 723889 + Identifier 723841 723881 + Identifier 723882 723888 + CallExpression 723890 723950 + Identifier 723890 723942 + Identifier 723943 723949 + FunctionDeclaration 723959 724649 + Identifier 724129 724152 + Parameter 724153 724163 + Identifier 724153 724157 + TypeReference 724158 724163 + Identifier 724158 724163 + Block 724164 724649 + VariableStatement 724166 724246 + VariableDeclarationList 724166 724245 + VariableDeclaration 724181 724245 + Identifier 724181 724192 + CallExpression 724194 724245 + Identifier 724194 724214 + Identifier 724215 724219 + PropertyAccessExpression 724220 724244 + Identifier 724220 724234 + Identifier 724235 724244 + IfStatement 724246 724619 + BinaryExpression 724260 724283 + PropertyAccessExpression 724260 724277 + Identifier 724260 724270 + Identifier 724271 724277 + EqualsEqualsEqualsToken 724277 724281 + NumericLiteral 724281 724283 + Block 724284 724619 + VariableStatement 724286 724324 + VariableDeclarationList 724286 724323 + VariableDeclaration 724305 724323 + Identifier 724305 724307 + ElementAccessExpression 724309 724323 + Identifier 724309 724320 + NumericLiteral 724321 724322 + IfStatement 724324 724608 + BinaryExpression 724342 724420 + BinaryExpression 724342 724388 + PrefixUnaryExpression 724342 724359 + PropertyAccessExpression 724343 724359 + Identifier 724343 724344 + Identifier 724345 724359 + AmpersandAmpersandToken 724359 724362 + BinaryExpression 724362 724388 + PropertyAccessExpression 724362 724382 + PropertyAccessExpression 724362 724375 + Identifier 724362 724364 + Identifier 724365 724375 + Identifier 724376 724382 + EqualsEqualsEqualsToken 724382 724386 + NumericLiteral 724386 724388 + AmpersandAmpersandToken 724388 724391 + CallExpression 724391 724420 + Identifier 724391 724417 + Identifier 724418 724419 + Block 724421 724608 + VariableStatement 724423 724495 + VariableDeclarationList 724423 724494 + VariableDeclaration 724446 724494 + Identifier 724446 724456 + CallExpression 724458 724494 + Identifier 724458 724477 + ElementAccessExpression 724478 724493 + PropertyAccessExpression 724478 724490 + Identifier 724478 724479 + Identifier 724480 724490 + NumericLiteral 724491 724492 + ReturnStatement 724495 724593 + BinaryExpression 724519 724592 + CallExpression 724519 724540 + Identifier 724519 724529 + Identifier 724530 724539 + BarBarToken 724540 724543 + BinaryExpression 724543 724592 + CallExpression 724543 724580 + Identifier 724543 724569 + Identifier 724570 724579 + EqualsEqualsEqualsToken 724580 724584 + Identifier 724584 724592 + ReturnStatement 724619 724642 + FalseKeyword 724635 724641 + FunctionDeclaration 724649 725049 + Identifier 724665 724683 + Parameter 724684 724694 + Identifier 724684 724688 + TypeReference 724689 724694 + Identifier 724689 724694 + BooleanKeyword 724696 724704 + Block 724704 725049 + IfStatement 724706 724821 + BinaryExpression 724720 724781 + PropertyAccessExpression 724720 724777 + CallExpression 724720 724770 + Identifier 724720 724739 + Identifier 724740 724744 + PropertyAccessExpression 724745 724769 + Identifier 724745 724759 + Identifier 724760 724769 + Identifier 724771 724777 + GreaterThanToken 724777 724779 + NumericLiteral 724779 724781 + Block 724782 724821 + ReturnStatement 724784 724810 + TrueKeyword 724804 724809 + IfStatement 724821 725019 + BinaryExpression 724835 724870 + PropertyAccessExpression 724835 724845 + Identifier 724835 724839 + Identifier 724840 724845 + AmpersandToken 724845 724847 + PropertyAccessExpression 724847 724870 + Identifier 724847 724857 + Identifier 724858 724870 + Block 724871 725019 + VariableStatement 724873 724936 + VariableDeclarationList 724873 724935 + VariableDeclaration 724892 724935 + Identifier 724892 724903 + CallExpression 724905 724935 + Identifier 724905 724929 + Identifier 724930 724934 + ReturnStatement 724936 725008 + BinaryExpression 724956 725007 + PrefixUnaryExpression 724956 724969 + PrefixUnaryExpression 724958 724969 + Identifier 724959 724969 + AmpersandAmpersandToken 724969 724972 + CallExpression 724972 725007 + Identifier 724972 724995 + Identifier 724996 725006 + ReturnStatement 725019 725042 + FalseKeyword 725035 725041 + FunctionDeclaration 725049 725283 + Identifier 725065 725088 + Parameter 725089 725108 + Identifier 725089 725093 + TypeReference 725094 725108 + Identifier 725094 725108 + UnionType 725110 725150 + TypeReference 725110 725138 + Identifier 725110 725138 + UndefinedKeyword 725140 725150 + Block 725150 725283 + VariableStatement 725152 725220 + VariableDeclarationList 725152 725219 + VariableDeclaration 725167 725219 + Identifier 725167 725172 + CallExpression 725174 725219 + Identifier 725174 725206 + PropertyAccessExpression 725207 725218 + Identifier 725207 725211 + Identifier 725212 725218 + ReturnStatement 725220 725276 + BinaryExpression 725236 725275 + Identifier 725236 725241 + AmpersandAmpersandToken 725241 725244 + CallExpression 725244 725275 + Identifier 725244 725269 + Identifier 725270 725274 + FunctionDeclaration 725283 725759 + Identifier 725299 725331 + Parameter 725332 725342 + Identifier 725332 725336 + TypeReference 725337 725342 + Identifier 725337 725342 + Parameter 725343 725394 + Identifier 725343 725361 + UnionType 725362 725394 + TypeOperator 725362 725382 + ArrayType 725371 725382 + TypeReference 725371 725380 + Identifier 725371 725380 + UndefinedKeyword 725384 725394 + Parameter 725395 725410 + Identifier 725395 725404 + TypeReference 725405 725410 + Identifier 725405 725410 + TypeOperator 725412 725433 + ArrayType 725421 725433 + TypeReference 725421 725431 + Identifier 725421 725431 + Block 725433 725759 + VariableStatement 725435 725492 + VariableDeclarationList 725435 725491 + VariableDeclaration 725450 725491 + Identifier 725450 725463 + CallExpression 725465 725491 + Identifier 725465 725472 + Identifier 725473 725490 + VariableStatement 725492 725544 + VariableDeclarationList 725492 725543 + VariableDeclaration 725507 725543 + Identifier 725507 725520 + CallExpression 725522 725543 + Identifier 725522 725533 + Identifier 725534 725542 + ReturnStatement 725544 725752 + CallExpression 725560 725751 + Identifier 725560 725567 + CallExpression 725568 725618 + Identifier 725568 725587 + Identifier 725588 725592 + PropertyAccessExpression 725593 725617 + Identifier 725593 725607 + Identifier 725608 725617 + ArrowFunction 725619 725750 + Parameter 725619 725623 + Identifier 725619 725623 + EqualsGreaterThanToken 725623 725626 + BinaryExpression 725626 725750 + ParenthesizedExpression 725626 725704 + BinaryExpression 725628 725703 + Identifier 725628 725640 + BarBarToken 725640 725643 + BinaryExpression 725643 725703 + Identifier 725643 725656 + GreaterThanEqualsToken 725656 725659 + CallExpression 725659 725703 + Identifier 725659 725683 + PropertyAccessExpression 725684 725702 + Identifier 725684 725687 + Identifier 725688 725702 + AmpersandAmpersandToken 725704 725707 + BinaryExpression 725707 725750 + Identifier 725707 725720 + LessThanEqualsToken 725720 725723 + CallExpression 725723 725750 + Identifier 725723 725730 + PropertyAccessExpression 725731 725749 + Identifier 725731 725734 + Identifier 725735 725749 + FunctionDeclaration 725759 726259 + Identifier 725775 725819 + Parameter 725820 725830 + Identifier 725820 725824 + TypeReference 725825 725830 + Identifier 725825 725830 + Parameter 725831 725882 + Identifier 725831 725849 + UnionType 725850 725882 + TypeOperator 725850 725870 + ArrayType 725859 725870 + TypeReference 725859 725868 + Identifier 725859 725868 + UndefinedKeyword 725872 725882 + Parameter 725883 725898 + Identifier 725883 725892 + TypeReference 725893 725898 + Identifier 725893 725898 + TypeOperator 725900 725921 + ArrayType 725909 725921 + TypeReference 725909 725919 + Identifier 725909 725919 + Block 725921 726259 + VariableStatement 725923 726019 + VariableDeclarationList 725923 726018 + VariableDeclaration 725938 726018 + Identifier 725938 725949 + CallExpression 725951 726018 + Identifier 725951 725983 + Identifier 725984 725988 + Identifier 725989 726007 + Identifier 726008 726017 + VariableStatement 726019 726095 + VariableDeclarationList 726019 726094 + VariableDeclaration 726034 726094 + Identifier 726034 726048 + CallExpression 726050 726094 + Identifier 726050 726054 + Identifier 726055 726072 + Identifier 726073 726093 + ReturnStatement 726095 726252 + CallExpression 726111 726251 + Identifier 726111 726119 + TypeReference 726120 726129 + Identifier 726120 726129 + Identifier 726131 726141 + ArrowFunction 726142 726250 + Parameter 726142 726146 + Identifier 726142 726146 + EqualsGreaterThanToken 726146 726149 + ConditionalExpression 726149 726250 + CallExpression 726149 726174 + Identifier 726149 726154 + PropertyAccessExpression 726155 726173 + Identifier 726155 726158 + Identifier 726159 726173 + QuestionToken 726174 726176 + CallExpression 726176 726244 + Identifier 726176 726202 + Identifier 726203 726206 + Identifier 726207 726221 + CallExpression 726222 726243 + Identifier 726222 726233 + Identifier 726234 726242 + ColonToken 726244 726246 + Identifier 726246 726250 + FunctionDeclaration 726259 729717 + Identifier 726683 726713 + Parameter 726714 726733 + Identifier 726714 726718 + TypeReference 726719 726733 + Identifier 726719 726733 + TypeReference 726735 726740 + Identifier 726735 726740 + Block 726740 729717 + IfStatement 726742 729660 + PrefixUnaryExpression 726756 726789 + PropertyAccessExpression 726757 726789 + Identifier 726757 726761 + Identifier 726762 726789 + Block 726790 729660 + VariableStatement 726792 726864 + VariableDeclarationList 726792 726863 + VariableDeclaration 726811 726863 + Identifier 726811 726816 + CallExpression 726818 726863 + Identifier 726818 726850 + PropertyAccessExpression 726851 726862 + Identifier 726851 726855 + Identifier 726856 726862 + VariableStatement 726864 726934 + VariableDeclarationList 726864 726933 + VariableDeclaration 726883 726933 + Identifier 726883 726892 + BinaryExpression 726894 726933 + Identifier 726894 726899 + AmpersandAmpersandToken 726899 726902 + CallExpression 726902 726933 + Identifier 726902 726927 + Identifier 726928 726932 + VariableStatement 726934 726998 + VariableDeclarationList 726934 726997 + VariableDeclaration 726953 726997 + Identifier 726953 726966 + CallExpression 726968 726997 + Identifier 726968 726991 + Identifier 726992 726996 + IfStatement 726998 727121 + PrefixUnaryExpression 727016 727029 + Identifier 727017 727029 + Block 727030 727121 + ReturnStatement 727032 727106 + BinaryExpression 727056 727105 + PropertyAccessExpression 727056 727089 + Identifier 727056 727061 + Identifier 727062 727089 + EqualsToken 727089 727091 + Identifier 727091 727105 + IfStatement 727121 727269 + PrefixUnaryExpression 727139 727216 + CallExpression 727140 727216 + Identifier 727140 727158 + Identifier 727159 727163 + PropertyAccessExpression 727164 727215 + Identifier 727164 727187 + Identifier 727188 727215 + Block 727217 727269 + ReturnStatement 727219 727254 + Identifier 727243 727253 + VariableStatement 727269 727352 + VariableDeclarationList 727269 727351 + VariableDeclaration 727288 727351 + Identifier 727288 727308 + CallExpression 727310 727351 + Identifier 727310 727326 + PropertyAccessExpression 727327 727350 + Identifier 727327 727339 + Identifier 727340 727350 + IfStatement 727352 727608 + BinaryExpression 727370 727407 + Identifier 727370 727378 + AmpersandAmpersandToken 727378 727381 + BinaryExpression 727381 727407 + Identifier 727381 727394 + ExclamationEqualsEqualsToken 727394 727398 + Identifier 727398 727407 + Block 727408 727608 + ExpressionStatement 727410 727466 + CallExpression 727410 727465 + PropertyAccessExpression 727410 727440 + Identifier 727410 727433 + Identifier 727434 727440 + PrefixUnaryExpression 727441 727464 + PropertyAccessExpression 727442 727464 + Identifier 727442 727450 + Identifier 727451 727464 + ExpressionStatement 727466 727593 + CallExpression 727466 727592 + Identifier 727466 727571 + PropertyAccessExpression 727572 727591 + Identifier 727572 727580 + Identifier 727581 727591 + IfStatement 727608 727986 + BinaryExpression 727626 727697 + PropertyAccessExpression 727626 727651 + Identifier 727626 727645 + Identifier 727646 727651 + AmpersandToken 727651 727653 + ParenthesizedExpression 727653 727697 + BinaryExpression 727655 727696 + PropertyAccessExpression 727655 727671 + Identifier 727655 727664 + Identifier 727665 727671 + BarToken 727671 727673 + PropertyAccessExpression 727673 727696 + Identifier 727673 727683 + Identifier 727684 727696 + Block 727698 727986 + ExpressionStatement 727700 727971 + CallExpression 727700 727970 + Identifier 727700 727935 + AsExpression 727936 727969 + Identifier 727936 727955 + TypeReference 727958 727969 + Identifier 727958 727969 + IfStatement 727986 728277 + PrefixUnaryExpression 728004 728024 + CallExpression 728005 728024 + Identifier 728005 728022 + Block 728025 728277 + ExpressionStatement 728027 728190 + CallExpression 728027 728189 + Identifier 728027 728050 + PropertyAccessExpression 728051 728079 + PropertyAccessExpression 728051 728062 + Identifier 728051 728055 + Identifier 728056 728062 + Identifier 728063 728079 + PropertyAccessExpression 728080 728159 + Identifier 728080 728092 + Identifier 728093 728159 + CallExpression 728160 728188 + Identifier 728160 728175 + PropertyAccessExpression 728176 728187 + Identifier 728176 728180 + Identifier 728181 728187 + ReturnStatement 728190 728262 + BinaryExpression 728214 728261 + PropertyAccessExpression 728214 728247 + Identifier 728214 728219 + Identifier 728220 728247 + QuestionQuestionEqualsToken 728247 728251 + Identifier 728251 728261 + IfStatement 728277 729578 + BinaryExpression 728295 728426 + BinaryExpression 728295 728383 + PrefixUnaryExpression 728295 728339 + ParenthesizedExpression 728296 728339 + BinaryExpression 728297 728338 + PropertyAccessExpression 728297 728322 + Identifier 728297 728316 + Identifier 728317 728322 + AmpersandToken 728322 728324 + PropertyAccessExpression 728324 728338 + Identifier 728324 728334 + Identifier 728335 728338 + AmpersandAmpersandToken 728339 728342 + BinaryExpression 728342 728383 + Identifier 728342 728362 + ExclamationEqualsEqualsToken 728362 728366 + Identifier 728366 728383 + AmpersandAmpersandToken 728383 728386 + PrefixUnaryExpression 728386 728426 + CallExpression 728388 728426 + Identifier 728388 728405 + Identifier 728406 728425 + Block 728427 729578 + VariableStatement 728429 728580 + VariableDeclarationList 728429 728579 + VariableDeclaration 728452 728579 + Identifier 728452 728456 + CallExpression 728458 728579 + Identifier 728458 728464 + PropertyAccessExpression 728465 728488 + Identifier 728465 728477 + Identifier 728478 728488 + PropertyAccessExpression 728489 728543 + Identifier 728489 728501 + Identifier 728502 728543 + CallExpression 728544 728578 + Identifier 728544 728557 + Identifier 728558 728577 + IfStatement 728580 729491 + BinaryExpression 728602 728653 + PropertyAccessExpression 728602 728627 + Identifier 728602 728621 + Identifier 728622 728627 + AmpersandToken 728627 728629 + PropertyAccessExpression 728629 728653 + Identifier 728629 728639 + Identifier 728640 728653 + Block 728654 729491 + VariableStatement 728656 728749 + VariableDeclarationList 728656 728748 + VariableDeclaration 728683 728748 + Identifier 728683 728694 + CallExpression 728696 728748 + Identifier 728696 728727 + Identifier 728728 728747 + VariableStatement 728749 728806 + VariableDeclarationList 728749 728805 + VariableDeclaration 728774 728805 + Identifier 728774 728785 + TypeReference 728786 728791 + Identifier 728786 728791 + Identifier 728793 728805 + IfStatement 728806 729117 + Identifier 728832 728842 + Block 728843 729117 + VariableStatement 728845 728944 + VariableDeclarationList 728845 728943 + VariableDeclaration 728876 728943 + Identifier 728876 728884 + CallExpression 728886 728943 + Identifier 728886 728906 + Identifier 728907 728917 + PropertyAccessExpression 728918 728942 + Identifier 728918 728932 + Identifier 728933 728942 + IfStatement 728944 729094 + ElementAccessExpression 728974 728984 + Identifier 728974 728981 + NumericLiteral 728982 728983 + Block 728985 729094 + ExpressionStatement 728987 729067 + BinaryExpression 728987 729066 + Identifier 728987 729027 + EqualsToken 729027 729029 + CallExpression 729029 729066 + Identifier 729029 729054 + ElementAccessExpression 729055 729065 + Identifier 729055 729062 + NumericLiteral 729063 729064 + IfStatement 729117 729472 + PropertyAccessExpression 729143 729182 + PropertyAccessExpression 729143 729169 + Identifier 729143 729162 + Identifier 729163 729169 + Identifier 729170 729182 + Block 729183 729472 + ExpressionStatement 729185 729449 + CallExpression 729185 729448 + Identifier 729185 729225 + Identifier 729226 729229 + CallExpression 729230 729447 + Identifier 729230 729254 + ElementAccessExpression 729255 729297 + PropertyAccessExpression 729255 729294 + PropertyAccessExpression 729255 729281 + Identifier 729255 729274 + Identifier 729275 729281 + Identifier 729282 729294 + NumericLiteral 729295 729296 + PropertyAccessExpression 729298 729376 + Identifier 729298 729310 + Identifier 729311 729376 + CallExpression 729377 729420 + Identifier 729377 729392 + PropertyAccessExpression 729393 729419 + Identifier 729393 729412 + Identifier 729413 729419 + CallExpression 729421 729446 + Identifier 729421 729434 + Identifier 729435 729445 + ReturnStatement 729491 729563 + BinaryExpression 729515 729562 + PropertyAccessExpression 729515 729548 + Identifier 729515 729520 + Identifier 729521 729548 + QuestionQuestionEqualsToken 729548 729552 + Identifier 729552 729562 + ExpressionStatement 729578 729649 + BinaryExpression 729578 729648 + PropertyAccessExpression 729578 729624 + Identifier 729578 729596 + Identifier 729597 729624 + QuestionQuestionEqualsToken 729624 729628 + Identifier 729628 729648 + ReturnStatement 729660 729710 + PropertyAccessExpression 729676 729709 + Identifier 729676 729681 + Identifier 729682 729709 + FunctionDeclaration 729717 730748 + Identifier 729733 729752 + Parameter 729753 729772 + Identifier 729753 729757 + TypeReference 729758 729772 + Identifier 729758 729772 + ArrayType 729774 729785 + TypeReference 729774 729783 + Identifier 729774 729783 + Block 729785 730748 + VariableStatement 729787 729850 + VariableDeclarationList 729787 729849 + VariableDeclaration 729800 729849 + Identifier 729800 729824 + ArrayType 729825 729836 + TypeReference 729825 729834 + Identifier 729825 729834 + Identifier 729838 729849 + IfStatement 729850 730700 + PropertyAccessExpression 729864 729888 + PropertyAccessExpression 729864 729875 + Identifier 729864 729868 + Identifier 729869 729875 + Identifier 729876 729888 + Block 729889 730700 + ForOfStatement 729891 730689 + VariableDeclarationList 729910 729927 + VariableDeclaration 729915 729927 + Identifier 729915 729927 + PropertyAccessExpression 729930 729955 + PropertyAccessExpression 729930 729942 + Identifier 729930 729935 + Identifier 729936 729942 + Identifier 729943 729955 + Block 729956 730689 + VariableStatement 729958 730073 + VariableDeclarationList 729958 730072 + VariableDeclaration 729981 730072 + Identifier 729981 730001 + CallExpression 730003 730072 + Identifier 730003 730035 + AsExpression 730036 730071 + Identifier 730036 730047 + TypeReference 730050 730071 + Identifier 730050 730071 + IfStatement 730073 730126 + PrefixUnaryExpression 730095 730115 + Identifier 730096 730115 + ContinueStatement 730116 730126 + ForOfStatement 730126 730674 + VariableDeclarationList 730149 730159 + VariableDeclaration 730154 730159 + Identifier 730154 730159 + Identifier 730162 730182 + Block 730183 730674 + VariableStatement 730185 730256 + VariableDeclarationList 730185 730255 + VariableDeclaration 730212 730255 + Identifier 730212 730227 + CallExpression 730229 730255 + Identifier 730229 730249 + Identifier 730250 730254 + IfStatement 730256 730655 + PrefixUnaryExpression 730282 730310 + CallExpression 730283 730310 + Identifier 730283 730294 + Identifier 730295 730309 + Block 730311 730655 + IfStatement 730313 730632 + BinaryExpression 730343 730381 + Identifier 730343 730366 + EqualsEqualsEqualsToken 730366 730370 + Identifier 730370 730381 + Block 730382 730498 + ExpressionStatement 730384 730471 + BinaryExpression 730384 730470 + Identifier 730384 730437 + EqualsToken 730437 730439 + ArrayLiteralExpression 730439 730470 + AsExpression 730441 730469 + Identifier 730441 730455 + TypeReference 730458 730469 + Identifier 730458 730469 + Block 730528 730632 + ExpressionStatement 730530 730605 + CallExpression 730530 730604 + PropertyAccessExpression 730530 730588 + Identifier 730530 730583 + Identifier 730584 730588 + Identifier 730589 730603 + ReturnStatement 730700 730741 + Identifier 730716 730740 + FunctionDeclaration 730748 731004 + Identifier 730764 730787 + Parameter 730788 730798 + Identifier 730788 730792 + TypeReference 730793 730798 + Identifier 730793 730798 + Parameter 730799 730810 + Identifier 730799 730804 + TypeReference 730805 730810 + Identifier 730805 730810 + Block 730811 731004 + ExpressionStatement 730813 730997 + CallExpression 730813 730996 + Identifier 730813 730828 + Identifier 730829 730833 + PropertyAccessExpression 730834 730898 + Identifier 730834 730846 + Identifier 730847 730898 + CallExpression 730899 730995 + Identifier 730899 730912 + Identifier 730913 730917 + Identifier 730918 730953 + PropertyAccessExpression 730954 730994 + Identifier 730954 730970 + Identifier 730971 730994 + FunctionDeclaration 731004 732424 + Identifier 731020 731033 + Parameter 731034 731053 + Identifier 731034 731038 + TypeReference 731039 731053 + Identifier 731039 731053 + ArrayType 731055 731066 + TypeReference 731055 731064 + Identifier 731055 731064 + Block 731066 732424 + IfStatement 731068 732377 + PrefixUnaryExpression 731082 731105 + PropertyAccessExpression 731083 731105 + Identifier 731083 731087 + Identifier 731088 731105 + Block 731106 732377 + IfStatement 731108 732322 + CallExpression 731126 731192 + Identifier 731126 731144 + Identifier 731145 731149 + PropertyAccessExpression 731150 731191 + Identifier 731150 731173 + Identifier 731174 731191 + Block 731193 732322 + IfStatement 731195 731881 + BinaryExpression 731217 731253 + PropertyAccessExpression 731217 731233 + Identifier 731217 731221 + Identifier 731222 731233 + AmpersandToken 731233 731235 + PropertyAccessExpression 731235 731253 + Identifier 731235 731247 + Identifier 731248 731253 + Block 731254 731360 + ExpressionStatement 731256 731341 + BinaryExpression 731256 731340 + PropertyAccessExpression 731256 731300 + Identifier 731256 731282 + Identifier 731283 731300 + EqualsToken 731300 731302 + ArrayLiteralExpression 731302 731340 + CallExpression 731304 731339 + Identifier 731304 731320 + AsExpression 731321 731338 + Identifier 731321 731325 + TypeReference 731328 731338 + Identifier 731328 731338 + IfStatement 731382 731881 + BinaryExpression 731387 731450 + PropertyAccessExpression 731387 731404 + PropertyAccessExpression 731387 731398 + Identifier 731387 731391 + Identifier 731392 731398 + Identifier 731399 731404 + AmpersandToken 731404 731406 + ParenthesizedExpression 731406 731450 + BinaryExpression 731408 731449 + PropertyAccessExpression 731408 731425 + Identifier 731408 731419 + Identifier 731420 731425 + BarToken 731425 731427 + PropertyAccessExpression 731427 731449 + Identifier 731427 731439 + Identifier 731440 731449 + Block 731451 731770 + IfStatement 731453 731598 + BinaryExpression 731479 731516 + PropertyAccessExpression 731479 731496 + PropertyAccessExpression 731479 731490 + Identifier 731479 731483 + Identifier 731484 731490 + Identifier 731491 731496 + AmpersandToken 731496 731498 + PropertyAccessExpression 731498 731516 + Identifier 731498 731510 + Identifier 731511 731516 + Block 731517 731598 + ExpressionStatement 731519 731575 + CallExpression 731519 731574 + Identifier 731519 731568 + Identifier 731569 731573 + IfStatement 731598 731751 + BinaryExpression 731624 731665 + PropertyAccessExpression 731624 731641 + PropertyAccessExpression 731624 731635 + Identifier 731624 731628 + Identifier 731629 731635 + Identifier 731636 731641 + AmpersandToken 731641 731643 + PropertyAccessExpression 731643 731665 + Identifier 731643 731655 + Identifier 731656 731665 + Block 731666 731751 + ExpressionStatement 731668 731728 + CallExpression 731668 731727 + Identifier 731668 731721 + Identifier 731722 731726 + Block 731792 731881 + ExpressionStatement 731794 731862 + CallExpression 731794 731861 + PropertyAccessExpression 731794 731826 + Identifier 731794 731821 + Identifier 731822 731826 + StringLiteral 731827 731860 + IfStatement 731881 732307 + BinaryExpression 731903 731951 + PrefixUnaryExpression 731903 731923 + CallExpression 731904 731923 + Identifier 731904 731921 + AmpersandAmpersandToken 731923 731926 + PropertyAccessExpression 731926 731951 + PropertyAccessExpression 731926 731938 + Identifier 731926 731931 + Identifier 731932 731938 + Identifier 731939 731951 + Block 731952 732307 + ForOfStatement 731954 732288 + VariableDeclarationList 731981 731998 + VariableDeclaration 731986 731998 + Identifier 731986 731998 + PropertyAccessExpression 732001 732026 + PropertyAccessExpression 732001 732013 + Identifier 732001 732006 + Identifier 732007 732013 + Identifier 732014 732026 + Block 732027 732288 + IfStatement 732029 732265 + BinaryExpression 732059 732163 + BinaryExpression 732059 732107 + PropertyAccessExpression 732059 732075 + Identifier 732059 732070 + Identifier 732071 732075 + EqualsEqualsEqualsToken 732075 732079 + PropertyAccessExpression 732079 732107 + Identifier 732079 732090 + Identifier 732091 732107 + BarBarToken 732107 732110 + BinaryExpression 732110 732163 + PropertyAccessExpression 732110 732127 + Identifier 732110 732122 + Identifier 732123 732127 + EqualsEqualsEqualsToken 732127 732131 + PropertyAccessExpression 732131 732163 + Identifier 732131 732142 + Identifier 732143 732163 + Block 732164 732265 + ExpressionStatement 732166 732238 + CallExpression 732166 732237 + Identifier 732166 732218 + Identifier 732219 732230 + Identifier 732231 732236 + ExpressionStatement 732322 732366 + BinaryExpression 732322 732365 + PropertyAccessExpression 732322 732358 + Identifier 732322 732340 + Identifier 732341 732358 + EqualsToken 732358 732360 + TrueKeyword 732360 732365 + ReturnStatement 732377 732417 + PropertyAccessExpression 732393 732416 + Identifier 732393 732398 + Identifier 732399 732416 + FunctionDeclaration 732424 732731 + Identifier 732440 732457 + Parameter 732458 732473 + Identifier 732458 732462 + TypeReference 732463 732473 + Identifier 732463 732473 + Block 732474 732731 + VariableStatement 732476 732634 + VariableDeclarationList 732476 732633 + VariableDeclaration 732491 732633 + Identifier 732491 732504 + CallExpression 732506 732633 + Identifier 732506 732514 + PropertyAccessExpression 732515 732534 + Identifier 732515 732519 + Identifier 732520 732534 + ArrowFunction 732535 732632 + Parameter 732537 732538 + Identifier 732537 732538 + Parameter 732539 732541 + Identifier 732539 732541 + EqualsGreaterThanToken 732542 732545 + ConditionalExpression 732545 732632 + BinaryExpression 732545 732590 + ElementAccessExpression 732545 732566 + PropertyAccessExpression 732545 732563 + Identifier 732545 732550 + Identifier 732551 732563 + Identifier 732564 732565 + AmpersandToken 732566 732568 + PropertyAccessExpression 732568 732590 + Identifier 732568 732581 + Identifier 732582 732590 + QuestionToken 732590 732592 + CallExpression 732592 732628 + Identifier 732592 732613 + Identifier 732614 732615 + Identifier 732616 732627 + ColonToken 732628 732630 + Identifier 732630 732632 + ReturnStatement 732634 732724 + CallExpression 732650 732723 + Identifier 732650 732666 + CallExpression 732667 732707 + Identifier 732667 732679 + BinaryExpression 732680 732706 + Identifier 732680 732692 + BarBarToken 732692 732695 + Identifier 732695 732706 + PropertyAccessExpression 732708 732722 + Identifier 732708 732713 + Identifier 732714 732722 + FunctionDeclaration 732731 736679 + Identifier 732747 732771 + Parameter 732772 732791 + Identifier 732772 732776 + TypeReference 732777 732791 + Identifier 732777 732791 + Block 732792 736679 + ExpressionStatement 732794 732849 + BinaryExpression 732794 732848 + PropertyAccessExpression 732794 732826 + Identifier 732794 732808 + Identifier 732809 732826 + EqualsToken 732826 732828 + Identifier 732828 732848 + VariableStatement 732849 732940 + VariableDeclarationList 732849 732939 + VariableDeclaration 732864 732939 + Identifier 732864 732884 + CallExpression 732886 732939 + Identifier 732886 732902 + CallExpression 732903 732938 + Identifier 732903 732932 + Identifier 732933 732937 + IfStatement 732940 733115 + PrefixUnaryExpression 732954 733044 + ParenthesizedExpression 732955 733044 + BinaryExpression 732956 733043 + PropertyAccessExpression 732956 732981 + Identifier 732956 732975 + Identifier 732976 732981 + AmpersandToken 732981 732983 + ParenthesizedExpression 732983 733043 + BinaryExpression 732985 733042 + BinaryExpression 732985 733026 + PropertyAccessExpression 732985 733001 + Identifier 732985 732994 + Identifier 732995 733001 + BarToken 733001 733003 + PropertyAccessExpression 733003 733026 + Identifier 733003 733013 + Identifier 733014 733026 + BarToken 733026 733028 + PropertyAccessExpression 733028 733042 + Identifier 733028 733038 + Identifier 733039 733042 + Block 733045 733115 + ReturnStatement 733047 733104 + BinaryExpression 733067 733103 + PropertyAccessExpression 733067 733090 + Identifier 733067 733072 + Identifier 733073 733090 + EqualsToken 733090 733092 + Identifier 733092 733103 + VariableStatement 733115 733176 + VariableDeclarationList 733115 733175 + VariableDeclaration 733130 733175 + Identifier 733130 733143 + NonNullExpression 733145 733175 + CallExpression 733145 733174 + Identifier 733145 733168 + Identifier 733169 733173 + VariableStatement 733176 733205 + VariableDeclarationList 733176 733204 + VariableDeclaration 733189 733204 + Identifier 733189 733198 + TypeReference 733199 733204 + Identifier 733199 733204 + VariableStatement 733205 733333 + VariableDeclarationList 733205 733332 + VariableDeclaration 733220 733332 + Identifier 733220 733237 + ConditionalExpression 733239 733332 + PropertyAccessExpression 733239 733266 + Identifier 733239 733259 + Identifier 733260 733266 + QuestionToken 733266 733268 + CallExpression 733268 733320 + Identifier 733268 733292 + PropertyAccessExpression 733293 733319 + Identifier 733293 733312 + Identifier 733313 733319 + ColonToken 733320 733322 + Identifier 733322 733332 + IfStatement 733333 734970 + BinaryExpression 733347 733511 + BinaryExpression 733347 733443 + PropertyAccessExpression 733347 733387 + Identifier 733347 733380 + Identifier 733381 733387 + AmpersandAmpersandToken 733387 733390 + BinaryExpression 733390 733443 + PropertyAccessExpression 733390 733423 + PropertyAccessExpression 733390 733417 + Identifier 733390 733410 + Identifier 733411 733417 + Identifier 733418 733423 + AmpersandToken 733423 733425 + PropertyAccessExpression 733425 733443 + Identifier 733425 733437 + Identifier 733438 733443 + AmpersandAmpersandToken 733443 733446 + CallExpression 733446 733511 + Identifier 733446 733492 + NonNullExpression 733493 733510 + Identifier 733493 733509 + Block 733522 734036 + ExpressionStatement 733524 734025 + BinaryExpression 733524 734024 + Identifier 733524 733943 + EqualsToken 733943 733945 + CallExpression 733945 734024 + Identifier 733945 733982 + Identifier 733983 733995 + PropertyAccessExpression 733996 734023 + Identifier 733996 734016 + Identifier 734017 734023 + IfStatement 734050 734970 + BinaryExpression 734055 734096 + PropertyAccessExpression 734055 734080 + Identifier 734055 734074 + Identifier 734075 734080 + AmpersandToken 734080 734082 + PropertyAccessExpression 734082 734096 + Identifier 734082 734092 + Identifier 734093 734096 + Block 734097 734155 + ExpressionStatement 734099 734144 + BinaryExpression 734099 734143 + Identifier 734099 734121 + EqualsToken 734121 734123 + Identifier 734123 734143 + Block 734169 734970 + VariableStatement 734171 734650 + VariableDeclarationList 734171 734649 + VariableDeclaration 734527 734649 + Identifier 734527 734540 + CallExpression 734542 734649 + Identifier 734542 734586 + Identifier 734587 734606 + PropertyAccessExpression 734607 734634 + Identifier 734607 734620 + Identifier 734621 734634 + Identifier 734635 734648 + IfStatement 734650 734892 + PrefixUnaryExpression 734668 734688 + PropertyAccessExpression 734669 734688 + Identifier 734669 734681 + Identifier 734682 734688 + Block 734689 734892 + ExpressionStatement 734691 734816 + CallExpression 734691 734815 + Identifier 734691 734714 + PropertyAccessExpression 734715 734738 + Identifier 734715 734727 + Identifier 734728 734738 + PropertyAccessExpression 734739 734814 + Identifier 734739 734751 + Identifier 734752 734814 + ReturnStatement 734816 734877 + BinaryExpression 734840 734876 + PropertyAccessExpression 734840 734863 + Identifier 734840 734845 + Identifier 734846 734863 + EqualsToken 734863 734865 + Identifier 734865 734876 + ExpressionStatement 734892 734959 + BinaryExpression 734892 734958 + Identifier 734892 734914 + EqualsToken 734914 734916 + CallExpression 734916 734958 + Identifier 734916 734941 + ElementAccessExpression 734942 734957 + Identifier 734942 734954 + NumericLiteral 734955 734956 + IfStatement 734970 735078 + CallExpression 734986 735007 + Identifier 734986 734997 + Identifier 734998 735006 + Block 735008 735078 + ReturnStatement 735010 735067 + BinaryExpression 735030 735066 + PropertyAccessExpression 735030 735053 + Identifier 735030 735035 + Identifier 735036 735053 + EqualsToken 735053 735055 + Identifier 735055 735066 + VariableStatement 735078 735137 + VariableDeclarationList 735078 735136 + VariableDeclaration 735093 735136 + Identifier 735093 735109 + CallExpression 735111 735136 + Identifier 735111 735126 + Identifier 735127 735135 + IfStatement 735137 735734 + PrefixUnaryExpression 735151 735184 + CallExpression 735152 735184 + Identifier 735152 735167 + Identifier 735168 735183 + Block 735185 735734 + VariableStatement 735187 735283 + VariableDeclarationList 735187 735282 + VariableDeclaration 735206 735282 + Identifier 735206 735218 + CallExpression 735220 735282 + Identifier 735220 735247 + Identifier 735248 735271 + Identifier 735272 735281 + VariableStatement 735283 735512 + VariableDeclarationList 735283 735511 + VariableDeclaration 735302 735511 + Identifier 735302 735313 + CallExpression 735315 735511 + Identifier 735315 735339 + Identifier 735340 735351 + PropertyAccessExpression 735352 735479 + Identifier 735352 735364 + Identifier 735365 735479 + CallExpression 735480 735510 + Identifier 735480 735493 + Identifier 735494 735509 + ExpressionStatement 735512 735666 + CallExpression 735512 735665 + PropertyAccessExpression 735512 735541 + Identifier 735512 735537 + Identifier 735538 735541 + CallExpression 735542 735664 + Identifier 735542 735581 + CallExpression 735582 735626 + Identifier 735582 735601 + PropertyAccessExpression 735602 735625 + Identifier 735602 735614 + Identifier 735615 735625 + PropertyAccessExpression 735627 735651 + Identifier 735627 735640 + Identifier 735641 735651 + Identifier 735652 735663 + ReturnStatement 735666 735723 + BinaryExpression 735686 735722 + PropertyAccessExpression 735686 735709 + Identifier 735686 735691 + Identifier 735692 735709 + EqualsToken 735709 735711 + Identifier 735711 735722 + IfStatement 735734 736093 + BinaryExpression 735748 735810 + BinaryExpression 735748 735772 + Identifier 735748 735752 + EqualsEqualsEqualsToken 735752 735756 + Identifier 735756 735772 + BarBarToken 735772 735775 + CallExpression 735775 735810 + Identifier 735775 735787 + Identifier 735788 735803 + Identifier 735804 735809 + Block 735811 736093 + ExpressionStatement 735813 736025 + CallExpression 735813 736024 + Identifier 735813 735832 + PropertyAccessExpression 735833 735861 + PropertyAccessExpression 735833 735844 + Identifier 735833 735837 + Identifier 735838 735844 + Identifier 735845 735861 + PropertyAccessExpression 735862 735926 + Identifier 735862 735874 + Identifier 735875 735926 + CallExpression 735927 736023 + Identifier 735927 735940 + Identifier 735941 735945 + Identifier 735946 735981 + PropertyAccessExpression 735982 736022 + Identifier 735982 735998 + Identifier 735999 736022 + ReturnStatement 736025 736082 + BinaryExpression 736045 736081 + PropertyAccessExpression 736045 736068 + Identifier 736045 736050 + Identifier 736051 736068 + EqualsToken 736068 736070 + Identifier 736070 736081 + IfStatement 736093 736612 + BinaryExpression 736107 736153 + PropertyAccessExpression 736107 736129 + Identifier 736107 736111 + Identifier 736112 736129 + EqualsEqualsEqualsToken 736129 736133 + Identifier 736133 736153 + Block 736154 736612 + ExpressionStatement 736156 736601 + BinaryExpression 736156 736600 + PropertyAccessExpression 736156 736588 + Identifier 736156 736580 + Identifier 736581 736588 + EqualsToken 736588 736590 + Identifier 736590 736600 + ReturnStatement 736612 736672 + BinaryExpression 736628 736671 + PropertyAccessExpression 736628 736651 + Identifier 736628 736633 + Identifier 736634 736651 + EqualsToken 736651 736653 + ArrayLiteralExpression 736653 736671 + Identifier 736655 736670 + FunctionDeclaration 736679 737395 + Identifier 736695 736728 + Parameter 736729 736739 + Identifier 736729 736733 + TypeReference 736734 736739 + Identifier 736734 736739 + BooleanKeyword 736741 736749 + Block 736749 737395 + VariableStatement 736751 737100 + VariableDeclarationList 736751 737099 + VariableDeclaration 737033 737099 + Identifier 737033 737053 + PropertyAccessExpression 737055 737099 + ParenthesizedExpression 737055 737079 + AsExpression 737057 737078 + Identifier 737057 737061 + TypeReference 737064 737078 + Identifier 737064 737078 + Identifier 737080 737099 + IfStatement 737100 737366 + Identifier 737114 737133 + Block 737134 737366 + VariableStatement 737136 737194 + VariableDeclarationList 737136 737193 + VariableDeclaration 737155 737193 + Identifier 737155 737160 + BinaryExpression 737162 737193 + PropertyAccessExpression 737162 737189 + Identifier 737162 737182 + Identifier 737183 737189 + MinusToken 737189 737191 + NumericLiteral 737191 737193 + VariableStatement 737194 737270 + VariableDeclarationList 737194 737269 + VariableDeclaration 737213 737269 + Identifier 737213 737227 + CallExpression 737229 737269 + Identifier 737229 737246 + AsExpression 737247 737268 + Identifier 737247 737251 + TypeReference 737254 737268 + Identifier 737254 737268 + ReturnStatement 737270 737355 + BinaryExpression 737290 737354 + PropertyAccessExpression 737290 737323 + ElementAccessExpression 737290 737316 + Identifier 737290 737310 + Identifier 737311 737315 + Identifier 737317 737323 + ExclamationEqualsEqualsToken 737323 737327 + PropertyAccessExpression 737327 737354 + ElementAccessExpression 737327 737347 + Identifier 737327 737341 + Identifier 737342 737346 + Identifier 737348 737354 + ReturnStatement 737366 737388 + TrueKeyword 737382 737387 + FunctionDeclaration 737395 738221 + Identifier 737495 737511 + Parameter 737512 737522 + Identifier 737512 737516 + TypeReference 737517 737522 + Identifier 737517 737522 + TypePredicate 737524 737541 + Identifier 737524 737529 + TypeReference 737532 737541 + Identifier 737532 737541 + Block 737541 738221 + IfStatement 737543 737769 + BinaryExpression 737557 737593 + PropertyAccessExpression 737557 737567 + Identifier 737557 737561 + Identifier 737562 737567 + AmpersandToken 737567 737569 + PropertyAccessExpression 737569 737593 + Identifier 737569 737579 + Identifier 737580 737593 + Block 737594 737769 + VariableStatement 737596 737659 + VariableDeclarationList 737596 737658 + VariableDeclaration 737615 737658 + Identifier 737615 737626 + CallExpression 737628 737658 + Identifier 737628 737652 + Identifier 737653 737657 + IfStatement 737659 737758 + Identifier 737677 737687 + Block 737688 737758 + ReturnStatement 737690 737743 + CallExpression 737714 737742 + Identifier 737714 737730 + Identifier 737731 737741 + ReturnStatement 737769 738214 + PrefixUnaryExpression 737994 738213 + PrefixUnaryExpression 737996 738213 + ParenthesizedExpression 737997 738213 + BinaryExpression 737998 738212 + BinaryExpression 737998 738100 + BinaryExpression 737998 738070 + PropertyAccessExpression 737998 738008 + Identifier 737998 738002 + Identifier 738003 738008 + AmpersandToken 738008 738010 + ParenthesizedExpression 738010 738070 + BinaryExpression 738012 738069 + BinaryExpression 738012 738053 + PropertyAccessExpression 738012 738028 + Identifier 738012 738021 + Identifier 738022 738028 + BarToken 738028 738030 + PropertyAccessExpression 738030 738053 + Identifier 738030 738040 + Identifier 738041 738053 + BarToken 738053 738055 + PropertyAccessExpression 738055 738069 + Identifier 738055 738065 + Identifier 738066 738069 + AmpersandAmpersandToken 738070 738073 + PrefixUnaryExpression 738073 738100 + CallExpression 738075 738100 + Identifier 738075 738094 + Identifier 738095 738099 + BarBarToken 738100 738103 + BinaryExpression 738103 738212 + BinaryExpression 738103 738152 + PropertyAccessExpression 738103 738127 + Identifier 738103 738121 + Identifier 738122 738127 + AmpersandToken 738127 738129 + PropertyAccessExpression 738129 738152 + Identifier 738129 738139 + Identifier 738140 738152 + AmpersandAmpersandToken 738152 738155 + CallExpression 738155 738212 + Identifier 738155 738161 + PropertyAccessExpression 738162 738194 + ParenthesizedExpression 738162 738188 + AsExpression 738163 738187 + Identifier 738163 738167 + TypeReference 738170 738187 + Identifier 738170 738187 + Identifier 738189 738194 + Identifier 738195 738211 + FunctionDeclaration 738221 739947 + Identifier 738237 738265 + Parameter 738266 738285 + Identifier 738266 738270 + TypeReference 738271 738285 + Identifier 738271 738285 + VoidKeyword 738287 738292 + Block 738292 739947 + ExpressionStatement 738294 738366 + BinaryExpression 738294 738365 + PropertyAccessExpression 738294 738326 + Identifier 738294 738308 + Identifier 738309 738326 + EqualsToken 738326 738328 + BinaryExpression 738328 738365 + PropertyAccessExpression 738328 738351 + Identifier 738328 738333 + Identifier 738334 738351 + BarBarToken 738351 738354 + Identifier 738354 738365 + IfStatement 738366 739940 + PropertyAccessExpression 738380 738404 + PropertyAccessExpression 738380 738391 + Identifier 738380 738384 + Identifier 738385 738391 + Identifier 738392 738404 + Block 738405 739940 + ForOfStatement 738407 739929 + VariableDeclarationList 738426 738443 + VariableDeclaration 738431 738443 + Identifier 738431 738443 + PropertyAccessExpression 738446 738471 + PropertyAccessExpression 738446 738458 + Identifier 738446 738451 + Identifier 738452 738458 + Identifier 738459 738471 + Block 738472 739929 + IfStatement 738474 739914 + BinaryExpression 738496 738614 + BinaryExpression 738496 738548 + PropertyAccessExpression 738496 738512 + Identifier 738496 738507 + Identifier 738508 738512 + EqualsEqualsEqualsToken 738512 738516 + PropertyAccessExpression 738516 738548 + Identifier 738516 738527 + Identifier 738528 738548 + AmpersandAmpersandToken 738548 738551 + CallExpression 738551 738614 + Identifier 738551 738577 + AsExpression 738578 738613 + Identifier 738578 738589 + TypeReference 738592 738613 + Identifier 738592 738613 + Block 738615 739914 + ForOfStatement 738617 739895 + VariableDeclarationList 738644 738654 + VariableDeclaration 738649 738654 + Identifier 738649 738654 + NonNullExpression 738657 738721 + CallExpression 738657 738720 + Identifier 738657 738683 + AsExpression 738684 738719 + Identifier 738684 738695 + TypeReference 738698 738719 + Identifier 738698 738719 + Block 738722 739895 + VariableStatement 738724 738809 + VariableDeclarationList 738724 738808 + VariableDeclaration 738755 738808 + Identifier 738755 738764 + CallExpression 738766 738808 + Identifier 738766 738781 + CallExpression 738782 738807 + Identifier 738782 738801 + Identifier 738802 738806 + IfStatement 738809 739872 + PrefixUnaryExpression 738839 738861 + CallExpression 738840 738861 + Identifier 738840 738851 + Identifier 738852 738860 + Block 738862 739872 + IfStatement 738864 739845 + CallExpression 738898 738923 + Identifier 738898 738913 + Identifier 738914 738922 + Block 738924 739613 + IfStatement 738926 739582 + BinaryExpression 738964 739013 + BinaryExpression 738964 738981 + Identifier 738964 738968 + ExclamationEqualsEqualsToken 738968 738972 + Identifier 738972 738981 + AmpersandAmpersandToken 738981 738984 + PrefixUnaryExpression 738984 739013 + CallExpression 738986 739013 + Identifier 738986 738997 + Identifier 738998 739006 + Identifier 739007 739012 + Block 739014 739427 + IfStatement 739016 739392 + BinaryExpression 739058 739095 + PropertyAccessExpression 739058 739080 + Identifier 739058 739062 + Identifier 739063 739080 + EqualsEqualsEqualsToken 739080 739084 + Identifier 739084 739095 + Block 739096 739229 + ExpressionStatement 739098 739190 + BinaryExpression 739098 739189 + PropertyAccessExpression 739098 739162 + Identifier 739098 739144 + Identifier 739145 739162 + EqualsToken 739162 739164 + ArrayLiteralExpression 739164 739189 + AsExpression 739166 739188 + Identifier 739166 739174 + TypeReference 739177 739188 + Identifier 739177 739188 + Block 739271 739392 + ExpressionStatement 739273 739353 + CallExpression 739273 739352 + PropertyAccessExpression 739273 739342 + PropertyAccessExpression 739273 739337 + Identifier 739273 739319 + Identifier 739320 739337 + Identifier 739338 739342 + Identifier 739343 739351 + Block 739465 739582 + ExpressionStatement 739467 739547 + CallExpression 739467 739546 + Identifier 739467 739527 + Identifier 739528 739539 + Identifier 739540 739545 + Block 739647 739845 + ExpressionStatement 739649 739814 + CallExpression 739649 739813 + Identifier 739649 739688 + Identifier 739689 739693 + PropertyAccessExpression 739694 739812 + Identifier 739694 739706 + Identifier 739707 739812 + FunctionDeclaration 739947 741416 + Identifier 740293 740313 + Parameter 740314 740328 + Identifier 740314 740320 + TypeReference 740321 740328 + Identifier 740321 740328 + BooleanKeyword 740330 740338 + Block 740338 741416 + IfStatement 740340 740414 + PrefixUnaryExpression 740354 740374 + PropertyAccessExpression 740355 740374 + Identifier 740355 740361 + Identifier 740362 740374 + Block 740375 740414 + ReturnStatement 740377 740403 + TrueKeyword 740397 740402 + ForOfStatement 740414 741387 + VariableDeclarationList 740429 740446 + VariableDeclaration 740434 740446 + Identifier 740434 740446 + PropertyAccessExpression 740449 740469 + Identifier 740449 740456 + Identifier 740457 740469 + Block 740470 741387 + IfStatement 740472 741376 + BinaryExpression 740490 740542 + PropertyAccessExpression 740490 740506 + Identifier 740490 740501 + Identifier 740502 740506 + EqualsEqualsEqualsToken 740506 740510 + PropertyAccessExpression 740510 740542 + Identifier 740510 740521 + Identifier 740522 740542 + Block 740543 741376 + IfStatement 740545 740666 + BinaryExpression 740567 740609 + PropertyAccessExpression 740567 740584 + Identifier 740567 740578 + Identifier 740579 740584 + AmpersandToken 740584 740586 + PropertyAccessExpression 740586 740609 + Identifier 740586 740596 + Identifier 740597 740609 + Block 740610 740666 + ReturnStatement 740612 740647 + FalseKeyword 740640 740646 + VariableStatement 740666 740769 + VariableDeclarationList 740666 740768 + VariableDeclaration 740689 740768 + Identifier 740689 740703 + CallExpression 740705 740768 + Identifier 740705 740731 + AsExpression 740732 740767 + Identifier 740732 740743 + TypeReference 740746 740767 + Identifier 740746 740767 + IfStatement 740769 741361 + Identifier 740791 740804 + Block 740805 741361 + ForOfStatement 740807 741342 + VariableDeclarationList 740834 740844 + VariableDeclaration 740839 740844 + Identifier 740839 740844 + Identifier 740847 740861 + Block 740862 741342 + IfStatement 740864 741319 + CallExpression 740894 740933 + Identifier 740894 740916 + PropertyAccessExpression 740917 740932 + Identifier 740917 740921 + Identifier 740922 740932 + Block 740934 741319 + VariableStatement 740936 741061 + VariableDeclarationList 740936 741060 + VariableDeclaration 740971 741060 + Identifier 740971 740982 + CallExpression 740984 741060 + Identifier 740984 741002 + PropertyAccessExpression 741003 741018 + Identifier 741003 741007 + Identifier 741008 741018 + PropertyAccessExpression 741019 741036 + Identifier 741019 741031 + Identifier 741032 741036 + TrueKeyword 741037 741059 + IfStatement 741061 741292 + BinaryExpression 741095 741211 + BinaryExpression 741095 741153 + PrefixUnaryExpression 741095 741106 + Identifier 741096 741106 + BarBarToken 741106 741109 + PrefixUnaryExpression 741109 741153 + ParenthesizedExpression 741111 741153 + BinaryExpression 741112 741152 + PropertyAccessExpression 741112 741128 + Identifier 741112 741122 + Identifier 741123 741128 + AmpersandToken 741128 741130 + PropertyAccessExpression 741130 741152 + Identifier 741130 741142 + Identifier 741143 741152 + BarBarToken 741153 741156 + PropertyAccessExpression 741156 741211 + CallExpression 741156 741202 + Identifier 741156 741190 + Identifier 741191 741201 + Identifier 741203 741211 + Block 741212 741292 + ReturnStatement 741214 741261 + FalseKeyword 741254 741260 + ReturnStatement 741387 741409 + TrueKeyword 741403 741408 + FunctionDeclaration 741416 743933 + Identifier 741432 741466 + Parameter 741467 741481 + Identifier 741467 741473 + TypeReference 741474 741481 + Identifier 741474 741481 + TypeReference 741483 741497 + Identifier 741483 741497 + Block 741497 743933 + VariableStatement 741499 741544 + VariableDeclarationList 741499 741543 + VariableDeclaration 741512 741543 + Identifier 741512 741518 + CallExpression 741520 741543 + Identifier 741520 741535 + Identifier 741536 741542 + VariableStatement 741544 741582 + VariableDeclarationList 741544 741581 + VariableDeclaration 741559 741581 + Identifier 741559 741573 + Identifier 741575 741581 + IfStatement 741582 743873 + PrefixUnaryExpression 741596 741615 + PropertyAccessExpression 741597 741615 + Identifier 741597 741602 + Identifier 741603 741615 + Block 741616 743873 + VariableStatement 741618 741722 + VariableDeclarationList 741618 741721 + VariableDeclaration 741637 741721 + Identifier 741637 741642 + ConditionalExpression 741644 741721 + BinaryExpression 741644 741677 + PropertyAccessExpression 741644 741657 + Identifier 741644 741651 + Identifier 741652 741657 + AmpersandToken 741657 741659 + PropertyAccessExpression 741659 741677 + Identifier 741659 741671 + Identifier 741672 741677 + QuestionToken 741677 741679 + PropertyAccessExpression 741679 741697 + Identifier 741679 741691 + Identifier 741692 741697 + ColonToken 741697 741699 + PropertyAccessExpression 741699 741721 + Identifier 741699 741711 + Identifier 741712 741721 + VariableStatement 741722 741850 + VariableDeclarationList 741722 741849 + VariableDeclaration 741741 741849 + Identifier 741741 741748 + CallExpression 741750 741849 + Identifier 741750 741765 + Identifier 741766 741772 + BinaryExpression 741773 741848 + PropertyAccessExpression 741773 741797 + Identifier 741773 741780 + Identifier 741781 741797 + AmpersandAmpersandToken 741797 741800 + CallExpression 741800 741848 + Identifier 741800 741823 + PropertyAccessExpression 741824 741847 + Identifier 741824 741830 + Identifier 741831 741847 + IfStatement 741850 742043 + Identifier 741868 741874 + Block 741875 742043 + ExpressionStatement 741877 741989 + BinaryExpression 741877 741988 + Identifier 741877 741979 + EqualsToken 741979 741981 + Identifier 741981 741988 + ExpressionStatement 741989 742028 + BinaryExpression 741989 742027 + Identifier 741989 742012 + EqualsToken 742012 742014 + PropertyAccessExpression 742014 742027 + Identifier 742014 742021 + Identifier 742022 742027 + VariableStatement 742043 742170 + VariableDeclarationList 742043 742169 + VariableDeclaration 742064 742169 + Identifier 742064 742069 + BinaryExpression 742071 742169 + PropertyAccessExpression 742071 742098 + Identifier 742071 742085 + Identifier 742086 742098 + EqualsToken 742098 742100 + BinaryExpression 742100 742169 + PropertyAccessExpression 742100 742119 + Identifier 742100 742106 + Identifier 742107 742119 + EqualsToken 742119 742121 + AsExpression 742121 742169 + CallExpression 742121 742152 + Identifier 742121 742138 + Identifier 742139 742143 + Identifier 742144 742151 + TypeReference 742155 742169 + Identifier 742155 742169 + VariableStatement 742170 742261 + VariableDeclarationList 742170 742260 + VariableDeclaration 742189 742260 + Identifier 742189 742209 + CallExpression 742211 742260 + Identifier 742211 742252 + Identifier 742253 742259 + VariableStatement 742261 742363 + VariableDeclarationList 742261 742362 + VariableDeclaration 742280 742362 + Identifier 742280 742300 + CallExpression 742302 742362 + Identifier 742302 742354 + Identifier 742355 742361 + IfStatement 742363 743862 + BinaryExpression 742935 743039 + BinaryExpression 742935 743007 + BinaryExpression 742935 742977 + Identifier 742935 742954 + BarBarToken 742954 742957 + Identifier 742957 742977 + BarBarToken 742977 742980 + BinaryExpression 742980 743007 + Identifier 742980 742985 + EqualsEqualsEqualsToken 742985 742989 + PropertyAccessExpression 742989 743007 + Identifier 742989 743001 + Identifier 743002 743007 + BarBarToken 743007 743010 + PrefixUnaryExpression 743010 743039 + CallExpression 743012 743039 + Identifier 743012 743031 + Identifier 743032 743038 + Block 743040 743862 + ExpressionStatement 743042 743102 + BinaryExpression 743042 743101 + PropertyAccessExpression 743042 743076 + Identifier 743042 743064 + Identifier 743065 743076 + BarEqualsToken 743076 743079 + PropertyAccessExpression 743079 743101 + Identifier 743079 743091 + Identifier 743092 743101 + ExpressionStatement 743102 743196 + BinaryExpression 743102 743195 + PropertyAccessExpression 743102 743139 + Identifier 743102 743124 + Identifier 743125 743139 + EqualsToken 743139 743141 + CallExpression 743141 743195 + Identifier 743141 743153 + Identifier 743154 743173 + Identifier 743174 743194 + ExpressionStatement 743196 743261 + BinaryExpression 743196 743260 + PropertyAccessExpression 743196 743238 + Identifier 743196 743218 + Identifier 743219 743238 + EqualsToken 743238 743240 + Identifier 743240 743260 + ExpressionStatement 743261 743326 + BinaryExpression 743261 743325 + PropertyAccessExpression 743261 743303 + Identifier 743261 743283 + Identifier 743284 743303 + EqualsToken 743303 743305 + Identifier 743305 743325 + ExpressionStatement 743326 743416 + BinaryExpression 743326 743415 + PropertyAccessExpression 743326 743380 + ParenthesizedExpression 743326 743365 + AsExpression 743345 743364 + Identifier 743345 743349 + TypeReference 743352 743364 + Identifier 743352 743364 + Identifier 743366 743380 + EqualsToken 743380 743382 + NewExpression 743382 743415 + Identifier 743386 743390 + StringKeyword 743391 743397 + TypeReference 743398 743412 + Identifier 743398 743412 + ExpressionStatement 743416 743532 + CallExpression 743416 743531 + PropertyAccessExpression 743416 743474 + PropertyAccessExpression 743416 743470 + ParenthesizedExpression 743416 743455 + AsExpression 743435 743454 + Identifier 743435 743439 + TypeReference 743442 743454 + Identifier 743442 743454 + Identifier 743456 743470 + Identifier 743471 743474 + CallExpression 743475 743509 + Identifier 743475 743488 + PropertyAccessExpression 743489 743508 + Identifier 743489 743493 + Identifier 743494 743508 + AsExpression 743510 743530 + Identifier 743510 743515 + TypeReference 743518 743530 + Identifier 743518 743530 + ExpressionStatement 743532 743601 + BinaryExpression 743532 743600 + PropertyAccessExpression 743532 743578 + ParenthesizedExpression 743532 743571 + AsExpression 743551 743570 + Identifier 743551 743555 + TypeReference 743558 743570 + Identifier 743558 743570 + Identifier 743572 743578 + EqualsToken 743578 743580 + AsExpression 743580 743600 + Identifier 743580 743585 + TypeReference 743588 743600 + Identifier 743588 743600 + ExpressionStatement 743601 743685 + BinaryExpression 743601 743684 + PropertyAccessExpression 743601 743662 + ParenthesizedExpression 743601 743640 + AsExpression 743620 743639 + Identifier 743620 743624 + TypeReference 743627 743639 + Identifier 743627 743639 + Identifier 743641 743662 + EqualsToken 743662 743664 + PropertyAccessExpression 743664 743684 + Identifier 743664 743669 + Identifier 743670 743684 + ExpressionStatement 743685 743747 + BinaryExpression 743685 743746 + PropertyAccessExpression 743685 743716 + Identifier 743685 743707 + Identifier 743708 743716 + EqualsToken 743716 743718 + CallExpression 743718 743746 + Identifier 743718 743738 + Identifier 743739 743745 + ExpressionStatement 743747 743797 + BinaryExpression 743747 743796 + PropertyAccessExpression 743747 743789 + PropertyAccessExpression 743747 743778 + Identifier 743747 743769 + Identifier 743770 743778 + Identifier 743779 743789 + EqualsToken 743789 743791 + TrueKeyword 743791 743796 + ExpressionStatement 743797 743847 + BinaryExpression 743797 743846 + PropertyAccessExpression 743797 743839 + PropertyAccessExpression 743797 743828 + Identifier 743797 743819 + Identifier 743820 743828 + Identifier 743829 743839 + EqualsToken 743839 743841 + Identifier 743841 743846 + ReturnStatement 743873 743926 + AsExpression 743889 743925 + PropertyAccessExpression 743889 743908 + Identifier 743889 743895 + Identifier 743896 743908 + TypeReference 743911 743925 + Identifier 743911 743925 + FunctionDeclaration 743933 746292 + Identifier 743949 743976 + Parameter 743977 743991 + Identifier 743977 743983 + TypeReference 743984 743991 + Identifier 743984 743991 + TypeReference 743993 743998 + Identifier 743993 743998 + Block 743998 746292 + VariableStatement 744000 744047 + VariableDeclarationList 744000 744046 + VariableDeclaration 744015 744046 + Identifier 744015 744021 + CallExpression 744023 744046 + Identifier 744023 744038 + Identifier 744039 744045 + IfStatement 744047 746249 + PrefixUnaryExpression 744061 744080 + PropertyAccessExpression 744062 744080 + Identifier 744062 744067 + Identifier 744068 744080 + Block 744081 746249 + IfStatement 744083 744414 + PrefixUnaryExpression 744297 744361 + CallExpression 744298 744361 + Identifier 744298 744316 + Identifier 744317 744323 + PropertyAccessExpression 744324 744360 + Identifier 744324 744347 + Identifier 744348 744360 + Block 744362 744414 + ReturnStatement 744364 744399 + Identifier 744388 744398 + VariableStatement 744414 744562 + VariableDeclarationList 744414 744561 + VariableDeclaration 744435 744561 + Identifier 744435 744447 + CallExpression 744449 744561 + PropertyAccessExpression 744449 744468 + Identifier 744449 744455 + Identifier 744456 744468 + CallExpression 744469 744507 + PropertyAccessExpression 744469 744494 + PropertyAccessExpression 744469 744488 + Identifier 744469 744475 + Identifier 744476 744488 + QuestionDotToken 744488 744490 + Identifier 744490 744494 + Identifier 744495 744506 + StringLiteral 744508 744560 + VariableStatement 744562 744671 + VariableDeclarationList 744562 744670 + VariableDeclaration 744581 744670 + Identifier 744581 744590 + ConditionalExpression 744592 744670 + CallExpression 744592 744622 + Identifier 744592 744609 + Identifier 744610 744621 + QuestionToken 744622 744624 + PropertyAccessExpression 744624 744651 + Identifier 744624 744636 + Identifier 744637 744651 + ColonToken 744651 744653 + PropertyAccessExpression 744653 744670 + Identifier 744653 744665 + Identifier 744666 744670 + VariableStatement 744671 744828 + VariableDeclarationList 744671 744827 + VariableDeclaration 744767 744827 + Identifier 744767 744772 + ConditionalExpression 744774 744827 + Identifier 744774 744783 + QuestionToken 744783 744785 + CallExpression 744785 744815 + Identifier 744785 744805 + Identifier 744806 744814 + ColonToken 744815 744817 + Identifier 744817 744827 + IfStatement 744828 746196 + CallExpression 744846 744865 + Identifier 744846 744863 + Block 744866 745667 + VariableStatement 744868 744969 + VariableDeclarationList 744868 744968 + VariableDeclaration 744891 744968 + Identifier 744891 744906 + CallExpression 744908 744968 + Identifier 744908 744960 + Identifier 744961 744967 + IfStatement 744969 745470 + Identifier 744991 745005 + Block 745006 745470 + ExpressionStatement 745008 745298 + BinaryExpression 745008 745297 + PropertyAccessExpression 745008 745280 + Identifier 745008 745265 + Identifier 745266 745280 + EqualsToken 745280 745282 + Identifier 745282 745297 + ExpressionStatement 745298 745367 + BinaryExpression 745298 745366 + PropertyAccessExpression 745298 745340 + Identifier 745298 745325 + Identifier 745326 745340 + EqualsToken 745340 745342 + NewExpression 745342 745366 + Identifier 745346 745350 + StringKeyword 745351 745357 + TypeReference 745358 745363 + Identifier 745358 745363 + ExpressionStatement 745367 745451 + CallExpression 745367 745450 + PropertyAccessExpression 745367 745413 + PropertyAccessExpression 745367 745409 + Identifier 745367 745394 + Identifier 745395 745409 + Identifier 745410 745413 + CallExpression 745414 745443 + Identifier 745414 745427 + Identifier 745428 745442 + Identifier 745444 745449 + IfStatement 745470 745652 + BinaryExpression 745492 745570 + BinaryExpression 745492 745520 + Identifier 745492 745496 + EqualsEqualsEqualsToken 745496 745500 + Identifier 745500 745520 + AmpersandAmpersandToken 745520 745523 + BinaryExpression 745523 745570 + PropertyAccessExpression 745523 745542 + Identifier 745523 745530 + Identifier 745531 745542 + EqualsEqualsEqualsToken 745542 745546 + StringLiteral 745546 745570 + Block 745571 745652 + ExpressionStatement 745573 745633 + BinaryExpression 745573 745632 + Identifier 745573 745599 + EqualsToken 745599 745601 + CallExpression 745601 745632 + Identifier 745601 745630 + Block 745685 746196 + ExpressionStatement 745687 745722 + BinaryExpression 745687 745721 + Identifier 745687 745709 + EqualsToken 745709 745711 + Identifier 745711 745721 + IfStatement 745722 746181 + BinaryExpression 745744 745788 + PropertyAccessExpression 745744 745760 + Identifier 745744 745755 + Identifier 745756 745760 + EqualsEqualsEqualsToken 745760 745764 + PropertyAccessExpression 745764 745788 + Identifier 745764 745775 + Identifier 745776 745788 + Block 745789 745950 + ExpressionStatement 745791 745931 + CallExpression 745791 745930 + Identifier 745791 745818 + PropertyAccessExpression 745819 745850 + PropertyAccessExpression 745819 745845 + Identifier 745819 745830 + Identifier 745831 745845 + Identifier 745846 745850 + PropertyAccessExpression 745851 745905 + Identifier 745851 745863 + Identifier 745864 745905 + CallExpression 745906 745929 + Identifier 745906 745921 + Identifier 745922 745928 + Block 745972 746181 + ExpressionStatement 745974 746162 + CallExpression 745974 746161 + Identifier 745974 746001 + ConditionalExpression 746002 746081 + CallExpression 746002 746033 + Identifier 746002 746020 + Identifier 746021 746032 + QuestionToken 746033 746035 + BinaryExpression 746035 746067 + PropertyAccessExpression 746035 746052 + Identifier 746035 746047 + Identifier 746048 746052 + BarBarToken 746052 746055 + Identifier 746055 746067 + ColonToken 746067 746069 + Identifier 746069 746081 + PropertyAccessExpression 746082 746136 + Identifier 746082 746094 + Identifier 746095 746136 + CallExpression 746137 746160 + Identifier 746137 746152 + Identifier 746153 746159 + ExpressionStatement 746196 746238 + BinaryExpression 746196 746237 + PropertyAccessExpression 746196 746228 + Identifier 746196 746215 + Identifier 746216 746228 + QuestionQuestionEqualsToken 746228 746232 + Identifier 746232 746237 + ReturnStatement 746249 746285 + PropertyAccessExpression 746265 746284 + Identifier 746265 746271 + Identifier 746272 746284 + FunctionDeclaration 746292 746516 + Identifier 746308 746334 + Parameter 746335 746345 + Identifier 746335 746339 + TypeReference 746340 746345 + Identifier 746340 746345 + Block 746346 746516 + ReturnStatement 746348 746509 + ConditionalExpression 746364 746508 + BinaryExpression 746364 746442 + BinaryExpression 746364 746396 + PropertyAccessExpression 746364 746375 + Identifier 746364 746369 + Identifier 746370 746375 + AmpersandToken 746375 746377 + PropertyAccessExpression 746377 746396 + Identifier 746377 746387 + Identifier 746388 746396 + AmpersandAmpersandToken 746396 746399 + BinaryExpression 746399 746442 + PropertyAccessExpression 746399 746417 + PropertyAccessExpression 746399 746411 + Identifier 746399 746404 + Identifier 746405 746411 + Identifier 746412 746417 + AmpersandToken 746417 746419 + PropertyAccessExpression 746419 746442 + Identifier 746419 746431 + Identifier 746432 746442 + QuestionToken 746442 746444 + CallExpression 746444 746501 + Identifier 746444 746468 + NonNullExpression 746469 746500 + CallExpression 746469 746499 + Identifier 746469 746486 + PropertyAccessExpression 746487 746498 + Identifier 746487 746491 + Identifier 746492 746498 + ColonToken 746501 746503 + Identifier 746503 746508 + FunctionDeclaration 746516 748348 + Identifier 746532 746554 + Parameter 746555 746569 + Identifier 746555 746561 + TypeReference 746562 746569 + Identifier 746562 746569 + TypeReference 746571 746576 + Identifier 746571 746576 + Block 746576 748348 + VariableStatement 746578 746625 + VariableDeclarationList 746578 746624 + VariableDeclaration 746593 746624 + Identifier 746593 746599 + CallExpression 746601 746624 + Identifier 746601 746616 + Identifier 746617 746623 + IfStatement 746625 748305 + PrefixUnaryExpression 746639 746658 + PropertyAccessExpression 746640 746658 + Identifier 746640 746645 + Identifier 746646 746658 + Block 746659 748305 + VariableStatement 746661 746709 + VariableDeclarationList 746661 746708 + VariableDeclaration 746680 746708 + Identifier 746680 746695 + ArrayType 746696 746703 + TypeReference 746696 746701 + Identifier 746696 746701 + ArrayLiteralExpression 746705 746708 + IfStatement 746709 747864 + PropertyAccessExpression 746727 746746 + Identifier 746727 746733 + Identifier 746734 746746 + Block 746747 747864 + ForOfStatement 746749 747849 + VariableDeclarationList 746772 746789 + VariableDeclaration 746777 746789 + Identifier 746777 746789 + PropertyAccessExpression 746792 746812 + Identifier 746792 746799 + Identifier 746800 746812 + Block 746813 747849 + IfStatement 746815 747830 + BinaryExpression 746841 746888 + PropertyAccessExpression 746841 746857 + Identifier 746841 746852 + Identifier 746853 746857 + EqualsEqualsEqualsToken 746857 746861 + PropertyAccessExpression 746861 746888 + Identifier 746861 746872 + Identifier 746873 746888 + Block 746889 747830 + ForOfStatement 746891 747807 + VariableDeclarationList 746922 746934 + VariableDeclaration 746927 746934 + Identifier 746927 746934 + PropertyAccessExpression 746937 746978 + ParenthesizedExpression 746937 746970 + AsExpression 746939 746969 + Identifier 746939 746950 + TypeReference 746953 746969 + Identifier 746953 746969 + Identifier 746971 746978 + Block 746979 747807 + IfStatement 746981 747780 + CallExpression 747015 747038 + Identifier 747015 747030 + Identifier 747031 747037 + Block 747039 747780 + VariableStatement 747041 747127 + VariableDeclarationList 747041 747126 + VariableDeclaration 747080 747126 + Identifier 747080 747093 + CallExpression 747095 747126 + Identifier 747095 747118 + Identifier 747119 747125 + VariableStatement 747127 747208 + VariableDeclarationList 747127 747207 + VariableDeclaration 747166 747207 + Identifier 747166 747172 + PropertyAccessExpression 747174 747207 + CallExpression 747174 747201 + Identifier 747174 747193 + Identifier 747194 747200 + Identifier 747202 747207 + VariableStatement 747208 747565 + VariableDeclarationList 747208 747564 + VariableDeclaration 747247 747564 + Identifier 747247 747258 + CallExpression 747260 747564 + Identifier 747260 747286 + ConditionalExpression 747287 747528 + BinaryExpression 747287 747344 + Identifier 747287 747330 + ExclamationEqualsEqualsToken 747330 747334 + Identifier 747334 747344 + QuestionToken 747344 747346 + CallExpression 747346 747448 + Identifier 747346 747406 + Identifier 747407 747412 + CallExpression 747413 747433 + Identifier 747413 747425 + Identifier 747426 747432 + Identifier 747434 747447 + ColonToken 747448 747450 + CallExpression 747450 747528 + Identifier 747450 747514 + Identifier 747515 747527 + ExpressionStatement 747565 747654 + BinaryExpression 747565 747653 + PropertyAccessExpression 747565 747640 + CallExpression 747565 747627 + Identifier 747565 747613 + Identifier 747614 747626 + Identifier 747628 747640 + EqualsToken 747640 747642 + Identifier 747642 747653 + ExpressionStatement 747654 747749 + CallExpression 747654 747748 + PropertyAccessExpression 747654 747707 + Identifier 747654 747702 + Identifier 747703 747707 + CallExpression 747708 747747 + Identifier 747708 747735 + Identifier 747736 747746 + VariableStatement 747864 748081 + VariableDeclarationList 747864 748080 + VariableDeclaration 747883 748080 + Identifier 747883 747892 + ConditionalExpression 747894 748080 + PropertyAccessExpression 747894 747916 + Identifier 747894 747909 + Identifier 747910 747916 + QuestionToken 747916 747918 + CallExpression 747918 748030 + Identifier 747918 747948 + Identifier 747949 747963 + PropertyAccessExpression 747964 747987 + Identifier 747964 747979 + Identifier 747980 747987 + Identifier 747988 747995 + Identifier 747996 748029 + ColonToken 748030 748032 + CallExpression 748032 748080 + Identifier 748032 748072 + Identifier 748073 748079 + IfStatement 748081 748250 + BinaryExpression 748099 748131 + PropertyAccessExpression 748099 748113 + Identifier 748099 748107 + Identifier 748108 748113 + AmpersandToken 748113 748115 + PropertyAccessExpression 748115 748131 + Identifier 748115 748125 + Identifier 748126 748131 + Block 748132 748250 + ExpressionStatement 748134 748192 + BinaryExpression 748134 748191 + PropertyAccessExpression 748134 748166 + Identifier 748134 748160 + Identifier 748161 748166 + BarEqualsToken 748166 748169 + PropertyAccessExpression 748169 748191 + Identifier 748169 748179 + Identifier 748180 748191 + ExpressionStatement 748192 748235 + BinaryExpression 748192 748234 + PropertyAccessExpression 748192 748225 + Identifier 748192 748218 + Identifier 748219 748225 + EqualsToken 748225 748227 + Identifier 748227 748234 + ExpressionStatement 748250 748294 + BinaryExpression 748250 748293 + PropertyAccessExpression 748250 748282 + Identifier 748250 748269 + Identifier 748270 748282 + EqualsToken 748282 748284 + Identifier 748284 748293 + ReturnStatement 748305 748341 + PropertyAccessExpression 748321 748340 + Identifier 748321 748327 + Identifier 748328 748340 + FunctionDeclaration 748348 748793 + Identifier 748364 748387 + Parameter 748388 748402 + Identifier 748388 748394 + TypeReference 748395 748402 + Identifier 748395 748402 + Block 748403 748793 + VariableStatement 748405 748492 + VariableDeclarationList 748405 748491 + VariableDeclaration 748420 748491 + Identifier 748420 748432 + AsExpression 748434 748491 + CallExpression 748434 748479 + Identifier 748434 748455 + PropertyAccessExpression 748456 748470 + Identifier 748456 748465 + Identifier 748466 748470 + Identifier 748471 748478 + TypeReference 748482 748491 + Identifier 748482 748491 + VariableStatement 748492 748577 + VariableDeclarationList 748492 748576 + VariableDeclaration 748507 748576 + Identifier 748507 748517 + AsExpression 748519 748576 + CallExpression 748519 748564 + Identifier 748519 748540 + PropertyAccessExpression 748541 748555 + Identifier 748541 748550 + Identifier 748551 748555 + Identifier 748556 748563 + TypeReference 748567 748576 + Identifier 748567 748576 + ExpressionStatement 748577 748625 + BinaryExpression 748577 748624 + PropertyAccessExpression 748577 748610 + Identifier 748577 748598 + Identifier 748599 748610 + EqualsToken 748610 748612 + Identifier 748612 748624 + ExpressionStatement 748625 748669 + BinaryExpression 748625 748668 + PropertyAccessExpression 748625 748656 + Identifier 748625 748646 + Identifier 748647 748656 + EqualsToken 748656 748658 + Identifier 748658 748668 + ExpressionStatement 748669 748715 + BinaryExpression 748669 748714 + PropertyAccessExpression 748669 748700 + Identifier 748669 748688 + Identifier 748689 748700 + EqualsToken 748700 748702 + Identifier 748702 748714 + ExpressionStatement 748715 748757 + BinaryExpression 748715 748756 + PropertyAccessExpression 748715 748744 + Identifier 748715 748734 + Identifier 748735 748744 + EqualsToken 748744 748746 + Identifier 748746 748756 + ReturnStatement 748757 748786 + Identifier 748773 748785 + FunctionDeclaration 748793 749182 + Identifier 748809 748837 + Parameter 748838 748852 + Identifier 748838 748844 + TypeReference 748845 748852 + Identifier 748845 748852 + TypeReference 748854 748859 + Identifier 748854 748859 + Block 748859 749182 + VariableStatement 748861 748908 + VariableDeclarationList 748861 748907 + VariableDeclaration 748876 748907 + Identifier 748876 748882 + CallExpression 748884 748907 + Identifier 748884 748899 + Identifier 748900 748906 + IfStatement 748908 749139 + PrefixUnaryExpression 748922 748941 + PropertyAccessExpression 748923 748941 + Identifier 748923 748928 + Identifier 748929 748941 + Block 748942 749139 + VariableStatement 748944 749025 + VariableDeclarationList 748944 749024 + VariableDeclaration 748963 749024 + Identifier 748963 748972 + CallExpression 748974 749024 + Identifier 748974 748996 + NonNullExpression 748997 749023 + CallExpression 748997 749022 + Identifier 748997 749014 + Identifier 749015 749021 + IfStatement 749025 749128 + PrefixUnaryExpression 749043 749062 + PropertyAccessExpression 749044 749062 + Identifier 749044 749049 + Identifier 749050 749062 + Block 749063 749128 + ExpressionStatement 749065 749113 + BinaryExpression 749065 749112 + PropertyAccessExpression 749065 749101 + Identifier 749065 749088 + Identifier 749089 749101 + EqualsToken 749101 749103 + Identifier 749103 749112 + ReturnStatement 749139 749175 + PropertyAccessExpression 749155 749174 + Identifier 749155 749161 + Identifier 749162 749174 + FunctionDeclaration 749182 749406 + Identifier 749198 749229 + Parameter 749230 749244 + Identifier 749230 749236 + TypeReference 749237 749244 + Identifier 749237 749244 + TypeReference 749246 749260 + Identifier 749246 749260 + Block 749260 749406 + VariableStatement 749262 749309 + VariableDeclarationList 749262 749308 + VariableDeclaration 749277 749308 + Identifier 749277 749283 + CallExpression 749285 749308 + Identifier 749285 749300 + Identifier 749301 749307 + ReturnStatement 749309 749399 + BinaryExpression 749325 749398 + PropertyAccessExpression 749325 749344 + Identifier 749325 749331 + Identifier 749332 749344 + BarBarToken 749344 749347 + ParenthesizedExpression 749347 749398 + BinaryExpression 749349 749397 + PropertyAccessExpression 749349 749367 + Identifier 749349 749354 + Identifier 749355 749367 + EqualsToken 749367 749369 + CallExpression 749369 749397 + Identifier 749369 749389 + Identifier 749390 749396 + FunctionDeclaration 749406 749631 + Identifier 749422 749445 + Parameter 749446 749460 + Identifier 749446 749452 + TypeReference 749453 749460 + Identifier 749453 749460 + TypeReference 749462 749467 + Identifier 749462 749467 + Block 749467 749631 + VariableStatement 749469 749516 + VariableDeclarationList 749469 749515 + VariableDeclaration 749484 749515 + Identifier 749484 749490 + CallExpression 749492 749515 + Identifier 749492 749507 + Identifier 749508 749514 + ReturnStatement 749516 749624 + BinaryExpression 749532 749623 + PropertyAccessExpression 749532 749551 + Identifier 749532 749538 + Identifier 749539 749551 + BarBarToken 749551 749554 + ParenthesizedExpression 749554 749623 + BinaryExpression 749556 749622 + PropertyAccessExpression 749556 749574 + Identifier 749556 749561 + Identifier 749562 749574 + EqualsToken 749574 749576 + CallExpression 749576 749622 + Identifier 749576 749600 + CallExpression 749601 749621 + Identifier 749601 749613 + Identifier 749614 749620 + FunctionDeclaration 749631 749767 + Identifier 749647 749671 + Parameter 749672 749686 + Identifier 749672 749678 + TypeReference 749679 749686 + Identifier 749679 749686 + TypeReference 749688 749693 + Identifier 749688 749693 + Block 749693 749767 + ReturnStatement 749695 749760 + BinaryExpression 749711 749759 + CallExpression 749711 749746 + Identifier 749711 749738 + Identifier 749739 749745 + BarBarToken 749746 749749 + Identifier 749749 749759 + FunctionDeclaration 749767 750621 + Identifier 749783 749810 + Parameter 749811 749825 + Identifier 749811 749817 + TypeReference 749818 749825 + Identifier 749818 749825 + UnionType 749827 749844 + TypeReference 749827 749832 + Identifier 749827 749832 + UndefinedKeyword 749834 749844 + Block 749844 750621 + IfStatement 749846 749995 + BinaryExpression 749860 749918 + PropertyAccessExpression 749860 749872 + Identifier 749860 749866 + Identifier 749867 749872 + AmpersandToken 749872 749874 + ParenthesizedExpression 749874 749918 + BinaryExpression 749876 749917 + PropertyAccessExpression 749876 749893 + Identifier 749876 749887 + Identifier 749888 749893 + BarToken 749893 749895 + PropertyAccessExpression 749895 749917 + Identifier 749895 749907 + Identifier 749908 749917 + Block 749919 749995 + ReturnStatement 749921 749984 + CallExpression 749941 749983 + Identifier 749941 749975 + Identifier 749976 749982 + IfStatement 749995 750115 + BinaryExpression 750009 750045 + PropertyAccessExpression 750009 750021 + Identifier 750009 750015 + Identifier 750016 750021 + AmpersandToken 750021 750023 + PropertyAccessExpression 750023 750045 + Identifier 750023 750035 + Identifier 750036 750045 + Block 750046 750115 + ReturnStatement 750048 750104 + CallExpression 750068 750103 + Identifier 750068 750095 + Identifier 750096 750102 + IfStatement 750115 750243 + BinaryExpression 750129 750169 + PropertyAccessExpression 750129 750141 + Identifier 750129 750135 + Identifier 750136 750141 + AmpersandToken 750141 750143 + PropertyAccessExpression 750143 750169 + Identifier 750143 750155 + Identifier 750156 750169 + Block 750170 750243 + ReturnStatement 750172 750232 + CallExpression 750192 750231 + Identifier 750192 750223 + Identifier 750224 750230 + IfStatement 750243 750353 + BinaryExpression 750257 750288 + PropertyAccessExpression 750257 750269 + Identifier 750257 750263 + Identifier 750264 750269 + AmpersandToken 750269 750271 + PropertyAccessExpression 750271 750288 + Identifier 750271 750283 + Identifier 750284 750288 + Block 750289 750353 + ReturnStatement 750291 750342 + CallExpression 750311 750341 + Identifier 750311 750333 + Identifier 750334 750340 + IfStatement 750353 750475 + BinaryExpression 750367 750404 + PropertyAccessExpression 750367 750379 + Identifier 750367 750373 + Identifier 750374 750379 + AmpersandToken 750379 750381 + PropertyAccessExpression 750381 750404 + Identifier 750381 750393 + Identifier 750394 750404 + Block 750405 750475 + ReturnStatement 750407 750464 + CallExpression 750427 750463 + Identifier 750427 750455 + Identifier 750456 750462 + IfStatement 750475 750587 + BinaryExpression 750489 750521 + PropertyAccessExpression 750489 750501 + Identifier 750489 750495 + Identifier 750496 750501 + AmpersandToken 750501 750503 + PropertyAccessExpression 750503 750521 + Identifier 750503 750515 + Identifier 750516 750521 + Block 750522 750587 + ReturnStatement 750524 750576 + CallExpression 750544 750575 + Identifier 750544 750567 + Identifier 750568 750574 + ReturnStatement 750587 750614 + Identifier 750603 750613 + FunctionDeclaration 750621 751884 + Identifier 750919 750934 + Parameter 750935 750949 + Identifier 750935 750939 + TypeReference 750940 750949 + Identifier 750940 750949 + BooleanKeyword 750951 750959 + Block 750959 751884 + SwitchStatement 750961 751854 + PropertyAccessExpression 750979 750988 + Identifier 750979 750983 + Identifier 750984 750988 + CaseBlock 750989 751854 + CaseClause 750991 751032 + PropertyAccessExpression 751009 751031 + Identifier 751009 751020 + Identifier 751021 751031 + CaseClause 751032 751077 + PropertyAccessExpression 751050 751076 + Identifier 751050 751061 + Identifier 751062 751076 + CaseClause 751077 751121 + PropertyAccessExpression 751095 751120 + Identifier 751095 751106 + Identifier 751107 751120 + CaseClause 751121 751165 + PropertyAccessExpression 751139 751164 + Identifier 751139 751150 + Identifier 751151 751164 + CaseClause 751165 751209 + PropertyAccessExpression 751183 751208 + Identifier 751183 751194 + Identifier 751195 751208 + CaseClause 751209 751254 + PropertyAccessExpression 751227 751253 + Identifier 751227 751238 + Identifier 751239 751253 + CaseClause 751254 751298 + PropertyAccessExpression 751272 751297 + Identifier 751272 751283 + Identifier 751284 751297 + CaseClause 751298 751342 + PropertyAccessExpression 751316 751341 + Identifier 751316 751327 + Identifier 751328 751341 + CaseClause 751342 751384 + PropertyAccessExpression 751360 751383 + Identifier 751360 751371 + Identifier 751372 751383 + CaseClause 751384 751431 + PropertyAccessExpression 751402 751430 + Identifier 751402 751413 + Identifier 751414 751430 + CaseClause 751431 751474 + PropertyAccessExpression 751449 751473 + Identifier 751449 751460 + Identifier 751461 751473 + CaseClause 751474 751546 + PropertyAccessExpression 751492 751515 + Identifier 751492 751503 + Identifier 751504 751515 + ReturnStatement 751516 751546 + TrueKeyword 751540 751545 + CaseClause 751546 751663 + PropertyAccessExpression 751564 751585 + Identifier 751564 751575 + Identifier 751576 751585 + ReturnStatement 751586 751663 + CallExpression 751610 751662 + Identifier 751610 751625 + PropertyAccessExpression 751626 751661 + ParenthesizedExpression 751626 751649 + AsExpression 751627 751648 + Identifier 751627 751631 + TypeReference 751634 751648 + Identifier 751634 751648 + Identifier 751650 751661 + CaseClause 751663 751843 + PropertyAccessExpression 751681 751706 + Identifier 751681 751692 + Identifier 751693 751706 + ReturnStatement 751707 751843 + BinaryExpression 751731 751842 + PrefixUnaryExpression 751731 751774 + PropertyAccessExpression 751733 751774 + ParenthesizedExpression 751733 751760 + AsExpression 751734 751759 + Identifier 751734 751738 + TypeReference 751741 751759 + Identifier 751741 751759 + Identifier 751761 751774 + BarBarToken 751774 751777 + CallExpression 751777 751842 + PropertyAccessExpression 751777 751826 + NonNullExpression 751777 751820 + PropertyAccessExpression 751777 751819 + ParenthesizedExpression 751777 751805 + AsExpression 751779 751804 + Identifier 751779 751783 + TypeReference 751786 751804 + Identifier 751786 751804 + Identifier 751806 751819 + Identifier 751821 751826 + Identifier 751827 751841 + ReturnStatement 751854 751877 + FalseKeyword 751870 751876 + FunctionDeclaration 751884 752197 + Identifier 752000 752024 + Parameter 752025 752055 + Identifier 752025 752029 + TypeReference 752030 752055 + Identifier 752030 752055 + Block 752056 752197 + VariableStatement 752058 752131 + VariableDeclarationList 752058 752130 + VariableDeclaration 752073 752130 + Identifier 752073 752084 + CallExpression 752086 752130 + Identifier 752086 752124 + Identifier 752125 752129 + ReturnStatement 752131 752190 + BinaryExpression 752147 752189 + PrefixUnaryExpression 752147 752159 + Identifier 752149 752159 + BarBarToken 752159 752162 + CallExpression 752162 752189 + Identifier 752162 752177 + Identifier 752178 752188 + FunctionDeclaration 752197 752650 + Identifier 752426 752460 + Parameter 752461 752490 + Identifier 752461 752465 + TypeReference 752466 752490 + Identifier 752466 752490 + BooleanKeyword 752492 752500 + Block 752500 752650 + VariableStatement 752502 752566 + VariableDeclarationList 752502 752565 + VariableDeclaration 752517 752565 + Identifier 752517 752526 + CallExpression 752528 752565 + Identifier 752528 752559 + Identifier 752560 752564 + ReturnStatement 752566 752643 + ConditionalExpression 752582 752642 + Identifier 752582 752591 + QuestionToken 752591 752593 + CallExpression 752593 752618 + Identifier 752593 752608 + Identifier 752609 752617 + ColonToken 752618 752620 + PrefixUnaryExpression 752620 752642 + CallExpression 752622 752642 + Identifier 752622 752636 + Identifier 752637 752641 + FunctionDeclaration 752650 753391 + Identifier 752930 752964 + Parameter 752965 752994 + Identifier 752965 752969 + TypeReference 752970 752994 + Identifier 752970 752994 + BooleanKeyword 752996 753004 + Block 753004 753391 + VariableStatement 753006 753068 + VariableDeclarationList 753006 753067 + VariableDeclaration 753021 753067 + Identifier 753021 753032 + CallExpression 753034 753067 + Identifier 753034 753061 + Identifier 753062 753066 + VariableStatement 753068 753145 + VariableDeclarationList 753068 753144 + VariableDeclaration 753083 753144 + Identifier 753083 753098 + CallExpression 753100 753144 + Identifier 753100 753138 + Identifier 753139 753143 + ReturnStatement 753145 753384 + BinaryExpression 753161 753383 + BinaryExpression 753161 753321 + ParenthesizedExpression 753161 753248 + BinaryExpression 753163 753247 + BinaryExpression 753163 753199 + PropertyAccessExpression 753163 753172 + Identifier 753163 753167 + Identifier 753168 753172 + EqualsEqualsEqualsToken 753172 753176 + PropertyAccessExpression 753176 753199 + Identifier 753176 753187 + Identifier 753188 753199 + BarBarToken 753199 753202 + ParenthesizedExpression 753202 753247 + BinaryExpression 753204 753246 + PrefixUnaryExpression 753204 753216 + PrefixUnaryExpression 753205 753216 + Identifier 753206 753216 + AmpersandAmpersandToken 753216 753219 + CallExpression 753219 753246 + Identifier 753219 753234 + Identifier 753235 753245 + AmpersandAmpersandToken 753248 753251 + CallExpression 753251 753321 + PropertyAccessExpression 753251 753286 + PropertyAccessExpression 753251 753280 + Identifier 753251 753269 + Identifier 753270 753280 + Identifier 753281 753286 + Identifier 753287 753320 + AmpersandAmpersandToken 753321 753324 + CallExpression 753324 753383 + PropertyAccessExpression 753324 753358 + Identifier 753324 753352 + Identifier 753353 753358 + Identifier 753359 753382 + FunctionDeclaration 753391 754836 + Identifier 753907 753918 + Parameter 753919 753933 + Identifier 753919 753925 + TypeReference 753926 753933 + Identifier 753926 753933 + BooleanKeyword 753935 753943 + Block 753943 754836 + IfStatement 753945 754806 + BinaryExpression 753959 754014 + PropertyAccessExpression 753959 753978 + Identifier 753959 753965 + Identifier 753966 753978 + AmpersandAmpersandToken 753978 753981 + BinaryExpression 753981 754014 + PropertyAccessExpression 753981 754008 + PropertyAccessExpression 753981 754001 + Identifier 753981 753988 + Identifier 753989 754001 + Identifier 754002 754008 + EqualsEqualsEqualsToken 754008 754012 + NumericLiteral 754012 754014 + Block 754015 754806 + VariableStatement 754017 754074 + VariableDeclarationList 754017 754073 + VariableDeclaration 754036 754073 + Identifier 754036 754048 + ElementAccessExpression 754050 754073 + PropertyAccessExpression 754050 754070 + Identifier 754050 754057 + Identifier 754058 754070 + NumericLiteral 754071 754072 + IfStatement 754074 754795 + Identifier 754092 754103 + Block 754104 754795 + SwitchStatement 754106 754780 + PropertyAccessExpression 754132 754148 + Identifier 754132 754143 + Identifier 754144 754148 + CaseBlock 754149 754780 + CaseClause 754151 754209 + PropertyAccessExpression 754177 754208 + Identifier 754177 754188 + Identifier 754189 754208 + CaseClause 754209 754372 + PropertyAccessExpression 754235 754264 + Identifier 754235 754246 + Identifier 754247 754264 + ReturnStatement 754265 754372 + CallExpression 754297 754371 + Identifier 754297 754331 + AsExpression 754332 754370 + Identifier 754332 754343 + TypeReference 754346 754370 + Identifier 754346 754370 + CaseClause 754372 754428 + PropertyAccessExpression 754398 754427 + Identifier 754398 754409 + Identifier 754410 754427 + CaseClause 754428 754482 + PropertyAccessExpression 754454 754481 + Identifier 754454 754465 + Identifier 754466 754481 + CaseClause 754482 754532 + PropertyAccessExpression 754508 754531 + Identifier 754508 754519 + Identifier 754520 754531 + CaseClause 754532 754582 + PropertyAccessExpression 754558 754581 + Identifier 754558 754569 + Identifier 754570 754581 + CaseClause 754582 754761 + PropertyAccessExpression 754608 754631 + Identifier 754608 754619 + Identifier 754620 754631 + ReturnStatement 754632 754761 + CallExpression 754664 754760 + Identifier 754664 754698 + AsExpression 754699 754759 + Identifier 754699 754710 + UnionType 754713 754759 + TypeReference 754713 754737 + Identifier 754713 754737 + TypeReference 754739 754759 + Identifier 754739 754759 + ReturnStatement 754806 754829 + FalseKeyword 754822 754828 + FunctionDeclaration 754836 755464 + Identifier 755097 755127 + Parameter 755128 755145 + Identifier 755128 755135 + ArrayType 755136 755145 + TypeReference 755136 755143 + Identifier 755136 755143 + Parameter 755146 755165 + Identifier 755146 755153 + TypeReference 755154 755165 + Identifier 755154 755165 + Parameter 755166 755191 + Identifier 755166 755182 + BooleanKeyword 755183 755191 + TypeReference 755193 755205 + Identifier 755193 755205 + Block 755205 755464 + VariableStatement 755207 755252 + VariableDeclarationList 755207 755251 + VariableDeclaration 755222 755251 + Identifier 755222 755229 + CallExpression 755231 755251 + Identifier 755231 755249 + ForOfStatement 755252 755433 + VariableDeclarationList 755267 755279 + VariableDeclaration 755272 755279 + Identifier 755272 755279 + Identifier 755282 755290 + Block 755291 755433 + ExpressionStatement 755293 755422 + CallExpression 755293 755421 + PropertyAccessExpression 755293 755317 + Identifier 755293 755313 + Identifier 755314 755317 + PropertyAccessExpression 755318 755336 + Identifier 755318 755324 + Identifier 755325 755336 + ConditionalExpression 755337 755420 + BinaryExpression 755337 755375 + Identifier 755337 755353 + AmpersandAmpersandToken 755353 755356 + CallExpression 755356 755375 + Identifier 755356 755367 + Identifier 755368 755374 + QuestionToken 755375 755377 + Identifier 755377 755384 + ColonToken 755384 755386 + CallExpression 755386 755420 + Identifier 755386 755404 + Identifier 755405 755411 + Identifier 755412 755419 + ReturnStatement 755433 755457 + Identifier 755449 755456 + FunctionDeclaration 755464 756337 + Identifier 755480 755500 + Parameter 755501 755521 + Identifier 755501 755508 + TypeReference 755509 755521 + Identifier 755509 755521 + Parameter 755522 755544 + Identifier 755522 755534 + ArrayType 755535 755544 + TypeReference 755535 755542 + Identifier 755535 755542 + Block 755545 756337 + ForOfStatement 755547 756330 + VariableDeclarationList 755562 755572 + VariableDeclaration 755567 755572 + Identifier 755567 755572 + Identifier 755575 755587 + Block 755588 756330 + IfStatement 755590 755692 + CallExpression 755608 755647 + Identifier 755608 755641 + Identifier 755642 755646 + Block 755648 755692 + ContinueStatement 755650 755677 + VariableStatement 755692 755752 + VariableDeclarationList 755692 755751 + VariableDeclaration 755711 755751 + Identifier 755711 755719 + CallExpression 755721 755751 + PropertyAccessExpression 755721 755733 + Identifier 755721 755729 + Identifier 755730 755733 + PropertyAccessExpression 755734 755750 + Identifier 755734 755738 + Identifier 755739 755750 + IfStatement 755752 756319 + BinaryExpression 755770 756179 + PrefixUnaryExpression 755770 755796 + Identifier 755789 755796 + BarBarToken 755796 755940 + BinaryExpression 755940 756179 + BinaryExpression 755940 756098 + BinaryExpression 755940 756034 + PropertyAccessExpression 755940 755965 + Identifier 755940 755948 + Identifier 755949 755965 + AmpersandAmpersandToken 755965 755989 + CallExpression 755989 756034 + Identifier 755989 756008 + PropertyAccessExpression 756009 756033 + Identifier 756009 756016 + Identifier 756017 756033 + AmpersandAmpersandToken 756034 756058 + PrefixUnaryExpression 756058 756098 + CallExpression 756060 756098 + Identifier 756060 756089 + Identifier 756090 756097 + AmpersandAmpersandToken 756098 756122 + PrefixUnaryExpression 756122 756179 + CallExpression 756124 756179 + Identifier 756124 756153 + PropertyAccessExpression 756154 756178 + Identifier 756154 756161 + Identifier 756162 756178 + Block 756194 756319 + ExpressionStatement 756196 756250 + CallExpression 756196 756249 + PropertyAccessExpression 756196 756225 + Identifier 756196 756221 + Identifier 756222 756225 + PropertyAccessExpression 756226 756242 + Identifier 756226 756230 + Identifier 756231 756242 + Identifier 756243 756248 + ExpressionStatement 756250 756304 + CallExpression 756250 756303 + PropertyAccessExpression 756250 756279 + Identifier 756250 756275 + Identifier 756276 756279 + PropertyAccessExpression 756280 756296 + Identifier 756280 756284 + Identifier 756285 756296 + Identifier 756297 756302 + FunctionDeclaration 756337 756552 + Identifier 756353 756387 + Parameter 756388 756397 + Identifier 756388 756389 + TypeReference 756390 756397 + Identifier 756390 756397 + BooleanKeyword 756399 756407 + Block 756407 756552 + ReturnStatement 756409 756545 + BinaryExpression 756425 756544 + BinaryExpression 756425 756512 + PrefixUnaryExpression 756425 756446 + PrefixUnaryExpression 756427 756446 + PropertyAccessExpression 756428 756446 + Identifier 756428 756429 + Identifier 756430 756446 + AmpersandAmpersandToken 756446 756449 + CallExpression 756449 756512 + Identifier 756449 756492 + PropertyAccessExpression 756493 756511 + Identifier 756493 756494 + Identifier 756495 756511 + AmpersandAmpersandToken 756512 756515 + CallExpression 756515 756544 + Identifier 756515 756524 + PropertyAccessExpression 756525 756543 + Identifier 756525 756526 + Identifier 756527 756543 + FunctionDeclaration 756552 757762 + Identifier 756568 756591 + Parameter 756592 756611 + Identifier 756592 756596 + TypeReference 756597 756611 + Identifier 756597 756611 + TypeReference 756613 756646 + Identifier 756613 756646 + Block 756646 757762 + IfStatement 756648 757697 + PrefixUnaryExpression 756662 756724 + PropertyAccessExpression 756663 756724 + ParenthesizedExpression 756663 756705 + AsExpression 756664 756704 + Identifier 756664 756668 + TypeReference 756671 756704 + Identifier 756671 756704 + Identifier 756706 756724 + Block 756725 757697 + VariableStatement 756727 756768 + VariableDeclarationList 756727 756767 + VariableDeclaration 756746 756767 + Identifier 756746 756753 + PropertyAccessExpression 756755 756767 + Identifier 756755 756760 + Identifier 756761 756767 + VariableStatement 756768 756825 + VariableDeclarationList 756768 756824 + VariableDeclaration 756787 756824 + Identifier 756787 756795 + CallExpression 756797 756824 + Identifier 756797 756816 + Identifier 756817 756823 + ExpressionStatement 756825 756928 + BinaryExpression 756825 756927 + PropertyAccessExpression 756825 756900 + ParenthesizedExpression 756825 756881 + AsExpression 756840 756880 + Identifier 756840 756844 + TypeReference 756847 756880 + Identifier 756847 756880 + Identifier 756882 756900 + EqualsToken 756900 756902 + CallExpression 756902 756927 + Identifier 756902 756918 + Identifier 756919 756926 + ExpressionStatement 756928 757101 + BinaryExpression 756928 757100 + PropertyAccessExpression 756928 757087 + ParenthesizedExpression 756928 757064 + AsExpression 757023 757063 + Identifier 757023 757027 + TypeReference 757030 757063 + Identifier 757030 757063 + Identifier 757065 757087 + EqualsToken 757087 757089 + Identifier 757089 757100 + ExpressionStatement 757101 757199 + BinaryExpression 757101 757198 + PropertyAccessExpression 757101 757185 + ParenthesizedExpression 757101 757157 + AsExpression 757116 757156 + Identifier 757116 757120 + TypeReference 757123 757156 + Identifier 757123 757156 + Identifier 757158 757185 + EqualsToken 757185 757187 + Identifier 757187 757198 + ExpressionStatement 757199 757288 + BinaryExpression 757199 757287 + PropertyAccessExpression 757199 757274 + ParenthesizedExpression 757199 757255 + AsExpression 757214 757254 + Identifier 757214 757218 + TypeReference 757221 757254 + Identifier 757221 757254 + Identifier 757256 757274 + EqualsToken 757274 757276 + Identifier 757276 757287 + ExpressionStatement 757288 757432 + BinaryExpression 757288 757431 + PropertyAccessExpression 757288 757369 + ParenthesizedExpression 757288 757346 + AsExpression 757305 757345 + Identifier 757305 757309 + TypeReference 757312 757345 + Identifier 757312 757345 + Identifier 757347 757369 + EqualsToken 757369 757371 + CallExpression 757371 757431 + Identifier 757371 757393 + CallExpression 757394 757430 + PropertyAccessExpression 757394 757405 + Identifier 757394 757401 + Identifier 757402 757405 + PropertyAccessExpression 757406 757429 + Identifier 757406 757424 + Identifier 757425 757429 + ExpressionStatement 757432 757578 + BinaryExpression 757432 757577 + PropertyAccessExpression 757432 757516 + ParenthesizedExpression 757432 757488 + AsExpression 757447 757487 + Identifier 757447 757451 + TypeReference 757454 757487 + Identifier 757454 757487 + Identifier 757489 757516 + EqualsToken 757516 757518 + CallExpression 757518 757577 + Identifier 757518 757540 + CallExpression 757541 757576 + PropertyAccessExpression 757541 757552 + Identifier 757541 757548 + Identifier 757549 757552 + PropertyAccessExpression 757553 757575 + Identifier 757553 757571 + Identifier 757572 757575 + ExpressionStatement 757578 757686 + BinaryExpression 757578 757685 + PropertyAccessExpression 757578 757653 + ParenthesizedExpression 757578 757634 + AsExpression 757593 757633 + Identifier 757593 757597 + TypeReference 757600 757633 + Identifier 757600 757633 + Identifier 757635 757653 + EqualsToken 757653 757655 + CallExpression 757655 757685 + Identifier 757655 757677 + Identifier 757678 757684 + ReturnStatement 757697 757755 + AsExpression 757713 757754 + Identifier 757713 757718 + TypeReference 757721 757754 + Identifier 757721 757754 + FunctionDeclaration 757762 758541 + Identifier 758241 758260 + Parameter 758261 758282 + Identifier 758261 758265 + TypeReference 758266 758282 + Identifier 758266 758282 + TypePredicate 758284 758306 + Identifier 758284 758289 + TypeReference 758292 758306 + Identifier 758292 758306 + Block 758306 758541 + ReturnStatement 758308 758534 + BinaryExpression 758324 758533 + CallExpression 758324 758348 + Identifier 758324 758342 + Identifier 758343 758347 + AmpersandAmpersandToken 758348 758364 + CallExpression 758364 758533 + Identifier 758364 758391 + ConditionalExpression 758392 758532 + CallExpression 758392 758420 + Identifier 758392 758414 + Identifier 758415 758419 + QuestionToken 758420 758422 + CallExpression 758422 758454 + Identifier 758422 758448 + Identifier 758449 758453 + ColonToken 758454 758456 + CallExpression 758456 758532 + Identifier 758456 758478 + PropertyAccessExpression 758479 758531 + ParenthesizedExpression 758479 758512 + AsExpression 758480 758511 + Identifier 758480 758484 + TypeReference 758487 758511 + Identifier 758487 758511 + Identifier 758513 758531 + FunctionDeclaration 758541 758869 + Identifier 758557 758586 + Parameter 758587 758608 + Identifier 758587 758591 + TypeReference 758592 758608 + Identifier 758592 758608 + TypePredicate 758610 758632 + Identifier 758610 758615 + TypeReference 758618 758632 + Identifier 758618 758632 + Block 758632 758869 + ReturnStatement 758634 758862 + BinaryExpression 758650 758861 + CallExpression 758650 758674 + Identifier 758650 758668 + Identifier 758669 758673 + AmpersandAmpersandToken 758674 758690 + CallExpression 758690 758861 + Identifier 758690 758719 + ConditionalExpression 758720 758860 + CallExpression 758720 758748 + Identifier 758720 758742 + Identifier 758743 758747 + QuestionToken 758748 758750 + CallExpression 758750 758782 + Identifier 758750 758776 + Identifier 758777 758781 + ColonToken 758782 758784 + CallExpression 758784 758860 + Identifier 758784 758806 + PropertyAccessExpression 758807 758859 + ParenthesizedExpression 758807 758840 + AsExpression 758808 758839 + Identifier 758808 758812 + TypeReference 758815 758839 + Identifier 758815 758839 + Identifier 758841 758859 + FunctionDeclaration 758869 759197 + Identifier 758885 758903 + Parameter 758904 758925 + Identifier 758904 758908 + TypeReference 758909 758925 + Identifier 758909 758925 + Block 758926 759197 + IfStatement 758928 759048 + BinaryExpression 758942 759007 + PrefixUnaryExpression 758942 758971 + CallExpression 758943 758971 + Identifier 758943 758965 + Identifier 758966 758970 + AmpersandAmpersandToken 758971 758974 + PrefixUnaryExpression 758974 759007 + CallExpression 758976 759007 + Identifier 758976 759001 + Identifier 759002 759006 + Block 759008 759048 + ReturnStatement 759010 759037 + FalseKeyword 759030 759036 + VariableStatement 759048 759144 + VariableDeclarationList 759048 759143 + VariableDeclaration 759063 759143 + Identifier 759063 759068 + ConditionalExpression 759070 759143 + CallExpression 759070 759099 + Identifier 759070 759093 + Identifier 759094 759098 + QuestionToken 759099 759101 + PropertyAccessExpression 759101 759117 + Identifier 759101 759106 + Identifier 759107 759117 + ColonToken 759117 759119 + PropertyAccessExpression 759119 759143 + Identifier 759119 759124 + Identifier 759125 759143 + ReturnStatement 759144 759190 + CallExpression 759160 759189 + Identifier 759160 759183 + Identifier 759184 759188 + FunctionDeclaration 759197 759338 + Identifier 759213 759242 + Parameter 759243 759253 + Identifier 759243 759247 + TypeReference 759248 759253 + Identifier 759248 759253 + BooleanKeyword 759255 759263 + Block 759263 759338 + ReturnStatement 759265 759331 + CallExpression 759281 759330 + Identifier 759281 759300 + Identifier 759301 759305 + Identifier 759306 759329 + FunctionDeclaration 759338 759610 + Identifier 759354 759370 + Parameter 759371 759385 + Identifier 759371 759375 + TypeReference 759376 759385 + Identifier 759376 759385 + BooleanKeyword 759387 759395 + Block 759395 759610 + ReturnStatement 759397 759603 + BinaryExpression 759413 759602 + BinaryExpression 759413 759533 + BinaryExpression 759413 759465 + CallExpression 759413 759444 + PropertyAccessExpression 759413 759441 + ParenthesizedExpression 759413 759430 + AsExpression 759415 759429 + Identifier 759415 759419 + StringKeyword 759422 759429 + Identifier 759431 759441 + NumericLiteral 759442 759443 + EqualsEqualsEqualsToken 759444 759448 + PropertyAccessExpression 759448 759465 + Identifier 759448 759463 + Identifier 759464 759465 + AmpersandAmpersandToken 759465 759468 + BinaryExpression 759468 759533 + CallExpression 759468 759512 + PropertyAccessExpression 759468 759509 + ParenthesizedExpression 759468 759498 + AsExpression 759483 759497 + Identifier 759483 759487 + StringKeyword 759490 759497 + Identifier 759499 759509 + NumericLiteral 759510 759511 + EqualsEqualsEqualsToken 759512 759516 + PropertyAccessExpression 759516 759533 + Identifier 759516 759531 + Identifier 759532 759533 + AmpersandAmpersandToken 759533 759536 + BinaryExpression 759536 759602 + CallExpression 759536 759580 + PropertyAccessExpression 759536 759577 + ParenthesizedExpression 759536 759566 + AsExpression 759551 759565 + Identifier 759551 759555 + StringKeyword 759558 759565 + Identifier 759567 759577 + NumericLiteral 759578 759579 + EqualsEqualsEqualsToken 759580 759584 + PropertyAccessExpression 759584 759602 + Identifier 759584 759599 + Identifier 759600 759602 + FunctionDeclaration 759610 759937 + Identifier 759718 759738 + Parameter 759739 759756 + Identifier 759739 759743 + TypeReference 759744 759756 + Identifier 759744 759756 + TypePredicate 759758 759826 + Identifier 759758 759763 + UnionType 759766 759826 + TypeReference 759766 759787 + Identifier 759766 759787 + TypeReference 759789 759826 + Identifier 759789 759826 + Block 759826 759937 + VariableStatement 759828 759878 + VariableDeclarationList 759828 759877 + VariableDeclaration 759843 759877 + Identifier 759843 759848 + CallExpression 759850 759877 + Identifier 759850 759871 + Identifier 759872 759876 + ReturnStatement 759878 759930 + BinaryExpression 759894 759929 + PrefixUnaryExpression 759894 759901 + PrefixUnaryExpression 759896 759901 + Identifier 759897 759901 + AmpersandAmpersandToken 759901 759904 + CallExpression 759904 759929 + Identifier 759904 759923 + Identifier 759924 759928 + FunctionDeclaration 759937 760123 + Identifier 759953 759983 + Parameter 759984 760001 + Identifier 759984 759988 + TypeReference 759989 760001 + Identifier 759989 760001 + Block 760002 760123 + VariableStatement 760004 760054 + VariableDeclarationList 760004 760053 + VariableDeclaration 760019 760053 + Identifier 760019 760024 + CallExpression 760026 760053 + Identifier 760026 760047 + Identifier 760048 760052 + ReturnStatement 760054 760116 + BinaryExpression 760070 760115 + PrefixUnaryExpression 760070 760077 + PrefixUnaryExpression 760072 760077 + Identifier 760073 760077 + AmpersandAmpersandToken 760077 760080 + CallExpression 760080 760115 + Identifier 760080 760109 + Identifier 760110 760114 + FunctionDeclaration 760123 760375 + Identifier 760263 760279 + Parameter 760280 760297 + Identifier 760280 760284 + TypeReference 760285 760297 + Identifier 760285 760297 + Block 760298 760375 + ReturnStatement 760300 760368 + BinaryExpression 760316 760367 + PrefixUnaryExpression 760316 760338 + CallExpression 760318 760338 + Identifier 760318 760332 + Identifier 760333 760337 + BarBarToken 760338 760341 + CallExpression 760341 760367 + Identifier 760341 760361 + Identifier 760362 760366 + FunctionDeclaration 760375 760622 + Identifier 760499 760524 + Parameter 760525 760546 + Identifier 760525 760529 + TypeReference 760530 760546 + Identifier 760530 760546 + Block 760547 760622 + ReturnStatement 760549 760615 + BinaryExpression 760565 760614 + CallExpression 760565 760585 + Identifier 760565 760579 + Identifier 760580 760584 + AmpersandAmpersandToken 760585 760588 + PrefixUnaryExpression 760588 760614 + CallExpression 760590 760614 + Identifier 760590 760608 + Identifier 760609 760613 + FunctionDeclaration 760622 761621 + Identifier 760863 760895 + Parameter 760896 760910 + Identifier 760896 760902 + TypeReference 760903 760910 + Identifier 760903 760910 + Parameter 760911 760959 + Identifier 760911 760918 + UnionType 760919 760959 + TypeReference 760919 760940 + Identifier 760919 760940 + TypeReference 760942 760959 + Identifier 760942 760959 + Parameter 760960 760985 + Identifier 760960 760972 + TypeReference 760973 760985 + Identifier 760973 760985 + Block 760986 761621 + ExpressionStatement 760988 761089 + CallExpression 760988 761088 + PropertyAccessExpression 760988 761010 + Identifier 760988 761003 + Identifier 761004 761010 + PrefixUnaryExpression 761011 761054 + PrefixUnaryExpression 761012 761054 + ParenthesizedExpression 761013 761054 + BinaryExpression 761014 761053 + CallExpression 761014 761035 + Identifier 761014 761027 + Identifier 761028 761034 + AmpersandToken 761035 761037 + PropertyAccessExpression 761037 761053 + Identifier 761037 761048 + Identifier 761049 761053 + StringLiteral 761055 761087 + ExpressionStatement 761089 761127 + BinaryExpression 761089 761126 + PropertyAccessExpression 761089 761111 + Identifier 761089 761105 + Identifier 761106 761111 + BarEqualsToken 761111 761114 + Identifier 761114 761126 + ExpressionStatement 761127 761187 + BinaryExpression 761127 761186 + PropertyAccessExpression 761127 761177 + CallExpression 761127 761166 + Identifier 761127 761151 + PropertyAccessExpression 761152 761165 + Identifier 761152 761158 + Identifier 761159 761165 + Identifier 761167 761177 + EqualsToken 761177 761179 + Identifier 761179 761186 + IfStatement 761187 761396 + PrefixUnaryExpression 761201 761221 + PropertyAccessExpression 761202 761221 + Identifier 761202 761208 + Identifier 761209 761221 + Block 761222 761280 + ExpressionStatement 761224 761269 + BinaryExpression 761224 761268 + PropertyAccessExpression 761224 761257 + Identifier 761224 761244 + Identifier 761245 761257 + EqualsToken 761257 761259 + ArrayLiteralExpression 761259 761268 + Identifier 761261 761267 + IfStatement 761294 761396 + PrefixUnaryExpression 761299 761335 + PropertyAccessExpression 761300 761335 + PropertyAccessExpression 761300 761313 + Identifier 761300 761306 + Identifier 761307 761313 + Identifier 761314 761335 + Block 761336 761396 + ExpressionStatement 761338 761385 + CallExpression 761338 761384 + PropertyAccessExpression 761338 761376 + PropertyAccessExpression 761338 761371 + Identifier 761338 761358 + Identifier 761359 761371 + Identifier 761372 761376 + Identifier 761377 761383 + IfStatement 761396 761614 + BinaryExpression 761410 761441 + Identifier 761410 761421 + AmpersandToken 761421 761423 + PropertyAccessExpression 761423 761441 + Identifier 761423 761435 + Identifier 761436 761441 + Block 761442 761614 + IfStatement 761444 761603 + BinaryExpression 761462 761534 + PrefixUnaryExpression 761462 761486 + PropertyAccessExpression 761463 761486 + Identifier 761463 761469 + Identifier 761470 761486 + BarBarToken 761486 761489 + BinaryExpression 761489 761534 + PropertyAccessExpression 761489 761518 + PropertyAccessExpression 761489 761513 + Identifier 761489 761496 + Identifier 761497 761513 + Identifier 761514 761518 + ExclamationEqualsEqualsToken 761518 761522 + PropertyAccessExpression 761522 761534 + Identifier 761522 761529 + Identifier 761530 761534 + Block 761535 761603 + ExpressionStatement 761537 761588 + BinaryExpression 761537 761587 + PropertyAccessExpression 761537 761578 + Identifier 761537 761561 + Identifier 761562 761578 + EqualsToken 761578 761580 + Identifier 761580 761587 + FunctionDeclaration 761621 766074 + Identifier 762984 762999 + Parameter 763000 763014 + Identifier 763000 763006 + TypeReference 763007 763014 + Identifier 763007 763014 + Parameter 763015 763053 + Identifier 763015 763028 + UnionType 763029 763053 + TypeReference 763029 763041 + Identifier 763029 763041 + UndefinedKeyword 763043 763053 + Parameter 763054 763098 + Identifier 763054 763066 + TypeReference 763067 763098 + Identifier 763067 763071 + TypeReference 763072 763080 + Identifier 763072 763080 + TypeReference 763081 763097 + Identifier 763081 763097 + Parameter 763099 763165 + Identifier 763099 763104 + UnionType 763105 763165 + TypeReference 763105 763126 + Identifier 763105 763126 + TypeReference 763128 763165 + Identifier 763128 763165 + Block 763166 766074 + ExpressionStatement 763168 763250 + CallExpression 763168 763249 + PropertyAccessExpression 763168 763190 + Identifier 763168 763183 + Identifier 763184 763190 + PrefixUnaryExpression 763191 763204 + PrefixUnaryExpression 763192 763204 + PropertyAccessExpression 763193 763204 + Identifier 763193 763197 + Identifier 763198 763204 + StringLiteral 763205 763248 + VariableStatement 763250 763293 + VariableDeclarationList 763250 763292 + VariableDeclaration 763265 763292 + Identifier 763265 763271 + CallExpression 763273 763292 + Identifier 763273 763286 + Identifier 763287 763291 + IfStatement 763293 766029 + PrefixUnaryExpression 763307 763328 + PropertyAccessExpression 763308 763328 + Identifier 763308 763313 + Identifier 763314 763328 + Block 763329 766029 + ExpressionStatement 763331 763545 + BinaryExpression 763331 763544 + PropertyAccessExpression 763331 763530 + Identifier 763331 763515 + Identifier 763516 763530 + EqualsToken 763530 763532 + PropertyAccessExpression 763532 763544 + Identifier 763532 763537 + Identifier 763538 763544 + VariableStatement 763545 763625 + VariableDeclarationList 763545 763624 + VariableDeclaration 763564 763624 + Identifier 763564 763573 + ConditionalExpression 763575 763624 + CallExpression 763575 763600 + Identifier 763575 763594 + Identifier 763595 763599 + QuestionToken 763600 763602 + PropertyAccessExpression 763602 763612 + Identifier 763602 763607 + Identifier 763608 763612 + ColonToken 763612 763614 + PropertyAccessExpression 763614 763624 + Identifier 763614 763619 + Identifier 763620 763624 + VariableStatement 763625 763779 + VariableDeclarationList 763625 763778 + VariableDeclaration 763644 763778 + Identifier 763644 763649 + ConditionalExpression 763651 763778 + CallExpression 763651 763687 + Identifier 763651 763677 + Identifier 763678 763686 + QuestionToken 763687 763689 + CallExpression 763689 763740 + Identifier 763689 763711 + PropertyAccessExpression 763712 763739 + Identifier 763712 763720 + Identifier 763721 763739 + ColonToken 763740 763742 + CallExpression 763742 763778 + Identifier 763742 763768 + Identifier 763769 763777 + IfStatement 763779 766018 + CallExpression 763797 763829 + Identifier 763797 763823 + Identifier 763824 763828 + Block 763830 766018 + VariableStatement 763832 763899 + VariableDeclarationList 763832 763898 + VariableDeclaration 763855 763898 + Identifier 763855 763866 + CallExpression 763868 763898 + Identifier 763868 763892 + Identifier 763893 763897 + VariableStatement 763899 763955 + VariableDeclarationList 763899 763954 + VariableDeclaration 763922 763954 + Identifier 763922 763934 + PropertyAccessExpression 763936 763954 + PropertyAccessExpression 763936 763948 + Identifier 763936 763941 + Identifier 763942 763948 + Identifier 763949 763954 + VariableStatement 763955 764145 + VariableDeclarationList 763955 764144 + VariableDeclaration 764103 764144 + Identifier 764103 764114 + CallExpression 764116 764144 + PropertyAccessExpression 764116 764132 + Identifier 764116 764128 + Identifier 764129 764132 + Identifier 764133 764143 + IfStatement 764145 764282 + PrefixUnaryExpression 764167 764178 + Identifier 764168 764178 + ExpressionStatement 764179 764282 + CallExpression 764179 764281 + PropertyAccessExpression 764179 764195 + Identifier 764179 764191 + Identifier 764192 764195 + Identifier 764196 764206 + BinaryExpression 764207 764280 + Identifier 764207 764218 + EqualsToken 764218 764220 + CallExpression 764220 764280 + Identifier 764220 764233 + PropertyAccessExpression 764234 764250 + Identifier 764234 764245 + Identifier 764246 764250 + Identifier 764251 764262 + PropertyAccessExpression 764263 764279 + Identifier 764263 764274 + Identifier 764275 764279 + VariableStatement 764282 764477 + VariableDeclarationList 764282 764476 + VariableDeclaration 764417 764476 + Identifier 764417 764429 + BinaryExpression 764431 764476 + Identifier 764431 764444 + AmpersandAmpersandToken 764444 764447 + CallExpression 764447 764476 + PropertyAccessExpression 764447 764464 + Identifier 764447 764460 + Identifier 764461 764464 + Identifier 764465 764475 + IfStatement 764477 765547 + BinaryExpression 764613 764706 + PrefixUnaryExpression 764613 764648 + ParenthesizedExpression 764614 764648 + BinaryExpression 764615 764647 + PropertyAccessExpression 764615 764627 + Identifier 764615 764621 + Identifier 764622 764627 + AmpersandToken 764627 764629 + PropertyAccessExpression 764629 764647 + Identifier 764629 764641 + Identifier 764642 764647 + AmpersandAmpersandToken 764648 764651 + BinaryExpression 764651 764706 + PropertyAccessExpression 764651 764668 + Identifier 764651 764662 + Identifier 764663 764668 + AmpersandToken 764668 764670 + CallExpression 764670 764706 + Identifier 764670 764693 + Identifier 764694 764705 + Block 764707 765547 + VariableStatement 764709 765023 + VariableDeclarationList 764709 765022 + VariableDeclaration 764904 765022 + Identifier 764904 764917 + ConditionalExpression 764919 765022 + Identifier 764919 764931 + QuestionToken 764931 764933 + CallExpression 764933 764996 + Identifier 764933 764945 + PropertyAccessExpression 764946 764970 + Identifier 764946 764957 + Identifier 764958 764970 + PropertyAccessExpression 764971 764995 + Identifier 764971 764982 + Identifier 764983 764995 + ColonToken 764996 764998 + PropertyAccessExpression 764998 765022 + Identifier 764998 765009 + Identifier 765010 765022 + VariableStatement 765023 765178 + VariableDeclarationList 765023 765177 + VariableDeclaration 765050 765177 + Identifier 765050 765055 + BinaryExpression 765057 765177 + BinaryExpression 765057 765140 + PrefixUnaryExpression 765057 765098 + ParenthesizedExpression 765059 765098 + BinaryExpression 765060 765097 + PropertyAccessExpression 765060 765070 + Identifier 765060 765064 + Identifier 765065 765070 + AmpersandToken 765070 765072 + PropertyAccessExpression 765072 765097 + Identifier 765072 765082 + Identifier 765083 765097 + AmpersandAmpersandToken 765098 765101 + CallExpression 765101 765140 + Identifier 765101 765128 + Identifier 765129 765139 + BarBarToken 765140 765143 + CallExpression 765143 765177 + Identifier 765143 765167 + Identifier 765168 765176 + ExpressionStatement 765178 765347 + CallExpression 765178 765346 + Identifier 765178 765207 + Identifier 765208 765220 + ArrowFunction 765221 765345 + Parameter 765221 765233 + Identifier 765221 765233 + EqualsGreaterThanToken 765233 765236 + CallExpression 765236 765345 + Identifier 765236 765242 + BinaryExpression 765243 765291 + CallExpression 765243 765276 + Identifier 765243 765263 + Identifier 765264 765275 + BarBarToken 765276 765279 + Identifier 765279 765291 + PropertyAccessExpression 765292 765338 + Identifier 765292 765304 + Identifier 765305 765338 + Identifier 765339 765344 + ExpressionStatement 765347 765433 + CallExpression 765347 765432 + Identifier 765347 765374 + BinaryExpression 765375 765391 + Identifier 765375 765383 + BarBarToken 765383 765386 + Identifier 765386 765391 + PropertyAccessExpression 765392 765425 + Identifier 765392 765404 + Identifier 765405 765425 + Identifier 765426 765431 + ExpressionStatement 765433 765528 + BinaryExpression 765433 765527 + Identifier 765433 765465 + EqualsToken 765465 765467 + CallExpression 765467 765527 + Identifier 765467 765480 + PropertyAccessExpression 765481 765497 + Identifier 765481 765492 + Identifier 765493 765497 + Identifier 765498 765509 + PropertyAccessExpression 765510 765526 + Identifier 765510 765521 + Identifier 765522 765526 + ExpressionStatement 765547 765598 + BinaryExpression 765547 765597 + PropertyAccessExpression 765547 765590 + PropertyAccessExpression 765547 765581 + Identifier 765547 765575 + Identifier 765576 765581 + Identifier 765582 765590 + EqualsToken 765590 765592 + Identifier 765592 765597 + ExpressionStatement 765598 765679 + CallExpression 765598 765678 + Identifier 765598 765647 + Identifier 765648 765658 + Identifier 765659 765664 + Identifier 765665 765677 + IfStatement 765679 765944 + PropertyAccessExpression 765701 765718 + Identifier 765701 765711 + Identifier 765712 765718 + Block 765719 765852 + ExpressionStatement 765721 765833 + CallExpression 765721 765832 + PropertyAccessExpression 765721 765755 + Identifier 765721 765748 + Identifier 765749 765755 + BinaryExpression 765756 765784 + PropertyAccessExpression 765756 765773 + Identifier 765756 765766 + Identifier 765767 765773 + EqualsEqualsEqualsToken 765773 765777 + Identifier 765777 765784 + StringLiteral 765785 765831 + Block 765874 765944 + ExpressionStatement 765876 765925 + BinaryExpression 765876 765924 + PropertyAccessExpression 765876 765915 + Identifier 765876 765908 + Identifier 765909 765915 + EqualsToken 765915 765917 + Identifier 765917 765924 + ReturnStatement 765944 766003 + BinaryExpression 765968 766002 + PropertyAccessExpression 765968 765989 + Identifier 765968 765974 + Identifier 765975 765989 + EqualsToken 765989 765991 + Identifier 765991 766002 + ReturnStatement 766029 766067 + PropertyAccessExpression 766045 766066 + Identifier 766045 766051 + Identifier 766052 766066 + FunctionDeclaration 766074 767428 + Identifier 766090 766113 + Parameter 766114 766128 + Identifier 766114 766120 + TypeReference 766121 766128 + Identifier 766121 766128 + Parameter 766129 766167 + Identifier 766129 766142 + UnionType 766143 766167 + TypeReference 766143 766155 + Identifier 766143 766155 + UndefinedKeyword 766157 766167 + Parameter 766168 766212 + Identifier 766168 766180 + TypeReference 766181 766212 + Identifier 766181 766185 + TypeReference 766186 766194 + Identifier 766186 766194 + TypeReference 766195 766211 + Identifier 766195 766211 + Parameter 766213 766279 + Identifier 766213 766218 + UnionType 766219 766279 + TypeReference 766219 766240 + Identifier 766219 766240 + TypeReference 766242 766279 + Identifier 766242 766279 + Block 766280 767428 + VariableStatement 766282 766416 + VariableDeclarationList 766282 766415 + VariableDeclaration 766359 766415 + Identifier 766359 766371 + CallExpression 766373 766415 + PropertyAccessExpression 766373 766389 + Identifier 766373 766385 + Identifier 766386 766389 + PropertyAccessExpression 766390 766414 + Identifier 766390 766408 + Identifier 766409 766414 + IfStatement 766416 766897 + PrefixUnaryExpression 766430 766442 + Identifier 766431 766442 + Block 766443 766897 + VariableStatement 766445 766517 + VariableDeclarationList 766445 766516 + VariableDeclaration 766464 766516 + Identifier 766464 766470 + CallExpression 766472 766516 + PropertyAccessExpression 766472 766490 + Identifier 766472 766485 + QuestionDotToken 766485 766487 + Identifier 766487 766490 + PropertyAccessExpression 766491 766515 + Identifier 766491 766509 + Identifier 766510 766515 + IfStatement 766517 766817 + PrefixUnaryExpression 766535 766541 + Identifier 766536 766541 + Block 766542 766665 + ExpressionStatement 766544 766650 + BinaryExpression 766544 766649 + Identifier 766544 766573 + EqualsToken 766573 766575 + CallExpression 766575 766649 + Identifier 766575 766588 + PropertyAccessExpression 766589 766605 + Identifier 766589 766600 + Identifier 766601 766605 + PropertyAccessExpression 766606 766631 + Identifier 766606 766625 + Identifier 766626 766631 + PropertyAccessExpression 766632 766648 + Identifier 766632 766643 + Identifier 766644 766648 + Block 766683 766817 + ExpressionStatement 766685 766736 + BinaryExpression 766685 766735 + Identifier 766685 766714 + EqualsToken 766714 766716 + CallExpression 766716 766735 + Identifier 766716 766728 + Identifier 766729 766734 + ExpressionStatement 766736 766802 + BinaryExpression 766736 766801 + PropertyAccessExpression 766736 766782 + PropertyAccessExpression 766736 766771 + Identifier 766736 766765 + Identifier 766766 766771 + Identifier 766772 766782 + BarEqualsToken 766782 766785 + PropertyAccessExpression 766785 766801 + Identifier 766785 766796 + Identifier 766797 766801 + ExpressionStatement 766817 766886 + CallExpression 766817 766885 + PropertyAccessExpression 766817 766846 + Identifier 766817 766842 + Identifier 766843 766846 + PropertyAccessExpression 766847 766871 + Identifier 766847 766865 + Identifier 766866 766871 + Identifier 766872 766884 + IfStatement 766897 767421 + PrefixUnaryExpression 767217 767242 + PropertyAccessExpression 767218 767242 + Identifier 767218 767229 + Identifier 767230 767242 + Block 767243 767304 + ExpressionStatement 767245 767293 + BinaryExpression 767245 767292 + PropertyAccessExpression 767245 767283 + Identifier 767245 767270 + Identifier 767271 767283 + EqualsToken 767283 767285 + ArrayLiteralExpression 767285 767292 + Identifier 767287 767291 + IfStatement 767318 767421 + PrefixUnaryExpression 767323 767357 + PropertyAccessExpression 767324 767357 + PropertyAccessExpression 767324 767335 + Identifier 767324 767328 + Identifier 767329 767335 + Identifier 767336 767357 + Block 767358 767421 + ExpressionStatement 767360 767410 + CallExpression 767360 767409 + PropertyAccessExpression 767360 767403 + PropertyAccessExpression 767360 767398 + Identifier 767360 767385 + Identifier 767386 767398 + Identifier 767399 767403 + Identifier 767404 767408 + FunctionDeclaration 767428 771401 + Identifier 767444 767480 + Parameter 767481 767495 + Identifier 767481 767487 + TypeReference 767488 767495 + Identifier 767488 767495 + Parameter 767496 767543 + Identifier 767496 767511 + TypeReference 767512 767543 + Identifier 767512 767543 + TypeReference 767545 767567 + Identifier 767545 767549 + TypeReference 767550 767558 + Identifier 767550 767558 + TypeReference 767559 767566 + Identifier 767559 767566 + Block 767567 771401 + VariableStatement 767569 767616 + VariableDeclarationList 767569 767615 + VariableDeclaration 767584 767615 + Identifier 767584 767590 + CallExpression 767592 767615 + Identifier 767592 767607 + Identifier 767608 767614 + IfStatement 767616 771353 + PrefixUnaryExpression 767630 767652 + ElementAccessExpression 767631 767652 + Identifier 767631 767636 + Identifier 767637 767651 + Block 767653 771353 + VariableStatement 767655 767752 + VariableDeclarationList 767655 767751 + VariableDeclaration 767674 767751 + Identifier 767674 767683 + BinaryExpression 767685 767751 + Identifier 767685 767700 + EqualsEqualsEqualsToken 767700 767704 + PropertyAccessExpression 767704 767751 + Identifier 767704 767735 + Identifier 767736 767751 + VariableStatement 767752 767944 + VariableDeclarationList 767752 767943 + VariableDeclaration 767771 767943 + Identifier 767771 767784 + ConditionalExpression 767786 767943 + PrefixUnaryExpression 767786 767796 + Identifier 767788 767796 + QuestionToken 767796 767798 + PropertyAccessExpression 767798 767813 + Identifier 767798 767805 + Identifier 767806 767813 + ColonToken 767813 767815 + ConditionalExpression 767815 767943 + BinaryExpression 767815 767866 + PropertyAccessExpression 767815 767845 + Identifier 767815 767839 + Identifier 767840 767845 + AmpersandToken 767845 767847 + PropertyAccessExpression 767847 767866 + Identifier 767847 767859 + Identifier 767860 767866 + QuestionToken 767866 767868 + PropertyAccessExpression 767868 767909 + CallExpression 767868 767901 + Identifier 767868 767893 + Identifier 767894 767900 + Identifier 767902 767909 + ColonToken 767909 767911 + PropertyAccessExpression 767911 767943 + Identifier 767911 767935 + Identifier 767936 767943 + ExpressionStatement 767944 768242 + BinaryExpression 767944 768241 + ElementAccessExpression 767944 768210 + Identifier 767944 768194 + Identifier 768195 768209 + EqualsToken 768210 768212 + BinaryExpression 768212 768241 + Identifier 768212 768225 + BarBarToken 768225 768228 + Identifier 768228 768241 + VariableStatement 768242 768398 + VariableDeclarationList 768242 768397 + VariableDeclaration 768329 768397 + Identifier 768329 768341 + AsExpression 768343 768397 + CallExpression 768343 768363 + Identifier 768343 768361 + TypeReference 768366 768397 + Identifier 768366 768370 + TypeReference 768371 768379 + Identifier 768371 768379 + TypeReference 768380 768396 + Identifier 768380 768396 + ForOfStatement 768398 769239 + VariableDeclarationList 768417 768427 + VariableDeclaration 768422 768427 + Identifier 768422 768427 + BinaryExpression 768430 768464 + PropertyAccessExpression 768430 768450 + Identifier 768430 768437 + Identifier 768438 768450 + BarBarToken 768450 768453 + Identifier 768453 768464 + Block 768465 769239 + VariableStatement 768467 768531 + VariableDeclarationList 768467 768530 + VariableDeclaration 768490 768530 + Identifier 768490 768498 + CallExpression 768500 768530 + Identifier 768500 768524 + Identifier 768525 768529 + IfStatement 768531 769224 + Identifier 768553 768560 + Block 768561 769224 + ForOfStatement 768563 769205 + VariableDeclarationList 768590 768602 + VariableDeclaration 768595 768602 + Identifier 768595 768602 + Identifier 768605 768613 + Block 768614 769205 + IfStatement 768616 769182 + BinaryExpression 768646 768684 + Identifier 768646 768654 + EqualsEqualsEqualsToken 768654 768658 + CallExpression 768658 768684 + Identifier 768658 768676 + Identifier 768677 768683 + Block 768685 769182 + IfStatement 768687 769155 + CallExpression 768721 768748 + Identifier 768721 768740 + Identifier 768741 768747 + Block 768749 768874 + ExpressionStatement 768751 768843 + CallExpression 768751 768842 + Identifier 768751 768799 + Identifier 768800 768806 + Identifier 768807 768820 + Identifier 768821 768833 + Identifier 768834 768841 + IfStatement 768908 769155 + CallExpression 768913 768950 + Identifier 768913 768942 + Identifier 768943 768949 + Block 768951 769155 + ExpressionStatement 768953 769124 + CallExpression 768953 769123 + Identifier 768953 769009 + Identifier 769010 769016 + Identifier 769017 769030 + Identifier 769031 769043 + AsExpression 769044 769122 + AsExpression 769044 769059 + Identifier 769044 769051 + TypeReference 769054 769059 + Identifier 769054 769059 + UnionType 769062 769122 + TypeReference 769062 769083 + Identifier 769062 769083 + TypeReference 769085 769122 + Identifier 769085 769122 + VariableStatement 769239 769352 + VariableDeclarationList 769239 769351 + VariableDeclaration 769258 769351 + Identifier 769258 769270 + PropertyAccessExpression 769272 769351 + CallExpression 769272 769322 + Identifier 769272 769314 + Identifier 769315 769321 + Identifier 769323 769351 + IfStatement 769352 770392 + Identifier 769372 769383 + Block 769384 770392 + VariableStatement 769386 769450 + VariableDeclarationList 769386 769449 + VariableDeclaration 769409 769449 + Identifier 769409 769415 + CallExpression 769417 769449 + Identifier 769417 769427 + CallExpression 769428 769448 + PropertyAccessExpression 769428 769446 + Identifier 769428 769439 + Identifier 769440 769446 + ForOfStatement 769450 770377 + VariableDeclarationList 769473 769485 + VariableDeclaration 769478 769485 + Identifier 769478 769485 + Identifier 769488 769494 + Block 769495 770377 + VariableStatement 769497 769616 + VariableDeclarationList 769497 769615 + VariableDeclaration 769524 769615 + Identifier 769524 769539 + CallExpression 769541 769615 + Identifier 769541 769570 + AsExpression 769571 769614 + Identifier 769571 769577 + UnionType 769580 769614 + TypeReference 769580 769597 + Identifier 769580 769597 + TypeReference 769599 769614 + Identifier 769599 769614 + VariableStatement 769616 770024 + VariableDeclarationList 769616 770023 + VariableDeclaration 769643 770023 + Identifier 769643 769660 + BinaryExpression 769662 770023 + BinaryExpression 769662 769940 + BinaryExpression 769662 769837 + BinaryExpression 769662 769725 + Identifier 769662 769677 + EqualsEqualsEqualsToken 769677 769681 + PropertyAccessExpression 769681 769725 + Identifier 769681 769707 + Identifier 769708 769725 + BarBarToken 769725 769753 + BinaryExpression 769753 769837 + CallExpression 769753 769780 + Identifier 769753 769772 + Identifier 769773 769779 + AmpersandAmpersandToken 769780 769783 + CallExpression 769783 769837 + Identifier 769783 769813 + Identifier 769814 769820 + Identifier 769821 769836 + BarBarToken 769837 769865 + BinaryExpression 769865 769940 + Identifier 769865 769880 + EqualsEqualsEqualsToken 769880 769884 + PropertyAccessExpression 769884 769940 + Identifier 769884 769910 + Identifier 769911 769940 + BarBarToken 769940 769968 + BinaryExpression 769968 770023 + Identifier 769968 769983 + EqualsEqualsEqualsToken 769983 769987 + PropertyAccessExpression 769987 770023 + Identifier 769987 770013 + Identifier 770014 770023 + IfStatement 770024 770358 + BinaryExpression 770127 770157 + Identifier 770127 770135 + EqualsEqualsEqualsToken 770135 770139 + PrefixUnaryExpression 770139 770157 + Identifier 770141 770157 + Block 770158 770358 + IfStatement 770160 770335 + CallExpression 770190 770217 + Identifier 770190 770209 + Identifier 770210 770216 + Block 770218 770335 + ExpressionStatement 770220 770308 + CallExpression 770220 770307 + Identifier 770220 770264 + Identifier 770265 770271 + Identifier 770272 770285 + Identifier 770286 770298 + Identifier 770299 770306 + VariableStatement 770392 770470 + VariableDeclarationList 770392 770469 + VariableDeclaration 770411 770469 + Identifier 770411 770420 + CallExpression 770422 770469 + Identifier 770422 770442 + Identifier 770443 770455 + Identifier 770456 770468 + IfStatement 770470 771279 + BinaryExpression 770488 770572 + BinaryExpression 770488 770549 + BinaryExpression 770488 770524 + PropertyAccessExpression 770488 770500 + Identifier 770488 770494 + Identifier 770495 770500 + AmpersandToken 770500 770502 + PropertyAccessExpression 770502 770524 + Identifier 770502 770514 + Identifier 770515 770524 + AmpersandAmpersandToken 770524 770527 + PropertyAccessExpression 770527 770549 + Identifier 770527 770533 + Identifier 770534 770549 + AmpersandAmpersandToken 770549 770552 + PropertyAccessExpression 770552 770572 + Identifier 770552 770559 + Identifier 770560 770572 + Block 770573 771279 + ForOfStatement 770575 771264 + VariableDeclarationList 770598 770608 + VariableDeclaration 770603 770608 + Identifier 770603 770608 + PropertyAccessExpression 770611 770631 + Identifier 770611 770618 + Identifier 770619 770631 + Block 770632 771264 + VariableStatement 770634 770717 + VariableDeclarationList 770634 770716 + VariableDeclaration 770661 770716 + Identifier 770661 770670 + ElementAccessExpression 770672 770716 + CallExpression 770672 770700 + Identifier 770672 770687 + PropertyAccessExpression 770688 770699 + Identifier 770688 770692 + Identifier 770693 770699 + Identifier 770701 770715 + IfStatement 770717 770859 + PrefixUnaryExpression 770743 770752 + Identifier 770744 770752 + Block 770753 770859 + ExpressionStatement 770755 770801 + BinaryExpression 770755 770800 + Identifier 770755 770789 + EqualsToken 770789 770791 + Identifier 770791 770800 + ContinueStatement 770801 770836 + IfStatement 770859 770905 + PrefixUnaryExpression 770885 770894 + Identifier 770886 770894 + ContinueStatement 770895 770905 + ExpressionStatement 770905 771245 + CallExpression 770905 771244 + PropertyAccessExpression 770905 770943 + Identifier 770905 770935 + Identifier 770936 770943 + ArrowFunction 770944 771243 + Parameter 770945 770946 + Identifier 770945 770946 + Parameter 770947 770952 + Identifier 770947 770952 + EqualsGreaterThanToken 770953 770956 + Block 770956 771243 + VariableStatement 770958 771021 + VariableDeclarationList 770958 771020 + VariableDeclaration 770989 771020 + Identifier 770989 770998 + CallExpression 771000 771020 + PropertyAccessExpression 771000 771014 + NonNullExpression 771000 771010 + Identifier 771000 771009 + Identifier 771011 771014 + Identifier 771015 771019 + IfStatement 771021 771220 + PrefixUnaryExpression 771051 771060 + Identifier 771052 771060 + ExpressionStatement 771061 771085 + CallExpression 771061 771084 + PropertyAccessExpression 771061 771075 + NonNullExpression 771061 771071 + Identifier 771061 771070 + Identifier 771072 771075 + Identifier 771076 771080 + Identifier 771081 771083 + IfStatement 771115 771220 + BinaryExpression 771120 771134 + Identifier 771120 771128 + EqualsEqualsEqualsToken 771128 771132 + Identifier 771132 771134 + ReturnStatement 771135 771143 + ExpressionStatement 771173 771220 + CallExpression 771173 771219 + PropertyAccessExpression 771173 771187 + NonNullExpression 771173 771183 + Identifier 771173 771182 + Identifier 771184 771187 + Identifier 771188 771192 + CallExpression 771193 771218 + Identifier 771193 771205 + Identifier 771206 771214 + Identifier 771215 771217 + ExpressionStatement 771279 771342 + BinaryExpression 771279 771341 + ElementAccessExpression 771279 771314 + Identifier 771279 771298 + Identifier 771299 771313 + EqualsToken 771314 771316 + BinaryExpression 771316 771341 + Identifier 771316 771325 + BarBarToken 771325 771328 + Identifier 771328 771341 + ReturnStatement 771353 771394 + ElementAccessExpression 771371 771393 + Identifier 771371 771377 + Identifier 771378 771392 + FunctionDeclaration 771401 771860 + Identifier 771598 771617 + Parameter 771618 771632 + Identifier 771618 771624 + TypeReference 771625 771632 + Identifier 771625 771632 + Block 771633 771860 + ReturnStatement 771635 771853 + ConditionalExpression 771651 771852 + BinaryExpression 771651 771699 + PropertyAccessExpression 771651 771664 + Identifier 771651 771658 + Identifier 771659 771664 + AmpersandToken 771664 771666 + PropertyAccessExpression 771666 771699 + Identifier 771666 771678 + Identifier 771679 771699 + QuestionToken 771699 771714 + CallExpression 771714 771806 + Identifier 771714 771750 + Identifier 771751 771757 + PropertyAccessExpression 771758 771805 + Identifier 771758 771789 + Identifier 771790 771805 + ColonToken 771806 771821 + BinaryExpression 771821 771852 + PropertyAccessExpression 771821 771836 + Identifier 771821 771828 + Identifier 771829 771836 + BarBarToken 771836 771839 + Identifier 771839 771852 + FunctionDeclaration 771860 772897 + Identifier 772089 772108 + Parameter 772109 772123 + Identifier 772109 772115 + TypeReference 772116 772123 + Identifier 772116 772123 + TypeReference 772125 772132 + Identifier 772125 772132 + Block 772132 772897 + IfStatement 772134 772866 + BinaryExpression 772148 772240 + BinaryExpression 772148 772186 + PropertyAccessExpression 772148 772160 + Identifier 772148 772154 + Identifier 772155 772160 + AmpersandToken 772160 772162 + PropertyAccessExpression 772162 772186 + Identifier 772162 772174 + Identifier 772175 772186 + AmpersandAmpersandToken 772186 772189 + BinaryExpression 772189 772240 + PropertyAccessExpression 772189 772208 + Identifier 772189 772196 + Identifier 772197 772208 + EqualsEqualsEqualsToken 772208 772212 + PropertyAccessExpression 772212 772240 + Identifier 772212 772231 + Identifier 772232 772240 + Block 772241 772866 + VariableStatement 772243 772294 + VariableDeclarationList 772243 772293 + VariableDeclaration 772262 772293 + Identifier 772262 772268 + CallExpression 772270 772293 + Identifier 772270 772285 + Identifier 772286 772292 + IfStatement 772294 772786 + BinaryExpression 772312 772379 + PrefixUnaryExpression 772312 772329 + PropertyAccessExpression 772313 772329 + Identifier 772313 772318 + Identifier 772319 772329 + AmpersandAmpersandToken 772329 772332 + CallExpression 772332 772379 + Identifier 772332 772337 + PropertyAccessExpression 772338 772357 + Identifier 772338 772344 + Identifier 772345 772357 + Identifier 772358 772378 + Block 772380 772786 + VariableStatement 772382 772542 + VariableDeclarationList 772382 772541 + VariableDeclaration 772500 772541 + Identifier 772500 772507 + NonNullExpression 772509 772541 + CallExpression 772509 772540 + Identifier 772509 772525 + PropertyAccessExpression 772526 772539 + Identifier 772526 772532 + Identifier 772533 772539 + IfStatement 772542 772771 + CallExpression 772564 772608 + Identifier 772564 772568 + PropertyAccessExpression 772569 772588 + Identifier 772569 772575 + Identifier 772576 772588 + Identifier 772589 772607 + Block 772609 772679 + ExpressionStatement 772611 772660 + CallExpression 772611 772659 + Identifier 772611 772651 + Identifier 772652 772658 + Block 772701 772771 + ExpressionStatement 772703 772752 + CallExpression 772703 772751 + Identifier 772703 772743 + Identifier 772744 772750 + ReturnStatement 772786 772855 + BinaryExpression 772806 772854 + PropertyAccessExpression 772806 772823 + Identifier 772806 772812 + Identifier 772813 772823 + BarBarToken 772823 772826 + ParenthesizedExpression 772826 772854 + BinaryExpression 772828 772853 + PropertyAccessExpression 772828 772844 + Identifier 772828 772833 + Identifier 772834 772844 + EqualsToken 772844 772846 + Identifier 772846 772853 + ReturnStatement 772866 772890 + Identifier 772882 772889 + FunctionDeclaration 772897 773767 + Identifier 772913 772937 + Parameter 772938 772948 + Identifier 772938 772942 + TypeReference 772943 772948 + Identifier 772943 772948 + Parameter 772949 772969 + Identifier 772949 772962 + QuestionToken 772962 772963 + TypeReference 772964 772969 + Identifier 772964 772969 + Parameter 772970 772997 + Identifier 772970 772987 + QuestionToken 772987 772988 + BooleanKeyword 772989 772997 + TypeReference 772999 773004 + Identifier 772999 773004 + Block 773004 773767 + IfStatement 773006 773695 + BinaryExpression 773020 773064 + CallExpression 773020 773040 + Identifier 773020 773034 + Identifier 773035 773039 + AmpersandToken 773040 773042 + PropertyAccessExpression 773042 773064 + Identifier 773042 773054 + Identifier 773055 773064 + Block 773065 773392 + VariableStatement 773067 773127 + VariableDeclarationList 773067 773126 + VariableDeclaration 773086 773126 + Identifier 773086 773093 + PropertyAccessExpression 773095 773126 + ParenthesizedExpression 773095 773119 + AsExpression 773097 773118 + Identifier 773097 773101 + TypeReference 773104 773118 + Identifier 773104 773118 + Identifier 773120 773126 + VariableStatement 773127 773203 + VariableDeclarationList 773127 773202 + VariableDeclaration 773146 773202 + Identifier 773146 773160 + CallExpression 773162 773202 + Identifier 773162 773179 + AsExpression 773180 773201 + Identifier 773180 773184 + TypeReference 773187 773201 + Identifier 773187 773201 + ReturnStatement 773203 773381 + ConditionalExpression 773223 773380 + BinaryExpression 773223 773279 + CallExpression 773223 773253 + Identifier 773223 773230 + PropertyAccessExpression 773231 773252 + Identifier 773231 773237 + Identifier 773238 773252 + EqualsEqualsEqualsToken 773253 773257 + CallExpression 773257 773279 + Identifier 773257 773264 + Identifier 773265 773278 + QuestionToken 773279 773281 + CallExpression 773281 773373 + Identifier 773281 773301 + Identifier 773302 773308 + CallExpression 773309 773372 + Identifier 773309 773321 + Identifier 773322 773335 + ArrayLiteralExpression 773336 773371 + BinaryExpression 773338 773370 + Identifier 773338 773350 + BarBarToken 773350 773353 + NonNullExpression 773353 773370 + PropertyAccessExpression 773353 773369 + Identifier 773353 773360 + Identifier 773361 773369 + ColonToken 773373 773375 + Identifier 773375 773380 + IfStatement 773406 773695 + BinaryExpression 773411 773446 + PropertyAccessExpression 773411 773421 + Identifier 773411 773415 + Identifier 773416 773421 + AmpersandToken 773421 773423 + PropertyAccessExpression 773423 773446 + Identifier 773423 773433 + Identifier 773434 773446 + Block 773447 773695 + VariableStatement 773449 773584 + VariableDeclarationList 773449 773583 + VariableDeclaration 773468 773583 + Identifier 773468 773474 + CallExpression 773476 773583 + Identifier 773476 773484 + PropertyAccessExpression 773485 773517 + ParenthesizedExpression 773485 773511 + AsExpression 773486 773510 + Identifier 773486 773490 + TypeReference 773493 773510 + Identifier 773493 773510 + Identifier 773512 773517 + ArrowFunction 773518 773582 + Parameter 773518 773520 + Identifier 773518 773520 + EqualsGreaterThanToken 773520 773523 + CallExpression 773523 773582 + Identifier 773523 773547 + Identifier 773548 773549 + Identifier 773550 773563 + Identifier 773564 773581 + ReturnStatement 773584 773684 + ConditionalExpression 773604 773683 + BinaryExpression 773604 773647 + Identifier 773604 773610 + ExclamationEqualsEqualsToken 773610 773614 + PropertyAccessExpression 773614 773647 + ParenthesizedExpression 773614 773641 + AsExpression 773616 773640 + Identifier 773616 773620 + TypeReference 773623 773640 + Identifier 773623 773640 + Identifier 773642 773647 + QuestionToken 773647 773649 + CallExpression 773649 773676 + Identifier 773649 773669 + Identifier 773670 773675 + ColonToken 773676 773678 + Identifier 773678 773683 + ReturnStatement 773695 773760 + ConditionalExpression 773711 773759 + Identifier 773711 773728 + QuestionToken 773728 773730 + CallExpression 773730 773752 + Identifier 773730 773746 + Identifier 773747 773751 + ColonToken 773752 773754 + Identifier 773754 773759 + FunctionDeclaration 773767 776804 + Identifier 773783 773808 + Parameter 773809 773825 + Identifier 773809 773813 + TypeReference 773814 773825 + Identifier 773814 773825 + Parameter 773826 773867 + Identifier 773826 773833 + TypeReference 773834 773867 + Identifier 773834 773867 + Parameter 773868 773909 + Identifier 773868 773883 + TypeOperator 773884 773909 + ArrayType 773893 773909 + TypeReference 773893 773907 + Identifier 773893 773907 + Parameter 773910 773941 + Identifier 773910 773924 + TypeOperator 773925 773941 + ArrayType 773934 773941 + TypeReference 773934 773939 + Identifier 773934 773939 + Block 773942 776804 + VariableStatement 773944 773989 + VariableDeclarationList 773944 773988 + VariableDeclaration 773957 773988 + Identifier 773957 773964 + UnionType 773965 773988 + TypeReference 773965 773976 + Identifier 773965 773976 + UndefinedKeyword 773978 773988 + VariableStatement 773989 774024 + VariableDeclarationList 773989 774023 + VariableDeclaration 774002 774023 + Identifier 774002 774010 + TypeReference 774011 774023 + Identifier 774011 774023 + VariableStatement 774024 774075 + VariableDeclarationList 774024 774074 + VariableDeclaration 774037 774074 + Identifier 774037 774052 + TypeOperator 774053 774074 + ArrayType 774062 774074 + TypeReference 774062 774072 + Identifier 774062 774072 + VariableStatement 774075 774131 + VariableDeclarationList 774075 774130 + VariableDeclaration 774088 774130 + Identifier 774088 774108 + TypeOperator 774109 774130 + ArrayType 774118 774130 + TypeReference 774118 774128 + Identifier 774118 774128 + VariableStatement 774131 774178 + VariableDeclarationList 774131 774177 + VariableDeclaration 774144 774177 + Identifier 774144 774155 + TypeOperator 774156 774177 + ArrayType 774165 774177 + TypeReference 774165 774175 + Identifier 774165 774175 + IfStatement 774178 775094 + CallExpression 774192 774260 + Identifier 774192 774203 + Identifier 774204 774218 + Identifier 774219 774233 + NumericLiteral 774234 774236 + PropertyAccessExpression 774237 774259 + Identifier 774237 774252 + Identifier 774253 774259 + Block 774261 774580 + ExpressionStatement 774263 774384 + BinaryExpression 774263 774383 + Identifier 774263 774284 + EqualsToken 774284 774286 + ConditionalExpression 774286 774383 + PropertyAccessExpression 774286 774300 + Identifier 774286 774293 + Identifier 774294 774300 + QuestionToken 774300 774302 + CallExpression 774302 774336 + Identifier 774302 774321 + PropertyAccessExpression 774322 774335 + Identifier 774322 774328 + Identifier 774329 774335 + ColonToken 774336 774338 + CallExpression 774338 774383 + Identifier 774338 774356 + PropertyAccessExpression 774357 774382 + Identifier 774357 774363 + Identifier 774364 774382 + ExpressionStatement 774384 774445 + BinaryExpression 774384 774444 + Identifier 774384 774412 + EqualsToken 774412 774414 + PropertyAccessExpression 774414 774444 + Identifier 774414 774421 + Identifier 774422 774444 + ExpressionStatement 774445 774516 + BinaryExpression 774445 774515 + Identifier 774445 774478 + EqualsToken 774478 774480 + PropertyAccessExpression 774480 774515 + Identifier 774480 774487 + Identifier 774488 774515 + ExpressionStatement 774516 774569 + BinaryExpression 774516 774568 + Identifier 774516 774540 + EqualsToken 774540 774542 + PropertyAccessExpression 774542 774568 + Identifier 774542 774549 + Identifier 774550 774568 + Block 774594 775094 + ExpressionStatement 774596 774667 + BinaryExpression 774596 774666 + Identifier 774596 774616 + EqualsToken 774616 774618 + CallExpression 774618 774666 + Identifier 774618 774635 + Identifier 774636 774650 + Identifier 774651 774665 + ExpressionStatement 774667 774805 + BinaryExpression 774667 774804 + Identifier 774667 774688 + EqualsToken 774688 774690 + CallExpression 774690 774804 + Identifier 774690 774720 + PropertyAccessExpression 774721 774746 + Identifier 774721 774727 + Identifier 774728 774746 + Identifier 774747 774754 + BinaryExpression 774755 774803 + PropertyAccessExpression 774755 774797 + Identifier 774755 774790 + Identifier 774791 774797 + EqualsEqualsEqualsToken 774797 774801 + NumericLiteral 774801 774803 + ExpressionStatement 774805 774897 + BinaryExpression 774805 774896 + Identifier 774805 774833 + EqualsToken 774833 774835 + CallExpression 774835 774896 + Identifier 774835 774857 + PropertyAccessExpression 774858 774887 + Identifier 774858 774864 + Identifier 774865 774887 + Identifier 774888 774895 + ExpressionStatement 774897 774999 + BinaryExpression 774897 774998 + Identifier 774897 774930 + EqualsToken 774930 774932 + CallExpression 774932 774998 + Identifier 774932 774954 + PropertyAccessExpression 774955 774989 + Identifier 774955 774961 + Identifier 774962 774989 + Identifier 774990 774997 + ExpressionStatement 774999 775083 + BinaryExpression 774999 775082 + Identifier 774999 775023 + EqualsToken 775023 775025 + CallExpression 775025 775082 + Identifier 775025 775047 + PropertyAccessExpression 775048 775073 + Identifier 775048 775054 + Identifier 775055 775073 + Identifier 775074 775081 + VariableStatement 775094 775143 + VariableDeclarationList 775094 775142 + VariableDeclaration 775109 775142 + Identifier 775109 775119 + CallExpression 775121 775142 + Identifier 775121 775134 + Identifier 775135 775141 + IfStatement 775143 776698 + PropertyAccessExpression 775157 775173 + Identifier 775157 775166 + Identifier 775167 775173 + Block 775174 776698 + IfStatement 775176 775669 + BinaryExpression 775194 775256 + PropertyAccessExpression 775194 775207 + Identifier 775194 775200 + Identifier 775201 775207 + AmpersandAmpersandToken 775207 775210 + BinaryExpression 775210 775256 + Identifier 775210 775218 + EqualsEqualsEqualsToken 775218 775222 + CallExpression 775222 775256 + Identifier 775222 775241 + PropertyAccessExpression 775242 775255 + Identifier 775242 775248 + Identifier 775249 775255 + Block 775257 775669 + VariableStatement 775259 775342 + VariableDeclarationList 775259 775341 + VariableDeclaration 775282 775341 + Identifier 775282 775294 + CallExpression 775296 775341 + Identifier 775296 775314 + PropertyAccessExpression 775315 775340 + Identifier 775315 775321 + Identifier 775322 775340 + VariableStatement 775342 775482 + VariableDeclarationList 775342 775481 + VariableDeclaration 775437 775481 + Identifier 775437 775449 + CallExpression 775451 775481 + Identifier 775451 775466 + PropertyAccessExpression 775467 775480 + Identifier 775467 775473 + Identifier 775474 775480 + IfStatement 775482 775614 + Identifier 775504 775515 + Block 775516 775614 + ExpressionStatement 775518 775595 + CallExpression 775518 775594 + PropertyAccessExpression 775518 775555 + Identifier 775518 775551 + Identifier 775552 775555 + PropertyAccessExpression 775556 775580 + Identifier 775556 775574 + Identifier 775575 775580 + Identifier 775581 775593 + ExpressionStatement 775614 775654 + BinaryExpression 775614 775653 + Identifier 775614 775639 + EqualsToken 775639 775641 + Identifier 775641 775653 + ExpressionStatement 775669 775772 + CallExpression 775669 775771 + Identifier 775669 775707 + Identifier 775708 775712 + Identifier 775713 775721 + Identifier 775722 775737 + Identifier 775738 775758 + Identifier 775759 775770 + VariableStatement 775772 775838 + VariableDeclarationList 775772 775837 + VariableDeclaration 775791 775837 + Identifier 775791 775804 + CallExpression 775806 775837 + Identifier 775806 775822 + Identifier 775823 775836 + ForOfStatement 775838 776687 + VariableDeclarationList 775857 775871 + VariableDeclaration 775862 775871 + Identifier 775862 775871 + Identifier 775874 775884 + Block 775885 776687 + VariableStatement 775887 776033 + VariableDeclarationList 775887 776032 + VariableDeclaration 775910 776032 + Identifier 775910 775931 + ConditionalExpression 775933 776032 + Identifier 775933 775946 + QuestionToken 775946 775948 + CallExpression 775948 776021 + Identifier 775948 775972 + CallExpression 775973 776006 + Identifier 775973 775988 + Identifier 775989 775997 + Identifier 775998 776005 + Identifier 776007 776020 + ColonToken 776021 776023 + Identifier 776023 776032 + ExpressionStatement 776033 776123 + CallExpression 776033 776122 + Identifier 776033 776070 + Identifier 776071 776078 + CallExpression 776079 776121 + Identifier 776079 776099 + Identifier 776100 776120 + ExpressionStatement 776123 776249 + BinaryExpression 776123 776248 + Identifier 776123 776155 + EqualsToken 776155 776157 + CallExpression 776157 776248 + Identifier 776157 776169 + Identifier 776170 776184 + CallExpression 776185 776247 + Identifier 776185 776205 + Identifier 776206 776226 + PropertyAccessExpression 776227 776246 + Identifier 776227 776241 + Identifier 776242 776246 + ExpressionStatement 776249 776390 + BinaryExpression 776249 776389 + Identifier 776249 776286 + EqualsToken 776286 776288 + CallExpression 776288 776389 + Identifier 776288 776300 + Identifier 776301 776320 + CallExpression 776321 776388 + Identifier 776321 776341 + Identifier 776342 776362 + PropertyAccessExpression 776363 776387 + Identifier 776363 776377 + Identifier 776378 776387 + VariableStatement 776390 776538 + VariableDeclarationList 776390 776537 + VariableDeclaration 776413 776537 + Identifier 776413 776433 + ConditionalExpression 776435 776537 + BinaryExpression 776435 776468 + Identifier 776435 776456 + ExclamationEqualsEqualsToken 776456 776460 + Identifier 776460 776468 + QuestionToken 776468 776470 + CallExpression 776470 776512 + Identifier 776470 776490 + Identifier 776491 776511 + ColonToken 776512 776514 + ArrayLiteralExpression 776514 776537 + Identifier 776516 776536 + ExpressionStatement 776538 776672 + BinaryExpression 776538 776671 + Identifier 776538 776566 + EqualsToken 776566 776568 + CallExpression 776568 776671 + Identifier 776568 776580 + Identifier 776581 776591 + CallExpression 776592 776670 + Identifier 776592 776599 + Identifier 776600 776619 + ArrowFunction 776620 776669 + Parameter 776620 776625 + Identifier 776620 776625 + EqualsGreaterThanToken 776625 776628 + PrefixUnaryExpression 776628 776669 + CallExpression 776630 776669 + Identifier 776630 776643 + Identifier 776644 776654 + PropertyAccessExpression 776655 776668 + Identifier 776655 776660 + Identifier 776661 776668 + ExpressionStatement 776698 776797 + CallExpression 776698 776796 + Identifier 776698 776732 + Identifier 776733 776737 + Identifier 776738 776746 + Identifier 776747 776762 + Identifier 776763 776783 + Identifier 776784 776795 + FunctionDeclaration 776804 776982 + Identifier 776820 776851 + Parameter 776852 776871 + Identifier 776852 776856 + TypeReference 776857 776871 + Identifier 776857 776871 + VoidKeyword 776873 776878 + Block 776878 776982 + ExpressionStatement 776880 776975 + CallExpression 776880 776974 + Identifier 776880 776914 + Identifier 776915 776919 + CallExpression 776920 776949 + Identifier 776920 776943 + Identifier 776944 776948 + Identifier 776950 776961 + Identifier 776962 776973 + FunctionDeclaration 776982 777491 + Identifier 776998 777026 + Parameter 777027 777046 + Identifier 777027 777031 + TypeReference 777032 777046 + Identifier 777032 777046 + VoidKeyword 777048 777053 + Block 777053 777491 + VariableStatement 777055 777116 + VariableDeclarationList 777055 777115 + VariableDeclaration 777070 777115 + Identifier 777070 777077 + CallExpression 777079 777115 + Identifier 777079 777102 + PropertyAccessExpression 777103 777114 + Identifier 777103 777107 + Identifier 777108 777114 + VariableStatement 777116 777205 + VariableDeclarationList 777116 777204 + VariableDeclaration 777131 777204 + Identifier 777131 777146 + CallExpression 777148 777204 + Identifier 777148 777160 + NonNullExpression 777161 777183 + PropertyAccessExpression 777161 777182 + Identifier 777161 777167 + Identifier 777168 777182 + ArrayLiteralExpression 777184 777203 + NonNullExpression 777186 777202 + PropertyAccessExpression 777186 777201 + Identifier 777186 777192 + Identifier 777193 777201 + VariableStatement 777205 777260 + VariableDeclarationList 777205 777259 + VariableDeclaration 777220 777259 + Identifier 777220 777234 + CallExpression 777236 777259 + Identifier 777236 777253 + Identifier 777254 777258 + VariableStatement 777260 777398 + VariableDeclarationList 777260 777397 + VariableDeclaration 777275 777397 + Identifier 777275 777295 + ConditionalExpression 777297 777397 + BinaryExpression 777297 777344 + PropertyAccessExpression 777297 777318 + Identifier 777297 777311 + Identifier 777312 777318 + EqualsEqualsEqualsToken 777318 777322 + PropertyAccessExpression 777322 777344 + Identifier 777322 777337 + Identifier 777338 777344 + QuestionToken 777344 777346 + Identifier 777346 777360 + ColonToken 777360 777362 + CallExpression 777362 777397 + Identifier 777362 777374 + Identifier 777375 777388 + ArrayLiteralExpression 777389 777396 + Identifier 777391 777395 + ExpressionStatement 777398 777484 + CallExpression 777398 777483 + Identifier 777398 777432 + Identifier 777433 777437 + Identifier 777438 777445 + Identifier 777446 777461 + Identifier 777462 777482 + FunctionDeclaration 777491 778552 + Identifier 777507 777523 + Parameter 777524 777596 + Identifier 777524 777545 + UnionType 777546 777596 + TypeReference 777546 777567 + Identifier 777546 777567 + TypeReference 777569 777584 + Identifier 777569 777584 + UndefinedKeyword 777586 777596 + Parameter 777597 777659 + Identifier 777597 777621 + UnionType 777622 777659 + TypeOperator 777622 777647 + ArrayType 777631 777647 + TypeReference 777631 777645 + Identifier 777631 777645 + UndefinedKeyword 777649 777659 + Parameter 777660 777703 + Identifier 777660 777683 + UnionType 777684 777703 + TypeReference 777684 777691 + Identifier 777684 777691 + UndefinedKeyword 777693 777703 + Parameter 777704 777743 + Identifier 777704 777724 + TypeOperator 777725 777743 + ArrayType 777734 777743 + TypeReference 777734 777741 + Identifier 777734 777741 + Parameter 777744 777790 + Identifier 777744 777772 + UnionType 777773 777790 + TypeReference 777773 777778 + Identifier 777773 777778 + UndefinedKeyword 777780 777790 + Parameter 777791 777849 + Identifier 777791 777822 + UnionType 777823 777849 + TypeReference 777823 777837 + Identifier 777823 777837 + UndefinedKeyword 777839 777849 + Parameter 777850 777884 + Identifier 777850 777876 + NumberKeyword 777877 777884 + Parameter 777885 777916 + Identifier 777885 777900 + TypeReference 777901 777916 + Identifier 777901 777916 + TypeReference 777925 777935 + Identifier 777925 777935 + Block 777935 778552 + VariableStatement 777937 777989 + VariableDeclarationList 777937 777988 + VariableDeclaration 777952 777988 + Identifier 777952 777956 + NewExpression 777958 777988 + Identifier 777962 777972 + Identifier 777973 777980 + Identifier 777981 777987 + ExpressionStatement 777989 778029 + BinaryExpression 777989 778028 + PropertyAccessExpression 777989 778014 + Identifier 777989 778002 + Identifier 778003 778014 + EqualsToken 778014 778016 + Identifier 778016 778028 + ExpressionStatement 778029 778075 + BinaryExpression 778029 778074 + PropertyAccessExpression 778029 778057 + Identifier 778029 778042 + Identifier 778043 778057 + EqualsToken 778057 778059 + Identifier 778059 778074 + ExpressionStatement 778075 778113 + BinaryExpression 778075 778112 + PropertyAccessExpression 778075 778099 + Identifier 778075 778088 + Identifier 778089 778099 + EqualsToken 778099 778101 + Identifier 778101 778112 + ExpressionStatement 778113 778157 + BinaryExpression 778113 778156 + PropertyAccessExpression 778113 778140 + Identifier 778113 778126 + Identifier 778127 778140 + EqualsToken 778140 778142 + Identifier 778142 778156 + ExpressionStatement 778157 778211 + BinaryExpression 778157 778210 + PropertyAccessExpression 778157 778189 + Identifier 778157 778170 + Identifier 778171 778189 + EqualsToken 778189 778191 + Identifier 778191 778210 + ExpressionStatement 778211 778271 + BinaryExpression 778211 778270 + PropertyAccessExpression 778211 778246 + Identifier 778211 778224 + Identifier 778225 778246 + EqualsToken 778246 778248 + Identifier 778248 778270 + ExpressionStatement 778271 778321 + BinaryExpression 778271 778320 + PropertyAccessExpression 778271 778301 + Identifier 778271 778284 + Identifier 778285 778301 + EqualsToken 778301 778303 + Identifier 778303 778320 + ExpressionStatement 778321 778372 + BinaryExpression 778321 778371 + PropertyAccessExpression 778321 778359 + Identifier 778321 778334 + Identifier 778335 778359 + EqualsToken 778359 778361 + Identifier 778361 778371 + ExpressionStatement 778372 778405 + BinaryExpression 778372 778404 + PropertyAccessExpression 778372 778392 + Identifier 778372 778385 + Identifier 778386 778392 + EqualsToken 778392 778394 + Identifier 778394 778404 + ExpressionStatement 778405 778438 + BinaryExpression 778405 778437 + PropertyAccessExpression 778405 778425 + Identifier 778405 778418 + Identifier 778419 778425 + EqualsToken 778425 778427 + Identifier 778427 778437 + ExpressionStatement 778438 778484 + BinaryExpression 778438 778483 + PropertyAccessExpression 778438 778471 + Identifier 778438 778451 + Identifier 778452 778471 + EqualsToken 778471 778473 + Identifier 778473 778483 + ExpressionStatement 778484 778524 + BinaryExpression 778484 778523 + PropertyAccessExpression 778484 778511 + Identifier 778484 778497 + Identifier 778498 778511 + EqualsToken 778511 778513 + Identifier 778513 778523 + ReturnStatement 778524 778545 + Identifier 778540 778544 + FunctionDeclaration 778552 779082 + Identifier 778568 778583 + Parameter 778584 778598 + Identifier 778584 778587 + TypeReference 778588 778598 + Identifier 778588 778598 + TypeReference 778600 778610 + Identifier 778600 778610 + Block 778610 779082 + VariableStatement 778612 778863 + VariableDeclarationList 778612 778862 + VariableDeclaration 778627 778862 + Identifier 778627 778634 + CallExpression 778636 778862 + Identifier 778636 778652 + PropertyAccessExpression 778653 778668 + Identifier 778653 778656 + Identifier 778657 778668 + PropertyAccessExpression 778669 778688 + Identifier 778669 778673 + Identifier 778674 778688 + PropertyAccessExpression 778689 778707 + Identifier 778689 778693 + Identifier 778694 778707 + PropertyAccessExpression 778708 778723 + Identifier 778708 778712 + Identifier 778713 778723 + Identifier 778724 778757 + Identifier 778758 778794 + PropertyAccessExpression 778795 778816 + Identifier 778795 778799 + Identifier 778800 778816 + BinaryExpression 778817 778861 + PropertyAccessExpression 778817 778827 + Identifier 778817 778821 + Identifier 778822 778827 + AmpersandToken 778827 778829 + PropertyAccessExpression 778829 778861 + Identifier 778829 778844 + Identifier 778845 778861 + ExpressionStatement 778863 778900 + BinaryExpression 778863 778899 + PropertyAccessExpression 778863 778886 + Identifier 778863 778879 + Identifier 778880 778886 + EqualsToken 778886 778888 + PropertyAccessExpression 778888 778899 + Identifier 778888 778892 + Identifier 778893 778899 + ExpressionStatement 778900 778937 + BinaryExpression 778900 778936 + PropertyAccessExpression 778900 778923 + Identifier 778900 778916 + Identifier 778917 778923 + EqualsToken 778923 778925 + PropertyAccessExpression 778925 778936 + Identifier 778925 778929 + Identifier 778930 778936 + ExpressionStatement 778937 779000 + BinaryExpression 778937 778999 + PropertyAccessExpression 778937 778973 + Identifier 778937 778953 + Identifier 778954 778973 + EqualsToken 778973 778975 + PropertyAccessExpression 778975 778999 + Identifier 778975 778979 + Identifier 778980 778999 + ExpressionStatement 779000 779051 + BinaryExpression 779000 779050 + PropertyAccessExpression 779000 779030 + Identifier 779000 779016 + Identifier 779017 779030 + EqualsToken 779030 779032 + PropertyAccessExpression 779032 779050 + Identifier 779032 779036 + Identifier 779037 779050 + ReturnStatement 779051 779075 + Identifier 779067 779074 + FunctionDeclaration 779082 779431 + Identifier 779098 779119 + Parameter 779120 779140 + Identifier 779120 779129 + TypeReference 779130 779140 + Identifier 779130 779140 + Parameter 779141 779170 + Identifier 779141 779157 + ArrayType 779158 779170 + TypeReference 779158 779168 + Identifier 779158 779168 + Block 779171 779431 + VariableStatement 779173 779224 + VariableDeclarationList 779173 779223 + VariableDeclaration 779188 779223 + Identifier 779188 779195 + CallExpression 779197 779223 + Identifier 779197 779212 + Identifier 779213 779222 + ExpressionStatement 779224 779279 + BinaryExpression 779224 779278 + PropertyAccessExpression 779224 779260 + Identifier 779224 779240 + Identifier 779241 779260 + EqualsToken 779260 779262 + Identifier 779262 779278 + ExpressionStatement 779279 779328 + BinaryExpression 779279 779327 + PropertyAccessExpression 779279 779309 + Identifier 779279 779295 + Identifier 779296 779309 + EqualsToken 779309 779311 + PropertyAccessExpression 779311 779327 + Identifier 779311 779321 + Identifier 779322 779327 + ExpressionStatement 779328 779364 + BinaryExpression 779328 779363 + PropertyAccessExpression 779328 779351 + Identifier 779328 779344 + Identifier 779345 779351 + EqualsToken 779351 779353 + Identifier 779353 779363 + ExpressionStatement 779364 779400 + BinaryExpression 779364 779399 + PropertyAccessExpression 779364 779387 + Identifier 779364 779380 + Identifier 779381 779387 + EqualsToken 779387 779389 + Identifier 779389 779399 + ReturnStatement 779400 779424 + Identifier 779416 779423 + FunctionDeclaration 779431 780063 + Identifier 779447 779472 + Parameter 779473 779493 + Identifier 779473 779482 + TypeReference 779483 779493 + Identifier 779483 779493 + Parameter 779494 779525 + Identifier 779494 779509 + TypeReference 779510 779525 + Identifier 779510 779525 + TypeReference 779527 779537 + Identifier 779527 779537 + Block 779537 780063 + IfStatement 779539 779666 + BinaryExpression 779553 779621 + ParenthesizedExpression 779553 779602 + BinaryExpression 779554 779601 + PropertyAccessExpression 779554 779569 + Identifier 779554 779563 + Identifier 779564 779569 + AmpersandToken 779569 779571 + PropertyAccessExpression 779571 779601 + Identifier 779571 779586 + Identifier 779587 779601 + EqualsEqualsEqualsToken 779602 779606 + Identifier 779606 779621 + Block 779622 779666 + ReturnStatement 779624 779655 + Identifier 779644 779654 + IfStatement 779666 779787 + PrefixUnaryExpression 779680 779717 + PropertyAccessExpression 779681 779717 + Identifier 779681 779690 + Identifier 779691 779717 + Block 779718 779787 + ExpressionStatement 779720 779776 + BinaryExpression 779720 779775 + PropertyAccessExpression 779720 779770 + Identifier 779720 779743 + Identifier 779744 779770 + EqualsToken 779770 779772 + ObjectLiteralExpression 779772 779775 + VariableStatement 779787 779880 + VariableDeclarationList 779787 779879 + VariableDeclaration 779802 779879 + Identifier 779802 779806 + ConditionalExpression 779808 779879 + BinaryExpression 779808 779859 + Identifier 779808 779823 + EqualsEqualsEqualsToken 779823 779827 + PropertyAccessExpression 779827 779859 + Identifier 779827 779842 + Identifier 779843 779859 + QuestionToken 779859 779861 + StringLiteral 779861 779869 + ColonToken 779869 779871 + StringLiteral 779871 779879 + ReturnStatement 779880 780056 + BinaryExpression 779896 780055 + ElementAccessExpression 779896 779938 + PropertyAccessExpression 779896 779933 + Identifier 779896 779906 + Identifier 779907 779933 + Identifier 779934 779937 + BarBarToken 779938 779954 + ParenthesizedExpression 779954 780055 + BinaryExpression 779956 780054 + ElementAccessExpression 779956 779997 + PropertyAccessExpression 779956 779992 + Identifier 779956 779965 + Identifier 779966 779992 + Identifier 779993 779996 + EqualsToken 779997 779999 + CallExpression 779999 780054 + Identifier 779999 780027 + Identifier 780028 780037 + Identifier 780038 780053 + FunctionDeclaration 780063 780521 + Identifier 780079 780107 + Parameter 780108 780128 + Identifier 780108 780117 + TypeReference 780118 780128 + Identifier 780118 780128 + Parameter 780129 780160 + Identifier 780129 780144 + TypeReference 780145 780160 + Identifier 780145 780160 + Block 780161 780521 + ExpressionStatement 780163 780398 + CallExpression 780163 780397 + PropertyAccessExpression 780163 780185 + Identifier 780163 780178 + Identifier 780179 780185 + BinaryExpression 780186 780290 + BinaryExpression 780186 780236 + Identifier 780186 780200 + EqualsEqualsEqualsToken 780200 780204 + PropertyAccessExpression 780204 780236 + Identifier 780204 780219 + Identifier 780220 780236 + BarBarToken 780236 780239 + BinaryExpression 780239 780290 + Identifier 780239 780254 + EqualsEqualsEqualsToken 780254 780258 + PropertyAccessExpression 780258 780290 + Identifier 780258 780273 + Identifier 780274 780290 + StringLiteral 780291 780396 + VariableStatement 780398 780449 + VariableDeclarationList 780398 780448 + VariableDeclaration 780413 780448 + Identifier 780413 780420 + CallExpression 780422 780448 + Identifier 780422 780437 + Identifier 780438 780447 + ExpressionStatement 780449 780490 + BinaryExpression 780449 780489 + PropertyAccessExpression 780449 780471 + Identifier 780449 780465 + Identifier 780466 780471 + BarEqualsToken 780471 780474 + Identifier 780474 780489 + ReturnStatement 780490 780514 + Identifier 780506 780513 + FunctionDeclaration 780521 783817 + Identifier 780537 780559 + Parameter 780560 780574 + Identifier 780560 780563 + TypeReference 780564 780574 + Identifier 780564 780574 + Parameter 780575 780604 + Identifier 780575 780594 + QuestionToken 780594 780595 + BooleanKeyword 780596 780604 + TypeOperator 780606 780637 + ArrayType 780615 780637 + ParenthesizedType 780615 780635 + TypeOperator 780617 780634 + ArrayType 780625 780634 + TypeReference 780625 780632 + Identifier 780625 780632 + Block 780637 783817 + IfStatement 780639 781337 + CallExpression 780653 780683 + Identifier 780653 780678 + Identifier 780679 780682 + Block 780684 781337 + VariableStatement 780686 780744 + VariableDeclarationList 780686 780743 + VariableDeclaration 780705 780743 + Identifier 780705 780715 + BinaryExpression 780717 780743 + PropertyAccessExpression 780717 780739 + PropertyAccessExpression 780717 780732 + Identifier 780717 780721 + Identifier 780722 780732 + Identifier 780733 780739 + MinusToken 780739 780741 + NumericLiteral 780741 780743 + VariableStatement 780744 780803 + VariableDeclarationList 780744 780802 + VariableDeclaration 780763 780802 + Identifier 780763 780774 + ElementAccessExpression 780776 780802 + PropertyAccessExpression 780776 780791 + Identifier 780776 780780 + Identifier 780781 780791 + Identifier 780792 780801 + VariableStatement 780803 780862 + VariableDeclarationList 780803 780861 + VariableDeclaration 780822 780861 + Identifier 780822 780831 + CallExpression 780833 780861 + Identifier 780833 780849 + Identifier 780850 780860 + IfStatement 780862 781326 + CallExpression 780880 780901 + Identifier 780880 780891 + Identifier 780892 780900 + Block 780902 781021 + ReturnStatement 780904 781006 + ArrayLiteralExpression 780928 781005 + CallExpression 780930 781004 + Identifier 780930 780971 + Identifier 780972 780980 + Identifier 780981 780991 + Identifier 780992 781003 + IfStatement 781039 781326 + BinaryExpression 781044 781152 + BinaryExpression 781044 781099 + PrefixUnaryExpression 781044 781063 + Identifier 781045 781063 + AmpersandAmpersandToken 781063 781066 + BinaryExpression 781066 781099 + PropertyAccessExpression 781066 781081 + Identifier 781066 781075 + Identifier 781076 781081 + AmpersandToken 781081 781083 + PropertyAccessExpression 781083 781099 + Identifier 781083 781093 + Identifier 781094 781099 + AmpersandAmpersandToken 781099 781102 + CallExpression 781102 781152 + Identifier 781102 781108 + PropertyAccessExpression 781109 781138 + ParenthesizedExpression 781109 781132 + AsExpression 781110 781131 + Identifier 781110 781118 + TypeReference 781121 781131 + Identifier 781121 781131 + Identifier 781133 781138 + Identifier 781139 781151 + Block 781153 781326 + ReturnStatement 781155 781311 + CallExpression 781179 781310 + Identifier 781179 781183 + PropertyAccessExpression 781184 781213 + ParenthesizedExpression 781184 781207 + AsExpression 781185 781206 + Identifier 781185 781193 + TypeReference 781196 781206 + Identifier 781196 781206 + Identifier 781208 781213 + ArrowFunction 781214 781309 + Parameter 781214 781216 + Identifier 781214 781216 + EqualsGreaterThanToken 781216 781219 + CallExpression 781219 781309 + Identifier 781219 781261 + AsExpression 781262 781285 + Identifier 781262 781263 + TypeReference 781266 781285 + Identifier 781266 781285 + Identifier 781286 781296 + Identifier 781297 781308 + ReturnStatement 781337 781371 + ArrayLiteralExpression 781353 781370 + PropertyAccessExpression 781355 781369 + Identifier 781355 781358 + Identifier 781359 781369 + FunctionDeclaration 781371 782602 + Identifier 781391 781433 + Parameter 781434 781462 + Identifier 781434 781442 + TypeReference 781443 781462 + Identifier 781443 781462 + Parameter 781463 781481 + Identifier 781463 781473 + NumberKeyword 781474 781481 + Parameter 781482 781501 + Identifier 781482 781493 + TypeReference 781494 781501 + Identifier 781494 781501 + Block 781502 782602 + VariableStatement 781504 781566 + VariableDeclarationList 781504 781565 + VariableDeclaration 781523 781565 + Identifier 781523 781536 + CallExpression 781538 781565 + Identifier 781538 781555 + Identifier 781556 781564 + VariableStatement 781566 781662 + VariableDeclarationList 781566 781661 + VariableDeclaration 781585 781661 + Identifier 781585 781601 + CallExpression 781603 781661 + Identifier 781603 781639 + Identifier 781640 781648 + Identifier 781649 781660 + VariableStatement 781662 782510 + VariableDeclarationList 781662 782509 + VariableDeclaration 781681 782509 + Identifier 781681 781692 + CallExpression 781694 782509 + Identifier 781694 781698 + Identifier 781699 781711 + ArrowFunction 781712 782508 + Parameter 781714 781715 + Identifier 781714 781715 + Parameter 781716 781718 + Identifier 781716 781718 + EqualsGreaterThanToken 781719 781722 + Block 781722 782508 + VariableStatement 781724 782026 + VariableDeclarationList 781724 782025 + VariableDeclaration 781879 782025 + Identifier 781879 781884 + ConditionalExpression 781886 782025 + BinaryExpression 781886 781924 + Identifier 781886 781902 + AmpersandAmpersandToken 781902 781905 + ElementAccessExpression 781905 781924 + Identifier 781905 781921 + Identifier 781922 781923 + QuestionToken 781924 781926 + ElementAccessExpression 781926 781945 + Identifier 781926 781942 + Identifier 781943 781944 + ColonToken 781945 781947 + CallExpression 781947 782025 + Identifier 781947 781995 + Identifier 781996 781999 + BinaryExpression 782000 782014 + Identifier 782000 782010 + PlusToken 782010 782012 + Identifier 782012 782014 + Identifier 782015 782024 + VariableStatement 782026 782090 + VariableDeclarationList 782026 782089 + VariableDeclaration 782049 782089 + Identifier 782049 782055 + ElementAccessExpression 782057 782089 + PropertyAccessExpression 782057 782086 + PropertyAccessExpression 782057 782073 + Identifier 782057 782066 + Identifier 782067 782073 + Identifier 782074 782086 + Identifier 782087 782088 + VariableStatement 782090 782272 + VariableDeclarationList 782090 782271 + VariableDeclaration 782113 782271 + Identifier 782113 782124 + ConditionalExpression 782126 782271 + BinaryExpression 782126 782156 + Identifier 782126 782132 + AmpersandToken 782132 782134 + PropertyAccessExpression 782134 782156 + Identifier 782134 782147 + Identifier 782148 782156 + QuestionToken 782156 782158 + PropertyAccessExpression 782158 782183 + Identifier 782158 782169 + Identifier 782170 782183 + ColonToken 782183 782185 + ConditionalExpression 782185 782271 + BinaryExpression 782185 782236 + Identifier 782185 782212 + AmpersandToken 782212 782214 + PropertyAccessExpression 782214 782236 + Identifier 782214 782227 + Identifier 782228 782236 + QuestionToken 782236 782238 + PropertyAccessExpression 782238 782267 + Identifier 782238 782249 + Identifier 782250 782267 + ColonToken 782267 782269 + NumericLiteral 782269 782271 + VariableStatement 782272 782372 + VariableDeclarationList 782272 782371 + VariableDeclaration 782295 782371 + Identifier 782295 782302 + CallExpression 782304 782371 + Identifier 782304 782317 + PropertyAccessExpression 782318 782352 + Identifier 782318 782329 + Identifier 782330 782352 + Identifier 782353 782358 + Identifier 782359 782370 + ExpressionStatement 782372 782461 + BinaryExpression 782372 782460 + PropertyAccessExpression 782372 782407 + PropertyAccessExpression 782372 782402 + Identifier 782372 782396 + Identifier 782397 782402 + Identifier 782403 782407 + EqualsToken 782407 782409 + ConditionalExpression 782409 782460 + BinaryExpression 782409 782435 + Identifier 782409 782415 + AmpersandToken 782415 782417 + PropertyAccessExpression 782417 782435 + Identifier 782417 782430 + Identifier 782431 782435 + QuestionToken 782435 782437 + CallExpression 782437 782456 + Identifier 782437 782453 + Identifier 782454 782455 + ColonToken 782456 782458 + Identifier 782458 782460 + ReturnStatement 782461 782493 + Identifier 782485 782492 + ReturnStatement 782510 782591 + CallExpression 782530 782590 + Identifier 782530 782542 + CallExpression 782543 782577 + PropertyAccessExpression 782543 782563 + PropertyAccessExpression 782543 782557 + Identifier 782543 782546 + Identifier 782547 782557 + Identifier 782558 782563 + NumericLiteral 782564 782565 + Identifier 782566 782576 + Identifier 782578 782589 + FunctionDeclaration 782602 783810 + Identifier 782622 782658 + Parameter 782659 782683 + Identifier 782659 782663 + TypeReference 782664 782683 + Identifier 782664 782683 + Parameter 782684 782703 + Identifier 782684 782695 + TypeReference 782696 782703 + Identifier 782696 782703 + Block 782704 783810 + VariableStatement 782706 782883 + VariableDeclarationList 782706 782882 + VariableDeclaration 782725 782882 + Identifier 782725 782731 + CallExpression 782733 782882 + Identifier 782733 782737 + PropertyAccessExpression 782738 782776 + PropertyAccessExpression 782738 782749 + Identifier 782738 782742 + Identifier 782743 782749 + Identifier 782750 782776 + ArrowFunction 782777 782881 + Parameter 782779 782793 + Identifier 782779 782793 + Parameter 782794 782796 + Identifier 782794 782796 + EqualsGreaterThanToken 782797 782800 + CallExpression 782800 782881 + Identifier 782800 782821 + Identifier 782822 782836 + Identifier 782837 782839 + ElementAccessExpression 782840 782868 + PropertyAccessExpression 782840 782865 + PropertyAccessExpression 782840 782852 + Identifier 782840 782845 + Identifier 782846 782852 + Identifier 782853 782865 + Identifier 782866 782867 + Identifier 782869 782880 + IfStatement 782883 783772 + Identifier 782901 782906 + Block 782907 783772 + VariableStatement 782909 782959 + VariableDeclarationList 782909 782958 + VariableDeclaration 782932 782958 + Identifier 782932 782943 + ArrayType 782944 782953 + NumberKeyword 782944 782951 + ArrayLiteralExpression 782955 782958 + VariableStatement 782959 783017 + VariableDeclarationList 782959 783016 + VariableDeclaration 782982 783016 + Identifier 782982 782994 + NewExpression 782996 783016 + Identifier 783000 783004 + TypeReference 783005 783013 + Identifier 783005 783013 + ForStatement 783017 783266 + VariableDeclarationList 783040 783049 + VariableDeclaration 783043 783049 + Identifier 783043 783045 + NumericLiteral 783047 783049 + BinaryExpression 783050 783067 + Identifier 783050 783052 + LessThanToken 783052 783054 + PropertyAccessExpression 783054 783067 + Identifier 783054 783060 + Identifier 783061 783067 + PostfixUnaryExpression 783068 783072 + Identifier 783068 783070 + Block 783073 783266 + VariableStatement 783075 783119 + VariableDeclarationList 783075 783118 + VariableDeclaration 783102 783118 + Identifier 783102 783107 + ElementAccessExpression 783109 783118 + Identifier 783109 783115 + Identifier 783116 783117 + IfStatement 783119 783247 + PrefixUnaryExpression 783145 783176 + CallExpression 783146 783176 + Identifier 783146 783157 + Identifier 783158 783169 + Identifier 783170 783175 + Block 783177 783247 + ExpressionStatement 783179 783224 + CallExpression 783179 783223 + PropertyAccessExpression 783179 783220 + Identifier 783179 783215 + Identifier 783216 783220 + Identifier 783221 783222 + VariableStatement 783266 783329 + VariableDeclarationList 783266 783328 + VariableDeclaration 783289 783328 + Identifier 783289 783298 + NewExpression 783300 783328 + Identifier 783304 783308 + TypeReference 783309 783317 + Identifier 783309 783317 + NumberKeyword 783318 783325 + ForOfStatement 783329 783757 + VariableDeclarationList 783352 783359 + VariableDeclaration 783357 783359 + Identifier 783357 783359 + Identifier 783362 783373 + Block 783374 783757 + VariableStatement 783376 783440 + VariableDeclarationList 783376 783439 + VariableDeclaration 783401 783439 + Identifier 783401 783409 + BinaryExpression 783411 783439 + CallExpression 783411 783434 + PropertyAccessExpression 783411 783424 + Identifier 783411 783420 + Identifier 783421 783424 + ElementAccessExpression 783425 783433 + Identifier 783425 783430 + Identifier 783431 783432 + QuestionQuestionToken 783434 783437 + NumericLiteral 783437 783439 + VariableStatement 783440 783481 + VariableDeclarationList 783440 783480 + VariableDeclaration 783465 783480 + Identifier 783465 783470 + TypeReference 783471 783480 + Identifier 783471 783480 + WhileStatement 783481 783642 + PrefixUnaryExpression 783510 783580 + CallExpression 783511 783580 + Identifier 783511 783522 + Identifier 783523 783534 + BinaryExpression 783535 783579 + Identifier 783535 783540 + EqualsToken 783540 783542 + AsExpression 783542 783579 + TemplateExpression 783542 783567 + TemplateHead 783542 783546 + TemplateSpan 783546 783558 + ElementAccessExpression 783546 783554 + Identifier 783546 783551 + Identifier 783552 783553 + TemplateMiddle 783554 783558 + TemplateSpan 783558 783567 + Identifier 783558 783565 + TemplateTail 783565 783567 + TypeReference 783570 783579 + Identifier 783570 783579 + Block 783581 783642 + ExpressionStatement 783583 783619 + PostfixUnaryExpression 783583 783618 + Identifier 783583 783616 + ExpressionStatement 783642 783680 + BinaryExpression 783642 783679 + ElementAccessExpression 783642 783672 + Identifier 783642 783669 + Identifier 783670 783671 + EqualsToken 783672 783674 + Identifier 783674 783679 + ExpressionStatement 783680 783738 + CallExpression 783680 783737 + PropertyAccessExpression 783680 783714 + Identifier 783680 783710 + Identifier 783711 783714 + ElementAccessExpression 783715 783723 + Identifier 783715 783720 + Identifier 783721 783722 + BinaryExpression 783724 783736 + Identifier 783724 783732 + PlusToken 783732 783734 + NumericLiteral 783734 783736 + ReturnStatement 783772 783799 + Identifier 783792 783798 + FunctionDeclaration 783817 785726 + Identifier 783833 783863 + Parameter 783864 783888 + Identifier 783864 783873 + TypeReference 783874 783888 + Identifier 783874 783888 + ArrayType 783890 783902 + TypeReference 783890 783900 + Identifier 783890 783900 + Block 783902 785726 + VariableStatement 783904 783983 + VariableDeclarationList 783904 783982 + VariableDeclaration 783919 783982 + Identifier 783919 783939 + CallExpression 783941 783982 + Identifier 783941 783971 + Identifier 783972 783981 + VariableStatement 783983 784082 + VariableDeclarationList 783983 784081 + VariableDeclaration 783998 784081 + Identifier 783998 784013 + CallExpression 784015 784081 + Identifier 784015 784035 + Identifier 784036 784055 + PropertyAccessExpression 784056 784080 + Identifier 784056 784070 + Identifier 784071 784080 + VariableStatement 784082 784162 + VariableDeclarationList 784082 784161 + VariableDeclaration 784097 784161 + Identifier 784097 784109 + CallExpression 784111 784161 + Identifier 784111 784143 + PropertyAccessExpression 784144 784160 + Identifier 784144 784153 + Identifier 784154 784160 + VariableStatement 784162 784266 + VariableDeclarationList 784162 784265 + VariableDeclaration 784177 784265 + Identifier 784177 784188 + BinaryExpression 784190 784265 + PrefixUnaryExpression 784190 784204 + PrefixUnaryExpression 784192 784204 + Identifier 784193 784204 + AmpersandAmpersandToken 784204 784207 + CallExpression 784207 784265 + Identifier 784207 784228 + Identifier 784229 784240 + PropertyAccessExpression 784241 784264 + Identifier 784241 784255 + Identifier 784256 784264 + IfStatement 784266 784570 + BinaryExpression 784280 784307 + PropertyAccessExpression 784280 784301 + Identifier 784280 784294 + Identifier 784295 784301 + EqualsEqualsEqualsToken 784301 784305 + NumericLiteral 784305 784307 + Block 784308 784570 + ReturnStatement 784310 784559 + ArrayLiteralExpression 784330 784558 + CallExpression 784332 784557 + Identifier 784332 784347 + Identifier 784348 784373 + PropertyAccessExpression 784374 784404 + Identifier 784374 784384 + Identifier 784385 784404 + Identifier 784405 784433 + Identifier 784434 784445 + Identifier 784446 784456 + Identifier 784457 784493 + NumericLiteral 784494 784496 + ConditionalExpression 784497 784556 + Identifier 784497 784508 + QuestionToken 784508 784510 + PropertyAccessExpression 784510 784534 + Identifier 784510 784525 + Identifier 784526 784534 + ColonToken 784534 784536 + PropertyAccessExpression 784536 784556 + Identifier 784536 784551 + Identifier 784552 784556 + VariableStatement 784570 784636 + VariableDeclarationList 784570 784635 + VariableDeclaration 784585 784635 + Identifier 784585 784598 + NonNullExpression 784600 784635 + CallExpression 784600 784634 + Identifier 784600 784623 + Identifier 784624 784633 + VariableStatement 784636 784692 + VariableDeclarationList 784636 784691 + VariableDeclaration 784651 784691 + Identifier 784651 784664 + CallExpression 784666 784691 + Identifier 784666 784677 + Identifier 784678 784690 + VariableStatement 784692 784773 + VariableDeclarationList 784692 784772 + VariableDeclaration 784707 784772 + Identifier 784707 784721 + CallExpression 784723 784772 + Identifier 784723 784758 + Identifier 784759 784771 + VariableStatement 784773 784826 + VariableDeclarationList 784773 784825 + VariableDeclaration 784788 784825 + Identifier 784788 784801 + CallExpression 784803 784825 + Identifier 784803 784810 + Identifier 784811 784824 + VariableStatement 784826 784867 + VariableDeclarationList 784826 784866 + VariableDeclaration 784841 784866 + Identifier 784841 784848 + ArrayType 784849 784861 + TypeReference 784849 784859 + Identifier 784849 784859 + ArrayLiteralExpression 784863 784866 + ForOfStatement 784867 785695 + VariableDeclarationList 784882 784895 + VariableDeclaration 784887 784895 + Identifier 784887 784895 + Identifier 784898 784913 + Block 784914 785695 + VariableStatement 784916 785007 + VariableDeclarationList 784916 785006 + VariableDeclaration 784935 785006 + Identifier 784935 784956 + CallExpression 784958 785006 + Identifier 784958 784982 + PropertyAccessExpression 784983 785005 + Identifier 784983 784990 + Identifier 784991 785005 + VariableStatement 785007 785075 + VariableDeclarationList 785007 785074 + VariableDeclaration 785026 785074 + Identifier 785026 785041 + CallExpression 785043 785074 + Identifier 785043 785050 + PropertyAccessExpression 785051 785073 + Identifier 785051 785058 + Identifier 785059 785073 + IfStatement 785075 785684 + BinaryExpression 785093 785179 + Identifier 785093 785105 + BarBarToken 785105 785108 + BinaryExpression 785108 785179 + BinaryExpression 785108 785145 + Identifier 785108 785121 + GreaterThanEqualsToken 785121 785124 + Identifier 785124 785145 + AmpersandAmpersandToken 785145 785148 + BinaryExpression 785148 785179 + Identifier 785148 785161 + LessThanEqualsToken 785161 785164 + Identifier 785164 785179 + Block 785180 785684 + VariableStatement 785182 785394 + VariableDeclarationList 785182 785393 + VariableDeclaration 785205 785393 + Identifier 785205 785209 + ConditionalExpression 785211 785393 + Identifier 785211 785226 + QuestionToken 785226 785228 + CallExpression 785228 785367 + Identifier 785228 785257 + Identifier 785258 785265 + CallExpression 785266 785366 + Identifier 785266 785291 + Identifier 785292 785305 + PropertyAccessExpression 785306 785329 + Identifier 785306 785314 + Identifier 785315 785329 + Identifier 785330 785351 + Identifier 785352 785365 + ColonToken 785367 785369 + CallExpression 785369 785393 + Identifier 785369 785384 + Identifier 785385 785392 + ExpressionStatement 785394 785463 + BinaryExpression 785394 785462 + PropertyAccessExpression 785394 785430 + Identifier 785394 785415 + Identifier 785416 785430 + EqualsToken 785430 785432 + PropertyAccessExpression 785432 785462 + Identifier 785432 785442 + Identifier 785443 785462 + ExpressionStatement 785463 785516 + BinaryExpression 785463 785515 + PropertyAccessExpression 785463 785503 + Identifier 785463 785484 + Identifier 785485 785503 + EqualsToken 785503 785505 + Identifier 785505 785515 + ExpressionStatement 785516 785634 + BinaryExpression 785516 785633 + PropertyAccessExpression 785516 785543 + Identifier 785516 785537 + Identifier 785538 785543 + EqualsToken 785543 785545 + ConditionalExpression 785545 785633 + Identifier 785545 785556 + QuestionToken 785556 785558 + BinaryExpression 785558 785594 + PropertyAccessExpression 785558 785568 + Identifier 785558 785562 + Identifier 785563 785568 + BarToken 785568 785570 + PropertyAccessExpression 785570 785594 + Identifier 785570 785585 + Identifier 785586 785594 + ColonToken 785594 785596 + BinaryExpression 785596 785633 + PropertyAccessExpression 785596 785606 + Identifier 785596 785600 + Identifier 785601 785606 + AmpersandToken 785606 785608 + PrefixUnaryExpression 785608 785633 + PropertyAccessExpression 785610 785633 + Identifier 785610 785624 + Identifier 785625 785633 + ExpressionStatement 785634 785669 + CallExpression 785634 785668 + PropertyAccessExpression 785634 785663 + Identifier 785634 785658 + Identifier 785659 785663 + Identifier 785664 785667 + ReturnStatement 785695 785719 + Identifier 785711 785718 + FunctionDeclaration 785726 786200 + Identifier 785742 785764 + Parameter 785765 785800 + Identifier 785765 785778 + TypeOperator 785779 785800 + ArrayType 785788 785800 + TypeReference 785788 785798 + Identifier 785788 785798 + Parameter 785801 785822 + Identifier 785801 785811 + TypeReference 785812 785822 + Identifier 785812 785822 + Parameter 785823 785845 + Identifier 785823 785836 + BooleanKeyword 785837 785845 + Parameter 785846 785871 + Identifier 785846 785862 + BooleanKeyword 785863 785871 + Parameter 785872 785899 + Identifier 785872 785890 + BooleanKeyword 785891 785899 + UnionType 785901 785923 + TypeReference 785901 785911 + Identifier 785901 785911 + UndefinedKeyword 785913 785923 + Block 785923 786200 + ForOfStatement 785925 786193 + VariableDeclarationList 785940 785947 + VariableDeclaration 785945 785947 + Identifier 785945 785947 + Identifier 785950 785964 + Block 785965 786193 + IfStatement 785967 786182 + CallExpression 785985 786137 + Identifier 785985 786011 + Identifier 786012 786013 + Identifier 786014 786024 + Identifier 786025 786038 + Identifier 786039 786055 + Identifier 786056 786074 + ConditionalExpression 786075 786136 + Identifier 786075 786088 + QuestionToken 786088 786090 + Identifier 786090 786112 + ColonToken 786112 786114 + Identifier 786114 786136 + Block 786138 786182 + ReturnStatement 786140 786167 + Identifier 786164 786166 + FunctionDeclaration 786200 787899 + Identifier 786216 786239 + Parameter 786240 786289 + Identifier 786240 786254 + TypeOperator 786255 786289 + ArrayType 786264 786289 + ParenthesizedType 786264 786287 + TypeOperator 786266 786286 + ArrayType 786274 786286 + TypeReference 786274 786284 + Identifier 786274 786284 + Parameter 786290 786311 + Identifier 786290 786300 + TypeReference 786301 786311 + Identifier 786301 786311 + Parameter 786312 786330 + Identifier 786312 786322 + NumberKeyword 786323 786330 + UnionType 786332 786356 + ArrayType 786332 786344 + TypeReference 786332 786342 + Identifier 786332 786342 + UndefinedKeyword 786346 786356 + Block 786356 787899 + IfStatement 786358 787027 + PropertyAccessExpression 786372 786396 + Identifier 786372 786381 + Identifier 786382 786396 + Block 786397 787027 + IfStatement 786399 786690 + BinaryExpression 786624 786637 + Identifier 786624 786633 + GreaterThanToken 786633 786635 + NumericLiteral 786635 786637 + Block 786638 786690 + ReturnStatement 786640 786675 + Identifier 786664 786674 + ForStatement 786690 786983 + VariableDeclarationList 786709 786718 + VariableDeclaration 786712 786718 + Identifier 786712 786714 + NumericLiteral 786716 786718 + BinaryExpression 786719 786745 + Identifier 786719 786721 + LessThanToken 786721 786723 + PropertyAccessExpression 786723 786745 + Identifier 786723 786738 + Identifier 786739 786745 + PostfixUnaryExpression 786746 786750 + Identifier 786746 786748 + Block 786751 786983 + IfStatement 786753 786968 + PrefixUnaryExpression 786775 786907 + CallExpression 786776 786907 + Identifier 786776 786797 + ElementAccessExpression 786798 786815 + Identifier 786798 786812 + Identifier 786813 786814 + Identifier 786816 786826 + FalseKeyword 786827 786850 + FalseKeyword 786851 786877 + FalseKeyword 786878 786906 + Block 786908 786968 + ReturnStatement 786910 786949 + Identifier 786938 786948 + ReturnStatement 786983 787016 + ArrayLiteralExpression 787003 787015 + Identifier 787005 787014 + VariableStatement 787027 787073 + VariableDeclarationList 787027 787072 + VariableDeclaration 787040 787072 + Identifier 787040 787047 + UnionType 787048 787072 + ArrayType 787048 787060 + TypeReference 787048 787058 + Identifier 787048 787058 + UndefinedKeyword 787062 787072 + ForStatement 787073 787868 + VariableDeclarationList 787088 787097 + VariableDeclaration 787091 787097 + Identifier 787091 787093 + NumericLiteral 787095 787097 + BinaryExpression 787098 787124 + Identifier 787098 787100 + LessThanToken 787100 787102 + PropertyAccessExpression 787102 787124 + Identifier 787102 787117 + Identifier 787118 787124 + PostfixUnaryExpression 787125 787129 + Identifier 787125 787127 + Block 787130 787868 + VariableStatement 787132 787727 + VariableDeclarationList 787132 787726 + VariableDeclaration 787369 787726 + Identifier 787369 787375 + ConditionalExpression 787377 787726 + BinaryExpression 787377 787393 + Identifier 787377 787379 + EqualsEqualsEqualsToken 787379 787383 + Identifier 787383 787393 + QuestionToken 787393 787412 + Identifier 787412 787422 + ColonToken 787422 787441 + BinaryExpression 787441 787726 + CallExpression 787441 787572 + Identifier 787441 787463 + ElementAccessExpression 787464 787481 + Identifier 787464 787478 + Identifier 787479 787480 + Identifier 787482 787492 + FalseKeyword 787493 787516 + FalseKeyword 787517 787543 + TrueKeyword 787544 787571 + BarBarToken 787572 787596 + CallExpression 787596 787726 + Identifier 787596 787618 + ElementAccessExpression 787619 787636 + Identifier 787619 787633 + Identifier 787634 787635 + Identifier 787637 787647 + TrueKeyword 787648 787670 + FalseKeyword 787671 787697 + TrueKeyword 787698 787725 + IfStatement 787727 787804 + PrefixUnaryExpression 787745 787751 + Identifier 787746 787751 + Block 787752 787804 + ReturnStatement 787754 787789 + Identifier 787778 787788 + ExpressionStatement 787804 787857 + BinaryExpression 787804 787856 + Identifier 787804 787824 + EqualsToken 787824 787826 + CallExpression 787826 787856 + Identifier 787826 787841 + Identifier 787842 787848 + Identifier 787849 787855 + ReturnStatement 787868 787892 + Identifier 787884 787891 + FunctionDeclaration 787899 791886 + Identifier 788306 788325 + Parameter 788326 788375 + Identifier 788326 788340 + TypeOperator 788341 788375 + ArrayType 788350 788375 + ParenthesizedType 788350 788373 + TypeOperator 788352 788372 + ArrayType 788360 788372 + TypeReference 788360 788370 + Identifier 788360 788370 + ArrayType 788377 788389 + TypeReference 788377 788387 + Identifier 788377 788387 + Block 788389 791886 + VariableStatement 788391 788437 + VariableDeclarationList 788391 788436 + VariableDeclaration 788404 788436 + Identifier 788404 788411 + UnionType 788412 788436 + ArrayType 788412 788424 + TypeReference 788412 788422 + Identifier 788412 788422 + UndefinedKeyword 788426 788436 + VariableStatement 788437 788494 + VariableDeclarationList 788437 788493 + VariableDeclaration 788450 788493 + Identifier 788450 788473 + UnionType 788474 788493 + NumberKeyword 788474 788481 + UndefinedKeyword 788483 788493 + ForStatement 788494 790361 + VariableDeclarationList 788509 788518 + VariableDeclaration 788512 788518 + Identifier 788512 788514 + NumericLiteral 788516 788518 + BinaryExpression 788519 788545 + Identifier 788519 788521 + LessThanToken 788521 788523 + PropertyAccessExpression 788523 788545 + Identifier 788523 788538 + Identifier 788539 788545 + PostfixUnaryExpression 788546 788550 + Identifier 788546 788548 + Block 788551 790361 + IfStatement 788553 788621 + BinaryExpression 788571 788601 + PropertyAccessExpression 788571 788595 + ElementAccessExpression 788571 788588 + Identifier 788571 788585 + Identifier 788586 788587 + Identifier 788589 788595 + EqualsEqualsEqualsToken 788595 788599 + NumericLiteral 788599 788601 + ReturnStatement 788602 788621 + Identifier 788609 788620 + IfStatement 788621 788825 + BinaryExpression 788639 788667 + PropertyAccessExpression 788639 788663 + ElementAccessExpression 788639 788656 + Identifier 788639 788653 + Identifier 788654 788655 + Identifier 788657 788663 + GreaterThanToken 788663 788665 + NumericLiteral 788665 788667 + Block 788668 788825 + ExpressionStatement 788670 788759 + BinaryExpression 788670 788758 + Identifier 788670 788710 + EqualsToken 788710 788712 + ConditionalExpression 788712 788758 + BinaryExpression 788712 788749 + Identifier 788712 788735 + EqualsEqualsEqualsToken 788735 788739 + Identifier 788739 788749 + QuestionToken 788749 788751 + Identifier 788751 788753 + ColonToken 788753 788755 + PrefixUnaryExpression 788755 788758 + NumericLiteral 788757 788758 + ForOfStatement 788825 790350 + VariableDeclarationList 788844 788859 + VariableDeclaration 788849 788859 + Identifier 788849 788859 + ElementAccessExpression 788862 788880 + Identifier 788862 788877 + Identifier 788878 788879 + Block 788881 790350 + IfStatement 788883 790335 + BinaryExpression 789009 789140 + PrefixUnaryExpression 789009 789016 + Identifier 789010 789016 + BarBarToken 789016 789019 + PrefixUnaryExpression 789019 789140 + CallExpression 789021 789140 + Identifier 789021 789042 + Identifier 789043 789049 + Identifier 789050 789060 + FalseKeyword 789061 789084 + FalseKeyword 789085 789111 + TrueKeyword 789112 789139 + Block 789141 790335 + VariableStatement 789143 789242 + VariableDeclarationList 789143 789241 + VariableDeclaration 789170 789241 + Identifier 789170 789186 + CallExpression 789188 789241 + Identifier 789188 789211 + Identifier 789212 789226 + Identifier 789227 789237 + Identifier 789238 789240 + IfStatement 789242 790316 + Identifier 789268 789283 + Block 789284 790316 + VariableStatement 789286 789330 + VariableDeclarationList 789286 789329 + VariableDeclaration 789315 789329 + Identifier 789315 789317 + Identifier 789319 789329 + IfStatement 789330 790233 + BinaryExpression 789448 789474 + PropertyAccessExpression 789448 789470 + Identifier 789448 789463 + Identifier 789464 789470 + GreaterThanToken 789470 789472 + NumericLiteral 789472 789474 + Block 789475 790233 + VariableStatement 789477 789551 + VariableDeclarationList 789477 789550 + VariableDeclaration 789510 789550 + Identifier 789510 789524 + PropertyAccessExpression 789526 789550 + Identifier 789526 789536 + Identifier 789537 789550 + VariableStatement 789551 789676 + VariableDeclarationList 789551 789675 + VariableDeclaration 789586 789675 + Identifier 789586 789622 + CallExpression 789624 789675 + Identifier 789624 789632 + Identifier 789633 789648 + ArrowFunction 789649 789674 + Parameter 789649 789653 + Identifier 789649 789653 + EqualsGreaterThanToken 789653 789656 + PropertyAccessExpression 789656 789674 + Identifier 789656 789660 + Identifier 789661 789674 + IfStatement 789676 790061 + Identifier 789710 789745 + Block 789746 790061 + VariableStatement 789748 789912 + VariableDeclarationList 789748 789911 + VariableDeclaration 789787 789911 + Identifier 789787 789796 + CallExpression 789798 789911 + Identifier 789798 789818 + CallExpression 789819 789910 + Identifier 789819 789829 + Identifier 789830 789845 + ArrowFunction 789846 789909 + Parameter 789846 789850 + Identifier 789846 789850 + EqualsGreaterThanToken 789850 789853 + BinaryExpression 789853 789909 + PropertyAccessExpression 789853 789871 + Identifier 789853 789857 + Identifier 789858 789871 + AmpersandAmpersandToken 789871 789874 + CallExpression 789874 789909 + Identifier 789874 789890 + PropertyAccessExpression 789891 789908 + Identifier 789891 789894 + Identifier 789895 789908 + ExpressionStatement 789912 790030 + BinaryExpression 789912 790029 + Identifier 789912 789959 + EqualsToken 789959 789961 + CallExpression 789961 790029 + Identifier 789961 789982 + Identifier 789983 790018 + Identifier 790019 790028 + ExpressionStatement 790061 790144 + BinaryExpression 790061 790143 + Identifier 790061 790092 + EqualsToken 790092 790094 + CallExpression 790094 790143 + Identifier 790094 790115 + Identifier 790116 790125 + Identifier 790126 790142 + ExpressionStatement 790144 790206 + BinaryExpression 790144 790205 + PropertyAccessExpression 790144 790189 + Identifier 790144 790175 + Identifier 790176 790189 + EqualsToken 790189 790191 + Identifier 790191 790205 + ExpressionStatement 790233 790293 + CallExpression 790233 790292 + PropertyAccessExpression 790233 790289 + ParenthesizedExpression 790233 790284 + BinaryExpression 790260 790283 + Identifier 790260 790266 + BarBarToken 790266 790269 + ParenthesizedExpression 790269 790283 + BinaryExpression 790271 790282 + Identifier 790271 790277 + EqualsToken 790277 790279 + ArrayLiteralExpression 790279 790282 + Identifier 790285 790289 + Identifier 790290 790291 + IfStatement 790361 791841 + BinaryExpression 790375 790423 + PrefixUnaryExpression 790375 790390 + CallExpression 790376 790390 + Identifier 790376 790382 + Identifier 790383 790389 + AmpersandAmpersandToken 790390 790393 + BinaryExpression 790393 790423 + Identifier 790393 790416 + ExclamationEqualsEqualsToken 790416 790420 + PrefixUnaryExpression 790420 790423 + NumericLiteral 790422 790423 + Block 790424 791841 + VariableStatement 790426 791024 + VariableDeclarationList 790426 791023 + VariableDeclaration 790928 791023 + Identifier 790928 790939 + ElementAccessExpression 790941 791023 + Identifier 790941 790956 + ConditionalExpression 790957 791022 + BinaryExpression 790957 790993 + Identifier 790957 790979 + ExclamationEqualsEqualsToken 790979 790983 + Identifier 790983 790993 + QuestionToken 790993 790995 + Identifier 790995 791018 + ColonToken 791018 791020 + NumericLiteral 791020 791022 + VariableStatement 791024 791096 + VariableDeclarationList 791024 791095 + VariableDeclaration 791041 791095 + Identifier 791041 791049 + UnionType 791050 791074 + ArrayType 791050 791062 + TypeReference 791050 791060 + Identifier 791050 791060 + UndefinedKeyword 791064 791074 + CallExpression 791076 791095 + PropertyAccessExpression 791076 791093 + Identifier 791076 791087 + Identifier 791088 791093 + ForOfStatement 791096 791799 + VariableDeclarationList 791115 791131 + VariableDeclaration 791120 791131 + Identifier 791120 791131 + Identifier 791134 791149 + Block 791150 791799 + IfStatement 791152 791784 + BinaryExpression 791174 791199 + Identifier 791174 791184 + ExclamationEqualsEqualsToken 791184 791188 + Identifier 791188 791199 + Block 791200 791784 + VariableStatement 791202 791256 + VariableDeclarationList 791202 791255 + VariableDeclaration 791229 791255 + Identifier 791229 791239 + ElementAccessExpression 791241 791255 + Identifier 791241 791252 + NumericLiteral 791253 791254 + ExpressionStatement 791256 791410 + CallExpression 791256 791409 + PropertyAccessExpression 791256 791290 + Identifier 791256 791283 + Identifier 791284 791290 + PrefixUnaryExpression 791291 791302 + PrefixUnaryExpression 791292 791302 + Identifier 791293 791302 + StringLiteral 791303 791408 + ExpressionStatement 791410 791673 + BinaryExpression 791410 791672 + Identifier 791410 791439 + EqualsToken 791439 791441 + ConditionalExpression 791441 791672 + BinaryExpression 791441 791589 + PrefixUnaryExpression 791441 791468 + PrefixUnaryExpression 791443 791468 + PropertyAccessExpression 791444 791468 + Identifier 791444 791453 + Identifier 791454 791468 + AmpersandAmpersandToken 791468 791471 + CallExpression 791471 791589 + Identifier 791471 791476 + Identifier 791477 791484 + ArrowFunction 791485 791588 + Parameter 791485 791487 + Identifier 791485 791487 + EqualsGreaterThanToken 791487 791490 + BinaryExpression 791490 791588 + PrefixUnaryExpression 791490 791509 + PrefixUnaryExpression 791492 791509 + PropertyAccessExpression 791493 791509 + Identifier 791493 791494 + Identifier 791495 791509 + AmpersandAmpersandToken 791509 791512 + PrefixUnaryExpression 791512 791588 + CallExpression 791514 791588 + Identifier 791514 791544 + PropertyAccessExpression 791545 791569 + Identifier 791545 791554 + Identifier 791555 791569 + PropertyAccessExpression 791570 791587 + Identifier 791570 791572 + Identifier 791573 791587 + QuestionToken 791589 791591 + Identifier 791591 791601 + ColonToken 791601 791603 + CallExpression 791603 791672 + Identifier 791603 791607 + Identifier 791608 791615 + ArrowFunction 791616 791671 + Parameter 791616 791620 + Identifier 791616 791620 + EqualsGreaterThanToken 791620 791623 + CallExpression 791623 791671 + Identifier 791623 791655 + Identifier 791656 791659 + Identifier 791660 791670 + IfStatement 791673 791765 + PrefixUnaryExpression 791699 791707 + Identifier 791700 791707 + Block 791708 791765 + BreakStatement 791710 791742 + ExpressionStatement 791799 791830 + BinaryExpression 791799 791829 + Identifier 791799 791819 + EqualsToken 791819 791821 + Identifier 791821 791829 + ReturnStatement 791841 791879 + BinaryExpression 791857 791878 + Identifier 791857 791864 + BarBarToken 791864 791867 + Identifier 791867 791878 + FunctionDeclaration 791886 793396 + Identifier 791902 791933 + Parameter 791934 791984 + Identifier 791934 791946 + UnionType 791947 791984 + TypeOperator 791947 791972 + ArrayType 791956 791972 + TypeReference 791956 791970 + Identifier 791956 791970 + UndefinedKeyword 791974 791984 + Parameter 791985 792036 + Identifier 791985 791998 + UnionType 791999 792036 + TypeOperator 791999 792024 + ArrayType 792008 792024 + TypeReference 792008 792022 + Identifier 792008 792022 + UndefinedKeyword 792026 792036 + BooleanKeyword 792038 792046 + Block 792046 793396 + IfStatement 792048 792148 + BinaryExpression 792062 792107 + CallExpression 792062 792082 + Identifier 792062 792068 + Identifier 792069 792081 + ExclamationEqualsEqualsToken 792082 792086 + CallExpression 792086 792107 + Identifier 792086 792093 + Identifier 792094 792106 + Block 792108 792148 + ReturnStatement 792110 792137 + FalseKeyword 792130 792136 + IfStatement 792148 792232 + BinaryExpression 792162 792192 + PrefixUnaryExpression 792162 792175 + Identifier 792163 792175 + BarBarToken 792175 792178 + PrefixUnaryExpression 792178 792192 + Identifier 792180 792192 + Block 792193 792232 + ReturnStatement 792195 792221 + TrueKeyword 792215 792220 + VariableStatement 792232 792304 + VariableDeclarationList 792232 792303 + VariableDeclaration 792249 792303 + Identifier 792249 792256 + CallExpression 792258 792303 + Identifier 792258 792275 + Identifier 792276 792288 + Identifier 792289 792302 + ForStatement 792304 793365 + VariableDeclarationList 792319 792328 + VariableDeclaration 792322 792328 + Identifier 792322 792324 + NumericLiteral 792326 792328 + BinaryExpression 792329 792353 + Identifier 792329 792331 + LessThanToken 792331 792333 + PropertyAccessExpression 792333 792353 + Identifier 792333 792346 + Identifier 792347 792353 + PostfixUnaryExpression 792354 792358 + Identifier 792354 792356 + Block 792359 793365 + VariableStatement 792361 792406 + VariableDeclarationList 792361 792405 + VariableDeclaration 792380 792405 + Identifier 792380 792387 + ElementAccessExpression 792389 792405 + Identifier 792389 792402 + Identifier 792403 792404 + VariableStatement 792406 792451 + VariableDeclarationList 792406 792450 + VariableDeclaration 792425 792450 + Identifier 792425 792432 + ElementAccessExpression 792434 792450 + Identifier 792434 792447 + Identifier 792448 792449 + IfStatement 792451 792497 + BinaryExpression 792469 792486 + Identifier 792469 792475 + EqualsEqualsEqualsToken 792475 792479 + Identifier 792479 792486 + ContinueStatement 792487 792497 + IfStatement 792497 792847 + PrefixUnaryExpression 792679 792832 + CallExpression 792680 792832 + Identifier 792680 792697 + BinaryExpression 792698 792751 + CallExpression 792698 792736 + Identifier 792698 792728 + Identifier 792729 792735 + BarBarToken 792736 792739 + Identifier 792739 792751 + CallExpression 792752 792831 + Identifier 792752 792768 + BinaryExpression 792769 792822 + CallExpression 792769 792807 + Identifier 792769 792799 + Identifier 792800 792806 + BarBarToken 792807 792810 + Identifier 792810 792822 + Identifier 792823 792830 + ReturnStatement 792833 792847 + FalseKeyword 792840 792846 + ReturnStatement 793365 793389 + TrueKeyword 793383 793388 + FunctionDeclaration 793396 794178 + Identifier 793412 793434 + Parameter 793435 793459 + Identifier 793435 793439 + UnionType 793440 793459 + TypeReference 793440 793447 + Identifier 793440 793447 + UndefinedKeyword 793449 793459 + Parameter 793460 793486 + Identifier 793460 793466 + UnionType 793467 793486 + TypeReference 793467 793474 + Identifier 793467 793474 + UndefinedKeyword 793476 793486 + Parameter 793487 793518 + Identifier 793487 793494 + UnionType 793495 793518 + TypeReference 793495 793506 + Identifier 793495 793506 + UndefinedKeyword 793508 793518 + UnionType 793520 793539 + TypeReference 793520 793527 + Identifier 793520 793527 + UndefinedKeyword 793529 793539 + Block 793539 794178 + IfStatement 793541 793619 + BinaryExpression 793555 793570 + PrefixUnaryExpression 793555 793560 + Identifier 793556 793560 + BarBarToken 793560 793563 + PrefixUnaryExpression 793563 793570 + Identifier 793565 793570 + Block 793571 793619 + ReturnStatement 793573 793608 + BinaryExpression 793593 793607 + Identifier 793593 793598 + BarBarToken 793598 793601 + Identifier 793601 793607 + VariableStatement 793619 794117 + VariableDeclarationList 793619 794116 + VariableDeclaration 794011 794116 + Identifier 794011 794020 + CallExpression 794022 794116 + Identifier 794022 794042 + ArrayLiteralExpression 794043 794115 + CallExpression 794044 794065 + Identifier 794044 794059 + Identifier 794060 794064 + CallExpression 794066 794114 + Identifier 794066 794082 + CallExpression 794083 794105 + Identifier 794083 794098 + Identifier 794099 794104 + Identifier 794106 794113 + ReturnStatement 794117 794171 + CallExpression 794133 794170 + Identifier 794133 794154 + Identifier 794155 794159 + Identifier 794160 794169 + FunctionDeclaration 794178 797046 + Identifier 794194 794217 + Parameter 794218 794233 + Identifier 794218 794222 + TypeReference 794223 794233 + Identifier 794223 794233 + Parameter 794234 794251 + Identifier 794234 794240 + TypeReference 794241 794251 + Identifier 794241 794251 + Parameter 794252 794283 + Identifier 794252 794259 + UnionType 794260 794283 + TypeReference 794260 794271 + Identifier 794260 794271 + UndefinedKeyword 794273 794283 + Block 794284 797046 + VariableStatement 794286 794338 + VariableDeclarationList 794286 794337 + VariableDeclaration 794301 794337 + Identifier 794301 794311 + CallExpression 794313 794337 + Identifier 794313 794331 + Identifier 794332 794336 + VariableStatement 794338 794392 + VariableDeclarationList 794338 794391 + VariableDeclaration 794353 794391 + Identifier 794353 794364 + CallExpression 794366 794391 + Identifier 794366 794384 + Identifier 794385 794390 + VariableStatement 794392 794457 + VariableDeclarationList 794392 794456 + VariableDeclaration 794407 794456 + Identifier 794407 794415 + ConditionalExpression 794417 794456 + BinaryExpression 794417 794441 + Identifier 794417 794427 + GreaterThanEqualsToken 794427 794430 + Identifier 794430 794441 + QuestionToken 794441 794443 + Identifier 794443 794448 + ColonToken 794448 794450 + Identifier 794450 794456 + VariableStatement 794457 794515 + VariableDeclarationList 794457 794514 + VariableDeclaration 794472 794514 + Identifier 794472 794480 + ConditionalExpression 794482 794514 + BinaryExpression 794482 794499 + Identifier 794482 794490 + EqualsEqualsEqualsToken 794490 794494 + Identifier 794494 794499 + QuestionToken 794499 794501 + Identifier 794501 794507 + ColonToken 794507 794509 + Identifier 794509 794514 + VariableStatement 794515 794588 + VariableDeclarationList 794515 794587 + VariableDeclaration 794530 794587 + Identifier 794530 794543 + ConditionalExpression 794545 794587 + BinaryExpression 794545 794562 + Identifier 794545 794553 + EqualsEqualsEqualsToken 794553 794557 + Identifier 794557 794562 + QuestionToken 794562 794564 + Identifier 794564 794574 + ColonToken 794574 794576 + Identifier 794576 794587 + VariableStatement 794588 794697 + VariableDeclarationList 794588 794696 + VariableDeclaration 794603 794696 + Identifier 794603 794626 + BinaryExpression 794628 794696 + CallExpression 794628 794660 + Identifier 794628 794654 + Identifier 794655 794659 + BarBarToken 794660 794663 + CallExpression 794663 794696 + Identifier 794663 794689 + Identifier 794690 794695 + VariableStatement 794697 794799 + VariableDeclarationList 794697 794798 + VariableDeclaration 794712 794798 + Identifier 794712 794734 + BinaryExpression 794736 794798 + Identifier 794736 794759 + AmpersandAmpersandToken 794759 794762 + PrefixUnaryExpression 794762 794798 + CallExpression 794764 794798 + Identifier 794764 794789 + Identifier 794790 794797 + VariableStatement 794799 794890 + VariableDeclarationList 794799 794889 + VariableDeclaration 794814 794889 + Identifier 794814 794821 + NewExpression 794823 794889 + Identifier 794827 794833 + TypeReference 794834 794840 + Identifier 794834 794840 + BinaryExpression 794842 794888 + Identifier 794842 794854 + PlusToken 794854 794856 + ParenthesizedExpression 794856 794888 + ConditionalExpression 794858 794887 + Identifier 794858 794879 + QuestionToken 794879 794881 + NumericLiteral 794881 794883 + ColonToken 794883 794885 + NumericLiteral 794885 794887 + ForStatement 794890 796527 + VariableDeclarationList 794905 794914 + VariableDeclaration 794908 794914 + Identifier 794908 794910 + NumericLiteral 794912 794914 + BinaryExpression 794915 794932 + Identifier 794915 794917 + LessThanToken 794917 794919 + Identifier 794919 794932 + PostfixUnaryExpression 794933 794937 + Identifier 794933 794935 + Block 794938 796527 + VariableStatement 794940 795011 + VariableDeclarationList 794940 795010 + VariableDeclaration 794957 795010 + Identifier 794957 794974 + NonNullExpression 794976 795010 + CallExpression 794976 795009 + Identifier 794976 794997 + Identifier 794998 795005 + Identifier 795006 795008 + IfStatement 795011 795143 + BinaryExpression 795029 795046 + Identifier 795029 795036 + EqualsEqualsEqualsToken 795036 795040 + Identifier 795040 795046 + Block 795047 795143 + ExpressionStatement 795049 795128 + BinaryExpression 795049 795127 + Identifier 795049 795083 + EqualsToken 795083 795085 + CallExpression 795085 795127 + Identifier 795085 795101 + Identifier 795102 795118 + Identifier 795119 795126 + VariableStatement 795143 795228 + VariableDeclarationList 795143 795227 + VariableDeclaration 795160 795227 + Identifier 795160 795177 + BinaryExpression 795179 795227 + CallExpression 795179 795212 + Identifier 795179 795200 + Identifier 795201 795208 + Identifier 795209 795211 + BarBarToken 795212 795215 + Identifier 795215 795227 + IfStatement 795228 795360 + BinaryExpression 795246 795263 + Identifier 795246 795253 + EqualsEqualsEqualsToken 795253 795257 + Identifier 795257 795263 + Block 795264 795360 + ExpressionStatement 795266 795345 + BinaryExpression 795266 795344 + Identifier 795266 795300 + EqualsToken 795300 795302 + CallExpression 795302 795344 + Identifier 795302 795318 + Identifier 795319 795335 + Identifier 795336 795343 + VariableStatement 795360 795455 + VariableDeclarationList 795360 795454 + VariableDeclaration 795379 795454 + Identifier 795379 795394 + CallExpression 795396 795454 + Identifier 795396 795416 + ArrayLiteralExpression 795417 795453 + Identifier 795418 795434 + Identifier 795435 795452 + VariableStatement 795455 795566 + VariableDeclarationList 795455 795565 + VariableDeclaration 795474 795565 + Identifier 795474 795486 + BinaryExpression 795488 795565 + BinaryExpression 795488 795537 + Identifier 795488 795511 + AmpersandAmpersandToken 795511 795514 + PrefixUnaryExpression 795514 795537 + Identifier 795516 795537 + AmpersandAmpersandToken 795537 795540 + BinaryExpression 795540 795565 + Identifier 795540 795542 + EqualsEqualsEqualsToken 795542 795546 + ParenthesizedExpression 795546 795565 + BinaryExpression 795548 795564 + Identifier 795548 795560 + MinusToken 795560 795562 + NumericLiteral 795562 795564 + VariableStatement 795566 795670 + VariableDeclarationList 795566 795669 + VariableDeclaration 795585 795669 + Identifier 795585 795596 + BinaryExpression 795598 795669 + BinaryExpression 795598 795632 + Identifier 795598 795600 + GreaterThanEqualsToken 795600 795603 + CallExpression 795603 795632 + Identifier 795603 795623 + Identifier 795624 795631 + AmpersandAmpersandToken 795632 795635 + BinaryExpression 795635 795669 + Identifier 795635 795637 + GreaterThanEqualsToken 795637 795640 + CallExpression 795640 795669 + Identifier 795640 795660 + Identifier 795661 795668 + VariableStatement 795670 795766 + VariableDeclarationList 795670 795765 + VariableDeclaration 795689 795765 + Identifier 795689 795698 + ConditionalExpression 795700 795765 + BinaryExpression 795700 795715 + Identifier 795700 795702 + GreaterThanEqualsToken 795702 795705 + Identifier 795705 795715 + QuestionToken 795715 795717 + Identifier 795717 795727 + ColonToken 795727 795729 + CallExpression 795729 795765 + Identifier 795729 795756 + Identifier 795757 795761 + Identifier 795762 795764 + VariableStatement 795766 795865 + VariableDeclarationList 795766 795864 + VariableDeclaration 795785 795864 + Identifier 795785 795795 + ConditionalExpression 795797 795864 + BinaryExpression 795797 795813 + Identifier 795797 795799 + GreaterThanEqualsToken 795799 795802 + Identifier 795802 795813 + QuestionToken 795813 795815 + Identifier 795815 795825 + ColonToken 795825 795827 + CallExpression 795827 795864 + Identifier 795827 795854 + Identifier 795855 795860 + Identifier 795861 795863 + VariableStatement 795865 796044 + VariableDeclarationList 795865 796043 + VariableDeclaration 795886 796043 + Identifier 795886 795896 + ConditionalExpression 795898 796043 + BinaryExpression 795898 795921 + Identifier 795898 795907 + EqualsEqualsEqualsToken 795907 795911 + Identifier 795911 795921 + QuestionToken 795921 795923 + Identifier 795923 795932 + ColonToken 795932 795934 + ConditionalExpression 795934 796043 + PrefixUnaryExpression 795934 795961 + Identifier 795953 795961 + QuestionToken 795961 795963 + Identifier 795963 795973 + ColonToken 795973 795975 + ConditionalExpression 795975 796043 + PrefixUnaryExpression 795975 796003 + Identifier 795994 796003 + QuestionToken 796003 796005 + Identifier 796005 796014 + ColonToken 796014 796016 + Identifier 796016 796043 + VariableStatement 796044 796376 + VariableDeclarationList 796044 796375 + VariableDeclaration 796063 796375 + Identifier 796063 796075 + CallExpression 796077 796375 + Identifier 796077 796090 + BinaryExpression 796091 796201 + PropertyAccessExpression 796091 796143 + Identifier 796091 796120 + Identifier 796121 796143 + BarToken 796143 796145 + ParenthesizedExpression 796145 796201 + ConditionalExpression 796147 796200 + BinaryExpression 796147 796173 + Identifier 796147 796157 + AmpersandAmpersandToken 796157 796160 + PrefixUnaryExpression 796160 796173 + Identifier 796162 796173 + QuestionToken 796173 796175 + PropertyAccessExpression 796175 796196 + Identifier 796175 796187 + Identifier 796188 796196 + ColonToken 796196 796198 + NumericLiteral 796198 796200 + BinaryExpression 796202 796254 + Identifier 796202 796229 + BarBarToken 796229 796232 + AsExpression 796232 796254 + TemplateExpression 796232 796242 + TemplateHead 796232 796239 + TemplateSpan 796239 796242 + Identifier 796239 796240 + TemplateTail 796240 796242 + TypeReference 796245 796254 + Identifier 796245 796254 + ConditionalExpression 796255 796359 + Identifier 796255 796284 + QuestionToken 796284 796286 + PropertyAccessExpression 796286 796311 + Identifier 796286 796297 + Identifier 796298 796311 + ColonToken 796311 796313 + ConditionalExpression 796313 796359 + Identifier 796313 796324 + QuestionToken 796324 796326 + PropertyAccessExpression 796326 796355 + Identifier 796326 796337 + Identifier 796338 796355 + ColonToken 796355 796357 + NumericLiteral 796357 796359 + ExpressionStatement 796376 796478 + BinaryExpression 796376 796477 + PropertyAccessExpression 796376 796412 + PropertyAccessExpression 796376 796407 + Identifier 796376 796401 + Identifier 796402 796407 + Identifier 796408 796412 + EqualsToken 796412 796414 + ConditionalExpression 796414 796477 + Identifier 796414 796426 + QuestionToken 796426 796428 + CallExpression 796428 796460 + Identifier 796428 796444 + Identifier 796445 796459 + ColonToken 796460 796462 + Identifier 796462 796477 + ExpressionStatement 796478 796516 + BinaryExpression 796478 796515 + ElementAccessExpression 796478 796501 + Identifier 796478 796498 + Identifier 796499 796500 + EqualsToken 796501 796503 + Identifier 796503 796515 + IfStatement 796527 797015 + Identifier 796541 796562 + Block 796563 797015 + VariableStatement 796565 796698 + VariableDeclarationList 796565 796697 + VariableDeclaration 796584 796697 + Identifier 796584 796600 + CallExpression 796602 796697 + Identifier 796602 796615 + PropertyAccessExpression 796616 796650 + Identifier 796616 796627 + Identifier 796628 796650 + AsExpression 796651 796670 + StringLiteral 796651 796658 + TypeReference 796661 796670 + Identifier 796661 796670 + PropertyAccessExpression 796671 796696 + Identifier 796671 796682 + Identifier 796683 796696 + ExpressionStatement 796698 796799 + BinaryExpression 796698 796798 + PropertyAccessExpression 796698 796738 + PropertyAccessExpression 796698 796733 + Identifier 796698 796727 + Identifier 796728 796733 + Identifier 796734 796738 + EqualsToken 796738 796740 + CallExpression 796740 796798 + Identifier 796740 796756 + CallExpression 796757 796797 + Identifier 796757 796774 + Identifier 796775 796782 + Identifier 796783 796796 + IfStatement 796799 796951 + BinaryExpression 796817 796834 + Identifier 796817 796824 + EqualsEqualsEqualsToken 796824 796828 + Identifier 796828 796834 + Block 796835 796951 + ExpressionStatement 796837 796936 + BinaryExpression 796837 796935 + PropertyAccessExpression 796837 796881 + PropertyAccessExpression 796837 796876 + Identifier 796837 796870 + Identifier 796871 796876 + Identifier 796877 796881 + EqualsToken 796881 796883 + CallExpression 796883 796935 + Identifier 796883 796899 + PropertyAccessExpression 796900 796926 + PropertyAccessExpression 796900 796921 + Identifier 796900 796915 + Identifier 796916 796921 + Identifier 796922 796926 + Identifier 796927 796934 + ExpressionStatement 796951 797004 + BinaryExpression 796951 797003 + ElementAccessExpression 796951 796985 + Identifier 796951 796971 + Identifier 796972 796984 + EqualsToken 796985 796987 + Identifier 796987 797003 + ReturnStatement 797015 797039 + Identifier 797031 797038 + FunctionDeclaration 797046 799034 + Identifier 797062 797094 + Parameter 797095 797110 + Identifier 797095 797099 + TypeReference 797100 797110 + Identifier 797100 797110 + Parameter 797111 797128 + Identifier 797111 797117 + TypeReference 797118 797128 + Identifier 797118 797128 + TypeReference 797130 797140 + Identifier 797130 797140 + Block 797140 799034 + VariableStatement 797142 797215 + VariableDeclarationList 797142 797214 + VariableDeclaration 797157 797214 + Identifier 797157 797168 + BinaryExpression 797170 797214 + PropertyAccessExpression 797170 797190 + Identifier 797170 797175 + Identifier 797176 797190 + BarBarToken 797190 797193 + PropertyAccessExpression 797193 797214 + Identifier 797193 797199 + Identifier 797200 797214 + VariableStatement 797215 797265 + VariableDeclarationList 797215 797264 + VariableDeclaration 797228 797264 + Identifier 797228 797240 + UnionType 797241 797264 + TypeReference 797241 797252 + Identifier 797241 797252 + UndefinedKeyword 797254 797264 + IfStatement 797265 797505 + BinaryExpression 797279 797322 + PropertyAccessExpression 797279 797298 + Identifier 797279 797283 + Identifier 797284 797298 + AmpersandAmpersandToken 797298 797301 + PropertyAccessExpression 797301 797322 + Identifier 797301 797307 + Identifier 797308 797322 + Block 797323 797505 + ExpressionStatement 797325 797413 + BinaryExpression 797325 797412 + Identifier 797325 797350 + EqualsToken 797350 797352 + CallExpression 797352 797412 + Identifier 797352 797369 + PropertyAccessExpression 797370 797390 + Identifier 797370 797375 + Identifier 797376 797390 + PropertyAccessExpression 797391 797411 + Identifier 797391 797396 + Identifier 797397 797411 + VariableStatement 797505 797625 + VariableDeclarationList 797505 797624 + VariableDeclaration 797518 797624 + Identifier 797518 797524 + BinaryExpression 797526 797624 + ParenthesizedExpression 797526 797553 + BinaryExpression 797528 797552 + PropertyAccessExpression 797528 797538 + Identifier 797528 797532 + Identifier 797533 797538 + BarToken 797538 797540 + PropertyAccessExpression 797540 797552 + Identifier 797540 797546 + Identifier 797547 797552 + AmpersandToken 797553 797555 + ParenthesizedExpression 797555 797624 + BinaryExpression 797557 797623 + PropertyAccessExpression 797557 797588 + Identifier 797557 797571 + Identifier 797572 797588 + AmpersandToken 797588 797590 + PrefixUnaryExpression 797590 797623 + PropertyAccessExpression 797592 797623 + Identifier 797592 797606 + Identifier 797607 797623 + VariableStatement 797625 797672 + VariableDeclarationList 797625 797671 + VariableDeclaration 797640 797671 + Identifier 797640 797652 + PropertyAccessExpression 797654 797671 + Identifier 797654 797659 + Identifier 797660 797671 + VariableStatement 797672 797746 + VariableDeclarationList 797672 797745 + VariableDeclaration 797687 797745 + Identifier 797687 797694 + CallExpression 797696 797745 + Identifier 797696 797719 + Identifier 797720 797724 + Identifier 797725 797731 + Identifier 797732 797744 + VariableStatement 797746 797798 + VariableDeclarationList 797746 797797 + VariableDeclaration 797761 797797 + Identifier 797761 797771 + CallExpression 797773 797797 + Identifier 797773 797789 + Identifier 797790 797796 + IfStatement 797798 797945 + BinaryExpression 797812 797876 + Identifier 797812 797821 + AmpersandAmpersandToken 797821 797824 + BinaryExpression 797824 797876 + CallExpression 797824 797849 + Identifier 797824 797838 + Identifier 797839 797848 + AmpersandToken 797849 797851 + PropertyAccessExpression 797851 797876 + Identifier 797851 797862 + Identifier 797863 797876 + Block 797877 797945 + ExpressionStatement 797879 797934 + BinaryExpression 797879 797933 + Identifier 797879 797898 + BarEqualsToken 797898 797901 + PropertyAccessExpression 797901 797933 + Identifier 797901 797916 + Identifier 797917 797933 + VariableStatement 797945 798049 + VariableDeclarationList 797945 798048 + VariableDeclaration 797960 798048 + Identifier 797960 797970 + CallExpression 797972 798048 + Identifier 797972 797994 + PropertyAccessExpression 797995 798013 + Identifier 797995 797999 + Identifier 798000 798013 + PropertyAccessExpression 798014 798034 + Identifier 798014 798020 + Identifier 798021 798034 + Identifier 798035 798047 + VariableStatement 798049 798135 + VariableDeclarationList 798049 798134 + VariableDeclaration 798064 798134 + Identifier 798064 798076 + CallExpression 798078 798134 + PropertyAccessExpression 798078 798087 + Identifier 798078 798083 + Identifier 798084 798087 + PropertyAccessExpression 798088 798109 + Identifier 798088 798092 + Identifier 798093 798109 + PropertyAccessExpression 798110 798133 + Identifier 798110 798116 + Identifier 798117 798133 + VariableStatement 798135 798427 + VariableDeclarationList 798135 798426 + VariableDeclaration 798150 798426 + Identifier 798150 798157 + CallExpression 798159 798426 + Identifier 798159 798175 + Identifier 798176 798201 + Identifier 798202 798226 + Identifier 798227 798250 + Identifier 798251 798271 + Identifier 798272 798318 + Identifier 798319 798368 + Identifier 798369 798394 + Identifier 798395 798414 + ExpressionStatement 798427 798476 + BinaryExpression 798427 798475 + PropertyAccessExpression 798427 798457 + Identifier 798427 798443 + Identifier 798444 798457 + EqualsToken 798457 798459 + PropertyAccessExpression 798459 798475 + Identifier 798459 798469 + Identifier 798470 798475 + ExpressionStatement 798476 798621 + BinaryExpression 798476 798620 + PropertyAccessExpression 798476 798512 + Identifier 798476 798492 + Identifier 798493 798512 + EqualsToken 798512 798514 + CallExpression 798514 798620 + Identifier 798514 798526 + BinaryExpression 798527 798610 + BinaryExpression 798527 798600 + BinaryExpression 798527 798572 + PropertyAccessExpression 798527 798545 + Identifier 798527 798531 + Identifier 798532 798545 + ExclamationEqualsEqualsToken 798545 798549 + PropertyAccessExpression 798549 798572 + Identifier 798549 798559 + Identifier 798560 798572 + AmpersandAmpersandToken 798572 798575 + PropertyAccessExpression 798575 798600 + Identifier 798575 798580 + Identifier 798581 798600 + BarBarToken 798600 798603 + ArrayLiteralExpression 798603 798610 + Identifier 798605 798609 + ArrayLiteralExpression 798611 798619 + Identifier 798613 798618 + IfStatement 798621 799003 + Identifier 798635 798646 + Block 798647 798840 + ExpressionStatement 798649 798829 + BinaryExpression 798649 798828 + PropertyAccessExpression 798649 798676 + Identifier 798649 798669 + Identifier 798670 798676 + EqualsToken 798676 798678 + ConditionalExpression 798678 798828 + BinaryExpression 798678 798767 + BinaryExpression 798678 798739 + BinaryExpression 798678 798724 + PropertyAccessExpression 798678 798697 + Identifier 798678 798683 + Identifier 798684 798697 + ExclamationEqualsEqualsToken 798697 798701 + PropertyAccessExpression 798701 798724 + Identifier 798701 798711 + Identifier 798712 798724 + AmpersandAmpersandToken 798724 798727 + PropertyAccessExpression 798727 798739 + Identifier 798727 798732 + Identifier 798733 798739 + AmpersandAmpersandToken 798739 798742 + PropertyAccessExpression 798742 798767 + Identifier 798742 798747 + Identifier 798748 798767 + QuestionToken 798767 798769 + CallExpression 798769 798814 + Identifier 798769 798788 + PropertyAccessExpression 798789 798800 + Identifier 798789 798793 + Identifier 798794 798800 + Identifier 798801 798813 + ColonToken 798814 798816 + Identifier 798816 798828 + IfStatement 798854 799003 + BinaryExpression 798859 798947 + BinaryExpression 798859 798919 + BinaryExpression 798859 798904 + PropertyAccessExpression 798859 798877 + Identifier 798859 798863 + Identifier 798864 798877 + ExclamationEqualsEqualsToken 798877 798881 + PropertyAccessExpression 798881 798904 + Identifier 798881 798891 + Identifier 798892 798904 + AmpersandAmpersandToken 798904 798907 + PropertyAccessExpression 798907 798919 + Identifier 798907 798912 + Identifier 798913 798919 + AmpersandAmpersandToken 798919 798922 + PropertyAccessExpression 798922 798947 + Identifier 798922 798927 + Identifier 798928 798947 + Block 798948 799003 + ExpressionStatement 798950 798992 + BinaryExpression 798950 798991 + PropertyAccessExpression 798950 798977 + Identifier 798950 798970 + Identifier 798971 798977 + EqualsToken 798977 798979 + PropertyAccessExpression 798979 798991 + Identifier 798979 798984 + Identifier 798985 798991 + ReturnStatement 799003 799027 + Identifier 799019 799026 + FunctionDeclaration 799034 799702 + Identifier 799050 799069 + Parameter 799070 799092 + Identifier 799070 799075 + TypeOperator 799076 799092 + ArrayType 799085 799092 + TypeReference 799085 799090 + Identifier 799085 799090 + ArrayType 799094 799106 + TypeReference 799094 799104 + Identifier 799094 799104 + Block 799106 799702 + VariableStatement 799108 799168 + VariableDeclarationList 799108 799167 + VariableDeclaration 799123 799167 + Identifier 799123 799135 + CallExpression 799137 799167 + Identifier 799137 799157 + ElementAccessExpression 799158 799166 + Identifier 799158 799163 + NumericLiteral 799164 799165 + IfStatement 799168 799667 + Identifier 799182 799193 + Block 799194 799667 + VariableStatement 799196 799228 + VariableDeclarationList 799196 799227 + VariableDeclaration 799215 799227 + Identifier 799215 799222 + ArrayLiteralExpression 799224 799227 + ForOfStatement 799228 799628 + VariableDeclarationList 799247 799257 + VariableDeclaration 799252 799257 + Identifier 799252 799257 + Identifier 799260 799272 + Block 799273 799628 + VariableStatement 799275 799324 + VariableDeclarationList 799275 799323 + VariableDeclaration 799298 799323 + Identifier 799298 799308 + PropertyAccessExpression 799310 799323 + Identifier 799310 799315 + Identifier 799316 799323 + IfStatement 799324 799613 + CallExpression 799346 799399 + Identifier 799346 799351 + Identifier 799352 799357 + ArrowFunction 799358 799398 + Parameter 799358 799360 + Identifier 799358 799360 + EqualsGreaterThanToken 799360 799363 + PrefixUnaryExpression 799363 799398 + PrefixUnaryExpression 799365 799398 + CallExpression 799366 799398 + Identifier 799366 799384 + Identifier 799385 799386 + Identifier 799387 799397 + Block 799400 799613 + ExpressionStatement 799402 799594 + CallExpression 799402 799593 + PropertyAccessExpression 799402 799435 + Identifier 799402 799430 + Identifier 799431 799435 + CallExpression 799436 799592 + Identifier 799436 799451 + Identifier 799452 799461 + CallExpression 799462 799527 + Identifier 799462 799475 + CallExpression 799476 799526 + Identifier 799476 799479 + Identifier 799480 799485 + ArrowFunction 799486 799525 + Parameter 799486 799488 + Identifier 799486 799488 + EqualsGreaterThanToken 799488 799491 + NonNullExpression 799491 799525 + CallExpression 799491 799524 + Identifier 799491 799510 + Identifier 799511 799512 + Identifier 799513 799523 + CallExpression 799528 799591 + Identifier 799528 799533 + Identifier 799534 799539 + ArrowFunction 799540 799590 + Parameter 799540 799542 + Identifier 799540 799542 + EqualsGreaterThanToken 799542 799545 + PropertyAccessExpression 799545 799590 + NonNullExpression 799545 799579 + CallExpression 799545 799578 + Identifier 799545 799564 + Identifier 799565 799566 + Identifier 799567 799577 + Identifier 799580 799590 + ReturnStatement 799628 799656 + Identifier 799648 799655 + ReturnStatement 799667 799695 + Identifier 799683 799694 + FunctionDeclaration 799702 800417 + Identifier 799718 799742 + Parameter 799743 799758 + Identifier 799743 799747 + TypeReference 799748 799758 + Identifier 799748 799758 + Block 799759 800417 + VariableStatement 799761 800118 + VariableDeclarationList 799761 800117 + VariableDeclaration 799967 800117 + Identifier 799967 799982 + CallExpression 799984 800117 + Identifier 799984 800003 + CallExpression 800004 800116 + Identifier 800004 800007 + PropertyAccessExpression 800008 800018 + Identifier 800008 800012 + Identifier 800013 800018 + ArrowFunction 800019 800115 + Parameter 800019 800021 + Identifier 800019 800021 + EqualsGreaterThanToken 800021 800024 + ConditionalExpression 800024 800115 + BinaryExpression 800024 800049 + Identifier 800024 800026 + EqualsEqualsEqualsToken 800026 800030 + Identifier 800030 800049 + QuestionToken 800049 800051 + ArrayLiteralExpression 800051 800070 + Identifier 800053 800069 + ColonToken 800070 800072 + CallExpression 800072 800115 + Identifier 800072 800092 + Identifier 800093 800094 + PropertyAccessExpression 800095 800114 + Identifier 800095 800109 + Identifier 800110 800114 + VariableStatement 800118 800246 + VariableDeclarationList 800118 800245 + VariableDeclaration 800133 800245 + Identifier 800133 800153 + CallExpression 800155 800245 + Identifier 800155 800174 + CallExpression 800175 800244 + Identifier 800175 800178 + PropertyAccessExpression 800179 800189 + Identifier 800179 800183 + Identifier 800184 800189 + ArrowFunction 800190 800243 + Parameter 800190 800192 + Identifier 800190 800192 + EqualsGreaterThanToken 800192 800195 + CallExpression 800195 800243 + Identifier 800195 800215 + Identifier 800216 800217 + PropertyAccessExpression 800218 800242 + Identifier 800218 800232 + Identifier 800233 800242 + VariableStatement 800246 800306 + VariableDeclarationList 800246 800305 + VariableDeclaration 800261 800305 + Identifier 800261 800272 + CallExpression 800274 800305 + Identifier 800274 800293 + PropertyAccessExpression 800294 800304 + Identifier 800294 800298 + Identifier 800299 800304 + ExpressionStatement 800306 800410 + CallExpression 800306 800409 + Identifier 800306 800340 + Identifier 800341 800345 + Identifier 800346 800359 + Identifier 800360 800375 + Identifier 800376 800396 + Identifier 800397 800408 + FunctionDeclaration 800417 800481 + Identifier 800433 800448 + Parameter 800449 800460 + Identifier 800449 800454 + TypeReference 800455 800460 + Identifier 800455 800460 + Parameter 800461 800473 + Identifier 800461 800467 + TypeReference 800468 800473 + Identifier 800468 800473 + TypeReference 800475 800480 + Identifier 800475 800480 + FunctionDeclaration 800481 800579 + Identifier 800495 800510 + Parameter 800511 800534 + Identifier 800511 800516 + UnionType 800517 800534 + TypeReference 800517 800522 + Identifier 800517 800522 + UndefinedKeyword 800524 800534 + Parameter 800535 800559 + Identifier 800535 800541 + UnionType 800542 800559 + TypeReference 800542 800547 + Identifier 800542 800547 + UndefinedKeyword 800549 800559 + UnionType 800561 800578 + TypeReference 800561 800566 + Identifier 800561 800566 + UndefinedKeyword 800568 800578 + FunctionDeclaration 800579 800772 + Identifier 800593 800608 + Parameter 800609 800632 + Identifier 800609 800614 + UnionType 800615 800632 + TypeReference 800615 800620 + Identifier 800615 800620 + UndefinedKeyword 800622 800632 + Parameter 800633 800657 + Identifier 800633 800639 + UnionType 800640 800657 + TypeReference 800640 800645 + Identifier 800640 800645 + UndefinedKeyword 800647 800657 + UnionType 800659 800676 + TypeReference 800659 800664 + Identifier 800659 800664 + UndefinedKeyword 800666 800676 + Block 800676 800772 + ReturnStatement 800678 800765 + ConditionalExpression 800694 800764 + PrefixUnaryExpression 800694 800701 + Identifier 800696 800701 + QuestionToken 800701 800703 + Identifier 800703 800709 + ColonToken 800709 800711 + ConditionalExpression 800711 800764 + PrefixUnaryExpression 800711 800718 + Identifier 800713 800718 + QuestionToken 800718 800720 + Identifier 800720 800726 + ColonToken 800726 800728 + CallExpression 800728 800764 + Identifier 800728 800748 + ArrayLiteralExpression 800749 800763 + Identifier 800750 800755 + Identifier 800756 800762 + FunctionDeclaration 800772 801308 + Identifier 800788 800799 + Parameter 800800 800822 + Identifier 800800 800805 + TypeOperator 800806 800822 + ArrayType 800815 800822 + TypeReference 800815 800820 + Identifier 800815 800820 + TypeOperator 800824 800843 + ArrayType 800833 800843 + BooleanKeyword 800833 800841 + Block 800843 801308 + VariableStatement 800845 800967 + VariableDeclarationList 800845 800966 + VariableDeclaration 800860 800966 + Identifier 800860 800881 + CallExpression 800883 800966 + Identifier 800883 800894 + Identifier 800895 800900 + ArrowFunction 800901 800965 + Parameter 800901 800903 + Identifier 800901 800903 + EqualsGreaterThanToken 800903 800906 + BinaryExpression 800906 800965 + PropertyAccessExpression 800906 800961 + CallExpression 800906 800954 + Identifier 800906 800926 + Identifier 800927 800928 + PropertyAccessExpression 800929 800953 + Identifier 800929 800943 + Identifier 800944 800953 + Identifier 800955 800961 + GreaterThanToken 800961 800963 + NumericLiteral 800963 800965 + VariableStatement 800967 801031 + VariableDeclarationList 800967 801030 + VariableDeclaration 800982 801030 + Identifier 800982 800993 + CallExpression 800995 801030 + Identifier 800995 800999 + Identifier 801000 801005 + Identifier 801006 801029 + IfStatement 801031 801273 + BinaryExpression 801045 801128 + BinaryExpression 801045 801069 + Identifier 801045 801065 + GreaterThanToken 801065 801067 + NumericLiteral 801067 801069 + AmpersandAmpersandToken 801069 801072 + BinaryExpression 801072 801128 + Identifier 801072 801093 + EqualsEqualsEqualsToken 801093 801097 + CallExpression 801097 801128 + Identifier 801097 801108 + Identifier 801109 801119 + ArrowFunction 801120 801127 + Parameter 801120 801122 + Identifier 801120 801122 + EqualsGreaterThanToken 801122 801125 + Identifier 801125 801127 + Block 801129 801273 + VariableStatement 801131 801212 + VariableDeclarationList 801131 801211 + VariableDeclaration 801150 801211 + Identifier 801150 801166 + CallExpression 801168 801211 + PropertyAccessExpression 801168 801187 + Identifier 801168 801179 + Identifier 801180 801187 + TrueKeyword 801188 801210 + ExpressionStatement 801212 801262 + BinaryExpression 801212 801261 + ElementAccessExpression 801212 801253 + Identifier 801212 801236 + Identifier 801237 801252 + EqualsToken 801253 801255 + FalseKeyword 801255 801261 + ReturnStatement 801273 801301 + Identifier 801289 801300 + FunctionDeclaration 801308 801849 + Identifier 801324 801341 + Parameter 801342 801352 + Identifier 801342 801346 + TypeReference 801347 801352 + Identifier 801347 801352 + Parameter 801353 801376 + Identifier 801353 801359 + TypeOperator 801360 801376 + ArrayType 801369 801376 + TypeReference 801369 801374 + Identifier 801369 801374 + Parameter 801377 801408 + Identifier 801377 801388 + TypeOperator 801389 801408 + ArrayType 801398 801408 + BooleanKeyword 801398 801406 + Parameter 801409 801423 + Identifier 801409 801415 + NumberKeyword 801416 801423 + TypeReference 801425 801430 + Identifier 801425 801430 + Block 801430 801849 + VariableStatement 801432 801472 + VariableDeclarationList 801432 801471 + VariableDeclaration 801447 801471 + Identifier 801447 801458 + ArrayType 801459 801466 + TypeReference 801459 801464 + Identifier 801459 801464 + ArrayLiteralExpression 801468 801471 + ForStatement 801472 801793 + VariableDeclarationList 801487 801496 + VariableDeclaration 801490 801496 + Identifier 801490 801492 + NumericLiteral 801494 801496 + BinaryExpression 801497 801514 + Identifier 801497 801499 + LessThanToken 801499 801501 + PropertyAccessExpression 801501 801514 + Identifier 801501 801507 + Identifier 801508 801514 + PostfixUnaryExpression 801515 801519 + Identifier 801515 801517 + Block 801520 801793 + IfStatement 801522 801782 + BinaryExpression 801540 801551 + Identifier 801540 801541 + EqualsEqualsEqualsToken 801541 801545 + Identifier 801545 801551 + Block 801552 801609 + ExpressionStatement 801554 801594 + CallExpression 801554 801593 + PropertyAccessExpression 801554 801587 + Identifier 801554 801582 + Identifier 801583 801587 + Identifier 801588 801592 + IfStatement 801627 801782 + ElementAccessExpression 801632 801645 + Identifier 801632 801642 + Identifier 801643 801644 + Block 801646 801782 + ExpressionStatement 801648 801767 + CallExpression 801648 801766 + PropertyAccessExpression 801648 801681 + Identifier 801648 801676 + Identifier 801677 801681 + CallExpression 801682 801765 + Identifier 801682 801706 + ElementAccessExpression 801707 801764 + CallExpression 801707 801761 + Identifier 801707 801726 + ElementAccessExpression 801727 801735 + Identifier 801727 801732 + Identifier 801733 801734 + PropertyAccessExpression 801736 801760 + Identifier 801736 801750 + Identifier 801751 801760 + NumericLiteral 801762 801763 + ReturnStatement 801793 801842 + CallExpression 801809 801841 + Identifier 801809 801829 + Identifier 801830 801840 + FunctionDeclaration 801849 804002 + Identifier 801865 801896 + Parameter 801897 801919 + Identifier 801897 801901 + TypeReference 801902 801919 + Identifier 801902 801919 + Block 801920 804002 + VariableStatement 801922 802182 + VariableDeclarationList 801922 802181 + VariableDeclaration 802141 802181 + Identifier 802141 802156 + UnionType 802157 802181 + ArrayType 802157 802169 + TypeReference 802157 802167 + Identifier 802157 802167 + UndefinedKeyword 802171 802181 + VariableStatement 802182 802241 + VariableDeclarationList 802182 802240 + VariableDeclaration 802195 802240 + Identifier 802195 802215 + UnionType 802216 802240 + ArrayType 802216 802228 + TypeReference 802216 802226 + Identifier 802216 802226 + UndefinedKeyword 802230 802240 + VariableStatement 802241 802291 + VariableDeclarationList 802241 802290 + VariableDeclaration 802254 802290 + Identifier 802254 802265 + UnionType 802266 802290 + ArrayType 802266 802278 + TypeReference 802266 802276 + Identifier 802266 802276 + UndefinedKeyword 802280 802290 + VariableStatement 802291 802326 + VariableDeclarationList 802291 802325 + VariableDeclaration 802306 802325 + Identifier 802306 802312 + PropertyAccessExpression 802314 802325 + Identifier 802314 802319 + Identifier 802320 802325 + VariableStatement 802326 802373 + VariableDeclarationList 802326 802372 + VariableDeclaration 802341 802372 + Identifier 802341 802352 + CallExpression 802354 802372 + Identifier 802354 802365 + Identifier 802366 802371 + VariableStatement 802373 802433 + VariableDeclarationList 802373 802432 + VariableDeclaration 802388 802432 + Identifier 802388 802399 + CallExpression 802401 802432 + Identifier 802401 802412 + Identifier 802413 802423 + ArrowFunction 802424 802431 + Parameter 802424 802426 + Identifier 802424 802426 + EqualsGreaterThanToken 802426 802429 + Identifier 802429 802431 + ForStatement 802433 803849 + VariableDeclarationList 802448 802457 + VariableDeclaration 802451 802457 + Identifier 802451 802453 + NumericLiteral 802455 802457 + BinaryExpression 802458 802475 + Identifier 802458 802460 + LessThanToken 802460 802462 + PropertyAccessExpression 802462 802475 + Identifier 802462 802468 + Identifier 802469 802475 + PostfixUnaryExpression 802476 802480 + Identifier 802476 802478 + Block 802481 803849 + VariableStatement 802483 802521 + VariableDeclarationList 802483 802520 + VariableDeclaration 802502 802520 + Identifier 802502 802504 + ElementAccessExpression 802506 802520 + PropertyAccessExpression 802506 802517 + Identifier 802506 802511 + Identifier 802512 802517 + Identifier 802518 802519 + IfStatement 802521 803586 + PrefixUnaryExpression 803002 803016 + ElementAccessExpression 803003 803016 + Identifier 803003 803013 + Identifier 803014 803015 + Block 803017 803586 + VariableStatement 803019 803102 + VariableDeclarationList 803019 803101 + VariableDeclaration 803040 803101 + Identifier 803040 803051 + CallExpression 803053 803101 + Identifier 803053 803073 + Identifier 803074 803075 + PropertyAccessExpression 803076 803100 + Identifier 803076 803090 + Identifier 803091 803100 + IfStatement 803102 803481 + BinaryExpression 803124 803159 + PropertyAccessExpression 803124 803141 + Identifier 803124 803134 + Identifier 803135 803141 + AmpersandAmpersandToken 803141 803144 + BinaryExpression 803144 803159 + Identifier 803144 803155 + GreaterThanToken 803155 803157 + NumericLiteral 803157 803159 + Block 803160 803481 + ExpressionStatement 803162 803462 + BinaryExpression 803162 803461 + Identifier 803162 803194 + EqualsToken 803194 803196 + CallExpression 803196 803461 + Identifier 803196 803200 + Identifier 803201 803211 + ArrowFunction 803212 803460 + Parameter 803212 803214 + Identifier 803212 803214 + EqualsGreaterThanToken 803214 803217 + Block 803217 803460 + VariableStatement 803219 803277 + VariableDeclarationList 803219 803276 + VariableDeclaration 803250 803276 + Identifier 803250 803256 + CallExpression 803258 803276 + Identifier 803258 803273 + Identifier 803274 803275 + ExpressionStatement 803277 803398 + BinaryExpression 803277 803397 + PropertyAccessExpression 803277 803327 + Identifier 803277 803308 + Identifier 803309 803327 + EqualsToken 803327 803329 + CallExpression 803329 803397 + Identifier 803329 803346 + CallExpression 803347 803374 + Identifier 803347 803371 + Identifier 803372 803373 + Identifier 803375 803381 + Identifier 803382 803393 + Identifier 803394 803396 + ReturnStatement 803398 803437 + Identifier 803430 803436 + ExpressionStatement 803481 803571 + BinaryExpression 803481 803570 + Identifier 803481 803518 + EqualsToken 803518 803520 + CallExpression 803520 803570 + Identifier 803520 803537 + Identifier 803538 803557 + Identifier 803558 803569 + ExpressionStatement 803586 803694 + BinaryExpression 803586 803693 + Identifier 803586 803614 + EqualsToken 803614 803616 + CallExpression 803616 803693 + Identifier 803616 803633 + Identifier 803634 803648 + CallExpression 803649 803692 + Identifier 803649 803669 + Identifier 803670 803671 + PropertyAccessExpression 803672 803691 + Identifier 803672 803686 + Identifier 803687 803691 + ExpressionStatement 803694 803838 + BinaryExpression 803694 803837 + Identifier 803694 803718 + EqualsToken 803718 803720 + CallExpression 803720 803837 + Identifier 803720 803731 + CallExpression 803732 803754 + Identifier 803732 803751 + Identifier 803752 803753 + ArrowFunction 803755 803824 + Parameter 803757 803762 + Identifier 803757 803762 + Parameter 803763 803771 + Identifier 803763 803771 + EqualsGreaterThanToken 803772 803775 + CallExpression 803775 803824 + Identifier 803775 803791 + Identifier 803792 803797 + Identifier 803798 803806 + FalseKeyword 803807 803823 + Identifier 803825 803836 + ExpressionStatement 803849 803995 + CallExpression 803849 803994 + Identifier 803849 803883 + Identifier 803884 803888 + Identifier 803889 803902 + BinaryExpression 803903 803932 + Identifier 803903 803918 + BarBarToken 803918 803921 + Identifier 803921 803932 + BinaryExpression 803933 803967 + Identifier 803933 803953 + BarBarToken 803953 803956 + Identifier 803956 803967 + BinaryExpression 803968 803993 + Identifier 803968 803979 + BarBarToken 803979 803982 + Identifier 803982 803993 + FunctionDeclaration 804002 804469 + Identifier 804018 804035 + Parameter 804036 804071 + Identifier 804036 804046 + UnionType 804047 804071 + ArrayType 804047 804059 + TypeReference 804047 804057 + Identifier 804047 804057 + UndefinedKeyword 804061 804071 + Parameter 804072 804108 + Identifier 804072 804086 + TypeOperator 804087 804108 + ArrayType 804096 804108 + TypeReference 804096 804106 + Identifier 804096 804106 + Block 804109 804469 + ForOfStatement 804111 804434 + VariableDeclarationList 804126 804135 + VariableDeclaration 804131 804135 + Identifier 804131 804135 + Identifier 804138 804152 + Block 804153 804434 + IfStatement 804155 804423 + BinaryExpression 804173 804350 + PrefixUnaryExpression 804173 804184 + Identifier 804174 804184 + BarBarToken 804184 804187 + CallExpression 804187 804350 + Identifier 804187 804193 + Identifier 804194 804204 + ArrowFunction 804205 804349 + Parameter 804205 804207 + Identifier 804205 804207 + EqualsGreaterThanToken 804207 804210 + PrefixUnaryExpression 804210 804349 + CallExpression 804212 804349 + Identifier 804212 804238 + Identifier 804239 804240 + Identifier 804241 804245 + FalseKeyword 804246 804269 + FalseKeyword 804270 804296 + FalseKeyword 804297 804325 + Identifier 804326 804348 + Block 804351 804423 + ExpressionStatement 804353 804408 + BinaryExpression 804353 804407 + Identifier 804353 804381 + EqualsToken 804381 804383 + CallExpression 804383 804407 + Identifier 804383 804390 + Identifier 804391 804401 + Identifier 804402 804406 + ReturnStatement 804434 804462 + Identifier 804450 804461 + FunctionDeclaration 804469 805154 + Identifier 804485 804501 + Parameter 804502 804537 + Identifier 804502 804512 + UnionType 804513 804537 + ArrayType 804513 804525 + TypeReference 804513 804523 + Identifier 804513 804523 + UndefinedKeyword 804527 804537 + Parameter 804538 804557 + Identifier 804538 804546 + TypeReference 804547 804557 + Identifier 804547 804557 + Parameter 804558 804573 + Identifier 804558 804564 + BooleanKeyword 804565 804573 + Block 804574 805154 + IfStatement 804576 805102 + Identifier 804590 804600 + Block 804601 805102 + ForStatement 804603 805091 + VariableDeclarationList 804622 804631 + VariableDeclaration 804625 804631 + Identifier 804625 804627 + NumericLiteral 804629 804631 + BinaryExpression 804632 804654 + Identifier 804632 804634 + LessThanToken 804634 804636 + PropertyAccessExpression 804636 804654 + Identifier 804636 804647 + Identifier 804648 804654 + PostfixUnaryExpression 804655 804659 + Identifier 804655 804657 + Block 804660 805091 + VariableStatement 804662 804707 + VariableDeclarationList 804662 804706 + VariableDeclaration 804685 804706 + Identifier 804685 804690 + ElementAccessExpression 804692 804706 + Identifier 804692 804703 + Identifier 804704 804705 + IfStatement 804707 805076 + BinaryExpression 804729 804761 + PropertyAccessExpression 804729 804741 + Identifier 804729 804733 + Identifier 804734 804741 + EqualsEqualsEqualsToken 804741 804745 + PropertyAccessExpression 804745 804761 + Identifier 804745 804753 + Identifier 804754 804761 + Block 804762 805076 + ExpressionStatement 804764 805017 + BinaryExpression 804764 805016 + ElementAccessExpression 804764 804799 + Identifier 804764 804796 + Identifier 804797 804798 + EqualsToken 804799 804801 + CallExpression 804801 805016 + Identifier 804801 804817 + PropertyAccessExpression 804818 804830 + Identifier 804818 804822 + Identifier 804823 804830 + ConditionalExpression 804831 804928 + Identifier 804831 804837 + QuestionToken 804837 804839 + CallExpression 804839 804879 + Identifier 804839 804852 + ArrayLiteralExpression 804853 804878 + PropertyAccessExpression 804854 804863 + Identifier 804854 804858 + Identifier 804859 804863 + PropertyAccessExpression 804864 804877 + Identifier 804864 804872 + Identifier 804873 804877 + ColonToken 804879 804881 + CallExpression 804881 804928 + Identifier 804881 804901 + ArrayLiteralExpression 804902 804927 + PropertyAccessExpression 804903 804912 + Identifier 804903 804907 + Identifier 804908 804912 + PropertyAccessExpression 804913 804926 + Identifier 804913 804921 + Identifier 804922 804926 + ConditionalExpression 804929 805015 + Identifier 804929 804935 + QuestionToken 804935 804937 + BinaryExpression 804937 804975 + PropertyAccessExpression 804937 804953 + Identifier 804937 804942 + Identifier 804943 804953 + BarBarToken 804953 804956 + PropertyAccessExpression 804956 804975 + Identifier 804956 804964 + Identifier 804965 804975 + ColonToken 804975 804977 + BinaryExpression 804977 805015 + PropertyAccessExpression 804977 804993 + Identifier 804977 804982 + Identifier 804983 804993 + AmpersandAmpersandToken 804993 804996 + PropertyAccessExpression 804996 805015 + Identifier 804996 805004 + Identifier 805005 805015 + ReturnStatement 805017 805057 + Identifier 805045 805056 + ReturnStatement 805102 805147 + CallExpression 805118 805146 + Identifier 805118 805125 + Identifier 805126 805136 + Identifier 805137 805145 + FunctionDeclaration 805154 810688 + Identifier 805241 805269 + Parameter 805270 805289 + Identifier 805270 805274 + TypeReference 805275 805289 + Identifier 805275 805289 + Block 805290 810688 + IfStatement 805292 806058 + PropertyAccessExpression 805306 805317 + Identifier 805306 805310 + Identifier 805311 805317 + Block 805318 806058 + ExpressionStatement 805320 805415 + CallExpression 805320 805414 + Identifier 805320 805358 + Identifier 805359 805363 + Identifier 805364 805377 + Identifier 805378 805389 + Identifier 805390 805401 + Identifier 805402 805413 + VariableStatement 805415 805556 + VariableDeclarationList 805415 805555 + VariableDeclaration 805434 805555 + Identifier 805434 805442 + CallExpression 805444 805555 + Identifier 805444 805474 + CallExpression 805475 805513 + Identifier 805475 805500 + PropertyAccessExpression 805501 805512 + Identifier 805501 805505 + Identifier 805506 805512 + NonNullExpression 805514 805527 + PropertyAccessExpression 805514 805526 + Identifier 805514 805519 + Identifier 805520 805526 + FalseKeyword 805528 805554 + VariableStatement 805556 805683 + VariableDeclarationList 805556 805682 + VariableDeclaration 805575 805682 + Identifier 805575 805590 + CallExpression 805592 805682 + Identifier 805592 805614 + CallExpression 805615 805667 + Identifier 805615 805634 + PropertyAccessExpression 805635 805646 + Identifier 805635 805639 + Identifier 805640 805646 + PropertyAccessExpression 805647 805666 + Identifier 805647 805661 + Identifier 805662 805666 + NonNullExpression 805668 805681 + PropertyAccessExpression 805668 805680 + Identifier 805668 805673 + Identifier 805674 805680 + VariableStatement 805683 805820 + VariableDeclarationList 805683 805819 + VariableDeclaration 805702 805819 + Identifier 805702 805722 + CallExpression 805724 805819 + Identifier 805724 805746 + CallExpression 805747 805804 + Identifier 805747 805766 + PropertyAccessExpression 805767 805778 + Identifier 805767 805771 + Identifier 805772 805778 + PropertyAccessExpression 805779 805803 + Identifier 805779 805793 + Identifier 805794 805803 + NonNullExpression 805805 805818 + PropertyAccessExpression 805805 805817 + Identifier 805805 805810 + Identifier 805811 805817 + VariableStatement 805820 805923 + VariableDeclarationList 805820 805922 + VariableDeclaration 805839 805922 + Identifier 805839 805850 + CallExpression 805852 805922 + Identifier 805852 805874 + CallExpression 805875 805907 + Identifier 805875 805894 + PropertyAccessExpression 805895 805906 + Identifier 805895 805899 + Identifier 805900 805906 + NonNullExpression 805908 805921 + PropertyAccessExpression 805908 805920 + Identifier 805908 805913 + Identifier 805914 805920 + ExpressionStatement 805923 806026 + CallExpression 805923 806025 + Identifier 805923 805961 + Identifier 805962 805966 + Identifier 805967 805975 + Identifier 805976 805991 + Identifier 805992 806012 + Identifier 806013 806024 + ReturnStatement 806026 806047 + VariableStatement 806058 806112 + VariableDeclarationList 806058 806111 + VariableDeclaration 806073 806111 + Identifier 806073 806080 + CallExpression 806082 806111 + Identifier 806082 806098 + PropertyAccessExpression 806099 806110 + Identifier 806099 806103 + Identifier 806104 806110 + IfStatement 806112 806715 + BinaryExpression 806126 806164 + PropertyAccessExpression 806126 806138 + Identifier 806126 806132 + Identifier 806133 806138 + AmpersandToken 806138 806140 + PropertyAccessExpression 806140 806164 + Identifier 806140 806152 + Identifier 806153 806164 + Block 806165 806715 + ExpressionStatement 806167 806262 + CallExpression 806167 806261 + Identifier 806167 806205 + Identifier 806206 806210 + Identifier 806211 806224 + Identifier 806225 806236 + Identifier 806237 806248 + Identifier 806249 806260 + VariableStatement 806262 806319 + VariableDeclarationList 806262 806318 + VariableDeclaration 806281 806318 + Identifier 806281 806289 + CallExpression 806291 806318 + Identifier 806291 806310 + Identifier 806311 806317 + VariableStatement 806319 806416 + VariableDeclarationList 806319 806415 + VariableDeclaration 806338 806415 + Identifier 806338 806353 + CallExpression 806355 806415 + Identifier 806355 806377 + CallExpression 806378 806414 + PropertyAccessExpression 806378 806389 + Identifier 806378 806385 + Identifier 806386 806389 + PropertyAccessExpression 806390 806413 + Identifier 806390 806408 + Identifier 806409 806413 + VariableStatement 806416 806517 + VariableDeclarationList 806416 806516 + VariableDeclaration 806435 806516 + Identifier 806435 806455 + CallExpression 806457 806516 + Identifier 806457 806479 + CallExpression 806480 806515 + PropertyAccessExpression 806480 806491 + Identifier 806480 806487 + Identifier 806488 806491 + PropertyAccessExpression 806492 806514 + Identifier 806492 806510 + Identifier 806511 806514 + VariableStatement 806517 806580 + VariableDeclarationList 806517 806579 + VariableDeclaration 806536 806579 + Identifier 806536 806547 + CallExpression 806549 806579 + Identifier 806549 806571 + Identifier 806572 806578 + ExpressionStatement 806580 806683 + CallExpression 806580 806682 + Identifier 806580 806618 + Identifier 806619 806623 + Identifier 806624 806632 + Identifier 806633 806648 + Identifier 806649 806669 + Identifier 806670 806681 + ReturnStatement 806683 806704 + VariableStatement 806715 806827 + VariableDeclarationList 806715 806826 + VariableDeclaration 806789 806826 + Identifier 806789 806797 + CallExpression 806799 806826 + Identifier 806799 806818 + Identifier 806819 806825 + VariableStatement 806827 806877 + VariableDeclarationList 806827 806876 + VariableDeclaration 806840 806876 + Identifier 806840 806851 + UnionType 806852 806876 + ArrayType 806852 806864 + TypeReference 806852 806862 + Identifier 806852 806862 + UndefinedKeyword 806866 806876 + IfStatement 806877 807318 + BinaryExpression 806891 806918 + Identifier 806891 806897 + EqualsEqualsEqualsToken 806897 806901 + Identifier 806901 806918 + Block 806919 807318 + VariableStatement 806921 806980 + VariableDeclarationList 806921 806979 + VariableDeclaration 806940 806979 + Identifier 806940 806949 + NewExpression 806951 806979 + Identifier 806955 806959 + TypeReference 806960 806968 + Identifier 806960 806968 + TypeReference 806969 806976 + Identifier 806969 806976 + ExpressionStatement 806980 807274 + CallExpression 806980 807273 + PropertyAccessExpression 806980 807009 + Identifier 806980 807001 + Identifier 807002 807009 + ArrowFunction 807010 807272 + Parameter 807010 807011 + Identifier 807010 807011 + EqualsGreaterThanToken 807011 807014 + Block 807014 807272 + IfStatement 807016 807257 + BinaryExpression 807038 807182 + PrefixUnaryExpression 807038 807074 + ParenthesizedExpression 807039 807074 + BinaryExpression 807040 807073 + PropertyAccessExpression 807040 807047 + Identifier 807040 807041 + Identifier 807042 807047 + AmpersandToken 807047 807049 + PropertyAccessExpression 807049 807073 + Identifier 807049 807061 + Identifier 807062 807073 + AmpersandAmpersandToken 807074 807077 + PrefixUnaryExpression 807077 807182 + ParenthesizedExpression 807079 807182 + BinaryExpression 807080 807181 + BinaryExpression 807080 807139 + BinaryExpression 807080 807113 + PropertyAccessExpression 807080 807087 + Identifier 807080 807081 + Identifier 807082 807087 + AmpersandToken 807087 807089 + PropertyAccessExpression 807089 807113 + Identifier 807089 807101 + Identifier 807102 807113 + AmpersandAmpersandToken 807113 807116 + PropertyAccessExpression 807116 807139 + PropertyAccessExpression 807116 807131 + Identifier 807116 807118 + Identifier 807119 807131 + QuestionDotToken 807131 807133 + Identifier 807133 807139 + AmpersandAmpersandToken 807139 807142 + CallExpression 807142 807181 + Identifier 807142 807148 + PropertyAccessExpression 807149 807163 + Identifier 807149 807150 + Identifier 807151 807163 + Identifier 807164 807180 + Block 807183 807257 + ExpressionStatement 807185 807238 + CallExpression 807185 807237 + PropertyAccessExpression 807185 807219 + Identifier 807185 807215 + Identifier 807216 807219 + PropertyAccessExpression 807220 807233 + Identifier 807220 807221 + Identifier 807222 807233 + Identifier 807234 807236 + ExpressionStatement 807274 807307 + BinaryExpression 807274 807306 + Identifier 807274 807295 + EqualsToken 807295 807297 + Identifier 807297 807306 + VariableStatement 807318 807380 + VariableDeclarationList 807318 807379 + VariableDeclaration 807331 807379 + Identifier 807331 807356 + UnionType 807357 807379 + TypeReference 807357 807367 + Identifier 807357 807367 + UndefinedKeyword 807369 807379 + ExpressionStatement 807380 807466 + CallExpression 807380 807465 + Identifier 807380 807414 + Identifier 807415 807419 + Identifier 807420 807428 + Identifier 807429 807440 + Identifier 807441 807452 + Identifier 807453 807464 + IfStatement 807466 808130 + BinaryExpression 807480 807512 + PropertyAccessExpression 807480 807492 + Identifier 807480 807486 + Identifier 807487 807492 + AmpersandToken 807492 807494 + PropertyAccessExpression 807494 807512 + Identifier 807494 807506 + Identifier 807507 807512 + Block 807513 808130 + VariableStatement 807515 807589 + VariableDeclarationList 807515 807588 + VariableDeclaration 807534 807588 + Identifier 807534 807544 + CallExpression 807546 807588 + Identifier 807546 807580 + Identifier 807581 807587 + VariableStatement 807589 807672 + VariableDeclarationList 807589 807671 + VariableDeclaration 807608 807671 + Identifier 807608 807628 + CallExpression 807630 807671 + Identifier 807630 807660 + Identifier 807661 807670 + IfStatement 807672 808119 + BinaryExpression 807690 807786 + PropertyAccessExpression 807690 807715 + Identifier 807690 807709 + Identifier 807710 807715 + AmpersandToken 807715 807717 + ParenthesizedExpression 807717 807786 + BinaryExpression 807719 807785 + BinaryExpression 807719 807760 + PropertyAccessExpression 807719 807735 + Identifier 807719 807728 + Identifier 807729 807735 + BarToken 807735 807737 + PropertyAccessExpression 807737 807760 + Identifier 807737 807747 + Identifier 807748 807760 + BarToken 807760 807762 + PropertyAccessExpression 807762 807785 + Identifier 807762 807772 + Identifier 807773 807785 + Block 807787 807981 + ExpressionStatement 807789 807877 + BinaryExpression 807789 807876 + Identifier 807789 807814 + EqualsToken 807814 807816 + CallExpression 807816 807876 + Identifier 807816 807834 + CallExpression 807835 807875 + Identifier 807835 807866 + Identifier 807867 807874 + ExpressionStatement 807877 807966 + CallExpression 807877 807965 + Identifier 807877 807914 + Identifier 807915 807922 + CallExpression 807923 807964 + Identifier 807923 807943 + Identifier 807944 807963 + IfStatement 807999 808119 + BinaryExpression 808004 808035 + Identifier 808004 808023 + EqualsEqualsEqualsToken 808023 808027 + Identifier 808027 808035 + Block 808036 808119 + ExpressionStatement 808038 808104 + BinaryExpression 808038 808103 + Identifier 808038 808080 + EqualsToken 808080 808082 + Identifier 808082 808103 + VariableStatement 808130 808201 + VariableDeclarationList 808130 808200 + VariableDeclaration 808147 808200 + Identifier 808147 808159 + CallExpression 808161 808200 + Identifier 808161 808191 + Identifier 808192 808199 + IfStatement 808201 808839 + Identifier 808215 808226 + Block 808227 808336 + ExpressionStatement 808229 808325 + BinaryExpression 808229 808324 + Identifier 808229 808253 + EqualsToken 808253 808255 + CallExpression 808255 808324 + Identifier 808255 808282 + Identifier 808283 808294 + CallExpression 808295 808323 + Identifier 808295 808305 + CallExpression 808306 808322 + PropertyAccessExpression 808306 808320 + Identifier 808306 808313 + Identifier 808314 808320 + Block 808350 808839 + IfStatement 808352 808488 + Identifier 808370 808394 + Block 808395 808488 + ExpressionStatement 808397 808473 + BinaryExpression 808397 808472 + Identifier 808397 808425 + EqualsToken 808425 808427 + CallExpression 808427 808472 + Identifier 808427 808434 + Identifier 808435 808445 + Identifier 808446 808471 + IfStatement 808488 808828 + BinaryExpression 808506 808725 + BinaryExpression 808506 808555 + PropertyAccessExpression 808506 808536 + Identifier 808506 808530 + Identifier 808531 808536 + AmpersandToken 808536 808538 + PropertyAccessExpression 808538 808555 + Identifier 808538 808550 + Identifier 808551 808555 + AmpersandAmpersandToken 808555 808558 + ParenthesizedExpression 808558 808725 + BinaryExpression 808560 808724 + BinaryExpression 808560 808614 + PropertyAccessExpression 808560 808597 + CallExpression 808560 808591 + Identifier 808560 808583 + Identifier 808584 808590 + Identifier 808592 808597 + AmpersandToken 808597 808599 + PropertyAccessExpression 808599 808614 + Identifier 808599 808609 + Identifier 808610 808614 + BarBarToken 808614 808617 + CallExpression 808617 808724 + Identifier 808617 808643 + PropertyAccessExpression 808644 808659 + Identifier 808644 808648 + Identifier 808649 808659 + ArrowFunction 808660 808723 + Parameter 808660 808665 + Identifier 808660 808665 + EqualsGreaterThanToken 808665 808668 + PrefixUnaryExpression 808668 808723 + PrefixUnaryExpression 808670 808723 + ParenthesizedExpression 808671 808723 + BinaryExpression 808672 808722 + PropertyAccessExpression 808672 808699 + CallExpression 808672 808693 + Identifier 808672 808687 + Identifier 808688 808692 + Identifier 808694 808699 + AmpersandToken 808699 808701 + PropertyAccessExpression 808701 808722 + Identifier 808701 808711 + Identifier 808712 808722 + Block 808740 808828 + ExpressionStatement 808742 808813 + BinaryExpression 808742 808812 + Identifier 808742 808770 + EqualsToken 808770 808772 + CallExpression 808772 808812 + Identifier 808772 808779 + Identifier 808780 808790 + Identifier 808791 808811 + ExpressionStatement 808839 808939 + CallExpression 808839 808938 + Identifier 808839 808873 + Identifier 808874 808878 + Identifier 808879 808887 + Identifier 808888 808899 + Identifier 808900 808911 + BinaryExpression 808912 808937 + Identifier 808912 808923 + BarBarToken 808923 808926 + Identifier 808926 808937 + IfStatement 808939 809465 + BinaryExpression 809327 809385 + PropertyAccessExpression 809327 809339 + Identifier 809327 809333 + Identifier 809334 809339 + AmpersandToken 809339 809341 + ParenthesizedExpression 809341 809385 + BinaryExpression 809343 809384 + PropertyAccessExpression 809343 809363 + Identifier 809343 809354 + Identifier 809355 809363 + BarToken 809363 809365 + PropertyAccessExpression 809365 809384 + Identifier 809365 809377 + Identifier 809378 809384 + Block 809386 809465 + ExpressionStatement 809388 809454 + BinaryExpression 809388 809453 + PropertyAccessExpression 809388 809421 + Identifier 809388 809406 + Identifier 809407 809421 + EqualsToken 809421 809423 + CallExpression 809423 809453 + Identifier 809423 809445 + Identifier 809446 809452 + IfStatement 809465 810681 + BinaryExpression 809541 809573 + PropertyAccessExpression 809541 809553 + Identifier 809541 809547 + Identifier 809548 809553 + AmpersandToken 809553 809555 + PropertyAccessExpression 809555 809573 + Identifier 809555 809567 + Identifier 809568 809573 + Block 809574 810681 + VariableStatement 809576 809650 + VariableDeclarationList 809576 809649 + VariableDeclaration 809595 809649 + Identifier 809595 809605 + CallExpression 809607 809649 + Identifier 809607 809641 + Identifier 809642 809648 + VariableStatement 809650 809794 + VariableDeclarationList 809650 809793 + VariableDeclaration 809667 809793 + Identifier 809667 809687 + ConditionalExpression 809689 809793 + PropertyAccessExpression 809689 809704 + Identifier 809689 809696 + Identifier 809697 809704 + QuestionToken 809704 809706 + CallExpression 809706 809780 + Identifier 809706 809728 + CallExpression 809729 809779 + PropertyAccessExpression 809729 809747 + PropertyAccessExpression 809729 809743 + Identifier 809729 809735 + Identifier 809736 809743 + Identifier 809744 809747 + PropertyAccessExpression 809748 809778 + Identifier 809748 809766 + Identifier 809767 809778 + ColonToken 809780 809782 + Identifier 809782 809793 + IfStatement 809794 810465 + BinaryExpression 809812 809847 + PropertyAccessExpression 809812 809824 + Identifier 809812 809818 + Identifier 809819 809824 + AmpersandToken 809824 809826 + PropertyAccessExpression 809826 809847 + Identifier 809826 809838 + Identifier 809839 809847 + Block 809848 810465 + ExpressionStatement 809850 810450 + BinaryExpression 809850 810449 + Identifier 809850 809887 + EqualsToken 809887 809889 + CallExpression 809889 810449 + Identifier 809889 809898 + CallExpression 809899 809948 + PropertyAccessExpression 809899 809946 + Identifier 809899 809940 + Identifier 809941 809946 + CallExpression 809949 810429 + Identifier 809949 809981 + PropertyAccessExpression 809982 810027 + Identifier 809982 810012 + Identifier 810013 810027 + ArrowFunction 810028 810405 + Parameter 810028 810057 + Identifier 810028 810057 + EqualsGreaterThanToken 810057 810060 + ConditionalExpression 810060 810405 + CallExpression 810060 810122 + Identifier 810060 810105 + PropertyAccessExpression 810106 810121 + Identifier 810106 810109 + Identifier 810110 810121 + QuestionToken 810122 810124 + CallExpression 810124 810360 + Identifier 810124 810173 + PropertyAccessExpression 810174 810189 + Identifier 810174 810177 + Identifier 810178 810189 + PropertyAccessExpression 810190 810209 + Identifier 810190 810194 + Identifier 810195 810209 + PropertyAccessExpression 810210 810228 + Identifier 810210 810214 + Identifier 810215 810228 + PropertyAccessExpression 810229 810244 + Identifier 810229 810233 + Identifier 810234 810244 + Identifier 810245 810255 + Identifier 810256 810292 + PropertyAccessExpression 810293 810314 + Identifier 810293 810297 + Identifier 810298 810314 + BinaryExpression 810315 810359 + PropertyAccessExpression 810315 810325 + Identifier 810315 810319 + Identifier 810320 810325 + AmpersandToken 810325 810327 + PropertyAccessExpression 810327 810359 + Identifier 810327 810342 + Identifier 810343 810359 + ColonToken 810360 810362 + Identifier 810362 810405 + IfStatement 810465 810609 + PrefixUnaryExpression 810483 810510 + PropertyAccessExpression 810484 810510 + Identifier 810484 810503 + Identifier 810504 810510 + Block 810511 810609 + ExpressionStatement 810513 810594 + BinaryExpression 810513 810593 + Identifier 810513 810550 + EqualsToken 810550 810552 + CallExpression 810552 810593 + Identifier 810552 810582 + Identifier 810583 810592 + ExpressionStatement 810609 810670 + BinaryExpression 810609 810669 + PropertyAccessExpression 810609 810647 + Identifier 810609 810627 + Identifier 810628 810647 + EqualsToken 810647 810649 + Identifier 810649 810669 + TypeAliasDeclaration 810688 810809 + Identifier 810700 810729 + IntersectionType 810731 810808 + TypeReference 810731 810749 + Identifier 810731 810749 + TypeLiteral 810751 810808 + PropertySignature 810753 810780 + Identifier 810753 810764 + TypeReference 810765 810779 + Identifier 810765 810779 + PropertySignature 810780 810806 + Identifier 810780 810790 + TypeReference 810791 810805 + Identifier 810791 810805 + FunctionDeclaration 810809 811256 + Identifier 810823 810844 + Parameter 810845 810863 + Identifier 810845 810857 + TypeReference 810858 810863 + Identifier 810858 810863 + Parameter 810864 810899 + Identifier 810864 810869 + TypeReference 810870 810899 + Identifier 810870 810899 + Parameter 810900 810918 + Identifier 810900 810912 + TypeReference 810913 810918 + Identifier 810913 810918 + Block 810919 811256 + ReturnStatement 810921 811249 + CallExpression 811106 811248 + Identifier 811106 811122 + Identifier 811123 811135 + CallExpression 811136 811247 + Identifier 811136 811153 + ArrayLiteralExpression 811154 811187 + PropertyAccessExpression 811155 811169 + Identifier 811155 811159 + Identifier 811160 811169 + PropertyAccessExpression 811170 811186 + Identifier 811170 811175 + Identifier 811176 811186 + ArrayLiteralExpression 811188 811246 + CallExpression 811190 811213 + Identifier 811190 811210 + NumericLiteral 811211 811212 + CallExpression 811214 811245 + Identifier 811214 811230 + ArrayLiteralExpression 811231 811244 + Identifier 811232 811243 + FunctionDeclaration 811256 812316 + Identifier 811608 811629 + Parameter 811630 811653 + Identifier 811630 811634 + TypeReference 811635 811653 + Identifier 811635 811653 + Block 811654 812316 + VariableStatement 811656 811734 + VariableDeclarationList 811656 811733 + VariableDeclaration 811671 811733 + Identifier 811671 811682 + CallExpression 811684 811733 + Identifier 811684 811716 + PropertyAccessExpression 811717 811732 + Identifier 811717 811721 + Identifier 811722 811732 + IfStatement 811734 811865 + PrefixUnaryExpression 811748 811830 + ParenthesizedExpression 811749 811830 + BinaryExpression 811750 811829 + BinaryExpression 811750 811784 + PropertyAccessExpression 811750 811766 + Identifier 811750 811760 + Identifier 811761 811766 + AmpersandToken 811766 811768 + PropertyAccessExpression 811768 811784 + Identifier 811768 811778 + Identifier 811779 811784 + BarBarToken 811784 811787 + BinaryExpression 811787 811829 + PropertyAccessExpression 811787 811804 + Identifier 811787 811798 + Identifier 811799 811804 + AmpersandToken 811804 811806 + PropertyAccessExpression 811806 811829 + Identifier 811806 811816 + Identifier 811817 811829 + Block 811831 811865 + ReturnStatement 811833 811854 + VariableStatement 811865 811997 + VariableDeclarationList 811865 811996 + VariableDeclaration 811880 811996 + Identifier 811880 811887 + ConditionalExpression 811889 811996 + ParenthesizedExpression 811889 811926 + BinaryExpression 811891 811925 + PropertyAccessExpression 811891 811907 + Identifier 811891 811901 + Identifier 811902 811907 + AmpersandToken 811907 811909 + PropertyAccessExpression 811909 811925 + Identifier 811909 811919 + Identifier 811920 811925 + QuestionToken 811926 811928 + PropertyAccessExpression 811928 811961 + ParenthesizedExpression 811928 811954 + AsExpression 811930 811953 + Identifier 811930 811940 + TypeReference 811943 811953 + Identifier 811943 811953 + Identifier 811955 811961 + ColonToken 811961 811963 + ParenthesizedExpression 811963 811996 + AsExpression 811965 811995 + Identifier 811965 811975 + TypeReference 811978 811995 + Identifier 811978 811995 + IfStatement 811997 812097 + BinaryExpression 812011 812062 + PrefixUnaryExpression 812011 812018 + Identifier 812012 812018 + BarBarToken 812018 812021 + PrefixUnaryExpression 812021 812062 + ParenthesizedExpression 812023 812062 + BinaryExpression 812024 812061 + PropertyAccessExpression 812024 812036 + Identifier 812024 812030 + Identifier 812031 812036 + AmpersandToken 812036 812038 + PropertyAccessExpression 812038 812061 + Identifier 812038 812048 + Identifier 812049 812061 + Block 812063 812097 + ReturnStatement 812065 812086 + VariableStatement 812097 812228 + VariableDeclarationList 812097 812227 + VariableDeclaration 812112 812227 + Identifier 812112 812130 + CallExpression 812132 812227 + Identifier 812132 812152 + CallExpression 812153 812226 + PropertyAccessExpression 812153 812194 + PropertyAccessExpression 812153 812187 + ParenthesizedExpression 812153 812181 + AsExpression 812154 812180 + Identifier 812154 812160 + TypeReference 812163 812180 + Identifier 812163 812180 + Identifier 812182 812187 + Identifier 812188 812194 + ArrowFunction 812195 812225 + Parameter 812195 812196 + Identifier 812195 812196 + EqualsGreaterThanToken 812196 812199 + BinaryExpression 812199 812225 + Identifier 812199 812201 + ExclamationEqualsEqualsToken 812201 812205 + PropertyAccessExpression 812205 812225 + Identifier 812205 812210 + Identifier 812211 812225 + ReturnStatement 812228 812309 + ConditionalExpression 812244 812308 + BinaryExpression 812244 812276 + Identifier 812244 812262 + ExclamationEqualsEqualsToken 812262 812266 + Identifier 812266 812276 + QuestionToken 812276 812278 + Identifier 812278 812296 + ColonToken 812296 812298 + Identifier 812298 812308 + FunctionDeclaration 812316 815699 + Identifier 812332 812364 + Parameter 812365 812388 + Identifier 812365 812369 + TypeReference 812370 812388 + Identifier 812370 812388 + Block 812389 815699 + VariableStatement 812391 812463 + VariableDeclarationList 812391 812462 + VariableDeclaration 812406 812462 + Identifier 812406 812416 + CallExpression 812418 812462 + Identifier 812418 812437 + PropertyAccessExpression 812438 812449 + Identifier 812438 812442 + Identifier 812443 812449 + Identifier 812450 812461 + VariableStatement 812463 812531 + VariableDeclarationList 812463 812530 + VariableDeclaration 812478 812530 + Identifier 812478 812488 + CallExpression 812490 812530 + Identifier 812490 812513 + PropertyAccessExpression 812514 812529 + Identifier 812514 812518 + Identifier 812519 812529 + VariableStatement 812531 812625 + VariableDeclarationList 812531 812624 + VariableDeclaration 812546 812624 + Identifier 812546 812559 + ConditionalExpression 812561 812624 + BinaryExpression 812561 812609 + Identifier 812561 812571 + AmpersandToken 812571 812573 + PropertyAccessExpression 812573 812609 + Identifier 812573 812593 + Identifier 812594 812609 + QuestionToken 812609 812611 + FalseKeyword 812611 812617 + ColonToken 812617 812619 + TrueKeyword 812619 812624 + VariableStatement 812625 812731 + VariableDeclarationList 812625 812730 + VariableDeclaration 812640 812730 + Identifier 812640 812653 + ConditionalExpression 812655 812730 + BinaryExpression 812655 812703 + Identifier 812655 812665 + AmpersandToken 812665 812667 + PropertyAccessExpression 812667 812703 + Identifier 812667 812687 + Identifier 812688 812703 + QuestionToken 812703 812705 + NumericLiteral 812705 812707 + ColonToken 812707 812709 + PropertyAccessExpression 812709 812730 + Identifier 812709 812721 + Identifier 812722 812730 + VariableStatement 812731 812946 + VariableDeclarationList 812731 812945 + VariableDeclaration 812746 812945 + Identifier 812746 812757 + ConditionalExpression 812759 812945 + Identifier 812759 812769 + QuestionToken 812769 812771 + ArrayLiteralExpression 812771 812932 + CallExpression 812773 812931 + Identifier 812773 812788 + Identifier 812789 812799 + BinaryExpression 812800 812892 + CallExpression 812800 812877 + Identifier 812800 812823 + PropertyAccessExpression 812824 812838 + Identifier 812824 812833 + Identifier 812834 812838 + PropertyAccessExpression 812839 812855 + Identifier 812839 812844 + Identifier 812845 812855 + PropertyAccessExpression 812856 812876 + Identifier 812856 812861 + Identifier 812862 812876 + BarBarToken 812877 812880 + Identifier 812880 812892 + BinaryExpression 812893 812930 + Identifier 812893 812906 + AmpersandAmpersandToken 812906 812909 + PropertyAccessExpression 812909 812930 + Identifier 812909 812919 + Identifier 812920 812930 + ColonToken 812932 812934 + Identifier 812934 812945 + VariableStatement 812946 812992 + VariableDeclarationList 812946 812991 + VariableDeclaration 812961 812991 + Identifier 812961 812969 + CallExpression 812971 812991 + Identifier 812971 812989 + VariableStatement 812992 813055 + VariableDeclarationList 812992 813054 + VariableDeclaration 813007 813054 + Identifier 813007 813025 + CallExpression 813027 813054 + Identifier 813027 813048 + Identifier 813049 813053 + ForOfStatement 813055 815606 + VariableDeclarationList 813070 813080 + VariableDeclaration 813075 813080 + Identifier 813075 813080 + CallExpression 813083 813116 + Identifier 813083 813103 + PropertyAccessExpression 813104 813115 + Identifier 813104 813108 + Identifier 813109 813115 + Block 813117 815606 + IfStatement 813119 813739 + Identifier 813456 813473 + Block 813474 813739 + VariableStatement 813476 813593 + VariableDeclarationList 813476 813592 + VariableDeclaration 813499 813592 + Identifier 813499 813516 + CallExpression 813518 813592 + Identifier 813518 813545 + Identifier 813546 813550 + PropertyAccessExpression 813551 813591 + Identifier 813551 813561 + Identifier 813562 813591 + IfStatement 813593 813724 + PrefixUnaryExpression 813615 813671 + CallExpression 813616 813671 + Identifier 813616 813634 + Identifier 813635 813651 + Identifier 813652 813670 + Block 813672 813724 + ContinueStatement 813674 813705 + VariableStatement 813739 813866 + VariableDeclarationList 813739 813865 + VariableDeclaration 813758 813865 + Identifier 813758 813769 + BinaryExpression 813771 813865 + PropertyAccessExpression 813771 813796 + Identifier 813771 813782 + Identifier 813783 813796 + BarToken 813796 813798 + ParenthesizedExpression 813798 813865 + ConditionalExpression 813800 813864 + BinaryExpression 813800 813838 + Identifier 813800 813812 + AmpersandAmpersandToken 813812 813815 + CallExpression 813815 813838 + Identifier 813815 813832 + Identifier 813833 813837 + QuestionToken 813838 813840 + PropertyAccessExpression 813840 813860 + Identifier 813840 813851 + Identifier 813852 813860 + ColonToken 813860 813862 + NumericLiteral 813862 813864 + VariableStatement 813866 814017 + VariableDeclarationList 813866 814016 + VariableDeclaration 813885 814016 + Identifier 813885 813898 + AsExpression 813900 814016 + CallExpression 813900 813993 + Identifier 813900 813913 + BinaryExpression 813914 813962 + PropertyAccessExpression 813914 813934 + Identifier 813914 813925 + Identifier 813926 813934 + BarToken 813934 813936 + BinaryExpression 813936 813962 + PropertyAccessExpression 813936 813947 + Identifier 813936 813941 + Identifier 813942 813947 + AmpersandToken 813947 813949 + Identifier 813949 813962 + PropertyAccessExpression 813963 813980 + Identifier 813963 813968 + Identifier 813969 813980 + Identifier 813981 813992 + TypeReference 813996 814016 + Identifier 813996 814016 + ExpressionStatement 814017 814077 + BinaryExpression 814017 814076 + PropertyAccessExpression 814017 814056 + Identifier 814017 814043 + Identifier 814044 814056 + EqualsToken 814056 814058 + PropertyAccessExpression 814058 814076 + Identifier 814058 814063 + Identifier 814064 814076 + ExpressionStatement 814077 814151 + BinaryExpression 814077 814150 + PropertyAccessExpression 814077 814118 + PropertyAccessExpression 814077 814109 + Identifier 814077 814103 + Identifier 814104 814109 + Identifier 814110 814118 + EqualsToken 814118 814120 + PropertyAccessExpression 814120 814150 + CallExpression 814120 814141 + Identifier 814120 814135 + Identifier 814136 814140 + Identifier 814142 814150 + ExpressionStatement 814151 814221 + BinaryExpression 814151 814220 + PropertyAccessExpression 814151 814196 + PropertyAccessExpression 814151 814183 + Identifier 814151 814177 + Identifier 814178 814183 + Identifier 814184 814196 + EqualsToken 814196 814198 + CallExpression 814198 814220 + Identifier 814198 814214 + Identifier 814215 814219 + IfStatement 814221 815537 + BinaryExpression 814239 814534 + BinaryExpression 814239 814424 + BinaryExpression 814239 814313 + PropertyAccessExpression 814239 814287 + PropertyAccessExpression 814239 814281 + PropertyAccessExpression 814239 814276 + Identifier 814239 814261 + Identifier 814262 814276 + Identifier 814277 814281 + Identifier 814282 814287 + AmpersandToken 814287 814289 + PropertyAccessExpression 814289 814313 + Identifier 814289 814299 + Identifier 814300 814313 + AmpersandAmpersandToken 814313 814333 + BinaryExpression 814333 814424 + PropertyAccessExpression 814333 814398 + PropertyAccessExpression 814333 814392 + ParenthesizedExpression 814333 814381 + AsExpression 814335 814380 + PropertyAccessExpression 814335 814359 + PropertyAccessExpression 814335 814354 + Identifier 814335 814339 + Identifier 814340 814354 + Identifier 814355 814359 + TypeReference 814362 814380 + Identifier 814362 814380 + Identifier 814382 814392 + Identifier 814393 814398 + AmpersandToken 814398 814400 + PropertyAccessExpression 814400 814424 + Identifier 814400 814410 + Identifier 814411 814424 + AmpersandAmpersandToken 814424 814444 + BinaryExpression 814444 814534 + PropertyAccessExpression 814444 814508 + PropertyAccessExpression 814444 814502 + ParenthesizedExpression 814444 814492 + AsExpression 814446 814491 + PropertyAccessExpression 814446 814470 + PropertyAccessExpression 814446 814465 + Identifier 814446 814450 + Identifier 814451 814465 + Identifier 814466 814470 + TypeReference 814473 814491 + Identifier 814473 814491 + Identifier 814493 814502 + Identifier 814503 814508 + AmpersandToken 814508 814510 + PropertyAccessExpression 814510 814534 + Identifier 814510 814520 + Identifier 814521 814534 + Block 814549 815362 + VariableStatement 814551 815025 + VariableDeclarationList 814551 815024 + VariableDeclaration 814950 815024 + Identifier 814950 814963 + PropertyAccessExpression 814965 815024 + ParenthesizedExpression 814965 815013 + AsExpression 814967 815012 + PropertyAccessExpression 814967 814991 + PropertyAccessExpression 814967 814986 + Identifier 814967 814971 + Identifier 814972 814986 + Identifier 814987 814991 + TypeReference 814994 815012 + Identifier 814994 815012 + Identifier 815014 815024 + VariableStatement 815025 815175 + VariableDeclarationList 815025 815174 + VariableDeclaration 815048 815174 + Identifier 815048 815062 + CallExpression 815064 815174 + Identifier 815064 815085 + PropertyAccessExpression 815086 815101 + Identifier 815086 815090 + Identifier 815091 815101 + AsExpression 815102 815159 + PropertyAccessExpression 815102 815127 + PropertyAccessExpression 815102 815122 + Identifier 815102 815107 + Identifier 815108 815122 + Identifier 815123 815127 + TypeReference 815130 815159 + Identifier 815130 815159 + Identifier 815160 815173 + ExpressionStatement 815175 815253 + BinaryExpression 815175 815252 + PropertyAccessExpression 815175 815222 + PropertyAccessExpression 815175 815211 + Identifier 815175 815205 + Identifier 815206 815211 + Identifier 815212 815222 + EqualsToken 815222 815224 + AsExpression 815224 815252 + Identifier 815224 815238 + TypeReference 815241 815252 + Identifier 815241 815252 + ExpressionStatement 815253 815347 + BinaryExpression 815253 815346 + PropertyAccessExpression 815253 815304 + PropertyAccessExpression 815253 815289 + Identifier 815253 815283 + Identifier 815284 815289 + Identifier 815290 815304 + EqualsToken 815304 815306 + AsExpression 815306 815346 + CallExpression 815306 815333 + Identifier 815306 815319 + Identifier 815320 815332 + TypeReference 815336 815346 + Identifier 815336 815346 + Block 815380 815537 + ExpressionStatement 815382 815448 + BinaryExpression 815382 815447 + PropertyAccessExpression 815382 815429 + PropertyAccessExpression 815382 815418 + Identifier 815382 815412 + Identifier 815413 815418 + Identifier 815419 815429 + EqualsToken 815429 815431 + PropertyAccessExpression 815431 815447 + Identifier 815431 815436 + Identifier 815437 815447 + ExpressionStatement 815448 815522 + BinaryExpression 815448 815521 + PropertyAccessExpression 815448 815499 + PropertyAccessExpression 815448 815484 + Identifier 815448 815478 + Identifier 815479 815484 + Identifier 815485 815499 + EqualsToken 815499 815501 + PropertyAccessExpression 815501 815521 + Identifier 815501 815506 + Identifier 815507 815521 + ExpressionStatement 815537 815595 + CallExpression 815537 815594 + PropertyAccessExpression 815537 815562 + Identifier 815537 815558 + Identifier 815559 815562 + PropertyAccessExpression 815563 815579 + Identifier 815563 815567 + Identifier 815568 815579 + Identifier 815580 815593 + ExpressionStatement 815606 815692 + CallExpression 815606 815691 + Identifier 815606 815640 + Identifier 815641 815645 + Identifier 815646 815654 + Identifier 815655 815666 + Identifier 815667 815678 + Identifier 815679 815690 + FunctionDeclaration 815699 817660 + Identifier 815982 816005 + Parameter 816006 816016 + Identifier 816006 816010 + TypeReference 816011 816016 + Identifier 816011 816016 + TypeReference 816018 816023 + Identifier 816018 816023 + Block 816023 817660 + IfStatement 816025 816237 + BinaryExpression 816039 816067 + PropertyAccessExpression 816039 816049 + Identifier 816039 816043 + Identifier 816044 816049 + AmpersandToken 816049 816051 + PropertyAccessExpression 816051 816067 + Identifier 816051 816061 + Identifier 816062 816067 + Block 816068 816237 + VariableStatement 816070 816136 + VariableDeclarationList 816070 816135 + VariableDeclaration 816089 816135 + Identifier 816089 816091 + CallExpression 816093 816135 + Identifier 816093 816109 + PropertyAccessExpression 816110 816134 + ParenthesizedExpression 816110 816129 + AsExpression 816111 816128 + Identifier 816111 816115 + TypeReference 816118 816128 + Identifier 816118 816128 + Identifier 816130 816134 + ReturnStatement 816136 816226 + ConditionalExpression 816156 816225 + CallExpression 816156 816178 + Identifier 816156 816175 + Identifier 816176 816177 + QuestionToken 816178 816180 + CallExpression 816180 816207 + Identifier 816180 816204 + Identifier 816205 816206 + ColonToken 816207 816209 + CallExpression 816209 816225 + Identifier 816209 816222 + Identifier 816223 816224 + IfStatement 816237 816836 + BinaryExpression 816251 816285 + PropertyAccessExpression 816251 816261 + Identifier 816251 816255 + Identifier 816256 816261 + AmpersandToken 816261 816263 + PropertyAccessExpression 816263 816285 + Identifier 816263 816273 + Identifier 816274 816285 + Block 816286 816836 + IfStatement 816288 816799 + PropertyAccessExpression 816306 816351 + PropertyAccessExpression 816306 816336 + ParenthesizedExpression 816306 816331 + AsExpression 816307 816330 + Identifier 816307 816311 + TypeReference 816314 816330 + Identifier 816314 816330 + Identifier 816332 816336 + Identifier 816337 816351 + Block 816352 816799 + VariableStatement 816354 816426 + VariableDeclarationList 816354 816425 + VariableDeclaration 816377 816425 + Identifier 816377 816387 + PropertyAccessExpression 816389 816425 + ParenthesizedExpression 816389 816415 + AsExpression 816391 816414 + Identifier 816391 816395 + TypeReference 816398 816414 + Identifier 816398 816414 + Identifier 816416 816425 + VariableStatement 816426 816497 + VariableDeclarationList 816426 816496 + VariableDeclaration 816449 816496 + Identifier 816449 816460 + CallExpression 816462 816496 + Identifier 816462 816485 + Identifier 816486 816495 + IfStatement 816497 816784 + BinaryExpression 816519 816543 + Identifier 816519 816529 + ExclamationEqualsEqualsToken 816529 816533 + Identifier 816533 816543 + Block 816544 816784 + ReturnStatement 816546 816765 + CallExpression 816574 816764 + Identifier 816574 816606 + AsExpression 816607 816630 + Identifier 816607 816611 + TypeReference 816614 816630 + Identifier 816614 816630 + CallExpression 816631 816738 + Identifier 816631 816650 + PropertyAccessExpression 816651 816691 + PropertyAccessExpression 816651 816681 + ParenthesizedExpression 816651 816676 + AsExpression 816652 816675 + Identifier 816652 816656 + TypeReference 816659 816675 + Identifier 816659 816675 + Identifier 816677 816681 + Identifier 816682 816691 + Identifier 816692 816703 + PropertyAccessExpression 816704 816737 + ParenthesizedExpression 816704 816730 + AsExpression 816706 816729 + Identifier 816706 816710 + TypeReference 816713 816729 + Identifier 816713 816729 + Identifier 816731 816737 + FalseKeyword 816739 816763 + ReturnStatement 816799 816825 + Identifier 816819 816824 + IfStatement 816836 816987 + BinaryExpression 816850 816878 + PropertyAccessExpression 816850 816860 + Identifier 816850 816854 + Identifier 816855 816860 + AmpersandToken 816860 816862 + PropertyAccessExpression 816862 816878 + Identifier 816862 816872 + Identifier 816873 816878 + Block 816879 816987 + ReturnStatement 816881 816976 + CallExpression 816901 816975 + Identifier 816901 816909 + AsExpression 816910 816927 + Identifier 816910 816914 + TypeReference 816917 816927 + Identifier 816917 816927 + Identifier 816928 816951 + TrueKeyword 816952 816974 + IfStatement 816987 817631 + BinaryExpression 817001 817036 + PropertyAccessExpression 817001 817011 + Identifier 817001 817005 + Identifier 817006 817011 + AmpersandToken 817011 817013 + PropertyAccessExpression 817013 817036 + Identifier 817013 817023 + Identifier 817024 817036 + Block 817037 817631 + VariableStatement 817039 817317 + VariableDeclarationList 817039 817316 + VariableDeclaration 817275 817316 + Identifier 817275 817281 + PropertyAccessExpression 817283 817316 + ParenthesizedExpression 817283 817310 + AsExpression 817285 817309 + Identifier 817285 817289 + TypeReference 817292 817309 + Identifier 817292 817309 + Identifier 817311 817316 + IfStatement 817317 817519 + BinaryExpression 817335 817471 + BinaryExpression 817335 817434 + BinaryExpression 817335 817353 + PropertyAccessExpression 817335 817347 + Identifier 817335 817340 + Identifier 817341 817347 + EqualsEqualsEqualsToken 817347 817351 + NumericLiteral 817351 817353 + AmpersandAmpersandToken 817353 817356 + PrefixUnaryExpression 817356 817434 + PrefixUnaryExpression 817358 817434 + ParenthesizedExpression 817359 817434 + BinaryExpression 817360 817433 + PropertyAccessExpression 817360 817374 + ElementAccessExpression 817360 817368 + Identifier 817360 817365 + NumericLiteral 817366 817367 + Identifier 817369 817374 + AmpersandToken 817374 817376 + ParenthesizedExpression 817376 817433 + BinaryExpression 817378 817432 + BinaryExpression 817378 817413 + PropertyAccessExpression 817378 817394 + Identifier 817378 817387 + Identifier 817388 817394 + BarToken 817394 817396 + PropertyAccessExpression 817396 817413 + Identifier 817396 817406 + Identifier 817407 817413 + BarToken 817413 817415 + PropertyAccessExpression 817415 817432 + Identifier 817415 817425 + Identifier 817426 817432 + AmpersandAmpersandToken 817434 817437 + BinaryExpression 817437 817471 + ElementAccessExpression 817437 817446 + Identifier 817437 817443 + NumericLiteral 817444 817445 + EqualsEqualsEqualsToken 817446 817450 + Identifier 817450 817471 + Block 817472 817519 + ReturnStatement 817474 817504 + Identifier 817498 817503 + ReturnStatement 817519 817620 + CallExpression 817539 817619 + Identifier 817539 817559 + CallExpression 817560 817618 + Identifier 817560 817567 + PropertyAccessExpression 817568 817593 + ParenthesizedExpression 817568 817587 + AsExpression 817569 817586 + Identifier 817569 817573 + TypeReference 817576 817586 + Identifier 817576 817586 + Identifier 817588 817593 + Identifier 817594 817617 + ReturnStatement 817631 817653 + Identifier 817647 817652 + FunctionDeclaration 817660 817779 + Identifier 817676 817695 + Parameter 817696 817705 + Identifier 817696 817697 + TypeReference 817698 817705 + Identifier 817698 817705 + TypeReference 817707 817718 + Identifier 817707 817718 + Block 817718 817779 + ReturnStatement 817720 817772 + BinaryExpression 817736 817771 + CallExpression 817736 817753 + Identifier 817736 817750 + Identifier 817751 817752 + AmpersandToken 817753 817755 + PropertyAccessExpression 817755 817771 + Identifier 817755 817766 + Identifier 817767 817771 + FunctionDeclaration 817779 818424 + Identifier 817795 817852 + Parameter 817853 817863 + Identifier 817853 817857 + TypeReference 817858 817863 + Identifier 817858 817863 + Parameter 817864 817883 + Identifier 817864 817872 + TypeReference 817873 817883 + Identifier 817873 817883 + Parameter 817884 817905 + Identifier 817884 817896 + BooleanKeyword 817897 817905 + Parameter 817906 817934 + Identifier 817906 817909 + FunctionType 817910 817934 + Parameter 817912 817925 + Identifier 817912 817919 + TypeReference 817920 817925 + Identifier 817920 817925 + VoidKeyword 817929 817934 + Block 817935 818424 + ForOfStatement 817937 818065 + VariableDeclarationList 817952 817962 + VariableDeclaration 817957 817962 + Identifier 817957 817962 + CallExpression 817965 817991 + Identifier 817965 817985 + Identifier 817986 817990 + Block 817992 818065 + ExpressionStatement 817994 818054 + CallExpression 817994 818053 + Identifier 817994 818010 + CallExpression 818011 818052 + Identifier 818011 818037 + Identifier 818038 818042 + Identifier 818043 818051 + IfStatement 818065 818417 + BinaryExpression 818079 818105 + PropertyAccessExpression 818079 818089 + Identifier 818079 818083 + Identifier 818084 818089 + AmpersandToken 818089 818091 + PropertyAccessExpression 818091 818105 + Identifier 818091 818101 + Identifier 818102 818105 + Block 818106 818148 + ExpressionStatement 818108 818137 + CallExpression 818108 818136 + Identifier 818108 818124 + Identifier 818125 818135 + Block 818162 818417 + ForOfStatement 818164 818406 + VariableDeclarationList 818183 818193 + VariableDeclaration 818188 818193 + Identifier 818188 818193 + CallExpression 818196 818222 + Identifier 818196 818216 + Identifier 818217 818221 + Block 818223 818406 + IfStatement 818225 818391 + BinaryExpression 818247 818330 + PrefixUnaryExpression 818247 818259 + Identifier 818248 818259 + BarBarToken 818259 818262 + BinaryExpression 818262 818330 + PropertyAccessExpression 818262 818281 + PropertyAccessExpression 818262 818275 + Identifier 818262 818267 + Identifier 818268 818275 + Identifier 818276 818281 + AmpersandToken 818281 818283 + ParenthesizedExpression 818283 818330 + BinaryExpression 818285 818329 + PropertyAccessExpression 818285 818301 + Identifier 818285 818294 + Identifier 818295 818301 + BarToken 818301 818303 + PropertyAccessExpression 818303 818329 + Identifier 818303 818313 + Identifier 818314 818329 + Block 818331 818391 + ExpressionStatement 818333 818372 + CallExpression 818333 818371 + Identifier 818333 818357 + PropertyAccessExpression 818358 818370 + Identifier 818358 818362 + Identifier 818363 818370 + FunctionDeclaration 818424 824120 + Identifier 818505 818530 + Parameter 818531 818547 + Identifier 818531 818535 + TypeReference 818536 818547 + Identifier 818536 818547 + Block 818548 824120 + VariableStatement 818550 818609 + VariableDeclarationList 818550 818608 + VariableDeclaration 818565 818608 + Identifier 818565 818573 + TypeReference 818574 818586 + Identifier 818574 818586 + CallExpression 818588 818608 + Identifier 818588 818606 + VariableStatement 818609 818659 + VariableDeclarationList 818609 818658 + VariableDeclaration 818622 818658 + Identifier 818622 818633 + UnionType 818634 818658 + ArrayType 818634 818646 + TypeReference 818634 818644 + Identifier 818634 818644 + UndefinedKeyword 818648 818658 + ExpressionStatement 818659 818835 + CallExpression 818659 818834 + Identifier 818659 818778 + Identifier 818779 818783 + Identifier 818784 818797 + Identifier 818798 818809 + Identifier 818810 818821 + Identifier 818822 818833 + VariableStatement 818835 819044 + VariableDeclarationList 818835 819043 + VariableDeclaration 818990 819043 + Identifier 818990 819004 + CallExpression 819006 819043 + Identifier 819006 819037 + Identifier 819038 819042 + VariableStatement 819044 819115 + VariableDeclarationList 819044 819114 + VariableDeclaration 819059 819114 + Identifier 819059 819074 + CallExpression 819076 819114 + Identifier 819076 819108 + Identifier 819109 819113 + VariableStatement 819115 819180 + VariableDeclarationList 819115 819179 + VariableDeclaration 819130 819179 + Identifier 819130 819141 + BinaryExpression 819143 819179 + ParenthesizedExpression 819143 819171 + AsExpression 819145 819170 + PropertyAccessExpression 819145 819156 + Identifier 819145 819149 + Identifier 819150 819156 + TypeReference 819159 819170 + Identifier 819159 819170 + BarBarToken 819171 819174 + Identifier 819174 819179 + VariableStatement 819180 819245 + VariableDeclarationList 819180 819244 + VariableDeclaration 819195 819244 + Identifier 819195 819204 + CallExpression 819206 819244 + Identifier 819206 819232 + Identifier 819233 819243 + VariableStatement 819245 819365 + VariableDeclarationList 819245 819364 + VariableDeclaration 819260 819364 + Identifier 819260 819287 + BinaryExpression 819289 819364 + CallExpression 819289 819327 + Identifier 819289 819315 + Identifier 819316 819326 + ExclamationEqualsEqualsToken 819327 819331 + PropertyAccessExpression 819331 819364 + Identifier 819331 819354 + Identifier 819355 819364 + VariableStatement 819365 819438 + VariableDeclarationList 819365 819437 + VariableDeclaration 819380 819437 + Identifier 819380 819393 + CallExpression 819395 819437 + Identifier 819395 819425 + Identifier 819426 819436 + VariableStatement 819438 819524 + VariableDeclarationList 819438 819523 + VariableDeclaration 819453 819523 + Identifier 819453 819467 + CallExpression 819469 819523 + Identifier 819469 819485 + CallExpression 819486 819522 + Identifier 819486 819516 + Identifier 819517 819521 + VariableStatement 819524 819613 + VariableDeclarationList 819524 819612 + VariableDeclaration 819563 819612 + Identifier 819563 819581 + CallExpression 819583 819612 + Identifier 819583 819606 + Identifier 819607 819611 + VariableStatement 819613 819679 + VariableDeclarationList 819613 819678 + VariableDeclaration 819628 819678 + Identifier 819628 819636 + PropertyAccessExpression 819638 819678 + Identifier 819638 819648 + Identifier 819649 819678 + IfStatement 819679 820056 + CallExpression 819693 819741 + Identifier 819693 819735 + Identifier 819736 819740 + Block 819742 819942 + ExpressionStatement 819744 819931 + CallExpression 819744 819930 + Identifier 819744 819862 + Identifier 819863 819876 + Identifier 819877 819885 + FalseKeyword 819886 819908 + Identifier 819909 819929 + Block 819956 820056 + ExpressionStatement 819958 820045 + CallExpression 819958 820044 + Identifier 819958 819983 + CallExpression 819984 820022 + Identifier 819984 820006 + Identifier 820007 820021 + Identifier 820023 820043 + ExpressionStatement 820056 820156 + CallExpression 820056 820155 + Identifier 820056 820090 + Identifier 820091 820095 + Identifier 820096 820104 + Identifier 820105 820116 + Identifier 820117 820128 + BinaryExpression 820129 820154 + Identifier 820129 820140 + BarBarToken 820140 820143 + Identifier 820143 820154 + FunctionDeclaration 820156 820446 + Identifier 820176 820196 + Parameter 820197 820210 + Identifier 820197 820204 + TypeReference 820205 820210 + Identifier 820205 820210 + Block 820211 820446 + VariableStatement 820213 820351 + VariableDeclarationList 820213 820350 + VariableDeclaration 820232 820350 + Identifier 820232 820245 + ConditionalExpression 820247 820350 + Identifier 820247 820256 + QuestionToken 820256 820258 + CallExpression 820258 820340 + Identifier 820258 820274 + Identifier 820275 820283 + CallExpression 820284 820339 + Identifier 820284 820302 + PropertyAccessExpression 820303 820314 + Identifier 820303 820307 + Identifier 820308 820314 + Identifier 820315 820329 + Identifier 820330 820338 + ColonToken 820340 820342 + Identifier 820342 820350 + ExpressionStatement 820351 820435 + CallExpression 820351 820434 + Identifier 820351 820376 + Identifier 820377 820389 + ArrowFunction 820390 820433 + Parameter 820390 820392 + Identifier 820390 820392 + EqualsGreaterThanToken 820392 820395 + CallExpression 820395 820433 + Identifier 820395 820421 + Identifier 820422 820429 + Identifier 820430 820432 + FunctionDeclaration 820446 824113 + Identifier 820466 820492 + Parameter 820493 820506 + Identifier 820493 820500 + TypeReference 820501 820506 + Identifier 820501 820506 + Parameter 820507 820526 + Identifier 820507 820520 + TypeReference 820521 820526 + Identifier 820521 820526 + Block 820527 824113 + IfStatement 820529 824102 + CallExpression 820726 820766 + Identifier 820726 820752 + Identifier 820753 820765 + Block 820767 823128 + VariableStatement 820769 820842 + VariableDeclarationList 820769 820841 + VariableDeclaration 820792 820841 + Identifier 820792 820801 + CallExpression 820803 820841 + Identifier 820803 820827 + Identifier 820828 820840 + VariableStatement 820842 821189 + VariableDeclarationList 820842 821188 + VariableDeclaration 821123 821188 + Identifier 821123 821136 + AsExpression 821138 821188 + CallExpression 821138 821160 + PropertyAccessExpression 821138 821150 + Identifier 821138 821146 + Identifier 821147 821150 + Identifier 821151 821159 + UnionType 821163 821188 + TypeReference 821163 821176 + Identifier 821163 821176 + UndefinedKeyword 821178 821188 + IfStatement 821189 823113 + Identifier 821211 821223 + Block 821224 821459 + ExpressionStatement 821226 821337 + BinaryExpression 821226 821336 + PropertyAccessExpression 821226 821275 + PropertyAccessExpression 821226 821266 + Identifier 821226 821260 + Identifier 821261 821266 + Identifier 821267 821275 + EqualsToken 821275 821277 + CallExpression 821277 821336 + Identifier 821277 821290 + ArrayLiteralExpression 821291 821335 + NonNullExpression 821292 821320 + PropertyAccessExpression 821292 821319 + PropertyAccessExpression 821292 821310 + Identifier 821292 821304 + Identifier 821305 821310 + Identifier 821311 821319 + Identifier 821321 821334 + ExpressionStatement 821337 821440 + BinaryExpression 821337 821439 + PropertyAccessExpression 821337 821385 + PropertyAccessExpression 821337 821377 + Identifier 821337 821371 + Identifier 821372 821377 + Identifier 821378 821385 + EqualsToken 821385 821387 + CallExpression 821387 821439 + Identifier 821387 821400 + ArrayLiteralExpression 821401 821438 + PropertyAccessExpression 821402 821428 + PropertyAccessExpression 821402 821420 + Identifier 821402 821414 + Identifier 821415 821420 + Identifier 821421 821428 + Identifier 821429 821437 + Block 821481 823113 + VariableStatement 821483 821644 + VariableDeclarationList 821483 821643 + VariableDeclaration 821510 821643 + Identifier 821510 821524 + ConditionalExpression 821526 821643 + CallExpression 821526 821562 + Identifier 821526 821553 + Identifier 821554 821561 + QuestionToken 821562 821564 + CallExpression 821564 821631 + Identifier 821564 821582 + Identifier 821583 821596 + CallExpression 821597 821630 + Identifier 821597 821621 + Identifier 821622 821629 + ColonToken 821631 821633 + Identifier 821633 821643 + VariableStatement 821644 821895 + VariableDeclarationList 821644 821894 + VariableDeclaration 821671 821894 + Identifier 821671 821682 + PrefixUnaryExpression 821684 821894 + PrefixUnaryExpression 821686 821894 + ParenthesizedExpression 821687 821894 + BinaryExpression 821688 821893 + BinaryExpression 821688 821743 + Identifier 821688 821705 + AmpersandToken 821705 821707 + PropertyAccessExpression 821707 821743 + Identifier 821707 821727 + Identifier 821728 821743 + BarBarToken 821743 821746 + BinaryExpression 821746 821893 + BinaryExpression 821746 821847 + PrefixUnaryExpression 821746 821830 + ParenthesizedExpression 821773 821830 + BinaryExpression 821774 821829 + Identifier 821774 821791 + AmpersandToken 821791 821793 + PropertyAccessExpression 821793 821829 + Identifier 821793 821813 + Identifier 821814 821829 + AmpersandAmpersandToken 821830 821833 + Identifier 821833 821847 + AmpersandAmpersandToken 821847 821850 + BinaryExpression 821850 821893 + PropertyAccessExpression 821850 821870 + Identifier 821850 821864 + Identifier 821865 821870 + AmpersandToken 821870 821872 + PropertyAccessExpression 821872 821893 + Identifier 821872 821884 + Identifier 821885 821893 + VariableStatement 821895 822135 + VariableDeclarationList 821895 822134 + VariableDeclaration 821922 822134 + Identifier 821922 821933 + PrefixUnaryExpression 821935 822134 + PrefixUnaryExpression 821937 822134 + ParenthesizedExpression 821938 822134 + BinaryExpression 821939 822133 + BinaryExpression 821939 821994 + Identifier 821939 821956 + AmpersandToken 821956 821958 + PropertyAccessExpression 821958 821994 + Identifier 821958 821978 + Identifier 821979 821994 + BarBarToken 821994 821997 + BinaryExpression 821997 822133 + BinaryExpression 821997 822098 + PrefixUnaryExpression 821997 822081 + ParenthesizedExpression 822024 822081 + BinaryExpression 822025 822080 + Identifier 822025 822042 + AmpersandToken 822042 822044 + PropertyAccessExpression 822044 822080 + Identifier 822044 822064 + Identifier 822065 822080 + AmpersandAmpersandToken 822081 822084 + Identifier 822084 822098 + AmpersandAmpersandToken 822098 822101 + CallExpression 822101 822133 + Identifier 822101 822118 + Identifier 822119 822132 + VariableStatement 822135 822274 + VariableDeclarationList 822135 822273 + VariableDeclaration 822162 822273 + Identifier 822162 822176 + BinaryExpression 822178 822273 + BinaryExpression 822178 822227 + BinaryExpression 822178 822210 + Identifier 822178 822195 + AmpersandAmpersandToken 822195 822198 + PrefixUnaryExpression 822198 822210 + Identifier 822200 822210 + AmpersandAmpersandToken 822210 822213 + Identifier 822213 822227 + AmpersandAmpersandToken 822227 822230 + BinaryExpression 822230 822273 + PropertyAccessExpression 822230 822250 + Identifier 822230 822244 + Identifier 822245 822250 + AmpersandToken 822250 822252 + PropertyAccessExpression 822252 822273 + Identifier 822252 822264 + Identifier 822265 822273 + VariableStatement 822274 822379 + VariableDeclarationList 822274 822378 + VariableDeclaration 822301 822378 + Identifier 822301 822310 + TypeReference 822311 822322 + Identifier 822311 822322 + ConditionalExpression 822324 822378 + Identifier 822324 822338 + QuestionToken 822338 822340 + CallExpression 822340 822374 + Identifier 822340 822359 + Identifier 822360 822373 + ColonToken 822374 822376 + NumericLiteral 822376 822378 + VariableStatement 822379 822637 + VariableDeclarationList 822379 822636 + VariableDeclaration 822406 822636 + Identifier 822406 822411 + AsExpression 822413 822636 + CallExpression 822413 822620 + Identifier 822413 822426 + BinaryExpression 822427 822489 + PropertyAccessExpression 822427 822447 + Identifier 822427 822438 + Identifier 822439 822447 + BarToken 822447 822449 + ParenthesizedExpression 822449 822489 + ConditionalExpression 822451 822488 + Identifier 822451 822461 + QuestionToken 822461 822463 + PropertyAccessExpression 822463 822484 + Identifier 822463 822475 + Identifier 822476 822484 + ColonToken 822484 822486 + NumericLiteral 822486 822488 + Identifier 822490 822499 + BinaryExpression 822500 822619 + BinaryExpression 822500 822570 + BinaryExpression 822500 822529 + Identifier 822500 822509 + BarToken 822509 822511 + PropertyAccessExpression 822511 822529 + Identifier 822511 822522 + Identifier 822523 822529 + BarToken 822529 822531 + ParenthesizedExpression 822531 822570 + ConditionalExpression 822533 822569 + Identifier 822533 822543 + QuestionToken 822543 822545 + PropertyAccessExpression 822545 822565 + Identifier 822545 822556 + Identifier 822557 822565 + ColonToken 822565 822567 + NumericLiteral 822567 822569 + BarToken 822570 822572 + ParenthesizedExpression 822572 822619 + ConditionalExpression 822574 822618 + Identifier 822574 822587 + QuestionToken 822587 822589 + PropertyAccessExpression 822589 822614 + Identifier 822589 822600 + Identifier 822601 822614 + ColonToken 822614 822616 + NumericLiteral 822616 822618 + TypeReference 822623 822636 + Identifier 822623 822636 + ExpressionStatement 822637 822688 + BinaryExpression 822637 822687 + PropertyAccessExpression 822637 822680 + PropertyAccessExpression 822637 822669 + Identifier 822637 822663 + Identifier 822664 822669 + Identifier 822670 822680 + EqualsToken 822680 822682 + Identifier 822682 822687 + ExpressionStatement 822688 822745 + BinaryExpression 822688 822744 + PropertyAccessExpression 822688 822729 + PropertyAccessExpression 822688 822720 + Identifier 822688 822714 + Identifier 822715 822720 + Identifier 822721 822729 + EqualsToken 822729 822731 + Identifier 822731 822744 + ExpressionStatement 822745 822796 + BinaryExpression 822745 822795 + PropertyAccessExpression 822745 822785 + PropertyAccessExpression 822745 822777 + Identifier 822745 822771 + Identifier 822772 822777 + Identifier 822778 822785 + EqualsToken 822785 822787 + Identifier 822787 822795 + IfStatement 822796 823044 + Identifier 822822 822835 + Block 822836 823044 + ExpressionStatement 822838 822907 + BinaryExpression 822838 822906 + PropertyAccessExpression 822838 822890 + PropertyAccessExpression 822838 822874 + Identifier 822838 822868 + Identifier 822869 822874 + Identifier 822875 822890 + EqualsToken 822890 822892 + Identifier 822892 822906 + ExpressionStatement 822907 823021 + BinaryExpression 822907 823020 + PropertyAccessExpression 822907 822950 + Identifier 822907 822937 + Identifier 822938 822950 + EqualsToken 822950 822952 + ConditionalExpression 822952 823020 + Identifier 822952 822979 + QuestionToken 822979 822981 + PropertyAccessExpression 822981 823008 + Identifier 822981 822995 + Identifier 822996 823008 + ColonToken 823008 823010 + Identifier 823010 823020 + ExpressionStatement 823044 823094 + CallExpression 823044 823093 + PropertyAccessExpression 823044 823077 + Identifier 823044 823073 + Identifier 823074 823077 + Identifier 823078 823086 + Identifier 823087 823092 + IfStatement 823146 824102 + BinaryExpression 823151 823241 + CallExpression 823151 823184 + Identifier 823151 823170 + Identifier 823171 823183 + BarBarToken 823184 823187 + BinaryExpression 823187 823241 + PropertyAccessExpression 823187 823206 + Identifier 823187 823200 + Identifier 823201 823206 + AmpersandToken 823206 823208 + ParenthesizedExpression 823208 823241 + BinaryExpression 823210 823240 + PropertyAccessExpression 823210 823223 + Identifier 823210 823219 + Identifier 823220 823223 + BarToken 823223 823225 + PropertyAccessExpression 823225 823240 + Identifier 823225 823235 + Identifier 823236 823240 + Block 823242 824102 + VariableStatement 823244 823481 + VariableDeclarationList 823244 823480 + VariableDeclaration 823267 823480 + Identifier 823267 823280 + ConditionalExpression 823282 823480 + BinaryExpression 823282 823338 + PropertyAccessExpression 823282 823301 + Identifier 823282 823295 + Identifier 823296 823301 + AmpersandToken 823301 823303 + ParenthesizedExpression 823303 823338 + BinaryExpression 823305 823337 + PropertyAccessExpression 823305 823318 + Identifier 823305 823314 + Identifier 823315 823318 + BarToken 823318 823320 + PropertyAccessExpression 823320 823337 + Identifier 823320 823330 + Identifier 823331 823337 + QuestionToken 823338 823340 + Identifier 823340 823351 + ColonToken 823351 823353 + ConditionalExpression 823353 823480 + BinaryExpression 823353 823431 + PropertyAccessExpression 823353 823393 + Identifier 823353 823387 + Identifier 823388 823393 + AmpersandToken 823393 823395 + ParenthesizedExpression 823395 823431 + BinaryExpression 823397 823430 + PropertyAccessExpression 823397 823413 + Identifier 823397 823406 + Identifier 823407 823413 + BarToken 823413 823415 + PropertyAccessExpression 823415 823430 + Identifier 823415 823425 + Identifier 823426 823430 + QuestionToken 823431 823433 + Identifier 823433 823444 + ColonToken 823444 823446 + Identifier 823446 823480 + VariableStatement 823481 823602 + VariableDeclarationList 823481 823601 + VariableDeclaration 823504 823601 + Identifier 823504 823513 + CallExpression 823515 823601 + Identifier 823515 823531 + Identifier 823532 823544 + CallExpression 823545 823600 + Identifier 823545 823563 + PropertyAccessExpression 823564 823575 + Identifier 823564 823568 + Identifier 823569 823575 + Identifier 823576 823590 + Identifier 823591 823599 + VariableStatement 823602 823699 + VariableDeclarationList 823602 823698 + VariableDeclaration 823625 823698 + Identifier 823625 823644 + CallExpression 823646 823698 + Identifier 823646 823669 + Identifier 823670 823683 + Identifier 823684 823697 + VariableStatement 823699 823913 + VariableDeclarationList 823699 823912 + VariableDeclaration 823722 823912 + Identifier 823722 823733 + PrefixUnaryExpression 823735 823912 + PrefixUnaryExpression 823737 823912 + ParenthesizedExpression 823738 823912 + BinaryExpression 823739 823911 + BinaryExpression 823739 823794 + Identifier 823739 823756 + AmpersandToken 823756 823758 + PropertyAccessExpression 823758 823794 + Identifier 823758 823778 + Identifier 823779 823794 + BarBarToken 823794 823797 + BinaryExpression 823797 823911 + PrefixUnaryExpression 823797 823877 + ParenthesizedExpression 823820 823877 + BinaryExpression 823821 823876 + Identifier 823821 823838 + AmpersandToken 823838 823840 + PropertyAccessExpression 823840 823876 + Identifier 823840 823860 + Identifier 823861 823876 + AmpersandAmpersandToken 823877 823880 + PropertyAccessExpression 823880 823911 + Identifier 823880 823899 + QuestionDotToken 823899 823901 + Identifier 823901 823911 + VariableStatement 823913 824001 + VariableDeclarationList 823913 824000 + VariableDeclaration 823936 824000 + Identifier 823936 823946 + CallExpression 823948 824000 + Identifier 823948 823964 + Identifier 823965 823977 + Identifier 823978 823987 + Identifier 823988 823999 + ExpressionStatement 824001 824087 + BinaryExpression 824001 824086 + Identifier 824001 824029 + EqualsToken 824029 824031 + CallExpression 824031 824086 + Identifier 824031 824047 + Identifier 824048 824058 + Identifier 824059 824069 + TrueKeyword 824070 824085 + FunctionDeclaration 824120 825792 + Identifier 824136 824158 + Parameter 824159 824179 + Identifier 824159 824165 + TypeReference 824166 824179 + Identifier 824166 824179 + Block 824180 825792 + IfStatement 824182 825750 + PrefixUnaryExpression 824196 824214 + PropertyAccessExpression 824197 824214 + PropertyAccessExpression 824197 824209 + Identifier 824197 824203 + Identifier 824204 824209 + Identifier 824210 824214 + Block 824215 825750 + VariableStatement 824217 824274 + VariableDeclarationList 824217 824273 + VariableDeclaration 824236 824273 + Identifier 824236 824247 + PropertyAccessExpression 824249 824273 + PropertyAccessExpression 824249 824262 + Identifier 824249 824256 + Identifier 824257 824262 + Identifier 824263 824273 + IfStatement 824274 824451 + PrefixUnaryExpression 824292 824348 + CallExpression 824293 824348 + Identifier 824293 824311 + Identifier 824312 824318 + PropertyAccessExpression 824319 824347 + Identifier 824319 824342 + Identifier 824343 824347 + Block 824349 824451 + ExpressionStatement 824351 824401 + BinaryExpression 824351 824400 + PropertyAccessExpression 824351 824393 + Identifier 824351 824379 + Identifier 824380 824393 + EqualsToken 824393 824395 + TrueKeyword 824395 824400 + ReturnStatement 824401 824436 + Identifier 824425 824435 + VariableStatement 824451 824563 + VariableDeclarationList 824451 824562 + VariableDeclaration 824470 824562 + Identifier 824470 824483 + CallExpression 824485 824562 + Identifier 824485 824515 + BinaryExpression 824516 824561 + AsExpression 824516 824547 + PropertyAccessExpression 824516 824533 + Identifier 824516 824526 + Identifier 824527 824533 + TypeReference 824536 824547 + Identifier 824536 824547 + BarBarToken 824547 824550 + Identifier 824550 824561 + VariableStatement 824563 824695 + VariableDeclarationList 824563 824694 + VariableDeclaration 824582 824694 + Identifier 824582 824589 + CallExpression 824591 824694 + Identifier 824591 824609 + PropertyAccessExpression 824610 824627 + Identifier 824610 824620 + Identifier 824621 824627 + CallExpression 824628 824671 + Identifier 824628 824659 + Identifier 824660 824670 + PropertyAccessExpression 824672 824693 + PropertyAccessExpression 824672 824685 + Identifier 824672 824679 + Identifier 824680 824685 + Identifier 824686 824693 + VariableStatement 824695 824764 + VariableDeclarationList 824695 824763 + VariableDeclaration 824714 824763 + Identifier 824714 824723 + CallExpression 824725 824763 + Identifier 824725 824741 + Identifier 824742 824754 + Identifier 824755 824762 + VariableStatement 824764 825442 + VariableDeclarationList 824764 825441 + VariableDeclaration 825122 825441 + Identifier 825122 825127 + ConditionalExpression 825129 825441 + BinaryExpression 825129 825253 + BinaryExpression 825129 825185 + Identifier 825129 825146 + AmpersandAmpersandToken 825146 825149 + BinaryExpression 825149 825185 + PropertyAccessExpression 825149 825162 + Identifier 825149 825156 + Identifier 825157 825162 + AmpersandToken 825162 825164 + PropertyAccessExpression 825164 825185 + Identifier 825164 825176 + Identifier 825177 825185 + AmpersandAmpersandToken 825185 825188 + PrefixUnaryExpression 825188 825253 + CallExpression 825190 825253 + Identifier 825190 825205 + Identifier 825206 825214 + BinaryExpression 825215 825252 + PropertyAccessExpression 825215 825235 + Identifier 825215 825225 + Identifier 825226 825235 + BarToken 825235 825237 + PropertyAccessExpression 825237 825252 + Identifier 825237 825247 + Identifier 825248 825252 + QuestionToken 825253 825255 + CallExpression 825255 825302 + Identifier 825255 825271 + Identifier 825272 825280 + TrueKeyword 825281 825301 + ColonToken 825302 825304 + ConditionalExpression 825304 825441 + BinaryExpression 825304 825372 + PropertyAccessExpression 825304 825345 + PropertyAccessExpression 825304 825334 + Identifier 825304 825328 + Identifier 825329 825334 + Identifier 825335 825345 + AmpersandToken 825345 825347 + PropertyAccessExpression 825347 825372 + Identifier 825347 825358 + Identifier 825359 825372 + QuestionToken 825372 825374 + CallExpression 825374 825413 + Identifier 825374 825403 + Identifier 825404 825412 + ColonToken 825413 825415 + Identifier 825415 825441 + IfStatement 825442 825698 + PrefixUnaryExpression 825460 825480 + CallExpression 825461 825480 + Identifier 825461 825478 + Block 825481 825698 + ExpressionStatement 825483 825648 + CallExpression 825483 825647 + Identifier 825483 825506 + Identifier 825507 825518 + PropertyAccessExpression 825519 825596 + Identifier 825519 825531 + Identifier 825532 825596 + CallExpression 825597 825620 + Identifier 825597 825612 + Identifier 825613 825619 + CallExpression 825621 825646 + Identifier 825621 825634 + Identifier 825635 825645 + ExpressionStatement 825648 825683 + BinaryExpression 825648 825682 + Identifier 825648 825670 + EqualsToken 825670 825672 + Identifier 825672 825682 + ExpressionStatement 825698 825739 + BinaryExpression 825698 825738 + PropertyAccessExpression 825698 825729 + PropertyAccessExpression 825698 825724 + Identifier 825698 825718 + Identifier 825719 825724 + Identifier 825725 825729 + QuestionQuestionEqualsToken 825729 825733 + Identifier 825733 825738 + ReturnStatement 825750 825785 + PropertyAccessExpression 825766 825784 + PropertyAccessExpression 825766 825779 + Identifier 825766 825773 + Identifier 825774 825779 + Identifier 825780 825784 + FunctionDeclaration 825792 826028 + Identifier 825808 825839 + Parameter 825840 825856 + Identifier 825840 825844 + TypeReference 825845 825856 + Identifier 825845 825856 + Block 825857 826028 + ReturnStatement 825859 826021 + BinaryExpression 825875 826020 + PropertyAccessExpression 825875 825894 + Identifier 825875 825880 + Identifier 825881 825894 + BarBarToken 825894 825897 + ParenthesizedExpression 825897 826020 + BinaryExpression 825912 826019 + PropertyAccessExpression 825912 825930 + Identifier 825912 825916 + Identifier 825917 825930 + EqualsToken 825930 825932 + CallExpression 825932 826019 + Identifier 825932 825963 + CallExpression 825964 826018 + Identifier 825964 825986 + PropertyAccessExpression 825987 826017 + PropertyAccessExpression 825987 826003 + Identifier 825987 825991 + Identifier 825992 826003 + Identifier 826004 826017 + FunctionDeclaration 826028 826260 + Identifier 826044 826076 + Parameter 826077 826093 + Identifier 826077 826081 + TypeReference 826082 826093 + Identifier 826082 826093 + Block 826094 826260 + ReturnStatement 826096 826253 + BinaryExpression 826112 826252 + PropertyAccessExpression 826112 826132 + Identifier 826112 826117 + Identifier 826118 826132 + BarBarToken 826132 826135 + ParenthesizedExpression 826135 826252 + BinaryExpression 826150 826251 + PropertyAccessExpression 826150 826169 + Identifier 826150 826154 + Identifier 826155 826169 + EqualsToken 826169 826171 + BinaryExpression 826171 826251 + CallExpression 826171 826238 + Identifier 826171 826200 + CallExpression 826201 826237 + Identifier 826201 826231 + Identifier 826232 826236 + BarBarToken 826238 826241 + Identifier 826241 826251 + FunctionDeclaration 826260 826524 + Identifier 826276 826302 + Parameter 826303 826319 + Identifier 826303 826307 + TypeReference 826308 826319 + Identifier 826308 826319 + Block 826320 826524 + ReturnStatement 826322 826517 + ConditionalExpression 826338 826516 + PropertyAccessExpression 826338 826364 + PropertyAccessExpression 826338 826355 + Identifier 826338 826343 + Identifier 826344 826355 + Identifier 826356 826364 + QuestionToken 826364 826366 + BinaryExpression 826366 826491 + PropertyAccessExpression 826366 826393 + Identifier 826366 826384 + Identifier 826385 826393 + BarBarToken 826393 826396 + ParenthesizedExpression 826396 826491 + BinaryExpression 826398 826490 + PropertyAccessExpression 826398 826411 + Identifier 826398 826402 + Identifier 826403 826411 + EqualsToken 826411 826413 + CallExpression 826413 826490 + Identifier 826413 826429 + CallExpression 826430 826476 + Identifier 826430 826449 + PropertyAccessExpression 826450 826475 + PropertyAccessExpression 826450 826466 + Identifier 826450 826454 + Identifier 826455 826466 + Identifier 826467 826475 + PropertyAccessExpression 826477 826489 + Identifier 826477 826482 + Identifier 826483 826489 + ColonToken 826491 826493 + Identifier 826493 826516 + FunctionDeclaration 826524 826922 + Identifier 826540 826570 + Parameter 826571 826587 + Identifier 826571 826575 + TypeReference 826576 826587 + Identifier 826576 826587 + Block 826588 826922 + ReturnStatement 826590 826915 + BinaryExpression 826606 826914 + PropertyAccessExpression 826606 826624 + Identifier 826606 826611 + Identifier 826612 826624 + BarBarToken 826624 826627 + ParenthesizedExpression 826627 826914 + BinaryExpression 826642 826913 + PropertyAccessExpression 826642 826659 + Identifier 826642 826646 + Identifier 826647 826659 + EqualsToken 826659 826661 + ConditionalExpression 826661 826913 + PropertyAccessExpression 826661 826683 + PropertyAccessExpression 826661 826678 + Identifier 826661 826666 + Identifier 826667 826678 + Identifier 826679 826683 + QuestionToken 826683 826685 + CallExpression 826685 826884 + Identifier 826685 826718 + CallExpression 826719 826870 + Identifier 826719 826733 + CallExpression 826734 826776 + Identifier 826734 826753 + PropertyAccessExpression 826754 826775 + PropertyAccessExpression 826754 826770 + Identifier 826754 826758 + Identifier 826759 826770 + Identifier 826771 826775 + TrueKeyword 826777 826797 + PrefixUnaryExpression 826798 826869 + PrefixUnaryExpression 826800 826869 + ParenthesizedExpression 826801 826869 + BinaryExpression 826802 826868 + CallExpression 826802 826830 + Identifier 826802 826824 + Identifier 826825 826829 + AmpersandToken 826830 826832 + PropertyAccessExpression 826832 826868 + Identifier 826832 826852 + Identifier 826853 826868 + PropertyAccessExpression 826871 826883 + Identifier 826871 826876 + Identifier 826877 826883 + ColonToken 826884 826886 + Identifier 826886 826913 + FunctionDeclaration 826922 827090 + Identifier 826938 826976 + Parameter 826977 826993 + Identifier 826977 826981 + TypeReference 826982 826993 + Identifier 826982 826993 + Block 826994 827090 + ReturnStatement 826996 827083 + CallExpression 827012 827082 + Identifier 827012 827050 + PropertyAccessExpression 827051 827081 + PropertyAccessExpression 827051 827067 + Identifier 827051 827055 + Identifier 827056 827067 + Identifier 827068 827081 + FunctionDeclaration 827090 827448 + Identifier 827106 827149 + Parameter 827150 827166 + Identifier 827150 827154 + TypeReference 827155 827166 + Identifier 827155 827166 + Block 827167 827448 + VariableStatement 827169 827254 + VariableDeclarationList 827169 827253 + VariableDeclaration 827184 827253 + Identifier 827184 827206 + NonNullExpression 827208 827253 + CallExpression 827208 827252 + Identifier 827208 827246 + Identifier 827247 827251 + ReturnStatement 827254 827441 + BinaryExpression 827288 827440 + BinaryExpression 827288 827343 + PropertyAccessExpression 827288 827315 + Identifier 827288 827310 + Identifier 827311 827315 + EqualsEqualsEqualsToken 827315 827319 + PropertyAccessExpression 827319 827343 + Identifier 827319 827330 + Identifier 827331 827343 + AmpersandAmpersandToken 827343 827346 + BinaryExpression 827346 827440 + PropertyAccessExpression 827346 827412 + ParenthesizedExpression 827346 827403 + AsExpression 827361 827402 + Identifier 827361 827382 + TypeReference 827385 827402 + Identifier 827385 827402 + Identifier 827404 827412 + EqualsEqualsEqualsToken 827412 827416 + PropertyAccessExpression 827416 827440 + Identifier 827416 827427 + Identifier 827428 827440 + FunctionDeclaration 827448 829049 + Identifier 827464 827495 + Parameter 827496 827512 + Identifier 827496 827500 + TypeReference 827501 827512 + Identifier 827501 827512 + Block 827513 829049 + IfStatement 827515 829006 + PrefixUnaryExpression 827529 827548 + PropertyAccessExpression 827530 827548 + Identifier 827530 827534 + Identifier 827535 827548 + Block 827549 829006 + IfStatement 827551 828995 + CallExpression 827569 827617 + Identifier 827569 827611 + Identifier 827612 827616 + Block 827618 828101 + ExpressionStatement 827620 828086 + BinaryExpression 827620 828085 + PropertyAccessExpression 827620 827961 + Identifier 827620 827947 + Identifier 827948 827961 + EqualsToken 827961 827963 + CallExpression 827963 828085 + Identifier 827963 827979 + CallExpression 827980 828071 + Identifier 827980 827999 + PropertyAccessExpression 828000 828070 + ParenthesizedExpression 828000 828065 + AsExpression 828001 828064 + CallExpression 828001 828044 + Identifier 828001 828038 + Identifier 828039 828043 + TypeReference 828047 828064 + Identifier 828047 828064 + Identifier 828066 828070 + PropertyAccessExpression 828072 828084 + Identifier 828072 828077 + Identifier 828078 828084 + Block 828119 828995 + VariableStatement 828121 828533 + VariableDeclarationList 828121 828532 + VariableDeclaration 828459 828532 + Identifier 828459 828472 + AsExpression 828474 828532 + CallExpression 828474 828518 + Identifier 828474 828500 + PropertyAccessExpression 828501 828517 + Identifier 828501 828505 + Identifier 828506 828517 + TypeReference 828521 828532 + Identifier 828521 828532 + VariableStatement 828533 828616 + VariableDeclarationList 828533 828615 + VariableDeclaration 828556 828615 + Identifier 828556 828567 + CallExpression 828569 828615 + Identifier 828569 828601 + Identifier 828602 828614 + VariableStatement 828616 828791 + VariableDeclarationList 828616 828790 + VariableDeclaration 828639 828790 + Identifier 828639 828658 + ConditionalExpression 828660 828790 + BinaryExpression 828660 828717 + Identifier 828660 828671 + AmpersandAmpersandToken 828671 828674 + BinaryExpression 828674 828717 + PropertyAccessExpression 828674 828691 + Identifier 828674 828685 + Identifier 828686 828691 + AmpersandToken 828691 828693 + PropertyAccessExpression 828693 828717 + Identifier 828693 828703 + Identifier 828704 828717 + QuestionToken 828717 828719 + CallExpression 828719 828777 + Identifier 828719 828748 + AsExpression 828749 828776 + Identifier 828749 828759 + TypeReference 828762 828776 + Identifier 828762 828776 + ColonToken 828777 828779 + Identifier 828779 828790 + ExpressionStatement 828791 828980 + BinaryExpression 828791 828979 + PropertyAccessExpression 828791 828827 + Identifier 828791 828813 + Identifier 828814 828827 + EqualsToken 828827 828829 + ConditionalExpression 828829 828979 + BinaryExpression 828829 828894 + Identifier 828829 828848 + AmpersandAmpersandToken 828848 828851 + BinaryExpression 828851 828894 + PropertyAccessExpression 828851 828876 + Identifier 828851 828870 + Identifier 828871 828876 + AmpersandToken 828876 828878 + PropertyAccessExpression 828878 828894 + Identifier 828878 828888 + Identifier 828889 828894 + QuestionToken 828894 828896 + CallExpression 828896 828965 + Identifier 828896 828912 + PropertyAccessExpression 828913 828951 + ParenthesizedExpression 828913 828946 + AsExpression 828914 828945 + Identifier 828914 828932 + TypeReference 828935 828945 + Identifier 828935 828945 + Identifier 828947 828951 + PropertyAccessExpression 828952 828964 + Identifier 828952 828957 + Identifier 828958 828964 + ColonToken 828965 828967 + Identifier 828967 828979 + ReturnStatement 829006 829042 + PropertyAccessExpression 829022 829041 + Identifier 829022 829027 + Identifier 829028 829041 + FunctionDeclaration 829049 829549 + Identifier 829065 829088 + Parameter 829089 829105 + Identifier 829089 829093 + TypeReference 829094 829105 + Identifier 829094 829105 + TypeReference 829107 829127 + Identifier 829107 829127 + Block 829127 829549 + VariableStatement 829129 829176 + VariableDeclarationList 829129 829175 + VariableDeclaration 829144 829175 + Identifier 829144 829156 + PropertyAccessExpression 829158 829175 + Identifier 829158 829163 + Identifier 829164 829175 + ReturnStatement 829176 829542 + BinaryExpression 829192 829541 + ParenthesizedExpression 829192 829359 + ConditionalExpression 829194 829358 + PropertyAccessExpression 829194 829219 + Identifier 829194 829205 + Identifier 829206 829219 + QuestionToken 829219 829221 + ConditionalExpression 829221 829354 + BinaryExpression 829221 829278 + PropertyAccessExpression 829221 829252 + PropertyAccessExpression 829221 829247 + Identifier 829221 829233 + Identifier 829234 829247 + Identifier 829248 829252 + EqualsEqualsEqualsToken 829252 829256 + PropertyAccessExpression 829256 829278 + Identifier 829256 829267 + Identifier 829268 829278 + QuestionToken 829278 829280 + PropertyAccessExpression 829280 829316 + Identifier 829280 829300 + Identifier 829301 829316 + ColonToken 829316 829318 + PropertyAccessExpression 829318 829354 + Identifier 829318 829338 + Identifier 829339 829354 + ColonToken 829354 829356 + NumericLiteral 829356 829358 + BarToken 829359 829361 + ParenthesizedExpression 829361 829541 + ConditionalExpression 829376 829540 + PropertyAccessExpression 829376 829401 + Identifier 829376 829387 + Identifier 829388 829401 + QuestionToken 829401 829403 + ConditionalExpression 829403 829536 + BinaryExpression 829403 829460 + PropertyAccessExpression 829403 829434 + PropertyAccessExpression 829403 829429 + Identifier 829403 829415 + Identifier 829416 829429 + Identifier 829430 829434 + EqualsEqualsEqualsToken 829434 829438 + PropertyAccessExpression 829438 829460 + Identifier 829438 829449 + Identifier 829450 829460 + QuestionToken 829460 829462 + PropertyAccessExpression 829462 829498 + Identifier 829462 829482 + Identifier 829483 829498 + ColonToken 829498 829500 + PropertyAccessExpression 829500 829536 + Identifier 829500 829520 + Identifier 829521 829536 + ColonToken 829536 829538 + NumericLiteral 829538 829540 + FunctionDeclaration 829549 829974 + Identifier 829729 829754 + Parameter 829755 829771 + Identifier 829755 829759 + TypeReference 829760 829771 + Identifier 829760 829771 + NumberKeyword 829773 829780 + Block 829780 829974 + VariableStatement 829782 829839 + VariableDeclarationList 829782 829838 + VariableDeclaration 829797 829838 + Identifier 829797 829807 + CallExpression 829809 829838 + Identifier 829809 829832 + Identifier 829833 829837 + ReturnStatement 829839 829967 + ConditionalExpression 829855 829966 + BinaryExpression 829855 829903 + Identifier 829855 829865 + AmpersandToken 829865 829867 + PropertyAccessExpression 829867 829903 + Identifier 829867 829887 + Identifier 829888 829903 + QuestionToken 829903 829905 + PrefixUnaryExpression 829905 829908 + NumericLiteral 829907 829908 + ColonToken 829908 829910 + ConditionalExpression 829910 829966 + BinaryExpression 829910 829958 + Identifier 829910 829920 + AmpersandToken 829920 829922 + PropertyAccessExpression 829922 829958 + Identifier 829922 829942 + Identifier 829943 829958 + QuestionToken 829958 829960 + NumericLiteral 829960 829962 + ColonToken 829962 829964 + NumericLiteral 829964 829966 + FunctionDeclaration 829974 830986 + Identifier 830362 830395 + Parameter 830396 830406 + Identifier 830396 830400 + TypeReference 830401 830406 + Identifier 830401 830406 + NumberKeyword 830408 830415 + Block 830415 830986 + IfStatement 830417 830640 + BinaryExpression 830431 830472 + CallExpression 830431 830451 + Identifier 830431 830445 + Identifier 830446 830450 + AmpersandToken 830451 830453 + PropertyAccessExpression 830453 830472 + Identifier 830453 830465 + Identifier 830466 830472 + Block 830473 830640 + ReturnStatement 830475 830629 + BinaryExpression 830495 830628 + CallExpression 830495 830540 + Identifier 830495 830520 + AsExpression 830521 830539 + Identifier 830521 830525 + TypeReference 830528 830539 + Identifier 830528 830539 + BarBarToken 830540 830543 + CallExpression 830543 830628 + Identifier 830543 830576 + CallExpression 830577 830627 + Identifier 830577 830607 + AsExpression 830608 830626 + Identifier 830608 830612 + TypeReference 830615 830626 + Identifier 830615 830626 + IfStatement 830640 830960 + BinaryExpression 830654 830689 + PropertyAccessExpression 830654 830664 + Identifier 830654 830658 + Identifier 830659 830664 + AmpersandToken 830664 830666 + PropertyAccessExpression 830666 830689 + Identifier 830666 830676 + Identifier 830677 830689 + Block 830690 830960 + VariableStatement 830692 830796 + VariableDeclarationList 830692 830795 + VariableDeclaration 830711 830795 + Identifier 830711 830723 + CallExpression 830725 830795 + Identifier 830725 830758 + ElementAccessExpression 830759 830794 + PropertyAccessExpression 830759 830791 + ParenthesizedExpression 830759 830785 + AsExpression 830760 830784 + Identifier 830760 830764 + TypeReference 830767 830784 + Identifier 830767 830784 + Identifier 830786 830791 + NumericLiteral 830792 830793 + ReturnStatement 830796 830949 + ConditionalExpression 830816 830948 + CallExpression 830816 830930 + Identifier 830816 830822 + PropertyAccessExpression 830823 830855 + ParenthesizedExpression 830823 830849 + AsExpression 830824 830848 + Identifier 830824 830828 + TypeReference 830831 830848 + Identifier 830831 830848 + Identifier 830850 830855 + ArrowFunction 830856 830929 + Parameter 830858 830859 + Identifier 830858 830859 + Parameter 830860 830862 + Identifier 830860 830862 + EqualsGreaterThanToken 830863 830866 + BinaryExpression 830866 830929 + BinaryExpression 830866 830874 + Identifier 830866 830868 + EqualsEqualsEqualsToken 830868 830872 + NumericLiteral 830872 830874 + BarBarToken 830874 830877 + BinaryExpression 830877 830929 + CallExpression 830877 830913 + Identifier 830877 830910 + Identifier 830911 830912 + EqualsEqualsEqualsToken 830913 830917 + Identifier 830917 830929 + QuestionToken 830930 830932 + Identifier 830932 830944 + ColonToken 830944 830946 + NumericLiteral 830946 830948 + ReturnStatement 830960 830979 + NumericLiteral 830976 830978 + FunctionDeclaration 830986 831190 + Identifier 831002 831022 + Parameter 831023 831033 + Identifier 831023 831027 + TypeReference 831028 831033 + Identifier 831028 831033 + Block 831034 831190 + ReturnStatement 831036 831183 + PrefixUnaryExpression 831052 831182 + PrefixUnaryExpression 831054 831182 + ParenthesizedExpression 831055 831182 + BinaryExpression 831056 831181 + BinaryExpression 831056 831097 + CallExpression 831056 831076 + Identifier 831056 831070 + Identifier 831071 831075 + AmpersandToken 831076 831078 + PropertyAccessExpression 831078 831097 + Identifier 831078 831090 + Identifier 831091 831097 + AmpersandAmpersandToken 831097 831100 + BinaryExpression 831100 831181 + CallExpression 831100 831143 + Identifier 831100 831123 + AsExpression 831124 831142 + Identifier 831124 831128 + TypeReference 831131 831142 + Identifier 831131 831142 + AmpersandToken 831143 831145 + PropertyAccessExpression 831145 831181 + Identifier 831145 831165 + Identifier 831166 831181 + FunctionDeclaration 831190 832131 + Identifier 831206 831226 + Parameter 831227 831237 + Identifier 831227 831231 + TypeReference 831232 831237 + Identifier 831232 831237 + TypePredicate 831239 831258 + Identifier 831239 831244 + TypeReference 831247 831258 + Identifier 831247 831258 + Block 831258 832131 + IfStatement 831260 832101 + BinaryExpression 831274 831315 + CallExpression 831274 831294 + Identifier 831274 831288 + Identifier 831289 831293 + AmpersandToken 831294 831296 + PropertyAccessExpression 831296 831315 + Identifier 831296 831308 + Identifier 831309 831315 + Block 831316 832101 + VariableStatement 831318 831403 + VariableDeclarationList 831318 831402 + VariableDeclaration 831337 831402 + Identifier 831337 831348 + CallExpression 831350 831402 + Identifier 831350 831382 + AsExpression 831383 831401 + Identifier 831383 831387 + TypeReference 831390 831401 + Identifier 831390 831401 + IfStatement 831403 831499 + CallExpression 831421 831451 + Identifier 831421 831439 + Identifier 831440 831450 + Block 831452 831499 + ReturnStatement 831454 831484 + TrueKeyword 831478 831483 + VariableStatement 831499 831882 + VariableDeclarationList 831499 831881 + VariableDeclaration 831824 831881 + Identifier 831824 831833 + CallExpression 831835 831881 + Identifier 831835 831861 + AsExpression 831862 831880 + Identifier 831862 831866 + TypeReference 831869 831880 + Identifier 831869 831880 + IfStatement 831882 832090 + BinaryExpression 831900 832042 + Identifier 831900 831908 + AmpersandAmpersandToken 831908 831911 + CallExpression 831911 832042 + Identifier 831911 831930 + CallExpression 831931 832041 + Identifier 831931 831946 + Identifier 831947 831955 + CallExpression 831956 832040 + Identifier 831956 831976 + CallExpression 831977 832027 + Identifier 831977 832007 + AsExpression 832008 832026 + Identifier 832008 832012 + TypeReference 832015 832026 + Identifier 832015 832026 + Identifier 832028 832039 + Block 832043 832090 + ReturnStatement 832045 832075 + TrueKeyword 832069 832074 + ReturnStatement 832101 832124 + FalseKeyword 832117 832123 + FunctionDeclaration 832131 832523 + Identifier 832147 832173 + Parameter 832174 832190 + Identifier 832174 832178 + TypeReference 832179 832190 + Identifier 832179 832190 + TypeReference 832192 832215 + Identifier 832192 832215 + Block 832215 832523 + VariableStatement 832217 832276 + VariableDeclarationList 832217 832275 + VariableDeclaration 832232 832275 + Identifier 832232 832241 + CallExpression 832243 832275 + Identifier 832243 832269 + Identifier 832270 832274 + IfStatement 832276 832362 + PrefixUnaryExpression 832290 832299 + Identifier 832291 832299 + Block 832300 832362 + ReturnStatement 832302 832351 + PropertyAccessExpression 832322 832350 + Identifier 832322 832345 + Identifier 832346 832350 + ReturnStatement 832362 832516 + ConditionalExpression 832378 832515 + CallExpression 832378 832445 + Identifier 832378 832397 + Identifier 832398 832406 + CallExpression 832407 832444 + Identifier 832407 832438 + Identifier 832439 832443 + QuestionToken 832445 832447 + PropertyAccessExpression 832447 832480 + Identifier 832447 832470 + Identifier 832471 832480 + ColonToken 832480 832482 + PropertyAccessExpression 832482 832515 + Identifier 832482 832505 + Identifier 832506 832515 + FunctionDeclaration 832523 834226 + Identifier 832539 832568 + Parameter 832569 832589 + Identifier 832569 832573 + TypeReference 832574 832589 + Identifier 832574 832589 + TypeReference 832591 832604 + Identifier 832591 832604 + Block 832604 834226 + IfStatement 832606 834181 + PrefixUnaryExpression 832620 832651 + PropertyAccessExpression 832621 832651 + ParenthesizedExpression 832621 832643 + AsExpression 832622 832642 + Identifier 832622 832626 + TypeReference 832629 832642 + Identifier 832629 832642 + Identifier 832644 832651 + Block 832652 834181 + IfStatement 832654 834170 + BinaryExpression 832672 832701 + PropertyAccessExpression 832672 832682 + Identifier 832672 832676 + Identifier 832677 832682 + AmpersandToken 832682 832684 + PropertyAccessExpression 832684 832701 + Identifier 832684 832694 + Identifier 832695 832701 + Block 832702 833770 + IfStatement 832704 833755 + BinaryExpression 832726 832782 + PropertyAccessExpression 832726 832758 + ParenthesizedExpression 832726 832746 + AsExpression 832727 832745 + Identifier 832727 832731 + TypeReference 832734 832745 + Identifier 832734 832745 + Identifier 832747 832758 + AmpersandToken 832758 832760 + PropertyAccessExpression 832760 832782 + Identifier 832760 832772 + Identifier 832773 832782 + Block 832783 832877 + ExpressionStatement 832785 832858 + CallExpression 832785 832857 + Identifier 832785 832834 + AsExpression 832835 832856 + Identifier 832835 832839 + TypeReference 832842 832856 + Identifier 832842 832856 + IfStatement 832899 833755 + BinaryExpression 832904 832967 + PropertyAccessExpression 832904 832936 + ParenthesizedExpression 832904 832924 + AsExpression 832905 832923 + Identifier 832905 832909 + TypeReference 832912 832923 + Identifier 832912 832923 + Identifier 832925 832936 + AmpersandToken 832936 832938 + PropertyAccessExpression 832938 832967 + Identifier 832938 832950 + Identifier 832951 832967 + Block 832968 833065 + ExpressionStatement 832970 833046 + CallExpression 832970 833045 + Identifier 832970 833022 + AsExpression 833023 833044 + Identifier 833023 833027 + TypeReference 833030 833044 + Identifier 833030 833044 + IfStatement 833087 833755 + BinaryExpression 833092 833159 + PropertyAccessExpression 833092 833131 + ParenthesizedExpression 833092 833119 + AsExpression 833093 833118 + Identifier 833093 833097 + TypeReference 833100 833118 + Identifier 833100 833118 + Identifier 833120 833131 + AmpersandToken 833131 833133 + PropertyAccessExpression 833133 833159 + Identifier 833133 833145 + Identifier 833146 833159 + Block 833160 833262 + ExpressionStatement 833162 833243 + CallExpression 833162 833242 + Identifier 833162 833215 + AsExpression 833216 833241 + Identifier 833216 833220 + TypeReference 833223 833241 + Identifier 833223 833241 + IfStatement 833284 833755 + BinaryExpression 833289 833345 + PropertyAccessExpression 833289 833321 + ParenthesizedExpression 833289 833309 + AsExpression 833290 833308 + Identifier 833290 833294 + TypeReference 833297 833308 + Identifier 833297 833308 + Identifier 833310 833321 + AmpersandToken 833321 833323 + PropertyAccessExpression 833323 833345 + Identifier 833323 833335 + Identifier 833336 833345 + Block 833346 833440 + ExpressionStatement 833348 833421 + CallExpression 833348 833420 + Identifier 833348 833397 + AsExpression 833398 833419 + Identifier 833398 833402 + TypeReference 833405 833419 + Identifier 833405 833419 + IfStatement 833462 833755 + BinaryExpression 833467 833520 + PropertyAccessExpression 833467 833499 + ParenthesizedExpression 833467 833487 + AsExpression 833468 833486 + Identifier 833468 833472 + TypeReference 833475 833486 + Identifier 833475 833486 + Identifier 833488 833499 + AmpersandToken 833499 833501 + PropertyAccessExpression 833501 833520 + Identifier 833501 833513 + Identifier 833514 833520 + Block 833521 833609 + ExpressionStatement 833523 833590 + CallExpression 833523 833589 + Identifier 833523 833569 + AsExpression 833570 833588 + Identifier 833570 833574 + TypeReference 833577 833588 + Identifier 833577 833588 + Block 833631 833755 + ExpressionStatement 833633 833736 + CallExpression 833633 833735 + PropertyAccessExpression 833633 833665 + Identifier 833633 833660 + Identifier 833661 833665 + BinaryExpression 833666 833734 + StringLiteral 833666 833690 + PlusToken 833690 833692 + CallExpression 833692 833734 + PropertyAccessExpression 833692 833716 + Identifier 833692 833698 + Identifier 833699 833716 + PropertyAccessExpression 833717 833733 + Identifier 833717 833721 + Identifier 833722 833733 + IfStatement 833788 834170 + BinaryExpression 833793 833821 + PropertyAccessExpression 833793 833803 + Identifier 833793 833797 + Identifier 833798 833803 + AmpersandToken 833803 833805 + PropertyAccessExpression 833805 833821 + Identifier 833805 833815 + Identifier 833816 833821 + Block 833822 833900 + ExpressionStatement 833824 833885 + CallExpression 833824 833884 + Identifier 833824 833865 + AsExpression 833866 833883 + Identifier 833866 833870 + TypeReference 833873 833883 + Identifier 833873 833883 + IfStatement 833918 834170 + BinaryExpression 833923 833958 + PropertyAccessExpression 833923 833933 + Identifier 833923 833927 + Identifier 833928 833933 + AmpersandToken 833933 833935 + PropertyAccessExpression 833935 833958 + Identifier 833935 833945 + Identifier 833946 833958 + Block 833959 834051 + ExpressionStatement 833961 834036 + CallExpression 833961 834035 + Identifier 833961 834009 + AsExpression 834010 834034 + Identifier 834010 834014 + TypeReference 834017 834034 + Identifier 834017 834034 + Block 834069 834170 + ExpressionStatement 834071 834155 + CallExpression 834071 834154 + PropertyAccessExpression 834071 834099 + Identifier 834071 834094 + Identifier 834095 834099 + BinaryExpression 834100 834153 + StringLiteral 834100 834117 + PlusToken 834117 834119 + CallExpression 834119 834153 + PropertyAccessExpression 834119 834141 + Identifier 834119 834125 + Identifier 834126 834141 + PropertyAccessExpression 834142 834152 + Identifier 834142 834146 + Identifier 834147 834152 + ReturnStatement 834181 834219 + AsExpression 834197 834218 + Identifier 834197 834202 + TypeReference 834205 834218 + Identifier 834205 834218 + FunctionDeclaration 834226 834547 + Identifier 834324 834350 + Parameter 834351 834361 + Identifier 834351 834355 + TypeReference 834356 834361 + Identifier 834356 834361 + ArrayType 834363 834372 + TypeReference 834363 834370 + Identifier 834363 834370 + Block 834372 834547 + IfStatement 834374 834512 + BinaryExpression 834388 834417 + PropertyAccessExpression 834388 834398 + Identifier 834388 834392 + Identifier 834393 834398 + AmpersandToken 834398 834400 + PropertyAccessExpression 834400 834417 + Identifier 834400 834410 + Identifier 834411 834417 + Block 834418 834512 + ReturnStatement 834420 834501 + PropertyAccessExpression 834440 834500 + CallExpression 834440 834489 + Identifier 834440 834469 + AsExpression 834470 834488 + Identifier 834470 834474 + TypeReference 834477 834488 + Identifier 834477 834488 + Identifier 834490 834500 + ReturnStatement 834512 834540 + Identifier 834528 834539 + FunctionDeclaration 834547 835111 + Identifier 834738 834762 + Parameter 834763 834773 + Identifier 834763 834767 + TypeReference 834768 834773 + Identifier 834768 834773 + Parameter 834774 834789 + Identifier 834774 834779 + TypeReference 834780 834789 + Identifier 834780 834789 + UnionType 834791 834810 + TypeReference 834791 834798 + Identifier 834791 834798 + UndefinedKeyword 834800 834810 + Block 834810 835111 + IfStatement 834812 835104 + BinaryExpression 834826 834855 + PropertyAccessExpression 834826 834836 + Identifier 834826 834830 + Identifier 834831 834836 + AmpersandToken 834836 834838 + PropertyAccessExpression 834838 834855 + Identifier 834838 834848 + Identifier 834849 834855 + Block 834856 835104 + VariableStatement 834858 834938 + VariableDeclarationList 834858 834937 + VariableDeclaration 834877 834937 + Identifier 834877 834886 + CallExpression 834888 834937 + Identifier 834888 834917 + AsExpression 834918 834936 + Identifier 834918 834922 + TypeReference 834925 834936 + Identifier 834925 834936 + VariableStatement 834938 834994 + VariableDeclarationList 834938 834993 + VariableDeclaration 834957 834993 + Identifier 834957 834964 + CallExpression 834966 834993 + PropertyAccessExpression 834966 834987 + PropertyAccessExpression 834966 834983 + Identifier 834966 834975 + Identifier 834976 834983 + Identifier 834984 834987 + Identifier 834988 834992 + IfStatement 834994 835093 + BinaryExpression 835012 835043 + Identifier 835012 835018 + AmpersandAmpersandToken 835018 835021 + CallExpression 835021 835043 + Identifier 835021 835035 + Identifier 835036 835042 + Block 835044 835093 + ReturnStatement 835046 835078 + Identifier 835070 835077 + FunctionDeclaration 835111 836341 + Identifier 835127 835166 + Parameter 835167 835196 + Identifier 835167 835171 + TypeReference 835172 835196 + Identifier 835172 835196 + ArrayType 835198 835207 + TypeReference 835198 835205 + Identifier 835198 835205 + Block 835207 836341 + IfStatement 835209 836293 + PrefixUnaryExpression 835223 835247 + PropertyAccessExpression 835224 835247 + Identifier 835224 835228 + Identifier 835229 835247 + Block 835248 836293 + VariableStatement 835250 835300 + VariableDeclarationList 835250 835299 + VariableDeclaration 835269 835299 + Identifier 835269 835277 + CallExpression 835279 835299 + Identifier 835279 835297 + ForOfStatement 835300 836217 + VariableDeclarationList 835319 835332 + VariableDeclaration 835324 835332 + Identifier 835324 835332 + PropertyAccessExpression 835335 835346 + Identifier 835335 835340 + Identifier 835341 835346 + Block 835347 836217 + ForOfStatement 835349 835851 + VariableDeclarationList 835372 835382 + VariableDeclaration 835377 835382 + Identifier 835377 835382 + CallExpression 835385 835414 + Identifier 835385 835405 + Identifier 835406 835413 + Block 835415 835851 + IfStatement 835417 835832 + PrefixUnaryExpression 835443 835473 + CallExpression 835444 835473 + PropertyAccessExpression 835444 835455 + Identifier 835444 835451 + Identifier 835452 835455 + PropertyAccessExpression 835456 835472 + Identifier 835456 835460 + Identifier 835461 835472 + Block 835474 835832 + VariableStatement 835476 835663 + VariableDeclarationList 835476 835662 + VariableDeclaration 835507 835662 + Identifier 835507 835520 + CallExpression 835522 835662 + Identifier 835522 835559 + Identifier 835560 835564 + PropertyAccessExpression 835565 835582 + Identifier 835565 835570 + Identifier 835571 835582 + PrefixUnaryExpression 835583 835661 + PrefixUnaryExpression 835623 835661 + ParenthesizedExpression 835624 835661 + BinaryExpression 835625 835660 + PropertyAccessExpression 835625 835635 + Identifier 835625 835629 + Identifier 835630 835635 + AmpersandToken 835635 835637 + PropertyAccessExpression 835637 835660 + Identifier 835637 835647 + Identifier 835648 835660 + IfStatement 835663 835809 + Identifier 835693 835705 + Block 835706 835809 + ExpressionStatement 835708 835782 + CallExpression 835708 835781 + PropertyAccessExpression 835708 835749 + Identifier 835708 835745 + Identifier 835746 835749 + PropertyAccessExpression 835750 835766 + Identifier 835750 835754 + Identifier 835755 835766 + Identifier 835767 835780 + IfStatement 835851 836202 + BinaryExpression 836079 836152 + BinaryExpression 836079 836107 + PropertyAccessExpression 836079 836089 + Identifier 836079 836083 + Identifier 836084 836089 + AmpersandToken 836089 836091 + PropertyAccessExpression 836091 836107 + Identifier 836091 836101 + Identifier 836102 836107 + AmpersandAmpersandToken 836107 836110 + BinaryExpression 836110 836152 + PropertyAccessExpression 836110 836146 + CallExpression 836110 836139 + Identifier 836110 836130 + Identifier 836131 836138 + Identifier 836140 836146 + EqualsEqualsEqualsToken 836146 836150 + NumericLiteral 836150 836152 + Block 836153 836202 + BreakStatement 836155 836183 + ExpressionStatement 836217 836282 + BinaryExpression 836217 836281 + PropertyAccessExpression 836217 836254 + Identifier 836217 836235 + Identifier 836236 836254 + EqualsToken 836254 836256 + CallExpression 836256 836281 + Identifier 836256 836272 + Identifier 836273 836280 + ReturnStatement 836293 836334 + PropertyAccessExpression 836309 836333 + Identifier 836309 836314 + Identifier 836315 836333 + FunctionDeclaration 836341 836634 + Identifier 836357 836377 + Parameter 836378 836388 + Identifier 836378 836382 + TypeReference 836383 836388 + Identifier 836383 836388 + ArrayType 836390 836399 + TypeReference 836390 836397 + Identifier 836390 836397 + Block 836399 836634 + ExpressionStatement 836401 836447 + BinaryExpression 836401 836446 + Identifier 836401 836415 + EqualsToken 836415 836417 + CallExpression 836417 836446 + Identifier 836417 836440 + Identifier 836441 836445 + ReturnStatement 836447 836627 + ConditionalExpression 836463 836626 + BinaryExpression 836463 836506 + PropertyAccessExpression 836463 836474 + Identifier 836463 836468 + Identifier 836469 836474 + AmpersandToken 836474 836476 + PropertyAccessExpression 836476 836506 + Identifier 836476 836486 + Identifier 836487 836506 + QuestionToken 836506 836508 + CallExpression 836508 836579 + Identifier 836508 836560 + AsExpression 836561 836578 + Identifier 836561 836565 + TypeReference 836568 836578 + Identifier 836568 836578 + ColonToken 836579 836581 + CallExpression 836581 836626 + Identifier 836581 836620 + Identifier 836621 836625 + FunctionDeclaration 836634 837121 + Identifier 836650 836672 + Parameter 836673 836683 + Identifier 836673 836677 + TypeReference 836678 836683 + Identifier 836678 836683 + Parameter 836684 836740 + Identifier 836684 836691 + FunctionType 836692 836740 + Parameter 836694 836708 + Identifier 836694 836700 + TypeReference 836701 836708 + Identifier 836701 836708 + Parameter 836709 836731 + Identifier 836709 836721 + TypeReference 836722 836731 + Identifier 836722 836731 + VoidKeyword 836735 836740 + VoidKeyword 836742 836747 + Block 836747 837121 + ExpressionStatement 836749 836795 + BinaryExpression 836749 836794 + Identifier 836749 836763 + EqualsToken 836763 836765 + CallExpression 836765 836794 + Identifier 836765 836788 + Identifier 836789 836793 + IfStatement 836795 837114 + BinaryExpression 836809 836846 + PropertyAccessExpression 836809 836819 + Identifier 836809 836813 + Identifier 836814 836819 + AmpersandToken 836819 836821 + PropertyAccessExpression 836821 836846 + Identifier 836821 836831 + Identifier 836832 836846 + Block 836847 837114 + ExpressionStatement 836849 837103 + CallExpression 836849 837102 + PropertyAccessExpression 836849 836931 + PropertyAccessExpression 836849 836923 + CallExpression 836849 836915 + Identifier 836849 836891 + AsExpression 836892 836914 + Identifier 836892 836896 + TypeReference 836899 836914 + Identifier 836899 836914 + Identifier 836916 836923 + Identifier 836924 836931 + ArrowFunction 836932 837101 + Parameter 836933 836939 + Identifier 836933 836939 + Parameter 836940 836952 + Identifier 836940 836952 + EqualsGreaterThanToken 836953 836956 + Block 836956 837101 + IfStatement 836958 837086 + CallExpression 836980 837014 + Identifier 836980 836993 + Identifier 836994 837000 + Identifier 837001 837013 + Block 837015 837086 + ExpressionStatement 837017 837067 + CallExpression 837017 837066 + Identifier 837017 837045 + Identifier 837046 837052 + Identifier 837053 837065 + FunctionDeclaration 837121 837957 + Identifier 837137 837173 + Parameter 837174 837194 + Identifier 837174 837188 + TypeReference 837189 837194 + Identifier 837189 837194 + Parameter 837195 837240 + Identifier 837195 837199 + UnionType 837200 837240 + TypeReference 837200 837224 + Identifier 837200 837224 + TypeReference 837226 837240 + Identifier 837226 837240 + BooleanKeyword 837242 837250 + Block 837250 837957 + VariableStatement 837252 837348 + VariableDeclarationList 837252 837347 + VariableDeclaration 837267 837347 + Identifier 837267 837272 + AsExpression 837274 837347 + PropertyAccessExpression 837274 837289 + Identifier 837274 837278 + Identifier 837279 837289 + TypeReference 837292 837347 + Identifier 837292 837302 + UnionType 837303 837346 + TypeReference 837303 837327 + Identifier 837303 837327 + TypeReference 837329 837346 + Identifier 837329 837346 + ReturnStatement 837348 837950 + CallExpression 837364 837949 + PropertyAccessExpression 837364 837374 + Identifier 837364 837369 + Identifier 837370 837374 + ArrowFunction 837375 837948 + Parameter 837375 837383 + Identifier 837375 837383 + EqualsGreaterThanToken 837383 837386 + Block 837386 837948 + VariableStatement 837388 837586 + VariableDeclarationList 837388 837585 + VariableDeclaration 837407 837585 + Identifier 837407 837416 + BinaryExpression 837418 837585 + PropertyAccessExpression 837418 837432 + Identifier 837418 837427 + Identifier 837428 837432 + AmpersandAmpersandToken 837432 837435 + ParenthesizedExpression 837435 837585 + ConditionalExpression 837437 837584 + CallExpression 837437 837471 + Identifier 837437 837456 + PropertyAccessExpression 837457 837470 + Identifier 837457 837465 + Identifier 837466 837470 + QuestionToken 837471 837473 + CallExpression 837473 837536 + Identifier 837473 837494 + CallExpression 837495 837535 + Identifier 837495 837520 + PropertyAccessExpression 837521 837534 + Identifier 837521 837529 + Identifier 837530 837534 + ColonToken 837536 837538 + CallExpression 837538 837584 + Identifier 837538 837569 + PropertyAccessExpression 837570 837583 + Identifier 837570 837578 + Identifier 837579 837583 + VariableStatement 837586 837710 + VariableDeclarationList 837586 837709 + VariableDeclaration 837605 837709 + Identifier 837605 837610 + ConditionalExpression 837612 837709 + BinaryExpression 837612 837661 + Identifier 837612 837621 + AmpersandAmpersandToken 837621 837624 + CallExpression 837624 837661 + Identifier 837624 837651 + Identifier 837652 837660 + QuestionToken 837661 837663 + CallExpression 837663 837697 + Identifier 837663 837687 + Identifier 837688 837696 + ColonToken 837697 837699 + Identifier 837699 837709 + VariableStatement 837710 837820 + VariableDeclarationList 837710 837819 + VariableDeclaration 837729 837819 + Identifier 837729 837738 + ConditionalExpression 837740 837819 + BinaryExpression 837740 837759 + Identifier 837740 837745 + EqualsEqualsEqualsToken 837745 837749 + Identifier 837749 837759 + QuestionToken 837759 837761 + Identifier 837761 837771 + ColonToken 837771 837773 + CallExpression 837773 837819 + Identifier 837773 837797 + Identifier 837798 837812 + Identifier 837813 837818 + ReturnStatement 837820 837937 + BinaryExpression 837840 837936 + BinaryExpression 837840 837878 + PrefixUnaryExpression 837840 837851 + PrefixUnaryExpression 837842 837851 + Identifier 837843 837851 + AmpersandAmpersandToken 837851 837854 + CallExpression 837854 837878 + Identifier 837854 837868 + Identifier 837869 837877 + AmpersandAmpersandToken 837878 837881 + PrefixUnaryExpression 837881 837936 + CallExpression 837883 837936 + Identifier 837883 837901 + CallExpression 837902 837925 + Identifier 837902 837915 + Identifier 837916 837924 + Identifier 837926 837935 + FunctionDeclaration 837957 838768 + Identifier 837973 838005 + Parameter 838006 838028 + Identifier 838006 838011 + TypeOperator 838012 838028 + ArrayType 838021 838028 + TypeReference 838021 838026 + Identifier 838021 838026 + ArrayType 838030 838039 + TypeReference 838030 838037 + Identifier 838030 838037 + Block 838039 838768 + VariableStatement 838041 838089 + VariableDeclarationList 838041 838088 + VariableDeclaration 838056 838088 + Identifier 838056 838066 + CallExpression 838068 838088 + Identifier 838068 838081 + Identifier 838082 838087 + IfStatement 838089 838214 + PrefixUnaryExpression 838103 838139 + ParenthesizedExpression 838104 838139 + BinaryExpression 838105 838138 + PropertyAccessExpression 838105 838120 + Identifier 838105 838114 + Identifier 838115 838120 + AmpersandToken 838120 838122 + PropertyAccessExpression 838122 838138 + Identifier 838122 838132 + Identifier 838133 838138 + Block 838140 838214 + ReturnStatement 838142 838203 + CallExpression 838162 838202 + Identifier 838162 838191 + Identifier 838192 838201 + VariableStatement 838214 838260 + VariableDeclarationList 838214 838259 + VariableDeclaration 838231 838259 + Identifier 838231 838237 + CallExpression 838239 838259 + Identifier 838239 838257 + ForOfStatement 838260 838718 + VariableDeclarationList 838275 838291 + VariableDeclaration 838280 838291 + Identifier 838280 838291 + Identifier 838294 838300 + Block 838301 838718 + ForOfStatement 838303 838707 + VariableDeclarationList 838322 838343 + VariableDeclaration 838327 838343 + ObjectBindingPattern 838327 838343 + BindingElement 838329 838341 + Identifier 838329 838341 + CallExpression 838346 838387 + Identifier 838346 838375 + Identifier 838376 838386 + Block 838388 838707 + IfStatement 838390 838692 + PrefixUnaryExpression 838412 838435 + CallExpression 838413 838435 + PropertyAccessExpression 838413 838422 + Identifier 838413 838418 + Identifier 838419 838422 + Identifier 838423 838434 + Block 838436 838692 + VariableStatement 838438 838544 + VariableDeclarationList 838438 838543 + VariableDeclaration 838465 838543 + Identifier 838465 838470 + CallExpression 838472 838543 + Identifier 838472 838506 + AsExpression 838507 838529 + Identifier 838507 838516 + TypeReference 838519 838529 + Identifier 838519 838529 + Identifier 838530 838542 + IfStatement 838544 838673 + Identifier 838638 838642 + ExpressionStatement 838643 838673 + CallExpression 838643 838672 + PropertyAccessExpression 838643 838653 + Identifier 838643 838649 + Identifier 838650 838653 + Identifier 838654 838665 + Identifier 838666 838671 + ReturnStatement 838718 838761 + CallExpression 838734 838760 + Identifier 838734 838744 + CallExpression 838745 838759 + PropertyAccessExpression 838745 838757 + Identifier 838745 838750 + Identifier 838751 838757 + FunctionDeclaration 838768 839252 + Identifier 838784 838804 + Parameter 838805 838853 + Identifier 838805 838809 + UnionType 838810 838853 + TypeReference 838810 838827 + Identifier 838810 838827 + TypeReference 838829 838853 + Identifier 838829 838853 + UnionType 838855 838872 + TypeReference 838855 838860 + Identifier 838855 838860 + UndefinedKeyword 838862 838872 + Block 838872 839252 + ReturnStatement 838874 839245 + ConditionalExpression 838890 839244 + BinaryExpression 838890 838927 + PropertyAccessExpression 838890 838901 + Identifier 838890 838895 + Identifier 838896 838901 + AmpersandToken 838901 838903 + PropertyAccessExpression 838903 838927 + Identifier 838903 838913 + Identifier 838914 838927 + QuestionToken 838927 838929 + CallExpression 838929 838981 + Identifier 838929 838958 + AsExpression 838959 838980 + Identifier 838959 838963 + TypeReference 838966 838980 + Identifier 838966 838980 + ColonToken 838981 838983 + ConditionalExpression 838983 839244 + BinaryExpression 838983 839033 + PropertyAccessExpression 838983 839007 + Identifier 838983 839001 + Identifier 839002 839007 + AmpersandToken 839007 839009 + PropertyAccessExpression 839009 839033 + Identifier 839009 839019 + Identifier 839020 839033 + QuestionToken 839033 839035 + CallExpression 839035 839091 + Identifier 839035 839064 + AsExpression 839065 839090 + Identifier 839065 839069 + TypeReference 839072 839090 + Identifier 839072 839090 + ColonToken 839091 839093 + ConditionalExpression 839093 839244 + BinaryExpression 839093 839141 + PropertyAccessExpression 839093 839117 + Identifier 839093 839111 + Identifier 839112 839117 + AmpersandToken 839117 839119 + PropertyAccessExpression 839119 839141 + Identifier 839119 839129 + Identifier 839130 839141 + QuestionToken 839141 839143 + CallExpression 839143 839199 + Identifier 839143 839174 + AsExpression 839175 839198 + Identifier 839175 839179 + TypeReference 839182 839198 + Identifier 839182 839198 + ColonToken 839199 839201 + CallExpression 839201 839244 + Identifier 839201 839238 + Identifier 839239 839243 + FunctionDeclaration 839252 839475 + Identifier 839268 839297 + Parameter 839298 839326 + Identifier 839298 839311 + TypeReference 839312 839326 + Identifier 839312 839326 + UnionType 839328 839345 + TypeReference 839328 839333 + Identifier 839328 839333 + UndefinedKeyword 839335 839345 + Block 839345 839475 + ReturnStatement 839347 839468 + ConditionalExpression 839363 839467 + CallExpression 839363 839407 + Identifier 839363 839392 + Identifier 839393 839406 + QuestionToken 839407 839409 + CallExpression 839409 839455 + Identifier 839409 839440 + Identifier 839441 839454 + ColonToken 839455 839457 + Identifier 839457 839467 + FunctionDeclaration 839475 839700 + Identifier 839491 839509 + Parameter 839510 839526 + Identifier 839510 839514 + TypeReference 839515 839526 + Identifier 839515 839526 + Parameter 839527 839541 + Identifier 839527 839533 + NumberKeyword 839534 839541 + BooleanKeyword 839543 839551 + Block 839551 839700 + VariableStatement 839553 839617 + VariableDeclarationList 839553 839616 + VariableDeclaration 839568 839616 + Identifier 839568 839581 + CallExpression 839583 839616 + Identifier 839583 839610 + Identifier 839611 839615 + ReturnStatement 839617 839693 + BinaryExpression 839633 839692 + PrefixUnaryExpression 839633 839648 + PrefixUnaryExpression 839635 839648 + Identifier 839636 839648 + AmpersandAmpersandToken 839648 839651 + CallExpression 839651 839692 + Identifier 839651 839671 + Identifier 839672 839684 + Identifier 839685 839691 + FunctionDeclaration 839700 840819 + Identifier 839716 839736 + Parameter 839737 839759 + Identifier 839737 839741 + UnionType 839742 839759 + TypeReference 839742 839747 + Identifier 839742 839747 + UndefinedKeyword 839749 839759 + Parameter 839760 839770 + Identifier 839760 839766 + NumericLiteral 839768 839770 + BooleanKeyword 839772 839780 + Block 839780 840819 + ReturnStatement 839782 840812 + BinaryExpression 839798 840811 + BinaryExpression 839798 839808 + Identifier 839798 839804 + LessThanToken 839804 839806 + NumericLiteral 839806 839808 + AmpersandAmpersandToken 839808 839811 + PrefixUnaryExpression 839811 840811 + PrefixUnaryExpression 839813 840811 + ParenthesizedExpression 839814 840811 + BinaryExpression 839815 840810 + Identifier 839815 839819 + AmpersandAmpersandToken 839819 839822 + ParenthesizedExpression 839822 840810 + BinaryExpression 839824 840799 + BinaryExpression 839824 840617 + BinaryExpression 839824 840511 + BinaryExpression 839824 840392 + BinaryExpression 839824 840250 + BinaryExpression 839824 840123 + BinaryExpression 839824 839979 + BinaryExpression 839824 839874 + PropertyAccessExpression 839824 839848 + Identifier 839824 839842 + Identifier 839843 839848 + AmpersandToken 839848 839850 + PropertyAccessExpression 839850 839874 + Identifier 839850 839860 + Identifier 839861 839874 + AmpersandAmpersandToken 839874 839877 + CallExpression 839877 839979 + Identifier 839877 839882 + PropertyAccessExpression 839883 839927 + PropertyAccessExpression 839883 839913 + ParenthesizedExpression 839883 839906 + AsExpression 839884 839905 + Identifier 839884 839888 + TypeReference 839891 839905 + Identifier 839891 839905 + Identifier 839907 839913 + QuestionDotToken 839913 839915 + Identifier 839915 839927 + ArrowFunction 839928 839978 + Parameter 839928 839930 + Identifier 839928 839930 + EqualsGreaterThanToken 839930 839933 + CallExpression 839933 839978 + Identifier 839933 839954 + Identifier 839955 839956 + PropertyAccessExpression 839957 839977 + Identifier 839957 839971 + Identifier 839972 839977 + BarBarToken 839979 839982 + BinaryExpression 839982 840123 + BinaryExpression 839982 840038 + PropertyAccessExpression 839982 840006 + Identifier 839982 840000 + Identifier 840001 840006 + AmpersandToken 840006 840008 + PropertyAccessExpression 840008 840038 + Identifier 840008 840018 + Identifier 840019 840038 + AmpersandAmpersandToken 840038 840041 + CallExpression 840041 840123 + Identifier 840041 840046 + PropertyAccessExpression 840047 840086 + ParenthesizedExpression 840047 840080 + AsExpression 840048 840079 + Identifier 840048 840052 + TypeReference 840055 840079 + Identifier 840055 840079 + Identifier 840081 840086 + ArrowFunction 840087 840122 + Parameter 840087 840089 + Identifier 840087 840089 + EqualsGreaterThanToken 840089 840092 + CallExpression 840092 840122 + Identifier 840092 840112 + Identifier 840113 840114 + Identifier 840115 840121 + BarBarToken 840123 840126 + BinaryExpression 840126 840250 + BinaryExpression 840126 840176 + PropertyAccessExpression 840126 840150 + Identifier 840126 840144 + Identifier 840145 840150 + AmpersandToken 840150 840152 + PropertyAccessExpression 840152 840176 + Identifier 840152 840162 + Identifier 840163 840176 + AmpersandAmpersandToken 840176 840179 + CallExpression 840179 840250 + Identifier 840179 840199 + PropertyAccessExpression 840200 840238 + ParenthesizedExpression 840200 840227 + AsExpression 840201 840226 + Identifier 840201 840205 + TypeReference 840208 840226 + Identifier 840208 840226 + Identifier 840228 840238 + BinaryExpression 840239 840249 + Identifier 840239 840245 + PlusToken 840245 840247 + NumericLiteral 840247 840249 + BarBarToken 840250 840253 + BinaryExpression 840253 840392 + BinaryExpression 840253 840301 + PropertyAccessExpression 840253 840277 + Identifier 840253 840271 + Identifier 840272 840277 + AmpersandToken 840277 840279 + PropertyAccessExpression 840279 840301 + Identifier 840279 840289 + Identifier 840290 840301 + AmpersandAmpersandToken 840301 840304 + CallExpression 840304 840392 + Identifier 840304 840324 + CallExpression 840325 840380 + Identifier 840325 840355 + AsExpression 840356 840379 + Identifier 840356 840360 + TypeReference 840363 840379 + Identifier 840363 840379 + BinaryExpression 840381 840391 + Identifier 840381 840387 + PlusToken 840387 840389 + NumericLiteral 840389 840391 + BarBarToken 840392 840395 + BinaryExpression 840395 840511 + BinaryExpression 840395 840444 + PropertyAccessExpression 840395 840419 + Identifier 840395 840413 + Identifier 840414 840419 + AmpersandToken 840419 840421 + PropertyAccessExpression 840421 840444 + Identifier 840421 840431 + Identifier 840432 840444 + AmpersandAmpersandToken 840444 840447 + CallExpression 840447 840511 + Identifier 840447 840467 + PropertyAccessExpression 840468 840503 + ParenthesizedExpression 840468 840494 + AsExpression 840469 840493 + Identifier 840469 840473 + TypeReference 840476 840493 + Identifier 840476 840493 + Identifier 840495 840503 + Identifier 840504 840510 + BarBarToken 840511 840514 + BinaryExpression 840514 840617 + BinaryExpression 840514 840569 + CallExpression 840514 840548 + Identifier 840514 840542 + Identifier 840543 840547 + AmpersandToken 840548 840550 + PropertyAccessExpression 840550 840569 + Identifier 840550 840562 + Identifier 840563 840569 + AmpersandAmpersandToken 840569 840572 + CallExpression 840572 840617 + Identifier 840572 840590 + AsExpression 840591 840609 + Identifier 840591 840595 + TypeReference 840598 840609 + Identifier 840598 840609 + Identifier 840610 840616 + BarBarToken 840617 840620 + BinaryExpression 840620 840799 + CallExpression 840620 840658 + Identifier 840620 840652 + Identifier 840653 840657 + AmpersandAmpersandToken 840658 840661 + BinaryExpression 840661 840799 + CallExpression 840661 840794 + Identifier 840661 840671 + CallExpression 840672 840693 + Identifier 840672 840687 + Identifier 840688 840692 + ArrowFunction 840694 840793 + Parameter 840696 840697 + Identifier 840696 840697 + Parameter 840698 840700 + Identifier 840698 840700 + EqualsGreaterThanToken 840701 840704 + BinaryExpression 840704 840793 + PrefixUnaryExpression 840704 840760 + PrefixUnaryExpression 840706 840760 + ParenthesizedExpression 840707 840760 + BinaryExpression 840708 840759 + ElementAccessExpression 840708 840735 + PropertyAccessExpression 840708 840732 + PropertyAccessExpression 840708 840719 + Identifier 840708 840712 + Identifier 840713 840719 + Identifier 840720 840732 + Identifier 840733 840734 + AmpersandToken 840735 840737 + PropertyAccessExpression 840737 840759 + Identifier 840737 840750 + Identifier 840751 840759 + AmpersandAmpersandToken 840760 840763 + CallExpression 840763 840793 + Identifier 840763 840783 + Identifier 840784 840785 + Identifier 840786 840792 + GreaterThanEqualsToken 840794 840797 + NumericLiteral 840797 840799 + FunctionDeclaration 840819 841001 + Identifier 840835 840864 + Parameter 840865 840888 + Identifier 840865 840869 + TypeReference 840870 840888 + Identifier 840870 840888 + Block 840889 841001 + ReturnStatement 840891 840994 + ConditionalExpression 840907 840993 + CallExpression 840907 840942 + Identifier 840907 840936 + Identifier 840937 840941 + QuestionToken 840942 840944 + CallExpression 840944 840981 + Identifier 840944 840975 + Identifier 840976 840980 + ColonToken 840981 840983 + Identifier 840983 840993 + FunctionDeclaration 841001 841218 + Identifier 841017 841047 + Parameter 841048 841058 + Identifier 841048 841052 + TypeReference 841053 841058 + Identifier 841053 841058 + Block 841059 841218 + VariableStatement 841061 841133 + VariableDeclarationList 841061 841132 + VariableDeclaration 841076 841132 + Identifier 841076 841087 + CallExpression 841089 841132 + Identifier 841089 841107 + Identifier 841108 841112 + FalseKeyword 841113 841131 + ReturnStatement 841133 841211 + ConditionalExpression 841149 841210 + BinaryExpression 841149 841169 + Identifier 841149 841160 + ExclamationEqualsEqualsToken 841160 841164 + Identifier 841164 841169 + QuestionToken 841169 841171 + Identifier 841171 841182 + ColonToken 841182 841184 + CallExpression 841184 841210 + Identifier 841184 841204 + Identifier 841205 841209 + FunctionDeclaration 841218 842322 + Identifier 841234 841265 + Parameter 841266 841289 + Identifier 841266 841270 + TypeReference 841271 841289 + Identifier 841271 841289 + Block 841290 842322 + IfStatement 841292 841648 + CallExpression 841306 841344 + Identifier 841306 841338 + Identifier 841339 841343 + Block 841345 841648 + ReturnStatement 841347 841637 + CallExpression 841561 841636 + Identifier 841561 841589 + AsExpression 841590 841619 + PropertyAccessExpression 841590 841605 + Identifier 841590 841594 + Identifier 841595 841605 + TypeReference 841608 841619 + Identifier 841608 841619 + PropertyAccessExpression 841620 841635 + Identifier 841620 841625 + Identifier 841626 841635 + VariableStatement 841648 841728 + VariableDeclarationList 841648 841727 + VariableDeclaration 841663 841727 + Identifier 841663 841679 + CallExpression 841681 841727 + Identifier 841681 841711 + PropertyAccessExpression 841712 841726 + Identifier 841712 841716 + Identifier 841717 841726 + IfStatement 841728 842017 + BinaryExpression 841742 841795 + Identifier 841742 841757 + AmpersandAmpersandToken 841757 841760 + BinaryExpression 841760 841795 + Identifier 841760 841776 + ExclamationEqualsEqualsToken 841776 841780 + PropertyAccessExpression 841780 841795 + Identifier 841780 841785 + Identifier 841786 841795 + Block 841796 842017 + VariableStatement 841798 841918 + VariableDeclarationList 841798 841917 + VariableDeclaration 841817 841917 + Identifier 841817 841831 + CallExpression 841833 841917 + Identifier 841833 841865 + PropertyAccessExpression 841866 841881 + Identifier 841866 841870 + Identifier 841871 841881 + Identifier 841882 841898 + PropertyAccessExpression 841899 841916 + Identifier 841899 841904 + Identifier 841905 841916 + IfStatement 841918 842006 + Identifier 841936 841949 + Block 841950 842006 + ReturnStatement 841952 841991 + Identifier 841976 841990 + VariableStatement 842017 842099 + VariableDeclarationList 842017 842098 + VariableDeclaration 842032 842098 + Identifier 842032 842049 + CallExpression 842051 842098 + Identifier 842051 842081 + PropertyAccessExpression 842082 842097 + Identifier 842082 842086 + Identifier 842087 842097 + IfStatement 842099 842288 + BinaryExpression 842113 842169 + Identifier 842113 842129 + AmpersandAmpersandToken 842129 842132 + BinaryExpression 842132 842169 + Identifier 842132 842149 + ExclamationEqualsEqualsToken 842149 842153 + PropertyAccessExpression 842153 842169 + Identifier 842153 842158 + Identifier 842159 842169 + Block 842170 842288 + ReturnStatement 842172 842277 + CallExpression 842192 842276 + Identifier 842192 842224 + Identifier 842225 842241 + PropertyAccessExpression 842242 842257 + Identifier 842242 842247 + Identifier 842248 842257 + PropertyAccessExpression 842258 842275 + Identifier 842258 842263 + Identifier 842264 842275 + ReturnStatement 842288 842315 + Identifier 842304 842314 + FunctionDeclaration 842322 843353 + Identifier 842338 842376 + Parameter 842377 842398 + Identifier 842377 842381 + TypeReference 842382 842398 + Identifier 842382 842398 + Block 842399 843353 + IfStatement 842401 843298 + PrefixUnaryExpression 842415 842446 + PropertyAccessExpression 842416 842446 + Identifier 842416 842420 + Identifier 842421 842446 + Block 842447 843298 + VariableStatement 842449 843024 + VariableDeclarationList 842449 843023 + VariableDeclaration 842961 843023 + Identifier 842961 842976 + CallExpression 842978 843023 + Identifier 842978 843017 + Identifier 843018 843022 + VariableStatement 843024 843100 + VariableDeclarationList 843024 843099 + VariableDeclaration 843043 843099 + Identifier 843043 843059 + CallExpression 843061 843099 + Identifier 843061 843093 + Identifier 843094 843098 + ExpressionStatement 843100 843287 + BinaryExpression 843100 843286 + PropertyAccessExpression 843100 843144 + Identifier 843100 843118 + Identifier 843119 843144 + EqualsToken 843144 843146 + ConditionalExpression 843146 843286 + CallExpression 843146 843172 + Identifier 843146 843156 + Identifier 843157 843171 + QuestionToken 843172 843174 + Identifier 843174 843190 + ColonToken 843190 843192 + ConditionalExpression 843192 843286 + CallExpression 843192 843219 + Identifier 843192 843202 + Identifier 843203 843218 + QuestionToken 843219 843221 + Identifier 843221 843236 + ColonToken 843236 843238 + CallExpression 843238 843286 + Identifier 843238 843251 + ArrayLiteralExpression 843252 843285 + Identifier 843253 843267 + Identifier 843268 843284 + ReturnStatement 843298 843346 + PropertyAccessExpression 843314 843345 + Identifier 843314 843319 + Identifier 843320 843345 + FunctionDeclaration 843353 845516 + Identifier 843369 843412 + Parameter 843413 843434 + Identifier 843413 843417 + TypeReference 843418 843434 + Identifier 843418 843434 + UnionType 843436 843453 + TypeReference 843436 843441 + Identifier 843436 843441 + UndefinedKeyword 843443 843453 + Block 843453 845516 + IfStatement 843455 843606 + BinaryExpression 843469 843520 + PropertyAccessExpression 843469 843506 + Identifier 843469 843473 + Identifier 843474 843506 + ExclamationEqualsEqualsToken 843506 843510 + Identifier 843510 843520 + Block 843521 843606 + ReturnStatement 843523 843595 + BinaryExpression 843543 843594 + PropertyAccessExpression 843543 843581 + Identifier 843543 843548 + Identifier 843549 843581 + BarBarToken 843581 843584 + Identifier 843584 843594 + IfStatement 843606 845426 + BinaryExpression 844704 844770 + PropertyAccessExpression 844704 844728 + PropertyAccessExpression 844704 844713 + Identifier 844704 844708 + Identifier 844709 844713 + Identifier 844714 844728 + AmpersandAmpersandToken 844728 844731 + BinaryExpression 844731 844770 + PropertyAccessExpression 844731 844761 + Identifier 844731 844736 + Identifier 844737 844761 + ExclamationEqualsEqualsToken 844761 844765 + Identifier 844765 844770 + Block 844771 845426 + VariableStatement 844773 844859 + VariableDeclarationList 844773 844858 + VariableDeclaration 844792 844858 + Identifier 844792 844803 + CallExpression 844805 844858 + Identifier 844805 844823 + PropertyAccessExpression 844824 844838 + Identifier 844824 844828 + Identifier 844829 844838 + FalseKeyword 844839 844857 + VariableStatement 844859 844969 + VariableDeclarationList 844859 844968 + VariableDeclaration 844878 844968 + Identifier 844878 844889 + ConditionalExpression 844891 844968 + BinaryExpression 844891 844921 + Identifier 844891 844902 + EqualsEqualsEqualsToken 844902 844906 + PropertyAccessExpression 844906 844921 + Identifier 844906 844911 + Identifier 844912 844921 + QuestionToken 844921 844923 + CallExpression 844923 844955 + Identifier 844923 844943 + Identifier 844944 844954 + ColonToken 844955 844957 + Identifier 844957 844968 + IfStatement 844969 845415 + BinaryExpression 844987 845030 + Identifier 844987 844997 + AmpersandAmpersandToken 844997 845000 + BinaryExpression 845000 845030 + Identifier 845000 845011 + ExclamationEqualsEqualsToken 845011 845015 + PropertyAccessExpression 845015 845030 + Identifier 845015 845020 + Identifier 845021 845030 + Block 845031 845415 + VariableStatement 845033 845200 + VariableDeclarationList 845033 845199 + VariableDeclaration 845056 845199 + Identifier 845056 845069 + CallExpression 845071 845199 + Identifier 845071 845103 + Identifier 845104 845108 + CallExpression 845109 845174 + Identifier 845109 845128 + PropertyAccessExpression 845129 845148 + PropertyAccessExpression 845129 845138 + Identifier 845129 845133 + Identifier 845134 845138 + Identifier 845139 845148 + Identifier 845149 845160 + PropertyAccessExpression 845161 845173 + Identifier 845161 845166 + Identifier 845167 845173 + TrueKeyword 845175 845198 + IfStatement 845200 845400 + PrefixUnaryExpression 845222 845261 + ParenthesizedExpression 845223 845261 + BinaryExpression 845224 845260 + PropertyAccessExpression 845224 845242 + Identifier 845224 845236 + Identifier 845237 845242 + AmpersandToken 845242 845244 + PropertyAccessExpression 845244 845260 + Identifier 845244 845254 + Identifier 845255 845260 + Block 845262 845400 + ExpressionStatement 845264 845339 + BinaryExpression 845264 845338 + PropertyAccessExpression 845264 845323 + Identifier 845264 845290 + Identifier 845291 845323 + EqualsToken 845323 845325 + Identifier 845325 845338 + ReturnStatement 845339 845381 + Identifier 845367 845380 + ExpressionStatement 845426 845482 + BinaryExpression 845426 845481 + PropertyAccessExpression 845426 845473 + Identifier 845426 845440 + Identifier 845441 845473 + EqualsToken 845473 845475 + FalseKeyword 845475 845481 + ReturnStatement 845482 845509 + Identifier 845498 845508 + FunctionDeclaration 845516 845710 + Identifier 845532 845565 + Parameter 845566 845587 + Identifier 845566 845570 + TypeReference 845571 845587 + Identifier 845571 845587 + Block 845588 845710 + ReturnStatement 845590 845703 + BinaryExpression 845606 845702 + CallExpression 845606 845655 + Identifier 845606 845649 + Identifier 845650 845654 + BarBarToken 845655 845658 + CallExpression 845658 845702 + Identifier 845658 845696 + Identifier 845697 845701 + FunctionDeclaration 845710 845894 + Identifier 845726 845757 + Parameter 845758 845779 + Identifier 845758 845762 + TypeReference 845763 845779 + Identifier 845763 845779 + Block 845780 845894 + ReturnStatement 845782 845887 + ConditionalExpression 845798 845886 + CallExpression 845798 845833 + Identifier 845798 845827 + Identifier 845828 845832 + QuestionToken 845833 845835 + CallExpression 845835 845874 + Identifier 845835 845868 + Identifier 845869 845873 + ColonToken 845874 845876 + Identifier 845876 845886 + FunctionDeclaration 845894 848100 + Identifier 845910 845947 + Parameter 845948 845970 + Identifier 845948 845953 + TypeOperator 845954 845970 + ArrayType 845963 845970 + TypeReference 845963 845968 + Identifier 845963 845968 + Parameter 845971 845994 + Identifier 845971 845985 + BooleanKeyword 845986 845994 + Block 845995 848100 + VariableStatement 845997 846043 + VariableDeclarationList 845997 846042 + VariableDeclaration 846010 846042 + Identifier 846010 846022 + UnionType 846023 846042 + ArrayType 846023 846030 + TypeReference 846023 846028 + Identifier 846023 846028 + UndefinedKeyword 846032 846042 + VariableStatement 846043 846087 + VariableDeclarationList 846043 846086 + VariableDeclaration 846056 846086 + Identifier 846056 846078 + FalseKeyword 846080 846086 + ForOfStatement 846087 847072 + VariableDeclarationList 846102 846109 + VariableDeclaration 846107 846109 + Identifier 846107 846109 + Identifier 846112 846118 + Block 846119 847072 + IfStatement 846121 847061 + BinaryExpression 846139 846171 + PropertyAccessExpression 846139 846146 + Identifier 846139 846140 + Identifier 846141 846146 + AmpersandToken 846146 846148 + PropertyAccessExpression 846148 846171 + Identifier 846148 846158 + Identifier 846159 846171 + Block 846172 846905 + VariableStatement 846174 846426 + VariableDeclarationList 846174 846425 + VariableDeclaration 846389 846425 + Identifier 846389 846400 + CallExpression 846402 846425 + Identifier 846402 846422 + Identifier 846423 846424 + WhileStatement 846426 846640 + BinaryExpression 846451 846551 + Identifier 846451 846461 + AmpersandAmpersandToken 846461 846464 + BinaryExpression 846464 846551 + PropertyAccessExpression 846464 846481 + Identifier 846464 846475 + Identifier 846476 846481 + AmpersandToken 846481 846483 + ParenthesizedExpression 846483 846551 + BinaryExpression 846485 846550 + BinaryExpression 846485 846526 + PropertyAccessExpression 846485 846508 + Identifier 846485 846494 + Identifier 846495 846508 + BarToken 846508 846510 + PropertyAccessExpression 846510 846526 + Identifier 846510 846520 + Identifier 846521 846526 + BarToken 846526 846528 + PropertyAccessExpression 846528 846550 + Identifier 846528 846538 + Identifier 846539 846550 + Block 846552 846640 + ExpressionStatement 846554 846621 + BinaryExpression 846554 846620 + Identifier 846554 846586 + EqualsToken 846586 846588 + CallExpression 846588 846620 + Identifier 846588 846608 + Identifier 846609 846619 + IfStatement 846640 846890 + Identifier 846662 846672 + Block 846673 846890 + ExpressionStatement 846675 846743 + BinaryExpression 846675 846742 + Identifier 846675 846708 + EqualsToken 846708 846710 + CallExpression 846710 846742 + Identifier 846710 846717 + Identifier 846718 846729 + Identifier 846730 846741 + IfStatement 846743 846871 + Identifier 846769 846782 + Block 846783 846871 + ExpressionStatement 846785 846848 + BinaryExpression 846785 846847 + Identifier 846785 846822 + EqualsToken 846822 846824 + CallExpression 846824 846847 + Identifier 846824 846831 + Identifier 846832 846843 + Identifier 846844 846846 + IfStatement 846923 847061 + BinaryExpression 846928 846996 + BinaryExpression 846928 846963 + PropertyAccessExpression 846928 846935 + Identifier 846928 846929 + Identifier 846930 846935 + AmpersandToken 846935 846937 + PropertyAccessExpression 846937 846963 + Identifier 846937 846947 + Identifier 846948 846963 + BarBarToken 846963 846966 + CallExpression 846966 846996 + Identifier 846966 846993 + Identifier 846994 846995 + Block 846997 847061 + ExpressionStatement 846999 847046 + BinaryExpression 846999 847045 + Identifier 846999 847038 + EqualsToken 847038 847040 + TrueKeyword 847040 847045 + IfStatement 847072 848066 + BinaryExpression 847290 847345 + Identifier 847290 847301 + AmpersandAmpersandToken 847301 847304 + ParenthesizedExpression 847304 847345 + BinaryExpression 847306 847344 + Identifier 847306 847319 + BarBarToken 847319 847322 + Identifier 847322 847344 + Block 847346 848066 + IfStatement 847348 847835 + Identifier 847366 847387 + Block 847388 847835 + ForOfStatement 847390 847820 + VariableDeclarationList 847599 847606 + VariableDeclaration 847604 847606 + Identifier 847604 847606 + Identifier 847609 847615 + Block 847616 847820 + IfStatement 847618 847801 + BinaryExpression 847644 847712 + BinaryExpression 847644 847679 + PropertyAccessExpression 847644 847651 + Identifier 847644 847645 + Identifier 847646 847651 + AmpersandToken 847651 847653 + PropertyAccessExpression 847653 847679 + Identifier 847653 847663 + Identifier 847664 847679 + BarBarToken 847679 847682 + CallExpression 847682 847712 + Identifier 847682 847709 + Identifier 847710 847711 + Block 847713 847801 + ExpressionStatement 847715 847778 + BinaryExpression 847715 847777 + Identifier 847715 847752 + EqualsToken 847752 847754 + CallExpression 847754 847777 + Identifier 847754 847761 + Identifier 847762 847773 + Identifier 847774 847776 + ReturnStatement 847835 848055 + CallExpression 847942 848054 + Identifier 847942 847960 + CallExpression 847961 848034 + Identifier 847961 847980 + Identifier 847981 847992 + PropertyAccessExpression 847993 848033 + Identifier 847993 848011 + Identifier 848012 848033 + FalseKeyword 848035 848053 + ReturnStatement 848066 848093 + Identifier 848082 848092 + FunctionDeclaration 848100 848683 + Identifier 848116 848140 + Parameter 848141 848151 + Identifier 848141 848145 + TypeReference 848146 848151 + Identifier 848146 848151 + UnionType 848153 848170 + TypeReference 848153 848158 + Identifier 848153 848158 + UndefinedKeyword 848160 848170 + Block 848170 848683 + IfStatement 848172 848593 + BinaryExpression 848186 848349 + BinaryExpression 848186 848321 + PropertyAccessExpression 848186 848196 + Identifier 848186 848190 + Identifier 848191 848196 + AmpersandToken 848196 848198 + ParenthesizedExpression 848198 848321 + BinaryExpression 848200 848320 + BinaryExpression 848200 848294 + BinaryExpression 848200 848266 + PropertyAccessExpression 848200 848234 + Identifier 848200 848209 + Identifier 848210 848234 + BarToken 848234 848236 + PropertyAccessExpression 848236 848266 + Identifier 848236 848246 + Identifier 848247 848266 + BarToken 848266 848268 + PropertyAccessExpression 848268 848294 + Identifier 848268 848278 + Identifier 848279 848294 + BarToken 848294 848296 + PropertyAccessExpression 848296 848320 + Identifier 848296 848306 + Identifier 848307 848320 + BarBarToken 848321 848324 + CallExpression 848324 848349 + Identifier 848324 848343 + Identifier 848344 848348 + Block 848350 848593 + VariableStatement 848352 848463 + VariableDeclarationList 848352 848462 + VariableDeclaration 848371 848462 + Identifier 848371 848382 + CallExpression 848384 848462 + Identifier 848384 848410 + AsExpression 848411 848461 + Identifier 848411 848415 + UnionType 848418 848461 + TypeReference 848418 848435 + Identifier 848418 848435 + TypeReference 848437 848461 + Identifier 848437 848461 + ReturnStatement 848463 848582 + ConditionalExpression 848483 848581 + BinaryExpression 848483 848556 + BinaryExpression 848483 848515 + Identifier 848483 848494 + ExclamationEqualsEqualsToken 848494 848498 + Identifier 848498 848515 + AmpersandAmpersandToken 848515 848518 + BinaryExpression 848518 848556 + Identifier 848518 848529 + ExclamationEqualsEqualsToken 848529 848533 + Identifier 848533 848556 + QuestionToken 848556 848558 + Identifier 848558 848569 + ColonToken 848569 848571 + Identifier 848571 848581 + ReturnStatement 848593 848676 + ConditionalExpression 848609 848675 + BinaryExpression 848609 848638 + PropertyAccessExpression 848609 848620 + Identifier 848609 848614 + Identifier 848615 848620 + AmpersandToken 848620 848622 + PropertyAccessExpression 848622 848638 + Identifier 848622 848632 + Identifier 848633 848638 + QuestionToken 848638 848640 + Identifier 848640 848663 + ColonToken 848663 848665 + Identifier 848665 848675 + FunctionDeclaration 848683 849076 + Identifier 848976 849000 + Parameter 849001 849011 + Identifier 849001 849005 + TypeReference 849006 849011 + Identifier 849006 849011 + Block 849012 849076 + ReturnStatement 849014 849069 + BinaryExpression 849030 849068 + CallExpression 849030 849060 + Identifier 849030 849054 + Identifier 849055 849059 + BarBarToken 849060 849063 + Identifier 849063 849068 + FunctionDeclaration 849076 849239 + Identifier 849092 849121 + Parameter 849122 849144 + Identifier 849122 849126 + TypeReference 849127 849144 + Identifier 849127 849144 + BooleanKeyword 849146 849154 + Block 849154 849239 + ReturnStatement 849156 849232 + BinaryExpression 849172 849231 + CallExpression 849172 849204 + Identifier 849172 849198 + Identifier 849199 849203 + ExclamationEqualsEqualsToken 849204 849208 + Identifier 849208 849231 + FunctionDeclaration 849239 856761 + Identifier 849548 849574 + Parameter 849575 849623 + Identifier 849575 849579 + UnionType 849580 849623 + TypeReference 849580 849597 + Identifier 849580 849597 + TypeReference 849599 849623 + Identifier 849599 849623 + TypeReference 849625 849630 + Identifier 849625 849630 + Block 849630 856761 + IfStatement 849632 849736 + PropertyAccessExpression 849646 849673 + Identifier 849646 849650 + Identifier 849651 849673 + Block 849674 849736 + ReturnStatement 849676 849725 + PropertyAccessExpression 849696 849724 + Identifier 849696 849701 + Identifier 849702 849724 + VariableStatement 849736 849773 + VariableDeclarationList 849736 849772 + VariableDeclaration 849751 849772 + Identifier 849751 849757 + ArrayType 849758 849767 + ObjectKeyword 849758 849765 + ArrayLiteralExpression 849769 849772 + ReturnStatement 849773 849853 + BinaryExpression 849789 849852 + PropertyAccessExpression 849789 849817 + Identifier 849789 849794 + Identifier 849795 849817 + EqualsToken 849817 849819 + CallExpression 849819 849852 + Identifier 849819 849846 + Identifier 849847 849851 + FunctionDeclaration 849853 852130 + Identifier 849873 849900 + Parameter 849901 849908 + Identifier 849901 849902 + TypeReference 849903 849908 + Identifier 849903 849908 + TypeReference 849910 849915 + Identifier 849910 849915 + Block 849915 852130 + IfStatement 849917 852072 + PrefixUnaryExpression 849935 849961 + PropertyAccessExpression 849936 849961 + Identifier 849936 849937 + Identifier 849938 849961 + Block 849962 852072 + IfStatement 849964 850130 + PrefixUnaryExpression 849986 850056 + CallExpression 849987 850056 + Identifier 849987 850005 + Identifier 850006 850007 + PropertyAccessExpression 850008 850055 + Identifier 850008 850031 + Identifier 850032 850055 + Block 850057 850130 + ReturnStatement 850059 850111 + Identifier 850087 850110 + VariableStatement 850130 850159 + VariableDeclarationList 850130 850158 + VariableDeclaration 850151 850158 + Identifier 850151 850158 + VariableStatement 850159 850866 + VariableDeclarationList 850159 850865 + VariableDeclaration 850830 850865 + Identifier 850830 850839 + CallExpression 850841 850865 + Identifier 850841 850862 + Identifier 850863 850864 + IfStatement 850866 851149 + BinaryExpression 850888 850956 + BinaryExpression 850888 850905 + PropertyAccessExpression 850888 850900 + Identifier 850888 850893 + Identifier 850894 850900 + LessThanToken 850900 850902 + NumericLiteral 850902 850905 + BarBarToken 850905 850908 + BinaryExpression 850908 850956 + BinaryExpression 850908 850926 + PropertyAccessExpression 850908 850921 + Identifier 850908 850914 + Identifier 850915 850921 + LessThanToken 850921 850923 + NumericLiteral 850923 850926 + AmpersandAmpersandToken 850926 850929 + PrefixUnaryExpression 850929 850956 + CallExpression 850931 850956 + Identifier 850931 850939 + Identifier 850940 850945 + Identifier 850946 850955 + Block 850957 851149 + ExpressionStatement 850959 851002 + CallExpression 850959 851001 + PropertyAccessExpression 850959 850991 + Identifier 850959 850986 + Identifier 850987 850991 + Identifier 850992 851000 + ExpressionStatement 851002 851096 + BinaryExpression 851002 851095 + Identifier 851002 851030 + EqualsToken 851030 851032 + CallExpression 851032 851095 + Identifier 851032 851054 + CallExpression 851055 851094 + Identifier 851055 851072 + Identifier 851073 851074 + FalseKeyword 851075 851093 + ExpressionStatement 851096 851130 + CallExpression 851096 851129 + PropertyAccessExpression 851096 851127 + Identifier 851096 851123 + Identifier 851124 851127 + IfStatement 851149 851982 + PrefixUnaryExpression 851171 851191 + CallExpression 851172 851191 + Identifier 851172 851189 + Block 851192 851982 + IfStatement 851194 851909 + BinaryExpression 851220 851253 + PropertyAccessExpression 851220 851227 + Identifier 851220 851221 + Identifier 851222 851227 + AmpersandToken 851227 851229 + PropertyAccessExpression 851229 851253 + Identifier 851229 851239 + Identifier 851240 851253 + Block 851254 851909 + VariableStatement 851256 851345 + VariableDeclarationList 851256 851344 + VariableDeclaration 851287 851344 + Identifier 851287 851297 + CallExpression 851299 851344 + Identifier 851299 851324 + AsExpression 851325 851343 + Identifier 851325 851326 + TypeReference 851329 851343 + Identifier 851329 851343 + IfStatement 851345 851886 + Identifier 851375 851384 + Block 851385 851886 + VariableStatement 851387 851526 + VariableDeclarationList 851387 851525 + VariableDeclaration 851422 851525 + Identifier 851422 851433 + CallExpression 851435 851525 + Identifier 851435 851441 + Identifier 851442 851451 + PropertyAccessExpression 851452 851507 + Identifier 851452 851464 + Identifier 851465 851507 + CallExpression 851508 851524 + Identifier 851508 851521 + Identifier 851522 851523 + IfStatement 851526 851859 + BinaryExpression 851560 851665 + BinaryExpression 851560 851618 + Identifier 851560 851571 + AmpersandAmpersandToken 851571 851574 + PrefixUnaryExpression 851574 851618 + CallExpression 851576 851618 + Identifier 851576 851594 + Identifier 851595 851604 + Identifier 851605 851617 + AmpersandAmpersandToken 851618 851621 + PrefixUnaryExpression 851621 851665 + CallExpression 851623 851665 + Identifier 851623 851641 + Identifier 851642 851653 + Identifier 851654 851664 + Block 851666 851859 + ExpressionStatement 851668 851828 + CallExpression 851668 851827 + Identifier 851668 851716 + Identifier 851717 851727 + CallExpression 851728 851826 + Identifier 851728 851752 + Identifier 851753 851764 + PropertyAccessExpression 851765 851825 + Identifier 851765 851777 + Identifier 851778 851825 + ExpressionStatement 851909 851963 + BinaryExpression 851909 851962 + Identifier 851909 851937 + EqualsToken 851937 851939 + Identifier 851939 851962 + ExpressionStatement 851982 852057 + BinaryExpression 851982 852056 + PropertyAccessExpression 851982 852025 + Identifier 851982 852001 + Identifier 852002 852025 + QuestionQuestionEqualsToken 852025 852029 + BinaryExpression 852029 852056 + Identifier 852029 852036 + BarBarToken 852036 852039 + Identifier 852039 852056 + ReturnStatement 852072 852119 + PropertyAccessExpression 852092 852118 + Identifier 852092 852094 + Identifier 852095 852118 + FunctionDeclaration 852130 852354 + Identifier 852150 852168 + Parameter 852169 852176 + Identifier 852169 852170 + TypeReference 852171 852176 + Identifier 852171 852176 + UnionType 852178 852195 + TypeReference 852178 852183 + Identifier 852178 852183 + UndefinedKeyword 852185 852195 + Block 852195 852354 + VariableStatement 852197 852251 + VariableDeclarationList 852197 852250 + VariableDeclaration 852216 852250 + Identifier 852216 852218 + CallExpression 852220 852250 + Identifier 852220 852247 + Identifier 852248 852249 + ReturnStatement 852251 852343 + ConditionalExpression 852271 852342 + BinaryExpression 852271 852326 + BinaryExpression 852271 852294 + Identifier 852271 852273 + ExclamationEqualsEqualsToken 852273 852277 + Identifier 852277 852294 + AmpersandAmpersandToken 852294 852297 + BinaryExpression 852297 852326 + Identifier 852297 852299 + ExclamationEqualsEqualsToken 852299 852303 + Identifier 852303 852326 + QuestionToken 852326 852328 + Identifier 852328 852330 + ColonToken 852330 852332 + Identifier 852332 852342 + FunctionDeclaration 852354 856754 + Identifier 852374 852396 + Parameter 852397 852404 + Identifier 852397 852398 + TypeReference 852399 852404 + Identifier 852399 852404 + UnionType 852406 852423 + TypeReference 852406 852411 + Identifier 852406 852411 + UndefinedKeyword 852413 852423 + Block 852423 856754 + IfStatement 852425 852741 + BinaryExpression 852443 852476 + PropertyAccessExpression 852443 852450 + Identifier 852443 852444 + Identifier 852445 852450 + AmpersandToken 852450 852452 + PropertyAccessExpression 852452 852476 + Identifier 852452 852462 + Identifier 852463 852476 + Block 852477 852741 + VariableStatement 852479 852567 + VariableDeclarationList 852479 852566 + VariableDeclaration 852502 852566 + Identifier 852502 852513 + CallExpression 852515 852566 + Identifier 852515 852546 + AsExpression 852547 852565 + Identifier 852547 852548 + TypeReference 852551 852565 + Identifier 852551 852565 + ReturnStatement 852567 852726 + ConditionalExpression 852591 852725 + BinaryExpression 852591 852638 + PropertyAccessExpression 852591 852623 + ParenthesizedExpression 852591 852612 + AsExpression 852593 852611 + Identifier 852593 852594 + TypeReference 852597 852611 + Identifier 852597 852611 + Identifier 852613 852623 + BarBarToken 852623 852626 + PrefixUnaryExpression 852626 852638 + Identifier 852628 852638 + QuestionToken 852638 852640 + Identifier 852640 852672 + ColonToken 852672 852674 + CallExpression 852674 852725 + Identifier 852674 852713 + Identifier 852714 852724 + IfStatement 852741 853769 + BinaryExpression 852759 852798 + PropertyAccessExpression 852759 852766 + Identifier 852759 852760 + Identifier 852761 852766 + AmpersandToken 852766 852768 + PropertyAccessExpression 852768 852798 + Identifier 852768 852778 + Identifier 852779 852798 + Block 852799 853769 + VariableStatement 852801 852870 + VariableDeclarationList 852801 852869 + VariableDeclaration 852824 852869 + Identifier 852824 852830 + PropertyAccessExpression 852832 852869 + ParenthesizedExpression 852832 852863 + AsExpression 852834 852862 + Identifier 852834 852835 + TypeReference 852838 852862 + Identifier 852838 852862 + Identifier 852864 852869 + VariableStatement 852870 852917 + VariableDeclarationList 852870 852916 + VariableDeclaration 852893 852916 + Identifier 852893 852903 + ArrayType 852904 852911 + TypeReference 852904 852909 + Identifier 852904 852909 + ArrayLiteralExpression 852913 852916 + VariableStatement 852917 852957 + VariableDeclarationList 852917 852956 + VariableDeclaration 852938 852956 + Identifier 852938 852948 + FalseKeyword 852950 852956 + ForOfStatement 852957 853413 + VariableDeclarationList 852980 852990 + VariableDeclaration 852985 852990 + Identifier 852985 852990 + Identifier 852993 852999 + Block 853000 853413 + VariableStatement 853002 853065 + VariableDeclarationList 853002 853064 + VariableDeclaration 853029 853064 + Identifier 853029 853038 + CallExpression 853040 853064 + Identifier 853040 853058 + Identifier 853059 853063 + IfStatement 853065 853394 + Identifier 853091 853099 + Block 853100 853300 + IfStatement 853102 853226 + BinaryExpression 853132 853149 + Identifier 853132 853140 + ExclamationEqualsEqualsToken 853140 853144 + Identifier 853144 853149 + Block 853150 853226 + ExpressionStatement 853152 853199 + BinaryExpression 853152 853198 + Identifier 853152 853191 + EqualsToken 853191 853193 + TrueKeyword 853193 853198 + ExpressionStatement 853226 853277 + CallExpression 853226 853276 + PropertyAccessExpression 853226 853266 + Identifier 853226 853261 + Identifier 853262 853266 + Identifier 853267 853275 + Block 853326 853394 + ExpressionStatement 853328 853371 + BinaryExpression 853328 853370 + Identifier 853328 853363 + EqualsToken 853363 853365 + TrueKeyword 853365 853370 + IfStatement 853413 853498 + PrefixUnaryExpression 853435 853445 + Identifier 853436 853445 + Block 853446 853498 + ReturnStatement 853448 853479 + Identifier 853476 853478 + ReturnStatement 853498 853754 + ConditionalExpression 853522 853753 + BinaryExpression 853522 853585 + BinaryExpression 853522 853548 + PropertyAccessExpression 853522 853530 + Identifier 853522 853524 + Identifier 853525 853530 + AmpersandToken 853530 853532 + PropertyAccessExpression 853532 853548 + Identifier 853532 853542 + Identifier 853543 853548 + AmpersandAmpersandToken 853548 853551 + BinaryExpression 853551 853585 + PropertyAccessExpression 853551 853568 + Identifier 853551 853561 + Identifier 853562 853568 + EqualsEqualsEqualsToken 853568 853572 + PropertyAccessExpression 853572 853585 + Identifier 853572 853578 + Identifier 853579 853585 + QuestionToken 853585 853587 + CallExpression 853587 853611 + Identifier 853587 853600 + Identifier 853601 853610 + ColonToken 853611 853613 + ConditionalExpression 853613 853753 + BinaryExpression 853613 853687 + BinaryExpression 853613 853667 + PropertyAccessExpression 853613 853642 + Identifier 853613 853636 + Identifier 853637 853642 + AmpersandToken 853642 853644 + PropertyAccessExpression 853644 853667 + Identifier 853644 853654 + Identifier 853655 853667 + AmpersandAmpersandToken 853667 853670 + PropertyAccessExpression 853670 853687 + Identifier 853670 853680 + Identifier 853681 853687 + QuestionToken 853687 853689 + CallExpression 853689 853720 + Identifier 853689 853709 + Identifier 853710 853719 + ColonToken 853720 853722 + Identifier 853722 853753 + IfStatement 853769 853878 + BinaryExpression 853787 853812 + PropertyAccessExpression 853787 853794 + Identifier 853787 853788 + Identifier 853789 853794 + AmpersandToken 853794 853796 + PropertyAccessExpression 853796 853812 + Identifier 853796 853806 + Identifier 853807 853812 + Block 853813 853878 + ReturnStatement 853815 853863 + Identifier 853839 853862 + IfStatement 853878 854235 + BinaryExpression 853896 853931 + PropertyAccessExpression 853896 853903 + Identifier 853896 853897 + Identifier 853898 853903 + AmpersandToken 853903 853905 + PropertyAccessExpression 853905 853931 + Identifier 853905 853915 + Identifier 853916 853931 + Block 853932 854235 + VariableStatement 853934 853999 + VariableDeclarationList 853934 853998 + VariableDeclaration 853957 853998 + Identifier 853957 853963 + PropertyAccessExpression 853965 853998 + ParenthesizedExpression 853965 853992 + AsExpression 853967 853991 + Identifier 853967 853968 + TypeReference 853971 853991 + Identifier 853971 853991 + Identifier 853993 853998 + VariableStatement 853999 854074 + VariableDeclarationList 853999 854073 + VariableDeclaration 854022 854073 + Identifier 854022 854034 + CallExpression 854036 854073 + Identifier 854036 854047 + Identifier 854048 854053 + Identifier 854054 854072 + ReturnStatement 854074 854220 + ConditionalExpression 854098 854219 + BinaryExpression 854098 854134 + PropertyAccessExpression 854098 854117 + Identifier 854098 854110 + Identifier 854111 854117 + EqualsEqualsEqualsToken 854117 854121 + PropertyAccessExpression 854121 854134 + Identifier 854121 854127 + Identifier 854128 854134 + QuestionToken 854134 854136 + CallExpression 854136 854206 + Identifier 854136 854159 + PropertyAccessExpression 854160 854192 + ParenthesizedExpression 854160 854186 + AsExpression 854161 854185 + Identifier 854161 854162 + TypeReference 854165 854185 + Identifier 854165 854185 + Identifier 854187 854192 + Identifier 854193 854205 + ColonToken 854206 854208 + Identifier 854208 854219 + IfStatement 854235 854555 + BinaryExpression 854253 854286 + PropertyAccessExpression 854253 854260 + Identifier 854253 854254 + Identifier 854255 854260 + AmpersandToken 854260 854262 + PropertyAccessExpression 854262 854286 + Identifier 854262 854272 + Identifier 854273 854286 + Block 854287 854555 + VariableStatement 854289 854375 + VariableDeclarationList 854289 854374 + VariableDeclaration 854312 854374 + Identifier 854312 854323 + CallExpression 854325 854374 + Identifier 854325 854343 + PropertyAccessExpression 854344 854373 + ParenthesizedExpression 854344 854368 + AsExpression 854345 854367 + Identifier 854345 854346 + TypeReference 854349 854367 + Identifier 854349 854367 + Identifier 854369 854373 + ReturnStatement 854375 854540 + ConditionalExpression 854399 854539 + BinaryExpression 854399 854458 + Identifier 854399 854410 + AmpersandAmpersandToken 854410 854413 + BinaryExpression 854413 854458 + Identifier 854413 854424 + ExclamationEqualsEqualsToken 854424 854428 + PropertyAccessExpression 854428 854458 + ParenthesizedExpression 854428 854453 + AsExpression 854430 854452 + Identifier 854430 854431 + TypeReference 854434 854452 + Identifier 854434 854452 + Identifier 854454 854458 + QuestionToken 854458 854460 + CallExpression 854460 854526 + Identifier 854460 854481 + PropertyAccessExpression 854482 854513 + ParenthesizedExpression 854482 854506 + AsExpression 854483 854505 + Identifier 854483 854484 + TypeReference 854487 854505 + Identifier 854487 854505 + Identifier 854507 854513 + Identifier 854514 854525 + ColonToken 854526 854528 + Identifier 854528 854539 + IfStatement 854555 855529 + BinaryExpression 854573 854606 + PropertyAccessExpression 854573 854580 + Identifier 854573 854574 + Identifier 854575 854580 + AmpersandToken 854580 854582 + PropertyAccessExpression 854582 854606 + Identifier 854582 854592 + Identifier 854593 854606 + Block 854607 855529 + IfStatement 854609 855061 + CallExpression 854631 854666 + Identifier 854631 854663 + Identifier 854664 854665 + Block 854667 855061 + ReturnStatement 854669 855042 + CallExpression 854907 855041 + Identifier 854907 854925 + CallExpression 854926 855040 + Identifier 854926 854953 + AsExpression 854954 855003 + PropertyAccessExpression 854954 854989 + ParenthesizedExpression 854954 854978 + AsExpression 854955 854977 + Identifier 854955 854956 + TypeReference 854959 854977 + Identifier 854959 854977 + Identifier 854979 854989 + TypeReference 854992 855003 + Identifier 854992 855003 + PropertyAccessExpression 855004 855039 + ParenthesizedExpression 855004 855029 + AsExpression 855006 855028 + Identifier 855006 855007 + TypeReference 855010 855028 + Identifier 855010 855028 + Identifier 855030 855039 + VariableStatement 855061 855157 + VariableDeclarationList 855061 855156 + VariableDeclaration 855084 855156 + Identifier 855084 855099 + CallExpression 855101 855156 + Identifier 855101 855119 + PropertyAccessExpression 855120 855155 + ParenthesizedExpression 855120 855144 + AsExpression 855121 855143 + Identifier 855121 855122 + TypeReference 855125 855143 + Identifier 855125 855143 + Identifier 855145 855155 + VariableStatement 855157 855251 + VariableDeclarationList 855157 855250 + VariableDeclaration 855180 855250 + Identifier 855180 855194 + CallExpression 855196 855250 + Identifier 855196 855214 + PropertyAccessExpression 855215 855249 + ParenthesizedExpression 855215 855239 + AsExpression 855216 855238 + Identifier 855216 855217 + TypeReference 855220 855238 + Identifier 855220 855238 + Identifier 855240 855249 + VariableStatement 855251 855431 + VariableDeclarationList 855251 855430 + VariableDeclaration 855274 855430 + Identifier 855274 855292 + BinaryExpression 855294 855430 + BinaryExpression 855294 855326 + Identifier 855294 855309 + AmpersandAmpersandToken 855309 855312 + Identifier 855312 855326 + AmpersandAmpersandToken 855326 855329 + CallExpression 855329 855430 + Identifier 855329 855361 + Identifier 855362 855376 + Identifier 855377 855391 + PropertyAccessExpression 855392 855429 + ParenthesizedExpression 855392 855417 + AsExpression 855394 855416 + Identifier 855394 855395 + TypeReference 855398 855416 + Identifier 855398 855416 + Identifier 855418 855429 + ReturnStatement 855431 855514 + BinaryExpression 855455 855513 + Identifier 855455 855473 + AmpersandAmpersandToken 855473 855476 + CallExpression 855476 855513 + Identifier 855476 855494 + Identifier 855495 855512 + IfStatement 855529 855757 + BinaryExpression 855547 855578 + PropertyAccessExpression 855547 855554 + Identifier 855547 855548 + Identifier 855549 855554 + AmpersandToken 855554 855556 + PropertyAccessExpression 855556 855578 + Identifier 855556 855566 + Identifier 855567 855578 + Block 855579 855757 + VariableStatement 855581 855673 + VariableDeclarationList 855581 855672 + VariableDeclaration 855604 855672 + Identifier 855604 855615 + CallExpression 855617 855672 + Identifier 855617 855650 + AsExpression 855651 855671 + Identifier 855651 855652 + TypeReference 855655 855671 + Identifier 855655 855671 + ReturnStatement 855673 855742 + BinaryExpression 855697 855741 + Identifier 855697 855708 + AmpersandAmpersandToken 855708 855711 + CallExpression 855711 855741 + Identifier 855711 855729 + Identifier 855730 855740 + IfStatement 855757 855920 + BinaryExpression 855775 855807 + PropertyAccessExpression 855775 855782 + Identifier 855775 855776 + Identifier 855777 855782 + AmpersandToken 855782 855784 + PropertyAccessExpression 855784 855807 + Identifier 855784 855794 + Identifier 855795 855807 + Block 855808 855920 + ReturnStatement 855810 855905 + CallExpression 855834 855904 + Identifier 855834 855852 + CallExpression 855853 855903 + Identifier 855853 855880 + AsExpression 855881 855902 + Identifier 855881 855882 + TypeReference 855885 855902 + Identifier 855885 855902 + IfStatement 855920 856720 + CallExpression 855938 855959 + Identifier 855938 855956 + Identifier 855957 855958 + Block 855960 856720 + VariableStatement 855962 856572 + VariableDeclarationList 855962 856571 + VariableDeclaration 856203 856571 + Identifier 856203 856215 + CallExpression 856217 856571 + Identifier 856217 856221 + CallExpression 856222 856240 + Identifier 856222 856237 + Identifier 856238 856239 + ArrowFunction 856241 856570 + Parameter 856243 856244 + Identifier 856243 856244 + Parameter 856245 856247 + Identifier 856245 856247 + EqualsGreaterThanToken 856248 856251 + Block 856251 856570 + VariableStatement 856253 856409 + VariableDeclarationList 856253 856408 + VariableDeclaration 856280 856408 + Identifier 856280 856291 + BinaryExpression 856293 856408 + BinaryExpression 856293 856403 + BinaryExpression 856293 856379 + BinaryExpression 856293 856327 + PropertyAccessExpression 856293 856301 + Identifier 856293 856295 + Identifier 856296 856301 + AmpersandToken 856301 856303 + PropertyAccessExpression 856303 856327 + Identifier 856303 856313 + Identifier 856314 856327 + AmpersandAmpersandToken 856327 856330 + BinaryExpression 856330 856379 + ElementAccessExpression 856330 856355 + PropertyAccessExpression 856330 856352 + PropertyAccessExpression 856330 856339 + Identifier 856330 856332 + Identifier 856333 856339 + Identifier 856340 856352 + Identifier 856353 856354 + AmpersandToken 856355 856357 + PropertyAccessExpression 856357 856379 + Identifier 856357 856370 + Identifier 856371 856379 + AmpersandAmpersandToken 856379 856382 + CallExpression 856382 856403 + Identifier 856382 856400 + Identifier 856401 856402 + BarBarToken 856403 856406 + Identifier 856406 856408 + ReturnStatement 856409 856551 + ConditionalExpression 856437 856550 + BinaryExpression 856437 856533 + BinaryExpression 856437 856454 + Identifier 856437 856448 + ExclamationEqualsEqualsToken 856448 856452 + Identifier 856452 856454 + AmpersandAmpersandToken 856454 856457 + CallExpression 856457 856533 + Identifier 856457 856467 + Identifier 856468 856478 + ArrowFunction 856479 856532 + Parameter 856479 856481 + Identifier 856479 856481 + EqualsGreaterThanToken 856481 856484 + BinaryExpression 856484 856532 + CallExpression 856484 856506 + Identifier 856484 856503 + Identifier 856504 856505 + AmpersandAmpersandToken 856506 856509 + PrefixUnaryExpression 856509 856532 + CallExpression 856511 856532 + Identifier 856511 856529 + Identifier 856530 856531 + QuestionToken 856533 856535 + Identifier 856535 856546 + ColonToken 856546 856548 + Identifier 856548 856550 + ReturnStatement 856572 856705 + CallExpression 856596 856704 + Identifier 856596 856612 + Identifier 856613 856624 + PropertyAccessExpression 856625 856647 + PropertyAccessExpression 856625 856634 + Identifier 856625 856627 + Identifier 856628 856634 + Identifier 856635 856647 + PropertyAccessExpression 856648 856666 + PropertyAccessExpression 856648 856657 + Identifier 856648 856650 + Identifier 856651 856657 + Identifier 856658 856666 + PropertyAccessExpression 856667 856703 + PropertyAccessExpression 856667 856676 + Identifier 856667 856669 + Identifier 856670 856676 + Identifier 856677 856703 + ReturnStatement 856720 856743 + Identifier 856740 856742 + FunctionDeclaration 856761 857265 + Identifier 856777 856811 + Parameter 856812 856834 + Identifier 856812 856816 + TypeReference 856817 856834 + Identifier 856817 856834 + Parameter 856835 856854 + Identifier 856835 856848 + TypeReference 856849 856854 + Identifier 856849 856854 + Block 856855 857265 + IfStatement 856857 857057 + BinaryExpression 856871 856892 + Identifier 856871 856875 + EqualsEqualsEqualsToken 856875 856879 + Identifier 856879 856892 + Block 856893 857057 + ReturnStatement 856895 857046 + BinaryExpression 856915 857045 + PropertyAccessExpression 856915 856941 + Identifier 856915 856920 + Identifier 856921 856941 + BarBarToken 856941 856944 + ParenthesizedExpression 856944 857045 + BinaryExpression 856946 857044 + PropertyAccessExpression 856946 856971 + Identifier 856946 856950 + Identifier 856951 856971 + EqualsToken 856971 856973 + CallExpression 856973 857044 + Identifier 856973 856997 + Identifier 856998 857002 + Identifier 857003 857016 + TrueKeyword 857017 857043 + VariableStatement 857057 857128 + VariableDeclarationList 857057 857127 + VariableDeclaration 857072 857127 + Identifier 857072 857076 + TemplateExpression 857078 857127 + TemplateHead 857078 857083 + TemplateSpan 857083 857102 + CallExpression 857083 857098 + Identifier 857083 857092 + Identifier 857093 857097 + TemplateMiddle 857098 857102 + TemplateSpan 857102 857127 + CallExpression 857102 857125 + Identifier 857102 857111 + Identifier 857112 857124 + TemplateTail 857125 857127 + ReturnStatement 857128 857258 + BinaryExpression 857144 857257 + CallExpression 857144 857163 + Identifier 857144 857158 + Identifier 857159 857162 + QuestionQuestionToken 857163 857166 + CallExpression 857166 857257 + Identifier 857166 857180 + Identifier 857181 857184 + CallExpression 857185 857256 + Identifier 857185 857209 + Identifier 857210 857214 + Identifier 857215 857228 + TrueKeyword 857229 857255 + FunctionDeclaration 857265 858698 + Identifier 857281 857313 + Parameter 857314 857342 + Identifier 857314 857327 + TypeReference 857328 857342 + Identifier 857328 857342 + UnionType 857344 857361 + TypeReference 857344 857349 + Identifier 857344 857349 + UndefinedKeyword 857351 857361 + Block 857361 858698 + IfStatement 857363 858652 + PrefixUnaryExpression 857377 857399 + PropertyAccessExpression 857378 857399 + Identifier 857378 857391 + Identifier 857392 857399 + Block 857400 858412 + IfStatement 857402 858401 + PropertyAccessExpression 857420 857440 + Identifier 857420 857433 + Identifier 857434 857440 + Block 857441 857682 + VariableStatement 857443 857537 + VariableDeclarationList 857443 857536 + VariableDeclaration 857466 857536 + Identifier 857466 857480 + CallExpression 857482 857536 + Identifier 857482 857514 + PropertyAccessExpression 857515 857535 + Identifier 857515 857528 + Identifier 857529 857535 + ExpressionStatement 857537 857667 + BinaryExpression 857537 857666 + PropertyAccessExpression 857537 857576 + Identifier 857537 857568 + Identifier 857569 857576 + EqualsToken 857576 857578 + ConditionalExpression 857578 857666 + Identifier 857578 857592 + QuestionToken 857592 857594 + CallExpression 857594 857647 + Identifier 857594 857610 + Identifier 857611 857624 + PropertyAccessExpression 857625 857646 + Identifier 857625 857639 + Identifier 857640 857646 + ColonToken 857647 857649 + Identifier 857649 857666 + Block 857700 858401 + ExpressionStatement 857702 857856 + BinaryExpression 857702 857855 + PropertyAccessExpression 857702 857832 + Identifier 857702 857824 + Identifier 857825 857832 + EqualsToken 857832 857834 + Identifier 857834 857855 + VariableStatement 857856 858026 + VariableDeclarationList 857856 858025 + VariableDeclaration 857879 858025 + Identifier 857879 857898 + BinaryExpression 857900 858025 + PropertyAccessExpression 857900 857921 + Identifier 857900 857914 + Identifier 857915 857921 + AmpersandAmpersandToken 857921 857924 + CallExpression 857924 858025 + Identifier 857924 857932 + PropertyAccessExpression 857933 857966 + PropertyAccessExpression 857933 857953 + Identifier 857933 857946 + Identifier 857947 857953 + Identifier 857954 857966 + ArrowFunction 857967 858024 + Parameter 857967 857972 + Identifier 857967 857972 + EqualsGreaterThanToken 857972 857975 + BinaryExpression 857975 858024 + CallExpression 857975 858008 + Identifier 857975 858002 + Identifier 858003 858007 + AmpersandAmpersandToken 858008 858011 + PropertyAccessExpression 858011 858024 + Identifier 858011 858016 + Identifier 858017 858024 + VariableStatement 858026 858144 + VariableDeclarationList 858026 858143 + VariableDeclaration 858049 858143 + Identifier 858049 858061 + ConditionalExpression 858063 858143 + Identifier 858063 858082 + QuestionToken 858082 858084 + CallExpression 858084 858124 + Identifier 858084 858104 + Identifier 858105 858123 + ColonToken 858124 858126 + Identifier 858126 858143 + IfStatement 858144 858386 + BinaryExpression 858166 858212 + PropertyAccessExpression 858166 858187 + Identifier 858166 858179 + Identifier 858180 858187 + EqualsEqualsEqualsToken 858187 858191 + Identifier 858191 858212 + Block 858213 858386 + ExpressionStatement 858215 858367 + BinaryExpression 858215 858366 + PropertyAccessExpression 858215 858352 + Identifier 858215 858344 + Identifier 858345 858352 + EqualsToken 858352 858354 + Identifier 858354 858366 + IfStatement 858426 858652 + BinaryExpression 858431 858477 + PropertyAccessExpression 858431 858452 + Identifier 858431 858444 + Identifier 858445 858452 + EqualsEqualsEqualsToken 858452 858456 + Identifier 858456 858477 + Block 858478 858652 + ExpressionStatement 858480 858641 + BinaryExpression 858480 858640 + PropertyAccessExpression 858480 858615 + Identifier 858480 858607 + Identifier 858608 858615 + EqualsToken 858615 858617 + Identifier 858617 858640 + ReturnStatement 858652 858691 + PropertyAccessExpression 858668 858690 + Identifier 858668 858682 + Identifier 858683 858690 + FunctionDeclaration 858698 859303 + Identifier 859023 859051 + Parameter 859052 859080 + Identifier 859052 859065 + TypeReference 859066 859080 + Identifier 859066 859080 + UnionType 859082 859099 + TypeReference 859082 859087 + Identifier 859082 859087 + UndefinedKeyword 859089 859099 + Block 859099 859303 + VariableStatement 859101 859178 + VariableDeclarationList 859101 859177 + VariableDeclaration 859116 859177 + Identifier 859116 859128 + CallExpression 859130 859177 + Identifier 859130 859162 + Identifier 859163 859176 + ReturnStatement 859178 859296 + ConditionalExpression 859194 859295 + BinaryExpression 859194 859269 + BinaryExpression 859194 859227 + Identifier 859194 859206 + ExclamationEqualsEqualsToken 859206 859210 + Identifier 859210 859227 + AmpersandAmpersandToken 859227 859230 + BinaryExpression 859230 859269 + Identifier 859230 859242 + ExclamationEqualsEqualsToken 859242 859246 + Identifier 859246 859269 + QuestionToken 859269 859271 + Identifier 859271 859283 + ColonToken 859283 859285 + Identifier 859285 859295 + FunctionDeclaration 859303 859484 + Identifier 859319 859354 + Parameter 859355 859383 + Identifier 859355 859368 + TypeReference 859369 859383 + Identifier 859369 859383 + Block 859384 859484 + ReturnStatement 859386 859477 + BinaryExpression 859402 859476 + CallExpression 859402 859449 + Identifier 859402 859434 + Identifier 859435 859448 + ExclamationEqualsEqualsToken 859449 859453 + Identifier 859453 859476 + FunctionDeclaration 859484 859817 + Identifier 859599 859623 + Parameter 859624 859652 + Identifier 859624 859637 + TypeReference 859638 859652 + Identifier 859638 859652 + BooleanKeyword 859654 859662 + Block 859662 859817 + ReturnStatement 859664 859810 + PrefixUnaryExpression 859680 859809 + PrefixUnaryExpression 859682 859809 + ParenthesizedExpression 859683 859809 + BinaryExpression 859684 859808 + PropertyAccessExpression 859684 859704 + Identifier 859684 859697 + Identifier 859698 859704 + AmpersandAmpersandToken 859704 859707 + CallExpression 859707 859808 + Identifier 859707 859715 + PropertyAccessExpression 859716 859749 + PropertyAccessExpression 859716 859736 + Identifier 859716 859729 + Identifier 859730 859736 + Identifier 859737 859749 + ArrowFunction 859750 859807 + Parameter 859750 859755 + Identifier 859750 859755 + EqualsGreaterThanToken 859755 859758 + BinaryExpression 859758 859807 + CallExpression 859758 859791 + Identifier 859758 859785 + Identifier 859786 859790 + AmpersandAmpersandToken 859791 859794 + PropertyAccessExpression 859794 859807 + Identifier 859794 859799 + Identifier 859800 859807 + FunctionDeclaration 859817 860006 + Identifier 859833 859861 + Parameter 859862 859878 + Identifier 859862 859866 + TypeReference 859867 859878 + Identifier 859867 859878 + Block 859879 860006 + ReturnStatement 859881 859999 + BinaryExpression 859897 859998 + PropertyAccessExpression 859897 859923 + Identifier 859897 859902 + Identifier 859903 859923 + BarBarToken 859923 859926 + ParenthesizedExpression 859926 859998 + BinaryExpression 859928 859997 + PropertyAccessExpression 859928 859953 + Identifier 859928 859932 + Identifier 859933 859953 + EqualsToken 859953 859955 + CallExpression 859955 859997 + Identifier 859955 859991 + Identifier 859992 859996 + FunctionDeclaration 860006 861456 + Identifier 860022 860058 + Parameter 860059 860075 + Identifier 860059 860063 + TypeReference 860064 860075 + Identifier 860064 860075 + TypeReference 860077 860082 + Identifier 860077 860082 + Block 860082 861456 + VariableStatement 860084 860145 + VariableDeclarationList 860084 860144 + VariableDeclaration 860099 860144 + Identifier 860099 860106 + AsExpression 860108 860144 + ParenthesizedExpression 860108 860130 + BinaryExpression 860110 860129 + PropertyAccessExpression 860110 860121 + Identifier 860110 860114 + Identifier 860115 860121 + QuestionQuestionToken 860121 860124 + Identifier 860124 860129 + TypeReference 860133 860144 + Identifier 860133 860144 + VariableStatement 860145 860211 + VariableDeclarationList 860145 860210 + VariableDeclaration 860160 860210 + Identifier 860160 860173 + CallExpression 860175 860210 + Identifier 860175 860202 + Identifier 860203 860209 + IfStatement 860211 861427 + BinaryExpression 860225 860269 + Identifier 860225 860237 + AmpersandAmpersandToken 860237 860240 + PrefixUnaryExpression 860240 860269 + PropertyAccessExpression 860242 860269 + PropertyAccessExpression 860242 860260 + Identifier 860242 860248 + Identifier 860249 860260 + Identifier 860261 860269 + Block 860270 861427 + VariableStatement 860272 861004 + VariableDeclarationList 860272 861003 + VariableDeclaration 860950 861003 + Identifier 860950 860964 + CallExpression 860966 861003 + Identifier 860966 860997 + Identifier 860998 861002 + VariableStatement 861004 861162 + VariableDeclarationList 861004 861161 + VariableDeclaration 861023 861161 + Identifier 861023 861038 + ConditionalExpression 861040 861161 + CallExpression 861040 861075 + Identifier 861040 861060 + Identifier 861061 861074 + QuestionToken 861075 861077 + CallExpression 861077 861120 + Identifier 861077 861105 + Identifier 861106 861119 + ColonToken 861120 861122 + CallExpression 861122 861161 + Identifier 861122 861146 + Identifier 861147 861160 + IfStatement 861162 861416 + BinaryExpression 861180 861286 + Identifier 861180 861194 + AmpersandAmpersandToken 861194 861197 + CallExpression 861197 861286 + Identifier 861197 861207 + Identifier 861208 861222 + ArrowFunction 861223 861285 + Parameter 861223 861225 + Identifier 861223 861225 + EqualsGreaterThanToken 861225 861228 + BinaryExpression 861228 861285 + CallExpression 861228 861250 + Identifier 861228 861247 + Identifier 861248 861249 + BarBarToken 861250 861253 + CallExpression 861253 861285 + Identifier 861253 861282 + Identifier 861283 861284 + Block 861287 861416 + ReturnStatement 861289 861401 + CallExpression 861313 861400 + Identifier 861313 861329 + Identifier 861330 861336 + CallExpression 861337 861399 + Identifier 861337 861356 + Identifier 861357 861369 + Identifier 861370 861385 + PropertyAccessExpression 861386 861398 + Identifier 861386 861391 + Identifier 861392 861398 + ReturnStatement 861427 861449 + Identifier 861443 861448 + FunctionDeclaration 861456 861642 + Identifier 861472 861501 + Parameter 861502 861512 + Identifier 861502 861506 + TypeReference 861507 861512 + Identifier 861507 861512 + Block 861513 861642 + ReturnStatement 861515 861635 + BinaryExpression 861531 861634 + PrefixUnaryExpression 861531 861571 + PrefixUnaryExpression 861533 861571 + ParenthesizedExpression 861534 861571 + BinaryExpression 861535 861570 + PropertyAccessExpression 861535 861545 + Identifier 861535 861539 + Identifier 861540 861545 + AmpersandToken 861545 861547 + PropertyAccessExpression 861547 861570 + Identifier 861547 861557 + Identifier 861558 861570 + AmpersandAmpersandToken 861571 861574 + CallExpression 861574 861634 + Identifier 861574 861580 + PropertyAccessExpression 861581 861613 + ParenthesizedExpression 861581 861607 + AsExpression 861582 861606 + Identifier 861582 861586 + TypeReference 861589 861606 + Identifier 861589 861606 + Identifier 861608 861613 + Identifier 861614 861633 + FunctionDeclaration 861642 862155 + Identifier 861658 861691 + Parameter 861692 861702 + Identifier 861692 861696 + TypeReference 861697 861702 + Identifier 861697 861702 + Block 861703 862155 + VariableStatement 861705 861730 + VariableDeclarationList 861705 861729 + VariableDeclaration 861718 861729 + Identifier 861718 861729 + ReturnStatement 861730 862148 + PrefixUnaryExpression 861746 862147 + PrefixUnaryExpression 861748 862147 + ParenthesizedExpression 861749 862147 + BinaryExpression 861750 862146 + BinaryExpression 861750 862094 + BinaryExpression 861750 861988 + BinaryExpression 861750 861927 + BinaryExpression 861750 861878 + BinaryExpression 861750 861786 + PropertyAccessExpression 861750 861760 + Identifier 861750 861754 + Identifier 861755 861760 + AmpersandToken 861760 861762 + PropertyAccessExpression 861762 861786 + Identifier 861762 861772 + Identifier 861773 861786 + AmpersandAmpersandToken 861786 861789 + BinaryExpression 861789 861878 + CallExpression 861789 861857 + Identifier 861789 861804 + BinaryExpression 861805 861856 + Identifier 861805 861815 + EqualsToken 861815 861817 + PropertyAccessExpression 861817 861856 + ParenthesizedExpression 861817 861845 + AsExpression 861819 861844 + Identifier 861819 861823 + TypeReference 861826 861844 + Identifier 861826 861844 + Identifier 861846 861856 + AmpersandToken 861857 861859 + PropertyAccessExpression 861859 861878 + Identifier 861859 861871 + Identifier 861872 861878 + AmpersandAmpersandToken 861878 861881 + PrefixUnaryExpression 861881 861927 + CallExpression 861896 861927 + Identifier 861896 861915 + Identifier 861916 861926 + AmpersandAmpersandToken 861927 861930 + CallExpression 861930 861988 + Identifier 861930 861949 + PropertyAccessExpression 861950 861987 + ParenthesizedExpression 861950 861977 + AsExpression 861951 861976 + Identifier 861951 861955 + TypeReference 861958 861976 + Identifier 861958 861976 + Identifier 861978 861987 + AmpersandAmpersandToken 861988 861991 + PrefixUnaryExpression 861991 862094 + ParenthesizedExpression 862006 862094 + BinaryExpression 862007 862093 + CallExpression 862007 862055 + Identifier 862007 862029 + AsExpression 862030 862054 + Identifier 862030 862040 + TypeReference 862043 862054 + Identifier 862043 862054 + AmpersandToken 862055 862057 + PropertyAccessExpression 862057 862093 + Identifier 862057 862077 + Identifier 862078 862093 + AmpersandAmpersandToken 862094 862097 + PrefixUnaryExpression 862097 862146 + PropertyAccessExpression 862099 862146 + PropertyAccessExpression 862099 862137 + ParenthesizedExpression 862099 862125 + AsExpression 862100 862124 + Identifier 862100 862110 + TypeReference 862113 862124 + Identifier 862113 862124 + Identifier 862126 862137 + Identifier 862138 862146 + FunctionDeclaration 862155 863502 + Identifier 862419 862435 + Parameter 862436 862446 + Identifier 862436 862440 + TypeReference 862441 862446 + Identifier 862441 862446 + TypeReference 862448 862453 + Identifier 862448 862453 + Block 862453 863502 + VariableStatement 862455 862565 + VariableDeclarationList 862455 862564 + VariableDeclaration 862470 862564 + Identifier 862470 862472 + ConditionalExpression 862474 862564 + BinaryExpression 862474 862510 + PropertyAccessExpression 862474 862485 + Identifier 862474 862479 + Identifier 862480 862485 + AmpersandToken 862485 862487 + PropertyAccessExpression 862487 862510 + Identifier 862487 862497 + Identifier 862498 862510 + QuestionToken 862510 862512 + BinaryExpression 862512 862557 + CallExpression 862512 862542 + Identifier 862512 862536 + Identifier 862537 862541 + BarBarToken 862542 862545 + Identifier 862545 862557 + ColonToken 862557 862559 + Identifier 862559 862564 + VariableStatement 862565 862613 + VariableDeclarationList 862565 862612 + VariableDeclaration 862580 862612 + Identifier 862580 862592 + CallExpression 862594 862612 + Identifier 862594 862609 + Identifier 862610 862611 + ReturnStatement 862613 863495 + ConditionalExpression 862629 863494 + BinaryExpression 862629 862662 + Identifier 862629 862641 + AmpersandToken 862641 862643 + PropertyAccessExpression 862643 862662 + Identifier 862643 862655 + Identifier 862656 862662 + QuestionToken 862662 862664 + CallExpression 862664 862709 + Identifier 862664 862692 + AsExpression 862693 862708 + Identifier 862693 862694 + TypeReference 862697 862708 + Identifier 862697 862708 + ColonToken 862709 862711 + ConditionalExpression 862711 863494 + BinaryExpression 862711 862774 + BinaryExpression 862711 862760 + Identifier 862711 862736 + AmpersandToken 862736 862738 + PropertyAccessExpression 862738 862760 + Identifier 862738 862750 + Identifier 862751 862760 + AmpersandAmpersandToken 862760 862763 + BinaryExpression 862763 862774 + Identifier 862763 862765 + ExclamationEqualsEqualsToken 862765 862769 + Identifier 862769 862774 + QuestionToken 862774 862776 + CallExpression 862776 862809 + Identifier 862776 862800 + Identifier 862801 862802 + Identifier 862803 862808 + ColonToken 862809 862811 + ConditionalExpression 862811 863494 + BinaryExpression 862811 862857 + PropertyAccessExpression 862811 862832 + Identifier 862811 862826 + Identifier 862827 862832 + AmpersandToken 862832 862834 + PropertyAccessExpression 862834 862857 + Identifier 862834 862844 + Identifier 862845 862857 + QuestionToken 862857 862859 + CallExpression 862859 862922 + Identifier 862859 862893 + AsExpression 862894 862915 + Identifier 862894 862895 + TypeReference 862898 862915 + Identifier 862898 862915 + Identifier 862916 862921 + ColonToken 862922 862924 + ConditionalExpression 862924 863494 + BinaryExpression 862924 862968 + PropertyAccessExpression 862924 862945 + Identifier 862924 862939 + Identifier 862940 862945 + AmpersandToken 862945 862947 + PropertyAccessExpression 862947 862968 + Identifier 862947 862957 + Identifier 862958 862968 + QuestionToken 862968 862970 + Identifier 862970 862987 + ColonToken 862987 862989 + ConditionalExpression 862989 863494 + BinaryExpression 862989 863033 + PropertyAccessExpression 862989 863010 + Identifier 862989 863004 + Identifier 863005 863010 + AmpersandToken 863010 863012 + PropertyAccessExpression 863012 863033 + Identifier 863012 863022 + Identifier 863023 863033 + QuestionToken 863033 863035 + Identifier 863035 863052 + ColonToken 863052 863054 + ConditionalExpression 863054 863494 + BinaryExpression 863054 863098 + PropertyAccessExpression 863054 863075 + Identifier 863054 863069 + Identifier 863070 863075 + AmpersandToken 863075 863077 + PropertyAccessExpression 863077 863098 + Identifier 863077 863087 + Identifier 863088 863098 + QuestionToken 863098 863100 + CallExpression 863100 863122 + Identifier 863100 863120 + ColonToken 863122 863124 + ConditionalExpression 863124 863494 + BinaryExpression 863124 863169 + PropertyAccessExpression 863124 863145 + Identifier 863124 863139 + Identifier 863140 863145 + AmpersandToken 863145 863147 + PropertyAccessExpression 863147 863169 + Identifier 863147 863157 + Identifier 863158 863169 + QuestionToken 863169 863171 + Identifier 863171 863189 + ColonToken 863189 863191 + ConditionalExpression 863191 863494 + BinaryExpression 863191 863237 + PropertyAccessExpression 863191 863212 + Identifier 863191 863206 + Identifier 863207 863212 + AmpersandToken 863212 863214 + PropertyAccessExpression 863214 863237 + Identifier 863214 863224 + Identifier 863225 863237 + QuestionToken 863237 863239 + CallExpression 863239 863263 + Identifier 863239 863261 + ColonToken 863263 863265 + ConditionalExpression 863265 863494 + BinaryExpression 863265 863311 + PropertyAccessExpression 863265 863286 + Identifier 863265 863280 + Identifier 863281 863286 + AmpersandToken 863286 863288 + PropertyAccessExpression 863288 863311 + Identifier 863288 863298 + Identifier 863299 863311 + QuestionToken 863311 863313 + Identifier 863313 863329 + ColonToken 863329 863331 + ConditionalExpression 863331 863494 + BinaryExpression 863331 863370 + PropertyAccessExpression 863331 863352 + Identifier 863331 863346 + Identifier 863347 863352 + AmpersandToken 863352 863354 + PropertyAccessExpression 863354 863370 + Identifier 863354 863364 + Identifier 863365 863370 + QuestionToken 863370 863372 + Identifier 863372 863395 + ColonToken 863395 863397 + ConditionalExpression 863397 863494 + BinaryExpression 863397 863459 + BinaryExpression 863397 863438 + PropertyAccessExpression 863397 863418 + Identifier 863397 863412 + Identifier 863413 863418 + AmpersandToken 863418 863420 + PropertyAccessExpression 863420 863438 + Identifier 863420 863430 + Identifier 863431 863438 + AmpersandAmpersandToken 863438 863441 + PrefixUnaryExpression 863441 863459 + Identifier 863443 863459 + QuestionToken 863459 863461 + Identifier 863461 863477 + ColonToken 863477 863479 + Identifier 863479 863494 + FunctionDeclaration 863502 864050 + Identifier 863518 863541 + Parameter 863542 863552 + Identifier 863542 863546 + TypeReference 863547 863552 + Identifier 863547 863552 + TypeReference 863554 863559 + Identifier 863554 863559 + Block 863559 864050 + ReturnStatement 863561 864043 + CallExpression 863988 864042 + Identifier 863988 864003 + CallExpression 864004 864041 + Identifier 864004 864019 + CallExpression 864020 864040 + Identifier 864020 864034 + Identifier 864035 864039 + FunctionDeclaration 864050 874008 + Identifier 864066 864100 + Parameter 864101 864140 + Identifier 864101 864115 + TypeReference 864116 864140 + Identifier 864116 864140 + Parameter 864141 864156 + Identifier 864141 864146 + TypeReference 864147 864156 + Identifier 864147 864156 + Parameter 864157 864201 + Identifier 864157 864191 + QuestionToken 864191 864192 + BooleanKeyword 864193 864201 + UnionType 864203 864222 + TypeReference 864203 864210 + Identifier 864203 864210 + UndefinedKeyword 864212 864222 + Block 864222 874008 + VariableStatement 864224 864269 + VariableDeclarationList 864224 864268 + VariableDeclaration 864237 864268 + Identifier 864237 864248 + UnionType 864249 864268 + TypeReference 864249 864256 + Identifier 864249 864256 + UndefinedKeyword 864258 864268 + VariableStatement 864269 864326 + VariableDeclarationList 864269 864325 + VariableDeclaration 864282 864325 + Identifier 864282 864290 + UnionType 864291 864325 + TypeReference 864291 864313 + Identifier 864291 864295 + TypeReference 864296 864304 + Identifier 864296 864304 + TypeReference 864305 864312 + Identifier 864305 864312 + UndefinedKeyword 864315 864325 + VariableStatement 864326 864371 + VariableDeclarationList 864326 864370 + VariableDeclaration 864339 864370 + Identifier 864339 864350 + UnionType 864351 864370 + ArrayType 864351 864358 + TypeReference 864351 864356 + Identifier 864351 864356 + UndefinedKeyword 864360 864370 + VariableStatement 864371 864436 + VariableDeclarationList 864371 864435 + VariableDeclaration 864386 864435 + Identifier 864386 864394 + BinaryExpression 864396 864435 + PropertyAccessExpression 864396 864417 + Identifier 864396 864411 + Identifier 864412 864417 + AmpersandToken 864417 864419 + PropertyAccessExpression 864419 864435 + Identifier 864419 864429 + Identifier 864430 864435 + VariableStatement 864436 864577 + VariableDeclarationList 864436 864576 + VariableDeclaration 864538 864576 + Identifier 864538 864551 + UnionType 864552 864576 + TypeReference 864552 864564 + Identifier 864552 864564 + UndefinedKeyword 864566 864576 + VariableStatement 864577 864634 + VariableDeclarationList 864577 864633 + VariableDeclaration 864590 864633 + Identifier 864590 864604 + PropertyAccessExpression 864606 864633 + Identifier 864606 864617 + Identifier 864618 864633 + VariableStatement 864634 864695 + VariableDeclarationList 864634 864694 + VariableDeclaration 864647 864694 + Identifier 864647 864658 + ConditionalExpression 864660 864694 + Identifier 864660 864668 + QuestionToken 864668 864670 + NumericLiteral 864670 864672 + ColonToken 864672 864674 + PropertyAccessExpression 864674 864694 + Identifier 864674 864685 + Identifier 864686 864694 + VariableStatement 864695 864738 + VariableDeclarationList 864695 864737 + VariableDeclaration 864708 864737 + Identifier 864708 864729 + FalseKeyword 864731 864737 + ForOfStatement 864738 869263 + VariableDeclarationList 864753 864766 + VariableDeclaration 864758 864766 + Identifier 864758 864766 + PropertyAccessExpression 864769 864790 + Identifier 864769 864784 + Identifier 864785 864790 + Block 864791 869263 + VariableStatement 864793 864845 + VariableDeclarationList 864793 864844 + VariableDeclaration 864812 864844 + Identifier 864812 864817 + CallExpression 864819 864844 + Identifier 864819 864835 + Identifier 864836 864843 + IfStatement 864845 869252 + PrefixUnaryExpression 864863 864915 + ParenthesizedExpression 864864 864915 + BinaryExpression 864865 864914 + CallExpression 864865 864882 + Identifier 864865 864876 + Identifier 864877 864881 + BarBarToken 864882 864885 + BinaryExpression 864885 864914 + PropertyAccessExpression 864885 864896 + Identifier 864885 864890 + Identifier 864891 864896 + AmpersandToken 864896 864898 + PropertyAccessExpression 864898 864914 + Identifier 864898 864908 + Identifier 864909 864914 + Block 864916 869252 + VariableStatement 864918 865014 + VariableDeclarationList 864918 865013 + VariableDeclaration 864941 865013 + Identifier 864941 864946 + CallExpression 864948 865013 + Identifier 864948 864966 + Identifier 864967 864971 + Identifier 864972 864977 + Identifier 864978 865012 + VariableStatement 865014 865105 + VariableDeclarationList 865014 865104 + VariableDeclaration 865037 865104 + Identifier 865037 865047 + ConditionalExpression 865049 865104 + Identifier 865049 865054 + QuestionToken 865054 865056 + CallExpression 865056 865100 + Identifier 865056 865094 + Identifier 865095 865099 + ColonToken 865100 865102 + NumericLiteral 865102 865104 + IfStatement 865105 869237 + Identifier 865127 865131 + Block 865132 868366 + IfStatement 865134 865578 + BinaryExpression 865160 865196 + PropertyAccessExpression 865160 865170 + Identifier 865160 865164 + Identifier 865165 865170 + AmpersandToken 865170 865172 + PropertyAccessExpression 865172 865196 + Identifier 865172 865184 + Identifier 865185 865196 + Block 865197 865578 + ExpressionStatement 865199 865292 + BinaryExpression 865199 865291 + Identifier 865199 865237 + QuestionQuestionEqualsToken 865237 865241 + ConditionalExpression 865241 865291 + Identifier 865241 865249 + QuestionToken 865249 865251 + PropertyAccessExpression 865251 865268 + Identifier 865251 865263 + Identifier 865264 865268 + ColonToken 865268 865270 + PropertyAccessExpression 865270 865291 + Identifier 865270 865282 + Identifier 865283 865291 + IfStatement 865292 865555 + Identifier 865322 865329 + Block 865330 865439 + ExpressionStatement 865332 865412 + BinaryExpression 865332 865411 + Identifier 865332 865374 + BarEqualsToken 865374 865377 + BinaryExpression 865377 865411 + PropertyAccessExpression 865377 865388 + Identifier 865377 865382 + Identifier 865383 865388 + AmpersandToken 865388 865390 + PropertyAccessExpression 865390 865411 + Identifier 865390 865402 + Identifier 865403 865411 + Block 865469 865555 + ExpressionStatement 865471 865528 + BinaryExpression 865471 865527 + Identifier 865471 865513 + AmpersandEqualsToken 865513 865516 + PropertyAccessExpression 865516 865527 + Identifier 865516 865521 + Identifier 865522 865527 + IfStatement 865578 867480 + PrefixUnaryExpression 865604 865615 + Identifier 865605 865615 + Block 865616 865685 + ExpressionStatement 865618 865662 + BinaryExpression 865618 865661 + Identifier 865618 865654 + EqualsToken 865654 865656 + Identifier 865656 865661 + IfStatement 865711 867480 + BinaryExpression 865716 865735 + Identifier 865716 865720 + ExclamationEqualsEqualsToken 865720 865724 + Identifier 865724 865735 + Block 865736 867480 + VariableStatement 865738 865868 + VariableDeclarationList 865738 865867 + VariableDeclaration 865769 865867 + Identifier 865769 865785 + BinaryExpression 865787 865867 + ParenthesizedExpression 865787 865819 + BinaryExpression 865789 865818 + CallExpression 865789 865810 + Identifier 865789 865804 + Identifier 865805 865809 + BarBarToken 865810 865813 + Identifier 865813 865818 + EqualsEqualsEqualsToken 865819 865823 + ParenthesizedExpression 865823 865867 + BinaryExpression 865825 865866 + CallExpression 865825 865852 + Identifier 865825 865840 + Identifier 865841 865851 + BarBarToken 865852 865855 + Identifier 865855 865866 + IfStatement 865868 867457 + BinaryExpression 866254 866375 + Identifier 866254 866269 + AmpersandAmpersandToken 866269 866272 + BinaryExpression 866272 866375 + CallExpression 866272 866358 + Identifier 866272 866290 + Identifier 866291 866301 + Identifier 866302 866307 + ArrowFunction 866308 866357 + Parameter 866310 866311 + Identifier 866310 866311 + Parameter 866312 866314 + Identifier 866312 866314 + EqualsGreaterThanToken 866315 866318 + ConditionalExpression 866318 866357 + BinaryExpression 866318 866326 + Identifier 866318 866320 + EqualsEqualsEqualsToken 866320 866324 + Identifier 866324 866326 + QuestionToken 866326 866328 + PropertyAccessExpression 866328 866341 + Identifier 866328 866336 + Identifier 866337 866341 + ColonToken 866341 866343 + PropertyAccessExpression 866343 866357 + Identifier 866343 866351 + Identifier 866352 866357 + EqualsEqualsEqualsToken 866358 866362 + PropertyAccessExpression 866362 866375 + Identifier 866362 866370 + Identifier 866371 866375 + Block 866376 866968 + ExpressionStatement 866378 866941 + BinaryExpression 866378 866940 + Identifier 866378 866834 + EqualsToken 866834 866836 + BinaryExpression 866836 866940 + PrefixUnaryExpression 866836 866856 + PrefixUnaryExpression 866838 866856 + PropertyAccessExpression 866839 866856 + Identifier 866839 866849 + Identifier 866850 866856 + AmpersandAmpersandToken 866856 866859 + PrefixUnaryExpression 866859 866940 + PrefixUnaryExpression 866861 866940 + CallExpression 866862 866940 + Identifier 866862 866868 + CallExpression 866869 866939 + Identifier 866869 866920 + PropertyAccessExpression 866921 866938 + Identifier 866921 866931 + Identifier 866932 866938 + Block 866998 867457 + IfStatement 867000 867231 + PrefixUnaryExpression 867034 867042 + Identifier 867035 867042 + Block 867043 867231 + ExpressionStatement 867045 867117 + BinaryExpression 867045 867116 + Identifier 867045 867086 + EqualsToken 867086 867088 + NewExpression 867088 867116 + Identifier 867092 867096 + TypeReference 867097 867105 + Identifier 867097 867105 + TypeReference 867106 867113 + Identifier 867106 867113 + ExpressionStatement 867117 867200 + CallExpression 867117 867199 + PropertyAccessExpression 867117 867162 + Identifier 867117 867158 + Identifier 867159 867162 + CallExpression 867163 867186 + Identifier 867163 867174 + Identifier 867175 867185 + Identifier 867187 867198 + VariableStatement 867231 867290 + VariableDeclarationList 867231 867289 + VariableDeclaration 867266 867289 + Identifier 867266 867269 + CallExpression 867271 867289 + Identifier 867271 867283 + Identifier 867284 867288 + IfStatement 867290 867430 + PrefixUnaryExpression 867324 867340 + CallExpression 867325 867340 + PropertyAccessExpression 867325 867336 + Identifier 867325 867332 + Identifier 867333 867336 + Identifier 867337 867339 + Block 867341 867430 + ExpressionStatement 867343 867399 + CallExpression 867343 867398 + PropertyAccessExpression 867343 867388 + Identifier 867343 867384 + Identifier 867385 867388 + Identifier 867389 867391 + Identifier 867392 867397 + IfStatement 867480 867778 + BinaryExpression 867506 867539 + Identifier 867506 867513 + AmpersandAmpersandToken 867513 867516 + CallExpression 867516 867539 + Identifier 867516 867533 + Identifier 867534 867538 + Block 867540 867625 + ExpressionStatement 867542 867602 + BinaryExpression 867542 867601 + Identifier 867542 867578 + BarEqualsToken 867578 867581 + PropertyAccessExpression 867581 867601 + Identifier 867581 867592 + Identifier 867593 867601 + IfStatement 867651 867778 + BinaryExpression 867656 867691 + PrefixUnaryExpression 867656 867664 + Identifier 867657 867664 + AmpersandAmpersandToken 867664 867667 + PrefixUnaryExpression 867667 867691 + CallExpression 867669 867691 + Identifier 867669 867685 + Identifier 867686 867690 + Block 867692 867778 + ExpressionStatement 867694 867755 + BinaryExpression 867694 867754 + Identifier 867694 867730 + AmpersandEqualsToken 867730 867733 + PrefixUnaryExpression 867733 867754 + PropertyAccessExpression 867735 867754 + Identifier 867735 867745 + Identifier 867746 867754 + ExpressionStatement 867778 868198 + BinaryExpression 867778 868197 + Identifier 867778 867810 + BarEqualsToken 867810 867813 + BinaryExpression 867813 868197 + BinaryExpression 867813 868103 + BinaryExpression 867813 868007 + ParenthesizedExpression 867813 867907 + ConditionalExpression 867815 867906 + PrefixUnaryExpression 867815 867874 + ParenthesizedExpression 867816 867874 + BinaryExpression 867817 867873 + Identifier 867817 867826 + AmpersandToken 867826 867828 + PropertyAccessExpression 867828 867873 + Identifier 867828 867842 + Identifier 867843 867873 + QuestionToken 867874 867876 + PropertyAccessExpression 867876 867902 + Identifier 867876 867887 + Identifier 867888 867902 + ColonToken 867902 867904 + NumericLiteral 867904 867906 + BarToken 867907 867909 + ParenthesizedExpression 867909 868007 + ConditionalExpression 867936 868006 + BinaryExpression 867936 867971 + Identifier 867936 867945 + AmpersandToken 867945 867947 + PropertyAccessExpression 867947 867971 + Identifier 867947 867961 + Identifier 867962 867971 + QuestionToken 867971 867973 + PropertyAccessExpression 867973 868002 + Identifier 867973 867984 + Identifier 867985 868002 + ColonToken 868002 868004 + NumericLiteral 868004 868006 + BarToken 868007 868009 + ParenthesizedExpression 868009 868103 + ConditionalExpression 868036 868102 + BinaryExpression 868036 868069 + Identifier 868036 868045 + AmpersandToken 868045 868047 + PropertyAccessExpression 868047 868069 + Identifier 868047 868061 + Identifier 868062 868069 + QuestionToken 868069 868071 + PropertyAccessExpression 868071 868098 + Identifier 868071 868082 + Identifier 868083 868098 + ColonToken 868098 868100 + NumericLiteral 868100 868102 + BarToken 868103 868105 + ParenthesizedExpression 868105 868197 + ConditionalExpression 868132 868196 + BinaryExpression 868132 868164 + Identifier 868132 868141 + AmpersandToken 868141 868143 + PropertyAccessExpression 868143 868164 + Identifier 868143 868157 + Identifier 868158 868164 + QuestionToken 868164 868166 + PropertyAccessExpression 868166 868192 + Identifier 868166 868177 + Identifier 868178 868192 + ColonToken 868192 868194 + NumericLiteral 868194 868196 + IfStatement 868198 868347 + PrefixUnaryExpression 868224 868250 + CallExpression 868225 868250 + Identifier 868225 868244 + Identifier 868245 868249 + Block 868251 868347 + ExpressionStatement 868253 868324 + BinaryExpression 868253 868323 + Identifier 868253 868292 + EqualsToken 868292 868294 + PropertyAccessExpression 868294 868323 + Identifier 868294 868305 + Identifier 868306 868323 + IfStatement 868388 869237 + Identifier 868393 868400 + Block 868401 869237 + VariableStatement 868403 868511 + VariableDeclarationList 868403 868510 + VariableDeclaration 868430 868510 + Identifier 868430 868440 + BinaryExpression 868442 868510 + PrefixUnaryExpression 868442 868465 + CallExpression 868444 868465 + Identifier 868444 868459 + Identifier 868460 868464 + AmpersandAmpersandToken 868465 868468 + CallExpression 868468 868510 + Identifier 868468 868498 + Identifier 868499 868503 + Identifier 868504 868509 + IfStatement 868511 869218 + Identifier 868537 868546 + Block 868547 868829 + ExpressionStatement 868549 868664 + BinaryExpression 868549 868663 + Identifier 868549 868585 + BarEqualsToken 868585 868588 + BinaryExpression 868588 868663 + PropertyAccessExpression 868588 868612 + Identifier 868588 868599 + Identifier 868600 868612 + BarToken 868612 868614 + ParenthesizedExpression 868614 868663 + ConditionalExpression 868616 868662 + PropertyAccessExpression 868616 868636 + Identifier 868616 868625 + Identifier 868626 868636 + QuestionToken 868636 868638 + PropertyAccessExpression 868638 868658 + Identifier 868638 868649 + Identifier 868650 868658 + ColonToken 868658 868660 + NumericLiteral 868660 868662 + ExpressionStatement 868664 868806 + BinaryExpression 868664 868805 + Identifier 868664 868700 + EqualsToken 868700 868702 + CallExpression 868702 868805 + Identifier 868702 868709 + Identifier 868710 868720 + ConditionalExpression 868721 868804 + CallExpression 868721 868739 + Identifier 868721 868733 + Identifier 868734 868738 + QuestionToken 868739 868741 + BinaryExpression 868741 868787 + CallExpression 868741 868770 + Identifier 868741 868764 + Identifier 868765 868769 + BarBarToken 868770 868773 + Identifier 868773 868787 + ColonToken 868787 868789 + PropertyAccessExpression 868789 868804 + Identifier 868789 868799 + Identifier 868800 868804 + IfStatement 868855 869218 + BinaryExpression 868860 868941 + CallExpression 868860 868885 + Identifier 868860 868879 + Identifier 868880 868884 + AmpersandAmpersandToken 868885 868888 + PrefixUnaryExpression 868888 868941 + ParenthesizedExpression 868890 868941 + BinaryExpression 868891 868940 + CallExpression 868891 868911 + Identifier 868891 868905 + Identifier 868906 868910 + AmpersandToken 868911 868913 + PropertyAccessExpression 868913 868940 + Identifier 868913 868925 + Identifier 868926 868940 + Block 868942 869104 + ExpressionStatement 868944 869008 + BinaryExpression 868944 869007 + Identifier 868944 868980 + BarEqualsToken 868980 868983 + PropertyAccessExpression 868983 869007 + Identifier 868983 868994 + Identifier 868995 869007 + ExpressionStatement 869008 869081 + BinaryExpression 869008 869080 + Identifier 869008 869044 + EqualsToken 869044 869046 + CallExpression 869046 869080 + Identifier 869046 869053 + Identifier 869054 869064 + Identifier 869065 869079 + Block 869130 869218 + ExpressionStatement 869132 869195 + BinaryExpression 869132 869194 + Identifier 869132 869168 + BarEqualsToken 869168 869171 + PropertyAccessExpression 869171 869194 + Identifier 869171 869182 + Identifier 869183 869194 + IfStatement 869263 869833 + BinaryExpression 869277 869567 + PrefixUnaryExpression 869277 869302 + Identifier 869292 869302 + BarBarToken 869302 869305 + BinaryExpression 869305 869567 + BinaryExpression 869305 869484 + BinaryExpression 869305 869391 + Identifier 869305 869326 + AmpersandAmpersandToken 869326 869329 + ParenthesizedExpression 869329 869391 + BinaryExpression 869348 869390 + Identifier 869348 869355 + BarBarToken 869355 869358 + BinaryExpression 869358 869390 + Identifier 869358 869369 + AmpersandToken 869369 869371 + PropertyAccessExpression 869371 869390 + Identifier 869371 869382 + Identifier 869383 869390 + AmpersandAmpersandToken 869391 869394 + BinaryExpression 869394 869484 + Identifier 869394 869422 + AmpersandToken 869422 869424 + ParenthesizedExpression 869424 869484 + BinaryExpression 869426 869483 + PropertyAccessExpression 869426 869452 + Identifier 869426 869436 + Identifier 869437 869452 + BarToken 869452 869454 + PropertyAccessExpression 869454 869483 + Identifier 869454 869465 + Identifier 869466 869483 + AmpersandAmpersandToken 869484 869487 + PrefixUnaryExpression 869487 869567 + ParenthesizedExpression 869506 869567 + BinaryExpression 869507 869566 + Identifier 869507 869514 + AmpersandAmpersandToken 869514 869517 + CallExpression 869517 869566 + Identifier 869517 869548 + CallExpression 869549 869565 + PropertyAccessExpression 869549 869563 + Identifier 869549 869556 + Identifier 869557 869563 + Block 869578 869833 + ReturnStatement 869580 869822 + Identifier 869811 869821 + IfStatement 869833 870942 + BinaryExpression 869847 869912 + BinaryExpression 869847 869897 + PrefixUnaryExpression 869847 869855 + Identifier 869848 869855 + AmpersandAmpersandToken 869855 869858 + PrefixUnaryExpression 869858 869897 + ParenthesizedExpression 869860 869897 + BinaryExpression 869861 869896 + Identifier 869861 869871 + AmpersandToken 869871 869873 + PropertyAccessExpression 869873 869896 + Identifier 869873 869884 + Identifier 869885 869896 + AmpersandAmpersandToken 869897 869900 + PrefixUnaryExpression 869900 869912 + Identifier 869902 869912 + Block 869913 870942 + IfStatement 869915 870931 + Identifier 869933 869953 + Block 869954 870860 + VariableStatement 869956 870469 + VariableDeclarationList 869956 870468 + VariableDeclaration 870414 870468 + Identifier 870414 870420 + PropertyAccessExpression 870422 870468 + CallExpression 870422 870461 + Identifier 870422 870430 + Identifier 870431 870441 + Identifier 870442 870460 + QuestionDotToken 870461 870463 + Identifier 870463 870468 + VariableStatement 870469 870547 + VariableDeclarationList 870469 870546 + VariableDeclaration 870492 870546 + Identifier 870492 870498 + CallExpression 870500 870546 + Identifier 870500 870521 + Identifier 870522 870532 + PropertyAccessExpression 870533 870545 + Identifier 870533 870539 + QuestionDotToken 870539 870541 + Identifier 870541 870545 + ExpressionStatement 870547 870624 + BinaryExpression 870547 870623 + PropertyAccessExpression 870547 870577 + Identifier 870547 870570 + Identifier 870571 870577 + EqualsToken 870577 870579 + PropertyAccessExpression 870579 870623 + PropertyAccessExpression 870579 870615 + PropertyAccessExpression 870579 870607 + Identifier 870579 870590 + Identifier 870591 870607 + QuestionDotToken 870607 870609 + Identifier 870609 870615 + QuestionDotToken 870615 870617 + Identifier 870617 870623 + ExpressionStatement 870624 870686 + BinaryExpression 870624 870685 + PropertyAccessExpression 870624 870668 + PropertyAccessExpression 870624 870653 + Identifier 870624 870647 + Identifier 870648 870653 + Identifier 870654 870668 + EqualsToken 870668 870670 + Identifier 870670 870685 + ExpressionStatement 870686 870739 + BinaryExpression 870686 870738 + PropertyAccessExpression 870686 870722 + PropertyAccessExpression 870686 870715 + Identifier 870686 870709 + Identifier 870710 870715 + Identifier 870716 870722 + EqualsToken 870722 870724 + PropertyAccessExpression 870724 870738 + Identifier 870724 870730 + QuestionDotToken 870730 870732 + Identifier 870732 870738 + ExpressionStatement 870739 870814 + BinaryExpression 870739 870813 + PropertyAccessExpression 870739 870778 + PropertyAccessExpression 870739 870768 + Identifier 870739 870762 + Identifier 870763 870768 + Identifier 870769 870778 + EqualsToken 870778 870780 + CallExpression 870780 870813 + Identifier 870780 870801 + Identifier 870802 870812 + ReturnStatement 870814 870845 + Identifier 870838 870844 + Block 870878 870931 + ReturnStatement 870880 870916 + Identifier 870904 870915 + VariableStatement 870942 871019 + VariableDeclarationList 870942 871018 + VariableDeclaration 870957 871018 + Identifier 870957 870963 + ConditionalExpression 870965 871018 + Identifier 870965 870973 + QuestionToken 870973 870975 + CallExpression 870975 871003 + Identifier 870975 870985 + CallExpression 870986 871002 + PropertyAccessExpression 870986 871000 + Identifier 870986 870993 + Identifier 870994 871000 + ColonToken 871003 871005 + ArrayLiteralExpression 871005 871018 + Identifier 871007 871017 + VariableStatement 871019 871073 + VariableDeclarationList 871019 871072 + VariableDeclaration 871032 871072 + Identifier 871032 871045 + UnionType 871046 871072 + ArrayType 871046 871060 + TypeReference 871046 871058 + Identifier 871046 871058 + UndefinedKeyword 871062 871072 + VariableStatement 871073 871115 + VariableDeclarationList 871073 871114 + VariableDeclaration 871086 871114 + Identifier 871086 871096 + UnionType 871097 871114 + TypeReference 871097 871102 + Identifier 871097 871102 + UndefinedKeyword 871104 871114 + VariableStatement 871115 871156 + VariableDeclarationList 871115 871155 + VariableDeclaration 871128 871155 + Identifier 871128 871137 + UnionType 871138 871155 + TypeReference 871138 871143 + Identifier 871138 871143 + UndefinedKeyword 871145 871155 + VariableStatement 871156 871195 + VariableDeclarationList 871156 871194 + VariableDeclaration 871171 871194 + Identifier 871171 871181 + ArrayType 871182 871189 + TypeReference 871182 871187 + Identifier 871182 871187 + ArrayLiteralExpression 871191 871194 + VariableStatement 871195 871240 + VariableDeclarationList 871195 871239 + VariableDeclaration 871208 871239 + Identifier 871208 871219 + UnionType 871220 871239 + ArrayType 871220 871227 + TypeReference 871220 871225 + Identifier 871220 871225 + UndefinedKeyword 871229 871239 + VariableStatement 871240 871301 + VariableDeclarationList 871240 871300 + VariableDeclaration 871253 871300 + Identifier 871253 871275 + UnionType 871276 871300 + TypeReference 871276 871288 + Identifier 871276 871288 + UndefinedKeyword 871290 871300 + VariableStatement 871301 871353 + VariableDeclarationList 871301 871352 + VariableDeclaration 871314 871352 + Identifier 871314 871344 + FalseKeyword 871346 871352 + ForOfStatement 871353 872616 + VariableDeclarationList 871368 871378 + VariableDeclaration 871373 871378 + Identifier 871373 871378 + Identifier 871381 871387 + Block 871388 872616 + IfStatement 871390 871680 + PrefixUnaryExpression 871408 871430 + Identifier 871409 871430 + Block 871431 871512 + ExpressionStatement 871433 871497 + BinaryExpression 871433 871496 + Identifier 871433 871472 + EqualsToken 871472 871474 + PropertyAccessExpression 871474 871496 + Identifier 871474 871479 + Identifier 871480 871496 + IfStatement 871530 871680 + BinaryExpression 871535 871607 + PropertyAccessExpression 871535 871556 + Identifier 871535 871539 + Identifier 871540 871556 + AmpersandAmpersandToken 871556 871559 + BinaryExpression 871559 871607 + PropertyAccessExpression 871559 871581 + Identifier 871559 871564 + Identifier 871565 871581 + ExclamationEqualsEqualsToken 871581 871585 + Identifier 871585 871607 + Block 871608 871680 + ExpressionStatement 871610 871665 + BinaryExpression 871610 871664 + Identifier 871610 871657 + EqualsToken 871657 871659 + TrueKeyword 871659 871664 + ExpressionStatement 871680 871751 + BinaryExpression 871680 871750 + Identifier 871680 871706 + EqualsToken 871706 871708 + CallExpression 871708 871750 + Identifier 871708 871717 + Identifier 871718 871730 + PropertyAccessExpression 871731 871749 + Identifier 871731 871736 + Identifier 871737 871749 + VariableStatement 871751 871800 + VariableDeclarationList 871751 871799 + VariableDeclaration 871770 871799 + Identifier 871770 871775 + CallExpression 871777 871799 + Identifier 871777 871793 + Identifier 871794 871798 + IfStatement 871800 871940 + PrefixUnaryExpression 871818 871828 + Identifier 871819 871828 + Block 871829 871940 + ExpressionStatement 871831 871866 + BinaryExpression 871831 871865 + Identifier 871831 871858 + EqualsToken 871858 871860 + Identifier 871860 871865 + ExpressionStatement 871866 871925 + BinaryExpression 871866 871924 + Identifier 871866 871892 + EqualsToken 871892 871894 + PropertyAccessExpression 871894 871924 + CallExpression 871894 871915 + Identifier 871894 871909 + Identifier 871910 871914 + Identifier 871916 871924 + VariableStatement 871940 871999 + VariableDeclarationList 871940 871998 + VariableDeclaration 871959 871998 + Identifier 871959 871969 + CallExpression 871971 871998 + Identifier 871971 871992 + Identifier 871993 871997 + IfStatement 871999 872162 + BinaryExpression 872017 872049 + Identifier 872017 872027 + BarBarToken 872027 872030 + BinaryExpression 872030 872049 + Identifier 872030 872040 + ExclamationEqualsEqualsToken 872040 872044 + Identifier 872044 872049 + Block 872050 872162 + ExpressionStatement 872052 872147 + BinaryExpression 872052 872146 + Identifier 872052 872080 + EqualsToken 872080 872082 + CallExpression 872082 872146 + Identifier 872082 872089 + ConditionalExpression 872090 872134 + PrefixUnaryExpression 872090 872101 + Identifier 872091 872101 + QuestionToken 872101 872103 + CallExpression 872103 872121 + PropertyAccessExpression 872103 872119 + Identifier 872103 872113 + Identifier 872114 872119 + ColonToken 872121 872123 + Identifier 872123 872134 + Identifier 872135 872145 + IfStatement 872162 872277 + BinaryExpression 872180 872198 + Identifier 872180 872184 + ExclamationEqualsEqualsToken 872184 872188 + Identifier 872188 872198 + Block 872199 872277 + ExpressionStatement 872201 872262 + BinaryExpression 872201 872261 + Identifier 872201 872229 + BarEqualsToken 872229 872232 + PropertyAccessExpression 872232 872261 + Identifier 872232 872243 + Identifier 872244 872261 + IfStatement 872277 872420 + BinaryExpression 872295 872344 + CallExpression 872295 872314 + Identifier 872295 872308 + Identifier 872309 872313 + BarBarToken 872314 872317 + CallExpression 872317 872344 + Identifier 872317 872338 + Identifier 872339 872343 + Block 872345 872420 + ExpressionStatement 872347 872405 + BinaryExpression 872347 872404 + Identifier 872347 872375 + BarEqualsToken 872375 872378 + PropertyAccessExpression 872378 872404 + Identifier 872378 872389 + Identifier 872390 872404 + IfStatement 872420 872570 + BinaryExpression 872438 872496 + BinaryExpression 872438 872466 + PropertyAccessExpression 872438 872448 + Identifier 872438 872442 + Identifier 872443 872448 + AmpersandToken 872448 872450 + PropertyAccessExpression 872450 872466 + Identifier 872450 872460 + Identifier 872461 872466 + AmpersandAmpersandToken 872466 872469 + BinaryExpression 872469 872496 + Identifier 872469 872474 + ExclamationEqualsEqualsToken 872474 872478 + Identifier 872478 872496 + Block 872497 872570 + ExpressionStatement 872499 872555 + BinaryExpression 872499 872554 + Identifier 872499 872527 + BarEqualsToken 872527 872530 + PropertyAccessExpression 872530 872554 + Identifier 872530 872541 + Identifier 872542 872554 + ExpressionStatement 872570 872605 + CallExpression 872570 872604 + PropertyAccessExpression 872570 872598 + Identifier 872570 872593 + Identifier 872594 872598 + Identifier 872599 872603 + ExpressionStatement 872616 872658 + CallExpression 872616 872657 + Identifier 872616 872634 + Identifier 872635 872644 + Identifier 872645 872656 + VariableStatement 872658 872774 + VariableDeclarationList 872658 872773 + VariableDeclaration 872673 872773 + Identifier 872673 872680 + CallExpression 872682 872773 + Identifier 872682 872695 + BinaryExpression 872696 872738 + PropertyAccessExpression 872696 872716 + Identifier 872696 872707 + Identifier 872708 872716 + BarToken 872716 872718 + ParenthesizedExpression 872718 872738 + BinaryExpression 872720 872737 + Identifier 872720 872732 + QuestionQuestionToken 872732 872735 + NumericLiteral 872735 872737 + Identifier 872739 872744 + BinaryExpression 872745 872772 + Identifier 872745 872759 + BarToken 872759 872761 + Identifier 872761 872772 + ExpressionStatement 872774 872829 + BinaryExpression 872774 872828 + PropertyAccessExpression 872774 872811 + PropertyAccessExpression 872774 872796 + Identifier 872774 872790 + Identifier 872791 872796 + Identifier 872797 872811 + EqualsToken 872811 872813 + Identifier 872813 872828 + IfStatement 872829 873172 + BinaryExpression 872843 872898 + PrefixUnaryExpression 872843 872873 + Identifier 872844 872873 + AmpersandAmpersandToken 872873 872876 + Identifier 872876 872898 + Block 872899 873172 + ExpressionStatement 872901 872963 + BinaryExpression 872901 872962 + PropertyAccessExpression 872901 872938 + Identifier 872901 872921 + Identifier 872922 872938 + EqualsToken 872938 872940 + Identifier 872940 872962 + IfStatement 872963 873161 + PropertyAccessExpression 873038 873073 + PropertyAccessExpression 873038 873066 + Identifier 873038 873059 + Identifier 873060 873066 + Identifier 873067 873073 + Block 873074 873161 + ExpressionStatement 873076 873146 + BinaryExpression 873076 873145 + PropertyAccessExpression 873076 873107 + Identifier 873076 873100 + Identifier 873101 873107 + EqualsToken 873107 873109 + PropertyAccessExpression 873109 873145 + PropertyAccessExpression 873109 873138 + Identifier 873109 873131 + Identifier 873132 873138 + Identifier 873139 873145 + ExpressionStatement 873172 873219 + BinaryExpression 873172 873218 + PropertyAccessExpression 873172 873203 + Identifier 873172 873190 + Identifier 873191 873203 + EqualsToken 873203 873205 + Identifier 873205 873218 + ExpressionStatement 873219 873262 + BinaryExpression 873219 873261 + PropertyAccessExpression 873219 873250 + PropertyAccessExpression 873219 873241 + Identifier 873219 873235 + Identifier 873236 873241 + Identifier 873242 873250 + EqualsToken 873250 873252 + Identifier 873252 873261 + IfStatement 873262 873977 + BinaryExpression 873276 873296 + PropertyAccessExpression 873276 873292 + Identifier 873276 873285 + Identifier 873286 873292 + GreaterThanToken 873292 873294 + NumericLiteral 873294 873296 + Block 873297 873691 + ExpressionStatement 873299 873495 + BinaryExpression 873299 873494 + PropertyAccessExpression 873299 873467 + PropertyAccessExpression 873299 873456 + Identifier 873299 873450 + Identifier 873451 873456 + Identifier 873457 873467 + BarEqualsToken 873467 873470 + PropertyAccessExpression 873470 873494 + Identifier 873470 873481 + Identifier 873482 873494 + ExpressionStatement 873495 873554 + BinaryExpression 873495 873553 + PropertyAccessExpression 873495 873536 + PropertyAccessExpression 873495 873521 + Identifier 873495 873515 + Identifier 873516 873521 + Identifier 873522 873536 + EqualsToken 873536 873538 + Identifier 873538 873553 + ExpressionStatement 873554 873614 + BinaryExpression 873554 873613 + PropertyAccessExpression 873554 873601 + PropertyAccessExpression 873554 873580 + Identifier 873554 873574 + Identifier 873575 873580 + Identifier 873581 873601 + EqualsToken 873601 873603 + Identifier 873603 873613 + ExpressionStatement 873614 873680 + BinaryExpression 873614 873679 + PropertyAccessExpression 873614 873666 + PropertyAccessExpression 873614 873640 + Identifier 873614 873634 + Identifier 873635 873640 + Identifier 873641 873666 + EqualsToken 873666 873668 + Identifier 873668 873679 + Block 873705 873977 + ExpressionStatement 873707 873808 + BinaryExpression 873707 873807 + PropertyAccessExpression 873707 873738 + PropertyAccessExpression 873707 873733 + Identifier 873707 873727 + Identifier 873728 873733 + Identifier 873734 873738 + EqualsToken 873738 873740 + ConditionalExpression 873740 873807 + Identifier 873740 873748 + QuestionToken 873748 873750 + CallExpression 873750 873774 + Identifier 873750 873763 + Identifier 873764 873773 + ColonToken 873774 873776 + CallExpression 873776 873807 + Identifier 873776 873796 + Identifier 873797 873806 + IfStatement 873808 873966 + Identifier 873826 873836 + Block 873837 873966 + ExpressionStatement 873839 873951 + BinaryExpression 873839 873950 + PropertyAccessExpression 873839 873879 + PropertyAccessExpression 873839 873869 + Identifier 873839 873863 + Identifier 873864 873869 + Identifier 873870 873879 + EqualsToken 873879 873881 + ConditionalExpression 873881 873950 + Identifier 873881 873889 + QuestionToken 873889 873891 + CallExpression 873891 873916 + Identifier 873891 873904 + Identifier 873905 873915 + ColonToken 873916 873918 + CallExpression 873918 873950 + Identifier 873918 873938 + Identifier 873939 873949 + ReturnStatement 873977 874001 + Identifier 873993 874000 + FunctionDeclaration 874008 875781 + Identifier 874521 874552 + Parameter 874553 874582 + Identifier 874553 874557 + TypeReference 874558 874582 + Identifier 874558 874582 + Parameter 874583 874598 + Identifier 874583 874588 + TypeReference 874589 874598 + Identifier 874589 874598 + Parameter 874599 874643 + Identifier 874599 874633 + QuestionToken 874633 874634 + BooleanKeyword 874635 874643 + UnionType 874645 874664 + TypeReference 874645 874652 + Identifier 874645 874652 + UndefinedKeyword 874654 874664 + Block 874664 875781 + VariableStatement 874666 874851 + VariableDeclarationList 874666 874850 + VariableDeclaration 874679 874850 + Identifier 874679 874688 + ConditionalExpression 874690 874850 + Identifier 874690 874724 + QuestionToken 874724 874726 + CallExpression 874726 874805 + PropertyAccessExpression 874726 874799 + PropertyAccessExpression 874726 874794 + Identifier 874726 874744 + Identifier 874745 874794 + QuestionDotToken 874794 874796 + Identifier 874796 874799 + Identifier 874800 874804 + ColonToken 874805 874807 + CallExpression 874807 874850 + PropertyAccessExpression 874807 874844 + PropertyAccessExpression 874807 874839 + Identifier 874807 874825 + Identifier 874826 874839 + QuestionDotToken 874839 874841 + Identifier 874841 874844 + Identifier 874845 874849 + IfStatement 874851 875748 + PrefixUnaryExpression 874865 874874 + Identifier 874866 874874 + Block 874875 875748 + ExpressionStatement 874877 874983 + BinaryExpression 874877 874982 + Identifier 874877 874899 + EqualsToken 874899 874901 + CallExpression 874901 874982 + Identifier 874901 874935 + Identifier 874936 874940 + Identifier 874941 874946 + Identifier 874947 874981 + IfStatement 874983 875737 + Identifier 875001 875009 + Block 875010 875737 + VariableStatement 875012 875251 + VariableDeclarationList 875012 875250 + VariableDeclaration 875035 875250 + Identifier 875035 875046 + ConditionalExpression 875048 875250 + Identifier 875048 875082 + QuestionToken 875082 875084 + BinaryExpression 875084 875184 + PropertyAccessExpression 875084 875160 + Identifier 875084 875110 + Identifier 875111 875160 + BarBarEqualsToken 875160 875164 + CallExpression 875164 875184 + Identifier 875164 875182 + ColonToken 875184 875186 + BinaryExpression 875186 875250 + PropertyAccessExpression 875186 875226 + Identifier 875186 875212 + Identifier 875213 875226 + BarBarEqualsToken 875226 875230 + CallExpression 875230 875250 + Identifier 875230 875248 + ExpressionStatement 875251 875300 + CallExpression 875251 875299 + PropertyAccessExpression 875251 875283 + Identifier 875251 875279 + Identifier 875280 875283 + Identifier 875284 875288 + Identifier 875289 875298 + IfStatement 875300 875722 + BinaryExpression 875445 875563 + BinaryExpression 875445 875529 + Identifier 875445 875478 + AmpersandAmpersandToken 875478 875481 + PrefixUnaryExpression 875481 875529 + ParenthesizedExpression 875483 875529 + BinaryExpression 875484 875528 + CallExpression 875484 875507 + Identifier 875484 875497 + Identifier 875498 875506 + AmpersandToken 875507 875509 + PropertyAccessExpression 875509 875528 + Identifier 875509 875520 + Identifier 875521 875528 + AmpersandAmpersandToken 875529 875532 + PrefixUnaryExpression 875532 875563 + CallExpression 875534 875563 + PropertyAccessExpression 875534 875557 + PropertyAccessExpression 875534 875552 + Identifier 875534 875538 + Identifier 875539 875552 + QuestionDotToken 875552 875554 + Identifier 875554 875557 + Identifier 875558 875562 + Block 875564 875722 + VariableStatement 875566 875650 + VariableDeclarationList 875566 875649 + VariableDeclaration 875593 875649 + Identifier 875593 875604 + BinaryExpression 875606 875649 + PropertyAccessExpression 875606 875625 + Identifier 875606 875611 + Identifier 875612 875625 + BarBarEqualsToken 875625 875629 + CallExpression 875629 875649 + Identifier 875629 875647 + ExpressionStatement 875650 875703 + CallExpression 875650 875702 + PropertyAccessExpression 875650 875686 + Identifier 875650 875682 + Identifier 875683 875686 + Identifier 875687 875691 + Identifier 875692 875701 + ReturnStatement 875748 875774 + Identifier 875764 875773 + FunctionDeclaration 875781 876572 + Identifier 875797 875828 + Parameter 875829 875854 + Identifier 875829 875836 + TypeReference 875837 875854 + Identifier 875837 875846 + TypeReference 875847 875853 + Identifier 875847 875853 + Block 875855 876572 + VariableStatement 875857 875913 + VariableDeclarationList 875857 875912 + VariableDeclaration 875870 875912 + Identifier 875870 875889 + UnionType 875890 875912 + TypeReference 875890 875900 + Identifier 875890 875894 + TypeReference 875895 875899 + Identifier 875895 875899 + UndefinedKeyword 875902 875912 + ForOfStatement 875913 876529 + VariableDeclarationList 875928 875940 + VariableDeclaration 875933 875940 + Identifier 875933 875940 + Identifier 875943 875951 + Block 875952 876529 + IfStatement 875954 876045 + PrefixUnaryExpression 875972 875992 + PropertyAccessExpression 875973 875992 + Identifier 875973 875979 + Identifier 875980 875992 + Block 875993 876045 + ReturnStatement 875995 876030 + Identifier 876019 876029 + IfStatement 876045 876195 + PrefixUnaryExpression 876063 876082 + Identifier 876064 876082 + Block 876083 876195 + ExpressionStatement 876085 876153 + BinaryExpression 876085 876152 + Identifier 876085 876121 + EqualsToken 876121 876123 + NewExpression 876123 876152 + Identifier 876127 876131 + PropertyAccessExpression 876132 876151 + Identifier 876132 876138 + Identifier 876139 876151 + ContinueStatement 876153 876180 + ExpressionStatement 876195 876418 + CallExpression 876195 876417 + PropertyAccessExpression 876195 876235 + Identifier 876195 876227 + Identifier 876228 876235 + ArrowFunction 876236 876416 + Parameter 876236 876247 + Identifier 876236 876247 + EqualsGreaterThanToken 876247 876250 + Block 876250 876416 + IfStatement 876252 876401 + PrefixUnaryExpression 876274 876317 + CallExpression 876275 876317 + Identifier 876275 876283 + PropertyAccessExpression 876284 876303 + Identifier 876284 876290 + Identifier 876291 876303 + Identifier 876304 876316 + Block 876318 876401 + ExpressionStatement 876320 876382 + CallExpression 876320 876381 + PropertyAccessExpression 876320 876368 + NonNullExpression 876320 876361 + Identifier 876320 876360 + Identifier 876362 876368 + Identifier 876369 876380 + IfStatement 876418 876518 + BinaryExpression 876436 876465 + PropertyAccessExpression 876436 876459 + Identifier 876436 876454 + Identifier 876455 876459 + EqualsEqualsEqualsToken 876459 876463 + NumericLiteral 876463 876465 + Block 876466 876518 + ReturnStatement 876468 876503 + Identifier 876492 876502 + ReturnStatement 876529 876565 + Identifier 876545 876564 + FunctionDeclaration 876572 877023 + Identifier 876588 876625 + Parameter 876626 876655 + Identifier 876626 876630 + TypeReference 876631 876655 + Identifier 876631 876655 + Parameter 876656 876671 + Identifier 876656 876661 + TypeReference 876662 876671 + Identifier 876662 876671 + Parameter 876672 876716 + Identifier 876672 876706 + QuestionToken 876706 876707 + BooleanKeyword 876708 876716 + UnionType 876718 876737 + TypeReference 876718 876725 + Identifier 876718 876725 + UndefinedKeyword 876727 876737 + Block 876737 877023 + VariableStatement 876739 876844 + VariableDeclarationList 876739 876843 + VariableDeclaration 876754 876843 + Identifier 876754 876763 + CallExpression 876765 876843 + Identifier 876765 876796 + Identifier 876797 876801 + Identifier 876802 876807 + Identifier 876808 876842 + ReturnStatement 876844 877016 + ConditionalExpression 876928 877015 + BinaryExpression 876928 876992 + Identifier 876928 876937 + AmpersandAmpersandToken 876937 876940 + PrefixUnaryExpression 876940 876992 + ParenthesizedExpression 876942 876992 + BinaryExpression 876943 876991 + CallExpression 876943 876966 + Identifier 876943 876956 + Identifier 876957 876965 + AmpersandToken 876966 876968 + PropertyAccessExpression 876968 876991 + Identifier 876968 876979 + Identifier 876980 876991 + QuestionToken 876992 876994 + Identifier 876994 877003 + ColonToken 877003 877005 + Identifier 877005 877015 + FunctionDeclaration 877023 878432 + Identifier 877536 877551 + Parameter 877552 877562 + Identifier 877552 877556 + TypeReference 877557 877562 + Identifier 877557 877562 + TypeReference 877564 877569 + Identifier 877564 877569 + Block 877569 878432 + IfStatement 877571 878403 + BinaryExpression 877585 877684 + BinaryExpression 877585 877613 + PropertyAccessExpression 877585 877595 + Identifier 877585 877589 + Identifier 877590 877595 + AmpersandToken 877595 877597 + PropertyAccessExpression 877597 877613 + Identifier 877597 877607 + Identifier 877608 877613 + AmpersandAmpersandToken 877613 877616 + BinaryExpression 877616 877684 + PropertyAccessExpression 877616 877648 + ParenthesizedExpression 877616 877636 + AsExpression 877618 877635 + Identifier 877618 877622 + TypeReference 877625 877635 + Identifier 877625 877635 + Identifier 877637 877648 + AmpersandToken 877648 877650 + PropertyAccessExpression 877650 877684 + Identifier 877650 877662 + Identifier 877663 877684 + Block 877685 877845 + ReturnStatement 877687 877834 + BinaryExpression 877707 877833 + PropertyAccessExpression 877707 877747 + ParenthesizedExpression 877707 877727 + AsExpression 877709 877726 + Identifier 877709 877713 + TypeReference 877716 877726 + Identifier 877716 877726 + Identifier 877728 877747 + BarBarToken 877747 877750 + ParenthesizedExpression 877750 877833 + BinaryExpression 877752 877832 + PropertyAccessExpression 877752 877791 + ParenthesizedExpression 877752 877771 + AsExpression 877753 877770 + Identifier 877753 877757 + TypeReference 877760 877770 + Identifier 877760 877770 + Identifier 877772 877791 + EqualsToken 877791 877793 + CallExpression 877793 877832 + Identifier 877793 877813 + AsExpression 877814 877831 + Identifier 877814 877818 + TypeReference 877821 877831 + Identifier 877821 877831 + IfStatement 877859 878403 + BinaryExpression 877864 877899 + PropertyAccessExpression 877864 877874 + Identifier 877864 877868 + Identifier 877869 877874 + AmpersandToken 877874 877876 + PropertyAccessExpression 877876 877899 + Identifier 877876 877886 + Identifier 877887 877899 + Block 877900 878403 + IfStatement 877902 878279 + PrefixUnaryExpression 877920 878003 + ParenthesizedExpression 877921 878003 + BinaryExpression 877922 878002 + PropertyAccessExpression 877922 877960 + ParenthesizedExpression 877922 877948 + AsExpression 877923 877947 + Identifier 877923 877927 + TypeReference 877930 877947 + Identifier 877930 877947 + Identifier 877949 877960 + AmpersandToken 877960 877962 + PropertyAccessExpression 877962 878002 + Identifier 877962 877974 + Identifier 877975 878002 + Block 878004 878279 + ExpressionStatement 878006 878264 + BinaryExpression 878006 878263 + PropertyAccessExpression 878006 878062 + ParenthesizedExpression 878006 878050 + AsExpression 878025 878049 + Identifier 878025 878029 + TypeReference 878032 878049 + Identifier 878032 878049 + Identifier 878051 878062 + BarEqualsToken 878062 878065 + BinaryExpression 878065 878263 + PropertyAccessExpression 878065 878105 + Identifier 878065 878077 + Identifier 878078 878105 + BarToken 878105 878107 + ParenthesizedExpression 878107 878263 + ConditionalExpression 878130 878262 + CallExpression 878130 878224 + Identifier 878130 878134 + CallExpression 878135 878199 + Identifier 878135 878173 + AsExpression 878174 878198 + Identifier 878174 878178 + TypeReference 878181 878198 + Identifier 878181 878198 + Identifier 878200 878223 + QuestionToken 878224 878226 + PropertyAccessExpression 878226 878258 + Identifier 878226 878238 + Identifier 878239 878258 + ColonToken 878258 878260 + NumericLiteral 878260 878262 + ReturnStatement 878279 878392 + ConditionalExpression 878299 878391 + BinaryExpression 878299 878372 + PropertyAccessExpression 878299 878338 + ParenthesizedExpression 878299 878326 + AsExpression 878301 878325 + Identifier 878301 878305 + TypeReference 878308 878325 + Identifier 878308 878325 + Identifier 878327 878338 + AmpersandToken 878338 878340 + PropertyAccessExpression 878340 878372 + Identifier 878340 878352 + Identifier 878353 878372 + QuestionToken 878372 878374 + Identifier 878374 878384 + ColonToken 878384 878386 + Identifier 878386 878391 + ReturnStatement 878403 878425 + Identifier 878419 878424 + FunctionDeclaration 878432 878866 + Identifier 878448 878468 + Parameter 878469 878489 + Identifier 878469 878478 + TypeReference 878479 878489 + Identifier 878479 878489 + Block 878490 878866 + VariableStatement 878492 878564 + VariableDeclarationList 878492 878563 + VariableDeclaration 878507 878563 + Identifier 878507 878520 + CallExpression 878522 878563 + Identifier 878522 878530 + PropertyAccessExpression 878531 878546 + Identifier 878531 878540 + Identifier 878541 878546 + Identifier 878547 878562 + IfStatement 878564 878655 + BinaryExpression 878578 878610 + Identifier 878578 878590 + EqualsEqualsEqualsToken 878590 878594 + PropertyAccessExpression 878594 878610 + Identifier 878594 878604 + Identifier 878605 878610 + Block 878611 878655 + ReturnStatement 878613 878644 + Identifier 878633 878643 + VariableStatement 878655 878708 + VariableDeclarationList 878655 878707 + VariableDeclaration 878670 878707 + Identifier 878670 878678 + CallExpression 878680 878707 + Identifier 878680 878693 + Identifier 878694 878706 + IfStatement 878708 878834 + BinaryExpression 878722 878753 + PropertyAccessExpression 878722 878735 + Identifier 878722 878729 + Identifier 878730 878735 + AmpersandToken 878735 878737 + PropertyAccessExpression 878737 878753 + Identifier 878737 878747 + Identifier 878748 878753 + Block 878754 878834 + ExpressionStatement 878756 878823 + BinaryExpression 878756 878822 + PropertyAccessExpression 878756 878812 + ParenthesizedExpression 878756 878792 + AsExpression 878771 878791 + Identifier 878771 878778 + TypeReference 878781 878791 + Identifier 878781 878791 + Identifier 878793 878812 + EqualsToken 878812 878814 + Identifier 878814 878822 + ReturnStatement 878834 878859 + Identifier 878850 878858 + FunctionDeclaration 878866 879017 + Identifier 878882 878905 + Parameter 878906 878918 + Identifier 878906 878910 + TypeReference 878911 878918 + Identifier 878911 878918 + Block 878919 879017 + ReturnStatement 878921 879010 + BinaryExpression 878937 879009 + CallExpression 878937 878971 + Identifier 878937 878965 + Identifier 878966 878970 + BarBarToken 878971 878974 + CallExpression 878974 879009 + Identifier 878974 879003 + Identifier 879004 879008 + FunctionDeclaration 879017 879501 + Identifier 879033 879061 + Parameter 879062 879074 + Identifier 879062 879066 + TypeReference 879067 879074 + Identifier 879067 879074 + Block 879075 879501 + ReturnStatement 879077 879494 + BinaryExpression 879270 879493 + BinaryExpression 879270 879427 + PrefixUnaryExpression 879270 879307 + ParenthesizedExpression 879272 879307 + BinaryExpression 879273 879306 + PropertyAccessExpression 879273 879283 + Identifier 879273 879277 + Identifier 879278 879283 + AmpersandToken 879283 879285 + PropertyAccessExpression 879285 879306 + Identifier 879285 879297 + Identifier 879298 879306 + AmpersandAmpersandToken 879307 879310 + BinaryExpression 879310 879427 + ParenthesizedExpression 879310 879399 + BinaryExpression 879325 879398 + CallExpression 879325 879344 + Identifier 879325 879338 + Identifier 879339 879343 + AmpersandToken 879344 879346 + ParenthesizedExpression 879346 879398 + BinaryExpression 879348 879397 + PropertyAccessExpression 879348 879371 + Identifier 879348 879358 + Identifier 879359 879371 + BarToken 879371 879373 + PropertyAccessExpression 879373 879397 + Identifier 879373 879384 + Identifier 879385 879397 + EqualsEqualsEqualsToken 879399 879403 + PropertyAccessExpression 879403 879427 + Identifier 879403 879414 + Identifier 879415 879427 + AmpersandAmpersandToken 879427 879430 + PrefixUnaryExpression 879430 879493 + PrefixUnaryExpression 879445 879493 + ParenthesizedExpression 879446 879493 + BinaryExpression 879447 879492 + PropertyAccessExpression 879447 879474 + CallExpression 879447 879468 + Identifier 879447 879462 + Identifier 879463 879467 + Identifier 879469 879474 + AmpersandToken 879474 879476 + PropertyAccessExpression 879476 879492 + Identifier 879476 879486 + Identifier 879487 879492 + FunctionDeclaration 879501 879776 + Identifier 879517 879546 + Parameter 879547 879559 + Identifier 879547 879551 + TypeReference 879552 879559 + Identifier 879552 879559 + Block 879560 879776 + ReturnStatement 879562 879769 + BinaryExpression 879689 879768 + PrefixUnaryExpression 879689 879712 + PropertyAccessExpression 879691 879712 + Identifier 879691 879695 + Identifier 879696 879712 + AmpersandAmpersandToken 879712 879715 + PrefixUnaryExpression 879715 879768 + PrefixUnaryExpression 879717 879768 + ParenthesizedExpression 879718 879768 + BinaryExpression 879719 879767 + CallExpression 879719 879738 + Identifier 879719 879732 + Identifier 879733 879737 + AmpersandToken 879738 879740 + PropertyAccessExpression 879740 879767 + Identifier 879740 879751 + Identifier 879752 879767 + FunctionDeclaration 879776 880685 + Identifier 880347 880370 + Parameter 880371 880381 + Identifier 880371 880375 + TypeReference 880376 880381 + Identifier 880376 880381 + BooleanKeyword 880383 880391 + Block 880391 880685 + ReturnStatement 880393 880678 + PrefixUnaryExpression 880409 880677 + PrefixUnaryExpression 880411 880677 + ParenthesizedExpression 880412 880677 + BinaryExpression 880413 880676 + BinaryExpression 880413 880571 + BinaryExpression 880413 880512 + BinaryExpression 880413 880441 + PropertyAccessExpression 880413 880423 + Identifier 880413 880417 + Identifier 880418 880423 + AmpersandToken 880423 880425 + PropertyAccessExpression 880425 880441 + Identifier 880425 880435 + Identifier 880436 880441 + AmpersandAmpersandToken 880441 880444 + BinaryExpression 880444 880512 + PropertyAccessExpression 880444 880476 + ParenthesizedExpression 880444 880464 + AsExpression 880446 880463 + Identifier 880446 880450 + TypeReference 880453 880463 + Identifier 880453 880463 + Identifier 880465 880476 + AmpersandToken 880476 880478 + PropertyAccessExpression 880478 880512 + Identifier 880478 880490 + Identifier 880491 880512 + AmpersandAmpersandToken 880512 880515 + CallExpression 880515 880571 + Identifier 880515 880520 + PropertyAccessExpression 880521 880546 + ParenthesizedExpression 880521 880540 + AsExpression 880522 880539 + Identifier 880522 880526 + TypeReference 880529 880539 + Identifier 880529 880539 + Identifier 880541 880546 + Identifier 880547 880570 + BarBarToken 880571 880574 + BinaryExpression 880574 880676 + BinaryExpression 880574 880623 + PropertyAccessExpression 880574 880598 + Identifier 880574 880592 + Identifier 880593 880598 + AmpersandToken 880598 880600 + PropertyAccessExpression 880600 880623 + Identifier 880600 880610 + Identifier 880611 880623 + AmpersandAmpersandToken 880623 880626 + CallExpression 880626 880676 + Identifier 880626 880650 + AsExpression 880651 880675 + Identifier 880651 880655 + TypeReference 880658 880675 + Identifier 880658 880675 + FunctionDeclaration 880685 880978 + Identifier 880701 880725 + Parameter 880726 880748 + Identifier 880726 880730 + TypeReference 880731 880748 + Identifier 880731 880748 + Block 880749 880978 + VariableStatement 880751 880908 + VariableDeclarationList 880751 880907 + VariableDeclaration 880766 880907 + Identifier 880766 880779 + BinaryExpression 880781 880907 + PropertyAccessExpression 880781 880819 + Identifier 880781 880786 + Identifier 880787 880819 + BarBarToken 880819 880822 + ParenthesizedExpression 880822 880907 + BinaryExpression 880824 880906 + PropertyAccessExpression 880824 880861 + Identifier 880824 880828 + Identifier 880829 880861 + EqualsToken 880861 880863 + CallExpression 880863 880906 + Identifier 880863 880879 + Identifier 880880 880884 + Identifier 880885 880905 + ReturnStatement 880908 880971 + BinaryExpression 880924 880970 + CallExpression 880924 880953 + Identifier 880924 880939 + Identifier 880940 880952 + ExclamationEqualsEqualsToken 880953 880957 + Identifier 880957 880970 + FunctionDeclaration 880978 882192 + Identifier 880994 881021 + Parameter 881022 881067 + Identifier 881022 881031 + UnionType 881032 881067 + TypeReference 881032 881055 + Identifier 881032 881055 + UndefinedKeyword 881057 881067 + Parameter 881068 881079 + Identifier 881068 881073 + TypeReference 881074 881079 + Identifier 881074 881079 + Block 881080 882192 + IfStatement 881082 882158 + BinaryExpression 881096 881189 + BinaryExpression 881096 881131 + PropertyAccessExpression 881096 881106 + Identifier 881096 881100 + Identifier 881101 881106 + AmpersandToken 881106 881108 + PropertyAccessExpression 881108 881131 + Identifier 881108 881118 + Identifier 881119 881131 + AmpersandAmpersandToken 881131 881134 + BinaryExpression 881134 881189 + CallExpression 881134 881155 + Identifier 881134 881149 + Identifier 881150 881154 + AmpersandToken 881155 881157 + PropertyAccessExpression 881157 881189 + Identifier 881157 881169 + Identifier 881170 881189 + Block 881190 882158 + VariableStatement 881192 881324 + VariableDeclarationList 881192 881323 + VariableDeclaration 881211 881323 + Identifier 881211 881221 + CallExpression 881223 881323 + Identifier 881223 881228 + CallExpression 881229 881293 + Identifier 881229 881267 + AsExpression 881268 881292 + Identifier 881268 881272 + TypeReference 881275 881292 + Identifier 881275 881292 + Identifier 881294 881322 + IfStatement 881324 881660 + Identifier 881342 881351 + Block 881352 881660 + ReturnStatement 881354 881645 + CallExpression 881378 881644 + Identifier 881378 881402 + Identifier 881403 881412 + PropertyAccessExpression 881413 881527 + Identifier 881413 881425 + Identifier 881426 881527 + CallExpression 881528 881616 + Identifier 881528 881541 + Identifier 881542 881546 + Identifier 881547 881582 + PropertyAccessExpression 881583 881615 + Identifier 881583 881599 + Identifier 881600 881615 + CallExpression 881617 881643 + Identifier 881617 881632 + Identifier 881633 881642 + VariableStatement 881660 881795 + VariableDeclarationList 881660 881794 + VariableDeclaration 881679 881794 + Identifier 881679 881691 + CallExpression 881693 881794 + Identifier 881693 881698 + CallExpression 881699 881763 + Identifier 881699 881737 + AsExpression 881738 881762 + Identifier 881738 881742 + TypeReference 881745 881762 + Identifier 881745 881762 + Identifier 881764 881793 + IfStatement 881795 882147 + Identifier 881813 881824 + Block 881825 882147 + ReturnStatement 881827 882132 + CallExpression 881851 882131 + Identifier 881851 881875 + Identifier 881876 881885 + PropertyAccessExpression 881886 882012 + Identifier 881886 881898 + Identifier 881899 882012 + CallExpression 882013 882101 + Identifier 882013 882026 + Identifier 882027 882031 + Identifier 882032 882067 + PropertyAccessExpression 882068 882100 + Identifier 882068 882084 + Identifier 882085 882100 + CallExpression 882102 882130 + Identifier 882102 882117 + Identifier 882118 882129 + ReturnStatement 882158 882185 + Identifier 882174 882184 + FunctionDeclaration 882192 885020 + Identifier 882641 882659 + Parameter 882660 882670 + Identifier 882660 882664 + TypeReference 882665 882670 + Identifier 882665 882670 + Parameter 882671 882686 + Identifier 882671 882676 + TypeReference 882677 882686 + Identifier 882677 882686 + Parameter 882687 882731 + Identifier 882687 882721 + QuestionToken 882721 882722 + BooleanKeyword 882723 882731 + Parameter 882732 882765 + Identifier 882732 882755 + QuestionToken 882755 882756 + BooleanKeyword 882757 882765 + UnionType 882767 882786 + TypeReference 882767 882774 + Identifier 882767 882774 + UndefinedKeyword 882776 882786 + Block 882786 885020 + ExpressionStatement 882788 882834 + BinaryExpression 882788 882833 + Identifier 882788 882802 + EqualsToken 882802 882804 + CallExpression 882804 882833 + Identifier 882804 882827 + Identifier 882828 882832 + IfStatement 882834 884281 + BinaryExpression 882848 882877 + PropertyAccessExpression 882848 882858 + Identifier 882848 882852 + Identifier 882853 882858 + AmpersandToken 882858 882860 + PropertyAccessExpression 882860 882877 + Identifier 882860 882870 + Identifier 882871 882877 + Block 882878 884281 + VariableStatement 882880 882960 + VariableDeclarationList 882880 882959 + VariableDeclaration 882899 882959 + Identifier 882899 882908 + CallExpression 882910 882959 + Identifier 882910 882939 + AsExpression 882940 882958 + Identifier 882940 882944 + TypeReference 882947 882958 + Identifier 882947 882958 + VariableStatement 882960 883016 + VariableDeclarationList 882960 883015 + VariableDeclaration 882979 883015 + Identifier 882979 882986 + CallExpression 882988 883015 + PropertyAccessExpression 882988 883009 + PropertyAccessExpression 882988 883005 + Identifier 882988 882997 + Identifier 882998 883005 + Identifier 883006 883009 + Identifier 883010 883014 + IfStatement 883016 883521 + BinaryExpression 883034 883179 + BinaryExpression 883034 883115 + BinaryExpression 883034 883067 + Identifier 883034 883040 + AmpersandAmpersandToken 883040 883043 + PrefixUnaryExpression 883043 883067 + Identifier 883045 883067 + AmpersandAmpersandToken 883067 883070 + BinaryExpression 883070 883115 + PropertyAccessExpression 883070 883089 + PropertyAccessExpression 883070 883082 + Identifier 883070 883075 + Identifier 883076 883082 + QuestionDotToken 883082 883084 + Identifier 883084 883089 + AmpersandToken 883089 883091 + PropertyAccessExpression 883091 883115 + Identifier 883091 883103 + Identifier 883104 883115 + AmpersandAmpersandToken 883115 883118 + CallExpression 883118 883179 + PropertyAccessExpression 883118 883173 + PropertyAccessExpression 883118 883168 + CallExpression 883118 883146 + Identifier 883118 883133 + PropertyAccessExpression 883134 883145 + Identifier 883134 883138 + Identifier 883139 883145 + Identifier 883147 883168 + QuestionDotToken 883168 883170 + Identifier 883170 883173 + Identifier 883174 883178 + Block 883180 883521 + ReturnStatement 883182 883506 + Identifier 883495 883505 + IfStatement 883521 883644 + BinaryExpression 883539 883594 + Identifier 883539 883545 + AmpersandAmpersandToken 883545 883548 + CallExpression 883548 883594 + Identifier 883548 883562 + Identifier 883563 883569 + Identifier 883570 883593 + Block 883595 883644 + ReturnStatement 883597 883629 + Identifier 883621 883628 + IfStatement 883644 883714 + Identifier 883662 883695 + ReturnStatement 883696 883714 + Identifier 883703 883713 + VariableStatement 883714 883990 + VariableDeclarationList 883714 883989 + VariableDeclaration 883733 883989 + Identifier 883733 883746 + ConditionalExpression 883748 883989 + BinaryExpression 883748 883777 + Identifier 883748 883757 + EqualsEqualsEqualsToken 883757 883761 + Identifier 883761 883777 + QuestionToken 883777 883779 + Identifier 883779 883798 + ColonToken 883798 883800 + ConditionalExpression 883800 883989 + PropertyAccessExpression 883800 883848 + PropertyAccessExpression 883800 883841 + Identifier 883800 883826 + Identifier 883827 883841 + Identifier 883842 883848 + QuestionToken 883848 883850 + Identifier 883850 883877 + ColonToken 883877 883879 + ConditionalExpression 883879 883989 + PropertyAccessExpression 883879 883932 + PropertyAccessExpression 883879 883925 + Identifier 883879 883905 + Identifier 883906 883925 + Identifier 883926 883932 + QuestionToken 883932 883934 + Identifier 883934 883960 + ColonToken 883960 883962 + Identifier 883962 883989 + IfStatement 883990 884201 + Identifier 884008 884020 + Block 884021 884201 + VariableStatement 884023 884100 + VariableDeclarationList 884023 884099 + VariableDeclaration 884046 884099 + Identifier 884046 884053 + CallExpression 884055 884099 + Identifier 884055 884079 + Identifier 884080 884092 + Identifier 884093 884098 + IfStatement 884100 884186 + Identifier 884122 884128 + Block 884129 884186 + ReturnStatement 884131 884167 + Identifier 884159 884166 + ReturnStatement 884201 884270 + CallExpression 884221 884269 + Identifier 884221 884245 + Identifier 884246 884262 + Identifier 884263 884268 + IfStatement 884281 884798 + BinaryExpression 884295 884330 + PropertyAccessExpression 884295 884305 + Identifier 884295 884299 + Identifier 884300 884305 + AmpersandToken 884305 884307 + PropertyAccessExpression 884307 884330 + Identifier 884307 884317 + Identifier 884318 884330 + Block 884331 884798 + VariableStatement 884333 884480 + VariableDeclarationList 884333 884479 + VariableDeclaration 884352 884479 + Identifier 884352 884357 + CallExpression 884359 884479 + Identifier 884359 884396 + AsExpression 884397 884428 + Identifier 884397 884401 + TypeReference 884404 884428 + Identifier 884404 884428 + Identifier 884429 884434 + TrueKeyword 884435 884478 + IfStatement 884480 884550 + Identifier 884498 884502 + Block 884503 884550 + ReturnStatement 884505 884535 + Identifier 884529 884534 + IfStatement 884550 884756 + PrefixUnaryExpression 884568 884602 + Identifier 884569 884602 + Block 884603 884756 + ReturnStatement 884605 884741 + CallExpression 884629 884740 + Identifier 884629 884666 + AsExpression 884667 884698 + Identifier 884667 884671 + TypeReference 884674 884698 + Identifier 884674 884698 + Identifier 884699 884704 + Identifier 884705 884739 + ReturnStatement 884756 884787 + Identifier 884776 884786 + IfStatement 884798 884986 + BinaryExpression 884812 884840 + PropertyAccessExpression 884812 884822 + Identifier 884812 884816 + Identifier 884817 884822 + AmpersandToken 884822 884824 + PropertyAccessExpression 884824 884840 + Identifier 884824 884834 + Identifier 884835 884840 + Block 884841 884986 + ReturnStatement 884843 884975 + CallExpression 884863 884974 + Identifier 884863 884900 + AsExpression 884901 884932 + Identifier 884901 884905 + TypeReference 884908 884932 + Identifier 884908 884932 + Identifier 884933 884938 + Identifier 884939 884973 + ReturnStatement 884986 885013 + Identifier 885002 885012 + FunctionDeclaration 885020 885409 + Identifier 885036 885066 + Parameter 885067 885077 + Identifier 885067 885071 + TypeReference 885072 885077 + Identifier 885072 885077 + Parameter 885078 885098 + Identifier 885078 885083 + TypeReference 885084 885098 + Identifier 885084 885098 + TypeOperator 885100 885121 + ArrayType 885109 885121 + TypeReference 885109 885119 + Identifier 885109 885119 + Block 885121 885409 + IfStatement 885123 885374 + BinaryExpression 885137 885174 + PropertyAccessExpression 885137 885147 + Identifier 885137 885141 + Identifier 885142 885147 + AmpersandToken 885147 885149 + PropertyAccessExpression 885149 885174 + Identifier 885149 885159 + Identifier 885160 885174 + Block 885175 885374 + VariableStatement 885177 885257 + VariableDeclarationList 885177 885256 + VariableDeclaration 885196 885256 + Identifier 885196 885205 + CallExpression 885207 885256 + Identifier 885207 885236 + AsExpression 885237 885255 + Identifier 885237 885241 + TypeReference 885244 885255 + Identifier 885244 885255 + ReturnStatement 885257 885363 + ConditionalExpression 885277 885362 + BinaryExpression 885277 885305 + Identifier 885277 885282 + EqualsEqualsEqualsToken 885282 885286 + PropertyAccessExpression 885286 885305 + Identifier 885286 885300 + Identifier 885301 885305 + QuestionToken 885305 885307 + PropertyAccessExpression 885307 885331 + Identifier 885307 885316 + Identifier 885317 885331 + ColonToken 885331 885333 + PropertyAccessExpression 885333 885362 + Identifier 885333 885342 + Identifier 885343 885362 + ReturnStatement 885374 885402 + Identifier 885390 885401 + FunctionDeclaration 885409 887131 + Identifier 885642 885662 + Parameter 885663 885673 + Identifier 885663 885667 + TypeReference 885668 885673 + Identifier 885668 885673 + Parameter 885674 885694 + Identifier 885674 885679 + TypeReference 885680 885694 + Identifier 885680 885694 + TypeOperator 885696 885717 + ArrayType 885705 885717 + TypeReference 885705 885715 + Identifier 885705 885715 + Block 885717 887131 + VariableStatement 885719 885810 + VariableDeclarationList 885719 885809 + VariableDeclaration 885734 885809 + Identifier 885734 885741 + CallExpression 885743 885809 + Identifier 885743 885773 + CallExpression 885774 885802 + Identifier 885774 885796 + Identifier 885797 885801 + Identifier 885803 885808 + IfStatement 885810 887100 + BinaryExpression 885824 885902 + BinaryExpression 885824 885870 + BinaryExpression 885824 885851 + Identifier 885824 885828 + EqualsEqualsEqualsToken 885828 885832 + PropertyAccessExpression 885832 885851 + Identifier 885832 885846 + Identifier 885847 885851 + AmpersandAmpersandToken 885851 885854 + PrefixUnaryExpression 885854 885870 + CallExpression 885856 885870 + Identifier 885856 885862 + Identifier 885863 885869 + AmpersandAmpersandToken 885870 885873 + BinaryExpression 885873 885902 + PropertyAccessExpression 885873 885884 + Identifier 885873 885878 + Identifier 885879 885884 + AmpersandToken 885884 885886 + PropertyAccessExpression 885886 885902 + Identifier 885886 885896 + Identifier 885897 885902 + Block 885903 887100 + IfStatement 885905 886054 + PropertyAccessExpression 885923 885966 + ParenthesizedExpression 885923 885942 + AsExpression 885924 885941 + Identifier 885924 885928 + TypeReference 885931 885941 + Identifier 885931 885941 + Identifier 885943 885966 + Block 885967 886054 + ReturnStatement 885969 886039 + NonNullExpression 885993 886038 + PropertyAccessExpression 885993 886037 + ParenthesizedExpression 885993 886013 + AsExpression 885995 886012 + Identifier 885995 885999 + TypeReference 886002 886012 + Identifier 886002 886012 + Identifier 886014 886037 + VariableStatement 886054 886194 + VariableDeclarationList 886054 886193 + VariableDeclaration 886172 886193 + Identifier 886172 886183 + TypeReference 886184 886193 + Identifier 886184 886193 + IfStatement 886194 887022 + CallExpression 886212 886392 + Identifier 886212 886221 + Identifier 886222 886226 + ArrowFunction 886227 886391 + Parameter 886227 886229 + Identifier 886227 886229 + EqualsGreaterThanToken 886229 886232 + BinaryExpression 886232 886391 + BinaryExpression 886232 886292 + PrefixUnaryExpression 886232 886251 + PrefixUnaryExpression 886234 886251 + PropertyAccessExpression 886235 886251 + PropertyAccessExpression 886235 886243 + Identifier 886235 886236 + Identifier 886237 886243 + QuestionDotToken 886243 886245 + Identifier 886245 886251 + AmpersandAmpersandToken 886251 886254 + CallExpression 886254 886292 + Identifier 886254 886275 + PropertyAccessExpression 886276 886291 + PropertyAccessExpression 886276 886284 + Identifier 886276 886277 + Identifier 886278 886284 + Identifier 886285 886291 + AmpersandAmpersandToken 886292 886295 + ParenthesizedExpression 886295 886391 + ConditionalExpression 886297 886390 + PrefixUnaryExpression 886297 886308 + Identifier 886298 886308 + QuestionToken 886308 886310 + ParenthesizedExpression 886310 886352 + BinaryExpression 886312 886351 + BinaryExpression 886312 886345 + Identifier 886312 886322 + EqualsToken 886322 886324 + PropertyAccessExpression 886324 886345 + PropertyAccessExpression 886324 886333 + Identifier 886324 886326 + Identifier 886327 886333 + Identifier 886334 886345 + CommaToken 886345 886346 + TrueKeyword 886346 886351 + ColonToken 886352 886354 + BinaryExpression 886354 886390 + Identifier 886354 886365 + EqualsEqualsEqualsToken 886365 886369 + PropertyAccessExpression 886369 886390 + PropertyAccessExpression 886369 886378 + Identifier 886369 886371 + Identifier 886372 886378 + Identifier 886379 886390 + Block 886393 887022 + VariableStatement 886395 886737 + VariableDeclarationList 886395 886736 + VariableDeclaration 886556 886736 + Identifier 886556 886565 + CallExpression 886567 886736 + Identifier 886567 886575 + Identifier 886576 886580 + ArrowFunction 886581 886735 + Parameter 886581 886583 + Identifier 886581 886583 + EqualsGreaterThanToken 886583 886586 + CallExpression 886586 886735 + Identifier 886586 886600 + ElementAccessExpression 886601 886704 + NonNullExpression 886601 886701 + PropertyAccessExpression 886601 886700 + ParenthesizedExpression 886601 886685 + ConditionalExpression 886602 886684 + CallExpression 886602 886640 + Identifier 886602 886623 + PropertyAccessExpression 886624 886639 + PropertyAccessExpression 886624 886632 + Identifier 886624 886625 + Identifier 886626 886632 + Identifier 886633 886639 + QuestionToken 886640 886642 + Identifier 886642 886666 + ColonToken 886666 886668 + Identifier 886668 886684 + Identifier 886686 886700 + NumericLiteral 886702 886703 + NonNullExpression 886705 886734 + PropertyAccessExpression 886705 886733 + ParenthesizedExpression 886705 886726 + AsExpression 886707 886725 + Identifier 886707 886708 + TypeReference 886711 886725 + Identifier 886711 886725 + Identifier 886727 886733 + VariableStatement 886737 886860 + VariableDeclarationList 886737 886859 + VariableDeclaration 886760 886859 + Identifier 886760 886770 + CallExpression 886772 886859 + Identifier 886772 886788 + Identifier 886789 886797 + CallExpression 886798 886858 + Identifier 886798 886807 + Identifier 886808 886812 + ArrowFunction 886813 886857 + Parameter 886813 886815 + Identifier 886813 886815 + EqualsGreaterThanToken 886815 886818 + CallExpression 886818 886857 + Identifier 886818 886840 + PropertyAccessExpression 886841 886856 + PropertyAccessExpression 886841 886849 + Identifier 886841 886842 + Identifier 886843 886849 + Identifier 886850 886856 + ReturnStatement 886860 887007 + BinaryExpression 886884 887006 + PropertyAccessExpression 886884 886928 + ParenthesizedExpression 886884 886904 + AsExpression 886886 886903 + Identifier 886886 886890 + TypeReference 886893 886903 + Identifier 886893 886903 + Identifier 886905 886928 + EqualsToken 886928 886930 + CallExpression 886930 887006 + Identifier 886930 886950 + NonNullExpression 886951 886999 + CallExpression 886951 886998 + Identifier 886951 886974 + Identifier 886975 886984 + NonNullExpression 886985 886997 + Identifier 886985 886996 + Identifier 887000 887005 + ExpressionStatement 887022 887089 + BinaryExpression 887022 887088 + PropertyAccessExpression 887022 887079 + ParenthesizedExpression 887022 887055 + AsExpression 887037 887054 + Identifier 887037 887041 + TypeReference 887044 887054 + Identifier 887044 887054 + Identifier 887056 887079 + EqualsToken 887079 887081 + Identifier 887081 887088 + ReturnStatement 887100 887124 + Identifier 887116 887123 + FunctionDeclaration 887131 887475 + Identifier 887147 887168 + Parameter 887169 887195 + Identifier 887169 887175 + UnionType 887176 887195 + TypeReference 887176 887183 + Identifier 887176 887183 + UndefinedKeyword 887185 887195 + Block 887196 887475 + IfStatement 887198 887322 + BinaryExpression 887212 887281 + BinaryExpression 887212 887246 + PrefixUnaryExpression 887212 887219 + Identifier 887213 887219 + BarBarToken 887219 887222 + PrefixUnaryExpression 887222 887246 + PropertyAccessExpression 887224 887246 + Identifier 887224 887239 + Identifier 887240 887246 + BarBarToken 887246 887249 + PrefixUnaryExpression 887249 887281 + PropertyAccessExpression 887251 887281 + Identifier 887251 887274 + Identifier 887275 887281 + Block 887282 887322 + ReturnStatement 887284 887311 + FalseKeyword 887304 887310 + ReturnStatement 887322 887468 + BinaryExpression 887338 887467 + PrefixUnaryExpression 887338 887397 + PrefixUnaryExpression 887340 887397 + CallExpression 887341 887397 + Identifier 887341 887365 + Identifier 887366 887372 + PropertyAccessExpression 887373 887396 + Identifier 887373 887389 + Identifier 887390 887396 + BarBarToken 887397 887400 + PrefixUnaryExpression 887400 887467 + PrefixUnaryExpression 887402 887467 + CallExpression 887403 887467 + Identifier 887403 887427 + Identifier 887428 887434 + PropertyAccessExpression 887435 887466 + Identifier 887435 887459 + Identifier 887460 887466 + FunctionDeclaration 887475 887731 + Identifier 887491 887513 + Parameter 887514 887540 + Identifier 887514 887520 + UnionType 887521 887540 + TypeReference 887521 887528 + Identifier 887521 887528 + UndefinedKeyword 887530 887540 + Block 887541 887731 + IfStatement 887543 887640 + BinaryExpression 887557 887599 + PrefixUnaryExpression 887557 887564 + Identifier 887558 887564 + BarBarToken 887564 887567 + PrefixUnaryExpression 887567 887599 + PropertyAccessExpression 887569 887599 + Identifier 887569 887592 + Identifier 887593 887599 + Block 887600 887640 + ReturnStatement 887602 887629 + FalseKeyword 887622 887628 + ReturnStatement 887640 887724 + PrefixUnaryExpression 887656 887723 + PrefixUnaryExpression 887658 887723 + CallExpression 887659 887723 + Identifier 887659 887683 + Identifier 887684 887690 + PropertyAccessExpression 887691 887722 + Identifier 887691 887715 + Identifier 887716 887722 + FunctionDeclaration 887731 887887 + Identifier 887747 887761 + Parameter 887762 887794 + Identifier 887762 887772 + TypeOperator 887773 887794 + ArrayType 887782 887794 + TypeReference 887782 887792 + Identifier 887782 887792 + Parameter 887795 887809 + Identifier 887795 887803 + TypeReference 887804 887809 + Identifier 887804 887809 + Block 887810 887887 + ReturnStatement 887812 887880 + CallExpression 887828 887879 + Identifier 887828 887833 + Identifier 887834 887844 + ArrowFunction 887845 887878 + Parameter 887845 887850 + Identifier 887845 887850 + EqualsGreaterThanToken 887850 887853 + BinaryExpression 887853 887878 + PropertyAccessExpression 887853 887866 + Identifier 887853 887858 + Identifier 887859 887866 + EqualsEqualsEqualsToken 887866 887870 + Identifier 887870 887878 + FunctionDeclaration 887887 889407 + Identifier 887903 887927 + Parameter 887928 887960 + Identifier 887928 887938 + TypeOperator 887939 887960 + ArrayType 887948 887960 + TypeReference 887948 887958 + Identifier 887948 887958 + Parameter 887961 887975 + Identifier 887961 887969 + TypeReference 887970 887975 + Identifier 887970 887975 + Block 887976 889407 + VariableStatement 887978 888136 + VariableDeclarationList 887978 888135 + VariableDeclaration 888096 888135 + Identifier 888096 888112 + UnionType 888113 888135 + TypeReference 888113 888123 + Identifier 888113 888123 + UndefinedKeyword 888125 888135 + VariableStatement 888136 888188 + VariableDeclarationList 888136 888187 + VariableDeclaration 888149 888187 + Identifier 888149 888164 + UnionType 888165 888187 + TypeReference 888165 888175 + Identifier 888165 888175 + UndefinedKeyword 888177 888187 + VariableStatement 888188 888243 + VariableDeclarationList 888188 888242 + VariableDeclaration 888201 888242 + Identifier 888201 888217 + UnionType 888218 888242 + ArrayType 888218 888230 + TypeReference 888218 888228 + Identifier 888218 888228 + UndefinedKeyword 888232 888242 + ForOfStatement 888243 888722 + VariableDeclarationList 888258 888268 + VariableDeclaration 888263 888268 + Identifier 888263 888268 + Identifier 888271 888282 + Block 888283 888722 + IfStatement 888285 888711 + BinaryExpression 888303 888330 + PropertyAccessExpression 888303 888315 + Identifier 888303 888307 + Identifier 888308 888315 + EqualsEqualsEqualsToken 888315 888319 + Identifier 888319 888330 + Block 888331 888389 + ExpressionStatement 888333 888374 + BinaryExpression 888333 888373 + Identifier 888333 888366 + EqualsToken 888366 888368 + Identifier 888368 888373 + IfStatement 888407 888711 + CallExpression 888412 888456 + Identifier 888412 888433 + Identifier 888434 888441 + PropertyAccessExpression 888442 888455 + Identifier 888442 888447 + Identifier 888448 888455 + Block 888457 888711 + IfStatement 888459 888696 + PrefixUnaryExpression 888481 888496 + Identifier 888482 888496 + Block 888497 888562 + ExpressionStatement 888499 888543 + BinaryExpression 888499 888542 + Identifier 888499 888535 + EqualsToken 888535 888537 + Identifier 888537 888542 + Block 888584 888696 + ExpressionStatement 888586 888677 + CallExpression 888586 888676 + PropertyAccessExpression 888586 888670 + ParenthesizedExpression 888586 888665 + BinaryExpression 888609 888664 + Identifier 888609 888624 + BarBarToken 888624 888627 + ParenthesizedExpression 888627 888664 + BinaryExpression 888629 888663 + Identifier 888629 888644 + EqualsToken 888644 888646 + ArrayLiteralExpression 888646 888663 + Identifier 888648 888662 + Identifier 888666 888670 + Identifier 888671 888675 + ReturnStatement 888722 889400 + ConditionalExpression 889023 889399 + Identifier 889023 889039 + QuestionToken 889039 889041 + CallExpression 889041 889232 + Identifier 889041 889057 + Identifier 889058 889069 + CallExpression 889070 889131 + Identifier 889070 889090 + CallExpression 889091 889130 + Identifier 889091 889094 + Identifier 889095 889110 + ArrowFunction 889111 889129 + Parameter 889111 889116 + Identifier 889111 889116 + EqualsGreaterThanToken 889116 889119 + PropertyAccessExpression 889119 889129 + Identifier 889119 889124 + Identifier 889125 889129 + CallExpression 889132 889231 + Identifier 889132 889143 + Identifier 889144 889159 + ArrowFunction 889160 889212 + Parameter 889162 889172 + Identifier 889162 889172 + Parameter 889173 889178 + Identifier 889173 889178 + EqualsGreaterThanToken 889179 889182 + BinaryExpression 889182 889212 + Identifier 889182 889193 + AmpersandAmpersandToken 889193 889196 + PropertyAccessExpression 889196 889212 + Identifier 889196 889201 + Identifier 889202 889212 + TrueKeyword 889213 889230 + ColonToken 889232 889234 + ConditionalExpression 889234 889399 + Identifier 889234 889262 + QuestionToken 889262 889264 + Identifier 889264 889279 + ColonToken 889279 889281 + ConditionalExpression 889281 889399 + BinaryExpression 889281 889356 + Identifier 889281 889310 + AmpersandAmpersandToken 889310 889313 + CallExpression 889313 889356 + Identifier 889313 889335 + Identifier 889336 889343 + Identifier 889344 889355 + QuestionToken 889356 889358 + Identifier 889358 889374 + ColonToken 889374 889376 + Identifier 889376 889399 + FunctionDeclaration 889407 890024 + Identifier 889423 889445 + Parameter 889446 889458 + Identifier 889446 889452 + TypeReference 889453 889458 + Identifier 889453 889458 + Parameter 889459 889472 + Identifier 889459 889466 + TypeReference 889467 889472 + Identifier 889467 889472 + BooleanKeyword 889474 889482 + Block 889482 890024 + ReturnStatement 889484 890017 + BinaryExpression 889722 890016 + BinaryExpression 889722 889837 + CallExpression 889722 889757 + Identifier 889722 889741 + Identifier 889742 889748 + Identifier 889749 889756 + BarBarToken 889757 889760 + BinaryExpression 889760 889837 + BinaryExpression 889760 889795 + Identifier 889760 889780 + EqualsEqualsEqualsToken 889780 889784 + Identifier 889784 889795 + AmpersandAmpersandToken 889795 889798 + CallExpression 889798 889837 + Identifier 889798 889817 + Identifier 889818 889824 + Identifier 889825 889836 + BarBarToken 889837 889840 + BinaryExpression 889840 890016 + BinaryExpression 889840 889875 + Identifier 889840 889860 + EqualsEqualsEqualsToken 889860 889864 + Identifier 889864 889875 + AmpersandAmpersandToken 889875 889878 + ParenthesizedExpression 889878 890016 + BinaryExpression 889880 890015 + BinaryExpression 889880 889908 + Identifier 889880 889886 + EqualsEqualsEqualsToken 889886 889890 + Identifier 889890 889908 + BarBarToken 889908 889911 + BinaryExpression 889911 890015 + PrefixUnaryExpression 889911 889954 + PrefixUnaryExpression 889913 889954 + ParenthesizedExpression 889914 889954 + BinaryExpression 889915 889953 + PropertyAccessExpression 889915 889927 + Identifier 889915 889921 + Identifier 889922 889927 + AmpersandToken 889927 889929 + PropertyAccessExpression 889929 889953 + Identifier 889929 889939 + Identifier 889940 889953 + AmpersandAmpersandToken 889954 889957 + CallExpression 889957 890015 + Identifier 889957 889978 + PropertyAccessExpression 889979 890014 + ParenthesizedExpression 889979 890008 + AsExpression 889980 890007 + Identifier 889980 889986 + TypeReference 889989 890007 + Identifier 889989 890007 + Identifier 890009 890014 + FunctionDeclaration 890024 890327 + Identifier 890040 890070 + Parameter 890071 890081 + Identifier 890071 890075 + TypeReference 890076 890081 + Identifier 890076 890081 + TypeOperator 890083 890104 + ArrayType 890092 890104 + TypeReference 890092 890102 + Identifier 890092 890102 + Block 890104 890327 + IfStatement 890106 890292 + BinaryExpression 890120 890157 + PropertyAccessExpression 890120 890130 + Identifier 890120 890124 + Identifier 890125 890130 + AmpersandToken 890130 890132 + PropertyAccessExpression 890132 890157 + Identifier 890132 890142 + Identifier 890143 890157 + Block 890158 890292 + VariableStatement 890160 890240 + VariableDeclarationList 890160 890239 + VariableDeclaration 890179 890239 + Identifier 890179 890188 + CallExpression 890190 890239 + Identifier 890190 890219 + AsExpression 890220 890238 + Identifier 890220 890224 + TypeReference 890227 890238 + Identifier 890227 890238 + ReturnStatement 890240 890281 + PropertyAccessExpression 890260 890280 + Identifier 890260 890269 + Identifier 890270 890280 + ReturnStatement 890292 890320 + Identifier 890308 890319 + FunctionDeclaration 890327 890483 + Identifier 890343 890363 + Parameter 890364 890374 + Identifier 890364 890368 + TypeReference 890369 890374 + Identifier 890369 890374 + TypeOperator 890376 890397 + ArrayType 890385 890397 + TypeReference 890385 890395 + Identifier 890385 890395 + Block 890397 890483 + ReturnStatement 890399 890476 + CallExpression 890415 890475 + Identifier 890415 890445 + CallExpression 890446 890474 + Identifier 890446 890468 + Identifier 890469 890473 + FunctionDeclaration 890483 890847 + Identifier 890702 890721 + Parameter 890722 890732 + Identifier 890722 890726 + TypeReference 890727 890732 + Identifier 890727 890732 + Parameter 890733 890747 + Identifier 890733 890741 + TypeReference 890742 890747 + Identifier 890742 890747 + UnionType 890749 890771 + TypeReference 890749 890759 + Identifier 890749 890759 + UndefinedKeyword 890761 890771 + Block 890771 890847 + ReturnStatement 890773 890840 + CallExpression 890789 890839 + Identifier 890789 890803 + CallExpression 890804 890829 + Identifier 890804 890823 + Identifier 890824 890828 + Identifier 890830 890838 + FunctionDeclaration 890847 891193 + Identifier 891063 891082 + Parameter 891083 891093 + Identifier 891083 891087 + TypeReference 891088 891093 + Identifier 891088 891093 + Parameter 891094 891108 + Identifier 891094 891102 + TypeReference 891103 891108 + Identifier 891103 891108 + UnionType 891110 891127 + TypeReference 891110 891115 + Identifier 891110 891115 + UndefinedKeyword 891117 891127 + Block 891127 891193 + ReturnStatement 891129 891186 + PropertyAccessExpression 891145 891185 + CallExpression 891145 891179 + Identifier 891145 891164 + Identifier 891165 891169 + Identifier 891170 891178 + QuestionDotToken 891179 891181 + Identifier 891181 891185 + FunctionDeclaration 891193 891386 + Identifier 891209 891233 + Parameter 891234 891244 + Identifier 891234 891238 + TypeReference 891239 891244 + Identifier 891239 891244 + Parameter 891245 891259 + Identifier 891245 891253 + TypeReference 891254 891259 + Identifier 891254 891259 + ArrayType 891261 891273 + TypeReference 891261 891271 + Identifier 891261 891271 + Block 891273 891386 + ReturnStatement 891275 891379 + CallExpression 891291 891378 + PropertyAccessExpression 891291 891324 + CallExpression 891291 891317 + Identifier 891291 891311 + Identifier 891312 891316 + Identifier 891318 891324 + ArrowFunction 891325 891377 + Parameter 891325 891329 + Identifier 891325 891329 + EqualsGreaterThanToken 891329 891332 + CallExpression 891332 891377 + Identifier 891332 891354 + Identifier 891355 891362 + PropertyAccessExpression 891363 891376 + Identifier 891363 891368 + Identifier 891369 891376 + FunctionDeclaration 891386 891561 + Identifier 891402 891425 + Parameter 891426 891436 + Identifier 891426 891430 + TypeReference 891431 891436 + Identifier 891431 891436 + Parameter 891437 891451 + Identifier 891437 891445 + TypeReference 891446 891451 + Identifier 891446 891451 + UnionType 891453 891475 + TypeReference 891453 891463 + Identifier 891453 891463 + UndefinedKeyword 891465 891475 + Block 891475 891561 + ReturnStatement 891477 891554 + CallExpression 891493 891553 + Identifier 891493 891517 + CallExpression 891518 891543 + Identifier 891518 891537 + Identifier 891538 891542 + Identifier 891544 891552 + FunctionDeclaration 891561 891808 + Identifier 891577 891607 + Parameter 891608 891618 + Identifier 891608 891612 + TypeReference 891613 891618 + Identifier 891613 891618 + Parameter 891619 891634 + Identifier 891619 891624 + TypeReference 891625 891634 + Identifier 891625 891634 + UnionType 891636 891658 + TypeReference 891636 891646 + Identifier 891636 891646 + UndefinedKeyword 891648 891658 + Block 891658 891808 + ReturnStatement 891660 891801 + CallExpression 891676 891800 + Identifier 891676 891699 + Identifier 891700 891704 + ConditionalExpression 891705 891799 + CallExpression 891705 891727 + Identifier 891705 891721 + Identifier 891722 891726 + QuestionToken 891727 891729 + Identifier 891729 891742 + ColonToken 891742 891744 + CallExpression 891744 891799 + Identifier 891744 891765 + CallExpression 891766 891798 + Identifier 891766 891792 + Identifier 891793 891797 + FunctionDeclaration 891808 892505 + Identifier 891978 892011 + Parameter 892012 892054 + Identifier 892012 892023 + TypeReference 892024 892054 + Identifier 892024 892054 + UnionType 892056 892093 + TypeOperator 892056 892081 + ArrayType 892065 892081 + TypeReference 892065 892079 + Identifier 892065 892079 + UndefinedKeyword 892083 892093 + Block 892093 892505 + VariableStatement 892095 892145 + VariableDeclarationList 892095 892144 + VariableDeclaration 892108 892144 + Identifier 892108 892115 + UnionType 892116 892144 + ArrayType 892116 892132 + TypeReference 892116 892130 + Identifier 892116 892130 + UndefinedKeyword 892134 892144 + ForOfStatement 892145 892329 + VariableDeclarationList 892160 892170 + VariableDeclaration 892165 892170 + Identifier 892165 892170 + CallExpression 892173 892224 + Identifier 892173 892211 + Identifier 892212 892223 + Block 892225 892329 + ExpressionStatement 892227 892318 + BinaryExpression 892227 892317 + Identifier 892227 892247 + EqualsToken 892247 892249 + CallExpression 892249 892317 + Identifier 892249 892264 + Identifier 892265 892271 + CallExpression 892272 892316 + Identifier 892272 892303 + PropertyAccessExpression 892304 892315 + Identifier 892304 892308 + Identifier 892309 892315 + ReturnStatement 892329 892498 + ConditionalExpression 892345 892497 + PropertyAccessExpression 892345 892360 + Identifier 892345 892352 + QuestionDotToken 892352 892354 + Identifier 892354 892360 + QuestionToken 892360 892362 + Identifier 892362 892369 + ColonToken 892369 892384 + ConditionalExpression 892384 892497 + CallExpression 892384 892419 + Identifier 892384 892406 + Identifier 892407 892418 + QuestionToken 892419 892421 + PropertyAccessExpression 892421 892472 + CallExpression 892421 892456 + Identifier 892421 892443 + Identifier 892444 892455 + QuestionDotToken 892456 892458 + Identifier 892458 892472 + ColonToken 892472 892487 + Identifier 892487 892497 + FunctionDeclaration 892505 892794 + Identifier 892521 892536 + Parameter 892537 892557 + Identifier 892537 892544 + TypeReference 892545 892557 + Identifier 892545 892557 + ArrayType 892559 892568 + TypeReference 892559 892566 + Identifier 892559 892566 + Block 892568 892794 + VariableStatement 892570 892608 + VariableDeclarationList 892570 892607 + VariableDeclaration 892585 892607 + Identifier 892585 892592 + ArrayType 892593 892602 + TypeReference 892593 892600 + Identifier 892593 892600 + ArrayLiteralExpression 892604 892607 + ExpressionStatement 892608 892763 + CallExpression 892608 892762 + PropertyAccessExpression 892608 892633 + Identifier 892608 892625 + Identifier 892626 892633 + ArrowFunction 892634 892761 + Parameter 892635 892641 + Identifier 892635 892641 + Parameter 892642 892645 + Identifier 892642 892645 + EqualsGreaterThanToken 892646 892649 + Block 892649 892761 + IfStatement 892651 892750 + PrefixUnaryExpression 892669 892694 + CallExpression 892670 892694 + Identifier 892670 892690 + Identifier 892691 892693 + Block 892695 892750 + ExpressionStatement 892697 892735 + CallExpression 892697 892734 + PropertyAccessExpression 892697 892726 + Identifier 892697 892721 + Identifier 892722 892726 + Identifier 892727 892733 + ReturnStatement 892763 892787 + Identifier 892779 892786 + FunctionDeclaration 892794 893259 + Identifier 892810 892831 + Parameter 892832 892850 + Identifier 892832 892842 + StringKeyword 892843 892850 + Parameter 892851 892878 + Identifier 892851 892869 + BooleanKeyword 892870 892878 + Block 892879 893259 + IfStatement 892881 892980 + CallExpression 892895 892935 + Identifier 892895 892923 + Identifier 892924 892934 + Block 892936 892980 + ReturnStatement 892938 892969 + Identifier 892958 892968 + VariableStatement 892980 893085 + VariableDeclarationList 892980 893084 + VariableDeclaration 892995 893084 + Identifier 892995 893002 + CallExpression 893004 893084 + Identifier 893004 893014 + Identifier 893015 893022 + AsExpression 893023 893058 + BinaryExpression 893023 893046 + BinaryExpression 893023 893040 + StringLiteral 893023 893027 + PlusToken 893027 893029 + Identifier 893029 893040 + PlusToken 893040 893042 + StringLiteral 893042 893046 + TypeReference 893049 893058 + Identifier 893049 893058 + PropertyAccessExpression 893059 893083 + Identifier 893059 893071 + Identifier 893072 893083 + ReturnStatement 893085 893252 + ConditionalExpression 893188 893251 + BinaryExpression 893188 893216 + Identifier 893188 893195 + AmpersandAmpersandToken 893195 893198 + Identifier 893198 893216 + QuestionToken 893216 893218 + CallExpression 893218 893242 + Identifier 893218 893234 + Identifier 893235 893241 + ColonToken 893242 893244 + Identifier 893244 893251 + FunctionDeclaration 893259 893512 + Identifier 893275 893301 + Parameter 893302 893367 + Identifier 893302 893306 + UnionType 893307 893367 + TypeReference 893307 893328 + Identifier 893307 893328 + TypeReference 893330 893348 + Identifier 893330 893348 + TypeReference 893350 893367 + Identifier 893350 893367 + Block 893368 893512 + ReturnStatement 893370 893505 + BinaryExpression 893386 893504 + BinaryExpression 893386 893449 + CallExpression 893386 893409 + Identifier 893386 893403 + Identifier 893404 893408 + BarBarToken 893409 893412 + CallExpression 893412 893449 + Identifier 893412 893443 + Identifier 893444 893448 + BarBarToken 893449 893452 + BinaryExpression 893452 893504 + CallExpression 893452 893470 + Identifier 893452 893464 + Identifier 893465 893469 + AmpersandAmpersandToken 893470 893473 + CallExpression 893473 893504 + Identifier 893473 893498 + Identifier 893499 893503 + FunctionDeclaration 893512 894791 + Identifier 893528 893548 + Parameter 893549 893614 + Identifier 893549 893553 + UnionType 893554 893614 + TypeReference 893554 893575 + Identifier 893554 893575 + TypeReference 893577 893595 + Identifier 893577 893595 + TypeReference 893597 893614 + Identifier 893597 893614 + Block 893615 894791 + IfStatement 893617 893702 + CallExpression 893631 893662 + Identifier 893631 893656 + Identifier 893657 893661 + Block 893663 893702 + ReturnStatement 893665 893691 + TrueKeyword 893685 893690 + IfStatement 893702 893775 + PrefixUnaryExpression 893716 893734 + CallExpression 893717 893734 + Identifier 893717 893728 + Identifier 893729 893733 + Block 893735 893775 + ReturnStatement 893737 893764 + FalseKeyword 893757 893763 + IfStatement 893775 894479 + PropertyAccessExpression 893789 893805 + Identifier 893789 893793 + Identifier 893794 893805 + Block 893806 894479 + VariableStatement 893808 893881 + VariableDeclarationList 893808 893880 + VariableDeclaration 893827 893880 + Identifier 893827 893837 + CallExpression 893839 893880 + Identifier 893839 893867 + PropertyAccessExpression 893868 893879 + Identifier 893868 893872 + Identifier 893873 893879 + VariableStatement 893881 893955 + VariableDeclarationList 893881 893954 + VariableDeclaration 893900 893954 + Identifier 893900 893915 + CallExpression 893917 893954 + PropertyAccessExpression 893917 893948 + PropertyAccessExpression 893917 893940 + PropertyAccessExpression 893917 893929 + Identifier 893917 893922 + Identifier 893923 893929 + Identifier 893930 893940 + Identifier 893941 893948 + Identifier 893949 893953 + ExpressionStatement 893955 894003 + CallExpression 893955 894002 + PropertyAccessExpression 893955 893981 + Identifier 893955 893974 + Identifier 893975 893981 + BinaryExpression 893982 894001 + Identifier 893982 893996 + GreaterThanEqualsToken 893996 893999 + NumericLiteral 893999 894001 + ReturnStatement 894003 894468 + BinaryExpression 894329 894467 + Identifier 894329 894344 + GreaterThanEqualsToken 894344 894347 + CallExpression 894347 894467 + Identifier 894347 894367 + Identifier 894368 894377 + BinaryExpression 894378 894466 + PropertyAccessExpression 894378 894424 + Identifier 894378 894400 + Identifier 894401 894424 + BarToken 894424 894426 + PropertyAccessExpression 894426 894466 + Identifier 894426 894448 + Identifier 894449 894466 + VariableStatement 894479 894555 + VariableDeclarationList 894479 894554 + VariableDeclaration 894494 894554 + Identifier 894494 894499 + CallExpression 894501 894554 + Identifier 894501 894541 + PropertyAccessExpression 894542 894553 + Identifier 894542 894546 + Identifier 894547 894553 + IfStatement 894555 894759 + Identifier 894569 894573 + Block 894574 894759 + ReturnStatement 894576 894748 + BinaryExpression 894596 894747 + BinaryExpression 894596 894648 + PrefixUnaryExpression 894596 894607 + PropertyAccessExpression 894598 894607 + Identifier 894598 894602 + Identifier 894603 894607 + AmpersandAmpersandToken 894607 894610 + PrefixUnaryExpression 894610 894648 + PropertyAccessExpression 894629 894648 + Identifier 894629 894633 + Identifier 894634 894648 + AmpersandAmpersandToken 894648 894651 + BinaryExpression 894651 894747 + CallExpression 894651 894705 + PropertyAccessExpression 894651 894699 + PropertyAccessExpression 894651 894691 + PropertyAccessExpression 894651 894680 + Identifier 894651 894673 + Identifier 894674 894680 + Identifier 894681 894691 + Identifier 894692 894699 + Identifier 894700 894704 + GreaterThanEqualsToken 894705 894708 + PropertyAccessExpression 894708 894747 + CallExpression 894708 894740 + Identifier 894708 894734 + Identifier 894735 894739 + Identifier 894741 894747 + ReturnStatement 894759 894784 + FalseKeyword 894777 894783 + FunctionDeclaration 894791 894962 + Identifier 894807 894837 + Parameter 894838 894855 + Identifier 894838 894842 + TypeReference 894843 894855 + Identifier 894843 894855 + Block 894856 894962 + ReturnStatement 894858 894955 + BinaryExpression 894874 894954 + BinaryExpression 894874 894932 + CallExpression 894874 894902 + Identifier 894874 894896 + Identifier 894897 894901 + AmpersandAmpersandToken 894902 894905 + PrefixUnaryExpression 894905 894932 + CallExpression 894907 894932 + Identifier 894907 894926 + Identifier 894927 894931 + AmpersandAmpersandToken 894932 894935 + PropertyAccessExpression 894935 894954 + Identifier 894935 894940 + Identifier 894941 894954 + FunctionDeclaration 894962 895222 + Identifier 894978 894998 + Parameter 894999 895022 + Identifier 894999 895003 + TypeReference 895004 895022 + Identifier 895004 895022 + Parameter 895023 895057 + Identifier 895023 895037 + UnionType 895038 895057 + StringKeyword 895038 895045 + UndefinedKeyword 895047 895057 + Parameter 895058 895093 + Identifier 895058 895073 + UnionType 895074 895093 + NumberKeyword 895074 895081 + UndefinedKeyword 895083 895093 + Parameter 895094 895117 + Identifier 895094 895099 + UnionType 895100 895117 + TypeReference 895100 895105 + Identifier 895100 895105 + UndefinedKeyword 895107 895117 + TypeReference 895119 895133 + Identifier 895119 895133 + Block 895133 895222 + ReturnStatement 895135 895215 + AsExpression 895151 895214 + ObjectLiteralExpression 895151 895197 + ShorthandPropertyAssignment 895153 895158 + Identifier 895153 895158 + ShorthandPropertyAssignment 895159 895173 + Identifier 895159 895173 + ShorthandPropertyAssignment 895174 895189 + Identifier 895174 895189 + ShorthandPropertyAssignment 895190 895195 + Identifier 895190 895195 + TypeReference 895200 895214 + Identifier 895200 895214 + FunctionDeclaration 895222 895796 + Identifier 895366 895390 + Parameter 895391 895443 + Identifier 895391 895405 + UnionType 895406 895443 + TypeOperator 895406 895431 + ArrayType 895415 895431 + TypeReference 895415 895429 + Identifier 895415 895429 + UndefinedKeyword 895433 895443 + NumberKeyword 895445 895452 + Block 895452 895796 + VariableStatement 895454 895493 + VariableDeclarationList 895454 895492 + VariableDeclaration 895467 895492 + Identifier 895467 895488 + NumericLiteral 895490 895492 + IfStatement 895493 895751 + Identifier 895507 895521 + Block 895522 895751 + ForStatement 895524 895740 + VariableDeclarationList 895543 895552 + VariableDeclaration 895546 895552 + Identifier 895546 895548 + NumericLiteral 895550 895552 + BinaryExpression 895553 895579 + Identifier 895553 895555 + LessThanToken 895555 895557 + PropertyAccessExpression 895557 895579 + Identifier 895557 895572 + Identifier 895573 895579 + PostfixUnaryExpression 895580 895584 + Identifier 895580 895582 + Block 895585 895740 + IfStatement 895587 895725 + PrefixUnaryExpression 895609 895652 + CallExpression 895610 895652 + Identifier 895610 895633 + ElementAccessExpression 895634 895651 + Identifier 895634 895648 + Identifier 895649 895650 + Block 895653 895725 + ExpressionStatement 895655 895706 + BinaryExpression 895655 895705 + Identifier 895655 895697 + EqualsToken 895697 895699 + BinaryExpression 895699 895705 + Identifier 895699 895701 + PlusToken 895701 895703 + NumericLiteral 895703 895705 + ReturnStatement 895751 895789 + Identifier 895767 895788 + FunctionDeclaration 895796 896400 + Identifier 896216 896241 + Parameter 896242 896272 + Identifier 896242 896255 + TypeOperator 896256 896272 + ArrayType 896265 896272 + TypeReference 896265 896270 + Identifier 896265 896270 + Parameter 896273 896326 + Identifier 896273 896288 + UnionType 896289 896326 + TypeOperator 896289 896314 + ArrayType 896298 896314 + TypeReference 896298 896312 + Identifier 896298 896312 + UndefinedKeyword 896316 896326 + Parameter 896327 896356 + Identifier 896327 896348 + NumberKeyword 896349 896356 + Parameter 896357 896390 + Identifier 896357 896381 + BooleanKeyword 896382 896390 + ArrayType 896392 896399 + TypeReference 896392 896397 + Identifier 896392 896397 + FunctionDeclaration 896400 896622 + Identifier 896414 896439 + Parameter 896440 896482 + Identifier 896440 896453 + UnionType 896454 896482 + TypeOperator 896454 896470 + ArrayType 896463 896470 + TypeReference 896463 896468 + Identifier 896463 896468 + UndefinedKeyword 896472 896482 + Parameter 896483 896536 + Identifier 896483 896498 + UnionType 896499 896536 + TypeOperator 896499 896524 + ArrayType 896508 896524 + TypeReference 896508 896522 + Identifier 896508 896522 + UndefinedKeyword 896526 896536 + Parameter 896537 896566 + Identifier 896537 896558 + NumberKeyword 896559 896566 + Parameter 896567 896600 + Identifier 896567 896591 + BooleanKeyword 896592 896600 + UnionType 896602 896621 + ArrayType 896602 896609 + TypeReference 896602 896607 + Identifier 896602 896607 + UndefinedKeyword 896611 896621 + FunctionDeclaration 896622 898199 + Identifier 896636 896661 + Parameter 896662 896704 + Identifier 896662 896675 + UnionType 896676 896704 + TypeOperator 896676 896692 + ArrayType 896685 896692 + TypeReference 896685 896690 + Identifier 896685 896690 + UndefinedKeyword 896694 896704 + Parameter 896705 896758 + Identifier 896705 896720 + UnionType 896721 896758 + TypeOperator 896721 896746 + ArrayType 896730 896746 + TypeReference 896730 896744 + Identifier 896730 896744 + UndefinedKeyword 896748 896758 + Parameter 896759 896788 + Identifier 896759 896780 + NumberKeyword 896781 896788 + Parameter 896789 896822 + Identifier 896789 896813 + BooleanKeyword 896814 896822 + Block 896823 898199 + VariableStatement 896825 896884 + VariableDeclarationList 896825 896883 + VariableDeclaration 896840 896883 + Identifier 896840 896858 + CallExpression 896860 896883 + Identifier 896860 896867 + Identifier 896868 896882 + IfStatement 896884 896954 + PrefixUnaryExpression 896898 896916 + Identifier 896899 896916 + Block 896917 896954 + ReturnStatement 896919 896943 + ArrayLiteralExpression 896939 896942 + VariableStatement 896954 897011 + VariableDeclarationList 896954 897010 + VariableDeclaration 896969 897010 + Identifier 896969 896986 + CallExpression 896988 897010 + Identifier 896988 896995 + Identifier 896996 897009 + IfStatement 897011 898136 + BinaryExpression 897025 897135 + Identifier 897025 897048 + BarBarToken 897048 897051 + ParenthesizedExpression 897051 897135 + BinaryExpression 897053 897134 + BinaryExpression 897053 897093 + Identifier 897053 897069 + GreaterThanEqualsToken 897069 897072 + Identifier 897072 897093 + AmpersandAmpersandToken 897093 897096 + BinaryExpression 897096 897134 + Identifier 897096 897113 + LessThanEqualsToken 897113 897116 + Identifier 897116 897134 + Block 897136 898136 + VariableStatement 897138 897210 + VariableDeclarationList 897138 897209 + VariableDeclaration 897157 897209 + Identifier 897157 897164 + ConditionalExpression 897166 897209 + Identifier 897166 897180 + QuestionToken 897180 897182 + CallExpression 897182 897204 + PropertyAccessExpression 897182 897202 + Identifier 897182 897196 + Identifier 897197 897202 + ColonToken 897204 897206 + ArrayLiteralExpression 897206 897209 + ForStatement 897210 897421 + VariableDeclarationList 897311 897335 + VariableDeclaration 897314 897335 + Identifier 897314 897316 + Identifier 897318 897335 + BinaryExpression 897336 897358 + Identifier 897336 897338 + LessThanToken 897338 897340 + Identifier 897340 897358 + PostfixUnaryExpression 897359 897363 + Identifier 897359 897361 + Block 897364 897421 + ExpressionStatement 897366 897406 + BinaryExpression 897366 897405 + ElementAccessExpression 897366 897393 + Identifier 897366 897390 + Identifier 897391 897392 + EqualsToken 897393 897395 + Identifier 897395 897405 + VariableStatement 897421 897511 + VariableDeclarationList 897421 897510 + VariableDeclaration 897440 897510 + Identifier 897440 897456 + CallExpression 897458 897510 + Identifier 897458 897485 + Identifier 897486 897509 + ForStatement 897511 898044 + VariableDeclarationList 897530 897554 + VariableDeclaration 897533 897554 + Identifier 897533 897535 + Identifier 897537 897554 + BinaryExpression 897555 897577 + Identifier 897555 897557 + LessThanToken 897557 897559 + Identifier 897559 897577 + PostfixUnaryExpression 897578 897582 + Identifier 897578 897580 + Block 897583 898044 + VariableStatement 897585 897669 + VariableDeclarationList 897585 897668 + VariableDeclaration 897606 897668 + Identifier 897606 897618 + CallExpression 897620 897668 + Identifier 897620 897648 + ElementAccessExpression 897649 897667 + NonNullExpression 897649 897664 + Identifier 897649 897663 + Identifier 897665 897666 + IfStatement 897669 897895 + BinaryExpression 897691 897829 + BinaryExpression 897691 897729 + Identifier 897691 897714 + AmpersandAmpersandToken 897714 897717 + Identifier 897717 897729 + AmpersandAmpersandToken 897729 897732 + ParenthesizedExpression 897732 897829 + BinaryExpression 897734 897828 + CallExpression 897734 897777 + Identifier 897734 897751 + Identifier 897752 897763 + Identifier 897764 897776 + BarBarToken 897777 897780 + CallExpression 897780 897828 + Identifier 897780 897798 + Identifier 897799 897810 + Identifier 897811 897827 + Block 897830 897895 + ExpressionStatement 897832 897876 + BinaryExpression 897832 897875 + Identifier 897832 897865 + EqualsToken 897865 897867 + Identifier 897867 897875 + ExpressionStatement 897895 898029 + BinaryExpression 897895 898028 + ElementAccessExpression 897895 897922 + Identifier 897895 897919 + Identifier 897920 897921 + EqualsToken 897922 897924 + ConditionalExpression 897924 898028 + Identifier 897924 897936 + QuestionToken 897936 897938 + CallExpression 897938 898010 + Identifier 897938 897954 + Identifier 897955 897966 + CallExpression 897967 898009 + Identifier 897967 897984 + NonNullExpression 897985 898000 + Identifier 897985 897999 + Identifier 898001 898008 + ColonToken 898010 898012 + Identifier 898012 898028 + ExpressionStatement 898044 898097 + BinaryExpression 898044 898096 + PropertyAccessExpression 898044 898071 + Identifier 898044 898064 + Identifier 898065 898071 + EqualsToken 898071 898073 + PropertyAccessExpression 898073 898096 + NonNullExpression 898073 898089 + Identifier 898073 898088 + Identifier 898090 898096 + ReturnStatement 898097 898125 + Identifier 898117 898124 + ReturnStatement 898136 898192 + BinaryExpression 898152 898191 + Identifier 898152 898166 + AmpersandAmpersandToken 898166 898169 + CallExpression 898169 898191 + PropertyAccessExpression 898169 898189 + Identifier 898169 898183 + Identifier 898184 898189 + FunctionDeclaration 898199 903799 + Identifier 898215 898243 + Parameter 898244 898294 + Identifier 898244 898255 + UnionType 898256 898294 + TypeReference 898256 898277 + Identifier 898256 898277 + TypeReference 898279 898294 + Identifier 898279 898294 + TypeReference 898296 898306 + Identifier 898296 898306 + Block 898306 903799 + VariableStatement 898308 898358 + VariableDeclarationList 898308 898357 + VariableDeclaration 898323 898357 + Identifier 898323 898329 + CallExpression 898331 898357 + Identifier 898331 898344 + Identifier 898345 898356 + IfStatement 898358 903751 + PrefixUnaryExpression 898372 898396 + PropertyAccessExpression 898373 898396 + Identifier 898373 898378 + Identifier 898379 898396 + Block 898397 903751 + VariableStatement 898399 898445 + VariableDeclarationList 898399 898444 + VariableDeclaration 898418 898444 + Identifier 898418 898429 + ArrayType 898430 898439 + TypeReference 898430 898437 + Identifier 898430 898437 + ArrayLiteralExpression 898441 898444 + VariableStatement 898445 898491 + VariableDeclarationList 898445 898490 + VariableDeclaration 898462 898490 + Identifier 898462 898468 + PropertyAccessExpression 898470 898490 + Identifier 898470 898485 + Identifier 898486 898490 + VariableStatement 898491 898530 + VariableDeclarationList 898491 898529 + VariableDeclaration 898508 898529 + Identifier 898508 898525 + NumericLiteral 898527 898529 + VariableStatement 898530 898582 + VariableDeclarationList 898530 898581 + VariableDeclaration 898547 898581 + Identifier 898547 898561 + UnionType 898562 898581 + TypeReference 898562 898569 + Identifier 898562 898569 + UndefinedKeyword 898571 898581 + VariableStatement 898582 898703 + VariableDeclarationList 898582 898702 + VariableDeclaration 898599 898702 + Identifier 898599 898607 + UnionType 898608 898633 + TypeReference 898608 898621 + Identifier 898608 898621 + UndefinedKeyword 898623 898633 + ConditionalExpression 898635 898702 + CallExpression 898635 898659 + Identifier 898635 898646 + Identifier 898647 898658 + QuestionToken 898659 898661 + CallExpression 898661 898690 + Identifier 898661 898677 + Identifier 898678 898689 + ColonToken 898690 898692 + Identifier 898692 898702 + VariableStatement 898703 898746 + VariableDeclarationList 898703 898745 + VariableDeclaration 898720 898745 + Identifier 898720 898737 + FalseKeyword 898739 898745 + VariableStatement 898746 898826 + VariableDeclarationList 898746 898825 + VariableDeclaration 898765 898825 + Identifier 898765 898770 + CallExpression 898772 898825 + Identifier 898772 898812 + Identifier 898813 898824 + VariableStatement 898826 898910 + VariableDeclarationList 898826 898909 + VariableDeclaration 898845 898909 + Identifier 898845 898868 + CallExpression 898870 898909 + Identifier 898870 898896 + Identifier 898897 898908 + VariableStatement 898910 899256 + VariableDeclarationList 898910 899255 + VariableDeclaration 898929 899255 + Identifier 898929 898956 + BinaryExpression 898958 899255 + BinaryExpression 898958 899172 + BinaryExpression 898958 899125 + BinaryExpression 898958 899069 + BinaryExpression 898958 899008 + PrefixUnaryExpression 898958 898964 + Identifier 898960 898964 + AmpersandAmpersandToken 898964 898967 + CallExpression 898967 899008 + Identifier 898967 898995 + Identifier 898996 899007 + AmpersandAmpersandToken 899008 899011 + CallExpression 899011 899069 + Identifier 899011 899056 + Identifier 899057 899068 + AmpersandAmpersandToken 899069 899072 + PrefixUnaryExpression 899072 899125 + CallExpression 899091 899125 + Identifier 899091 899112 + Identifier 899113 899124 + AmpersandAmpersandToken 899125 899128 + PrefixUnaryExpression 899128 899172 + CallExpression 899147 899172 + Identifier 899147 899159 + Identifier 899160 899171 + AmpersandAmpersandToken 899172 899175 + PrefixUnaryExpression 899175 899255 + CallExpression 899194 899255 + Identifier 899194 899242 + Identifier 899243 899254 + IfStatement 899256 899387 + Identifier 899274 899300 + Block 899301 899387 + ExpressionStatement 899303 899372 + BinaryExpression 899303 899371 + Identifier 899303 899326 + BarEqualsToken 899326 899329 + PropertyAccessExpression 899329 899371 + Identifier 899329 899344 + Identifier 899345 899371 + ForStatement 899387 901466 + VariableDeclarationList 899625 899663 + VariableDeclaration 899628 899663 + Identifier 899628 899630 + ConditionalExpression 899632 899663 + Identifier 899632 899655 + QuestionToken 899655 899657 + NumericLiteral 899657 899659 + ColonToken 899659 899661 + NumericLiteral 899661 899663 + BinaryExpression 899664 899698 + Identifier 899664 899666 + LessThanToken 899666 899668 + PropertyAccessExpression 899668 899698 + PropertyAccessExpression 899668 899691 + Identifier 899668 899680 + Identifier 899681 899691 + Identifier 899692 899698 + PostfixUnaryExpression 899699 899703 + Identifier 899699 899701 + Block 899704 901466 + VariableStatement 899706 899764 + VariableDeclarationList 899706 899763 + VariableDeclaration 899729 899763 + Identifier 899729 899735 + ElementAccessExpression 899737 899763 + PropertyAccessExpression 899737 899760 + Identifier 899737 899749 + Identifier 899750 899760 + Identifier 899761 899762 + IfStatement 899764 899919 + BinaryExpression 899786 899828 + CallExpression 899786 899803 + Identifier 899786 899796 + Identifier 899797 899802 + AmpersandAmpersandToken 899803 899806 + CallExpression 899806 899828 + Identifier 899806 899821 + Identifier 899822 899827 + Block 899829 899919 + ExpressionStatement 899831 899869 + BinaryExpression 899831 899868 + Identifier 899831 899860 + EqualsToken 899860 899862 + Identifier 899862 899868 + ContinueStatement 899869 899900 + VariableStatement 899919 899970 + VariableDeclarationList 899919 899969 + VariableDeclaration 899942 899969 + Identifier 899942 899954 + PropertyAccessExpression 899956 899969 + Identifier 899956 899962 + Identifier 899963 899969 + VariableStatement 899970 900095 + VariableDeclarationList 899970 900094 + VariableDeclaration 899993 900094 + Identifier 899993 899998 + ConditionalExpression 900000 900094 + CallExpression 900000 900027 + Identifier 900000 900020 + Identifier 900021 900026 + QuestionToken 900027 900029 + ParenthesizedExpression 900029 900081 + BinaryExpression 900031 900080 + PropertyAccessExpression 900031 900051 + Identifier 900031 900036 + Identifier 900037 900051 + AmpersandAmpersandToken 900051 900054 + PropertyAccessExpression 900054 900080 + PropertyAccessExpression 900054 900075 + Identifier 900054 900060 + Identifier 900061 900075 + Identifier 900076 900080 + ColonToken 900081 900083 + PropertyAccessExpression 900083 900094 + Identifier 900083 900089 + Identifier 900090 900094 + IfStatement 900095 900532 + BinaryExpression 900206 900298 + BinaryExpression 900206 900265 + Identifier 900206 900217 + AmpersandAmpersandToken 900217 900220 + PrefixUnaryExpression 900220 900265 + PrefixUnaryExpression 900222 900265 + ParenthesizedExpression 900223 900265 + BinaryExpression 900224 900264 + PropertyAccessExpression 900224 900241 + Identifier 900224 900235 + Identifier 900236 900241 + AmpersandToken 900241 900243 + PropertyAccessExpression 900243 900264 + Identifier 900243 900255 + Identifier 900256 900264 + AmpersandAmpersandToken 900265 900268 + PrefixUnaryExpression 900268 900298 + CallExpression 900270 900298 + Identifier 900270 900286 + PropertyAccessExpression 900287 900297 + Identifier 900287 900292 + Identifier 900293 900297 + Block 900299 900532 + VariableStatement 900301 900461 + VariableDeclarationList 900301 900460 + VariableDeclaration 900328 900460 + Identifier 900328 900343 + CallExpression 900345 900460 + Identifier 900345 900357 + Identifier 900358 900363 + PropertyAccessExpression 900364 900388 + Identifier 900364 900376 + Identifier 900377 900388 + PropertyAccessExpression 900389 900407 + Identifier 900389 900401 + Identifier 900402 900407 + Identifier 900408 900442 + FalseKeyword 900443 900459 + ExpressionStatement 900461 900513 + BinaryExpression 900461 900512 + Identifier 900461 900494 + EqualsToken 900494 900496 + NonNullExpression 900496 900512 + Identifier 900496 900511 + IfStatement 900532 900829 + BinaryExpression 900554 900616 + BinaryExpression 900554 900561 + Identifier 900554 900555 + EqualsEqualsEqualsToken 900555 900559 + NumericLiteral 900559 900561 + AmpersandAmpersandToken 900561 900564 + BinaryExpression 900564 900616 + PropertyAccessExpression 900564 900588 + Identifier 900564 900576 + Identifier 900577 900588 + EqualsEqualsEqualsToken 900588 900592 + PropertyAccessExpression 900592 900616 + Identifier 900592 900611 + Identifier 900612 900616 + Block 900617 900735 + ExpressionStatement 900619 900665 + BinaryExpression 900619 900664 + Identifier 900619 900657 + EqualsToken 900657 900659 + TrueKeyword 900659 900664 + ExpressionStatement 900665 900716 + BinaryExpression 900665 900715 + Identifier 900665 900700 + EqualsToken 900700 900702 + PropertyAccessExpression 900702 900715 + Identifier 900702 900708 + Identifier 900709 900715 + Block 900757 900829 + ExpressionStatement 900759 900810 + CallExpression 900759 900809 + PropertyAccessExpression 900759 900796 + Identifier 900759 900791 + Identifier 900792 900796 + Identifier 900797 900808 + IfStatement 900829 900981 + BinaryExpression 900853 900897 + Identifier 900853 900857 + AmpersandAmpersandToken 900857 900860 + BinaryExpression 900860 900897 + PropertyAccessExpression 900860 900870 + Identifier 900860 900865 + Identifier 900866 900870 + EqualsEqualsEqualsToken 900870 900874 + PropertyAccessExpression 900874 900897 + Identifier 900874 900885 + Identifier 900886 900897 + Block 900898 900981 + ExpressionStatement 900900 900962 + BinaryExpression 900900 900961 + Identifier 900900 900927 + BarEqualsToken 900927 900930 + PropertyAccessExpression 900930 900961 + Identifier 900930 900945 + Identifier 900946 900961 + VariableStatement 900981 901328 + VariableDeclarationList 900981 901327 + VariableDeclaration 901099 901327 + Identifier 901099 901119 + BinaryExpression 901121 901327 + BinaryExpression 901121 901244 + BinaryExpression 901121 901218 + CallExpression 901121 901154 + Identifier 901121 901147 + Identifier 901148 901153 + BarBarToken 901154 901157 + BinaryExpression 901157 901218 + CallExpression 901157 901197 + Identifier 901157 901190 + Identifier 901191 901196 + AmpersandAmpersandToken 901197 901200 + PropertyAccessExpression 901200 901218 + Identifier 901200 901206 + Identifier 901207 901218 + BarBarToken 901218 901221 + CallExpression 901221 901244 + Identifier 901221 901237 + Identifier 901238 901243 + BarBarToken 901244 901247 + BinaryExpression 901247 901327 + BinaryExpression 901247 901318 + Identifier 901247 901273 + AmpersandAmpersandToken 901273 901276 + BinaryExpression 901276 901318 + PropertyAccessExpression 901276 901294 + Identifier 901276 901287 + Identifier 901288 901294 + GreaterThanToken 901294 901296 + PropertyAccessExpression 901296 901318 + PropertyAccessExpression 901296 901311 + Identifier 901296 901301 + Identifier 901302 901311 + Identifier 901312 901318 + AmpersandAmpersandToken 901318 901321 + PrefixUnaryExpression 901321 901327 + Identifier 901323 901327 + IfStatement 901328 901451 + PrefixUnaryExpression 901350 901370 + Identifier 901351 901370 + Block 901371 901451 + ExpressionStatement 901373 901432 + BinaryExpression 901373 901431 + Identifier 901373 901411 + EqualsToken 901411 901413 + PropertyAccessExpression 901413 901431 + Identifier 901413 901424 + Identifier 901425 901431 + IfStatement 901466 902241 + BinaryExpression 901612 901829 + BinaryExpression 901612 901771 + ParenthesizedExpression 901612 901722 + BinaryExpression 901631 901721 + BinaryExpression 901631 901674 + PropertyAccessExpression 901631 901647 + Identifier 901631 901642 + Identifier 901643 901647 + EqualsEqualsEqualsToken 901647 901651 + PropertyAccessExpression 901651 901674 + Identifier 901651 901662 + Identifier 901663 901674 + BarBarToken 901674 901677 + BinaryExpression 901677 901721 + PropertyAccessExpression 901677 901694 + Identifier 901677 901689 + Identifier 901690 901694 + EqualsEqualsEqualsToken 901694 901698 + PropertyAccessExpression 901698 901721 + Identifier 901698 901709 + Identifier 901710 901721 + AmpersandAmpersandToken 901722 901725 + CallExpression 901725 901771 + Identifier 901725 901758 + Identifier 901759 901770 + AmpersandAmpersandToken 901771 901774 + ParenthesizedExpression 901774 901829 + BinaryExpression 901793 901828 + PrefixUnaryExpression 901793 901810 + Identifier 901794 901810 + BarBarToken 901810 901813 + PrefixUnaryExpression 901813 901828 + Identifier 901815 901828 + Block 901844 902241 + VariableStatement 901846 901976 + VariableDeclarationList 901846 901975 + VariableDeclaration 901869 901975 + Identifier 901869 901879 + ConditionalExpression 901881 901975 + BinaryExpression 901881 901925 + PropertyAccessExpression 901881 901898 + Identifier 901881 901893 + Identifier 901894 901898 + EqualsEqualsEqualsToken 901898 901902 + PropertyAccessExpression 901902 901925 + Identifier 901902 901913 + Identifier 901914 901925 + QuestionToken 901925 901927 + PropertyAccessExpression 901927 901950 + Identifier 901927 901938 + Identifier 901939 901950 + ColonToken 901950 901952 + PropertyAccessExpression 901952 901975 + Identifier 901952 901963 + Identifier 901964 901975 + VariableStatement 901976 902098 + VariableDeclarationList 901976 902097 + VariableDeclaration 901999 902097 + Identifier 901999 902005 + CallExpression 902007 902097 + Identifier 902007 902028 + TypeReference 902029 902048 + Identifier 902029 902048 + CallExpression 902050 902085 + Identifier 902050 902072 + Identifier 902073 902084 + Identifier 902086 902096 + IfStatement 902098 902226 + Identifier 902120 902125 + Block 902126 902226 + ExpressionStatement 902128 902207 + BinaryExpression 902128 902206 + Identifier 902128 902163 + EqualsToken 902163 902165 + CallExpression 902165 902206 + Identifier 902165 902199 + Identifier 902200 902205 + IfStatement 902241 902487 + BinaryExpression 902261 902294 + Identifier 902261 902268 + AmpersandAmpersandToken 902268 902271 + PropertyAccessExpression 902271 902294 + Identifier 902271 902279 + Identifier 902280 902294 + Block 902295 902487 + ExpressionStatement 902297 902472 + BinaryExpression 902297 902471 + Identifier 902297 902328 + EqualsToken 902328 902330 + CallExpression 902330 902471 + Identifier 902330 902351 + CallExpression 902352 902425 + Identifier 902352 902364 + PropertyAccessExpression 902365 902399 + Identifier 902365 902376 + Identifier 902377 902399 + PropertyAccessExpression 902400 902424 + Identifier 902400 902419 + Identifier 902420 902424 + CallExpression 902426 902470 + Identifier 902426 902446 + PropertyAccessExpression 902447 902469 + Identifier 902447 902454 + Identifier 902455 902469 + VariableStatement 902487 902608 + VariableDeclarationList 902487 902607 + VariableDeclaration 902508 902607 + Identifier 902508 902524 + ConditionalExpression 902526 902607 + CallExpression 902526 902556 + Identifier 902526 902543 + Identifier 902544 902555 + QuestionToken 902556 902558 + CallExpression 902558 902593 + Identifier 902558 902580 + Identifier 902581 902592 + ColonToken 902593 902595 + Identifier 902595 902607 + VariableStatement 902608 902853 + VariableDeclarationList 902608 902852 + VariableDeclaration 902627 902852 + Identifier 902627 902637 + ConditionalExpression 902639 902852 + BinaryExpression 902639 902700 + Identifier 902639 902655 + AmpersandAmpersandToken 902655 902658 + CallExpression 902658 902700 + Identifier 902658 902683 + Identifier 902684 902699 + QuestionToken 902700 902702 + CallExpression 902702 902823 + Identifier 902702 902753 + CallExpression 902754 902822 + Identifier 902754 902769 + PropertyAccessExpression 902770 902821 + ParenthesizedExpression 902770 902814 + AsExpression 902771 902813 + PropertyAccessExpression 902771 902793 + Identifier 902771 902786 + Identifier 902787 902793 + TypeReference 902796 902813 + Identifier 902796 902813 + Identifier 902815 902821 + ColonToken 902823 902842 + Identifier 902842 902852 + VariableStatement 902853 902980 + VariableDeclarationList 902853 902979 + VariableDeclaration 902872 902979 + Identifier 902872 902887 + ConditionalExpression 902889 902979 + Identifier 902889 902899 + QuestionToken 902899 902901 + PropertyAccessExpression 902901 902931 + Identifier 902901 902911 + Identifier 902912 902931 + ColonToken 902931 902933 + CallExpression 902933 902979 + Identifier 902933 902966 + Identifier 902967 902978 + IfStatement 902980 903192 + BinaryExpression 902998 903115 + CallExpression 902998 903027 + Identifier 902998 903014 + Identifier 903015 903026 + BarBarToken 903027 903030 + BinaryExpression 903030 903115 + CallExpression 903030 903054 + Identifier 903030 903041 + Identifier 903042 903053 + AmpersandAmpersandToken 903054 903057 + CallExpression 903057 903115 + Identifier 903057 903090 + Identifier 903091 903102 + Identifier 903103 903114 + Block 903116 903192 + ExpressionStatement 903118 903177 + BinaryExpression 903118 903176 + Identifier 903118 903141 + BarEqualsToken 903141 903144 + PropertyAccessExpression 903144 903176 + Identifier 903144 903159 + Identifier 903160 903176 + IfStatement 903192 903532 + BinaryExpression 903210 903449 + BinaryExpression 903210 903323 + CallExpression 903210 903262 + Identifier 903210 903249 + Identifier 903250 903261 + AmpersandAmpersandToken 903262 903265 + CallExpression 903265 903323 + Identifier 903265 903286 + Identifier 903287 903298 + PropertyAccessExpression 903299 903322 + Identifier 903299 903313 + Identifier 903314 903322 + BarBarToken 903323 903326 + BinaryExpression 903326 903449 + CallExpression 903326 903381 + Identifier 903326 903368 + Identifier 903369 903380 + AmpersandAmpersandToken 903381 903384 + CallExpression 903384 903449 + Identifier 903384 903405 + PropertyAccessExpression 903406 903424 + Identifier 903406 903417 + Identifier 903418 903424 + PropertyAccessExpression 903425 903448 + Identifier 903425 903439 + Identifier 903440 903448 + Block 903464 903532 + ExpressionStatement 903466 903517 + BinaryExpression 903466 903516 + Identifier 903466 903489 + BarEqualsToken 903489 903492 + PropertyAccessExpression 903492 903516 + Identifier 903492 903507 + Identifier 903508 903516 + ExpressionStatement 903532 903740 + BinaryExpression 903532 903739 + PropertyAccessExpression 903532 903569 + Identifier 903532 903551 + Identifier 903552 903569 + EqualsToken 903569 903571 + CallExpression 903571 903739 + Identifier 903571 903587 + Identifier 903588 903599 + Identifier 903600 903615 + Identifier 903616 903630 + Identifier 903631 903642 + Identifier 903643 903676 + Identifier 903677 903713 + Identifier 903714 903731 + Identifier 903732 903738 + ReturnStatement 903751 903792 + PropertyAccessExpression 903767 903791 + Identifier 903767 903773 + Identifier 903774 903791 + FunctionDeclaration 903799 905927 + Identifier 904149 904182 + Parameter 904183 904233 + Identifier 904183 904194 + UnionType 904195 904233 + TypeReference 904195 904216 + Identifier 904195 904216 + TypeReference 904218 904233 + Identifier 904218 904233 + Parameter 904234 904255 + Identifier 904234 904245 + ArrayType 904246 904255 + TypeReference 904246 904253 + Identifier 904246 904253 + BooleanKeyword 904257 904265 + Block 904265 905927 + IfStatement 904267 904395 + BinaryExpression 904281 904354 + CallExpression 904281 904310 + Identifier 904281 904297 + Identifier 904298 904309 + BarBarToken 904310 904313 + PrefixUnaryExpression 904313 904354 + CallExpression 904315 904354 + Identifier 904315 904341 + Identifier 904342 904353 + Block 904355 904395 + ReturnStatement 904357 904384 + FalseKeyword 904377 904383 + VariableStatement 904395 904463 + VariableDeclarationList 904395 904462 + VariableDeclaration 904410 904462 + Identifier 904410 904420 + CallExpression 904422 904462 + Identifier 904422 904438 + PropertyAccessExpression 904439 904461 + Identifier 904439 904450 + Identifier 904451 904461 + VariableStatement 904463 904596 + VariableDeclarationList 904463 904595 + VariableDeclaration 904478 904595 + Identifier 904478 904492 + ConditionalExpression 904494 904595 + Identifier 904494 904504 + QuestionToken 904504 904506 + CallExpression 904506 904539 + Identifier 904506 904528 + Identifier 904529 904538 + ColonToken 904539 904541 + CallExpression 904541 904595 + PropertyAccessExpression 904541 904574 + CallExpression 904541 904567 + Identifier 904541 904554 + Identifier 904555 904566 + Identifier 904568 904574 + Identifier 904575 904594 + VariableStatement 904596 904769 + VariableDeclarationList 904596 904768 + VariableDeclaration 904611 904768 + Identifier 904611 904633 + CallExpression 904635 904768 + Identifier 904635 904648 + Identifier 904649 904662 + ArrowFunction 904663 904767 + Parameter 904663 904665 + Identifier 904663 904665 + EqualsGreaterThanToken 904665 904668 + ConditionalExpression 904668 904767 + BinaryExpression 904668 904731 + PropertyAccessExpression 904668 904685 + Identifier 904668 904670 + Identifier 904671 904685 + AmpersandAmpersandToken 904685 904688 + CallExpression 904688 904731 + Identifier 904688 904708 + PropertyAccessExpression 904709 904730 + PropertyAccessExpression 904709 904725 + Identifier 904709 904710 + Identifier 904711 904725 + Identifier 904726 904730 + QuestionToken 904731 904733 + PropertyAccessExpression 904733 904755 + PropertyAccessExpression 904733 904750 + Identifier 904733 904735 + Identifier 904736 904750 + Identifier 904751 904755 + ColonToken 904755 904757 + Identifier 904757 904767 + VariableStatement 904769 904890 + VariableDeclarationList 904769 904889 + VariableDeclaration 904786 904889 + Identifier 904786 904806 + CallExpression 904808 904889 + Identifier 904808 904821 + PropertyAccessExpression 904822 904842 + Identifier 904822 904833 + Identifier 904834 904842 + AsExpression 904843 904862 + StringLiteral 904843 904850 + TypeReference 904853 904862 + Identifier 904853 904862 + PropertyAccessExpression 904863 904888 + Identifier 904863 904874 + Identifier 904875 904888 + IfStatement 904890 905705 + Identifier 904904 904925 + Block 904926 905116 + ExpressionStatement 904928 905105 + BinaryExpression 904928 905104 + PropertyAccessExpression 904928 905037 + PropertyAccessExpression 904928 905032 + Identifier 904928 905026 + Identifier 905027 905032 + Identifier 905033 905037 + EqualsToken 905037 905039 + CallExpression 905039 905104 + Identifier 905039 905055 + CallExpression 905056 905103 + Identifier 905056 905075 + PropertyAccessExpression 905076 905102 + Identifier 905076 905097 + Identifier 905098 905102 + Block 905130 905705 + ExpressionStatement 905132 905466 + BinaryExpression 905132 905465 + PropertyAccessExpression 905132 905438 + PropertyAccessExpression 905132 905427 + Identifier 905132 905421 + Identifier 905422 905427 + Identifier 905428 905438 + BarEqualsToken 905438 905441 + PropertyAccessExpression 905441 905465 + Identifier 905441 905452 + Identifier 905453 905465 + ExpressionStatement 905466 905533 + BinaryExpression 905466 905532 + PropertyAccessExpression 905466 905520 + PropertyAccessExpression 905466 905505 + Identifier 905466 905499 + Identifier 905500 905505 + Identifier 905506 905520 + EqualsToken 905520 905522 + Identifier 905522 905532 + ExpressionStatement 905533 905611 + BinaryExpression 905533 905610 + PropertyAccessExpression 905533 905593 + PropertyAccessExpression 905533 905572 + Identifier 905533 905566 + Identifier 905567 905572 + Identifier 905573 905593 + EqualsToken 905593 905595 + ArrayLiteralExpression 905595 905610 + Identifier 905597 905609 + ExpressionStatement 905611 905694 + BinaryExpression 905611 905693 + PropertyAccessExpression 905611 905676 + PropertyAccessExpression 905611 905650 + Identifier 905611 905644 + Identifier 905645 905650 + Identifier 905651 905676 + EqualsToken 905676 905678 + ArrayLiteralExpression 905678 905693 + Identifier 905680 905692 + IfStatement 905705 905851 + Identifier 905719 905740 + Block 905741 905851 + ExpressionStatement 905743 905840 + CallExpression 905743 905839 + PropertyAccessExpression 905743 905837 + Identifier 905743 905833 + Identifier 905834 905837 + ExpressionStatement 905851 905898 + CallExpression 905851 905897 + PropertyAccessExpression 905851 905876 + Identifier 905851 905871 + Identifier 905872 905876 + Identifier 905877 905896 + ReturnStatement 905898 905920 + TrueKeyword 905914 905919 + FunctionDeclaration 905927 906337 + Identifier 905943 905965 + Parameter 905966 906009 + Identifier 905966 905970 + UnionType 905971 906009 + TypeReference 905971 905992 + Identifier 905971 905992 + TypeReference 905994 906009 + Identifier 905994 906009 + Block 906010 906337 + IfStatement 906012 906170 + PrefixUnaryExpression 906097 906151 + ParenthesizedExpression 906098 906151 + BinaryExpression 906099 906150 + CallExpression 906099 906115 + Identifier 906099 906109 + Identifier 906110 906114 + AmpersandAmpersandToken 906115 906118 + CallExpression 906118 906150 + Identifier 906118 906144 + Identifier 906145 906149 + ReturnStatement 906152 906170 + Identifier 906159 906169 + VariableStatement 906170 906218 + VariableDeclarationList 906170 906217 + VariableDeclaration 906185 906217 + Identifier 906185 906193 + CallExpression 906195 906217 + Identifier 906195 906211 + Identifier 906212 906216 + ReturnStatement 906218 906330 + BinaryExpression 906234 906329 + PropertyAccessExpression 906234 906258 + Identifier 906234 906242 + QuestionDotToken 906242 906244 + Identifier 906244 906258 + AmpersandAmpersandToken 906258 906261 + CallExpression 906261 906329 + Identifier 906261 906284 + CallExpression 906285 906328 + Identifier 906285 906304 + PropertyAccessExpression 906305 906327 + Identifier 906305 906312 + Identifier 906313 906327 + FunctionDeclaration 906337 906726 + Identifier 906353 906379 + Parameter 906380 906409 + Identifier 906380 906384 + TypeReference 906385 906409 + Identifier 906385 906409 + Parameter 906410 906442 + Identifier 906410 906420 + TypeReference 906421 906442 + Identifier 906421 906442 + Block 906443 906726 + VariableStatement 906445 906501 + VariableDeclarationList 906445 906500 + VariableDeclaration 906460 906500 + Identifier 906460 906470 + CallExpression 906472 906500 + Identifier 906472 906494 + Identifier 906495 906499 + IfStatement 906501 906544 + PrefixUnaryExpression 906515 906525 + Identifier 906516 906525 + ReturnStatement 906526 906544 + Identifier 906533 906543 + VariableStatement 906544 906601 + VariableDeclarationList 906544 906600 + VariableDeclaration 906559 906600 + Identifier 906559 906563 + CallExpression 906565 906600 + PropertyAccessExpression 906565 906589 + PropertyAccessExpression 906565 906581 + Identifier 906565 906570 + Identifier 906571 906581 + Identifier 906582 906589 + Identifier 906590 906599 + ReturnStatement 906601 906719 + ConditionalExpression 906617 906718 + PropertyAccessExpression 906617 906642 + Identifier 906617 906627 + Identifier 906628 906642 + QuestionToken 906642 906644 + CallExpression 906644 906682 + Identifier 906644 906666 + Identifier 906667 906676 + Identifier 906677 906681 + ColonToken 906682 906684 + CallExpression 906684 906718 + Identifier 906684 906702 + Identifier 906703 906712 + Identifier 906713 906717 + FunctionDeclaration 906726 906941 + Identifier 906742 906765 + Parameter 906766 906809 + Identifier 906766 906770 + UnionType 906771 906809 + TypeReference 906771 906792 + Identifier 906771 906792 + TypeReference 906794 906809 + Identifier 906794 906809 + Block 906810 906941 + VariableStatement 906812 906868 + VariableDeclarationList 906812 906867 + VariableDeclaration 906827 906867 + Identifier 906827 906837 + CallExpression 906839 906867 + Identifier 906839 906861 + Identifier 906862 906866 + ReturnStatement 906868 906934 + BinaryExpression 906884 906933 + Identifier 906884 906894 + AmpersandAmpersandToken 906894 906897 + CallExpression 906897 906933 + Identifier 906897 906922 + Identifier 906923 906932 + FunctionDeclaration 906941 908748 + Identifier 906957 906984 + Parameter 906985 907018 + Identifier 906985 906996 + TypeReference 906997 907018 + Identifier 906997 907018 + BooleanKeyword 907020 907028 + Block 907028 908748 + VariableStatement 907030 907080 + VariableDeclarationList 907030 907079 + VariableDeclaration 907045 907079 + Identifier 907045 907051 + CallExpression 907053 907079 + Identifier 907053 907066 + Identifier 907067 907078 + IfStatement 907080 907438 + BinaryExpression 907094 907140 + PropertyAccessExpression 907094 907126 + Identifier 907094 907099 + Identifier 907100 907126 + EqualsEqualsEqualsToken 907126 907130 + Identifier 907130 907140 + Block 907141 907438 + IfStatement 907143 907427 + BinaryExpression 907161 907206 + PropertyAccessExpression 907161 907172 + Identifier 907161 907166 + Identifier 907167 907172 + AmpersandToken 907172 907174 + PropertyAccessExpression 907174 907206 + Identifier 907174 907189 + Identifier 907190 907206 + Block 907207 907282 + ExpressionStatement 907209 907267 + BinaryExpression 907209 907266 + PropertyAccessExpression 907209 907259 + Identifier 907209 907232 + Identifier 907233 907259 + EqualsToken 907259 907261 + TrueKeyword 907261 907266 + Block 907300 907427 + ExpressionStatement 907302 907412 + BinaryExpression 907302 907411 + PropertyAccessExpression 907302 907352 + Identifier 907302 907325 + Identifier 907326 907352 + EqualsToken 907352 907354 + CallExpression 907354 907411 + Identifier 907354 907363 + NonNullExpression 907364 907410 + PropertyAccessExpression 907364 907409 + ParenthesizedExpression 907364 907404 + AsExpression 907365 907403 + Identifier 907365 907376 + TypeReference 907379 907403 + Identifier 907379 907403 + Identifier 907405 907409 + ReturnStatement 907438 907488 + PropertyAccessExpression 907454 907487 + Identifier 907454 907460 + Identifier 907461 907487 + FunctionDeclaration 907488 908741 + Identifier 907508 907517 + Parameter 907518 907528 + Identifier 907518 907522 + TypeReference 907523 907528 + Identifier 907523 907528 + BooleanKeyword 907530 907538 + Block 907538 908741 + IfStatement 907540 907578 + PrefixUnaryExpression 907558 907563 + Identifier 907559 907563 + ReturnStatement 907564 907578 + FalseKeyword 907571 907577 + SwitchStatement 907578 908730 + PropertyAccessExpression 907600 907609 + Identifier 907600 907604 + Identifier 907605 907609 + CaseBlock 907610 908730 + CaseClause 907612 907819 + PropertyAccessExpression 907634 907656 + Identifier 907634 907645 + Identifier 907646 907656 + ReturnStatement 907657 907819 + BinaryExpression 907685 907818 + BinaryExpression 907685 907750 + PropertyAccessExpression 907685 907718 + ParenthesizedExpression 907685 907706 + AsExpression 907687 907705 + Identifier 907687 907691 + TypeReference 907694 907705 + Identifier 907694 907705 + Identifier 907707 907718 + EqualsEqualsEqualsToken 907718 907722 + PropertyAccessExpression 907722 907750 + Identifier 907722 907738 + Identifier 907739 907750 + AmpersandAmpersandToken 907750 907753 + BinaryExpression 907753 907818 + CallExpression 907753 907798 + Identifier 907753 907778 + AsExpression 907779 907797 + Identifier 907779 907783 + TypeReference 907786 907797 + Identifier 907786 907797 + EqualsEqualsEqualsToken 907798 907802 + Identifier 907802 907818 + CaseClause 907819 907875 + PropertyAccessExpression 907843 907874 + Identifier 907843 907854 + Identifier 907855 907874 + CaseClause 907875 907927 + PropertyAccessExpression 907897 907926 + Identifier 907897 907908 + Identifier 907909 907926 + CaseClause 907927 907973 + PropertyAccessExpression 907949 907972 + Identifier 907949 907960 + Identifier 907961 907972 + CaseClause 907973 908193 + PropertyAccessExpression 907995 908018 + Identifier 907995 908006 + Identifier 908007 908018 + ReturnStatement 908019 908193 + BinaryExpression 908047 908192 + BinaryExpression 908047 908121 + PropertyAccessExpression 908047 908085 + NonNullExpression 908047 908080 + PropertyAccessExpression 908047 908079 + ParenthesizedExpression 908047 908074 + AsExpression 908049 908073 + Identifier 908049 908053 + TypeReference 908056 908073 + Identifier 908056 908073 + Identifier 908075 908079 + Identifier 908081 908085 + EqualsEqualsEqualsToken 908085 908089 + PropertyAccessExpression 908089 908121 + Identifier 908089 908100 + Identifier 908101 908121 + AmpersandAmpersandToken 908121 908149 + CallExpression 908149 908192 + Identifier 908149 908158 + NonNullExpression 908159 908191 + PropertyAccessExpression 908159 908190 + ParenthesizedExpression 908159 908185 + AsExpression 908160 908184 + Identifier 908160 908164 + TypeReference 908167 908184 + Identifier 908167 908184 + Identifier 908186 908190 + CaseClause 908193 908254 + PropertyAccessExpression 908217 908253 + Identifier 908217 908228 + Identifier 908229 908253 + CaseClause 908254 908423 + PropertyAccessExpression 908276 908311 + Identifier 908276 908287 + Identifier 908288 908311 + ReturnStatement 908312 908423 + CallExpression 908340 908422 + Identifier 908340 908349 + PropertyAccessExpression 908350 908421 + ParenthesizedExpression 908350 908410 + AsExpression 908351 908409 + Identifier 908351 908355 + UnionType 908358 908409 + TypeReference 908358 908383 + Identifier 908358 908383 + TypeReference 908385 908409 + Identifier 908385 908409 + Identifier 908411 908421 + CaseClause 908423 908558 + PropertyAccessExpression 908447 908477 + Identifier 908447 908458 + Identifier 908459 908477 + ReturnStatement 908478 908558 + CallExpression 908506 908557 + Identifier 908506 908515 + PropertyAccessExpression 908516 908556 + ParenthesizedExpression 908516 908544 + AsExpression 908517 908543 + Identifier 908517 908521 + TypeReference 908524 908543 + Identifier 908524 908543 + Identifier 908545 908556 + DefaultClause 908558 908715 + ReturnStatement 908586 908715 + BinaryExpression 908614 908714 + BinaryExpression 908614 908680 + PrefixUnaryExpression 908614 908653 + CallExpression 908616 908653 + Identifier 908616 908647 + Identifier 908648 908652 + AmpersandAmpersandToken 908653 908656 + PrefixUnaryExpression 908656 908680 + CallExpression 908658 908680 + Identifier 908658 908674 + Identifier 908675 908679 + AmpersandAmpersandToken 908680 908683 + PrefixUnaryExpression 908683 908714 + PrefixUnaryExpression 908685 908714 + CallExpression 908686 908714 + Identifier 908686 908698 + Identifier 908699 908703 + Identifier 908704 908713 + FunctionDeclaration 908748 911033 + Identifier 908764 908786 + Parameter 908787 908813 + Identifier 908787 908793 + UnionType 908794 908813 + TypeReference 908794 908801 + Identifier 908794 908801 + UndefinedKeyword 908803 908813 + ArrayType 908815 908827 + TypeReference 908815 908825 + Identifier 908815 908825 + Block 908827 911033 + IfStatement 908829 908894 + BinaryExpression 908843 908874 + PrefixUnaryExpression 908843 908850 + Identifier 908844 908850 + BarBarToken 908850 908853 + PrefixUnaryExpression 908853 908874 + PropertyAccessExpression 908855 908874 + Identifier 908855 908861 + Identifier 908862 908874 + ReturnStatement 908875 908894 + Identifier 908882 908893 + VariableStatement 908894 908935 + VariableDeclarationList 908894 908934 + VariableDeclaration 908909 908934 + Identifier 908909 908916 + ArrayType 908917 908929 + TypeReference 908917 908927 + Identifier 908917 908927 + ArrayLiteralExpression 908931 908934 + ForStatement 908935 911002 + VariableDeclarationList 908950 908959 + VariableDeclaration 908953 908959 + Identifier 908953 908955 + NumericLiteral 908957 908959 + BinaryExpression 908960 908991 + Identifier 908960 908962 + LessThanToken 908962 908964 + PropertyAccessExpression 908964 908991 + PropertyAccessExpression 908964 908984 + Identifier 908964 908971 + Identifier 908972 908984 + Identifier 908985 908991 + PostfixUnaryExpression 908992 908996 + Identifier 908992 908994 + Block 908997 911002 + VariableStatement 908999 909049 + VariableDeclarationList 908999 909048 + VariableDeclaration 909018 909048 + Identifier 909018 909023 + ElementAccessExpression 909025 909048 + PropertyAccessExpression 909025 909045 + Identifier 909025 909032 + Identifier 909033 909045 + Identifier 909046 909047 + IfStatement 909049 909099 + PrefixUnaryExpression 909067 909088 + CallExpression 909068 909088 + Identifier 909068 909082 + Identifier 909083 909087 + ContinueStatement 909089 909099 + IfStatement 909099 909760 + BinaryExpression 909467 909514 + BinaryExpression 909467 909472 + Identifier 909467 909468 + GreaterThanToken 909468 909470 + NumericLiteral 909470 909472 + AmpersandAmpersandToken 909472 909475 + PropertyAccessExpression 909475 909514 + ParenthesizedExpression 909475 909509 + AsExpression 909477 909508 + Identifier 909477 909481 + TypeReference 909484 909508 + Identifier 909484 909508 + Identifier 909510 909514 + Block 909515 909760 + VariableStatement 909517 909579 + VariableDeclarationList 909517 909578 + VariableDeclaration 909540 909578 + Identifier 909540 909549 + ElementAccessExpression 909551 909578 + PropertyAccessExpression 909551 909571 + Identifier 909551 909558 + Identifier 909559 909571 + BinaryExpression 909572 909577 + Identifier 909572 909573 + MinusToken 909573 909575 + NumericLiteral 909575 909577 + IfStatement 909579 909745 + BinaryExpression 909601 909692 + BinaryExpression 909601 909663 + BinaryExpression 909601 909632 + PropertyAccessExpression 909601 909612 + Identifier 909601 909605 + Identifier 909606 909612 + EqualsEqualsEqualsToken 909612 909616 + PropertyAccessExpression 909616 909632 + Identifier 909616 909625 + Identifier 909626 909632 + AmpersandAmpersandToken 909632 909635 + BinaryExpression 909635 909663 + PropertyAccessExpression 909635 909645 + Identifier 909635 909640 + Identifier 909641 909645 + EqualsEqualsEqualsToken 909645 909649 + PropertyAccessExpression 909649 909663 + Identifier 909649 909658 + Identifier 909659 909663 + AmpersandAmpersandToken 909663 909666 + BinaryExpression 909666 909692 + PropertyAccessExpression 909666 909675 + Identifier 909666 909671 + Identifier 909672 909675 + EqualsEqualsEqualsToken 909675 909679 + PropertyAccessExpression 909679 909692 + Identifier 909679 909688 + Identifier 909689 909692 + Block 909693 909745 + ContinueStatement 909695 909726 + IfStatement 909760 910393 + BinaryExpression 909778 909808 + CallExpression 909778 909794 + Identifier 909778 909788 + Identifier 909789 909793 + AmpersandAmpersandToken 909794 909797 + PropertyAccessExpression 909797 909808 + Identifier 909797 909802 + Identifier 909803 909808 + Block 909809 910393 + VariableStatement 909811 909869 + VariableDeclarationList 909811 909868 + VariableDeclaration 909834 909868 + Identifier 909834 909839 + CallExpression 909841 909868 + Identifier 909841 909862 + Identifier 909863 909867 + IfStatement 909869 910378 + CallExpression 909891 909903 + Identifier 909891 909897 + Identifier 909898 909902 + Block 909904 910378 + ForOfStatement 909906 910328 + VariableDeclarationList 909933 909942 + VariableDeclaration 909938 909942 + Identifier 909938 909942 + Identifier 909945 909950 + Block 909951 910328 + VariableStatement 909953 910021 + VariableDeclarationList 909953 910020 + VariableDeclaration 909984 910020 + Identifier 909984 909999 + PropertyAccessExpression 910001 910020 + Identifier 910001 910005 + Identifier 910006 910020 + IfStatement 910021 910222 + BinaryExpression 910051 910119 + BinaryExpression 910051 910084 + PropertyAccessExpression 910051 910070 + Identifier 910051 910065 + Identifier 910066 910070 + EqualsEqualsEqualsToken 910070 910074 + Identifier 910074 910084 + AmpersandAmpersandToken 910084 910087 + PrefixUnaryExpression 910087 910119 + CallExpression 910089 910119 + Identifier 910089 910113 + Identifier 910114 910118 + Block 910120 910222 + ExpressionStatement 910122 910195 + CallExpression 910122 910194 + Identifier 910122 910169 + Identifier 910170 910184 + Identifier 910185 910193 + ExpressionStatement 910222 910305 + CallExpression 910222 910304 + PropertyAccessExpression 910222 910259 + Identifier 910222 910254 + Identifier 910255 910259 + CallExpression 910260 910303 + Identifier 910260 910287 + Identifier 910288 910302 + ContinueStatement 910328 910359 + ExpressionStatement 910393 910991 + CallExpression 910393 910990 + PropertyAccessExpression 910393 910748 + Identifier 910393 910743 + Identifier 910744 910748 + BinaryExpression 910749 910974 + ParenthesizedExpression 910749 910916 + BinaryExpression 910768 910915 + BinaryExpression 910768 910863 + PrefixUnaryExpression 910768 910810 + CallExpression 910769 910810 + Identifier 910769 910804 + Identifier 910805 910809 + AmpersandAmpersandToken 910810 910813 + PrefixUnaryExpression 910813 910863 + CallExpression 910836 910863 + Identifier 910836 910857 + Identifier 910858 910862 + AmpersandAmpersandToken 910863 910866 + CallExpression 910866 910915 + Identifier 910866 910909 + Identifier 910910 910914 + BarBarToken 910916 910919 + CallExpression 910919 910974 + Identifier 910919 910968 + Identifier 910969 910973 + ReturnStatement 911002 911026 + Identifier 911018 911025 + FunctionDeclaration 911033 911445 + Identifier 911049 911084 + Parameter 911085 911104 + Identifier 911085 911089 + TypeReference 911090 911104 + Identifier 911090 911104 + Block 911105 911445 + VariableStatement 911107 911173 + VariableDeclarationList 911107 911172 + VariableDeclaration 911122 911172 + Identifier 911122 911132 + CallExpression 911134 911172 + Identifier 911134 911160 + Identifier 911161 911165 + Identifier 911166 911171 + IfStatement 911173 911411 + Identifier 911187 911196 + Block 911197 911411 + VariableStatement 911199 911281 + VariableDeclarationList 911199 911280 + VariableDeclaration 911218 911280 + Identifier 911218 911239 + CallExpression 911241 911280 + Identifier 911241 911269 + Identifier 911270 911279 + IfStatement 911281 911400 + Identifier 911299 911319 + Block 911320 911400 + ReturnStatement 911322 911385 + CallExpression 911346 911384 + Identifier 911346 911362 + Identifier 911363 911383 + ReturnStatement 911411 911438 + Identifier 911429 911437 + FunctionDeclaration 911445 911646 + Identifier 911461 911484 + Parameter 911485 911505 + Identifier 911485 911494 + TypeReference 911495 911505 + Identifier 911495 911505 + UnionType 911507 911524 + TypeReference 911507 911512 + Identifier 911507 911512 + UndefinedKeyword 911514 911524 + Block 911524 911646 + IfStatement 911526 911639 + PropertyAccessExpression 911540 911563 + Identifier 911540 911549 + Identifier 911550 911563 + Block 911564 911639 + ReturnStatement 911566 911628 + CallExpression 911586 911627 + Identifier 911586 911602 + PropertyAccessExpression 911603 911626 + Identifier 911603 911612 + Identifier 911613 911626 + FunctionDeclaration 911646 913981 + Identifier 911662 911690 + Parameter 911691 911711 + Identifier 911691 911700 + TypeReference 911701 911711 + Identifier 911701 911711 + UnionType 911713 911739 + TypeReference 911713 911727 + Identifier 911713 911727 + UndefinedKeyword 911729 911739 + Block 911739 913981 + IfStatement 911741 913859 + PrefixUnaryExpression 911755 911787 + PropertyAccessExpression 911756 911787 + Identifier 911756 911765 + Identifier 911766 911787 + Block 911788 913859 + IfStatement 911790 913786 + PropertyAccessExpression 911808 911824 + Identifier 911808 911817 + Identifier 911818 911824 + Block 911825 912091 + VariableStatement 911827 911919 + VariableDeclarationList 911827 911918 + VariableDeclaration 911850 911918 + Identifier 911850 911870 + CallExpression 911872 911918 + Identifier 911872 911900 + PropertyAccessExpression 911901 911917 + Identifier 911901 911910 + Identifier 911911 911917 + ExpressionStatement 911919 912076 + BinaryExpression 911919 912075 + PropertyAccessExpression 911919 911968 + Identifier 911919 911946 + Identifier 911947 911968 + EqualsToken 911968 911970 + ConditionalExpression 911970 912075 + Identifier 911970 911990 + QuestionToken 911990 911992 + CallExpression 911992 912057 + Identifier 911992 912017 + Identifier 912018 912037 + NonNullExpression 912038 912056 + PropertyAccessExpression 912038 912055 + Identifier 912038 912048 + Identifier 912049 912055 + ColonToken 912057 912059 + Identifier 912059 912075 + IfStatement 912109 913786 + PropertyAccessExpression 912114 912143 + Identifier 912114 912123 + Identifier 912124 912143 + Block 912144 912324 + ExpressionStatement 912146 912309 + BinaryExpression 912146 912308 + PropertyAccessExpression 912146 912195 + Identifier 912146 912173 + Identifier 912174 912195 + EqualsToken 912195 912197 + BinaryExpression 912197 912308 + CallExpression 912197 912289 + Identifier 912197 912233 + PropertyAccessExpression 912234 912263 + Identifier 912234 912243 + Identifier 912244 912263 + PropertyAccessExpression 912264 912288 + Identifier 912264 912274 + Identifier 912275 912288 + BarBarToken 912289 912292 + Identifier 912292 912308 + Block 912342 913786 + VariableStatement 912344 912450 + VariableDeclarationList 912344 912449 + VariableDeclaration 912367 912449 + Identifier 912367 912372 + BinaryExpression 912374 912449 + PropertyAccessExpression 912374 912396 + Identifier 912374 912384 + Identifier 912385 912396 + AmpersandAmpersandToken 912396 912399 + CallExpression 912399 912449 + Identifier 912399 912426 + PropertyAccessExpression 912427 912448 + Identifier 912427 912436 + Identifier 912437 912448 + VariableStatement 912450 912514 + VariableDeclarationList 912450 912513 + VariableDeclaration 912471 912513 + Identifier 912471 912486 + UnionType 912487 912513 + TypeReference 912487 912501 + Identifier 912487 912501 + UndefinedKeyword 912503 912513 + IfStatement 912514 912839 + PrefixUnaryExpression 912536 912541 + Identifier 912537 912541 + Block 912542 912839 + VariableStatement 912544 912635 + VariableDeclarationList 912544 912634 + VariableDeclaration 912571 912634 + Identifier 912571 912586 + CallExpression 912588 912634 + Identifier 912588 912610 + NonNullExpression 912611 912633 + PropertyAccessExpression 912611 912632 + Identifier 912611 912620 + Identifier 912621 912632 + IfStatement 912635 912820 + BinaryExpression 912661 912707 + Identifier 912661 912675 + AmpersandAmpersandToken 912675 912678 + BinaryExpression 912678 912707 + Identifier 912678 912688 + ExclamationEqualsEqualsToken 912688 912692 + Identifier 912692 912707 + Block 912708 912820 + ExpressionStatement 912710 912797 + BinaryExpression 912710 912796 + Identifier 912710 912750 + EqualsToken 912750 912752 + CallExpression 912752 912796 + Identifier 912752 912780 + Identifier 912781 912795 + IfStatement 912839 913771 + BinaryExpression 912861 912883 + Identifier 912861 912865 + BarBarToken 912865 912868 + Identifier 912868 912883 + Block 912884 913141 + ExpressionStatement 912886 913122 + BinaryExpression 912886 913121 + PropertyAccessExpression 912886 912939 + Identifier 912886 912917 + Identifier 912918 912939 + EqualsToken 912939 912941 + ConditionalExpression 912941 913121 + BinaryExpression 912941 912975 + Identifier 912941 912946 + AmpersandAmpersandToken 912946 912949 + CallExpression 912949 912975 + Identifier 912949 912969 + Identifier 912970 912974 + QuestionToken 912975 912977 + CallExpression 912977 913060 + Identifier 912977 913043 + Identifier 913044 913048 + Identifier 913049 913059 + ColonToken 913060 913062 + BinaryExpression 913062 913121 + Identifier 913062 913102 + BarBarToken 913102 913105 + Identifier 913105 913121 + IfStatement 913163 913771 + BinaryExpression 913168 913370 + BinaryExpression 913168 913334 + BinaryExpression 913168 913241 + PropertyAccessExpression 913168 913189 + Identifier 913168 913177 + Identifier 913178 913189 + AmpersandAmpersandToken 913189 913192 + CallExpression 913192 913241 + Identifier 913192 913218 + PropertyAccessExpression 913219 913240 + Identifier 913219 913228 + Identifier 913229 913240 + AmpersandAmpersandToken 913241 913244 + ParenthesizedExpression 913244 913334 + BinaryExpression 913246 913333 + PrefixUnaryExpression 913246 913275 + PropertyAccessExpression 913247 913275 + Identifier 913247 913256 + Identifier 913257 913275 + BarBarToken 913275 913278 + BinaryExpression 913278 913333 + PropertyAccessExpression 913278 913313 + PropertyAccessExpression 913278 913307 + Identifier 913278 913288 + Identifier 913289 913307 + Identifier 913308 913313 + AmpersandToken 913313 913315 + PropertyAccessExpression 913315 913333 + Identifier 913315 913325 + Identifier 913326 913333 + AmpersandAmpersandToken 913334 913337 + BinaryExpression 913337 913370 + CallExpression 913337 913366 + Identifier 913337 913355 + Identifier 913356 913365 + GreaterThanToken 913366 913368 + NumericLiteral 913368 913370 + Block 913371 913656 + VariableStatement 913373 913429 + VariableDeclarationList 913373 913428 + VariableDeclaration 913400 913428 + ObjectBindingPattern 913400 913416 + BindingElement 913402 913414 + Identifier 913402 913414 + Identifier 913418 913428 + ExpressionStatement 913429 913501 + BinaryExpression 913429 913500 + PropertyAccessExpression 913429 913482 + Identifier 913429 913460 + Identifier 913461 913482 + EqualsToken 913482 913484 + Identifier 913484 913500 + ExpressionStatement 913501 913637 + BinaryExpression 913501 913636 + PropertyAccessExpression 913501 913577 + Identifier 913501 913555 + Identifier 913556 913577 + EqualsToken 913577 913579 + BinaryExpression 913579 913636 + CallExpression 913579 913617 + Identifier 913579 913604 + Identifier 913605 913616 + BarBarToken 913617 913620 + Identifier 913620 913636 + Block 913678 913771 + ExpressionStatement 913680 913752 + BinaryExpression 913680 913751 + PropertyAccessExpression 913680 913733 + Identifier 913680 913711 + Identifier 913712 913733 + EqualsToken 913733 913735 + Identifier 913735 913751 + ExpressionStatement 913786 913848 + CallExpression 913786 913847 + PropertyAccessExpression 913786 913812 + Identifier 913786 913805 + Identifier 913806 913812 + PrefixUnaryExpression 913813 913846 + PrefixUnaryExpression 913814 913846 + PropertyAccessExpression 913815 913846 + Identifier 913815 913824 + Identifier 913825 913846 + ReturnStatement 913859 913974 + ConditionalExpression 913875 913973 + BinaryExpression 913875 913927 + PropertyAccessExpression 913875 913907 + Identifier 913875 913885 + Identifier 913886 913907 + EqualsEqualsEqualsToken 913907 913911 + Identifier 913911 913927 + QuestionToken 913927 913929 + Identifier 913929 913939 + ColonToken 913939 913941 + PropertyAccessExpression 913941 913973 + Identifier 913941 913951 + Identifier 913952 913973 + FunctionDeclaration 913981 914718 + Identifier 913997 914038 + Parameter 914039 914062 + Identifier 914039 914043 + TypeReference 914044 914062 + Identifier 914044 914062 + Parameter 914063 914084 + Identifier 914063 914073 + TypeReference 914074 914084 + Identifier 914074 914084 + TypeReference 914086 914100 + Identifier 914086 914100 + Block 914100 914718 + VariableStatement 914102 914153 + VariableDeclarationList 914102 914152 + VariableDeclaration 914117 914152 + Identifier 914117 914131 + PropertyAccessExpression 914133 914152 + Identifier 914133 914138 + Identifier 914139 914152 + VariableStatement 914153 914220 + VariableDeclarationList 914153 914219 + VariableDeclaration 914168 914219 + Identifier 914168 914173 + BinaryExpression 914175 914219 + PropertyAccessExpression 914175 914185 + Identifier 914175 914180 + Identifier 914181 914185 + AmpersandAmpersandToken 914185 914188 + CallExpression 914188 914219 + Identifier 914188 914208 + PropertyAccessExpression 914209 914218 + Identifier 914209 914213 + Identifier 914214 914218 + ReturnStatement 914220 914711 + ConditionalExpression 914236 914710 + BinaryExpression 914236 914279 + PropertyAccessExpression 914236 914255 + Identifier 914236 914250 + Identifier 914251 914255 + EqualsEqualsEqualsToken 914255 914259 + PropertyAccessExpression 914259 914279 + Identifier 914259 914270 + Identifier 914271 914279 + QuestionToken 914279 914281 + CallExpression 914281 914458 + Identifier 914281 914314 + ConditionalExpression 914315 914392 + PropertyAccessExpression 914315 914335 + Identifier 914315 914319 + Identifier 914320 914335 + QuestionToken 914335 914337 + PropertyAccessExpression 914337 914367 + Identifier 914337 914355 + Identifier 914356 914367 + ColonToken 914367 914369 + PropertyAccessExpression 914369 914392 + Identifier 914369 914387 + Identifier 914388 914392 + Identifier 914393 914421 + Identifier 914422 914451 + Identifier 914452 914457 + ColonToken 914458 914460 + CallExpression 914460 914710 + Identifier 914460 914493 + ConditionalExpression 914494 914583 + PropertyAccessExpression 914494 914514 + Identifier 914494 914498 + Identifier 914499 914514 + QuestionToken 914514 914516 + PropertyAccessExpression 914516 914552 + Identifier 914516 914534 + Identifier 914535 914552 + ColonToken 914552 914554 + PropertyAccessExpression 914554 914583 + Identifier 914554 914572 + Identifier 914573 914583 + AsExpression 914584 914620 + PropertyAccessExpression 914584 914610 + Identifier 914584 914598 + Identifier 914599 914610 + StringKeyword 914613 914620 + CallExpression 914621 914703 + Identifier 914621 914631 + PropertyAccessExpression 914632 914652 + Identifier 914632 914641 + Identifier 914642 914652 + ArrowFunction 914653 914702 + Parameter 914653 914655 + Identifier 914653 914655 + EqualsGreaterThanToken 914655 914658 + BinaryExpression 914658 914702 + PropertyAccessExpression 914658 914672 + Identifier 914658 914660 + Identifier 914661 914672 + EqualsEqualsEqualsToken 914672 914676 + PropertyAccessExpression 914676 914702 + Identifier 914676 914690 + Identifier 914691 914702 + Identifier 914704 914709 + FunctionDeclaration 914718 914963 + Identifier 914734 914761 + Parameter 914762 914775 + Identifier 914762 914767 + ArrayType 914768 914775 + TypeReference 914768 914773 + Identifier 914768 914773 + Parameter 914776 914804 + Identifier 914776 914781 + UnionType 914782 914804 + TypeReference 914782 914792 + Identifier 914782 914792 + UndefinedKeyword 914794 914804 + Parameter 914805 914837 + Identifier 914805 914820 + QuestionToken 914820 914821 + TypeReference 914822 914837 + Identifier 914822 914837 + Block 914838 914963 + ReturnStatement 914840 914956 + ConditionalExpression 914856 914955 + BinaryExpression 914856 914888 + Identifier 914856 914861 + ExclamationEqualsEqualsToken 914861 914865 + PropertyAccessExpression 914865 914888 + Identifier 914865 914875 + Identifier 914876 914888 + QuestionToken 914888 914890 + CallExpression 914890 914926 + Identifier 914890 914903 + Identifier 914904 914909 + Identifier 914910 914925 + ColonToken 914926 914928 + CallExpression 914928 914955 + Identifier 914928 914948 + Identifier 914949 914954 + FunctionDeclaration 914963 917438 + Identifier 914979 915004 + Parameter 915005 915025 + Identifier 915005 915014 + TypeReference 915015 915025 + Identifier 915015 915025 + TypeReference 915027 915032 + Identifier 915027 915032 + Block 915032 917438 + IfStatement 915034 917385 + PrefixUnaryExpression 915048 915077 + PropertyAccessExpression 915049 915077 + Identifier 915049 915058 + Identifier 915059 915077 + Block 915078 917385 + IfStatement 915080 915224 + PrefixUnaryExpression 915098 915171 + CallExpression 915099 915171 + Identifier 915099 915117 + Identifier 915118 915127 + PropertyAccessExpression 915128 915170 + Identifier 915128 915151 + Identifier 915152 915170 + Block 915172 915224 + ReturnStatement 915174 915209 + Identifier 915198 915208 + VariableStatement 915224 915818 + VariableDeclarationList 915224 915817 + VariableDeclaration 915241 915817 + Identifier 915241 915246 + ConditionalExpression 915248 915817 + PropertyAccessExpression 915248 915265 + Identifier 915248 915258 + Identifier 915259 915265 + QuestionToken 915265 915267 + CallExpression 915267 915345 + Identifier 915267 915283 + CallExpression 915284 915326 + Identifier 915284 915308 + PropertyAccessExpression 915309 915325 + Identifier 915309 915318 + Identifier 915319 915325 + PropertyAccessExpression 915327 915344 + Identifier 915327 915337 + Identifier 915338 915344 + ColonToken 915345 915347 + ConditionalExpression 915347 915817 + PropertyAccessExpression 915347 915394 + Identifier 915347 915374 + Identifier 915375 915394 + QuestionToken 915394 915396 + CallExpression 915396 915569 + Identifier 915396 915412 + CallExpression 915413 915550 + Identifier 915413 915439 + CallExpression 915440 915500 + Identifier 915440 915443 + PropertyAccessExpression 915444 915473 + Identifier 915444 915453 + Identifier 915454 915473 + Identifier 915474 915499 + PropertyAccessExpression 915501 915525 + Identifier 915501 915511 + Identifier 915512 915525 + PropertyAccessExpression 915526 915549 + Identifier 915526 915541 + Identifier 915542 915549 + PropertyAccessExpression 915551 915568 + Identifier 915551 915561 + Identifier 915562 915568 + ColonToken 915569 915571 + BinaryExpression 915571 915817 + CallExpression 915571 915640 + Identifier 915571 915616 + NonNullExpression 915617 915639 + PropertyAccessExpression 915617 915638 + Identifier 915617 915626 + Identifier 915627 915638 + BarBarToken 915640 915643 + ParenthesizedExpression 915643 915817 + ConditionalExpression 915662 915816 + CallExpression 915662 915732 + Identifier 915662 915675 + PropertyAccessExpression 915676 915731 + ParenthesizedExpression 915676 915726 + AsExpression 915677 915725 + PropertyAccessExpression 915677 915698 + Identifier 915677 915686 + Identifier 915687 915698 + TypeReference 915701 915725 + Identifier 915701 915725 + Identifier 915727 915731 + QuestionToken 915732 915734 + Identifier 915734 915742 + ColonToken 915742 915744 + CallExpression 915744 915816 + Identifier 915744 915766 + AsExpression 915767 915815 + PropertyAccessExpression 915767 915788 + Identifier 915767 915776 + Identifier 915777 915788 + TypeReference 915791 915815 + Identifier 915791 915815 + IfStatement 915818 916093 + BinaryExpression 915836 915885 + PropertyAccessExpression 915836 915851 + Identifier 915836 915845 + Identifier 915846 915851 + AmpersandToken 915851 915853 + PropertyAccessExpression 915853 915885 + Identifier 915853 915868 + Identifier 915869 915885 + Block 915886 915956 + ExpressionStatement 915888 915941 + BinaryExpression 915888 915940 + Identifier 915888 915910 + EqualsToken 915910 915912 + CallExpression 915912 915940 + Identifier 915912 915934 + Identifier 915935 915939 + IfStatement 915974 916093 + BinaryExpression 915979 916028 + PropertyAccessExpression 915979 915994 + Identifier 915979 915988 + Identifier 915989 915994 + AmpersandToken 915994 915996 + PropertyAccessExpression 915996 916028 + Identifier 915996 916011 + Identifier 916012 916028 + Block 916029 916093 + ExpressionStatement 916031 916078 + BinaryExpression 916031 916077 + Identifier 916031 916053 + EqualsToken 916053 916055 + CallExpression 916055 916077 + Identifier 916055 916071 + Identifier 916072 916076 + IfStatement 916093 917322 + PrefixUnaryExpression 916111 916131 + CallExpression 916112 916131 + Identifier 916112 916129 + Block 916132 917322 + IfStatement 916134 917274 + PropertyAccessExpression 916156 916177 + Identifier 916156 916165 + Identifier 916166 916177 + Block 916178 917274 + VariableStatement 916180 916269 + VariableDeclarationList 916180 916268 + VariableDeclaration 916207 916268 + Identifier 916207 916216 + CallExpression 916218 916268 + Identifier 916218 916245 + PropertyAccessExpression 916246 916267 + Identifier 916246 916255 + Identifier 916256 916267 + IfStatement 916269 917255 + Identifier 916295 916303 + Block 916304 916436 + ExpressionStatement 916306 916413 + CallExpression 916306 916412 + Identifier 916306 916337 + Identifier 916338 916346 + PropertyAccessExpression 916347 916411 + Identifier 916347 916359 + Identifier 916360 916411 + IfStatement 916462 917255 + Identifier 916467 916480 + Block 916481 917255 + VariableStatement 916483 916566 + VariableDeclarationList 916483 916565 + VariableDeclaration 916514 916565 + Identifier 916514 916526 + AsExpression 916528 916565 + PropertyAccessExpression 916528 916550 + Identifier 916528 916538 + Identifier 916539 916550 + TypeReference 916553 916565 + Identifier 916553 916565 + VariableStatement 916566 916639 + VariableDeclarationList 916566 916638 + VariableDeclaration 916597 916638 + Identifier 916597 916602 + CallExpression 916604 916638 + Identifier 916604 916625 + Identifier 916626 916637 + IfStatement 916639 917232 + Identifier 916669 916673 + Block 916674 916947 + ExpressionStatement 916676 916920 + CallExpression 916676 916919 + Identifier 916676 916711 + Identifier 916712 916716 + PropertyAccessExpression 916717 916887 + Identifier 916717 916729 + Identifier 916730 916887 + CallExpression 916888 916918 + Identifier 916888 916912 + Identifier 916913 916917 + Block 916977 917232 + ExpressionStatement 916979 917205 + CallExpression 916979 917204 + Identifier 916979 917014 + Identifier 917015 917026 + PropertyAccessExpression 917027 917203 + Identifier 917027 917039 + Identifier 917040 917203 + ExpressionStatement 917274 917307 + BinaryExpression 917274 917306 + Identifier 917274 917296 + EqualsToken 917296 917298 + Identifier 917298 917306 + ExpressionStatement 917322 917374 + BinaryExpression 917322 917373 + PropertyAccessExpression 917322 917364 + Identifier 917322 917345 + Identifier 917346 917364 + QuestionQuestionEqualsToken 917364 917368 + Identifier 917368 917373 + ReturnStatement 917385 917431 + PropertyAccessExpression 917401 917430 + Identifier 917401 917411 + Identifier 917412 917430 + FunctionDeclaration 917438 919028 + Identifier 917454 917482 + Parameter 917483 917533 + Identifier 917483 917494 + UnionType 917495 917533 + TypeReference 917495 917516 + Identifier 917495 917516 + TypeReference 917518 917533 + Identifier 917518 917533 + Block 917534 919028 + IfStatement 917536 917728 + BinaryExpression 917550 917593 + PropertyAccessExpression 917550 917566 + Identifier 917550 917561 + Identifier 917562 917566 + EqualsEqualsEqualsToken 917566 917570 + PropertyAccessExpression 917570 917593 + Identifier 917570 917581 + Identifier 917582 917593 + Block 917594 917728 + ReturnStatement 917596 917717 + CallExpression 917616 917716 + Identifier 917616 917650 + CallExpression 917651 917715 + Identifier 917651 917666 + PropertyAccessExpression 917667 917714 + ParenthesizedExpression 917667 917707 + AsExpression 917668 917706 + PropertyAccessExpression 917668 917686 + Identifier 917668 917679 + Identifier 917680 917686 + TypeReference 917689 917706 + Identifier 917689 917706 + Identifier 917708 917714 + VariableStatement 917728 917795 + VariableDeclarationList 917728 917794 + VariableDeclaration 917743 917794 + Identifier 917743 917752 + CallExpression 917754 917794 + Identifier 917754 917781 + Identifier 917782 917793 + IfStatement 917795 918124 + CallExpression 917809 917838 + Identifier 917809 917825 + Identifier 917826 917837 + Block 917839 918124 + VariableStatement 917841 917894 + VariableDeclarationList 917841 917893 + VariableDeclaration 917860 917893 + Identifier 917860 917865 + CallExpression 917867 917893 + Identifier 917867 917880 + Identifier 917881 917892 + IfStatement 917894 918113 + BinaryExpression 917912 917970 + BinaryExpression 917912 917957 + Identifier 917912 917916 + AmpersandAmpersandToken 917916 917919 + CallExpression 917919 917957 + Identifier 917919 917944 + PropertyAccessExpression 917945 917956 + Identifier 917945 917949 + Identifier 917950 917956 + AmpersandAmpersandToken 917957 917960 + PrefixUnaryExpression 917960 917970 + Identifier 917962 917970 + Block 917971 918113 + ReturnStatement 917973 918098 + CallExpression 917997 918097 + Identifier 917997 918031 + CallExpression 918032 918096 + Identifier 918032 918047 + PropertyAccessExpression 918048 918095 + ParenthesizedExpression 918048 918088 + AsExpression 918049 918087 + PropertyAccessExpression 918049 918067 + PropertyAccessExpression 918049 918060 + Identifier 918049 918053 + Identifier 918054 918060 + Identifier 918061 918067 + TypeReference 918070 918087 + Identifier 918070 918087 + Identifier 918089 918095 + IfStatement 918124 918308 + CallExpression 918138 918176 + Identifier 918138 918163 + Identifier 918164 918175 + Block 918177 918308 + ReturnStatement 918179 918279 + CallExpression 918199 918278 + Identifier 918199 918219 + NonNullExpression 918220 918277 + PropertyAccessExpression 918220 918276 + ParenthesizedExpression 918220 918271 + AsExpression 918221 918270 + ElementAccessExpression 918221 918246 + PropertyAccessExpression 918221 918243 + Identifier 918221 918232 + Identifier 918233 918243 + NumericLiteral 918244 918245 + TypeReference 918249 918270 + Identifier 918249 918270 + Identifier 918272 918276 + IfStatement 918308 918395 + Identifier 918322 918330 + Block 918331 918395 + ReturnStatement 918333 918384 + CallExpression 918353 918383 + Identifier 918353 918373 + Identifier 918374 918382 + IfStatement 918395 918968 + BinaryExpression 918409 918484 + BinaryExpression 918409 918452 + PropertyAccessExpression 918409 918425 + Identifier 918409 918420 + Identifier 918421 918425 + EqualsEqualsEqualsToken 918425 918429 + PropertyAccessExpression 918429 918452 + Identifier 918429 918440 + Identifier 918441 918452 + AmpersandAmpersandToken 918452 918455 + CallExpression 918455 918484 + Identifier 918455 918471 + Identifier 918472 918483 + Block 918485 918968 + VariableStatement 918487 918597 + VariableDeclarationList 918487 918596 + VariableDeclaration 918506 918596 + Identifier 918506 918516 + BinaryExpression 918518 918596 + CallExpression 918518 918542 + Identifier 918518 918529 + Identifier 918530 918541 + AmpersandAmpersandToken 918542 918545 + CallExpression 918545 918596 + Identifier 918545 918583 + Identifier 918584 918595 + IfStatement 918597 918677 + Identifier 918615 918624 + Block 918625 918677 + ReturnStatement 918627 918662 + Identifier 918651 918661 + VariableStatement 918677 918809 + VariableDeclarationList 918677 918808 + VariableDeclaration 918696 918808 + Identifier 918696 918703 + CallExpression 918705 918808 + Identifier 918705 918726 + TypeReference 918727 918746 + Identifier 918727 918746 + CallExpression 918748 918783 + Identifier 918748 918770 + Identifier 918771 918782 + PropertyAccessExpression 918784 918807 + Identifier 918784 918795 + Identifier 918796 918807 + VariableStatement 918809 918875 + VariableDeclarationList 918809 918874 + VariableDeclaration 918828 918874 + Identifier 918828 918839 + CallExpression 918841 918874 + Identifier 918841 918866 + Identifier 918867 918873 + IfStatement 918875 918957 + Identifier 918893 918903 + Block 918904 918957 + ReturnStatement 918906 918942 + Identifier 918930 918941 + ReturnStatement 918968 919021 + CallExpression 918984 919020 + Identifier 918984 919007 + Identifier 919008 919019 + FunctionDeclaration 919028 919375 + Identifier 919044 919077 + Parameter 919078 919098 + Identifier 919078 919087 + TypeReference 919088 919098 + Identifier 919088 919098 + BooleanKeyword 919100 919108 + Block 919108 919375 + ReturnStatement 919110 919368 + BinaryExpression 919126 919367 + BinaryExpression 919126 919229 + PropertyAccessExpression 919126 919156 + Identifier 919126 919136 + Identifier 919137 919156 + AmpersandAmpersandToken 919156 919159 + CallExpression 919159 919229 + Identifier 919159 919164 + PropertyAccessExpression 919165 919194 + Identifier 919165 919174 + Identifier 919175 919194 + Identifier 919195 919228 + BarBarToken 919229 919232 + BinaryExpression 919232 919367 + PrefixUnaryExpression 919232 919275 + PropertyAccessExpression 919247 919275 + Identifier 919247 919256 + Identifier 919257 919275 + AmpersandAmpersandToken 919275 919278 + BinaryExpression 919278 919367 + CallExpression 919278 919362 + Identifier 919278 919308 + Identifier 919309 919318 + PropertyAccessExpression 919319 919361 + Identifier 919319 919342 + Identifier 919343 919361 + GreaterThanEqualsToken 919362 919365 + NumericLiteral 919365 919367 + FunctionDeclaration 919375 919516 + Identifier 919391 919414 + Parameter 919415 919435 + Identifier 919415 919424 + TypeReference 919425 919435 + Identifier 919425 919435 + TypeReference 919437 919442 + Identifier 919437 919442 + Block 919442 919516 + ReturnStatement 919444 919509 + BinaryExpression 919460 919508 + CallExpression 919460 919497 + Identifier 919460 919486 + Identifier 919487 919496 + BarBarToken 919497 919500 + Identifier 919500 919508 + FunctionDeclaration 919516 919985 + Identifier 919532 919558 + Parameter 919559 919579 + Identifier 919559 919568 + TypeReference 919569 919579 + Identifier 919569 919579 + UnionType 919581 919598 + TypeReference 919581 919586 + Identifier 919581 919586 + UndefinedKeyword 919588 919598 + Block 919598 919985 + IfStatement 919600 919951 + CallExpression 919614 919650 + Identifier 919614 919639 + Identifier 919640 919649 + Block 919651 919951 + VariableStatement 919653 919758 + VariableDeclarationList 919653 919757 + VariableDeclaration 919672 919757 + Identifier 919672 919684 + CallExpression 919686 919757 + Identifier 919686 919702 + ElementAccessExpression 919703 919756 + PropertyAccessExpression 919703 919723 + Identifier 919703 919712 + Identifier 919713 919723 + BinaryExpression 919724 919755 + PropertyAccessExpression 919724 919751 + PropertyAccessExpression 919724 919744 + Identifier 919724 919733 + Identifier 919734 919744 + Identifier 919745 919751 + MinusToken 919751 919753 + NumericLiteral 919753 919755 + VariableStatement 919758 919866 + VariableDeclarationList 919758 919865 + VariableDeclaration 919777 919865 + Identifier 919777 919786 + ConditionalExpression 919788 919865 + CallExpression 919788 919813 + Identifier 919788 919800 + Identifier 919801 919812 + QuestionToken 919813 919815 + CallExpression 919815 919851 + Identifier 919815 919838 + Identifier 919839 919850 + ColonToken 919851 919853 + Identifier 919853 919865 + ReturnStatement 919866 919940 + BinaryExpression 919886 919939 + Identifier 919886 919895 + AmpersandAmpersandToken 919895 919898 + CallExpression 919898 919939 + Identifier 919898 919917 + Identifier 919918 919926 + Identifier 919927 919938 + ReturnStatement 919951 919978 + Identifier 919967 919977 + FunctionDeclaration 919985 921092 + Identifier 920001 920027 + Parameter 920028 920048 + Identifier 920028 920037 + TypeReference 920038 920048 + Identifier 920038 920048 + Parameter 920049 920092 + Identifier 920049 920063 + UnionType 920064 920092 + TypeOperator 920064 920080 + ArrayType 920073 920080 + TypeReference 920073 920078 + Identifier 920073 920078 + UndefinedKeyword 920082 920092 + Parameter 920093 920115 + Identifier 920093 920106 + BooleanKeyword 920107 920115 + Parameter 920116 920166 + Identifier 920116 920139 + QuestionToken 920139 920140 + TypeOperator 920141 920166 + ArrayType 920150 920166 + TypeReference 920150 920164 + Identifier 920150 920164 + TypeReference 920168 920178 + Identifier 920168 920178 + Block 920178 921092 + VariableStatement 920180 920418 + VariableDeclarationList 920180 920417 + VariableDeclaration 920195 920417 + Identifier 920195 920217 + CallExpression 920219 920417 + Identifier 920219 920274 + Identifier 920275 920284 + CallExpression 920285 920416 + Identifier 920285 920310 + Identifier 920311 920324 + PropertyAccessExpression 920325 920350 + Identifier 920325 920335 + Identifier 920336 920350 + CallExpression 920351 920401 + Identifier 920351 920375 + PropertyAccessExpression 920376 920400 + Identifier 920376 920385 + Identifier 920386 920400 + Identifier 920402 920415 + IfStatement 920418 921046 + Identifier 920432 920454 + Block 920455 921046 + VariableStatement 920457 920578 + VariableDeclarationList 920457 920577 + VariableDeclaration 920476 920577 + Identifier 920476 920492 + CallExpression 920494 920577 + Identifier 920494 920528 + CallExpression 920529 920576 + Identifier 920529 920553 + Identifier 920554 920575 + IfStatement 920578 921035 + Identifier 920596 920611 + Block 920612 921035 + VariableStatement 920614 920691 + VariableDeclarationList 920614 920690 + VariableDeclaration 920637 920690 + Identifier 920637 920656 + CallExpression 920658 920690 + Identifier 920658 920673 + Identifier 920674 920689 + ExpressionStatement 920691 920768 + BinaryExpression 920691 920767 + PropertyAccessExpression 920691 920742 + Identifier 920691 920727 + Identifier 920728 920742 + EqualsToken 920742 920744 + Identifier 920744 920767 + VariableStatement 920768 920857 + VariableDeclarationList 920768 920856 + VariableDeclaration 920791 920856 + Identifier 920791 920816 + CallExpression 920818 920856 + Identifier 920818 920833 + Identifier 920834 920855 + ExpressionStatement 920857 920970 + BinaryExpression 920857 920969 + PropertyAccessExpression 920857 920918 + Identifier 920857 920899 + Identifier 920900 920918 + EqualsToken 920918 920920 + CallExpression 920920 920969 + Identifier 920920 920949 + Identifier 920950 920968 + ReturnStatement 920970 921020 + Identifier 920994 921019 + ReturnStatement 921046 921085 + Identifier 921062 921084 + FunctionDeclaration 921092 921653 + Identifier 921108 921163 + Parameter 921164 921184 + Identifier 921164 921173 + TypeReference 921174 921184 + Identifier 921174 921184 + Parameter 921185 921228 + Identifier 921185 921199 + UnionType 921200 921228 + TypeOperator 921200 921216 + ArrayType 921209 921216 + TypeReference 921209 921214 + Identifier 921209 921214 + UndefinedKeyword 921218 921228 + TypeReference 921230 921240 + Identifier 921230 921240 + Block 921240 921653 + VariableStatement 921242 921361 + VariableDeclarationList 921242 921360 + VariableDeclaration 921257 921360 + Identifier 921257 921272 + BinaryExpression 921274 921360 + PropertyAccessExpression 921274 921299 + Identifier 921274 921284 + Identifier 921285 921299 + BarBarToken 921299 921302 + ParenthesizedExpression 921302 921360 + BinaryExpression 921304 921359 + PropertyAccessExpression 921304 921328 + Identifier 921304 921313 + Identifier 921314 921328 + EqualsToken 921328 921330 + NewExpression 921330 921359 + Identifier 921334 921338 + StringKeyword 921339 921345 + TypeReference 921346 921356 + Identifier 921346 921356 + VariableStatement 921361 921411 + VariableDeclarationList 921361 921410 + VariableDeclaration 921376 921410 + Identifier 921376 921379 + CallExpression 921381 921410 + Identifier 921381 921395 + Identifier 921396 921409 + VariableStatement 921411 921464 + VariableDeclarationList 921411 921463 + VariableDeclaration 921424 921463 + Identifier 921424 921438 + CallExpression 921440 921463 + PropertyAccessExpression 921440 921459 + Identifier 921440 921455 + Identifier 921456 921459 + Identifier 921460 921462 + IfStatement 921464 921615 + PrefixUnaryExpression 921478 921492 + Identifier 921479 921492 + Block 921493 921615 + ExpressionStatement 921495 921604 + CallExpression 921495 921603 + PropertyAccessExpression 921495 921527 + Identifier 921495 921523 + Identifier 921524 921527 + Identifier 921528 921530 + BinaryExpression 921531 921602 + Identifier 921531 921545 + EqualsToken 921545 921547 + CallExpression 921547 921602 + Identifier 921547 921576 + Identifier 921577 921586 + Identifier 921587 921601 + ReturnStatement 921615 921646 + Identifier 921631 921645 + FunctionDeclaration 921653 921916 + Identifier 921669 921698 + Parameter 921699 921719 + Identifier 921699 921708 + TypeReference 921709 921719 + Identifier 921709 921719 + Parameter 921720 921763 + Identifier 921720 921734 + UnionType 921735 921763 + TypeOperator 921735 921751 + ArrayType 921744 921751 + TypeReference 921744 921749 + Identifier 921744 921749 + UndefinedKeyword 921753 921763 + TypeReference 921765 921775 + Identifier 921765 921775 + Block 921775 921916 + ReturnStatement 921777 921909 + CallExpression 921793 921908 + Identifier 921793 921814 + Identifier 921815 921824 + CallExpression 921825 921877 + Identifier 921825 921851 + Identifier 921852 921861 + Identifier 921862 921876 + TrueKeyword 921878 921907 + FunctionDeclaration 921916 922096 + Identifier 921932 921959 + Parameter 921960 921980 + Identifier 921960 921969 + TypeReference 921970 921980 + Identifier 921970 921980 + Block 921981 922096 + ReturnStatement 921983 922089 + CallExpression 921999 922088 + Identifier 921999 922007 + PropertyAccessExpression 922008 922032 + Identifier 922008 922017 + Identifier 922018 922032 + ArrowFunction 922033 922087 + Parameter 922033 922036 + Identifier 922033 922036 + EqualsGreaterThanToken 922036 922039 + ConditionalExpression 922039 922087 + PropertyAccessExpression 922039 922049 + Identifier 922039 922042 + Identifier 922043 922049 + QuestionToken 922049 922051 + CallExpression 922051 922082 + Identifier 922051 922067 + Identifier 922068 922070 + PropertyAccessExpression 922071 922081 + Identifier 922071 922074 + Identifier 922075 922081 + ColonToken 922082 922084 + Identifier 922084 922087 + FunctionDeclaration 922096 922314 + Identifier 922112 922138 + Parameter 922139 922159 + Identifier 922139 922148 + TypeReference 922149 922159 + Identifier 922149 922159 + Parameter 922160 922203 + Identifier 922160 922174 + UnionType 922175 922203 + TypeOperator 922175 922191 + ArrayType 922184 922191 + TypeReference 922184 922189 + Identifier 922184 922189 + UndefinedKeyword 922193 922203 + TypeReference 922205 922216 + Identifier 922205 922216 + Block 922216 922314 + ReturnStatement 922218 922307 + CallExpression 922234 922306 + Identifier 922234 922251 + NonNullExpression 922252 922290 + CallExpression 922252 922289 + Identifier 922252 922278 + Identifier 922279 922288 + Identifier 922291 922305 + FunctionDeclaration 922314 922575 + Identifier 922330 922349 + Parameter 922350 922370 + Identifier 922350 922359 + TypeReference 922360 922370 + Identifier 922360 922370 + TypeReference 922372 922382 + Identifier 922372 922382 + Block 922382 922575 + ReturnStatement 922384 922568 + ConditionalExpression 922400 922567 + PropertyAccessExpression 922400 922425 + Identifier 922400 922410 + Identifier 922411 922425 + QuestionToken 922425 922427 + BinaryExpression 922427 922542 + PropertyAccessExpression 922427 922471 + Identifier 922427 922450 + Identifier 922451 922471 + BarBarToken 922471 922474 + ParenthesizedExpression 922474 922542 + BinaryExpression 922476 922541 + PropertyAccessExpression 922476 922506 + Identifier 922476 922485 + Identifier 922486 922506 + EqualsToken 922506 922508 + CallExpression 922508 922541 + Identifier 922508 922530 + Identifier 922531 922540 + ColonToken 922542 922544 + Identifier 922544 922567 + FunctionDeclaration 922575 922864 + Identifier 922591 922613 + Parameter 922614 922634 + Identifier 922614 922623 + TypeReference 922624 922634 + Identifier 922624 922634 + Block 922635 922864 + ReturnStatement 922637 922857 + CallExpression 922749 922856 + Identifier 922749 922770 + Identifier 922771 922780 + CallExpression 922781 922825 + Identifier 922781 922798 + NonNullExpression 922799 922824 + PropertyAccessExpression 922799 922823 + Identifier 922799 922808 + Identifier 922809 922823 + TrueKeyword 922826 922855 + FunctionDeclaration 922864 923137 + Identifier 922880 922902 + Parameter 922903 922923 + Identifier 922903 922912 + TypeReference 922913 922923 + Identifier 922913 922923 + TypeReference 922925 922935 + Identifier 922925 922935 + Block 922935 923137 + ReturnStatement 922937 923130 + ConditionalExpression 922953 923129 + PropertyAccessExpression 922953 922978 + Identifier 922953 922963 + Identifier 922964 922978 + QuestionToken 922978 922980 + BinaryExpression 922980 923104 + PropertyAccessExpression 922980 923027 + Identifier 922980 923003 + Identifier 923004 923027 + BarBarToken 923027 923030 + ParenthesizedExpression 923030 923104 + BinaryExpression 923032 923103 + PropertyAccessExpression 923032 923065 + Identifier 923032 923041 + Identifier 923042 923065 + EqualsToken 923065 923067 + CallExpression 923067 923103 + Identifier 923067 923092 + Identifier 923093 923102 + ColonToken 923104 923106 + Identifier 923106 923129 + FunctionDeclaration 923137 924118 + Identifier 923153 923178 + Parameter 923179 923199 + Identifier 923179 923188 + TypeReference 923189 923199 + Identifier 923189 923199 + Block 923200 924118 + ReturnStatement 923202 924111 + CallExpression 923878 924110 + Identifier 923878 923904 + Identifier 923905 923928 + CallExpression 923929 924050 + Identifier 923929 923946 + PropertyAccessExpression 923947 923971 + Identifier 923947 923956 + Identifier 923957 923971 + ArrowFunction 923972 924049 + Parameter 923972 923975 + Identifier 923972 923975 + EqualsGreaterThanToken 923975 923978 + ConditionalExpression 923978 924049 + BinaryExpression 923978 924032 + PropertyAccessExpression 923978 923988 + Identifier 923978 923981 + Identifier 923982 923988 + AmpersandAmpersandToken 923988 923991 + PrefixUnaryExpression 923991 924032 + CallExpression 923993 924032 + Identifier 923993 924021 + PropertyAccessExpression 924022 924031 + Identifier 924022 924024 + Identifier 924025 924031 + QuestionToken 924032 924034 + PropertyAccessExpression 924034 924044 + Identifier 924034 924037 + Identifier 924038 924044 + ColonToken 924044 924046 + Identifier 924046 924049 + CallExpression 924051 924098 + Identifier 924051 924075 + PropertyAccessExpression 924076 924097 + Identifier 924076 924085 + Identifier 924086 924097 + FunctionDeclaration 924118 924358 + Identifier 924134 924161 + Parameter 924162 924182 + Identifier 924162 924171 + TypeReference 924172 924182 + Identifier 924172 924182 + Block 924183 924358 + ReturnStatement 924185 924351 + ConditionalExpression 924201 924350 + PropertyAccessExpression 924201 924226 + Identifier 924201 924211 + Identifier 924212 924226 + QuestionToken 924226 924228 + BinaryExpression 924228 924325 + PropertyAccessExpression 924228 924280 + Identifier 924228 924251 + Identifier 924252 924280 + BarBarEqualsToken 924280 924284 + CallExpression 924284 924325 + Identifier 924284 924314 + Identifier 924315 924324 + ColonToken 924325 924327 + Identifier 924327 924350 + FunctionDeclaration 924358 924549 + Identifier 924374 924404 + Parameter 924405 924425 + Identifier 924405 924414 + TypeReference 924415 924425 + Identifier 924415 924425 + Block 924426 924549 + ReturnStatement 924428 924542 + ConditionalExpression 924444 924541 + PropertyAccessExpression 924444 924469 + Identifier 924444 924454 + Identifier 924455 924469 + QuestionToken 924469 924471 + CallExpression 924471 924529 + Identifier 924471 924492 + Identifier 924493 924502 + CallExpression 924503 924528 + Identifier 924503 924520 + ArrayLiteralExpression 924521 924523 + ArrayLiteralExpression 924524 924527 + ColonToken 924529 924531 + Identifier 924531 924541 + FunctionDeclaration 924549 925948 + Identifier 924565 924582 + Parameter 924583 924603 + Identifier 924583 924592 + TypeReference 924593 924603 + Identifier 924593 924603 + Block 924604 925948 + VariableStatement 924606 924664 + VariableDeclarationList 924606 924663 + VariableDeclaration 924621 924663 + Identifier 924621 924636 + PropertyAccessExpression 924638 924663 + Identifier 924638 924648 + Identifier 924649 924663 + IfStatement 924664 925914 + Identifier 924678 924692 + Block 924693 925914 + IfStatement 924695 924813 + PropertyAccessExpression 924713 924741 + Identifier 924713 924722 + Identifier 924723 924741 + Block 924742 924813 + ReturnStatement 924744 924798 + PropertyAccessExpression 924768 924797 + Identifier 924768 924778 + Identifier 924779 924797 + VariableStatement 924813 924879 + VariableDeclarationList 924813 924878 + VariableDeclaration 924832 924878 + Identifier 924832 924843 + CallExpression 924845 924878 + Identifier 924845 924862 + Identifier 924863 924877 + VariableStatement 924879 925031 + VariableDeclarationList 924879 925030 + VariableDeclaration 924898 925030 + Identifier 924898 924919 + CallExpression 924921 925030 + Identifier 924921 924938 + Identifier 924939 924953 + CallExpression 924954 925029 + Identifier 924954 924958 + Identifier 924959 924973 + ArrowFunction 924974 925028 + Parameter 924974 924977 + Identifier 924974 924977 + EqualsGreaterThanToken 924977 924980 + BinaryExpression 924980 925028 + CallExpression 924980 925013 + Identifier 924980 925009 + Identifier 925010 925012 + BarBarToken 925013 925016 + Identifier 925016 925028 + VariableStatement 925031 925168 + VariableDeclarationList 925031 925167 + VariableDeclaration 925048 925167 + Identifier 925048 925064 + TypeOperator 925065 925081 + ArrayType 925074 925081 + TypeReference 925074 925079 + Identifier 925074 925079 + CallExpression 925083 925167 + Identifier 925083 925087 + Identifier 925088 925102 + ArrowFunction 925103 925166 + Parameter 925103 925106 + Identifier 925103 925106 + EqualsGreaterThanToken 925106 925109 + BinaryExpression 925109 925166 + CallExpression 925109 925151 + Identifier 925109 925125 + Identifier 925126 925128 + Identifier 925129 925150 + BarBarToken 925151 925154 + Identifier 925154 925166 + ForStatement 925168 925554 + VariableDeclarationList 925399 925408 + VariableDeclaration 925402 925408 + Identifier 925402 925404 + NumericLiteral 925406 925408 + BinaryExpression 925409 925439 + Identifier 925409 925411 + LessThanToken 925411 925413 + BinaryExpression 925413 925439 + PropertyAccessExpression 925413 925435 + Identifier 925413 925428 + Identifier 925429 925435 + MinusToken 925435 925437 + NumericLiteral 925437 925439 + PostfixUnaryExpression 925440 925444 + Identifier 925440 925442 + Block 925445 925554 + ExpressionStatement 925447 925539 + BinaryExpression 925447 925538 + Identifier 925447 925480 + EqualsToken 925480 925482 + CallExpression 925482 925538 + Identifier 925482 925499 + Identifier 925500 925515 + Identifier 925516 925537 + ExpressionStatement 925554 925738 + BinaryExpression 925554 925737 + Identifier 925554 925689 + EqualsToken 925689 925691 + CallExpression 925691 925737 + Identifier 925691 925708 + Identifier 925709 925724 + Identifier 925725 925736 + ReturnStatement 925738 925903 + BinaryExpression 925758 925902 + PropertyAccessExpression 925758 925787 + Identifier 925758 925768 + Identifier 925769 925787 + EqualsToken 925787 925789 + CallExpression 925789 925902 + Identifier 925789 925810 + Identifier 925811 925820 + CallExpression 925821 925871 + Identifier 925821 925838 + Identifier 925839 925853 + Identifier 925854 925870 + TrueKeyword 925872 925901 + ReturnStatement 925914 925941 + Identifier 925930 925940 + FunctionDeclaration 925948 928168 + Identifier 925964 925993 + Parameter 925994 926014 + Identifier 925994 926003 + TypeReference 926004 926014 + Identifier 926004 926014 + Parameter 926015 926053 + Identifier 926015 926035 + QuestionToken 926035 926036 + ArrayType 926037 926053 + TypeReference 926037 926051 + Identifier 926037 926051 + TypeReference 926055 926066 + Identifier 926055 926066 + Block 926066 928168 + IfStatement 926068 928110 + PrefixUnaryExpression 926453 926485 + PropertyAccessExpression 926454 926485 + Identifier 926454 926463 + Identifier 926464 926485 + Block 926486 928110 + VariableStatement 926488 926543 + VariableDeclarationList 926488 926542 + VariableDeclaration 926507 926542 + Identifier 926507 926512 + PropertyAccessExpression 926514 926542 + PropertyAccessExpression 926514 926536 + Identifier 926514 926524 + Identifier 926525 926536 + QuestionDotToken 926536 926538 + Identifier 926538 926542 + VariableStatement 926543 926822 + VariableDeclarationList 926543 926821 + VariableDeclaration 926670 926821 + Identifier 926670 926684 + BinaryExpression 926686 926821 + BinaryExpression 926686 926782 + BinaryExpression 926686 926740 + BinaryExpression 926686 926705 + Identifier 926686 926691 + EqualsEqualsEqualsToken 926691 926695 + Identifier 926695 926705 + BarBarToken 926705 926708 + BinaryExpression 926708 926740 + Identifier 926708 926713 + EqualsEqualsEqualsToken 926713 926717 + PropertyAccessExpression 926717 926740 + Identifier 926717 926728 + Identifier 926729 926740 + BarBarToken 926740 926743 + BinaryExpression 926743 926782 + Identifier 926743 926748 + EqualsEqualsEqualsToken 926748 926752 + PropertyAccessExpression 926752 926782 + Identifier 926752 926763 + Identifier 926764 926782 + BarBarToken 926782 926785 + BinaryExpression 926785 926821 + Identifier 926785 926790 + EqualsEqualsEqualsToken 926790 926794 + PropertyAccessExpression 926794 926821 + Identifier 926794 926805 + Identifier 926806 926821 + VariableStatement 926822 927216 + VariableDeclarationList 926822 927215 + VariableDeclaration 927046 927215 + Identifier 927046 927051 + AsExpression 927053 927215 + CallExpression 927053 927192 + Identifier 927053 927070 + BinaryExpression 927071 927126 + PropertyAccessExpression 927071 927092 + Identifier 927071 927082 + Identifier 927083 927092 + BarToken 927092 927094 + PropertyAccessExpression 927094 927126 + Identifier 927094 927106 + Identifier 927107 927126 + CallExpression 927127 927191 + Identifier 927127 927140 + PropertyAccessExpression 927141 927161 + Identifier 927141 927152 + Identifier 927153 927161 + PropertyAccessExpression 927162 927190 + Identifier 927162 927181 + Identifier 927182 927190 + TypeReference 927195 927215 + Identifier 927195 927215 + IfStatement 927216 927559 + BinaryExpression 927234 927300 + PropertyAccessExpression 927234 927255 + Identifier 927234 927243 + Identifier 927244 927255 + AmpersandAmpersandToken 927255 927258 + PrefixUnaryExpression 927258 927300 + CallExpression 927260 927300 + Identifier 927260 927277 + PropertyAccessExpression 927278 927299 + Identifier 927278 927287 + Identifier 927288 927299 + Block 927301 927559 + ExpressionStatement 927303 927473 + BinaryExpression 927303 927472 + PropertyAccessExpression 927303 927446 + PropertyAccessExpression 927303 927433 + Identifier 927303 927426 + Identifier 927427 927433 + Identifier 927434 927446 + EqualsToken 927446 927448 + ArrayLiteralExpression 927448 927472 + PropertyAccessExpression 927450 927471 + Identifier 927450 927459 + Identifier 927460 927471 + ExpressionStatement 927473 927544 + BinaryExpression 927473 927543 + PropertyAccessExpression 927473 927519 + PropertyAccessExpression 927473 927502 + Identifier 927473 927495 + Identifier 927496 927502 + Identifier 927503 927519 + EqualsToken 927519 927521 + PropertyAccessExpression 927521 927543 + Identifier 927521 927531 + Identifier 927532 927543 + ExpressionStatement 927559 927695 + BinaryExpression 927559 927694 + Identifier 927559 927592 + BarBarEqualsToken 927592 927596 + BinaryExpression 927596 927694 + PropertyAccessExpression 927596 927618 + Identifier 927596 927606 + Identifier 927607 927618 + AmpersandAmpersandToken 927618 927621 + CallExpression 927621 927694 + Identifier 927621 927644 + PropertyAccessExpression 927645 927666 + Identifier 927645 927654 + Identifier 927655 927666 + TrueKeyword 927667 927693 + ExpressionStatement 927695 927756 + BinaryExpression 927695 927755 + PropertyAccessExpression 927695 927733 + Identifier 927695 927713 + Identifier 927714 927733 + EqualsToken 927733 927735 + Identifier 927735 927755 + ExpressionStatement 927756 927800 + BinaryExpression 927756 927799 + PropertyAccessExpression 927756 927784 + Identifier 927756 927776 + Identifier 927777 927784 + EqualsToken 927784 927786 + Identifier 927786 927799 + ExpressionStatement 927800 927843 + BinaryExpression 927800 927842 + PropertyAccessExpression 927800 927829 + Identifier 927800 927818 + Identifier 927819 927829 + EqualsToken 927829 927831 + Identifier 927831 927842 + ExpressionStatement 927843 927921 + BinaryExpression 927843 927920 + PropertyAccessExpression 927843 927876 + Identifier 927843 927861 + Identifier 927862 927876 + EqualsToken 927876 927878 + ConditionalExpression 927878 927920 + PrefixUnaryExpression 927878 927893 + Identifier 927880 927893 + QuestionToken 927893 927895 + ArrayLiteralExpression 927895 927907 + Identifier 927897 927906 + ColonToken 927907 927909 + Identifier 927909 927920 + ExpressionStatement 927921 928003 + BinaryExpression 927921 928002 + PropertyAccessExpression 927921 927959 + Identifier 927921 927939 + Identifier 927940 927959 + EqualsToken 927959 927961 + ConditionalExpression 927961 928002 + Identifier 927961 927975 + QuestionToken 927975 927977 + ArrayLiteralExpression 927977 927989 + Identifier 927979 927988 + ColonToken 927989 927991 + Identifier 927991 928002 + ExpressionStatement 928003 928046 + BinaryExpression 928003 928045 + PropertyAccessExpression 928003 928032 + Identifier 928003 928021 + Identifier 928022 928032 + EqualsToken 928032 928034 + Identifier 928034 928045 + ExpressionStatement 928046 928099 + BinaryExpression 928046 928098 + PropertyAccessExpression 928046 928091 + Identifier 928046 928069 + Identifier 928070 928091 + EqualsToken 928091 928093 + Identifier 928093 928098 + ReturnStatement 928110 928161 + PropertyAccessExpression 928128 928160 + Identifier 928128 928138 + Identifier 928139 928160 + FunctionDeclaration 928168 928348 + Identifier 928184 928199 + Parameter 928200 928214 + Identifier 928200 928206 + TypeReference 928207 928214 + Identifier 928207 928214 + UnionType 928216 928235 + TypeReference 928216 928223 + Identifier 928216 928223 + UndefinedKeyword 928225 928235 + Block 928235 928348 + ReturnStatement 928237 928341 + ConditionalExpression 928253 928340 + PropertyAccessExpression 928253 928268 + Identifier 928253 928260 + Identifier 928261 928268 + QuestionToken 928268 928270 + CallExpression 928270 928328 + Identifier 928270 928300 + CallExpression 928301 928327 + Identifier 928301 928319 + Identifier 928320 928326 + ColonToken 928328 928330 + Identifier 928330 928340 + FunctionDeclaration 928348 928508 + Identifier 928364 928394 + Parameter 928395 928419 + Identifier 928395 928406 + TypeReference 928407 928419 + Identifier 928407 928419 + UnionType 928421 928440 + TypeReference 928421 928428 + Identifier 928421 928428 + UndefinedKeyword 928430 928440 + Block 928440 928508 + ReturnStatement 928442 928501 + CallExpression 928458 928500 + PropertyAccessExpression 928458 928474 + Identifier 928458 928470 + Identifier 928471 928474 + PropertyAccessExpression 928475 928499 + Identifier 928475 928493 + Identifier 928494 928499 + FunctionDeclaration 928508 928769 + Identifier 928524 928540 + Parameter 928541 928554 + Identifier 928541 928548 + TypeReference 928549 928554 + Identifier 928549 928554 + Parameter 928555 928566 + Identifier 928555 928560 + TypeReference 928561 928566 + Identifier 928561 928566 + Parameter 928567 928587 + Identifier 928567 928578 + BooleanKeyword 928579 928587 + Parameter 928588 928628 + Identifier 928588 928600 + QuestionToken 928600 928601 + TypeReference 928602 928628 + Identifier 928602 928628 + Parameter 928629 928676 + Identifier 928629 928640 + QuestionToken 928640 928641 + ArrayType 928642 928676 + TypeReference 928642 928674 + Identifier 928642 928674 + TypeReference 928678 928688 + Identifier 928678 928688 + Block 928688 928769 + ReturnStatement 928690 928762 + ObjectLiteralExpression 928706 928761 + ShorthandPropertyAssignment 928708 928716 + Identifier 928708 928716 + ShorthandPropertyAssignment 928717 928722 + Identifier 928717 928722 + ShorthandPropertyAssignment 928723 928734 + Identifier 928723 928734 + ShorthandPropertyAssignment 928735 928747 + Identifier 928735 928747 + ShorthandPropertyAssignment 928748 928759 + Identifier 928748 928759 + FunctionDeclaration 928769 929030 + Identifier 928785 928807 + Parameter 928808 928822 + Identifier 928808 928814 + TypeReference 928815 928822 + Identifier 928815 928822 + ArrayType 928824 928836 + TypeReference 928824 928834 + Identifier 928824 928834 + Block 928836 929030 + VariableStatement 928838 928891 + VariableDeclarationList 928838 928890 + VariableDeclaration 928853 928890 + Identifier 928853 928865 + CallExpression 928867 928890 + Identifier 928867 928882 + Identifier 928883 928889 + ReturnStatement 928891 929023 + ConditionalExpression 928907 929022 + Identifier 928907 928919 + QuestionToken 928919 928921 + CallExpression 928921 929009 + Identifier 928921 928948 + Identifier 928949 928960 + CallExpression 928961 929008 + Identifier 928961 928971 + CallExpression 928972 929007 + PropertyAccessExpression 928972 929005 + CallExpression 928972 928998 + Identifier 928972 928990 + Identifier 928991 928997 + Identifier 928999 929005 + ColonToken 929009 929011 + Identifier 929011 929022 + FunctionDeclaration 929030 933368 + Identifier 929147 929174 + Parameter 929175 929194 + Identifier 929175 929186 + TypeReference 929187 929194 + Identifier 929187 929194 + Parameter 929195 929326 + Identifier 929195 929210 + UnionType 929211 929232 + ArrayType 929211 929220 + TypeReference 929211 929218 + Identifier 929211 929218 + UndefinedKeyword 929222 929232 + ConditionalExpression 929234 929326 + PropertyAccessExpression 929234 929253 + Identifier 929234 929246 + Identifier 929247 929253 + QuestionToken 929253 929255 + CallExpression 929255 929314 + Identifier 929255 929265 + CallExpression 929266 929313 + PropertyAccessExpression 929266 929311 + CallExpression 929266 929304 + Identifier 929266 929284 + PropertyAccessExpression 929285 929303 + Identifier 929285 929296 + Identifier 929297 929303 + Identifier 929305 929311 + ColonToken 929314 929316 + Identifier 929316 929326 + ArrayType 929328 929340 + TypeReference 929328 929338 + Identifier 929328 929338 + Block 929340 933368 + IfStatement 929342 933333 + PropertyAccessExpression 929356 929380 + Identifier 929356 929367 + Identifier 929368 929380 + Block 929381 933333 + VariableStatement 929383 929432 + VariableDeclarationList 929383 929431 + VariableDeclaration 929402 929431 + Identifier 929402 929413 + ArrayType 929414 929426 + TypeReference 929414 929424 + Identifier 929414 929424 + ArrayLiteralExpression 929428 929431 + VariableStatement 929432 929484 + VariableDeclarationList 929432 929483 + VariableDeclaration 929449 929483 + Identifier 929449 929475 + FalseKeyword 929477 929483 + VariableStatement 929484 929540 + VariableDeclarationList 929484 929539 + VariableDeclaration 929501 929539 + Identifier 929501 929532 + TrueKeyword 929534 929539 + VariableStatement 929540 929592 + VariableDeclarationList 929540 929591 + VariableDeclaration 929557 929591 + Identifier 929557 929583 + FalseKeyword 929585 929591 + VariableStatement 929592 929648 + VariableDeclarationList 929592 929647 + VariableDeclaration 929609 929647 + Identifier 929609 929640 + TrueKeyword 929642 929647 + VariableStatement 929648 929700 + VariableDeclarationList 929648 929699 + VariableDeclaration 929665 929699 + Identifier 929665 929691 + FalseKeyword 929693 929699 + VariableStatement 929700 929756 + VariableDeclarationList 929700 929755 + VariableDeclaration 929717 929755 + Identifier 929717 929748 + TrueKeyword 929750 929755 + VariableStatement 929756 929815 + VariableDeclarationList 929756 929814 + VariableDeclaration 929775 929814 + Identifier 929775 929799 + ArrayType 929800 929809 + TypeReference 929800 929807 + Identifier 929800 929807 + ArrayLiteralExpression 929811 929814 + ForOfStatement 929815 932464 + VariableDeclarationList 929834 929851 + VariableDeclaration 929839 929851 + Identifier 929839 929851 + PropertyAccessExpression 929854 929879 + Identifier 929854 929866 + Identifier 929867 929879 + Block 929880 932464 + IfStatement 929882 932449 + CallExpression 929904 929944 + Identifier 929904 929931 + Identifier 929932 929943 + Block 929945 930684 + IfStatement 929947 930665 + BinaryExpression 929973 930008 + PropertyAccessExpression 929973 930002 + PropertyAccessExpression 929973 929995 + Identifier 929973 929984 + Identifier 929985 929995 + Identifier 929996 930002 + EqualsEqualsEqualsToken 930002 930006 + NumericLiteral 930006 930008 + Block 930009 930665 + VariableStatement 930011 930081 + VariableDeclarationList 930011 930080 + VariableDeclaration 930042 930080 + Identifier 930042 930052 + ElementAccessExpression 930054 930080 + PropertyAccessExpression 930054 930077 + Identifier 930054 930066 + Identifier 930067 930077 + NumericLiteral 930078 930079 + IfStatement 930081 930642 + PropertyAccessExpression 930111 930125 + Identifier 930111 930120 + Identifier 930121 930125 + Block 930126 930642 + ExpressionStatement 930128 930615 + CallExpression 930128 930614 + Identifier 930128 930169 + CallExpression 930170 930205 + Identifier 930170 930189 + PropertyAccessExpression 930190 930204 + Identifier 930190 930199 + Identifier 930200 930204 + ArrowFunction 930206 930613 + Parameter 930206 930214 + Identifier 930206 930214 + EqualsGreaterThanToken 930214 930217 + Block 930217 930613 + IfStatement 930219 930582 + BinaryExpression 930257 930324 + CallExpression 930257 930285 + Identifier 930257 930276 + Identifier 930277 930284 + AmpersandAmpersandToken 930285 930288 + PrefixUnaryExpression 930288 930324 + CallExpression 930290 930324 + Identifier 930290 930303 + Identifier 930304 930314 + Identifier 930315 930323 + Block 930325 930582 + ExpressionStatement 930327 930547 + CallExpression 930327 930546 + PropertyAccessExpression 930327 930380 + Identifier 930327 930375 + Identifier 930376 930380 + CallExpression 930381 930545 + Identifier 930381 930396 + Identifier 930397 930404 + ConditionalExpression 930405 930472 + PropertyAccessExpression 930405 930422 + Identifier 930405 930417 + Identifier 930418 930422 + QuestionToken 930422 930424 + CallExpression 930424 930462 + Identifier 930424 930444 + PropertyAccessExpression 930445 930461 + Identifier 930445 930456 + Identifier 930457 930461 + ColonToken 930462 930464 + Identifier 930464 930472 + CallExpression 930473 930531 + Identifier 930473 930494 + Identifier 930495 930506 + PropertyAccessExpression 930507 930530 + Identifier 930507 930521 + Identifier 930522 930530 + Identifier 930532 930544 + IfStatement 930706 932449 + CallExpression 930711 930753 + Identifier 930711 930740 + Identifier 930741 930752 + Block 930754 932449 + VariableStatement 930756 930918 + VariableDeclarationList 930756 930917 + VariableDeclaration 930783 930917 + Identifier 930783 930792 + ConditionalExpression 930794 930917 + CallExpression 930794 930826 + Identifier 930794 930813 + Identifier 930814 930825 + QuestionToken 930826 930828 + AsExpression 930828 930872 + PropertyAccessExpression 930828 930845 + Identifier 930828 930840 + Identifier 930841 930845 + TypeReference 930848 930872 + Identifier 930848 930872 + ColonToken 930872 930874 + PropertyAccessExpression 930874 930917 + ParenthesizedExpression 930874 930912 + AsExpression 930876 930911 + Identifier 930876 930887 + TypeReference 930890 930911 + Identifier 930890 930911 + Identifier 930913 930917 + VariableStatement 930918 931083 + VariableDeclarationList 930918 931082 + VariableDeclaration 930945 931082 + Identifier 930945 930953 + ConditionalExpression 930955 931082 + CallExpression 930955 930991 + Identifier 930955 930981 + Identifier 930982 930990 + QuestionToken 930991 930993 + CallExpression 930993 931044 + Identifier 930993 931015 + PropertyAccessExpression 931016 931043 + Identifier 931016 931024 + Identifier 931025 931043 + ColonToken 931044 931046 + CallExpression 931046 931082 + Identifier 931046 931072 + Identifier 931073 931081 + IfStatement 931083 931250 + CallExpression 931109 931143 + Identifier 931109 931122 + Identifier 931123 931133 + Identifier 931134 931142 + Block 931144 931250 + ContinueStatement 931146 931181 + IfStatement 931250 932430 + CallExpression 931276 931327 + Identifier 931276 931294 + Identifier 931295 931302 + Identifier 931303 931326 + Block 931328 932430 + IfStatement 931330 932332 + CallExpression 931360 931399 + Identifier 931360 931378 + Identifier 931379 931386 + Identifier 931387 931398 + Block 931400 931675 + ExpressionStatement 931402 931465 + BinaryExpression 931402 931464 + Identifier 931402 931457 + EqualsToken 931457 931459 + TrueKeyword 931459 931464 + IfStatement 931465 931648 + PrefixUnaryExpression 931499 931541 + CallExpression 931500 931541 + Identifier 931500 931528 + Identifier 931529 931540 + Block 931542 931648 + ExpressionStatement 931544 931617 + BinaryExpression 931544 931616 + Identifier 931544 931608 + EqualsToken 931608 931610 + FalseKeyword 931610 931616 + IfStatement 931705 932332 + CallExpression 931710 931751 + Identifier 931710 931728 + Identifier 931729 931736 + Identifier 931737 931750 + Block 931752 932027 + ExpressionStatement 931754 931817 + BinaryExpression 931754 931816 + Identifier 931754 931809 + EqualsToken 931809 931811 + TrueKeyword 931811 931816 + IfStatement 931817 932000 + PrefixUnaryExpression 931851 931893 + CallExpression 931852 931893 + Identifier 931852 931880 + Identifier 931881 931892 + Block 931894 932000 + ExpressionStatement 931896 931969 + BinaryExpression 931896 931968 + Identifier 931896 931960 + EqualsToken 931960 931962 + FalseKeyword 931962 931968 + Block 932057 932332 + ExpressionStatement 932059 932122 + BinaryExpression 932059 932121 + Identifier 932059 932114 + EqualsToken 932114 932116 + TrueKeyword 932116 932121 + IfStatement 932122 932305 + PrefixUnaryExpression 932156 932198 + CallExpression 932157 932198 + Identifier 932157 932185 + Identifier 932186 932197 + Block 932199 932305 + ExpressionStatement 932201 932274 + BinaryExpression 932201 932273 + Identifier 932201 932265 + EqualsToken 932265 932267 + FalseKeyword 932267 932273 + ExpressionStatement 932332 932407 + CallExpression 932332 932406 + PropertyAccessExpression 932332 932386 + Identifier 932332 932381 + Identifier 932382 932386 + PropertyAccessExpression 932387 932405 + Identifier 932387 932398 + Identifier 932399 932405 + VariableStatement 932464 932590 + VariableDeclarationList 932464 932589 + VariableDeclaration 932483 932589 + Identifier 932483 932502 + CallExpression 932504 932589 + Identifier 932504 932516 + Identifier 932517 932540 + CallExpression 932541 932588 + Identifier 932541 932548 + Identifier 932549 932563 + ArrowFunction 932564 932587 + Parameter 932564 932566 + Identifier 932564 932566 + EqualsGreaterThanToken 932566 932569 + BinaryExpression 932569 932587 + Identifier 932569 932571 + ExclamationEqualsEqualsToken 932571 932575 + Identifier 932575 932587 + IfStatement 932590 932892 + BinaryExpression 932713 932780 + Identifier 932713 932738 + AmpersandAmpersandToken 932738 932741 + PrefixUnaryExpression 932741 932780 + CallExpression 932743 932780 + Identifier 932743 932756 + Identifier 932757 932767 + Identifier 932768 932779 + ExpressionStatement 932781 932892 + CallExpression 932781 932891 + PropertyAccessExpression 932781 932797 + Identifier 932781 932792 + Identifier 932793 932797 + CallExpression 932798 932890 + Identifier 932798 932823 + Identifier 932824 932854 + NumericLiteral 932855 932857 + Identifier 932858 932877 + Identifier 932878 932889 + IfStatement 932892 933089 + BinaryExpression 932910 932977 + Identifier 932910 932935 + AmpersandAmpersandToken 932935 932938 + PrefixUnaryExpression 932938 932977 + CallExpression 932940 932977 + Identifier 932940 932953 + Identifier 932954 932964 + Identifier 932965 932976 + ExpressionStatement 932978 933089 + CallExpression 932978 933088 + PropertyAccessExpression 932978 932994 + Identifier 932978 932989 + Identifier 932990 932994 + CallExpression 932995 933087 + Identifier 932995 933020 + Identifier 933021 933051 + NumericLiteral 933052 933054 + Identifier 933055 933074 + Identifier 933075 933086 + IfStatement 933089 933290 + BinaryExpression 933107 933176 + Identifier 933107 933132 + AmpersandAmpersandToken 933132 933135 + PrefixUnaryExpression 933135 933176 + CallExpression 933137 933176 + Identifier 933137 933150 + Identifier 933151 933161 + Identifier 933162 933175 + ExpressionStatement 933177 933290 + CallExpression 933177 933289 + PropertyAccessExpression 933177 933193 + Identifier 933177 933188 + Identifier 933189 933193 + CallExpression 933194 933288 + Identifier 933194 933219 + Identifier 933220 933250 + NumericLiteral 933251 933253 + Identifier 933254 933273 + Identifier 933274 933287 + ReturnStatement 933290 933322 + Identifier 933310 933321 + ReturnStatement 933333 933361 + Identifier 933349 933360 + FunctionDeclaration 933368 933700 + Identifier 933384 933404 + Parameter 933405 933415 + Identifier 933405 933409 + TypeReference 933410 933415 + Identifier 933410 933415 + BooleanKeyword 933417 933425 + Block 933425 933700 + ReturnStatement 933427 933693 + BinaryExpression 933443 933692 + BinaryExpression 933443 933549 + PrefixUnaryExpression 933443 933519 + PrefixUnaryExpression 933445 933519 + ParenthesizedExpression 933446 933519 + BinaryExpression 933447 933518 + PropertyAccessExpression 933447 933457 + Identifier 933447 933451 + Identifier 933452 933457 + AmpersandToken 933457 933459 + ParenthesizedExpression 933459 933518 + BinaryExpression 933461 933517 + BinaryExpression 933461 933496 + PropertyAccessExpression 933461 933477 + Identifier 933461 933470 + Identifier 933471 933477 + BarToken 933477 933479 + PropertyAccessExpression 933479 933496 + Identifier 933479 933489 + Identifier 933490 933496 + BarToken 933496 933498 + PropertyAccessExpression 933498 933517 + Identifier 933498 933508 + Identifier 933509 933517 + BarBarToken 933519 933522 + CallExpression 933522 933549 + Identifier 933522 933543 + Identifier 933544 933548 + BarBarToken 933549 933552 + BinaryExpression 933552 933692 + BinaryExpression 933552 933629 + PrefixUnaryExpression 933552 933605 + PrefixUnaryExpression 933567 933605 + ParenthesizedExpression 933568 933605 + BinaryExpression 933569 933604 + PropertyAccessExpression 933569 933579 + Identifier 933569 933573 + Identifier 933574 933579 + AmpersandToken 933579 933581 + PropertyAccessExpression 933581 933604 + Identifier 933581 933591 + Identifier 933592 933604 + AmpersandAmpersandToken 933605 933608 + PrefixUnaryExpression 933608 933629 + CallExpression 933610 933629 + Identifier 933610 933623 + Identifier 933624 933628 + AmpersandAmpersandToken 933629 933632 + CallExpression 933632 933692 + Identifier 933632 933637 + PropertyAccessExpression 933638 933670 + ParenthesizedExpression 933638 933664 + AsExpression 933639 933663 + Identifier 933639 933643 + TypeReference 933646 933663 + Identifier 933646 933663 + Identifier 933665 933670 + Identifier 933671 933691 + FunctionDeclaration 933700 933940 + Identifier 933716 933741 + Parameter 933742 933761 + Identifier 933742 933746 + TypeReference 933747 933761 + Identifier 933747 933761 + UnionType 933763 933784 + TypeReference 933763 933772 + Identifier 933763 933772 + UndefinedKeyword 933774 933784 + Block 933784 933940 + ReturnStatement 933786 933933 + ElementAccessExpression 933802 933932 + CallExpression 933802 933929 + Identifier 933802 933813 + CallExpression 933814 933889 + Identifier 933814 933820 + BinaryExpression 933821 933860 + PropertyAccessExpression 933821 933832 + Identifier 933821 933825 + Identifier 933826 933832 + AmpersandAmpersandToken 933832 933835 + PropertyAccessExpression 933835 933860 + PropertyAccessExpression 933835 933847 + Identifier 933835 933840 + Identifier 933841 933847 + Identifier 933848 933860 + Identifier 933861 933888 + Identifier 933890 933928 + NumericLiteral 933930 933931 + FunctionDeclaration 933940 940053 + Identifier 933956 933991 + Parameter 933992 934020 + Identifier 933992 934005 + TypeReference 934006 934020 + Identifier 934006 934020 + Parameter 934021 934050 + Identifier 934021 934040 + QuestionToken 934040 934041 + BooleanKeyword 934042 934050 + Block 934051 940053 + VariableStatement 934053 934098 + VariableDeclarationList 934053 934097 + VariableDeclaration 934066 934097 + Identifier 934066 934077 + UnionType 934078 934097 + ArrayType 934078 934085 + TypeReference 934078 934083 + Identifier 934078 934083 + UndefinedKeyword 934087 934097 + IfStatement 934098 939983 + PropertyAccessExpression 934112 934146 + PropertyAccessExpression 934112 934132 + Identifier 934112 934125 + Identifier 934126 934132 + QuestionDotToken 934132 934134 + Identifier 934134 934146 + Block 934147 939983 + ForOfStatement 934149 939972 + VariableDeclarationList 934168 934185 + VariableDeclaration 934173 934185 + Identifier 934173 934185 + PropertyAccessExpression 934188 934222 + PropertyAccessExpression 934188 934209 + Identifier 934188 934202 + Identifier 934203 934209 + Identifier 934210 934222 + Block 934223 939972 + IfStatement 934225 939957 + BinaryExpression 934247 934295 + PropertyAccessExpression 934247 934270 + PropertyAccessExpression 934247 934265 + Identifier 934247 934258 + Identifier 934259 934265 + Identifier 934266 934270 + EqualsEqualsEqualsToken 934270 934274 + PropertyAccessExpression 934274 934295 + Identifier 934274 934285 + Identifier 934286 934295 + Block 934296 939957 + VariableStatement 934298 934858 + VariableDeclarationList 934298 934857 + VariableDeclaration 934728 934857 + ArrayBindingPattern 934728 934783 + BindingElement 934730 934769 + Identifier 934730 934748 + PropertyAccessExpression 934750 934769 + Identifier 934750 934762 + Identifier 934763 934769 + BindingElement 934770 934782 + Identifier 934770 934782 + CallExpression 934785 934857 + Identifier 934785 934830 + PropertyAccessExpression 934831 934856 + PropertyAccessExpression 934831 934849 + Identifier 934831 934842 + Identifier 934843 934849 + Identifier 934850 934856 + IfStatement 934858 939938 + BinaryExpression 934884 934952 + BinaryExpression 934884 934929 + PropertyAccessExpression 934884 934900 + Identifier 934884 934895 + Identifier 934896 934900 + EqualsEqualsEqualsToken 934900 934904 + PropertyAccessExpression 934904 934929 + Identifier 934904 934915 + Identifier 934916 934929 + AmpersandAmpersandToken 934929 934932 + PrefixUnaryExpression 934932 934952 + Identifier 934934 934952 + Block 934953 937004 + VariableStatement 934955 935036 + VariableDeclarationList 934955 935035 + VariableDeclaration 934986 935035 + Identifier 934986 935000 + AsExpression 935002 935035 + Identifier 935002 935014 + TypeReference 935017 935035 + Identifier 935017 935035 + VariableStatement 935036 935142 + VariableDeclarationList 935036 935141 + VariableDeclaration 935067 935141 + Identifier 935067 935082 + CallExpression 935084 935141 + Identifier 935084 935126 + Identifier 935127 935140 + IfStatement 935142 936981 + Identifier 935172 935186 + Block 935187 936981 + VariableStatement 935189 935302 + VariableDeclarationList 935189 935301 + VariableDeclaration 935224 935301 + Identifier 935224 935230 + CallExpression 935232 935301 + PropertyAccessExpression 935232 935269 + NonNullExpression 935232 935261 + PropertyAccessExpression 935232 935260 + Identifier 935232 935246 + Identifier 935247 935260 + Identifier 935262 935269 + AsExpression 935270 935300 + Identifier 935270 935288 + TypeReference 935291 935300 + Identifier 935291 935300 + IfStatement 935302 936954 + BinaryExpression 935336 935365 + Identifier 935336 935341 + LessThanToken 935341 935343 + PropertyAccessExpression 935343 935365 + Identifier 935343 935358 + Identifier 935359 935365 + Block 935366 936954 + VariableStatement 935368 935481 + VariableDeclarationList 935368 935480 + VariableDeclaration 935407 935480 + Identifier 935407 935426 + CallExpression 935428 935480 + Identifier 935428 935457 + ElementAccessExpression 935458 935479 + Identifier 935458 935472 + Identifier 935473 935478 + IfStatement 935481 936923 + Identifier 935519 935537 + Block 935538 936923 + VariableStatement 935540 936589 + VariableDeclarationList 935540 936588 + VariableDeclaration 936209 936588 + Identifier 936209 936216 + CallExpression 936218 936588 + Identifier 936218 936241 + Identifier 936242 936298 + CallExpression 936299 936548 + PropertyAccessExpression 936299 936359 + Identifier 936299 936355 + Identifier 936356 936359 + ArrowFunction 936360 936547 + Parameter 936361 936362 + Identifier 936361 936362 + Parameter 936363 936369 + Identifier 936363 936369 + EqualsGreaterThanToken 936370 936373 + ArrowFunction 936373 936547 + EqualsGreaterThanToken 936376 936379 + Block 936379 936547 + ReturnStatement 936381 936504 + CallExpression 936433 936503 + Identifier 936433 936465 + Identifier 936466 936479 + Identifier 936480 936495 + Identifier 936496 936502 + VariableStatement 936589 936690 + VariableDeclarationList 936589 936689 + VariableDeclaration 936632 936689 + Identifier 936632 936643 + CallExpression 936645 936689 + Identifier 936645 936661 + Identifier 936662 936680 + Identifier 936681 936688 + IfStatement 936690 936888 + BinaryExpression 936732 936760 + Identifier 936732 936742 + ExclamationEqualsEqualsToken 936742 936746 + Identifier 936746 936760 + Block 936761 936888 + ExpressionStatement 936763 936849 + BinaryExpression 936763 936848 + Identifier 936763 936815 + EqualsToken 936815 936817 + CallExpression 936817 936848 + Identifier 936817 936824 + Identifier 936825 936835 + Identifier 936836 936847 + IfStatement 937245 939938 + BinaryExpression 937250 937571 + BinaryExpression 937250 937442 + BinaryExpression 937250 937373 + BinaryExpression 937250 937317 + PropertyAccessExpression 937250 937292 + Identifier 937250 937287 + Identifier 937288 937292 + EqualsEqualsEqualsToken 937292 937296 + PropertyAccessExpression 937296 937317 + Identifier 937296 937307 + Identifier 937308 937317 + AmpersandAmpersandToken 937317 937320 + PropertyAccessExpression 937320 937373 + ParenthesizedExpression 937320 937358 + AsExpression 937322 937357 + Identifier 937322 937333 + TypeReference 937336 937357 + Identifier 937336 937357 + Identifier 937359 937373 + BarBarToken 937373 937376 + BinaryExpression 937376 937442 + PropertyAccessExpression 937376 937418 + Identifier 937376 937413 + Identifier 937414 937418 + EqualsEqualsEqualsToken 937418 937422 + PropertyAccessExpression 937422 937442 + Identifier 937422 937433 + Identifier 937434 937442 + BarBarToken 937442 937445 + BinaryExpression 937445 937571 + BinaryExpression 937445 937519 + PropertyAccessExpression 937445 937487 + Identifier 937445 937482 + Identifier 937483 937487 + EqualsEqualsEqualsToken 937487 937491 + PropertyAccessExpression 937491 937519 + Identifier 937491 937502 + Identifier 937503 937519 + AmpersandAmpersandToken 937519 937522 + PropertyAccessExpression 937522 937571 + ParenthesizedExpression 937522 937556 + AsExpression 937524 937555 + Identifier 937524 937535 + TypeReference 937538 937555 + Identifier 937538 937555 + Identifier 937557 937571 + Block 937594 937707 + ExpressionStatement 937596 937684 + BinaryExpression 937596 937683 + Identifier 937596 937632 + EqualsToken 937632 937634 + CallExpression 937634 937683 + Identifier 937634 937641 + Identifier 937642 937652 + CallExpression 937653 937682 + Identifier 937653 937669 + Identifier 937670 937681 + IfStatement 937895 939938 + BinaryExpression 937900 937955 + PropertyAccessExpression 937900 937916 + Identifier 937900 937911 + Identifier 937912 937916 + EqualsEqualsEqualsToken 937916 937920 + PropertyAccessExpression 937920 937955 + Identifier 937920 937931 + Identifier 937932 937955 + Block 937956 938051 + ExpressionStatement 937958 938028 + BinaryExpression 937958 938027 + Identifier 937958 937994 + EqualsToken 937994 937996 + CallExpression 937996 938027 + Identifier 937996 938003 + Identifier 938004 938014 + Identifier 938015 938026 + IfStatement 938238 939938 + BinaryExpression 938243 938341 + BinaryExpression 938243 938288 + PropertyAccessExpression 938243 938259 + Identifier 938243 938254 + Identifier 938255 938259 + EqualsEqualsEqualsToken 938259 938263 + PropertyAccessExpression 938263 938288 + Identifier 938263 938274 + Identifier 938275 938288 + AmpersandAmpersandToken 938288 938291 + BinaryExpression 938291 938341 + PropertyAccessExpression 938291 938315 + PropertyAccessExpression 938291 938310 + Identifier 938291 938303 + Identifier 938304 938310 + Identifier 938311 938315 + EqualsEqualsEqualsToken 938315 938319 + PropertyAccessExpression 938319 938341 + Identifier 938319 938330 + Identifier 938331 938341 + Block 938342 938449 + ExpressionStatement 938344 938426 + BinaryExpression 938344 938425 + Identifier 938344 938380 + EqualsToken 938380 938382 + CallExpression 938382 938425 + Identifier 938382 938389 + Identifier 938390 938400 + Identifier 938401 938424 + IfStatement 938786 939938 + BinaryExpression 938791 939358 + BinaryExpression 938791 939251 + BinaryExpression 938791 939163 + BinaryExpression 938791 939063 + BinaryExpression 938791 939005 + BinaryExpression 938791 938899 + BinaryExpression 938791 938859 + PropertyAccessExpression 938791 938833 + Identifier 938791 938828 + Identifier 938829 938833 + EqualsEqualsEqualsToken 938833 938837 + PropertyAccessExpression 938837 938859 + Identifier 938837 938848 + Identifier 938849 938859 + AmpersandAmpersandToken 938859 938862 + PropertyAccessExpression 938862 938899 + ParenthesizedExpression 938862 938894 + AsExpression 938864 938893 + Identifier 938864 938875 + TypeReference 938878 938893 + Identifier 938878 938893 + Identifier 938895 938899 + AmpersandAmpersandToken 938899 938902 + BinaryExpression 938902 939005 + CallExpression 938902 938982 + Identifier 938902 938943 + NonNullExpression 938944 938981 + PropertyAccessExpression 938944 938980 + ParenthesizedExpression 938944 938975 + AsExpression 938945 938974 + Identifier 938945 938956 + TypeReference 938959 938974 + Identifier 938959 938974 + Identifier 938976 938980 + EqualsEqualsEqualsToken 938982 938986 + PropertyAccessExpression 938986 939005 + Identifier 938986 938998 + Identifier 938999 939005 + AmpersandAmpersandToken 939005 939008 + BinaryExpression 939008 939063 + PropertyAccessExpression 939008 939032 + PropertyAccessExpression 939008 939027 + Identifier 939008 939020 + Identifier 939021 939027 + Identifier 939028 939032 + EqualsEqualsEqualsToken 939032 939036 + PropertyAccessExpression 939036 939063 + Identifier 939036 939047 + Identifier 939048 939063 + AmpersandAmpersandToken 939063 939066 + BinaryExpression 939066 939163 + PropertyAccessExpression 939066 939147 + ParenthesizedExpression 939066 939135 + AsExpression 939093 939134 + PropertyAccessExpression 939093 939111 + Identifier 939093 939104 + Identifier 939105 939111 + TypeReference 939114 939134 + Identifier 939114 939134 + Identifier 939136 939147 + EqualsEqualsEqualsToken 939147 939151 + Identifier 939151 939163 + AmpersandAmpersandToken 939163 939166 + BinaryExpression 939166 939251 + PropertyAccessExpression 939166 939225 + PropertyAccessExpression 939166 939220 + ParenthesizedExpression 939166 939210 + AsExpression 939168 939209 + PropertyAccessExpression 939168 939186 + Identifier 939168 939179 + Identifier 939180 939186 + TypeReference 939189 939209 + Identifier 939189 939209 + Identifier 939211 939220 + Identifier 939221 939225 + EqualsEqualsEqualsToken 939225 939229 + PropertyAccessExpression 939229 939251 + Identifier 939229 939240 + Identifier 939241 939251 + AmpersandAmpersandToken 939251 939254 + PropertyAccessExpression 939254 939358 + ParenthesizedExpression 939254 939353 + AsExpression 939281 939352 + PropertyAccessExpression 939281 939334 + ParenthesizedExpression 939281 939324 + AsExpression 939282 939323 + PropertyAccessExpression 939282 939300 + Identifier 939282 939293 + Identifier 939294 939300 + TypeReference 939303 939323 + Identifier 939303 939323 + Identifier 939325 939334 + TypeReference 939337 939352 + Identifier 939337 939352 + Identifier 939354 939358 + Block 939381 939938 + VariableStatement 939383 939505 + VariableDeclarationList 939383 939504 + VariableDeclaration 939414 939504 + Identifier 939414 939430 + AsExpression 939432 939504 + PropertyAccessExpression 939432 939486 + ParenthesizedExpression 939432 939476 + AsExpression 939434 939475 + PropertyAccessExpression 939434 939452 + Identifier 939434 939445 + Identifier 939446 939452 + TypeReference 939455 939475 + Identifier 939455 939475 + Identifier 939477 939486 + TypeReference 939489 939504 + Identifier 939489 939504 + VariableStatement 939505 939591 + VariableDeclarationList 939505 939590 + VariableDeclaration 939536 939590 + Identifier 939536 939545 + CallExpression 939547 939590 + Identifier 939547 939567 + NonNullExpression 939568 939589 + PropertyAccessExpression 939568 939588 + Identifier 939568 939583 + Identifier 939584 939588 + ExpressionStatement 939591 939915 + BinaryExpression 939591 939914 + Identifier 939591 939627 + EqualsToken 939627 939629 + CallExpression 939629 939914 + Identifier 939629 939636 + Identifier 939637 939647 + CallExpression 939648 939913 + Identifier 939648 939664 + Identifier 939665 939673 + CallExpression 939674 939912 + Identifier 939674 939694 + CallExpression 939695 939780 + Identifier 939695 939725 + CallExpression 939726 939779 + Identifier 939726 939748 + PropertyAccessExpression 939749 939778 + Identifier 939749 939764 + Identifier 939765 939778 + ConditionalExpression 939781 939911 + PropertyAccessExpression 939781 939822 + PropertyAccessExpression 939781 939811 + Identifier 939781 939797 + Identifier 939798 939811 + Identifier 939812 939822 + QuestionToken 939822 939824 + CallExpression 939824 939886 + Identifier 939824 939844 + PropertyAccessExpression 939845 939885 + PropertyAccessExpression 939845 939874 + Identifier 939845 939860 + Identifier 939861 939874 + Identifier 939875 939885 + ColonToken 939886 939888 + Identifier 939888 939911 + ReturnStatement 939983 940046 + BinaryExpression 939999 940045 + Identifier 939999 940010 + AmpersandAmpersandToken 940010 940013 + CallExpression 940013 940045 + Identifier 940013 940033 + Identifier 940034 940044 + FunctionDeclaration 940053 941716 + Identifier 940184 940215 + Parameter 940216 940244 + Identifier 940216 940229 + TypeReference 940230 940244 + Identifier 940230 940244 + UnionType 940246 940263 + TypeReference 940246 940251 + Identifier 940246 940251 + UndefinedKeyword 940253 940263 + Block 940263 941716 + IfStatement 940265 941607 + PrefixUnaryExpression 940279 940304 + PropertyAccessExpression 940280 940304 + Identifier 940280 940293 + Identifier 940294 940304 + Block 940305 941607 + IfStatement 940307 941596 + PropertyAccessExpression 940325 940345 + Identifier 940325 940338 + Identifier 940339 940345 + Block 940346 940596 + VariableStatement 940348 940442 + VariableDeclarationList 940348 940441 + VariableDeclaration 940371 940441 + Identifier 940371 940388 + CallExpression 940390 940441 + Identifier 940390 940419 + PropertyAccessExpression 940420 940440 + Identifier 940420 940433 + Identifier 940434 940440 + ExpressionStatement 940442 940581 + BinaryExpression 940442 940580 + PropertyAccessExpression 940442 940484 + Identifier 940442 940473 + Identifier 940474 940484 + EqualsToken 940484 940486 + ConditionalExpression 940486 940580 + Identifier 940486 940503 + QuestionToken 940503 940505 + CallExpression 940505 940561 + Identifier 940505 940521 + Identifier 940522 940538 + PropertyAccessExpression 940539 940560 + Identifier 940539 940553 + Identifier 940554 940560 + ColonToken 940561 940563 + Identifier 940563 940580 + Block 940614 941596 + VariableStatement 940616 940704 + VariableDeclarationList 940616 940703 + VariableDeclaration 940639 940703 + Identifier 940639 940661 + CallExpression 940663 940703 + Identifier 940663 940688 + Identifier 940689 940702 + IfStatement 940704 941581 + PrefixUnaryExpression 940726 940748 + Identifier 940727 940748 + Block 940749 940889 + ExpressionStatement 940751 940870 + BinaryExpression 940751 940869 + PropertyAccessExpression 940751 940797 + Identifier 940751 940786 + Identifier 940787 940797 + EqualsToken 940797 940799 + BinaryExpression 940799 940869 + CallExpression 940799 940849 + Identifier 940799 940834 + Identifier 940835 940848 + BarBarToken 940849 940852 + Identifier 940852 940869 + Block 940911 941581 + VariableStatement 940913 940989 + VariableDeclarationList 940913 940988 + VariableDeclaration 940938 940988 + Identifier 940938 940943 + CallExpression 940945 940988 + Identifier 940945 940965 + Identifier 940966 940987 + IfStatement 940989 941508 + BinaryExpression 941015 941063 + BinaryExpression 941015 941041 + PropertyAccessExpression 941015 941025 + Identifier 941015 941019 + Identifier 941020 941025 + AmpersandToken 941025 941027 + PropertyAccessExpression 941027 941041 + Identifier 941027 941037 + Identifier 941038 941041 + AmpersandAmpersandToken 941041 941044 + PrefixUnaryExpression 941044 941063 + CallExpression 941046 941063 + Identifier 941046 941057 + Identifier 941058 941062 + Block 941064 941508 + ExpressionStatement 941066 941485 + BinaryExpression 941066 941484 + Identifier 941066 941376 + EqualsToken 941376 941378 + ConditionalExpression 941378 941484 + BinaryExpression 941378 941445 + PropertyAccessExpression 941378 941419 + PropertyAccessExpression 941378 941414 + PropertyAccessExpression 941378 941407 + Identifier 941378 941400 + Identifier 941401 941407 + Identifier 941408 941414 + Identifier 941415 941419 + EqualsEqualsEqualsToken 941419 941423 + PropertyAccessExpression 941423 941445 + Identifier 941423 941434 + Identifier 941435 941445 + QuestionToken 941445 941447 + Identifier 941447 941470 + ColonToken 941470 941472 + Identifier 941472 941484 + ExpressionStatement 941508 941562 + BinaryExpression 941508 941561 + PropertyAccessExpression 941508 941554 + Identifier 941508 941543 + Identifier 941544 941554 + EqualsToken 941554 941556 + Identifier 941556 941561 + ReturnStatement 941607 941709 + ConditionalExpression 941623 941708 + BinaryExpression 941623 941669 + PropertyAccessExpression 941623 941648 + Identifier 941623 941637 + Identifier 941638 941648 + EqualsEqualsEqualsToken 941648 941652 + Identifier 941652 941669 + QuestionToken 941669 941671 + Identifier 941671 941681 + ColonToken 941681 941683 + PropertyAccessExpression 941683 941708 + Identifier 941683 941697 + Identifier 941698 941708 + FunctionDeclaration 941716 942105 + Identifier 941732 941763 + Parameter 941764 941792 + Identifier 941764 941777 + TypeReference 941778 941792 + Identifier 941778 941792 + UnionType 941794 941813 + TypeReference 941794 941801 + Identifier 941794 941801 + UndefinedKeyword 941803 941813 + Block 941813 942105 + VariableStatement 941815 941932 + VariableDeclarationList 941815 941931 + VariableDeclaration 941830 941931 + Identifier 941830 941833 + NonNullExpression 941835 941931 + CallExpression 941835 941930 + Identifier 941835 941856 + TypeReference 941857 941881 + Identifier 941857 941881 + PropertyAccessExpression 941883 941903 + Identifier 941883 941896 + Identifier 941897 941903 + PropertyAccessExpression 941904 941929 + Identifier 941904 941915 + Identifier 941916 941929 + VariableStatement 941932 942051 + VariableDeclarationList 941932 942050 + VariableDeclaration 941947 942050 + Identifier 941947 941952 + ConditionalExpression 941954 942050 + CallExpression 941954 941984 + Identifier 941954 941973 + PropertyAccessExpression 941974 941983 + Identifier 941974 941976 + Identifier 941977 941983 + QuestionToken 941984 941986 + CallExpression 941986 942038 + Identifier 941986 942027 + PropertyAccessExpression 942028 942037 + Identifier 942028 942030 + Identifier 942031 942037 + ColonToken 942038 942040 + PropertyAccessExpression 942040 942050 + Identifier 942040 942043 + Identifier 942044 942050 + ReturnStatement 942051 942098 + BinaryExpression 942067 942097 + Identifier 942067 942072 + AmpersandAmpersandToken 942072 942075 + CallExpression 942075 942097 + Identifier 942075 942091 + Identifier 942092 942096 + FunctionDeclaration 942105 942849 + Identifier 942121 942135 + Parameter 942136 942170 + Identifier 942136 942141 + UnionType 942142 942170 + TypeOperator 942142 942158 + ArrayType 942151 942158 + TypeReference 942151 942156 + Identifier 942151 942156 + UndefinedKeyword 942160 942170 + Block 942171 942849 + VariableStatement 942173 942199 + VariableDeclarationList 942173 942198 + VariableDeclaration 942186 942198 + Identifier 942186 942193 + StringLiteral 942195 942198 + IfStatement 942199 942818 + Identifier 942213 942218 + Block 942219 942818 + VariableStatement 942221 942263 + VariableDeclarationList 942221 942262 + VariableDeclaration 942240 942262 + Identifier 942240 942247 + PropertyAccessExpression 942249 942262 + Identifier 942249 942255 + Identifier 942256 942262 + VariableStatement 942263 942287 + VariableDeclarationList 942263 942286 + VariableDeclaration 942280 942286 + Identifier 942280 942282 + NumericLiteral 942284 942286 + WhileStatement 942287 942807 + BinaryExpression 942308 942318 + Identifier 942308 942309 + LessThanToken 942309 942311 + Identifier 942311 942318 + Block 942319 942807 + VariableStatement 942321 942367 + VariableDeclarationList 942321 942366 + VariableDeclaration 942344 942366 + Identifier 942344 942352 + PropertyAccessExpression 942354 942366 + ElementAccessExpression 942354 942363 + Identifier 942354 942360 + Identifier 942361 942362 + Identifier 942364 942366 + VariableStatement 942367 942399 + VariableDeclarationList 942367 942398 + VariableDeclaration 942388 942398 + Identifier 942388 942394 + NumericLiteral 942396 942398 + WhileStatement 942399 942537 + BinaryExpression 942424 942485 + BinaryExpression 942424 942442 + BinaryExpression 942424 942433 + Identifier 942424 942425 + PlusToken 942425 942427 + Identifier 942427 942433 + LessThanToken 942433 942435 + Identifier 942435 942442 + AmpersandAmpersandToken 942442 942445 + BinaryExpression 942445 942485 + PropertyAccessExpression 942445 942465 + ElementAccessExpression 942445 942462 + Identifier 942445 942451 + BinaryExpression 942452 942461 + Identifier 942452 942453 + PlusToken 942453 942455 + Identifier 942455 942461 + Identifier 942463 942465 + EqualsEqualsEqualsToken 942465 942469 + BinaryExpression 942469 942485 + Identifier 942469 942477 + PlusToken 942477 942479 + Identifier 942479 942485 + Block 942486 942537 + ExpressionStatement 942488 942518 + PostfixUnaryExpression 942488 942517 + Identifier 942488 942515 + IfStatement 942537 942630 + PropertyAccessExpression 942559 942572 + Identifier 942559 942565 + Identifier 942566 942572 + Block 942573 942630 + ExpressionStatement 942575 942611 + BinaryExpression 942575 942610 + Identifier 942575 942603 + PlusEqualsToken 942603 942606 + StringLiteral 942606 942610 + ExpressionStatement 942630 942666 + BinaryExpression 942630 942665 + Identifier 942630 942654 + PlusEqualsToken 942654 942657 + Identifier 942657 942665 + IfStatement 942666 942763 + BinaryExpression 942688 942697 + Identifier 942688 942693 + GreaterThanToken 942693 942695 + NumericLiteral 942695 942697 + Block 942698 942763 + ExpressionStatement 942700 942744 + BinaryExpression 942700 942743 + Identifier 942700 942728 + PlusEqualsToken 942728 942731 + BinaryExpression 942731 942743 + StringLiteral 942731 942735 + PlusToken 942735 942737 + Identifier 942737 942743 + ExpressionStatement 942763 942792 + BinaryExpression 942763 942791 + Identifier 942763 942782 + PlusEqualsToken 942782 942785 + Identifier 942785 942791 + ReturnStatement 942818 942842 + Identifier 942834 942841 + FunctionDeclaration 942849 943104 + Identifier 942865 942876 + Parameter 942877 942908 + Identifier 942877 942888 + UnionType 942889 942908 + TypeReference 942889 942896 + Identifier 942889 942896 + UndefinedKeyword 942898 942908 + Parameter 942909 942957 + Identifier 942909 942928 + UnionType 942929 942957 + TypeOperator 942929 942945 + ArrayType 942938 942945 + TypeReference 942938 942943 + Identifier 942938 942943 + UndefinedKeyword 942947 942957 + Block 942958 943104 + ReturnStatement 942960 943097 + ConditionalExpression 942976 943096 + Identifier 942976 942988 + QuestionToken 942988 942990 + BinaryExpression 942990 943091 + TemplateExpression 942990 943021 + TemplateHead 942990 942995 + TemplateSpan 942995 943021 + CallExpression 942995 943019 + Identifier 942995 943006 + Identifier 943007 943018 + TemplateTail 943019 943021 + PlusToken 943021 943023 + ParenthesizedExpression 943023 943091 + ConditionalExpression 943025 943090 + Identifier 943025 943043 + QuestionToken 943043 943045 + TemplateExpression 943045 943085 + TemplateHead 943045 943050 + TemplateSpan 943050 943085 + CallExpression 943050 943083 + Identifier 943050 943063 + Identifier 943064 943082 + TemplateTail 943083 943085 + ColonToken 943085 943087 + StringLiteral 943087 943090 + ColonToken 943091 943093 + StringLiteral 943093 943096 + FunctionDeclaration 943104 943935 + Identifier 943552 943579 + Parameter 943580 943602 + Identifier 943580 943585 + TypeOperator 943586 943602 + ArrayType 943595 943602 + TypeReference 943595 943600 + Identifier 943595 943600 + Parameter 943603 943628 + Identifier 943603 943616 + QuestionToken 943616 943617 + TypeReference 943618 943628 + Identifier 943618 943628 + TypeReference 943630 943642 + Identifier 943630 943642 + Block 943642 943935 + VariableStatement 943644 943682 + VariableDeclarationList 943644 943681 + VariableDeclaration 943657 943681 + Identifier 943657 943664 + TypeReference 943665 943677 + Identifier 943665 943677 + NumericLiteral 943679 943681 + ForOfStatement 943682 943873 + VariableDeclarationList 943697 943707 + VariableDeclaration 943702 943707 + Identifier 943702 943707 + Identifier 943710 943716 + Block 943717 943873 + IfStatement 943719 943862 + BinaryExpression 943737 943795 + BinaryExpression 943737 943763 + Identifier 943737 943749 + EqualsEqualsEqualsToken 943749 943753 + Identifier 943753 943763 + BarBarToken 943763 943766 + PrefixUnaryExpression 943766 943795 + ParenthesizedExpression 943768 943795 + BinaryExpression 943769 943794 + PropertyAccessExpression 943769 943779 + Identifier 943769 943773 + Identifier 943774 943779 + AmpersandToken 943779 943781 + Identifier 943781 943794 + Block 943796 943862 + ExpressionStatement 943798 943847 + BinaryExpression 943798 943846 + Identifier 943798 943822 + BarEqualsToken 943822 943825 + CallExpression 943825 943846 + Identifier 943825 943840 + Identifier 943841 943845 + ReturnStatement 943873 943928 + BinaryExpression 943889 943927 + Identifier 943889 943896 + AmpersandToken 943896 943898 + PropertyAccessExpression 943898 943927 + Identifier 943898 943910 + Identifier 943911 943927 + FunctionDeclaration 943935 944227 + Identifier 943951 943974 + Parameter 943975 943994 + Identifier 943975 943981 + TypeReference 943982 943994 + Identifier 943982 943994 + Parameter 943995 944038 + Identifier 943995 944009 + UnionType 944010 944038 + TypeOperator 944010 944026 + ArrayType 944019 944026 + TypeReference 944019 944024 + Identifier 944019 944024 + UndefinedKeyword 944028 944038 + TypeReference 944040 944045 + Identifier 944040 944045 + Block 944045 944227 + IfStatement 944047 944158 + BinaryExpression 944061 944111 + CallExpression 944061 944080 + Identifier 944061 944065 + Identifier 944066 944079 + AmpersandAmpersandToken 944080 944083 + BinaryExpression 944083 944111 + Identifier 944083 944090 + EqualsEqualsEqualsToken 944090 944094 + Identifier 944094 944111 + Block 944112 944158 + ReturnStatement 944114 944147 + Identifier 944134 944146 + ReturnStatement 944158 944220 + CallExpression 944176 944219 + Identifier 944176 944196 + Identifier 944197 944203 + Identifier 944204 944218 + FunctionDeclaration 944227 944839 + Identifier 944243 944263 + Parameter 944264 944283 + Identifier 944264 944270 + TypeReference 944271 944283 + Identifier 944271 944283 + Parameter 944284 944327 + Identifier 944284 944298 + UnionType 944299 944327 + TypeOperator 944299 944315 + ArrayType 944308 944315 + TypeReference 944308 944313 + Identifier 944308 944313 + UndefinedKeyword 944317 944327 + TypeReference 944329 944343 + Identifier 944329 944343 + Block 944343 944839 + VariableStatement 944345 944395 + VariableDeclarationList 944345 944394 + VariableDeclaration 944360 944394 + Identifier 944360 944363 + CallExpression 944365 944394 + Identifier 944365 944379 + Identifier 944380 944393 + VariableStatement 944395 944446 + VariableDeclarationList 944395 944445 + VariableDeclaration 944408 944445 + Identifier 944408 944413 + CallExpression 944415 944445 + PropertyAccessExpression 944415 944441 + PropertyAccessExpression 944415 944437 + Identifier 944415 944422 + Identifier 944423 944437 + Identifier 944438 944441 + Identifier 944442 944444 + IfStatement 944446 944810 + PrefixUnaryExpression 944460 944465 + Identifier 944461 944465 + Block 944466 944810 + ExpressionStatement 944468 944561 + BinaryExpression 944468 944560 + Identifier 944468 944486 + EqualsToken 944486 944488 + AsExpression 944488 944560 + CallExpression 944488 944543 + Identifier 944488 944505 + PropertyAccessExpression 944506 944527 + Identifier 944506 944517 + Identifier 944518 944527 + PropertyAccessExpression 944528 944542 + Identifier 944528 944535 + Identifier 944536 944542 + TypeReference 944546 944560 + Identifier 944546 944560 + ExpressionStatement 944561 944611 + CallExpression 944561 944610 + PropertyAccessExpression 944561 944600 + PropertyAccessExpression 944561 944596 + Identifier 944561 944581 + Identifier 944582 944596 + Identifier 944597 944600 + Identifier 944601 944603 + Identifier 944604 944609 + ExpressionStatement 944611 944707 + BinaryExpression 944611 944706 + PropertyAccessExpression 944611 944641 + Identifier 944611 944629 + Identifier 944630 944641 + BarEqualsToken 944641 944644 + ConditionalExpression 944644 944706 + Identifier 944644 944658 + QuestionToken 944658 944660 + CallExpression 944660 944702 + Identifier 944660 944687 + Identifier 944688 944701 + ColonToken 944702 944704 + NumericLiteral 944704 944706 + ExpressionStatement 944707 944742 + BinaryExpression 944707 944741 + PropertyAccessExpression 944707 944732 + Identifier 944707 944725 + Identifier 944726 944732 + EqualsToken 944732 944734 + Identifier 944734 944741 + ExpressionStatement 944742 944799 + BinaryExpression 944742 944798 + PropertyAccessExpression 944742 944782 + Identifier 944742 944760 + Identifier 944761 944782 + EqualsToken 944782 944784 + Identifier 944784 944798 + ReturnStatement 944810 944832 + Identifier 944826 944831 + FunctionDeclaration 944839 945187 + Identifier 944855 944874 + Parameter 944875 944896 + Identifier 944875 944881 + TypeReference 944882 944896 + Identifier 944882 944896 + TypeReference 944898 944912 + Identifier 944898 944912 + Block 944912 945187 + VariableStatement 944914 945004 + VariableDeclarationList 944914 945003 + VariableDeclaration 944929 945003 + Identifier 944929 944934 + AsExpression 944936 945003 + CallExpression 944936 944986 + Identifier 944936 944957 + PropertyAccessExpression 944958 944970 + Identifier 944958 944964 + Identifier 944965 944970 + PropertyAccessExpression 944971 944985 + Identifier 944971 944978 + Identifier 944979 944985 + TypeReference 944989 945003 + Identifier 944989 945003 + ExpressionStatement 945004 945052 + BinaryExpression 945004 945051 + PropertyAccessExpression 945004 945030 + Identifier 945004 945018 + Identifier 945019 945030 + EqualsToken 945030 945032 + PropertyAccessExpression 945032 945051 + Identifier 945032 945039 + Identifier 945040 945051 + ExpressionStatement 945052 945090 + BinaryExpression 945052 945089 + PropertyAccessExpression 945052 945073 + Identifier 945052 945066 + Identifier 945067 945073 + EqualsToken 945073 945075 + PropertyAccessExpression 945075 945089 + Identifier 945075 945082 + Identifier 945083 945089 + ExpressionStatement 945090 945158 + BinaryExpression 945090 945157 + PropertyAccessExpression 945090 945126 + Identifier 945090 945104 + Identifier 945105 945126 + EqualsToken 945126 945128 + PropertyAccessExpression 945128 945157 + Identifier 945128 945135 + Identifier 945136 945157 + ReturnStatement 945158 945180 + Identifier 945174 945179 + FunctionDeclaration 945187 946042 + Identifier 945203 945231 + Parameter 945232 945251 + Identifier 945232 945238 + TypeReference 945239 945251 + Identifier 945239 945251 + Parameter 945252 945308 + Identifier 945252 945257 + UnionType 945258 945308 + TypeReference 945258 945276 + Identifier 945258 945276 + TypeReference 945278 945292 + Identifier 945278 945292 + TypeReference 945294 945308 + Identifier 945294 945308 + Parameter 945309 945329 + Identifier 945309 945316 + QuestionToken 945316 945317 + TypeReference 945318 945329 + Identifier 945318 945329 + Parameter 945330 945351 + Identifier 945330 945342 + QuestionToken 945342 945343 + TypeReference 945344 945351 + Identifier 945344 945351 + Parameter 945352 945389 + Identifier 945352 945371 + QuestionToken 945371 945372 + TypeOperator 945373 945389 + ArrayType 945382 945389 + TypeReference 945382 945387 + Identifier 945382 945387 + TypeReference 945391 945413 + Identifier 945391 945413 + Block 945413 946042 + IfStatement 945415 945725 + PrefixUnaryExpression 945429 945441 + Identifier 945430 945441 + Block 945442 945725 + ExpressionStatement 945444 945504 + BinaryExpression 945444 945503 + Identifier 945444 945469 + EqualsToken 945469 945471 + CallExpression 945471 945503 + Identifier 945471 945497 + Identifier 945498 945502 + VariableStatement 945504 945594 + VariableDeclarationList 945504 945593 + VariableDeclaration 945523 945593 + Identifier 945523 945547 + CallExpression 945549 945593 + Identifier 945549 945580 + Identifier 945581 945592 + ExpressionStatement 945594 945714 + BinaryExpression 945594 945713 + Identifier 945594 945626 + EqualsToken 945626 945628 + ConditionalExpression 945628 945713 + Identifier 945628 945635 + QuestionToken 945635 945637 + CallExpression 945637 945687 + Identifier 945637 945654 + Identifier 945655 945678 + Identifier 945679 945686 + ColonToken 945687 945689 + Identifier 945689 945713 + VariableStatement 945725 945828 + VariableDeclarationList 945725 945827 + VariableDeclaration 945740 945827 + Identifier 945740 945745 + AsExpression 945747 945827 + CallExpression 945747 945802 + Identifier 945747 945764 + PropertyAccessExpression 945765 945786 + Identifier 945765 945776 + Identifier 945777 945786 + PropertyAccessExpression 945787 945801 + Identifier 945787 945794 + Identifier 945795 945801 + TypeReference 945805 945827 + Identifier 945805 945827 + ExpressionStatement 945828 945859 + BinaryExpression 945828 945858 + PropertyAccessExpression 945828 945849 + Identifier 945828 945842 + Identifier 945843 945849 + EqualsToken 945849 945851 + Identifier 945851 945858 + ExpressionStatement 945859 945886 + BinaryExpression 945859 945885 + PropertyAccessExpression 945859 945878 + Identifier 945859 945873 + Identifier 945874 945878 + EqualsToken 945878 945880 + Identifier 945880 945885 + ExpressionStatement 945886 945917 + BinaryExpression 945886 945916 + PropertyAccessExpression 945886 945907 + Identifier 945886 945900 + Identifier 945901 945907 + EqualsToken 945907 945909 + Identifier 945909 945916 + ExpressionStatement 945917 945958 + BinaryExpression 945917 945957 + PropertyAccessExpression 945917 945943 + Identifier 945917 945931 + Identifier 945932 945943 + EqualsToken 945943 945945 + Identifier 945945 945957 + ExpressionStatement 945958 946013 + BinaryExpression 945958 946012 + PropertyAccessExpression 945958 945991 + Identifier 945958 945972 + Identifier 945973 945991 + EqualsToken 945991 945993 + Identifier 945993 946012 + ReturnStatement 946013 946035 + Identifier 946029 946034 + FunctionDeclaration 946042 947608 + Identifier 946058 946075 + Parameter 946076 946095 + Identifier 946076 946080 + TypeReference 946081 946095 + Identifier 946081 946095 + TypeOperator 946097 946113 + ArrayType 946106 946113 + TypeReference 946106 946111 + Identifier 946106 946111 + Block 946113 947608 + IfStatement 946115 947557 + PrefixUnaryExpression 946129 946156 + PropertyAccessExpression 946130 946156 + Identifier 946130 946134 + Identifier 946135 946156 + Block 946157 947557 + IfStatement 946159 946405 + PrefixUnaryExpression 946177 946248 + CallExpression 946178 946248 + Identifier 946178 946196 + Identifier 946197 946201 + PropertyAccessExpression 946202 946247 + Identifier 946202 946225 + Identifier 946226 946247 + Block 946249 946405 + ReturnStatement 946251 946390 + BinaryExpression 946275 946389 + CallExpression 946275 946375 + Identifier 946275 946287 + PropertyAccessExpression 946288 946319 + PropertyAccessExpression 946288 946299 + Identifier 946288 946292 + Identifier 946293 946299 + Identifier 946300 946319 + CallExpression 946320 946374 + PropertyAccessExpression 946320 946357 + PropertyAccessExpression 946320 946352 + PropertyAccessExpression 946320 946332 + Identifier 946320 946325 + Identifier 946326 946332 + Identifier 946333 946352 + QuestionDotToken 946352 946354 + Identifier 946354 946357 + ArrowFunction 946358 946373 + EqualsGreaterThanToken 946360 946363 + Identifier 946363 946373 + BarBarToken 946375 946378 + Identifier 946378 946389 + VariableStatement 946405 946442 + VariableDeclarationList 946405 946441 + VariableDeclaration 946424 946441 + Identifier 946424 946429 + PropertyAccessExpression 946431 946441 + Identifier 946431 946436 + Identifier 946437 946441 + VariableStatement 946442 946824 + VariableDeclarationList 946442 946823 + VariableDeclaration 946461 946823 + Identifier 946461 946475 + ConditionalExpression 946477 946823 + PrefixUnaryExpression 946477 946483 + Identifier 946479 946483 + QuestionToken 946483 946485 + Identifier 946485 946496 + ColonToken 946496 946498 + ConditionalExpression 946498 946823 + BinaryExpression 946498 946554 + PropertyAccessExpression 946498 946525 + Identifier 946498 946520 + Identifier 946521 946525 + EqualsEqualsEqualsToken 946525 946529 + PropertyAccessExpression 946529 946554 + Identifier 946529 946540 + Identifier 946541 946554 + QuestionToken 946554 946556 + CallExpression 946556 946668 + Identifier 946556 946568 + PropertyAccessExpression 946569 946600 + PropertyAccessExpression 946569 946580 + Identifier 946569 946573 + Identifier 946574 946580 + Identifier 946581 946600 + CallExpression 946601 946667 + Identifier 946601 946627 + Identifier 946628 946632 + NonNullExpression 946633 946666 + PropertyAccessExpression 946633 946665 + PropertyAccessExpression 946633 946645 + Identifier 946633 946638 + Identifier 946639 946645 + Identifier 946646 946665 + ColonToken 946668 946670 + ConditionalExpression 946670 946823 + BinaryExpression 946670 946722 + PropertyAccessExpression 946670 946697 + Identifier 946670 946692 + Identifier 946693 946697 + EqualsEqualsEqualsToken 946697 946701 + PropertyAccessExpression 946701 946722 + Identifier 946701 946712 + Identifier 946713 946722 + QuestionToken 946722 946724 + ArrayLiteralExpression 946724 946764 + CallExpression 946726 946763 + Identifier 946726 946745 + PropertyAccessExpression 946746 946762 + Identifier 946746 946750 + Identifier 946751 946762 + ColonToken 946764 946766 + CallExpression 946766 946823 + Identifier 946766 946787 + PropertyAccessExpression 946788 946801 + Identifier 946788 946792 + Identifier 946793 946801 + Identifier 946802 946822 + IfStatement 946824 947546 + CallExpression 946842 946861 + Identifier 946842 946859 + Block 946862 947003 + ExpressionStatement 946864 946988 + BinaryExpression 946864 946987 + PropertyAccessExpression 946864 946908 + Identifier 946864 946886 + Identifier 946887 946908 + QuestionQuestionEqualsToken 946908 946912 + ConditionalExpression 946912 946987 + PropertyAccessExpression 946912 946924 + Identifier 946912 946917 + Identifier 946918 946924 + QuestionToken 946924 946926 + CallExpression 946926 946971 + Identifier 946926 946943 + Identifier 946944 946957 + PropertyAccessExpression 946958 946970 + Identifier 946958 946963 + Identifier 946964 946970 + ColonToken 946971 946973 + Identifier 946973 946987 + Block 947021 947546 + ExpressionStatement 947023 947186 + BinaryExpression 947023 947185 + PropertyAccessExpression 947023 947067 + Identifier 947023 947045 + Identifier 947046 947067 + QuestionQuestionEqualsToken 947067 947071 + CallExpression 947071 947185 + Identifier 947071 947083 + PropertyAccessExpression 947084 947115 + PropertyAccessExpression 947084 947095 + Identifier 947084 947088 + Identifier 947089 947095 + Identifier 947096 947115 + BinaryExpression 947116 947184 + CallExpression 947116 947170 + PropertyAccessExpression 947116 947153 + PropertyAccessExpression 947116 947148 + PropertyAccessExpression 947116 947128 + Identifier 947116 947121 + Identifier 947122 947128 + Identifier 947129 947148 + QuestionDotToken 947148 947150 + Identifier 947150 947153 + ArrowFunction 947154 947169 + EqualsGreaterThanToken 947156 947159 + Identifier 947159 947169 + BarBarToken 947170 947173 + Identifier 947173 947184 + ExpressionStatement 947186 947531 + CallExpression 947186 947530 + Identifier 947186 947209 + BinaryExpression 947210 947256 + PropertyAccessExpression 947210 947241 + Identifier 947210 947236 + Identifier 947237 947241 + BarBarToken 947241 947244 + Identifier 947244 947256 + ConditionalExpression 947257 947431 + PropertyAccessExpression 947257 947297 + PropertyAccessExpression 947257 947290 + Identifier 947257 947283 + Identifier 947284 947290 + Identifier 947291 947297 + QuestionToken 947297 947299 + PropertyAccessExpression 947299 947364 + Identifier 947299 947311 + Identifier 947312 947364 + ColonToken 947364 947366 + PropertyAccessExpression 947366 947431 + Identifier 947366 947378 + Identifier 947379 947431 + BinaryExpression 947432 947510 + PropertyAccessExpression 947432 947472 + PropertyAccessExpression 947432 947465 + Identifier 947432 947458 + Identifier 947459 947465 + Identifier 947466 947472 + AmpersandAmpersandToken 947472 947475 + CallExpression 947475 947510 + Identifier 947475 947490 + PropertyAccessExpression 947491 947509 + PropertyAccessExpression 947491 947502 + Identifier 947491 947495 + Identifier 947496 947502 + Identifier 947503 947509 + ReturnStatement 947557 947601 + PropertyAccessExpression 947573 947600 + Identifier 947573 947578 + Identifier 947579 947600 + FunctionDeclaration 947608 947736 + Identifier 947624 947646 + Parameter 947647 947666 + Identifier 947647 947651 + TypeReference 947652 947666 + Identifier 947652 947666 + NumberKeyword 947668 947675 + Block 947675 947736 + ReturnStatement 947677 947729 + CallExpression 947693 947728 + Identifier 947693 947700 + PropertyAccessExpression 947701 947727 + PropertyAccessExpression 947701 947712 + Identifier 947701 947705 + Identifier 947706 947712 + Identifier 947713 947727 + FunctionDeclaration 947736 950582 + Identifier 947844 947881 + Parameter 947882 947909 + Identifier 947882 947886 + TypeReference 947887 947909 + Identifier 947887 947909 + Parameter 947910 947925 + Identifier 947910 947917 + TypeReference 947918 947925 + Identifier 947918 947925 + TypeReference 947927 947932 + Identifier 947927 947932 + Block 947932 950582 + VariableStatement 947934 948023 + VariableDeclarationList 947934 948022 + VariableDeclaration 947949 948022 + Identifier 947949 947954 + AsExpression 947956 948022 + CallExpression 947956 948005 + Identifier 947956 947980 + CallExpression 947981 948004 + Identifier 947981 947996 + Identifier 947997 948003 + TypeReference 948008 948022 + Identifier 948008 948022 + VariableStatement 948023 948081 + VariableDeclarationList 948023 948080 + VariableDeclaration 948038 948080 + Identifier 948038 948053 + PropertyAccessExpression 948055 948080 + Identifier 948055 948060 + Identifier 948061 948080 + IfStatement 948081 950504 + Identifier 948095 948109 + Block 948110 950504 + VariableStatement 948112 948178 + VariableDeclarationList 948112 948177 + VariableDeclaration 948131 948177 + Identifier 948131 948148 + CallExpression 948150 948177 + Identifier 948150 948157 + PropertyAccessExpression 948158 948176 + Identifier 948158 948162 + Identifier 948163 948176 + VariableStatement 948178 948261 + VariableDeclarationList 948178 948260 + VariableDeclaration 948197 948260 + Identifier 948197 948218 + CallExpression 948220 948260 + Identifier 948220 948244 + Identifier 948245 948259 + VariableStatement 948261 948305 + VariableDeclarationList 948261 948304 + VariableDeclaration 948280 948304 + Identifier 948280 948285 + CallExpression 948287 948304 + Identifier 948287 948298 + Identifier 948299 948303 + VariableStatement 948305 948366 + VariableDeclarationList 948305 948365 + VariableDeclaration 948324 948365 + Identifier 948324 948340 + BinaryExpression 948342 948365 + PrefixUnaryExpression 948342 948357 + Identifier 948344 948357 + AmpersandAmpersandToken 948357 948360 + Identifier 948360 948365 + IfStatement 948366 949639 + BinaryExpression 948384 948489 + PrefixUnaryExpression 948384 948400 + Identifier 948385 948400 + AmpersandAmpersandToken 948400 948403 + ParenthesizedExpression 948403 948489 + BinaryExpression 948405 948488 + BinaryExpression 948405 948444 + Identifier 948405 948421 + LessThanToken 948421 948423 + Identifier 948423 948444 + BarBarToken 948444 948447 + BinaryExpression 948447 948488 + Identifier 948447 948464 + GreaterThanToken 948464 948466 + PropertyAccessExpression 948466 948488 + Identifier 948466 948481 + Identifier 948482 948488 + Block 948490 949639 + VariableStatement 948492 948617 + VariableDeclarationList 948492 948616 + VariableDeclaration 948515 948616 + Identifier 948515 948534 + BinaryExpression 948536 948616 + BinaryExpression 948536 948580 + Identifier 948536 948541 + AmpersandAmpersandToken 948541 948544 + CallExpression 948544 948580 + Identifier 948544 948574 + Identifier 948575 948579 + AmpersandAmpersandToken 948580 948583 + PrefixUnaryExpression 948583 948616 + CallExpression 948585 948616 + Identifier 948585 948603 + PropertyAccessExpression 948604 948615 + Identifier 948604 948608 + Identifier 948609 948615 + VariableStatement 948617 949146 + VariableDeclarationList 948617 949145 + VariableDeclaration 948640 949145 + Identifier 948640 948645 + ConditionalExpression 948647 949145 + BinaryExpression 948647 948694 + Identifier 948647 948668 + EqualsEqualsEqualsToken 948668 948672 + PropertyAccessExpression 948672 948694 + Identifier 948672 948687 + Identifier 948688 948694 + QuestionToken 948694 948696 + ConditionalExpression 948696 948916 + Identifier 948696 948736 + QuestionToken 948736 948738 + PropertyAccessExpression 948738 948835 + Identifier 948738 948775 + Identifier 948776 948835 + ColonToken 948835 948837 + PropertyAccessExpression 948837 948916 + Identifier 948837 948874 + Identifier 948875 948916 + ColonToken 948916 948918 + ConditionalExpression 948918 949145 + Identifier 948918 948958 + QuestionToken 948958 948960 + PropertyAccessExpression 948960 949055 + Identifier 948960 948993 + Identifier 948994 949055 + ColonToken 949055 949057 + PropertyAccessExpression 949057 949145 + Identifier 949057 949090 + Identifier 949091 949145 + VariableStatement 949146 949278 + VariableDeclarationList 949146 949277 + VariableDeclaration 949171 949277 + Identifier 949171 949179 + CallExpression 949181 949277 + Identifier 949181 949194 + Identifier 949195 949199 + Identifier 949200 949235 + PropertyAccessExpression 949236 949276 + Identifier 949236 949252 + Identifier 949253 949276 + ExpressionStatement 949278 949368 + CallExpression 949278 949367 + Identifier 949278 949301 + Identifier 949302 949306 + Identifier 949307 949312 + Identifier 949313 949321 + Identifier 949322 949343 + PropertyAccessExpression 949344 949366 + Identifier 949344 949359 + Identifier 949360 949366 + IfStatement 949368 949624 + PrefixUnaryExpression 949390 949395 + Identifier 949391 949395 + Block 949396 949624 + ReturnStatement 949398 949605 + Identifier 949594 949604 + IfStatement 949639 949948 + BinaryExpression 949657 949807 + BinaryExpression 949657 949695 + PropertyAccessExpression 949657 949666 + Identifier 949657 949661 + Identifier 949662 949666 + EqualsEqualsEqualsToken 949666 949670 + PropertyAccessExpression 949670 949695 + Identifier 949670 949681 + Identifier 949682 949695 + AmpersandAmpersandToken 949695 949698 + CallExpression 949698 949807 + Identifier 949698 949726 + AsExpression 949727 949752 + Identifier 949727 949731 + TypeReference 949734 949752 + Identifier 949734 949752 + BinaryExpression 949753 949806 + CallExpression 949753 949780 + Identifier 949753 949760 + PropertyAccessExpression 949761 949779 + Identifier 949761 949765 + Identifier 949766 949779 + ExclamationEqualsEqualsToken 949780 949784 + PropertyAccessExpression 949784 949806 + Identifier 949784 949799 + Identifier 949800 949806 + Block 949808 949948 + ReturnStatement 949810 949933 + CallExpression 949834 949932 + Identifier 949834 949862 + AsExpression 949863 949882 + Identifier 949863 949867 + TypeReference 949870 949882 + Identifier 949870 949882 + AsExpression 949883 949909 + Identifier 949883 949888 + TypeReference 949891 949909 + Identifier 949891 949909 + Identifier 949910 949931 + VariableStatement 949948 950416 + VariableDeclarationList 949948 950415 + VariableDeclaration 950249 950415 + Identifier 950249 950263 + CallExpression 950265 950415 + Identifier 950265 950277 + PropertyAccessExpression 950278 950302 + Identifier 950278 950282 + Identifier 950283 950302 + CallExpression 950303 950414 + Identifier 950303 950328 + CallExpression 950329 950369 + Identifier 950329 950363 + Identifier 950364 950368 + Identifier 950370 950385 + Identifier 950386 950407 + Identifier 950408 950413 + ReturnStatement 950416 950493 + CallExpression 950436 950492 + Identifier 950436 950456 + AsExpression 950457 950476 + Identifier 950457 950461 + TypeReference 950464 950476 + Identifier 950464 950476 + Identifier 950477 950491 + ReturnStatement 950504 950575 + ConditionalExpression 950520 950574 + CallExpression 950520 950555 + Identifier 950520 950541 + Identifier 950542 950546 + Identifier 950547 950554 + QuestionToken 950555 950557 + Identifier 950557 950562 + ColonToken 950562 950564 + Identifier 950564 950574 + FunctionDeclaration 950582 951832 + Identifier 950598 950624 + Parameter 950625 950639 + Identifier 950625 950631 + TypeReference 950632 950639 + Identifier 950632 950639 + Parameter 950640 950683 + Identifier 950640 950654 + UnionType 950655 950683 + TypeOperator 950655 950671 + ArrayType 950664 950671 + TypeReference 950664 950669 + Identifier 950664 950669 + UndefinedKeyword 950673 950683 + Parameter 950684 950705 + Identifier 950684 950696 + QuestionToken 950696 950697 + TypeReference 950698 950705 + Identifier 950698 950705 + Parameter 950706 950743 + Identifier 950706 950725 + QuestionToken 950725 950726 + TypeOperator 950727 950743 + ArrayType 950736 950743 + TypeReference 950736 950741 + Identifier 950736 950741 + TypeReference 950745 950750 + Identifier 950745 950750 + Block 950750 951832 + VariableStatement 950752 950807 + VariableDeclarationList 950752 950806 + VariableDeclaration 950767 950806 + Identifier 950767 950772 + CallExpression 950774 950806 + Identifier 950774 950798 + Identifier 950799 950805 + IfStatement 950807 951200 + BinaryExpression 950821 950849 + Identifier 950821 950825 + EqualsEqualsEqualsToken 950825 950829 + Identifier 950829 950849 + Block 950850 951200 + VariableStatement 950852 950936 + VariableDeclarationList 950852 950935 + VariableDeclaration 950871 950935 + Identifier 950871 950880 + CallExpression 950882 950935 + PropertyAccessExpression 950882 950905 + Identifier 950882 950901 + Identifier 950902 950905 + AsExpression 950906 950934 + PropertyAccessExpression 950906 950924 + Identifier 950906 950912 + Identifier 950913 950924 + StringKeyword 950927 950934 + IfStatement 950936 951189 + BinaryExpression 950954 951023 + BinaryExpression 950954 950993 + BinaryExpression 950954 950976 + Identifier 950954 950962 + ExclamationEqualsEqualsToken 950962 950966 + Identifier 950966 950976 + AmpersandAmpersandToken 950976 950979 + Identifier 950979 950993 + AmpersandAmpersandToken 950993 950996 + BinaryExpression 950996 951023 + PropertyAccessExpression 950996 951017 + Identifier 950996 951010 + Identifier 951011 951017 + EqualsEqualsEqualsToken 951017 951021 + NumericLiteral 951021 951023 + Block 951024 951189 + ReturnStatement 951026 951174 + ConditionalExpression 951050 951173 + BinaryExpression 951050 951089 + Identifier 951050 951059 + EqualsEqualsEqualsToken 951059 951063 + PropertyAccessExpression 951063 951089 + Identifier 951063 951081 + Identifier 951082 951089 + QuestionToken 951089 951091 + CallExpression 951091 951124 + Identifier 951091 951106 + ElementAccessExpression 951107 951123 + Identifier 951107 951120 + NumericLiteral 951121 951122 + ColonToken 951124 951126 + CallExpression 951126 951173 + Identifier 951126 951147 + Identifier 951148 951154 + ElementAccessExpression 951155 951172 + Identifier 951155 951169 + NumericLiteral 951170 951171 + VariableStatement 951200 951247 + VariableDeclarationList 951200 951246 + VariableDeclaration 951215 951246 + Identifier 951215 951221 + CallExpression 951223 951246 + Identifier 951223 951238 + Identifier 951239 951245 + VariableStatement 951247 951302 + VariableDeclarationList 951247 951301 + VariableDeclaration 951262 951301 + Identifier 951262 951277 + NonNullExpression 951279 951301 + PropertyAccessExpression 951279 951300 + Identifier 951279 951285 + Identifier 951286 951300 + VariableStatement 951302 951398 + VariableDeclarationList 951302 951397 + VariableDeclaration 951317 951397 + Identifier 951317 951320 + BinaryExpression 951322 951397 + CallExpression 951322 951351 + Identifier 951322 951336 + Identifier 951337 951350 + PlusToken 951351 951353 + CallExpression 951353 951397 + Identifier 951353 951364 + Identifier 951365 951376 + Identifier 951377 951396 + VariableStatement 951398 951458 + VariableDeclarationList 951398 951457 + VariableDeclaration 951411 951457 + Identifier 951411 951425 + CallExpression 951427 951457 + PropertyAccessExpression 951427 951453 + NonNullExpression 951427 951449 + PropertyAccessExpression 951427 951448 + Identifier 951427 951433 + Identifier 951434 951448 + Identifier 951450 951453 + Identifier 951454 951456 + IfStatement 951458 951794 + PrefixUnaryExpression 951472 951486 + Identifier 951473 951486 + Block 951487 951794 + ExpressionStatement 951489 951783 + CallExpression 951489 951782 + PropertyAccessExpression 951489 951528 + NonNullExpression 951489 951524 + PropertyAccessExpression 951489 951523 + Identifier 951489 951508 + Identifier 951509 951523 + Identifier 951525 951528 + Identifier 951529 951531 + BinaryExpression 951532 951781 + Identifier 951532 951546 + EqualsToken 951546 951548 + CallExpression 951548 951781 + Identifier 951548 951573 + Identifier 951574 951578 + CallExpression 951579 951747 + Identifier 951579 951596 + Identifier 951597 951611 + CallExpression 951612 951746 + Identifier 951612 951637 + Identifier 951638 951651 + Identifier 951652 951667 + CallExpression 951668 951708 + Identifier 951668 951692 + Identifier 951693 951707 + CallExpression 951709 951745 + Identifier 951709 951720 + PropertyAccessExpression 951721 951744 + Identifier 951721 951727 + Identifier 951728 951744 + Identifier 951748 951760 + Identifier 951761 951780 + ReturnStatement 951794 951825 + Identifier 951810 951824 + FunctionDeclaration 951832 955667 + Identifier 952225 952255 + Parameter 952256 952283 + Identifier 952256 952260 + TypeReference 952261 952283 + Identifier 952261 952283 + Parameter 952284 952299 + Identifier 952284 952291 + TypeReference 952292 952299 + Identifier 952292 952299 + TypeReference 952301 952306 + Identifier 952301 952306 + Block 952306 955667 + IfStatement 952308 952919 + BinaryExpression 952322 952367 + CallExpression 952322 952343 + Identifier 952322 952335 + Identifier 952336 952342 + AmpersandToken 952343 952345 + PropertyAccessExpression 952345 952367 + Identifier 952345 952356 + Identifier 952357 952367 + Block 952368 952919 + VariableStatement 952370 952447 + VariableDeclarationList 952370 952446 + VariableDeclaration 952389 952446 + Identifier 952389 952403 + CallExpression 952405 952446 + Identifier 952405 952440 + Identifier 952441 952445 + VariableStatement 952447 952506 + VariableDeclarationList 952447 952505 + VariableDeclaration 952466 952505 + Identifier 952466 952469 + CallExpression 952471 952505 + Identifier 952471 952482 + Identifier 952483 952489 + Identifier 952490 952504 + VariableStatement 952506 952555 + VariableDeclarationList 952506 952554 + VariableDeclaration 952523 952554 + Identifier 952523 952533 + CallExpression 952535 952554 + PropertyAccessExpression 952535 952550 + Identifier 952535 952546 + Identifier 952547 952550 + Identifier 952551 952553 + IfStatement 952555 952877 + PrefixUnaryExpression 952573 952583 + Identifier 952574 952583 + Block 952584 952877 + ExpressionStatement 952586 952702 + BinaryExpression 952586 952701 + Identifier 952586 952613 + EqualsToken 952613 952615 + CallExpression 952615 952701 + Identifier 952615 952635 + PropertyAccessExpression 952636 952649 + Identifier 952636 952645 + Identifier 952646 952649 + StringLiteral 952650 952658 + Identifier 952659 952685 + TemplateExpression 952686 952700 + TemplateHead 952686 952696 + TemplateSpan 952696 952700 + Identifier 952696 952698 + TemplateTail 952698 952700 + ExpressionStatement 952702 952751 + BinaryExpression 952702 952750 + PropertyAccessExpression 952702 952741 + Identifier 952702 952729 + Identifier 952730 952741 + EqualsToken 952741 952743 + Identifier 952743 952750 + ExpressionStatement 952751 952814 + BinaryExpression 952751 952813 + PropertyAccessExpression 952751 952797 + Identifier 952751 952778 + Identifier 952779 952797 + EqualsToken 952797 952799 + Identifier 952799 952813 + ExpressionStatement 952814 952862 + CallExpression 952814 952861 + PropertyAccessExpression 952814 952846 + Identifier 952814 952842 + Identifier 952843 952846 + Identifier 952847 952849 + Identifier 952850 952860 + ReturnStatement 952877 952908 + Identifier 952897 952907 + VariableStatement 952919 952974 + VariableDeclarationList 952919 952973 + VariableDeclaration 952934 952973 + Identifier 952934 952939 + CallExpression 952941 952973 + Identifier 952941 952965 + Identifier 952966 952972 + VariableStatement 952974 953045 + VariableDeclarationList 952974 953044 + VariableDeclaration 952989 953044 + Identifier 952989 953004 + PropertyAccessExpression 953006 953044 + CallExpression 953006 953029 + Identifier 953006 953021 + Identifier 953022 953028 + Identifier 953030 953044 + IfStatement 953045 955589 + Identifier 953059 953073 + Block 953074 955589 + VariableStatement 953076 953142 + VariableDeclarationList 953076 953141 + VariableDeclaration 953095 953141 + Identifier 953095 953112 + CallExpression 953114 953141 + Identifier 953114 953121 + PropertyAccessExpression 953122 953140 + Identifier 953122 953126 + Identifier 953127 953140 + VariableStatement 953142 953225 + VariableDeclarationList 953142 953224 + VariableDeclaration 953161 953224 + Identifier 953161 953182 + CallExpression 953184 953224 + Identifier 953184 953208 + Identifier 953209 953223 + IfStatement 953225 953826 + BinaryExpression 953243 953326 + BinaryExpression 953243 953282 + Identifier 953243 953259 + LessThanToken 953259 953261 + Identifier 953261 953282 + BarBarToken 953282 953285 + BinaryExpression 953285 953326 + Identifier 953285 953302 + GreaterThanToken 953302 953304 + PropertyAccessExpression 953304 953326 + Identifier 953304 953319 + Identifier 953320 953326 + Block 953327 953826 + ExpressionStatement 953329 953776 + CallExpression 953329 953775 + Identifier 953329 953352 + Identifier 953353 953379 + ConditionalExpression 953380 953623 + BinaryExpression 953380 953448 + Identifier 953380 953422 + EqualsEqualsEqualsToken 953422 953426 + PropertyAccessExpression 953426 953448 + Identifier 953426 953441 + Identifier 953442 953448 + QuestionToken 953448 953450 + PropertyAccessExpression 953450 953529 + Identifier 953450 953487 + Identifier 953488 953529 + ColonToken 953529 953531 + PropertyAccessExpression 953531 953623 + Identifier 953531 953568 + Identifier 953569 953623 + CallExpression 953624 953668 + Identifier 953624 953660 + Identifier 953661 953667 + Identifier 953669 953711 + PropertyAccessExpression 953712 953755 + Identifier 953712 953748 + Identifier 953749 953755 + ReturnStatement 953776 953811 + Identifier 953800 953810 + VariableStatement 953826 954282 + VariableDeclarationList 953826 954281 + VariableDeclaration 954235 954281 + Identifier 954235 954247 + CallExpression 954249 954281 + Identifier 954249 954275 + Identifier 954276 954280 + VariableStatement 954282 954419 + VariableDeclarationList 954282 954418 + VariableDeclaration 954299 954418 + Identifier 954299 954314 + ConditionalExpression 954316 954418 + BinaryExpression 954316 954392 + Identifier 954316 954328 + AmpersandAmpersandToken 954328 954331 + ParenthesizedExpression 954331 954392 + BinaryExpression 954333 954391 + CallExpression 954333 954357 + Identifier 954333 954349 + Identifier 954350 954356 + BarBarToken 954357 954360 + PrefixUnaryExpression 954360 954391 + CallExpression 954362 954391 + Identifier 954362 954378 + Identifier 954379 954390 + QuestionToken 954392 954394 + Identifier 954394 954406 + ColonToken 954406 954408 + Identifier 954408 954418 + VariableStatement 954419 954476 + VariableDeclarationList 954419 954475 + VariableDeclaration 954436 954475 + Identifier 954436 954455 + UnionType 954456 954475 + ArrayType 954456 954463 + TypeReference 954456 954461 + Identifier 954456 954461 + UndefinedKeyword 954465 954475 + IfStatement 954476 955445 + Identifier 954494 954508 + Block 954509 954612 + ExpressionStatement 954511 954597 + BinaryExpression 954511 954596 + Identifier 954511 954547 + EqualsToken 954547 954549 + CallExpression 954549 954596 + Identifier 954549 954580 + Identifier 954581 954595 + IfStatement 954630 955445 + CallExpression 954635 954660 + Identifier 954635 954654 + Identifier 954655 954659 + Block 954661 955445 + VariableStatement 954663 954774 + VariableDeclarationList 954663 954773 + VariableDeclaration 954686 954773 + Identifier 954686 954698 + CallExpression 954700 954773 + Identifier 954700 954725 + Identifier 954726 954730 + PropertyAccessExpression 954731 954749 + Identifier 954731 954743 + Identifier 954744 954749 + TrueKeyword 954750 954772 + IfStatement 954774 955430 + BinaryExpression 955020 955064 + Identifier 955020 955031 + AmpersandAmpersandToken 955031 955034 + BinaryExpression 955034 955064 + Identifier 955034 955046 + ExclamationEqualsEqualsToken 955046 955050 + Identifier 955050 955064 + Block 955065 955430 + VariableStatement 955067 955132 + VariableDeclarationList 955067 955131 + VariableDeclaration 955094 955131 + Identifier 955094 955103 + CallExpression 955105 955131 + Identifier 955105 955118 + Identifier 955119 955130 + IfStatement 955132 955411 + BinaryExpression 955158 955208 + Identifier 955158 955166 + AmpersandAmpersandToken 955166 955169 + BinaryExpression 955169 955208 + PropertyAccessExpression 955169 955184 + Identifier 955169 955178 + Identifier 955179 955184 + AmpersandToken 955184 955186 + PropertyAccessExpression 955186 955208 + Identifier 955186 955198 + Identifier 955199 955208 + Block 955209 955411 + ExpressionStatement 955211 955263 + BinaryExpression 955211 955262 + Identifier 955211 955251 + EqualsToken 955251 955253 + Identifier 955253 955262 + ExpressionStatement 955263 955388 + BinaryExpression 955263 955387 + Identifier 955263 955307 + EqualsToken 955307 955309 + BinaryExpression 955309 955387 + CallExpression 955309 955350 + Identifier 955309 955344 + Identifier 955345 955349 + BarBarToken 955350 955353 + ParenthesizedExpression 955353 955387 + ConditionalExpression 955355 955386 + Identifier 955355 955369 + QuestionToken 955369 955371 + ArrayLiteralExpression 955371 955374 + ColonToken 955374 955376 + Identifier 955376 955386 + ReturnStatement 955445 955578 + CallExpression 955465 955577 + Identifier 955465 955491 + Identifier 955492 955498 + CallExpression 955499 955540 + Identifier 955499 955534 + Identifier 955535 955539 + Identifier 955541 955556 + Identifier 955557 955576 + ReturnStatement 955589 955660 + ConditionalExpression 955605 955659 + CallExpression 955605 955640 + Identifier 955605 955626 + Identifier 955627 955631 + Identifier 955632 955639 + QuestionToken 955640 955642 + Identifier 955642 955647 + ColonToken 955647 955649 + Identifier 955649 955659 + FunctionDeclaration 955667 955865 + Identifier 955683 955700 + Parameter 955701 955715 + Identifier 955701 955707 + TypeReference 955708 955715 + Identifier 955708 955715 + Block 955716 955865 + VariableStatement 955718 955787 + VariableDeclarationList 955718 955786 + VariableDeclaration 955733 955786 + Identifier 955733 955745 + CallExpression 955747 955786 + PropertyAccessExpression 955747 955773 + PropertyAccessExpression 955747 955767 + Identifier 955747 955754 + Identifier 955755 955767 + QuestionDotToken 955767 955769 + Identifier 955769 955773 + Identifier 955774 955785 + ReturnStatement 955787 955858 + PrefixUnaryExpression 955803 955857 + PrefixUnaryExpression 955805 955857 + ParenthesizedExpression 955806 955857 + BinaryExpression 955807 955856 + Identifier 955807 955818 + AmpersandAmpersandToken 955818 955821 + CallExpression 955821 955856 + Identifier 955821 955843 + Identifier 955844 955855 + FunctionDeclaration 955865 956528 + Identifier 955881 955902 + Parameter 955903 955926 + Identifier 955903 955907 + TypeReference 955908 955926 + Identifier 955908 955926 + UnionType 955928 955973 + TypeReference 955928 955961 + Identifier 955928 955961 + UndefinedKeyword 955963 955973 + Block 955973 956528 + SwitchStatement 955975 956492 + PropertyAccessExpression 955993 956002 + Identifier 955993 955997 + Identifier 955998 956002 + CaseBlock 956003 956492 + CaseClause 956005 956088 + PropertyAccessExpression 956023 956048 + Identifier 956023 956034 + Identifier 956035 956048 + ReturnStatement 956049 956088 + PropertyAccessExpression 956073 956087 + Identifier 956073 956078 + Identifier 956079 956087 + CaseClause 956088 956447 + PropertyAccessExpression 956106 956145 + Identifier 956106 956117 + Identifier 956118 956145 + VariableStatement 956146 956341 + VariableDeclarationList 956146 956340 + VariableDeclaration 956317 956340 + Identifier 956317 956322 + PropertyAccessExpression 956324 956340 + Identifier 956324 956329 + Identifier 956330 956340 + IfStatement 956341 956447 + CallExpression 956363 956391 + Identifier 956363 956385 + Identifier 956386 956390 + Block 956392 956447 + ReturnStatement 956394 956428 + Identifier 956422 956427 + ReturnStatement 956492 956521 + Identifier 956510 956520 + FunctionDeclaration 956528 956711 + Identifier 956544 956558 + Parameter 956559 956573 + Identifier 956559 956565 + TypeReference 956566 956573 + Identifier 956566 956573 + StringKeyword 956575 956582 + Block 956582 956711 + ReturnStatement 956584 956704 + ConditionalExpression 956600 956703 + PropertyAccessExpression 956600 956614 + Identifier 956600 956607 + Identifier 956608 956614 + QuestionToken 956614 956616 + TemplateExpression 956616 956672 + TemplateHead 956616 956620 + TemplateSpan 956620 956652 + CallExpression 956620 956648 + Identifier 956620 956633 + PropertyAccessExpression 956634 956647 + Identifier 956634 956640 + Identifier 956641 956647 + TemplateMiddle 956648 956652 + TemplateSpan 956652 956672 + PropertyAccessExpression 956652 956670 + Identifier 956652 956658 + Identifier 956659 956670 + TemplateTail 956670 956672 + ColonToken 956672 956674 + AsExpression 956674 956703 + PropertyAccessExpression 956674 956693 + Identifier 956674 956681 + Identifier 956682 956693 + StringKeyword 956696 956703 + FunctionDeclaration 956711 957821 + Identifier 956727 956760 + Parameter 956761 956799 + Identifier 956761 956765 + TypeReference 956766 956799 + Identifier 956766 956799 + Block 956800 957821 + VariableStatement 956802 956980 + VariableDeclarationList 956802 956979 + VariableDeclaration 956817 956979 + Identifier 956817 956828 + ConditionalExpression 956830 956979 + BinaryExpression 956830 956869 + PropertyAccessExpression 956830 956840 + Identifier 956830 956835 + Identifier 956836 956840 + EqualsEqualsEqualsToken 956840 956844 + PropertyAccessExpression 956844 956869 + Identifier 956844 956855 + Identifier 956856 956869 + QuestionToken 956869 956871 + PropertyAccessExpression 956871 956882 + Identifier 956871 956876 + Identifier 956877 956882 + ColonToken 956882 956884 + ConditionalExpression 956884 956979 + BinaryExpression 956884 956947 + PropertyAccessExpression 956884 956907 + Identifier 956884 956902 + Identifier 956903 956907 + EqualsEqualsEqualsToken 956907 956911 + PropertyAccessExpression 956911 956947 + Identifier 956911 956922 + Identifier 956923 956947 + QuestionToken 956947 956949 + PropertyAccessExpression 956949 956959 + Identifier 956949 956954 + Identifier 956955 956959 + ColonToken 956959 956961 + Identifier 956961 956979 + VariableStatement 956980 957026 + VariableDeclarationList 956980 957025 + VariableDeclaration 956995 957025 + Identifier 956995 957000 + PropertyAccessExpression 957002 957025 + Identifier 957002 957013 + Identifier 957014 957025 + IfStatement 957026 957783 + Identifier 957040 957044 + Block 957045 957783 + VariableStatement 957047 957317 + VariableDeclarationList 957047 957316 + VariableDeclaration 957066 957316 + Identifier 957066 957079 + ConditionalExpression 957081 957316 + BinaryExpression 957081 957120 + PropertyAccessExpression 957081 957091 + Identifier 957081 957086 + Identifier 957087 957091 + EqualsEqualsEqualsToken 957091 957095 + PropertyAccessExpression 957095 957120 + Identifier 957095 957106 + Identifier 957107 957120 + QuestionToken 957120 957122 + CallExpression 957122 957166 + Identifier 957122 957155 + PropertyAccessExpression 957156 957165 + Identifier 957156 957160 + Identifier 957161 957165 + ColonToken 957166 957168 + ConditionalExpression 957168 957316 + BinaryExpression 957168 957235 + PropertyAccessExpression 957168 957195 + Identifier 957168 957190 + Identifier 957191 957195 + EqualsEqualsEqualsToken 957195 957199 + PropertyAccessExpression 957199 957235 + Identifier 957199 957210 + Identifier 957211 957235 + QuestionToken 957235 957237 + CallExpression 957237 957287 + Identifier 957237 957270 + PropertyAccessExpression 957271 957286 + Identifier 957271 957275 + Identifier 957276 957286 + ColonToken 957287 957289 + Identifier 957289 957316 + VariableStatement 957317 957417 + VariableDeclarationList 957317 957416 + VariableDeclaration 957336 957416 + Identifier 957336 957341 + ConditionalExpression 957343 957416 + Identifier 957343 957356 + QuestionToken 957356 957358 + TemplateExpression 957358 957399 + TemplateHead 957358 957362 + TemplateSpan 957362 957393 + CallExpression 957362 957389 + Identifier 957362 957375 + Identifier 957376 957388 + TemplateMiddle 957389 957393 + TemplateSpan 957393 957399 + Identifier 957393 957397 + TemplateTail 957397 957399 + ColonToken 957399 957401 + AsExpression 957401 957416 + Identifier 957401 957406 + StringKeyword 957409 957416 + VariableStatement 957417 957472 + VariableDeclarationList 957417 957471 + VariableDeclaration 957434 957471 + Identifier 957434 957441 + CallExpression 957443 957471 + PropertyAccessExpression 957443 957465 + Identifier 957443 957461 + Identifier 957462 957465 + Identifier 957466 957470 + IfStatement 957472 957744 + PrefixUnaryExpression 957490 957497 + Identifier 957491 957497 + Block 957498 957744 + ExpressionStatement 957500 957621 + CallExpression 957500 957620 + PropertyAccessExpression 957500 957539 + Identifier 957500 957535 + Identifier 957536 957539 + Identifier 957540 957544 + BinaryExpression 957545 957619 + Identifier 957545 957552 + EqualsToken 957552 957554 + CallExpression 957554 957619 + Identifier 957554 957567 + PropertyAccessExpression 957568 957589 + Identifier 957568 957579 + Identifier 957580 957589 + Identifier 957590 957595 + PropertyAccessExpression 957596 957618 + Identifier 957596 957607 + Identifier 957608 957618 + ExpressionStatement 957621 957668 + BinaryExpression 957621 957667 + PropertyAccessExpression 957621 957652 + Identifier 957621 957645 + Identifier 957646 957652 + EqualsToken 957652 957654 + Identifier 957654 957667 + ExpressionStatement 957668 957729 + BinaryExpression 957668 957728 + PropertyAccessExpression 957668 957711 + PropertyAccessExpression 957668 957698 + Identifier 957668 957692 + Identifier 957693 957698 + Identifier 957699 957711 + EqualsToken 957711 957713 + Identifier 957713 957728 + ReturnStatement 957744 957772 + Identifier 957764 957771 + ReturnStatement 957783 957814 + Identifier 957799 957813 + FunctionDeclaration 957821 958296 + Identifier 957837 957862 + Parameter 957863 957895 + Identifier 957863 957876 + TypeReference 957877 957895 + Identifier 957877 957895 + Parameter 957896 957917 + Identifier 957896 957904 + TypeReference 957905 957917 + Identifier 957905 957917 + Parameter 957918 957941 + Identifier 957918 957931 + QuestionToken 957931 957932 + BooleanKeyword 957933 957941 + Block 957942 958296 + VariableStatement 957944 958003 + VariableDeclarationList 957944 958002 + VariableDeclaration 957959 958002 + Identifier 957959 957964 + CallExpression 957966 958002 + Identifier 957966 957987 + Identifier 957988 958001 + IfStatement 958003 958071 + PrefixUnaryExpression 958017 958022 + Identifier 958018 958022 + Block 958023 958071 + ReturnStatement 958025 958060 + Identifier 958045 958059 + VariableStatement 958071 958143 + VariableDeclarationList 958071 958142 + VariableDeclaration 958086 958142 + Identifier 958086 958093 + CallExpression 958095 958142 + Identifier 958095 958113 + Identifier 958114 958118 + Identifier 958119 958127 + Identifier 958128 958141 + ReturnStatement 958143 958289 + ConditionalExpression 958159 958288 + BinaryExpression 958159 958194 + Identifier 958159 958166 + AmpersandAmpersandToken 958166 958169 + BinaryExpression 958169 958194 + Identifier 958169 958176 + ExclamationEqualsEqualsToken 958176 958180 + Identifier 958180 958194 + QuestionToken 958194 958196 + Identifier 958196 958203 + ColonToken 958203 958205 + ConditionalExpression 958205 958288 + Identifier 958205 958231 + QuestionToken 958231 958233 + Identifier 958233 958247 + ColonToken 958247 958249 + CallExpression 958249 958288 + Identifier 958249 958282 + Identifier 958283 958287 + FunctionDeclaration 958296 959625 + Identifier 958312 958333 + Parameter 958334 958361 + Identifier 958334 958338 + TypeReference 958339 958361 + Identifier 958339 958361 + Parameter 958362 958377 + Identifier 958362 958369 + TypeReference 958370 958377 + Identifier 958370 958377 + TypeReference 958379 958384 + Identifier 958379 958384 + Block 958384 959625 + IfStatement 958386 958469 + BinaryExpression 958400 958424 + Identifier 958400 958406 + EqualsEqualsEqualsToken 958406 958410 + Identifier 958410 958424 + Block 958425 958469 + ReturnStatement 958427 958458 + Identifier 958447 958457 + ExpressionStatement 958469 958523 + BinaryExpression 958469 958522 + Identifier 958469 958485 + EqualsToken 958485 958487 + BinaryExpression 958487 958522 + CallExpression 958487 958512 + Identifier 958487 958504 + Identifier 958505 958511 + BarBarToken 958512 958515 + Identifier 958515 958522 + IfStatement 958523 958681 + BinaryExpression 958537 958595 + PropertyAccessExpression 958537 958549 + Identifier 958537 958543 + Identifier 958544 958549 + AmpersandToken 958549 958551 + ParenthesizedExpression 958551 958595 + BinaryExpression 958553 958594 + PropertyAccessExpression 958553 958570 + Identifier 958553 958564 + Identifier 958565 958570 + BarToken 958570 958572 + PropertyAccessExpression 958572 958594 + Identifier 958572 958584 + Identifier 958585 958594 + Block 958596 958681 + ReturnStatement 958598 958670 + CallExpression 958618 958669 + Identifier 958618 958655 + Identifier 958656 958660 + Identifier 958661 958668 + IfStatement 958681 958810 + BinaryExpression 958695 958731 + PropertyAccessExpression 958695 958707 + Identifier 958695 958701 + Identifier 958702 958707 + AmpersandToken 958707 958709 + PropertyAccessExpression 958709 958731 + Identifier 958709 958721 + Identifier 958722 958731 + Block 958732 958810 + ReturnStatement 958734 958799 + CallExpression 958754 958798 + Identifier 958754 958784 + Identifier 958785 958789 + Identifier 958790 958797 + VariableStatement 958810 958965 + VariableDeclarationList 958810 958964 + VariableDeclaration 958923 958964 + Identifier 958923 958927 + CallExpression 958929 958964 + Identifier 958929 958956 + Identifier 958957 958963 + IfStatement 958965 959099 + Identifier 958979 958982 + Block 958983 959099 + ReturnStatement 958985 959088 + ConditionalExpression 959005 959087 + CallExpression 959005 959040 + Identifier 959005 959026 + Identifier 959027 959031 + Identifier 959032 959039 + QuestionToken 959040 959042 + CallExpression 959042 959075 + Identifier 959042 959070 + Identifier 959071 959074 + ColonToken 959075 959077 + Identifier 959077 959087 + IfStatement 959099 959591 + BinaryExpression 959113 959175 + BinaryExpression 959113 959145 + PropertyAccessExpression 959113 959125 + Identifier 959113 959119 + Identifier 959120 959125 + AmpersandToken 959125 959127 + PropertyAccessExpression 959127 959145 + Identifier 959127 959139 + Identifier 959140 959145 + AmpersandAmpersandToken 959145 959148 + CallExpression 959148 959175 + Identifier 959148 959169 + Identifier 959170 959174 + Block 959176 959591 + VariableStatement 959178 959255 + VariableDeclarationList 959178 959254 + VariableDeclaration 959197 959254 + Identifier 959197 959207 + CallExpression 959209 959254 + Identifier 959209 959240 + Identifier 959241 959245 + Identifier 959246 959253 + IfStatement 959255 959580 + Identifier 959273 959282 + Block 959283 959335 + ReturnStatement 959285 959320 + Identifier 959309 959319 + Block 959353 959580 + ExpressionStatement 959355 959516 + CallExpression 959355 959515 + Identifier 959355 959491 + Identifier 959492 959496 + PropertyAccessExpression 959497 959514 + Identifier 959497 959509 + Identifier 959510 959514 + ReturnStatement 959516 959565 + CallExpression 959540 959564 + Identifier 959540 959556 + Identifier 959557 959563 + ReturnStatement 959591 959618 + Identifier 959607 959617 + FunctionDeclaration 959625 960648 + Identifier 959792 959823 + Parameter 959824 959851 + Identifier 959824 959828 + TypeReference 959829 959851 + Identifier 959829 959851 + Parameter 959852 959867 + Identifier 959852 959859 + TypeReference 959860 959867 + Identifier 959860 959867 + UnionType 959869 959886 + TypeReference 959869 959874 + Identifier 959869 959874 + UndefinedKeyword 959876 959886 + Block 959886 960648 + VariableStatement 959888 959931 + VariableDeclarationList 959888 959930 + VariableDeclaration 959903 959930 + Identifier 959903 959909 + CallExpression 959911 959930 + Identifier 959911 959924 + Identifier 959925 959929 + IfStatement 959931 960600 + PrefixUnaryExpression 959945 959969 + PropertyAccessExpression 959946 959969 + Identifier 959946 959951 + Identifier 959952 959969 + Block 959970 960600 + VariableStatement 959972 960028 + VariableDeclarationList 959972 960027 + VariableDeclaration 959991 960027 + Identifier 959991 960001 + CallExpression 960003 960027 + Identifier 960003 960019 + Identifier 960020 960026 + VariableStatement 960028 960067 + VariableDeclarationList 960028 960066 + VariableDeclaration 960045 960066 + Identifier 960045 960054 + Identifier 960056 960066 + IfStatement 960067 960540 + PropertyAccessExpression 960085 960108 + Identifier 960085 960091 + Identifier 960092 960108 + Block 960109 960540 + VariableStatement 960111 960237 + VariableDeclarationList 960111 960236 + VariableDeclaration 960134 960236 + Identifier 960134 960160 + BinaryExpression 960162 960236 + BinaryExpression 960162 960198 + PropertyAccessExpression 960162 960172 + Identifier 960162 960167 + Identifier 960168 960172 + EqualsEqualsEqualsToken 960172 960176 + PropertyAccessExpression 960176 960198 + Identifier 960176 960187 + Identifier 960188 960198 + AmpersandAmpersandToken 960198 960201 + PropertyAccessExpression 960201 960236 + ParenthesizedExpression 960201 960226 + AsExpression 960203 960225 + Identifier 960203 960207 + TypeReference 960210 960225 + Identifier 960210 960225 + Identifier 960227 960236 + IfStatement 960237 960525 + BinaryExpression 960349 960425 + BinaryExpression 960349 960396 + PropertyAccessExpression 960349 960365 + Identifier 960349 960358 + Identifier 960359 960365 + AmpersandAmpersandToken 960365 960368 + BinaryExpression 960368 960396 + PropertyAccessExpression 960368 960385 + Identifier 960368 960378 + Identifier 960379 960385 + ExclamationEqualsEqualsToken 960385 960389 + Identifier 960389 960396 + AmpersandAmpersandToken 960396 960399 + Identifier 960399 960425 + Block 960426 960525 + ExpressionStatement 960428 960506 + BinaryExpression 960428 960505 + Identifier 960428 960458 + EqualsToken 960458 960460 + CallExpression 960460 960505 + Identifier 960460 960481 + Identifier 960482 960486 + PropertyAccessExpression 960487 960504 + Identifier 960487 960497 + Identifier 960498 960504 + ExpressionStatement 960540 960589 + BinaryExpression 960540 960588 + PropertyAccessExpression 960540 960577 + Identifier 960540 960559 + Identifier 960560 960577 + EqualsToken 960577 960579 + Identifier 960579 960588 + ReturnStatement 960600 960641 + PropertyAccessExpression 960616 960640 + Identifier 960616 960622 + Identifier 960623 960640 + FunctionDeclaration 960648 960799 + Identifier 960664 960679 + Parameter 960680 960690 + Identifier 960680 960684 + TypeReference 960685 960690 + Identifier 960685 960690 + Block 960691 960799 + ReturnStatement 960693 960792 + ConditionalExpression 960709 960791 + CallExpression 960709 960735 + Identifier 960709 960729 + Identifier 960730 960734 + QuestionToken 960735 960737 + CallExpression 960737 960784 + Identifier 960737 960765 + Identifier 960766 960770 + Identifier 960771 960783 + ColonToken 960784 960786 + Identifier 960786 960791 + FunctionDeclaration 960799 961604 + Identifier 960815 960835 + Parameter 960836 960846 + Identifier 960836 960840 + TypeReference 960841 960846 + Identifier 960841 960846 + BooleanKeyword 960848 960856 + Block 960856 961604 + ReturnStatement 960858 961597 + PrefixUnaryExpression 961149 961596 + PrefixUnaryExpression 961151 961596 + ParenthesizedExpression 961152 961596 + BinaryExpression 961153 961595 + BinaryExpression 961153 961484 + BinaryExpression 961153 961401 + BinaryExpression 961153 961265 + BinaryExpression 961153 961195 + PropertyAccessExpression 961153 961163 + Identifier 961153 961157 + Identifier 961158 961163 + AmpersandToken 961163 961165 + PropertyAccessExpression 961165 961195 + Identifier 961165 961175 + Identifier 961176 961195 + AmpersandAmpersandToken 961195 961198 + CallExpression 961198 961265 + Identifier 961198 961203 + PropertyAccessExpression 961204 961243 + ParenthesizedExpression 961204 961237 + AsExpression 961205 961236 + Identifier 961205 961209 + TypeReference 961212 961236 + Identifier 961212 961236 + Identifier 961238 961243 + Identifier 961244 961264 + BarBarToken 961265 961268 + BinaryExpression 961268 961401 + BinaryExpression 961268 961341 + BinaryExpression 961268 961317 + PropertyAccessExpression 961268 961292 + Identifier 961268 961286 + Identifier 961287 961292 + AmpersandToken 961292 961294 + PropertyAccessExpression 961294 961317 + Identifier 961294 961304 + Identifier 961305 961317 + AmpersandAmpersandToken 961317 961320 + PrefixUnaryExpression 961320 961341 + CallExpression 961322 961341 + Identifier 961322 961335 + Identifier 961336 961340 + AmpersandAmpersandToken 961341 961344 + CallExpression 961344 961401 + Identifier 961344 961364 + PropertyAccessExpression 961365 961400 + ParenthesizedExpression 961365 961391 + AsExpression 961366 961390 + Identifier 961366 961370 + TypeReference 961373 961390 + Identifier 961373 961390 + Identifier 961392 961400 + BarBarToken 961401 961404 + BinaryExpression 961404 961484 + BinaryExpression 961404 961447 + PropertyAccessExpression 961404 961428 + Identifier 961404 961422 + Identifier 961423 961428 + AmpersandToken 961428 961430 + PropertyAccessExpression 961430 961447 + Identifier 961430 961440 + Identifier 961441 961447 + AmpersandAmpersandToken 961447 961450 + PrefixUnaryExpression 961450 961484 + CallExpression 961452 961484 + Identifier 961452 961478 + Identifier 961479 961483 + BarBarToken 961484 961487 + BinaryExpression 961487 961595 + BinaryExpression 961487 961564 + PropertyAccessExpression 961487 961511 + Identifier 961487 961505 + Identifier 961506 961511 + AmpersandToken 961511 961513 + ParenthesizedExpression 961513 961564 + BinaryExpression 961515 961563 + PropertyAccessExpression 961515 961537 + Identifier 961515 961524 + Identifier 961525 961537 + AmpersandToken 961537 961539 + PrefixUnaryExpression 961539 961563 + PropertyAccessExpression 961541 961563 + Identifier 961541 961550 + Identifier 961551 961563 + AmpersandAmpersandToken 961564 961567 + PrefixUnaryExpression 961567 961595 + CallExpression 961569 961595 + Identifier 961569 961589 + Identifier 961590 961594 + FunctionDeclaration 961604 961884 + Identifier 961620 961634 + Parameter 961635 961645 + Identifier 961635 961639 + TypeReference 961640 961645 + Identifier 961640 961645 + Block 961646 961884 + ReturnStatement 961648 961877 + PrefixUnaryExpression 961769 961876 + PrefixUnaryExpression 961771 961876 + ParenthesizedExpression 961772 961876 + BinaryExpression 961773 961875 + BinaryExpression 961773 961808 + PropertyAccessExpression 961773 961783 + Identifier 961773 961777 + Identifier 961778 961783 + AmpersandToken 961783 961785 + PropertyAccessExpression 961785 961808 + Identifier 961785 961795 + Identifier 961796 961808 + AmpersandAmpersandToken 961808 961811 + BinaryExpression 961811 961875 + PropertyAccessExpression 961811 961855 + PropertyAccessExpression 961811 961849 + ParenthesizedExpression 961811 961838 + AsExpression 961813 961837 + Identifier 961813 961817 + TypeReference 961820 961837 + Identifier 961820 961837 + Identifier 961839 961849 + Identifier 961850 961855 + AmpersandToken 961855 961857 + PropertyAccessExpression 961857 961875 + Identifier 961857 961867 + Identifier 961868 961875 + FunctionDeclaration 961884 962172 + Identifier 961900 961920 + Parameter 961921 961935 + Identifier 961921 961929 + TypeReference 961930 961935 + Identifier 961930 961935 + Parameter 961936 961953 + Identifier 961936 961947 + TypeReference 961948 961953 + Identifier 961948 961953 + Block 961954 962172 + ReturnStatement 961956 962165 + ConditionalExpression 961972 962164 + BinaryExpression 961972 962075 + BinaryExpression 961972 962041 + BinaryExpression 961972 962014 + PropertyAccessExpression 961972 961989 + Identifier 961972 961983 + Identifier 961984 961989 + AmpersandToken 961989 961991 + PropertyAccessExpression 961991 962014 + Identifier 961991 962001 + Identifier 962002 962014 + BarBarToken 962014 962017 + BinaryExpression 962017 962041 + Identifier 962017 962028 + EqualsEqualsEqualsToken 962028 962032 + Identifier 962032 962041 + BarBarToken 962041 962044 + BinaryExpression 962044 962075 + PropertyAccessExpression 962044 962059 + Identifier 962044 962053 + Identifier 962054 962059 + AmpersandToken 962059 962061 + PropertyAccessExpression 962061 962075 + Identifier 962061 962071 + Identifier 962072 962075 + QuestionToken 962075 962077 + Identifier 962077 962099 + ColonToken 962099 962101 + CallExpression 962101 962164 + Identifier 962101 962142 + Identifier 962143 962151 + Identifier 962152 962163 + FunctionDeclaration 962172 962669 + Identifier 962188 962216 + Parameter 962217 962231 + Identifier 962217 962225 + TypeReference 962226 962231 + Identifier 962226 962231 + Parameter 962232 962249 + Identifier 962232 962243 + TypeReference 962244 962249 + Identifier 962244 962249 + Block 962250 962669 + VariableStatement 962252 962323 + VariableDeclarationList 962252 962322 + VariableDeclaration 962267 962322 + Identifier 962267 962270 + TemplateExpression 962272 962322 + TemplateHead 962272 962276 + TemplateSpan 962276 962299 + CallExpression 962276 962295 + Identifier 962276 962285 + Identifier 962286 962294 + TemplateMiddle 962295 962299 + TemplateSpan 962299 962322 + CallExpression 962299 962320 + Identifier 962299 962308 + Identifier 962309 962319 + TemplateTail 962320 962322 + VariableStatement 962323 962374 + VariableDeclarationList 962323 962373 + VariableDeclaration 962338 962373 + Identifier 962338 962345 + CallExpression 962347 962373 + PropertyAccessExpression 962347 962369 + Identifier 962347 962365 + Identifier 962366 962369 + Identifier 962370 962372 + IfStatement 962374 962436 + Identifier 962388 962394 + Block 962395 962436 + ReturnStatement 962397 962425 + Identifier 962417 962424 + VariableStatement 962436 962516 + VariableDeclarationList 962436 962515 + VariableDeclaration 962451 962515 + Identifier 962451 962458 + AsExpression 962460 962515 + CallExpression 962460 962495 + Identifier 962460 962471 + PropertyAccessExpression 962472 962494 + Identifier 962472 962481 + Identifier 962482 962494 + TypeReference 962498 962515 + Identifier 962498 962515 + ExpressionStatement 962516 962553 + BinaryExpression 962516 962552 + PropertyAccessExpression 962516 962541 + Identifier 962516 962532 + Identifier 962533 962541 + EqualsToken 962541 962543 + Identifier 962543 962552 + ExpressionStatement 962553 962594 + BinaryExpression 962553 962593 + PropertyAccessExpression 962553 962580 + Identifier 962553 962569 + Identifier 962570 962580 + EqualsToken 962580 962582 + Identifier 962582 962593 + ExpressionStatement 962594 962638 + CallExpression 962594 962637 + PropertyAccessExpression 962594 962625 + Identifier 962594 962621 + Identifier 962622 962625 + Identifier 962626 962628 + Identifier 962629 962636 + ReturnStatement 962638 962662 + Identifier 962654 962661 + FunctionDeclaration 962669 962915 + Identifier 962685 962713 + Parameter 962714 962748 + Identifier 962714 962730 + TypeReference 962731 962748 + Identifier 962731 962748 + Block 962749 962915 + ReturnStatement 962751 962908 + ConditionalExpression 962767 962907 + CallExpression 962767 962799 + Identifier 962767 962781 + Identifier 962782 962798 + QuestionToken 962799 962801 + PropertyAccessExpression 962801 962827 + Identifier 962801 962818 + Identifier 962819 962827 + ColonToken 962827 962829 + CallExpression 962829 962907 + Identifier 962829 962849 + ArrayLiteralExpression 962850 962906 + PropertyAccessExpression 962851 962878 + Identifier 962851 962867 + Identifier 962868 962878 + PropertyAccessExpression 962879 962905 + Identifier 962879 962896 + Identifier 962897 962905 + FunctionDeclaration 962915 963078 + Identifier 962931 962952 + Parameter 962953 962967 + Identifier 962953 962957 + TypeReference 962958 962967 + Identifier 962958 962967 + Block 962968 963078 + ReturnStatement 962970 963071 + BinaryExpression 962986 963070 + BinaryExpression 962986 963021 + PropertyAccessExpression 962986 962996 + Identifier 962986 962991 + Identifier 962992 962996 + EqualsEqualsEqualsToken 962996 963000 + PropertyAccessExpression 963000 963021 + Identifier 963000 963011 + Identifier 963012 963021 + AmpersandAmpersandToken 963021 963024 + BinaryExpression 963024 963070 + PropertyAccessExpression 963024 963064 + PropertyAccessExpression 963024 963057 + ParenthesizedExpression 963024 963048 + AsExpression 963026 963047 + Identifier 963026 963030 + TypeReference 963033 963047 + Identifier 963033 963047 + Identifier 963049 963057 + Identifier 963058 963064 + EqualsEqualsEqualsToken 963064 963068 + NumericLiteral 963068 963070 + FunctionDeclaration 963078 963560 + Identifier 963094 963115 + Parameter 963116 963126 + Identifier 963116 963120 + TypeReference 963121 963126 + Identifier 963121 963126 + Parameter 963127 963147 + Identifier 963127 963137 + TypeReference 963138 963147 + Identifier 963138 963147 + Parameter 963148 963170 + Identifier 963148 963160 + TypeReference 963161 963170 + Identifier 963161 963170 + UnionType 963172 963189 + TypeReference 963172 963177 + Identifier 963172 963177 + UndefinedKeyword 963179 963189 + Block 963189 963560 + ReturnStatement 963191 963553 + ConditionalExpression 963207 963552 + BinaryExpression 963207 963276 + CallExpression 963207 963239 + Identifier 963207 963228 + Identifier 963229 963238 + AmpersandAmpersandToken 963239 963242 + CallExpression 963242 963276 + Identifier 963242 963263 + Identifier 963264 963275 + QuestionToken 963276 963278 + CallExpression 963278 963391 + Identifier 963278 963299 + Identifier 963300 963304 + ElementAccessExpression 963305 963346 + PropertyAccessExpression 963305 963343 + ParenthesizedExpression 963305 963334 + AsExpression 963307 963333 + Identifier 963307 963316 + TypeReference 963319 963333 + Identifier 963319 963333 + Identifier 963335 963343 + NumericLiteral 963344 963345 + ElementAccessExpression 963347 963390 + PropertyAccessExpression 963347 963387 + ParenthesizedExpression 963347 963378 + AsExpression 963349 963377 + Identifier 963349 963360 + TypeReference 963363 963377 + Identifier 963363 963377 + Identifier 963379 963387 + NumericLiteral 963388 963389 + ColonToken 963391 963393 + ConditionalExpression 963393 963552 + BinaryExpression 963393 963492 + CallExpression 963393 963460 + Identifier 963393 963428 + CallExpression 963429 963459 + Identifier 963429 963448 + Identifier 963449 963458 + EqualsEqualsEqualsToken 963460 963464 + CallExpression 963464 963492 + Identifier 963464 963486 + Identifier 963487 963491 + QuestionToken 963492 963494 + CallExpression 963494 963527 + Identifier 963494 963514 + Identifier 963515 963526 + ColonToken 963527 963529 + Identifier 963529 963552 + FunctionDeclaration 963560 966072 + Identifier 963576 963605 + Parameter 963606 963616 + Identifier 963606 963610 + TypeReference 963611 963616 + Identifier 963611 963616 + Parameter 963617 963628 + Identifier 963617 963622 + TypeReference 963623 963628 + Identifier 963623 963628 + Block 963629 966072 + VariableStatement 963631 963677 + VariableDeclarationList 963631 963676 + VariableDeclaration 963644 963676 + Identifier 963644 963656 + UnionType 963657 963676 + ArrayType 963657 963664 + TypeReference 963657 963662 + Identifier 963657 963662 + UndefinedKeyword 963666 963676 + VariableStatement 963677 963708 + VariableDeclarationList 963677 963707 + VariableDeclaration 963690 963707 + Identifier 963690 963700 + TrueKeyword 963702 963707 + WhileStatement 963708 965967 + BinaryExpression 963725 963785 + BinaryExpression 963725 963751 + Identifier 963725 963729 + AmpersandAmpersandToken 963729 963732 + PrefixUnaryExpression 963732 963751 + CallExpression 963734 963751 + Identifier 963734 963745 + Identifier 963746 963750 + AmpersandAmpersandToken 963751 963754 + BinaryExpression 963754 963785 + PropertyAccessExpression 963754 963764 + Identifier 963754 963759 + Identifier 963760 963764 + ExclamationEqualsEqualsToken 963764 963768 + PropertyAccessExpression 963768 963785 + Identifier 963768 963779 + Identifier 963780 963785 + Block 963786 965967 + VariableStatement 963788 963829 + VariableDeclarationList 963788 963828 + VariableDeclaration 963807 963828 + Identifier 963807 963814 + PropertyAccessExpression 963816 963828 + Identifier 963816 963821 + Identifier 963822 963828 + IfStatement 963829 964193 + BinaryExpression 964098 964134 + PropertyAccessExpression 964098 964109 + Identifier 964098 964104 + Identifier 964105 964109 + EqualsEqualsEqualsToken 964109 964113 + PropertyAccessExpression 964113 964134 + Identifier 964113 964124 + Identifier 964125 964134 + Block 964135 964193 + ExpressionStatement 964137 964178 + BinaryExpression 964137 964177 + Identifier 964137 964164 + EqualsToken 964164 964166 + PrefixUnaryExpression 964166 964177 + Identifier 964168 964177 + IfStatement 964193 965928 + BinaryExpression 964397 964546 + BinaryExpression 964397 964493 + ParenthesizedExpression 964397 964447 + BinaryExpression 964398 964446 + Identifier 964398 964407 + BarBarToken 964407 964410 + BinaryExpression 964410 964446 + PropertyAccessExpression 964410 964421 + Identifier 964410 964415 + Identifier 964416 964421 + AmpersandToken 964421 964423 + PropertyAccessExpression 964423 964446 + Identifier 964423 964433 + Identifier 964434 964446 + AmpersandAmpersandToken 964447 964450 + BinaryExpression 964450 964493 + PropertyAccessExpression 964450 964462 + Identifier 964450 964457 + Identifier 964458 964462 + EqualsEqualsEqualsToken 964462 964466 + PropertyAccessExpression 964466 964493 + Identifier 964466 964477 + Identifier 964478 964493 + AmpersandAmpersandToken 964493 964496 + BinaryExpression 964496 964546 + Identifier 964496 964501 + EqualsEqualsEqualsToken 964501 964505 + PropertyAccessExpression 964505 964546 + ParenthesizedExpression 964505 964537 + AsExpression 964507 964536 + Identifier 964507 964513 + TypeReference 964516 964536 + Identifier 964516 964536 + Identifier 964538 964546 + Block 964547 964838 + VariableStatement 964549 964701 + VariableDeclarationList 964549 964700 + VariableDeclaration 964572 964700 + Identifier 964572 964583 + CallExpression 964585 964700 + Identifier 964585 964606 + Identifier 964607 964611 + PropertyAccessExpression 964612 964654 + ParenthesizedExpression 964612 964644 + AsExpression 964614 964643 + Identifier 964614 964620 + TypeReference 964623 964643 + Identifier 964623 964643 + Identifier 964645 964654 + PropertyAccessExpression 964655 964699 + ParenthesizedExpression 964655 964687 + AsExpression 964657 964686 + Identifier 964657 964663 + TypeReference 964666 964686 + Identifier 964666 964686 + Identifier 964688 964699 + IfStatement 964701 964823 + Identifier 964723 964733 + Block 964734 964823 + ExpressionStatement 964736 964804 + BinaryExpression 964736 964803 + Identifier 964736 964769 + EqualsToken 964769 964771 + CallExpression 964771 964803 + Identifier 964771 964778 + Identifier 964779 964790 + Identifier 964791 964802 + IfStatement 965072 965928 + BinaryExpression 965077 965238 + BinaryExpression 965077 965194 + BinaryExpression 965077 965154 + BinaryExpression 965077 965113 + PropertyAccessExpression 965077 965087 + Identifier 965077 965081 + Identifier 965082 965087 + AmpersandToken 965087 965089 + PropertyAccessExpression 965089 965113 + Identifier 965089 965099 + Identifier 965100 965113 + AmpersandAmpersandToken 965113 965116 + BinaryExpression 965116 965154 + PropertyAccessExpression 965116 965128 + Identifier 965116 965123 + Identifier 965124 965128 + EqualsEqualsEqualsToken 965128 965132 + PropertyAccessExpression 965132 965154 + Identifier 965132 965143 + Identifier 965144 965154 + AmpersandAmpersandToken 965154 965157 + PrefixUnaryExpression 965157 965194 + PropertyAccessExpression 965159 965194 + ParenthesizedExpression 965159 965185 + AsExpression 965160 965184 + Identifier 965160 965166 + TypeReference 965169 965184 + Identifier 965169 965184 + Identifier 965186 965194 + AmpersandAmpersandToken 965194 965197 + BinaryExpression 965197 965238 + Identifier 965197 965202 + EqualsEqualsEqualsToken 965202 965206 + PropertyAccessExpression 965206 965238 + ParenthesizedExpression 965206 965233 + AsExpression 965208 965232 + Identifier 965208 965214 + TypeReference 965217 965232 + Identifier 965217 965232 + Identifier 965234 965238 + Block 965239 965928 + VariableStatement 965241 965332 + VariableDeclarationList 965241 965331 + VariableDeclaration 965264 965331 + Identifier 965264 965275 + AsExpression 965277 965331 + CallExpression 965277 965317 + Identifier 965277 965297 + AsExpression 965298 965316 + Identifier 965298 965304 + TypeReference 965307 965316 + Identifier 965307 965316 + TypeReference 965320 965331 + Identifier 965320 965331 + IfStatement 965332 965913 + BinaryExpression 965354 965428 + CallExpression 965354 965396 + Identifier 965354 965384 + Identifier 965385 965395 + EqualsEqualsEqualsToken 965396 965400 + CallExpression 965400 965428 + Identifier 965400 965422 + Identifier 965423 965427 + Block 965429 965913 + VariableStatement 965431 965514 + VariableDeclarationList 965431 965513 + VariableDeclaration 965458 965513 + Identifier 965458 965472 + CallExpression 965474 965513 + Identifier 965474 965501 + Identifier 965502 965512 + IfStatement 965514 965894 + Identifier 965540 965553 + Block 965554 965894 + VariableStatement 965556 965645 + VariableDeclarationList 965556 965644 + VariableDeclaration 965587 965644 + Identifier 965587 965598 + CallExpression 965600 965644 + Identifier 965600 965629 + Identifier 965630 965643 + IfStatement 965645 965871 + BinaryExpression 965675 965730 + Identifier 965675 965685 + AmpersandAmpersandToken 965685 965688 + CallExpression 965688 965730 + Identifier 965688 965698 + Identifier 965699 965709 + Identifier 965710 965729 + Block 965731 965871 + ExpressionStatement 965733 965844 + BinaryExpression 965733 965843 + Identifier 965733 965774 + EqualsToken 965774 965776 + CallExpression 965776 965843 + Identifier 965776 965783 + Identifier 965784 965795 + CallExpression 965796 965842 + Identifier 965796 965809 + ArrayLiteralExpression 965810 965841 + Identifier 965811 965821 + Identifier 965822 965840 + ExpressionStatement 965928 965956 + BinaryExpression 965928 965955 + Identifier 965928 965946 + EqualsToken 965946 965948 + Identifier 965948 965955 + ReturnStatement 965967 966065 + ConditionalExpression 965983 966064 + Identifier 965983 965995 + QuestionToken 965995 965997 + CallExpression 965997 966057 + Identifier 965997 966017 + Identifier 966018 966022 + CallExpression 966023 966056 + Identifier 966023 966043 + Identifier 966044 966055 + ColonToken 966057 966059 + Identifier 966059 966064 + FunctionDeclaration 966072 966290 + Identifier 966088 966109 + Parameter 966110 966120 + Identifier 966110 966114 + TypeReference 966115 966120 + Identifier 966115 966120 + TypePredicate 966122 966148 + Identifier 966122 966127 + TypeReference 966130 966148 + Identifier 966130 966148 + Block 966148 966290 + ReturnStatement 966150 966283 + BinaryExpression 966166 966282 + PrefixUnaryExpression 966166 966199 + PrefixUnaryExpression 966168 966199 + ParenthesizedExpression 966169 966199 + BinaryExpression 966170 966198 + PropertyAccessExpression 966170 966180 + Identifier 966170 966174 + Identifier 966175 966180 + AmpersandToken 966180 966182 + PropertyAccessExpression 966182 966198 + Identifier 966182 966192 + Identifier 966193 966198 + AmpersandAmpersandToken 966199 966202 + ParenthesizedExpression 966202 966282 + BinaryExpression 966204 966281 + BinaryExpression 966204 966242 + PropertyAccessExpression 966204 966213 + Identifier 966204 966208 + Identifier 966209 966213 + EqualsEqualsEqualsToken 966213 966217 + PropertyAccessExpression 966217 966242 + Identifier 966217 966228 + Identifier 966229 966242 + BarBarToken 966242 966245 + BinaryExpression 966245 966281 + PropertyAccessExpression 966245 966255 + Identifier 966245 966250 + Identifier 966251 966255 + EqualsEqualsEqualsToken 966255 966259 + PropertyAccessExpression 966259 966281 + Identifier 966259 966270 + Identifier 966271 966281 + FunctionDeclaration 966290 966681 + Identifier 966306 966327 + Parameter 966328 966355 + Identifier 966328 966332 + TypeReference 966333 966355 + Identifier 966333 966355 + Parameter 966356 966372 + Identifier 966356 966363 + QuestionToken 966363 966364 + TypeReference 966365 966372 + Identifier 966365 966372 + Block 966373 966681 + IfStatement 966375 966652 + PropertyAccessExpression 966389 966407 + Identifier 966389 966393 + Identifier 966394 966407 + Block 966408 966652 + ExpressionStatement 966410 966614 + CallExpression 966410 966613 + Identifier 966410 966429 + Identifier 966430 966434 + PropertyAccessExpression 966435 966469 + Identifier 966435 966447 + Identifier 966448 966469 + ConditionalExpression 966470 966612 + Identifier 966470 966477 + QuestionToken 966477 966479 + CallExpression 966479 966502 + Identifier 966479 966494 + Identifier 966495 966501 + ColonToken 966502 966504 + ConditionalExpression 966504 966612 + PropertyAccessExpression 966504 966541 + ParenthesizedExpression 966504 966532 + AsExpression 966506 966531 + Identifier 966506 966510 + TypeReference 966513 966531 + Identifier 966513 966531 + Identifier 966533 966541 + QuestionToken 966541 966543 + CallExpression 966543 966605 + Identifier 966543 966567 + PropertyAccessExpression 966568 966604 + ParenthesizedExpression 966568 966595 + AsExpression 966569 966594 + Identifier 966569 966573 + TypeReference 966576 966594 + Identifier 966576 966594 + Identifier 966596 966604 + ColonToken 966605 966607 + Identifier 966607 966612 + ReturnStatement 966614 966641 + FalseKeyword 966634 966640 + ReturnStatement 966652 966674 + TrueKeyword 966668 966673 + FunctionDeclaration 966681 969073 + Identifier 966697 966735 + Parameter 966736 966759 + Identifier 966736 966740 + TypeReference 966741 966759 + Identifier 966741 966759 + UnionType 966761 966778 + TypeReference 966761 966766 + Identifier 966761 966766 + UndefinedKeyword 966768 966778 + Block 966778 969073 + IfStatement 966780 969066 + CallExpression 966794 966821 + Identifier 966794 966806 + PropertyAccessExpression 966807 966820 + Identifier 966807 966811 + Identifier 966812 966820 + Block 966822 969066 + VariableStatement 966824 966874 + VariableDeclarationList 966824 966873 + VariableDeclaration 966843 966873 + Identifier 966843 966852 + PropertyAccessExpression 966854 966873 + Identifier 966854 966859 + Identifier 966860 966873 + SwitchStatement 966874 969055 + PropertyAccessExpression 966896 966921 + PropertyAccessExpression 966896 966909 + Identifier 966896 966900 + Identifier 966901 966909 + Identifier 966910 966921 + CaseBlock 966922 969055 + CaseClause 966924 967045 + StringLiteral 966946 966955 + ExpressionStatement 966956 967005 + CallExpression 966956 967004 + Identifier 966956 966998 + Identifier 966999 967003 + ReturnStatement 967005 967045 + Identifier 967033 967044 + CaseClause 967045 967166 + StringLiteral 967067 967076 + ExpressionStatement 967077 967126 + CallExpression 967077 967125 + Identifier 967077 967119 + Identifier 967120 967124 + ReturnStatement 967126 967166 + Identifier 967154 967165 + CaseClause 967166 967287 + StringLiteral 967188 967197 + ExpressionStatement 967198 967247 + CallExpression 967198 967246 + Identifier 967198 967240 + Identifier 967241 967245 + ReturnStatement 967247 967287 + Identifier 967275 967286 + CaseClause 967287 967410 + StringLiteral 967309 967319 + ExpressionStatement 967320 967369 + CallExpression 967320 967368 + Identifier 967320 967362 + Identifier 967363 967367 + ReturnStatement 967369 967410 + Identifier 967397 967409 + CaseClause 967410 967527 + StringLiteral 967432 967439 + ExpressionStatement 967440 967489 + CallExpression 967440 967488 + Identifier 967440 967482 + Identifier 967483 967487 + ReturnStatement 967489 967527 + Identifier 967517 967526 + CaseClause 967527 967654 + StringLiteral 967549 967561 + ExpressionStatement 967562 967611 + CallExpression 967562 967610 + Identifier 967562 967604 + Identifier 967605 967609 + ReturnStatement 967611 967654 + Identifier 967639 967653 + CaseClause 967654 967771 + StringLiteral 967676 967683 + ExpressionStatement 967684 967733 + CallExpression 967684 967732 + Identifier 967684 967726 + Identifier 967727 967731 + ReturnStatement 967733 967771 + Identifier 967761 967770 + CaseClause 967771 967805 + StringLiteral 967793 967804 + CaseClause 967805 967936 + StringLiteral 967827 967838 + ExpressionStatement 967839 967888 + CallExpression 967839 967887 + Identifier 967839 967881 + Identifier 967882 967886 + ReturnStatement 967888 967936 + Identifier 967916 967935 + CaseClause 967936 968073 + StringLiteral 967958 967966 + ReturnStatement 967967 968073 + ConditionalExpression 967995 968072 + BinaryExpression 967995 968045 + ParenthesizedExpression 967995 968027 + BinaryExpression 967997 968026 + PrefixUnaryExpression 967997 968006 + Identifier 967998 968006 + BarBarToken 968006 968009 + PrefixUnaryExpression 968009 968026 + PropertyAccessExpression 968011 968026 + Identifier 968011 968019 + Identifier 968020 968026 + AmpersandAmpersandToken 968027 968030 + PrefixUnaryExpression 968030 968045 + Identifier 968032 968045 + QuestionToken 968045 968047 + Identifier 968047 968060 + ColonToken 968060 968062 + Identifier 968062 968072 + CaseClause 968073 968226 + StringLiteral 968095 968105 + ReturnStatement 968106 968226 + ConditionalExpression 968134 968225 + BinaryExpression 968134 968184 + ParenthesizedExpression 968134 968166 + BinaryExpression 968136 968165 + PrefixUnaryExpression 968136 968145 + Identifier 968137 968145 + BarBarToken 968145 968148 + PrefixUnaryExpression 968148 968165 + PropertyAccessExpression 968150 968165 + Identifier 968150 968158 + Identifier 968159 968165 + AmpersandAmpersandToken 968166 968169 + PrefixUnaryExpression 968169 968184 + Identifier 968171 968184 + QuestionToken 968184 968186 + CallExpression 968186 968213 + Identifier 968186 968204 + Identifier 968205 968212 + ColonToken 968213 968215 + Identifier 968215 968225 + CaseClause 968226 969040 + StringLiteral 968248 968257 + IfStatement 968258 968925 + BinaryExpression 968284 968317 + Identifier 968284 968292 + AmpersandAmpersandToken 968292 968295 + BinaryExpression 968295 968317 + PropertyAccessExpression 968295 968311 + Identifier 968295 968304 + Identifier 968305 968311 + EqualsEqualsEqualsToken 968311 968315 + NumericLiteral 968315 968317 + Block 968318 968925 + IfStatement 968320 968861 + CallExpression 968350 968377 + Identifier 968350 968371 + Identifier 968372 968376 + Block 968378 968861 + VariableStatement 968380 968459 + VariableDeclarationList 968380 968458 + VariableDeclaration 968415 968458 + Identifier 968415 968423 + CallExpression 968425 968458 + Identifier 968425 968445 + ElementAccessExpression 968446 968457 + Identifier 968446 968454 + NumericLiteral 968455 968456 + VariableStatement 968459 968537 + VariableDeclarationList 968459 968536 + VariableDeclaration 968494 968536 + Identifier 968494 968501 + CallExpression 968503 968536 + Identifier 968503 968523 + ElementAccessExpression 968524 968535 + Identifier 968524 968532 + NumericLiteral 968533 968534 + VariableStatement 968537 968706 + VariableDeclarationList 968537 968705 + VariableDeclaration 968572 968705 + Identifier 968572 968582 + ConditionalExpression 968584 968705 + BinaryExpression 968584 968633 + BinaryExpression 968584 968607 + Identifier 968584 968592 + EqualsEqualsEqualsToken 968592 968596 + Identifier 968596 968607 + BarBarToken 968607 968610 + BinaryExpression 968610 968633 + Identifier 968610 968618 + EqualsEqualsEqualsToken 968618 968622 + Identifier 968622 968633 + QuestionToken 968633 968635 + ArrayLiteralExpression 968635 968692 + CallExpression 968637 968691 + Identifier 968637 968652 + Identifier 968653 968660 + Identifier 968661 968668 + FalseKeyword 968669 968690 + ColonToken 968692 968694 + Identifier 968694 968705 + ReturnStatement 968706 968834 + CallExpression 968742 968833 + Identifier 968742 968762 + Identifier 968763 968783 + Identifier 968784 968797 + Identifier 968798 968809 + Identifier 968810 968821 + Identifier 968822 968832 + ReturnStatement 968861 968902 + Identifier 968893 968901 + ExpressionStatement 968925 968974 + CallExpression 968925 968973 + Identifier 968925 968967 + Identifier 968968 968972 + ReturnStatement 968974 969040 + ConditionalExpression 969002 969039 + PrefixUnaryExpression 969002 969017 + Identifier 969004 969017 + QuestionToken 969017 969019 + Identifier 969019 969027 + ColonToken 969027 969029 + Identifier 969029 969039 + FunctionDeclaration 969073 969291 + Identifier 969089 969122 + Parameter 969123 969146 + Identifier 969123 969127 + TypeReference 969128 969146 + Identifier 969128 969146 + Block 969147 969291 + VariableStatement 969149 969203 + VariableDeclarationList 969149 969202 + VariableDeclaration 969164 969202 + Identifier 969164 969169 + CallExpression 969171 969202 + Identifier 969171 969191 + PropertyAccessExpression 969192 969201 + Identifier 969192 969196 + Identifier 969197 969201 + ReturnStatement 969203 969284 + ConditionalExpression 969219 969283 + Identifier 969219 969236 + QuestionToken 969236 969238 + CallExpression 969238 969276 + Identifier 969238 969254 + Identifier 969255 969259 + PropertyAccessExpression 969260 969275 + Identifier 969260 969270 + Identifier 969271 969275 + ColonToken 969276 969278 + Identifier 969278 969283 + FunctionDeclaration 969291 971069 + Identifier 969307 969332 + Parameter 969333 969356 + Identifier 969333 969337 + TypeReference 969338 969356 + Identifier 969338 969356 + TypeReference 969358 969363 + Identifier 969358 969363 + Block 969363 971069 + VariableStatement 969365 969408 + VariableDeclarationList 969365 969407 + VariableDeclaration 969380 969407 + Identifier 969380 969386 + CallExpression 969388 969407 + Identifier 969388 969401 + Identifier 969402 969406 + IfStatement 969408 971026 + PrefixUnaryExpression 969422 969441 + PropertyAccessExpression 969423 969441 + Identifier 969423 969428 + Identifier 969429 969441 + Block 969442 971026 + IfStatement 969444 969788 + BinaryExpression 969559 969623 + CallExpression 969559 969585 + Identifier 969559 969579 + Identifier 969580 969584 + AmpersandAmpersandToken 969585 969588 + CallExpression 969588 969623 + Identifier 969588 969610 + PropertyAccessExpression 969611 969622 + Identifier 969611 969615 + Identifier 969616 969622 + Block 969624 969788 + ExpressionStatement 969626 969681 + BinaryExpression 969626 969680 + PropertyAccessExpression 969626 969664 + Identifier 969626 969649 + Identifier 969650 969664 + EqualsToken 969664 969666 + Identifier 969666 969680 + ReturnStatement 969681 969773 + BinaryExpression 969705 969772 + PropertyAccessExpression 969705 969724 + Identifier 969705 969711 + Identifier 969712 969724 + EqualsToken 969724 969726 + CallExpression 969726 969772 + Identifier 969726 969748 + PropertyAccessExpression 969749 969771 + PropertyAccessExpression 969749 969760 + Identifier 969749 969753 + Identifier 969754 969760 + Identifier 969761 969771 + VariableStatement 969788 969833 + VariableDeclarationList 969788 969832 + VariableDeclaration 969805 969832 + Identifier 969805 969812 + UnionType 969813 969832 + TypeReference 969813 969820 + Identifier 969813 969820 + UndefinedKeyword 969822 969832 + VariableStatement 969833 969874 + VariableDeclarationList 969833 969873 + VariableDeclaration 969850 969873 + Identifier 969850 969855 + UnionType 969856 969873 + TypeReference 969856 969861 + Identifier 969856 969861 + UndefinedKeyword 969863 969873 + VariableStatement 969874 969921 + VariableDeclarationList 969874 969920 + VariableDeclaration 969893 969920 + Identifier 969893 969901 + PropertyAccessExpression 969903 969920 + Identifier 969903 969915 + Identifier 969916 969920 + IfStatement 969921 970587 + CallExpression 969939 969965 + Identifier 969939 969959 + Identifier 969960 969964 + Block 969966 970587 + ExpressionStatement 969968 970037 + BinaryExpression 969968 970036 + Identifier 969968 969990 + EqualsToken 969990 969992 + CallExpression 969992 970036 + Identifier 969992 970030 + Identifier 970031 970035 + IfStatement 970037 970572 + PrefixUnaryExpression 970059 970064 + Identifier 970060 970064 + Block 970065 970572 + ExpressionStatement 970067 970161 + BinaryExpression 970067 970160 + Identifier 970067 970095 + EqualsToken 970095 970097 + CallExpression 970097 970160 + Identifier 970097 970122 + Identifier 970123 970127 + Identifier 970128 970136 + TrueKeyword 970137 970159 + IfStatement 970161 970489 + BinaryExpression 970187 970211 + Identifier 970187 970193 + EqualsEqualsEqualsToken 970193 970197 + Identifier 970197 970211 + Block 970212 970332 + ExpressionStatement 970214 970309 + BinaryExpression 970214 970308 + Identifier 970214 970246 + EqualsToken 970246 970248 + CallExpression 970248 970308 + Identifier 970248 970273 + Identifier 970274 970278 + BinaryExpression 970279 970307 + Identifier 970279 970287 + BarToken 970287 970289 + PropertyAccessExpression 970289 970307 + Identifier 970289 970301 + Identifier 970302 970307 + Block 970358 970489 + ExpressionStatement 970360 970426 + CallExpression 970360 970425 + Identifier 970360 970410 + Identifier 970411 970415 + Identifier 970416 970424 + ExpressionStatement 970489 970553 + BinaryExpression 970489 970552 + Identifier 970489 970515 + EqualsToken 970515 970517 + CallExpression 970517 970552 + Identifier 970517 970538 + Identifier 970539 970543 + Identifier 970544 970551 + IfStatement 970587 970755 + PrefixUnaryExpression 970605 970610 + Identifier 970606 970610 + Block 970611 970755 + ExpressionStatement 970613 970680 + BinaryExpression 970613 970679 + Identifier 970613 970637 + EqualsToken 970637 970639 + CallExpression 970639 970679 + Identifier 970639 970664 + Identifier 970665 970669 + Identifier 970670 970678 + ExpressionStatement 970680 970740 + BinaryExpression 970680 970739 + Identifier 970680 970702 + EqualsToken 970702 970704 + CallExpression 970704 970739 + Identifier 970704 970725 + Identifier 970726 970730 + Identifier 970731 970738 + ExpressionStatement 970755 970975 + BinaryExpression 970755 970974 + PropertyAccessExpression 970755 970965 + Identifier 970755 970950 + Identifier 970951 970965 + EqualsToken 970965 970967 + Identifier 970967 970974 + ExpressionStatement 970975 971015 + BinaryExpression 970975 971014 + PropertyAccessExpression 970975 971007 + Identifier 970975 970994 + Identifier 970995 971007 + EqualsToken 971007 971009 + Identifier 971009 971014 + ReturnStatement 971026 971062 + PropertyAccessExpression 971042 971061 + Identifier 971042 971048 + Identifier 971049 971061 + FunctionDeclaration 971069 971240 + Identifier 971085 971120 + Parameter 971121 971148 + Identifier 971121 971125 + TypeReference 971126 971148 + Identifier 971126 971148 + UnionType 971150 971169 + ArrayType 971150 971157 + TypeReference 971150 971155 + Identifier 971150 971155 + UndefinedKeyword 971159 971169 + Block 971169 971240 + ReturnStatement 971171 971233 + CallExpression 971187 971232 + Identifier 971187 971191 + PropertyAccessExpression 971192 971210 + Identifier 971192 971196 + Identifier 971197 971210 + Identifier 971211 971231 + FunctionDeclaration 971240 971872 + Identifier 971256 971281 + Parameter 971282 971301 + Identifier 971282 971286 + TypeReference 971287 971301 + Identifier 971287 971301 + TypeReference 971303 971308 + Identifier 971303 971308 + Block 971308 971872 + VariableStatement 971310 971353 + VariableDeclarationList 971310 971352 + VariableDeclaration 971325 971352 + Identifier 971325 971331 + CallExpression 971333 971352 + Identifier 971333 971346 + Identifier 971347 971351 + IfStatement 971353 971829 + PrefixUnaryExpression 971367 971386 + PropertyAccessExpression 971368 971386 + Identifier 971368 971373 + Identifier 971374 971386 + Block 971387 971829 + VariableStatement 971389 971733 + VariableDeclarationList 971389 971732 + VariableDeclaration 971686 971732 + Identifier 971686 971691 + CallExpression 971693 971732 + Identifier 971693 971726 + Identifier 971727 971731 + ExpressionStatement 971733 971818 + BinaryExpression 971733 971817 + PropertyAccessExpression 971733 971765 + Identifier 971733 971752 + Identifier 971753 971765 + EqualsToken 971765 971767 + CallExpression 971767 971817 + Identifier 971767 971795 + CallExpression 971796 971816 + Identifier 971796 971810 + Identifier 971811 971815 + ReturnStatement 971829 971865 + PropertyAccessExpression 971845 971864 + Identifier 971845 971851 + Identifier 971852 971864 + FunctionDeclaration 971872 973271 + Identifier 971888 971910 + Parameter 971911 971937 + Identifier 971911 971917 + UnionType 971918 971937 + TypeReference 971918 971925 + Identifier 971918 971925 + UndefinedKeyword 971927 971937 + Parameter 971938 971952 + Identifier 971938 971944 + NumberKeyword 971945 971952 + TypeReference 971954 971965 + Identifier 971954 971965 + Block 971965 973271 + FunctionDeclaration 971967 972540 + Identifier 971985 972004 + Parameter 972005 972019 + Identifier 972005 972011 + TypeReference 972012 972019 + Identifier 972012 972019 + UnionType 972021 972045 + TypeReference 972021 972033 + Identifier 972021 972033 + UndefinedKeyword 972035 972045 + Block 972045 972540 + VariableStatement 972047 972102 + VariableDeclarationList 972047 972101 + VariableDeclaration 972066 972101 + Identifier 972066 972079 + PropertyAccessExpression 972081 972101 + Identifier 972081 972088 + Identifier 972089 972101 + IfStatement 972102 972529 + Identifier 972120 972132 + Block 972133 972529 + ForOfStatement 972135 972514 + VariableDeclarationList 972158 972175 + VariableDeclaration 972163 972175 + Identifier 972163 972175 + Identifier 972178 972191 + Block 972192 972514 + SwitchStatement 972194 972495 + PropertyAccessExpression 972224 972240 + Identifier 972224 972235 + Identifier 972236 972240 + CaseBlock 972241 972495 + CaseClause 972243 972302 + PropertyAccessExpression 972273 972301 + Identifier 972273 972284 + Identifier 972285 972301 + CaseClause 972302 972365 + PropertyAccessExpression 972332 972364 + Identifier 972332 972343 + Identifier 972344 972364 + CaseClause 972365 972472 + PropertyAccessExpression 972395 972422 + Identifier 972395 972406 + Identifier 972407 972422 + ReturnStatement 972423 972472 + Identifier 972459 972471 + IfStatement 972540 972641 + PrefixUnaryExpression 972556 972563 + Identifier 972557 972563 + Block 972564 972641 + ReturnStatement 972566 972630 + ConditionalExpression 972586 972629 + Identifier 972586 972592 + QuestionToken 972592 972594 + Identifier 972594 972611 + ColonToken 972611 972613 + Identifier 972613 972629 + VariableStatement 972641 972696 + VariableDeclarationList 972641 972695 + VariableDeclaration 972656 972695 + Identifier 972656 972661 + CallExpression 972663 972695 + Identifier 972663 972687 + Identifier 972688 972694 + IfStatement 972696 972949 + PrefixUnaryExpression 972710 972742 + ParenthesizedExpression 972711 972742 + BinaryExpression 972712 972741 + PropertyAccessExpression 972712 972722 + Identifier 972712 972716 + Identifier 972717 972722 + AmpersandToken 972722 972724 + PropertyAccessExpression 972724 972741 + Identifier 972724 972734 + Identifier 972735 972741 + Block 972743 972949 + ExpressionStatement 972745 972874 + CallExpression 972745 972873 + Identifier 972745 972764 + CallExpression 972765 972791 + Identifier 972765 972783 + Identifier 972784 972790 + PropertyAccessExpression 972792 972852 + Identifier 972792 972804 + Identifier 972805 972852 + CallExpression 972853 972872 + Identifier 972853 972864 + Identifier 972865 972871 + ReturnStatement 972874 972938 + ConditionalExpression 972894 972937 + Identifier 972894 972900 + QuestionToken 972900 972902 + Identifier 972902 972919 + ColonToken 972919 972921 + Identifier 972921 972937 + IfStatement 972949 973228 + BinaryExpression 972963 973019 + CallExpression 972963 973009 + Identifier 972963 972969 + PropertyAccessExpression 972970 973008 + ParenthesizedExpression 972970 972993 + AsExpression 972971 972992 + Identifier 972971 972975 + TypeReference 972978 972992 + Identifier 972978 972992 + Identifier 972994 973008 + ExclamationEqualsEqualsToken 973009 973013 + Identifier 973013 973019 + Block 973020 973228 + ExpressionStatement 973022 973153 + CallExpression 973022 973152 + Identifier 973022 973041 + CallExpression 973042 973068 + Identifier 973042 973060 + Identifier 973061 973067 + PropertyAccessExpression 973069 973124 + Identifier 973069 973081 + Identifier 973082 973124 + CallExpression 973125 973144 + Identifier 973125 973136 + Identifier 973137 973143 + Identifier 973145 973151 + ReturnStatement 973153 973217 + ConditionalExpression 973173 973216 + Identifier 973173 973179 + QuestionToken 973179 973181 + Identifier 973181 973198 + ColonToken 973198 973200 + Identifier 973200 973216 + ReturnStatement 973228 973264 + AsExpression 973244 973263 + Identifier 973244 973249 + TypeReference 973252 973263 + Identifier 973252 973263 + FunctionDeclaration 973271 973501 + Identifier 973287 973308 + Parameter 973309 973323 + Identifier 973309 973313 + TypeReference 973314 973323 + Identifier 973314 973323 + Parameter 973324 973346 + Identifier 973324 973337 + BooleanKeyword 973338 973346 + UnionType 973348 973367 + TypeReference 973348 973355 + Identifier 973348 973355 + UndefinedKeyword 973357 973367 + Block 973367 973501 + ReturnStatement 973369 973494 + CallExpression 973385 973493 + Identifier 973385 973401 + Identifier 973402 973406 + PropertyAccessExpression 973407 973425 + Identifier 973407 973419 + Identifier 973420 973425 + ConditionalExpression 973426 973492 + Identifier 973426 973439 + QuestionToken 973439 973441 + PropertyAccessExpression 973441 973480 + Identifier 973441 973453 + Identifier 973454 973480 + ColonToken 973480 973482 + Identifier 973482 973492 + FunctionDeclaration 973501 973728 + Identifier 973517 973537 + Parameter 973538 973552 + Identifier 973538 973542 + TypeReference 973543 973552 + Identifier 973543 973552 + Parameter 973553 973575 + Identifier 973553 973566 + BooleanKeyword 973567 973575 + UnionType 973577 973596 + TypeReference 973577 973584 + Identifier 973577 973584 + UndefinedKeyword 973586 973596 + Block 973596 973728 + ReturnStatement 973598 973721 + CallExpression 973614 973720 + Identifier 973614 973630 + Identifier 973631 973635 + PropertyAccessExpression 973636 973653 + Identifier 973636 973648 + Identifier 973649 973653 + ConditionalExpression 973654 973719 + Identifier 973654 973667 + QuestionToken 973667 973669 + PropertyAccessExpression 973669 973707 + Identifier 973669 973681 + Identifier 973682 973707 + ColonToken 973707 973709 + Identifier 973709 973719 + FunctionDeclaration 973728 974580 + Identifier 973744 973769 + Parameter 973770 973784 + Identifier 973770 973774 + TypeReference 973775 973784 + Identifier 973775 973784 + Parameter 973785 973799 + Identifier 973785 973791 + NumberKeyword 973792 973799 + Parameter 973800 973822 + Identifier 973800 973813 + BooleanKeyword 973814 973822 + UnionType 973824 973843 + TypeReference 973824 973831 + Identifier 973824 973831 + UndefinedKeyword 973833 973843 + Block 973843 974580 + VariableStatement 973845 973976 + VariableDeclarationList 973845 973975 + VariableDeclaration 973860 973975 + Identifier 973860 973867 + CallExpression 973869 973975 + Identifier 973869 973885 + Identifier 973886 973890 + PropertyAccessExpression 973891 973908 + Identifier 973891 973903 + Identifier 973904 973908 + ConditionalExpression 973909 973974 + Identifier 973909 973922 + QuestionToken 973922 973924 + PropertyAccessExpression 973924 973962 + Identifier 973924 973936 + Identifier 973937 973962 + ColonToken 973962 973964 + Identifier 973964 973974 + IfStatement 973976 974549 + Identifier 973990 973996 + Block 973997 974549 + ExpressionStatement 973999 974195 + CallExpression 973999 974194 + Identifier 973999 974186 + Identifier 974187 974193 + IfStatement 974195 974538 + BinaryExpression 974213 974268 + CallExpression 974213 974258 + Identifier 974213 974219 + PropertyAccessExpression 974220 974257 + CallExpression 974220 974242 + Identifier 974220 974234 + Identifier 974235 974241 + Identifier 974243 974257 + ExclamationEqualsEqualsToken 974258 974262 + Identifier 974262 974268 + Block 974269 974538 + VariableStatement 974271 974375 + VariableDeclarationList 974271 974374 + VariableDeclaration 974294 974374 + Identifier 974294 974299 + BinaryExpression 974301 974374 + PropertyAccessExpression 974301 974321 + Identifier 974301 974308 + Identifier 974309 974321 + AmpersandAmpersandToken 974321 974324 + CallExpression 974324 974374 + Identifier 974324 974329 + PropertyAccessExpression 974330 974349 + Identifier 974330 974336 + Identifier 974337 974349 + Identifier 974350 974373 + ExpressionStatement 974375 974488 + CallExpression 974375 974487 + Identifier 974375 974398 + Identifier 974399 974403 + PropertyAccessExpression 974404 974459 + Identifier 974404 974416 + Identifier 974417 974459 + CallExpression 974460 974479 + Identifier 974460 974471 + Identifier 974472 974478 + Identifier 974480 974486 + ReturnStatement 974488 974523 + Identifier 974512 974522 + ReturnStatement 974549 974573 + Identifier 974565 974572 + FunctionDeclaration 974580 974946 + Identifier 974596 974612 + Parameter 974613 974627 + Identifier 974613 974617 + TypeReference 974618 974627 + Identifier 974618 974627 + Parameter 974628 974649 + Identifier 974628 974636 + TypeReference 974637 974649 + Identifier 974637 974649 + Parameter 974650 974692 + Identifier 974650 974661 + UnionType 974662 974692 + TypeReference 974662 974680 + Identifier 974662 974680 + UndefinedKeyword 974682 974692 + UnionType 974694 974713 + TypeReference 974694 974701 + Identifier 974694 974701 + UndefinedKeyword 974703 974713 + Block 974713 974946 + ReturnStatement 974715 974939 + CallExpression 974832 974938 + Identifier 974832 974844 + Identifier 974845 974867 + Identifier 974868 974873 + Identifier 974874 974882 + Identifier 974883 974894 + FalseKeyword 974895 974911 + FalseKeyword 974912 974937 + FunctionDeclaration 974946 975035 + Identifier 974962 974976 + Parameter 974977 974991 + Identifier 974977 974981 + TypeReference 974982 974991 + Identifier 974982 974991 + Parameter 974992 975001 + Identifier 974992 974998 + LiteralType 974999 975001 + NumericLiteral 974999 975001 + Parameter 975002 975021 + Identifier 975002 975015 + LiteralType 975016 975021 + TrueKeyword 975016 975021 + TypeReference 975023 975034 + Identifier 975023 975034 + FunctionDeclaration 975035 975137 + Identifier 975049 975063 + Parameter 975064 975078 + Identifier 975064 975068 + TypeReference 975069 975078 + Identifier 975069 975078 + Parameter 975079 975088 + Identifier 975079 975085 + LiteralType 975086 975088 + NumericLiteral 975086 975088 + Parameter 975089 975111 + Identifier 975089 975102 + BooleanKeyword 975103 975111 + UnionType 975113 975136 + TypeReference 975113 975124 + Identifier 975113 975124 + UndefinedKeyword 975126 975136 + FunctionDeclaration 975137 975230 + Identifier 975151 975165 + Parameter 975166 975180 + Identifier 975166 975170 + TypeReference 975171 975180 + Identifier 975171 975180 + Parameter 975181 975195 + Identifier 975181 975187 + NumberKeyword 975188 975195 + Parameter 975196 975215 + Identifier 975196 975209 + LiteralType 975210 975215 + TrueKeyword 975210 975215 + TypeReference 975217 975229 + Identifier 975217 975229 + FunctionDeclaration 975230 975338 + Identifier 975244 975258 + Parameter 975259 975273 + Identifier 975259 975263 + TypeReference 975264 975273 + Identifier 975264 975273 + Parameter 975274 975288 + Identifier 975274 975280 + NumberKeyword 975281 975288 + Parameter 975289 975311 + Identifier 975289 975302 + BooleanKeyword 975303 975311 + UnionType 975313 975337 + TypeReference 975313 975325 + Identifier 975313 975325 + UndefinedKeyword 975327 975337 + FunctionDeclaration 975338 975609 + Identifier 975352 975366 + Parameter 975367 975381 + Identifier 975367 975371 + TypeReference 975372 975381 + Identifier 975372 975381 + Parameter 975382 975396 + Identifier 975382 975388 + NumberKeyword 975389 975396 + Parameter 975397 975419 + Identifier 975397 975410 + BooleanKeyword 975411 975419 + UnionType 975421 975444 + TypeReference 975421 975432 + Identifier 975421 975432 + UndefinedKeyword 975434 975444 + Block 975444 975609 + VariableStatement 975446 975511 + VariableDeclarationList 975446 975510 + VariableDeclaration 975461 975510 + Identifier 975461 975468 + CallExpression 975470 975510 + Identifier 975470 975490 + Identifier 975491 975495 + Identifier 975496 975509 + ReturnStatement 975511 975602 + ConditionalExpression 975527 975601 + BinaryExpression 975527 975550 + Identifier 975527 975534 + BarBarToken 975534 975537 + Identifier 975537 975550 + QuestionToken 975550 975552 + CallExpression 975552 975589 + Identifier 975552 975574 + Identifier 975575 975581 + Identifier 975582 975588 + ColonToken 975589 975591 + Identifier 975591 975601 + FunctionDeclaration 975609 975702 + Identifier 975625 975647 + Parameter 975648 975676 + Identifier 975648 975657 + TypeOperator 975658 975676 + ArrayType 975667 975676 + StringKeyword 975667 975674 + Parameter 975677 975686 + Identifier 975677 975683 + LiteralType 975684 975686 + NumericLiteral 975684 975686 + ArrayType 975688 975701 + TypeReference 975688 975699 + Identifier 975688 975699 + FunctionDeclaration 975702 975799 + Identifier 975716 975738 + Parameter 975739 975767 + Identifier 975739 975748 + TypeOperator 975749 975767 + ArrayType 975758 975767 + StringKeyword 975758 975765 + Parameter 975768 975782 + Identifier 975768 975774 + NumberKeyword 975775 975782 + ArrayType 975784 975798 + TypeReference 975784 975796 + Identifier 975784 975796 + FunctionDeclaration 975799 976126 + Identifier 975813 975835 + Parameter 975836 975864 + Identifier 975836 975845 + TypeOperator 975846 975864 + ArrayType 975855 975864 + StringKeyword 975855 975862 + Parameter 975865 975879 + Identifier 975865 975871 + NumberKeyword 975872 975879 + Block 975880 976126 + VariableStatement 975882 975922 + VariableDeclarationList 975882 975921 + VariableDeclaration 975895 975921 + Identifier 975895 975901 + UnionType 975902 975921 + ArrayType 975902 975909 + TypeReference 975902 975907 + Identifier 975902 975907 + UndefinedKeyword 975911 975921 + ForOfStatement 975922 976082 + VariableDeclarationList 975937 975951 + VariableDeclaration 975942 975951 + Identifier 975942 975951 + Identifier 975954 975964 + Block 975965 976082 + ExpressionStatement 975967 976071 + BinaryExpression 975967 976070 + Identifier 975967 975986 + EqualsToken 975986 975988 + CallExpression 975988 976070 + Identifier 975988 975995 + Identifier 975996 976001 + CallExpression 976002 976069 + Identifier 976002 976016 + AsExpression 976017 976037 + Identifier 976017 976025 + TypeReference 976028 976037 + Identifier 976028 976037 + Identifier 976038 976044 + FalseKeyword 976045 976068 + ReturnStatement 976082 976119 + BinaryExpression 976098 976118 + Identifier 976098 976104 + QuestionQuestionToken 976104 976107 + Identifier 976107 976118 + FunctionDeclaration 976126 976503 + Identifier 976142 976179 + Block 976181 976503 + ReturnStatement 976183 976496 + BinaryExpression 976340 976495 + Identifier 976340 976382 + BarBarEqualsToken 976382 976386 + BinaryExpression 976386 976495 + CallExpression 976386 976475 + Identifier 976386 976400 + AsExpression 976401 976438 + StringLiteral 976401 976426 + TypeReference 976429 976438 + Identifier 976429 976438 + NumericLiteral 976439 976451 + TrueKeyword 976452 976474 + BarBarToken 976475 976478 + Identifier 976478 976495 + FunctionDeclaration 976503 976870 + Identifier 976519 976553 + Block 976555 976870 + ReturnStatement 976557 976863 + BinaryExpression 976714 976862 + Identifier 976714 976753 + BarBarEqualsToken 976753 976757 + BinaryExpression 976757 976862 + CallExpression 976757 976843 + Identifier 976757 976771 + AsExpression 976772 976806 + StringLiteral 976772 976794 + TypeReference 976797 976806 + Identifier 976797 976806 + NumericLiteral 976807 976819 + TrueKeyword 976820 976842 + BarBarToken 976843 976846 + Identifier 976846 976862 + FunctionDeclaration 976870 977207 + Identifier 976886 976910 + Block 976912 977207 + ReturnStatement 976914 977200 + BinaryExpression 977071 977199 + Identifier 977071 977100 + BarBarEqualsToken 977100 977104 + BinaryExpression 977104 977199 + CallExpression 977104 977180 + Identifier 977104 977118 + AsExpression 977119 977143 + StringLiteral 977119 977131 + TypeReference 977134 977143 + Identifier 977134 977143 + NumericLiteral 977144 977156 + TrueKeyword 977157 977179 + BarBarToken 977180 977183 + Identifier 977183 977199 + FunctionDeclaration 977207 978106 + Identifier 977223 977257 + Block 977259 978106 + IfStatement 977261 978043 + PrefixUnaryExpression 977275 977314 + Identifier 977276 977314 + Block 977315 978043 + VariableStatement 977317 977499 + VariableDeclarationList 977317 977498 + VariableDeclaration 977422 977498 + Identifier 977422 977429 + CallExpression 977431 977498 + Identifier 977431 977444 + PropertyAccessExpression 977445 977461 + Identifier 977445 977456 + Identifier 977457 977461 + AsExpression 977462 977497 + StringLiteral 977462 977485 + TypeReference 977488 977497 + Identifier 977488 977497 + VariableStatement 977499 977562 + VariableDeclarationList 977499 977561 + VariableDeclaration 977518 977561 + Identifier 977518 977533 + CallExpression 977535 977561 + Identifier 977535 977559 + VariableStatement 977562 977681 + VariableDeclarationList 977562 977680 + VariableDeclaration 977583 977680 + Identifier 977583 977602 + CallExpression 977604 977680 + Identifier 977604 977617 + PropertyAccessExpression 977618 977638 + Identifier 977618 977629 + Identifier 977630 977638 + AsExpression 977639 977658 + StringLiteral 977639 977646 + TypeReference 977649 977658 + Identifier 977649 977658 + PropertyAccessExpression 977659 977679 + Identifier 977659 977670 + Identifier 977671 977679 + ExpressionStatement 977681 977730 + BinaryExpression 977681 977729 + PropertyAccessExpression 977681 977720 + Identifier 977681 977713 + Identifier 977714 977720 + EqualsToken 977720 977722 + Identifier 977722 977729 + ExpressionStatement 977730 977791 + BinaryExpression 977730 977790 + PropertyAccessExpression 977730 977773 + PropertyAccessExpression 977730 977768 + Identifier 977730 977762 + Identifier 977763 977768 + Identifier 977769 977773 + EqualsToken 977773 977775 + Identifier 977775 977790 + VariableStatement 977791 977863 + VariableDeclarationList 977791 977862 + VariableDeclaration 977812 977862 + Identifier 977812 977820 + CallExpression 977822 977862 + Identifier 977822 977840 + ArrayLiteralExpression 977841 977861 + Identifier 977842 977860 + ExpressionStatement 977863 977902 + BinaryExpression 977863 977901 + PropertyAccessExpression 977863 977891 + Identifier 977863 977883 + Identifier 977884 977891 + EqualsToken 977891 977893 + Identifier 977893 977901 + ExpressionStatement 977902 978032 + BinaryExpression 977902 978031 + Identifier 977902 977956 + EqualsToken 977956 977958 + CallExpression 977958 978031 + Identifier 977958 977978 + Identifier 977979 977985 + Identifier 977986 977994 + Identifier 977995 978006 + Identifier 978007 978018 + Identifier 978019 978030 + ReturnStatement 978043 978099 + Identifier 978059 978098 + FunctionDeclaration 978106 978337 + Identifier 978122 978153 + Parameter 978154 978175 + Identifier 978154 978166 + BooleanKeyword 978167 978175 + Block 978176 978337 + ReturnStatement 978178 978330 + BinaryExpression 978194 978329 + ParenthesizedExpression 978194 978310 + BinaryExpression 978196 978309 + Identifier 978196 978231 + BarBarEqualsToken 978231 978235 + CallExpression 978235 978309 + Identifier 978235 978249 + AsExpression 978250 978281 + StringLiteral 978250 978269 + TypeReference 978272 978281 + Identifier 978272 978281 + NumericLiteral 978282 978294 + Identifier 978295 978308 + BarBarToken 978310 978313 + Identifier 978313 978329 + FunctionDeclaration 978337 978565 + Identifier 978353 978383 + Parameter 978384 978405 + Identifier 978384 978396 + BooleanKeyword 978397 978405 + Block 978406 978565 + ReturnStatement 978408 978558 + BinaryExpression 978424 978557 + ParenthesizedExpression 978424 978538 + BinaryExpression 978426 978537 + Identifier 978426 978460 + BarBarEqualsToken 978460 978464 + CallExpression 978464 978537 + Identifier 978464 978478 + AsExpression 978479 978509 + StringLiteral 978479 978497 + TypeReference 978500 978509 + Identifier 978500 978509 + NumericLiteral 978510 978522 + Identifier 978523 978536 + BarBarToken 978538 978541 + Identifier 978541 978557 + FunctionDeclaration 978565 978786 + Identifier 978581 978616 + Parameter 978617 978638 + Identifier 978617 978629 + BooleanKeyword 978630 978638 + UnionType 978640 978659 + TypeReference 978640 978647 + Identifier 978640 978647 + UndefinedKeyword 978649 978659 + Block 978659 978786 + ReturnStatement 978661 978779 + BinaryExpression 978677 978778 + Identifier 978677 978717 + BarBarEqualsToken 978717 978721 + CallExpression 978721 978778 + Identifier 978721 978742 + AsExpression 978743 978763 + StringLiteral 978743 978751 + TypeReference 978754 978763 + Identifier 978754 978763 + Identifier 978764 978777 + FunctionDeclaration 978786 979025 + Identifier 978802 978841 + Parameter 978842 978863 + Identifier 978842 978854 + BooleanKeyword 978855 978863 + UnionType 978865 978884 + TypeReference 978865 978872 + Identifier 978865 978872 + UndefinedKeyword 978874 978884 + Block 978884 979025 + ReturnStatement 978886 979018 + BinaryExpression 978902 979017 + Identifier 978902 978946 + BarBarEqualsToken 978946 978950 + CallExpression 978950 979017 + Identifier 978950 978970 + AsExpression 978971 979002 + StringLiteral 978971 978990 + TypeReference 978993 979002 + Identifier 978993 979002 + Identifier 979003 979016 + FunctionDeclaration 979025 979216 + Identifier 979041 979063 + Block 979065 979216 + ReturnStatement 979067 979209 + BinaryExpression 979083 979208 + ParenthesizedExpression 979083 979189 + BinaryExpression 979085 979188 + Identifier 979085 979111 + BarBarEqualsToken 979111 979115 + CallExpression 979115 979188 + Identifier 979115 979129 + AsExpression 979130 979150 + StringLiteral 979130 979138 + TypeReference 979141 979150 + Identifier 979141 979150 + NumericLiteral 979151 979163 + FalseKeyword 979164 979187 + BarBarToken 979189 979192 + Identifier 979192 979208 + FunctionDeclaration 979216 979418 + Identifier 979232 979253 + Parameter 979254 979275 + Identifier 979254 979266 + BooleanKeyword 979267 979275 + Block 979276 979418 + ReturnStatement 979278 979411 + BinaryExpression 979294 979410 + ParenthesizedExpression 979294 979390 + BinaryExpression 979296 979389 + Identifier 979296 979321 + BarBarEqualsToken 979321 979325 + CallExpression 979325 979389 + Identifier 979325 979339 + AsExpression 979340 979361 + StringLiteral 979340 979349 + TypeReference 979352 979361 + Identifier 979352 979361 + NumericLiteral 979362 979374 + Identifier 979375 979388 + BarBarToken 979390 979393 + Identifier 979393 979410 + FunctionDeclaration 979418 979632 + Identifier 979434 979459 + Parameter 979460 979481 + Identifier 979460 979472 + BooleanKeyword 979473 979481 + Block 979482 979632 + ReturnStatement 979484 979625 + BinaryExpression 979500 979624 + ParenthesizedExpression 979500 979604 + BinaryExpression 979502 979603 + Identifier 979502 979531 + BarBarEqualsToken 979531 979535 + CallExpression 979535 979603 + Identifier 979535 979549 + AsExpression 979550 979575 + StringLiteral 979550 979563 + TypeReference 979566 979575 + Identifier 979566 979575 + NumericLiteral 979576 979588 + Identifier 979589 979602 + BarBarToken 979604 979607 + Identifier 979607 979624 + FunctionDeclaration 979632 979852 + Identifier 979648 979682 + Parameter 979683 979704 + Identifier 979683 979695 + BooleanKeyword 979696 979704 + UnionType 979706 979725 + TypeReference 979706 979713 + Identifier 979706 979713 + UndefinedKeyword 979715 979725 + Block 979725 979852 + ReturnStatement 979727 979845 + BinaryExpression 979743 979844 + Identifier 979743 979782 + BarBarEqualsToken 979782 979786 + CallExpression 979786 979844 + Identifier 979786 979807 + AsExpression 979808 979829 + StringLiteral 979808 979817 + TypeReference 979820 979829 + Identifier 979820 979829 + Identifier 979830 979843 + FunctionDeclaration 979852 980098 + Identifier 979868 979904 + Parameter 979905 979926 + Identifier 979905 979917 + BooleanKeyword 979918 979926 + Block 979927 980098 + ReturnStatement 979929 980091 + BinaryExpression 979945 980090 + ParenthesizedExpression 979945 980071 + BinaryExpression 979947 980070 + Identifier 979947 979987 + BarBarEqualsToken 979987 979991 + CallExpression 979991 980070 + Identifier 979991 980005 + AsExpression 980006 980042 + StringLiteral 980006 980030 + TypeReference 980033 980042 + Identifier 980033 980042 + NumericLiteral 980043 980055 + Identifier 980056 980069 + BarBarToken 980071 980074 + Identifier 980074 980090 + FunctionDeclaration 980098 980318 + Identifier 980114 980141 + Parameter 980142 980163 + Identifier 980142 980154 + BooleanKeyword 980155 980163 + Block 980164 980318 + ReturnStatement 980166 980311 + BinaryExpression 980182 980310 + ParenthesizedExpression 980182 980290 + BinaryExpression 980184 980289 + Identifier 980184 980215 + BarBarEqualsToken 980215 980219 + CallExpression 980219 980289 + Identifier 980219 980233 + AsExpression 980234 980261 + StringLiteral 980234 980249 + TypeReference 980252 980261 + Identifier 980252 980261 + NumericLiteral 980262 980274 + Identifier 980275 980288 + BarBarToken 980290 980293 + Identifier 980293 980310 + FunctionDeclaration 980318 980538 + Identifier 980334 980361 + Parameter 980362 980383 + Identifier 980362 980374 + BooleanKeyword 980375 980383 + Block 980384 980538 + ReturnStatement 980386 980531 + BinaryExpression 980402 980530 + ParenthesizedExpression 980402 980510 + BinaryExpression 980404 980509 + Identifier 980404 980435 + BarBarEqualsToken 980435 980439 + CallExpression 980439 980509 + Identifier 980439 980453 + AsExpression 980454 980481 + StringLiteral 980454 980469 + TypeReference 980472 980481 + Identifier 980472 980481 + NumericLiteral 980482 980494 + Identifier 980495 980508 + BarBarToken 980510 980513 + Identifier 980513 980530 + FunctionDeclaration 980538 980782 + Identifier 980554 980589 + Parameter 980590 980611 + Identifier 980590 980602 + BooleanKeyword 980603 980611 + Block 980612 980782 + ReturnStatement 980614 980775 + BinaryExpression 980630 980774 + ParenthesizedExpression 980630 980754 + BinaryExpression 980632 980753 + Identifier 980632 980671 + BarBarEqualsToken 980671 980675 + CallExpression 980675 980753 + Identifier 980675 980689 + AsExpression 980690 980725 + StringLiteral 980690 980713 + TypeReference 980716 980725 + Identifier 980716 980725 + NumericLiteral 980726 980738 + Identifier 980739 980752 + BarBarToken 980754 980757 + Identifier 980757 980774 + FunctionDeclaration 980782 981100 + Identifier 980798 980833 + Block 980835 981100 + ReturnStatement 980837 981093 + BinaryExpression 980990 981092 + Identifier 980990 981030 + QuestionQuestionEqualsToken 981030 981034 + CallExpression 981034 981092 + Identifier 981034 981056 + ArrayLiteralExpression 981057 981088 + StringLiteral 981058 981087 + NumericLiteral 981089 981091 + FunctionDeclaration 981100 981338 + Identifier 981116 981149 + Parameter 981150 981171 + Identifier 981150 981162 + BooleanKeyword 981163 981171 + Block 981172 981338 + ReturnStatement 981174 981331 + BinaryExpression 981190 981330 + ParenthesizedExpression 981190 981310 + BinaryExpression 981192 981309 + Identifier 981192 981229 + BarBarEqualsToken 981229 981233 + CallExpression 981233 981309 + Identifier 981233 981247 + AsExpression 981248 981281 + StringLiteral 981248 981269 + TypeReference 981272 981281 + Identifier 981272 981281 + NumericLiteral 981282 981294 + Identifier 981295 981308 + BarBarToken 981310 981313 + Identifier 981313 981330 + FunctionDeclaration 981338 981561 + Identifier 981354 981382 + Parameter 981383 981404 + Identifier 981383 981395 + BooleanKeyword 981396 981404 + Block 981405 981561 + ReturnStatement 981407 981554 + BinaryExpression 981423 981553 + ParenthesizedExpression 981423 981533 + BinaryExpression 981425 981532 + Identifier 981425 981457 + BarBarEqualsToken 981457 981461 + CallExpression 981461 981532 + Identifier 981461 981475 + AsExpression 981476 981504 + StringLiteral 981476 981492 + TypeReference 981495 981504 + Identifier 981495 981504 + NumericLiteral 981505 981517 + Identifier 981518 981531 + BarBarToken 981533 981536 + Identifier 981536 981553 + FunctionDeclaration 981561 981766 + Identifier 981577 981599 + Parameter 981600 981621 + Identifier 981600 981612 + BooleanKeyword 981613 981621 + Block 981622 981766 + ReturnStatement 981624 981759 + BinaryExpression 981640 981758 + ParenthesizedExpression 981640 981738 + BinaryExpression 981642 981737 + Identifier 981642 981668 + BarBarEqualsToken 981668 981672 + CallExpression 981672 981737 + Identifier 981672 981686 + AsExpression 981687 981709 + StringLiteral 981687 981697 + TypeReference 981700 981709 + Identifier 981700 981709 + NumericLiteral 981710 981722 + Identifier 981723 981736 + BarBarToken 981738 981741 + Identifier 981741 981758 + FunctionDeclaration 981766 981971 + Identifier 981782 981804 + Parameter 981805 981826 + Identifier 981805 981817 + BooleanKeyword 981818 981826 + Block 981827 981971 + ReturnStatement 981829 981964 + BinaryExpression 981845 981963 + ParenthesizedExpression 981845 981943 + BinaryExpression 981847 981942 + Identifier 981847 981873 + BarBarEqualsToken 981873 981877 + CallExpression 981877 981942 + Identifier 981877 981891 + AsExpression 981892 981914 + StringLiteral 981892 981902 + TypeReference 981905 981914 + Identifier 981905 981914 + NumericLiteral 981915 981927 + Identifier 981928 981941 + BarBarToken 981943 981946 + Identifier 981946 981963 + FunctionDeclaration 981971 982200 + Identifier 981987 982017 + Parameter 982018 982039 + Identifier 982018 982030 + BooleanKeyword 982031 982039 + Block 982040 982200 + ReturnStatement 982042 982193 + BinaryExpression 982058 982192 + ParenthesizedExpression 982058 982172 + BinaryExpression 982060 982171 + Identifier 982060 982094 + BarBarEqualsToken 982094 982098 + CallExpression 982098 982171 + Identifier 982098 982112 + AsExpression 982113 982143 + StringLiteral 982113 982131 + TypeReference 982134 982143 + Identifier 982134 982143 + NumericLiteral 982144 982156 + Identifier 982157 982170 + BarBarToken 982172 982175 + Identifier 982175 982192 + FunctionDeclaration 982200 982327 + Identifier 982216 982245 + Block 982247 982327 + ReturnStatement 982249 982320 + ConditionalExpression 982265 982319 + Identifier 982265 982293 + QuestionToken 982293 982295 + Identifier 982295 982309 + ColonToken 982309 982311 + Identifier 982311 982319 + FunctionDeclaration 982327 982663 + Identifier 982343 982373 + Block 982375 982663 + ReturnStatement 982377 982656 + BinaryExpression 982524 982655 + Identifier 982524 982559 + QuestionQuestionEqualsToken 982559 982563 + CallExpression 982563 982655 + Identifier 982563 982585 + ArrayLiteralExpression 982586 982651 + StringLiteral 982587 982602 + StringLiteral 982603 982617 + StringLiteral 982618 982632 + StringLiteral 982633 982650 + NumericLiteral 982652 982654 + FunctionDeclaration 982663 982886 + Identifier 982679 982707 + Parameter 982708 982729 + Identifier 982708 982720 + BooleanKeyword 982721 982729 + Block 982730 982886 + ReturnStatement 982732 982879 + BinaryExpression 982748 982878 + ParenthesizedExpression 982748 982858 + BinaryExpression 982750 982857 + Identifier 982750 982782 + BarBarEqualsToken 982782 982786 + CallExpression 982786 982857 + Identifier 982786 982800 + AsExpression 982801 982829 + StringLiteral 982801 982817 + TypeReference 982820 982829 + Identifier 982820 982829 + NumericLiteral 982830 982842 + Identifier 982843 982856 + BarBarToken 982858 982861 + Identifier 982861 982878 + FunctionDeclaration 982886 983094 + Identifier 982902 982925 + Parameter 982926 982947 + Identifier 982926 982938 + BooleanKeyword 982939 982947 + Block 982948 983094 + ReturnStatement 982950 983087 + BinaryExpression 982966 983086 + ParenthesizedExpression 982966 983066 + BinaryExpression 982968 983065 + Identifier 982968 982995 + BarBarEqualsToken 982995 982999 + CallExpression 982999 983065 + Identifier 982999 983013 + AsExpression 983014 983037 + StringLiteral 983014 983025 + TypeReference 983028 983037 + Identifier 983028 983037 + NumericLiteral 983038 983050 + Identifier 983051 983064 + BarBarToken 983066 983069 + Identifier 983069 983086 + FunctionDeclaration 983094 983332 + Identifier 983110 983143 + Parameter 983144 983165 + Identifier 983144 983156 + BooleanKeyword 983157 983165 + Block 983166 983332 + ReturnStatement 983168 983325 + BinaryExpression 983184 983324 + ParenthesizedExpression 983184 983304 + BinaryExpression 983186 983303 + Identifier 983186 983223 + BarBarEqualsToken 983223 983227 + CallExpression 983227 983303 + Identifier 983227 983241 + AsExpression 983242 983275 + StringLiteral 983242 983263 + TypeReference 983266 983275 + Identifier 983266 983275 + NumericLiteral 983276 983288 + Identifier 983289 983302 + BarBarToken 983304 983307 + Identifier 983307 983324 + FunctionDeclaration 983332 983573 + Identifier 983348 983382 + Parameter 983383 983404 + Identifier 983383 983395 + BooleanKeyword 983396 983404 + Block 983405 983573 + ReturnStatement 983407 983566 + BinaryExpression 983423 983565 + ParenthesizedExpression 983423 983545 + BinaryExpression 983425 983544 + Identifier 983425 983463 + BarBarEqualsToken 983463 983467 + CallExpression 983467 983544 + Identifier 983467 983481 + AsExpression 983482 983516 + StringLiteral 983482 983504 + TypeReference 983507 983516 + Identifier 983507 983516 + NumericLiteral 983517 983529 + Identifier 983530 983543 + BarBarToken 983545 983548 + Identifier 983548 983565 + FunctionDeclaration 983573 983783 + Identifier 983589 983613 + Parameter 983614 983635 + Identifier 983614 983626 + BooleanKeyword 983627 983635 + Block 983636 983783 + ReturnStatement 983638 983776 + BinaryExpression 983654 983775 + ParenthesizedExpression 983654 983756 + BinaryExpression 983656 983755 + Identifier 983656 983684 + BarBarEqualsToken 983684 983688 + CallExpression 983688 983755 + Identifier 983688 983702 + AsExpression 983703 983727 + StringLiteral 983703 983715 + TypeReference 983718 983727 + Identifier 983718 983727 + NumericLiteral 983728 983740 + Identifier 983741 983754 + BarBarToken 983756 983759 + Identifier 983759 983775 + FunctionDeclaration 983783 984008 + Identifier 983799 983828 + Parameter 983829 983850 + Identifier 983829 983841 + BooleanKeyword 983842 983850 + Block 983851 984008 + ReturnStatement 983853 984001 + BinaryExpression 983869 984000 + ParenthesizedExpression 983869 983981 + BinaryExpression 983871 983980 + Identifier 983871 983904 + BarBarEqualsToken 983904 983908 + CallExpression 983908 983980 + Identifier 983908 983922 + AsExpression 983923 983952 + StringLiteral 983923 983940 + TypeReference 983943 983952 + Identifier 983943 983952 + NumericLiteral 983953 983965 + Identifier 983966 983979 + BarBarToken 983981 983984 + Identifier 983984 984000 + FunctionDeclaration 984008 984279 + Identifier 984024 984049 + Parameter 984050 984064 + Identifier 984050 984054 + TypeReference 984055 984064 + Identifier 984055 984064 + Parameter 984065 984075 + Identifier 984065 984071 + NumericLiteral 984073 984075 + UnionType 984077 984100 + TypeReference 984077 984088 + Identifier 984077 984088 + UndefinedKeyword 984090 984100 + Block 984100 984279 + VariableStatement 984102 984193 + VariableDeclarationList 984102 984192 + VariableDeclaration 984117 984192 + Identifier 984117 984124 + CallExpression 984126 984192 + Identifier 984126 984142 + Identifier 984143 984147 + PropertyAccessExpression 984148 984165 + Identifier 984148 984160 + Identifier 984161 984165 + Identifier 984166 984191 + ReturnStatement 984193 984272 + BinaryExpression 984209 984271 + Identifier 984209 984216 + AmpersandAmpersandToken 984216 984219 + AsExpression 984219 984271 + CallExpression 984219 984256 + Identifier 984219 984241 + Identifier 984242 984248 + Identifier 984249 984255 + TypeReference 984259 984271 + Identifier 984259 984271 + FunctionDeclaration 984279 984738 + Identifier 984295 984318 + UnionType 984321 984340 + TypeReference 984321 984328 + Identifier 984321 984328 + UndefinedKeyword 984330 984340 + Block 984340 984738 + ExpressionStatement 984342 984626 + BinaryExpression 984342 984625 + Identifier 984342 984520 + BarBarEqualsToken 984520 984524 + BinaryExpression 984524 984625 + CallExpression 984524 984608 + Identifier 984524 984549 + AsExpression 984550 984571 + StringLiteral 984550 984559 + TypeReference 984562 984571 + Identifier 984562 984571 + NumericLiteral 984572 984584 + TrueKeyword 984585 984607 + BarBarToken 984608 984611 + Identifier 984611 984625 + ReturnStatement 984626 984731 + ConditionalExpression 984642 984730 + BinaryExpression 984642 984688 + Identifier 984642 984670 + EqualsEqualsEqualsToken 984670 984674 + Identifier 984674 984688 + QuestionToken 984688 984690 + Identifier 984690 984700 + ColonToken 984700 984702 + Identifier 984702 984730 + FunctionDeclaration 984738 985182 + Identifier 984754 984774 + UnionType 984777 984796 + TypeReference 984777 984784 + Identifier 984777 984784 + UndefinedKeyword 984786 984796 + Block 984796 985182 + ExpressionStatement 984798 985076 + BinaryExpression 984798 985075 + Identifier 984798 984973 + BarBarEqualsToken 984973 984977 + BinaryExpression 984977 985075 + CallExpression 984977 985058 + Identifier 984977 985002 + AsExpression 985003 985021 + StringLiteral 985003 985009 + TypeReference 985012 985021 + Identifier 985012 985021 + NumericLiteral 985022 985034 + TrueKeyword 985035 985057 + BarBarToken 985058 985061 + Identifier 985061 985075 + ReturnStatement 985076 985175 + ConditionalExpression 985092 985174 + BinaryExpression 985092 985135 + Identifier 985092 985117 + EqualsEqualsEqualsToken 985117 985121 + Identifier 985121 985135 + QuestionToken 985135 985137 + Identifier 985137 985147 + ColonToken 985147 985149 + Identifier 985149 985174 + FunctionDeclaration 985182 985657 + Identifier 985198 985221 + Parameter 985222 985243 + Identifier 985222 985234 + BooleanKeyword 985235 985243 + UnionType 985245 985264 + TypeReference 985245 985252 + Identifier 985245 985252 + UndefinedKeyword 985254 985264 + Block 985264 985657 + ExpressionStatement 985266 985545 + BinaryExpression 985266 985544 + Identifier 985266 985419 + BarBarEqualsToken 985419 985423 + BinaryExpression 985423 985544 + CallExpression 985423 985498 + Identifier 985423 985448 + AsExpression 985449 985470 + StringLiteral 985449 985458 + TypeReference 985461 985470 + Identifier 985461 985470 + NumericLiteral 985471 985483 + Identifier 985484 985497 + BarBarToken 985498 985501 + ParenthesizedExpression 985501 985544 + ConditionalExpression 985503 985543 + Identifier 985503 985515 + QuestionToken 985515 985517 + Identifier 985517 985531 + ColonToken 985531 985533 + Identifier 985533 985543 + ReturnStatement 985545 985650 + ConditionalExpression 985561 985649 + BinaryExpression 985561 985607 + Identifier 985561 985589 + EqualsEqualsEqualsToken 985589 985593 + Identifier 985593 985607 + QuestionToken 985607 985609 + Identifier 985609 985619 + ColonToken 985619 985621 + Identifier 985621 985649 + FunctionDeclaration 985657 985844 + Identifier 985673 985693 + Block 985695 985844 + ReturnStatement 985697 985837 + BinaryExpression 985713 985836 + ParenthesizedExpression 985713 985817 + BinaryExpression 985715 985816 + Identifier 985715 985739 + BarBarEqualsToken 985739 985743 + CallExpression 985743 985816 + Identifier 985743 985757 + AsExpression 985758 985778 + StringLiteral 985758 985766 + TypeReference 985769 985778 + Identifier 985769 985778 + NumericLiteral 985779 985791 + FalseKeyword 985792 985815 + BarBarToken 985817 985820 + Identifier 985820 985836 + FunctionDeclaration 985844 986088 + Identifier 985860 985895 + Parameter 985896 985917 + Identifier 985896 985908 + BooleanKeyword 985909 985917 + Block 985918 986088 + ReturnStatement 985920 986081 + BinaryExpression 985936 986080 + ParenthesizedExpression 985936 986060 + BinaryExpression 985938 986059 + Identifier 985938 985977 + QuestionQuestionEqualsToken 985977 985981 + CallExpression 985981 986059 + Identifier 985981 985995 + AsExpression 985996 986031 + StringLiteral 985996 986019 + TypeReference 986022 986031 + Identifier 986022 986031 + NumericLiteral 986032 986044 + Identifier 986045 986058 + QuestionQuestionToken 986060 986063 + Identifier 986063 986080 + FunctionDeclaration 986088 986350 + Identifier 986104 986145 + Parameter 986146 986167 + Identifier 986146 986158 + BooleanKeyword 986159 986167 + Block 986168 986350 + ReturnStatement 986170 986343 + BinaryExpression 986186 986342 + ParenthesizedExpression 986186 986322 + BinaryExpression 986188 986321 + Identifier 986188 986233 + QuestionQuestionEqualsToken 986233 986237 + CallExpression 986237 986321 + Identifier 986237 986251 + AsExpression 986252 986293 + StringLiteral 986252 986281 + TypeReference 986284 986293 + Identifier 986284 986293 + NumericLiteral 986294 986306 + Identifier 986307 986320 + QuestionQuestionToken 986322 986325 + Identifier 986325 986342 + FunctionDeclaration 986350 986612 + Identifier 986366 986407 + Parameter 986408 986429 + Identifier 986408 986420 + BooleanKeyword 986421 986429 + Block 986430 986612 + ReturnStatement 986432 986605 + BinaryExpression 986448 986604 + ParenthesizedExpression 986448 986584 + BinaryExpression 986450 986583 + Identifier 986450 986495 + QuestionQuestionEqualsToken 986495 986499 + CallExpression 986499 986583 + Identifier 986499 986513 + AsExpression 986514 986555 + StringLiteral 986514 986543 + TypeReference 986546 986555 + Identifier 986546 986555 + NumericLiteral 986556 986568 + Identifier 986569 986582 + QuestionQuestionToken 986584 986587 + Identifier 986587 986604 + FunctionDeclaration 986612 986874 + Identifier 986628 986669 + Parameter 986670 986691 + Identifier 986670 986682 + BooleanKeyword 986683 986691 + Block 986692 986874 + ReturnStatement 986694 986867 + BinaryExpression 986710 986866 + ParenthesizedExpression 986710 986846 + BinaryExpression 986712 986845 + Identifier 986712 986757 + QuestionQuestionEqualsToken 986757 986761 + CallExpression 986761 986845 + Identifier 986761 986775 + AsExpression 986776 986817 + StringLiteral 986776 986805 + TypeReference 986808 986817 + Identifier 986808 986817 + NumericLiteral 986818 986830 + Identifier 986831 986844 + QuestionQuestionToken 986846 986849 + Identifier 986849 986866 + FunctionDeclaration 986874 987142 + Identifier 986890 986933 + Parameter 986934 986955 + Identifier 986934 986946 + BooleanKeyword 986947 986955 + Block 986956 987142 + ReturnStatement 986958 987135 + BinaryExpression 986974 987134 + ParenthesizedExpression 986974 987114 + BinaryExpression 986976 987113 + Identifier 986976 987023 + QuestionQuestionEqualsToken 987023 987027 + CallExpression 987027 987113 + Identifier 987027 987041 + AsExpression 987042 987085 + StringLiteral 987042 987073 + TypeReference 987076 987085 + Identifier 987076 987085 + NumericLiteral 987086 987098 + Identifier 987099 987112 + QuestionQuestionToken 987114 987117 + Identifier 987117 987134 + FunctionDeclaration 987142 987407 + Identifier 987158 987200 + Parameter 987201 987222 + Identifier 987201 987213 + BooleanKeyword 987214 987222 + Block 987223 987407 + ReturnStatement 987225 987400 + BinaryExpression 987241 987399 + ParenthesizedExpression 987241 987379 + BinaryExpression 987243 987378 + Identifier 987243 987289 + QuestionQuestionEqualsToken 987289 987293 + CallExpression 987293 987378 + Identifier 987293 987307 + AsExpression 987308 987350 + StringLiteral 987308 987338 + TypeReference 987341 987350 + Identifier 987341 987350 + NumericLiteral 987351 987363 + Identifier 987364 987377 + QuestionQuestionToken 987379 987382 + Identifier 987382 987399 + FunctionDeclaration 987407 987672 + Identifier 987423 987465 + Parameter 987466 987487 + Identifier 987466 987478 + BooleanKeyword 987479 987487 + Block 987488 987672 + ReturnStatement 987490 987665 + BinaryExpression 987506 987664 + ParenthesizedExpression 987506 987644 + BinaryExpression 987508 987643 + Identifier 987508 987554 + QuestionQuestionEqualsToken 987554 987558 + CallExpression 987558 987643 + Identifier 987558 987572 + AsExpression 987573 987615 + StringLiteral 987573 987603 + TypeReference 987606 987615 + Identifier 987606 987615 + NumericLiteral 987616 987628 + Identifier 987629 987642 + QuestionQuestionToken 987644 987647 + Identifier 987647 987664 + FunctionDeclaration 987672 987931 + Identifier 987688 987728 + Parameter 987729 987750 + Identifier 987729 987741 + BooleanKeyword 987742 987750 + Block 987751 987931 + ReturnStatement 987753 987924 + BinaryExpression 987769 987923 + ParenthesizedExpression 987769 987903 + BinaryExpression 987771 987902 + Identifier 987771 987815 + QuestionQuestionEqualsToken 987815 987819 + CallExpression 987819 987902 + Identifier 987819 987833 + AsExpression 987834 987874 + StringLiteral 987834 987862 + TypeReference 987865 987874 + Identifier 987865 987874 + NumericLiteral 987875 987887 + Identifier 987888 987901 + QuestionQuestionToken 987903 987906 + Identifier 987906 987923 + FunctionDeclaration 987931 988108 + Identifier 987947 987966 + UnionType 987969 987988 + TypeReference 987969 987976 + Identifier 987969 987976 + UndefinedKeyword 987978 987988 + Block 987988 988108 + ReturnStatement 987990 988101 + ParenthesizedExpression 988006 988100 + BinaryExpression 988008 988099 + Identifier 988008 988031 + BarBarEqualsToken 988031 988035 + CallExpression 988035 988099 + Identifier 988035 988056 + AsExpression 988057 988074 + StringLiteral 988057 988062 + TypeReference 988065 988074 + Identifier 988065 988074 + FalseKeyword 988075 988098 + FunctionDeclaration 988108 988421 + Identifier 988124 988146 + UnionType 988149 988168 + TypeReference 988149 988156 + Identifier 988149 988156 + UndefinedKeyword 988158 988168 + Block 988168 988421 + ExpressionStatement 988170 988311 + BinaryExpression 988170 988310 + Identifier 988170 988206 + BarBarEqualsToken 988206 988210 + BinaryExpression 988210 988310 + CallExpression 988210 988293 + Identifier 988210 988235 + AsExpression 988236 988256 + StringLiteral 988236 988244 + TypeReference 988247 988256 + Identifier 988247 988256 + NumericLiteral 988257 988269 + TrueKeyword 988270 988292 + BarBarToken 988293 988296 + Identifier 988296 988310 + ReturnStatement 988311 988414 + ConditionalExpression 988327 988413 + BinaryExpression 988327 988372 + Identifier 988327 988354 + EqualsEqualsEqualsToken 988354 988358 + Identifier 988358 988372 + QuestionToken 988372 988374 + Identifier 988374 988384 + ColonToken 988384 988386 + Identifier 988386 988413 + FunctionDeclaration 988421 988809 + Identifier 988562 988594 + Parameter 988595 988625 + Identifier 988595 988612 + TypeReference 988613 988625 + Identifier 988613 988625 + Parameter 988626 988657 + Identifier 988626 988640 + TypeOperator 988641 988657 + ArrayType 988650 988657 + TypeReference 988650 988655 + Identifier 988650 988655 + TypeReference 988659 988670 + Identifier 988659 988670 + Block 988670 988809 + ReturnStatement 988672 988802 + ConditionalExpression 988688 988801 + BinaryExpression 988688 988727 + Identifier 988688 988706 + ExclamationEqualsEqualsToken 988706 988710 + Identifier 988710 988727 + QuestionToken 988727 988729 + CallExpression 988729 988783 + Identifier 988729 988749 + Identifier 988750 988767 + Identifier 988768 988782 + ColonToken 988783 988785 + Identifier 988785 988801 + FunctionDeclaration 988809 988999 + Identifier 988825 988859 + Parameter 988860 988878 + Identifier 988860 988872 + TypeReference 988873 988878 + Identifier 988873 988878 + TypeReference 988880 988885 + Identifier 988880 988885 + Block 988885 988999 + ReturnStatement 988887 988992 + CallExpression 988903 988991 + Identifier 988903 988935 + CallExpression 988936 988974 + Identifier 988936 988972 + ArrayLiteralExpression 988975 988990 + Identifier 988977 988989 + FunctionDeclaration 988999 989205 + Identifier 989015 989034 + Parameter 989035 989053 + Identifier 989035 989047 + TypeReference 989048 989053 + Identifier 989048 989053 + TypeReference 989055 989060 + Identifier 989055 989060 + Block 989060 989205 + ReturnStatement 989062 989198 + CallExpression 989078 989197 + Identifier 989078 989110 + CallExpression 989111 989155 + Identifier 989111 989132 + TrueKeyword 989133 989154 + ArrayLiteralExpression 989156 989196 + Identifier 989158 989170 + Identifier 989171 989180 + Identifier 989181 989195 + FunctionDeclaration 989205 989415 + Identifier 989221 989237 + Parameter 989238 989255 + Identifier 989238 989249 + TypeReference 989250 989255 + Identifier 989250 989255 + Parameter 989256 989275 + Identifier 989256 989265 + QuestionToken 989265 989266 + BooleanKeyword 989267 989275 + TypeReference 989277 989288 + Identifier 989277 989288 + Block 989288 989415 + ReturnStatement 989290 989408 + CallExpression 989306 989407 + Identifier 989306 989338 + ConditionalExpression 989339 989391 + Identifier 989339 989347 + QuestionToken 989347 989349 + Identifier 989349 989373 + ColonToken 989373 989375 + Identifier 989375 989391 + ArrayLiteralExpression 989392 989406 + Identifier 989394 989405 + FunctionDeclaration 989415 990086 + Identifier 989431 989452 + Parameter 989453 989467 + Identifier 989453 989457 + TypeReference 989458 989467 + Identifier 989458 989467 + Block 989468 990086 + SwitchStatement 989470 990079 + PropertyAccessExpression 989488 989497 + Identifier 989488 989492 + Identifier 989493 989497 + CaseBlock 989498 990079 + CaseClause 989500 989590 + PropertyAccessExpression 989518 989542 + Identifier 989518 989529 + Identifier 989530 989542 + ReturnStatement 989543 989590 + PropertyAccessExpression 989567 989589 + Identifier 989567 989580 + Identifier 989581 989589 + CaseClause 989590 989700 + PropertyAccessExpression 989608 989628 + Identifier 989608 989619 + Identifier 989620 989628 + ReturnStatement 989629 989700 + CallExpression 989653 989699 + Identifier 989653 989677 + AsExpression 989678 989698 + Identifier 989678 989682 + TypeReference 989685 989698 + Identifier 989685 989698 + CaseClause 989700 989999 + PropertyAccessExpression 989718 989746 + Identifier 989718 989729 + Identifier 989730 989746 + ReturnStatement 989747 989999 + ConditionalExpression 989771 989998 + PropertyAccessExpression 989771 989812 + ParenthesizedExpression 989771 989798 + AsExpression 989773 989797 + Identifier 989773 989777 + TypeReference 989780 989797 + Identifier 989780 989797 + Identifier 989799 989812 + QuestionToken 989812 989814 + PropertyAccessExpression 989814 989836 + Identifier 989814 989827 + Identifier 989828 989836 + ColonToken 989836 989838 + ConditionalExpression 989838 989998 + PropertyAccessExpression 989838 989901 + ParenthesizedExpression 989838 989886 + AsExpression 989861 989885 + Identifier 989861 989865 + TypeReference 989868 989885 + Identifier 989868 989885 + Identifier 989887 989901 + QuestionToken 989901 989903 + CallExpression 989903 989953 + Identifier 989903 989927 + AsExpression 989928 989952 + Identifier 989928 989932 + TypeReference 989935 989952 + Identifier 989935 989952 + ColonToken 989953 989955 + PropertyAccessExpression 989955 989998 + Identifier 989955 989989 + Identifier 989990 989998 + DefaultClause 989999 990068 + ReturnStatement 990021 990068 + PropertyAccessExpression 990045 990067 + Identifier 990045 990058 + Identifier 990059 990067 + FunctionDeclaration 990086 990270 + Identifier 990102 990126 + Parameter 990127 990164 + Identifier 990127 990131 + UnionType 990132 990164 + TypeReference 990132 990145 + Identifier 990132 990145 + TypeReference 990147 990164 + Identifier 990147 990164 + Block 990165 990270 + ReturnStatement 990167 990263 + ConditionalExpression 990183 990262 + CallExpression 990183 990218 + Identifier 990183 990207 + PropertyAccessExpression 990208 990217 + Identifier 990208 990212 + Identifier 990213 990217 + QuestionToken 990218 990220 + PropertyAccessExpression 990220 990238 + Identifier 990220 990233 + Identifier 990234 990238 + ColonToken 990238 990240 + PropertyAccessExpression 990240 990262 + Identifier 990240 990253 + Identifier 990254 990262 + FunctionDeclaration 990270 990832 + Identifier 990286 990312 + Parameter 990313 990348 + Identifier 990313 990317 + UnionType 990318 990348 + TypeReference 990318 990332 + Identifier 990318 990332 + TypeReference 990334 990348 + Identifier 990334 990348 + TypeReference 990350 990362 + Identifier 990350 990362 + Block 990362 990832 + VariableStatement 990364 990427 + VariableDeclarationList 990364 990426 + VariableDeclaration 990379 990426 + Identifier 990379 990388 + CallExpression 990390 990426 + Identifier 990390 990413 + PropertyAccessExpression 990414 990425 + Identifier 990414 990418 + Identifier 990419 990425 + VariableStatement 990427 990487 + VariableDeclarationList 990427 990486 + VariableDeclaration 990442 990486 + Identifier 990442 990454 + CallExpression 990456 990486 + Identifier 990456 990480 + Identifier 990481 990485 + IfStatement 990487 990600 + Identifier 990501 990512 + Block 990513 990600 + ReturnStatement 990515 990589 + ConditionalExpression 990535 990588 + Identifier 990535 990544 + QuestionToken 990544 990546 + Identifier 990546 990570 + ColonToken 990570 990572 + Identifier 990572 990588 + VariableStatement 990600 990691 + VariableDeclarationList 990600 990690 + VariableDeclaration 990615 990690 + Identifier 990615 990628 + CallExpression 990630 990690 + Identifier 990630 990634 + PropertyAccessExpression 990635 990667 + ParenthesizedExpression 990635 990658 + AsExpression 990636 990657 + Identifier 990636 990640 + TypeReference 990643 990657 + Identifier 990643 990657 + Identifier 990659 990667 + Identifier 990668 990689 + ReturnStatement 990691 990825 + CallExpression 990707 990824 + Identifier 990707 990726 + Identifier 990727 990739 + Identifier 990740 990749 + CallExpression 990750 990823 + Identifier 990750 990754 + PropertyAccessExpression 990755 990787 + ParenthesizedExpression 990755 990778 + AsExpression 990756 990777 + Identifier 990756 990760 + TypeReference 990763 990777 + Identifier 990763 990777 + Identifier 990779 990787 + Identifier 990788 990822 + FunctionDeclaration 990832 991046 + Identifier 990848 990882 + Parameter 990883 990895 + Identifier 990883 990889 + TypeReference 990890 990895 + Identifier 990890 990895 + UnionType 990897 990949 + TypeReference 990897 990914 + Identifier 990897 990914 + TypeReference 990916 990937 + Identifier 990916 990937 + UndefinedKeyword 990939 990949 + Block 990949 991046 + ReturnStatement 990951 991039 + ConditionalExpression 990967 991038 + BinaryExpression 990967 991017 + CallExpression 990967 990994 + Identifier 990967 990986 + Identifier 990987 990993 + BarBarToken 990994 990997 + CallExpression 990997 991017 + Identifier 990997 991009 + Identifier 991010 991016 + QuestionToken 991017 991019 + Identifier 991019 991026 + ColonToken 991026 991028 + Identifier 991028 991038 + FunctionDeclaration 991046 991789 + Identifier 991253 991281 + Parameter 991282 991337 + Identifier 991282 991286 + UnionType 991287 991337 + TypeReference 991287 991305 + Identifier 991287 991305 + TypeReference 991307 991321 + Identifier 991307 991321 + TypeReference 991323 991337 + Identifier 991323 991337 + Parameter 991338 991372 + Identifier 991338 991362 + QuestionToken 991362 991363 + BooleanKeyword 991364 991372 + Block 991373 991789 + ReturnStatement 991375 991782 + BinaryExpression 991391 991781 + PrefixUnaryExpression 991391 991425 + PrefixUnaryExpression 991393 991425 + CallExpression 991394 991425 + Identifier 991394 991419 + Identifier 991420 991424 + BarBarToken 991425 991428 + BinaryExpression 991428 991781 + CallExpression 991428 991456 + Identifier 991428 991450 + Identifier 991451 991455 + AmpersandAmpersandToken 991456 991459 + ParenthesizedExpression 991459 991781 + ConditionalExpression 991461 991762 + BinaryExpression 991461 991517 + PropertyAccessExpression 991461 991492 + Identifier 991461 991487 + Identifier 991488 991492 + EqualsEqualsEqualsToken 991492 991496 + PropertyAccessExpression 991496 991517 + Identifier 991496 991507 + Identifier 991508 991517 + QuestionToken 991517 991519 + CallExpression 991519 991557 + Identifier 991519 991539 + PropertyAccessExpression 991540 991556 + Identifier 991540 991544 + Identifier 991545 991556 + ColonToken 991557 991559 + ConditionalExpression 991559 991762 + BinaryExpression 991559 991619 + PropertyAccessExpression 991559 991594 + Identifier 991559 991589 + Identifier 991590 991594 + EqualsEqualsEqualsToken 991594 991598 + PropertyAccessExpression 991598 991619 + Identifier 991598 991609 + Identifier 991610 991619 + QuestionToken 991619 991621 + CallExpression 991621 991662 + Identifier 991621 991626 + PropertyAccessExpression 991627 991640 + Identifier 991627 991631 + Identifier 991632 991640 + Identifier 991641 991661 + ColonToken 991662 991664 + BinaryExpression 991664 991762 + Identifier 991664 991713 + BarBarToken 991713 991716 + CallExpression 991716 991762 + Identifier 991716 991721 + PropertyAccessExpression 991722 991740 + Identifier 991722 991726 + Identifier 991727 991740 + Identifier 991741 991761 + FunctionDeclaration 991789 992783 + Identifier 992049 992071 + Parameter 992072 992082 + Identifier 992072 992076 + TypeReference 992077 992082 + Identifier 992077 992082 + BooleanKeyword 992084 992092 + Block 992092 992783 + VariableStatement 992094 992131 + VariableDeclarationList 992094 992130 + VariableDeclaration 992109 992130 + Identifier 992109 992116 + PropertyAccessExpression 992118 992130 + Identifier 992118 992123 + Identifier 992124 992130 + SwitchStatement 992131 992753 + PropertyAccessExpression 992149 992160 + Identifier 992149 992155 + Identifier 992156 992160 + CaseBlock 992161 992753 + CaseClause 992163 992211 + PropertyAccessExpression 992181 992210 + Identifier 992181 992192 + Identifier 992193 992210 + CaseClause 992211 992258 + PropertyAccessExpression 992229 992257 + Identifier 992229 992240 + Identifier 992241 992257 + CaseClause 992258 992302 + PropertyAccessExpression 992276 992301 + Identifier 992276 992287 + Identifier 992288 992301 + CaseClause 992302 992342 + PropertyAccessExpression 992320 992341 + Identifier 992320 992331 + Identifier 992332 992341 + CaseClause 992342 992389 + PropertyAccessExpression 992360 992388 + Identifier 992360 992371 + Identifier 992372 992388 + CaseClause 992389 992437 + PropertyAccessExpression 992407 992436 + Identifier 992407 992418 + Identifier 992419 992436 + CaseClause 992437 992483 + PropertyAccessExpression 992455 992482 + Identifier 992455 992466 + Identifier 992467 992482 + CaseClause 992483 992526 + PropertyAccessExpression 992501 992525 + Identifier 992501 992512 + Identifier 992513 992525 + CaseClause 992526 992566 + PropertyAccessExpression 992544 992565 + Identifier 992544 992555 + Identifier 992556 992565 + CaseClause 992566 992661 + PropertyAccessExpression 992584 992605 + Identifier 992584 992595 + Identifier 992596 992605 + ReturnStatement 992606 992661 + CallExpression 992630 992660 + Identifier 992630 992652 + Identifier 992653 992659 + CaseClause 992661 992742 + PropertyAccessExpression 992679 992711 + Identifier 992679 992690 + Identifier 992691 992711 + ReturnStatement 992712 992742 + TrueKeyword 992736 992741 + ReturnStatement 992753 992776 + FalseKeyword 992769 992775 + FunctionDeclaration 992783 994922 + Identifier 992926 992946 + Parameter 992947 992957 + Identifier 992947 992951 + TypeReference 992952 992957 + Identifier 992952 992957 + BooleanKeyword 992959 992967 + Block 992967 994922 + SwitchStatement 992969 994892 + PropertyAccessExpression 992987 992996 + Identifier 992987 992991 + Identifier 992992 992996 + CaseBlock 992997 994892 + CaseClause 992999 993202 + PropertyAccessExpression 993017 993042 + Identifier 993017 993028 + Identifier 993029 993042 + ReturnStatement 993043 993202 + BinaryExpression 993067 993201 + CallExpression 993067 993094 + Identifier 993067 993088 + Identifier 993089 993093 + BarBarToken 993094 993097 + PrefixUnaryExpression 993097 993201 + PrefixUnaryExpression 993099 993201 + ParenthesizedExpression 993100 993201 + BinaryExpression 993101 993200 + PropertyAccessExpression 993101 993176 + CallExpression 993101 993170 + Identifier 993101 993125 + AsExpression 993126 993151 + Identifier 993126 993130 + TypeReference 993133 993151 + Identifier 993133 993151 + PropertyAccessExpression 993152 993169 + Identifier 993152 993164 + Identifier 993165 993169 + Identifier 993171 993176 + AmpersandToken 993176 993178 + PropertyAccessExpression 993178 993200 + Identifier 993178 993190 + Identifier 993191 993200 + CaseClause 993202 993272 + PropertyAccessExpression 993220 993241 + Identifier 993220 993231 + Identifier 993232 993241 + ReturnStatement 993242 993272 + TrueKeyword 993266 993271 + CaseClause 993272 993461 + PropertyAccessExpression 993290 993314 + Identifier 993290 993301 + Identifier 993302 993314 + ReturnStatement 993315 993461 + BinaryExpression 993339 993460 + BinaryExpression 993339 993404 + PropertyAccessExpression 993339 993375 + ParenthesizedExpression 993339 993366 + AsExpression 993341 993365 + Identifier 993341 993345 + TypeReference 993348 993365 + Identifier 993348 993365 + Identifier 993367 993375 + ExclamationEqualsEqualsToken 993375 993379 + PropertyAccessExpression 993379 993404 + Identifier 993379 993390 + Identifier 993391 993404 + AmpersandAmpersandToken 993404 993407 + CallExpression 993407 993460 + Identifier 993407 993427 + PropertyAccessExpression 993428 993459 + ParenthesizedExpression 993428 993454 + AsExpression 993429 993453 + Identifier 993429 993433 + TypeReference 993436 993453 + Identifier 993436 993453 + Identifier 993455 993459 + CaseClause 993461 993509 + PropertyAccessExpression 993479 993508 + Identifier 993479 993490 + Identifier 993491 993508 + CaseClause 993509 993552 + PropertyAccessExpression 993527 993551 + Identifier 993527 993538 + Identifier 993539 993551 + CaseClause 993552 993599 + PropertyAccessExpression 993570 993598 + Identifier 993570 993581 + Identifier 993582 993598 + CaseClause 993599 993647 + PropertyAccessExpression 993617 993646 + Identifier 993617 993628 + Identifier 993629 993646 + CaseClause 993647 993695 + PropertyAccessExpression 993665 993694 + Identifier 993665 993676 + Identifier 993677 993694 + CaseClause 993695 993746 + PropertyAccessExpression 993713 993745 + Identifier 993713 993724 + Identifier 993725 993745 + CaseClause 993746 993944 + PropertyAccessExpression 993764 993795 + Identifier 993764 993775 + Identifier 993776 993795 + ReturnStatement 993796 993944 + CallExpression 993820 993943 + Identifier 993820 993840 + PropertyAccessExpression 993841 993942 + ParenthesizedExpression 993841 993937 + AsExpression 993842 993936 + Identifier 993842 993846 + UnionType 993849 993936 + TypeReference 993849 993871 + Identifier 993849 993871 + TypeReference 993873 993890 + Identifier 993873 993890 + TypeReference 993892 993917 + Identifier 993892 993917 + TypeReference 993919 993936 + Identifier 993919 993936 + Identifier 993938 993942 + CaseClause 993944 994149 + PropertyAccessExpression 993962 993982 + Identifier 993962 993973 + Identifier 993974 993982 + ReturnStatement 993983 994149 + BinaryExpression 994007 994148 + BinaryExpression 994007 994065 + PropertyAccessExpression 994007 994040 + PropertyAccessExpression 994007 994035 + ParenthesizedExpression 994007 994030 + AsExpression 994009 994029 + Identifier 994009 994013 + TypeReference 994016 994029 + Identifier 994016 994029 + Identifier 994031 994035 + Identifier 994036 994040 + ExclamationEqualsEqualsToken 994040 994044 + PropertyAccessExpression 994044 994065 + Identifier 994044 994055 + Identifier 994056 994065 + BarBarToken 994065 994068 + CallExpression 994068 994148 + Identifier 994068 994088 + PropertyAccessExpression 994089 994147 + ParenthesizedExpression 994089 994135 + AsExpression 994090 994134 + PropertyAccessExpression 994090 994117 + ParenthesizedExpression 994090 994112 + AsExpression 994091 994111 + Identifier 994091 994095 + TypeReference 994098 994111 + Identifier 994098 994111 + Identifier 994113 994117 + TypeReference 994120 994134 + Identifier 994120 994134 + Identifier 994136 994147 + CaseClause 994149 994189 + PropertyAccessExpression 994167 994188 + Identifier 994167 994178 + Identifier 994179 994188 + CaseClause 994189 994332 + PropertyAccessExpression 994207 994235 + Identifier 994207 994218 + Identifier 994219 994235 + ReturnStatement 994236 994332 + CallExpression 994260 994331 + Identifier 994260 994265 + PropertyAccessExpression 994266 994309 + ParenthesizedExpression 994266 994303 + AsExpression 994267 994302 + Identifier 994267 994271 + TypeReference 994274 994302 + Identifier 994274 994302 + Identifier 994304 994309 + Identifier 994310 994330 + CaseClause 994332 994535 + PropertyAccessExpression 994350 994379 + Identifier 994350 994361 + Identifier 994362 994379 + ReturnStatement 994380 994535 + BinaryExpression 994404 994534 + CallExpression 994404 994468 + Identifier 994404 994424 + PropertyAccessExpression 994425 994467 + ParenthesizedExpression 994425 994456 + AsExpression 994426 994455 + Identifier 994426 994430 + TypeReference 994433 994455 + Identifier 994433 994455 + Identifier 994457 994467 + BarBarToken 994468 994471 + CallExpression 994471 994534 + Identifier 994471 994491 + PropertyAccessExpression 994492 994533 + ParenthesizedExpression 994492 994523 + AsExpression 994493 994522 + Identifier 994493 994497 + TypeReference 994500 994522 + Identifier 994500 994522 + Identifier 994524 994533 + CaseClause 994535 994881 + PropertyAccessExpression 994553 994580 + Identifier 994553 994564 + Identifier 994565 994580 + ReturnStatement 994581 994881 + BinaryExpression 994605 994880 + BinaryExpression 994605 994816 + BinaryExpression 994605 994732 + CallExpression 994605 994666 + Identifier 994605 994625 + PropertyAccessExpression 994626 994665 + ParenthesizedExpression 994626 994655 + AsExpression 994627 994654 + Identifier 994627 994631 + TypeReference 994634 994654 + Identifier 994634 994654 + Identifier 994656 994665 + BarBarToken 994666 994669 + CallExpression 994669 994732 + Identifier 994669 994689 + PropertyAccessExpression 994690 994731 + ParenthesizedExpression 994690 994719 + AsExpression 994691 994718 + Identifier 994691 994695 + TypeReference 994698 994718 + Identifier 994698 994718 + Identifier 994720 994731 + BarBarToken 994732 994735 + CallExpression 994735 994816 + Identifier 994735 994776 + PropertyAccessExpression 994777 994815 + ParenthesizedExpression 994777 994806 + AsExpression 994778 994805 + Identifier 994778 994782 + TypeReference 994785 994805 + Identifier 994785 994805 + Identifier 994807 994815 + BarBarToken 994816 994819 + CallExpression 994819 994880 + Identifier 994819 994839 + PropertyAccessExpression 994840 994879 + ParenthesizedExpression 994840 994869 + AsExpression 994841 994868 + Identifier 994841 994845 + TypeReference 994848 994868 + Identifier 994848 994868 + Identifier 994870 994879 + ReturnStatement 994892 994915 + FalseKeyword 994908 994914 + FunctionDeclaration 994922 996007 + Identifier 994938 994970 + Parameter 994971 995006 + Identifier 994971 994975 + UnionType 994976 995006 + TypeReference 994976 994990 + Identifier 994976 994990 + TypeReference 994992 995006 + Identifier 994992 995006 + TypeReference 995008 995013 + Identifier 995008 995013 + Block 995013 996007 + VariableStatement 995015 995058 + VariableDeclarationList 995015 995057 + VariableDeclaration 995030 995057 + Identifier 995030 995036 + CallExpression 995038 995057 + Identifier 995038 995051 + Identifier 995052 995056 + IfStatement 995058 995964 + PrefixUnaryExpression 995072 995091 + PropertyAccessExpression 995073 995091 + Identifier 995073 995078 + Identifier 995079 995091 + Block 995092 995964 + VariableStatement 995094 995155 + VariableDeclarationList 995094 995154 + VariableDeclaration 995113 995154 + Identifier 995113 995120 + CallExpression 995122 995154 + Identifier 995122 995148 + Identifier 995149 995153 + IfStatement 995155 995953 + BinaryExpression 995173 995200 + Identifier 995173 995179 + EqualsEqualsEqualsToken 995179 995183 + Identifier 995183 995200 + Block 995201 995273 + ExpressionStatement 995203 995258 + BinaryExpression 995203 995257 + PropertyAccessExpression 995203 995239 + Identifier 995203 995226 + Identifier 995227 995239 + EqualsToken 995239 995241 + Identifier 995241 995257 + IfStatement 995291 995953 + BinaryExpression 995296 995451 + PrefixUnaryExpression 995296 995414 + ParenthesizedExpression 995297 995414 + BinaryExpression 995298 995413 + BinaryExpression 995298 995332 + PropertyAccessExpression 995298 995307 + Identifier 995298 995302 + Identifier 995303 995307 + EqualsEqualsEqualsToken 995307 995311 + PropertyAccessExpression 995311 995332 + Identifier 995311 995322 + Identifier 995323 995332 + AmpersandAmpersandToken 995332 995335 + CallExpression 995335 995413 + Identifier 995335 995340 + PropertyAccessExpression 995341 995354 + Identifier 995341 995345 + Identifier 995346 995354 + ArrowFunction 995355 995412 + Parameter 995355 995357 + Identifier 995355 995357 + EqualsGreaterThanToken 995357 995360 + PrefixUnaryExpression 995360 995412 + PrefixUnaryExpression 995362 995412 + ParenthesizedExpression 995363 995412 + BinaryExpression 995364 995411 + CallExpression 995364 995387 + Identifier 995364 995384 + Identifier 995385 995386 + AmpersandToken 995387 995389 + PropertyAccessExpression 995389 995411 + Identifier 995389 995402 + Identifier 995403 995411 + AmpersandAmpersandToken 995414 995417 + CallExpression 995417 995451 + Identifier 995417 995445 + Identifier 995446 995450 + Block 995452 995669 + ExpressionStatement 995454 995654 + BinaryExpression 995454 995653 + PropertyAccessExpression 995454 995490 + Identifier 995454 995477 + Identifier 995478 995490 + EqualsToken 995490 995492 + ConditionalExpression 995492 995653 + BinaryExpression 995492 995557 + BinaryExpression 995492 995527 + PropertyAccessExpression 995492 995502 + Identifier 995492 995497 + Identifier 995498 995502 + EqualsEqualsEqualsToken 995502 995506 + PropertyAccessExpression 995506 995527 + Identifier 995506 995517 + Identifier 995518 995527 + AmpersandAmpersandToken 995527 995530 + BinaryExpression 995530 995557 + PropertyAccessExpression 995530 995551 + PropertyAccessExpression 995530 995544 + Identifier 995530 995535 + Identifier 995536 995544 + Identifier 995545 995551 + EqualsEqualsEqualsToken 995551 995555 + NumericLiteral 995555 995557 + QuestionToken 995557 995559 + Identifier 995559 995566 + ColonToken 995566 995568 + CallExpression 995568 995653 + Identifier 995568 995617 + Identifier 995618 995624 + Identifier 995625 995630 + Identifier 995631 995652 + Block 995687 995953 + VariableStatement 995689 995847 + VariableDeclarationList 995689 995846 + VariableDeclaration 995712 995846 + Identifier 995712 995725 + ConditionalExpression 995727 995846 + BinaryExpression 995727 995762 + PropertyAccessExpression 995727 995737 + Identifier 995727 995732 + Identifier 995733 995737 + EqualsEqualsEqualsToken 995737 995741 + PropertyAccessExpression 995741 995762 + Identifier 995741 995752 + Identifier 995753 995762 + QuestionToken 995762 995764 + ArrayLiteralExpression 995764 995804 + CallExpression 995766 995803 + Identifier 995766 995785 + PropertyAccessExpression 995786 995802 + Identifier 995786 995790 + Identifier 995791 995802 + ColonToken 995804 995806 + CallExpression 995806 995846 + Identifier 995806 995810 + PropertyAccessExpression 995811 995824 + Identifier 995811 995815 + Identifier 995816 995824 + Identifier 995825 995845 + ExpressionStatement 995847 995938 + BinaryExpression 995847 995937 + PropertyAccessExpression 995847 995883 + Identifier 995847 995870 + Identifier 995871 995883 + EqualsToken 995883 995885 + CallExpression 995885 995937 + Identifier 995885 995915 + Identifier 995916 995922 + Identifier 995923 995936 + ReturnStatement 995964 996000 + PropertyAccessExpression 995980 995999 + Identifier 995980 995986 + Identifier 995987 995999 + FunctionDeclaration 996007 996157 + Identifier 996023 996046 + Parameter 996047 996057 + Identifier 996047 996051 + TypeReference 996052 996057 + Identifier 996052 996057 + Block 996058 996157 + ReturnStatement 996060 996150 + BinaryExpression 996076 996149 + CallExpression 996076 996101 + Identifier 996076 996095 + Identifier 996096 996100 + AmpersandAmpersandToken 996101 996104 + BinaryExpression 996104 996149 + PropertyAccessExpression 996104 996118 + Identifier 996104 996109 + Identifier 996110 996118 + EqualsEqualsEqualsToken 996118 996122 + PropertyAccessExpression 996122 996149 + Identifier 996122 996133 + Identifier 996134 996149 + FunctionDeclaration 996157 996719 + Identifier 996173 996189 + Parameter 996190 996219 + Identifier 996190 996202 + TypeOperator 996203 996219 + ArrayType 996212 996219 + TypeReference 996212 996217 + Identifier 996212 996217 + Parameter 996220 996259 + Identifier 996220 996233 + QuestionToken 996233 996234 + TypeOperator 996235 996259 + ArrayType 996244 996259 + TypeReference 996244 996257 + Identifier 996244 996257 + Parameter 996260 996277 + Identifier 996260 996269 + FalseKeyword 996271 996277 + Parameter 996278 996373 + Identifier 996278 996302 + TypeOperator 996303 996368 + ArrayType 996312 996368 + ParenthesizedType 996312 996366 + UnionType 996314 996365 + TypeReference 996314 996330 + Identifier 996314 996330 + TypeReference 996332 996353 + Identifier 996332 996353 + UndefinedKeyword 996355 996365 + ArrayLiteralExpression 996370 996373 + Block 996374 996719 + VariableStatement 996376 996523 + VariableDeclarationList 996376 996522 + VariableDeclaration 996391 996522 + Identifier 996391 996403 + CallExpression 996405 996522 + Identifier 996405 996424 + BinaryExpression 996425 996486 + Identifier 996425 996437 + BarBarToken 996437 996440 + CallExpression 996440 996486 + Identifier 996440 996444 + Identifier 996445 996457 + ArrowFunction 996458 996485 + Parameter 996458 996460 + Identifier 996458 996460 + EqualsGreaterThanToken 996460 996463 + PropertyAccessExpression 996463 996485 + Identifier 996463 996476 + Identifier 996477 996485 + Identifier 996487 996496 + Identifier 996497 996521 + ReturnStatement 996523 996712 + ConditionalExpression 996539 996711 + BinaryExpression 996539 996572 + Identifier 996539 996551 + EqualsEqualsEqualsToken 996551 996555 + Identifier 996555 996572 + QuestionToken 996572 996574 + Identifier 996574 996590 + ColonToken 996590 996592 + ConditionalExpression 996592 996711 + PropertyAccessExpression 996592 996625 + Identifier 996592 996618 + Identifier 996619 996625 + QuestionToken 996625 996627 + CallExpression 996627 996684 + Identifier 996627 996657 + Identifier 996658 996669 + Identifier 996670 996683 + ColonToken 996684 996686 + Identifier 996686 996711 + FunctionDeclaration 996719 997696 + Identifier 996735 996754 + Parameter 996755 996792 + Identifier 996755 996767 + TypeOperator 996768 996792 + ArrayType 996777 996792 + TypeReference 996777 996790 + Identifier 996777 996790 + Parameter 996793 996811 + Identifier 996793 996802 + BooleanKeyword 996803 996811 + Parameter 996812 996902 + Identifier 996812 996836 + TypeOperator 996837 996902 + ArrayType 996846 996902 + ParenthesizedType 996846 996900 + UnionType 996848 996899 + TypeReference 996848 996864 + Identifier 996848 996864 + TypeReference 996866 996887 + Identifier 996866 996887 + UndefinedKeyword 996889 996899 + TypeReference 996904 996916 + Identifier 996904 996916 + Block 996916 997696 + IfStatement 996918 997135 + BinaryExpression 996932 996996 + BinaryExpression 996932 996957 + PropertyAccessExpression 996932 996951 + Identifier 996932 996944 + Identifier 996945 996951 + EqualsEqualsEqualsToken 996951 996955 + NumericLiteral 996955 996957 + AmpersandAmpersandToken 996957 996960 + BinaryExpression 996960 996996 + ElementAccessExpression 996960 996976 + Identifier 996960 996973 + NumericLiteral 996974 996975 + AmpersandToken 996976 996978 + PropertyAccessExpression 996978 996996 + Identifier 996978 996991 + Identifier 996992 996996 + Block 996997 997135 + ReturnStatement 996999 997124 + ConditionalExpression 997070 997123 + Identifier 997070 997079 + QuestionToken 997079 997081 + Identifier 997081 997105 + ColonToken 997105 997107 + Identifier 997107 997123 + VariableStatement 997135 997480 + VariableDeclarationList 997135 997479 + VariableDeclaration 997150 997479 + Identifier 997150 997154 + BinaryExpression 997156 997479 + BinaryExpression 997156 997326 + CallExpression 997156 997289 + PropertyAccessExpression 997156 997287 + CallExpression 997156 997282 + Identifier 997156 997160 + Identifier 997161 997173 + ArrowFunction 997174 997281 + Parameter 997174 997176 + Identifier 997174 997176 + EqualsGreaterThanToken 997176 997179 + ConditionalExpression 997179 997281 + BinaryExpression 997179 997205 + Identifier 997179 997181 + AmpersandToken 997181 997183 + PropertyAccessExpression 997183 997205 + Identifier 997183 997196 + Identifier 997197 997205 + QuestionToken 997205 997207 + StringLiteral 997207 997211 + ColonToken 997211 997213 + ConditionalExpression 997213 997281 + BinaryExpression 997213 997239 + Identifier 997213 997215 + AmpersandToken 997215 997217 + PropertyAccessExpression 997217 997239 + Identifier 997217 997230 + Identifier 997231 997239 + QuestionToken 997239 997241 + StringLiteral 997241 997245 + ColonToken 997245 997247 + ConditionalExpression 997247 997281 + BinaryExpression 997247 997269 + Identifier 997247 997249 + AmpersandToken 997249 997251 + PropertyAccessExpression 997251 997269 + Identifier 997251 997264 + Identifier 997265 997269 + QuestionToken 997269 997271 + StringLiteral 997271 997275 + ColonToken 997275 997277 + StringLiteral 997277 997281 + Identifier 997283 997287 + PlusToken 997289 997291 + ParenthesizedExpression 997291 997326 + ConditionalExpression 997306 997325 + Identifier 997306 997314 + QuestionToken 997314 997316 + StringLiteral 997316 997320 + ColonToken 997320 997322 + StringLiteral 997322 997325 + PlusToken 997326 997328 + ParenthesizedExpression 997328 997479 + ConditionalExpression 997343 997478 + CallExpression 997343 997388 + Identifier 997343 997347 + Identifier 997348 997371 + ArrowFunction 997372 997387 + Parameter 997372 997377 + Identifier 997372 997377 + EqualsGreaterThanToken 997377 997380 + PrefixUnaryExpression 997380 997387 + PrefixUnaryExpression 997382 997387 + Identifier 997383 997387 + QuestionToken 997388 997390 + BinaryExpression 997390 997473 + StringLiteral 997390 997394 + PlusToken 997394 997396 + CallExpression 997396 997473 + PropertyAccessExpression 997396 997468 + CallExpression 997396 997463 + Identifier 997396 997400 + Identifier 997401 997424 + ArrowFunction 997425 997462 + Parameter 997425 997430 + Identifier 997425 997430 + EqualsGreaterThanToken 997430 997433 + ConditionalExpression 997433 997462 + Identifier 997433 997438 + QuestionToken 997438 997440 + CallExpression 997440 997456 + Identifier 997440 997450 + Identifier 997451 997455 + ColonToken 997456 997458 + StringLiteral 997458 997462 + Identifier 997464 997468 + StringLiteral 997469 997472 + ColonToken 997473 997475 + StringLiteral 997475 997478 + VariableStatement 997480 997521 + VariableDeclarationList 997480 997520 + VariableDeclaration 997493 997520 + Identifier 997493 997498 + CallExpression 997500 997520 + PropertyAccessExpression 997500 997515 + Identifier 997500 997511 + Identifier 997512 997515 + Identifier 997516 997519 + IfStatement 997521 997667 + PrefixUnaryExpression 997535 997540 + Identifier 997536 997540 + Block 997541 997667 + ExpressionStatement 997543 997656 + CallExpression 997543 997655 + PropertyAccessExpression 997543 997571 + Identifier 997543 997567 + Identifier 997568 997571 + Identifier 997572 997575 + BinaryExpression 997576 997654 + Identifier 997576 997581 + EqualsToken 997581 997583 + CallExpression 997583 997654 + Identifier 997583 997605 + Identifier 997606 997618 + Identifier 997619 997628 + Identifier 997629 997653 + ReturnStatement 997667 997689 + Identifier 997683 997688 + FunctionDeclaration 997696 1001225 + Identifier 998150 998172 + Parameter 998173 998210 + Identifier 998173 998185 + TypeOperator 998186 998210 + ArrayType 998195 998210 + TypeReference 998195 998208 + Identifier 998195 998208 + Parameter 998211 998229 + Identifier 998211 998220 + BooleanKeyword 998221 998229 + Parameter 998230 998320 + Identifier 998230 998254 + TypeOperator 998255 998320 + ArrayType 998264 998320 + ParenthesizedType 998264 998318 + UnionType 998266 998317 + TypeReference 998266 998282 + Identifier 998266 998282 + TypeReference 998284 998305 + Identifier 998284 998305 + UndefinedKeyword 998307 998317 + TypeReference 998322 998332 + Identifier 998322 998332 + Block 998332 1001225 + VariableStatement 998334 998378 + VariableDeclarationList 998334 998377 + VariableDeclaration 998349 998377 + Identifier 998349 998355 + PropertyAccessExpression 998357 998377 + Identifier 998357 998370 + Identifier 998371 998377 + VariableStatement 998378 998493 + VariableDeclarationList 998378 998492 + VariableDeclaration 998393 998492 + Identifier 998393 998403 + CallExpression 998405 998492 + Identifier 998405 998416 + Identifier 998417 998429 + ArrowFunction 998430 998491 + Parameter 998430 998432 + Identifier 998430 998432 + EqualsGreaterThanToken 998432 998435 + PrefixUnaryExpression 998435 998491 + PrefixUnaryExpression 998437 998491 + ParenthesizedExpression 998438 998491 + BinaryExpression 998439 998490 + Identifier 998439 998440 + AmpersandToken 998440 998442 + ParenthesizedExpression 998442 998490 + BinaryExpression 998444 998489 + PropertyAccessExpression 998444 998465 + Identifier 998444 998456 + Identifier 998457 998465 + BarToken 998465 998467 + PropertyAccessExpression 998467 998489 + Identifier 998467 998480 + Identifier 998481 998489 + VariableStatement 998493 998551 + VariableDeclarationList 998493 998550 + VariableDeclaration 998506 998550 + Identifier 998506 998521 + UnionType 998522 998550 + ArrayType 998522 998538 + TypeReference 998522 998536 + Identifier 998522 998536 + UndefinedKeyword 998540 998550 + VariableStatement 998551 998593 + VariableDeclarationList 998551 998592 + VariableDeclaration 998566 998592 + Identifier 998566 998577 + ArrayType 998578 998587 + TypeReference 998578 998585 + Identifier 998578 998585 + ArrayLiteralExpression 998589 998592 + VariableStatement 998593 998641 + VariableDeclarationList 998593 998640 + VariableDeclaration 998606 998640 + Identifier 998606 998620 + AsExpression 998622 998640 + NumericLiteral 998622 998624 + TypeReference 998627 998640 + Identifier 998627 998640 + IfStatement 998641 999426 + Identifier 998655 998660 + Block 998661 999426 + ExpressionStatement 998663 998711 + BinaryExpression 998663 998710 + Identifier 998663 998691 + EqualsToken 998691 998693 + NewExpression 998693 998710 + Identifier 998697 998703 + Identifier 998704 998709 + ForStatement 998711 999415 + VariableDeclarationList 998730 998739 + VariableDeclaration 998733 998739 + Identifier 998733 998735 + NumericLiteral 998737 998739 + BinaryExpression 998740 998750 + Identifier 998740 998742 + LessThanToken 998742 998744 + Identifier 998744 998750 + PostfixUnaryExpression 998751 998755 + Identifier 998751 998753 + Block 998756 999415 + VariableStatement 998758 998840 + VariableDeclarationList 998758 998839 + VariableDeclaration 998781 998839 + Identifier 998781 998795 + BinaryExpression 998797 998839 + ElementAccessExpression 998797 998815 + Identifier 998797 998812 + Identifier 998813 998814 + EqualsToken 998815 998817 + CallExpression 998817 998839 + Identifier 998817 998837 + VariableStatement 998840 998888 + VariableDeclarationList 998840 998887 + VariableDeclaration 998863 998887 + Identifier 998863 998869 + ElementAccessExpression 998871 998887 + Identifier 998871 998884 + Identifier 998885 998886 + ExpressionStatement 998888 998929 + BinaryExpression 998888 998928 + Identifier 998888 998919 + BarEqualsToken 998919 998922 + Identifier 998922 998928 + IfStatement 998929 999400 + PrefixUnaryExpression 998951 998991 + ParenthesizedExpression 998952 998991 + BinaryExpression 998953 998990 + Identifier 998953 998966 + AmpersandToken 998966 998968 + PropertyAccessExpression 998968 998990 + Identifier 998968 998981 + Identifier 998982 998990 + Block 998992 999400 + VariableStatement 998994 999185 + VariableDeclarationList 998994 999184 + VariableDeclaration 999021 999184 + Identifier 999021 999030 + CallExpression 999032 999184 + Identifier 999032 999045 + BinaryExpression 999046 999127 + PropertyAccessExpression 999046 999066 + Identifier 999046 999057 + Identifier 999058 999066 + BarToken 999066 999068 + ParenthesizedExpression 999068 999127 + ConditionalExpression 999070 999126 + BinaryExpression 999070 999099 + Identifier 999070 999075 + AmpersandToken 999075 999077 + PropertyAccessExpression 999077 999099 + Identifier 999077 999090 + Identifier 999091 999099 + QuestionToken 999099 999101 + PropertyAccessExpression 999101 999122 + Identifier 999101 999113 + Identifier 999114 999122 + ColonToken 999122 999124 + NumericLiteral 999124 999126 + AsExpression 999128 999147 + BinaryExpression 999128 999135 + StringLiteral 999128 999131 + PlusToken 999131 999133 + Identifier 999133 999135 + TypeReference 999138 999147 + Identifier 999138 999147 + ConditionalExpression 999148 999183 + Identifier 999148 999157 + QuestionToken 999157 999159 + PropertyAccessExpression 999159 999179 + Identifier 999159 999170 + Identifier 999171 999179 + ColonToken 999179 999181 + NumericLiteral 999181 999183 + ExpressionStatement 999185 999275 + BinaryExpression 999185 999274 + PropertyAccessExpression 999185 999243 + PropertyAccessExpression 999185 999221 + Identifier 999185 999215 + Identifier 999216 999221 + Identifier 999222 999243 + EqualsToken 999243 999245 + ElementAccessExpression 999245 999274 + Identifier 999245 999269 + QuestionDotToken 999269 999271 + Identifier 999272 999273 + ExpressionStatement 999275 999333 + BinaryExpression 999275 999332 + PropertyAccessExpression 999275 999316 + PropertyAccessExpression 999275 999311 + Identifier 999275 999305 + Identifier 999306 999311 + Identifier 999312 999316 + EqualsToken 999316 999318 + Identifier 999318 999332 + ExpressionStatement 999333 999381 + CallExpression 999333 999380 + PropertyAccessExpression 999333 999370 + Identifier 999333 999365 + Identifier 999366 999370 + Identifier 999371 999379 + VariableStatement 999426 999474 + VariableDeclarationList 999426 999473 + VariableDeclaration 999441 999473 + Identifier 999441 999453 + PropertyAccessExpression 999455 999473 + Identifier 999455 999466 + Identifier 999467 999473 + VariableStatement 999474 999598 + VariableDeclarationList 999474 999597 + VariableDeclaration 999489 999597 + Identifier 999489 999502 + CallExpression 999504 999597 + Identifier 999504 999517 + PropertyAccessExpression 999518 999538 + Identifier 999518 999529 + Identifier 999530 999538 + AsExpression 999539 999560 + StringLiteral 999539 999548 + TypeReference 999551 999560 + Identifier 999551 999560 + ConditionalExpression 999561 999596 + Identifier 999561 999570 + QuestionToken 999570 999572 + PropertyAccessExpression 999572 999592 + Identifier 999572 999583 + Identifier 999584 999592 + ColonToken 999592 999594 + NumericLiteral 999594 999596 + IfStatement 999598 999944 + BinaryExpression 999612 999649 + Identifier 999612 999625 + AmpersandToken 999625 999627 + PropertyAccessExpression 999627 999649 + Identifier 999627 999640 + Identifier 999641 999649 + Block 999650 999714 + ExpressionStatement 999652 999703 + BinaryExpression 999652 999702 + PropertyAccessExpression 999652 999689 + PropertyAccessExpression 999652 999684 + Identifier 999652 999678 + Identifier 999679 999684 + Identifier 999685 999689 + EqualsToken 999689 999691 + Identifier 999691 999702 + Block 999728 999944 + VariableStatement 999730 999768 + VariableDeclarationList 999730 999767 + VariableDeclaration 999749 999767 + Identifier 999749 999762 + ArrayLiteralExpression 999764 999767 + ForStatement 999768 999866 + VariableDeclarationList 999787 999804 + VariableDeclaration 999790 999804 + Identifier 999790 999792 + Identifier 999794 999804 + BinaryExpression 999805 999816 + Identifier 999805 999807 + LessThanEqualsToken 999807 999810 + Identifier 999810 999816 + PostfixUnaryExpression 999817 999821 + Identifier 999817 999819 + ExpressionStatement 999822 999866 + CallExpression 999822 999865 + PropertyAccessExpression 999822 999840 + Identifier 999822 999835 + Identifier 999836 999840 + CallExpression 999841 999864 + Identifier 999841 999861 + Identifier 999862 999863 + ExpressionStatement 999866 999933 + BinaryExpression 999866 999932 + PropertyAccessExpression 999866 999903 + PropertyAccessExpression 999866 999898 + Identifier 999866 999892 + Identifier 999893 999898 + Identifier 999899 999903 + EqualsToken 999903 999905 + CallExpression 999905 999932 + Identifier 999905 999918 + Identifier 999919 999931 + ExpressionStatement 999944 999984 + CallExpression 999944 999983 + PropertyAccessExpression 999944 999969 + Identifier 999944 999964 + Identifier 999965 999969 + Identifier 999970 999982 + VariableStatement 999984 1000115 + VariableDeclarationList 999984 1000114 + VariableDeclaration 999999 1000114 + Identifier 999999 1000004 + AsExpression 1000006 1000114 + CallExpression 1000006 1000066 + Identifier 1000006 1000023 + BinaryExpression 1000024 1000065 + PropertyAccessExpression 1000024 1000041 + Identifier 1000024 1000035 + Identifier 1000036 1000041 + BarToken 1000041 1000043 + PropertyAccessExpression 1000043 1000065 + Identifier 1000043 1000055 + Identifier 1000056 1000065 + IntersectionType 1000069 1000114 + TypeReference 1000069 1000079 + Identifier 1000069 1000079 + TypeReference 1000081 1000114 + Identifier 1000081 1000114 + ExpressionStatement 1000115 1000162 + BinaryExpression 1000115 1000161 + PropertyAccessExpression 1000115 1000144 + Identifier 1000115 1000129 + Identifier 1000130 1000144 + EqualsToken 1000144 1000146 + Identifier 1000146 1000161 + ExpressionStatement 1000162 1000209 + BinaryExpression 1000162 1000208 + PropertyAccessExpression 1000162 1000196 + Identifier 1000162 1000176 + Identifier 1000177 1000196 + EqualsToken 1000196 1000198 + Identifier 1000198 1000208 + ExpressionStatement 1000209 1000261 + BinaryExpression 1000209 1000260 + PropertyAccessExpression 1000209 1000243 + Identifier 1000209 1000223 + Identifier 1000224 1000243 + EqualsToken 1000243 1000245 + Identifier 1000245 1000260 + ExpressionStatement 1000261 1000326 + BinaryExpression 1000261 1000325 + PropertyAccessExpression 1000261 1000290 + Identifier 1000261 1000275 + Identifier 1000276 1000290 + EqualsToken 1000290 1000292 + NewExpression 1000292 1000325 + Identifier 1000296 1000300 + StringKeyword 1000301 1000307 + TypeReference 1000308 1000322 + Identifier 1000308 1000322 + ExpressionStatement 1000326 1000417 + CallExpression 1000326 1000416 + PropertyAccessExpression 1000326 1000359 + PropertyAccessExpression 1000326 1000355 + Identifier 1000326 1000340 + Identifier 1000341 1000355 + Identifier 1000356 1000359 + CallExpression 1000360 1000394 + Identifier 1000360 1000373 + PropertyAccessExpression 1000374 1000393 + Identifier 1000374 1000378 + Identifier 1000379 1000393 + AsExpression 1000395 1000415 + Identifier 1000395 1000400 + TypeReference 1000403 1000415 + Identifier 1000403 1000415 + ExpressionStatement 1000417 1000461 + BinaryExpression 1000417 1000460 + PropertyAccessExpression 1000417 1000438 + Identifier 1000417 1000431 + Identifier 1000432 1000438 + EqualsToken 1000438 1000440 + AsExpression 1000440 1000460 + Identifier 1000440 1000445 + TypeReference 1000448 1000460 + Identifier 1000448 1000460 + ExpressionStatement 1000461 1000520 + BinaryExpression 1000461 1000519 + PropertyAccessExpression 1000461 1000497 + Identifier 1000461 1000475 + Identifier 1000476 1000497 + EqualsToken 1000497 1000499 + PropertyAccessExpression 1000499 1000519 + Identifier 1000499 1000504 + Identifier 1000505 1000519 + ExpressionStatement 1000520 1000568 + BinaryExpression 1000520 1000567 + PropertyAccessExpression 1000520 1000543 + Identifier 1000520 1000534 + Identifier 1000535 1000543 + EqualsToken 1000543 1000545 + CallExpression 1000545 1000567 + Identifier 1000545 1000565 + ExpressionStatement 1000568 1000610 + BinaryExpression 1000568 1000609 + PropertyAccessExpression 1000568 1000602 + PropertyAccessExpression 1000568 1000591 + Identifier 1000568 1000582 + Identifier 1000583 1000591 + Identifier 1000592 1000602 + EqualsToken 1000602 1000604 + TrueKeyword 1000604 1000609 + ExpressionStatement 1000610 1000652 + BinaryExpression 1000610 1000651 + PropertyAccessExpression 1000610 1000644 + PropertyAccessExpression 1000610 1000633 + Identifier 1000610 1000624 + Identifier 1000625 1000633 + Identifier 1000634 1000644 + EqualsToken 1000644 1000646 + Identifier 1000646 1000651 + ExpressionStatement 1000652 1000699 + BinaryExpression 1000652 1000698 + PropertyAccessExpression 1000652 1000685 + Identifier 1000652 1000666 + Identifier 1000667 1000685 + EqualsToken 1000685 1000687 + Identifier 1000687 1000698 + ExpressionStatement 1000699 1000750 + BinaryExpression 1000699 1000749 + PropertyAccessExpression 1000699 1000736 + Identifier 1000699 1000713 + Identifier 1000714 1000736 + EqualsToken 1000736 1000738 + Identifier 1000738 1000749 + ExpressionStatement 1000750 1000806 + BinaryExpression 1000750 1000805 + PropertyAccessExpression 1000750 1000792 + Identifier 1000750 1000764 + Identifier 1000765 1000792 + EqualsToken 1000792 1000794 + Identifier 1000794 1000805 + ExpressionStatement 1000806 1000853 + BinaryExpression 1000806 1000852 + PropertyAccessExpression 1000806 1000839 + Identifier 1000806 1000820 + Identifier 1000821 1000839 + EqualsToken 1000839 1000841 + Identifier 1000841 1000852 + ExpressionStatement 1000853 1000896 + BinaryExpression 1000853 1000895 + PropertyAccessExpression 1000853 1000880 + Identifier 1000853 1000867 + Identifier 1000868 1000880 + EqualsToken 1000880 1000882 + Identifier 1000882 1000895 + ExpressionStatement 1000896 1000933 + BinaryExpression 1000896 1000932 + PropertyAccessExpression 1000896 1000920 + Identifier 1000896 1000910 + Identifier 1000911 1000920 + EqualsToken 1000920 1000922 + Identifier 1000922 1000932 + ExpressionStatement 1000933 1000974 + BinaryExpression 1000933 1000973 + PropertyAccessExpression 1000933 1000959 + Identifier 1000933 1000947 + Identifier 1000948 1000959 + EqualsToken 1000959 1000961 + Identifier 1000961 1000973 + ExpressionStatement 1000974 1001048 + BinaryExpression 1000974 1001047 + PropertyAccessExpression 1000974 1001003 + Identifier 1000974 1000988 + Identifier 1000989 1001003 + EqualsToken 1001003 1001005 + PrefixUnaryExpression 1001005 1001047 + PrefixUnaryExpression 1001007 1001047 + ParenthesizedExpression 1001008 1001047 + BinaryExpression 1001009 1001046 + Identifier 1001009 1001022 + AmpersandToken 1001022 1001024 + PropertyAccessExpression 1001024 1001046 + Identifier 1001024 1001037 + Identifier 1001038 1001046 + ExpressionStatement 1001048 1001093 + BinaryExpression 1001048 1001092 + PropertyAccessExpression 1001048 1001076 + Identifier 1001048 1001062 + Identifier 1001063 1001076 + EqualsToken 1001076 1001078 + Identifier 1001078 1001092 + ExpressionStatement 1001093 1001128 + BinaryExpression 1001093 1001127 + PropertyAccessExpression 1001093 1001116 + Identifier 1001093 1001107 + Identifier 1001108 1001116 + EqualsToken 1001116 1001118 + Identifier 1001118 1001127 + ExpressionStatement 1001128 1001196 + BinaryExpression 1001128 1001195 + PropertyAccessExpression 1001128 1001169 + Identifier 1001128 1001142 + Identifier 1001143 1001169 + EqualsToken 1001169 1001171 + Identifier 1001171 1001195 + ReturnStatement 1001196 1001218 + Identifier 1001212 1001217 + FunctionDeclaration 1001225 1001511 + Identifier 1001241 1001271 + Parameter 1001272 1001291 + Identifier 1001272 1001278 + TypeReference 1001279 1001291 + Identifier 1001279 1001291 + Parameter 1001292 1001335 + Identifier 1001292 1001306 + UnionType 1001307 1001335 + TypeOperator 1001307 1001323 + ArrayType 1001316 1001323 + TypeReference 1001316 1001321 + Identifier 1001316 1001321 + UndefinedKeyword 1001325 1001335 + Block 1001336 1001511 + ReturnStatement 1001338 1001504 + ConditionalExpression 1001354 1001503 + BinaryExpression 1001354 1001393 + PropertyAccessExpression 1001354 1001373 + Identifier 1001354 1001361 + Identifier 1001362 1001373 + AmpersandToken 1001373 1001375 + PropertyAccessExpression 1001375 1001393 + Identifier 1001375 1001387 + Identifier 1001388 1001393 + QuestionToken 1001393 1001395 + CallExpression 1001395 1001458 + Identifier 1001395 1001421 + AsExpression 1001422 1001441 + Identifier 1001422 1001428 + TypeReference 1001431 1001441 + Identifier 1001431 1001441 + NonNullExpression 1001442 1001457 + Identifier 1001442 1001456 + ColonToken 1001458 1001460 + CallExpression 1001460 1001503 + Identifier 1001460 1001480 + Identifier 1001481 1001487 + Identifier 1001488 1001502 + FunctionDeclaration 1001511 1007532 + Identifier 1001527 1001553 + Parameter 1001554 1001571 + Identifier 1001554 1001560 + TypeReference 1001561 1001571 + Identifier 1001561 1001571 + Parameter 1001572 1001602 + Identifier 1001572 1001585 + TypeOperator 1001586 1001602 + ArrayType 1001595 1001602 + TypeReference 1001595 1001600 + Identifier 1001595 1001600 + TypeReference 1001604 1001609 + Identifier 1001604 1001609 + Block 1001609 1007532 + IfStatement 1001611 1001833 + PrefixUnaryExpression 1001625 1001675 + ParenthesizedExpression 1001626 1001675 + BinaryExpression 1001627 1001674 + PropertyAccessExpression 1001627 1001647 + Identifier 1001627 1001633 + Identifier 1001634 1001647 + AmpersandToken 1001647 1001649 + PropertyAccessExpression 1001649 1001674 + Identifier 1001649 1001662 + Identifier 1001663 1001674 + Block 1001676 1001833 + ReturnStatement 1001678 1001822 + CallExpression 1001779 1001821 + Identifier 1001779 1001799 + Identifier 1001800 1001806 + Identifier 1001807 1001820 + IfStatement 1001833 1002527 + BinaryExpression 1001847 1001891 + PropertyAccessExpression 1001847 1001867 + Identifier 1001847 1001853 + Identifier 1001854 1001867 + AmpersandToken 1001867 1001869 + PropertyAccessExpression 1001869 1001891 + Identifier 1001869 1001882 + Identifier 1001883 1001891 + Block 1001892 1002527 + VariableStatement 1001894 1002147 + VariableDeclarationList 1001894 1002146 + VariableDeclaration 1001998 1002146 + Identifier 1001998 1002009 + CallExpression 1002011 1002146 + Identifier 1002011 1002021 + Identifier 1002022 1002034 + ArrowFunction 1002035 1002145 + Parameter 1002037 1002038 + Identifier 1002037 1002038 + Parameter 1002039 1002041 + Identifier 1002039 1002041 + EqualsGreaterThanToken 1002042 1002045 + PrefixUnaryExpression 1002045 1002145 + PrefixUnaryExpression 1002047 1002145 + ParenthesizedExpression 1002048 1002145 + BinaryExpression 1002049 1002144 + BinaryExpression 1002049 1002095 + ElementAccessExpression 1002049 1002071 + PropertyAccessExpression 1002049 1002068 + Identifier 1002049 1002055 + Identifier 1002056 1002068 + Identifier 1002069 1002070 + AmpersandToken 1002071 1002073 + PropertyAccessExpression 1002073 1002095 + Identifier 1002073 1002086 + Identifier 1002087 1002095 + AmpersandAmpersandToken 1002095 1002098 + BinaryExpression 1002098 1002144 + PropertyAccessExpression 1002098 1002106 + Identifier 1002098 1002100 + Identifier 1002101 1002106 + AmpersandToken 1002106 1002108 + ParenthesizedExpression 1002108 1002144 + BinaryExpression 1002110 1002143 + PropertyAccessExpression 1002110 1002125 + Identifier 1002110 1002119 + Identifier 1002120 1002125 + BarToken 1002125 1002127 + PropertyAccessExpression 1002127 1002143 + Identifier 1002127 1002137 + Identifier 1002138 1002143 + IfStatement 1002147 1002516 + BinaryExpression 1002165 1002180 + Identifier 1002165 1002175 + GreaterThanEqualsToken 1002175 1002178 + NumericLiteral 1002178 1002180 + Block 1002181 1002516 + ReturnStatement 1002183 1002501 + ConditionalExpression 1002207 1002500 + CallExpression 1002207 1002325 + Identifier 1002207 1002230 + CallExpression 1002231 1002324 + Identifier 1002231 1002234 + Identifier 1002235 1002247 + ArrowFunction 1002248 1002323 + Parameter 1002250 1002251 + Identifier 1002250 1002251 + Parameter 1002252 1002254 + Identifier 1002252 1002254 + EqualsGreaterThanToken 1002255 1002258 + ConditionalExpression 1002258 1002323 + BinaryExpression 1002258 1002305 + ElementAccessExpression 1002258 1002281 + PropertyAccessExpression 1002258 1002278 + Identifier 1002258 1002265 + Identifier 1002266 1002278 + Identifier 1002279 1002280 + AmpersandToken 1002281 1002283 + PropertyAccessExpression 1002283 1002305 + Identifier 1002283 1002296 + Identifier 1002297 1002305 + QuestionToken 1002305 1002307 + Identifier 1002307 1002309 + ColonToken 1002309 1002311 + Identifier 1002311 1002323 + QuestionToken 1002325 1002327 + CallExpression 1002327 1002467 + Identifier 1002327 1002356 + ElementAccessExpression 1002357 1002381 + Identifier 1002357 1002369 + Identifier 1002370 1002380 + ArrowFunction 1002382 1002466 + Parameter 1002382 1002384 + Identifier 1002382 1002384 + EqualsGreaterThanToken 1002384 1002387 + CallExpression 1002387 1002466 + Identifier 1002387 1002413 + Identifier 1002414 1002420 + CallExpression 1002421 1002465 + Identifier 1002421 1002436 + Identifier 1002437 1002449 + Identifier 1002450 1002461 + Identifier 1002462 1002464 + ColonToken 1002467 1002469 + Identifier 1002469 1002500 + VariableStatement 1002527 1003168 + VariableDeclarationList 1002527 1003167 + VariableDeclaration 1003140 1003167 + Identifier 1003140 1003154 + ArrayType 1003155 1003162 + TypeReference 1003155 1003160 + Identifier 1003155 1003160 + ArrayLiteralExpression 1003164 1003167 + VariableStatement 1003168 1003219 + VariableDeclarationList 1003168 1003218 + VariableDeclaration 1003183 1003218 + Identifier 1003183 1003197 + ArrayType 1003198 1003213 + TypeReference 1003198 1003211 + Identifier 1003198 1003211 + ArrayLiteralExpression 1003215 1003218 + VariableStatement 1003219 1003318 + VariableDeclarationList 1003219 1003317 + VariableDeclaration 1003234 1003317 + Identifier 1003234 1003255 + ArrayType 1003256 1003312 + ParenthesizedType 1003256 1003310 + UnionType 1003258 1003309 + TypeReference 1003258 1003274 + Identifier 1003258 1003274 + TypeReference 1003276 1003297 + Identifier 1003276 1003297 + UndefinedKeyword 1003299 1003309 + ArrayLiteralExpression 1003314 1003317 + VariableStatement 1003318 1003355 + VariableDeclarationList 1003318 1003354 + VariableDeclaration 1003331 1003354 + Identifier 1003331 1003349 + PrefixUnaryExpression 1003351 1003354 + NumericLiteral 1003353 1003354 + VariableStatement 1003355 1003389 + VariableDeclarationList 1003355 1003388 + VariableDeclaration 1003368 1003388 + Identifier 1003368 1003383 + PrefixUnaryExpression 1003385 1003388 + NumericLiteral 1003387 1003388 + VariableStatement 1003389 1003432 + VariableDeclarationList 1003389 1003431 + VariableDeclaration 1003402 1003431 + Identifier 1003402 1003426 + PrefixUnaryExpression 1003428 1003431 + NumericLiteral 1003430 1003431 + ForStatement 1003432 1005481 + VariableDeclarationList 1003447 1003456 + VariableDeclaration 1003450 1003456 + Identifier 1003450 1003452 + NumericLiteral 1003454 1003456 + BinaryExpression 1003457 1003481 + Identifier 1003457 1003459 + LessThanToken 1003459 1003461 + PropertyAccessExpression 1003461 1003481 + Identifier 1003461 1003474 + Identifier 1003475 1003481 + PostfixUnaryExpression 1003482 1003486 + Identifier 1003482 1003484 + Block 1003487 1005481 + VariableStatement 1003489 1003532 + VariableDeclarationList 1003489 1003531 + VariableDeclaration 1003508 1003531 + Identifier 1003508 1003513 + ElementAccessExpression 1003515 1003531 + Identifier 1003515 1003528 + Identifier 1003529 1003530 + VariableStatement 1003532 1003583 + VariableDeclarationList 1003532 1003582 + VariableDeclaration 1003551 1003582 + Identifier 1003551 1003557 + ElementAccessExpression 1003559 1003582 + PropertyAccessExpression 1003559 1003579 + Identifier 1003559 1003566 + Identifier 1003567 1003579 + Identifier 1003580 1003581 + IfStatement 1003583 1005470 + BinaryExpression 1003601 1003630 + Identifier 1003601 1003606 + AmpersandToken 1003606 1003608 + PropertyAccessExpression 1003608 1003630 + Identifier 1003608 1003621 + Identifier 1003622 1003630 + Block 1003631 1005292 + IfStatement 1003633 1005277 + BinaryExpression 1003655 1003681 + PropertyAccessExpression 1003655 1003665 + Identifier 1003655 1003659 + Identifier 1003660 1003665 + AmpersandToken 1003665 1003667 + PropertyAccessExpression 1003667 1003681 + Identifier 1003667 1003677 + Identifier 1003678 1003681 + Block 1003682 1003801 + ExpressionStatement 1003684 1003782 + CallExpression 1003684 1003781 + Identifier 1003684 1003716 + Identifier 1003717 1003721 + PropertyAccessExpression 1003722 1003740 + Identifier 1003722 1003735 + Identifier 1003736 1003740 + ElementAccessExpression 1003741 1003780 + PropertyAccessExpression 1003741 1003775 + Identifier 1003741 1003748 + Identifier 1003749 1003775 + QuestionDotToken 1003775 1003777 + Identifier 1003778 1003779 + IfStatement 1003823 1005277 + BinaryExpression 1003828 1003904 + BinaryExpression 1003828 1003875 + PropertyAccessExpression 1003828 1003838 + Identifier 1003828 1003832 + Identifier 1003833 1003838 + AmpersandToken 1003838 1003840 + PropertyAccessExpression 1003840 1003875 + Identifier 1003840 1003850 + Identifier 1003851 1003875 + BarBarToken 1003875 1003878 + CallExpression 1003878 1003904 + Identifier 1003878 1003898 + Identifier 1003899 1003903 + Block 1003905 1004096 + ExpressionStatement 1003907 1004077 + CallExpression 1003907 1004076 + Identifier 1003907 1004007 + Identifier 1004008 1004012 + PropertyAccessExpression 1004013 1004035 + Identifier 1004013 1004026 + Identifier 1004027 1004035 + ElementAccessExpression 1004036 1004075 + PropertyAccessExpression 1004036 1004070 + Identifier 1004036 1004043 + Identifier 1004044 1004070 + QuestionDotToken 1004070 1004072 + Identifier 1004073 1004074 + IfStatement 1004118 1005277 + CallExpression 1004123 1004140 + Identifier 1004123 1004134 + Identifier 1004135 1004139 + Block 1004141 1004976 + VariableStatement 1004143 1004204 + VariableDeclarationList 1004143 1004203 + VariableDeclaration 1004170 1004203 + Identifier 1004170 1004179 + CallExpression 1004181 1004203 + Identifier 1004181 1004197 + Identifier 1004198 1004202 + IfStatement 1004204 1004726 + BinaryExpression 1004230 1004278 + BinaryExpression 1004230 1004268 + PropertyAccessExpression 1004230 1004245 + Identifier 1004230 1004238 + Identifier 1004239 1004245 + PlusToken 1004245 1004247 + PropertyAccessExpression 1004247 1004268 + Identifier 1004247 1004261 + Identifier 1004262 1004268 + GreaterThanEqualsToken 1004268 1004271 + NumericLiteral 1004271 1004278 + Block 1004279 1004726 + ExpressionStatement 1004281 1004660 + CallExpression 1004281 1004659 + Identifier 1004281 1004312 + Identifier 1004313 1004354 + ConditionalExpression 1004355 1004631 + CallExpression 1004355 1004415 + Identifier 1004355 1004401 + NonNullExpression 1004402 1004414 + Identifier 1004402 1004413 + QuestionToken 1004415 1004450 + PropertyAccessExpression 1004450 1004520 + Identifier 1004450 1004462 + Identifier 1004463 1004520 + ColonToken 1004520 1004555 + PropertyAccessExpression 1004555 1004631 + Identifier 1004555 1004567 + Identifier 1004568 1004631 + ReturnStatement 1004660 1004703 + Identifier 1004692 1004702 + ExpressionStatement 1004726 1004957 + CallExpression 1004726 1004956 + Identifier 1004726 1004847 + Identifier 1004848 1004856 + ArrowFunction 1004857 1004955 + Parameter 1004859 1004860 + Identifier 1004859 1004860 + Parameter 1004861 1004863 + Identifier 1004861 1004863 + EqualsGreaterThanToken 1004864 1004867 + CallExpression 1004867 1004955 + Identifier 1004867 1004878 + Identifier 1004879 1004880 + ElementAccessExpression 1004881 1004909 + PropertyAccessExpression 1004881 1004906 + PropertyAccessExpression 1004881 1004893 + Identifier 1004881 1004886 + Identifier 1004887 1004893 + Identifier 1004894 1004906 + Identifier 1004907 1004908 + ElementAccessExpression 1004910 1004954 + PropertyAccessExpression 1004910 1004949 + PropertyAccessExpression 1004910 1004922 + Identifier 1004910 1004915 + Identifier 1004916 1004922 + Identifier 1004923 1004949 + QuestionDotToken 1004949 1004951 + Identifier 1004952 1004953 + Block 1004998 1005277 + ExpressionStatement 1005000 1005258 + CallExpression 1005000 1005257 + Identifier 1005000 1005122 + BinaryExpression 1005123 1005197 + BinaryExpression 1005123 1005184 + CallExpression 1005123 1005144 + Identifier 1005123 1005138 + Identifier 1005139 1005143 + AmpersandAmpersandToken 1005144 1005147 + CallExpression 1005147 1005184 + Identifier 1005147 1005166 + Identifier 1005167 1005171 + Identifier 1005172 1005183 + BarBarToken 1005184 1005187 + Identifier 1005187 1005197 + PropertyAccessExpression 1005198 1005216 + Identifier 1005198 1005211 + Identifier 1005212 1005216 + ElementAccessExpression 1005217 1005256 + PropertyAccessExpression 1005217 1005251 + Identifier 1005217 1005224 + Identifier 1005225 1005251 + QuestionDotToken 1005251 1005253 + Identifier 1005254 1005255 + Block 1005310 1005470 + ExpressionStatement 1005312 1005455 + CallExpression 1005312 1005454 + Identifier 1005312 1005401 + Identifier 1005402 1005406 + Identifier 1005407 1005413 + ElementAccessExpression 1005414 1005453 + PropertyAccessExpression 1005414 1005448 + Identifier 1005414 1005421 + Identifier 1005422 1005448 + QuestionDotToken 1005448 1005450 + Identifier 1005451 1005452 + ForStatement 1005481 1005742 + VariableDeclarationList 1005590 1005599 + VariableDeclaration 1005593 1005599 + Identifier 1005593 1005595 + NumericLiteral 1005597 1005599 + BinaryExpression 1005600 1005622 + Identifier 1005600 1005602 + LessThanToken 1005602 1005604 + Identifier 1005604 1005622 + PostfixUnaryExpression 1005623 1005627 + Identifier 1005623 1005625 + Block 1005628 1005742 + IfStatement 1005630 1005731 + BinaryExpression 1005648 1005688 + ElementAccessExpression 1005648 1005664 + Identifier 1005648 1005661 + Identifier 1005662 1005663 + AmpersandToken 1005664 1005666 + PropertyAccessExpression 1005666 1005688 + Identifier 1005666 1005679 + Identifier 1005680 1005688 + ExpressionStatement 1005689 1005731 + BinaryExpression 1005689 1005730 + ElementAccessExpression 1005689 1005706 + Identifier 1005689 1005703 + Identifier 1005704 1005705 + EqualsToken 1005706 1005708 + PropertyAccessExpression 1005708 1005730 + Identifier 1005708 1005721 + Identifier 1005722 1005730 + IfStatement 1005742 1006475 + BinaryExpression 1005756 1005819 + BinaryExpression 1005756 1005775 + Identifier 1005756 1005770 + GreaterThanEqualsToken 1005770 1005773 + NumericLiteral 1005773 1005775 + AmpersandAmpersandToken 1005775 1005778 + BinaryExpression 1005778 1005819 + Identifier 1005778 1005793 + LessThanToken 1005793 1005795 + Identifier 1005795 1005819 + Block 1005820 1006475 + ExpressionStatement 1005822 1006166 + BinaryExpression 1005822 1006165 + ElementAccessExpression 1005822 1005964 + Identifier 1005822 1005948 + Identifier 1005949 1005963 + EqualsToken 1005964 1005966 + CallExpression 1005966 1006165 + Identifier 1005966 1005979 + CallExpression 1005980 1006164 + Identifier 1005980 1005987 + CallExpression 1005988 1006052 + PropertyAccessExpression 1005988 1006007 + Identifier 1005988 1006001 + Identifier 1006002 1006007 + Identifier 1006008 1006022 + BinaryExpression 1006023 1006051 + Identifier 1006023 1006047 + PlusToken 1006047 1006049 + NumericLiteral 1006049 1006051 + ArrowFunction 1006053 1006163 + Parameter 1006055 1006056 + Identifier 1006055 1006056 + Parameter 1006057 1006059 + Identifier 1006057 1006059 + EqualsGreaterThanToken 1006060 1006063 + ConditionalExpression 1006063 1006163 + BinaryExpression 1006063 1006121 + ElementAccessExpression 1006063 1006097 + Identifier 1006063 1006077 + BinaryExpression 1006078 1006096 + Identifier 1006078 1006092 + PlusToken 1006092 1006094 + Identifier 1006094 1006096 + AmpersandToken 1006097 1006099 + PropertyAccessExpression 1006099 1006121 + Identifier 1006099 1006112 + Identifier 1006113 1006121 + QuestionToken 1006121 1006123 + CallExpression 1006123 1006159 + Identifier 1006123 1006144 + Identifier 1006145 1006146 + Identifier 1006147 1006158 + ColonToken 1006159 1006161 + Identifier 1006161 1006163 + ExpressionStatement 1006166 1006263 + CallExpression 1006166 1006262 + PropertyAccessExpression 1006166 1006200 + Identifier 1006166 1006193 + Identifier 1006194 1006200 + BinaryExpression 1006201 1006219 + Identifier 1006201 1006215 + PlusToken 1006215 1006217 + NumericLiteral 1006217 1006219 + BinaryExpression 1006220 1006261 + Identifier 1006220 1006244 + MinusToken 1006244 1006246 + Identifier 1006246 1006261 + ExpressionStatement 1006263 1006360 + CallExpression 1006263 1006359 + PropertyAccessExpression 1006263 1006297 + Identifier 1006263 1006290 + Identifier 1006291 1006297 + BinaryExpression 1006298 1006316 + Identifier 1006298 1006312 + PlusToken 1006312 1006314 + NumericLiteral 1006314 1006316 + BinaryExpression 1006317 1006358 + Identifier 1006317 1006341 + MinusToken 1006341 1006343 + Identifier 1006343 1006358 + ExpressionStatement 1006360 1006464 + CallExpression 1006360 1006463 + PropertyAccessExpression 1006360 1006401 + Identifier 1006360 1006394 + Identifier 1006395 1006401 + BinaryExpression 1006402 1006420 + Identifier 1006402 1006416 + PlusToken 1006416 1006418 + NumericLiteral 1006418 1006420 + BinaryExpression 1006421 1006462 + Identifier 1006421 1006445 + MinusToken 1006445 1006447 + Identifier 1006447 1006462 + VariableStatement 1006475 1006578 + VariableDeclarationList 1006475 1006577 + VariableDeclaration 1006490 1006577 + Identifier 1006490 1006502 + CallExpression 1006504 1006577 + Identifier 1006504 1006523 + Identifier 1006524 1006537 + PropertyAccessExpression 1006538 1006554 + Identifier 1006538 1006545 + Identifier 1006546 1006554 + Identifier 1006555 1006576 + ReturnStatement 1006578 1006759 + ConditionalExpression 1006594 1006758 + BinaryExpression 1006594 1006627 + Identifier 1006594 1006606 + EqualsEqualsEqualsToken 1006606 1006610 + Identifier 1006610 1006627 + QuestionToken 1006627 1006629 + Identifier 1006629 1006645 + ColonToken 1006645 1006647 + ConditionalExpression 1006647 1006758 + PropertyAccessExpression 1006647 1006681 + Identifier 1006647 1006674 + Identifier 1006675 1006681 + QuestionToken 1006681 1006683 + CallExpression 1006683 1006731 + Identifier 1006683 1006703 + Identifier 1006704 1006715 + Identifier 1006716 1006730 + ColonToken 1006731 1006733 + Identifier 1006733 1006758 + FunctionDeclaration 1006759 1007525 + Identifier 1006779 1006790 + Parameter 1006791 1006801 + Identifier 1006791 1006795 + TypeReference 1006796 1006801 + Identifier 1006796 1006801 + Parameter 1006802 1006822 + Identifier 1006802 1006808 + TypeReference 1006809 1006822 + Identifier 1006809 1006822 + Parameter 1006823 1006888 + Identifier 1006823 1006835 + UnionType 1006836 1006888 + TypeReference 1006836 1006853 + Identifier 1006836 1006853 + TypeReference 1006855 1006876 + Identifier 1006855 1006876 + UndefinedKeyword 1006878 1006888 + Block 1006889 1007525 + IfStatement 1006891 1007015 + BinaryExpression 1006909 1006938 + Identifier 1006909 1006914 + AmpersandToken 1006914 1006916 + PropertyAccessExpression 1006916 1006938 + Identifier 1006916 1006929 + Identifier 1006930 1006938 + Block 1006939 1007015 + ExpressionStatement 1006941 1007000 + BinaryExpression 1006941 1006999 + Identifier 1006941 1006976 + EqualsToken 1006976 1006978 + PropertyAccessExpression 1006978 1006999 + Identifier 1006978 1006992 + Identifier 1006993 1006999 + IfStatement 1007015 1007154 + BinaryExpression 1007033 1007080 + BinaryExpression 1007033 1007058 + Identifier 1007033 1007038 + AmpersandToken 1007038 1007040 + PropertyAccessExpression 1007040 1007058 + Identifier 1007040 1007053 + Identifier 1007054 1007058 + AmpersandAmpersandToken 1007058 1007061 + BinaryExpression 1007061 1007080 + Identifier 1007061 1007076 + LessThanToken 1007076 1007078 + NumericLiteral 1007078 1007080 + Block 1007081 1007154 + ExpressionStatement 1007083 1007139 + BinaryExpression 1007083 1007138 + Identifier 1007083 1007115 + EqualsToken 1007115 1007117 + PropertyAccessExpression 1007117 1007138 + Identifier 1007117 1007131 + Identifier 1007132 1007138 + IfStatement 1007154 1007306 + BinaryExpression 1007172 1007223 + Identifier 1007172 1007177 + AmpersandToken 1007177 1007179 + ParenthesizedExpression 1007179 1007223 + BinaryExpression 1007181 1007222 + PropertyAccessExpression 1007181 1007202 + Identifier 1007181 1007193 + Identifier 1007194 1007202 + BarToken 1007202 1007204 + PropertyAccessExpression 1007204 1007222 + Identifier 1007204 1007217 + Identifier 1007218 1007222 + Block 1007224 1007306 + ExpressionStatement 1007226 1007291 + BinaryExpression 1007226 1007290 + Identifier 1007226 1007267 + EqualsToken 1007267 1007269 + PropertyAccessExpression 1007269 1007290 + Identifier 1007269 1007283 + Identifier 1007284 1007290 + ExpressionStatement 1007306 1007421 + CallExpression 1007306 1007420 + PropertyAccessExpression 1007306 1007338 + Identifier 1007306 1007333 + Identifier 1007334 1007338 + ConditionalExpression 1007339 1007419 + BinaryExpression 1007339 1007368 + Identifier 1007339 1007344 + AmpersandToken 1007344 1007346 + PropertyAccessExpression 1007346 1007368 + Identifier 1007346 1007359 + Identifier 1007360 1007368 + QuestionToken 1007368 1007370 + CallExpression 1007370 1007412 + Identifier 1007370 1007385 + Identifier 1007386 1007390 + TrueKeyword 1007391 1007411 + ColonToken 1007412 1007414 + Identifier 1007414 1007419 + ExpressionStatement 1007421 1007461 + CallExpression 1007421 1007460 + PropertyAccessExpression 1007421 1007453 + Identifier 1007421 1007448 + Identifier 1007449 1007453 + Identifier 1007454 1007459 + ExpressionStatement 1007461 1007514 + CallExpression 1007461 1007513 + PropertyAccessExpression 1007461 1007500 + Identifier 1007461 1007495 + Identifier 1007496 1007500 + Identifier 1007501 1007512 + FunctionDeclaration 1007532 1008086 + Identifier 1007548 1007563 + Parameter 1007564 1007588 + Identifier 1007564 1007568 + TypeReference 1007569 1007588 + Identifier 1007569 1007588 + Parameter 1007589 1007603 + Identifier 1007589 1007595 + NumberKeyword 1007596 1007603 + Parameter 1007604 1007621 + Identifier 1007604 1007617 + NumericLiteral 1007619 1007621 + Block 1007622 1008086 + VariableStatement 1007624 1007661 + VariableDeclarationList 1007624 1007660 + VariableDeclaration 1007639 1007660 + Identifier 1007639 1007646 + PropertyAccessExpression 1007648 1007660 + Identifier 1007648 1007653 + Identifier 1007654 1007660 + VariableStatement 1007661 1007731 + VariableDeclarationList 1007661 1007730 + VariableDeclaration 1007676 1007730 + Identifier 1007676 1007685 + BinaryExpression 1007687 1007730 + CallExpression 1007687 1007715 + Identifier 1007687 1007709 + Identifier 1007710 1007714 + MinusToken 1007715 1007717 + Identifier 1007717 1007730 + ReturnStatement 1007731 1008079 + ConditionalExpression 1007747 1008078 + BinaryExpression 1007747 1007774 + Identifier 1007747 1007753 + GreaterThanToken 1007753 1007755 + PropertyAccessExpression 1007755 1007774 + Identifier 1007755 1007762 + Identifier 1007763 1007774 + QuestionToken 1007774 1007776 + BinaryExpression 1007776 1007841 + CallExpression 1007776 1007810 + Identifier 1007776 1007804 + Identifier 1007805 1007809 + BarBarToken 1007810 1007813 + CallExpression 1007813 1007841 + Identifier 1007813 1007829 + Identifier 1007830 1007840 + ColonToken 1007841 1007843 + CallExpression 1007843 1008078 + Identifier 1007843 1007872 + CallExpression 1007873 1007918 + PropertyAccessExpression 1007873 1007901 + CallExpression 1007873 1007895 + Identifier 1007873 1007889 + Identifier 1007890 1007894 + Identifier 1007896 1007901 + Identifier 1007902 1007907 + Identifier 1007908 1007917 + CallExpression 1007919 1007962 + PropertyAccessExpression 1007919 1007945 + PropertyAccessExpression 1007919 1007939 + Identifier 1007919 1007926 + Identifier 1007927 1007939 + Identifier 1007940 1007945 + Identifier 1007946 1007951 + Identifier 1007952 1007961 + FalseKeyword 1007963 1007982 + BinaryExpression 1007983 1008077 + PropertyAccessExpression 1007983 1008017 + Identifier 1007983 1007990 + Identifier 1007991 1008017 + AmpersandAmpersandToken 1008017 1008020 + CallExpression 1008020 1008077 + PropertyAccessExpression 1008020 1008060 + PropertyAccessExpression 1008020 1008054 + Identifier 1008020 1008027 + Identifier 1008028 1008054 + Identifier 1008055 1008060 + Identifier 1008061 1008066 + Identifier 1008067 1008076 + FunctionDeclaration 1008086 1008348 + Identifier 1008102 1008126 + Parameter 1008127 1008151 + Identifier 1008127 1008131 + TypeReference 1008132 1008151 + Identifier 1008132 1008151 + Block 1008152 1008348 + ReturnStatement 1008154 1008341 + CallExpression 1008170 1008340 + Identifier 1008170 1008183 + CallExpression 1008184 1008339 + Identifier 1008184 1008190 + CallExpression 1008191 1008258 + Identifier 1008191 1008198 + PropertyAccessExpression 1008199 1008222 + PropertyAccessExpression 1008199 1008210 + Identifier 1008199 1008203 + Identifier 1008204 1008210 + Identifier 1008211 1008222 + ArrowFunction 1008223 1008257 + Parameter 1008223 1008225 + Identifier 1008223 1008225 + EqualsGreaterThanToken 1008225 1008228 + CallExpression 1008228 1008257 + Identifier 1008228 1008249 + BinaryExpression 1008250 1008256 + StringLiteral 1008250 1008252 + PlusToken 1008252 1008254 + Identifier 1008254 1008256 + CallExpression 1008259 1008338 + Identifier 1008259 1008272 + ConditionalExpression 1008273 1008337 + PropertyAccessExpression 1008273 1008293 + PropertyAccessExpression 1008273 1008284 + Identifier 1008273 1008277 + Identifier 1008278 1008284 + Identifier 1008285 1008293 + QuestionToken 1008293 1008295 + Identifier 1008295 1008319 + ColonToken 1008319 1008321 + Identifier 1008321 1008337 + FunctionDeclaration 1008348 1008648 + Identifier 1008445 1008466 + Parameter 1008467 1008482 + Identifier 1008467 1008471 + TypeReference 1008472 1008482 + Identifier 1008472 1008482 + Parameter 1008483 1008503 + Identifier 1008483 1008489 + TypeReference 1008490 1008503 + Identifier 1008490 1008503 + Block 1008504 1008648 + VariableStatement 1008506 1008578 + VariableDeclarationList 1008506 1008577 + VariableDeclaration 1008521 1008577 + Identifier 1008521 1008527 + CallExpression 1008529 1008577 + Identifier 1008529 1008539 + PropertyAccessExpression 1008540 1008557 + Identifier 1008540 1008544 + Identifier 1008545 1008557 + ArrowFunction 1008558 1008576 + Parameter 1008558 1008560 + Identifier 1008558 1008560 + EqualsGreaterThanToken 1008560 1008563 + PrefixUnaryExpression 1008563 1008576 + ParenthesizedExpression 1008565 1008576 + BinaryExpression 1008566 1008575 + Identifier 1008566 1008567 + AmpersandToken 1008567 1008569 + Identifier 1008569 1008575 + ReturnStatement 1008578 1008641 + ConditionalExpression 1008594 1008640 + BinaryExpression 1008594 1008605 + Identifier 1008594 1008600 + GreaterThanEqualsToken 1008600 1008603 + NumericLiteral 1008603 1008605 + QuestionToken 1008605 1008607 + Identifier 1008607 1008613 + ColonToken 1008613 1008615 + PropertyAccessExpression 1008615 1008640 + PropertyAccessExpression 1008615 1008633 + Identifier 1008615 1008620 + Identifier 1008621 1008633 + Identifier 1008634 1008640 + FunctionDeclaration 1008648 1008909 + Identifier 1008743 1008762 + Parameter 1008763 1008778 + Identifier 1008763 1008767 + TypeReference 1008768 1008778 + Identifier 1008768 1008778 + Parameter 1008779 1008799 + Identifier 1008779 1008785 + TypeReference 1008786 1008799 + Identifier 1008786 1008799 + Block 1008800 1008909 + ReturnStatement 1008802 1008902 + BinaryExpression 1008818 1008901 + BinaryExpression 1008818 1008897 + PropertyAccessExpression 1008818 1008843 + PropertyAccessExpression 1008818 1008836 + Identifier 1008818 1008823 + Identifier 1008824 1008836 + Identifier 1008837 1008843 + MinusToken 1008843 1008845 + CallExpression 1008845 1008897 + Identifier 1008845 1008859 + PropertyAccessExpression 1008860 1008877 + Identifier 1008860 1008864 + Identifier 1008865 1008877 + ArrowFunction 1008878 1008896 + Parameter 1008878 1008880 + Identifier 1008878 1008880 + EqualsGreaterThanToken 1008880 1008883 + PrefixUnaryExpression 1008883 1008896 + ParenthesizedExpression 1008885 1008896 + BinaryExpression 1008886 1008895 + Identifier 1008886 1008887 + AmpersandToken 1008887 1008889 + Identifier 1008889 1008895 + MinusToken 1008897 1008899 + NumericLiteral 1008899 1008901 + FunctionDeclaration 1008909 1009058 + Identifier 1008925 1008951 + Parameter 1008952 1008967 + Identifier 1008952 1008956 + TypeReference 1008957 1008967 + Identifier 1008957 1008967 + Block 1008968 1009058 + ReturnStatement 1008970 1009051 + BinaryExpression 1008986 1009050 + PropertyAccessExpression 1008986 1009003 + Identifier 1008986 1008991 + Identifier 1008992 1009003 + PlusToken 1009003 1009005 + CallExpression 1009005 1009050 + Identifier 1009005 1009024 + Identifier 1009025 1009029 + PropertyAccessExpression 1009030 1009049 + Identifier 1009030 1009043 + Identifier 1009044 1009049 + FunctionDeclaration 1009058 1009345 + Identifier 1009074 1009090 + Parameter 1009091 1009115 + Identifier 1009091 1009095 + TypeReference 1009096 1009115 + Identifier 1009096 1009115 + TypeOperator 1009117 1009133 + ArrayType 1009126 1009133 + TypeReference 1009126 1009131 + Identifier 1009126 1009131 + Block 1009133 1009345 + VariableStatement 1009135 1009190 + VariableDeclarationList 1009135 1009189 + VariableDeclaration 1009150 1009189 + Identifier 1009150 1009164 + CallExpression 1009166 1009189 + Identifier 1009166 1009183 + Identifier 1009184 1009188 + VariableStatement 1009190 1009242 + VariableDeclarationList 1009190 1009241 + VariableDeclaration 1009205 1009241 + Identifier 1009205 1009211 + CallExpression 1009213 1009241 + Identifier 1009213 1009235 + Identifier 1009236 1009240 + ReturnStatement 1009242 1009338 + ConditionalExpression 1009258 1009337 + BinaryExpression 1009258 1009289 + PropertyAccessExpression 1009258 1009279 + Identifier 1009258 1009272 + Identifier 1009273 1009279 + EqualsEqualsEqualsToken 1009279 1009283 + Identifier 1009283 1009289 + QuestionToken 1009289 1009291 + Identifier 1009291 1009305 + ColonToken 1009305 1009307 + CallExpression 1009307 1009337 + PropertyAccessExpression 1009307 1009327 + Identifier 1009307 1009321 + Identifier 1009322 1009327 + NumericLiteral 1009328 1009329 + Identifier 1009330 1009336 + FunctionDeclaration 1009345 1009513 + Identifier 1009361 1009389 + Parameter 1009390 1009412 + Identifier 1009390 1009394 + TypeReference 1009395 1009412 + Identifier 1009395 1009412 + TypeReference 1009414 1009419 + Identifier 1009414 1009419 + Block 1009419 1009513 + ReturnStatement 1009421 1009506 + CallExpression 1009437 1009505 + Identifier 1009437 1009452 + CallExpression 1009453 1009483 + Identifier 1009453 1009472 + PropertyAccessExpression 1009473 1009482 + Identifier 1009473 1009477 + Identifier 1009478 1009482 + TrueKeyword 1009484 1009504 + FunctionDeclaration 1009513 1009593 + Identifier 1009529 1009539 + Parameter 1009540 1009550 + Identifier 1009540 1009544 + TypeReference 1009545 1009550 + Identifier 1009545 1009550 + TypeReference 1009552 1009559 + Identifier 1009552 1009559 + Block 1009559 1009593 + ReturnStatement 1009561 1009586 + PropertyAccessExpression 1009577 1009585 + Identifier 1009577 1009582 + Identifier 1009583 1009585 + FunctionDeclaration 1009593 1009750 + Identifier 1009609 1009622 + Parameter 1009623 1009645 + Identifier 1009623 1009628 + TypeOperator 1009629 1009645 + ArrayType 1009638 1009645 + TypeReference 1009638 1009643 + Identifier 1009638 1009643 + Parameter 1009646 1009657 + Identifier 1009646 1009651 + TypeReference 1009652 1009657 + Identifier 1009652 1009657 + BooleanKeyword 1009659 1009667 + Block 1009667 1009750 + ReturnStatement 1009669 1009743 + BinaryExpression 1009685 1009742 + CallExpression 1009685 1009737 + Identifier 1009685 1009698 + Identifier 1009699 1009704 + Identifier 1009705 1009710 + Identifier 1009711 1009721 + Identifier 1009722 1009736 + GreaterThanEqualsToken 1009737 1009740 + NumericLiteral 1009740 1009742 + FunctionDeclaration 1009750 1010028 + Identifier 1009766 1009777 + Parameter 1009778 1009791 + Identifier 1009778 1009783 + ArrayType 1009784 1009791 + TypeReference 1009784 1009789 + Identifier 1009784 1009789 + Parameter 1009792 1009803 + Identifier 1009792 1009797 + TypeReference 1009798 1009803 + Identifier 1009798 1009803 + BooleanKeyword 1009805 1009813 + Block 1009813 1010028 + VariableStatement 1009815 1009891 + VariableDeclarationList 1009815 1009890 + VariableDeclaration 1009830 1009890 + Identifier 1009830 1009836 + CallExpression 1009838 1009890 + Identifier 1009838 1009851 + Identifier 1009852 1009857 + Identifier 1009858 1009863 + Identifier 1009864 1009874 + Identifier 1009875 1009889 + IfStatement 1009891 1009998 + BinaryExpression 1009905 1009914 + Identifier 1009905 1009910 + LessThanToken 1009910 1009912 + NumericLiteral 1009912 1009914 + Block 1009915 1009998 + ExpressionStatement 1009917 1009961 + CallExpression 1009917 1009960 + PropertyAccessExpression 1009917 1009943 + Identifier 1009917 1009936 + Identifier 1009937 1009943 + PrefixUnaryExpression 1009944 1009950 + Identifier 1009945 1009950 + NumericLiteral 1009951 1009953 + Identifier 1009954 1009959 + ReturnStatement 1009961 1009987 + TrueKeyword 1009981 1009986 + ReturnStatement 1009998 1010021 + FalseKeyword 1010014 1010020 + FunctionDeclaration 1010028 1011280 + Identifier 1010044 1010059 + Parameter 1010060 1010075 + Identifier 1010060 1010067 + ArrayType 1010068 1010075 + TypeReference 1010068 1010073 + Identifier 1010068 1010073 + Parameter 1010076 1010096 + Identifier 1010076 1010085 + TypeReference 1010086 1010096 + Identifier 1010086 1010096 + Parameter 1010097 1010108 + Identifier 1010097 1010102 + TypeReference 1010103 1010108 + Identifier 1010103 1010108 + Block 1010109 1011280 + VariableStatement 1010111 1010146 + VariableDeclarationList 1010111 1010145 + VariableDeclaration 1010126 1010145 + Identifier 1010126 1010132 + PropertyAccessExpression 1010134 1010145 + Identifier 1010134 1010139 + Identifier 1010140 1010145 + IfStatement 1010146 1011247 + PrefixUnaryExpression 1010206 1010232 + ParenthesizedExpression 1010207 1010232 + BinaryExpression 1010208 1010231 + Identifier 1010208 1010213 + AmpersandToken 1010213 1010215 + PropertyAccessExpression 1010215 1010231 + Identifier 1010215 1010225 + Identifier 1010226 1010231 + Block 1010233 1011247 + ExpressionStatement 1010235 1010292 + BinaryExpression 1010235 1010291 + Identifier 1010235 1010257 + BarEqualsToken 1010257 1010260 + BinaryExpression 1010260 1010291 + Identifier 1010260 1010266 + AmpersandToken 1010266 1010268 + PropertyAccessExpression 1010268 1010291 + Identifier 1010268 1010278 + Identifier 1010279 1010291 + IfStatement 1010292 1010385 + BinaryExpression 1010310 1010340 + Identifier 1010310 1010315 + AmpersandToken 1010315 1010317 + PropertyAccessExpression 1010317 1010340 + Identifier 1010317 1010327 + Identifier 1010328 1010340 + ExpressionStatement 1010341 1010385 + BinaryExpression 1010341 1010384 + Identifier 1010341 1010350 + BarEqualsToken 1010350 1010353 + PropertyAccessExpression 1010353 1010384 + Identifier 1010353 1010363 + Identifier 1010364 1010384 + IfStatement 1010385 1010553 + BinaryExpression 1010403 1010497 + BinaryExpression 1010403 1010433 + Identifier 1010403 1010408 + AmpersandToken 1010408 1010410 + PropertyAccessExpression 1010410 1010433 + Identifier 1010410 1010420 + Identifier 1010421 1010433 + AmpersandAmpersandToken 1010433 1010436 + BinaryExpression 1010436 1010497 + CallExpression 1010436 1010457 + Identifier 1010436 1010451 + Identifier 1010452 1010456 + AmpersandToken 1010457 1010459 + PropertyAccessExpression 1010459 1010497 + Identifier 1010459 1010471 + Identifier 1010472 1010497 + ExpressionStatement 1010498 1010553 + BinaryExpression 1010498 1010552 + Identifier 1010498 1010507 + BarEqualsToken 1010507 1010510 + PropertyAccessExpression 1010510 1010552 + Identifier 1010510 1010520 + Identifier 1010521 1010552 + IfStatement 1010553 1010633 + BinaryExpression 1010571 1010592 + Identifier 1010571 1010575 + EqualsEqualsEqualsToken 1010575 1010579 + Identifier 1010579 1010592 + ExpressionStatement 1010593 1010633 + BinaryExpression 1010593 1010632 + Identifier 1010593 1010602 + BarEqualsToken 1010602 1010605 + PropertyAccessExpression 1010605 1010632 + Identifier 1010605 1010615 + Identifier 1010616 1010632 + IfStatement 1010633 1010706 + CallExpression 1010651 1010668 + Identifier 1010651 1010662 + Identifier 1010663 1010667 + ExpressionStatement 1010669 1010706 + BinaryExpression 1010669 1010705 + Identifier 1010669 1010678 + BarEqualsToken 1010678 1010681 + PropertyAccessExpression 1010681 1010705 + Identifier 1010681 1010691 + Identifier 1010692 1010705 + IfStatement 1010706 1011236 + BinaryExpression 1010724 1010771 + PrefixUnaryExpression 1010724 1010741 + Identifier 1010725 1010741 + AmpersandAmpersandToken 1010741 1010744 + BinaryExpression 1010744 1010771 + Identifier 1010744 1010750 + AmpersandToken 1010750 1010752 + PropertyAccessExpression 1010752 1010771 + Identifier 1010752 1010762 + Identifier 1010763 1010771 + Block 1010772 1010917 + IfStatement 1010774 1010902 + PrefixUnaryExpression 1010796 1010854 + ParenthesizedExpression 1010797 1010854 + BinaryExpression 1010798 1010853 + CallExpression 1010798 1010818 + Identifier 1010798 1010812 + Identifier 1010813 1010817 + AmpersandToken 1010818 1010820 + PropertyAccessExpression 1010820 1010853 + Identifier 1010820 1010832 + Identifier 1010833 1010853 + ExpressionStatement 1010855 1010902 + BinaryExpression 1010855 1010901 + Identifier 1010855 1010864 + BarEqualsToken 1010864 1010867 + PropertyAccessExpression 1010867 1010901 + Identifier 1010867 1010877 + Identifier 1010878 1010901 + Block 1010935 1011236 + VariableStatement 1010937 1010982 + VariableDeclarationList 1010937 1010981 + VariableDeclaration 1010960 1010981 + Identifier 1010960 1010964 + PropertyAccessExpression 1010966 1010981 + Identifier 1010966 1010974 + Identifier 1010975 1010981 + VariableStatement 1010982 1011114 + VariableDeclarationList 1010982 1011113 + VariableDeclaration 1011005 1011113 + Identifier 1011005 1011011 + ConditionalExpression 1011013 1011113 + BinaryExpression 1011013 1011050 + Identifier 1011013 1011017 + AmpersandAmpersandToken 1011017 1011020 + BinaryExpression 1011020 1011050 + PropertyAccessExpression 1011020 1011028 + Identifier 1011020 1011025 + Identifier 1011026 1011028 + GreaterThanToken 1011028 1011030 + PropertyAccessExpression 1011030 1011050 + ElementAccessExpression 1011030 1011047 + Identifier 1011030 1011038 + BinaryExpression 1011039 1011046 + Identifier 1011039 1011042 + MinusToken 1011042 1011044 + NumericLiteral 1011044 1011046 + Identifier 1011048 1011050 + QuestionToken 1011050 1011052 + PrefixUnaryExpression 1011052 1011057 + Identifier 1011054 1011057 + ColonToken 1011057 1011059 + CallExpression 1011059 1011113 + Identifier 1011059 1011072 + Identifier 1011073 1011080 + Identifier 1011081 1011086 + Identifier 1011087 1011097 + Identifier 1011098 1011112 + IfStatement 1011114 1011221 + BinaryExpression 1011136 1011145 + Identifier 1011136 1011141 + LessThanToken 1011141 1011143 + NumericLiteral 1011143 1011145 + Block 1011146 1011221 + ExpressionStatement 1011148 1011202 + CallExpression 1011148 1011201 + PropertyAccessExpression 1011148 1011184 + Identifier 1011148 1011177 + Identifier 1011178 1011184 + PrefixUnaryExpression 1011185 1011191 + Identifier 1011186 1011191 + NumericLiteral 1011192 1011194 + Identifier 1011195 1011200 + ReturnStatement 1011247 1011273 + Identifier 1011263 1011272 + FunctionDeclaration 1011280 1012300 + Identifier 1011462 1011478 + Parameter 1011479 1011494 + Identifier 1011479 1011486 + ArrayType 1011487 1011494 + TypeReference 1011487 1011492 + Identifier 1011487 1011492 + Parameter 1011495 1011515 + Identifier 1011495 1011504 + TypeReference 1011505 1011515 + Identifier 1011505 1011515 + Parameter 1011516 1011539 + Identifier 1011516 1011522 + TypeOperator 1011523 1011539 + ArrayType 1011532 1011539 + TypeReference 1011532 1011537 + Identifier 1011532 1011537 + TypeReference 1011541 1011551 + Identifier 1011541 1011551 + Block 1011551 1012300 + VariableStatement 1011553 1011594 + VariableDeclarationList 1011553 1011593 + VariableDeclaration 1011566 1011593 + Identifier 1011566 1011575 + UnionType 1011576 1011593 + TypeReference 1011576 1011581 + Identifier 1011576 1011581 + UndefinedKeyword 1011583 1011593 + ForOfStatement 1011594 1012267 + VariableDeclarationList 1011609 1011619 + VariableDeclaration 1011614 1011619 + Identifier 1011614 1011619 + Identifier 1011622 1011628 + Block 1011629 1012267 + IfStatement 1011631 1012256 + BinaryExpression 1011932 1011949 + Identifier 1011932 1011936 + ExclamationEqualsEqualsToken 1011936 1011940 + Identifier 1011940 1011949 + Block 1011950 1012256 + ExpressionStatement 1011952 1012207 + BinaryExpression 1011952 1012206 + Identifier 1011952 1011978 + EqualsToken 1011978 1011980 + ConditionalExpression 1011980 1012206 + BinaryExpression 1011980 1012009 + PropertyAccessExpression 1011980 1011991 + Identifier 1011980 1011985 + Identifier 1011986 1011991 + AmpersandToken 1011991 1011993 + PropertyAccessExpression 1011993 1012009 + Identifier 1011993 1012003 + Identifier 1012004 1012009 + QuestionToken 1012009 1012011 + CallExpression 1012011 1012143 + Identifier 1012011 1012048 + Identifier 1012049 1012056 + BinaryExpression 1012057 1012115 + Identifier 1012057 1012066 + BarToken 1012066 1012068 + ParenthesizedExpression 1012068 1012115 + ConditionalExpression 1012070 1012114 + CallExpression 1012070 1012092 + Identifier 1012070 1012086 + Identifier 1012087 1012091 + QuestionToken 1012092 1012094 + PropertyAccessExpression 1012094 1012110 + Identifier 1012094 1012104 + Identifier 1012105 1012110 + ColonToken 1012110 1012112 + NumericLiteral 1012112 1012114 + PropertyAccessExpression 1012116 1012142 + ParenthesizedExpression 1012116 1012136 + AsExpression 1012118 1012135 + Identifier 1012118 1012122 + TypeReference 1012125 1012135 + Identifier 1012125 1012135 + Identifier 1012137 1012142 + ColonToken 1012143 1012145 + CallExpression 1012145 1012206 + Identifier 1012145 1012181 + Identifier 1012182 1012189 + Identifier 1012190 1012199 + Identifier 1012200 1012205 + ExpressionStatement 1012207 1012241 + BinaryExpression 1012207 1012240 + Identifier 1012207 1012233 + EqualsToken 1012233 1012235 + Identifier 1012235 1012240 + ReturnStatement 1012267 1012293 + Identifier 1012283 1012292 + FunctionDeclaration 1012300 1017289 + Identifier 1012316 1012331 + Parameter 1012332 1012345 + Identifier 1012332 1012337 + ArrayType 1012338 1012345 + TypeReference 1012338 1012343 + Identifier 1012338 1012343 + Parameter 1012346 1012370 + Identifier 1012346 1012361 + BooleanKeyword 1012362 1012370 + UnionType 1012372 1012391 + ArrayType 1012372 1012379 + TypeReference 1012372 1012377 + Identifier 1012372 1012377 + UndefinedKeyword 1012381 1012391 + Block 1012391 1017289 + IfStatement 1012393 1012533 + BinaryExpression 1012476 1012492 + PropertyAccessExpression 1012476 1012488 + Identifier 1012476 1012481 + Identifier 1012482 1012488 + LessThanToken 1012488 1012490 + NumericLiteral 1012490 1012492 + Block 1012493 1012533 + ReturnStatement 1012495 1012522 + Identifier 1012515 1012521 + VariableStatement 1012533 1012577 + VariableDeclarationList 1012533 1012576 + VariableDeclaration 1012550 1012576 + Identifier 1012550 1012553 + CallExpression 1012555 1012576 + Identifier 1012555 1012569 + Identifier 1012570 1012575 + VariableStatement 1012577 1012631 + VariableDeclarationList 1012577 1012630 + VariableDeclaration 1012592 1012630 + Identifier 1012592 1012598 + CallExpression 1012600 1012630 + PropertyAccessExpression 1012600 1012626 + Identifier 1012600 1012622 + Identifier 1012623 1012626 + Identifier 1012627 1012629 + IfStatement 1012631 1012691 + Identifier 1012645 1012650 + Block 1012651 1012691 + ReturnStatement 1012653 1012680 + Identifier 1012673 1012679 + VariableStatement 1012691 1013239 + VariableDeclarationList 1012691 1013238 + VariableDeclaration 1013057 1013238 + Identifier 1013057 1013072 + BinaryExpression 1013074 1013238 + Identifier 1013074 1013089 + AmpersandAmpersandToken 1013089 1013092 + CallExpression 1013092 1013238 + Identifier 1013092 1013097 + Identifier 1013098 1013103 + ArrowFunction 1013104 1013237 + Parameter 1013104 1013106 + Identifier 1013104 1013106 + EqualsGreaterThanToken 1013106 1013109 + BinaryExpression 1013109 1013237 + BinaryExpression 1013109 1013167 + PrefixUnaryExpression 1013109 1013140 + PrefixUnaryExpression 1013111 1013140 + ParenthesizedExpression 1013112 1013140 + BinaryExpression 1013113 1013139 + PropertyAccessExpression 1013113 1013120 + Identifier 1013113 1013114 + Identifier 1013115 1013120 + AmpersandToken 1013120 1013122 + PropertyAccessExpression 1013122 1013139 + Identifier 1013122 1013132 + Identifier 1013133 1013139 + AmpersandAmpersandToken 1013140 1013143 + PrefixUnaryExpression 1013143 1013167 + CallExpression 1013145 1013167 + Identifier 1013145 1013164 + Identifier 1013165 1013166 + AmpersandAmpersandToken 1013167 1013170 + CallExpression 1013170 1013237 + Identifier 1013170 1013190 + CallExpression 1013191 1013236 + Identifier 1013191 1013219 + AsExpression 1013220 1013235 + Identifier 1013220 1013221 + TypeReference 1013224 1013235 + Identifier 1013224 1013235 + VariableStatement 1013239 1013274 + VariableDeclarationList 1013239 1013273 + VariableDeclaration 1013254 1013273 + Identifier 1013254 1013258 + PropertyAccessExpression 1013260 1013273 + Identifier 1013260 1013266 + Identifier 1013267 1013273 + VariableStatement 1013274 1013296 + VariableDeclarationList 1013274 1013295 + VariableDeclaration 1013287 1013295 + Identifier 1013287 1013289 + Identifier 1013291 1013295 + VariableStatement 1013296 1013320 + VariableDeclarationList 1013296 1013319 + VariableDeclaration 1013309 1013319 + Identifier 1013309 1013315 + NumericLiteral 1013317 1013319 + WhileStatement 1013320 1017212 + BinaryExpression 1013337 1013342 + Identifier 1013337 1013338 + GreaterThanToken 1013338 1013340 + NumericLiteral 1013340 1013342 + Block 1013343 1017212 + ExpressionStatement 1013345 1013363 + PostfixUnaryExpression 1013345 1013362 + Identifier 1013345 1013360 + VariableStatement 1013363 1013401 + VariableDeclarationList 1013363 1013400 + VariableDeclaration 1013382 1013400 + Identifier 1013382 1013389 + ElementAccessExpression 1013391 1013400 + Identifier 1013391 1013397 + Identifier 1013398 1013399 + IfStatement 1013401 1017201 + BinaryExpression 1013419 1013486 + Identifier 1013419 1013433 + BarBarToken 1013433 1013436 + BinaryExpression 1013436 1013486 + PropertyAccessExpression 1013436 1013449 + Identifier 1013436 1013443 + Identifier 1013444 1013449 + AmpersandToken 1013449 1013451 + PropertyAccessExpression 1013451 1013486 + Identifier 1013451 1013461 + Identifier 1013462 1013486 + Block 1013487 1017201 + IfStatement 1013489 1014322 + BinaryExpression 1013957 1014054 + BinaryExpression 1013957 1013995 + PropertyAccessExpression 1013957 1013969 + Identifier 1013957 1013963 + Identifier 1013964 1013969 + AmpersandToken 1013969 1013971 + PropertyAccessExpression 1013971 1013995 + Identifier 1013971 1013981 + Identifier 1013982 1013995 + AmpersandAmpersandToken 1013995 1013998 + BinaryExpression 1013998 1014054 + PropertyAccessExpression 1013998 1014036 + CallExpression 1013998 1014030 + Identifier 1013998 1014022 + Identifier 1014023 1014029 + Identifier 1014031 1014036 + AmpersandToken 1014036 1014038 + PropertyAccessExpression 1014038 1014054 + Identifier 1014038 1014048 + Identifier 1014049 1014054 + Block 1014055 1014322 + IfStatement 1014057 1014272 + CallExpression 1014083 1014190 + Identifier 1014083 1014098 + Identifier 1014099 1014105 + CallExpression 1014106 1014166 + Identifier 1014106 1014119 + CallExpression 1014120 1014165 + Identifier 1014120 1014123 + Identifier 1014124 1014129 + ArrowFunction 1014130 1014164 + Parameter 1014130 1014132 + Identifier 1014130 1014132 + EqualsGreaterThanToken 1014132 1014135 + ConditionalExpression 1014135 1014164 + BinaryExpression 1014135 1014148 + Identifier 1014135 1014137 + EqualsEqualsEqualsToken 1014137 1014141 + Identifier 1014141 1014148 + QuestionToken 1014148 1014150 + Identifier 1014150 1014160 + ColonToken 1014160 1014162 + Identifier 1014162 1014164 + Identifier 1014167 1014189 + Block 1014191 1014272 + ExpressionStatement 1014193 1014249 + CallExpression 1014193 1014248 + Identifier 1014193 1014238 + Identifier 1014239 1014244 + Identifier 1014245 1014247 + ContinueStatement 1014272 1014303 + VariableStatement 1014322 1014891 + VariableDeclarationList 1014322 1014890 + VariableDeclaration 1014653 1014890 + Identifier 1014653 1014665 + ConditionalExpression 1014667 1014890 + BinaryExpression 1014667 1014763 + PropertyAccessExpression 1014667 1014680 + Identifier 1014667 1014674 + Identifier 1014675 1014680 + AmpersandToken 1014680 1014682 + ParenthesizedExpression 1014682 1014763 + BinaryExpression 1014684 1014762 + BinaryExpression 1014684 1014725 + PropertyAccessExpression 1014684 1014700 + Identifier 1014684 1014693 + Identifier 1014694 1014700 + BarToken 1014700 1014702 + PropertyAccessExpression 1014702 1014725 + Identifier 1014702 1014712 + Identifier 1014713 1014725 + BarToken 1014725 1014727 + PropertyAccessExpression 1014727 1014762 + Identifier 1014727 1014737 + Identifier 1014738 1014762 + QuestionToken 1014763 1014765 + CallExpression 1014765 1014857 + Identifier 1014765 1014791 + CallExpression 1014792 1014819 + Identifier 1014792 1014811 + Identifier 1014812 1014818 + ArrowFunction 1014820 1014856 + Parameter 1014820 1014822 + Identifier 1014820 1014822 + EqualsGreaterThanToken 1014822 1014825 + CallExpression 1014825 1014856 + Identifier 1014825 1014836 + CallExpression 1014837 1014855 + Identifier 1014837 1014852 + Identifier 1014853 1014854 + ColonToken 1014857 1014859 + Identifier 1014859 1014890 + VariableStatement 1014891 1015006 + VariableDeclarationList 1014891 1015005 + VariableDeclaration 1014914 1015005 + Identifier 1014914 1014930 + BinaryExpression 1014932 1015005 + Identifier 1014932 1014944 + AmpersandAmpersandToken 1014944 1014947 + CallExpression 1014947 1015005 + Identifier 1014947 1014975 + CallExpression 1014976 1015004 + Identifier 1014976 1014991 + Identifier 1014992 1015003 + ForOfStatement 1015006 1017186 + VariableDeclarationList 1015029 1015041 + VariableDeclaration 1015034 1015041 + Identifier 1015034 1015041 + Identifier 1015044 1015050 + Block 1015051 1017186 + IfStatement 1015053 1017167 + BinaryExpression 1015079 1015096 + Identifier 1015079 1015085 + ExclamationEqualsEqualsToken 1015085 1015089 + Identifier 1015089 1015096 + Block 1015097 1017167 + IfStatement 1015099 1016097 + BinaryExpression 1015129 1015145 + Identifier 1015129 1015134 + EqualsEqualsEqualsToken 1015134 1015138 + NumericLiteral 1015138 1015145 + Block 1015146 1016097 + VariableStatement 1015148 1015654 + VariableDeclarationList 1015148 1015653 + VariableDeclaration 1015610 1015653 + Identifier 1015610 1015625 + BinaryExpression 1015627 1015653 + ParenthesizedExpression 1015627 1015647 + BinaryExpression 1015629 1015646 + Identifier 1015629 1015634 + SlashToken 1015634 1015636 + ParenthesizedExpression 1015636 1015646 + BinaryExpression 1015638 1015645 + Identifier 1015638 1015641 + MinusToken 1015641 1015643 + Identifier 1015643 1015645 + AsteriskToken 1015647 1015649 + Identifier 1015649 1015653 + IfStatement 1015654 1016070 + BinaryExpression 1015688 1015712 + Identifier 1015688 1015702 + GreaterThanToken 1015702 1015704 + NumericLiteral 1015704 1015712 + Block 1015713 1016070 + ExpressionStatement 1015715 1015856 + CallExpression 1015715 1015855 + PropertyAccessExpression 1015715 1015765 + Identifier 1015715 1015756 + QuestionDotToken 1015756 1015758 + Identifier 1015758 1015765 + PropertyAccessExpression 1015766 1015790 + PropertyAccessExpression 1015766 1015779 + Identifier 1015766 1015773 + Identifier 1015774 1015779 + Identifier 1015780 1015790 + StringLiteral 1015791 1015819 + ObjectLiteralExpression 1015820 1015854 + PropertyAssignment 1015822 1015852 + Identifier 1015822 1015830 + CallExpression 1015831 1015852 + PropertyAccessExpression 1015831 1015841 + Identifier 1015831 1015837 + Identifier 1015838 1015841 + ArrowFunction 1015842 1015851 + Parameter 1015842 1015843 + Identifier 1015842 1015843 + EqualsGreaterThanToken 1015843 1015846 + PropertyAccessExpression 1015846 1015851 + Identifier 1015846 1015848 + Identifier 1015849 1015851 + ExpressionStatement 1015856 1015988 + CallExpression 1015856 1015987 + Identifier 1015856 1015895 + Identifier 1015896 1015907 + PropertyAccessExpression 1015908 1015986 + Identifier 1015908 1015920 + Identifier 1015921 1015986 + ReturnStatement 1015988 1016039 + Identifier 1016028 1016038 + ExpressionStatement 1016097 1016131 + PostfixUnaryExpression 1016097 1016130 + Identifier 1016097 1016128 + IfStatement 1016131 1016581 + BinaryExpression 1016161 1016271 + Identifier 1016161 1016172 + AmpersandAmpersandToken 1016172 1016175 + BinaryExpression 1016175 1016271 + PropertyAccessExpression 1016175 1016188 + Identifier 1016175 1016182 + Identifier 1016183 1016188 + AmpersandToken 1016188 1016190 + ParenthesizedExpression 1016190 1016271 + BinaryExpression 1016192 1016270 + BinaryExpression 1016192 1016233 + PropertyAccessExpression 1016192 1016208 + Identifier 1016192 1016201 + Identifier 1016202 1016208 + BarToken 1016208 1016210 + PropertyAccessExpression 1016210 1016233 + Identifier 1016210 1016220 + Identifier 1016221 1016233 + BarToken 1016233 1016235 + PropertyAccessExpression 1016235 1016270 + Identifier 1016235 1016245 + Identifier 1016246 1016270 + Block 1016272 1016581 + VariableStatement 1016274 1016371 + VariableDeclarationList 1016274 1016370 + VariableDeclaration 1016309 1016370 + Identifier 1016309 1016311 + CallExpression 1016313 1016370 + Identifier 1016313 1016337 + Identifier 1016338 1016344 + PropertyAccessExpression 1016345 1016369 + Identifier 1016345 1016357 + Identifier 1016358 1016369 + IfStatement 1016371 1016554 + BinaryExpression 1016405 1016477 + BinaryExpression 1016405 1016423 + Identifier 1016405 1016406 + AmpersandAmpersandToken 1016406 1016409 + CallExpression 1016409 1016423 + Identifier 1016409 1016420 + Identifier 1016421 1016422 + AmpersandAmpersandToken 1016423 1016426 + BinaryExpression 1016426 1016477 + CallExpression 1016426 1016457 + Identifier 1016426 1016454 + Identifier 1016455 1016456 + ExclamationEqualsEqualsToken 1016457 1016461 + Identifier 1016461 1016477 + Block 1016478 1016554 + ContinueStatement 1016480 1016523 + IfStatement 1016581 1017144 + BinaryExpression 1016611 1016992 + CallExpression 1016611 1016695 + Identifier 1016611 1016656 + Identifier 1016657 1016663 + Identifier 1016664 1016671 + Identifier 1016672 1016694 + AmpersandAmpersandToken 1016695 1016698 + ParenthesizedExpression 1016698 1016992 + BinaryExpression 1016700 1016961 + BinaryExpression 1016700 1016891 + PrefixUnaryExpression 1016700 1016794 + ParenthesizedExpression 1016735 1016794 + BinaryExpression 1016736 1016793 + CallExpression 1016736 1016773 + Identifier 1016736 1016750 + CallExpression 1016751 1016772 + Identifier 1016751 1016764 + Identifier 1016765 1016771 + AmpersandToken 1016773 1016775 + PropertyAccessExpression 1016775 1016793 + Identifier 1016775 1016787 + Identifier 1016788 1016793 + BarBarToken 1016794 1016797 + PrefixUnaryExpression 1016797 1016891 + ParenthesizedExpression 1016832 1016891 + BinaryExpression 1016833 1016890 + CallExpression 1016833 1016870 + Identifier 1016833 1016847 + CallExpression 1016848 1016869 + Identifier 1016848 1016861 + Identifier 1016862 1016868 + AmpersandToken 1016870 1016872 + PropertyAccessExpression 1016872 1016890 + Identifier 1016872 1016884 + Identifier 1016885 1016890 + BarBarToken 1016891 1016894 + CallExpression 1016894 1016961 + Identifier 1016894 1016945 + Identifier 1016946 1016952 + Identifier 1016953 1016960 + Block 1017019 1017144 + ExpressionStatement 1017021 1017081 + CallExpression 1017021 1017080 + Identifier 1017021 1017070 + Identifier 1017071 1017076 + Identifier 1017077 1017079 + BreakStatement 1017081 1017117 + ExpressionStatement 1017212 1017259 + CallExpression 1017212 1017258 + PropertyAccessExpression 1017212 1017247 + Identifier 1017212 1017243 + Identifier 1017244 1017247 + Identifier 1017248 1017250 + Identifier 1017251 1017257 + ReturnStatement 1017259 1017282 + Identifier 1017275 1017281 + FunctionDeclaration 1017289 1018249 + Identifier 1017305 1017333 + Parameter 1017334 1017347 + Identifier 1017334 1017339 + ArrayType 1017340 1017347 + TypeReference 1017340 1017345 + Identifier 1017340 1017345 + Parameter 1017348 1017368 + Identifier 1017348 1017357 + TypeReference 1017358 1017368 + Identifier 1017358 1017368 + Parameter 1017369 1017398 + Identifier 1017369 1017389 + BooleanKeyword 1017390 1017398 + Block 1017399 1018249 + VariableStatement 1017401 1017432 + VariableDeclarationList 1017401 1017431 + VariableDeclaration 1017414 1017431 + Identifier 1017414 1017416 + PropertyAccessExpression 1017418 1017431 + Identifier 1017418 1017424 + Identifier 1017425 1017431 + WhileStatement 1017432 1018242 + BinaryExpression 1017449 1017454 + Identifier 1017449 1017450 + GreaterThanToken 1017450 1017452 + NumericLiteral 1017452 1017454 + Block 1017455 1018242 + ExpressionStatement 1017457 1017475 + PostfixUnaryExpression 1017457 1017474 + Identifier 1017457 1017472 + VariableStatement 1017475 1017508 + VariableDeclarationList 1017475 1017507 + VariableDeclaration 1017494 1017507 + Identifier 1017494 1017496 + ElementAccessExpression 1017498 1017507 + Identifier 1017498 1017504 + Identifier 1017505 1017506 + VariableStatement 1017508 1017544 + VariableDeclarationList 1017508 1017543 + VariableDeclaration 1017527 1017543 + Identifier 1017527 1017533 + PropertyAccessExpression 1017535 1017543 + Identifier 1017535 1017537 + Identifier 1017538 1017543 + VariableStatement 1017544 1018141 + VariableDeclarationList 1017544 1018140 + VariableDeclaration 1017563 1018140 + Identifier 1017563 1017570 + BinaryExpression 1017572 1018140 + BinaryExpression 1017572 1018043 + BinaryExpression 1017572 1017943 + BinaryExpression 1017572 1017857 + BinaryExpression 1017572 1017774 + BinaryExpression 1017572 1017691 + BinaryExpression 1017572 1017660 + Identifier 1017572 1017578 + AmpersandToken 1017578 1017580 + ParenthesizedExpression 1017580 1017660 + BinaryExpression 1017582 1017659 + BinaryExpression 1017582 1017633 + PropertyAccessExpression 1017582 1017605 + Identifier 1017582 1017591 + Identifier 1017592 1017605 + BarToken 1017605 1017607 + PropertyAccessExpression 1017607 1017633 + Identifier 1017607 1017617 + Identifier 1017618 1017633 + BarToken 1017633 1017635 + PropertyAccessExpression 1017635 1017659 + Identifier 1017635 1017645 + Identifier 1017646 1017659 + AmpersandAmpersandToken 1017660 1017663 + BinaryExpression 1017663 1017691 + Identifier 1017663 1017672 + AmpersandToken 1017672 1017674 + PropertyAccessExpression 1017674 1017691 + Identifier 1017674 1017684 + Identifier 1017685 1017691 + BarBarToken 1017691 1017694 + BinaryExpression 1017694 1017774 + BinaryExpression 1017694 1017743 + Identifier 1017694 1017717 + AmpersandToken 1017717 1017719 + PropertyAccessExpression 1017719 1017743 + Identifier 1017719 1017729 + Identifier 1017730 1017743 + AmpersandAmpersandToken 1017743 1017746 + BinaryExpression 1017746 1017774 + Identifier 1017746 1017755 + AmpersandToken 1017755 1017757 + PropertyAccessExpression 1017757 1017774 + Identifier 1017757 1017767 + Identifier 1017768 1017774 + BarBarToken 1017774 1017777 + BinaryExpression 1017777 1017857 + BinaryExpression 1017777 1017826 + Identifier 1017777 1017800 + AmpersandToken 1017800 1017802 + PropertyAccessExpression 1017802 1017826 + Identifier 1017802 1017812 + Identifier 1017813 1017826 + AmpersandAmpersandToken 1017826 1017829 + BinaryExpression 1017829 1017857 + Identifier 1017829 1017838 + AmpersandToken 1017838 1017840 + PropertyAccessExpression 1017840 1017857 + Identifier 1017840 1017850 + Identifier 1017851 1017857 + BarBarToken 1017857 1017860 + BinaryExpression 1017860 1017943 + BinaryExpression 1017860 1017910 + Identifier 1017860 1017883 + AmpersandToken 1017883 1017885 + PropertyAccessExpression 1017885 1017910 + Identifier 1017885 1017895 + Identifier 1017896 1017910 + AmpersandAmpersandToken 1017910 1017913 + BinaryExpression 1017913 1017943 + Identifier 1017913 1017922 + AmpersandToken 1017922 1017924 + PropertyAccessExpression 1017924 1017943 + Identifier 1017924 1017934 + Identifier 1017935 1017943 + BarBarToken 1017943 1017946 + BinaryExpression 1017946 1018043 + BinaryExpression 1017946 1018014 + Identifier 1017946 1017983 + AmpersandAmpersandToken 1017983 1017986 + BinaryExpression 1017986 1018014 + Identifier 1017986 1017992 + AmpersandToken 1017992 1017994 + PropertyAccessExpression 1017994 1018014 + Identifier 1017994 1018004 + Identifier 1018005 1018014 + AmpersandAmpersandToken 1018014 1018017 + BinaryExpression 1018017 1018043 + Identifier 1018017 1018026 + AmpersandToken 1018026 1018028 + PropertyAccessExpression 1018028 1018043 + Identifier 1018028 1018038 + Identifier 1018039 1018043 + BarBarToken 1018043 1018046 + BinaryExpression 1018046 1018140 + CallExpression 1018046 1018085 + Identifier 1018046 1018082 + Identifier 1018083 1018084 + AmpersandAmpersandToken 1018085 1018088 + CallExpression 1018088 1018140 + Identifier 1018088 1018101 + Identifier 1018102 1018107 + PropertyAccessExpression 1018108 1018139 + ParenthesizedExpression 1018108 1018127 + AsExpression 1018110 1018126 + Identifier 1018110 1018111 + TypeReference 1018114 1018126 + Identifier 1018114 1018126 + Identifier 1018128 1018139 + IfStatement 1018141 1018231 + Identifier 1018159 1018165 + Block 1018166 1018231 + ExpressionStatement 1018168 1018216 + CallExpression 1018168 1018215 + Identifier 1018168 1018205 + Identifier 1018206 1018211 + Identifier 1018212 1018214 + FunctionDeclaration 1018249 1018848 + Identifier 1018265 1018311 + Parameter 1018312 1018325 + Identifier 1018312 1018317 + ArrayType 1018318 1018325 + TypeReference 1018318 1018323 + Identifier 1018318 1018323 + Block 1018326 1018848 + VariableStatement 1018328 1018439 + VariableDeclarationList 1018328 1018438 + VariableDeclaration 1018343 1018438 + Identifier 1018343 1018353 + AsExpression 1018355 1018438 + CallExpression 1018355 1018391 + Identifier 1018355 1018362 + Identifier 1018363 1018368 + Identifier 1018369 1018390 + ArrayType 1018394 1018438 + ParenthesizedType 1018394 1018436 + UnionType 1018396 1018435 + TypeReference 1018396 1018415 + Identifier 1018396 1018415 + TypeReference 1018417 1018435 + Identifier 1018417 1018435 + IfStatement 1018439 1018841 + PropertyAccessExpression 1018453 1018469 + Identifier 1018453 1018462 + Identifier 1018463 1018469 + Block 1018470 1018841 + VariableStatement 1018472 1018507 + VariableDeclarationList 1018472 1018506 + VariableDeclaration 1018489 1018506 + Identifier 1018489 1018491 + PropertyAccessExpression 1018493 1018506 + Identifier 1018493 1018499 + Identifier 1018500 1018506 + WhileStatement 1018507 1018830 + BinaryExpression 1018528 1018533 + Identifier 1018528 1018529 + GreaterThanToken 1018529 1018531 + NumericLiteral 1018531 1018533 + Block 1018534 1018830 + ExpressionStatement 1018536 1018558 + PostfixUnaryExpression 1018536 1018557 + Identifier 1018536 1018555 + VariableStatement 1018558 1018595 + VariableDeclarationList 1018558 1018594 + VariableDeclaration 1018581 1018594 + Identifier 1018581 1018583 + ElementAccessExpression 1018585 1018594 + Identifier 1018585 1018591 + Identifier 1018592 1018593 + IfStatement 1018595 1018815 + BinaryExpression 1018617 1018741 + BinaryExpression 1018617 1018650 + PropertyAccessExpression 1018617 1018624 + Identifier 1018617 1018618 + Identifier 1018619 1018624 + AmpersandToken 1018624 1018626 + PropertyAccessExpression 1018626 1018650 + Identifier 1018626 1018636 + Identifier 1018637 1018650 + AmpersandAmpersandToken 1018650 1018653 + CallExpression 1018653 1018741 + Identifier 1018653 1018658 + Identifier 1018659 1018668 + ArrowFunction 1018669 1018740 + Parameter 1018669 1018678 + Identifier 1018669 1018678 + EqualsGreaterThanToken 1018678 1018681 + CallExpression 1018681 1018740 + Identifier 1018681 1018727 + Identifier 1018728 1018729 + Identifier 1018730 1018739 + Block 1018742 1018815 + ExpressionStatement 1018744 1018796 + CallExpression 1018744 1018795 + Identifier 1018744 1018785 + Identifier 1018786 1018791 + Identifier 1018792 1018794 + FunctionDeclaration 1018848 1019186 + Identifier 1018864 1018910 + Parameter 1018911 1018921 + Identifier 1018911 1018915 + TypeReference 1018916 1018921 + Identifier 1018916 1018921 + Parameter 1018922 1018972 + Identifier 1018922 1018931 + UnionType 1018932 1018972 + TypeReference 1018932 1018952 + Identifier 1018932 1018952 + TypeReference 1018954 1018972 + Identifier 1018954 1018972 + Block 1018973 1019186 + ReturnStatement 1018975 1019179 + ConditionalExpression 1018991 1019178 + BinaryExpression 1018991 1019034 + PropertyAccessExpression 1018991 1019006 + Identifier 1018991 1019000 + Identifier 1019001 1019006 + AmpersandToken 1019006 1019008 + PropertyAccessExpression 1019008 1019034 + Identifier 1019008 1019018 + Identifier 1019019 1019034 + QuestionToken 1019034 1019036 + CallExpression 1019036 1019123 + Identifier 1019036 1019084 + Identifier 1019085 1019089 + AsExpression 1019090 1019122 + Identifier 1019090 1019099 + TypeReference 1019102 1019122 + Identifier 1019102 1019122 + ColonToken 1019123 1019125 + CallExpression 1019125 1019178 + Identifier 1019125 1019162 + Identifier 1019163 1019167 + Identifier 1019168 1019177 + FunctionDeclaration 1019186 1021849 + Identifier 1019202 1019233 + Parameter 1019234 1019247 + Identifier 1019234 1019239 + ArrayType 1019240 1019247 + TypeReference 1019240 1019245 + Identifier 1019240 1019245 + Block 1019248 1021849 + VariableStatement 1019250 1019301 + VariableDeclarationList 1019250 1019300 + VariableDeclaration 1019265 1019300 + Identifier 1019265 1019279 + ArrayType 1019280 1019295 + TypeReference 1019280 1019293 + Identifier 1019280 1019293 + ArrayLiteralExpression 1019297 1019300 + ForOfStatement 1019301 1019774 + VariableDeclarationList 1019412 1019422 + VariableDeclaration 1019417 1019422 + Identifier 1019417 1019422 + Identifier 1019425 1019431 + Block 1019432 1019774 + IfStatement 1019434 1019763 + BinaryExpression 1019452 1019551 + BinaryExpression 1019452 1019487 + PropertyAccessExpression 1019452 1019462 + Identifier 1019452 1019456 + Identifier 1019457 1019462 + AmpersandToken 1019462 1019464 + PropertyAccessExpression 1019464 1019487 + Identifier 1019464 1019474 + Identifier 1019475 1019487 + AmpersandAmpersandToken 1019487 1019490 + BinaryExpression 1019490 1019551 + CallExpression 1019490 1019511 + Identifier 1019490 1019505 + Identifier 1019506 1019510 + AmpersandToken 1019511 1019513 + PropertyAccessExpression 1019513 1019551 + Identifier 1019513 1019525 + Identifier 1019526 1019551 + Block 1019552 1019763 + VariableStatement 1019554 1019661 + VariableDeclarationList 1019554 1019660 + VariableDeclaration 1019577 1019660 + Identifier 1019577 1019583 + ConditionalExpression 1019585 1019660 + BinaryExpression 1019585 1019652 + PropertyAccessExpression 1019585 1019627 + ElementAccessExpression 1019585 1019621 + PropertyAccessExpression 1019585 1019618 + ParenthesizedExpression 1019585 1019612 + AsExpression 1019587 1019611 + Identifier 1019587 1019591 + TypeReference 1019594 1019611 + Identifier 1019594 1019611 + Identifier 1019613 1019618 + NumericLiteral 1019619 1019620 + Identifier 1019622 1019627 + AmpersandToken 1019627 1019629 + PropertyAccessExpression 1019629 1019652 + Identifier 1019629 1019639 + Identifier 1019640 1019652 + QuestionToken 1019652 1019654 + NumericLiteral 1019654 1019656 + ColonToken 1019656 1019658 + NumericLiteral 1019658 1019660 + ExpressionStatement 1019661 1019748 + CallExpression 1019661 1019747 + Identifier 1019661 1019691 + Identifier 1019692 1019705 + ElementAccessExpression 1019706 1019746 + PropertyAccessExpression 1019706 1019739 + ParenthesizedExpression 1019706 1019733 + AsExpression 1019708 1019732 + Identifier 1019708 1019712 + TypeReference 1019715 1019732 + Identifier 1019715 1019732 + Identifier 1019734 1019739 + Identifier 1019740 1019745 + ForOfStatement 1019774 1021842 + VariableDeclarationList 1020040 1020058 + VariableDeclaration 1020045 1020058 + Identifier 1020045 1020058 + Identifier 1020061 1020075 + Block 1020076 1021842 + VariableStatement 1020078 1020122 + VariableDeclarationList 1020078 1020121 + VariableDeclaration 1020097 1020121 + Identifier 1020097 1020108 + ArrayType 1020109 1020116 + TypeReference 1020109 1020114 + Identifier 1020109 1020114 + ArrayLiteralExpression 1020118 1020121 + ForOfStatement 1020122 1020721 + VariableDeclarationList 1020228 1020238 + VariableDeclaration 1020233 1020238 + Identifier 1020233 1020238 + Identifier 1020241 1020247 + Block 1020248 1020721 + IfStatement 1020250 1020706 + BinaryExpression 1020272 1020371 + BinaryExpression 1020272 1020307 + PropertyAccessExpression 1020272 1020282 + Identifier 1020272 1020276 + Identifier 1020277 1020282 + AmpersandToken 1020282 1020284 + PropertyAccessExpression 1020284 1020307 + Identifier 1020284 1020294 + Identifier 1020295 1020307 + AmpersandAmpersandToken 1020307 1020310 + BinaryExpression 1020310 1020371 + CallExpression 1020310 1020331 + Identifier 1020310 1020325 + Identifier 1020326 1020330 + AmpersandToken 1020331 1020333 + PropertyAccessExpression 1020333 1020371 + Identifier 1020333 1020345 + Identifier 1020346 1020371 + Block 1020372 1020706 + VariableStatement 1020374 1020485 + VariableDeclarationList 1020374 1020484 + VariableDeclaration 1020401 1020484 + Identifier 1020401 1020407 + ConditionalExpression 1020409 1020484 + BinaryExpression 1020409 1020476 + PropertyAccessExpression 1020409 1020451 + ElementAccessExpression 1020409 1020445 + PropertyAccessExpression 1020409 1020442 + ParenthesizedExpression 1020409 1020436 + AsExpression 1020411 1020435 + Identifier 1020411 1020415 + TypeReference 1020418 1020435 + Identifier 1020418 1020435 + Identifier 1020437 1020442 + NumericLiteral 1020443 1020444 + Identifier 1020446 1020451 + AmpersandToken 1020451 1020453 + PropertyAccessExpression 1020453 1020476 + Identifier 1020453 1020463 + Identifier 1020464 1020476 + QuestionToken 1020476 1020478 + NumericLiteral 1020478 1020480 + ColonToken 1020480 1020482 + NumericLiteral 1020482 1020484 + IfStatement 1020485 1020687 + BinaryExpression 1020511 1020567 + ElementAccessExpression 1020511 1020550 + PropertyAccessExpression 1020511 1020543 + ParenthesizedExpression 1020511 1020537 + AsExpression 1020512 1020536 + Identifier 1020512 1020516 + TypeReference 1020519 1020536 + Identifier 1020519 1020536 + Identifier 1020538 1020543 + Identifier 1020544 1020549 + EqualsEqualsEqualsToken 1020550 1020554 + Identifier 1020554 1020567 + Block 1020568 1020687 + ExpressionStatement 1020570 1020664 + CallExpression 1020570 1020663 + Identifier 1020570 1020606 + Identifier 1020607 1020617 + ElementAccessExpression 1020618 1020662 + PropertyAccessExpression 1020618 1020651 + ParenthesizedExpression 1020618 1020645 + AsExpression 1020620 1020644 + Identifier 1020620 1020624 + TypeReference 1020627 1020644 + Identifier 1020627 1020644 + Identifier 1020646 1020651 + BinaryExpression 1020652 1020661 + NumericLiteral 1020652 1020653 + MinusToken 1020653 1020655 + Identifier 1020655 1020661 + VariableStatement 1020721 1021014 + VariableDeclarationList 1020721 1021013 + VariableDeclaration 1020961 1021013 + Identifier 1020961 1020972 + NonNullExpression 1020974 1021013 + CallExpression 1020974 1021012 + Identifier 1020974 1020998 + Identifier 1020999 1021011 + IfStatement 1021014 1021831 + CallExpression 1021032 1021087 + Identifier 1021032 1021041 + Identifier 1021042 1021052 + ArrowFunction 1021053 1021086 + Parameter 1021053 1021055 + Identifier 1021053 1021055 + EqualsGreaterThanToken 1021055 1021058 + CallExpression 1021058 1021086 + Identifier 1021058 1021071 + Identifier 1021072 1021082 + Identifier 1021083 1021085 + Block 1021088 1021831 + VariableStatement 1021090 1021129 + VariableDeclarationList 1021090 1021128 + VariableDeclaration 1021111 1021128 + Identifier 1021111 1021113 + PropertyAccessExpression 1021115 1021128 + Identifier 1021115 1021121 + Identifier 1021122 1021128 + WhileStatement 1021129 1021766 + BinaryExpression 1021154 1021159 + Identifier 1021154 1021155 + GreaterThanToken 1021155 1021157 + NumericLiteral 1021157 1021159 + Block 1021160 1021766 + ExpressionStatement 1021162 1021188 + PostfixUnaryExpression 1021162 1021187 + Identifier 1021162 1021185 + VariableStatement 1021188 1021232 + VariableDeclarationList 1021188 1021231 + VariableDeclaration 1021215 1021231 + Identifier 1021215 1021220 + ElementAccessExpression 1021222 1021231 + Identifier 1021222 1021228 + Identifier 1021229 1021230 + IfStatement 1021232 1021747 + BinaryExpression 1021258 1021357 + BinaryExpression 1021258 1021293 + PropertyAccessExpression 1021258 1021268 + Identifier 1021258 1021262 + Identifier 1021263 1021268 + AmpersandToken 1021268 1021270 + PropertyAccessExpression 1021270 1021293 + Identifier 1021270 1021280 + Identifier 1021281 1021293 + AmpersandAmpersandToken 1021293 1021296 + BinaryExpression 1021296 1021357 + CallExpression 1021296 1021317 + Identifier 1021296 1021311 + Identifier 1021312 1021316 + AmpersandToken 1021317 1021319 + PropertyAccessExpression 1021319 1021357 + Identifier 1021319 1021331 + Identifier 1021332 1021357 + Block 1021358 1021747 + VariableStatement 1021360 1021475 + VariableDeclarationList 1021360 1021474 + VariableDeclaration 1021391 1021474 + Identifier 1021391 1021397 + ConditionalExpression 1021399 1021474 + BinaryExpression 1021399 1021466 + PropertyAccessExpression 1021399 1021441 + ElementAccessExpression 1021399 1021435 + PropertyAccessExpression 1021399 1021432 + ParenthesizedExpression 1021399 1021426 + AsExpression 1021401 1021425 + Identifier 1021401 1021405 + TypeReference 1021408 1021425 + Identifier 1021408 1021425 + Identifier 1021427 1021432 + NumericLiteral 1021433 1021434 + Identifier 1021436 1021441 + AmpersandToken 1021441 1021443 + PropertyAccessExpression 1021443 1021466 + Identifier 1021443 1021453 + Identifier 1021454 1021466 + QuestionToken 1021466 1021468 + NumericLiteral 1021468 1021470 + ColonToken 1021470 1021472 + NumericLiteral 1021472 1021474 + IfStatement 1021475 1021724 + BinaryExpression 1021505 1021634 + BinaryExpression 1021505 1021561 + ElementAccessExpression 1021505 1021544 + PropertyAccessExpression 1021505 1021537 + ParenthesizedExpression 1021505 1021531 + AsExpression 1021506 1021530 + Identifier 1021506 1021510 + TypeReference 1021513 1021530 + Identifier 1021513 1021530 + Identifier 1021532 1021537 + Identifier 1021538 1021543 + EqualsEqualsEqualsToken 1021544 1021548 + Identifier 1021548 1021561 + AmpersandAmpersandToken 1021561 1021564 + CallExpression 1021564 1021634 + Identifier 1021564 1021577 + Identifier 1021578 1021588 + ElementAccessExpression 1021589 1021633 + PropertyAccessExpression 1021589 1021622 + ParenthesizedExpression 1021589 1021616 + AsExpression 1021591 1021615 + Identifier 1021591 1021595 + TypeReference 1021598 1021615 + Identifier 1021598 1021615 + Identifier 1021617 1021622 + BinaryExpression 1021623 1021632 + NumericLiteral 1021623 1021624 + MinusToken 1021624 1021626 + Identifier 1021626 1021632 + Block 1021635 1021724 + ExpressionStatement 1021637 1021697 + CallExpression 1021637 1021696 + Identifier 1021637 1021686 + Identifier 1021687 1021692 + Identifier 1021693 1021695 + ExpressionStatement 1021766 1021816 + CallExpression 1021766 1021815 + Identifier 1021766 1021794 + Identifier 1021795 1021800 + Identifier 1021801 1021814 + FunctionDeclaration 1021849 1022005 + Identifier 1021865 1021882 + Parameter 1021883 1021893 + Identifier 1021883 1021887 + TypeReference 1021888 1021893 + Identifier 1021888 1021893 + Block 1021894 1022005 + ReturnStatement 1021896 1021998 + PrefixUnaryExpression 1021912 1021997 + PrefixUnaryExpression 1021914 1021997 + ParenthesizedExpression 1021915 1021997 + BinaryExpression 1021916 1021996 + BinaryExpression 1021916 1021944 + PropertyAccessExpression 1021916 1021926 + Identifier 1021916 1021920 + Identifier 1021921 1021926 + AmpersandToken 1021926 1021928 + PropertyAccessExpression 1021928 1021944 + Identifier 1021928 1021938 + Identifier 1021939 1021944 + AmpersandAmpersandToken 1021944 1021947 + ParenthesizedExpression 1021947 1021996 + BinaryExpression 1021949 1021995 + PropertyAccessExpression 1021949 1021965 + Identifier 1021949 1021953 + Identifier 1021954 1021965 + BarBarToken 1021965 1021968 + PropertyAccessExpression 1021968 1021995 + ParenthesizedExpression 1021968 1021988 + AsExpression 1021970 1021987 + Identifier 1021970 1021974 + TypeReference 1021977 1021987 + Identifier 1021977 1021987 + Identifier 1021989 1021995 + FunctionDeclaration 1022005 1022576 + Identifier 1022021 1022036 + Parameter 1022037 1022056 + Identifier 1022037 1022048 + ArrayType 1022049 1022056 + TypeReference 1022049 1022054 + Identifier 1022049 1022054 + Parameter 1022057 1022080 + Identifier 1022057 1022063 + TypeOperator 1022064 1022080 + ArrayType 1022073 1022080 + TypeReference 1022073 1022078 + Identifier 1022073 1022078 + Block 1022081 1022576 + ForOfStatement 1022083 1022569 + VariableDeclarationList 1022098 1022105 + VariableDeclaration 1022103 1022105 + Identifier 1022103 1022105 + Identifier 1022108 1022114 + Block 1022115 1022569 + IfStatement 1022117 1022558 + BinaryExpression 1022135 1022160 + PropertyAccessExpression 1022135 1022142 + Identifier 1022135 1022136 + Identifier 1022137 1022142 + AmpersandToken 1022142 1022144 + PropertyAccessExpression 1022144 1022160 + Identifier 1022144 1022154 + Identifier 1022155 1022160 + Block 1022161 1022558 + VariableStatement 1022163 1022220 + VariableDeclarationList 1022163 1022219 + VariableDeclaration 1022186 1022219 + Identifier 1022186 1022193 + PropertyAccessExpression 1022195 1022219 + ParenthesizedExpression 1022195 1022212 + AsExpression 1022197 1022211 + Identifier 1022197 1022198 + TypeReference 1022201 1022211 + Identifier 1022201 1022211 + Identifier 1022213 1022219 + IfStatement 1022220 1022543 + BinaryExpression 1022242 1022302 + PropertyAccessExpression 1022242 1022255 + Identifier 1022242 1022243 + Identifier 1022244 1022255 + BarBarToken 1022255 1022258 + BinaryExpression 1022258 1022302 + Identifier 1022258 1022265 + AmpersandAmpersandToken 1022265 1022268 + PrefixUnaryExpression 1022268 1022302 + ParenthesizedExpression 1022270 1022302 + BinaryExpression 1022271 1022301 + PropertyAccessExpression 1022271 1022283 + Identifier 1022271 1022277 + Identifier 1022278 1022283 + AmpersandToken 1022283 1022285 + PropertyAccessExpression 1022285 1022301 + Identifier 1022285 1022295 + Identifier 1022296 1022301 + Block 1022303 1022375 + ExpressionStatement 1022305 1022356 + CallExpression 1022305 1022355 + Identifier 1022305 1022339 + Identifier 1022340 1022351 + Identifier 1022352 1022354 + IfStatement 1022397 1022543 + BinaryExpression 1022402 1022442 + Identifier 1022402 1022408 + AmpersandAmpersandToken 1022408 1022411 + BinaryExpression 1022411 1022442 + PropertyAccessExpression 1022411 1022424 + Identifier 1022411 1022418 + Identifier 1022419 1022424 + AmpersandToken 1022424 1022426 + PropertyAccessExpression 1022426 1022442 + Identifier 1022426 1022436 + Identifier 1022437 1022442 + Block 1022443 1022543 + ExpressionStatement 1022445 1022524 + CallExpression 1022445 1022523 + Identifier 1022445 1022481 + Identifier 1022482 1022493 + PropertyAccessExpression 1022494 1022522 + ParenthesizedExpression 1022494 1022516 + AsExpression 1022496 1022515 + Identifier 1022496 1022502 + TypeReference 1022505 1022515 + Identifier 1022505 1022515 + Identifier 1022517 1022522 + FunctionDeclaration 1022576 1022801 + Identifier 1022592 1022628 + Parameter 1022629 1022645 + Identifier 1022629 1022634 + TypeReference 1022635 1022645 + Identifier 1022635 1022645 + Parameter 1022646 1022660 + Identifier 1022646 1022652 + ArrayType 1022653 1022660 + TypeReference 1022653 1022658 + Identifier 1022653 1022658 + Block 1022661 1022801 + VariableStatement 1022663 1022739 + VariableDeclarationList 1022663 1022738 + VariableDeclaration 1022678 1022738 + Identifier 1022678 1022685 + AsExpression 1022687 1022738 + CallExpression 1022687 1022711 + Identifier 1022687 1022704 + Identifier 1022705 1022710 + TypeReference 1022714 1022738 + Identifier 1022714 1022738 + ExpressionStatement 1022739 1022770 + BinaryExpression 1022739 1022769 + PropertyAccessExpression 1022739 1022761 + Identifier 1022739 1022755 + Identifier 1022756 1022761 + EqualsToken 1022761 1022763 + Identifier 1022763 1022769 + ReturnStatement 1022770 1022794 + Identifier 1022786 1022793 + FunctionDeclaration 1022801 1024838 + Identifier 1023559 1023572 + Parameter 1023573 1023595 + Identifier 1023573 1023578 + TypeOperator 1023579 1023595 + ArrayType 1023588 1023595 + TypeReference 1023588 1023593 + Identifier 1023588 1023593 + Parameter 1023596 1023652 + Identifier 1023596 1023611 + TypeReference 1023612 1023627 + Identifier 1023612 1023627 + PropertyAccessExpression 1023629 1023652 + Identifier 1023629 1023644 + Identifier 1023645 1023652 + Parameter 1023653 1023674 + Identifier 1023653 1023665 + QuestionToken 1023665 1023666 + TypeReference 1023667 1023674 + Identifier 1023667 1023674 + Parameter 1023675 1023712 + Identifier 1023675 1023694 + QuestionToken 1023694 1023695 + TypeOperator 1023696 1023712 + ArrayType 1023705 1023712 + TypeReference 1023705 1023710 + Identifier 1023705 1023710 + Parameter 1023713 1023727 + Identifier 1023713 1023720 + QuestionToken 1023720 1023721 + TypeReference 1023722 1023727 + Identifier 1023722 1023727 + TypeReference 1023729 1023734 + Identifier 1023729 1023734 + Block 1023734 1024838 + IfStatement 1023736 1023813 + BinaryExpression 1023750 1023768 + PropertyAccessExpression 1023750 1023762 + Identifier 1023750 1023755 + Identifier 1023756 1023762 + EqualsEqualsEqualsToken 1023762 1023766 + NumericLiteral 1023766 1023768 + Block 1023769 1023813 + ReturnStatement 1023771 1023802 + Identifier 1023791 1023801 + IfStatement 1023813 1023889 + BinaryExpression 1023827 1023845 + PropertyAccessExpression 1023827 1023839 + Identifier 1023827 1023832 + Identifier 1023833 1023839 + EqualsEqualsEqualsToken 1023839 1023843 + NumericLiteral 1023843 1023845 + Block 1023846 1023889 + ReturnStatement 1023848 1023878 + ElementAccessExpression 1023868 1023877 + Identifier 1023868 1023874 + NumericLiteral 1023875 1023876 + IfStatement 1023889 1024731 + BinaryExpression 1024016 1024119 + BinaryExpression 1024016 1024045 + BinaryExpression 1024016 1024034 + PropertyAccessExpression 1024016 1024028 + Identifier 1024016 1024021 + Identifier 1024022 1024028 + EqualsEqualsEqualsToken 1024028 1024032 + NumericLiteral 1024032 1024034 + AmpersandAmpersandToken 1024034 1024037 + PrefixUnaryExpression 1024037 1024045 + Identifier 1024039 1024045 + AmpersandAmpersandToken 1024045 1024048 + ParenthesizedExpression 1024048 1024119 + BinaryExpression 1024050 1024118 + BinaryExpression 1024050 1024082 + PropertyAccessExpression 1024050 1024064 + ElementAccessExpression 1024050 1024058 + Identifier 1024050 1024055 + NumericLiteral 1024056 1024057 + Identifier 1024059 1024064 + AmpersandToken 1024064 1024066 + PropertyAccessExpression 1024066 1024082 + Identifier 1024066 1024076 + Identifier 1024077 1024082 + BarBarToken 1024082 1024085 + BinaryExpression 1024085 1024118 + PropertyAccessExpression 1024085 1024100 + ElementAccessExpression 1024085 1024094 + Identifier 1024085 1024091 + NumericLiteral 1024092 1024093 + Identifier 1024095 1024100 + AmpersandToken 1024100 1024102 + PropertyAccessExpression 1024102 1024118 + Identifier 1024102 1024112 + Identifier 1024113 1024118 + Block 1024120 1024731 + VariableStatement 1024122 1024251 + VariableDeclarationList 1024122 1024250 + VariableDeclaration 1024141 1024250 + Identifier 1024141 1024147 + ConditionalExpression 1024149 1024250 + BinaryExpression 1024149 1024188 + Identifier 1024149 1024164 + EqualsEqualsEqualsToken 1024164 1024168 + PropertyAccessExpression 1024168 1024188 + Identifier 1024168 1024183 + Identifier 1024184 1024188 + QuestionToken 1024188 1024190 + StringLiteral 1024190 1024194 + ColonToken 1024194 1024196 + ConditionalExpression 1024196 1024250 + BinaryExpression 1024196 1024238 + Identifier 1024196 1024211 + EqualsEqualsEqualsToken 1024211 1024215 + PropertyAccessExpression 1024215 1024238 + Identifier 1024215 1024230 + Identifier 1024231 1024238 + QuestionToken 1024238 1024240 + StringLiteral 1024240 1024244 + ColonToken 1024244 1024246 + StringLiteral 1024246 1024250 + VariableStatement 1024251 1024313 + VariableDeclarationList 1024251 1024312 + VariableDeclaration 1024270 1024312 + Identifier 1024270 1024276 + ConditionalExpression 1024278 1024312 + BinaryExpression 1024278 1024304 + PropertyAccessExpression 1024278 1024290 + ElementAccessExpression 1024278 1024287 + Identifier 1024278 1024284 + NumericLiteral 1024285 1024286 + Identifier 1024288 1024290 + LessThanToken 1024290 1024292 + PropertyAccessExpression 1024292 1024304 + ElementAccessExpression 1024292 1024301 + Identifier 1024292 1024298 + NumericLiteral 1024299 1024300 + Identifier 1024302 1024304 + QuestionToken 1024304 1024306 + NumericLiteral 1024306 1024308 + ColonToken 1024308 1024310 + NumericLiteral 1024310 1024312 + VariableStatement 1024313 1024430 + VariableDeclarationList 1024313 1024429 + VariableDeclaration 1024332 1024429 + Identifier 1024332 1024335 + BinaryExpression 1024337 1024429 + BinaryExpression 1024337 1024383 + BinaryExpression 1024337 1024361 + PropertyAccessExpression 1024337 1024353 + ElementAccessExpression 1024337 1024350 + Identifier 1024337 1024343 + Identifier 1024344 1024349 + Identifier 1024351 1024353 + PlusToken 1024353 1024355 + Identifier 1024355 1024361 + PlusToken 1024361 1024363 + PropertyAccessExpression 1024363 1024383 + ElementAccessExpression 1024363 1024380 + Identifier 1024363 1024369 + BinaryExpression 1024370 1024379 + NumericLiteral 1024370 1024371 + MinusToken 1024371 1024373 + Identifier 1024373 1024379 + Identifier 1024381 1024383 + PlusToken 1024383 1024385 + CallExpression 1024385 1024429 + Identifier 1024385 1024396 + Identifier 1024397 1024408 + Identifier 1024409 1024428 + VariableStatement 1024430 1024481 + VariableDeclarationList 1024430 1024480 + VariableDeclaration 1024447 1024480 + Identifier 1024447 1024452 + CallExpression 1024454 1024480 + PropertyAccessExpression 1024454 1024476 + Identifier 1024454 1024472 + Identifier 1024473 1024476 + Identifier 1024477 1024479 + IfStatement 1024481 1024694 + PrefixUnaryExpression 1024499 1024504 + Identifier 1024500 1024504 + Block 1024505 1024694 + ExpressionStatement 1024507 1024629 + BinaryExpression 1024507 1024628 + Identifier 1024507 1024529 + EqualsToken 1024529 1024531 + CallExpression 1024531 1024628 + Identifier 1024531 1024550 + Identifier 1024551 1024556 + Identifier 1024557 1024572 + Identifier 1024573 1024585 + Identifier 1024586 1024605 + Identifier 1024606 1024627 + ExpressionStatement 1024629 1024679 + CallExpression 1024629 1024678 + PropertyAccessExpression 1024629 1024668 + Identifier 1024629 1024664 + Identifier 1024665 1024668 + Identifier 1024669 1024671 + Identifier 1024672 1024677 + ReturnStatement 1024694 1024720 + Identifier 1024714 1024719 + ReturnStatement 1024731 1024831 + CallExpression 1024747 1024830 + Identifier 1024747 1024766 + Identifier 1024767 1024772 + Identifier 1024773 1024788 + Identifier 1024789 1024801 + Identifier 1024802 1024821 + Identifier 1024822 1024829 + FunctionDeclaration 1024838 1028718 + Identifier 1024854 1024873 + Parameter 1024874 1024896 + Identifier 1024874 1024879 + TypeOperator 1024880 1024896 + ArrayType 1024889 1024896 + TypeReference 1024889 1024894 + Identifier 1024889 1024894 + Parameter 1024897 1024928 + Identifier 1024897 1024912 + TypeReference 1024913 1024928 + Identifier 1024913 1024928 + Parameter 1024929 1024961 + Identifier 1024929 1024941 + UnionType 1024942 1024961 + TypeReference 1024942 1024949 + Identifier 1024942 1024949 + UndefinedKeyword 1024951 1024961 + Parameter 1024962 1025010 + Identifier 1024962 1024981 + UnionType 1024982 1025010 + TypeOperator 1024982 1024998 + ArrayType 1024991 1024998 + TypeReference 1024991 1024996 + Identifier 1024991 1024996 + UndefinedKeyword 1025000 1025010 + Parameter 1025011 1025036 + Identifier 1025011 1025018 + UnionType 1025019 1025036 + TypeReference 1025019 1025024 + Identifier 1025019 1025024 + UndefinedKeyword 1025026 1025036 + TypeReference 1025038 1025043 + Identifier 1025038 1025043 + Block 1025043 1028718 + VariableStatement 1025045 1025092 + VariableDeclarationList 1025045 1025091 + VariableDeclaration 1025058 1025091 + Identifier 1025058 1025066 + UnionType 1025067 1025086 + ArrayType 1025067 1025074 + TypeReference 1025067 1025072 + Identifier 1025067 1025072 + UndefinedKeyword 1025076 1025086 + ArrayLiteralExpression 1025088 1025091 + VariableStatement 1025092 1025167 + VariableDeclarationList 1025092 1025166 + VariableDeclaration 1025107 1025166 + Identifier 1025107 1025116 + CallExpression 1025118 1025166 + Identifier 1025118 1025134 + Identifier 1025135 1025142 + AsExpression 1025143 1025158 + NumericLiteral 1025143 1025145 + TypeReference 1025148 1025158 + Identifier 1025148 1025158 + Identifier 1025159 1025165 + IfStatement 1025167 1027193 + BinaryExpression 1025181 1025219 + Identifier 1025181 1025195 + ExclamationEqualsEqualsToken 1025195 1025199 + PropertyAccessExpression 1025199 1025219 + Identifier 1025199 1025214 + Identifier 1025215 1025219 + Block 1025220 1027193 + IfStatement 1025222 1025536 + BinaryExpression 1025240 1025273 + Identifier 1025240 1025248 + AmpersandToken 1025248 1025250 + PropertyAccessExpression 1025250 1025273 + Identifier 1025250 1025260 + Identifier 1025261 1025273 + Block 1025274 1025536 + ReturnStatement 1025276 1025521 + ConditionalExpression 1025300 1025520 + BinaryExpression 1025300 1025325 + Identifier 1025300 1025309 + AmpersandToken 1025309 1025311 + PropertyAccessExpression 1025311 1025325 + Identifier 1025311 1025321 + Identifier 1025322 1025325 + QuestionToken 1025325 1025327 + ConditionalExpression 1025327 1025485 + BinaryExpression 1025327 1025386 + Identifier 1025327 1025357 + AmpersandToken 1025357 1025359 + PropertyAccessExpression 1025359 1025386 + Identifier 1025359 1025369 + Identifier 1025370 1025386 + QuestionToken 1025386 1025388 + Identifier 1025388 1025401 + ColonToken 1025401 1025403 + ConditionalExpression 1025403 1025485 + BinaryExpression 1025403 1025463 + Identifier 1025403 1025437 + AmpersandToken 1025437 1025439 + PropertyAccessExpression 1025439 1025463 + Identifier 1025439 1025449 + Identifier 1025450 1025463 + QuestionToken 1025463 1025465 + Identifier 1025465 1025475 + ColonToken 1025475 1025477 + Identifier 1025477 1025485 + ColonToken 1025485 1025487 + Identifier 1025487 1025520 + IfStatement 1025536 1025877 + BinaryExpression 1025554 1025584 + Identifier 1025554 1025562 + AmpersandToken 1025562 1025564 + PropertyAccessExpression 1025564 1025584 + Identifier 1025564 1025574 + Identifier 1025575 1025584 + Block 1025585 1025877 + IfStatement 1025587 1025862 + BinaryExpression 1025705 1025786 + BinaryExpression 1025705 1025756 + BinaryExpression 1025705 1025724 + PropertyAccessExpression 1025705 1025719 + Identifier 1025705 1025712 + Identifier 1025713 1025719 + GreaterThanEqualsToken 1025719 1025722 + NumericLiteral 1025722 1025724 + AmpersandAmpersandToken 1025724 1025727 + BinaryExpression 1025727 1025756 + ElementAccessExpression 1025727 1025738 + Identifier 1025727 1025735 + NumericLiteral 1025736 1025737 + EqualsEqualsEqualsToken 1025738 1025742 + Identifier 1025742 1025756 + AmpersandAmpersandToken 1025756 1025759 + BinaryExpression 1025759 1025786 + ElementAccessExpression 1025759 1025770 + Identifier 1025759 1025767 + NumericLiteral 1025768 1025769 + EqualsEqualsEqualsToken 1025770 1025774 + Identifier 1025774 1025786 + Block 1025787 1025862 + ExpressionStatement 1025789 1025843 + CallExpression 1025789 1025842 + Identifier 1025789 1025830 + Identifier 1025831 1025838 + NumericLiteral 1025839 1025841 + IfStatement 1025877 1026214 + BinaryExpression 1025895 1026086 + BinaryExpression 1025895 1026023 + Identifier 1025895 1025903 + AmpersandToken 1025903 1025905 + ParenthesizedExpression 1025905 1026023 + BinaryExpression 1025907 1026022 + BinaryExpression 1025907 1025996 + BinaryExpression 1025907 1025968 + BinaryExpression 1025907 1025941 + PropertyAccessExpression 1025907 1025921 + Identifier 1025907 1025916 + Identifier 1025917 1025921 + BarToken 1025921 1025923 + PropertyAccessExpression 1025923 1025941 + Identifier 1025923 1025933 + Identifier 1025934 1025941 + BarToken 1025941 1025943 + PropertyAccessExpression 1025943 1025968 + Identifier 1025943 1025953 + Identifier 1025954 1025968 + BarToken 1025968 1025970 + PropertyAccessExpression 1025970 1025996 + Identifier 1025970 1025980 + Identifier 1025981 1025996 + BarToken 1025996 1025998 + PropertyAccessExpression 1025998 1026022 + Identifier 1025998 1026008 + Identifier 1026009 1026022 + BarBarToken 1026023 1026026 + BinaryExpression 1026026 1026086 + BinaryExpression 1026026 1026052 + Identifier 1026026 1026035 + AmpersandToken 1026035 1026037 + PropertyAccessExpression 1026037 1026052 + Identifier 1026037 1026047 + Identifier 1026048 1026052 + AmpersandAmpersandToken 1026052 1026055 + BinaryExpression 1026055 1026086 + Identifier 1026055 1026064 + AmpersandToken 1026064 1026066 + PropertyAccessExpression 1026066 1026086 + Identifier 1026066 1026076 + Identifier 1026077 1026086 + Block 1026087 1026214 + ExpressionStatement 1026089 1026199 + CallExpression 1026089 1026198 + Identifier 1026089 1026134 + Identifier 1026135 1026142 + Identifier 1026143 1026152 + PrefixUnaryExpression 1026153 1026197 + PrefixUnaryExpression 1026155 1026197 + ParenthesizedExpression 1026156 1026197 + BinaryExpression 1026157 1026196 + Identifier 1026157 1026171 + AmpersandToken 1026171 1026173 + PropertyAccessExpression 1026173 1026196 + Identifier 1026173 1026188 + Identifier 1026189 1026196 + IfStatement 1026214 1026425 + BinaryExpression 1026232 1026334 + BinaryExpression 1026232 1026266 + Identifier 1026232 1026240 + AmpersandToken 1026240 1026242 + PropertyAccessExpression 1026242 1026266 + Identifier 1026242 1026252 + Identifier 1026253 1026266 + AmpersandAmpersandToken 1026266 1026269 + BinaryExpression 1026269 1026334 + Identifier 1026269 1026278 + AmpersandToken 1026278 1026280 + ParenthesizedExpression 1026280 1026334 + BinaryExpression 1026282 1026333 + PropertyAccessExpression 1026282 1026307 + Identifier 1026282 1026291 + Identifier 1026292 1026307 + BarToken 1026307 1026309 + PropertyAccessExpression 1026309 1026333 + Identifier 1026309 1026319 + Identifier 1026320 1026333 + Block 1026335 1026425 + ExpressionStatement 1026337 1026410 + CallExpression 1026337 1026409 + Identifier 1026337 1026400 + Identifier 1026401 1026408 + IfStatement 1026425 1026571 + BinaryExpression 1026443 1026495 + Identifier 1026443 1026451 + AmpersandToken 1026451 1026453 + PropertyAccessExpression 1026453 1026495 + Identifier 1026453 1026463 + Identifier 1026464 1026495 + Block 1026496 1026571 + ExpressionStatement 1026498 1026556 + CallExpression 1026498 1026555 + Identifier 1026498 1026546 + Identifier 1026547 1026554 + IfStatement 1026571 1026824 + BinaryExpression 1026589 1026630 + Identifier 1026589 1026603 + EqualsEqualsEqualsToken 1026603 1026607 + PropertyAccessExpression 1026607 1026630 + Identifier 1026607 1026622 + Identifier 1026623 1026630 + Block 1026631 1026824 + ExpressionStatement 1026633 1026718 + BinaryExpression 1026633 1026717 + Identifier 1026633 1026658 + EqualsToken 1026658 1026660 + CallExpression 1026660 1026717 + Identifier 1026660 1026675 + Identifier 1026676 1026683 + PrefixUnaryExpression 1026684 1026716 + PrefixUnaryExpression 1026686 1026716 + ParenthesizedExpression 1026687 1026716 + BinaryExpression 1026688 1026715 + Identifier 1026688 1026696 + AmpersandToken 1026696 1026698 + PropertyAccessExpression 1026698 1026715 + Identifier 1026698 1026708 + Identifier 1026709 1026715 + IfStatement 1026718 1026809 + PrefixUnaryExpression 1026740 1026748 + Identifier 1026741 1026748 + Block 1026749 1026809 + ReturnStatement 1026751 1026790 + Identifier 1026779 1026789 + IfStatement 1026824 1027182 + BinaryExpression 1026842 1026862 + PropertyAccessExpression 1026842 1026856 + Identifier 1026842 1026849 + Identifier 1026850 1026856 + EqualsEqualsEqualsToken 1026856 1026860 + NumericLiteral 1026860 1026862 + Block 1026863 1027182 + ReturnStatement 1026865 1027167 + ConditionalExpression 1026889 1027166 + BinaryExpression 1026889 1026915 + Identifier 1026889 1026898 + AmpersandToken 1026898 1026900 + PropertyAccessExpression 1026900 1026915 + Identifier 1026900 1026910 + Identifier 1026911 1026915 + QuestionToken 1026915 1026917 + ConditionalExpression 1026917 1026992 + BinaryExpression 1026917 1026962 + Identifier 1026917 1026926 + AmpersandToken 1026926 1026928 + PropertyAccessExpression 1026928 1026962 + Identifier 1026928 1026938 + Identifier 1026939 1026962 + QuestionToken 1026962 1026964 + Identifier 1026964 1026973 + ColonToken 1026973 1026975 + Identifier 1026975 1026992 + ColonToken 1026992 1026994 + ConditionalExpression 1026994 1027166 + BinaryExpression 1026994 1027046 + Identifier 1026994 1027024 + AmpersandToken 1027024 1027026 + PropertyAccessExpression 1027026 1027046 + Identifier 1027026 1027036 + Identifier 1027037 1027046 + QuestionToken 1027046 1027048 + ConditionalExpression 1027048 1027133 + BinaryExpression 1027048 1027093 + Identifier 1027048 1027057 + AmpersandToken 1027057 1027059 + PropertyAccessExpression 1027059 1027093 + Identifier 1027059 1027069 + Identifier 1027070 1027093 + QuestionToken 1027093 1027095 + Identifier 1027095 1027109 + ColonToken 1027109 1027111 + Identifier 1027111 1027133 + ColonToken 1027133 1027135 + Identifier 1027135 1027166 + IfStatement 1027193 1028409 + BinaryExpression 1027207 1027244 + PrefixUnaryExpression 1027207 1027214 + Identifier 1027208 1027214 + AmpersandAmpersandToken 1027214 1027217 + BinaryExpression 1027217 1027244 + Identifier 1027217 1027226 + AmpersandToken 1027226 1027228 + PropertyAccessExpression 1027228 1027244 + Identifier 1027228 1027238 + Identifier 1027239 1027244 + Block 1027245 1028409 + VariableStatement 1027247 1027292 + VariableDeclarationList 1027247 1027291 + VariableDeclaration 1027266 1027291 + Identifier 1027266 1027278 + ArrayType 1027279 1027286 + TypeReference 1027279 1027284 + Identifier 1027279 1027284 + ArrayLiteralExpression 1027288 1027291 + ExpressionStatement 1027292 1027341 + CallExpression 1027292 1027340 + Identifier 1027292 1027320 + Identifier 1027321 1027332 + Identifier 1027333 1027339 + VariableStatement 1027341 1027387 + VariableDeclarationList 1027341 1027386 + VariableDeclaration 1027360 1027386 + Identifier 1027360 1027373 + ArrayType 1027374 1027381 + TypeReference 1027374 1027379 + Identifier 1027374 1027379 + ArrayLiteralExpression 1027383 1027386 + ForOfStatement 1027387 1027601 + VariableDeclarationList 1027406 1027413 + VariableDeclaration 1027411 1027413 + Identifier 1027411 1027413 + Identifier 1027416 1027424 + Block 1027425 1027601 + IfStatement 1027427 1027586 + PrefixUnaryExpression 1027449 1027521 + CallExpression 1027450 1027521 + Identifier 1027450 1027454 + Identifier 1027455 1027466 + ArrowFunction 1027467 1027520 + Parameter 1027467 1027473 + Identifier 1027467 1027473 + EqualsGreaterThanToken 1027473 1027476 + CallExpression 1027476 1027520 + Identifier 1027476 1027489 + PropertyAccessExpression 1027490 1027516 + ParenthesizedExpression 1027490 1027510 + AsExpression 1027491 1027509 + Identifier 1027491 1027496 + TypeReference 1027499 1027509 + Identifier 1027499 1027509 + Identifier 1027511 1027516 + Identifier 1027517 1027519 + Block 1027522 1027586 + ExpressionStatement 1027524 1027567 + CallExpression 1027524 1027566 + PropertyAccessExpression 1027524 1027563 + Identifier 1027524 1027558 + Identifier 1027559 1027563 + Identifier 1027564 1027565 + IfStatement 1027601 1027746 + BinaryExpression 1027619 1027688 + BinaryExpression 1027619 1027659 + PrefixUnaryExpression 1027619 1027631 + Identifier 1027620 1027631 + AmpersandAmpersandToken 1027631 1027634 + BinaryExpression 1027634 1027659 + PropertyAccessExpression 1027634 1027653 + Identifier 1027634 1027646 + Identifier 1027647 1027653 + EqualsEqualsEqualsToken 1027653 1027657 + NumericLiteral 1027657 1027659 + AmpersandAmpersandToken 1027659 1027662 + BinaryExpression 1027662 1027688 + PropertyAccessExpression 1027662 1027682 + Identifier 1027662 1027675 + Identifier 1027676 1027682 + EqualsEqualsEqualsToken 1027682 1027686 + NumericLiteral 1027686 1027688 + Block 1027689 1027746 + ReturnStatement 1027691 1027731 + ElementAccessExpression 1027715 1027730 + Identifier 1027715 1027727 + NumericLiteral 1027728 1027729 + VariableStatement 1027746 1028095 + VariableDeclarationList 1027746 1028094 + VariableDeclaration 1027992 1028094 + Identifier 1027992 1028008 + CallExpression 1028010 1028094 + Identifier 1028010 1028021 + Identifier 1028022 1028033 + ArrowFunction 1028034 1028090 + Parameter 1028036 1028039 + Identifier 1028036 1028039 + Parameter 1028040 1028046 + Identifier 1028040 1028046 + EqualsGreaterThanToken 1028047 1028050 + BinaryExpression 1028050 1028090 + Identifier 1028050 1028054 + PlusToken 1028054 1028056 + PropertyAccessExpression 1028056 1028090 + PropertyAccessExpression 1028056 1028083 + ParenthesizedExpression 1028056 1028077 + AsExpression 1028058 1028076 + Identifier 1028058 1028063 + TypeReference 1028066 1028076 + Identifier 1028066 1028076 + Identifier 1028078 1028083 + Identifier 1028084 1028090 + NumericLiteral 1028091 1028093 + IfStatement 1028095 1028398 + BinaryExpression 1028113 1028169 + BinaryExpression 1028113 1028150 + Identifier 1028113 1028128 + PlusToken 1028128 1028130 + PropertyAccessExpression 1028130 1028150 + Identifier 1028130 1028143 + Identifier 1028144 1028150 + EqualsEqualsEqualsToken 1028150 1028154 + PropertyAccessExpression 1028154 1028169 + Identifier 1028154 1028162 + Identifier 1028163 1028169 + Block 1028170 1028398 + ForOfStatement 1028172 1028289 + VariableDeclarationList 1028195 1028202 + VariableDeclaration 1028200 1028202 + Identifier 1028200 1028202 + Identifier 1028205 1028217 + Block 1028218 1028289 + ExpressionStatement 1028220 1028270 + CallExpression 1028220 1028269 + Identifier 1028220 1028252 + Identifier 1028253 1028265 + Identifier 1028266 1028268 + ExpressionStatement 1028289 1028383 + BinaryExpression 1028289 1028382 + Identifier 1028289 1028313 + EqualsToken 1028313 1028315 + CallExpression 1028315 1028382 + Identifier 1028315 1028351 + PropertyAccessExpression 1028352 1028367 + Identifier 1028352 1028361 + Identifier 1028362 1028367 + Identifier 1028368 1028381 + VariableStatement 1028409 1028604 + VariableDeclarationList 1028409 1028603 + VariableDeclaration 1028424 1028603 + Identifier 1028424 1028436 + BinaryExpression 1028438 1028603 + ParenthesizedExpression 1028438 1028512 + ConditionalExpression 1028440 1028511 + BinaryExpression 1028440 1028478 + Identifier 1028440 1028448 + AmpersandToken 1028448 1028450 + PropertyAccessExpression 1028450 1028478 + Identifier 1028450 1028460 + Identifier 1028461 1028478 + QuestionToken 1028478 1028480 + NumericLiteral 1028480 1028482 + ColonToken 1028482 1028484 + PropertyAccessExpression 1028484 1028511 + Identifier 1028484 1028496 + Identifier 1028497 1028511 + BarToken 1028512 1028514 + ParenthesizedExpression 1028514 1028603 + ConditionalExpression 1028529 1028602 + BinaryExpression 1028529 1028562 + Identifier 1028529 1028537 + AmpersandToken 1028537 1028539 + PropertyAccessExpression 1028539 1028562 + Identifier 1028539 1028549 + Identifier 1028550 1028562 + QuestionToken 1028562 1028564 + PropertyAccessExpression 1028564 1028598 + Identifier 1028564 1028576 + Identifier 1028577 1028598 + ColonToken 1028598 1028600 + NumericLiteral 1028600 1028602 + ReturnStatement 1028604 1028711 + CallExpression 1028620 1028710 + Identifier 1028620 1028647 + Identifier 1028648 1028655 + Identifier 1028656 1028668 + Identifier 1028669 1028681 + Identifier 1028682 1028701 + Identifier 1028702 1028709 + FunctionDeclaration 1028718 1030161 + Identifier 1028734 1028770 + Parameter 1028771 1028803 + Identifier 1028771 1028781 + TypeOperator 1028782 1028803 + ArrayType 1028791 1028803 + TypeReference 1028791 1028801 + Identifier 1028791 1028801 + Parameter 1028804 1028832 + Identifier 1028804 1028809 + UnionType 1028810 1028832 + TypeReference 1028810 1028820 + Identifier 1028810 1028820 + UndefinedKeyword 1028822 1028832 + UnionType 1028834 1028860 + TypeReference 1028834 1028848 + Identifier 1028834 1028848 + UndefinedKeyword 1028850 1028860 + Block 1028860 1030161 + VariableStatement 1028862 1028908 + VariableDeclarationList 1028862 1028907 + VariableDeclaration 1028875 1028907 + Identifier 1028875 1028880 + UnionType 1028881 1028907 + TypeReference 1028881 1028895 + Identifier 1028881 1028895 + UndefinedKeyword 1028897 1028907 + VariableStatement 1028908 1028943 + VariableDeclarationList 1028908 1028942 + VariableDeclaration 1028923 1028942 + Identifier 1028923 1028929 + ArrayType 1028930 1028937 + TypeReference 1028930 1028935 + Identifier 1028930 1028935 + ArrayLiteralExpression 1028939 1028942 + ForOfStatement 1028943 1029914 + VariableDeclarationList 1028958 1028967 + VariableDeclaration 1028963 1028967 + Identifier 1028963 1028967 + Identifier 1028970 1028981 + Block 1028982 1029914 + VariableStatement 1028984 1029044 + VariableDeclarationList 1028984 1029043 + VariableDeclaration 1029003 1029043 + Identifier 1029003 1029008 + CallExpression 1029010 1029043 + Identifier 1029010 1029038 + Identifier 1029039 1029042 + IfStatement 1029044 1029903 + Identifier 1029062 1029066 + Block 1029067 1029503 + IfStatement 1029069 1029418 + BinaryExpression 1029227 1029357 + BinaryExpression 1029227 1029309 + BinaryExpression 1029227 1029263 + PropertyAccessExpression 1029227 1029236 + Identifier 1029227 1029231 + Identifier 1029232 1029236 + ExclamationEqualsEqualsToken 1029236 1029240 + PropertyAccessExpression 1029240 1029263 + Identifier 1029240 1029258 + Identifier 1029259 1029263 + AmpersandAmpersandToken 1029263 1029266 + BinaryExpression 1029266 1029309 + PropertyAccessExpression 1029266 1029276 + Identifier 1029266 1029271 + Identifier 1029272 1029276 + ExclamationEqualsEqualsToken 1029276 1029280 + PropertyAccessExpression 1029280 1029309 + Identifier 1029280 1029298 + Identifier 1029299 1029309 + BarBarToken 1029309 1029312 + BinaryExpression 1029312 1029357 + Identifier 1029312 1029317 + AmpersandAmpersandToken 1029317 1029320 + PrefixUnaryExpression 1029320 1029357 + CallExpression 1029322 1029357 + Identifier 1029322 1029345 + Identifier 1029346 1029350 + Identifier 1029351 1029356 + Block 1029358 1029418 + ReturnStatement 1029360 1029399 + Identifier 1029388 1029398 + ExpressionStatement 1029418 1029448 + BinaryExpression 1029418 1029447 + Identifier 1029418 1029440 + EqualsToken 1029440 1029442 + Identifier 1029442 1029447 + ExpressionStatement 1029448 1029488 + CallExpression 1029448 1029487 + PropertyAccessExpression 1029448 1029476 + Identifier 1029448 1029471 + Identifier 1029472 1029476 + PropertyAccessExpression 1029477 1029486 + Identifier 1029477 1029481 + Identifier 1029482 1029486 + Block 1029521 1029903 + VariableStatement 1029523 1029746 + VariableDeclarationList 1029523 1029745 + VariableDeclaration 1029656 1029745 + Identifier 1029656 1029667 + ConditionalExpression 1029669 1029745 + BinaryExpression 1029669 1029701 + Identifier 1029669 1029674 + ExclamationEqualsEqualsToken 1029674 1029678 + PropertyAccessExpression 1029678 1029701 + Identifier 1029678 1029688 + Identifier 1029689 1029701 + QuestionToken 1029701 1029703 + CallExpression 1029703 1029733 + Identifier 1029703 1029728 + Identifier 1029729 1029732 + ColonToken 1029733 1029735 + Identifier 1029735 1029745 + IfStatement 1029746 1029888 + BinaryExpression 1029768 1029827 + BinaryExpression 1029768 1029792 + Identifier 1029768 1029778 + ExclamationEqualsEqualsToken 1029778 1029782 + Identifier 1029782 1029792 + AmpersandAmpersandToken 1029792 1029795 + BinaryExpression 1029795 1029827 + Identifier 1029795 1029806 + ExclamationEqualsEqualsToken 1029806 1029810 + Identifier 1029810 1029827 + Block 1029828 1029888 + ReturnStatement 1029830 1029869 + Identifier 1029858 1029868 + IfStatement 1029914 1029978 + PrefixUnaryExpression 1029928 1029933 + Identifier 1029929 1029933 + Block 1029934 1029978 + ReturnStatement 1029936 1029967 + Identifier 1029956 1029966 + VariableStatement 1029978 1030050 + VariableDeclarationList 1029978 1030049 + VariableDeclaration 1029993 1030049 + Identifier 1029993 1030007 + CallExpression 1030009 1030049 + Identifier 1030009 1030036 + Identifier 1030037 1030042 + Identifier 1030043 1030048 + ReturnStatement 1030050 1030154 + CallExpression 1030066 1030153 + Identifier 1030066 1030086 + PropertyAccessExpression 1030087 1030096 + Identifier 1030087 1030091 + Identifier 1030092 1030096 + PropertyAccessExpression 1030097 1030116 + Identifier 1030097 1030102 + Identifier 1030103 1030116 + PropertyAccessExpression 1030117 1030137 + Identifier 1030117 1030122 + Identifier 1030123 1030137 + Identifier 1030138 1030152 + FunctionDeclaration 1030161 1030331 + Identifier 1030177 1030201 + Parameter 1030202 1030218 + Identifier 1030202 1030203 + TypeReference 1030204 1030218 + Identifier 1030204 1030218 + Parameter 1030219 1030236 + Identifier 1030219 1030221 + TypeReference 1030222 1030236 + Identifier 1030222 1030236 + BooleanKeyword 1030238 1030246 + Block 1030246 1030331 + ReturnStatement 1030248 1030324 + BinaryExpression 1030264 1030323 + BinaryExpression 1030264 1030282 + PropertyAccessExpression 1030264 1030271 + Identifier 1030264 1030266 + Identifier 1030267 1030271 + EqualsEqualsEqualsToken 1030271 1030275 + PropertyAccessExpression 1030275 1030282 + Identifier 1030275 1030277 + Identifier 1030278 1030282 + AmpersandAmpersandToken 1030282 1030285 + BinaryExpression 1030285 1030323 + PropertyAccessExpression 1030285 1030302 + Identifier 1030285 1030287 + Identifier 1030288 1030302 + EqualsEqualsEqualsToken 1030302 1030306 + PropertyAccessExpression 1030306 1030323 + Identifier 1030306 1030308 + Identifier 1030309 1030323 + FunctionDeclaration 1030331 1032057 + Identifier 1030431 1030458 + Parameter 1030459 1030472 + Identifier 1030459 1030464 + ArrayType 1030465 1030472 + TypeReference 1030465 1030470 + Identifier 1030465 1030470 + Parameter 1030473 1030509 + Identifier 1030473 1030496 + TypeReference 1030497 1030509 + Identifier 1030497 1030509 + Parameter 1030510 1030531 + Identifier 1030510 1030522 + QuestionToken 1030522 1030523 + TypeReference 1030524 1030531 + Identifier 1030524 1030531 + Parameter 1030532 1030569 + Identifier 1030532 1030551 + QuestionToken 1030551 1030552 + TypeOperator 1030553 1030569 + ArrayType 1030562 1030569 + TypeReference 1030562 1030567 + Identifier 1030562 1030567 + Parameter 1030570 1030584 + Identifier 1030570 1030577 + QuestionToken 1030577 1030578 + TypeReference 1030579 1030584 + Identifier 1030579 1030584 + TypeReference 1030586 1030591 + Identifier 1030586 1030591 + Block 1030591 1032057 + IfStatement 1030593 1030670 + BinaryExpression 1030607 1030625 + PropertyAccessExpression 1030607 1030619 + Identifier 1030607 1030612 + Identifier 1030613 1030619 + EqualsEqualsEqualsToken 1030619 1030623 + NumericLiteral 1030623 1030625 + Block 1030626 1030670 + ReturnStatement 1030628 1030659 + Identifier 1030648 1030658 + IfStatement 1030670 1030746 + BinaryExpression 1030684 1030702 + PropertyAccessExpression 1030684 1030696 + Identifier 1030684 1030689 + Identifier 1030690 1030696 + EqualsEqualsEqualsToken 1030696 1030700 + NumericLiteral 1030700 1030702 + Block 1030703 1030746 + ReturnStatement 1030705 1030735 + ElementAccessExpression 1030725 1030734 + Identifier 1030725 1030731 + NumericLiteral 1030732 1030733 + VariableStatement 1030746 1031086 + VariableDeclarationList 1030746 1031085 + VariableDeclaration 1030761 1031085 + Identifier 1030761 1030769 + ConditionalExpression 1030771 1031085 + PrefixUnaryExpression 1030771 1030779 + Identifier 1030773 1030779 + QuestionToken 1030779 1030781 + CallExpression 1030781 1030802 + Identifier 1030781 1030795 + Identifier 1030796 1030801 + ColonToken 1030802 1030804 + ConditionalExpression 1030804 1031085 + BinaryExpression 1030804 1030848 + PropertyAccessExpression 1030804 1030830 + Identifier 1030804 1030824 + Identifier 1030825 1030830 + AmpersandToken 1030830 1030832 + PropertyAccessExpression 1030832 1030848 + Identifier 1030832 1030842 + Identifier 1030843 1030848 + QuestionToken 1030848 1030850 + TemplateExpression 1030850 1030899 + TemplateHead 1030850 1030855 + TemplateSpan 1030855 1030899 + CallExpression 1030855 1030897 + Identifier 1030855 1030868 + PropertyAccessExpression 1030869 1030896 + ParenthesizedExpression 1030869 1030890 + AsExpression 1030870 1030889 + Identifier 1030870 1030876 + TypeReference 1030879 1030889 + Identifier 1030879 1030889 + Identifier 1030891 1030896 + TemplateTail 1030897 1030899 + ColonToken 1030899 1030901 + ConditionalExpression 1030901 1031085 + BinaryExpression 1030901 1030952 + PropertyAccessExpression 1030901 1030927 + Identifier 1030901 1030921 + Identifier 1030922 1030927 + AmpersandToken 1030927 1030929 + PropertyAccessExpression 1030929 1030952 + Identifier 1030929 1030939 + Identifier 1030940 1030952 + QuestionToken 1030952 1030954 + TemplateExpression 1030954 1031010 + TemplateHead 1030954 1030959 + TemplateSpan 1030959 1031010 + CallExpression 1030959 1031008 + Identifier 1030959 1030972 + PropertyAccessExpression 1030973 1031007 + ParenthesizedExpression 1030973 1031001 + AsExpression 1030974 1031000 + Identifier 1030974 1030980 + TypeReference 1030983 1031000 + Identifier 1030983 1031000 + Identifier 1031002 1031007 + TemplateTail 1031008 1031010 + ColonToken 1031010 1031012 + TemplateExpression 1031012 1031085 + TemplateHead 1031012 1031030 + TemplateSpan 1031030 1031063 + PropertyAccessExpression 1031030 1031059 + PropertyAccessExpression 1031030 1031056 + ParenthesizedExpression 1031030 1031051 + AsExpression 1031031 1031050 + Identifier 1031031 1031037 + TypeReference 1031040 1031050 + Identifier 1031040 1031050 + Identifier 1031052 1031056 + Identifier 1031057 1031059 + TemplateMiddle 1031059 1031063 + TemplateSpan 1031063 1031085 + CallExpression 1031063 1031083 + Identifier 1031063 1031076 + Identifier 1031077 1031082 + TemplateTail 1031083 1031085 + VariableStatement 1031086 1031279 + VariableDeclarationList 1031086 1031278 + VariableDeclaration 1031219 1031278 + Identifier 1031219 1031222 + BinaryExpression 1031224 1031278 + Identifier 1031224 1031232 + PlusToken 1031232 1031234 + CallExpression 1031234 1031278 + Identifier 1031234 1031245 + Identifier 1031246 1031257 + Identifier 1031258 1031277 + VariableStatement 1031279 1031319 + VariableDeclarationList 1031279 1031318 + VariableDeclaration 1031292 1031318 + Identifier 1031292 1031297 + CallExpression 1031299 1031318 + PropertyAccessExpression 1031299 1031314 + Identifier 1031299 1031310 + Identifier 1031311 1031314 + Identifier 1031315 1031317 + IfStatement 1031319 1032028 + PrefixUnaryExpression 1031333 1031338 + Identifier 1031334 1031338 + Block 1031339 1032028 + ExpressionStatement 1031341 1031403 + BinaryExpression 1031341 1031402 + Identifier 1031341 1031359 + EqualsToken 1031359 1031361 + AsExpression 1031361 1031402 + CallExpression 1031361 1031389 + Identifier 1031361 1031372 + PropertyAccessExpression 1031373 1031388 + Identifier 1031373 1031382 + Identifier 1031383 1031388 + TypeReference 1031392 1031402 + Identifier 1031392 1031402 + ExpressionStatement 1031403 1031532 + BinaryExpression 1031403 1031531 + PropertyAccessExpression 1031403 1031433 + Identifier 1031403 1031421 + Identifier 1031422 1031433 + EqualsToken 1031433 1031435 + BinaryExpression 1031435 1031531 + Identifier 1031435 1031458 + BarToken 1031458 1031460 + CallExpression 1031460 1031531 + Identifier 1031460 1031487 + Identifier 1031488 1031493 + PropertyAccessExpression 1031494 1031530 + Identifier 1031494 1031521 + Identifier 1031522 1031530 + ExpressionStatement 1031532 1031565 + BinaryExpression 1031532 1031564 + PropertyAccessExpression 1031532 1031556 + Identifier 1031532 1031550 + Identifier 1031551 1031556 + EqualsToken 1031556 1031558 + Identifier 1031558 1031564 + ExpressionStatement 1031565 1031600 + BinaryExpression 1031565 1031599 + PropertyAccessExpression 1031565 1031590 + Identifier 1031565 1031583 + Identifier 1031584 1031590 + EqualsToken 1031590 1031592 + Identifier 1031592 1031599 + ExpressionStatement 1031600 1031645 + BinaryExpression 1031600 1031644 + PropertyAccessExpression 1031600 1031630 + Identifier 1031600 1031618 + Identifier 1031619 1031630 + EqualsToken 1031630 1031632 + Identifier 1031632 1031644 + ExpressionStatement 1031645 1031704 + BinaryExpression 1031645 1031703 + PropertyAccessExpression 1031645 1031682 + Identifier 1031645 1031663 + Identifier 1031664 1031682 + EqualsToken 1031682 1031684 + Identifier 1031684 1031703 + IfStatement 1031704 1031978 + BinaryExpression 1031722 1031830 + BinaryExpression 1031722 1031785 + BinaryExpression 1031722 1031740 + PropertyAccessExpression 1031722 1031734 + Identifier 1031722 1031727 + Identifier 1031728 1031734 + EqualsEqualsEqualsToken 1031734 1031738 + NumericLiteral 1031738 1031740 + AmpersandAmpersandToken 1031740 1031743 + BinaryExpression 1031743 1031785 + PropertyAccessExpression 1031743 1031758 + ElementAccessExpression 1031743 1031752 + Identifier 1031743 1031749 + NumericLiteral 1031750 1031751 + Identifier 1031753 1031758 + AmpersandToken 1031758 1031760 + PropertyAccessExpression 1031760 1031785 + Identifier 1031760 1031770 + Identifier 1031771 1031785 + AmpersandAmpersandToken 1031785 1031788 + BinaryExpression 1031788 1031830 + PropertyAccessExpression 1031788 1031803 + ElementAccessExpression 1031788 1031797 + Identifier 1031788 1031794 + NumericLiteral 1031795 1031796 + Identifier 1031798 1031803 + AmpersandToken 1031803 1031805 + PropertyAccessExpression 1031805 1031830 + Identifier 1031805 1031815 + Identifier 1031816 1031830 + Block 1031831 1031978 + ExpressionStatement 1031833 1031883 + BinaryExpression 1031833 1031882 + PropertyAccessExpression 1031833 1031861 + Identifier 1031833 1031855 + Identifier 1031856 1031861 + BarEqualsToken 1031861 1031864 + PropertyAccessExpression 1031864 1031882 + Identifier 1031864 1031874 + Identifier 1031875 1031882 + ExpressionStatement 1031883 1031963 + BinaryExpression 1031883 1031962 + PropertyAccessExpression 1031883 1031950 + ParenthesizedExpression 1031883 1031936 + AsExpression 1031902 1031935 + Identifier 1031902 1031906 + IntersectionType 1031909 1031935 + TypeReference 1031909 1031919 + Identifier 1031909 1031919 + TypeReference 1031921 1031935 + Identifier 1031921 1031935 + Identifier 1031937 1031950 + EqualsToken 1031950 1031952 + StringLiteral 1031952 1031962 + ExpressionStatement 1031978 1032017 + CallExpression 1031978 1032016 + PropertyAccessExpression 1031978 1032006 + Identifier 1031978 1032002 + Identifier 1032003 1032006 + Identifier 1032007 1032009 + Identifier 1032010 1032015 + ReturnStatement 1032028 1032050 + Identifier 1032044 1032049 + FunctionDeclaration 1032057 1032494 + Identifier 1032073 1032098 + Parameter 1032099 1032118 + Identifier 1032099 1032103 + TypeReference 1032104 1032118 + Identifier 1032104 1032118 + TypeReference 1032120 1032125 + Identifier 1032120 1032125 + Block 1032125 1032494 + VariableStatement 1032127 1032170 + VariableDeclarationList 1032127 1032169 + VariableDeclaration 1032142 1032169 + Identifier 1032142 1032148 + CallExpression 1032150 1032169 + Identifier 1032150 1032163 + Identifier 1032164 1032168 + IfStatement 1032170 1032451 + PrefixUnaryExpression 1032184 1032203 + PropertyAccessExpression 1032185 1032203 + Identifier 1032185 1032190 + Identifier 1032191 1032203 + Block 1032204 1032451 + VariableStatement 1032206 1032272 + VariableDeclarationList 1032206 1032271 + VariableDeclaration 1032225 1032271 + Identifier 1032225 1032237 + CallExpression 1032239 1032271 + Identifier 1032239 1032265 + Identifier 1032266 1032270 + ExpressionStatement 1032272 1032440 + BinaryExpression 1032272 1032439 + PropertyAccessExpression 1032272 1032304 + Identifier 1032272 1032291 + Identifier 1032292 1032304 + EqualsToken 1032304 1032306 + CallExpression 1032306 1032439 + Identifier 1032306 1032319 + CallExpression 1032320 1032356 + Identifier 1032320 1032323 + PropertyAccessExpression 1032324 1032334 + Identifier 1032324 1032328 + Identifier 1032329 1032334 + Identifier 1032335 1032355 + PropertyAccessExpression 1032357 1032380 + Identifier 1032357 1032372 + Identifier 1032373 1032380 + Identifier 1032381 1032393 + CallExpression 1032394 1032438 + Identifier 1032394 1032425 + Identifier 1032426 1032437 + ReturnStatement 1032451 1032487 + PropertyAccessExpression 1032467 1032486 + Identifier 1032467 1032473 + Identifier 1032474 1032486 + FunctionDeclaration 1032494 1034151 + Identifier 1032510 1032532 + Parameter 1032533 1032559 + Identifier 1032533 1032540 + TypeReference 1032541 1032559 + Identifier 1032541 1032545 + StringKeyword 1032546 1032552 + TypeReference 1032553 1032558 + Identifier 1032553 1032558 + Parameter 1032560 1032580 + Identifier 1032560 1032569 + TypeReference 1032570 1032580 + Identifier 1032570 1032580 + Parameter 1032581 1032592 + Identifier 1032581 1032586 + TypeReference 1032587 1032592 + Identifier 1032587 1032592 + Block 1032593 1034151 + VariableStatement 1032595 1032630 + VariableDeclarationList 1032595 1032629 + VariableDeclaration 1032610 1032629 + Identifier 1032610 1032616 + PropertyAccessExpression 1032618 1032629 + Identifier 1032618 1032623 + Identifier 1032624 1032629 + IfStatement 1032630 1032785 + BinaryExpression 1032644 1032674 + Identifier 1032644 1032649 + AmpersandToken 1032649 1032651 + PropertyAccessExpression 1032651 1032674 + Identifier 1032651 1032661 + Identifier 1032662 1032674 + Block 1032675 1032785 + ReturnStatement 1032677 1032774 + CallExpression 1032697 1032773 + Identifier 1032697 1032720 + Identifier 1032721 1032728 + Identifier 1032729 1032738 + PropertyAccessExpression 1032739 1032772 + ParenthesizedExpression 1032739 1032766 + AsExpression 1032741 1032765 + Identifier 1032741 1032745 + TypeReference 1032748 1032765 + Identifier 1032748 1032765 + Identifier 1032767 1032772 + IfStatement 1032785 1034118 + CallExpression 1032799 1032831 + Identifier 1032799 1032825 + Identifier 1032826 1032830 + Block 1032832 1033040 + IfStatement 1032834 1033029 + PrefixUnaryExpression 1032852 1032895 + ParenthesizedExpression 1032853 1032895 + BinaryExpression 1032854 1032894 + Identifier 1032854 1032862 + AmpersandToken 1032862 1032864 + PropertyAccessExpression 1032864 1032894 + Identifier 1032864 1032874 + Identifier 1032875 1032894 + Block 1032896 1033029 + ExpressionStatement 1032898 1032958 + BinaryExpression 1032898 1032957 + Identifier 1032898 1032924 + BarEqualsToken 1032924 1032927 + PropertyAccessExpression 1032927 1032957 + Identifier 1032927 1032937 + Identifier 1032938 1032957 + ExpressionStatement 1032958 1033014 + CallExpression 1032958 1033013 + PropertyAccessExpression 1032958 1032987 + Identifier 1032958 1032983 + Identifier 1032984 1032987 + CallExpression 1032988 1033006 + PropertyAccessExpression 1032988 1033004 + PropertyAccessExpression 1032988 1032995 + Identifier 1032988 1032992 + Identifier 1032993 1032995 + Identifier 1032996 1033004 + Identifier 1033007 1033012 + Block 1033054 1034118 + IfStatement 1033056 1034050 + BinaryExpression 1033074 1033104 + Identifier 1033074 1033079 + AmpersandToken 1033079 1033081 + PropertyAccessExpression 1033081 1033104 + Identifier 1033081 1033091 + Identifier 1033092 1033104 + Block 1033105 1033283 + IfStatement 1033107 1033191 + BinaryExpression 1033129 1033150 + Identifier 1033129 1033133 + EqualsEqualsEqualsToken 1033133 1033137 + Identifier 1033137 1033150 + ExpressionStatement 1033151 1033191 + BinaryExpression 1033151 1033190 + Identifier 1033151 1033160 + BarEqualsToken 1033160 1033163 + PropertyAccessExpression 1033163 1033190 + Identifier 1033163 1033173 + Identifier 1033174 1033190 + IfStatement 1033191 1033268 + CallExpression 1033213 1033230 + Identifier 1033213 1033224 + Identifier 1033225 1033229 + ExpressionStatement 1033231 1033268 + BinaryExpression 1033231 1033267 + Identifier 1033231 1033240 + BarEqualsToken 1033240 1033243 + PropertyAccessExpression 1033243 1033267 + Identifier 1033243 1033253 + Identifier 1033254 1033267 + IfStatement 1033301 1034050 + BinaryExpression 1033306 1033355 + Identifier 1033306 1033322 + BarBarToken 1033322 1033325 + PrefixUnaryExpression 1033325 1033355 + ParenthesizedExpression 1033327 1033355 + BinaryExpression 1033328 1033354 + Identifier 1033328 1033333 + AmpersandToken 1033333 1033335 + PropertyAccessExpression 1033335 1033354 + Identifier 1033335 1033345 + Identifier 1033346 1033354 + Block 1033356 1034050 + IfStatement 1033358 1033529 + BinaryExpression 1033380 1033400 + Identifier 1033380 1033384 + EqualsEqualsEqualsToken 1033384 1033388 + Identifier 1033388 1033400 + Block 1033401 1033529 + ExpressionStatement 1033403 1033467 + BinaryExpression 1033403 1033466 + Identifier 1033403 1033433 + BarEqualsToken 1033433 1033436 + PropertyAccessExpression 1033436 1033466 + Identifier 1033436 1033446 + Identifier 1033447 1033466 + ExpressionStatement 1033467 1033510 + BinaryExpression 1033467 1033509 + Identifier 1033467 1033493 + EqualsToken 1033493 1033495 + Identifier 1033495 1033509 + IfStatement 1033529 1034035 + PrefixUnaryExpression 1033551 1033583 + CallExpression 1033552 1033583 + PropertyAccessExpression 1033552 1033563 + Identifier 1033552 1033559 + Identifier 1033560 1033563 + CallExpression 1033564 1033582 + PropertyAccessExpression 1033564 1033580 + PropertyAccessExpression 1033564 1033571 + Identifier 1033564 1033568 + Identifier 1033569 1033571 + Identifier 1033572 1033580 + Block 1033584 1034035 + IfStatement 1033586 1033956 + BinaryExpression 1033612 1033668 + BinaryExpression 1033612 1033639 + PropertyAccessExpression 1033612 1033622 + Identifier 1033612 1033616 + Identifier 1033617 1033622 + AmpersandToken 1033622 1033624 + PropertyAccessExpression 1033624 1033639 + Identifier 1033624 1033634 + Identifier 1033635 1033639 + AmpersandAmpersandToken 1033639 1033642 + BinaryExpression 1033642 1033668 + Identifier 1033642 1033651 + AmpersandToken 1033651 1033653 + PropertyAccessExpression 1033653 1033668 + Identifier 1033653 1033663 + Identifier 1033664 1033668 + Block 1033669 1033956 + ExpressionStatement 1033671 1033933 + BinaryExpression 1033671 1033932 + Identifier 1033671 1033906 + BarEqualsToken 1033906 1033909 + PropertyAccessExpression 1033909 1033932 + Identifier 1033909 1033919 + Identifier 1033920 1033932 + ExpressionStatement 1033956 1034016 + CallExpression 1033956 1034015 + PropertyAccessExpression 1033956 1033989 + Identifier 1033956 1033985 + Identifier 1033986 1033989 + CallExpression 1033990 1034008 + PropertyAccessExpression 1033990 1034006 + PropertyAccessExpression 1033990 1033997 + Identifier 1033990 1033994 + Identifier 1033995 1033997 + Identifier 1033998 1034006 + Identifier 1034009 1034014 + ExpressionStatement 1034050 1034107 + BinaryExpression 1034050 1034106 + Identifier 1034050 1034072 + BarEqualsToken 1034072 1034075 + BinaryExpression 1034075 1034106 + Identifier 1034075 1034081 + AmpersandToken 1034081 1034083 + PropertyAccessExpression 1034083 1034106 + Identifier 1034083 1034093 + Identifier 1034094 1034106 + ReturnStatement 1034118 1034144 + Identifier 1034134 1034143 + FunctionDeclaration 1034151 1034654 + Identifier 1034374 1034397 + Parameter 1034398 1034424 + Identifier 1034398 1034405 + TypeReference 1034406 1034424 + Identifier 1034406 1034410 + StringKeyword 1034411 1034417 + TypeReference 1034418 1034423 + Identifier 1034418 1034423 + Parameter 1034425 1034445 + Identifier 1034425 1034434 + TypeReference 1034435 1034445 + Identifier 1034435 1034445 + Parameter 1034446 1034469 + Identifier 1034446 1034452 + TypeOperator 1034453 1034469 + ArrayType 1034462 1034469 + TypeReference 1034462 1034467 + Identifier 1034462 1034467 + Block 1034470 1034654 + ForOfStatement 1034472 1034621 + VariableDeclarationList 1034487 1034497 + VariableDeclaration 1034492 1034497 + Identifier 1034492 1034497 + Identifier 1034500 1034506 + Block 1034507 1034621 + ExpressionStatement 1034509 1034610 + BinaryExpression 1034509 1034609 + Identifier 1034509 1034531 + EqualsToken 1034531 1034533 + CallExpression 1034533 1034609 + Identifier 1034533 1034555 + Identifier 1034556 1034563 + Identifier 1034564 1034573 + CallExpression 1034574 1034608 + Identifier 1034574 1034602 + Identifier 1034603 1034607 + ReturnStatement 1034621 1034647 + Identifier 1034637 1034646 + FunctionDeclaration 1034654 1035532 + Identifier 1034670 1034696 + Parameter 1034697 1034710 + Identifier 1034697 1034702 + ArrayType 1034703 1034710 + TypeReference 1034703 1034708 + Identifier 1034703 1034708 + Parameter 1034711 1034731 + Identifier 1034711 1034720 + TypeReference 1034721 1034731 + Identifier 1034721 1034731 + Block 1034732 1035532 + VariableStatement 1034734 1034765 + VariableDeclarationList 1034734 1034764 + VariableDeclaration 1034747 1034764 + Identifier 1034747 1034749 + PropertyAccessExpression 1034751 1034764 + Identifier 1034751 1034757 + Identifier 1034758 1034764 + WhileStatement 1034765 1035525 + BinaryExpression 1034782 1034787 + Identifier 1034782 1034783 + GreaterThanToken 1034783 1034785 + NumericLiteral 1034785 1034787 + Block 1034788 1035525 + ExpressionStatement 1034790 1034808 + PostfixUnaryExpression 1034790 1034807 + Identifier 1034790 1034805 + VariableStatement 1034808 1034841 + VariableDeclarationList 1034808 1034840 + VariableDeclaration 1034827 1034840 + Identifier 1034827 1034829 + ElementAccessExpression 1034831 1034840 + Identifier 1034831 1034837 + Identifier 1034838 1034839 + VariableStatement 1034841 1035424 + VariableDeclarationList 1034841 1035423 + VariableDeclaration 1034860 1035423 + Identifier 1034860 1034867 + BinaryExpression 1034869 1035423 + BinaryExpression 1034869 1035327 + BinaryExpression 1034869 1035248 + BinaryExpression 1034869 1035160 + BinaryExpression 1034869 1035075 + BinaryExpression 1034869 1034990 + BinaryExpression 1034869 1034896 + PropertyAccessExpression 1034869 1034877 + Identifier 1034869 1034871 + Identifier 1034872 1034877 + AmpersandToken 1034877 1034879 + PropertyAccessExpression 1034879 1034896 + Identifier 1034879 1034889 + Identifier 1034890 1034896 + AmpersandAmpersandToken 1034896 1034899 + BinaryExpression 1034899 1034990 + Identifier 1034899 1034908 + AmpersandToken 1034908 1034910 + ParenthesizedExpression 1034910 1034990 + BinaryExpression 1034912 1034989 + BinaryExpression 1034912 1034963 + PropertyAccessExpression 1034912 1034935 + Identifier 1034912 1034921 + Identifier 1034922 1034935 + BarToken 1034935 1034937 + PropertyAccessExpression 1034937 1034963 + Identifier 1034937 1034947 + Identifier 1034948 1034963 + BarToken 1034963 1034965 + PropertyAccessExpression 1034965 1034989 + Identifier 1034965 1034975 + Identifier 1034976 1034989 + BarBarToken 1034990 1034993 + BinaryExpression 1034993 1035075 + BinaryExpression 1034993 1035037 + PropertyAccessExpression 1034993 1035018 + Identifier 1034993 1035012 + Identifier 1035013 1035018 + AmpersandToken 1035018 1035020 + PropertyAccessExpression 1035020 1035037 + Identifier 1035020 1035030 + Identifier 1035031 1035037 + AmpersandAmpersandToken 1035037 1035040 + BinaryExpression 1035040 1035075 + Identifier 1035040 1035049 + AmpersandToken 1035049 1035051 + PropertyAccessExpression 1035051 1035075 + Identifier 1035051 1035061 + Identifier 1035062 1035075 + BarBarToken 1035075 1035078 + BinaryExpression 1035078 1035160 + BinaryExpression 1035078 1035122 + PropertyAccessExpression 1035078 1035103 + Identifier 1035078 1035097 + Identifier 1035098 1035103 + AmpersandToken 1035103 1035105 + PropertyAccessExpression 1035105 1035122 + Identifier 1035105 1035115 + Identifier 1035116 1035122 + AmpersandAmpersandToken 1035122 1035125 + BinaryExpression 1035125 1035160 + Identifier 1035125 1035134 + AmpersandToken 1035134 1035136 + PropertyAccessExpression 1035136 1035160 + Identifier 1035136 1035146 + Identifier 1035147 1035160 + BarBarToken 1035160 1035163 + BinaryExpression 1035163 1035248 + BinaryExpression 1035163 1035209 + PropertyAccessExpression 1035163 1035188 + Identifier 1035163 1035182 + Identifier 1035183 1035188 + AmpersandToken 1035188 1035190 + PropertyAccessExpression 1035190 1035209 + Identifier 1035190 1035200 + Identifier 1035201 1035209 + AmpersandAmpersandToken 1035209 1035212 + BinaryExpression 1035212 1035248 + Identifier 1035212 1035221 + AmpersandToken 1035221 1035223 + PropertyAccessExpression 1035223 1035248 + Identifier 1035223 1035233 + Identifier 1035234 1035248 + BarBarToken 1035248 1035251 + BinaryExpression 1035251 1035327 + BinaryExpression 1035251 1035293 + PropertyAccessExpression 1035251 1035276 + Identifier 1035251 1035270 + Identifier 1035271 1035276 + AmpersandToken 1035276 1035278 + PropertyAccessExpression 1035278 1035293 + Identifier 1035278 1035288 + Identifier 1035289 1035293 + AmpersandAmpersandToken 1035293 1035296 + BinaryExpression 1035296 1035327 + Identifier 1035296 1035305 + AmpersandToken 1035305 1035307 + PropertyAccessExpression 1035307 1035327 + Identifier 1035307 1035317 + Identifier 1035318 1035327 + BarBarToken 1035327 1035330 + BinaryExpression 1035330 1035423 + CallExpression 1035330 1035377 + Identifier 1035330 1035374 + Identifier 1035375 1035376 + AmpersandAmpersandToken 1035377 1035380 + BinaryExpression 1035380 1035423 + Identifier 1035380 1035389 + AmpersandToken 1035389 1035391 + PropertyAccessExpression 1035391 1035423 + Identifier 1035391 1035401 + Identifier 1035402 1035423 + IfStatement 1035424 1035514 + Identifier 1035442 1035448 + Block 1035449 1035514 + ExpressionStatement 1035451 1035499 + CallExpression 1035451 1035498 + Identifier 1035451 1035488 + Identifier 1035489 1035494 + Identifier 1035495 1035497 + FunctionDeclaration 1035532 1036760 + Identifier 1035814 1035832 + Parameter 1035833 1035856 + Identifier 1035833 1035843 + ArrayType 1035844 1035856 + TypeReference 1035844 1035854 + Identifier 1035844 1035854 + Parameter 1035857 1035868 + Identifier 1035857 1035862 + TypeReference 1035863 1035868 + Identifier 1035863 1035868 + Block 1035869 1036760 + ForOfStatement 1035871 1036731 + VariableDeclarationList 1035886 1035893 + VariableDeclaration 1035891 1035893 + Identifier 1035891 1035893 + Identifier 1035896 1035907 + Block 1035908 1036731 + IfStatement 1035910 1036720 + PrefixUnaryExpression 1035928 1035956 + CallExpression 1035929 1035956 + Identifier 1035929 1035941 + PropertyAccessExpression 1035942 1035949 + Identifier 1035942 1035943 + Identifier 1035944 1035949 + Identifier 1035950 1035955 + Block 1035957 1036720 + IfStatement 1035959 1036089 + BinaryExpression 1035981 1036001 + Identifier 1035981 1035985 + EqualsEqualsEqualsToken 1035985 1035989 + Identifier 1035989 1036001 + Block 1036002 1036089 + ReturnStatement 1036004 1036070 + CallExpression 1036032 1036069 + Identifier 1036032 1036045 + PropertyAccessExpression 1036046 1036053 + Identifier 1036046 1036047 + Identifier 1036048 1036053 + Identifier 1036054 1036068 + IfStatement 1036089 1036219 + BinaryExpression 1036111 1036133 + Identifier 1036111 1036115 + EqualsEqualsEqualsToken 1036115 1036119 + Identifier 1036119 1036133 + Block 1036134 1036219 + ReturnStatement 1036136 1036200 + CallExpression 1036164 1036199 + Identifier 1036164 1036177 + PropertyAccessExpression 1036178 1036185 + Identifier 1036178 1036179 + Identifier 1036180 1036185 + Identifier 1036186 1036198 + VariableStatement 1036219 1036579 + VariableDeclarationList 1036219 1036578 + VariableDeclaration 1036242 1036578 + Identifier 1036242 1036252 + ConditionalExpression 1036254 1036578 + BinaryExpression 1036254 1036291 + PropertyAccessExpression 1036254 1036265 + Identifier 1036254 1036259 + Identifier 1036260 1036265 + AmpersandToken 1036265 1036267 + PropertyAccessExpression 1036267 1036291 + Identifier 1036267 1036277 + Identifier 1036278 1036291 + QuestionToken 1036291 1036293 + Identifier 1036293 1036304 + ColonToken 1036304 1036306 + ConditionalExpression 1036306 1036578 + BinaryExpression 1036306 1036383 + PropertyAccessExpression 1036306 1036338 + Identifier 1036306 1036332 + Identifier 1036333 1036338 + AmpersandToken 1036338 1036340 + ParenthesizedExpression 1036340 1036383 + BinaryExpression 1036342 1036382 + PropertyAccessExpression 1036342 1036356 + Identifier 1036342 1036351 + Identifier 1036352 1036356 + BarToken 1036356 1036358 + PropertyAccessExpression 1036358 1036382 + Identifier 1036358 1036368 + Identifier 1036369 1036382 + QuestionToken 1036383 1036385 + Identifier 1036385 1036396 + ColonToken 1036396 1036398 + ConditionalExpression 1036398 1036578 + BinaryExpression 1036398 1036456 + PropertyAccessExpression 1036398 1036430 + Identifier 1036398 1036424 + Identifier 1036425 1036430 + AmpersandToken 1036430 1036432 + PropertyAccessExpression 1036432 1036456 + Identifier 1036432 1036442 + Identifier 1036443 1036456 + QuestionToken 1036456 1036458 + Identifier 1036458 1036469 + ColonToken 1036469 1036471 + ConditionalExpression 1036471 1036578 + BinaryExpression 1036471 1036530 + PropertyAccessExpression 1036471 1036503 + Identifier 1036471 1036497 + Identifier 1036498 1036503 + AmpersandToken 1036503 1036505 + PropertyAccessExpression 1036505 1036530 + Identifier 1036505 1036515 + Identifier 1036516 1036530 + QuestionToken 1036530 1036532 + Identifier 1036532 1036545 + ColonToken 1036545 1036547 + Identifier 1036547 1036578 + IfStatement 1036579 1036705 + BinaryExpression 1036601 1036648 + PrefixUnaryExpression 1036601 1036611 + Identifier 1036602 1036611 + BarBarToken 1036611 1036614 + PrefixUnaryExpression 1036614 1036648 + CallExpression 1036616 1036648 + Identifier 1036616 1036628 + PropertyAccessExpression 1036629 1036636 + Identifier 1036629 1036630 + Identifier 1036631 1036636 + Identifier 1036637 1036647 + Block 1036649 1036705 + ReturnStatement 1036651 1036686 + FalseKeyword 1036679 1036685 + ReturnStatement 1036731 1036753 + TrueKeyword 1036747 1036752 + FunctionDeclaration 1036760 1037783 + Identifier 1036971 1037004 + Parameter 1037005 1037018 + Identifier 1037005 1037010 + ArrayType 1037011 1037018 + TypeReference 1037011 1037016 + Identifier 1037011 1037016 + BooleanKeyword 1037020 1037028 + Block 1037028 1037783 + VariableStatement 1037030 1037061 + VariableDeclarationList 1037030 1037060 + VariableDeclaration 1037043 1037060 + Identifier 1037043 1037045 + PropertyAccessExpression 1037047 1037060 + Identifier 1037047 1037053 + Identifier 1037054 1037060 + VariableStatement 1037061 1037146 + VariableDeclarationList 1037061 1037145 + VariableDeclaration 1037076 1037145 + Identifier 1037076 1037085 + CallExpression 1037087 1037145 + Identifier 1037087 1037094 + Identifier 1037095 1037100 + ArrowFunction 1037101 1037144 + Parameter 1037101 1037103 + Identifier 1037101 1037103 + EqualsGreaterThanToken 1037103 1037106 + PrefixUnaryExpression 1037106 1037144 + PrefixUnaryExpression 1037108 1037144 + ParenthesizedExpression 1037109 1037144 + BinaryExpression 1037110 1037143 + PropertyAccessExpression 1037110 1037117 + Identifier 1037110 1037111 + Identifier 1037112 1037117 + AmpersandToken 1037117 1037119 + PropertyAccessExpression 1037119 1037143 + Identifier 1037119 1037129 + Identifier 1037130 1037143 + WhileStatement 1037146 1037753 + BinaryExpression 1037163 1037168 + Identifier 1037163 1037164 + GreaterThanToken 1037164 1037166 + NumericLiteral 1037166 1037168 + Block 1037169 1037753 + ExpressionStatement 1037171 1037189 + PostfixUnaryExpression 1037171 1037188 + Identifier 1037171 1037186 + VariableStatement 1037189 1037222 + VariableDeclarationList 1037189 1037221 + VariableDeclaration 1037208 1037221 + Identifier 1037208 1037210 + ElementAccessExpression 1037212 1037221 + Identifier 1037212 1037218 + Identifier 1037219 1037220 + IfStatement 1037222 1037317 + PrefixUnaryExpression 1037240 1037306 + ParenthesizedExpression 1037241 1037306 + BinaryExpression 1037242 1037305 + PropertyAccessExpression 1037242 1037249 + Identifier 1037242 1037243 + Identifier 1037244 1037249 + AmpersandToken 1037249 1037251 + ParenthesizedExpression 1037251 1037305 + BinaryExpression 1037253 1037304 + PropertyAccessExpression 1037253 1037278 + Identifier 1037253 1037262 + Identifier 1037263 1037278 + BarToken 1037278 1037280 + PropertyAccessExpression 1037280 1037304 + Identifier 1037280 1037290 + Identifier 1037291 1037304 + ContinueStatement 1037307 1037317 + ForOfStatement 1037317 1037742 + VariableDeclarationList 1037336 1037344 + VariableDeclaration 1037341 1037344 + Identifier 1037341 1037344 + Identifier 1037347 1037356 + Block 1037357 1037742 + IfStatement 1037359 1037727 + CallExpression 1037381 1037403 + Identifier 1037381 1037396 + Identifier 1037397 1037399 + Identifier 1037400 1037402 + Block 1037404 1037621 + ExpressionStatement 1037406 1037574 + CallExpression 1037406 1037573 + Identifier 1037406 1037563 + Identifier 1037564 1037569 + Identifier 1037570 1037572 + BreakStatement 1037574 1037602 + IfStatement 1037643 1037727 + CallExpression 1037648 1037671 + Identifier 1037648 1037668 + Identifier 1037669 1037670 + Block 1037672 1037727 + ReturnStatement 1037674 1037708 + TrueKeyword 1037702 1037707 + ReturnStatement 1037753 1037776 + FalseKeyword 1037769 1037775 + FunctionDeclaration 1037783 1037986 + Identifier 1037799 1037814 + Parameter 1037815 1037828 + Identifier 1037815 1037820 + ArrayType 1037821 1037828 + TypeReference 1037821 1037826 + Identifier 1037821 1037826 + Parameter 1037829 1037845 + Identifier 1037829 1037834 + TypeReference 1037835 1037845 + Identifier 1037835 1037845 + Block 1037846 1037986 + ForStatement 1037848 1037979 + VariableDeclarationList 1037863 1037872 + VariableDeclaration 1037866 1037872 + Identifier 1037866 1037868 + NumericLiteral 1037870 1037872 + BinaryExpression 1037873 1037890 + Identifier 1037873 1037875 + LessThanToken 1037875 1037877 + PropertyAccessExpression 1037877 1037890 + Identifier 1037877 1037883 + Identifier 1037884 1037890 + PostfixUnaryExpression 1037891 1037895 + Identifier 1037891 1037893 + Block 1037896 1037979 + ExpressionStatement 1037898 1037968 + BinaryExpression 1037898 1037967 + ElementAccessExpression 1037898 1037920 + Identifier 1037898 1037917 + Identifier 1037918 1037919 + EqualsToken 1037920 1037922 + CallExpression 1037922 1037967 + Identifier 1037922 1037933 + ElementAccessExpression 1037934 1037942 + Identifier 1037934 1037939 + Identifier 1037940 1037941 + ArrowFunction 1037943 1037966 + Parameter 1037943 1037945 + Identifier 1037943 1037945 + EqualsGreaterThanToken 1037945 1037948 + PrefixUnaryExpression 1037948 1037966 + ParenthesizedExpression 1037950 1037966 + BinaryExpression 1037951 1037965 + PropertyAccessExpression 1037951 1037958 + Identifier 1037951 1037952 + Identifier 1037953 1037958 + AmpersandToken 1037958 1037960 + Identifier 1037960 1037965 + FunctionDeclaration 1037986 1040444 + Identifier 1038272 1038304 + Parameter 1038305 1038318 + Identifier 1038305 1038310 + ArrayType 1038311 1038318 + TypeReference 1038311 1038316 + Identifier 1038311 1038316 + Block 1038319 1040444 + VariableStatement 1038321 1038371 + VariableDeclarationList 1038321 1038370 + VariableDeclaration 1038334 1038370 + Identifier 1038334 1038345 + UnionType 1038346 1038370 + ArrayType 1038346 1038358 + TypeReference 1038346 1038356 + Identifier 1038346 1038356 + UndefinedKeyword 1038360 1038370 + VariableStatement 1038371 1038469 + VariableDeclarationList 1038371 1038468 + VariableDeclaration 1038386 1038468 + Identifier 1038386 1038392 + CallExpression 1038394 1038468 + Identifier 1038394 1038404 + Identifier 1038405 1038410 + ArrowFunction 1038411 1038467 + Parameter 1038411 1038413 + Identifier 1038411 1038413 + EqualsGreaterThanToken 1038413 1038416 + PrefixUnaryExpression 1038416 1038467 + PrefixUnaryExpression 1038418 1038467 + ParenthesizedExpression 1038419 1038467 + BinaryExpression 1038420 1038466 + CallExpression 1038420 1038437 + Identifier 1038420 1038434 + Identifier 1038435 1038436 + AmpersandToken 1038437 1038439 + PropertyAccessExpression 1038439 1038466 + Identifier 1038439 1038451 + Identifier 1038452 1038466 + IfStatement 1038469 1038533 + BinaryExpression 1038483 1038492 + Identifier 1038483 1038488 + LessThanToken 1038488 1038490 + NumericLiteral 1038490 1038492 + Block 1038493 1038533 + ReturnStatement 1038495 1038522 + FalseKeyword 1038515 1038521 + VariableStatement 1038533 1038561 + VariableDeclarationList 1038533 1038560 + VariableDeclaration 1038546 1038560 + Identifier 1038546 1038548 + BinaryExpression 1038550 1038560 + Identifier 1038550 1038556 + PlusToken 1038556 1038558 + NumericLiteral 1038558 1038560 + WhileStatement 1038561 1039042 + BinaryExpression 1038694 1038710 + Identifier 1038694 1038695 + LessThanToken 1038695 1038697 + PropertyAccessExpression 1038697 1038710 + Identifier 1038697 1038703 + Identifier 1038704 1038710 + Block 1038711 1039042 + VariableStatement 1038713 1038746 + VariableDeclarationList 1038713 1038745 + VariableDeclaration 1038732 1038745 + Identifier 1038732 1038734 + ElementAccessExpression 1038736 1038745 + Identifier 1038736 1038742 + Identifier 1038743 1038744 + IfStatement 1038746 1039031 + BinaryExpression 1038764 1038810 + CallExpression 1038764 1038781 + Identifier 1038764 1038778 + Identifier 1038779 1038780 + AmpersandToken 1038781 1038783 + PropertyAccessExpression 1038783 1038810 + Identifier 1038783 1038795 + Identifier 1038796 1038810 + Block 1038811 1038974 + ExpressionStatement 1038813 1038911 + CallExpression 1038813 1038910 + PropertyAccessExpression 1038813 1038894 + ParenthesizedExpression 1038813 1038889 + BinaryExpression 1038832 1038888 + Identifier 1038832 1038842 + BarBarToken 1038842 1038845 + ParenthesizedExpression 1038845 1038888 + BinaryExpression 1038847 1038887 + Identifier 1038847 1038857 + EqualsToken 1038857 1038859 + ArrayLiteralExpression 1038859 1038887 + AsExpression 1038861 1038886 + ElementAccessExpression 1038861 1038873 + Identifier 1038861 1038866 + Identifier 1038867 1038872 + TypeReference 1038876 1038886 + Identifier 1038876 1038886 + Identifier 1038890 1038894 + AsExpression 1038895 1038909 + Identifier 1038895 1038896 + TypeReference 1038899 1038909 + Identifier 1038899 1038909 + ExpressionStatement 1038911 1038959 + CallExpression 1038911 1038958 + Identifier 1038911 1038948 + Identifier 1038949 1038954 + Identifier 1038955 1038957 + Block 1038992 1039031 + ExpressionStatement 1038994 1039016 + PostfixUnaryExpression 1038994 1039015 + Identifier 1038994 1039013 + IfStatement 1039042 1039180 + PrefixUnaryExpression 1039128 1039139 + Identifier 1039129 1039139 + Block 1039140 1039180 + ReturnStatement 1039142 1039169 + FalseKeyword 1039162 1039168 + VariableStatement 1039180 1039435 + VariableDeclarationList 1039180 1039434 + VariableDeclaration 1039413 1039434 + Identifier 1039413 1039421 + ArrayType 1039422 1039429 + TypeReference 1039422 1039427 + Identifier 1039422 1039427 + ArrayLiteralExpression 1039431 1039434 + VariableStatement 1039435 1039471 + VariableDeclarationList 1039435 1039470 + VariableDeclaration 1039450 1039470 + Identifier 1039450 1039457 + ArrayType 1039458 1039465 + TypeReference 1039458 1039463 + Identifier 1039458 1039463 + ArrayLiteralExpression 1039467 1039470 + ForOfStatement 1039471 1040267 + VariableDeclarationList 1039486 1039493 + VariableDeclaration 1039491 1039493 + Identifier 1039491 1039493 + Identifier 1039496 1039507 + Block 1039508 1040267 + ForOfStatement 1039510 1040256 + VariableDeclarationList 1039529 1039536 + VariableDeclaration 1039534 1039536 + Identifier 1039534 1039536 + PropertyAccessExpression 1039539 1039547 + Identifier 1039539 1039541 + Identifier 1039542 1039547 + Block 1039548 1040256 + IfStatement 1039550 1040241 + CallExpression 1039572 1039594 + Identifier 1039572 1039582 + Identifier 1039583 1039590 + Identifier 1039591 1039593 + Block 1039595 1040241 + IfStatement 1039597 1040222 + CallExpression 1039623 1039655 + Identifier 1039623 1039640 + Identifier 1039641 1039651 + Identifier 1039652 1039654 + Block 1039656 1040222 + IfStatement 1039658 1039933 + BinaryExpression 1039799 1039864 + BinaryExpression 1039799 1039835 + BinaryExpression 1039799 1039818 + Identifier 1039799 1039800 + EqualsEqualsEqualsToken 1039800 1039804 + Identifier 1039804 1039818 + AmpersandAmpersandToken 1039818 1039821 + PropertyAccessExpression 1039821 1039835 + Identifier 1039821 1039828 + Identifier 1039829 1039835 + AmpersandAmpersandToken 1039835 1039838 + BinaryExpression 1039838 1039864 + ElementAccessExpression 1039838 1039848 + Identifier 1039838 1039845 + NumericLiteral 1039846 1039847 + EqualsEqualsEqualsToken 1039848 1039852 + Identifier 1039852 1039864 + Block 1039865 1039933 + ContinueStatement 1039867 1039906 + IfStatement 1039933 1040151 + BinaryExpression 1039963 1040028 + BinaryExpression 1039963 1039997 + BinaryExpression 1039963 1039980 + Identifier 1039963 1039964 + EqualsEqualsEqualsToken 1039964 1039968 + Identifier 1039968 1039980 + AmpersandAmpersandToken 1039980 1039983 + PropertyAccessExpression 1039983 1039997 + Identifier 1039983 1039990 + Identifier 1039991 1039997 + AmpersandAmpersandToken 1039997 1040000 + BinaryExpression 1040000 1040028 + ElementAccessExpression 1040000 1040010 + Identifier 1040000 1040007 + NumericLiteral 1040008 1040009 + EqualsEqualsEqualsToken 1040010 1040014 + Identifier 1040014 1040028 + Block 1040029 1040151 + ExpressionStatement 1040031 1040085 + BinaryExpression 1040031 1040084 + ElementAccessExpression 1040031 1040070 + Identifier 1040031 1040067 + NumericLiteral 1040068 1040069 + EqualsToken 1040070 1040072 + Identifier 1040072 1040084 + ContinueStatement 1040085 1040124 + ExpressionStatement 1040151 1040199 + CallExpression 1040151 1040198 + Identifier 1040151 1040187 + Identifier 1040188 1040194 + Identifier 1040195 1040197 + ExpressionStatement 1040267 1040415 + BinaryExpression 1040267 1040414 + ElementAccessExpression 1040267 1040349 + Identifier 1040267 1040342 + Identifier 1040343 1040348 + EqualsToken 1040349 1040351 + CallExpression 1040351 1040414 + Identifier 1040351 1040378 + Identifier 1040379 1040385 + PropertyAccessExpression 1040386 1040413 + Identifier 1040386 1040398 + Identifier 1040399 1040413 + ReturnStatement 1040415 1040437 + TrueKeyword 1040431 1040436 + FunctionDeclaration 1040444 1040944 + Identifier 1040460 1040483 + Parameter 1040484 1040497 + Identifier 1040484 1040489 + ArrayType 1040490 1040497 + TypeReference 1040490 1040495 + Identifier 1040490 1040495 + Parameter 1040498 1040523 + Identifier 1040498 1040510 + TypeReference 1040511 1040523 + Identifier 1040511 1040523 + Parameter 1040524 1040545 + Identifier 1040524 1040536 + QuestionToken 1040536 1040537 + TypeReference 1040538 1040545 + Identifier 1040538 1040545 + Parameter 1040546 1040583 + Identifier 1040546 1040565 + QuestionToken 1040565 1040566 + TypeOperator 1040567 1040583 + ArrayType 1040576 1040583 + TypeReference 1040576 1040581 + Identifier 1040576 1040581 + Block 1040584 1040944 + VariableStatement 1040586 1040666 + VariableDeclarationList 1040586 1040665 + VariableDeclaration 1040601 1040665 + Identifier 1040601 1040608 + AsExpression 1040610 1040665 + CallExpression 1040610 1040645 + Identifier 1040610 1040621 + PropertyAccessExpression 1040622 1040644 + Identifier 1040622 1040631 + Identifier 1040632 1040644 + TypeReference 1040648 1040665 + Identifier 1040648 1040665 + ExpressionStatement 1040666 1040782 + BinaryExpression 1040666 1040781 + PropertyAccessExpression 1040666 1040694 + Identifier 1040666 1040682 + Identifier 1040683 1040694 + EqualsToken 1040694 1040696 + BinaryExpression 1040696 1040781 + Identifier 1040696 1040708 + BarToken 1040708 1040710 + CallExpression 1040710 1040781 + Identifier 1040710 1040737 + Identifier 1040738 1040743 + PropertyAccessExpression 1040744 1040780 + Identifier 1040744 1040771 + Identifier 1040772 1040780 + ExpressionStatement 1040782 1040813 + BinaryExpression 1040782 1040812 + PropertyAccessExpression 1040782 1040804 + Identifier 1040782 1040798 + Identifier 1040799 1040804 + EqualsToken 1040804 1040806 + Identifier 1040806 1040812 + ExpressionStatement 1040813 1040856 + BinaryExpression 1040813 1040855 + PropertyAccessExpression 1040813 1040841 + Identifier 1040813 1040829 + Identifier 1040830 1040841 + EqualsToken 1040841 1040843 + Identifier 1040843 1040855 + ExpressionStatement 1040856 1040913 + BinaryExpression 1040856 1040912 + PropertyAccessExpression 1040856 1040891 + Identifier 1040856 1040872 + Identifier 1040873 1040891 + EqualsToken 1040891 1040893 + Identifier 1040893 1040912 + ReturnStatement 1040913 1040937 + Identifier 1040929 1040936 + FunctionDeclaration 1040944 1052366 + Identifier 1041942 1041962 + Parameter 1041963 1041985 + Identifier 1041963 1041968 + TypeOperator 1041969 1041985 + ArrayType 1041978 1041985 + TypeReference 1041978 1041983 + Identifier 1041978 1041983 + Parameter 1041986 1042017 + Identifier 1041986 1041992 + PropertyAccessExpression 1041994 1042017 + Identifier 1041994 1042012 + Identifier 1042013 1042017 + Parameter 1042018 1042039 + Identifier 1042018 1042030 + QuestionToken 1042030 1042031 + TypeReference 1042032 1042039 + Identifier 1042032 1042039 + Parameter 1042040 1042077 + Identifier 1042040 1042059 + QuestionToken 1042059 1042060 + TypeOperator 1042061 1042077 + ArrayType 1042070 1042077 + TypeReference 1042070 1042075 + Identifier 1042070 1042075 + TypeReference 1042079 1042084 + Identifier 1042079 1042084 + Block 1042084 1052366 + VariableStatement 1042086 1042146 + VariableDeclarationList 1042086 1042145 + VariableDeclaration 1042101 1042145 + Identifier 1042101 1042119 + NewExpression 1042121 1042145 + Identifier 1042125 1042129 + StringKeyword 1042130 1042136 + TypeReference 1042137 1042142 + Identifier 1042137 1042142 + VariableStatement 1042146 1042238 + VariableDeclarationList 1042146 1042237 + VariableDeclaration 1042161 1042237 + Identifier 1042161 1042170 + CallExpression 1042172 1042237 + Identifier 1042172 1042195 + Identifier 1042196 1042213 + AsExpression 1042214 1042229 + NumericLiteral 1042214 1042216 + TypeReference 1042219 1042229 + Identifier 1042219 1042229 + Identifier 1042230 1042236 + VariableStatement 1042238 1042310 + VariableDeclarationList 1042238 1042309 + VariableDeclaration 1042253 1042309 + Identifier 1042253 1042261 + ArrayType 1042262 1042269 + TypeReference 1042262 1042267 + Identifier 1042262 1042267 + CallExpression 1042271 1042309 + Identifier 1042271 1042281 + CallExpression 1042282 1042308 + PropertyAccessExpression 1042282 1042306 + Identifier 1042282 1042299 + Identifier 1042300 1042306 + VariableStatement 1042310 1042355 + VariableDeclarationList 1042310 1042354 + VariableDeclaration 1042323 1042354 + Identifier 1042323 1042335 + PropertyAccessExpression 1042337 1042354 + Identifier 1042337 1042349 + Identifier 1042350 1042354 + IfStatement 1042355 1043064 + BinaryExpression 1042938 1042964 + Identifier 1042938 1042946 + AmpersandToken 1042946 1042948 + PropertyAccessExpression 1042948 1042964 + Identifier 1042948 1042958 + Identifier 1042959 1042964 + Block 1042965 1043064 + ReturnStatement 1042967 1043053 + ConditionalExpression 1042987 1043052 + CallExpression 1042987 1043022 + Identifier 1042987 1042996 + Identifier 1042997 1043004 + Identifier 1043005 1043021 + QuestionToken 1043022 1043024 + Identifier 1043024 1043040 + ColonToken 1043040 1043042 + Identifier 1043042 1043052 + IfStatement 1043064 1043974 + BinaryExpression 1043078 1043919 + BinaryExpression 1043078 1043809 + BinaryExpression 1043078 1043691 + BinaryExpression 1043078 1043577 + BinaryExpression 1043078 1043463 + BinaryExpression 1043078 1043349 + BinaryExpression 1043078 1043231 + BinaryExpression 1043078 1043141 + Identifier 1043078 1043108 + AmpersandAmpersandToken 1043108 1043111 + BinaryExpression 1043111 1043141 + Identifier 1043111 1043120 + AmpersandToken 1043120 1043122 + PropertyAccessExpression 1043122 1043141 + Identifier 1043122 1043132 + Identifier 1043133 1043141 + AmpersandAmpersandToken 1043141 1043144 + BinaryExpression 1043144 1043231 + Identifier 1043144 1043153 + AmpersandToken 1043153 1043155 + ParenthesizedExpression 1043155 1043231 + BinaryExpression 1043157 1043230 + BinaryExpression 1043157 1043198 + PropertyAccessExpression 1043157 1043173 + Identifier 1043157 1043166 + Identifier 1043167 1043173 + BarToken 1043173 1043175 + PropertyAccessExpression 1043175 1043198 + Identifier 1043175 1043185 + Identifier 1043186 1043198 + BarToken 1043198 1043200 + PropertyAccessExpression 1043200 1043230 + Identifier 1043200 1043210 + Identifier 1043211 1043230 + BarBarToken 1043231 1043234 + BinaryExpression 1043234 1043349 + BinaryExpression 1043234 1043281 + Identifier 1043234 1043256 + AmpersandToken 1043256 1043258 + PropertyAccessExpression 1043258 1043281 + Identifier 1043258 1043268 + Identifier 1043269 1043281 + AmpersandAmpersandToken 1043281 1043284 + BinaryExpression 1043284 1043349 + Identifier 1043284 1043293 + AmpersandToken 1043293 1043295 + ParenthesizedExpression 1043295 1043349 + BinaryExpression 1043297 1043348 + PropertyAccessExpression 1043297 1043322 + Identifier 1043297 1043306 + Identifier 1043307 1043322 + AmpersandToken 1043322 1043324 + PrefixUnaryExpression 1043324 1043348 + PropertyAccessExpression 1043326 1043348 + Identifier 1043326 1043335 + Identifier 1043336 1043348 + BarBarToken 1043349 1043352 + BinaryExpression 1043352 1043463 + BinaryExpression 1043352 1043397 + Identifier 1043352 1043374 + AmpersandToken 1043374 1043376 + PropertyAccessExpression 1043376 1043397 + Identifier 1043376 1043386 + Identifier 1043387 1043397 + AmpersandAmpersandToken 1043397 1043400 + BinaryExpression 1043400 1043463 + Identifier 1043400 1043409 + AmpersandToken 1043409 1043411 + ParenthesizedExpression 1043411 1043463 + BinaryExpression 1043413 1043462 + PropertyAccessExpression 1043413 1043438 + Identifier 1043413 1043422 + Identifier 1043423 1043438 + AmpersandToken 1043438 1043440 + PrefixUnaryExpression 1043440 1043462 + PropertyAccessExpression 1043442 1043462 + Identifier 1043442 1043451 + Identifier 1043452 1043462 + BarBarToken 1043463 1043466 + BinaryExpression 1043466 1043577 + BinaryExpression 1043466 1043511 + Identifier 1043466 1043488 + AmpersandToken 1043488 1043490 + PropertyAccessExpression 1043490 1043511 + Identifier 1043490 1043500 + Identifier 1043501 1043511 + AmpersandAmpersandToken 1043511 1043514 + BinaryExpression 1043514 1043577 + Identifier 1043514 1043523 + AmpersandToken 1043523 1043525 + ParenthesizedExpression 1043525 1043577 + BinaryExpression 1043527 1043576 + PropertyAccessExpression 1043527 1043552 + Identifier 1043527 1043536 + Identifier 1043537 1043552 + AmpersandToken 1043552 1043554 + PrefixUnaryExpression 1043554 1043576 + PropertyAccessExpression 1043556 1043576 + Identifier 1043556 1043565 + Identifier 1043566 1043576 + BarBarToken 1043577 1043580 + BinaryExpression 1043580 1043691 + BinaryExpression 1043580 1043625 + Identifier 1043580 1043602 + AmpersandToken 1043602 1043604 + PropertyAccessExpression 1043604 1043625 + Identifier 1043604 1043614 + Identifier 1043615 1043625 + AmpersandAmpersandToken 1043625 1043628 + BinaryExpression 1043628 1043691 + Identifier 1043628 1043637 + AmpersandToken 1043637 1043639 + ParenthesizedExpression 1043639 1043691 + BinaryExpression 1043641 1043690 + PropertyAccessExpression 1043641 1043666 + Identifier 1043641 1043650 + Identifier 1043651 1043666 + AmpersandToken 1043666 1043668 + PrefixUnaryExpression 1043668 1043690 + PropertyAccessExpression 1043670 1043690 + Identifier 1043670 1043679 + Identifier 1043680 1043690 + BarBarToken 1043691 1043694 + BinaryExpression 1043694 1043809 + BinaryExpression 1043694 1043741 + Identifier 1043694 1043716 + AmpersandToken 1043716 1043718 + PropertyAccessExpression 1043718 1043741 + Identifier 1043718 1043728 + Identifier 1043729 1043741 + AmpersandAmpersandToken 1043741 1043744 + BinaryExpression 1043744 1043809 + Identifier 1043744 1043753 + AmpersandToken 1043753 1043755 + ParenthesizedExpression 1043755 1043809 + BinaryExpression 1043757 1043808 + PropertyAccessExpression 1043757 1043782 + Identifier 1043757 1043766 + Identifier 1043767 1043782 + AmpersandToken 1043782 1043784 + PrefixUnaryExpression 1043784 1043808 + PropertyAccessExpression 1043786 1043808 + Identifier 1043786 1043795 + Identifier 1043796 1043808 + BarBarToken 1043809 1043812 + BinaryExpression 1043812 1043919 + BinaryExpression 1043812 1043855 + Identifier 1043812 1043834 + AmpersandToken 1043834 1043836 + PropertyAccessExpression 1043836 1043855 + Identifier 1043836 1043846 + Identifier 1043847 1043855 + AmpersandAmpersandToken 1043855 1043858 + BinaryExpression 1043858 1043919 + Identifier 1043858 1043867 + AmpersandToken 1043867 1043869 + ParenthesizedExpression 1043869 1043919 + BinaryExpression 1043871 1043918 + PropertyAccessExpression 1043871 1043896 + Identifier 1043871 1043880 + Identifier 1043881 1043896 + AmpersandToken 1043896 1043898 + PrefixUnaryExpression 1043898 1043918 + PropertyAccessExpression 1043900 1043918 + Identifier 1043900 1043909 + Identifier 1043910 1043918 + Block 1043930 1043974 + ReturnStatement 1043932 1043963 + Identifier 1043952 1043962 + IfStatement 1043974 1044180 + BinaryExpression 1043988 1044135 + BinaryExpression 1043988 1044090 + BinaryExpression 1043988 1044052 + Identifier 1043988 1043996 + AmpersandToken 1043996 1043998 + ParenthesizedExpression 1043998 1044052 + BinaryExpression 1044000 1044051 + PropertyAccessExpression 1044000 1044025 + Identifier 1044000 1044009 + Identifier 1044010 1044025 + BarToken 1044025 1044027 + PropertyAccessExpression 1044027 1044051 + Identifier 1044027 1044037 + Identifier 1044038 1044051 + AmpersandAmpersandToken 1044052 1044055 + BinaryExpression 1044055 1044090 + Identifier 1044055 1044064 + AmpersandToken 1044064 1044066 + PropertyAccessExpression 1044066 1044090 + Identifier 1044066 1044076 + Identifier 1044077 1044090 + AmpersandAmpersandToken 1044090 1044093 + CallExpression 1044093 1044135 + Identifier 1044093 1044126 + Identifier 1044127 1044134 + Block 1044136 1044180 + ReturnStatement 1044138 1044169 + Identifier 1044158 1044168 + IfStatement 1044180 1044365 + BinaryExpression 1044194 1044218 + Identifier 1044194 1044202 + AmpersandToken 1044202 1044204 + PropertyAccessExpression 1044204 1044218 + Identifier 1044204 1044214 + Identifier 1044215 1044218 + Block 1044219 1044365 + ReturnStatement 1044221 1044354 + ConditionalExpression 1044241 1044353 + BinaryExpression 1044241 1044279 + Identifier 1044241 1044250 + AmpersandToken 1044250 1044252 + PropertyAccessExpression 1044252 1044279 + Identifier 1044252 1044262 + Identifier 1044263 1044279 + QuestionToken 1044279 1044281 + Identifier 1044281 1044294 + ColonToken 1044294 1044296 + ConditionalExpression 1044296 1044353 + BinaryExpression 1044296 1044331 + Identifier 1044296 1044305 + AmpersandToken 1044305 1044307 + PropertyAccessExpression 1044307 1044331 + Identifier 1044307 1044317 + Identifier 1044318 1044331 + QuestionToken 1044331 1044333 + Identifier 1044333 1044343 + ColonToken 1044343 1044345 + Identifier 1044345 1044353 + IfStatement 1044365 1044577 + BinaryExpression 1044379 1044429 + PrefixUnaryExpression 1044379 1044396 + Identifier 1044380 1044396 + AmpersandAmpersandToken 1044396 1044399 + BinaryExpression 1044399 1044429 + Identifier 1044399 1044408 + AmpersandToken 1044408 1044410 + PropertyAccessExpression 1044410 1044429 + Identifier 1044410 1044420 + Identifier 1044421 1044429 + Block 1044430 1044577 + ReturnStatement 1044432 1044566 + ConditionalExpression 1044452 1044565 + BinaryExpression 1044452 1044493 + Identifier 1044452 1044461 + AmpersandToken 1044461 1044463 + PropertyAccessExpression 1044463 1044493 + Identifier 1044463 1044473 + Identifier 1044474 1044493 + QuestionToken 1044493 1044495 + Identifier 1044495 1044505 + ColonToken 1044505 1044507 + ConditionalExpression 1044507 1044565 + BinaryExpression 1044507 1044538 + Identifier 1044507 1044516 + AmpersandToken 1044516 1044518 + PropertyAccessExpression 1044518 1044538 + Identifier 1044518 1044528 + Identifier 1044529 1044538 + QuestionToken 1044538 1044540 + Identifier 1044540 1044554 + ColonToken 1044554 1044556 + Identifier 1044556 1044565 + IfStatement 1044577 1045292 + BinaryExpression 1044591 1045154 + BinaryExpression 1044591 1045051 + BinaryExpression 1044591 1044975 + BinaryExpression 1044591 1044890 + BinaryExpression 1044591 1044808 + BinaryExpression 1044591 1044726 + BinaryExpression 1044591 1044632 + Identifier 1044591 1044613 + AmpersandToken 1044613 1044615 + PropertyAccessExpression 1044615 1044632 + Identifier 1044615 1044625 + Identifier 1044626 1044632 + AmpersandAmpersandToken 1044632 1044635 + BinaryExpression 1044635 1044726 + Identifier 1044635 1044644 + AmpersandToken 1044644 1044646 + ParenthesizedExpression 1044646 1044726 + BinaryExpression 1044648 1044725 + BinaryExpression 1044648 1044699 + PropertyAccessExpression 1044648 1044671 + Identifier 1044648 1044657 + Identifier 1044658 1044671 + BarToken 1044671 1044673 + PropertyAccessExpression 1044673 1044699 + Identifier 1044673 1044683 + Identifier 1044684 1044699 + BarToken 1044699 1044701 + PropertyAccessExpression 1044701 1044725 + Identifier 1044701 1044711 + Identifier 1044712 1044725 + BarBarToken 1044726 1044729 + BinaryExpression 1044729 1044808 + BinaryExpression 1044729 1044770 + Identifier 1044729 1044751 + AmpersandToken 1044751 1044753 + PropertyAccessExpression 1044753 1044770 + Identifier 1044753 1044763 + Identifier 1044764 1044770 + AmpersandAmpersandToken 1044770 1044773 + BinaryExpression 1044773 1044808 + Identifier 1044773 1044782 + AmpersandToken 1044782 1044784 + PropertyAccessExpression 1044784 1044808 + Identifier 1044784 1044794 + Identifier 1044795 1044808 + BarBarToken 1044808 1044811 + BinaryExpression 1044811 1044890 + BinaryExpression 1044811 1044852 + Identifier 1044811 1044833 + AmpersandToken 1044833 1044835 + PropertyAccessExpression 1044835 1044852 + Identifier 1044835 1044845 + Identifier 1044846 1044852 + AmpersandAmpersandToken 1044852 1044855 + BinaryExpression 1044855 1044890 + Identifier 1044855 1044864 + AmpersandToken 1044864 1044866 + PropertyAccessExpression 1044866 1044890 + Identifier 1044866 1044876 + Identifier 1044877 1044890 + BarBarToken 1044890 1044893 + BinaryExpression 1044893 1044975 + BinaryExpression 1044893 1044936 + Identifier 1044893 1044915 + AmpersandToken 1044915 1044917 + PropertyAccessExpression 1044917 1044936 + Identifier 1044917 1044927 + Identifier 1044928 1044936 + AmpersandAmpersandToken 1044936 1044939 + BinaryExpression 1044939 1044975 + Identifier 1044939 1044948 + AmpersandToken 1044948 1044950 + PropertyAccessExpression 1044950 1044975 + Identifier 1044950 1044960 + Identifier 1044961 1044975 + BarBarToken 1044975 1044978 + BinaryExpression 1044978 1045051 + BinaryExpression 1044978 1045017 + Identifier 1044978 1045000 + AmpersandToken 1045000 1045002 + PropertyAccessExpression 1045002 1045017 + Identifier 1045002 1045012 + Identifier 1045013 1045017 + AmpersandAmpersandToken 1045017 1045020 + BinaryExpression 1045020 1045051 + Identifier 1045020 1045029 + AmpersandToken 1045029 1045031 + PropertyAccessExpression 1045031 1045051 + Identifier 1045031 1045041 + Identifier 1045042 1045051 + BarBarToken 1045051 1045054 + BinaryExpression 1045054 1045154 + BinaryExpression 1045054 1045108 + Identifier 1045054 1045076 + AmpersandToken 1045076 1045078 + PropertyAccessExpression 1045078 1045108 + Identifier 1045078 1045088 + Identifier 1045089 1045108 + AmpersandAmpersandToken 1045108 1045111 + BinaryExpression 1045111 1045154 + Identifier 1045111 1045120 + AmpersandToken 1045120 1045122 + PropertyAccessExpression 1045122 1045154 + Identifier 1045122 1045132 + Identifier 1045133 1045154 + Block 1045165 1045292 + IfStatement 1045167 1045281 + PrefixUnaryExpression 1045185 1045234 + ParenthesizedExpression 1045186 1045234 + BinaryExpression 1045187 1045233 + Identifier 1045187 1045192 + AmpersandToken 1045192 1045194 + PropertyAccessExpression 1045194 1045233 + Identifier 1045194 1045212 + Identifier 1045213 1045233 + ExpressionStatement 1045235 1045281 + CallExpression 1045235 1045280 + Identifier 1045235 1045261 + Identifier 1045262 1045269 + Identifier 1045270 1045279 + IfStatement 1045292 1045428 + BinaryExpression 1045306 1045346 + Identifier 1045306 1045314 + AmpersandToken 1045314 1045316 + PropertyAccessExpression 1045316 1045346 + Identifier 1045316 1045326 + Identifier 1045327 1045346 + Block 1045347 1045428 + ExpressionStatement 1045349 1045417 + BinaryExpression 1045349 1045416 + ElementAccessExpression 1045349 1045402 + Identifier 1045349 1045370 + CallExpression 1045371 1045401 + PropertyAccessExpression 1045371 1045386 + Identifier 1045371 1045378 + Identifier 1045379 1045386 + Identifier 1045387 1045400 + EqualsToken 1045402 1045404 + Identifier 1045404 1045416 + IfStatement 1045428 1045509 + BinaryExpression 1045442 1045462 + PropertyAccessExpression 1045442 1045456 + Identifier 1045442 1045449 + Identifier 1045450 1045456 + EqualsEqualsEqualsToken 1045456 1045460 + NumericLiteral 1045460 1045462 + Block 1045463 1045509 + ReturnStatement 1045465 1045498 + Identifier 1045485 1045497 + IfStatement 1045509 1045589 + BinaryExpression 1045523 1045543 + PropertyAccessExpression 1045523 1045537 + Identifier 1045523 1045530 + Identifier 1045531 1045537 + EqualsEqualsEqualsToken 1045537 1045541 + NumericLiteral 1045541 1045543 + Block 1045544 1045589 + ReturnStatement 1045546 1045578 + ElementAccessExpression 1045566 1045577 + Identifier 1045566 1045574 + NumericLiteral 1045575 1045576 + IfStatement 1045589 1048242 + BinaryExpression 1045603 1045677 + BinaryExpression 1045603 1045623 + PropertyAccessExpression 1045603 1045617 + Identifier 1045603 1045610 + Identifier 1045611 1045617 + EqualsEqualsEqualsToken 1045617 1045621 + NumericLiteral 1045621 1045623 + AmpersandAmpersandToken 1045623 1045626 + PrefixUnaryExpression 1045626 1045677 + ParenthesizedExpression 1045628 1045677 + BinaryExpression 1045629 1045676 + Identifier 1045629 1045634 + AmpersandToken 1045634 1045636 + PropertyAccessExpression 1045636 1045676 + Identifier 1045636 1045654 + Identifier 1045655 1045676 + Block 1045678 1048242 + VariableStatement 1045680 1045765 + VariableDeclarationList 1045680 1045764 + VariableDeclaration 1045699 1045764 + Identifier 1045699 1045712 + ConditionalExpression 1045714 1045764 + BinaryExpression 1045714 1045756 + PropertyAccessExpression 1045714 1045731 + ElementAccessExpression 1045714 1045725 + Identifier 1045714 1045722 + NumericLiteral 1045723 1045724 + Identifier 1045726 1045731 + AmpersandToken 1045731 1045733 + PropertyAccessExpression 1045733 1045756 + Identifier 1045733 1045743 + Identifier 1045744 1045756 + QuestionToken 1045756 1045758 + NumericLiteral 1045758 1045760 + ColonToken 1045760 1045762 + NumericLiteral 1045762 1045764 + VariableStatement 1045765 1045822 + VariableDeclarationList 1045765 1045821 + VariableDeclaration 1045784 1045821 + Identifier 1045784 1045797 + ElementAccessExpression 1045799 1045821 + Identifier 1045799 1045807 + Identifier 1045808 1045820 + VariableStatement 1045822 1045884 + VariableDeclarationList 1045822 1045883 + VariableDeclaration 1045841 1045883 + Identifier 1045841 1045855 + ElementAccessExpression 1045857 1045883 + Identifier 1045857 1045865 + BinaryExpression 1045866 1045882 + NumericLiteral 1045866 1045867 + MinusToken 1045867 1045869 + Identifier 1045869 1045882 + IfStatement 1045884 1048231 + BinaryExpression 1045902 1046141 + BinaryExpression 1045902 1045963 + PropertyAccessExpression 1045902 1045938 + Identifier 1045902 1045932 + Identifier 1045933 1045938 + AmpersandToken 1045938 1045940 + PropertyAccessExpression 1045940 1045963 + Identifier 1045940 1045950 + Identifier 1045951 1045963 + AmpersandAmpersandToken 1045963 1045966 + ParenthesizedExpression 1045966 1046141 + BinaryExpression 1045985 1046140 + BinaryExpression 1045985 1046096 + BinaryExpression 1045985 1046053 + PropertyAccessExpression 1045985 1046004 + Identifier 1045985 1045998 + Identifier 1045999 1046004 + AmpersandToken 1046004 1046006 + ParenthesizedExpression 1046006 1046053 + BinaryExpression 1046008 1046052 + PropertyAccessExpression 1046008 1046027 + Identifier 1046008 1046017 + Identifier 1046018 1046027 + BarToken 1046027 1046029 + PropertyAccessExpression 1046029 1046052 + Identifier 1046029 1046039 + Identifier 1046040 1046052 + AmpersandAmpersandToken 1046053 1046056 + PrefixUnaryExpression 1046056 1046096 + CallExpression 1046058 1046096 + Identifier 1046058 1046081 + Identifier 1046082 1046095 + BarBarToken 1046096 1046099 + BinaryExpression 1046099 1046140 + Identifier 1046099 1046108 + AmpersandToken 1046108 1046110 + PropertyAccessExpression 1046110 1046140 + Identifier 1046110 1046120 + Identifier 1046121 1046140 + Block 1046156 1048231 + VariableStatement 1046158 1046371 + VariableDeclarationList 1046158 1046370 + VariableDeclaration 1046319 1046370 + Identifier 1046319 1046330 + CallExpression 1046332 1046370 + Identifier 1046332 1046356 + Identifier 1046357 1046369 + IfStatement 1046371 1048216 + BinaryExpression 1046505 1046640 + Identifier 1046505 1046515 + AmpersandAmpersandToken 1046515 1046518 + CallExpression 1046518 1046640 + Identifier 1046518 1046528 + Identifier 1046529 1046539 + ArrowFunction 1046540 1046639 + Parameter 1046540 1046542 + Identifier 1046540 1046542 + EqualsGreaterThanToken 1046542 1046545 + BinaryExpression 1046545 1046639 + PrefixUnaryExpression 1046545 1046606 + PrefixUnaryExpression 1046547 1046606 + ParenthesizedExpression 1046548 1046606 + BinaryExpression 1046549 1046605 + PropertyAccessExpression 1046549 1046556 + Identifier 1046549 1046550 + Identifier 1046551 1046556 + AmpersandToken 1046556 1046558 + ParenthesizedExpression 1046558 1046605 + BinaryExpression 1046560 1046604 + PropertyAccessExpression 1046560 1046579 + Identifier 1046560 1046569 + Identifier 1046570 1046579 + BarToken 1046579 1046581 + PropertyAccessExpression 1046581 1046604 + Identifier 1046581 1046591 + Identifier 1046592 1046604 + BarBarToken 1046606 1046609 + CallExpression 1046609 1046639 + Identifier 1046609 1046636 + Identifier 1046637 1046638 + Block 1046641 1048216 + IfStatement 1046643 1046982 + CallExpression 1046862 1046910 + Identifier 1046862 1046883 + Identifier 1046884 1046894 + Identifier 1046895 1046909 + Block 1046911 1046982 + ReturnStatement 1046913 1046959 + Identifier 1046945 1046958 + IfStatement 1046982 1047649 + PrefixUnaryExpression 1047008 1047115 + ParenthesizedExpression 1047009 1047115 + BinaryExpression 1047010 1047114 + BinaryExpression 1047010 1047044 + PropertyAccessExpression 1047010 1047026 + Identifier 1047010 1047020 + Identifier 1047021 1047026 + AmpersandToken 1047026 1047028 + PropertyAccessExpression 1047028 1047044 + Identifier 1047028 1047038 + Identifier 1047039 1047044 + AmpersandAmpersandToken 1047044 1047047 + CallExpression 1047047 1047114 + Identifier 1047047 1047056 + Identifier 1047057 1047067 + ArrowFunction 1047068 1047113 + Parameter 1047068 1047070 + Identifier 1047068 1047070 + EqualsGreaterThanToken 1047070 1047073 + CallExpression 1047073 1047113 + Identifier 1047073 1047095 + Identifier 1047096 1047097 + Identifier 1047098 1047112 + Block 1047116 1047649 + IfStatement 1047118 1047626 + PrefixUnaryExpression 1047500 1047549 + CallExpression 1047501 1047549 + Identifier 1047501 1047522 + Identifier 1047523 1047536 + Identifier 1047537 1047548 + Block 1047550 1047626 + ReturnStatement 1047552 1047599 + Identifier 1047588 1047598 + ExpressionStatement 1047649 1048197 + BinaryExpression 1047649 1048196 + Identifier 1047649 1048156 + EqualsToken 1048156 1048158 + PropertyAccessExpression 1048158 1048196 + Identifier 1048158 1048170 + Identifier 1048171 1048196 + VariableStatement 1048242 1048390 + VariableDeclarationList 1048242 1048389 + VariableDeclaration 1048257 1048389 + Identifier 1048257 1048260 + BinaryExpression 1048262 1048389 + CallExpression 1048262 1048285 + Identifier 1048262 1048276 + Identifier 1048277 1048284 + PlusToken 1048285 1048287 + ParenthesizedExpression 1048287 1048389 + ConditionalExpression 1048289 1048388 + BinaryExpression 1048289 1048336 + Identifier 1048289 1048294 + AmpersandToken 1048294 1048296 + PropertyAccessExpression 1048296 1048336 + Identifier 1048296 1048314 + Identifier 1048315 1048336 + QuestionToken 1048336 1048338 + StringLiteral 1048338 1048342 + ColonToken 1048342 1048344 + CallExpression 1048344 1048388 + Identifier 1048344 1048355 + Identifier 1048356 1048367 + Identifier 1048368 1048387 + VariableStatement 1048390 1048439 + VariableDeclarationList 1048390 1048438 + VariableDeclaration 1048403 1048438 + Identifier 1048403 1048410 + CallExpression 1048412 1048438 + PropertyAccessExpression 1048412 1048434 + Identifier 1048412 1048430 + Identifier 1048431 1048434 + Identifier 1048435 1048437 + IfStatement 1048439 1052335 + PrefixUnaryExpression 1048453 1048460 + Identifier 1048454 1048460 + Block 1048461 1052335 + IfStatement 1048463 1052276 + BinaryExpression 1048481 1048507 + Identifier 1048481 1048489 + AmpersandToken 1048489 1048491 + PropertyAccessExpression 1048491 1048507 + Identifier 1048491 1048501 + Identifier 1048502 1048507 + Block 1048508 1052136 + IfStatement 1048510 1052121 + CallExpression 1048532 1048572 + Identifier 1048532 1048563 + Identifier 1048564 1048571 + Block 1048573 1049007 + ExpressionStatement 1048575 1048988 + BinaryExpression 1048575 1048987 + Identifier 1048575 1048916 + EqualsToken 1048916 1048918 + CallExpression 1048918 1048987 + Identifier 1048918 1048938 + Identifier 1048939 1048946 + Identifier 1048947 1048953 + Identifier 1048954 1048966 + Identifier 1048967 1048986 + IfStatement 1049029 1052121 + CallExpression 1049034 1049141 + Identifier 1049034 1049039 + Identifier 1049040 1049047 + ArrowFunction 1049048 1049140 + Parameter 1049048 1049050 + Identifier 1049048 1049050 + EqualsGreaterThanToken 1049050 1049053 + PrefixUnaryExpression 1049053 1049140 + PrefixUnaryExpression 1049055 1049140 + ParenthesizedExpression 1049056 1049140 + BinaryExpression 1049057 1049139 + BinaryExpression 1049057 1049082 + PropertyAccessExpression 1049057 1049064 + Identifier 1049057 1049058 + Identifier 1049059 1049064 + AmpersandToken 1049064 1049066 + PropertyAccessExpression 1049066 1049082 + Identifier 1049066 1049076 + Identifier 1049077 1049082 + AmpersandAmpersandToken 1049082 1049085 + BinaryExpression 1049085 1049139 + PropertyAccessExpression 1049085 1049117 + ElementAccessExpression 1049085 1049111 + PropertyAccessExpression 1049085 1049108 + ParenthesizedExpression 1049085 1049102 + AsExpression 1049087 1049101 + Identifier 1049087 1049088 + TypeReference 1049091 1049101 + Identifier 1049091 1049101 + Identifier 1049103 1049108 + NumericLiteral 1049109 1049110 + Identifier 1049112 1049117 + AmpersandToken 1049117 1049119 + PropertyAccessExpression 1049119 1049139 + Identifier 1049119 1049129 + Identifier 1049130 1049139 + Block 1049142 1049512 + VariableStatement 1049144 1049262 + VariableDeclarationList 1049144 1049261 + VariableDeclaration 1049171 1049261 + Identifier 1049171 1049194 + ConditionalExpression 1049196 1049261 + CallExpression 1049196 1049231 + Identifier 1049196 1049201 + Identifier 1049202 1049209 + Identifier 1049210 1049230 + QuestionToken 1049231 1049233 + Identifier 1049233 1049245 + ColonToken 1049245 1049247 + Identifier 1049247 1049261 + ExpressionStatement 1049262 1049329 + CallExpression 1049262 1049328 + Identifier 1049262 1049298 + Identifier 1049299 1049306 + PropertyAccessExpression 1049307 1049327 + Identifier 1049307 1049317 + Identifier 1049318 1049327 + ExpressionStatement 1049329 1049493 + BinaryExpression 1049329 1049492 + Identifier 1049329 1049357 + EqualsToken 1049357 1049359 + CallExpression 1049359 1049492 + Identifier 1049359 1049372 + ArrayLiteralExpression 1049373 1049434 + CallExpression 1049374 1049409 + Identifier 1049374 1049393 + Identifier 1049394 1049401 + Identifier 1049402 1049408 + Identifier 1049410 1049433 + PropertyAccessExpression 1049435 1049458 + Identifier 1049435 1049450 + Identifier 1049451 1049458 + Identifier 1049459 1049471 + Identifier 1049472 1049491 + IfStatement 1049534 1052121 + CallExpression 1049539 1049695 + Identifier 1049539 1049544 + Identifier 1049545 1049552 + ArrowFunction 1049553 1049694 + Parameter 1049553 1049555 + Identifier 1049553 1049555 + EqualsGreaterThanToken 1049555 1049558 + PrefixUnaryExpression 1049558 1049694 + PrefixUnaryExpression 1049560 1049694 + ParenthesizedExpression 1049561 1049694 + BinaryExpression 1049562 1049693 + BinaryExpression 1049562 1049587 + PropertyAccessExpression 1049562 1049569 + Identifier 1049562 1049563 + Identifier 1049564 1049569 + AmpersandToken 1049569 1049571 + PropertyAccessExpression 1049571 1049587 + Identifier 1049571 1049581 + Identifier 1049582 1049587 + AmpersandAmpersandToken 1049587 1049590 + ParenthesizedExpression 1049590 1049693 + BinaryExpression 1049592 1049692 + BinaryExpression 1049592 1049640 + PropertyAccessExpression 1049592 1049623 + ElementAccessExpression 1049592 1049617 + PropertyAccessExpression 1049592 1049614 + ParenthesizedExpression 1049592 1049608 + AsExpression 1049593 1049607 + Identifier 1049593 1049594 + TypeReference 1049597 1049607 + Identifier 1049597 1049607 + Identifier 1049609 1049614 + NumericLiteral 1049615 1049616 + Identifier 1049618 1049623 + AmpersandToken 1049623 1049625 + PropertyAccessExpression 1049625 1049640 + Identifier 1049625 1049635 + Identifier 1049636 1049640 + BarBarToken 1049640 1049643 + BinaryExpression 1049643 1049692 + PropertyAccessExpression 1049643 1049675 + ElementAccessExpression 1049643 1049669 + PropertyAccessExpression 1049643 1049666 + ParenthesizedExpression 1049643 1049660 + AsExpression 1049645 1049659 + Identifier 1049645 1049646 + TypeReference 1049649 1049659 + Identifier 1049649 1049659 + Identifier 1049661 1049666 + NumericLiteral 1049667 1049668 + Identifier 1049670 1049675 + AmpersandToken 1049675 1049677 + PropertyAccessExpression 1049677 1049692 + Identifier 1049677 1049687 + Identifier 1049688 1049692 + Block 1049696 1049929 + ExpressionStatement 1049698 1049760 + CallExpression 1049698 1049759 + Identifier 1049698 1049734 + Identifier 1049735 1049742 + PropertyAccessExpression 1049743 1049758 + Identifier 1049743 1049753 + Identifier 1049754 1049758 + ExpressionStatement 1049760 1049910 + BinaryExpression 1049760 1049909 + Identifier 1049760 1049788 + EqualsToken 1049788 1049790 + CallExpression 1049790 1049909 + Identifier 1049790 1049803 + ArrayLiteralExpression 1049804 1049851 + CallExpression 1049805 1049840 + Identifier 1049805 1049824 + Identifier 1049825 1049832 + Identifier 1049833 1049839 + Identifier 1049841 1049850 + PropertyAccessExpression 1049852 1049875 + Identifier 1049852 1049867 + Identifier 1049868 1049875 + Identifier 1049876 1049888 + Identifier 1049889 1049908 + IfStatement 1049951 1052121 + BinaryExpression 1049956 1049995 + BinaryExpression 1049956 1049975 + PropertyAccessExpression 1049956 1049970 + Identifier 1049956 1049963 + Identifier 1049964 1049970 + GreaterThanEqualsToken 1049970 1049973 + NumericLiteral 1049973 1049975 + AmpersandAmpersandToken 1049975 1049978 + BinaryExpression 1049978 1049995 + PropertyAccessExpression 1049978 1049991 + Identifier 1049978 1049984 + Identifier 1049985 1049991 + GreaterThanToken 1049991 1049993 + NumericLiteral 1049993 1049995 + Block 1049996 1050805 + VariableStatement 1049998 1050588 + VariableDeclarationList 1049998 1050587 + VariableDeclaration 1050547 1050587 + Identifier 1050547 1050554 + CallExpression 1050556 1050587 + PropertyAccessExpression 1050556 1050567 + Identifier 1050556 1050561 + Identifier 1050562 1050567 + BinaryExpression 1050568 1050586 + PropertyAccessExpression 1050568 1050582 + Identifier 1050568 1050575 + Identifier 1050576 1050582 + SlashToken 1050582 1050584 + NumericLiteral 1050584 1050586 + ExpressionStatement 1050588 1050786 + BinaryExpression 1050588 1050785 + Identifier 1050588 1050616 + EqualsToken 1050616 1050618 + CallExpression 1050618 1050785 + Identifier 1050618 1050638 + ArrayLiteralExpression 1050639 1050744 + CallExpression 1050640 1050692 + Identifier 1050640 1050659 + CallExpression 1050660 1050684 + PropertyAccessExpression 1050660 1050673 + Identifier 1050660 1050667 + Identifier 1050668 1050673 + NumericLiteral 1050674 1050675 + Identifier 1050676 1050683 + Identifier 1050685 1050691 + CallExpression 1050693 1050743 + Identifier 1050693 1050713 + CallExpression 1050714 1050735 + PropertyAccessExpression 1050714 1050727 + Identifier 1050714 1050721 + Identifier 1050722 1050727 + Identifier 1050728 1050734 + Identifier 1050736 1050742 + Identifier 1050745 1050751 + Identifier 1050752 1050764 + Identifier 1050765 1050784 + Block 1050827 1052121 + IfStatement 1050829 1051283 + PrefixUnaryExpression 1051182 1051214 + CallExpression 1051183 1051214 + Identifier 1051183 1051205 + Identifier 1051206 1051213 + Block 1051215 1051283 + ReturnStatement 1051217 1051260 + Identifier 1051249 1051259 + VariableStatement 1051283 1051371 + VariableDeclarationList 1051283 1051370 + VariableDeclaration 1051310 1051370 + Identifier 1051310 1051323 + CallExpression 1051325 1051370 + Identifier 1051325 1051354 + Identifier 1051355 1051362 + Identifier 1051363 1051369 + VariableStatement 1051371 1051979 + VariableDeclarationList 1051371 1051978 + VariableDeclaration 1051742 1051978 + Identifier 1051742 1051749 + ConditionalExpression 1051751 1051978 + BinaryExpression 1051751 1051895 + CallExpression 1051751 1051813 + Identifier 1051751 1051756 + Identifier 1051757 1051769 + ArrowFunction 1051770 1051812 + Parameter 1051770 1051772 + Identifier 1051770 1051772 + EqualsGreaterThanToken 1051772 1051775 + PrefixUnaryExpression 1051775 1051812 + PrefixUnaryExpression 1051777 1051812 + ParenthesizedExpression 1051778 1051812 + BinaryExpression 1051779 1051811 + PropertyAccessExpression 1051779 1051786 + Identifier 1051779 1051780 + Identifier 1051781 1051786 + AmpersandToken 1051786 1051788 + PropertyAccessExpression 1051788 1051811 + Identifier 1051788 1051798 + Identifier 1051799 1051811 + AmpersandAmpersandToken 1051813 1051816 + BinaryExpression 1051816 1051895 + CallExpression 1051816 1051857 + Identifier 1051816 1051843 + Identifier 1051844 1051856 + GreaterThanToken 1051857 1051859 + CallExpression 1051859 1051895 + Identifier 1051859 1051886 + Identifier 1051887 1051894 + QuestionToken 1051895 1051897 + CallExpression 1051897 1051966 + Identifier 1051897 1051933 + PropertyAccessExpression 1051934 1051956 + Identifier 1051934 1051943 + Identifier 1051944 1051956 + Identifier 1051957 1051965 + ColonToken 1051966 1051968 + Identifier 1051968 1051978 + ExpressionStatement 1051979 1052102 + BinaryExpression 1051979 1052101 + Identifier 1051979 1052007 + EqualsToken 1052007 1052009 + CallExpression 1052009 1052101 + Identifier 1052009 1052022 + Identifier 1052023 1052035 + PropertyAccessExpression 1052036 1052059 + Identifier 1052036 1052051 + Identifier 1052052 1052059 + Identifier 1052060 1052072 + Identifier 1052073 1052092 + Identifier 1052093 1052100 + Block 1052154 1052276 + ExpressionStatement 1052156 1052261 + BinaryExpression 1052156 1052260 + Identifier 1052156 1052180 + EqualsToken 1052180 1052182 + CallExpression 1052182 1052260 + Identifier 1052182 1052205 + Identifier 1052206 1052213 + Identifier 1052214 1052226 + Identifier 1052227 1052239 + Identifier 1052240 1052259 + ExpressionStatement 1052276 1052324 + CallExpression 1052276 1052323 + PropertyAccessExpression 1052276 1052311 + Identifier 1052276 1052307 + Identifier 1052308 1052311 + Identifier 1052312 1052314 + Identifier 1052315 1052322 + ReturnStatement 1052335 1052359 + Identifier 1052351 1052358 + FunctionDeclaration 1052366 1052587 + Identifier 1052382 1052407 + Parameter 1052408 1052430 + Identifier 1052408 1052413 + TypeOperator 1052414 1052430 + ArrayType 1052423 1052430 + TypeReference 1052423 1052428 + Identifier 1052423 1052428 + Block 1052431 1052587 + ReturnStatement 1052433 1052580 + CallExpression 1052449 1052579 + Identifier 1052449 1052460 + Identifier 1052461 1052466 + ArrowFunction 1052467 1052575 + Parameter 1052469 1052470 + Identifier 1052469 1052470 + Parameter 1052471 1052473 + Identifier 1052471 1052473 + EqualsGreaterThanToken 1052474 1052477 + ConditionalExpression 1052477 1052575 + BinaryExpression 1052477 1052503 + PropertyAccessExpression 1052477 1052485 + Identifier 1052477 1052479 + Identifier 1052480 1052485 + AmpersandToken 1052485 1052487 + PropertyAccessExpression 1052487 1052503 + Identifier 1052487 1052497 + Identifier 1052498 1052503 + QuestionToken 1052503 1052505 + BinaryExpression 1052505 1052539 + Identifier 1052505 1052507 + AsteriskToken 1052507 1052509 + PropertyAccessExpression 1052509 1052539 + PropertyAccessExpression 1052509 1052532 + ParenthesizedExpression 1052509 1052526 + AsExpression 1052511 1052525 + Identifier 1052511 1052512 + TypeReference 1052515 1052525 + Identifier 1052515 1052525 + Identifier 1052527 1052532 + Identifier 1052533 1052539 + ColonToken 1052539 1052541 + ConditionalExpression 1052541 1052575 + BinaryExpression 1052541 1052567 + PropertyAccessExpression 1052541 1052549 + Identifier 1052541 1052543 + Identifier 1052544 1052549 + AmpersandToken 1052549 1052551 + PropertyAccessExpression 1052551 1052567 + Identifier 1052551 1052561 + Identifier 1052562 1052567 + QuestionToken 1052567 1052569 + NumericLiteral 1052569 1052571 + ColonToken 1052571 1052573 + Identifier 1052573 1052575 + NumericLiteral 1052576 1052578 + FunctionDeclaration 1052587 1053052 + Identifier 1052603 1052626 + Parameter 1052627 1052649 + Identifier 1052627 1052632 + TypeOperator 1052633 1052649 + ArrayType 1052642 1052649 + TypeReference 1052642 1052647 + Identifier 1052642 1052647 + Block 1052650 1053052 + VariableStatement 1052652 1052707 + VariableDeclarationList 1052652 1052706 + VariableDeclaration 1052667 1052706 + Identifier 1052667 1052672 + CallExpression 1052674 1052706 + Identifier 1052674 1052699 + Identifier 1052700 1052705 + IfStatement 1052707 1053023 + BinaryExpression 1052721 1052735 + Identifier 1052721 1052725 + GreaterThanEqualsToken 1052725 1052728 + NumericLiteral 1052728 1052735 + Block 1052736 1053023 + ExpressionStatement 1052738 1052873 + CallExpression 1052738 1052872 + PropertyAccessExpression 1052738 1052768 + Identifier 1052738 1052759 + QuestionDotToken 1052759 1052761 + Identifier 1052761 1052768 + PropertyAccessExpression 1052769 1052793 + PropertyAccessExpression 1052769 1052782 + Identifier 1052769 1052776 + Identifier 1052777 1052782 + Identifier 1052783 1052793 + StringLiteral 1052794 1052830 + ObjectLiteralExpression 1052831 1052871 + PropertyAssignment 1052833 1052863 + Identifier 1052833 1052841 + CallExpression 1052842 1052863 + PropertyAccessExpression 1052842 1052852 + Identifier 1052842 1052848 + Identifier 1052849 1052852 + ArrowFunction 1052853 1052862 + Parameter 1052853 1052854 + Identifier 1052853 1052854 + EqualsGreaterThanToken 1052854 1052857 + PropertyAccessExpression 1052857 1052862 + Identifier 1052857 1052859 + Identifier 1052860 1052862 + ShorthandPropertyAssignment 1052864 1052869 + Identifier 1052864 1052869 + ExpressionStatement 1052873 1052985 + CallExpression 1052873 1052984 + Identifier 1052873 1052892 + Identifier 1052893 1052904 + PropertyAccessExpression 1052905 1052983 + Identifier 1052905 1052917 + Identifier 1052918 1052983 + ReturnStatement 1052985 1053012 + FalseKeyword 1053005 1053011 + ReturnStatement 1053023 1053045 + TrueKeyword 1053039 1053044 + FunctionDeclaration 1053052 1053939 + Identifier 1053068 1053097 + Parameter 1053098 1053120 + Identifier 1053098 1053103 + TypeOperator 1053104 1053120 + ArrayType 1053113 1053120 + TypeReference 1053113 1053118 + Identifier 1053113 1053118 + Parameter 1053121 1053146 + Identifier 1053121 1053127 + TypeReference 1053128 1053146 + Identifier 1053128 1053146 + Block 1053147 1053939 + VariableStatement 1053149 1053205 + VariableDeclarationList 1053149 1053204 + VariableDeclaration 1053164 1053204 + Identifier 1053164 1053170 + CallExpression 1053172 1053204 + Identifier 1053172 1053197 + Identifier 1053198 1053203 + VariableStatement 1053205 1053248 + VariableDeclarationList 1053205 1053247 + VariableDeclaration 1053220 1053247 + Identifier 1053220 1053234 + ArrayType 1053235 1053242 + TypeReference 1053235 1053240 + Identifier 1053235 1053240 + ArrayLiteralExpression 1053244 1053247 + ForStatement 1053248 1053901 + VariableDeclarationList 1053263 1053272 + VariableDeclaration 1053266 1053272 + Identifier 1053266 1053268 + NumericLiteral 1053270 1053272 + BinaryExpression 1053273 1053283 + Identifier 1053273 1053275 + LessThanToken 1053275 1053277 + Identifier 1053277 1053283 + PostfixUnaryExpression 1053284 1053288 + Identifier 1053284 1053286 + Block 1053289 1053901 + VariableStatement 1053291 1053340 + VariableDeclarationList 1053291 1053339 + VariableDeclaration 1053310 1053339 + Identifier 1053310 1053323 + CallExpression 1053325 1053339 + PropertyAccessExpression 1053325 1053337 + Identifier 1053325 1053331 + Identifier 1053332 1053337 + VariableStatement 1053340 1053364 + VariableDeclarationList 1053340 1053363 + VariableDeclaration 1053357 1053363 + Identifier 1053357 1053359 + Identifier 1053361 1053363 + ForStatement 1053364 1053755 + VariableDeclarationList 1053383 1053407 + VariableDeclaration 1053386 1053407 + Identifier 1053386 1053388 + BinaryExpression 1053390 1053407 + PropertyAccessExpression 1053390 1053403 + Identifier 1053390 1053396 + Identifier 1053397 1053403 + MinusToken 1053403 1053405 + NumericLiteral 1053405 1053407 + BinaryExpression 1053408 1053415 + Identifier 1053408 1053410 + GreaterThanEqualsToken 1053410 1053413 + NumericLiteral 1053413 1053415 + PostfixUnaryExpression 1053416 1053420 + Identifier 1053416 1053418 + Block 1053421 1053755 + IfStatement 1053423 1053740 + BinaryExpression 1053445 1053477 + PropertyAccessExpression 1053445 1053459 + ElementAccessExpression 1053445 1053453 + Identifier 1053445 1053450 + Identifier 1053451 1053452 + Identifier 1053454 1053459 + AmpersandToken 1053459 1053461 + PropertyAccessExpression 1053461 1053477 + Identifier 1053461 1053471 + Identifier 1053472 1053477 + Block 1053478 1053740 + VariableStatement 1053480 1053552 + VariableDeclarationList 1053480 1053551 + VariableDeclaration 1053507 1053551 + Identifier 1053507 1053519 + PropertyAccessExpression 1053521 1053551 + ParenthesizedExpression 1053521 1053545 + AsExpression 1053523 1053544 + ElementAccessExpression 1053523 1053531 + Identifier 1053523 1053528 + Identifier 1053529 1053530 + TypeReference 1053534 1053544 + Identifier 1053534 1053544 + Identifier 1053546 1053551 + VariableStatement 1053552 1053608 + VariableDeclarationList 1053552 1053607 + VariableDeclaration 1053579 1053607 + Identifier 1053579 1053586 + PropertyAccessExpression 1053588 1053607 + Identifier 1053588 1053600 + Identifier 1053601 1053607 + ExpressionStatement 1053608 1053672 + BinaryExpression 1053608 1053671 + ElementAccessExpression 1053608 1053645 + Identifier 1053608 1053642 + Identifier 1053643 1053644 + EqualsToken 1053645 1053647 + ElementAccessExpression 1053647 1053671 + Identifier 1053647 1053659 + BinaryExpression 1053660 1053670 + Identifier 1053660 1053661 + PercentToken 1053661 1053663 + Identifier 1053663 1053670 + ExpressionStatement 1053672 1053721 + BinaryExpression 1053672 1053720 + Identifier 1053672 1053695 + EqualsToken 1053695 1053697 + CallExpression 1053697 1053720 + PropertyAccessExpression 1053697 1053708 + Identifier 1053697 1053702 + Identifier 1053703 1053708 + BinaryExpression 1053709 1053719 + Identifier 1053709 1053710 + SlashToken 1053710 1053712 + Identifier 1053712 1053719 + VariableStatement 1053755 1053820 + VariableDeclarationList 1053755 1053819 + VariableDeclaration 1053774 1053819 + Identifier 1053774 1053776 + CallExpression 1053778 1053819 + Identifier 1053778 1053798 + Identifier 1053799 1053811 + Identifier 1053812 1053818 + IfStatement 1053820 1053890 + PrefixUnaryExpression 1053838 1053866 + ParenthesizedExpression 1053839 1053866 + BinaryExpression 1053840 1053865 + PropertyAccessExpression 1053840 1053847 + Identifier 1053840 1053841 + Identifier 1053842 1053847 + AmpersandToken 1053847 1053849 + PropertyAccessExpression 1053849 1053865 + Identifier 1053849 1053859 + Identifier 1053860 1053865 + ExpressionStatement 1053867 1053890 + CallExpression 1053867 1053889 + PropertyAccessExpression 1053867 1053886 + Identifier 1053867 1053881 + Identifier 1053882 1053886 + Identifier 1053887 1053888 + ReturnStatement 1053901 1053932 + Identifier 1053917 1053931 + FunctionDeclaration 1053939 1054299 + Identifier 1053955 1053975 + Parameter 1053976 1053986 + Identifier 1053976 1053980 + TypeReference 1053981 1053986 + Identifier 1053981 1053986 + NumberKeyword 1053988 1053995 + Block 1053995 1054299 + ReturnStatement 1053997 1054292 + ConditionalExpression 1054013 1054291 + BinaryExpression 1054013 1054079 + PrefixUnaryExpression 1054013 1054059 + ParenthesizedExpression 1054015 1054059 + BinaryExpression 1054016 1054058 + PropertyAccessExpression 1054016 1054026 + Identifier 1054016 1054020 + Identifier 1054021 1054026 + AmpersandToken 1054026 1054028 + PropertyAccessExpression 1054028 1054058 + Identifier 1054028 1054038 + Identifier 1054039 1054058 + BarBarToken 1054059 1054062 + PropertyAccessExpression 1054062 1054079 + Identifier 1054062 1054067 + Identifier 1054068 1054079 + QuestionToken 1054079 1054081 + NumericLiteral 1054081 1054083 + ColonToken 1054083 1054085 + ConditionalExpression 1054085 1054291 + BinaryExpression 1054085 1054157 + BinaryExpression 1054085 1054127 + PropertyAccessExpression 1054085 1054109 + Identifier 1054085 1054103 + Identifier 1054104 1054109 + AmpersandToken 1054109 1054111 + PropertyAccessExpression 1054111 1054127 + Identifier 1054111 1054121 + Identifier 1054122 1054127 + AmpersandAmpersandToken 1054127 1054130 + PropertyAccessExpression 1054130 1054157 + ParenthesizedExpression 1054130 1054150 + AsExpression 1054132 1054149 + Identifier 1054132 1054136 + TypeReference 1054139 1054149 + Identifier 1054139 1054149 + Identifier 1054151 1054157 + QuestionToken 1054157 1054159 + CallExpression 1054159 1054208 + Identifier 1054159 1054179 + NonNullExpression 1054180 1054207 + PropertyAccessExpression 1054180 1054206 + ParenthesizedExpression 1054180 1054199 + AsExpression 1054181 1054198 + Identifier 1054181 1054185 + TypeReference 1054188 1054198 + Identifier 1054188 1054198 + Identifier 1054200 1054206 + ColonToken 1054208 1054210 + CallExpression 1054210 1054291 + Identifier 1054210 1054250 + PropertyAccessExpression 1054251 1054290 + ParenthesizedExpression 1054251 1054284 + AsExpression 1054252 1054283 + Identifier 1054252 1054256 + TypeReference 1054259 1054283 + Identifier 1054259 1054283 + Identifier 1054285 1054290 + FunctionDeclaration 1054299 1054450 + Identifier 1054315 1054342 + Parameter 1054343 1054356 + Identifier 1054343 1054348 + ArrayType 1054349 1054356 + TypeReference 1054349 1054354 + Identifier 1054349 1054354 + NumberKeyword 1054358 1054365 + Block 1054365 1054450 + ReturnStatement 1054367 1054443 + CallExpression 1054383 1054442 + Identifier 1054383 1054394 + Identifier 1054395 1054400 + ArrowFunction 1054401 1054438 + Parameter 1054403 1054404 + Identifier 1054403 1054404 + Parameter 1054405 1054407 + Identifier 1054405 1054407 + EqualsGreaterThanToken 1054408 1054411 + BinaryExpression 1054411 1054438 + Identifier 1054411 1054413 + PlusToken 1054413 1054415 + CallExpression 1054415 1054438 + Identifier 1054415 1054435 + Identifier 1054436 1054437 + NumericLiteral 1054439 1054441 + FunctionDeclaration 1054450 1055675 + Identifier 1054466 1054498 + Parameter 1054499 1054525 + Identifier 1054499 1054503 + TypeReference 1054504 1054525 + Identifier 1054504 1054525 + TypeReference 1054527 1054532 + Identifier 1054527 1054532 + Block 1054532 1055675 + VariableStatement 1054534 1054577 + VariableDeclarationList 1054534 1054576 + VariableDeclaration 1054549 1054576 + Identifier 1054549 1054555 + CallExpression 1054557 1054576 + Identifier 1054557 1054570 + Identifier 1054571 1054575 + IfStatement 1054577 1055632 + PrefixUnaryExpression 1054591 1054610 + PropertyAccessExpression 1054592 1054610 + Identifier 1054592 1054597 + Identifier 1054598 1054610 + Block 1054611 1055632 + VariableStatement 1054613 1054679 + VariableDeclarationList 1054613 1054678 + VariableDeclaration 1054632 1054678 + Identifier 1054632 1054644 + CallExpression 1054646 1054678 + Identifier 1054646 1054672 + Identifier 1054673 1054677 + VariableStatement 1054679 1054744 + VariableDeclarationList 1054679 1054743 + VariableDeclaration 1054698 1054743 + Identifier 1054698 1054704 + CallExpression 1054706 1054743 + Identifier 1054706 1054710 + PropertyAccessExpression 1054711 1054721 + Identifier 1054711 1054715 + Identifier 1054716 1054721 + Identifier 1054722 1054742 + VariableStatement 1054744 1055176 + VariableDeclarationList 1054744 1055175 + VariableDeclaration 1055100 1055175 + Identifier 1055100 1055111 + ConditionalExpression 1055113 1055175 + BinaryExpression 1055113 1055132 + PropertyAccessExpression 1055113 1055126 + Identifier 1055113 1055119 + Identifier 1055120 1055126 + EqualsEqualsEqualsToken 1055126 1055130 + NumericLiteral 1055130 1055132 + QuestionToken 1055132 1055134 + CallExpression 1055134 1055170 + PropertyAccessExpression 1055134 1055148 + Identifier 1055134 1055140 + Identifier 1055141 1055148 + Identifier 1055149 1055169 + ColonToken 1055170 1055172 + PrefixUnaryExpression 1055172 1055175 + NumericLiteral 1055174 1055175 + VariableStatement 1055176 1055254 + VariableDeclarationList 1055176 1055253 + VariableDeclaration 1055195 1055253 + Identifier 1055195 1055197 + ConditionalExpression 1055199 1055253 + BinaryExpression 1055199 1055215 + Identifier 1055199 1055210 + GreaterThanEqualsToken 1055210 1055213 + NumericLiteral 1055213 1055215 + QuestionToken 1055215 1055217 + ElementAccessExpression 1055217 1055239 + Identifier 1055217 1055223 + BinaryExpression 1055224 1055238 + NumericLiteral 1055224 1055225 + MinusToken 1055225 1055227 + Identifier 1055227 1055238 + ColonToken 1055239 1055241 + Identifier 1055241 1055253 + VariableStatement 1055254 1055434 + VariableDeclarationList 1055254 1055433 + VariableDeclaration 1055273 1055433 + Identifier 1055273 1055294 + PrefixUnaryExpression 1055296 1055433 + PrefixUnaryExpression 1055298 1055433 + ParenthesizedExpression 1055299 1055433 + BinaryExpression 1055300 1055432 + BinaryExpression 1055300 1055366 + PropertyAccessExpression 1055300 1055307 + Identifier 1055300 1055301 + Identifier 1055302 1055307 + AmpersandToken 1055307 1055309 + ParenthesizedExpression 1055309 1055366 + BinaryExpression 1055311 1055365 + BinaryExpression 1055311 1055346 + PropertyAccessExpression 1055311 1055327 + Identifier 1055311 1055320 + Identifier 1055321 1055327 + BarToken 1055327 1055329 + PropertyAccessExpression 1055329 1055346 + Identifier 1055329 1055339 + Identifier 1055340 1055346 + BarToken 1055346 1055348 + PropertyAccessExpression 1055348 1055365 + Identifier 1055348 1055358 + Identifier 1055359 1055365 + BarBarToken 1055366 1055369 + BinaryExpression 1055369 1055432 + BinaryExpression 1055369 1055405 + PropertyAccessExpression 1055369 1055377 + Identifier 1055369 1055371 + Identifier 1055372 1055377 + AmpersandToken 1055377 1055379 + PropertyAccessExpression 1055379 1055405 + Identifier 1055379 1055389 + Identifier 1055390 1055405 + AmpersandAmpersandToken 1055405 1055408 + CallExpression 1055408 1055432 + Identifier 1055408 1055429 + Identifier 1055430 1055431 + ExpressionStatement 1055434 1055621 + BinaryExpression 1055434 1055620 + PropertyAccessExpression 1055434 1055466 + Identifier 1055434 1055453 + Identifier 1055454 1055466 + EqualsToken 1055466 1055468 + CallExpression 1055468 1055620 + Identifier 1055468 1055488 + Identifier 1055489 1055494 + ConditionalExpression 1055495 1055561 + Identifier 1055495 1055516 + QuestionToken 1055516 1055518 + PropertyAccessExpression 1055518 1055557 + Identifier 1055518 1055536 + Identifier 1055537 1055557 + ColonToken 1055557 1055559 + NumericLiteral 1055559 1055561 + Identifier 1055562 1055574 + CallExpression 1055575 1055619 + Identifier 1055575 1055606 + Identifier 1055607 1055618 + ReturnStatement 1055632 1055668 + PropertyAccessExpression 1055648 1055667 + Identifier 1055648 1055654 + Identifier 1055655 1055667 + FunctionDeclaration 1055675 1055950 + Identifier 1055691 1055707 + Parameter 1055708 1055756 + Identifier 1055708 1055712 + UnionType 1055713 1055756 + TypeReference 1055713 1055730 + Identifier 1055713 1055730 + TypeReference 1055732 1055756 + Identifier 1055732 1055756 + Parameter 1055757 1055780 + Identifier 1055757 1055768 + TypeReference 1055769 1055780 + Identifier 1055769 1055780 + Block 1055781 1055950 + VariableStatement 1055783 1055849 + VariableDeclarationList 1055783 1055848 + VariableDeclaration 1055798 1055848 + Identifier 1055798 1055805 + AsExpression 1055807 1055848 + CallExpression 1055807 1055835 + Identifier 1055807 1055818 + PropertyAccessExpression 1055819 1055834 + Identifier 1055819 1055828 + Identifier 1055829 1055834 + TypeReference 1055838 1055848 + Identifier 1055838 1055848 + ExpressionStatement 1055849 1055878 + BinaryExpression 1055849 1055877 + PropertyAccessExpression 1055849 1055870 + Identifier 1055849 1055865 + Identifier 1055866 1055870 + EqualsToken 1055870 1055872 + Identifier 1055872 1055877 + ExpressionStatement 1055878 1055919 + BinaryExpression 1055878 1055918 + PropertyAccessExpression 1055878 1055905 + Identifier 1055878 1055894 + Identifier 1055895 1055905 + EqualsToken 1055905 1055907 + Identifier 1055907 1055918 + ReturnStatement 1055919 1055943 + Identifier 1055935 1055942 + FunctionDeclaration 1055950 1056172 + Identifier 1055966 1055988 + Parameter 1055989 1056037 + Identifier 1055989 1055993 + UnionType 1055994 1056037 + TypeReference 1055994 1056011 + Identifier 1055994 1056011 + TypeReference 1056013 1056037 + Identifier 1056013 1056037 + Block 1056038 1056172 + VariableStatement 1056040 1056112 + VariableDeclarationList 1056040 1056111 + VariableDeclaration 1056055 1056111 + Identifier 1056055 1056062 + AsExpression 1056064 1056111 + CallExpression 1056064 1056098 + Identifier 1056064 1056081 + PropertyAccessExpression 1056082 1056097 + Identifier 1056082 1056091 + Identifier 1056092 1056097 + TypeReference 1056101 1056111 + Identifier 1056101 1056111 + ExpressionStatement 1056112 1056141 + BinaryExpression 1056112 1056140 + PropertyAccessExpression 1056112 1056133 + Identifier 1056112 1056128 + Identifier 1056129 1056133 + EqualsToken 1056133 1056135 + Identifier 1056135 1056140 + ReturnStatement 1056141 1056165 + Identifier 1056157 1056164 + FunctionDeclaration 1056172 1056584 + Identifier 1056188 1056215 + Parameter 1056216 1056264 + Identifier 1056216 1056220 + UnionType 1056221 1056264 + TypeReference 1056221 1056238 + Identifier 1056221 1056238 + TypeReference 1056240 1056264 + Identifier 1056240 1056264 + Parameter 1056265 1056288 + Identifier 1056265 1056276 + TypeReference 1056277 1056288 + Identifier 1056277 1056288 + Block 1056289 1056584 + ReturnStatement 1056291 1056577 + ConditionalExpression 1056307 1056576 + BinaryExpression 1056307 1056343 + Identifier 1056307 1056318 + AmpersandToken 1056318 1056320 + PropertyAccessExpression 1056320 1056343 + Identifier 1056320 1056331 + Identifier 1056332 1056343 + QuestionToken 1056343 1056345 + BinaryExpression 1056345 1056469 + PropertyAccessExpression 1056345 1056387 + Identifier 1056345 1056363 + Identifier 1056364 1056387 + BarBarToken 1056387 1056390 + ParenthesizedExpression 1056390 1056469 + BinaryExpression 1056392 1056468 + PropertyAccessExpression 1056392 1056420 + Identifier 1056392 1056396 + Identifier 1056397 1056420 + EqualsToken 1056420 1056422 + CallExpression 1056422 1056468 + Identifier 1056422 1056438 + Identifier 1056439 1056443 + PropertyAccessExpression 1056444 1056467 + Identifier 1056444 1056455 + Identifier 1056456 1056467 + ColonToken 1056469 1056471 + BinaryExpression 1056471 1056576 + PropertyAccessExpression 1056471 1056507 + Identifier 1056471 1056489 + Identifier 1056490 1056507 + BarBarToken 1056507 1056510 + ParenthesizedExpression 1056510 1056576 + BinaryExpression 1056512 1056575 + PropertyAccessExpression 1056512 1056534 + Identifier 1056512 1056516 + Identifier 1056517 1056534 + EqualsToken 1056534 1056536 + CallExpression 1056536 1056575 + Identifier 1056536 1056552 + Identifier 1056553 1056557 + PropertyAccessExpression 1056558 1056574 + Identifier 1056558 1056569 + Identifier 1056570 1056574 + FunctionDeclaration 1056584 1060464 + Identifier 1057193 1057219 + Parameter 1057220 1057236 + Identifier 1057220 1057224 + TypeReference 1057225 1057236 + Identifier 1057225 1057236 + Parameter 1057237 1057260 + Identifier 1057237 1057248 + TypeReference 1057249 1057260 + Identifier 1057249 1057260 + Block 1057261 1060464 + VariableStatement 1057263 1057332 + VariableDeclarationList 1057263 1057331 + VariableDeclaration 1057278 1057331 + Identifier 1057278 1057292 + CallExpression 1057294 1057331 + Identifier 1057294 1057325 + Identifier 1057326 1057330 + VariableStatement 1057332 1057403 + VariableDeclarationList 1057332 1057402 + VariableDeclaration 1057347 1057402 + Identifier 1057347 1057362 + CallExpression 1057364 1057402 + Identifier 1057364 1057396 + Identifier 1057397 1057401 + VariableStatement 1057403 1057491 + VariableDeclarationList 1057403 1057490 + VariableDeclaration 1057418 1057490 + Identifier 1057418 1057427 + CallExpression 1057429 1057490 + Identifier 1057429 1057455 + BinaryExpression 1057456 1057489 + AsExpression 1057456 1057481 + PropertyAccessExpression 1057456 1057467 + Identifier 1057456 1057460 + Identifier 1057461 1057467 + TypeReference 1057470 1057481 + Identifier 1057470 1057481 + BarBarToken 1057481 1057484 + Identifier 1057484 1057489 + IfStatement 1057491 1057731 + BinaryExpression 1057505 1057562 + PrefixUnaryExpression 1057505 1057514 + Identifier 1057506 1057514 + AmpersandAmpersandToken 1057514 1057517 + PrefixUnaryExpression 1057517 1057562 + ParenthesizedExpression 1057519 1057562 + BinaryExpression 1057520 1057561 + Identifier 1057520 1057530 + AmpersandToken 1057530 1057532 + PropertyAccessExpression 1057532 1057561 + Identifier 1057532 1057543 + Identifier 1057544 1057561 + Block 1057563 1057731 + ReturnStatement 1057565 1057720 + Identifier 1057704 1057719 + VariableStatement 1057731 1057769 + VariableDeclarationList 1057731 1057768 + VariableDeclaration 1057746 1057768 + Identifier 1057746 1057755 + ArrayType 1057756 1057763 + TypeReference 1057756 1057761 + Identifier 1057756 1057761 + ArrayLiteralExpression 1057765 1057768 + IfStatement 1057769 1059203 + CallExpression 1058131 1058165 + Identifier 1058131 1058149 + Identifier 1058150 1058164 + Block 1058166 1058705 + IfStatement 1058168 1058562 + CallExpression 1058186 1058234 + Identifier 1058186 1058228 + Identifier 1058229 1058233 + Block 1058235 1058562 + ReturnStatement 1058237 1058547 + CallExpression 1058501 1058546 + Identifier 1058501 1058528 + Identifier 1058529 1058533 + Identifier 1058534 1058545 + ExpressionStatement 1058562 1058694 + CallExpression 1058562 1058693 + Identifier 1058562 1058656 + Identifier 1058657 1058671 + Identifier 1058672 1058692 + IfStatement 1058719 1059203 + CallExpression 1058724 1058772 + Identifier 1058724 1058766 + Identifier 1058767 1058771 + Block 1058773 1059089 + VariableStatement 1058775 1058865 + VariableDeclarationList 1058775 1058864 + VariableDeclaration 1058794 1058864 + Identifier 1058794 1058808 + CallExpression 1058810 1058864 + Identifier 1058810 1058826 + CallExpression 1058827 1058863 + Identifier 1058827 1058857 + Identifier 1058858 1058862 + ExpressionStatement 1058865 1059078 + CallExpression 1058865 1059077 + Identifier 1058865 1058959 + Identifier 1058960 1058973 + PropertyAccessExpression 1058974 1059014 + Identifier 1058974 1058984 + Identifier 1058985 1059014 + PrefixUnaryExpression 1059015 1059055 + PrefixUnaryExpression 1059017 1059055 + ParenthesizedExpression 1059018 1059055 + BinaryExpression 1059019 1059054 + Identifier 1059019 1059029 + AmpersandToken 1059029 1059031 + PropertyAccessExpression 1059031 1059054 + Identifier 1059031 1059042 + Identifier 1059043 1059054 + Identifier 1059056 1059076 + Block 1059103 1059203 + ExpressionStatement 1059105 1059192 + CallExpression 1059105 1059191 + Identifier 1059105 1059130 + CallExpression 1059131 1059169 + Identifier 1059131 1059153 + Identifier 1059154 1059168 + Identifier 1059170 1059190 + VariableStatement 1059203 1059623 + VariableDeclarationList 1059203 1059622 + VariableDeclaration 1059455 1059622 + Identifier 1059455 1059462 + ConditionalExpression 1059464 1059622 + BinaryExpression 1059464 1059506 + Identifier 1059464 1059475 + AmpersandToken 1059475 1059477 + PropertyAccessExpression 1059477 1059506 + Identifier 1059477 1059488 + Identifier 1059489 1059506 + QuestionToken 1059506 1059508 + CallExpression 1059508 1059597 + Identifier 1059508 1059519 + CallExpression 1059520 1059542 + Identifier 1059520 1059532 + Identifier 1059533 1059541 + ArrowFunction 1059543 1059596 + Parameter 1059543 1059545 + Identifier 1059543 1059545 + EqualsGreaterThanToken 1059545 1059548 + PrefixUnaryExpression 1059548 1059596 + ParenthesizedExpression 1059550 1059596 + BinaryExpression 1059551 1059595 + PropertyAccessExpression 1059551 1059558 + Identifier 1059551 1059552 + Identifier 1059553 1059558 + AmpersandToken 1059558 1059560 + ParenthesizedExpression 1059560 1059595 + BinaryExpression 1059562 1059594 + PropertyAccessExpression 1059562 1059575 + Identifier 1059562 1059571 + Identifier 1059572 1059575 + BarToken 1059575 1059577 + PropertyAccessExpression 1059577 1059594 + Identifier 1059577 1059587 + Identifier 1059588 1059594 + ColonToken 1059597 1059599 + CallExpression 1059599 1059622 + Identifier 1059599 1059612 + Identifier 1059613 1059621 + IfStatement 1059623 1059860 + BinaryExpression 1059637 1059810 + BinaryExpression 1059637 1059709 + BinaryExpression 1059637 1059667 + PropertyAccessExpression 1059637 1059649 + Identifier 1059637 1059643 + Identifier 1059644 1059649 + AmpersandToken 1059649 1059651 + PropertyAccessExpression 1059651 1059667 + Identifier 1059651 1059661 + Identifier 1059662 1059667 + AmpersandAmpersandToken 1059667 1059670 + BinaryExpression 1059670 1059709 + PropertyAccessExpression 1059670 1059691 + Identifier 1059670 1059685 + Identifier 1059686 1059691 + AmpersandToken 1059691 1059693 + PropertyAccessExpression 1059693 1059709 + Identifier 1059693 1059703 + Identifier 1059704 1059709 + AmpersandAmpersandToken 1059709 1059712 + BinaryExpression 1059712 1059810 + CallExpression 1059712 1059755 + Identifier 1059712 1059726 + PropertyAccessExpression 1059727 1059754 + ParenthesizedExpression 1059727 1059748 + AsExpression 1059728 1059747 + Identifier 1059728 1059734 + TypeReference 1059737 1059747 + Identifier 1059737 1059747 + Identifier 1059749 1059754 + EqualsEqualsEqualsToken 1059755 1059759 + CallExpression 1059759 1059810 + Identifier 1059759 1059773 + PropertyAccessExpression 1059774 1059809 + ParenthesizedExpression 1059774 1059803 + AsExpression 1059775 1059802 + Identifier 1059775 1059789 + TypeReference 1059792 1059802 + Identifier 1059792 1059802 + Identifier 1059804 1059809 + Block 1059811 1059860 + ReturnStatement 1059813 1059849 + Identifier 1059833 1059848 + ReturnStatement 1059860 1059884 + Identifier 1059876 1059883 + FunctionDeclaration 1059884 1060457 + Identifier 1059904 1059924 + Parameter 1059925 1059938 + Identifier 1059925 1059932 + TypeReference 1059933 1059938 + Identifier 1059933 1059938 + Block 1059939 1060457 + VariableStatement 1059941 1060079 + VariableDeclarationList 1059941 1060078 + VariableDeclaration 1059960 1060078 + Identifier 1059960 1059973 + ConditionalExpression 1059975 1060078 + Identifier 1059975 1059984 + QuestionToken 1059984 1059986 + CallExpression 1059986 1060068 + Identifier 1059986 1060002 + Identifier 1060003 1060011 + CallExpression 1060012 1060067 + Identifier 1060012 1060030 + PropertyAccessExpression 1060031 1060042 + Identifier 1060031 1060035 + Identifier 1060036 1060042 + Identifier 1060043 1060057 + Identifier 1060058 1060066 + ColonToken 1060068 1060070 + Identifier 1060070 1060078 + ExpressionStatement 1060079 1060446 + CallExpression 1060079 1060445 + PropertyAccessExpression 1060079 1060380 + Identifier 1060079 1060375 + Identifier 1060376 1060380 + ConditionalExpression 1060381 1060444 + BinaryExpression 1060381 1060408 + Identifier 1060381 1060393 + EqualsEqualsEqualsToken 1060393 1060397 + Identifier 1060397 1060408 + QuestionToken 1060408 1060410 + Identifier 1060410 1060429 + ColonToken 1060429 1060431 + Identifier 1060431 1060444 + FunctionDeclaration 1060464 1062328 + Identifier 1061062 1061086 + Parameter 1061087 1061109 + Identifier 1061087 1061097 + TypeReference 1061098 1061109 + Identifier 1061098 1061109 + Block 1061110 1062328 + VariableStatement 1061112 1061186 + VariableDeclarationList 1061112 1061185 + VariableDeclaration 1061127 1061185 + Identifier 1061127 1061140 + CallExpression 1061142 1061185 + Identifier 1061142 1061173 + Identifier 1061174 1061184 + ReturnStatement 1061186 1061273 + CallExpression 1061202 1061272 + Identifier 1061202 1061217 + BinaryExpression 1061218 1061271 + CallExpression 1061218 1061255 + Identifier 1061218 1061243 + Identifier 1061244 1061254 + BarBarToken 1061255 1061258 + Identifier 1061258 1061271 + FunctionDeclaration 1061273 1062321 + Identifier 1061291 1061306 + Parameter 1061307 1061317 + Identifier 1061307 1061311 + TypeReference 1061312 1061317 + Identifier 1061312 1061317 + BooleanKeyword 1061319 1061327 + Block 1061327 1062321 + ReturnStatement 1061329 1062310 + ConditionalExpression 1061349 1062309 + BinaryExpression 1061349 1061497 + PropertyAccessExpression 1061349 1061360 + Identifier 1061349 1061354 + Identifier 1061355 1061360 + AmpersandToken 1061360 1061362 + ParenthesizedExpression 1061362 1061497 + BinaryExpression 1061364 1061496 + BinaryExpression 1061364 1061471 + BinaryExpression 1061364 1061452 + BinaryExpression 1061364 1061426 + BinaryExpression 1061364 1061408 + PropertyAccessExpression 1061364 1061386 + Identifier 1061364 1061373 + Identifier 1061374 1061386 + BarToken 1061386 1061388 + PropertyAccessExpression 1061388 1061408 + Identifier 1061388 1061398 + Identifier 1061399 1061408 + BarToken 1061408 1061410 + PropertyAccessExpression 1061410 1061426 + Identifier 1061410 1061420 + Identifier 1061421 1061426 + BarToken 1061426 1061428 + PropertyAccessExpression 1061428 1061452 + Identifier 1061428 1061438 + Identifier 1061439 1061452 + BarToken 1061452 1061454 + PropertyAccessExpression 1061454 1061471 + Identifier 1061454 1061464 + Identifier 1061465 1061471 + BarToken 1061471 1061473 + PropertyAccessExpression 1061473 1061496 + Identifier 1061473 1061483 + Identifier 1061484 1061496 + QuestionToken 1061497 1061499 + TrueKeyword 1061499 1061504 + ColonToken 1061504 1061506 + ConditionalExpression 1061506 1062309 + BinaryExpression 1061506 1061558 + PropertyAccessExpression 1061506 1061534 + Identifier 1061506 1061528 + Identifier 1061529 1061534 + AmpersandToken 1061534 1061536 + PropertyAccessExpression 1061536 1061558 + Identifier 1061536 1061546 + Identifier 1061547 1061558 + QuestionToken 1061558 1061560 + BinaryExpression 1061560 1061662 + PropertyAccessExpression 1061560 1061606 + PropertyAccessExpression 1061560 1061591 + ParenthesizedExpression 1061560 1061586 + AsExpression 1061562 1061585 + Identifier 1061562 1061566 + TypeReference 1061569 1061585 + Identifier 1061569 1061585 + Identifier 1061587 1061591 + Identifier 1061592 1061606 + AmpersandAmpersandToken 1061606 1061609 + BinaryExpression 1061609 1061662 + PropertyAccessExpression 1061609 1061645 + ParenthesizedExpression 1061609 1061635 + AsExpression 1061611 1061634 + Identifier 1061611 1061615 + TypeReference 1061618 1061634 + Identifier 1061618 1061634 + Identifier 1061636 1061645 + EqualsEqualsEqualsToken 1061645 1061649 + Identifier 1061649 1061662 + ColonToken 1061662 1061664 + ConditionalExpression 1061664 1062309 + BinaryExpression 1061664 1061754 + PropertyAccessExpression 1061664 1061692 + Identifier 1061664 1061686 + Identifier 1061687 1061692 + AmpersandToken 1061692 1061694 + ParenthesizedExpression 1061694 1061754 + BinaryExpression 1061696 1061753 + PropertyAccessExpression 1061696 1061725 + Identifier 1061696 1061705 + Identifier 1061706 1061725 + BarToken 1061725 1061727 + PropertyAccessExpression 1061727 1061753 + Identifier 1061727 1061737 + Identifier 1061738 1061753 + QuestionToken 1061754 1061756 + CallExpression 1061756 1061841 + Identifier 1061756 1061762 + PropertyAccessExpression 1061763 1061824 + ParenthesizedExpression 1061763 1061818 + AsExpression 1061764 1061817 + Identifier 1061764 1061768 + UnionType 1061771 1061817 + TypeReference 1061771 1061795 + Identifier 1061771 1061795 + TypeReference 1061797 1061817 + Identifier 1061797 1061817 + Identifier 1061819 1061824 + Identifier 1061825 1061840 + ColonToken 1061841 1061843 + ConditionalExpression 1061843 1062309 + BinaryExpression 1061843 1061897 + PropertyAccessExpression 1061843 1061871 + Identifier 1061843 1061865 + Identifier 1061866 1061871 + AmpersandToken 1061871 1061873 + PropertyAccessExpression 1061873 1061897 + Identifier 1061873 1061883 + Identifier 1061884 1061897 + QuestionToken 1061897 1061899 + BinaryExpression 1061899 1062011 + CallExpression 1061899 1061954 + Identifier 1061899 1061914 + PropertyAccessExpression 1061915 1061953 + ParenthesizedExpression 1061915 1061942 + AsExpression 1061916 1061941 + Identifier 1061916 1061920 + TypeReference 1061923 1061941 + Identifier 1061923 1061941 + Identifier 1061943 1061953 + AmpersandAmpersandToken 1061954 1061957 + CallExpression 1061957 1062011 + Identifier 1061957 1061972 + PropertyAccessExpression 1061973 1062010 + ParenthesizedExpression 1061973 1062000 + AsExpression 1061974 1061999 + Identifier 1061974 1061978 + TypeReference 1061981 1061999 + Identifier 1061981 1061999 + Identifier 1062001 1062010 + ColonToken 1062011 1062013 + ConditionalExpression 1062013 1062309 + BinaryExpression 1062013 1062066 + PropertyAccessExpression 1062013 1062041 + Identifier 1062013 1062035 + Identifier 1062036 1062041 + AmpersandToken 1062041 1062043 + PropertyAccessExpression 1062043 1062066 + Identifier 1062043 1062053 + Identifier 1062054 1062066 + QuestionToken 1062066 1062068 + BinaryExpression 1062068 1062177 + CallExpression 1062068 1062120 + Identifier 1062068 1062083 + PropertyAccessExpression 1062084 1062119 + ParenthesizedExpression 1062084 1062110 + AsExpression 1062085 1062109 + Identifier 1062085 1062089 + TypeReference 1062092 1062109 + Identifier 1062092 1062109 + Identifier 1062111 1062119 + AmpersandAmpersandToken 1062120 1062123 + CallExpression 1062123 1062177 + Identifier 1062123 1062138 + PropertyAccessExpression 1062139 1062176 + ParenthesizedExpression 1062139 1062165 + AsExpression 1062140 1062164 + Identifier 1062140 1062144 + TypeReference 1062147 1062164 + Identifier 1062147 1062164 + Identifier 1062166 1062176 + ColonToken 1062177 1062179 + ConditionalExpression 1062179 1062309 + BinaryExpression 1062179 1062233 + PropertyAccessExpression 1062179 1062207 + Identifier 1062179 1062201 + Identifier 1062202 1062207 + AmpersandToken 1062207 1062209 + PropertyAccessExpression 1062209 1062233 + Identifier 1062209 1062219 + Identifier 1062220 1062233 + QuestionToken 1062233 1062235 + CallExpression 1062235 1062284 + Identifier 1062235 1062250 + PropertyAccessExpression 1062251 1062283 + ParenthesizedExpression 1062251 1062278 + AsExpression 1062252 1062277 + Identifier 1062252 1062256 + TypeReference 1062259 1062277 + Identifier 1062259 1062277 + Identifier 1062279 1062283 + ColonToken 1062284 1062286 + FalseKeyword 1062286 1062309 + FunctionDeclaration 1062328 1063122 + Identifier 1062344 1062375 + Parameter 1062376 1062413 + Identifier 1062376 1062380 + UnionType 1062381 1062413 + TypeReference 1062381 1062394 + Identifier 1062381 1062394 + TypeReference 1062396 1062413 + Identifier 1062396 1062413 + Block 1062414 1063122 + IfStatement 1062416 1062500 + CallExpression 1062430 1062455 + Identifier 1062430 1062449 + Identifier 1062450 1062454 + Block 1062456 1062500 + ReturnStatement 1062458 1062489 + Identifier 1062478 1062488 + IfStatement 1062500 1062622 + CallExpression 1062514 1062536 + Identifier 1062514 1062530 + Identifier 1062531 1062535 + Block 1062537 1062622 + ReturnStatement 1062539 1062611 + CallExpression 1062559 1062610 + Identifier 1062559 1062587 + CallExpression 1062588 1062609 + Identifier 1062588 1062603 + Identifier 1062604 1062608 + IfStatement 1062622 1062760 + CallExpression 1062636 1062664 + Identifier 1062636 1062658 + Identifier 1062659 1062663 + Block 1062665 1062760 + ReturnStatement 1062667 1062749 + CallExpression 1062687 1062748 + Identifier 1062687 1062715 + CallExpression 1062716 1062747 + Identifier 1062716 1062741 + Identifier 1062742 1062746 + VariableStatement 1062760 1062832 + VariableDeclarationList 1062760 1062831 + VariableDeclaration 1062775 1062831 + Identifier 1062775 1062788 + CallExpression 1062790 1062831 + Identifier 1062790 1062825 + Identifier 1062826 1062830 + IfStatement 1062832 1062970 + BinaryExpression 1062846 1062872 + Identifier 1062846 1062858 + ExclamationEqualsEqualsToken 1062858 1062862 + Identifier 1062862 1062872 + Block 1062873 1062970 + ReturnStatement 1062875 1062959 + CallExpression 1062895 1062958 + Identifier 1062895 1062916 + CallExpression 1062917 1062957 + Identifier 1062917 1062943 + Identifier 1062944 1062956 + IfStatement 1062970 1063088 + CallExpression 1062984 1063002 + Identifier 1062984 1062996 + Identifier 1062997 1063001 + Block 1063003 1063088 + ReturnStatement 1063005 1063077 + CallExpression 1063025 1063076 + Identifier 1063025 1063053 + CallExpression 1063054 1063075 + Identifier 1063054 1063069 + Identifier 1063070 1063074 + ReturnStatement 1063088 1063115 + Identifier 1063104 1063114 + FunctionDeclaration 1063122 1063978 + Identifier 1063138 1063165 + Parameter 1063166 1063178 + Identifier 1063166 1063170 + TypeReference 1063171 1063178 + Identifier 1063171 1063178 + Parameter 1063179 1063198 + Identifier 1063179 1063187 + TypeReference 1063188 1063198 + Identifier 1063188 1063198 + Parameter 1063199 1063226 + Identifier 1063199 1063216 + QuestionToken 1063216 1063217 + BooleanKeyword 1063218 1063226 + Block 1063227 1063978 + IfStatement 1063229 1063944 + BinaryExpression 1063243 1063356 + Identifier 1063243 1063259 + BarBarToken 1063259 1063262 + PrefixUnaryExpression 1063262 1063356 + ParenthesizedExpression 1063264 1063356 + BinaryExpression 1063265 1063355 + CallExpression 1063265 1063308 + Identifier 1063265 1063302 + Identifier 1063303 1063307 + AmpersandToken 1063308 1063310 + PropertyAccessExpression 1063310 1063355 + Identifier 1063310 1063324 + Identifier 1063325 1063355 + Block 1063357 1063944 + VariableStatement 1063359 1063434 + VariableDeclarationList 1063359 1063433 + VariableDeclaration 1063376 1063433 + Identifier 1063376 1063381 + PropertyAccessExpression 1063383 1063433 + CallExpression 1063383 1063424 + Identifier 1063383 1063398 + CallExpression 1063399 1063423 + Identifier 1063399 1063417 + Identifier 1063418 1063422 + Identifier 1063425 1063433 + IfStatement 1063434 1063839 + PrefixUnaryExpression 1063452 1063457 + Identifier 1063453 1063457 + Block 1063458 1063839 + VariableStatement 1063460 1063570 + VariableDeclarationList 1063460 1063569 + VariableDeclaration 1063483 1063569 + Identifier 1063483 1063488 + AsExpression 1063490 1063569 + CallExpression 1063490 1063534 + Identifier 1063490 1063511 + PropertyAccessExpression 1063512 1063533 + Identifier 1063512 1063516 + Identifier 1063517 1063533 + UnionType 1063537 1063569 + TypeReference 1063537 1063550 + Identifier 1063537 1063550 + TypeReference 1063552 1063569 + Identifier 1063552 1063569 + ExpressionStatement 1063570 1063824 + BinaryExpression 1063570 1063823 + Identifier 1063570 1063592 + EqualsToken 1063592 1063594 + ConditionalExpression 1063594 1063823 + BinaryExpression 1063594 1063642 + PropertyAccessExpression 1063594 1063611 + Identifier 1063594 1063599 + Identifier 1063600 1063611 + EqualsEqualsEqualsToken 1063611 1063615 + PropertyAccessExpression 1063615 1063642 + Identifier 1063615 1063634 + Identifier 1063635 1063642 + QuestionToken 1063642 1063644 + CallExpression 1063644 1063676 + Identifier 1063644 1063665 + StringLiteral 1063666 1063675 + ColonToken 1063676 1063678 + BinaryExpression 1063678 1063823 + BinaryExpression 1063678 1063744 + Identifier 1063678 1063704 + AmpersandAmpersandToken 1063704 1063707 + CallExpression 1063707 1063744 + Identifier 1063707 1063738 + Identifier 1063739 1063743 + BarBarToken 1063744 1063747 + ParenthesizedExpression 1063747 1063823 + ConditionalExpression 1063749 1063822 + PrefixUnaryExpression 1063749 1063769 + CallExpression 1063750 1063769 + Identifier 1063750 1063763 + Identifier 1063764 1063768 + QuestionToken 1063769 1063771 + CallExpression 1063771 1063810 + Identifier 1063771 1063792 + CallExpression 1063793 1063809 + Identifier 1063793 1063803 + Identifier 1063804 1063808 + ColonToken 1063810 1063812 + Identifier 1063812 1063822 + IfStatement 1063839 1063933 + BinaryExpression 1063857 1063885 + Identifier 1063857 1063861 + AmpersandAmpersandToken 1063861 1063864 + BinaryExpression 1063864 1063885 + PropertyAccessExpression 1063864 1063875 + Identifier 1063864 1063869 + Identifier 1063870 1063875 + AmpersandToken 1063875 1063877 + Identifier 1063877 1063885 + Block 1063886 1063933 + ReturnStatement 1063888 1063918 + Identifier 1063912 1063917 + ReturnStatement 1063944 1063971 + Identifier 1063960 1063970 + FunctionDeclaration 1063978 1064233 + Identifier 1063994 1064012 + Parameter 1064013 1064026 + Identifier 1064013 1064020 + TypeReference 1064021 1064026 + Identifier 1064021 1064026 + Parameter 1064027 1064046 + Identifier 1064027 1064035 + TypeReference 1064036 1064046 + Identifier 1064036 1064046 + BooleanKeyword 1064048 1064056 + Block 1064056 1064233 + ReturnStatement 1064058 1064226 + PrefixUnaryExpression 1064074 1064225 + PrefixUnaryExpression 1064076 1064225 + ParenthesizedExpression 1064077 1064225 + BinaryExpression 1064078 1064224 + BinaryExpression 1064078 1064101 + PropertyAccessExpression 1064078 1064091 + Identifier 1064078 1064085 + Identifier 1064086 1064091 + AmpersandToken 1064091 1064093 + Identifier 1064093 1064101 + BarBarToken 1064101 1064104 + BinaryExpression 1064104 1064224 + BinaryExpression 1064104 1064143 + PropertyAccessExpression 1064104 1064118 + Identifier 1064104 1064112 + Identifier 1064113 1064118 + AmpersandToken 1064118 1064120 + PropertyAccessExpression 1064120 1064143 + Identifier 1064120 1064130 + Identifier 1064131 1064143 + AmpersandAmpersandToken 1064143 1064146 + CallExpression 1064146 1064224 + Identifier 1064146 1064151 + PropertyAccessExpression 1064152 1064187 + ParenthesizedExpression 1064152 1064181 + AsExpression 1064153 1064180 + Identifier 1064153 1064160 + TypeReference 1064163 1064180 + Identifier 1064163 1064180 + Identifier 1064182 1064187 + ArrowFunction 1064188 1064223 + Parameter 1064188 1064190 + Identifier 1064188 1064190 + EqualsGreaterThanToken 1064190 1064193 + CallExpression 1064193 1064223 + Identifier 1064193 1064211 + Identifier 1064212 1064213 + Identifier 1064214 1064222 + FunctionDeclaration 1064233 1065090 + Identifier 1064249 1064278 + Parameter 1064279 1064289 + Identifier 1064279 1064283 + TypeReference 1064284 1064289 + Identifier 1064284 1064289 + Parameter 1064290 1064309 + Identifier 1064290 1064298 + TypeReference 1064299 1064309 + Identifier 1064299 1064309 + Parameter 1064310 1064333 + Identifier 1064310 1064324 + BooleanKeyword 1064325 1064333 + Block 1064334 1065090 + VariableStatement 1064336 1064520 + VariableDeclarationList 1064336 1064519 + VariableDeclaration 1064351 1064519 + Identifier 1064351 1064358 + ConditionalExpression 1064360 1064519 + BinaryExpression 1064360 1064477 + Identifier 1064360 1064374 + AmpersandAmpersandToken 1064374 1064377 + ParenthesizedExpression 1064377 1064477 + BinaryExpression 1064379 1064476 + BinaryExpression 1064379 1064456 + CallExpression 1064379 1064399 + Identifier 1064379 1064393 + Identifier 1064394 1064398 + AmpersandToken 1064399 1064401 + ParenthesizedExpression 1064401 1064456 + BinaryExpression 1064403 1064455 + PropertyAccessExpression 1064403 1064431 + Identifier 1064403 1064414 + Identifier 1064415 1064431 + BarToken 1064431 1064433 + PropertyAccessExpression 1064433 1064455 + Identifier 1064433 1064445 + Identifier 1064446 1064455 + BarBarToken 1064456 1064459 + PropertyAccessExpression 1064459 1064476 + Identifier 1064459 1064464 + Identifier 1064465 1064476 + QuestionToken 1064477 1064479 + CallExpression 1064479 1064507 + Identifier 1064479 1064501 + Identifier 1064502 1064506 + ColonToken 1064507 1064509 + Identifier 1064509 1064519 + VariableStatement 1064520 1064634 + VariableDeclarationList 1064520 1064633 + VariableDeclaration 1064535 1064633 + Identifier 1064535 1064549 + CallExpression 1064551 1064633 + Identifier 1064551 1064555 + CallExpression 1064556 1064581 + Identifier 1064556 1064575 + Identifier 1064576 1064580 + ArrowFunction 1064582 1064632 + Parameter 1064582 1064587 + Identifier 1064582 1064587 + EqualsGreaterThanToken 1064587 1064590 + CallExpression 1064590 1064632 + Identifier 1064590 1064617 + Identifier 1064618 1064622 + Identifier 1064623 1064631 + VariableStatement 1064634 1064917 + VariableDeclarationList 1064634 1064916 + VariableDeclaration 1064649 1064916 + Identifier 1064649 1064663 + CallExpression 1064665 1064916 + Identifier 1064665 1064669 + CallExpression 1064670 1064695 + Identifier 1064670 1064689 + Identifier 1064690 1064694 + ArrowFunction 1064696 1064915 + Parameter 1064696 1064701 + Identifier 1064696 1064701 + EqualsGreaterThanToken 1064701 1064704 + ConditionalExpression 1064704 1064915 + BinaryExpression 1064704 1064790 + BinaryExpression 1064704 1064746 + Identifier 1064704 1064722 + ExclamationEqualsEqualsToken 1064722 1064726 + Identifier 1064726 1064746 + AmpersandAmpersandToken 1064746 1064749 + CallExpression 1064749 1064790 + Identifier 1064749 1064767 + PropertyAccessExpression 1064768 1064780 + Identifier 1064768 1064772 + Identifier 1064773 1064780 + Identifier 1064781 1064789 + QuestionToken 1064790 1064792 + ConditionalExpression 1064792 1064903 + BinaryExpression 1064792 1064867 + BinaryExpression 1064792 1064837 + PropertyAccessExpression 1064792 1064822 + Identifier 1064792 1064814 + Identifier 1064815 1064822 + EqualsEqualsEqualsToken 1064822 1064826 + Identifier 1064826 1064837 + AmpersandAmpersandToken 1064837 1064840 + BinaryExpression 1064840 1064867 + Identifier 1064840 1064848 + AmpersandToken 1064848 1064850 + PropertyAccessExpression 1064850 1064867 + Identifier 1064850 1064860 + Identifier 1064861 1064867 + QuestionToken 1064867 1064869 + Identifier 1064869 1064888 + ColonToken 1064888 1064890 + PropertyAccessExpression 1064890 1064903 + Identifier 1064890 1064895 + Identifier 1064896 1064903 + ColonToken 1064903 1064905 + Identifier 1064905 1064915 + ReturnStatement 1064917 1065083 + CallExpression 1064933 1065082 + Identifier 1064933 1064946 + CallExpression 1064947 1064988 + Identifier 1064947 1064958 + Identifier 1064959 1064972 + Identifier 1064973 1064987 + PropertyAccessExpression 1064989 1065012 + Identifier 1064989 1065004 + Identifier 1065005 1065012 + Identifier 1065013 1065039 + Identifier 1065040 1065073 + Identifier 1065074 1065081 + FunctionDeclaration 1065090 1065733 + Identifier 1065106 1065127 + Parameter 1065128 1065138 + Identifier 1065128 1065132 + TypeReference 1065133 1065138 + Identifier 1065133 1065138 + Parameter 1065139 1065168 + Identifier 1065139 1065150 + PropertyAccessExpression 1065152 1065168 + Identifier 1065152 1065163 + Identifier 1065164 1065168 + Block 1065169 1065733 + ReturnStatement 1065171 1065726 + PrefixUnaryExpression 1065187 1065725 + PrefixUnaryExpression 1065189 1065725 + ParenthesizedExpression 1065190 1065725 + BinaryExpression 1065191 1065724 + BinaryExpression 1065191 1065553 + BinaryExpression 1065191 1065429 + BinaryExpression 1065191 1065279 + BinaryExpression 1065191 1065238 + PropertyAccessExpression 1065191 1065201 + Identifier 1065191 1065195 + Identifier 1065196 1065201 + AmpersandToken 1065201 1065203 + PropertyAccessExpression 1065203 1065238 + Identifier 1065203 1065213 + Identifier 1065214 1065238 + BarBarToken 1065238 1065241 + CallExpression 1065241 1065279 + Identifier 1065241 1065273 + Identifier 1065274 1065278 + BarBarToken 1065279 1065282 + BinaryExpression 1065282 1065429 + CallExpression 1065282 1065321 + Identifier 1065282 1065315 + Identifier 1065316 1065320 + AmpersandAmpersandToken 1065321 1065324 + ParenthesizedExpression 1065324 1065429 + BinaryExpression 1065326 1065428 + PrefixUnaryExpression 1065326 1065356 + CallExpression 1065327 1065356 + Identifier 1065327 1065350 + Identifier 1065351 1065355 + BarBarToken 1065356 1065359 + BinaryExpression 1065359 1065428 + CallExpression 1065359 1065391 + Identifier 1065359 1065385 + Identifier 1065386 1065390 + EqualsEqualsEqualsToken 1065391 1065395 + PropertyAccessExpression 1065395 1065428 + Identifier 1065395 1065418 + Identifier 1065419 1065428 + BarBarToken 1065429 1065432 + BinaryExpression 1065432 1065553 + BinaryExpression 1065432 1065521 + BinaryExpression 1065432 1065474 + PropertyAccessExpression 1065432 1065456 + Identifier 1065432 1065450 + Identifier 1065451 1065456 + AmpersandToken 1065456 1065458 + PropertyAccessExpression 1065458 1065474 + Identifier 1065458 1065468 + Identifier 1065469 1065474 + AmpersandAmpersandToken 1065474 1065477 + PrefixUnaryExpression 1065477 1065521 + ParenthesizedExpression 1065479 1065521 + BinaryExpression 1065480 1065520 + Identifier 1065480 1065490 + AmpersandToken 1065490 1065492 + PropertyAccessExpression 1065492 1065520 + Identifier 1065492 1065503 + Identifier 1065504 1065520 + AmpersandAmpersandToken 1065521 1065524 + CallExpression 1065524 1065553 + Identifier 1065524 1065547 + Identifier 1065548 1065552 + BarBarToken 1065553 1065556 + BinaryExpression 1065556 1065724 + BinaryExpression 1065556 1065654 + BinaryExpression 1065556 1065605 + PropertyAccessExpression 1065556 1065580 + Identifier 1065556 1065574 + Identifier 1065575 1065580 + AmpersandToken 1065580 1065582 + PropertyAccessExpression 1065582 1065605 + Identifier 1065582 1065592 + Identifier 1065593 1065605 + AmpersandAmpersandToken 1065605 1065608 + CallExpression 1065608 1065654 + Identifier 1065608 1065624 + Identifier 1065625 1065629 + PropertyAccessExpression 1065630 1065653 + Identifier 1065630 1065640 + Identifier 1065641 1065653 + AmpersandAmpersandToken 1065654 1065657 + CallExpression 1065657 1065724 + Identifier 1065657 1065662 + PropertyAccessExpression 1065663 1065695 + ParenthesizedExpression 1065663 1065689 + AsExpression 1065664 1065688 + Identifier 1065664 1065668 + TypeReference 1065671 1065688 + Identifier 1065671 1065688 + Identifier 1065690 1065695 + Identifier 1065696 1065723 + FunctionDeclaration 1065733 1066974 + Identifier 1065749 1065762 + Parameter 1065763 1065773 + Identifier 1065763 1065767 + TypeReference 1065768 1065773 + Identifier 1065768 1065773 + Parameter 1065774 1065803 + Identifier 1065774 1065785 + PropertyAccessExpression 1065787 1065803 + Identifier 1065787 1065798 + Identifier 1065799 1065803 + TypeReference 1065805 1065810 + Identifier 1065805 1065810 + Block 1065810 1066974 + ExpressionStatement 1065812 1065850 + BinaryExpression 1065812 1065849 + Identifier 1065812 1065826 + EqualsToken 1065826 1065828 + CallExpression 1065828 1065849 + Identifier 1065828 1065843 + Identifier 1065844 1065848 + ReturnStatement 1065850 1066967 + ConditionalExpression 1065866 1066966 + CallExpression 1065866 1065886 + Identifier 1065866 1065880 + Identifier 1065881 1065885 + QuestionToken 1065886 1065888 + CallExpression 1065888 1065966 + Identifier 1065888 1065903 + CallExpression 1065904 1065965 + Identifier 1065904 1065916 + PropertyAccessExpression 1065917 1065952 + ParenthesizedExpression 1065917 1065943 + AsExpression 1065918 1065942 + Identifier 1065918 1065922 + TypeReference 1065925 1065942 + Identifier 1065925 1065942 + Identifier 1065944 1065952 + Identifier 1065953 1065964 + ColonToken 1065966 1065968 + ConditionalExpression 1065968 1066966 + CallExpression 1065968 1066020 + Identifier 1065968 1066002 + Identifier 1066003 1066007 + Identifier 1066008 1066019 + QuestionToken 1066020 1066022 + CallExpression 1066022 1066113 + Identifier 1066022 1066049 + AsExpression 1066050 1066100 + Identifier 1066050 1066054 + UnionType 1066057 1066100 + TypeReference 1066057 1066074 + Identifier 1066057 1066074 + TypeReference 1066076 1066100 + Identifier 1066076 1066100 + Identifier 1066101 1066112 + ColonToken 1066113 1066115 + ConditionalExpression 1066115 1066966 + BinaryExpression 1066115 1066157 + PropertyAccessExpression 1066115 1066139 + Identifier 1066115 1066133 + Identifier 1066134 1066139 + AmpersandToken 1066139 1066141 + PropertyAccessExpression 1066141 1066157 + Identifier 1066141 1066151 + Identifier 1066152 1066157 + QuestionToken 1066157 1066159 + CallExpression 1066159 1066245 + Identifier 1066159 1066179 + CallExpression 1066180 1066244 + Identifier 1066180 1066183 + PropertyAccessExpression 1066184 1066209 + ParenthesizedExpression 1066184 1066203 + AsExpression 1066185 1066202 + Identifier 1066185 1066189 + TypeReference 1066192 1066202 + Identifier 1066192 1066202 + Identifier 1066204 1066209 + ArrowFunction 1066210 1066243 + Parameter 1066210 1066212 + Identifier 1066210 1066212 + EqualsGreaterThanToken 1066212 1066215 + CallExpression 1066215 1066243 + Identifier 1066215 1066228 + Identifier 1066229 1066230 + Identifier 1066231 1066242 + ColonToken 1066245 1066247 + ConditionalExpression 1066247 1066966 + BinaryExpression 1066247 1066296 + PropertyAccessExpression 1066247 1066271 + Identifier 1066247 1066265 + Identifier 1066266 1066271 + AmpersandToken 1066271 1066273 + PropertyAccessExpression 1066273 1066296 + Identifier 1066273 1066283 + Identifier 1066284 1066296 + QuestionToken 1066296 1066298 + CallExpression 1066298 1066384 + Identifier 1066298 1066311 + CallExpression 1066312 1066383 + Identifier 1066312 1066315 + PropertyAccessExpression 1066316 1066348 + ParenthesizedExpression 1066316 1066342 + AsExpression 1066317 1066341 + Identifier 1066317 1066321 + TypeReference 1066324 1066341 + Identifier 1066324 1066341 + Identifier 1066343 1066348 + ArrowFunction 1066349 1066382 + Parameter 1066349 1066351 + Identifier 1066349 1066351 + EqualsGreaterThanToken 1066351 1066354 + CallExpression 1066354 1066382 + Identifier 1066354 1066367 + Identifier 1066368 1066369 + Identifier 1066370 1066381 + ColonToken 1066384 1066386 + ConditionalExpression 1066386 1066966 + BinaryExpression 1066386 1066441 + CallExpression 1066386 1066420 + Identifier 1066386 1066414 + Identifier 1066415 1066419 + AmpersandToken 1066420 1066422 + PropertyAccessExpression 1066422 1066441 + Identifier 1066422 1066434 + Identifier 1066435 1066441 + QuestionToken 1066441 1066443 + CallExpression 1066443 1066501 + Identifier 1066443 1066469 + AsExpression 1066470 1066488 + Identifier 1066470 1066474 + TypeReference 1066477 1066488 + Identifier 1066477 1066488 + Identifier 1066489 1066500 + ColonToken 1066501 1066503 + ConditionalExpression 1066503 1066966 + BinaryExpression 1066503 1066538 + Identifier 1066503 1066521 + EqualsEqualsEqualsToken 1066521 1066525 + Identifier 1066525 1066538 + QuestionToken 1066538 1066540 + Identifier 1066540 1066553 + ColonToken 1066553 1066555 + ConditionalExpression 1066555 1066966 + BinaryExpression 1066555 1066599 + PropertyAccessExpression 1066555 1066579 + Identifier 1066555 1066573 + Identifier 1066574 1066579 + AmpersandToken 1066579 1066581 + PropertyAccessExpression 1066581 1066599 + Identifier 1066581 1066591 + Identifier 1066592 1066599 + QuestionToken 1066599 1066601 + Identifier 1066601 1066611 + ColonToken 1066611 1066613 + ConditionalExpression 1066613 1066966 + BinaryExpression 1066613 1066673 + PropertyAccessExpression 1066613 1066637 + Identifier 1066613 1066631 + Identifier 1066632 1066637 + AmpersandToken 1066637 1066639 + ParenthesizedExpression 1066639 1066673 + BinaryExpression 1066641 1066672 + PropertyAccessExpression 1066641 1066654 + Identifier 1066641 1066650 + Identifier 1066651 1066654 + BarToken 1066654 1066656 + PropertyAccessExpression 1066656 1066672 + Identifier 1066656 1066666 + Identifier 1066667 1066672 + QuestionToken 1066673 1066675 + Identifier 1066675 1066698 + ColonToken 1066698 1066700 + CallExpression 1066700 1066966 + Identifier 1066700 1066742 + Identifier 1066743 1066747 + BinaryExpression 1066748 1066933 + ParenthesizedExpression 1066748 1066841 + ConditionalExpression 1066750 1066840 + BinaryExpression 1066750 1066791 + Identifier 1066750 1066760 + AmpersandToken 1066760 1066762 + PropertyAccessExpression 1066762 1066791 + Identifier 1066762 1066773 + Identifier 1066774 1066791 + QuestionToken 1066791 1066793 + PropertyAccessExpression 1066793 1066817 + Identifier 1066793 1066803 + Identifier 1066804 1066817 + ColonToken 1066817 1066819 + PropertyAccessExpression 1066819 1066840 + Identifier 1066819 1066829 + Identifier 1066830 1066840 + BarToken 1066841 1066843 + ParenthesizedExpression 1066843 1066933 + ConditionalExpression 1066845 1066932 + BinaryExpression 1066845 1066880 + Identifier 1066845 1066855 + AmpersandToken 1066855 1066857 + PropertyAccessExpression 1066857 1066880 + Identifier 1066857 1066868 + Identifier 1066869 1066880 + QuestionToken 1066880 1066882 + NumericLiteral 1066882 1066884 + ColonToken 1066884 1066886 + BinaryExpression 1066886 1066932 + PropertyAccessExpression 1066886 1066907 + Identifier 1066886 1066896 + Identifier 1066897 1066907 + BarToken 1066907 1066909 + PropertyAccessExpression 1066909 1066932 + Identifier 1066909 1066919 + Identifier 1066920 1066932 + BinaryExpression 1066934 1066965 + Identifier 1066934 1066945 + EqualsEqualsEqualsToken 1066945 1066949 + PropertyAccessExpression 1066949 1066965 + Identifier 1066949 1066960 + Identifier 1066961 1066965 + FunctionDeclaration 1066974 1067205 + Identifier 1066990 1067011 + Parameter 1067012 1067022 + Identifier 1067012 1067016 + TypeReference 1067017 1067022 + Identifier 1067017 1067022 + Block 1067023 1067205 + VariableStatement 1067025 1067085 + VariableDeclarationList 1067025 1067084 + VariableDeclaration 1067040 1067084 + Identifier 1067040 1067057 + CallExpression 1067059 1067084 + Identifier 1067059 1067082 + ReturnStatement 1067085 1067198 + ConditionalExpression 1067101 1067197 + Identifier 1067101 1067118 + QuestionToken 1067118 1067120 + CallExpression 1067120 1067184 + Identifier 1067120 1067146 + Identifier 1067147 1067163 + ArrayLiteralExpression 1067164 1067183 + Identifier 1067166 1067170 + Identifier 1067171 1067182 + ColonToken 1067184 1067186 + Identifier 1067186 1067197 + FunctionDeclaration 1067205 1067414 + Identifier 1067221 1067242 + Parameter 1067243 1067253 + Identifier 1067243 1067247 + TypeReference 1067248 1067253 + Identifier 1067248 1067253 + TypeReference 1067255 1067260 + Identifier 1067255 1067260 + Block 1067260 1067414 + VariableStatement 1067262 1067331 + VariableDeclarationList 1067262 1067330 + VariableDeclaration 1067277 1067330 + Identifier 1067277 1067287 + CallExpression 1067289 1067330 + Identifier 1067289 1067310 + CallExpression 1067311 1067329 + Identifier 1067311 1067323 + Identifier 1067324 1067328 + ReturnStatement 1067331 1067407 + ConditionalExpression 1067347 1067406 + BinaryExpression 1067347 1067381 + PropertyAccessExpression 1067347 1067363 + Identifier 1067347 1067357 + Identifier 1067358 1067363 + AmpersandToken 1067363 1067365 + PropertyAccessExpression 1067365 1067381 + Identifier 1067365 1067375 + Identifier 1067376 1067381 + QuestionToken 1067381 1067383 + Identifier 1067383 1067394 + ColonToken 1067394 1067396 + Identifier 1067396 1067406 + FunctionDeclaration 1067414 1068365 + Identifier 1067430 1067458 + Parameter 1067459 1067481 + Identifier 1067459 1067463 + TypeReference 1067464 1067481 + Identifier 1067464 1067481 + TypeReference 1067483 1067488 + Identifier 1067483 1067488 + Block 1067488 1068365 + VariableStatement 1067490 1067533 + VariableDeclarationList 1067490 1067532 + VariableDeclaration 1067505 1067532 + Identifier 1067505 1067511 + CallExpression 1067513 1067532 + Identifier 1067513 1067526 + Identifier 1067527 1067531 + IfStatement 1067533 1068322 + PrefixUnaryExpression 1067547 1067566 + PropertyAccessExpression 1067548 1067566 + Identifier 1067548 1067553 + Identifier 1067554 1067566 + Block 1067567 1068322 + SwitchStatement 1067569 1068311 + PropertyAccessExpression 1067591 1067604 + Identifier 1067591 1067595 + Identifier 1067596 1067604 + CaseBlock 1067605 1068311 + CaseClause 1067607 1067770 + PropertyAccessExpression 1067629 1067653 + Identifier 1067629 1067640 + Identifier 1067641 1067653 + ExpressionStatement 1067654 1067742 + BinaryExpression 1067654 1067741 + PropertyAccessExpression 1067654 1067694 + Identifier 1067654 1067681 + Identifier 1067682 1067694 + EqualsToken 1067694 1067696 + CallExpression 1067696 1067741 + Identifier 1067696 1067709 + CallExpression 1067710 1067740 + Identifier 1067710 1067729 + PropertyAccessExpression 1067730 1067739 + Identifier 1067730 1067734 + Identifier 1067735 1067739 + BreakStatement 1067742 1067770 + CaseClause 1067770 1068063 + PropertyAccessExpression 1067792 1067817 + Identifier 1067792 1067803 + Identifier 1067804 1067817 + ExpressionStatement 1067818 1068035 + BinaryExpression 1067818 1068034 + PropertyAccessExpression 1067818 1067858 + Identifier 1067818 1067845 + Identifier 1067846 1067858 + EqualsToken 1067858 1067860 + ConditionalExpression 1067860 1068034 + BinaryExpression 1067860 1067904 + PropertyAccessExpression 1067860 1067875 + PropertyAccessExpression 1067860 1067870 + Identifier 1067860 1067865 + Identifier 1067866 1067870 + Identifier 1067871 1067875 + EqualsEqualsEqualsToken 1067875 1067879 + PropertyAccessExpression 1067879 1067904 + Identifier 1067879 1067890 + Identifier 1067891 1067904 + QuestionToken 1067904 1067931 + CallExpression 1067931 1067997 + Identifier 1067931 1067958 + CallExpression 1067959 1067996 + Identifier 1067959 1067983 + PropertyAccessExpression 1067984 1067995 + Identifier 1067984 1067988 + Identifier 1067989 1067995 + ColonToken 1067997 1068024 + Identifier 1068024 1068034 + BreakStatement 1068035 1068063 + CaseClause 1068063 1068215 + PropertyAccessExpression 1068085 1068112 + Identifier 1068085 1068096 + Identifier 1068097 1068112 + ExpressionStatement 1068113 1068187 + BinaryExpression 1068113 1068186 + PropertyAccessExpression 1068113 1068153 + Identifier 1068113 1068140 + Identifier 1068141 1068153 + EqualsToken 1068153 1068155 + CallExpression 1068155 1068186 + Identifier 1068155 1068175 + PropertyAccessExpression 1068176 1068185 + Identifier 1068176 1068180 + Identifier 1068181 1068185 + BreakStatement 1068187 1068215 + DefaultClause 1068215 1068296 + ExpressionStatement 1068241 1068296 + CallExpression 1068241 1068295 + PropertyAccessExpression 1068241 1068280 + Identifier 1068241 1068268 + Identifier 1068269 1068280 + PropertyAccessExpression 1068281 1068294 + Identifier 1068281 1068285 + Identifier 1068286 1068294 + ReturnStatement 1068322 1068358 + PropertyAccessExpression 1068338 1068357 + Identifier 1068338 1068344 + Identifier 1068345 1068357 + FunctionDeclaration 1068365 1068821 + Identifier 1068381 1068409 + Parameter 1068410 1068439 + Identifier 1068410 1068414 + TypeReference 1068415 1068439 + Identifier 1068415 1068439 + Block 1068440 1068821 + VariableStatement 1068442 1068485 + VariableDeclarationList 1068442 1068484 + VariableDeclaration 1068457 1068484 + Identifier 1068457 1068463 + CallExpression 1068465 1068484 + Identifier 1068465 1068478 + Identifier 1068479 1068483 + IfStatement 1068485 1068778 + PrefixUnaryExpression 1068499 1068518 + PropertyAccessExpression 1068500 1068518 + Identifier 1068500 1068505 + Identifier 1068506 1068518 + Block 1068519 1068778 + ExpressionStatement 1068521 1068767 + BinaryExpression 1068521 1068766 + PropertyAccessExpression 1068521 1068553 + Identifier 1068521 1068540 + Identifier 1068541 1068553 + EqualsToken 1068553 1068555 + CallExpression 1068555 1068766 + Identifier 1068555 1068578 + ArrayLiteralExpression 1068579 1068668 + PropertyAccessExpression 1068598 1068612 + PropertyAccessExpression 1068598 1068607 + Identifier 1068598 1068602 + Identifier 1068603 1068607 + Identifier 1068608 1068612 + SpreadElement 1068613 1068667 + CallExpression 1068617 1068667 + Identifier 1068617 1068620 + PropertyAccessExpression 1068621 1068639 + Identifier 1068621 1068625 + Identifier 1068626 1068639 + ArrowFunction 1068640 1068666 + Parameter 1068640 1068645 + Identifier 1068640 1068645 + EqualsGreaterThanToken 1068645 1068648 + PropertyAccessExpression 1068648 1068666 + PropertyAccessExpression 1068648 1068661 + Identifier 1068648 1068653 + Identifier 1068654 1068661 + Identifier 1068662 1068666 + CallExpression 1068669 1068750 + Identifier 1068669 1068690 + PropertyAccessExpression 1068691 1068709 + Identifier 1068691 1068695 + Identifier 1068696 1068709 + ArrowFunction 1068710 1068749 + Parameter 1068710 1068715 + Identifier 1068710 1068715 + EqualsGreaterThanToken 1068715 1068718 + CallExpression 1068718 1068749 + Identifier 1068718 1068738 + PropertyAccessExpression 1068739 1068748 + Identifier 1068739 1068743 + Identifier 1068744 1068748 + ReturnStatement 1068778 1068814 + PropertyAccessExpression 1068794 1068813 + Identifier 1068794 1068800 + Identifier 1068801 1068813 + FunctionDeclaration 1068821 1071441 + Identifier 1068837 1068860 + Parameter 1068861 1068885 + Identifier 1068861 1068866 + TypeOperator 1068867 1068885 + ArrayType 1068876 1068885 + StringKeyword 1068876 1068883 + Parameter 1068886 1068909 + Identifier 1068886 1068892 + TypeOperator 1068893 1068909 + ArrayType 1068902 1068909 + TypeReference 1068902 1068907 + Identifier 1068902 1068907 + TypeReference 1068911 1068916 + Identifier 1068911 1068916 + Block 1068916 1071441 + VariableStatement 1068918 1069020 + VariableDeclarationList 1068918 1069019 + VariableDeclaration 1068933 1069019 + Identifier 1068933 1068944 + CallExpression 1068946 1069019 + Identifier 1068946 1068956 + Identifier 1068957 1068962 + ArrowFunction 1068963 1069018 + Parameter 1068963 1068965 + Identifier 1068963 1068965 + EqualsGreaterThanToken 1068965 1068968 + PrefixUnaryExpression 1068968 1069018 + PrefixUnaryExpression 1068970 1069018 + ParenthesizedExpression 1068971 1069018 + BinaryExpression 1068972 1069017 + PropertyAccessExpression 1068972 1068979 + Identifier 1068972 1068973 + Identifier 1068974 1068979 + AmpersandToken 1068979 1068981 + ParenthesizedExpression 1068981 1069017 + BinaryExpression 1068983 1069016 + PropertyAccessExpression 1068983 1068998 + Identifier 1068983 1068992 + Identifier 1068993 1068998 + BarToken 1068998 1069000 + PropertyAccessExpression 1069000 1069016 + Identifier 1069000 1069010 + Identifier 1069011 1069016 + IfStatement 1069020 1069263 + BinaryExpression 1069034 1069049 + Identifier 1069034 1069044 + GreaterThanEqualsToken 1069044 1069047 + NumericLiteral 1069047 1069049 + Block 1069050 1069263 + ReturnStatement 1069052 1069252 + ConditionalExpression 1069072 1069251 + CallExpression 1069072 1069102 + Identifier 1069072 1069095 + Identifier 1069096 1069101 + QuestionToken 1069102 1069104 + CallExpression 1069104 1069222 + Identifier 1069104 1069129 + ElementAccessExpression 1069130 1069147 + Identifier 1069130 1069135 + Identifier 1069136 1069146 + ArrowFunction 1069148 1069221 + Parameter 1069148 1069150 + Identifier 1069148 1069150 + EqualsGreaterThanToken 1069150 1069153 + CallExpression 1069153 1069221 + Identifier 1069153 1069176 + Identifier 1069177 1069182 + CallExpression 1069183 1069220 + Identifier 1069183 1069198 + Identifier 1069199 1069204 + Identifier 1069205 1069216 + Identifier 1069217 1069219 + ColonToken 1069222 1069224 + Identifier 1069224 1069251 + IfStatement 1069263 1069354 + CallExpression 1069277 1069306 + Identifier 1069277 1069285 + Identifier 1069286 1069291 + Identifier 1069292 1069305 + Block 1069307 1069354 + ReturnStatement 1069309 1069343 + Identifier 1069329 1069342 + VariableStatement 1069354 1069392 + VariableDeclarationList 1069354 1069391 + VariableDeclaration 1069369 1069391 + Identifier 1069369 1069378 + ArrayType 1069379 1069386 + TypeReference 1069379 1069384 + Identifier 1069379 1069384 + ArrayLiteralExpression 1069388 1069391 + VariableStatement 1069392 1069432 + VariableDeclarationList 1069392 1069431 + VariableDeclaration 1069407 1069431 + Identifier 1069407 1069416 + ArrayType 1069417 1069426 + StringKeyword 1069417 1069424 + ArrayLiteralExpression 1069428 1069431 + VariableStatement 1069432 1069462 + VariableDeclarationList 1069432 1069461 + VariableDeclaration 1069445 1069461 + Identifier 1069445 1069450 + ElementAccessExpression 1069452 1069461 + Identifier 1069452 1069458 + NumericLiteral 1069459 1069460 + IfStatement 1069462 1069545 + PrefixUnaryExpression 1069476 1069499 + CallExpression 1069477 1069499 + Identifier 1069477 1069485 + Identifier 1069486 1069491 + Identifier 1069492 1069498 + Block 1069500 1069545 + ReturnStatement 1069502 1069534 + Identifier 1069522 1069533 + IfStatement 1069545 1069642 + BinaryExpression 1069559 1069580 + PropertyAccessExpression 1069559 1069574 + Identifier 1069559 1069567 + Identifier 1069568 1069574 + EqualsEqualsEqualsToken 1069574 1069578 + NumericLiteral 1069578 1069580 + Block 1069581 1069642 + ReturnStatement 1069583 1069631 + CallExpression 1069603 1069630 + Identifier 1069603 1069624 + Identifier 1069625 1069629 + ExpressionStatement 1069642 1069672 + CallExpression 1069642 1069671 + PropertyAccessExpression 1069642 1069665 + Identifier 1069642 1069660 + Identifier 1069661 1069665 + Identifier 1069666 1069670 + IfStatement 1069672 1070047 + CallExpression 1069686 1069716 + Identifier 1069686 1069691 + Identifier 1069692 1069700 + ArrowFunction 1069701 1069715 + Parameter 1069701 1069703 + Identifier 1069701 1069703 + EqualsGreaterThanToken 1069703 1069706 + BinaryExpression 1069706 1069715 + Identifier 1069706 1069708 + EqualsEqualsEqualsToken 1069708 1069712 + StringLiteral 1069712 1069715 + Block 1069717 1070047 + IfStatement 1069719 1069843 + CallExpression 1069737 1069789 + Identifier 1069737 1069742 + Identifier 1069743 1069751 + ArrowFunction 1069752 1069788 + Parameter 1069752 1069754 + Identifier 1069752 1069754 + EqualsGreaterThanToken 1069754 1069757 + PrefixUnaryExpression 1069757 1069788 + PrefixUnaryExpression 1069759 1069788 + ParenthesizedExpression 1069760 1069788 + BinaryExpression 1069761 1069787 + PropertyAccessExpression 1069761 1069768 + Identifier 1069761 1069762 + Identifier 1069763 1069768 + AmpersandToken 1069768 1069770 + PropertyAccessExpression 1069770 1069787 + Identifier 1069770 1069780 + Identifier 1069781 1069787 + Block 1069790 1069843 + ReturnStatement 1069792 1069828 + Identifier 1069816 1069827 + IfStatement 1069843 1070036 + BinaryExpression 1069923 1069981 + BinaryExpression 1069923 1069944 + PropertyAccessExpression 1069923 1069938 + Identifier 1069923 1069931 + Identifier 1069932 1069938 + EqualsEqualsEqualsToken 1069938 1069942 + NumericLiteral 1069942 1069944 + AmpersandAmpersandToken 1069944 1069947 + CallExpression 1069947 1069981 + Identifier 1069947 1069968 + ElementAccessExpression 1069969 1069980 + Identifier 1069969 1069977 + NumericLiteral 1069978 1069979 + Block 1069982 1070036 + ReturnStatement 1069984 1070021 + ElementAccessExpression 1070008 1070020 + Identifier 1070008 1070017 + NumericLiteral 1070018 1070019 + VariableStatement 1070047 1070160 + VariableDeclarationList 1070047 1070159 + VariableDeclaration 1070062 1070159 + Identifier 1070062 1070065 + TemplateExpression 1070067 1070159 + TemplateHead 1070067 1070071 + TemplateSpan 1070071 1070098 + CallExpression 1070071 1070094 + Identifier 1070071 1070084 + Identifier 1070085 1070093 + TemplateMiddle 1070094 1070098 + TemplateSpan 1070098 1070140 + CallExpression 1070098 1070136 + PropertyAccessExpression 1070098 1070131 + CallExpression 1070098 1070126 + Identifier 1070098 1070101 + Identifier 1070102 1070110 + ArrowFunction 1070111 1070125 + Parameter 1070111 1070113 + Identifier 1070111 1070113 + EqualsGreaterThanToken 1070113 1070116 + PropertyAccessExpression 1070116 1070125 + Identifier 1070116 1070118 + Identifier 1070119 1070125 + Identifier 1070127 1070131 + StringLiteral 1070132 1070135 + TemplateMiddle 1070136 1070140 + TemplateSpan 1070140 1070159 + CallExpression 1070140 1070157 + PropertyAccessExpression 1070140 1070153 + Identifier 1070140 1070148 + Identifier 1070149 1070153 + StringLiteral 1070154 1070156 + TemplateTail 1070157 1070159 + VariableStatement 1070160 1070210 + VariableDeclarationList 1070160 1070209 + VariableDeclaration 1070173 1070209 + Identifier 1070173 1070178 + CallExpression 1070180 1070209 + PropertyAccessExpression 1070180 1070205 + Identifier 1070180 1070201 + Identifier 1070202 1070205 + Identifier 1070206 1070208 + IfStatement 1070210 1070340 + PrefixUnaryExpression 1070224 1070229 + Identifier 1070225 1070229 + Block 1070230 1070340 + ExpressionStatement 1070232 1070329 + CallExpression 1070232 1070328 + PropertyAccessExpression 1070232 1070270 + Identifier 1070232 1070266 + Identifier 1070267 1070270 + Identifier 1070271 1070273 + BinaryExpression 1070274 1070327 + Identifier 1070274 1070279 + EqualsToken 1070279 1070281 + CallExpression 1070281 1070327 + Identifier 1070281 1070307 + Identifier 1070308 1070316 + Identifier 1070317 1070326 + ReturnStatement 1070340 1070362 + Identifier 1070356 1070361 + FunctionDeclaration 1070362 1071434 + Identifier 1070382 1070391 + Parameter 1070392 1070416 + Identifier 1070392 1070397 + TypeOperator 1070398 1070416 + ArrayType 1070407 1070416 + StringKeyword 1070407 1070414 + Parameter 1070417 1070440 + Identifier 1070417 1070423 + TypeOperator 1070424 1070440 + ArrayType 1070433 1070440 + TypeReference 1070433 1070438 + Identifier 1070433 1070438 + BooleanKeyword 1070442 1070450 + Block 1070450 1071434 + ForStatement 1070452 1071397 + VariableDeclarationList 1070471 1070480 + VariableDeclaration 1070474 1070480 + Identifier 1070474 1070476 + NumericLiteral 1070478 1070480 + BinaryExpression 1070481 1070498 + Identifier 1070481 1070483 + LessThanToken 1070483 1070485 + PropertyAccessExpression 1070485 1070498 + Identifier 1070485 1070491 + Identifier 1070492 1070498 + PostfixUnaryExpression 1070499 1070503 + Identifier 1070499 1070501 + Block 1070504 1071397 + VariableStatement 1070506 1070543 + VariableDeclarationList 1070506 1070542 + VariableDeclaration 1070529 1070542 + Identifier 1070529 1070531 + ElementAccessExpression 1070533 1070542 + Identifier 1070533 1070539 + Identifier 1070540 1070541 + IfStatement 1070543 1071382 + BinaryExpression 1070565 1070633 + PropertyAccessExpression 1070565 1070572 + Identifier 1070565 1070566 + Identifier 1070567 1070572 + AmpersandToken 1070572 1070574 + ParenthesizedExpression 1070574 1070633 + BinaryExpression 1070576 1070632 + BinaryExpression 1070576 1070610 + PropertyAccessExpression 1070576 1070593 + Identifier 1070576 1070585 + Identifier 1070586 1070593 + BarToken 1070593 1070595 + PropertyAccessExpression 1070595 1070610 + Identifier 1070595 1070605 + Identifier 1070606 1070610 + BarToken 1070610 1070612 + PropertyAccessExpression 1070612 1070632 + Identifier 1070612 1070622 + Identifier 1070623 1070632 + Block 1070634 1070762 + ExpressionStatement 1070636 1070700 + BinaryExpression 1070636 1070699 + Identifier 1070636 1070662 + PlusEqualsToken 1070662 1070665 + BinaryExpression 1070665 1070699 + CallExpression 1070665 1070693 + Identifier 1070665 1070690 + Identifier 1070691 1070692 + BarBarToken 1070693 1070696 + StringLiteral 1070696 1070699 + ExpressionStatement 1070700 1070743 + BinaryExpression 1070700 1070742 + Identifier 1070700 1070726 + PlusEqualsToken 1070726 1070729 + ElementAccessExpression 1070729 1070742 + Identifier 1070729 1070735 + BinaryExpression 1070736 1070741 + Identifier 1070736 1070737 + PlusToken 1070737 1070739 + NumericLiteral 1070739 1070741 + IfStatement 1070784 1071382 + BinaryExpression 1070789 1070824 + PropertyAccessExpression 1070789 1070796 + Identifier 1070789 1070790 + Identifier 1070791 1070796 + AmpersandToken 1070796 1070798 + PropertyAccessExpression 1070798 1070824 + Identifier 1070798 1070808 + Identifier 1070809 1070824 + Block 1070825 1071073 + ExpressionStatement 1070827 1070893 + BinaryExpression 1070827 1070892 + Identifier 1070827 1070853 + PlusEqualsToken 1070853 1070856 + ElementAccessExpression 1070856 1070892 + PropertyAccessExpression 1070856 1070889 + ParenthesizedExpression 1070856 1070883 + AsExpression 1070858 1070882 + Identifier 1070858 1070859 + TypeReference 1070862 1070882 + Identifier 1070862 1070882 + Identifier 1070884 1070889 + NumericLiteral 1070890 1070891 + IfStatement 1070893 1071011 + PrefixUnaryExpression 1070919 1070996 + CallExpression 1070920 1070996 + Identifier 1070920 1070928 + PropertyAccessExpression 1070929 1070961 + ParenthesizedExpression 1070929 1070955 + AsExpression 1070930 1070954 + Identifier 1070930 1070931 + TypeReference 1070934 1070954 + Identifier 1070934 1070954 + Identifier 1070956 1070961 + PropertyAccessExpression 1070962 1070995 + ParenthesizedExpression 1070962 1070989 + AsExpression 1070964 1070988 + Identifier 1070964 1070965 + TypeReference 1070968 1070988 + Identifier 1070968 1070988 + Identifier 1070990 1070995 + ReturnStatement 1070997 1071011 + FalseKeyword 1071004 1071010 + ExpressionStatement 1071011 1071054 + BinaryExpression 1071011 1071053 + Identifier 1071011 1071037 + PlusEqualsToken 1071037 1071040 + ElementAccessExpression 1071040 1071053 + Identifier 1071040 1071046 + BinaryExpression 1071047 1071052 + Identifier 1071047 1071048 + PlusToken 1071048 1071050 + NumericLiteral 1071050 1071052 + IfStatement 1071095 1071382 + BinaryExpression 1071100 1071159 + CallExpression 1071100 1071121 + Identifier 1071100 1071118 + Identifier 1071119 1071120 + BarBarToken 1071121 1071124 + CallExpression 1071124 1071159 + Identifier 1071124 1071156 + Identifier 1071157 1071158 + Block 1071160 1071304 + ExpressionStatement 1071162 1071201 + CallExpression 1071162 1071200 + PropertyAccessExpression 1071162 1071197 + Identifier 1071162 1071192 + Identifier 1071193 1071197 + Identifier 1071198 1071199 + ExpressionStatement 1071201 1071243 + CallExpression 1071201 1071242 + PropertyAccessExpression 1071201 1071236 + Identifier 1071201 1071231 + Identifier 1071232 1071236 + Identifier 1071237 1071241 + ExpressionStatement 1071243 1071285 + BinaryExpression 1071243 1071284 + Identifier 1071243 1071269 + EqualsToken 1071269 1071271 + ElementAccessExpression 1071271 1071284 + Identifier 1071271 1071277 + BinaryExpression 1071278 1071283 + Identifier 1071278 1071279 + PlusToken 1071279 1071281 + NumericLiteral 1071281 1071283 + Block 1071326 1071382 + ReturnStatement 1071328 1071363 + FalseKeyword 1071356 1071362 + ReturnStatement 1071397 1071423 + TrueKeyword 1071417 1071422 + FunctionDeclaration 1071441 1071937 + Identifier 1071457 1071482 + Parameter 1071483 1071493 + Identifier 1071483 1071487 + TypeReference 1071488 1071493 + Identifier 1071488 1071493 + Block 1071494 1071937 + ReturnStatement 1071496 1071930 + ConditionalExpression 1071512 1071929 + BinaryExpression 1071512 1071549 + PropertyAccessExpression 1071512 1071523 + Identifier 1071512 1071517 + Identifier 1071518 1071523 + AmpersandToken 1071523 1071525 + PropertyAccessExpression 1071525 1071549 + Identifier 1071525 1071535 + Identifier 1071536 1071549 + QuestionToken 1071549 1071551 + PropertyAccessExpression 1071551 1071585 + ParenthesizedExpression 1071551 1071579 + AsExpression 1071553 1071578 + Identifier 1071553 1071557 + TypeReference 1071560 1071578 + Identifier 1071560 1071578 + Identifier 1071580 1071585 + ColonToken 1071585 1071587 + ConditionalExpression 1071587 1071929 + BinaryExpression 1071587 1071637 + PropertyAccessExpression 1071587 1071611 + Identifier 1071587 1071605 + Identifier 1071606 1071611 + AmpersandToken 1071611 1071613 + PropertyAccessExpression 1071613 1071637 + Identifier 1071613 1071623 + Identifier 1071624 1071637 + QuestionToken 1071637 1071639 + BinaryExpression 1071639 1071678 + StringLiteral 1071639 1071642 + PlusToken 1071642 1071644 + PropertyAccessExpression 1071644 1071678 + ParenthesizedExpression 1071644 1071672 + AsExpression 1071646 1071671 + Identifier 1071646 1071650 + TypeReference 1071653 1071671 + Identifier 1071653 1071671 + Identifier 1071673 1071678 + ColonToken 1071678 1071680 + ConditionalExpression 1071680 1071929 + BinaryExpression 1071680 1071730 + PropertyAccessExpression 1071680 1071704 + Identifier 1071680 1071698 + Identifier 1071699 1071704 + AmpersandToken 1071704 1071706 + PropertyAccessExpression 1071706 1071730 + Identifier 1071706 1071716 + Identifier 1071717 1071730 + QuestionToken 1071730 1071732 + CallExpression 1071732 1071788 + Identifier 1071732 1071753 + PropertyAccessExpression 1071754 1071787 + ParenthesizedExpression 1071754 1071781 + AsExpression 1071755 1071780 + Identifier 1071755 1071759 + TypeReference 1071762 1071780 + Identifier 1071762 1071780 + Identifier 1071782 1071787 + ColonToken 1071788 1071790 + ConditionalExpression 1071790 1071929 + BinaryExpression 1071790 1071864 + PropertyAccessExpression 1071790 1071814 + Identifier 1071790 1071808 + Identifier 1071809 1071814 + AmpersandToken 1071814 1071816 + ParenthesizedExpression 1071816 1071864 + BinaryExpression 1071818 1071863 + PropertyAccessExpression 1071818 1071842 + Identifier 1071818 1071827 + Identifier 1071828 1071842 + BarToken 1071842 1071844 + PropertyAccessExpression 1071844 1071863 + Identifier 1071844 1071854 + Identifier 1071855 1071863 + QuestionToken 1071864 1071866 + PropertyAccessExpression 1071866 1071904 + ParenthesizedExpression 1071866 1071890 + AsExpression 1071868 1071889 + Identifier 1071868 1071872 + TypeReference 1071875 1071889 + Identifier 1071875 1071889 + Identifier 1071891 1071904 + ColonToken 1071904 1071906 + Identifier 1071906 1071929 + FunctionDeclaration 1071937 1072202 + Identifier 1071953 1071979 + Parameter 1071980 1072004 + Identifier 1071980 1071985 + TypeOperator 1071986 1072004 + ArrayType 1071995 1072004 + StringKeyword 1071995 1072002 + Parameter 1072005 1072028 + Identifier 1072005 1072011 + TypeOperator 1072012 1072028 + ArrayType 1072021 1072028 + TypeReference 1072021 1072026 + Identifier 1072021 1072026 + Block 1072029 1072202 + VariableStatement 1072031 1072115 + VariableDeclarationList 1072031 1072114 + VariableDeclaration 1072046 1072114 + Identifier 1072046 1072051 + AsExpression 1072053 1072114 + CallExpression 1072053 1072091 + Identifier 1072053 1072064 + PropertyAccessExpression 1072065 1072090 + Identifier 1072065 1072074 + Identifier 1072075 1072090 + TypeReference 1072094 1072114 + Identifier 1072094 1072114 + ExpressionStatement 1072115 1072144 + BinaryExpression 1072115 1072143 + PropertyAccessExpression 1072115 1072135 + Identifier 1072115 1072129 + Identifier 1072130 1072135 + EqualsToken 1072135 1072137 + Identifier 1072137 1072143 + ExpressionStatement 1072144 1072173 + BinaryExpression 1072144 1072172 + PropertyAccessExpression 1072144 1072164 + Identifier 1072144 1072158 + Identifier 1072159 1072164 + EqualsToken 1072164 1072166 + Identifier 1072166 1072172 + ReturnStatement 1072173 1072195 + Identifier 1072189 1072194 + FunctionDeclaration 1072202 1073271 + Identifier 1072218 1072239 + Parameter 1072240 1072254 + Identifier 1072240 1072246 + TypeReference 1072247 1072254 + Identifier 1072247 1072254 + Parameter 1072255 1072266 + Identifier 1072255 1072260 + TypeReference 1072261 1072266 + Identifier 1072261 1072266 + TypeReference 1072268 1072273 + Identifier 1072268 1072273 + Block 1072273 1073271 + ReturnStatement 1072275 1073264 + ConditionalExpression 1072291 1073263 + BinaryExpression 1072291 1072340 + PropertyAccessExpression 1072291 1072302 + Identifier 1072291 1072296 + Identifier 1072297 1072302 + AmpersandToken 1072302 1072304 + ParenthesizedExpression 1072304 1072340 + BinaryExpression 1072306 1072339 + PropertyAccessExpression 1072306 1072321 + Identifier 1072306 1072315 + Identifier 1072316 1072321 + BarToken 1072321 1072323 + PropertyAccessExpression 1072323 1072339 + Identifier 1072323 1072333 + Identifier 1072334 1072339 + QuestionToken 1072340 1072342 + CallExpression 1072342 1072394 + Identifier 1072342 1072350 + Identifier 1072351 1072355 + ArrowFunction 1072356 1072393 + Parameter 1072356 1072358 + Identifier 1072356 1072358 + EqualsGreaterThanToken 1072358 1072361 + CallExpression 1072361 1072393 + Identifier 1072361 1072382 + Identifier 1072383 1072389 + Identifier 1072390 1072392 + ColonToken 1072394 1072396 + ConditionalExpression 1072396 1073263 + BinaryExpression 1072396 1072446 + PropertyAccessExpression 1072396 1072420 + Identifier 1072396 1072414 + Identifier 1072415 1072420 + AmpersandToken 1072420 1072422 + PropertyAccessExpression 1072422 1072446 + Identifier 1072422 1072432 + Identifier 1072433 1072446 + QuestionToken 1072446 1072448 + CallExpression 1072448 1072532 + Identifier 1072448 1072469 + CallExpression 1072470 1072531 + Identifier 1072470 1072488 + Identifier 1072489 1072495 + PropertyAccessExpression 1072496 1072530 + ParenthesizedExpression 1072496 1072524 + AsExpression 1072498 1072523 + Identifier 1072498 1072502 + TypeReference 1072505 1072523 + Identifier 1072505 1072523 + Identifier 1072525 1072530 + ColonToken 1072532 1072534 + ConditionalExpression 1072534 1073263 + BinaryExpression 1072534 1072586 + PropertyAccessExpression 1072534 1072558 + Identifier 1072534 1072552 + Identifier 1072553 1072558 + AmpersandToken 1072558 1072560 + PropertyAccessExpression 1072560 1072586 + Identifier 1072560 1072570 + Identifier 1072571 1072586 + QuestionToken 1072586 1072588 + CallExpression 1072588 1072724 + Identifier 1072588 1072611 + SpreadElement 1072612 1072723 + CallExpression 1072615 1072723 + Identifier 1072615 1072641 + Identifier 1072642 1072648 + PropertyAccessExpression 1072649 1072685 + ParenthesizedExpression 1072649 1072679 + AsExpression 1072651 1072678 + Identifier 1072651 1072655 + TypeReference 1072658 1072678 + Identifier 1072658 1072678 + Identifier 1072680 1072685 + PropertyAccessExpression 1072686 1072722 + ParenthesizedExpression 1072686 1072716 + AsExpression 1072688 1072715 + Identifier 1072688 1072692 + TypeReference 1072695 1072715 + Identifier 1072695 1072715 + Identifier 1072717 1072722 + ColonToken 1072724 1072726 + ConditionalExpression 1072726 1073263 + BinaryExpression 1072726 1072853 + BinaryExpression 1072726 1072827 + PropertyAccessExpression 1072726 1072801 + Identifier 1072726 1072795 + Identifier 1072796 1072801 + AmpersandToken 1072801 1072803 + PropertyAccessExpression 1072803 1072827 + Identifier 1072803 1072813 + Identifier 1072814 1072827 + AmpersandAmpersandToken 1072827 1072830 + BinaryExpression 1072830 1072853 + Identifier 1072830 1072837 + EqualsEqualsEqualsToken 1072837 1072841 + PropertyAccessExpression 1072841 1072853 + Identifier 1072841 1072846 + Identifier 1072847 1072853 + QuestionToken 1072853 1072855 + Identifier 1072855 1072860 + ColonToken 1072860 1072862 + ConditionalExpression 1072862 1073263 + BinaryExpression 1072862 1072977 + BinaryExpression 1072862 1072949 + PropertyAccessExpression 1072862 1072886 + Identifier 1072862 1072880 + Identifier 1072881 1072886 + AmpersandToken 1072886 1072888 + ParenthesizedExpression 1072888 1072949 + BinaryExpression 1072890 1072948 + BinaryExpression 1072890 1072922 + PropertyAccessExpression 1072890 1072903 + Identifier 1072890 1072899 + Identifier 1072900 1072903 + BarToken 1072903 1072905 + PropertyAccessExpression 1072905 1072922 + Identifier 1072905 1072915 + Identifier 1072916 1072922 + BarToken 1072922 1072924 + PropertyAccessExpression 1072924 1072948 + Identifier 1072924 1072934 + Identifier 1072935 1072948 + BarBarToken 1072949 1072952 + CallExpression 1072952 1072977 + Identifier 1072952 1072971 + Identifier 1072972 1072976 + QuestionToken 1072977 1072979 + CallExpression 1072979 1073028 + Identifier 1072979 1073014 + Identifier 1073015 1073021 + Identifier 1073022 1073027 + ColonToken 1073028 1073030 + ConditionalExpression 1073030 1073263 + CallExpression 1073030 1073156 + Identifier 1073030 1073150 + Identifier 1073151 1073155 + QuestionToken 1073156 1073158 + CallExpression 1073158 1073243 + Identifier 1073158 1073193 + Identifier 1073194 1073200 + CallExpression 1073201 1073242 + Identifier 1073201 1073224 + ArrayLiteralExpression 1073225 1073233 + StringLiteral 1073226 1073228 + StringLiteral 1073229 1073232 + ArrayLiteralExpression 1073234 1073241 + Identifier 1073236 1073240 + ColonToken 1073243 1073245 + Identifier 1073245 1073263 + FunctionDeclaration 1073271 1073863 + Identifier 1073287 1073306 + Parameter 1073307 1073321 + Identifier 1073307 1073313 + TypeReference 1073314 1073321 + Identifier 1073314 1073321 + Parameter 1073322 1073334 + Identifier 1073322 1073326 + StringKeyword 1073327 1073334 + Block 1073335 1073863 + SwitchStatement 1073337 1073835 + CallExpression 1073355 1073407 + PropertyAccessExpression 1073355 1073377 + Identifier 1073355 1073373 + Identifier 1073374 1073377 + AsExpression 1073378 1073406 + PropertyAccessExpression 1073378 1073396 + Identifier 1073378 1073384 + Identifier 1073385 1073396 + StringKeyword 1073399 1073406 + CaseBlock 1073408 1073835 + CaseClause 1073410 1073500 + PropertyAccessExpression 1073428 1073456 + Identifier 1073428 1073446 + Identifier 1073447 1073456 + ReturnStatement 1073457 1073500 + CallExpression 1073481 1073499 + PropertyAccessExpression 1073481 1073497 + Identifier 1073481 1073485 + Identifier 1073486 1073497 + CaseClause 1073500 1073590 + PropertyAccessExpression 1073518 1073546 + Identifier 1073518 1073536 + Identifier 1073537 1073546 + ReturnStatement 1073547 1073590 + CallExpression 1073571 1073589 + PropertyAccessExpression 1073571 1073587 + Identifier 1073571 1073575 + Identifier 1073576 1073587 + CaseClause 1073590 1073706 + PropertyAccessExpression 1073608 1073637 + Identifier 1073608 1073626 + Identifier 1073627 1073637 + ReturnStatement 1073638 1073706 + BinaryExpression 1073662 1073705 + CallExpression 1073662 1073690 + PropertyAccessExpression 1073662 1073688 + CallExpression 1073662 1073676 + PropertyAccessExpression 1073662 1073673 + Identifier 1073662 1073666 + Identifier 1073667 1073673 + NumericLiteral 1073674 1073675 + Identifier 1073677 1073688 + PlusToken 1073690 1073692 + CallExpression 1073692 1073705 + PropertyAccessExpression 1073692 1073702 + Identifier 1073692 1073696 + Identifier 1073697 1073702 + NumericLiteral 1073703 1073704 + CaseClause 1073706 1073824 + PropertyAccessExpression 1073724 1073755 + Identifier 1073724 1073742 + Identifier 1073743 1073755 + ReturnStatement 1073756 1073824 + BinaryExpression 1073780 1073823 + CallExpression 1073780 1073808 + PropertyAccessExpression 1073780 1073806 + CallExpression 1073780 1073794 + PropertyAccessExpression 1073780 1073791 + Identifier 1073780 1073784 + Identifier 1073785 1073791 + NumericLiteral 1073792 1073793 + Identifier 1073795 1073806 + PlusToken 1073808 1073810 + CallExpression 1073810 1073823 + PropertyAccessExpression 1073810 1073820 + Identifier 1073810 1073814 + Identifier 1073815 1073820 + NumericLiteral 1073821 1073822 + ReturnStatement 1073835 1073856 + Identifier 1073851 1073855 + FunctionDeclaration 1073863 1074985 + Identifier 1073879 1073906 + Parameter 1073907 1073921 + Identifier 1073907 1073913 + TypeReference 1073914 1073921 + Identifier 1073914 1073921 + Parameter 1073922 1073947 + Identifier 1073922 1073928 + TypeOperator 1073929 1073947 + ArrayType 1073938 1073947 + StringKeyword 1073938 1073945 + Parameter 1073948 1073971 + Identifier 1073948 1073954 + TypeOperator 1073955 1073971 + ArrayType 1073964 1073971 + TypeReference 1073964 1073969 + Identifier 1073964 1073969 + TupleType 1073973 1074024 + NamedTupleMember 1073975 1073999 + Identifier 1073975 1073980 + TypeOperator 1073981 1073999 + ArrayType 1073990 1073999 + StringKeyword 1073990 1073997 + NamedTupleMember 1074000 1074023 + Identifier 1074000 1074006 + TypeOperator 1074007 1074023 + ArrayType 1074016 1074023 + TypeReference 1074016 1074021 + Identifier 1074016 1074021 + Block 1074024 1074985 + SwitchStatement 1074026 1074946 + CallExpression 1074044 1074096 + PropertyAccessExpression 1074044 1074066 + Identifier 1074044 1074062 + Identifier 1074063 1074066 + AsExpression 1074067 1074095 + PropertyAccessExpression 1074067 1074085 + Identifier 1074067 1074073 + Identifier 1074074 1074085 + StringKeyword 1074088 1074095 + CaseBlock 1074097 1074946 + CaseClause 1074099 1074254 + PropertyAccessExpression 1074117 1074145 + Identifier 1074117 1074135 + Identifier 1074136 1074145 + ReturnStatement 1074146 1074254 + ArrayLiteralExpression 1074170 1074253 + CallExpression 1074172 1074203 + PropertyAccessExpression 1074172 1074181 + Identifier 1074172 1074177 + Identifier 1074178 1074181 + ArrowFunction 1074182 1074202 + Parameter 1074182 1074183 + Identifier 1074182 1074183 + EqualsGreaterThanToken 1074183 1074186 + CallExpression 1074186 1074202 + PropertyAccessExpression 1074186 1074200 + Identifier 1074186 1074188 + Identifier 1074189 1074200 + CallExpression 1074204 1074252 + PropertyAccessExpression 1074204 1074214 + Identifier 1074204 1074210 + Identifier 1074211 1074214 + ArrowFunction 1074215 1074251 + Parameter 1074215 1074216 + Identifier 1074215 1074216 + EqualsGreaterThanToken 1074216 1074219 + CallExpression 1074219 1074251 + Identifier 1074219 1074240 + Identifier 1074241 1074247 + Identifier 1074248 1074250 + CaseClause 1074254 1074409 + PropertyAccessExpression 1074272 1074300 + Identifier 1074272 1074290 + Identifier 1074291 1074300 + ReturnStatement 1074301 1074409 + ArrayLiteralExpression 1074325 1074408 + CallExpression 1074327 1074358 + PropertyAccessExpression 1074327 1074336 + Identifier 1074327 1074332 + Identifier 1074333 1074336 + ArrowFunction 1074337 1074357 + Parameter 1074337 1074338 + Identifier 1074337 1074338 + EqualsGreaterThanToken 1074338 1074341 + CallExpression 1074341 1074357 + PropertyAccessExpression 1074341 1074355 + Identifier 1074341 1074343 + Identifier 1074344 1074355 + CallExpression 1074359 1074407 + PropertyAccessExpression 1074359 1074369 + Identifier 1074359 1074365 + Identifier 1074366 1074369 + ArrowFunction 1074370 1074406 + Parameter 1074370 1074371 + Identifier 1074370 1074371 + EqualsGreaterThanToken 1074371 1074374 + CallExpression 1074374 1074406 + Identifier 1074374 1074395 + Identifier 1074396 1074402 + Identifier 1074403 1074405 + CaseClause 1074409 1074671 + PropertyAccessExpression 1074427 1074456 + Identifier 1074427 1074445 + Identifier 1074446 1074456 + ReturnStatement 1074457 1074671 + ArrayLiteralExpression 1074481 1074670 + ConditionalExpression 1074483 1074582 + BinaryExpression 1074483 1074498 + ElementAccessExpression 1074483 1074491 + Identifier 1074483 1074488 + NumericLiteral 1074489 1074490 + EqualsEqualsEqualsToken 1074491 1074495 + StringLiteral 1074495 1074498 + QuestionToken 1074498 1074500 + Identifier 1074500 1074506 + ColonToken 1074506 1074508 + ArrayLiteralExpression 1074508 1074582 + BinaryExpression 1074510 1074562 + CallExpression 1074510 1074542 + PropertyAccessExpression 1074510 1074540 + CallExpression 1074510 1074528 + PropertyAccessExpression 1074510 1074525 + ElementAccessExpression 1074510 1074518 + Identifier 1074510 1074515 + NumericLiteral 1074516 1074517 + Identifier 1074519 1074525 + NumericLiteral 1074526 1074527 + Identifier 1074529 1074540 + PlusToken 1074542 1074544 + CallExpression 1074544 1074562 + PropertyAccessExpression 1074544 1074559 + ElementAccessExpression 1074544 1074553 + Identifier 1074544 1074550 + NumericLiteral 1074551 1074552 + Identifier 1074554 1074559 + NumericLiteral 1074560 1074561 + SpreadElement 1074563 1074581 + CallExpression 1074567 1074581 + PropertyAccessExpression 1074567 1074578 + Identifier 1074567 1074572 + Identifier 1074573 1074578 + NumericLiteral 1074579 1074580 + ConditionalExpression 1074583 1074669 + BinaryExpression 1074583 1074599 + ElementAccessExpression 1074583 1074592 + Identifier 1074583 1074589 + NumericLiteral 1074590 1074591 + EqualsEqualsEqualsToken 1074592 1074596 + StringLiteral 1074596 1074599 + QuestionToken 1074599 1074601 + ArrayLiteralExpression 1074601 1074661 + CallExpression 1074603 1074641 + Identifier 1074603 1074623 + Identifier 1074624 1074630 + ElementAccessExpression 1074631 1074640 + Identifier 1074631 1074637 + NumericLiteral 1074638 1074639 + SpreadElement 1074642 1074660 + CallExpression 1074646 1074660 + PropertyAccessExpression 1074646 1074657 + Identifier 1074646 1074651 + Identifier 1074652 1074657 + NumericLiteral 1074658 1074659 + ColonToken 1074661 1074663 + Identifier 1074663 1074669 + CaseClause 1074671 1074935 + PropertyAccessExpression 1074689 1074720 + Identifier 1074689 1074707 + Identifier 1074708 1074720 + ReturnStatement 1074721 1074935 + ArrayLiteralExpression 1074745 1074934 + ConditionalExpression 1074747 1074846 + BinaryExpression 1074747 1074762 + ElementAccessExpression 1074747 1074755 + Identifier 1074747 1074752 + NumericLiteral 1074753 1074754 + EqualsEqualsEqualsToken 1074755 1074759 + StringLiteral 1074759 1074762 + QuestionToken 1074762 1074764 + Identifier 1074764 1074770 + ColonToken 1074770 1074772 + ArrayLiteralExpression 1074772 1074846 + BinaryExpression 1074774 1074826 + CallExpression 1074774 1074806 + PropertyAccessExpression 1074774 1074804 + CallExpression 1074774 1074792 + PropertyAccessExpression 1074774 1074789 + ElementAccessExpression 1074774 1074782 + Identifier 1074774 1074779 + NumericLiteral 1074780 1074781 + Identifier 1074783 1074789 + NumericLiteral 1074790 1074791 + Identifier 1074793 1074804 + PlusToken 1074806 1074808 + CallExpression 1074808 1074826 + PropertyAccessExpression 1074808 1074823 + ElementAccessExpression 1074808 1074817 + Identifier 1074808 1074814 + NumericLiteral 1074815 1074816 + Identifier 1074818 1074823 + NumericLiteral 1074824 1074825 + SpreadElement 1074827 1074845 + CallExpression 1074831 1074845 + PropertyAccessExpression 1074831 1074842 + Identifier 1074831 1074836 + Identifier 1074837 1074842 + NumericLiteral 1074843 1074844 + ConditionalExpression 1074847 1074933 + BinaryExpression 1074847 1074863 + ElementAccessExpression 1074847 1074856 + Identifier 1074847 1074853 + NumericLiteral 1074854 1074855 + EqualsEqualsEqualsToken 1074856 1074860 + StringLiteral 1074860 1074863 + QuestionToken 1074863 1074865 + ArrayLiteralExpression 1074865 1074925 + CallExpression 1074867 1074905 + Identifier 1074867 1074887 + Identifier 1074888 1074894 + ElementAccessExpression 1074895 1074904 + Identifier 1074895 1074901 + NumericLiteral 1074902 1074903 + SpreadElement 1074906 1074924 + CallExpression 1074910 1074924 + PropertyAccessExpression 1074910 1074921 + Identifier 1074910 1074915 + Identifier 1074916 1074921 + NumericLiteral 1074922 1074923 + ColonToken 1074925 1074927 + Identifier 1074927 1074933 + ReturnStatement 1074946 1074978 + ArrayLiteralExpression 1074962 1074977 + Identifier 1074964 1074969 + Identifier 1074970 1074976 + FunctionDeclaration 1074985 1075342 + Identifier 1075001 1075036 + Parameter 1075037 1075051 + Identifier 1075037 1075043 + TypeReference 1075044 1075051 + Identifier 1075044 1075051 + Parameter 1075052 1075063 + Identifier 1075052 1075057 + TypeReference 1075058 1075063 + Identifier 1075058 1075063 + TypeReference 1075065 1075070 + Identifier 1075065 1075070 + Block 1075070 1075342 + VariableStatement 1075072 1075137 + VariableDeclarationList 1075072 1075136 + VariableDeclaration 1075087 1075136 + Identifier 1075087 1075090 + TemplateExpression 1075092 1075136 + TemplateHead 1075092 1075096 + TemplateSpan 1075096 1075119 + CallExpression 1075096 1075115 + Identifier 1075096 1075107 + Identifier 1075108 1075114 + TemplateMiddle 1075115 1075119 + TemplateSpan 1075119 1075136 + CallExpression 1075119 1075134 + Identifier 1075119 1075128 + Identifier 1075129 1075133 + TemplateTail 1075134 1075136 + VariableStatement 1075137 1075187 + VariableDeclarationList 1075137 1075186 + VariableDeclaration 1075150 1075186 + Identifier 1075150 1075157 + CallExpression 1075159 1075186 + PropertyAccessExpression 1075159 1075182 + Identifier 1075159 1075178 + Identifier 1075179 1075182 + Identifier 1075183 1075185 + IfStatement 1075187 1075311 + PrefixUnaryExpression 1075201 1075208 + Identifier 1075202 1075208 + Block 1075209 1075311 + ExpressionStatement 1075211 1075300 + CallExpression 1075211 1075299 + PropertyAccessExpression 1075211 1075247 + Identifier 1075211 1075243 + Identifier 1075244 1075247 + Identifier 1075248 1075250 + BinaryExpression 1075251 1075298 + Identifier 1075251 1075258 + EqualsToken 1075258 1075260 + CallExpression 1075260 1075298 + Identifier 1075260 1075284 + Identifier 1075285 1075291 + Identifier 1075292 1075297 + ReturnStatement 1075311 1075335 + Identifier 1075327 1075334 + FunctionDeclaration 1075342 1075572 + Identifier 1075358 1075382 + Parameter 1075383 1075397 + Identifier 1075383 1075389 + TypeReference 1075390 1075397 + Identifier 1075390 1075397 + Parameter 1075398 1075409 + Identifier 1075398 1075403 + TypeReference 1075404 1075409 + Identifier 1075404 1075409 + Block 1075410 1075572 + VariableStatement 1075412 1075512 + VariableDeclarationList 1075412 1075511 + VariableDeclaration 1075427 1075511 + Identifier 1075427 1075434 + AsExpression 1075436 1075511 + CallExpression 1075436 1075490 + Identifier 1075436 1075457 + PropertyAccessExpression 1075458 1075481 + Identifier 1075458 1075467 + Identifier 1075468 1075481 + Identifier 1075482 1075489 + TypeReference 1075493 1075511 + Identifier 1075493 1075511 + ExpressionStatement 1075512 1075541 + BinaryExpression 1075512 1075540 + PropertyAccessExpression 1075512 1075533 + Identifier 1075512 1075528 + Identifier 1075529 1075533 + EqualsToken 1075533 1075535 + Identifier 1075535 1075540 + ReturnStatement 1075541 1075565 + Identifier 1075557 1075564 + FunctionDeclaration 1075572 1076079 + Identifier 1075588 1075612 + Parameter 1075613 1075629 + Identifier 1075613 1075623 + TypeReference 1075624 1075629 + Identifier 1075624 1075629 + Parameter 1075630 1075646 + Identifier 1075630 1075640 + TypeReference 1075641 1075646 + Identifier 1075641 1075646 + Parameter 1075647 1075672 + Identifier 1075647 1075659 + TypeReference 1075660 1075672 + Identifier 1075660 1075672 + Parameter 1075673 1075705 + Identifier 1075673 1075685 + UnionType 1075686 1075705 + TypeReference 1075686 1075693 + Identifier 1075686 1075693 + UndefinedKeyword 1075695 1075705 + Parameter 1075706 1075754 + Identifier 1075706 1075725 + UnionType 1075726 1075754 + TypeOperator 1075726 1075742 + ArrayType 1075735 1075742 + TypeReference 1075735 1075740 + Identifier 1075735 1075740 + UndefinedKeyword 1075744 1075754 + Block 1075755 1076079 + VariableStatement 1075757 1075837 + VariableDeclarationList 1075757 1075836 + VariableDeclaration 1075772 1075836 + Identifier 1075772 1075777 + AsExpression 1075779 1075836 + CallExpression 1075779 1075815 + Identifier 1075779 1075790 + PropertyAccessExpression 1075791 1075814 + Identifier 1075791 1075800 + Identifier 1075801 1075814 + TypeReference 1075818 1075836 + Identifier 1075818 1075836 + ExpressionStatement 1075837 1075876 + BinaryExpression 1075837 1075875 + PropertyAccessExpression 1075837 1075862 + Identifier 1075837 1075851 + Identifier 1075852 1075862 + EqualsToken 1075862 1075864 + Identifier 1075864 1075875 + ExpressionStatement 1075876 1075913 + BinaryExpression 1075876 1075912 + PropertyAccessExpression 1075876 1075900 + Identifier 1075876 1075890 + Identifier 1075891 1075900 + EqualsToken 1075900 1075902 + Identifier 1075902 1075912 + ExpressionStatement 1075913 1075954 + BinaryExpression 1075913 1075953 + PropertyAccessExpression 1075913 1075939 + Identifier 1075913 1075927 + Identifier 1075928 1075939 + EqualsToken 1075939 1075941 + Identifier 1075941 1075953 + ExpressionStatement 1075954 1075995 + BinaryExpression 1075954 1075994 + PropertyAccessExpression 1075954 1075980 + Identifier 1075954 1075968 + Identifier 1075969 1075980 + EqualsToken 1075980 1075982 + Identifier 1075982 1075994 + ExpressionStatement 1075995 1076050 + BinaryExpression 1075995 1076049 + PropertyAccessExpression 1075995 1076028 + Identifier 1075995 1076009 + Identifier 1076010 1076028 + EqualsToken 1076028 1076030 + Identifier 1076030 1076049 + ReturnStatement 1076050 1076072 + Identifier 1076066 1076071 + FunctionDeclaration 1076079 1077437 + Identifier 1076685 1076701 + Parameter 1076702 1076712 + Identifier 1076702 1076706 + TypeReference 1076707 1076712 + Identifier 1076707 1076712 + BooleanKeyword 1076714 1076722 + Block 1076722 1077437 + IfStatement 1076724 1076842 + Identifier 1076738 1076751 + Block 1076752 1076842 + ReturnStatement 1076754 1076781 + FalseKeyword 1076774 1076780 + IfStatement 1076842 1076940 + BinaryExpression 1076856 1076900 + CallExpression 1076856 1076876 + Identifier 1076856 1076870 + Identifier 1076871 1076875 + AmpersandToken 1076876 1076878 + PropertyAccessExpression 1076878 1076900 + Identifier 1076878 1076890 + Identifier 1076891 1076900 + Block 1076901 1076940 + ReturnStatement 1076903 1076929 + TrueKeyword 1076923 1076928 + IfStatement 1076940 1077067 + BinaryExpression 1076954 1076982 + PropertyAccessExpression 1076954 1076964 + Identifier 1076954 1076958 + Identifier 1076959 1076964 + AmpersandToken 1076964 1076966 + PropertyAccessExpression 1076966 1076982 + Identifier 1076966 1076976 + Identifier 1076977 1076982 + Block 1076983 1077067 + ReturnStatement 1076985 1077056 + CallExpression 1077005 1077055 + Identifier 1077005 1077011 + PropertyAccessExpression 1077012 1077037 + ParenthesizedExpression 1077012 1077031 + AsExpression 1077013 1077030 + Identifier 1077013 1077017 + TypeReference 1077020 1077030 + Identifier 1077020 1077030 + Identifier 1077032 1077037 + Identifier 1077038 1077054 + IfStatement 1077067 1077207 + BinaryExpression 1077081 1077116 + PropertyAccessExpression 1077081 1077091 + Identifier 1077081 1077085 + Identifier 1077086 1077091 + AmpersandToken 1077091 1077093 + PropertyAccessExpression 1077093 1077116 + Identifier 1077093 1077103 + Identifier 1077104 1077116 + Block 1077117 1077207 + ReturnStatement 1077119 1077196 + CallExpression 1077139 1077195 + Identifier 1077139 1077144 + PropertyAccessExpression 1077145 1077177 + ParenthesizedExpression 1077145 1077171 + AsExpression 1077146 1077170 + Identifier 1077146 1077150 + TypeReference 1077153 1077170 + Identifier 1077153 1077170 + Identifier 1077172 1077177 + Identifier 1077178 1077194 + IfStatement 1077207 1077407 + BinaryExpression 1077221 1077256 + PropertyAccessExpression 1077221 1077231 + Identifier 1077221 1077225 + Identifier 1077226 1077231 + AmpersandToken 1077231 1077233 + PropertyAccessExpression 1077233 1077256 + Identifier 1077233 1077243 + Identifier 1077244 1077256 + Block 1077257 1077407 + VariableStatement 1077259 1077324 + VariableDeclarationList 1077259 1077323 + VariableDeclaration 1077278 1077323 + Identifier 1077278 1077289 + CallExpression 1077291 1077323 + Identifier 1077291 1077317 + Identifier 1077318 1077322 + ReturnStatement 1077324 1077396 + BinaryExpression 1077344 1077395 + BinaryExpression 1077344 1077364 + Identifier 1077344 1077355 + ExclamationEqualsEqualsToken 1077355 1077359 + Identifier 1077359 1077364 + AmpersandAmpersandToken 1077364 1077367 + CallExpression 1077367 1077395 + Identifier 1077367 1077383 + Identifier 1077384 1077394 + ReturnStatement 1077407 1077430 + FalseKeyword 1077423 1077429 + FunctionDeclaration 1077437 1078017 + Identifier 1077453 1077478 + Parameter 1077479 1077494 + Identifier 1077479 1077488 + TypeReference 1077489 1077494 + Identifier 1077489 1077494 + Parameter 1077495 1077649 + Identifier 1077495 1077506 + UnionType 1077507 1077649 + TypeReference 1077507 1077520 + Identifier 1077507 1077520 + TypeReference 1077522 1077543 + Identifier 1077522 1077543 + TypeReference 1077545 1077565 + Identifier 1077545 1077565 + TypeReference 1077567 1077589 + Identifier 1077567 1077589 + TypeReference 1077591 1077615 + Identifier 1077591 1077615 + TypeReference 1077617 1077637 + Identifier 1077617 1077637 + UndefinedKeyword 1077639 1077649 + Block 1077650 1078017 + ReturnStatement 1077652 1078010 + ConditionalExpression 1077668 1078009 + CallExpression 1077668 1077706 + Identifier 1077668 1077695 + Identifier 1077696 1077705 + QuestionToken 1077706 1077708 + CallExpression 1077708 1077756 + Identifier 1077708 1077745 + Identifier 1077746 1077755 + ColonToken 1077756 1077758 + ConditionalExpression 1077758 1078009 + BinaryExpression 1077758 1077812 + Identifier 1077758 1077782 + AmpersandAmpersandToken 1077782 1077785 + CallExpression 1077785 1077812 + Identifier 1077785 1077800 + Identifier 1077801 1077811 + QuestionToken 1077812 1077814 + CallExpression 1077814 1077984 + Identifier 1077814 1077972 + Identifier 1077973 1077983 + ColonToken 1077984 1077986 + Identifier 1077986 1078009 + FunctionDeclaration 1078017 1078586 + Identifier 1078033 1078061 + Parameter 1078062 1078072 + Identifier 1078062 1078066 + TypeReference 1078067 1078072 + Identifier 1078067 1078072 + Parameter 1078073 1078088 + Identifier 1078073 1078080 + TypeReference 1078081 1078088 + Identifier 1078081 1078088 + Block 1078089 1078586 + IfStatement 1078091 1078557 + BinaryExpression 1078105 1078163 + PropertyAccessExpression 1078105 1078117 + Identifier 1078105 1078111 + Identifier 1078112 1078117 + AmpersandToken 1078117 1078119 + ParenthesizedExpression 1078119 1078163 + BinaryExpression 1078121 1078162 + PropertyAccessExpression 1078121 1078141 + Identifier 1078121 1078132 + Identifier 1078133 1078141 + BarToken 1078141 1078143 + PropertyAccessExpression 1078143 1078162 + Identifier 1078143 1078155 + Identifier 1078156 1078162 + Block 1078164 1078557 + VariableStatement 1078166 1078265 + VariableDeclarationList 1078166 1078264 + VariableDeclaration 1078185 1078264 + Identifier 1078185 1078192 + BinaryExpression 1078194 1078264 + CallExpression 1078194 1078249 + Identifier 1078194 1078207 + PropertyAccessExpression 1078208 1078219 + Identifier 1078208 1078212 + Identifier 1078213 1078219 + ArrowFunction 1078220 1078248 + Parameter 1078220 1078222 + Identifier 1078220 1078222 + EqualsGreaterThanToken 1078222 1078225 + PrefixUnaryExpression 1078225 1078248 + CallExpression 1078227 1078248 + Identifier 1078227 1078245 + Identifier 1078246 1078247 + BarBarToken 1078249 1078252 + PropertyAccessExpression 1078252 1078264 + Identifier 1078252 1078257 + Identifier 1078258 1078264 + IfStatement 1078265 1078443 + CallExpression 1078283 1078311 + Identifier 1078283 1078303 + Identifier 1078304 1078310 + Block 1078312 1078443 + ReturnStatement 1078314 1078428 + BinaryExpression 1078338 1078427 + BinaryExpression 1078338 1078390 + CallExpression 1078338 1078368 + Identifier 1078338 1078360 + Identifier 1078361 1078367 + AmpersandAmpersandToken 1078368 1078371 + CallExpression 1078371 1078390 + Identifier 1078371 1078384 + Identifier 1078385 1078389 + AmpersandAmpersandToken 1078390 1078393 + CallExpression 1078393 1078427 + Identifier 1078393 1078413 + Identifier 1078414 1078420 + Identifier 1078421 1078426 + ReturnStatement 1078443 1078546 + CallExpression 1078463 1078545 + Identifier 1078463 1078469 + PropertyAccessExpression 1078470 1078489 + Identifier 1078470 1078476 + Identifier 1078477 1078489 + ArrowFunction 1078490 1078544 + Parameter 1078490 1078492 + Identifier 1078490 1078492 + EqualsGreaterThanToken 1078492 1078495 + BinaryExpression 1078495 1078544 + PrefixUnaryExpression 1078495 1078514 + CallExpression 1078497 1078514 + Identifier 1078497 1078511 + Identifier 1078512 1078513 + BarBarToken 1078514 1078517 + CallExpression 1078517 1078544 + Identifier 1078517 1078541 + Identifier 1078542 1078543 + ReturnStatement 1078557 1078579 + TrueKeyword 1078573 1078578 + FunctionDeclaration 1078586 1093086 + Identifier 1078602 1078630 + Parameter 1078631 1078655 + Identifier 1078631 1078649 + TypeReference 1078650 1078655 + Identifier 1078650 1078655 + Parameter 1078656 1078673 + Identifier 1078656 1078667 + TypeReference 1078668 1078673 + Identifier 1078668 1078673 + Parameter 1078674 1078690 + Identifier 1078674 1078684 + TypeReference 1078685 1078690 + Identifier 1078685 1078690 + Parameter 1078691 1078711 + Identifier 1078691 1078705 + TypeReference 1078706 1078711 + Identifier 1078706 1078711 + Parameter 1078712 1078835 + Identifier 1078712 1078723 + UnionType 1078724 1078835 + TypeReference 1078724 1078748 + Identifier 1078724 1078748 + TypeReference 1078750 1078772 + Identifier 1078750 1078772 + TypeReference 1078774 1078787 + Identifier 1078774 1078787 + TypeReference 1078789 1078801 + Identifier 1078789 1078801 + TypeReference 1078803 1078823 + Identifier 1078803 1078823 + UndefinedKeyword 1078825 1078835 + Parameter 1078836 1078861 + Identifier 1078836 1078848 + TypeReference 1078849 1078861 + Identifier 1078849 1078861 + Block 1078862 1093086 + VariableStatement 1078864 1078993 + VariableDeclarationList 1078864 1078992 + VariableDeclaration 1078879 1078992 + Identifier 1078879 1078896 + ConditionalExpression 1078898 1078992 + BinaryExpression 1078898 1078967 + Identifier 1078898 1078909 + AmpersandAmpersandToken 1078909 1078912 + BinaryExpression 1078912 1078967 + PropertyAccessExpression 1078912 1078928 + Identifier 1078912 1078923 + Identifier 1078924 1078928 + EqualsEqualsEqualsToken 1078928 1078932 + PropertyAccessExpression 1078932 1078967 + Identifier 1078932 1078943 + Identifier 1078944 1078967 + QuestionToken 1078967 1078969 + Identifier 1078969 1078980 + ColonToken 1078980 1078982 + Identifier 1078982 1078992 + VariableStatement 1078993 1079128 + VariableDeclarationList 1078993 1079127 + VariableDeclaration 1079008 1079127 + Identifier 1079008 1079017 + ConditionalExpression 1079019 1079127 + BinaryExpression 1079019 1079065 + Identifier 1079019 1079030 + AmpersandAmpersandToken 1079030 1079033 + CallExpression 1079033 1079065 + Identifier 1079033 1079053 + Identifier 1079054 1079064 + QuestionToken 1079065 1079067 + Identifier 1079067 1079077 + ColonToken 1079077 1079079 + CallExpression 1079079 1079127 + Identifier 1079079 1079104 + Identifier 1079105 1079114 + Identifier 1079115 1079126 + IfStatement 1079128 1082696 + BinaryExpression 1079144 1079166 + Identifier 1079144 1079152 + ExclamationEqualsEqualsToken 1079152 1079156 + Identifier 1079156 1079166 + Block 1079167 1082696 + IfStatement 1079169 1079333 + BinaryExpression 1079187 1079223 + Identifier 1079187 1079198 + AmpersandToken 1079198 1079200 + PropertyAccessExpression 1079200 1079223 + Identifier 1079200 1079212 + Identifier 1079213 1079223 + Block 1079224 1079333 + ReturnStatement 1079226 1079318 + BinaryExpression 1079250 1079317 + CallExpression 1079250 1079306 + Identifier 1079250 1079284 + Identifier 1079285 1079295 + Identifier 1079296 1079305 + BarBarToken 1079306 1079309 + Identifier 1079309 1079317 + VariableStatement 1079333 1079400 + VariableDeclarationList 1079333 1079399 + VariableDeclaration 1079352 1079399 + Identifier 1079352 1079357 + CallExpression 1079359 1079399 + Identifier 1079359 1079377 + Identifier 1079378 1079388 + Identifier 1079389 1079398 + IfStatement 1079400 1081227 + Identifier 1079418 1079422 + Block 1079423 1081227 + IfStatement 1079425 1079883 + BinaryExpression 1079447 1079601 + BinaryExpression 1079447 1079552 + BinaryExpression 1079447 1079524 + BinaryExpression 1079447 1079503 + BinaryExpression 1079447 1079489 + Identifier 1079447 1079458 + AmpersandToken 1079458 1079460 + PropertyAccessExpression 1079460 1079489 + Identifier 1079460 1079472 + Identifier 1079473 1079489 + AmpersandAmpersandToken 1079489 1079492 + Identifier 1079492 1079503 + AmpersandAmpersandToken 1079503 1079506 + PropertyAccessExpression 1079506 1079524 + Identifier 1079506 1079511 + Identifier 1079512 1079524 + AmpersandAmpersandToken 1079524 1079527 + CallExpression 1079527 1079552 + Identifier 1079527 1079546 + Identifier 1079547 1079551 + AmpersandAmpersandToken 1079552 1079555 + CallExpression 1079555 1079601 + Identifier 1079555 1079583 + Identifier 1079584 1079594 + Identifier 1079595 1079600 + Block 1079602 1079883 + VariableStatement 1079604 1079763 + VariableDeclarationList 1079604 1079762 + VariableDeclaration 1079631 1079762 + Identifier 1079631 1079646 + BinaryExpression 1079648 1079762 + PropertyAccessExpression 1079648 1079685 + Identifier 1079648 1079665 + QuestionDotToken 1079665 1079667 + Identifier 1079667 1079685 + QuestionQuestionToken 1079685 1079688 + ParenthesizedExpression 1079688 1079762 + ConditionalExpression 1079690 1079761 + CallExpression 1079690 1079725 + Identifier 1079690 1079713 + Identifier 1079714 1079724 + QuestionToken 1079725 1079727 + PropertyAccessExpression 1079727 1079748 + Identifier 1079727 1079738 + Identifier 1079739 1079748 + ColonToken 1079748 1079750 + Identifier 1079750 1079761 + ExpressionStatement 1079763 1079864 + CallExpression 1079763 1079863 + Identifier 1079763 1079808 + Identifier 1079809 1079823 + PropertyAccessExpression 1079824 1079842 + Identifier 1079824 1079829 + Identifier 1079830 1079842 + AsExpression 1079843 1079862 + Identifier 1079843 1079852 + StringKeyword 1079855 1079862 + IfStatement 1079883 1080742 + Identifier 1079905 1079921 + Block 1079922 1080742 + ExpressionStatement 1079924 1080061 + CallExpression 1079924 1080060 + Identifier 1079924 1079970 + Identifier 1079971 1079975 + Identifier 1079976 1079993 + CallExpression 1079994 1080059 + Identifier 1079994 1080011 + PropertyAccessExpression 1080012 1080039 + Identifier 1080012 1080028 + Identifier 1080029 1080039 + PropertyAccessExpression 1080040 1080058 + Identifier 1080040 1080051 + Identifier 1080052 1080058 + IfStatement 1080061 1080409 + CallExpression 1080087 1080182 + Identifier 1080087 1080115 + Identifier 1080116 1080132 + Identifier 1080133 1080138 + CallExpression 1080139 1080181 + Identifier 1080139 1080163 + Identifier 1080164 1080180 + Block 1080183 1080409 + ExpressionStatement 1080185 1080343 + CallExpression 1080185 1080342 + Identifier 1080185 1080216 + PropertyAccessExpression 1080217 1080252 + Identifier 1080217 1080233 + Identifier 1080234 1080252 + PropertyAccessExpression 1080253 1080319 + Identifier 1080253 1080265 + Identifier 1080266 1080319 + CallExpression 1080320 1080341 + Identifier 1080320 1080335 + Identifier 1080336 1080340 + ReturnStatement 1080343 1080386 + Identifier 1080375 1080385 + IfStatement 1080409 1080572 + BinaryExpression 1080435 1080472 + Identifier 1080435 1080446 + AmpersandToken 1080446 1080448 + PropertyAccessExpression 1080448 1080472 + Identifier 1080448 1080460 + Identifier 1080461 1080472 + Block 1080473 1080572 + ExpressionStatement 1080475 1080549 + BinaryExpression 1080475 1080548 + PropertyAccessExpression 1080475 1080541 + CallExpression 1080475 1080526 + Identifier 1080475 1080513 + NonNullExpression 1080514 1080525 + Identifier 1080514 1080524 + Identifier 1080527 1080541 + EqualsToken 1080541 1080543 + Identifier 1080543 1080548 + IfStatement 1080572 1080723 + CallExpression 1080598 1080655 + Identifier 1080598 1080631 + Identifier 1080632 1080648 + Identifier 1080649 1080654 + Block 1080656 1080723 + ReturnStatement 1080658 1080700 + Identifier 1080690 1080699 + VariableStatement 1080742 1080864 + VariableDeclarationList 1080742 1080863 + VariableDeclaration 1080765 1080863 + Identifier 1080765 1080774 + ConditionalExpression 1080776 1080863 + BinaryExpression 1080776 1080810 + Identifier 1080776 1080788 + AmpersandToken 1080788 1080790 + PropertyAccessExpression 1080790 1080810 + Identifier 1080790 1080802 + Identifier 1080803 1080810 + QuestionToken 1080810 1080812 + CallExpression 1080812 1080839 + Identifier 1080812 1080833 + Identifier 1080834 1080838 + ColonToken 1080839 1080841 + CallExpression 1080841 1080863 + Identifier 1080841 1080857 + Identifier 1080858 1080862 + ReturnStatement 1080864 1081212 + ConditionalExpression 1080888 1081211 + BinaryExpression 1080888 1080978 + Identifier 1080888 1080905 + AmpersandAmpersandToken 1080905 1080908 + BinaryExpression 1080908 1080978 + CallExpression 1080908 1080950 + Identifier 1080908 1080932 + Identifier 1080933 1080949 + ExclamationEqualsEqualsToken 1080950 1080954 + PropertyAccessExpression 1080954 1080978 + Identifier 1080954 1080969 + Identifier 1080970 1080978 + QuestionToken 1080978 1080980 + CallExpression 1080980 1081031 + Identifier 1080980 1081003 + Identifier 1081004 1081020 + Identifier 1081021 1081030 + ColonToken 1081031 1081033 + ConditionalExpression 1081033 1081211 + BinaryExpression 1081033 1081137 + BinaryExpression 1081033 1081104 + Identifier 1081033 1081065 + AmpersandAmpersandToken 1081065 1081068 + CallExpression 1081068 1081104 + Identifier 1081068 1081092 + Identifier 1081093 1081103 + AmpersandAmpersandToken 1081104 1081107 + CallExpression 1081107 1081137 + Identifier 1081107 1081127 + Identifier 1081128 1081136 + QuestionToken 1081137 1081139 + CallExpression 1081139 1081179 + Identifier 1081139 1081152 + ArrayLiteralExpression 1081153 1081178 + Identifier 1081154 1081162 + Identifier 1081163 1081177 + ColonToken 1081179 1081181 + Identifier 1081181 1081211 + IfStatement 1081227 1082685 + BinaryExpression 1081245 1081313 + CallExpression 1081245 1081279 + Identifier 1081245 1081254 + Identifier 1081255 1081265 + Identifier 1081266 1081278 + AmpersandAmpersandToken 1081279 1081282 + CallExpression 1081282 1081313 + Identifier 1081282 1081303 + Identifier 1081304 1081312 + Block 1081314 1082685 + VariableStatement 1081316 1081358 + VariableDeclarationList 1081316 1081357 + VariableDeclaration 1081339 1081357 + Identifier 1081339 1081345 + PrefixUnaryExpression 1081347 1081357 + Identifier 1081349 1081357 + IfStatement 1081358 1082367 + BinaryExpression 1081380 1081540 + BinaryExpression 1081380 1081495 + Identifier 1081380 1081390 + AmpersandAmpersandToken 1081390 1081393 + CallExpression 1081393 1081495 + Identifier 1081393 1081403 + Identifier 1081404 1081414 + ArrowFunction 1081415 1081494 + Parameter 1081415 1081417 + Identifier 1081415 1081417 + EqualsGreaterThanToken 1081417 1081420 + PrefixUnaryExpression 1081420 1081494 + ParenthesizedExpression 1081422 1081494 + BinaryExpression 1081423 1081493 + PropertyAccessExpression 1081423 1081469 + PropertyAccessExpression 1081423 1081455 + ParenthesizedExpression 1081423 1081448 + AsExpression 1081424 1081447 + Identifier 1081424 1081425 + TypeReference 1081428 1081447 + Identifier 1081428 1081447 + Identifier 1081449 1081455 + Identifier 1081456 1081469 + AmpersandToken 1081469 1081471 + PropertyAccessExpression 1081471 1081493 + Identifier 1081471 1081484 + Identifier 1081485 1081493 + AmpersandAmpersandToken 1081495 1081498 + PrefixUnaryExpression 1081498 1081540 + ParenthesizedExpression 1081500 1081540 + BinaryExpression 1081501 1081539 + Identifier 1081501 1081512 + AmpersandToken 1081512 1081514 + PropertyAccessExpression 1081514 1081539 + Identifier 1081514 1081526 + Identifier 1081527 1081539 + Block 1081541 1082367 + VariableStatement 1081543 1081627 + VariableDeclarationList 1081543 1081626 + VariableDeclaration 1081570 1081626 + Identifier 1081570 1081580 + CallExpression 1081582 1081626 + Identifier 1081582 1081614 + Identifier 1081615 1081625 + IfStatement 1081627 1082348 + CallExpression 1081653 1081676 + Identifier 1081653 1081664 + Identifier 1081665 1081675 + Block 1081677 1082141 + IfStatement 1081679 1081912 + BinaryExpression 1081709 1081718 + Identifier 1081709 1081714 + LessThanToken 1081714 1081716 + NumericLiteral 1081716 1081718 + Block 1081719 1081912 + ExpressionStatement 1081721 1081834 + CallExpression 1081721 1081833 + Identifier 1081721 1081756 + Identifier 1081757 1081766 + PropertyAccessExpression 1081767 1081832 + Identifier 1081767 1081779 + Identifier 1081780 1081832 + ReturnStatement 1081834 1081885 + Identifier 1081870 1081884 + ExpressionStatement 1081912 1082118 + CallExpression 1081912 1082117 + Identifier 1081912 1081943 + Identifier 1081944 1081953 + PropertyAccessExpression 1081954 1082017 + Identifier 1081954 1081966 + Identifier 1081967 1082017 + CallExpression 1082018 1082043 + Identifier 1082018 1082031 + Identifier 1082032 1082042 + CallExpression 1082044 1082078 + Identifier 1082044 1082066 + Identifier 1082067 1082077 + CallExpression 1082079 1082116 + Identifier 1082079 1082106 + Identifier 1082107 1082115 + Block 1082167 1082348 + ExpressionStatement 1082169 1082325 + CallExpression 1082169 1082324 + Identifier 1082169 1082200 + Identifier 1082201 1082210 + PropertyAccessExpression 1082211 1082259 + Identifier 1082211 1082223 + Identifier 1082224 1082259 + CallExpression 1082260 1082297 + Identifier 1082260 1082287 + Identifier 1082288 1082296 + CallExpression 1082298 1082323 + Identifier 1082298 1082311 + Identifier 1082312 1082322 + IfStatement 1082367 1082670 + BinaryExpression 1082389 1082399 + Identifier 1082389 1082394 + GreaterThanEqualsToken 1082394 1082397 + NumericLiteral 1082397 1082399 + Block 1082400 1082670 + ExpressionStatement 1082402 1082498 + CallExpression 1082402 1082497 + Identifier 1082402 1082453 + CallExpression 1082454 1082496 + Identifier 1082454 1082472 + Identifier 1082473 1082483 + Identifier 1082484 1082495 + ReturnStatement 1082498 1082651 + CallExpression 1082526 1082650 + Identifier 1082526 1082561 + Identifier 1082562 1082572 + Identifier 1082573 1082579 + ConditionalExpression 1082580 1082649 + BinaryExpression 1082580 1082623 + Identifier 1082580 1082592 + AmpersandToken 1082592 1082594 + PropertyAccessExpression 1082594 1082623 + Identifier 1082594 1082606 + Identifier 1082607 1082623 + QuestionToken 1082623 1082625 + Identifier 1082625 1082637 + ColonToken 1082637 1082639 + Identifier 1082639 1082649 + IfStatement 1082696 1091417 + BinaryExpression 1082710 1082856 + PrefixUnaryExpression 1082710 1082749 + ParenthesizedExpression 1082711 1082749 + BinaryExpression 1082712 1082748 + PropertyAccessExpression 1082712 1082727 + Identifier 1082712 1082721 + Identifier 1082722 1082727 + AmpersandToken 1082727 1082729 + PropertyAccessExpression 1082729 1082748 + Identifier 1082729 1082739 + Identifier 1082740 1082748 + AmpersandAmpersandToken 1082749 1082752 + CallExpression 1082752 1082856 + Identifier 1082752 1082775 + Identifier 1082776 1082785 + BinaryExpression 1082786 1082855 + BinaryExpression 1082786 1082830 + PropertyAccessExpression 1082786 1082807 + Identifier 1082786 1082796 + Identifier 1082797 1082807 + BarToken 1082807 1082809 + PropertyAccessExpression 1082809 1082830 + Identifier 1082809 1082819 + Identifier 1082820 1082830 + BarToken 1082830 1082832 + PropertyAccessExpression 1082832 1082855 + Identifier 1082832 1082842 + Identifier 1082843 1082855 + Block 1082857 1091417 + IfStatement 1082859 1082983 + BinaryExpression 1082877 1082929 + PropertyAccessExpression 1082877 1082893 + Identifier 1082877 1082887 + Identifier 1082888 1082893 + AmpersandToken 1082893 1082895 + ParenthesizedExpression 1082895 1082929 + BinaryExpression 1082897 1082928 + PropertyAccessExpression 1082897 1082910 + Identifier 1082897 1082906 + Identifier 1082907 1082910 + BarToken 1082910 1082912 + PropertyAccessExpression 1082912 1082928 + Identifier 1082912 1082922 + Identifier 1082923 1082928 + Block 1082930 1082983 + ReturnStatement 1082932 1082968 + Identifier 1082956 1082967 + VariableStatement 1082983 1083320 + VariableDeclarationList 1082983 1083319 + VariableDeclaration 1083215 1083319 + Identifier 1083215 1083225 + BinaryExpression 1083227 1083319 + CallExpression 1083227 1083273 + Identifier 1083227 1083250 + Identifier 1083251 1083261 + Identifier 1083262 1083272 + BarBarToken 1083273 1083276 + CallExpression 1083276 1083319 + Identifier 1083276 1083295 + Identifier 1083296 1083306 + Identifier 1083307 1083318 + IfStatement 1083320 1085414 + Identifier 1083338 1083347 + Block 1083348 1085414 + IfStatement 1083350 1084051 + BinaryExpression 1083372 1083451 + BinaryExpression 1083372 1083415 + Identifier 1083372 1083383 + AmpersandToken 1083383 1083385 + PropertyAccessExpression 1083385 1083415 + Identifier 1083385 1083397 + Identifier 1083398 1083415 + AmpersandAmpersandToken 1083415 1083418 + BinaryExpression 1083418 1083451 + PropertyAccessExpression 1083418 1083436 + Identifier 1083418 1083428 + Identifier 1083429 1083436 + ExclamationEqualsEqualsToken 1083436 1083440 + Identifier 1083440 1083451 + Block 1083452 1084051 + IfStatement 1083454 1083993 + Identifier 1083480 1083496 + Block 1083497 1083993 + IfStatement 1083499 1083970 + BinaryExpression 1083529 1083562 + Identifier 1083529 1083540 + AmpersandToken 1083540 1083542 + PropertyAccessExpression 1083542 1083562 + Identifier 1083542 1083554 + Identifier 1083555 1083562 + Block 1083563 1083747 + ExpressionStatement 1083565 1083720 + CallExpression 1083565 1083719 + Identifier 1083565 1083600 + Identifier 1083601 1083617 + PropertyAccessExpression 1083618 1083684 + Identifier 1083618 1083630 + Identifier 1083631 1083684 + CallExpression 1083685 1083718 + Identifier 1083685 1083698 + Identifier 1083699 1083717 + Block 1083777 1083970 + ExpressionStatement 1083779 1083943 + CallExpression 1083779 1083942 + Identifier 1083779 1083814 + Identifier 1083815 1083831 + PropertyAccessExpression 1083832 1083882 + Identifier 1083832 1083844 + Identifier 1083845 1083882 + CallExpression 1083883 1083907 + Identifier 1083883 1083896 + Identifier 1083897 1083906 + CallExpression 1083908 1083941 + Identifier 1083908 1083921 + Identifier 1083922 1083940 + ReturnStatement 1083993 1084032 + Identifier 1084021 1084031 + IfStatement 1084051 1084551 + BinaryExpression 1084073 1084194 + BinaryExpression 1084073 1084119 + Identifier 1084073 1084083 + AmpersandAmpersandToken 1084083 1084086 + BinaryExpression 1084086 1084119 + PropertyAccessExpression 1084086 1084104 + Identifier 1084086 1084096 + Identifier 1084097 1084104 + EqualsEqualsEqualsToken 1084104 1084108 + Identifier 1084108 1084119 + AmpersandAmpersandToken 1084119 1084122 + PrefixUnaryExpression 1084122 1084194 + CallExpression 1084124 1084194 + Identifier 1084124 1084146 + Identifier 1084147 1084156 + BinaryExpression 1084157 1084193 + PropertyAccessExpression 1084157 1084174 + Identifier 1084157 1084167 + Identifier 1084168 1084174 + BarToken 1084174 1084176 + PropertyAccessExpression 1084176 1084193 + Identifier 1084176 1084186 + Identifier 1084187 1084193 + Block 1084195 1084551 + VariableStatement 1084197 1084281 + VariableDeclarationList 1084197 1084280 + VariableDeclaration 1084224 1084280 + Identifier 1084224 1084234 + CallExpression 1084236 1084280 + Identifier 1084236 1084268 + Identifier 1084269 1084279 + ExpressionStatement 1084281 1084397 + CallExpression 1084281 1084396 + Identifier 1084281 1084308 + Identifier 1084309 1084318 + PropertyAccessExpression 1084319 1084370 + Identifier 1084319 1084331 + Identifier 1084332 1084370 + CallExpression 1084371 1084395 + Identifier 1084371 1084384 + Identifier 1084385 1084394 + ReturnStatement 1084397 1084532 + ConditionalExpression 1084425 1084531 + BinaryExpression 1084425 1084468 + Identifier 1084425 1084437 + AmpersandToken 1084437 1084439 + PropertyAccessExpression 1084439 1084468 + Identifier 1084439 1084451 + Identifier 1084452 1084468 + QuestionToken 1084468 1084470 + CallExpression 1084470 1084514 + Identifier 1084470 1084483 + ArrayLiteralExpression 1084484 1084513 + PropertyAccessExpression 1084485 1084499 + Identifier 1084485 1084494 + Identifier 1084495 1084499 + Identifier 1084500 1084512 + ColonToken 1084514 1084516 + PropertyAccessExpression 1084516 1084531 + Identifier 1084516 1084526 + Identifier 1084527 1084531 + ExpressionStatement 1084551 1084610 + CallExpression 1084551 1084609 + Identifier 1084551 1084598 + Identifier 1084599 1084608 + IfStatement 1084610 1085359 + BinaryExpression 1084822 1085246 + ParenthesizedExpression 1084822 1084888 + BinaryExpression 1084845 1084887 + Identifier 1084845 1084856 + AmpersandToken 1084856 1084858 + PropertyAccessExpression 1084858 1084887 + Identifier 1084858 1084870 + Identifier 1084871 1084887 + AmpersandAmpersandToken 1084888 1084891 + PrefixUnaryExpression 1084891 1085246 + ParenthesizedExpression 1084914 1085246 + BinaryExpression 1084915 1085245 + BinaryExpression 1084915 1085036 + PropertyAccessExpression 1084915 1084932 + Identifier 1084915 1084925 + Identifier 1084926 1084932 + AmpersandAmpersandToken 1084932 1084935 + BinaryExpression 1084935 1085036 + PropertyAccessExpression 1084935 1084984 + PropertyAccessExpression 1084935 1084978 + Identifier 1084935 1084971 + Identifier 1084972 1084978 + Identifier 1084979 1084984 + AmpersandToken 1084984 1084986 + ParenthesizedExpression 1084986 1085036 + BinaryExpression 1084988 1085035 + PropertyAccessExpression 1084988 1085011 + Identifier 1084988 1084999 + Identifier 1085000 1085011 + BarToken 1085011 1085013 + PropertyAccessExpression 1085013 1085035 + Identifier 1085013 1085025 + Identifier 1085026 1085035 + AmpersandAmpersandToken 1085036 1085039 + ParenthesizedExpression 1085039 1085245 + BinaryExpression 1085066 1085244 + BinaryExpression 1085066 1085154 + PropertyAccessExpression 1085066 1085082 + Identifier 1085066 1085075 + Identifier 1085076 1085082 + AmpersandAmpersandToken 1085082 1085085 + BinaryExpression 1085085 1085154 + PropertyAccessExpression 1085085 1085130 + Identifier 1085085 1085124 + Identifier 1085125 1085130 + AmpersandToken 1085130 1085132 + PropertyAccessExpression 1085132 1085154 + Identifier 1085132 1085142 + Identifier 1085143 1085154 + AmpersandAmpersandToken 1085154 1085157 + BinaryExpression 1085157 1085244 + CallExpression 1085157 1085222 + Identifier 1085157 1085204 + PropertyAccessExpression 1085205 1085221 + Identifier 1085205 1085214 + Identifier 1085215 1085221 + EqualsEqualsEqualsToken 1085222 1085226 + PropertyAccessExpression 1085226 1085244 + Identifier 1085226 1085237 + Identifier 1085238 1085244 + Block 1085265 1085359 + ReturnStatement 1085267 1085340 + CallExpression 1085295 1085339 + Identifier 1085295 1085308 + ArrayLiteralExpression 1085309 1085338 + PropertyAccessExpression 1085310 1085324 + Identifier 1085310 1085319 + Identifier 1085320 1085324 + Identifier 1085325 1085337 + ReturnStatement 1085359 1085399 + PropertyAccessExpression 1085383 1085398 + Identifier 1085383 1085393 + Identifier 1085394 1085398 + IfStatement 1085414 1085518 + BinaryExpression 1085432 1085465 + PropertyAccessExpression 1085432 1085447 + Identifier 1085432 1085441 + Identifier 1085442 1085447 + AmpersandToken 1085447 1085449 + PropertyAccessExpression 1085449 1085465 + Identifier 1085449 1085459 + Identifier 1085460 1085465 + Block 1085466 1085518 + ReturnStatement 1085468 1085503 + Identifier 1085492 1085502 + IfStatement 1085518 1085614 + CallExpression 1085536 1085563 + Identifier 1085536 1085551 + Identifier 1085552 1085562 + Block 1085564 1085614 + ReturnStatement 1085566 1085599 + Identifier 1085590 1085598 + IfStatement 1085614 1091406 + BinaryExpression 1085632 1085686 + Identifier 1085632 1085648 + AmpersandAmpersandToken 1085648 1085651 + PrefixUnaryExpression 1085651 1085686 + CallExpression 1085653 1085686 + Identifier 1085653 1085674 + Identifier 1085675 1085685 + Block 1085687 1091406 + IfStatement 1085689 1086527 + CallExpression 1085711 1085742 + Identifier 1085711 1085730 + Identifier 1085731 1085741 + Block 1085743 1086527 + IfStatement 1085745 1086508 + BinaryExpression 1085771 1085857 + Identifier 1085771 1085784 + AmpersandAmpersandToken 1085784 1085787 + BinaryExpression 1085787 1085857 + PropertyAccessExpression 1085787 1085803 + Identifier 1085787 1085797 + Identifier 1085798 1085803 + AmpersandToken 1085803 1085805 + ParenthesizedExpression 1085805 1085857 + BinaryExpression 1085807 1085856 + PropertyAccessExpression 1085807 1085830 + Identifier 1085807 1085816 + Identifier 1085817 1085830 + BarToken 1085830 1085832 + PropertyAccessExpression 1085832 1085856 + Identifier 1085832 1085842 + Identifier 1085843 1085856 + Block 1085858 1086130 + ExpressionStatement 1085860 1086060 + CallExpression 1085860 1086059 + PropertyAccessExpression 1085860 1085901 + Identifier 1085860 1085897 + Identifier 1085898 1085901 + CallExpression 1085902 1086058 + Identifier 1085902 1085925 + Identifier 1085926 1085942 + PropertyAccessExpression 1085943 1085991 + Identifier 1085943 1085955 + Identifier 1085956 1085991 + PropertyAccessExpression 1085992 1086031 + ParenthesizedExpression 1085992 1086025 + AsExpression 1085994 1086024 + Identifier 1085994 1086003 + TypeReference 1086006 1086024 + Identifier 1086006 1086024 + Identifier 1086026 1086031 + CallExpression 1086032 1086057 + Identifier 1086032 1086045 + Identifier 1086046 1086056 + ReturnStatement 1086060 1086107 + Identifier 1086092 1086106 + IfStatement 1086156 1086508 + BinaryExpression 1086161 1086216 + PropertyAccessExpression 1086161 1086176 + Identifier 1086161 1086170 + Identifier 1086171 1086176 + AmpersandToken 1086176 1086178 + ParenthesizedExpression 1086178 1086216 + BinaryExpression 1086180 1086215 + PropertyAccessExpression 1086180 1086196 + Identifier 1086180 1086189 + Identifier 1086190 1086196 + BarToken 1086196 1086198 + PropertyAccessExpression 1086198 1086215 + Identifier 1086198 1086208 + Identifier 1086209 1086215 + Block 1086217 1086508 + VariableStatement 1086219 1086409 + VariableDeclarationList 1086219 1086408 + VariableDeclaration 1086250 1086408 + Identifier 1086250 1086256 + CallExpression 1086258 1086408 + Identifier 1086258 1086262 + PropertyAccessExpression 1086263 1086302 + ParenthesizedExpression 1086263 1086291 + AsExpression 1086264 1086290 + Identifier 1086264 1086274 + TypeReference 1086277 1086290 + Identifier 1086277 1086290 + Identifier 1086292 1086302 + ArrowFunction 1086303 1086407 + Parameter 1086303 1086312 + Identifier 1086303 1086312 + EqualsGreaterThanToken 1086312 1086315 + Block 1086315 1086407 + ReturnStatement 1086317 1086380 + CallExpression 1086353 1086379 + Identifier 1086353 1086369 + Identifier 1086370 1086378 + ReturnStatement 1086409 1086485 + CallExpression 1086441 1086484 + Identifier 1086441 1086454 + CallExpression 1086455 1086483 + Identifier 1086455 1086461 + Identifier 1086462 1086467 + Identifier 1086468 1086482 + IfStatement 1086527 1091356 + BinaryExpression 1086551 1086736 + BinaryExpression 1086551 1086658 + BinaryExpression 1086551 1086615 + BinaryExpression 1086551 1086589 + PropertyAccessExpression 1086551 1086568 + Identifier 1086551 1086561 + Identifier 1086562 1086568 + EqualsEqualsEqualsToken 1086568 1086572 + Identifier 1086572 1086589 + AmpersandAmpersandToken 1086589 1086592 + BinaryExpression 1086592 1086615 + Identifier 1086592 1086601 + ExclamationEqualsEqualsToken 1086601 1086605 + Identifier 1086605 1086615 + AmpersandAmpersandToken 1086615 1086618 + CallExpression 1086618 1086658 + PropertyAccessExpression 1086618 1086648 + NonNullExpression 1086618 1086644 + PropertyAccessExpression 1086618 1086643 + Identifier 1086618 1086635 + Identifier 1086636 1086643 + Identifier 1086645 1086648 + Identifier 1086649 1086657 + AmpersandAmpersandToken 1086658 1086661 + ParenthesizedExpression 1086661 1086736 + BinaryExpression 1086663 1086735 + PropertyAccessExpression 1086663 1086709 + NonNullExpression 1086663 1086703 + CallExpression 1086663 1086702 + PropertyAccessExpression 1086663 1086692 + NonNullExpression 1086663 1086688 + PropertyAccessExpression 1086663 1086687 + Identifier 1086663 1086679 + Identifier 1086680 1086687 + Identifier 1086689 1086692 + Identifier 1086693 1086701 + Identifier 1086704 1086709 + AmpersandToken 1086709 1086711 + PropertyAccessExpression 1086711 1086735 + Identifier 1086711 1086723 + Identifier 1086724 1086735 + Block 1086737 1086917 + ExpressionStatement 1086739 1086898 + CallExpression 1086739 1086897 + Identifier 1086739 1086766 + Identifier 1086767 1086783 + PropertyAccessExpression 1086784 1086832 + Identifier 1086784 1086796 + Identifier 1086797 1086832 + CallExpression 1086833 1086870 + Identifier 1086833 1086860 + Identifier 1086861 1086869 + CallExpression 1086871 1086896 + Identifier 1086871 1086884 + Identifier 1086885 1086895 + IfStatement 1086939 1091356 + BinaryExpression 1086944 1087016 + Identifier 1086944 1086957 + AmpersandAmpersandToken 1086957 1086960 + PrefixUnaryExpression 1086960 1087016 + ParenthesizedExpression 1086962 1087016 + BinaryExpression 1086963 1087015 + Identifier 1086963 1086974 + AmpersandToken 1086974 1086976 + PropertyAccessExpression 1086976 1087015 + Identifier 1086976 1086988 + Identifier 1086989 1087015 + Block 1087017 1091356 + IfStatement 1087019 1091337 + BinaryExpression 1087045 1087114 + BinaryExpression 1087045 1087067 + Identifier 1087045 1087053 + ExclamationEqualsEqualsToken 1087053 1087057 + Identifier 1087057 1087067 + AmpersandAmpersandToken 1087067 1087070 + CallExpression 1087070 1087114 + Identifier 1087070 1087092 + Identifier 1087093 1087101 + Identifier 1087102 1087113 + Block 1087115 1087463 + VariableStatement 1087117 1087185 + VariableDeclarationList 1087117 1087184 + VariableDeclaration 1087148 1087184 + Identifier 1087148 1087157 + CallExpression 1087159 1087184 + Identifier 1087159 1087172 + Identifier 1087173 1087183 + ExpressionStatement 1087185 1087440 + CallExpression 1087185 1087439 + Identifier 1087185 1087216 + Identifier 1087217 1087233 + PropertyAccessExpression 1087234 1087333 + Identifier 1087234 1087246 + Identifier 1087247 1087333 + AsExpression 1087334 1087353 + Identifier 1087334 1087343 + StringKeyword 1087346 1087353 + Identifier 1087354 1087363 + BinaryExpression 1087364 1087438 + BinaryExpression 1087364 1087432 + BinaryExpression 1087364 1087379 + Identifier 1087364 1087373 + PlusToken 1087373 1087375 + StringLiteral 1087375 1087379 + PlusToken 1087379 1087381 + CallExpression 1087381 1087432 + Identifier 1087381 1087395 + PropertyAccessExpression 1087396 1087431 + Identifier 1087396 1087412 + Identifier 1087413 1087431 + PlusToken 1087432 1087434 + StringLiteral 1087434 1087438 + IfStatement 1087489 1091337 + CallExpression 1087494 1087536 + Identifier 1087494 1087512 + Identifier 1087513 1087523 + Identifier 1087524 1087535 + Block 1087537 1087726 + ExpressionStatement 1087539 1087703 + CallExpression 1087539 1087702 + Identifier 1087539 1087570 + PropertyAccessExpression 1087571 1087606 + Identifier 1087571 1087587 + Identifier 1087588 1087606 + PropertyAccessExpression 1087607 1087701 + Identifier 1087607 1087619 + Identifier 1087620 1087701 + Block 1087752 1091337 + VariableStatement 1087754 1087815 + VariableDeclarationList 1087754 1087814 + VariableDeclaration 1087783 1087814 + Identifier 1087783 1087794 + UnionType 1087795 1087814 + StringKeyword 1087795 1087802 + UndefinedKeyword 1087804 1087814 + IfStatement 1087815 1091314 + BinaryExpression 1087845 1087953 + BinaryExpression 1087845 1087867 + Identifier 1087845 1087853 + ExclamationEqualsEqualsToken 1087853 1087857 + Identifier 1087857 1087867 + AmpersandAmpersandToken 1087867 1087870 + ParenthesizedExpression 1087870 1087953 + BinaryExpression 1087872 1087952 + Identifier 1087872 1087882 + EqualsToken 1087882 1087884 + CallExpression 1087884 1087952 + Identifier 1087884 1087920 + AsExpression 1087921 1087939 + Identifier 1087921 1087929 + StringKeyword 1087932 1087939 + Identifier 1087940 1087951 + Block 1087954 1088274 + IfStatement 1087956 1088247 + BinaryExpression 1087990 1088014 + Identifier 1087990 1088000 + ExclamationEqualsEqualsToken 1088000 1088004 + Identifier 1088004 1088014 + Block 1088015 1088247 + ExpressionStatement 1088017 1088216 + CallExpression 1088017 1088215 + Identifier 1088017 1088056 + PropertyAccessExpression 1088057 1088092 + Identifier 1088057 1088073 + Identifier 1088074 1088092 + PropertyAccessExpression 1088093 1088156 + Identifier 1088093 1088105 + Identifier 1088106 1088156 + AsExpression 1088157 1088176 + Identifier 1088157 1088166 + StringKeyword 1088169 1088176 + CallExpression 1088177 1088202 + Identifier 1088177 1088190 + Identifier 1088191 1088201 + Identifier 1088203 1088214 + Block 1088304 1091314 + VariableStatement 1088306 1088438 + VariableDeclarationList 1088306 1088437 + VariableDeclaration 1088341 1088437 + Identifier 1088341 1088352 + CallExpression 1088354 1088437 + Identifier 1088354 1088396 + Identifier 1088397 1088407 + Identifier 1088408 1088425 + Identifier 1088426 1088436 + IfStatement 1088438 1091287 + BinaryExpression 1088472 1088496 + Identifier 1088472 1088482 + ExclamationEqualsEqualsToken 1088482 1088486 + Identifier 1088486 1088496 + Block 1088497 1088735 + ExpressionStatement 1088499 1088704 + CallExpression 1088499 1088703 + Identifier 1088499 1088538 + Identifier 1088539 1088555 + PropertyAccessExpression 1088556 1088664 + Identifier 1088556 1088568 + Identifier 1088569 1088664 + CallExpression 1088665 1088690 + Identifier 1088665 1088678 + Identifier 1088679 1088689 + Identifier 1088691 1088702 + Block 1088769 1091287 + VariableStatement 1088771 1088855 + VariableDeclarationList 1088771 1088854 + VariableDeclaration 1088808 1088854 + Identifier 1088808 1088818 + UnionType 1088819 1088854 + TypeReference 1088819 1088842 + Identifier 1088819 1088842 + UndefinedKeyword 1088844 1088854 + IfStatement 1088855 1090668 + BinaryExpression 1088893 1088932 + PropertyAccessExpression 1088893 1088908 + Identifier 1088893 1088902 + Identifier 1088903 1088908 + AmpersandToken 1088908 1088910 + PropertyAccessExpression 1088910 1088932 + Identifier 1088910 1088920 + Identifier 1088921 1088932 + Block 1088933 1089179 + ExpressionStatement 1088935 1089144 + BinaryExpression 1088935 1089143 + Identifier 1088935 1088982 + EqualsToken 1088982 1088984 + CallExpression 1088984 1089143 + Identifier 1088984 1089008 + Identifier 1089009 1089030 + PropertyAccessExpression 1089031 1089079 + Identifier 1089031 1089043 + Identifier 1089044 1089079 + BinaryExpression 1089080 1089116 + BinaryExpression 1089080 1089110 + StringLiteral 1089080 1089084 + PlusToken 1089084 1089086 + CallExpression 1089086 1089110 + Identifier 1089086 1089099 + Identifier 1089100 1089109 + PlusToken 1089110 1089112 + StringLiteral 1089112 1089116 + CallExpression 1089117 1089142 + Identifier 1089117 1089130 + Identifier 1089131 1089141 + IfStatement 1089217 1090668 + BinaryExpression 1089222 1089264 + PropertyAccessExpression 1089222 1089237 + Identifier 1089222 1089231 + Identifier 1089232 1089237 + AmpersandToken 1089237 1089239 + PropertyAccessExpression 1089239 1089264 + Identifier 1089239 1089249 + Identifier 1089250 1089264 + Block 1089265 1089637 + VariableStatement 1089267 1089406 + VariableDeclarationList 1089267 1089405 + VariableDeclaration 1089310 1089405 + Identifier 1089310 1089321 + CallExpression 1089323 1089405 + Identifier 1089323 1089345 + PropertyAccessExpression 1089346 1089386 + ParenthesizedExpression 1089346 1089379 + AsExpression 1089347 1089378 + Identifier 1089347 1089356 + TypeReference 1089359 1089378 + Identifier 1089359 1089378 + Identifier 1089380 1089386 + Identifier 1089387 1089404 + ExpressionStatement 1089406 1089602 + BinaryExpression 1089406 1089601 + Identifier 1089406 1089453 + EqualsToken 1089453 1089455 + CallExpression 1089455 1089601 + Identifier 1089455 1089479 + Identifier 1089480 1089501 + PropertyAccessExpression 1089502 1089550 + Identifier 1089502 1089514 + Identifier 1089515 1089550 + BinaryExpression 1089551 1089574 + BinaryExpression 1089551 1089568 + StringLiteral 1089551 1089555 + PlusToken 1089555 1089557 + Identifier 1089557 1089568 + PlusToken 1089568 1089570 + StringLiteral 1089570 1089574 + CallExpression 1089575 1089600 + Identifier 1089575 1089588 + Identifier 1089589 1089599 + IfStatement 1089675 1090668 + BinaryExpression 1089680 1089721 + PropertyAccessExpression 1089680 1089695 + Identifier 1089680 1089689 + Identifier 1089690 1089695 + AmpersandToken 1089695 1089697 + PropertyAccessExpression 1089697 1089721 + Identifier 1089697 1089707 + Identifier 1089708 1089721 + Block 1089722 1089971 + ExpressionStatement 1089724 1089936 + BinaryExpression 1089724 1089935 + Identifier 1089724 1089771 + EqualsToken 1089771 1089773 + CallExpression 1089773 1089935 + Identifier 1089773 1089797 + Identifier 1089798 1089819 + PropertyAccessExpression 1089820 1089868 + Identifier 1089820 1089832 + Identifier 1089833 1089868 + PropertyAccessExpression 1089869 1089908 + ParenthesizedExpression 1089869 1089902 + AsExpression 1089871 1089901 + Identifier 1089871 1089880 + TypeReference 1089883 1089901 + Identifier 1089883 1089901 + Identifier 1089903 1089908 + CallExpression 1089909 1089934 + Identifier 1089909 1089922 + Identifier 1089923 1089933 + IfStatement 1090009 1090668 + BinaryExpression 1090014 1090055 + PropertyAccessExpression 1090014 1090029 + Identifier 1090014 1090023 + Identifier 1090024 1090029 + AmpersandToken 1090029 1090031 + PropertyAccessExpression 1090031 1090055 + Identifier 1090031 1090041 + Identifier 1090042 1090055 + Block 1090056 1090305 + ExpressionStatement 1090058 1090270 + BinaryExpression 1090058 1090269 + Identifier 1090058 1090105 + EqualsToken 1090105 1090107 + CallExpression 1090107 1090269 + Identifier 1090107 1090131 + Identifier 1090132 1090153 + PropertyAccessExpression 1090154 1090202 + Identifier 1090154 1090166 + Identifier 1090167 1090202 + PropertyAccessExpression 1090203 1090242 + ParenthesizedExpression 1090203 1090236 + AsExpression 1090205 1090235 + Identifier 1090205 1090214 + TypeReference 1090217 1090235 + Identifier 1090217 1090235 + Identifier 1090237 1090242 + CallExpression 1090243 1090268 + Identifier 1090243 1090256 + Identifier 1090257 1090267 + IfStatement 1090343 1090668 + BinaryExpression 1090348 1090403 + PropertyAccessExpression 1090348 1090363 + Identifier 1090348 1090357 + Identifier 1090358 1090363 + AmpersandToken 1090363 1090365 + ParenthesizedExpression 1090365 1090403 + BinaryExpression 1090367 1090402 + PropertyAccessExpression 1090367 1090383 + Identifier 1090367 1090376 + Identifier 1090377 1090383 + BarToken 1090383 1090385 + PropertyAccessExpression 1090385 1090402 + Identifier 1090385 1090395 + Identifier 1090396 1090402 + Block 1090404 1090668 + ExpressionStatement 1090406 1090633 + BinaryExpression 1090406 1090632 + Identifier 1090406 1090453 + EqualsToken 1090453 1090455 + CallExpression 1090455 1090632 + Identifier 1090455 1090479 + Identifier 1090480 1090501 + PropertyAccessExpression 1090502 1090580 + Identifier 1090502 1090514 + Identifier 1090515 1090580 + CallExpression 1090581 1090605 + Identifier 1090581 1090594 + Identifier 1090595 1090604 + CallExpression 1090606 1090631 + Identifier 1090606 1090619 + Identifier 1090620 1090630 + ExpressionStatement 1090668 1091097 + BinaryExpression 1090668 1091096 + Identifier 1090668 1090713 + EqualsToken 1090713 1090715 + CallExpression 1090715 1091096 + Identifier 1090715 1090739 + Identifier 1090740 1090787 + PropertyAccessExpression 1090788 1090931 + Identifier 1090788 1090837 + Identifier 1090838 1090931 + CallExpression 1090932 1090997 + Identifier 1090932 1090982 + Identifier 1090983 1090996 + CallExpression 1090998 1091060 + Identifier 1090998 1091048 + Identifier 1091049 1091059 + ExpressionStatement 1091097 1091256 + CallExpression 1091097 1091255 + PropertyAccessExpression 1091097 1091146 + Identifier 1091097 1091142 + Identifier 1091143 1091146 + CallExpression 1091147 1091254 + Identifier 1091147 1091186 + CallExpression 1091187 1091224 + Identifier 1091187 1091206 + Identifier 1091207 1091223 + Identifier 1091225 1091242 + Identifier 1091243 1091253 + ReturnStatement 1091356 1091391 + Identifier 1091380 1091390 + IfStatement 1091417 1091553 + BinaryExpression 1091431 1091504 + BinaryExpression 1091431 1091469 + Identifier 1091431 1091442 + AmpersandToken 1091442 1091444 + PropertyAccessExpression 1091444 1091469 + Identifier 1091444 1091456 + Identifier 1091457 1091469 + AmpersandAmpersandToken 1091469 1091472 + CallExpression 1091472 1091504 + Identifier 1091472 1091492 + Identifier 1091493 1091503 + Block 1091505 1091553 + ReturnStatement 1091507 1091542 + Identifier 1091527 1091541 + IfStatement 1091553 1091637 + CallExpression 1091567 1091594 + Identifier 1091567 1091582 + Identifier 1091583 1091593 + Block 1091595 1091637 + ReturnStatement 1091597 1091626 + Identifier 1091617 1091625 + IfStatement 1091637 1092575 + Identifier 1091651 1091661 + Block 1091662 1092575 + VariableStatement 1091664 1091740 + VariableDeclarationList 1091664 1091739 + VariableDeclaration 1091683 1091739 + Identifier 1091683 1091693 + CallExpression 1091695 1091739 + Identifier 1091695 1091727 + Identifier 1091728 1091738 + IfStatement 1091740 1092564 + BinaryExpression 1091758 1091874 + BinaryExpression 1091758 1091801 + PropertyAccessExpression 1091758 1091772 + Identifier 1091758 1091767 + Identifier 1091768 1091772 + ExclamationEqualsEqualsToken 1091772 1091776 + PropertyAccessExpression 1091776 1091801 + Identifier 1091776 1091787 + Identifier 1091788 1091801 + AmpersandAmpersandToken 1091801 1091804 + BinaryExpression 1091804 1091874 + PropertyAccessExpression 1091804 1091820 + Identifier 1091804 1091814 + Identifier 1091815 1091820 + AmpersandToken 1091820 1091822 + ParenthesizedExpression 1091822 1091874 + BinaryExpression 1091824 1091873 + PropertyAccessExpression 1091824 1091847 + Identifier 1091824 1091833 + Identifier 1091834 1091847 + BarToken 1091847 1091849 + PropertyAccessExpression 1091849 1091873 + Identifier 1091849 1091859 + Identifier 1091860 1091873 + Block 1091875 1092067 + ExpressionStatement 1091877 1092052 + CallExpression 1091877 1092051 + Identifier 1091877 1091900 + Identifier 1091901 1091910 + PropertyAccessExpression 1091911 1091959 + Identifier 1091911 1091923 + Identifier 1091924 1091959 + BinaryExpression 1091960 1092024 + StringLiteral 1091960 1091963 + PlusToken 1091963 1091965 + PropertyAccessExpression 1091965 1092024 + ParenthesizedExpression 1091965 1092018 + AsExpression 1091967 1092017 + Identifier 1091967 1091976 + UnionType 1091979 1092017 + TypeReference 1091979 1091997 + Identifier 1091979 1091997 + TypeReference 1091999 1092017 + Identifier 1091999 1092017 + Identifier 1092019 1092024 + CallExpression 1092025 1092050 + Identifier 1092025 1092038 + Identifier 1092039 1092049 + IfStatement 1092085 1092564 + BinaryExpression 1092090 1092145 + PropertyAccessExpression 1092090 1092105 + Identifier 1092090 1092099 + Identifier 1092100 1092105 + AmpersandToken 1092105 1092107 + ParenthesizedExpression 1092107 1092145 + BinaryExpression 1092109 1092144 + PropertyAccessExpression 1092109 1092125 + Identifier 1092109 1092118 + Identifier 1092119 1092125 + BarToken 1092125 1092127 + PropertyAccessExpression 1092127 1092144 + Identifier 1092127 1092137 + Identifier 1092138 1092144 + Block 1092146 1092312 + ExpressionStatement 1092148 1092297 + CallExpression 1092148 1092296 + Identifier 1092148 1092171 + Identifier 1092172 1092181 + PropertyAccessExpression 1092182 1092244 + Identifier 1092182 1092194 + Identifier 1092195 1092244 + CallExpression 1092245 1092270 + Identifier 1092245 1092258 + Identifier 1092259 1092269 + CallExpression 1092271 1092295 + Identifier 1092271 1092284 + Identifier 1092285 1092294 + Block 1092330 1092564 + VariableStatement 1092332 1092450 + VariableDeclarationList 1092332 1092449 + VariableDeclaration 1092355 1092449 + Identifier 1092355 1092366 + ConditionalExpression 1092368 1092449 + BinaryExpression 1092368 1092412 + PropertyAccessExpression 1092368 1092383 + Identifier 1092368 1092378 + Identifier 1092379 1092383 + EqualsEqualsEqualsToken 1092383 1092387 + PropertyAccessExpression 1092387 1092412 + Identifier 1092387 1092398 + Identifier 1092399 1092412 + QuestionToken 1092412 1092414 + StringLiteral 1092414 1092423 + ColonToken 1092423 1092425 + CallExpression 1092425 1092449 + Identifier 1092425 1092438 + Identifier 1092439 1092448 + ExpressionStatement 1092450 1092549 + CallExpression 1092450 1092548 + Identifier 1092450 1092473 + Identifier 1092474 1092483 + PropertyAccessExpression 1092484 1092535 + Identifier 1092484 1092496 + Identifier 1092497 1092535 + Identifier 1092536 1092547 + IfStatement 1092575 1092654 + CallExpression 1092589 1092609 + Identifier 1092589 1092598 + Identifier 1092599 1092608 + Block 1092610 1092654 + ReturnStatement 1092612 1092643 + Identifier 1092632 1092642 + ReturnStatement 1092654 1092681 + Identifier 1092670 1092680 + FunctionDeclaration 1092681 1093079 + Identifier 1092701 1092731 + Parameter 1092732 1092764 + Identifier 1092732 1092741 + UnionType 1092742 1092764 + TypeReference 1092742 1092752 + Identifier 1092742 1092752 + UndefinedKeyword 1092754 1092764 + VoidKeyword 1092766 1092771 + Block 1092771 1093079 + IfStatement 1092773 1093068 + BinaryExpression 1092791 1092922 + BinaryExpression 1092791 1092844 + BinaryExpression 1092791 1092824 + Identifier 1092791 1092800 + AmpersandAmpersandToken 1092800 1092803 + PropertyAccessExpression 1092803 1092824 + Identifier 1092803 1092813 + Identifier 1092814 1092824 + AmpersandAmpersandToken 1092824 1092827 + Identifier 1092827 1092844 + AmpersandAmpersandToken 1092844 1092847 + ParenthesizedExpression 1092847 1092922 + BinaryExpression 1092849 1092921 + CallExpression 1092849 1092885 + Identifier 1092849 1092867 + Identifier 1092868 1092884 + BarBarToken 1092885 1092888 + CallExpression 1092888 1092921 + Identifier 1092888 1092903 + Identifier 1092904 1092920 + Block 1092923 1093068 + ExpressionStatement 1092925 1093053 + CallExpression 1092925 1093052 + Identifier 1092925 1092948 + Identifier 1092949 1092965 + PropertyAccessExpression 1092966 1093025 + Identifier 1092966 1092978 + Identifier 1092979 1093025 + CallExpression 1093026 1093051 + Identifier 1093026 1093039 + Identifier 1093040 1093050 + FunctionDeclaration 1093086 1093563 + Identifier 1093102 1093134 + Parameter 1093135 1093245 + Identifier 1093135 1093145 + UnionType 1093146 1093245 + TypeReference 1093146 1093170 + Identifier 1093146 1093170 + TypeReference 1093172 1093194 + Identifier 1093172 1093194 + TypeReference 1093196 1093209 + Identifier 1093196 1093209 + TypeReference 1093211 1093223 + Identifier 1093211 1093223 + TypeReference 1093225 1093245 + Identifier 1093225 1093245 + Block 1093246 1093563 + ReturnStatement 1093248 1093556 + ConditionalExpression 1093264 1093555 + BinaryExpression 1093264 1093319 + PropertyAccessExpression 1093264 1093280 + Identifier 1093264 1093275 + Identifier 1093276 1093280 + EqualsEqualsEqualsToken 1093280 1093284 + PropertyAccessExpression 1093284 1093319 + Identifier 1093284 1093295 + Identifier 1093296 1093319 + QuestionToken 1093319 1093321 + PropertyAccessExpression 1093321 1093351 + Identifier 1093321 1093332 + Identifier 1093333 1093351 + ColonToken 1093351 1093353 + ConditionalExpression 1093353 1093555 + BinaryExpression 1093353 1093415 + PropertyAccessExpression 1093353 1093382 + Identifier 1093353 1093377 + Identifier 1093378 1093382 + EqualsEqualsEqualsToken 1093382 1093386 + PropertyAccessExpression 1093386 1093415 + Identifier 1093386 1093397 + Identifier 1093398 1093415 + QuestionToken 1093415 1093417 + PropertyAccessExpression 1093417 1093438 + Identifier 1093417 1093428 + Identifier 1093429 1093438 + ColonToken 1093438 1093440 + ConditionalExpression 1093440 1093555 + BinaryExpression 1093440 1093505 + PropertyAccessExpression 1093440 1093469 + Identifier 1093440 1093464 + Identifier 1093465 1093469 + EqualsEqualsEqualsToken 1093469 1093473 + PropertyAccessExpression 1093473 1093505 + Identifier 1093473 1093484 + Identifier 1093485 1093505 + QuestionToken 1093505 1093507 + PropertyAccessExpression 1093507 1093529 + Identifier 1093507 1093518 + Identifier 1093519 1093529 + ColonToken 1093529 1093531 + Identifier 1093531 1093555 + FunctionDeclaration 1093563 1094426 + Identifier 1093579 1093611 + Parameter 1093612 1093622 + Identifier 1093612 1093616 + TypeReference 1093617 1093622 + Identifier 1093617 1093622 + BooleanKeyword 1093624 1093632 + Block 1093632 1094426 + IfStatement 1093634 1094282 + BinaryExpression 1093648 1093683 + PropertyAccessExpression 1093648 1093658 + Identifier 1093648 1093652 + Identifier 1093653 1093658 + AmpersandToken 1093658 1093660 + PropertyAccessExpression 1093660 1093683 + Identifier 1093660 1093670 + Identifier 1093671 1093683 + Block 1093684 1094282 + VariableStatement 1093686 1093864 + VariableDeclarationList 1093686 1093863 + VariableDeclaration 1093839 1093863 + Identifier 1093839 1093855 + FalseKeyword 1093857 1093863 + ForOfStatement 1093864 1094234 + VariableDeclarationList 1093883 1093890 + VariableDeclaration 1093888 1093890 + Identifier 1093888 1093890 + PropertyAccessExpression 1093893 1093926 + ParenthesizedExpression 1093893 1093920 + AsExpression 1093895 1093919 + Identifier 1093895 1093899 + TypeReference 1093902 1093919 + Identifier 1093902 1093919 + Identifier 1093921 1093926 + Block 1093927 1094234 + IfStatement 1093929 1094219 + BinaryExpression 1093951 1094039 + BinaryExpression 1093951 1094001 + PropertyAccessExpression 1093951 1093958 + Identifier 1093951 1093952 + Identifier 1093953 1093958 + AmpersandToken 1093958 1093960 + ParenthesizedExpression 1093960 1094001 + BinaryExpression 1093962 1094000 + PropertyAccessExpression 1093962 1093979 + Identifier 1093962 1093971 + Identifier 1093972 1093979 + BarToken 1093979 1093981 + PropertyAccessExpression 1093981 1094000 + Identifier 1093981 1093991 + Identifier 1093992 1094000 + BarBarToken 1094001 1094004 + CallExpression 1094004 1094039 + Identifier 1094004 1094036 + Identifier 1094037 1094038 + Block 1094040 1094106 + ExpressionStatement 1094042 1094087 + BinaryExpression 1094042 1094086 + Identifier 1094042 1094079 + EqualsToken 1094079 1094081 + TrueKeyword 1094081 1094086 + IfStatement 1094128 1094219 + PrefixUnaryExpression 1094133 1094162 + ParenthesizedExpression 1094134 1094162 + BinaryExpression 1094135 1094161 + PropertyAccessExpression 1094135 1094142 + Identifier 1094135 1094136 + Identifier 1094137 1094142 + AmpersandToken 1094142 1094144 + PropertyAccessExpression 1094144 1094161 + Identifier 1094144 1094154 + Identifier 1094155 1094161 + Block 1094163 1094219 + ReturnStatement 1094165 1094200 + FalseKeyword 1094193 1094199 + ReturnStatement 1094234 1094271 + Identifier 1094254 1094270 + ReturnStatement 1094282 1094419 + BinaryExpression 1094298 1094418 + PrefixUnaryExpression 1094298 1094388 + PrefixUnaryExpression 1094300 1094388 + ParenthesizedExpression 1094301 1094388 + BinaryExpression 1094302 1094387 + PropertyAccessExpression 1094302 1094312 + Identifier 1094302 1094306 + Identifier 1094307 1094312 + AmpersandToken 1094312 1094314 + ParenthesizedExpression 1094314 1094387 + BinaryExpression 1094316 1094386 + BinaryExpression 1094316 1094367 + BinaryExpression 1094316 1094348 + PropertyAccessExpression 1094316 1094329 + Identifier 1094316 1094325 + Identifier 1094326 1094329 + BarToken 1094329 1094331 + PropertyAccessExpression 1094331 1094348 + Identifier 1094331 1094341 + Identifier 1094342 1094348 + BarToken 1094348 1094350 + PropertyAccessExpression 1094350 1094367 + Identifier 1094350 1094360 + Identifier 1094361 1094367 + BarToken 1094367 1094369 + PropertyAccessExpression 1094369 1094386 + Identifier 1094369 1094379 + Identifier 1094380 1094386 + BarBarToken 1094388 1094391 + CallExpression 1094391 1094418 + Identifier 1094391 1094412 + Identifier 1094413 1094417 + FunctionDeclaration 1094426 1094904 + Identifier 1094442 1094463 + Parameter 1094464 1094474 + Identifier 1094464 1094468 + TypeReference 1094469 1094474 + Identifier 1094469 1094474 + Block 1094475 1094904 + ReturnStatement 1094477 1094897 + BinaryExpression 1094648 1094896 + BinaryExpression 1094648 1094770 + PrefixUnaryExpression 1094648 1094691 + PrefixUnaryExpression 1094650 1094691 + ParenthesizedExpression 1094651 1094691 + BinaryExpression 1094652 1094690 + PropertyAccessExpression 1094652 1094662 + Identifier 1094652 1094656 + Identifier 1094657 1094662 + AmpersandToken 1094662 1094664 + PropertyAccessExpression 1094664 1094690 + Identifier 1094664 1094674 + Identifier 1094675 1094690 + AmpersandAmpersandToken 1094691 1094694 + CallExpression 1094694 1094770 + Identifier 1094694 1094700 + PropertyAccessExpression 1094701 1094736 + ParenthesizedExpression 1094701 1094730 + AsExpression 1094702 1094729 + Identifier 1094702 1094706 + TypeReference 1094709 1094729 + Identifier 1094709 1094729 + Identifier 1094731 1094736 + Identifier 1094737 1094769 + BarBarToken 1094770 1094773 + BinaryExpression 1094773 1094896 + PrefixUnaryExpression 1094773 1094827 + PrefixUnaryExpression 1094788 1094827 + ParenthesizedExpression 1094789 1094827 + BinaryExpression 1094790 1094826 + PropertyAccessExpression 1094790 1094800 + Identifier 1094790 1094794 + Identifier 1094795 1094800 + AmpersandToken 1094800 1094802 + PropertyAccessExpression 1094802 1094826 + Identifier 1094802 1094812 + Identifier 1094813 1094826 + AmpersandAmpersandToken 1094827 1094830 + CallExpression 1094830 1094896 + Identifier 1094830 1094862 + PropertyAccessExpression 1094863 1094895 + ParenthesizedExpression 1094863 1094890 + AsExpression 1094864 1094889 + Identifier 1094864 1094868 + TypeReference 1094871 1094889 + Identifier 1094871 1094889 + Identifier 1094891 1094895 + FunctionDeclaration 1094904 1095084 + Identifier 1094920 1094944 + Parameter 1094945 1094955 + Identifier 1094945 1094949 + TypeReference 1094950 1094955 + Identifier 1094950 1094955 + Block 1094956 1095084 + ReturnStatement 1094958 1095077 + BinaryExpression 1094974 1095076 + PrefixUnaryExpression 1094974 1095045 + PrefixUnaryExpression 1094976 1095045 + ParenthesizedExpression 1094977 1095045 + BinaryExpression 1094978 1095044 + PropertyAccessExpression 1094978 1094988 + Identifier 1094978 1094982 + Identifier 1094983 1094988 + AmpersandToken 1094988 1094990 + ParenthesizedExpression 1094990 1095044 + BinaryExpression 1094992 1095043 + PropertyAccessExpression 1094992 1095017 + Identifier 1094992 1095001 + Identifier 1095002 1095017 + BarToken 1095017 1095019 + PropertyAccessExpression 1095019 1095043 + Identifier 1095019 1095029 + Identifier 1095030 1095043 + AmpersandAmpersandToken 1095045 1095048 + PrefixUnaryExpression 1095048 1095076 + CallExpression 1095050 1095076 + Identifier 1095050 1095070 + Identifier 1095071 1095075 + FunctionDeclaration 1095084 1095191 + Identifier 1095100 1095114 + Parameter 1095115 1095125 + Identifier 1095115 1095119 + TypeReference 1095120 1095125 + Identifier 1095120 1095125 + BooleanKeyword 1095127 1095135 + Block 1095135 1095191 + ReturnStatement 1095137 1095184 + PrefixUnaryExpression 1095153 1095183 + PrefixUnaryExpression 1095155 1095183 + CallExpression 1095156 1095183 + Identifier 1095156 1095177 + Identifier 1095178 1095182 + FunctionDeclaration 1095191 1095340 + Identifier 1095207 1095227 + Parameter 1095228 1095238 + Identifier 1095228 1095232 + TypeReference 1095233 1095238 + Identifier 1095233 1095238 + BooleanKeyword 1095240 1095248 + Block 1095248 1095340 + ReturnStatement 1095250 1095333 + PrefixUnaryExpression 1095266 1095332 + PrefixUnaryExpression 1095268 1095332 + ParenthesizedExpression 1095269 1095332 + BinaryExpression 1095270 1095331 + CallExpression 1095270 1095297 + Identifier 1095270 1095291 + Identifier 1095292 1095296 + AmpersandToken 1095297 1095299 + PropertyAccessExpression 1095299 1095331 + Identifier 1095299 1095311 + Identifier 1095312 1095331 + FunctionDeclaration 1095340 1095487 + Identifier 1095356 1095375 + Parameter 1095376 1095386 + Identifier 1095376 1095380 + TypeReference 1095381 1095386 + Identifier 1095381 1095386 + BooleanKeyword 1095388 1095396 + Block 1095396 1095487 + ReturnStatement 1095398 1095480 + PrefixUnaryExpression 1095414 1095479 + PrefixUnaryExpression 1095416 1095479 + ParenthesizedExpression 1095417 1095479 + BinaryExpression 1095418 1095478 + CallExpression 1095418 1095445 + Identifier 1095418 1095439 + Identifier 1095440 1095444 + AmpersandToken 1095445 1095447 + PropertyAccessExpression 1095447 1095478 + Identifier 1095447 1095459 + Identifier 1095460 1095478 + FunctionDeclaration 1095487 1096893 + Identifier 1095503 1095525 + Parameter 1095526 1095536 + Identifier 1095526 1095530 + TypeReference 1095531 1095536 + Identifier 1095531 1095536 + TypeReference 1095538 1095550 + Identifier 1095538 1095550 + Block 1095550 1096893 + IfStatement 1095552 1096066 + BinaryExpression 1095566 1095610 + PropertyAccessExpression 1095566 1095576 + Identifier 1095566 1095570 + Identifier 1095571 1095576 + AmpersandToken 1095576 1095578 + ParenthesizedExpression 1095578 1095610 + PropertyAccessExpression 1095580 1095609 + Identifier 1095580 1095589 + Identifier 1095590 1095609 + Block 1095611 1096066 + IfStatement 1095613 1095960 + PrefixUnaryExpression 1095631 1095715 + ParenthesizedExpression 1095632 1095715 + BinaryExpression 1095633 1095714 + PropertyAccessExpression 1095633 1095678 + ParenthesizedExpression 1095633 1095666 + AsExpression 1095634 1095665 + Identifier 1095634 1095638 + TypeReference 1095641 1095665 + Identifier 1095641 1095665 + Identifier 1095667 1095678 + AmpersandToken 1095678 1095680 + PropertyAccessExpression 1095680 1095714 + Identifier 1095680 1095692 + Identifier 1095693 1095714 + Block 1095716 1095960 + ExpressionStatement 1095718 1095945 + BinaryExpression 1095718 1095944 + PropertyAccessExpression 1095718 1095781 + ParenthesizedExpression 1095718 1095769 + AsExpression 1095737 1095768 + Identifier 1095737 1095741 + TypeReference 1095744 1095768 + Identifier 1095744 1095768 + Identifier 1095770 1095781 + BarEqualsToken 1095781 1095784 + BinaryExpression 1095784 1095944 + PropertyAccessExpression 1095784 1095818 + Identifier 1095784 1095796 + Identifier 1095797 1095818 + BarToken 1095818 1095820 + CallExpression 1095820 1095944 + Identifier 1095820 1095852 + PropertyAccessExpression 1095853 1095892 + ParenthesizedExpression 1095853 1095886 + AsExpression 1095854 1095885 + Identifier 1095854 1095858 + TypeReference 1095861 1095885 + Identifier 1095861 1095885 + Identifier 1095887 1095892 + ArrowFunction 1095893 1095940 + Parameter 1095895 1095900 + Identifier 1095895 1095900 + Parameter 1095901 1095903 + Identifier 1095901 1095903 + EqualsGreaterThanToken 1095904 1095907 + BinaryExpression 1095907 1095940 + Identifier 1095907 1095913 + BarToken 1095913 1095915 + CallExpression 1095915 1095940 + Identifier 1095915 1095937 + Identifier 1095938 1095939 + NumericLiteral 1095941 1095943 + ReturnStatement 1095960 1096055 + BinaryExpression 1095980 1096054 + PropertyAccessExpression 1095980 1096026 + ParenthesizedExpression 1095980 1096014 + AsExpression 1095982 1096013 + Identifier 1095982 1095986 + TypeReference 1095989 1096013 + Identifier 1095989 1096013 + Identifier 1096015 1096026 + AmpersandToken 1096026 1096028 + PropertyAccessExpression 1096028 1096054 + Identifier 1096028 1096040 + Identifier 1096041 1096054 + IfStatement 1096066 1096569 + BinaryExpression 1096080 1096115 + PropertyAccessExpression 1096080 1096090 + Identifier 1096080 1096084 + Identifier 1096085 1096090 + AmpersandToken 1096090 1096092 + PropertyAccessExpression 1096092 1096115 + Identifier 1096092 1096102 + Identifier 1096103 1096115 + Block 1096116 1096569 + IfStatement 1096118 1096470 + PrefixUnaryExpression 1096136 1096213 + ParenthesizedExpression 1096137 1096213 + BinaryExpression 1096138 1096212 + PropertyAccessExpression 1096138 1096176 + ParenthesizedExpression 1096138 1096164 + AsExpression 1096139 1096163 + Identifier 1096139 1096143 + TypeReference 1096146 1096163 + Identifier 1096146 1096163 + Identifier 1096165 1096176 + AmpersandToken 1096176 1096178 + PropertyAccessExpression 1096178 1096212 + Identifier 1096178 1096190 + Identifier 1096191 1096212 + Block 1096214 1096470 + ExpressionStatement 1096216 1096455 + BinaryExpression 1096216 1096454 + PropertyAccessExpression 1096216 1096272 + ParenthesizedExpression 1096216 1096260 + AsExpression 1096235 1096259 + Identifier 1096235 1096239 + TypeReference 1096242 1096259 + Identifier 1096242 1096259 + Identifier 1096261 1096272 + BarEqualsToken 1096272 1096275 + BinaryExpression 1096275 1096454 + BinaryExpression 1096275 1096391 + PropertyAccessExpression 1096275 1096309 + Identifier 1096275 1096287 + Identifier 1096288 1096309 + BarToken 1096309 1096311 + CallExpression 1096311 1096391 + Identifier 1096311 1096354 + PropertyAccessExpression 1096355 1096390 + ParenthesizedExpression 1096355 1096381 + AsExpression 1096356 1096380 + Identifier 1096356 1096360 + TypeReference 1096363 1096380 + Identifier 1096363 1096380 + Identifier 1096382 1096390 + BarToken 1096391 1096393 + CallExpression 1096393 1096454 + Identifier 1096393 1096415 + PropertyAccessExpression 1096416 1096453 + ParenthesizedExpression 1096416 1096442 + AsExpression 1096417 1096441 + Identifier 1096417 1096421 + TypeReference 1096424 1096441 + Identifier 1096424 1096441 + Identifier 1096443 1096453 + ReturnStatement 1096470 1096558 + BinaryExpression 1096490 1096557 + PropertyAccessExpression 1096490 1096529 + ParenthesizedExpression 1096490 1096517 + AsExpression 1096492 1096516 + Identifier 1096492 1096496 + TypeReference 1096499 1096516 + Identifier 1096499 1096516 + Identifier 1096518 1096529 + AmpersandToken 1096529 1096531 + PropertyAccessExpression 1096531 1096557 + Identifier 1096531 1096543 + Identifier 1096544 1096557 + ReturnStatement 1096569 1096886 + BinaryExpression 1096585 1096885 + ParenthesizedExpression 1096585 1096730 + ConditionalExpression 1096587 1096729 + BinaryExpression 1096587 1096691 + BinaryExpression 1096587 1096663 + BinaryExpression 1096587 1096634 + PropertyAccessExpression 1096587 1096597 + Identifier 1096587 1096591 + Identifier 1096592 1096597 + AmpersandToken 1096597 1096599 + PropertyAccessExpression 1096599 1096634 + Identifier 1096599 1096609 + Identifier 1096610 1096634 + BarBarToken 1096634 1096637 + CallExpression 1096637 1096663 + Identifier 1096637 1096657 + Identifier 1096658 1096662 + BarBarToken 1096663 1096666 + CallExpression 1096666 1096691 + Identifier 1096666 1096685 + Identifier 1096686 1096690 + QuestionToken 1096691 1096693 + PropertyAccessExpression 1096693 1096725 + Identifier 1096693 1096705 + Identifier 1096706 1096725 + ColonToken 1096725 1096727 + NumericLiteral 1096727 1096729 + BarToken 1096730 1096732 + ParenthesizedExpression 1096732 1096885 + ConditionalExpression 1096747 1096884 + BinaryExpression 1096747 1096847 + BinaryExpression 1096747 1096814 + PropertyAccessExpression 1096747 1096757 + Identifier 1096747 1096751 + Identifier 1096752 1096757 + AmpersandToken 1096757 1096759 + ParenthesizedExpression 1096759 1096814 + BinaryExpression 1096761 1096813 + PropertyAccessExpression 1096761 1096795 + Identifier 1096761 1096770 + Identifier 1096771 1096795 + BarToken 1096795 1096797 + PropertyAccessExpression 1096797 1096813 + Identifier 1096797 1096807 + Identifier 1096808 1096813 + BarBarToken 1096814 1096817 + CallExpression 1096817 1096847 + Identifier 1096817 1096841 + Identifier 1096842 1096846 + QuestionToken 1096847 1096849 + PropertyAccessExpression 1096849 1096880 + Identifier 1096849 1096861 + Identifier 1096862 1096880 + ColonToken 1096880 1096882 + NumericLiteral 1096882 1096884 + FunctionDeclaration 1096893 1097230 + Identifier 1096909 1096927 + Parameter 1096928 1096938 + Identifier 1096928 1096932 + TypeReference 1096933 1096938 + Identifier 1096933 1096938 + Parameter 1096939 1096956 + Identifier 1096939 1096947 + BooleanKeyword 1096948 1096956 + TypeReference 1096958 1096963 + Identifier 1096958 1096963 + Block 1096963 1097230 + ReturnStatement 1096965 1097223 + ConditionalExpression 1096981 1097222 + BinaryExpression 1096981 1097018 + PropertyAccessExpression 1096981 1096992 + Identifier 1096981 1096986 + Identifier 1096987 1096992 + AmpersandToken 1096992 1096994 + PropertyAccessExpression 1096994 1097018 + Identifier 1096994 1097004 + Identifier 1097005 1097018 + QuestionToken 1097018 1097020 + CallExpression 1097020 1097087 + Identifier 1097020 1097051 + AsExpression 1097052 1097077 + Identifier 1097052 1097056 + TypeReference 1097059 1097077 + Identifier 1097059 1097077 + Identifier 1097078 1097086 + ColonToken 1097087 1097089 + ConditionalExpression 1097089 1097222 + BinaryExpression 1097089 1097137 + PropertyAccessExpression 1097089 1097113 + Identifier 1097089 1097107 + Identifier 1097108 1097113 + AmpersandToken 1097113 1097115 + PropertyAccessExpression 1097115 1097137 + Identifier 1097115 1097125 + Identifier 1097126 1097137 + QuestionToken 1097137 1097139 + CallExpression 1097139 1097202 + Identifier 1097139 1097168 + AsExpression 1097169 1097192 + Identifier 1097169 1097173 + TypeReference 1097176 1097192 + Identifier 1097176 1097192 + Identifier 1097193 1097201 + ColonToken 1097202 1097204 + Identifier 1097204 1097222 + FunctionDeclaration 1097230 1097889 + Identifier 1097246 1097276 + Parameter 1097277 1097293 + Identifier 1097277 1097287 + TypeReference 1097288 1097293 + Identifier 1097288 1097293 + Parameter 1097294 1097310 + Identifier 1097294 1097304 + TypeReference 1097305 1097310 + Identifier 1097305 1097310 + Parameter 1097311 1097328 + Identifier 1097311 1097319 + BooleanKeyword 1097320 1097328 + Block 1097329 1097889 + IfStatement 1097331 1097882 + BinaryExpression 1097479 1097595 + BinaryExpression 1097479 1097513 + PropertyAccessExpression 1097479 1097495 + Identifier 1097479 1097489 + Identifier 1097490 1097495 + AmpersandToken 1097495 1097497 + PropertyAccessExpression 1097497 1097513 + Identifier 1097497 1097507 + Identifier 1097508 1097513 + BarBarToken 1097513 1097516 + BinaryExpression 1097516 1097595 + BinaryExpression 1097516 1097558 + PropertyAccessExpression 1097516 1097533 + Identifier 1097516 1097527 + Identifier 1097528 1097533 + AmpersandToken 1097533 1097535 + PropertyAccessExpression 1097535 1097558 + Identifier 1097535 1097545 + Identifier 1097546 1097558 + AmpersandAmpersandToken 1097558 1097561 + PrefixUnaryExpression 1097561 1097595 + CallExpression 1097563 1097595 + Identifier 1097563 1097583 + Identifier 1097584 1097594 + Block 1097596 1097882 + VariableStatement 1097598 1097746 + VariableDeclarationList 1097598 1097745 + VariableDeclaration 1097617 1097745 + Identifier 1097617 1097623 + CallExpression 1097625 1097745 + Identifier 1097625 1097629 + PropertyAccessExpression 1097630 1097675 + ParenthesizedExpression 1097630 1097669 + AsExpression 1097631 1097668 + Identifier 1097631 1097641 + TypeReference 1097644 1097668 + Identifier 1097644 1097668 + Identifier 1097670 1097675 + ArrowFunction 1097676 1097744 + Parameter 1097676 1097678 + Identifier 1097676 1097678 + EqualsGreaterThanToken 1097678 1097681 + CallExpression 1097681 1097744 + Identifier 1097681 1097699 + CallExpression 1097700 1097734 + Identifier 1097700 1097720 + Identifier 1097721 1097722 + Identifier 1097723 1097733 + Identifier 1097735 1097743 + ReturnStatement 1097746 1097871 + ConditionalExpression 1097766 1097870 + BinaryExpression 1097766 1097819 + BinaryExpression 1097766 1097808 + PropertyAccessExpression 1097766 1097783 + Identifier 1097766 1097777 + Identifier 1097778 1097783 + AmpersandToken 1097783 1097785 + PropertyAccessExpression 1097785 1097808 + Identifier 1097785 1097795 + Identifier 1097796 1097808 + BarBarToken 1097808 1097811 + Identifier 1097811 1097819 + QuestionToken 1097819 1097821 + CallExpression 1097821 1097848 + Identifier 1097821 1097841 + Identifier 1097842 1097847 + ColonToken 1097848 1097850 + CallExpression 1097850 1097870 + Identifier 1097850 1097863 + Identifier 1097864 1097869 + FunctionDeclaration 1097889 1098364 + Identifier 1097905 1097935 + Parameter 1097936 1097952 + Identifier 1097936 1097946 + TypeReference 1097947 1097952 + Identifier 1097947 1097952 + Parameter 1097953 1097969 + Identifier 1097953 1097963 + TypeReference 1097964 1097969 + Identifier 1097964 1097969 + Parameter 1097970 1097987 + Identifier 1097970 1097978 + BooleanKeyword 1097979 1097987 + Block 1097988 1098364 + IfStatement 1097990 1098357 + BinaryExpression 1098096 1098129 + PropertyAccessExpression 1098096 1098111 + Identifier 1098096 1098105 + Identifier 1098106 1098111 + AmpersandToken 1098111 1098113 + PropertyAccessExpression 1098113 1098129 + Identifier 1098113 1098123 + Identifier 1098124 1098129 + Block 1098130 1098357 + VariableStatement 1098132 1098266 + VariableDeclarationList 1098132 1098265 + VariableDeclaration 1098151 1098265 + Identifier 1098151 1098157 + CallExpression 1098159 1098265 + Identifier 1098159 1098163 + PropertyAccessExpression 1098164 1098194 + ParenthesizedExpression 1098164 1098188 + AsExpression 1098165 1098187 + Identifier 1098165 1098174 + TypeReference 1098177 1098187 + Identifier 1098177 1098187 + Identifier 1098189 1098194 + ArrowFunction 1098195 1098264 + Parameter 1098195 1098197 + Identifier 1098195 1098197 + EqualsGreaterThanToken 1098197 1098200 + CallExpression 1098200 1098264 + Identifier 1098200 1098218 + CallExpression 1098219 1098254 + Identifier 1098219 1098239 + Identifier 1098240 1098250 + Identifier 1098251 1098253 + Identifier 1098255 1098263 + ReturnStatement 1098266 1098346 + ConditionalExpression 1098286 1098345 + Identifier 1098286 1098294 + QuestionToken 1098294 1098296 + CallExpression 1098296 1098323 + Identifier 1098296 1098316 + Identifier 1098317 1098322 + ColonToken 1098323 1098325 + CallExpression 1098325 1098345 + Identifier 1098325 1098338 + Identifier 1098339 1098344 + FunctionDeclaration 1098364 1101760 + Identifier 1098622 1098653 + Parameter 1098654 1098677 + Identifier 1098654 1098658 + TypeReference 1098659 1098677 + Identifier 1098659 1098677 + Parameter 1098678 1098695 + Identifier 1098678 1098686 + BooleanKeyword 1098687 1098695 + TypeReference 1098697 1098702 + Identifier 1098697 1098702 + Block 1098702 1101760 + VariableStatement 1098704 1098786 + VariableDeclarationList 1098704 1098785 + VariableDeclaration 1098719 1098785 + Identifier 1098719 1098725 + ConditionalExpression 1098727 1098785 + Identifier 1098727 1098735 + QuestionToken 1098735 1098737 + StringLiteral 1098737 1098760 + ColonToken 1098760 1098762 + StringLiteral 1098762 1098785 + IfStatement 1098786 1098906 + ElementAccessExpression 1098800 1098811 + Identifier 1098800 1098804 + Identifier 1098805 1098810 + Block 1098812 1098906 + ReturnStatement 1098814 1098895 + ConditionalExpression 1098834 1098894 + BinaryExpression 1098834 1098873 + ElementAccessExpression 1098834 1098846 + Identifier 1098834 1098839 + Identifier 1098840 1098845 + EqualsEqualsEqualsToken 1098846 1098850 + Identifier 1098850 1098873 + QuestionToken 1098873 1098875 + Identifier 1098875 1098880 + ColonToken 1098880 1098882 + ElementAccessExpression 1098882 1098894 + Identifier 1098882 1098887 + Identifier 1098888 1098893 + ExpressionStatement 1098906 1098953 + BinaryExpression 1098906 1098952 + ElementAccessExpression 1098906 1098927 + Identifier 1098906 1098920 + Identifier 1098921 1098926 + EqualsToken 1098927 1098929 + Identifier 1098929 1098952 + VariableStatement 1098953 1099253 + VariableDeclarationList 1098953 1099252 + VariableDeclaration 1099195 1099252 + Identifier 1099195 1099206 + CallExpression 1099208 1099252 + Identifier 1099208 1099226 + PropertyAccessExpression 1099227 1099242 + Identifier 1099227 1099231 + Identifier 1099232 1099242 + Identifier 1099243 1099251 + VariableStatement 1099253 1099324 + VariableDeclarationList 1099253 1099323 + VariableDeclaration 1099268 1099323 + Identifier 1099268 1099278 + CallExpression 1099280 1099323 + Identifier 1099280 1099298 + PropertyAccessExpression 1099299 1099313 + Identifier 1099299 1099303 + Identifier 1099304 1099313 + Identifier 1099314 1099322 + VariableStatement 1099324 1099517 + VariableDeclarationList 1099324 1099516 + VariableDeclaration 1099431 1099516 + Identifier 1099431 1099452 + CallExpression 1099454 1099516 + Identifier 1099454 1099484 + Identifier 1099485 1099495 + Identifier 1099496 1099506 + Identifier 1099507 1099515 + IfStatement 1099517 1099621 + Identifier 1099531 1099551 + Block 1099552 1099621 + ReturnStatement 1099554 1099610 + BinaryExpression 1099574 1099609 + ElementAccessExpression 1099574 1099586 + Identifier 1099574 1099579 + Identifier 1099580 1099585 + EqualsToken 1099586 1099588 + Identifier 1099588 1099609 + IfStatement 1099621 1100183 + PrefixUnaryExpression 1099756 1099799 + ParenthesizedExpression 1099757 1099799 + BinaryExpression 1099758 1099798 + PropertyAccessExpression 1099758 1099773 + Identifier 1099758 1099767 + Identifier 1099768 1099773 + AmpersandToken 1099773 1099775 + PropertyAccessExpression 1099775 1099798 + Identifier 1099775 1099785 + Identifier 1099786 1099798 + Block 1099800 1100183 + VariableStatement 1099802 1100054 + VariableDeclarationList 1099802 1100053 + VariableDeclaration 1099967 1100053 + Identifier 1099967 1099989 + CallExpression 1099991 1100053 + Identifier 1099991 1100021 + Identifier 1100022 1100032 + Identifier 1100033 1100043 + Identifier 1100044 1100052 + IfStatement 1100054 1100172 + Identifier 1100072 1100093 + Block 1100094 1100172 + ReturnStatement 1100096 1100157 + BinaryExpression 1100120 1100156 + ElementAccessExpression 1100120 1100132 + Identifier 1100120 1100125 + Identifier 1100126 1100131 + EqualsToken 1100132 1100134 + Identifier 1100134 1100156 + IfStatement 1100183 1101067 + BinaryExpression 1100703 1100775 + CallExpression 1100703 1100733 + Identifier 1100703 1100721 + Identifier 1100722 1100732 + AmpersandAmpersandToken 1100733 1100736 + BinaryExpression 1100736 1100775 + PropertyAccessExpression 1100736 1100752 + Identifier 1100736 1100746 + Identifier 1100747 1100752 + AmpersandToken 1100752 1100754 + PropertyAccessExpression 1100754 1100775 + Identifier 1100754 1100764 + Identifier 1100765 1100775 + Block 1100776 1101067 + VariableStatement 1100778 1100958 + VariableDeclarationList 1100778 1100957 + VariableDeclaration 1100797 1100957 + Identifier 1100797 1100809 + CallExpression 1100811 1100957 + Identifier 1100811 1100844 + Identifier 1100845 1100855 + ConditionalExpression 1100856 1100927 + BinaryExpression 1100856 1100891 + PropertyAccessExpression 1100856 1100872 + Identifier 1100856 1100866 + Identifier 1100867 1100872 + AmpersandToken 1100872 1100874 + PropertyAccessExpression 1100874 1100891 + Identifier 1100874 1100884 + Identifier 1100885 1100891 + QuestionToken 1100891 1100893 + NumericLiteral 1100893 1100895 + ColonToken 1100895 1100897 + PropertyAccessExpression 1100897 1100927 + PropertyAccessExpression 1100897 1100915 + Identifier 1100897 1100908 + Identifier 1100909 1100915 + Identifier 1100916 1100927 + NumericLiteral 1100928 1100947 + Identifier 1100948 1100956 + IfStatement 1100958 1101056 + Identifier 1100976 1100987 + Block 1100988 1101056 + ReturnStatement 1100990 1101041 + BinaryExpression 1101014 1101040 + ElementAccessExpression 1101014 1101026 + Identifier 1101014 1101019 + Identifier 1101020 1101025 + EqualsToken 1101026 1101028 + Identifier 1101028 1101040 + IfStatement 1101067 1101717 + CallExpression 1101422 1101453 + Identifier 1101422 1101441 + Identifier 1101442 1101452 + Block 1101454 1101717 + IfStatement 1101456 1101706 + BinaryExpression 1101474 1101548 + CallExpression 1101474 1101511 + Identifier 1101474 1101499 + Identifier 1101500 1101510 + ExclamationEqualsEqualsToken 1101511 1101515 + PropertyAccessExpression 1101515 1101548 + Identifier 1101515 1101538 + Identifier 1101539 1101548 + Block 1101549 1101706 + ReturnStatement 1101551 1101691 + BinaryExpression 1101575 1101690 + ElementAccessExpression 1101575 1101587 + Identifier 1101575 1101580 + Identifier 1101581 1101586 + EqualsToken 1101587 1101589 + CallExpression 1101589 1101690 + Identifier 1101589 1101597 + CallExpression 1101598 1101653 + Identifier 1101598 1101625 + Identifier 1101626 1101636 + PropertyAccessExpression 1101637 1101652 + Identifier 1101637 1101642 + Identifier 1101643 1101652 + ArrowFunction 1101654 1101689 + Parameter 1101654 1101656 + Identifier 1101654 1101656 + EqualsGreaterThanToken 1101656 1101659 + CallExpression 1101659 1101689 + Identifier 1101659 1101677 + Identifier 1101678 1101679 + Identifier 1101680 1101688 + ReturnStatement 1101717 1101753 + BinaryExpression 1101733 1101752 + ElementAccessExpression 1101733 1101745 + Identifier 1101733 1101738 + Identifier 1101739 1101744 + EqualsToken 1101745 1101747 + Identifier 1101747 1101752 + FunctionDeclaration 1101760 1103280 + Identifier 1101776 1101805 + Parameter 1101806 1101827 + Identifier 1101806 1101810 + TypeReference 1101811 1101827 + Identifier 1101811 1101827 + Parameter 1101828 1101845 + Identifier 1101828 1101836 + BooleanKeyword 1101837 1101845 + Block 1101846 1103280 + VariableStatement 1101848 1101891 + VariableDeclarationList 1101848 1101890 + VariableDeclaration 1101863 1101890 + Identifier 1101863 1101873 + PropertyAccessExpression 1101875 1101890 + Identifier 1101875 1101880 + Identifier 1101881 1101890 + VariableStatement 1101891 1101938 + VariableDeclarationList 1101891 1101937 + VariableDeclaration 1101906 1101937 + Identifier 1101906 1101918 + PropertyAccessExpression 1101920 1101937 + Identifier 1101920 1101925 + Identifier 1101926 1101937 + VariableStatement 1101938 1102002 + VariableDeclarationList 1101938 1102001 + VariableDeclaration 1101953 1102001 + Identifier 1101953 1101962 + CallExpression 1101964 1102001 + Identifier 1101964 1101995 + Identifier 1101996 1102000 + VariableStatement 1102002 1102068 + VariableDeclarationList 1102002 1102067 + VariableDeclaration 1102017 1102067 + Identifier 1102017 1102027 + CallExpression 1102029 1102067 + Identifier 1102029 1102061 + Identifier 1102062 1102066 + IfStatement 1102068 1103251 + BinaryExpression 1102189 1102294 + BinaryExpression 1102189 1102222 + PropertyAccessExpression 1102189 1102204 + Identifier 1102189 1102198 + Identifier 1102199 1102204 + AmpersandToken 1102204 1102206 + PropertyAccessExpression 1102206 1102222 + Identifier 1102206 1102216 + Identifier 1102217 1102222 + AmpersandAmpersandToken 1102222 1102225 + BinaryExpression 1102225 1102294 + CallExpression 1102225 1102257 + Identifier 1102225 1102247 + Identifier 1102248 1102256 + EqualsEqualsEqualsToken 1102257 1102261 + CallExpression 1102261 1102294 + Identifier 1102261 1102283 + Identifier 1102284 1102293 + Block 1102295 1102691 + IfStatement 1102297 1102680 + BinaryExpression 1102315 1102450 + BinaryExpression 1102315 1102346 + PropertyAccessExpression 1102315 1102330 + Identifier 1102315 1102324 + Identifier 1102325 1102330 + AmpersandToken 1102330 1102332 + PropertyAccessExpression 1102332 1102346 + Identifier 1102332 1102342 + Identifier 1102343 1102346 + BarBarToken 1102346 1102349 + CallExpression 1102349 1102450 + Identifier 1102349 1102368 + CallExpression 1102369 1102407 + Identifier 1102369 1102396 + Identifier 1102397 1102406 + CallExpression 1102408 1102449 + Identifier 1102408 1102436 + Identifier 1102437 1102448 + Block 1102451 1102545 + ReturnStatement 1102453 1102530 + CallExpression 1102492 1102529 + Identifier 1102492 1102510 + Identifier 1102511 1102519 + Identifier 1102520 1102528 + IfStatement 1102563 1102680 + CallExpression 1102568 1102611 + Identifier 1102568 1102587 + Identifier 1102588 1102597 + Identifier 1102598 1102610 + Block 1102612 1102680 + ReturnStatement 1102614 1102665 + Identifier 1102654 1102664 + IfStatement 1102705 1103251 + BinaryExpression 1102710 1102815 + BinaryExpression 1102710 1102742 + PropertyAccessExpression 1102710 1102724 + Identifier 1102710 1102718 + Identifier 1102719 1102724 + AmpersandToken 1102724 1102726 + PropertyAccessExpression 1102726 1102742 + Identifier 1102726 1102736 + Identifier 1102737 1102742 + AmpersandAmpersandToken 1102742 1102745 + BinaryExpression 1102745 1102815 + CallExpression 1102745 1102778 + Identifier 1102745 1102767 + Identifier 1102768 1102777 + EqualsEqualsEqualsToken 1102778 1102782 + CallExpression 1102782 1102815 + Identifier 1102782 1102804 + Identifier 1102805 1102814 + Block 1102816 1103251 + IfStatement 1102818 1103240 + BinaryExpression 1102836 1102974 + PrefixUnaryExpression 1102836 1102870 + ParenthesizedExpression 1102837 1102870 + BinaryExpression 1102838 1102869 + PropertyAccessExpression 1102838 1102853 + Identifier 1102838 1102847 + Identifier 1102848 1102853 + AmpersandToken 1102853 1102855 + PropertyAccessExpression 1102855 1102869 + Identifier 1102855 1102865 + Identifier 1102866 1102869 + AmpersandAmpersandToken 1102870 1102873 + CallExpression 1102873 1102974 + Identifier 1102873 1102892 + CallExpression 1102893 1102931 + Identifier 1102893 1102920 + Identifier 1102921 1102930 + CallExpression 1102932 1102973 + Identifier 1102932 1102960 + Identifier 1102961 1102972 + Block 1102975 1103042 + ReturnStatement 1102977 1103027 + Identifier 1103016 1103026 + IfStatement 1103060 1103240 + BinaryExpression 1103065 1103143 + BinaryExpression 1103065 1103096 + PropertyAccessExpression 1103065 1103080 + Identifier 1103065 1103074 + Identifier 1103075 1103080 + AmpersandToken 1103080 1103082 + PropertyAccessExpression 1103082 1103096 + Identifier 1103082 1103092 + Identifier 1103093 1103096 + BarBarToken 1103096 1103099 + CallExpression 1103099 1103143 + Identifier 1103099 1103119 + Identifier 1103120 1103129 + Identifier 1103130 1103142 + Block 1103144 1103240 + ReturnStatement 1103146 1103225 + CallExpression 1103186 1103224 + Identifier 1103186 1103204 + Identifier 1103205 1103214 + Identifier 1103215 1103223 + ReturnStatement 1103251 1103273 + Identifier 1103267 1103272 + FunctionDeclaration 1103280 1103588 + Identifier 1103432 1103452 + Parameter 1103453 1103464 + Identifier 1103453 1103458 + TypeReference 1103459 1103464 + Identifier 1103459 1103464 + Parameter 1103465 1103477 + Identifier 1103465 1103471 + TypeReference 1103472 1103477 + Identifier 1103472 1103477 + Block 1103478 1103588 + ReturnStatement 1103480 1103581 + PrefixUnaryExpression 1103496 1103580 + PrefixUnaryExpression 1103498 1103580 + ParenthesizedExpression 1103499 1103580 + BinaryExpression 1103500 1103579 + PropertyAccessExpression 1103500 1103561 + CallExpression 1103500 1103555 + Identifier 1103500 1103512 + ArrayLiteralExpression 1103513 1103554 + CallExpression 1103514 1103542 + Identifier 1103514 1103528 + Identifier 1103529 1103534 + Identifier 1103535 1103541 + Identifier 1103543 1103553 + Identifier 1103556 1103561 + AmpersandToken 1103561 1103563 + PropertyAccessExpression 1103563 1103579 + Identifier 1103563 1103573 + Identifier 1103574 1103579 + FunctionDeclaration 1103588 1104885 + Identifier 1104132 1104160 + Parameter 1104161 1104183 + Identifier 1104161 1104171 + TypeReference 1104172 1104183 + Identifier 1104172 1104183 + Parameter 1104184 1104196 + Identifier 1104184 1104190 + TypeReference 1104191 1104196 + Identifier 1104191 1104196 + Block 1104197 1104885 + VariableStatement 1104199 1104296 + VariableDeclarationList 1104199 1104295 + VariableDeclaration 1104214 1104295 + Identifier 1104214 1104221 + CallExpression 1104223 1104295 + Identifier 1104223 1104240 + ArrayLiteralExpression 1104241 1104285 + CallExpression 1104242 1104284 + Identifier 1104242 1104272 + Identifier 1104273 1104283 + ArrayLiteralExpression 1104286 1104294 + Identifier 1104288 1104293 + VariableStatement 1104296 1104375 + VariableDeclarationList 1104296 1104374 + VariableDeclaration 1104311 1104374 + Identifier 1104311 1104326 + CallExpression 1104328 1104374 + Identifier 1104328 1104347 + PropertyAccessExpression 1104348 1104365 + Identifier 1104348 1104358 + Identifier 1104359 1104365 + Identifier 1104366 1104373 + VariableStatement 1104375 1104528 + VariableDeclarationList 1104375 1104527 + VariableDeclaration 1104390 1104527 + Identifier 1104390 1104415 + CallExpression 1104417 1104527 + Identifier 1104417 1104433 + CallExpression 1104434 1104510 + Identifier 1104434 1104463 + BinaryExpression 1104464 1104509 + AsExpression 1104464 1104495 + PropertyAccessExpression 1104464 1104481 + Identifier 1104464 1104474 + Identifier 1104475 1104481 + TypeReference 1104484 1104495 + Identifier 1104484 1104495 + BarBarToken 1104495 1104498 + Identifier 1104498 1104509 + Identifier 1104511 1104526 + VariableStatement 1104528 1104787 + VariableDeclarationList 1104528 1104786 + VariableDeclaration 1104543 1104786 + Identifier 1104543 1104554 + BinaryExpression 1104556 1104786 + BinaryExpression 1104556 1104597 + CallExpression 1104556 1104593 + Identifier 1104556 1104581 + Identifier 1104582 1104592 + GreaterThanToken 1104593 1104595 + NumericLiteral 1104595 1104597 + BarBarToken 1104597 1104600 + ParenthesizedExpression 1104600 1104786 + ConditionalExpression 1104602 1104785 + CallExpression 1104602 1104627 + Identifier 1104602 1104615 + Identifier 1104616 1104626 + QuestionToken 1104627 1104629 + BinaryExpression 1104629 1104723 + CallExpression 1104629 1104719 + Identifier 1104629 1104675 + CallExpression 1104676 1104718 + Identifier 1104676 1104706 + Identifier 1104707 1104717 + GreaterThanToken 1104719 1104721 + NumericLiteral 1104721 1104723 + ColonToken 1104723 1104725 + CallExpression 1104725 1104785 + Identifier 1104725 1104766 + Identifier 1104767 1104777 + Identifier 1104778 1104784 + ReturnStatement 1104787 1104878 + CallExpression 1104803 1104877 + Identifier 1104803 1104818 + Identifier 1104819 1104843 + TrueKeyword 1104844 1104864 + Identifier 1104865 1104876 + FunctionDeclaration 1104885 1105410 + Identifier 1105015 1105043 + Parameter 1105044 1105060 + Identifier 1105044 1105054 + TypeReference 1105055 1105060 + Identifier 1105055 1105060 + Parameter 1105061 1105077 + Identifier 1105061 1105071 + TypeReference 1105072 1105077 + Identifier 1105072 1105077 + Block 1105078 1105410 + VariableStatement 1105080 1105149 + VariableDeclarationList 1105080 1105148 + VariableDeclaration 1105095 1105148 + Identifier 1105095 1105111 + CallExpression 1105113 1105148 + Identifier 1105113 1105137 + Identifier 1105138 1105147 + ReturnStatement 1105149 1105403 + BinaryExpression 1105165 1105402 + PrefixUnaryExpression 1105165 1105183 + PrefixUnaryExpression 1105167 1105183 + Identifier 1105168 1105183 + AmpersandAmpersandToken 1105183 1105186 + CallExpression 1105186 1105402 + Identifier 1105186 1105191 + CallExpression 1105192 1105223 + Identifier 1105192 1105211 + Identifier 1105212 1105222 + ArrowFunction 1105224 1105401 + Parameter 1105224 1105226 + Identifier 1105224 1105226 + EqualsGreaterThanToken 1105226 1105229 + BinaryExpression 1105229 1105401 + PrefixUnaryExpression 1105229 1105277 + PrefixUnaryExpression 1105244 1105277 + ParenthesizedExpression 1105245 1105277 + BinaryExpression 1105246 1105276 + PropertyAccessExpression 1105246 1105253 + Identifier 1105246 1105247 + Identifier 1105248 1105253 + AmpersandToken 1105253 1105255 + PropertyAccessExpression 1105255 1105276 + Identifier 1105255 1105267 + Identifier 1105268 1105276 + AmpersandAmpersandToken 1105277 1105280 + CallExpression 1105280 1105401 + Identifier 1105280 1105312 + CallExpression 1105313 1105383 + Identifier 1105313 1105339 + Identifier 1105340 1105341 + PropertyAccessExpression 1105342 1105382 + Identifier 1105342 1105352 + Identifier 1105353 1105382 + Identifier 1105384 1105400 + FunctionDeclaration 1105410 1105874 + Identifier 1105426 1105447 + Parameter 1105448 1105464 + Identifier 1105448 1105458 + TypeReference 1105459 1105464 + Identifier 1105459 1105464 + Parameter 1105465 1105481 + Identifier 1105465 1105475 + TypeReference 1105476 1105481 + Identifier 1105476 1105481 + Parameter 1105482 1105513 + Identifier 1105482 1105494 + PropertyAccessExpression 1105496 1105513 + Identifier 1105496 1105508 + Identifier 1105509 1105513 + Parameter 1105514 1105626 + Identifier 1105514 1105525 + QuestionToken 1105525 1105526 + UnionType 1105527 1105626 + TypeReference 1105527 1105551 + Identifier 1105527 1105551 + TypeReference 1105553 1105575 + Identifier 1105553 1105575 + TypeReference 1105577 1105590 + Identifier 1105577 1105590 + TypeReference 1105592 1105604 + Identifier 1105592 1105604 + TypeReference 1105606 1105626 + Identifier 1105606 1105626 + Parameter 1105627 1105648 + Identifier 1105627 1105639 + QuestionToken 1105639 1105640 + TypeReference 1105641 1105648 + Identifier 1105641 1105648 + Parameter 1105649 1105686 + Identifier 1105649 1105668 + QuestionToken 1105668 1105669 + TypeOperator 1105670 1105686 + ArrayType 1105679 1105686 + TypeReference 1105679 1105684 + Identifier 1105679 1105684 + TypeReference 1105688 1105693 + Identifier 1105688 1105693 + Block 1105693 1105874 + ReturnStatement 1105695 1105867 + BinaryExpression 1105711 1105866 + CallExpression 1105711 1105824 + Identifier 1105711 1105743 + Identifier 1105744 1105754 + Identifier 1105755 1105765 + Identifier 1105766 1105778 + Identifier 1105779 1105790 + Identifier 1105791 1105803 + Identifier 1105804 1105823 + BarBarToken 1105824 1105827 + ParenthesizedExpression 1105827 1105866 + ConditionalExpression 1105829 1105865 + Identifier 1105829 1105839 + QuestionToken 1105839 1105841 + Identifier 1105841 1105851 + ColonToken 1105851 1105853 + Identifier 1105853 1105865 + FunctionDeclaration 1105874 1106390 + Identifier 1105890 1105908 + Parameter 1105909 1105924 + Identifier 1105909 1105918 + TypeReference 1105919 1105924 + Identifier 1105919 1105924 + Parameter 1105925 1105939 + Identifier 1105925 1105931 + NumberKeyword 1105932 1105939 + Block 1105940 1106390 + ReturnStatement 1105942 1106383 + CallExpression 1105958 1106382 + Identifier 1105958 1105968 + Identifier 1105969 1105978 + ArrowFunction 1105979 1106381 + Parameter 1105979 1105981 + Identifier 1105979 1105981 + EqualsGreaterThanToken 1105981 1105984 + Block 1105984 1106381 + IfStatement 1105986 1106343 + BinaryExpression 1106004 1106045 + PropertyAccessExpression 1106004 1106011 + Identifier 1106004 1106005 + Identifier 1106006 1106011 + AmpersandToken 1106011 1106013 + PropertyAccessExpression 1106013 1106045 + Identifier 1106013 1106023 + Identifier 1106024 1106045 + Block 1106046 1106343 + VariableStatement 1106048 1106151 + VariableDeclarationList 1106048 1106150 + VariableDeclaration 1106071 1106150 + Identifier 1106071 1106080 + CallExpression 1106082 1106150 + Identifier 1106082 1106106 + AsExpression 1106107 1106149 + Identifier 1106107 1106108 + UnionType 1106111 1106149 + TypeReference 1106111 1106129 + Identifier 1106111 1106129 + TypeReference 1106131 1106149 + Identifier 1106131 1106149 + IfStatement 1106151 1106328 + CallExpression 1106173 1106203 + Identifier 1106173 1106193 + Identifier 1106194 1106202 + Block 1106204 1106328 + VariableStatement 1106206 1106252 + VariableDeclarationList 1106206 1106251 + VariableDeclaration 1106233 1106251 + Identifier 1106233 1106239 + PrefixUnaryExpression 1106241 1106251 + Identifier 1106243 1106251 + ReturnStatement 1106252 1106309 + BinaryExpression 1106280 1106308 + BinaryExpression 1106280 1106291 + Identifier 1106280 1106286 + GreaterThanEqualsToken 1106286 1106289 + NumericLiteral 1106289 1106291 + AmpersandAmpersandToken 1106291 1106294 + BinaryExpression 1106294 1106308 + Identifier 1106294 1106300 + LessThanToken 1106300 1106302 + Identifier 1106302 1106308 + ReturnStatement 1106343 1106370 + FalseKeyword 1106363 1106369 + FunctionDeclaration 1106390 1111319 + Identifier 1106406 1106438 + Parameter 1106439 1106455 + Identifier 1106439 1106449 + TypeReference 1106450 1106455 + Identifier 1106450 1106455 + Parameter 1106456 1106472 + Identifier 1106456 1106466 + TypeReference 1106467 1106472 + Identifier 1106467 1106472 + Parameter 1106473 1106504 + Identifier 1106473 1106485 + PropertyAccessExpression 1106487 1106504 + Identifier 1106487 1106499 + Identifier 1106500 1106504 + Parameter 1106505 1106617 + Identifier 1106505 1106516 + QuestionToken 1106516 1106517 + UnionType 1106518 1106617 + TypeReference 1106518 1106542 + Identifier 1106518 1106542 + TypeReference 1106544 1106566 + Identifier 1106544 1106566 + TypeReference 1106568 1106581 + Identifier 1106568 1106581 + TypeReference 1106583 1106595 + Identifier 1106583 1106595 + TypeReference 1106597 1106617 + Identifier 1106597 1106617 + Parameter 1106618 1106639 + Identifier 1106618 1106630 + QuestionToken 1106630 1106631 + TypeReference 1106632 1106639 + Identifier 1106632 1106639 + Parameter 1106640 1106677 + Identifier 1106640 1106659 + QuestionToken 1106659 1106660 + TypeOperator 1106661 1106677 + ArrayType 1106670 1106677 + TypeReference 1106670 1106675 + Identifier 1106670 1106675 + UnionType 1106679 1106696 + TypeReference 1106679 1106684 + Identifier 1106679 1106684 + UndefinedKeyword 1106686 1106696 + Block 1106696 1111319 + IfStatement 1106698 1106817 + BinaryExpression 1106712 1106769 + BinaryExpression 1106712 1106739 + Identifier 1106712 1106722 + EqualsEqualsEqualsToken 1106722 1106726 + Identifier 1106726 1106739 + BarBarToken 1106739 1106742 + BinaryExpression 1106742 1106769 + Identifier 1106742 1106752 + EqualsEqualsEqualsToken 1106752 1106756 + Identifier 1106756 1106769 + Block 1106770 1106817 + ReturnStatement 1106772 1106806 + Identifier 1106792 1106805 + ExpressionStatement 1106817 1106867 + BinaryExpression 1106817 1106866 + Identifier 1106817 1106837 + EqualsToken 1106837 1106839 + CallExpression 1106839 1106866 + Identifier 1106839 1106854 + Identifier 1106855 1106865 + IfStatement 1106867 1107289 + BinaryExpression 1107079 1107238 + BinaryExpression 1107079 1107164 + CallExpression 1107079 1107121 + Identifier 1107079 1107109 + Identifier 1107110 1107120 + AmpersandAmpersandToken 1107121 1107124 + PrefixUnaryExpression 1107124 1107164 + ParenthesizedExpression 1107126 1107164 + BinaryExpression 1107127 1107163 + PropertyAccessExpression 1107127 1107142 + Identifier 1107127 1107136 + Identifier 1107137 1107142 + AmpersandToken 1107142 1107144 + PropertyAccessExpression 1107144 1107163 + Identifier 1107144 1107154 + Identifier 1107155 1107163 + AmpersandAmpersandToken 1107164 1107167 + CallExpression 1107167 1107238 + Identifier 1107167 1107190 + Identifier 1107191 1107200 + BinaryExpression 1107201 1107237 + PropertyAccessExpression 1107201 1107218 + Identifier 1107201 1107211 + Identifier 1107212 1107218 + BarToken 1107218 1107220 + PropertyAccessExpression 1107220 1107237 + Identifier 1107220 1107230 + Identifier 1107231 1107237 + Block 1107239 1107289 + ExpressionStatement 1107241 1107278 + BinaryExpression 1107241 1107277 + Identifier 1107241 1107264 + EqualsToken 1107264 1107266 + Identifier 1107266 1107277 + IfStatement 1107289 1107643 + BinaryExpression 1107509 1107597 + PropertyAccessExpression 1107509 1107549 + Identifier 1107509 1107524 + Identifier 1107525 1107549 + AmpersandAmpersandToken 1107549 1107552 + BinaryExpression 1107552 1107597 + Identifier 1107552 1107564 + AmpersandToken 1107564 1107566 + PropertyAccessExpression 1107566 1107597 + Identifier 1107566 1107578 + Identifier 1107579 1107597 + ExpressionStatement 1107598 1107643 + BinaryExpression 1107598 1107642 + Identifier 1107598 1107610 + BarEqualsToken 1107610 1107613 + PropertyAccessExpression 1107613 1107642 + Identifier 1107613 1107625 + Identifier 1107626 1107642 + IfStatement 1107643 1109471 + BinaryExpression 1108331 1108768 + CallExpression 1108331 1108374 + Identifier 1108331 1108363 + Identifier 1108364 1108373 + BarBarToken 1108374 1108377 + ParenthesizedExpression 1108377 1108768 + ConditionalExpression 1108379 1108767 + BinaryExpression 1108379 1108441 + Identifier 1108379 1108389 + AmpersandAmpersandToken 1108389 1108392 + BinaryExpression 1108392 1108441 + PropertyAccessExpression 1108392 1108408 + Identifier 1108392 1108403 + Identifier 1108404 1108408 + ExclamationEqualsEqualsToken 1108408 1108412 + PropertyAccessExpression 1108412 1108441 + Identifier 1108412 1108423 + Identifier 1108424 1108441 + QuestionToken 1108441 1108443 + BinaryExpression 1108443 1108570 + CallExpression 1108443 1108491 + Identifier 1108443 1108479 + Identifier 1108480 1108490 + AmpersandAmpersandToken 1108491 1108494 + PrefixUnaryExpression 1108494 1108570 + CallExpression 1108496 1108570 + Identifier 1108496 1108513 + Identifier 1108514 1108523 + CallExpression 1108524 1108569 + Identifier 1108524 1108550 + PropertyAccessExpression 1108551 1108568 + Identifier 1108551 1108561 + Identifier 1108562 1108568 + ColonToken 1108570 1108572 + BinaryExpression 1108572 1108767 + BinaryExpression 1108572 1108729 + CallExpression 1108572 1108621 + Identifier 1108572 1108609 + Identifier 1108610 1108620 + AmpersandAmpersandToken 1108621 1108624 + PrefixUnaryExpression 1108624 1108729 + ParenthesizedExpression 1108626 1108729 + BinaryExpression 1108627 1108728 + CallExpression 1108627 1108650 + Identifier 1108627 1108638 + Identifier 1108639 1108649 + AmpersandAmpersandToken 1108650 1108653 + CallExpression 1108653 1108728 + Identifier 1108653 1108671 + Identifier 1108672 1108681 + CallExpression 1108682 1108727 + Identifier 1108682 1108708 + PropertyAccessExpression 1108709 1108726 + Identifier 1108709 1108719 + Identifier 1108720 1108726 + BarBarToken 1108729 1108732 + CallExpression 1108732 1108767 + Identifier 1108732 1108755 + Identifier 1108756 1108766 + Block 1108779 1109471 + IfStatement 1108781 1108894 + BinaryExpression 1108799 1108840 + PropertyAccessExpression 1108799 1108815 + Identifier 1108799 1108809 + Identifier 1108810 1108815 + AmpersandToken 1108815 1108817 + PropertyAccessExpression 1108817 1108840 + Identifier 1108817 1108827 + Identifier 1108828 1108840 + Block 1108841 1108894 + ReturnStatement 1108843 1108879 + Identifier 1108867 1108878 + VariableStatement 1108894 1109047 + VariableDeclarationList 1108894 1109046 + VariableDeclaration 1108985 1109046 + Identifier 1108985 1109007 + BinaryExpression 1109009 1109046 + Identifier 1109009 1109021 + AmpersandToken 1109021 1109023 + PropertyAccessExpression 1109023 1109046 + Identifier 1109023 1109035 + Identifier 1109036 1109046 + VariableStatement 1109047 1109183 + VariableDeclarationList 1109047 1109182 + VariableDeclaration 1109066 1109182 + Identifier 1109066 1109069 + BinaryExpression 1109071 1109182 + BinaryExpression 1109071 1109136 + BinaryExpression 1109071 1109112 + BinaryExpression 1109071 1109106 + BinaryExpression 1109071 1109091 + PropertyAccessExpression 1109071 1109085 + Identifier 1109071 1109082 + Identifier 1109083 1109085 + PlusToken 1109085 1109087 + StringLiteral 1109087 1109091 + PlusToken 1109091 1109093 + PropertyAccessExpression 1109093 1109106 + Identifier 1109093 1109103 + Identifier 1109104 1109106 + PlusToken 1109106 1109108 + StringLiteral 1109108 1109112 + PlusToken 1109112 1109114 + Identifier 1109114 1109136 + PlusToken 1109136 1109138 + CallExpression 1109138 1109182 + Identifier 1109138 1109149 + Identifier 1109150 1109161 + Identifier 1109162 1109181 + VariableStatement 1109183 1109235 + VariableDeclarationList 1109183 1109234 + VariableDeclaration 1109200 1109234 + Identifier 1109200 1109205 + CallExpression 1109207 1109234 + PropertyAccessExpression 1109207 1109230 + Identifier 1109207 1109226 + Identifier 1109227 1109230 + Identifier 1109231 1109233 + IfStatement 1109235 1109432 + PrefixUnaryExpression 1109253 1109258 + Identifier 1109254 1109258 + Block 1109259 1109432 + ExpressionStatement 1109261 1109417 + CallExpression 1109261 1109416 + PropertyAccessExpression 1109261 1109301 + Identifier 1109261 1109297 + Identifier 1109298 1109301 + Identifier 1109302 1109304 + BinaryExpression 1109305 1109415 + Identifier 1109305 1109310 + EqualsToken 1109310 1109312 + CallExpression 1109312 1109415 + Identifier 1109312 1109336 + Identifier 1109337 1109347 + Identifier 1109348 1109358 + Identifier 1109359 1109381 + Identifier 1109382 1109394 + Identifier 1109395 1109414 + ReturnStatement 1109432 1109460 + Identifier 1109454 1109459 + VariableStatement 1109471 1109823 + VariableDeclarationList 1109471 1109822 + VariableDeclaration 1109766 1109822 + Identifier 1109766 1109785 + CallExpression 1109787 1109822 + Identifier 1109787 1109810 + Identifier 1109811 1109821 + IfStatement 1109823 1111131 + BinaryExpression 1109837 1109912 + BinaryExpression 1109837 1109870 + PropertyAccessExpression 1109837 1109852 + Identifier 1109837 1109846 + Identifier 1109847 1109852 + AmpersandToken 1109852 1109854 + PropertyAccessExpression 1109854 1109870 + Identifier 1109854 1109864 + Identifier 1109865 1109870 + AmpersandAmpersandToken 1109870 1109873 + PrefixUnaryExpression 1109873 1109912 + ParenthesizedExpression 1109875 1109912 + BinaryExpression 1109876 1109911 + PropertyAccessExpression 1109876 1109891 + Identifier 1109876 1109885 + Identifier 1109886 1109891 + AmpersandToken 1109891 1109893 + PropertyAccessExpression 1109893 1109911 + Identifier 1109893 1109903 + Identifier 1109904 1109911 + Block 1109913 1111131 + VariableStatement 1109915 1109958 + VariableDeclarationList 1109915 1109957 + VariableDeclaration 1109934 1109957 + Identifier 1109934 1109944 + ArrayType 1109945 1109952 + TypeReference 1109945 1109950 + Identifier 1109945 1109950 + ArrayLiteralExpression 1109954 1109957 + VariableStatement 1109958 1109999 + VariableDeclarationList 1109958 1109998 + VariableDeclaration 1109975 1109998 + Identifier 1109975 1109990 + FalseKeyword 1109992 1109998 + ForOfStatement 1109999 1110773 + VariableDeclarationList 1110018 1110025 + VariableDeclaration 1110023 1110025 + Identifier 1110023 1110025 + PropertyAccessExpression 1110028 1110059 + ParenthesizedExpression 1110028 1110053 + AsExpression 1110030 1110052 + Identifier 1110030 1110039 + TypeReference 1110042 1110052 + Identifier 1110042 1110052 + Identifier 1110054 1110059 + Block 1110060 1110773 + VariableStatement 1110062 1110260 + VariableDeclarationList 1110062 1110259 + VariableDeclaration 1110085 1110259 + Identifier 1110085 1110094 + CallExpression 1110096 1110259 + Identifier 1110096 1110124 + Identifier 1110125 1110135 + Identifier 1110136 1110155 + Identifier 1110156 1110158 + Identifier 1110159 1110169 + Identifier 1110170 1110181 + BinaryExpression 1110182 1110258 + Identifier 1110182 1110194 + BarToken 1110194 1110196 + ParenthesizedExpression 1110196 1110258 + ConditionalExpression 1110198 1110257 + Identifier 1110198 1110212 + QuestionToken 1110212 1110214 + PropertyAccessExpression 1110214 1110253 + Identifier 1110214 1110226 + Identifier 1110227 1110253 + ColonToken 1110253 1110255 + NumericLiteral 1110255 1110257 + IfStatement 1110260 1110758 + Identifier 1110282 1110290 + Block 1110291 1110359 + ExpressionStatement 1110293 1110340 + CallExpression 1110293 1110339 + PropertyAccessExpression 1110293 1110329 + Identifier 1110293 1110324 + Identifier 1110325 1110329 + Identifier 1110330 1110338 + IfStatement 1110381 1110758 + PrefixUnaryExpression 1110386 1110397 + Identifier 1110387 1110397 + Block 1110398 1110561 + ReturnStatement 1110400 1110542 + Identifier 1110531 1110541 + Block 1110583 1110758 + ExpressionStatement 1110585 1110739 + BinaryExpression 1110585 1110738 + Identifier 1110585 1110731 + EqualsToken 1110731 1110733 + TrueKeyword 1110733 1110738 + IfStatement 1110773 1110858 + Identifier 1110791 1110805 + Block 1110806 1110858 + ReturnStatement 1110808 1110843 + Identifier 1110832 1110842 + ReturnStatement 1110858 1111120 + ConditionalExpression 1110878 1111119 + BinaryExpression 1110878 1110912 + Identifier 1110878 1110890 + AmpersandToken 1110890 1110892 + PropertyAccessExpression 1110892 1110912 + Identifier 1110892 1110904 + Identifier 1110905 1110912 + QuestionToken 1110912 1110931 + CallExpression 1110931 1111019 + Identifier 1110931 1110951 + Identifier 1110952 1110961 + PropertyAccessExpression 1110962 1110985 + Identifier 1110962 1110980 + Identifier 1110981 1110985 + Identifier 1110986 1110998 + Identifier 1110999 1111018 + ColonToken 1111019 1111038 + CallExpression 1111038 1111119 + Identifier 1111038 1111051 + Identifier 1111052 1111061 + PropertyAccessExpression 1111062 1111085 + Identifier 1111062 1111077 + Identifier 1111078 1111085 + Identifier 1111086 1111098 + Identifier 1111099 1111118 + ReturnStatement 1111131 1111312 + CallExpression 1111147 1111311 + Identifier 1111147 1111175 + Identifier 1111176 1111186 + Identifier 1111187 1111206 + Identifier 1111207 1111217 + Identifier 1111218 1111228 + Identifier 1111229 1111240 + BinaryExpression 1111241 1111310 + BinaryExpression 1111241 1111279 + Identifier 1111241 1111253 + BarToken 1111253 1111255 + PropertyAccessExpression 1111255 1111279 + Identifier 1111255 1111267 + Identifier 1111268 1111279 + BarToken 1111279 1111281 + PropertyAccessExpression 1111281 1111310 + Identifier 1111281 1111293 + Identifier 1111294 1111310 + FunctionDeclaration 1111319 1111906 + Identifier 1111335 1111368 + Parameter 1111369 1111396 + Identifier 1111369 1111373 + TypeReference 1111374 1111396 + Identifier 1111374 1111396 + Block 1111397 1111906 + VariableStatement 1111399 1111442 + VariableDeclarationList 1111399 1111441 + VariableDeclaration 1111414 1111441 + Identifier 1111414 1111420 + CallExpression 1111422 1111441 + Identifier 1111422 1111435 + Identifier 1111436 1111440 + IfStatement 1111442 1111863 + PrefixUnaryExpression 1111456 1111475 + PropertyAccessExpression 1111457 1111475 + Identifier 1111457 1111462 + Identifier 1111463 1111475 + Block 1111476 1111863 + VariableStatement 1111478 1111548 + VariableDeclarationList 1111478 1111547 + VariableDeclaration 1111497 1111547 + Identifier 1111497 1111508 + CallExpression 1111510 1111547 + Identifier 1111510 1111530 + PropertyAccessExpression 1111531 1111546 + Identifier 1111531 1111535 + Identifier 1111536 1111546 + VariableStatement 1111548 1111616 + VariableDeclarationList 1111548 1111615 + VariableDeclaration 1111567 1111615 + Identifier 1111567 1111577 + CallExpression 1111579 1111615 + Identifier 1111579 1111599 + PropertyAccessExpression 1111600 1111614 + Identifier 1111600 1111604 + Identifier 1111605 1111614 + VariableStatement 1111616 1111685 + VariableDeclarationList 1111616 1111684 + VariableDeclaration 1111635 1111684 + Identifier 1111635 1111650 + CallExpression 1111652 1111684 + Identifier 1111652 1111678 + Identifier 1111679 1111683 + ExpressionStatement 1111685 1111852 + BinaryExpression 1111685 1111851 + PropertyAccessExpression 1111685 1111717 + Identifier 1111685 1111704 + Identifier 1111705 1111717 + EqualsToken 1111717 1111719 + CallExpression 1111719 1111851 + Identifier 1111719 1111740 + Identifier 1111741 1111751 + Identifier 1111752 1111762 + PropertyAccessExpression 1111763 1111780 + Identifier 1111763 1111775 + Identifier 1111776 1111780 + Identifier 1111781 1111786 + Identifier 1111787 1111802 + CallExpression 1111803 1111850 + Identifier 1111803 1111834 + Identifier 1111835 1111849 + ReturnStatement 1111863 1111899 + PropertyAccessExpression 1111879 1111898 + Identifier 1111879 1111885 + Identifier 1111886 1111898 + FunctionDeclaration 1111906 1112662 + Identifier 1111922 1111948 + Parameter 1111949 1111969 + Identifier 1111949 1111953 + TypeReference 1111954 1111969 + Identifier 1111954 1111969 + TypeReference 1111971 1111976 + Identifier 1111971 1111976 + Block 1111976 1112662 + VariableStatement 1111978 1112021 + VariableDeclarationList 1111978 1112020 + VariableDeclaration 1111993 1112020 + Identifier 1111993 1111999 + CallExpression 1112001 1112020 + Identifier 1112001 1112014 + Identifier 1112015 1112019 + IfStatement 1112021 1112619 + PrefixUnaryExpression 1112035 1112054 + PropertyAccessExpression 1112036 1112054 + Identifier 1112036 1112041 + Identifier 1112042 1112054 + Block 1112055 1112619 + VariableStatement 1112057 1112148 + VariableDeclarationList 1112057 1112147 + VariableDeclaration 1112076 1112147 + Identifier 1112076 1112081 + AsExpression 1112083 1112147 + CallExpression 1112083 1112133 + Identifier 1112083 1112100 + PropertyAccessExpression 1112101 1112119 + Identifier 1112101 1112112 + Identifier 1112113 1112119 + PropertyAccessExpression 1112120 1112132 + Identifier 1112120 1112125 + Identifier 1112126 1112132 + TypeReference 1112136 1112147 + Identifier 1112136 1112147 + ExpressionStatement 1112148 1112186 + BinaryExpression 1112148 1112185 + PropertyAccessExpression 1112148 1112178 + Identifier 1112148 1112166 + Identifier 1112167 1112178 + EqualsToken 1112178 1112180 + Identifier 1112180 1112185 + ExpressionStatement 1112186 1112251 + BinaryExpression 1112186 1112250 + PropertyAccessExpression 1112186 1112216 + Identifier 1112186 1112204 + Identifier 1112205 1112216 + EqualsToken 1112216 1112218 + CallExpression 1112218 1112250 + Identifier 1112218 1112244 + Identifier 1112245 1112249 + ExpressionStatement 1112251 1112340 + BinaryExpression 1112251 1112339 + PropertyAccessExpression 1112251 1112288 + Identifier 1112251 1112269 + Identifier 1112270 1112288 + EqualsToken 1112288 1112290 + CallExpression 1112290 1112339 + Identifier 1112290 1112321 + PropertyAccessExpression 1112322 1112338 + Identifier 1112322 1112326 + Identifier 1112327 1112338 + ExpressionStatement 1112340 1112380 + BinaryExpression 1112340 1112379 + PropertyAccessExpression 1112340 1112372 + Identifier 1112340 1112359 + Identifier 1112360 1112372 + EqualsToken 1112372 1112374 + Identifier 1112374 1112379 + ExpressionStatement 1112380 1112608 + CallExpression 1112380 1112607 + Identifier 1112380 1112601 + Identifier 1112602 1112606 + ReturnStatement 1112619 1112655 + PropertyAccessExpression 1112635 1112654 + Identifier 1112635 1112641 + Identifier 1112642 1112654 + FunctionDeclaration 1112662 1113343 + Identifier 1112678 1112700 + Parameter 1112701 1112711 + Identifier 1112701 1112705 + TypeReference 1112706 1112711 + Identifier 1112706 1112711 + TypeReference 1112713 1112718 + Identifier 1112713 1112718 + Block 1112718 1113343 + IfStatement 1112720 1112863 + BinaryExpression 1112734 1112769 + PropertyAccessExpression 1112734 1112744 + Identifier 1112734 1112738 + Identifier 1112739 1112744 + AmpersandToken 1112744 1112746 + PropertyAccessExpression 1112746 1112769 + Identifier 1112746 1112756 + Identifier 1112757 1112769 + Block 1112770 1112863 + ReturnStatement 1112772 1112852 + CallExpression 1112792 1112851 + Identifier 1112792 1112814 + PropertyAccessExpression 1112815 1112850 + ParenthesizedExpression 1112815 1112841 + AsExpression 1112816 1112840 + Identifier 1112816 1112820 + TypeReference 1112823 1112840 + Identifier 1112823 1112840 + Identifier 1112842 1112850 + IfStatement 1112863 1113314 + BinaryExpression 1112877 1113123 + BinaryExpression 1112877 1112927 + PropertyAccessExpression 1112877 1112901 + Identifier 1112877 1112895 + Identifier 1112896 1112901 + AmpersandToken 1112901 1112903 + PropertyAccessExpression 1112903 1112927 + Identifier 1112903 1112913 + Identifier 1112914 1112927 + AmpersandAmpersandToken 1112927 1112930 + ParenthesizedExpression 1112930 1113123 + BinaryExpression 1112932 1113108 + BinaryExpression 1112932 1113019 + PropertyAccessExpression 1112932 1112994 + PropertyAccessExpression 1112932 1112988 + ParenthesizedExpression 1112932 1112977 + AsExpression 1112951 1112976 + Identifier 1112951 1112955 + TypeReference 1112958 1112976 + Identifier 1112958 1112976 + Identifier 1112978 1112988 + Identifier 1112989 1112994 + AmpersandToken 1112994 1112996 + PropertyAccessExpression 1112996 1113019 + Identifier 1112996 1113006 + Identifier 1113007 1113019 + BarBarToken 1113019 1113022 + BinaryExpression 1113022 1113108 + PropertyAccessExpression 1113022 1113083 + PropertyAccessExpression 1113022 1113077 + ParenthesizedExpression 1113022 1113067 + AsExpression 1113041 1113066 + Identifier 1113041 1113045 + TypeReference 1113048 1113066 + Identifier 1113048 1113066 + Identifier 1113068 1113077 + Identifier 1113078 1113083 + AmpersandToken 1113083 1113085 + PropertyAccessExpression 1113085 1113108 + Identifier 1113085 1113095 + Identifier 1113096 1113108 + Block 1113134 1113314 + ReturnStatement 1113136 1113303 + CallExpression 1113156 1113302 + Identifier 1113156 1113177 + CallExpression 1113178 1113239 + Identifier 1113178 1113199 + PropertyAccessExpression 1113200 1113238 + ParenthesizedExpression 1113200 1113227 + AsExpression 1113201 1113226 + Identifier 1113201 1113205 + TypeReference 1113208 1113226 + Identifier 1113208 1113226 + Identifier 1113228 1113238 + CallExpression 1113240 1113301 + Identifier 1113240 1113262 + PropertyAccessExpression 1113263 1113300 + ParenthesizedExpression 1113263 1113290 + AsExpression 1113264 1113289 + Identifier 1113264 1113268 + TypeReference 1113271 1113289 + Identifier 1113271 1113289 + Identifier 1113291 1113300 + ReturnStatement 1113314 1113336 + Identifier 1113330 1113335 + FunctionDeclaration 1113343 1113633 + Identifier 1113359 1113377 + Parameter 1113378 1113392 + Identifier 1113378 1113382 + TypeReference 1113383 1113392 + Identifier 1113383 1113392 + BooleanKeyword 1113394 1113402 + Block 1113402 1113633 + ReturnStatement 1113404 1113626 + BinaryExpression 1113420 1113625 + BinaryExpression 1113420 1113471 + CallExpression 1113420 1113442 + Identifier 1113420 1113436 + Identifier 1113437 1113441 + AmpersandAmpersandToken 1113442 1113445 + BinaryExpression 1113445 1113471 + CallExpression 1113445 1113467 + Identifier 1113445 1113452 + PropertyAccessExpression 1113453 1113466 + Identifier 1113453 1113457 + Identifier 1113458 1113466 + GreaterThanToken 1113467 1113469 + NumericLiteral 1113469 1113471 + AmpersandAmpersandToken 1113471 1113474 + PrefixUnaryExpression 1113474 1113625 + CallExpression 1113489 1113625 + Identifier 1113489 1113493 + PropertyAccessExpression 1113494 1113507 + Identifier 1113494 1113498 + Identifier 1113499 1113507 + ArrowFunction 1113508 1113624 + Parameter 1113508 1113510 + Identifier 1113508 1113510 + EqualsGreaterThanToken 1113510 1113513 + BinaryExpression 1113513 1113624 + BinaryExpression 1113513 1113556 + CallExpression 1113513 1113535 + Identifier 1113513 1113532 + Identifier 1113533 1113534 + BarBarToken 1113535 1113538 + CallExpression 1113538 1113556 + Identifier 1113538 1113553 + Identifier 1113554 1113555 + BarBarToken 1113556 1113559 + BinaryExpression 1113559 1113624 + CallExpression 1113559 1113581 + Identifier 1113559 1113578 + Identifier 1113579 1113580 + AmpersandAmpersandToken 1113581 1113584 + PrefixUnaryExpression 1113584 1113624 + PrefixUnaryExpression 1113586 1113624 + ParenthesizedExpression 1113587 1113624 + BinaryExpression 1113588 1113623 + PropertyAccessExpression 1113588 1113603 + Identifier 1113588 1113589 + Identifier 1113590 1113603 + BarBarToken 1113603 1113606 + PropertyAccessExpression 1113606 1113623 + Identifier 1113606 1113608 + Identifier 1113609 1113623 + FunctionDeclaration 1113633 1113826 + Identifier 1113649 1113664 + Parameter 1113665 1113675 + Identifier 1113665 1113669 + TypeReference 1113670 1113675 + Identifier 1113670 1113675 + Parameter 1113676 1113697 + Identifier 1113676 1113688 + BooleanKeyword 1113689 1113697 + Block 1113698 1113826 + ReturnStatement 1113700 1113819 + BinaryExpression 1113716 1113818 + CallExpression 1113716 1113736 + Identifier 1113716 1113730 + Identifier 1113731 1113735 + BarBarToken 1113736 1113739 + BinaryExpression 1113739 1113818 + BinaryExpression 1113739 1113772 + Identifier 1113739 1113751 + AmpersandAmpersandToken 1113751 1113754 + CallExpression 1113754 1113772 + Identifier 1113754 1113766 + Identifier 1113767 1113771 + AmpersandAmpersandToken 1113772 1113775 + CallExpression 1113775 1113818 + Identifier 1113775 1113780 + CallExpression 1113781 1113802 + Identifier 1113781 1113796 + Identifier 1113797 1113801 + Identifier 1113803 1113817 + FunctionDeclaration 1113826 1125645 + Identifier 1113842 1113861 + Parameter 1113862 1113883 + Identifier 1113862 1113866 + TypeReference 1113867 1113883 + Identifier 1113867 1113883 + Parameter 1113884 1113915 + Identifier 1113884 1113891 + UnionType 1113892 1113915 + TypeReference 1113892 1113903 + Identifier 1113892 1113903 + UndefinedKeyword 1113905 1113915 + Parameter 1113916 1113939 + Identifier 1113916 1113930 + BooleanKeyword 1113931 1113939 + Parameter 1113940 1113961 + Identifier 1113940 1113952 + QuestionToken 1113952 1113953 + TypeReference 1113954 1113961 + Identifier 1113954 1113961 + Parameter 1113962 1113999 + Identifier 1113962 1113981 + QuestionToken 1113981 1113982 + TypeOperator 1113983 1113999 + ArrayType 1113992 1113999 + TypeReference 1113992 1113997 + Identifier 1113992 1113997 + TypeReference 1114001 1114006 + Identifier 1114001 1114006 + Block 1114006 1125645 + VariableStatement 1114008 1114029 + VariableDeclarationList 1114008 1114028 + VariableDeclaration 1114021 1114028 + Identifier 1114021 1114028 + VariableStatement 1114029 1114074 + VariableDeclarationList 1114029 1114073 + VariableDeclaration 1114042 1114073 + Identifier 1114042 1114053 + UnionType 1114054 1114073 + ArrayType 1114054 1114061 + TypeReference 1114054 1114059 + Identifier 1114054 1114059 + UndefinedKeyword 1114063 1114073 + VariableStatement 1114074 1114102 + VariableDeclarationList 1114074 1114101 + VariableDeclaration 1114087 1114101 + Identifier 1114087 1114097 + NumericLiteral 1114099 1114101 + WhileStatement 1114102 1123830 + TrueKeyword 1114666 1114670 + Block 1114671 1123830 + IfStatement 1114673 1114873 + BinaryExpression 1114691 1114709 + Identifier 1114691 1114700 + EqualsEqualsEqualsToken 1114700 1114704 + NumericLiteral 1114704 1114709 + Block 1114710 1114873 + ExpressionStatement 1114712 1114823 + CallExpression 1114712 1114822 + Identifier 1114712 1114735 + Identifier 1114736 1114747 + PropertyAccessExpression 1114748 1114821 + Identifier 1114748 1114760 + Identifier 1114761 1114821 + ReturnStatement 1114823 1114858 + Identifier 1114847 1114857 + VariableStatement 1114873 1114968 + VariableDeclarationList 1114873 1114967 + VariableDeclaration 1114892 1114967 + Identifier 1114892 1114902 + CallExpression 1114904 1114967 + Identifier 1114904 1114920 + CallExpression 1114921 1114958 + Identifier 1114921 1114942 + PropertyAccessExpression 1114943 1114957 + Identifier 1114943 1114947 + Identifier 1114948 1114957 + Identifier 1114959 1114966 + VariableStatement 1114968 1115044 + VariableDeclarationList 1114968 1115043 + VariableDeclaration 1114987 1115043 + Identifier 1114987 1114999 + CallExpression 1115001 1115043 + Identifier 1115001 1115017 + PropertyAccessExpression 1115018 1115034 + Identifier 1115018 1115022 + Identifier 1115023 1115034 + Identifier 1115035 1115042 + IfStatement 1115044 1115167 + BinaryExpression 1115062 1115114 + BinaryExpression 1115062 1115085 + Identifier 1115062 1115071 + EqualsEqualsEqualsToken 1115071 1115075 + Identifier 1115075 1115085 + BarBarToken 1115085 1115088 + BinaryExpression 1115088 1115114 + Identifier 1115088 1115100 + EqualsEqualsEqualsToken 1115100 1115104 + Identifier 1115104 1115114 + Block 1115115 1115167 + ReturnStatement 1115117 1115152 + Identifier 1115141 1115151 + IfStatement 1115167 1115299 + BinaryExpression 1115185 1115243 + BinaryExpression 1115185 1115211 + Identifier 1115185 1115194 + EqualsEqualsEqualsToken 1115194 1115198 + Identifier 1115198 1115211 + BarBarToken 1115211 1115214 + BinaryExpression 1115214 1115243 + Identifier 1115214 1115226 + EqualsEqualsEqualsToken 1115226 1115230 + Identifier 1115230 1115243 + Block 1115244 1115299 + ReturnStatement 1115246 1115284 + Identifier 1115270 1115283 + VariableStatement 1115299 1115376 + VariableDeclarationList 1115299 1115375 + VariableDeclaration 1115318 1115375 + Identifier 1115318 1115332 + CallExpression 1115334 1115375 + Identifier 1115334 1115354 + PropertyAccessExpression 1115355 1115374 + PropertyAccessExpression 1115355 1115364 + Identifier 1115355 1115359 + Identifier 1115360 1115364 + Identifier 1115365 1115374 + VariableStatement 1115376 1115457 + VariableDeclarationList 1115376 1115456 + VariableDeclaration 1115395 1115456 + Identifier 1115395 1115411 + CallExpression 1115413 1115456 + Identifier 1115413 1115433 + PropertyAccessExpression 1115434 1115455 + PropertyAccessExpression 1115434 1115443 + Identifier 1115434 1115438 + Identifier 1115439 1115443 + Identifier 1115444 1115455 + VariableStatement 1115457 1116035 + VariableDeclarationList 1115457 1116034 + VariableDeclaration 1115823 1116034 + Identifier 1115823 1115835 + BinaryExpression 1115837 1116034 + BinaryExpression 1115837 1115908 + CallExpression 1115837 1115870 + Identifier 1115837 1115855 + Identifier 1115856 1115869 + AmpersandAmpersandToken 1115870 1115873 + CallExpression 1115873 1115908 + Identifier 1115873 1115891 + Identifier 1115892 1115907 + AmpersandAmpersandToken 1115908 1115911 + BinaryExpression 1115911 1116034 + CallExpression 1115911 1115978 + Identifier 1115911 1115935 + PropertyAccessExpression 1115936 1115977 + ParenthesizedExpression 1115936 1115968 + AsExpression 1115937 1115967 + Identifier 1115937 1115950 + TypeReference 1115953 1115967 + Identifier 1115953 1115967 + Identifier 1115969 1115977 + EqualsEqualsEqualsToken 1115978 1115982 + CallExpression 1115982 1116034 + Identifier 1115982 1115989 + PropertyAccessExpression 1115990 1116033 + ParenthesizedExpression 1115990 1116024 + AsExpression 1115991 1116023 + Identifier 1115991 1116006 + TypeReference 1116009 1116023 + Identifier 1116009 1116023 + Identifier 1116025 1116033 + VariableStatement 1116035 1116114 + VariableDeclarationList 1116035 1116113 + VariableDeclaration 1116054 1116113 + Identifier 1116054 1116072 + CallExpression 1116074 1116113 + Identifier 1116074 1116089 + Identifier 1116090 1116099 + Identifier 1116100 1116112 + VariableStatement 1116114 1116171 + VariableDeclarationList 1116114 1116170 + VariableDeclaration 1116131 1116170 + Identifier 1116131 1116146 + UnionType 1116147 1116170 + TypeReference 1116147 1116158 + Identifier 1116147 1116158 + UndefinedKeyword 1116160 1116170 + IfStatement 1116171 1119054 + PropertyAccessExpression 1116189 1116213 + Identifier 1116189 1116193 + Identifier 1116194 1116213 + Block 1116214 1119054 + VariableStatement 1116216 1117933 + VariableDeclarationList 1116216 1117932 + VariableDeclaration 1117827 1117932 + Identifier 1117827 1117835 + CallExpression 1117837 1117932 + Identifier 1117837 1117860 + PropertyAccessExpression 1117861 1117885 + Identifier 1117861 1117865 + Identifier 1117866 1117885 + Identifier 1117886 1117910 + PropertyAccessExpression 1117911 1117931 + Identifier 1117911 1117926 + Identifier 1117927 1117931 + IfStatement 1117933 1118083 + Identifier 1117955 1117961 + Block 1117962 1118083 + ExpressionStatement 1117964 1118064 + BinaryExpression 1117964 1118063 + PropertyAccessExpression 1117964 1118009 + Identifier 1117964 1117993 + Identifier 1117994 1118009 + EqualsToken 1118009 1118011 + CallExpression 1118011 1118063 + Identifier 1118011 1118030 + PropertyAccessExpression 1118031 1118054 + Identifier 1118031 1118038 + Identifier 1118039 1118054 + Identifier 1118055 1118062 + IfStatement 1118083 1118590 + PrefixUnaryExpression 1118105 1118123 + Identifier 1118106 1118123 + Block 1118124 1118590 + ExpressionStatement 1118126 1118571 + CallExpression 1118126 1118570 + Identifier 1118126 1118460 + PropertyAccessExpression 1118461 1118479 + Identifier 1118461 1118468 + Identifier 1118469 1118479 + Identifier 1118480 1118490 + Identifier 1118491 1118503 + BinaryExpression 1118504 1118569 + PropertyAccessExpression 1118504 1118536 + Identifier 1118504 1118522 + Identifier 1118523 1118536 + BarToken 1118536 1118538 + PropertyAccessExpression 1118538 1118569 + Identifier 1118538 1118556 + Identifier 1118557 1118569 + ExpressionStatement 1118590 1119039 + BinaryExpression 1118590 1119038 + Identifier 1118590 1118967 + EqualsToken 1118967 1118969 + ConditionalExpression 1118969 1119038 + Identifier 1118969 1118976 + QuestionToken 1118976 1118978 + CallExpression 1118978 1119021 + Identifier 1118978 1118997 + PropertyAccessExpression 1118998 1119012 + Identifier 1118998 1119005 + Identifier 1119006 1119012 + Identifier 1119013 1119020 + ColonToken 1119021 1119023 + PropertyAccessExpression 1119023 1119038 + Identifier 1119023 1119031 + Identifier 1119032 1119038 + VariableStatement 1119054 1119273 + VariableDeclarationList 1119054 1119272 + VariableDeclaration 1119169 1119272 + Identifier 1119169 1119189 + ConditionalExpression 1119191 1119272 + Identifier 1119191 1119206 + QuestionToken 1119206 1119208 + CallExpression 1119208 1119258 + Identifier 1119208 1119224 + PropertyAccessExpression 1119225 1119241 + Identifier 1119225 1119229 + Identifier 1119230 1119241 + Identifier 1119242 1119257 + ColonToken 1119258 1119260 + Identifier 1119260 1119272 + IfStatement 1119273 1123133 + BinaryExpression 1119404 1119475 + PrefixUnaryExpression 1119404 1119422 + Identifier 1119405 1119422 + AmpersandAmpersandToken 1119422 1119425 + PrefixUnaryExpression 1119425 1119475 + CallExpression 1119427 1119475 + Identifier 1119427 1119441 + Identifier 1119442 1119461 + Identifier 1119462 1119474 + Block 1119476 1123133 + IfStatement 1119478 1122055 + BinaryExpression 1119933 1120134 + PrefixUnaryExpression 1119933 1119986 + ParenthesizedExpression 1119934 1119986 + BinaryExpression 1119935 1119985 + PropertyAccessExpression 1119935 1119960 + Identifier 1119935 1119954 + Identifier 1119955 1119960 + AmpersandToken 1119960 1119962 + PropertyAccessExpression 1119962 1119985 + Identifier 1119962 1119972 + Identifier 1119973 1119985 + AmpersandAmpersandToken 1119986 1119989 + ParenthesizedExpression 1119989 1120134 + BinaryExpression 1119991 1120133 + BinaryExpression 1119991 1120022 + PropertyAccessExpression 1119991 1120006 + Identifier 1119991 1120000 + Identifier 1120001 1120006 + AmpersandToken 1120006 1120008 + PropertyAccessExpression 1120008 1120022 + Identifier 1120008 1120018 + Identifier 1120019 1120022 + BarBarToken 1120022 1120025 + PrefixUnaryExpression 1120025 1120133 + CallExpression 1120027 1120133 + Identifier 1120027 1120045 + CallExpression 1120046 1120083 + Identifier 1120046 1120072 + Identifier 1120073 1120082 + CallExpression 1120084 1120132 + Identifier 1120084 1120111 + Identifier 1120112 1120131 + Block 1120135 1122055 + IfStatement 1120137 1121126 + BinaryExpression 1120725 1120951 + BinaryExpression 1120725 1120756 + PropertyAccessExpression 1120725 1120740 + Identifier 1120725 1120734 + Identifier 1120735 1120740 + AmpersandToken 1120740 1120742 + PropertyAccessExpression 1120742 1120756 + Identifier 1120742 1120752 + Identifier 1120753 1120756 + BarBarToken 1120756 1120759 + BinaryExpression 1120759 1120951 + BinaryExpression 1120759 1120823 + Identifier 1120759 1120773 + AmpersandAmpersandToken 1120773 1120776 + PrefixUnaryExpression 1120776 1120823 + ParenthesizedExpression 1120778 1120823 + BinaryExpression 1120779 1120822 + PropertyAccessExpression 1120779 1120804 + Identifier 1120779 1120798 + Identifier 1120799 1120804 + AmpersandToken 1120804 1120806 + PropertyAccessExpression 1120806 1120822 + Identifier 1120806 1120816 + Identifier 1120817 1120822 + AmpersandAmpersandToken 1120823 1120826 + CallExpression 1120826 1120951 + Identifier 1120826 1120835 + CallExpression 1120836 1120883 + Identifier 1120836 1120862 + Identifier 1120863 1120882 + ArrowFunction 1120884 1120950 + Parameter 1120884 1120886 + Identifier 1120884 1120886 + EqualsGreaterThanToken 1120886 1120889 + CallExpression 1120889 1120950 + Identifier 1120889 1120908 + Identifier 1120909 1120910 + CallExpression 1120911 1120949 + Identifier 1120911 1120938 + Identifier 1120939 1120948 + Block 1120952 1121126 + ExpressionStatement 1120954 1121103 + CallExpression 1120954 1121102 + PropertyAccessExpression 1120954 1121018 + ParenthesizedExpression 1120954 1121013 + BinaryExpression 1120981 1121012 + Identifier 1120981 1120991 + BarBarToken 1120991 1120994 + ParenthesizedExpression 1120994 1121012 + BinaryExpression 1120996 1121011 + Identifier 1120996 1121006 + EqualsToken 1121006 1121008 + ArrayLiteralExpression 1121008 1121011 + Identifier 1121014 1121018 + CallExpression 1121019 1121101 + Identifier 1121019 1121034 + CallExpression 1121035 1121074 + Identifier 1121035 1121054 + PropertyAccessExpression 1121055 1121073 + PropertyAccessExpression 1121055 1121064 + Identifier 1121055 1121059 + Identifier 1121060 1121064 + Identifier 1121065 1121073 + BinaryExpression 1121075 1121100 + Identifier 1121075 1121090 + BarBarToken 1121090 1121093 + Identifier 1121093 1121100 + VariableStatement 1121126 1121395 + VariableDeclarationList 1121126 1121394 + VariableDeclaration 1121341 1121394 + Identifier 1121341 1121351 + CallExpression 1121353 1121394 + Identifier 1121353 1121373 + PropertyAccessExpression 1121374 1121393 + PropertyAccessExpression 1121374 1121383 + Identifier 1121374 1121378 + Identifier 1121379 1121383 + Identifier 1121384 1121393 + IfStatement 1121395 1121942 + BinaryExpression 1121421 1121460 + PropertyAccessExpression 1121421 1121436 + Identifier 1121421 1121430 + Identifier 1121431 1121436 + AmpersandToken 1121436 1121438 + PropertyAccessExpression 1121438 1121460 + Identifier 1121438 1121448 + Identifier 1121449 1121460 + Block 1121461 1121942 + VariableStatement 1121463 1121541 + VariableDeclarationList 1121463 1121540 + VariableDeclaration 1121494 1121540 + Identifier 1121494 1121502 + PropertyAccessExpression 1121504 1121540 + ParenthesizedExpression 1121504 1121535 + AsExpression 1121506 1121534 + Identifier 1121506 1121515 + TypeReference 1121518 1121534 + Identifier 1121518 1121534 + Identifier 1121536 1121540 + IfStatement 1121541 1121787 + BinaryExpression 1121571 1121673 + BinaryExpression 1121571 1121604 + PropertyAccessExpression 1121571 1121590 + PropertyAccessExpression 1121571 1121583 + Identifier 1121571 1121578 + Identifier 1121579 1121583 + Identifier 1121584 1121590 + EqualsEqualsEqualsToken 1121590 1121594 + PropertyAccessExpression 1121594 1121604 + Identifier 1121594 1121599 + Identifier 1121600 1121604 + AmpersandAmpersandToken 1121604 1121607 + ParenthesizedExpression 1121607 1121673 + BinaryExpression 1121609 1121672 + PrefixUnaryExpression 1121609 1121632 + PropertyAccessExpression 1121610 1121632 + Identifier 1121610 1121617 + Identifier 1121618 1121632 + BarBarToken 1121632 1121635 + BinaryExpression 1121635 1121672 + PropertyAccessExpression 1121635 1121653 + Identifier 1121635 1121643 + Identifier 1121644 1121653 + EqualsEqualsEqualsToken 1121653 1121657 + PropertyAccessExpression 1121657 1121672 + Identifier 1121657 1121662 + Identifier 1121663 1121672 + Block 1121674 1121787 + ExpressionStatement 1121676 1121721 + BinaryExpression 1121676 1121720 + Identifier 1121676 1121710 + EqualsToken 1121710 1121712 + Identifier 1121712 1121720 + ContinueStatement 1121721 1121760 + IfStatement 1121787 1121919 + CallExpression 1121817 1121850 + Identifier 1121817 1121831 + Identifier 1121832 1121841 + Identifier 1121842 1121849 + Block 1121851 1121919 + ContinueStatement 1121853 1121892 + ExpressionStatement 1121942 1122008 + BinaryExpression 1121942 1122007 + Identifier 1121942 1121970 + EqualsToken 1121970 1121972 + CallExpression 1121972 1122007 + Identifier 1121972 1121988 + Identifier 1121989 1121998 + Identifier 1121999 1122006 + BreakStatement 1122008 1122036 + IfStatement 1122055 1123118 + BinaryExpression 1122569 1122731 + BinaryExpression 1122569 1122619 + PropertyAccessExpression 1122569 1122594 + Identifier 1122569 1122588 + Identifier 1122589 1122594 + AmpersandToken 1122594 1122596 + PropertyAccessExpression 1122596 1122619 + Identifier 1122596 1122606 + Identifier 1122607 1122619 + BarBarToken 1122619 1122622 + CallExpression 1122622 1122731 + Identifier 1122622 1122641 + CallExpression 1122642 1122680 + Identifier 1122642 1122669 + Identifier 1122670 1122679 + CallExpression 1122681 1122730 + Identifier 1122681 1122709 + Identifier 1122710 1122729 + Block 1122732 1123118 + VariableStatement 1122734 1122813 + VariableDeclarationList 1122734 1122812 + VariableDeclaration 1122761 1122812 + Identifier 1122761 1122770 + CallExpression 1122772 1122812 + Identifier 1122772 1122792 + PropertyAccessExpression 1122793 1122811 + PropertyAccessExpression 1122793 1122802 + Identifier 1122793 1122797 + Identifier 1122798 1122802 + Identifier 1122803 1122811 + VariableStatement 1122813 1122879 + VariableDeclarationList 1122813 1122878 + VariableDeclaration 1122840 1122878 + Identifier 1122840 1122851 + BinaryExpression 1122853 1122878 + Identifier 1122853 1122868 + BarBarToken 1122868 1122871 + Identifier 1122871 1122878 + IfStatement 1122879 1123002 + CallExpression 1122905 1122941 + Identifier 1122905 1122919 + Identifier 1122920 1122928 + Identifier 1122929 1122940 + Block 1122942 1123002 + ContinueStatement 1122944 1122979 + ExpressionStatement 1123002 1123071 + BinaryExpression 1123002 1123070 + Identifier 1123002 1123030 + EqualsToken 1123030 1123032 + CallExpression 1123032 1123070 + Identifier 1123032 1123048 + Identifier 1123049 1123057 + Identifier 1123058 1123069 + BreakStatement 1123071 1123099 + ExpressionStatement 1123133 1123313 + BinaryExpression 1123133 1123312 + Identifier 1123133 1123257 + EqualsToken 1123257 1123259 + AsExpression 1123259 1123312 + CallExpression 1123259 1123293 + Identifier 1123259 1123270 + PropertyAccessExpression 1123271 1123292 + Identifier 1123271 1123280 + Identifier 1123281 1123292 + TypeReference 1123296 1123312 + Identifier 1123296 1123312 + ExpressionStatement 1123313 1123346 + BinaryExpression 1123313 1123345 + PropertyAccessExpression 1123313 1123338 + Identifier 1123313 1123333 + Identifier 1123334 1123338 + EqualsToken 1123338 1123340 + Identifier 1123340 1123345 + ExpressionStatement 1123346 1123419 + BinaryExpression 1123346 1123418 + PropertyAccessExpression 1123346 1123376 + Identifier 1123346 1123366 + Identifier 1123367 1123376 + EqualsToken 1123376 1123378 + CallExpression 1123378 1123418 + Identifier 1123378 1123394 + PropertyAccessExpression 1123395 1123409 + Identifier 1123395 1123399 + Identifier 1123400 1123409 + Identifier 1123410 1123417 + ExpressionStatement 1123419 1123496 + BinaryExpression 1123419 1123495 + PropertyAccessExpression 1123419 1123451 + Identifier 1123419 1123439 + Identifier 1123440 1123451 + EqualsToken 1123451 1123453 + CallExpression 1123453 1123495 + Identifier 1123453 1123469 + PropertyAccessExpression 1123470 1123486 + Identifier 1123470 1123474 + Identifier 1123475 1123486 + Identifier 1123487 1123494 + ExpressionStatement 1123496 1123533 + BinaryExpression 1123496 1123532 + PropertyAccessExpression 1123496 1123523 + Identifier 1123496 1123516 + Identifier 1123517 1123523 + EqualsToken 1123523 1123525 + Identifier 1123525 1123532 + ExpressionStatement 1123533 1123586 + BinaryExpression 1123533 1123585 + PropertyAccessExpression 1123533 1123568 + Identifier 1123533 1123553 + Identifier 1123554 1123568 + EqualsToken 1123568 1123570 + Identifier 1123570 1123585 + ExpressionStatement 1123586 1123653 + BinaryExpression 1123586 1123652 + PropertyAccessExpression 1123586 1123618 + Identifier 1123586 1123606 + Identifier 1123607 1123618 + EqualsToken 1123618 1123620 + BinaryExpression 1123620 1123652 + Identifier 1123620 1123632 + BarBarToken 1123632 1123635 + PropertyAccessExpression 1123635 1123652 + Identifier 1123635 1123640 + Identifier 1123641 1123652 + ExpressionStatement 1123653 1123781 + BinaryExpression 1123653 1123780 + PropertyAccessExpression 1123653 1123692 + Identifier 1123653 1123673 + Identifier 1123674 1123692 + EqualsToken 1123692 1123694 + ConditionalExpression 1123694 1123780 + Identifier 1123694 1123706 + QuestionToken 1123706 1123708 + Identifier 1123708 1123727 + ColonToken 1123727 1123729 + CallExpression 1123729 1123780 + Identifier 1123729 1123746 + PropertyAccessExpression 1123747 1123770 + Identifier 1123747 1123751 + Identifier 1123752 1123770 + NonNullExpression 1123771 1123779 + Identifier 1123771 1123778 + BreakStatement 1123781 1123819 + ReturnStatement 1123830 1123910 + ConditionalExpression 1123846 1123909 + Identifier 1123846 1123857 + QuestionToken 1123857 1123859 + CallExpression 1123859 1123900 + Identifier 1123859 1123872 + CallExpression 1123873 1123899 + Identifier 1123873 1123879 + Identifier 1123880 1123890 + Identifier 1123891 1123898 + ColonToken 1123900 1123902 + Identifier 1123902 1123909 + FunctionDeclaration 1123910 1125638 + Identifier 1124323 1124338 + Parameter 1124339 1124352 + Identifier 1124339 1124346 + TypeReference 1124347 1124352 + Identifier 1124347 1124352 + Parameter 1124353 1124387 + Identifier 1124353 1124363 + UnionType 1124364 1124387 + TypeReference 1124364 1124375 + Identifier 1124364 1124375 + UndefinedKeyword 1124377 1124387 + Block 1124388 1125638 + IfStatement 1124390 1125600 + BinaryExpression 1124408 1124458 + BinaryExpression 1124408 1124445 + PropertyAccessExpression 1124408 1124421 + Identifier 1124408 1124415 + Identifier 1124416 1124421 + AmpersandToken 1124421 1124423 + PropertyAccessExpression 1124423 1124445 + Identifier 1124423 1124433 + Identifier 1124434 1124445 + AmpersandAmpersandToken 1124445 1124448 + Identifier 1124448 1124458 + Block 1124459 1125600 + VariableStatement 1124461 1124529 + VariableDeclarationList 1124461 1124528 + VariableDeclaration 1124484 1124528 + Identifier 1124484 1124492 + PropertyAccessExpression 1124494 1124528 + ParenthesizedExpression 1124494 1124523 + AsExpression 1124496 1124522 + Identifier 1124496 1124503 + TypeReference 1124506 1124522 + Identifier 1124506 1124522 + Identifier 1124524 1124528 + IfStatement 1124529 1125585 + PropertyAccessExpression 1124551 1124578 + Identifier 1124551 1124558 + Identifier 1124559 1124578 + Block 1124579 1125585 + VariableStatement 1124581 1124694 + VariableDeclarationList 1124581 1124693 + VariableDeclaration 1124608 1124693 + Identifier 1124608 1124624 + CallExpression 1124626 1124693 + Identifier 1124626 1124645 + PropertyAccessExpression 1124646 1124681 + ParenthesizedExpression 1124646 1124674 + AsExpression 1124647 1124673 + Identifier 1124647 1124654 + TypeReference 1124657 1124673 + Identifier 1124657 1124673 + Identifier 1124675 1124681 + Identifier 1124682 1124692 + VariableStatement 1124694 1124811 + VariableDeclarationList 1124694 1124810 + VariableDeclaration 1124721 1124810 + Identifier 1124721 1124735 + CallExpression 1124737 1124810 + Identifier 1124737 1124741 + PropertyAccessExpression 1124742 1124769 + Identifier 1124742 1124749 + Identifier 1124750 1124769 + ArrowFunction 1124770 1124809 + Parameter 1124770 1124772 + Identifier 1124770 1124772 + EqualsGreaterThanToken 1124772 1124775 + CallExpression 1124775 1124809 + Identifier 1124775 1124789 + Identifier 1124790 1124791 + Identifier 1124792 1124808 + VariableStatement 1124811 1124916 + VariableDeclarationList 1124811 1124915 + VariableDeclaration 1124838 1124915 + Identifier 1124838 1124852 + CallExpression 1124854 1124915 + Identifier 1124854 1124871 + PropertyAccessExpression 1124872 1124899 + Identifier 1124872 1124879 + Identifier 1124880 1124899 + Identifier 1124900 1124914 + VariableStatement 1124916 1125044 + VariableDeclarationList 1124916 1125043 + VariableDeclaration 1124943 1125043 + Identifier 1124943 1124956 + ConditionalExpression 1124958 1125043 + PropertyAccessExpression 1124958 1124981 + Identifier 1124958 1124966 + Identifier 1124967 1124981 + QuestionToken 1124981 1124983 + CallExpression 1124983 1125031 + Identifier 1124983 1124997 + PropertyAccessExpression 1124998 1125015 + Identifier 1124998 1125005 + Identifier 1125006 1125015 + Identifier 1125016 1125030 + ColonToken 1125031 1125033 + Identifier 1125033 1125043 + IfStatement 1125044 1125566 + BinaryExpression 1125070 1125184 + BinaryExpression 1125070 1125121 + PrefixUnaryExpression 1125070 1125083 + Identifier 1125071 1125083 + BarBarToken 1125083 1125086 + BinaryExpression 1125086 1125121 + Identifier 1125086 1125099 + EqualsEqualsEqualsToken 1125099 1125103 + PropertyAccessExpression 1125103 1125121 + Identifier 1125103 1125111 + Identifier 1125112 1125121 + BarBarToken 1125121 1125124 + PrefixUnaryExpression 1125124 1125184 + ParenthesizedExpression 1125126 1125184 + BinaryExpression 1125127 1125183 + PropertyAccessExpression 1125127 1125145 + Identifier 1125127 1125139 + Identifier 1125140 1125145 + AmpersandToken 1125145 1125147 + ParenthesizedExpression 1125147 1125183 + BinaryExpression 1125149 1125182 + PropertyAccessExpression 1125149 1125164 + Identifier 1125149 1125158 + Identifier 1125159 1125164 + BarToken 1125164 1125166 + PropertyAccessExpression 1125166 1125182 + Identifier 1125166 1125176 + Identifier 1125177 1125182 + Block 1125185 1125566 + ExpressionStatement 1125187 1125228 + BinaryExpression 1125187 1125227 + Identifier 1125187 1125217 + EqualsToken 1125217 1125219 + Identifier 1125219 1125227 + ExpressionStatement 1125228 1125277 + BinaryExpression 1125228 1125276 + Identifier 1125228 1125260 + EqualsToken 1125260 1125262 + Identifier 1125262 1125276 + ExpressionStatement 1125277 1125327 + BinaryExpression 1125277 1125326 + Identifier 1125277 1125314 + EqualsToken 1125314 1125316 + Identifier 1125316 1125326 + ExpressionStatement 1125327 1125384 + BinaryExpression 1125327 1125383 + Identifier 1125327 1125371 + EqualsToken 1125371 1125373 + Identifier 1125373 1125383 + IfStatement 1125384 1125505 + PropertyAccessExpression 1125414 1125433 + Identifier 1125414 1125421 + Identifier 1125422 1125433 + Block 1125434 1125505 + ExpressionStatement 1125436 1125478 + PostfixUnaryExpression 1125436 1125477 + Identifier 1125436 1125475 + ReturnStatement 1125505 1125543 + TrueKeyword 1125537 1125542 + ReturnStatement 1125600 1125627 + FalseKeyword 1125620 1125626 + FunctionDeclaration 1125645 1125867 + Identifier 1125661 1125692 + Parameter 1125693 1125714 + Identifier 1125693 1125697 + TypeReference 1125698 1125714 + Identifier 1125698 1125714 + Block 1125715 1125867 + ReturnStatement 1125717 1125860 + BinaryExpression 1125733 1125859 + PropertyAccessExpression 1125733 1125755 + Identifier 1125733 1125738 + Identifier 1125739 1125755 + BarBarToken 1125755 1125758 + ParenthesizedExpression 1125758 1125859 + BinaryExpression 1125760 1125858 + PropertyAccessExpression 1125760 1125781 + Identifier 1125760 1125764 + Identifier 1125765 1125781 + EqualsToken 1125781 1125783 + CallExpression 1125783 1125858 + Identifier 1125783 1125799 + CallExpression 1125800 1125844 + Identifier 1125800 1125819 + PropertyAccessExpression 1125820 1125843 + PropertyAccessExpression 1125820 1125834 + PropertyAccessExpression 1125820 1125829 + Identifier 1125820 1125824 + Identifier 1125825 1125829 + Identifier 1125830 1125834 + Identifier 1125835 1125843 + PropertyAccessExpression 1125845 1125857 + Identifier 1125845 1125850 + Identifier 1125851 1125857 + FunctionDeclaration 1125867 1126093 + Identifier 1125883 1125915 + Parameter 1125916 1125937 + Identifier 1125916 1125920 + TypeReference 1125921 1125937 + Identifier 1125921 1125937 + Block 1125938 1126093 + ReturnStatement 1125940 1126086 + BinaryExpression 1125956 1126085 + PropertyAccessExpression 1125956 1125979 + Identifier 1125956 1125961 + Identifier 1125962 1125979 + BarBarToken 1125979 1125982 + ParenthesizedExpression 1125982 1126085 + BinaryExpression 1125984 1126084 + PropertyAccessExpression 1125984 1126006 + Identifier 1125984 1125988 + Identifier 1125989 1126006 + EqualsToken 1126006 1126008 + CallExpression 1126008 1126084 + Identifier 1126008 1126024 + CallExpression 1126025 1126070 + Identifier 1126025 1126044 + PropertyAccessExpression 1126045 1126069 + PropertyAccessExpression 1126045 1126059 + PropertyAccessExpression 1126045 1126054 + Identifier 1126045 1126049 + Identifier 1126050 1126054 + Identifier 1126055 1126059 + Identifier 1126060 1126069 + PropertyAccessExpression 1126071 1126083 + Identifier 1126071 1126076 + Identifier 1126077 1126083 + FunctionDeclaration 1126093 1126408 + Identifier 1126109 1126148 + Parameter 1126149 1126170 + Identifier 1126149 1126153 + TypeReference 1126154 1126170 + Identifier 1126154 1126170 + Block 1126171 1126408 + ReturnStatement 1126173 1126401 + BinaryExpression 1126189 1126400 + PropertyAccessExpression 1126189 1126219 + Identifier 1126189 1126194 + Identifier 1126195 1126219 + BarBarToken 1126219 1126222 + ParenthesizedExpression 1126222 1126400 + BinaryExpression 1126224 1126399 + PropertyAccessExpression 1126224 1126253 + Identifier 1126224 1126228 + Identifier 1126229 1126253 + EqualsToken 1126253 1126255 + ConditionalExpression 1126255 1126399 + PropertyAccessExpression 1126255 1126275 + Identifier 1126255 1126260 + Identifier 1126261 1126275 + QuestionToken 1126275 1126277 + CallExpression 1126277 1126360 + Identifier 1126277 1126293 + CallExpression 1126294 1126338 + Identifier 1126294 1126313 + PropertyAccessExpression 1126314 1126337 + PropertyAccessExpression 1126314 1126328 + PropertyAccessExpression 1126314 1126323 + Identifier 1126314 1126318 + Identifier 1126319 1126323 + Identifier 1126324 1126328 + Identifier 1126329 1126337 + PropertyAccessExpression 1126339 1126359 + Identifier 1126339 1126344 + Identifier 1126345 1126359 + ColonToken 1126360 1126362 + CallExpression 1126362 1126399 + Identifier 1126362 1126393 + Identifier 1126394 1126398 + FunctionDeclaration 1126408 1126850 + Identifier 1126424 1126447 + Parameter 1126448 1126473 + Identifier 1126448 1126452 + TypeReference 1126453 1126473 + Identifier 1126453 1126473 + UnionType 1126475 1126503 + ArrayType 1126475 1126491 + TypeReference 1126475 1126489 + Identifier 1126475 1126489 + UndefinedKeyword 1126493 1126503 + Block 1126503 1126850 + VariableStatement 1126505 1126555 + VariableDeclarationList 1126505 1126554 + VariableDeclaration 1126518 1126554 + Identifier 1126518 1126525 + UnionType 1126526 1126554 + ArrayType 1126526 1126542 + TypeReference 1126526 1126540 + Identifier 1126526 1126540 + UndefinedKeyword 1126544 1126554 + IfStatement 1126555 1126819 + PropertyAccessExpression 1126569 1126580 + Identifier 1126569 1126573 + Identifier 1126574 1126580 + Block 1126581 1126819 + ExpressionStatement 1126583 1126808 + CallExpression 1126583 1126807 + PropertyAccessExpression 1126583 1126616 + PropertyAccessExpression 1126583 1126608 + Identifier 1126583 1126601 + Identifier 1126602 1126608 + Identifier 1126609 1126616 + ArrowFunction 1126617 1126806 + Parameter 1126617 1126623 + Identifier 1126617 1126623 + EqualsGreaterThanToken 1126623 1126626 + Block 1126626 1126806 + IfStatement 1126628 1126791 + BinaryExpression 1126650 1126690 + PropertyAccessExpression 1126650 1126662 + Identifier 1126650 1126656 + Identifier 1126657 1126662 + AmpersandToken 1126662 1126664 + PropertyAccessExpression 1126664 1126690 + Identifier 1126664 1126676 + Identifier 1126677 1126690 + Block 1126691 1126791 + ExpressionStatement 1126693 1126772 + BinaryExpression 1126693 1126771 + Identifier 1126693 1126721 + EqualsToken 1126721 1126723 + CallExpression 1126723 1126771 + Identifier 1126723 1126730 + Identifier 1126731 1126737 + CallExpression 1126738 1126770 + Identifier 1126738 1126762 + Identifier 1126763 1126769 + ReturnStatement 1126819 1126843 + Identifier 1126835 1126842 + FunctionDeclaration 1126850 1127179 + Identifier 1126866 1126890 + Parameter 1126891 1126912 + Identifier 1126891 1126895 + TypeReference 1126896 1126912 + Identifier 1126896 1126912 + Block 1126913 1127179 + ReturnStatement 1126915 1127172 + BinaryExpression 1126931 1127171 + PropertyAccessExpression 1126931 1126951 + Identifier 1126931 1126936 + Identifier 1126937 1126951 + AmpersandAmpersandToken 1126951 1126954 + ParenthesizedExpression 1126954 1127171 + BinaryExpression 1126956 1127160 + CallExpression 1126956 1127056 + Identifier 1126956 1127003 + AsExpression 1127004 1127035 + PropertyAccessExpression 1127004 1127018 + Identifier 1127004 1127008 + Identifier 1127009 1127018 + TypeReference 1127021 1127035 + Identifier 1127021 1127035 + PropertyAccessExpression 1127036 1127055 + PropertyAccessExpression 1127036 1127046 + Identifier 1127036 1127041 + Identifier 1127042 1127046 + Identifier 1127047 1127055 + BarBarToken 1127056 1127059 + CallExpression 1127059 1127160 + Identifier 1127059 1127106 + AsExpression 1127107 1127138 + PropertyAccessExpression 1127107 1127121 + Identifier 1127107 1127111 + Identifier 1127112 1127121 + TypeReference 1127124 1127138 + Identifier 1127124 1127138 + PropertyAccessExpression 1127139 1127159 + PropertyAccessExpression 1127139 1127149 + Identifier 1127139 1127144 + Identifier 1127145 1127149 + Identifier 1127150 1127159 + FunctionDeclaration 1127179 1128686 + Identifier 1127195 1127226 + Parameter 1127227 1127252 + Identifier 1127227 1127231 + TypeReference 1127232 1127252 + Identifier 1127232 1127252 + TypeReference 1127254 1127259 + Identifier 1127254 1127259 + Block 1127259 1128686 + VariableStatement 1127261 1127304 + VariableDeclarationList 1127261 1127303 + VariableDeclaration 1127276 1127303 + Identifier 1127276 1127282 + CallExpression 1127284 1127303 + Identifier 1127284 1127297 + Identifier 1127298 1127302 + IfStatement 1127304 1128643 + PrefixUnaryExpression 1127318 1127337 + PropertyAccessExpression 1127319 1127337 + Identifier 1127319 1127324 + Identifier 1127325 1127337 + Block 1127338 1128643 + VariableStatement 1127340 1127408 + VariableDeclarationList 1127340 1127407 + VariableDeclaration 1127359 1127407 + Identifier 1127359 1127369 + CallExpression 1127371 1127407 + Identifier 1127371 1127391 + PropertyAccessExpression 1127392 1127406 + Identifier 1127392 1127396 + Identifier 1127397 1127406 + VariableStatement 1127408 1127474 + VariableDeclarationList 1127408 1127473 + VariableDeclaration 1127427 1127473 + Identifier 1127427 1127439 + CallExpression 1127441 1127473 + Identifier 1127441 1127467 + Identifier 1127468 1127472 + VariableStatement 1127474 1127559 + VariableDeclarationList 1127474 1127558 + VariableDeclaration 1127493 1127558 + Identifier 1127493 1127512 + CallExpression 1127514 1127558 + Identifier 1127514 1127545 + Identifier 1127546 1127557 + VariableStatement 1127559 1127660 + VariableDeclarationList 1127559 1127659 + VariableDeclaration 1127578 1127659 + Identifier 1127578 1127601 + CallExpression 1127603 1127659 + Identifier 1127603 1127626 + Identifier 1127627 1127631 + TrueKeyword 1127632 1127658 + VariableStatement 1127660 1127830 + VariableDeclarationList 1127660 1127829 + VariableDeclaration 1127679 1127829 + Identifier 1127679 1127699 + ConditionalExpression 1127701 1127829 + Identifier 1127701 1127720 + QuestionToken 1127720 1127722 + Identifier 1127722 1127745 + ColonToken 1127745 1127747 + CallExpression 1127747 1127829 + Identifier 1127747 1127754 + Identifier 1127755 1127777 + ArrowFunction 1127778 1127828 + Parameter 1127778 1127781 + Identifier 1127778 1127781 + EqualsGreaterThanToken 1127781 1127784 + CallExpression 1127784 1127828 + Identifier 1127784 1127818 + Identifier 1127819 1127821 + Identifier 1127822 1127827 + VariableStatement 1127830 1128308 + VariableDeclarationList 1127830 1128307 + VariableDeclaration 1127849 1128307 + Identifier 1127849 1127854 + TypeReference 1127855 1127871 + Identifier 1127855 1127871 + ObjectLiteralExpression 1127873 1128307 + ShorthandPropertyAssignment 1127875 1127897 + Identifier 1127875 1127897 + ShorthandPropertyAssignment 1127898 1127925 + Identifier 1127898 1127925 + PropertyAssignment 1127926 1127994 + Identifier 1127926 1127955 + CallExpression 1127956 1127994 + Identifier 1127956 1127976 + PropertyAccessExpression 1127977 1127993 + Identifier 1127977 1127981 + Identifier 1127982 1127993 + PropertyAssignment 1127995 1128074 + Identifier 1127995 1128027 + PrefixUnaryExpression 1128028 1128074 + PrefixUnaryExpression 1128030 1128074 + ParenthesizedExpression 1128031 1128074 + BinaryExpression 1128032 1128073 + PropertyAccessExpression 1128032 1128047 + Identifier 1128032 1128041 + Identifier 1128042 1128047 + AmpersandToken 1128047 1128049 + PropertyAccessExpression 1128049 1128073 + Identifier 1128049 1128059 + Identifier 1128060 1128073 + PropertyAssignment 1128075 1128142 + Identifier 1128075 1128112 + CallExpression 1128113 1128142 + Identifier 1128113 1128136 + Identifier 1128137 1128141 + ShorthandPropertyAssignment 1128143 1128180 + Identifier 1128143 1128180 + PropertyAssignment 1128181 1128224 + Identifier 1128181 1128213 + Identifier 1128214 1128224 + ShorthandPropertyAssignment 1128225 1128254 + Identifier 1128225 1128254 + ShorthandPropertyAssignment 1128255 1128291 + Identifier 1128255 1128291 + ExpressionStatement 1128308 1128415 + BinaryExpression 1128308 1128414 + PropertyAccessExpression 1128308 1128340 + Identifier 1128308 1128327 + Identifier 1128328 1128340 + EqualsToken 1128340 1128342 + CallExpression 1128342 1128414 + Identifier 1128342 1128361 + Identifier 1128362 1128366 + Identifier 1128367 1128388 + FalseKeyword 1128389 1128413 + IfStatement 1128415 1128632 + Identifier 1128433 1128452 + Block 1128453 1128632 + ExpressionStatement 1128455 1128519 + BinaryExpression 1128455 1128518 + PropertyAccessExpression 1128455 1128492 + Identifier 1128455 1128477 + Identifier 1128478 1128492 + EqualsToken 1128492 1128494 + NewExpression 1128494 1128518 + Identifier 1128498 1128502 + StringKeyword 1128503 1128509 + TypeReference 1128510 1128515 + Identifier 1128510 1128515 + ExpressionStatement 1128519 1128617 + CallExpression 1128519 1128616 + PropertyAccessExpression 1128519 1128560 + PropertyAccessExpression 1128519 1128556 + Identifier 1128519 1128541 + Identifier 1128542 1128556 + Identifier 1128557 1128560 + CallExpression 1128561 1128595 + Identifier 1128561 1128574 + Identifier 1128575 1128594 + PropertyAccessExpression 1128596 1128615 + Identifier 1128596 1128602 + Identifier 1128603 1128615 + ReturnStatement 1128643 1128679 + PropertyAccessExpression 1128659 1128678 + Identifier 1128659 1128665 + Identifier 1128666 1128678 + FunctionDeclaration 1128686 1128999 + Identifier 1128702 1128727 + Parameter 1128728 1128747 + Identifier 1128728 1128732 + TypeReference 1128733 1128747 + Identifier 1128733 1128747 + TypeReference 1128749 1128754 + Identifier 1128749 1128754 + Block 1128754 1128999 + VariableStatement 1128756 1128799 + VariableDeclarationList 1128756 1128798 + VariableDeclaration 1128771 1128798 + Identifier 1128771 1128777 + CallExpression 1128779 1128798 + Identifier 1128779 1128792 + Identifier 1128793 1128797 + IfStatement 1128799 1128956 + PrefixUnaryExpression 1128813 1128832 + PropertyAccessExpression 1128814 1128832 + Identifier 1128814 1128819 + Identifier 1128820 1128832 + Block 1128833 1128956 + ExpressionStatement 1128835 1128945 + BinaryExpression 1128835 1128944 + PropertyAccessExpression 1128835 1128867 + Identifier 1128835 1128854 + Identifier 1128855 1128867 + EqualsToken 1128867 1128869 + CallExpression 1128869 1128944 + Identifier 1128869 1128900 + CallExpression 1128901 1128943 + Identifier 1128901 1128923 + PropertyAccessExpression 1128924 1128942 + Identifier 1128924 1128928 + Identifier 1128929 1128942 + ReturnStatement 1128956 1128992 + PropertyAccessExpression 1128972 1128991 + Identifier 1128972 1128978 + Identifier 1128979 1128991 + FunctionDeclaration 1128999 1129247 + Identifier 1129015 1129034 + Parameter 1129035 1129051 + Identifier 1129035 1129039 + TypeReference 1129040 1129051 + Identifier 1129040 1129051 + ArrayType 1129053 1129066 + TypeReference 1129053 1129064 + Identifier 1129053 1129064 + Block 1129066 1129247 + IfStatement 1129068 1129240 + CallExpression 1129082 1129100 + Identifier 1129082 1129094 + Identifier 1129095 1129099 + Block 1129101 1129142 + ReturnStatement 1129103 1129131 + ArrayLiteralExpression 1129123 1129130 + Identifier 1129125 1129129 + Block 1129156 1129240 + ReturnStatement 1129158 1129229 + CallExpression 1129178 1129228 + Identifier 1129178 1129185 + CallExpression 1129186 1129215 + Identifier 1129186 1129204 + PropertyAccessExpression 1129205 1129214 + Identifier 1129205 1129209 + Identifier 1129210 1129214 + PropertyAccessExpression 1129216 1129227 + Identifier 1129216 1129221 + Identifier 1129222 1129227 + FunctionDeclaration 1129247 1133247 + Identifier 1129263 1129289 + Parameter 1129290 1129310 + Identifier 1129290 1129294 + TypeReference 1129295 1129310 + Identifier 1129295 1129310 + TypeReference 1129312 1129317 + Identifier 1129312 1129317 + Block 1129317 1133247 + VariableStatement 1129319 1129362 + VariableDeclarationList 1129319 1129361 + VariableDeclaration 1129334 1129361 + Identifier 1129334 1129340 + CallExpression 1129342 1129361 + Identifier 1129342 1129355 + Identifier 1129356 1129360 + IfStatement 1129362 1133204 + PrefixUnaryExpression 1129376 1129395 + PropertyAccessExpression 1129377 1129395 + Identifier 1129377 1129382 + Identifier 1129383 1129395 + Block 1129396 1133204 + IfStatement 1129398 1129651 + PrefixUnaryExpression 1129416 1129446 + CallExpression 1129417 1129446 + Identifier 1129417 1129440 + Identifier 1129441 1129445 + Block 1129447 1129651 + ExpressionStatement 1129449 1129525 + CallExpression 1129449 1129524 + Identifier 1129449 1129472 + PropertyAccessExpression 1129473 1129486 + Identifier 1129473 1129477 + Identifier 1129478 1129486 + PropertyAccessExpression 1129487 1129523 + Identifier 1129487 1129499 + Identifier 1129500 1129523 + ExpressionStatement 1129525 1129580 + BinaryExpression 1129525 1129579 + PropertyAccessExpression 1129525 1129563 + Identifier 1129525 1129548 + Identifier 1129549 1129563 + EqualsToken 1129563 1129565 + Identifier 1129565 1129579 + ReturnStatement 1129580 1129636 + BinaryExpression 1129604 1129635 + PropertyAccessExpression 1129604 1129623 + Identifier 1129604 1129610 + Identifier 1129611 1129623 + EqualsToken 1129623 1129625 + Identifier 1129625 1129635 + VariableStatement 1129651 1129810 + VariableDeclarationList 1129651 1129809 + VariableDeclaration 1129670 1129809 + Identifier 1129670 1129684 + ConditionalExpression 1129686 1129809 + PropertyAccessExpression 1129686 1129700 + Identifier 1129686 1129691 + Identifier 1129692 1129700 + QuestionToken 1129700 1129702 + PropertyAccessExpression 1129702 1129720 + Identifier 1129702 1129714 + Identifier 1129715 1129720 + ColonToken 1129720 1129722 + ConditionalExpression 1129722 1129809 + BinaryExpression 1129722 1129751 + PropertyAccessExpression 1129722 1129733 + Identifier 1129722 1129727 + Identifier 1129728 1129733 + AmpersandToken 1129733 1129735 + PropertyAccessExpression 1129735 1129751 + Identifier 1129735 1129745 + Identifier 1129746 1129751 + QuestionToken 1129751 1129753 + BinaryExpression 1129753 1129790 + PropertyAccessExpression 1129753 1129771 + Identifier 1129753 1129765 + Identifier 1129766 1129771 + BarToken 1129771 1129773 + PropertyAccessExpression 1129773 1129790 + Identifier 1129773 1129785 + Identifier 1129786 1129790 + ColonToken 1129790 1129792 + PropertyAccessExpression 1129792 1129809 + Identifier 1129792 1129804 + Identifier 1129805 1129809 + VariableStatement 1129810 1130000 + VariableDeclarationList 1129810 1129999 + VariableDeclaration 1129924 1129999 + Identifier 1129924 1129942 + CallExpression 1129944 1129999 + Identifier 1129944 1129970 + Identifier 1129971 1129975 + PropertyAccessExpression 1129976 1129998 + PropertyAccessExpression 1129976 1129990 + Identifier 1129976 1129981 + Identifier 1129982 1129990 + Identifier 1129991 1129998 + IfStatement 1130000 1130165 + PrefixUnaryExpression 1130018 1130036 + Identifier 1130019 1130036 + Block 1130037 1130165 + ExpressionStatement 1130039 1130094 + BinaryExpression 1130039 1130093 + PropertyAccessExpression 1130039 1130077 + Identifier 1130039 1130062 + Identifier 1130063 1130077 + EqualsToken 1130077 1130079 + Identifier 1130079 1130093 + ReturnStatement 1130094 1130150 + BinaryExpression 1130118 1130149 + PropertyAccessExpression 1130118 1130137 + Identifier 1130118 1130124 + Identifier 1130125 1130137 + EqualsToken 1130137 1130139 + Identifier 1130139 1130149 + VariableStatement 1130165 1130268 + VariableDeclarationList 1130165 1130267 + VariableDeclaration 1130184 1130267 + Identifier 1130184 1130199 + PrefixUnaryExpression 1130201 1130267 + PrefixUnaryExpression 1130203 1130267 + CallExpression 1130204 1130267 + PropertyAccessExpression 1130204 1130234 + PropertyAccessExpression 1130204 1130229 + Identifier 1130204 1130221 + Identifier 1130222 1130229 + QuestionDotToken 1130229 1130231 + Identifier 1130231 1130234 + PropertyAccessExpression 1130235 1130266 + Identifier 1130235 1130253 + Identifier 1130254 1130266 + VariableStatement 1130268 1130378 + VariableDeclarationList 1130268 1130377 + VariableDeclaration 1130287 1130377 + Identifier 1130287 1130300 + CallExpression 1130302 1130377 + Identifier 1130302 1130330 + Identifier 1130331 1130348 + FalseKeyword 1130349 1130376 + IfStatement 1130378 1133193 + PrefixUnaryExpression 1130396 1130426 + CallExpression 1130397 1130426 + Identifier 1130397 1130410 + PropertyAccessExpression 1130411 1130425 + Identifier 1130411 1130415 + Identifier 1130416 1130425 + Block 1130427 1132426 + VariableStatement 1130429 1130515 + VariableDeclarationList 1130429 1130514 + VariableDeclaration 1130452 1130514 + Identifier 1130452 1130462 + ArrayType 1130463 1130476 + TypeReference 1130463 1130474 + Identifier 1130463 1130474 + CallExpression 1130478 1130514 + Identifier 1130478 1130497 + NonNullExpression 1130498 1130513 + PropertyAccessExpression 1130498 1130512 + Identifier 1130498 1130502 + Identifier 1130503 1130512 + VariableStatement 1130515 1130569 + VariableDeclarationList 1130515 1130568 + VariableDeclaration 1130536 1130568 + Identifier 1130536 1130553 + Identifier 1130555 1130568 + VariableStatement 1130569 1130623 + VariableDeclarationList 1130569 1130622 + VariableDeclaration 1130590 1130622 + Identifier 1130590 1130598 + UnionType 1130599 1130622 + TypeReference 1130599 1130610 + Identifier 1130599 1130610 + UndefinedKeyword 1130612 1130622 + WhileStatement 1130623 1132302 + BinaryExpression 1130648 1130675 + Identifier 1130648 1130655 + EqualsToken 1130655 1130657 + CallExpression 1130657 1130675 + PropertyAccessExpression 1130657 1130673 + Identifier 1130657 1130667 + Identifier 1130668 1130673 + Block 1130676 1132302 + VariableStatement 1130678 1130773 + VariableDeclarationList 1130678 1130772 + VariableDeclaration 1130705 1130772 + Identifier 1130705 1130713 + ConditionalExpression 1130715 1130772 + PropertyAccessExpression 1130715 1130732 + Identifier 1130715 1130725 + Identifier 1130726 1130732 + QuestionToken 1130732 1130734 + PropertyAccessExpression 1130734 1130756 + Identifier 1130734 1130746 + Identifier 1130747 1130756 + ColonToken 1130756 1130758 + Identifier 1130758 1130772 + VariableStatement 1130773 1131259 + VariableDeclarationList 1130773 1131258 + VariableDeclaration 1131186 1131258 + Identifier 1131186 1131207 + CallExpression 1131209 1131258 + Identifier 1131209 1131225 + CallExpression 1131226 1131257 + Identifier 1131226 1131239 + Identifier 1131240 1131256 + VariableStatement 1131259 1131580 + VariableDeclarationList 1131259 1131579 + VariableDeclaration 1131286 1131579 + Identifier 1131286 1131305 + ConditionalExpression 1131307 1131579 + BinaryExpression 1131307 1131359 + PropertyAccessExpression 1131307 1131321 + Identifier 1131307 1131312 + Identifier 1131313 1131321 + BarBarToken 1131321 1131324 + BinaryExpression 1131324 1131359 + CallExpression 1131324 1131341 + Identifier 1131324 1131335 + Identifier 1131336 1131340 + AmpersandAmpersandToken 1131341 1131344 + Identifier 1131344 1131359 + QuestionToken 1131359 1131386 + CallExpression 1131386 1131542 + Identifier 1131386 1131404 + CallExpression 1131405 1131442 + Identifier 1131405 1131420 + Identifier 1131421 1131441 + PropertyAccessExpression 1131443 1131463 + Identifier 1131443 1131451 + Identifier 1131452 1131463 + FalseKeyword 1131464 1131508 + TrueKeyword 1131509 1131541 + ColonToken 1131542 1131569 + Identifier 1131569 1131579 + VariableStatement 1131580 1131737 + VariableDeclarationList 1131580 1131736 + VariableDeclaration 1131607 1131736 + Identifier 1131607 1131624 + ConditionalExpression 1131626 1131736 + PropertyAccessExpression 1131626 1131640 + Identifier 1131626 1131631 + Identifier 1131632 1131640 + QuestionToken 1131640 1131642 + Identifier 1131642 1131652 + ColonToken 1131652 1131654 + CallExpression 1131654 1131736 + Identifier 1131654 1131664 + CallExpression 1131665 1131705 + Identifier 1131665 1131683 + Identifier 1131684 1131704 + PropertyAccessExpression 1131706 1131726 + Identifier 1131706 1131714 + Identifier 1131715 1131726 + Identifier 1131727 1131735 + VariableStatement 1131737 1131811 + VariableDeclarationList 1131737 1131810 + VariableDeclaration 1131764 1131810 + Identifier 1131764 1131769 + BinaryExpression 1131771 1131810 + Identifier 1131771 1131788 + QuestionQuestionToken 1131788 1131791 + Identifier 1131791 1131810 + IfStatement 1131811 1132098 + PrefixUnaryExpression 1131837 1131842 + Identifier 1131838 1131842 + Block 1131843 1132098 + ExpressionStatement 1131845 1132011 + CallExpression 1131845 1132010 + Identifier 1131845 1131876 + Identifier 1131877 1131884 + PropertyAccessExpression 1131885 1131934 + Identifier 1131885 1131897 + Identifier 1131898 1131934 + CallExpression 1131935 1131975 + Identifier 1131935 1131957 + Identifier 1131958 1131974 + CallExpression 1131976 1132009 + Identifier 1131976 1132000 + Identifier 1132001 1132008 + ReturnStatement 1132011 1132075 + BinaryExpression 1132043 1132074 + PropertyAccessExpression 1132043 1132062 + Identifier 1132043 1132049 + Identifier 1132050 1132062 + EqualsToken 1132062 1132064 + Identifier 1132064 1132074 + ExpressionStatement 1132098 1132164 + BinaryExpression 1132098 1132163 + PropertyAccessExpression 1132098 1132156 + CallExpression 1132098 1132141 + Identifier 1132098 1132132 + Identifier 1132133 1132140 + Identifier 1132142 1132156 + EqualsToken 1132156 1132158 + Identifier 1132158 1132163 + ExpressionStatement 1132164 1132237 + BinaryExpression 1132164 1132236 + PropertyAccessExpression 1132164 1132229 + CallExpression 1132164 1132214 + Identifier 1132164 1132198 + PropertyAccessExpression 1132199 1132213 + Identifier 1132199 1132206 + Identifier 1132207 1132213 + Identifier 1132215 1132229 + EqualsToken 1132229 1132231 + Identifier 1132231 1132236 + ExpressionStatement 1132237 1132283 + BinaryExpression 1132237 1132282 + Identifier 1132237 1132275 + EqualsToken 1132275 1132277 + Identifier 1132277 1132282 + ExpressionStatement 1132302 1132411 + BinaryExpression 1132302 1132410 + PropertyAccessExpression 1132302 1132338 + Identifier 1132302 1132325 + Identifier 1132326 1132338 + EqualsToken 1132338 1132340 + CallExpression 1132340 1132410 + Identifier 1132340 1132364 + Identifier 1132365 1132369 + Identifier 1132370 1132376 + Identifier 1132377 1132394 + Identifier 1132395 1132409 + Block 1132444 1133193 + IfStatement 1132446 1133178 + BinaryExpression 1132468 1132502 + PropertyAccessExpression 1132468 1132486 + Identifier 1132468 1132480 + Identifier 1132481 1132486 + AmpersandToken 1132486 1132488 + Identifier 1132488 1132502 + Block 1132503 1132633 + ExpressionStatement 1132505 1132614 + BinaryExpression 1132505 1132613 + PropertyAccessExpression 1132505 1132545 + Identifier 1132505 1132532 + Identifier 1132533 1132545 + EqualsToken 1132545 1132547 + CallExpression 1132547 1132613 + Identifier 1132547 1132571 + Identifier 1132572 1132576 + Identifier 1132577 1132583 + Identifier 1132584 1132597 + Identifier 1132598 1132612 + Block 1132655 1133178 + VariableStatement 1132657 1132967 + VariableDeclarationList 1132657 1132966 + VariableDeclaration 1132684 1132966 + Identifier 1132684 1132697 + ConditionalExpression 1132699 1132966 + BinaryExpression 1132699 1132735 + Identifier 1132699 1132713 + EqualsEqualsEqualsToken 1132713 1132717 + PropertyAccessExpression 1132717 1132735 + Identifier 1132717 1132729 + Identifier 1132730 1132735 + QuestionToken 1132735 1132762 + PropertyAccessExpression 1132762 1132837 + Identifier 1132762 1132774 + Identifier 1132775 1132837 + ColonToken 1132837 1132864 + PropertyAccessExpression 1132864 1132966 + Identifier 1132864 1132876 + Identifier 1132877 1132966 + ExpressionStatement 1132967 1133045 + CallExpression 1132967 1133044 + Identifier 1132967 1132996 + Identifier 1132997 1133001 + Identifier 1133002 1133015 + PropertyAccessExpression 1133016 1133043 + PropertyAccessExpression 1133016 1133038 + PropertyAccessExpression 1133016 1133030 + Identifier 1133016 1133021 + Identifier 1133022 1133030 + Identifier 1133031 1133038 + Identifier 1133039 1133043 + ExpressionStatement 1133045 1133106 + BinaryExpression 1133045 1133105 + PropertyAccessExpression 1133045 1133089 + Identifier 1133045 1133074 + Identifier 1133075 1133089 + EqualsToken 1133089 1133091 + Identifier 1133091 1133105 + ExpressionStatement 1133106 1133159 + BinaryExpression 1133106 1133158 + PropertyAccessExpression 1133106 1133146 + Identifier 1133106 1133133 + Identifier 1133134 1133146 + EqualsToken 1133146 1133148 + Identifier 1133148 1133158 + ReturnStatement 1133204 1133240 + PropertyAccessExpression 1133220 1133239 + Identifier 1133220 1133226 + Identifier 1133227 1133239 + FunctionDeclaration 1133247 1133877 + Identifier 1133263 1133287 + Parameter 1133288 1133308 + Identifier 1133288 1133292 + TypeReference 1133293 1133308 + Identifier 1133293 1133308 + Parameter 1133309 1133326 + Identifier 1133309 1133315 + TypeReference 1133316 1133326 + Identifier 1133316 1133326 + Parameter 1133327 1133342 + Identifier 1133327 1133334 + TypeReference 1133335 1133342 + Identifier 1133335 1133342 + Parameter 1133343 1133364 + Identifier 1133343 1133351 + TypeReference 1133352 1133364 + Identifier 1133352 1133364 + Block 1133365 1133877 + VariableStatement 1133367 1133422 + VariableDeclarationList 1133367 1133421 + VariableDeclaration 1133382 1133421 + Identifier 1133382 1133397 + CallExpression 1133399 1133421 + Identifier 1133399 1133413 + Identifier 1133414 1133420 + ExpressionStatement 1133422 1133470 + BinaryExpression 1133422 1133469 + PropertyAccessExpression 1133422 1133452 + Identifier 1133422 1133437 + Identifier 1133438 1133452 + EqualsToken 1133452 1133454 + Identifier 1133454 1133469 + IfStatement 1133470 1133870 + BinaryExpression 1133484 1133513 + Identifier 1133484 1133491 + EqualsEqualsEqualsToken 1133491 1133495 + PropertyAccessExpression 1133495 1133513 + Identifier 1133495 1133507 + Identifier 1133508 1133513 + Block 1133514 1133698 + ReturnStatement 1133516 1133599 + CallExpression 1133536 1133598 + Identifier 1133536 1133567 + CallExpression 1133568 1133591 + Identifier 1133568 1133583 + Identifier 1133584 1133590 + Identifier 1133592 1133597 + Block 1133712 1133870 + ReturnStatement 1133714 1133778 + CallExpression 1133734 1133777 + Identifier 1133734 1133755 + Identifier 1133756 1133760 + Identifier 1133761 1133776 + FunctionDeclaration 1133877 1134958 + Identifier 1133893 1133947 + Parameter 1133948 1134057 + Identifier 1133948 1133952 + UnionType 1133953 1134057 + TypeReference 1133953 1133969 + Identifier 1133953 1133969 + TypeReference 1133971 1134001 + Identifier 1133971 1134001 + TypeReference 1134003 1134020 + Identifier 1134003 1134020 + TypeReference 1134022 1134040 + Identifier 1134022 1134040 + TypeReference 1134042 1134057 + Identifier 1134042 1134057 + TypeReference 1134059 1134064 + Identifier 1134059 1134064 + Block 1134064 1134958 + VariableStatement 1134066 1134109 + VariableDeclarationList 1134066 1134108 + VariableDeclaration 1134081 1134108 + Identifier 1134081 1134087 + CallExpression 1134089 1134108 + Identifier 1134089 1134102 + Identifier 1134103 1134107 + IfStatement 1134109 1134915 + PrefixUnaryExpression 1134123 1134142 + PropertyAccessExpression 1134124 1134142 + Identifier 1134124 1134129 + Identifier 1134130 1134142 + Block 1134143 1134915 + VariableStatement 1134145 1134297 + VariableDeclarationList 1134145 1134296 + VariableDeclaration 1134250 1134296 + Identifier 1134250 1134262 + CallExpression 1134264 1134296 + Identifier 1134264 1134290 + Identifier 1134291 1134295 + IfStatement 1134297 1134904 + BinaryExpression 1134315 1134389 + PrefixUnaryExpression 1134315 1134327 + PropertyAccessExpression 1134316 1134327 + Identifier 1134316 1134320 + Identifier 1134321 1134327 + BarBarToken 1134327 1134330 + BinaryExpression 1134330 1134389 + BinaryExpression 1134330 1134373 + PropertyAccessExpression 1134330 1134367 + CallExpression 1134330 1134362 + Identifier 1134330 1134349 + PropertyAccessExpression 1134350 1134361 + Identifier 1134350 1134354 + Identifier 1134355 1134361 + Identifier 1134363 1134367 + EqualsEqualsEqualsToken 1134367 1134371 + NumericLiteral 1134371 1134373 + AmpersandAmpersandToken 1134373 1134376 + PrefixUnaryExpression 1134376 1134389 + Identifier 1134378 1134389 + Block 1134390 1134467 + ExpressionStatement 1134392 1134452 + BinaryExpression 1134392 1134451 + PropertyAccessExpression 1134392 1134428 + Identifier 1134392 1134415 + Identifier 1134416 1134428 + EqualsToken 1134428 1134430 + Identifier 1134430 1134451 + Block 1134485 1134904 + VariableStatement 1134487 1134569 + VariableDeclarationList 1134487 1134568 + VariableDeclaration 1134508 1134568 + Identifier 1134508 1134513 + CallExpression 1134515 1134568 + Identifier 1134515 1134532 + PropertyAccessExpression 1134533 1134554 + Identifier 1134533 1134544 + Identifier 1134545 1134554 + PropertyAccessExpression 1134555 1134567 + Identifier 1134555 1134560 + Identifier 1134561 1134567 + ExpressionStatement 1134569 1134618 + BinaryExpression 1134569 1134617 + PropertyAccessExpression 1134569 1134603 + Identifier 1134569 1134591 + Identifier 1134592 1134603 + EqualsToken 1134603 1134605 + Identifier 1134605 1134617 + ExpressionStatement 1134618 1134706 + BinaryExpression 1134618 1134705 + PropertyAccessExpression 1134618 1134659 + Identifier 1134618 1134640 + Identifier 1134641 1134659 + EqualsToken 1134659 1134661 + CallExpression 1134661 1134705 + Identifier 1134661 1134692 + Identifier 1134693 1134704 + IfStatement 1134706 1134845 + BinaryExpression 1134728 1134772 + CallExpression 1134728 1134752 + Identifier 1134728 1134746 + Identifier 1134747 1134751 + AmpersandAmpersandToken 1134752 1134755 + PropertyAccessExpression 1134755 1134772 + Identifier 1134755 1134760 + Identifier 1134761 1134772 + Block 1134773 1134845 + ExpressionStatement 1134775 1134826 + BinaryExpression 1134775 1134825 + Identifier 1134775 1134801 + EqualsToken 1134801 1134803 + CallExpression 1134803 1134825 + Identifier 1134803 1134819 + Identifier 1134820 1134824 + ExpressionStatement 1134845 1134889 + BinaryExpression 1134845 1134888 + PropertyAccessExpression 1134845 1134881 + Identifier 1134845 1134868 + Identifier 1134869 1134881 + EqualsToken 1134881 1134883 + Identifier 1134883 1134888 + ReturnStatement 1134915 1134951 + PropertyAccessExpression 1134931 1134950 + Identifier 1134931 1134937 + Identifier 1134938 1134950 + FunctionDeclaration 1134958 1135332 + Identifier 1134974 1135000 + Parameter 1135001 1135011 + Identifier 1135001 1135005 + TypeReference 1135006 1135011 + Identifier 1135006 1135011 + Block 1135012 1135332 + VariableStatement 1135014 1135047 + VariableDeclarationList 1135014 1135046 + VariableDeclaration 1135027 1135046 + Identifier 1135027 1135032 + PropertyAccessExpression 1135034 1135046 + Identifier 1135034 1135039 + Identifier 1135040 1135046 + WhileStatement 1135047 1135247 + BinaryExpression 1135064 1135200 + BinaryExpression 1135064 1135124 + CallExpression 1135064 1135093 + Identifier 1135064 1135087 + Identifier 1135088 1135092 + BarBarToken 1135093 1135096 + CallExpression 1135096 1135124 + Identifier 1135096 1135118 + Identifier 1135119 1135123 + BarBarToken 1135124 1135127 + BinaryExpression 1135127 1135200 + CallExpression 1135127 1135152 + Identifier 1135127 1135146 + Identifier 1135147 1135151 + AmpersandAmpersandToken 1135152 1135155 + BinaryExpression 1135155 1135200 + PropertyAccessExpression 1135155 1135169 + Identifier 1135155 1135160 + Identifier 1135161 1135169 + EqualsEqualsEqualsToken 1135169 1135173 + PropertyAccessExpression 1135173 1135200 + Identifier 1135173 1135184 + Identifier 1135185 1135200 + Block 1135201 1135247 + ExpressionStatement 1135203 1135236 + BinaryExpression 1135203 1135235 + Identifier 1135203 1135221 + EqualsToken 1135221 1135223 + PropertyAccessExpression 1135223 1135235 + Identifier 1135223 1135228 + Identifier 1135229 1135235 + ReturnStatement 1135247 1135325 + ConditionalExpression 1135263 1135324 + CallExpression 1135263 1135281 + Identifier 1135263 1135275 + Identifier 1135276 1135280 + QuestionToken 1135281 1135283 + CallExpression 1135283 1135312 + Identifier 1135283 1135306 + Identifier 1135307 1135311 + ColonToken 1135312 1135314 + Identifier 1135314 1135324 + FunctionDeclaration 1135332 1135514 + Identifier 1135348 1135379 + Parameter 1135380 1135406 + Identifier 1135380 1135386 + UnionType 1135387 1135406 + TypeReference 1135387 1135394 + Identifier 1135387 1135394 + UndefinedKeyword 1135396 1135406 + Block 1135407 1135514 + ReturnStatement 1135409 1135507 + ConditionalExpression 1135425 1135506 + Identifier 1135425 1135432 + QuestionToken 1135432 1135434 + CallExpression 1135434 1135494 + Identifier 1135434 1135486 + Identifier 1135487 1135493 + ColonToken 1135494 1135496 + Identifier 1135496 1135506 + FunctionDeclaration 1135514 1135655 + Identifier 1135530 1135553 + Parameter 1135554 1135564 + Identifier 1135554 1135558 + TypeReference 1135559 1135564 + Identifier 1135559 1135564 + Block 1135565 1135655 + ReturnStatement 1135567 1135648 + BinaryExpression 1135583 1135647 + PrefixUnaryExpression 1135583 1135617 + PrefixUnaryExpression 1135585 1135617 + ParenthesizedExpression 1135586 1135617 + BinaryExpression 1135587 1135616 + PropertyAccessExpression 1135587 1135597 + Identifier 1135587 1135591 + Identifier 1135592 1135597 + AmpersandToken 1135597 1135599 + PropertyAccessExpression 1135599 1135616 + Identifier 1135599 1135609 + Identifier 1135610 1135616 + AmpersandAmpersandToken 1135617 1135620 + PrefixUnaryExpression 1135620 1135647 + CallExpression 1135622 1135647 + Identifier 1135622 1135641 + Identifier 1135642 1135646 + FunctionDeclaration 1135655 1135991 + Identifier 1135671 1135713 + Parameter 1135714 1135724 + Identifier 1135714 1135718 + TypeReference 1135719 1135724 + Identifier 1135719 1135724 + Block 1135725 1135991 + ReturnStatement 1135727 1135984 + BinaryExpression 1135743 1135983 + CallExpression 1135743 1135767 + Identifier 1135743 1135761 + Identifier 1135762 1135766 + BarBarToken 1135767 1135770 + PrefixUnaryExpression 1135770 1135983 + PrefixUnaryExpression 1135772 1135983 + ParenthesizedExpression 1135773 1135983 + BinaryExpression 1135774 1135982 + PropertyAccessExpression 1135774 1135784 + Identifier 1135774 1135778 + Identifier 1135779 1135784 + AmpersandToken 1135784 1135786 + ParenthesizedExpression 1135786 1135982 + BinaryExpression 1135788 1135981 + BinaryExpression 1135788 1135963 + BinaryExpression 1135788 1135938 + BinaryExpression 1135788 1135917 + BinaryExpression 1135788 1135894 + BinaryExpression 1135788 1135871 + BinaryExpression 1135788 1135848 + BinaryExpression 1135788 1135824 + PropertyAccessExpression 1135788 1135802 + Identifier 1135788 1135797 + Identifier 1135798 1135802 + BarToken 1135802 1135804 + PropertyAccessExpression 1135804 1135824 + Identifier 1135804 1135814 + Identifier 1135815 1135824 + BarToken 1135824 1135826 + PropertyAccessExpression 1135826 1135848 + Identifier 1135826 1135836 + Identifier 1135837 1135848 + BarToken 1135848 1135850 + PropertyAccessExpression 1135850 1135871 + Identifier 1135850 1135860 + Identifier 1135861 1135871 + BarToken 1135871 1135873 + PropertyAccessExpression 1135873 1135894 + Identifier 1135873 1135883 + Identifier 1135884 1135894 + BarToken 1135894 1135896 + PropertyAccessExpression 1135896 1135917 + Identifier 1135896 1135906 + Identifier 1135907 1135917 + BarToken 1135917 1135919 + PropertyAccessExpression 1135919 1135938 + Identifier 1135919 1135929 + Identifier 1135930 1135938 + BarToken 1135938 1135940 + PropertyAccessExpression 1135940 1135963 + Identifier 1135940 1135950 + Identifier 1135951 1135963 + BarToken 1135963 1135965 + PropertyAccessExpression 1135965 1135981 + Identifier 1135965 1135975 + Identifier 1135976 1135981 + FunctionDeclaration 1135991 1138359 + Identifier 1136007 1136047 + Parameter 1136048 1136058 + Identifier 1136048 1136052 + TypeReference 1136053 1136058 + Identifier 1136053 1136058 + Parameter 1136059 1136077 + Identifier 1136059 1136068 + BooleanKeyword 1136069 1136077 + TypeReference 1136079 1136084 + Identifier 1136079 1136084 + Block 1136084 1138359 + IfStatement 1136086 1136171 + PrefixUnaryExpression 1136100 1136131 + ParenthesizedExpression 1136101 1136131 + BinaryExpression 1136102 1136130 + PropertyAccessExpression 1136102 1136112 + Identifier 1136102 1136106 + Identifier 1136107 1136112 + AmpersandToken 1136112 1136114 + PropertyAccessExpression 1136114 1136130 + Identifier 1136114 1136124 + Identifier 1136125 1136130 + Block 1136132 1136171 + ReturnStatement 1136134 1136160 + Identifier 1136154 1136159 + IfStatement 1136171 1136365 + CallExpression 1136185 1136260 + Identifier 1136185 1136190 + PropertyAccessExpression 1136191 1136216 + ParenthesizedExpression 1136191 1136210 + AsExpression 1136192 1136209 + Identifier 1136192 1136196 + TypeReference 1136199 1136209 + Identifier 1136199 1136209 + Identifier 1136211 1136216 + Identifier 1136217 1136259 + Block 1136261 1136365 + ReturnStatement 1136263 1136354 + BinaryExpression 1136283 1136353 + CallExpression 1136283 1136334 + Identifier 1136283 1136288 + PropertyAccessExpression 1136289 1136314 + ParenthesizedExpression 1136289 1136308 + AsExpression 1136290 1136307 + Identifier 1136290 1136294 + TypeReference 1136297 1136307 + Identifier 1136297 1136307 + Identifier 1136309 1136314 + Identifier 1136315 1136333 + BarBarToken 1136334 1136337 + Identifier 1136337 1136353 + VariableStatement 1136365 1136477 + VariableDeclarationList 1136365 1136476 + VariableDeclaration 1136380 1136476 + Identifier 1136380 1136390 + CallExpression 1136392 1136476 + Identifier 1136392 1136397 + PropertyAccessExpression 1136398 1136423 + ParenthesizedExpression 1136398 1136417 + AsExpression 1136399 1136416 + Identifier 1136399 1136403 + TypeReference 1136406 1136416 + Identifier 1136406 1136416 + Identifier 1136418 1136423 + ArrowFunction 1136424 1136475 + Parameter 1136424 1136426 + Identifier 1136424 1136426 + EqualsGreaterThanToken 1136426 1136429 + PrefixUnaryExpression 1136429 1136475 + CallExpression 1136431 1136475 + Identifier 1136431 1136472 + Identifier 1136473 1136474 + IfStatement 1136477 1136541 + PrefixUnaryExpression 1136491 1136501 + Identifier 1136492 1136501 + Block 1136502 1136541 + ReturnStatement 1136504 1136530 + Identifier 1136524 1136529 + VariableStatement 1136541 1136673 + VariableDeclarationList 1136541 1136672 + VariableDeclaration 1136556 1136672 + Identifier 1136556 1136567 + CallExpression 1136569 1136672 + Identifier 1136569 1136574 + PropertyAccessExpression 1136575 1136600 + ParenthesizedExpression 1136575 1136594 + AsExpression 1136576 1136593 + Identifier 1136576 1136580 + TypeReference 1136583 1136593 + Identifier 1136583 1136593 + Identifier 1136595 1136600 + ArrowFunction 1136601 1136671 + Parameter 1136601 1136603 + Identifier 1136601 1136603 + EqualsGreaterThanToken 1136603 1136606 + BinaryExpression 1136606 1136671 + BinaryExpression 1136606 1136622 + Identifier 1136606 1136608 + ExclamationEqualsEqualsToken 1136608 1136612 + Identifier 1136612 1136622 + AmpersandAmpersandToken 1136622 1136625 + PrefixUnaryExpression 1136625 1136671 + CallExpression 1136627 1136671 + Identifier 1136627 1136668 + Identifier 1136669 1136670 + IfStatement 1136673 1136737 + Identifier 1136687 1136697 + Block 1136698 1136737 + ReturnStatement 1136700 1136726 + Identifier 1136720 1136725 + ReturnStatement 1136737 1136789 + CallExpression 1136753 1136788 + Identifier 1136753 1136777 + Identifier 1136778 1136787 + FunctionDeclaration 1136789 1138352 + Identifier 1136809 1136833 + Parameter 1136834 1136844 + Identifier 1136834 1136838 + TypeReference 1136839 1136844 + Identifier 1136839 1136844 + Block 1136845 1138352 + VariableStatement 1136847 1137005 + VariableDeclarationList 1136847 1137004 + VariableDeclaration 1136974 1137004 + Identifier 1136974 1136982 + CallExpression 1136984 1137004 + Identifier 1136984 1137002 + ForOfStatement 1137005 1138086 + VariableDeclarationList 1137024 1137034 + VariableDeclaration 1137029 1137034 + Identifier 1137029 1137034 + CallExpression 1137037 1137063 + Identifier 1137037 1137057 + Identifier 1137058 1137062 + Block 1137064 1138086 + IfStatement 1137066 1138071 + BinaryExpression 1137088 1137183 + CallExpression 1137088 1137131 + Identifier 1137088 1137125 + Identifier 1137126 1137130 + AmpersandToken 1137131 1137133 + ParenthesizedExpression 1137133 1137183 + BinaryExpression 1137135 1137182 + PropertyAccessExpression 1137135 1137156 + Identifier 1137135 1137148 + Identifier 1137149 1137156 + BarToken 1137156 1137158 + PropertyAccessExpression 1137158 1137182 + Identifier 1137158 1137172 + Identifier 1137173 1137182 + Block 1137184 1137255 + IfStatement 1137277 1138071 + CallExpression 1137282 1137308 + Identifier 1137282 1137302 + Identifier 1137303 1137307 + Block 1137309 1138071 + VariableStatement 1137311 1137439 + VariableDeclarationList 1137311 1137438 + VariableDeclaration 1137338 1137438 + Identifier 1137338 1137356 + BinaryExpression 1137358 1137438 + BinaryExpression 1137358 1137395 + PropertyAccessExpression 1137358 1137369 + Identifier 1137358 1137363 + Identifier 1137364 1137369 + AmpersandToken 1137369 1137371 + PropertyAccessExpression 1137371 1137395 + Identifier 1137371 1137383 + Identifier 1137384 1137395 + AmpersandAmpersandToken 1137395 1137398 + PrefixUnaryExpression 1137398 1137438 + ParenthesizedExpression 1137400 1137438 + BinaryExpression 1137401 1137437 + PropertyAccessExpression 1137401 1137411 + Identifier 1137401 1137405 + Identifier 1137406 1137411 + AmpersandToken 1137411 1137413 + PropertyAccessExpression 1137413 1137437 + Identifier 1137413 1137425 + Identifier 1137426 1137437 + VariableStatement 1137439 1137519 + VariableDeclarationList 1137439 1137518 + VariableDeclaration 1137466 1137518 + Identifier 1137466 1137472 + BinaryExpression 1137474 1137518 + PropertyAccessExpression 1137474 1137495 + Identifier 1137474 1137486 + Identifier 1137487 1137495 + BarToken 1137495 1137497 + PropertyAccessExpression 1137497 1137518 + Identifier 1137497 1137509 + Identifier 1137510 1137518 + VariableStatement 1137519 1137659 + VariableDeclarationList 1137519 1137658 + VariableDeclaration 1137546 1137658 + Identifier 1137546 1137553 + CallExpression 1137555 1137658 + Identifier 1137555 1137568 + Identifier 1137569 1137574 + PropertyAccessExpression 1137575 1137592 + Identifier 1137575 1137580 + Identifier 1137581 1137592 + BinaryExpression 1137593 1137657 + CallExpression 1137593 1137618 + Identifier 1137593 1137612 + Identifier 1137613 1137617 + BarToken 1137618 1137620 + ParenthesizedExpression 1137620 1137657 + ConditionalExpression 1137622 1137656 + Identifier 1137622 1137630 + QuestionToken 1137630 1137632 + PropertyAccessExpression 1137632 1137652 + Identifier 1137632 1137643 + Identifier 1137644 1137652 + ColonToken 1137652 1137654 + NumericLiteral 1137654 1137656 + ExpressionStatement 1137659 1137796 + BinaryExpression 1137659 1137795 + PropertyAccessExpression 1137659 1137698 + PropertyAccessExpression 1137659 1137693 + Identifier 1137659 1137687 + Identifier 1137688 1137693 + Identifier 1137694 1137698 + EqualsToken 1137698 1137700 + ConditionalExpression 1137700 1137795 + Identifier 1137700 1137718 + QuestionToken 1137718 1137720 + Identifier 1137720 1137734 + ColonToken 1137734 1137736 + CallExpression 1137736 1137795 + Identifier 1137736 1137751 + CallExpression 1137752 1137773 + Identifier 1137752 1137767 + Identifier 1137768 1137772 + TrueKeyword 1137774 1137794 + ExpressionStatement 1137796 1137858 + BinaryExpression 1137796 1137857 + PropertyAccessExpression 1137796 1137837 + Identifier 1137796 1137824 + Identifier 1137825 1137837 + EqualsToken 1137837 1137839 + PropertyAccessExpression 1137839 1137857 + Identifier 1137839 1137844 + Identifier 1137845 1137857 + ExpressionStatement 1137858 1137934 + BinaryExpression 1137858 1137933 + PropertyAccessExpression 1137858 1137901 + PropertyAccessExpression 1137858 1137892 + Identifier 1137858 1137886 + Identifier 1137887 1137892 + Identifier 1137893 1137901 + EqualsToken 1137901 1137903 + PropertyAccessExpression 1137903 1137933 + CallExpression 1137903 1137924 + Identifier 1137903 1137918 + Identifier 1137919 1137923 + Identifier 1137925 1137933 + ExpressionStatement 1137934 1137992 + BinaryExpression 1137934 1137991 + PropertyAccessExpression 1137934 1137984 + PropertyAccessExpression 1137934 1137968 + Identifier 1137934 1137962 + Identifier 1137963 1137968 + Identifier 1137969 1137984 + EqualsToken 1137984 1137986 + Identifier 1137986 1137991 + ExpressionStatement 1137992 1138052 + CallExpression 1137992 1138051 + PropertyAccessExpression 1137992 1138025 + Identifier 1137992 1138021 + Identifier 1138022 1138025 + PropertyAccessExpression 1138026 1138042 + Identifier 1138026 1138030 + Identifier 1138031 1138042 + Identifier 1138043 1138050 + VariableStatement 1138086 1138208 + VariableDeclarationList 1138086 1138207 + VariableDeclaration 1138105 1138207 + Identifier 1138105 1138112 + CallExpression 1138114 1138207 + Identifier 1138114 1138134 + PropertyAccessExpression 1138135 1138146 + Identifier 1138135 1138139 + Identifier 1138140 1138146 + Identifier 1138147 1138155 + Identifier 1138156 1138167 + Identifier 1138168 1138179 + CallExpression 1138180 1138206 + Identifier 1138180 1138200 + Identifier 1138201 1138205 + ExpressionStatement 1138208 1138313 + BinaryExpression 1138208 1138312 + PropertyAccessExpression 1138208 1138240 + Identifier 1138208 1138228 + Identifier 1138229 1138240 + BarEqualsToken 1138240 1138243 + BinaryExpression 1138243 1138312 + PropertyAccessExpression 1138243 1138269 + Identifier 1138243 1138255 + Identifier 1138256 1138269 + BarToken 1138269 1138271 + PropertyAccessExpression 1138271 1138312 + Identifier 1138271 1138283 + Identifier 1138284 1138312 + ReturnStatement 1138313 1138341 + Identifier 1138333 1138340 + FunctionDeclaration 1138359 1144079 + Identifier 1138636 1138650 + Parameter 1138651 1138661 + Identifier 1138651 1138655 + TypeReference 1138656 1138661 + Identifier 1138656 1138661 + Parameter 1138662 1138674 + Identifier 1138662 1138668 + TypeReference 1138669 1138674 + Identifier 1138669 1138674 + Parameter 1138675 1138702 + Identifier 1138675 1138682 + UnionType 1138683 1138702 + TypeReference 1138683 1138690 + Identifier 1138683 1138690 + UndefinedKeyword 1138692 1138702 + Parameter 1138703 1138728 + Identifier 1138703 1138715 + TypeReference 1138716 1138728 + Identifier 1138716 1138728 + Parameter 1138729 1138747 + Identifier 1138729 1138738 + BooleanKeyword 1138739 1138747 + TypeReference 1138749 1138754 + Identifier 1138749 1138754 + Block 1138754 1144079 + IfStatement 1138756 1138870 + BinaryExpression 1138770 1138827 + BinaryExpression 1138770 1138796 + PropertyAccessExpression 1138770 1138780 + Identifier 1138770 1138774 + Identifier 1138775 1138780 + AmpersandToken 1138780 1138782 + PropertyAccessExpression 1138782 1138796 + Identifier 1138782 1138792 + Identifier 1138793 1138796 + BarBarToken 1138796 1138799 + BinaryExpression 1138799 1138827 + PropertyAccessExpression 1138799 1138811 + Identifier 1138799 1138805 + Identifier 1138806 1138811 + AmpersandToken 1138811 1138813 + PropertyAccessExpression 1138813 1138827 + Identifier 1138813 1138823 + Identifier 1138824 1138827 + Block 1138828 1138870 + ReturnStatement 1138830 1138859 + Identifier 1138850 1138858 + IfStatement 1138870 1138996 + BinaryExpression 1138884 1138949 + BinaryExpression 1138884 1138914 + PropertyAccessExpression 1138884 1138894 + Identifier 1138884 1138888 + Identifier 1138889 1138894 + AmpersandToken 1138894 1138896 + PropertyAccessExpression 1138896 1138914 + Identifier 1138896 1138906 + Identifier 1138907 1138914 + BarBarToken 1138914 1138917 + BinaryExpression 1138917 1138949 + PropertyAccessExpression 1138917 1138929 + Identifier 1138917 1138923 + Identifier 1138924 1138929 + AmpersandToken 1138929 1138931 + PropertyAccessExpression 1138931 1138949 + Identifier 1138931 1138941 + Identifier 1138942 1138949 + Block 1138950 1138996 + ReturnStatement 1138952 1138985 + Identifier 1138972 1138984 + IfStatement 1138996 1139079 + BinaryExpression 1139010 1139038 + PropertyAccessExpression 1139010 1139020 + Identifier 1139010 1139014 + Identifier 1139015 1139020 + AmpersandToken 1139020 1139022 + PropertyAccessExpression 1139022 1139038 + Identifier 1139022 1139032 + Identifier 1139033 1139038 + Block 1139039 1139079 + ReturnStatement 1139041 1139068 + Identifier 1139061 1139067 + IfStatement 1139079 1139162 + BinaryExpression 1139093 1139122 + PropertyAccessExpression 1139093 1139104 + Identifier 1139093 1139098 + Identifier 1139099 1139104 + AmpersandToken 1139104 1139106 + PropertyAccessExpression 1139106 1139122 + Identifier 1139106 1139116 + Identifier 1139117 1139122 + Block 1139123 1139162 + ReturnStatement 1139125 1139151 + Identifier 1139145 1139150 + ExpressionStatement 1139162 1139235 + BinaryExpression 1139162 1139234 + Identifier 1139162 1139176 + EqualsToken 1139176 1139178 + CallExpression 1139178 1139234 + Identifier 1139178 1139218 + Identifier 1139219 1139223 + Identifier 1139224 1139233 + IfStatement 1139235 1139473 + BinaryExpression 1139249 1139277 + PropertyAccessExpression 1139249 1139259 + Identifier 1139249 1139253 + Identifier 1139254 1139259 + AmpersandToken 1139259 1139261 + PropertyAccessExpression 1139261 1139277 + Identifier 1139261 1139271 + Identifier 1139272 1139277 + Block 1139278 1139473 + ReturnStatement 1139280 1139462 + ConditionalExpression 1139300 1139461 + CallExpression 1139300 1139338 + Identifier 1139300 1139323 + ArrayLiteralExpression 1139324 1139337 + Identifier 1139325 1139329 + Identifier 1139330 1139336 + QuestionToken 1139338 1139357 + CallExpression 1139357 1139432 + Identifier 1139357 1139365 + Identifier 1139366 1139370 + ArrowFunction 1139371 1139431 + Parameter 1139371 1139373 + Identifier 1139371 1139373 + EqualsGreaterThanToken 1139373 1139376 + CallExpression 1139376 1139431 + Identifier 1139376 1139390 + Identifier 1139391 1139392 + Identifier 1139393 1139399 + Identifier 1139400 1139407 + Identifier 1139408 1139420 + Identifier 1139421 1139430 + ColonToken 1139432 1139451 + Identifier 1139451 1139461 + ExpressionStatement 1139473 1139548 + BinaryExpression 1139473 1139547 + Identifier 1139473 1139488 + EqualsToken 1139488 1139490 + CallExpression 1139490 1139547 + Identifier 1139490 1139530 + Identifier 1139531 1139536 + Identifier 1139537 1139546 + IfStatement 1139548 1139787 + BinaryExpression 1139562 1139591 + PropertyAccessExpression 1139562 1139573 + Identifier 1139562 1139567 + Identifier 1139568 1139573 + AmpersandToken 1139573 1139575 + PropertyAccessExpression 1139575 1139591 + Identifier 1139575 1139585 + Identifier 1139586 1139591 + Block 1139592 1139787 + ReturnStatement 1139594 1139776 + ConditionalExpression 1139614 1139775 + CallExpression 1139614 1139652 + Identifier 1139614 1139637 + ArrayLiteralExpression 1139638 1139651 + Identifier 1139639 1139643 + Identifier 1139644 1139650 + QuestionToken 1139652 1139671 + CallExpression 1139671 1139746 + Identifier 1139671 1139679 + Identifier 1139680 1139685 + ArrowFunction 1139686 1139745 + Parameter 1139686 1139688 + Identifier 1139686 1139688 + EqualsGreaterThanToken 1139688 1139691 + CallExpression 1139691 1139745 + Identifier 1139691 1139705 + Identifier 1139706 1139710 + Identifier 1139711 1139713 + Identifier 1139714 1139721 + Identifier 1139722 1139734 + Identifier 1139735 1139744 + ColonToken 1139746 1139765 + Identifier 1139765 1139775 + IfStatement 1139787 1140011 + BinaryExpression 1139801 1139971 + PropertyAccessExpression 1139801 1139812 + Identifier 1139801 1139806 + Identifier 1139807 1139812 + AmpersandToken 1139812 1139814 + ParenthesizedExpression 1139814 1139971 + BinaryExpression 1139816 1139970 + BinaryExpression 1139816 1139952 + BinaryExpression 1139816 1139927 + BinaryExpression 1139816 1139906 + BinaryExpression 1139816 1139883 + BinaryExpression 1139816 1139860 + PropertyAccessExpression 1139816 1139837 + Identifier 1139816 1139825 + Identifier 1139826 1139837 + BarToken 1139837 1139839 + PropertyAccessExpression 1139839 1139860 + Identifier 1139839 1139849 + Identifier 1139850 1139860 + BarToken 1139860 1139862 + PropertyAccessExpression 1139862 1139883 + Identifier 1139862 1139872 + Identifier 1139873 1139883 + BarToken 1139883 1139885 + PropertyAccessExpression 1139885 1139906 + Identifier 1139885 1139895 + Identifier 1139896 1139906 + BarToken 1139906 1139908 + PropertyAccessExpression 1139908 1139927 + Identifier 1139908 1139918 + Identifier 1139919 1139927 + BarToken 1139927 1139929 + PropertyAccessExpression 1139929 1139952 + Identifier 1139929 1139939 + Identifier 1139940 1139952 + BarToken 1139952 1139954 + PropertyAccessExpression 1139954 1139970 + Identifier 1139954 1139964 + Identifier 1139965 1139970 + Block 1139972 1140011 + ReturnStatement 1139974 1140000 + Identifier 1139994 1139999 + IfStatement 1140011 1141012 + BinaryExpression 1140027 1140082 + CallExpression 1140027 1140052 + Identifier 1140027 1140046 + Identifier 1140047 1140051 + BarBarToken 1140052 1140055 + CallExpression 1140055 1140082 + Identifier 1140055 1140075 + Identifier 1140076 1140081 + Block 1140083 1141012 + IfStatement 1140085 1140175 + CallExpression 1140103 1140126 + Identifier 1140103 1140120 + Identifier 1140121 1140125 + Block 1140127 1140175 + ReturnStatement 1140129 1140160 + Identifier 1140153 1140159 + IfStatement 1140175 1140945 + BinaryExpression 1140498 1140533 + PropertyAccessExpression 1140498 1140508 + Identifier 1140498 1140502 + Identifier 1140503 1140508 + AmpersandToken 1140508 1140510 + PropertyAccessExpression 1140510 1140533 + Identifier 1140510 1140520 + Identifier 1140521 1140533 + Block 1140534 1140945 + VariableStatement 1140536 1140601 + VariableDeclarationList 1140536 1140600 + VariableDeclaration 1140559 1140600 + Identifier 1140559 1140565 + PropertyAccessExpression 1140567 1140600 + ParenthesizedExpression 1140567 1140594 + AsExpression 1140569 1140593 + Identifier 1140569 1140573 + TypeReference 1140576 1140593 + Identifier 1140576 1140593 + Identifier 1140595 1140600 + VariableStatement 1140601 1140660 + VariableDeclarationList 1140601 1140659 + VariableDeclaration 1140624 1140659 + Identifier 1140624 1140633 + ElementAccessExpression 1140635 1140659 + Identifier 1140635 1140641 + BinaryExpression 1140642 1140658 + PropertyAccessExpression 1140642 1140654 + Identifier 1140642 1140647 + Identifier 1140648 1140654 + MinusToken 1140654 1140656 + NumericLiteral 1140656 1140658 + IfStatement 1140660 1140930 + BinaryExpression 1140682 1140747 + CallExpression 1140682 1140714 + Identifier 1140682 1140704 + Identifier 1140705 1140713 + AmpersandAmpersandToken 1140714 1140717 + CallExpression 1140717 1140747 + Identifier 1140717 1140740 + Identifier 1140741 1140746 + Block 1140748 1140930 + ReturnStatement 1140750 1140911 + CallExpression 1140778 1140910 + Identifier 1140778 1140798 + CallExpression 1140799 1140909 + Identifier 1140799 1140810 + CallExpression 1140811 1140843 + PropertyAccessExpression 1140811 1140822 + Identifier 1140811 1140816 + Identifier 1140817 1140822 + NumericLiteral 1140823 1140824 + BinaryExpression 1140825 1140842 + PropertyAccessExpression 1140825 1140838 + Identifier 1140825 1140831 + Identifier 1140832 1140838 + MinusToken 1140838 1140840 + NumericLiteral 1140840 1140842 + ArrayLiteralExpression 1140844 1140908 + CallExpression 1140846 1140907 + Identifier 1140846 1140859 + Identifier 1140860 1140868 + Identifier 1140869 1140875 + Identifier 1140876 1140883 + Identifier 1140884 1140896 + Identifier 1140897 1140906 + ReturnStatement 1140945 1141001 + CallExpression 1140965 1141000 + Identifier 1140965 1140985 + ArrayLiteralExpression 1140986 1140999 + Identifier 1140987 1140991 + Identifier 1140992 1140998 + VariableStatement 1141012 1141060 + VariableDeclarationList 1141012 1141059 + VariableDeclaration 1141029 1141059 + Identifier 1141029 1141037 + CallExpression 1141039 1141059 + Identifier 1141039 1141057 + VariableStatement 1141060 1141120 + VariableDeclarationList 1141060 1141119 + VariableDeclaration 1141075 1141119 + Identifier 1141075 1141097 + NewExpression 1141099 1141119 + Identifier 1141103 1141107 + TypeReference 1141108 1141116 + Identifier 1141108 1141116 + VariableStatement 1141120 1141239 + VariableDeclarationList 1141120 1141238 + VariableDeclaration 1141135 1141238 + Identifier 1141135 1141146 + ConditionalExpression 1141148 1141238 + BinaryExpression 1141148 1141173 + Identifier 1141148 1141153 + EqualsEqualsEqualsToken 1141153 1141157 + Identifier 1141157 1141173 + QuestionToken 1141173 1141175 + CallExpression 1141175 1141202 + Identifier 1141175 1141195 + Identifier 1141196 1141201 + ColonToken 1141202 1141204 + CallExpression 1141204 1141238 + Identifier 1141204 1141223 + ArrayLiteralExpression 1141224 1141237 + Identifier 1141225 1141229 + Identifier 1141230 1141236 + ForOfStatement 1141239 1141681 + VariableDeclarationList 1141256 1141271 + VariableDeclaration 1141261 1141271 + Identifier 1141261 1141271 + CallExpression 1141274 1141301 + Identifier 1141274 1141294 + Identifier 1141295 1141300 + Block 1141302 1141681 + IfStatement 1141304 1141670 + BinaryExpression 1141322 1141422 + CallExpression 1141322 1141370 + Identifier 1141322 1141359 + Identifier 1141360 1141369 + AmpersandToken 1141370 1141372 + ParenthesizedExpression 1141372 1141422 + BinaryExpression 1141374 1141421 + PropertyAccessExpression 1141374 1141395 + Identifier 1141374 1141387 + Identifier 1141388 1141395 + BarToken 1141395 1141397 + PropertyAccessExpression 1141397 1141421 + Identifier 1141397 1141411 + Identifier 1141412 1141421 + Block 1141423 1141507 + ExpressionStatement 1141425 1141492 + CallExpression 1141425 1141491 + PropertyAccessExpression 1141425 1141468 + Identifier 1141425 1141464 + Identifier 1141465 1141468 + PropertyAccessExpression 1141469 1141490 + Identifier 1141469 1141478 + Identifier 1141479 1141490 + IfStatement 1141525 1141670 + CallExpression 1141530 1141561 + Identifier 1141530 1141550 + Identifier 1141551 1141560 + Block 1141562 1141670 + ExpressionStatement 1141564 1141655 + CallExpression 1141564 1141654 + PropertyAccessExpression 1141564 1141593 + Identifier 1141564 1141589 + Identifier 1141590 1141593 + PropertyAccessExpression 1141594 1141615 + Identifier 1141594 1141603 + Identifier 1141604 1141615 + CallExpression 1141616 1141653 + Identifier 1141616 1141632 + Identifier 1141633 1141642 + Identifier 1141643 1141652 + ForOfStatement 1141681 1143745 + VariableDeclarationList 1141698 1141712 + VariableDeclaration 1141703 1141712 + Identifier 1141703 1141712 + CallExpression 1141715 1141741 + Identifier 1141715 1141735 + Identifier 1141736 1141740 + Block 1141742 1143745 + IfStatement 1141744 1141889 + BinaryExpression 1141762 1141844 + CallExpression 1141762 1141809 + PropertyAccessExpression 1141762 1141787 + Identifier 1141762 1141783 + Identifier 1141784 1141787 + PropertyAccessExpression 1141788 1141808 + Identifier 1141788 1141796 + Identifier 1141797 1141808 + BarBarToken 1141809 1141812 + PrefixUnaryExpression 1141812 1141844 + CallExpression 1141814 1141844 + Identifier 1141814 1141834 + Identifier 1141835 1141843 + Block 1141845 1141889 + ContinueStatement 1141847 1141874 + IfStatement 1141889 1143734 + CallExpression 1141907 1141940 + PropertyAccessExpression 1141907 1141918 + Identifier 1141907 1141914 + Identifier 1141915 1141918 + PropertyAccessExpression 1141919 1141939 + Identifier 1141919 1141927 + Identifier 1141928 1141939 + Block 1141941 1143610 + VariableStatement 1141943 1142014 + VariableDeclarationList 1141943 1142013 + VariableDeclaration 1141966 1142013 + Identifier 1141966 1141976 + NonNullExpression 1141978 1142013 + CallExpression 1141978 1142012 + PropertyAccessExpression 1141978 1141990 + Identifier 1141978 1141986 + Identifier 1141987 1141990 + PropertyAccessExpression 1141991 1142011 + Identifier 1141991 1141999 + Identifier 1142000 1142011 + VariableStatement 1142014 1142077 + VariableDeclarationList 1142014 1142076 + VariableDeclaration 1142037 1142076 + Identifier 1142037 1142047 + CallExpression 1142049 1142076 + Identifier 1142049 1142065 + Identifier 1142066 1142075 + IfStatement 1142077 1143595 + BinaryExpression 1142099 1142137 + PropertyAccessExpression 1142099 1142114 + Identifier 1142099 1142108 + Identifier 1142109 1142114 + AmpersandToken 1142114 1142116 + PropertyAccessExpression 1142116 1142137 + Identifier 1142116 1142128 + Identifier 1142129 1142137 + Block 1142138 1143595 + VariableStatement 1142140 1142242 + VariableDeclarationList 1142140 1142241 + VariableDeclaration 1142167 1142241 + Identifier 1142167 1142180 + CallExpression 1142182 1142241 + Identifier 1142182 1142194 + PropertyAccessExpression 1142195 1142216 + Identifier 1142195 1142203 + Identifier 1142204 1142216 + PropertyAccessExpression 1142217 1142240 + Identifier 1142217 1142227 + Identifier 1142228 1142240 + VariableStatement 1142242 1142341 + VariableDeclarationList 1142242 1142340 + VariableDeclaration 1142269 1142340 + Identifier 1142269 1142275 + BinaryExpression 1142277 1142340 + PropertyAccessExpression 1142277 1142298 + Identifier 1142277 1142289 + Identifier 1142290 1142298 + BarToken 1142298 1142300 + ParenthesizedExpression 1142300 1142340 + BinaryExpression 1142302 1142339 + PropertyAccessExpression 1142302 1142316 + Identifier 1142302 1142310 + Identifier 1142311 1142316 + AmpersandToken 1142316 1142318 + PropertyAccessExpression 1142318 1142339 + Identifier 1142318 1142330 + Identifier 1142331 1142339 + VariableStatement 1142341 1142420 + VariableDeclarationList 1142341 1142419 + VariableDeclaration 1142368 1142419 + Identifier 1142368 1142375 + CallExpression 1142377 1142419 + Identifier 1142377 1142390 + Identifier 1142391 1142396 + PropertyAccessExpression 1142397 1142418 + Identifier 1142397 1142406 + Identifier 1142407 1142418 + VariableStatement 1142420 1142883 + VariableDeclarationList 1142420 1142882 + VariableDeclaration 1142845 1142882 + Identifier 1142845 1142854 + CallExpression 1142856 1142882 + Identifier 1142856 1142872 + Identifier 1142873 1142881 + VariableStatement 1142883 1142977 + VariableDeclarationList 1142883 1142976 + VariableDeclaration 1142910 1142976 + Identifier 1142910 1142935 + CallExpression 1142937 1142976 + Identifier 1142937 1142966 + Identifier 1142967 1142975 + VariableStatement 1142977 1143073 + VariableDeclarationList 1142977 1143072 + VariableDeclaration 1143004 1143072 + Identifier 1143004 1143030 + CallExpression 1143032 1143072 + Identifier 1143032 1143061 + Identifier 1143062 1143071 + ExpressionStatement 1143073 1143259 + BinaryExpression 1143073 1143258 + PropertyAccessExpression 1143073 1143112 + PropertyAccessExpression 1143073 1143107 + Identifier 1143073 1143101 + Identifier 1143102 1143107 + Identifier 1143108 1143112 + EqualsToken 1143112 1143114 + ConditionalExpression 1143114 1143258 + BinaryExpression 1143114 1143169 + Identifier 1143114 1143139 + EqualsEqualsEqualsToken 1143139 1143143 + Identifier 1143143 1143169 + QuestionToken 1143169 1143171 + Identifier 1143171 1143180 + ColonToken 1143180 1143182 + CallExpression 1143182 1143258 + Identifier 1143182 1143195 + ArrayLiteralExpression 1143196 1143233 + Identifier 1143197 1143205 + Identifier 1143206 1143232 + PropertyAccessExpression 1143234 1143257 + Identifier 1143234 1143249 + Identifier 1143250 1143257 + ExpressionStatement 1143259 1143316 + BinaryExpression 1143259 1143315 + PropertyAccessExpression 1143259 1143304 + PropertyAccessExpression 1143259 1143293 + Identifier 1143259 1143287 + Identifier 1143288 1143293 + Identifier 1143294 1143304 + EqualsToken 1143304 1143306 + Identifier 1143306 1143315 + ExpressionStatement 1143316 1143375 + BinaryExpression 1143316 1143374 + PropertyAccessExpression 1143316 1143362 + PropertyAccessExpression 1143316 1143350 + Identifier 1143316 1143344 + Identifier 1143345 1143350 + Identifier 1143351 1143362 + EqualsToken 1143362 1143364 + Identifier 1143364 1143374 + ExpressionStatement 1143375 1143432 + BinaryExpression 1143375 1143431 + PropertyAccessExpression 1143375 1143416 + Identifier 1143375 1143403 + Identifier 1143404 1143416 + EqualsToken 1143416 1143418 + Identifier 1143418 1143431 + ExpressionStatement 1143432 1143512 + BinaryExpression 1143432 1143511 + PropertyAccessExpression 1143432 1143475 + PropertyAccessExpression 1143432 1143466 + Identifier 1143432 1143460 + Identifier 1143461 1143466 + Identifier 1143467 1143475 + EqualsToken 1143475 1143477 + PropertyAccessExpression 1143477 1143511 + CallExpression 1143477 1143502 + Identifier 1143477 1143492 + Identifier 1143493 1143501 + Identifier 1143503 1143511 + ExpressionStatement 1143512 1143576 + CallExpression 1143512 1143575 + PropertyAccessExpression 1143512 1143545 + Identifier 1143512 1143541 + Identifier 1143542 1143545 + PropertyAccessExpression 1143546 1143566 + Identifier 1143546 1143554 + Identifier 1143555 1143566 + Identifier 1143567 1143574 + Block 1143628 1143734 + ExpressionStatement 1143630 1143719 + CallExpression 1143630 1143718 + PropertyAccessExpression 1143630 1143659 + Identifier 1143630 1143655 + Identifier 1143656 1143659 + PropertyAccessExpression 1143660 1143680 + Identifier 1143660 1143668 + Identifier 1143669 1143680 + CallExpression 1143681 1143717 + Identifier 1143681 1143697 + Identifier 1143698 1143706 + Identifier 1143707 1143716 + VariableStatement 1143745 1143904 + VariableDeclarationList 1143745 1143903 + VariableDeclaration 1143762 1143903 + Identifier 1143762 1143769 + CallExpression 1143771 1143903 + Identifier 1143771 1143791 + Identifier 1143792 1143798 + Identifier 1143799 1143807 + Identifier 1143808 1143819 + Identifier 1143820 1143831 + CallExpression 1143832 1143902 + Identifier 1143832 1143840 + Identifier 1143841 1143851 + ArrowFunction 1143852 1143901 + Parameter 1143852 1143857 + Identifier 1143852 1143857 + EqualsGreaterThanToken 1143857 1143860 + CallExpression 1143860 1143901 + Identifier 1143860 1143885 + Identifier 1143886 1143890 + Identifier 1143891 1143900 + ExpressionStatement 1143904 1144048 + BinaryExpression 1143904 1144047 + PropertyAccessExpression 1143904 1143932 + Identifier 1143904 1143920 + Identifier 1143921 1143932 + BarEqualsToken 1143932 1143935 + BinaryExpression 1143935 1144047 + BinaryExpression 1143935 1144033 + BinaryExpression 1143935 1144004 + PropertyAccessExpression 1143935 1143961 + Identifier 1143935 1143947 + Identifier 1143948 1143961 + BarToken 1143961 1143963 + PropertyAccessExpression 1143963 1144004 + Identifier 1143963 1143975 + Identifier 1143976 1144004 + BarToken 1144004 1144006 + PropertyAccessExpression 1144006 1144033 + Identifier 1144006 1144018 + Identifier 1144019 1144033 + BarToken 1144033 1144035 + Identifier 1144035 1144047 + ReturnStatement 1144048 1144072 + Identifier 1144064 1144071 + FunctionDeclaration 1144079 1144525 + Identifier 1144200 1144221 + Parameter 1144222 1144234 + Identifier 1144222 1144226 + TypeReference 1144227 1144234 + Identifier 1144227 1144234 + BooleanKeyword 1144236 1144244 + Block 1144244 1144525 + ReturnStatement 1144246 1144518 + BinaryExpression 1144262 1144517 + PrefixUnaryExpression 1144262 1144331 + CallExpression 1144264 1144331 + Identifier 1144264 1144268 + PropertyAccessExpression 1144269 1144286 + Identifier 1144269 1144273 + Identifier 1144274 1144286 + Identifier 1144287 1144330 + AmpersandAmpersandToken 1144331 1144334 + ParenthesizedExpression 1144334 1144517 + BinaryExpression 1144349 1144516 + PrefixUnaryExpression 1144349 1144437 + ParenthesizedExpression 1144350 1144437 + BinaryExpression 1144351 1144436 + PropertyAccessExpression 1144351 1144361 + Identifier 1144351 1144355 + Identifier 1144356 1144361 + AmpersandToken 1144361 1144363 + ParenthesizedExpression 1144363 1144436 + BinaryExpression 1144365 1144435 + BinaryExpression 1144365 1144409 + PropertyAccessExpression 1144365 1144383 + Identifier 1144365 1144376 + Identifier 1144377 1144383 + BarToken 1144383 1144385 + PropertyAccessExpression 1144385 1144409 + Identifier 1144385 1144397 + Identifier 1144398 1144409 + BarToken 1144409 1144411 + PropertyAccessExpression 1144411 1144435 + Identifier 1144411 1144423 + Identifier 1144424 1144435 + BarBarToken 1144437 1144440 + PrefixUnaryExpression 1144440 1144516 + CallExpression 1144459 1144516 + PropertyAccessExpression 1144459 1144482 + PropertyAccessExpression 1144459 1144476 + Identifier 1144459 1144463 + Identifier 1144464 1144476 + QuestionDotToken 1144476 1144478 + Identifier 1144478 1144482 + ArrowFunction 1144483 1144515 + Parameter 1144483 1144487 + Identifier 1144483 1144487 + EqualsGreaterThanToken 1144487 1144490 + CallExpression 1144490 1144515 + Identifier 1144490 1144502 + PropertyAccessExpression 1144503 1144514 + Identifier 1144503 1144507 + Identifier 1144508 1144514 + FunctionDeclaration 1144525 1145309 + Identifier 1144541 1144557 + Parameter 1144558 1144570 + Identifier 1144558 1144562 + TypeReference 1144563 1144570 + Identifier 1144563 1144570 + Parameter 1144571 1144589 + Identifier 1144571 1144580 + BooleanKeyword 1144581 1144589 + Block 1144590 1145309 + VariableStatement 1144592 1144708 + VariableDeclarationList 1144592 1144707 + VariableDeclaration 1144607 1144707 + Identifier 1144607 1144625 + BinaryExpression 1144627 1144707 + BinaryExpression 1144627 1144664 + PropertyAccessExpression 1144627 1144638 + Identifier 1144627 1144632 + Identifier 1144633 1144638 + AmpersandToken 1144638 1144640 + PropertyAccessExpression 1144640 1144664 + Identifier 1144640 1144652 + Identifier 1144653 1144664 + AmpersandAmpersandToken 1144664 1144667 + PrefixUnaryExpression 1144667 1144707 + ParenthesizedExpression 1144669 1144707 + BinaryExpression 1144670 1144706 + PropertyAccessExpression 1144670 1144680 + Identifier 1144670 1144674 + Identifier 1144675 1144680 + AmpersandToken 1144680 1144682 + PropertyAccessExpression 1144682 1144706 + Identifier 1144682 1144694 + Identifier 1144695 1144706 + IfStatement 1144708 1144819 + BinaryExpression 1144722 1144779 + PrefixUnaryExpression 1144722 1144740 + Identifier 1144723 1144740 + AmpersandAmpersandToken 1144740 1144743 + BinaryExpression 1144743 1144779 + Identifier 1144743 1144752 + EqualsEqualsEqualsToken 1144752 1144756 + CallExpression 1144756 1144779 + Identifier 1144756 1144773 + Identifier 1144774 1144778 + Block 1144780 1144819 + ReturnStatement 1144782 1144808 + Identifier 1144802 1144807 + VariableStatement 1144819 1144902 + VariableDeclarationList 1144819 1144901 + VariableDeclaration 1144834 1144901 + Identifier 1144834 1144840 + BinaryExpression 1144842 1144901 + PropertyAccessExpression 1144842 1144863 + Identifier 1144842 1144854 + Identifier 1144855 1144863 + BarToken 1144863 1144865 + ParenthesizedExpression 1144865 1144901 + BinaryExpression 1144867 1144900 + PropertyAccessExpression 1144867 1144877 + Identifier 1144867 1144871 + Identifier 1144872 1144877 + AmpersandToken 1144877 1144879 + PropertyAccessExpression 1144879 1144900 + Identifier 1144879 1144891 + Identifier 1144892 1144900 + VariableStatement 1144902 1145030 + VariableDeclarationList 1144902 1145029 + VariableDeclaration 1144917 1145029 + Identifier 1144917 1144924 + CallExpression 1144926 1145029 + Identifier 1144926 1144939 + Identifier 1144940 1144945 + PropertyAccessExpression 1144946 1144963 + Identifier 1144946 1144951 + Identifier 1144952 1144963 + BinaryExpression 1144964 1145028 + CallExpression 1144964 1144989 + Identifier 1144964 1144983 + Identifier 1144984 1144988 + BarToken 1144989 1144991 + ParenthesizedExpression 1144991 1145028 + ConditionalExpression 1144993 1145027 + Identifier 1144993 1145001 + QuestionToken 1145001 1145003 + PropertyAccessExpression 1145003 1145023 + Identifier 1145003 1145014 + Identifier 1145015 1145023 + ColonToken 1145023 1145025 + NumericLiteral 1145025 1145027 + ExpressionStatement 1145030 1145118 + BinaryExpression 1145030 1145117 + PropertyAccessExpression 1145030 1145057 + PropertyAccessExpression 1145030 1145052 + Identifier 1145030 1145046 + Identifier 1145047 1145052 + Identifier 1145053 1145057 + EqualsToken 1145057 1145059 + ConditionalExpression 1145059 1145117 + Identifier 1145059 1145077 + QuestionToken 1145077 1145079 + Identifier 1145079 1145093 + ColonToken 1145093 1145095 + CallExpression 1145095 1145117 + Identifier 1145095 1145111 + Identifier 1145112 1145116 + ExpressionStatement 1145118 1145168 + BinaryExpression 1145118 1145167 + PropertyAccessExpression 1145118 1145147 + Identifier 1145118 1145134 + Identifier 1145135 1145147 + EqualsToken 1145147 1145149 + PropertyAccessExpression 1145149 1145167 + Identifier 1145149 1145154 + Identifier 1145155 1145167 + ExpressionStatement 1145168 1145232 + BinaryExpression 1145168 1145231 + PropertyAccessExpression 1145168 1145199 + PropertyAccessExpression 1145168 1145190 + Identifier 1145168 1145184 + Identifier 1145185 1145190 + Identifier 1145191 1145199 + EqualsToken 1145199 1145201 + PropertyAccessExpression 1145201 1145231 + CallExpression 1145201 1145222 + Identifier 1145201 1145216 + Identifier 1145217 1145221 + Identifier 1145223 1145231 + ExpressionStatement 1145232 1145278 + BinaryExpression 1145232 1145277 + PropertyAccessExpression 1145232 1145270 + PropertyAccessExpression 1145232 1145254 + Identifier 1145232 1145248 + Identifier 1145249 1145254 + Identifier 1145255 1145270 + EqualsToken 1145270 1145272 + Identifier 1145272 1145277 + ReturnStatement 1145278 1145302 + Identifier 1145294 1145301 + FunctionDeclaration 1145309 1145536 + Identifier 1145325 1145350 + Parameter 1145351 1145366 + Identifier 1145351 1145355 + TypeReference 1145356 1145366 + Identifier 1145356 1145366 + Parameter 1145367 1145385 + Identifier 1145367 1145376 + BooleanKeyword 1145377 1145385 + Block 1145386 1145536 + ReturnStatement 1145388 1145529 + ConditionalExpression 1145404 1145528 + BinaryExpression 1145404 1145433 + PropertyAccessExpression 1145404 1145420 + Identifier 1145404 1145409 + Identifier 1145410 1145420 + ExclamationEqualsEqualsToken 1145420 1145424 + Identifier 1145424 1145433 + QuestionToken 1145433 1145435 + CallExpression 1145435 1145521 + Identifier 1145435 1145451 + PropertyAccessExpression 1145452 1145464 + Identifier 1145452 1145456 + Identifier 1145457 1145464 + PropertyAccessExpression 1145465 1145475 + Identifier 1145465 1145470 + Identifier 1145471 1145475 + Identifier 1145476 1145485 + PropertyAccessExpression 1145486 1145503 + Identifier 1145486 1145491 + Identifier 1145492 1145503 + PropertyAccessExpression 1145504 1145520 + Identifier 1145504 1145509 + Identifier 1145510 1145520 + ColonToken 1145521 1145523 + Identifier 1145523 1145528 + FunctionDeclaration 1145536 1145855 + Identifier 1145552 1145570 + Parameter 1145571 1145587 + Identifier 1145571 1145576 + TypeReference 1145577 1145587 + Identifier 1145577 1145587 + Parameter 1145588 1145626 + Identifier 1145588 1145594 + UnionType 1145595 1145626 + StringKeyword 1145595 1145602 + NumberKeyword 1145604 1145611 + TypeReference 1145613 1145626 + Identifier 1145613 1145626 + Parameter 1145627 1145643 + Identifier 1145627 1145634 + QuestionToken 1145634 1145635 + TypeReference 1145636 1145643 + Identifier 1145636 1145643 + Parameter 1145644 1145670 + Identifier 1145644 1145656 + QuestionToken 1145656 1145657 + TypeReference 1145658 1145670 + Identifier 1145658 1145670 + Block 1145671 1145855 + VariableStatement 1145673 1145748 + VariableDeclarationList 1145673 1145747 + VariableDeclaration 1145688 1145747 + Identifier 1145688 1145693 + AsExpression 1145695 1145747 + CallExpression 1145695 1145732 + Identifier 1145695 1145716 + Identifier 1145717 1145722 + NonNullExpression 1145723 1145731 + Identifier 1145723 1145730 + TypeReference 1145735 1145747 + Identifier 1145735 1145747 + ExpressionStatement 1145748 1145777 + BinaryExpression 1145748 1145776 + PropertyAccessExpression 1145748 1145768 + Identifier 1145748 1145762 + Identifier 1145763 1145768 + EqualsToken 1145768 1145770 + Identifier 1145770 1145776 + ExpressionStatement 1145777 1145826 + BinaryExpression 1145777 1145825 + PropertyAccessExpression 1145777 1145803 + Identifier 1145777 1145791 + Identifier 1145792 1145803 + EqualsToken 1145803 1145805 + BinaryExpression 1145805 1145825 + Identifier 1145805 1145817 + BarBarToken 1145817 1145820 + Identifier 1145820 1145825 + ReturnStatement 1145826 1145848 + Identifier 1145842 1145847 + FunctionDeclaration 1145855 1146391 + Identifier 1145871 1145897 + Parameter 1145898 1145908 + Identifier 1145898 1145902 + TypeReference 1145903 1145908 + Identifier 1145903 1145908 + TypeReference 1145910 1145915 + Identifier 1145910 1145915 + Block 1145915 1146391 + IfStatement 1145917 1146362 + BinaryExpression 1145931 1145963 + PropertyAccessExpression 1145931 1145941 + Identifier 1145931 1145935 + Identifier 1145936 1145941 + AmpersandToken 1145941 1145943 + PropertyAccessExpression 1145943 1145963 + Identifier 1145943 1145953 + Identifier 1145954 1145963 + Block 1145964 1146362 + IfStatement 1145966 1146296 + PrefixUnaryExpression 1145984 1146018 + PropertyAccessExpression 1145985 1146018 + ParenthesizedExpression 1145985 1146008 + AsExpression 1145986 1146007 + Identifier 1145986 1145990 + TypeReference 1145993 1146007 + Identifier 1145993 1146007 + Identifier 1146009 1146018 + Block 1146019 1146296 + VariableStatement 1146021 1146167 + VariableDeclarationList 1146021 1146166 + VariableDeclaration 1146044 1146166 + Identifier 1146044 1146054 + CallExpression 1146056 1146166 + Identifier 1146056 1146074 + PropertyAccessExpression 1146075 1146085 + Identifier 1146075 1146079 + Identifier 1146080 1146085 + PropertyAccessExpression 1146086 1146114 + ParenthesizedExpression 1146086 1146108 + AsExpression 1146088 1146107 + Identifier 1146088 1146092 + TypeReference 1146095 1146107 + Identifier 1146095 1146107 + Identifier 1146109 1146114 + PropertyAccessExpression 1146115 1146144 + ParenthesizedExpression 1146115 1146137 + AsExpression 1146117 1146136 + Identifier 1146117 1146121 + TypeReference 1146124 1146136 + Identifier 1146124 1146136 + Identifier 1146138 1146144 + AsExpression 1146145 1146165 + Identifier 1146145 1146150 + TypeReference 1146153 1146165 + Identifier 1146153 1146165 + ExpressionStatement 1146167 1146217 + BinaryExpression 1146167 1146216 + PropertyAccessExpression 1146167 1146204 + Identifier 1146167 1146194 + Identifier 1146195 1146204 + EqualsToken 1146204 1146206 + Identifier 1146206 1146216 + ExpressionStatement 1146217 1146281 + BinaryExpression 1146217 1146280 + PropertyAccessExpression 1146217 1146268 + ParenthesizedExpression 1146217 1146258 + AsExpression 1146236 1146257 + Identifier 1146236 1146240 + TypeReference 1146243 1146257 + Identifier 1146243 1146257 + Identifier 1146259 1146268 + EqualsToken 1146268 1146270 + Identifier 1146270 1146280 + ReturnStatement 1146296 1146351 + PropertyAccessExpression 1146316 1146350 + ParenthesizedExpression 1146316 1146340 + AsExpression 1146318 1146339 + Identifier 1146318 1146322 + TypeReference 1146325 1146339 + Identifier 1146325 1146339 + Identifier 1146341 1146350 + ReturnStatement 1146362 1146384 + Identifier 1146378 1146383 + FunctionDeclaration 1146391 1146745 + Identifier 1146407 1146435 + Parameter 1146436 1146446 + Identifier 1146436 1146440 + TypeReference 1146441 1146446 + Identifier 1146441 1146446 + TypeReference 1146448 1146453 + Identifier 1146448 1146453 + Block 1146453 1146745 + ReturnStatement 1146455 1146738 + ConditionalExpression 1146471 1146737 + BinaryExpression 1146471 1146504 + PropertyAccessExpression 1146471 1146482 + Identifier 1146471 1146476 + Identifier 1146477 1146482 + AmpersandToken 1146482 1146484 + PropertyAccessExpression 1146484 1146504 + Identifier 1146484 1146494 + Identifier 1146495 1146504 + QuestionToken 1146504 1146506 + PropertyAccessExpression 1146506 1146542 + ParenthesizedExpression 1146506 1146530 + AsExpression 1146508 1146529 + Identifier 1146508 1146512 + TypeReference 1146515 1146529 + Identifier 1146515 1146529 + Identifier 1146531 1146542 + ColonToken 1146542 1146544 + ConditionalExpression 1146544 1146737 + BinaryExpression 1146544 1146586 + PropertyAccessExpression 1146544 1146568 + Identifier 1146544 1146562 + Identifier 1146563 1146568 + AmpersandToken 1146568 1146570 + PropertyAccessExpression 1146570 1146586 + Identifier 1146570 1146580 + Identifier 1146581 1146586 + QuestionToken 1146586 1146588 + ParenthesizedExpression 1146588 1146717 + BinaryExpression 1146590 1146716 + PropertyAccessExpression 1146590 1146621 + ParenthesizedExpression 1146590 1146609 + AsExpression 1146591 1146608 + Identifier 1146591 1146595 + TypeReference 1146598 1146608 + Identifier 1146598 1146608 + Identifier 1146610 1146621 + BarBarToken 1146621 1146624 + ParenthesizedExpression 1146624 1146716 + BinaryExpression 1146626 1146715 + PropertyAccessExpression 1146626 1146657 + ParenthesizedExpression 1146626 1146645 + AsExpression 1146627 1146644 + Identifier 1146627 1146631 + TypeReference 1146634 1146644 + Identifier 1146634 1146644 + Identifier 1146646 1146657 + EqualsToken 1146657 1146659 + AsExpression 1146659 1146715 + CallExpression 1146659 1146702 + Identifier 1146659 1146667 + Identifier 1146668 1146672 + Identifier 1146673 1146701 + TypeReference 1146705 1146715 + Identifier 1146705 1146715 + ColonToken 1146717 1146719 + Identifier 1146719 1146737 + FunctionDeclaration 1146745 1146899 + Identifier 1146761 1146780 + Parameter 1146781 1146791 + Identifier 1146781 1146785 + TypeReference 1146786 1146791 + Identifier 1146786 1146791 + Block 1146792 1146899 + ReturnStatement 1146794 1146892 + BinaryExpression 1146810 1146891 + PrefixUnaryExpression 1146810 1146847 + PrefixUnaryExpression 1146812 1146847 + ParenthesizedExpression 1146813 1146847 + BinaryExpression 1146814 1146846 + PropertyAccessExpression 1146814 1146824 + Identifier 1146814 1146818 + Identifier 1146819 1146824 + AmpersandToken 1146824 1146826 + PropertyAccessExpression 1146826 1146846 + Identifier 1146826 1146836 + Identifier 1146837 1146846 + AmpersandAmpersandToken 1146847 1146850 + BinaryExpression 1146850 1146891 + PropertyAccessExpression 1146850 1146882 + ParenthesizedExpression 1146850 1146872 + AsExpression 1146852 1146871 + Identifier 1146852 1146856 + TypeReference 1146859 1146871 + Identifier 1146859 1146871 + Identifier 1146873 1146882 + EqualsEqualsEqualsToken 1146882 1146886 + Identifier 1146886 1146891 + FunctionDeclaration 1146899 1147178 + Identifier 1146915 1146936 + Parameter 1146937 1146950 + Identifier 1146937 1146942 + StringKeyword 1146943 1146950 + TypeReference 1146952 1146970 + Identifier 1146952 1146970 + Block 1146970 1147178 + VariableStatement 1146972 1146991 + VariableDeclarationList 1146972 1146990 + VariableDeclaration 1146985 1146990 + Identifier 1146985 1146990 + ReturnStatement 1146991 1147171 + BinaryExpression 1147007 1147170 + CallExpression 1147007 1147037 + PropertyAccessExpression 1147007 1147030 + Identifier 1147007 1147026 + Identifier 1147027 1147030 + Identifier 1147031 1147036 + BarBarToken 1147037 1147040 + ParenthesizedExpression 1147040 1147170 + BinaryExpression 1147055 1147169 + CallExpression 1147055 1147163 + PropertyAccessExpression 1147055 1147077 + Identifier 1147055 1147073 + Identifier 1147074 1147077 + Identifier 1147078 1147083 + BinaryExpression 1147084 1147162 + Identifier 1147084 1147089 + EqualsToken 1147089 1147091 + AsExpression 1147091 1147162 + CallExpression 1147091 1147141 + Identifier 1147091 1147109 + PropertyAccessExpression 1147110 1147133 + Identifier 1147110 1147119 + Identifier 1147120 1147133 + Identifier 1147134 1147140 + TypeReference 1147144 1147162 + Identifier 1147144 1147162 + CommaToken 1147163 1147164 + Identifier 1147164 1147169 + FunctionDeclaration 1147178 1147457 + Identifier 1147194 1147215 + Parameter 1147216 1147229 + Identifier 1147216 1147221 + NumberKeyword 1147222 1147229 + TypeReference 1147231 1147249 + Identifier 1147231 1147249 + Block 1147249 1147457 + VariableStatement 1147251 1147270 + VariableDeclarationList 1147251 1147269 + VariableDeclaration 1147264 1147269 + Identifier 1147264 1147269 + ReturnStatement 1147270 1147450 + BinaryExpression 1147286 1147449 + CallExpression 1147286 1147316 + PropertyAccessExpression 1147286 1147309 + Identifier 1147286 1147305 + Identifier 1147306 1147309 + Identifier 1147310 1147315 + BarBarToken 1147316 1147319 + ParenthesizedExpression 1147319 1147449 + BinaryExpression 1147334 1147448 + CallExpression 1147334 1147442 + PropertyAccessExpression 1147334 1147356 + Identifier 1147334 1147352 + Identifier 1147353 1147356 + Identifier 1147357 1147362 + BinaryExpression 1147363 1147441 + Identifier 1147363 1147368 + EqualsToken 1147368 1147370 + AsExpression 1147370 1147441 + CallExpression 1147370 1147420 + Identifier 1147370 1147388 + PropertyAccessExpression 1147389 1147412 + Identifier 1147389 1147398 + Identifier 1147399 1147412 + Identifier 1147413 1147419 + TypeReference 1147423 1147441 + Identifier 1147423 1147441 + CommaToken 1147442 1147443 + Identifier 1147443 1147448 + FunctionDeclaration 1147457 1147788 + Identifier 1147473 1147494 + Parameter 1147495 1147514 + Identifier 1147495 1147500 + TypeReference 1147501 1147514 + Identifier 1147501 1147514 + TypeReference 1147516 1147534 + Identifier 1147516 1147534 + Block 1147534 1147788 + VariableStatement 1147536 1147555 + VariableDeclarationList 1147536 1147554 + VariableDeclaration 1147549 1147554 + Identifier 1147549 1147554 + VariableStatement 1147555 1147605 + VariableDeclarationList 1147555 1147604 + VariableDeclaration 1147570 1147604 + Identifier 1147570 1147574 + CallExpression 1147576 1147604 + Identifier 1147576 1147597 + Identifier 1147598 1147603 + ReturnStatement 1147605 1147781 + BinaryExpression 1147621 1147780 + CallExpression 1147621 1147649 + PropertyAccessExpression 1147621 1147644 + Identifier 1147621 1147640 + Identifier 1147641 1147644 + Identifier 1147645 1147648 + BarBarToken 1147649 1147652 + ParenthesizedExpression 1147652 1147780 + BinaryExpression 1147667 1147779 + CallExpression 1147667 1147773 + PropertyAccessExpression 1147667 1147689 + Identifier 1147667 1147685 + Identifier 1147686 1147689 + Identifier 1147690 1147693 + BinaryExpression 1147694 1147772 + Identifier 1147694 1147699 + EqualsToken 1147699 1147701 + AsExpression 1147701 1147772 + CallExpression 1147701 1147751 + Identifier 1147701 1147719 + PropertyAccessExpression 1147720 1147743 + Identifier 1147720 1147729 + Identifier 1147730 1147743 + Identifier 1147744 1147750 + TypeReference 1147754 1147772 + Identifier 1147754 1147772 + CommaToken 1147773 1147774 + Identifier 1147774 1147779 + FunctionDeclaration 1147788 1148271 + Identifier 1147804 1147823 + Parameter 1147824 1147846 + Identifier 1147824 1147829 + UnionType 1147830 1147846 + StringKeyword 1147830 1147837 + NumberKeyword 1147839 1147846 + Parameter 1147847 1147862 + Identifier 1147847 1147854 + NumberKeyword 1147855 1147862 + Parameter 1147863 1147878 + Identifier 1147863 1147870 + TypeReference 1147871 1147878 + Identifier 1147871 1147878 + TypeReference 1147880 1147892 + Identifier 1147880 1147892 + Block 1147892 1148271 + VariableStatement 1147894 1147913 + VariableDeclarationList 1147894 1147912 + VariableDeclaration 1147907 1147912 + Identifier 1147907 1147912 + VariableStatement 1147913 1147995 + VariableDeclarationList 1147913 1147994 + VariableDeclaration 1147928 1147994 + Identifier 1147928 1147932 + TemplateExpression 1147934 1147994 + TemplateHead 1147934 1147938 + TemplateSpan 1147938 1147947 + Identifier 1147938 1147944 + TemplateMiddle 1147944 1147947 + TemplateSpan 1147947 1147987 + ConditionalExpression 1147947 1147984 + BinaryExpression 1147947 1147972 + TypeOfExpression 1147947 1147959 + Identifier 1147953 1147959 + EqualsEqualsEqualsToken 1147959 1147963 + StringLiteral 1147963 1147972 + QuestionToken 1147972 1147974 + StringLiteral 1147974 1147978 + ColonToken 1147978 1147980 + StringLiteral 1147980 1147984 + TemplateMiddle 1147984 1147987 + TemplateSpan 1147987 1147994 + Identifier 1147987 1147992 + TemplateTail 1147992 1147994 + VariableStatement 1147995 1148123 + VariableDeclarationList 1147995 1148122 + VariableDeclaration 1148010 1148122 + Identifier 1148010 1148016 + BinaryExpression 1148018 1148122 + PropertyAccessExpression 1148018 1148040 + Identifier 1148018 1148028 + Identifier 1148029 1148040 + BarToken 1148040 1148042 + ParenthesizedExpression 1148042 1148122 + ConditionalExpression 1148044 1148121 + BinaryExpression 1148044 1148069 + TypeOfExpression 1148044 1148056 + Identifier 1148050 1148056 + EqualsEqualsEqualsToken 1148056 1148060 + StringLiteral 1148060 1148069 + QuestionToken 1148069 1148071 + PropertyAccessExpression 1148071 1148095 + Identifier 1148071 1148081 + Identifier 1148082 1148095 + ColonToken 1148095 1148097 + PropertyAccessExpression 1148097 1148121 + Identifier 1148097 1148107 + Identifier 1148108 1148121 + ReturnStatement 1148123 1148264 + BinaryExpression 1148139 1148263 + CallExpression 1148139 1148165 + PropertyAccessExpression 1148139 1148160 + Identifier 1148139 1148156 + Identifier 1148157 1148160 + Identifier 1148161 1148164 + BarBarToken 1148165 1148168 + ParenthesizedExpression 1148168 1148263 + BinaryExpression 1148183 1148262 + CallExpression 1148183 1148256 + PropertyAccessExpression 1148183 1148203 + Identifier 1148183 1148199 + Identifier 1148200 1148203 + Identifier 1148204 1148207 + BinaryExpression 1148208 1148255 + Identifier 1148208 1148213 + EqualsToken 1148213 1148215 + CallExpression 1148215 1148255 + Identifier 1148215 1148233 + Identifier 1148234 1148239 + Identifier 1148240 1148246 + Identifier 1148247 1148254 + CommaToken 1148256 1148257 + Identifier 1148257 1148262 + FunctionDeclaration 1148271 1148674 + Identifier 1148287 1148314 + Parameter 1148315 1148336 + Identifier 1148315 1148319 + TypeReference 1148320 1148336 + Identifier 1148320 1148336 + TypeReference 1148338 1148343 + Identifier 1148338 1148343 + Block 1148343 1148674 + IfStatement 1148345 1148447 + BinaryExpression 1148359 1148403 + PropertyAccessExpression 1148359 1148376 + PropertyAccessExpression 1148359 1148371 + Identifier 1148359 1148363 + Identifier 1148364 1148371 + Identifier 1148372 1148376 + EqualsEqualsEqualsToken 1148376 1148380 + PropertyAccessExpression 1148380 1148403 + Identifier 1148380 1148391 + Identifier 1148392 1148403 + Block 1148404 1148447 + ReturnStatement 1148406 1148436 + Identifier 1148426 1148435 + VariableStatement 1148447 1148490 + VariableDeclarationList 1148447 1148489 + VariableDeclaration 1148462 1148489 + Identifier 1148462 1148468 + CallExpression 1148470 1148489 + Identifier 1148470 1148483 + Identifier 1148484 1148488 + IfStatement 1148490 1148631 + PrefixUnaryExpression 1148504 1148523 + PropertyAccessExpression 1148505 1148523 + Identifier 1148505 1148510 + Identifier 1148511 1148523 + Block 1148524 1148631 + ExpressionStatement 1148526 1148620 + BinaryExpression 1148526 1148619 + PropertyAccessExpression 1148526 1148558 + Identifier 1148526 1148545 + Identifier 1148546 1148558 + EqualsToken 1148558 1148560 + CallExpression 1148560 1148619 + Identifier 1148560 1148588 + CallExpression 1148589 1148618 + Identifier 1148589 1148604 + PropertyAccessExpression 1148605 1148617 + Identifier 1148605 1148609 + Identifier 1148610 1148617 + ReturnStatement 1148631 1148667 + PropertyAccessExpression 1148647 1148666 + Identifier 1148647 1148653 + Identifier 1148654 1148666 + FunctionDeclaration 1148674 1148963 + Identifier 1148690 1148715 + Parameter 1148716 1148730 + Identifier 1148716 1148722 + TypeReference 1148723 1148730 + Identifier 1148723 1148730 + Block 1148731 1148963 + VariableStatement 1148733 1148833 + VariableDeclarationList 1148733 1148832 + VariableDeclaration 1148748 1148832 + Identifier 1148748 1148753 + AsExpression 1148755 1148832 + CallExpression 1148755 1148810 + Identifier 1148755 1148776 + PropertyAccessExpression 1148777 1148801 + Identifier 1148777 1148786 + Identifier 1148787 1148801 + Identifier 1148802 1148809 + TypeReference 1148813 1148832 + Identifier 1148813 1148832 + ExpressionStatement 1148833 1148934 + BinaryExpression 1148833 1148933 + PropertyAccessExpression 1148833 1148859 + Identifier 1148833 1148847 + Identifier 1148848 1148859 + EqualsToken 1148859 1148861 + AsExpression 1148861 1148933 + TemplateExpression 1148861 1148921 + TemplateHead 1148861 1148868 + TemplateSpan 1148868 1148895 + PropertyAccessExpression 1148868 1148891 + PropertyAccessExpression 1148868 1148879 + Identifier 1148868 1148872 + Identifier 1148873 1148879 + Identifier 1148880 1148891 + TemplateMiddle 1148891 1148895 + TemplateSpan 1148895 1148921 + CallExpression 1148895 1148919 + Identifier 1148895 1148906 + PropertyAccessExpression 1148907 1148918 + Identifier 1148907 1148911 + Identifier 1148912 1148918 + TemplateTail 1148919 1148921 + TypeReference 1148924 1148933 + Identifier 1148924 1148933 + ReturnStatement 1148934 1148956 + Identifier 1148950 1148955 + FunctionDeclaration 1148963 1149711 + Identifier 1148979 1149006 + Parameter 1149007 1149017 + Identifier 1149007 1149011 + TypeReference 1149012 1149017 + Identifier 1149012 1149017 + Block 1149018 1149711 + IfStatement 1149020 1149257 + BinaryExpression 1149034 1149081 + CallExpression 1149034 1149050 + Identifier 1149034 1149044 + Identifier 1149045 1149049 + AmpersandAmpersandToken 1149050 1149053 + CallExpression 1149053 1149081 + Identifier 1149053 1149075 + Identifier 1149076 1149080 + Block 1149082 1149257 + VariableStatement 1149084 1149130 + VariableDeclarationList 1149084 1149129 + VariableDeclaration 1149103 1149129 + Identifier 1149103 1149108 + CallExpression 1149110 1149129 + Identifier 1149110 1149123 + Identifier 1149124 1149128 + IfStatement 1149130 1149246 + Identifier 1149148 1149152 + Block 1149153 1149246 + ExpressionStatement 1149155 1149231 + BinaryExpression 1149155 1149230 + Identifier 1149155 1149177 + EqualsToken 1149177 1149179 + BinaryExpression 1149179 1149230 + CallExpression 1149179 1149222 + Identifier 1149179 1149216 + Identifier 1149217 1149221 + BarBarToken 1149222 1149225 + Identifier 1149225 1149230 + IfStatement 1149257 1149674 + CallExpression 1149271 1149303 + Identifier 1149271 1149297 + Identifier 1149298 1149302 + Block 1149304 1149674 + VariableStatement 1149306 1149451 + VariableDeclarationList 1149306 1149450 + VariableDeclaration 1149325 1149450 + Identifier 1149325 1149332 + ConditionalExpression 1149334 1149450 + CallExpression 1149334 1149375 + Identifier 1149334 1149369 + Identifier 1149370 1149374 + QuestionToken 1149375 1149377 + CallExpression 1149377 1149426 + Identifier 1149377 1149393 + PropertyAccessExpression 1149394 1149425 + ParenthesizedExpression 1149394 1149420 + AsExpression 1149395 1149419 + Identifier 1149395 1149399 + TypeReference 1149402 1149419 + Identifier 1149402 1149419 + Identifier 1149421 1149425 + ColonToken 1149426 1149428 + CallExpression 1149428 1149450 + Identifier 1149428 1149444 + Identifier 1149445 1149449 + IfStatement 1149451 1149663 + Identifier 1149469 1149475 + Block 1149476 1149663 + VariableStatement 1149478 1149533 + VariableDeclarationList 1149478 1149532 + VariableDeclaration 1149501 1149532 + Identifier 1149501 1149507 + CallExpression 1149509 1149532 + Identifier 1149509 1149524 + Identifier 1149525 1149531 + ReturnStatement 1149533 1149648 + BinaryExpression 1149557 1149647 + PropertyAccessExpression 1149557 1149582 + Identifier 1149557 1149563 + Identifier 1149564 1149582 + BarBarToken 1149582 1149585 + ParenthesizedExpression 1149585 1149647 + BinaryExpression 1149587 1149646 + PropertyAccessExpression 1149587 1149611 + Identifier 1149587 1149592 + Identifier 1149593 1149611 + EqualsToken 1149611 1149613 + CallExpression 1149613 1149646 + Identifier 1149613 1149638 + Identifier 1149639 1149645 + ReturnStatement 1149674 1149704 + Identifier 1149690 1149703 + FunctionDeclaration 1149711 1151614 + Identifier 1149727 1149739 + Parameter 1149740 1149750 + Identifier 1149740 1149744 + TypeReference 1149745 1149750 + Identifier 1149745 1149750 + TypeReference 1149752 1149757 + Identifier 1149752 1149757 + Block 1149757 1151614 + VariableStatement 1149759 1149887 + VariableDeclarationList 1149759 1149886 + VariableDeclaration 1149774 1149886 + Identifier 1149774 1149784 + CallExpression 1149786 1149886 + Identifier 1149786 1149803 + Identifier 1149804 1149808 + FalseKeyword 1149809 1149841 + FalseKeyword 1149842 1149885 + VariableStatement 1149887 1149942 + VariableDeclarationList 1149887 1149941 + VariableDeclaration 1149902 1149941 + Identifier 1149902 1149909 + BinaryExpression 1149911 1149941 + Identifier 1149911 1149921 + AmpersandAmpersandToken 1149921 1149924 + PropertyAccessExpression 1149924 1149941 + Identifier 1149924 1149934 + Identifier 1149935 1149941 + IfStatement 1149942 1150391 + BinaryExpression 1149956 1150038 + Identifier 1149956 1149962 + AmpersandAmpersandToken 1149962 1149965 + ParenthesizedExpression 1149965 1150038 + BinaryExpression 1149967 1150037 + CallExpression 1149967 1149986 + Identifier 1149967 1149978 + Identifier 1149979 1149985 + BarBarToken 1149986 1149989 + BinaryExpression 1149989 1150037 + PropertyAccessExpression 1149989 1150001 + Identifier 1149989 1149996 + Identifier 1149997 1150001 + EqualsEqualsEqualsToken 1150001 1150005 + PropertyAccessExpression 1150005 1150037 + Identifier 1150005 1150016 + Identifier 1150017 1150037 + Block 1150039 1150391 + IfStatement 1150041 1150380 + BinaryExpression 1150059 1150200 + PrefixUnaryExpression 1150059 1150097 + CallExpression 1150078 1150097 + Identifier 1150078 1150086 + Identifier 1150087 1150096 + AmpersandAmpersandToken 1150097 1150100 + ParenthesizedExpression 1150100 1150200 + BinaryExpression 1150119 1150199 + PrefixUnaryExpression 1150119 1150155 + CallExpression 1150120 1150155 + Identifier 1150120 1150144 + Identifier 1150145 1150154 + BarBarToken 1150155 1150158 + CallExpression 1150158 1150199 + Identifier 1150158 1150177 + Identifier 1150178 1150182 + PropertyAccessExpression 1150183 1150198 + Identifier 1150183 1150193 + Identifier 1150194 1150198 + Block 1150215 1150380 + ReturnStatement 1150217 1150365 + NonNullExpression 1150241 1150364 + PropertyAccessExpression 1150241 1150363 + CallExpression 1150241 1150354 + Identifier 1150241 1150275 + CallExpression 1150276 1150353 + Identifier 1150276 1150298 + AsExpression 1150299 1150352 + Identifier 1150299 1150305 + UnionType 1150308 1150352 + TypeReference 1150308 1150329 + Identifier 1150308 1150329 + TypeReference 1150331 1150352 + Identifier 1150331 1150352 + Identifier 1150355 1150363 + IfStatement 1150391 1150740 + BinaryExpression 1150448 1150615 + BinaryExpression 1150448 1150528 + BinaryExpression 1150448 1150491 + Identifier 1150448 1150454 + AmpersandAmpersandToken 1150454 1150457 + CallExpression 1150457 1150491 + Identifier 1150457 1150483 + Identifier 1150484 1150490 + AmpersandAmpersandToken 1150491 1150494 + CallExpression 1150494 1150528 + Identifier 1150494 1150513 + PropertyAccessExpression 1150514 1150527 + Identifier 1150514 1150520 + Identifier 1150521 1150527 + AmpersandAmpersandToken 1150528 1150531 + BinaryExpression 1150531 1150615 + CallExpression 1150531 1150575 + Identifier 1150531 1150560 + PropertyAccessExpression 1150561 1150574 + Identifier 1150561 1150567 + Identifier 1150568 1150574 + EqualsEqualsEqualsToken 1150575 1150579 + PropertyAccessExpression 1150579 1150615 + Identifier 1150579 1150605 + Identifier 1150606 1150615 + Block 1150616 1150740 + ReturnStatement 1150618 1150729 + NonNullExpression 1150638 1150728 + PropertyAccessExpression 1150638 1150727 + CallExpression 1150638 1150718 + Identifier 1150638 1150672 + NonNullExpression 1150673 1150717 + PropertyAccessExpression 1150673 1150716 + NonNullExpression 1150673 1150709 + CallExpression 1150673 1150708 + Identifier 1150673 1150688 + PropertyAccessExpression 1150689 1150707 + PropertyAccessExpression 1150689 1150702 + Identifier 1150689 1150695 + Identifier 1150696 1150702 + Identifier 1150703 1150707 + Identifier 1150710 1150716 + Identifier 1150719 1150727 + VariableStatement 1150740 1150919 + VariableDeclarationList 1150740 1150918 + VariableDeclaration 1150836 1150918 + Identifier 1150836 1150841 + ConditionalExpression 1150843 1150918 + BinaryExpression 1150843 1150872 + PropertyAccessExpression 1150843 1150854 + Identifier 1150843 1150848 + Identifier 1150849 1150854 + AmpersandToken 1150854 1150856 + PropertyAccessExpression 1150856 1150872 + Identifier 1150856 1150866 + Identifier 1150867 1150872 + QuestionToken 1150872 1150874 + CallExpression 1150874 1150906 + Identifier 1150874 1150900 + Identifier 1150901 1150905 + ColonToken 1150906 1150908 + Identifier 1150908 1150918 + IfStatement 1150919 1151218 + BinaryExpression 1150933 1151095 + BinaryExpression 1150933 1151002 + BinaryExpression 1150933 1150967 + Identifier 1150933 1150937 + AmpersandAmpersandToken 1150937 1150940 + CallExpression 1150940 1150967 + Identifier 1150940 1150961 + Identifier 1150962 1150966 + AmpersandAmpersandToken 1150967 1150970 + CallExpression 1150970 1151002 + Identifier 1150970 1150989 + PropertyAccessExpression 1150990 1151001 + Identifier 1150990 1150994 + Identifier 1150995 1151001 + AmpersandAmpersandToken 1151002 1151005 + BinaryExpression 1151005 1151095 + CallExpression 1151005 1151047 + Identifier 1151005 1151034 + PropertyAccessExpression 1151035 1151046 + Identifier 1151035 1151039 + Identifier 1151040 1151046 + EqualsEqualsEqualsToken 1151047 1151051 + PropertyAccessExpression 1151051 1151095 + Identifier 1151051 1151077 + Identifier 1151078 1151095 + Block 1151096 1151218 + ReturnStatement 1151098 1151207 + NonNullExpression 1151118 1151206 + PropertyAccessExpression 1151118 1151205 + CallExpression 1151118 1151196 + Identifier 1151118 1151152 + NonNullExpression 1151153 1151195 + PropertyAccessExpression 1151153 1151194 + NonNullExpression 1151153 1151187 + CallExpression 1151153 1151186 + Identifier 1151153 1151168 + PropertyAccessExpression 1151169 1151185 + PropertyAccessExpression 1151169 1151180 + Identifier 1151169 1151173 + Identifier 1151174 1151180 + Identifier 1151181 1151185 + Identifier 1151188 1151194 + Identifier 1151197 1151205 + IfStatement 1151218 1151468 + BinaryExpression 1151284 1151354 + CallExpression 1151284 1151310 + Identifier 1151284 1151299 + Identifier 1151300 1151309 + AmpersandAmpersandToken 1151310 1151313 + CallExpression 1151313 1151354 + Identifier 1151313 1151332 + Identifier 1151333 1151337 + PropertyAccessExpression 1151338 1151353 + Identifier 1151338 1151348 + Identifier 1151349 1151353 + Block 1151355 1151468 + ReturnStatement 1151357 1151457 + NonNullExpression 1151377 1151456 + PropertyAccessExpression 1151377 1151455 + CallExpression 1151377 1151446 + Identifier 1151377 1151411 + CallExpression 1151412 1151445 + Identifier 1151412 1151434 + Identifier 1151435 1151444 + Identifier 1151447 1151455 + ExpressionStatement 1151468 1151580 + CallExpression 1151468 1151579 + Identifier 1151468 1151483 + Identifier 1151484 1151488 + PropertyAccessExpression 1151489 1151578 + Identifier 1151489 1151501 + Identifier 1151502 1151578 + ReturnStatement 1151580 1151607 + Identifier 1151596 1151606 + FunctionDeclaration 1151614 1151885 + Identifier 1151630 1151654 + Parameter 1151655 1151690 + Identifier 1151655 1151659 + UnionType 1151660 1151690 + TypeReference 1151660 1151675 + Identifier 1151660 1151675 + TypeReference 1151677 1151690 + Identifier 1151677 1151690 + TypeReference 1151692 1151697 + Identifier 1151692 1151697 + Block 1151697 1151885 + VariableStatement 1151699 1151742 + VariableDeclarationList 1151699 1151741 + VariableDeclaration 1151714 1151741 + Identifier 1151714 1151720 + CallExpression 1151722 1151741 + Identifier 1151722 1151735 + Identifier 1151736 1151740 + IfStatement 1151742 1151842 + PrefixUnaryExpression 1151756 1151775 + PropertyAccessExpression 1151757 1151775 + Identifier 1151757 1151762 + Identifier 1151763 1151775 + Block 1151776 1151842 + ExpressionStatement 1151778 1151831 + BinaryExpression 1151778 1151830 + PropertyAccessExpression 1151778 1151810 + Identifier 1151778 1151797 + Identifier 1151798 1151810 + EqualsToken 1151810 1151812 + CallExpression 1151812 1151830 + Identifier 1151812 1151824 + Identifier 1151825 1151829 + ReturnStatement 1151842 1151878 + PropertyAccessExpression 1151858 1151877 + Identifier 1151858 1151864 + Identifier 1151865 1151877 + FunctionDeclaration 1151885 1152059 + Identifier 1151901 1151925 + Parameter 1151926 1151963 + Identifier 1151926 1151930 + UnionType 1151931 1151963 + TypeReference 1151931 1151944 + Identifier 1151931 1151944 + TypeReference 1151946 1151963 + Identifier 1151946 1151963 + Block 1151964 1152059 + ReturnStatement 1151966 1152052 + CallExpression 1151982 1152051 + Identifier 1151982 1152002 + BinaryExpression 1152003 1152050 + CallExpression 1152003 1152037 + Identifier 1152003 1152026 + PropertyAccessExpression 1152027 1152036 + Identifier 1152027 1152031 + Identifier 1152032 1152036 + BarBarToken 1152037 1152040 + PropertyAccessExpression 1152040 1152050 + Identifier 1152040 1152045 + Identifier 1152046 1152050 + FunctionDeclaration 1152059 1152948 + Identifier 1152075 1152099 + Parameter 1152100 1152114 + Identifier 1152100 1152104 + TypeReference 1152105 1152114 + Identifier 1152105 1152114 + UnionType 1152116 1152137 + TypeReference 1152116 1152125 + Identifier 1152116 1152125 + UndefinedKeyword 1152127 1152137 + Block 1152137 1152948 + SwitchStatement 1152139 1152914 + PropertyAccessExpression 1152157 1152166 + Identifier 1152157 1152161 + Identifier 1152162 1152166 + CaseBlock 1152167 1152914 + CaseClause 1152169 1152304 + PropertyAccessExpression 1152187 1152216 + Identifier 1152187 1152198 + Identifier 1152199 1152216 + ReturnStatement 1152217 1152304 + CallExpression 1152241 1152303 + Identifier 1152241 1152265 + PropertyAccessExpression 1152266 1152302 + ParenthesizedExpression 1152266 1152297 + AsExpression 1152267 1152296 + Identifier 1152267 1152271 + TypeReference 1152274 1152296 + Identifier 1152274 1152296 + Identifier 1152298 1152302 + CaseClause 1152304 1152802 + PropertyAccessExpression 1152322 1152343 + Identifier 1152322 1152333 + Identifier 1152334 1152343 + IfStatement 1152344 1152778 + BinaryExpression 1152366 1152411 + PropertyAccessExpression 1152366 1152405 + PropertyAccessExpression 1152366 1152398 + ParenthesizedExpression 1152366 1152389 + AsExpression 1152367 1152388 + Identifier 1152367 1152371 + TypeReference 1152374 1152388 + Identifier 1152374 1152388 + Identifier 1152390 1152398 + Identifier 1152399 1152405 + EqualsEqualsEqualsToken 1152405 1152409 + NumericLiteral 1152409 1152411 + Block 1152412 1152778 + ExpressionStatement 1152414 1152479 + BinaryExpression 1152414 1152478 + Identifier 1152414 1152440 + EqualsToken 1152440 1152442 + ElementAccessExpression 1152442 1152478 + PropertyAccessExpression 1152442 1152475 + ParenthesizedExpression 1152442 1152466 + AsExpression 1152444 1152465 + Identifier 1152444 1152448 + TypeReference 1152451 1152465 + Identifier 1152451 1152465 + Identifier 1152467 1152475 + NumericLiteral 1152476 1152477 + IfStatement 1152479 1152759 + BinaryExpression 1152505 1152628 + BinaryExpression 1152505 1152538 + PropertyAccessExpression 1152505 1152514 + Identifier 1152505 1152509 + Identifier 1152510 1152514 + EqualsEqualsEqualsToken 1152514 1152518 + PropertyAccessExpression 1152518 1152538 + Identifier 1152518 1152529 + Identifier 1152530 1152538 + BarBarToken 1152538 1152541 + BinaryExpression 1152541 1152628 + BinaryExpression 1152541 1152583 + PropertyAccessExpression 1152541 1152551 + Identifier 1152541 1152546 + Identifier 1152547 1152551 + EqualsEqualsEqualsToken 1152551 1152555 + PropertyAccessExpression 1152555 1152583 + Identifier 1152555 1152566 + Identifier 1152567 1152583 + AmpersandAmpersandToken 1152583 1152586 + PropertyAccessExpression 1152586 1152628 + ParenthesizedExpression 1152586 1152613 + AsExpression 1152588 1152612 + Identifier 1152588 1152592 + TypeReference 1152595 1152612 + Identifier 1152595 1152612 + Identifier 1152614 1152628 + Block 1152629 1152759 + ReturnStatement 1152631 1152736 + CallExpression 1152663 1152735 + Identifier 1152663 1152687 + PropertyAccessExpression 1152688 1152734 + ParenthesizedExpression 1152688 1152729 + AsExpression 1152689 1152728 + Identifier 1152689 1152693 + UnionType 1152696 1152728 + TypeReference 1152696 1152709 + Identifier 1152696 1152709 + TypeReference 1152711 1152728 + Identifier 1152711 1152728 + Identifier 1152730 1152734 + BreakStatement 1152778 1152802 + CaseClause 1152802 1152903 + PropertyAccessExpression 1152820 1152841 + Identifier 1152820 1152831 + Identifier 1152832 1152841 + ReturnStatement 1152842 1152903 + PropertyAccessExpression 1152866 1152902 + ParenthesizedExpression 1152866 1152890 + AsExpression 1152868 1152889 + Identifier 1152868 1152872 + TypeReference 1152875 1152889 + Identifier 1152875 1152889 + Identifier 1152891 1152902 + ReturnStatement 1152914 1152941 + Identifier 1152930 1152940 + FunctionDeclaration 1152948 1153295 + Identifier 1152964 1152994 + Parameter 1152995 1153017 + Identifier 1152995 1152999 + TypeReference 1153000 1153017 + Identifier 1153000 1153017 + TypeReference 1153019 1153024 + Identifier 1153019 1153024 + Block 1153024 1153295 + VariableStatement 1153026 1153069 + VariableDeclarationList 1153026 1153068 + VariableDeclaration 1153041 1153068 + Identifier 1153041 1153047 + CallExpression 1153049 1153068 + Identifier 1153049 1153062 + Identifier 1153063 1153067 + ReturnStatement 1153069 1153288 + BinaryExpression 1153085 1153287 + PropertyAccessExpression 1153085 1153104 + Identifier 1153085 1153091 + Identifier 1153092 1153104 + BarBarToken 1153104 1153107 + ParenthesizedExpression 1153107 1153287 + BinaryExpression 1153109 1153286 + PropertyAccessExpression 1153109 1153127 + Identifier 1153109 1153114 + Identifier 1153115 1153127 + EqualsToken 1153127 1153129 + ConditionalExpression 1153129 1153286 + PropertyAccessExpression 1153129 1153149 + Identifier 1153129 1153134 + Identifier 1153135 1153149 + QuestionToken 1153149 1153151 + CallExpression 1153151 1153181 + Identifier 1153151 1153175 + Identifier 1153176 1153180 + ColonToken 1153181 1153183 + CallExpression 1153183 1153286 + Identifier 1153183 1153211 + CallExpression 1153212 1153242 + Identifier 1153212 1153231 + PropertyAccessExpression 1153232 1153241 + Identifier 1153232 1153236 + Identifier 1153237 1153241 + TrueKeyword 1153243 1153263 + PrefixUnaryExpression 1153264 1153285 + PrefixUnaryExpression 1153266 1153285 + PropertyAccessExpression 1153267 1153285 + Identifier 1153267 1153271 + Identifier 1153272 1153285 + FunctionDeclaration 1153295 1153447 + Identifier 1153311 1153331 + Parameter 1153332 1153346 + Identifier 1153332 1153336 + TypeReference 1153337 1153346 + Identifier 1153337 1153346 + TypeReference 1153348 1153353 + Identifier 1153348 1153353 + Block 1153353 1153447 + ReturnStatement 1153355 1153440 + CallExpression 1153371 1153439 + Identifier 1153371 1153400 + CallExpression 1153401 1153432 + Identifier 1153401 1153426 + Identifier 1153427 1153431 + Identifier 1153433 1153438 + FunctionDeclaration 1153447 1159582 + Identifier 1153463 1153489 + Parameter 1153490 1153504 + Identifier 1153490 1153494 + TypeReference 1153495 1153504 + Identifier 1153495 1153504 + TypeReference 1153506 1153511 + Identifier 1153506 1153511 + Block 1153511 1159582 + SwitchStatement 1153513 1159575 + PropertyAccessExpression 1153531 1153540 + Identifier 1153531 1153535 + Identifier 1153536 1153540 + CaseBlock 1153541 1159575 + CaseClause 1153543 1153584 + PropertyAccessExpression 1153561 1153583 + Identifier 1153561 1153572 + Identifier 1153573 1153583 + CaseClause 1153584 1153627 + PropertyAccessExpression 1153602 1153626 + Identifier 1153602 1153613 + Identifier 1153614 1153626 + CaseClause 1153627 1153707 + PropertyAccessExpression 1153645 1153673 + Identifier 1153645 1153656 + Identifier 1153657 1153673 + ReturnStatement 1153674 1153707 + Identifier 1153698 1153706 + CaseClause 1153707 1153789 + PropertyAccessExpression 1153725 1153751 + Identifier 1153725 1153736 + Identifier 1153737 1153751 + ReturnStatement 1153752 1153789 + Identifier 1153776 1153788 + CaseClause 1153789 1153869 + PropertyAccessExpression 1153807 1153832 + Identifier 1153807 1153818 + Identifier 1153819 1153832 + ReturnStatement 1153833 1153869 + Identifier 1153857 1153868 + CaseClause 1153869 1153949 + PropertyAccessExpression 1153887 1153912 + Identifier 1153887 1153898 + Identifier 1153899 1153912 + ReturnStatement 1153913 1153949 + Identifier 1153937 1153948 + CaseClause 1153949 1154029 + PropertyAccessExpression 1153967 1153992 + Identifier 1153967 1153978 + Identifier 1153979 1153992 + ReturnStatement 1153993 1154029 + Identifier 1154017 1154028 + CaseClause 1154029 1154111 + PropertyAccessExpression 1154047 1154073 + Identifier 1154047 1154058 + Identifier 1154059 1154073 + ReturnStatement 1154074 1154111 + Identifier 1154098 1154110 + CaseClause 1154111 1154193 + PropertyAccessExpression 1154129 1154154 + Identifier 1154129 1154140 + Identifier 1154141 1154154 + ReturnStatement 1154155 1154193 + Identifier 1154179 1154192 + CaseClause 1154193 1154269 + PropertyAccessExpression 1154211 1154234 + Identifier 1154211 1154222 + Identifier 1154223 1154234 + ReturnStatement 1154235 1154269 + Identifier 1154259 1154268 + CaseClause 1154269 1154355 + PropertyAccessExpression 1154287 1154315 + Identifier 1154287 1154298 + Identifier 1154299 1154315 + ReturnStatement 1154316 1154355 + Identifier 1154340 1154354 + CaseClause 1154355 1154615 + AsExpression 1154373 1154418 + PropertyAccessExpression 1154373 1154396 + Identifier 1154373 1154384 + Identifier 1154385 1154396 + TypeReference 1154399 1154418 + Identifier 1154399 1154418 + ReturnStatement 1154419 1154615 + Identifier 1154605 1154614 + CaseClause 1154615 1154693 + PropertyAccessExpression 1154633 1154657 + Identifier 1154633 1154644 + Identifier 1154645 1154657 + ReturnStatement 1154658 1154693 + Identifier 1154682 1154692 + CaseClause 1154693 1154847 + PropertyAccessExpression 1154711 1154736 + Identifier 1154711 1154722 + Identifier 1154723 1154736 + ReturnStatement 1154737 1154847 + ConditionalExpression 1154761 1154846 + BinaryExpression 1154761 1154817 + BinaryExpression 1154761 1154799 + PropertyAccessExpression 1154761 1154772 + Identifier 1154761 1154766 + Identifier 1154767 1154772 + AmpersandToken 1154772 1154774 + PropertyAccessExpression 1154774 1154799 + Identifier 1154774 1154784 + Identifier 1154785 1154799 + AmpersandAmpersandToken 1154799 1154802 + PrefixUnaryExpression 1154802 1154817 + Identifier 1154804 1154817 + QuestionToken 1154817 1154819 + Identifier 1154819 1154827 + ColonToken 1154827 1154829 + Identifier 1154829 1154846 + CaseClause 1154847 1154939 + PropertyAccessExpression 1154865 1154893 + Identifier 1154865 1154876 + Identifier 1154877 1154893 + ReturnStatement 1154894 1154939 + Identifier 1154918 1154938 + CaseClause 1154939 1154978 + PropertyAccessExpression 1154957 1154977 + Identifier 1154957 1154968 + Identifier 1154969 1154977 + CaseClause 1154978 1155326 + AsExpression 1154996 1155041 + PropertyAccessExpression 1154996 1155019 + Identifier 1154996 1155007 + Identifier 1155008 1155019 + TypeReference 1155022 1155041 + Identifier 1155022 1155041 + ReturnStatement 1155042 1155326 + CallExpression 1155262 1155325 + Identifier 1155262 1155286 + AsExpression 1155287 1155324 + Identifier 1155287 1155291 + UnionType 1155294 1155324 + TypeReference 1155294 1155309 + Identifier 1155294 1155309 + TypeReference 1155311 1155324 + Identifier 1155311 1155324 + CaseClause 1155326 1155445 + PropertyAccessExpression 1155344 1155367 + Identifier 1155344 1155355 + Identifier 1155356 1155367 + ReturnStatement 1155368 1155445 + CallExpression 1155392 1155444 + Identifier 1155392 1155419 + AsExpression 1155420 1155443 + Identifier 1155420 1155424 + TypeReference 1155427 1155443 + Identifier 1155427 1155443 + CaseClause 1155445 1155566 + PropertyAccessExpression 1155463 1155488 + Identifier 1155463 1155474 + Identifier 1155475 1155488 + ReturnStatement 1155489 1155566 + CallExpression 1155513 1155565 + Identifier 1155513 1155538 + AsExpression 1155539 1155564 + Identifier 1155539 1155543 + TypeReference 1155546 1155564 + Identifier 1155546 1155564 + CaseClause 1155566 1155704 + PropertyAccessExpression 1155584 1155609 + Identifier 1155584 1155595 + Identifier 1155596 1155609 + ReturnStatement 1155610 1155704 + ConditionalExpression 1155634 1155703 + PropertyAccessExpression 1155634 1155678 + ParenthesizedExpression 1155634 1155662 + AsExpression 1155636 1155661 + Identifier 1155636 1155640 + TypeReference 1155643 1155661 + Identifier 1155643 1155661 + Identifier 1155663 1155678 + QuestionToken 1155678 1155680 + Identifier 1155680 1155689 + ColonToken 1155689 1155691 + Identifier 1155691 1155703 + CaseClause 1155704 1155849 + PropertyAccessExpression 1155722 1155761 + Identifier 1155722 1155733 + Identifier 1155734 1155761 + ReturnStatement 1155762 1155849 + CallExpression 1155786 1155848 + Identifier 1155786 1155811 + AsExpression 1155812 1155847 + Identifier 1155812 1155816 + TypeReference 1155819 1155847 + Identifier 1155819 1155847 + CaseClause 1155849 1155962 + PropertyAccessExpression 1155867 1155888 + Identifier 1155867 1155878 + Identifier 1155879 1155888 + ReturnStatement 1155889 1155962 + CallExpression 1155913 1155961 + Identifier 1155913 1155938 + AsExpression 1155939 1155960 + Identifier 1155939 1155943 + TypeReference 1155946 1155960 + Identifier 1155946 1155960 + CaseClause 1155962 1156002 + PropertyAccessExpression 1155980 1156001 + Identifier 1155980 1155991 + Identifier 1155992 1156001 + CaseClause 1156002 1156138 + PropertyAccessExpression 1156020 1156041 + Identifier 1156020 1156031 + Identifier 1156032 1156041 + ReturnStatement 1156042 1156138 + CallExpression 1156066 1156137 + Identifier 1156066 1156098 + AsExpression 1156099 1156136 + Identifier 1156099 1156103 + UnionType 1156106 1156136 + TypeReference 1156106 1156120 + Identifier 1156106 1156120 + TypeReference 1156122 1156136 + Identifier 1156122 1156136 + CaseClause 1156138 1156260 + PropertyAccessExpression 1156156 1156180 + Identifier 1156156 1156167 + Identifier 1156168 1156180 + ReturnStatement 1156181 1156260 + CallExpression 1156205 1156259 + Identifier 1156205 1156233 + AsExpression 1156234 1156258 + Identifier 1156234 1156238 + TypeReference 1156241 1156258 + Identifier 1156241 1156258 + CaseClause 1156260 1156373 + PropertyAccessExpression 1156278 1156299 + Identifier 1156278 1156289 + Identifier 1156290 1156299 + ReturnStatement 1156300 1156373 + CallExpression 1156324 1156372 + Identifier 1156324 1156349 + AsExpression 1156350 1156371 + Identifier 1156350 1156354 + TypeReference 1156357 1156371 + Identifier 1156357 1156371 + CaseClause 1156373 1156507 + PropertyAccessExpression 1156391 1156419 + Identifier 1156391 1156402 + Identifier 1156403 1156419 + ReturnStatement 1156420 1156507 + CallExpression 1156444 1156506 + Identifier 1156444 1156476 + AsExpression 1156477 1156505 + Identifier 1156477 1156481 + TypeReference 1156484 1156505 + Identifier 1156484 1156505 + CaseClause 1156507 1156640 + PropertyAccessExpression 1156525 1156554 + Identifier 1156525 1156536 + Identifier 1156537 1156554 + ReturnStatement 1156555 1156640 + CallExpression 1156579 1156639 + Identifier 1156579 1156612 + AsExpression 1156613 1156638 + Identifier 1156613 1156617 + TypeReference 1156620 1156638 + Identifier 1156620 1156638 + CaseClause 1156640 1156783 + PropertyAccessExpression 1156658 1156687 + Identifier 1156658 1156669 + Identifier 1156670 1156687 + ReturnStatement 1156688 1156783 + CallExpression 1156712 1156782 + Identifier 1156712 1156727 + CallExpression 1156728 1156781 + Identifier 1156728 1156747 + PropertyAccessExpression 1156748 1156780 + ParenthesizedExpression 1156748 1156775 + AsExpression 1156749 1156774 + Identifier 1156749 1156753 + TypeReference 1156756 1156774 + Identifier 1156756 1156774 + Identifier 1156776 1156780 + CaseClause 1156783 1156911 + PropertyAccessExpression 1156801 1156829 + Identifier 1156801 1156812 + Identifier 1156813 1156829 + ReturnStatement 1156830 1156911 + CallExpression 1156854 1156910 + Identifier 1156854 1156884 + AsExpression 1156885 1156909 + Identifier 1156885 1156889 + TypeReference 1156892 1156909 + Identifier 1156892 1156909 + CaseClause 1156911 1156959 + PropertyAccessExpression 1156929 1156958 + Identifier 1156929 1156940 + Identifier 1156941 1156958 + CaseClause 1156959 1157010 + PropertyAccessExpression 1156977 1157009 + Identifier 1156977 1156988 + Identifier 1156989 1157009 + CaseClause 1157010 1157211 + PropertyAccessExpression 1157028 1157059 + Identifier 1157028 1157039 + Identifier 1157040 1157059 + ReturnStatement 1157060 1157211 + CallExpression 1157084 1157210 + Identifier 1157084 1157104 + PropertyAccessExpression 1157105 1157209 + ParenthesizedExpression 1157105 1157204 + AsExpression 1157106 1157203 + Identifier 1157106 1157110 + UnionType 1157113 1157203 + TypeReference 1157113 1157135 + Identifier 1157113 1157135 + TypeReference 1157137 1157162 + Identifier 1157137 1157162 + TypeReference 1157164 1157184 + Identifier 1157164 1157184 + TypeReference 1157186 1157203 + Identifier 1157186 1157203 + Identifier 1157205 1157209 + CaseClause 1157211 1157321 + PropertyAccessExpression 1157229 1157249 + Identifier 1157229 1157240 + Identifier 1157241 1157249 + ReturnStatement 1157250 1157321 + CallExpression 1157274 1157320 + Identifier 1157274 1157298 + AsExpression 1157299 1157319 + Identifier 1157299 1157303 + TypeReference 1157306 1157319 + Identifier 1157306 1157319 + CaseClause 1157321 1157450 + PropertyAccessExpression 1157339 1157368 + Identifier 1157339 1157350 + Identifier 1157351 1157368 + ReturnStatement 1157369 1157450 + CallExpression 1157393 1157449 + Identifier 1157393 1157422 + AsExpression 1157423 1157448 + Identifier 1157423 1157427 + TypeReference 1157430 1157448 + Identifier 1157430 1157448 + CaseClause 1157450 1157493 + PropertyAccessExpression 1157468 1157492 + Identifier 1157468 1157479 + Identifier 1157480 1157492 + CaseClause 1157493 1157539 + PropertyAccessExpression 1157511 1157538 + Identifier 1157511 1157522 + Identifier 1157523 1157538 + CaseClause 1157539 1157581 + PropertyAccessExpression 1157557 1157580 + Identifier 1157557 1157568 + Identifier 1157569 1157580 + CaseClause 1157581 1157628 + PropertyAccessExpression 1157599 1157627 + Identifier 1157599 1157610 + Identifier 1157611 1157627 + CaseClause 1157628 1157676 + PropertyAccessExpression 1157646 1157675 + Identifier 1157646 1157657 + Identifier 1157658 1157675 + CaseClause 1157676 1157913 + PropertyAccessExpression 1157694 1157720 + Identifier 1157694 1157705 + Identifier 1157706 1157720 + ReturnStatement 1157721 1157913 + CallExpression 1157745 1157912 + Identifier 1157745 1157799 + AsExpression 1157800 1157911 + Identifier 1157800 1157804 + UnionType 1157807 1157911 + TypeReference 1157807 1157823 + Identifier 1157807 1157823 + TypeReference 1157825 1157855 + Identifier 1157825 1157855 + TypeReference 1157857 1157874 + Identifier 1157857 1157874 + TypeReference 1157876 1157894 + Identifier 1157876 1157894 + TypeReference 1157896 1157911 + Identifier 1157896 1157911 + CaseClause 1157913 1158035 + PropertyAccessExpression 1157931 1157955 + Identifier 1157931 1157942 + Identifier 1157943 1157955 + ReturnStatement 1157956 1158035 + CallExpression 1157980 1158034 + Identifier 1157980 1158008 + AsExpression 1158009 1158033 + Identifier 1158009 1158013 + TypeReference 1158016 1158033 + Identifier 1158016 1158033 + CaseClause 1158035 1158172 + PropertyAccessExpression 1158053 1158082 + Identifier 1158053 1158064 + Identifier 1158065 1158082 + ReturnStatement 1158083 1158172 + CallExpression 1158107 1158171 + Identifier 1158107 1158140 + AsExpression 1158141 1158170 + Identifier 1158141 1158145 + TypeReference 1158148 1158170 + Identifier 1158148 1158170 + CaseClause 1158172 1158288 + PropertyAccessExpression 1158190 1158212 + Identifier 1158190 1158201 + Identifier 1158202 1158212 + ReturnStatement 1158213 1158288 + CallExpression 1158237 1158287 + Identifier 1158237 1158263 + AsExpression 1158264 1158286 + Identifier 1158264 1158268 + TypeReference 1158271 1158286 + Identifier 1158271 1158286 + CaseClause 1158288 1158419 + PropertyAccessExpression 1158306 1158333 + Identifier 1158306 1158317 + Identifier 1158318 1158333 + ReturnStatement 1158334 1158419 + CallExpression 1158358 1158418 + Identifier 1158358 1158389 + AsExpression 1158390 1158417 + Identifier 1158390 1158394 + TypeReference 1158397 1158417 + Identifier 1158397 1158417 + CaseClause 1158419 1158532 + PropertyAccessExpression 1158437 1158458 + Identifier 1158437 1158448 + Identifier 1158449 1158458 + ReturnStatement 1158459 1158532 + CallExpression 1158483 1158531 + Identifier 1158483 1158508 + AsExpression 1158509 1158530 + Identifier 1158509 1158513 + TypeReference 1158516 1158530 + Identifier 1158516 1158530 + CaseClause 1158532 1158668 + PropertyAccessExpression 1158550 1158581 + Identifier 1158550 1158561 + Identifier 1158562 1158581 + ReturnStatement 1158582 1158668 + CallExpression 1158606 1158667 + Identifier 1158606 1158634 + AsExpression 1158635 1158666 + Identifier 1158635 1158639 + TypeReference 1158642 1158666 + Identifier 1158642 1158666 + CaseClause 1158668 1158784 + PropertyAccessExpression 1158686 1158708 + Identifier 1158686 1158697 + Identifier 1158698 1158708 + ReturnStatement 1158709 1158784 + CallExpression 1158733 1158783 + Identifier 1158733 1158759 + AsExpression 1158760 1158782 + Identifier 1158760 1158764 + TypeReference 1158767 1158782 + Identifier 1158767 1158782 + CaseClause 1158784 1159227 + AsExpression 1159182 1159226 + PropertyAccessExpression 1159182 1159204 + Identifier 1159182 1159193 + Identifier 1159194 1159204 + TypeReference 1159207 1159226 + Identifier 1159207 1159226 + CaseClause 1159227 1159293 + AsExpression 1159245 1159292 + PropertyAccessExpression 1159245 1159270 + Identifier 1159245 1159256 + Identifier 1159257 1159270 + TypeReference 1159273 1159292 + Identifier 1159273 1159292 + CaseClause 1159293 1159507 + AsExpression 1159311 1159369 + PropertyAccessExpression 1159311 1159347 + Identifier 1159311 1159322 + Identifier 1159323 1159347 + TypeReference 1159350 1159369 + Identifier 1159350 1159369 + VariableStatement 1159370 1159429 + VariableDeclarationList 1159370 1159428 + VariableDeclaration 1159393 1159428 + Identifier 1159393 1159400 + CallExpression 1159402 1159428 + Identifier 1159402 1159422 + Identifier 1159423 1159427 + ReturnStatement 1159429 1159507 + ConditionalExpression 1159453 1159506 + Identifier 1159453 1159460 + QuestionToken 1159460 1159462 + CallExpression 1159462 1159494 + Identifier 1159462 1159486 + Identifier 1159487 1159493 + ColonToken 1159494 1159496 + Identifier 1159496 1159506 + DefaultClause 1159507 1159564 + ReturnStatement 1159529 1159564 + Identifier 1159553 1159563 + FunctionDeclaration 1159582 1159723 + Identifier 1159598 1159614 + TypeParameter 1159615 1159616 + Identifier 1159615 1159616 + Parameter 1159618 1159637 + Identifier 1159618 1159623 + TypeOperator 1159624 1159637 + ArrayType 1159633 1159637 + TypeReference 1159633 1159635 + Identifier 1159633 1159635 + Parameter 1159638 1159657 + Identifier 1159638 1159645 + TypeReference 1159646 1159657 + Identifier 1159646 1159657 + Parameter 1159658 1159707 + Identifier 1159658 1159671 + FunctionType 1159672 1159707 + Parameter 1159674 1159681 + Identifier 1159674 1159678 + TypeReference 1159679 1159681 + Identifier 1159679 1159681 + Parameter 1159682 1159701 + Identifier 1159682 1159689 + TypeReference 1159690 1159701 + Identifier 1159690 1159701 + TypeReference 1159705 1159707 + Identifier 1159705 1159707 + TypeOperator 1159709 1159722 + ArrayType 1159718 1159722 + TypeReference 1159718 1159720 + Identifier 1159718 1159720 + FunctionDeclaration 1159723 1159886 + Identifier 1159737 1159753 + TypeParameter 1159754 1159755 + Identifier 1159754 1159755 + Parameter 1159757 1159788 + Identifier 1159757 1159762 + UnionType 1159763 1159788 + TypeOperator 1159763 1159776 + ArrayType 1159772 1159776 + TypeReference 1159772 1159774 + Identifier 1159772 1159774 + UndefinedKeyword 1159778 1159788 + Parameter 1159789 1159808 + Identifier 1159789 1159796 + TypeReference 1159797 1159808 + Identifier 1159797 1159808 + Parameter 1159809 1159858 + Identifier 1159809 1159822 + FunctionType 1159823 1159858 + Parameter 1159825 1159832 + Identifier 1159825 1159829 + TypeReference 1159830 1159832 + Identifier 1159830 1159832 + Parameter 1159833 1159852 + Identifier 1159833 1159840 + TypeReference 1159841 1159852 + Identifier 1159841 1159852 + TypeReference 1159856 1159858 + Identifier 1159856 1159858 + UnionType 1159860 1159885 + TypeOperator 1159860 1159873 + ArrayType 1159869 1159873 + TypeReference 1159869 1159871 + Identifier 1159869 1159871 + UndefinedKeyword 1159875 1159885 + FunctionDeclaration 1159886 1160654 + Identifier 1159900 1159916 + TypeParameter 1159917 1159918 + Identifier 1159917 1159918 + Parameter 1159920 1159951 + Identifier 1159920 1159925 + UnionType 1159926 1159951 + TypeOperator 1159926 1159939 + ArrayType 1159935 1159939 + TypeReference 1159935 1159937 + Identifier 1159935 1159937 + UndefinedKeyword 1159941 1159951 + Parameter 1159952 1159971 + Identifier 1159952 1159959 + TypeReference 1159960 1159971 + Identifier 1159960 1159971 + Parameter 1159972 1160021 + Identifier 1159972 1159985 + FunctionType 1159986 1160021 + Parameter 1159988 1159995 + Identifier 1159988 1159992 + TypeReference 1159993 1159995 + Identifier 1159993 1159995 + Parameter 1159996 1160015 + Identifier 1159996 1160003 + TypeReference 1160004 1160015 + Identifier 1160004 1160015 + TypeReference 1160019 1160021 + Identifier 1160019 1160021 + UnionType 1160023 1160048 + TypeOperator 1160023 1160036 + ArrayType 1160032 1160036 + TypeReference 1160032 1160034 + Identifier 1160032 1160034 + UndefinedKeyword 1160038 1160048 + Block 1160048 1160654 + IfStatement 1160050 1160624 + BinaryExpression 1160064 1160085 + Identifier 1160064 1160069 + AmpersandAmpersandToken 1160069 1160072 + PropertyAccessExpression 1160072 1160085 + Identifier 1160072 1160078 + Identifier 1160079 1160085 + Block 1160086 1160624 + ForStatement 1160088 1160613 + VariableDeclarationList 1160107 1160116 + VariableDeclaration 1160110 1160116 + Identifier 1160110 1160112 + NumericLiteral 1160114 1160116 + BinaryExpression 1160117 1160134 + Identifier 1160117 1160119 + LessThanToken 1160119 1160121 + PropertyAccessExpression 1160121 1160134 + Identifier 1160121 1160127 + Identifier 1160128 1160134 + PostfixUnaryExpression 1160135 1160139 + Identifier 1160135 1160137 + Block 1160140 1160613 + VariableStatement 1160142 1160182 + VariableDeclarationList 1160142 1160181 + VariableDeclaration 1160165 1160181 + Identifier 1160165 1160170 + ElementAccessExpression 1160172 1160181 + Identifier 1160172 1160178 + Identifier 1160179 1160180 + VariableStatement 1160182 1160242 + VariableDeclarationList 1160182 1160241 + VariableDeclaration 1160205 1160241 + Identifier 1160205 1160212 + CallExpression 1160214 1160241 + Identifier 1160214 1160227 + Identifier 1160228 1160232 + Identifier 1160233 1160240 + IfStatement 1160242 1160598 + BinaryExpression 1160264 1160279 + Identifier 1160264 1160268 + ExclamationEqualsEqualsToken 1160268 1160272 + Identifier 1160272 1160279 + Block 1160280 1160598 + VariableStatement 1160282 1160352 + VariableDeclarationList 1160282 1160351 + VariableDeclaration 1160309 1160351 + Identifier 1160309 1160316 + ConditionalExpression 1160318 1160351 + BinaryExpression 1160318 1160326 + Identifier 1160318 1160320 + EqualsEqualsEqualsToken 1160320 1160324 + NumericLiteral 1160324 1160326 + QuestionToken 1160326 1160328 + ArrayLiteralExpression 1160328 1160331 + ColonToken 1160331 1160333 + CallExpression 1160333 1160351 + PropertyAccessExpression 1160333 1160345 + Identifier 1160333 1160339 + Identifier 1160340 1160345 + NumericLiteral 1160346 1160347 + Identifier 1160348 1160350 + ExpressionStatement 1160352 1160394 + CallExpression 1160352 1160393 + PropertyAccessExpression 1160352 1160385 + Identifier 1160352 1160380 + Identifier 1160381 1160385 + Identifier 1160386 1160392 + ForStatement 1160394 1160543 + PostfixUnaryExpression 1160421 1160424 + Identifier 1160421 1160422 + BinaryExpression 1160425 1160442 + Identifier 1160425 1160427 + LessThanToken 1160427 1160429 + PropertyAccessExpression 1160429 1160442 + Identifier 1160429 1160435 + Identifier 1160436 1160442 + PostfixUnaryExpression 1160443 1160447 + Identifier 1160443 1160445 + Block 1160448 1160543 + ExpressionStatement 1160450 1160520 + CallExpression 1160450 1160519 + PropertyAccessExpression 1160450 1160487 + Identifier 1160450 1160482 + Identifier 1160483 1160487 + CallExpression 1160488 1160518 + Identifier 1160488 1160500 + ElementAccessExpression 1160501 1160509 + Identifier 1160501 1160506 + Identifier 1160507 1160508 + Identifier 1160510 1160517 + ReturnStatement 1160543 1160579 + Identifier 1160571 1160578 + ReturnStatement 1160624 1160647 + Identifier 1160640 1160646 + FunctionDeclaration 1160654 1160749 + Identifier 1160670 1160687 + Parameter 1160688 1160710 + Identifier 1160688 1160693 + TypeOperator 1160694 1160710 + ArrayType 1160703 1160710 + TypeReference 1160703 1160708 + Identifier 1160703 1160708 + Parameter 1160711 1160730 + Identifier 1160711 1160718 + TypeReference 1160719 1160730 + Identifier 1160719 1160730 + TypeOperator 1160732 1160748 + ArrayType 1160741 1160748 + TypeReference 1160741 1160746 + Identifier 1160741 1160746 + FunctionDeclaration 1160749 1160866 + Identifier 1160763 1160780 + Parameter 1160781 1160815 + Identifier 1160781 1160786 + UnionType 1160787 1160815 + TypeOperator 1160787 1160803 + ArrayType 1160796 1160803 + TypeReference 1160796 1160801 + Identifier 1160796 1160801 + UndefinedKeyword 1160805 1160815 + Parameter 1160816 1160835 + Identifier 1160816 1160823 + TypeReference 1160824 1160835 + Identifier 1160824 1160835 + UnionType 1160837 1160865 + TypeOperator 1160837 1160853 + ArrayType 1160846 1160853 + TypeReference 1160846 1160851 + Identifier 1160846 1160851 + UndefinedKeyword 1160855 1160865 + FunctionDeclaration 1160866 1161062 + Identifier 1160880 1160897 + Parameter 1160898 1160932 + Identifier 1160898 1160903 + UnionType 1160904 1160932 + TypeOperator 1160904 1160920 + ArrayType 1160913 1160920 + TypeReference 1160913 1160918 + Identifier 1160913 1160918 + UndefinedKeyword 1160922 1160932 + Parameter 1160933 1160952 + Identifier 1160933 1160940 + TypeReference 1160941 1160952 + Identifier 1160941 1160952 + UnionType 1160954 1160982 + TypeOperator 1160954 1160970 + ArrayType 1160963 1160970 + TypeReference 1160963 1160968 + Identifier 1160963 1160968 + UndefinedKeyword 1160972 1160982 + Block 1160982 1161062 + ReturnStatement 1160984 1161055 + CallExpression 1161000 1161054 + Identifier 1161000 1161016 + TypeReference 1161017 1161021 + Identifier 1161017 1161021 + Identifier 1161023 1161028 + Identifier 1161029 1161036 + Identifier 1161037 1161053 + FunctionDeclaration 1161062 1161271 + Identifier 1161078 1161100 + Parameter 1161101 1161133 + Identifier 1161101 1161111 + TypeOperator 1161112 1161133 + ArrayType 1161121 1161133 + TypeReference 1161121 1161131 + Identifier 1161121 1161131 + Parameter 1161134 1161153 + Identifier 1161134 1161141 + TypeReference 1161142 1161153 + Identifier 1161142 1161153 + TypeOperator 1161155 1161176 + ArrayType 1161164 1161176 + TypeReference 1161164 1161174 + Identifier 1161164 1161174 + Block 1161176 1161271 + ReturnStatement 1161178 1161264 + CallExpression 1161194 1161263 + Identifier 1161194 1161210 + TypeReference 1161211 1161220 + Identifier 1161211 1161220 + Identifier 1161222 1161232 + Identifier 1161233 1161240 + Identifier 1161241 1161262 + FunctionDeclaration 1161271 1161480 + Identifier 1161287 1161309 + Parameter 1161310 1161342 + Identifier 1161310 1161320 + TypeOperator 1161321 1161342 + ArrayType 1161330 1161342 + TypeReference 1161330 1161340 + Identifier 1161330 1161340 + Parameter 1161343 1161362 + Identifier 1161343 1161350 + TypeReference 1161351 1161362 + Identifier 1161351 1161362 + TypeOperator 1161364 1161385 + ArrayType 1161373 1161385 + TypeReference 1161373 1161383 + Identifier 1161373 1161383 + Block 1161385 1161480 + ReturnStatement 1161387 1161473 + CallExpression 1161403 1161472 + Identifier 1161403 1161419 + TypeReference 1161420 1161429 + Identifier 1161420 1161429 + Identifier 1161431 1161441 + Identifier 1161442 1161449 + Identifier 1161450 1161471 + FunctionDeclaration 1161480 1161751 + Identifier 1161496 1161513 + Parameter 1161514 1161547 + Identifier 1161514 1161521 + TypeOperator 1161522 1161547 + ArrayType 1161531 1161547 + TypeReference 1161531 1161545 + Identifier 1161531 1161545 + Parameter 1161548 1161585 + Identifier 1161548 1161556 + UnionType 1161557 1161585 + TypeOperator 1161557 1161573 + ArrayType 1161566 1161573 + TypeReference 1161566 1161571 + Identifier 1161566 1161571 + UndefinedKeyword 1161575 1161585 + TypeReference 1161587 1161598 + Identifier 1161587 1161598 + Block 1161598 1161751 + ReturnStatement 1161600 1161744 + ConditionalExpression 1161616 1161743 + BinaryExpression 1161616 1161637 + PropertyAccessExpression 1161616 1161631 + Identifier 1161616 1161624 + Identifier 1161625 1161631 + EqualsEqualsEqualsToken 1161631 1161635 + NumericLiteral 1161635 1161637 + QuestionToken 1161637 1161639 + CallExpression 1161639 1161703 + Identifier 1161639 1161659 + ElementAccessExpression 1161660 1161670 + Identifier 1161660 1161667 + NumericLiteral 1161668 1161669 + ConditionalExpression 1161671 1161702 + Identifier 1161671 1161679 + QuestionToken 1161679 1161681 + ElementAccessExpression 1161681 1161692 + Identifier 1161681 1161689 + NumericLiteral 1161690 1161691 + ColonToken 1161692 1161694 + Identifier 1161694 1161702 + ColonToken 1161703 1161705 + CallExpression 1161705 1161743 + Identifier 1161705 1161725 + Identifier 1161726 1161733 + Identifier 1161734 1161742 + FunctionDeclaration 1161751 1163136 + Identifier 1161767 1161781 + Parameter 1161782 1161792 + Identifier 1161782 1161786 + TypeReference 1161787 1161792 + Identifier 1161787 1161792 + Parameter 1161793 1161812 + Identifier 1161793 1161800 + TypeReference 1161801 1161812 + Identifier 1161801 1161812 + TypeReference 1161814 1161819 + Identifier 1161814 1161819 + Block 1161819 1163136 + SwitchStatement 1161821 1163129 + PropertyAccessExpression 1161839 1161850 + Identifier 1161839 1161845 + Identifier 1161846 1161850 + CaseBlock 1161851 1163129 + CaseClause 1161853 1161962 + PropertyAccessExpression 1161871 1161890 + Identifier 1161871 1161883 + Identifier 1161884 1161890 + ReturnStatement 1161891 1161962 + ConditionalExpression 1161915 1161961 + BinaryExpression 1161915 1161938 + Identifier 1161915 1161920 + EqualsEqualsEqualsToken 1161920 1161924 + PropertyAccessExpression 1161924 1161938 + Identifier 1161924 1161931 + Identifier 1161932 1161938 + QuestionToken 1161938 1161940 + PropertyAccessExpression 1161940 1161954 + Identifier 1161940 1161947 + Identifier 1161948 1161954 + ColonToken 1161954 1161956 + Identifier 1161956 1161961 + CaseClause 1161962 1162358 + PropertyAccessExpression 1161980 1161998 + Identifier 1161980 1161992 + Identifier 1161993 1161998 + Block 1161999 1162358 + VariableStatement 1162001 1162050 + VariableDeclarationList 1162001 1162049 + VariableDeclaration 1162024 1162049 + Identifier 1162024 1162032 + PropertyAccessExpression 1162034 1162049 + Identifier 1162034 1162041 + Identifier 1162042 1162049 + VariableStatement 1162050 1162099 + VariableDeclarationList 1162050 1162098 + VariableDeclaration 1162073 1162098 + Identifier 1162073 1162081 + PropertyAccessExpression 1162083 1162098 + Identifier 1162083 1162090 + Identifier 1162091 1162098 + ForStatement 1162099 1162313 + VariableDeclarationList 1162122 1162131 + VariableDeclaration 1162125 1162131 + Identifier 1162125 1162127 + NumericLiteral 1162129 1162131 + BinaryExpression 1162132 1162151 + Identifier 1162132 1162134 + LessThanToken 1162134 1162136 + PropertyAccessExpression 1162136 1162151 + Identifier 1162136 1162144 + Identifier 1162145 1162151 + PostfixUnaryExpression 1162152 1162156 + Identifier 1162152 1162154 + Block 1162157 1162313 + IfStatement 1162159 1162294 + BinaryExpression 1162185 1162204 + Identifier 1162185 1162189 + EqualsEqualsEqualsToken 1162189 1162193 + ElementAccessExpression 1162193 1162204 + Identifier 1162193 1162201 + Identifier 1162202 1162203 + Block 1162205 1162294 + ReturnStatement 1162207 1162271 + ConditionalExpression 1162239 1162270 + Identifier 1162239 1162247 + QuestionToken 1162247 1162249 + ElementAccessExpression 1162249 1162260 + Identifier 1162249 1162257 + Identifier 1162258 1162259 + ColonToken 1162260 1162262 + Identifier 1162262 1162270 + ReturnStatement 1162313 1162343 + Identifier 1162337 1162342 + CaseClause 1162358 1162739 + PropertyAccessExpression 1162376 1162397 + Identifier 1162376 1162388 + Identifier 1162389 1162397 + Block 1162398 1162739 + VariableStatement 1162400 1162449 + VariableDeclarationList 1162400 1162448 + VariableDeclaration 1162423 1162448 + Identifier 1162423 1162431 + PropertyAccessExpression 1162433 1162448 + Identifier 1162433 1162440 + Identifier 1162441 1162448 + VariableStatement 1162449 1162498 + VariableDeclarationList 1162449 1162497 + VariableDeclaration 1162472 1162497 + Identifier 1162472 1162480 + PropertyAccessExpression 1162482 1162497 + Identifier 1162482 1162489 + Identifier 1162490 1162497 + ForStatement 1162498 1162694 + VariableDeclarationList 1162521 1162530 + VariableDeclaration 1162524 1162530 + Identifier 1162524 1162526 + NumericLiteral 1162528 1162530 + BinaryExpression 1162531 1162550 + Identifier 1162531 1162533 + LessThanToken 1162533 1162535 + PropertyAccessExpression 1162535 1162550 + Identifier 1162535 1162543 + Identifier 1162544 1162550 + PostfixUnaryExpression 1162551 1162555 + Identifier 1162551 1162553 + Block 1162556 1162694 + IfStatement 1162558 1162675 + BinaryExpression 1162584 1162603 + Identifier 1162584 1162588 + EqualsEqualsEqualsToken 1162588 1162592 + ElementAccessExpression 1162592 1162603 + Identifier 1162592 1162600 + Identifier 1162601 1162602 + Block 1162604 1162675 + ReturnStatement 1162606 1162652 + CallExpression 1162638 1162651 + ElementAccessExpression 1162638 1162649 + Identifier 1162638 1162646 + Identifier 1162647 1162648 + ReturnStatement 1162694 1162724 + Identifier 1162718 1162723 + CaseClause 1162739 1162822 + PropertyAccessExpression 1162757 1162778 + Identifier 1162757 1162769 + Identifier 1162770 1162778 + ReturnStatement 1162779 1162822 + CallExpression 1162803 1162821 + PropertyAccessExpression 1162803 1162815 + Identifier 1162803 1162810 + Identifier 1162811 1162815 + Identifier 1162816 1162820 + CaseClause 1162822 1162863 + PropertyAccessExpression 1162840 1162862 + Identifier 1162840 1162852 + Identifier 1162853 1162862 + CaseClause 1162863 1163118 + PropertyAccessExpression 1162881 1162900 + Identifier 1162881 1162893 + Identifier 1162894 1162900 + VariableStatement 1162901 1162966 + VariableDeclarationList 1162901 1162965 + VariableDeclaration 1162924 1162965 + Identifier 1162924 1162927 + CallExpression 1162929 1162965 + Identifier 1162929 1162943 + Identifier 1162944 1162948 + PropertyAccessExpression 1162949 1162964 + Identifier 1162949 1162956 + Identifier 1162957 1162964 + ReturnStatement 1162966 1163118 + ConditionalExpression 1162990 1163117 + BinaryExpression 1162990 1163043 + BinaryExpression 1162990 1163002 + Identifier 1162990 1162993 + ExclamationEqualsEqualsToken 1162993 1162997 + Identifier 1162997 1163002 + AmpersandAmpersandToken 1163002 1163005 + BinaryExpression 1163005 1163043 + PropertyAccessExpression 1163005 1163017 + Identifier 1163005 1163012 + Identifier 1163013 1163017 + EqualsEqualsEqualsToken 1163017 1163021 + PropertyAccessExpression 1163021 1163043 + Identifier 1163021 1163033 + Identifier 1163034 1163043 + QuestionToken 1163043 1163045 + CallExpression 1163045 1163081 + Identifier 1163045 1163061 + Identifier 1163062 1163064 + PropertyAccessExpression 1163065 1163080 + Identifier 1163065 1163072 + Identifier 1163073 1163080 + ColonToken 1163081 1163083 + CallExpression 1163083 1163117 + Identifier 1163083 1163097 + Identifier 1163098 1163100 + PropertyAccessExpression 1163101 1163116 + Identifier 1163101 1163108 + Identifier 1163109 1163116 + FunctionDeclaration 1163136 1163318 + Identifier 1163152 1163172 + Parameter 1163173 1163185 + Identifier 1163173 1163179 + TypeReference 1163180 1163185 + Identifier 1163180 1163185 + Parameter 1163186 1163199 + Identifier 1163186 1163193 + TypeReference 1163194 1163199 + Identifier 1163194 1163199 + TypeReference 1163201 1163212 + Identifier 1163201 1163212 + Block 1163212 1163318 + ReturnStatement 1163214 1163311 + CallExpression 1163230 1163310 + PropertyAccessExpression 1163230 1163264 + Identifier 1163230 1163236 + Identifier 1163237 1163264 + ObjectLiteralExpression 1163265 1163309 + PropertyAssignment 1163266 1163291 + Identifier 1163266 1163271 + PropertyAccessExpression 1163272 1163291 + Identifier 1163272 1163284 + Identifier 1163285 1163291 + ShorthandPropertyAssignment 1163292 1163299 + Identifier 1163292 1163299 + ShorthandPropertyAssignment 1163300 1163307 + Identifier 1163300 1163307 + FunctionDeclaration 1163318 1163546 + Identifier 1163334 1163354 + Parameter 1163355 1163388 + Identifier 1163355 1163362 + TypeOperator 1163363 1163388 + ArrayType 1163372 1163388 + TypeReference 1163372 1163386 + Identifier 1163372 1163386 + Parameter 1163389 1163426 + Identifier 1163389 1163397 + UnionType 1163398 1163426 + TypeOperator 1163398 1163414 + ArrayType 1163407 1163414 + TypeReference 1163407 1163412 + Identifier 1163407 1163412 + UndefinedKeyword 1163416 1163426 + TypeReference 1163428 1163439 + Identifier 1163428 1163439 + Block 1163439 1163546 + ReturnStatement 1163441 1163539 + CallExpression 1163457 1163538 + PropertyAccessExpression 1163457 1163491 + Identifier 1163457 1163463 + Identifier 1163464 1163491 + ObjectLiteralExpression 1163492 1163537 + PropertyAssignment 1163493 1163517 + Identifier 1163493 1163498 + PropertyAccessExpression 1163499 1163517 + Identifier 1163499 1163511 + Identifier 1163512 1163517 + ShorthandPropertyAssignment 1163518 1163526 + Identifier 1163518 1163526 + ShorthandPropertyAssignment 1163527 1163535 + Identifier 1163527 1163535 + FunctionDeclaration 1163546 1163799 + Identifier 1163562 1163585 + Parameter 1163586 1163609 + Identifier 1163586 1163590 + FunctionType 1163591 1163609 + Parameter 1163593 1163600 + Identifier 1163593 1163594 + TypeReference 1163595 1163600 + Identifier 1163595 1163600 + TypeReference 1163604 1163609 + Identifier 1163604 1163609 + Parameter 1163610 1163634 + Identifier 1163610 1163620 + FunctionType 1163621 1163634 + StringKeyword 1163627 1163634 + TypeReference 1163636 1163647 + Identifier 1163636 1163647 + Block 1163647 1163799 + ReturnStatement 1163649 1163792 + CallExpression 1163665 1163791 + PropertyAccessExpression 1163665 1163699 + Identifier 1163665 1163671 + Identifier 1163672 1163699 + ObjectLiteralExpression 1163700 1163790 + PropertyAssignment 1163701 1163728 + Identifier 1163701 1163706 + PropertyAccessExpression 1163707 1163728 + Identifier 1163707 1163719 + Identifier 1163720 1163728 + ShorthandPropertyAssignment 1163729 1163734 + Identifier 1163729 1163734 + PropertyAssignment 1163735 1163788 + Identifier 1163735 1163745 + ConditionalExpression 1163746 1163788 + PropertyAccessExpression 1163746 1163764 + Identifier 1163746 1163752 + Identifier 1163753 1163764 + QuestionToken 1163764 1163766 + Identifier 1163766 1163776 + ColonToken 1163776 1163778 + Identifier 1163778 1163788 + FunctionDeclaration 1163799 1164008 + Identifier 1163815 1163838 + Parameter 1163839 1163872 + Identifier 1163839 1163846 + TypeOperator 1163847 1163872 + ArrayType 1163856 1163872 + TypeReference 1163856 1163870 + Identifier 1163856 1163870 + Parameter 1163873 1163897 + Identifier 1163873 1163881 + ArrayType 1163882 1163897 + ParenthesizedType 1163882 1163895 + FunctionType 1163884 1163894 + TypeReference 1163889 1163894 + Identifier 1163889 1163894 + Block 1163898 1164008 + ReturnStatement 1163900 1164001 + CallExpression 1163916 1164000 + PropertyAccessExpression 1163916 1163950 + Identifier 1163916 1163922 + Identifier 1163923 1163950 + ObjectLiteralExpression 1163951 1163999 + PropertyAssignment 1163952 1163979 + Identifier 1163952 1163957 + PropertyAccessExpression 1163958 1163979 + Identifier 1163958 1163970 + Identifier 1163971 1163979 + ShorthandPropertyAssignment 1163980 1163988 + Identifier 1163980 1163988 + ShorthandPropertyAssignment 1163989 1163997 + Identifier 1163989 1163997 + FunctionDeclaration 1164008 1164240 + Identifier 1164024 1164048 + Parameter 1164049 1164097 + Identifier 1164049 1164053 + UnionType 1164054 1164097 + TypeReference 1164054 1164076 + QualifiedName 1164054 1164076 + Identifier 1164054 1164066 + Identifier 1164067 1164076 + TypeReference 1164078 1164097 + QualifiedName 1164078 1164097 + Identifier 1164078 1164090 + Identifier 1164091 1164097 + Parameter 1164098 1164118 + Identifier 1164098 1164106 + TypeReference 1164107 1164118 + Identifier 1164107 1164118 + Parameter 1164119 1164139 + Identifier 1164119 1164127 + TypeReference 1164128 1164139 + Identifier 1164128 1164139 + TypeReference 1164141 1164152 + Identifier 1164141 1164152 + Block 1164152 1164240 + ReturnStatement 1164154 1164233 + CallExpression 1164170 1164232 + PropertyAccessExpression 1164170 1164204 + Identifier 1164170 1164176 + Identifier 1164177 1164204 + ObjectLiteralExpression 1164205 1164231 + ShorthandPropertyAssignment 1164206 1164211 + Identifier 1164206 1164211 + ShorthandPropertyAssignment 1164212 1164220 + Identifier 1164212 1164220 + ShorthandPropertyAssignment 1164221 1164229 + Identifier 1164221 1164229 + FunctionDeclaration 1164240 1164395 + Identifier 1164256 1164273 + Parameter 1164274 1164307 + Identifier 1164274 1164281 + TypeOperator 1164282 1164307 + ArrayType 1164291 1164307 + TypeReference 1164291 1164305 + Identifier 1164291 1164305 + TypeReference 1164309 1164320 + Identifier 1164309 1164320 + Block 1164320 1164395 + ReturnStatement 1164322 1164388 + CallExpression 1164338 1164387 + Identifier 1164338 1164355 + Identifier 1164356 1164363 + Identifier 1164364 1164386 + FunctionDeclaration 1164395 1164875 + Identifier 1164595 1164621 + Parameter 1164622 1164647 + Identifier 1164622 1164629 + TypeReference 1164630 1164647 + Identifier 1164630 1164647 + Parameter 1164648 1164662 + Identifier 1164648 1164654 + NumberKeyword 1164655 1164662 + TypeReference 1164664 1164675 + Identifier 1164664 1164675 + Block 1164675 1164875 + VariableStatement 1164677 1164745 + VariableDeclarationList 1164677 1164744 + VariableDeclaration 1164692 1164744 + Identifier 1164692 1164710 + CallExpression 1164712 1164744 + PropertyAccessExpression 1164712 1164737 + PropertyAccessExpression 1164712 1164731 + Identifier 1164712 1164720 + Identifier 1164721 1164731 + Identifier 1164732 1164737 + Identifier 1164738 1164743 + ReturnStatement 1164745 1164868 + CallExpression 1164761 1164867 + Identifier 1164761 1164778 + CallExpression 1164779 1164823 + Identifier 1164779 1164782 + Identifier 1164783 1164800 + ArrowFunction 1164801 1164822 + Parameter 1164801 1164803 + Identifier 1164801 1164803 + EqualsGreaterThanToken 1164803 1164806 + PropertyAccessExpression 1164806 1164822 + Identifier 1164806 1164808 + Identifier 1164809 1164822 + CallExpression 1164824 1164866 + Identifier 1164824 1164828 + Identifier 1164829 1164846 + ArrowFunction 1164847 1164865 + EqualsGreaterThanToken 1164850 1164853 + Identifier 1164853 1164865 + FunctionDeclaration 1164875 1165087 + Identifier 1164891 1164910 + Parameter 1164911 1164942 + Identifier 1164911 1164918 + UnionType 1164919 1164942 + TypeReference 1164919 1164930 + Identifier 1164919 1164930 + UndefinedKeyword 1164932 1164942 + Parameter 1164943 1164963 + Identifier 1164943 1164951 + TypeReference 1164952 1164963 + Identifier 1164952 1164963 + TypeReference 1164965 1164976 + Identifier 1164965 1164976 + Block 1164976 1165087 + ReturnStatement 1164978 1165080 + ConditionalExpression 1164994 1165079 + Identifier 1164994 1165002 + QuestionToken 1165002 1165004 + CallExpression 1165004 1165069 + Identifier 1165004 1165028 + PropertyAccessExpression 1165029 1165050 + Identifier 1165029 1165040 + Identifier 1165041 1165050 + Identifier 1165051 1165059 + Identifier 1165060 1165068 + ColonToken 1165069 1165071 + Identifier 1165071 1165079 + FunctionDeclaration 1165087 1165294 + Identifier 1165103 1165120 + Parameter 1165121 1165152 + Identifier 1165121 1165128 + UnionType 1165129 1165152 + TypeReference 1165129 1165140 + Identifier 1165129 1165140 + UndefinedKeyword 1165142 1165152 + Parameter 1165153 1165173 + Identifier 1165153 1165161 + TypeReference 1165162 1165173 + Identifier 1165162 1165173 + TypeReference 1165175 1165186 + Identifier 1165175 1165186 + Block 1165186 1165294 + ReturnStatement 1165188 1165287 + ConditionalExpression 1165204 1165286 + Identifier 1165204 1165212 + QuestionToken 1165212 1165214 + CallExpression 1165214 1165276 + Identifier 1165214 1165238 + PropertyAccessExpression 1165239 1165257 + Identifier 1165239 1165250 + Identifier 1165251 1165257 + Identifier 1165258 1165266 + Identifier 1165267 1165275 + ColonToken 1165276 1165278 + Identifier 1165278 1165286 + FunctionDeclaration 1165294 1165552 + Identifier 1165310 1165329 + Parameter 1165330 1165342 + Identifier 1165330 1165336 + TypeReference 1165337 1165342 + Identifier 1165337 1165342 + Parameter 1165343 1165356 + Identifier 1165343 1165350 + TypeReference 1165351 1165356 + Identifier 1165351 1165356 + Parameter 1165357 1165388 + Identifier 1165357 1165364 + UnionType 1165365 1165388 + TypeReference 1165365 1165376 + Identifier 1165365 1165376 + UndefinedKeyword 1165378 1165388 + Block 1165389 1165552 + ReturnStatement 1165391 1165545 + ConditionalExpression 1165407 1165544 + PrefixUnaryExpression 1165407 1165415 + Identifier 1165409 1165415 + QuestionToken 1165415 1165417 + CallExpression 1165417 1165453 + Identifier 1165417 1165437 + Identifier 1165438 1165444 + Identifier 1165445 1165452 + ColonToken 1165453 1165455 + CallExpression 1165455 1165544 + Identifier 1165455 1165479 + PropertyAccessExpression 1165480 1165498 + Identifier 1165480 1165491 + Identifier 1165492 1165498 + CallExpression 1165499 1165535 + Identifier 1165499 1165519 + Identifier 1165520 1165526 + Identifier 1165527 1165534 + Identifier 1165536 1165543 + FunctionDeclaration 1165552 1165809 + Identifier 1165568 1165586 + Parameter 1165587 1165617 + Identifier 1165587 1165593 + UnionType 1165594 1165617 + TypeReference 1165594 1165605 + Identifier 1165594 1165605 + UndefinedKeyword 1165607 1165617 + Parameter 1165618 1165631 + Identifier 1165618 1165625 + TypeReference 1165626 1165631 + Identifier 1165626 1165631 + Parameter 1165632 1165645 + Identifier 1165632 1165639 + TypeReference 1165640 1165645 + Identifier 1165640 1165645 + Block 1165646 1165809 + ReturnStatement 1165648 1165802 + ConditionalExpression 1165664 1165801 + PrefixUnaryExpression 1165664 1165672 + Identifier 1165666 1165672 + QuestionToken 1165672 1165674 + CallExpression 1165674 1165710 + Identifier 1165674 1165694 + Identifier 1165695 1165701 + Identifier 1165702 1165709 + ColonToken 1165710 1165712 + CallExpression 1165712 1165801 + Identifier 1165712 1165736 + PropertyAccessExpression 1165737 1165755 + Identifier 1165737 1165748 + Identifier 1165749 1165755 + Identifier 1165756 1165763 + CallExpression 1165764 1165800 + Identifier 1165764 1165784 + Identifier 1165785 1165791 + Identifier 1165792 1165799 + FunctionDeclaration 1165809 1166216 + Identifier 1165825 1165853 + Parameter 1165854 1165871 + Identifier 1165854 1165856 + TypeReference 1165857 1165871 + Identifier 1165857 1165871 + Block 1165872 1166216 + ReturnStatement 1165874 1166209 + ConditionalExpression 1165890 1166208 + BinaryExpression 1165890 1165976 + BinaryExpression 1165890 1165938 + PrefixUnaryExpression 1165890 1165905 + PropertyAccessExpression 1165892 1165905 + Identifier 1165892 1165894 + Identifier 1165895 1165905 + AmpersandAmpersandToken 1165905 1165908 + PrefixUnaryExpression 1165908 1165938 + CallExpression 1165910 1165938 + Identifier 1165910 1165934 + Identifier 1165935 1165937 + BarBarToken 1165938 1165941 + BinaryExpression 1165941 1165976 + PropertyAccessExpression 1165941 1165955 + Identifier 1165941 1165944 + Identifier 1165945 1165955 + EqualsEqualsEqualsToken 1165955 1165959 + Identifier 1165959 1165976 + QuestionToken 1165976 1165978 + Identifier 1165978 1165981 + ColonToken 1165981 1165983 + BinaryExpression 1165983 1166208 + PropertyAccessExpression 1165983 1166011 + Identifier 1165983 1165986 + Identifier 1165987 1166011 + BarBarToken 1166011 1166014 + ParenthesizedExpression 1166014 1166208 + BinaryExpression 1166016 1166197 + BinaryExpression 1166016 1166168 + BinaryExpression 1166016 1166090 + PropertyAccessExpression 1166016 1166057 + Identifier 1166016 1166032 + Identifier 1166033 1166057 + EqualsToken 1166057 1166059 + CallExpression 1166059 1166090 + Identifier 1166059 1166079 + PropertyAccessExpression 1166080 1166089 + Identifier 1166080 1166082 + Identifier 1166083 1166089 + CommaToken 1166090 1166091 + BinaryExpression 1166091 1166168 + PropertyAccessExpression 1166091 1166149 + ParenthesizedExpression 1166091 1166138 + AsExpression 1166093 1166137 + PropertyAccessExpression 1166093 1166120 + Identifier 1166093 1166095 + Identifier 1166096 1166120 + TypeReference 1166123 1166137 + Identifier 1166123 1166137 + Identifier 1166139 1166149 + EqualsToken 1166149 1166151 + Identifier 1166151 1166168 + CommaToken 1166168 1166169 + PropertyAccessExpression 1166169 1166197 + Identifier 1166169 1166172 + Identifier 1166173 1166197 + FunctionDeclaration 1166216 1166436 + Identifier 1166232 1166251 + Parameter 1166252 1166280 + Identifier 1166252 1166265 + TypeReference 1166266 1166280 + Identifier 1166266 1166280 + TypeReference 1166282 1166296 + Identifier 1166282 1166296 + Block 1166296 1166436 + VariableStatement 1166298 1166365 + VariableDeclarationList 1166298 1166364 + VariableDeclaration 1166313 1166364 + Identifier 1166313 1166320 + CallExpression 1166322 1166364 + Identifier 1166322 1166342 + PropertyAccessExpression 1166343 1166363 + Identifier 1166343 1166356 + Identifier 1166357 1166363 + ExpressionStatement 1166365 1166405 + BinaryExpression 1166365 1166404 + PropertyAccessExpression 1166365 1166388 + Identifier 1166365 1166381 + Identifier 1166382 1166388 + EqualsToken 1166388 1166390 + Identifier 1166390 1166404 + ReturnStatement 1166405 1166429 + Identifier 1166421 1166428 + FunctionDeclaration 1166436 1166692 + Identifier 1166452 1166477 + Parameter 1166478 1166502 + Identifier 1166478 1166487 + TypeReference 1166488 1166502 + Identifier 1166488 1166502 + Parameter 1166503 1166522 + Identifier 1166503 1166510 + TypeReference 1166511 1166522 + Identifier 1166511 1166522 + TypeReference 1166524 1166538 + Identifier 1166524 1166538 + Block 1166538 1166692 + ReturnStatement 1166540 1166685 + CallExpression 1166556 1166684 + Identifier 1166556 1166576 + PropertyAccessExpression 1166577 1166591 + Identifier 1166577 1166586 + Identifier 1166587 1166591 + PropertyAccessExpression 1166592 1166616 + Identifier 1166592 1166602 + Identifier 1166603 1166616 + PropertyAccessExpression 1166617 1166642 + Identifier 1166617 1166627 + Identifier 1166628 1166642 + CallExpression 1166643 1166683 + Identifier 1166643 1166659 + PropertyAccessExpression 1166660 1166674 + Identifier 1166660 1166669 + Identifier 1166670 1166674 + Identifier 1166675 1166682 + FunctionDeclaration 1166692 1168244 + Identifier 1166708 1166729 + Parameter 1166730 1166750 + Identifier 1166730 1166739 + TypeReference 1166740 1166750 + Identifier 1166740 1166750 + Parameter 1166751 1166770 + Identifier 1166751 1166758 + TypeReference 1166759 1166770 + Identifier 1166759 1166770 + Parameter 1166771 1166801 + Identifier 1166771 1166791 + QuestionToken 1166791 1166792 + BooleanKeyword 1166793 1166801 + TypeReference 1166803 1166813 + Identifier 1166803 1166813 + Block 1166813 1168244 + VariableStatement 1166815 1166878 + VariableDeclarationList 1166815 1166877 + VariableDeclaration 1166828 1166877 + Identifier 1166828 1166848 + UnionType 1166849 1166877 + ArrayType 1166849 1166865 + TypeReference 1166849 1166863 + Identifier 1166849 1166863 + UndefinedKeyword 1166867 1166877 + IfStatement 1166878 1167549 + BinaryExpression 1166892 1166940 + PropertyAccessExpression 1166892 1166916 + Identifier 1166892 1166901 + Identifier 1166902 1166916 + AmpersandAmpersandToken 1166916 1166919 + PrefixUnaryExpression 1166919 1166940 + Identifier 1166921 1166940 + Block 1166941 1167549 + ExpressionStatement 1166943 1167318 + BinaryExpression 1166943 1167317 + Identifier 1166943 1167265 + EqualsToken 1167265 1167267 + CallExpression 1167267 1167317 + Identifier 1167267 1167271 + PropertyAccessExpression 1167272 1167296 + Identifier 1167272 1167281 + Identifier 1167282 1167296 + Identifier 1167297 1167316 + ExpressionStatement 1167318 1167433 + BinaryExpression 1167318 1167432 + Identifier 1167318 1167338 + EqualsToken 1167338 1167340 + CallExpression 1167340 1167432 + Identifier 1167340 1167359 + CallExpression 1167360 1167423 + Identifier 1167360 1167376 + PropertyAccessExpression 1167377 1167401 + Identifier 1167377 1167386 + Identifier 1167387 1167401 + Identifier 1167402 1167422 + Identifier 1167424 1167431 + ForOfStatement 1167433 1167538 + VariableDeclarationList 1167452 1167460 + VariableDeclaration 1167457 1167460 + Identifier 1167457 1167460 + Identifier 1167463 1167483 + Block 1167484 1167538 + ExpressionStatement 1167486 1167523 + BinaryExpression 1167486 1167522 + PropertyAccessExpression 1167486 1167513 + Identifier 1167486 1167506 + Identifier 1167507 1167513 + EqualsToken 1167513 1167515 + Identifier 1167515 1167522 + VariableStatement 1167549 1168144 + VariableDeclarationList 1167549 1168143 + VariableDeclaration 1167779 1168143 + Identifier 1167779 1167786 + CallExpression 1167788 1168143 + Identifier 1167788 1167804 + PropertyAccessExpression 1167805 1167826 + Identifier 1167805 1167814 + Identifier 1167815 1167826 + Identifier 1167827 1167847 + BinaryExpression 1167848 1167926 + PropertyAccessExpression 1167848 1167872 + Identifier 1167848 1167858 + Identifier 1167859 1167872 + AmpersandAmpersandToken 1167872 1167875 + CallExpression 1167875 1167926 + Identifier 1167875 1167893 + PropertyAccessExpression 1167894 1167917 + Identifier 1167894 1167903 + Identifier 1167904 1167917 + Identifier 1167918 1167925 + CallExpression 1167927 1167992 + Identifier 1167927 1167943 + PropertyAccessExpression 1167944 1167964 + Identifier 1167944 1167953 + Identifier 1167954 1167964 + Identifier 1167965 1167972 + Identifier 1167973 1167991 + Identifier 1167993 1168026 + Identifier 1168027 1168063 + PropertyAccessExpression 1168064 1168091 + Identifier 1168064 1168074 + Identifier 1168075 1168091 + BinaryExpression 1168092 1168142 + PropertyAccessExpression 1168092 1168108 + Identifier 1168092 1168102 + Identifier 1168103 1168108 + AmpersandToken 1168108 1168110 + PropertyAccessExpression 1168110 1168142 + Identifier 1168110 1168125 + Identifier 1168126 1168142 + ExpressionStatement 1168144 1168180 + BinaryExpression 1168144 1168179 + PropertyAccessExpression 1168144 1168167 + Identifier 1168144 1168160 + Identifier 1168161 1168167 + EqualsToken 1168167 1168169 + Identifier 1168169 1168179 + ExpressionStatement 1168180 1168213 + BinaryExpression 1168180 1168212 + PropertyAccessExpression 1168180 1168203 + Identifier 1168180 1168196 + Identifier 1168197 1168203 + EqualsToken 1168203 1168205 + Identifier 1168205 1168212 + ReturnStatement 1168213 1168237 + Identifier 1168229 1168236 + FunctionDeclaration 1168244 1170165 + Identifier 1168260 1168278 + Parameter 1168279 1168293 + Identifier 1168279 1168285 + TypeReference 1168286 1168293 + Identifier 1168286 1168293 + Parameter 1168294 1168313 + Identifier 1168294 1168301 + TypeReference 1168302 1168313 + Identifier 1168302 1168313 + TypeReference 1168315 1168322 + Identifier 1168315 1168322 + Block 1168322 1170165 + VariableStatement 1168324 1168371 + VariableDeclarationList 1168324 1168370 + VariableDeclaration 1168339 1168370 + Identifier 1168339 1168345 + CallExpression 1168347 1168370 + Identifier 1168347 1168362 + Identifier 1168363 1168369 + IfStatement 1168371 1168912 + BinaryExpression 1168555 1168607 + PropertyAccessExpression 1168555 1168565 + Identifier 1168555 1168560 + Identifier 1168561 1168565 + AmpersandAmpersandToken 1168565 1168568 + PrefixUnaryExpression 1168568 1168607 + CallExpression 1168570 1168607 + Identifier 1168570 1168595 + PropertyAccessExpression 1168596 1168606 + Identifier 1168596 1168601 + Identifier 1168602 1168606 + Block 1168608 1168912 + IfStatement 1168610 1168719 + PrefixUnaryExpression 1168628 1168669 + ParenthesizedExpression 1168629 1168669 + BinaryExpression 1168630 1168668 + PropertyAccessExpression 1168630 1168642 + Identifier 1168630 1168636 + Identifier 1168637 1168642 + AmpersandToken 1168642 1168644 + PropertyAccessExpression 1168644 1168668 + Identifier 1168644 1168656 + Identifier 1168657 1168668 + Block 1168670 1168719 + ReturnStatement 1168672 1168704 + Identifier 1168696 1168703 + IfStatement 1168719 1168901 + BinaryExpression 1168789 1168851 + PropertyAccessExpression 1168789 1168804 + Identifier 1168789 1168794 + Identifier 1168795 1168804 + AmpersandAmpersandToken 1168804 1168807 + PrefixUnaryExpression 1168807 1168851 + CallExpression 1168809 1168851 + Identifier 1168809 1168834 + PropertyAccessExpression 1168835 1168850 + Identifier 1168835 1168840 + Identifier 1168841 1168850 + Block 1168852 1168901 + ReturnStatement 1168854 1168886 + Identifier 1168878 1168885 + IfStatement 1168912 1169363 + BinaryExpression 1168926 1168973 + CallExpression 1168926 1168947 + Identifier 1168926 1168939 + Identifier 1168940 1168946 + AmpersandToken 1168947 1168949 + PropertyAccessExpression 1168949 1168973 + Identifier 1168949 1168960 + Identifier 1168961 1168973 + Block 1168974 1169363 + ExpressionStatement 1168976 1169288 + BinaryExpression 1168976 1169287 + Identifier 1168976 1169271 + EqualsToken 1169271 1169273 + NonNullExpression 1169273 1169287 + PropertyAccessExpression 1169273 1169286 + Identifier 1169273 1169279 + Identifier 1169280 1169286 + ExpressionStatement 1169288 1169352 + BinaryExpression 1169288 1169351 + Identifier 1169288 1169308 + EqualsToken 1169308 1169310 + CallExpression 1169310 1169351 + Identifier 1169310 1169329 + PropertyAccessExpression 1169330 1169342 + Identifier 1169330 1169335 + Identifier 1169336 1169342 + Identifier 1169343 1169350 + VariableStatement 1169363 1169754 + VariableDeclarationList 1169363 1169753 + VariableDeclaration 1169548 1169753 + Identifier 1169548 1169555 + CallExpression 1169557 1169753 + Identifier 1169557 1169570 + PropertyAccessExpression 1169571 1169583 + Identifier 1169571 1169577 + Identifier 1169578 1169583 + PropertyAccessExpression 1169584 1169603 + Identifier 1169584 1169591 + Identifier 1169592 1169603 + BinaryExpression 1169604 1169752 + PropertyAccessExpression 1169604 1169628 + Identifier 1169604 1169615 + Identifier 1169616 1169628 + BarToken 1169628 1169630 + BinaryExpression 1169630 1169752 + CallExpression 1169630 1169652 + Identifier 1169630 1169644 + Identifier 1169645 1169651 + AmpersandToken 1169652 1169654 + ParenthesizedExpression 1169654 1169752 + BinaryExpression 1169656 1169751 + BinaryExpression 1169656 1169724 + BinaryExpression 1169656 1169693 + PropertyAccessExpression 1169656 1169675 + Identifier 1169656 1169666 + Identifier 1169667 1169675 + BarToken 1169675 1169677 + PropertyAccessExpression 1169677 1169693 + Identifier 1169677 1169688 + Identifier 1169689 1169693 + BarToken 1169693 1169695 + PropertyAccessExpression 1169695 1169724 + Identifier 1169695 1169706 + Identifier 1169707 1169724 + BarToken 1169724 1169726 + PropertyAccessExpression 1169726 1169751 + Identifier 1169726 1169737 + Identifier 1169738 1169751 + ExpressionStatement 1169754 1169806 + BinaryExpression 1169754 1169805 + PropertyAccessExpression 1169754 1169783 + Identifier 1169754 1169770 + Identifier 1169771 1169783 + EqualsToken 1169783 1169785 + PropertyAccessExpression 1169785 1169805 + Identifier 1169785 1169792 + Identifier 1169793 1169805 + ExpressionStatement 1169806 1169846 + BinaryExpression 1169806 1169845 + PropertyAccessExpression 1169806 1169829 + Identifier 1169806 1169822 + Identifier 1169823 1169829 + EqualsToken 1169829 1169831 + PropertyAccessExpression 1169831 1169845 + Identifier 1169831 1169838 + Identifier 1169839 1169845 + ExpressionStatement 1169846 1169885 + BinaryExpression 1169846 1169884 + PropertyAccessExpression 1169846 1169875 + PropertyAccessExpression 1169846 1169868 + Identifier 1169846 1169862 + Identifier 1169863 1169868 + Identifier 1169869 1169875 + EqualsToken 1169875 1169877 + Identifier 1169877 1169884 + ExpressionStatement 1169885 1169924 + BinaryExpression 1169885 1169923 + PropertyAccessExpression 1169885 1169914 + PropertyAccessExpression 1169885 1169907 + Identifier 1169885 1169901 + Identifier 1169902 1169907 + Identifier 1169908 1169914 + EqualsToken 1169914 1169916 + Identifier 1169916 1169923 + IfStatement 1169924 1170039 + PropertyAccessExpression 1169938 1169961 + Identifier 1169938 1169944 + Identifier 1169945 1169961 + Block 1169962 1170039 + ExpressionStatement 1169964 1170028 + BinaryExpression 1169964 1170027 + PropertyAccessExpression 1169964 1170001 + Identifier 1169964 1169984 + Identifier 1169985 1170001 + EqualsToken 1170001 1170003 + PropertyAccessExpression 1170003 1170027 + Identifier 1170003 1170010 + Identifier 1170011 1170027 + IfStatement 1170039 1170134 + PropertyAccessExpression 1170053 1170067 + Identifier 1170053 1170058 + Identifier 1170059 1170067 + Block 1170068 1170134 + ExpressionStatement 1170070 1170123 + BinaryExpression 1170070 1170122 + PropertyAccessExpression 1170070 1170105 + PropertyAccessExpression 1170070 1170096 + Identifier 1170070 1170090 + Identifier 1170091 1170096 + Identifier 1170097 1170105 + EqualsToken 1170105 1170107 + PropertyAccessExpression 1170107 1170122 + Identifier 1170107 1170113 + Identifier 1170114 1170122 + ReturnStatement 1170134 1170158 + Identifier 1170150 1170157 + FunctionDeclaration 1170165 1176580 + Identifier 1170181 1170208 + Parameter 1170209 1170252 + Identifier 1170209 1170213 + UnionType 1170214 1170252 + TypeReference 1170214 1170228 + Identifier 1170214 1170228 + TypeReference 1170230 1170252 + Identifier 1170230 1170252 + Parameter 1170253 1170272 + Identifier 1170253 1170260 + TypeReference 1170261 1170272 + Identifier 1170261 1170272 + Parameter 1170273 1170294 + Identifier 1170273 1170285 + QuestionToken 1170285 1170286 + TypeReference 1170287 1170294 + Identifier 1170287 1170294 + Parameter 1170295 1170332 + Identifier 1170295 1170314 + QuestionToken 1170314 1170315 + TypeOperator 1170316 1170332 + ArrayType 1170325 1170332 + TypeReference 1170325 1170330 + Identifier 1170325 1170330 + Block 1170333 1176580 + VariableStatement 1170335 1170601 + VariableDeclarationList 1170335 1170600 + VariableDeclaration 1170350 1170600 + Identifier 1170350 1170362 + ConditionalExpression 1170364 1170600 + BinaryExpression 1170364 1170405 + PropertyAccessExpression 1170364 1170381 + Identifier 1170364 1170369 + Identifier 1170370 1170381 + AmpersandToken 1170381 1170383 + PropertyAccessExpression 1170383 1170405 + Identifier 1170383 1170395 + Identifier 1170396 1170405 + QuestionToken 1170405 1170407 + NonNullExpression 1170407 1170437 + PropertyAccessExpression 1170407 1170436 + ParenthesizedExpression 1170407 1170431 + AsExpression 1170409 1170430 + Identifier 1170409 1170413 + TypeReference 1170416 1170430 + Identifier 1170416 1170430 + Identifier 1170432 1170436 + ColonToken 1170437 1170439 + ConditionalExpression 1170439 1170600 + BinaryExpression 1170439 1170511 + PropertyAccessExpression 1170439 1170469 + Identifier 1170439 1170457 + Identifier 1170458 1170469 + AmpersandToken 1170469 1170471 + PropertyAccessExpression 1170471 1170511 + Identifier 1170471 1170483 + Identifier 1170484 1170511 + QuestionToken 1170511 1170513 + PropertyAccessExpression 1170513 1170556 + ParenthesizedExpression 1170513 1170551 + AsExpression 1170515 1170550 + Identifier 1170515 1170519 + TypeReference 1170522 1170550 + Identifier 1170522 1170550 + Identifier 1170552 1170556 + ColonToken 1170556 1170558 + ElementAccessExpression 1170558 1170600 + NonNullExpression 1170558 1170597 + PropertyAccessExpression 1170558 1170596 + PropertyAccessExpression 1170558 1170583 + Identifier 1170558 1170576 + Identifier 1170577 1170583 + Identifier 1170584 1170596 + NumericLiteral 1170598 1170599 + VariableStatement 1170601 1170651 + VariableDeclarationList 1170601 1170650 + VariableDeclaration 1170616 1170650 + Identifier 1170616 1170622 + CallExpression 1170624 1170650 + Identifier 1170624 1170637 + Identifier 1170638 1170649 + VariableStatement 1170651 1170845 + VariableDeclarationList 1170651 1170844 + VariableDeclaration 1170666 1170844 + Identifier 1170666 1170673 + ConditionalExpression 1170675 1170844 + BinaryExpression 1170675 1170716 + PropertyAccessExpression 1170675 1170692 + Identifier 1170675 1170680 + Identifier 1170681 1170692 + AmpersandToken 1170692 1170694 + PropertyAccessExpression 1170694 1170716 + Identifier 1170694 1170706 + Identifier 1170707 1170716 + QuestionToken 1170716 1170718 + AsExpression 1170718 1170763 + NonNullExpression 1170718 1170738 + PropertyAccessExpression 1170718 1170737 + Identifier 1170718 1170724 + Identifier 1170725 1170737 + TypeReference 1170741 1170763 + Identifier 1170741 1170763 + ColonToken 1170763 1170765 + ConditionalExpression 1170765 1170844 + BinaryExpression 1170765 1170822 + PropertyAccessExpression 1170765 1170795 + Identifier 1170765 1170783 + Identifier 1170784 1170795 + AmpersandToken 1170795 1170797 + PropertyAccessExpression 1170797 1170822 + Identifier 1170797 1170809 + Identifier 1170810 1170822 + QuestionToken 1170822 1170824 + NonNullExpression 1170824 1170837 + PropertyAccessExpression 1170824 1170836 + Identifier 1170824 1170829 + Identifier 1170830 1170836 + ColonToken 1170837 1170839 + Identifier 1170839 1170844 + VariableStatement 1170845 1171007 + VariableDeclarationList 1170845 1171006 + VariableDeclaration 1170858 1171006 + Identifier 1170858 1170873 + ConditionalExpression 1170875 1171006 + BinaryExpression 1170875 1170926 + PropertyAccessExpression 1170875 1170892 + Identifier 1170875 1170880 + Identifier 1170881 1170892 + AmpersandToken 1170892 1170894 + PropertyAccessExpression 1170894 1170926 + Identifier 1170894 1170906 + Identifier 1170907 1170926 + QuestionToken 1170926 1170928 + PropertyAccessExpression 1170928 1170978 + ParenthesizedExpression 1170928 1170958 + AsExpression 1170930 1170957 + Identifier 1170930 1170934 + TypeReference 1170937 1170957 + Identifier 1170937 1170957 + Identifier 1170959 1170978 + ColonToken 1170978 1170980 + PropertyAccessExpression 1170980 1171006 + Identifier 1170980 1170986 + Identifier 1170987 1171006 + IfStatement 1171007 1172534 + PrefixUnaryExpression 1171021 1171036 + Identifier 1171022 1171036 + Block 1171037 1172534 + VariableStatement 1171039 1171555 + VariableDeclarationList 1171039 1171554 + VariableDeclaration 1171469 1171554 + Identifier 1171469 1171489 + CallExpression 1171491 1171554 + Identifier 1171491 1171514 + Identifier 1171515 1171526 + TrueKeyword 1171527 1171553 + IfStatement 1171555 1171839 + CallExpression 1171573 1171601 + Identifier 1171573 1171588 + Identifier 1171589 1171600 + Block 1171602 1171839 + VariableStatement 1171604 1171731 + VariableDeclarationList 1171604 1171730 + VariableDeclaration 1171627 1171730 + Identifier 1171627 1171649 + CallExpression 1171651 1171730 + Identifier 1171651 1171684 + AsExpression 1171685 1171729 + Identifier 1171685 1171696 + TypeReference 1171699 1171729 + Identifier 1171699 1171729 + ExpressionStatement 1171731 1171824 + BinaryExpression 1171731 1171823 + Identifier 1171731 1171768 + EqualsToken 1171768 1171770 + CallExpression 1171770 1171823 + Identifier 1171770 1171779 + Identifier 1171780 1171799 + Identifier 1171800 1171822 + ExpressionStatement 1171839 1171904 + BinaryExpression 1171839 1171903 + Identifier 1171839 1171867 + EqualsToken 1171867 1171869 + BinaryExpression 1171869 1171903 + Identifier 1171869 1171889 + BarBarToken 1171889 1171892 + Identifier 1171892 1171903 + VariableStatement 1171904 1172071 + VariableDeclarationList 1171904 1172070 + VariableDeclaration 1171923 1172070 + Identifier 1171923 1171939 + ConditionalExpression 1171941 1172070 + BinaryExpression 1171941 1172026 + PropertyAccessExpression 1171941 1171958 + Identifier 1171941 1171946 + Identifier 1171947 1171958 + AmpersandToken 1171958 1171960 + ParenthesizedExpression 1171960 1172026 + BinaryExpression 1171962 1172025 + PropertyAccessExpression 1171962 1171983 + Identifier 1171962 1171973 + Identifier 1171974 1171983 + BarToken 1171983 1171985 + PropertyAccessExpression 1171985 1172025 + Identifier 1171985 1171997 + Identifier 1171998 1172025 + QuestionToken 1172026 1172028 + ArrayLiteralExpression 1172028 1172042 + Identifier 1172030 1172041 + ColonToken 1172042 1172044 + NonNullExpression 1172044 1172070 + PropertyAccessExpression 1172044 1172069 + PropertyAccessExpression 1172044 1172056 + Identifier 1172044 1172049 + Identifier 1172050 1172056 + Identifier 1172057 1172069 + ExpressionStatement 1172071 1172466 + BinaryExpression 1172071 1172465 + Identifier 1172071 1172099 + EqualsToken 1172099 1172101 + ConditionalExpression 1172101 1172465 + BinaryExpression 1172101 1172313 + ParenthesizedExpression 1172101 1172283 + BinaryExpression 1172103 1172282 + BinaryExpression 1172103 1172233 + BinaryExpression 1172103 1172189 + PropertyAccessExpression 1172103 1172121 + Identifier 1172103 1172109 + Identifier 1172110 1172121 + AmpersandToken 1172121 1172123 + ParenthesizedExpression 1172123 1172189 + BinaryExpression 1172125 1172188 + PropertyAccessExpression 1172125 1172146 + Identifier 1172125 1172136 + Identifier 1172137 1172146 + BarToken 1172146 1172148 + PropertyAccessExpression 1172148 1172188 + Identifier 1172148 1172160 + Identifier 1172161 1172188 + BarBarToken 1172189 1172192 + BinaryExpression 1172192 1172233 + PropertyAccessExpression 1172192 1172212 + PropertyAccessExpression 1172192 1172206 + Identifier 1172192 1172199 + Identifier 1172200 1172206 + Identifier 1172207 1172212 + AmpersandToken 1172212 1172214 + PropertyAccessExpression 1172214 1172233 + Identifier 1172214 1172226 + Identifier 1172227 1172233 + BarBarToken 1172233 1172236 + BinaryExpression 1172236 1172282 + PropertyAccessExpression 1172236 1172256 + PropertyAccessExpression 1172236 1172250 + Identifier 1172236 1172243 + Identifier 1172244 1172250 + Identifier 1172251 1172256 + AmpersandToken 1172256 1172258 + PropertyAccessExpression 1172258 1172282 + Identifier 1172258 1172270 + Identifier 1172271 1172282 + AmpersandAmpersandToken 1172283 1172286 + PrefixUnaryExpression 1172286 1172313 + PropertyAccessExpression 1172288 1172313 + Identifier 1172288 1172294 + Identifier 1172295 1172313 + QuestionToken 1172313 1172315 + CallExpression 1172315 1172431 + Identifier 1172315 1172339 + Identifier 1172340 1172354 + ArrowFunction 1172355 1172430 + Parameter 1172355 1172358 + Identifier 1172355 1172358 + EqualsGreaterThanToken 1172358 1172361 + CallExpression 1172361 1172430 + Identifier 1172361 1172366 + Identifier 1172367 1172382 + ArrowFunction 1172383 1172429 + Parameter 1172383 1172385 + Identifier 1172383 1172385 + EqualsGreaterThanToken 1172385 1172388 + CallExpression 1172388 1172429 + Identifier 1172388 1172422 + Identifier 1172423 1172425 + Identifier 1172426 1172428 + ColonToken 1172431 1172433 + Identifier 1172433 1172465 + ExpressionStatement 1172466 1172523 + BinaryExpression 1172466 1172522 + PropertyAccessExpression 1172466 1172505 + Identifier 1172466 1172485 + Identifier 1172486 1172505 + EqualsToken 1172505 1172507 + Identifier 1172507 1172522 + IfStatement 1172534 1176551 + PropertyAccessExpression 1172548 1172569 + Identifier 1172548 1172562 + Identifier 1172563 1172569 + Block 1172570 1176551 + VariableStatement 1172572 1172953 + VariableDeclarationList 1172572 1172952 + VariableDeclaration 1172895 1172952 + Identifier 1172895 1172910 + CallExpression 1172912 1172952 + Identifier 1172912 1172931 + PropertyAccessExpression 1172932 1172943 + Identifier 1172932 1172936 + Identifier 1172937 1172943 + Identifier 1172944 1172951 + VariableStatement 1172953 1173048 + VariableDeclarationList 1172953 1173047 + VariableDeclaration 1172972 1173047 + Identifier 1172972 1172986 + CallExpression 1172988 1173047 + Identifier 1172988 1172992 + Identifier 1172993 1173007 + ArrowFunction 1173008 1173046 + Parameter 1173008 1173010 + Identifier 1173008 1173010 + EqualsGreaterThanToken 1173010 1173013 + CallExpression 1173013 1173046 + Identifier 1173013 1173027 + Identifier 1173028 1173029 + Identifier 1173030 1173045 + VariableStatement 1173048 1173117 + VariableDeclarationList 1173048 1173116 + VariableDeclaration 1173067 1173116 + Identifier 1173067 1173082 + BinaryExpression 1173084 1173116 + Identifier 1173084 1173096 + BarBarToken 1173096 1173099 + PropertyAccessExpression 1173099 1173116 + Identifier 1173099 1173104 + Identifier 1173105 1173116 + VariableStatement 1173117 1173246 + VariableDeclarationList 1173117 1173245 + VariableDeclaration 1173136 1173245 + Identifier 1173136 1173158 + ConditionalExpression 1173160 1173245 + Identifier 1173160 1173172 + QuestionToken 1173172 1173174 + Identifier 1173174 1173193 + ColonToken 1173193 1173195 + CallExpression 1173195 1173245 + Identifier 1173195 1173212 + PropertyAccessExpression 1173213 1173236 + Identifier 1173213 1173217 + Identifier 1173218 1173236 + Identifier 1173237 1173244 + VariableStatement 1173246 1173418 + VariableDeclarationList 1173246 1173417 + VariableDeclaration 1173265 1173417 + Identifier 1173265 1173268 + BinaryExpression 1173270 1173417 + BinaryExpression 1173270 1173365 + ParenthesizedExpression 1173270 1173334 + ConditionalExpression 1173272 1173333 + BinaryExpression 1173272 1173322 + PropertyAccessExpression 1173272 1173288 + Identifier 1173272 1173276 + Identifier 1173277 1173288 + AmpersandToken 1173288 1173290 + PropertyAccessExpression 1173290 1173322 + Identifier 1173290 1173302 + Identifier 1173303 1173322 + QuestionToken 1173322 1173324 + StringLiteral 1173324 1173328 + ColonToken 1173328 1173330 + StringLiteral 1173330 1173333 + PlusToken 1173334 1173336 + CallExpression 1173336 1173365 + Identifier 1173336 1173350 + Identifier 1173351 1173364 + PlusToken 1173365 1173367 + CallExpression 1173367 1173417 + Identifier 1173367 1173378 + Identifier 1173379 1173393 + Identifier 1173394 1173416 + IfStatement 1173418 1173685 + PrefixUnaryExpression 1173436 1173458 + PropertyAccessExpression 1173437 1173458 + Identifier 1173437 1173443 + Identifier 1173444 1173458 + Block 1173459 1173685 + ExpressionStatement 1173461 1173527 + BinaryExpression 1173461 1173526 + PropertyAccessExpression 1173461 1173500 + Identifier 1173461 1173485 + Identifier 1173486 1173500 + EqualsToken 1173500 1173502 + NewExpression 1173502 1173526 + Identifier 1173506 1173510 + StringKeyword 1173511 1173517 + TypeReference 1173518 1173523 + Identifier 1173518 1173523 + ExpressionStatement 1173527 1173670 + CallExpression 1173527 1173669 + PropertyAccessExpression 1173527 1173570 + PropertyAccessExpression 1173527 1173566 + Identifier 1173527 1173551 + Identifier 1173552 1173566 + Identifier 1173567 1173570 + BinaryExpression 1173571 1173660 + CallExpression 1173571 1173600 + Identifier 1173571 1173584 + Identifier 1173585 1173599 + PlusToken 1173600 1173602 + CallExpression 1173602 1173660 + Identifier 1173602 1173613 + PropertyAccessExpression 1173614 1173632 + Identifier 1173614 1173620 + Identifier 1173621 1173632 + PropertyAccessExpression 1173633 1173659 + Identifier 1173633 1173640 + Identifier 1173641 1173659 + Identifier 1173661 1173668 + VariableStatement 1173685 1173742 + VariableDeclarationList 1173685 1173741 + VariableDeclaration 1173702 1173741 + Identifier 1173702 1173709 + CallExpression 1173711 1173741 + PropertyAccessExpression 1173711 1173737 + PropertyAccessExpression 1173711 1173733 + Identifier 1173711 1173718 + Identifier 1173719 1173733 + Identifier 1173734 1173737 + Identifier 1173738 1173740 + IfStatement 1173742 1176512 + PrefixUnaryExpression 1173760 1173767 + Identifier 1173761 1173767 + Block 1173768 1176512 + IfStatement 1173770 1174030 + BinaryExpression 1173792 1173842 + PropertyAccessExpression 1173792 1173808 + Identifier 1173792 1173796 + Identifier 1173797 1173808 + AmpersandToken 1173808 1173810 + PropertyAccessExpression 1173810 1173842 + Identifier 1173810 1173822 + Identifier 1173823 1173842 + Block 1173843 1174030 + ExpressionStatement 1173845 1173915 + BinaryExpression 1173845 1173914 + Identifier 1173845 1173873 + EqualsToken 1173873 1173875 + CallExpression 1173875 1173914 + Identifier 1173875 1173900 + Identifier 1173901 1173905 + Identifier 1173906 1173913 + ExpressionStatement 1173915 1173975 + CallExpression 1173915 1173974 + PropertyAccessExpression 1173915 1173962 + PropertyAccessExpression 1173915 1173958 + Identifier 1173915 1173943 + Identifier 1173944 1173958 + Identifier 1173959 1173962 + Identifier 1173963 1173965 + Identifier 1173966 1173973 + ReturnStatement 1173975 1174011 + Identifier 1174003 1174010 + VariableStatement 1174030 1174114 + VariableDeclarationList 1174030 1174113 + VariableDeclaration 1174053 1174113 + Identifier 1174053 1174063 + CallExpression 1174065 1174113 + Identifier 1174065 1174082 + Identifier 1174083 1174097 + Identifier 1174098 1174112 + ExpressionStatement 1174114 1174607 + BinaryExpression 1174114 1174606 + Identifier 1174114 1174138 + EqualsToken 1174138 1174140 + ConditionalExpression 1174140 1174606 + BinaryExpression 1174140 1174183 + PropertyAccessExpression 1174140 1174159 + Identifier 1174140 1174147 + Identifier 1174148 1174159 + AmpersandToken 1174159 1174161 + PropertyAccessExpression 1174161 1174183 + Identifier 1174161 1174173 + Identifier 1174174 1174183 + QuestionToken 1174183 1174185 + CallExpression 1174185 1174341 + Identifier 1174185 1174213 + PropertyAccessExpression 1174214 1174252 + ParenthesizedExpression 1174214 1174245 + AsExpression 1174215 1174244 + Identifier 1174215 1174219 + TypeReference 1174222 1174244 + Identifier 1174222 1174244 + Identifier 1174246 1174252 + PropertyAccessExpression 1174253 1174290 + ParenthesizedExpression 1174253 1174285 + AsExpression 1174255 1174284 + Identifier 1174255 1174259 + TypeReference 1174262 1174284 + Identifier 1174262 1174284 + Identifier 1174286 1174290 + Identifier 1174291 1174301 + Identifier 1174302 1174317 + Identifier 1174318 1174340 + ColonToken 1174341 1174343 + ConditionalExpression 1174343 1174606 + BinaryExpression 1174343 1174404 + PropertyAccessExpression 1174343 1174383 + Identifier 1174343 1174371 + Identifier 1174372 1174383 + AmpersandToken 1174383 1174385 + PropertyAccessExpression 1174385 1174404 + Identifier 1174385 1174397 + Identifier 1174398 1174404 + QuestionToken 1174404 1174406 + CallExpression 1174406 1174500 + Identifier 1174406 1174428 + AsExpression 1174429 1174449 + Identifier 1174429 1174435 + TypeReference 1174438 1174449 + Identifier 1174438 1174449 + Identifier 1174450 1174460 + Identifier 1174461 1174476 + Identifier 1174477 1174499 + ColonToken 1174500 1174502 + CallExpression 1174502 1174606 + Identifier 1174502 1174548 + Identifier 1174549 1174555 + Identifier 1174556 1174566 + Identifier 1174567 1174582 + Identifier 1174583 1174605 + ExpressionStatement 1174607 1174663 + CallExpression 1174607 1174662 + PropertyAccessExpression 1174607 1174650 + PropertyAccessExpression 1174607 1174646 + Identifier 1174607 1174631 + Identifier 1174632 1174646 + Identifier 1174647 1174650 + Identifier 1174651 1174653 + Identifier 1174654 1174661 + VariableStatement 1174663 1174856 + VariableDeclarationList 1174663 1174855 + VariableDeclaration 1174812 1174855 + Identifier 1174812 1174830 + CallExpression 1174832 1174855 + Identifier 1174832 1174847 + Identifier 1174848 1174854 + IfStatement 1174856 1176497 + BinaryExpression 1174878 1174990 + BinaryExpression 1174878 1174918 + PropertyAccessExpression 1174878 1174890 + Identifier 1174878 1174884 + Identifier 1174885 1174890 + AmpersandToken 1174890 1174892 + PropertyAccessExpression 1174892 1174918 + Identifier 1174892 1174902 + Identifier 1174903 1174918 + AmpersandAmpersandToken 1174918 1174921 + PrefixUnaryExpression 1174921 1174990 + ParenthesizedExpression 1174923 1174990 + BinaryExpression 1174924 1174989 + Identifier 1174924 1174941 + AmpersandToken 1174941 1174943 + PropertyAccessExpression 1174943 1174989 + Identifier 1174943 1174955 + Identifier 1174956 1174989 + Block 1174991 1176497 + VariableStatement 1174993 1175102 + VariableDeclarationList 1174993 1175101 + VariableDeclaration 1175020 1175101 + Identifier 1175020 1175052 + CallExpression 1175054 1175101 + Identifier 1175054 1175059 + Identifier 1175060 1175073 + Identifier 1175074 1175100 + IfStatement 1175102 1176478 + PrefixUnaryExpression 1175194 1175267 + ParenthesizedExpression 1175195 1175267 + BinaryExpression 1175196 1175266 + CallExpression 1175196 1175218 + Identifier 1175196 1175210 + Identifier 1175211 1175217 + AmpersandToken 1175218 1175220 + PropertyAccessExpression 1175220 1175266 + Identifier 1175220 1175232 + Identifier 1175233 1175266 + Block 1175268 1176478 + IfStatement 1175270 1176455 + BinaryExpression 1175530 1175618 + Identifier 1175530 1175547 + AmpersandToken 1175547 1175549 + ParenthesizedExpression 1175549 1175618 + BinaryExpression 1175551 1175617 + BinaryExpression 1175551 1175593 + PropertyAccessExpression 1175551 1175569 + Identifier 1175551 1175562 + Identifier 1175563 1175569 + BarToken 1175569 1175571 + PropertyAccessExpression 1175571 1175593 + Identifier 1175571 1175583 + Identifier 1175584 1175593 + BarToken 1175593 1175595 + PropertyAccessExpression 1175595 1175617 + Identifier 1175595 1175607 + Identifier 1175608 1175617 + Block 1175619 1175847 + ExpressionStatement 1175621 1175820 + BinaryExpression 1175621 1175819 + PropertyAccessExpression 1175621 1175690 + ParenthesizedExpression 1175621 1175678 + AsExpression 1175652 1175677 + Identifier 1175652 1175658 + TypeReference 1175661 1175677 + Identifier 1175661 1175677 + Identifier 1175679 1175690 + BarEqualsToken 1175690 1175693 + BinaryExpression 1175693 1175819 + PropertyAccessExpression 1175693 1175739 + Identifier 1175693 1175705 + Identifier 1175706 1175739 + BarToken 1175739 1175741 + ParenthesizedExpression 1175741 1175819 + ConditionalExpression 1175743 1175818 + Identifier 1175743 1175774 + QuestionToken 1175774 1175776 + PropertyAccessExpression 1175776 1175814 + Identifier 1175776 1175788 + Identifier 1175789 1175814 + ColonToken 1175814 1175816 + NumericLiteral 1175816 1175818 + Block 1176268 1176455 + ExpressionStatement 1176270 1176428 + BinaryExpression 1176270 1176427 + PropertyAccessExpression 1176270 1176339 + ParenthesizedExpression 1176270 1176327 + AsExpression 1176301 1176326 + Identifier 1176301 1176307 + TypeReference 1176310 1176326 + Identifier 1176310 1176326 + Identifier 1176328 1176339 + BarEqualsToken 1176339 1176342 + ConditionalExpression 1176342 1176427 + PrefixUnaryExpression 1176342 1176375 + Identifier 1176344 1176375 + QuestionToken 1176375 1176377 + PropertyAccessExpression 1176377 1176423 + Identifier 1176377 1176389 + Identifier 1176390 1176423 + ColonToken 1176423 1176425 + NumericLiteral 1176425 1176427 + ReturnStatement 1176512 1176540 + Identifier 1176532 1176539 + ReturnStatement 1176551 1176573 + Identifier 1176567 1176572 + FunctionDeclaration 1176580 1176981 + Identifier 1176596 1176624 + Parameter 1176625 1176635 + Identifier 1176625 1176629 + TypeReference 1176630 1176635 + Identifier 1176630 1176635 + Block 1176636 1176981 + ReturnStatement 1176638 1176974 + PrefixUnaryExpression 1176654 1176973 + ParenthesizedExpression 1176656 1176973 + BinaryExpression 1176657 1176972 + BinaryExpression 1176657 1176810 + BinaryExpression 1176657 1176754 + BinaryExpression 1176657 1176702 + PropertyAccessExpression 1176657 1176673 + PropertyAccessExpression 1176657 1176668 + Identifier 1176657 1176661 + Identifier 1176662 1176668 + Identifier 1176669 1176673 + EqualsEqualsEqualsToken 1176673 1176677 + PropertyAccessExpression 1176677 1176702 + Identifier 1176677 1176688 + Identifier 1176689 1176702 + AmpersandAmpersandToken 1176702 1176705 + PropertyAccessExpression 1176705 1176754 + ParenthesizedExpression 1176705 1176740 + AsExpression 1176707 1176739 + PropertyAccessExpression 1176707 1176718 + Identifier 1176707 1176711 + Identifier 1176712 1176718 + TypeReference 1176721 1176739 + Identifier 1176721 1176739 + Identifier 1176741 1176754 + AmpersandAmpersandToken 1176754 1176757 + BinaryExpression 1176757 1176810 + Identifier 1176757 1176762 + EqualsEqualsEqualsToken 1176762 1176766 + PropertyAccessExpression 1176766 1176810 + ParenthesizedExpression 1176766 1176801 + AsExpression 1176768 1176800 + PropertyAccessExpression 1176768 1176779 + Identifier 1176768 1176772 + Identifier 1176773 1176779 + TypeReference 1176782 1176800 + Identifier 1176782 1176800 + Identifier 1176802 1176810 + BarBarToken 1176810 1176813 + BinaryExpression 1176813 1176972 + BinaryExpression 1176813 1176918 + BinaryExpression 1176813 1176869 + PropertyAccessExpression 1176813 1176843 + PropertyAccessExpression 1176813 1176838 + Identifier 1176813 1176831 + Identifier 1176832 1176838 + Identifier 1176839 1176843 + EqualsEqualsEqualsToken 1176843 1176847 + PropertyAccessExpression 1176847 1176869 + Identifier 1176847 1176858 + Identifier 1176859 1176869 + AmpersandAmpersandToken 1176869 1176872 + PropertyAccessExpression 1176872 1176918 + ParenthesizedExpression 1176872 1176904 + AsExpression 1176874 1176903 + PropertyAccessExpression 1176874 1176885 + Identifier 1176874 1176878 + Identifier 1176879 1176885 + TypeReference 1176888 1176903 + Identifier 1176888 1176903 + Identifier 1176905 1176918 + AmpersandAmpersandToken 1176918 1176921 + BinaryExpression 1176921 1176972 + Identifier 1176921 1176926 + EqualsEqualsEqualsToken 1176926 1176930 + PropertyAccessExpression 1176930 1176972 + ParenthesizedExpression 1176930 1176962 + AsExpression 1176932 1176961 + PropertyAccessExpression 1176932 1176943 + Identifier 1176932 1176936 + Identifier 1176937 1176943 + TypeReference 1176946 1176961 + Identifier 1176946 1176961 + Identifier 1176963 1176972 + FunctionDeclaration 1176981 1180510 + Identifier 1176997 1177031 + Parameter 1177032 1177049 + Identifier 1177032 1177034 + TypeReference 1177035 1177049 + Identifier 1177035 1177049 + Parameter 1177050 1177061 + Identifier 1177050 1177055 + TypeReference 1177056 1177061 + Identifier 1177056 1177061 + Block 1177062 1180510 + IfStatement 1177064 1178008 + BinaryExpression 1177503 1177577 + BinaryExpression 1177503 1177538 + PropertyAccessExpression 1177503 1177512 + Identifier 1177503 1177505 + Identifier 1177506 1177512 + AmpersandAmpersandToken 1177512 1177515 + PropertyAccessExpression 1177515 1177538 + PropertyAccessExpression 1177515 1177525 + Identifier 1177515 1177518 + Identifier 1177519 1177525 + Identifier 1177526 1177538 + AmpersandAmpersandToken 1177538 1177541 + BinaryExpression 1177541 1177577 + PropertyAccessExpression 1177541 1177571 + PropertyAccessExpression 1177541 1177564 + PropertyAccessExpression 1177541 1177551 + Identifier 1177541 1177544 + Identifier 1177545 1177551 + Identifier 1177552 1177564 + Identifier 1177565 1177571 + EqualsEqualsEqualsToken 1177571 1177575 + NumericLiteral 1177575 1177577 + Block 1177578 1178008 + VariableStatement 1177580 1177645 + VariableDeclarationList 1177580 1177644 + VariableDeclaration 1177599 1177644 + Identifier 1177599 1177609 + PropertyAccessExpression 1177611 1177644 + ElementAccessExpression 1177611 1177637 + PropertyAccessExpression 1177611 1177634 + PropertyAccessExpression 1177611 1177621 + Identifier 1177611 1177614 + Identifier 1177615 1177621 + Identifier 1177622 1177634 + NumericLiteral 1177635 1177636 + Identifier 1177638 1177644 + ForStatement 1177645 1177952 + VariableDeclarationList 1177664 1177676 + VariableDeclaration 1177667 1177676 + Identifier 1177667 1177669 + Identifier 1177671 1177676 + BinaryExpression 1177677 1177693 + Identifier 1177677 1177679 + ExclamationEqualsEqualsToken 1177679 1177683 + Identifier 1177683 1177693 + BinaryExpression 1177694 1177707 + Identifier 1177694 1177696 + EqualsToken 1177696 1177698 + PropertyAccessExpression 1177698 1177707 + Identifier 1177698 1177700 + Identifier 1177701 1177707 + Block 1177708 1177952 + IfStatement 1177710 1177937 + BinaryExpression 1177732 1177881 + BinaryExpression 1177732 1177765 + PrefixUnaryExpression 1177732 1177734 + Identifier 1177733 1177734 + BarBarToken 1177734 1177737 + BinaryExpression 1177737 1177765 + PropertyAccessExpression 1177737 1177744 + Identifier 1177737 1177739 + Identifier 1177740 1177744 + EqualsEqualsEqualsToken 1177744 1177748 + PropertyAccessExpression 1177748 1177765 + Identifier 1177748 1177759 + Identifier 1177760 1177765 + BarBarToken 1177765 1177768 + BinaryExpression 1177768 1177881 + BinaryExpression 1177768 1177806 + PropertyAccessExpression 1177768 1177775 + Identifier 1177768 1177770 + Identifier 1177771 1177775 + EqualsEqualsEqualsToken 1177775 1177779 + PropertyAccessExpression 1177779 1177806 + Identifier 1177779 1177790 + Identifier 1177791 1177806 + AmpersandAmpersandToken 1177806 1177809 + CallExpression 1177809 1177881 + Identifier 1177809 1177822 + PropertyAccessExpression 1177823 1177861 + ParenthesizedExpression 1177823 1177849 + AsExpression 1177824 1177848 + Identifier 1177824 1177825 + TypeReference 1177828 1177848 + Identifier 1177828 1177848 + Identifier 1177850 1177861 + Identifier 1177862 1177880 + Block 1177882 1177937 + ReturnStatement 1177884 1177918 + TrueKeyword 1177912 1177917 + ReturnStatement 1177952 1177997 + CallExpression 1177972 1177996 + Identifier 1177972 1177990 + Identifier 1177991 1177995 + ReturnStatement 1178008 1178030 + TrueKeyword 1178024 1178029 + FunctionDeclaration 1178030 1180503 + Identifier 1178048 1178066 + Parameter 1178067 1178077 + Identifier 1178067 1178071 + TypeReference 1178072 1178077 + Identifier 1178072 1178077 + BooleanKeyword 1178079 1178087 + Block 1178087 1180503 + SwitchStatement 1178089 1180431 + PropertyAccessExpression 1178111 1178120 + Identifier 1178111 1178115 + Identifier 1178116 1178120 + CaseBlock 1178121 1180431 + CaseClause 1178123 1178211 + PropertyAccessExpression 1178145 1178165 + Identifier 1178145 1178156 + Identifier 1178157 1178165 + ReturnStatement 1178166 1178211 + PrefixUnaryExpression 1178194 1178210 + PrefixUnaryExpression 1178196 1178210 + PropertyAccessExpression 1178197 1178210 + Identifier 1178197 1178199 + Identifier 1178200 1178210 + CaseClause 1178211 1178442 + PropertyAccessExpression 1178233 1178255 + Identifier 1178233 1178244 + Identifier 1178245 1178255 + ReturnStatement 1178256 1178442 + BinaryExpression 1178284 1178441 + BinaryExpression 1178284 1178362 + BinaryExpression 1178284 1178325 + PrefixUnaryExpression 1178284 1178299 + PropertyAccessExpression 1178286 1178299 + Identifier 1178286 1178288 + Identifier 1178289 1178299 + AmpersandAmpersandToken 1178299 1178302 + CallExpression 1178302 1178325 + Identifier 1178302 1178319 + Identifier 1178320 1178324 + AmpersandAmpersandToken 1178325 1178328 + CallExpression 1178328 1178362 + Identifier 1178328 1178356 + Identifier 1178357 1178361 + AmpersandAmpersandToken 1178362 1178365 + BinaryExpression 1178365 1178441 + CallExpression 1178365 1178434 + Identifier 1178365 1178416 + AsExpression 1178417 1178433 + Identifier 1178417 1178421 + TypeReference 1178424 1178433 + Identifier 1178424 1178433 + EqualsEqualsEqualsToken 1178434 1178438 + Identifier 1178438 1178441 + CaseClause 1178442 1179870 + PropertyAccessExpression 1178517 1178538 + Identifier 1178517 1178528 + Identifier 1178529 1178538 + VariableStatement 1178539 1178613 + VariableDeclarationList 1178539 1178612 + VariableDeclaration 1178566 1178612 + Identifier 1178566 1178577 + PropertyAccessExpression 1178579 1178612 + ParenthesizedExpression 1178579 1178603 + AsExpression 1178581 1178602 + Identifier 1178581 1178585 + TypeReference 1178588 1178602 + Identifier 1178588 1178602 + Identifier 1178604 1178612 + VariableStatement 1178613 1178690 + VariableDeclarationList 1178613 1178689 + VariableDeclaration 1178640 1178689 + Identifier 1178640 1178656 + CallExpression 1178658 1178689 + Identifier 1178658 1178677 + Identifier 1178678 1178688 + IfStatement 1178690 1179836 + PrefixUnaryExpression 1178716 1178750 + CallExpression 1178717 1178750 + Identifier 1178717 1178733 + Identifier 1178734 1178749 + Block 1178751 1179836 + VariableStatement 1178753 1178888 + VariableDeclarationList 1178753 1178887 + VariableDeclaration 1178828 1178887 + Identifier 1178828 1178850 + CallExpression 1178852 1178887 + Identifier 1178852 1178870 + Identifier 1178871 1178886 + VariableStatement 1178888 1178963 + VariableDeclarationList 1178888 1178962 + VariableDeclaration 1178919 1178962 + Identifier 1178919 1178933 + ElementAccessExpression 1178935 1178962 + NonNullExpression 1178935 1178959 + PropertyAccessExpression 1178935 1178958 + PropertyAccessExpression 1178935 1178945 + Identifier 1178935 1178938 + Identifier 1178939 1178945 + Identifier 1178946 1178958 + NumericLiteral 1178960 1178961 + VariableStatement 1178963 1179400 + VariableDeclarationList 1178963 1179399 + VariableDeclaration 1179075 1179399 + Identifier 1179075 1179083 + ConditionalExpression 1179085 1179399 + BinaryExpression 1179085 1179133 + PropertyAccessExpression 1179085 1179104 + Identifier 1179085 1179099 + Identifier 1179100 1179104 + EqualsEqualsEqualsToken 1179104 1179108 + PropertyAccessExpression 1179108 1179133 + Identifier 1179108 1179119 + Identifier 1179120 1179133 + QuestionToken 1179133 1179135 + PropertyAccessExpression 1179135 1179156 + Identifier 1179135 1179149 + Identifier 1179150 1179156 + ColonToken 1179156 1179158 + ConditionalExpression 1179158 1179399 + PropertyAccessExpression 1179158 1179260 + Identifier 1179158 1179249 + Identifier 1179250 1179260 + QuestionToken 1179260 1179262 + Identifier 1179262 1179276 + ColonToken 1179276 1179278 + Identifier 1179278 1179399 + IfStatement 1179400 1179813 + BinaryExpression 1179514 1179559 + PropertyAccessExpression 1179514 1179548 + Identifier 1179514 1179535 + Identifier 1179536 1179548 + AmpersandAmpersandToken 1179548 1179551 + Identifier 1179551 1179559 + Block 1179560 1179813 + ReturnStatement 1179562 1179786 + BinaryExpression 1179598 1179785 + CallExpression 1179598 1179686 + Identifier 1179598 1179603 + PropertyAccessExpression 1179604 1179638 + Identifier 1179604 1179625 + Identifier 1179626 1179638 + ArrowFunction 1179639 1179685 + Parameter 1179639 1179646 + Identifier 1179639 1179646 + EqualsGreaterThanToken 1179646 1179649 + CallExpression 1179649 1179685 + Identifier 1179649 1179668 + Identifier 1179669 1179675 + Identifier 1179676 1179684 + BarBarToken 1179686 1179689 + CallExpression 1179689 1179785 + Identifier 1179689 1179727 + PropertyAccessExpression 1179728 1179765 + ParenthesizedExpression 1179728 1179751 + AsExpression 1179729 1179750 + Identifier 1179729 1179733 + TypeReference 1179736 1179750 + Identifier 1179736 1179750 + Identifier 1179752 1179765 + Identifier 1179766 1179784 + ReturnStatement 1179836 1179870 + TrueKeyword 1179864 1179869 + CaseClause 1179870 1179922 + PropertyAccessExpression 1179892 1179921 + Identifier 1179892 1179903 + Identifier 1179904 1179921 + CaseClause 1179922 1180416 + PropertyAccessExpression 1179944 1179971 + Identifier 1179944 1179955 + Identifier 1179956 1179971 + ReturnStatement 1179972 1180416 + BinaryExpression 1180000 1180415 + BinaryExpression 1180000 1180284 + BinaryExpression 1180000 1180186 + BinaryExpression 1180000 1180084 + PrefixUnaryExpression 1180000 1180040 + PropertyAccessExpression 1180002 1180040 + ParenthesizedExpression 1180002 1180035 + AsExpression 1180003 1180034 + Identifier 1180003 1180007 + TypeReference 1180010 1180034 + Identifier 1180010 1180034 + Identifier 1180036 1180040 + AmpersandAmpersandToken 1180040 1180043 + PrefixUnaryExpression 1180043 1180084 + PrefixUnaryExpression 1180045 1180084 + PropertyAccessExpression 1180046 1180084 + ParenthesizedExpression 1180046 1180079 + AsExpression 1180047 1180078 + Identifier 1180047 1180051 + TypeReference 1180054 1180078 + Identifier 1180054 1180078 + Identifier 1180080 1180084 + BarBarToken 1180084 1180087 + CallExpression 1180087 1180186 + Identifier 1180087 1180117 + PropertyAccessExpression 1180118 1180166 + ParenthesizedExpression 1180118 1180151 + AsExpression 1180119 1180150 + Identifier 1180119 1180123 + TypeReference 1180126 1180150 + Identifier 1180126 1180150 + Identifier 1180152 1180166 + Identifier 1180167 1180185 + BarBarToken 1180186 1180189 + CallExpression 1180189 1180284 + Identifier 1180189 1180219 + PropertyAccessExpression 1180220 1180264 + ParenthesizedExpression 1180220 1180253 + AsExpression 1180221 1180252 + Identifier 1180221 1180225 + TypeReference 1180228 1180252 + Identifier 1180228 1180252 + Identifier 1180254 1180264 + Identifier 1180265 1180283 + BarBarToken 1180284 1180287 + BinaryExpression 1180287 1180415 + PrefixUnaryExpression 1180287 1180353 + PrefixUnaryExpression 1180314 1180353 + PropertyAccessExpression 1180315 1180353 + ParenthesizedExpression 1180315 1180348 + AsExpression 1180316 1180347 + Identifier 1180316 1180320 + TypeReference 1180323 1180347 + Identifier 1180323 1180347 + Identifier 1180349 1180353 + AmpersandAmpersandToken 1180353 1180356 + CallExpression 1180356 1180415 + Identifier 1180356 1180374 + NonNullExpression 1180375 1180414 + PropertyAccessExpression 1180375 1180413 + ParenthesizedExpression 1180375 1180408 + AsExpression 1180376 1180407 + Identifier 1180376 1180380 + TypeReference 1180383 1180407 + Identifier 1180383 1180407 + Identifier 1180409 1180413 + ReturnStatement 1180431 1180492 + PrefixUnaryExpression 1180451 1180491 + PrefixUnaryExpression 1180453 1180491 + CallExpression 1180454 1180491 + Identifier 1180454 1180466 + Identifier 1180467 1180471 + Identifier 1180472 1180490 + FunctionDeclaration 1180510 1180972 + Identifier 1180526 1180553 + Parameter 1180554 1180570 + Identifier 1180554 1180558 + TypeReference 1180559 1180570 + Identifier 1180559 1180570 + Block 1180571 1180972 + VariableStatement 1180573 1180644 + VariableDeclarationList 1180573 1180643 + VariableDeclaration 1180588 1180643 + Identifier 1180588 1180603 + CallExpression 1180605 1180643 + Identifier 1180605 1180637 + Identifier 1180638 1180642 + IfStatement 1180644 1180938 + BinaryExpression 1180658 1180696 + PropertyAccessExpression 1180658 1180678 + Identifier 1180658 1180672 + Identifier 1180673 1180678 + AmpersandToken 1180678 1180680 + PropertyAccessExpression 1180680 1180696 + Identifier 1180680 1180690 + Identifier 1180691 1180696 + Block 1180697 1180938 + VariableStatement 1180699 1180792 + VariableDeclarationList 1180699 1180791 + VariableDeclaration 1180718 1180791 + Identifier 1180718 1180731 + CallExpression 1180733 1180791 + Identifier 1180733 1180755 + PropertyAccessExpression 1180756 1180790 + ParenthesizedExpression 1180756 1180785 + AsExpression 1180757 1180784 + Identifier 1180757 1180771 + TypeReference 1180774 1180784 + Identifier 1180774 1180784 + Identifier 1180786 1180790 + IfStatement 1180792 1180927 + BinaryExpression 1180810 1180854 + PropertyAccessExpression 1180810 1180828 + Identifier 1180810 1180822 + Identifier 1180823 1180828 + AmpersandToken 1180828 1180830 + PropertyAccessExpression 1180830 1180854 + Identifier 1180830 1180840 + Identifier 1180841 1180854 + Block 1180855 1180927 + ReturnStatement 1180857 1180912 + AsExpression 1180881 1180911 + Identifier 1180881 1180894 + TypeReference 1180897 1180911 + Identifier 1180897 1180911 + ReturnStatement 1180938 1180965 + Identifier 1180954 1180964 + FunctionDeclaration 1180972 1184150 + Identifier 1180988 1181010 + Parameter 1181011 1181027 + Identifier 1181011 1181015 + TypeReference 1181016 1181027 + Identifier 1181016 1181027 + Parameter 1181028 1181047 + Identifier 1181028 1181035 + TypeReference 1181036 1181047 + Identifier 1181036 1181047 + Parameter 1181048 1181069 + Identifier 1181048 1181060 + QuestionToken 1181060 1181061 + TypeReference 1181062 1181069 + Identifier 1181062 1181069 + Parameter 1181070 1181107 + Identifier 1181070 1181089 + QuestionToken 1181089 1181090 + TypeOperator 1181091 1181107 + ArrayType 1181100 1181107 + TypeReference 1181100 1181105 + Identifier 1181100 1181105 + TypeReference 1181109 1181114 + Identifier 1181109 1181114 + Block 1181114 1184150 + VariableStatement 1181116 1182187 + VariableDeclarationList 1181116 1182186 + VariableDeclaration 1182138 1182186 + Identifier 1182138 1182151 + CallExpression 1182153 1182186 + Identifier 1182153 1182180 + Identifier 1182181 1182185 + IfStatement 1182187 1182512 + Identifier 1182201 1182213 + Block 1182214 1182512 + VariableStatement 1182216 1182295 + VariableDeclarationList 1182216 1182294 + VariableDeclaration 1182235 1182294 + Identifier 1182235 1182254 + CallExpression 1182256 1182294 + Identifier 1182256 1182272 + Identifier 1182273 1182285 + Identifier 1182286 1182293 + IfStatement 1182295 1182501 + BinaryExpression 1182313 1182348 + Identifier 1182313 1182325 + ExclamationEqualsEqualsToken 1182325 1182329 + Identifier 1182329 1182348 + Block 1182349 1182501 + ReturnStatement 1182351 1182486 + CallExpression 1182375 1182485 + Identifier 1182375 1182392 + CallExpression 1182393 1182427 + Identifier 1182393 1182407 + Identifier 1182408 1182426 + Identifier 1182428 1182451 + Identifier 1182452 1182464 + Identifier 1182465 1182484 + ReturnStatement 1182512 1182802 + ConditionalExpression 1182632 1182801 + BinaryExpression 1182632 1182712 + CallExpression 1182632 1182695 + Identifier 1182632 1182648 + CallExpression 1182649 1182686 + Identifier 1182649 1182680 + Identifier 1182681 1182685 + Identifier 1182687 1182694 + EqualsEqualsEqualsToken 1182695 1182699 + Identifier 1182699 1182712 + QuestionToken 1182712 1182714 + Identifier 1182714 1182727 + ColonToken 1182727 1182729 + CallExpression 1182729 1182801 + Identifier 1182729 1182754 + Identifier 1182755 1182759 + Identifier 1182760 1182767 + Identifier 1182768 1182780 + Identifier 1182781 1182800 + FunctionDeclaration 1182802 1184143 + Identifier 1182822 1182845 + Parameter 1182846 1182853 + Identifier 1182846 1182847 + TypeReference 1182848 1182853 + Identifier 1182848 1182853 + TypeReference 1182855 1182860 + Identifier 1182855 1182860 + Block 1182860 1184143 + IfStatement 1182862 1184109 + BinaryExpression 1182880 1183036 + BinaryExpression 1182880 1183017 + BinaryExpression 1182880 1182995 + PropertyAccessExpression 1182880 1182887 + Identifier 1182880 1182881 + Identifier 1182882 1182887 + AmpersandToken 1182887 1182889 + ParenthesizedExpression 1182889 1182995 + BinaryExpression 1182891 1182994 + BinaryExpression 1182891 1182969 + BinaryExpression 1182891 1182950 + PropertyAccessExpression 1182891 1182913 + Identifier 1182891 1182900 + Identifier 1182901 1182913 + BarToken 1182913 1182915 + PropertyAccessExpression 1182915 1182950 + Identifier 1182915 1182925 + Identifier 1182926 1182950 + BarToken 1182950 1182952 + PropertyAccessExpression 1182952 1182969 + Identifier 1182952 1182962 + Identifier 1182963 1182969 + BarToken 1182969 1182971 + PropertyAccessExpression 1182971 1182994 + Identifier 1182971 1182981 + Identifier 1182982 1182994 + AmpersandAmpersandToken 1182995 1182998 + BinaryExpression 1182998 1183017 + Identifier 1182998 1183000 + ExclamationEqualsEqualsToken 1183000 1183004 + Identifier 1183004 1183017 + AmpersandAmpersandToken 1183017 1183020 + PrefixUnaryExpression 1183020 1183036 + CallExpression 1183022 1183036 + Identifier 1183022 1183033 + Identifier 1183034 1183035 + Block 1183037 1184109 + IfStatement 1183039 1183992 + PrefixUnaryExpression 1183061 1183087 + PropertyAccessExpression 1183062 1183087 + PropertyAccessExpression 1183062 1183078 + Identifier 1183062 1183066 + Identifier 1183067 1183078 + Identifier 1183079 1183087 + Block 1183088 1183992 + VariableStatement 1183090 1183127 + VariableDeclarationList 1183090 1183126 + VariableDeclaration 1183115 1183126 + Identifier 1183115 1183126 + IfStatement 1183127 1183619 + BinaryExpression 1183153 1183456 + CallExpression 1183153 1183193 + Identifier 1183153 1183190 + Identifier 1183191 1183192 + BarBarToken 1183193 1183196 + BinaryExpression 1183196 1183456 + BinaryExpression 1183196 1183411 + BinaryExpression 1183196 1183320 + BinaryExpression 1183196 1183220 + PropertyAccessExpression 1183196 1183204 + Identifier 1183196 1183198 + Identifier 1183199 1183204 + AmpersandToken 1183204 1183206 + PropertyAccessExpression 1183206 1183220 + Identifier 1183206 1183216 + Identifier 1183217 1183220 + AmpersandAmpersandToken 1183220 1183223 + BinaryExpression 1183223 1183320 + CallExpression 1183223 1183316 + Identifier 1183223 1183253 + NonNullExpression 1183254 1183267 + Identifier 1183254 1183266 + PropertyAccessExpression 1183268 1183315 + Identifier 1183268 1183291 + Identifier 1183292 1183315 + LessThanToken 1183316 1183318 + NumericLiteral 1183318 1183320 + AmpersandAmpersandToken 1183320 1183323 + ParenthesizedExpression 1183323 1183411 + BinaryExpression 1183354 1183410 + Identifier 1183354 1183364 + EqualsToken 1183364 1183366 + CallExpression 1183366 1183410 + Identifier 1183366 1183395 + NonNullExpression 1183396 1183409 + Identifier 1183396 1183408 + AmpersandAmpersandToken 1183411 1183414 + CallExpression 1183414 1183456 + Identifier 1183414 1183424 + Identifier 1183425 1183435 + Identifier 1183436 1183455 + Block 1183479 1183619 + ReturnStatement 1183481 1183596 + CallExpression 1183513 1183595 + Identifier 1183513 1183540 + Identifier 1183541 1183542 + Identifier 1183543 1183548 + CallExpression 1183549 1183594 + Identifier 1183549 1183568 + NonNullExpression 1183569 1183582 + Identifier 1183569 1183581 + Identifier 1183583 1183585 + Identifier 1183586 1183593 + IfStatement 1183619 1183777 + CallExpression 1183645 1183659 + Identifier 1183645 1183656 + Identifier 1183657 1183658 + Block 1183660 1183777 + ReturnStatement 1183662 1183754 + CallExpression 1183694 1183753 + Identifier 1183694 1183721 + Identifier 1183722 1183723 + Identifier 1183724 1183729 + NonNullExpression 1183730 1183744 + Identifier 1183730 1183743 + Identifier 1183745 1183752 + IfStatement 1183777 1183973 + CallExpression 1183803 1183834 + Identifier 1183803 1183831 + Identifier 1183832 1183833 + Block 1183835 1183973 + ReturnStatement 1183837 1183950 + CallExpression 1183869 1183949 + Identifier 1183869 1183889 + CallExpression 1183890 1183948 + Identifier 1183890 1183893 + PropertyAccessExpression 1183894 1183923 + ParenthesizedExpression 1183894 1183917 + AsExpression 1183895 1183916 + Identifier 1183895 1183896 + TypeReference 1183899 1183916 + Identifier 1183899 1183916 + Identifier 1183918 1183923 + Identifier 1183924 1183947 + ReturnStatement 1183992 1184094 + CallExpression 1184016 1184093 + Identifier 1184016 1184041 + Identifier 1184042 1184046 + CallExpression 1184047 1184092 + Identifier 1184047 1184066 + NonNullExpression 1184067 1184080 + Identifier 1184067 1184079 + Identifier 1184081 1184083 + Identifier 1184084 1184091 + ReturnStatement 1184109 1184132 + Identifier 1184129 1184131 + FunctionDeclaration 1184150 1184386 + Identifier 1184166 1184191 + Parameter 1184192 1184206 + Identifier 1184192 1184197 + BooleanKeyword 1184198 1184206 + Parameter 1184207 1184238 + Identifier 1184207 1184217 + TypeReference 1184218 1184238 + Identifier 1184218 1184238 + Block 1184239 1184386 + ReturnStatement 1184241 1184379 + ConditionalExpression 1184257 1184378 + BinaryExpression 1184257 1184305 + Identifier 1184257 1184267 + AmpersandToken 1184267 1184269 + PropertyAccessExpression 1184269 1184305 + Identifier 1184269 1184289 + Identifier 1184290 1184305 + QuestionToken 1184305 1184307 + TrueKeyword 1184307 1184312 + ColonToken 1184312 1184314 + ConditionalExpression 1184314 1184378 + BinaryExpression 1184314 1184362 + Identifier 1184314 1184324 + AmpersandToken 1184324 1184326 + PropertyAccessExpression 1184326 1184362 + Identifier 1184326 1184346 + Identifier 1184347 1184362 + QuestionToken 1184362 1184364 + FalseKeyword 1184364 1184370 + ColonToken 1184370 1184372 + Identifier 1184372 1184378 + FunctionDeclaration 1184386 1186752 + Identifier 1184402 1184429 + Parameter 1184430 1184459 + Identifier 1184430 1184439 + TypeReference 1184440 1184459 + Identifier 1184440 1184459 + Parameter 1184460 1184483 + Identifier 1184460 1184471 + TypeReference 1184472 1184483 + Identifier 1184472 1184483 + Parameter 1184484 1184511 + Identifier 1184484 1184497 + TypeReference 1184498 1184511 + Identifier 1184498 1184511 + Parameter 1184512 1184531 + Identifier 1184512 1184519 + TypeReference 1184520 1184531 + Identifier 1184520 1184531 + Block 1184532 1186752 + VariableStatement 1184534 1185301 + VariableDeclarationList 1184534 1185300 + VariableDeclaration 1185255 1185300 + Identifier 1185255 1185268 + PropertyAccessExpression 1185270 1185300 + PropertyAccessExpression 1185270 1185287 + Identifier 1185270 1185280 + Identifier 1185281 1185287 + Identifier 1185288 1185300 + VariableStatement 1185301 1185360 + VariableDeclarationList 1185301 1185359 + VariableDeclaration 1185316 1185359 + Identifier 1185316 1185328 + PropertyAccessExpression 1185330 1185359 + PropertyAccessExpression 1185330 1185347 + Identifier 1185330 1185340 + Identifier 1185341 1185347 + Identifier 1185348 1185359 + VariableStatement 1185360 1185465 + VariableDeclarationList 1185360 1185464 + VariableDeclaration 1185375 1185464 + Identifier 1185375 1185387 + ConditionalExpression 1185389 1185464 + Identifier 1185389 1185401 + QuestionToken 1185401 1185403 + CallExpression 1185403 1185455 + Identifier 1185403 1185422 + Identifier 1185423 1185435 + Identifier 1185436 1185446 + Identifier 1185447 1185454 + ColonToken 1185455 1185457 + Identifier 1185457 1185464 + VariableStatement 1185465 1186042 + VariableDeclarationList 1185465 1186041 + VariableDeclaration 1185480 1186041 + Identifier 1185480 1185496 + CallExpression 1185498 1186041 + Identifier 1185498 1185502 + CallExpression 1185503 1185529 + Identifier 1185503 1185518 + Identifier 1185519 1185528 + ArrowFunction 1185530 1186040 + Parameter 1185532 1185536 + Identifier 1185532 1185536 + Parameter 1185537 1185539 + Identifier 1185537 1185539 + EqualsGreaterThanToken 1185540 1185543 + Block 1185543 1186040 + VariableStatement 1185545 1185589 + VariableDeclarationList 1185545 1185588 + VariableDeclaration 1185564 1185588 + Identifier 1185564 1185570 + ElementAccessExpression 1185572 1185588 + Identifier 1185572 1185585 + Identifier 1185586 1185587 + ReturnStatement 1185589 1186029 + ConditionalExpression 1185609 1186028 + BinaryExpression 1185609 1185625 + Identifier 1185609 1185611 + LessThanToken 1185611 1185613 + Identifier 1185613 1185625 + QuestionToken 1185625 1185627 + CallExpression 1185627 1185747 + Identifier 1185627 1185657 + Identifier 1185658 1185668 + CallExpression 1185669 1185698 + Identifier 1185669 1185690 + BinaryExpression 1185691 1185697 + StringLiteral 1185691 1185693 + PlusToken 1185693 1185695 + Identifier 1185695 1185697 + PrefixUnaryExpression 1185699 1185733 + PrefixUnaryExpression 1185701 1185733 + ParenthesizedExpression 1185702 1185733 + BinaryExpression 1185703 1185732 + Identifier 1185703 1185708 + AmpersandToken 1185708 1185710 + PropertyAccessExpression 1185710 1185732 + Identifier 1185710 1185723 + Identifier 1185724 1185732 + Identifier 1185734 1185746 + ColonToken 1185747 1185749 + ConditionalExpression 1185749 1186028 + BinaryExpression 1185749 1185796 + Identifier 1185749 1185772 + AmpersandToken 1185772 1185774 + PropertyAccessExpression 1185774 1185796 + Identifier 1185774 1185787 + Identifier 1185788 1185796 + QuestionToken 1185796 1185798 + CallExpression 1185798 1185874 + Identifier 1185798 1185814 + Identifier 1185815 1185825 + CallExpression 1185826 1185873 + Identifier 1185826 1185845 + Identifier 1185846 1185858 + Identifier 1185859 1185864 + Identifier 1185865 1185872 + ColonToken 1185874 1185876 + BinaryExpression 1185876 1186028 + CallExpression 1185876 1186013 + Identifier 1185876 1185919 + CallExpression 1185920 1186012 + Identifier 1185920 1185935 + Identifier 1185936 1185946 + CallExpression 1185947 1186011 + Identifier 1185947 1185966 + Identifier 1185967 1185979 + CallExpression 1185980 1186002 + Identifier 1185980 1185996 + Identifier 1185997 1186001 + Identifier 1186003 1186010 + QuestionQuestionToken 1186013 1186016 + Identifier 1186016 1186028 + VariableStatement 1186042 1186105 + VariableDeclarationList 1186042 1186104 + VariableDeclaration 1186057 1186104 + Identifier 1186057 1186067 + CallExpression 1186069 1186104 + Identifier 1186069 1186092 + Identifier 1186093 1186103 + VariableStatement 1186105 1186438 + VariableDeclarationList 1186105 1186437 + VariableDeclaration 1186120 1186437 + Identifier 1186120 1186136 + ConditionalExpression 1186138 1186437 + BinaryExpression 1186138 1186186 + Identifier 1186138 1186148 + AmpersandToken 1186148 1186150 + PropertyAccessExpression 1186150 1186186 + Identifier 1186150 1186170 + Identifier 1186171 1186186 + QuestionToken 1186186 1186188 + CallExpression 1186188 1186266 + Identifier 1186188 1186192 + Identifier 1186193 1186205 + ArrowFunction 1186206 1186265 + Parameter 1186206 1186208 + Identifier 1186206 1186208 + EqualsGreaterThanToken 1186208 1186211 + ConditionalExpression 1186211 1186265 + BinaryExpression 1186211 1186237 + Identifier 1186211 1186213 + AmpersandToken 1186213 1186215 + PropertyAccessExpression 1186215 1186237 + Identifier 1186215 1186228 + Identifier 1186229 1186237 + QuestionToken 1186237 1186239 + PropertyAccessExpression 1186239 1186261 + Identifier 1186239 1186252 + Identifier 1186253 1186261 + ColonToken 1186261 1186263 + Identifier 1186263 1186265 + ColonToken 1186266 1186268 + ConditionalExpression 1186268 1186437 + BinaryExpression 1186268 1186329 + Identifier 1186268 1186291 + AmpersandToken 1186291 1186293 + PropertyAccessExpression 1186293 1186329 + Identifier 1186293 1186313 + Identifier 1186314 1186329 + QuestionToken 1186329 1186331 + CallExpression 1186331 1186409 + Identifier 1186331 1186335 + Identifier 1186336 1186348 + ArrowFunction 1186349 1186408 + Parameter 1186349 1186351 + Identifier 1186349 1186351 + EqualsGreaterThanToken 1186351 1186354 + ConditionalExpression 1186354 1186408 + BinaryExpression 1186354 1186380 + Identifier 1186354 1186356 + AmpersandToken 1186356 1186358 + PropertyAccessExpression 1186358 1186380 + Identifier 1186358 1186371 + Identifier 1186372 1186380 + QuestionToken 1186380 1186382 + PropertyAccessExpression 1186382 1186404 + Identifier 1186382 1186395 + Identifier 1186396 1186404 + ColonToken 1186404 1186406 + Identifier 1186406 1186408 + ColonToken 1186409 1186411 + Identifier 1186411 1186437 + VariableStatement 1186438 1186556 + VariableDeclarationList 1186438 1186555 + VariableDeclaration 1186453 1186555 + Identifier 1186453 1186465 + CallExpression 1186467 1186555 + Identifier 1186467 1186492 + PropertyAccessExpression 1186493 1186518 + PropertyAccessExpression 1186493 1186509 + Identifier 1186493 1186502 + Identifier 1186503 1186509 + Identifier 1186510 1186518 + CallExpression 1186519 1186554 + Identifier 1186519 1186542 + Identifier 1186543 1186553 + ReturnStatement 1186556 1186745 + ConditionalExpression 1186572 1186744 + CallExpression 1186572 1186609 + Identifier 1186572 1186581 + Identifier 1186582 1186597 + Identifier 1186598 1186608 + QuestionToken 1186609 1186611 + Identifier 1186611 1186621 + ColonToken 1186621 1186623 + CallExpression 1186623 1186744 + Identifier 1186623 1186652 + Identifier 1186653 1186668 + Identifier 1186669 1186685 + Identifier 1186686 1186698 + PropertyAccessExpression 1186699 1186743 + PropertyAccessExpression 1186699 1186716 + Identifier 1186699 1186709 + Identifier 1186710 1186716 + Identifier 1186717 1186743 + FunctionDeclaration 1186752 1187170 + Identifier 1186768 1186795 + Parameter 1186796 1186811 + Identifier 1186796 1186805 + TypeReference 1186806 1186811 + Identifier 1186806 1186811 + Parameter 1186812 1186835 + Identifier 1186812 1186823 + TypeReference 1186824 1186835 + Identifier 1186824 1186835 + Parameter 1186836 1186855 + Identifier 1186836 1186843 + TypeReference 1186844 1186855 + Identifier 1186844 1186855 + Block 1186856 1187170 + VariableStatement 1186858 1186971 + VariableDeclarationList 1186858 1186970 + VariableDeclaration 1186873 1186970 + Identifier 1186873 1186885 + CallExpression 1186887 1186970 + Identifier 1186887 1186917 + Identifier 1186918 1186928 + Identifier 1186929 1186940 + TrueKeyword 1186941 1186961 + Identifier 1186962 1186969 + ReturnStatement 1186971 1187163 + ConditionalExpression 1186987 1187162 + CallExpression 1186987 1187012 + Identifier 1186987 1186999 + Identifier 1187000 1187011 + QuestionToken 1187012 1187014 + Identifier 1187014 1187024 + ColonToken 1187024 1187026 + CallExpression 1187026 1187162 + Identifier 1187026 1187055 + Identifier 1187056 1187067 + CallExpression 1187068 1187161 + Identifier 1187068 1187093 + CallExpression 1187094 1187124 + Identifier 1187094 1187113 + Identifier 1187114 1187123 + CallExpression 1187125 1187160 + Identifier 1187125 1187148 + Identifier 1187149 1187159 + FunctionDeclaration 1187170 1187954 + Identifier 1187186 1187216 + Parameter 1187217 1187233 + Identifier 1187217 1187221 + TypeReference 1187222 1187233 + Identifier 1187222 1187233 + Parameter 1187234 1187244 + Identifier 1187234 1187238 + TypeReference 1187239 1187244 + Identifier 1187239 1187244 + Parameter 1187245 1187265 + Identifier 1187245 1187256 + BooleanKeyword 1187257 1187265 + Parameter 1187266 1187285 + Identifier 1187266 1187273 + TypeReference 1187274 1187285 + Identifier 1187274 1187285 + Block 1187286 1187954 + VariableStatement 1187288 1187390 + VariableDeclarationList 1187288 1187389 + VariableDeclaration 1187303 1187389 + Identifier 1187303 1187318 + CallExpression 1187320 1187389 + Identifier 1187320 1187338 + Identifier 1187339 1187345 + CallExpression 1187346 1187383 + Identifier 1187346 1187377 + Identifier 1187378 1187382 + Identifier 1187384 1187388 + VariableStatement 1187390 1187515 + VariableDeclarationList 1187390 1187514 + VariableDeclaration 1187405 1187514 + Identifier 1187405 1187414 + CallExpression 1187416 1187514 + Identifier 1187416 1187432 + CallExpression 1187433 1187497 + Identifier 1187433 1187462 + BinaryExpression 1187463 1187496 + AsExpression 1187463 1187488 + PropertyAccessExpression 1187463 1187474 + Identifier 1187463 1187467 + Identifier 1187468 1187474 + TypeReference 1187477 1187488 + Identifier 1187477 1187488 + BarBarToken 1187488 1187491 + Identifier 1187491 1187496 + Identifier 1187498 1187513 + VariableStatement 1187515 1187572 + VariableDeclarationList 1187515 1187571 + VariableDeclaration 1187530 1187571 + Identifier 1187530 1187540 + CallExpression 1187542 1187571 + Identifier 1187542 1187565 + Identifier 1187566 1187570 + ReturnStatement 1187572 1187947 + ConditionalExpression 1187588 1187946 + BinaryExpression 1187588 1187724 + BinaryExpression 1187588 1187656 + Identifier 1187588 1187605 + AmpersandAmpersandToken 1187605 1187608 + BinaryExpression 1187608 1187656 + Identifier 1187608 1187618 + AmpersandToken 1187618 1187620 + PropertyAccessExpression 1187620 1187656 + Identifier 1187620 1187640 + Identifier 1187641 1187656 + AmpersandAmpersandToken 1187656 1187659 + PrefixUnaryExpression 1187659 1187724 + CallExpression 1187661 1187724 + Identifier 1187661 1187676 + Identifier 1187677 1187685 + BinaryExpression 1187686 1187723 + PropertyAccessExpression 1187686 1187706 + Identifier 1187686 1187696 + Identifier 1187697 1187706 + BarToken 1187706 1187708 + PropertyAccessExpression 1187708 1187723 + Identifier 1187708 1187718 + Identifier 1187719 1187723 + QuestionToken 1187724 1187726 + CallExpression 1187726 1187773 + Identifier 1187726 1187742 + Identifier 1187743 1187751 + TrueKeyword 1187752 1187772 + ColonToken 1187773 1187775 + ConditionalExpression 1187775 1187946 + BinaryExpression 1187775 1187870 + BinaryExpression 1187775 1187856 + Identifier 1187775 1187805 + AmpersandAmpersandToken 1187805 1187808 + BinaryExpression 1187808 1187856 + Identifier 1187808 1187818 + AmpersandToken 1187818 1187820 + PropertyAccessExpression 1187820 1187856 + Identifier 1187820 1187840 + Identifier 1187841 1187856 + AmpersandAmpersandToken 1187856 1187859 + Identifier 1187859 1187870 + QuestionToken 1187870 1187872 + CallExpression 1187872 1187922 + Identifier 1187872 1187889 + Identifier 1187890 1187898 + PropertyAccessExpression 1187899 1187921 + Identifier 1187899 1187909 + Identifier 1187910 1187921 + ColonToken 1187922 1187924 + Identifier 1187924 1187946 + FunctionDeclaration 1187954 1189788 + Identifier 1187970 1187995 + Parameter 1187996 1188015 + Identifier 1187996 1188000 + TypeReference 1188001 1188015 + Identifier 1188001 1188015 + Parameter 1188016 1188035 + Identifier 1188016 1188023 + TypeReference 1188024 1188035 + Identifier 1188024 1188035 + Parameter 1188036 1188057 + Identifier 1188036 1188048 + QuestionToken 1188048 1188049 + TypeReference 1188050 1188057 + Identifier 1188050 1188057 + Parameter 1188058 1188095 + Identifier 1188058 1188077 + QuestionToken 1188077 1188078 + TypeOperator 1188079 1188095 + ArrayType 1188088 1188095 + TypeReference 1188088 1188093 + Identifier 1188088 1188093 + TypeReference 1188097 1188111 + Identifier 1188097 1188111 + Block 1188111 1189788 + ExpressionStatement 1188113 1188203 + CallExpression 1188113 1188202 + PropertyAccessExpression 1188113 1188135 + Identifier 1188113 1188128 + Identifier 1188129 1188135 + PropertyAccessExpression 1188136 1188147 + Identifier 1188136 1188140 + Identifier 1188141 1188147 + StringLiteral 1188148 1188201 + VariableStatement 1188203 1188411 + VariableDeclarationList 1188203 1188410 + VariableDeclaration 1188218 1188410 + Identifier 1188218 1188225 + AsExpression 1188227 1188410 + CallExpression 1188227 1188393 + Identifier 1188227 1188244 + BinaryExpression 1188245 1188379 + BinaryExpression 1188245 1188352 + PropertyAccessExpression 1188245 1188261 + Identifier 1188245 1188249 + Identifier 1188250 1188261 + AmpersandToken 1188261 1188263 + PrefixUnaryExpression 1188263 1188352 + ParenthesizedExpression 1188265 1188352 + BinaryExpression 1188266 1188351 + PropertyAccessExpression 1188266 1188311 + Identifier 1188266 1188277 + Identifier 1188278 1188311 + BarToken 1188311 1188313 + PropertyAccessExpression 1188313 1188351 + Identifier 1188313 1188325 + Identifier 1188326 1188351 + BarToken 1188352 1188354 + PropertyAccessExpression 1188354 1188379 + Identifier 1188354 1188366 + Identifier 1188367 1188379 + PropertyAccessExpression 1188380 1188392 + Identifier 1188380 1188385 + Identifier 1188386 1188392 + TypeReference 1188396 1188410 + Identifier 1188396 1188410 + IfStatement 1188411 1189003 + BinaryExpression 1188425 1188462 + PropertyAccessExpression 1188425 1188441 + Identifier 1188425 1188429 + Identifier 1188430 1188441 + AmpersandToken 1188441 1188443 + PropertyAccessExpression 1188443 1188462 + Identifier 1188443 1188455 + Identifier 1188456 1188462 + Block 1188463 1189003 + ExpressionStatement 1188465 1188549 + BinaryExpression 1188465 1188548 + PropertyAccessExpression 1188465 1188513 + ParenthesizedExpression 1188465 1188501 + AsExpression 1188480 1188500 + Identifier 1188480 1188486 + TypeReference 1188489 1188500 + Identifier 1188489 1188500 + Identifier 1188502 1188513 + EqualsToken 1188513 1188515 + PropertyAccessExpression 1188515 1188548 + ParenthesizedExpression 1188515 1188536 + AsExpression 1188517 1188535 + Identifier 1188517 1188521 + TypeReference 1188524 1188535 + Identifier 1188524 1188535 + Identifier 1188537 1188548 + VariableStatement 1188549 1188682 + VariableDeclarationList 1188549 1188681 + VariableDeclaration 1188610 1188681 + Identifier 1188610 1188628 + CallExpression 1188630 1188681 + Identifier 1188630 1188661 + AsExpression 1188662 1188680 + Identifier 1188662 1188666 + TypeReference 1188669 1188680 + Identifier 1188669 1188680 + VariableStatement 1188682 1188761 + VariableDeclarationList 1188682 1188760 + VariableDeclaration 1188701 1188760 + Identifier 1188701 1188720 + CallExpression 1188722 1188760 + Identifier 1188722 1188741 + Identifier 1188742 1188759 + ExpressionStatement 1188761 1188833 + BinaryExpression 1188761 1188832 + PropertyAccessExpression 1188761 1188811 + ParenthesizedExpression 1188761 1188797 + AsExpression 1188776 1188796 + Identifier 1188776 1188782 + TypeReference 1188785 1188796 + Identifier 1188785 1188796 + Identifier 1188798 1188811 + EqualsToken 1188811 1188813 + Identifier 1188813 1188832 + ExpressionStatement 1188833 1188943 + BinaryExpression 1188833 1188942 + Identifier 1188833 1188853 + EqualsToken 1188853 1188855 + CallExpression 1188855 1188942 + Identifier 1188855 1188874 + CallExpression 1188875 1188933 + Identifier 1188875 1188894 + Identifier 1188895 1188912 + Identifier 1188913 1188932 + Identifier 1188934 1188941 + ExpressionStatement 1188943 1188992 + BinaryExpression 1188943 1188991 + PropertyAccessExpression 1188943 1188982 + Identifier 1188943 1188975 + Identifier 1188976 1188982 + EqualsToken 1188982 1188984 + Identifier 1188984 1188991 + IfStatement 1189003 1189193 + BinaryExpression 1189017 1189075 + PropertyAccessExpression 1189017 1189033 + Identifier 1189017 1189021 + Identifier 1189022 1189033 + AmpersandToken 1189033 1189035 + PropertyAccessExpression 1189035 1189075 + Identifier 1189035 1189047 + Identifier 1189048 1189075 + Block 1189076 1189193 + ExpressionStatement 1189078 1189182 + BinaryExpression 1189078 1189181 + PropertyAccessExpression 1189078 1189136 + ParenthesizedExpression 1189078 1189131 + AsExpression 1189093 1189130 + Identifier 1189093 1189099 + TypeReference 1189102 1189130 + Identifier 1189102 1189130 + Identifier 1189132 1189136 + EqualsToken 1189136 1189138 + PropertyAccessExpression 1189138 1189181 + ParenthesizedExpression 1189138 1189176 + AsExpression 1189140 1189175 + Identifier 1189140 1189144 + TypeReference 1189147 1189175 + Identifier 1189147 1189175 + Identifier 1189177 1189181 + IfStatement 1189193 1189389 + BinaryExpression 1189207 1189257 + PropertyAccessExpression 1189207 1189223 + Identifier 1189207 1189211 + Identifier 1189212 1189223 + AmpersandToken 1189223 1189225 + PropertyAccessExpression 1189225 1189257 + Identifier 1189225 1189237 + Identifier 1189238 1189257 + Block 1189258 1189389 + ExpressionStatement 1189260 1189378 + BinaryExpression 1189260 1189377 + PropertyAccessExpression 1189260 1189325 + ParenthesizedExpression 1189260 1189305 + AsExpression 1189275 1189304 + Identifier 1189275 1189281 + TypeReference 1189284 1189304 + Identifier 1189284 1189304 + Identifier 1189306 1189325 + EqualsToken 1189325 1189327 + PropertyAccessExpression 1189327 1189377 + ParenthesizedExpression 1189327 1189357 + AsExpression 1189329 1189356 + Identifier 1189329 1189333 + TypeReference 1189336 1189356 + Identifier 1189336 1189356 + Identifier 1189358 1189377 + ExpressionStatement 1189389 1189420 + BinaryExpression 1189389 1189419 + PropertyAccessExpression 1189389 1189412 + Identifier 1189389 1189405 + Identifier 1189406 1189412 + EqualsToken 1189412 1189414 + Identifier 1189414 1189419 + ExpressionStatement 1189420 1189453 + BinaryExpression 1189420 1189452 + PropertyAccessExpression 1189420 1189443 + Identifier 1189420 1189436 + Identifier 1189437 1189443 + EqualsToken 1189443 1189445 + Identifier 1189445 1189452 + ExpressionStatement 1189453 1189516 + BinaryExpression 1189453 1189515 + PropertyAccessExpression 1189453 1189481 + Identifier 1189453 1189469 + Identifier 1189470 1189481 + EqualsToken 1189481 1189483 + BinaryExpression 1189483 1189515 + Identifier 1189483 1189495 + BarBarToken 1189495 1189498 + PropertyAccessExpression 1189498 1189515 + Identifier 1189498 1189503 + Identifier 1189504 1189515 + ExpressionStatement 1189516 1189639 + BinaryExpression 1189516 1189638 + PropertyAccessExpression 1189516 1189551 + Identifier 1189516 1189532 + Identifier 1189533 1189551 + EqualsToken 1189551 1189553 + ConditionalExpression 1189553 1189638 + Identifier 1189553 1189565 + QuestionToken 1189565 1189567 + Identifier 1189567 1189586 + ColonToken 1189586 1189588 + CallExpression 1189588 1189638 + Identifier 1189588 1189605 + PropertyAccessExpression 1189606 1189629 + Identifier 1189606 1189610 + Identifier 1189611 1189629 + Identifier 1189630 1189637 + ExpressionStatement 1189639 1189757 + BinaryExpression 1189639 1189756 + PropertyAccessExpression 1189639 1189667 + Identifier 1189639 1189655 + Identifier 1189656 1189667 + BarEqualsToken 1189667 1189670 + ConditionalExpression 1189670 1189756 + PropertyAccessExpression 1189670 1189696 + Identifier 1189670 1189677 + Identifier 1189678 1189696 + QuestionToken 1189696 1189698 + CallExpression 1189698 1189752 + Identifier 1189698 1189725 + PropertyAccessExpression 1189726 1189751 + Identifier 1189726 1189732 + Identifier 1189733 1189751 + ColonToken 1189752 1189754 + NumericLiteral 1189754 1189756 + ReturnStatement 1189757 1189781 + Identifier 1189773 1189780 + FunctionDeclaration 1189788 1191795 + Identifier 1189804 1189836 + Parameter 1189837 1189858 + Identifier 1189837 1189841 + TypeReference 1189842 1189858 + Identifier 1189842 1189858 + Parameter 1189859 1189878 + Identifier 1189859 1189866 + TypeReference 1189867 1189878 + Identifier 1189867 1189878 + Parameter 1189879 1189902 + Identifier 1189879 1189893 + BooleanKeyword 1189894 1189902 + Parameter 1189903 1189924 + Identifier 1189903 1189915 + QuestionToken 1189915 1189916 + TypeReference 1189917 1189924 + Identifier 1189917 1189924 + Parameter 1189925 1189962 + Identifier 1189925 1189944 + QuestionToken 1189944 1189945 + TypeOperator 1189946 1189962 + ArrayType 1189955 1189962 + TypeReference 1189955 1189960 + Identifier 1189955 1189960 + TypeReference 1189964 1189969 + Identifier 1189964 1189969 + Block 1189969 1191795 + VariableStatement 1189971 1190004 + VariableDeclarationList 1189971 1190003 + VariableDeclaration 1189986 1190003 + Identifier 1189986 1189991 + PropertyAccessExpression 1189993 1190003 + Identifier 1189993 1189998 + Identifier 1189999 1190003 + IfStatement 1190004 1191766 + PropertyAccessExpression 1190018 1190042 + Identifier 1190018 1190022 + Identifier 1190023 1190042 + Block 1190043 1191766 + VariableStatement 1190045 1190447 + VariableDeclarationList 1190045 1190446 + VariableDeclaration 1190369 1190446 + Identifier 1190369 1190383 + CallExpression 1190385 1190446 + Identifier 1190385 1190389 + PropertyAccessExpression 1190390 1190414 + Identifier 1190390 1190394 + Identifier 1190395 1190414 + ArrowFunction 1190415 1190445 + Parameter 1190415 1190417 + Identifier 1190415 1190417 + EqualsGreaterThanToken 1190417 1190420 + CallExpression 1190420 1190445 + Identifier 1190420 1190434 + Identifier 1190435 1190436 + Identifier 1190437 1190444 + VariableStatement 1190447 1190576 + VariableDeclarationList 1190447 1190575 + VariableDeclaration 1190466 1190575 + Identifier 1190466 1190469 + BinaryExpression 1190471 1190575 + BinaryExpression 1190471 1190529 + ParenthesizedExpression 1190471 1190498 + ConditionalExpression 1190473 1190497 + Identifier 1190473 1190486 + QuestionToken 1190486 1190488 + StringLiteral 1190488 1190492 + ColonToken 1190492 1190494 + StringLiteral 1190494 1190497 + PlusToken 1190498 1190500 + CallExpression 1190500 1190529 + Identifier 1190500 1190514 + Identifier 1190515 1190528 + PlusToken 1190529 1190531 + CallExpression 1190531 1190575 + Identifier 1190531 1190542 + Identifier 1190543 1190554 + Identifier 1190555 1190574 + VariableStatement 1190576 1190632 + VariableDeclarationList 1190576 1190631 + VariableDeclaration 1190593 1190631 + Identifier 1190593 1190600 + CallExpression 1190602 1190631 + PropertyAccessExpression 1190602 1190627 + NonNullExpression 1190602 1190623 + PropertyAccessExpression 1190602 1190622 + Identifier 1190602 1190607 + Identifier 1190608 1190622 + Identifier 1190624 1190627 + Identifier 1190628 1190630 + IfStatement 1190632 1191727 + PrefixUnaryExpression 1190650 1190657 + Identifier 1190651 1190657 + Block 1190658 1191727 + VariableStatement 1190660 1190754 + VariableDeclarationList 1190660 1190753 + VariableDeclaration 1190683 1190753 + Identifier 1190683 1190693 + CallExpression 1190695 1190753 + Identifier 1190695 1190712 + PropertyAccessExpression 1190713 1190737 + Identifier 1190713 1190717 + Identifier 1190718 1190737 + Identifier 1190738 1190752 + VariableStatement 1190754 1190805 + VariableDeclarationList 1190754 1190804 + VariableDeclaration 1190777 1190804 + Identifier 1190777 1190787 + PropertyAccessExpression 1190789 1190804 + Identifier 1190789 1190794 + Identifier 1190795 1190804 + VariableStatement 1190805 1190934 + VariableDeclarationList 1190805 1190933 + VariableDeclaration 1190828 1190933 + Identifier 1190828 1190845 + ConditionalExpression 1190847 1190933 + PropertyAccessExpression 1190847 1190867 + Identifier 1190847 1190852 + Identifier 1190853 1190867 + QuestionToken 1190867 1190869 + CallExpression 1190869 1190921 + Identifier 1190869 1190884 + CallExpression 1190885 1190920 + Identifier 1190885 1190898 + Identifier 1190899 1190908 + Identifier 1190909 1190919 + ColonToken 1190921 1190923 + Identifier 1190923 1190933 + ExpressionStatement 1190934 1191657 + BinaryExpression 1190934 1191656 + Identifier 1190934 1191250 + EqualsToken 1191250 1191252 + ConditionalExpression 1191252 1191656 + BinaryExpression 1191252 1191367 + BinaryExpression 1191252 1191303 + Identifier 1191252 1191269 + AmpersandAmpersandToken 1191269 1191272 + BinaryExpression 1191272 1191303 + Identifier 1191272 1191282 + ExclamationEqualsEqualsToken 1191282 1191286 + Identifier 1191286 1191303 + AmpersandAmpersandToken 1191303 1191306 + BinaryExpression 1191306 1191367 + PropertyAccessExpression 1191306 1191329 + Identifier 1191306 1191323 + Identifier 1191324 1191329 + AmpersandToken 1191329 1191331 + ParenthesizedExpression 1191331 1191367 + BinaryExpression 1191333 1191366 + PropertyAccessExpression 1191333 1191348 + Identifier 1191333 1191342 + Identifier 1191343 1191348 + BarToken 1191348 1191350 + PropertyAccessExpression 1191350 1191366 + Identifier 1191350 1191360 + Identifier 1191361 1191366 + QuestionToken 1191367 1191369 + CallExpression 1191369 1191549 + Identifier 1191369 1191407 + Identifier 1191408 1191424 + ArrowFunction 1191425 1191515 + Parameter 1191425 1191427 + Identifier 1191425 1191427 + EqualsGreaterThanToken 1191427 1191430 + CallExpression 1191430 1191515 + Identifier 1191430 1191449 + Identifier 1191450 1191454 + CallExpression 1191455 1191499 + Identifier 1191455 1191474 + Identifier 1191475 1191484 + Identifier 1191485 1191487 + Identifier 1191488 1191498 + Identifier 1191500 1191514 + Identifier 1191516 1191528 + Identifier 1191529 1191548 + ColonToken 1191549 1191551 + CallExpression 1191551 1191656 + Identifier 1191551 1191591 + Identifier 1191592 1191596 + Identifier 1191597 1191607 + Identifier 1191608 1191622 + Identifier 1191623 1191635 + Identifier 1191636 1191655 + ExpressionStatement 1191657 1191712 + CallExpression 1191657 1191711 + PropertyAccessExpression 1191657 1191699 + NonNullExpression 1191657 1191695 + PropertyAccessExpression 1191657 1191694 + Identifier 1191657 1191679 + Identifier 1191680 1191694 + Identifier 1191696 1191699 + Identifier 1191700 1191702 + Identifier 1191703 1191710 + ReturnStatement 1191727 1191755 + Identifier 1191747 1191754 + ReturnStatement 1191766 1191788 + Identifier 1191782 1191787 + FunctionDeclaration 1191795 1191878 + Identifier 1191811 1191827 + Parameter 1191828 1191838 + Identifier 1191828 1191832 + TypeReference 1191833 1191838 + Identifier 1191833 1191838 + Parameter 1191839 1191870 + Identifier 1191839 1191846 + UnionType 1191847 1191870 + TypeReference 1191847 1191858 + Identifier 1191847 1191858 + UndefinedKeyword 1191860 1191870 + TypeReference 1191872 1191877 + Identifier 1191872 1191877 + FunctionDeclaration 1191878 1191983 + Identifier 1191892 1191908 + Parameter 1191909 1191931 + Identifier 1191909 1191913 + UnionType 1191914 1191931 + TypeReference 1191914 1191919 + Identifier 1191914 1191919 + UndefinedKeyword 1191921 1191931 + Parameter 1191932 1191963 + Identifier 1191932 1191939 + UnionType 1191940 1191963 + TypeReference 1191940 1191951 + Identifier 1191940 1191951 + UndefinedKeyword 1191953 1191963 + UnionType 1191965 1191982 + TypeReference 1191965 1191970 + Identifier 1191965 1191970 + UndefinedKeyword 1191972 1191982 + FunctionDeclaration 1191983 1192237 + Identifier 1191997 1192013 + Parameter 1192014 1192036 + Identifier 1192014 1192018 + UnionType 1192019 1192036 + TypeReference 1192019 1192024 + Identifier 1192019 1192024 + UndefinedKeyword 1192026 1192036 + Parameter 1192037 1192068 + Identifier 1192037 1192044 + UnionType 1192045 1192068 + TypeReference 1192045 1192056 + Identifier 1192045 1192056 + UndefinedKeyword 1192058 1192068 + UnionType 1192070 1192087 + TypeReference 1192070 1192075 + Identifier 1192070 1192075 + UndefinedKeyword 1192077 1192087 + Block 1192087 1192237 + ReturnStatement 1192089 1192230 + ConditionalExpression 1192105 1192229 + BinaryExpression 1192105 1192120 + Identifier 1192105 1192110 + AmpersandAmpersandToken 1192110 1192113 + Identifier 1192113 1192120 + QuestionToken 1192120 1192122 + CallExpression 1192122 1192222 + Identifier 1192122 1192147 + Identifier 1192148 1192152 + Identifier 1192153 1192160 + Identifier 1192161 1192187 + Identifier 1192188 1192221 + ColonToken 1192222 1192224 + Identifier 1192224 1192229 + FunctionDeclaration 1192237 1193478 + Identifier 1192253 1192278 + Parameter 1192279 1192289 + Identifier 1192279 1192283 + TypeReference 1192284 1192289 + Identifier 1192284 1192289 + Parameter 1192290 1192309 + Identifier 1192290 1192297 + TypeReference 1192298 1192309 + Identifier 1192298 1192309 + Parameter 1192310 1192342 + Identifier 1192310 1192322 + UnionType 1192323 1192342 + TypeReference 1192323 1192330 + Identifier 1192323 1192330 + UndefinedKeyword 1192332 1192342 + Parameter 1192343 1192391 + Identifier 1192343 1192362 + UnionType 1192363 1192391 + TypeOperator 1192363 1192379 + ArrayType 1192372 1192379 + TypeReference 1192372 1192377 + Identifier 1192372 1192377 + UndefinedKeyword 1192381 1192391 + TypeReference 1192393 1192398 + Identifier 1192393 1192398 + Block 1192398 1193478 + IfStatement 1192400 1192486 + PrefixUnaryExpression 1192414 1192446 + CallExpression 1192415 1192446 + Identifier 1192415 1192440 + Identifier 1192441 1192445 + Block 1192447 1192486 + ReturnStatement 1192449 1192475 + Identifier 1192469 1192474 + IfStatement 1192486 1193224 + BinaryExpression 1192500 1192559 + BinaryExpression 1192500 1192526 + Identifier 1192500 1192518 + EqualsEqualsEqualsToken 1192518 1192522 + NumericLiteral 1192522 1192526 + BarBarToken 1192526 1192529 + BinaryExpression 1192529 1192559 + Identifier 1192529 1192548 + GreaterThanEqualsToken 1192548 1192551 + NumericLiteral 1192551 1192559 + Block 1192560 1193224 + ExpressionStatement 1192562 1193075 + CallExpression 1192562 1193074 + PropertyAccessExpression 1192562 1192957 + Identifier 1192562 1192948 + QuestionDotToken 1192948 1192950 + Identifier 1192950 1192957 + PropertyAccessExpression 1192958 1192982 + PropertyAccessExpression 1192958 1192971 + Identifier 1192958 1192965 + Identifier 1192966 1192971 + Identifier 1192972 1192982 + StringLiteral 1192983 1193012 + ObjectLiteralExpression 1193013 1193073 + PropertyAssignment 1193015 1193031 + Identifier 1193015 1193022 + PropertyAccessExpression 1193023 1193031 + Identifier 1193023 1193028 + Identifier 1193029 1193031 + ShorthandPropertyAssignment 1193032 1193051 + Identifier 1193032 1193051 + ShorthandPropertyAssignment 1193052 1193071 + Identifier 1193052 1193071 + ExpressionStatement 1193075 1193182 + CallExpression 1193075 1193181 + Identifier 1193075 1193094 + Identifier 1193095 1193106 + PropertyAccessExpression 1193107 1193180 + Identifier 1193107 1193119 + Identifier 1193120 1193180 + ReturnStatement 1193182 1193213 + Identifier 1193202 1193212 + ExpressionStatement 1193224 1193260 + PostfixUnaryExpression 1193224 1193259 + Identifier 1193224 1193257 + ExpressionStatement 1193260 1193291 + PostfixUnaryExpression 1193260 1193290 + Identifier 1193260 1193288 + ExpressionStatement 1193291 1193322 + PostfixUnaryExpression 1193291 1193321 + Identifier 1193291 1193319 + VariableStatement 1193322 1193416 + VariableDeclarationList 1193322 1193415 + VariableDeclaration 1193337 1193415 + Identifier 1193337 1193344 + CallExpression 1193346 1193415 + Identifier 1193346 1193368 + Identifier 1193369 1193373 + Identifier 1193374 1193381 + Identifier 1193382 1193394 + Identifier 1193395 1193414 + ExpressionStatement 1193416 1193447 + PostfixUnaryExpression 1193416 1193446 + Identifier 1193416 1193444 + ReturnStatement 1193447 1193471 + Identifier 1193463 1193470 + FunctionDeclaration 1193478 1198552 + Identifier 1193494 1193516 + Parameter 1193517 1193527 + Identifier 1193517 1193521 + TypeReference 1193522 1193527 + Identifier 1193522 1193527 + Parameter 1193528 1193547 + Identifier 1193528 1193535 + TypeReference 1193536 1193547 + Identifier 1193536 1193547 + Parameter 1193548 1193580 + Identifier 1193548 1193560 + UnionType 1193561 1193580 + TypeReference 1193561 1193568 + Identifier 1193561 1193568 + UndefinedKeyword 1193570 1193580 + Parameter 1193581 1193629 + Identifier 1193581 1193600 + UnionType 1193601 1193629 + TypeOperator 1193601 1193617 + ArrayType 1193610 1193617 + TypeReference 1193610 1193615 + Identifier 1193610 1193615 + UndefinedKeyword 1193619 1193629 + TypeReference 1193631 1193636 + Identifier 1193631 1193636 + Block 1193636 1198552 + VariableStatement 1193638 1193673 + VariableDeclarationList 1193638 1193672 + VariableDeclaration 1193653 1193672 + Identifier 1193653 1193659 + PropertyAccessExpression 1193661 1193672 + Identifier 1193661 1193666 + Identifier 1193667 1193672 + IfStatement 1193673 1193781 + BinaryExpression 1193687 1193718 + Identifier 1193687 1193692 + AmpersandToken 1193692 1193694 + PropertyAccessExpression 1193694 1193718 + Identifier 1193694 1193704 + Identifier 1193705 1193718 + Block 1193719 1193781 + ReturnStatement 1193721 1193770 + CallExpression 1193741 1193769 + Identifier 1193741 1193755 + Identifier 1193756 1193760 + Identifier 1193761 1193768 + IfStatement 1193781 1194831 + BinaryExpression 1193795 1193819 + Identifier 1193795 1193800 + AmpersandToken 1193800 1193802 + PropertyAccessExpression 1193802 1193819 + Identifier 1193802 1193812 + Identifier 1193813 1193819 + Block 1193820 1194831 + VariableStatement 1193822 1193889 + VariableDeclarationList 1193822 1193888 + VariableDeclaration 1193841 1193888 + Identifier 1193841 1193853 + PropertyAccessExpression 1193855 1193888 + ParenthesizedExpression 1193855 1193876 + AsExpression 1193857 1193875 + Identifier 1193857 1193861 + TypeReference 1193864 1193875 + Identifier 1193864 1193875 + Identifier 1193877 1193888 + IfStatement 1193889 1194794 + BinaryExpression 1193907 1193989 + Identifier 1193907 1193918 + AmpersandToken 1193918 1193920 + ParenthesizedExpression 1193920 1193989 + BinaryExpression 1193922 1193988 + BinaryExpression 1193922 1193967 + PropertyAccessExpression 1193922 1193943 + Identifier 1193922 1193933 + Identifier 1193934 1193943 + BarToken 1193943 1193945 + PropertyAccessExpression 1193945 1193967 + Identifier 1193945 1193957 + Identifier 1193958 1193967 + BarToken 1193967 1193969 + PropertyAccessExpression 1193969 1193988 + Identifier 1193969 1193981 + Identifier 1193982 1193988 + Block 1193990 1194794 + IfStatement 1193992 1194458 + BinaryExpression 1194014 1194082 + BinaryExpression 1194014 1194049 + Identifier 1194014 1194025 + AmpersandToken 1194025 1194027 + PropertyAccessExpression 1194027 1194049 + Identifier 1194027 1194039 + Identifier 1194040 1194049 + AmpersandAmpersandToken 1194049 1194052 + PrefixUnaryExpression 1194052 1194082 + PropertyAccessExpression 1194054 1194082 + ParenthesizedExpression 1194054 1194077 + AsExpression 1194055 1194076 + Identifier 1194055 1194059 + TypeReference 1194062 1194076 + Identifier 1194062 1194076 + Identifier 1194078 1194082 + Block 1194083 1194458 + VariableStatement 1194085 1194183 + VariableDeclarationList 1194085 1194182 + VariableDeclaration 1194112 1194182 + Identifier 1194112 1194134 + PropertyAccessExpression 1194136 1194182 + ParenthesizedExpression 1194136 1194160 + AsExpression 1194138 1194159 + Identifier 1194138 1194142 + TypeReference 1194145 1194159 + Identifier 1194145 1194159 + Identifier 1194161 1194182 + VariableStatement 1194183 1194278 + VariableDeclarationList 1194183 1194277 + VariableDeclaration 1194210 1194277 + Identifier 1194210 1194227 + CallExpression 1194229 1194277 + Identifier 1194229 1194246 + Identifier 1194247 1194268 + Identifier 1194269 1194276 + ReturnStatement 1194278 1194439 + ConditionalExpression 1194306 1194438 + BinaryExpression 1194306 1194349 + Identifier 1194306 1194323 + ExclamationEqualsEqualsToken 1194323 1194327 + Identifier 1194327 1194349 + QuestionToken 1194349 1194351 + CallExpression 1194351 1194431 + Identifier 1194351 1194381 + PropertyAccessExpression 1194382 1194412 + ParenthesizedExpression 1194382 1194405 + AsExpression 1194383 1194404 + Identifier 1194383 1194387 + TypeReference 1194390 1194404 + Identifier 1194390 1194404 + Identifier 1194406 1194412 + Identifier 1194413 1194430 + ColonToken 1194431 1194433 + Identifier 1194433 1194438 + IfStatement 1194458 1194634 + BinaryExpression 1194480 1194519 + Identifier 1194480 1194491 + AmpersandToken 1194491 1194493 + PropertyAccessExpression 1194493 1194519 + Identifier 1194493 1194505 + Identifier 1194506 1194519 + Block 1194520 1194634 + ReturnStatement 1194522 1194615 + CallExpression 1194550 1194614 + Identifier 1194550 1194579 + AsExpression 1194580 1194605 + Identifier 1194580 1194584 + TypeReference 1194587 1194605 + Identifier 1194587 1194605 + Identifier 1194606 1194613 + ReturnStatement 1194634 1194779 + CallExpression 1194658 1194778 + Identifier 1194658 1194685 + AsExpression 1194686 1194736 + Identifier 1194686 1194690 + UnionType 1194693 1194736 + TypeReference 1194693 1194707 + Identifier 1194693 1194707 + TypeReference 1194709 1194723 + Identifier 1194709 1194723 + TypeReference 1194725 1194736 + Identifier 1194725 1194736 + Identifier 1194737 1194744 + Identifier 1194745 1194757 + Identifier 1194758 1194777 + ReturnStatement 1194794 1194820 + Identifier 1194814 1194819 + IfStatement 1194831 1195865 + BinaryExpression 1194845 1194882 + Identifier 1194845 1194850 + AmpersandToken 1194850 1194852 + PropertyAccessExpression 1194852 1194882 + Identifier 1194852 1194862 + Identifier 1194863 1194882 + Block 1194883 1195865 + VariableStatement 1194885 1194984 + VariableDeclarationList 1194885 1194983 + VariableDeclaration 1194904 1194983 + Identifier 1194904 1194911 + ConditionalExpression 1194913 1194983 + BinaryExpression 1194913 1194942 + PropertyAccessExpression 1194913 1194924 + Identifier 1194913 1194918 + Identifier 1194919 1194924 + AmpersandToken 1194924 1194926 + PropertyAccessExpression 1194926 1194942 + Identifier 1194926 1194936 + Identifier 1194937 1194942 + QuestionToken 1194942 1194944 + PropertyAccessExpression 1194944 1194971 + ParenthesizedExpression 1194944 1194964 + AsExpression 1194946 1194963 + Identifier 1194946 1194950 + TypeReference 1194953 1194963 + Identifier 1194953 1194963 + Identifier 1194965 1194971 + ColonToken 1194971 1194973 + Identifier 1194973 1194983 + VariableStatement 1194984 1195153 + VariableDeclarationList 1194984 1195152 + VariableDeclaration 1195003 1195152 + Identifier 1195003 1195009 + ConditionalExpression 1195011 1195152 + BinaryExpression 1195011 1195066 + Identifier 1195011 1195018 + AmpersandAmpersandToken 1195018 1195021 + BinaryExpression 1195021 1195066 + PropertyAccessExpression 1195021 1195034 + Identifier 1195021 1195028 + Identifier 1195029 1195034 + AmpersandToken 1195034 1195036 + PropertyAccessExpression 1195036 1195066 + Identifier 1195036 1195046 + Identifier 1195047 1195066 + QuestionToken 1195066 1195068 + PropertyAccessExpression 1195068 1195110 + ParenthesizedExpression 1195068 1195104 + AsExpression 1195070 1195103 + Identifier 1195070 1195076 + TypeReference 1195079 1195103 + Identifier 1195079 1195103 + Identifier 1195105 1195110 + ColonToken 1195110 1195112 + PropertyAccessExpression 1195112 1195152 + ParenthesizedExpression 1195112 1195146 + AsExpression 1195114 1195145 + Identifier 1195114 1195118 + TypeReference 1195121 1195145 + Identifier 1195121 1195145 + Identifier 1195147 1195152 + VariableStatement 1195153 1195216 + VariableDeclarationList 1195153 1195215 + VariableDeclaration 1195172 1195215 + Identifier 1195172 1195181 + CallExpression 1195183 1195215 + Identifier 1195183 1195200 + Identifier 1195201 1195206 + Identifier 1195207 1195214 + IfStatement 1195216 1195336 + BinaryExpression 1195234 1195288 + BinaryExpression 1195234 1195252 + Identifier 1195234 1195242 + EqualsEqualsEqualsToken 1195242 1195246 + Identifier 1195246 1195252 + AmpersandAmpersandToken 1195252 1195255 + BinaryExpression 1195255 1195288 + Identifier 1195255 1195267 + EqualsEqualsEqualsToken 1195267 1195271 + PropertyAccessExpression 1195271 1195288 + Identifier 1195271 1195276 + Identifier 1195277 1195288 + Block 1195289 1195336 + ReturnStatement 1195291 1195321 + Identifier 1195315 1195320 + VariableStatement 1195336 1195405 + VariableDeclarationList 1195336 1195404 + VariableDeclaration 1195355 1195404 + Identifier 1195355 1195370 + BinaryExpression 1195372 1195404 + Identifier 1195372 1195384 + BarBarToken 1195384 1195387 + PropertyAccessExpression 1195387 1195404 + Identifier 1195387 1195392 + Identifier 1195393 1195404 + VariableStatement 1195405 1195534 + VariableDeclarationList 1195405 1195533 + VariableDeclaration 1195424 1195533 + Identifier 1195424 1195446 + ConditionalExpression 1195448 1195533 + Identifier 1195448 1195460 + QuestionToken 1195460 1195462 + Identifier 1195462 1195481 + ColonToken 1195481 1195483 + CallExpression 1195483 1195533 + Identifier 1195483 1195500 + PropertyAccessExpression 1195501 1195524 + Identifier 1195501 1195505 + Identifier 1195506 1195524 + Identifier 1195525 1195532 + ReturnStatement 1195534 1195854 + ConditionalExpression 1195554 1195853 + BinaryExpression 1195554 1195636 + BinaryExpression 1195554 1195585 + Identifier 1195554 1195560 + AmpersandToken 1195560 1195562 + PropertyAccessExpression 1195562 1195585 + Identifier 1195562 1195572 + Identifier 1195573 1195585 + BarBarToken 1195585 1195588 + BinaryExpression 1195588 1195636 + Identifier 1195588 1195595 + AmpersandAmpersandToken 1195595 1195598 + BinaryExpression 1195598 1195636 + PropertyAccessExpression 1195598 1195611 + Identifier 1195598 1195605 + Identifier 1195606 1195611 + AmpersandToken 1195611 1195613 + PropertyAccessExpression 1195613 1195636 + Identifier 1195613 1195623 + Identifier 1195624 1195636 + QuestionToken 1195636 1195638 + CallExpression 1195638 1195748 + Identifier 1195638 1195675 + Identifier 1195676 1195684 + PropertyAccessExpression 1195685 1195708 + Identifier 1195685 1195703 + Identifier 1195704 1195708 + Identifier 1195709 1195724 + Identifier 1195725 1195747 + ColonToken 1195748 1195750 + CallExpression 1195750 1195853 + Identifier 1195750 1195780 + Identifier 1195781 1195789 + PropertyAccessExpression 1195790 1195813 + Identifier 1195790 1195805 + Identifier 1195806 1195813 + Identifier 1195814 1195829 + Identifier 1195830 1195852 + IfStatement 1195865 1196001 + BinaryExpression 1195879 1195902 + Identifier 1195879 1195884 + AmpersandToken 1195884 1195886 + PropertyAccessExpression 1195886 1195902 + Identifier 1195886 1195896 + Identifier 1195897 1195902 + Block 1195903 1196001 + ReturnStatement 1195905 1195990 + CallExpression 1195925 1195989 + Identifier 1195925 1195938 + CallExpression 1195939 1195988 + Identifier 1195939 1195954 + PropertyAccessExpression 1195955 1195979 + ParenthesizedExpression 1195955 1195974 + AsExpression 1195956 1195973 + Identifier 1195956 1195960 + TypeReference 1195963 1195973 + Identifier 1195963 1195973 + Identifier 1195975 1195979 + Identifier 1195980 1195987 + IfStatement 1196001 1196206 + BinaryExpression 1196015 1196048 + Identifier 1196015 1196020 + AmpersandToken 1196020 1196022 + PropertyAccessExpression 1196022 1196048 + Identifier 1196022 1196032 + Identifier 1196033 1196048 + Block 1196049 1196206 + ReturnStatement 1196051 1196195 + CallExpression 1196071 1196194 + Identifier 1196071 1196094 + PropertyAccessExpression 1196095 1196130 + ParenthesizedExpression 1196095 1196124 + AsExpression 1196096 1196123 + Identifier 1196096 1196100 + TypeReference 1196103 1196123 + Identifier 1196103 1196123 + Identifier 1196125 1196130 + CallExpression 1196131 1196193 + Identifier 1196131 1196148 + PropertyAccessExpression 1196149 1196184 + ParenthesizedExpression 1196149 1196178 + AsExpression 1196150 1196177 + Identifier 1196150 1196154 + TypeReference 1196157 1196177 + Identifier 1196157 1196177 + Identifier 1196179 1196184 + Identifier 1196185 1196192 + IfStatement 1196206 1196402 + BinaryExpression 1196220 1196251 + Identifier 1196220 1196225 + AmpersandToken 1196225 1196227 + PropertyAccessExpression 1196227 1196251 + Identifier 1196227 1196237 + Identifier 1196238 1196251 + Block 1196252 1196402 + ReturnStatement 1196254 1196391 + CallExpression 1196274 1196390 + Identifier 1196274 1196295 + PropertyAccessExpression 1196296 1196330 + ParenthesizedExpression 1196296 1196323 + AsExpression 1196297 1196322 + Identifier 1196297 1196301 + TypeReference 1196304 1196322 + Identifier 1196304 1196322 + Identifier 1196324 1196330 + CallExpression 1196331 1196389 + Identifier 1196331 1196347 + PropertyAccessExpression 1196348 1196380 + ParenthesizedExpression 1196348 1196375 + AsExpression 1196349 1196374 + Identifier 1196349 1196353 + TypeReference 1196356 1196374 + Identifier 1196356 1196374 + Identifier 1196376 1196380 + Identifier 1196381 1196388 + IfStatement 1196402 1196936 + BinaryExpression 1196416 1196447 + Identifier 1196416 1196421 + AmpersandToken 1196421 1196423 + PropertyAccessExpression 1196423 1196447 + Identifier 1196423 1196433 + Identifier 1196434 1196447 + Block 1196448 1196936 + VariableStatement 1196450 1196519 + VariableDeclarationList 1196450 1196518 + VariableDeclaration 1196469 1196518 + Identifier 1196469 1196484 + BinaryExpression 1196486 1196518 + Identifier 1196486 1196498 + BarBarToken 1196498 1196501 + PropertyAccessExpression 1196501 1196518 + Identifier 1196501 1196506 + Identifier 1196507 1196518 + VariableStatement 1196519 1196648 + VariableDeclarationList 1196519 1196647 + VariableDeclaration 1196538 1196647 + Identifier 1196538 1196560 + ConditionalExpression 1196562 1196647 + Identifier 1196562 1196574 + QuestionToken 1196574 1196576 + Identifier 1196576 1196595 + ColonToken 1196595 1196597 + CallExpression 1196597 1196647 + Identifier 1196597 1196614 + PropertyAccessExpression 1196615 1196638 + Identifier 1196615 1196619 + Identifier 1196620 1196638 + Identifier 1196639 1196646 + ReturnStatement 1196648 1196925 + CallExpression 1196668 1196924 + Identifier 1196668 1196689 + CallExpression 1196690 1196753 + Identifier 1196690 1196705 + PropertyAccessExpression 1196706 1196744 + ParenthesizedExpression 1196706 1196733 + AsExpression 1196707 1196732 + Identifier 1196707 1196711 + TypeReference 1196714 1196732 + Identifier 1196714 1196732 + Identifier 1196734 1196744 + Identifier 1196745 1196752 + CallExpression 1196754 1196817 + Identifier 1196754 1196770 + PropertyAccessExpression 1196771 1196808 + ParenthesizedExpression 1196771 1196798 + AsExpression 1196772 1196797 + Identifier 1196772 1196776 + TypeReference 1196779 1196797 + Identifier 1196779 1196797 + Identifier 1196799 1196808 + Identifier 1196809 1196816 + PropertyAccessExpression 1196818 1196858 + ParenthesizedExpression 1196818 1196846 + AsExpression 1196820 1196845 + Identifier 1196820 1196824 + TypeReference 1196827 1196845 + Identifier 1196827 1196845 + Identifier 1196847 1196858 + Identifier 1196859 1196884 + Identifier 1196885 1196900 + Identifier 1196901 1196923 + IfStatement 1196936 1197292 + BinaryExpression 1196950 1196979 + Identifier 1196950 1196955 + AmpersandToken 1196955 1196957 + PropertyAccessExpression 1196957 1196979 + Identifier 1196957 1196967 + Identifier 1196968 1196979 + Block 1196980 1197292 + ReturnStatement 1196982 1197281 + CallExpression 1197002 1197280 + Identifier 1197002 1197034 + AsExpression 1197035 1197076 + Identifier 1197035 1197057 + TypeReference 1197060 1197076 + Identifier 1197060 1197076 + CallExpression 1197077 1197155 + Identifier 1197077 1197113 + PropertyAccessExpression 1197114 1197146 + ParenthesizedExpression 1197114 1197139 + AsExpression 1197115 1197138 + Identifier 1197115 1197119 + TypeReference 1197122 1197138 + Identifier 1197122 1197138 + Identifier 1197140 1197146 + Identifier 1197147 1197154 + FalseKeyword 1197156 1197197 + Identifier 1197198 1197227 + Identifier 1197228 1197264 + IfStatement 1197292 1198523 + BinaryExpression 1197306 1197336 + Identifier 1197306 1197311 + AmpersandToken 1197311 1197313 + PropertyAccessExpression 1197313 1197336 + Identifier 1197313 1197323 + Identifier 1197324 1197336 + Block 1197337 1198523 + VariableStatement 1197339 1197434 + VariableDeclarationList 1197339 1197433 + VariableDeclaration 1197358 1197433 + Identifier 1197358 1197370 + CallExpression 1197372 1197433 + Identifier 1197372 1197388 + PropertyAccessExpression 1197389 1197424 + ParenthesizedExpression 1197389 1197415 + AsExpression 1197390 1197414 + Identifier 1197390 1197394 + TypeReference 1197397 1197414 + Identifier 1197397 1197414 + Identifier 1197416 1197424 + Identifier 1197425 1197432 + IfStatement 1197434 1197542 + CallExpression 1197452 1197471 + Identifier 1197452 1197465 + Identifier 1197466 1197470 + Block 1197472 1197542 + ReturnStatement 1197474 1197527 + CallExpression 1197498 1197526 + Identifier 1197498 1197513 + Identifier 1197514 1197525 + VariableStatement 1197542 1197641 + VariableDeclarationList 1197542 1197640 + VariableDeclaration 1197561 1197640 + Identifier 1197561 1197575 + CallExpression 1197577 1197640 + Identifier 1197577 1197593 + PropertyAccessExpression 1197594 1197631 + ParenthesizedExpression 1197594 1197620 + AsExpression 1197595 1197619 + Identifier 1197595 1197599 + TypeReference 1197602 1197619 + Identifier 1197602 1197619 + Identifier 1197621 1197631 + Identifier 1197632 1197639 + IfStatement 1197641 1198121 + BinaryExpression 1197956 1198030 + BinaryExpression 1197956 1197998 + PropertyAccessExpression 1197956 1197973 + Identifier 1197956 1197967 + Identifier 1197968 1197973 + AmpersandToken 1197973 1197975 + PropertyAccessExpression 1197975 1197998 + Identifier 1197975 1197985 + Identifier 1197986 1197998 + AmpersandAmpersandToken 1197998 1198001 + CallExpression 1198001 1198030 + Identifier 1198001 1198015 + Identifier 1198016 1198029 + Block 1198031 1198121 + ReturnStatement 1198033 1198106 + CallExpression 1198057 1198105 + Identifier 1198057 1198077 + Identifier 1198078 1198089 + Identifier 1198090 1198104 + IfStatement 1198121 1198346 + BinaryExpression 1198139 1198291 + BinaryExpression 1198139 1198183 + PropertyAccessExpression 1198139 1198158 + Identifier 1198139 1198152 + Identifier 1198153 1198158 + AmpersandToken 1198158 1198160 + PropertyAccessExpression 1198160 1198183 + Identifier 1198160 1198170 + Identifier 1198171 1198183 + BarBarToken 1198183 1198186 + CallExpression 1198186 1198291 + Identifier 1198186 1198205 + CallExpression 1198206 1198246 + Identifier 1198206 1198233 + Identifier 1198234 1198245 + CallExpression 1198247 1198290 + Identifier 1198247 1198275 + Identifier 1198276 1198289 + Block 1198292 1198346 + ReturnStatement 1198294 1198331 + Identifier 1198318 1198330 + ReturnStatement 1198346 1198512 + ConditionalExpression 1198366 1198511 + BinaryExpression 1198366 1198409 + PropertyAccessExpression 1198366 1198384 + Identifier 1198366 1198378 + Identifier 1198379 1198384 + AmpersandToken 1198384 1198386 + PropertyAccessExpression 1198386 1198409 + Identifier 1198386 1198396 + Identifier 1198397 1198409 + QuestionToken 1198409 1198411 + CallExpression 1198411 1198459 + Identifier 1198411 1198431 + Identifier 1198432 1198443 + Identifier 1198444 1198458 + ColonToken 1198459 1198461 + CallExpression 1198461 1198511 + Identifier 1198461 1198481 + ArrayLiteralExpression 1198482 1198510 + Identifier 1198483 1198496 + Identifier 1198497 1198509 + ReturnStatement 1198523 1198545 + Identifier 1198539 1198544 + FunctionDeclaration 1198552 1199433 + Identifier 1198568 1198597 + Parameter 1198598 1198621 + Identifier 1198598 1198602 + TypeReference 1198603 1198621 + Identifier 1198603 1198621 + Parameter 1198622 1198641 + Identifier 1198622 1198629 + TypeReference 1198630 1198641 + Identifier 1198630 1198641 + Block 1198642 1199433 + VariableStatement 1198644 1198719 + VariableDeclarationList 1198644 1198718 + VariableDeclaration 1198659 1198718 + Identifier 1198659 1198675 + CallExpression 1198677 1198718 + Identifier 1198677 1198693 + PropertyAccessExpression 1198694 1198709 + Identifier 1198694 1198698 + Identifier 1198699 1198709 + Identifier 1198710 1198717 + IfStatement 1198719 1198828 + PrefixUnaryExpression 1198733 1198788 + ParenthesizedExpression 1198734 1198788 + BinaryExpression 1198735 1198787 + CallExpression 1198735 1198766 + Identifier 1198735 1198749 + Identifier 1198750 1198765 + AmpersandToken 1198766 1198768 + PropertyAccessExpression 1198768 1198787 + Identifier 1198768 1198780 + Identifier 1198781 1198787 + Block 1198789 1198828 + ReturnStatement 1198791 1198817 + Identifier 1198811 1198816 + VariableStatement 1198828 1198906 + VariableDeclarationList 1198828 1198905 + VariableDeclaration 1198843 1198905 + Identifier 1198843 1198858 + CallExpression 1198860 1198905 + Identifier 1198860 1198876 + PropertyAccessExpression 1198877 1198896 + Identifier 1198877 1198881 + Identifier 1198882 1198896 + Identifier 1198897 1198904 + IfStatement 1198906 1199001 + PrefixUnaryExpression 1198920 1198961 + ParenthesizedExpression 1198921 1198961 + BinaryExpression 1198922 1198960 + PropertyAccessExpression 1198922 1198942 + Identifier 1198922 1198936 + Identifier 1198937 1198942 + AmpersandToken 1198942 1198944 + PropertyAccessExpression 1198944 1198960 + Identifier 1198944 1198954 + Identifier 1198955 1198960 + Block 1198962 1199001 + ReturnStatement 1198964 1198990 + Identifier 1198984 1198989 + VariableStatement 1199001 1199215 + VariableDeclarationList 1199001 1199214 + VariableDeclaration 1199016 1199214 + Identifier 1199016 1199029 + CallExpression 1199031 1199214 + Identifier 1199031 1199065 + CallExpression 1199066 1199116 + Identifier 1199066 1199095 + PropertyAccessExpression 1199096 1199107 + Identifier 1199096 1199100 + Identifier 1199101 1199107 + Identifier 1199108 1199115 + AsExpression 1199117 1199160 + Identifier 1199117 1199146 + TypeReference 1199149 1199160 + Identifier 1199149 1199160 + AsExpression 1199161 1199202 + Identifier 1199161 1199189 + TypeReference 1199192 1199202 + Identifier 1199192 1199202 + IfStatement 1199215 1199289 + Identifier 1199229 1199241 + Block 1199242 1199289 + ReturnStatement 1199244 1199278 + Identifier 1199264 1199277 + ReturnStatement 1199289 1199311 + Identifier 1199305 1199310 + FunctionDeclaration 1199433 1199719 + Identifier 1199449 1199476 + Parameter 1199477 1199487 + Identifier 1199477 1199481 + TypeReference 1199482 1199487 + Identifier 1199482 1199487 + Block 1199488 1199719 + ReturnStatement 1199490 1199712 + ConditionalExpression 1199506 1199711 + BinaryExpression 1199506 1199584 + PropertyAccessExpression 1199506 1199517 + Identifier 1199506 1199511 + Identifier 1199512 1199517 + AmpersandToken 1199517 1199519 + ParenthesizedExpression 1199519 1199584 + BinaryExpression 1199521 1199583 + BinaryExpression 1199521 1199565 + PropertyAccessExpression 1199521 1199540 + Identifier 1199521 1199530 + Identifier 1199531 1199540 + BarToken 1199540 1199542 + PropertyAccessExpression 1199542 1199565 + Identifier 1199542 1199552 + Identifier 1199553 1199565 + BarToken 1199565 1199567 + PropertyAccessExpression 1199567 1199583 + Identifier 1199567 1199577 + Identifier 1199578 1199583 + QuestionToken 1199584 1199586 + Identifier 1199586 1199591 + ColonToken 1199591 1199593 + BinaryExpression 1199593 1199711 + PropertyAccessExpression 1199593 1199635 + Identifier 1199593 1199611 + Identifier 1199612 1199635 + BarBarToken 1199635 1199638 + ParenthesizedExpression 1199638 1199711 + BinaryExpression 1199640 1199710 + PropertyAccessExpression 1199640 1199668 + Identifier 1199640 1199644 + Identifier 1199645 1199668 + EqualsToken 1199668 1199670 + CallExpression 1199670 1199710 + Identifier 1199670 1199686 + Identifier 1199687 1199691 + Identifier 1199692 1199709 + FunctionDeclaration 1199719 1200828 + Identifier 1199735 1199763 + Parameter 1199764 1199774 + Identifier 1199764 1199768 + TypeReference 1199769 1199774 + Identifier 1199769 1199774 + Block 1199775 1200828 + IfStatement 1199777 1199908 + BinaryExpression 1199791 1199868 + PropertyAccessExpression 1199791 1199801 + Identifier 1199791 1199795 + Identifier 1199796 1199801 + AmpersandToken 1199801 1199803 + ParenthesizedExpression 1199803 1199868 + BinaryExpression 1199805 1199867 + BinaryExpression 1199805 1199849 + PropertyAccessExpression 1199805 1199824 + Identifier 1199805 1199814 + Identifier 1199815 1199824 + BarToken 1199824 1199826 + PropertyAccessExpression 1199826 1199849 + Identifier 1199826 1199836 + Identifier 1199837 1199849 + BarToken 1199849 1199851 + PropertyAccessExpression 1199851 1199867 + Identifier 1199851 1199861 + Identifier 1199862 1199867 + Block 1199869 1199908 + ReturnStatement 1199871 1199897 + Identifier 1199891 1199896 + IfStatement 1199908 1200016 + PropertyAccessExpression 1199922 1199951 + Identifier 1199922 1199926 + Identifier 1199927 1199951 + Block 1199952 1200016 + ReturnStatement 1199954 1200005 + PropertyAccessExpression 1199974 1200004 + Identifier 1199974 1199979 + Identifier 1199980 1200004 + ExpressionStatement 1200016 1200099 + BinaryExpression 1200016 1200098 + PropertyAccessExpression 1200016 1200055 + Identifier 1200016 1200030 + Identifier 1200031 1200055 + EqualsToken 1200055 1200057 + CallExpression 1200057 1200098 + Identifier 1200057 1200073 + Identifier 1200074 1200078 + Identifier 1200079 1200097 + ExpressionStatement 1200099 1200774 + BinaryExpression 1200099 1200773 + PropertyAccessExpression 1200099 1200741 + PropertyAccessExpression 1200099 1200716 + Identifier 1200099 1200691 + Identifier 1200692 1200716 + Identifier 1200717 1200741 + EqualsToken 1200741 1200743 + PropertyAccessExpression 1200743 1200773 + Identifier 1200743 1200748 + Identifier 1200749 1200773 + ReturnStatement 1200774 1200821 + PropertyAccessExpression 1200790 1200820 + Identifier 1200790 1200795 + Identifier 1200796 1200820 + FunctionDeclaration 1200828 1201046 + Identifier 1200844 1200865 + Parameter 1200866 1200881 + Identifier 1200866 1200870 + TypeReference 1200871 1200881 + Identifier 1200871 1200881 + Parameter 1200882 1200901 + Identifier 1200882 1200889 + TypeReference 1200890 1200901 + Identifier 1200890 1200901 + Block 1200902 1201046 + ReturnStatement 1200904 1201039 + CallExpression 1200920 1201038 + Identifier 1200920 1200936 + PropertyAccessExpression 1200937 1200949 + Identifier 1200937 1200941 + Identifier 1200942 1200949 + CallExpression 1200950 1200985 + Identifier 1200950 1200966 + PropertyAccessExpression 1200967 1200976 + Identifier 1200967 1200971 + Identifier 1200972 1200976 + Identifier 1200977 1200984 + PropertyAccessExpression 1200986 1201002 + Identifier 1200986 1200991 + Identifier 1200992 1201002 + PropertyAccessExpression 1201003 1201020 + Identifier 1201003 1201008 + Identifier 1201009 1201020 + PropertyAccessExpression 1201021 1201037 + Identifier 1201021 1201026 + Identifier 1201027 1201037 + FunctionDeclaration 1201046 1203908 + Identifier 1201219 1201238 + Parameter 1201239 1201332 + Identifier 1201239 1201243 + UnionType 1201244 1201332 + TypeReference 1201244 1201255 + Identifier 1201244 1201255 + TypeReference 1201257 1201275 + Identifier 1201257 1201275 + TypeReference 1201277 1201302 + Identifier 1201277 1201302 + TypeReference 1201304 1201321 + Identifier 1201304 1201321 + TypeReference 1201323 1201332 + Identifier 1201323 1201332 + BooleanKeyword 1201334 1201342 + Block 1201342 1203908 + ExpressionStatement 1201344 1201442 + CallExpression 1201344 1201441 + PropertyAccessExpression 1201344 1201366 + Identifier 1201344 1201359 + Identifier 1201360 1201366 + BinaryExpression 1201367 1201440 + BinaryExpression 1201367 1201409 + PropertyAccessExpression 1201367 1201376 + Identifier 1201367 1201371 + Identifier 1201372 1201376 + ExclamationEqualsEqualsToken 1201376 1201380 + PropertyAccessExpression 1201380 1201409 + Identifier 1201380 1201391 + Identifier 1201392 1201409 + BarBarToken 1201409 1201412 + CallExpression 1201412 1201440 + Identifier 1201412 1201434 + Identifier 1201435 1201439 + SwitchStatement 1201442 1203876 + PropertyAccessExpression 1201460 1201469 + Identifier 1201460 1201464 + Identifier 1201465 1201469 + CaseBlock 1201470 1203876 + CaseClause 1201472 1201521 + PropertyAccessExpression 1201490 1201520 + Identifier 1201490 1201501 + Identifier 1201502 1201520 + CaseClause 1201521 1201565 + PropertyAccessExpression 1201539 1201564 + Identifier 1201539 1201550 + Identifier 1201551 1201564 + CaseClause 1201565 1201613 + PropertyAccessExpression 1201583 1201612 + Identifier 1201583 1201594 + Identifier 1201595 1201612 + CaseClause 1201613 1201870 + PropertyAccessExpression 1201631 1201662 + Identifier 1201631 1201642 + Identifier 1201643 1201662 + ReturnStatement 1201663 1201870 + CallExpression 1201763 1201869 + Identifier 1201763 1201805 + AsExpression 1201806 1201868 + Identifier 1201806 1201810 + UnionType 1201813 1201868 + TypeReference 1201813 1201832 + Identifier 1201813 1201832 + TypeReference 1201834 1201848 + Identifier 1201834 1201848 + TypeReference 1201850 1201868 + Identifier 1201850 1201868 + CaseClause 1201870 1202020 + PropertyAccessExpression 1201888 1201923 + Identifier 1201888 1201899 + Identifier 1201900 1201923 + ReturnStatement 1201924 1202020 + CallExpression 1201948 1202019 + Identifier 1201948 1201953 + PropertyAccessExpression 1201954 1201998 + ParenthesizedExpression 1201954 1201987 + AsExpression 1201955 1201986 + Identifier 1201955 1201959 + TypeReference 1201962 1201986 + Identifier 1201962 1201986 + Identifier 1201988 1201998 + Identifier 1201999 1202018 + CaseClause 1202020 1202166 + PropertyAccessExpression 1202038 1202072 + Identifier 1202038 1202049 + Identifier 1202050 1202072 + ReturnStatement 1202073 1202166 + CallExpression 1202097 1202165 + Identifier 1202097 1202102 + PropertyAccessExpression 1202103 1202144 + ParenthesizedExpression 1202103 1202135 + AsExpression 1202104 1202134 + Identifier 1202104 1202108 + TypeReference 1202111 1202134 + Identifier 1202111 1202134 + Identifier 1202136 1202144 + Identifier 1202145 1202164 + CaseClause 1202166 1202390 + PropertyAccessExpression 1202184 1202217 + Identifier 1202184 1202195 + Identifier 1202196 1202217 + ReturnStatement 1202218 1202390 + BinaryExpression 1202242 1202389 + CallExpression 1202242 1202303 + Identifier 1202242 1202261 + PropertyAccessExpression 1202262 1202302 + ParenthesizedExpression 1202262 1202293 + AsExpression 1202263 1202292 + Identifier 1202263 1202267 + TypeReference 1202270 1202292 + Identifier 1202270 1202292 + Identifier 1202294 1202302 + BarBarToken 1202303 1202306 + CallExpression 1202306 1202389 + Identifier 1202306 1202346 + PropertyAccessExpression 1202347 1202388 + ParenthesizedExpression 1202347 1202378 + AsExpression 1202348 1202377 + Identifier 1202348 1202352 + TypeReference 1202355 1202377 + Identifier 1202355 1202377 + Identifier 1202379 1202388 + CaseClause 1202390 1202757 + PropertyAccessExpression 1202408 1202436 + Identifier 1202408 1202419 + Identifier 1202420 1202436 + ReturnStatement 1202437 1202757 + BinaryExpression 1202461 1202756 + ParenthesizedExpression 1202461 1202622 + BinaryExpression 1202463 1202621 + BinaryExpression 1202463 1202535 + PropertyAccessExpression 1202463 1202508 + PropertyAccessExpression 1202463 1202503 + ParenthesizedExpression 1202463 1202489 + AsExpression 1202464 1202488 + Identifier 1202464 1202468 + TypeReference 1202471 1202488 + Identifier 1202471 1202488 + Identifier 1202490 1202503 + Identifier 1202504 1202508 + EqualsEqualsEqualsToken 1202508 1202512 + PropertyAccessExpression 1202512 1202535 + Identifier 1202512 1202523 + Identifier 1202524 1202535 + BarBarToken 1202535 1202538 + BinaryExpression 1202538 1202621 + PropertyAccessExpression 1202538 1202584 + PropertyAccessExpression 1202538 1202579 + ParenthesizedExpression 1202538 1202565 + AsExpression 1202540 1202564 + Identifier 1202540 1202544 + TypeReference 1202547 1202564 + Identifier 1202547 1202564 + Identifier 1202566 1202579 + Identifier 1202580 1202584 + EqualsEqualsEqualsToken 1202584 1202588 + PropertyAccessExpression 1202588 1202621 + Identifier 1202588 1202599 + Identifier 1202600 1202621 + AmpersandAmpersandToken 1202622 1202625 + ParenthesizedExpression 1202625 1202756 + BinaryExpression 1202648 1202755 + CallExpression 1202648 1202699 + Identifier 1202648 1202666 + PropertyAccessExpression 1202667 1202698 + ParenthesizedExpression 1202667 1202693 + AsExpression 1202668 1202692 + Identifier 1202668 1202672 + TypeReference 1202675 1202692 + Identifier 1202675 1202692 + Identifier 1202694 1202698 + BarBarToken 1202699 1202702 + CallExpression 1202702 1202755 + Identifier 1202702 1202721 + PropertyAccessExpression 1202722 1202754 + ParenthesizedExpression 1202722 1202748 + AsExpression 1202723 1202747 + Identifier 1202723 1202727 + TypeReference 1202730 1202747 + Identifier 1202730 1202747 + Identifier 1202749 1202754 + CaseClause 1202757 1202892 + PropertyAccessExpression 1202775 1202805 + Identifier 1202775 1202786 + Identifier 1202787 1202805 + ReturnStatement 1202806 1202892 + CallExpression 1202830 1202891 + Identifier 1202830 1202849 + PropertyAccessExpression 1202850 1202890 + ParenthesizedExpression 1202850 1202878 + AsExpression 1202851 1202877 + Identifier 1202851 1202855 + TypeReference 1202858 1202877 + Identifier 1202858 1202877 + Identifier 1202879 1202890 + CaseClause 1202892 1203036 + PropertyAccessExpression 1202910 1202945 + Identifier 1202910 1202921 + Identifier 1202922 1202945 + ReturnStatement 1202946 1203036 + CallExpression 1202970 1203035 + Identifier 1202970 1202989 + PropertyAccessExpression 1202990 1203034 + ParenthesizedExpression 1202990 1203023 + AsExpression 1202991 1203022 + Identifier 1202991 1202995 + TypeReference 1202998 1203022 + Identifier 1202998 1203022 + Identifier 1203024 1203034 + CaseClause 1203036 1203259 + PropertyAccessExpression 1203054 1203079 + Identifier 1203054 1203065 + Identifier 1203066 1203079 + ReturnStatement 1203080 1203259 + BinaryExpression 1203104 1203258 + CallExpression 1203104 1203165 + Identifier 1203104 1203109 + PropertyAccessExpression 1203110 1203144 + ParenthesizedExpression 1203110 1203133 + AsExpression 1203111 1203132 + Identifier 1203111 1203115 + TypeReference 1203118 1203132 + Identifier 1203118 1203132 + Identifier 1203134 1203144 + Identifier 1203145 1203164 + BarBarToken 1203165 1203168 + BinaryExpression 1203168 1203258 + CallExpression 1203168 1203201 + Identifier 1203168 1203188 + PropertyAccessExpression 1203189 1203200 + Identifier 1203189 1203193 + Identifier 1203194 1203200 + AmpersandAmpersandToken 1203201 1203204 + CallExpression 1203204 1203258 + Identifier 1203204 1203209 + PropertyAccessExpression 1203210 1203237 + PropertyAccessExpression 1203210 1203228 + PropertyAccessExpression 1203210 1203221 + Identifier 1203210 1203214 + Identifier 1203215 1203221 + Identifier 1203222 1203228 + Identifier 1203229 1203237 + Identifier 1203238 1203257 + CaseClause 1203259 1203578 + PropertyAccessExpression 1203277 1203301 + Identifier 1203277 1203288 + Identifier 1203289 1203301 + Block 1203302 1203578 + VariableStatement 1203304 1203489 + VariableDeclarationList 1203304 1203488 + VariableDeclaration 1203449 1203488 + ObjectBindingPattern 1203449 1203465 + BindingElement 1203451 1203463 + Identifier 1203451 1203463 + AsExpression 1203467 1203488 + Identifier 1203467 1203472 + TypeReference 1203475 1203488 + Identifier 1203475 1203488 + ReturnStatement 1203489 1203563 + BinaryExpression 1203513 1203562 + PrefixUnaryExpression 1203513 1203527 + PrefixUnaryExpression 1203515 1203527 + Identifier 1203516 1203527 + AmpersandAmpersandToken 1203527 1203530 + CallExpression 1203530 1203562 + Identifier 1203530 1203549 + Identifier 1203550 1203561 + CaseClause 1203578 1203865 + PropertyAccessExpression 1203596 1203621 + Identifier 1203596 1203607 + Identifier 1203608 1203621 + Block 1203622 1203865 + VariableStatement 1203624 1203778 + VariableDeclarationList 1203624 1203777 + VariableDeclaration 1203738 1203777 + ObjectBindingPattern 1203738 1203753 + BindingElement 1203740 1203751 + Identifier 1203740 1203751 + AsExpression 1203755 1203777 + Identifier 1203755 1203760 + TypeReference 1203763 1203777 + Identifier 1203763 1203777 + ReturnStatement 1203778 1203850 + BinaryExpression 1203802 1203849 + PrefixUnaryExpression 1203802 1203815 + PrefixUnaryExpression 1203804 1203815 + Identifier 1203805 1203815 + AmpersandAmpersandToken 1203815 1203818 + CallExpression 1203818 1203849 + Identifier 1203818 1203837 + Identifier 1203838 1203848 + ReturnStatement 1203876 1203901 + FalseKeyword 1203894 1203900 + FunctionDeclaration 1203908 1204113 + Identifier 1203924 1203966 + Parameter 1203967 1203996 + Identifier 1203967 1203971 + TypeReference 1203972 1203996 + Identifier 1203972 1203996 + BooleanKeyword 1203998 1204006 + Block 1204006 1204113 + ReturnStatement 1204008 1204106 + BinaryExpression 1204024 1204105 + CallExpression 1204024 1204060 + Identifier 1204024 1204054 + Identifier 1204055 1204059 + BarBarToken 1204060 1204063 + CallExpression 1204063 1204105 + Identifier 1204063 1204099 + Identifier 1204100 1204104 + FunctionDeclaration 1204113 1204586 + Identifier 1204129 1204165 + Parameter 1204166 1204195 + Identifier 1204166 1204170 + TypeReference 1204171 1204195 + Identifier 1204171 1204195 + Block 1204196 1204586 + IfStatement 1204198 1204322 + BinaryExpression 1204212 1204281 + BinaryExpression 1204212 1204267 + PropertyAccessExpression 1204212 1204231 + Identifier 1204212 1204216 + Identifier 1204217 1204231 + BarBarToken 1204231 1204234 + CallExpression 1204234 1204267 + Identifier 1204234 1204261 + Identifier 1204262 1204266 + BarBarToken 1204267 1204270 + PrefixUnaryExpression 1204270 1204281 + PropertyAccessExpression 1204272 1204281 + Identifier 1204272 1204276 + Identifier 1204277 1204281 + Block 1204282 1204322 + ReturnStatement 1204284 1204311 + FalseKeyword 1204304 1204310 + IfStatement 1204322 1204436 + BinaryExpression 1204336 1204371 + PropertyAccessExpression 1204336 1204350 + PropertyAccessExpression 1204336 1204345 + Identifier 1204336 1204340 + Identifier 1204341 1204345 + Identifier 1204346 1204350 + ExclamationEqualsEqualsToken 1204350 1204354 + PropertyAccessExpression 1204354 1204371 + Identifier 1204354 1204365 + Identifier 1204366 1204371 + Block 1204372 1204436 + ReturnStatement 1204374 1204425 + CallExpression 1204394 1204424 + Identifier 1204394 1204413 + PropertyAccessExpression 1204414 1204423 + Identifier 1204414 1204418 + Identifier 1204419 1204423 + ReturnStatement 1204436 1204579 + PrefixUnaryExpression 1204452 1204578 + PrefixUnaryExpression 1204454 1204578 + CallExpression 1204455 1204578 + Identifier 1204455 1204477 + AsExpression 1204478 1204496 + PropertyAccessExpression 1204478 1204487 + Identifier 1204478 1204482 + Identifier 1204483 1204487 + TypeReference 1204490 1204496 + Identifier 1204490 1204496 + ArrowFunction 1204497 1204577 + Parameter 1204497 1204507 + Identifier 1204497 1204507 + EqualsGreaterThanToken 1204507 1204510 + BinaryExpression 1204510 1204577 + PrefixUnaryExpression 1204510 1204533 + PrefixUnaryExpression 1204512 1204533 + PropertyAccessExpression 1204513 1204533 + Identifier 1204513 1204522 + Identifier 1204523 1204533 + AmpersandAmpersandToken 1204533 1204536 + CallExpression 1204536 1204577 + Identifier 1204536 1204555 + PropertyAccessExpression 1204556 1204576 + Identifier 1204556 1204565 + Identifier 1204566 1204576 + FunctionDeclaration 1204586 1204891 + Identifier 1204602 1204650 + Parameter 1204651 1204661 + Identifier 1204651 1204655 + TypeReference 1204656 1204661 + Identifier 1204656 1204661 + TypePredicate 1204663 1204726 + Identifier 1204663 1204668 + UnionType 1204671 1204726 + TypeReference 1204671 1204690 + Identifier 1204671 1204690 + TypeReference 1204692 1204706 + Identifier 1204692 1204706 + TypeReference 1204708 1204726 + Identifier 1204708 1204726 + Block 1204726 1204891 + ReturnStatement 1204728 1204884 + BinaryExpression 1204744 1204883 + ParenthesizedExpression 1204744 1204819 + BinaryExpression 1204746 1204818 + CallExpression 1204746 1204787 + Identifier 1204746 1204781 + Identifier 1204782 1204786 + BarBarToken 1204787 1204790 + CallExpression 1204790 1204818 + Identifier 1204790 1204812 + Identifier 1204813 1204817 + AmpersandAmpersandToken 1204819 1204822 + CallExpression 1204822 1204883 + Identifier 1204822 1204877 + Identifier 1204878 1204882 + FunctionDeclaration 1204891 1205785 + Identifier 1204907 1204932 + Parameter 1204933 1204943 + Identifier 1204933 1204937 + TypeReference 1204938 1204943 + Identifier 1204938 1204943 + TypeReference 1204945 1204950 + Identifier 1204945 1204950 + Block 1204950 1205785 + IfStatement 1204952 1205756 + BinaryExpression 1204966 1204995 + PropertyAccessExpression 1204966 1204976 + Identifier 1204966 1204970 + Identifier 1204971 1204976 + AmpersandToken 1204976 1204978 + PropertyAccessExpression 1204978 1204995 + Identifier 1204978 1204988 + Identifier 1204989 1204995 + Block 1204996 1205582 + VariableStatement 1204998 1205078 + VariableDeclarationList 1204998 1205077 + VariableDeclaration 1205017 1205077 + Identifier 1205017 1205026 + CallExpression 1205028 1205077 + Identifier 1205028 1205057 + AsExpression 1205058 1205076 + Identifier 1205058 1205062 + TypeReference 1205065 1205076 + Identifier 1205065 1205076 + IfStatement 1205078 1205571 + BinaryExpression 1205096 1205165 + PropertyAccessExpression 1205096 1205131 + PropertyAccessExpression 1205096 1205124 + Identifier 1205096 1205104 + Identifier 1205105 1205124 + Identifier 1205125 1205131 + BarBarToken 1205131 1205134 + PropertyAccessExpression 1205134 1205165 + PropertyAccessExpression 1205134 1205158 + Identifier 1205134 1205143 + Identifier 1205144 1205158 + Identifier 1205159 1205165 + Block 1205166 1205571 + VariableStatement 1205168 1205254 + VariableDeclarationList 1205168 1205253 + VariableDeclaration 1205191 1205253 + Identifier 1205191 1205198 + CallExpression 1205200 1205253 + Identifier 1205200 1205217 + PropertyAccessExpression 1205218 1205239 + Identifier 1205218 1205229 + Identifier 1205230 1205239 + PropertyAccessExpression 1205240 1205252 + Identifier 1205240 1205245 + Identifier 1205246 1205252 + ExpressionStatement 1205254 1205306 + BinaryExpression 1205254 1205305 + PropertyAccessExpression 1205254 1205286 + Identifier 1205254 1205278 + Identifier 1205279 1205286 + EqualsToken 1205286 1205288 + PropertyAccessExpression 1205288 1205305 + Identifier 1205288 1205297 + Identifier 1205298 1205305 + ExpressionStatement 1205306 1205364 + BinaryExpression 1205306 1205363 + PropertyAccessExpression 1205306 1205341 + Identifier 1205306 1205330 + Identifier 1205331 1205341 + EqualsToken 1205341 1205343 + PropertyAccessExpression 1205343 1205363 + Identifier 1205343 1205352 + Identifier 1205353 1205363 + ExpressionStatement 1205364 1205417 + BinaryExpression 1205364 1205416 + PropertyAccessExpression 1205364 1205403 + Identifier 1205364 1205388 + Identifier 1205389 1205403 + EqualsToken 1205403 1205405 + Identifier 1205405 1205416 + ExpressionStatement 1205417 1205475 + BinaryExpression 1205417 1205474 + PropertyAccessExpression 1205417 1205461 + Identifier 1205417 1205441 + Identifier 1205442 1205461 + EqualsToken 1205461 1205463 + Identifier 1205463 1205474 + ExpressionStatement 1205475 1205524 + BinaryExpression 1205475 1205523 + PropertyAccessExpression 1205475 1205510 + Identifier 1205475 1205499 + Identifier 1205500 1205510 + EqualsToken 1205510 1205512 + Identifier 1205512 1205523 + ReturnStatement 1205524 1205556 + Identifier 1205548 1205555 + IfStatement 1205596 1205756 + BinaryExpression 1205601 1205636 + PropertyAccessExpression 1205601 1205611 + Identifier 1205601 1205605 + Identifier 1205606 1205611 + AmpersandToken 1205611 1205613 + PropertyAccessExpression 1205613 1205636 + Identifier 1205613 1205623 + Identifier 1205624 1205636 + Block 1205637 1205756 + ReturnStatement 1205639 1205745 + CallExpression 1205659 1205744 + Identifier 1205659 1205679 + CallExpression 1205680 1205743 + Identifier 1205680 1205683 + PropertyAccessExpression 1205684 1205716 + ParenthesizedExpression 1205684 1205710 + AsExpression 1205685 1205709 + Identifier 1205685 1205689 + TypeReference 1205692 1205709 + Identifier 1205692 1205709 + Identifier 1205711 1205716 + Identifier 1205717 1205742 + ReturnStatement 1205756 1205778 + Identifier 1205772 1205777 + FunctionDeclaration 1205785 1205956 + Identifier 1205825 1205843 + Parameter 1205844 1205856 + Identifier 1205844 1205850 + TypeReference 1205851 1205856 + Identifier 1205851 1205856 + Parameter 1205857 1205870 + Identifier 1205857 1205864 + TypeReference 1205865 1205870 + Identifier 1205865 1205870 + BooleanKeyword 1205872 1205880 + Block 1205880 1205956 + ReturnStatement 1205882 1205949 + CallExpression 1205898 1205948 + Identifier 1205898 1205914 + Identifier 1205915 1205921 + Identifier 1205922 1205929 + Identifier 1205930 1205947 + FunctionDeclaration 1205956 1206138 + Identifier 1205972 1205994 + Parameter 1205995 1206007 + Identifier 1205995 1206001 + TypeReference 1206002 1206007 + Identifier 1206002 1206007 + Parameter 1206008 1206021 + Identifier 1206008 1206015 + TypeReference 1206016 1206021 + Identifier 1206016 1206021 + TypeReference 1206023 1206031 + Identifier 1206023 1206031 + Block 1206031 1206138 + ReturnStatement 1206033 1206131 + ConditionalExpression 1206049 1206130 + CallExpression 1206049 1206099 + Identifier 1206049 1206065 + Identifier 1206066 1206072 + Identifier 1206073 1206080 + Identifier 1206081 1206098 + QuestionToken 1206099 1206101 + PropertyAccessExpression 1206101 1206114 + Identifier 1206101 1206109 + Identifier 1206110 1206114 + ColonToken 1206114 1206116 + PropertyAccessExpression 1206116 1206130 + Identifier 1206116 1206124 + Identifier 1206125 1206130 + FunctionDeclaration 1206138 1206323 + Identifier 1206154 1206177 + Parameter 1206178 1206190 + Identifier 1206178 1206184 + TypeReference 1206185 1206190 + Identifier 1206185 1206190 + Parameter 1206191 1206204 + Identifier 1206191 1206198 + TypeReference 1206199 1206204 + Identifier 1206199 1206204 + TypeReference 1206206 1206214 + Identifier 1206206 1206214 + Block 1206214 1206323 + ReturnStatement 1206216 1206316 + ConditionalExpression 1206232 1206315 + CallExpression 1206232 1206284 + Identifier 1206232 1206248 + Identifier 1206249 1206255 + Identifier 1206256 1206263 + Identifier 1206264 1206283 + QuestionToken 1206284 1206286 + PropertyAccessExpression 1206286 1206299 + Identifier 1206286 1206294 + Identifier 1206295 1206299 + ColonToken 1206299 1206301 + PropertyAccessExpression 1206301 1206315 + Identifier 1206301 1206309 + Identifier 1206310 1206315 + FunctionDeclaration 1206323 1206504 + Identifier 1206339 1206361 + Parameter 1206362 1206374 + Identifier 1206362 1206368 + TypeReference 1206369 1206374 + Identifier 1206369 1206374 + Parameter 1206375 1206388 + Identifier 1206375 1206382 + TypeReference 1206383 1206388 + Identifier 1206383 1206388 + TypeReference 1206390 1206398 + Identifier 1206390 1206398 + Block 1206398 1206504 + ReturnStatement 1206400 1206497 + ConditionalExpression 1206416 1206496 + CallExpression 1206416 1206465 + Identifier 1206416 1206432 + Identifier 1206433 1206439 + Identifier 1206440 1206447 + Identifier 1206448 1206464 + QuestionToken 1206465 1206467 + PropertyAccessExpression 1206467 1206480 + Identifier 1206467 1206475 + Identifier 1206476 1206480 + ColonToken 1206480 1206482 + PropertyAccessExpression 1206482 1206496 + Identifier 1206482 1206490 + Identifier 1206491 1206496 + FunctionDeclaration 1206504 1206648 + Identifier 1206520 1206536 + Parameter 1206537 1206549 + Identifier 1206537 1206543 + TypeReference 1206544 1206549 + Identifier 1206544 1206549 + Parameter 1206550 1206563 + Identifier 1206550 1206557 + TypeReference 1206558 1206563 + Identifier 1206558 1206563 + BooleanKeyword 1206565 1206573 + Block 1206573 1206648 + ReturnStatement 1206575 1206641 + CallExpression 1206591 1206640 + Identifier 1206591 1206607 + Identifier 1206608 1206614 + Identifier 1206615 1206622 + Identifier 1206623 1206639 + FunctionDeclaration 1206648 1206804 + Identifier 1206664 1206686 + Parameter 1206687 1206699 + Identifier 1206687 1206693 + TypeReference 1206694 1206699 + Identifier 1206694 1206699 + Parameter 1206700 1206713 + Identifier 1206700 1206707 + TypeReference 1206708 1206713 + Identifier 1206708 1206713 + BooleanKeyword 1206715 1206723 + Block 1206723 1206804 + ReturnStatement 1206725 1206797 + CallExpression 1206741 1206796 + Identifier 1206741 1206757 + Identifier 1206758 1206764 + Identifier 1206765 1206772 + Identifier 1206773 1206795 + FunctionDeclaration 1206804 1206954 + Identifier 1206820 1206839 + Parameter 1206840 1206852 + Identifier 1206840 1206846 + TypeReference 1206847 1206852 + Identifier 1206847 1206852 + Parameter 1206853 1206866 + Identifier 1206853 1206860 + TypeReference 1206861 1206866 + Identifier 1206861 1206866 + BooleanKeyword 1206868 1206876 + Block 1206876 1206954 + ReturnStatement 1206878 1206947 + CallExpression 1206894 1206946 + Identifier 1206894 1206910 + Identifier 1206911 1206917 + Identifier 1206918 1206925 + Identifier 1206926 1206945 + FunctionDeclaration 1206954 1208848 + Identifier 1207715 1207733 + Parameter 1207734 1207746 + Identifier 1207734 1207740 + TypeReference 1207741 1207746 + Identifier 1207741 1207746 + Parameter 1207747 1207760 + Identifier 1207747 1207754 + TypeReference 1207755 1207760 + Identifier 1207755 1207760 + BooleanKeyword 1207762 1207770 + Block 1207770 1208848 + ReturnStatement 1207772 1208841 + ConditionalExpression 1207788 1208840 + BinaryExpression 1207788 1207819 + PropertyAccessExpression 1207788 1207801 + Identifier 1207788 1207795 + Identifier 1207796 1207801 + AmpersandToken 1207801 1207803 + PropertyAccessExpression 1207803 1207819 + Identifier 1207803 1207813 + Identifier 1207814 1207819 + QuestionToken 1207819 1207821 + CallExpression 1207821 1207891 + Identifier 1207821 1207827 + PropertyAccessExpression 1207828 1207855 + ParenthesizedExpression 1207828 1207849 + AsExpression 1207829 1207848 + Identifier 1207829 1207835 + TypeReference 1207838 1207848 + Identifier 1207838 1207848 + Identifier 1207850 1207855 + ArrowFunction 1207856 1207890 + Parameter 1207856 1207858 + Identifier 1207856 1207858 + EqualsGreaterThanToken 1207858 1207861 + CallExpression 1207861 1207890 + Identifier 1207861 1207879 + Identifier 1207880 1207881 + Identifier 1207882 1207889 + ColonToken 1207891 1207893 + ConditionalExpression 1207893 1208840 + BinaryExpression 1207893 1207937 + PropertyAccessExpression 1207893 1207919 + Identifier 1207893 1207913 + Identifier 1207914 1207919 + AmpersandToken 1207919 1207921 + PropertyAccessExpression 1207921 1207937 + Identifier 1207921 1207931 + Identifier 1207932 1207937 + QuestionToken 1207937 1207939 + CallExpression 1207939 1208008 + Identifier 1207939 1207944 + PropertyAccessExpression 1207945 1207972 + ParenthesizedExpression 1207945 1207966 + AsExpression 1207946 1207965 + Identifier 1207946 1207952 + TypeReference 1207955 1207965 + Identifier 1207955 1207965 + Identifier 1207967 1207972 + ArrowFunction 1207973 1208007 + Parameter 1207973 1207975 + Identifier 1207973 1207975 + EqualsGreaterThanToken 1207975 1207978 + CallExpression 1207978 1208007 + Identifier 1207978 1207996 + Identifier 1207997 1208003 + Identifier 1208004 1208006 + ColonToken 1208008 1208010 + ConditionalExpression 1208010 1208840 + BinaryExpression 1208010 1208061 + PropertyAccessExpression 1208010 1208036 + Identifier 1208010 1208030 + Identifier 1208031 1208036 + AmpersandToken 1208036 1208038 + PropertyAccessExpression 1208038 1208061 + Identifier 1208038 1208048 + Identifier 1208049 1208061 + QuestionToken 1208061 1208063 + CallExpression 1208063 1208139 + Identifier 1208063 1208068 + PropertyAccessExpression 1208069 1208103 + ParenthesizedExpression 1208069 1208097 + AsExpression 1208070 1208096 + Identifier 1208070 1208076 + TypeReference 1208079 1208096 + Identifier 1208079 1208096 + Identifier 1208098 1208103 + ArrowFunction 1208104 1208138 + Parameter 1208104 1208106 + Identifier 1208104 1208106 + EqualsGreaterThanToken 1208106 1208109 + CallExpression 1208109 1208138 + Identifier 1208109 1208127 + Identifier 1208128 1208129 + Identifier 1208130 1208137 + ColonToken 1208139 1208141 + ConditionalExpression 1208141 1208840 + BinaryExpression 1208141 1208204 + PropertyAccessExpression 1208141 1208167 + Identifier 1208141 1208161 + Identifier 1208162 1208167 + AmpersandToken 1208167 1208169 + PropertyAccessExpression 1208169 1208204 + Identifier 1208169 1208179 + Identifier 1208180 1208204 + QuestionToken 1208204 1208206 + CallExpression 1208206 1208280 + Identifier 1208206 1208224 + BinaryExpression 1208225 1208271 + CallExpression 1208225 1208256 + Identifier 1208225 1208248 + Identifier 1208249 1208255 + BarBarToken 1208256 1208259 + Identifier 1208259 1208271 + Identifier 1208272 1208279 + ColonToken 1208280 1208282 + ConditionalExpression 1208282 1208840 + CallExpression 1208282 1208330 + Identifier 1208282 1208322 + Identifier 1208323 1208329 + QuestionToken 1208330 1208332 + PrefixUnaryExpression 1208332 1208395 + PrefixUnaryExpression 1208334 1208395 + ParenthesizedExpression 1208335 1208395 + BinaryExpression 1208336 1208394 + PropertyAccessExpression 1208336 1208348 + Identifier 1208336 1208342 + Identifier 1208343 1208348 + AmpersandToken 1208348 1208350 + ParenthesizedExpression 1208350 1208394 + BinaryExpression 1208352 1208393 + PropertyAccessExpression 1208352 1208368 + Identifier 1208352 1208361 + Identifier 1208362 1208368 + BarToken 1208368 1208370 + PropertyAccessExpression 1208370 1208393 + Identifier 1208370 1208380 + Identifier 1208381 1208393 + ColonToken 1208395 1208397 + ConditionalExpression 1208397 1208840 + BinaryExpression 1208397 1208438 + Identifier 1208397 1208417 + EqualsEqualsEqualsToken 1208417 1208421 + Identifier 1208421 1208438 + QuestionToken 1208438 1208440 + BinaryExpression 1208440 1208542 + PrefixUnaryExpression 1208440 1208503 + PrefixUnaryExpression 1208442 1208503 + ParenthesizedExpression 1208443 1208503 + BinaryExpression 1208444 1208502 + PropertyAccessExpression 1208444 1208456 + Identifier 1208444 1208450 + Identifier 1208451 1208456 + AmpersandToken 1208456 1208458 + ParenthesizedExpression 1208458 1208502 + BinaryExpression 1208460 1208501 + PropertyAccessExpression 1208460 1208476 + Identifier 1208460 1208469 + Identifier 1208470 1208476 + BarToken 1208476 1208478 + PropertyAccessExpression 1208478 1208501 + Identifier 1208478 1208488 + Identifier 1208489 1208501 + AmpersandAmpersandToken 1208503 1208506 + PrefixUnaryExpression 1208506 1208542 + CallExpression 1208508 1208542 + Identifier 1208508 1208534 + Identifier 1208535 1208541 + ColonToken 1208542 1208544 + ConditionalExpression 1208544 1208840 + BinaryExpression 1208544 1208587 + Identifier 1208544 1208564 + EqualsEqualsEqualsToken 1208564 1208568 + Identifier 1208568 1208587 + QuestionToken 1208587 1208589 + BinaryExpression 1208589 1208671 + PrefixUnaryExpression 1208589 1208625 + PrefixUnaryExpression 1208591 1208625 + ParenthesizedExpression 1208592 1208625 + BinaryExpression 1208593 1208624 + PropertyAccessExpression 1208593 1208605 + Identifier 1208593 1208599 + Identifier 1208600 1208605 + AmpersandToken 1208605 1208607 + PropertyAccessExpression 1208607 1208624 + Identifier 1208607 1208617 + Identifier 1208618 1208624 + AmpersandAmpersandToken 1208625 1208628 + CallExpression 1208628 1208671 + Identifier 1208628 1208649 + AsExpression 1208650 1208670 + Identifier 1208650 1208656 + TypeReference 1208659 1208670 + Identifier 1208659 1208670 + ColonToken 1208671 1208673 + BinaryExpression 1208673 1208840 + CallExpression 1208673 1208729 + Identifier 1208673 1208698 + Identifier 1208699 1208705 + CallExpression 1208706 1208728 + Identifier 1208706 1208720 + Identifier 1208721 1208727 + BarBarToken 1208729 1208732 + ParenthesizedExpression 1208732 1208840 + BinaryExpression 1208734 1208839 + BinaryExpression 1208734 1208785 + CallExpression 1208734 1208753 + Identifier 1208734 1208745 + Identifier 1208746 1208752 + AmpersandAmpersandToken 1208753 1208756 + PrefixUnaryExpression 1208756 1208785 + CallExpression 1208758 1208785 + Identifier 1208758 1208777 + Identifier 1208778 1208784 + AmpersandAmpersandToken 1208785 1208788 + CallExpression 1208788 1208839 + Identifier 1208788 1208806 + Identifier 1208807 1208813 + Identifier 1208814 1208838 + FunctionDeclaration 1208848 1209679 + Identifier 1209545 1209564 + Parameter 1209565 1209577 + Identifier 1209565 1209571 + TypeReference 1209572 1209577 + Identifier 1209572 1209577 + Parameter 1209578 1209591 + Identifier 1209578 1209585 + TypeReference 1209586 1209591 + Identifier 1209586 1209591 + BooleanKeyword 1209593 1209601 + Block 1209601 1209679 + ReturnStatement 1209603 1209672 + CallExpression 1209619 1209671 + Identifier 1209619 1209635 + Identifier 1209636 1209642 + Identifier 1209643 1209650 + Identifier 1209651 1209670 + FunctionDeclaration 1209679 1209844 + Identifier 1209695 1209714 + Parameter 1209715 1209726 + Identifier 1209715 1209720 + TypeReference 1209721 1209726 + Identifier 1209721 1209726 + Parameter 1209727 1209739 + Identifier 1209727 1209733 + TypeReference 1209734 1209739 + Identifier 1209734 1209739 + BooleanKeyword 1209741 1209749 + Block 1209749 1209844 + ReturnStatement 1209751 1209837 + BinaryExpression 1209767 1209836 + CallExpression 1209767 1209800 + Identifier 1209767 1209786 + Identifier 1209787 1209792 + Identifier 1209793 1209799 + BarBarToken 1209800 1209803 + CallExpression 1209803 1209836 + Identifier 1209803 1209822 + Identifier 1209823 1209828 + Identifier 1209829 1209835 + FunctionDeclaration 1209844 1210244 + Identifier 1209860 1209882 + Parameter 1209883 1209895 + Identifier 1209883 1209889 + TypeReference 1209890 1209895 + Identifier 1209890 1209895 + Parameter 1209896 1209909 + Identifier 1209896 1209903 + TypeReference 1209904 1209909 + Identifier 1209904 1209909 + Parameter 1209910 1209938 + Identifier 1209910 1209920 + UnionType 1209921 1209938 + TypeReference 1209921 1209926 + Identifier 1209921 1209926 + UndefinedKeyword 1209928 1209938 + Parameter 1209939 1209971 + Identifier 1209939 1209951 + QuestionToken 1209951 1209952 + TypeReference 1209953 1209971 + Identifier 1209953 1209971 + Parameter 1209972 1210038 + Identifier 1209972 1209995 + QuestionToken 1209995 1209996 + FunctionType 1209997 1210038 + UnionType 1210003 1210038 + TypeReference 1210003 1210026 + Identifier 1210003 1210026 + UndefinedKeyword 1210028 1210038 + Parameter 1210039 1210086 + Identifier 1210039 1210057 + QuestionToken 1210057 1210058 + TypeLiteral 1210059 1210086 + PropertySignature 1210061 1210084 + Identifier 1210061 1210068 + QuestionToken 1210068 1210069 + ArrayType 1210070 1210083 + TypeReference 1210070 1210081 + Identifier 1210070 1210081 + BooleanKeyword 1210088 1210096 + Block 1210096 1210244 + ReturnStatement 1210098 1210237 + CallExpression 1210114 1210236 + Identifier 1210114 1210133 + Identifier 1210134 1210140 + Identifier 1210141 1210148 + Identifier 1210149 1210168 + Identifier 1210169 1210179 + Identifier 1210180 1210192 + Identifier 1210193 1210216 + Identifier 1210217 1210235 + FunctionDeclaration 1210244 1210985 + Identifier 1210552 1210596 + Parameter 1210597 1210609 + Identifier 1210597 1210603 + TypeReference 1210604 1210609 + Identifier 1210604 1210609 + Parameter 1210610 1210623 + Identifier 1210610 1210617 + TypeReference 1210618 1210623 + Identifier 1210618 1210623 + Parameter 1210624 1210652 + Identifier 1210624 1210634 + UnionType 1210635 1210652 + TypeReference 1210635 1210640 + Identifier 1210635 1210640 + UndefinedKeyword 1210642 1210652 + Parameter 1210653 1210682 + Identifier 1210653 1210658 + UnionType 1210659 1210682 + TypeReference 1210659 1210670 + Identifier 1210659 1210670 + UndefinedKeyword 1210672 1210682 + Parameter 1210683 1210715 + Identifier 1210683 1210695 + QuestionToken 1210695 1210696 + TypeReference 1210697 1210715 + Identifier 1210697 1210715 + Parameter 1210716 1210782 + Identifier 1210716 1210739 + QuestionToken 1210739 1210740 + FunctionType 1210741 1210782 + UnionType 1210747 1210782 + TypeReference 1210747 1210770 + Identifier 1210747 1210770 + UndefinedKeyword 1210772 1210782 + BooleanKeyword 1210784 1210792 + Block 1210792 1210985 + ReturnStatement 1210794 1210978 + CallExpression 1210810 1210977 + Identifier 1210810 1210851 + Identifier 1210852 1210858 + Identifier 1210859 1210866 + Identifier 1210867 1210886 + Identifier 1210887 1210897 + Identifier 1210898 1210903 + Identifier 1210904 1210916 + Identifier 1210917 1210940 + Identifier 1210941 1210976 + FunctionDeclaration 1210985 1211832 + Identifier 1211001 1211042 + Parameter 1211043 1211065 + Identifier 1211043 1211059 + TypeReference 1211060 1211065 + Identifier 1211060 1211065 + Parameter 1211066 1211088 + Identifier 1211066 1211082 + TypeReference 1211083 1211088 + Identifier 1211083 1211088 + Parameter 1211089 1211146 + Identifier 1211089 1211107 + TypeReference 1211108 1211146 + Identifier 1211108 1211112 + StringKeyword 1211113 1211119 + TypeReference 1211120 1211145 + Identifier 1211120 1211145 + Parameter 1211147 1211184 + Identifier 1211147 1211166 + UnionType 1211167 1211184 + TypeReference 1211167 1211172 + Identifier 1211167 1211172 + UndefinedKeyword 1211174 1211184 + Parameter 1211185 1211223 + Identifier 1211185 1211199 + UnionType 1211200 1211223 + TypeReference 1211200 1211211 + Identifier 1211200 1211211 + UndefinedKeyword 1211213 1211223 + Parameter 1211224 1211276 + Identifier 1211224 1211245 + UnionType 1211246 1211276 + TypeReference 1211246 1211264 + Identifier 1211246 1211264 + UndefinedKeyword 1211266 1211276 + Parameter 1211277 1211365 + Identifier 1211277 1211309 + UnionType 1211310 1211365 + ParenthesizedType 1211310 1211353 + FunctionType 1211312 1211352 + UnionType 1211317 1211352 + TypeReference 1211317 1211340 + Identifier 1211317 1211340 + UndefinedKeyword 1211342 1211352 + UndefinedKeyword 1211355 1211365 + Parameter 1211366 1211430 + Identifier 1211366 1211396 + UnionType 1211397 1211430 + TypeReference 1211397 1211418 + Identifier 1211397 1211418 + UndefinedKeyword 1211420 1211430 + BooleanKeyword 1211439 1211447 + Block 1211447 1211832 + IfStatement 1211449 1211518 + CallExpression 1211463 1211504 + Identifier 1211463 1211478 + Identifier 1211479 1211485 + Identifier 1211486 1211493 + Identifier 1211494 1211503 + ReturnStatement 1211505 1211518 + TrueKeyword 1211512 1211517 + IfStatement 1211518 1211802 + BinaryExpression 1211532 1211652 + PrefixUnaryExpression 1211532 1211542 + Identifier 1211533 1211542 + BarBarToken 1211542 1211545 + PrefixUnaryExpression 1211545 1211652 + CallExpression 1211547 1211652 + Identifier 1211547 1211561 + Identifier 1211562 1211566 + Identifier 1211567 1211574 + Identifier 1211575 1211582 + Identifier 1211583 1211592 + Identifier 1211593 1211605 + Identifier 1211606 1211629 + Identifier 1211630 1211651 + Block 1211653 1211802 + ReturnStatement 1211655 1211791 + CallExpression 1211675 1211790 + Identifier 1211675 1211694 + Identifier 1211695 1211701 + Identifier 1211702 1211709 + Identifier 1211710 1211719 + Identifier 1211720 1211730 + Identifier 1211731 1211743 + Identifier 1211744 1211767 + Identifier 1211768 1211789 + ReturnStatement 1211802 1211825 + FalseKeyword 1211818 1211824 + FunctionDeclaration 1211832 1212070 + Identifier 1211848 1211874 + Parameter 1211875 1211885 + Identifier 1211875 1211879 + TypeReference 1211880 1211885 + Identifier 1211880 1211885 + BooleanKeyword 1211887 1211895 + Block 1211895 1212070 + ReturnStatement 1211897 1212063 + PrefixUnaryExpression 1211913 1212062 + PrefixUnaryExpression 1211915 1212062 + ParenthesizedExpression 1211916 1212062 + BinaryExpression 1211917 1212061 + BinaryExpression 1211917 1211951 + PropertyAccessExpression 1211917 1211927 + Identifier 1211917 1211921 + Identifier 1211922 1211927 + AmpersandToken 1211927 1211929 + PropertyAccessExpression 1211929 1211951 + Identifier 1211929 1211939 + Identifier 1211940 1211951 + BarBarToken 1211951 1211954 + ParenthesizedExpression 1211954 1212061 + BinaryExpression 1211956 1212060 + BinaryExpression 1211956 1211991 + PropertyAccessExpression 1211956 1211966 + Identifier 1211956 1211960 + Identifier 1211961 1211966 + AmpersandToken 1211966 1211968 + PropertyAccessExpression 1211968 1211991 + Identifier 1211968 1211978 + Identifier 1211979 1211991 + AmpersandAmpersandToken 1211991 1211994 + CallExpression 1211994 1212060 + Identifier 1211994 1211999 + PropertyAccessExpression 1212000 1212032 + ParenthesizedExpression 1212000 1212026 + AsExpression 1212001 1212025 + Identifier 1212001 1212005 + TypeReference 1212008 1212025 + Identifier 1212008 1212025 + Identifier 1212027 1212032 + Identifier 1212033 1212059 + FunctionDeclaration 1212070 1214589 + Identifier 1212086 1212101 + Parameter 1212102 1212140 + Identifier 1212102 1212116 + UnionType 1212117 1212140 + TypeReference 1212117 1212128 + Identifier 1212117 1212128 + UndefinedKeyword 1212130 1212140 + Parameter 1212141 1212163 + Identifier 1212141 1212157 + TypeReference 1212158 1212163 + Identifier 1212158 1212163 + Parameter 1212164 1212186 + Identifier 1212164 1212180 + TypeReference 1212181 1212186 + Identifier 1212181 1212186 + Parameter 1212187 1212244 + Identifier 1212187 1212205 + TypeReference 1212206 1212244 + Identifier 1212206 1212210 + StringKeyword 1212211 1212217 + TypeReference 1212218 1212243 + Identifier 1212218 1212243 + Parameter 1212245 1212297 + Identifier 1212245 1212266 + UnionType 1212267 1212297 + TypeReference 1212267 1212285 + Identifier 1212267 1212285 + UndefinedKeyword 1212287 1212297 + Parameter 1212298 1212386 + Identifier 1212298 1212330 + UnionType 1212331 1212386 + ParenthesizedType 1212331 1212374 + FunctionType 1212333 1212373 + UnionType 1212338 1212373 + TypeReference 1212338 1212361 + Identifier 1212338 1212361 + UndefinedKeyword 1212363 1212373 + UndefinedKeyword 1212376 1212386 + Parameter 1212387 1212451 + Identifier 1212387 1212417 + UnionType 1212418 1212451 + TypeReference 1212418 1212439 + Identifier 1212418 1212439 + UndefinedKeyword 1212441 1212451 + BooleanKeyword 1212460 1212468 + Block 1212468 1214589 + IfStatement 1212470 1212541 + BinaryExpression 1212484 1212526 + PrefixUnaryExpression 1212484 1212489 + Identifier 1212485 1212489 + BarBarToken 1212489 1212492 + CallExpression 1212492 1212526 + Identifier 1212492 1212518 + Identifier 1212519 1212525 + ReturnStatement 1212527 1212541 + FalseKeyword 1212534 1212540 + IfStatement 1212541 1212833 + BinaryExpression 1212555 1212783 + PrefixUnaryExpression 1212555 1212639 + CallExpression 1212570 1212639 + Identifier 1212570 1212588 + Identifier 1212589 1212595 + Identifier 1212596 1212603 + Identifier 1212604 1212613 + Identifier 1212614 1212638 + AmpersandAmpersandToken 1212639 1212655 + CallExpression 1212655 1212783 + Identifier 1212655 1212692 + Identifier 1212693 1212697 + Identifier 1212698 1212705 + Identifier 1212706 1212713 + Identifier 1212714 1212723 + Identifier 1212724 1212736 + Identifier 1212737 1212760 + Identifier 1212761 1212782 + Block 1212794 1212833 + ReturnStatement 1212796 1212822 + TrueKeyword 1212816 1212821 + SwitchStatement 1212833 1214559 + PropertyAccessExpression 1212851 1212860 + Identifier 1212851 1212855 + Identifier 1212856 1212860 + CaseBlock 1212861 1214559 + CaseClause 1212863 1213001 + PropertyAccessExpression 1212881 1212905 + Identifier 1212881 1212892 + Identifier 1212893 1212905 + IfStatement 1212906 1213001 + PrefixUnaryExpression 1212928 1212951 + CallExpression 1212929 1212951 + Identifier 1212929 1212945 + Identifier 1212946 1212950 + Block 1212952 1213001 + BreakStatement 1212954 1212982 + CaseClause 1213001 1213077 + PropertyAccessExpression 1213051 1213076 + Identifier 1213051 1213062 + Identifier 1213063 1213076 + CaseClause 1213077 1213333 + PropertyAccessExpression 1213095 1213130 + Identifier 1213095 1213106 + Identifier 1213107 1213130 + ReturnStatement 1213131 1213333 + CallExpression 1213155 1213332 + Identifier 1213155 1213170 + PropertyAccessExpression 1213171 1213246 + ParenthesizedExpression 1213171 1213235 + AsExpression 1213172 1213234 + Identifier 1213172 1213176 + UnionType 1213179 1213234 + TypeReference 1213179 1213192 + Identifier 1213179 1213192 + TypeReference 1213194 1213218 + Identifier 1213194 1213218 + TypeReference 1213220 1213234 + Identifier 1213220 1213234 + Identifier 1213236 1213246 + Identifier 1213247 1213254 + Identifier 1213255 1213262 + Identifier 1213263 1213272 + Identifier 1213273 1213285 + Identifier 1213286 1213309 + Identifier 1213310 1213331 + CaseClause 1213333 1213763 + PropertyAccessExpression 1213351 1213379 + Identifier 1213351 1213362 + Identifier 1213363 1213379 + SwitchStatement 1213380 1213739 + PropertyAccessExpression 1213406 1213451 + PropertyAccessExpression 1213406 1213446 + ParenthesizedExpression 1213406 1213432 + AsExpression 1213407 1213431 + Identifier 1213407 1213411 + TypeReference 1213414 1213431 + Identifier 1213414 1213431 + Identifier 1213433 1213446 + Identifier 1213447 1213451 + CaseBlock 1213452 1213739 + CaseClause 1213454 1213504 + PropertyAccessExpression 1213480 1213503 + Identifier 1213480 1213491 + Identifier 1213492 1213503 + CaseClause 1213504 1213720 + PropertyAccessExpression 1213530 1213552 + Identifier 1213530 1213541 + Identifier 1213542 1213552 + ReturnStatement 1213553 1213720 + CallExpression 1213585 1213719 + Identifier 1213585 1213600 + PropertyAccessExpression 1213601 1213633 + ParenthesizedExpression 1213601 1213627 + AsExpression 1213602 1213626 + Identifier 1213602 1213606 + TypeReference 1213609 1213626 + Identifier 1213609 1213626 + Identifier 1213628 1213633 + Identifier 1213634 1213641 + Identifier 1213642 1213649 + Identifier 1213650 1213659 + Identifier 1213660 1213672 + Identifier 1213673 1213696 + Identifier 1213697 1213718 + BreakStatement 1213739 1213763 + CaseClause 1213763 1213970 + PropertyAccessExpression 1213781 1213816 + Identifier 1213781 1213792 + Identifier 1213793 1213816 + ReturnStatement 1213817 1213970 + CallExpression 1213841 1213969 + Identifier 1213841 1213864 + AsExpression 1213865 1213896 + Identifier 1213865 1213869 + TypeReference 1213872 1213896 + Identifier 1213872 1213896 + Identifier 1213897 1213904 + Identifier 1213905 1213912 + Identifier 1213913 1213922 + Identifier 1213923 1213946 + Identifier 1213947 1213968 + CaseClause 1213970 1214174 + PropertyAccessExpression 1213988 1214022 + Identifier 1213988 1213999 + Identifier 1214000 1214022 + ReturnStatement 1214023 1214174 + CallExpression 1214047 1214173 + Identifier 1214047 1214069 + AsExpression 1214070 1214100 + Identifier 1214070 1214074 + TypeReference 1214077 1214100 + Identifier 1214077 1214100 + Identifier 1214101 1214108 + Identifier 1214109 1214116 + Identifier 1214117 1214126 + Identifier 1214127 1214150 + Identifier 1214151 1214172 + CaseClause 1214174 1214361 + PropertyAccessExpression 1214192 1214217 + Identifier 1214192 1214203 + Identifier 1214204 1214217 + ReturnStatement 1214218 1214361 + CallExpression 1214242 1214360 + Identifier 1214242 1214265 + AsExpression 1214266 1214287 + Identifier 1214266 1214270 + TypeReference 1214273 1214287 + Identifier 1214273 1214287 + Identifier 1214288 1214295 + Identifier 1214296 1214303 + Identifier 1214304 1214313 + Identifier 1214314 1214337 + Identifier 1214338 1214359 + CaseClause 1214361 1214548 + PropertyAccessExpression 1214379 1214404 + Identifier 1214379 1214390 + Identifier 1214391 1214404 + ReturnStatement 1214405 1214548 + CallExpression 1214429 1214547 + Identifier 1214429 1214452 + AsExpression 1214453 1214474 + Identifier 1214453 1214457 + TypeReference 1214460 1214474 + Identifier 1214460 1214474 + Identifier 1214475 1214482 + Identifier 1214483 1214490 + Identifier 1214491 1214500 + Identifier 1214501 1214524 + Identifier 1214525 1214546 + ReturnStatement 1214559 1214582 + FalseKeyword 1214575 1214581 + FunctionDeclaration 1214589 1216303 + Identifier 1214605 1214642 + Parameter 1214643 1214669 + Identifier 1214643 1214657 + TypeReference 1214658 1214669 + Identifier 1214658 1214669 + Parameter 1214670 1214692 + Identifier 1214670 1214686 + TypeReference 1214687 1214692 + Identifier 1214687 1214692 + Parameter 1214693 1214715 + Identifier 1214693 1214709 + TypeReference 1214710 1214715 + Identifier 1214710 1214715 + Parameter 1214716 1214773 + Identifier 1214716 1214734 + TypeReference 1214735 1214773 + Identifier 1214735 1214739 + StringKeyword 1214740 1214746 + TypeReference 1214747 1214772 + Identifier 1214747 1214772 + Parameter 1214774 1214826 + Identifier 1214774 1214795 + UnionType 1214796 1214826 + TypeReference 1214796 1214814 + Identifier 1214796 1214814 + UndefinedKeyword 1214816 1214826 + Parameter 1214827 1214915 + Identifier 1214827 1214859 + UnionType 1214860 1214915 + ParenthesizedType 1214860 1214903 + FunctionType 1214862 1214902 + UnionType 1214867 1214902 + TypeReference 1214867 1214890 + Identifier 1214867 1214890 + UndefinedKeyword 1214892 1214902 + UndefinedKeyword 1214905 1214915 + Parameter 1214916 1214980 + Identifier 1214916 1214946 + UnionType 1214947 1214980 + TypeReference 1214947 1214968 + Identifier 1214947 1214968 + UndefinedKeyword 1214970 1214980 + BooleanKeyword 1214989 1214997 + Block 1214997 1216303 + VariableStatement 1214999 1215080 + VariableDeclarationList 1214999 1215079 + VariableDeclaration 1215014 1215079 + Identifier 1215014 1215029 + CallExpression 1215031 1215079 + Identifier 1215031 1215051 + Identifier 1215052 1215058 + PropertyAccessExpression 1215059 1215078 + Identifier 1215059 1215073 + Identifier 1215074 1215078 + VariableStatement 1215080 1215171 + VariableDeclarationList 1215080 1215170 + VariableDeclaration 1215095 1215170 + Identifier 1215095 1215115 + CallExpression 1215117 1215170 + Identifier 1215117 1215137 + Identifier 1215138 1215144 + PropertyAccessExpression 1215145 1215169 + Identifier 1215145 1215159 + Identifier 1215160 1215169 + ForOfStatement 1215171 1216273 + VariableDeclarationList 1215186 1215202 + VariableDeclaration 1215191 1215202 + Identifier 1215191 1215202 + ArrayLiteralExpression 1215205 1215243 + Identifier 1215207 1215226 + Identifier 1215227 1215242 + Block 1215244 1216273 + IfStatement 1215246 1216262 + CallExpression 1215264 1215556 + Identifier 1215264 1215286 + Identifier 1215287 1215297 + ArrowFunction 1215298 1215555 + Parameter 1215298 1215300 + Identifier 1215298 1215300 + EqualsGreaterThanToken 1215300 1215303 + Block 1215303 1215555 + VariableStatement 1215305 1215374 + VariableDeclarationList 1215305 1215373 + VariableDeclaration 1215332 1215373 + Identifier 1215332 1215343 + CallExpression 1215345 1215373 + Identifier 1215345 1215370 + Identifier 1215371 1215372 + ReturnStatement 1215374 1215536 + BinaryExpression 1215402 1215535 + PrefixUnaryExpression 1215402 1215458 + ParenthesizedExpression 1215404 1215458 + BinaryExpression 1215405 1215457 + PropertyAccessExpression 1215405 1215421 + Identifier 1215405 1215415 + Identifier 1215416 1215421 + AmpersandToken 1215421 1215423 + ParenthesizedExpression 1215423 1215457 + BinaryExpression 1215425 1215456 + PropertyAccessExpression 1215425 1215438 + Identifier 1215425 1215434 + Identifier 1215435 1215438 + BarToken 1215438 1215440 + PropertyAccessExpression 1215440 1215456 + Identifier 1215440 1215450 + Identifier 1215451 1215456 + AmpersandAmpersandToken 1215458 1215461 + CallExpression 1215461 1215535 + Identifier 1215461 1215480 + Identifier 1215481 1215491 + Identifier 1215492 1215499 + Identifier 1215500 1215509 + Identifier 1215510 1215534 + Block 1215571 1216262 + VariableStatement 1215573 1215664 + VariableDeclarationList 1215573 1215663 + VariableDeclaration 1215596 1215663 + Identifier 1215596 1215606 + TypeLiteral 1215607 1215634 + PropertySignature 1215609 1215632 + Identifier 1215609 1215616 + QuestionToken 1215616 1215617 + ArrayType 1215618 1215631 + TypeReference 1215618 1215629 + Identifier 1215618 1215629 + BinaryExpression 1215636 1215663 + Identifier 1215636 1215657 + BarBarToken 1215657 1215660 + ObjectLiteralExpression 1215660 1215663 + ExpressionStatement 1215664 1215774 + CallExpression 1215664 1215773 + Identifier 1215664 1215703 + Identifier 1215704 1215710 + Identifier 1215711 1215718 + Identifier 1215719 1215724 + Identifier 1215725 1215737 + Identifier 1215738 1215761 + Identifier 1215762 1215772 + VariableStatement 1215774 1215859 + VariableDeclarationList 1215774 1215858 + VariableDeclaration 1215797 1215858 + Identifier 1215797 1215808 + ElementAccessExpression 1215810 1215858 + NonNullExpression 1215810 1215828 + PropertyAccessExpression 1215810 1215827 + Identifier 1215810 1215820 + Identifier 1215821 1215827 + BinaryExpression 1215829 1215857 + PropertyAccessExpression 1215829 1215853 + NonNullExpression 1215829 1215846 + PropertyAccessExpression 1215829 1215845 + Identifier 1215829 1215838 + Identifier 1215839 1215845 + Identifier 1215847 1215853 + MinusToken 1215853 1215855 + NumericLiteral 1215855 1215857 + ExpressionStatement 1215859 1216217 + CallExpression 1215859 1216216 + Identifier 1215859 1215891 + Identifier 1215892 1215924 + CallExpression 1215925 1216196 + Identifier 1215925 1215970 + Identifier 1215971 1216001 + ConditionalExpression 1216002 1216172 + BinaryExpression 1216002 1216062 + Identifier 1216002 1216038 + EqualsEqualsEqualsToken 1216038 1216042 + Identifier 1216042 1216062 + QuestionToken 1216062 1216064 + PropertyAccessExpression 1216064 1216121 + Identifier 1216064 1216076 + Identifier 1216077 1216121 + ColonToken 1216121 1216123 + PropertyAccessExpression 1216123 1216172 + Identifier 1216123 1216135 + Identifier 1216136 1216172 + ReturnStatement 1216217 1216247 + TrueKeyword 1216241 1216246 + ReturnStatement 1216273 1216296 + FalseKeyword 1216289 1216295 + FunctionDeclaration 1216303 1219476 + Identifier 1216319 1216342 + Parameter 1216343 1216372 + Identifier 1216343 1216357 + TypeReference 1216358 1216372 + Identifier 1216358 1216372 + Parameter 1216373 1216395 + Identifier 1216373 1216389 + TypeReference 1216390 1216395 + Identifier 1216390 1216395 + Parameter 1216396 1216418 + Identifier 1216396 1216412 + TypeReference 1216413 1216418 + Identifier 1216413 1216418 + Parameter 1216419 1216476 + Identifier 1216419 1216437 + TypeReference 1216438 1216476 + Identifier 1216438 1216442 + StringKeyword 1216443 1216449 + TypeReference 1216450 1216475 + Identifier 1216450 1216475 + Parameter 1216477 1216565 + Identifier 1216477 1216509 + UnionType 1216510 1216565 + ParenthesizedType 1216510 1216553 + FunctionType 1216512 1216552 + UnionType 1216517 1216552 + TypeReference 1216517 1216540 + Identifier 1216517 1216540 + UndefinedKeyword 1216542 1216552 + UndefinedKeyword 1216555 1216565 + Parameter 1216566 1216630 + Identifier 1216566 1216596 + UnionType 1216597 1216630 + TypeReference 1216597 1216618 + Identifier 1216597 1216618 + UndefinedKeyword 1216620 1216630 + BooleanKeyword 1216639 1216647 + Block 1216647 1219476 + IfStatement 1216649 1216757 + CallExpression 1216698 1216716 + Identifier 1216698 1216705 + PropertyAccessExpression 1216706 1216715 + Identifier 1216706 1216710 + Identifier 1216711 1216715 + Block 1216717 1216757 + ReturnStatement 1216719 1216746 + FalseKeyword 1216739 1216745 + IfStatement 1216757 1216898 + CallExpression 1216827 1216857 + Identifier 1216827 1216831 + PropertyAccessExpression 1216832 1216847 + Identifier 1216832 1216836 + Identifier 1216837 1216847 + Identifier 1216848 1216856 + Block 1216858 1216898 + ReturnStatement 1216860 1216887 + FalseKeyword 1216880 1216886 + VariableStatement 1216898 1216957 + VariableDeclarationList 1216898 1216956 + VariableDeclaration 1216913 1216956 + Identifier 1216913 1216923 + CallExpression 1216925 1216956 + Identifier 1216925 1216948 + Identifier 1216949 1216955 + IfStatement 1216957 1217022 + PrefixUnaryExpression 1216971 1216981 + Identifier 1216972 1216981 + Block 1216982 1217022 + ReturnStatement 1216984 1217011 + FalseKeyword 1217004 1217010 + VariableStatement 1217022 1217105 + VariableDeclarationList 1217022 1217104 + VariableDeclaration 1217037 1217104 + Identifier 1217037 1217054 + CallExpression 1217056 1217104 + Identifier 1217056 1217076 + Identifier 1217077 1217083 + PropertyAccessExpression 1217084 1217103 + Identifier 1217084 1217098 + Identifier 1217099 1217103 + IfStatement 1217105 1217185 + PrefixUnaryExpression 1217119 1217144 + CallExpression 1217120 1217144 + Identifier 1217120 1217126 + Identifier 1217127 1217143 + Block 1217145 1217185 + ReturnStatement 1217147 1217174 + FalseKeyword 1217167 1217173 + VariableStatement 1217185 1217230 + VariableDeclarationList 1217185 1217229 + VariableDeclaration 1217200 1217229 + Identifier 1217200 1217217 + PropertyAccessExpression 1217219 1217229 + Identifier 1217219 1217224 + Identifier 1217225 1217229 + VariableStatement 1217230 1217297 + VariableDeclarationList 1217230 1217296 + VariableDeclaration 1217245 1217296 + Identifier 1217245 1217258 + CallExpression 1217260 1217296 + Identifier 1217260 1217285 + Identifier 1217286 1217295 + VariableStatement 1217297 1217390 + VariableDeclarationList 1217297 1217389 + VariableDeclaration 1217312 1217389 + Identifier 1217312 1217325 + CallExpression 1217327 1217389 + Identifier 1217327 1217340 + CallExpression 1217341 1217388 + Identifier 1217341 1217344 + Identifier 1217345 1217361 + Identifier 1217362 1217387 + IfStatement 1217390 1219446 + PrefixUnaryExpression 1217404 1217486 + CallExpression 1217405 1217486 + Identifier 1217405 1217423 + Identifier 1217424 1217436 + Identifier 1217437 1217450 + Identifier 1217451 1217460 + Identifier 1217461 1217485 + Block 1217487 1219446 + VariableStatement 1217489 1217686 + VariableDeclarationList 1217489 1217685 + VariableDeclaration 1217508 1217685 + Identifier 1217508 1217519 + BinaryExpression 1217521 1217685 + Identifier 1217521 1217538 + AmpersandAmpersandToken 1217538 1217541 + CallExpression 1217541 1217685 + Identifier 1217541 1217556 + Identifier 1217557 1217573 + Identifier 1217574 1217587 + Identifier 1217588 1217601 + Identifier 1217602 1217611 + Identifier 1217612 1217638 + Identifier 1217639 1217662 + Identifier 1217663 1217684 + IfStatement 1217686 1217768 + Identifier 1217704 1217714 + Block 1217715 1217768 + ReturnStatement 1217717 1217753 + Identifier 1217741 1217752 + VariableStatement 1217768 1217855 + VariableDeclarationList 1217768 1217854 + VariableDeclaration 1217787 1217854 + Identifier 1217787 1217797 + TypeLiteral 1217798 1217825 + PropertySignature 1217800 1217823 + Identifier 1217800 1217807 + QuestionToken 1217807 1217808 + ArrayType 1217809 1217822 + TypeReference 1217809 1217820 + Identifier 1217809 1217820 + BinaryExpression 1217827 1217854 + Identifier 1217827 1217848 + BarBarToken 1217848 1217851 + ObjectLiteralExpression 1217851 1217854 + ExpressionStatement 1217855 1218006 + CallExpression 1217855 1218005 + Identifier 1217855 1217887 + Identifier 1217888 1217900 + Identifier 1217901 1217914 + Identifier 1217915 1217924 + Identifier 1217925 1217942 + Identifier 1217943 1217969 + Identifier 1217970 1217993 + Identifier 1217994 1218004 + IfStatement 1218006 1219435 + PropertyAccessExpression 1218024 1218040 + Identifier 1218024 1218033 + Identifier 1218034 1218040 + Block 1218041 1219435 + IfStatement 1218043 1218515 + BinaryExpression 1218065 1218116 + PropertyAccessExpression 1218065 1218078 + Identifier 1218065 1218071 + Identifier 1218072 1218078 + AmpersandAmpersandToken 1218078 1218081 + CallExpression 1218081 1218116 + Identifier 1218081 1218088 + PropertyAccessExpression 1218089 1218115 + PropertyAccessExpression 1218089 1218102 + Identifier 1218089 1218095 + Identifier 1218096 1218102 + Identifier 1218103 1218115 + Block 1218117 1218515 + ExpressionStatement 1218119 1218496 + CallExpression 1218119 1218495 + Identifier 1218119 1218155 + ElementAccessExpression 1218156 1218227 + PropertyAccessExpression 1218156 1218198 + Identifier 1218156 1218191 + Identifier 1218192 1218198 + BinaryExpression 1218199 1218226 + PropertyAccessExpression 1218199 1218222 + PropertyAccessExpression 1218199 1218215 + Identifier 1218199 1218208 + Identifier 1218209 1218215 + Identifier 1218216 1218222 + MinusToken 1218222 1218224 + NumericLiteral 1218224 1218226 + CallExpression 1218228 1218471 + Identifier 1218228 1218277 + ElementAccessExpression 1218278 1218338 + NonNullExpression 1218278 1218335 + PropertyAccessExpression 1218278 1218334 + PropertyAccessExpression 1218278 1218321 + Identifier 1218278 1218314 + Identifier 1218315 1218321 + Identifier 1218322 1218334 + NumericLiteral 1218336 1218337 + PropertyAccessExpression 1218339 1218443 + Identifier 1218339 1218380 + Identifier 1218381 1218443 + IfStatement 1218515 1219390 + BinaryExpression 1218537 1219018 + BinaryExpression 1218537 1218893 + BinaryExpression 1218537 1218611 + ParenthesizedExpression 1218537 1218605 + BinaryExpression 1218560 1218604 + CallExpression 1218560 1218582 + Identifier 1218560 1218576 + Identifier 1218577 1218581 + AmpersandToken 1218582 1218584 + PropertyAccessExpression 1218584 1218604 + Identifier 1218584 1218598 + Identifier 1218599 1218604 + EqualsEqualsEqualsToken 1218605 1218609 + NumericLiteral 1218609 1218611 + AmpersandAmpersandToken 1218611 1218834 + PrefixUnaryExpression 1218834 1218893 + CallExpression 1218836 1218893 + Identifier 1218836 1218859 + Identifier 1218860 1218872 + AsExpression 1218873 1218892 + StringLiteral 1218873 1218880 + TypeReference 1218883 1218892 + Identifier 1218883 1218892 + AmpersandAmpersandToken 1218893 1218917 + CallExpression 1218917 1219018 + Identifier 1218917 1218936 + CallExpression 1218937 1218968 + Identifier 1218937 1218954 + Identifier 1218955 1218967 + Identifier 1218969 1218982 + Identifier 1218983 1218992 + Identifier 1218993 1219017 + Block 1219037 1219390 + ExpressionStatement 1219039 1219371 + CallExpression 1219039 1219370 + Identifier 1219039 1219075 + ElementAccessExpression 1219076 1219147 + PropertyAccessExpression 1219076 1219118 + Identifier 1219076 1219111 + Identifier 1219112 1219118 + BinaryExpression 1219119 1219146 + PropertyAccessExpression 1219119 1219142 + PropertyAccessExpression 1219119 1219135 + Identifier 1219119 1219128 + Identifier 1219129 1219135 + Identifier 1219136 1219142 + MinusToken 1219142 1219144 + NumericLiteral 1219144 1219146 + CallExpression 1219148 1219346 + Identifier 1219148 1219197 + Identifier 1219198 1219232 + PropertyAccessExpression 1219233 1219318 + Identifier 1219233 1219274 + Identifier 1219275 1219318 + ReturnStatement 1219390 1219420 + TrueKeyword 1219414 1219419 + ReturnStatement 1219446 1219469 + FalseKeyword 1219462 1219468 + FunctionDeclaration 1219476 1219961 + Identifier 1219492 1219533 + Parameter 1219534 1219546 + Identifier 1219534 1219540 + TypeReference 1219541 1219546 + Identifier 1219541 1219546 + Parameter 1219547 1219560 + Identifier 1219547 1219554 + TypeReference 1219555 1219560 + Identifier 1219555 1219560 + Parameter 1219561 1219576 + Identifier 1219561 1219570 + TypeReference 1219571 1219576 + Identifier 1219571 1219576 + Block 1219577 1219961 + VariableStatement 1219579 1219651 + VariableDeclarationList 1219579 1219650 + VariableDeclaration 1219594 1219650 + Identifier 1219594 1219598 + CallExpression 1219600 1219650 + Identifier 1219600 1219632 + Identifier 1219633 1219639 + Identifier 1219640 1219649 + IfStatement 1219651 1219707 + Identifier 1219665 1219668 + Block 1219669 1219707 + ReturnStatement 1219671 1219696 + Identifier 1219691 1219695 + IfStatement 1219707 1219954 + BinaryExpression 1219721 1219751 + PropertyAccessExpression 1219721 1219733 + Identifier 1219721 1219727 + Identifier 1219728 1219733 + AmpersandToken 1219733 1219735 + PropertyAccessExpression 1219735 1219751 + Identifier 1219735 1219745 + Identifier 1219746 1219751 + Block 1219752 1219954 + VariableStatement 1219754 1219830 + VariableDeclarationList 1219754 1219829 + VariableDeclaration 1219773 1219829 + Identifier 1219773 1219778 + CallExpression 1219780 1219829 + Identifier 1219780 1219800 + Identifier 1219801 1219807 + AsExpression 1219808 1219828 + Identifier 1219808 1219815 + TypeReference 1219818 1219828 + Identifier 1219818 1219828 + IfStatement 1219830 1219943 + Identifier 1219848 1219852 + Block 1219853 1219943 + ReturnStatement 1219855 1219928 + CallExpression 1219879 1219927 + Identifier 1219879 1219911 + Identifier 1219912 1219916 + Identifier 1219917 1219926 + FunctionDeclaration 1219961 1220289 + Identifier 1219977 1220029 + Parameter 1220030 1220046 + Identifier 1220030 1220034 + TypeReference 1220035 1220046 + Identifier 1220035 1220046 + Parameter 1220047 1220068 + Identifier 1220047 1220062 + TypeReference 1220063 1220068 + Identifier 1220063 1220068 + Block 1220069 1220289 + ExpressionStatement 1220071 1220141 + CallExpression 1220071 1220140 + Identifier 1220071 1220099 + Identifier 1220100 1220104 + Identifier 1220105 1220120 + FalseKeyword 1220121 1220139 + VariableStatement 1220141 1220228 + VariableDeclarationList 1220141 1220227 + VariableDeclaration 1220156 1220227 + Identifier 1220156 1220163 + CallExpression 1220165 1220227 + Identifier 1220165 1220199 + Identifier 1220200 1220204 + PropertyAccessExpression 1220205 1220226 + Identifier 1220205 1220215 + Identifier 1220216 1220226 + ExpressionStatement 1220228 1220258 + CallExpression 1220228 1220257 + Identifier 1220228 1220255 + ReturnStatement 1220258 1220282 + Identifier 1220274 1220281 + TypeAliasDeclaration 1220289 1220466 + Identifier 1220301 1220321 + TypeReference 1220323 1220465 + Identifier 1220323 1220340 + TypeLiteral 1220341 1220464 + PropertySignature 1220342 1220359 + Identifier 1220342 1220352 + TypeReference 1220353 1220358 + Identifier 1220353 1220358 + PropertySignature 1220359 1220400 + Identifier 1220359 1220375 + UnionType 1220376 1220399 + TypeReference 1220376 1220387 + Identifier 1220376 1220387 + UndefinedKeyword 1220389 1220399 + PropertySignature 1220400 1220416 + Identifier 1220400 1220409 + TypeReference 1220410 1220415 + Identifier 1220410 1220415 + PropertySignature 1220416 1220462 + Identifier 1220416 1220429 + QuestionToken 1220429 1220430 + UnionType 1220431 1220461 + TypeReference 1220431 1220449 + Identifier 1220431 1220449 + UndefinedKeyword 1220451 1220461 + FunctionDeclaration 1220466 1226612 + Identifier 1220892 1220913 + Parameter 1220914 1220953 + Identifier 1220914 1220932 + TypeReference 1220933 1220953 + Identifier 1220933 1220953 + Parameter 1220954 1220976 + Identifier 1220954 1220970 + TypeReference 1220971 1220976 + Identifier 1220971 1220976 + Parameter 1220977 1220999 + Identifier 1220977 1220993 + TypeReference 1220994 1220999 + Identifier 1220994 1220999 + Parameter 1221000 1221057 + Identifier 1221000 1221018 + TypeReference 1221019 1221057 + Identifier 1221019 1221023 + StringKeyword 1221024 1221030 + TypeReference 1221031 1221056 + Identifier 1221031 1221056 + Parameter 1221058 1221146 + Identifier 1221058 1221090 + UnionType 1221091 1221146 + ParenthesizedType 1221091 1221134 + FunctionType 1221093 1221133 + UnionType 1221098 1221133 + TypeReference 1221098 1221121 + Identifier 1221098 1221121 + UndefinedKeyword 1221123 1221133 + UndefinedKeyword 1221136 1221146 + Parameter 1221147 1221211 + Identifier 1221147 1221177 + UnionType 1221178 1221211 + TypeReference 1221178 1221199 + Identifier 1221178 1221199 + UndefinedKeyword 1221201 1221211 + Block 1221219 1226612 + VariableStatement 1221221 1221374 + VariableDeclarationList 1221221 1221373 + VariableDeclaration 1221351 1221373 + Identifier 1221351 1221365 + FalseKeyword 1221367 1221373 + ForOfStatement 1221374 1226574 + VariableDeclarationList 1221389 1221400 + VariableDeclaration 1221394 1221400 + Identifier 1221394 1221400 + Identifier 1221403 1221412 + Block 1221413 1226574 + VariableStatement 1221415 1221510 + VariableDeclarationList 1221415 1221509 + VariableDeclaration 1221434 1221509 + ObjectBindingPattern 1221434 1221501 + BindingElement 1221436 1221452 + Identifier 1221436 1221446 + Identifier 1221447 1221452 + BindingElement 1221453 1221475 + Identifier 1221453 1221469 + Identifier 1221470 1221475 + BindingElement 1221476 1221485 + Identifier 1221476 1221485 + BindingElement 1221486 1221499 + Identifier 1221486 1221499 + Identifier 1221503 1221509 + VariableStatement 1221510 1221612 + VariableDeclarationList 1221510 1221611 + VariableDeclaration 1221527 1221611 + Identifier 1221527 1221542 + CallExpression 1221544 1221611 + Identifier 1221544 1221585 + Identifier 1221586 1221592 + Identifier 1221593 1221600 + Identifier 1221601 1221610 + IfStatement 1221612 1221706 + BinaryExpression 1221630 1221695 + PrefixUnaryExpression 1221630 1221645 + Identifier 1221631 1221645 + BarBarToken 1221645 1221648 + BinaryExpression 1221648 1221695 + PropertyAccessExpression 1221648 1221669 + Identifier 1221648 1221663 + Identifier 1221664 1221669 + AmpersandToken 1221669 1221671 + PropertyAccessExpression 1221671 1221695 + Identifier 1221671 1221681 + Identifier 1221682 1221695 + ContinueStatement 1221696 1221706 + VariableStatement 1221706 1221842 + VariableDeclarationList 1221706 1221841 + VariableDeclaration 1221774 1221841 + Identifier 1221774 1221789 + CallExpression 1221791 1221841 + Identifier 1221791 1221823 + Identifier 1221824 1221830 + Identifier 1221831 1221840 + IfStatement 1221842 1221886 + PrefixUnaryExpression 1221860 1221875 + Identifier 1221861 1221875 + ContinueStatement 1221876 1221886 + VariableStatement 1221886 1221978 + VariableDeclarationList 1221886 1221977 + VariableDeclaration 1221905 1221977 + Identifier 1221905 1221914 + CallExpression 1221916 1221977 + Identifier 1221916 1221941 + Identifier 1221942 1221950 + Identifier 1221951 1221976 + IfStatement 1221978 1226563 + PrefixUnaryExpression 1221996 1222082 + CallExpression 1221997 1222082 + Identifier 1221997 1222015 + Identifier 1222016 1222030 + Identifier 1222031 1222046 + Identifier 1222047 1222056 + Identifier 1222057 1222081 + Block 1222083 1226563 + VariableStatement 1222085 1222266 + VariableDeclarationList 1222085 1222265 + VariableDeclaration 1222108 1222265 + Identifier 1222108 1222119 + BinaryExpression 1222121 1222265 + Identifier 1222121 1222126 + AmpersandAmpersandToken 1222126 1222129 + CallExpression 1222129 1222265 + Identifier 1222129 1222144 + Identifier 1222145 1222149 + Identifier 1222150 1222165 + Identifier 1222166 1222181 + Identifier 1222182 1222191 + Identifier 1222192 1222218 + Identifier 1222219 1222242 + Identifier 1222243 1222264 + ExpressionStatement 1222266 1222305 + BinaryExpression 1222266 1222304 + Identifier 1222266 1222297 + EqualsToken 1222297 1222299 + TrueKeyword 1222299 1222304 + IfStatement 1222305 1226548 + PrefixUnaryExpression 1222327 1222338 + Identifier 1222328 1222338 + Block 1222339 1226548 + VariableStatement 1222341 1222536 + VariableDeclarationList 1222341 1222535 + VariableDeclaration 1222468 1222535 + Identifier 1222468 1222478 + TypeLiteral 1222479 1222506 + PropertySignature 1222481 1222504 + Identifier 1222481 1222488 + QuestionToken 1222488 1222489 + ArrayType 1222490 1222503 + TypeReference 1222490 1222501 + Identifier 1222490 1222501 + BinaryExpression 1222508 1222535 + Identifier 1222508 1222529 + BarBarToken 1222529 1222532 + ObjectLiteralExpression 1222532 1222535 + VariableStatement 1222536 1222741 + VariableDeclarationList 1222536 1222740 + VariableDeclaration 1222625 1222740 + Identifier 1222625 1222640 + ConditionalExpression 1222642 1222740 + Identifier 1222642 1222647 + QuestionToken 1222647 1222649 + CallExpression 1222649 1222723 + Identifier 1222649 1222701 + Identifier 1222702 1222706 + Identifier 1222707 1222722 + ColonToken 1222723 1222725 + Identifier 1222725 1222740 + IfStatement 1222741 1224382 + BinaryExpression 1222767 1222860 + Identifier 1222767 1222793 + AmpersandAmpersandToken 1222793 1222796 + CallExpression 1222796 1222860 + Identifier 1222796 1222828 + Identifier 1222829 1222843 + Identifier 1222844 1222859 + Block 1222861 1223258 + VariableStatement 1222863 1223135 + VariableDeclarationList 1222863 1223134 + VariableDeclaration 1222894 1223134 + Identifier 1222894 1222899 + CallExpression 1222901 1223134 + Identifier 1222901 1222925 + Identifier 1222926 1222930 + PropertyAccessExpression 1222931 1223073 + Identifier 1222931 1222943 + Identifier 1222944 1223073 + CallExpression 1223074 1223103 + Identifier 1223074 1223087 + Identifier 1223088 1223102 + CallExpression 1223104 1223133 + Identifier 1223104 1223117 + Identifier 1223118 1223132 + ExpressionStatement 1223135 1223183 + CallExpression 1223135 1223182 + PropertyAccessExpression 1223135 1223176 + Identifier 1223135 1223172 + Identifier 1223173 1223176 + Identifier 1223177 1223181 + ExpressionStatement 1223183 1223235 + BinaryExpression 1223183 1223234 + PropertyAccessExpression 1223183 1223225 + Identifier 1223183 1223218 + Identifier 1223219 1223225 + EqualsToken 1223225 1223227 + ArrayLiteralExpression 1223227 1223234 + Identifier 1223229 1223233 + Block 1223284 1224382 + VariableStatement 1223286 1223437 + VariableDeclarationList 1223286 1223436 + VariableDeclaration 1223317 1223436 + Identifier 1223317 1223334 + PrefixUnaryExpression 1223336 1223436 + PrefixUnaryExpression 1223338 1223436 + ParenthesizedExpression 1223339 1223436 + BinaryExpression 1223340 1223435 + Identifier 1223340 1223348 + AmpersandAmpersandToken 1223348 1223351 + BinaryExpression 1223351 1223435 + PropertyAccessExpression 1223351 1223412 + ParenthesizedExpression 1223351 1223406 + BinaryExpression 1223353 1223405 + CallExpression 1223353 1223388 + Identifier 1223353 1223370 + Identifier 1223371 1223377 + Identifier 1223378 1223387 + BarBarToken 1223388 1223391 + Identifier 1223391 1223405 + Identifier 1223407 1223412 + AmpersandToken 1223412 1223414 + PropertyAccessExpression 1223414 1223435 + Identifier 1223414 1223426 + Identifier 1223427 1223435 + VariableStatement 1223437 1223588 + VariableDeclarationList 1223437 1223587 + VariableDeclaration 1223468 1223587 + Identifier 1223468 1223485 + PrefixUnaryExpression 1223487 1223587 + PrefixUnaryExpression 1223489 1223587 + ParenthesizedExpression 1223490 1223587 + BinaryExpression 1223491 1223586 + Identifier 1223491 1223499 + AmpersandAmpersandToken 1223499 1223502 + BinaryExpression 1223502 1223586 + PropertyAccessExpression 1223502 1223563 + ParenthesizedExpression 1223502 1223557 + BinaryExpression 1223504 1223556 + CallExpression 1223504 1223539 + Identifier 1223504 1223521 + Identifier 1223522 1223528 + Identifier 1223529 1223538 + BarBarToken 1223539 1223542 + Identifier 1223542 1223556 + Identifier 1223558 1223563 + AmpersandToken 1223563 1223565 + PropertyAccessExpression 1223565 1223586 + Identifier 1223565 1223577 + Identifier 1223578 1223586 + ExpressionStatement 1223588 1223683 + BinaryExpression 1223588 1223682 + Identifier 1223588 1223628 + EqualsToken 1223628 1223630 + CallExpression 1223630 1223682 + Identifier 1223630 1223648 + Identifier 1223649 1223663 + Identifier 1223664 1223681 + ExpressionStatement 1223683 1223798 + BinaryExpression 1223683 1223797 + Identifier 1223683 1223723 + EqualsToken 1223723 1223725 + CallExpression 1223725 1223797 + Identifier 1223725 1223743 + Identifier 1223744 1223758 + BinaryExpression 1223759 1223796 + Identifier 1223759 1223776 + AmpersandAmpersandToken 1223776 1223779 + Identifier 1223779 1223796 + VariableStatement 1223798 1223955 + VariableDeclarationList 1223798 1223954 + VariableDeclaration 1223829 1223954 + Identifier 1223829 1223836 + CallExpression 1223838 1223954 + Identifier 1223838 1223857 + Identifier 1223858 1223872 + Identifier 1223873 1223888 + Identifier 1223889 1223898 + Identifier 1223899 1223904 + Identifier 1223905 1223918 + Identifier 1223919 1223942 + Identifier 1223943 1223953 + IfStatement 1223955 1224359 + BinaryExpression 1223985 1224028 + Identifier 1223985 1223991 + AmpersandAmpersandToken 1223991 1223994 + BinaryExpression 1223994 1224028 + Identifier 1223994 1224009 + ExclamationEqualsEqualsToken 1224009 1224013 + Identifier 1224013 1224028 + Block 1224029 1224359 + ExpressionStatement 1224031 1224332 + CallExpression 1224031 1224331 + Identifier 1224031 1224234 + Identifier 1224235 1224249 + Identifier 1224250 1224265 + Identifier 1224266 1224275 + Identifier 1224276 1224281 + Identifier 1224282 1224295 + Identifier 1224296 1224319 + Identifier 1224320 1224330 + IfStatement 1224382 1226529 + PropertyAccessExpression 1224408 1224424 + Identifier 1224408 1224417 + Identifier 1224418 1224424 + Block 1224425 1226529 + VariableStatement 1224427 1224520 + VariableDeclarationList 1224427 1224519 + VariableDeclaration 1224458 1224519 + Identifier 1224458 1224471 + ElementAccessExpression 1224473 1224519 + PropertyAccessExpression 1224473 1224490 + Identifier 1224473 1224483 + Identifier 1224484 1224490 + BinaryExpression 1224491 1224518 + PropertyAccessExpression 1224491 1224514 + PropertyAccessExpression 1224491 1224507 + Identifier 1224491 1224500 + Identifier 1224501 1224507 + Identifier 1224508 1224514 + MinusToken 1224514 1224516 + NumericLiteral 1224516 1224518 + VariableStatement 1224520 1224652 + VariableDeclarationList 1224520 1224651 + VariableDeclaration 1224551 1224651 + Identifier 1224551 1224564 + ConditionalExpression 1224566 1224651 + CallExpression 1224566 1224603 + Identifier 1224566 1224593 + Identifier 1224594 1224602 + QuestionToken 1224603 1224605 + CallExpression 1224605 1224639 + Identifier 1224605 1224629 + Identifier 1224630 1224638 + ColonToken 1224639 1224641 + Identifier 1224641 1224651 + VariableStatement 1224652 1224778 + VariableDeclarationList 1224652 1224777 + VariableDeclaration 1224683 1224777 + Identifier 1224683 1224694 + ConditionalExpression 1224696 1224777 + BinaryExpression 1224696 1224723 + Identifier 1224696 1224709 + ExclamationEqualsEqualsToken 1224709 1224713 + Identifier 1224713 1224723 + QuestionToken 1224723 1224725 + CallExpression 1224725 1224765 + Identifier 1224725 1224743 + Identifier 1224744 1224750 + Identifier 1224751 1224764 + ColonToken 1224765 1224767 + Identifier 1224767 1224777 + VariableStatement 1224778 1224836 + VariableDeclarationList 1224778 1224835 + VariableDeclaration 1224809 1224835 + Identifier 1224809 1224827 + FalseKeyword 1224829 1224835 + IfStatement 1224836 1225394 + PrefixUnaryExpression 1224866 1224877 + Identifier 1224867 1224877 + Block 1224878 1225394 + VariableStatement 1224880 1224969 + VariableDeclarationList 1224880 1224968 + VariableDeclaration 1224915 1224968 + Identifier 1224915 1224925 + CallExpression 1224927 1224968 + Identifier 1224927 1224950 + Identifier 1224951 1224957 + Identifier 1224958 1224967 + IfStatement 1224969 1225367 + BinaryExpression 1225003 1225100 + BinaryExpression 1225003 1225037 + Identifier 1225003 1225012 + AmpersandAmpersandToken 1225012 1225015 + PropertyAccessExpression 1225015 1225037 + Identifier 1225015 1225025 + Identifier 1225026 1225037 + AmpersandAmpersandToken 1225037 1225040 + PrefixUnaryExpression 1225040 1225100 + PropertyAccessExpression 1225042 1225100 + CallExpression 1225042 1225084 + Identifier 1225042 1225061 + PropertyAccessExpression 1225062 1225083 + Identifier 1225062 1225071 + Identifier 1225072 1225083 + Identifier 1225085 1225100 + Block 1225101 1225367 + ExpressionStatement 1225103 1225162 + BinaryExpression 1225103 1225161 + Identifier 1225103 1225154 + EqualsToken 1225154 1225156 + TrueKeyword 1225156 1225161 + ExpressionStatement 1225162 1225336 + CallExpression 1225162 1225335 + Identifier 1225162 1225210 + Identifier 1225211 1225223 + CallExpression 1225224 1225334 + Identifier 1225224 1225248 + PropertyAccessExpression 1225249 1225270 + Identifier 1225249 1225258 + Identifier 1225259 1225270 + PropertyAccessExpression 1225271 1225333 + Identifier 1225271 1225283 + Identifier 1225284 1225333 + IfStatement 1225394 1226506 + BinaryExpression 1225426 1225550 + PrefixUnaryExpression 1225426 1225444 + Identifier 1225427 1225444 + AmpersandAmpersandToken 1225444 1225447 + ParenthesizedExpression 1225447 1225550 + BinaryExpression 1225449 1225549 + BinaryExpression 1225449 1225494 + Identifier 1225449 1225459 + AmpersandAmpersandToken 1225459 1225462 + CallExpression 1225462 1225494 + Identifier 1225462 1225469 + PropertyAccessExpression 1225470 1225493 + Identifier 1225470 1225480 + Identifier 1225481 1225493 + BarBarToken 1225494 1225497 + BinaryExpression 1225497 1225549 + PropertyAccessExpression 1225497 1225511 + Identifier 1225497 1225504 + Identifier 1225505 1225511 + AmpersandAmpersandToken 1225511 1225514 + CallExpression 1225514 1225549 + Identifier 1225514 1225521 + PropertyAccessExpression 1225522 1225548 + PropertyAccessExpression 1225522 1225535 + Identifier 1225522 1225528 + Identifier 1225529 1225535 + Identifier 1225536 1225548 + Block 1225551 1226506 + VariableStatement 1225553 1225711 + VariableDeclarationList 1225553 1225710 + VariableDeclaration 1225588 1225710 + Identifier 1225588 1225599 + ConditionalExpression 1225601 1225710 + BinaryExpression 1225601 1225647 + Identifier 1225601 1225612 + AmpersandAmpersandToken 1225612 1225615 + CallExpression 1225615 1225647 + Identifier 1225615 1225622 + PropertyAccessExpression 1225623 1225646 + Identifier 1225623 1225633 + Identifier 1225634 1225646 + QuestionToken 1225647 1225649 + ElementAccessExpression 1225649 1225677 + NonNullExpression 1225649 1225674 + PropertyAccessExpression 1225649 1225673 + Identifier 1225649 1225660 + Identifier 1225661 1225673 + NumericLiteral 1225675 1225676 + ColonToken 1225677 1225679 + ElementAccessExpression 1225679 1225710 + NonNullExpression 1225679 1225707 + PropertyAccessExpression 1225679 1225706 + PropertyAccessExpression 1225679 1225693 + Identifier 1225679 1225686 + Identifier 1225687 1225693 + Identifier 1225694 1225706 + NumericLiteral 1225708 1225709 + IfStatement 1225711 1226479 + PrefixUnaryExpression 1225745 1225793 + PropertyAccessExpression 1225746 1225793 + CallExpression 1225746 1225777 + Identifier 1225746 1225765 + Identifier 1225766 1225776 + Identifier 1225778 1225793 + Block 1225794 1226479 + ExpressionStatement 1225796 1226448 + CallExpression 1225796 1226447 + Identifier 1225796 1225844 + Identifier 1225845 1225895 + CallExpression 1225896 1226411 + Identifier 1225896 1225957 + Identifier 1225958 1226010 + PropertyAccessExpression 1226011 1226137 + Identifier 1226011 1226064 + Identifier 1226065 1226137 + ConditionalExpression 1226138 1226308 + BinaryExpression 1226138 1226240 + Identifier 1226138 1226192 + AmpersandAmpersandToken 1226192 1226195 + PrefixUnaryExpression 1226195 1226240 + ParenthesizedExpression 1226197 1226240 + BinaryExpression 1226198 1226239 + PropertyAccessExpression 1226198 1226212 + Identifier 1226198 1226206 + Identifier 1226207 1226212 + AmpersandToken 1226212 1226214 + PropertyAccessExpression 1226214 1226239 + Identifier 1226214 1226224 + Identifier 1226225 1226239 + QuestionToken 1226240 1226242 + CallExpression 1226242 1226283 + Identifier 1226242 1226269 + Identifier 1226270 1226282 + ColonToken 1226283 1226285 + CallExpression 1226285 1226308 + Identifier 1226285 1226298 + Identifier 1226299 1226307 + CallExpression 1226309 1226371 + Identifier 1226309 1226363 + Identifier 1226364 1226370 + ReturnStatement 1226574 1226605 + Identifier 1226590 1226604 + FunctionDeclaration 1226612 1231251 + Identifier 1226820 1226866 + Parameter 1226867 1226906 + Identifier 1226867 1226885 + TypeReference 1226886 1226906 + Identifier 1226886 1226906 + Parameter 1226907 1226929 + Identifier 1226907 1226923 + TypeReference 1226924 1226929 + Identifier 1226924 1226929 + Parameter 1226930 1226952 + Identifier 1226930 1226946 + TypeReference 1226947 1226952 + Identifier 1226947 1226952 + Parameter 1226953 1227010 + Identifier 1226953 1226971 + TypeReference 1226972 1227010 + Identifier 1226972 1226976 + StringKeyword 1226977 1226983 + TypeReference 1226984 1227009 + Identifier 1226984 1227009 + Parameter 1227011 1227099 + Identifier 1227011 1227043 + UnionType 1227044 1227099 + ParenthesizedType 1227044 1227087 + FunctionType 1227046 1227086 + UnionType 1227051 1227086 + TypeReference 1227051 1227074 + Identifier 1227051 1227074 + UndefinedKeyword 1227076 1227086 + UndefinedKeyword 1227089 1227099 + Parameter 1227100 1227164 + Identifier 1227100 1227130 + UnionType 1227131 1227164 + TypeReference 1227131 1227152 + Identifier 1227131 1227152 + UndefinedKeyword 1227154 1227164 + Block 1227172 1231251 + VariableStatement 1227174 1227263 + VariableDeclarationList 1227174 1227262 + VariableDeclaration 1227189 1227262 + Identifier 1227189 1227217 + CallExpression 1227219 1227262 + Identifier 1227219 1227230 + Identifier 1227231 1227237 + Identifier 1227238 1227261 + VariableStatement 1227263 1227364 + VariableDeclarationList 1227263 1227363 + VariableDeclaration 1227278 1227363 + Identifier 1227278 1227309 + CallExpression 1227311 1227363 + Identifier 1227311 1227322 + Identifier 1227323 1227329 + ArrowFunction 1227330 1227362 + Parameter 1227330 1227332 + Identifier 1227330 1227332 + EqualsGreaterThanToken 1227332 1227335 + PrefixUnaryExpression 1227335 1227362 + CallExpression 1227337 1227362 + Identifier 1227337 1227359 + Identifier 1227360 1227361 + VariableStatement 1227364 1227719 + VariableDeclarationList 1227364 1227718 + VariableDeclaration 1227488 1227718 + Identifier 1227488 1227502 + ConditionalExpression 1227504 1227718 + BinaryExpression 1227504 1227549 + Identifier 1227504 1227535 + ExclamationEqualsEqualsToken 1227535 1227539 + Identifier 1227539 1227549 + QuestionToken 1227549 1227564 + CallExpression 1227564 1227693 + Identifier 1227564 1227591 + PropertyAccessExpression 1227592 1227610 + Identifier 1227592 1227604 + Identifier 1227605 1227610 + PropertyAccessExpression 1227611 1227635 + Identifier 1227611 1227629 + Identifier 1227630 1227635 + Identifier 1227636 1227667 + Identifier 1227668 1227692 + ColonToken 1227693 1227708 + Identifier 1227708 1227718 + VariableStatement 1227719 1227757 + VariableDeclarationList 1227719 1227756 + VariableDeclaration 1227734 1227756 + Identifier 1227734 1227748 + FalseKeyword 1227750 1227756 + ForStatement 1227757 1231213 + VariableDeclarationList 1227772 1227800 + VariableDeclaration 1227775 1227800 + Identifier 1227775 1227782 + CallExpression 1227784 1227800 + PropertyAccessExpression 1227784 1227798 + Identifier 1227784 1227793 + Identifier 1227794 1227798 + PrefixUnaryExpression 1227801 1227814 + PropertyAccessExpression 1227803 1227814 + Identifier 1227803 1227809 + Identifier 1227810 1227814 + BinaryExpression 1227815 1227840 + Identifier 1227815 1227822 + EqualsToken 1227822 1227824 + CallExpression 1227824 1227840 + PropertyAccessExpression 1227824 1227838 + Identifier 1227824 1227833 + Identifier 1227834 1227838 + Block 1227841 1231213 + VariableStatement 1227843 1227945 + VariableDeclarationList 1227843 1227944 + VariableDeclaration 1227862 1227944 + ObjectBindingPattern 1227862 1227929 + BindingElement 1227864 1227880 + Identifier 1227864 1227874 + Identifier 1227875 1227880 + BindingElement 1227881 1227903 + Identifier 1227881 1227897 + Identifier 1227898 1227903 + BindingElement 1227904 1227913 + Identifier 1227904 1227913 + BindingElement 1227914 1227927 + Identifier 1227914 1227927 + PropertyAccessExpression 1227931 1227944 + Identifier 1227931 1227938 + Identifier 1227939 1227944 + VariableStatement 1227945 1227994 + VariableDeclarationList 1227945 1227993 + VariableDeclaration 1227962 1227993 + Identifier 1227962 1227977 + Identifier 1227979 1227993 + VariableStatement 1227994 1228182 + VariableDeclarationList 1227994 1228181 + VariableDeclaration 1228013 1228181 + Identifier 1228013 1228035 + ConditionalExpression 1228037 1228181 + BinaryExpression 1228037 1228079 + Identifier 1228037 1228065 + ExclamationEqualsEqualsToken 1228065 1228069 + Identifier 1228069 1228079 + QuestionToken 1228079 1228081 + CallExpression 1228081 1228169 + Identifier 1228081 1228122 + Identifier 1228123 1228129 + Identifier 1228130 1228158 + Identifier 1228159 1228168 + ColonToken 1228169 1228171 + Identifier 1228171 1228181 + IfStatement 1228182 1228478 + BinaryExpression 1228200 1228281 + Identifier 1228200 1228221 + AmpersandAmpersandToken 1228221 1228224 + PrefixUnaryExpression 1228224 1228281 + ParenthesizedExpression 1228226 1228281 + BinaryExpression 1228227 1228280 + PropertyAccessExpression 1228227 1228254 + Identifier 1228227 1228248 + Identifier 1228249 1228254 + AmpersandToken 1228254 1228256 + PropertyAccessExpression 1228256 1228280 + Identifier 1228256 1228266 + Identifier 1228267 1228280 + Block 1228282 1228478 + ExpressionStatement 1228284 1228463 + BinaryExpression 1228284 1228462 + Identifier 1228284 1228367 + EqualsToken 1228367 1228369 + ConditionalExpression 1228369 1228462 + Identifier 1228369 1228383 + QuestionToken 1228383 1228385 + CallExpression 1228385 1228438 + Identifier 1228385 1228398 + ArrayLiteralExpression 1228399 1228437 + Identifier 1228400 1228413 + Identifier 1228414 1228436 + ColonToken 1228438 1228440 + Identifier 1228440 1228462 + IfStatement 1228478 1228522 + PrefixUnaryExpression 1228496 1228511 + Identifier 1228497 1228511 + ContinueStatement 1228512 1228522 + VariableStatement 1228522 1228607 + VariableDeclarationList 1228522 1228606 + VariableDeclaration 1228539 1228606 + Identifier 1228539 1228554 + CallExpression 1228556 1228606 + Identifier 1228556 1228588 + Identifier 1228589 1228595 + Identifier 1228596 1228605 + IfStatement 1228607 1228651 + PrefixUnaryExpression 1228625 1228640 + Identifier 1228626 1228640 + ContinueStatement 1228641 1228651 + VariableStatement 1228651 1228743 + VariableDeclarationList 1228651 1228742 + VariableDeclaration 1228670 1228742 + Identifier 1228670 1228679 + CallExpression 1228681 1228742 + Identifier 1228681 1228706 + Identifier 1228707 1228715 + Identifier 1228716 1228741 + IfStatement 1228743 1231202 + PrefixUnaryExpression 1228761 1228847 + CallExpression 1228762 1228847 + Identifier 1228762 1228780 + Identifier 1228781 1228795 + Identifier 1228796 1228811 + Identifier 1228812 1228821 + Identifier 1228822 1228846 + Block 1228848 1231202 + VariableStatement 1228850 1229031 + VariableDeclarationList 1228850 1229030 + VariableDeclaration 1228873 1229030 + Identifier 1228873 1228884 + BinaryExpression 1228886 1229030 + Identifier 1228886 1228891 + AmpersandAmpersandToken 1228891 1228894 + CallExpression 1228894 1229030 + Identifier 1228894 1228909 + Identifier 1228910 1228914 + Identifier 1228915 1228930 + Identifier 1228931 1228946 + Identifier 1228947 1228956 + Identifier 1228957 1228983 + Identifier 1228984 1229007 + Identifier 1229008 1229029 + ExpressionStatement 1229031 1229070 + BinaryExpression 1229031 1229069 + Identifier 1229031 1229062 + EqualsToken 1229062 1229064 + TrueKeyword 1229064 1229069 + IfStatement 1229070 1231187 + PrefixUnaryExpression 1229092 1229103 + Identifier 1229093 1229103 + Block 1229104 1231187 + VariableStatement 1229106 1229301 + VariableDeclarationList 1229106 1229300 + VariableDeclaration 1229233 1229300 + Identifier 1229233 1229243 + TypeLiteral 1229244 1229271 + PropertySignature 1229246 1229269 + Identifier 1229246 1229253 + QuestionToken 1229253 1229254 + ArrayType 1229255 1229268 + TypeReference 1229255 1229266 + Identifier 1229255 1229266 + BinaryExpression 1229273 1229300 + Identifier 1229273 1229294 + BarBarToken 1229294 1229297 + ObjectLiteralExpression 1229297 1229300 + VariableStatement 1229301 1229506 + VariableDeclarationList 1229301 1229505 + VariableDeclaration 1229390 1229505 + Identifier 1229390 1229405 + ConditionalExpression 1229407 1229505 + Identifier 1229407 1229412 + QuestionToken 1229412 1229414 + CallExpression 1229414 1229488 + Identifier 1229414 1229466 + Identifier 1229467 1229471 + Identifier 1229472 1229487 + ColonToken 1229488 1229490 + Identifier 1229490 1229505 + IfStatement 1229506 1231168 + BinaryExpression 1229532 1229625 + Identifier 1229532 1229558 + AmpersandAmpersandToken 1229558 1229561 + CallExpression 1229561 1229625 + Identifier 1229561 1229593 + Identifier 1229594 1229608 + Identifier 1229609 1229624 + Block 1229626 1230023 + VariableStatement 1229628 1229900 + VariableDeclarationList 1229628 1229899 + VariableDeclaration 1229659 1229899 + Identifier 1229659 1229664 + CallExpression 1229666 1229899 + Identifier 1229666 1229690 + Identifier 1229691 1229695 + PropertyAccessExpression 1229696 1229838 + Identifier 1229696 1229708 + Identifier 1229709 1229838 + CallExpression 1229839 1229868 + Identifier 1229839 1229852 + Identifier 1229853 1229867 + CallExpression 1229869 1229898 + Identifier 1229869 1229882 + Identifier 1229883 1229897 + ExpressionStatement 1229900 1229948 + CallExpression 1229900 1229947 + PropertyAccessExpression 1229900 1229941 + Identifier 1229900 1229937 + Identifier 1229938 1229941 + Identifier 1229942 1229946 + ExpressionStatement 1229948 1230000 + BinaryExpression 1229948 1229999 + PropertyAccessExpression 1229948 1229990 + Identifier 1229948 1229983 + Identifier 1229984 1229990 + EqualsToken 1229990 1229992 + ArrayLiteralExpression 1229992 1229999 + Identifier 1229994 1229998 + Block 1230049 1231168 + VariableStatement 1230051 1230223 + VariableDeclarationList 1230051 1230222 + VariableDeclaration 1230082 1230222 + Identifier 1230082 1230099 + PrefixUnaryExpression 1230101 1230222 + PrefixUnaryExpression 1230103 1230222 + ParenthesizedExpression 1230104 1230222 + BinaryExpression 1230105 1230221 + Identifier 1230105 1230113 + AmpersandAmpersandToken 1230113 1230116 + BinaryExpression 1230116 1230221 + PropertyAccessExpression 1230116 1230198 + ParenthesizedExpression 1230116 1230192 + BinaryExpression 1230118 1230191 + CallExpression 1230118 1230174 + Identifier 1230118 1230135 + Identifier 1230136 1230163 + Identifier 1230164 1230173 + BarBarToken 1230174 1230177 + Identifier 1230177 1230191 + Identifier 1230193 1230198 + AmpersandToken 1230198 1230200 + PropertyAccessExpression 1230200 1230221 + Identifier 1230200 1230212 + Identifier 1230213 1230221 + VariableStatement 1230223 1230374 + VariableDeclarationList 1230223 1230373 + VariableDeclaration 1230254 1230373 + Identifier 1230254 1230271 + PrefixUnaryExpression 1230273 1230373 + PrefixUnaryExpression 1230275 1230373 + ParenthesizedExpression 1230276 1230373 + BinaryExpression 1230277 1230372 + Identifier 1230277 1230285 + AmpersandAmpersandToken 1230285 1230288 + BinaryExpression 1230288 1230372 + PropertyAccessExpression 1230288 1230349 + ParenthesizedExpression 1230288 1230343 + BinaryExpression 1230290 1230342 + CallExpression 1230290 1230325 + Identifier 1230290 1230307 + Identifier 1230308 1230314 + Identifier 1230315 1230324 + BarBarToken 1230325 1230328 + Identifier 1230328 1230342 + Identifier 1230344 1230349 + AmpersandToken 1230349 1230351 + PropertyAccessExpression 1230351 1230372 + Identifier 1230351 1230363 + Identifier 1230364 1230372 + ExpressionStatement 1230374 1230469 + BinaryExpression 1230374 1230468 + Identifier 1230374 1230414 + EqualsToken 1230414 1230416 + CallExpression 1230416 1230468 + Identifier 1230416 1230434 + Identifier 1230435 1230449 + Identifier 1230450 1230467 + ExpressionStatement 1230469 1230584 + BinaryExpression 1230469 1230583 + Identifier 1230469 1230509 + EqualsToken 1230509 1230511 + CallExpression 1230511 1230583 + Identifier 1230511 1230529 + Identifier 1230530 1230544 + BinaryExpression 1230545 1230582 + Identifier 1230545 1230562 + AmpersandAmpersandToken 1230562 1230565 + Identifier 1230565 1230582 + VariableStatement 1230584 1230741 + VariableDeclarationList 1230584 1230740 + VariableDeclaration 1230615 1230740 + Identifier 1230615 1230622 + CallExpression 1230624 1230740 + Identifier 1230624 1230643 + Identifier 1230644 1230658 + Identifier 1230659 1230674 + Identifier 1230675 1230684 + Identifier 1230685 1230690 + Identifier 1230691 1230704 + Identifier 1230705 1230728 + Identifier 1230729 1230739 + IfStatement 1230741 1231145 + BinaryExpression 1230771 1230814 + Identifier 1230771 1230777 + AmpersandAmpersandToken 1230777 1230780 + BinaryExpression 1230780 1230814 + Identifier 1230780 1230795 + ExclamationEqualsEqualsToken 1230795 1230799 + Identifier 1230799 1230814 + Block 1230815 1231145 + ExpressionStatement 1230817 1231118 + CallExpression 1230817 1231117 + Identifier 1230817 1231020 + Identifier 1231021 1231035 + Identifier 1231036 1231051 + Identifier 1231052 1231061 + Identifier 1231062 1231067 + Identifier 1231068 1231081 + Identifier 1231082 1231105 + Identifier 1231106 1231116 + ReturnStatement 1231213 1231244 + Identifier 1231229 1231243 + FunctionDeclaration 1231251 1231712 + AsteriskToken 1231267 1231268 + Identifier 1231268 1231290 + Parameter 1231291 1231310 + Identifier 1231291 1231295 + TypeReference 1231296 1231310 + Identifier 1231296 1231310 + TypeReference 1231312 1231332 + Identifier 1231312 1231332 + Block 1231332 1231712 + IfStatement 1231334 1231381 + PrefixUnaryExpression 1231348 1231372 + CallExpression 1231349 1231372 + Identifier 1231349 1231355 + PropertyAccessExpression 1231356 1231371 + Identifier 1231356 1231360 + Identifier 1231361 1231371 + ReturnStatement 1231373 1231381 + ForOfStatement 1231381 1231705 + VariableDeclarationList 1231396 1231406 + VariableDeclaration 1231401 1231406 + Identifier 1231401 1231406 + PropertyAccessExpression 1231409 1231425 + Identifier 1231409 1231414 + Identifier 1231415 1231425 + Block 1231426 1231705 + IfStatement 1231428 1231544 + BinaryExpression 1231446 1231533 + CallExpression 1231446 1231472 + Identifier 1231446 1231466 + Identifier 1231467 1231471 + BarBarToken 1231472 1231475 + CallExpression 1231475 1231533 + Identifier 1231475 1231495 + CallExpression 1231496 1231532 + Identifier 1231496 1231521 + PropertyAccessExpression 1231522 1231531 + Identifier 1231522 1231526 + Identifier 1231527 1231531 + ContinueStatement 1231534 1231544 + ExpressionStatement 1231544 1231694 + YieldExpression 1231544 1231693 + ObjectLiteralExpression 1231563 1231693 + PropertyAssignment 1231565 1231586 + Identifier 1231565 1231575 + PropertyAccessExpression 1231576 1231586 + Identifier 1231576 1231581 + Identifier 1231582 1231586 + PropertyAssignment 1231587 1231621 + Identifier 1231587 1231603 + PropertyAccessExpression 1231604 1231621 + Identifier 1231604 1231609 + Identifier 1231610 1231621 + PropertyAssignment 1231622 1231691 + Identifier 1231622 1231631 + CallExpression 1231632 1231691 + Identifier 1231632 1231653 + CallExpression 1231654 1231690 + Identifier 1231654 1231679 + PropertyAccessExpression 1231680 1231689 + Identifier 1231680 1231684 + Identifier 1231685 1231689 + FunctionDeclaration 1231712 1232348 + AsteriskToken 1231728 1231729 + Identifier 1231729 1231749 + Parameter 1231750 1231766 + Identifier 1231750 1231754 + TypeReference 1231755 1231766 + Identifier 1231755 1231766 + Parameter 1231767 1231817 + Identifier 1231767 1231792 + FunctionType 1231793 1231817 + TypeReference 1231799 1231817 + Identifier 1231799 1231817 + TypeReference 1231819 1231839 + Identifier 1231819 1231839 + Block 1231839 1232348 + IfStatement 1231841 1231886 + PrefixUnaryExpression 1231855 1231877 + CallExpression 1231856 1231877 + Identifier 1231856 1231862 + PropertyAccessExpression 1231863 1231876 + Identifier 1231863 1231867 + Identifier 1231868 1231876 + ReturnStatement 1231878 1231886 + VariableStatement 1231886 1231917 + VariableDeclarationList 1231886 1231916 + VariableDeclaration 1231899 1231916 + Identifier 1231899 1231912 + NumericLiteral 1231914 1231916 + ForStatement 1231917 1232341 + VariableDeclarationList 1231932 1231941 + VariableDeclaration 1231935 1231941 + Identifier 1231935 1231937 + NumericLiteral 1231939 1231941 + BinaryExpression 1231942 1231967 + Identifier 1231942 1231944 + LessThanToken 1231944 1231946 + PropertyAccessExpression 1231946 1231967 + PropertyAccessExpression 1231946 1231960 + Identifier 1231946 1231951 + Identifier 1231952 1231960 + Identifier 1231961 1231967 + PostfixUnaryExpression 1231968 1231972 + Identifier 1231968 1231970 + Block 1231973 1232341 + VariableStatement 1231975 1232020 + VariableDeclarationList 1231975 1232019 + VariableDeclaration 1231994 1232019 + Identifier 1231994 1232000 + ElementAccessExpression 1232002 1232019 + PropertyAccessExpression 1232002 1232016 + Identifier 1232002 1232007 + Identifier 1232008 1232016 + Identifier 1232017 1232018 + VariableStatement 1232020 1232090 + VariableDeclarationList 1232020 1232089 + VariableDeclaration 1232039 1232089 + Identifier 1232039 1232048 + CallExpression 1232050 1232089 + Identifier 1232050 1232071 + BinaryExpression 1232072 1232088 + Identifier 1232072 1232073 + MinusToken 1232073 1232075 + Identifier 1232075 1232088 + VariableStatement 1232090 1232193 + VariableDeclarationList 1232090 1232192 + VariableDeclaration 1232109 1232192 + Identifier 1232109 1232114 + CallExpression 1232116 1232192 + Identifier 1232116 1232149 + Identifier 1232150 1232155 + Identifier 1232156 1232165 + Identifier 1232166 1232191 + IfStatement 1232193 1232330 + Identifier 1232211 1232215 + Block 1232216 1232262 + ExpressionStatement 1232218 1232247 + YieldExpression 1232218 1232246 + Identifier 1232241 1232246 + Block 1232280 1232330 + ExpressionStatement 1232282 1232315 + PostfixUnaryExpression 1232282 1232314 + Identifier 1232282 1232312 + FunctionDeclaration 1232348 1233453 + Identifier 1232364 1232397 + Parameter 1232398 1232413 + Identifier 1232398 1232403 + TypeReference 1232404 1232413 + Identifier 1232404 1232413 + Parameter 1232414 1232436 + Identifier 1232414 1232423 + TypeReference 1232424 1232436 + Identifier 1232424 1232436 + Parameter 1232437 1232487 + Identifier 1232437 1232462 + FunctionType 1232463 1232487 + TypeReference 1232469 1232487 + Identifier 1232469 1232487 + Block 1232488 1233453 + SwitchStatement 1232490 1233446 + PropertyAccessExpression 1232508 1232518 + Identifier 1232508 1232513 + Identifier 1232514 1232518 + CaseBlock 1232519 1233446 + CaseClause 1232521 1232715 + PropertyAccessExpression 1232539 1232564 + Identifier 1232539 1232550 + Identifier 1232551 1232564 + ReturnStatement 1232565 1232715 + ObjectLiteralExpression 1232648 1232714 + PropertyAssignment 1232650 1232667 + Identifier 1232650 1232660 + Identifier 1232661 1232667 + PropertyAssignment 1232668 1232702 + Identifier 1232668 1232684 + PropertyAccessExpression 1232685 1232702 + Identifier 1232685 1232691 + Identifier 1232692 1232702 + ShorthandPropertyAssignment 1232703 1232712 + Identifier 1232703 1232712 + CaseClause 1232715 1233072 + PropertyAccessExpression 1232733 1232752 + Identifier 1232733 1232744 + Identifier 1232745 1232752 + IfStatement 1232753 1232908 + PropertyAccessExpression 1232775 1232810 + Identifier 1232775 1232780 + Identifier 1232781 1232810 + Block 1232811 1232908 + BreakStatement 1232813 1232841 + ReturnStatement 1232908 1233072 + ObjectLiteralExpression 1232970 1233071 + PropertyAssignment 1232972 1232989 + Identifier 1232972 1232982 + Identifier 1232983 1232989 + PropertyAssignment 1232990 1233017 + Identifier 1232990 1233006 + Identifier 1233007 1233017 + ShorthandPropertyAssignment 1233018 1233027 + Identifier 1233018 1233027 + PropertyAssignment 1233028 1233069 + Identifier 1233028 1233041 + CallExpression 1233042 1233069 + Identifier 1233042 1233067 + CaseClause 1233072 1233113 + PropertyAccessExpression 1233090 1233112 + Identifier 1233090 1233101 + Identifier 1233102 1233112 + CaseClause 1233113 1233165 + PropertyAccessExpression 1233131 1233164 + Identifier 1233131 1233142 + Identifier 1233143 1233164 + CaseClause 1233165 1233336 + PropertyAccessExpression 1233183 1233206 + Identifier 1233183 1233194 + Identifier 1233195 1233206 + ReturnStatement 1233207 1233336 + ObjectLiteralExpression 1233280 1233335 + PropertyAssignment 1233282 1233299 + Identifier 1233282 1233292 + Identifier 1233293 1233299 + PropertyAssignment 1233300 1233323 + Identifier 1233300 1233316 + Identifier 1233317 1233323 + ShorthandPropertyAssignment 1233324 1233333 + Identifier 1233324 1233333 + DefaultClause 1233336 1233435 + ReturnStatement 1233358 1233435 + CallExpression 1233382 1233434 + PropertyAccessExpression 1233382 1233400 + Identifier 1233382 1233388 + Identifier 1233389 1233400 + Identifier 1233401 1233406 + StringLiteral 1233407 1233433 + FunctionDeclaration 1233453 1239477 + Identifier 1233469 1233492 + Parameter 1233493 1233522 + Identifier 1233493 1233507 + TypeReference 1233508 1233522 + Identifier 1233508 1233522 + Parameter 1233523 1233545 + Identifier 1233523 1233539 + TypeReference 1233540 1233545 + Identifier 1233540 1233545 + Parameter 1233546 1233568 + Identifier 1233546 1233562 + TypeReference 1233563 1233568 + Identifier 1233563 1233568 + Parameter 1233569 1233626 + Identifier 1233569 1233587 + TypeReference 1233588 1233626 + Identifier 1233588 1233592 + StringKeyword 1233593 1233599 + TypeReference 1233600 1233625 + Identifier 1233600 1233625 + Parameter 1233627 1233715 + Identifier 1233627 1233659 + UnionType 1233660 1233715 + ParenthesizedType 1233660 1233703 + FunctionType 1233662 1233702 + UnionType 1233667 1233702 + TypeReference 1233667 1233690 + Identifier 1233667 1233690 + UndefinedKeyword 1233692 1233702 + UndefinedKeyword 1233705 1233715 + Parameter 1233716 1233780 + Identifier 1233716 1233746 + UnionType 1233747 1233780 + TypeReference 1233747 1233768 + Identifier 1233747 1233768 + UndefinedKeyword 1233770 1233780 + Block 1233788 1239477 + VariableStatement 1233790 1233935 + VariableDeclarationList 1233790 1233934 + VariableDeclaration 1233803 1233934 + Identifier 1233803 1233810 + CallExpression 1233812 1233934 + Identifier 1233812 1233833 + CallExpression 1233834 1233861 + Identifier 1233834 1233855 + Identifier 1233856 1233860 + Identifier 1233862 1233869 + Identifier 1233870 1233877 + Identifier 1233878 1233887 + Identifier 1233888 1233911 + Identifier 1233912 1233933 + VariableStatement 1233935 1234002 + VariableDeclarationList 1233935 1234001 + VariableDeclaration 1233948 1234001 + Identifier 1233948 1233970 + UnionType 1233971 1234001 + TypeReference 1233971 1233989 + Identifier 1233971 1233989 + UndefinedKeyword 1233991 1234001 + IfStatement 1234002 1238509 + BinaryExpression 1234016 1234084 + CallExpression 1234016 1234048 + Identifier 1234016 1234035 + PropertyAccessExpression 1234036 1234047 + Identifier 1234036 1234040 + Identifier 1234041 1234047 + AmpersandAmpersandToken 1234048 1234051 + CallExpression 1234051 1234084 + Identifier 1234051 1234064 + PropertyAccessExpression 1234065 1234083 + PropertyAccessExpression 1234065 1234076 + Identifier 1234065 1234069 + Identifier 1234070 1234076 + Identifier 1234077 1234083 + Block 1234085 1238509 + VariableStatement 1234087 1234146 + VariableDeclarationList 1234087 1234145 + VariableDeclaration 1234106 1234145 + Identifier 1234106 1234124 + PropertyAccessExpression 1234126 1234145 + PropertyAccessExpression 1234126 1234138 + Identifier 1234126 1234131 + Identifier 1234132 1234138 + Identifier 1234139 1234145 + VariableStatement 1234146 1234241 + VariableDeclarationList 1234146 1234240 + VariableDeclaration 1234165 1234240 + Identifier 1234165 1234179 + CallExpression 1234181 1234240 + Identifier 1234181 1234215 + CallExpression 1234216 1234239 + Identifier 1234216 1234233 + Identifier 1234234 1234238 + VariableStatement 1234241 1234365 + VariableDeclarationList 1234241 1234364 + VariableDeclaration 1234260 1234364 + Identifier 1234260 1234277 + ConditionalExpression 1234279 1234364 + BinaryExpression 1234279 1234307 + Identifier 1234279 1234293 + EqualsEqualsEqualsToken 1234293 1234297 + Identifier 1234297 1234307 + QuestionToken 1234307 1234309 + StringLiteral 1234309 1234320 + ColonToken 1234320 1234322 + CallExpression 1234322 1234364 + Identifier 1234322 1234349 + Identifier 1234350 1234363 + VariableStatement 1234365 1234443 + VariableDeclarationList 1234365 1234442 + VariableDeclaration 1234384 1234442 + Identifier 1234384 1234401 + CallExpression 1234403 1234442 + Identifier 1234403 1234424 + Identifier 1234425 1234441 + VariableStatement 1234443 1234531 + VariableDeclarationList 1234443 1234530 + VariableDeclaration 1234462 1234530 + Identifier 1234462 1234481 + CallExpression 1234483 1234530 + Identifier 1234483 1234504 + Identifier 1234505 1234511 + Identifier 1234512 1234529 + VariableStatement 1234531 1234618 + VariableDeclarationList 1234531 1234617 + VariableDeclaration 1234550 1234617 + Identifier 1234550 1234564 + CallExpression 1234566 1234617 + Identifier 1234566 1234589 + PropertyAccessExpression 1234590 1234616 + Identifier 1234590 1234607 + Identifier 1234608 1234616 + IfStatement 1234618 1234708 + PrefixUnaryExpression 1234636 1234658 + CallExpression 1234637 1234658 + Identifier 1234637 1234643 + Identifier 1234644 1234657 + Block 1234659 1234708 + ReturnStatement 1234661 1234693 + Identifier 1234685 1234692 + VariableStatement 1234708 1234780 + VariableDeclarationList 1234708 1234779 + VariableDeclaration 1234727 1234779 + Identifier 1234727 1234751 + BinaryExpression 1234753 1234779 + CallExpression 1234753 1234775 + Identifier 1234753 1234760 + Identifier 1234761 1234774 + GreaterThanToken 1234775 1234777 + NumericLiteral 1234777 1234779 + VariableStatement 1234780 1234825 + VariableDeclarationList 1234780 1234824 + VariableDeclaration 1234797 1234824 + Identifier 1234797 1234818 + TypeReference 1234819 1234824 + Identifier 1234819 1234824 + VariableStatement 1234825 1234873 + VariableDeclarationList 1234825 1234872 + VariableDeclaration 1234842 1234872 + Identifier 1234842 1234866 + TypeReference 1234867 1234872 + Identifier 1234867 1234872 + VariableStatement 1234873 1234954 + VariableDeclarationList 1234873 1234953 + VariableDeclaration 1234892 1234953 + Identifier 1234892 1234905 + CallExpression 1234907 1234953 + Identifier 1234907 1234929 + FalseKeyword 1234930 1234952 + IfStatement 1234954 1235558 + BinaryExpression 1234972 1235005 + Identifier 1234972 1234984 + ExclamationEqualsEqualsToken 1234984 1234988 + Identifier 1234988 1235005 + Block 1235006 1235319 + VariableStatement 1235008 1235074 + VariableDeclarationList 1235008 1235073 + VariableDeclaration 1235031 1235073 + Identifier 1235031 1235043 + CallExpression 1235045 1235073 + Identifier 1235045 1235064 + Identifier 1235065 1235072 + ExpressionStatement 1235074 1235187 + BinaryExpression 1235074 1235186 + Identifier 1235074 1235112 + EqualsToken 1235112 1235114 + CallExpression 1235114 1235186 + Identifier 1235114 1235125 + Identifier 1235126 1235144 + ArrowFunction 1235145 1235185 + Parameter 1235145 1235147 + Identifier 1235145 1235147 + EqualsGreaterThanToken 1235147 1235150 + CallExpression 1235150 1235185 + Identifier 1235150 1235169 + Identifier 1235170 1235171 + Identifier 1235172 1235184 + ExpressionStatement 1235187 1235304 + BinaryExpression 1235187 1235303 + Identifier 1235187 1235228 + EqualsToken 1235228 1235230 + CallExpression 1235230 1235303 + Identifier 1235230 1235241 + Identifier 1235242 1235260 + ArrowFunction 1235261 1235302 + Parameter 1235261 1235263 + Identifier 1235261 1235263 + EqualsGreaterThanToken 1235263 1235266 + PrefixUnaryExpression 1235266 1235302 + CallExpression 1235268 1235302 + Identifier 1235268 1235286 + Identifier 1235287 1235288 + Identifier 1235289 1235301 + Block 1235337 1235558 + ExpressionStatement 1235339 1235435 + BinaryExpression 1235339 1235434 + Identifier 1235339 1235377 + EqualsToken 1235377 1235379 + CallExpression 1235379 1235434 + Identifier 1235379 1235390 + Identifier 1235391 1235409 + Identifier 1235410 1235433 + ExpressionStatement 1235435 1235543 + BinaryExpression 1235435 1235542 + Identifier 1235435 1235476 + EqualsToken 1235476 1235478 + CallExpression 1235478 1235542 + Identifier 1235478 1235489 + Identifier 1235490 1235508 + ArrowFunction 1235509 1235541 + Parameter 1235509 1235511 + Identifier 1235509 1235511 + EqualsGreaterThanToken 1235511 1235514 + PrefixUnaryExpression 1235514 1235541 + CallExpression 1235516 1235541 + Identifier 1235516 1235538 + Identifier 1235539 1235540 + IfStatement 1235558 1238498 + Identifier 1235576 1235599 + Block 1235600 1236900 + IfStatement 1235602 1236885 + BinaryExpression 1235624 1235658 + Identifier 1235624 1235644 + ExclamationEqualsEqualsToken 1235644 1235648 + Identifier 1235648 1235658 + Block 1235659 1236091 + VariableStatement 1235661 1235773 + VariableDeclarationList 1235661 1235772 + VariableDeclaration 1235688 1235772 + Identifier 1235688 1235699 + CallExpression 1235701 1235772 + Identifier 1235701 1235717 + CallExpression 1235718 1235771 + Identifier 1235718 1235734 + Identifier 1235735 1235752 + PropertyAccessExpression 1235753 1235770 + Identifier 1235753 1235763 + Identifier 1235764 1235770 + VariableStatement 1235773 1235885 + VariableDeclarationList 1235773 1235884 + VariableDeclaration 1235800 1235884 + Identifier 1235800 1235809 + CallExpression 1235811 1235884 + Identifier 1235811 1235831 + Identifier 1235832 1235849 + Identifier 1235850 1235883 + ExpressionStatement 1235885 1236072 + BinaryExpression 1235885 1236071 + Identifier 1235885 1235913 + EqualsToken 1235913 1235915 + BinaryExpression 1235915 1236071 + CallExpression 1235915 1236061 + Identifier 1235915 1235961 + Identifier 1235962 1235970 + Identifier 1235971 1235982 + Identifier 1235983 1236004 + Identifier 1236005 1236014 + Identifier 1236015 1236038 + Identifier 1236039 1236060 + BarBarToken 1236061 1236064 + Identifier 1236064 1236071 + IfStatement 1236113 1236885 + PrefixUnaryExpression 1236118 1236212 + CallExpression 1236119 1236212 + Identifier 1236119 1236134 + CallExpression 1236135 1236181 + Identifier 1236135 1236155 + Identifier 1236156 1236162 + Identifier 1236163 1236180 + Identifier 1236182 1236201 + Identifier 1236202 1236211 + Block 1236213 1236885 + ExpressionStatement 1236215 1236290 + BinaryExpression 1236215 1236289 + Identifier 1236215 1236282 + EqualsToken 1236282 1236284 + TrueKeyword 1236284 1236289 + VariableStatement 1236290 1236653 + VariableDeclarationList 1236290 1236652 + VariableDeclaration 1236317 1236652 + Identifier 1236317 1236322 + CallExpression 1236324 1236652 + Identifier 1236324 1236330 + PropertyAccessExpression 1236331 1236397 + PropertyAccessExpression 1236331 1236389 + Identifier 1236331 1236374 + Identifier 1236375 1236389 + Identifier 1236390 1236397 + PropertyAccessExpression 1236398 1236526 + Identifier 1236398 1236435 + Identifier 1236436 1236526 + Identifier 1236527 1236569 + CallExpression 1236570 1236628 + Identifier 1236570 1236608 + Identifier 1236609 1236627 + IfStatement 1236653 1236866 + BinaryExpression 1236679 1236735 + Identifier 1236679 1236699 + AmpersandAmpersandToken 1236699 1236702 + PropertyAccessExpression 1236702 1236735 + Identifier 1236702 1236723 + Identifier 1236724 1236735 + Block 1236736 1236866 + ExpressionStatement 1236738 1236843 + CallExpression 1236738 1236842 + PropertyAccessExpression 1236738 1236836 + ParenthesizedExpression 1236738 1236831 + BinaryExpression 1236765 1236830 + PropertyAccessExpression 1236765 1236792 + Identifier 1236765 1236785 + Identifier 1236786 1236792 + BarBarToken 1236792 1236795 + ParenthesizedExpression 1236795 1236830 + BinaryExpression 1236797 1236829 + PropertyAccessExpression 1236797 1236824 + Identifier 1236797 1236817 + Identifier 1236818 1236824 + EqualsToken 1236824 1236826 + ArrayLiteralExpression 1236826 1236829 + Identifier 1236832 1236836 + Identifier 1236837 1236841 + Block 1236918 1238498 + IfStatement 1236920 1238483 + BinaryExpression 1236942 1236979 + Identifier 1236942 1236965 + ExclamationEqualsEqualsToken 1236965 1236969 + Identifier 1236969 1236979 + Block 1236980 1237673 + VariableStatement 1236982 1237035 + VariableDeclarationList 1236982 1237034 + VariableDeclaration 1237009 1237034 + Identifier 1237009 1237015 + ElementAccessExpression 1237017 1237034 + Identifier 1237017 1237031 + NumericLiteral 1237032 1237033 + VariableStatement 1237035 1237162 + VariableDeclarationList 1237035 1237161 + VariableDeclaration 1237062 1237161 + Identifier 1237062 1237067 + CallExpression 1237069 1237161 + Identifier 1237069 1237102 + Identifier 1237103 1237108 + Identifier 1237109 1237126 + Identifier 1237127 1237160 + IfStatement 1237162 1237654 + Identifier 1237188 1237192 + Block 1237193 1237654 + ExpressionStatement 1237195 1237631 + BinaryExpression 1237195 1237630 + Identifier 1237195 1237227 + EqualsToken 1237227 1237229 + BinaryExpression 1237229 1237630 + CallExpression 1237229 1237620 + Identifier 1237229 1237250 + CallExpression 1237251 1237375 + ParenthesizedExpression 1237251 1237373 + FunctionExpression 1237282 1237372 + AsteriskToken 1237290 1237291 + Block 1237294 1237372 + ExpressionStatement 1237296 1237341 + YieldExpression 1237296 1237340 + Identifier 1237335 1237340 + Identifier 1237376 1237412 + Identifier 1237413 1237449 + Identifier 1237450 1237488 + Identifier 1237489 1237541 + Identifier 1237542 1237592 + BarBarToken 1237620 1237623 + Identifier 1237623 1237630 + IfStatement 1237695 1238483 + PrefixUnaryExpression 1237700 1237794 + CallExpression 1237701 1237794 + Identifier 1237701 1237716 + CallExpression 1237717 1237763 + Identifier 1237717 1237737 + Identifier 1237738 1237744 + Identifier 1237745 1237762 + Identifier 1237764 1237783 + Identifier 1237784 1237793 + Block 1237795 1238483 + ExpressionStatement 1237797 1237872 + BinaryExpression 1237797 1237871 + Identifier 1237797 1237864 + EqualsToken 1237864 1237866 + TrueKeyword 1237866 1237871 + VariableStatement 1237872 1238251 + VariableDeclarationList 1237872 1238250 + VariableDeclaration 1237899 1238250 + Identifier 1237899 1237904 + CallExpression 1237906 1238250 + Identifier 1237906 1237912 + PropertyAccessExpression 1237913 1237979 + PropertyAccessExpression 1237913 1237971 + Identifier 1237913 1237956 + Identifier 1237957 1237971 + Identifier 1237972 1237979 + PropertyAccessExpression 1237980 1238124 + Identifier 1237980 1238017 + Identifier 1238018 1238124 + Identifier 1238125 1238167 + CallExpression 1238168 1238226 + Identifier 1238168 1238206 + Identifier 1238207 1238225 + IfStatement 1238251 1238464 + BinaryExpression 1238277 1238333 + Identifier 1238277 1238297 + AmpersandAmpersandToken 1238297 1238300 + PropertyAccessExpression 1238300 1238333 + Identifier 1238300 1238321 + Identifier 1238322 1238333 + Block 1238334 1238464 + ExpressionStatement 1238336 1238441 + CallExpression 1238336 1238440 + PropertyAccessExpression 1238336 1238434 + ParenthesizedExpression 1238336 1238429 + BinaryExpression 1238363 1238428 + PropertyAccessExpression 1238363 1238390 + Identifier 1238363 1238383 + Identifier 1238384 1238390 + BarBarToken 1238390 1238393 + ParenthesizedExpression 1238393 1238428 + BinaryExpression 1238395 1238427 + PropertyAccessExpression 1238395 1238422 + Identifier 1238395 1238415 + Identifier 1238416 1238422 + EqualsToken 1238422 1238424 + ArrayLiteralExpression 1238424 1238427 + Identifier 1238430 1238434 + Identifier 1238435 1238439 + ReturnStatement 1238509 1238533 + Identifier 1238525 1238532 + FunctionDeclaration 1238533 1239470 + Identifier 1238553 1238586 + Block 1238588 1239470 + IfStatement 1238590 1239416 + PrefixUnaryExpression 1238608 1238630 + Identifier 1238609 1238630 + Block 1238631 1239416 + VariableStatement 1238633 1238706 + VariableDeclarationList 1238633 1238705 + VariableDeclaration 1238656 1238705 + Identifier 1238656 1238668 + CallExpression 1238670 1238705 + Identifier 1238670 1238684 + PropertyAccessExpression 1238685 1238704 + PropertyAccessExpression 1238685 1238696 + Identifier 1238685 1238689 + Identifier 1238690 1238696 + Identifier 1238697 1238704 + VariableStatement 1238706 1238805 + VariableDeclarationList 1238706 1238804 + VariableDeclaration 1238729 1238804 + Identifier 1238729 1238743 + CallExpression 1238745 1238804 + Identifier 1238745 1238779 + CallExpression 1238780 1238803 + Identifier 1238780 1238797 + Identifier 1238798 1238802 + VariableStatement 1238805 1238933 + VariableDeclarationList 1238805 1238932 + VariableDeclaration 1238828 1238932 + Identifier 1238828 1238845 + ConditionalExpression 1238847 1238932 + BinaryExpression 1238847 1238875 + Identifier 1238847 1238861 + EqualsEqualsEqualsToken 1238861 1238865 + Identifier 1238865 1238875 + QuestionToken 1238875 1238877 + StringLiteral 1238877 1238888 + ColonToken 1238888 1238890 + CallExpression 1238890 1238932 + Identifier 1238890 1238917 + Identifier 1238918 1238931 + VariableStatement 1238933 1239047 + VariableDeclarationList 1238933 1239046 + VariableDeclaration 1238956 1239046 + Identifier 1238956 1238975 + CallExpression 1238977 1239046 + Identifier 1238977 1238998 + Identifier 1238999 1239005 + CallExpression 1239006 1239045 + Identifier 1239006 1239027 + Identifier 1239028 1239044 + VariableStatement 1239047 1239210 + VariableDeclarationList 1239047 1239209 + VariableDeclaration 1239070 1239209 + Identifier 1239070 1239081 + PropertyAccessExpression 1239083 1239209 + Identifier 1239083 1239095 + Identifier 1239096 1239209 + ExpressionStatement 1239210 1239401 + BinaryExpression 1239210 1239400 + Identifier 1239210 1239249 + EqualsToken 1239249 1239251 + ObjectLiteralExpression 1239251 1239400 + SpreadAssignment 1239253 1239267 + Identifier 1239257 1239267 + PropertyAssignment 1239268 1239297 + Identifier 1239268 1239272 + StringLiteral 1239273 1239297 + PropertyAssignment 1239298 1239398 + Identifier 1239298 1239306 + CallExpression 1239307 1239398 + Identifier 1239307 1239321 + Identifier 1239322 1239332 + Identifier 1239333 1239345 + Identifier 1239346 1239363 + CallExpression 1239364 1239397 + Identifier 1239364 1239377 + Identifier 1239378 1239396 + ReturnStatement 1239416 1239459 + Identifier 1239436 1239458 + FunctionDeclaration 1239477 1240284 + AsteriskToken 1239493 1239494 + Identifier 1239494 1239523 + Parameter 1239524 1239552 + Identifier 1239524 1239528 + TypeReference 1239529 1239552 + Identifier 1239529 1239552 + Parameter 1239553 1239566 + Identifier 1239553 1239560 + TypeReference 1239561 1239566 + Identifier 1239561 1239566 + TypeReference 1239568 1239588 + Identifier 1239568 1239588 + Block 1239588 1240284 + VariableStatement 1239590 1239634 + VariableDeclarationList 1239590 1239633 + VariableDeclaration 1239605 1239633 + Identifier 1239605 1239609 + CallExpression 1239611 1239633 + Identifier 1239611 1239618 + PropertyAccessExpression 1239619 1239632 + Identifier 1239619 1239623 + Identifier 1239624 1239632 + IfStatement 1239634 1239661 + PrefixUnaryExpression 1239648 1239652 + Identifier 1239649 1239652 + ReturnStatement 1239653 1239661 + ForStatement 1239661 1240277 + VariableDeclarationList 1239676 1239685 + VariableDeclaration 1239679 1239685 + Identifier 1239679 1239681 + NumericLiteral 1239683 1239685 + BinaryExpression 1239686 1239694 + Identifier 1239686 1239688 + LessThanToken 1239688 1239690 + Identifier 1239690 1239694 + PostfixUnaryExpression 1239695 1239699 + Identifier 1239695 1239697 + Block 1239700 1240277 + IfStatement 1239702 1239970 + BinaryExpression 1239884 1239959 + CallExpression 1239884 1239907 + Identifier 1239884 1239899 + Identifier 1239900 1239906 + AmpersandAmpersandToken 1239907 1239910 + PrefixUnaryExpression 1239910 1239959 + CallExpression 1239912 1239959 + Identifier 1239912 1239929 + Identifier 1239930 1239936 + AsExpression 1239937 1239958 + ParenthesizedExpression 1239937 1239946 + BinaryExpression 1239939 1239945 + StringLiteral 1239939 1239941 + PlusToken 1239941 1239943 + Identifier 1239943 1239945 + TypeReference 1239949 1239958 + Identifier 1239949 1239958 + ContinueStatement 1239960 1239970 + VariableStatement 1239970 1240014 + VariableDeclarationList 1239970 1240013 + VariableDeclaration 1239989 1240013 + Identifier 1239989 1239994 + ElementAccessExpression 1239996 1240013 + PropertyAccessExpression 1239996 1240010 + Identifier 1239996 1240001 + Identifier 1240002 1240010 + Identifier 1240011 1240012 + IfStatement 1240014 1240068 + CallExpression 1240032 1240057 + Identifier 1240032 1240051 + Identifier 1240052 1240056 + ContinueStatement 1240058 1240068 + VariableStatement 1240068 1240123 + VariableDeclarationList 1240068 1240122 + VariableDeclaration 1240087 1240122 + Identifier 1240087 1240096 + CallExpression 1240098 1240122 + Identifier 1240098 1240119 + Identifier 1240120 1240121 + VariableStatement 1240123 1240183 + VariableDeclarationList 1240123 1240182 + VariableDeclaration 1240142 1240182 + Identifier 1240142 1240152 + CallExpression 1240154 1240182 + Identifier 1240154 1240176 + Identifier 1240177 1240181 + ExpressionStatement 1240183 1240266 + YieldExpression 1240183 1240265 + ObjectLiteralExpression 1240202 1240265 + PropertyAssignment 1240204 1240225 + Identifier 1240204 1240214 + Identifier 1240215 1240225 + PropertyAssignment 1240226 1240253 + Identifier 1240226 1240242 + Identifier 1240243 1240253 + ShorthandPropertyAssignment 1240254 1240263 + Identifier 1240254 1240263 + FunctionDeclaration 1240284 1241518 + Identifier 1240300 1240322 + Parameter 1240323 1240361 + Identifier 1240323 1240337 + TypeReference 1240338 1240361 + Identifier 1240338 1240361 + Parameter 1240362 1240384 + Identifier 1240362 1240378 + TypeReference 1240379 1240384 + Identifier 1240379 1240384 + Parameter 1240385 1240407 + Identifier 1240385 1240401 + TypeReference 1240402 1240407 + Identifier 1240402 1240407 + Parameter 1240408 1240465 + Identifier 1240408 1240426 + TypeReference 1240427 1240465 + Identifier 1240427 1240431 + StringKeyword 1240432 1240438 + TypeReference 1240439 1240464 + Identifier 1240439 1240464 + Parameter 1240466 1240554 + Identifier 1240466 1240498 + UnionType 1240499 1240554 + ParenthesizedType 1240499 1240542 + FunctionType 1240501 1240541 + UnionType 1240506 1240541 + TypeReference 1240506 1240529 + Identifier 1240506 1240529 + UndefinedKeyword 1240531 1240541 + UndefinedKeyword 1240544 1240554 + Parameter 1240555 1240619 + Identifier 1240555 1240585 + UnionType 1240586 1240619 + TypeReference 1240586 1240607 + Identifier 1240586 1240607 + UndefinedKeyword 1240609 1240619 + Block 1240627 1241518 + IfStatement 1240629 1240712 + BinaryExpression 1240643 1240697 + PropertyAccessExpression 1240643 1240655 + Identifier 1240643 1240649 + Identifier 1240650 1240655 + AmpersandToken 1240655 1240657 + ParenthesizedExpression 1240657 1240697 + BinaryExpression 1240659 1240696 + PropertyAccessExpression 1240659 1240678 + Identifier 1240659 1240668 + Identifier 1240669 1240678 + BarToken 1240678 1240680 + PropertyAccessExpression 1240680 1240696 + Identifier 1240680 1240690 + Identifier 1240691 1240696 + ReturnStatement 1240698 1240712 + FalseKeyword 1240705 1240711 + IfStatement 1240712 1240921 + CallExpression 1240726 1240749 + Identifier 1240726 1240741 + Identifier 1240742 1240748 + Block 1240750 1240921 + ReturnStatement 1240752 1240910 + CallExpression 1240772 1240909 + Identifier 1240772 1240793 + CallExpression 1240794 1240836 + Identifier 1240794 1240822 + Identifier 1240823 1240827 + Identifier 1240828 1240835 + Identifier 1240837 1240844 + Identifier 1240845 1240852 + Identifier 1240853 1240862 + Identifier 1240863 1240886 + Identifier 1240887 1240908 + ExpressionStatement 1240921 1241136 + CallExpression 1240921 1241135 + Identifier 1240921 1241102 + Identifier 1241103 1241107 + Identifier 1241108 1241115 + FalseKeyword 1241116 1241134 + VariableStatement 1241136 1241235 + VariableDeclarationList 1241136 1241234 + VariableDeclaration 1241151 1241234 + Identifier 1241151 1241165 + CallExpression 1241167 1241234 + Identifier 1241167 1241185 + Identifier 1241186 1241190 + PropertyAccessExpression 1241191 1241212 + Identifier 1241191 1241201 + Identifier 1241202 1241212 + TrueKeyword 1241213 1241233 + ExpressionStatement 1241235 1241265 + CallExpression 1241235 1241264 + Identifier 1241235 1241262 + IfStatement 1241265 1241488 + CallExpression 1241279 1241309 + Identifier 1241279 1241294 + Identifier 1241295 1241308 + Block 1241310 1241488 + ReturnStatement 1241312 1241477 + CallExpression 1241332 1241476 + Identifier 1241332 1241353 + CallExpression 1241354 1241396 + Identifier 1241354 1241382 + Identifier 1241383 1241387 + Identifier 1241388 1241395 + Identifier 1241397 1241411 + Identifier 1241412 1241419 + Identifier 1241420 1241429 + Identifier 1241430 1241453 + Identifier 1241454 1241475 + ReturnStatement 1241488 1241511 + FalseKeyword 1241504 1241510 + FunctionDeclaration 1241518 1242798 + AsteriskToken 1241534 1241535 + Identifier 1241535 1241565 + Parameter 1241566 1241595 + Identifier 1241566 1241570 + TypeReference 1241571 1241595 + Identifier 1241571 1241595 + TypeReference 1241597 1241617 + Identifier 1241597 1241617 + Block 1241617 1242798 + IfStatement 1241619 1241666 + PrefixUnaryExpression 1241633 1241657 + CallExpression 1241634 1241657 + Identifier 1241634 1241640 + PropertyAccessExpression 1241641 1241656 + Identifier 1241641 1241645 + Identifier 1241646 1241656 + ReturnStatement 1241658 1241666 + ForOfStatement 1241666 1242791 + VariableDeclarationList 1241681 1241691 + VariableDeclaration 1241686 1241691 + Identifier 1241686 1241691 + PropertyAccessExpression 1241694 1241710 + Identifier 1241694 1241699 + Identifier 1241700 1241710 + Block 1241711 1242791 + IfStatement 1241713 1241766 + CallExpression 1241731 1241755 + Identifier 1241731 1241749 + Identifier 1241750 1241754 + ContinueStatement 1241756 1241766 + VariableStatement 1241766 1241891 + VariableDeclarationList 1241766 1241890 + VariableDeclaration 1241785 1241890 + Identifier 1241785 1241790 + CallExpression 1241792 1241890 + Identifier 1241792 1241819 + CallExpression 1241820 1241848 + Identifier 1241820 1241842 + Identifier 1241843 1241847 + PropertyAccessExpression 1241849 1241889 + Identifier 1241849 1241859 + Identifier 1241860 1241889 + IfStatement 1241891 1241993 + BinaryExpression 1241909 1241948 + PrefixUnaryExpression 1241909 1241914 + Identifier 1241910 1241914 + BarBarToken 1241914 1241917 + ParenthesizedExpression 1241917 1241948 + BinaryExpression 1241919 1241947 + PropertyAccessExpression 1241919 1241929 + Identifier 1241919 1241923 + Identifier 1241924 1241929 + AmpersandToken 1241929 1241931 + PropertyAccessExpression 1241931 1241947 + Identifier 1241931 1241941 + Identifier 1241942 1241947 + Block 1241949 1241993 + ContinueStatement 1241951 1241978 + SwitchStatement 1241993 1242780 + PropertyAccessExpression 1242015 1242024 + Identifier 1242015 1242019 + Identifier 1242020 1242024 + CaseBlock 1242025 1242780 + CaseClause 1242027 1242073 + PropertyAccessExpression 1242049 1242072 + Identifier 1242049 1242060 + Identifier 1242061 1242072 + CaseClause 1242073 1242119 + PropertyAccessExpression 1242095 1242118 + Identifier 1242095 1242106 + Identifier 1242107 1242118 + CaseClause 1242119 1242171 + PropertyAccessExpression 1242141 1242170 + Identifier 1242141 1242152 + Identifier 1242153 1242170 + CaseClause 1242171 1242358 + PropertyAccessExpression 1242193 1242232 + Identifier 1242193 1242204 + Identifier 1242205 1242232 + ExpressionStatement 1242233 1242330 + YieldExpression 1242233 1242329 + ObjectLiteralExpression 1242260 1242329 + PropertyAssignment 1242262 1242283 + Identifier 1242262 1242272 + PropertyAccessExpression 1242273 1242283 + Identifier 1242273 1242278 + Identifier 1242279 1242283 + PropertyAssignment 1242284 1242311 + Identifier 1242284 1242300 + Identifier 1242301 1242311 + PropertyAssignment 1242312 1242327 + Identifier 1242312 1242321 + Identifier 1242322 1242327 + BreakStatement 1242330 1242358 + CaseClause 1242358 1242693 + PropertyAccessExpression 1242380 1242410 + Identifier 1242380 1242391 + Identifier 1242392 1242410 + ExpressionStatement 1242411 1242665 + YieldExpression 1242411 1242664 + ObjectLiteralExpression 1242438 1242664 + PropertyAssignment 1242440 1242461 + Identifier 1242440 1242450 + PropertyAccessExpression 1242451 1242461 + Identifier 1242451 1242456 + Identifier 1242457 1242461 + PropertyAssignment 1242462 1242496 + Identifier 1242462 1242478 + PropertyAccessExpression 1242479 1242496 + Identifier 1242479 1242484 + Identifier 1242485 1242496 + PropertyAssignment 1242497 1242512 + Identifier 1242497 1242506 + Identifier 1242507 1242512 + PropertyAssignment 1242513 1242662 + Identifier 1242513 1242526 + ConditionalExpression 1242527 1242662 + CallExpression 1242527 1242563 + Identifier 1242527 1242552 + PropertyAccessExpression 1242553 1242562 + Identifier 1242553 1242557 + Identifier 1242558 1242562 + QuestionToken 1242563 1242565 + PropertyAccessExpression 1242565 1242650 + Identifier 1242565 1242577 + Identifier 1242578 1242650 + ColonToken 1242650 1242652 + Identifier 1242652 1242662 + BreakStatement 1242665 1242693 + DefaultClause 1242693 1242765 + ExpressionStatement 1242719 1242765 + CallExpression 1242719 1242764 + PropertyAccessExpression 1242719 1242758 + Identifier 1242719 1242746 + Identifier 1242747 1242758 + Identifier 1242759 1242763 + FunctionDeclaration 1242798 1243382 + Identifier 1242814 1242837 + Parameter 1242838 1242877 + Identifier 1242838 1242852 + TypeReference 1242853 1242877 + Identifier 1242853 1242877 + Parameter 1242878 1242900 + Identifier 1242878 1242894 + TypeReference 1242895 1242900 + Identifier 1242895 1242900 + Parameter 1242901 1242923 + Identifier 1242901 1242917 + TypeReference 1242918 1242923 + Identifier 1242918 1242923 + Parameter 1242924 1242981 + Identifier 1242924 1242942 + TypeReference 1242943 1242981 + Identifier 1242943 1242947 + StringKeyword 1242948 1242954 + TypeReference 1242955 1242980 + Identifier 1242955 1242980 + Parameter 1242982 1243070 + Identifier 1242982 1243014 + UnionType 1243015 1243070 + ParenthesizedType 1243015 1243058 + FunctionType 1243017 1243057 + UnionType 1243022 1243057 + TypeReference 1243022 1243045 + Identifier 1243022 1243045 + UndefinedKeyword 1243047 1243057 + UndefinedKeyword 1243060 1243070 + Parameter 1243071 1243135 + Identifier 1243071 1243101 + UnionType 1243102 1243135 + TypeReference 1243102 1243123 + Identifier 1243102 1243123 + UndefinedKeyword 1243125 1243135 + Block 1243143 1243382 + IfStatement 1243145 1243228 + BinaryExpression 1243159 1243213 + PropertyAccessExpression 1243159 1243171 + Identifier 1243159 1243165 + Identifier 1243166 1243171 + AmpersandToken 1243171 1243173 + ParenthesizedExpression 1243173 1243213 + BinaryExpression 1243175 1243212 + PropertyAccessExpression 1243175 1243194 + Identifier 1243175 1243184 + Identifier 1243185 1243194 + BarToken 1243194 1243196 + PropertyAccessExpression 1243196 1243212 + Identifier 1243196 1243206 + Identifier 1243207 1243212 + ReturnStatement 1243214 1243228 + FalseKeyword 1243221 1243227 + ReturnStatement 1243228 1243375 + CallExpression 1243244 1243374 + Identifier 1243244 1243265 + CallExpression 1243266 1243301 + Identifier 1243266 1243295 + Identifier 1243296 1243300 + Identifier 1243302 1243309 + Identifier 1243310 1243317 + Identifier 1243318 1243327 + Identifier 1243328 1243351 + Identifier 1243352 1243373 + FunctionDeclaration 1243382 1243899 + Identifier 1243594 1243616 + Parameter 1243617 1243629 + Identifier 1243617 1243623 + TypeReference 1243624 1243629 + Identifier 1243624 1243629 + Parameter 1243630 1243643 + Identifier 1243630 1243637 + TypeReference 1243638 1243643 + Identifier 1243638 1243643 + Parameter 1243644 1243660 + Identifier 1243644 1243654 + TypeReference 1243655 1243660 + Identifier 1243655 1243660 + Parameter 1243661 1243693 + Identifier 1243661 1243673 + QuestionToken 1243673 1243674 + TypeReference 1243675 1243693 + Identifier 1243675 1243693 + Parameter 1243694 1243760 + Identifier 1243694 1243717 + QuestionToken 1243717 1243718 + FunctionType 1243719 1243760 + UnionType 1243725 1243760 + TypeReference 1243725 1243748 + Identifier 1243725 1243748 + UndefinedKeyword 1243750 1243760 + BooleanKeyword 1243762 1243770 + Block 1243770 1243899 + ReturnStatement 1243772 1243892 + CallExpression 1243788 1243891 + Identifier 1243788 1243807 + Identifier 1243808 1243814 + Identifier 1243815 1243822 + Identifier 1243823 1243842 + Identifier 1243843 1243853 + Identifier 1243854 1243866 + Identifier 1243867 1243890 + FunctionDeclaration 1243899 1244340 + Identifier 1243915 1243939 + Parameter 1243940 1243957 + Identifier 1243940 1243946 + TypeReference 1243947 1243957 + Identifier 1243947 1243957 + Parameter 1243958 1243976 + Identifier 1243958 1243965 + TypeReference 1243966 1243976 + Identifier 1243966 1243976 + Parameter 1243977 1244004 + Identifier 1243977 1243995 + BooleanKeyword 1243996 1244004 + BooleanKeyword 1244006 1244014 + Block 1244014 1244340 + ReturnStatement 1244016 1244333 + BinaryExpression 1244032 1244332 + CallExpression 1244032 1244314 + Identifier 1244032 1244057 + Identifier 1244058 1244064 + Identifier 1244065 1244072 + ConditionalExpression 1244073 1244156 + Identifier 1244073 1244091 + QuestionToken 1244091 1244093 + PropertyAccessExpression 1244093 1244130 + Identifier 1244093 1244112 + Identifier 1244113 1244130 + ColonToken 1244130 1244132 + PropertyAccessExpression 1244132 1244156 + Identifier 1244132 1244151 + Identifier 1244152 1244156 + FalseKeyword 1244157 1244180 + Identifier 1244181 1244209 + Identifier 1244210 1244250 + Identifier 1244251 1244274 + Identifier 1244275 1244313 + ExclamationEqualsEqualsToken 1244314 1244318 + PropertyAccessExpression 1244318 1244332 + Identifier 1244318 1244326 + Identifier 1244327 1244332 + TypeAliasDeclaration 1244340 1244436 + Identifier 1244352 1244366 + FunctionType 1244368 1244435 + Parameter 1244370 1244396 + Identifier 1244370 1244377 + TypeReference 1244378 1244396 + Identifier 1244378 1244396 + Parameter 1244397 1244426 + DotDotDotToken 1244397 1244401 + Identifier 1244401 1244405 + TypeReference 1244406 1244426 + Identifier 1244406 1244426 + VoidKeyword 1244430 1244435 + FunctionDeclaration 1244436 1245148 + Identifier 1244604 1244619 + Parameter 1244620 1244632 + Identifier 1244620 1244621 + TypeReference 1244622 1244632 + Identifier 1244622 1244632 + Block 1244633 1245148 + IfStatement 1244635 1245118 + BinaryExpression 1244649 1244799 + BinaryExpression 1244649 1244767 + BinaryExpression 1244649 1244738 + PrefixUnaryExpression 1244649 1244666 + PropertyAccessExpression 1244650 1244666 + Identifier 1244650 1244651 + Identifier 1244652 1244666 + AmpersandAmpersandToken 1244666 1244669 + ParenthesizedExpression 1244669 1244738 + BinaryExpression 1244671 1244737 + PrefixUnaryExpression 1244671 1244687 + PropertyAccessExpression 1244672 1244687 + Identifier 1244672 1244673 + Identifier 1244674 1244687 + BarBarToken 1244687 1244690 + CallExpression 1244690 1244737 + Identifier 1244690 1244700 + CallExpression 1244701 1244736 + Identifier 1244701 1244719 + PropertyAccessExpression 1244720 1244735 + Identifier 1244720 1244721 + Identifier 1244722 1244735 + AmpersandAmpersandToken 1244738 1244741 + BinaryExpression 1244741 1244767 + PropertyAccessExpression 1244741 1244761 + PropertyAccessExpression 1244741 1244754 + Identifier 1244741 1244743 + Identifier 1244744 1244754 + Identifier 1244755 1244761 + EqualsEqualsEqualsToken 1244761 1244765 + NumericLiteral 1244765 1244767 + AmpersandAmpersandToken 1244767 1244770 + CallExpression 1244770 1244799 + Identifier 1244770 1244796 + Identifier 1244797 1244798 + Block 1244800 1245118 + VariableStatement 1244802 1244870 + VariableDeclarationList 1244802 1244869 + VariableDeclaration 1244821 1244869 + Identifier 1244821 1244831 + CallExpression 1244833 1244869 + Identifier 1244833 1244852 + ElementAccessExpression 1244853 1244868 + PropertyAccessExpression 1244853 1244865 + Identifier 1244853 1244854 + Identifier 1244855 1244865 + NumericLiteral 1244866 1244867 + VariableStatement 1244870 1244969 + VariableDeclarationList 1244870 1244968 + VariableDeclaration 1244889 1244968 + Identifier 1244889 1244898 + ConditionalExpression 1244900 1244968 + CallExpression 1244900 1244923 + Identifier 1244900 1244912 + Identifier 1244913 1244922 + QuestionToken 1244923 1244925 + ElementAccessExpression 1244925 1244956 + CallExpression 1244925 1244953 + Identifier 1244925 1244942 + Identifier 1244943 1244952 + NumericLiteral 1244954 1244955 + ColonToken 1244956 1244958 + Identifier 1244958 1244968 + ReturnStatement 1244969 1245107 + PrefixUnaryExpression 1244989 1245106 + PrefixUnaryExpression 1244991 1245106 + ParenthesizedExpression 1244992 1245106 + BinaryExpression 1244993 1245105 + BinaryExpression 1244993 1245043 + PropertyAccessExpression 1244993 1245007 + Identifier 1244993 1245001 + Identifier 1245002 1245007 + AmpersandToken 1245007 1245009 + ParenthesizedExpression 1245009 1245043 + BinaryExpression 1245011 1245042 + PropertyAccessExpression 1245011 1245024 + Identifier 1245011 1245020 + Identifier 1245021 1245024 + BarToken 1245024 1245026 + PropertyAccessExpression 1245026 1245042 + Identifier 1245026 1245036 + Identifier 1245037 1245042 + AmpersandAmpersandToken 1245043 1245046 + BinaryExpression 1245046 1245105 + PropertyAccessExpression 1245046 1245080 + CallExpression 1245046 1245074 + Identifier 1245046 1245071 + Identifier 1245072 1245073 + Identifier 1245075 1245080 + AmpersandToken 1245080 1245082 + PropertyAccessExpression 1245082 1245105 + Identifier 1245082 1245092 + Identifier 1245093 1245105 + ReturnStatement 1245118 1245141 + FalseKeyword 1245134 1245140 + FunctionDeclaration 1245148 1254974 + Identifier 1245241 1245266 + Parameter 1245267 1245284 + Identifier 1245267 1245273 + TypeReference 1245274 1245284 + Identifier 1245274 1245284 + Parameter 1245285 1245303 + Identifier 1245285 1245292 + TypeReference 1245293 1245303 + Identifier 1245293 1245303 + Parameter 1245304 1245334 + Identifier 1245304 1245314 + TypeReference 1245315 1245334 + Identifier 1245315 1245334 + Parameter 1245335 1245357 + Identifier 1245335 1245348 + BooleanKeyword 1245349 1245357 + Parameter 1245358 1245399 + Identifier 1245358 1245372 + UnionType 1245373 1245399 + TypeReference 1245373 1245387 + Identifier 1245373 1245387 + UndefinedKeyword 1245389 1245399 + Parameter 1245400 1245478 + Identifier 1245400 1245426 + UnionType 1245427 1245478 + ParenthesizedType 1245427 1245466 + FunctionType 1245429 1245465 + Parameter 1245430 1245442 + Identifier 1245430 1245436 + TypeReference 1245437 1245442 + Identifier 1245437 1245442 + Parameter 1245443 1245456 + Identifier 1245443 1245450 + TypeReference 1245451 1245456 + Identifier 1245451 1245456 + VoidKeyword 1245460 1245465 + UndefinedKeyword 1245468 1245478 + Parameter 1245479 1245506 + Identifier 1245479 1245492 + TypeReference 1245493 1245506 + Identifier 1245493 1245506 + Parameter 1245507 1245555 + Identifier 1245507 1245531 + UnionType 1245532 1245555 + TypeReference 1245532 1245543 + Identifier 1245532 1245543 + UndefinedKeyword 1245545 1245555 + TypeReference 1245557 1245565 + Identifier 1245557 1245565 + Block 1245565 1254974 + IfStatement 1245567 1245718 + BinaryExpression 1245653 1245670 + Identifier 1245653 1245659 + EqualsEqualsEqualsToken 1245659 1245663 + Identifier 1245663 1245670 + Block 1245671 1245718 + ReturnStatement 1245673 1245707 + PropertyAccessExpression 1245693 1245706 + Identifier 1245693 1245701 + Identifier 1245702 1245706 + IfStatement 1245718 1245886 + BinaryExpression 1245734 1245838 + PrefixUnaryExpression 1245734 1245812 + ParenthesizedExpression 1245735 1245812 + BinaryExpression 1245736 1245811 + BinaryExpression 1245736 1245785 + Identifier 1245736 1245745 + AmpersandToken 1245745 1245747 + PropertyAccessExpression 1245747 1245785 + Identifier 1245747 1245766 + Identifier 1245767 1245785 + AmpersandAmpersandToken 1245785 1245788 + CallExpression 1245788 1245811 + Identifier 1245788 1245803 + Identifier 1245804 1245810 + AmpersandAmpersandToken 1245812 1245815 + CallExpression 1245815 1245838 + Identifier 1245815 1245830 + Identifier 1245831 1245837 + Block 1245839 1245886 + ReturnStatement 1245841 1245875 + PropertyAccessExpression 1245861 1245874 + Identifier 1245861 1245869 + Identifier 1245870 1245874 + IfStatement 1245886 1246051 + BinaryExpression 1245900 1246002 + BinaryExpression 1245900 1245975 + BinaryExpression 1245900 1245949 + Identifier 1245900 1245909 + AmpersandToken 1245909 1245911 + PropertyAccessExpression 1245911 1245949 + Identifier 1245911 1245930 + Identifier 1245931 1245949 + AmpersandAmpersandToken 1245949 1245952 + CallExpression 1245952 1245975 + Identifier 1245952 1245967 + Identifier 1245968 1245974 + AmpersandAmpersandToken 1245975 1245978 + PrefixUnaryExpression 1245978 1246002 + CallExpression 1245980 1246002 + Identifier 1245980 1245994 + Identifier 1245995 1246001 + Block 1246003 1246051 + ReturnStatement 1246005 1246040 + PropertyAccessExpression 1246025 1246039 + Identifier 1246025 1246033 + Identifier 1246034 1246039 + VariableStatement 1246051 1246109 + VariableDeclarationList 1246051 1246108 + VariableDeclaration 1246068 1246108 + Identifier 1246068 1246080 + CallExpression 1246082 1246108 + Identifier 1246082 1246100 + Identifier 1246101 1246107 + VariableStatement 1246109 1246370 + VariableDeclarationList 1246109 1246369 + VariableDeclaration 1246124 1246369 + Identifier 1246124 1246148 + BinaryExpression 1246150 1246369 + PrefixUnaryExpression 1246150 1246185 + CallExpression 1246152 1246185 + Identifier 1246152 1246177 + Identifier 1246178 1246184 + AmpersandAmpersandToken 1246185 1246188 + ParenthesizedExpression 1246188 1246369 + ConditionalExpression 1246203 1246368 + BinaryExpression 1246203 1246245 + Identifier 1246203 1246212 + AmpersandToken 1246212 1246214 + PropertyAccessExpression 1246214 1246245 + Identifier 1246214 1246233 + Identifier 1246234 1246245 + QuestionToken 1246245 1246247 + BinaryExpression 1246247 1246324 + CallExpression 1246247 1246281 + Identifier 1246247 1246273 + Identifier 1246274 1246280 + BarBarToken 1246281 1246284 + BinaryExpression 1246284 1246324 + CallExpression 1246284 1246310 + Identifier 1246284 1246302 + Identifier 1246303 1246309 + GreaterThanToken 1246310 1246312 + Identifier 1246312 1246324 + ColonToken 1246324 1246326 + BinaryExpression 1246326 1246368 + CallExpression 1246326 1246354 + Identifier 1246326 1246346 + Identifier 1246347 1246353 + GreaterThanToken 1246354 1246356 + Identifier 1246356 1246368 + IfStatement 1246370 1246918 + Identifier 1246384 1246407 + Block 1246408 1246918 + IfStatement 1246410 1246872 + BinaryExpression 1246428 1246489 + Identifier 1246428 1246440 + AmpersandAmpersandToken 1246440 1246443 + PrefixUnaryExpression 1246443 1246489 + ParenthesizedExpression 1246445 1246489 + BinaryExpression 1246446 1246488 + Identifier 1246446 1246455 + AmpersandToken 1246455 1246457 + PropertyAccessExpression 1246457 1246488 + Identifier 1246457 1246476 + Identifier 1246477 1246488 + Block 1246490 1246872 + ExpressionStatement 1246492 1246857 + CallExpression 1246492 1246856 + NonNullExpression 1246492 1246728 + Identifier 1246492 1246727 + PropertyAccessExpression 1246729 1246813 + Identifier 1246729 1246740 + Identifier 1246741 1246813 + CallExpression 1246814 1246842 + Identifier 1246814 1246834 + Identifier 1246835 1246841 + Identifier 1246843 1246855 + ReturnStatement 1246872 1246907 + PropertyAccessExpression 1246892 1246906 + Identifier 1246892 1246900 + Identifier 1246901 1246906 + IfStatement 1246918 1247190 + BinaryExpression 1246934 1247006 + PropertyAccessExpression 1246934 1246955 + Identifier 1246934 1246940 + Identifier 1246941 1246955 + AmpersandAmpersandToken 1246955 1246958 + BinaryExpression 1246958 1247006 + PropertyAccessExpression 1246958 1246980 + Identifier 1246958 1246965 + Identifier 1246966 1246980 + ExclamationEqualsEqualsToken 1246980 1246984 + PropertyAccessExpression 1246984 1247006 + Identifier 1246984 1246991 + Identifier 1246992 1247006 + Block 1247007 1247190 + ExpressionStatement 1247009 1247062 + BinaryExpression 1247009 1247061 + Identifier 1247009 1247029 + EqualsToken 1247029 1247031 + CallExpression 1247031 1247061 + Identifier 1247031 1247053 + Identifier 1247054 1247060 + ExpressionStatement 1247062 1247179 + BinaryExpression 1247062 1247178 + Identifier 1247062 1247082 + EqualsToken 1247082 1247084 + CallExpression 1247084 1247178 + Identifier 1247084 1247116 + Identifier 1247117 1247123 + Identifier 1247124 1247131 + Identifier 1247132 1247163 + Identifier 1247164 1247177 + VariableStatement 1247190 1247248 + VariableDeclarationList 1247190 1247247 + VariableDeclaration 1247207 1247247 + Identifier 1247207 1247219 + CallExpression 1247221 1247247 + Identifier 1247221 1247239 + Identifier 1247240 1247246 + VariableStatement 1247248 1247309 + VariableDeclarationList 1247248 1247308 + VariableDeclaration 1247263 1247308 + Identifier 1247263 1247278 + CallExpression 1247280 1247308 + Identifier 1247280 1247300 + Identifier 1247301 1247307 + VariableStatement 1247309 1247370 + VariableDeclarationList 1247309 1247369 + VariableDeclaration 1247324 1247369 + Identifier 1247324 1247339 + CallExpression 1247341 1247369 + Identifier 1247341 1247361 + Identifier 1247362 1247368 + IfStatement 1247370 1247524 + BinaryExpression 1247384 1247416 + Identifier 1247384 1247398 + BarBarToken 1247398 1247401 + Identifier 1247401 1247416 + Block 1247417 1247524 + ExpressionStatement 1247419 1247513 + VoidExpression 1247419 1247512 + CallExpression 1247437 1247512 + Identifier 1247437 1247453 + BinaryExpression 1247454 1247486 + Identifier 1247454 1247468 + BarBarToken 1247468 1247471 + Identifier 1247471 1247486 + Identifier 1247487 1247511 + VariableStatement 1247524 1247615 + VariableDeclarationList 1247524 1247614 + VariableDeclaration 1247541 1247614 + Identifier 1247541 1247546 + ConditionalExpression 1247548 1247614 + PropertyAccessExpression 1247548 1247567 + Identifier 1247548 1247555 + Identifier 1247556 1247567 + QuestionToken 1247567 1247569 + PropertyAccessExpression 1247569 1247593 + PropertyAccessExpression 1247569 1247588 + Identifier 1247569 1247576 + Identifier 1247577 1247588 + Identifier 1247589 1247593 + ColonToken 1247593 1247595 + PropertyAccessExpression 1247595 1247614 + Identifier 1247595 1247606 + Identifier 1247607 1247614 + VariableStatement 1247615 1247842 + VariableDeclarationList 1247615 1247841 + VariableDeclaration 1247630 1247841 + Identifier 1247630 1247645 + BinaryExpression 1247647 1247841 + BinaryExpression 1247647 1247806 + BinaryExpression 1247647 1247754 + BinaryExpression 1247647 1247713 + PrefixUnaryExpression 1247647 1247690 + ParenthesizedExpression 1247649 1247690 + BinaryExpression 1247650 1247689 + Identifier 1247650 1247659 + AmpersandToken 1247659 1247661 + PropertyAccessExpression 1247661 1247689 + Identifier 1247661 1247680 + Identifier 1247681 1247689 + AmpersandAmpersandToken 1247690 1247693 + Identifier 1247693 1247713 + AmpersandAmpersandToken 1247713 1247716 + BinaryExpression 1247716 1247754 + Identifier 1247716 1247721 + ExclamationEqualsEqualsToken 1247721 1247725 + PropertyAccessExpression 1247725 1247754 + Identifier 1247725 1247736 + Identifier 1247737 1247754 + AmpersandAmpersandToken 1247754 1247757 + BinaryExpression 1247757 1247806 + Identifier 1247757 1247775 + ExclamationEqualsEqualsToken 1247775 1247779 + PropertyAccessExpression 1247779 1247806 + Identifier 1247779 1247790 + Identifier 1247791 1247806 + AmpersandAmpersandToken 1247806 1247809 + BinaryExpression 1247809 1247841 + Identifier 1247809 1247814 + ExclamationEqualsEqualsToken 1247814 1247818 + PropertyAccessExpression 1247818 1247841 + Identifier 1247818 1247829 + Identifier 1247830 1247841 + VariableStatement 1247842 1247878 + VariableDeclarationList 1247842 1247877 + VariableDeclaration 1247855 1247877 + Identifier 1247855 1247862 + PropertyAccessExpression 1247864 1247877 + Identifier 1247864 1247872 + Identifier 1247873 1247877 + VariableStatement 1247878 1247944 + VariableDeclarationList 1247878 1247943 + VariableDeclaration 1247895 1247943 + Identifier 1247895 1247910 + CallExpression 1247912 1247943 + Identifier 1247912 1247935 + Identifier 1247936 1247942 + IfStatement 1247944 1248700 + BinaryExpression 1247958 1248003 + Identifier 1247958 1247972 + AmpersandAmpersandToken 1247972 1247975 + BinaryExpression 1247975 1248003 + Identifier 1247975 1247990 + ExclamationEqualsEqualsToken 1247990 1247994 + Identifier 1247994 1248003 + Block 1248004 1248700 + VariableStatement 1248006 1248074 + VariableDeclarationList 1248006 1248073 + VariableDeclaration 1248025 1248073 + Identifier 1248025 1248040 + CallExpression 1248042 1248073 + Identifier 1248042 1248065 + Identifier 1248066 1248072 + IfStatement 1248074 1248689 + Identifier 1248092 1248106 + Block 1248107 1248689 + VariableStatement 1248109 1248375 + VariableDeclarationList 1248109 1248374 + VariableDeclaration 1248193 1248374 + Identifier 1248193 1248201 + BinaryExpression 1248203 1248374 + BinaryExpression 1248203 1248291 + PrefixUnaryExpression 1248203 1248219 + Identifier 1248205 1248219 + AmpersandAmpersandToken 1248219 1248222 + CallExpression 1248222 1248291 + Identifier 1248222 1248235 + Identifier 1248236 1248250 + Identifier 1248251 1248266 + FalseKeyword 1248267 1248290 + BarBarToken 1248291 1248315 + CallExpression 1248315 1248374 + Identifier 1248315 1248328 + Identifier 1248329 1248343 + Identifier 1248344 1248359 + Identifier 1248360 1248373 + IfStatement 1248375 1248638 + PrefixUnaryExpression 1248397 1248405 + Identifier 1248398 1248405 + Block 1248406 1248638 + IfStatement 1248408 1248576 + Identifier 1248434 1248446 + Block 1248447 1248576 + ExpressionStatement 1248449 1248553 + CallExpression 1248449 1248552 + NonNullExpression 1248449 1248489 + Identifier 1248449 1248488 + PropertyAccessExpression 1248490 1248551 + Identifier 1248490 1248501 + Identifier 1248502 1248551 + ReturnStatement 1248576 1248619 + PropertyAccessExpression 1248604 1248618 + Identifier 1248604 1248612 + Identifier 1248613 1248618 + ExpressionStatement 1248638 1248674 + BinaryExpression 1248638 1248673 + Identifier 1248638 1248662 + AmpersandEqualsToken 1248662 1248665 + Identifier 1248665 1248673 + VariableStatement 1248700 1248838 + VariableDeclarationList 1248700 1248837 + VariableDeclaration 1248717 1248837 + Identifier 1248717 1248728 + ConditionalExpression 1248730 1248837 + BinaryExpression 1248730 1248763 + Identifier 1248730 1248745 + BarBarToken 1248745 1248748 + Identifier 1248748 1248763 + QuestionToken 1248763 1248765 + CallExpression 1248765 1248800 + PropertyAccessExpression 1248765 1248774 + Identifier 1248765 1248770 + Identifier 1248771 1248774 + Identifier 1248775 1248786 + Identifier 1248787 1248799 + ColonToken 1248800 1248802 + CallExpression 1248802 1248837 + PropertyAccessExpression 1248802 1248811 + Identifier 1248802 1248807 + Identifier 1248808 1248811 + Identifier 1248812 1248823 + Identifier 1248824 1248836 + VariableStatement 1248838 1248921 + VariableDeclarationList 1248838 1248920 + VariableDeclaration 1248853 1248920 + Identifier 1248853 1248863 + ConditionalExpression 1248865 1248920 + BinaryExpression 1248865 1248898 + Identifier 1248865 1248880 + BarBarToken 1248880 1248883 + Identifier 1248883 1248898 + QuestionToken 1248898 1248900 + BinaryExpression 1248900 1248915 + Identifier 1248900 1248911 + MinusToken 1248911 1248913 + NumericLiteral 1248913 1248915 + ColonToken 1248915 1248917 + PrefixUnaryExpression 1248917 1248920 + NumericLiteral 1248919 1248920 + ForStatement 1248921 1252275 + VariableDeclarationList 1248938 1248947 + VariableDeclaration 1248941 1248947 + Identifier 1248941 1248943 + NumericLiteral 1248945 1248947 + BinaryExpression 1248948 1248963 + Identifier 1248948 1248950 + LessThanToken 1248950 1248952 + Identifier 1248952 1248963 + PostfixUnaryExpression 1248964 1248968 + Identifier 1248964 1248966 + Block 1248969 1252275 + VariableStatement 1248971 1249094 + VariableDeclarationList 1248971 1249093 + VariableDeclaration 1248990 1249093 + Identifier 1248990 1249001 + ConditionalExpression 1249003 1249093 + BinaryExpression 1249003 1249019 + Identifier 1249003 1249005 + EqualsEqualsEqualsToken 1249005 1249009 + Identifier 1249009 1249019 + QuestionToken 1249019 1249021 + CallExpression 1249021 1249059 + Identifier 1249021 1249048 + Identifier 1249049 1249055 + Identifier 1249056 1249058 + ColonToken 1249059 1249061 + CallExpression 1249061 1249093 + Identifier 1249061 1249082 + Identifier 1249083 1249089 + Identifier 1249090 1249092 + VariableStatement 1249094 1249217 + VariableDeclarationList 1249094 1249216 + VariableDeclaration 1249113 1249216 + Identifier 1249113 1249124 + ConditionalExpression 1249126 1249216 + BinaryExpression 1249126 1249142 + Identifier 1249126 1249128 + EqualsEqualsEqualsToken 1249128 1249132 + Identifier 1249132 1249142 + QuestionToken 1249142 1249144 + CallExpression 1249144 1249182 + Identifier 1249144 1249171 + Identifier 1249172 1249178 + Identifier 1249179 1249181 + ColonToken 1249182 1249184 + CallExpression 1249184 1249216 + Identifier 1249184 1249205 + Identifier 1249206 1249212 + Identifier 1249213 1249215 + IfStatement 1249217 1252264 + BinaryExpression 1249235 1249336 + BinaryExpression 1249235 1249259 + Identifier 1249235 1249245 + AmpersandAmpersandToken 1249245 1249248 + Identifier 1249248 1249259 + AmpersandAmpersandToken 1249259 1249262 + ParenthesizedExpression 1249262 1249336 + BinaryExpression 1249264 1249335 + BinaryExpression 1249264 1249289 + Identifier 1249264 1249274 + ExclamationEqualsEqualsToken 1249274 1249278 + Identifier 1249278 1249289 + BarBarToken 1249289 1249292 + BinaryExpression 1249292 1249335 + Identifier 1249292 1249302 + AmpersandToken 1249302 1249304 + PropertyAccessExpression 1249304 1249335 + Identifier 1249304 1249323 + Identifier 1249324 1249335 + Block 1249337 1252264 + VariableStatement 1249339 1250402 + VariableDeclarationList 1249339 1250401 + VariableDeclaration 1250235 1250401 + Identifier 1250235 1250245 + ConditionalExpression 1250247 1250401 + BinaryExpression 1250247 1250332 + BinaryExpression 1250247 1250287 + Identifier 1250247 1250257 + AmpersandToken 1250257 1250259 + PropertyAccessExpression 1250259 1250287 + Identifier 1250259 1250278 + Identifier 1250279 1250287 + BarBarToken 1250287 1250290 + CallExpression 1250290 1250332 + Identifier 1250290 1250321 + Identifier 1250322 1250328 + Identifier 1250329 1250331 + QuestionToken 1250332 1250334 + Identifier 1250334 1250344 + ColonToken 1250344 1250346 + CallExpression 1250346 1250401 + Identifier 1250346 1250369 + CallExpression 1250370 1250400 + Identifier 1250370 1250388 + Identifier 1250389 1250399 + VariableStatement 1250402 1250592 + VariableDeclarationList 1250402 1250591 + VariableDeclaration 1250425 1250591 + Identifier 1250425 1250435 + ConditionalExpression 1250437 1250591 + BinaryExpression 1250437 1250522 + BinaryExpression 1250437 1250477 + Identifier 1250437 1250447 + AmpersandToken 1250447 1250449 + PropertyAccessExpression 1250449 1250477 + Identifier 1250449 1250468 + Identifier 1250469 1250477 + BarBarToken 1250477 1250480 + CallExpression 1250480 1250522 + Identifier 1250480 1250511 + Identifier 1250512 1250518 + Identifier 1250519 1250521 + QuestionToken 1250522 1250524 + Identifier 1250524 1250534 + ColonToken 1250534 1250536 + CallExpression 1250536 1250591 + Identifier 1250536 1250559 + CallExpression 1250560 1250590 + Identifier 1250560 1250578 + Identifier 1250579 1250589 + VariableStatement 1250592 1250873 + VariableDeclarationList 1250592 1250872 + VariableDeclaration 1250615 1250872 + Identifier 1250615 1250625 + BinaryExpression 1250627 1250872 + BinaryExpression 1250627 1250736 + BinaryExpression 1250627 1250693 + BinaryExpression 1250627 1250650 + Identifier 1250627 1250637 + AmpersandAmpersandToken 1250637 1250640 + Identifier 1250640 1250650 + AmpersandAmpersandToken 1250650 1250653 + PrefixUnaryExpression 1250653 1250693 + CallExpression 1250655 1250693 + Identifier 1250655 1250682 + Identifier 1250683 1250692 + AmpersandAmpersandToken 1250693 1250696 + PrefixUnaryExpression 1250696 1250736 + CallExpression 1250698 1250736 + Identifier 1250698 1250725 + Identifier 1250726 1250735 + AmpersandAmpersandToken 1250736 1250739 + BinaryExpression 1250739 1250872 + CallExpression 1250739 1250814 + Identifier 1250739 1250773 + Identifier 1250774 1250784 + PropertyAccessExpression 1250785 1250813 + Identifier 1250785 1250795 + Identifier 1250796 1250813 + EqualsEqualsEqualsToken 1250814 1250818 + CallExpression 1250818 1250872 + Identifier 1250818 1250831 + Identifier 1250832 1250842 + PropertyAccessExpression 1250843 1250871 + Identifier 1250843 1250853 + Identifier 1250854 1250871 + VariableStatement 1250873 1251423 + VariableDeclarationList 1250873 1251422 + VariableDeclaration 1250894 1251422 + Identifier 1250894 1250902 + ConditionalExpression 1250904 1251422 + Identifier 1250904 1250914 + QuestionToken 1250914 1250916 + CallExpression 1250916 1251219 + Identifier 1250916 1250962 + Identifier 1250963 1250972 + Identifier 1250973 1250983 + BinaryExpression 1250984 1251123 + ParenthesizedExpression 1250984 1251029 + BinaryExpression 1250986 1251028 + Identifier 1250986 1250995 + AmpersandToken 1250995 1250997 + PropertyAccessExpression 1250997 1251028 + Identifier 1250997 1251016 + Identifier 1251017 1251028 + BarToken 1251029 1251031 + ParenthesizedExpression 1251031 1251123 + ConditionalExpression 1251033 1251122 + Identifier 1251033 1251047 + QuestionToken 1251047 1251049 + PropertyAccessExpression 1251049 1251083 + Identifier 1251049 1251068 + Identifier 1251069 1251083 + ColonToken 1251083 1251085 + PropertyAccessExpression 1251085 1251122 + Identifier 1251085 1251104 + Identifier 1251105 1251122 + Identifier 1251124 1251137 + Identifier 1251138 1251152 + Identifier 1251153 1251179 + Identifier 1251180 1251193 + Identifier 1251194 1251218 + ColonToken 1251219 1251221 + BinaryExpression 1251221 1251422 + BinaryExpression 1251221 1251368 + BinaryExpression 1251221 1251304 + PrefixUnaryExpression 1251221 1251285 + ParenthesizedExpression 1251244 1251285 + BinaryExpression 1251245 1251284 + Identifier 1251245 1251254 + AmpersandToken 1251254 1251256 + PropertyAccessExpression 1251256 1251284 + Identifier 1251256 1251275 + Identifier 1251276 1251284 + AmpersandAmpersandToken 1251285 1251288 + PrefixUnaryExpression 1251288 1251304 + Identifier 1251290 1251304 + AmpersandAmpersandToken 1251304 1251307 + CallExpression 1251307 1251368 + Identifier 1251307 1251320 + Identifier 1251321 1251331 + Identifier 1251332 1251343 + FalseKeyword 1251344 1251367 + BarBarToken 1251368 1251371 + CallExpression 1251371 1251422 + Identifier 1251371 1251384 + Identifier 1251385 1251395 + Identifier 1251396 1251407 + Identifier 1251408 1251421 + IfStatement 1251423 1251821 + BinaryExpression 1251565 1251753 + BinaryExpression 1251565 1251689 + BinaryExpression 1251565 1251654 + BinaryExpression 1251565 1251618 + Identifier 1251565 1251572 + AmpersandAmpersandToken 1251572 1251575 + BinaryExpression 1251575 1251618 + Identifier 1251575 1251585 + AmpersandToken 1251585 1251587 + PropertyAccessExpression 1251587 1251618 + Identifier 1251587 1251606 + Identifier 1251607 1251618 + AmpersandAmpersandToken 1251618 1251621 + BinaryExpression 1251621 1251654 + Identifier 1251621 1251623 + GreaterThanEqualsToken 1251623 1251626 + CallExpression 1251626 1251654 + Identifier 1251626 1251646 + Identifier 1251647 1251653 + AmpersandAmpersandToken 1251654 1251657 + BinaryExpression 1251657 1251689 + Identifier 1251657 1251659 + LessThanToken 1251659 1251661 + CallExpression 1251661 1251689 + Identifier 1251661 1251681 + Identifier 1251682 1251688 + AmpersandAmpersandToken 1251689 1251692 + CallExpression 1251692 1251753 + Identifier 1251692 1251705 + Identifier 1251706 1251716 + Identifier 1251717 1251728 + FalseKeyword 1251729 1251752 + Block 1251754 1251821 + ExpressionStatement 1251756 1251802 + BinaryExpression 1251756 1251801 + Identifier 1251756 1251785 + EqualsToken 1251785 1251787 + PropertyAccessExpression 1251787 1251801 + Identifier 1251787 1251795 + Identifier 1251796 1251801 + IfStatement 1251821 1252213 + PrefixUnaryExpression 1251843 1251851 + Identifier 1251844 1251851 + Block 1251852 1252213 + IfStatement 1251854 1252151 + Identifier 1251880 1251892 + Block 1251893 1252151 + ExpressionStatement 1251895 1252128 + CallExpression 1251895 1252127 + NonNullExpression 1251895 1251935 + Identifier 1251895 1251934 + PropertyAccessExpression 1251936 1251992 + Identifier 1251936 1251947 + Identifier 1251948 1251992 + CallExpression 1251993 1252059 + Identifier 1251993 1252020 + CallExpression 1252021 1252058 + Identifier 1252021 1252047 + Identifier 1252048 1252054 + Identifier 1252055 1252057 + CallExpression 1252060 1252126 + Identifier 1252060 1252087 + CallExpression 1252088 1252125 + Identifier 1252088 1252114 + Identifier 1252115 1252121 + Identifier 1252122 1252124 + ReturnStatement 1252151 1252194 + PropertyAccessExpression 1252179 1252193 + Identifier 1252179 1252187 + Identifier 1252188 1252193 + ExpressionStatement 1252213 1252249 + BinaryExpression 1252213 1252248 + Identifier 1252213 1252237 + AmpersandEqualsToken 1252237 1252240 + Identifier 1252240 1252248 + IfStatement 1252275 1254941 + PrefixUnaryExpression 1252291 1252342 + ParenthesizedExpression 1252292 1252342 + BinaryExpression 1252293 1252341 + Identifier 1252293 1252302 + AmpersandToken 1252302 1252304 + PropertyAccessExpression 1252304 1252341 + Identifier 1252304 1252323 + Identifier 1252324 1252341 + Block 1252343 1254941 + VariableStatement 1252345 1252799 + VariableDeclarationList 1252345 1252798 + VariableDeclaration 1252519 1252798 + Identifier 1252519 1252536 + ConditionalExpression 1252538 1252798 + CallExpression 1252538 1252579 + Identifier 1252538 1252571 + Identifier 1252572 1252578 + QuestionToken 1252579 1252581 + Identifier 1252581 1252589 + ColonToken 1252589 1252608 + ConditionalExpression 1252608 1252798 + BinaryExpression 1252608 1252666 + PropertyAccessExpression 1252608 1252627 + Identifier 1252608 1252615 + Identifier 1252616 1252627 + AmpersandAmpersandToken 1252627 1252630 + CallExpression 1252630 1252666 + Identifier 1252630 1252646 + PropertyAccessExpression 1252647 1252665 + Identifier 1252647 1252653 + Identifier 1252654 1252665 + QuestionToken 1252666 1252668 + CallExpression 1252668 1252746 + Identifier 1252668 1252702 + CallExpression 1252703 1252745 + Identifier 1252703 1252718 + PropertyAccessExpression 1252719 1252744 + PropertyAccessExpression 1252719 1252737 + Identifier 1252719 1252725 + Identifier 1252726 1252737 + Identifier 1252738 1252744 + ColonToken 1252746 1252765 + CallExpression 1252765 1252798 + Identifier 1252765 1252790 + Identifier 1252791 1252797 + IfStatement 1252799 1252928 + BinaryExpression 1252817 1252878 + BinaryExpression 1252817 1252846 + Identifier 1252817 1252833 + EqualsEqualsEqualsToken 1252833 1252837 + Identifier 1252837 1252846 + BarBarToken 1252846 1252849 + BinaryExpression 1252849 1252878 + Identifier 1252849 1252866 + EqualsEqualsEqualsToken 1252866 1252870 + Identifier 1252870 1252878 + Block 1252879 1252928 + ReturnStatement 1252881 1252913 + Identifier 1252905 1252912 + VariableStatement 1252928 1253227 + VariableDeclarationList 1252928 1253226 + VariableDeclaration 1252947 1253226 + Identifier 1252947 1252964 + ConditionalExpression 1252966 1253226 + CallExpression 1252966 1253007 + Identifier 1252966 1252999 + Identifier 1253000 1253006 + QuestionToken 1253007 1253009 + Identifier 1253009 1253017 + ColonToken 1253017 1253036 + ConditionalExpression 1253036 1253226 + BinaryExpression 1253036 1253094 + PropertyAccessExpression 1253036 1253055 + Identifier 1253036 1253043 + Identifier 1253044 1253055 + AmpersandAmpersandToken 1253055 1253058 + CallExpression 1253058 1253094 + Identifier 1253058 1253074 + PropertyAccessExpression 1253075 1253093 + Identifier 1253075 1253081 + Identifier 1253082 1253093 + QuestionToken 1253094 1253096 + CallExpression 1253096 1253174 + Identifier 1253096 1253130 + CallExpression 1253131 1253173 + Identifier 1253131 1253146 + PropertyAccessExpression 1253147 1253172 + PropertyAccessExpression 1253147 1253165 + Identifier 1253147 1253153 + Identifier 1253154 1253165 + Identifier 1253166 1253172 + ColonToken 1253174 1253193 + CallExpression 1253193 1253226 + Identifier 1253193 1253218 + Identifier 1253219 1253225 + VariableStatement 1253227 1253457 + VariableDeclarationList 1253227 1253456 + VariableDeclaration 1253398 1253456 + Identifier 1253398 1253418 + CallExpression 1253420 1253456 + Identifier 1253420 1253448 + Identifier 1253449 1253455 + IfStatement 1253457 1254930 + Identifier 1253475 1253494 + Block 1253495 1254168 + VariableStatement 1253497 1253579 + VariableDeclarationList 1253497 1253578 + VariableDeclaration 1253520 1253578 + Identifier 1253520 1253540 + CallExpression 1253542 1253578 + Identifier 1253542 1253570 + Identifier 1253571 1253577 + IfStatement 1253579 1254153 + Identifier 1253601 1253620 + Block 1253621 1253789 + ExpressionStatement 1253623 1253770 + BinaryExpression 1253623 1253769 + Identifier 1253623 1253651 + AmpersandEqualsToken 1253651 1253654 + CallExpression 1253654 1253769 + Identifier 1253654 1253684 + Identifier 1253685 1253704 + Identifier 1253705 1253725 + Identifier 1253726 1253739 + Identifier 1253740 1253754 + Identifier 1253755 1253768 + IfStatement 1253811 1254153 + BinaryExpression 1253816 1253906 + CallExpression 1253816 1253862 + Identifier 1253816 1253841 + Identifier 1253842 1253861 + BarBarToken 1253862 1253865 + CallExpression 1253865 1253906 + Identifier 1253865 1253885 + Identifier 1253886 1253905 + Block 1253907 1254153 + IfStatement 1253909 1254091 + Identifier 1253935 1253947 + Block 1253948 1254091 + ExpressionStatement 1253950 1254068 + CallExpression 1253950 1254067 + NonNullExpression 1253950 1253990 + Identifier 1253950 1253989 + PropertyAccessExpression 1253991 1254039 + Identifier 1253991 1254002 + Identifier 1254003 1254039 + CallExpression 1254040 1254066 + Identifier 1254040 1254058 + Identifier 1254059 1254065 + ReturnStatement 1254091 1254134 + PropertyAccessExpression 1254119 1254133 + Identifier 1254119 1254127 + Identifier 1254128 1254133 + Block 1254186 1254930 + ExpressionStatement 1254188 1254735 + BinaryExpression 1254188 1254734 + Identifier 1254188 1254519 + AmpersandEqualsToken 1254519 1254522 + BinaryExpression 1254522 1254734 + BinaryExpression 1254522 1254647 + BinaryExpression 1254522 1254571 + Identifier 1254522 1254532 + AmpersandToken 1254532 1254534 + PropertyAccessExpression 1254534 1254571 + Identifier 1254534 1254553 + Identifier 1254554 1254571 + AmpersandAmpersandToken 1254571 1254574 + CallExpression 1254574 1254647 + Identifier 1254574 1254587 + Identifier 1254588 1254604 + Identifier 1254605 1254622 + FalseKeyword 1254623 1254646 + BarBarToken 1254647 1254650 + CallExpression 1254650 1254734 + Identifier 1254650 1254684 + Identifier 1254685 1254701 + Identifier 1254702 1254719 + Identifier 1254720 1254733 + IfStatement 1254735 1254915 + BinaryExpression 1254757 1254809 + BinaryExpression 1254757 1254780 + PrefixUnaryExpression 1254757 1254764 + Identifier 1254758 1254764 + AmpersandAmpersandToken 1254764 1254767 + Identifier 1254767 1254780 + AmpersandAmpersandToken 1254780 1254783 + Identifier 1254783 1254809 + Block 1254810 1254915 + ExpressionStatement 1254812 1254896 + CallExpression 1254812 1254895 + Identifier 1254812 1254859 + Identifier 1254860 1254876 + Identifier 1254877 1254894 + ReturnStatement 1254941 1254967 + Identifier 1254959 1254966 + FunctionDeclaration 1254974 1256780 + Identifier 1254990 1255020 + Parameter 1255021 1255052 + Identifier 1255021 1255037 + TypeReference 1255038 1255052 + Identifier 1255038 1255052 + Parameter 1255053 1255084 + Identifier 1255053 1255069 + TypeReference 1255070 1255084 + Identifier 1255070 1255084 + Parameter 1255085 1255116 + Identifier 1255085 1255107 + BooleanKeyword 1255108 1255116 + Parameter 1255117 1255167 + Identifier 1255117 1255140 + UnionType 1255141 1255167 + TypeReference 1255141 1255155 + Identifier 1255141 1255155 + UndefinedKeyword 1255157 1255167 + Parameter 1255168 1255245 + Identifier 1255168 1255190 + FunctionType 1255191 1255245 + Parameter 1255193 1255200 + Identifier 1255193 1255194 + TypeReference 1255195 1255200 + Identifier 1255195 1255200 + Parameter 1255201 1255209 + Identifier 1255201 1255203 + TypeReference 1255204 1255209 + Identifier 1255204 1255209 + Parameter 1255210 1255233 + Identifier 1255210 1255223 + QuestionToken 1255223 1255224 + BooleanKeyword 1255225 1255233 + TypeReference 1255237 1255245 + Identifier 1255237 1255245 + TypeReference 1255254 1255262 + Identifier 1255254 1255262 + Block 1255262 1256780 + IfStatement 1255264 1255672 + BinaryExpression 1255278 1255305 + PropertyAccessExpression 1255278 1255289 + Identifier 1255278 1255284 + Identifier 1255285 1255289 + ExclamationEqualsEqualsToken 1255289 1255293 + PropertyAccessExpression 1255293 1255305 + Identifier 1255293 1255300 + Identifier 1255301 1255305 + Block 1255306 1255672 + IfStatement 1255308 1255626 + Identifier 1255326 1255338 + Block 1255339 1255626 + ExpressionStatement 1255341 1255463 + CallExpression 1255341 1255462 + NonNullExpression 1255341 1255373 + Identifier 1255341 1255372 + PropertyAccessExpression 1255374 1255461 + Identifier 1255374 1255385 + Identifier 1255386 1255461 + ExpressionStatement 1255463 1255611 + CallExpression 1255463 1255610 + NonNullExpression 1255463 1255495 + Identifier 1255463 1255494 + PropertyAccessExpression 1255496 1255547 + Identifier 1255496 1255507 + Identifier 1255508 1255547 + CallExpression 1255548 1255578 + Identifier 1255548 1255570 + Identifier 1255571 1255577 + CallExpression 1255579 1255609 + Identifier 1255579 1255601 + Identifier 1255602 1255608 + ReturnStatement 1255626 1255661 + PropertyAccessExpression 1255646 1255660 + Identifier 1255646 1255654 + Identifier 1255655 1255660 + IfStatement 1255672 1256338 + BinaryExpression 1255688 1255787 + BinaryExpression 1255688 1255732 + PropertyAccessExpression 1255688 1255699 + Identifier 1255688 1255694 + Identifier 1255695 1255699 + EqualsEqualsEqualsToken 1255699 1255703 + PropertyAccessExpression 1255703 1255732 + Identifier 1255703 1255721 + Identifier 1255722 1255732 + BarBarToken 1255732 1255735 + BinaryExpression 1255735 1255787 + PropertyAccessExpression 1255735 1255747 + Identifier 1255735 1255742 + Identifier 1255743 1255747 + EqualsEqualsEqualsToken 1255747 1255751 + PropertyAccessExpression 1255751 1255787 + Identifier 1255751 1255769 + Identifier 1255770 1255787 + Block 1255788 1256338 + IfStatement 1255790 1256327 + BinaryExpression 1255808 1255884 + PropertyAccessExpression 1255808 1255829 + Identifier 1255808 1255814 + Identifier 1255815 1255829 + ExclamationEqualsEqualsToken 1255829 1255833 + PropertyAccessExpression 1255833 1255884 + ParenthesizedExpression 1255833 1255869 + AsExpression 1255835 1255868 + Identifier 1255835 1255841 + TypeReference 1255844 1255868 + Identifier 1255844 1255868 + Identifier 1255870 1255884 + Block 1255885 1256327 + IfStatement 1255887 1256273 + Identifier 1255909 1255921 + Block 1255922 1256273 + ExpressionStatement 1255924 1256102 + CallExpression 1255924 1256101 + NonNullExpression 1255924 1255960 + Identifier 1255924 1255959 + PropertyAccessExpression 1255961 1256027 + Identifier 1255961 1255972 + Identifier 1255973 1256027 + PropertyAccessExpression 1256028 1256049 + Identifier 1256028 1256035 + Identifier 1256036 1256049 + PropertyAccessExpression 1256050 1256100 + ParenthesizedExpression 1256050 1256086 + AsExpression 1256052 1256085 + Identifier 1256052 1256058 + TypeReference 1256061 1256085 + Identifier 1256061 1256085 + Identifier 1256087 1256100 + ExpressionStatement 1256102 1256254 + CallExpression 1256102 1256253 + NonNullExpression 1256102 1256138 + Identifier 1256102 1256137 + PropertyAccessExpression 1256139 1256190 + Identifier 1256139 1256150 + Identifier 1256151 1256190 + CallExpression 1256191 1256221 + Identifier 1256191 1256213 + Identifier 1256214 1256220 + CallExpression 1256222 1256252 + Identifier 1256222 1256244 + Identifier 1256245 1256251 + ReturnStatement 1256273 1256312 + PropertyAccessExpression 1256297 1256311 + Identifier 1256297 1256305 + Identifier 1256306 1256311 + VariableStatement 1256338 1256535 + VariableDeclarationList 1256338 1256534 + VariableDeclaration 1256355 1256534 + Identifier 1256355 1256363 + ConditionalExpression 1256365 1256534 + BinaryExpression 1256365 1256393 + PropertyAccessExpression 1256365 1256377 + Identifier 1256365 1256372 + Identifier 1256373 1256377 + EqualsEqualsEqualsToken 1256377 1256381 + PropertyAccessExpression 1256381 1256393 + Identifier 1256381 1256388 + Identifier 1256389 1256393 + QuestionToken 1256393 1256395 + PropertyAccessExpression 1256395 1256408 + Identifier 1256395 1256403 + Identifier 1256404 1256408 + ColonToken 1256408 1256410 + ConditionalExpression 1256410 1256534 + BinaryExpression 1256410 1256450 + PropertyAccessExpression 1256410 1256435 + Identifier 1256410 1256430 + Identifier 1256431 1256435 + AmpersandAmpersandToken 1256435 1256438 + PropertyAccessExpression 1256438 1256450 + Identifier 1256438 1256445 + Identifier 1256446 1256450 + QuestionToken 1256450 1256452 + CallExpression 1256452 1256505 + Identifier 1256452 1256465 + PropertyAccessExpression 1256466 1256477 + Identifier 1256466 1256472 + Identifier 1256473 1256477 + PropertyAccessExpression 1256478 1256490 + Identifier 1256478 1256485 + Identifier 1256486 1256490 + Identifier 1256491 1256504 + ColonToken 1256505 1256507 + PropertyAccessExpression 1256507 1256534 + Identifier 1256507 1256528 + Identifier 1256529 1256534 + IfStatement 1256535 1256748 + BinaryExpression 1256549 1256590 + BinaryExpression 1256549 1256574 + Identifier 1256549 1256556 + EqualsEqualsEqualsToken 1256556 1256560 + PropertyAccessExpression 1256560 1256574 + Identifier 1256560 1256568 + Identifier 1256569 1256574 + AmpersandAmpersandToken 1256574 1256577 + Identifier 1256577 1256590 + Block 1256591 1256748 + ExpressionStatement 1256593 1256737 + CallExpression 1256593 1256736 + NonNullExpression 1256593 1256621 + Identifier 1256593 1256620 + PropertyAccessExpression 1256622 1256673 + Identifier 1256622 1256633 + Identifier 1256634 1256673 + CallExpression 1256674 1256704 + Identifier 1256674 1256696 + Identifier 1256697 1256703 + CallExpression 1256705 1256735 + Identifier 1256705 1256727 + Identifier 1256728 1256734 + ReturnStatement 1256748 1256773 + Identifier 1256764 1256772 + FunctionDeclaration 1256780 1257638 + Identifier 1256796 1256835 + Parameter 1256836 1256861 + Identifier 1256836 1256850 + TypeReference 1256851 1256861 + Identifier 1256851 1256861 + Parameter 1256862 1256882 + Identifier 1256862 1256871 + TypeReference 1256872 1256882 + Identifier 1256872 1256882 + BooleanKeyword 1256884 1256892 + Block 1256892 1257638 + VariableStatement 1256894 1256960 + VariableDeclarationList 1256894 1256959 + VariableDeclaration 1256909 1256959 + Identifier 1256909 1256922 + CallExpression 1256924 1256959 + Identifier 1256924 1256943 + Identifier 1256944 1256958 + VariableStatement 1256960 1257020 + VariableDeclarationList 1256960 1257019 + VariableDeclaration 1256975 1257019 + Identifier 1256975 1256988 + CallExpression 1256990 1257019 + Identifier 1256990 1257009 + Identifier 1257010 1257018 + VariableStatement 1257020 1257174 + VariableDeclarationList 1257020 1257173 + VariableDeclaration 1257115 1257173 + Identifier 1257115 1257132 + CallExpression 1257134 1257173 + Identifier 1257134 1257159 + Identifier 1257160 1257172 + VariableStatement 1257174 1257248 + VariableDeclarationList 1257174 1257247 + VariableDeclaration 1257189 1257247 + Identifier 1257189 1257206 + CallExpression 1257208 1257247 + Identifier 1257208 1257233 + Identifier 1257234 1257246 + IfStatement 1257248 1257606 + BinaryExpression 1257262 1257481 + BinaryExpression 1257262 1257393 + BinaryExpression 1257262 1257305 + Identifier 1257262 1257292 + EqualsEqualsEqualsToken 1257292 1257296 + Identifier 1257296 1257305 + BarBarToken 1257305 1257321 + CallExpression 1257321 1257393 + Identifier 1257321 1257337 + Identifier 1257338 1257354 + Identifier 1257355 1257372 + Identifier 1257373 1257392 + BarBarToken 1257393 1257409 + CallExpression 1257409 1257481 + Identifier 1257409 1257425 + Identifier 1257426 1257442 + Identifier 1257443 1257460 + Identifier 1257461 1257480 + Block 1257492 1257606 + ReturnStatement 1257494 1257595 + CallExpression 1257514 1257594 + Identifier 1257514 1257538 + Identifier 1257539 1257551 + Identifier 1257552 1257565 + TrueKeyword 1257566 1257593 + ReturnStatement 1257606 1257631 + FalseKeyword 1257624 1257630 + FunctionDeclaration 1257638 1257920 + Identifier 1257654 1257674 + Parameter 1257675 1257690 + Identifier 1257675 1257676 + TypeReference 1257677 1257690 + Identifier 1257677 1257690 + Block 1257691 1257920 + ReturnStatement 1257693 1257913 + BinaryExpression 1257709 1257912 + BinaryExpression 1257709 1257870 + BinaryExpression 1257709 1257819 + BinaryExpression 1257709 1257773 + BinaryExpression 1257709 1257731 + Identifier 1257709 1257711 + ExclamationEqualsEqualsToken 1257711 1257715 + Identifier 1257715 1257731 + AmpersandAmpersandToken 1257731 1257734 + BinaryExpression 1257734 1257773 + PropertyAccessExpression 1257734 1257767 + PropertyAccessExpression 1257734 1257760 + Identifier 1257734 1257749 + Identifier 1257750 1257760 + Identifier 1257761 1257767 + EqualsEqualsEqualsToken 1257767 1257771 + NumericLiteral 1257771 1257773 + AmpersandAmpersandToken 1257773 1257776 + BinaryExpression 1257776 1257819 + PropertyAccessExpression 1257776 1257813 + PropertyAccessExpression 1257776 1257806 + Identifier 1257776 1257791 + Identifier 1257792 1257806 + Identifier 1257807 1257813 + EqualsEqualsEqualsToken 1257813 1257817 + NumericLiteral 1257817 1257819 + AmpersandAmpersandToken 1257819 1257822 + BinaryExpression 1257822 1257870 + PropertyAccessExpression 1257822 1257864 + PropertyAccessExpression 1257822 1257857 + Identifier 1257822 1257837 + Identifier 1257838 1257857 + Identifier 1257858 1257864 + EqualsEqualsEqualsToken 1257864 1257868 + NumericLiteral 1257868 1257870 + AmpersandAmpersandToken 1257870 1257873 + BinaryExpression 1257873 1257912 + PropertyAccessExpression 1257873 1257906 + PropertyAccessExpression 1257873 1257899 + Identifier 1257873 1257888 + Identifier 1257889 1257899 + Identifier 1257900 1257906 + EqualsEqualsEqualsToken 1257906 1257910 + NumericLiteral 1257910 1257912 + FunctionDeclaration 1257920 1258414 + Identifier 1257936 1257954 + Parameter 1257955 1257965 + Identifier 1257955 1257959 + TypeReference 1257960 1257965 + Identifier 1257960 1257965 + BooleanKeyword 1257967 1257975 + Block 1257975 1258414 + ReturnStatement 1257977 1258407 + ConditionalExpression 1257993 1258406 + BinaryExpression 1257993 1258023 + PropertyAccessExpression 1257993 1258004 + Identifier 1257993 1257998 + Identifier 1257999 1258004 + AmpersandToken 1258004 1258006 + PropertyAccessExpression 1258006 1258023 + Identifier 1258006 1258016 + Identifier 1258017 1258023 + QuestionToken 1258023 1258025 + BinaryExpression 1258025 1258125 + PrefixUnaryExpression 1258025 1258052 + CallExpression 1258027 1258052 + Identifier 1258027 1258046 + Identifier 1258047 1258051 + AmpersandAmpersandToken 1258052 1258055 + CallExpression 1258055 1258125 + Identifier 1258055 1258075 + CallExpression 1258076 1258124 + Identifier 1258076 1258104 + AsExpression 1258105 1258123 + Identifier 1258105 1258109 + TypeReference 1258112 1258123 + Identifier 1258112 1258123 + ColonToken 1258125 1258127 + ConditionalExpression 1258127 1258406 + BinaryExpression 1258127 1258176 + PropertyAccessExpression 1258127 1258151 + Identifier 1258127 1258145 + Identifier 1258146 1258151 + AmpersandToken 1258151 1258153 + PropertyAccessExpression 1258153 1258176 + Identifier 1258153 1258163 + Identifier 1258164 1258176 + QuestionToken 1258176 1258178 + TrueKeyword 1258178 1258183 + ColonToken 1258183 1258185 + ConditionalExpression 1258185 1258406 + BinaryExpression 1258185 1258227 + PropertyAccessExpression 1258185 1258209 + Identifier 1258185 1258203 + Identifier 1258204 1258209 + AmpersandToken 1258209 1258211 + PropertyAccessExpression 1258211 1258227 + Identifier 1258211 1258221 + Identifier 1258222 1258227 + QuestionToken 1258227 1258229 + CallExpression 1258229 1258280 + Identifier 1258229 1258234 + PropertyAccessExpression 1258235 1258260 + ParenthesizedExpression 1258235 1258254 + AsExpression 1258236 1258253 + Identifier 1258236 1258240 + TypeReference 1258243 1258253 + Identifier 1258243 1258253 + Identifier 1258255 1258260 + Identifier 1258261 1258279 + ColonToken 1258280 1258282 + ConditionalExpression 1258282 1258406 + BinaryExpression 1258282 1258331 + PropertyAccessExpression 1258282 1258306 + Identifier 1258282 1258300 + Identifier 1258301 1258306 + AmpersandToken 1258306 1258308 + PropertyAccessExpression 1258308 1258331 + Identifier 1258308 1258318 + Identifier 1258319 1258331 + QuestionToken 1258331 1258333 + CallExpression 1258333 1258385 + Identifier 1258333 1258339 + PropertyAccessExpression 1258340 1258365 + ParenthesizedExpression 1258340 1258359 + AsExpression 1258341 1258358 + Identifier 1258341 1258345 + TypeReference 1258348 1258358 + Identifier 1258348 1258358 + Identifier 1258360 1258365 + Identifier 1258366 1258384 + ColonToken 1258385 1258387 + FalseKeyword 1258387 1258406 + FunctionDeclaration 1258414 1258770 + Identifier 1258430 1258457 + Parameter 1258458 1258468 + Identifier 1258458 1258462 + TypeReference 1258463 1258468 + Identifier 1258463 1258468 + Block 1258469 1258770 + ReturnStatement 1258471 1258763 + PrefixUnaryExpression 1258487 1258762 + PrefixUnaryExpression 1258489 1258762 + ParenthesizedExpression 1258490 1258762 + BinaryExpression 1258491 1258761 + BinaryExpression 1258491 1258535 + CallExpression 1258491 1258511 + Identifier 1258491 1258505 + Identifier 1258506 1258510 + AmpersandToken 1258511 1258513 + PropertyAccessExpression 1258513 1258535 + Identifier 1258513 1258525 + Identifier 1258526 1258535 + AmpersandAmpersandToken 1258535 1258538 + ParenthesizedExpression 1258538 1258761 + BinaryExpression 1258540 1258750 + BinaryExpression 1258540 1258629 + PropertyAccessExpression 1258540 1258584 + ParenthesizedExpression 1258540 1258576 + AsExpression 1258555 1258575 + Identifier 1258555 1258559 + TypeReference 1258562 1258575 + Identifier 1258562 1258575 + Identifier 1258577 1258584 + AmpersandAmpersandToken 1258584 1258587 + CallExpression 1258587 1258629 + Identifier 1258587 1258607 + AsExpression 1258608 1258628 + Identifier 1258608 1258612 + TypeReference 1258615 1258628 + Identifier 1258615 1258628 + BarBarToken 1258629 1258632 + BinaryExpression 1258632 1258750 + BinaryExpression 1258632 1258704 + PropertyAccessExpression 1258632 1258657 + Identifier 1258632 1258650 + Identifier 1258651 1258657 + AmpersandAmpersandToken 1258657 1258660 + BinaryExpression 1258660 1258704 + PropertyAccessExpression 1258660 1258678 + PropertyAccessExpression 1258660 1258672 + Identifier 1258660 1258665 + Identifier 1258666 1258672 + Identifier 1258673 1258678 + AmpersandToken 1258678 1258680 + PropertyAccessExpression 1258680 1258704 + Identifier 1258680 1258692 + Identifier 1258693 1258704 + AmpersandAmpersandToken 1258704 1258707 + BinaryExpression 1258707 1258750 + PropertyAccessExpression 1258707 1258744 + CallExpression 1258707 1258739 + Identifier 1258707 1258726 + PropertyAccessExpression 1258727 1258738 + Identifier 1258727 1258731 + Identifier 1258732 1258738 + Identifier 1258740 1258744 + EqualsEqualsEqualsToken 1258744 1258748 + NumericLiteral 1258748 1258750 + FunctionDeclaration 1258770 1259482 + Identifier 1258786 1258809 + Parameter 1258810 1258820 + Identifier 1258810 1258814 + TypeReference 1258815 1258820 + Identifier 1258815 1258820 + Block 1258821 1259482 + IfStatement 1258823 1259452 + BinaryExpression 1258837 1258885 + Identifier 1258837 1258853 + AmpersandAmpersandToken 1258853 1258856 + BinaryExpression 1258856 1258885 + PropertyAccessExpression 1258856 1258867 + Identifier 1258856 1258861 + Identifier 1258862 1258867 + AmpersandToken 1258867 1258869 + PropertyAccessExpression 1258869 1258885 + Identifier 1258869 1258879 + Identifier 1258880 1258885 + Block 1258886 1259452 + IfStatement 1258888 1259351 + PrefixUnaryExpression 1258906 1258981 + ParenthesizedExpression 1258907 1258981 + BinaryExpression 1258908 1258980 + PropertyAccessExpression 1258908 1258939 + ParenthesizedExpression 1258908 1258927 + AsExpression 1258909 1258926 + Identifier 1258909 1258913 + TypeReference 1258916 1258926 + Identifier 1258916 1258926 + Identifier 1258928 1258939 + AmpersandToken 1258939 1258941 + PropertyAccessExpression 1258941 1258980 + Identifier 1258941 1258953 + Identifier 1258954 1258980 + Block 1258982 1259351 + VariableStatement 1258984 1259042 + VariableDeclarationList 1258984 1259041 + VariableDeclaration 1259007 1259041 + Identifier 1259007 1259013 + PropertyAccessExpression 1259015 1259041 + ParenthesizedExpression 1259015 1259035 + AsExpression 1259017 1259034 + Identifier 1259017 1259021 + TypeReference 1259024 1259034 + Identifier 1259024 1259034 + Identifier 1259036 1259041 + ExpressionStatement 1259042 1259336 + BinaryExpression 1259042 1259335 + PropertyAccessExpression 1259042 1259091 + ParenthesizedExpression 1259042 1259079 + AsExpression 1259061 1259078 + Identifier 1259061 1259065 + TypeReference 1259068 1259078 + Identifier 1259068 1259078 + Identifier 1259080 1259091 + BarEqualsToken 1259091 1259094 + BinaryExpression 1259094 1259335 + PropertyAccessExpression 1259094 1259133 + Identifier 1259094 1259106 + Identifier 1259107 1259133 + BarToken 1259133 1259135 + ParenthesizedExpression 1259135 1259335 + ConditionalExpression 1259137 1259334 + BinaryExpression 1259137 1259297 + BinaryExpression 1259137 1259254 + BinaryExpression 1259137 1259194 + BinaryExpression 1259137 1259154 + PropertyAccessExpression 1259137 1259149 + Identifier 1259137 1259142 + Identifier 1259143 1259149 + GreaterThanEqualsToken 1259149 1259152 + NumericLiteral 1259152 1259154 + AmpersandAmpersandToken 1259154 1259157 + BinaryExpression 1259157 1259194 + PropertyAccessExpression 1259157 1259172 + ElementAccessExpression 1259157 1259166 + Identifier 1259157 1259163 + NumericLiteral 1259164 1259165 + Identifier 1259167 1259172 + AmpersandToken 1259172 1259174 + PropertyAccessExpression 1259174 1259194 + Identifier 1259174 1259184 + Identifier 1259185 1259194 + AmpersandAmpersandToken 1259194 1259197 + BinaryExpression 1259197 1259254 + PropertyAccessExpression 1259197 1259237 + ElementAccessExpression 1259197 1259231 + Identifier 1259197 1259228 + NumericLiteral 1259229 1259230 + Identifier 1259232 1259237 + AmpersandToken 1259237 1259239 + PropertyAccessExpression 1259239 1259254 + Identifier 1259239 1259249 + Identifier 1259250 1259254 + AmpersandAmpersandToken 1259254 1259257 + CallExpression 1259257 1259297 + Identifier 1259257 1259262 + Identifier 1259263 1259268 + Identifier 1259269 1259296 + QuestionToken 1259297 1259299 + PropertyAccessExpression 1259299 1259330 + Identifier 1259299 1259311 + Identifier 1259312 1259330 + ColonToken 1259330 1259332 + NumericLiteral 1259332 1259334 + ReturnStatement 1259351 1259441 + PrefixUnaryExpression 1259371 1259440 + PrefixUnaryExpression 1259373 1259440 + ParenthesizedExpression 1259374 1259440 + BinaryExpression 1259375 1259439 + PropertyAccessExpression 1259375 1259406 + ParenthesizedExpression 1259375 1259394 + AsExpression 1259376 1259393 + Identifier 1259376 1259380 + TypeReference 1259383 1259393 + Identifier 1259383 1259393 + Identifier 1259395 1259406 + AmpersandToken 1259406 1259408 + PropertyAccessExpression 1259408 1259439 + Identifier 1259408 1259420 + Identifier 1259421 1259439 + ReturnStatement 1259452 1259475 + FalseKeyword 1259468 1259474 + FunctionDeclaration 1259482 1259659 + Identifier 1259498 1259520 + Parameter 1259521 1259531 + Identifier 1259521 1259525 + TypeReference 1259526 1259531 + Identifier 1259526 1259531 + Block 1259532 1259659 + ReturnStatement 1259534 1259652 + PrefixUnaryExpression 1259550 1259651 + PrefixUnaryExpression 1259552 1259651 + ParenthesizedExpression 1259553 1259651 + BinaryExpression 1259554 1259650 + PropertyAccessExpression 1259554 1259628 + ParenthesizedExpression 1259554 1259622 + ConditionalExpression 1259555 1259621 + BinaryExpression 1259555 1259583 + PropertyAccessExpression 1259555 1259565 + Identifier 1259555 1259559 + Identifier 1259560 1259565 + AmpersandToken 1259565 1259567 + PropertyAccessExpression 1259567 1259583 + Identifier 1259567 1259577 + Identifier 1259578 1259583 + QuestionToken 1259583 1259585 + ElementAccessExpression 1259585 1259614 + PropertyAccessExpression 1259585 1259611 + ParenthesizedExpression 1259585 1259605 + AsExpression 1259587 1259604 + Identifier 1259587 1259591 + TypeReference 1259594 1259604 + Identifier 1259594 1259604 + Identifier 1259606 1259611 + NumericLiteral 1259612 1259613 + ColonToken 1259614 1259616 + Identifier 1259616 1259621 + Identifier 1259623 1259628 + AmpersandToken 1259628 1259630 + PropertyAccessExpression 1259630 1259650 + Identifier 1259630 1259640 + Identifier 1259641 1259650 + FunctionDeclaration 1259659 1259911 + Identifier 1259675 1259707 + Parameter 1259708 1259718 + Identifier 1259708 1259712 + TypeReference 1259713 1259718 + Identifier 1259713 1259718 + Block 1259719 1259911 + VariableStatement 1259721 1259816 + VariableDeclarationList 1259721 1259815 + VariableDeclaration 1259736 1259815 + Identifier 1259736 1259746 + ConditionalExpression 1259748 1259815 + BinaryExpression 1259748 1259777 + PropertyAccessExpression 1259748 1259759 + Identifier 1259748 1259753 + Identifier 1259754 1259759 + AmpersandToken 1259759 1259761 + PropertyAccessExpression 1259761 1259777 + Identifier 1259761 1259771 + Identifier 1259772 1259777 + QuestionToken 1259777 1259779 + ElementAccessExpression 1259779 1259808 + PropertyAccessExpression 1259779 1259805 + ParenthesizedExpression 1259779 1259799 + AsExpression 1259781 1259798 + Identifier 1259781 1259785 + TypeReference 1259788 1259798 + Identifier 1259788 1259798 + Identifier 1259800 1259805 + NumericLiteral 1259806 1259807 + ColonToken 1259808 1259810 + Identifier 1259810 1259815 + ReturnStatement 1259816 1259904 + BinaryExpression 1259832 1259903 + PrefixUnaryExpression 1259832 1259874 + PrefixUnaryExpression 1259834 1259874 + ParenthesizedExpression 1259835 1259874 + BinaryExpression 1259836 1259873 + PropertyAccessExpression 1259836 1259851 + Identifier 1259836 1259845 + Identifier 1259846 1259851 + AmpersandToken 1259851 1259853 + PropertyAccessExpression 1259853 1259873 + Identifier 1259853 1259863 + Identifier 1259864 1259873 + AmpersandAmpersandToken 1259874 1259877 + BinaryExpression 1259877 1259903 + Identifier 1259877 1259887 + ExclamationEqualsEqualsToken 1259887 1259891 + Identifier 1259891 1259903 + FunctionDeclaration 1259911 1260354 + Identifier 1259927 1259958 + Parameter 1259959 1259969 + Identifier 1259959 1259963 + TypeReference 1259964 1259969 + Identifier 1259964 1259969 + BooleanKeyword 1259971 1259979 + Block 1259979 1260354 + ReturnStatement 1259981 1260347 + BinaryExpression 1259997 1260346 + BinaryExpression 1259997 1260324 + BinaryExpression 1259997 1260183 + BinaryExpression 1259997 1260141 + BinaryExpression 1259997 1260099 + BinaryExpression 1259997 1260057 + BinaryExpression 1259997 1260027 + PropertyAccessExpression 1259997 1260008 + Identifier 1259997 1260002 + Identifier 1260003 1260008 + AmpersandToken 1260008 1260010 + PropertyAccessExpression 1260010 1260027 + Identifier 1260010 1260020 + Identifier 1260021 1260027 + AmpersandAmpersandToken 1260027 1260030 + PrefixUnaryExpression 1260030 1260057 + CallExpression 1260032 1260057 + Identifier 1260032 1260051 + Identifier 1260052 1260056 + AmpersandAmpersandToken 1260057 1260060 + BinaryExpression 1260060 1260099 + PropertyAccessExpression 1260060 1260093 + CallExpression 1260060 1260086 + Identifier 1260060 1260080 + Identifier 1260081 1260085 + Identifier 1260087 1260093 + EqualsEqualsEqualsToken 1260093 1260097 + NumericLiteral 1260097 1260099 + AmpersandAmpersandToken 1260099 1260102 + BinaryExpression 1260102 1260141 + PropertyAccessExpression 1260102 1260135 + CallExpression 1260102 1260128 + Identifier 1260102 1260122 + Identifier 1260123 1260127 + Identifier 1260129 1260135 + EqualsEqualsEqualsToken 1260135 1260139 + NumericLiteral 1260139 1260141 + AmpersandAmpersandToken 1260141 1260144 + PrefixUnaryExpression 1260144 1260183 + PrefixUnaryExpression 1260146 1260183 + CallExpression 1260147 1260183 + Identifier 1260147 1260165 + Identifier 1260166 1260170 + Identifier 1260171 1260182 + BarBarToken 1260183 1260186 + BinaryExpression 1260186 1260324 + BinaryExpression 1260186 1260242 + PropertyAccessExpression 1260186 1260210 + Identifier 1260186 1260204 + Identifier 1260205 1260210 + AmpersandToken 1260210 1260212 + PropertyAccessExpression 1260212 1260242 + Identifier 1260212 1260222 + Identifier 1260223 1260242 + AmpersandAmpersandToken 1260242 1260245 + CallExpression 1260245 1260324 + Identifier 1260245 1260251 + PropertyAccessExpression 1260252 1260291 + ParenthesizedExpression 1260252 1260285 + AsExpression 1260253 1260284 + Identifier 1260253 1260257 + TypeReference 1260260 1260284 + Identifier 1260260 1260284 + Identifier 1260286 1260291 + Identifier 1260292 1260323 + BarBarToken 1260324 1260327 + FalseKeyword 1260327 1260346 + FunctionDeclaration 1260354 1264777 + Identifier 1260370 1260390 + Parameter 1260391 1260405 + Identifier 1260391 1260397 + TypeReference 1260398 1260405 + Identifier 1260398 1260405 + Parameter 1260406 1260421 + Identifier 1260406 1260413 + TypeReference 1260414 1260421 + Identifier 1260414 1260421 + Parameter 1260422 1260452 + Identifier 1260422 1260436 + QuestionToken 1260436 1260437 + TypeReference 1260438 1260452 + Identifier 1260438 1260452 + Block 1260453 1264777 + VariableStatement 1260455 1260562 + VariableDeclarationList 1260455 1260561 + VariableDeclaration 1260470 1260561 + Identifier 1260470 1260483 + ConditionalExpression 1260485 1260561 + BinaryExpression 1260485 1260523 + PropertyAccessExpression 1260485 1260498 + Identifier 1260485 1260492 + Identifier 1260493 1260498 + AmpersandToken 1260498 1260500 + PropertyAccessExpression 1260500 1260523 + Identifier 1260500 1260512 + Identifier 1260513 1260523 + QuestionToken 1260523 1260525 + NonNullExpression 1260525 1260552 + CallExpression 1260525 1260551 + Identifier 1260525 1260543 + Identifier 1260544 1260550 + ColonToken 1260552 1260554 + Identifier 1260554 1260561 + VariableStatement 1260562 1260669 + VariableDeclarationList 1260562 1260668 + VariableDeclaration 1260577 1260668 + Identifier 1260577 1260590 + ConditionalExpression 1260592 1260668 + BinaryExpression 1260592 1260630 + PropertyAccessExpression 1260592 1260605 + Identifier 1260592 1260599 + Identifier 1260600 1260605 + AmpersandToken 1260605 1260607 + PropertyAccessExpression 1260607 1260630 + Identifier 1260607 1260619 + Identifier 1260620 1260630 + QuestionToken 1260630 1260632 + NonNullExpression 1260632 1260659 + CallExpression 1260632 1260658 + Identifier 1260632 1260650 + Identifier 1260651 1260657 + ColonToken 1260659 1260661 + Identifier 1260661 1260668 + IfStatement 1260669 1260752 + BinaryExpression 1260683 1260712 + Identifier 1260683 1260695 + EqualsEqualsEqualsToken 1260695 1260699 + Identifier 1260699 1260712 + Block 1260713 1260752 + ReturnStatement 1260715 1260741 + TrueKeyword 1260735 1260740 + IfStatement 1260752 1260962 + BinaryExpression 1260766 1260921 + BinaryExpression 1260766 1260870 + BinaryExpression 1260766 1260819 + PropertyAccessExpression 1260766 1260790 + Identifier 1260766 1260778 + Identifier 1260779 1260790 + ExclamationEqualsEqualsToken 1260790 1260794 + PropertyAccessExpression 1260794 1260819 + Identifier 1260794 1260807 + Identifier 1260808 1260819 + BarBarToken 1260819 1260822 + PrefixUnaryExpression 1260822 1260870 + ParenthesizedExpression 1260824 1260870 + BinaryExpression 1260825 1260869 + PropertyAccessExpression 1260825 1260843 + Identifier 1260825 1260837 + Identifier 1260838 1260843 + AmpersandToken 1260843 1260845 + PropertyAccessExpression 1260845 1260869 + Identifier 1260845 1260857 + Identifier 1260858 1260869 + BarBarToken 1260870 1260873 + PrefixUnaryExpression 1260873 1260921 + ParenthesizedExpression 1260875 1260921 + BinaryExpression 1260876 1260920 + PropertyAccessExpression 1260876 1260894 + Identifier 1260876 1260888 + Identifier 1260889 1260894 + AmpersandToken 1260894 1260896 + PropertyAccessExpression 1260896 1260920 + Identifier 1260896 1260908 + Identifier 1260909 1260920 + Block 1260922 1260962 + ReturnStatement 1260924 1260951 + FalseKeyword 1260944 1260950 + VariableStatement 1260962 1261043 + VariableDeclarationList 1260962 1261042 + VariableDeclaration 1260977 1261042 + Identifier 1260977 1260980 + BinaryExpression 1260982 1261042 + BinaryExpression 1260982 1261014 + CallExpression 1260982 1261008 + Identifier 1260982 1260994 + Identifier 1260995 1261007 + PlusToken 1261008 1261010 + StringLiteral 1261010 1261014 + PlusToken 1261014 1261016 + CallExpression 1261016 1261042 + Identifier 1261016 1261028 + Identifier 1261029 1261041 + VariableStatement 1261043 1261088 + VariableDeclarationList 1261043 1261087 + VariableDeclaration 1261058 1261087 + Identifier 1261058 1261064 + CallExpression 1261066 1261087 + PropertyAccessExpression 1261066 1261083 + Identifier 1261066 1261079 + Identifier 1261080 1261083 + Identifier 1261084 1261086 + IfStatement 1261088 1261266 + BinaryExpression 1261102 1261184 + BinaryExpression 1261102 1261121 + Identifier 1261102 1261107 + ExclamationEqualsEqualsToken 1261107 1261111 + Identifier 1261111 1261121 + AmpersandAmpersandToken 1261121 1261124 + PrefixUnaryExpression 1261124 1261184 + ParenthesizedExpression 1261126 1261184 + BinaryExpression 1261127 1261183 + BinaryExpression 1261127 1261166 + Identifier 1261127 1261132 + AmpersandToken 1261132 1261134 + PropertyAccessExpression 1261134 1261166 + Identifier 1261134 1261159 + Identifier 1261160 1261166 + AmpersandAmpersandToken 1261166 1261169 + Identifier 1261169 1261183 + Block 1261185 1261266 + ReturnStatement 1261187 1261255 + PrefixUnaryExpression 1261207 1261254 + PrefixUnaryExpression 1261209 1261254 + ParenthesizedExpression 1261210 1261254 + BinaryExpression 1261211 1261253 + Identifier 1261211 1261216 + AmpersandToken 1261216 1261218 + PropertyAccessExpression 1261218 1261253 + Identifier 1261218 1261243 + Identifier 1261244 1261253 + VariableStatement 1261266 1261329 + VariableDeclarationList 1261266 1261328 + VariableDeclaration 1261281 1261328 + Identifier 1261281 1261296 + CallExpression 1261298 1261328 + Identifier 1261298 1261314 + Identifier 1261315 1261327 + ForOfStatement 1261329 1264681 + VariableDeclarationList 1261344 1261364 + VariableDeclaration 1261349 1261364 + Identifier 1261349 1261364 + CallExpression 1261367 1261418 + Identifier 1261367 1261387 + CallExpression 1261388 1261417 + Identifier 1261388 1261403 + Identifier 1261404 1261416 + Block 1261419 1264681 + IfStatement 1261421 1264670 + BinaryExpression 1261439 1261484 + PropertyAccessExpression 1261439 1261459 + Identifier 1261439 1261453 + Identifier 1261454 1261459 + AmpersandToken 1261459 1261461 + PropertyAccessExpression 1261461 1261484 + Identifier 1261461 1261473 + Identifier 1261474 1261484 + Block 1261485 1264670 + VariableStatement 1261487 1261590 + VariableDeclarationList 1261487 1261589 + VariableDeclaration 1261510 1261589 + Identifier 1261510 1261525 + CallExpression 1261527 1261589 + Identifier 1261527 1261545 + Identifier 1261546 1261560 + PropertyAccessExpression 1261561 1261588 + Identifier 1261561 1261576 + Identifier 1261577 1261588 + IfStatement 1261590 1262118 + BinaryExpression 1261612 1261679 + PrefixUnaryExpression 1261612 1261627 + Identifier 1261613 1261627 + BarBarToken 1261627 1261630 + PrefixUnaryExpression 1261630 1261679 + ParenthesizedExpression 1261632 1261679 + BinaryExpression 1261633 1261678 + PropertyAccessExpression 1261633 1261653 + Identifier 1261633 1261647 + Identifier 1261648 1261653 + AmpersandToken 1261653 1261655 + PropertyAccessExpression 1261655 1261678 + Identifier 1261655 1261667 + Identifier 1261668 1261678 + Block 1261680 1262118 + IfStatement 1261682 1261988 + Identifier 1261708 1261721 + Block 1261722 1261988 + ExpressionStatement 1261724 1261965 + CallExpression 1261724 1261964 + Identifier 1261724 1261763 + PropertyAccessExpression 1261764 1261807 + Identifier 1261764 1261775 + Identifier 1261776 1261807 + CallExpression 1261808 1261835 + Identifier 1261808 1261819 + Identifier 1261820 1261834 + CallExpression 1261836 1261963 + Identifier 1261836 1261849 + CallExpression 1261850 1261887 + Identifier 1261850 1261873 + Identifier 1261874 1261886 + Identifier 1261888 1261923 + PropertyAccessExpression 1261924 1261962 + Identifier 1261924 1261940 + Identifier 1261941 1261962 + ExpressionStatement 1261988 1262064 + CallExpression 1261988 1262063 + PropertyAccessExpression 1261988 1262026 + Identifier 1261988 1262022 + Identifier 1262023 1262026 + Identifier 1262027 1262029 + PropertyAccessExpression 1262030 1262062 + Identifier 1262030 1262055 + Identifier 1262056 1262062 + ReturnStatement 1262064 1262099 + FalseKeyword 1262092 1262098 + VariableStatement 1262118 1262243 + VariableDeclarationList 1262118 1262242 + VariableDeclaration 1262141 1262242 + Identifier 1262141 1262153 + PropertyAccessExpression 1262155 1262242 + CallExpression 1262155 1262236 + Identifier 1262155 1262174 + NonNullExpression 1262175 1262235 + CallExpression 1262175 1262234 + Identifier 1262175 1262195 + Identifier 1262196 1262210 + PropertyAccessExpression 1262211 1262233 + Identifier 1262211 1262222 + Identifier 1262223 1262233 + Identifier 1262237 1262242 + VariableStatement 1262243 1262368 + VariableDeclarationList 1262243 1262367 + VariableDeclaration 1262266 1262367 + Identifier 1262266 1262278 + PropertyAccessExpression 1262280 1262367 + CallExpression 1262280 1262361 + Identifier 1262280 1262299 + NonNullExpression 1262300 1262360 + CallExpression 1262300 1262359 + Identifier 1262300 1262320 + Identifier 1262321 1262335 + PropertyAccessExpression 1262336 1262358 + Identifier 1262336 1262347 + Identifier 1262348 1262358 + Identifier 1262362 1262367 + IfStatement 1262368 1264655 + BinaryExpression 1262390 1262417 + Identifier 1262390 1262401 + ExclamationEqualsEqualsToken 1262401 1262405 + Identifier 1262405 1262417 + Block 1262418 1264655 + VariableStatement 1262420 1262497 + VariableDeclarationList 1262420 1262496 + VariableDeclaration 1262447 1262496 + Identifier 1262447 1262462 + BinaryExpression 1262464 1262496 + TypeOfExpression 1262464 1262483 + Identifier 1262471 1262483 + EqualsEqualsEqualsToken 1262483 1262487 + StringLiteral 1262487 1262496 + VariableStatement 1262497 1262574 + VariableDeclarationList 1262497 1262573 + VariableDeclaration 1262524 1262573 + Identifier 1262524 1262539 + BinaryExpression 1262541 1262573 + TypeOfExpression 1262541 1262560 + Identifier 1262548 1262560 + EqualsEqualsEqualsToken 1262560 1262564 + StringLiteral 1262564 1262573 + IfStatement 1262574 1263428 + BinaryExpression 1262701 1262755 + BinaryExpression 1262701 1262726 + Identifier 1262701 1262712 + ExclamationEqualsEqualsToken 1262712 1262716 + Identifier 1262716 1262726 + AmpersandAmpersandToken 1262726 1262729 + BinaryExpression 1262729 1262755 + Identifier 1262729 1262741 + ExclamationEqualsEqualsToken 1262741 1262745 + Identifier 1262745 1262755 + Block 1262756 1263428 + IfStatement 1262758 1263286 + Identifier 1262788 1262801 + Block 1262802 1263286 + VariableStatement 1262804 1262920 + VariableDeclarationList 1262804 1262919 + VariableDeclaration 1262839 1262919 + Identifier 1262839 1262853 + ConditionalExpression 1262855 1262919 + Identifier 1262855 1262870 + QuestionToken 1262870 1262872 + TemplateExpression 1262872 1262905 + TemplateHead 1262872 1262877 + TemplateSpan 1262877 1262905 + CallExpression 1262877 1262902 + Identifier 1262877 1262889 + Identifier 1262890 1262901 + TemplateTail 1262902 1262905 + ColonToken 1262905 1262907 + Identifier 1262907 1262919 + VariableStatement 1262920 1263036 + VariableDeclarationList 1262920 1263035 + VariableDeclaration 1262955 1263035 + Identifier 1262955 1262969 + ConditionalExpression 1262971 1263035 + Identifier 1262971 1262986 + QuestionToken 1262986 1262988 + TemplateExpression 1262988 1263021 + TemplateHead 1262988 1262993 + TemplateSpan 1262993 1263021 + CallExpression 1262993 1263018 + Identifier 1262993 1263005 + Identifier 1263006 1263017 + TemplateTail 1263018 1263021 + ColonToken 1263021 1263023 + Identifier 1263023 1263035 + ExpressionStatement 1263036 1263259 + CallExpression 1263036 1263258 + Identifier 1263036 1263079 + PropertyAccessExpression 1263080 1263173 + Identifier 1263080 1263091 + Identifier 1263092 1263173 + CallExpression 1263174 1263199 + Identifier 1263174 1263185 + Identifier 1263186 1263198 + CallExpression 1263200 1263227 + Identifier 1263200 1263211 + Identifier 1263212 1263226 + Identifier 1263228 1263242 + Identifier 1263243 1263257 + ExpressionStatement 1263286 1263366 + CallExpression 1263286 1263365 + PropertyAccessExpression 1263286 1263328 + Identifier 1263286 1263324 + Identifier 1263325 1263328 + Identifier 1263329 1263331 + PropertyAccessExpression 1263332 1263364 + Identifier 1263332 1263357 + Identifier 1263358 1263364 + ReturnStatement 1263366 1263405 + FalseKeyword 1263398 1263404 + IfStatement 1263428 1264636 + BinaryExpression 1263920 1263952 + Identifier 1263920 1263934 + BarBarToken 1263934 1263937 + Identifier 1263937 1263952 + Block 1263953 1264636 + IfStatement 1263955 1264494 + Identifier 1263985 1263998 + Block 1263999 1264494 + VariableStatement 1264001 1264083 + VariableDeclarationList 1264001 1264082 + VariableDeclaration 1264036 1264082 + Identifier 1264036 1264053 + BinaryExpression 1264055 1264082 + Identifier 1264055 1264067 + QuestionQuestionToken 1264067 1264070 + Identifier 1264070 1264082 + ExpressionStatement 1264083 1264164 + CallExpression 1264083 1264163 + PropertyAccessExpression 1264083 1264125 + Identifier 1264083 1264118 + Identifier 1264119 1264125 + BinaryExpression 1264126 1264162 + TypeOfExpression 1264126 1264149 + Identifier 1264132 1264149 + EqualsEqualsEqualsToken 1264149 1264153 + StringLiteral 1264153 1264162 + VariableStatement 1264164 1264253 + VariableDeclarationList 1264164 1264252 + VariableDeclaration 1264199 1264252 + Identifier 1264199 1264212 + TemplateExpression 1264214 1264252 + TemplateHead 1264214 1264219 + TemplateSpan 1264219 1264252 + CallExpression 1264219 1264249 + Identifier 1264219 1264231 + Identifier 1264232 1264248 + TemplateTail 1264249 1264252 + ExpressionStatement 1264253 1264467 + CallExpression 1264253 1264466 + Identifier 1264253 1264296 + PropertyAccessExpression 1264297 1264397 + Identifier 1264297 1264308 + Identifier 1264309 1264397 + CallExpression 1264398 1264423 + Identifier 1264398 1264409 + Identifier 1264410 1264422 + CallExpression 1264424 1264451 + Identifier 1264424 1264435 + Identifier 1264436 1264450 + Identifier 1264452 1264465 + ExpressionStatement 1264494 1264574 + CallExpression 1264494 1264573 + PropertyAccessExpression 1264494 1264536 + Identifier 1264494 1264532 + Identifier 1264533 1264536 + Identifier 1264537 1264539 + PropertyAccessExpression 1264540 1264572 + Identifier 1264540 1264565 + Identifier 1264566 1264572 + ReturnStatement 1264574 1264613 + FalseKeyword 1264606 1264612 + ExpressionStatement 1264681 1264748 + CallExpression 1264681 1264747 + PropertyAccessExpression 1264681 1264707 + Identifier 1264681 1264703 + Identifier 1264704 1264707 + Identifier 1264708 1264710 + PropertyAccessExpression 1264711 1264746 + Identifier 1264711 1264736 + Identifier 1264737 1264746 + ReturnStatement 1264748 1264770 + TrueKeyword 1264764 1264769 + FunctionDeclaration 1264777 1268728 + Identifier 1264793 1264815 + Parameter 1264816 1264828 + Identifier 1264816 1264822 + TypeReference 1264823 1264828 + Identifier 1264823 1264828 + Parameter 1264829 1264842 + Identifier 1264829 1264836 + TypeReference 1264837 1264842 + Identifier 1264837 1264842 + Parameter 1264843 1264891 + Identifier 1264843 1264852 + TypeReference 1264853 1264891 + Identifier 1264853 1264857 + StringKeyword 1264858 1264864 + TypeReference 1264865 1264890 + Identifier 1264865 1264890 + Parameter 1264892 1264922 + Identifier 1264892 1264906 + QuestionToken 1264906 1264907 + TypeReference 1264908 1264922 + Identifier 1264908 1264922 + Block 1264923 1268728 + VariableStatement 1264925 1264958 + VariableDeclarationList 1264925 1264957 + VariableDeclaration 1264940 1264957 + Identifier 1264940 1264942 + PropertyAccessExpression 1264944 1264957 + Identifier 1264944 1264951 + Identifier 1264952 1264957 + VariableStatement 1264958 1264991 + VariableDeclarationList 1264958 1264990 + VariableDeclaration 1264973 1264990 + Identifier 1264973 1264975 + PropertyAccessExpression 1264977 1264990 + Identifier 1264977 1264984 + Identifier 1264985 1264990 + IfStatement 1264991 1265086 + BinaryExpression 1265005 1265072 + BinaryExpression 1265005 1265045 + BinaryExpression 1265005 1265022 + Identifier 1265005 1265006 + AmpersandToken 1265006 1265008 + PropertyAccessExpression 1265008 1265022 + Identifier 1265008 1265018 + Identifier 1265019 1265022 + BarBarToken 1265022 1265025 + BinaryExpression 1265025 1265045 + Identifier 1265025 1265027 + AmpersandToken 1265027 1265029 + PropertyAccessExpression 1265029 1265045 + Identifier 1265029 1265039 + Identifier 1265040 1265045 + BarBarToken 1265045 1265048 + BinaryExpression 1265048 1265072 + Identifier 1265048 1265055 + EqualsEqualsEqualsToken 1265055 1265059 + Identifier 1265059 1265072 + ReturnStatement 1265073 1265086 + TrueKeyword 1265080 1265085 + IfStatement 1265086 1265197 + BinaryExpression 1265100 1265183 + BinaryExpression 1265100 1265121 + Identifier 1265100 1265101 + AmpersandToken 1265101 1265103 + PropertyAccessExpression 1265103 1265121 + Identifier 1265103 1265113 + Identifier 1265114 1265121 + AmpersandAmpersandToken 1265121 1265124 + PrefixUnaryExpression 1265124 1265183 + ParenthesizedExpression 1265126 1265183 + BinaryExpression 1265127 1265182 + BinaryExpression 1265127 1265161 + Identifier 1265127 1265135 + EqualsEqualsEqualsToken 1265135 1265139 + Identifier 1265139 1265161 + AmpersandAmpersandToken 1265161 1265164 + BinaryExpression 1265164 1265182 + Identifier 1265164 1265166 + AmpersandToken 1265166 1265168 + PropertyAccessExpression 1265168 1265182 + Identifier 1265168 1265178 + Identifier 1265179 1265182 + ReturnStatement 1265184 1265197 + TrueKeyword 1265191 1265196 + IfStatement 1265197 1265245 + BinaryExpression 1265211 1265230 + Identifier 1265211 1265212 + AmpersandToken 1265212 1265214 + PropertyAccessExpression 1265214 1265230 + Identifier 1265214 1265224 + Identifier 1265225 1265230 + ReturnStatement 1265231 1265245 + FalseKeyword 1265238 1265244 + IfStatement 1265245 1265321 + BinaryExpression 1265259 1265307 + BinaryExpression 1265259 1265283 + Identifier 1265259 1265260 + AmpersandToken 1265260 1265262 + PropertyAccessExpression 1265262 1265283 + Identifier 1265262 1265272 + Identifier 1265273 1265283 + AmpersandAmpersandToken 1265283 1265286 + BinaryExpression 1265286 1265307 + Identifier 1265286 1265288 + AmpersandToken 1265288 1265290 + PropertyAccessExpression 1265290 1265307 + Identifier 1265290 1265300 + Identifier 1265301 1265307 + ReturnStatement 1265308 1265321 + TrueKeyword 1265315 1265320 + IfStatement 1265321 1265597 + BinaryExpression 1265335 1265573 + BinaryExpression 1265335 1265481 + BinaryExpression 1265335 1265449 + BinaryExpression 1265335 1265405 + BinaryExpression 1265335 1265376 + Identifier 1265335 1265350 + AmpersandToken 1265350 1265352 + PropertyAccessExpression 1265352 1265376 + Identifier 1265352 1265362 + Identifier 1265363 1265376 + AmpersandAmpersandToken 1265376 1265379 + BinaryExpression 1265379 1265405 + Identifier 1265379 1265381 + AmpersandToken 1265381 1265383 + PropertyAccessExpression 1265383 1265405 + Identifier 1265383 1265393 + Identifier 1265394 1265405 + AmpersandAmpersandToken 1265405 1265408 + BinaryExpression 1265408 1265449 + Identifier 1265408 1265423 + AmpersandToken 1265423 1265425 + PropertyAccessExpression 1265425 1265449 + Identifier 1265425 1265435 + Identifier 1265436 1265449 + AmpersandAmpersandToken 1265449 1265452 + PrefixUnaryExpression 1265452 1265481 + ParenthesizedExpression 1265454 1265481 + BinaryExpression 1265455 1265480 + Identifier 1265455 1265456 + AmpersandToken 1265456 1265458 + PropertyAccessExpression 1265458 1265480 + Identifier 1265458 1265468 + Identifier 1265469 1265480 + AmpersandAmpersandToken 1265481 1265484 + BinaryExpression 1265484 1265573 + PropertyAccessExpression 1265484 1265533 + ParenthesizedExpression 1265484 1265527 + AsExpression 1265499 1265526 + Identifier 1265499 1265505 + TypeReference 1265508 1265526 + Identifier 1265508 1265526 + Identifier 1265528 1265533 + EqualsEqualsEqualsToken 1265533 1265537 + PropertyAccessExpression 1265537 1265573 + ParenthesizedExpression 1265537 1265567 + AsExpression 1265539 1265566 + Identifier 1265539 1265545 + TypeReference 1265548 1265566 + Identifier 1265548 1265566 + Identifier 1265568 1265573 + ReturnStatement 1265584 1265597 + TrueKeyword 1265591 1265596 + IfStatement 1265597 1265673 + BinaryExpression 1265611 1265659 + BinaryExpression 1265611 1265635 + Identifier 1265611 1265612 + AmpersandToken 1265612 1265614 + PropertyAccessExpression 1265614 1265635 + Identifier 1265614 1265624 + Identifier 1265625 1265635 + AmpersandAmpersandToken 1265635 1265638 + BinaryExpression 1265638 1265659 + Identifier 1265638 1265640 + AmpersandToken 1265640 1265642 + PropertyAccessExpression 1265642 1265659 + Identifier 1265642 1265652 + Identifier 1265653 1265659 + ReturnStatement 1265660 1265673 + TrueKeyword 1265667 1265672 + IfStatement 1265673 1265949 + BinaryExpression 1265687 1265925 + BinaryExpression 1265687 1265833 + BinaryExpression 1265687 1265801 + BinaryExpression 1265687 1265757 + BinaryExpression 1265687 1265728 + Identifier 1265687 1265702 + AmpersandToken 1265702 1265704 + PropertyAccessExpression 1265704 1265728 + Identifier 1265704 1265714 + Identifier 1265715 1265728 + AmpersandAmpersandToken 1265728 1265731 + BinaryExpression 1265731 1265757 + Identifier 1265731 1265733 + AmpersandToken 1265733 1265735 + PropertyAccessExpression 1265735 1265757 + Identifier 1265735 1265745 + Identifier 1265746 1265757 + AmpersandAmpersandToken 1265757 1265760 + BinaryExpression 1265760 1265801 + Identifier 1265760 1265775 + AmpersandToken 1265775 1265777 + PropertyAccessExpression 1265777 1265801 + Identifier 1265777 1265787 + Identifier 1265788 1265801 + AmpersandAmpersandToken 1265801 1265804 + PrefixUnaryExpression 1265804 1265833 + ParenthesizedExpression 1265806 1265833 + BinaryExpression 1265807 1265832 + Identifier 1265807 1265808 + AmpersandToken 1265808 1265810 + PropertyAccessExpression 1265810 1265832 + Identifier 1265810 1265820 + Identifier 1265821 1265832 + AmpersandAmpersandToken 1265833 1265836 + BinaryExpression 1265836 1265925 + PropertyAccessExpression 1265836 1265885 + ParenthesizedExpression 1265836 1265879 + AsExpression 1265851 1265878 + Identifier 1265851 1265857 + TypeReference 1265860 1265878 + Identifier 1265860 1265878 + Identifier 1265880 1265885 + EqualsEqualsEqualsToken 1265885 1265889 + PropertyAccessExpression 1265889 1265925 + ParenthesizedExpression 1265889 1265919 + AsExpression 1265891 1265918 + Identifier 1265891 1265897 + TypeReference 1265900 1265918 + Identifier 1265900 1265918 + Identifier 1265920 1265925 + ReturnStatement 1265936 1265949 + TrueKeyword 1265943 1265948 + IfStatement 1265949 1266025 + BinaryExpression 1265963 1266011 + BinaryExpression 1265963 1265987 + Identifier 1265963 1265964 + AmpersandToken 1265964 1265966 + PropertyAccessExpression 1265966 1265987 + Identifier 1265966 1265976 + Identifier 1265977 1265987 + AmpersandAmpersandToken 1265987 1265990 + BinaryExpression 1265990 1266011 + Identifier 1265990 1265992 + AmpersandToken 1265992 1265994 + PropertyAccessExpression 1265994 1266011 + Identifier 1265994 1266004 + Identifier 1266005 1266011 + ReturnStatement 1266012 1266025 + TrueKeyword 1266019 1266024 + IfStatement 1266025 1266103 + BinaryExpression 1266039 1266089 + BinaryExpression 1266039 1266064 + Identifier 1266039 1266040 + AmpersandToken 1266040 1266042 + PropertyAccessExpression 1266042 1266064 + Identifier 1266042 1266052 + Identifier 1266053 1266064 + AmpersandAmpersandToken 1266064 1266067 + BinaryExpression 1266067 1266089 + Identifier 1266067 1266069 + AmpersandToken 1266069 1266071 + PropertyAccessExpression 1266071 1266089 + Identifier 1266071 1266081 + Identifier 1266082 1266089 + ReturnStatement 1266090 1266103 + TrueKeyword 1266097 1266102 + IfStatement 1266103 1266183 + BinaryExpression 1266117 1266169 + BinaryExpression 1266117 1266143 + Identifier 1266117 1266118 + AmpersandToken 1266118 1266120 + PropertyAccessExpression 1266120 1266143 + Identifier 1266120 1266130 + Identifier 1266131 1266143 + AmpersandAmpersandToken 1266143 1266146 + BinaryExpression 1266146 1266169 + Identifier 1266146 1266148 + AmpersandToken 1266148 1266150 + PropertyAccessExpression 1266150 1266169 + Identifier 1266150 1266160 + Identifier 1266161 1266169 + ReturnStatement 1266170 1266183 + TrueKeyword 1266177 1266182 + IfStatement 1266183 1266415 + BinaryExpression 1266197 1266391 + BinaryExpression 1266197 1266310 + BinaryExpression 1266197 1266251 + BinaryExpression 1266197 1266229 + Identifier 1266197 1266212 + AmpersandToken 1266212 1266214 + PropertyAccessExpression 1266214 1266229 + Identifier 1266214 1266224 + Identifier 1266225 1266229 + AmpersandAmpersandToken 1266229 1266232 + BinaryExpression 1266232 1266251 + Identifier 1266232 1266234 + AmpersandToken 1266234 1266236 + PropertyAccessExpression 1266236 1266251 + Identifier 1266236 1266246 + Identifier 1266247 1266251 + AmpersandAmpersandToken 1266251 1266254 + BinaryExpression 1266254 1266310 + PropertyAccessExpression 1266254 1266280 + PropertyAccessExpression 1266254 1266268 + Identifier 1266254 1266261 + Identifier 1266262 1266268 + Identifier 1266269 1266280 + EqualsEqualsEqualsToken 1266280 1266284 + PropertyAccessExpression 1266284 1266310 + PropertyAccessExpression 1266284 1266298 + Identifier 1266284 1266291 + Identifier 1266292 1266298 + Identifier 1266299 1266310 + AmpersandAmpersandToken 1266310 1266313 + CallExpression 1266313 1266391 + Identifier 1266313 1266346 + PropertyAccessExpression 1266347 1266360 + Identifier 1266347 1266353 + Identifier 1266354 1266360 + PropertyAccessExpression 1266361 1266375 + Identifier 1266361 1266368 + Identifier 1266369 1266375 + Identifier 1266376 1266390 + ReturnStatement 1266402 1266415 + TrueKeyword 1266409 1266414 + IfStatement 1266415 1266901 + BinaryExpression 1266429 1266483 + BinaryExpression 1266429 1266454 + Identifier 1266429 1266430 + AmpersandToken 1266430 1266432 + PropertyAccessExpression 1266432 1266454 + Identifier 1266432 1266442 + Identifier 1266443 1266454 + AmpersandAmpersandToken 1266454 1266457 + BinaryExpression 1266457 1266483 + Identifier 1266457 1266459 + AmpersandToken 1266459 1266461 + PropertyAccessExpression 1266461 1266483 + Identifier 1266461 1266471 + Identifier 1266472 1266483 + Block 1266484 1266901 + IfStatement 1266486 1266628 + BinaryExpression 1266504 1266614 + BinaryExpression 1266504 1266546 + BinaryExpression 1266504 1266523 + Identifier 1266504 1266505 + AmpersandToken 1266505 1266507 + PropertyAccessExpression 1266507 1266523 + Identifier 1266507 1266517 + Identifier 1266518 1266523 + AmpersandAmpersandToken 1266523 1266526 + BinaryExpression 1266526 1266546 + Identifier 1266526 1266528 + AmpersandToken 1266528 1266530 + PropertyAccessExpression 1266530 1266546 + Identifier 1266530 1266540 + Identifier 1266541 1266546 + AmpersandAmpersandToken 1266546 1266549 + CallExpression 1266549 1266614 + Identifier 1266549 1266569 + PropertyAccessExpression 1266570 1266583 + Identifier 1266570 1266576 + Identifier 1266577 1266583 + PropertyAccessExpression 1266584 1266598 + Identifier 1266584 1266591 + Identifier 1266592 1266598 + Identifier 1266599 1266613 + ReturnStatement 1266615 1266628 + TrueKeyword 1266622 1266627 + IfStatement 1266628 1266890 + BinaryExpression 1266646 1266862 + BinaryExpression 1266646 1266777 + BinaryExpression 1266646 1266710 + BinaryExpression 1266646 1266685 + Identifier 1266646 1266665 + AmpersandToken 1266665 1266667 + PropertyAccessExpression 1266667 1266685 + Identifier 1266667 1266677 + Identifier 1266678 1266685 + AmpersandAmpersandToken 1266685 1266688 + BinaryExpression 1266688 1266710 + Identifier 1266688 1266690 + AmpersandToken 1266690 1266692 + PropertyAccessExpression 1266692 1266710 + Identifier 1266692 1266702 + Identifier 1266703 1266710 + AmpersandAmpersandToken 1266710 1266713 + BinaryExpression 1266713 1266777 + PropertyAccessExpression 1266713 1266743 + ParenthesizedExpression 1266713 1266737 + AsExpression 1266715 1266736 + Identifier 1266715 1266721 + TypeReference 1266724 1266736 + Identifier 1266724 1266736 + Identifier 1266738 1266743 + EqualsEqualsEqualsToken 1266743 1266747 + PropertyAccessExpression 1266747 1266777 + ParenthesizedExpression 1266747 1266771 + AsExpression 1266749 1266770 + Identifier 1266749 1266755 + TypeReference 1266758 1266770 + Identifier 1266758 1266770 + Identifier 1266772 1266777 + AmpersandAmpersandToken 1266777 1266780 + CallExpression 1266780 1266862 + Identifier 1266780 1266817 + PropertyAccessExpression 1266818 1266831 + Identifier 1266818 1266824 + Identifier 1266825 1266831 + PropertyAccessExpression 1266832 1266846 + Identifier 1266832 1266839 + Identifier 1266840 1266846 + Identifier 1266847 1266861 + ReturnStatement 1266877 1266890 + TrueKeyword 1266884 1266889 + IfStatement 1266901 1267257 + BinaryExpression 1267111 1267243 + BinaryExpression 1267111 1267134 + Identifier 1267111 1267112 + AmpersandToken 1267112 1267114 + PropertyAccessExpression 1267114 1267134 + Identifier 1267114 1267124 + Identifier 1267125 1267134 + AmpersandAmpersandToken 1267134 1267137 + ParenthesizedExpression 1267137 1267243 + BinaryExpression 1267139 1267242 + BinaryExpression 1267139 1267196 + PrefixUnaryExpression 1267139 1267156 + Identifier 1267140 1267156 + AmpersandAmpersandToken 1267156 1267159 + PrefixUnaryExpression 1267159 1267196 + ParenthesizedExpression 1267161 1267196 + BinaryExpression 1267162 1267195 + Identifier 1267162 1267163 + AmpersandToken 1267163 1267165 + PropertyAccessExpression 1267165 1267195 + Identifier 1267165 1267175 + Identifier 1267176 1267195 + BarBarToken 1267196 1267199 + BinaryExpression 1267199 1267242 + Identifier 1267199 1267201 + AmpersandToken 1267201 1267203 + ParenthesizedExpression 1267203 1267242 + BinaryExpression 1267205 1267241 + PropertyAccessExpression 1267205 1267224 + Identifier 1267205 1267214 + Identifier 1267215 1267224 + BarToken 1267224 1267226 + PropertyAccessExpression 1267226 1267241 + Identifier 1267226 1267236 + Identifier 1267237 1267241 + ReturnStatement 1267244 1267257 + TrueKeyword 1267251 1267256 + IfStatement 1267257 1267388 + BinaryExpression 1267271 1267374 + BinaryExpression 1267271 1267289 + Identifier 1267271 1267272 + AmpersandToken 1267272 1267274 + PropertyAccessExpression 1267274 1267289 + Identifier 1267274 1267284 + Identifier 1267285 1267289 + AmpersandAmpersandToken 1267289 1267292 + ParenthesizedExpression 1267292 1267374 + BinaryExpression 1267294 1267373 + BinaryExpression 1267294 1267351 + PrefixUnaryExpression 1267294 1267311 + Identifier 1267295 1267311 + AmpersandAmpersandToken 1267311 1267314 + PrefixUnaryExpression 1267314 1267351 + ParenthesizedExpression 1267316 1267351 + BinaryExpression 1267317 1267350 + Identifier 1267317 1267318 + AmpersandToken 1267318 1267320 + PropertyAccessExpression 1267320 1267350 + Identifier 1267320 1267330 + Identifier 1267331 1267350 + BarBarToken 1267351 1267354 + BinaryExpression 1267354 1267373 + Identifier 1267354 1267356 + AmpersandToken 1267356 1267358 + PropertyAccessExpression 1267358 1267373 + Identifier 1267358 1267368 + Identifier 1267369 1267373 + ReturnStatement 1267375 1267388 + TrueKeyword 1267382 1267387 + IfStatement 1267388 1267601 + BinaryExpression 1267402 1267587 + BinaryExpression 1267402 1267452 + BinaryExpression 1267402 1267422 + Identifier 1267402 1267403 + AmpersandToken 1267403 1267405 + PropertyAccessExpression 1267405 1267422 + Identifier 1267405 1267415 + Identifier 1267416 1267422 + AmpersandAmpersandToken 1267422 1267425 + BinaryExpression 1267425 1267452 + Identifier 1267425 1267427 + AmpersandToken 1267427 1267429 + PropertyAccessExpression 1267429 1267452 + Identifier 1267429 1267439 + Identifier 1267440 1267452 + AmpersandAmpersandToken 1267452 1267455 + PrefixUnaryExpression 1267455 1267587 + ParenthesizedExpression 1267457 1267587 + BinaryExpression 1267458 1267586 + BinaryExpression 1267458 1267530 + BinaryExpression 1267458 1267492 + Identifier 1267458 1267466 + EqualsEqualsEqualsToken 1267466 1267470 + Identifier 1267470 1267492 + AmpersandAmpersandToken 1267492 1267495 + CallExpression 1267495 1267530 + Identifier 1267495 1267522 + Identifier 1267523 1267529 + AmpersandAmpersandToken 1267530 1267533 + PrefixUnaryExpression 1267533 1267586 + ParenthesizedExpression 1267535 1267586 + BinaryExpression 1267536 1267585 + CallExpression 1267536 1267558 + Identifier 1267536 1267550 + Identifier 1267551 1267557 + AmpersandToken 1267558 1267560 + PropertyAccessExpression 1267560 1267585 + Identifier 1267560 1267572 + Identifier 1267573 1267585 + ReturnStatement 1267588 1267601 + TrueKeyword 1267595 1267600 + IfStatement 1267601 1268698 + BinaryExpression 1267615 1267681 + BinaryExpression 1267615 1267646 + Identifier 1267615 1267623 + EqualsEqualsEqualsToken 1267623 1267627 + Identifier 1267627 1267646 + BarBarToken 1267646 1267649 + BinaryExpression 1267649 1267681 + Identifier 1267649 1267658 + EqualsEqualsEqualsToken 1267658 1267662 + Identifier 1267662 1267681 + Block 1267682 1268698 + IfStatement 1267684 1267733 + BinaryExpression 1267702 1267719 + Identifier 1267702 1267703 + AmpersandToken 1267703 1267705 + PropertyAccessExpression 1267705 1267719 + Identifier 1267705 1267715 + Identifier 1267716 1267719 + ReturnStatement 1267720 1267733 + TrueKeyword 1267727 1267732 + IfStatement 1267733 1268208 + BinaryExpression 1268090 1268194 + BinaryExpression 1268090 1268110 + Identifier 1268090 1268091 + AmpersandToken 1268091 1268093 + PropertyAccessExpression 1268093 1268110 + Identifier 1268093 1268103 + Identifier 1268104 1268110 + AmpersandAmpersandToken 1268110 1268113 + ParenthesizedExpression 1268113 1268194 + BinaryExpression 1268115 1268193 + BinaryExpression 1268115 1268133 + Identifier 1268115 1268116 + AmpersandToken 1268116 1268118 + PropertyAccessExpression 1268118 1268133 + Identifier 1268118 1268128 + Identifier 1268129 1268133 + BarBarToken 1268133 1268136 + BinaryExpression 1268136 1268193 + BinaryExpression 1268136 1268164 + Identifier 1268136 1268138 + AmpersandToken 1268138 1268140 + PropertyAccessExpression 1268140 1268164 + Identifier 1268140 1268150 + Identifier 1268151 1268164 + AmpersandAmpersandToken 1268164 1268167 + BinaryExpression 1268167 1268193 + Identifier 1268167 1268169 + AmpersandToken 1268169 1268171 + PropertyAccessExpression 1268171 1268193 + Identifier 1268171 1268181 + Identifier 1268182 1268193 + ReturnStatement 1268195 1268208 + TrueKeyword 1268202 1268207 + IfStatement 1268208 1268540 + BinaryExpression 1268226 1268512 + BinaryExpression 1268226 1268303 + BinaryExpression 1268226 1268271 + Identifier 1268226 1268245 + AmpersandToken 1268245 1268247 + PropertyAccessExpression 1268247 1268271 + Identifier 1268247 1268257 + Identifier 1268258 1268271 + AmpersandAmpersandToken 1268271 1268274 + PrefixUnaryExpression 1268274 1268303 + ParenthesizedExpression 1268276 1268303 + BinaryExpression 1268277 1268302 + Identifier 1268277 1268278 + AmpersandToken 1268278 1268280 + PropertyAccessExpression 1268280 1268302 + Identifier 1268280 1268290 + Identifier 1268291 1268302 + AmpersandAmpersandToken 1268303 1268306 + ParenthesizedExpression 1268306 1268512 + BinaryExpression 1268308 1268511 + BinaryExpression 1268308 1268326 + Identifier 1268308 1268309 + AmpersandToken 1268309 1268311 + PropertyAccessExpression 1268311 1268326 + Identifier 1268311 1268321 + Identifier 1268322 1268326 + BarBarToken 1268326 1268329 + BinaryExpression 1268329 1268511 + BinaryExpression 1268329 1268407 + BinaryExpression 1268329 1268378 + Identifier 1268329 1268352 + AmpersandToken 1268352 1268354 + PropertyAccessExpression 1268354 1268378 + Identifier 1268354 1268364 + Identifier 1268365 1268378 + AmpersandAmpersandToken 1268378 1268381 + BinaryExpression 1268381 1268407 + Identifier 1268381 1268383 + AmpersandToken 1268383 1268385 + PropertyAccessExpression 1268385 1268407 + Identifier 1268385 1268395 + Identifier 1268396 1268407 + AmpersandAmpersandToken 1268407 1268410 + BinaryExpression 1268410 1268511 + PropertyAccessExpression 1268410 1268471 + ParenthesizedExpression 1268410 1268465 + AsExpression 1268437 1268464 + Identifier 1268437 1268443 + TypeReference 1268446 1268464 + Identifier 1268446 1268464 + Identifier 1268466 1268471 + EqualsEqualsEqualsToken 1268471 1268475 + PropertyAccessExpression 1268475 1268511 + ParenthesizedExpression 1268475 1268505 + AsExpression 1268477 1268504 + Identifier 1268477 1268483 + TypeReference 1268486 1268504 + Identifier 1268486 1268504 + Identifier 1268506 1268511 + ReturnStatement 1268527 1268540 + TrueKeyword 1268534 1268539 + IfStatement 1268540 1268687 + CallExpression 1268643 1268673 + Identifier 1268643 1268665 + Identifier 1268666 1268672 + ReturnStatement 1268674 1268687 + TrueKeyword 1268681 1268686 + ReturnStatement 1268698 1268721 + FalseKeyword 1268714 1268720 + FunctionDeclaration 1268728 1270457 + Identifier 1268744 1268760 + Parameter 1268761 1268773 + Identifier 1268761 1268767 + TypeReference 1268768 1268773 + Identifier 1268768 1268773 + Parameter 1268774 1268787 + Identifier 1268774 1268781 + TypeReference 1268782 1268787 + Identifier 1268782 1268787 + Parameter 1268788 1268836 + Identifier 1268788 1268797 + TypeReference 1268798 1268836 + Identifier 1268798 1268802 + StringKeyword 1268803 1268809 + TypeReference 1268810 1268835 + Identifier 1268810 1268835 + Block 1268837 1270457 + IfStatement 1268839 1268954 + CallExpression 1268853 1268879 + Identifier 1268853 1268871 + Identifier 1268872 1268878 + Block 1268880 1268954 + ExpressionStatement 1268882 1268943 + BinaryExpression 1268882 1268942 + Identifier 1268882 1268902 + EqualsToken 1268902 1268904 + PropertyAccessExpression 1268904 1268942 + ParenthesizedExpression 1268904 1268930 + AsExpression 1268906 1268929 + Identifier 1268906 1268912 + TypeReference 1268915 1268929 + Identifier 1268915 1268929 + Identifier 1268931 1268942 + IfStatement 1268954 1269069 + CallExpression 1268968 1268994 + Identifier 1268968 1268986 + Identifier 1268987 1268993 + Block 1268995 1269069 + ExpressionStatement 1268997 1269058 + BinaryExpression 1268997 1269057 + Identifier 1268997 1269017 + EqualsToken 1269017 1269019 + PropertyAccessExpression 1269019 1269057 + ParenthesizedExpression 1269019 1269045 + AsExpression 1269021 1269044 + Identifier 1269021 1269027 + TypeReference 1269030 1269044 + Identifier 1269030 1269044 + Identifier 1269046 1269057 + IfStatement 1269069 1269140 + BinaryExpression 1269083 1269100 + Identifier 1269083 1269089 + EqualsEqualsEqualsToken 1269089 1269093 + Identifier 1269093 1269100 + Block 1269101 1269140 + ReturnStatement 1269103 1269129 + TrueKeyword 1269123 1269128 + IfStatement 1269140 1269843 + BinaryExpression 1269154 1269183 + Identifier 1269154 1269162 + ExclamationEqualsEqualsToken 1269162 1269166 + Identifier 1269166 1269183 + Block 1269184 1269433 + IfStatement 1269186 1269422 + BinaryExpression 1269204 1269374 + BinaryExpression 1269204 1269323 + BinaryExpression 1269204 1269272 + BinaryExpression 1269204 1269235 + Identifier 1269204 1269212 + EqualsEqualsEqualsToken 1269212 1269216 + Identifier 1269216 1269235 + AmpersandAmpersandToken 1269235 1269238 + PrefixUnaryExpression 1269238 1269272 + ParenthesizedExpression 1269240 1269272 + BinaryExpression 1269241 1269271 + PropertyAccessExpression 1269241 1269253 + Identifier 1269241 1269247 + Identifier 1269248 1269253 + AmpersandToken 1269253 1269255 + PropertyAccessExpression 1269255 1269271 + Identifier 1269255 1269265 + Identifier 1269266 1269271 + AmpersandAmpersandToken 1269272 1269275 + CallExpression 1269275 1269323 + Identifier 1269275 1269297 + Identifier 1269298 1269304 + Identifier 1269305 1269312 + Identifier 1269313 1269322 + BarBarToken 1269323 1269326 + CallExpression 1269326 1269374 + Identifier 1269326 1269348 + Identifier 1269349 1269355 + Identifier 1269356 1269363 + Identifier 1269364 1269373 + Block 1269375 1269422 + ReturnStatement 1269377 1269407 + TrueKeyword 1269401 1269406 + IfStatement 1269447 1269843 + PrefixUnaryExpression 1269452 1269593 + ParenthesizedExpression 1269453 1269593 + BinaryExpression 1269454 1269592 + ParenthesizedExpression 1269454 1269483 + BinaryExpression 1269455 1269482 + PropertyAccessExpression 1269455 1269467 + Identifier 1269455 1269461 + Identifier 1269462 1269467 + BarToken 1269467 1269469 + PropertyAccessExpression 1269469 1269482 + Identifier 1269469 1269476 + Identifier 1269477 1269482 + AmpersandToken 1269483 1269485 + ParenthesizedExpression 1269485 1269592 + BinaryExpression 1269487 1269591 + BinaryExpression 1269487 1269566 + BinaryExpression 1269487 1269542 + PropertyAccessExpression 1269487 1269516 + Identifier 1269487 1269496 + Identifier 1269497 1269516 + BarToken 1269516 1269518 + PropertyAccessExpression 1269518 1269542 + Identifier 1269518 1269528 + Identifier 1269529 1269542 + BarToken 1269542 1269544 + PropertyAccessExpression 1269544 1269566 + Identifier 1269544 1269554 + Identifier 1269555 1269566 + BarToken 1269566 1269568 + PropertyAccessExpression 1269568 1269591 + Identifier 1269568 1269578 + Identifier 1269579 1269591 + Block 1269594 1269843 + IfStatement 1269596 1269766 + BinaryExpression 1269722 1269751 + PropertyAccessExpression 1269722 1269734 + Identifier 1269722 1269728 + Identifier 1269729 1269734 + ExclamationEqualsEqualsToken 1269734 1269738 + PropertyAccessExpression 1269738 1269751 + Identifier 1269738 1269745 + Identifier 1269746 1269751 + ReturnStatement 1269752 1269766 + FalseKeyword 1269759 1269765 + IfStatement 1269766 1269832 + BinaryExpression 1269784 1269818 + PropertyAccessExpression 1269784 1269796 + Identifier 1269784 1269790 + Identifier 1269791 1269796 + AmpersandToken 1269796 1269798 + PropertyAccessExpression 1269798 1269818 + Identifier 1269798 1269808 + Identifier 1269809 1269818 + ReturnStatement 1269819 1269832 + TrueKeyword 1269826 1269831 + IfStatement 1269843 1270206 + BinaryExpression 1269857 1269923 + BinaryExpression 1269857 1269888 + PropertyAccessExpression 1269857 1269869 + Identifier 1269857 1269863 + Identifier 1269864 1269869 + AmpersandToken 1269869 1269871 + PropertyAccessExpression 1269871 1269888 + Identifier 1269871 1269881 + Identifier 1269882 1269888 + AmpersandAmpersandToken 1269888 1269891 + BinaryExpression 1269891 1269923 + PropertyAccessExpression 1269891 1269904 + Identifier 1269891 1269898 + Identifier 1269899 1269904 + AmpersandToken 1269904 1269906 + PropertyAccessExpression 1269906 1269923 + Identifier 1269906 1269916 + Identifier 1269917 1269923 + Block 1269924 1270206 + VariableStatement 1269926 1270064 + VariableDeclarationList 1269926 1270063 + VariableDeclaration 1269945 1270063 + Identifier 1269945 1269953 + CallExpression 1269955 1270063 + PropertyAccessExpression 1269955 1269968 + Identifier 1269955 1269964 + Identifier 1269965 1269968 + CallExpression 1269969 1270062 + Identifier 1269969 1269983 + Identifier 1269984 1269990 + Identifier 1269991 1269998 + PropertyAccessExpression 1269999 1270022 + Identifier 1269999 1270017 + Identifier 1270018 1270022 + Identifier 1270023 1270032 + FalseKeyword 1270033 1270061 + IfStatement 1270064 1270195 + BinaryExpression 1270082 1270103 + Identifier 1270082 1270089 + ExclamationEqualsEqualsToken 1270089 1270093 + Identifier 1270093 1270103 + Block 1270104 1270195 + ReturnStatement 1270106 1270180 + PrefixUnaryExpression 1270130 1270179 + PrefixUnaryExpression 1270132 1270179 + ParenthesizedExpression 1270133 1270179 + BinaryExpression 1270134 1270178 + Identifier 1270134 1270141 + AmpersandToken 1270141 1270143 + PropertyAccessExpression 1270143 1270178 + Identifier 1270143 1270168 + Identifier 1270169 1270178 + IfStatement 1270206 1270427 + BinaryExpression 1270220 1270322 + BinaryExpression 1270220 1270269 + PropertyAccessExpression 1270220 1270232 + Identifier 1270220 1270226 + Identifier 1270227 1270232 + AmpersandToken 1270232 1270234 + PropertyAccessExpression 1270234 1270269 + Identifier 1270234 1270244 + Identifier 1270245 1270269 + BarBarToken 1270269 1270272 + BinaryExpression 1270272 1270322 + PropertyAccessExpression 1270272 1270285 + Identifier 1270272 1270279 + Identifier 1270280 1270285 + AmpersandToken 1270285 1270287 + PropertyAccessExpression 1270287 1270322 + Identifier 1270287 1270297 + Identifier 1270298 1270322 + Block 1270323 1270427 + ReturnStatement 1270325 1270416 + CallExpression 1270345 1270415 + Identifier 1270345 1270364 + Identifier 1270365 1270371 + Identifier 1270372 1270379 + Identifier 1270380 1270389 + Identifier 1270390 1270414 + ReturnStatement 1270427 1270450 + FalseKeyword 1270443 1270449 + FunctionDeclaration 1270457 1270652 + Identifier 1270473 1270494 + Parameter 1270495 1270507 + Identifier 1270495 1270501 + TypeReference 1270502 1270507 + Identifier 1270502 1270507 + Parameter 1270508 1270527 + Identifier 1270508 1270519 + TypeReference 1270520 1270527 + Identifier 1270520 1270527 + Block 1270528 1270652 + ReturnStatement 1270530 1270645 + BinaryExpression 1270546 1270644 + BinaryExpression 1270546 1270597 + CallExpression 1270546 1270569 + Identifier 1270546 1270561 + Identifier 1270562 1270568 + AmpersandToken 1270569 1270571 + PropertyAccessExpression 1270571 1270597 + Identifier 1270571 1270583 + Identifier 1270584 1270597 + AmpersandAmpersandToken 1270597 1270600 + CallExpression 1270600 1270644 + Identifier 1270600 1270620 + PropertyAccessExpression 1270621 1270643 + Identifier 1270621 1270631 + Identifier 1270632 1270643 + FunctionDeclaration 1270652 1271658 + Identifier 1270668 1270686 + Parameter 1270687 1270697 + Identifier 1270687 1270691 + TypeReference 1270692 1270697 + Identifier 1270692 1270697 + Parameter 1270698 1270715 + Identifier 1270698 1270706 + BooleanKeyword 1270707 1270715 + TypeReference 1270717 1270722 + Identifier 1270717 1270722 + Block 1270722 1271658 + WhileStatement 1270724 1271651 + TrueKeyword 1270741 1270745 + Block 1270746 1271651 + VariableStatement 1270748 1271578 + VariableDeclarationList 1270748 1271577 + VariableDeclaration 1270767 1271577 + Identifier 1270767 1270769 + ConditionalExpression 1270771 1271577 + CallExpression 1270771 1270796 + Identifier 1270771 1270790 + Identifier 1270791 1270795 + QuestionToken 1270796 1270798 + PropertyAccessExpression 1270798 1270834 + ParenthesizedExpression 1270798 1270822 + AsExpression 1270800 1270821 + Identifier 1270800 1270804 + TypeReference 1270807 1270821 + Identifier 1270807 1270821 + Identifier 1270823 1270834 + ColonToken 1270834 1270836 + ConditionalExpression 1270836 1271577 + CallExpression 1270836 1270878 + Identifier 1270836 1270872 + Identifier 1270873 1270877 + QuestionToken 1270878 1270880 + CallExpression 1270880 1270918 + Identifier 1270880 1270903 + Identifier 1270904 1270908 + Identifier 1270909 1270917 + ColonToken 1270918 1270920 + ConditionalExpression 1270920 1271577 + BinaryExpression 1270920 1270982 + CallExpression 1270920 1270958 + Identifier 1270920 1270952 + Identifier 1270953 1270957 + AmpersandToken 1270958 1270960 + PropertyAccessExpression 1270960 1270982 + Identifier 1270960 1270972 + Identifier 1270973 1270982 + QuestionToken 1270982 1270984 + ConditionalExpression 1270984 1271161 + PropertyAccessExpression 1270984 1271013 + ParenthesizedExpression 1270984 1271008 + AsExpression 1270986 1271007 + Identifier 1270986 1270990 + TypeReference 1270993 1271007 + Identifier 1270993 1271007 + Identifier 1271009 1271013 + QuestionToken 1271013 1271015 + CallExpression 1271015 1271108 + Identifier 1271015 1271035 + PropertyAccessExpression 1271036 1271066 + ParenthesizedExpression 1271036 1271059 + AsExpression 1271037 1271058 + Identifier 1271037 1271041 + TypeReference 1271044 1271058 + Identifier 1271044 1271058 + Identifier 1271060 1271066 + CallExpression 1271067 1271107 + Identifier 1271067 1271084 + AsExpression 1271085 1271106 + Identifier 1271085 1271089 + TypeReference 1271092 1271106 + Identifier 1271092 1271106 + ColonToken 1271108 1271110 + BinaryExpression 1271110 1271161 + CallExpression 1271110 1271153 + Identifier 1271110 1271147 + Identifier 1271148 1271152 + BarBarToken 1271153 1271156 + Identifier 1271156 1271161 + ColonToken 1271161 1271163 + ConditionalExpression 1271163 1271577 + BinaryExpression 1271163 1271223 + PropertyAccessExpression 1271163 1271191 + Identifier 1271163 1271185 + Identifier 1271186 1271191 + AmpersandToken 1271191 1271193 + PropertyAccessExpression 1271193 1271223 + Identifier 1271193 1271203 + Identifier 1271204 1271223 + QuestionToken 1271223 1271225 + CallExpression 1271225 1271304 + Identifier 1271225 1271262 + AsExpression 1271263 1271294 + Identifier 1271263 1271267 + TypeReference 1271270 1271294 + Identifier 1271270 1271294 + Identifier 1271295 1271303 + ColonToken 1271304 1271306 + ConditionalExpression 1271306 1271577 + BinaryExpression 1271306 1271359 + PropertyAccessExpression 1271306 1271334 + Identifier 1271306 1271328 + Identifier 1271329 1271334 + AmpersandToken 1271334 1271336 + PropertyAccessExpression 1271336 1271359 + Identifier 1271336 1271346 + Identifier 1271347 1271359 + QuestionToken 1271359 1271361 + ConditionalExpression 1271361 1271463 + Identifier 1271361 1271369 + QuestionToken 1271369 1271371 + PropertyAccessExpression 1271371 1271407 + ParenthesizedExpression 1271371 1271398 + AsExpression 1271373 1271397 + Identifier 1271373 1271377 + TypeReference 1271380 1271397 + Identifier 1271380 1271397 + Identifier 1271399 1271407 + ColonToken 1271407 1271409 + CallExpression 1271409 1271463 + Identifier 1271409 1271437 + AsExpression 1271438 1271462 + Identifier 1271438 1271442 + TypeReference 1271445 1271462 + Identifier 1271445 1271462 + ColonToken 1271463 1271465 + ConditionalExpression 1271465 1271577 + BinaryExpression 1271465 1271518 + PropertyAccessExpression 1271465 1271493 + Identifier 1271465 1271487 + Identifier 1271488 1271493 + AmpersandToken 1271493 1271495 + PropertyAccessExpression 1271495 1271518 + Identifier 1271495 1271505 + Identifier 1271506 1271518 + QuestionToken 1271518 1271520 + CallExpression 1271520 1271553 + Identifier 1271520 1271538 + Identifier 1271539 1271543 + Identifier 1271544 1271552 + ColonToken 1271553 1271555 + Identifier 1271555 1271577 + IfStatement 1271578 1271617 + BinaryExpression 1271596 1271606 + Identifier 1271596 1271597 + EqualsEqualsEqualsToken 1271597 1271601 + Identifier 1271601 1271606 + ReturnStatement 1271607 1271617 + Identifier 1271614 1271616 + ExpressionStatement 1271617 1271640 + BinaryExpression 1271617 1271639 + Identifier 1271617 1271635 + EqualsToken 1271635 1271637 + Identifier 1271637 1271639 + FunctionDeclaration 1271658 1272604 + Identifier 1271674 1271711 + Parameter 1271712 1271741 + Identifier 1271712 1271716 + TypeReference 1271717 1271741 + Identifier 1271717 1271741 + Parameter 1271742 1271759 + Identifier 1271742 1271750 + BooleanKeyword 1271751 1271759 + Block 1271760 1272604 + VariableStatement 1271762 1271809 + VariableDeclarationList 1271762 1271808 + VariableDeclaration 1271777 1271808 + Identifier 1271777 1271785 + CallExpression 1271787 1271808 + Identifier 1271787 1271802 + Identifier 1271803 1271807 + IfStatement 1271809 1271882 + BinaryExpression 1271823 1271839 + Identifier 1271823 1271830 + ExclamationEqualsEqualsToken 1271830 1271834 + Identifier 1271834 1271839 + Block 1271840 1271882 + ReturnStatement 1271842 1271871 + Identifier 1271862 1271870 + IfStatement 1271882 1272575 + BinaryExpression 1271896 1271988 + BinaryExpression 1271896 1271931 + PropertyAccessExpression 1271896 1271906 + Identifier 1271896 1271900 + Identifier 1271901 1271906 + AmpersandToken 1271906 1271908 + PropertyAccessExpression 1271908 1271931 + Identifier 1271908 1271918 + Identifier 1271919 1271931 + AmpersandAmpersandToken 1271931 1271934 + CallExpression 1271934 1271988 + Identifier 1271934 1271962 + AsExpression 1271963 1271987 + Identifier 1271963 1271967 + TypeReference 1271970 1271987 + Identifier 1271970 1271987 + Block 1271989 1272575 + VariableStatement 1271991 1272436 + VariableDeclarationList 1271991 1272435 + VariableDeclaration 1272361 1272435 + Identifier 1272361 1272377 + CallExpression 1272379 1272435 + Identifier 1272379 1272387 + PropertyAccessExpression 1272388 1272398 + Identifier 1272388 1272392 + Identifier 1272393 1272398 + ArrowFunction 1272399 1272434 + Parameter 1272399 1272401 + Identifier 1272399 1272401 + EqualsGreaterThanToken 1272401 1272404 + CallExpression 1272404 1272434 + Identifier 1272404 1272422 + Identifier 1272423 1272424 + Identifier 1272425 1272433 + IfStatement 1272436 1272564 + BinaryExpression 1272454 1272484 + Identifier 1272454 1272469 + ExclamationEqualsEqualsToken 1272469 1272473 + PropertyAccessExpression 1272473 1272484 + Identifier 1272473 1272478 + Identifier 1272479 1272484 + Block 1272485 1272564 + ReturnStatement 1272487 1272549 + CallExpression 1272511 1272548 + Identifier 1272511 1272531 + Identifier 1272532 1272547 + ReturnStatement 1272575 1272597 + Identifier 1272591 1272596 + FunctionDeclaration 1272604 1273076 + Identifier 1272620 1272648 + Parameter 1272649 1272671 + Identifier 1272649 1272653 + TypeReference 1272654 1272671 + Identifier 1272654 1272671 + Block 1272672 1273076 + VariableStatement 1272674 1272712 + VariableDeclarationList 1272674 1272711 + VariableDeclaration 1272687 1272711 + Identifier 1272687 1272703 + FalseKeyword 1272705 1272711 + VariableStatement 1272712 1272753 + VariableDeclarationList 1272712 1272752 + VariableDeclaration 1272725 1272752 + Identifier 1272725 1272744 + FalseKeyword 1272746 1272752 + ForOfStatement 1272753 1273046 + VariableDeclarationList 1272768 1272775 + VariableDeclaration 1272773 1272775 + Identifier 1272773 1272775 + PropertyAccessExpression 1272778 1272789 + Identifier 1272778 1272783 + Identifier 1272784 1272789 + Block 1272790 1273046 + ExpressionStatement 1272792 1272863 + BinaryExpression 1272792 1272862 + Identifier 1272792 1272821 + BarBarEqualsToken 1272821 1272825 + PrefixUnaryExpression 1272825 1272862 + PrefixUnaryExpression 1272827 1272862 + ParenthesizedExpression 1272828 1272862 + BinaryExpression 1272829 1272861 + PropertyAccessExpression 1272829 1272836 + Identifier 1272829 1272830 + Identifier 1272831 1272836 + AmpersandToken 1272836 1272838 + PropertyAccessExpression 1272838 1272861 + Identifier 1272838 1272848 + Identifier 1272849 1272861 + ExpressionStatement 1272863 1272966 + BinaryExpression 1272863 1272965 + Identifier 1272863 1272895 + BarBarEqualsToken 1272895 1272899 + BinaryExpression 1272899 1272965 + PrefixUnaryExpression 1272899 1272932 + PrefixUnaryExpression 1272901 1272932 + ParenthesizedExpression 1272902 1272932 + BinaryExpression 1272903 1272931 + PropertyAccessExpression 1272903 1272910 + Identifier 1272903 1272904 + Identifier 1272905 1272910 + AmpersandToken 1272910 1272912 + PropertyAccessExpression 1272912 1272931 + Identifier 1272912 1272922 + Identifier 1272923 1272931 + BarBarToken 1272932 1272935 + CallExpression 1272935 1272965 + Identifier 1272935 1272962 + Identifier 1272963 1272964 + IfStatement 1272966 1273035 + BinaryExpression 1272984 1273021 + Identifier 1272984 1272999 + AmpersandAmpersandToken 1272999 1273002 + Identifier 1273002 1273021 + ReturnStatement 1273022 1273035 + TrueKeyword 1273029 1273034 + ReturnStatement 1273046 1273069 + FalseKeyword 1273062 1273068 + FunctionDeclaration 1273076 1273470 + Identifier 1273092 1273115 + Parameter 1273116 1273140 + Identifier 1273116 1273120 + TypeReference 1273121 1273140 + Identifier 1273121 1273140 + Parameter 1273141 1273158 + Identifier 1273141 1273149 + BooleanKeyword 1273150 1273158 + TypeReference 1273160 1273165 + Identifier 1273160 1273165 + Block 1273165 1273470 + VariableStatement 1273167 1273216 + VariableDeclarationList 1273167 1273215 + VariableDeclaration 1273182 1273215 + Identifier 1273182 1273191 + CallExpression 1273193 1273215 + Identifier 1273193 1273209 + Identifier 1273210 1273214 + VariableStatement 1273216 1273346 + VariableDeclarationList 1273216 1273345 + VariableDeclaration 1273231 1273345 + Identifier 1273231 1273250 + CallExpression 1273252 1273345 + Identifier 1273252 1273260 + Identifier 1273261 1273269 + ArrowFunction 1273270 1273344 + Parameter 1273270 1273272 + Identifier 1273270 1273272 + EqualsGreaterThanToken 1273272 1273275 + ConditionalExpression 1273275 1273344 + BinaryExpression 1273275 1273308 + PropertyAccessExpression 1273275 1273283 + Identifier 1273275 1273277 + Identifier 1273278 1273283 + AmpersandToken 1273283 1273285 + PropertyAccessExpression 1273285 1273308 + Identifier 1273285 1273295 + Identifier 1273296 1273308 + QuestionToken 1273308 1273310 + CallExpression 1273310 1273340 + Identifier 1273310 1273328 + Identifier 1273329 1273330 + Identifier 1273331 1273339 + ColonToken 1273340 1273342 + Identifier 1273342 1273344 + ReturnStatement 1273346 1273463 + ConditionalExpression 1273362 1273462 + BinaryExpression 1273362 1273394 + Identifier 1273362 1273371 + ExclamationEqualsEqualsToken 1273371 1273375 + Identifier 1273375 1273394 + QuestionToken 1273394 1273396 + CallExpression 1273396 1273455 + Identifier 1273396 1273422 + PropertyAccessExpression 1273423 1273434 + Identifier 1273423 1273427 + Identifier 1273428 1273434 + Identifier 1273435 1273454 + ColonToken 1273455 1273457 + Identifier 1273457 1273462 + FunctionDeclaration 1273470 1443461 + Identifier 1274393 1274412 + Parameter 1274413 1274435 + Identifier 1274413 1274429 + TypeReference 1274430 1274435 + Identifier 1274430 1274435 + Parameter 1274436 1274458 + Identifier 1274436 1274452 + TypeReference 1274453 1274458 + Identifier 1274453 1274458 + Parameter 1274459 1274516 + Identifier 1274459 1274477 + TypeReference 1274478 1274516 + Identifier 1274478 1274482 + StringKeyword 1274483 1274489 + TypeReference 1274490 1274515 + Identifier 1274490 1274515 + Parameter 1274517 1274554 + Identifier 1274517 1274536 + UnionType 1274537 1274554 + TypeReference 1274537 1274542 + Identifier 1274537 1274542 + UndefinedKeyword 1274544 1274554 + Parameter 1274555 1274596 + Identifier 1274555 1274576 + QuestionToken 1274576 1274577 + TypeReference 1274578 1274596 + Identifier 1274578 1274596 + Parameter 1274597 1274672 + Identifier 1274597 1274629 + QuestionToken 1274629 1274630 + FunctionType 1274631 1274672 + UnionType 1274637 1274672 + TypeReference 1274637 1274660 + Identifier 1274637 1274660 + UndefinedKeyword 1274662 1274672 + Parameter 1274673 1274726 + Identifier 1274673 1274703 + QuestionToken 1274703 1274704 + TypeReference 1274705 1274726 + Identifier 1274705 1274726 + BooleanKeyword 1274735 1274743 + Block 1274743 1443461 + VariableStatement 1274745 1274805 + VariableDeclarationList 1274745 1274804 + VariableDeclaration 1274758 1274804 + Identifier 1274758 1274768 + UnionType 1274769 1274804 + TypeReference 1274769 1274792 + Identifier 1274769 1274792 + UndefinedKeyword 1274794 1274804 + VariableStatement 1274805 1274910 + VariableDeclarationList 1274805 1274909 + VariableDeclaration 1274818 1274909 + Identifier 1274818 1274830 + UnionType 1274831 1274909 + TupleType 1274831 1274897 + TypeReference 1274833 1274861 + Identifier 1274833 1274861 + RestType 1274862 1274896 + ArrayType 1274866 1274896 + TypeReference 1274866 1274894 + Identifier 1274866 1274894 + UndefinedKeyword 1274899 1274909 + VariableStatement 1274910 1274944 + VariableDeclarationList 1274910 1274943 + VariableDeclaration 1274923 1274943 + Identifier 1274923 1274933 + ArrayType 1274934 1274943 + StringKeyword 1274934 1274941 + VariableStatement 1274944 1274984 + VariableDeclarationList 1274944 1274983 + VariableDeclaration 1274957 1274983 + Identifier 1274957 1274970 + TypeReference 1274971 1274983 + Identifier 1274971 1274975 + StringKeyword 1274976 1274982 + VariableStatement 1274984 1275018 + VariableDeclarationList 1274984 1275017 + VariableDeclaration 1274997 1275017 + Identifier 1274997 1275009 + ArrayType 1275010 1275017 + TypeReference 1275010 1275015 + Identifier 1275010 1275015 + VariableStatement 1275018 1275052 + VariableDeclarationList 1275018 1275051 + VariableDeclaration 1275031 1275051 + Identifier 1275031 1275043 + ArrayType 1275044 1275051 + TypeReference 1275044 1275049 + Identifier 1275044 1275049 + VariableStatement 1275052 1275081 + VariableDeclarationList 1275052 1275080 + VariableDeclaration 1275065 1275080 + Identifier 1275065 1275076 + NumericLiteral 1275078 1275080 + VariableStatement 1275081 1275111 + VariableDeclarationList 1275081 1275110 + VariableDeclaration 1275094 1275110 + Identifier 1275094 1275106 + NumericLiteral 1275108 1275110 + VariableStatement 1275111 1275141 + VariableDeclarationList 1275111 1275140 + VariableDeclaration 1275124 1275140 + Identifier 1275124 1275136 + NumericLiteral 1275138 1275140 + VariableStatement 1275141 1275192 + VariableDeclarationList 1275141 1275191 + VariableDeclaration 1275154 1275191 + Identifier 1275154 1275169 + PropertyAccessExpression 1275171 1275191 + Identifier 1275171 1275186 + Identifier 1275187 1275191 + VariableStatement 1275192 1275223 + VariableDeclarationList 1275192 1275222 + VariableDeclaration 1275205 1275222 + Identifier 1275205 1275214 + FalseKeyword 1275216 1275222 + VariableStatement 1275223 1275263 + VariableDeclarationList 1275223 1275262 + VariableDeclaration 1275236 1275262 + Identifier 1275236 1275258 + NumericLiteral 1275260 1275262 + VariableStatement 1275263 1275384 + VariableDeclarationList 1275263 1275383 + VariableDeclaration 1275361 1275383 + Identifier 1275361 1275379 + NumericLiteral 1275381 1275383 + VariableStatement 1275384 1275512 + VariableDeclarationList 1275384 1275511 + VariableDeclaration 1275469 1275511 + Identifier 1275469 1275485 + UnionType 1275486 1275511 + TupleType 1275486 1275499 + TypeReference 1275488 1275492 + Identifier 1275488 1275492 + TypeReference 1275493 1275498 + Identifier 1275493 1275498 + UndefinedKeyword 1275501 1275511 + VariableStatement 1275512 1275582 + VariableDeclarationList 1275512 1275581 + VariableDeclaration 1275525 1275581 + Identifier 1275525 1275543 + UnionType 1275544 1275581 + ArrayType 1275544 1275569 + TypeReference 1275544 1275567 + Identifier 1275544 1275567 + UndefinedKeyword 1275571 1275581 + VariableStatement 1275582 1275856 + VariableDeclarationList 1275582 1275855 + VariableDeclaration 1275805 1275855 + Identifier 1275805 1275819 + BinaryExpression 1275821 1275855 + ParenthesizedExpression 1275821 1275850 + BinaryExpression 1275823 1275849 + NumericLiteral 1275823 1275833 + MinusToken 1275833 1275835 + PropertyAccessExpression 1275835 1275849 + Identifier 1275835 1275844 + Identifier 1275845 1275849 + GreaterThanGreaterThanToken 1275850 1275853 + NumericLiteral 1275853 1275855 + ExpressionStatement 1275856 1275969 + CallExpression 1275856 1275968 + PropertyAccessExpression 1275856 1275880 + Identifier 1275856 1275873 + Identifier 1275874 1275880 + BinaryExpression 1275881 1275924 + BinaryExpression 1275881 1275910 + Identifier 1275881 1275889 + ExclamationEqualsEqualsToken 1275889 1275893 + Identifier 1275893 1275910 + BarBarToken 1275910 1275913 + PrefixUnaryExpression 1275913 1275924 + Identifier 1275915 1275924 + StringLiteral 1275925 1275967 + VariableStatement 1275969 1276088 + VariableDeclarationList 1275969 1276087 + VariableDeclaration 1275986 1276087 + Identifier 1275986 1275993 + CallExpression 1275995 1276087 + Identifier 1275995 1276007 + Identifier 1276008 1276014 + Identifier 1276015 1276022 + PropertyAccessExpression 1276023 1276043 + Identifier 1276023 1276038 + Identifier 1276039 1276043 + PrefixUnaryExpression 1276044 1276073 + PrefixUnaryExpression 1276063 1276073 + Identifier 1276064 1276073 + Identifier 1276074 1276086 + IfStatement 1276088 1276173 + Identifier 1276102 1276119 + Block 1276120 1276173 + ExpressionStatement 1276122 1276162 + CallExpression 1276122 1276161 + Identifier 1276122 1276159 + IfStatement 1276173 1279356 + Identifier 1276187 1276195 + Block 1276196 1277279 + VariableStatement 1276198 1276453 + VariableDeclarationList 1276198 1276452 + VariableDeclaration 1276331 1276452 + Identifier 1276331 1276334 + CallExpression 1276336 1276452 + Identifier 1276336 1276351 + Identifier 1276352 1276358 + Identifier 1276359 1276366 + PropertyAccessExpression 1276367 1276412 + Identifier 1276367 1276407 + Identifier 1276408 1276412 + Identifier 1276413 1276422 + FalseKeyword 1276423 1276451 + ExpressionStatement 1276453 1276632 + CallExpression 1276453 1276631 + PropertyAccessExpression 1276453 1276479 + Identifier 1276453 1276475 + Identifier 1276476 1276479 + Identifier 1276480 1276482 + BinaryExpression 1276483 1276630 + PropertyAccessExpression 1276483 1276515 + Identifier 1276483 1276508 + Identifier 1276509 1276515 + BarToken 1276515 1276517 + ParenthesizedExpression 1276517 1276630 + ConditionalExpression 1276519 1276629 + BinaryExpression 1276519 1276537 + Identifier 1276519 1276532 + LessThanEqualsToken 1276532 1276535 + NumericLiteral 1276535 1276537 + QuestionToken 1276537 1276539 + PropertyAccessExpression 1276539 1276583 + Identifier 1276539 1276564 + Identifier 1276565 1276583 + ColonToken 1276583 1276585 + PropertyAccessExpression 1276585 1276629 + Identifier 1276585 1276610 + Identifier 1276611 1276629 + ExpressionStatement 1276632 1276801 + CallExpression 1276632 1276800 + PropertyAccessExpression 1276632 1276662 + Identifier 1276632 1276653 + QuestionDotToken 1276653 1276655 + Identifier 1276655 1276662 + PropertyAccessExpression 1276663 1276687 + PropertyAccessExpression 1276663 1276676 + Identifier 1276663 1276670 + Identifier 1276671 1276676 + Identifier 1276677 1276687 + StringLiteral 1276688 1276720 + ObjectLiteralExpression 1276721 1276799 + PropertyAssignment 1276723 1276743 + Identifier 1276723 1276732 + PropertyAccessExpression 1276733 1276743 + Identifier 1276733 1276740 + Identifier 1276741 1276743 + PropertyAssignment 1276744 1276764 + Identifier 1276744 1276753 + PropertyAccessExpression 1276754 1276764 + Identifier 1276754 1276761 + Identifier 1276762 1276764 + PropertyAssignment 1276765 1276784 + Identifier 1276765 1276771 + Identifier 1276772 1276784 + ShorthandPropertyAssignment 1276785 1276797 + Identifier 1276785 1276797 + VariableStatement 1276801 1277003 + VariableDeclarationList 1276801 1277002 + VariableDeclaration 1276820 1277002 + Identifier 1276820 1276828 + ConditionalExpression 1276830 1277002 + BinaryExpression 1276830 1276849 + Identifier 1276830 1276844 + LessThanEqualsToken 1276844 1276847 + NumericLiteral 1276847 1276849 + QuestionToken 1276849 1276851 + PropertyAccessExpression 1276851 1276925 + Identifier 1276851 1276880 + Identifier 1276881 1276925 + ColonToken 1276925 1276927 + PropertyAccessExpression 1276927 1277002 + Identifier 1276927 1276956 + Identifier 1276957 1277002 + VariableStatement 1277003 1277115 + VariableDeclarationList 1277003 1277114 + VariableDeclaration 1277022 1277114 + Identifier 1277022 1277027 + CallExpression 1277029 1277114 + Identifier 1277029 1277035 + BinaryExpression 1277036 1277060 + Identifier 1277036 1277045 + BarBarToken 1277045 1277048 + Identifier 1277048 1277060 + Identifier 1277061 1277069 + CallExpression 1277070 1277091 + Identifier 1277070 1277083 + Identifier 1277084 1277090 + CallExpression 1277092 1277113 + Identifier 1277092 1277105 + Identifier 1277106 1277112 + IfStatement 1277115 1277268 + Identifier 1277133 1277153 + Block 1277154 1277268 + ExpressionStatement 1277156 1277253 + CallExpression 1277156 1277252 + PropertyAccessExpression 1277156 1277246 + ParenthesizedExpression 1277156 1277241 + BinaryExpression 1277175 1277240 + PropertyAccessExpression 1277175 1277202 + Identifier 1277175 1277195 + Identifier 1277196 1277202 + BarBarToken 1277202 1277205 + ParenthesizedExpression 1277205 1277240 + BinaryExpression 1277207 1277239 + PropertyAccessExpression 1277207 1277234 + Identifier 1277207 1277227 + Identifier 1277228 1277234 + EqualsToken 1277234 1277236 + ArrayLiteralExpression 1277236 1277239 + Identifier 1277242 1277246 + Identifier 1277247 1277251 + IfStatement 1277293 1279356 + Identifier 1277298 1277307 + Block 1277308 1279356 + IfStatement 1277310 1277589 + Identifier 1277328 1277350 + Block 1277351 1277589 + VariableStatement 1277353 1277410 + VariableDeclarationList 1277353 1277409 + VariableDeclaration 1277376 1277409 + Identifier 1277376 1277382 + CallExpression 1277384 1277409 + Identifier 1277384 1277407 + IfStatement 1277410 1277574 + Identifier 1277432 1277437 + Block 1277438 1277574 + ExpressionStatement 1277440 1277515 + CallExpression 1277440 1277514 + Identifier 1277440 1277496 + Identifier 1277497 1277502 + Identifier 1277503 1277513 + ExpressionStatement 1277515 1277555 + BinaryExpression 1277515 1277554 + Identifier 1277515 1277546 + EqualsToken 1277546 1277548 + Identifier 1277548 1277554 + VariableStatement 1277589 1277672 + VariableDeclarationList 1277589 1277671 + VariableDeclaration 1277608 1277671 + Identifier 1277608 1277627 + UnionType 1277628 1277671 + ArrayType 1277628 1277659 + TypeReference 1277628 1277657 + Identifier 1277628 1277657 + UndefinedKeyword 1277661 1277671 + IfStatement 1277672 1278813 + BinaryExpression 1277815 1277867 + BinaryExpression 1277815 1277850 + BinaryExpression 1277815 1277839 + Identifier 1277815 1277826 + AmpersandAmpersandToken 1277826 1277829 + Identifier 1277829 1277839 + AmpersandAmpersandToken 1277839 1277842 + PrefixUnaryExpression 1277842 1277850 + Identifier 1277844 1277850 + AmpersandAmpersandToken 1277850 1277853 + PropertyAccessExpression 1277853 1277867 + Identifier 1277853 1277860 + Identifier 1277861 1277867 + Block 1277868 1278813 + VariableStatement 1277870 1277932 + VariableDeclarationList 1277870 1277931 + VariableDeclaration 1277893 1277931 + Identifier 1277893 1277899 + CallExpression 1277901 1277931 + Identifier 1277901 1277916 + PropertyAccessExpression 1277917 1277930 + Identifier 1277917 1277923 + Identifier 1277924 1277930 + IfStatement 1277932 1278798 + BinaryExpression 1277954 1278019 + PropertyAccessExpression 1277954 1277977 + Identifier 1277954 1277959 + Identifier 1277960 1277977 + AmpersandAmpersandToken 1277977 1277980 + PrefixUnaryExpression 1277980 1278019 + CallExpression 1277982 1278019 + Identifier 1277982 1277994 + PropertyAccessExpression 1277995 1278018 + Identifier 1277995 1278000 + Identifier 1278001 1278018 + Block 1278020 1278798 + VariableStatement 1278022 1278159 + VariableDeclarationList 1278022 1278158 + VariableDeclaration 1278049 1278158 + Identifier 1278049 1278062 + CallExpression 1278064 1278158 + Identifier 1278064 1278083 + CallExpression 1278084 1278114 + Identifier 1278084 1278099 + NonNullExpression 1278100 1278113 + PropertyAccessExpression 1278100 1278112 + Identifier 1278100 1278105 + Identifier 1278106 1278112 + Identifier 1278115 1278122 + Identifier 1278123 1278132 + Identifier 1278133 1278157 + IfStatement 1278159 1278779 + Identifier 1278185 1278197 + Block 1278198 1278779 + VariableStatement 1278200 1278614 + VariableDeclarationList 1278200 1278613 + VariableDeclaration 1278357 1278613 + Identifier 1278357 1278362 + CallExpression 1278364 1278613 + Identifier 1278364 1278388 + PropertyAccessExpression 1278389 1278412 + Identifier 1278389 1278394 + Identifier 1278395 1278412 + PropertyAccessExpression 1278413 1278612 + Identifier 1278413 1278425 + Identifier 1278426 1278612 + ExpressionStatement 1278614 1278694 + BinaryExpression 1278614 1278693 + Identifier 1278614 1278658 + EqualsToken 1278658 1278660 + CallExpression 1278660 1278693 + Identifier 1278660 1278667 + Identifier 1278668 1278686 + Identifier 1278687 1278692 + VariableStatement 1278813 1278956 + VariableDeclarationList 1278813 1278955 + VariableDeclaration 1278832 1278955 + Identifier 1278832 1278837 + CallExpression 1278839 1278955 + Identifier 1278839 1278879 + CallExpression 1278880 1278911 + Identifier 1278880 1278899 + NonNullExpression 1278900 1278910 + Identifier 1278900 1278909 + NonNullExpression 1278912 1278923 + Identifier 1278912 1278922 + Identifier 1278924 1278934 + Identifier 1278935 1278954 + IfStatement 1278956 1279058 + Identifier 1278974 1278985 + Block 1278986 1279058 + ExpressionStatement 1278988 1279043 + CallExpression 1278988 1279042 + Identifier 1278988 1279020 + Identifier 1279021 1279025 + SpreadElement 1279026 1279041 + Identifier 1279030 1279041 + IfStatement 1279058 1279211 + Identifier 1279076 1279096 + Block 1279097 1279211 + ExpressionStatement 1279099 1279196 + CallExpression 1279099 1279195 + PropertyAccessExpression 1279099 1279189 + ParenthesizedExpression 1279099 1279184 + BinaryExpression 1279118 1279183 + PropertyAccessExpression 1279118 1279145 + Identifier 1279118 1279138 + Identifier 1279139 1279145 + BarBarToken 1279145 1279148 + ParenthesizedExpression 1279148 1279183 + BinaryExpression 1279150 1279182 + PropertyAccessExpression 1279150 1279177 + Identifier 1279150 1279170 + Identifier 1279171 1279177 + EqualsToken 1279177 1279179 + ArrayLiteralExpression 1279179 1279182 + Identifier 1279185 1279189 + Identifier 1279190 1279194 + IfStatement 1279211 1279345 + BinaryExpression 1279229 1279287 + PrefixUnaryExpression 1279229 1279250 + Identifier 1279230 1279250 + BarBarToken 1279250 1279253 + PrefixUnaryExpression 1279253 1279287 + PropertyAccessExpression 1279255 1279287 + Identifier 1279255 1279275 + Identifier 1279276 1279287 + Block 1279288 1279345 + ExpressionStatement 1279290 1279330 + CallExpression 1279290 1279329 + PropertyAccessExpression 1279290 1279323 + Identifier 1279290 1279319 + Identifier 1279320 1279323 + Identifier 1279324 1279328 + IfStatement 1279356 1279585 + BinaryExpression 1279370 1279467 + BinaryExpression 1279370 1279439 + BinaryExpression 1279370 1279403 + Identifier 1279370 1279379 + AmpersandAmpersandToken 1279379 1279382 + Identifier 1279382 1279403 + AmpersandAmpersandToken 1279403 1279406 + PropertyAccessExpression 1279406 1279439 + Identifier 1279406 1279427 + Identifier 1279428 1279439 + AmpersandAmpersandToken 1279439 1279442 + BinaryExpression 1279442 1279467 + Identifier 1279442 1279449 + EqualsEqualsEqualsToken 1279449 1279453 + PropertyAccessExpression 1279453 1279467 + Identifier 1279453 1279461 + Identifier 1279462 1279467 + Block 1279468 1279585 + ExpressionStatement 1279470 1279574 + CallExpression 1279470 1279573 + PropertyAccessExpression 1279470 1279496 + Identifier 1279470 1279489 + Identifier 1279490 1279496 + PrefixUnaryExpression 1279497 1279526 + PrefixUnaryExpression 1279498 1279526 + PropertyAccessExpression 1279499 1279526 + Identifier 1279499 1279519 + Identifier 1279520 1279526 + StringLiteral 1279527 1279572 + ReturnStatement 1279585 1279629 + BinaryExpression 1279603 1279628 + Identifier 1279603 1279610 + ExclamationEqualsEqualsToken 1279610 1279614 + PropertyAccessExpression 1279614 1279628 + Identifier 1279614 1279622 + Identifier 1279623 1279628 + FunctionDeclaration 1279629 1280057 + Identifier 1279649 1279664 + Parameter 1279665 1279719 + Identifier 1279665 1279670 + TypeReference 1279671 1279719 + Identifier 1279671 1279682 + TypeQuery 1279683 1279718 + Identifier 1279689 1279718 + Block 1279720 1280057 + ExpressionStatement 1279722 1279764 + BinaryExpression 1279722 1279763 + Identifier 1279722 1279745 + EqualsToken 1279745 1279747 + PropertyAccessExpression 1279747 1279763 + Identifier 1279747 1279753 + Identifier 1279754 1279763 + ExpressionStatement 1279764 1279818 + BinaryExpression 1279764 1279817 + Identifier 1279764 1279793 + EqualsToken 1279793 1279795 + PropertyAccessExpression 1279795 1279817 + Identifier 1279795 1279801 + Identifier 1279802 1279817 + ExpressionStatement 1279818 1279876 + BinaryExpression 1279818 1279875 + Identifier 1279818 1279849 + EqualsToken 1279849 1279851 + PropertyAccessExpression 1279851 1279875 + Identifier 1279851 1279857 + Identifier 1279858 1279875 + ExpressionStatement 1279876 1279942 + BinaryExpression 1279876 1279941 + Identifier 1279876 1279911 + EqualsToken 1279911 1279913 + PropertyAccessExpression 1279913 1279941 + Identifier 1279913 1279919 + Identifier 1279920 1279941 + ExpressionStatement 1279942 1280000 + BinaryExpression 1279942 1279999 + Identifier 1279942 1279973 + EqualsToken 1279973 1279975 + PropertyAccessExpression 1279975 1279999 + Identifier 1279975 1279981 + Identifier 1279982 1279999 + ExpressionStatement 1280000 1280046 + BinaryExpression 1280000 1280045 + Identifier 1280000 1280025 + EqualsToken 1280025 1280027 + PropertyAccessExpression 1280027 1280045 + Identifier 1280027 1280033 + Identifier 1280034 1280045 + FunctionDeclaration 1280057 1280494 + Identifier 1280077 1280106 + Block 1280108 1280494 + ReturnStatement 1280110 1280483 + ObjectLiteralExpression 1280130 1280482 + ShorthandPropertyAssignment 1280132 1280159 + Identifier 1280132 1280159 + ShorthandPropertyAssignment 1280160 1280193 + Identifier 1280160 1280193 + PropertyAssignment 1280194 1280257 + Identifier 1280194 1280229 + CallExpression 1280230 1280257 + PropertyAccessExpression 1280230 1280255 + Identifier 1280230 1280248 + QuestionDotToken 1280248 1280250 + Identifier 1280250 1280255 + ShorthandPropertyAssignment 1280258 1280297 + Identifier 1280258 1280297 + ShorthandPropertyAssignment 1280298 1280333 + Identifier 1280298 1280333 + PropertyAssignment 1280334 1280466 + Identifier 1280334 1280363 + AsExpression 1280364 1280466 + CallExpression 1280364 1280385 + PropertyAccessExpression 1280364 1280383 + Identifier 1280364 1280376 + QuestionDotToken 1280376 1280378 + Identifier 1280378 1280383 + UnionType 1280388 1280466 + TupleType 1280388 1280454 + TypeReference 1280390 1280418 + Identifier 1280390 1280418 + RestType 1280419 1280453 + ArrayType 1280423 1280453 + TypeReference 1280423 1280451 + Identifier 1280423 1280451 + UndefinedKeyword 1280456 1280466 + FunctionDeclaration 1280494 1280819 + Identifier 1280514 1280538 + Parameter 1280539 1280565 + Identifier 1280539 1280546 + TypeReference 1280547 1280565 + Identifier 1280547 1280565 + Parameter 1280566 1280595 + DotDotDotToken 1280566 1280570 + Identifier 1280570 1280574 + TypeReference 1280575 1280595 + Identifier 1280575 1280595 + Block 1280596 1280819 + ExpressionStatement 1280598 1280636 + PostfixUnaryExpression 1280598 1280635 + Identifier 1280598 1280633 + ExpressionStatement 1280636 1280714 + BinaryExpression 1280636 1280713 + Identifier 1280636 1280701 + EqualsToken 1280701 1280703 + Identifier 1280703 1280713 + ExpressionStatement 1280714 1280808 + CallExpression 1280714 1280807 + PropertyAccessExpression 1280714 1280787 + ParenthesizedExpression 1280714 1280782 + BinaryExpression 1280757 1280781 + Identifier 1280757 1280774 + BarBarEqualsToken 1280774 1280778 + ArrayLiteralExpression 1280778 1280781 + Identifier 1280783 1280787 + ArrayLiteralExpression 1280788 1280806 + Identifier 1280789 1280796 + SpreadElement 1280797 1280805 + Identifier 1280801 1280805 + FunctionDeclaration 1280819 1287467 + Identifier 1280839 1280863 + Block 1280865 1287467 + VariableStatement 1280867 1280919 + VariableDeclarationList 1280867 1280918 + VariableDeclaration 1280886 1280918 + Identifier 1280886 1280892 + BinaryExpression 1280894 1280918 + Identifier 1280894 1280912 + BarBarToken 1280912 1280915 + ArrayLiteralExpression 1280915 1280918 + ExpressionStatement 1280919 1280963 + BinaryExpression 1280919 1280962 + Identifier 1280919 1280950 + EqualsToken 1280950 1280952 + Identifier 1280952 1280962 + VariableStatement 1280963 1281006 + VariableDeclarationList 1280963 1281005 + VariableDeclaration 1280982 1281005 + Identifier 1280982 1280987 + Identifier 1280989 1281005 + ExpressionStatement 1281006 1281048 + BinaryExpression 1281006 1281047 + Identifier 1281006 1281035 + EqualsToken 1281035 1281037 + Identifier 1281037 1281047 + IfStatement 1281048 1281352 + BinaryExpression 1281066 1281084 + PropertyAccessExpression 1281066 1281078 + Identifier 1281066 1281071 + Identifier 1281072 1281078 + EqualsEqualsEqualsToken 1281078 1281082 + NumericLiteral 1281082 1281084 + Block 1281085 1281352 + ExpressionStatement 1281087 1281130 + CallExpression 1281087 1281129 + Identifier 1281087 1281116 + SpreadElement 1281117 1281128 + ElementAccessExpression 1281120 1281128 + Identifier 1281120 1281125 + NumericLiteral 1281126 1281127 + IfStatement 1281130 1281312 + Identifier 1281152 1281156 + Block 1281157 1281312 + ExpressionStatement 1281159 1281293 + CallExpression 1281159 1281292 + Identifier 1281159 1281260 + Identifier 1281261 1281282 + SpreadElement 1281283 1281291 + Identifier 1281287 1281291 + ReturnStatement 1281312 1281337 + VariableStatement 1281352 1281549 + VariableDeclarationList 1281352 1281548 + VariableDeclaration 1281538 1281548 + Identifier 1281538 1281543 + StringLiteral 1281545 1281548 + VariableStatement 1281549 1281620 + VariableDeclarationList 1281549 1281619 + VariableDeclaration 1281568 1281619 + Identifier 1281568 1281588 + ArrayType 1281589 1281614 + TypeReference 1281589 1281612 + Identifier 1281589 1281612 + ArrayLiteralExpression 1281616 1281619 + WhileStatement 1281620 1286327 + PropertyAccessExpression 1281641 1281653 + Identifier 1281641 1281646 + Identifier 1281647 1281653 + Block 1281654 1286327 + VariableStatement 1281656 1281710 + VariableDeclarationList 1281656 1281709 + VariableDeclaration 1281679 1281709 + ArrayBindingPattern 1281679 1281694 + BindingElement 1281681 1281684 + Identifier 1281681 1281684 + BindingElement 1281685 1281693 + DotDotDotToken 1281685 1281689 + Identifier 1281689 1281693 + NonNullExpression 1281696 1281709 + CallExpression 1281696 1281708 + PropertyAccessExpression 1281696 1281706 + Identifier 1281696 1281702 + Identifier 1281703 1281706 + SwitchStatement 1281710 1286312 + PropertyAccessExpression 1281736 1281744 + Identifier 1281736 1281739 + Identifier 1281740 1281744 + CaseBlock 1281745 1286312 + CaseClause 1281747 1283063 + PropertyAccessExpression 1281773 1281827 + PropertyAccessExpression 1281773 1281822 + Identifier 1281773 1281785 + Identifier 1281786 1281822 + Identifier 1281823 1281827 + Block 1281828 1283063 + IfStatement 1281830 1282030 + BinaryExpression 1281925 1281951 + CallExpression 1281925 1281945 + PropertyAccessExpression 1281925 1281937 + Identifier 1281925 1281929 + Identifier 1281930 1281937 + StringLiteral 1281938 1281944 + EqualsEqualsEqualsToken 1281945 1281949 + NumericLiteral 1281949 1281951 + Block 1281952 1282030 + ExpressionStatement 1281954 1282003 + BinaryExpression 1281954 1282002 + Identifier 1281954 1281988 + EqualsToken 1281988 1281990 + TemplateExpression 1281990 1282002 + TemplateHead 1281990 1281995 + TemplateSpan 1281995 1282002 + Identifier 1281995 1281999 + TemplateTail 1281999 1282002 + VariableStatement 1282030 1282081 + VariableDeclarationList 1282030 1282080 + VariableDeclaration 1282061 1282080 + Identifier 1282061 1282065 + BinaryExpression 1282067 1282080 + StringLiteral 1282067 1282070 + PlusToken 1282070 1282072 + ElementAccessExpression 1282072 1282080 + Identifier 1282072 1282077 + NumericLiteral 1282078 1282079 + IfStatement 1282081 1283008 + BinaryExpression 1282220 1282237 + PropertyAccessExpression 1282220 1282231 + Identifier 1282220 1282224 + Identifier 1282225 1282231 + EqualsEqualsEqualsToken 1282231 1282235 + NumericLiteral 1282235 1282237 + Block 1282238 1282313 + ExpressionStatement 1282240 1282286 + BinaryExpression 1282240 1282285 + Identifier 1282240 1282274 + EqualsToken 1282274 1282276 + TemplateExpression 1282276 1282285 + TemplateHead 1282276 1282280 + TemplateSpan 1282280 1282285 + Identifier 1282280 1282283 + TemplateTail 1282283 1282285 + IfStatement 1282413 1283008 + CallExpression 1282418 1282477 + Identifier 1282418 1282434 + Identifier 1282435 1282438 + CallExpression 1282439 1282476 + Identifier 1282439 1282459 + Identifier 1282460 1282475 + Block 1282478 1282561 + ExpressionStatement 1282480 1282534 + BinaryExpression 1282480 1282533 + Identifier 1282480 1282514 + EqualsToken 1282514 1282516 + TemplateExpression 1282516 1282533 + TemplateHead 1282516 1282520 + TemplateSpan 1282520 1282528 + Identifier 1282520 1282524 + TemplateMiddle 1282524 1282528 + TemplateSpan 1282528 1282533 + Identifier 1282528 1282531 + TemplateTail 1282531 1282533 + IfStatement 1282678 1283008 + BinaryExpression 1282683 1282728 + BinaryExpression 1282683 1282697 + ElementAccessExpression 1282683 1282689 + Identifier 1282683 1282686 + NumericLiteral 1282687 1282688 + EqualsEqualsEqualsToken 1282689 1282693 + StringLiteral 1282693 1282697 + AmpersandAmpersandToken 1282697 1282700 + BinaryExpression 1282700 1282728 + ElementAccessExpression 1282700 1282720 + Identifier 1282700 1282704 + BinaryExpression 1282705 1282719 + PropertyAccessExpression 1282705 1282715 + Identifier 1282705 1282708 + Identifier 1282709 1282715 + MinusToken 1282715 1282717 + NumericLiteral 1282717 1282719 + EqualsEqualsEqualsToken 1282720 1282724 + StringLiteral 1282724 1282728 + Block 1282729 1282811 + ExpressionStatement 1282731 1282784 + BinaryExpression 1282731 1282783 + Identifier 1282731 1282765 + EqualsToken 1282765 1282767 + TemplateExpression 1282767 1282783 + TemplateHead 1282767 1282771 + TemplateSpan 1282771 1282778 + Identifier 1282771 1282775 + TemplateMiddle 1282775 1282778 + TemplateSpan 1282778 1282783 + Identifier 1282778 1282781 + TemplateTail 1282781 1282783 + Block 1282924 1283008 + ExpressionStatement 1282926 1282981 + BinaryExpression 1282926 1282980 + Identifier 1282926 1282960 + EqualsToken 1282960 1282962 + TemplateExpression 1282962 1282980 + TemplateHead 1282962 1282966 + TemplateSpan 1282966 1282974 + Identifier 1282966 1282970 + TemplateMiddle 1282970 1282974 + TemplateSpan 1282974 1282980 + Identifier 1282974 1282977 + TemplateTail 1282977 1282980 + BreakStatement 1283008 1283040 + CaseClause 1283063 1283160 + PropertyAccessExpression 1283089 1283159 + PropertyAccessExpression 1283089 1283154 + Identifier 1283089 1283101 + Identifier 1283102 1283154 + Identifier 1283155 1283159 + CaseClause 1283160 1283262 + PropertyAccessExpression 1283186 1283261 + PropertyAccessExpression 1283186 1283256 + Identifier 1283186 1283198 + Identifier 1283199 1283256 + Identifier 1283257 1283261 + CaseClause 1283262 1283379 + PropertyAccessExpression 1283288 1283378 + PropertyAccessExpression 1283288 1283373 + Identifier 1283288 1283300 + Identifier 1283301 1283373 + Identifier 1283374 1283378 + CaseClause 1283379 1285451 + PropertyAccessExpression 1283405 1283500 + PropertyAccessExpression 1283405 1283495 + Identifier 1283405 1283417 + Identifier 1283418 1283495 + Identifier 1283496 1283500 + Block 1283501 1285451 + IfStatement 1283503 1285396 + BinaryExpression 1283533 1283550 + PropertyAccessExpression 1283533 1283544 + Identifier 1283533 1283537 + Identifier 1283538 1283544 + EqualsEqualsEqualsToken 1283544 1283548 + NumericLiteral 1283548 1283550 + Block 1283551 1284530 + VariableStatement 1283553 1283837 + VariableDeclarationList 1283553 1283836 + VariableDeclaration 1283820 1283836 + Identifier 1283820 1283830 + Identifier 1283832 1283836 + IfStatement 1283837 1284414 + BinaryExpression 1283871 1283973 + PropertyAccessExpression 1283871 1283879 + Identifier 1283871 1283874 + Identifier 1283875 1283879 + EqualsEqualsEqualsToken 1283879 1283883 + PropertyAccessExpression 1283883 1283973 + PropertyAccessExpression 1283883 1283968 + Identifier 1283883 1283895 + Identifier 1283896 1283968 + Identifier 1283969 1283973 + Block 1283974 1284118 + ExpressionStatement 1283976 1284087 + BinaryExpression 1283976 1284086 + Identifier 1283976 1284019 + EqualsToken 1284019 1284021 + PropertyAccessExpression 1284021 1284086 + Identifier 1284021 1284033 + Identifier 1284034 1284086 + IfStatement 1284152 1284414 + BinaryExpression 1284157 1284264 + PropertyAccessExpression 1284157 1284165 + Identifier 1284157 1284160 + Identifier 1284161 1284165 + EqualsEqualsEqualsToken 1284165 1284169 + PropertyAccessExpression 1284169 1284264 + PropertyAccessExpression 1284169 1284259 + Identifier 1284169 1284181 + Identifier 1284182 1284259 + Identifier 1284260 1284264 + Block 1284265 1284414 + ExpressionStatement 1284267 1284383 + BinaryExpression 1284267 1284382 + Identifier 1284267 1284310 + EqualsToken 1284310 1284312 + PropertyAccessExpression 1284312 1284382 + Identifier 1284312 1284324 + Identifier 1284325 1284382 + ExpressionStatement 1284414 1284503 + CallExpression 1284414 1284502 + PropertyAccessExpression 1284414 1284471 + Identifier 1284414 1284463 + Identifier 1284464 1284471 + ArrayLiteralExpression 1284472 1284501 + Identifier 1284473 1284482 + ElementAccessExpression 1284483 1284491 + Identifier 1284483 1284488 + NumericLiteral 1284489 1284490 + ElementAccessExpression 1284492 1284500 + Identifier 1284492 1284497 + NumericLiteral 1284498 1284499 + Block 1284560 1285396 + VariableStatement 1284562 1284925 + VariableDeclarationList 1284562 1284924 + VariableDeclaration 1284597 1284924 + Identifier 1284597 1284604 + ConditionalExpression 1284606 1284924 + ParenthesizedExpression 1284606 1284844 + BinaryExpression 1284608 1284843 + BinaryExpression 1284608 1284695 + PropertyAccessExpression 1284608 1284616 + Identifier 1284608 1284611 + Identifier 1284612 1284616 + EqualsEqualsEqualsToken 1284616 1284620 + PropertyAccessExpression 1284620 1284695 + PropertyAccessExpression 1284620 1284690 + Identifier 1284620 1284632 + Identifier 1284633 1284690 + Identifier 1284691 1284695 + BarBarToken 1284695 1284698 + BinaryExpression 1284698 1284843 + PropertyAccessExpression 1284698 1284744 + Identifier 1284698 1284739 + Identifier 1284740 1284744 + EqualsEqualsEqualsToken 1284744 1284748 + PropertyAccessExpression 1284748 1284843 + PropertyAccessExpression 1284748 1284838 + Identifier 1284748 1284760 + Identifier 1284761 1284838 + Identifier 1284839 1284843 + QuestionToken 1284844 1284879 + StringLiteral 1284879 1284886 + ColonToken 1284886 1284921 + StringLiteral 1284921 1284924 + VariableStatement 1284925 1285302 + VariableDeclarationList 1284925 1285301 + VariableDeclaration 1284960 1285301 + Identifier 1284960 1284967 + ConditionalExpression 1284969 1285301 + ParenthesizedExpression 1284969 1285222 + BinaryExpression 1284971 1285221 + BinaryExpression 1284971 1285073 + PropertyAccessExpression 1284971 1284979 + Identifier 1284971 1284974 + Identifier 1284975 1284979 + EqualsEqualsEqualsToken 1284979 1284983 + PropertyAccessExpression 1284983 1285073 + PropertyAccessExpression 1284983 1285068 + Identifier 1284983 1284995 + Identifier 1284996 1285068 + Identifier 1285069 1285073 + BarBarToken 1285073 1285076 + BinaryExpression 1285076 1285221 + PropertyAccessExpression 1285076 1285122 + Identifier 1285076 1285117 + Identifier 1285118 1285122 + EqualsEqualsEqualsToken 1285122 1285126 + PropertyAccessExpression 1285126 1285221 + PropertyAccessExpression 1285126 1285216 + Identifier 1285126 1285138 + Identifier 1285139 1285216 + Identifier 1285217 1285221 + QuestionToken 1285222 1285257 + StringLiteral 1285257 1285260 + ColonToken 1285260 1285295 + StringLiteral 1285295 1285301 + ExpressionStatement 1285302 1285369 + BinaryExpression 1285302 1285368 + Identifier 1285302 1285336 + EqualsToken 1285336 1285338 + TemplateExpression 1285338 1285368 + TemplateHead 1285338 1285342 + TemplateSpan 1285342 1285351 + Identifier 1285342 1285348 + TemplateMiddle 1285348 1285351 + TemplateSpan 1285351 1285359 + Identifier 1285351 1285355 + TemplateMiddle 1285355 1285359 + TemplateSpan 1285359 1285368 + Identifier 1285359 1285365 + TemplateTail 1285365 1285368 + BreakStatement 1285396 1285428 + CaseClause 1285451 1285801 + PropertyAccessExpression 1285477 1285575 + PropertyAccessExpression 1285477 1285570 + Identifier 1285477 1285489 + Identifier 1285490 1285570 + Identifier 1285571 1285575 + Block 1285576 1285801 + ExpressionStatement 1285578 1285746 + CallExpression 1285578 1285745 + PropertyAccessExpression 1285578 1285631 + Identifier 1285578 1285623 + Identifier 1285624 1285631 + ArrayLiteralExpression 1285632 1285744 + PropertyAccessExpression 1285633 1285725 + Identifier 1285633 1285644 + Identifier 1285645 1285725 + ElementAccessExpression 1285726 1285734 + Identifier 1285726 1285731 + NumericLiteral 1285732 1285733 + ElementAccessExpression 1285735 1285743 + Identifier 1285735 1285740 + NumericLiteral 1285741 1285742 + BreakStatement 1285746 1285778 + CaseClause 1285801 1286182 + PropertyAccessExpression 1285827 1285936 + PropertyAccessExpression 1285827 1285931 + Identifier 1285827 1285839 + Identifier 1285840 1285931 + Identifier 1285932 1285936 + Block 1285937 1286182 + ExpressionStatement 1285939 1286127 + CallExpression 1285939 1286126 + PropertyAccessExpression 1285939 1285992 + Identifier 1285939 1285984 + Identifier 1285985 1285992 + ArrayLiteralExpression 1285993 1286125 + PropertyAccessExpression 1285994 1286097 + Identifier 1285994 1286005 + Identifier 1286006 1286097 + ElementAccessExpression 1286098 1286106 + Identifier 1286098 1286103 + NumericLiteral 1286104 1286105 + ElementAccessExpression 1286107 1286115 + Identifier 1286107 1286112 + NumericLiteral 1286113 1286114 + ElementAccessExpression 1286116 1286124 + Identifier 1286116 1286121 + NumericLiteral 1286122 1286123 + BreakStatement 1286127 1286159 + DefaultClause 1286182 1286293 + ReturnStatement 1286212 1286293 + CallExpression 1286244 1286292 + PropertyAccessExpression 1286244 1286255 + Identifier 1286244 1286250 + Identifier 1286251 1286255 + TemplateExpression 1286256 1286291 + TemplateHead 1286256 1286281 + TemplateSpan 1286281 1286291 + PropertyAccessExpression 1286281 1286289 + Identifier 1286281 1286284 + Identifier 1286285 1286289 + TemplateTail 1286289 1286291 + IfStatement 1286327 1286907 + Identifier 1286345 1286349 + Block 1286350 1286687 + ExpressionStatement 1286352 1286672 + CallExpression 1286352 1286671 + Identifier 1286352 1286381 + ConditionalExpression 1286382 1286624 + BinaryExpression 1286382 1286433 + ElementAccessExpression 1286382 1286425 + Identifier 1286382 1286408 + BinaryExpression 1286409 1286424 + PropertyAccessExpression 1286409 1286420 + Identifier 1286409 1286413 + Identifier 1286414 1286420 + MinusToken 1286420 1286422 + NumericLiteral 1286422 1286424 + EqualsEqualsEqualsToken 1286425 1286429 + StringLiteral 1286429 1286433 + QuestionToken 1286433 1286460 + PropertyAccessExpression 1286460 1286533 + Identifier 1286460 1286472 + Identifier 1286473 1286533 + ColonToken 1286533 1286560 + PropertyAccessExpression 1286560 1286624 + Identifier 1286560 1286572 + Identifier 1286573 1286624 + Identifier 1286625 1286651 + Block 1286705 1286907 + ExpressionStatement 1286707 1286892 + CallExpression 1286707 1286891 + PropertyAccessExpression 1286707 1286889 + Identifier 1286707 1286883 + Identifier 1286884 1286889 + ForOfStatement 1286907 1287290 + VariableDeclarationList 1286926 1286946 + VariableDeclaration 1286931 1286946 + ArrayBindingPattern 1286931 1286946 + BindingElement 1286933 1286936 + Identifier 1286933 1286936 + BindingElement 1286937 1286945 + DotDotDotToken 1286937 1286941 + Identifier 1286941 1286945 + Identifier 1286949 1286969 + Block 1286970 1287290 + VariableStatement 1286972 1287045 + VariableDeclarationList 1286972 1287044 + VariableDeclaration 1286995 1287044 + Identifier 1286995 1287009 + PropertyAccessExpression 1287011 1287044 + Identifier 1287011 1287015 + Identifier 1287016 1287044 + ExpressionStatement 1287045 1287104 + BinaryExpression 1287045 1287103 + PropertyAccessExpression 1287045 1287095 + Identifier 1287045 1287066 + Identifier 1287067 1287095 + EqualsToken 1287095 1287097 + FalseKeyword 1287097 1287103 + ExpressionStatement 1287104 1287208 + CallExpression 1287104 1287207 + Identifier 1287104 1287193 + Identifier 1287194 1287197 + SpreadElement 1287198 1287206 + Identifier 1287202 1287206 + ExpressionStatement 1287208 1287275 + BinaryExpression 1287208 1287274 + PropertyAccessExpression 1287208 1287258 + Identifier 1287208 1287229 + Identifier 1287230 1287258 + EqualsToken 1287258 1287260 + Identifier 1287260 1287274 + IfStatement 1287290 1287456 + Identifier 1287308 1287312 + Block 1287313 1287456 + ExpressionStatement 1287315 1287441 + CallExpression 1287315 1287440 + Identifier 1287315 1287408 + Identifier 1287409 1287430 + SpreadElement 1287431 1287439 + Identifier 1287435 1287439 + FunctionDeclaration 1287467 1287957 + Identifier 1287487 1287499 + Parameter 1287500 1287526 + Identifier 1287500 1287507 + TypeReference 1287508 1287526 + Identifier 1287508 1287526 + Parameter 1287527 1287556 + DotDotDotToken 1287527 1287531 + Identifier 1287531 1287535 + TypeReference 1287536 1287556 + Identifier 1287536 1287556 + VoidKeyword 1287558 1287563 + Block 1287563 1287957 + ExpressionStatement 1287565 1287605 + CallExpression 1287565 1287604 + PropertyAccessExpression 1287565 1287591 + Identifier 1287565 1287584 + Identifier 1287585 1287591 + PrefixUnaryExpression 1287592 1287603 + PrefixUnaryExpression 1287593 1287603 + Identifier 1287594 1287603 + IfStatement 1287605 1287668 + Identifier 1287623 1287640 + ExpressionStatement 1287641 1287668 + CallExpression 1287641 1287667 + Identifier 1287641 1287665 + IfStatement 1287668 1287731 + PropertyAccessExpression 1287686 1287722 + Identifier 1287686 1287693 + Identifier 1287694 1287722 + ReturnStatement 1287723 1287731 + IfStatement 1287731 1287946 + BinaryExpression 1287749 1287772 + Identifier 1287749 1287766 + EqualsEqualsEqualsToken 1287766 1287770 + NumericLiteral 1287770 1287772 + Block 1287773 1287873 + ExpressionStatement 1287775 1287858 + BinaryExpression 1287775 1287857 + Identifier 1287775 1287802 + EqualsToken 1287802 1287804 + CallExpression 1287804 1287857 + Identifier 1287804 1287828 + Identifier 1287829 1287838 + Identifier 1287839 1287847 + SpreadElement 1287848 1287856 + Identifier 1287852 1287856 + Block 1287891 1287946 + ExpressionStatement 1287893 1287931 + PostfixUnaryExpression 1287893 1287930 + Identifier 1287893 1287928 + FunctionDeclaration 1287957 1288157 + Identifier 1287977 1288002 + Parameter 1288003 1288029 + Identifier 1288003 1288010 + TypeReference 1288011 1288029 + Identifier 1288011 1288029 + Parameter 1288030 1288059 + DotDotDotToken 1288030 1288034 + Identifier 1288034 1288038 + TypeReference 1288039 1288059 + Identifier 1288039 1288059 + VoidKeyword 1288061 1288066 + Block 1288066 1288157 + ExpressionStatement 1288068 1288112 + CallExpression 1288068 1288111 + Identifier 1288068 1288093 + Identifier 1288094 1288101 + SpreadElement 1288102 1288110 + Identifier 1288106 1288110 + ExpressionStatement 1288112 1288146 + PostfixUnaryExpression 1288112 1288145 + Identifier 1288112 1288143 + FunctionDeclaration 1288157 1288450 + Identifier 1288177 1288198 + Parameter 1288199 1288233 + Identifier 1288199 1288203 + TypeReference 1288204 1288233 + Identifier 1288204 1288233 + Block 1288234 1288450 + ExpressionStatement 1288236 1288276 + CallExpression 1288236 1288275 + PropertyAccessExpression 1288236 1288262 + Identifier 1288236 1288255 + Identifier 1288256 1288262 + PrefixUnaryExpression 1288263 1288274 + PrefixUnaryExpression 1288264 1288274 + Identifier 1288265 1288274 + IfStatement 1288276 1288439 + PrefixUnaryExpression 1288294 1288306 + Identifier 1288295 1288306 + Block 1288307 1288363 + ExpressionStatement 1288309 1288348 + BinaryExpression 1288309 1288347 + Identifier 1288309 1288338 + EqualsToken 1288338 1288340 + ArrayLiteralExpression 1288340 1288347 + Identifier 1288342 1288346 + Block 1288381 1288439 + ExpressionStatement 1288383 1288424 + CallExpression 1288383 1288423 + PropertyAccessExpression 1288383 1288417 + Identifier 1288383 1288412 + Identifier 1288413 1288417 + Identifier 1288418 1288422 + FunctionDeclaration 1288450 1292900 + Identifier 1288470 1288490 + Parameter 1288491 1288529 + Identifier 1288491 1288498 + UnionType 1288499 1288529 + TypeReference 1288499 1288517 + Identifier 1288499 1288517 + UndefinedKeyword 1288519 1288529 + Parameter 1288530 1288543 + Identifier 1288530 1288537 + TypeReference 1288538 1288543 + Identifier 1288538 1288543 + Parameter 1288544 1288557 + Identifier 1288544 1288551 + TypeReference 1288552 1288557 + Identifier 1288552 1288557 + Block 1288558 1292900 + IfStatement 1288560 1288623 + Identifier 1288578 1288595 + ExpressionStatement 1288596 1288623 + CallExpression 1288596 1288622 + Identifier 1288596 1288620 + VariableStatement 1288623 1288714 + VariableDeclarationList 1288623 1288713 + VariableDeclaration 1288642 1288713 + ArrayBindingPattern 1288642 1288667 + BindingElement 1288644 1288654 + Identifier 1288644 1288654 + BindingElement 1288655 1288666 + Identifier 1288655 1288666 + CallExpression 1288669 1288713 + Identifier 1288669 1288697 + Identifier 1288698 1288704 + Identifier 1288705 1288712 + VariableStatement 1288714 1288759 + VariableDeclarationList 1288714 1288758 + VariableDeclaration 1288731 1288758 + Identifier 1288731 1288749 + Identifier 1288751 1288758 + VariableStatement 1288759 1288812 + VariableDeclarationList 1288759 1288811 + VariableDeclaration 1288776 1288811 + Identifier 1288776 1288798 + Identifier 1288800 1288811 + IfStatement 1288812 1289385 + BinaryExpression 1288977 1289083 + BinaryExpression 1288977 1289035 + PrefixUnaryExpression 1288977 1289010 + ParenthesizedExpression 1288978 1289010 + BinaryExpression 1288979 1289009 + PropertyAccessExpression 1288979 1288991 + Identifier 1288979 1288985 + Identifier 1288986 1288991 + AmpersandToken 1288991 1288993 + PropertyAccessExpression 1288993 1289009 + Identifier 1288993 1289003 + Identifier 1289004 1289009 + AmpersandAmpersandToken 1289010 1289013 + CallExpression 1289013 1289035 + Identifier 1289013 1289027 + Identifier 1289028 1289034 + AmpersandAmpersandToken 1289035 1289038 + PrefixUnaryExpression 1289038 1289083 + CallExpression 1289040 1289083 + Identifier 1289040 1289075 + Identifier 1289076 1289082 + Block 1289084 1289385 + ExpressionStatement 1289086 1289157 + BinaryExpression 1289086 1289156 + Identifier 1289086 1289121 + EqualsToken 1289121 1289123 + CallExpression 1289123 1289156 + Identifier 1289123 1289148 + Identifier 1289149 1289155 + ExpressionStatement 1289157 1289282 + CallExpression 1289157 1289281 + PropertyAccessExpression 1289157 1289187 + Identifier 1289157 1289180 + Identifier 1289181 1289187 + PrefixUnaryExpression 1289188 1289234 + CallExpression 1289189 1289234 + Identifier 1289189 1289207 + Identifier 1289208 1289225 + Identifier 1289226 1289233 + StringLiteral 1289235 1289280 + ExpressionStatement 1289282 1289370 + BinaryExpression 1289282 1289369 + Identifier 1289282 1289321 + EqualsToken 1289321 1289323 + CallExpression 1289323 1289369 + Identifier 1289323 1289350 + Identifier 1289351 1289368 + VariableStatement 1289385 1289745 + VariableDeclarationList 1289385 1289744 + VariableDeclaration 1289548 1289744 + Identifier 1289548 1289560 + ConditionalExpression 1289562 1289744 + BinaryExpression 1289562 1289646 + BinaryExpression 1289562 1289601 + PropertyAccessExpression 1289562 1289575 + Identifier 1289562 1289569 + Identifier 1289570 1289575 + AmpersandToken 1289575 1289577 + PropertyAccessExpression 1289577 1289601 + Identifier 1289577 1289587 + Identifier 1289588 1289601 + AmpersandAmpersandToken 1289601 1289604 + PrefixUnaryExpression 1289604 1289646 + ParenthesizedExpression 1289606 1289646 + BinaryExpression 1289607 1289645 + PropertyAccessExpression 1289607 1289619 + Identifier 1289607 1289613 + Identifier 1289614 1289619 + AmpersandToken 1289619 1289621 + PropertyAccessExpression 1289621 1289645 + Identifier 1289621 1289631 + Identifier 1289632 1289645 + QuestionToken 1289646 1289648 + PropertyAccessExpression 1289648 1289712 + PropertyAccessExpression 1289648 1289706 + ParenthesizedExpression 1289648 1289695 + AsExpression 1289667 1289694 + Identifier 1289667 1289673 + TypeReference 1289676 1289694 + Identifier 1289676 1289694 + Identifier 1289696 1289706 + Identifier 1289707 1289712 + ColonToken 1289712 1289714 + PropertyAccessExpression 1289714 1289744 + Identifier 1289714 1289738 + Identifier 1289739 1289744 + IfStatement 1289745 1290907 + BinaryExpression 1289765 1289876 + BinaryExpression 1289765 1289840 + BinaryExpression 1289765 1289802 + Identifier 1289765 1289776 + AmpersandToken 1289776 1289778 + PropertyAccessExpression 1289778 1289802 + Identifier 1289778 1289788 + Identifier 1289789 1289802 + AmpersandAmpersandToken 1289802 1289805 + BinaryExpression 1289805 1289840 + Identifier 1289805 1289812 + ExclamationEqualsEqualsToken 1289812 1289816 + Identifier 1289816 1289840 + AmpersandAmpersandToken 1289840 1289843 + BinaryExpression 1289843 1289876 + Identifier 1289843 1289850 + ExclamationEqualsEqualsToken 1289850 1289854 + Identifier 1289854 1289876 + Block 1289877 1290907 + VariableStatement 1289879 1289948 + VariableDeclarationList 1289879 1289947 + VariableDeclaration 1289902 1289947 + Identifier 1289902 1289913 + CallExpression 1289915 1289947 + Identifier 1289915 1289939 + Identifier 1289940 1289946 + VariableStatement 1289948 1289990 + VariableDeclarationList 1289948 1289989 + VariableDeclaration 1289969 1289989 + Identifier 1289969 1289989 + IfStatement 1289990 1290892 + BinaryExpression 1290012 1290143 + Identifier 1290012 1290022 + AmpersandAmpersandToken 1290022 1290025 + ParenthesizedExpression 1290025 1290143 + BinaryExpression 1290027 1290142 + CallExpression 1290027 1290076 + Identifier 1290027 1290045 + Identifier 1290046 1290063 + Identifier 1290064 1290075 + BarBarToken 1290076 1290079 + ParenthesizedExpression 1290079 1290142 + BinaryExpression 1290081 1290141 + Identifier 1290081 1290100 + EqualsToken 1290100 1290102 + CallExpression 1290102 1290141 + Identifier 1290102 1290121 + Identifier 1290122 1290128 + Identifier 1290129 1290140 + Block 1290144 1290546 + ExpressionStatement 1290146 1290527 + CallExpression 1290146 1290526 + Identifier 1290146 1290179 + PropertyAccessExpression 1290180 1290331 + Identifier 1290180 1290217 + Identifier 1290218 1290331 + ConditionalExpression 1290332 1290414 + Identifier 1290332 1290377 + QuestionToken 1290377 1290379 + Identifier 1290379 1290390 + ColonToken 1290390 1290392 + Identifier 1290392 1290414 + Identifier 1290415 1290451 + CallExpression 1290452 1290502 + Identifier 1290452 1290490 + Identifier 1290491 1290501 + Block 1290568 1290892 + ExpressionStatement 1290570 1290614 + BinaryExpression 1290570 1290613 + Identifier 1290570 1290601 + EqualsToken 1290601 1290603 + Identifier 1290603 1290613 + ExpressionStatement 1290614 1290873 + CallExpression 1290614 1290872 + Identifier 1290614 1290647 + PropertyAccessExpression 1290648 1290763 + Identifier 1290648 1290685 + Identifier 1290686 1290763 + Identifier 1290764 1290800 + Identifier 1290801 1290848 + IfStatement 1290907 1292817 + PrefixUnaryExpression 1290927 1290935 + Identifier 1290928 1290935 + Block 1290936 1292323 + IfStatement 1290938 1292308 + BinaryExpression 1290960 1290991 + Identifier 1290960 1290968 + EqualsEqualsEqualsToken 1290968 1290972 + Identifier 1290972 1290991 + Block 1290992 1291092 + ExpressionStatement 1290994 1291073 + BinaryExpression 1290994 1291072 + Identifier 1290994 1291023 + EqualsToken 1291023 1291025 + PropertyAccessExpression 1291025 1291072 + Identifier 1291025 1291037 + Identifier 1291038 1291072 + IfStatement 1291114 1292308 + BinaryExpression 1291119 1291144 + Identifier 1291119 1291129 + EqualsEqualsEqualsToken 1291129 1291133 + Identifier 1291133 1291144 + Block 1291145 1291309 + ExpressionStatement 1291147 1291290 + BinaryExpression 1291147 1291289 + Identifier 1291147 1291176 + EqualsToken 1291176 1291178 + PropertyAccessExpression 1291178 1291289 + Identifier 1291178 1291190 + Identifier 1291191 1291289 + IfStatement 1291331 1292308 + BinaryExpression 1291336 1291427 + Identifier 1291336 1291362 + AmpersandAmpersandToken 1291362 1291365 + PropertyAccessExpression 1291365 1291427 + CallExpression 1291365 1291420 + Identifier 1291365 1291404 + Identifier 1291405 1291411 + Identifier 1291412 1291419 + Identifier 1291421 1291427 + Block 1291428 1291637 + ExpressionStatement 1291430 1291618 + BinaryExpression 1291430 1291617 + Identifier 1291430 1291459 + EqualsToken 1291459 1291461 + PropertyAccessExpression 1291461 1291617 + Identifier 1291461 1291473 + Identifier 1291474 1291617 + Block 1291659 1292308 + IfStatement 1291661 1292210 + BinaryExpression 1291687 1291759 + BinaryExpression 1291687 1291725 + PropertyAccessExpression 1291687 1291699 + Identifier 1291687 1291693 + Identifier 1291694 1291699 + AmpersandToken 1291699 1291701 + PropertyAccessExpression 1291701 1291725 + Identifier 1291701 1291711 + Identifier 1291712 1291725 + AmpersandAmpersandToken 1291725 1291728 + BinaryExpression 1291728 1291759 + PropertyAccessExpression 1291728 1291741 + Identifier 1291728 1291735 + Identifier 1291736 1291741 + AmpersandToken 1291741 1291743 + PropertyAccessExpression 1291743 1291759 + Identifier 1291743 1291753 + Identifier 1291754 1291759 + Block 1291760 1292210 + VariableStatement 1291762 1291908 + VariableDeclarationList 1291762 1291907 + VariableDeclaration 1291793 1291907 + Identifier 1291793 1291807 + CallExpression 1291809 1291907 + Identifier 1291809 1291857 + AsExpression 1291858 1291885 + Identifier 1291858 1291864 + TypeReference 1291867 1291885 + Identifier 1291867 1291885 + AsExpression 1291886 1291906 + Identifier 1291886 1291893 + TypeReference 1291896 1291906 + Identifier 1291896 1291906 + IfStatement 1291908 1292187 + Identifier 1291938 1291951 + Block 1291952 1292187 + ExpressionStatement 1291954 1292123 + CallExpression 1291954 1292122 + Identifier 1291954 1291995 + PropertyAccessExpression 1291996 1292057 + Identifier 1291996 1292007 + Identifier 1292008 1292057 + Identifier 1292058 1292080 + Identifier 1292081 1292092 + CallExpression 1292093 1292121 + Identifier 1292093 1292106 + Identifier 1292107 1292120 + ReturnStatement 1292123 1292160 + ExpressionStatement 1292210 1292289 + BinaryExpression 1292210 1292288 + Identifier 1292210 1292239 + EqualsToken 1292239 1292241 + PropertyAccessExpression 1292241 1292288 + Identifier 1292241 1292253 + Identifier 1292254 1292288 + IfStatement 1292341 1292817 + BinaryExpression 1292346 1292576 + BinaryExpression 1292346 1292494 + BinaryExpression 1292346 1292447 + Identifier 1292346 1292371 + EqualsEqualsEqualsToken 1292371 1292375 + PropertyAccessExpression 1292375 1292447 + Identifier 1292375 1292387 + Identifier 1292388 1292447 + AmpersandAmpersandToken 1292447 1292467 + Identifier 1292467 1292494 + AmpersandAmpersandToken 1292494 1292514 + PropertyAccessExpression 1292514 1292576 + CallExpression 1292514 1292569 + Identifier 1292514 1292553 + Identifier 1292554 1292560 + Identifier 1292561 1292568 + Identifier 1292570 1292576 + Block 1292591 1292817 + ExpressionStatement 1292593 1292802 + BinaryExpression 1292593 1292801 + Identifier 1292593 1292618 + EqualsToken 1292618 1292620 + PropertyAccessExpression 1292620 1292801 + Identifier 1292620 1292632 + Identifier 1292633 1292801 + ExpressionStatement 1292817 1292889 + CallExpression 1292817 1292888 + Identifier 1292817 1292844 + Identifier 1292845 1292852 + Identifier 1292853 1292875 + Identifier 1292876 1292887 + FunctionDeclaration 1292900 1293837 + Identifier 1292920 1292962 + Parameter 1292963 1292975 + Identifier 1292963 1292969 + TypeReference 1292970 1292975 + Identifier 1292970 1292975 + Parameter 1292976 1292989 + Identifier 1292976 1292983 + TypeReference 1292984 1292989 + Identifier 1292984 1292989 + Block 1292990 1293837 + VariableStatement 1292992 1293159 + VariableDeclarationList 1292992 1293158 + VariableDeclaration 1293011 1293158 + Identifier 1293011 1293022 + ConditionalExpression 1293024 1293158 + CallExpression 1293024 1293080 + Identifier 1293024 1293065 + PropertyAccessExpression 1293066 1293079 + Identifier 1293066 1293072 + Identifier 1293073 1293079 + QuestionToken 1293080 1293082 + CallExpression 1293082 1293135 + Identifier 1293082 1293095 + Identifier 1293096 1293102 + PropertyAccessExpression 1293103 1293134 + PropertyAccessExpression 1293103 1293117 + Identifier 1293103 1293110 + Identifier 1293111 1293117 + Identifier 1293118 1293134 + ColonToken 1293135 1293137 + CallExpression 1293137 1293158 + Identifier 1293137 1293150 + Identifier 1293151 1293157 + VariableStatement 1293159 1293326 + VariableDeclarationList 1293159 1293325 + VariableDeclaration 1293178 1293325 + Identifier 1293178 1293189 + ConditionalExpression 1293191 1293325 + CallExpression 1293191 1293247 + Identifier 1293191 1293232 + PropertyAccessExpression 1293233 1293246 + Identifier 1293233 1293239 + Identifier 1293240 1293246 + QuestionToken 1293247 1293249 + CallExpression 1293249 1293302 + Identifier 1293249 1293262 + Identifier 1293263 1293269 + PropertyAccessExpression 1293270 1293301 + PropertyAccessExpression 1293270 1293284 + Identifier 1293270 1293277 + Identifier 1293278 1293284 + Identifier 1293285 1293301 + ColonToken 1293302 1293304 + CallExpression 1293304 1293325 + Identifier 1293304 1293317 + Identifier 1293318 1293324 + IfStatement 1293326 1293826 + BinaryExpression 1293346 1293654 + BinaryExpression 1293346 1293570 + BinaryExpression 1293346 1293493 + ParenthesizedExpression 1293346 1293418 + BinaryExpression 1293365 1293417 + BinaryExpression 1293365 1293392 + Identifier 1293365 1293381 + EqualsEqualsEqualsToken 1293381 1293385 + Identifier 1293385 1293392 + AmpersandAmpersandToken 1293392 1293395 + BinaryExpression 1293395 1293417 + Identifier 1293395 1293406 + EqualsEqualsEqualsToken 1293406 1293410 + Identifier 1293410 1293417 + BarBarToken 1293418 1293421 + ParenthesizedExpression 1293421 1293493 + BinaryExpression 1293440 1293492 + BinaryExpression 1293440 1293467 + Identifier 1293440 1293456 + EqualsEqualsEqualsToken 1293456 1293460 + Identifier 1293460 1293467 + AmpersandAmpersandToken 1293467 1293470 + BinaryExpression 1293470 1293492 + Identifier 1293470 1293481 + EqualsEqualsEqualsToken 1293481 1293485 + Identifier 1293485 1293492 + BarBarToken 1293493 1293496 + ParenthesizedExpression 1293496 1293570 + BinaryExpression 1293515 1293569 + BinaryExpression 1293515 1293543 + Identifier 1293515 1293532 + EqualsEqualsEqualsToken 1293532 1293536 + Identifier 1293536 1293543 + AmpersandAmpersandToken 1293543 1293546 + BinaryExpression 1293546 1293569 + Identifier 1293546 1293558 + EqualsEqualsEqualsToken 1293558 1293562 + Identifier 1293562 1293569 + BarBarToken 1293570 1293573 + ParenthesizedExpression 1293573 1293654 + BinaryExpression 1293592 1293653 + BinaryExpression 1293592 1293626 + CallExpression 1293592 1293615 + Identifier 1293592 1293613 + EqualsEqualsEqualsToken 1293615 1293619 + Identifier 1293619 1293626 + AmpersandAmpersandToken 1293626 1293629 + BinaryExpression 1293629 1293653 + Identifier 1293629 1293642 + EqualsEqualsEqualsToken 1293642 1293646 + Identifier 1293646 1293653 + Block 1293669 1293826 + ExpressionStatement 1293671 1293811 + CallExpression 1293671 1293810 + Identifier 1293671 1293700 + PropertyAccessExpression 1293701 1293785 + Identifier 1293701 1293712 + Identifier 1293713 1293785 + Identifier 1293786 1293797 + Identifier 1293798 1293809 + FunctionDeclaration 1293837 1295740 + Identifier 1294110 1294138 + Parameter 1294139 1294151 + Identifier 1294139 1294145 + TypeReference 1294146 1294151 + Identifier 1294146 1294151 + Parameter 1294152 1294165 + Identifier 1294152 1294159 + TypeReference 1294160 1294165 + Identifier 1294160 1294165 + Parameter 1294166 1294188 + Identifier 1294166 1294179 + BooleanKeyword 1294180 1294188 + BooleanKeyword 1294190 1294198 + Block 1294198 1295740 + IfStatement 1294200 1295261 + CallExpression 1294811 1294830 + Identifier 1294811 1294822 + Identifier 1294823 1294829 + Block 1294831 1295261 + IfStatement 1294833 1295194 + BinaryExpression 1294855 1294910 + PropertyAccessExpression 1294855 1294877 + PropertyAccessExpression 1294855 1294868 + Identifier 1294855 1294861 + Identifier 1294862 1294868 + Identifier 1294869 1294877 + AmpersandAmpersandToken 1294877 1294880 + CallExpression 1294880 1294910 + Identifier 1294880 1294902 + Identifier 1294903 1294909 + Block 1294911 1295194 + IfStatement 1294913 1295140 + Identifier 1294939 1294951 + Block 1294952 1295140 + ExpressionStatement 1294954 1295117 + CallExpression 1294954 1295116 + Identifier 1294954 1294991 + PropertyAccessExpression 1294992 1295071 + Identifier 1294992 1295003 + Identifier 1295004 1295071 + CallExpression 1295072 1295093 + Identifier 1295072 1295085 + Identifier 1295086 1295092 + CallExpression 1295094 1295115 + Identifier 1295094 1295107 + Identifier 1295108 1295114 + ReturnStatement 1295140 1295175 + FalseKeyword 1295168 1295174 + ReturnStatement 1295194 1295246 + CallExpression 1295218 1295245 + Identifier 1295218 1295237 + Identifier 1295238 1295244 + IfStatement 1295261 1295603 + BinaryExpression 1295279 1295339 + CallExpression 1295279 1295306 + Identifier 1295279 1295298 + Identifier 1295299 1295305 + AmpersandAmpersandToken 1295306 1295309 + CallExpression 1295309 1295339 + Identifier 1295309 1295331 + Identifier 1295332 1295338 + Block 1295340 1295603 + IfStatement 1295342 1295557 + Identifier 1295364 1295376 + Block 1295377 1295557 + ExpressionStatement 1295379 1295538 + CallExpression 1295379 1295537 + Identifier 1295379 1295412 + PropertyAccessExpression 1295413 1295492 + Identifier 1295413 1295424 + Identifier 1295425 1295492 + CallExpression 1295493 1295514 + Identifier 1295493 1295506 + Identifier 1295507 1295513 + CallExpression 1295515 1295536 + Identifier 1295515 1295528 + Identifier 1295529 1295535 + ReturnStatement 1295557 1295588 + FalseKeyword 1295581 1295587 + IfStatement 1295603 1295703 + CallExpression 1295621 1295640 + Identifier 1295621 1295632 + Identifier 1295633 1295639 + Block 1295641 1295703 + ReturnStatement 1295643 1295688 + CallExpression 1295667 1295687 + Identifier 1295667 1295679 + Identifier 1295680 1295686 + ReturnStatement 1295703 1295729 + TrueKeyword 1295723 1295728 + FunctionDeclaration 1295740 1295927 + Identifier 1295760 1295778 + Parameter 1295779 1295791 + Identifier 1295779 1295785 + TypeReference 1295786 1295791 + Identifier 1295786 1295791 + Parameter 1295792 1295805 + Identifier 1295792 1295799 + TypeReference 1295800 1295805 + Identifier 1295800 1295805 + Parameter 1295806 1295829 + Identifier 1295806 1295819 + QuestionToken 1295819 1295820 + BooleanKeyword 1295821 1295829 + Block 1295830 1295927 + ReturnStatement 1295832 1295916 + CallExpression 1295852 1295915 + Identifier 1295852 1295864 + Identifier 1295865 1295871 + Identifier 1295872 1295879 + PropertyAccessExpression 1295880 1295900 + Identifier 1295880 1295895 + Identifier 1295896 1295900 + Identifier 1295901 1295914 + FunctionDeclaration 1295927 1304094 + Identifier 1296227 1296239 + Parameter 1296240 1296260 + Identifier 1296240 1296254 + TypeReference 1296255 1296260 + Identifier 1296255 1296260 + Parameter 1296261 1296282 + Identifier 1296261 1296276 + TypeReference 1296277 1296282 + Identifier 1296277 1296282 + Parameter 1296283 1296336 + Identifier 1296283 1296298 + TypeReference 1296299 1296314 + Identifier 1296299 1296314 + PropertyAccessExpression 1296316 1296336 + Identifier 1296316 1296331 + Identifier 1296332 1296336 + Parameter 1296337 1296358 + Identifier 1296337 1296350 + FalseKeyword 1296352 1296358 + Parameter 1296359 1296391 + Identifier 1296359 1296371 + QuestionToken 1296371 1296372 + TypeReference 1296373 1296391 + Identifier 1296373 1296391 + Parameter 1296392 1296435 + Identifier 1296392 1296410 + PropertyAccessExpression 1296412 1296435 + Identifier 1296412 1296430 + Identifier 1296431 1296435 + TypeReference 1296437 1296445 + Identifier 1296437 1296445 + Block 1296445 1304094 + IfStatement 1296447 1296520 + BinaryExpression 1296465 1296498 + Identifier 1296465 1296479 + EqualsEqualsEqualsToken 1296479 1296483 + Identifier 1296483 1296498 + ReturnStatement 1296499 1296520 + PropertyAccessExpression 1296506 1296519 + Identifier 1296506 1296514 + Identifier 1296515 1296519 + IfStatement 1296520 1297451 + BinaryExpression 1296738 1296823 + BinaryExpression 1296738 1296777 + PropertyAccessExpression 1296738 1296758 + Identifier 1296738 1296752 + Identifier 1296753 1296758 + AmpersandToken 1296758 1296760 + PropertyAccessExpression 1296760 1296777 + Identifier 1296760 1296770 + Identifier 1296771 1296777 + AmpersandAmpersandToken 1296777 1296780 + BinaryExpression 1296780 1296823 + PropertyAccessExpression 1296780 1296801 + Identifier 1296780 1296795 + Identifier 1296796 1296801 + AmpersandToken 1296801 1296803 + PropertyAccessExpression 1296803 1296823 + Identifier 1296803 1296813 + Identifier 1296814 1296823 + Block 1296824 1297451 + IfStatement 1296826 1297223 + BinaryExpression 1296848 1297141 + BinaryExpression 1296848 1297013 + BinaryExpression 1296848 1296946 + BinaryExpression 1296848 1296901 + Identifier 1296848 1296878 + EqualsEqualsEqualsToken 1296878 1296882 + Identifier 1296882 1296901 + AmpersandAmpersandToken 1296901 1296904 + PrefixUnaryExpression 1296904 1296946 + ParenthesizedExpression 1296906 1296946 + BinaryExpression 1296907 1296945 + PropertyAccessExpression 1296907 1296927 + Identifier 1296907 1296921 + Identifier 1296922 1296927 + AmpersandToken 1296927 1296929 + PropertyAccessExpression 1296929 1296945 + Identifier 1296929 1296939 + Identifier 1296940 1296945 + AmpersandAmpersandToken 1296946 1296949 + CallExpression 1296949 1297013 + Identifier 1296949 1296971 + Identifier 1296972 1296986 + Identifier 1296987 1297002 + Identifier 1297003 1297012 + BarBarToken 1297013 1297016 + CallExpression 1297016 1297141 + Identifier 1297016 1297059 + Identifier 1297060 1297074 + Identifier 1297075 1297090 + Identifier 1297091 1297100 + ConditionalExpression 1297101 1297140 + Identifier 1297101 1297114 + QuestionToken 1297114 1297116 + Identifier 1297116 1297128 + ColonToken 1297128 1297130 + Identifier 1297130 1297140 + Block 1297160 1297223 + ReturnStatement 1297162 1297204 + PropertyAccessExpression 1297190 1297203 + Identifier 1297190 1297198 + Identifier 1297199 1297203 + IfStatement 1297223 1297397 + Identifier 1297245 1297257 + Block 1297258 1297397 + ExpressionStatement 1297260 1297378 + CallExpression 1297260 1297377 + Identifier 1297260 1297300 + Identifier 1297301 1297315 + Identifier 1297316 1297331 + Identifier 1297332 1297347 + Identifier 1297348 1297363 + Identifier 1297364 1297376 + ReturnStatement 1297397 1297436 + PropertyAccessExpression 1297421 1297435 + Identifier 1297421 1297429 + Identifier 1297430 1297435 + VariableStatement 1297451 1297920 + VariableDeclarationList 1297451 1297919 + VariableDeclaration 1297857 1297919 + Identifier 1297857 1297864 + CallExpression 1297866 1297919 + Identifier 1297866 1297884 + Identifier 1297885 1297899 + FalseKeyword 1297900 1297918 + VariableStatement 1297920 1297999 + VariableDeclarationList 1297920 1297998 + VariableDeclaration 1297937 1297998 + Identifier 1297937 1297944 + CallExpression 1297946 1297998 + Identifier 1297946 1297964 + Identifier 1297965 1297979 + TrueKeyword 1297980 1297997 + IfStatement 1297999 1298058 + BinaryExpression 1298019 1298036 + Identifier 1298019 1298025 + EqualsEqualsEqualsToken 1298025 1298029 + Identifier 1298029 1298036 + ReturnStatement 1298037 1298058 + PropertyAccessExpression 1298044 1298057 + Identifier 1298044 1298052 + Identifier 1298053 1298057 + IfStatement 1298058 1298474 + BinaryExpression 1298078 1298107 + Identifier 1298078 1298086 + EqualsEqualsEqualsToken 1298086 1298090 + Identifier 1298090 1298107 + Block 1298108 1298474 + IfStatement 1298110 1298184 + BinaryExpression 1298132 1298161 + PropertyAccessExpression 1298132 1298144 + Identifier 1298132 1298138 + Identifier 1298139 1298144 + ExclamationEqualsEqualsToken 1298144 1298148 + PropertyAccessExpression 1298148 1298161 + Identifier 1298148 1298155 + Identifier 1298156 1298161 + ReturnStatement 1298162 1298184 + PropertyAccessExpression 1298169 1298183 + Identifier 1298169 1298177 + Identifier 1298178 1298183 + IfStatement 1298184 1298262 + BinaryExpression 1298206 1298240 + PropertyAccessExpression 1298206 1298218 + Identifier 1298206 1298212 + Identifier 1298213 1298218 + AmpersandToken 1298218 1298220 + PropertyAccessExpression 1298220 1298240 + Identifier 1298220 1298230 + Identifier 1298231 1298240 + ReturnStatement 1298241 1298262 + PropertyAccessExpression 1298248 1298261 + Identifier 1298248 1298256 + Identifier 1298257 1298261 + ExpressionStatement 1298262 1298331 + CallExpression 1298262 1298330 + Identifier 1298262 1298314 + Identifier 1298315 1298321 + Identifier 1298322 1298329 + ReturnStatement 1298331 1298459 + CallExpression 1298355 1298458 + Identifier 1298355 1298378 + Identifier 1298379 1298385 + Identifier 1298386 1298393 + FalseKeyword 1298394 1298417 + PropertyAccessExpression 1298418 1298441 + Identifier 1298418 1298436 + Identifier 1298437 1298441 + Identifier 1298442 1298457 + IfStatement 1298474 1299130 + BinaryExpression 1298994 1299074 + BinaryExpression 1298994 1299032 + PropertyAccessExpression 1298994 1299006 + Identifier 1298994 1299000 + Identifier 1299001 1299006 + AmpersandToken 1299006 1299008 + PropertyAccessExpression 1299008 1299032 + Identifier 1299008 1299018 + Identifier 1299019 1299032 + AmpersandAmpersandToken 1299032 1299035 + BinaryExpression 1299035 1299074 + CallExpression 1299035 1299063 + Identifier 1299035 1299055 + Identifier 1299056 1299062 + EqualsEqualsEqualsToken 1299063 1299067 + Identifier 1299067 1299074 + Block 1299075 1299130 + ReturnStatement 1299077 1299115 + PropertyAccessExpression 1299101 1299114 + Identifier 1299101 1299109 + Identifier 1299110 1299114 + IfStatement 1299130 1300039 + BinaryExpression 1299373 1299453 + BinaryExpression 1299373 1299419 + PropertyAccessExpression 1299373 1299385 + Identifier 1299373 1299379 + Identifier 1299380 1299385 + AmpersandToken 1299385 1299387 + PropertyAccessExpression 1299387 1299419 + Identifier 1299387 1299397 + Identifier 1299398 1299419 + AmpersandAmpersandToken 1299419 1299422 + BinaryExpression 1299422 1299453 + PropertyAccessExpression 1299422 1299435 + Identifier 1299422 1299429 + Identifier 1299430 1299435 + AmpersandToken 1299435 1299437 + PropertyAccessExpression 1299437 1299453 + Identifier 1299437 1299447 + Identifier 1299448 1299453 + Block 1299454 1300039 + VariableStatement 1299456 1299516 + VariableDeclarationList 1299456 1299515 + VariableDeclaration 1299479 1299515 + Identifier 1299479 1299485 + PropertyAccessExpression 1299487 1299515 + ParenthesizedExpression 1299487 1299509 + AsExpression 1299489 1299508 + Identifier 1299489 1299495 + TypeReference 1299498 1299508 + Identifier 1299498 1299508 + Identifier 1299510 1299515 + VariableStatement 1299516 1299785 + VariableDeclarationList 1299516 1299784 + VariableDeclaration 1299539 1299784 + Identifier 1299539 1299549 + ConditionalExpression 1299551 1299784 + BinaryExpression 1299551 1299609 + BinaryExpression 1299551 1299570 + PropertyAccessExpression 1299551 1299564 + Identifier 1299551 1299557 + Identifier 1299558 1299564 + EqualsEqualsEqualsToken 1299564 1299568 + NumericLiteral 1299568 1299570 + AmpersandAmpersandToken 1299570 1299573 + BinaryExpression 1299573 1299609 + PropertyAccessExpression 1299573 1299588 + ElementAccessExpression 1299573 1299582 + Identifier 1299573 1299579 + NumericLiteral 1299580 1299581 + Identifier 1299583 1299588 + AmpersandToken 1299588 1299590 + PropertyAccessExpression 1299590 1299609 + Identifier 1299590 1299600 + Identifier 1299601 1299609 + QuestionToken 1299609 1299611 + ElementAccessExpression 1299611 1299620 + Identifier 1299611 1299617 + NumericLiteral 1299618 1299619 + ColonToken 1299620 1299622 + ConditionalExpression 1299622 1299784 + BinaryExpression 1299622 1299740 + BinaryExpression 1299622 1299701 + BinaryExpression 1299622 1299662 + PropertyAccessExpression 1299622 1299656 + Identifier 1299622 1299649 + Identifier 1299650 1299656 + EqualsEqualsEqualsToken 1299656 1299660 + NumericLiteral 1299660 1299662 + AmpersandAmpersandToken 1299662 1299665 + BinaryExpression 1299665 1299701 + PropertyAccessExpression 1299665 1299680 + ElementAccessExpression 1299665 1299674 + Identifier 1299665 1299671 + NumericLiteral 1299672 1299673 + Identifier 1299675 1299680 + AmpersandToken 1299680 1299682 + PropertyAccessExpression 1299682 1299701 + Identifier 1299682 1299692 + Identifier 1299693 1299701 + AmpersandAmpersandToken 1299701 1299704 + BinaryExpression 1299704 1299740 + PropertyAccessExpression 1299704 1299719 + ElementAccessExpression 1299704 1299713 + Identifier 1299704 1299710 + NumericLiteral 1299711 1299712 + Identifier 1299714 1299719 + AmpersandToken 1299719 1299721 + PropertyAccessExpression 1299721 1299740 + Identifier 1299721 1299731 + Identifier 1299732 1299740 + QuestionToken 1299740 1299742 + ElementAccessExpression 1299742 1299751 + Identifier 1299742 1299748 + NumericLiteral 1299749 1299750 + ColonToken 1299751 1299753 + Identifier 1299753 1299784 + IfStatement 1299785 1300024 + BinaryExpression 1299807 1299859 + Identifier 1299807 1299816 + AmpersandAmpersandToken 1299816 1299819 + PrefixUnaryExpression 1299819 1299859 + ParenthesizedExpression 1299821 1299859 + BinaryExpression 1299822 1299858 + PropertyAccessExpression 1299822 1299837 + Identifier 1299822 1299831 + Identifier 1299832 1299837 + AmpersandToken 1299837 1299839 + PropertyAccessExpression 1299839 1299858 + Identifier 1299839 1299849 + Identifier 1299850 1299858 + Block 1299860 1300024 + ExpressionStatement 1299862 1299940 + BinaryExpression 1299862 1299939 + Identifier 1299862 1299890 + EqualsToken 1299890 1299892 + CallExpression 1299892 1299939 + Identifier 1299892 1299910 + Identifier 1299911 1299920 + TrueKeyword 1299921 1299938 + IfStatement 1299940 1300005 + BinaryExpression 1299966 1299983 + Identifier 1299966 1299972 + EqualsEqualsEqualsToken 1299972 1299976 + Identifier 1299976 1299983 + ReturnStatement 1299984 1300005 + PropertyAccessExpression 1299991 1300004 + Identifier 1299991 1299999 + Identifier 1300000 1300004 + IfStatement 1300039 1300340 + BinaryExpression 1300059 1300304 + BinaryExpression 1300059 1300196 + BinaryExpression 1300059 1300145 + BinaryExpression 1300059 1300108 + Identifier 1300059 1300085 + EqualsEqualsEqualsToken 1300085 1300089 + Identifier 1300089 1300108 + AmpersandAmpersandToken 1300108 1300111 + PrefixUnaryExpression 1300111 1300145 + ParenthesizedExpression 1300113 1300145 + BinaryExpression 1300114 1300144 + PropertyAccessExpression 1300114 1300126 + Identifier 1300114 1300120 + Identifier 1300121 1300126 + AmpersandToken 1300126 1300128 + PropertyAccessExpression 1300128 1300144 + Identifier 1300128 1300138 + Identifier 1300139 1300144 + AmpersandAmpersandToken 1300145 1300148 + CallExpression 1300148 1300196 + Identifier 1300148 1300170 + Identifier 1300171 1300177 + Identifier 1300178 1300185 + Identifier 1300186 1300195 + BarBarToken 1300196 1300199 + CallExpression 1300199 1300304 + Identifier 1300199 1300238 + Identifier 1300239 1300245 + Identifier 1300246 1300253 + Identifier 1300254 1300263 + ConditionalExpression 1300264 1300303 + Identifier 1300264 1300277 + QuestionToken 1300277 1300279 + Identifier 1300279 1300291 + ColonToken 1300291 1300293 + Identifier 1300293 1300303 + ReturnStatement 1300319 1300340 + PropertyAccessExpression 1300326 1300339 + Identifier 1300326 1300334 + Identifier 1300335 1300339 + IfStatement 1300340 1303900 + BinaryExpression 1300360 1300462 + BinaryExpression 1300360 1300409 + PropertyAccessExpression 1300360 1300372 + Identifier 1300360 1300366 + Identifier 1300367 1300372 + AmpersandToken 1300372 1300374 + PropertyAccessExpression 1300374 1300409 + Identifier 1300374 1300384 + Identifier 1300385 1300409 + BarBarToken 1300409 1300412 + BinaryExpression 1300412 1300462 + PropertyAccessExpression 1300412 1300425 + Identifier 1300412 1300419 + Identifier 1300420 1300425 + AmpersandToken 1300425 1300427 + PropertyAccessExpression 1300427 1300462 + Identifier 1300427 1300437 + Identifier 1300438 1300462 + Block 1300463 1303900 + VariableStatement 1300465 1300658 + VariableDeclarationList 1300465 1300657 + VariableDeclaration 1300488 1300657 + Identifier 1300488 1300521 + BinaryExpression 1300523 1300657 + PrefixUnaryExpression 1300523 1300571 + ParenthesizedExpression 1300525 1300571 + BinaryExpression 1300526 1300570 + Identifier 1300526 1300543 + AmpersandToken 1300543 1300545 + PropertyAccessExpression 1300545 1300570 + Identifier 1300545 1300563 + Identifier 1300564 1300570 + AmpersandAmpersandToken 1300571 1300574 + ParenthesizedExpression 1300574 1300657 + BinaryExpression 1300576 1300656 + CallExpression 1300576 1300603 + Identifier 1300576 1300595 + Identifier 1300596 1300602 + AmpersandAmpersandToken 1300603 1300606 + BinaryExpression 1300606 1300656 + CallExpression 1300606 1300629 + Identifier 1300606 1300621 + Identifier 1300622 1300628 + AmpersandToken 1300629 1300631 + PropertyAccessExpression 1300631 1300656 + Identifier 1300631 1300643 + Identifier 1300644 1300656 + IfStatement 1300658 1301105 + Identifier 1300680 1300712 + Block 1300713 1301105 + IfStatement 1300715 1301086 + CallExpression 1300741 1300816 + Identifier 1300741 1300760 + AsExpression 1300761 1300793 + Identifier 1300761 1300767 + TypeReference 1300770 1300793 + Identifier 1300770 1300793 + Identifier 1300794 1300801 + Identifier 1300802 1300815 + Block 1300817 1301086 + IfStatement 1300819 1301016 + Identifier 1300849 1300861 + Block 1300862 1301016 + ExpressionStatement 1300864 1300989 + CallExpression 1300864 1300988 + Identifier 1300864 1300913 + Identifier 1300914 1300925 + Identifier 1300926 1300933 + ConditionalExpression 1300934 1300987 + PropertyAccessExpression 1300934 1300961 + Identifier 1300934 1300949 + Identifier 1300950 1300961 + QuestionToken 1300961 1300963 + Identifier 1300963 1300978 + ColonToken 1300978 1300980 + Identifier 1300980 1300987 + ReturnStatement 1301016 1301063 + PropertyAccessExpression 1301048 1301062 + Identifier 1301048 1301056 + Identifier 1301057 1301062 + VariableStatement 1301105 1301644 + VariableDeclarationList 1301105 1301643 + VariableDeclaration 1301130 1301643 + Identifier 1301130 1301163 + BinaryExpression 1301165 1301643 + BinaryExpression 1301165 1301534 + BinaryExpression 1301165 1301512 + BinaryExpression 1301165 1301429 + BinaryExpression 1301165 1301398 + BinaryExpression 1301165 1301293 + ParenthesizedExpression 1301165 1301221 + BinaryExpression 1301167 1301220 + BinaryExpression 1301167 1301198 + Identifier 1301167 1301175 + ExclamationEqualsEqualsToken 1301175 1301179 + Identifier 1301179 1301198 + BarBarToken 1301198 1301201 + CallExpression 1301201 1301220 + Identifier 1301201 1301212 + Identifier 1301213 1301219 + AmpersandAmpersandToken 1301221 1301224 + PrefixUnaryExpression 1301224 1301293 + ParenthesizedExpression 1301247 1301293 + BinaryExpression 1301248 1301292 + Identifier 1301248 1301265 + AmpersandToken 1301265 1301267 + PropertyAccessExpression 1301267 1301292 + Identifier 1301267 1301285 + Identifier 1301286 1301292 + AmpersandAmpersandToken 1301293 1301296 + BinaryExpression 1301296 1301398 + PropertyAccessExpression 1301296 1301330 + Identifier 1301296 1301324 + Identifier 1301325 1301330 + AmpersandToken 1301330 1301332 + ParenthesizedExpression 1301332 1301398 + BinaryExpression 1301334 1301397 + BinaryExpression 1301334 1301372 + PropertyAccessExpression 1301334 1301353 + Identifier 1301334 1301343 + Identifier 1301344 1301353 + BarToken 1301353 1301355 + PropertyAccessExpression 1301355 1301372 + Identifier 1301355 1301365 + Identifier 1301366 1301372 + BarToken 1301372 1301374 + PropertyAccessExpression 1301374 1301397 + Identifier 1301374 1301384 + Identifier 1301385 1301397 + AmpersandAmpersandToken 1301398 1301401 + BinaryExpression 1301401 1301429 + Identifier 1301401 1301408 + ExclamationEqualsEqualsToken 1301408 1301412 + Identifier 1301412 1301429 + AmpersandAmpersandToken 1301429 1301432 + BinaryExpression 1301432 1301512 + PropertyAccessExpression 1301432 1301466 + Identifier 1301432 1301460 + Identifier 1301461 1301466 + AmpersandToken 1301466 1301468 + ParenthesizedExpression 1301468 1301512 + BinaryExpression 1301470 1301511 + PropertyAccessExpression 1301470 1301486 + Identifier 1301470 1301479 + Identifier 1301480 1301486 + BarToken 1301486 1301488 + PropertyAccessExpression 1301488 1301511 + Identifier 1301488 1301498 + Identifier 1301499 1301511 + AmpersandAmpersandToken 1301512 1301515 + CallExpression 1301515 1301534 + Identifier 1301515 1301526 + Identifier 1301527 1301533 + AmpersandAmpersandToken 1301534 1301537 + ParenthesizedExpression 1301537 1301643 + BinaryExpression 1301560 1301642 + BinaryExpression 1301560 1301598 + PropertyAccessExpression 1301560 1301594 + CallExpression 1301560 1301587 + Identifier 1301560 1301579 + Identifier 1301580 1301586 + Identifier 1301588 1301594 + GreaterThanToken 1301594 1301596 + NumericLiteral 1301596 1301598 + BarBarToken 1301598 1301601 + CallExpression 1301601 1301642 + Identifier 1301601 1301634 + Identifier 1301635 1301641 + VariableStatement 1301644 1301750 + VariableDeclarationList 1301644 1301749 + VariableDeclaration 1301667 1301749 + Identifier 1301667 1301692 + PrefixUnaryExpression 1301694 1301749 + PrefixUnaryExpression 1301696 1301749 + ParenthesizedExpression 1301697 1301749 + BinaryExpression 1301698 1301748 + CallExpression 1301698 1301720 + Identifier 1301698 1301712 + Identifier 1301713 1301719 + AmpersandToken 1301720 1301722 + PropertyAccessExpression 1301722 1301748 + Identifier 1301722 1301734 + Identifier 1301735 1301748 + IfStatement 1301750 1303168 + BinaryExpression 1301772 1301870 + Identifier 1301772 1301804 + AmpersandAmpersandToken 1301804 1301807 + PrefixUnaryExpression 1301807 1301870 + CallExpression 1301809 1301870 + Identifier 1301809 1301828 + Identifier 1301829 1301835 + Identifier 1301836 1301843 + Identifier 1301844 1301869 + Block 1301871 1303168 + IfStatement 1301873 1303106 + Identifier 1301899 1301911 + Block 1301912 1303106 + VariableStatement 1301914 1302028 + VariableDeclarationList 1301914 1302027 + VariableDeclaration 1301945 1302027 + Identifier 1301945 1301958 + CallExpression 1301960 1302027 + Identifier 1301960 1301973 + ConditionalExpression 1301974 1302026 + PropertyAccessExpression 1301974 1302000 + Identifier 1301974 1301988 + Identifier 1301989 1302000 + QuestionToken 1302000 1302002 + Identifier 1302002 1302017 + ColonToken 1302017 1302019 + Identifier 1302019 1302026 + VariableStatement 1302028 1302142 + VariableDeclarationList 1302028 1302141 + VariableDeclaration 1302059 1302141 + Identifier 1302059 1302072 + CallExpression 1302074 1302141 + Identifier 1302074 1302087 + ConditionalExpression 1302088 1302140 + PropertyAccessExpression 1302088 1302114 + Identifier 1302088 1302102 + Identifier 1302103 1302114 + QuestionToken 1302114 1302116 + Identifier 1302116 1302131 + ColonToken 1302131 1302133 + Identifier 1302133 1302140 + VariableStatement 1302142 1302230 + VariableDeclarationList 1302142 1302229 + VariableDeclaration 1302173 1302229 + Identifier 1302173 1302179 + CallExpression 1302181 1302229 + Identifier 1302181 1302201 + Identifier 1302202 1302208 + PropertyAccessExpression 1302209 1302228 + Identifier 1302209 1302223 + Identifier 1302224 1302228 + VariableStatement 1302230 1302328 + VariableDeclarationList 1302230 1302327 + VariableDeclaration 1302261 1302327 + Identifier 1302261 1302272 + CallExpression 1302274 1302327 + Identifier 1302274 1302294 + Identifier 1302295 1302301 + PropertyAccessExpression 1302302 1302326 + Identifier 1302302 1302316 + Identifier 1302317 1302326 + IfStatement 1302328 1303083 + BinaryExpression 1302358 1302675 + BinaryExpression 1302358 1302510 + BinaryExpression 1302358 1302404 + PropertyAccessExpression 1302358 1302400 + Identifier 1302358 1302393 + Identifier 1302394 1302400 + GreaterThanToken 1302400 1302402 + NumericLiteral 1302402 1302404 + AmpersandAmpersandToken 1302404 1302407 + CallExpression 1302407 1302510 + Identifier 1302407 1302419 + CallExpression 1302420 1302454 + Identifier 1302420 1302444 + ElementAccessExpression 1302445 1302453 + Identifier 1302445 1302450 + NumericLiteral 1302451 1302452 + Identifier 1302455 1302462 + PropertyAccessExpression 1302463 1302485 + Identifier 1302463 1302478 + Identifier 1302479 1302485 + FalseKeyword 1302486 1302509 + BarBarToken 1302510 1302513 + BinaryExpression 1302513 1302675 + BinaryExpression 1302513 1302564 + PropertyAccessExpression 1302513 1302560 + Identifier 1302513 1302553 + Identifier 1302554 1302560 + GreaterThanToken 1302560 1302562 + NumericLiteral 1302562 1302564 + AmpersandAmpersandToken 1302564 1302567 + CallExpression 1302567 1302675 + Identifier 1302567 1302579 + CallExpression 1302580 1302619 + Identifier 1302580 1302604 + ElementAccessExpression 1302605 1302618 + Identifier 1302605 1302615 + NumericLiteral 1302616 1302617 + Identifier 1302620 1302627 + PropertyAccessExpression 1302628 1302650 + Identifier 1302628 1302643 + Identifier 1302644 1302650 + FalseKeyword 1302651 1302674 + Block 1302702 1302894 + ExpressionStatement 1302704 1302867 + CallExpression 1302704 1302866 + Identifier 1302704 1302745 + PropertyAccessExpression 1302746 1302837 + Identifier 1302746 1302757 + Identifier 1302758 1302837 + Identifier 1302838 1302851 + Identifier 1302852 1302865 + Block 1302924 1303083 + ExpressionStatement 1302926 1303056 + CallExpression 1302926 1303055 + Identifier 1302926 1302967 + PropertyAccessExpression 1302968 1303026 + Identifier 1302968 1302979 + Identifier 1302980 1303026 + Identifier 1303027 1303040 + Identifier 1303041 1303054 + ReturnStatement 1303106 1303149 + PropertyAccessExpression 1303134 1303148 + Identifier 1303134 1303142 + Identifier 1303143 1303148 + ExpressionStatement 1303168 1303239 + CallExpression 1303168 1303238 + Identifier 1303168 1303222 + Identifier 1303223 1303229 + Identifier 1303230 1303237 + VariableStatement 1303239 1303542 + VariableDeclarationList 1303239 1303541 + VariableDeclaration 1303264 1303541 + Identifier 1303264 1303276 + BinaryExpression 1303278 1303541 + BinaryExpression 1303278 1303388 + BinaryExpression 1303278 1303351 + BinaryExpression 1303278 1303309 + PropertyAccessExpression 1303278 1303291 + Identifier 1303278 1303285 + Identifier 1303286 1303291 + AmpersandToken 1303291 1303293 + PropertyAccessExpression 1303293 1303309 + Identifier 1303293 1303303 + Identifier 1303304 1303309 + AmpersandAmpersandToken 1303309 1303312 + BinaryExpression 1303312 1303351 + PropertyAccessExpression 1303312 1303347 + PropertyAccessExpression 1303312 1303340 + ParenthesizedExpression 1303312 1303334 + AsExpression 1303314 1303333 + Identifier 1303314 1303320 + TypeReference 1303323 1303333 + Identifier 1303323 1303333 + Identifier 1303335 1303340 + Identifier 1303341 1303347 + LessThanToken 1303347 1303349 + NumericLiteral 1303349 1303351 + AmpersandAmpersandToken 1303351 1303354 + PrefixUnaryExpression 1303354 1303388 + ParenthesizedExpression 1303356 1303388 + BinaryExpression 1303357 1303387 + PropertyAccessExpression 1303357 1303369 + Identifier 1303357 1303363 + Identifier 1303364 1303369 + AmpersandToken 1303369 1303371 + PropertyAccessExpression 1303371 1303387 + Identifier 1303371 1303381 + Identifier 1303382 1303387 + BarBarToken 1303388 1303391 + BinaryExpression 1303391 1303541 + BinaryExpression 1303391 1303485 + BinaryExpression 1303391 1303443 + PropertyAccessExpression 1303391 1303425 + Identifier 1303391 1303419 + Identifier 1303420 1303425 + AmpersandToken 1303425 1303427 + PropertyAccessExpression 1303427 1303443 + Identifier 1303427 1303437 + Identifier 1303438 1303443 + AmpersandAmpersandToken 1303443 1303446 + BinaryExpression 1303446 1303485 + PropertyAccessExpression 1303446 1303481 + PropertyAccessExpression 1303446 1303474 + ParenthesizedExpression 1303446 1303468 + AsExpression 1303448 1303467 + Identifier 1303448 1303454 + TypeReference 1303457 1303467 + Identifier 1303457 1303467 + Identifier 1303469 1303474 + Identifier 1303475 1303481 + LessThanToken 1303481 1303483 + NumericLiteral 1303483 1303485 + AmpersandAmpersandToken 1303485 1303488 + PrefixUnaryExpression 1303488 1303541 + ParenthesizedExpression 1303490 1303541 + BinaryExpression 1303491 1303540 + PropertyAccessExpression 1303491 1303503 + Identifier 1303491 1303497 + Identifier 1303498 1303503 + AmpersandToken 1303503 1303505 + PropertyAccessExpression 1303505 1303540 + Identifier 1303505 1303515 + Identifier 1303516 1303540 + VariableStatement 1303542 1303799 + VariableDeclarationList 1303542 1303798 + VariableDeclaration 1303565 1303798 + Identifier 1303565 1303572 + ConditionalExpression 1303574 1303798 + Identifier 1303574 1303586 + QuestionToken 1303586 1303588 + CallExpression 1303588 1303687 + Identifier 1303588 1303638 + Identifier 1303639 1303645 + Identifier 1303646 1303653 + Identifier 1303654 1303667 + Identifier 1303668 1303686 + ColonToken 1303687 1303689 + CallExpression 1303689 1303798 + Identifier 1303689 1303733 + Identifier 1303734 1303740 + Identifier 1303741 1303748 + Identifier 1303749 1303762 + Identifier 1303763 1303781 + Identifier 1303782 1303797 + IfStatement 1303799 1303885 + Identifier 1303821 1303827 + Block 1303828 1303885 + ReturnStatement 1303830 1303866 + Identifier 1303858 1303865 + IfStatement 1303900 1304048 + Identifier 1303920 1303932 + Block 1303933 1304048 + ExpressionStatement 1303935 1304033 + CallExpression 1303935 1304032 + Identifier 1303935 1303971 + Identifier 1303972 1303986 + Identifier 1303987 1304002 + Identifier 1304003 1304010 + Identifier 1304011 1304018 + Identifier 1304019 1304031 + ReturnStatement 1304048 1304083 + PropertyAccessExpression 1304068 1304082 + Identifier 1304068 1304076 + Identifier 1304077 1304082 + FunctionDeclaration 1304094 1308425 + Identifier 1304114 1304133 + Parameter 1304134 1304154 + Identifier 1304134 1304148 + TypeReference 1304149 1304154 + Identifier 1304149 1304154 + Parameter 1304155 1304176 + Identifier 1304155 1304170 + TypeReference 1304171 1304176 + Identifier 1304171 1304176 + Parameter 1304177 1304190 + Identifier 1304177 1304184 + TypeReference 1304185 1304190 + Identifier 1304185 1304190 + Parameter 1304191 1304204 + Identifier 1304191 1304198 + TypeReference 1304199 1304204 + Identifier 1304199 1304204 + Parameter 1304205 1304248 + Identifier 1304205 1304217 + UnionType 1304218 1304248 + TypeReference 1304218 1304236 + Identifier 1304218 1304236 + UndefinedKeyword 1304238 1304248 + Block 1304249 1308425 + VariableStatement 1304251 1304342 + VariableDeclarationList 1304251 1304341 + VariableDeclaration 1304270 1304341 + Identifier 1304270 1304284 + PrefixUnaryExpression 1304286 1304341 + PrefixUnaryExpression 1304288 1304341 + CallExpression 1304289 1304341 + Identifier 1304289 1304325 + Identifier 1304326 1304340 + VariableStatement 1304342 1304433 + VariableDeclarationList 1304342 1304432 + VariableDeclaration 1304361 1304432 + Identifier 1304361 1304375 + PrefixUnaryExpression 1304377 1304432 + PrefixUnaryExpression 1304379 1304432 + CallExpression 1304380 1304432 + Identifier 1304380 1304416 + Identifier 1304417 1304431 + ExpressionStatement 1304433 1304528 + BinaryExpression 1304433 1304527 + Identifier 1304433 1304453 + EqualsToken 1304453 1304455 + ConditionalExpression 1304455 1304527 + ParenthesizedExpression 1304455 1304501 + BinaryExpression 1304457 1304500 + PropertyAccessExpression 1304457 1304483 + Identifier 1304457 1304471 + Identifier 1304472 1304483 + BarBarToken 1304483 1304486 + Identifier 1304486 1304500 + QuestionToken 1304501 1304503 + Identifier 1304503 1304518 + ColonToken 1304518 1304520 + Identifier 1304520 1304527 + ExpressionStatement 1304528 1304623 + BinaryExpression 1304528 1304622 + Identifier 1304528 1304548 + EqualsToken 1304548 1304550 + ConditionalExpression 1304550 1304622 + ParenthesizedExpression 1304550 1304596 + BinaryExpression 1304552 1304595 + PropertyAccessExpression 1304552 1304578 + Identifier 1304552 1304566 + Identifier 1304567 1304578 + BarBarToken 1304578 1304581 + Identifier 1304581 1304595 + QuestionToken 1304596 1304598 + Identifier 1304598 1304613 + ColonToken 1304613 1304615 + Identifier 1304615 1304622 + VariableStatement 1304623 1304683 + VariableDeclarationList 1304623 1304682 + VariableDeclaration 1304640 1304682 + Identifier 1304640 1304654 + BinaryExpression 1304656 1304682 + Identifier 1304656 1304678 + GreaterThanToken 1304678 1304680 + NumericLiteral 1304680 1304682 + IfStatement 1304683 1304774 + Identifier 1304701 1304714 + Block 1304715 1304774 + ExpressionStatement 1304717 1304759 + PostfixUnaryExpression 1304717 1304758 + Identifier 1304717 1304756 + IfStatement 1304774 1305130 + BinaryExpression 1304792 1304858 + BinaryExpression 1304792 1304823 + PropertyAccessExpression 1304792 1304804 + Identifier 1304792 1304798 + Identifier 1304799 1304804 + AmpersandToken 1304804 1304806 + PropertyAccessExpression 1304806 1304823 + Identifier 1304806 1304816 + Identifier 1304817 1304823 + AmpersandAmpersandToken 1304823 1304826 + BinaryExpression 1304826 1304858 + PropertyAccessExpression 1304826 1304839 + Identifier 1304826 1304833 + Identifier 1304834 1304839 + AmpersandToken 1304839 1304841 + PropertyAccessExpression 1304841 1304858 + Identifier 1304841 1304851 + Identifier 1304852 1304858 + Block 1304859 1305130 + VariableStatement 1304861 1304910 + VariableDeclarationList 1304861 1304909 + VariableDeclaration 1304884 1304909 + Identifier 1304884 1304897 + Identifier 1304899 1304909 + ExpressionStatement 1304910 1304995 + CallExpression 1304910 1304994 + Identifier 1304910 1304955 + Identifier 1304956 1304962 + Identifier 1304963 1304970 + TrueKeyword 1304971 1304993 + IfStatement 1304995 1305115 + BinaryExpression 1305017 1305043 + Identifier 1305017 1305026 + ExclamationEqualsEqualsToken 1305026 1305030 + Identifier 1305030 1305043 + Block 1305044 1305115 + ExpressionStatement 1305046 1305096 + BinaryExpression 1305046 1305095 + Identifier 1305046 1305081 + EqualsToken 1305081 1305083 + PrefixUnaryExpression 1305083 1305095 + PrefixUnaryExpression 1305085 1305095 + Identifier 1305086 1305095 + IfStatement 1305130 1306455 + BinaryExpression 1305148 1305217 + BinaryExpression 1305148 1305179 + PropertyAccessExpression 1305148 1305160 + Identifier 1305148 1305154 + Identifier 1305155 1305160 + AmpersandToken 1305160 1305162 + PropertyAccessExpression 1305162 1305179 + Identifier 1305162 1305172 + Identifier 1305173 1305179 + AmpersandAmpersandToken 1305179 1305182 + BinaryExpression 1305182 1305217 + PropertyAccessExpression 1305182 1305195 + Identifier 1305182 1305189 + Identifier 1305190 1305195 + AmpersandToken 1305195 1305197 + PropertyAccessExpression 1305197 1305217 + Identifier 1305197 1305207 + Identifier 1305208 1305217 + Block 1305218 1305311 + ExpressionStatement 1305220 1305296 + CallExpression 1305220 1305295 + Identifier 1305220 1305279 + Identifier 1305280 1305286 + Identifier 1305287 1305294 + IfStatement 1305329 1306455 + BinaryExpression 1305334 1305413 + BinaryExpression 1305334 1305382 + PropertyAccessExpression 1305334 1305347 + Identifier 1305334 1305340 + Identifier 1305341 1305347 + AmpersandAmpersandToken 1305347 1305350 + BinaryExpression 1305350 1305382 + PropertyAccessExpression 1305350 1305363 + Identifier 1305350 1305357 + Identifier 1305358 1305363 + AmpersandToken 1305363 1305365 + PropertyAccessExpression 1305365 1305382 + Identifier 1305365 1305375 + Identifier 1305376 1305382 + AmpersandAmpersandToken 1305382 1305385 + BinaryExpression 1305385 1305413 + Identifier 1305385 1305402 + EqualsEqualsEqualsToken 1305402 1305406 + Identifier 1305406 1305413 + Block 1305414 1305569 + ExpressionStatement 1305416 1305554 + CallExpression 1305416 1305553 + Identifier 1305416 1305445 + PropertyAccessExpression 1305446 1305552 + Identifier 1305446 1305457 + Identifier 1305458 1305552 + IfStatement 1305587 1306455 + BinaryExpression 1305592 1305683 + BinaryExpression 1305592 1305642 + CallExpression 1305592 1305614 + Identifier 1305592 1305606 + Identifier 1305607 1305613 + AmpersandToken 1305614 1305616 + PropertyAccessExpression 1305616 1305642 + Identifier 1305616 1305628 + Identifier 1305629 1305642 + AmpersandAmpersandToken 1305642 1305645 + BinaryExpression 1305645 1305683 + PropertyAccessExpression 1305645 1305658 + Identifier 1305645 1305652 + Identifier 1305653 1305658 + AmpersandToken 1305658 1305660 + PropertyAccessExpression 1305660 1305683 + Identifier 1305660 1305670 + Identifier 1305671 1305683 + Block 1305684 1306336 + VariableStatement 1305686 1305759 + VariableDeclarationList 1305686 1305758 + VariableDeclaration 1305709 1305758 + Identifier 1305709 1305721 + PropertyAccessExpression 1305723 1305758 + ParenthesizedExpression 1305723 1305752 + AsExpression 1305725 1305751 + Identifier 1305725 1305731 + TypeReference 1305734 1305751 + Identifier 1305734 1305751 + Identifier 1305753 1305758 + VariableStatement 1305759 1305857 + VariableDeclarationList 1305759 1305856 + VariableDeclaration 1305782 1305856 + Identifier 1305782 1305802 + CallExpression 1305804 1305856 + Identifier 1305804 1305815 + PropertyAccessExpression 1305816 1305844 + Identifier 1305816 1305824 + Identifier 1305825 1305844 + Identifier 1305845 1305855 + VariableStatement 1305857 1305965 + VariableDeclarationList 1305857 1305964 + VariableDeclaration 1305880 1305964 + Identifier 1305880 1305905 + CallExpression 1305907 1305964 + Identifier 1305907 1305918 + PropertyAccessExpression 1305919 1305952 + Identifier 1305919 1305927 + Identifier 1305928 1305952 + Identifier 1305953 1305963 + IfStatement 1305965 1306321 + BinaryExpression 1305987 1306204 + BinaryExpression 1305987 1306084 + PrefixUnaryExpression 1305987 1306042 + CallExpression 1306010 1306042 + Identifier 1306010 1306021 + Identifier 1306022 1306041 + AmpersandAmpersandToken 1306042 1306045 + PrefixUnaryExpression 1306045 1306084 + CallExpression 1306047 1306084 + Identifier 1306047 1306058 + Identifier 1306059 1306083 + AmpersandAmpersandToken 1306084 1306087 + ParenthesizedExpression 1306087 1306204 + BinaryExpression 1306110 1306203 + CallExpression 1306110 1306152 + Identifier 1306110 1306118 + Identifier 1306119 1306130 + Identifier 1306131 1306151 + BarBarToken 1306152 1306155 + CallExpression 1306155 1306203 + Identifier 1306155 1306164 + Identifier 1306165 1306176 + Identifier 1306177 1306202 + Block 1306223 1306321 + ReturnStatement 1306225 1306302 + Block 1306354 1306455 + ExpressionStatement 1306356 1306440 + BinaryExpression 1306356 1306439 + Identifier 1306356 1306383 + EqualsToken 1306383 1306385 + CallExpression 1306385 1306439 + Identifier 1306385 1306412 + Identifier 1306413 1306422 + Identifier 1306423 1306438 + IfStatement 1306455 1307609 + BinaryExpression 1306590 1306619 + PrefixUnaryExpression 1306590 1306602 + Identifier 1306591 1306602 + AmpersandAmpersandToken 1306602 1306605 + Identifier 1306605 1306619 + Block 1306620 1307609 + VariableStatement 1306622 1307050 + VariableDeclarationList 1306622 1307049 + VariableDeclaration 1307000 1307049 + Identifier 1307000 1307016 + CallExpression 1307018 1307049 + Identifier 1307018 1307047 + ExpressionStatement 1307050 1307117 + CallExpression 1307050 1307116 + Identifier 1307050 1307087 + Identifier 1307088 1307099 + Identifier 1307100 1307107 + Identifier 1307108 1307115 + VariableStatement 1307117 1307149 + VariableDeclarationList 1307117 1307148 + VariableDeclaration 1307138 1307148 + Identifier 1307138 1307148 + IfStatement 1307149 1307340 + BinaryExpression 1307171 1307223 + Identifier 1307171 1307180 + AmpersandAmpersandToken 1307180 1307183 + BinaryExpression 1307183 1307223 + Identifier 1307183 1307193 + ExclamationEqualsEqualsToken 1307193 1307197 + PropertyAccessExpression 1307197 1307223 + Identifier 1307197 1307213 + Identifier 1307214 1307223 + Block 1307224 1307340 + ExpressionStatement 1307226 1307321 + BinaryExpression 1307226 1307320 + Identifier 1307226 1307257 + EqualsToken 1307257 1307259 + ObjectLiteralExpression 1307259 1307320 + PropertyAssignment 1307261 1307282 + Identifier 1307261 1307266 + PropertyAccessExpression 1307267 1307282 + Identifier 1307267 1307277 + Identifier 1307278 1307282 + PropertyAssignment 1307283 1307318 + Identifier 1307283 1307295 + PropertyAccessExpression 1307296 1307318 + Identifier 1307296 1307306 + Identifier 1307307 1307318 + ExpressionStatement 1307340 1307390 + CallExpression 1307340 1307389 + Identifier 1307340 1307372 + Identifier 1307373 1307388 + IfStatement 1307390 1307514 + BinaryExpression 1307412 1307434 + Identifier 1307412 1307421 + AmpersandAmpersandToken 1307421 1307424 + Identifier 1307424 1307434 + Block 1307435 1307514 + ExpressionStatement 1307437 1307495 + BinaryExpression 1307437 1307494 + PropertyAccessExpression 1307437 1307482 + Identifier 1307437 1307468 + Identifier 1307469 1307482 + EqualsToken 1307482 1307484 + Identifier 1307484 1307494 + ExpressionStatement 1307514 1307569 + BinaryExpression 1307514 1307568 + Identifier 1307514 1307549 + EqualsToken 1307549 1307551 + ArrayLiteralExpression 1307551 1307568 + Identifier 1307553 1307559 + Identifier 1307560 1307567 + ReturnStatement 1307569 1307594 + ExpressionStatement 1307609 1307672 + CallExpression 1307609 1307671 + Identifier 1307609 1307642 + Identifier 1307643 1307654 + Identifier 1307655 1307662 + Identifier 1307663 1307670 + IfStatement 1307672 1308414 + BinaryExpression 1307690 1307812 + BinaryExpression 1307690 1307764 + BinaryExpression 1307690 1307728 + PropertyAccessExpression 1307690 1307702 + Identifier 1307690 1307696 + Identifier 1307697 1307702 + AmpersandToken 1307702 1307704 + PropertyAccessExpression 1307704 1307728 + Identifier 1307704 1307714 + Identifier 1307715 1307728 + AmpersandAmpersandToken 1307728 1307731 + ElementAccessExpression 1307731 1307764 + PropertyAccessExpression 1307731 1307759 + PropertyAccessExpression 1307731 1307745 + Identifier 1307731 1307738 + Identifier 1307739 1307745 + QuestionDotToken 1307745 1307747 + Identifier 1307747 1307759 + QuestionDotToken 1307759 1307761 + NumericLiteral 1307762 1307763 + AmpersandAmpersandToken 1307764 1307767 + PrefixUnaryExpression 1307767 1307812 + CallExpression 1307769 1307812 + Identifier 1307769 1307788 + AsExpression 1307789 1307811 + Identifier 1307789 1307795 + TypeReference 1307798 1307811 + Identifier 1307798 1307811 + Block 1307813 1308414 + VariableStatement 1307815 1307900 + VariableDeclarationList 1307815 1307899 + VariableDeclaration 1307838 1307899 + Identifier 1307838 1307853 + CallExpression 1307855 1307899 + Identifier 1307855 1307874 + AsExpression 1307875 1307898 + Identifier 1307875 1307881 + TypeReference 1307884 1307898 + Identifier 1307884 1307898 + ExpressionStatement 1307900 1308015 + BinaryExpression 1307900 1308014 + PropertyAccessExpression 1307900 1307943 + Identifier 1307900 1307932 + Identifier 1307933 1307943 + EqualsToken 1307943 1307945 + CallExpression 1307945 1308014 + Identifier 1307945 1307961 + Identifier 1307962 1307968 + CallExpression 1307969 1308013 + Identifier 1307969 1307989 + Identifier 1307990 1307996 + Identifier 1307997 1308012 + IfStatement 1308015 1308399 + CallExpression 1308037 1308081 + Identifier 1308037 1308065 + Identifier 1308066 1308080 + Block 1308082 1308399 + VariableStatement 1308084 1308189 + VariableDeclarationList 1308084 1308188 + VariableDeclaration 1308111 1308188 + Identifier 1308111 1308134 + CallExpression 1308136 1308188 + Identifier 1308136 1308149 + Identifier 1308150 1308156 + ElementAccessExpression 1308157 1308187 + PropertyAccessExpression 1308157 1308184 + PropertyAccessExpression 1308157 1308171 + Identifier 1308157 1308164 + Identifier 1308165 1308171 + Identifier 1308172 1308184 + NumericLiteral 1308185 1308186 + ExpressionStatement 1308189 1308380 + CallExpression 1308189 1308379 + Identifier 1308189 1308231 + CallExpression 1308232 1308378 + Identifier 1308232 1308255 + ElementAccessExpression 1308256 1308285 + PropertyAccessExpression 1308256 1308282 + PropertyAccessExpression 1308256 1308269 + Identifier 1308256 1308262 + Identifier 1308263 1308269 + Identifier 1308270 1308282 + NumericLiteral 1308283 1308284 + PropertyAccessExpression 1308286 1308353 + Identifier 1308286 1308298 + Identifier 1308299 1308353 + Identifier 1308354 1308377 + FunctionDeclaration 1308425 1309782 + Identifier 1308445 1308480 + Parameter 1308481 1308493 + Identifier 1308481 1308487 + TypeReference 1308488 1308493 + Identifier 1308488 1308493 + Parameter 1308494 1308507 + Identifier 1308494 1308501 + TypeReference 1308502 1308507 + Identifier 1308502 1308507 + VoidKeyword 1308509 1308514 + Block 1308514 1309782 + IfStatement 1308516 1308585 + PrefixUnaryExpression 1308534 1308542 + Identifier 1308535 1308542 + Block 1308543 1308585 + ReturnStatement 1308545 1308570 + IfStatement 1308585 1309771 + BinaryExpression 1308605 1308701 + ParenthesizedExpression 1308605 1308651 + BinaryExpression 1308606 1308650 + PropertyAccessExpression 1308606 1308618 + Identifier 1308606 1308612 + Identifier 1308613 1308618 + AmpersandToken 1308618 1308620 + PropertyAccessExpression 1308620 1308650 + Identifier 1308620 1308630 + Identifier 1308631 1308650 + AmpersandAmpersandToken 1308651 1308654 + ParenthesizedExpression 1308654 1308701 + BinaryExpression 1308656 1308700 + PropertyAccessExpression 1308656 1308668 + Identifier 1308656 1308662 + Identifier 1308663 1308668 + AmpersandToken 1308668 1308670 + PropertyAccessExpression 1308670 1308700 + Identifier 1308670 1308680 + Identifier 1308681 1308700 + Block 1308702 1309771 + VariableStatement 1308704 1308790 + VariableDeclarationList 1308704 1308789 + VariableDeclaration 1308727 1308789 + Identifier 1308727 1308753 + AsExpression 1308755 1308789 + Identifier 1308755 1308762 + TypeReference 1308765 1308789 + Identifier 1308765 1308789 + VariableStatement 1308790 1308876 + VariableDeclarationList 1308790 1308875 + VariableDeclaration 1308813 1308875 + Identifier 1308813 1308839 + AsExpression 1308841 1308875 + Identifier 1308841 1308848 + TypeReference 1308851 1308875 + Identifier 1308851 1308875 + IfStatement 1308876 1309132 + BinaryExpression 1308900 1309006 + BinaryExpression 1308900 1308977 + PropertyAccessExpression 1308900 1308937 + Identifier 1308900 1308925 + Identifier 1308926 1308937 + AmpersandToken 1308937 1308939 + PropertyAccessExpression 1308939 1308977 + Identifier 1308939 1308965 + Identifier 1308966 1308977 + AmpersandToken 1308977 1308979 + PropertyAccessExpression 1308979 1309006 + Identifier 1308979 1308991 + Identifier 1308992 1309006 + Block 1309007 1309132 + ReturnStatement 1309009 1309113 + VariableStatement 1309132 1309210 + VariableDeclarationList 1309132 1309209 + VariableDeclaration 1309157 1309209 + Identifier 1309157 1309168 + PropertyAccessExpression 1309170 1309209 + PropertyAccessExpression 1309170 1309202 + Identifier 1309170 1309196 + Identifier 1309197 1309202 + Identifier 1309203 1309209 + VariableStatement 1309210 1309286 + VariableDeclarationList 1309210 1309285 + VariableDeclaration 1309233 1309285 + Identifier 1309233 1309244 + PropertyAccessExpression 1309246 1309285 + PropertyAccessExpression 1309246 1309278 + Identifier 1309246 1309272 + Identifier 1309273 1309278 + Identifier 1309279 1309285 + IfStatement 1309286 1309756 + BinaryExpression 1309308 1309337 + BinaryExpression 1309308 1309331 + Identifier 1309308 1309318 + AsteriskToken 1309318 1309320 + Identifier 1309320 1309331 + GreaterThanToken 1309331 1309333 + NumericLiteral 1309333 1309337 + Block 1309338 1309756 + ExpressionStatement 1309340 1309737 + CallExpression 1309340 1309736 + PropertyAccessExpression 1309340 1309377 + Identifier 1309340 1309369 + Identifier 1309370 1309377 + PropertyAccessExpression 1309378 1309402 + PropertyAccessExpression 1309378 1309391 + Identifier 1309378 1309385 + Identifier 1309386 1309391 + Identifier 1309392 1309402 + StringLiteral 1309403 1309451 + ObjectLiteralExpression 1309452 1309735 + PropertyAssignment 1309454 1309499 + Identifier 1309454 1309488 + PropertyAccessExpression 1309489 1309499 + Identifier 1309489 1309496 + Identifier 1309497 1309499 + ShorthandPropertyAssignment 1309500 1309536 + Identifier 1309500 1309536 + PropertyAssignment 1309537 1309582 + Identifier 1309537 1309571 + PropertyAccessExpression 1309572 1309582 + Identifier 1309572 1309579 + Identifier 1309580 1309582 + ShorthandPropertyAssignment 1309583 1309619 + Identifier 1309583 1309619 + PropertyAssignment 1309620 1309665 + Identifier 1309620 1309649 + PropertyAccessExpression 1309650 1309665 + Identifier 1309650 1309660 + QuestionDotToken 1309660 1309662 + Identifier 1309662 1309665 + PropertyAssignment 1309666 1309711 + Identifier 1309666 1309695 + PropertyAccessExpression 1309696 1309711 + Identifier 1309696 1309706 + QuestionDotToken 1309706 1309708 + Identifier 1309708 1309711 + FunctionDeclaration 1309782 1310501 + Identifier 1309802 1309827 + Parameter 1309828 1309841 + Identifier 1309828 1309833 + ArrayType 1309834 1309841 + TypeReference 1309834 1309839 + Identifier 1309834 1309839 + Parameter 1309842 1309857 + Identifier 1309842 1309847 + TypeReference 1309848 1309857 + Identifier 1309848 1309857 + Block 1309858 1310501 + VariableStatement 1309860 1310384 + VariableDeclarationList 1309860 1310383 + VariableDeclaration 1309879 1310383 + Identifier 1309879 1309894 + ArrowFunction 1309896 1310383 + Parameter 1309898 1309927 + Identifier 1309898 1309907 + UnionType 1309908 1309927 + ArrayType 1309908 1309915 + TypeReference 1309908 1309913 + Identifier 1309908 1309913 + UndefinedKeyword 1309917 1309927 + Parameter 1309928 1309939 + Identifier 1309928 1309933 + TypeReference 1309934 1309939 + Identifier 1309934 1309939 + EqualsGreaterThanToken 1309940 1309943 + Block 1309943 1310383 + ExpressionStatement 1309945 1309992 + BinaryExpression 1309945 1309991 + Identifier 1309945 1309967 + EqualsToken 1309967 1309969 + CallExpression 1309969 1309991 + Identifier 1309969 1309985 + Identifier 1309986 1309990 + VariableStatement 1309992 1310182 + VariableDeclarationList 1309992 1310181 + VariableDeclaration 1310015 1310181 + Identifier 1310015 1310020 + ConditionalExpression 1310022 1310181 + BinaryExpression 1310022 1310065 + PropertyAccessExpression 1310022 1310033 + Identifier 1310022 1310027 + Identifier 1310028 1310033 + AmpersandToken 1310033 1310035 + PropertyAccessExpression 1310035 1310065 + Identifier 1310035 1310045 + Identifier 1310046 1310065 + QuestionToken 1310065 1310067 + CallExpression 1310067 1310143 + Identifier 1310067 1310104 + AsExpression 1310105 1310136 + Identifier 1310105 1310109 + TypeReference 1310112 1310136 + Identifier 1310112 1310136 + Identifier 1310137 1310142 + ColonToken 1310143 1310145 + CallExpression 1310145 1310181 + Identifier 1310145 1310169 + Identifier 1310170 1310174 + Identifier 1310175 1310180 + VariableStatement 1310182 1310315 + VariableDeclarationList 1310182 1310314 + VariableDeclaration 1310205 1310314 + Identifier 1310205 1310214 + BinaryExpression 1310216 1310314 + BinaryExpression 1310216 1310297 + BinaryExpression 1310216 1310246 + Identifier 1310216 1310221 + AmpersandAmpersandToken 1310221 1310224 + CallExpression 1310224 1310246 + Identifier 1310224 1310240 + Identifier 1310241 1310245 + BarBarToken 1310246 1310249 + PropertyAccessExpression 1310249 1310297 + CallExpression 1310249 1310291 + Identifier 1310249 1310279 + Identifier 1310280 1310284 + Identifier 1310285 1310290 + QuestionDotToken 1310291 1310293 + Identifier 1310293 1310297 + BarBarToken 1310297 1310300 + Identifier 1310300 1310314 + ReturnStatement 1310315 1310368 + CallExpression 1310339 1310367 + Identifier 1310339 1310346 + Identifier 1310347 1310356 + Identifier 1310357 1310366 + ReturnStatement 1310384 1310490 + CallExpression 1310404 1310489 + Identifier 1310404 1310417 + BinaryExpression 1310418 1310488 + CallExpression 1310418 1310474 + Identifier 1310418 1310428 + Identifier 1310429 1310434 + Identifier 1310435 1310450 + Identifier 1310451 1310473 + BarBarToken 1310474 1310477 + Identifier 1310477 1310488 + FunctionDeclaration 1310501 1316932 + Identifier 1310521 1310541 + Parameter 1310542 1310572 + Identifier 1310542 1310548 + TypeReference 1310549 1310572 + Identifier 1310549 1310572 + Parameter 1310573 1310586 + Identifier 1310573 1310580 + TypeReference 1310581 1310586 + Identifier 1310581 1310586 + Parameter 1310587 1310609 + Identifier 1310587 1310600 + BooleanKeyword 1310601 1310609 + BooleanKeyword 1310611 1310619 + Block 1310619 1316932 + IfStatement 1310621 1310926 + BinaryExpression 1310639 1310743 + PrefixUnaryExpression 1310639 1310675 + CallExpression 1310640 1310675 + Identifier 1310640 1310667 + Identifier 1310668 1310674 + BarBarToken 1310675 1310678 + BinaryExpression 1310678 1310743 + PrefixUnaryExpression 1310678 1310693 + Identifier 1310680 1310693 + AmpersandAmpersandToken 1310693 1310696 + BinaryExpression 1310696 1310743 + CallExpression 1310696 1310719 + Identifier 1310696 1310711 + Identifier 1310712 1310718 + AmpersandToken 1310719 1310721 + PropertyAccessExpression 1310721 1310743 + Identifier 1310721 1310733 + Identifier 1310734 1310743 + Block 1310744 1310926 + ReturnStatement 1310746 1310777 + FalseKeyword 1310770 1310776 + VariableStatement 1310926 1311028 + VariableDeclarationList 1310926 1311027 + VariableDeclaration 1310945 1311027 + Identifier 1310945 1310970 + PrefixUnaryExpression 1310972 1311027 + PrefixUnaryExpression 1310974 1311027 + ParenthesizedExpression 1310975 1311027 + BinaryExpression 1310976 1311026 + CallExpression 1310976 1310998 + Identifier 1310976 1310990 + Identifier 1310991 1310997 + AmpersandToken 1310998 1311000 + PropertyAccessExpression 1311000 1311026 + Identifier 1311000 1311012 + Identifier 1311013 1311026 + IfStatement 1311028 1311318 + BinaryExpression 1311046 1311255 + ParenthesizedExpression 1311046 1311132 + BinaryExpression 1311065 1311131 + BinaryExpression 1311065 1311096 + Identifier 1311065 1311073 + EqualsEqualsEqualsToken 1311073 1311077 + Identifier 1311077 1311096 + BarBarToken 1311096 1311099 + BinaryExpression 1311099 1311131 + Identifier 1311099 1311108 + EqualsEqualsEqualsToken 1311108 1311112 + Identifier 1311112 1311131 + AmpersandAmpersandToken 1311132 1311135 + ParenthesizedExpression 1311135 1311255 + BinaryExpression 1311154 1311254 + CallExpression 1311154 1311194 + Identifier 1311154 1311168 + Identifier 1311169 1311185 + Identifier 1311186 1311193 + BarBarToken 1311194 1311197 + ParenthesizedExpression 1311197 1311254 + BinaryExpression 1311199 1311253 + PrefixUnaryExpression 1311199 1311224 + Identifier 1311200 1311224 + AmpersandAmpersandToken 1311224 1311227 + CallExpression 1311227 1311253 + Identifier 1311227 1311245 + Identifier 1311246 1311252 + Block 1311270 1311318 + ReturnStatement 1311272 1311303 + FalseKeyword 1311296 1311302 + VariableStatement 1311318 1311359 + VariableDeclarationList 1311318 1311358 + VariableDeclaration 1311335 1311358 + Identifier 1311335 1311349 + Identifier 1311351 1311358 + VariableStatement 1311359 1311408 + VariableDeclarationList 1311359 1311407 + VariableDeclaration 1311376 1311407 + Identifier 1311376 1311387 + UnionType 1311388 1311407 + ArrayType 1311388 1311395 + TypeReference 1311388 1311393 + Identifier 1311388 1311393 + UndefinedKeyword 1311397 1311407 + IfStatement 1311408 1311766 + BinaryExpression 1311426 1311456 + PropertyAccessExpression 1311426 1311438 + Identifier 1311426 1311432 + Identifier 1311433 1311438 + AmpersandToken 1311438 1311440 + PropertyAccessExpression 1311440 1311456 + Identifier 1311440 1311450 + Identifier 1311451 1311456 + Block 1311457 1311766 + ExpressionStatement 1311459 1311627 + BinaryExpression 1311459 1311626 + Identifier 1311459 1311490 + EqualsToken 1311490 1311492 + BinaryExpression 1311492 1311626 + CallExpression 1311492 1311563 + Identifier 1311492 1311521 + Identifier 1311522 1311528 + AsExpression 1311529 1311549 + Identifier 1311529 1311536 + TypeReference 1311539 1311549 + Identifier 1311539 1311549 + Identifier 1311550 1311562 + BarBarToken 1311563 1311566 + CallExpression 1311566 1311626 + Identifier 1311566 1311605 + AsExpression 1311606 1311625 + Identifier 1311606 1311612 + TypeReference 1311615 1311625 + Identifier 1311615 1311625 + ExpressionStatement 1311627 1311751 + BinaryExpression 1311627 1311750 + Identifier 1311627 1311655 + EqualsToken 1311655 1311657 + ConditionalExpression 1311657 1311750 + BinaryExpression 1311657 1311695 + PropertyAccessExpression 1311657 1311677 + Identifier 1311657 1311671 + Identifier 1311672 1311677 + AmpersandToken 1311677 1311679 + PropertyAccessExpression 1311679 1311695 + Identifier 1311679 1311689 + Identifier 1311690 1311695 + QuestionToken 1311695 1311697 + PropertyAccessExpression 1311697 1311732 + ParenthesizedExpression 1311697 1311726 + AsExpression 1311699 1311725 + Identifier 1311699 1311712 + TypeReference 1311715 1311725 + Identifier 1311715 1311725 + Identifier 1311727 1311732 + ColonToken 1311732 1311734 + ArrayLiteralExpression 1311734 1311750 + Identifier 1311736 1311749 + ForOfStatement 1311766 1316894 + VariableDeclarationList 1311785 1311795 + VariableDeclaration 1311790 1311795 + Identifier 1311790 1311795 + CallExpression 1311798 1311826 + Identifier 1311798 1311818 + Identifier 1311819 1311825 + Block 1311827 1316894 + IfStatement 1311829 1316879 + BinaryExpression 1311851 1311938 + CallExpression 1311851 1311899 + Identifier 1311851 1311878 + Identifier 1311879 1311883 + PropertyAccessExpression 1311884 1311898 + Identifier 1311884 1311891 + Identifier 1311892 1311898 + AmpersandAmpersandToken 1311899 1311902 + PrefixUnaryExpression 1311902 1311938 + CallExpression 1311904 1311938 + Identifier 1311904 1311924 + Identifier 1311925 1311931 + Identifier 1311932 1311937 + Block 1311939 1316879 + IfStatement 1311941 1316432 + PrefixUnaryExpression 1311967 1312042 + CallExpression 1311968 1312042 + Identifier 1311968 1311983 + Identifier 1311984 1311997 + PropertyAccessExpression 1311998 1312015 + Identifier 1311998 1312003 + Identifier 1312004 1312015 + Identifier 1312016 1312041 + Block 1312043 1316432 + IfStatement 1312045 1316371 + Identifier 1312075 1312087 + Block 1312088 1316371 + VariableStatement 1312090 1312367 + VariableDeclarationList 1312090 1312366 + VariableDeclaration 1312297 1312366 + Identifier 1312297 1312309 + CallExpression 1312311 1312366 + Identifier 1312311 1312322 + Identifier 1312323 1312336 + Identifier 1312337 1312365 + IfStatement 1312367 1312698 + PrefixUnaryExpression 1312666 1312676 + Identifier 1312667 1312676 + ReturnStatement 1312677 1312698 + CallExpression 1312684 1312697 + PropertyAccessExpression 1312684 1312695 + Identifier 1312684 1312690 + Identifier 1312691 1312695 + IfStatement 1312698 1316344 + BinaryExpression 1312732 1312841 + BinaryExpression 1312732 1312796 + CallExpression 1312732 1312758 + Identifier 1312732 1312747 + Identifier 1312748 1312757 + BarBarToken 1312758 1312761 + CallExpression 1312761 1312796 + Identifier 1312761 1312785 + Identifier 1312786 1312795 + BarBarToken 1312796 1312799 + CallExpression 1312799 1312841 + Identifier 1312799 1312823 + PropertyAccessExpression 1312824 1312840 + Identifier 1312824 1312833 + Identifier 1312834 1312840 + Block 1312842 1314504 + IfStatement 1312844 1313697 + BinaryExpression 1313177 1313325 + BinaryExpression 1313177 1313239 + PropertyAccessExpression 1313177 1313198 + Identifier 1313177 1313181 + Identifier 1313182 1313198 + AmpersandAmpersandToken 1313198 1313201 + CallExpression 1313201 1313239 + Identifier 1313201 1313216 + PropertyAccessExpression 1313217 1313238 + Identifier 1313217 1313221 + Identifier 1313222 1313238 + AmpersandAmpersandToken 1313239 1313242 + BinaryExpression 1313242 1313325 + CallExpression 1313242 1313273 + Identifier 1313242 1313262 + Identifier 1313263 1313272 + EqualsEqualsEqualsToken 1313273 1313277 + CallExpression 1313277 1313325 + Identifier 1313277 1313297 + PropertyAccessExpression 1313298 1313324 + PropertyAccessExpression 1313298 1313319 + Identifier 1313298 1313302 + Identifier 1313303 1313319 + Identifier 1313320 1313324 + Block 1313326 1313697 + ExpressionStatement 1313328 1313662 + BinaryExpression 1313328 1313661 + Identifier 1313328 1313632 + EqualsToken 1313632 1313634 + PropertyAccessExpression 1313634 1313661 + PropertyAccessExpression 1313634 1313656 + Identifier 1313634 1313639 + Identifier 1313640 1313656 + Identifier 1313657 1313661 + VariableStatement 1313697 1313769 + VariableDeclarationList 1313697 1313768 + VariableDeclaration 1313736 1313768 + Identifier 1313736 1313745 + CallExpression 1313747 1313768 + Identifier 1313747 1313762 + Identifier 1313763 1313767 + VariableStatement 1313769 1313896 + VariableDeclarationList 1313769 1313895 + VariableDeclaration 1313808 1313895 + Identifier 1313808 1313825 + CallExpression 1313827 1313895 + Identifier 1313827 1313872 + Identifier 1313873 1313881 + Identifier 1313882 1313894 + VariableStatement 1313896 1314013 + VariableDeclarationList 1313896 1314012 + VariableDeclaration 1313935 1314012 + Identifier 1313935 1313946 + ConditionalExpression 1313948 1314012 + Identifier 1313948 1313965 + QuestionToken 1313965 1313967 + CallExpression 1313967 1314000 + Identifier 1313967 1313982 + Identifier 1313983 1313999 + ColonToken 1314000 1314002 + Identifier 1314002 1314012 + IfStatement 1314013 1314473 + Identifier 1314051 1314061 + Block 1314062 1314262 + ExpressionStatement 1314064 1314227 + CallExpression 1314064 1314226 + Identifier 1314064 1314113 + PropertyAccessExpression 1314114 1314176 + Identifier 1314114 1314125 + Identifier 1314126 1314176 + Identifier 1314177 1314186 + CallExpression 1314187 1314213 + Identifier 1314187 1314200 + Identifier 1314201 1314212 + Identifier 1314214 1314225 + Block 1314300 1314473 + ExpressionStatement 1314302 1314438 + CallExpression 1314302 1314437 + Identifier 1314302 1314351 + PropertyAccessExpression 1314352 1314399 + Identifier 1314352 1314363 + Identifier 1314364 1314399 + Identifier 1314400 1314409 + CallExpression 1314410 1314436 + Identifier 1314410 1314423 + Identifier 1314424 1314435 + Block 1314538 1316344 + VariableStatement 1314540 1314810 + VariableDeclarationList 1314540 1314809 + VariableDeclaration 1314706 1314809 + Identifier 1314706 1314731 + BinaryExpression 1314733 1314809 + PropertyAccessExpression 1314733 1314761 + PropertyAccessExpression 1314733 1314747 + Identifier 1314733 1314740 + Identifier 1314741 1314747 + QuestionDotToken 1314747 1314749 + Identifier 1314749 1314761 + AmpersandAmpersandToken 1314761 1314764 + CallExpression 1314764 1314809 + Identifier 1314764 1314781 + PropertyAccessExpression 1314782 1314808 + PropertyAccessExpression 1314782 1314795 + Identifier 1314782 1314788 + Identifier 1314789 1314795 + Identifier 1314796 1314808 + VariableStatement 1314810 1314879 + VariableDeclarationList 1314810 1314878 + VariableDeclaration 1314847 1314878 + Identifier 1314847 1314858 + UnionType 1314859 1314878 + StringKeyword 1314859 1314866 + UndefinedKeyword 1314868 1314878 + IfStatement 1314879 1315692 + BinaryExpression 1314917 1315098 + BinaryExpression 1314917 1315014 + PropertyAccessExpression 1314917 1314938 + Identifier 1314917 1314921 + Identifier 1314922 1314938 + AmpersandAmpersandToken 1314938 1314941 + CallExpression 1314941 1315014 + Identifier 1314941 1314954 + PropertyAccessExpression 1314955 1314976 + Identifier 1314955 1314959 + Identifier 1314960 1314976 + ArrowFunction 1314977 1315013 + Parameter 1314977 1314979 + Identifier 1314977 1314979 + EqualsGreaterThanToken 1314979 1314982 + BinaryExpression 1314982 1315013 + Identifier 1314982 1314984 + EqualsEqualsEqualsToken 1314984 1314988 + Identifier 1314988 1315013 + AmpersandAmpersandToken 1315014 1315017 + BinaryExpression 1315017 1315098 + CallExpression 1315017 1315063 + Identifier 1315017 1315037 + Identifier 1315038 1315062 + EqualsEqualsEqualsToken 1315063 1315067 + CallExpression 1315067 1315098 + Identifier 1315067 1315087 + Identifier 1315088 1315097 + Block 1315099 1315692 + VariableStatement 1315101 1315213 + VariableDeclarationList 1315101 1315212 + VariableDeclaration 1315144 1315212 + Identifier 1315144 1315160 + AsExpression 1315162 1315212 + PropertyAccessExpression 1315162 1315184 + Identifier 1315162 1315167 + Identifier 1315168 1315184 + TypeReference 1315187 1315212 + Identifier 1315187 1315212 + ExpressionStatement 1315213 1315313 + CallExpression 1315213 1315312 + PropertyAccessExpression 1315213 1315267 + Identifier 1315213 1315256 + Identifier 1315257 1315267 + Identifier 1315268 1315283 + Identifier 1315284 1315311 + VariableStatement 1315313 1315388 + VariableDeclarationList 1315313 1315387 + VariableDeclaration 1315358 1315387 + Identifier 1315358 1315363 + NonNullExpression 1315365 1315387 + PropertyAccessExpression 1315365 1315386 + Identifier 1315365 1315381 + Identifier 1315382 1315386 + ExpressionStatement 1315388 1315443 + BinaryExpression 1315388 1315442 + Identifier 1315388 1315435 + EqualsToken 1315435 1315437 + Identifier 1315437 1315442 + IfStatement 1315443 1315657 + CallExpression 1315487 1315505 + Identifier 1315487 1315499 + Identifier 1315500 1315504 + Block 1315506 1315657 + ExpressionStatement 1315508 1315618 + BinaryExpression 1315508 1315617 + Identifier 1315508 1315560 + EqualsToken 1315560 1315562 + CallExpression 1315562 1315617 + Identifier 1315562 1315598 + Identifier 1315599 1315603 + Identifier 1315604 1315616 + IfStatement 1315692 1316313 + BinaryExpression 1315730 1315754 + Identifier 1315730 1315740 + ExclamationEqualsEqualsToken 1315740 1315744 + Identifier 1315744 1315754 + Block 1315755 1316033 + ExpressionStatement 1315757 1315998 + CallExpression 1315757 1315997 + Identifier 1315757 1315819 + PropertyAccessExpression 1315820 1315935 + Identifier 1315820 1315831 + Identifier 1315832 1315935 + CallExpression 1315936 1315957 + Identifier 1315936 1315951 + Identifier 1315952 1315956 + CallExpression 1315958 1315984 + Identifier 1315958 1315971 + Identifier 1315972 1315983 + Identifier 1315985 1315996 + Block 1316071 1316313 + ExpressionStatement 1316073 1316278 + CallExpression 1316073 1316277 + Identifier 1316073 1316135 + PropertyAccessExpression 1316136 1316227 + Identifier 1316136 1316147 + Identifier 1316148 1316227 + CallExpression 1316228 1316249 + Identifier 1316228 1316243 + Identifier 1316244 1316248 + CallExpression 1316250 1316276 + Identifier 1316250 1316263 + Identifier 1316264 1316275 + ReturnStatement 1316371 1316409 + TrueKeyword 1316403 1316408 + IfStatement 1316432 1316860 + BinaryExpression 1316458 1316598 + Identifier 1316458 1316468 + AmpersandAmpersandToken 1316468 1316471 + PrefixUnaryExpression 1316471 1316598 + CallExpression 1316473 1316598 + Identifier 1316473 1316484 + CallExpression 1316485 1316506 + Identifier 1316485 1316500 + Identifier 1316501 1316505 + CallExpression 1316507 1316562 + Identifier 1316507 1316532 + Identifier 1316533 1316543 + PropertyAccessExpression 1316544 1316561 + Identifier 1316544 1316549 + Identifier 1316550 1316561 + PropertyAccessExpression 1316563 1316583 + Identifier 1316563 1316578 + Identifier 1316579 1316583 + Identifier 1316584 1316597 + Block 1316599 1316860 + IfStatement 1316601 1316799 + Identifier 1316631 1316643 + Block 1316644 1316799 + ExpressionStatement 1316646 1316772 + CallExpression 1316646 1316771 + Identifier 1316646 1316699 + PropertyAccessExpression 1316700 1316748 + Identifier 1316700 1316711 + Identifier 1316712 1316748 + CallExpression 1316749 1316770 + Identifier 1316749 1316764 + Identifier 1316765 1316769 + ReturnStatement 1316799 1316837 + TrueKeyword 1316831 1316836 + ReturnStatement 1316894 1316921 + FalseKeyword 1316914 1316920 + FunctionDeclaration 1316932 1317162 + Identifier 1316952 1316980 + Parameter 1316981 1316993 + Identifier 1316981 1316985 + TypeReference 1316986 1316993 + Identifier 1316986 1316993 + Parameter 1316994 1317012 + Identifier 1316994 1317004 + TypeReference 1317005 1317012 + Identifier 1317005 1317012 + Block 1317013 1317162 + ReturnStatement 1317015 1317151 + BinaryExpression 1317035 1317150 + BinaryExpression 1317035 1317087 + PropertyAccessExpression 1317035 1317057 + Identifier 1317035 1317040 + Identifier 1317041 1317057 + AmpersandAmpersandToken 1317057 1317060 + PropertyAccessExpression 1317060 1317087 + Identifier 1317060 1317070 + Identifier 1317071 1317087 + AmpersandAmpersandToken 1317087 1317090 + BinaryExpression 1317090 1317150 + PropertyAccessExpression 1317090 1317119 + PropertyAccessExpression 1317090 1317112 + Identifier 1317090 1317095 + Identifier 1317096 1317112 + Identifier 1317113 1317119 + EqualsEqualsEqualsToken 1317119 1317123 + PropertyAccessExpression 1317123 1317150 + Identifier 1317123 1317133 + Identifier 1317134 1317150 + FunctionDeclaration 1317162 1321904 + Identifier 1317182 1317211 + Parameter 1317212 1317224 + Identifier 1317212 1317218 + TypeReference 1317219 1317224 + Identifier 1317219 1317224 + Parameter 1317225 1317238 + Identifier 1317225 1317232 + TypeReference 1317233 1317238 + Identifier 1317233 1317238 + Parameter 1317239 1317261 + Identifier 1317239 1317252 + BooleanKeyword 1317253 1317261 + Parameter 1317262 1317299 + Identifier 1317262 1317280 + TypeReference 1317281 1317299 + Identifier 1317281 1317299 + TypeReference 1317301 1317309 + Identifier 1317301 1317309 + Block 1317309 1321904 + IfStatement 1317311 1319455 + BinaryExpression 1317649 1317679 + PropertyAccessExpression 1317649 1317661 + Identifier 1317649 1317655 + Identifier 1317656 1317661 + AmpersandToken 1317661 1317663 + PropertyAccessExpression 1317663 1317679 + Identifier 1317663 1317673 + Identifier 1317674 1317679 + Block 1317680 1319455 + IfStatement 1317682 1319087 + BinaryExpression 1317704 1317734 + PropertyAccessExpression 1317704 1317716 + Identifier 1317704 1317710 + Identifier 1317711 1317716 + AmpersandToken 1317716 1317718 + PropertyAccessExpression 1317718 1317734 + Identifier 1317718 1317728 + Identifier 1317729 1317734 + Block 1317735 1319087 + VariableStatement 1317737 1318293 + VariableDeclarationList 1317737 1318292 + VariableDeclaration 1318248 1318292 + Identifier 1318248 1318261 + PropertyAccessExpression 1318263 1318292 + ParenthesizedExpression 1318263 1318285 + AsExpression 1318265 1318284 + Identifier 1318265 1318271 + TypeReference 1318274 1318284 + Identifier 1318274 1318284 + Identifier 1318286 1318292 + IfStatement 1318293 1318534 + BinaryExpression 1318319 1318462 + BinaryExpression 1318319 1318400 + BinaryExpression 1318319 1318378 + Identifier 1318319 1318331 + AmpersandAmpersandToken 1318331 1318334 + BinaryExpression 1318334 1318378 + PropertyAccessExpression 1318334 1318353 + Identifier 1318334 1318347 + Identifier 1318348 1318353 + AmpersandToken 1318353 1318355 + PropertyAccessExpression 1318355 1318378 + Identifier 1318355 1318365 + Identifier 1318366 1318378 + AmpersandAmpersandToken 1318378 1318381 + PropertyAccessExpression 1318381 1318400 + Identifier 1318381 1318388 + Identifier 1318389 1318400 + AmpersandAmpersandToken 1318400 1318403 + CallExpression 1318403 1318462 + Identifier 1318403 1318412 + PropertyAccessExpression 1318413 1318453 + ParenthesizedExpression 1318413 1318447 + AsExpression 1318414 1318446 + Identifier 1318414 1318426 + TypeReference 1318429 1318446 + Identifier 1318429 1318446 + Identifier 1318448 1318453 + Identifier 1318454 1318461 + Block 1318463 1318534 + ReturnStatement 1318465 1318511 + PropertyAccessExpression 1318497 1318510 + Identifier 1318497 1318505 + Identifier 1318506 1318510 + VariableStatement 1318534 1318841 + VariableDeclarationList 1318534 1318840 + VariableDeclaration 1318796 1318840 + Identifier 1318796 1318809 + PropertyAccessExpression 1318811 1318840 + ParenthesizedExpression 1318811 1318833 + AsExpression 1318813 1318832 + Identifier 1318813 1318819 + TypeReference 1318822 1318832 + Identifier 1318822 1318832 + Identifier 1318834 1318840 + IfStatement 1318841 1319068 + BinaryExpression 1318867 1318996 + BinaryExpression 1318867 1318941 + BinaryExpression 1318867 1318919 + Identifier 1318867 1318879 + AmpersandAmpersandToken 1318879 1318882 + BinaryExpression 1318882 1318919 + PropertyAccessExpression 1318882 1318901 + Identifier 1318882 1318895 + Identifier 1318896 1318901 + AmpersandToken 1318901 1318903 + PropertyAccessExpression 1318903 1318919 + Identifier 1318903 1318913 + Identifier 1318914 1318919 + AmpersandAmpersandToken 1318919 1318922 + PropertyAccessExpression 1318922 1318941 + Identifier 1318922 1318929 + Identifier 1318930 1318941 + AmpersandAmpersandToken 1318941 1318944 + CallExpression 1318944 1318996 + Identifier 1318944 1318953 + PropertyAccessExpression 1318954 1318987 + ParenthesizedExpression 1318954 1318981 + AsExpression 1318955 1318980 + Identifier 1318955 1318967 + TypeReference 1318970 1318980 + Identifier 1318970 1318980 + Identifier 1318982 1318987 + Identifier 1318988 1318995 + Block 1318997 1319068 + ReturnStatement 1318999 1319045 + PropertyAccessExpression 1319031 1319044 + Identifier 1319031 1319039 + Identifier 1319040 1319044 + ReturnStatement 1319087 1319440 + ConditionalExpression 1319111 1319439 + BinaryExpression 1319111 1319143 + Identifier 1319111 1319120 + EqualsEqualsEqualsToken 1319120 1319124 + Identifier 1319124 1319143 + QuestionToken 1319143 1319145 + CallExpression 1319145 1319291 + Identifier 1319145 1319188 + AsExpression 1319189 1319208 + Identifier 1319189 1319195 + TypeReference 1319198 1319208 + Identifier 1319198 1319208 + Identifier 1319209 1319216 + BinaryExpression 1319217 1319271 + Identifier 1319217 1319230 + AmpersandAmpersandToken 1319230 1319233 + PrefixUnaryExpression 1319233 1319271 + ParenthesizedExpression 1319235 1319271 + BinaryExpression 1319236 1319270 + PropertyAccessExpression 1319236 1319248 + Identifier 1319236 1319242 + Identifier 1319243 1319248 + AmpersandToken 1319248 1319250 + PropertyAccessExpression 1319250 1319270 + Identifier 1319250 1319260 + Identifier 1319261 1319270 + Identifier 1319272 1319290 + ColonToken 1319291 1319293 + CallExpression 1319293 1319439 + Identifier 1319293 1319336 + AsExpression 1319337 1319356 + Identifier 1319337 1319343 + TypeReference 1319346 1319356 + Identifier 1319346 1319356 + Identifier 1319357 1319364 + BinaryExpression 1319365 1319419 + Identifier 1319365 1319378 + AmpersandAmpersandToken 1319378 1319381 + PrefixUnaryExpression 1319381 1319419 + ParenthesizedExpression 1319383 1319419 + BinaryExpression 1319384 1319418 + PropertyAccessExpression 1319384 1319396 + Identifier 1319384 1319390 + Identifier 1319391 1319396 + AmpersandToken 1319396 1319398 + PropertyAccessExpression 1319398 1319418 + Identifier 1319398 1319408 + Identifier 1319409 1319418 + Identifier 1319420 1319438 + IfStatement 1319455 1319743 + BinaryExpression 1319473 1319503 + PropertyAccessExpression 1319473 1319485 + Identifier 1319473 1319479 + Identifier 1319480 1319485 + AmpersandToken 1319485 1319487 + PropertyAccessExpression 1319487 1319503 + Identifier 1319487 1319497 + Identifier 1319498 1319503 + Block 1319504 1319743 + ReturnStatement 1319506 1319728 + CallExpression 1319530 1319727 + Identifier 1319530 1319552 + CallExpression 1319553 1319590 + Identifier 1319553 1319582 + Identifier 1319583 1319589 + AsExpression 1319591 1319611 + Identifier 1319591 1319598 + TypeReference 1319601 1319611 + Identifier 1319601 1319611 + BinaryExpression 1319612 1319707 + BinaryExpression 1319612 1319666 + Identifier 1319612 1319625 + AmpersandAmpersandToken 1319625 1319628 + PrefixUnaryExpression 1319628 1319666 + ParenthesizedExpression 1319630 1319666 + BinaryExpression 1319631 1319665 + PropertyAccessExpression 1319631 1319643 + Identifier 1319631 1319637 + Identifier 1319638 1319643 + AmpersandToken 1319643 1319645 + PropertyAccessExpression 1319645 1319665 + Identifier 1319645 1319655 + Identifier 1319656 1319665 + AmpersandAmpersandToken 1319666 1319669 + PrefixUnaryExpression 1319669 1319707 + ParenthesizedExpression 1319671 1319707 + BinaryExpression 1319672 1319706 + PropertyAccessExpression 1319672 1319684 + Identifier 1319672 1319678 + Identifier 1319679 1319684 + AmpersandToken 1319684 1319686 + PropertyAccessExpression 1319686 1319706 + Identifier 1319686 1319696 + Identifier 1319697 1319706 + Identifier 1319708 1319726 + IfStatement 1319743 1319939 + BinaryExpression 1319761 1319798 + PropertyAccessExpression 1319761 1319773 + Identifier 1319761 1319767 + Identifier 1319768 1319773 + AmpersandToken 1319773 1319775 + PropertyAccessExpression 1319775 1319798 + Identifier 1319775 1319785 + Identifier 1319786 1319798 + Block 1319799 1319939 + ReturnStatement 1319801 1319924 + CallExpression 1319825 1319923 + Identifier 1319825 1319847 + Identifier 1319848 1319854 + AsExpression 1319855 1319882 + Identifier 1319855 1319862 + TypeReference 1319865 1319882 + Identifier 1319865 1319882 + Identifier 1319883 1319896 + PropertyAccessExpression 1319897 1319922 + Identifier 1319897 1319915 + Identifier 1319916 1319922 + IfStatement 1319939 1321328 + BinaryExpression 1320478 1320547 + BinaryExpression 1320478 1320509 + Identifier 1320478 1320486 + EqualsEqualsEqualsToken 1320486 1320490 + Identifier 1320490 1320509 + AmpersandAmpersandToken 1320509 1320512 + BinaryExpression 1320512 1320547 + PropertyAccessExpression 1320512 1320525 + Identifier 1320512 1320519 + Identifier 1320520 1320525 + AmpersandToken 1320525 1320527 + PropertyAccessExpression 1320527 1320547 + Identifier 1320527 1320537 + Identifier 1320538 1320547 + Block 1320548 1321328 + VariableStatement 1320550 1320719 + VariableDeclarationList 1320550 1320718 + VariableDeclaration 1320573 1320718 + Identifier 1320573 1320585 + CallExpression 1320587 1320718 + Identifier 1320587 1320595 + PropertyAccessExpression 1320596 1320630 + ParenthesizedExpression 1320596 1320624 + AsExpression 1320597 1320623 + Identifier 1320597 1320603 + TypeReference 1320606 1320623 + Identifier 1320606 1320623 + Identifier 1320625 1320630 + ArrowFunction 1320631 1320717 + Parameter 1320631 1320633 + Identifier 1320631 1320633 + EqualsGreaterThanToken 1320633 1320636 + ConditionalExpression 1320636 1320717 + BinaryExpression 1320636 1320669 + PropertyAccessExpression 1320636 1320644 + Identifier 1320636 1320638 + Identifier 1320639 1320644 + AmpersandToken 1320644 1320646 + PropertyAccessExpression 1320646 1320669 + Identifier 1320646 1320656 + Identifier 1320657 1320669 + QuestionToken 1320669 1320671 + BinaryExpression 1320671 1320713 + CallExpression 1320671 1320698 + Identifier 1320671 1320695 + Identifier 1320696 1320697 + BarBarToken 1320698 1320701 + Identifier 1320701 1320713 + ColonToken 1320713 1320715 + Identifier 1320715 1320717 + IfStatement 1320719 1321313 + BinaryExpression 1320741 1320791 + Identifier 1320741 1320752 + ExclamationEqualsEqualsToken 1320752 1320756 + PropertyAccessExpression 1320756 1320791 + ParenthesizedExpression 1320756 1320785 + AsExpression 1320758 1320784 + Identifier 1320758 1320764 + TypeReference 1320767 1320784 + Identifier 1320767 1320784 + Identifier 1320786 1320791 + Block 1320792 1321313 + ExpressionStatement 1320794 1320858 + BinaryExpression 1320794 1320857 + Identifier 1320794 1320822 + EqualsToken 1320822 1320824 + CallExpression 1320824 1320857 + Identifier 1320824 1320844 + Identifier 1320845 1320856 + IfStatement 1320858 1320987 + BinaryExpression 1320884 1320914 + PropertyAccessExpression 1320884 1320896 + Identifier 1320884 1320890 + Identifier 1320891 1320896 + AmpersandToken 1320896 1320898 + PropertyAccessExpression 1320898 1320914 + Identifier 1320898 1320908 + Identifier 1320909 1320914 + Block 1320915 1320987 + ReturnStatement 1320917 1320964 + PropertyAccessExpression 1320949 1320963 + Identifier 1320949 1320957 + Identifier 1320958 1320963 + IfStatement 1320987 1321294 + PrefixUnaryExpression 1321013 1321053 + ParenthesizedExpression 1321014 1321053 + BinaryExpression 1321015 1321052 + PropertyAccessExpression 1321015 1321027 + Identifier 1321015 1321021 + Identifier 1321022 1321027 + AmpersandToken 1321027 1321029 + PropertyAccessExpression 1321029 1321052 + Identifier 1321029 1321039 + Identifier 1321040 1321052 + Block 1321054 1321294 + ReturnStatement 1321056 1321271 + BinaryExpression 1321088 1321270 + CallExpression 1321088 1321163 + Identifier 1321088 1321100 + Identifier 1321101 1321107 + Identifier 1321108 1321115 + PropertyAccessExpression 1321116 1321138 + Identifier 1321116 1321131 + Identifier 1321132 1321138 + FalseKeyword 1321139 1321162 + BarBarToken 1321163 1321166 + CallExpression 1321166 1321270 + Identifier 1321166 1321207 + Identifier 1321208 1321214 + Identifier 1321215 1321222 + PropertyAccessExpression 1321223 1321245 + Identifier 1321223 1321238 + Identifier 1321239 1321245 + FalseKeyword 1321246 1321269 + ReturnStatement 1321328 1321893 + CallExpression 1321784 1321892 + Identifier 1321784 1321806 + AsExpression 1321807 1321833 + Identifier 1321807 1321813 + TypeReference 1321816 1321833 + Identifier 1321816 1321833 + Identifier 1321834 1321841 + FalseKeyword 1321842 1321865 + PropertyAccessExpression 1321866 1321891 + Identifier 1321866 1321884 + Identifier 1321885 1321891 + FunctionDeclaration 1321904 1322476 + Identifier 1321924 1321950 + Parameter 1321951 1321982 + Identifier 1321951 1321957 + TypeReference 1321958 1321982 + Identifier 1321958 1321982 + Parameter 1321983 1322015 + Identifier 1321983 1321990 + TypeReference 1321991 1322015 + Identifier 1321991 1322015 + TypeReference 1322017 1322025 + Identifier 1322017 1322025 + Block 1322025 1322476 + VariableStatement 1322027 1322067 + VariableDeclarationList 1322027 1322066 + VariableDeclaration 1322044 1322066 + Identifier 1322044 1322051 + PropertyAccessExpression 1322053 1322066 + Identifier 1322053 1322061 + Identifier 1322062 1322066 + VariableStatement 1322067 1322114 + VariableDeclarationList 1322067 1322113 + VariableDeclaration 1322086 1322113 + Identifier 1322086 1322098 + PropertyAccessExpression 1322100 1322113 + Identifier 1322100 1322107 + Identifier 1322108 1322113 + ForOfStatement 1322114 1322437 + VariableDeclarationList 1322133 1322149 + VariableDeclaration 1322138 1322149 + Identifier 1322138 1322149 + Identifier 1322152 1322164 + Block 1322165 1322437 + VariableStatement 1322167 1322291 + VariableDeclarationList 1322167 1322290 + VariableDeclaration 1322190 1322290 + Identifier 1322190 1322198 + CallExpression 1322200 1322290 + Identifier 1322200 1322222 + Identifier 1322223 1322233 + Identifier 1322234 1322241 + FalseKeyword 1322242 1322265 + PropertyAccessExpression 1322266 1322289 + Identifier 1322266 1322284 + Identifier 1322285 1322289 + IfStatement 1322291 1322386 + PrefixUnaryExpression 1322313 1322321 + Identifier 1322314 1322321 + Block 1322322 1322386 + ReturnStatement 1322324 1322367 + PropertyAccessExpression 1322352 1322366 + Identifier 1322352 1322360 + Identifier 1322361 1322366 + ExpressionStatement 1322386 1322422 + BinaryExpression 1322386 1322421 + Identifier 1322386 1322410 + AmpersandEqualsToken 1322410 1322413 + Identifier 1322413 1322421 + ReturnStatement 1322437 1322465 + Identifier 1322457 1322464 + FunctionDeclaration 1322476 1325898 + Identifier 1322496 1322518 + Parameter 1322519 1322531 + Identifier 1322519 1322525 + TypeReference 1322526 1322531 + Identifier 1322526 1322531 + Parameter 1322532 1322564 + Identifier 1322532 1322539 + TypeReference 1322540 1322564 + Identifier 1322540 1322564 + Parameter 1322565 1322587 + Identifier 1322565 1322578 + BooleanKeyword 1322579 1322587 + Parameter 1322588 1322625 + Identifier 1322588 1322606 + TypeReference 1322607 1322625 + Identifier 1322607 1322625 + TypeReference 1322627 1322635 + Identifier 1322627 1322635 + Block 1322635 1325898 + VariableStatement 1322637 1322684 + VariableDeclarationList 1322637 1322683 + VariableDeclaration 1322656 1322683 + Identifier 1322656 1322668 + PropertyAccessExpression 1322670 1322683 + Identifier 1322670 1322677 + Identifier 1322678 1322683 + IfStatement 1322684 1325106 + BinaryExpression 1322702 1322732 + PropertyAccessExpression 1322702 1322714 + Identifier 1322702 1322708 + Identifier 1322709 1322714 + AmpersandToken 1322714 1322716 + PropertyAccessExpression 1322716 1322732 + Identifier 1322716 1322726 + Identifier 1322727 1322732 + Block 1322733 1325106 + IfStatement 1322735 1322854 + CallExpression 1322757 1322790 + Identifier 1322757 1322769 + Identifier 1322770 1322781 + Identifier 1322782 1322789 + Block 1322791 1322854 + ReturnStatement 1322793 1322835 + PropertyAccessExpression 1322821 1322834 + Identifier 1322821 1322829 + Identifier 1322830 1322834 + IfStatement 1322854 1324688 + BinaryExpression 1322876 1323313 + BinaryExpression 1322876 1323027 + BinaryExpression 1322876 1322984 + BinaryExpression 1322876 1322929 + Identifier 1322876 1322906 + ExclamationEqualsEqualsToken 1322906 1322910 + Identifier 1322910 1322929 + AmpersandAmpersandToken 1322929 1322932 + BinaryExpression 1322932 1322984 + CallExpression 1322932 1322955 + Identifier 1322932 1322947 + Identifier 1322948 1322954 + AmpersandToken 1322955 1322957 + PropertyAccessExpression 1322957 1322984 + Identifier 1322957 1322969 + Identifier 1322970 1322984 + AmpersandAmpersandToken 1322984 1322987 + PrefixUnaryExpression 1322987 1323027 + ParenthesizedExpression 1322989 1323027 + BinaryExpression 1322990 1323026 + PropertyAccessExpression 1322990 1323002 + Identifier 1322990 1322996 + Identifier 1322997 1323002 + AmpersandToken 1323002 1323004 + PropertyAccessExpression 1323004 1323026 + Identifier 1323004 1323014 + Identifier 1323015 1323026 + AmpersandAmpersandToken 1323027 1323030 + ParenthesizedExpression 1323030 1323313 + BinaryExpression 1323032 1323290 + BinaryExpression 1323032 1323151 + PropertyAccessExpression 1323032 1323070 + Identifier 1323032 1323064 + Identifier 1323065 1323070 + AmpersandToken 1323070 1323072 + ParenthesizedExpression 1323072 1323151 + BinaryExpression 1323074 1323150 + BinaryExpression 1323074 1323124 + PropertyAccessExpression 1323074 1323097 + Identifier 1323074 1323083 + Identifier 1323084 1323097 + BarToken 1323097 1323099 + PropertyAccessExpression 1323099 1323124 + Identifier 1323099 1323109 + Identifier 1323110 1323124 + BarToken 1323124 1323126 + PropertyAccessExpression 1323126 1323150 + Identifier 1323126 1323136 + Identifier 1323137 1323150 + BarBarToken 1323151 1323154 + BinaryExpression 1323154 1323290 + ParenthesizedExpression 1323154 1323248 + BinaryExpression 1323181 1323247 + BinaryExpression 1323181 1323209 + Identifier 1323181 1323189 + EqualsEqualsEqualsToken 1323189 1323193 + Identifier 1323193 1323209 + BarBarToken 1323209 1323212 + BinaryExpression 1323212 1323247 + Identifier 1323212 1323221 + EqualsEqualsEqualsToken 1323221 1323225 + Identifier 1323225 1323247 + AmpersandAmpersandToken 1323248 1323251 + BinaryExpression 1323251 1323290 + PropertyAccessExpression 1323251 1323264 + Identifier 1323251 1323258 + Identifier 1323259 1323264 + AmpersandToken 1323264 1323266 + PropertyAccessExpression 1323266 1323290 + Identifier 1323266 1323276 + Identifier 1323277 1323290 + Block 1323332 1324688 + VariableStatement 1323334 1324211 + VariableDeclarationList 1323334 1324210 + VariableDeclaration 1324055 1324210 + Identifier 1324055 1324069 + ConditionalExpression 1324071 1324210 + BinaryExpression 1324071 1324124 + Identifier 1324071 1324078 + EqualsEqualsEqualsToken 1324078 1324082 + PropertyAccessExpression 1324082 1324124 + ParenthesizedExpression 1324082 1324112 + AsExpression 1324084 1324111 + Identifier 1324084 1324090 + TypeReference 1324093 1324111 + Identifier 1324093 1324111 + Identifier 1324113 1324124 + QuestionToken 1324124 1324126 + PropertyAccessExpression 1324126 1324166 + ParenthesizedExpression 1324126 1324156 + AsExpression 1324128 1324155 + Identifier 1324128 1324134 + TypeReference 1324137 1324155 + Identifier 1324137 1324155 + Identifier 1324157 1324166 + ColonToken 1324166 1324168 + PropertyAccessExpression 1324168 1324210 + ParenthesizedExpression 1324168 1324198 + AsExpression 1324170 1324197 + Identifier 1324170 1324176 + TypeReference 1324179 1324197 + Identifier 1324179 1324197 + Identifier 1324199 1324210 + VariableStatement 1324211 1324498 + VariableDeclarationList 1324211 1324497 + VariableDeclaration 1324238 1324497 + Identifier 1324238 1324248 + ConditionalExpression 1324250 1324497 + BinaryExpression 1324250 1324289 + PropertyAccessExpression 1324250 1324263 + Identifier 1324250 1324257 + Identifier 1324258 1324263 + AmpersandToken 1324263 1324265 + PropertyAccessExpression 1324265 1324289 + Identifier 1324265 1324275 + Identifier 1324276 1324289 + QuestionToken 1324289 1324291 + Identifier 1324291 1324302 + ColonToken 1324302 1324304 + ConditionalExpression 1324304 1324497 + BinaryExpression 1324304 1324368 + PropertyAccessExpression 1324304 1324342 + Identifier 1324304 1324336 + Identifier 1324337 1324342 + AmpersandToken 1324342 1324344 + PropertyAccessExpression 1324344 1324368 + Identifier 1324344 1324354 + Identifier 1324355 1324368 + QuestionToken 1324368 1324370 + Identifier 1324370 1324381 + ColonToken 1324381 1324383 + ConditionalExpression 1324383 1324497 + BinaryExpression 1324383 1324447 + PropertyAccessExpression 1324383 1324421 + Identifier 1324383 1324415 + Identifier 1324416 1324421 + AmpersandToken 1324421 1324423 + PropertyAccessExpression 1324423 1324447 + Identifier 1324423 1324433 + Identifier 1324434 1324447 + QuestionToken 1324447 1324449 + Identifier 1324449 1324460 + ColonToken 1324460 1324462 + Identifier 1324462 1324497 + ReturnStatement 1324498 1324669 + ConditionalExpression 1324526 1324668 + BinaryExpression 1324526 1324637 + BinaryExpression 1324526 1324576 + Identifier 1324526 1324536 + AmpersandAmpersandToken 1324536 1324539 + CallExpression 1324539 1324576 + Identifier 1324539 1324552 + Identifier 1324553 1324564 + Identifier 1324565 1324575 + BarBarToken 1324576 1324579 + BinaryExpression 1324579 1324637 + Identifier 1324579 1324593 + AmpersandAmpersandToken 1324593 1324596 + CallExpression 1324596 1324637 + Identifier 1324596 1324609 + Identifier 1324610 1324621 + Identifier 1324622 1324636 + QuestionToken 1324637 1324639 + PropertyAccessExpression 1324639 1324652 + Identifier 1324639 1324647 + Identifier 1324648 1324652 + ColonToken 1324652 1324654 + PropertyAccessExpression 1324654 1324668 + Identifier 1324654 1324662 + Identifier 1324663 1324668 + VariableStatement 1324688 1324784 + VariableDeclarationList 1324688 1324783 + VariableDeclaration 1324711 1324783 + Identifier 1324711 1324717 + CallExpression 1324719 1324783 + Identifier 1324719 1324754 + AsExpression 1324755 1324774 + Identifier 1324755 1324761 + TypeReference 1324764 1324774 + Identifier 1324764 1324774 + Identifier 1324775 1324782 + IfStatement 1324784 1325091 + Identifier 1324806 1324811 + Block 1324812 1325091 + VariableStatement 1324814 1324972 + VariableDeclarationList 1324814 1324971 + VariableDeclaration 1324841 1324971 + Identifier 1324841 1324849 + CallExpression 1324851 1324971 + Identifier 1324851 1324863 + Identifier 1324864 1324870 + Identifier 1324871 1324877 + PropertyAccessExpression 1324878 1324900 + Identifier 1324878 1324893 + Identifier 1324894 1324900 + FalseKeyword 1324901 1324924 + Identifier 1324925 1324951 + Identifier 1324952 1324970 + IfStatement 1324972 1325072 + Identifier 1324998 1325005 + Block 1325006 1325072 + ReturnStatement 1325008 1325049 + Identifier 1325040 1325048 + ForOfStatement 1325106 1325409 + VariableDeclarationList 1325125 1325135 + VariableDeclaration 1325130 1325135 + Identifier 1325130 1325135 + Identifier 1325138 1325150 + Block 1325151 1325409 + VariableStatement 1325153 1325306 + VariableDeclarationList 1325153 1325305 + VariableDeclaration 1325176 1325305 + Identifier 1325176 1325184 + CallExpression 1325186 1325305 + Identifier 1325186 1325198 + Identifier 1325199 1325205 + Identifier 1325206 1325211 + PropertyAccessExpression 1325212 1325234 + Identifier 1325212 1325227 + Identifier 1325228 1325234 + FalseKeyword 1325235 1325258 + Identifier 1325259 1325285 + Identifier 1325286 1325304 + IfStatement 1325306 1325394 + Identifier 1325328 1325335 + Block 1325336 1325394 + ReturnStatement 1325338 1325375 + Identifier 1325366 1325374 + IfStatement 1325409 1325852 + Identifier 1325427 1325439 + Block 1325440 1325852 + VariableStatement 1325442 1325625 + VariableDeclarationList 1325442 1325624 + VariableDeclaration 1325556 1325624 + Identifier 1325556 1325573 + CallExpression 1325575 1325624 + Identifier 1325575 1325595 + Identifier 1325596 1325602 + Identifier 1325603 1325610 + Identifier 1325611 1325623 + IfStatement 1325625 1325837 + Identifier 1325647 1325663 + Block 1325664 1325837 + ExpressionStatement 1325666 1325818 + CallExpression 1325666 1325817 + Identifier 1325666 1325699 + Identifier 1325700 1325706 + Identifier 1325707 1325724 + PropertyAccessExpression 1325725 1325747 + Identifier 1325725 1325740 + Identifier 1325741 1325747 + TrueKeyword 1325748 1325770 + Identifier 1325771 1325797 + Identifier 1325798 1325816 + ReturnStatement 1325852 1325887 + PropertyAccessExpression 1325872 1325886 + Identifier 1325872 1325880 + Identifier 1325881 1325886 + FunctionDeclaration 1325898 1326526 + Identifier 1325918 1325940 + Parameter 1325941 1325953 + Identifier 1325941 1325947 + TypeReference 1325948 1325953 + Identifier 1325948 1325953 + Parameter 1325954 1325979 + Identifier 1325954 1325961 + TypeReference 1325962 1325979 + Identifier 1325962 1325979 + Parameter 1325980 1326002 + Identifier 1325980 1325993 + BooleanKeyword 1325994 1326002 + Parameter 1326003 1326040 + Identifier 1326003 1326021 + TypeReference 1326022 1326040 + Identifier 1326022 1326040 + TypeReference 1326042 1326050 + Identifier 1326042 1326050 + Block 1326050 1326526 + VariableStatement 1326052 1326092 + VariableDeclarationList 1326052 1326091 + VariableDeclaration 1326069 1326091 + Identifier 1326069 1326076 + PropertyAccessExpression 1326078 1326091 + Identifier 1326078 1326086 + Identifier 1326087 1326091 + VariableStatement 1326092 1326139 + VariableDeclarationList 1326092 1326138 + VariableDeclaration 1326111 1326138 + Identifier 1326111 1326123 + PropertyAccessExpression 1326125 1326138 + Identifier 1326125 1326132 + Identifier 1326133 1326138 + ForOfStatement 1326139 1326487 + VariableDeclarationList 1326158 1326174 + VariableDeclaration 1326163 1326174 + Identifier 1326163 1326174 + Identifier 1326177 1326189 + Block 1326190 1326487 + VariableStatement 1326192 1326341 + VariableDeclarationList 1326192 1326340 + VariableDeclaration 1326215 1326340 + Identifier 1326215 1326223 + CallExpression 1326225 1326340 + Identifier 1326225 1326237 + Identifier 1326238 1326244 + Identifier 1326245 1326256 + PropertyAccessExpression 1326257 1326279 + Identifier 1326257 1326272 + Identifier 1326273 1326279 + Identifier 1326280 1326293 + Identifier 1326294 1326320 + Identifier 1326321 1326339 + IfStatement 1326341 1326436 + PrefixUnaryExpression 1326363 1326371 + Identifier 1326364 1326371 + Block 1326372 1326436 + ReturnStatement 1326374 1326417 + PropertyAccessExpression 1326402 1326416 + Identifier 1326402 1326410 + Identifier 1326411 1326416 + ExpressionStatement 1326436 1326472 + BinaryExpression 1326436 1326471 + Identifier 1326436 1326460 + AmpersandEqualsToken 1326460 1326463 + Identifier 1326463 1326471 + ReturnStatement 1326487 1326515 + Identifier 1326507 1326514 + FunctionDeclaration 1326526 1327284 + Identifier 1326546 1326568 + Parameter 1326569 1326600 + Identifier 1326569 1326575 + TypeReference 1326576 1326600 + Identifier 1326576 1326600 + Parameter 1326601 1326614 + Identifier 1326601 1326608 + TypeReference 1326609 1326614 + Identifier 1326609 1326614 + Parameter 1326615 1326637 + Identifier 1326615 1326628 + BooleanKeyword 1326629 1326637 + Parameter 1326638 1326675 + Identifier 1326638 1326656 + TypeReference 1326657 1326675 + Identifier 1326657 1326675 + TypeReference 1326677 1326685 + Identifier 1326677 1326685 + Block 1326685 1327284 + VariableStatement 1326687 1326734 + VariableDeclarationList 1326687 1326733 + VariableDeclaration 1326706 1326733 + Identifier 1326706 1326718 + PropertyAccessExpression 1326720 1326733 + Identifier 1326720 1326727 + Identifier 1326728 1326733 + IfStatement 1326734 1326875 + BinaryExpression 1326752 1326819 + BinaryExpression 1326752 1326782 + PropertyAccessExpression 1326752 1326764 + Identifier 1326752 1326758 + Identifier 1326759 1326764 + AmpersandToken 1326764 1326766 + PropertyAccessExpression 1326766 1326782 + Identifier 1326766 1326776 + Identifier 1326777 1326782 + AmpersandAmpersandToken 1326782 1326785 + CallExpression 1326785 1326819 + Identifier 1326785 1326798 + Identifier 1326799 1326810 + Identifier 1326811 1326818 + Block 1326820 1326875 + ReturnStatement 1326822 1326860 + PropertyAccessExpression 1326846 1326859 + Identifier 1326846 1326854 + Identifier 1326855 1326859 + VariableStatement 1326875 1326920 + VariableDeclarationList 1326875 1326919 + VariableDeclaration 1326894 1326919 + Identifier 1326894 1326898 + PropertyAccessExpression 1326900 1326919 + Identifier 1326900 1326912 + Identifier 1326913 1326919 + ForStatement 1326920 1327238 + VariableDeclarationList 1326939 1326948 + VariableDeclaration 1326942 1326948 + Identifier 1326942 1326944 + NumericLiteral 1326946 1326948 + BinaryExpression 1326949 1326957 + Identifier 1326949 1326951 + LessThanToken 1326951 1326953 + Identifier 1326953 1326957 + PostfixUnaryExpression 1326958 1326962 + Identifier 1326958 1326960 + Block 1326963 1327238 + VariableStatement 1326965 1327135 + VariableDeclarationList 1326965 1327134 + VariableDeclaration 1326988 1327134 + Identifier 1326988 1326996 + CallExpression 1326998 1327134 + Identifier 1326998 1327010 + ElementAccessExpression 1327011 1327025 + Identifier 1327011 1327022 + Identifier 1327023 1327024 + Identifier 1327026 1327033 + PropertyAccessExpression 1327034 1327056 + Identifier 1327034 1327049 + Identifier 1327050 1327056 + BinaryExpression 1327057 1327087 + Identifier 1327057 1327070 + AmpersandAmpersandToken 1327070 1327073 + BinaryExpression 1327073 1327087 + Identifier 1327073 1327075 + EqualsEqualsEqualsToken 1327075 1327079 + BinaryExpression 1327079 1327087 + Identifier 1327079 1327083 + MinusToken 1327083 1327085 + NumericLiteral 1327085 1327087 + Identifier 1327088 1327114 + Identifier 1327115 1327133 + IfStatement 1327135 1327223 + Identifier 1327157 1327164 + Block 1327165 1327223 + ReturnStatement 1327167 1327204 + Identifier 1327195 1327203 + ReturnStatement 1327238 1327273 + PropertyAccessExpression 1327258 1327272 + Identifier 1327258 1327266 + Identifier 1327267 1327272 + FunctionDeclaration 1327284 1327758 + Identifier 1327304 1327339 + Parameter 1327340 1327352 + Identifier 1327340 1327346 + TypeReference 1327347 1327352 + Identifier 1327347 1327352 + Parameter 1327353 1327366 + Identifier 1327353 1327360 + TypeReference 1327361 1327366 + Identifier 1327361 1327366 + Block 1327367 1327758 + IfStatement 1327369 1327719 + BinaryExpression 1327387 1327613 + BinaryExpression 1327387 1327551 + BinaryExpression 1327387 1327469 + BinaryExpression 1327387 1327435 + PropertyAccessExpression 1327387 1327417 + Identifier 1327387 1327411 + Identifier 1327412 1327417 + AmpersandToken 1327417 1327419 + PropertyAccessExpression 1327419 1327435 + Identifier 1327419 1327429 + Identifier 1327430 1327435 + AmpersandAmpersandToken 1327435 1327438 + BinaryExpression 1327438 1327469 + PropertyAccessExpression 1327438 1327451 + Identifier 1327438 1327445 + Identifier 1327446 1327451 + AmpersandToken 1327451 1327453 + PropertyAccessExpression 1327453 1327469 + Identifier 1327453 1327463 + Identifier 1327464 1327469 + AmpersandAmpersandToken 1327469 1327472 + PrefixUnaryExpression 1327472 1327551 + ParenthesizedExpression 1327491 1327551 + BinaryExpression 1327492 1327550 + PropertyAccessExpression 1327492 1327528 + ElementAccessExpression 1327492 1327522 + PropertyAccessExpression 1327492 1327519 + ParenthesizedExpression 1327492 1327513 + AsExpression 1327493 1327512 + Identifier 1327493 1327499 + TypeReference 1327502 1327512 + Identifier 1327502 1327512 + Identifier 1327514 1327519 + NumericLiteral 1327520 1327521 + Identifier 1327523 1327528 + AmpersandToken 1327528 1327530 + PropertyAccessExpression 1327530 1327550 + Identifier 1327530 1327540 + Identifier 1327541 1327550 + AmpersandAmpersandToken 1327551 1327554 + BinaryExpression 1327554 1327613 + PropertyAccessExpression 1327554 1327591 + ElementAccessExpression 1327554 1327585 + PropertyAccessExpression 1327554 1327582 + ParenthesizedExpression 1327554 1327576 + AsExpression 1327556 1327575 + Identifier 1327556 1327562 + TypeReference 1327565 1327575 + Identifier 1327565 1327575 + Identifier 1327577 1327582 + NumericLiteral 1327583 1327584 + Identifier 1327586 1327591 + AmpersandToken 1327591 1327593 + PropertyAccessExpression 1327593 1327613 + Identifier 1327593 1327603 + Identifier 1327604 1327613 + Block 1327628 1327719 + ReturnStatement 1327630 1327704 + CallExpression 1327654 1327703 + Identifier 1327654 1327673 + Identifier 1327674 1327680 + PrefixUnaryExpression 1327681 1327702 + PropertyAccessExpression 1327683 1327702 + Identifier 1327683 1327692 + Identifier 1327693 1327702 + ReturnStatement 1327719 1327747 + Identifier 1327739 1327746 + FunctionDeclaration 1327758 1330288 + Identifier 1327778 1327800 + Parameter 1327801 1327832 + Identifier 1327801 1327807 + TypeReference 1327808 1327832 + Identifier 1327808 1327832 + Parameter 1327833 1327846 + Identifier 1327833 1327840 + TypeReference 1327841 1327846 + Identifier 1327841 1327846 + Parameter 1327847 1327869 + Identifier 1327847 1327860 + BooleanKeyword 1327861 1327869 + Parameter 1327870 1327907 + Identifier 1327870 1327888 + TypeReference 1327889 1327907 + Identifier 1327889 1327907 + TypeReference 1327909 1327917 + Identifier 1327909 1327917 + Block 1327917 1330288 + VariableStatement 1327919 1327959 + VariableDeclarationList 1327919 1327958 + VariableDeclaration 1327936 1327958 + Identifier 1327936 1327943 + PropertyAccessExpression 1327945 1327958 + Identifier 1327945 1327953 + Identifier 1327954 1327958 + VariableStatement 1327959 1328006 + VariableDeclarationList 1327959 1328005 + VariableDeclaration 1327978 1328005 + Identifier 1327978 1327990 + PropertyAccessExpression 1327992 1328005 + Identifier 1327992 1327999 + Identifier 1328000 1328005 + VariableStatement 1328006 1328386 + VariableDeclarationList 1328006 1328385 + VariableDeclaration 1328295 1328385 + Identifier 1328295 1328319 + CallExpression 1328321 1328385 + Identifier 1328321 1328356 + Identifier 1328357 1328363 + AsExpression 1328364 1328384 + Identifier 1328364 1328371 + TypeReference 1328374 1328384 + Identifier 1328374 1328384 + ForStatement 1328386 1330249 + VariableDeclarationList 1328405 1328414 + VariableDeclaration 1328408 1328414 + Identifier 1328408 1328410 + NumericLiteral 1328412 1328414 + BinaryExpression 1328415 1328438 + Identifier 1328415 1328417 + LessThanToken 1328417 1328419 + PropertyAccessExpression 1328419 1328438 + Identifier 1328419 1328431 + Identifier 1328432 1328438 + PostfixUnaryExpression 1328439 1328443 + Identifier 1328439 1328441 + Block 1328444 1330249 + VariableStatement 1328446 1328498 + VariableDeclarationList 1328446 1328497 + VariableDeclaration 1328469 1328497 + Identifier 1328469 1328480 + ElementAccessExpression 1328482 1328497 + Identifier 1328482 1328494 + Identifier 1328495 1328496 + IfStatement 1328498 1329954 + BinaryExpression 1328520 1328726 + BinaryExpression 1328520 1328644 + BinaryExpression 1328520 1328567 + PropertyAccessExpression 1328520 1328549 + Identifier 1328520 1328543 + Identifier 1328544 1328549 + AmpersandToken 1328549 1328551 + PropertyAccessExpression 1328551 1328567 + Identifier 1328551 1328561 + Identifier 1328562 1328567 + AmpersandAmpersandToken 1328567 1328570 + BinaryExpression 1328570 1328644 + PropertyAccessExpression 1328570 1328589 + Identifier 1328570 1328582 + Identifier 1328583 1328589 + GreaterThanEqualsToken 1328589 1328592 + PropertyAccessExpression 1328592 1328644 + PropertyAccessExpression 1328592 1328637 + ParenthesizedExpression 1328592 1328631 + AsExpression 1328594 1328630 + Identifier 1328594 1328617 + TypeReference 1328620 1328630 + Identifier 1328620 1328630 + Identifier 1328632 1328637 + Identifier 1328638 1328644 + AmpersandAmpersandToken 1328644 1328647 + BinaryExpression 1328647 1328726 + BinaryExpression 1328647 1328720 + PropertyAccessExpression 1328647 1328666 + Identifier 1328647 1328659 + Identifier 1328660 1328666 + PercentToken 1328666 1328668 + PropertyAccessExpression 1328668 1328720 + PropertyAccessExpression 1328668 1328713 + ParenthesizedExpression 1328668 1328707 + AsExpression 1328670 1328706 + Identifier 1328670 1328693 + TypeReference 1328696 1328706 + Identifier 1328696 1328706 + Identifier 1328708 1328713 + Identifier 1328714 1328720 + EqualsEqualsEqualsToken 1328720 1328724 + NumericLiteral 1328724 1328726 + Block 1328727 1329954 + VariableStatement 1328729 1329797 + VariableDeclarationList 1328729 1329796 + VariableDeclaration 1329568 1329796 + Identifier 1329568 1329576 + CallExpression 1329578 1329796 + Identifier 1329578 1329590 + Identifier 1329591 1329601 + ElementAccessExpression 1329602 1329704 + PropertyAccessExpression 1329602 1329647 + ParenthesizedExpression 1329602 1329641 + AsExpression 1329604 1329640 + Identifier 1329604 1329627 + TypeReference 1329630 1329640 + Identifier 1329630 1329640 + Identifier 1329642 1329647 + BinaryExpression 1329648 1329703 + Identifier 1329648 1329649 + PercentToken 1329649 1329651 + PropertyAccessExpression 1329651 1329703 + PropertyAccessExpression 1329651 1329696 + ParenthesizedExpression 1329651 1329690 + AsExpression 1329653 1329689 + Identifier 1329653 1329676 + TypeReference 1329679 1329689 + Identifier 1329679 1329689 + Identifier 1329691 1329696 + Identifier 1329697 1329703 + PropertyAccessExpression 1329705 1329725 + Identifier 1329705 1329720 + Identifier 1329721 1329725 + FalseKeyword 1329726 1329749 + Identifier 1329750 1329776 + Identifier 1329777 1329795 + IfStatement 1329797 1329935 + Identifier 1329823 1329830 + Block 1329831 1329935 + ExpressionStatement 1329833 1329877 + BinaryExpression 1329833 1329876 + Identifier 1329833 1329865 + AmpersandEqualsToken 1329865 1329868 + Identifier 1329868 1329876 + ContinueStatement 1329877 1329912 + VariableStatement 1329954 1330103 + VariableDeclarationList 1329954 1330102 + VariableDeclaration 1329977 1330102 + Identifier 1329977 1329985 + CallExpression 1329987 1330102 + Identifier 1329987 1329999 + Identifier 1330000 1330010 + Identifier 1330011 1330018 + PropertyAccessExpression 1330019 1330041 + Identifier 1330019 1330034 + Identifier 1330035 1330041 + Identifier 1330042 1330055 + Identifier 1330056 1330082 + Identifier 1330083 1330101 + IfStatement 1330103 1330198 + PrefixUnaryExpression 1330125 1330133 + Identifier 1330126 1330133 + Block 1330134 1330198 + ReturnStatement 1330136 1330179 + PropertyAccessExpression 1330164 1330178 + Identifier 1330164 1330172 + Identifier 1330173 1330178 + ExpressionStatement 1330198 1330234 + BinaryExpression 1330198 1330233 + Identifier 1330198 1330222 + AmpersandEqualsToken 1330222 1330225 + Identifier 1330225 1330233 + ReturnStatement 1330249 1330277 + Identifier 1330269 1330276 + FunctionDeclaration 1330288 1334403 + Identifier 1330308 1330331 + Parameter 1330332 1330369 + Identifier 1330332 1330339 + TypeOperator 1330340 1330356 + ArrayType 1330349 1330356 + TypeReference 1330349 1330354 + Identifier 1330349 1330354 + Identifier 1330358 1330369 + Parameter 1330370 1330408 + Identifier 1330370 1330378 + TypeOperator 1330379 1330395 + ArrayType 1330388 1330395 + TypeReference 1330388 1330393 + Identifier 1330388 1330393 + Identifier 1330397 1330408 + Parameter 1330409 1330458 + Identifier 1330409 1330419 + TypeOperator 1330420 1330445 + ArrayType 1330429 1330445 + TypeReference 1330429 1330443 + Identifier 1330429 1330443 + Identifier 1330447 1330458 + Parameter 1330459 1330481 + Identifier 1330459 1330472 + BooleanKeyword 1330473 1330481 + Parameter 1330482 1330519 + Identifier 1330482 1330500 + TypeReference 1330501 1330519 + Identifier 1330501 1330519 + TypeReference 1330521 1330529 + Identifier 1330521 1330529 + Block 1330529 1334403 + IfStatement 1330531 1330672 + BinaryExpression 1330549 1330615 + BinaryExpression 1330549 1330582 + PropertyAccessExpression 1330549 1330563 + Identifier 1330549 1330556 + Identifier 1330557 1330563 + ExclamationEqualsEqualsToken 1330563 1330567 + PropertyAccessExpression 1330567 1330582 + Identifier 1330567 1330575 + Identifier 1330576 1330582 + AmpersandAmpersandToken 1330582 1330585 + BinaryExpression 1330585 1330615 + Identifier 1330585 1330594 + EqualsEqualsEqualsToken 1330594 1330598 + Identifier 1330598 1330615 + Block 1330616 1330672 + ReturnStatement 1330618 1330657 + PropertyAccessExpression 1330642 1330656 + Identifier 1330642 1330650 + Identifier 1330651 1330656 + VariableStatement 1330672 1330768 + VariableDeclarationList 1330672 1330767 + VariableDeclaration 1330691 1330767 + Identifier 1330691 1330698 + ConditionalExpression 1330700 1330767 + BinaryExpression 1330700 1330733 + PropertyAccessExpression 1330700 1330715 + Identifier 1330700 1330708 + Identifier 1330709 1330715 + LessThanEqualsToken 1330715 1330718 + PropertyAccessExpression 1330718 1330733 + Identifier 1330718 1330726 + Identifier 1330727 1330733 + QuestionToken 1330733 1330735 + PropertyAccessExpression 1330735 1330750 + Identifier 1330735 1330743 + Identifier 1330744 1330750 + ColonToken 1330750 1330752 + PropertyAccessExpression 1330752 1330767 + Identifier 1330752 1330760 + Identifier 1330761 1330767 + VariableStatement 1330768 1330808 + VariableDeclarationList 1330768 1330807 + VariableDeclaration 1330785 1330807 + Identifier 1330785 1330792 + PropertyAccessExpression 1330794 1330807 + Identifier 1330794 1330802 + Identifier 1330803 1330807 + ForStatement 1330808 1334364 + VariableDeclarationList 1330827 1330836 + VariableDeclaration 1330830 1330836 + Identifier 1330830 1330832 + NumericLiteral 1330834 1330836 + BinaryExpression 1330837 1330848 + Identifier 1330837 1330839 + LessThanToken 1330839 1330841 + Identifier 1330841 1330848 + PostfixUnaryExpression 1330849 1330853 + Identifier 1330849 1330851 + Block 1330854 1334364 + VariableStatement 1330856 1331210 + VariableDeclarationList 1330856 1331209 + VariableDeclaration 1331131 1331209 + Identifier 1331131 1331145 + ConditionalExpression 1331147 1331209 + BinaryExpression 1331147 1331168 + Identifier 1331147 1331149 + LessThanToken 1331149 1331151 + PropertyAccessExpression 1331151 1331168 + Identifier 1331151 1331161 + Identifier 1331162 1331168 + QuestionToken 1331168 1331170 + ElementAccessExpression 1331170 1331183 + Identifier 1331170 1331180 + Identifier 1331181 1331182 + ColonToken 1331183 1331185 + PropertyAccessExpression 1331185 1331209 + Identifier 1331185 1331199 + Identifier 1331200 1331209 + VariableStatement 1331210 1331288 + VariableDeclarationList 1331210 1331287 + VariableDeclaration 1331233 1331287 + Identifier 1331233 1331242 + BinaryExpression 1331244 1331287 + Identifier 1331244 1331258 + AmpersandToken 1331258 1331260 + PropertyAccessExpression 1331260 1331287 + Identifier 1331260 1331274 + Identifier 1331275 1331287 + IfStatement 1331288 1334349 + BinaryExpression 1331417 1331455 + Identifier 1331417 1331425 + ExclamationEqualsEqualsToken 1331425 1331429 + PropertyAccessExpression 1331429 1331455 + Identifier 1331429 1331443 + Identifier 1331444 1331455 + Block 1331456 1334349 + VariableStatement 1331458 1331501 + VariableDeclarationList 1331458 1331500 + VariableDeclaration 1331485 1331500 + Identifier 1331485 1331487 + ElementAccessExpression 1331489 1331500 + Identifier 1331489 1331497 + Identifier 1331498 1331499 + VariableStatement 1331501 1331544 + VariableDeclarationList 1331501 1331543 + VariableDeclaration 1331528 1331543 + Identifier 1331528 1331530 + ElementAccessExpression 1331532 1331543 + Identifier 1331532 1331540 + Identifier 1331541 1331542 + VariableStatement 1331544 1331593 + VariableDeclarationList 1331544 1331592 + VariableDeclaration 1331569 1331592 + Identifier 1331569 1331577 + PropertyAccessExpression 1331579 1331592 + Identifier 1331579 1331587 + Identifier 1331588 1331592 + IfStatement 1331593 1334183 + BinaryExpression 1331619 1331661 + Identifier 1331619 1331632 + AmpersandToken 1331632 1331634 + PropertyAccessExpression 1331634 1331661 + Identifier 1331634 1331648 + Identifier 1331649 1331661 + Block 1331662 1332275 + ExpressionStatement 1331664 1332252 + BinaryExpression 1331664 1332251 + Identifier 1331664 1332124 + EqualsToken 1332124 1332126 + ConditionalExpression 1332126 1332251 + BinaryExpression 1332126 1332156 + Identifier 1332126 1332135 + EqualsEqualsEqualsToken 1332135 1332139 + Identifier 1332139 1332156 + QuestionToken 1332156 1332158 + CallExpression 1332158 1332221 + Identifier 1332158 1332170 + Identifier 1332171 1332172 + Identifier 1332173 1332175 + PropertyAccessExpression 1332176 1332196 + Identifier 1332176 1332191 + Identifier 1332192 1332196 + FalseKeyword 1332197 1332220 + ColonToken 1332221 1332223 + CallExpression 1332223 1332251 + Identifier 1332223 1332245 + Identifier 1332246 1332247 + Identifier 1332248 1332250 + IfStatement 1332301 1334183 + BinaryExpression 1332306 1332342 + Identifier 1332306 1332314 + EqualsEqualsEqualsToken 1332314 1332318 + PropertyAccessExpression 1332318 1332342 + Identifier 1332318 1332332 + Identifier 1332333 1332342 + Block 1332343 1332503 + ExpressionStatement 1332345 1332480 + BinaryExpression 1332345 1332479 + Identifier 1332345 1332378 + EqualsToken 1332378 1332380 + CallExpression 1332380 1332479 + Identifier 1332380 1332392 + Identifier 1332393 1332394 + Identifier 1332395 1332397 + PropertyAccessExpression 1332398 1332418 + Identifier 1332398 1332413 + Identifier 1332414 1332418 + Identifier 1332419 1332432 + Identifier 1332433 1332459 + Identifier 1332460 1332478 + IfStatement 1332529 1334183 + BinaryExpression 1332534 1332574 + Identifier 1332534 1332542 + EqualsEqualsEqualsToken 1332542 1332546 + PropertyAccessExpression 1332546 1332574 + Identifier 1332546 1332560 + Identifier 1332561 1332574 + Block 1332575 1332735 + ExpressionStatement 1332577 1332712 + BinaryExpression 1332577 1332711 + Identifier 1332577 1332610 + EqualsToken 1332610 1332612 + CallExpression 1332612 1332711 + Identifier 1332612 1332624 + Identifier 1332625 1332626 + Identifier 1332627 1332629 + PropertyAccessExpression 1332630 1332650 + Identifier 1332630 1332645 + Identifier 1332646 1332650 + Identifier 1332651 1332664 + Identifier 1332665 1332691 + Identifier 1332692 1332710 + IfStatement 1332761 1334183 + BinaryExpression 1332766 1332802 + Identifier 1332766 1332774 + EqualsEqualsEqualsToken 1332774 1332778 + PropertyAccessExpression 1332778 1332802 + Identifier 1332778 1332792 + Identifier 1332793 1332802 + Block 1332803 1333512 + ExpressionStatement 1332805 1333282 + BinaryExpression 1332805 1333281 + Identifier 1332805 1333216 + EqualsToken 1333216 1333218 + CallExpression 1333218 1333281 + Identifier 1333218 1333230 + Identifier 1333231 1333232 + Identifier 1333233 1333235 + PropertyAccessExpression 1333236 1333256 + Identifier 1333236 1333251 + Identifier 1333252 1333256 + FalseKeyword 1333257 1333280 + IfStatement 1333282 1333489 + PrefixUnaryExpression 1333312 1333320 + Identifier 1333313 1333320 + Block 1333321 1333489 + ExpressionStatement 1333323 1333462 + BinaryExpression 1333323 1333461 + Identifier 1333323 1333360 + EqualsToken 1333360 1333362 + CallExpression 1333362 1333461 + Identifier 1333362 1333374 + Identifier 1333375 1333376 + Identifier 1333377 1333379 + PropertyAccessExpression 1333380 1333400 + Identifier 1333380 1333395 + Identifier 1333396 1333400 + Identifier 1333401 1333414 + Identifier 1333415 1333441 + Identifier 1333442 1333460 + Block 1333538 1334183 + ExpressionStatement 1333540 1333953 + BinaryExpression 1333540 1333952 + Identifier 1333540 1333851 + EqualsToken 1333851 1333853 + CallExpression 1333853 1333952 + Identifier 1333853 1333865 + Identifier 1333866 1333867 + Identifier 1333868 1333870 + PropertyAccessExpression 1333871 1333891 + Identifier 1333871 1333886 + Identifier 1333887 1333891 + Identifier 1333892 1333905 + Identifier 1333906 1333932 + Identifier 1333933 1333951 + IfStatement 1333953 1334160 + Identifier 1333983 1333990 + Block 1333991 1334160 + ExpressionStatement 1333993 1334133 + BinaryExpression 1333993 1334132 + Identifier 1333993 1334030 + AmpersandEqualsToken 1334030 1334033 + CallExpression 1334033 1334132 + Identifier 1334033 1334045 + Identifier 1334046 1334047 + Identifier 1334048 1334050 + PropertyAccessExpression 1334051 1334071 + Identifier 1334051 1334066 + Identifier 1334067 1334071 + Identifier 1334072 1334085 + Identifier 1334086 1334112 + Identifier 1334113 1334131 + IfStatement 1334183 1334290 + PrefixUnaryExpression 1334209 1334217 + Identifier 1334210 1334217 + Block 1334218 1334290 + ReturnStatement 1334220 1334267 + PropertyAccessExpression 1334252 1334266 + Identifier 1334252 1334260 + Identifier 1334261 1334266 + ExpressionStatement 1334290 1334330 + BinaryExpression 1334290 1334329 + Identifier 1334290 1334318 + AmpersandEqualsToken 1334318 1334321 + Identifier 1334321 1334329 + ReturnStatement 1334364 1334392 + Identifier 1334384 1334391 + FunctionDeclaration 1334403 1343110 + Identifier 1335056 1335079 + Parameter 1335080 1335092 + Identifier 1335080 1335086 + TypeReference 1335087 1335092 + Identifier 1335087 1335092 + Parameter 1335093 1335106 + Identifier 1335093 1335100 + TypeReference 1335101 1335106 + Identifier 1335101 1335106 + Parameter 1335107 1335129 + Identifier 1335107 1335120 + BooleanKeyword 1335121 1335129 + Parameter 1335130 1335167 + Identifier 1335130 1335148 + TypeReference 1335149 1335167 + Identifier 1335149 1335167 + Parameter 1335168 1335199 + Identifier 1335168 1335183 + TypeReference 1335184 1335199 + Identifier 1335184 1335199 + TypeReference 1335201 1335209 + Identifier 1335201 1335209 + Block 1335209 1343110 + IfStatement 1335211 1335294 + Identifier 1335229 1335237 + Block 1335238 1335294 + ReturnStatement 1335240 1335279 + PropertyAccessExpression 1335264 1335278 + Identifier 1335264 1335272 + Identifier 1335273 1335278 + VariableStatement 1335294 1335408 + VariableDeclarationList 1335294 1335407 + VariableDeclaration 1335313 1335407 + Identifier 1335313 1335316 + CallExpression 1335318 1335407 + Identifier 1335318 1335333 + Identifier 1335334 1335340 + Identifier 1335341 1335348 + Identifier 1335349 1335367 + Identifier 1335368 1335377 + FalseKeyword 1335378 1335406 + VariableStatement 1335408 1335453 + VariableDeclarationList 1335408 1335452 + VariableDeclaration 1335427 1335452 + Identifier 1335427 1335433 + CallExpression 1335435 1335452 + PropertyAccessExpression 1335435 1335448 + Identifier 1335435 1335444 + Identifier 1335445 1335448 + Identifier 1335449 1335451 + IfStatement 1335453 1337219 + BinaryExpression 1335471 1335490 + Identifier 1335471 1335476 + ExclamationEqualsEqualsToken 1335476 1335480 + Identifier 1335480 1335490 + Block 1335491 1337219 + IfStatement 1335493 1337204 + BinaryExpression 1335515 1335618 + BinaryExpression 1335515 1335570 + Identifier 1335515 1335527 + AmpersandAmpersandToken 1335527 1335530 + BinaryExpression 1335530 1335570 + Identifier 1335530 1335536 + AmpersandToken 1335536 1335538 + PropertyAccessExpression 1335538 1335570 + Identifier 1335538 1335563 + Identifier 1335564 1335570 + AmpersandAmpersandToken 1335570 1335573 + PrefixUnaryExpression 1335573 1335618 + ParenthesizedExpression 1335575 1335618 + BinaryExpression 1335576 1335617 + Identifier 1335576 1335581 + AmpersandToken 1335581 1335583 + PropertyAccessExpression 1335583 1335617 + Identifier 1335583 1335608 + Identifier 1335609 1335617 + Block 1335619 1335848 + Block 1335870 1337204 + IfStatement 1335872 1336561 + Identifier 1335898 1335928 + Block 1335929 1336561 + VariableStatement 1335931 1336158 + VariableDeclarationList 1335931 1336157 + VariableDeclaration 1336104 1336157 + Identifier 1336104 1336110 + BinaryExpression 1336112 1336157 + Identifier 1336112 1336118 + AmpersandToken 1336118 1336120 + PropertyAccessExpression 1336120 1336157 + Identifier 1336120 1336145 + Identifier 1336146 1336157 + IfStatement 1336158 1336350 + BinaryExpression 1336188 1336240 + Identifier 1336188 1336193 + AmpersandToken 1336193 1336195 + PropertyAccessExpression 1336195 1336240 + Identifier 1336195 1336220 + Identifier 1336221 1336240 + Block 1336241 1336350 + ExpressionStatement 1336243 1336323 + CallExpression 1336243 1336322 + Identifier 1336243 1336288 + Identifier 1336289 1336295 + Identifier 1336296 1336321 + IfStatement 1336350 1336538 + BinaryExpression 1336380 1336430 + Identifier 1336380 1336385 + AmpersandToken 1336385 1336387 + PropertyAccessExpression 1336387 1336430 + Identifier 1336387 1336412 + Identifier 1336413 1336430 + Block 1336431 1336538 + ExpressionStatement 1336433 1336511 + CallExpression 1336433 1336510 + Identifier 1336433 1336478 + Identifier 1336479 1336485 + Identifier 1336486 1336509 + IfStatement 1336561 1337082 + BinaryExpression 1336587 1336644 + Identifier 1336587 1336599 + AmpersandAmpersandToken 1336599 1336602 + BinaryExpression 1336602 1336644 + Identifier 1336602 1336608 + AmpersandToken 1336608 1336610 + PropertyAccessExpression 1336610 1336644 + Identifier 1336610 1336635 + Identifier 1336636 1336644 + Block 1336645 1337082 + VariableStatement 1336647 1336918 + VariableDeclarationList 1336647 1336917 + VariableDeclaration 1336678 1336917 + Identifier 1336678 1336686 + ConditionalExpression 1336688 1336917 + BinaryExpression 1336688 1336740 + Identifier 1336688 1336694 + AmpersandToken 1336694 1336696 + PropertyAccessExpression 1336696 1336740 + Identifier 1336696 1336721 + Identifier 1336722 1336740 + QuestionToken 1336740 1336742 + PropertyAccessExpression 1336742 1336828 + Identifier 1336742 1336783 + Identifier 1336784 1336828 + ColonToken 1336828 1336830 + PropertyAccessExpression 1336830 1336917 + Identifier 1336830 1336871 + Identifier 1336872 1336917 + ExpressionStatement 1336918 1337009 + CallExpression 1336918 1337008 + Identifier 1336918 1336955 + Identifier 1336956 1336963 + CallExpression 1336964 1336985 + Identifier 1336964 1336977 + Identifier 1336978 1336984 + CallExpression 1336986 1337007 + Identifier 1336986 1336999 + Identifier 1337000 1337006 + ExpressionStatement 1337009 1337059 + PostfixUnaryExpression 1337009 1337058 + Identifier 1337009 1337056 + ReturnStatement 1337082 1337185 + ConditionalExpression 1337110 1337184 + BinaryExpression 1337110 1337153 + Identifier 1337110 1337116 + AmpersandToken 1337116 1337118 + PropertyAccessExpression 1337118 1337153 + Identifier 1337118 1337143 + Identifier 1337144 1337153 + QuestionToken 1337153 1337155 + PropertyAccessExpression 1337155 1337168 + Identifier 1337155 1337163 + Identifier 1337164 1337168 + ColonToken 1337168 1337170 + PropertyAccessExpression 1337170 1337184 + Identifier 1337170 1337178 + Identifier 1337179 1337184 + IfStatement 1337219 1337346 + BinaryExpression 1337237 1337255 + Identifier 1337237 1337250 + LessThanEqualsToken 1337250 1337253 + NumericLiteral 1337253 1337255 + Block 1337256 1337346 + ExpressionStatement 1337258 1337292 + BinaryExpression 1337258 1337291 + Identifier 1337258 1337284 + EqualsToken 1337284 1337286 + TrueKeyword 1337286 1337291 + ReturnStatement 1337292 1337331 + PropertyAccessExpression 1337316 1337330 + Identifier 1337316 1337324 + Identifier 1337325 1337330 + IfStatement 1337346 1338561 + PrefixUnaryExpression 1337364 1337374 + Identifier 1337365 1337374 + Block 1337375 1337538 + ExpressionStatement 1337377 1337410 + BinaryExpression 1337377 1337409 + Identifier 1337377 1337404 + EqualsToken 1337404 1337406 + ArrayLiteralExpression 1337406 1337409 + ExpressionStatement 1337410 1337453 + BinaryExpression 1337410 1337452 + Identifier 1337410 1337440 + EqualsToken 1337440 1337442 + NewExpression 1337442 1337452 + Identifier 1337446 1337450 + ExpressionStatement 1337453 1337488 + BinaryExpression 1337453 1337487 + Identifier 1337453 1337482 + EqualsToken 1337482 1337484 + ArrayLiteralExpression 1337484 1337487 + ExpressionStatement 1337488 1337523 + BinaryExpression 1337488 1337522 + Identifier 1337488 1337517 + EqualsToken 1337517 1337519 + ArrayLiteralExpression 1337519 1337522 + Block 1337556 1338561 + IfStatement 1337558 1337773 + CallExpression 1337688 1337708 + PropertyAccessExpression 1337688 1337704 + Identifier 1337688 1337700 + Identifier 1337701 1337704 + Identifier 1337705 1337707 + Block 1337709 1337773 + ReturnStatement 1337711 1337754 + PropertyAccessExpression 1337739 1337753 + Identifier 1337739 1337747 + Identifier 1337748 1337753 + VariableStatement 1337773 1338228 + VariableDeclarationList 1337773 1338227 + VariableDeclaration 1338083 1338227 + Identifier 1338083 1338104 + ConditionalExpression 1338106 1338227 + CallExpression 1338106 1338125 + PropertyAccessExpression 1338106 1338120 + Identifier 1338106 1338109 + Identifier 1338110 1338120 + StringLiteral 1338121 1338124 + QuestionToken 1338125 1338127 + CallExpression 1338127 1338215 + Identifier 1338127 1338142 + Identifier 1338143 1338149 + Identifier 1338150 1338157 + Identifier 1338158 1338176 + Identifier 1338177 1338186 + TrueKeyword 1338187 1338214 + ColonToken 1338215 1338217 + Identifier 1338217 1338227 + IfStatement 1338228 1338377 + BinaryExpression 1338250 1338312 + Identifier 1338250 1338270 + AmpersandAmpersandToken 1338270 1338273 + CallExpression 1338273 1338312 + PropertyAccessExpression 1338273 1338290 + Identifier 1338273 1338286 + Identifier 1338287 1338290 + Identifier 1338291 1338311 + Block 1338313 1338377 + ReturnStatement 1338315 1338358 + PropertyAccessExpression 1338343 1338357 + Identifier 1338343 1338351 + Identifier 1338352 1338357 + IfStatement 1338377 1338546 + BinaryExpression 1338401 1338443 + BinaryExpression 1338401 1338420 + Identifier 1338401 1338412 + EqualsEqualsEqualsToken 1338412 1338416 + NumericLiteral 1338416 1338420 + BarBarToken 1338420 1338423 + BinaryExpression 1338423 1338443 + Identifier 1338423 1338435 + EqualsEqualsEqualsToken 1338435 1338439 + NumericLiteral 1338439 1338443 + Block 1338444 1338546 + ExpressionStatement 1338446 1338484 + BinaryExpression 1338446 1338483 + Identifier 1338446 1338476 + EqualsToken 1338476 1338478 + TrueKeyword 1338478 1338483 + ReturnStatement 1338484 1338527 + PropertyAccessExpression 1338512 1338526 + Identifier 1338512 1338520 + Identifier 1338521 1338526 + VariableStatement 1338561 1338605 + VariableDeclarationList 1338561 1338604 + VariableDeclaration 1338580 1338604 + Identifier 1338580 1338591 + Identifier 1338593 1338604 + ExpressionStatement 1338605 1338646 + BinaryExpression 1338605 1338645 + ElementAccessExpression 1338605 1338640 + Identifier 1338605 1338628 + Identifier 1338629 1338639 + EqualsToken 1338640 1338642 + Identifier 1338642 1338645 + ExpressionStatement 1338646 1338681 + CallExpression 1338646 1338680 + PropertyAccessExpression 1338646 1338676 + Identifier 1338646 1338672 + Identifier 1338673 1338676 + Identifier 1338677 1338679 + ExpressionStatement 1338681 1338708 + PostfixUnaryExpression 1338681 1338707 + Identifier 1338681 1338705 + VariableStatement 1338708 1338764 + VariableDeclarationList 1338708 1338763 + VariableDeclaration 1338727 1338763 + Identifier 1338727 1338746 + Identifier 1338748 1338763 + IfStatement 1338764 1339083 + BinaryExpression 1338782 1338820 + Identifier 1338782 1338796 + AmpersandToken 1338796 1338798 + PropertyAccessExpression 1338798 1338820 + Identifier 1338798 1338813 + Identifier 1338814 1338820 + Block 1338821 1339083 + ExpressionStatement 1338823 1338875 + BinaryExpression 1338823 1338874 + ElementAccessExpression 1338823 1338865 + Identifier 1338823 1338852 + Identifier 1338853 1338864 + EqualsToken 1338865 1338867 + Identifier 1338867 1338874 + ExpressionStatement 1338875 1338907 + PostfixUnaryExpression 1338875 1338906 + Identifier 1338875 1338904 + IfStatement 1338907 1339068 + BinaryExpression 1338929 1339026 + PrefixUnaryExpression 1338929 1338970 + ParenthesizedExpression 1338930 1338970 + BinaryExpression 1338931 1338969 + Identifier 1338931 1338945 + AmpersandToken 1338945 1338947 + PropertyAccessExpression 1338947 1338969 + Identifier 1338947 1338962 + Identifier 1338963 1338969 + AmpersandAmpersandToken 1338970 1338973 + CallExpression 1338973 1339026 + Identifier 1338973 1338992 + Identifier 1338993 1338999 + Identifier 1339000 1339012 + Identifier 1339013 1339025 + ExpressionStatement 1339027 1339068 + BinaryExpression 1339027 1339067 + Identifier 1339027 1339042 + BarEqualsToken 1339042 1339045 + PropertyAccessExpression 1339045 1339067 + Identifier 1339045 1339060 + Identifier 1339061 1339067 + IfStatement 1339083 1339402 + BinaryExpression 1339101 1339139 + Identifier 1339101 1339115 + AmpersandToken 1339115 1339117 + PropertyAccessExpression 1339117 1339139 + Identifier 1339117 1339132 + Identifier 1339133 1339139 + Block 1339140 1339402 + ExpressionStatement 1339142 1339194 + BinaryExpression 1339142 1339193 + ElementAccessExpression 1339142 1339184 + Identifier 1339142 1339171 + Identifier 1339172 1339183 + EqualsToken 1339184 1339186 + Identifier 1339186 1339193 + ExpressionStatement 1339194 1339226 + PostfixUnaryExpression 1339194 1339225 + Identifier 1339194 1339223 + IfStatement 1339226 1339387 + BinaryExpression 1339248 1339345 + PrefixUnaryExpression 1339248 1339289 + ParenthesizedExpression 1339249 1339289 + BinaryExpression 1339250 1339288 + Identifier 1339250 1339264 + AmpersandToken 1339264 1339266 + PropertyAccessExpression 1339266 1339288 + Identifier 1339266 1339281 + Identifier 1339282 1339288 + AmpersandAmpersandToken 1339289 1339292 + CallExpression 1339292 1339345 + Identifier 1339292 1339311 + Identifier 1339312 1339318 + Identifier 1339319 1339331 + Identifier 1339332 1339344 + ExpressionStatement 1339346 1339387 + BinaryExpression 1339346 1339386 + Identifier 1339346 1339361 + BarEqualsToken 1339361 1339364 + PropertyAccessExpression 1339364 1339386 + Identifier 1339364 1339379 + Identifier 1339380 1339386 + VariableStatement 1339402 1339475 + VariableDeclarationList 1339402 1339474 + VariableDeclaration 1339419 1339474 + Identifier 1339419 1339435 + TypeQuery 1339436 1339474 + Identifier 1339443 1339474 + VariableStatement 1339475 1339550 + VariableDeclarationList 1339475 1339549 + VariableDeclaration 1339492 1339549 + Identifier 1339492 1339517 + AsExpression 1339519 1339549 + NumericLiteral 1339519 1339521 + TypeReference 1339524 1339549 + Identifier 1339524 1339549 + IfStatement 1339550 1339992 + Identifier 1339568 1339598 + Block 1339599 1339992 + ExpressionStatement 1339601 1339668 + BinaryExpression 1339601 1339667 + Identifier 1339601 1339634 + EqualsToken 1339634 1339636 + Identifier 1339636 1339667 + ExpressionStatement 1339668 1339977 + BinaryExpression 1339668 1339976 + Identifier 1339668 1339716 + EqualsToken 1339716 1339718 + ArrowFunction 1339718 1339976 + Parameter 1339718 1339733 + Identifier 1339718 1339733 + EqualsGreaterThanToken 1339733 1339736 + Block 1339736 1339976 + ExpressionStatement 1339738 1339895 + BinaryExpression 1339738 1339894 + Identifier 1339738 1339784 + BarEqualsToken 1339784 1339787 + ConditionalExpression 1339787 1339894 + Identifier 1339787 1339802 + QuestionToken 1339802 1339804 + PropertyAccessExpression 1339804 1339847 + Identifier 1339804 1339829 + Identifier 1339830 1339847 + ColonToken 1339847 1339849 + PropertyAccessExpression 1339849 1339894 + Identifier 1339849 1339874 + Identifier 1339875 1339894 + ReturnStatement 1339895 1339957 + CallExpression 1339923 1339956 + NonNullExpression 1339923 1339940 + Identifier 1339923 1339939 + Identifier 1339941 1339955 + VariableStatement 1339992 1340028 + VariableDeclarationList 1339992 1340027 + VariableDeclaration 1340011 1340027 + Identifier 1340011 1340018 + TypeReference 1340019 1340027 + Identifier 1340019 1340027 + IfStatement 1340028 1340849 + BinaryExpression 1340046 1340084 + Identifier 1340046 1340060 + EqualsEqualsEqualsToken 1340060 1340064 + PropertyAccessExpression 1340064 1340084 + Identifier 1340064 1340079 + Identifier 1340080 1340084 + Block 1340085 1340550 + ExpressionStatement 1340087 1340494 + CallExpression 1340087 1340493 + PropertyAccessExpression 1340087 1340121 + Identifier 1340087 1340112 + QuestionDotToken 1340112 1340114 + Identifier 1340114 1340121 + PropertyAccessExpression 1340122 1340146 + PropertyAccessExpression 1340122 1340135 + Identifier 1340122 1340129 + Identifier 1340130 1340135 + Identifier 1340136 1340146 + StringLiteral 1340147 1340183 + ObjectLiteralExpression 1340184 1340492 + PropertyAssignment 1340186 1340227 + Identifier 1340186 1340216 + PropertyAccessExpression 1340217 1340227 + Identifier 1340217 1340224 + Identifier 1340225 1340227 + PropertyAssignment 1340228 1340291 + Identifier 1340228 1340263 + CallExpression 1340264 1340291 + PropertyAccessExpression 1340264 1340280 + Identifier 1340264 1340276 + Identifier 1340277 1340280 + ArrowFunction 1340281 1340290 + Parameter 1340281 1340282 + Identifier 1340281 1340282 + EqualsGreaterThanToken 1340282 1340285 + PropertyAccessExpression 1340285 1340290 + Identifier 1340285 1340287 + Identifier 1340288 1340290 + PropertyAssignment 1340292 1340333 + Identifier 1340292 1340322 + PropertyAccessExpression 1340323 1340333 + Identifier 1340323 1340330 + Identifier 1340331 1340333 + PropertyAssignment 1340334 1340397 + Identifier 1340334 1340369 + CallExpression 1340370 1340397 + PropertyAccessExpression 1340370 1340386 + Identifier 1340370 1340382 + Identifier 1340383 1340386 + ArrowFunction 1340387 1340396 + Parameter 1340387 1340388 + Identifier 1340387 1340388 + EqualsGreaterThanToken 1340388 1340391 + PropertyAccessExpression 1340391 1340396 + Identifier 1340391 1340393 + Identifier 1340394 1340396 + PropertyAssignment 1340398 1340438 + Identifier 1340398 1340425 + Identifier 1340426 1340438 + ShorthandPropertyAssignment 1340439 1340472 + Identifier 1340439 1340472 + ExpressionStatement 1340494 1340535 + BinaryExpression 1340494 1340534 + Identifier 1340494 1340518 + EqualsToken 1340518 1340520 + PropertyAccessExpression 1340520 1340534 + Identifier 1340520 1340528 + Identifier 1340529 1340534 + Block 1340568 1340849 + ExpressionStatement 1340570 1340701 + CallExpression 1340570 1340700 + PropertyAccessExpression 1340570 1340601 + Identifier 1340570 1340595 + QuestionDotToken 1340595 1340597 + Identifier 1340597 1340601 + PropertyAccessExpression 1340602 1340626 + PropertyAccessExpression 1340602 1340615 + Identifier 1340602 1340609 + Identifier 1340610 1340615 + Identifier 1340616 1340626 + StringLiteral 1340627 1340653 + ObjectLiteralExpression 1340654 1340699 + PropertyAssignment 1340656 1340676 + Identifier 1340656 1340665 + PropertyAccessExpression 1340666 1340676 + Identifier 1340666 1340673 + Identifier 1340674 1340676 + PropertyAssignment 1340677 1340697 + Identifier 1340677 1340686 + PropertyAccessExpression 1340687 1340697 + Identifier 1340687 1340694 + Identifier 1340695 1340697 + ExpressionStatement 1340701 1340801 + BinaryExpression 1340701 1340800 + Identifier 1340701 1340725 + EqualsToken 1340725 1340727 + CallExpression 1340727 1340800 + Identifier 1340727 1340751 + Identifier 1340752 1340758 + Identifier 1340759 1340766 + Identifier 1340767 1340780 + Identifier 1340781 1340799 + ExpressionStatement 1340801 1340834 + CallExpression 1340801 1340833 + PropertyAccessExpression 1340801 1340831 + Identifier 1340801 1340826 + QuestionDotToken 1340826 1340828 + Identifier 1340828 1340831 + IfStatement 1340849 1340984 + Identifier 1340869 1340899 + Block 1340900 1340984 + ExpressionStatement 1340902 1340969 + BinaryExpression 1340902 1340968 + Identifier 1340902 1340950 + EqualsToken 1340950 1340952 + Identifier 1340952 1340968 + IfStatement 1340984 1341090 + BinaryExpression 1341002 1341040 + Identifier 1341002 1341016 + AmpersandToken 1341016 1341018 + PropertyAccessExpression 1341018 1341040 + Identifier 1341018 1341033 + Identifier 1341034 1341040 + Block 1341041 1341090 + ExpressionStatement 1341043 1341075 + PostfixUnaryExpression 1341043 1341074 + Identifier 1341043 1341072 + IfStatement 1341090 1341196 + BinaryExpression 1341108 1341146 + Identifier 1341108 1341122 + AmpersandToken 1341122 1341124 + PropertyAccessExpression 1341124 1341146 + Identifier 1341124 1341139 + Identifier 1341140 1341146 + Block 1341147 1341196 + ExpressionStatement 1341149 1341181 + PostfixUnaryExpression 1341149 1341180 + Identifier 1341149 1341178 + ExpressionStatement 1341196 1341246 + BinaryExpression 1341196 1341245 + Identifier 1341196 1341224 + EqualsToken 1341224 1341226 + Identifier 1341226 1341245 + IfStatement 1341246 1342575 + Identifier 1341264 1341270 + Block 1341271 1342174 + IfStatement 1341273 1341930 + BinaryExpression 1341295 1341362 + BinaryExpression 1341295 1341318 + Identifier 1341295 1341301 + EqualsEqualsEqualsToken 1341301 1341305 + PropertyAccessExpression 1341305 1341318 + Identifier 1341305 1341313 + Identifier 1341314 1341318 + BarBarToken 1341318 1341321 + ParenthesizedExpression 1341321 1341362 + BinaryExpression 1341323 1341361 + BinaryExpression 1341323 1341340 + Identifier 1341323 1341334 + EqualsEqualsEqualsToken 1341334 1341338 + NumericLiteral 1341338 1341340 + AmpersandAmpersandToken 1341340 1341343 + BinaryExpression 1341343 1341361 + Identifier 1341343 1341355 + EqualsEqualsEqualsToken 1341355 1341359 + NumericLiteral 1341359 1341361 + Block 1341363 1341930 + IfStatement 1341365 1341911 + BinaryExpression 1341391 1341442 + BinaryExpression 1341391 1341414 + Identifier 1341391 1341397 + EqualsEqualsEqualsToken 1341397 1341401 + PropertyAccessExpression 1341401 1341414 + Identifier 1341401 1341409 + Identifier 1341410 1341414 + BarBarToken 1341414 1341417 + BinaryExpression 1341417 1341442 + Identifier 1341417 1341424 + EqualsEqualsEqualsToken 1341424 1341428 + PropertyAccessExpression 1341428 1341442 + Identifier 1341428 1341436 + Identifier 1341437 1341442 + Block 1341443 1341788 + ExpressionStatement 1341445 1341765 + CallExpression 1341445 1341764 + Identifier 1341445 1341735 + TrueKeyword 1341736 1341763 + Block 1341814 1341911 + ExpressionStatement 1341816 1341888 + CallExpression 1341816 1341887 + Identifier 1341816 1341857 + FalseKeyword 1341858 1341886 + Block 1342192 1342575 + ExpressionStatement 1342194 1342462 + CallExpression 1342194 1342461 + PropertyAccessExpression 1342194 1342397 + Identifier 1342194 1342393 + Identifier 1342394 1342397 + Identifier 1342398 1342400 + BinaryExpression 1342401 1342460 + PropertyAccessExpression 1342401 1342433 + Identifier 1342401 1342426 + Identifier 1342427 1342433 + BarToken 1342433 1342435 + Identifier 1342435 1342460 + ExpressionStatement 1342462 1342496 + PostfixUnaryExpression 1342462 1342495 + Identifier 1342462 1342493 + ExpressionStatement 1342496 1342560 + CallExpression 1342496 1342559 + Identifier 1342496 1342529 + FalseKeyword 1342530 1342558 + ReturnStatement 1342575 1342603 + Identifier 1342595 1342602 + FunctionDeclaration 1342603 1343099 + Identifier 1342627 1342643 + Parameter 1342644 1342671 + Identifier 1342644 1342662 + BooleanKeyword 1342663 1342671 + Block 1342672 1343099 + ForStatement 1342674 1343042 + VariableDeclarationList 1342697 1342715 + VariableDeclaration 1342700 1342715 + Identifier 1342700 1342702 + Identifier 1342704 1342715 + BinaryExpression 1342716 1342731 + Identifier 1342716 1342718 + LessThanToken 1342718 1342720 + Identifier 1342720 1342731 + PostfixUnaryExpression 1342732 1342736 + Identifier 1342732 1342734 + Block 1342737 1343042 + ExpressionStatement 1342739 1342795 + CallExpression 1342739 1342794 + PropertyAccessExpression 1342739 1342780 + Identifier 1342739 1342773 + Identifier 1342774 1342780 + ElementAccessExpression 1342781 1342793 + Identifier 1342781 1342790 + Identifier 1342791 1342792 + IfStatement 1342795 1343023 + Identifier 1342821 1342839 + Block 1342840 1343023 + ExpressionStatement 1342842 1342958 + CallExpression 1342842 1342957 + PropertyAccessExpression 1342842 1342880 + Identifier 1342842 1342876 + Identifier 1342877 1342880 + ElementAccessExpression 1342881 1342893 + Identifier 1342881 1342890 + Identifier 1342891 1342892 + BinaryExpression 1342894 1342956 + PropertyAccessExpression 1342894 1342929 + Identifier 1342894 1342919 + Identifier 1342920 1342929 + BarToken 1342929 1342931 + Identifier 1342931 1342956 + ExpressionStatement 1342958 1343000 + PostfixUnaryExpression 1342958 1342999 + Identifier 1342958 1342997 + ExpressionStatement 1343042 1343084 + BinaryExpression 1343042 1343083 + Identifier 1343042 1343070 + EqualsToken 1343070 1343072 + Identifier 1343072 1343083 + FunctionDeclaration 1343110 1348355 + Identifier 1343130 1343154 + Parameter 1343155 1343167 + Identifier 1343155 1343161 + TypeReference 1343162 1343167 + Identifier 1343162 1343167 + Parameter 1343168 1343181 + Identifier 1343168 1343175 + TypeReference 1343176 1343181 + Identifier 1343176 1343181 + Parameter 1343182 1343204 + Identifier 1343182 1343195 + BooleanKeyword 1343196 1343204 + Parameter 1343205 1343242 + Identifier 1343205 1343223 + TypeReference 1343224 1343242 + Identifier 1343224 1343242 + TypeReference 1343244 1343252 + Identifier 1343244 1343252 + Block 1343252 1348355 + VariableStatement 1343254 1343321 + VariableDeclarationList 1343254 1343320 + VariableDeclaration 1343273 1343320 + Identifier 1343273 1343287 + CallExpression 1343289 1343320 + Identifier 1343289 1343318 + VariableStatement 1343321 1343442 + VariableDeclarationList 1343321 1343441 + VariableDeclaration 1343338 1343441 + Identifier 1343338 1343345 + CallExpression 1343347 1343441 + Identifier 1343347 1343377 + Identifier 1343378 1343384 + Identifier 1343385 1343392 + Identifier 1343393 1343406 + Identifier 1343407 1343425 + Identifier 1343426 1343440 + IfStatement 1343442 1348226 + BinaryExpression 1343460 1343489 + Identifier 1343460 1343468 + ExclamationEqualsEqualsToken 1343468 1343472 + Identifier 1343472 1343489 + Block 1343490 1348226 + IfStatement 1343492 1345774 + BinaryExpression 1344974 1345100 + PrefixUnaryExpression 1344974 1344981 + Identifier 1344975 1344981 + AmpersandAmpersandToken 1344981 1344984 + ParenthesizedExpression 1344984 1345100 + BinaryExpression 1344986 1345099 + BinaryExpression 1344986 1345023 + PropertyAccessExpression 1344986 1344998 + Identifier 1344986 1344992 + Identifier 1344993 1344998 + AmpersandToken 1344998 1345000 + PropertyAccessExpression 1345000 1345023 + Identifier 1345000 1345010 + Identifier 1345011 1345023 + BarBarToken 1345023 1345026 + BinaryExpression 1345026 1345099 + BinaryExpression 1345026 1345065 + PropertyAccessExpression 1345026 1345039 + Identifier 1345026 1345033 + Identifier 1345034 1345039 + AmpersandToken 1345039 1345041 + PropertyAccessExpression 1345041 1345065 + Identifier 1345041 1345051 + Identifier 1345052 1345065 + AmpersandAmpersandToken 1345065 1345068 + BinaryExpression 1345068 1345099 + PropertyAccessExpression 1345068 1345081 + Identifier 1345068 1345075 + Identifier 1345076 1345081 + AmpersandToken 1345081 1345083 + PropertyAccessExpression 1345083 1345099 + Identifier 1345083 1345093 + Identifier 1345094 1345099 + Block 1345101 1345774 + VariableStatement 1345103 1345304 + VariableDeclarationList 1345103 1345303 + VariableDeclaration 1345130 1345303 + Identifier 1345130 1345141 + CallExpression 1345143 1345303 + Identifier 1345143 1345180 + ConditionalExpression 1345181 1345266 + BinaryExpression 1345181 1345218 + PropertyAccessExpression 1345181 1345193 + Identifier 1345181 1345187 + Identifier 1345188 1345193 + AmpersandToken 1345193 1345195 + PropertyAccessExpression 1345195 1345218 + Identifier 1345195 1345205 + Identifier 1345206 1345218 + QuestionToken 1345218 1345220 + PropertyAccessExpression 1345220 1345255 + ParenthesizedExpression 1345220 1345249 + AsExpression 1345222 1345248 + Identifier 1345222 1345228 + TypeReference 1345231 1345248 + Identifier 1345231 1345248 + Identifier 1345250 1345255 + ColonToken 1345255 1345257 + ArrayLiteralExpression 1345257 1345266 + Identifier 1345259 1345265 + PrefixUnaryExpression 1345267 1345302 + PrefixUnaryExpression 1345269 1345302 + ParenthesizedExpression 1345270 1345302 + BinaryExpression 1345271 1345301 + PropertyAccessExpression 1345271 1345283 + Identifier 1345271 1345277 + Identifier 1345278 1345283 + AmpersandToken 1345283 1345285 + PropertyAccessExpression 1345285 1345301 + Identifier 1345285 1345295 + Identifier 1345296 1345301 + IfStatement 1345304 1345755 + BinaryExpression 1345330 1345384 + Identifier 1345330 1345340 + AmpersandAmpersandToken 1345340 1345343 + CallExpression 1345343 1345384 + Identifier 1345343 1345353 + Identifier 1345354 1345364 + ArrowFunction 1345365 1345383 + Parameter 1345365 1345367 + Identifier 1345365 1345367 + EqualsGreaterThanToken 1345367 1345370 + BinaryExpression 1345370 1345383 + Identifier 1345370 1345372 + ExclamationEqualsEqualsToken 1345372 1345376 + Identifier 1345376 1345383 + Block 1345385 1345755 + ExpressionStatement 1345387 1345732 + BinaryExpression 1345387 1345731 + Identifier 1345387 1345604 + EqualsToken 1345604 1345606 + CallExpression 1345606 1345731 + Identifier 1345606 1345618 + Identifier 1345619 1345629 + Identifier 1345630 1345637 + PropertyAccessExpression 1345638 1345660 + Identifier 1345638 1345653 + Identifier 1345654 1345660 + FalseKeyword 1345661 1345684 + Identifier 1345685 1345711 + Identifier 1345712 1345730 + IfStatement 1345774 1348211 + BinaryExpression 1346465 1346700 + BinaryExpression 1346465 1346638 + BinaryExpression 1346465 1346585 + BinaryExpression 1346465 1346544 + Identifier 1346465 1346493 + AmpersandAmpersandToken 1346493 1346496 + PrefixUnaryExpression 1346496 1346544 + ParenthesizedExpression 1346498 1346544 + BinaryExpression 1346499 1346543 + Identifier 1346499 1346516 + AmpersandToken 1346516 1346518 + PropertyAccessExpression 1346518 1346543 + Identifier 1346518 1346536 + Identifier 1346537 1346543 + AmpersandAmpersandToken 1346544 1346547 + BinaryExpression 1346547 1346585 + PropertyAccessExpression 1346547 1346560 + Identifier 1346547 1346554 + Identifier 1346555 1346560 + AmpersandToken 1346560 1346562 + PropertyAccessExpression 1346562 1346585 + Identifier 1346562 1346572 + Identifier 1346573 1346585 + AmpersandAmpersandToken 1346585 1346588 + PrefixUnaryExpression 1346588 1346638 + CallExpression 1346611 1346638 + Identifier 1346611 1346630 + Identifier 1346631 1346637 + AmpersandAmpersandToken 1346638 1346641 + BinaryExpression 1346641 1346700 + PropertyAccessExpression 1346641 1346654 + Identifier 1346641 1346648 + Identifier 1346649 1346654 + AmpersandToken 1346654 1346656 + ParenthesizedExpression 1346656 1346700 + BinaryExpression 1346658 1346699 + PropertyAccessExpression 1346658 1346674 + Identifier 1346658 1346667 + Identifier 1346668 1346674 + BarToken 1346674 1346676 + PropertyAccessExpression 1346676 1346699 + Identifier 1346676 1346686 + Identifier 1346687 1346699 + Block 1346719 1347191 + ExpressionStatement 1346721 1346886 + BinaryExpression 1346721 1346885 + Identifier 1346721 1346749 + AmpersandEqualsToken 1346749 1346752 + CallExpression 1346752 1346885 + Identifier 1346752 1346772 + Identifier 1346773 1346779 + Identifier 1346780 1346787 + Identifier 1346788 1346801 + Identifier 1346802 1346835 + FalseKeyword 1346836 1346860 + PropertyAccessExpression 1346861 1346884 + Identifier 1346861 1346879 + Identifier 1346880 1346884 + IfStatement 1346886 1347172 + BinaryExpression 1346912 1347002 + BinaryExpression 1346912 1346949 + Identifier 1346912 1346918 + AmpersandAmpersandToken 1346918 1346921 + CallExpression 1346921 1346949 + Identifier 1346921 1346941 + Identifier 1346942 1346948 + AmpersandAmpersandToken 1346949 1346952 + BinaryExpression 1346952 1347002 + CallExpression 1346952 1346975 + Identifier 1346952 1346967 + Identifier 1346968 1346974 + AmpersandToken 1346975 1346977 + PropertyAccessExpression 1346977 1347002 + Identifier 1346977 1346989 + Identifier 1346990 1347002 + Block 1347003 1347172 + ExpressionStatement 1347005 1347149 + BinaryExpression 1347005 1347148 + Identifier 1347005 1347037 + AmpersandEqualsToken 1347037 1347040 + CallExpression 1347040 1347148 + Identifier 1347040 1347065 + Identifier 1347066 1347072 + Identifier 1347073 1347080 + FalseKeyword 1347081 1347109 + Identifier 1347110 1347123 + PropertyAccessExpression 1347124 1347147 + Identifier 1347124 1347142 + Identifier 1347143 1347147 + IfStatement 1347650 1348211 + BinaryExpression 1347655 1348012 + BinaryExpression 1347655 1347870 + BinaryExpression 1347655 1347810 + BinaryExpression 1347655 1347748 + BinaryExpression 1347655 1347717 + Identifier 1347655 1347683 + AmpersandAmpersandToken 1347683 1347686 + CallExpression 1347686 1347717 + Identifier 1347686 1347709 + Identifier 1347710 1347716 + AmpersandAmpersandToken 1347717 1347720 + PrefixUnaryExpression 1347720 1347748 + CallExpression 1347722 1347748 + Identifier 1347722 1347740 + Identifier 1347741 1347747 + AmpersandAmpersandToken 1347748 1347751 + BinaryExpression 1347751 1347810 + PropertyAccessExpression 1347751 1347785 + Identifier 1347751 1347779 + Identifier 1347780 1347785 + AmpersandToken 1347785 1347787 + PropertyAccessExpression 1347787 1347810 + Identifier 1347787 1347797 + Identifier 1347798 1347810 + AmpersandAmpersandToken 1347810 1347813 + BinaryExpression 1347813 1347870 + PropertyAccessExpression 1347813 1347843 + CallExpression 1347813 1347837 + Identifier 1347813 1347829 + Identifier 1347830 1347836 + Identifier 1347838 1347843 + AmpersandToken 1347843 1347845 + PropertyAccessExpression 1347845 1347870 + Identifier 1347845 1347855 + Identifier 1347856 1347870 + AmpersandAmpersandToken 1347870 1347873 + PrefixUnaryExpression 1347873 1348012 + CallExpression 1347896 1348012 + Identifier 1347896 1347900 + PropertyAccessExpression 1347901 1347935 + ParenthesizedExpression 1347901 1347929 + AsExpression 1347902 1347928 + Identifier 1347902 1347908 + TypeReference 1347911 1347928 + Identifier 1347911 1347928 + Identifier 1347930 1347935 + ArrowFunction 1347936 1348011 + Parameter 1347936 1347938 + Identifier 1347936 1347938 + EqualsGreaterThanToken 1347938 1347941 + BinaryExpression 1347941 1348011 + BinaryExpression 1347941 1347954 + Identifier 1347941 1347943 + EqualsEqualsEqualsToken 1347943 1347947 + Identifier 1347947 1347954 + BarBarToken 1347954 1347957 + PrefixUnaryExpression 1347957 1348011 + PrefixUnaryExpression 1347959 1348011 + ParenthesizedExpression 1347960 1348011 + BinaryExpression 1347961 1348010 + CallExpression 1347961 1347978 + Identifier 1347961 1347975 + Identifier 1347976 1347977 + AmpersandToken 1347978 1347980 + PropertyAccessExpression 1347980 1348010 + Identifier 1347980 1347992 + Identifier 1347993 1348010 + Block 1348031 1348211 + ExpressionStatement 1348033 1348192 + BinaryExpression 1348033 1348191 + Identifier 1348033 1348061 + AmpersandEqualsToken 1348061 1348064 + CallExpression 1348064 1348191 + Identifier 1348064 1348084 + Identifier 1348085 1348091 + Identifier 1348092 1348099 + Identifier 1348100 1348113 + Identifier 1348114 1348147 + TrueKeyword 1348148 1348171 + Identifier 1348172 1348190 + IfStatement 1348226 1348316 + Identifier 1348244 1348250 + Block 1348251 1348316 + ExpressionStatement 1348253 1348301 + CallExpression 1348253 1348300 + Identifier 1348253 1348285 + Identifier 1348286 1348299 + ReturnStatement 1348316 1348344 + Identifier 1348336 1348343 + FunctionDeclaration 1348355 1349013 + Identifier 1348375 1348401 + Parameter 1348402 1348416 + Identifier 1348402 1348410 + TypeReference 1348411 1348416 + Identifier 1348411 1348416 + Parameter 1348417 1348440 + Identifier 1348417 1348428 + TypeReference 1348429 1348440 + Identifier 1348429 1348440 + Block 1348441 1349013 + VariableStatement 1348443 1348539 + VariableDeclarationList 1348443 1348538 + VariableDeclaration 1348462 1348538 + Identifier 1348462 1348476 + CallExpression 1348478 1348538 + Identifier 1348478 1348494 + CallExpression 1348495 1348537 + Identifier 1348495 1348525 + Identifier 1348526 1348536 + VariableStatement 1348539 1348583 + VariableDeclarationList 1348539 1348582 + VariableDeclaration 1348558 1348582 + Identifier 1348558 1348569 + ArrayType 1348570 1348577 + TypeReference 1348570 1348575 + Identifier 1348570 1348575 + ArrayLiteralExpression 1348579 1348582 + ExpressionStatement 1348583 1348956 + CallExpression 1348583 1348955 + Identifier 1348583 1348653 + Identifier 1348654 1348685 + PropertyAccessExpression 1348686 1348743 + Identifier 1348686 1348713 + Identifier 1348714 1348743 + FalseKeyword 1348744 1348783 + ArrowFunction 1348784 1348939 + Parameter 1348784 1348803 + Identifier 1348784 1348803 + EqualsGreaterThanToken 1348803 1348806 + VoidExpression 1348806 1348939 + CallExpression 1348811 1348939 + PropertyAccessExpression 1348811 1348827 + Identifier 1348811 1348822 + Identifier 1348823 1348827 + CallExpression 1348828 1348938 + Identifier 1348828 1348843 + Identifier 1348844 1348852 + CallExpression 1348853 1348937 + Identifier 1348853 1348871 + PropertyAccessExpression 1348872 1348889 + Identifier 1348872 1348882 + Identifier 1348883 1348889 + CallExpression 1348890 1348933 + Identifier 1348890 1348921 + Identifier 1348922 1348932 + Identifier 1348934 1348936 + ReturnStatement 1348956 1349002 + CallExpression 1348976 1349001 + Identifier 1348976 1348989 + Identifier 1348990 1349000 + FunctionDeclaration 1349013 1395404 + Identifier 1349033 1349063 + Parameter 1349064 1349076 + Identifier 1349064 1349070 + TypeReference 1349071 1349076 + Identifier 1349071 1349076 + Parameter 1349077 1349090 + Identifier 1349077 1349084 + TypeReference 1349085 1349090 + Identifier 1349085 1349090 + Parameter 1349091 1349113 + Identifier 1349091 1349104 + BooleanKeyword 1349105 1349113 + Parameter 1349114 1349151 + Identifier 1349114 1349132 + TypeReference 1349133 1349151 + Identifier 1349133 1349151 + Parameter 1349152 1349215 + Identifier 1349152 1349166 + TypeReference 1349167 1349215 + Identifier 1349167 1349178 + TypeQuery 1349179 1349214 + Identifier 1349185 1349214 + TypeReference 1349217 1349225 + Identifier 1349217 1349225 + Block 1349225 1395404 + VariableStatement 1349227 1349261 + VariableDeclarationList 1349227 1349260 + VariableDeclaration 1349244 1349260 + Identifier 1349244 1349251 + TypeReference 1349252 1349260 + Identifier 1349252 1349260 + VariableStatement 1349261 1349333 + VariableDeclarationList 1349261 1349332 + VariableDeclaration 1349278 1349332 + Identifier 1349278 1349296 + UnionType 1349297 1349332 + TypeReference 1349297 1349320 + Identifier 1349297 1349320 + UndefinedKeyword 1349322 1349332 + VariableStatement 1349333 1349379 + VariableDeclarationList 1349333 1349378 + VariableDeclaration 1349350 1349378 + Identifier 1349350 1349370 + FalseKeyword 1349372 1349378 + VariableStatement 1349379 1349424 + VariableDeclarationList 1349379 1349423 + VariableDeclaration 1349396 1349423 + Identifier 1349396 1349408 + PropertyAccessExpression 1349410 1349423 + Identifier 1349410 1349417 + Identifier 1349418 1349423 + VariableStatement 1349424 1349471 + VariableDeclarationList 1349424 1349470 + VariableDeclaration 1349443 1349470 + Identifier 1349443 1349455 + PropertyAccessExpression 1349457 1349470 + Identifier 1349457 1349464 + Identifier 1349465 1349470 + IfStatement 1349471 1354104 + BinaryExpression 1349489 1349518 + Identifier 1349489 1349497 + EqualsEqualsEqualsToken 1349497 1349501 + Identifier 1349501 1349518 + Block 1349519 1352702 + IfStatement 1349521 1350056 + BinaryExpression 1349634 1349677 + Identifier 1349634 1349645 + AmpersandToken 1349645 1349647 + PropertyAccessExpression 1349647 1349677 + Identifier 1349647 1349657 + Identifier 1349658 1349677 + Block 1349678 1350056 + VariableStatement 1349680 1349811 + VariableDeclarationList 1349680 1349810 + VariableDeclaration 1349705 1349810 + Identifier 1349705 1349712 + CallExpression 1349714 1349810 + Identifier 1349714 1349740 + AsExpression 1349741 1349774 + Identifier 1349741 1349747 + TypeReference 1349750 1349774 + Identifier 1349750 1349774 + AsExpression 1349775 1349809 + Identifier 1349775 1349782 + TypeReference 1349785 1349809 + Identifier 1349785 1349809 + IfStatement 1349811 1350001 + Identifier 1349837 1349843 + Block 1349844 1350001 + ExpressionStatement 1349846 1349978 + BinaryExpression 1349846 1349977 + Identifier 1349846 1349878 + AmpersandEqualsToken 1349878 1349881 + CallExpression 1349881 1349977 + Identifier 1349881 1349907 + AsExpression 1349908 1349941 + Identifier 1349908 1349914 + TypeReference 1349917 1349941 + Identifier 1349917 1349941 + AsExpression 1349942 1349976 + Identifier 1349942 1349949 + TypeReference 1349952 1349976 + Identifier 1349952 1349976 + ReturnStatement 1350001 1350037 + Identifier 1350029 1350036 + IfStatement 1350056 1350271 + BinaryExpression 1350078 1350107 + Identifier 1350078 1350089 + AmpersandToken 1350089 1350091 + PropertyAccessExpression 1350091 1350107 + Identifier 1350091 1350101 + Identifier 1350102 1350107 + Block 1350108 1350271 + ReturnStatement 1350110 1350252 + CallExpression 1350138 1350251 + Identifier 1350138 1350150 + PropertyAccessExpression 1350151 1350177 + ParenthesizedExpression 1350151 1350172 + AsExpression 1350152 1350171 + Identifier 1350152 1350158 + TypeReference 1350161 1350171 + Identifier 1350161 1350171 + Identifier 1350173 1350177 + PropertyAccessExpression 1350178 1350205 + ParenthesizedExpression 1350178 1350200 + AsExpression 1350180 1350199 + Identifier 1350180 1350186 + TypeReference 1350189 1350199 + Identifier 1350189 1350199 + Identifier 1350201 1350205 + PropertyAccessExpression 1350206 1350226 + Identifier 1350206 1350221 + Identifier 1350222 1350226 + FalseKeyword 1350227 1350250 + IfStatement 1350271 1350805 + BinaryExpression 1350293 1350330 + Identifier 1350293 1350304 + AmpersandToken 1350304 1350306 + PropertyAccessExpression 1350306 1350330 + Identifier 1350306 1350316 + Identifier 1350317 1350330 + Block 1350331 1350805 + IfStatement 1350333 1350786 + BinaryExpression 1350359 1350508 + Identifier 1350359 1350365 + EqualsToken 1350365 1350367 + CallExpression 1350367 1350508 + Identifier 1350367 1350379 + PropertyAccessExpression 1350380 1350420 + ParenthesizedExpression 1350380 1350409 + AsExpression 1350381 1350408 + Identifier 1350381 1350387 + TypeReference 1350390 1350408 + Identifier 1350390 1350408 + Identifier 1350410 1350420 + PropertyAccessExpression 1350421 1350462 + ParenthesizedExpression 1350421 1350451 + AsExpression 1350423 1350450 + Identifier 1350423 1350429 + TypeReference 1350432 1350450 + Identifier 1350432 1350450 + Identifier 1350452 1350462 + PropertyAccessExpression 1350463 1350483 + Identifier 1350463 1350478 + Identifier 1350479 1350483 + FalseKeyword 1350484 1350507 + Block 1350509 1350786 + IfStatement 1350511 1350763 + BinaryExpression 1350541 1350689 + Identifier 1350541 1350547 + AmpersandEqualsToken 1350547 1350550 + CallExpression 1350550 1350689 + Identifier 1350550 1350562 + PropertyAccessExpression 1350563 1350602 + ParenthesizedExpression 1350563 1350592 + AsExpression 1350564 1350591 + Identifier 1350564 1350570 + TypeReference 1350573 1350591 + Identifier 1350573 1350591 + Identifier 1350593 1350602 + PropertyAccessExpression 1350603 1350643 + ParenthesizedExpression 1350603 1350633 + AsExpression 1350605 1350632 + Identifier 1350605 1350611 + TypeReference 1350614 1350632 + Identifier 1350614 1350632 + Identifier 1350634 1350643 + PropertyAccessExpression 1350644 1350664 + Identifier 1350644 1350659 + Identifier 1350660 1350664 + FalseKeyword 1350665 1350688 + Block 1350690 1350763 + ReturnStatement 1350692 1350736 + Identifier 1350728 1350735 + IfStatement 1350805 1352040 + BinaryExpression 1350827 1350862 + Identifier 1350827 1350838 + AmpersandToken 1350838 1350840 + PropertyAccessExpression 1350840 1350862 + Identifier 1350840 1350850 + Identifier 1350851 1350862 + Block 1350863 1352040 + IfStatement 1350865 1352021 + BinaryExpression 1350891 1350990 + PropertyAccessExpression 1350891 1350938 + PropertyAccessExpression 1350891 1350923 + ParenthesizedExpression 1350891 1350918 + AsExpression 1350892 1350917 + Identifier 1350892 1350898 + TypeReference 1350901 1350917 + Identifier 1350901 1350917 + Identifier 1350919 1350923 + Identifier 1350924 1350938 + EqualsEqualsEqualsToken 1350938 1350942 + PropertyAccessExpression 1350942 1350990 + PropertyAccessExpression 1350942 1350975 + ParenthesizedExpression 1350942 1350970 + AsExpression 1350944 1350969 + Identifier 1350944 1350950 + TypeReference 1350953 1350969 + Identifier 1350953 1350969 + Identifier 1350971 1350975 + Identifier 1350976 1350990 + Block 1350991 1352021 + IfStatement 1350993 1351998 + BinaryExpression 1351023 1351166 + Identifier 1351023 1351029 + EqualsToken 1351029 1351031 + CallExpression 1351031 1351166 + Identifier 1351031 1351043 + PropertyAccessExpression 1351044 1351081 + ParenthesizedExpression 1351044 1351071 + AsExpression 1351045 1351070 + Identifier 1351045 1351051 + TypeReference 1351054 1351070 + Identifier 1351054 1351070 + Identifier 1351072 1351081 + PropertyAccessExpression 1351082 1351120 + ParenthesizedExpression 1351082 1351110 + AsExpression 1351084 1351109 + Identifier 1351084 1351090 + TypeReference 1351093 1351109 + Identifier 1351093 1351109 + Identifier 1351111 1351120 + PropertyAccessExpression 1351121 1351141 + Identifier 1351121 1351136 + Identifier 1351137 1351141 + FalseKeyword 1351142 1351165 + Block 1351167 1351998 + IfStatement 1351169 1351971 + BinaryExpression 1351203 1351351 + Identifier 1351203 1351209 + AmpersandEqualsToken 1351209 1351212 + CallExpression 1351212 1351351 + Identifier 1351212 1351224 + PropertyAccessExpression 1351225 1351264 + ParenthesizedExpression 1351225 1351252 + AsExpression 1351226 1351251 + Identifier 1351226 1351232 + TypeReference 1351235 1351251 + Identifier 1351235 1351251 + Identifier 1351253 1351264 + PropertyAccessExpression 1351265 1351305 + ParenthesizedExpression 1351265 1351293 + AsExpression 1351267 1351292 + Identifier 1351267 1351273 + TypeReference 1351276 1351292 + Identifier 1351276 1351292 + Identifier 1351294 1351305 + PropertyAccessExpression 1351306 1351326 + Identifier 1351306 1351321 + Identifier 1351322 1351326 + FalseKeyword 1351327 1351350 + Block 1351352 1351971 + IfStatement 1351354 1351940 + BinaryExpression 1351392 1351576 + Identifier 1351392 1351398 + AmpersandEqualsToken 1351398 1351401 + CallExpression 1351401 1351576 + Identifier 1351401 1351413 + CallExpression 1351414 1351471 + Identifier 1351414 1351444 + AsExpression 1351445 1351470 + Identifier 1351445 1351451 + TypeReference 1351454 1351470 + Identifier 1351454 1351470 + CallExpression 1351472 1351530 + Identifier 1351472 1351503 + AsExpression 1351504 1351529 + Identifier 1351504 1351510 + TypeReference 1351513 1351529 + Identifier 1351513 1351529 + PropertyAccessExpression 1351531 1351551 + Identifier 1351531 1351546 + Identifier 1351547 1351551 + FalseKeyword 1351552 1351575 + Block 1351577 1351940 + IfStatement 1351579 1351905 + BinaryExpression 1351621 1351807 + Identifier 1351621 1351627 + AmpersandEqualsToken 1351627 1351630 + CallExpression 1351630 1351807 + Identifier 1351630 1351642 + CallExpression 1351643 1351701 + Identifier 1351643 1351674 + AsExpression 1351675 1351700 + Identifier 1351675 1351681 + TypeReference 1351684 1351700 + Identifier 1351684 1351700 + CallExpression 1351702 1351761 + Identifier 1351702 1351734 + AsExpression 1351735 1351760 + Identifier 1351735 1351741 + TypeReference 1351744 1351760 + Identifier 1351744 1351760 + PropertyAccessExpression 1351762 1351782 + Identifier 1351762 1351777 + Identifier 1351778 1351782 + FalseKeyword 1351783 1351806 + Block 1351808 1351905 + ReturnStatement 1351810 1351866 + Identifier 1351858 1351865 + IfStatement 1352040 1352567 + BinaryExpression 1352062 1352098 + Identifier 1352062 1352073 + AmpersandToken 1352073 1352075 + PropertyAccessExpression 1352075 1352098 + Identifier 1352075 1352085 + Identifier 1352086 1352098 + Block 1352099 1352567 + IfStatement 1352101 1352548 + BinaryExpression 1352127 1352270 + Identifier 1352127 1352133 + EqualsToken 1352133 1352135 + CallExpression 1352135 1352270 + Identifier 1352135 1352147 + PropertyAccessExpression 1352148 1352185 + ParenthesizedExpression 1352148 1352176 + AsExpression 1352149 1352175 + Identifier 1352149 1352155 + TypeReference 1352158 1352175 + Identifier 1352158 1352175 + Identifier 1352177 1352185 + PropertyAccessExpression 1352186 1352224 + ParenthesizedExpression 1352186 1352215 + AsExpression 1352188 1352214 + Identifier 1352188 1352194 + TypeReference 1352197 1352214 + Identifier 1352197 1352214 + Identifier 1352216 1352224 + PropertyAccessExpression 1352225 1352245 + Identifier 1352225 1352240 + Identifier 1352241 1352245 + FalseKeyword 1352246 1352269 + Block 1352271 1352548 + IfStatement 1352273 1352525 + BinaryExpression 1352303 1352451 + Identifier 1352303 1352309 + AmpersandEqualsToken 1352309 1352312 + CallExpression 1352312 1352451 + Identifier 1352312 1352324 + PropertyAccessExpression 1352325 1352364 + ParenthesizedExpression 1352325 1352353 + AsExpression 1352326 1352352 + Identifier 1352326 1352332 + TypeReference 1352335 1352352 + Identifier 1352335 1352352 + Identifier 1352354 1352364 + PropertyAccessExpression 1352365 1352405 + ParenthesizedExpression 1352365 1352394 + AsExpression 1352367 1352393 + Identifier 1352367 1352373 + TypeReference 1352376 1352393 + Identifier 1352376 1352393 + Identifier 1352395 1352405 + PropertyAccessExpression 1352406 1352426 + Identifier 1352406 1352421 + Identifier 1352422 1352426 + FalseKeyword 1352427 1352450 + Block 1352452 1352525 + ReturnStatement 1352454 1352498 + Identifier 1352490 1352497 + IfStatement 1352567 1352687 + PrefixUnaryExpression 1352589 1352622 + ParenthesizedExpression 1352590 1352622 + BinaryExpression 1352591 1352621 + Identifier 1352591 1352602 + AmpersandToken 1352602 1352604 + PropertyAccessExpression 1352604 1352621 + Identifier 1352604 1352614 + Identifier 1352615 1352621 + Block 1352623 1352687 + ReturnStatement 1352625 1352668 + PropertyAccessExpression 1352653 1352667 + Identifier 1352653 1352661 + Identifier 1352662 1352667 + IfStatement 1352720 1354104 + BinaryExpression 1352725 1352815 + BinaryExpression 1352725 1352768 + Identifier 1352725 1352736 + AmpersandToken 1352736 1352738 + PropertyAccessExpression 1352738 1352768 + Identifier 1352738 1352748 + Identifier 1352749 1352768 + BarBarToken 1352768 1352771 + BinaryExpression 1352771 1352815 + Identifier 1352771 1352783 + AmpersandToken 1352783 1352785 + PropertyAccessExpression 1352785 1352815 + Identifier 1352785 1352795 + Identifier 1352796 1352815 + Block 1352816 1354104 + IfStatement 1352818 1352984 + BinaryExpression 1352840 1352926 + Identifier 1352840 1352846 + EqualsToken 1352846 1352848 + CallExpression 1352848 1352926 + Identifier 1352848 1352877 + Identifier 1352878 1352884 + Identifier 1352885 1352892 + Identifier 1352893 1352906 + Identifier 1352907 1352925 + Block 1352927 1352984 + ReturnStatement 1352929 1352965 + Identifier 1352957 1352964 + IfStatement 1352984 1354089 + PrefixUnaryExpression 1353709 1354006 + ParenthesizedExpression 1353732 1354006 + BinaryExpression 1353733 1354005 + BinaryExpression 1353733 1353861 + BinaryExpression 1353733 1353769 + Identifier 1353733 1353744 + AmpersandToken 1353744 1353746 + PropertyAccessExpression 1353746 1353769 + Identifier 1353746 1353756 + Identifier 1353757 1353769 + BarBarToken 1353769 1353772 + BinaryExpression 1353772 1353861 + BinaryExpression 1353772 1353828 + Identifier 1353772 1353809 + AmpersandToken 1353809 1353811 + PropertyAccessExpression 1353811 1353828 + Identifier 1353811 1353821 + Identifier 1353822 1353828 + AmpersandAmpersandToken 1353828 1353831 + BinaryExpression 1353831 1353861 + Identifier 1353831 1353843 + AmpersandToken 1353843 1353845 + PropertyAccessExpression 1353845 1353861 + Identifier 1353845 1353855 + Identifier 1353856 1353861 + BarBarToken 1353861 1353864 + BinaryExpression 1353864 1354005 + BinaryExpression 1353864 1353926 + Identifier 1353864 1353901 + AmpersandToken 1353901 1353903 + PropertyAccessExpression 1353903 1353926 + Identifier 1353903 1353913 + Identifier 1353914 1353926 + AmpersandAmpersandToken 1353926 1353929 + BinaryExpression 1353929 1354005 + Identifier 1353929 1353941 + AmpersandToken 1353941 1353943 + ParenthesizedExpression 1353943 1354005 + BinaryExpression 1353945 1354004 + BinaryExpression 1353945 1353979 + PropertyAccessExpression 1353945 1353961 + Identifier 1353945 1353954 + Identifier 1353955 1353961 + BarToken 1353961 1353963 + PropertyAccessExpression 1353963 1353979 + Identifier 1353963 1353973 + Identifier 1353974 1353979 + BarToken 1353979 1353981 + PropertyAccessExpression 1353981 1354004 + Identifier 1353981 1353991 + Identifier 1353992 1354004 + Block 1354025 1354089 + ReturnStatement 1354027 1354070 + PropertyAccessExpression 1354055 1354069 + Identifier 1354055 1354063 + Identifier 1354064 1354069 + IfStatement 1354104 1355558 + BinaryExpression 1354404 1354642 + BinaryExpression 1354404 1354591 + BinaryExpression 1354404 1354529 + BinaryExpression 1354404 1354500 + BinaryExpression 1354404 1354478 + Identifier 1354404 1354433 + AmpersandToken 1354433 1354435 + ParenthesizedExpression 1354435 1354478 + BinaryExpression 1354437 1354477 + PropertyAccessExpression 1354437 1354453 + Identifier 1354437 1354446 + Identifier 1354447 1354453 + BarToken 1354453 1354455 + PropertyAccessExpression 1354455 1354477 + Identifier 1354455 1354465 + Identifier 1354466 1354477 + AmpersandAmpersandToken 1354478 1354481 + PropertyAccessExpression 1354481 1354500 + Identifier 1354481 1354488 + Identifier 1354489 1354500 + AmpersandAmpersandToken 1354500 1354503 + PropertyAccessExpression 1354503 1354529 + Identifier 1354503 1354510 + Identifier 1354511 1354529 + AmpersandAmpersandToken 1354529 1354532 + BinaryExpression 1354532 1354591 + PropertyAccessExpression 1354532 1354568 + Identifier 1354532 1354556 + Identifier 1354557 1354568 + EqualsEqualsEqualsToken 1354568 1354572 + PropertyAccessExpression 1354572 1354591 + Identifier 1354572 1354579 + Identifier 1354580 1354591 + AmpersandAmpersandToken 1354591 1354594 + PrefixUnaryExpression 1354594 1354642 + ParenthesizedExpression 1354596 1354642 + BinaryExpression 1354597 1354641 + CallExpression 1354597 1354617 + Identifier 1354597 1354609 + Identifier 1354610 1354616 + BarBarToken 1354617 1354620 + CallExpression 1354620 1354641 + Identifier 1354620 1354633 + Identifier 1354634 1354640 + Block 1354657 1355558 + VariableStatement 1354659 1354733 + VariableDeclarationList 1354659 1354732 + VariableDeclaration 1354682 1354732 + Identifier 1354682 1354692 + CallExpression 1354694 1354732 + Identifier 1354694 1354712 + PropertyAccessExpression 1354713 1354731 + Identifier 1354713 1354719 + Identifier 1354720 1354731 + IfStatement 1354733 1354846 + BinaryExpression 1354755 1354779 + Identifier 1354755 1354764 + EqualsEqualsEqualsToken 1354764 1354768 + Identifier 1354768 1354779 + Block 1354780 1354846 + ReturnStatement 1354782 1354827 + PropertyAccessExpression 1354810 1354826 + Identifier 1354810 1354818 + Identifier 1354819 1354826 + VariableStatement 1354846 1354930 + VariableDeclarationList 1354846 1354929 + VariableDeclaration 1354869 1354929 + Identifier 1354869 1354876 + NonNullExpression 1354878 1354929 + PropertyAccessExpression 1354878 1354928 + CallExpression 1354878 1354913 + Identifier 1354878 1354893 + PropertyAccessExpression 1354894 1354912 + Identifier 1354894 1354900 + Identifier 1354901 1354912 + Identifier 1354914 1354928 + VariableStatement 1354930 1354998 + VariableDeclarationList 1354930 1354997 + VariableDeclaration 1354953 1354997 + Identifier 1354953 1354963 + CallExpression 1354965 1354997 + Identifier 1354965 1354989 + Identifier 1354990 1354996 + VariableStatement 1354998 1355156 + VariableDeclarationList 1354998 1355155 + VariableDeclaration 1355021 1355155 + Identifier 1355021 1355033 + CallExpression 1355035 1355155 + Identifier 1355035 1355060 + PropertyAccessExpression 1355061 1355086 + Identifier 1355061 1355067 + Identifier 1355068 1355086 + Identifier 1355087 1355094 + Identifier 1355095 1355105 + CallExpression 1355106 1355154 + Identifier 1355106 1355117 + PropertyAccessExpression 1355118 1355153 + PropertyAccessExpression 1355118 1355136 + Identifier 1355118 1355124 + Identifier 1355125 1355136 + Identifier 1355137 1355153 + VariableStatement 1355156 1355314 + VariableDeclarationList 1355156 1355313 + VariableDeclaration 1355179 1355313 + Identifier 1355179 1355191 + CallExpression 1355193 1355313 + Identifier 1355193 1355218 + PropertyAccessExpression 1355219 1355244 + Identifier 1355219 1355225 + Identifier 1355226 1355244 + Identifier 1355245 1355252 + Identifier 1355253 1355263 + CallExpression 1355264 1355312 + Identifier 1355264 1355275 + PropertyAccessExpression 1355276 1355311 + PropertyAccessExpression 1355276 1355294 + Identifier 1355276 1355282 + Identifier 1355283 1355294 + Identifier 1355295 1355311 + VariableStatement 1355314 1355427 + VariableDeclarationList 1355314 1355426 + VariableDeclaration 1355337 1355426 + Identifier 1355337 1355352 + CallExpression 1355354 1355426 + Identifier 1355354 1355370 + Identifier 1355371 1355382 + Identifier 1355383 1355395 + Identifier 1355396 1355406 + Identifier 1355407 1355425 + IfStatement 1355427 1355543 + BinaryExpression 1355449 1355477 + Identifier 1355449 1355463 + ExclamationEqualsEqualsToken 1355463 1355467 + Identifier 1355467 1355477 + Block 1355478 1355543 + ReturnStatement 1355480 1355524 + Identifier 1355508 1355523 + IfStatement 1355558 1356294 + BinaryExpression 1355818 1356230 + BinaryExpression 1355818 1355988 + BinaryExpression 1355818 1355902 + CallExpression 1355818 1355875 + Identifier 1355818 1355867 + Identifier 1355868 1355874 + AmpersandAmpersandToken 1355875 1355878 + PrefixUnaryExpression 1355878 1355902 + PropertyAccessExpression 1355880 1355902 + PropertyAccessExpression 1355880 1355893 + Identifier 1355880 1355886 + Identifier 1355887 1355893 + Identifier 1355894 1355902 + AmpersandAmpersandToken 1355902 1355905 + ParenthesizedExpression 1355905 1355988 + BinaryExpression 1355907 1355987 + Identifier 1355907 1355913 + EqualsToken 1355913 1355915 + CallExpression 1355915 1355987 + Identifier 1355915 1355927 + ElementAccessExpression 1355928 1355955 + CallExpression 1355928 1355952 + Identifier 1355928 1355944 + Identifier 1355945 1355951 + NumericLiteral 1355953 1355954 + Identifier 1355956 1355963 + PropertyAccessExpression 1355964 1355986 + Identifier 1355964 1355979 + Identifier 1355980 1355986 + BarBarToken 1355988 1355991 + BinaryExpression 1355991 1356230 + BinaryExpression 1355991 1356144 + CallExpression 1355991 1356048 + Identifier 1355991 1356040 + Identifier 1356041 1356047 + AmpersandAmpersandToken 1356048 1356051 + ParenthesizedExpression 1356051 1356144 + BinaryExpression 1356053 1356143 + PropertyAccessExpression 1356053 1356075 + PropertyAccessExpression 1356053 1356066 + Identifier 1356053 1356059 + Identifier 1356060 1356066 + Identifier 1356067 1356075 + BarBarToken 1356075 1356078 + CallExpression 1356078 1356143 + Identifier 1356078 1356100 + BinaryExpression 1356101 1356142 + CallExpression 1356101 1356132 + Identifier 1356101 1356124 + Identifier 1356125 1356131 + BarBarToken 1356132 1356135 + Identifier 1356135 1356142 + AmpersandAmpersandToken 1356144 1356147 + ParenthesizedExpression 1356147 1356230 + BinaryExpression 1356149 1356229 + Identifier 1356149 1356155 + EqualsToken 1356155 1356157 + CallExpression 1356157 1356229 + Identifier 1356157 1356169 + Identifier 1356170 1356176 + ElementAccessExpression 1356177 1356205 + CallExpression 1356177 1356202 + Identifier 1356177 1356194 + Identifier 1356195 1356201 + NumericLiteral 1356203 1356204 + PropertyAccessExpression 1356206 1356228 + Identifier 1356206 1356221 + Identifier 1356222 1356228 + Block 1356245 1356294 + ReturnStatement 1356247 1356279 + Identifier 1356271 1356278 + IfStatement 1356294 1374493 + BinaryExpression 1356314 1356351 + Identifier 1356314 1356325 + AmpersandToken 1356325 1356327 + PropertyAccessExpression 1356327 1356351 + Identifier 1356327 1356337 + Identifier 1356338 1356351 + Block 1356352 1358281 + IfStatement 1356354 1357298 + BinaryExpression 1356509 1356713 + BinaryExpression 1356509 1356600 + BinaryExpression 1356509 1356552 + CallExpression 1356509 1356531 + Identifier 1356509 1356523 + Identifier 1356524 1356530 + AmpersandToken 1356531 1356533 + PropertyAccessExpression 1356533 1356552 + Identifier 1356533 1356545 + Identifier 1356546 1356552 + AmpersandAmpersandToken 1356552 1356555 + PrefixUnaryExpression 1356555 1356600 + PropertyAccessExpression 1356557 1356600 + PropertyAccessExpression 1356557 1356591 + ParenthesizedExpression 1356557 1356579 + AsExpression 1356558 1356578 + Identifier 1356558 1356564 + TypeReference 1356567 1356578 + Identifier 1356567 1356578 + Identifier 1356580 1356591 + Identifier 1356592 1356600 + AmpersandAmpersandToken 1356600 1356603 + CallExpression 1356603 1356713 + Identifier 1356603 1356615 + CallExpression 1356616 1356636 + Identifier 1356616 1356628 + Identifier 1356629 1356635 + CallExpression 1356637 1356691 + Identifier 1356637 1356669 + AsExpression 1356670 1356690 + Identifier 1356670 1356676 + TypeReference 1356679 1356690 + Identifier 1356679 1356690 + PropertyAccessExpression 1356692 1356712 + Identifier 1356692 1356707 + Identifier 1356708 1356712 + Block 1356714 1357298 + IfStatement 1356716 1357279 + PrefixUnaryExpression 1356742 1356827 + ParenthesizedExpression 1356743 1356827 + BinaryExpression 1356744 1356826 + CallExpression 1356744 1356788 + Identifier 1356744 1356766 + AsExpression 1356767 1356787 + Identifier 1356767 1356773 + TypeReference 1356776 1356787 + Identifier 1356776 1356787 + AmpersandToken 1356788 1356790 + PropertyAccessExpression 1356790 1356826 + Identifier 1356790 1356810 + Identifier 1356811 1356826 + Block 1356828 1357279 + VariableStatement 1356830 1356929 + VariableDeclarationList 1356830 1356928 + VariableDeclaration 1356861 1356928 + Identifier 1356861 1356874 + CallExpression 1356876 1356928 + Identifier 1356876 1356906 + AsExpression 1356907 1356927 + Identifier 1356907 1356913 + TypeReference 1356916 1356927 + Identifier 1356916 1356927 + VariableStatement 1356929 1357064 + VariableDeclarationList 1356929 1357063 + VariableDeclaration 1356960 1357063 + Identifier 1356960 1356978 + CallExpression 1356980 1357063 + Identifier 1356980 1357001 + Identifier 1357002 1357008 + CallExpression 1357009 1357062 + Identifier 1357009 1357040 + AsExpression 1357041 1357061 + Identifier 1357041 1357047 + TypeReference 1357050 1357061 + Identifier 1357050 1357061 + IfStatement 1357064 1357256 + BinaryExpression 1357094 1357182 + Identifier 1357094 1357100 + EqualsToken 1357100 1357102 + CallExpression 1357102 1357182 + Identifier 1357102 1357114 + Identifier 1357115 1357127 + Identifier 1357128 1357146 + PropertyAccessExpression 1357147 1357167 + Identifier 1357147 1357162 + Identifier 1357163 1357167 + Identifier 1357168 1357181 + Block 1357183 1357256 + ReturnStatement 1357185 1357229 + Identifier 1357221 1357228 + IfStatement 1357298 1358266 + BinaryExpression 1357320 1357392 + BinaryExpression 1357320 1357351 + Identifier 1357320 1357328 + EqualsEqualsEqualsToken 1357328 1357332 + Identifier 1357332 1357351 + AmpersandAmpersandToken 1357351 1357354 + BinaryExpression 1357354 1357392 + Identifier 1357354 1357366 + AmpersandToken 1357366 1357368 + PropertyAccessExpression 1357368 1357392 + Identifier 1357368 1357378 + Identifier 1357379 1357392 + Block 1357393 1358266 + VariableStatement 1357395 1357714 + VariableDeclarationList 1357395 1357713 + VariableDeclaration 1357663 1357713 + Identifier 1357663 1357674 + CallExpression 1357676 1357713 + Identifier 1357676 1357705 + Identifier 1357706 1357712 + IfStatement 1357714 1358204 + Identifier 1357740 1357750 + Block 1357751 1358204 + WhileStatement 1357753 1358181 + BinaryExpression 1357786 1357864 + Identifier 1357786 1357796 + AmpersandAmpersandToken 1357796 1357799 + CallExpression 1357799 1357864 + Identifier 1357799 1357808 + Identifier 1357809 1357819 + ArrowFunction 1357820 1357863 + Parameter 1357820 1357822 + Identifier 1357820 1357822 + EqualsGreaterThanToken 1357822 1357825 + PrefixUnaryExpression 1357825 1357863 + PrefixUnaryExpression 1357827 1357863 + ParenthesizedExpression 1357828 1357863 + BinaryExpression 1357829 1357862 + PropertyAccessExpression 1357829 1357836 + Identifier 1357829 1357830 + Identifier 1357831 1357836 + AmpersandToken 1357836 1357838 + PropertyAccessExpression 1357838 1357862 + Identifier 1357838 1357848 + Identifier 1357849 1357862 + Block 1357865 1358181 + IfStatement 1357867 1358070 + BinaryExpression 1357901 1357988 + Identifier 1357901 1357907 + EqualsToken 1357907 1357909 + CallExpression 1357909 1357988 + Identifier 1357909 1357921 + Identifier 1357922 1357932 + Identifier 1357933 1357940 + PropertyAccessExpression 1357941 1357963 + Identifier 1357941 1357956 + Identifier 1357957 1357963 + FalseKeyword 1357964 1357987 + Block 1357989 1358070 + ReturnStatement 1357991 1358039 + Identifier 1358031 1358038 + ExpressionStatement 1358070 1358154 + BinaryExpression 1358070 1358153 + Identifier 1358070 1358110 + EqualsToken 1358110 1358112 + CallExpression 1358112 1358153 + Identifier 1358112 1358141 + Identifier 1358142 1358152 + ReturnStatement 1358204 1358247 + PropertyAccessExpression 1358232 1358246 + Identifier 1358232 1358240 + Identifier 1358241 1358246 + IfStatement 1358299 1374493 + BinaryExpression 1358304 1358333 + Identifier 1358304 1358315 + AmpersandToken 1358315 1358317 + PropertyAccessExpression 1358317 1358333 + Identifier 1358317 1358327 + Identifier 1358328 1358333 + Block 1358334 1361993 + VariableStatement 1358336 1358400 + VariableDeclarationList 1358336 1358399 + VariableDeclaration 1358359 1358399 + Identifier 1358359 1358370 + PropertyAccessExpression 1358372 1358399 + ParenthesizedExpression 1358372 1358394 + AsExpression 1358374 1358393 + Identifier 1358374 1358380 + TypeReference 1358383 1358393 + Identifier 1358383 1358393 + Identifier 1358395 1358399 + IfStatement 1358400 1358746 + BinaryExpression 1358498 1358527 + Identifier 1358498 1358509 + AmpersandToken 1358509 1358511 + PropertyAccessExpression 1358511 1358527 + Identifier 1358511 1358521 + Identifier 1358522 1358527 + Block 1358528 1358746 + IfStatement 1358530 1358727 + BinaryExpression 1358556 1358661 + Identifier 1358556 1358562 + EqualsToken 1358562 1358564 + CallExpression 1358564 1358661 + Identifier 1358564 1358576 + Identifier 1358577 1358587 + PropertyAccessExpression 1358588 1358615 + ParenthesizedExpression 1358588 1358610 + AsExpression 1358590 1358609 + Identifier 1358590 1358596 + TypeReference 1358599 1358609 + Identifier 1358599 1358609 + Identifier 1358611 1358615 + PropertyAccessExpression 1358616 1358636 + Identifier 1358616 1358631 + Identifier 1358632 1358636 + FalseKeyword 1358637 1358660 + Block 1358662 1358727 + ReturnStatement 1358664 1358704 + Identifier 1358696 1358703 + IfStatement 1358746 1361978 + CallExpression 1358768 1358791 + Identifier 1358768 1358779 + Identifier 1358780 1358790 + Block 1358792 1359214 + IfStatement 1358794 1359195 + BinaryExpression 1359027 1359129 + Identifier 1359027 1359033 + EqualsToken 1359033 1359035 + CallExpression 1359035 1359129 + Identifier 1359035 1359047 + Identifier 1359048 1359054 + CallExpression 1359055 1359091 + Identifier 1359055 1359079 + Identifier 1359080 1359090 + PropertyAccessExpression 1359092 1359114 + Identifier 1359092 1359107 + Identifier 1359108 1359114 + Identifier 1359115 1359128 + Block 1359130 1359195 + ReturnStatement 1359132 1359172 + Identifier 1359164 1359171 + Block 1359236 1361978 + VariableStatement 1359238 1359518 + VariableDeclarationList 1359238 1359517 + VariableDeclaration 1359462 1359517 + Identifier 1359462 1359473 + CallExpression 1359475 1359517 + Identifier 1359475 1359505 + Identifier 1359506 1359516 + IfStatement 1359518 1361959 + Identifier 1359544 1359554 + Block 1359555 1360210 + IfStatement 1359557 1360187 + BinaryExpression 1359944 1360107 + CallExpression 1359944 1360090 + Identifier 1359944 1359955 + Identifier 1359956 1359962 + CallExpression 1359963 1360052 + Identifier 1359963 1359976 + Identifier 1359977 1359987 + BinaryExpression 1359988 1360051 + PropertyAccessExpression 1359988 1360021 + ParenthesizedExpression 1359988 1360010 + AsExpression 1359990 1360009 + Identifier 1359990 1359996 + TypeReference 1359999 1360009 + Identifier 1359999 1360009 + Identifier 1360011 1360021 + BarToken 1360021 1360023 + PropertyAccessExpression 1360023 1360051 + Identifier 1360023 1360034 + Identifier 1360035 1360051 + PropertyAccessExpression 1360053 1360075 + Identifier 1360053 1360068 + Identifier 1360069 1360075 + Identifier 1360076 1360089 + EqualsEqualsEqualsToken 1360090 1360094 + PropertyAccessExpression 1360094 1360107 + Identifier 1360094 1360102 + Identifier 1360103 1360107 + Block 1360108 1360187 + ReturnStatement 1360110 1360160 + PropertyAccessExpression 1360146 1360159 + Identifier 1360146 1360154 + Identifier 1360155 1360159 + IfStatement 1360236 1361959 + CallExpression 1360241 1360272 + Identifier 1360241 1360260 + Identifier 1360261 1360271 + Block 1360273 1361959 + VariableStatement 1360275 1360746 + VariableDeclarationList 1360275 1360745 + VariableDeclaration 1360696 1360745 + Identifier 1360696 1360705 + CallExpression 1360707 1360745 + Identifier 1360707 1360733 + Identifier 1360734 1360744 + VariableStatement 1360746 1360839 + VariableDeclarationList 1360746 1360838 + VariableDeclaration 1360777 1360838 + Identifier 1360777 1360792 + CallExpression 1360794 1360838 + Identifier 1360794 1360826 + Identifier 1360827 1360837 + VariableStatement 1360839 1360880 + VariableDeclarationList 1360839 1360879 + VariableDeclaration 1360868 1360879 + Identifier 1360868 1360879 + IfStatement 1360880 1361741 + BinaryExpression 1360910 1360976 + Identifier 1360910 1360918 + AmpersandAmpersandToken 1360918 1360921 + CallExpression 1360921 1360976 + Identifier 1360921 1360964 + Identifier 1360965 1360975 + Block 1360977 1361612 + VariableStatement 1360979 1361327 + VariableDeclarationList 1360979 1361326 + VariableDeclaration 1361265 1361326 + Identifier 1361265 1361276 + CallExpression 1361278 1361326 + Identifier 1361278 1361304 + Identifier 1361305 1361313 + Identifier 1361314 1361325 + ExpressionStatement 1361327 1361585 + BinaryExpression 1361327 1361584 + Identifier 1361327 1361545 + EqualsToken 1361545 1361547 + CallExpression 1361547 1361584 + Identifier 1361547 1361560 + ArrayLiteralExpression 1361561 1361583 + Identifier 1361562 1361572 + Identifier 1361573 1361582 + Block 1361642 1361741 + ExpressionStatement 1361644 1361714 + BinaryExpression 1361644 1361713 + Identifier 1361644 1361684 + EqualsToken 1361684 1361686 + BinaryExpression 1361686 1361713 + Identifier 1361686 1361695 + BarBarToken 1361695 1361698 + Identifier 1361698 1361713 + IfStatement 1361741 1361936 + BinaryExpression 1361771 1361856 + CallExpression 1361771 1361839 + Identifier 1361771 1361782 + Identifier 1361783 1361789 + Identifier 1361790 1361801 + PropertyAccessExpression 1361802 1361824 + Identifier 1361802 1361817 + Identifier 1361818 1361824 + Identifier 1361825 1361838 + EqualsEqualsEqualsToken 1361839 1361843 + PropertyAccessExpression 1361843 1361856 + Identifier 1361843 1361851 + Identifier 1361852 1361856 + Block 1361857 1361936 + ReturnStatement 1361859 1361909 + PropertyAccessExpression 1361895 1361908 + Identifier 1361895 1361903 + Identifier 1361904 1361908 + IfStatement 1362011 1374493 + BinaryExpression 1362016 1362053 + Identifier 1362016 1362027 + AmpersandToken 1362027 1362029 + PropertyAccessExpression 1362029 1362053 + Identifier 1362029 1362039 + Identifier 1362040 1362053 + Block 1362054 1364988 + IfStatement 1362056 1362916 + BinaryExpression 1362078 1362115 + Identifier 1362078 1362089 + AmpersandToken 1362089 1362091 + PropertyAccessExpression 1362091 1362115 + Identifier 1362091 1362101 + Identifier 1362102 1362115 + Block 1362116 1362916 + IfStatement 1362118 1362679 + BinaryExpression 1362349 1362488 + Identifier 1362349 1362355 + EqualsToken 1362355 1362357 + CallExpression 1362357 1362488 + Identifier 1362357 1362369 + PropertyAccessExpression 1362370 1362410 + ParenthesizedExpression 1362370 1362399 + AsExpression 1362371 1362398 + Identifier 1362371 1362377 + TypeReference 1362380 1362398 + Identifier 1362380 1362398 + Identifier 1362400 1362410 + PropertyAccessExpression 1362411 1362452 + ParenthesizedExpression 1362411 1362441 + AsExpression 1362413 1362440 + Identifier 1362413 1362419 + TypeReference 1362422 1362440 + Identifier 1362422 1362440 + Identifier 1362442 1362452 + PropertyAccessExpression 1362453 1362473 + Identifier 1362453 1362468 + Identifier 1362469 1362473 + Identifier 1362474 1362487 + Block 1362489 1362679 + ExpressionStatement 1362491 1362656 + BinaryExpression 1362491 1362655 + Identifier 1362491 1362523 + AmpersandEqualsToken 1362523 1362526 + CallExpression 1362526 1362655 + Identifier 1362526 1362538 + PropertyAccessExpression 1362539 1362578 + ParenthesizedExpression 1362539 1362568 + AsExpression 1362540 1362567 + Identifier 1362540 1362546 + TypeReference 1362549 1362567 + Identifier 1362549 1362567 + Identifier 1362569 1362578 + PropertyAccessExpression 1362579 1362619 + ParenthesizedExpression 1362579 1362609 + AsExpression 1362581 1362608 + Identifier 1362581 1362587 + TypeReference 1362590 1362608 + Identifier 1362590 1362608 + Identifier 1362610 1362619 + PropertyAccessExpression 1362620 1362640 + Identifier 1362620 1362635 + Identifier 1362636 1362640 + Identifier 1362641 1362654 + IfStatement 1362679 1362777 + Identifier 1362705 1362711 + Block 1362712 1362777 + ReturnStatement 1362714 1362754 + Identifier 1362746 1362753 + IfStatement 1362777 1362897 + Identifier 1362803 1362815 + Block 1362816 1362897 + ExpressionStatement 1362818 1362874 + BinaryExpression 1362818 1362873 + Identifier 1362818 1362861 + EqualsToken 1362861 1362863 + Identifier 1362863 1362873 + IfStatement 1362916 1364865 + BinaryExpression 1363087 1363153 + BinaryExpression 1363087 1363118 + Identifier 1363087 1363095 + EqualsEqualsEqualsToken 1363095 1363099 + Identifier 1363099 1363118 + BarBarToken 1363118 1363121 + BinaryExpression 1363121 1363153 + Identifier 1363121 1363130 + EqualsEqualsEqualsToken 1363130 1363134 + Identifier 1363134 1363153 + Block 1363154 1364865 + VariableStatement 1363156 1363238 + VariableDeclarationList 1363156 1363237 + VariableDeclaration 1363183 1363237 + Identifier 1363183 1363194 + PropertyAccessExpression 1363196 1363237 + ParenthesizedExpression 1363196 1363226 + AsExpression 1363198 1363225 + Identifier 1363198 1363204 + TypeReference 1363207 1363225 + Identifier 1363207 1363225 + Identifier 1363227 1363237 + VariableStatement 1363238 1363318 + VariableDeclarationList 1363238 1363317 + VariableDeclaration 1363265 1363317 + Identifier 1363265 1363275 + PropertyAccessExpression 1363277 1363317 + ParenthesizedExpression 1363277 1363307 + AsExpression 1363279 1363306 + Identifier 1363279 1363285 + TypeReference 1363288 1363306 + Identifier 1363288 1363306 + Identifier 1363308 1363317 + VariableStatement 1363318 1363413 + VariableDeclarationList 1363318 1363412 + VariableDeclaration 1363345 1363412 + Identifier 1363345 1363360 + BinaryExpression 1363362 1363412 + CallExpression 1363362 1363398 + Identifier 1363362 1363386 + Identifier 1363387 1363397 + BarBarToken 1363398 1363401 + Identifier 1363401 1363412 + VariableStatement 1363413 1363505 + VariableDeclarationList 1363413 1363504 + VariableDeclaration 1363440 1363504 + Identifier 1363440 1363454 + BinaryExpression 1363456 1363504 + CallExpression 1363456 1363491 + Identifier 1363456 1363480 + Identifier 1363481 1363490 + BarBarToken 1363491 1363494 + Identifier 1363494 1363504 + IfStatement 1363505 1364846 + BinaryExpression 1363531 1363605 + PrefixUnaryExpression 1363531 1363567 + CallExpression 1363532 1363567 + Identifier 1363532 1363551 + Identifier 1363552 1363566 + AmpersandAmpersandToken 1363567 1363570 + PrefixUnaryExpression 1363570 1363605 + CallExpression 1363572 1363605 + Identifier 1363572 1363590 + Identifier 1363591 1363604 + Block 1363606 1364846 + VariableStatement 1363608 1363744 + VariableDeclarationList 1363608 1363743 + VariableDeclaration 1363639 1363743 + Identifier 1363639 1363651 + BinaryExpression 1363653 1363743 + PropertyAccessExpression 1363653 1363673 + Identifier 1363653 1363665 + Identifier 1363666 1363673 + BarToken 1363673 1363675 + ParenthesizedExpression 1363675 1363743 + ConditionalExpression 1363677 1363742 + BinaryExpression 1363677 1363706 + Identifier 1363677 1363691 + ExclamationEqualsEqualsToken 1363691 1363695 + Identifier 1363695 1363706 + QuestionToken 1363706 1363708 + PropertyAccessExpression 1363708 1363738 + Identifier 1363708 1363720 + Identifier 1363721 1363738 + ColonToken 1363738 1363740 + NumericLiteral 1363740 1363742 + VariableStatement 1363744 1363865 + VariableDeclarationList 1363744 1363864 + VariableDeclaration 1363775 1363864 + Identifier 1363775 1363786 + CallExpression 1363788 1363864 + Identifier 1363788 1363820 + Identifier 1363821 1363835 + Identifier 1363836 1363850 + Identifier 1363851 1363863 + IfStatement 1363865 1364823 + Identifier 1363895 1363905 + Block 1363906 1364823 + IfStatement 1363908 1364153 + BinaryExpression 1363942 1363975 + Identifier 1363942 1363954 + AmpersandAmpersandToken 1363954 1363957 + Identifier 1363957 1363975 + Block 1363976 1364153 + ExpressionStatement 1363978 1364122 + CallExpression 1363978 1364121 + Identifier 1363978 1364106 + Identifier 1364107 1364120 + IfStatement 1364153 1364392 + BinaryExpression 1364187 1364310 + Identifier 1364187 1364193 + EqualsToken 1364193 1364195 + CallExpression 1364195 1364310 + Identifier 1364195 1364207 + Identifier 1364208 1364214 + Identifier 1364215 1364226 + PropertyAccessExpression 1364227 1364249 + Identifier 1364227 1364242 + Identifier 1364243 1364249 + Identifier 1364250 1364263 + Identifier 1364264 1364290 + Identifier 1364291 1364309 + Block 1364311 1364392 + ReturnStatement 1364313 1364361 + Identifier 1364353 1364360 + IfStatement 1364392 1364796 + BinaryExpression 1364551 1364597 + BinaryExpression 1364551 1364584 + Identifier 1364551 1364563 + AmpersandAmpersandToken 1364563 1364566 + Identifier 1364566 1364584 + AmpersandAmpersandToken 1364584 1364587 + Identifier 1364587 1364597 + Block 1364598 1364796 + ExpressionStatement 1364600 1364765 + BinaryExpression 1364600 1364764 + Identifier 1364600 1364643 + EqualsToken 1364643 1364645 + ConditionalExpression 1364645 1364764 + BinaryExpression 1364645 1364732 + CallExpression 1364645 1364691 + Identifier 1364645 1364670 + ArrayLiteralExpression 1364671 1364690 + Identifier 1364672 1364689 + LessThanEqualsToken 1364691 1364694 + CallExpression 1364694 1364732 + Identifier 1364694 1364719 + ArrayLiteralExpression 1364720 1364731 + Identifier 1364721 1364730 + QuestionToken 1364732 1364734 + Identifier 1364734 1364752 + ColonToken 1364752 1364754 + Identifier 1364754 1364764 + IfStatement 1364865 1364973 + Identifier 1364887 1364899 + Block 1364900 1364973 + ExpressionStatement 1364902 1364954 + BinaryExpression 1364902 1364953 + Identifier 1364902 1364941 + EqualsToken 1364941 1364943 + Identifier 1364943 1364953 + IfStatement 1365006 1374493 + BinaryExpression 1365011 1365071 + CallExpression 1365011 1365038 + Identifier 1365011 1365030 + Identifier 1365031 1365037 + AmpersandAmpersandToken 1365038 1365041 + BinaryExpression 1365041 1365071 + Identifier 1365041 1365050 + ExclamationEqualsEqualsToken 1365050 1365054 + Identifier 1365054 1365071 + Block 1365072 1371074 + VariableStatement 1365074 1365258 + VariableDeclarationList 1365074 1365257 + VariableDeclaration 1365212 1365257 + Identifier 1365212 1365225 + PrefixUnaryExpression 1365227 1365257 + PrefixUnaryExpression 1365229 1365257 + PropertyAccessExpression 1365230 1365257 + PropertyAccessExpression 1365230 1365248 + Identifier 1365230 1365236 + Identifier 1365237 1365248 + Identifier 1365249 1365257 + VariableStatement 1365258 1365335 + VariableDeclarationList 1365258 1365334 + VariableDeclaration 1365281 1365334 + Identifier 1365281 1365294 + CallExpression 1365296 1365334 + Identifier 1365296 1365326 + Identifier 1365327 1365333 + VariableStatement 1365335 1365402 + VariableDeclarationList 1365335 1365401 + VariableDeclaration 1365358 1365401 + Identifier 1365358 1365368 + CallExpression 1365370 1365401 + Identifier 1365370 1365393 + Identifier 1365394 1365400 + IfStatement 1365402 1371059 + PrefixUnaryExpression 1365424 1365474 + ParenthesizedExpression 1365425 1365474 + BinaryExpression 1365426 1365473 + Identifier 1365426 1365435 + AmpersandToken 1365435 1365437 + PropertyAccessExpression 1365437 1365473 + Identifier 1365437 1365457 + Identifier 1365458 1365473 + Block 1365475 1371059 + IfStatement 1365477 1366052 + BinaryExpression 1365693 1365958 + BinaryExpression 1365693 1365841 + BinaryExpression 1365693 1365780 + PrefixUnaryExpression 1365693 1365732 + Identifier 1365720 1365732 + AmpersandAmpersandToken 1365732 1365735 + BinaryExpression 1365735 1365780 + PropertyAccessExpression 1365735 1365754 + Identifier 1365735 1365748 + Identifier 1365749 1365754 + AmpersandToken 1365754 1365756 + PropertyAccessExpression 1365756 1365780 + Identifier 1365756 1365766 + Identifier 1365767 1365780 + AmpersandAmpersandToken 1365780 1365783 + BinaryExpression 1365783 1365841 + PropertyAccessExpression 1365783 1365830 + ParenthesizedExpression 1365783 1365819 + AsExpression 1365785 1365818 + Identifier 1365785 1365797 + TypeReference 1365800 1365818 + Identifier 1365800 1365818 + Identifier 1365820 1365830 + EqualsEqualsEqualsToken 1365830 1365834 + Identifier 1365834 1365841 + AmpersandAmpersandToken 1365841 1365844 + BinaryExpression 1365844 1365958 + PropertyAccessExpression 1365844 1365915 + ParenthesizedExpression 1365844 1365905 + AsExpression 1365871 1365904 + Identifier 1365871 1365883 + TypeReference 1365886 1365904 + Identifier 1365886 1365904 + Identifier 1365906 1365915 + EqualsEqualsEqualsToken 1365915 1365919 + CallExpression 1365919 1365958 + Identifier 1365919 1365950 + Identifier 1365951 1365957 + Block 1365981 1366052 + ReturnStatement 1365983 1366029 + PropertyAccessExpression 1366015 1366028 + Identifier 1366015 1366023 + Identifier 1366024 1366028 + IfStatement 1366052 1371040 + PrefixUnaryExpression 1366078 1366106 + CallExpression 1366079 1366106 + Identifier 1366079 1366098 + Identifier 1366099 1366105 + Block 1366107 1371040 + VariableStatement 1366109 1366442 + VariableDeclarationList 1366109 1366441 + VariableDeclaration 1366336 1366441 + Identifier 1366336 1366347 + ConditionalExpression 1366349 1366441 + Identifier 1366349 1366362 + QuestionToken 1366362 1366364 + NonNullExpression 1366364 1366399 + CallExpression 1366364 1366398 + Identifier 1366364 1366390 + Identifier 1366391 1366397 + ColonToken 1366399 1366401 + CallExpression 1366401 1366441 + Identifier 1366401 1366433 + Identifier 1366434 1366440 + VariableStatement 1366442 1366619 + VariableDeclarationList 1366442 1366618 + VariableDeclaration 1366554 1366618 + Identifier 1366554 1366565 + CallExpression 1366567 1366618 + Identifier 1366567 1366580 + Identifier 1366581 1366587 + PropertyAccessExpression 1366588 1366617 + Identifier 1366588 1366599 + Identifier 1366600 1366617 + VariableStatement 1366619 1366717 + VariableDeclarationList 1366619 1366716 + VariableDeclaration 1366650 1366716 + Identifier 1366650 1366666 + BinaryExpression 1366668 1366716 + Identifier 1366668 1366678 + AmpersandToken 1366678 1366680 + PropertyAccessExpression 1366680 1366716 + Identifier 1366680 1366700 + Identifier 1366701 1366716 + VariableStatement 1366717 1366844 + VariableDeclarationList 1366717 1366843 + VariableDeclaration 1366748 1366843 + Identifier 1366748 1366772 + ConditionalExpression 1366774 1366843 + Identifier 1366774 1366790 + QuestionToken 1366790 1366792 + CallExpression 1366792 1366831 + Identifier 1366792 1366807 + Identifier 1366808 1366818 + Identifier 1366819 1366830 + ColonToken 1366831 1366833 + Identifier 1366833 1366843 + IfStatement 1366844 1370905 + ConditionalExpression 1367549 1367773 + Identifier 1367549 1367594 + QuestionToken 1367594 1367629 + PrefixUnaryExpression 1367629 1367681 + ParenthesizedExpression 1367631 1367681 + BinaryExpression 1367632 1367680 + PropertyAccessExpression 1367632 1367662 + NonNullExpression 1367632 1367656 + Identifier 1367632 1367655 + Identifier 1367657 1367662 + AmpersandToken 1367662 1367664 + PropertyAccessExpression 1367664 1367680 + Identifier 1367664 1367674 + Identifier 1367675 1367680 + ColonToken 1367681 1367716 + CallExpression 1367716 1367773 + Identifier 1367716 1367728 + Identifier 1367729 1367739 + Identifier 1367740 1367751 + PropertyAccessExpression 1367752 1367772 + Identifier 1367752 1367767 + Identifier 1367768 1367772 + Block 1367800 1370905 + VariableStatement 1367802 1367891 + VariableDeclarationList 1367802 1367890 + VariableDeclaration 1367837 1367890 + Identifier 1367837 1367850 + CallExpression 1367852 1367890 + Identifier 1367852 1367882 + Identifier 1367883 1367889 + VariableStatement 1367891 1367982 + VariableDeclarationList 1367891 1367981 + VariableDeclaration 1367926 1367981 + Identifier 1367926 1367940 + CallExpression 1367942 1367981 + Identifier 1367942 1367973 + Identifier 1367974 1367980 + VariableStatement 1367982 1368401 + VariableDeclarationList 1367982 1368400 + VariableDeclaration 1368327 1368400 + Identifier 1368327 1368344 + CallExpression 1368346 1368400 + Identifier 1368346 1368365 + Identifier 1368366 1368378 + PrefixUnaryExpression 1368379 1368399 + PropertyAccessExpression 1368381 1368399 + Identifier 1368381 1368390 + Identifier 1368391 1368399 + IfStatement 1368401 1370878 + BinaryExpression 1368435 1368571 + BinaryExpression 1368435 1368500 + PrefixUnaryExpression 1368435 1368448 + Identifier 1368436 1368448 + AmpersandAmpersandToken 1368448 1368451 + BinaryExpression 1368451 1368500 + PropertyAccessExpression 1368451 1368474 + Identifier 1368451 1368468 + Identifier 1368469 1368474 + AmpersandToken 1368474 1368476 + PropertyAccessExpression 1368476 1368500 + Identifier 1368476 1368486 + Identifier 1368487 1368500 + AmpersandAmpersandToken 1368500 1368503 + BinaryExpression 1368503 1368571 + PropertyAccessExpression 1368503 1368553 + ParenthesizedExpression 1368503 1368543 + AsExpression 1368505 1368542 + Identifier 1368505 1368521 + TypeReference 1368524 1368542 + Identifier 1368524 1368542 + Identifier 1368544 1368553 + EqualsEqualsEqualsToken 1368553 1368557 + Identifier 1368557 1368571 + Block 1368572 1368850 + IfStatement 1368574 1368819 + BinaryExpression 1368612 1368729 + Identifier 1368612 1368618 + EqualsToken 1368618 1368620 + CallExpression 1368620 1368729 + Identifier 1368620 1368632 + Identifier 1368633 1368639 + PropertyAccessExpression 1368640 1368691 + ParenthesizedExpression 1368640 1368680 + AsExpression 1368642 1368679 + Identifier 1368642 1368658 + TypeReference 1368661 1368679 + Identifier 1368661 1368679 + Identifier 1368681 1368691 + PropertyAccessExpression 1368692 1368714 + Identifier 1368692 1368707 + Identifier 1368708 1368714 + Identifier 1368715 1368728 + Block 1368730 1368819 + ReturnStatement 1368732 1368784 + Identifier 1368776 1368783 + Block 1368884 1370878 + VariableStatement 1368886 1370402 + VariableDeclarationList 1368886 1370401 + VariableDeclaration 1370077 1370401 + Identifier 1370077 1370090 + ConditionalExpression 1370092 1370401 + Identifier 1370092 1370105 + QuestionToken 1370105 1370144 + ParenthesizedExpression 1370144 1370184 + BinaryExpression 1370146 1370183 + Identifier 1370146 1370169 + BarBarToken 1370169 1370172 + Identifier 1370172 1370183 + ColonToken 1370184 1370223 + ConditionalExpression 1370223 1370401 + Identifier 1370223 1370247 + QuestionToken 1370247 1370286 + CallExpression 1370286 1370348 + Identifier 1370286 1370306 + ArrayLiteralExpression 1370307 1370347 + Identifier 1370308 1370331 + Identifier 1370332 1370346 + ColonToken 1370348 1370387 + Identifier 1370387 1370401 + VariableStatement 1370402 1370505 + VariableDeclarationList 1370402 1370504 + VariableDeclaration 1370441 1370504 + Identifier 1370441 1370459 + CallExpression 1370461 1370504 + Identifier 1370461 1370482 + Identifier 1370483 1370489 + Identifier 1370490 1370503 + IfStatement 1370505 1370847 + BinaryExpression 1370669 1370757 + Identifier 1370669 1370675 + EqualsToken 1370675 1370677 + CallExpression 1370677 1370757 + Identifier 1370677 1370689 + Identifier 1370690 1370707 + Identifier 1370708 1370721 + PropertyAccessExpression 1370722 1370742 + Identifier 1370722 1370737 + Identifier 1370738 1370742 + Identifier 1370743 1370756 + Block 1370758 1370847 + ReturnStatement 1370760 1370812 + Identifier 1370804 1370811 + ExpressionStatement 1370905 1370961 + BinaryExpression 1370905 1370960 + Identifier 1370905 1370948 + EqualsToken 1370948 1370950 + Identifier 1370950 1370960 + ExpressionStatement 1370961 1371017 + CallExpression 1370961 1371016 + Identifier 1370961 1371001 + Identifier 1371002 1371015 + IfStatement 1371092 1374493 + BinaryExpression 1371097 1371132 + Identifier 1371097 1371108 + AmpersandToken 1371108 1371110 + PropertyAccessExpression 1371110 1371132 + Identifier 1371110 1371120 + Identifier 1371121 1371132 + Block 1371133 1373304 + IfStatement 1371135 1371488 + CallExpression 1371367 1371423 + Identifier 1371367 1371385 + Identifier 1371386 1371392 + Identifier 1371393 1371405 + Identifier 1371406 1371418 + NumericLiteral 1371419 1371422 + Block 1371424 1371488 + ReturnStatement 1371426 1371469 + PropertyAccessExpression 1371454 1371468 + Identifier 1371454 1371462 + Identifier 1371463 1371468 + VariableStatement 1371488 1371542 + VariableDeclarationList 1371488 1371541 + VariableDeclaration 1371511 1371541 + Identifier 1371511 1371513 + AsExpression 1371515 1371541 + Identifier 1371515 1371522 + TypeReference 1371525 1371541 + Identifier 1371525 1371541 + IfStatement 1371542 1373289 + BinaryExpression 1371980 1372133 + BinaryExpression 1371980 1372043 + PrefixUnaryExpression 1371980 1372007 + PropertyAccessExpression 1371981 1372007 + PropertyAccessExpression 1371981 1371987 + Identifier 1371981 1371982 + Identifier 1371983 1371987 + Identifier 1371988 1372007 + AmpersandAmpersandToken 1372007 1372010 + PrefixUnaryExpression 1372010 1372043 + CallExpression 1372012 1372043 + Identifier 1372012 1372035 + PropertyAccessExpression 1372036 1372042 + Identifier 1372036 1372037 + Identifier 1372038 1372042 + AmpersandAmpersandToken 1372043 1372046 + PrefixUnaryExpression 1372046 1372133 + ParenthesizedExpression 1372048 1372133 + BinaryExpression 1372049 1372132 + BinaryExpression 1372049 1372085 + PropertyAccessExpression 1372049 1372061 + Identifier 1372049 1372055 + Identifier 1372056 1372061 + AmpersandToken 1372061 1372063 + PropertyAccessExpression 1372063 1372085 + Identifier 1372063 1372073 + Identifier 1372074 1372085 + AmpersandAmpersandToken 1372085 1372088 + BinaryExpression 1372088 1372132 + PropertyAccessExpression 1372088 1372121 + ParenthesizedExpression 1372088 1372116 + AsExpression 1372090 1372115 + Identifier 1372090 1372096 + TypeReference 1372099 1372115 + Identifier 1372099 1372115 + Identifier 1372117 1372121 + EqualsEqualsEqualsToken 1372121 1372125 + PropertyAccessExpression 1372125 1372132 + Identifier 1372125 1372127 + Identifier 1372128 1372132 + Block 1372134 1373289 + VariableStatement 1372136 1372405 + VariableDeclarationList 1372136 1372404 + VariableDeclaration 1372289 1372404 + Identifier 1372289 1372298 + PrefixUnaryExpression 1372300 1372404 + CallExpression 1372302 1372404 + Identifier 1372302 1372320 + CallExpression 1372321 1372360 + Identifier 1372321 1372347 + PropertyAccessExpression 1372348 1372359 + Identifier 1372348 1372349 + Identifier 1372350 1372359 + CallExpression 1372361 1372403 + Identifier 1372361 1372388 + PropertyAccessExpression 1372389 1372402 + Identifier 1372389 1372390 + Identifier 1372391 1372402 + VariableStatement 1372405 1372563 + VariableDeclarationList 1372405 1372562 + VariableDeclaration 1372432 1372562 + Identifier 1372432 1372442 + BinaryExpression 1372444 1372562 + PrefixUnaryExpression 1372444 1372454 + Identifier 1372446 1372454 + AmpersandAmpersandToken 1372454 1372457 + CallExpression 1372457 1372562 + Identifier 1372457 1372476 + CallExpression 1372477 1372517 + Identifier 1372477 1372504 + PropertyAccessExpression 1372505 1372516 + Identifier 1372505 1372506 + Identifier 1372507 1372516 + CallExpression 1372518 1372561 + Identifier 1372518 1372546 + PropertyAccessExpression 1372547 1372560 + Identifier 1372547 1372548 + Identifier 1372549 1372560 + IfStatement 1372563 1373270 + BinaryExpression 1372740 1372922 + Identifier 1372740 1372746 + EqualsToken 1372746 1372748 + ConditionalExpression 1372748 1372922 + Identifier 1372748 1372757 + QuestionToken 1372757 1372759 + PropertyAccessExpression 1372759 1372772 + Identifier 1372759 1372767 + Identifier 1372768 1372772 + ColonToken 1372772 1372774 + CallExpression 1372774 1372922 + Identifier 1372774 1372786 + Identifier 1372787 1372793 + CallExpression 1372794 1372828 + Identifier 1372794 1372825 + Identifier 1372826 1372827 + PropertyAccessExpression 1372829 1372851 + Identifier 1372829 1372844 + Identifier 1372845 1372851 + FalseKeyword 1372852 1372875 + Identifier 1372876 1372902 + Identifier 1372903 1372921 + Block 1372923 1373270 + ExpressionStatement 1372925 1373137 + BinaryExpression 1372925 1373136 + Identifier 1372925 1372957 + AmpersandEqualsToken 1372957 1372960 + ConditionalExpression 1372960 1373136 + Identifier 1372960 1372970 + QuestionToken 1372970 1372972 + PropertyAccessExpression 1372972 1372985 + Identifier 1372972 1372980 + Identifier 1372981 1372985 + ColonToken 1372985 1372987 + CallExpression 1372987 1373136 + Identifier 1372987 1372999 + Identifier 1373000 1373006 + CallExpression 1373007 1373042 + Identifier 1373007 1373039 + Identifier 1373040 1373041 + PropertyAccessExpression 1373043 1373065 + Identifier 1373043 1373058 + Identifier 1373059 1373065 + FalseKeyword 1373066 1373089 + Identifier 1373090 1373116 + Identifier 1373117 1373135 + IfStatement 1373137 1373247 + Identifier 1373167 1373173 + Block 1373174 1373247 + ReturnStatement 1373176 1373220 + Identifier 1373212 1373219 + IfStatement 1373322 1374493 + BinaryExpression 1373327 1373366 + Identifier 1373327 1373338 + AmpersandToken 1373338 1373340 + PropertyAccessExpression 1373340 1373366 + Identifier 1373340 1373350 + Identifier 1373351 1373366 + Block 1373367 1374192 + IfStatement 1373369 1374018 + BinaryExpression 1373391 1373430 + Identifier 1373391 1373402 + AmpersandToken 1373402 1373404 + PropertyAccessExpression 1373404 1373430 + Identifier 1373404 1373414 + Identifier 1373415 1373430 + Block 1373431 1374018 + IfStatement 1373433 1373682 + BinaryExpression 1373459 1373490 + Identifier 1373459 1373467 + EqualsEqualsEqualsToken 1373467 1373471 + Identifier 1373471 1373490 + Block 1373491 1373682 + ReturnStatement 1373493 1373659 + ConditionalExpression 1373525 1373658 + CallExpression 1373525 1373627 + Identifier 1373525 1373565 + AsExpression 1373566 1373595 + Identifier 1373566 1373572 + TypeReference 1373575 1373595 + Identifier 1373575 1373595 + AsExpression 1373596 1373626 + Identifier 1373596 1373603 + TypeReference 1373606 1373626 + Identifier 1373606 1373626 + QuestionToken 1373627 1373629 + PropertyAccessExpression 1373629 1373643 + Identifier 1373629 1373637 + Identifier 1373638 1373643 + ColonToken 1373643 1373645 + PropertyAccessExpression 1373645 1373658 + Identifier 1373645 1373653 + Identifier 1373654 1373658 + ExpressionStatement 1373682 1373999 + CallExpression 1373682 1373998 + Identifier 1373682 1373966 + Identifier 1373967 1373973 + Identifier 1373974 1373997 + IfStatement 1374018 1374177 + CallExpression 1374040 1374113 + Identifier 1374040 1374074 + Identifier 1374075 1374081 + AsExpression 1374082 1374112 + Identifier 1374082 1374089 + TypeReference 1374092 1374112 + Identifier 1374092 1374112 + Block 1374114 1374177 + ReturnStatement 1374116 1374158 + PropertyAccessExpression 1374144 1374157 + Identifier 1374144 1374152 + Identifier 1374153 1374157 + IfStatement 1374210 1374493 + BinaryExpression 1374215 1374253 + PropertyAccessExpression 1374215 1374227 + Identifier 1374215 1374221 + Identifier 1374222 1374227 + AmpersandToken 1374227 1374229 + PropertyAccessExpression 1374229 1374253 + Identifier 1374229 1374239 + Identifier 1374240 1374253 + Block 1374254 1374493 + IfStatement 1374256 1374478 + PrefixUnaryExpression 1374278 1374319 + ParenthesizedExpression 1374279 1374319 + BinaryExpression 1374280 1374318 + PropertyAccessExpression 1374280 1374292 + Identifier 1374280 1374286 + Identifier 1374287 1374292 + AmpersandToken 1374292 1374294 + PropertyAccessExpression 1374294 1374318 + Identifier 1374294 1374304 + Identifier 1374305 1374318 + Block 1374320 1374478 + IfStatement 1374322 1374459 + CallExpression 1374348 1374387 + Identifier 1374348 1374371 + Identifier 1374372 1374378 + Identifier 1374379 1374386 + Block 1374388 1374459 + ReturnStatement 1374390 1374436 + PropertyAccessExpression 1374422 1374435 + Identifier 1374422 1374430 + Identifier 1374431 1374435 + IfStatement 1374493 1391523 + BinaryExpression 1374513 1374549 + Identifier 1374513 1374524 + AmpersandToken 1374524 1374526 + PropertyAccessExpression 1374526 1374549 + Identifier 1374526 1374536 + Identifier 1374537 1374549 + Block 1374550 1376666 + IfStatement 1374552 1376651 + PrefixUnaryExpression 1374692 1374773 + ParenthesizedExpression 1374693 1374773 + BinaryExpression 1374694 1374772 + BinaryExpression 1374694 1374731 + Identifier 1374694 1374705 + AmpersandToken 1374705 1374707 + PropertyAccessExpression 1374707 1374731 + Identifier 1374707 1374717 + Identifier 1374718 1374731 + AmpersandAmpersandToken 1374731 1374734 + BinaryExpression 1374734 1374772 + Identifier 1374734 1374746 + AmpersandToken 1374746 1374748 + PropertyAccessExpression 1374748 1374772 + Identifier 1374748 1374758 + Identifier 1374759 1374772 + Block 1374774 1376651 + VariableStatement 1374776 1374876 + VariableDeclarationList 1374776 1374875 + VariableDeclaration 1374803 1374875 + Identifier 1374803 1374814 + BinaryExpression 1374816 1374875 + CallExpression 1374816 1374860 + Identifier 1374816 1374836 + AsExpression 1374837 1374859 + Identifier 1374837 1374843 + TypeReference 1374846 1374859 + Identifier 1374846 1374859 + BarBarToken 1374860 1374863 + Identifier 1374863 1374875 + IfStatement 1374876 1375830 + BinaryExpression 1375097 1375230 + Identifier 1375097 1375103 + EqualsToken 1375103 1375105 + CallExpression 1375105 1375230 + Identifier 1375105 1375117 + Identifier 1375118 1375128 + Identifier 1375129 1375136 + PropertyAccessExpression 1375137 1375159 + Identifier 1375137 1375152 + Identifier 1375153 1375159 + FalseKeyword 1375160 1375183 + Identifier 1375184 1375210 + Identifier 1375211 1375229 + Block 1375231 1375296 + ReturnStatement 1375233 1375273 + Identifier 1375265 1375272 + IfStatement 1375515 1375830 + BinaryExpression 1375520 1375764 + Identifier 1375520 1375526 + EqualsToken 1375526 1375528 + CallExpression 1375528 1375764 + Identifier 1375528 1375540 + CallExpression 1375541 1375584 + Identifier 1375541 1375564 + Identifier 1375565 1375575 + Identifier 1375576 1375583 + Identifier 1375585 1375592 + PropertyAccessExpression 1375593 1375615 + Identifier 1375593 1375608 + Identifier 1375609 1375615 + BinaryExpression 1375616 1375717 + BinaryExpression 1375616 1375659 + Identifier 1375616 1375629 + AmpersandAmpersandToken 1375629 1375632 + BinaryExpression 1375632 1375659 + Identifier 1375632 1375643 + ExclamationEqualsEqualsToken 1375643 1375647 + Identifier 1375647 1375659 + AmpersandAmpersandToken 1375659 1375662 + PrefixUnaryExpression 1375662 1375717 + ParenthesizedExpression 1375664 1375717 + BinaryExpression 1375665 1375716 + BinaryExpression 1375665 1375690 + Identifier 1375665 1375676 + AmpersandToken 1375676 1375678 + Identifier 1375678 1375690 + AmpersandToken 1375690 1375692 + PropertyAccessExpression 1375692 1375716 + Identifier 1375692 1375702 + Identifier 1375703 1375716 + Identifier 1375718 1375744 + Identifier 1375745 1375763 + Block 1375765 1375830 + ReturnStatement 1375767 1375807 + Identifier 1375799 1375806 + IfStatement 1375830 1376632 + CallExpression 1375856 1375896 + Identifier 1375856 1375888 + Identifier 1375889 1375895 + Block 1375897 1376632 + VariableStatement 1375899 1376272 + VariableDeclarationList 1375899 1376271 + VariableDeclaration 1376192 1376271 + Identifier 1376192 1376208 + CallExpression 1376210 1376271 + Identifier 1376210 1376230 + PropertyAccessExpression 1376231 1376270 + ParenthesizedExpression 1376231 1376260 + AsExpression 1376232 1376259 + Identifier 1376232 1376238 + TypeReference 1376241 1376259 + Identifier 1376241 1376259 + Identifier 1376261 1376270 + IfStatement 1376272 1376609 + Identifier 1376302 1376317 + Block 1376318 1376609 + IfStatement 1376320 1376582 + BinaryExpression 1376354 1376500 + Identifier 1376354 1376360 + EqualsToken 1376360 1376362 + CallExpression 1376362 1376500 + Identifier 1376362 1376374 + CallExpression 1376375 1376454 + Identifier 1376375 1376395 + PropertyAccessExpression 1376396 1376436 + ParenthesizedExpression 1376396 1376425 + AsExpression 1376397 1376424 + Identifier 1376397 1376403 + TypeReference 1376406 1376424 + Identifier 1376406 1376424 + Identifier 1376426 1376436 + Identifier 1376437 1376453 + Identifier 1376455 1376462 + PropertyAccessExpression 1376463 1376485 + Identifier 1376463 1376478 + Identifier 1376479 1376485 + Identifier 1376486 1376499 + Block 1376501 1376582 + ReturnStatement 1376503 1376551 + Identifier 1376543 1376550 + IfStatement 1376684 1391523 + BinaryExpression 1376689 1376718 + Identifier 1376689 1376700 + AmpersandToken 1376700 1376702 + PropertyAccessExpression 1376702 1376718 + Identifier 1376702 1376712 + Identifier 1376713 1376718 + Block 1376719 1378515 + VariableStatement 1376721 1376919 + VariableDeclarationList 1376721 1376918 + VariableDeclaration 1376744 1376918 + Identifier 1376744 1376766 + BinaryExpression 1376768 1376918 + CallExpression 1376768 1376851 + Identifier 1376768 1376789 + PropertyAccessExpression 1376790 1376816 + ParenthesizedExpression 1376790 1376811 + AsExpression 1376791 1376810 + Identifier 1376791 1376797 + TypeReference 1376800 1376810 + Identifier 1376800 1376810 + Identifier 1376812 1376816 + PropertyAccessExpression 1376817 1376850 + ParenthesizedExpression 1376817 1376839 + AsExpression 1376819 1376838 + Identifier 1376819 1376825 + TypeReference 1376828 1376838 + Identifier 1376828 1376838 + Identifier 1376840 1376850 + AmpersandAmpersandToken 1376851 1376854 + BinaryExpression 1376854 1376918 + CallExpression 1376854 1376897 + Identifier 1376854 1376869 + PropertyAccessExpression 1376870 1376896 + ParenthesizedExpression 1376870 1376891 + AsExpression 1376871 1376890 + Identifier 1376871 1376877 + TypeReference 1376880 1376890 + Identifier 1376880 1376890 + Identifier 1376892 1376896 + AmpersandToken 1376897 1376899 + PropertyAccessExpression 1376899 1376918 + Identifier 1376899 1376911 + Identifier 1376912 1376918 + IfStatement 1376919 1377114 + BinaryExpression 1376941 1377056 + Identifier 1376941 1376947 + EqualsToken 1376947 1376949 + CallExpression 1376949 1377056 + Identifier 1376949 1376961 + Identifier 1376962 1376984 + Identifier 1376985 1376992 + PropertyAccessExpression 1376993 1377015 + Identifier 1376993 1377008 + Identifier 1377009 1377015 + BinaryExpression 1377016 1377055 + Identifier 1377016 1377029 + AmpersandAmpersandToken 1377029 1377032 + PrefixUnaryExpression 1377032 1377055 + Identifier 1377034 1377055 + Block 1377057 1377114 + ReturnStatement 1377059 1377095 + Identifier 1377087 1377094 + IfStatement 1377114 1378500 + Identifier 1377136 1377157 + Block 1377158 1378500 + VariableStatement 1377160 1377242 + VariableDeclarationList 1377160 1377241 + VariableDeclaration 1377187 1377241 + Identifier 1377187 1377198 + AsExpression 1377200 1377241 + PropertyAccessExpression 1377200 1377227 + ParenthesizedExpression 1377200 1377222 + AsExpression 1377202 1377221 + Identifier 1377202 1377208 + TypeReference 1377211 1377221 + Identifier 1377211 1377221 + Identifier 1377223 1377227 + TypeReference 1377230 1377241 + Identifier 1377230 1377241 + VariableStatement 1377242 1377319 + VariableDeclarationList 1377242 1377318 + VariableDeclaration 1377269 1377318 + Identifier 1377269 1377278 + CallExpression 1377280 1377318 + Identifier 1377280 1377306 + Identifier 1377307 1377317 + VariableStatement 1377319 1378306 + VariableDeclarationList 1377319 1378305 + VariableDeclaration 1378109 1378305 + Identifier 1378109 1378126 + ConditionalExpression 1378128 1378305 + BinaryExpression 1378128 1378195 + Identifier 1378128 1378137 + AmpersandAmpersandToken 1378137 1378140 + CallExpression 1378140 1378195 + Identifier 1378140 1378183 + Identifier 1378184 1378194 + QuestionToken 1378195 1378197 + CallExpression 1378197 1378245 + Identifier 1378197 1378223 + Identifier 1378224 1378232 + Identifier 1378233 1378244 + ColonToken 1378245 1378247 + ParenthesizedExpression 1378247 1378305 + BinaryExpression 1378249 1378304 + Identifier 1378249 1378257 + BarBarToken 1378257 1378260 + CallExpression 1378260 1378304 + Identifier 1378260 1378292 + Identifier 1378293 1378303 + IfStatement 1378306 1378481 + BinaryExpression 1378332 1378415 + Identifier 1378332 1378338 + EqualsToken 1378338 1378340 + CallExpression 1378340 1378415 + Identifier 1378340 1378352 + Identifier 1378353 1378369 + Identifier 1378370 1378377 + PropertyAccessExpression 1378378 1378400 + Identifier 1378378 1378393 + Identifier 1378394 1378400 + Identifier 1378401 1378414 + Block 1378416 1378481 + ReturnStatement 1378418 1378458 + Identifier 1378450 1378457 + IfStatement 1378533 1391523 + BinaryExpression 1378538 1378614 + BinaryExpression 1378538 1378577 + Identifier 1378538 1378549 + AmpersandToken 1378549 1378551 + PropertyAccessExpression 1378551 1378577 + Identifier 1378551 1378561 + Identifier 1378562 1378577 + AmpersandAmpersandToken 1378577 1378580 + PrefixUnaryExpression 1378580 1378614 + ParenthesizedExpression 1378582 1378614 + BinaryExpression 1378583 1378613 + Identifier 1378583 1378594 + AmpersandToken 1378594 1378596 + PropertyAccessExpression 1378596 1378613 + Identifier 1378596 1378606 + Identifier 1378607 1378613 + Block 1378615 1379001 + IfStatement 1378617 1378986 + PrefixUnaryExpression 1378639 1378681 + ParenthesizedExpression 1378640 1378681 + BinaryExpression 1378641 1378680 + Identifier 1378641 1378652 + AmpersandToken 1378652 1378654 + PropertyAccessExpression 1378654 1378680 + Identifier 1378654 1378664 + Identifier 1378665 1378680 + Block 1378682 1378986 + VariableStatement 1378684 1378757 + VariableDeclarationList 1378684 1378756 + VariableDeclaration 1378711 1378756 + Identifier 1378711 1378722 + CallExpression 1378724 1378756 + Identifier 1378724 1378748 + Identifier 1378749 1378755 + IfStatement 1378757 1378967 + BinaryExpression 1378783 1378901 + BinaryExpression 1378783 1378818 + Identifier 1378783 1378793 + AmpersandAmpersandToken 1378793 1378796 + BinaryExpression 1378796 1378818 + Identifier 1378796 1378807 + ExclamationEqualsEqualsToken 1378807 1378811 + Identifier 1378811 1378818 + AmpersandAmpersandToken 1378818 1378821 + ParenthesizedExpression 1378821 1378901 + BinaryExpression 1378823 1378900 + Identifier 1378823 1378829 + EqualsToken 1378829 1378831 + CallExpression 1378831 1378900 + Identifier 1378831 1378843 + Identifier 1378844 1378854 + Identifier 1378855 1378862 + PropertyAccessExpression 1378863 1378885 + Identifier 1378863 1378878 + Identifier 1378879 1378885 + Identifier 1378886 1378899 + Block 1378902 1378967 + ReturnStatement 1378904 1378944 + Identifier 1378936 1378943 + IfStatement 1379019 1391523 + BinaryExpression 1379024 1379061 + Identifier 1379024 1379035 + AmpersandToken 1379035 1379037 + PropertyAccessExpression 1379037 1379061 + Identifier 1379037 1379047 + Identifier 1379048 1379061 + Block 1379062 1379856 + IfStatement 1379064 1379841 + BinaryExpression 1379086 1379123 + Identifier 1379086 1379097 + AmpersandToken 1379097 1379099 + PropertyAccessExpression 1379099 1379123 + Identifier 1379099 1379109 + Identifier 1379110 1379123 + Block 1379124 1379540 + IfStatement 1379126 1379302 + BinaryExpression 1379152 1379229 + PropertyAccessExpression 1379152 1379188 + ParenthesizedExpression 1379152 1379181 + AsExpression 1379153 1379180 + Identifier 1379153 1379159 + TypeReference 1379162 1379180 + Identifier 1379162 1379180 + Identifier 1379182 1379188 + ExclamationEqualsEqualsToken 1379188 1379192 + PropertyAccessExpression 1379192 1379229 + ParenthesizedExpression 1379192 1379222 + AsExpression 1379194 1379221 + Identifier 1379194 1379200 + TypeReference 1379203 1379221 + Identifier 1379203 1379221 + Identifier 1379223 1379229 + Block 1379230 1379302 + ReturnStatement 1379232 1379279 + PropertyAccessExpression 1379264 1379278 + Identifier 1379264 1379272 + Identifier 1379273 1379278 + IfStatement 1379302 1379521 + BinaryExpression 1379328 1379455 + Identifier 1379328 1379334 + EqualsToken 1379334 1379336 + CallExpression 1379336 1379455 + Identifier 1379336 1379348 + PropertyAccessExpression 1379349 1379383 + ParenthesizedExpression 1379349 1379378 + AsExpression 1379350 1379377 + Identifier 1379350 1379356 + TypeReference 1379359 1379377 + Identifier 1379359 1379377 + Identifier 1379379 1379383 + PropertyAccessExpression 1379384 1379419 + ParenthesizedExpression 1379384 1379414 + AsExpression 1379386 1379413 + Identifier 1379386 1379392 + TypeReference 1379395 1379413 + Identifier 1379395 1379413 + Identifier 1379415 1379419 + PropertyAccessExpression 1379420 1379440 + Identifier 1379420 1379435 + Identifier 1379436 1379440 + Identifier 1379441 1379454 + Block 1379456 1379521 + ReturnStatement 1379458 1379498 + Identifier 1379490 1379497 + Block 1379562 1379841 + VariableStatement 1379564 1379637 + VariableDeclarationList 1379564 1379636 + VariableDeclaration 1379591 1379636 + Identifier 1379591 1379602 + CallExpression 1379604 1379636 + Identifier 1379604 1379628 + Identifier 1379629 1379635 + IfStatement 1379637 1379822 + BinaryExpression 1379663 1379756 + Identifier 1379663 1379673 + AmpersandAmpersandToken 1379673 1379676 + ParenthesizedExpression 1379676 1379756 + BinaryExpression 1379678 1379755 + Identifier 1379678 1379684 + EqualsToken 1379684 1379686 + CallExpression 1379686 1379755 + Identifier 1379686 1379698 + Identifier 1379699 1379709 + Identifier 1379710 1379717 + PropertyAccessExpression 1379718 1379740 + Identifier 1379718 1379733 + Identifier 1379734 1379740 + Identifier 1379741 1379754 + Block 1379757 1379822 + ReturnStatement 1379759 1379799 + Identifier 1379791 1379798 + IfStatement 1379874 1391523 + BinaryExpression 1379879 1379914 + Identifier 1379879 1379890 + AmpersandToken 1379890 1379892 + PropertyAccessExpression 1379892 1379914 + Identifier 1379892 1379902 + Identifier 1379903 1379914 + Block 1379915 1383889 + IfStatement 1379917 1380270 + CallExpression 1380149 1380205 + Identifier 1380149 1380167 + Identifier 1380168 1380174 + Identifier 1380175 1380187 + Identifier 1380188 1380200 + NumericLiteral 1380201 1380204 + Block 1380206 1380270 + ReturnStatement 1380208 1380251 + PropertyAccessExpression 1380236 1380250 + Identifier 1380236 1380244 + Identifier 1380245 1380250 + IfStatement 1380270 1382499 + BinaryExpression 1380292 1380327 + Identifier 1380292 1380303 + AmpersandToken 1380303 1380305 + PropertyAccessExpression 1380305 1380327 + Identifier 1380305 1380315 + Identifier 1380316 1380327 + Block 1380328 1382499 + VariableStatement 1380330 1380710 + VariableDeclarationList 1380330 1380709 + VariableDeclaration 1380641 1380709 + Identifier 1380641 1380654 + PropertyAccessExpression 1380656 1380709 + PropertyAccessExpression 1380656 1380689 + ParenthesizedExpression 1380656 1380684 + AsExpression 1380658 1380683 + Identifier 1380658 1380664 + TypeReference 1380667 1380683 + Identifier 1380667 1380683 + Identifier 1380685 1380689 + Identifier 1380690 1380709 + VariableStatement 1380710 1380792 + VariableDeclarationList 1380710 1380791 + VariableDeclaration 1380735 1380791 + Identifier 1380735 1380749 + PropertyAccessExpression 1380751 1380791 + ParenthesizedExpression 1380751 1380779 + AsExpression 1380753 1380778 + Identifier 1380753 1380759 + TypeReference 1380762 1380778 + Identifier 1380762 1380778 + Identifier 1380780 1380791 + VariableStatement 1380792 1380849 + VariableDeclarationList 1380792 1380848 + VariableDeclaration 1380817 1380848 + Identifier 1380817 1380824 + UnionType 1380825 1380848 + TypeReference 1380825 1380836 + Identifier 1380825 1380836 + UndefinedKeyword 1380838 1380848 + IfStatement 1380849 1381477 + Identifier 1380875 1380887 + Block 1380888 1381477 + VariableStatement 1380890 1381148 + VariableDeclarationList 1380890 1381147 + VariableDeclaration 1381039 1381147 + Identifier 1381039 1381043 + CallExpression 1381045 1381147 + Identifier 1381045 1381068 + Identifier 1381069 1381081 + Identifier 1381082 1381106 + PropertyAccessExpression 1381107 1381127 + Identifier 1381107 1381122 + Identifier 1381123 1381127 + Identifier 1381128 1381146 + ExpressionStatement 1381148 1381323 + CallExpression 1381148 1381322 + Identifier 1381148 1381184 + PropertyAccessExpression 1381185 1381199 + Identifier 1381185 1381188 + Identifier 1381189 1381199 + PropertyAccessExpression 1381200 1381240 + ParenthesizedExpression 1381200 1381228 + AsExpression 1381202 1381227 + Identifier 1381202 1381208 + TypeReference 1381211 1381227 + Identifier 1381211 1381227 + Identifier 1381229 1381240 + Identifier 1381241 1381255 + BinaryExpression 1381256 1381321 + PropertyAccessExpression 1381256 1381288 + Identifier 1381256 1381274 + Identifier 1381275 1381288 + BarToken 1381288 1381290 + PropertyAccessExpression 1381290 1381321 + Identifier 1381290 1381308 + Identifier 1381309 1381321 + ExpressionStatement 1381323 1381408 + BinaryExpression 1381323 1381407 + Identifier 1381323 1381362 + EqualsToken 1381362 1381364 + CallExpression 1381364 1381407 + Identifier 1381364 1381380 + Identifier 1381381 1381394 + PropertyAccessExpression 1381395 1381406 + Identifier 1381395 1381399 + Identifier 1381400 1381406 + ExpressionStatement 1381408 1381454 + BinaryExpression 1381408 1381453 + Identifier 1381408 1381440 + EqualsToken 1381440 1381442 + PropertyAccessExpression 1381442 1381453 + Identifier 1381442 1381446 + Identifier 1381447 1381453 + IfStatement 1381477 1382480 + BinaryExpression 1381503 1381857 + CallExpression 1381503 1381602 + Identifier 1381503 1381546 + Identifier 1381547 1381560 + PropertyAccessExpression 1381561 1381601 + ParenthesizedExpression 1381561 1381589 + AsExpression 1381563 1381588 + Identifier 1381563 1381569 + TypeReference 1381572 1381588 + Identifier 1381572 1381588 + Identifier 1381590 1381601 + AmpersandAmpersandToken 1381602 1381605 + ParenthesizedExpression 1381605 1381857 + BinaryExpression 1381632 1381856 + CallExpression 1381632 1381742 + Identifier 1381632 1381643 + PropertyAccessExpression 1381644 1381681 + ParenthesizedExpression 1381644 1381671 + AsExpression 1381645 1381670 + Identifier 1381645 1381651 + TypeReference 1381654 1381670 + Identifier 1381654 1381670 + Identifier 1381672 1381681 + PropertyAccessExpression 1381682 1381720 + ParenthesizedExpression 1381682 1381710 + AsExpression 1381684 1381709 + Identifier 1381684 1381690 + TypeReference 1381693 1381709 + Identifier 1381693 1381709 + Identifier 1381711 1381720 + PropertyAccessExpression 1381721 1381741 + Identifier 1381721 1381736 + Identifier 1381737 1381741 + BarBarToken 1381742 1381745 + CallExpression 1381745 1381856 + Identifier 1381745 1381757 + PropertyAccessExpression 1381758 1381795 + ParenthesizedExpression 1381758 1381785 + AsExpression 1381759 1381784 + Identifier 1381759 1381765 + TypeReference 1381768 1381784 + Identifier 1381768 1381784 + Identifier 1381786 1381795 + PropertyAccessExpression 1381796 1381834 + ParenthesizedExpression 1381796 1381824 + AsExpression 1381798 1381823 + Identifier 1381798 1381804 + TypeReference 1381807 1381823 + Identifier 1381807 1381823 + Identifier 1381825 1381834 + PropertyAccessExpression 1381835 1381855 + Identifier 1381835 1381850 + Identifier 1381851 1381855 + Block 1381880 1382480 + IfStatement 1381882 1382347 + BinaryExpression 1381912 1382110 + Identifier 1381912 1381918 + EqualsToken 1381918 1381920 + CallExpression 1381920 1382110 + Identifier 1381920 1381932 + CallExpression 1381933 1382015 + Identifier 1381933 1381948 + CallExpression 1381949 1382006 + Identifier 1381949 1381979 + AsExpression 1381980 1382005 + Identifier 1381980 1381986 + TypeReference 1381989 1382005 + Identifier 1381989 1382005 + Identifier 1382007 1382014 + CallExpression 1382016 1382074 + Identifier 1382016 1382047 + AsExpression 1382048 1382073 + Identifier 1382048 1382054 + TypeReference 1382057 1382073 + Identifier 1382057 1382073 + PropertyAccessExpression 1382075 1382095 + Identifier 1382075 1382090 + Identifier 1382091 1382095 + Identifier 1382096 1382109 + Block 1382111 1382347 + ExpressionStatement 1382113 1382320 + BinaryExpression 1382113 1382319 + Identifier 1382113 1382149 + AmpersandEqualsToken 1382149 1382152 + CallExpression 1382152 1382319 + Identifier 1382152 1382164 + CallExpression 1382165 1382223 + Identifier 1382165 1382196 + AsExpression 1382197 1382222 + Identifier 1382197 1382203 + TypeReference 1382206 1382222 + Identifier 1382206 1382222 + CallExpression 1382224 1382283 + Identifier 1382224 1382256 + AsExpression 1382257 1382282 + Identifier 1382257 1382263 + TypeReference 1382266 1382282 + Identifier 1382266 1382282 + PropertyAccessExpression 1382284 1382304 + Identifier 1382284 1382299 + Identifier 1382300 1382304 + Identifier 1382305 1382318 + IfStatement 1382347 1382457 + Identifier 1382377 1382383 + Block 1382384 1382457 + ReturnStatement 1382386 1382430 + Identifier 1382422 1382429 + VariableStatement 1382499 1382856 + VariableDeclarationList 1382499 1382855 + VariableDeclaration 1382770 1382855 + Identifier 1382770 1382788 + CallExpression 1382790 1382855 + Identifier 1382790 1382828 + AsExpression 1382829 1382854 + Identifier 1382829 1382835 + TypeReference 1382838 1382854 + Identifier 1382838 1382854 + IfStatement 1382856 1383093 + Identifier 1382878 1382895 + Block 1382896 1383093 + IfStatement 1382898 1383074 + BinaryExpression 1382924 1383008 + Identifier 1382924 1382930 + EqualsToken 1382930 1382932 + CallExpression 1382932 1383008 + Identifier 1382932 1382944 + Identifier 1382945 1382962 + Identifier 1382963 1382970 + PropertyAccessExpression 1382971 1382993 + Identifier 1382971 1382986 + Identifier 1382987 1382993 + Identifier 1382994 1383007 + Block 1383009 1383074 + ReturnStatement 1383011 1383051 + Identifier 1383043 1383050 + VariableStatement 1383093 1383575 + VariableDeclarationList 1383093 1383574 + VariableDeclaration 1383386 1383574 + Identifier 1383386 1383409 + ConditionalExpression 1383411 1383574 + BinaryExpression 1383411 1383490 + PrefixUnaryExpression 1383411 1383450 + ParenthesizedExpression 1383413 1383450 + BinaryExpression 1383414 1383449 + Identifier 1383414 1383425 + AmpersandToken 1383425 1383427 + PropertyAccessExpression 1383427 1383449 + Identifier 1383427 1383437 + Identifier 1383438 1383449 + AmpersandAmpersandToken 1383450 1383453 + CallExpression 1383453 1383490 + Identifier 1383453 1383482 + Identifier 1383483 1383489 + QuestionToken 1383490 1383492 + CallExpression 1383492 1383562 + Identifier 1383492 1383535 + AsExpression 1383536 1383561 + Identifier 1383536 1383542 + TypeReference 1383545 1383561 + Identifier 1383545 1383561 + ColonToken 1383562 1383564 + Identifier 1383564 1383574 + IfStatement 1383575 1383874 + Identifier 1383597 1383619 + Block 1383620 1383874 + ExpressionStatement 1383622 1383674 + CallExpression 1383622 1383673 + Identifier 1383622 1383658 + Identifier 1383659 1383672 + IfStatement 1383674 1383855 + BinaryExpression 1383700 1383789 + Identifier 1383700 1383706 + EqualsToken 1383706 1383708 + CallExpression 1383708 1383789 + Identifier 1383708 1383720 + Identifier 1383721 1383743 + Identifier 1383744 1383751 + PropertyAccessExpression 1383752 1383774 + Identifier 1383752 1383767 + Identifier 1383768 1383774 + Identifier 1383775 1383788 + Block 1383790 1383855 + ReturnStatement 1383792 1383832 + Identifier 1383824 1383831 + Block 1383907 1391523 + IfStatement 1383909 1384222 + BinaryExpression 1384032 1384158 + BinaryExpression 1384032 1384129 + BinaryExpression 1384032 1384098 + BinaryExpression 1384032 1384060 + Identifier 1384032 1384040 + ExclamationEqualsEqualsToken 1384040 1384044 + Identifier 1384044 1384060 + AmpersandAmpersandToken 1384060 1384063 + BinaryExpression 1384063 1384098 + Identifier 1384063 1384072 + ExclamationEqualsEqualsToken 1384072 1384076 + Identifier 1384076 1384098 + AmpersandAmpersandToken 1384098 1384101 + CallExpression 1384101 1384129 + Identifier 1384101 1384121 + Identifier 1384122 1384128 + AmpersandAmpersandToken 1384129 1384132 + CallExpression 1384132 1384158 + Identifier 1384132 1384150 + Identifier 1384151 1384157 + Block 1384159 1384222 + ReturnStatement 1384161 1384203 + PropertyAccessExpression 1384189 1384202 + Identifier 1384189 1384197 + Identifier 1384198 1384202 + IfStatement 1384222 1384577 + CallExpression 1384244 1384271 + Identifier 1384244 1384263 + Identifier 1384264 1384270 + Block 1384272 1384577 + IfStatement 1384274 1384515 + CallExpression 1384300 1384327 + Identifier 1384300 1384319 + Identifier 1384320 1384326 + Block 1384328 1384515 + IfStatement 1384330 1384492 + BinaryExpression 1384360 1384418 + Identifier 1384360 1384366 + EqualsToken 1384366 1384368 + CallExpression 1384368 1384418 + Identifier 1384368 1384388 + Identifier 1384389 1384395 + Identifier 1384396 1384403 + Identifier 1384404 1384417 + Block 1384419 1384492 + ReturnStatement 1384421 1384465 + Identifier 1384457 1384464 + ReturnStatement 1384515 1384558 + PropertyAccessExpression 1384543 1384557 + Identifier 1384543 1384551 + Identifier 1384552 1384557 + VariableStatement 1384577 1384659 + VariableDeclarationList 1384577 1384658 + VariableDeclaration 1384600 1384658 + Identifier 1384600 1384618 + PrefixUnaryExpression 1384620 1384658 + PrefixUnaryExpression 1384622 1384658 + ParenthesizedExpression 1384623 1384658 + BinaryExpression 1384624 1384657 + Identifier 1384624 1384635 + AmpersandToken 1384635 1384637 + PropertyAccessExpression 1384637 1384657 + Identifier 1384637 1384647 + Identifier 1384648 1384657 + IfStatement 1384659 1384955 + BinaryExpression 1384681 1384710 + Identifier 1384681 1384689 + ExclamationEqualsEqualsToken 1384689 1384693 + Identifier 1384693 1384710 + Block 1384711 1384836 + ExpressionStatement 1384713 1384768 + BinaryExpression 1384713 1384767 + Identifier 1384713 1384741 + EqualsToken 1384741 1384743 + CallExpression 1384743 1384767 + Identifier 1384743 1384759 + Identifier 1384760 1384766 + ExpressionStatement 1384768 1384817 + BinaryExpression 1384768 1384816 + Identifier 1384768 1384801 + EqualsToken 1384801 1384803 + PropertyAccessExpression 1384803 1384816 + Identifier 1384803 1384810 + Identifier 1384811 1384816 + IfStatement 1384858 1384955 + CallExpression 1384863 1384890 + Identifier 1384863 1384882 + Identifier 1384883 1384889 + Block 1384891 1384955 + ReturnStatement 1384893 1384936 + PropertyAccessExpression 1384921 1384935 + Identifier 1384921 1384929 + Identifier 1384930 1384935 + IfStatement 1384955 1388548 + BinaryExpression 1384977 1385264 + BinaryExpression 1384977 1385213 + BinaryExpression 1384977 1385168 + BinaryExpression 1384977 1385095 + BinaryExpression 1384977 1385045 + CallExpression 1384977 1385021 + Identifier 1384977 1385013 + Identifier 1385014 1385020 + AmpersandToken 1385021 1385023 + PropertyAccessExpression 1385023 1385045 + Identifier 1385023 1385035 + Identifier 1385036 1385045 + AmpersandAmpersandToken 1385045 1385048 + BinaryExpression 1385048 1385095 + CallExpression 1385048 1385071 + Identifier 1385048 1385063 + Identifier 1385064 1385070 + AmpersandToken 1385071 1385073 + PropertyAccessExpression 1385073 1385095 + Identifier 1385073 1385085 + Identifier 1385086 1385095 + AmpersandAmpersandToken 1385095 1385098 + BinaryExpression 1385098 1385168 + PropertyAccessExpression 1385098 1385131 + ParenthesizedExpression 1385098 1385124 + AsExpression 1385100 1385123 + Identifier 1385100 1385106 + TypeReference 1385109 1385123 + Identifier 1385109 1385123 + Identifier 1385125 1385131 + EqualsEqualsEqualsToken 1385131 1385135 + PropertyAccessExpression 1385135 1385168 + ParenthesizedExpression 1385135 1385161 + AsExpression 1385137 1385160 + Identifier 1385137 1385143 + TypeReference 1385146 1385160 + Identifier 1385146 1385160 + Identifier 1385162 1385168 + AmpersandAmpersandToken 1385168 1385171 + PrefixUnaryExpression 1385171 1385213 + CallExpression 1385194 1385213 + Identifier 1385194 1385205 + Identifier 1385206 1385212 + AmpersandAmpersandToken 1385213 1385216 + PrefixUnaryExpression 1385216 1385264 + ParenthesizedExpression 1385218 1385264 + BinaryExpression 1385219 1385263 + CallExpression 1385219 1385239 + Identifier 1385219 1385231 + Identifier 1385232 1385238 + BarBarToken 1385239 1385242 + CallExpression 1385242 1385263 + Identifier 1385242 1385255 + Identifier 1385256 1385262 + Block 1385283 1386828 + IfStatement 1385285 1385652 + CallExpression 1385549 1385580 + Identifier 1385549 1385572 + Identifier 1385573 1385579 + Block 1385581 1385652 + ReturnStatement 1385583 1385629 + PropertyAccessExpression 1385615 1385628 + Identifier 1385615 1385623 + Identifier 1385624 1385628 + VariableStatement 1385652 1386065 + VariableDeclarationList 1385652 1386064 + VariableDeclaration 1386005 1386064 + Identifier 1386005 1386015 + CallExpression 1386017 1386064 + Identifier 1386017 1386030 + PropertyAccessExpression 1386031 1386063 + ParenthesizedExpression 1386031 1386056 + AsExpression 1386032 1386055 + Identifier 1386032 1386038 + TypeReference 1386041 1386055 + Identifier 1386041 1386055 + Identifier 1386057 1386063 + IfStatement 1386065 1386504 + BinaryExpression 1386405 1386429 + Identifier 1386405 1386414 + EqualsEqualsEqualsToken 1386414 1386418 + Identifier 1386418 1386429 + Block 1386430 1386504 + ReturnStatement 1386432 1386481 + PropertyAccessExpression 1386464 1386480 + Identifier 1386464 1386472 + Identifier 1386473 1386480 + VariableStatement 1386504 1386681 + VariableDeclarationList 1386504 1386680 + VariableDeclaration 1386531 1386680 + Identifier 1386531 1386546 + CallExpression 1386548 1386680 + Identifier 1386548 1386564 + CallExpression 1386565 1386606 + Identifier 1386565 1386581 + AsExpression 1386582 1386605 + Identifier 1386582 1386588 + TypeReference 1386591 1386605 + Identifier 1386591 1386605 + CallExpression 1386607 1386649 + Identifier 1386607 1386624 + AsExpression 1386625 1386648 + Identifier 1386625 1386631 + TypeReference 1386634 1386648 + Identifier 1386634 1386648 + Identifier 1386650 1386660 + Identifier 1386661 1386679 + IfStatement 1386681 1386809 + BinaryExpression 1386707 1386735 + Identifier 1386707 1386721 + ExclamationEqualsEqualsToken 1386721 1386725 + Identifier 1386725 1386735 + Block 1386736 1386809 + ReturnStatement 1386738 1386786 + Identifier 1386770 1386785 + IfStatement 1386850 1388548 + ConditionalExpression 1386855 1387008 + CallExpression 1386855 1386882 + Identifier 1386855 1386874 + Identifier 1386875 1386881 + QuestionToken 1386882 1386884 + CallExpression 1386884 1386922 + Identifier 1386884 1386894 + Identifier 1386895 1386901 + Identifier 1386902 1386921 + ColonToken 1386922 1386924 + BinaryExpression 1386924 1387008 + CallExpression 1386924 1386944 + Identifier 1386924 1386936 + Identifier 1386937 1386943 + AmpersandAmpersandToken 1386944 1386947 + CallExpression 1386947 1387008 + Identifier 1386947 1386957 + Identifier 1386958 1386964 + ArrowFunction 1386965 1387007 + Parameter 1386965 1386967 + Identifier 1386965 1386967 + EqualsGreaterThanToken 1386967 1386970 + BinaryExpression 1386970 1387007 + CallExpression 1386970 1386985 + Identifier 1386970 1386982 + Identifier 1386983 1386984 + AmpersandAmpersandToken 1386985 1386988 + PrefixUnaryExpression 1386988 1387007 + PropertyAccessExpression 1386990 1387007 + PropertyAccessExpression 1386990 1386998 + Identifier 1386990 1386991 + Identifier 1386992 1386998 + Identifier 1386999 1387007 + Block 1387009 1387662 + IfStatement 1387011 1387643 + BinaryExpression 1387037 1387066 + Identifier 1387037 1387045 + ExclamationEqualsEqualsToken 1387045 1387049 + Identifier 1387049 1387066 + Block 1387067 1387274 + ReturnStatement 1387069 1387251 + CallExpression 1387101 1387250 + Identifier 1387101 1387113 + BinaryExpression 1387114 1387163 + CallExpression 1387114 1387152 + Identifier 1387114 1387132 + Identifier 1387133 1387139 + Identifier 1387140 1387151 + BarBarToken 1387152 1387155 + Identifier 1387155 1387163 + BinaryExpression 1387164 1387214 + CallExpression 1387164 1387203 + Identifier 1387164 1387183 + Identifier 1387184 1387190 + Identifier 1387191 1387202 + BarBarToken 1387203 1387206 + Identifier 1387206 1387214 + PropertyAccessExpression 1387215 1387235 + Identifier 1387215 1387230 + Identifier 1387231 1387235 + Identifier 1387236 1387249 + Block 1387300 1387643 + ReturnStatement 1387302 1387620 + PropertyAccessExpression 1387605 1387619 + Identifier 1387605 1387613 + Identifier 1387614 1387619 + IfStatement 1387684 1388548 + BinaryExpression 1387689 1387769 + BinaryExpression 1387689 1387738 + CallExpression 1387689 1387715 + Identifier 1387689 1387707 + Identifier 1387708 1387714 + AmpersandAmpersandToken 1387715 1387718 + CallExpression 1387718 1387738 + Identifier 1387718 1387730 + Identifier 1387731 1387737 + AmpersandAmpersandToken 1387738 1387741 + PrefixUnaryExpression 1387741 1387769 + CallExpression 1387743 1387769 + Identifier 1387743 1387761 + Identifier 1387762 1387768 + Block 1387770 1388039 + VariableStatement 1387772 1387845 + VariableDeclarationList 1387772 1387844 + VariableDeclaration 1387799 1387844 + Identifier 1387799 1387810 + CallExpression 1387812 1387844 + Identifier 1387812 1387836 + Identifier 1387837 1387843 + IfStatement 1387845 1388020 + BinaryExpression 1387871 1387892 + Identifier 1387871 1387881 + ExclamationEqualsEqualsToken 1387881 1387885 + Identifier 1387885 1387892 + Block 1387893 1388020 + ReturnStatement 1387895 1387997 + CallExpression 1387927 1387996 + Identifier 1387927 1387939 + Identifier 1387940 1387950 + Identifier 1387951 1387958 + PropertyAccessExpression 1387959 1387981 + Identifier 1387959 1387974 + Identifier 1387975 1387981 + Identifier 1387982 1387995 + IfStatement 1388298 1388548 + BinaryExpression 1388303 1388483 + BinaryExpression 1388303 1388453 + BinaryExpression 1388303 1388400 + ParenthesizedExpression 1388303 1388371 + BinaryExpression 1388304 1388370 + BinaryExpression 1388304 1388332 + Identifier 1388304 1388312 + EqualsEqualsEqualsToken 1388312 1388316 + Identifier 1388316 1388332 + BarBarToken 1388332 1388335 + BinaryExpression 1388335 1388370 + Identifier 1388335 1388344 + EqualsEqualsEqualsToken 1388344 1388348 + Identifier 1388348 1388370 + AmpersandAmpersandToken 1388371 1388374 + CallExpression 1388374 1388400 + Identifier 1388374 1388392 + Identifier 1388393 1388399 + AmpersandAmpersandToken 1388400 1388403 + BinaryExpression 1388403 1388453 + CallExpression 1388403 1388426 + Identifier 1388403 1388418 + Identifier 1388419 1388425 + AmpersandToken 1388426 1388428 + PropertyAccessExpression 1388428 1388453 + Identifier 1388428 1388440 + Identifier 1388441 1388453 + AmpersandAmpersandToken 1388453 1388456 + PrefixUnaryExpression 1388456 1388483 + CallExpression 1388458 1388483 + Identifier 1388458 1388475 + Identifier 1388476 1388482 + Block 1388484 1388548 + ReturnStatement 1388486 1388529 + PropertyAccessExpression 1388514 1388528 + Identifier 1388514 1388522 + Identifier 1388523 1388528 + IfStatement 1388548 1390544 + BinaryExpression 1389069 1389160 + BinaryExpression 1389069 1389126 + Identifier 1389069 1389080 + AmpersandToken 1389080 1389082 + ParenthesizedExpression 1389082 1389126 + BinaryExpression 1389084 1389125 + PropertyAccessExpression 1389084 1389100 + Identifier 1389084 1389093 + Identifier 1389094 1389100 + BarToken 1389100 1389102 + PropertyAccessExpression 1389102 1389125 + Identifier 1389102 1389112 + Identifier 1389113 1389125 + AmpersandAmpersandToken 1389126 1389129 + BinaryExpression 1389129 1389160 + Identifier 1389129 1389141 + AmpersandToken 1389141 1389143 + PropertyAccessExpression 1389143 1389160 + Identifier 1389143 1389153 + Identifier 1389154 1389160 + Block 1389161 1390544 + VariableStatement 1389163 1389384 + VariableDeclarationList 1389163 1389383 + VariableDeclaration 1389282 1389383 + Identifier 1389282 1389305 + BinaryExpression 1389307 1389383 + BinaryExpression 1389307 1389361 + Identifier 1389307 1389320 + AmpersandAmpersandToken 1389320 1389323 + BinaryExpression 1389323 1389361 + Identifier 1389323 1389333 + EqualsEqualsEqualsToken 1389333 1389337 + PropertyAccessExpression 1389337 1389361 + Identifier 1389337 1389351 + Identifier 1389352 1389361 + AmpersandAmpersandToken 1389361 1389364 + PrefixUnaryExpression 1389364 1389383 + Identifier 1389366 1389383 + ExpressionStatement 1389384 1389553 + BinaryExpression 1389384 1389552 + Identifier 1389384 1389412 + EqualsToken 1389412 1389414 + CallExpression 1389414 1389552 + Identifier 1389414 1389434 + Identifier 1389435 1389441 + Identifier 1389442 1389449 + Identifier 1389450 1389473 + Identifier 1389474 1389507 + FalseKeyword 1389508 1389532 + Identifier 1389533 1389551 + IfStatement 1389553 1390177 + Identifier 1389579 1389585 + Block 1389586 1390177 + ExpressionStatement 1389588 1389723 + BinaryExpression 1389588 1389722 + Identifier 1389588 1389620 + AmpersandEqualsToken 1389620 1389623 + CallExpression 1389623 1389722 + Identifier 1389623 1389643 + Identifier 1389644 1389650 + Identifier 1389651 1389658 + PropertyAccessExpression 1389659 1389678 + Identifier 1389659 1389673 + Identifier 1389674 1389678 + Identifier 1389679 1389702 + Identifier 1389703 1389721 + IfStatement 1389723 1390154 + Identifier 1389753 1389759 + Block 1389760 1390154 + ExpressionStatement 1389762 1389906 + BinaryExpression 1389762 1389905 + Identifier 1389762 1389798 + AmpersandEqualsToken 1389798 1389801 + CallExpression 1389801 1389905 + Identifier 1389801 1389821 + Identifier 1389822 1389828 + Identifier 1389829 1389836 + PropertyAccessExpression 1389837 1389861 + Identifier 1389837 1389851 + Identifier 1389852 1389861 + Identifier 1389862 1389885 + Identifier 1389886 1389904 + IfStatement 1389906 1390127 + Identifier 1389940 1389946 + Block 1389947 1390127 + ExpressionStatement 1389949 1390096 + BinaryExpression 1389949 1390095 + Identifier 1389949 1389989 + AmpersandEqualsToken 1389989 1389992 + CallExpression 1389992 1390095 + Identifier 1389992 1390017 + Identifier 1390018 1390024 + Identifier 1390025 1390032 + Identifier 1390033 1390051 + Identifier 1390052 1390075 + Identifier 1390076 1390094 + IfStatement 1390177 1390525 + BinaryExpression 1390203 1390232 + Identifier 1390203 1390222 + AmpersandAmpersandToken 1390222 1390225 + Identifier 1390225 1390232 + Block 1390233 1390422 + ExpressionStatement 1390235 1390331 + BinaryExpression 1390235 1390330 + Identifier 1390235 1390270 + EqualsToken 1390270 1390272 + BinaryExpression 1390272 1390330 + BinaryExpression 1390272 1390303 + Identifier 1390272 1390290 + BarBarToken 1390290 1390293 + Identifier 1390293 1390303 + BarBarToken 1390303 1390306 + PropertyAccessExpression 1390306 1390330 + Identifier 1390306 1390320 + Identifier 1390321 1390330 + IfStatement 1390448 1390525 + Identifier 1390453 1390459 + Block 1390460 1390525 + ReturnStatement 1390462 1390502 + Identifier 1390494 1390501 + IfStatement 1390544 1391508 + BinaryExpression 1390941 1391031 + BinaryExpression 1390941 1390998 + Identifier 1390941 1390952 + AmpersandToken 1390952 1390954 + ParenthesizedExpression 1390954 1390998 + BinaryExpression 1390956 1390997 + PropertyAccessExpression 1390956 1390972 + Identifier 1390956 1390965 + Identifier 1390966 1390972 + BarToken 1390972 1390974 + PropertyAccessExpression 1390974 1390997 + Identifier 1390974 1390984 + Identifier 1390985 1390997 + AmpersandAmpersandToken 1390998 1391001 + BinaryExpression 1391001 1391031 + Identifier 1391001 1391013 + AmpersandToken 1391013 1391015 + PropertyAccessExpression 1391015 1391031 + Identifier 1391015 1391025 + Identifier 1391026 1391031 + Block 1391032 1391508 + VariableStatement 1391034 1391176 + VariableDeclarationList 1391034 1391175 + VariableDeclaration 1391061 1391175 + Identifier 1391061 1391078 + CallExpression 1391080 1391175 + Identifier 1391080 1391099 + Identifier 1391100 1391106 + BinaryExpression 1391107 1391174 + BinaryExpression 1391107 1391149 + PropertyAccessExpression 1391107 1391124 + Identifier 1391107 1391117 + Identifier 1391118 1391124 + BarToken 1391124 1391126 + PropertyAccessExpression 1391126 1391149 + Identifier 1391126 1391136 + Identifier 1391137 1391149 + BarToken 1391149 1391151 + PropertyAccessExpression 1391151 1391174 + Identifier 1391151 1391161 + Identifier 1391162 1391174 + IfStatement 1391176 1391489 + BinaryExpression 1391202 1391242 + PropertyAccessExpression 1391202 1391224 + Identifier 1391202 1391218 + Identifier 1391219 1391224 + AmpersandToken 1391224 1391226 + PropertyAccessExpression 1391226 1391242 + Identifier 1391226 1391236 + Identifier 1391237 1391242 + Block 1391243 1391489 + VariableStatement 1391245 1391356 + VariableDeclarationList 1391245 1391355 + VariableDeclaration 1391276 1391355 + Identifier 1391276 1391283 + CallExpression 1391285 1391355 + Identifier 1391285 1391316 + Identifier 1391317 1391323 + AsExpression 1391324 1391354 + Identifier 1391324 1391341 + TypeReference 1391344 1391354 + Identifier 1391344 1391354 + IfStatement 1391356 1391466 + Identifier 1391386 1391392 + Block 1391393 1391466 + ReturnStatement 1391395 1391439 + Identifier 1391431 1391438 + ReturnStatement 1391523 1391558 + PropertyAccessExpression 1391543 1391557 + Identifier 1391543 1391551 + Identifier 1391552 1391557 + FunctionDeclaration 1391558 1391827 + Identifier 1391582 1391607 + Parameter 1391608 1391650 + Identifier 1391608 1391612 + UnionType 1391613 1391650 + ArrayType 1391613 1391638 + TypeReference 1391613 1391636 + Identifier 1391613 1391636 + UndefinedKeyword 1391640 1391650 + NumberKeyword 1391652 1391659 + Block 1391659 1391827 + IfStatement 1391661 1391699 + PrefixUnaryExpression 1391683 1391688 + Identifier 1391684 1391688 + ReturnStatement 1391689 1391699 + NumericLiteral 1391696 1391698 + ReturnStatement 1391699 1391812 + CallExpression 1391723 1391811 + Identifier 1391723 1391734 + Identifier 1391735 1391739 + ArrowFunction 1391740 1391807 + Parameter 1391742 1391747 + Identifier 1391742 1391747 + Parameter 1391748 1391754 + Identifier 1391748 1391754 + EqualsGreaterThanToken 1391755 1391758 + BinaryExpression 1391758 1391807 + BinaryExpression 1391758 1391768 + Identifier 1391758 1391764 + PlusToken 1391764 1391766 + NumericLiteral 1391766 1391768 + PlusToken 1391768 1391770 + CallExpression 1391770 1391807 + Identifier 1391770 1391795 + PropertyAccessExpression 1391796 1391806 + Identifier 1391796 1391801 + Identifier 1391802 1391806 + NumericLiteral 1391808 1391810 + FunctionDeclaration 1391827 1395393 + Identifier 1391851 1391867 + Parameter 1391868 1391916 + Identifier 1391868 1391887 + UnionType 1391888 1391916 + TypeOperator 1391888 1391904 + ArrayType 1391897 1391904 + TypeReference 1391897 1391902 + Identifier 1391897 1391902 + UndefinedKeyword 1391906 1391916 + Parameter 1391917 1391966 + Identifier 1391917 1391937 + UnionType 1391938 1391966 + TypeOperator 1391938 1391954 + ArrayType 1391947 1391954 + TypeReference 1391947 1391952 + Identifier 1391947 1391952 + UndefinedKeyword 1391956 1391966 + Parameter 1391967 1391994 + Identifier 1391967 1391977 + ArrayType 1391978 1391994 + TypeReference 1391978 1391992 + Identifier 1391978 1391992 + Parameter 1391995 1392032 + Identifier 1391995 1392013 + TypeReference 1392014 1392032 + Identifier 1392014 1392032 + Block 1392033 1395393 + IfStatement 1392035 1392232 + BinaryExpression 1392057 1392174 + Identifier 1392057 1392063 + EqualsToken 1392063 1392065 + CallExpression 1392065 1392174 + Identifier 1392065 1392088 + Identifier 1392089 1392108 + Identifier 1392109 1392129 + Identifier 1392130 1392140 + Identifier 1392141 1392154 + Identifier 1392155 1392173 + Block 1392175 1392232 + ReturnStatement 1392177 1392213 + Identifier 1392205 1392212 + IfStatement 1392232 1392897 + CallExpression 1392254 1392322 + Identifier 1392254 1392258 + Identifier 1392259 1392268 + ArrowFunction 1392269 1392321 + Parameter 1392269 1392271 + Identifier 1392269 1392271 + EqualsGreaterThanToken 1392271 1392274 + PrefixUnaryExpression 1392274 1392321 + PrefixUnaryExpression 1392276 1392321 + ParenthesizedExpression 1392277 1392321 + BinaryExpression 1392278 1392320 + Identifier 1392278 1392279 + AmpersandToken 1392279 1392281 + PropertyAccessExpression 1392281 1392320 + Identifier 1392281 1392295 + Identifier 1392296 1392320 + Block 1392323 1392897 + ExpressionStatement 1392325 1392787 + BinaryExpression 1392325 1392786 + Identifier 1392325 1392774 + EqualsToken 1392774 1392776 + Identifier 1392776 1392786 + ExpressionStatement 1392787 1392839 + CallExpression 1392787 1392838 + Identifier 1392787 1392823 + Identifier 1392824 1392837 + ReturnStatement 1392839 1392878 + Identifier 1392867 1392877 + VariableStatement 1392897 1393027 + VariableDeclarationList 1392897 1393026 + VariableDeclaration 1392920 1393026 + Identifier 1392920 1392944 + BinaryExpression 1392946 1393026 + Identifier 1392946 1392966 + AmpersandAmpersandToken 1392966 1392969 + CallExpression 1392969 1393026 + Identifier 1392969 1392994 + Identifier 1392995 1393014 + Identifier 1393015 1393025 + ExpressionStatement 1393027 1393092 + BinaryExpression 1393027 1393091 + Identifier 1393027 1393064 + EqualsToken 1393064 1393066 + PrefixUnaryExpression 1393066 1393091 + Identifier 1393068 1393091 + IfStatement 1393092 1395378 + BinaryExpression 1393823 1393875 + BinaryExpression 1393823 1393847 + Identifier 1393823 1393832 + ExclamationEqualsEqualsToken 1393832 1393836 + Identifier 1393836 1393847 + AmpersandAmpersandToken 1393847 1393850 + PrefixUnaryExpression 1393850 1393875 + Identifier 1393852 1393875 + Block 1393876 1395378 + IfStatement 1393878 1394938 + BinaryExpression 1394741 1394865 + Identifier 1394741 1394760 + AmpersandAmpersandToken 1394760 1394763 + PrefixUnaryExpression 1394763 1394865 + ParenthesizedExpression 1394765 1394865 + BinaryExpression 1394766 1394864 + Identifier 1394766 1394778 + AmpersandAmpersandToken 1394778 1394781 + CallExpression 1394781 1394864 + Identifier 1394781 1394786 + Identifier 1394787 1394796 + ArrowFunction 1394797 1394863 + Parameter 1394797 1394799 + Identifier 1394797 1394799 + EqualsGreaterThanToken 1394799 1394802 + BinaryExpression 1394802 1394863 + ParenthesizedExpression 1394802 1394835 + BinaryExpression 1394804 1394834 + Identifier 1394804 1394805 + AmpersandToken 1394805 1394807 + PropertyAccessExpression 1394807 1394834 + Identifier 1394807 1394821 + Identifier 1394822 1394834 + EqualsEqualsEqualsToken 1394835 1394839 + PropertyAccessExpression 1394839 1394863 + Identifier 1394839 1394853 + Identifier 1394854 1394863 + Block 1394866 1394938 + ReturnStatement 1394868 1394915 + PropertyAccessExpression 1394900 1394914 + Identifier 1394900 1394908 + Identifier 1394909 1394914 + ExpressionStatement 1394938 1395307 + BinaryExpression 1394938 1395306 + Identifier 1394938 1395294 + EqualsToken 1395294 1395296 + Identifier 1395296 1395306 + ExpressionStatement 1395307 1395359 + CallExpression 1395307 1395358 + Identifier 1395307 1395343 + Identifier 1395344 1395357 + FunctionDeclaration 1395404 1397120 + Identifier 1395693 1395713 + Parameter 1395714 1395732 + Identifier 1395714 1395720 + TypeReference 1395721 1395732 + Identifier 1395721 1395732 + Parameter 1395733 1395752 + Identifier 1395733 1395740 + TypeReference 1395741 1395752 + Identifier 1395741 1395752 + Parameter 1395753 1395775 + Identifier 1395753 1395766 + BooleanKeyword 1395767 1395775 + TypeReference 1395777 1395785 + Identifier 1395777 1395785 + Block 1395785 1397120 + VariableStatement 1395787 1396065 + VariableDeclarationList 1395787 1396064 + VariableDeclaration 1395806 1396064 + Identifier 1395806 1395823 + BinaryExpression 1395825 1396064 + BinaryExpression 1395825 1395857 + Identifier 1395825 1395834 + EqualsEqualsEqualsToken 1395834 1395838 + Identifier 1395838 1395857 + BarBarToken 1395857 1395860 + ParenthesizedExpression 1395860 1396064 + ConditionalExpression 1395862 1396063 + BinaryExpression 1395862 1395891 + Identifier 1395862 1395870 + EqualsEqualsEqualsToken 1395870 1395874 + Identifier 1395874 1395891 + QuestionToken 1395891 1395893 + BinaryExpression 1395893 1395959 + CallExpression 1395893 1395924 + Identifier 1395893 1395916 + Identifier 1395917 1395923 + EqualsEqualsEqualsToken 1395924 1395928 + CallExpression 1395928 1395959 + Identifier 1395928 1395951 + Identifier 1395952 1395958 + ColonToken 1395959 1395961 + BinaryExpression 1395961 1396063 + CallExpression 1395961 1396019 + Identifier 1395961 1396011 + Identifier 1396012 1396018 + LessThanEqualsToken 1396019 1396022 + CallExpression 1396022 1396063 + Identifier 1396022 1396055 + Identifier 1396056 1396062 + IfStatement 1396065 1397074 + Identifier 1396083 1396099 + Block 1396100 1397074 + VariableStatement 1396102 1396140 + VariableDeclarationList 1396102 1396139 + VariableDeclaration 1396123 1396139 + Identifier 1396123 1396130 + TypeReference 1396131 1396139 + Identifier 1396131 1396139 + VariableStatement 1396140 1396223 + VariableDeclarationList 1396140 1396222 + VariableDeclaration 1396163 1396222 + Identifier 1396163 1396180 + CallExpression 1396182 1396222 + Identifier 1396182 1396214 + Identifier 1396215 1396221 + VariableStatement 1396223 1396421 + VariableDeclarationList 1396223 1396420 + VariableDeclaration 1396246 1396420 + Identifier 1396246 1396263 + CallExpression 1396265 1396420 + Identifier 1396265 1396281 + CallExpression 1396282 1396321 + Identifier 1396282 1396313 + Identifier 1396314 1396320 + ConditionalExpression 1396322 1396419 + BinaryExpression 1396322 1396367 + CallExpression 1396322 1396363 + Identifier 1396322 1396355 + Identifier 1396356 1396362 + LessThanToken 1396363 1396365 + NumericLiteral 1396365 1396367 + QuestionToken 1396367 1396369 + Identifier 1396369 1396394 + ColonToken 1396394 1396396 + Identifier 1396396 1396419 + IfStatement 1396421 1397059 + BinaryExpression 1396443 1396534 + Identifier 1396443 1396449 + EqualsToken 1396449 1396451 + CallExpression 1396451 1396534 + Identifier 1396451 1396463 + Identifier 1396464 1396480 + Identifier 1396481 1396498 + PropertyAccessExpression 1396499 1396519 + Identifier 1396499 1396514 + Identifier 1396515 1396519 + Identifier 1396520 1396533 + Block 1396535 1397059 + VariableStatement 1396537 1396675 + VariableDeclarationList 1396537 1396674 + VariableDeclaration 1396564 1396674 + Identifier 1396564 1396571 + CallExpression 1396573 1396674 + Identifier 1396573 1396590 + ArrayLiteralExpression 1396591 1396631 + CallExpression 1396592 1396630 + Identifier 1396592 1396622 + Identifier 1396623 1396629 + ArrayLiteralExpression 1396632 1396673 + CallExpression 1396634 1396672 + Identifier 1396634 1396664 + Identifier 1396665 1396671 + IfStatement 1396675 1397040 + BinaryExpression 1396701 1396822 + CallExpression 1396701 1396759 + Identifier 1396701 1396716 + CallExpression 1396717 1396750 + Identifier 1396717 1396742 + Identifier 1396743 1396749 + Identifier 1396751 1396758 + EqualsEqualsEqualsToken 1396759 1396763 + CallExpression 1396763 1396822 + Identifier 1396763 1396779 + CallExpression 1396780 1396813 + Identifier 1396780 1396805 + Identifier 1396806 1396812 + Identifier 1396814 1396821 + Block 1396823 1397040 + ReturnStatement 1396825 1397017 + BinaryExpression 1396857 1397016 + Identifier 1396857 1396864 + AmpersandToken 1396864 1396866 + CallExpression 1396866 1397016 + Identifier 1396866 1396878 + CallExpression 1396879 1396941 + Identifier 1396879 1396894 + CallExpression 1396895 1396932 + Identifier 1396895 1396924 + Identifier 1396925 1396931 + Identifier 1396933 1396940 + CallExpression 1396942 1396980 + Identifier 1396942 1396972 + Identifier 1396973 1396979 + PropertyAccessExpression 1396981 1397001 + Identifier 1396981 1396996 + Identifier 1396997 1397001 + Identifier 1397002 1397015 + ReturnStatement 1397074 1397109 + PropertyAccessExpression 1397094 1397108 + Identifier 1397094 1397102 + Identifier 1397103 1397108 + FunctionDeclaration 1397120 1403398 + Identifier 1397140 1397171 + Parameter 1397172 1397184 + Identifier 1397172 1397178 + TypeReference 1397179 1397184 + Identifier 1397179 1397184 + Parameter 1397185 1397203 + Identifier 1397185 1397192 + TypeReference 1397193 1397203 + Identifier 1397193 1397203 + Block 1397204 1403398 + VariableStatement 1397206 1398058 + VariableDeclarationList 1397206 1398057 + VariableDeclaration 1398010 1398057 + Identifier 1398010 1398027 + CallExpression 1398029 1398057 + Identifier 1398029 1398049 + Identifier 1398050 1398056 + VariableStatement 1398058 1398158 + VariableDeclarationList 1398058 1398157 + VariableDeclaration 1398077 1398157 + Identifier 1398077 1398102 + CallExpression 1398104 1398157 + Identifier 1398104 1398131 + Identifier 1398132 1398148 + Identifier 1398149 1398156 + IfStatement 1398158 1398224 + PrefixUnaryExpression 1398176 1398201 + Identifier 1398177 1398201 + ReturnStatement 1398202 1398224 + PropertyAccessExpression 1398209 1398223 + Identifier 1398209 1398217 + Identifier 1398218 1398223 + VariableStatement 1398224 1398653 + VariableDeclarationList 1398224 1398652 + VariableDeclaration 1398632 1398652 + Identifier 1398632 1398648 + NumericLiteral 1398650 1398652 + ForOfStatement 1398653 1399169 + VariableDeclarationList 1398672 1398692 + VariableDeclaration 1398677 1398692 + Identifier 1398677 1398692 + Identifier 1398695 1398720 + Block 1398721 1399169 + ExpressionStatement 1398723 1398814 + BinaryExpression 1398723 1398813 + Identifier 1398723 1398756 + AsteriskEqualsToken 1398756 1398759 + CallExpression 1398759 1398813 + Identifier 1398759 1398770 + CallExpression 1398771 1398812 + Identifier 1398771 1398796 + Identifier 1398797 1398811 + IfStatement 1398814 1399154 + BinaryExpression 1398836 1398856 + Identifier 1398836 1398851 + GreaterThanToken 1398851 1398853 + NumericLiteral 1398853 1398856 + Block 1398857 1399154 + ExpressionStatement 1398859 1399092 + CallExpression 1398859 1399091 + PropertyAccessExpression 1398859 1398957 + Identifier 1398859 1398948 + QuestionDotToken 1398948 1398950 + Identifier 1398950 1398957 + PropertyAccessExpression 1398958 1398982 + PropertyAccessExpression 1398958 1398971 + Identifier 1398958 1398965 + Identifier 1398966 1398971 + Identifier 1398972 1398982 + StringLiteral 1398983 1399027 + ObjectLiteralExpression 1399028 1399090 + PropertyAssignment 1399030 1399050 + Identifier 1399030 1399039 + PropertyAccessExpression 1399040 1399050 + Identifier 1399040 1399047 + Identifier 1399048 1399050 + PropertyAssignment 1399051 1399071 + Identifier 1399051 1399060 + PropertyAccessExpression 1399061 1399071 + Identifier 1399061 1399068 + Identifier 1399069 1399071 + ShorthandPropertyAssignment 1399072 1399088 + Identifier 1399072 1399088 + ReturnStatement 1399092 1399135 + PropertyAccessExpression 1399120 1399134 + Identifier 1399120 1399128 + Identifier 1399129 1399134 + VariableStatement 1399169 1399351 + VariableDeclarationList 1399169 1399350 + VariableDeclaration 1399263 1399350 + Identifier 1399263 1399287 + ArrayType 1399288 1399297 + ArrayType 1399288 1399295 + TypeReference 1399288 1399293 + Identifier 1399288 1399293 + NewExpression 1399299 1399350 + Identifier 1399303 1399309 + ArrayType 1399310 1399316 + TypeReference 1399310 1399314 + Identifier 1399310 1399314 + PropertyAccessExpression 1399318 1399349 + Identifier 1399318 1399342 + Identifier 1399343 1399349 + VariableStatement 1399351 1399412 + VariableDeclarationList 1399351 1399411 + VariableDeclaration 1399370 1399411 + Identifier 1399370 1399389 + NewExpression 1399391 1399411 + Identifier 1399395 1399399 + TypeReference 1399400 1399408 + Identifier 1399400 1399408 + ForStatement 1399412 1399922 + VariableDeclarationList 1399431 1399440 + VariableDeclaration 1399434 1399440 + Identifier 1399434 1399436 + NumericLiteral 1399438 1399440 + BinaryExpression 1399441 1399477 + Identifier 1399441 1399443 + LessThanToken 1399443 1399445 + PropertyAccessExpression 1399445 1399477 + Identifier 1399445 1399470 + Identifier 1399471 1399477 + PostfixUnaryExpression 1399478 1399482 + Identifier 1399478 1399480 + Block 1399483 1399922 + VariableStatement 1399485 1399554 + VariableDeclarationList 1399485 1399553 + VariableDeclaration 1399508 1399553 + Identifier 1399508 1399523 + ElementAccessExpression 1399525 1399553 + Identifier 1399525 1399550 + Identifier 1399551 1399552 + VariableStatement 1399554 1399641 + VariableDeclarationList 1399554 1399640 + VariableDeclaration 1399577 1399640 + Identifier 1399577 1399596 + CallExpression 1399598 1399640 + Identifier 1399598 1399624 + Identifier 1399625 1399639 + ExpressionStatement 1399641 1399838 + BinaryExpression 1399641 1399837 + ElementAccessExpression 1399641 1399685 + Identifier 1399641 1399682 + Identifier 1399683 1399684 + EqualsToken 1399685 1399687 + ConditionalExpression 1399687 1399837 + BinaryExpression 1399687 1399730 + PropertyAccessExpression 1399687 1399712 + Identifier 1399687 1399706 + Identifier 1399707 1399712 + AmpersandToken 1399712 1399714 + PropertyAccessExpression 1399714 1399730 + Identifier 1399714 1399724 + Identifier 1399725 1399730 + QuestionToken 1399730 1399753 + PropertyAccessExpression 1399753 1399793 + ParenthesizedExpression 1399753 1399787 + AsExpression 1399755 1399786 + Identifier 1399755 1399773 + TypeReference 1399776 1399786 + Identifier 1399776 1399786 + Identifier 1399788 1399793 + ColonToken 1399793 1399816 + ArrayLiteralExpression 1399816 1399837 + Identifier 1399818 1399836 + ExpressionStatement 1399838 1399907 + CallExpression 1399838 1399906 + PropertyAccessExpression 1399838 1399878 + Identifier 1399838 1399874 + Identifier 1399875 1399878 + PropertyAccessExpression 1399879 1399905 + Identifier 1399879 1399893 + Identifier 1399894 1399905 + VariableStatement 1399922 1400234 + VariableDeclarationList 1399922 1400233 + VariableDeclaration 1400164 1400233 + Identifier 1400164 1400189 + CallExpression 1400191 1400233 + Identifier 1400191 1400208 + Identifier 1400209 1400232 + VariableStatement 1400234 1400281 + VariableDeclarationList 1400234 1400280 + VariableDeclaration 1400253 1400280 + Identifier 1400253 1400267 + ArrayType 1400268 1400275 + TypeReference 1400268 1400273 + Identifier 1400268 1400273 + ArrayLiteralExpression 1400277 1400280 + ForOfStatement 1400281 1401848 + VariableDeclarationList 1400300 1400317 + VariableDeclaration 1400305 1400317 + Identifier 1400305 1400317 + Identifier 1400320 1400345 + Block 1400346 1401848 + VariableStatement 1400348 1400387 + VariableDeclarationList 1400348 1400386 + VariableDeclaration 1400369 1400386 + Identifier 1400369 1400378 + FalseKeyword 1400380 1400386 + LabeledStatement 1400387 1401663 + Identifier 1400387 1400410 + ForOfStatement 1400411 1401663 + VariableDeclarationList 1400434 1400444 + VariableDeclaration 1400439 1400444 + Identifier 1400439 1400444 + PropertyAccessExpression 1400447 1400460 + Identifier 1400447 1400454 + Identifier 1400455 1400460 + Block 1400461 1401663 + ForStatement 1400463 1401536 + VariableDeclarationList 1400490 1400499 + VariableDeclaration 1400493 1400499 + Identifier 1400493 1400495 + NumericLiteral 1400497 1400499 + BinaryExpression 1400500 1400536 + Identifier 1400500 1400502 + LessThanToken 1400502 1400504 + PropertyAccessExpression 1400504 1400536 + Identifier 1400504 1400529 + Identifier 1400530 1400536 + PostfixUnaryExpression 1400537 1400541 + Identifier 1400537 1400539 + Block 1400542 1401536 + VariableStatement 1400544 1400621 + VariableDeclarationList 1400544 1400620 + VariableDeclaration 1400575 1400620 + Identifier 1400575 1400590 + ElementAccessExpression 1400592 1400620 + Identifier 1400592 1400617 + Identifier 1400618 1400619 + VariableStatement 1400621 1400722 + VariableDeclarationList 1400621 1400721 + VariableDeclaration 1400652 1400721 + Identifier 1400652 1400667 + CallExpression 1400669 1400721 + Identifier 1400669 1400687 + Identifier 1400688 1400692 + PropertyAccessExpression 1400693 1400720 + Identifier 1400693 1400708 + Identifier 1400709 1400720 + IfStatement 1400722 1400784 + PrefixUnaryExpression 1400752 1400767 + Identifier 1400753 1400767 + ContinueStatement 1400768 1400784 + Identifier 1400777 1400783 + IfStatement 1400784 1400858 + BinaryExpression 1400814 1400847 + Identifier 1400814 1400828 + EqualsEqualsEqualsToken 1400828 1400832 + Identifier 1400832 1400847 + ContinueStatement 1400848 1400858 + VariableStatement 1400858 1401224 + VariableDeclarationList 1400858 1401223 + VariableDeclaration 1401008 1401223 + Identifier 1401008 1401016 + CallExpression 1401018 1401223 + Identifier 1401018 1401036 + Identifier 1401037 1401043 + Identifier 1401044 1401051 + Identifier 1401052 1401067 + Identifier 1401068 1401083 + ArrowFunction 1401084 1401104 + Parameter 1401084 1401086 + Identifier 1401084 1401086 + EqualsGreaterThanToken 1401086 1401089 + ElementAccessExpression 1401089 1401104 + Identifier 1401089 1401101 + Identifier 1401102 1401103 + FalseKeyword 1401105 1401128 + PropertyAccessExpression 1401129 1401152 + Identifier 1401129 1401147 + Identifier 1401148 1401152 + BinaryExpression 1401153 1401222 + Identifier 1401153 1401187 + BarBarToken 1401187 1401190 + BinaryExpression 1401190 1401222 + Identifier 1401190 1401199 + EqualsEqualsEqualsToken 1401199 1401203 + Identifier 1401203 1401222 + IfStatement 1401224 1401513 + PrefixUnaryExpression 1401430 1401438 + Identifier 1401431 1401438 + Block 1401439 1401513 + ContinueStatement 1401441 1401486 + Identifier 1401479 1401485 + ExpressionStatement 1401536 1401606 + CallExpression 1401536 1401605 + Identifier 1401536 1401570 + Identifier 1401571 1401584 + Identifier 1401585 1401590 + Identifier 1401591 1401604 + ExpressionStatement 1401606 1401644 + BinaryExpression 1401606 1401643 + Identifier 1401606 1401636 + EqualsToken 1401636 1401638 + TrueKeyword 1401638 1401643 + IfStatement 1401663 1401833 + PrefixUnaryExpression 1401685 1401694 + Identifier 1401686 1401694 + Block 1401695 1401833 + ReturnStatement 1401697 1401814 + PropertyAccessExpression 1401799 1401813 + Identifier 1401799 1401807 + Identifier 1401808 1401813 + VariableStatement 1401848 1401971 + VariableDeclarationList 1401848 1401970 + VariableDeclaration 1401948 1401970 + Identifier 1401948 1401955 + PropertyAccessExpression 1401957 1401970 + Identifier 1401957 1401965 + Identifier 1401966 1401970 + ForOfStatement 1401971 1403359 + VariableDeclarationList 1401990 1402000 + VariableDeclaration 1401995 1402000 + Identifier 1401995 1402000 + Identifier 1402003 1402017 + Block 1402018 1403359 + ExpressionStatement 1402020 1402175 + BinaryExpression 1402020 1402174 + Identifier 1402020 1402044 + AmpersandEqualsToken 1402044 1402047 + CallExpression 1402047 1402174 + Identifier 1402047 1402067 + Identifier 1402068 1402074 + Identifier 1402075 1402080 + FalseKeyword 1402081 1402104 + Identifier 1402105 1402124 + FalseKeyword 1402125 1402149 + PropertyAccessExpression 1402150 1402173 + Identifier 1402150 1402168 + Identifier 1402169 1402173 + IfStatement 1402175 1403257 + Identifier 1402197 1402203 + Block 1402204 1403257 + ExpressionStatement 1402206 1402340 + BinaryExpression 1402206 1402339 + Identifier 1402206 1402234 + AmpersandEqualsToken 1402234 1402237 + CallExpression 1402237 1402339 + Identifier 1402237 1402257 + Identifier 1402258 1402264 + Identifier 1402265 1402270 + PropertyAccessExpression 1402271 1402290 + Identifier 1402271 1402285 + Identifier 1402286 1402290 + FalseKeyword 1402291 1402314 + PropertyAccessExpression 1402315 1402338 + Identifier 1402315 1402333 + Identifier 1402334 1402338 + IfStatement 1402340 1403238 + Identifier 1402366 1402372 + Block 1402373 1403238 + ExpressionStatement 1402375 1402518 + BinaryExpression 1402375 1402517 + Identifier 1402375 1402407 + AmpersandEqualsToken 1402407 1402410 + CallExpression 1402410 1402517 + Identifier 1402410 1402430 + Identifier 1402431 1402437 + Identifier 1402438 1402443 + PropertyAccessExpression 1402444 1402468 + Identifier 1402444 1402458 + Identifier 1402459 1402468 + FalseKeyword 1402469 1402492 + PropertyAccessExpression 1402493 1402516 + Identifier 1402493 1402511 + Identifier 1402512 1402516 + IfStatement 1402518 1403215 + BinaryExpression 1402548 1402601 + Identifier 1402548 1402554 + AmpersandAmpersandToken 1402554 1402557 + PrefixUnaryExpression 1402557 1402601 + ParenthesizedExpression 1402559 1402601 + BinaryExpression 1402560 1402600 + CallExpression 1402560 1402579 + Identifier 1402560 1402571 + Identifier 1402572 1402578 + AmpersandAmpersandToken 1402579 1402582 + CallExpression 1402582 1402600 + Identifier 1402582 1402594 + Identifier 1402595 1402599 + Block 1402602 1403215 + ExpressionStatement 1402604 1403188 + BinaryExpression 1402604 1403187 + Identifier 1402604 1403068 + AmpersandEqualsToken 1403068 1403071 + CallExpression 1403071 1403187 + Identifier 1403071 1403096 + Identifier 1403097 1403103 + Identifier 1403104 1403109 + FalseKeyword 1403110 1403138 + FalseKeyword 1403139 1403162 + PropertyAccessExpression 1403163 1403186 + Identifier 1403163 1403181 + Identifier 1403182 1403186 + IfStatement 1403257 1403344 + PrefixUnaryExpression 1403279 1403286 + Identifier 1403280 1403286 + Block 1403287 1403344 + ReturnStatement 1403289 1403325 + Identifier 1403317 1403324 + ReturnStatement 1403359 1403387 + Identifier 1403379 1403386 + FunctionDeclaration 1403398 1404080 + Identifier 1403418 1403436 + Parameter 1403437 1403457 + Identifier 1403437 1403447 + ArrayType 1403448 1403457 + TypeReference 1403448 1403455 + Identifier 1403448 1403455 + Parameter 1403458 1403504 + Identifier 1403458 1403477 + UnionType 1403478 1403504 + TypeReference 1403478 1403492 + Identifier 1403478 1403482 + TypeReference 1403483 1403491 + Identifier 1403483 1403491 + UndefinedKeyword 1403494 1403504 + Block 1403505 1404080 + IfStatement 1403507 1403591 + BinaryExpression 1403525 1403571 + PrefixUnaryExpression 1403525 1403544 + Identifier 1403526 1403544 + BarBarToken 1403544 1403547 + BinaryExpression 1403547 1403571 + PropertyAccessExpression 1403547 1403565 + Identifier 1403547 1403558 + Identifier 1403559 1403565 + EqualsEqualsEqualsToken 1403565 1403569 + NumericLiteral 1403569 1403571 + ReturnStatement 1403572 1403591 + Identifier 1403579 1403590 + VariableStatement 1403591 1403638 + VariableDeclarationList 1403591 1403637 + VariableDeclaration 1403608 1403637 + Identifier 1403608 1403615 + UnionType 1403616 1403637 + ArrayType 1403616 1403625 + TypeReference 1403616 1403623 + Identifier 1403616 1403623 + UndefinedKeyword 1403627 1403637 + ForStatement 1403638 1404027 + VariableDeclarationList 1403657 1403666 + VariableDeclaration 1403660 1403666 + Identifier 1403660 1403662 + NumericLiteral 1403664 1403666 + BinaryExpression 1403667 1403689 + Identifier 1403667 1403669 + LessThanToken 1403669 1403671 + PropertyAccessExpression 1403671 1403689 + Identifier 1403671 1403682 + Identifier 1403683 1403689 + PostfixUnaryExpression 1403690 1403694 + Identifier 1403690 1403692 + Block 1403695 1404027 + IfStatement 1403697 1404012 + PrefixUnaryExpression 1403719 1403769 + CallExpression 1403720 1403769 + PropertyAccessExpression 1403720 1403742 + Identifier 1403720 1403738 + Identifier 1403739 1403742 + PropertyAccessExpression 1403743 1403768 + ElementAccessExpression 1403743 1403756 + Identifier 1403743 1403753 + Identifier 1403754 1403755 + Identifier 1403757 1403768 + Block 1403770 1403902 + IfStatement 1403772 1403883 + Identifier 1403798 1403804 + Block 1403805 1403883 + ExpressionStatement 1403807 1403860 + CallExpression 1403807 1403859 + PropertyAccessExpression 1403807 1403844 + Identifier 1403807 1403839 + Identifier 1403840 1403844 + ElementAccessExpression 1403845 1403858 + Identifier 1403845 1403855 + Identifier 1403856 1403857 + IfStatement 1403924 1404012 + PrefixUnaryExpression 1403929 1403936 + Identifier 1403930 1403936 + Block 1403937 1404012 + ExpressionStatement 1403939 1403993 + BinaryExpression 1403939 1403992 + Identifier 1403939 1403967 + EqualsToken 1403967 1403969 + CallExpression 1403969 1403992 + PropertyAccessExpression 1403969 1403986 + Identifier 1403969 1403980 + Identifier 1403981 1403986 + NumericLiteral 1403987 1403988 + Identifier 1403989 1403991 + ReturnStatement 1404027 1404069 + BinaryExpression 1404047 1404068 + Identifier 1404047 1404054 + BarBarToken 1404054 1404057 + Identifier 1404057 1404068 + FunctionDeclaration 1404080 1404763 + Identifier 1404100 1404128 + Parameter 1404129 1404147 + Identifier 1404129 1404139 + TypeReference 1404140 1404147 + Identifier 1404140 1404147 + Parameter 1404148 1404167 + Identifier 1404148 1404159 + TypeReference 1404160 1404167 + Identifier 1404160 1404167 + Parameter 1404168 1404215 + Identifier 1404168 1404192 + FunctionType 1404193 1404215 + Parameter 1404195 1404206 + Identifier 1404195 1404198 + TypeReference 1404199 1404206 + Identifier 1404199 1404206 + TypeReference 1404210 1404215 + Identifier 1404210 1404215 + Parameter 1404216 1404238 + Identifier 1404216 1404229 + BooleanKeyword 1404230 1404238 + Parameter 1404239 1404276 + Identifier 1404239 1404257 + TypeReference 1404258 1404276 + Identifier 1404258 1404276 + TypeReference 1404278 1404286 + Identifier 1404278 1404286 + Block 1404286 1404763 + VariableStatement 1404288 1404398 + VariableDeclarationList 1404288 1404397 + VariableDeclaration 1404307 1404397 + Identifier 1404307 1404324 + BinaryExpression 1404326 1404397 + Identifier 1404326 1404343 + AmpersandAmpersandToken 1404343 1404346 + PrefixUnaryExpression 1404346 1404397 + PrefixUnaryExpression 1404348 1404397 + ParenthesizedExpression 1404349 1404397 + BinaryExpression 1404350 1404396 + CallExpression 1404350 1404375 + Identifier 1404350 1404363 + Identifier 1404364 1404374 + AmpersandToken 1404375 1404377 + PropertyAccessExpression 1404377 1404396 + Identifier 1404377 1404388 + Identifier 1404389 1404396 + VariableStatement 1404398 1404530 + VariableDeclarationList 1404398 1404529 + VariableDeclaration 1404417 1404529 + Identifier 1404417 1404433 + CallExpression 1404435 1404529 + Identifier 1404435 1404450 + CallExpression 1404451 1404488 + Identifier 1404451 1404476 + Identifier 1404477 1404487 + FalseKeyword 1404489 1404510 + Identifier 1404511 1404528 + VariableStatement 1404530 1404604 + VariableDeclarationList 1404530 1404603 + VariableDeclaration 1404549 1404603 + Identifier 1404549 1404565 + CallExpression 1404567 1404603 + Identifier 1404567 1404591 + Identifier 1404592 1404602 + ReturnStatement 1404604 1404752 + CallExpression 1404624 1404751 + Identifier 1404624 1404636 + Identifier 1404637 1404652 + Identifier 1404653 1404669 + PropertyAccessExpression 1404670 1404690 + Identifier 1404670 1404685 + Identifier 1404686 1404690 + Identifier 1404691 1404704 + Identifier 1404705 1404731 + Identifier 1404732 1404750 + FunctionDeclaration 1404763 1409321 + Identifier 1404783 1404801 + Parameter 1404802 1404814 + Identifier 1404802 1404808 + TypeReference 1404809 1404814 + Identifier 1404809 1404814 + Parameter 1404815 1404828 + Identifier 1404815 1404822 + TypeReference 1404823 1404828 + Identifier 1404823 1404828 + Parameter 1404829 1404848 + Identifier 1404829 1404840 + TypeReference 1404841 1404848 + Identifier 1404841 1404848 + Parameter 1404849 1404868 + Identifier 1404849 1404860 + TypeReference 1404861 1404868 + Identifier 1404861 1404868 + Parameter 1404869 1404916 + Identifier 1404869 1404893 + FunctionType 1404894 1404916 + Parameter 1404896 1404907 + Identifier 1404896 1404899 + TypeReference 1404900 1404907 + Identifier 1404900 1404907 + TypeReference 1404911 1404916 + Identifier 1404911 1404916 + Parameter 1404917 1404939 + Identifier 1404917 1404930 + BooleanKeyword 1404931 1404939 + Parameter 1404940 1404977 + Identifier 1404940 1404958 + TypeReference 1404959 1404977 + Identifier 1404959 1404977 + Parameter 1404978 1405000 + Identifier 1404978 1404991 + BooleanKeyword 1404992 1405000 + TypeReference 1405002 1405010 + Identifier 1405002 1405010 + Block 1405010 1409321 + VariableStatement 1405012 1405100 + VariableDeclarationList 1405012 1405099 + VariableDeclaration 1405031 1405099 + Identifier 1405031 1405047 + CallExpression 1405049 1405099 + Identifier 1405049 1405087 + Identifier 1405088 1405098 + VariableStatement 1405100 1405188 + VariableDeclarationList 1405100 1405187 + VariableDeclaration 1405119 1405187 + Identifier 1405119 1405135 + CallExpression 1405137 1405187 + Identifier 1405137 1405175 + Identifier 1405176 1405186 + IfStatement 1405188 1407016 + BinaryExpression 1405206 1405288 + BinaryExpression 1405206 1405245 + Identifier 1405206 1405221 + AmpersandToken 1405221 1405223 + PropertyAccessExpression 1405223 1405245 + Identifier 1405223 1405237 + Identifier 1405238 1405245 + BarBarToken 1405245 1405248 + BinaryExpression 1405248 1405288 + Identifier 1405248 1405264 + AmpersandToken 1405264 1405266 + PropertyAccessExpression 1405266 1405288 + Identifier 1405266 1405280 + Identifier 1405281 1405288 + Block 1405289 1406136 + IfStatement 1405291 1406121 + BinaryExpression 1405313 1405372 + PropertyAccessExpression 1405313 1405340 + Identifier 1405313 1405323 + Identifier 1405324 1405340 + ExclamationEqualsEqualsToken 1405340 1405344 + PropertyAccessExpression 1405344 1405372 + Identifier 1405344 1405355 + Identifier 1405356 1405372 + Block 1405373 1406121 + IfStatement 1405375 1406059 + Identifier 1405401 1405413 + Block 1405414 1406059 + IfStatement 1405416 1406036 + BinaryExpression 1405446 1405528 + BinaryExpression 1405446 1405485 + Identifier 1405446 1405461 + AmpersandToken 1405461 1405463 + PropertyAccessExpression 1405463 1405485 + Identifier 1405463 1405477 + Identifier 1405478 1405485 + AmpersandAmpersandToken 1405485 1405488 + BinaryExpression 1405488 1405528 + Identifier 1405488 1405504 + AmpersandToken 1405504 1405506 + PropertyAccessExpression 1405506 1405528 + Identifier 1405506 1405520 + Identifier 1405521 1405528 + Block 1405529 1405698 + ExpressionStatement 1405531 1405671 + CallExpression 1405531 1405670 + Identifier 1405531 1405572 + PropertyAccessExpression 1405573 1405641 + Identifier 1405573 1405584 + Identifier 1405585 1405641 + CallExpression 1405642 1405669 + Identifier 1405642 1405657 + Identifier 1405658 1405668 + Block 1405728 1406036 + ExpressionStatement 1405730 1406009 + CallExpression 1405730 1406008 + Identifier 1405730 1405771 + PropertyAccessExpression 1405772 1405833 + Identifier 1405772 1405783 + Identifier 1405784 1405833 + CallExpression 1405834 1405861 + Identifier 1405834 1405849 + Identifier 1405850 1405860 + CallExpression 1405862 1405934 + Identifier 1405862 1405875 + ConditionalExpression 1405876 1405933 + BinaryExpression 1405876 1405915 + Identifier 1405876 1405891 + AmpersandToken 1405891 1405893 + PropertyAccessExpression 1405893 1405915 + Identifier 1405893 1405907 + Identifier 1405908 1405915 + QuestionToken 1405915 1405917 + Identifier 1405917 1405924 + ColonToken 1405924 1405926 + Identifier 1405926 1405933 + CallExpression 1405935 1406007 + Identifier 1405935 1405948 + ConditionalExpression 1405949 1406006 + BinaryExpression 1405949 1405988 + Identifier 1405949 1405964 + AmpersandToken 1405964 1405966 + PropertyAccessExpression 1405966 1405988 + Identifier 1405966 1405980 + Identifier 1405981 1405988 + QuestionToken 1405988 1405990 + Identifier 1405990 1405997 + ColonToken 1405997 1405999 + Identifier 1405999 1406006 + ReturnStatement 1406059 1406102 + PropertyAccessExpression 1406087 1406101 + Identifier 1406087 1406095 + Identifier 1406096 1406101 + IfStatement 1406154 1407016 + BinaryExpression 1406159 1406200 + Identifier 1406159 1406174 + AmpersandToken 1406174 1406176 + PropertyAccessExpression 1406176 1406200 + Identifier 1406176 1406190 + Identifier 1406191 1406200 + Block 1406201 1406665 + IfStatement 1406203 1406650 + PrefixUnaryExpression 1406225 1406267 + CallExpression 1406226 1406267 + Identifier 1406226 1406243 + Identifier 1406244 1406254 + Identifier 1406255 1406266 + Block 1406268 1406650 + IfStatement 1406270 1406588 + Identifier 1406296 1406308 + Block 1406309 1406588 + ExpressionStatement 1406311 1406565 + CallExpression 1406311 1406564 + Identifier 1406311 1406348 + PropertyAccessExpression 1406349 1406425 + Identifier 1406349 1406360 + Identifier 1406361 1406425 + CallExpression 1406426 1406453 + Identifier 1406426 1406441 + Identifier 1406442 1406452 + CallExpression 1406454 1406508 + Identifier 1406454 1406467 + BinaryExpression 1406468 1406507 + CallExpression 1406468 1406497 + Identifier 1406468 1406485 + Identifier 1406486 1406496 + BarBarToken 1406497 1406500 + Identifier 1406500 1406507 + CallExpression 1406509 1406563 + Identifier 1406509 1406522 + BinaryExpression 1406523 1406562 + CallExpression 1406523 1406552 + Identifier 1406523 1406540 + Identifier 1406541 1406551 + BarBarToken 1406552 1406555 + Identifier 1406555 1406562 + ReturnStatement 1406588 1406631 + PropertyAccessExpression 1406616 1406630 + Identifier 1406616 1406624 + Identifier 1406625 1406630 + IfStatement 1406683 1407016 + BinaryExpression 1406688 1406729 + Identifier 1406688 1406703 + AmpersandToken 1406703 1406705 + PropertyAccessExpression 1406705 1406729 + Identifier 1406705 1406719 + Identifier 1406720 1406729 + Block 1406730 1407016 + IfStatement 1406732 1406962 + Identifier 1406754 1406766 + Block 1406767 1406962 + ExpressionStatement 1406769 1406943 + CallExpression 1406769 1406942 + Identifier 1406769 1406802 + PropertyAccessExpression 1406803 1406869 + Identifier 1406803 1406814 + Identifier 1406815 1406869 + CallExpression 1406870 1406897 + Identifier 1406870 1406885 + Identifier 1406886 1406896 + CallExpression 1406898 1406919 + Identifier 1406898 1406911 + Identifier 1406912 1406918 + CallExpression 1406920 1406941 + Identifier 1406920 1406933 + Identifier 1406934 1406940 + ReturnStatement 1406962 1407001 + PropertyAccessExpression 1406986 1407000 + Identifier 1406986 1406994 + Identifier 1406995 1407000 + IfStatement 1407016 1407786 + BinaryExpression 1407581 1407715 + BinaryExpression 1407581 1407682 + BinaryExpression 1407581 1407633 + Identifier 1407581 1407607 + EqualsEqualsEqualsToken 1407607 1407611 + Identifier 1407611 1407633 + AmpersandAmpersandToken 1407633 1407636 + CallExpression 1407636 1407682 + Identifier 1407636 1407670 + Identifier 1407671 1407681 + AmpersandAmpersandToken 1407682 1407685 + PrefixUnaryExpression 1407685 1407715 + CallExpression 1407687 1407715 + Identifier 1407687 1407703 + Identifier 1407704 1407714 + Block 1407730 1407786 + ReturnStatement 1407732 1407771 + PropertyAccessExpression 1407756 1407770 + Identifier 1407756 1407764 + Identifier 1407765 1407770 + VariableStatement 1407786 1408026 + VariableDeclarationList 1407786 1408025 + VariableDeclaration 1407905 1408025 + Identifier 1407905 1407913 + CallExpression 1407915 1408025 + Identifier 1407915 1407943 + Identifier 1407944 1407954 + Identifier 1407955 1407966 + Identifier 1407967 1407991 + Identifier 1407992 1408005 + Identifier 1408006 1408024 + IfStatement 1408026 1408289 + PrefixUnaryExpression 1408044 1408052 + Identifier 1408045 1408052 + Block 1408053 1408289 + IfStatement 1408055 1408235 + Identifier 1408077 1408089 + Block 1408090 1408235 + ExpressionStatement 1408092 1408216 + CallExpression 1408092 1408215 + Identifier 1408092 1408137 + PropertyAccessExpression 1408138 1408186 + Identifier 1408138 1408149 + Identifier 1408150 1408186 + CallExpression 1408187 1408214 + Identifier 1408187 1408202 + Identifier 1408203 1408213 + ReturnStatement 1408235 1408274 + PropertyAccessExpression 1408259 1408273 + Identifier 1408259 1408267 + Identifier 1408268 1408273 + IfStatement 1408289 1409281 + BinaryExpression 1408398 1408546 + BinaryExpression 1408398 1408500 + BinaryExpression 1408398 1408454 + PrefixUnaryExpression 1408398 1408411 + Identifier 1408399 1408411 + AmpersandAmpersandToken 1408411 1408414 + BinaryExpression 1408414 1408454 + PropertyAccessExpression 1408414 1408431 + Identifier 1408414 1408425 + Identifier 1408426 1408431 + AmpersandToken 1408431 1408433 + PropertyAccessExpression 1408433 1408454 + Identifier 1408433 1408445 + Identifier 1408446 1408454 + AmpersandAmpersandToken 1408454 1408457 + BinaryExpression 1408457 1408500 + PropertyAccessExpression 1408457 1408474 + Identifier 1408457 1408468 + Identifier 1408469 1408474 + AmpersandToken 1408474 1408476 + PropertyAccessExpression 1408476 1408500 + Identifier 1408476 1408488 + Identifier 1408489 1408500 + AmpersandAmpersandToken 1408500 1408503 + PrefixUnaryExpression 1408503 1408546 + ParenthesizedExpression 1408505 1408546 + BinaryExpression 1408506 1408545 + PropertyAccessExpression 1408506 1408522 + Identifier 1408506 1408516 + Identifier 1408517 1408522 + AmpersandToken 1408522 1408524 + PropertyAccessExpression 1408524 1408545 + Identifier 1408524 1408536 + Identifier 1408537 1408545 + Block 1408547 1409281 + IfStatement 1408549 1409227 + Identifier 1409018 1409030 + Block 1409031 1409227 + ExpressionStatement 1409033 1409208 + CallExpression 1409033 1409207 + Identifier 1409033 1409066 + PropertyAccessExpression 1409067 1409134 + Identifier 1409067 1409078 + Identifier 1409079 1409134 + CallExpression 1409135 1409162 + Identifier 1409135 1409150 + Identifier 1409151 1409161 + CallExpression 1409163 1409184 + Identifier 1409163 1409176 + Identifier 1409177 1409183 + CallExpression 1409185 1409206 + Identifier 1409185 1409198 + Identifier 1409199 1409205 + ReturnStatement 1409227 1409266 + PropertyAccessExpression 1409251 1409265 + Identifier 1409251 1409259 + Identifier 1409260 1409265 + ReturnStatement 1409281 1409310 + Identifier 1409301 1409309 + FunctionDeclaration 1409321 1413255 + Identifier 1409341 1409365 + Parameter 1409366 1409378 + Identifier 1409366 1409372 + TypeReference 1409373 1409378 + Identifier 1409373 1409378 + Parameter 1409379 1409392 + Identifier 1409379 1409386 + TypeReference 1409387 1409392 + Identifier 1409387 1409392 + Parameter 1409393 1409419 + Identifier 1409393 1409411 + TypeReference 1409412 1409419 + Identifier 1409412 1409419 + Parameter 1409420 1409455 + Identifier 1409420 1409446 + BooleanKeyword 1409447 1409455 + Block 1409456 1413255 + VariableStatement 1409458 1409506 + VariableDeclarationList 1409458 1409505 + VariableDeclaration 1409475 1409505 + Identifier 1409475 1409497 + FalseKeyword 1409499 1409505 + IfStatement 1409506 1410951 + BinaryExpression 1409614 1409916 + BinaryExpression 1409614 1409856 + BinaryExpression 1409614 1409822 + BinaryExpression 1409614 1409741 + PropertyAccessExpression 1409614 1409666 + Identifier 1409614 1409649 + Identifier 1409650 1409666 + AmpersandAmpersandToken 1409666 1409686 + CallExpression 1409686 1409741 + Identifier 1409686 1409705 + PropertyAccessExpression 1409706 1409740 + Identifier 1409706 1409723 + Identifier 1409724 1409740 + AmpersandAmpersandToken 1409741 1409761 + CallExpression 1409761 1409822 + Identifier 1409761 1409781 + PropertyAccessExpression 1409782 1409821 + PropertyAccessExpression 1409782 1409816 + Identifier 1409782 1409799 + Identifier 1409800 1409816 + Identifier 1409817 1409821 + AmpersandAmpersandToken 1409822 1409842 + PropertyAccessExpression 1409842 1409856 + Identifier 1409842 1409849 + Identifier 1409850 1409856 + AmpersandAmpersandToken 1409856 1409876 + BinaryExpression 1409876 1409916 + PropertyAccessExpression 1409876 1409896 + PropertyAccessExpression 1409876 1409890 + Identifier 1409876 1409883 + Identifier 1409884 1409890 + Identifier 1409891 1409896 + AmpersandToken 1409896 1409898 + PropertyAccessExpression 1409898 1409916 + Identifier 1409898 1409910 + Identifier 1409911 1409916 + Block 1409931 1410951 + VariableStatement 1409933 1410040 + VariableDeclarationList 1409933 1410039 + VariableDeclaration 1409956 1410039 + Identifier 1409956 1409985 + PropertyAccessExpression 1409987 1410039 + PropertyAccessExpression 1409987 1410027 + PropertyAccessExpression 1409987 1410022 + Identifier 1409987 1410005 + Identifier 1410006 1410022 + Identifier 1410023 1410027 + Identifier 1410028 1410039 + VariableStatement 1410040 1410160 + VariableDeclarationList 1410040 1410159 + VariableDeclaration 1410063 1410159 + Identifier 1410063 1410078 + CallExpression 1410080 1410159 + Identifier 1410080 1410114 + PropertyAccessExpression 1410115 1410128 + Identifier 1410115 1410121 + Identifier 1410122 1410128 + Identifier 1410129 1410158 + IfStatement 1410160 1410936 + BinaryExpression 1410182 1410241 + Identifier 1410182 1410196 + AmpersandAmpersandToken 1410196 1410199 + CallExpression 1410199 1410241 + Identifier 1410199 1410217 + Identifier 1410218 1410224 + Identifier 1410225 1410240 + Block 1410242 1410936 + VariableStatement 1410244 1410344 + VariableDeclarationList 1410244 1410343 + VariableDeclaration 1410271 1410343 + Identifier 1410271 1410282 + CallExpression 1410284 1410343 + PropertyAccessExpression 1410284 1410311 + Identifier 1410284 1410292 + Identifier 1410293 1410311 + PropertyAccessExpression 1410312 1410342 + PropertyAccessExpression 1410312 1410325 + Identifier 1410312 1410318 + Identifier 1410319 1410325 + Identifier 1410326 1410342 + VariableStatement 1410344 1410444 + VariableDeclarationList 1410344 1410443 + VariableDeclaration 1410371 1410443 + Identifier 1410371 1410382 + CallExpression 1410384 1410443 + PropertyAccessExpression 1410384 1410411 + Identifier 1410384 1410392 + Identifier 1410393 1410411 + PropertyAccessExpression 1410412 1410442 + PropertyAccessExpression 1410412 1410425 + Identifier 1410412 1410418 + Identifier 1410419 1410425 + Identifier 1410426 1410442 + ExpressionStatement 1410444 1410888 + CallExpression 1410444 1410887 + Identifier 1410444 1410477 + PropertyAccessExpression 1410478 1410608 + Identifier 1410478 1410515 + Identifier 1410516 1410608 + CallExpression 1410609 1410679 + Identifier 1410609 1410649 + Identifier 1410650 1410678 + CallExpression 1410680 1410771 + Identifier 1410680 1410720 + ConditionalExpression 1410721 1410770 + BinaryExpression 1410721 1410750 + PropertyAccessExpression 1410721 1410743 + Identifier 1410721 1410731 + Identifier 1410732 1410743 + EqualsEqualsEqualsToken 1410743 1410747 + StringLiteral 1410747 1410750 + QuestionToken 1410750 1410752 + Identifier 1410752 1410757 + ColonToken 1410757 1410759 + Identifier 1410759 1410770 + CallExpression 1410772 1410863 + Identifier 1410772 1410812 + ConditionalExpression 1410813 1410862 + BinaryExpression 1410813 1410842 + PropertyAccessExpression 1410813 1410835 + Identifier 1410813 1410823 + Identifier 1410824 1410835 + EqualsEqualsEqualsToken 1410835 1410839 + StringLiteral 1410839 1410842 + QuestionToken 1410842 1410844 + Identifier 1410844 1410849 + ColonToken 1410849 1410851 + Identifier 1410851 1410862 + ReturnStatement 1410888 1410917 + VariableStatement 1410951 1411095 + VariableDeclarationList 1410951 1411094 + VariableDeclaration 1410970 1411094 + Identifier 1410970 1410976 + CallExpression 1410978 1411094 + Identifier 1410978 1410988 + CallExpression 1410989 1411093 + Identifier 1410989 1411011 + Identifier 1411012 1411018 + Identifier 1411019 1411026 + Identifier 1411027 1411053 + FalseKeyword 1411054 1411092 + IfStatement 1411095 1411551 + BinaryExpression 1411113 1411393 + PrefixUnaryExpression 1411113 1411143 + Identifier 1411132 1411143 + BarBarToken 1411143 1411146 + ParenthesizedExpression 1411146 1411393 + BinaryExpression 1411148 1411392 + BinaryExpression 1411148 1411228 + PropertyAccessExpression 1411148 1411164 + Identifier 1411148 1411159 + Identifier 1411160 1411164 + ExclamationEqualsEqualsToken 1411164 1411168 + PropertyAccessExpression 1411168 1411228 + PropertyAccessExpression 1411168 1411223 + Identifier 1411168 1411180 + Identifier 1411181 1411223 + Identifier 1411224 1411228 + AmpersandAmpersandToken 1411228 1411231 + BinaryExpression 1411231 1411392 + PropertyAccessExpression 1411231 1411269 + Identifier 1411231 1411264 + Identifier 1411265 1411269 + ExclamationEqualsEqualsToken 1411269 1411273 + PropertyAccessExpression 1411273 1411392 + PropertyAccessExpression 1411273 1411387 + Identifier 1411273 1411285 + Identifier 1411286 1411387 + Identifier 1411388 1411392 + Block 1411408 1411551 + ExpressionStatement 1411410 1411457 + BinaryExpression 1411410 1411456 + Identifier 1411410 1411449 + EqualsToken 1411449 1411451 + TrueKeyword 1411451 1411456 + IfStatement 1411551 1413133 + BinaryExpression 1411569 1411587 + PropertyAccessExpression 1411569 1411581 + Identifier 1411569 1411574 + Identifier 1411575 1411581 + EqualsEqualsEqualsToken 1411581 1411585 + NumericLiteral 1411585 1411587 + Block 1411588 1412312 + VariableStatement 1411590 1411788 + VariableDeclarationList 1411590 1411787 + VariableDeclaration 1411613 1411787 + Identifier 1411613 1411622 + CallExpression 1411624 1411787 + Identifier 1411624 1411639 + Identifier 1411640 1411657 + Identifier 1411658 1411693 + PropertyAccessExpression 1411694 1411711 + Identifier 1411694 1411706 + Identifier 1411707 1411711 + BinaryExpression 1411712 1411786 + PropertyAccessExpression 1411712 1411747 + Identifier 1411712 1411730 + Identifier 1411731 1411747 + BarToken 1411747 1411749 + PropertyAccessExpression 1411749 1411786 + Identifier 1411749 1411767 + Identifier 1411768 1411786 + ExpressionStatement 1411788 1411944 + CallExpression 1411788 1411943 + Identifier 1411788 1411817 + PropertyAccessExpression 1411818 1411884 + Identifier 1411818 1411829 + Identifier 1411830 1411884 + Identifier 1411885 1411894 + SpreadElement 1411895 1411942 + CallExpression 1411899 1411942 + Identifier 1411899 1411926 + Identifier 1411927 1411933 + Identifier 1411934 1411941 + IfStatement 1411944 1412173 + CallExpression 1411966 1412004 + Identifier 1411966 1411972 + PropertyAccessExpression 1411973 1412003 + Identifier 1411973 1411990 + Identifier 1411991 1412003 + Block 1412005 1412173 + ExpressionStatement 1412007 1412154 + CallExpression 1412007 1412153 + Identifier 1412007 1412049 + CallExpression 1412050 1412152 + Identifier 1412050 1412073 + ElementAccessExpression 1412074 1412108 + NonNullExpression 1412074 1412105 + PropertyAccessExpression 1412074 1412104 + Identifier 1412074 1412091 + Identifier 1412092 1412104 + NumericLiteral 1412106 1412107 + PropertyAccessExpression 1412109 1412141 + Identifier 1412109 1412121 + Identifier 1412122 1412141 + Identifier 1412142 1412151 + IfStatement 1412173 1412297 + BinaryExpression 1412195 1412229 + Identifier 1412195 1412216 + AmpersandAmpersandToken 1412216 1412219 + Identifier 1412219 1412229 + Block 1412230 1412297 + ExpressionStatement 1412232 1412278 + PostfixUnaryExpression 1412232 1412277 + Identifier 1412232 1412275 + IfStatement 1412330 1413133 + CallExpression 1412335 1412402 + Identifier 1412335 1412362 + Identifier 1412363 1412369 + Identifier 1412370 1412377 + FalseKeyword 1412378 1412401 + Block 1412403 1413133 + IfStatement 1412405 1412994 + BinaryExpression 1412427 1412443 + PropertyAccessExpression 1412427 1412439 + Identifier 1412427 1412432 + Identifier 1412433 1412439 + GreaterThanToken 1412439 1412441 + NumericLiteral 1412441 1412443 + Block 1412444 1412750 + ExpressionStatement 1412446 1412731 + CallExpression 1412446 1412730 + Identifier 1412446 1412522 + PropertyAccessExpression 1412523 1412608 + Identifier 1412523 1412534 + Identifier 1412535 1412608 + CallExpression 1412609 1412630 + Identifier 1412609 1412622 + Identifier 1412623 1412629 + CallExpression 1412631 1412652 + Identifier 1412631 1412644 + Identifier 1412645 1412651 + CallExpression 1412653 1412711 + PropertyAccessExpression 1412653 1412705 + CallExpression 1412653 1412700 + Identifier 1412653 1412657 + CallExpression 1412658 1412675 + PropertyAccessExpression 1412658 1412669 + Identifier 1412658 1412663 + Identifier 1412664 1412669 + NumericLiteral 1412670 1412671 + NumericLiteral 1412672 1412674 + ArrowFunction 1412676 1412699 + Parameter 1412676 1412678 + Identifier 1412676 1412678 + EqualsGreaterThanToken 1412678 1412681 + CallExpression 1412681 1412699 + Identifier 1412681 1412696 + Identifier 1412697 1412698 + Identifier 1412701 1412705 + StringLiteral 1412706 1412710 + BinaryExpression 1412712 1412729 + PropertyAccessExpression 1412712 1412725 + Identifier 1412712 1412718 + Identifier 1412719 1412725 + MinusToken 1412725 1412727 + NumericLiteral 1412727 1412729 + Block 1412772 1412994 + ExpressionStatement 1412774 1412975 + CallExpression 1412774 1412974 + Identifier 1412774 1412807 + PropertyAccessExpression 1412808 1412882 + Identifier 1412808 1412819 + Identifier 1412820 1412882 + CallExpression 1412883 1412904 + Identifier 1412883 1412896 + Identifier 1412897 1412903 + CallExpression 1412905 1412926 + Identifier 1412905 1412918 + Identifier 1412919 1412925 + CallExpression 1412927 1412973 + PropertyAccessExpression 1412927 1412967 + CallExpression 1412927 1412962 + Identifier 1412927 1412931 + Identifier 1412932 1412937 + ArrowFunction 1412938 1412961 + Parameter 1412938 1412940 + Identifier 1412938 1412940 + EqualsGreaterThanToken 1412940 1412943 + CallExpression 1412943 1412961 + Identifier 1412943 1412958 + Identifier 1412959 1412960 + Identifier 1412963 1412967 + StringLiteral 1412968 1412972 + IfStatement 1412994 1413118 + BinaryExpression 1413016 1413050 + Identifier 1413016 1413037 + AmpersandAmpersandToken 1413037 1413040 + Identifier 1413040 1413050 + Block 1413051 1413118 + ExpressionStatement 1413053 1413099 + PostfixUnaryExpression 1413053 1413098 + Identifier 1413053 1413096 + FunctionDeclaration 1413255 1423485 + Identifier 1413275 1413295 + Parameter 1413296 1413308 + Identifier 1413296 1413302 + TypeReference 1413303 1413308 + Identifier 1413303 1413308 + Parameter 1413309 1413322 + Identifier 1413309 1413316 + TypeReference 1413317 1413322 + Identifier 1413317 1413322 + Parameter 1413323 1413345 + Identifier 1413323 1413336 + BooleanKeyword 1413337 1413345 + Parameter 1413346 1413392 + Identifier 1413346 1413365 + UnionType 1413366 1413392 + TypeReference 1413366 1413380 + Identifier 1413366 1413370 + TypeReference 1413371 1413379 + Identifier 1413371 1413379 + UndefinedKeyword 1413382 1413392 + Parameter 1413393 1413416 + Identifier 1413393 1413407 + BooleanKeyword 1413408 1413416 + Parameter 1413417 1413454 + Identifier 1413417 1413435 + TypeReference 1413436 1413454 + Identifier 1413436 1413454 + TypeReference 1413456 1413464 + Identifier 1413456 1413464 + Block 1413464 1423485 + IfStatement 1413466 1413614 + BinaryExpression 1413484 1413513 + Identifier 1413484 1413492 + EqualsEqualsEqualsToken 1413492 1413496 + Identifier 1413496 1413513 + Block 1413514 1413614 + ReturnStatement 1413516 1413599 + CallExpression 1413540 1413598 + Identifier 1413540 1413562 + Identifier 1413563 1413569 + Identifier 1413570 1413577 + Identifier 1413578 1413597 + VariableStatement 1413614 1413654 + VariableDeclarationList 1413614 1413653 + VariableDeclaration 1413631 1413653 + Identifier 1413631 1413638 + PropertyAccessExpression 1413640 1413653 + Identifier 1413640 1413648 + Identifier 1413649 1413653 + IfStatement 1413654 1420763 + CallExpression 1413672 1413691 + Identifier 1413672 1413683 + Identifier 1413684 1413690 + Block 1413692 1420763 + IfStatement 1413694 1420610 + CallExpression 1413716 1413742 + Identifier 1413716 1413734 + Identifier 1413735 1413741 + Block 1413743 1420610 + IfStatement 1413745 1413949 + BinaryExpression 1413771 1413876 + PrefixUnaryExpression 1413771 1413794 + PropertyAccessExpression 1413772 1413794 + PropertyAccessExpression 1413772 1413785 + Identifier 1413772 1413778 + Identifier 1413779 1413785 + Identifier 1413786 1413794 + AmpersandAmpersandToken 1413794 1413797 + ParenthesizedExpression 1413797 1413876 + BinaryExpression 1413799 1413875 + CallExpression 1413799 1413826 + Identifier 1413799 1413818 + Identifier 1413819 1413825 + BarBarToken 1413826 1413829 + BinaryExpression 1413829 1413875 + CallExpression 1413829 1413849 + Identifier 1413829 1413841 + Identifier 1413842 1413848 + AmpersandAmpersandToken 1413849 1413852 + PropertyAccessExpression 1413852 1413875 + PropertyAccessExpression 1413852 1413866 + Identifier 1413852 1413859 + Identifier 1413860 1413866 + Identifier 1413867 1413875 + Block 1413877 1413949 + ReturnStatement 1413879 1413926 + PropertyAccessExpression 1413911 1413925 + Identifier 1413911 1413919 + Identifier 1413920 1413925 + VariableStatement 1413949 1414021 + VariableDeclarationList 1413949 1414020 + VariableDeclaration 1413976 1414020 + Identifier 1413976 1413988 + CallExpression 1413990 1414020 + Identifier 1413990 1414012 + Identifier 1414013 1414019 + VariableStatement 1414021 1414093 + VariableDeclarationList 1414021 1414092 + VariableDeclaration 1414048 1414092 + Identifier 1414048 1414060 + CallExpression 1414062 1414092 + Identifier 1414062 1414084 + Identifier 1414085 1414091 + VariableStatement 1414093 1414228 + VariableDeclarationList 1414093 1414227 + VariableDeclaration 1414120 1414227 + Identifier 1414120 1414135 + ConditionalExpression 1414137 1414227 + CallExpression 1414137 1414157 + Identifier 1414137 1414149 + Identifier 1414150 1414156 + QuestionToken 1414157 1414159 + BinaryExpression 1414159 1414207 + PropertyAccessExpression 1414159 1414187 + PropertyAccessExpression 1414159 1414173 + Identifier 1414159 1414166 + Identifier 1414167 1414173 + Identifier 1414174 1414187 + AmpersandToken 1414187 1414189 + PropertyAccessExpression 1414189 1414207 + Identifier 1414189 1414202 + Identifier 1414203 1414207 + ColonToken 1414207 1414209 + PropertyAccessExpression 1414209 1414227 + Identifier 1414209 1414222 + Identifier 1414223 1414227 + VariableStatement 1414228 1414335 + VariableDeclarationList 1414228 1414334 + VariableDeclaration 1414255 1414334 + Identifier 1414255 1414276 + PrefixUnaryExpression 1414278 1414334 + PrefixUnaryExpression 1414280 1414334 + ParenthesizedExpression 1414281 1414334 + BinaryExpression 1414282 1414333 + PropertyAccessExpression 1414282 1414309 + PropertyAccessExpression 1414282 1414295 + Identifier 1414282 1414288 + Identifier 1414289 1414295 + Identifier 1414296 1414309 + AmpersandToken 1414309 1414311 + PropertyAccessExpression 1414311 1414333 + Identifier 1414311 1414324 + Identifier 1414325 1414333 + VariableStatement 1414335 1414431 + VariableDeclarationList 1414335 1414430 + VariableDeclaration 1414362 1414430 + Identifier 1414362 1414378 + ConditionalExpression 1414380 1414430 + CallExpression 1414380 1414400 + Identifier 1414380 1414392 + Identifier 1414393 1414399 + QuestionToken 1414400 1414402 + PropertyAccessExpression 1414402 1414426 + PropertyAccessExpression 1414402 1414416 + Identifier 1414402 1414409 + Identifier 1414410 1414416 + Identifier 1414417 1414426 + ColonToken 1414426 1414428 + NumericLiteral 1414428 1414430 + VariableStatement 1414431 1414501 + VariableDeclarationList 1414431 1414500 + VariableDeclaration 1414458 1414500 + Identifier 1414458 1414474 + PropertyAccessExpression 1414476 1414500 + PropertyAccessExpression 1414476 1414490 + Identifier 1414476 1414483 + Identifier 1414484 1414490 + Identifier 1414491 1414500 + IfStatement 1414501 1414850 + BinaryExpression 1414527 1414575 + PrefixUnaryExpression 1414527 1414542 + Identifier 1414528 1414542 + AmpersandAmpersandToken 1414542 1414545 + BinaryExpression 1414545 1414575 + Identifier 1414545 1414557 + LessThanToken 1414557 1414559 + Identifier 1414559 1414575 + Block 1414576 1414850 + IfStatement 1414578 1414780 + Identifier 1414608 1414620 + Block 1414621 1414780 + ExpressionStatement 1414623 1414753 + CallExpression 1414623 1414752 + Identifier 1414623 1414664 + PropertyAccessExpression 1414665 1414721 + Identifier 1414665 1414676 + Identifier 1414677 1414721 + Identifier 1414722 1414734 + Identifier 1414735 1414751 + ReturnStatement 1414780 1414827 + PropertyAccessExpression 1414812 1414826 + Identifier 1414812 1414820 + Identifier 1414821 1414826 + IfStatement 1414850 1415208 + BinaryExpression 1414876 1414930 + PrefixUnaryExpression 1414876 1414897 + Identifier 1414877 1414897 + AmpersandAmpersandToken 1414897 1414900 + BinaryExpression 1414900 1414930 + Identifier 1414900 1414912 + LessThanToken 1414912 1414914 + Identifier 1414914 1414930 + Block 1414931 1415208 + IfStatement 1414933 1415138 + Identifier 1414963 1414975 + Block 1414976 1415138 + ExpressionStatement 1414978 1415111 + CallExpression 1414978 1415110 + Identifier 1414978 1415019 + PropertyAccessExpression 1415020 1415079 + Identifier 1415020 1415031 + Identifier 1415032 1415079 + Identifier 1415080 1415096 + Identifier 1415097 1415109 + ReturnStatement 1415138 1415185 + PropertyAccessExpression 1415170 1415184 + Identifier 1415170 1415178 + Identifier 1415179 1415184 + IfStatement 1415208 1415875 + BinaryExpression 1415234 1415304 + PrefixUnaryExpression 1415234 1415255 + Identifier 1415235 1415255 + AmpersandAmpersandToken 1415255 1415258 + ParenthesizedExpression 1415258 1415304 + BinaryExpression 1415260 1415303 + Identifier 1415260 1415274 + BarBarToken 1415274 1415277 + BinaryExpression 1415277 1415303 + Identifier 1415277 1415289 + LessThanToken 1415289 1415291 + Identifier 1415291 1415303 + Block 1415305 1415875 + IfStatement 1415307 1415805 + Identifier 1415337 1415349 + Block 1415350 1415805 + IfStatement 1415352 1415778 + BinaryExpression 1415386 1415419 + Identifier 1415386 1415401 + LessThanToken 1415401 1415403 + Identifier 1415403 1415419 + Block 1415420 1415583 + ExpressionStatement 1415422 1415552 + CallExpression 1415422 1415551 + Identifier 1415422 1415467 + PropertyAccessExpression 1415468 1415533 + Identifier 1415468 1415479 + Identifier 1415480 1415533 + Identifier 1415534 1415550 + Block 1415617 1415778 + ExpressionStatement 1415619 1415747 + CallExpression 1415619 1415746 + Identifier 1415619 1415664 + PropertyAccessExpression 1415665 1415732 + Identifier 1415665 1415676 + Identifier 1415677 1415732 + Identifier 1415733 1415745 + ReturnStatement 1415805 1415852 + PropertyAccessExpression 1415837 1415851 + Identifier 1415837 1415845 + Identifier 1415846 1415851 + VariableStatement 1415875 1415950 + VariableDeclarationList 1415875 1415949 + VariableDeclaration 1415902 1415949 + Identifier 1415902 1415922 + CallExpression 1415924 1415949 + Identifier 1415924 1415941 + Identifier 1415942 1415948 + VariableStatement 1415950 1416025 + VariableDeclarationList 1415950 1416024 + VariableDeclaration 1415977 1416024 + Identifier 1415977 1415997 + CallExpression 1415999 1416024 + Identifier 1415999 1416016 + Identifier 1416017 1416023 + VariableStatement 1416025 1416130 + VariableDeclarationList 1416025 1416129 + VariableDeclaration 1416052 1416129 + Identifier 1416052 1416069 + CallExpression 1416071 1416129 + Identifier 1416071 1416092 + PropertyAccessExpression 1416093 1416106 + Identifier 1416093 1416099 + Identifier 1416100 1416106 + PropertyAccessExpression 1416107 1416128 + Identifier 1416107 1416120 + Identifier 1416121 1416128 + VariableStatement 1416130 1416231 + VariableDeclarationList 1416130 1416230 + VariableDeclaration 1416157 1416230 + Identifier 1416157 1416172 + CallExpression 1416174 1416230 + Identifier 1416174 1416193 + PropertyAccessExpression 1416194 1416207 + Identifier 1416194 1416200 + Identifier 1416201 1416207 + PropertyAccessExpression 1416208 1416229 + Identifier 1416208 1416221 + Identifier 1416222 1416229 + VariableStatement 1416231 1416304 + VariableDeclarationList 1416231 1416303 + VariableDeclaration 1416256 1416303 + Identifier 1416256 1416280 + PrefixUnaryExpression 1416282 1416303 + PrefixUnaryExpression 1416284 1416303 + Identifier 1416285 1416303 + ForStatement 1416304 1420555 + VariableDeclarationList 1416331 1416353 + VariableDeclaration 1416334 1416353 + Identifier 1416334 1416349 + NumericLiteral 1416351 1416353 + BinaryExpression 1416354 1416383 + Identifier 1416354 1416369 + LessThanToken 1416369 1416371 + Identifier 1416371 1416383 + PostfixUnaryExpression 1416384 1416401 + Identifier 1416384 1416399 + Block 1416402 1420555 + VariableStatement 1416404 1416535 + VariableDeclarationList 1416404 1416534 + VariableDeclaration 1416435 1416534 + Identifier 1416435 1416447 + ConditionalExpression 1416449 1416534 + CallExpression 1416449 1416469 + Identifier 1416449 1416461 + Identifier 1416462 1416468 + QuestionToken 1416469 1416471 + ElementAccessExpression 1416471 1416514 + PropertyAccessExpression 1416471 1416498 + PropertyAccessExpression 1416471 1416485 + Identifier 1416471 1416478 + Identifier 1416479 1416485 + Identifier 1416486 1416498 + Identifier 1416499 1416513 + ColonToken 1416514 1416516 + PropertyAccessExpression 1416516 1416534 + Identifier 1416516 1416529 + Identifier 1416530 1416534 + VariableStatement 1416535 1416624 + VariableDeclarationList 1416535 1416623 + VariableDeclaration 1416566 1416623 + Identifier 1416566 1416588 + BinaryExpression 1416590 1416623 + BinaryExpression 1416590 1416606 + Identifier 1416590 1416602 + MinusToken 1416602 1416604 + NumericLiteral 1416604 1416606 + MinusToken 1416606 1416608 + Identifier 1416608 1416623 + VariableStatement 1416624 1416877 + VariableDeclarationList 1416624 1416876 + VariableDeclaration 1416657 1416876 + Identifier 1416657 1416672 + ConditionalExpression 1416674 1416876 + BinaryExpression 1416674 1416733 + Identifier 1416674 1416695 + AmpersandAmpersandToken 1416695 1416698 + BinaryExpression 1416698 1416733 + Identifier 1416698 1416713 + GreaterThanEqualsToken 1416713 1416716 + Identifier 1416716 1416733 + QuestionToken 1416733 1416764 + BinaryExpression 1416764 1416830 + BinaryExpression 1416764 1416780 + Identifier 1416764 1416776 + MinusToken 1416776 1416778 + NumericLiteral 1416778 1416780 + MinusToken 1416780 1416782 + CallExpression 1416782 1416830 + PropertyAccessExpression 1416782 1416791 + Identifier 1416782 1416787 + Identifier 1416788 1416791 + Identifier 1416792 1416813 + Identifier 1416814 1416829 + ColonToken 1416830 1416861 + Identifier 1416861 1416876 + VariableStatement 1416877 1416968 + VariableDeclarationList 1416877 1416967 + VariableDeclaration 1416910 1416967 + Identifier 1416910 1416922 + ElementAccessExpression 1416924 1416967 + PropertyAccessExpression 1416924 1416951 + PropertyAccessExpression 1416924 1416938 + Identifier 1416924 1416931 + Identifier 1416932 1416938 + Identifier 1416939 1416951 + Identifier 1416952 1416966 + IfStatement 1416968 1417383 + BinaryExpression 1417000 1417077 + BinaryExpression 1417000 1417035 + Identifier 1417000 1417011 + AmpersandToken 1417011 1417013 + PropertyAccessExpression 1417013 1417035 + Identifier 1417013 1417026 + Identifier 1417027 1417035 + AmpersandAmpersandToken 1417035 1417038 + PrefixUnaryExpression 1417038 1417077 + ParenthesizedExpression 1417040 1417077 + BinaryExpression 1417041 1417076 + Identifier 1417041 1417052 + AmpersandToken 1417052 1417054 + PropertyAccessExpression 1417054 1417076 + Identifier 1417054 1417067 + Identifier 1417068 1417076 + Block 1417078 1417383 + IfStatement 1417080 1417305 + Identifier 1417114 1417126 + Block 1417127 1417305 + ExpressionStatement 1417129 1417274 + CallExpression 1417129 1417273 + Identifier 1417129 1417174 + PropertyAccessExpression 1417175 1417256 + Identifier 1417175 1417186 + Identifier 1417187 1417256 + Identifier 1417257 1417272 + ReturnStatement 1417305 1417356 + PropertyAccessExpression 1417341 1417355 + Identifier 1417341 1417349 + Identifier 1417350 1417355 + IfStatement 1417383 1417830 + BinaryExpression 1417413 1417490 + BinaryExpression 1417413 1417448 + Identifier 1417413 1417424 + AmpersandToken 1417424 1417426 + PropertyAccessExpression 1417426 1417448 + Identifier 1417426 1417439 + Identifier 1417440 1417448 + AmpersandAmpersandToken 1417448 1417451 + PrefixUnaryExpression 1417451 1417490 + ParenthesizedExpression 1417453 1417490 + BinaryExpression 1417454 1417489 + Identifier 1417454 1417465 + AmpersandToken 1417465 1417467 + PropertyAccessExpression 1417467 1417489 + Identifier 1417467 1417480 + Identifier 1417481 1417489 + Block 1417491 1417830 + IfStatement 1417493 1417752 + Identifier 1417527 1417539 + Block 1417540 1417752 + ExpressionStatement 1417542 1417721 + CallExpression 1417542 1417720 + Identifier 1417542 1417587 + PropertyAccessExpression 1417588 1417687 + Identifier 1417588 1417599 + Identifier 1417600 1417687 + Identifier 1417688 1417703 + Identifier 1417704 1417719 + ReturnStatement 1417752 1417803 + PropertyAccessExpression 1417788 1417802 + Identifier 1417788 1417796 + Identifier 1417797 1417802 + IfStatement 1417830 1418243 + BinaryExpression 1417860 1417937 + BinaryExpression 1417860 1417895 + Identifier 1417860 1417871 + AmpersandToken 1417871 1417873 + PropertyAccessExpression 1417873 1417895 + Identifier 1417873 1417886 + Identifier 1417887 1417895 + AmpersandAmpersandToken 1417895 1417898 + PrefixUnaryExpression 1417898 1417937 + ParenthesizedExpression 1417900 1417937 + BinaryExpression 1417901 1417936 + Identifier 1417901 1417912 + AmpersandToken 1417912 1417914 + PropertyAccessExpression 1417914 1417936 + Identifier 1417914 1417927 + Identifier 1417928 1417936 + Block 1417938 1418243 + IfStatement 1417940 1418165 + Identifier 1417974 1417986 + Block 1417987 1418165 + ExpressionStatement 1417989 1418134 + CallExpression 1417989 1418133 + Identifier 1417989 1418034 + PropertyAccessExpression 1418035 1418116 + Identifier 1418035 1418046 + Identifier 1418047 1418116 + Identifier 1418117 1418132 + ReturnStatement 1418165 1418216 + PropertyAccessExpression 1418201 1418215 + Identifier 1418201 1418209 + Identifier 1418210 1418215 + IfStatement 1418243 1418860 + Identifier 1418403 1418426 + Block 1418427 1418860 + IfStatement 1418429 1418637 + BinaryExpression 1418463 1418537 + BinaryExpression 1418463 1418498 + Identifier 1418463 1418474 + AmpersandToken 1418474 1418476 + PropertyAccessExpression 1418476 1418498 + Identifier 1418476 1418489 + Identifier 1418490 1418498 + BarBarToken 1418498 1418501 + BinaryExpression 1418501 1418537 + Identifier 1418501 1418513 + AmpersandToken 1418513 1418515 + PropertyAccessExpression 1418515 1418537 + Identifier 1418515 1418528 + Identifier 1418529 1418537 + Block 1418538 1418637 + ExpressionStatement 1418540 1418606 + BinaryExpression 1418540 1418605 + Identifier 1418540 1418597 + EqualsToken 1418597 1418599 + FalseKeyword 1418599 1418605 + IfStatement 1418637 1418833 + BinaryExpression 1418671 1418756 + Identifier 1418671 1418694 + AmpersandAmpersandToken 1418694 1418697 + CallExpression 1418697 1418756 + PropertyAccessExpression 1418697 1418721 + Identifier 1418697 1418716 + QuestionDotToken 1418716 1418718 + Identifier 1418718 1418721 + AsExpression 1418722 1418755 + ParenthesizedExpression 1418722 1418743 + BinaryExpression 1418723 1418742 + StringLiteral 1418723 1418725 + PlusToken 1418725 1418727 + Identifier 1418727 1418742 + TypeReference 1418746 1418755 + Identifier 1418746 1418755 + Block 1418757 1418833 + ContinueStatement 1418759 1418802 + VariableStatement 1418860 1419017 + VariableDeclarationList 1418860 1419016 + VariableDeclaration 1418893 1419016 + Identifier 1418893 1418904 + CallExpression 1418906 1419016 + Identifier 1418906 1418924 + ElementAccessExpression 1418925 1418960 + Identifier 1418925 1418944 + Identifier 1418945 1418959 + PrefixUnaryExpression 1418961 1419015 + PrefixUnaryExpression 1418963 1419015 + ParenthesizedExpression 1418964 1419015 + BinaryExpression 1418965 1419014 + BinaryExpression 1418965 1418990 + Identifier 1418965 1418976 + AmpersandToken 1418976 1418978 + Identifier 1418978 1418990 + AmpersandToken 1418990 1418992 + PropertyAccessExpression 1418992 1419014 + Identifier 1418992 1419005 + Identifier 1419006 1419014 + VariableStatement 1419017 1419098 + VariableDeclarationList 1419017 1419097 + VariableDeclaration 1419048 1419097 + Identifier 1419048 1419059 + ElementAccessExpression 1419061 1419097 + Identifier 1419061 1419081 + Identifier 1419082 1419096 + VariableStatement 1419098 1419353 + VariableDeclarationList 1419098 1419352 + VariableDeclaration 1419131 1419352 + Identifier 1419131 1419147 + ConditionalExpression 1419149 1419352 + BinaryExpression 1419149 1419220 + BinaryExpression 1419149 1419185 + Identifier 1419149 1419161 + AmpersandToken 1419161 1419163 + PropertyAccessExpression 1419163 1419185 + Identifier 1419163 1419176 + Identifier 1419177 1419185 + AmpersandAmpersandToken 1419185 1419188 + BinaryExpression 1419188 1419220 + Identifier 1419188 1419200 + AmpersandToken 1419200 1419202 + PropertyAccessExpression 1419202 1419220 + Identifier 1419202 1419215 + Identifier 1419216 1419220 + QuestionToken 1419220 1419222 + CallExpression 1419222 1419250 + Identifier 1419222 1419238 + Identifier 1419239 1419249 + ColonToken 1419250 1419252 + CallExpression 1419252 1419352 + Identifier 1419252 1419299 + Identifier 1419300 1419310 + PrefixUnaryExpression 1419311 1419351 + PrefixUnaryExpression 1419313 1419351 + ParenthesizedExpression 1419314 1419351 + BinaryExpression 1419315 1419350 + Identifier 1419315 1419326 + AmpersandToken 1419326 1419328 + PropertyAccessExpression 1419328 1419350 + Identifier 1419328 1419341 + Identifier 1419342 1419350 + VariableStatement 1419353 1419517 + VariableDeclarationList 1419353 1419516 + VariableDeclaration 1419384 1419516 + Identifier 1419384 1419392 + CallExpression 1419394 1419516 + Identifier 1419394 1419406 + Identifier 1419407 1419417 + Identifier 1419418 1419434 + PropertyAccessExpression 1419435 1419455 + Identifier 1419435 1419450 + Identifier 1419451 1419455 + Identifier 1419456 1419469 + Identifier 1419470 1419496 + Identifier 1419497 1419515 + IfStatement 1419517 1420488 + PrefixUnaryExpression 1419547 1419555 + Identifier 1419548 1419555 + Block 1419556 1420488 + IfStatement 1419558 1420410 + BinaryExpression 1419592 1419644 + Identifier 1419592 1419604 + AmpersandAmpersandToken 1419604 1419607 + ParenthesizedExpression 1419607 1419644 + BinaryExpression 1419609 1419643 + BinaryExpression 1419609 1419624 + Identifier 1419609 1419620 + GreaterThanToken 1419620 1419622 + NumericLiteral 1419622 1419624 + BarBarToken 1419624 1419627 + BinaryExpression 1419627 1419643 + Identifier 1419627 1419639 + GreaterThanToken 1419639 1419641 + NumericLiteral 1419641 1419643 + Block 1419645 1420410 + IfStatement 1419647 1420379 + BinaryExpression 1419685 1419843 + BinaryExpression 1419685 1419786 + BinaryExpression 1419685 1419743 + Identifier 1419685 1419705 + AmpersandAmpersandToken 1419705 1419708 + BinaryExpression 1419708 1419743 + Identifier 1419708 1419723 + GreaterThanEqualsToken 1419723 1419726 + Identifier 1419726 1419743 + AmpersandAmpersandToken 1419743 1419746 + BinaryExpression 1419746 1419786 + Identifier 1419746 1419768 + GreaterThanEqualsToken 1419768 1419771 + Identifier 1419771 1419786 + AmpersandAmpersandToken 1419786 1419789 + BinaryExpression 1419789 1419843 + Identifier 1419789 1419806 + ExclamationEqualsEqualsToken 1419806 1419810 + BinaryExpression 1419810 1419843 + BinaryExpression 1419810 1419839 + Identifier 1419810 1419822 + MinusToken 1419822 1419824 + Identifier 1419824 1419839 + MinusToken 1419839 1419841 + NumericLiteral 1419841 1419843 + Block 1419844 1420116 + ExpressionStatement 1419846 1420081 + CallExpression 1419846 1420080 + Identifier 1419846 1419907 + PropertyAccessExpression 1419908 1420011 + Identifier 1419908 1419919 + Identifier 1419920 1420011 + Identifier 1420012 1420029 + BinaryExpression 1420030 1420063 + BinaryExpression 1420030 1420059 + Identifier 1420030 1420042 + MinusToken 1420042 1420044 + Identifier 1420044 1420059 + MinusToken 1420059 1420061 + NumericLiteral 1420061 1420063 + Identifier 1420064 1420079 + Block 1420154 1420379 + ExpressionStatement 1420156 1420344 + CallExpression 1420156 1420343 + Identifier 1420156 1420217 + PropertyAccessExpression 1420218 1420310 + Identifier 1420218 1420229 + Identifier 1420230 1420310 + Identifier 1420311 1420326 + Identifier 1420327 1420342 + ReturnStatement 1420410 1420461 + PropertyAccessExpression 1420446 1420460 + Identifier 1420446 1420454 + Identifier 1420455 1420460 + ExpressionStatement 1420488 1420532 + BinaryExpression 1420488 1420531 + Identifier 1420488 1420520 + AmpersandEqualsToken 1420520 1420523 + Identifier 1420523 1420531 + ReturnStatement 1420555 1420591 + Identifier 1420583 1420590 + IfStatement 1420610 1420748 + BinaryExpression 1420632 1420683 + PropertyAccessExpression 1420632 1420659 + PropertyAccessExpression 1420632 1420645 + Identifier 1420632 1420638 + Identifier 1420639 1420645 + Identifier 1420646 1420659 + AmpersandToken 1420659 1420661 + PropertyAccessExpression 1420661 1420683 + Identifier 1420661 1420674 + Identifier 1420675 1420683 + Block 1420684 1420748 + ReturnStatement 1420686 1420729 + PropertyAccessExpression 1420714 1420728 + Identifier 1420714 1420722 + Identifier 1420723 1420728 + VariableStatement 1420763 1420972 + VariableDeclarationList 1420763 1420971 + VariableDeclaration 1420782 1420971 + Identifier 1420782 1420808 + BinaryExpression 1420810 1420971 + BinaryExpression 1420810 1420947 + BinaryExpression 1420810 1420911 + ParenthesizedExpression 1420810 1420879 + BinaryExpression 1420812 1420878 + BinaryExpression 1420812 1420840 + Identifier 1420812 1420820 + EqualsEqualsEqualsToken 1420820 1420824 + Identifier 1420824 1420840 + BarBarToken 1420840 1420843 + BinaryExpression 1420843 1420878 + Identifier 1420843 1420852 + EqualsEqualsEqualsToken 1420852 1420856 + Identifier 1420856 1420878 + AmpersandAmpersandToken 1420879 1420882 + PrefixUnaryExpression 1420882 1420911 + CallExpression 1420884 1420911 + Identifier 1420884 1420903 + Identifier 1420904 1420910 + AmpersandAmpersandToken 1420911 1420914 + PrefixUnaryExpression 1420914 1420947 + CallExpression 1420916 1420947 + Identifier 1420916 1420939 + Identifier 1420940 1420946 + AmpersandAmpersandToken 1420947 1420950 + PrefixUnaryExpression 1420950 1420971 + CallExpression 1420952 1420971 + Identifier 1420952 1420963 + Identifier 1420964 1420970 + VariableStatement 1420972 1421115 + VariableDeclarationList 1420972 1421114 + VariableDeclaration 1420991 1421114 + Identifier 1420991 1421009 + CallExpression 1421011 1421114 + Identifier 1421011 1421032 + Identifier 1421033 1421039 + Identifier 1421040 1421047 + Identifier 1421048 1421074 + FalseKeyword 1421075 1421113 + IfStatement 1421115 1421425 + Identifier 1421133 1421150 + Block 1421151 1421425 + IfStatement 1421153 1421371 + BinaryExpression 1421175 1421241 + Identifier 1421175 1421187 + AmpersandAmpersandToken 1421187 1421190 + CallExpression 1421190 1421241 + Identifier 1421190 1421225 + Identifier 1421226 1421232 + Identifier 1421233 1421240 + Block 1421242 1421371 + ExpressionStatement 1421244 1421352 + CallExpression 1421244 1421351 + Identifier 1421244 1421289 + Identifier 1421290 1421296 + Identifier 1421297 1421304 + Identifier 1421305 1421323 + Identifier 1421324 1421350 + ReturnStatement 1421371 1421410 + PropertyAccessExpression 1421395 1421409 + Identifier 1421395 1421403 + Identifier 1421404 1421409 + IfStatement 1421425 1422177 + CallExpression 1421443 1421470 + Identifier 1421443 1421462 + Identifier 1421463 1421469 + Block 1421471 1422177 + ForOfStatement 1421473 1422162 + VariableDeclarationList 1421496 1421512 + VariableDeclaration 1421501 1421512 + Identifier 1421501 1421512 + CallExpression 1421515 1421582 + Identifier 1421515 1421533 + CallExpression 1421534 1421561 + Identifier 1421534 1421553 + Identifier 1421554 1421560 + Identifier 1421562 1421581 + Block 1421583 1422162 + IfStatement 1421585 1422143 + PrefixUnaryExpression 1421611 1421667 + CallExpression 1421612 1421667 + Identifier 1421612 1421635 + Identifier 1421636 1421642 + PropertyAccessExpression 1421643 1421666 + Identifier 1421643 1421654 + Identifier 1421655 1421666 + Block 1421668 1422143 + VariableStatement 1421670 1421743 + VariableDeclarationList 1421670 1421742 + VariableDeclaration 1421701 1421742 + Identifier 1421701 1421712 + CallExpression 1421714 1421742 + Identifier 1421714 1421730 + Identifier 1421731 1421741 + IfStatement 1421743 1422120 + PrefixUnaryExpression 1421773 1421814 + ParenthesizedExpression 1421774 1421814 + BinaryExpression 1421775 1421813 + PropertyAccessExpression 1421775 1421791 + Identifier 1421775 1421785 + Identifier 1421786 1421791 + AmpersandToken 1421791 1421793 + PropertyAccessExpression 1421793 1421813 + Identifier 1421793 1421803 + Identifier 1421804 1421813 + Block 1421815 1422120 + IfStatement 1421817 1422042 + Identifier 1421851 1421863 + Block 1421864 1422042 + ExpressionStatement 1421866 1422011 + CallExpression 1421866 1422010 + Identifier 1421866 1421911 + PropertyAccessExpression 1421912 1421959 + Identifier 1421912 1421923 + Identifier 1421924 1421959 + CallExpression 1421960 1421987 + Identifier 1421960 1421975 + Identifier 1421976 1421986 + CallExpression 1421988 1422009 + Identifier 1421988 1422001 + Identifier 1422002 1422008 + ReturnStatement 1422042 1422093 + PropertyAccessExpression 1422078 1422092 + Identifier 1422078 1422086 + Identifier 1422087 1422092 + VariableStatement 1422177 1422460 + VariableDeclarationList 1422177 1422459 + VariableDeclaration 1422418 1422459 + Identifier 1422418 1422429 + CallExpression 1422431 1422459 + Identifier 1422431 1422451 + Identifier 1422452 1422458 + VariableStatement 1422460 1422542 + VariableDeclarationList 1422460 1422541 + VariableDeclaration 1422479 1422541 + Identifier 1422479 1422496 + BinaryExpression 1422498 1422541 + CallExpression 1422498 1422518 + Identifier 1422498 1422510 + Identifier 1422511 1422517 + AmpersandAmpersandToken 1422518 1422521 + CallExpression 1422521 1422541 + Identifier 1422521 1422533 + Identifier 1422534 1422540 + ForOfStatement 1422542 1423446 + VariableDeclarationList 1422561 1422577 + VariableDeclaration 1422566 1422577 + Identifier 1422566 1422577 + CallExpression 1422580 1422630 + Identifier 1422580 1422598 + Identifier 1422599 1422609 + Identifier 1422610 1422629 + Block 1422631 1423446 + VariableStatement 1422633 1422687 + VariableDeclarationList 1422633 1422686 + VariableDeclaration 1422656 1422686 + Identifier 1422656 1422661 + PropertyAccessExpression 1422663 1422686 + Identifier 1422663 1422674 + Identifier 1422675 1422686 + IfStatement 1422687 1423431 + BinaryExpression 1422709 1422889 + BinaryExpression 1422709 1422826 + PrefixUnaryExpression 1422709 1422752 + ParenthesizedExpression 1422710 1422752 + BinaryExpression 1422711 1422751 + PropertyAccessExpression 1422711 1422727 + Identifier 1422711 1422721 + Identifier 1422722 1422727 + AmpersandToken 1422727 1422729 + PropertyAccessExpression 1422729 1422751 + Identifier 1422729 1422741 + Identifier 1422742 1422751 + AmpersandAmpersandToken 1422752 1422755 + ParenthesizedExpression 1422755 1422826 + BinaryExpression 1422757 1422825 + BinaryExpression 1422757 1422804 + PrefixUnaryExpression 1422757 1422774 + Identifier 1422758 1422774 + BarBarToken 1422774 1422777 + CallExpression 1422777 1422804 + Identifier 1422777 1422798 + Identifier 1422799 1422803 + BarBarToken 1422804 1422807 + BinaryExpression 1422807 1422825 + Identifier 1422807 1422812 + EqualsEqualsEqualsToken 1422812 1422816 + StringLiteral 1422816 1422825 + AmpersandAmpersandToken 1422826 1422829 + ParenthesizedExpression 1422829 1422889 + BinaryExpression 1422831 1422888 + PrefixUnaryExpression 1422831 1422845 + Identifier 1422832 1422845 + BarBarToken 1422845 1422848 + BinaryExpression 1422848 1422888 + PropertyAccessExpression 1422848 1422865 + Identifier 1422848 1422859 + Identifier 1422860 1422865 + AmpersandToken 1422865 1422867 + PropertyAccessExpression 1422867 1422888 + Identifier 1422867 1422879 + Identifier 1422880 1422888 + Block 1422890 1423431 + VariableStatement 1422892 1422965 + VariableDeclarationList 1422892 1422964 + VariableDeclaration 1422919 1422964 + Identifier 1422919 1422930 + CallExpression 1422932 1422964 + Identifier 1422932 1422950 + Identifier 1422951 1422957 + Identifier 1422958 1422963 + IfStatement 1422965 1423412 + BinaryExpression 1422991 1423030 + Identifier 1422991 1423001 + AmpersandAmpersandToken 1423001 1423004 + BinaryExpression 1423004 1423030 + Identifier 1423004 1423015 + ExclamationEqualsEqualsToken 1423015 1423019 + Identifier 1423019 1423030 + Block 1423031 1423412 + VariableStatement 1423033 1423226 + VariableDeclarationList 1423033 1423225 + VariableDeclaration 1423064 1423225 + Identifier 1423064 1423072 + CallExpression 1423074 1423225 + Identifier 1423074 1423092 + Identifier 1423093 1423099 + Identifier 1423100 1423107 + Identifier 1423108 1423119 + Identifier 1423120 1423131 + Identifier 1423132 1423158 + Identifier 1423159 1423172 + Identifier 1423173 1423191 + BinaryExpression 1423192 1423224 + Identifier 1423192 1423201 + EqualsEqualsEqualsToken 1423201 1423205 + Identifier 1423205 1423224 + IfStatement 1423226 1423345 + PrefixUnaryExpression 1423256 1423264 + Identifier 1423257 1423264 + Block 1423265 1423345 + ReturnStatement 1423267 1423318 + PropertyAccessExpression 1423303 1423317 + Identifier 1423303 1423311 + Identifier 1423312 1423317 + ExpressionStatement 1423345 1423389 + BinaryExpression 1423345 1423388 + Identifier 1423345 1423377 + AmpersandEqualsToken 1423377 1423380 + Identifier 1423380 1423388 + ReturnStatement 1423446 1423474 + Identifier 1423466 1423473 + FunctionDeclaration 1423485 1424670 + Identifier 1423505 1423527 + Parameter 1423528 1423540 + Identifier 1423528 1423534 + TypeReference 1423535 1423540 + Identifier 1423535 1423540 + Parameter 1423541 1423554 + Identifier 1423541 1423548 + TypeReference 1423549 1423554 + Identifier 1423549 1423554 + Parameter 1423555 1423601 + Identifier 1423555 1423574 + UnionType 1423575 1423601 + TypeReference 1423575 1423589 + Identifier 1423575 1423579 + TypeReference 1423580 1423588 + Identifier 1423580 1423588 + UndefinedKeyword 1423591 1423601 + TypeReference 1423603 1423611 + Identifier 1423603 1423611 + Block 1423611 1424670 + IfStatement 1423613 1423757 + PrefixUnaryExpression 1423631 1423700 + ParenthesizedExpression 1423632 1423700 + BinaryExpression 1423633 1423699 + BinaryExpression 1423633 1423664 + PropertyAccessExpression 1423633 1423645 + Identifier 1423633 1423639 + Identifier 1423640 1423645 + AmpersandToken 1423645 1423647 + PropertyAccessExpression 1423647 1423664 + Identifier 1423647 1423657 + Identifier 1423658 1423664 + AmpersandAmpersandToken 1423664 1423667 + BinaryExpression 1423667 1423699 + PropertyAccessExpression 1423667 1423680 + Identifier 1423667 1423674 + Identifier 1423675 1423680 + AmpersandToken 1423680 1423682 + PropertyAccessExpression 1423682 1423699 + Identifier 1423682 1423692 + Identifier 1423693 1423699 + Block 1423701 1423757 + ReturnStatement 1423703 1423742 + PropertyAccessExpression 1423727 1423741 + Identifier 1423727 1423735 + Identifier 1423736 1423741 + VariableStatement 1423757 1423869 + VariableDeclarationList 1423757 1423868 + VariableDeclaration 1423776 1423868 + Identifier 1423776 1423793 + CallExpression 1423795 1423868 + Identifier 1423795 1423813 + CallExpression 1423814 1423847 + Identifier 1423814 1423839 + Identifier 1423840 1423846 + Identifier 1423848 1423867 + VariableStatement 1423869 1423981 + VariableDeclarationList 1423869 1423980 + VariableDeclaration 1423888 1423980 + Identifier 1423888 1423905 + CallExpression 1423907 1423980 + Identifier 1423907 1423925 + CallExpression 1423926 1423959 + Identifier 1423926 1423951 + Identifier 1423952 1423958 + Identifier 1423960 1423979 + IfStatement 1423981 1424107 + BinaryExpression 1423999 1424050 + PropertyAccessExpression 1423999 1424022 + Identifier 1423999 1424015 + Identifier 1424016 1424022 + ExclamationEqualsEqualsToken 1424022 1424026 + PropertyAccessExpression 1424026 1424050 + Identifier 1424026 1424043 + Identifier 1424044 1424050 + Block 1424051 1424107 + ReturnStatement 1424053 1424092 + PropertyAccessExpression 1424077 1424091 + Identifier 1424077 1424085 + Identifier 1424086 1424091 + VariableStatement 1424107 1424147 + VariableDeclarationList 1424107 1424146 + VariableDeclaration 1424124 1424146 + Identifier 1424124 1424131 + PropertyAccessExpression 1424133 1424146 + Identifier 1424133 1424141 + Identifier 1424142 1424146 + ForOfStatement 1424147 1424631 + VariableDeclarationList 1424166 1424182 + VariableDeclaration 1424171 1424182 + Identifier 1424171 1424182 + Identifier 1424185 1424202 + Block 1424203 1424631 + VariableStatement 1424205 1424298 + VariableDeclarationList 1424205 1424297 + VariableDeclaration 1424228 1424297 + Identifier 1424228 1424239 + CallExpression 1424241 1424297 + Identifier 1424241 1424265 + Identifier 1424266 1424272 + PropertyAccessExpression 1424273 1424296 + Identifier 1424273 1424284 + Identifier 1424285 1424296 + IfStatement 1424298 1424396 + PrefixUnaryExpression 1424320 1424331 + Identifier 1424321 1424331 + Block 1424332 1424396 + ReturnStatement 1424334 1424377 + PropertyAccessExpression 1424362 1424376 + Identifier 1424362 1424370 + Identifier 1424371 1424376 + VariableStatement 1424396 1424485 + VariableDeclarationList 1424396 1424484 + VariableDeclaration 1424419 1424484 + Identifier 1424419 1424427 + CallExpression 1424429 1424484 + Identifier 1424429 1424447 + Identifier 1424448 1424458 + Identifier 1424459 1424470 + Identifier 1424471 1424483 + IfStatement 1424485 1424580 + PrefixUnaryExpression 1424507 1424515 + Identifier 1424508 1424515 + Block 1424516 1424580 + ReturnStatement 1424518 1424561 + PropertyAccessExpression 1424546 1424560 + Identifier 1424546 1424554 + Identifier 1424555 1424560 + ExpressionStatement 1424580 1424616 + BinaryExpression 1424580 1424615 + Identifier 1424580 1424604 + AmpersandEqualsToken 1424604 1424607 + Identifier 1424607 1424615 + ReturnStatement 1424631 1424659 + Identifier 1424651 1424658 + FunctionDeclaration 1424670 1431641 + Identifier 1424690 1424710 + Parameter 1424711 1424723 + Identifier 1424711 1424717 + TypeReference 1424718 1424723 + Identifier 1424718 1424723 + Parameter 1424724 1424737 + Identifier 1424724 1424731 + TypeReference 1424732 1424737 + Identifier 1424732 1424737 + Parameter 1424738 1424758 + Identifier 1424738 1424743 + TypeReference 1424744 1424758 + Identifier 1424744 1424758 + Parameter 1424759 1424781 + Identifier 1424759 1424772 + BooleanKeyword 1424773 1424781 + Parameter 1424782 1424819 + Identifier 1424782 1424800 + TypeReference 1424801 1424819 + Identifier 1424801 1424819 + TypeReference 1424821 1424829 + Identifier 1424821 1424829 + Block 1424829 1431641 + IfStatement 1424831 1424965 + BinaryExpression 1424849 1424878 + Identifier 1424849 1424857 + EqualsEqualsEqualsToken 1424857 1424861 + Identifier 1424861 1424878 + Block 1424879 1424965 + ReturnStatement 1424881 1424950 + CallExpression 1424905 1424949 + Identifier 1424905 1424927 + Identifier 1424928 1424934 + Identifier 1424935 1424942 + Identifier 1424943 1424948 + IfStatement 1424965 1425095 + BinaryExpression 1424983 1425039 + BinaryExpression 1424983 1425009 + Identifier 1424983 1424989 + EqualsEqualsEqualsToken 1424989 1424993 + Identifier 1424993 1425009 + BarBarToken 1425009 1425012 + BinaryExpression 1425012 1425039 + Identifier 1425012 1425019 + EqualsEqualsEqualsToken 1425019 1425023 + Identifier 1425023 1425039 + Block 1425040 1425095 + ReturnStatement 1425042 1425080 + PropertyAccessExpression 1425066 1425079 + Identifier 1425066 1425074 + Identifier 1425075 1425079 + VariableStatement 1425095 1425206 + VariableDeclarationList 1425095 1425205 + VariableDeclaration 1425116 1425205 + Identifier 1425116 1425138 + BinaryExpression 1425140 1425205 + PropertyAccessExpression 1425140 1425154 + Identifier 1425140 1425147 + Identifier 1425148 1425154 + AmpersandAmpersandToken 1425154 1425157 + CallExpression 1425157 1425205 + Identifier 1425157 1425173 + PropertyAccessExpression 1425174 1425204 + PropertyAccessExpression 1425174 1425187 + Identifier 1425174 1425180 + Identifier 1425181 1425187 + Identifier 1425188 1425204 + VariableStatement 1425206 1425315 + VariableDeclarationList 1425206 1425314 + VariableDeclaration 1425225 1425314 + Identifier 1425225 1425247 + BinaryExpression 1425249 1425314 + PropertyAccessExpression 1425249 1425263 + Identifier 1425249 1425256 + Identifier 1425257 1425263 + AmpersandAmpersandToken 1425263 1425266 + CallExpression 1425266 1425314 + Identifier 1425266 1425282 + PropertyAccessExpression 1425283 1425313 + PropertyAccessExpression 1425283 1425296 + Identifier 1425283 1425289 + Identifier 1425290 1425296 + Identifier 1425297 1425313 + VariableStatement 1425315 1425544 + VariableDeclarationList 1425315 1425543 + VariableDeclaration 1425336 1425543 + Identifier 1425336 1425353 + CallExpression 1425355 1425543 + Identifier 1425355 1425375 + Identifier 1425376 1425400 + ConditionalExpression 1425401 1425527 + ParenthesizedExpression 1425401 1425478 + BinaryExpression 1425420 1425477 + Identifier 1425420 1425441 + AmpersandAmpersandToken 1425441 1425444 + BinaryExpression 1425444 1425477 + Identifier 1425444 1425449 + EqualsEqualsEqualsToken 1425449 1425453 + PropertyAccessExpression 1425453 1425477 + Identifier 1425453 1425467 + Identifier 1425468 1425477 + QuestionToken 1425478 1425480 + PropertyAccessExpression 1425480 1425520 + Identifier 1425480 1425515 + Identifier 1425516 1425520 + ColonToken 1425520 1425522 + Identifier 1425522 1425527 + VariableStatement 1425544 1425771 + VariableDeclarationList 1425544 1425770 + VariableDeclaration 1425563 1425770 + Identifier 1425563 1425580 + CallExpression 1425582 1425770 + Identifier 1425582 1425602 + Identifier 1425603 1425627 + ConditionalExpression 1425628 1425754 + ParenthesizedExpression 1425628 1425705 + BinaryExpression 1425647 1425704 + Identifier 1425647 1425668 + AmpersandAmpersandToken 1425668 1425671 + BinaryExpression 1425671 1425704 + Identifier 1425671 1425676 + EqualsEqualsEqualsToken 1425676 1425680 + PropertyAccessExpression 1425680 1425704 + Identifier 1425680 1425694 + Identifier 1425695 1425704 + QuestionToken 1425705 1425707 + PropertyAccessExpression 1425707 1425747 + Identifier 1425707 1425742 + Identifier 1425743 1425747 + ColonToken 1425747 1425749 + Identifier 1425749 1425754 + IfStatement 1425771 1426972 + BinaryExpression 1425791 1425877 + BinaryExpression 1425791 1425850 + BinaryExpression 1425791 1425823 + Identifier 1425791 1425795 + EqualsEqualsEqualsToken 1425795 1425799 + PropertyAccessExpression 1425799 1425823 + Identifier 1425799 1425813 + Identifier 1425814 1425823 + AmpersandAmpersandToken 1425823 1425826 + PropertyAccessExpression 1425826 1425850 + Identifier 1425826 1425843 + Identifier 1425844 1425850 + AmpersandAmpersandToken 1425850 1425853 + PropertyAccessExpression 1425853 1425877 + Identifier 1425853 1425870 + Identifier 1425871 1425877 + Block 1425878 1426972 + VariableStatement 1425880 1425979 + VariableDeclarationList 1425880 1425978 + VariableDeclaration 1425903 1425978 + Identifier 1425903 1425920 + PrefixUnaryExpression 1425922 1425978 + PrefixUnaryExpression 1425924 1425978 + ParenthesizedExpression 1425925 1425978 + BinaryExpression 1425926 1425977 + PropertyAccessExpression 1425926 1425951 + ElementAccessExpression 1425926 1425945 + Identifier 1425926 1425942 + NumericLiteral 1425943 1425944 + Identifier 1425946 1425951 + AmpersandToken 1425951 1425953 + PropertyAccessExpression 1425953 1425977 + Identifier 1425953 1425968 + Identifier 1425969 1425977 + VariableStatement 1425979 1426078 + VariableDeclarationList 1425979 1426077 + VariableDeclaration 1426002 1426077 + Identifier 1426002 1426019 + PrefixUnaryExpression 1426021 1426077 + PrefixUnaryExpression 1426023 1426077 + ParenthesizedExpression 1426024 1426077 + BinaryExpression 1426025 1426076 + PropertyAccessExpression 1426025 1426050 + ElementAccessExpression 1426025 1426044 + Identifier 1426025 1426041 + NumericLiteral 1426042 1426043 + Identifier 1426045 1426050 + AmpersandToken 1426050 1426052 + PropertyAccessExpression 1426052 1426076 + Identifier 1426052 1426067 + Identifier 1426068 1426076 + IfStatement 1426078 1426777 + BinaryExpression 1426100 1426137 + Identifier 1426100 1426116 + AmpersandAmpersandToken 1426116 1426119 + PrefixUnaryExpression 1426119 1426137 + Identifier 1426121 1426137 + Block 1426138 1426777 + IfStatement 1426140 1426715 + Identifier 1426548 1426560 + Block 1426561 1426715 + ExpressionStatement 1426563 1426692 + CallExpression 1426563 1426691 + Identifier 1426563 1426600 + PropertyAccessExpression 1426601 1426690 + Identifier 1426601 1426612 + Identifier 1426613 1426690 + ReturnStatement 1426715 1426758 + PropertyAccessExpression 1426743 1426757 + Identifier 1426743 1426751 + Identifier 1426752 1426757 + IfStatement 1426777 1426957 + PrefixUnaryExpression 1426799 1426892 + CallExpression 1426800 1426892 + Identifier 1426800 1426836 + ElementAccessExpression 1426837 1426856 + Identifier 1426837 1426853 + NumericLiteral 1426854 1426855 + ElementAccessExpression 1426857 1426877 + Identifier 1426857 1426874 + NumericLiteral 1426875 1426876 + Identifier 1426878 1426891 + Block 1426893 1426957 + ReturnStatement 1426895 1426938 + PropertyAccessExpression 1426923 1426937 + Identifier 1426923 1426931 + Identifier 1426932 1426937 + VariableStatement 1426972 1427014 + VariableDeclarationList 1426972 1427013 + VariableDeclaration 1426991 1427013 + Identifier 1426991 1426998 + PropertyAccessExpression 1427000 1427013 + Identifier 1427000 1427008 + Identifier 1427009 1427013 + VariableStatement 1427014 1427175 + VariableDeclarationList 1427014 1427174 + VariableDeclaration 1427033 1427174 + Identifier 1427033 1427054 + ConditionalExpression 1427056 1427174 + BinaryExpression 1427056 1427089 + Identifier 1427056 1427061 + EqualsEqualsEqualsToken 1427061 1427065 + PropertyAccessExpression 1427065 1427089 + Identifier 1427065 1427079 + Identifier 1427080 1427089 + QuestionToken 1427089 1427091 + Identifier 1427091 1427134 + ColonToken 1427134 1427136 + Identifier 1427136 1427174 + VariableStatement 1427175 1427238 + VariableDeclarationList 1427175 1427237 + VariableDeclaration 1427194 1427237 + Identifier 1427194 1427212 + CallExpression 1427214 1427237 + Identifier 1427214 1427229 + Identifier 1427230 1427236 + VariableStatement 1427238 1427301 + VariableDeclarationList 1427238 1427300 + VariableDeclaration 1427257 1427300 + Identifier 1427257 1427275 + CallExpression 1427277 1427300 + Identifier 1427277 1427292 + Identifier 1427293 1427299 + IfStatement 1427301 1431602 + BinaryExpression 1427319 1427644 + BinaryExpression 1427319 1427464 + BinaryExpression 1427319 1427429 + BinaryExpression 1427319 1427381 + Identifier 1427319 1427354 + AmpersandToken 1427354 1427356 + PropertyAccessExpression 1427356 1427381 + Identifier 1427356 1427368 + Identifier 1427369 1427381 + AmpersandAmpersandToken 1427381 1427384 + BinaryExpression 1427384 1427429 + Identifier 1427384 1427402 + AmpersandToken 1427402 1427404 + PropertyAccessExpression 1427404 1427429 + Identifier 1427404 1427416 + Identifier 1427417 1427429 + AmpersandAmpersandToken 1427429 1427432 + BinaryExpression 1427432 1427464 + PropertyAccessExpression 1427432 1427446 + Identifier 1427432 1427439 + Identifier 1427440 1427446 + EqualsEqualsEqualsToken 1427446 1427450 + PropertyAccessExpression 1427450 1427464 + Identifier 1427450 1427457 + Identifier 1427458 1427464 + BarBarToken 1427464 1427467 + BinaryExpression 1427467 1427644 + BinaryExpression 1427467 1427571 + BinaryExpression 1427467 1427526 + Identifier 1427467 1427502 + AmpersandToken 1427502 1427504 + PropertyAccessExpression 1427504 1427526 + Identifier 1427504 1427516 + Identifier 1427517 1427526 + AmpersandAmpersandToken 1427526 1427529 + BinaryExpression 1427529 1427571 + Identifier 1427529 1427547 + AmpersandToken 1427547 1427549 + PropertyAccessExpression 1427549 1427571 + Identifier 1427549 1427561 + Identifier 1427562 1427571 + AmpersandAmpersandToken 1427571 1427574 + BinaryExpression 1427574 1427644 + PropertyAccessExpression 1427574 1427607 + ParenthesizedExpression 1427574 1427600 + AsExpression 1427576 1427599 + Identifier 1427576 1427582 + TypeReference 1427585 1427599 + Identifier 1427585 1427599 + Identifier 1427601 1427607 + EqualsEqualsEqualsToken 1427607 1427611 + PropertyAccessExpression 1427611 1427644 + ParenthesizedExpression 1427611 1427637 + AsExpression 1427613 1427636 + Identifier 1427613 1427619 + TypeReference 1427622 1427636 + Identifier 1427622 1427636 + Identifier 1427638 1427644 + Block 1427659 1428607 + ExpressionStatement 1427661 1428145 + CallExpression 1427661 1428144 + PropertyAccessExpression 1427661 1428094 + Identifier 1427661 1428082 + Identifier 1428083 1428094 + PropertyAccessExpression 1428095 1428118 + Identifier 1428095 1428111 + Identifier 1428112 1428118 + PropertyAccessExpression 1428119 1428143 + Identifier 1428119 1428136 + Identifier 1428137 1428143 + ForStatement 1428145 1428592 + VariableDeclarationList 1428168 1428177 + VariableDeclaration 1428171 1428177 + Identifier 1428171 1428173 + NumericLiteral 1428175 1428177 + BinaryExpression 1428178 1428206 + Identifier 1428178 1428180 + LessThanToken 1428180 1428182 + PropertyAccessExpression 1428182 1428206 + Identifier 1428182 1428199 + Identifier 1428200 1428206 + PostfixUnaryExpression 1428207 1428211 + Identifier 1428207 1428209 + Block 1428212 1428592 + VariableStatement 1428214 1428426 + VariableDeclarationList 1428214 1428425 + VariableDeclaration 1428241 1428425 + Identifier 1428241 1428249 + CallExpression 1428251 1428425 + Identifier 1428251 1428270 + ElementAccessExpression 1428271 1428290 + Identifier 1428271 1428287 + Identifier 1428288 1428289 + ElementAccessExpression 1428291 1428311 + Identifier 1428291 1428308 + Identifier 1428309 1428310 + TrueKeyword 1428312 1428327 + Identifier 1428328 1428341 + Identifier 1428342 1428360 + CallExpression 1428361 1428424 + Identifier 1428361 1428382 + ElementAccessExpression 1428383 1428402 + Identifier 1428383 1428399 + Identifier 1428400 1428401 + ElementAccessExpression 1428403 1428423 + Identifier 1428403 1428420 + Identifier 1428421 1428422 + IfStatement 1428426 1428533 + PrefixUnaryExpression 1428452 1428460 + Identifier 1428453 1428460 + Block 1428461 1428533 + ReturnStatement 1428463 1428510 + PropertyAccessExpression 1428495 1428509 + Identifier 1428495 1428503 + Identifier 1428504 1428509 + ExpressionStatement 1428533 1428573 + BinaryExpression 1428533 1428572 + Identifier 1428533 1428561 + AmpersandEqualsToken 1428561 1428564 + Identifier 1428564 1428572 + IfStatement 1428625 1431602 + BinaryExpression 1428630 1428692 + BinaryExpression 1428630 1428659 + PropertyAccessExpression 1428630 1428653 + Identifier 1428630 1428646 + Identifier 1428647 1428653 + EqualsEqualsEqualsToken 1428653 1428657 + NumericLiteral 1428657 1428659 + AmpersandAmpersandToken 1428659 1428662 + BinaryExpression 1428662 1428692 + PropertyAccessExpression 1428662 1428686 + Identifier 1428662 1428679 + Identifier 1428680 1428686 + EqualsEqualsEqualsToken 1428686 1428690 + NumericLiteral 1428690 1428692 + Block 1428693 1430436 + VariableStatement 1428695 1429270 + VariableDeclarationList 1428695 1429269 + VariableDeclaration 1429221 1429269 + Identifier 1429221 1429235 + BinaryExpression 1429237 1429269 + Identifier 1429237 1429246 + EqualsEqualsEqualsToken 1429246 1429250 + Identifier 1429250 1429269 + VariableStatement 1429270 1429336 + VariableDeclarationList 1429270 1429335 + VariableDeclaration 1429293 1429335 + Identifier 1429293 1429309 + CallExpression 1429311 1429335 + Identifier 1429311 1429317 + Identifier 1429318 1429334 + VariableStatement 1429336 1429402 + VariableDeclarationList 1429336 1429401 + VariableDeclaration 1429359 1429401 + Identifier 1429359 1429375 + CallExpression 1429377 1429401 + Identifier 1429377 1429383 + Identifier 1429384 1429400 + ExpressionStatement 1429402 1429586 + BinaryExpression 1429402 1429585 + Identifier 1429402 1429426 + EqualsToken 1429426 1429428 + CallExpression 1429428 1429585 + Identifier 1429428 1429447 + Identifier 1429448 1429463 + Identifier 1429464 1429480 + Identifier 1429481 1429495 + Identifier 1429496 1429509 + Identifier 1429510 1429528 + CallExpression 1429529 1429584 + Identifier 1429529 1429550 + Identifier 1429551 1429566 + Identifier 1429567 1429583 + IfStatement 1429586 1430421 + BinaryExpression 1429608 1429883 + BinaryExpression 1429608 1429732 + BinaryExpression 1429608 1429689 + BinaryExpression 1429608 1429653 + PrefixUnaryExpression 1429608 1429637 + Identifier 1429631 1429637 + AmpersandAmpersandToken 1429637 1429640 + Identifier 1429640 1429653 + AmpersandAmpersandToken 1429653 1429656 + BinaryExpression 1429656 1429689 + Identifier 1429656 1429661 + EqualsEqualsEqualsToken 1429661 1429665 + PropertyAccessExpression 1429665 1429689 + Identifier 1429665 1429679 + Identifier 1429680 1429689 + AmpersandAmpersandToken 1429689 1429692 + ParenthesizedExpression 1429692 1429732 + BinaryExpression 1429694 1429731 + Identifier 1429694 1429711 + AmpersandToken 1429711 1429713 + Identifier 1429713 1429731 + AmpersandAmpersandToken 1429732 1429735 + ParenthesizedExpression 1429735 1429883 + BinaryExpression 1429758 1429882 + BinaryExpression 1429758 1429818 + PropertyAccessExpression 1429758 1429791 + PropertyAccessExpression 1429758 1429785 + Identifier 1429758 1429773 + Identifier 1429774 1429785 + QuestionDotToken 1429785 1429787 + Identifier 1429787 1429791 + EqualsEqualsEqualsToken 1429791 1429795 + PropertyAccessExpression 1429795 1429818 + Identifier 1429795 1429806 + Identifier 1429807 1429818 + BarBarToken 1429818 1429821 + BinaryExpression 1429821 1429882 + PropertyAccessExpression 1429821 1429855 + PropertyAccessExpression 1429821 1429849 + Identifier 1429821 1429837 + Identifier 1429838 1429849 + QuestionDotToken 1429849 1429851 + Identifier 1429851 1429855 + EqualsEqualsEqualsToken 1429855 1429859 + PropertyAccessExpression 1429859 1429882 + Identifier 1429859 1429870 + Identifier 1429871 1429882 + Block 1429902 1430421 + VariableStatement 1429904 1430100 + VariableDeclarationList 1429904 1430099 + VariableDeclaration 1429931 1430099 + Identifier 1429931 1429958 + ArrowFunction 1429960 1430099 + Parameter 1429962 1429982 + Identifier 1429962 1429971 + TypeReference 1429972 1429982 + Identifier 1429972 1429982 + EqualsGreaterThanToken 1429983 1429986 + CallExpression 1429986 1430099 + Identifier 1429986 1430004 + Identifier 1430005 1430014 + Identifier 1430015 1430050 + PropertyAccessExpression 1430051 1430092 + Identifier 1430051 1430067 + Identifier 1430068 1430092 + Identifier 1430093 1430098 + ExpressionStatement 1430100 1430272 + CallExpression 1430100 1430271 + Identifier 1430100 1430133 + PropertyAccessExpression 1430134 1430180 + Identifier 1430134 1430145 + Identifier 1430146 1430180 + CallExpression 1430181 1430225 + Identifier 1430181 1430208 + Identifier 1430209 1430224 + CallExpression 1430226 1430270 + Identifier 1430226 1430253 + Identifier 1430254 1430269 + ExpressionStatement 1430272 1430366 + CallExpression 1430272 1430365 + Identifier 1430272 1430305 + PropertyAccessExpression 1430306 1430364 + Identifier 1430306 1430317 + Identifier 1430318 1430364 + ReturnStatement 1430366 1430402 + Identifier 1430394 1430401 + Block 1430454 1431602 + LabeledStatement 1430456 1431587 + Identifier 1430456 1430479 + ForOfStatement 1430480 1431587 + VariableDeclarationList 1430503 1430510 + VariableDeclaration 1430508 1430510 + Identifier 1430508 1430510 + Identifier 1430513 1430530 + Block 1430531 1431587 + VariableStatement 1430533 1430608 + VariableDeclarationList 1430533 1430607 + VariableDeclaration 1430560 1430607 + Identifier 1430560 1430574 + CallExpression 1430576 1430607 + Identifier 1430576 1430605 + VariableStatement 1430608 1430740 + VariableDeclarationList 1430608 1430739 + VariableDeclaration 1430702 1430739 + Identifier 1430702 1430724 + Identifier 1430726 1430739 + ForOfStatement 1430740 1431249 + VariableDeclarationList 1430767 1430774 + VariableDeclaration 1430772 1430774 + Identifier 1430772 1430774 + Identifier 1430777 1430794 + Block 1430795 1431249 + VariableStatement 1430797 1430950 + VariableDeclarationList 1430797 1430949 + VariableDeclaration 1430828 1430949 + Identifier 1430828 1430836 + CallExpression 1430838 1430949 + Identifier 1430838 1430857 + Identifier 1430858 1430859 + Identifier 1430860 1430862 + TrueKeyword 1430863 1430878 + Identifier 1430879 1430901 + Identifier 1430902 1430920 + CallExpression 1430921 1430948 + Identifier 1430921 1430942 + Identifier 1430943 1430944 + Identifier 1430945 1430947 + IfStatement 1430950 1431170 + Identifier 1430980 1430987 + Block 1430988 1431170 + ExpressionStatement 1430990 1431038 + BinaryExpression 1430990 1431037 + Identifier 1430990 1431026 + AmpersandEqualsToken 1431026 1431029 + Identifier 1431029 1431037 + ExpressionStatement 1431038 1431098 + CallExpression 1431038 1431097 + Identifier 1431038 1431082 + Identifier 1431083 1431096 + ContinueStatement 1431098 1431143 + Identifier 1431136 1431142 + ExpressionStatement 1431170 1431226 + BinaryExpression 1431170 1431225 + Identifier 1431170 1431217 + EqualsToken 1431217 1431219 + FalseKeyword 1431219 1431225 + IfStatement 1431249 1431525 + Identifier 1431275 1431296 + Block 1431297 1431525 + ExpressionStatement 1431299 1431502 + CallExpression 1431299 1431501 + Identifier 1431299 1431336 + PropertyAccessExpression 1431337 1431393 + Identifier 1431337 1431348 + Identifier 1431349 1431393 + CallExpression 1431394 1431415 + Identifier 1431394 1431407 + Identifier 1431408 1431414 + CallExpression 1431416 1431500 + Identifier 1431416 1431434 + Identifier 1431435 1431436 + Identifier 1431437 1431472 + Identifier 1431473 1431493 + Identifier 1431494 1431499 + ReturnStatement 1431525 1431568 + PropertyAccessExpression 1431553 1431567 + Identifier 1431553 1431561 + Identifier 1431562 1431567 + ReturnStatement 1431602 1431630 + Identifier 1431622 1431629 + FunctionDeclaration 1431641 1432615 + Identifier 1431661 1431696 + Parameter 1431697 1431709 + Identifier 1431697 1431703 + TypeReference 1431704 1431709 + Identifier 1431704 1431709 + Parameter 1431710 1431723 + Identifier 1431710 1431717 + TypeReference 1431718 1431723 + Identifier 1431718 1431723 + BooleanKeyword 1431725 1431733 + Block 1431733 1432615 + VariableStatement 1431735 1431834 + VariableDeclarationList 1431735 1431833 + VariableDeclaration 1431754 1431833 + Identifier 1431754 1431773 + CallExpression 1431775 1431833 + Identifier 1431775 1431805 + Identifier 1431806 1431812 + PropertyAccessExpression 1431813 1431832 + Identifier 1431813 1431827 + Identifier 1431828 1431832 + VariableStatement 1431834 1431943 + VariableDeclarationList 1431834 1431942 + VariableDeclaration 1431853 1431942 + Identifier 1431853 1431877 + CallExpression 1431879 1431942 + Identifier 1431879 1431909 + Identifier 1431910 1431916 + PropertyAccessExpression 1431917 1431941 + Identifier 1431917 1431931 + Identifier 1431932 1431941 + VariableStatement 1431943 1432014 + VariableDeclarationList 1431943 1432013 + VariableDeclaration 1431962 1432013 + Identifier 1431962 1431977 + CallExpression 1431979 1432013 + Identifier 1431979 1432005 + Identifier 1432006 1432012 + IfStatement 1432014 1432578 + BinaryExpression 1432032 1432119 + ParenthesizedExpression 1432032 1432093 + BinaryExpression 1432033 1432092 + PropertyAccessExpression 1432033 1432058 + Identifier 1432033 1432051 + Identifier 1432052 1432058 + BarBarToken 1432058 1432061 + PropertyAccessExpression 1432061 1432092 + Identifier 1432061 1432085 + Identifier 1432086 1432092 + AmpersandAmpersandToken 1432093 1432096 + PrefixUnaryExpression 1432096 1432119 + PropertyAccessExpression 1432098 1432119 + Identifier 1432098 1432112 + Identifier 1432113 1432119 + Block 1432120 1432578 + IfStatement 1432122 1432532 + BinaryExpression 1432144 1432371 + ParenthesizedExpression 1432144 1432251 + BinaryExpression 1432167 1432250 + PropertyAccessExpression 1432167 1432221 + CallExpression 1432167 1432214 + Identifier 1432167 1432186 + Identifier 1432187 1432193 + PropertyAccessExpression 1432194 1432213 + Identifier 1432194 1432208 + Identifier 1432209 1432213 + Identifier 1432215 1432221 + AmpersandAmpersandToken 1432221 1432224 + PropertyAccessExpression 1432224 1432250 + Identifier 1432224 1432243 + Identifier 1432244 1432250 + BarBarToken 1432251 1432254 + ParenthesizedExpression 1432254 1432371 + BinaryExpression 1432277 1432370 + PropertyAccessExpression 1432277 1432336 + CallExpression 1432277 1432329 + Identifier 1432277 1432296 + Identifier 1432297 1432303 + PropertyAccessExpression 1432304 1432328 + Identifier 1432304 1432318 + Identifier 1432319 1432328 + Identifier 1432330 1432336 + AmpersandAmpersandToken 1432336 1432339 + PropertyAccessExpression 1432339 1432370 + Identifier 1432339 1432363 + Identifier 1432364 1432370 + Block 1432390 1432532 + ReturnStatement 1432392 1432426 + TrueKeyword 1432420 1432425 + ReturnStatement 1432532 1432563 + FalseKeyword 1432556 1432562 + ReturnStatement 1432578 1432604 + TrueKeyword 1432598 1432603 + FunctionDeclaration 1432615 1433214 + Identifier 1432635 1432673 + Parameter 1432674 1432689 + Identifier 1432674 1432678 + TypeReference 1432679 1432689 + Identifier 1432679 1432689 + Parameter 1432690 1432706 + Identifier 1432690 1432695 + TypeReference 1432696 1432706 + Identifier 1432696 1432706 + Block 1432707 1433214 + IfStatement 1432709 1433016 + BinaryExpression 1432727 1432787 + BinaryExpression 1432727 1432755 + PropertyAccessExpression 1432727 1432749 + PropertyAccessExpression 1432727 1432742 + Identifier 1432727 1432731 + Identifier 1432732 1432742 + Identifier 1432743 1432749 + EqualsEqualsEqualsToken 1432749 1432753 + NumericLiteral 1432753 1432755 + AmpersandAmpersandToken 1432755 1432758 + BinaryExpression 1432758 1432787 + PropertyAccessExpression 1432758 1432781 + PropertyAccessExpression 1432758 1432774 + Identifier 1432758 1432763 + Identifier 1432764 1432774 + Identifier 1432775 1432781 + EqualsEqualsEqualsToken 1432781 1432785 + NumericLiteral 1432785 1432787 + Block 1432788 1433016 + ReturnStatement 1432790 1433001 + ArrowFunction 1432814 1433000 + Parameter 1432816 1432828 + Identifier 1432816 1432822 + TypeReference 1432823 1432828 + Identifier 1432823 1432828 + Parameter 1432829 1432842 + Identifier 1432829 1432836 + TypeReference 1432837 1432842 + Identifier 1432837 1432842 + EqualsGreaterThanToken 1432843 1432846 + CallExpression 1432846 1433000 + Identifier 1432846 1432870 + PropertyAccessExpression 1432871 1432955 + Identifier 1432871 1432882 + Identifier 1432883 1432955 + CallExpression 1432956 1432977 + Identifier 1432956 1432969 + Identifier 1432970 1432976 + CallExpression 1432978 1432999 + Identifier 1432978 1432991 + Identifier 1432992 1432998 + ReturnStatement 1433016 1433203 + ArrowFunction 1433036 1433202 + Parameter 1433038 1433050 + Identifier 1433038 1433044 + TypeReference 1433045 1433050 + Identifier 1433045 1433050 + Parameter 1433051 1433064 + Identifier 1433051 1433058 + TypeReference 1433059 1433064 + Identifier 1433059 1433064 + EqualsGreaterThanToken 1433065 1433068 + CallExpression 1433068 1433202 + Identifier 1433068 1433092 + PropertyAccessExpression 1433093 1433157 + Identifier 1433093 1433104 + Identifier 1433105 1433157 + CallExpression 1433158 1433179 + Identifier 1433158 1433171 + Identifier 1433172 1433178 + CallExpression 1433180 1433201 + Identifier 1433180 1433193 + Identifier 1433194 1433200 + FunctionDeclaration 1433214 1433828 + Identifier 1433234 1433277 + Parameter 1433278 1433293 + Identifier 1433278 1433282 + TypeReference 1433283 1433293 + Identifier 1433283 1433293 + Parameter 1433294 1433310 + Identifier 1433294 1433299 + TypeReference 1433300 1433310 + Identifier 1433300 1433310 + Block 1433311 1433828 + IfStatement 1433313 1433625 + BinaryExpression 1433331 1433391 + BinaryExpression 1433331 1433359 + PropertyAccessExpression 1433331 1433353 + PropertyAccessExpression 1433331 1433346 + Identifier 1433331 1433335 + Identifier 1433336 1433346 + Identifier 1433347 1433353 + EqualsEqualsEqualsToken 1433353 1433357 + NumericLiteral 1433357 1433359 + AmpersandAmpersandToken 1433359 1433362 + BinaryExpression 1433362 1433391 + PropertyAccessExpression 1433362 1433385 + PropertyAccessExpression 1433362 1433378 + Identifier 1433362 1433367 + Identifier 1433368 1433378 + Identifier 1433379 1433385 + EqualsEqualsEqualsToken 1433385 1433389 + NumericLiteral 1433389 1433391 + Block 1433392 1433625 + ReturnStatement 1433394 1433610 + ArrowFunction 1433418 1433609 + Parameter 1433420 1433432 + Identifier 1433420 1433426 + TypeReference 1433427 1433432 + Identifier 1433427 1433432 + Parameter 1433433 1433446 + Identifier 1433433 1433440 + TypeReference 1433441 1433446 + Identifier 1433441 1433446 + EqualsGreaterThanToken 1433447 1433450 + CallExpression 1433450 1433609 + Identifier 1433450 1433474 + PropertyAccessExpression 1433475 1433564 + Identifier 1433475 1433486 + Identifier 1433487 1433564 + CallExpression 1433565 1433586 + Identifier 1433565 1433578 + Identifier 1433579 1433585 + CallExpression 1433587 1433608 + Identifier 1433587 1433600 + Identifier 1433601 1433607 + ReturnStatement 1433625 1433817 + ArrowFunction 1433645 1433816 + Parameter 1433647 1433659 + Identifier 1433647 1433653 + TypeReference 1433654 1433659 + Identifier 1433654 1433659 + Parameter 1433660 1433673 + Identifier 1433660 1433667 + TypeReference 1433668 1433673 + Identifier 1433668 1433673 + EqualsGreaterThanToken 1433674 1433677 + CallExpression 1433677 1433816 + Identifier 1433677 1433701 + PropertyAccessExpression 1433702 1433771 + Identifier 1433702 1433713 + Identifier 1433714 1433771 + CallExpression 1433772 1433793 + Identifier 1433772 1433785 + Identifier 1433786 1433792 + CallExpression 1433794 1433815 + Identifier 1433794 1433807 + Identifier 1433808 1433814 + FunctionDeclaration 1433828 1434909 + Identifier 1433940 1433959 + Parameter 1433960 1433977 + Identifier 1433960 1433966 + TypeReference 1433967 1433977 + Identifier 1433967 1433977 + Parameter 1433978 1433996 + Identifier 1433978 1433985 + TypeReference 1433986 1433996 + Identifier 1433986 1433996 + Parameter 1433997 1434012 + Identifier 1433997 1434003 + BooleanKeyword 1434004 1434012 + Parameter 1434013 1434035 + Identifier 1434013 1434026 + BooleanKeyword 1434027 1434035 + Parameter 1434036 1434073 + Identifier 1434036 1434054 + TypeReference 1434055 1434073 + Identifier 1434055 1434073 + Parameter 1434074 1434133 + Identifier 1434074 1434095 + FunctionType 1434096 1434133 + Parameter 1434098 1434110 + Identifier 1434098 1434104 + TypeReference 1434105 1434110 + Identifier 1434105 1434110 + Parameter 1434111 1434124 + Identifier 1434111 1434118 + TypeReference 1434119 1434124 + Identifier 1434119 1434124 + VoidKeyword 1434128 1434133 + TypeReference 1434135 1434143 + Identifier 1434135 1434143 + Block 1434143 1434909 + VariableStatement 1434145 1434416 + VariableDeclarationList 1434145 1434415 + VariableDeclaration 1434164 1434415 + Identifier 1434164 1434174 + ConditionalExpression 1434176 1434415 + BinaryExpression 1434176 1434205 + Identifier 1434176 1434185 + EqualsEqualsEqualsToken 1434185 1434189 + Identifier 1434189 1434205 + QuestionToken 1434205 1434207 + PropertyAccessExpression 1434207 1434245 + Identifier 1434207 1434226 + Identifier 1434227 1434245 + ColonToken 1434245 1434247 + ConditionalExpression 1434247 1434415 + BinaryExpression 1434247 1434299 + Identifier 1434247 1434273 + EqualsEqualsEqualsToken 1434273 1434277 + Identifier 1434277 1434299 + QuestionToken 1434299 1434301 + BinaryExpression 1434301 1434372 + PropertyAccessExpression 1434301 1434339 + Identifier 1434301 1434320 + Identifier 1434321 1434339 + BarToken 1434339 1434341 + PropertyAccessExpression 1434341 1434372 + Identifier 1434341 1434360 + Identifier 1434361 1434372 + ColonToken 1434372 1434374 + PropertyAccessExpression 1434374 1434415 + Identifier 1434374 1434410 + Identifier 1434411 1434415 + ReturnStatement 1434416 1434655 + CallExpression 1434436 1434654 + Identifier 1434436 1434461 + ConditionalExpression 1434462 1434505 + Identifier 1434462 1434467 + QuestionToken 1434467 1434469 + CallExpression 1434469 1434496 + Identifier 1434469 1434488 + Identifier 1434489 1434495 + ColonToken 1434496 1434498 + Identifier 1434498 1434505 + ConditionalExpression 1434506 1434550 + Identifier 1434506 1434512 + QuestionToken 1434512 1434514 + CallExpression 1434514 1434541 + Identifier 1434514 1434533 + Identifier 1434534 1434540 + ColonToken 1434541 1434543 + Identifier 1434543 1434550 + Identifier 1434551 1434561 + Identifier 1434562 1434575 + Identifier 1434576 1434588 + Identifier 1434589 1434610 + Identifier 1434611 1434629 + Identifier 1434630 1434653 + FunctionDeclaration 1434655 1434898 + Identifier 1434677 1434695 + Parameter 1434696 1434708 + Identifier 1434696 1434702 + TypeReference 1434703 1434708 + Identifier 1434703 1434708 + Parameter 1434709 1434722 + Identifier 1434709 1434716 + TypeReference 1434717 1434722 + Identifier 1434717 1434722 + Parameter 1434723 1434746 + Identifier 1434723 1434736 + QuestionToken 1434736 1434737 + BooleanKeyword 1434738 1434746 + Block 1434747 1434898 + ReturnStatement 1434749 1434883 + CallExpression 1434773 1434882 + Identifier 1434773 1434785 + Identifier 1434786 1434792 + Identifier 1434793 1434800 + PropertyAccessExpression 1434801 1434821 + Identifier 1434801 1434816 + Identifier 1434817 1434821 + Identifier 1434822 1434835 + Identifier 1434836 1434862 + Identifier 1434863 1434881 + FunctionDeclaration 1434909 1435769 + Identifier 1434929 1434951 + Parameter 1434952 1434964 + Identifier 1434952 1434958 + TypeReference 1434959 1434964 + Identifier 1434959 1434964 + Parameter 1434965 1434978 + Identifier 1434965 1434972 + TypeReference 1434973 1434978 + Identifier 1434973 1434978 + Parameter 1434979 1434999 + Identifier 1434979 1434984 + TypeReference 1434985 1434999 + Identifier 1434985 1434999 + TypeReference 1435001 1435009 + Identifier 1435001 1435009 + Block 1435009 1435769 + VariableStatement 1435011 1435084 + VariableDeclarationList 1435011 1435083 + VariableDeclaration 1435030 1435083 + Identifier 1435030 1435047 + CallExpression 1435049 1435083 + Identifier 1435049 1435069 + Identifier 1435070 1435076 + Identifier 1435077 1435082 + VariableStatement 1435084 1435157 + VariableDeclarationList 1435084 1435156 + VariableDeclaration 1435103 1435156 + Identifier 1435103 1435120 + CallExpression 1435122 1435156 + Identifier 1435122 1435142 + Identifier 1435143 1435149 + Identifier 1435150 1435155 + IfStatement 1435157 1435283 + BinaryExpression 1435175 1435226 + PropertyAccessExpression 1435175 1435198 + Identifier 1435175 1435191 + Identifier 1435192 1435198 + ExclamationEqualsEqualsToken 1435198 1435202 + PropertyAccessExpression 1435202 1435226 + Identifier 1435202 1435219 + Identifier 1435220 1435226 + Block 1435227 1435283 + ReturnStatement 1435229 1435268 + PropertyAccessExpression 1435253 1435267 + Identifier 1435253 1435261 + Identifier 1435262 1435267 + VariableStatement 1435283 1435323 + VariableDeclarationList 1435283 1435322 + VariableDeclaration 1435300 1435322 + Identifier 1435300 1435307 + PropertyAccessExpression 1435309 1435322 + Identifier 1435309 1435317 + Identifier 1435318 1435322 + ForStatement 1435323 1435730 + VariableDeclarationList 1435342 1435351 + VariableDeclaration 1435345 1435351 + Identifier 1435345 1435347 + NumericLiteral 1435349 1435351 + BinaryExpression 1435352 1435380 + Identifier 1435352 1435354 + LessThanToken 1435354 1435356 + PropertyAccessExpression 1435356 1435380 + Identifier 1435356 1435373 + Identifier 1435374 1435380 + PostfixUnaryExpression 1435381 1435385 + Identifier 1435381 1435383 + Block 1435386 1435730 + VariableStatement 1435388 1435584 + VariableDeclarationList 1435388 1435583 + VariableDeclaration 1435411 1435583 + Identifier 1435411 1435419 + CallExpression 1435421 1435583 + Identifier 1435421 1435448 + ElementAccessExpression 1435449 1435468 + Identifier 1435449 1435465 + Identifier 1435466 1435467 + ElementAccessExpression 1435469 1435489 + Identifier 1435469 1435486 + Identifier 1435487 1435488 + FalseKeyword 1435490 1435513 + FalseKeyword 1435514 1435540 + FalseKeyword 1435541 1435569 + Identifier 1435570 1435582 + IfStatement 1435584 1435679 + PrefixUnaryExpression 1435606 1435614 + Identifier 1435607 1435614 + Block 1435615 1435679 + ReturnStatement 1435617 1435660 + PropertyAccessExpression 1435645 1435659 + Identifier 1435645 1435653 + Identifier 1435654 1435659 + ExpressionStatement 1435679 1435715 + BinaryExpression 1435679 1435714 + Identifier 1435679 1435703 + AmpersandEqualsToken 1435703 1435706 + Identifier 1435706 1435714 + ReturnStatement 1435730 1435758 + Identifier 1435750 1435757 + FunctionDeclaration 1435769 1437875 + Identifier 1435789 1435815 + Parameter 1435816 1435828 + Identifier 1435816 1435822 + TypeReference 1435823 1435828 + Identifier 1435823 1435828 + Parameter 1435829 1435851 + Identifier 1435829 1435840 + TypeReference 1435841 1435851 + Identifier 1435841 1435851 + Parameter 1435852 1435874 + Identifier 1435852 1435865 + BooleanKeyword 1435866 1435874 + Parameter 1435875 1435912 + Identifier 1435875 1435893 + TypeReference 1435894 1435912 + Identifier 1435894 1435912 + TypeReference 1435914 1435922 + Identifier 1435914 1435922 + Block 1435922 1437875 + VariableStatement 1435924 1435964 + VariableDeclarationList 1435924 1435963 + VariableDeclaration 1435941 1435963 + Identifier 1435941 1435948 + PropertyAccessExpression 1435950 1435963 + Identifier 1435950 1435958 + Identifier 1435959 1435963 + VariableStatement 1435964 1436013 + VariableDeclarationList 1435964 1436012 + VariableDeclaration 1435983 1436012 + Identifier 1435983 1435991 + PropertyAccessExpression 1435993 1436012 + Identifier 1435993 1436004 + Identifier 1436005 1436012 + VariableStatement 1436013 1436184 + VariableDeclarationList 1436013 1436183 + VariableDeclaration 1436032 1436183 + Identifier 1436032 1436038 + ConditionalExpression 1436040 1436183 + BinaryExpression 1436040 1436078 + PropertyAccessExpression 1436040 1436053 + Identifier 1436040 1436047 + Identifier 1436048 1436053 + AmpersandToken 1436053 1436055 + PropertyAccessExpression 1436055 1436078 + Identifier 1436055 1436065 + Identifier 1436066 1436078 + QuestionToken 1436078 1436080 + CallExpression 1436080 1436147 + Identifier 1436080 1436119 + AsExpression 1436120 1436146 + Identifier 1436120 1436126 + TypeReference 1436129 1436146 + Identifier 1436129 1436146 + ColonToken 1436147 1436149 + CallExpression 1436149 1436183 + Identifier 1436149 1436175 + Identifier 1436176 1436182 + ForOfStatement 1436184 1437415 + VariableDeclarationList 1436203 1436213 + VariableDeclaration 1436208 1436213 + Identifier 1436208 1436213 + Identifier 1436216 1436222 + Block 1436223 1437415 + IfStatement 1436225 1436401 + CallExpression 1436314 1436348 + Identifier 1436314 1436334 + Identifier 1436335 1436341 + Identifier 1436342 1436347 + Block 1436349 1436401 + ContinueStatement 1436351 1436382 + IfStatement 1436401 1437400 + CallExpression 1436423 1436528 + Identifier 1436423 1436444 + CallExpression 1436445 1436518 + Identifier 1436445 1436471 + Identifier 1436472 1436476 + PropertyAccessExpression 1436477 1436517 + Identifier 1436477 1436487 + Identifier 1436488 1436517 + Identifier 1436519 1436527 + Block 1436529 1437400 + VariableStatement 1436531 1436602 + VariableDeclarationList 1436531 1436601 + VariableDeclaration 1436558 1436601 + Identifier 1436558 1436567 + CallExpression 1436569 1436601 + Identifier 1436569 1436595 + Identifier 1436596 1436600 + VariableStatement 1436602 1436883 + VariableDeclarationList 1436602 1436882 + VariableDeclaration 1436629 1436882 + Identifier 1436629 1436634 + ConditionalExpression 1436636 1436882 + BinaryExpression 1436636 1436769 + BinaryExpression 1436636 1436729 + BinaryExpression 1436636 1436703 + Identifier 1436636 1436663 + BarBarToken 1436663 1436666 + BinaryExpression 1436666 1436703 + PropertyAccessExpression 1436666 1436681 + Identifier 1436666 1436675 + Identifier 1436676 1436681 + AmpersandToken 1436681 1436683 + PropertyAccessExpression 1436683 1436703 + Identifier 1436683 1436693 + Identifier 1436694 1436703 + BarBarToken 1436703 1436706 + BinaryExpression 1436706 1436729 + Identifier 1436706 1436714 + EqualsEqualsEqualsToken 1436714 1436718 + Identifier 1436718 1436729 + BarBarToken 1436729 1436732 + PrefixUnaryExpression 1436732 1436769 + ParenthesizedExpression 1436734 1436769 + BinaryExpression 1436735 1436768 + PropertyAccessExpression 1436735 1436745 + Identifier 1436735 1436739 + Identifier 1436740 1436745 + AmpersandToken 1436745 1436747 + PropertyAccessExpression 1436747 1436768 + Identifier 1436747 1436759 + Identifier 1436760 1436768 + QuestionToken 1436769 1436796 + Identifier 1436796 1436805 + ColonToken 1436805 1436832 + CallExpression 1436832 1436882 + Identifier 1436832 1436849 + Identifier 1436850 1436858 + PropertyAccessExpression 1436859 1436881 + Identifier 1436859 1436869 + Identifier 1436870 1436881 + VariableStatement 1436883 1437037 + VariableDeclarationList 1436883 1437036 + VariableDeclaration 1436910 1437036 + Identifier 1436910 1436918 + CallExpression 1436920 1437036 + Identifier 1436920 1436932 + Identifier 1436933 1436937 + PropertyAccessExpression 1436938 1436954 + Identifier 1436938 1436949 + Identifier 1436950 1436954 + PropertyAccessExpression 1436955 1436975 + Identifier 1436955 1436970 + Identifier 1436971 1436975 + Identifier 1436976 1436989 + Identifier 1436990 1437016 + Identifier 1437017 1437035 + IfStatement 1437037 1437341 + PrefixUnaryExpression 1437063 1437071 + Identifier 1437064 1437071 + Block 1437072 1437341 + IfStatement 1437074 1437271 + Identifier 1437104 1437116 + Block 1437117 1437271 + ExpressionStatement 1437119 1437244 + CallExpression 1437119 1437243 + Identifier 1437119 1437160 + PropertyAccessExpression 1437161 1437220 + Identifier 1437161 1437172 + Identifier 1437173 1437220 + CallExpression 1437221 1437242 + Identifier 1437221 1437236 + Identifier 1437237 1437241 + ReturnStatement 1437271 1437318 + PropertyAccessExpression 1437303 1437317 + Identifier 1437303 1437311 + Identifier 1437312 1437317 + ExpressionStatement 1437341 1437381 + BinaryExpression 1437341 1437380 + Identifier 1437341 1437369 + AmpersandEqualsToken 1437369 1437372 + Identifier 1437372 1437380 + ForOfStatement 1437415 1437836 + VariableDeclarationList 1437434 1437444 + VariableDeclaration 1437439 1437444 + Identifier 1437439 1437444 + CallExpression 1437447 1437475 + Identifier 1437447 1437467 + Identifier 1437468 1437474 + Block 1437476 1437836 + IfStatement 1437478 1437821 + CallExpression 1437500 1437544 + Identifier 1437500 1437521 + PropertyAccessExpression 1437522 1437534 + Identifier 1437522 1437526 + Identifier 1437527 1437534 + Identifier 1437535 1437543 + Block 1437545 1437821 + VariableStatement 1437547 1437655 + VariableDeclarationList 1437547 1437654 + VariableDeclaration 1437574 1437654 + Identifier 1437574 1437582 + CallExpression 1437584 1437654 + Identifier 1437584 1437603 + Identifier 1437604 1437608 + Identifier 1437609 1437620 + Identifier 1437621 1437634 + Identifier 1437635 1437653 + IfStatement 1437655 1437762 + PrefixUnaryExpression 1437681 1437689 + Identifier 1437682 1437689 + Block 1437690 1437762 + ReturnStatement 1437692 1437739 + PropertyAccessExpression 1437724 1437738 + Identifier 1437724 1437732 + Identifier 1437733 1437738 + ExpressionStatement 1437762 1437802 + BinaryExpression 1437762 1437801 + Identifier 1437762 1437790 + AmpersandEqualsToken 1437790 1437793 + Identifier 1437793 1437801 + ReturnStatement 1437836 1437864 + Identifier 1437856 1437863 + FunctionDeclaration 1437875 1438684 + Identifier 1437895 1437914 + Parameter 1437915 1437936 + Identifier 1437915 1437925 + TypeReference 1437926 1437936 + Identifier 1437926 1437936 + Parameter 1437937 1437959 + Identifier 1437937 1437948 + TypeReference 1437949 1437959 + Identifier 1437949 1437959 + Parameter 1437960 1437982 + Identifier 1437960 1437973 + BooleanKeyword 1437974 1437982 + Parameter 1437983 1438020 + Identifier 1437983 1438001 + TypeReference 1438002 1438020 + Identifier 1438002 1438020 + Block 1438021 1438684 + VariableStatement 1438023 1438180 + VariableDeclarationList 1438023 1438179 + VariableDeclaration 1438042 1438179 + Identifier 1438042 1438050 + CallExpression 1438052 1438179 + Identifier 1438052 1438064 + PropertyAccessExpression 1438065 1438080 + Identifier 1438065 1438075 + Identifier 1438076 1438080 + PropertyAccessExpression 1438081 1438097 + Identifier 1438081 1438092 + Identifier 1438093 1438097 + PropertyAccessExpression 1438098 1438118 + Identifier 1438098 1438113 + Identifier 1438114 1438118 + Identifier 1438119 1438132 + Identifier 1438133 1438159 + Identifier 1438160 1438178 + IfStatement 1438180 1438644 + BinaryExpression 1438198 1438222 + PrefixUnaryExpression 1438198 1438206 + Identifier 1438199 1438206 + AmpersandAmpersandToken 1438206 1438209 + Identifier 1438209 1438222 + Block 1438223 1438644 + IfStatement 1438225 1438629 + BinaryExpression 1438247 1438288 + PropertyAccessExpression 1438247 1438265 + Identifier 1438247 1438257 + Identifier 1438258 1438265 + EqualsEqualsEqualsToken 1438265 1438269 + PropertyAccessExpression 1438269 1438288 + Identifier 1438269 1438280 + Identifier 1438281 1438288 + Block 1438289 1438428 + ExpressionStatement 1438291 1438409 + CallExpression 1438291 1438408 + Identifier 1438291 1438324 + PropertyAccessExpression 1438325 1438373 + Identifier 1438325 1438336 + Identifier 1438337 1438373 + CallExpression 1438374 1438407 + Identifier 1438374 1438387 + PropertyAccessExpression 1438388 1438406 + Identifier 1438388 1438398 + Identifier 1438399 1438406 + Block 1438450 1438629 + ExpressionStatement 1438452 1438610 + CallExpression 1438452 1438609 + Identifier 1438452 1438485 + PropertyAccessExpression 1438486 1438540 + Identifier 1438486 1438497 + Identifier 1438498 1438540 + CallExpression 1438541 1438574 + Identifier 1438541 1438554 + PropertyAccessExpression 1438555 1438573 + Identifier 1438555 1438565 + Identifier 1438566 1438573 + CallExpression 1438575 1438608 + Identifier 1438575 1438588 + PropertyAccessExpression 1438589 1438607 + Identifier 1438589 1438599 + Identifier 1438600 1438607 + ReturnStatement 1438644 1438673 + Identifier 1438664 1438672 + FunctionDeclaration 1438684 1439875 + Identifier 1438704 1438729 + Parameter 1438730 1438742 + Identifier 1438730 1438736 + TypeReference 1438737 1438742 + Identifier 1438737 1438742 + Parameter 1438743 1438756 + Identifier 1438743 1438750 + TypeReference 1438751 1438756 + Identifier 1438751 1438756 + Parameter 1438757 1438784 + Identifier 1438757 1438775 + BooleanKeyword 1438776 1438784 + Parameter 1438785 1438807 + Identifier 1438785 1438798 + BooleanKeyword 1438799 1438807 + Parameter 1438808 1438845 + Identifier 1438808 1438826 + TypeReference 1438827 1438845 + Identifier 1438827 1438845 + TypeReference 1438847 1438855 + Identifier 1438847 1438855 + Block 1438855 1439875 + IfStatement 1438857 1438990 + BinaryExpression 1438875 1438904 + Identifier 1438875 1438883 + EqualsEqualsEqualsToken 1438883 1438887 + Identifier 1438887 1438904 + Block 1438905 1438990 + ReturnStatement 1438907 1438975 + CallExpression 1438931 1438974 + Identifier 1438931 1438958 + Identifier 1438959 1438965 + Identifier 1438966 1438973 + VariableStatement 1438990 1439051 + VariableDeclarationList 1438990 1439050 + VariableDeclaration 1439009 1439050 + Identifier 1439009 1439020 + CallExpression 1439022 1439050 + Identifier 1439022 1439042 + Identifier 1439043 1439049 + VariableStatement 1439051 1439148 + VariableDeclarationList 1439051 1439147 + VariableDeclaration 1439070 1439147 + Identifier 1439070 1439091 + CallExpression 1439093 1439147 + Identifier 1439093 1439098 + Identifier 1439099 1439109 + ArrowFunction 1439110 1439146 + Parameter 1439110 1439115 + Identifier 1439110 1439115 + EqualsGreaterThanToken 1439115 1439118 + BinaryExpression 1439118 1439146 + PropertyAccessExpression 1439118 1439131 + Identifier 1439118 1439123 + Identifier 1439124 1439131 + EqualsEqualsEqualsToken 1439131 1439135 + Identifier 1439135 1439146 + VariableStatement 1439148 1439188 + VariableDeclarationList 1439148 1439187 + VariableDeclaration 1439165 1439187 + Identifier 1439165 1439172 + PropertyAccessExpression 1439174 1439187 + Identifier 1439174 1439182 + Identifier 1439183 1439187 + ForOfStatement 1439188 1439836 + VariableDeclarationList 1439207 1439223 + VariableDeclaration 1439212 1439223 + Identifier 1439212 1439223 + Identifier 1439226 1439237 + Block 1439238 1439836 + VariableStatement 1439240 1439690 + VariableDeclarationList 1439240 1439689 + VariableDeclaration 1439263 1439689 + Identifier 1439263 1439271 + ConditionalExpression 1439273 1439689 + BinaryExpression 1439273 1439395 + BinaryExpression 1439273 1439354 + BinaryExpression 1439273 1439330 + BinaryExpression 1439273 1439308 + Identifier 1439273 1439282 + ExclamationEqualsEqualsToken 1439282 1439286 + Identifier 1439286 1439308 + AmpersandAmpersandToken 1439308 1439311 + PrefixUnaryExpression 1439311 1439330 + Identifier 1439313 1439330 + AmpersandAmpersandToken 1439330 1439333 + Identifier 1439333 1439354 + AmpersandAmpersandToken 1439354 1439357 + BinaryExpression 1439357 1439395 + PropertyAccessExpression 1439357 1439379 + PropertyAccessExpression 1439357 1439373 + Identifier 1439357 1439368 + Identifier 1439369 1439373 + Identifier 1439374 1439379 + AmpersandToken 1439379 1439381 + PropertyAccessExpression 1439381 1439395 + Identifier 1439381 1439391 + Identifier 1439392 1439395 + QuestionToken 1439395 1439397 + PropertyAccessExpression 1439397 1439410 + Identifier 1439397 1439405 + Identifier 1439406 1439410 + ColonToken 1439410 1439412 + ConditionalExpression 1439412 1439689 + BinaryExpression 1439412 1439485 + CallExpression 1439412 1439461 + Identifier 1439412 1439453 + Identifier 1439454 1439460 + AmpersandAmpersandToken 1439461 1439464 + Identifier 1439464 1439485 + QuestionToken 1439485 1439487 + CallExpression 1439487 1439590 + Identifier 1439487 1439499 + CallExpression 1439500 1439537 + Identifier 1439500 1439529 + Identifier 1439530 1439536 + PropertyAccessExpression 1439538 1439554 + Identifier 1439538 1439549 + Identifier 1439550 1439554 + PropertyAccessExpression 1439555 1439575 + Identifier 1439555 1439570 + Identifier 1439571 1439575 + Identifier 1439576 1439589 + ColonToken 1439590 1439592 + CallExpression 1439592 1439689 + Identifier 1439592 1439636 + Identifier 1439637 1439643 + Identifier 1439644 1439655 + Identifier 1439656 1439669 + Identifier 1439670 1439688 + IfStatement 1439690 1439785 + PrefixUnaryExpression 1439712 1439720 + Identifier 1439713 1439720 + Block 1439721 1439785 + ReturnStatement 1439723 1439766 + PropertyAccessExpression 1439751 1439765 + Identifier 1439751 1439759 + Identifier 1439760 1439765 + ExpressionStatement 1439785 1439821 + BinaryExpression 1439785 1439820 + Identifier 1439785 1439809 + AmpersandEqualsToken 1439809 1439812 + Identifier 1439812 1439820 + ReturnStatement 1439836 1439864 + Identifier 1439856 1439863 + FunctionDeclaration 1439875 1441192 + Identifier 1439895 1439918 + Parameter 1439919 1439931 + Identifier 1439919 1439925 + TypeReference 1439926 1439931 + Identifier 1439926 1439931 + Parameter 1439932 1439954 + Identifier 1439932 1439943 + TypeReference 1439944 1439954 + Identifier 1439944 1439954 + Parameter 1439955 1439977 + Identifier 1439955 1439968 + BooleanKeyword 1439969 1439977 + Parameter 1439978 1440015 + Identifier 1439978 1439996 + TypeReference 1439997 1440015 + Identifier 1439997 1440015 + TypeReference 1440017 1440025 + Identifier 1440017 1440025 + Block 1440025 1441192 + VariableStatement 1440027 1440111 + VariableDeclarationList 1440027 1440110 + VariableDeclaration 1440046 1440110 + Identifier 1440046 1440057 + CallExpression 1440059 1440110 + Identifier 1440059 1440082 + Identifier 1440083 1440089 + PropertyAccessExpression 1440090 1440109 + Identifier 1440090 1440101 + Identifier 1440102 1440109 + IfStatement 1440111 1440258 + Identifier 1440129 1440139 + Block 1440140 1440258 + ReturnStatement 1440142 1440243 + CallExpression 1440166 1440242 + Identifier 1440166 1440185 + Identifier 1440186 1440196 + Identifier 1440197 1440208 + Identifier 1440209 1440222 + Identifier 1440223 1440241 + IfStatement 1440258 1440951 + BinaryExpression 1440647 1440829 + BinaryExpression 1440647 1440787 + PrefixUnaryExpression 1440647 1440694 + ParenthesizedExpression 1440648 1440694 + BinaryExpression 1440649 1440693 + Identifier 1440649 1440666 + AmpersandToken 1440666 1440668 + PropertyAccessExpression 1440668 1440693 + Identifier 1440668 1440686 + Identifier 1440687 1440693 + AmpersandAmpersandToken 1440694 1440697 + ParenthesizedExpression 1440697 1440787 + BinaryExpression 1440699 1440786 + BinaryExpression 1440699 1440733 + Identifier 1440699 1440707 + ExclamationEqualsEqualsToken 1440707 1440711 + Identifier 1440711 1440733 + BarBarToken 1440733 1440736 + BinaryExpression 1440736 1440786 + CallExpression 1440736 1440759 + Identifier 1440736 1440751 + Identifier 1440752 1440758 + AmpersandToken 1440759 1440761 + PropertyAccessExpression 1440761 1440786 + Identifier 1440761 1440773 + Identifier 1440774 1440786 + AmpersandAmpersandToken 1440787 1440790 + CallExpression 1440790 1440829 + Identifier 1440790 1440821 + Identifier 1440822 1440828 + Block 1440830 1440951 + ReturnStatement 1440832 1440936 + CallExpression 1440856 1440935 + Identifier 1440856 1440882 + Identifier 1440883 1440889 + Identifier 1440890 1440901 + Identifier 1440902 1440915 + Identifier 1440916 1440934 + IfStatement 1440951 1441146 + Identifier 1440969 1440981 + Block 1440982 1441146 + ExpressionStatement 1440984 1441131 + CallExpression 1440984 1441130 + Identifier 1440984 1441013 + PropertyAccessExpression 1441014 1441073 + Identifier 1441014 1441025 + Identifier 1441026 1441073 + CallExpression 1441074 1441107 + Identifier 1441074 1441087 + PropertyAccessExpression 1441088 1441106 + Identifier 1441088 1441098 + Identifier 1441099 1441106 + CallExpression 1441108 1441129 + Identifier 1441108 1441121 + Identifier 1441122 1441128 + ReturnStatement 1441146 1441181 + PropertyAccessExpression 1441166 1441180 + Identifier 1441166 1441174 + Identifier 1441175 1441180 + FunctionDeclaration 1441192 1441936 + Identifier 1441212 1441239 + Parameter 1441240 1441252 + Identifier 1441240 1441246 + TypeReference 1441247 1441252 + Identifier 1441247 1441252 + Parameter 1441253 1441266 + Identifier 1441253 1441260 + TypeReference 1441261 1441266 + Identifier 1441261 1441266 + TypeReference 1441268 1441276 + Identifier 1441268 1441276 + Block 1441276 1441936 + VariableStatement 1441278 1441340 + VariableDeclarationList 1441278 1441339 + VariableDeclaration 1441297 1441339 + Identifier 1441297 1441309 + CallExpression 1441311 1441339 + Identifier 1441311 1441331 + Identifier 1441332 1441338 + VariableStatement 1441340 1441402 + VariableDeclarationList 1441340 1441401 + VariableDeclaration 1441359 1441401 + Identifier 1441359 1441371 + CallExpression 1441373 1441401 + Identifier 1441373 1441393 + Identifier 1441394 1441400 + IfStatement 1441402 1441518 + BinaryExpression 1441420 1441461 + PropertyAccessExpression 1441420 1441438 + Identifier 1441420 1441431 + Identifier 1441432 1441438 + ExclamationEqualsEqualsToken 1441438 1441442 + PropertyAccessExpression 1441442 1441461 + Identifier 1441442 1441454 + Identifier 1441455 1441461 + Block 1441462 1441518 + ReturnStatement 1441464 1441503 + PropertyAccessExpression 1441488 1441502 + Identifier 1441488 1441496 + Identifier 1441497 1441502 + ForOfStatement 1441518 1441891 + VariableDeclarationList 1441537 1441553 + VariableDeclaration 1441542 1441553 + Identifier 1441542 1441553 + Identifier 1441556 1441568 + Block 1441569 1441891 + VariableStatement 1441571 1441655 + VariableDeclarationList 1441571 1441654 + VariableDeclaration 1441594 1441654 + Identifier 1441594 1441605 + CallExpression 1441607 1441654 + Identifier 1441607 1441626 + Identifier 1441627 1441633 + PropertyAccessExpression 1441634 1441653 + Identifier 1441634 1441645 + Identifier 1441646 1441653 + IfStatement 1441655 1441876 + PrefixUnaryExpression 1441677 1441811 + ParenthesizedExpression 1441678 1441811 + BinaryExpression 1441679 1441810 + BinaryExpression 1441679 1441759 + Identifier 1441679 1441689 + AmpersandAmpersandToken 1441689 1441692 + CallExpression 1441692 1441759 + Identifier 1441692 1441704 + PropertyAccessExpression 1441705 1441720 + Identifier 1441705 1441715 + Identifier 1441716 1441720 + PropertyAccessExpression 1441721 1441737 + Identifier 1441721 1441732 + Identifier 1441733 1441737 + PropertyAccessExpression 1441738 1441758 + Identifier 1441738 1441753 + Identifier 1441754 1441758 + AmpersandAmpersandToken 1441759 1441762 + BinaryExpression 1441762 1441810 + PropertyAccessExpression 1441762 1441784 + Identifier 1441762 1441773 + Identifier 1441774 1441784 + EqualsEqualsEqualsToken 1441784 1441788 + PropertyAccessExpression 1441788 1441810 + Identifier 1441788 1441799 + Identifier 1441800 1441810 + Block 1441812 1441876 + ReturnStatement 1441814 1441857 + PropertyAccessExpression 1441842 1441856 + Identifier 1441842 1441850 + Identifier 1441851 1441856 + ReturnStatement 1441891 1441925 + PropertyAccessExpression 1441911 1441924 + Identifier 1441911 1441919 + Identifier 1441920 1441924 + FunctionDeclaration 1441936 1443454 + Identifier 1441956 1441993 + Parameter 1441994 1442020 + Identifier 1441994 1442009 + TypeReference 1442010 1442020 + Identifier 1442010 1442020 + Parameter 1442021 1442048 + Identifier 1442021 1442037 + TypeReference 1442038 1442048 + Identifier 1442038 1442048 + Parameter 1442049 1442071 + Identifier 1442049 1442062 + BooleanKeyword 1442063 1442071 + Block 1442072 1443454 + IfStatement 1442074 1442200 + BinaryExpression 1442092 1442152 + PrefixUnaryExpression 1442092 1442120 + PropertyAccessExpression 1442093 1442120 + Identifier 1442093 1442108 + Identifier 1442109 1442120 + BarBarToken 1442120 1442123 + PrefixUnaryExpression 1442123 1442152 + PropertyAccessExpression 1442125 1442152 + Identifier 1442125 1442140 + Identifier 1442141 1442152 + Block 1442153 1442200 + ReturnStatement 1442155 1442185 + TrueKeyword 1442179 1442184 + VariableStatement 1442200 1442353 + VariableDeclarationList 1442200 1442352 + VariableDeclaration 1442221 1442352 + Identifier 1442221 1442241 + CallExpression 1442243 1442352 + Identifier 1442243 1442277 + PropertyAccessExpression 1442278 1442305 + Identifier 1442278 1442293 + Identifier 1442294 1442305 + PropertyAccessExpression 1442306 1442351 + Identifier 1442306 1442320 + Identifier 1442321 1442351 + VariableStatement 1442353 1442504 + VariableDeclarationList 1442353 1442503 + VariableDeclaration 1442372 1442503 + Identifier 1442372 1442392 + CallExpression 1442394 1442503 + Identifier 1442394 1442428 + PropertyAccessExpression 1442429 1442456 + Identifier 1442429 1442444 + Identifier 1442445 1442456 + PropertyAccessExpression 1442457 1442502 + Identifier 1442457 1442471 + Identifier 1442472 1442502 + IfStatement 1442504 1442713 + BinaryExpression 1442620 1442665 + Identifier 1442620 1442639 + EqualsEqualsEqualsToken 1442639 1442643 + PropertyAccessExpression 1442643 1442665 + Identifier 1442643 1442657 + Identifier 1442658 1442665 + Block 1442666 1442713 + ReturnStatement 1442668 1442698 + TrueKeyword 1442692 1442697 + IfStatement 1442713 1442966 + BinaryExpression 1442822 1442918 + BinaryExpression 1442822 1442869 + Identifier 1442822 1442841 + EqualsEqualsEqualsToken 1442841 1442845 + PropertyAccessExpression 1442845 1442869 + Identifier 1442845 1442859 + Identifier 1442860 1442869 + AmpersandAmpersandToken 1442869 1442872 + BinaryExpression 1442872 1442918 + Identifier 1442872 1442892 + ExclamationEqualsEqualsToken 1442892 1442896 + PropertyAccessExpression 1442896 1442918 + Identifier 1442896 1442910 + Identifier 1442911 1442918 + Block 1442919 1442966 + ReturnStatement 1442921 1442951 + TrueKeyword 1442945 1442950 + IfStatement 1442966 1443180 + BinaryExpression 1443061 1443132 + BinaryExpression 1443061 1443108 + Identifier 1443061 1443080 + ExclamationEqualsEqualsToken 1443080 1443084 + PropertyAccessExpression 1443084 1443108 + Identifier 1443084 1443098 + Identifier 1443099 1443108 + AmpersandAmpersandToken 1443108 1443111 + PrefixUnaryExpression 1443111 1443132 + Identifier 1443113 1443132 + Block 1443133 1443180 + ReturnStatement 1443135 1443165 + TrueKeyword 1443159 1443164 + IfStatement 1443180 1443414 + Identifier 1443200 1443212 + Block 1443213 1443414 + ExpressionStatement 1443215 1443399 + CallExpression 1443215 1443398 + Identifier 1443215 1443244 + PropertyAccessExpression 1443245 1443315 + Identifier 1443245 1443256 + Identifier 1443257 1443315 + CallExpression 1443316 1443356 + Identifier 1443316 1443335 + Identifier 1443336 1443355 + CallExpression 1443357 1443397 + Identifier 1443357 1443376 + Identifier 1443377 1443396 + ReturnStatement 1443414 1443443 + FalseKeyword 1443436 1443442 + FunctionDeclaration 1443461 1444416 + Identifier 1443477 1443513 + Parameter 1443514 1443524 + Identifier 1443514 1443518 + TypeReference 1443519 1443524 + Identifier 1443519 1443524 + BooleanKeyword 1443526 1443534 + Block 1443534 1444416 + IfStatement 1443536 1443843 + BinaryExpression 1443772 1443802 + PropertyAccessExpression 1443772 1443782 + Identifier 1443772 1443776 + Identifier 1443777 1443782 + AmpersandToken 1443782 1443784 + PropertyAccessExpression 1443784 1443802 + Identifier 1443784 1443794 + Identifier 1443795 1443802 + Block 1443803 1443843 + ReturnStatement 1443805 1443832 + FalseKeyword 1443825 1443831 + IfStatement 1443843 1444017 + BinaryExpression 1443859 1443901 + PropertyAccessExpression 1443859 1443869 + Identifier 1443859 1443863 + Identifier 1443864 1443869 + AmpersandToken 1443869 1443871 + PropertyAccessExpression 1443871 1443901 + Identifier 1443871 1443881 + Identifier 1443882 1443901 + Block 1443902 1444017 + ReturnStatement 1443904 1444006 + PrefixUnaryExpression 1443924 1444005 + PrefixUnaryExpression 1443926 1444005 + CallExpression 1443927 1444005 + Identifier 1443927 1443934 + PropertyAccessExpression 1443935 1443967 + ParenthesizedExpression 1443935 1443961 + AsExpression 1443936 1443960 + Identifier 1443936 1443940 + TypeReference 1443943 1443960 + Identifier 1443943 1443960 + Identifier 1443962 1443967 + Identifier 1443968 1444004 + IfStatement 1444017 1444283 + BinaryExpression 1444033 1444068 + PropertyAccessExpression 1444033 1444043 + Identifier 1444033 1444037 + Identifier 1444038 1444043 + AmpersandToken 1444043 1444045 + PropertyAccessExpression 1444045 1444068 + Identifier 1444045 1444055 + Identifier 1444056 1444068 + Block 1444069 1444283 + VariableStatement 1444071 1444130 + VariableDeclarationList 1444071 1444129 + VariableDeclaration 1444090 1444129 + Identifier 1444090 1444101 + CallExpression 1444103 1444129 + Identifier 1444103 1444123 + Identifier 1444124 1444128 + IfStatement 1444130 1444272 + BinaryExpression 1444148 1444181 + Identifier 1444148 1444158 + AmpersandAmpersandToken 1444158 1444161 + BinaryExpression 1444161 1444181 + Identifier 1444161 1444172 + ExclamationEqualsEqualsToken 1444172 1444176 + Identifier 1444176 1444181 + Block 1444182 1444272 + ReturnStatement 1444184 1444257 + CallExpression 1444208 1444256 + Identifier 1444208 1444244 + Identifier 1444245 1444255 + ReturnStatement 1444283 1444409 + BinaryExpression 1444301 1444408 + BinaryExpression 1444301 1444364 + CallExpression 1444301 1444318 + Identifier 1444301 1444312 + Identifier 1444313 1444317 + BarBarToken 1444318 1444321 + PrefixUnaryExpression 1444321 1444364 + PrefixUnaryExpression 1444323 1444364 + ParenthesizedExpression 1444324 1444364 + BinaryExpression 1444325 1444363 + PropertyAccessExpression 1444325 1444335 + Identifier 1444325 1444329 + Identifier 1444330 1444335 + AmpersandToken 1444335 1444337 + PropertyAccessExpression 1444337 1444363 + Identifier 1444337 1444347 + Identifier 1444348 1444363 + BarBarToken 1444364 1444367 + PrefixUnaryExpression 1444367 1444408 + PrefixUnaryExpression 1444369 1444408 + ParenthesizedExpression 1444370 1444408 + BinaryExpression 1444371 1444407 + PropertyAccessExpression 1444371 1444381 + Identifier 1444371 1444375 + Identifier 1444376 1444381 + AmpersandToken 1444381 1444383 + PropertyAccessExpression 1444383 1444407 + Identifier 1444383 1444393 + Identifier 1444394 1444407 + FunctionDeclaration 1444416 1444783 + Identifier 1444432 1444471 + Parameter 1444472 1444484 + Identifier 1444472 1444478 + TypeReference 1444479 1444484 + Identifier 1444479 1444484 + Parameter 1444485 1444498 + Identifier 1444485 1444492 + TypeReference 1444493 1444498 + Identifier 1444493 1444498 + Block 1444499 1444783 + IfStatement 1444501 1444577 + BinaryExpression 1444515 1444557 + CallExpression 1444515 1444534 + Identifier 1444515 1444526 + Identifier 1444527 1444533 + AmpersandAmpersandToken 1444534 1444537 + CallExpression 1444537 1444557 + Identifier 1444537 1444549 + Identifier 1444550 1444556 + ReturnStatement 1444558 1444577 + Identifier 1444565 1444576 + ReturnStatement 1444577 1444776 + CallExpression 1444593 1444775 + PropertyAccessExpression 1444593 1444642 + CallExpression 1444593 1444621 + Identifier 1444593 1444613 + Identifier 1444614 1444620 + Identifier 1444636 1444642 + ArrowFunction 1444643 1444774 + Parameter 1444643 1444653 + Identifier 1444643 1444653 + EqualsGreaterThanToken 1444653 1444656 + CallExpression 1444656 1444774 + Identifier 1444656 1444688 + CallExpression 1444689 1444744 + Identifier 1444689 1444712 + Identifier 1444713 1444719 + PropertyAccessExpression 1444720 1444743 + Identifier 1444720 1444731 + Identifier 1444732 1444743 + CallExpression 1444745 1444773 + Identifier 1444745 1444761 + Identifier 1444762 1444772 + FunctionDeclaration 1444783 1445011 + Identifier 1444799 1444831 + Parameter 1444832 1444856 + Identifier 1444832 1444838 + UnionType 1444839 1444856 + TypeReference 1444839 1444844 + Identifier 1444839 1444844 + UndefinedKeyword 1444846 1444856 + Parameter 1444857 1444882 + Identifier 1444857 1444864 + UnionType 1444865 1444882 + TypeReference 1444865 1444870 + Identifier 1444865 1444870 + UndefinedKeyword 1444872 1444882 + Block 1444883 1445011 + ReturnStatement 1444885 1445004 + BinaryExpression 1444901 1445003 + BinaryExpression 1444901 1444970 + BinaryExpression 1444901 1444922 + PrefixUnaryExpression 1444901 1444910 + PrefixUnaryExpression 1444903 1444910 + Identifier 1444904 1444910 + AmpersandAmpersandToken 1444910 1444913 + PrefixUnaryExpression 1444913 1444922 + PrefixUnaryExpression 1444915 1444922 + Identifier 1444916 1444922 + AmpersandAmpersandToken 1444922 1444925 + CallExpression 1444925 1444970 + Identifier 1444925 1444941 + Identifier 1444942 1444948 + PropertyAccessExpression 1444949 1444969 + Identifier 1444949 1444959 + Identifier 1444960 1444969 + AmpersandAmpersandToken 1444970 1444973 + PrefixUnaryExpression 1444973 1445003 + PrefixUnaryExpression 1444975 1445003 + CallExpression 1444976 1445003 + Identifier 1444976 1444995 + Identifier 1444996 1445002 + FunctionDeclaration 1445011 1445189 + Identifier 1445027 1445054 + Parameter 1445055 1445065 + Identifier 1445055 1445059 + TypeReference 1445060 1445065 + Identifier 1445060 1445065 + Block 1445066 1445189 + ReturnStatement 1445068 1445182 + CallExpression 1445084 1445181 + PropertyAccessExpression 1445084 1445117 + CallExpression 1445084 1445110 + Identifier 1445084 1445104 + Identifier 1445105 1445109 + Identifier 1445111 1445117 + ArrowFunction 1445118 1445180 + Parameter 1445118 1445128 + Identifier 1445118 1445128 + EqualsGreaterThanToken 1445128 1445131 + CallExpression 1445131 1445180 + Identifier 1445131 1445151 + CallExpression 1445152 1445179 + Identifier 1445152 1445167 + Identifier 1445168 1445178 + FunctionDeclaration 1445189 1445644 + Identifier 1445205 1445225 + Parameter 1445226 1445238 + Identifier 1445226 1445232 + TypeReference 1445233 1445238 + Identifier 1445233 1445238 + Parameter 1445239 1445271 + Identifier 1445239 1445246 + TypeReference 1445247 1445271 + Identifier 1445247 1445271 + Parameter 1445272 1445309 + Identifier 1445272 1445284 + Identifier 1445286 1445309 + Block 1445310 1445644 + ReturnStatement 1445312 1445637 + BinaryExpression 1445328 1445636 + BinaryExpression 1445328 1445582 + BinaryExpression 1445328 1445525 + BinaryExpression 1445328 1445464 + CallExpression 1445328 1445386 + Identifier 1445328 1445357 + Identifier 1445358 1445364 + Identifier 1445365 1445372 + Identifier 1445373 1445385 + BarBarToken 1445386 1445389 + CallExpression 1445389 1445464 + Identifier 1445389 1445448 + Identifier 1445449 1445455 + Identifier 1445456 1445463 + BarBarToken 1445464 1445467 + CallExpression 1445467 1445525 + Identifier 1445467 1445509 + Identifier 1445510 1445516 + Identifier 1445517 1445524 + BarBarToken 1445525 1445528 + CallExpression 1445528 1445582 + Identifier 1445528 1445566 + Identifier 1445567 1445573 + Identifier 1445574 1445581 + BarBarToken 1445582 1445585 + CallExpression 1445585 1445636 + Identifier 1445585 1445620 + Identifier 1445621 1445627 + Identifier 1445628 1445635 + FunctionDeclaration 1445644 1447499 + Identifier 1445660 1445697 + Parameter 1445698 1445715 + Identifier 1445698 1445704 + TypeReference 1445705 1445715 + Identifier 1445705 1445715 + Parameter 1445716 1445768 + Identifier 1445716 1445731 + ArrayType 1445732 1445768 + ParenthesizedType 1445732 1445766 + TypeOperator 1445734 1445765 + TupleType 1445742 1445765 + FunctionType 1445744 1445754 + TypeReference 1445749 1445754 + Identifier 1445749 1445754 + TypeReference 1445755 1445764 + Identifier 1445755 1445764 + Parameter 1445769 1445828 + Identifier 1445769 1445777 + FunctionType 1445778 1445828 + Parameter 1445780 1445792 + Identifier 1445780 1445786 + TypeReference 1445787 1445792 + Identifier 1445787 1445792 + Parameter 1445793 1445806 + Identifier 1445793 1445800 + TypeReference 1445801 1445806 + Identifier 1445801 1445806 + UnionType 1445810 1445828 + BooleanKeyword 1445810 1445818 + TypeReference 1445820 1445828 + Identifier 1445820 1445828 + Block 1445829 1447499 + VariableStatement 1445831 1445868 + VariableDeclarationList 1445831 1445867 + VariableDeclaration 1445846 1445867 + Identifier 1445846 1445852 + PropertyAccessExpression 1445854 1445867 + Identifier 1445854 1445861 + Identifier 1445862 1445867 + VariableStatement 1445868 1445982 + VariableDeclarationList 1445868 1445981 + VariableDeclaration 1445883 1445981 + Identifier 1445883 1445891 + ArrayType 1445892 1445902 + TypeReference 1445892 1445900 + Identifier 1445892 1445900 + CallExpression 1445904 1445981 + PropertyAccessExpression 1445904 1445914 + Identifier 1445904 1445910 + Identifier 1445911 1445914 + ArrowFunction 1445915 1445980 + Parameter 1445915 1445916 + Identifier 1445915 1445916 + EqualsGreaterThanToken 1445916 1445919 + ConditionalExpression 1445919 1445980 + BinaryExpression 1445919 1445949 + PropertyAccessExpression 1445919 1445927 + Identifier 1445919 1445921 + Identifier 1445922 1445927 + AmpersandToken 1445927 1445929 + PropertyAccessExpression 1445929 1445949 + Identifier 1445929 1445939 + Identifier 1445940 1445949 + QuestionToken 1445949 1445951 + PropertyAccessExpression 1445951 1445965 + Identifier 1445951 1445959 + Identifier 1445960 1445965 + ColonToken 1445965 1445967 + PropertyAccessExpression 1445967 1445980 + Identifier 1445967 1445975 + Identifier 1445976 1445980 + ForOfStatement 1445982 1447281 + VariableDeclarationList 1445997 1446040 + VariableDeclaration 1446002 1446040 + ArrayBindingPattern 1446002 1446040 + BindingElement 1446004 1446025 + Identifier 1446004 1446025 + BindingElement 1446026 1446039 + Identifier 1446026 1446039 + Identifier 1446043 1446058 + Block 1446059 1447281 + VariableStatement 1446061 1446436 + VariableDeclarationList 1446061 1446435 + VariableDeclaration 1446419 1446435 + Identifier 1446419 1446427 + FalseKeyword 1446429 1446435 + ForStatement 1446436 1446939 + VariableDeclarationList 1446455 1446464 + VariableDeclaration 1446458 1446464 + Identifier 1446458 1446460 + NumericLiteral 1446462 1446464 + BinaryExpression 1446465 1446482 + Identifier 1446465 1446467 + LessThanToken 1446467 1446469 + PropertyAccessExpression 1446469 1446482 + Identifier 1446469 1446475 + Identifier 1446476 1446482 + PostfixUnaryExpression 1446483 1446487 + Identifier 1446483 1446485 + Block 1446488 1446939 + IfStatement 1446490 1446924 + ElementAccessExpression 1446512 1446522 + Identifier 1446512 1446519 + Identifier 1446520 1446521 + Block 1446523 1446924 + VariableStatement 1446525 1446630 + VariableDeclarationList 1446525 1446629 + VariableDeclaration 1446552 1446629 + Identifier 1446552 1446563 + CallExpression 1446565 1446629 + Identifier 1446565 1446605 + ElementAccessExpression 1446606 1446614 + Identifier 1446606 1446611 + Identifier 1446612 1446613 + Identifier 1446615 1446628 + IfStatement 1446630 1446905 + BinaryExpression 1446656 1446734 + Identifier 1446656 1446666 + AmpersandAmpersandToken 1446666 1446669 + CallExpression 1446669 1446734 + Identifier 1446669 1446678 + CallExpression 1446679 1446702 + Identifier 1446679 1446700 + ArrowFunction 1446703 1446733 + Parameter 1446703 1446705 + Identifier 1446703 1446705 + EqualsGreaterThanToken 1446705 1446708 + PrefixUnaryExpression 1446708 1446733 + PrefixUnaryExpression 1446710 1446733 + CallExpression 1446711 1446733 + Identifier 1446711 1446718 + Identifier 1446719 1446720 + Identifier 1446721 1446732 + Block 1446735 1446801 + ExpressionStatement 1446737 1446778 + BinaryExpression 1446737 1446777 + Identifier 1446737 1446770 + EqualsToken 1446770 1446772 + TrueKeyword 1446772 1446777 + Block 1446827 1446905 + ExpressionStatement 1446829 1446882 + BinaryExpression 1446829 1446881 + ElementAccessExpression 1446829 1446865 + Identifier 1446829 1446862 + Identifier 1446863 1446864 + EqualsToken 1446865 1446867 + PropertyAccessExpression 1446867 1446881 + Identifier 1446867 1446875 + Identifier 1446876 1446881 + ForStatement 1446939 1447270 + VariableDeclarationList 1447074 1447083 + VariableDeclaration 1447077 1447083 + Identifier 1447077 1447079 + NumericLiteral 1447081 1447083 + BinaryExpression 1447084 1447101 + Identifier 1447084 1447086 + LessThanToken 1447086 1447088 + PropertyAccessExpression 1447088 1447101 + Identifier 1447088 1447094 + Identifier 1447095 1447101 + PostfixUnaryExpression 1447102 1447106 + Identifier 1447102 1447104 + Block 1447107 1447270 + IfStatement 1447109 1447255 + BinaryExpression 1447131 1447159 + ElementAccessExpression 1447131 1447141 + Identifier 1447131 1447138 + Identifier 1447139 1447140 + EqualsEqualsEqualsToken 1447141 1447145 + PropertyAccessExpression 1447145 1447159 + Identifier 1447145 1447153 + Identifier 1447154 1447159 + Block 1447160 1447255 + ExpressionStatement 1447162 1447236 + BinaryExpression 1447162 1447235 + ElementAccessExpression 1447162 1447194 + Identifier 1447162 1447191 + Identifier 1447192 1447193 + EqualsToken 1447194 1447196 + ConditionalExpression 1447196 1447235 + Identifier 1447196 1447204 + QuestionToken 1447204 1447206 + PropertyAccessExpression 1447206 1447220 + Identifier 1447206 1447214 + Identifier 1447215 1447220 + ColonToken 1447220 1447222 + PropertyAccessExpression 1447222 1447235 + Identifier 1447222 1447230 + Identifier 1447231 1447235 + VariableStatement 1447281 1447422 + VariableDeclarationList 1447281 1447421 + VariableDeclaration 1447296 1447421 + Identifier 1447296 1447305 + ConditionalExpression 1447307 1447421 + CallExpression 1447307 1447340 + Identifier 1447307 1447316 + Identifier 1447317 1447324 + PropertyAccessExpression 1447325 1447339 + Identifier 1447325 1447333 + Identifier 1447334 1447339 + QuestionToken 1447340 1447342 + CallExpression 1447342 1447412 + Identifier 1447342 1447355 + CallExpression 1447356 1447390 + PropertyAccessExpression 1447356 1447368 + Identifier 1447356 1447361 + Identifier 1447362 1447368 + ArrowFunction 1447369 1447389 + Parameter 1447370 1447371 + Identifier 1447370 1447371 + Parameter 1447372 1447374 + Identifier 1447372 1447374 + EqualsGreaterThanToken 1447375 1447378 + ElementAccessExpression 1447378 1447389 + Identifier 1447378 1447386 + Identifier 1447387 1447388 + PropertyAccessExpression 1447391 1447411 + Identifier 1447391 1447406 + Identifier 1447407 1447411 + ColonToken 1447412 1447414 + Identifier 1447414 1447421 + ReturnStatement 1447422 1447492 + ConditionalExpression 1447438 1447491 + BinaryExpression 1447438 1447471 + PropertyAccessExpression 1447438 1447453 + Identifier 1447438 1447447 + Identifier 1447448 1447453 + AmpersandToken 1447453 1447455 + PropertyAccessExpression 1447455 1447471 + Identifier 1447455 1447465 + Identifier 1447466 1447471 + QuestionToken 1447471 1447473 + Identifier 1447473 1447480 + ColonToken 1447480 1447482 + Identifier 1447482 1447491 + FunctionDeclaration 1447499 1448430 + Identifier 1447700 1447711 + Parameter 1447712 1447722 + Identifier 1447712 1447716 + TypeReference 1447717 1447722 + Identifier 1447717 1447722 + BooleanKeyword 1447724 1447732 + Block 1447732 1448430 + IfStatement 1447734 1448132 + BinaryExpression 1447748 1447777 + PropertyAccessExpression 1447748 1447758 + Identifier 1447748 1447752 + Identifier 1447753 1447758 + AmpersandToken 1447758 1447760 + PropertyAccessExpression 1447760 1447777 + Identifier 1447760 1447770 + Identifier 1447771 1447777 + Block 1447778 1448132 + VariableStatement 1447780 1447860 + VariableDeclarationList 1447780 1447859 + VariableDeclaration 1447799 1447859 + Identifier 1447799 1447808 + CallExpression 1447810 1447859 + Identifier 1447810 1447839 + AsExpression 1447840 1447858 + Identifier 1447840 1447844 + TypeReference 1447847 1447858 + Identifier 1447847 1447858 + ReturnStatement 1447860 1448121 + BinaryExpression 1447880 1448120 + BinaryExpression 1447880 1448049 + BinaryExpression 1447880 1447998 + BinaryExpression 1447880 1447962 + BinaryExpression 1447880 1447917 + PropertyAccessExpression 1447880 1447911 + PropertyAccessExpression 1447880 1447904 + Identifier 1447880 1447889 + Identifier 1447890 1447904 + Identifier 1447905 1447911 + EqualsEqualsEqualsToken 1447911 1447915 + NumericLiteral 1447915 1447917 + AmpersandAmpersandToken 1447917 1447920 + BinaryExpression 1447920 1447962 + PropertyAccessExpression 1447920 1447956 + PropertyAccessExpression 1447920 1447949 + Identifier 1447920 1447929 + Identifier 1447930 1447949 + Identifier 1447950 1447956 + EqualsEqualsEqualsToken 1447956 1447960 + NumericLiteral 1447960 1447962 + AmpersandAmpersandToken 1447962 1447965 + BinaryExpression 1447965 1447998 + PropertyAccessExpression 1447965 1447992 + PropertyAccessExpression 1447965 1447985 + Identifier 1447965 1447974 + Identifier 1447975 1447985 + Identifier 1447986 1447992 + EqualsEqualsEqualsToken 1447992 1447996 + NumericLiteral 1447996 1447998 + AmpersandAmpersandToken 1447998 1448001 + BinaryExpression 1448001 1448049 + PropertyAccessExpression 1448001 1448045 + PropertyAccessExpression 1448001 1448038 + Identifier 1448001 1448027 + Identifier 1448028 1448038 + Identifier 1448039 1448045 + GreaterThanToken 1448045 1448047 + NumericLiteral 1448047 1448049 + AmpersandAmpersandToken 1448049 1448052 + CallExpression 1448052 1448120 + Identifier 1448052 1448058 + PropertyAccessExpression 1448059 1448078 + Identifier 1448059 1448067 + Identifier 1448068 1448078 + ArrowFunction 1448079 1448119 + Parameter 1448079 1448081 + Identifier 1448079 1448081 + EqualsGreaterThanToken 1448081 1448084 + PrefixUnaryExpression 1448084 1448119 + PrefixUnaryExpression 1448086 1448119 + ParenthesizedExpression 1448087 1448119 + BinaryExpression 1448088 1448118 + PropertyAccessExpression 1448088 1448095 + Identifier 1448088 1448089 + Identifier 1448090 1448095 + AmpersandToken 1448095 1448097 + PropertyAccessExpression 1448097 1448118 + Identifier 1448097 1448109 + Identifier 1448110 1448118 + IfStatement 1448132 1448264 + BinaryExpression 1448146 1448181 + PropertyAccessExpression 1448146 1448156 + Identifier 1448146 1448150 + Identifier 1448151 1448156 + AmpersandToken 1448156 1448158 + PropertyAccessExpression 1448158 1448181 + Identifier 1448158 1448168 + Identifier 1448169 1448181 + Block 1448182 1448264 + ReturnStatement 1448184 1448253 + CallExpression 1448204 1448252 + Identifier 1448204 1448215 + PropertyAccessExpression 1448216 1448251 + ParenthesizedExpression 1448216 1448242 + AsExpression 1448217 1448241 + Identifier 1448217 1448221 + TypeReference 1448224 1448241 + Identifier 1448224 1448241 + Identifier 1448243 1448251 + IfStatement 1448264 1448400 + BinaryExpression 1448278 1448313 + PropertyAccessExpression 1448278 1448288 + Identifier 1448278 1448282 + Identifier 1448283 1448288 + AmpersandToken 1448288 1448290 + PropertyAccessExpression 1448290 1448313 + Identifier 1448290 1448300 + Identifier 1448301 1448313 + Block 1448314 1448400 + ReturnStatement 1448316 1448389 + CallExpression 1448336 1448388 + Identifier 1448336 1448342 + PropertyAccessExpression 1448343 1448375 + ParenthesizedExpression 1448343 1448369 + AsExpression 1448344 1448368 + Identifier 1448344 1448348 + TypeReference 1448351 1448368 + Identifier 1448351 1448368 + Identifier 1448370 1448375 + Identifier 1448376 1448387 + ReturnStatement 1448400 1448423 + FalseKeyword 1448416 1448422 + FunctionDeclaration 1448430 1448764 + Identifier 1448446 1448466 + Parameter 1448467 1448479 + Identifier 1448467 1448473 + TypeReference 1448474 1448479 + Identifier 1448474 1448479 + Parameter 1448480 1448493 + Identifier 1448480 1448487 + TypeReference 1448488 1448493 + Identifier 1448488 1448493 + Parameter 1448494 1448528 + Identifier 1448494 1448519 + BooleanKeyword 1448520 1448528 + Block 1448529 1448764 + ForOfStatement 1448531 1448734 + VariableDeclarationList 1448546 1448556 + VariableDeclaration 1448551 1448556 + Identifier 1448551 1448556 + CallExpression 1448559 1448587 + Identifier 1448559 1448579 + Identifier 1448580 1448586 + Block 1448588 1448734 + IfStatement 1448590 1448723 + CallExpression 1448608 1448675 + Identifier 1448608 1448623 + Identifier 1448624 1448630 + PropertyAccessExpression 1448631 1448648 + Identifier 1448631 1448636 + Identifier 1448637 1448648 + Identifier 1448649 1448674 + Block 1448676 1448723 + ReturnStatement 1448678 1448708 + TrueKeyword 1448702 1448707 + ReturnStatement 1448734 1448757 + FalseKeyword 1448750 1448756 + FunctionDeclaration 1448764 1449149 + Identifier 1448780 1448793 + Parameter 1448794 1448811 + Identifier 1448794 1448798 + TypeReference 1448799 1448811 + Identifier 1448799 1448811 + ArrayType 1448813 1448829 + TypeReference 1448813 1448827 + Identifier 1448813 1448827 + Block 1448829 1449149 + ReturnStatement 1448831 1449142 + ConditionalExpression 1448942 1449141 + BinaryExpression 1448942 1449043 + BinaryExpression 1448942 1449003 + BinaryExpression 1448942 1448967 + Identifier 1448942 1448947 + EqualsEqualsEqualsToken 1448947 1448951 + Identifier 1448951 1448967 + BarBarToken 1448967 1448970 + BinaryExpression 1448970 1449003 + Identifier 1448970 1448975 + EqualsEqualsEqualsToken 1448975 1448979 + Identifier 1448979 1449003 + BarBarToken 1449003 1449006 + BinaryExpression 1449006 1449043 + PropertyAccessExpression 1449006 1449023 + Identifier 1449006 1449011 + Identifier 1449012 1449023 + AmpersandToken 1449023 1449025 + PropertyAccessExpression 1449025 1449043 + Identifier 1449025 1449037 + Identifier 1449038 1449043 + QuestionToken 1449043 1449045 + Identifier 1449045 1449073 + ColonToken 1449073 1449075 + CallExpression 1449075 1449141 + Identifier 1449075 1449107 + PropertyAccessExpression 1449108 1449119 + Identifier 1449108 1449112 + Identifier 1449113 1449119 + PropertyAccessExpression 1449120 1449140 + Identifier 1449120 1449125 + Identifier 1449126 1449140 + FunctionDeclaration 1449149 1449291 + Identifier 1449165 1449183 + Parameter 1449184 1449198 + Identifier 1449184 1449190 + TypeReference 1449191 1449198 + Identifier 1449191 1449198 + Block 1449199 1449291 + ReturnStatement 1449201 1449284 + CallExpression 1449217 1449283 + Identifier 1449217 1449236 + Identifier 1449237 1449243 + PropertyAccessExpression 1449244 1449282 + CallExpression 1449244 1449267 + Identifier 1449244 1449259 + Identifier 1449260 1449266 + Identifier 1449268 1449282 + FunctionDeclaration 1449291 1453360 + Identifier 1449795 1449814 + Parameter 1449815 1449829 + Identifier 1449815 1449821 + TypeReference 1449822 1449829 + Identifier 1449822 1449829 + Parameter 1449830 1449884 + Identifier 1449830 1449845 + TypeOperator 1449846 1449871 + ArrayType 1449855 1449871 + TypeReference 1449855 1449869 + Identifier 1449855 1449869 + Identifier 1449873 1449884 + ArrayType 1449886 1449902 + TypeReference 1449886 1449900 + Identifier 1449886 1449900 + Block 1449902 1453360 + VariableStatement 1449904 1449951 + VariableDeclarationList 1449904 1449950 + VariableDeclaration 1449919 1449950 + Identifier 1449919 1449925 + CallExpression 1449927 1449950 + Identifier 1449927 1449942 + Identifier 1449943 1449949 + IfStatement 1449951 1453320 + PrefixUnaryExpression 1449965 1449981 + PropertyAccessExpression 1449966 1449981 + Identifier 1449966 1449971 + Identifier 1449972 1449981 + Block 1449982 1453320 + ExpressionStatement 1449984 1450142 + CallExpression 1449984 1450141 + PropertyAccessExpression 1449984 1450011 + Identifier 1449984 1450005 + QuestionDotToken 1450005 1450007 + Identifier 1450007 1450011 + PropertyAccessExpression 1450012 1450036 + PropertyAccessExpression 1450012 1450025 + Identifier 1450012 1450019 + Identifier 1450020 1450025 + Identifier 1450026 1450036 + StringLiteral 1450037 1450058 + ObjectLiteralExpression 1450059 1450140 + PropertyAssignment 1450061 1450090 + Identifier 1450061 1450067 + PropertyAccessExpression 1450068 1450090 + Identifier 1450068 1450083 + Identifier 1450084 1450090 + PropertyAssignment 1450091 1450138 + Identifier 1450091 1450094 + CallExpression 1450095 1450138 + Identifier 1450095 1450105 + CallExpression 1450106 1450137 + Identifier 1450106 1450129 + Identifier 1450130 1450136 + VariableStatement 1450142 1450209 + VariableDeclarationList 1450142 1450208 + VariableDeclaration 1450161 1450208 + Identifier 1450161 1450184 + Identifier 1450186 1450208 + VariableStatement 1450209 1450267 + VariableDeclarationList 1450209 1450266 + VariableDeclaration 1450228 1450266 + Identifier 1450228 1450248 + Identifier 1450250 1450266 + IfStatement 1450267 1450433 + PrefixUnaryExpression 1450285 1450307 + Identifier 1450286 1450307 + Block 1450308 1450433 + ExpressionStatement 1450310 1450357 + BinaryExpression 1450310 1450356 + Identifier 1450310 1450349 + EqualsToken 1450349 1450351 + TrueKeyword 1450351 1450356 + ExpressionStatement 1450357 1450418 + BinaryExpression 1450357 1450417 + Identifier 1450357 1450390 + EqualsToken 1450390 1450392 + PropertyAccessExpression 1450392 1450417 + Identifier 1450392 1450410 + Identifier 1450411 1450417 + ExpressionStatement 1450433 1450476 + BinaryExpression 1450433 1450475 + PropertyAccessExpression 1450433 1450462 + Identifier 1450433 1450452 + Identifier 1450453 1450462 + EqualsToken 1450462 1450464 + Identifier 1450464 1450475 + VariableStatement 1450476 1450511 + VariableDeclarationList 1450476 1450510 + VariableDeclaration 1450495 1450510 + Identifier 1450495 1450505 + ArrayLiteralExpression 1450507 1450510 + ForOfStatement 1450511 1453025 + VariableDeclarationList 1450530 1450538 + VariableDeclaration 1450535 1450538 + Identifier 1450535 1450538 + Identifier 1450541 1450556 + Block 1450557 1453025 + VariableStatement 1450559 1450625 + VariableDeclarationList 1450559 1450624 + VariableDeclaration 1450582 1450624 + Identifier 1450582 1450592 + CallExpression 1450594 1450624 + Identifier 1450594 1450620 + Identifier 1450621 1450623 + VariableStatement 1450625 1450886 + VariableDeclarationList 1450625 1450885 + VariableDeclaration 1450646 1450885 + Identifier 1450646 1450655 + ConditionalExpression 1450657 1450885 + BinaryExpression 1450657 1450687 + Identifier 1450657 1450667 + AmpersandToken 1450667 1450669 + PropertyAccessExpression 1450669 1450687 + Identifier 1450669 1450683 + Identifier 1450684 1450687 + QuestionToken 1450687 1450689 + ConditionalExpression 1450689 1450791 + BinaryExpression 1450689 1450739 + Identifier 1450689 1450720 + AmpersandToken 1450720 1450722 + PropertyAccessExpression 1450722 1450739 + Identifier 1450722 1450736 + Identifier 1450737 1450739 + QuestionToken 1450739 1450741 + PropertyAccessExpression 1450741 1450765 + Identifier 1450741 1450755 + Identifier 1450756 1450765 + ColonToken 1450765 1450767 + PropertyAccessExpression 1450767 1450791 + Identifier 1450767 1450781 + Identifier 1450782 1450791 + ColonToken 1450791 1450793 + ConditionalExpression 1450793 1450885 + BinaryExpression 1450793 1450843 + Identifier 1450793 1450824 + AmpersandToken 1450824 1450826 + PropertyAccessExpression 1450826 1450843 + Identifier 1450826 1450840 + Identifier 1450841 1450843 + QuestionToken 1450843 1450845 + PropertyAccessExpression 1450845 1450873 + Identifier 1450845 1450859 + Identifier 1450860 1450873 + ColonToken 1450873 1450875 + Identifier 1450875 1450885 + IfStatement 1450886 1452967 + BinaryExpression 1450908 1450930 + Identifier 1450908 1450916 + EqualsEqualsEqualsToken 1450916 1450920 + Identifier 1450920 1450930 + Block 1450931 1452967 + VariableStatement 1450933 1450980 + VariableDeclarationList 1450933 1450979 + VariableDeclaration 1450958 1450979 + Identifier 1450958 1450971 + FalseKeyword 1450973 1450979 + VariableStatement 1450980 1451025 + VariableDeclarationList 1450980 1451024 + VariableDeclaration 1451005 1451024 + Identifier 1451005 1451016 + FalseKeyword 1451018 1451024 + VariableStatement 1451025 1451097 + VariableDeclarationList 1451025 1451096 + VariableDeclaration 1451052 1451096 + Identifier 1451052 1451063 + Identifier 1451065 1451096 + ExpressionStatement 1451097 1451227 + BinaryExpression 1451097 1451226 + Identifier 1451097 1451149 + EqualsToken 1451149 1451151 + ArrowFunction 1451151 1451226 + Parameter 1451151 1451166 + Identifier 1451151 1451166 + EqualsGreaterThanToken 1451166 1451169 + ConditionalExpression 1451169 1451226 + Identifier 1451169 1451184 + QuestionToken 1451184 1451186 + BinaryExpression 1451186 1451204 + Identifier 1451186 1451197 + EqualsToken 1451197 1451199 + TrueKeyword 1451199 1451204 + ColonToken 1451204 1451206 + BinaryExpression 1451206 1451226 + Identifier 1451206 1451219 + EqualsToken 1451219 1451221 + TrueKeyword 1451221 1451226 + VariableStatement 1451227 1451593 + VariableDeclarationList 1451227 1451592 + VariableDeclaration 1451530 1451592 + Identifier 1451530 1451544 + CallExpression 1451546 1451592 + Identifier 1451546 1451563 + Identifier 1451564 1451570 + Identifier 1451571 1451574 + Identifier 1451575 1451591 + VariableStatement 1451593 1451679 + VariableDeclarationList 1451593 1451678 + VariableDeclaration 1451620 1451678 + Identifier 1451620 1451632 + CallExpression 1451634 1451678 + Identifier 1451634 1451651 + Identifier 1451652 1451658 + Identifier 1451659 1451662 + Identifier 1451663 1451677 + ExpressionStatement 1451679 1451901 + BinaryExpression 1451679 1451900 + Identifier 1451679 1451709 + EqualsToken 1451709 1451711 + BinaryExpression 1451711 1451900 + ParenthesizedExpression 1451711 1451790 + ConditionalExpression 1451713 1451789 + CallExpression 1451713 1451759 + Identifier 1451713 1451731 + Identifier 1451732 1451743 + Identifier 1451744 1451758 + QuestionToken 1451759 1451761 + PropertyAccessExpression 1451761 1451785 + Identifier 1451761 1451775 + Identifier 1451776 1451785 + ColonToken 1451785 1451787 + NumericLiteral 1451787 1451789 + BarToken 1451790 1451792 + ParenthesizedExpression 1451792 1451900 + ConditionalExpression 1451819 1451899 + CallExpression 1451819 1451865 + Identifier 1451819 1451837 + Identifier 1451838 1451851 + Identifier 1451852 1451864 + QuestionToken 1451865 1451867 + PropertyAccessExpression 1451867 1451895 + Identifier 1451867 1451881 + Identifier 1451882 1451895 + ColonToken 1451895 1451897 + NumericLiteral 1451897 1451899 + IfStatement 1451901 1452526 + BinaryExpression 1452317 1452437 + BinaryExpression 1452317 1452353 + Identifier 1452317 1452325 + EqualsEqualsEqualsToken 1452325 1452329 + PropertyAccessExpression 1452329 1452353 + Identifier 1452329 1452343 + Identifier 1452344 1452353 + AmpersandAmpersandToken 1452353 1452356 + CallExpression 1452356 1452437 + Identifier 1452356 1452375 + CallExpression 1452376 1452421 + Identifier 1452376 1452392 + Identifier 1452393 1452399 + Identifier 1452400 1452403 + Identifier 1452404 1452420 + Identifier 1452422 1452436 + Block 1452438 1452526 + ExpressionStatement 1452440 1452503 + BinaryExpression 1452440 1452502 + Identifier 1452440 1452474 + EqualsToken 1452474 1452476 + PropertyAccessExpression 1452476 1452502 + Identifier 1452476 1452490 + Identifier 1452491 1452502 + ExpressionStatement 1452526 1452592 + BinaryExpression 1452526 1452591 + Identifier 1452526 1452578 + EqualsToken 1452578 1452580 + Identifier 1452580 1452591 + IfStatement 1452592 1452948 + BinaryExpression 1452618 1452644 + Identifier 1452618 1452630 + BarBarToken 1452630 1452633 + Identifier 1452633 1452644 + Block 1452645 1452948 + IfStatement 1452647 1452788 + Identifier 1452677 1452689 + Block 1452690 1452788 + ExpressionStatement 1452692 1452761 + BinaryExpression 1452692 1452760 + Identifier 1452692 1452730 + BarEqualsToken 1452730 1452733 + PropertyAccessExpression 1452733 1452760 + Identifier 1452733 1452747 + Identifier 1452748 1452760 + IfStatement 1452788 1452925 + Identifier 1452818 1452828 + Block 1452829 1452925 + ExpressionStatement 1452831 1452898 + BinaryExpression 1452831 1452897 + Identifier 1452831 1452869 + BarEqualsToken 1452869 1452872 + PropertyAccessExpression 1452872 1452897 + Identifier 1452872 1452886 + Identifier 1452887 1452897 + ExpressionStatement 1452967 1453010 + CallExpression 1452967 1453009 + PropertyAccessExpression 1452967 1452999 + Identifier 1452967 1452994 + Identifier 1452995 1452999 + Identifier 1453000 1453008 + IfStatement 1453025 1453188 + PrefixUnaryExpression 1453043 1453066 + Identifier 1453044 1453066 + Block 1453067 1453188 + ExpressionStatement 1453069 1453117 + BinaryExpression 1453069 1453116 + Identifier 1453069 1453108 + EqualsToken 1453108 1453110 + FalseKeyword 1453110 1453116 + ExpressionStatement 1453117 1453173 + BinaryExpression 1453117 1453172 + Identifier 1453117 1453150 + EqualsToken 1453150 1453152 + Identifier 1453152 1453172 + ExpressionStatement 1453188 1453230 + BinaryExpression 1453188 1453229 + PropertyAccessExpression 1453188 1453217 + Identifier 1453188 1453207 + Identifier 1453208 1453217 + EqualsToken 1453217 1453219 + Identifier 1453219 1453229 + ExpressionStatement 1453230 1453309 + CallExpression 1453230 1453308 + PropertyAccessExpression 1453230 1453256 + Identifier 1453230 1453251 + QuestionDotToken 1453251 1453253 + Identifier 1453253 1453256 + ObjectLiteralExpression 1453257 1453307 + PropertyAssignment 1453258 1453305 + Identifier 1453258 1453268 + CallExpression 1453269 1453305 + PropertyAccessExpression 1453269 1453283 + Identifier 1453269 1453279 + Identifier 1453280 1453283 + PropertyAccessExpression 1453284 1453304 + Identifier 1453284 1453289 + Identifier 1453290 1453304 + ReturnStatement 1453320 1453353 + PropertyAccessExpression 1453336 1453352 + Identifier 1453336 1453342 + Identifier 1453343 1453352 + FunctionDeclaration 1453360 1454008 + Identifier 1453376 1453393 + Parameter 1453394 1453408 + Identifier 1453394 1453400 + TypeReference 1453401 1453408 + Identifier 1453401 1453408 + Parameter 1453409 1453431 + Identifier 1453409 1453416 + TypeReference 1453417 1453431 + Identifier 1453417 1453431 + Parameter 1453432 1453445 + Identifier 1453432 1453439 + TypeReference 1453440 1453445 + Identifier 1453440 1453445 + Block 1453446 1454008 + VariableStatement 1453448 1453509 + VariableDeclarationList 1453448 1453508 + VariableDeclaration 1453463 1453508 + Identifier 1453463 1453470 + CallExpression 1453472 1453508 + Identifier 1453472 1453492 + Identifier 1453493 1453499 + Identifier 1453500 1453507 + VariableStatement 1453509 1453564 + VariableDeclarationList 1453509 1453563 + VariableDeclaration 1453524 1453563 + Identifier 1453524 1453529 + CallExpression 1453531 1453563 + Identifier 1453531 1453555 + Identifier 1453556 1453562 + IfStatement 1453564 1453635 + CallExpression 1453578 1453595 + Identifier 1453578 1453589 + Identifier 1453590 1453594 + Block 1453596 1453635 + ReturnStatement 1453598 1453624 + Identifier 1453618 1453623 + VariableStatement 1453635 1453932 + VariableDeclarationList 1453635 1453931 + VariableDeclaration 1453650 1453931 + Identifier 1453650 1453657 + ConditionalExpression 1453659 1453931 + BinaryExpression 1453659 1453696 + PropertyAccessExpression 1453659 1453672 + Identifier 1453659 1453666 + Identifier 1453667 1453672 + AmpersandToken 1453672 1453674 + PropertyAccessExpression 1453674 1453696 + Identifier 1453674 1453686 + Identifier 1453687 1453696 + QuestionToken 1453696 1453698 + CallExpression 1453698 1453811 + Identifier 1453698 1453737 + Identifier 1453738 1453744 + CallExpression 1453745 1453810 + Identifier 1453745 1453762 + NonNullExpression 1453763 1453801 + PropertyAccessExpression 1453763 1453800 + CallExpression 1453763 1453785 + Identifier 1453763 1453777 + Identifier 1453778 1453784 + Identifier 1453786 1453800 + Identifier 1453802 1453809 + ColonToken 1453811 1453813 + CallExpression 1453813 1453931 + Identifier 1453813 1453846 + AsExpression 1453847 1453866 + Identifier 1453847 1453851 + TypeReference 1453854 1453866 + Identifier 1453854 1453866 + CallExpression 1453867 1453930 + Identifier 1453867 1453884 + PropertyAccessExpression 1453885 1453921 + ParenthesizedExpression 1453885 1453906 + AsExpression 1453886 1453905 + Identifier 1453886 1453890 + TypeReference 1453893 1453905 + Identifier 1453893 1453905 + Identifier 1453907 1453921 + Identifier 1453922 1453929 + ExpressionStatement 1453932 1453977 + CallExpression 1453932 1453976 + PropertyAccessExpression 1453932 1453957 + Identifier 1453932 1453953 + Identifier 1453954 1453957 + CallExpression 1453958 1453975 + Identifier 1453958 1453967 + Identifier 1453968 1453974 + ReturnStatement 1453977 1454001 + Identifier 1453993 1454000 + FunctionDeclaration 1454008 1454108 + Identifier 1454024 1454037 + Parameter 1454038 1454048 + Identifier 1454038 1454042 + TypeReference 1454043 1454048 + Identifier 1454043 1454048 + Block 1454049 1454108 + ReturnStatement 1454051 1454101 + CallExpression 1454067 1454100 + PropertyAccessExpression 1454067 1454083 + Identifier 1454067 1454079 + Identifier 1454080 1454083 + CallExpression 1454084 1454099 + Identifier 1454084 1454093 + Identifier 1454094 1454098 + FunctionDeclaration 1454108 1454389 + Identifier 1454124 1454150 + Parameter 1454151 1454168 + Identifier 1454151 1454153 + TypeReference 1454154 1454168 + Identifier 1454154 1454168 + TypeReference 1454170 1454184 + Identifier 1454170 1454184 + Block 1454184 1454389 + ReturnStatement 1454186 1454382 + BinaryExpression 1454202 1454381 + CallExpression 1454202 1454318 + Identifier 1454202 1454213 + PropertyAccessExpression 1454214 1454237 + PropertyAccessExpression 1454214 1454223 + Identifier 1454214 1454216 + Identifier 1454217 1454223 + QuestionDotToken 1454223 1454225 + Identifier 1454225 1454237 + ArrowFunction 1454238 1454297 + Parameter 1454240 1454249 + Identifier 1454240 1454249 + Parameter 1454250 1454252 + Identifier 1454250 1454252 + EqualsGreaterThanToken 1454253 1454256 + BinaryExpression 1454256 1454297 + Identifier 1454256 1454266 + BarToken 1454266 1454268 + CallExpression 1454268 1454297 + Identifier 1454268 1454294 + Identifier 1454295 1454296 + PropertyAccessExpression 1454298 1454317 + Identifier 1454298 1454312 + Identifier 1454313 1454317 + AmpersandToken 1454318 1454320 + ParenthesizedExpression 1454320 1454381 + BinaryExpression 1454322 1454380 + BinaryExpression 1454322 1454358 + PropertyAccessExpression 1454322 1454338 + Identifier 1454322 1454335 + Identifier 1454336 1454338 + BarToken 1454338 1454340 + PropertyAccessExpression 1454340 1454358 + Identifier 1454340 1454354 + Identifier 1454355 1454358 + BarToken 1454358 1454360 + PropertyAccessExpression 1454360 1454380 + Identifier 1454360 1454374 + Identifier 1454375 1454380 + FunctionDeclaration 1454389 1454965 + Identifier 1454594 1454619 + Parameter 1454620 1454650 + Identifier 1454620 1454633 + TypeOperator 1454634 1454650 + ArrayType 1454643 1454650 + TypeReference 1454643 1454648 + Identifier 1454643 1454648 + Parameter 1454651 1454678 + Identifier 1454651 1454661 + ArrayType 1454662 1454678 + TypeReference 1454662 1454676 + Identifier 1454662 1454676 + BooleanKeyword 1454680 1454688 + Block 1454688 1454965 + ForStatement 1454690 1454935 + VariableDeclarationList 1454705 1454714 + VariableDeclaration 1454708 1454714 + Identifier 1454708 1454710 + NumericLiteral 1454712 1454714 + BinaryExpression 1454715 1454736 + Identifier 1454715 1454717 + LessThanToken 1454717 1454719 + PropertyAccessExpression 1454719 1454736 + Identifier 1454719 1454729 + Identifier 1454730 1454736 + PostfixUnaryExpression 1454737 1454741 + Identifier 1454737 1454739 + Block 1454742 1454935 + IfStatement 1454744 1454924 + BinaryExpression 1454762 1454876 + BinaryExpression 1454762 1454833 + ParenthesizedExpression 1454762 1454805 + BinaryExpression 1454763 1454804 + ElementAccessExpression 1454763 1454775 + Identifier 1454763 1454772 + Identifier 1454773 1454774 + AmpersandToken 1454775 1454777 + PropertyAccessExpression 1454777 1454804 + Identifier 1454777 1454791 + Identifier 1454792 1454804 + EqualsEqualsEqualsToken 1454805 1454809 + PropertyAccessExpression 1454809 1454833 + Identifier 1454809 1454823 + Identifier 1454824 1454833 + AmpersandAmpersandToken 1454833 1454836 + BinaryExpression 1454836 1454876 + PropertyAccessExpression 1454836 1454859 + ElementAccessExpression 1454836 1454853 + Identifier 1454836 1454850 + Identifier 1454851 1454852 + Identifier 1454854 1454859 + AmpersandToken 1454859 1454861 + PropertyAccessExpression 1454861 1454876 + Identifier 1454861 1454871 + Identifier 1454872 1454876 + Block 1454877 1454924 + ReturnStatement 1454879 1454909 + TrueKeyword 1454903 1454908 + ReturnStatement 1454935 1454958 + FalseKeyword 1454951 1454957 + FunctionDeclaration 1454965 1455141 + Identifier 1454981 1455010 + Parameter 1455011 1455021 + Identifier 1455011 1455015 + TypeReference 1455016 1455021 + Identifier 1455016 1455021 + Block 1455022 1455141 + ReturnStatement 1455024 1455134 + BinaryExpression 1455040 1455133 + BinaryExpression 1455040 1455077 + PropertyAccessExpression 1455040 1455051 + Identifier 1455040 1455045 + Identifier 1455046 1455051 + AmpersandToken 1455051 1455053 + PropertyAccessExpression 1455053 1455077 + Identifier 1455053 1455063 + Identifier 1455064 1455077 + AmpersandAmpersandToken 1455077 1455080 + PrefixUnaryExpression 1455080 1455133 + CallExpression 1455082 1455133 + Identifier 1455082 1455110 + AsExpression 1455111 1455132 + Identifier 1455111 1455115 + TypeReference 1455118 1455132 + Identifier 1455118 1455132 + FunctionDeclaration 1455141 1455327 + Identifier 1455157 1455184 + Parameter 1455185 1455195 + Identifier 1455185 1455189 + TypeReference 1455190 1455195 + Identifier 1455190 1455195 + TypePredicate 1455197 1455219 + Identifier 1455197 1455202 + TypeReference 1455205 1455219 + Identifier 1455205 1455219 + Block 1455219 1455327 + ReturnStatement 1455221 1455320 + BinaryExpression 1455237 1455319 + PrefixUnaryExpression 1455237 1455286 + PrefixUnaryExpression 1455239 1455286 + ParenthesizedExpression 1455240 1455286 + BinaryExpression 1455241 1455285 + CallExpression 1455241 1455261 + Identifier 1455241 1455255 + Identifier 1455256 1455260 + AmpersandToken 1455261 1455263 + PropertyAccessExpression 1455263 1455285 + Identifier 1455263 1455275 + Identifier 1455276 1455285 + AmpersandAmpersandToken 1455286 1455289 + PrefixUnaryExpression 1455289 1455319 + PropertyAccessExpression 1455291 1455319 + ParenthesizedExpression 1455291 1455314 + AsExpression 1455292 1455313 + Identifier 1455292 1455296 + TypeReference 1455299 1455313 + Identifier 1455299 1455313 + Identifier 1455315 1455319 + FunctionDeclaration 1455327 1455577 + Identifier 1455343 1455379 + Parameter 1455380 1455390 + Identifier 1455380 1455384 + TypeReference 1455385 1455390 + Identifier 1455385 1455390 + BooleanKeyword 1455392 1455400 + Block 1455400 1455577 + ReturnStatement 1455402 1455570 + BinaryExpression 1455418 1455569 + CallExpression 1455418 1455451 + Identifier 1455418 1455445 + Identifier 1455446 1455450 + AmpersandAmpersandToken 1455451 1455454 + CallExpression 1455454 1455569 + Identifier 1455454 1455459 + CallExpression 1455460 1455482 + Identifier 1455460 1455476 + Identifier 1455477 1455481 + ArrowFunction 1455483 1455568 + Parameter 1455483 1455485 + Identifier 1455483 1455485 + EqualsGreaterThanToken 1455485 1455488 + BinaryExpression 1455488 1455568 + PrefixUnaryExpression 1455488 1455526 + PrefixUnaryExpression 1455490 1455526 + ParenthesizedExpression 1455491 1455526 + BinaryExpression 1455492 1455525 + PropertyAccessExpression 1455492 1455499 + Identifier 1455492 1455493 + Identifier 1455494 1455499 + AmpersandToken 1455499 1455501 + PropertyAccessExpression 1455501 1455525 + Identifier 1455501 1455511 + Identifier 1455512 1455525 + BarBarToken 1455526 1455529 + CallExpression 1455529 1455568 + Identifier 1455529 1455565 + Identifier 1455566 1455567 + FunctionDeclaration 1455577 1457351 + Identifier 1455593 1455628 + Parameter 1455629 1455650 + Identifier 1455629 1455635 + TypeReference 1455636 1455650 + Identifier 1455636 1455650 + Parameter 1455651 1455673 + Identifier 1455651 1455658 + TypeReference 1455659 1455673 + Identifier 1455659 1455673 + Parameter 1455674 1455690 + Identifier 1455674 1455682 + StringKeyword 1455683 1455690 + Parameter 1455691 1455718 + Identifier 1455691 1455709 + BooleanKeyword 1455710 1455718 + Block 1455719 1457351 + VariableStatement 1455721 1455765 + VariableDeclarationList 1455721 1455764 + VariableDeclaration 1455736 1455764 + Identifier 1455736 1455751 + ArrayType 1455752 1455759 + TypeReference 1455752 1455757 + Identifier 1455752 1455757 + ArrayLiteralExpression 1455761 1455764 + VariableStatement 1455765 1455801 + VariableDeclarationList 1455765 1455800 + VariableDeclaration 1455778 1455800 + Identifier 1455778 1455795 + StringLiteral 1455797 1455800 + VariableStatement 1455801 1455858 + VariableDeclarationList 1455801 1455857 + VariableDeclaration 1455816 1455857 + Identifier 1455816 1455825 + CallExpression 1455827 1455857 + Identifier 1455827 1455846 + Identifier 1455847 1455853 + NumericLiteral 1455854 1455856 + VariableStatement 1455858 1455915 + VariableDeclarationList 1455858 1455914 + VariableDeclaration 1455873 1455914 + Identifier 1455873 1455882 + CallExpression 1455884 1455914 + Identifier 1455884 1455903 + Identifier 1455904 1455910 + NumericLiteral 1455911 1455913 + ReturnStatement 1455915 1455987 + TemplateExpression 1455931 1455986 + TemplateHead 1455931 1455935 + TemplateSpan 1455935 1455954 + Identifier 1455935 1455951 + TemplateMiddle 1455951 1455954 + TemplateSpan 1455954 1455966 + Identifier 1455954 1455962 + TemplateMiddle 1455962 1455966 + TemplateSpan 1455966 1455977 + Identifier 1455966 1455974 + TemplateMiddle 1455974 1455977 + TemplateSpan 1455977 1455986 + Identifier 1455977 1455984 + TemplateTail 1455984 1455986 + FunctionDeclaration 1455987 1457344 + Identifier 1456118 1456137 + Parameter 1456138 1456157 + Identifier 1456138 1456142 + TypeReference 1456143 1456157 + Identifier 1456143 1456157 + Parameter 1456158 1456168 + Identifier 1456158 1456164 + NumericLiteral 1456166 1456168 + Block 1456169 1457344 + VariableStatement 1456171 1456218 + VariableDeclarationList 1456171 1456217 + VariableDeclaration 1456188 1456217 + Identifier 1456188 1456195 + BinaryExpression 1456197 1456217 + StringLiteral 1456197 1456200 + PlusToken 1456200 1456202 + PropertyAccessExpression 1456202 1456217 + PropertyAccessExpression 1456202 1456214 + Identifier 1456202 1456207 + Identifier 1456208 1456214 + Identifier 1456215 1456217 + ForOfStatement 1456218 1457305 + VariableDeclarationList 1456237 1456244 + VariableDeclaration 1456242 1456244 + Identifier 1456242 1456244 + CallExpression 1456247 1456270 + Identifier 1456247 1456264 + Identifier 1456265 1456269 + Block 1456271 1457305 + IfStatement 1456273 1457251 + BinaryExpression 1456295 1456328 + PropertyAccessExpression 1456295 1456302 + Identifier 1456295 1456296 + Identifier 1456297 1456302 + AmpersandToken 1456302 1456304 + PropertyAccessExpression 1456304 1456328 + Identifier 1456304 1456314 + Identifier 1456315 1456328 + Block 1456329 1457026 + IfStatement 1456331 1456764 + BinaryExpression 1456357 1456409 + Identifier 1456357 1456374 + BarBarToken 1456374 1456377 + CallExpression 1456377 1456409 + Identifier 1456377 1456406 + Identifier 1456407 1456408 + Block 1456410 1456764 + VariableStatement 1456412 1456476 + VariableDeclarationList 1456412 1456475 + VariableDeclaration 1456441 1456475 + Identifier 1456441 1456447 + CallExpression 1456449 1456475 + PropertyAccessExpression 1456449 1456472 + Identifier 1456449 1456464 + Identifier 1456465 1456472 + Identifier 1456473 1456474 + IfStatement 1456476 1456658 + BinaryExpression 1456506 1456515 + Identifier 1456506 1456511 + LessThanToken 1456511 1456513 + NumericLiteral 1456513 1456515 + Block 1456516 1456658 + ExpressionStatement 1456518 1456578 + BinaryExpression 1456518 1456577 + Identifier 1456518 1456553 + EqualsToken 1456553 1456555 + PropertyAccessExpression 1456555 1456577 + Identifier 1456555 1456570 + Identifier 1456571 1456577 + ExpressionStatement 1456578 1456631 + CallExpression 1456578 1456630 + PropertyAccessExpression 1456578 1456627 + Identifier 1456578 1456622 + Identifier 1456623 1456627 + Identifier 1456628 1456629 + ExpressionStatement 1456658 1456706 + BinaryExpression 1456658 1456705 + Identifier 1456658 1456690 + PlusEqualsToken 1456690 1456693 + BinaryExpression 1456693 1456705 + StringLiteral 1456693 1456697 + PlusToken 1456697 1456699 + Identifier 1456699 1456705 + ContinueStatement 1456706 1456741 + ExpressionStatement 1456764 1457007 + BinaryExpression 1456764 1457006 + Identifier 1456764 1457000 + EqualsToken 1457000 1457002 + StringLiteral 1457002 1457006 + IfStatement 1457048 1457251 + BinaryExpression 1457053 1457104 + BinaryExpression 1457053 1457062 + Identifier 1457053 1457058 + LessThanToken 1457058 1457060 + NumericLiteral 1457060 1457062 + AmpersandAmpersandToken 1457062 1457065 + CallExpression 1457065 1457104 + Identifier 1457065 1457101 + Identifier 1457102 1457103 + Block 1457105 1457251 + ExpressionStatement 1457107 1457201 + BinaryExpression 1457107 1457200 + Identifier 1457107 1457135 + PlusEqualsToken 1457135 1457138 + BinaryExpression 1457138 1457200 + BinaryExpression 1457138 1457194 + StringLiteral 1457138 1457142 + PlusToken 1457142 1457144 + CallExpression 1457144 1457194 + Identifier 1457144 1457163 + AsExpression 1457164 1457182 + Identifier 1457164 1457165 + TypeReference 1457168 1457182 + Identifier 1457168 1457182 + BinaryExpression 1457183 1457193 + Identifier 1457183 1457189 + PlusToken 1457189 1457191 + NumericLiteral 1457191 1457193 + PlusToken 1457194 1457196 + StringLiteral 1457196 1457200 + ContinueStatement 1457201 1457232 + ExpressionStatement 1457251 1457290 + BinaryExpression 1457251 1457289 + Identifier 1457251 1457275 + PlusEqualsToken 1457275 1457278 + BinaryExpression 1457278 1457289 + StringLiteral 1457278 1457282 + PlusToken 1457282 1457284 + PropertyAccessExpression 1457284 1457289 + Identifier 1457284 1457286 + Identifier 1457287 1457289 + ReturnStatement 1457305 1457333 + Identifier 1457325 1457332 + FunctionDeclaration 1457351 1458260 + Identifier 1457555 1457570 + Parameter 1457571 1457583 + Identifier 1457571 1457577 + TypeReference 1457578 1457583 + Identifier 1457578 1457583 + Parameter 1457584 1457597 + Identifier 1457584 1457591 + TypeReference 1457592 1457597 + Identifier 1457592 1457597 + Parameter 1457598 1457635 + Identifier 1457598 1457616 + TypeReference 1457617 1457635 + Identifier 1457617 1457635 + Parameter 1457636 1457684 + Identifier 1457636 1457645 + TypeReference 1457646 1457684 + Identifier 1457646 1457650 + StringKeyword 1457651 1457657 + TypeReference 1457658 1457683 + Identifier 1457658 1457683 + Parameter 1457685 1457712 + Identifier 1457685 1457703 + BooleanKeyword 1457704 1457712 + Block 1457713 1458260 + IfStatement 1457715 1457889 + BinaryExpression 1457729 1457783 + BinaryExpression 1457729 1457758 + Identifier 1457729 1457737 + EqualsEqualsEqualsToken 1457737 1457741 + Identifier 1457741 1457758 + AmpersandAmpersandToken 1457758 1457761 + BinaryExpression 1457761 1457783 + PropertyAccessExpression 1457761 1457771 + Identifier 1457761 1457768 + Identifier 1457769 1457771 + GreaterThanToken 1457771 1457773 + PropertyAccessExpression 1457773 1457783 + Identifier 1457773 1457780 + Identifier 1457781 1457783 + Block 1457784 1457889 + VariableStatement 1457786 1457820 + VariableDeclarationList 1457786 1457819 + VariableDeclaration 1457805 1457819 + Identifier 1457805 1457810 + Identifier 1457812 1457819 + ExpressionStatement 1457820 1457850 + BinaryExpression 1457820 1457849 + Identifier 1457820 1457840 + EqualsToken 1457840 1457842 + Identifier 1457842 1457849 + ExpressionStatement 1457850 1457878 + BinaryExpression 1457850 1457877 + Identifier 1457850 1457870 + EqualsToken 1457870 1457872 + Identifier 1457872 1457877 + VariableStatement 1457889 1457964 + VariableDeclarationList 1457889 1457963 + VariableDeclaration 1457904 1457963 + Identifier 1457904 1457912 + ConditionalExpression 1457914 1457963 + Identifier 1457914 1457932 + QuestionToken 1457932 1457934 + BinaryExpression 1457934 1457958 + StringLiteral 1457934 1457938 + PlusToken 1457938 1457940 + Identifier 1457940 1457958 + ColonToken 1457958 1457960 + StringLiteral 1457960 1457963 + ReturnStatement 1457964 1458253 + ConditionalExpression 1457980 1458252 + BinaryExpression 1457980 1458071 + CallExpression 1457980 1458024 + Identifier 1457980 1458016 + Identifier 1458017 1458023 + AmpersandAmpersandToken 1458024 1458027 + CallExpression 1458027 1458071 + Identifier 1458027 1458063 + Identifier 1458064 1458070 + QuestionToken 1458071 1458073 + CallExpression 1458073 1458199 + Identifier 1458073 1458121 + AsExpression 1458122 1458145 + Identifier 1458122 1458128 + TypeReference 1458131 1458145 + Identifier 1458131 1458145 + AsExpression 1458146 1458170 + Identifier 1458146 1458153 + TypeReference 1458156 1458170 + Identifier 1458156 1458170 + Identifier 1458171 1458179 + Identifier 1458180 1458198 + ColonToken 1458199 1458201 + TemplateExpression 1458201 1458252 + TemplateHead 1458201 1458218 + TemplateSpan 1458218 1458231 + PropertyAccessExpression 1458218 1458227 + Identifier 1458218 1458224 + Identifier 1458225 1458227 + TemplateMiddle 1458227 1458231 + TemplateSpan 1458231 1458243 + PropertyAccessExpression 1458231 1458240 + Identifier 1458231 1458237 + Identifier 1458238 1458240 + TemplateMiddle 1458240 1458243 + TemplateSpan 1458243 1458252 + Identifier 1458243 1458250 + TemplateTail 1458250 1458252 + FunctionDeclaration 1458260 1459077 + Identifier 1458417 1458433 + TypeParameter 1458434 1458435 + Identifier 1458434 1458435 + Parameter 1458437 1458449 + Identifier 1458437 1458441 + TypeReference 1458442 1458449 + Identifier 1458442 1458449 + Parameter 1458450 1458477 + Identifier 1458450 1458459 + FunctionType 1458460 1458477 + Parameter 1458462 1458471 + Identifier 1458462 1458463 + TypeReference 1458464 1458471 + Identifier 1458464 1458471 + TypeReference 1458475 1458477 + Identifier 1458475 1458477 + UnionType 1458479 1458493 + TypeReference 1458479 1458481 + Identifier 1458479 1458481 + UndefinedKeyword 1458483 1458493 + Block 1458493 1459077 + IfStatement 1458495 1459038 + BinaryExpression 1458509 1458551 + CallExpression 1458509 1458528 + Identifier 1458509 1458522 + Identifier 1458523 1458527 + AmpersandToken 1458528 1458530 + PropertyAccessExpression 1458530 1458551 + Identifier 1458530 1458541 + Identifier 1458542 1458551 + Block 1458552 1459038 + ForOfStatement 1458554 1458996 + VariableDeclarationList 1458694 1458701 + VariableDeclaration 1458699 1458701 + Identifier 1458699 1458701 + PropertyAccessExpression 1458704 1458758 + NonNullExpression 1458704 1458752 + PropertyAccessExpression 1458704 1458751 + PropertyAccessExpression 1458704 1458736 + ParenthesizedExpression 1458704 1458730 + AsExpression 1458706 1458729 + Identifier 1458706 1458710 + TypeReference 1458713 1458729 + Identifier 1458713 1458729 + Identifier 1458731 1458736 + Identifier 1458737 1458751 + Identifier 1458753 1458758 + Block 1458759 1458996 + VariableStatement 1458761 1458828 + VariableDeclarationList 1458761 1458827 + VariableDeclaration 1458784 1458827 + Identifier 1458784 1458786 + CallExpression 1458788 1458827 + Identifier 1458788 1458806 + Identifier 1458807 1458808 + PropertyAccessExpression 1458809 1458826 + Identifier 1458809 1458814 + Identifier 1458815 1458826 + VariableStatement 1458828 1458895 + VariableDeclarationList 1458828 1458894 + VariableDeclaration 1458851 1458894 + Identifier 1458851 1458858 + BinaryExpression 1458860 1458894 + Identifier 1458860 1458862 + AmpersandAmpersandToken 1458862 1458865 + CallExpression 1458865 1458894 + Identifier 1458865 1458881 + Identifier 1458882 1458883 + Identifier 1458884 1458893 + IfStatement 1458895 1458981 + Identifier 1458917 1458923 + Block 1458924 1458981 + ReturnStatement 1458926 1458962 + Identifier 1458954 1458961 + ReturnStatement 1458996 1459027 + Identifier 1459016 1459026 + ReturnStatement 1459038 1459070 + CallExpression 1459054 1459069 + Identifier 1459054 1459063 + Identifier 1459064 1459068 + FunctionDeclaration 1459077 1459386 + Identifier 1459194 1459212 + Parameter 1459213 1459225 + Identifier 1459213 1459217 + TypeReference 1459218 1459225 + Identifier 1459218 1459225 + Block 1459226 1459386 + ReturnStatement 1459228 1459379 + ConditionalExpression 1459244 1459378 + BinaryExpression 1459244 1459297 + PropertyAccessExpression 1459244 1459256 + Identifier 1459244 1459249 + Identifier 1459250 1459256 + AmpersandAmpersandToken 1459256 1459259 + BinaryExpression 1459259 1459297 + PropertyAccessExpression 1459259 1459277 + PropertyAccessExpression 1459259 1459271 + Identifier 1459259 1459264 + Identifier 1459265 1459271 + Identifier 1459272 1459277 + AmpersandToken 1459277 1459279 + PropertyAccessExpression 1459279 1459297 + Identifier 1459279 1459291 + Identifier 1459292 1459297 + QuestionToken 1459297 1459299 + AsExpression 1459299 1459366 + CallExpression 1459299 1459349 + Identifier 1459299 1459323 + NonNullExpression 1459324 1459348 + CallExpression 1459324 1459347 + Identifier 1459324 1459341 + Identifier 1459342 1459346 + TypeReference 1459352 1459366 + Identifier 1459352 1459366 + ColonToken 1459366 1459368 + Identifier 1459368 1459378 + FunctionDeclaration 1459386 1459793 + Identifier 1459514 1459543 + Parameter 1459544 1459560 + Identifier 1459544 1459552 + TypeReference 1459553 1459560 + Identifier 1459553 1459560 + Block 1459561 1459793 + VariableStatement 1459563 1459619 + VariableDeclarationList 1459563 1459618 + VariableDeclaration 1459578 1459618 + Identifier 1459578 1459588 + CallExpression 1459590 1459618 + Identifier 1459590 1459608 + Identifier 1459609 1459617 + VariableStatement 1459619 1459691 + VariableDeclarationList 1459619 1459690 + VariableDeclaration 1459634 1459690 + Identifier 1459634 1459648 + BinaryExpression 1459650 1459690 + Identifier 1459650 1459660 + AmpersandAmpersandToken 1459660 1459663 + ElementAccessExpression 1459663 1459690 + CallExpression 1459663 1459687 + Identifier 1459663 1459676 + Identifier 1459677 1459686 + NumericLiteral 1459688 1459689 + ReturnStatement 1459691 1459786 + BinaryExpression 1459707 1459785 + Identifier 1459707 1459721 + AmpersandAmpersandToken 1459721 1459724 + CallExpression 1459724 1459785 + Identifier 1459724 1459748 + Identifier 1459749 1459762 + PropertyAccessExpression 1459763 1459784 + Identifier 1459763 1459772 + Identifier 1459773 1459784 + FunctionDeclaration 1459793 1460210 + Identifier 1459935 1459964 + Parameter 1459965 1459977 + Identifier 1459965 1459969 + TypeReference 1459970 1459977 + Identifier 1459970 1459977 + Parameter 1459978 1460006 + Identifier 1459978 1459988 + UnionType 1459989 1460006 + TypeReference 1459989 1459994 + Identifier 1459989 1459994 + UndefinedKeyword 1459996 1460006 + Block 1460007 1460210 + ReturnStatement 1460009 1460203 + CallExpression 1460025 1460202 + Identifier 1460025 1460041 + Identifier 1460042 1460046 + ArrowFunction 1460047 1460201 + Parameter 1460047 1460050 + Identifier 1460047 1460050 + EqualsGreaterThanToken 1460050 1460053 + Block 1460053 1460201 + VariableStatement 1460055 1460111 + VariableDeclarationList 1460055 1460110 + VariableDeclaration 1460074 1460110 + Identifier 1460074 1460086 + CallExpression 1460088 1460110 + Identifier 1460088 1460106 + Identifier 1460107 1460109 + ReturnStatement 1460111 1460190 + ConditionalExpression 1460131 1460189 + Identifier 1460131 1460143 + QuestionToken 1460143 1460145 + CallExpression 1460145 1460181 + Identifier 1460145 1460157 + Identifier 1460158 1460169 + Identifier 1460170 1460180 + ColonToken 1460181 1460183 + FalseKeyword 1460183 1460189 + FunctionDeclaration 1460210 1460617 + Identifier 1460324 1460342 + Parameter 1460343 1460361 + Identifier 1460343 1460353 + TypeReference 1460354 1460361 + Identifier 1460354 1460361 + Parameter 1460362 1460381 + Identifier 1460362 1460373 + TypeReference 1460374 1460381 + Identifier 1460374 1460381 + Block 1460382 1460617 + ReturnStatement 1460384 1460610 + PrefixUnaryExpression 1460400 1460609 + CallExpression 1460402 1460609 + Identifier 1460402 1460417 + Identifier 1460418 1460428 + ArrowFunction 1460429 1460608 + Parameter 1460429 1460432 + Identifier 1460429 1460432 + EqualsGreaterThanToken 1460432 1460435 + ConditionalExpression 1460435 1460608 + BinaryExpression 1460435 1460516 + CallExpression 1460435 1460490 + Identifier 1460435 1460486 + Identifier 1460487 1460489 + AmpersandToken 1460490 1460492 + PropertyAccessExpression 1460492 1460516 + Identifier 1460492 1460506 + Identifier 1460507 1460516 + QuestionToken 1460516 1460518 + PrefixUnaryExpression 1460518 1460600 + CallExpression 1460537 1460600 + Identifier 1460537 1460565 + Identifier 1460566 1460576 + CallExpression 1460577 1460599 + Identifier 1460577 1460595 + Identifier 1460596 1460598 + ColonToken 1460600 1460602 + FalseKeyword 1460602 1460608 + FunctionDeclaration 1460617 1461124 + Identifier 1460776 1460811 + TypeParameter 1460812 1460826 + Identifier 1460812 1460813 + TypeReference 1460821 1460826 + Identifier 1460821 1460826 + Parameter 1460828 1460841 + Identifier 1460828 1460838 + TypeReference 1460839 1460841 + Identifier 1460839 1460841 + Parameter 1460842 1460855 + Identifier 1460842 1460847 + TypeReference 1460848 1460855 + Identifier 1460848 1460855 + Parameter 1460856 1460873 + Identifier 1460856 1460864 + BooleanKeyword 1460865 1460873 + Block 1460874 1461124 + ReturnStatement 1460876 1461117 + ConditionalExpression 1460892 1461116 + CallExpression 1460892 1461091 + Identifier 1460892 1460908 + Identifier 1460909 1460913 + ArrowFunction 1460914 1461090 + Parameter 1460914 1460916 + Identifier 1460914 1460916 + EqualsGreaterThanToken 1460916 1460919 + ConditionalExpression 1460919 1461090 + BinaryExpression 1460919 1461012 + CallExpression 1460919 1460986 + Identifier 1460919 1460974 + Identifier 1460975 1460976 + Identifier 1460977 1460985 + AmpersandToken 1460986 1460988 + PropertyAccessExpression 1460988 1461012 + Identifier 1460988 1461002 + Identifier 1461003 1461012 + QuestionToken 1461012 1461014 + PrefixUnaryExpression 1461014 1461082 + CallExpression 1461037 1461082 + Identifier 1461037 1461048 + Identifier 1461049 1461059 + CallExpression 1461060 1461081 + Identifier 1461060 1461078 + Identifier 1461079 1461080 + ColonToken 1461082 1461084 + FalseKeyword 1461084 1461090 + QuestionToken 1461091 1461093 + Identifier 1461093 1461103 + ColonToken 1461103 1461105 + Identifier 1461105 1461116 + FunctionDeclaration 1461124 1463623 + Identifier 1462316 1462335 + Parameter 1462336 1462346 + Identifier 1462336 1462340 + TypeReference 1462341 1462346 + Identifier 1462341 1462346 + Parameter 1462347 1462361 + Identifier 1462347 1462353 + ArrayType 1462354 1462361 + TypeReference 1462354 1462359 + Identifier 1462354 1462359 + Parameter 1462362 1462376 + Identifier 1462362 1462368 + NumberKeyword 1462369 1462376 + Parameter 1462377 1462390 + Identifier 1462377 1462386 + NumericLiteral 1462388 1462390 + BooleanKeyword 1462392 1462400 + Block 1462400 1463623 + IfStatement 1462402 1463593 + BinaryExpression 1462416 1462433 + Identifier 1462416 1462421 + GreaterThanEqualsToken 1462421 1462424 + Identifier 1462424 1462433 + Block 1462434 1463593 + IfStatement 1462436 1462619 + BinaryExpression 1462454 1462544 + ParenthesizedExpression 1462454 1462509 + BinaryExpression 1462455 1462508 + CallExpression 1462455 1462475 + Identifier 1462455 1462469 + Identifier 1462470 1462474 + AmpersandToken 1462475 1462477 + PropertyAccessExpression 1462477 1462508 + Identifier 1462477 1462489 + Identifier 1462490 1462508 + EqualsEqualsEqualsToken 1462509 1462513 + PropertyAccessExpression 1462513 1462544 + Identifier 1462513 1462525 + Identifier 1462526 1462544 + Block 1462545 1462619 + ExpressionStatement 1462547 1462604 + BinaryExpression 1462547 1462603 + Identifier 1462547 1462569 + EqualsToken 1462569 1462571 + CallExpression 1462571 1462603 + Identifier 1462571 1462597 + Identifier 1462598 1462602 + IfStatement 1462619 1462806 + BinaryExpression 1462637 1462672 + PropertyAccessExpression 1462637 1462647 + Identifier 1462637 1462641 + Identifier 1462642 1462647 + AmpersandToken 1462647 1462649 + PropertyAccessExpression 1462649 1462672 + Identifier 1462649 1462659 + Identifier 1462660 1462672 + Block 1462673 1462806 + ReturnStatement 1462675 1462791 + CallExpression 1462699 1462790 + Identifier 1462699 1462704 + PropertyAccessExpression 1462705 1462737 + ParenthesizedExpression 1462705 1462731 + AsExpression 1462706 1462730 + Identifier 1462706 1462710 + TypeReference 1462713 1462730 + Identifier 1462713 1462730 + Identifier 1462732 1462737 + ArrowFunction 1462738 1462789 + Parameter 1462738 1462740 + Identifier 1462738 1462740 + EqualsGreaterThanToken 1462740 1462743 + CallExpression 1462743 1462789 + Identifier 1462743 1462762 + Identifier 1462763 1462764 + Identifier 1462765 1462771 + Identifier 1462772 1462778 + Identifier 1462779 1462788 + VariableStatement 1462806 1462864 + VariableDeclarationList 1462806 1462863 + VariableDeclaration 1462825 1462863 + Identifier 1462825 1462834 + CallExpression 1462836 1462863 + Identifier 1462836 1462857 + Identifier 1462858 1462862 + VariableStatement 1462864 1462892 + VariableDeclarationList 1462864 1462891 + VariableDeclaration 1462881 1462891 + Identifier 1462881 1462887 + NumericLiteral 1462889 1462891 + VariableStatement 1462892 1462925 + VariableDeclarationList 1462892 1462924 + VariableDeclaration 1462909 1462924 + Identifier 1462909 1462920 + NumericLiteral 1462922 1462924 + ForStatement 1462925 1463582 + VariableDeclarationList 1462944 1462953 + VariableDeclaration 1462947 1462953 + Identifier 1462947 1462949 + NumericLiteral 1462951 1462953 + BinaryExpression 1462954 1462964 + Identifier 1462954 1462956 + LessThanToken 1462956 1462958 + Identifier 1462958 1462964 + PostfixUnaryExpression 1462965 1462969 + Identifier 1462965 1462967 + Block 1462970 1463582 + VariableStatement 1462972 1463009 + VariableDeclarationList 1462972 1463008 + VariableDeclaration 1462995 1463008 + Identifier 1462995 1462997 + ElementAccessExpression 1462999 1463008 + Identifier 1462999 1463005 + Identifier 1463006 1463007 + IfStatement 1463009 1463567 + CallExpression 1463031 1463072 + Identifier 1463031 1463059 + Identifier 1463060 1463061 + Identifier 1463062 1463071 + Block 1463073 1463567 + IfStatement 1463075 1463508 + BinaryExpression 1463311 1463329 + PropertyAccessExpression 1463311 1463315 + Identifier 1463311 1463312 + Identifier 1463313 1463315 + GreaterThanEqualsToken 1463315 1463318 + Identifier 1463318 1463329 + Block 1463330 1463508 + ExpressionStatement 1463332 1463366 + PostfixUnaryExpression 1463332 1463365 + Identifier 1463332 1463363 + IfStatement 1463366 1463485 + BinaryExpression 1463396 1463413 + Identifier 1463396 1463401 + GreaterThanEqualsToken 1463401 1463404 + Identifier 1463404 1463413 + Block 1463414 1463485 + ReturnStatement 1463416 1463458 + TrueKeyword 1463452 1463457 + ExpressionStatement 1463508 1463548 + BinaryExpression 1463508 1463547 + Identifier 1463508 1463540 + EqualsToken 1463540 1463542 + PropertyAccessExpression 1463542 1463547 + Identifier 1463542 1463544 + Identifier 1463545 1463547 + ReturnStatement 1463593 1463616 + FalseKeyword 1463609 1463615 + FunctionDeclaration 1463623 1464574 + Identifier 1464099 1464125 + Parameter 1464126 1464136 + Identifier 1464126 1464130 + TypeReference 1464131 1464136 + Identifier 1464131 1464136 + Block 1464137 1464574 + VariableStatement 1464139 1464160 + VariableDeclarationList 1464139 1464159 + VariableDeclaration 1464152 1464159 + Identifier 1464152 1464159 + WhileStatement 1464160 1464545 + BinaryExpression 1464177 1464493 + BinaryExpression 1464177 1464359 + BinaryExpression 1464177 1464281 + ParenthesizedExpression 1464177 1464246 + BinaryExpression 1464192 1464245 + CallExpression 1464192 1464212 + Identifier 1464192 1464206 + Identifier 1464207 1464211 + AmpersandToken 1464212 1464214 + PropertyAccessExpression 1464214 1464245 + Identifier 1464214 1464226 + Identifier 1464227 1464245 + EqualsEqualsEqualsToken 1464246 1464250 + PropertyAccessExpression 1464250 1464281 + Identifier 1464250 1464262 + Identifier 1464263 1464281 + AmpersandAmpersandToken 1464281 1464284 + ParenthesizedExpression 1464284 1464359 + BinaryExpression 1464299 1464358 + Identifier 1464299 1464305 + EqualsToken 1464305 1464307 + CallExpression 1464307 1464358 + Identifier 1464307 1464338 + AsExpression 1464339 1464357 + Identifier 1464339 1464343 + TypeReference 1464346 1464357 + Identifier 1464346 1464357 + AmpersandAmpersandToken 1464359 1464362 + ParenthesizedExpression 1464362 1464493 + BinaryExpression 1464377 1464492 + PropertyAccessExpression 1464377 1464390 + Identifier 1464377 1464383 + Identifier 1464384 1464390 + BarBarToken 1464390 1464393 + BinaryExpression 1464393 1464492 + BinaryExpression 1464393 1464431 + PropertyAccessExpression 1464393 1464406 + Identifier 1464393 1464400 + Identifier 1464401 1464406 + AmpersandToken 1464406 1464408 + PropertyAccessExpression 1464408 1464431 + Identifier 1464408 1464418 + Identifier 1464419 1464431 + AmpersandAmpersandToken 1464431 1464434 + CallExpression 1464434 1464492 + Identifier 1464434 1464439 + PropertyAccessExpression 1464440 1464474 + ParenthesizedExpression 1464440 1464468 + AsExpression 1464441 1464467 + Identifier 1464441 1464447 + TypeReference 1464450 1464467 + Identifier 1464450 1464467 + Identifier 1464469 1464474 + ArrowFunction 1464475 1464491 + Parameter 1464475 1464477 + Identifier 1464475 1464477 + EqualsGreaterThanToken 1464477 1464480 + PrefixUnaryExpression 1464480 1464491 + PrefixUnaryExpression 1464482 1464491 + PropertyAccessExpression 1464483 1464491 + Identifier 1464483 1464484 + Identifier 1464485 1464491 + Block 1464504 1464545 + ExpressionStatement 1464506 1464534 + BinaryExpression 1464506 1464533 + Identifier 1464506 1464524 + EqualsToken 1464524 1464526 + Identifier 1464526 1464533 + ReturnStatement 1464545 1464567 + Identifier 1464561 1464566 + FunctionDeclaration 1464574 1465066 + Identifier 1464590 1464619 + Parameter 1464620 1464630 + Identifier 1464620 1464624 + TypeReference 1464625 1464630 + Identifier 1464625 1464630 + Parameter 1464631 1464648 + Identifier 1464631 1464640 + ObjectKeyword 1464641 1464648 + BooleanKeyword 1464650 1464658 + Block 1464658 1465066 + IfStatement 1464660 1464831 + BinaryExpression 1464674 1464764 + ParenthesizedExpression 1464674 1464729 + BinaryExpression 1464675 1464728 + CallExpression 1464675 1464695 + Identifier 1464675 1464689 + Identifier 1464690 1464694 + AmpersandToken 1464695 1464697 + PropertyAccessExpression 1464697 1464728 + Identifier 1464697 1464709 + Identifier 1464710 1464728 + EqualsEqualsEqualsToken 1464729 1464733 + PropertyAccessExpression 1464733 1464764 + Identifier 1464733 1464745 + Identifier 1464746 1464764 + Block 1464765 1464831 + ExpressionStatement 1464767 1464820 + BinaryExpression 1464767 1464819 + Identifier 1464767 1464785 + EqualsToken 1464785 1464787 + CallExpression 1464787 1464819 + Identifier 1464787 1464813 + Identifier 1464814 1464818 + IfStatement 1464831 1465002 + BinaryExpression 1464845 1464880 + PropertyAccessExpression 1464845 1464855 + Identifier 1464845 1464849 + Identifier 1464850 1464855 + AmpersandToken 1464855 1464857 + PropertyAccessExpression 1464857 1464880 + Identifier 1464857 1464867 + Identifier 1464868 1464880 + Block 1464881 1465002 + ReturnStatement 1464883 1464991 + CallExpression 1464903 1464990 + Identifier 1464903 1464908 + PropertyAccessExpression 1464909 1464941 + ParenthesizedExpression 1464909 1464935 + AsExpression 1464910 1464934 + Identifier 1464910 1464914 + TypeReference 1464917 1464934 + Identifier 1464917 1464934 + Identifier 1464936 1464941 + ArrowFunction 1464942 1464989 + Parameter 1464942 1464944 + Identifier 1464942 1464944 + EqualsGreaterThanToken 1464944 1464947 + CallExpression 1464947 1464989 + Identifier 1464947 1464976 + Identifier 1464977 1464978 + Identifier 1464979 1464988 + ReturnStatement 1465002 1465059 + BinaryExpression 1465018 1465058 + CallExpression 1465018 1465045 + Identifier 1465018 1465039 + Identifier 1465040 1465044 + EqualsEqualsEqualsToken 1465045 1465049 + Identifier 1465049 1465058 + FunctionDeclaration 1465066 1467784 + Identifier 1465764 1465785 + Parameter 1465786 1465796 + Identifier 1465786 1465790 + TypeReference 1465791 1465796 + Identifier 1465791 1465796 + ObjectKeyword 1465798 1465805 + Block 1465805 1467784 + IfStatement 1465807 1466939 + BinaryExpression 1465942 1466008 + BinaryExpression 1465942 1465971 + PropertyAccessExpression 1465942 1465952 + Identifier 1465942 1465946 + Identifier 1465947 1465952 + AmpersandToken 1465952 1465954 + PropertyAccessExpression 1465954 1465971 + Identifier 1465954 1465964 + Identifier 1465965 1465971 + AmpersandAmpersandToken 1465971 1465974 + PrefixUnaryExpression 1465974 1466008 + CallExpression 1465976 1466008 + Identifier 1465976 1466002 + Identifier 1466003 1466007 + Block 1466009 1466939 + IfStatement 1466011 1466437 + BinaryExpression 1466029 1466105 + BinaryExpression 1466029 1466073 + CallExpression 1466029 1466049 + Identifier 1466029 1466043 + Identifier 1466044 1466048 + AmpersandToken 1466049 1466051 + PropertyAccessExpression 1466051 1466073 + Identifier 1466051 1466063 + Identifier 1466064 1466073 + AmpersandAmpersandToken 1466073 1466076 + PropertyAccessExpression 1466076 1466105 + ParenthesizedExpression 1466076 1466100 + AsExpression 1466078 1466099 + Identifier 1466078 1466082 + TypeReference 1466085 1466099 + Identifier 1466085 1466099 + Identifier 1466101 1466105 + Block 1466106 1466437 + ReturnStatement 1466108 1466422 + NonNullExpression 1466391 1466421 + PropertyAccessExpression 1466391 1466420 + ParenthesizedExpression 1466391 1466415 + AsExpression 1466393 1466414 + Identifier 1466393 1466397 + TypeReference 1466400 1466414 + Identifier 1466400 1466414 + Identifier 1466416 1466420 + IfStatement 1466437 1466838 + BinaryExpression 1466455 1466558 + PropertyAccessExpression 1466455 1466466 + Identifier 1466455 1466459 + Identifier 1466460 1466466 + AmpersandAmpersandToken 1466466 1466469 + PrefixUnaryExpression 1466469 1466558 + ParenthesizedExpression 1466471 1466558 + BinaryExpression 1466472 1466557 + BinaryExpression 1466472 1466516 + CallExpression 1466472 1466492 + Identifier 1466472 1466486 + Identifier 1466487 1466491 + AmpersandToken 1466492 1466494 + PropertyAccessExpression 1466494 1466516 + Identifier 1466494 1466506 + Identifier 1466507 1466516 + AmpersandAmpersandToken 1466516 1466519 + BinaryExpression 1466519 1466557 + PropertyAccessExpression 1466519 1466537 + PropertyAccessExpression 1466519 1466531 + Identifier 1466519 1466524 + Identifier 1466525 1466531 + Identifier 1466532 1466537 + AmpersandToken 1466537 1466539 + PropertyAccessExpression 1466539 1466557 + Identifier 1466539 1466551 + Identifier 1466552 1466557 + Block 1466559 1466838 + ReturnStatement 1466561 1466823 + PropertyAccessExpression 1466810 1466822 + Identifier 1466810 1466815 + Identifier 1466816 1466822 + IfStatement 1466838 1466928 + CallExpression 1466856 1466873 + Identifier 1466856 1466867 + Identifier 1466868 1466872 + Block 1466874 1466928 + ReturnStatement 1466876 1466913 + PropertyAccessExpression 1466900 1466912 + Identifier 1466900 1466905 + Identifier 1466906 1466912 + IfStatement 1466939 1467202 + BinaryExpression 1466953 1466989 + PropertyAccessExpression 1466953 1466963 + Identifier 1466953 1466957 + Identifier 1466958 1466963 + AmpersandToken 1466963 1466965 + PropertyAccessExpression 1466965 1466989 + Identifier 1466965 1466975 + Identifier 1466976 1466989 + Block 1466990 1467202 + ReturnStatement 1466992 1467191 + PropertyAccessExpression 1467178 1467190 + Identifier 1467178 1467183 + Identifier 1467184 1467190 + IfStatement 1467202 1467563 + BinaryExpression 1467216 1467252 + PropertyAccessExpression 1467216 1467226 + Identifier 1467216 1467220 + Identifier 1467221 1467226 + AmpersandToken 1467226 1467228 + PropertyAccessExpression 1467228 1467252 + Identifier 1467228 1467238 + Identifier 1467239 1467252 + Block 1467253 1467563 + DoStatement 1467255 1467526 + Block 1467386 1467467 + ExpressionStatement 1467388 1467452 + BinaryExpression 1467388 1467451 + Identifier 1467388 1467410 + EqualsToken 1467410 1467412 + PropertyAccessExpression 1467412 1467451 + ParenthesizedExpression 1467412 1467440 + AsExpression 1467414 1467439 + Identifier 1467414 1467418 + TypeReference 1467421 1467439 + Identifier 1467421 1467439 + Identifier 1467441 1467451 + BinaryExpression 1467488 1467524 + PropertyAccessExpression 1467488 1467498 + Identifier 1467488 1467492 + Identifier 1467493 1467498 + AmpersandToken 1467498 1467500 + PropertyAccessExpression 1467500 1467524 + Identifier 1467500 1467510 + Identifier 1467511 1467524 + ReturnStatement 1467526 1467552 + Identifier 1467546 1467551 + IfStatement 1467563 1467755 + BinaryExpression 1467577 1467611 + PropertyAccessExpression 1467577 1467587 + Identifier 1467577 1467581 + Identifier 1467582 1467587 + AmpersandToken 1467587 1467589 + PropertyAccessExpression 1467589 1467611 + Identifier 1467589 1467599 + Identifier 1467600 1467611 + Block 1467612 1467755 + ReturnStatement 1467614 1467744 + PropertyAccessExpression 1467712 1467743 + ParenthesizedExpression 1467712 1467738 + AsExpression 1467714 1467737 + Identifier 1467714 1467718 + TypeReference 1467721 1467737 + Identifier 1467721 1467737 + Identifier 1467739 1467743 + ReturnStatement 1467755 1467777 + Identifier 1467771 1467776 + FunctionDeclaration 1467784 1467980 + Identifier 1467800 1467822 + Parameter 1467823 1467841 + Identifier 1467823 1467833 + TypeReference 1467834 1467841 + Identifier 1467834 1467841 + Parameter 1467842 1467861 + Identifier 1467842 1467853 + TypeReference 1467854 1467861 + Identifier 1467854 1467861 + BooleanKeyword 1467863 1467871 + Block 1467871 1467980 + ReturnStatement 1467873 1467973 + BinaryExpression 1467889 1467972 + CallExpression 1467889 1467954 + Identifier 1467889 1467907 + Identifier 1467908 1467918 + Identifier 1467919 1467930 + Identifier 1467931 1467953 + ExclamationEqualsEqualsToken 1467954 1467958 + PropertyAccessExpression 1467958 1467972 + Identifier 1467958 1467966 + Identifier 1467967 1467972 + FunctionDeclaration 1467980 1469451 + Identifier 1467996 1468014 + Parameter 1468015 1468033 + Identifier 1468015 1468025 + TypeReference 1468026 1468033 + Identifier 1468026 1468033 + Parameter 1468034 1468053 + Identifier 1468034 1468045 + TypeReference 1468046 1468053 + Identifier 1468046 1468053 + Parameter 1468054 1468108 + Identifier 1468054 1468067 + FunctionType 1468068 1468108 + Parameter 1468070 1468082 + Identifier 1468070 1468076 + TypeReference 1468077 1468082 + Identifier 1468077 1468082 + Parameter 1468083 1468096 + Identifier 1468083 1468090 + TypeReference 1468091 1468096 + Identifier 1468091 1468096 + TypeReference 1468100 1468108 + Identifier 1468100 1468108 + TypeReference 1468110 1468118 + Identifier 1468110 1468118 + Block 1468118 1469451 + IfStatement 1468120 1468466 + BinaryExpression 1468393 1468418 + Identifier 1468393 1468403 + EqualsEqualsEqualsToken 1468403 1468407 + Identifier 1468407 1468418 + Block 1468419 1468466 + ReturnStatement 1468421 1468455 + PropertyAccessExpression 1468441 1468454 + Identifier 1468441 1468449 + Identifier 1468450 1468454 + VariableStatement 1468466 1468605 + VariableDeclarationList 1468466 1468604 + VariableDeclaration 1468481 1468604 + Identifier 1468481 1468505 + BinaryExpression 1468507 1468604 + CallExpression 1468507 1468557 + Identifier 1468507 1468545 + Identifier 1468546 1468556 + AmpersandToken 1468557 1468559 + PropertyAccessExpression 1468559 1468604 + Identifier 1468559 1468573 + Identifier 1468574 1468604 + VariableStatement 1468605 1468744 + VariableDeclarationList 1468605 1468743 + VariableDeclaration 1468620 1468743 + Identifier 1468620 1468644 + BinaryExpression 1468646 1468743 + CallExpression 1468646 1468696 + Identifier 1468646 1468684 + Identifier 1468685 1468695 + AmpersandToken 1468696 1468698 + PropertyAccessExpression 1468698 1468743 + Identifier 1468698 1468712 + Identifier 1468713 1468743 + IfStatement 1468744 1468858 + BinaryExpression 1468758 1468809 + Identifier 1468758 1468781 + ExclamationEqualsEqualsToken 1468781 1468785 + Identifier 1468785 1468809 + Block 1468810 1468858 + ReturnStatement 1468812 1468847 + PropertyAccessExpression 1468832 1468846 + Identifier 1468832 1468840 + Identifier 1468841 1468846 + IfStatement 1468858 1469232 + Identifier 1468872 1468895 + Block 1468896 1469043 + IfStatement 1468898 1469032 + BinaryExpression 1468916 1468975 + CallExpression 1468916 1468943 + Identifier 1468916 1468931 + Identifier 1468932 1468942 + ExclamationEqualsEqualsToken 1468943 1468947 + CallExpression 1468947 1468975 + Identifier 1468947 1468963 + Identifier 1468964 1468974 + Block 1468976 1469032 + ReturnStatement 1468978 1469017 + PropertyAccessExpression 1469002 1469016 + Identifier 1469002 1469010 + Identifier 1469011 1469016 + Block 1469057 1469232 + IfStatement 1469059 1469221 + BinaryExpression 1469077 1469164 + ParenthesizedExpression 1469077 1469118 + BinaryExpression 1469078 1469117 + PropertyAccessExpression 1469078 1469094 + Identifier 1469078 1469088 + Identifier 1469089 1469094 + AmpersandToken 1469094 1469096 + PropertyAccessExpression 1469096 1469117 + Identifier 1469096 1469108 + Identifier 1469109 1469117 + ExclamationEqualsEqualsToken 1469118 1469122 + ParenthesizedExpression 1469122 1469164 + BinaryExpression 1469124 1469163 + PropertyAccessExpression 1469124 1469140 + Identifier 1469124 1469134 + Identifier 1469135 1469140 + AmpersandToken 1469140 1469142 + PropertyAccessExpression 1469142 1469163 + Identifier 1469142 1469154 + Identifier 1469155 1469163 + Block 1469165 1469221 + ReturnStatement 1469167 1469206 + PropertyAccessExpression 1469191 1469205 + Identifier 1469191 1469199 + Identifier 1469200 1469205 + IfStatement 1469232 1469356 + BinaryExpression 1469246 1469307 + CallExpression 1469246 1469274 + Identifier 1469246 1469262 + Identifier 1469263 1469273 + ExclamationEqualsEqualsToken 1469274 1469278 + CallExpression 1469278 1469307 + Identifier 1469278 1469295 + Identifier 1469296 1469306 + Block 1469308 1469356 + ReturnStatement 1469310 1469345 + PropertyAccessExpression 1469330 1469344 + Identifier 1469330 1469338 + Identifier 1469339 1469344 + ReturnStatement 1469356 1469444 + CallExpression 1469372 1469443 + Identifier 1469372 1469385 + CallExpression 1469386 1469413 + Identifier 1469386 1469401 + Identifier 1469402 1469412 + CallExpression 1469414 1469442 + Identifier 1469414 1469430 + Identifier 1469431 1469441 + FunctionDeclaration 1469451 1470665 + Identifier 1469467 1469487 + Parameter 1469488 1469505 + Identifier 1469488 1469494 + TypeReference 1469495 1469505 + Identifier 1469495 1469505 + Parameter 1469506 1469524 + Identifier 1469506 1469513 + TypeReference 1469514 1469524 + Identifier 1469514 1469524 + Parameter 1469525 1469547 + Identifier 1469525 1469538 + BooleanKeyword 1469539 1469547 + Block 1469548 1470665 + VariableStatement 1469550 1469615 + VariableDeclarationList 1469550 1469614 + VariableDeclaration 1469565 1469614 + Identifier 1469565 1469586 + CallExpression 1469588 1469614 + Identifier 1469588 1469606 + Identifier 1469607 1469613 + VariableStatement 1469615 1469680 + VariableDeclarationList 1469615 1469679 + VariableDeclaration 1469630 1469679 + Identifier 1469630 1469651 + CallExpression 1469653 1469679 + Identifier 1469653 1469671 + Identifier 1469672 1469678 + VariableStatement 1469680 1469749 + VariableDeclarationList 1469680 1469748 + VariableDeclaration 1469695 1469748 + Identifier 1469695 1469718 + CallExpression 1469720 1469748 + Identifier 1469720 1469740 + Identifier 1469741 1469747 + VariableStatement 1469749 1469818 + VariableDeclarationList 1469749 1469817 + VariableDeclaration 1469764 1469817 + Identifier 1469764 1469787 + CallExpression 1469789 1469817 + Identifier 1469789 1469809 + Identifier 1469810 1469816 + VariableStatement 1469818 1469893 + VariableDeclarationList 1469818 1469892 + VariableDeclaration 1469833 1469892 + Identifier 1469833 1469856 + CallExpression 1469858 1469892 + Identifier 1469858 1469884 + Identifier 1469885 1469891 + VariableStatement 1469893 1469968 + VariableDeclarationList 1469893 1469967 + VariableDeclaration 1469908 1469967 + Identifier 1469908 1469931 + CallExpression 1469933 1469967 + Identifier 1469933 1469959 + Identifier 1469960 1469966 + IfStatement 1469968 1470380 + BinaryExpression 1470139 1470330 + BinaryExpression 1470139 1470264 + BinaryExpression 1470139 1470198 + Identifier 1470139 1470173 + EqualsEqualsEqualsToken 1470173 1470177 + Identifier 1470177 1470198 + AmpersandAmpersandToken 1470198 1470201 + BinaryExpression 1470201 1470264 + Identifier 1470201 1470237 + EqualsEqualsEqualsToken 1470237 1470241 + Identifier 1470241 1470264 + AmpersandAmpersandToken 1470264 1470267 + BinaryExpression 1470267 1470330 + Identifier 1470267 1470303 + EqualsEqualsEqualsToken 1470303 1470307 + Identifier 1470307 1470330 + Block 1470341 1470380 + ReturnStatement 1470343 1470369 + TrueKeyword 1470363 1470368 + IfStatement 1470380 1470635 + BinaryExpression 1470531 1470595 + Identifier 1470531 1470543 + AmpersandAmpersandToken 1470543 1470546 + BinaryExpression 1470546 1470595 + Identifier 1470546 1470569 + LessThanEqualsToken 1470569 1470572 + Identifier 1470572 1470595 + Block 1470596 1470635 + ReturnStatement 1470598 1470624 + TrueKeyword 1470618 1470623 + ReturnStatement 1470635 1470658 + FalseKeyword 1470651 1470657 + FunctionDeclaration 1470665 1473948 + Identifier 1470758 1470785 + Parameter 1470786 1470803 + Identifier 1470786 1470792 + TypeReference 1470793 1470803 + Identifier 1470793 1470803 + Parameter 1470804 1470822 + Identifier 1470804 1470811 + TypeReference 1470812 1470822 + Identifier 1470812 1470822 + Parameter 1470823 1470845 + Identifier 1470823 1470836 + BooleanKeyword 1470837 1470845 + Parameter 1470846 1470871 + Identifier 1470846 1470862 + BooleanKeyword 1470863 1470871 + Parameter 1470872 1470899 + Identifier 1470872 1470890 + BooleanKeyword 1470891 1470899 + Parameter 1470900 1470944 + Identifier 1470900 1470913 + FunctionType 1470914 1470944 + Parameter 1470916 1470923 + Identifier 1470916 1470917 + TypeReference 1470918 1470923 + Identifier 1470918 1470923 + Parameter 1470924 1470932 + Identifier 1470924 1470926 + TypeReference 1470927 1470932 + Identifier 1470927 1470932 + TypeReference 1470936 1470944 + Identifier 1470936 1470944 + TypeReference 1470946 1470954 + Identifier 1470946 1470954 + Block 1470954 1473948 + IfStatement 1470956 1471107 + BinaryExpression 1471042 1471059 + Identifier 1471042 1471048 + EqualsEqualsEqualsToken 1471048 1471052 + Identifier 1471052 1471059 + Block 1471060 1471107 + ReturnStatement 1471062 1471096 + PropertyAccessExpression 1471082 1471095 + Identifier 1471082 1471090 + Identifier 1471091 1471095 + IfStatement 1471107 1471222 + PrefixUnaryExpression 1471121 1471173 + ParenthesizedExpression 1471122 1471173 + CallExpression 1471123 1471172 + Identifier 1471123 1471142 + Identifier 1471143 1471149 + Identifier 1471150 1471157 + Identifier 1471158 1471171 + Block 1471174 1471222 + ReturnStatement 1471176 1471211 + PropertyAccessExpression 1471196 1471210 + Identifier 1471196 1471204 + Identifier 1471205 1471210 + IfStatement 1471222 1471431 + BinaryExpression 1471319 1471382 + CallExpression 1471319 1471348 + Identifier 1471319 1471325 + PropertyAccessExpression 1471326 1471347 + Identifier 1471326 1471332 + Identifier 1471333 1471347 + ExclamationEqualsEqualsToken 1471348 1471352 + CallExpression 1471352 1471382 + Identifier 1471352 1471359 + PropertyAccessExpression 1471360 1471381 + Identifier 1471360 1471366 + Identifier 1471367 1471381 + Block 1471383 1471431 + ReturnStatement 1471385 1471420 + PropertyAccessExpression 1471405 1471419 + Identifier 1471405 1471413 + Identifier 1471414 1471419 + IfStatement 1471431 1472502 + PropertyAccessExpression 1471650 1471671 + Identifier 1471650 1471656 + Identifier 1471657 1471671 + Block 1471672 1472502 + VariableStatement 1471674 1471767 + VariableDeclarationList 1471674 1471766 + VariableDeclaration 1471693 1471766 + Identifier 1471693 1471700 + CallExpression 1471702 1471766 + Identifier 1471702 1471719 + NonNullExpression 1471720 1471742 + PropertyAccessExpression 1471720 1471741 + Identifier 1471720 1471726 + Identifier 1471727 1471741 + PropertyAccessExpression 1471743 1471765 + Identifier 1471743 1471750 + Identifier 1471751 1471765 + ForStatement 1471767 1472401 + VariableDeclarationList 1471786 1471795 + VariableDeclaration 1471789 1471795 + Identifier 1471789 1471791 + NumericLiteral 1471793 1471795 + BinaryExpression 1471796 1471829 + Identifier 1471796 1471798 + LessThanToken 1471798 1471800 + PropertyAccessExpression 1471800 1471829 + PropertyAccessExpression 1471800 1471822 + Identifier 1471800 1471807 + Identifier 1471808 1471822 + Identifier 1471823 1471829 + PostfixUnaryExpression 1471830 1471834 + Identifier 1471830 1471832 + Block 1471835 1472401 + VariableStatement 1471837 1471891 + VariableDeclarationList 1471837 1471890 + VariableDeclaration 1471860 1471890 + Identifier 1471860 1471862 + ElementAccessExpression 1471864 1471890 + NonNullExpression 1471864 1471887 + PropertyAccessExpression 1471864 1471886 + Identifier 1471864 1471871 + Identifier 1471872 1471886 + Identifier 1471888 1471889 + VariableStatement 1471891 1471944 + VariableDeclarationList 1471891 1471943 + VariableDeclaration 1471914 1471943 + Identifier 1471914 1471916 + ElementAccessExpression 1471918 1471943 + PropertyAccessExpression 1471918 1471940 + Identifier 1471918 1471925 + Identifier 1471926 1471940 + Identifier 1471941 1471942 + IfStatement 1471944 1472386 + PrefixUnaryExpression 1471966 1472303 + ParenthesizedExpression 1471989 1472303 + BinaryExpression 1471990 1472302 + BinaryExpression 1471990 1471997 + Identifier 1471990 1471991 + EqualsEqualsEqualsToken 1471991 1471995 + Identifier 1471995 1471997 + BarBarToken 1471997 1472000 + BinaryExpression 1472000 1472302 + CallExpression 1472000 1472138 + Identifier 1472000 1472013 + BinaryExpression 1472014 1472087 + CallExpression 1472014 1472072 + Identifier 1472014 1472029 + CallExpression 1472030 1472063 + Identifier 1472030 1472060 + Identifier 1472061 1472062 + Identifier 1472064 1472071 + BarBarToken 1472072 1472075 + Identifier 1472075 1472087 + BinaryExpression 1472088 1472137 + CallExpression 1472088 1472122 + Identifier 1472088 1472119 + Identifier 1472120 1472121 + BarBarToken 1472122 1472125 + Identifier 1472125 1472137 + AmpersandAmpersandToken 1472138 1472141 + CallExpression 1472141 1472302 + Identifier 1472141 1472183 + BinaryExpression 1472184 1472254 + CallExpression 1472184 1472239 + Identifier 1472184 1472199 + CallExpression 1472200 1472230 + Identifier 1472200 1472227 + Identifier 1472228 1472229 + Identifier 1472231 1472238 + BarBarToken 1472239 1472242 + Identifier 1472242 1472254 + BinaryExpression 1472255 1472301 + CallExpression 1472255 1472286 + Identifier 1472255 1472283 + Identifier 1472284 1472285 + BarBarToken 1472286 1472289 + Identifier 1472289 1472301 + Block 1472322 1472386 + ReturnStatement 1472324 1472367 + PropertyAccessExpression 1472352 1472366 + Identifier 1472352 1472360 + Identifier 1472361 1472366 + ExpressionStatement 1472401 1472491 + BinaryExpression 1472401 1472490 + Identifier 1472401 1472421 + EqualsToken 1472421 1472423 + CallExpression 1472423 1472490 + Identifier 1472423 1472444 + Identifier 1472445 1472451 + Identifier 1472452 1472459 + TrueKeyword 1472460 1472489 + VariableStatement 1472502 1472538 + VariableDeclarationList 1472502 1472537 + VariableDeclaration 1472515 1472537 + Identifier 1472515 1472522 + PropertyAccessExpression 1472524 1472537 + Identifier 1472524 1472532 + Identifier 1472533 1472537 + IfStatement 1472538 1473060 + PrefixUnaryExpression 1472552 1472568 + Identifier 1472553 1472568 + Block 1472569 1473060 + VariableStatement 1472571 1472639 + VariableDeclarationList 1472571 1472638 + VariableDeclaration 1472590 1472638 + Identifier 1472590 1472605 + CallExpression 1472607 1472638 + Identifier 1472607 1472630 + Identifier 1472631 1472637 + IfStatement 1472639 1473049 + Identifier 1472657 1472671 + Block 1472672 1473049 + VariableStatement 1472674 1472746 + VariableDeclarationList 1472674 1472745 + VariableDeclaration 1472697 1472745 + Identifier 1472697 1472712 + CallExpression 1472714 1472745 + Identifier 1472714 1472737 + Identifier 1472738 1472744 + IfStatement 1472746 1473034 + Identifier 1472768 1472782 + Block 1472783 1473034 + VariableStatement 1472785 1472868 + VariableDeclarationList 1472785 1472867 + VariableDeclaration 1472812 1472867 + Identifier 1472812 1472820 + CallExpression 1472822 1472867 + Identifier 1472822 1472835 + Identifier 1472836 1472850 + Identifier 1472851 1472866 + IfStatement 1472868 1472975 + PrefixUnaryExpression 1472894 1472902 + Identifier 1472895 1472902 + Block 1472903 1472975 + ReturnStatement 1472905 1472952 + PropertyAccessExpression 1472937 1472951 + Identifier 1472937 1472945 + Identifier 1472946 1472951 + ExpressionStatement 1472975 1473015 + BinaryExpression 1472975 1473014 + Identifier 1472975 1473003 + AmpersandEqualsToken 1473003 1473006 + Identifier 1473006 1473014 + VariableStatement 1473060 1473114 + VariableDeclarationList 1473060 1473113 + VariableDeclaration 1473075 1473113 + Identifier 1473075 1473085 + CallExpression 1473087 1473113 + Identifier 1473087 1473105 + Identifier 1473106 1473112 + ForStatement 1473114 1473442 + VariableDeclarationList 1473129 1473138 + VariableDeclaration 1473132 1473138 + Identifier 1473132 1473134 + NumericLiteral 1473136 1473138 + BinaryExpression 1473139 1473153 + Identifier 1473139 1473141 + LessThanToken 1473141 1473143 + Identifier 1473143 1473153 + PostfixUnaryExpression 1473154 1473158 + Identifier 1473154 1473156 + Block 1473159 1473442 + VariableStatement 1473161 1473214 + VariableDeclarationList 1473161 1473213 + VariableDeclaration 1473180 1473213 + Identifier 1473180 1473182 + CallExpression 1473184 1473213 + Identifier 1473184 1473202 + Identifier 1473203 1473209 + Identifier 1473210 1473212 + VariableStatement 1473214 1473267 + VariableDeclarationList 1473214 1473266 + VariableDeclaration 1473233 1473266 + Identifier 1473233 1473235 + CallExpression 1473237 1473266 + Identifier 1473237 1473255 + Identifier 1473256 1473262 + Identifier 1473263 1473265 + VariableStatement 1473267 1473316 + VariableDeclarationList 1473267 1473315 + VariableDeclaration 1473286 1473315 + Identifier 1473286 1473294 + CallExpression 1473296 1473315 + Identifier 1473296 1473309 + Identifier 1473310 1473311 + Identifier 1473312 1473314 + IfStatement 1473316 1473399 + PrefixUnaryExpression 1473334 1473342 + Identifier 1473335 1473342 + Block 1473343 1473399 + ReturnStatement 1473345 1473384 + PropertyAccessExpression 1473369 1473383 + Identifier 1473369 1473377 + Identifier 1473378 1473383 + ExpressionStatement 1473399 1473431 + BinaryExpression 1473399 1473430 + Identifier 1473399 1473419 + AmpersandEqualsToken 1473419 1473422 + Identifier 1473422 1473430 + IfStatement 1473442 1473917 + PrefixUnaryExpression 1473456 1473474 + Identifier 1473457 1473474 + Block 1473475 1473917 + VariableStatement 1473477 1473555 + VariableDeclarationList 1473477 1473554 + VariableDeclaration 1473496 1473554 + Identifier 1473496 1473516 + CallExpression 1473518 1473554 + Identifier 1473518 1473546 + Identifier 1473547 1473553 + VariableStatement 1473555 1473633 + VariableDeclarationList 1473555 1473632 + VariableDeclaration 1473574 1473632 + Identifier 1473574 1473594 + CallExpression 1473596 1473632 + Identifier 1473596 1473624 + Identifier 1473625 1473631 + ExpressionStatement 1473633 1473906 + BinaryExpression 1473633 1473905 + Identifier 1473633 1473653 + AmpersandEqualsToken 1473653 1473656 + ConditionalExpression 1473656 1473905 + BinaryExpression 1473656 1473699 + Identifier 1473656 1473676 + BarBarToken 1473676 1473679 + Identifier 1473679 1473699 + QuestionToken 1473699 1473701 + CallExpression 1473701 1473805 + Identifier 1473701 1473749 + Identifier 1473750 1473769 + Identifier 1473770 1473790 + Identifier 1473791 1473804 + ColonToken 1473805 1473807 + CallExpression 1473807 1473905 + Identifier 1473807 1473837 + CallExpression 1473838 1473870 + Identifier 1473838 1473862 + Identifier 1473863 1473869 + CallExpression 1473871 1473904 + Identifier 1473871 1473896 + Identifier 1473897 1473903 + ReturnStatement 1473917 1473941 + Identifier 1473933 1473940 + FunctionDeclaration 1473948 1474394 + Identifier 1473964 1473995 + Parameter 1473996 1474029 + Identifier 1473996 1474002 + UnionType 1474003 1474029 + TypeReference 1474003 1474017 + Identifier 1474003 1474017 + UndefinedKeyword 1474019 1474029 + Parameter 1474030 1474064 + Identifier 1474030 1474037 + UnionType 1474038 1474064 + TypeReference 1474038 1474052 + Identifier 1474038 1474052 + UndefinedKeyword 1474054 1474064 + Parameter 1474065 1474109 + Identifier 1474065 1474078 + FunctionType 1474079 1474109 + Parameter 1474081 1474088 + Identifier 1474081 1474082 + TypeReference 1474083 1474088 + Identifier 1474083 1474088 + Parameter 1474089 1474097 + Identifier 1474089 1474091 + TypeReference 1474092 1474097 + Identifier 1474092 1474097 + TypeReference 1474101 1474109 + Identifier 1474101 1474109 + TypeReference 1474111 1474119 + Identifier 1474111 1474119 + Block 1474119 1474394 + ReturnStatement 1474121 1474387 + ConditionalExpression 1474137 1474386 + PrefixUnaryExpression 1474137 1474200 + ParenthesizedExpression 1474139 1474200 + BinaryExpression 1474140 1474199 + BinaryExpression 1474140 1474156 + Identifier 1474140 1474146 + AmpersandAmpersandToken 1474146 1474149 + Identifier 1474149 1474156 + AmpersandAmpersandToken 1474156 1474159 + CallExpression 1474159 1474199 + Identifier 1474159 1474183 + Identifier 1474184 1474190 + Identifier 1474191 1474198 + QuestionToken 1474200 1474202 + PropertyAccessExpression 1474202 1474216 + Identifier 1474202 1474210 + Identifier 1474211 1474216 + ColonToken 1474216 1474218 + ConditionalExpression 1474218 1474386 + BinaryExpression 1474218 1474259 + PropertyAccessExpression 1474218 1474243 + Identifier 1474218 1474238 + Identifier 1474239 1474243 + EqualsEqualsEqualsToken 1474243 1474247 + PropertyAccessExpression 1474247 1474259 + Identifier 1474247 1474254 + Identifier 1474255 1474259 + QuestionToken 1474259 1474261 + PropertyAccessExpression 1474261 1474274 + Identifier 1474261 1474269 + Identifier 1474270 1474274 + ColonToken 1474274 1474276 + ConditionalExpression 1474276 1474386 + BinaryExpression 1474276 1474316 + PropertyAccessExpression 1474276 1474301 + Identifier 1474276 1474296 + Identifier 1474297 1474301 + AmpersandAmpersandToken 1474301 1474304 + PropertyAccessExpression 1474304 1474316 + Identifier 1474304 1474311 + Identifier 1474312 1474316 + QuestionToken 1474316 1474318 + CallExpression 1474318 1474357 + Identifier 1474318 1474331 + PropertyAccessExpression 1474332 1474343 + Identifier 1474332 1474338 + Identifier 1474339 1474343 + PropertyAccessExpression 1474344 1474356 + Identifier 1474344 1474351 + Identifier 1474352 1474356 + ColonToken 1474357 1474359 + PropertyAccessExpression 1474359 1474386 + Identifier 1474359 1474380 + Identifier 1474381 1474386 + FunctionDeclaration 1474394 1474883 + Identifier 1474410 1474439 + Parameter 1474440 1474453 + Identifier 1474440 1474445 + ArrayType 1474446 1474453 + TypeReference 1474446 1474451 + Identifier 1474446 1474451 + BooleanKeyword 1474455 1474463 + Block 1474463 1474883 + VariableStatement 1474465 1474512 + VariableDeclarationList 1474465 1474511 + VariableDeclaration 1474478 1474511 + Identifier 1474478 1474493 + UnionType 1474494 1474511 + TypeReference 1474494 1474499 + Identifier 1474494 1474499 + UndefinedKeyword 1474501 1474511 + ForOfStatement 1474512 1474854 + VariableDeclarationList 1474527 1474534 + VariableDeclaration 1474532 1474534 + Identifier 1474532 1474534 + Identifier 1474537 1474543 + Block 1474544 1474854 + IfStatement 1474546 1474843 + PrefixUnaryExpression 1474564 1474592 + ParenthesizedExpression 1474565 1474592 + BinaryExpression 1474566 1474591 + PropertyAccessExpression 1474566 1474573 + Identifier 1474566 1474567 + Identifier 1474568 1474573 + AmpersandToken 1474573 1474575 + PropertyAccessExpression 1474575 1474591 + Identifier 1474575 1474585 + Identifier 1474586 1474591 + Block 1474593 1474843 + VariableStatement 1474595 1474658 + VariableDeclarationList 1474595 1474657 + VariableDeclaration 1474618 1474657 + Identifier 1474618 1474627 + CallExpression 1474629 1474657 + Identifier 1474629 1474654 + Identifier 1474655 1474656 + ExpressionStatement 1474658 1474704 + BinaryExpression 1474658 1474703 + Identifier 1474658 1474690 + QuestionQuestionEqualsToken 1474690 1474694 + Identifier 1474694 1474703 + IfStatement 1474704 1474828 + BinaryExpression 1474726 1474771 + BinaryExpression 1474726 1474740 + Identifier 1474726 1474734 + EqualsEqualsEqualsToken 1474734 1474738 + Identifier 1474738 1474740 + BarBarToken 1474740 1474743 + BinaryExpression 1474743 1474771 + Identifier 1474743 1474752 + ExclamationEqualsEqualsToken 1474752 1474756 + Identifier 1474756 1474771 + Block 1474772 1474828 + ReturnStatement 1474774 1474809 + FalseKeyword 1474802 1474808 + ReturnStatement 1474854 1474876 + TrueKeyword 1474870 1474875 + FunctionDeclaration 1474883 1475114 + Identifier 1474899 1474920 + Parameter 1474921 1474934 + Identifier 1474921 1474926 + ArrayType 1474927 1474934 + TypeReference 1474927 1474932 + Identifier 1474927 1474932 + TypeReference 1474936 1474946 + Identifier 1474936 1474946 + Block 1474946 1475114 + ReturnStatement 1474948 1475107 + CallExpression 1474964 1475106 + Identifier 1474964 1474975 + Identifier 1474976 1474981 + ArrowFunction 1474982 1475089 + Parameter 1474984 1474989 + Identifier 1474984 1474989 + Parameter 1474990 1474992 + Identifier 1474990 1474992 + EqualsGreaterThanToken 1474993 1474996 + BinaryExpression 1474996 1475089 + Identifier 1474996 1475002 + BarToken 1475002 1475004 + ParenthesizedExpression 1475004 1475089 + ConditionalExpression 1475006 1475088 + BinaryExpression 1475006 1475031 + PropertyAccessExpression 1475006 1475013 + Identifier 1475006 1475007 + Identifier 1475008 1475013 + AmpersandToken 1475013 1475015 + PropertyAccessExpression 1475015 1475031 + Identifier 1475015 1475025 + Identifier 1475026 1475031 + QuestionToken 1475031 1475033 + CallExpression 1475033 1475078 + Identifier 1475033 1475054 + PropertyAccessExpression 1475055 1475077 + ParenthesizedExpression 1475055 1475071 + AsExpression 1475056 1475070 + Identifier 1475056 1475057 + TypeReference 1475060 1475070 + Identifier 1475060 1475070 + Identifier 1475072 1475077 + ColonToken 1475078 1475080 + PropertyAccessExpression 1475080 1475088 + Identifier 1475080 1475082 + Identifier 1475083 1475088 + AsExpression 1475090 1475105 + NumericLiteral 1475090 1475092 + TypeReference 1475095 1475105 + Identifier 1475095 1475105 + FunctionDeclaration 1475114 1476113 + Identifier 1475130 1475149 + Parameter 1475150 1475163 + Identifier 1475150 1475155 + ArrayType 1475156 1475163 + TypeReference 1475156 1475161 + Identifier 1475156 1475161 + TypeReference 1475165 1475170 + Identifier 1475165 1475170 + Block 1475170 1476113 + IfStatement 1475172 1475248 + BinaryExpression 1475186 1475204 + PropertyAccessExpression 1475186 1475198 + Identifier 1475186 1475191 + Identifier 1475192 1475198 + EqualsEqualsEqualsToken 1475198 1475202 + NumericLiteral 1475202 1475204 + Block 1475205 1475248 + ReturnStatement 1475207 1475237 + ElementAccessExpression 1475227 1475236 + Identifier 1475227 1475233 + NumericLiteral 1475234 1475235 + VariableStatement 1475248 1475442 + VariableDeclarationList 1475248 1475441 + VariableDeclaration 1475326 1475441 + Identifier 1475326 1475339 + ConditionalExpression 1475341 1475441 + Identifier 1475341 1475358 + QuestionToken 1475358 1475360 + CallExpression 1475360 1475433 + Identifier 1475360 1475368 + Identifier 1475369 1475374 + ArrowFunction 1475375 1475432 + Parameter 1475375 1475377 + Identifier 1475375 1475377 + EqualsGreaterThanToken 1475377 1475380 + CallExpression 1475380 1475432 + Identifier 1475380 1475391 + Identifier 1475392 1475393 + ArrowFunction 1475394 1475431 + Parameter 1475394 1475396 + Identifier 1475394 1475396 + EqualsGreaterThanToken 1475396 1475399 + PrefixUnaryExpression 1475399 1475431 + ParenthesizedExpression 1475401 1475431 + BinaryExpression 1475402 1475430 + PropertyAccessExpression 1475402 1475409 + Identifier 1475402 1475403 + Identifier 1475404 1475409 + AmpersandToken 1475409 1475411 + PropertyAccessExpression 1475411 1475430 + Identifier 1475411 1475421 + Identifier 1475422 1475430 + ColonToken 1475433 1475435 + Identifier 1475435 1475441 + VariableStatement 1475442 1475874 + VariableDeclarationList 1475442 1475873 + VariableDeclaration 1475687 1475873 + Identifier 1475687 1475704 + ConditionalExpression 1475706 1475873 + CallExpression 1475706 1475749 + Identifier 1475706 1475735 + Identifier 1475736 1475748 + QuestionToken 1475749 1475751 + CallExpression 1475751 1475791 + Identifier 1475751 1475777 + Identifier 1475778 1475790 + ColonToken 1475791 1475793 + NonNullExpression 1475793 1475873 + CallExpression 1475793 1475872 + Identifier 1475793 1475817 + Identifier 1475818 1475830 + ArrowFunction 1475831 1475871 + Parameter 1475833 1475834 + Identifier 1475833 1475834 + Parameter 1475835 1475837 + Identifier 1475835 1475837 + EqualsGreaterThanToken 1475838 1475841 + ConditionalExpression 1475841 1475871 + CallExpression 1475841 1475863 + Identifier 1475841 1475857 + Identifier 1475858 1475859 + Identifier 1475860 1475862 + QuestionToken 1475863 1475865 + Identifier 1475865 1475867 + ColonToken 1475867 1475869 + Identifier 1475869 1475871 + ReturnStatement 1475874 1476106 + ConditionalExpression 1475977 1476105 + BinaryExpression 1475977 1476000 + Identifier 1475977 1475990 + EqualsEqualsEqualsToken 1475990 1475994 + Identifier 1475994 1476000 + QuestionToken 1476000 1476002 + Identifier 1476002 1476019 + ColonToken 1476019 1476021 + CallExpression 1476021 1476105 + Identifier 1476021 1476037 + Identifier 1476038 1476054 + BinaryExpression 1476055 1476104 + CallExpression 1476055 1476083 + Identifier 1476055 1476076 + Identifier 1476077 1476082 + AmpersandToken 1476083 1476085 + PropertyAccessExpression 1476085 1476104 + Identifier 1476085 1476095 + Identifier 1476096 1476104 + FunctionDeclaration 1476113 1476325 + Identifier 1476207 1476224 + Parameter 1476225 1476238 + Identifier 1476225 1476230 + ArrayType 1476231 1476238 + TypeReference 1476231 1476236 + Identifier 1476231 1476236 + Block 1476239 1476325 + ReturnStatement 1476241 1476318 + NonNullExpression 1476257 1476317 + CallExpression 1476257 1476316 + Identifier 1476257 1476268 + Identifier 1476269 1476274 + ArrowFunction 1476275 1476315 + Parameter 1476277 1476278 + Identifier 1476277 1476278 + Parameter 1476279 1476281 + Identifier 1476279 1476281 + EqualsGreaterThanToken 1476282 1476285 + ConditionalExpression 1476285 1476315 + CallExpression 1476285 1476307 + Identifier 1476285 1476301 + Identifier 1476302 1476303 + Identifier 1476304 1476306 + QuestionToken 1476307 1476309 + Identifier 1476309 1476311 + ColonToken 1476311 1476313 + Identifier 1476313 1476315 + FunctionDeclaration 1476325 1476581 + Identifier 1476341 1476353 + Parameter 1476354 1476364 + Identifier 1476354 1476358 + TypeReference 1476359 1476364 + Identifier 1476359 1476364 + TypePredicate 1476366 1476388 + Identifier 1476366 1476371 + TypeReference 1476374 1476388 + Identifier 1476374 1476388 + Block 1476388 1476581 + ReturnStatement 1476390 1476574 + BinaryExpression 1476406 1476573 + PrefixUnaryExpression 1476406 1476455 + PrefixUnaryExpression 1476408 1476455 + ParenthesizedExpression 1476409 1476455 + BinaryExpression 1476410 1476454 + CallExpression 1476410 1476430 + Identifier 1476410 1476424 + Identifier 1476425 1476429 + AmpersandToken 1476430 1476432 + PropertyAccessExpression 1476432 1476454 + Identifier 1476432 1476444 + Identifier 1476445 1476454 + AmpersandAmpersandToken 1476455 1476458 + ParenthesizedExpression 1476458 1476573 + BinaryExpression 1476460 1476572 + BinaryExpression 1476460 1476510 + PropertyAccessExpression 1476460 1476490 + ParenthesizedExpression 1476460 1476483 + AsExpression 1476461 1476482 + Identifier 1476461 1476465 + TypeReference 1476468 1476482 + Identifier 1476468 1476482 + Identifier 1476484 1476490 + EqualsEqualsEqualsToken 1476490 1476494 + Identifier 1476494 1476510 + BarBarToken 1476510 1476513 + BinaryExpression 1476513 1476572 + PropertyAccessExpression 1476513 1476544 + ParenthesizedExpression 1476513 1476537 + AsExpression 1476515 1476536 + Identifier 1476515 1476519 + TypeReference 1476522 1476536 + Identifier 1476522 1476536 + Identifier 1476538 1476544 + EqualsEqualsEqualsToken 1476544 1476548 + Identifier 1476548 1476572 + FunctionDeclaration 1476581 1476775 + Identifier 1476597 1476617 + Parameter 1476618 1476628 + Identifier 1476618 1476622 + TypeReference 1476623 1476628 + Identifier 1476623 1476628 + BooleanKeyword 1476630 1476638 + Block 1476638 1476775 + ReturnStatement 1476640 1476768 + BinaryExpression 1476656 1476767 + PrefixUnaryExpression 1476656 1476705 + PrefixUnaryExpression 1476658 1476705 + ParenthesizedExpression 1476659 1476705 + BinaryExpression 1476660 1476704 + CallExpression 1476660 1476680 + Identifier 1476660 1476674 + Identifier 1476675 1476679 + AmpersandToken 1476680 1476682 + PropertyAccessExpression 1476682 1476704 + Identifier 1476682 1476694 + Identifier 1476695 1476704 + AmpersandAmpersandToken 1476705 1476708 + BinaryExpression 1476708 1476767 + PropertyAccessExpression 1476708 1476739 + ParenthesizedExpression 1476708 1476732 + AsExpression 1476710 1476731 + Identifier 1476710 1476714 + TypeReference 1476717 1476731 + Identifier 1476717 1476731 + Identifier 1476733 1476739 + EqualsEqualsEqualsToken 1476739 1476743 + Identifier 1476743 1476767 + FunctionDeclaration 1476775 1476910 + Identifier 1476791 1476810 + Parameter 1476811 1476821 + Identifier 1476811 1476815 + TypeReference 1476816 1476821 + Identifier 1476816 1476821 + TypePredicate 1476823 1476845 + Identifier 1476823 1476828 + TypeReference 1476831 1476845 + Identifier 1476831 1476845 + Block 1476845 1476910 + ReturnStatement 1476847 1476903 + BinaryExpression 1476863 1476902 + CallExpression 1476863 1476881 + Identifier 1476863 1476875 + Identifier 1476876 1476880 + BarBarToken 1476881 1476884 + CallExpression 1476884 1476902 + Identifier 1476884 1476896 + Identifier 1476897 1476901 + FunctionDeclaration 1476910 1477089 + Identifier 1476926 1476948 + Parameter 1476949 1476959 + Identifier 1476949 1476953 + TypeReference 1476954 1476959 + Identifier 1476954 1476959 + BooleanKeyword 1476961 1476969 + Block 1476969 1477089 + ReturnStatement 1476971 1477082 + BinaryExpression 1476987 1477081 + BinaryExpression 1476987 1477035 + CallExpression 1476987 1477005 + Identifier 1476987 1476999 + Identifier 1477000 1477004 + AmpersandAmpersandToken 1477005 1477008 + PrefixUnaryExpression 1477008 1477035 + CallExpression 1477010 1477035 + Identifier 1477010 1477029 + Identifier 1477030 1477034 + BarBarToken 1477035 1477038 + BinaryExpression 1477038 1477081 + CallExpression 1477038 1477056 + Identifier 1477038 1477050 + Identifier 1477051 1477055 + AmpersandAmpersandToken 1477056 1477059 + PrefixUnaryExpression 1477059 1477081 + PropertyAccessExpression 1477061 1477081 + PropertyAccessExpression 1477061 1477072 + Identifier 1477061 1477065 + Identifier 1477066 1477072 + Identifier 1477073 1477081 + FunctionDeclaration 1477089 1477245 + Identifier 1477105 1477131 + Parameter 1477132 1477142 + Identifier 1477132 1477136 + TypeReference 1477137 1477142 + Identifier 1477137 1477142 + UnionType 1477144 1477161 + TypeReference 1477144 1477149 + Identifier 1477144 1477149 + UndefinedKeyword 1477151 1477161 + Block 1477161 1477245 + ReturnStatement 1477163 1477238 + ConditionalExpression 1477179 1477237 + CallExpression 1477179 1477197 + Identifier 1477179 1477191 + Identifier 1477192 1477196 + QuestionToken 1477197 1477199 + ElementAccessExpression 1477199 1477225 + CallExpression 1477199 1477222 + Identifier 1477199 1477216 + Identifier 1477217 1477221 + NumericLiteral 1477223 1477224 + ColonToken 1477225 1477227 + Identifier 1477227 1477237 + FunctionDeclaration 1477245 1477635 + Identifier 1477261 1477277 + Parameter 1477278 1477288 + Identifier 1477278 1477282 + TypeReference 1477283 1477288 + Identifier 1477283 1477288 + BooleanKeyword 1477290 1477298 + Block 1477298 1477635 + ReturnStatement 1477300 1477628 + BinaryExpression 1477521 1477627 + CallExpression 1477521 1477539 + Identifier 1477521 1477533 + Identifier 1477534 1477538 + BarBarToken 1477539 1477542 + BinaryExpression 1477542 1477627 + PrefixUnaryExpression 1477542 1477577 + ParenthesizedExpression 1477544 1477577 + BinaryExpression 1477545 1477576 + PropertyAccessExpression 1477545 1477555 + Identifier 1477545 1477549 + Identifier 1477550 1477555 + AmpersandToken 1477555 1477557 + PropertyAccessExpression 1477557 1477576 + Identifier 1477557 1477567 + Identifier 1477568 1477576 + AmpersandAmpersandToken 1477577 1477580 + CallExpression 1477580 1477627 + Identifier 1477580 1477599 + Identifier 1477600 1477604 + Identifier 1477605 1477626 + FunctionDeclaration 1477635 1478033 + Identifier 1477651 1477674 + Parameter 1477675 1477685 + Identifier 1477675 1477679 + TypeReference 1477680 1477685 + Identifier 1477680 1477685 + BooleanKeyword 1477687 1477695 + Block 1477695 1478033 + ReturnStatement 1477697 1478026 + BinaryExpression 1477899 1478025 + CallExpression 1477899 1477927 + Identifier 1477899 1477921 + Identifier 1477922 1477926 + BarBarToken 1477927 1477930 + BinaryExpression 1477930 1478025 + PrefixUnaryExpression 1477930 1477983 + ParenthesizedExpression 1477932 1477983 + BinaryExpression 1477933 1477982 + PropertyAccessExpression 1477933 1477943 + Identifier 1477933 1477937 + Identifier 1477938 1477943 + AmpersandToken 1477943 1477945 + ParenthesizedExpression 1477945 1477982 + BinaryExpression 1477947 1477981 + PropertyAccessExpression 1477947 1477960 + Identifier 1477947 1477956 + Identifier 1477957 1477960 + BarToken 1477960 1477962 + PropertyAccessExpression 1477962 1477981 + Identifier 1477962 1477972 + Identifier 1477973 1477981 + AmpersandAmpersandToken 1477983 1477986 + CallExpression 1477986 1478025 + Identifier 1477986 1478005 + Identifier 1478006 1478010 + Identifier 1478011 1478024 + FunctionDeclaration 1478033 1480209 + Identifier 1478049 1478086 + Parameter 1478087 1478097 + Identifier 1478087 1478091 + TypeReference 1478092 1478097 + Identifier 1478092 1478097 + Block 1478098 1480209 + IfStatement 1478100 1478290 + BinaryExpression 1478114 1478245 + PrefixUnaryExpression 1478114 1478161 + ParenthesizedExpression 1478115 1478161 + BinaryExpression 1478116 1478160 + CallExpression 1478116 1478136 + Identifier 1478116 1478130 + Identifier 1478131 1478135 + AmpersandToken 1478136 1478138 + PropertyAccessExpression 1478138 1478160 + Identifier 1478138 1478150 + Identifier 1478151 1478160 + BarBarToken 1478161 1478164 + PrefixUnaryExpression 1478164 1478245 + ParenthesizedExpression 1478166 1478245 + BinaryExpression 1478167 1478244 + CallExpression 1478167 1478213 + Identifier 1478167 1478181 + PropertyAccessExpression 1478182 1478212 + ParenthesizedExpression 1478182 1478205 + AsExpression 1478183 1478204 + Identifier 1478183 1478187 + TypeReference 1478190 1478204 + Identifier 1478190 1478204 + Identifier 1478206 1478212 + AmpersandToken 1478213 1478215 + PropertyAccessExpression 1478215 1478244 + Identifier 1478215 1478227 + Identifier 1478228 1478244 + Block 1478246 1478290 + ReturnStatement 1478248 1478279 + Identifier 1478268 1478278 + IfStatement 1478290 1478523 + BinaryExpression 1478304 1478366 + CallExpression 1478304 1478324 + Identifier 1478304 1478318 + Identifier 1478319 1478323 + AmpersandToken 1478324 1478326 + PropertyAccessExpression 1478326 1478366 + Identifier 1478326 1478338 + Identifier 1478339 1478366 + Block 1478367 1478523 + ReturnStatement 1478369 1478512 + ConditionalExpression 1478389 1478511 + BinaryExpression 1478389 1478448 + CallExpression 1478389 1478410 + Identifier 1478389 1478404 + Identifier 1478405 1478409 + AmpersandToken 1478410 1478412 + PropertyAccessExpression 1478412 1478448 + Identifier 1478412 1478424 + Identifier 1478425 1478448 + QuestionToken 1478448 1478450 + PropertyAccessExpression 1478450 1478499 + ParenthesizedExpression 1478450 1478474 + AsExpression 1478452 1478473 + Identifier 1478452 1478456 + TypeReference 1478459 1478473 + Identifier 1478459 1478473 + Identifier 1478475 1478499 + ColonToken 1478499 1478501 + Identifier 1478501 1478511 + ExpressionStatement 1478523 1478612 + BinaryExpression 1478523 1478611 + PropertyAccessExpression 1478523 1478568 + ParenthesizedExpression 1478523 1478556 + AsExpression 1478534 1478555 + Identifier 1478534 1478538 + TypeReference 1478541 1478555 + Identifier 1478541 1478555 + Identifier 1478557 1478568 + BarEqualsToken 1478568 1478571 + PropertyAccessExpression 1478571 1478611 + Identifier 1478571 1478583 + Identifier 1478584 1478611 + VariableStatement 1478612 1478685 + VariableDeclarationList 1478612 1478684 + VariableDeclaration 1478627 1478684 + Identifier 1478627 1478634 + AsExpression 1478636 1478684 + PropertyAccessExpression 1478636 1478667 + ParenthesizedExpression 1478636 1478660 + AsExpression 1478638 1478659 + Identifier 1478638 1478642 + TypeReference 1478645 1478659 + Identifier 1478645 1478659 + Identifier 1478661 1478667 + TypeReference 1478670 1478684 + Identifier 1478670 1478684 + IfStatement 1478685 1479240 + BinaryExpression 1478699 1478741 + CallExpression 1478699 1478721 + Identifier 1478699 1478713 + Identifier 1478714 1478720 + AmpersandToken 1478721 1478723 + PropertyAccessExpression 1478723 1478741 + Identifier 1478723 1478735 + Identifier 1478736 1478741 + Block 1478742 1479240 + VariableStatement 1478744 1478810 + VariableDeclarationList 1478744 1478809 + VariableDeclaration 1478763 1478809 + Identifier 1478763 1478776 + CallExpression 1478778 1478809 + Identifier 1478778 1478801 + Identifier 1478802 1478808 + IfStatement 1478810 1479229 + BinaryExpression 1479034 1479176 + BinaryExpression 1479034 1479104 + Identifier 1479034 1479046 + AmpersandAmpersandToken 1479046 1479049 + BinaryExpression 1479049 1479104 + PropertyAccessExpression 1479049 1479078 + PropertyAccessExpression 1479049 1479073 + Identifier 1479049 1479062 + Identifier 1479063 1479073 + Identifier 1479074 1479078 + ExclamationEqualsEqualsToken 1479078 1479082 + PropertyAccessExpression 1479082 1479104 + Identifier 1479082 1479093 + Identifier 1479094 1479104 + AmpersandAmpersandToken 1479104 1479107 + BinaryExpression 1479107 1479176 + PropertyAccessExpression 1479107 1479136 + PropertyAccessExpression 1479107 1479131 + Identifier 1479107 1479120 + Identifier 1479121 1479131 + Identifier 1479132 1479136 + ExclamationEqualsEqualsToken 1479136 1479140 + PropertyAccessExpression 1479140 1479176 + Identifier 1479140 1479151 + Identifier 1479152 1479176 + Block 1479177 1479229 + ReturnStatement 1479179 1479214 + Identifier 1479203 1479213 + VariableStatement 1479240 1479285 + VariableDeclarationList 1479240 1479284 + VariableDeclaration 1479255 1479284 + Identifier 1479255 1479261 + CallExpression 1479263 1479284 + Identifier 1479263 1479276 + Identifier 1479277 1479283 + IfStatement 1479285 1479362 + BinaryExpression 1479299 1479317 + PropertyAccessExpression 1479299 1479311 + Identifier 1479299 1479304 + Identifier 1479305 1479311 + ExclamationEqualsEqualsToken 1479311 1479315 + NumericLiteral 1479315 1479317 + Block 1479318 1479362 + ReturnStatement 1479320 1479351 + Identifier 1479340 1479350 + IfStatement 1479362 1479577 + PropertyAccessExpression 1479376 1479412 + CallExpression 1479376 1479407 + Identifier 1479376 1479394 + PropertyAccessExpression 1479395 1479406 + Identifier 1479395 1479399 + Identifier 1479400 1479406 + Identifier 1479408 1479412 + Block 1479413 1479577 + ReturnStatement 1479415 1479446 + Identifier 1479435 1479445 + VariableStatement 1479577 1479803 + VariableDeclarationList 1479577 1479802 + VariableDeclaration 1479590 1479802 + Identifier 1479590 1479607 + ConditionalExpression 1479609 1479802 + PrefixUnaryExpression 1479609 1479640 + CallExpression 1479611 1479640 + Identifier 1479611 1479617 + PropertyAccessExpression 1479618 1479639 + Identifier 1479618 1479624 + Identifier 1479625 1479639 + QuestionToken 1479640 1479642 + ElementAccessExpression 1479642 1479651 + Identifier 1479642 1479648 + NumericLiteral 1479649 1479650 + ColonToken 1479651 1479653 + CallExpression 1479653 1479802 + Identifier 1479653 1479669 + ElementAccessExpression 1479670 1479678 + Identifier 1479670 1479675 + NumericLiteral 1479676 1479677 + CallExpression 1479679 1479801 + Identifier 1479679 1479696 + NonNullExpression 1479697 1479719 + PropertyAccessExpression 1479697 1479718 + Identifier 1479697 1479703 + Identifier 1479704 1479718 + CallExpression 1479720 1479800 + PropertyAccessExpression 1479720 1479766 + CallExpression 1479720 1479760 + Identifier 1479720 1479737 + AsExpression 1479738 1479759 + Identifier 1479738 1479742 + TypeReference 1479745 1479759 + Identifier 1479745 1479759 + Identifier 1479761 1479766 + NumericLiteral 1479767 1479768 + PropertyAccessExpression 1479769 1479799 + NonNullExpression 1479769 1479792 + PropertyAccessExpression 1479769 1479791 + Identifier 1479769 1479776 + Identifier 1479777 1479791 + Identifier 1479793 1479799 + IfStatement 1479803 1480032 + BinaryExpression 1479817 1479896 + CallExpression 1479817 1479864 + Identifier 1479817 1479823 + CallExpression 1479824 1479863 + Identifier 1479824 1479840 + AsExpression 1479841 1479862 + Identifier 1479841 1479845 + TypeReference 1479848 1479862 + Identifier 1479848 1479862 + GreaterThanToken 1479864 1479866 + CallExpression 1479866 1479896 + Identifier 1479866 1479873 + PropertyAccessExpression 1479874 1479895 + Identifier 1479874 1479880 + Identifier 1479881 1479895 + Block 1479897 1480032 + ExpressionStatement 1479899 1480021 + BinaryExpression 1479899 1480020 + Identifier 1479899 1479929 + EqualsToken 1479929 1479931 + CallExpression 1479931 1480020 + Identifier 1479931 1479955 + Identifier 1479956 1479972 + CallExpression 1479973 1480019 + Identifier 1479973 1479978 + CallExpression 1479979 1480018 + Identifier 1479979 1479995 + AsExpression 1479996 1480017 + Identifier 1479996 1480000 + TypeReference 1480003 1480017 + Identifier 1480003 1480017 + ExpressionStatement 1480032 1480117 + BinaryExpression 1480032 1480116 + PropertyAccessExpression 1480032 1480077 + ParenthesizedExpression 1480032 1480065 + AsExpression 1480043 1480064 + Identifier 1480043 1480047 + TypeReference 1480050 1480064 + Identifier 1480050 1480064 + Identifier 1480066 1480077 + BarEqualsToken 1480077 1480080 + PropertyAccessExpression 1480080 1480116 + Identifier 1480080 1480092 + Identifier 1480093 1480116 + ReturnStatement 1480117 1480202 + BinaryExpression 1480133 1480201 + PropertyAccessExpression 1480133 1480182 + ParenthesizedExpression 1480133 1480157 + AsExpression 1480135 1480156 + Identifier 1480135 1480139 + TypeReference 1480142 1480156 + Identifier 1480142 1480156 + Identifier 1480158 1480182 + EqualsToken 1480182 1480184 + Identifier 1480184 1480201 + FunctionDeclaration 1480209 1480370 + Identifier 1480225 1480244 + Parameter 1480245 1480255 + Identifier 1480245 1480249 + TypeReference 1480250 1480255 + Identifier 1480250 1480255 + BooleanKeyword 1480257 1480265 + Block 1480265 1480370 + ReturnStatement 1480267 1480363 + ConditionalExpression 1480283 1480362 + Identifier 1480283 1480300 + QuestionToken 1480300 1480302 + BinaryExpression 1480302 1480329 + Identifier 1480302 1480307 + EqualsEqualsEqualsToken 1480307 1480311 + Identifier 1480311 1480329 + ColonToken 1480329 1480331 + BinaryExpression 1480331 1480362 + Identifier 1480331 1480336 + EqualsEqualsEqualsToken 1480336 1480340 + Identifier 1480340 1480362 + FunctionDeclaration 1480370 1480568 + Identifier 1480386 1480410 + Parameter 1480411 1480421 + Identifier 1480411 1480415 + TypeReference 1480416 1480421 + Identifier 1480416 1480421 + BooleanKeyword 1480423 1480431 + Block 1480431 1480568 + VariableStatement 1480433 1480495 + VariableDeclarationList 1480433 1480494 + VariableDeclaration 1480448 1480494 + Identifier 1480448 1480460 + CallExpression 1480462 1480494 + Identifier 1480462 1480488 + Identifier 1480489 1480493 + ReturnStatement 1480495 1480561 + BinaryExpression 1480511 1480560 + PrefixUnaryExpression 1480511 1480525 + PrefixUnaryExpression 1480513 1480525 + Identifier 1480514 1480525 + AmpersandAmpersandToken 1480525 1480528 + CallExpression 1480528 1480560 + Identifier 1480528 1480547 + Identifier 1480548 1480559 + FunctionDeclaration 1480568 1480928 + Identifier 1480584 1480600 + Parameter 1480601 1480611 + Identifier 1480601 1480605 + TypeReference 1480606 1480611 + Identifier 1480606 1480611 + BooleanKeyword 1480613 1480621 + Block 1480621 1480928 + VariableStatement 1480623 1480648 + VariableDeclarationList 1480623 1480647 + VariableDeclaration 1480636 1480647 + Identifier 1480636 1480647 + ReturnStatement 1480648 1480921 + BinaryExpression 1480664 1480920 + BinaryExpression 1480664 1480741 + CallExpression 1480664 1480682 + Identifier 1480664 1480676 + Identifier 1480677 1480681 + BarBarToken 1480682 1480685 + PrefixUnaryExpression 1480685 1480741 + PrefixUnaryExpression 1480700 1480741 + CallExpression 1480701 1480741 + Identifier 1480701 1480718 + Identifier 1480719 1480723 + AsExpression 1480724 1480740 + StringLiteral 1480724 1480728 + TypeReference 1480731 1480740 + Identifier 1480731 1480740 + BarBarToken 1480741 1480744 + BinaryExpression 1480744 1480920 + BinaryExpression 1480744 1480851 + CallExpression 1480744 1480779 + Identifier 1480744 1480773 + Identifier 1480774 1480778 + AmpersandAmpersandToken 1480779 1480782 + PrefixUnaryExpression 1480782 1480851 + PrefixUnaryExpression 1480784 1480851 + ParenthesizedExpression 1480785 1480851 + BinaryExpression 1480786 1480850 + Identifier 1480786 1480796 + EqualsToken 1480796 1480798 + CallExpression 1480798 1480850 + Identifier 1480798 1480822 + Identifier 1480823 1480827 + AsExpression 1480828 1480849 + StringLiteral 1480828 1480837 + TypeReference 1480840 1480849 + Identifier 1480840 1480849 + AmpersandAmpersandToken 1480851 1480854 + CallExpression 1480854 1480920 + Identifier 1480854 1480864 + Identifier 1480865 1480875 + ArrowFunction 1480876 1480919 + Parameter 1480876 1480878 + Identifier 1480876 1480878 + EqualsGreaterThanToken 1480878 1480881 + PrefixUnaryExpression 1480881 1480919 + PrefixUnaryExpression 1480883 1480919 + ParenthesizedExpression 1480884 1480919 + BinaryExpression 1480885 1480918 + PropertyAccessExpression 1480885 1480892 + Identifier 1480885 1480886 + Identifier 1480887 1480892 + AmpersandToken 1480892 1480894 + PropertyAccessExpression 1480894 1480918 + Identifier 1480894 1480904 + Identifier 1480905 1480918 + FunctionDeclaration 1480928 1481061 + Identifier 1480944 1480967 + Parameter 1480968 1480978 + Identifier 1480968 1480972 + TypeReference 1480973 1480978 + Identifier 1480973 1480978 + BooleanKeyword 1480980 1480988 + Block 1480988 1481061 + ReturnStatement 1480990 1481054 + BinaryExpression 1481006 1481053 + CallExpression 1481006 1481028 + Identifier 1481006 1481022 + Identifier 1481023 1481027 + BarBarToken 1481028 1481031 + CallExpression 1481031 1481053 + Identifier 1481031 1481047 + Identifier 1481048 1481052 + FunctionDeclaration 1481061 1481502 + Identifier 1481077 1481097 + Parameter 1481098 1481108 + Identifier 1481098 1481102 + TypeReference 1481103 1481108 + Identifier 1481103 1481108 + Parameter 1481109 1481123 + Identifier 1481109 1481115 + NumberKeyword 1481116 1481123 + Block 1481124 1481502 + VariableStatement 1481126 1481207 + VariableDeclarationList 1481126 1481206 + VariableDeclaration 1481141 1481206 + Identifier 1481141 1481150 + CallExpression 1481152 1481206 + Identifier 1481152 1481176 + Identifier 1481177 1481181 + AsExpression 1481182 1481205 + BinaryExpression 1481182 1481193 + StringLiteral 1481182 1481185 + PlusToken 1481185 1481187 + Identifier 1481187 1481193 + TypeReference 1481196 1481205 + Identifier 1481196 1481205 + IfStatement 1481207 1481273 + Identifier 1481221 1481229 + Block 1481230 1481273 + ReturnStatement 1481232 1481262 + Identifier 1481252 1481261 + IfStatement 1481273 1481468 + CallExpression 1481287 1481315 + Identifier 1481287 1481296 + Identifier 1481297 1481301 + Identifier 1481302 1481314 + Block 1481316 1481468 + ReturnStatement 1481318 1481457 + CallExpression 1481338 1481456 + Identifier 1481338 1481373 + Identifier 1481374 1481378 + Identifier 1481379 1481385 + ConditionalExpression 1481386 1481455 + PropertyAccessExpression 1481386 1481427 + Identifier 1481386 1481402 + Identifier 1481403 1481427 + QuestionToken 1481427 1481429 + Identifier 1481429 1481443 + ColonToken 1481443 1481445 + Identifier 1481445 1481455 + ReturnStatement 1481468 1481495 + Identifier 1481484 1481494 + FunctionDeclaration 1481502 1481642 + Identifier 1481518 1481544 + Parameter 1481545 1481555 + Identifier 1481545 1481549 + TypeReference 1481550 1481555 + Identifier 1481550 1481555 + BooleanKeyword 1481557 1481565 + Block 1481565 1481642 + ReturnStatement 1481567 1481635 + PrefixUnaryExpression 1481583 1481634 + ParenthesizedExpression 1481585 1481634 + BinaryExpression 1481586 1481633 + PropertyAccessExpression 1481586 1481596 + Identifier 1481586 1481590 + Identifier 1481591 1481596 + AmpersandToken 1481596 1481598 + ParenthesizedExpression 1481598 1481633 + BinaryExpression 1481600 1481632 + PropertyAccessExpression 1481600 1481614 + Identifier 1481600 1481609 + Identifier 1481610 1481614 + BarToken 1481614 1481616 + PropertyAccessExpression 1481616 1481632 + Identifier 1481616 1481626 + Identifier 1481627 1481632 + FunctionDeclaration 1481642 1481748 + Identifier 1481658 1481669 + Parameter 1481670 1481680 + Identifier 1481670 1481674 + TypeReference 1481675 1481680 + Identifier 1481675 1481680 + BooleanKeyword 1481682 1481690 + Block 1481690 1481748 + ReturnStatement 1481692 1481741 + PrefixUnaryExpression 1481708 1481740 + PrefixUnaryExpression 1481710 1481740 + ParenthesizedExpression 1481711 1481740 + BinaryExpression 1481712 1481739 + PropertyAccessExpression 1481712 1481722 + Identifier 1481712 1481716 + Identifier 1481717 1481722 + AmpersandToken 1481722 1481724 + PropertyAccessExpression 1481724 1481739 + Identifier 1481724 1481734 + Identifier 1481735 1481739 + FunctionDeclaration 1481748 1482172 + Identifier 1481764 1481779 + Parameter 1481780 1481790 + Identifier 1481780 1481784 + TypeReference 1481785 1481790 + Identifier 1481785 1481790 + BooleanKeyword 1481792 1481800 + Block 1481800 1482172 + VariableStatement 1481802 1481960 + VariableDeclarationList 1481802 1481959 + VariableDeclaration 1481925 1481959 + Identifier 1481925 1481927 + CallExpression 1481929 1481959 + Identifier 1481929 1481953 + Identifier 1481954 1481958 + ReturnStatement 1481960 1482165 + ConditionalExpression 1482065 1482164 + BinaryExpression 1482065 1482098 + PropertyAccessExpression 1482065 1482073 + Identifier 1482065 1482067 + Identifier 1482068 1482073 + AmpersandToken 1482073 1482075 + PropertyAccessExpression 1482075 1482098 + Identifier 1482075 1482085 + Identifier 1482086 1482098 + QuestionToken 1482098 1482100 + CallExpression 1482100 1482148 + Identifier 1482100 1482105 + PropertyAccessExpression 1482106 1482135 + ParenthesizedExpression 1482106 1482129 + AsExpression 1482107 1482128 + Identifier 1482107 1482108 + TypeReference 1482111 1482128 + Identifier 1482111 1482128 + Identifier 1482130 1482135 + Identifier 1482136 1482147 + ColonToken 1482148 1482150 + CallExpression 1482150 1482164 + Identifier 1482150 1482161 + Identifier 1482162 1482163 + FunctionDeclaration 1482172 1482346 + Identifier 1482188 1482204 + Parameter 1482205 1482215 + Identifier 1482205 1482209 + TypeReference 1482210 1482215 + Identifier 1482210 1482215 + Block 1482216 1482346 + ReturnStatement 1482218 1482339 + ConditionalExpression 1482234 1482338 + BinaryExpression 1482234 1482270 + PropertyAccessExpression 1482234 1482245 + Identifier 1482234 1482239 + Identifier 1482240 1482245 + AmpersandToken 1482245 1482247 + PropertyAccessExpression 1482247 1482270 + Identifier 1482247 1482257 + Identifier 1482258 1482270 + QuestionToken 1482270 1482272 + BinaryExpression 1482272 1482331 + CallExpression 1482272 1482323 + Identifier 1482272 1482277 + PropertyAccessExpression 1482278 1482310 + ParenthesizedExpression 1482278 1482304 + AsExpression 1482279 1482303 + Identifier 1482279 1482283 + TypeReference 1482286 1482303 + Identifier 1482286 1482303 + Identifier 1482305 1482310 + Identifier 1482311 1482322 + BarBarToken 1482323 1482326 + Identifier 1482326 1482331 + ColonToken 1482331 1482333 + Identifier 1482333 1482338 + FunctionDeclaration 1482346 1482628 + Identifier 1482362 1482376 + Parameter 1482377 1482387 + Identifier 1482377 1482381 + TypeReference 1482382 1482387 + Identifier 1482382 1482387 + BooleanKeyword 1482389 1482397 + Block 1482397 1482628 + ReturnStatement 1482399 1482621 + ConditionalExpression 1482415 1482620 + BinaryExpression 1482415 1482446 + PropertyAccessExpression 1482415 1482426 + Identifier 1482415 1482420 + Identifier 1482421 1482426 + AmpersandToken 1482426 1482428 + PropertyAccessExpression 1482428 1482446 + Identifier 1482428 1482438 + Identifier 1482439 1482446 + QuestionToken 1482446 1482448 + TrueKeyword 1482448 1482453 + ColonToken 1482453 1482455 + ConditionalExpression 1482455 1482620 + BinaryExpression 1482455 1482497 + PropertyAccessExpression 1482455 1482479 + Identifier 1482455 1482473 + Identifier 1482474 1482479 + AmpersandToken 1482479 1482481 + PropertyAccessExpression 1482481 1482497 + Identifier 1482481 1482491 + Identifier 1482492 1482497 + QuestionToken 1482497 1482499 + ConditionalExpression 1482499 1482588 + BinaryExpression 1482499 1482534 + PropertyAccessExpression 1482499 1482510 + Identifier 1482499 1482504 + Identifier 1482505 1482510 + AmpersandToken 1482510 1482512 + PropertyAccessExpression 1482512 1482534 + Identifier 1482512 1482522 + Identifier 1482523 1482534 + QuestionToken 1482534 1482536 + TrueKeyword 1482536 1482541 + ColonToken 1482541 1482543 + CallExpression 1482543 1482588 + Identifier 1482543 1482549 + PropertyAccessExpression 1482550 1482575 + ParenthesizedExpression 1482550 1482569 + AsExpression 1482551 1482568 + Identifier 1482551 1482555 + TypeReference 1482558 1482568 + Identifier 1482558 1482568 + Identifier 1482570 1482575 + Identifier 1482576 1482587 + ColonToken 1482588 1482590 + CallExpression 1482590 1482620 + Identifier 1482590 1482614 + Identifier 1482615 1482619 + FunctionDeclaration 1482628 1483227 + Identifier 1482644 1482669 + Parameter 1482670 1482680 + Identifier 1482670 1482674 + TypeReference 1482675 1482680 + Identifier 1482675 1482680 + TypeReference 1482682 1482687 + Identifier 1482682 1482687 + Block 1482687 1483227 + ReturnStatement 1482689 1483220 + ConditionalExpression 1482705 1483219 + BinaryExpression 1482705 1482737 + PropertyAccessExpression 1482705 1482716 + Identifier 1482705 1482710 + Identifier 1482711 1482716 + AmpersandToken 1482716 1482718 + PropertyAccessExpression 1482718 1482737 + Identifier 1482718 1482728 + Identifier 1482729 1482737 + QuestionToken 1482737 1482739 + CallExpression 1482739 1482786 + Identifier 1482739 1482765 + AsExpression 1482766 1482785 + Identifier 1482766 1482770 + TypeReference 1482773 1482785 + Identifier 1482773 1482785 + ColonToken 1482786 1482788 + ConditionalExpression 1482788 1483219 + BinaryExpression 1482788 1482894 + PropertyAccessExpression 1482788 1482812 + Identifier 1482788 1482806 + Identifier 1482807 1482812 + AmpersandToken 1482812 1482814 + ParenthesizedExpression 1482814 1482894 + BinaryExpression 1482816 1482893 + BinaryExpression 1482816 1482867 + PropertyAccessExpression 1482816 1482839 + Identifier 1482816 1482825 + Identifier 1482826 1482839 + BarToken 1482839 1482841 + PropertyAccessExpression 1482841 1482867 + Identifier 1482841 1482851 + Identifier 1482852 1482867 + BarToken 1482867 1482869 + PropertyAccessExpression 1482869 1482893 + Identifier 1482869 1482879 + Identifier 1482880 1482893 + QuestionToken 1482894 1482896 + Identifier 1482896 1482907 + ColonToken 1482907 1482909 + ConditionalExpression 1482909 1483219 + BinaryExpression 1482909 1482959 + PropertyAccessExpression 1482909 1482933 + Identifier 1482909 1482927 + Identifier 1482928 1482933 + AmpersandToken 1482933 1482935 + PropertyAccessExpression 1482935 1482959 + Identifier 1482935 1482945 + Identifier 1482946 1482959 + QuestionToken 1482959 1482961 + Identifier 1482961 1482972 + ColonToken 1482972 1482974 + ConditionalExpression 1482974 1483219 + BinaryExpression 1482974 1483024 + PropertyAccessExpression 1482974 1482998 + Identifier 1482974 1482992 + Identifier 1482993 1482998 + AmpersandToken 1482998 1483000 + PropertyAccessExpression 1483000 1483024 + Identifier 1483000 1483010 + Identifier 1483011 1483024 + QuestionToken 1483024 1483026 + Identifier 1483026 1483037 + ColonToken 1483037 1483039 + ConditionalExpression 1483039 1483219 + BinaryExpression 1483039 1483090 + PropertyAccessExpression 1483039 1483063 + Identifier 1483039 1483057 + Identifier 1483058 1483063 + AmpersandToken 1483063 1483065 + PropertyAccessExpression 1483065 1483090 + Identifier 1483065 1483075 + Identifier 1483076 1483090 + QuestionToken 1483090 1483092 + Identifier 1483092 1483104 + ColonToken 1483104 1483106 + ConditionalExpression 1483106 1483219 + BinaryExpression 1483106 1483148 + PropertyAccessExpression 1483106 1483130 + Identifier 1483106 1483124 + Identifier 1483125 1483130 + AmpersandToken 1483130 1483132 + PropertyAccessExpression 1483132 1483148 + Identifier 1483132 1483142 + Identifier 1483143 1483148 + QuestionToken 1483148 1483150 + CallExpression 1483150 1483199 + Identifier 1483150 1483180 + AsExpression 1483181 1483198 + Identifier 1483181 1483185 + TypeReference 1483188 1483198 + Identifier 1483188 1483198 + ColonToken 1483199 1483201 + Identifier 1483201 1483219 + FunctionDeclaration 1483227 1483442 + Identifier 1483243 1483273 + Parameter 1483274 1483289 + Identifier 1483274 1483278 + TypeReference 1483279 1483289 + Identifier 1483279 1483289 + Block 1483290 1483442 + VariableStatement 1483292 1483336 + VariableDeclarationList 1483292 1483335 + VariableDeclaration 1483307 1483335 + Identifier 1483307 1483311 + TemplateExpression 1483313 1483335 + TemplateHead 1483313 1483318 + TemplateSpan 1483318 1483335 + CallExpression 1483318 1483333 + Identifier 1483318 1483327 + Identifier 1483328 1483332 + TemplateTail 1483333 1483335 + ReturnStatement 1483336 1483435 + BinaryExpression 1483352 1483434 + CallExpression 1483352 1483371 + Identifier 1483352 1483366 + Identifier 1483367 1483370 + QuestionQuestionToken 1483371 1483374 + CallExpression 1483374 1483434 + Identifier 1483374 1483388 + Identifier 1483389 1483392 + CallExpression 1483393 1483433 + Identifier 1483393 1483401 + Identifier 1483402 1483406 + Identifier 1483407 1483432 + FunctionDeclaration 1483442 1484187 + Identifier 1483664 1483702 + Parameter 1483703 1483713 + Identifier 1483703 1483707 + TypeReference 1483708 1483713 + Identifier 1483708 1483713 + TypeReference 1483715 1483720 + Identifier 1483715 1483720 + Block 1483720 1484187 + ReturnStatement 1483722 1484180 + ConditionalExpression 1483738 1484179 + BinaryExpression 1483738 1483831 + PropertyAccessExpression 1483738 1483749 + Identifier 1483738 1483743 + Identifier 1483744 1483749 + AmpersandToken 1483749 1483751 + ParenthesizedExpression 1483751 1483831 + BinaryExpression 1483753 1483830 + BinaryExpression 1483753 1483804 + PropertyAccessExpression 1483753 1483776 + Identifier 1483753 1483762 + Identifier 1483763 1483776 + BarToken 1483776 1483778 + PropertyAccessExpression 1483778 1483804 + Identifier 1483778 1483788 + Identifier 1483789 1483804 + BarToken 1483804 1483806 + PropertyAccessExpression 1483806 1483830 + Identifier 1483806 1483816 + Identifier 1483817 1483830 + QuestionToken 1483831 1483833 + Identifier 1483833 1483844 + ColonToken 1483844 1483846 + ConditionalExpression 1483846 1484179 + BinaryExpression 1483846 1483915 + PropertyAccessExpression 1483846 1483870 + Identifier 1483846 1483864 + Identifier 1483865 1483870 + AmpersandToken 1483870 1483872 + ParenthesizedExpression 1483872 1483915 + BinaryExpression 1483874 1483914 + PropertyAccessExpression 1483874 1483897 + Identifier 1483874 1483883 + Identifier 1483884 1483897 + BarToken 1483897 1483899 + PropertyAccessExpression 1483899 1483914 + Identifier 1483899 1483909 + Identifier 1483910 1483914 + QuestionToken 1483915 1483917 + Identifier 1483917 1483928 + ColonToken 1483928 1483930 + ConditionalExpression 1483930 1484179 + BinaryExpression 1483930 1483980 + PropertyAccessExpression 1483930 1483954 + Identifier 1483930 1483948 + Identifier 1483949 1483954 + AmpersandToken 1483954 1483956 + PropertyAccessExpression 1483956 1483980 + Identifier 1483956 1483966 + Identifier 1483967 1483980 + QuestionToken 1483980 1483982 + Identifier 1483982 1483993 + ColonToken 1483993 1483995 + ConditionalExpression 1483995 1484179 + BinaryExpression 1483995 1484046 + PropertyAccessExpression 1483995 1484019 + Identifier 1483995 1484013 + Identifier 1484014 1484019 + AmpersandToken 1484019 1484021 + PropertyAccessExpression 1484021 1484046 + Identifier 1484021 1484031 + Identifier 1484032 1484046 + QuestionToken 1484046 1484048 + Identifier 1484048 1484060 + ColonToken 1484060 1484062 + ConditionalExpression 1484062 1484179 + BinaryExpression 1484062 1484104 + PropertyAccessExpression 1484062 1484086 + Identifier 1484062 1484080 + Identifier 1484081 1484086 + AmpersandToken 1484086 1484088 + PropertyAccessExpression 1484088 1484104 + Identifier 1484088 1484098 + Identifier 1484099 1484104 + QuestionToken 1484104 1484106 + CallExpression 1484106 1484159 + Identifier 1484106 1484114 + Identifier 1484115 1484119 + Identifier 1484120 1484158 + ColonToken 1484159 1484161 + Identifier 1484161 1484179 + FunctionDeclaration 1484187 1484868 + Identifier 1484203 1484225 + Parameter 1484226 1484236 + Identifier 1484226 1484230 + TypeReference 1484231 1484236 + Identifier 1484231 1484236 + TypeReference 1484238 1484243 + Identifier 1484238 1484243 + Block 1484243 1484868 + ReturnStatement 1484245 1484861 + ConditionalExpression 1484261 1484860 + BinaryExpression 1484261 1484321 + BinaryExpression 1484261 1484293 + PropertyAccessExpression 1484261 1484272 + Identifier 1484261 1484266 + Identifier 1484267 1484272 + AmpersandToken 1484272 1484274 + PropertyAccessExpression 1484274 1484293 + Identifier 1484274 1484284 + Identifier 1484285 1484293 + AmpersandAmpersandToken 1484293 1484296 + CallExpression 1484296 1484321 + Identifier 1484296 1484315 + Identifier 1484316 1484320 + QuestionToken 1484321 1484323 + CallExpression 1484323 1484370 + Identifier 1484323 1484349 + AsExpression 1484350 1484369 + Identifier 1484350 1484354 + TypeReference 1484357 1484369 + Identifier 1484357 1484369 + ColonToken 1484370 1484372 + ConditionalExpression 1484372 1484860 + BinaryExpression 1484372 1484450 + BinaryExpression 1484372 1484422 + PropertyAccessExpression 1484372 1484396 + Identifier 1484372 1484390 + Identifier 1484391 1484396 + AmpersandToken 1484396 1484398 + PropertyAccessExpression 1484398 1484422 + Identifier 1484398 1484408 + Identifier 1484409 1484422 + AmpersandAmpersandToken 1484422 1484425 + CallExpression 1484425 1484450 + Identifier 1484425 1484444 + Identifier 1484445 1484449 + QuestionToken 1484450 1484452 + Identifier 1484452 1484463 + ColonToken 1484463 1484465 + ConditionalExpression 1484465 1484860 + BinaryExpression 1484465 1484543 + BinaryExpression 1484465 1484515 + PropertyAccessExpression 1484465 1484489 + Identifier 1484465 1484483 + Identifier 1484484 1484489 + AmpersandToken 1484489 1484491 + PropertyAccessExpression 1484491 1484515 + Identifier 1484491 1484501 + Identifier 1484502 1484515 + AmpersandAmpersandToken 1484515 1484518 + CallExpression 1484518 1484543 + Identifier 1484518 1484537 + Identifier 1484538 1484542 + QuestionToken 1484543 1484545 + Identifier 1484545 1484556 + ColonToken 1484556 1484558 + ConditionalExpression 1484558 1484860 + BinaryExpression 1484558 1484636 + BinaryExpression 1484558 1484608 + PropertyAccessExpression 1484558 1484582 + Identifier 1484558 1484576 + Identifier 1484577 1484582 + AmpersandToken 1484582 1484584 + PropertyAccessExpression 1484584 1484608 + Identifier 1484584 1484594 + Identifier 1484595 1484608 + AmpersandAmpersandToken 1484608 1484611 + CallExpression 1484611 1484636 + Identifier 1484611 1484630 + Identifier 1484631 1484635 + QuestionToken 1484636 1484638 + Identifier 1484638 1484649 + ColonToken 1484649 1484651 + ConditionalExpression 1484651 1484860 + BinaryExpression 1484651 1484730 + BinaryExpression 1484651 1484702 + PropertyAccessExpression 1484651 1484675 + Identifier 1484651 1484669 + Identifier 1484670 1484675 + AmpersandToken 1484675 1484677 + PropertyAccessExpression 1484677 1484702 + Identifier 1484677 1484687 + Identifier 1484688 1484702 + AmpersandAmpersandToken 1484702 1484705 + CallExpression 1484705 1484730 + Identifier 1484705 1484724 + Identifier 1484725 1484729 + QuestionToken 1484730 1484732 + Identifier 1484732 1484744 + ColonToken 1484744 1484746 + ConditionalExpression 1484746 1484860 + BinaryExpression 1484746 1484788 + PropertyAccessExpression 1484746 1484770 + Identifier 1484746 1484764 + Identifier 1484765 1484770 + AmpersandToken 1484770 1484772 + PropertyAccessExpression 1484772 1484788 + Identifier 1484772 1484782 + Identifier 1484783 1484788 + QuestionToken 1484788 1484790 + CallExpression 1484790 1484840 + Identifier 1484790 1484798 + AsExpression 1484799 1484816 + Identifier 1484799 1484803 + TypeReference 1484806 1484816 + Identifier 1484806 1484816 + Identifier 1484817 1484839 + ColonToken 1484840 1484842 + Identifier 1484842 1484860 + FunctionDeclaration 1484868 1485133 + Identifier 1484884 1484913 + Parameter 1484914 1484924 + Identifier 1484914 1484918 + TypeReference 1484919 1484924 + Identifier 1484919 1484924 + TypeReference 1484926 1484931 + Identifier 1484926 1484931 + Block 1484931 1485133 + ReturnStatement 1484933 1485126 + ConditionalExpression 1484949 1485125 + BinaryExpression 1484949 1484987 + PropertyAccessExpression 1484949 1484960 + Identifier 1484949 1484954 + Identifier 1484955 1484960 + AmpersandToken 1484960 1484962 + PropertyAccessExpression 1484962 1484987 + Identifier 1484962 1484972 + Identifier 1484973 1484987 + QuestionToken 1484987 1484989 + Identifier 1484989 1485002 + ColonToken 1485002 1485004 + ConditionalExpression 1485004 1485125 + BinaryExpression 1485004 1485046 + PropertyAccessExpression 1485004 1485028 + Identifier 1485004 1485022 + Identifier 1485023 1485028 + AmpersandToken 1485028 1485030 + PropertyAccessExpression 1485030 1485046 + Identifier 1485030 1485040 + Identifier 1485041 1485046 + QuestionToken 1485046 1485048 + CallExpression 1485048 1485105 + Identifier 1485048 1485056 + AsExpression 1485057 1485074 + Identifier 1485057 1485061 + TypeReference 1485064 1485074 + Identifier 1485064 1485074 + Identifier 1485075 1485104 + ColonToken 1485105 1485107 + Identifier 1485107 1485125 + FunctionDeclaration 1485133 1485453 + Identifier 1485149 1485192 + Parameter 1485193 1485203 + Identifier 1485193 1485197 + TypeReference 1485198 1485203 + Identifier 1485198 1485203 + Parameter 1485204 1485237 + Identifier 1485204 1485219 + UnionType 1485220 1485237 + TypeReference 1485220 1485225 + Identifier 1485220 1485225 + UndefinedKeyword 1485227 1485237 + Block 1485238 1485453 + IfStatement 1485240 1485395 + PrefixUnaryExpression 1485254 1485302 + CallExpression 1485255 1485302 + Identifier 1485255 1485280 + Identifier 1485281 1485285 + Identifier 1485286 1485301 + Block 1485303 1485395 + ExpressionStatement 1485305 1485384 + BinaryExpression 1485305 1485383 + Identifier 1485305 1485323 + EqualsToken 1485323 1485325 + CallExpression 1485325 1485383 + Identifier 1485325 1485354 + CallExpression 1485355 1485382 + Identifier 1485355 1485376 + Identifier 1485377 1485381 + ReturnStatement 1485395 1485446 + CallExpression 1485411 1485445 + Identifier 1485411 1485439 + Identifier 1485440 1485444 + FunctionDeclaration 1485453 1486000 + Identifier 1485469 1485526 + Parameter 1485527 1485549 + Identifier 1485527 1485531 + UnionType 1485532 1485549 + TypeReference 1485532 1485537 + Identifier 1485532 1485537 + UndefinedKeyword 1485539 1485549 + Parameter 1485550 1485598 + Identifier 1485550 1485580 + UnionType 1485581 1485598 + TypeReference 1485581 1485586 + Identifier 1485581 1485586 + UndefinedKeyword 1485588 1485598 + Parameter 1485599 1485616 + Identifier 1485599 1485607 + BooleanKeyword 1485608 1485616 + Block 1485617 1486000 + IfStatement 1485619 1485971 + BinaryExpression 1485633 1485657 + Identifier 1485633 1485637 + AmpersandAmpersandToken 1485637 1485640 + CallExpression 1485640 1485657 + Identifier 1485640 1485651 + Identifier 1485652 1485656 + Block 1485658 1485971 + VariableStatement 1485660 1485874 + VariableDeclarationList 1485660 1485873 + VariableDeclaration 1485679 1485873 + Identifier 1485679 1485694 + ConditionalExpression 1485696 1485873 + PrefixUnaryExpression 1485696 1485727 + Identifier 1485698 1485727 + QuestionToken 1485727 1485729 + Identifier 1485729 1485739 + ColonToken 1485739 1485741 + ConditionalExpression 1485741 1485873 + Identifier 1485741 1485766 + QuestionToken 1485766 1485768 + CallExpression 1485768 1485824 + Identifier 1485768 1485793 + Identifier 1485794 1485823 + ColonToken 1485824 1485826 + Identifier 1485826 1485873 + ExpressionStatement 1485874 1485960 + BinaryExpression 1485874 1485959 + Identifier 1485874 1485892 + EqualsToken 1485892 1485894 + CallExpression 1485894 1485959 + Identifier 1485894 1485937 + Identifier 1485938 1485942 + Identifier 1485943 1485958 + ReturnStatement 1485971 1485993 + Identifier 1485987 1485992 + FunctionDeclaration 1486000 1486570 + Identifier 1486016 1486076 + Parameter 1486077 1486099 + Identifier 1486077 1486081 + UnionType 1486082 1486099 + TypeReference 1486082 1486087 + Identifier 1486082 1486087 + UndefinedKeyword 1486089 1486099 + Parameter 1486100 1486148 + Identifier 1486100 1486130 + UnionType 1486131 1486148 + TypeReference 1486131 1486136 + Identifier 1486131 1486136 + UndefinedKeyword 1486138 1486148 + Parameter 1486149 1486173 + Identifier 1486149 1486154 + TypeReference 1486155 1486173 + Identifier 1486155 1486173 + Parameter 1486174 1486200 + Identifier 1486174 1486191 + BooleanKeyword 1486192 1486200 + Block 1486201 1486570 + IfStatement 1486203 1486541 + BinaryExpression 1486217 1486241 + Identifier 1486217 1486221 + AmpersandAmpersandToken 1486221 1486224 + CallExpression 1486224 1486241 + Identifier 1486224 1486235 + Identifier 1486236 1486240 + Block 1486242 1486541 + VariableStatement 1486244 1486444 + VariableDeclarationList 1486244 1486443 + VariableDeclaration 1486263 1486443 + Identifier 1486263 1486278 + ConditionalExpression 1486280 1486443 + PrefixUnaryExpression 1486280 1486311 + Identifier 1486282 1486311 + QuestionToken 1486311 1486313 + Identifier 1486313 1486323 + ColonToken 1486323 1486325 + CallExpression 1486325 1486443 + Identifier 1486325 1486388 + Identifier 1486389 1486393 + Identifier 1486394 1486424 + Identifier 1486425 1486442 + ExpressionStatement 1486444 1486530 + BinaryExpression 1486444 1486529 + Identifier 1486444 1486462 + EqualsToken 1486462 1486464 + CallExpression 1486464 1486529 + Identifier 1486464 1486507 + Identifier 1486508 1486512 + Identifier 1486513 1486528 + ReturnStatement 1486541 1486563 + Identifier 1486557 1486562 + FunctionDeclaration 1486570 1486962 + Identifier 1486769 1486781 + Parameter 1486782 1486792 + Identifier 1486782 1486786 + TypeReference 1486787 1486792 + Identifier 1486787 1486792 + TypePredicate 1486794 1486821 + Identifier 1486794 1486799 + TypeReference 1486802 1486821 + Identifier 1486802 1486821 + Block 1486821 1486962 + ReturnStatement 1486823 1486955 + PrefixUnaryExpression 1486839 1486954 + PrefixUnaryExpression 1486841 1486954 + ParenthesizedExpression 1486842 1486954 + BinaryExpression 1486843 1486953 + BinaryExpression 1486843 1486887 + CallExpression 1486843 1486863 + Identifier 1486843 1486857 + Identifier 1486858 1486862 + AmpersandToken 1486863 1486865 + PropertyAccessExpression 1486865 1486887 + Identifier 1486865 1486877 + Identifier 1486878 1486887 + AmpersandAmpersandToken 1486887 1486890 + BinaryExpression 1486890 1486953 + PropertyAccessExpression 1486890 1486933 + PropertyAccessExpression 1486890 1486921 + ParenthesizedExpression 1486890 1486914 + AsExpression 1486892 1486913 + Identifier 1486892 1486896 + TypeReference 1486899 1486913 + Identifier 1486899 1486913 + Identifier 1486915 1486921 + Identifier 1486922 1486933 + AmpersandToken 1486933 1486935 + PropertyAccessExpression 1486935 1486953 + Identifier 1486935 1486947 + Identifier 1486948 1486953 + FunctionDeclaration 1486962 1487138 + Identifier 1486978 1486997 + Parameter 1486998 1487008 + Identifier 1486998 1487002 + TypeReference 1487003 1487008 + Identifier 1487003 1487008 + TypePredicate 1487010 1487037 + Identifier 1487010 1487015 + TypeReference 1487018 1487037 + Identifier 1487018 1487037 + Block 1487037 1487138 + ReturnStatement 1487039 1487131 + BinaryExpression 1487055 1487130 + CallExpression 1487055 1487073 + Identifier 1487055 1487067 + Identifier 1487068 1487072 + AmpersandAmpersandToken 1487073 1487076 + PrefixUnaryExpression 1487076 1487130 + PrefixUnaryExpression 1487078 1487130 + ParenthesizedExpression 1487079 1487130 + BinaryExpression 1487080 1487129 + PropertyAccessExpression 1487080 1487105 + PropertyAccessExpression 1487080 1487091 + Identifier 1487080 1487084 + Identifier 1487085 1487091 + Identifier 1487092 1487105 + AmpersandToken 1487105 1487107 + PropertyAccessExpression 1487107 1487129 + Identifier 1487107 1487120 + Identifier 1487121 1487129 + FunctionDeclaration 1487138 1487318 + Identifier 1487154 1487186 + Parameter 1487187 1487197 + Identifier 1487187 1487191 + TypeReference 1487192 1487197 + Identifier 1487192 1487197 + TypePredicate 1487199 1487226 + Identifier 1487199 1487204 + TypeReference 1487207 1487226 + Identifier 1487207 1487226 + Block 1487226 1487318 + ReturnStatement 1487228 1487311 + BinaryExpression 1487244 1487310 + CallExpression 1487244 1487269 + Identifier 1487244 1487263 + Identifier 1487264 1487268 + AmpersandAmpersandToken 1487269 1487272 + BinaryExpression 1487272 1487310 + PropertyAccessExpression 1487272 1487304 + PropertyAccessExpression 1487272 1487297 + PropertyAccessExpression 1487272 1487284 + Identifier 1487272 1487277 + Identifier 1487278 1487284 + Identifier 1487285 1487297 + Identifier 1487298 1487304 + EqualsEqualsEqualsToken 1487304 1487308 + NumericLiteral 1487308 1487310 + FunctionDeclaration 1487318 1487473 + Identifier 1487334 1487357 + Parameter 1487358 1487382 + Identifier 1487358 1487362 + TypeReference 1487363 1487382 + Identifier 1487363 1487382 + Block 1487383 1487473 + ReturnStatement 1487385 1487466 + CallExpression 1487401 1487465 + Identifier 1487401 1487434 + Identifier 1487435 1487439 + PropertyAccessExpression 1487440 1487464 + PropertyAccessExpression 1487440 1487452 + Identifier 1487440 1487445 + Identifier 1487446 1487452 + Identifier 1487453 1487464 + FunctionDeclaration 1487473 1488075 + Identifier 1487489 1487524 + Parameter 1487525 1487535 + Identifier 1487525 1487529 + TypeReference 1487530 1487535 + Identifier 1487530 1487535 + Parameter 1487536 1487550 + Identifier 1487536 1487542 + NumberKeyword 1487543 1487550 + Parameter 1487551 1487592 + Identifier 1487551 1487574 + UnionType 1487575 1487592 + TypeReference 1487575 1487580 + Identifier 1487575 1487580 + UndefinedKeyword 1487582 1487592 + Block 1487593 1488075 + ReturnStatement 1487595 1488068 + CallExpression 1487611 1488067 + Identifier 1487611 1487619 + Identifier 1487620 1487624 + ArrowFunction 1487625 1488066 + Parameter 1487625 1487627 + Identifier 1487625 1487627 + EqualsGreaterThanToken 1487627 1487630 + Block 1487630 1488066 + VariableStatement 1487632 1487688 + VariableDeclarationList 1487632 1487687 + VariableDeclaration 1487651 1487687 + Identifier 1487651 1487661 + AsExpression 1487663 1487687 + Identifier 1487663 1487665 + TypeReference 1487668 1487687 + Identifier 1487668 1487687 + VariableStatement 1487688 1487753 + VariableDeclarationList 1487688 1487752 + VariableDeclaration 1487707 1487752 + Identifier 1487707 1487716 + CallExpression 1487718 1487752 + Identifier 1487718 1487741 + Identifier 1487742 1487751 + IfStatement 1487753 1487837 + PrefixUnaryExpression 1487771 1487780 + Identifier 1487772 1487780 + Block 1487781 1487837 + ReturnStatement 1487783 1487822 + Identifier 1487807 1487821 + IfStatement 1487837 1488025 + BinaryExpression 1487855 1487933 + Identifier 1487855 1487877 + AmpersandAmpersandToken 1487877 1487880 + BinaryExpression 1487880 1487933 + Identifier 1487880 1487886 + GreaterThanEqualsToken 1487886 1487889 + CallExpression 1487889 1487933 + Identifier 1487889 1487915 + PropertyAccessExpression 1487916 1487932 + Identifier 1487916 1487925 + Identifier 1487926 1487932 + Block 1487934 1488025 + ReturnStatement 1487936 1488010 + CallExpression 1487960 1488009 + Identifier 1487960 1487973 + ArrayLiteralExpression 1487974 1488008 + Identifier 1487975 1487983 + Identifier 1487984 1488007 + ReturnStatement 1488025 1488055 + Identifier 1488045 1488054 + FunctionDeclaration 1488075 1488265 + Identifier 1488091 1488119 + Parameter 1488120 1488144 + Identifier 1488120 1488124 + TypeReference 1488125 1488144 + Identifier 1488125 1488144 + Block 1488145 1488265 + VariableStatement 1488147 1488203 + VariableDeclarationList 1488147 1488202 + VariableDeclaration 1488162 1488202 + Identifier 1488162 1488171 + CallExpression 1488173 1488202 + Identifier 1488173 1488196 + Identifier 1488197 1488201 + ReturnStatement 1488203 1488258 + BinaryExpression 1488219 1488257 + Identifier 1488219 1488228 + AmpersandAmpersandToken 1488228 1488231 + CallExpression 1488231 1488257 + Identifier 1488231 1488247 + Identifier 1488248 1488256 + FunctionDeclaration 1488265 1489061 + Identifier 1488281 1488314 + Parameter 1488315 1488339 + Identifier 1488315 1488319 + TypeReference 1488320 1488339 + Identifier 1488320 1488339 + Parameter 1488340 1488354 + Identifier 1488340 1488346 + NumberKeyword 1488347 1488354 + Parameter 1488355 1488372 + Identifier 1488355 1488368 + NumericLiteral 1488370 1488372 + Parameter 1488373 1488389 + Identifier 1488373 1488381 + FalseKeyword 1488383 1488389 + Parameter 1488390 1488411 + Identifier 1488390 1488403 + FalseKeyword 1488405 1488411 + Block 1488412 1489061 + VariableStatement 1488414 1488482 + VariableDeclarationList 1488414 1488481 + VariableDeclaration 1488429 1488481 + Identifier 1488429 1488436 + BinaryExpression 1488438 1488481 + CallExpression 1488438 1488466 + Identifier 1488438 1488460 + Identifier 1488461 1488465 + MinusToken 1488466 1488468 + Identifier 1488468 1488481 + IfStatement 1488482 1489027 + BinaryExpression 1488496 1488510 + Identifier 1488496 1488501 + LessThanToken 1488501 1488503 + Identifier 1488503 1488510 + Block 1488511 1489027 + VariableStatement 1488513 1488572 + VariableDeclarationList 1488513 1488571 + VariableDeclaration 1488532 1488571 + Identifier 1488532 1488546 + CallExpression 1488548 1488571 + Identifier 1488548 1488565 + Identifier 1488566 1488570 + VariableStatement 1488572 1488618 + VariableDeclarationList 1488572 1488617 + VariableDeclaration 1488591 1488617 + Identifier 1488591 1488604 + ArrayType 1488605 1488612 + TypeReference 1488605 1488610 + Identifier 1488605 1488610 + ArrayLiteralExpression 1488614 1488617 + ForStatement 1488618 1488861 + VariableDeclarationList 1488637 1488650 + VariableDeclaration 1488640 1488650 + Identifier 1488640 1488642 + Identifier 1488644 1488650 + BinaryExpression 1488651 1488662 + Identifier 1488651 1488653 + LessThanToken 1488653 1488655 + Identifier 1488655 1488662 + PostfixUnaryExpression 1488663 1488667 + Identifier 1488663 1488665 + Block 1488668 1488861 + VariableStatement 1488670 1488715 + VariableDeclarationList 1488670 1488714 + VariableDeclaration 1488693 1488714 + Identifier 1488693 1488695 + ElementAccessExpression 1488697 1488714 + Identifier 1488697 1488711 + Identifier 1488712 1488713 + ExpressionStatement 1488715 1488846 + CallExpression 1488715 1488845 + PropertyAccessExpression 1488715 1488750 + Identifier 1488715 1488745 + Identifier 1488746 1488750 + ConditionalExpression 1488751 1488844 + BinaryExpression 1488751 1488802 + ElementAccessExpression 1488751 1488778 + PropertyAccessExpression 1488751 1488775 + PropertyAccessExpression 1488751 1488762 + Identifier 1488751 1488755 + Identifier 1488756 1488762 + Identifier 1488763 1488775 + Identifier 1488776 1488777 + AmpersandToken 1488778 1488780 + PropertyAccessExpression 1488780 1488802 + Identifier 1488780 1488793 + Identifier 1488794 1488802 + QuestionToken 1488802 1488804 + CallExpression 1488804 1488840 + Identifier 1488804 1488825 + Identifier 1488826 1488827 + Identifier 1488828 1488839 + ColonToken 1488840 1488842 + Identifier 1488842 1488844 + ReturnStatement 1488861 1489016 + ConditionalExpression 1488881 1489015 + Identifier 1488881 1488889 + QuestionToken 1488889 1488891 + CallExpression 1488891 1488925 + Identifier 1488891 1488911 + Identifier 1488912 1488924 + ColonToken 1488925 1488927 + CallExpression 1488927 1489015 + Identifier 1488927 1488940 + Identifier 1488941 1488953 + ConditionalExpression 1488954 1489014 + Identifier 1488954 1488967 + QuestionToken 1488967 1488969 + PropertyAccessExpression 1488969 1488989 + Identifier 1488969 1488984 + Identifier 1488985 1488989 + ColonToken 1488989 1488991 + PropertyAccessExpression 1488991 1489014 + Identifier 1488991 1489006 + Identifier 1489007 1489014 + ReturnStatement 1489027 1489054 + Identifier 1489043 1489053 + FunctionDeclaration 1489061 1489377 + Identifier 1489077 1489106 + Parameter 1489107 1489129 + Identifier 1489107 1489109 + TypeReference 1489110 1489129 + Identifier 1489110 1489129 + Parameter 1489130 1489153 + Identifier 1489130 1489133 + TypeReference 1489134 1489153 + Identifier 1489134 1489153 + Block 1489154 1489377 + ReturnStatement 1489156 1489370 + BinaryExpression 1489172 1489369 + BinaryExpression 1489172 1489228 + CallExpression 1489172 1489198 + Identifier 1489172 1489194 + Identifier 1489195 1489197 + EqualsEqualsEqualsToken 1489198 1489202 + CallExpression 1489202 1489228 + Identifier 1489202 1489224 + Identifier 1489225 1489227 + AmpersandAmpersandToken 1489228 1489231 + CallExpression 1489231 1489369 + Identifier 1489231 1489250 + PropertyAccessExpression 1489251 1489273 + PropertyAccessExpression 1489251 1489260 + Identifier 1489251 1489253 + Identifier 1489254 1489260 + Identifier 1489261 1489273 + ArrowFunction 1489274 1489368 + Parameter 1489276 1489277 + Identifier 1489276 1489277 + Parameter 1489278 1489280 + Identifier 1489278 1489280 + EqualsGreaterThanToken 1489281 1489284 + BinaryExpression 1489284 1489368 + ParenthesizedExpression 1489284 1489312 + BinaryExpression 1489286 1489311 + Identifier 1489286 1489287 + AmpersandToken 1489287 1489289 + PropertyAccessExpression 1489289 1489311 + Identifier 1489289 1489302 + Identifier 1489303 1489311 + EqualsEqualsEqualsToken 1489312 1489316 + ParenthesizedExpression 1489316 1489368 + BinaryExpression 1489318 1489367 + ElementAccessExpression 1489318 1489343 + PropertyAccessExpression 1489318 1489340 + PropertyAccessExpression 1489318 1489327 + Identifier 1489318 1489320 + Identifier 1489321 1489327 + Identifier 1489328 1489340 + Identifier 1489341 1489342 + AmpersandToken 1489343 1489345 + PropertyAccessExpression 1489345 1489367 + Identifier 1489345 1489358 + Identifier 1489359 1489367 + FunctionDeclaration 1489377 1489488 + Identifier 1489393 1489406 + Parameter 1489407 1489435 + ObjectBindingPattern 1489407 1489416 + BindingElement 1489408 1489414 + Identifier 1489408 1489414 + TypeReference 1489417 1489435 + Identifier 1489417 1489435 + Block 1489436 1489488 + ReturnStatement 1489438 1489481 + BinaryExpression 1489454 1489480 + PropertyAccessExpression 1489454 1489472 + Identifier 1489454 1489460 + Identifier 1489461 1489472 + EqualsEqualsEqualsToken 1489472 1489476 + StringLiteral 1489476 1489480 + FunctionDeclaration 1489488 1489632 + Identifier 1489504 1489531 + Parameter 1489532 1489542 + Identifier 1489532 1489536 + TypeReference 1489537 1489542 + Identifier 1489537 1489542 + TypeReference 1489544 1489549 + Identifier 1489544 1489549 + Block 1489549 1489632 + ReturnStatement 1489551 1489625 + CallExpression 1489567 1489624 + Identifier 1489567 1489578 + Identifier 1489579 1489583 + ArrowFunction 1489584 1489623 + Parameter 1489584 1489586 + Identifier 1489584 1489586 + EqualsGreaterThanToken 1489586 1489589 + CallExpression 1489589 1489623 + Identifier 1489589 1489602 + Identifier 1489603 1489604 + PropertyAccessExpression 1489605 1489622 + Identifier 1489605 1489615 + Identifier 1489616 1489622 + FunctionDeclaration 1489632 1489764 + Identifier 1489648 1489676 + Parameter 1489677 1489687 + Identifier 1489677 1489681 + TypeReference 1489682 1489687 + Identifier 1489682 1489687 + TypeReference 1489689 1489694 + Identifier 1489689 1489694 + Block 1489694 1489764 + ReturnStatement 1489696 1489757 + CallExpression 1489712 1489756 + Identifier 1489712 1489720 + Identifier 1489721 1489725 + Identifier 1489726 1489755 + FunctionDeclaration 1489764 1490546 + Identifier 1489780 1489809 + Parameter 1489810 1489820 + Identifier 1489810 1489814 + TypeReference 1489815 1489820 + Identifier 1489815 1489820 + TypeReference 1489822 1489827 + Identifier 1489822 1489827 + Block 1489827 1490546 + ReturnStatement 1489829 1490539 + ConditionalExpression 1489845 1490538 + BinaryExpression 1489845 1489875 + PropertyAccessExpression 1489845 1489856 + Identifier 1489845 1489850 + Identifier 1489851 1489856 + AmpersandToken 1489856 1489858 + PropertyAccessExpression 1489858 1489875 + Identifier 1489858 1489868 + Identifier 1489869 1489875 + QuestionToken 1489875 1489877 + Identifier 1489877 1489893 + ColonToken 1489893 1489895 + ConditionalExpression 1489895 1490538 + BinaryExpression 1489895 1489938 + PropertyAccessExpression 1489895 1489919 + Identifier 1489895 1489913 + Identifier 1489914 1489919 + AmpersandToken 1489919 1489921 + PropertyAccessExpression 1489921 1489938 + Identifier 1489921 1489931 + Identifier 1489932 1489938 + QuestionToken 1489938 1489940 + Identifier 1489940 1489949 + ColonToken 1489949 1489951 + ConditionalExpression 1489951 1490538 + BinaryExpression 1489951 1489994 + PropertyAccessExpression 1489951 1489975 + Identifier 1489951 1489969 + Identifier 1489970 1489975 + AmpersandToken 1489975 1489977 + PropertyAccessExpression 1489977 1489994 + Identifier 1489977 1489987 + Identifier 1489988 1489994 + QuestionToken 1489994 1489996 + Identifier 1489996 1490011 + ColonToken 1490011 1490013 + ConditionalExpression 1490013 1490538 + BinaryExpression 1490013 1490506 + BinaryExpression 1490013 1490406 + BinaryExpression 1490013 1490306 + BinaryExpression 1490013 1490205 + BinaryExpression 1490013 1490091 + BinaryExpression 1490013 1490052 + Identifier 1490013 1490031 + EqualsEqualsEqualsToken 1490031 1490035 + Identifier 1490035 1490052 + BarBarToken 1490052 1490055 + BinaryExpression 1490055 1490091 + Identifier 1490055 1490077 + EqualsEqualsEqualsToken 1490077 1490081 + Identifier 1490081 1490091 + BarBarToken 1490091 1490094 + BinaryExpression 1490094 1490205 + PropertyAccessExpression 1490094 1490122 + Identifier 1490094 1490116 + Identifier 1490117 1490122 + AmpersandToken 1490122 1490124 + ParenthesizedExpression 1490124 1490205 + BinaryExpression 1490126 1490204 + BinaryExpression 1490126 1490179 + BinaryExpression 1490126 1490162 + PropertyAccessExpression 1490126 1490140 + Identifier 1490126 1490135 + Identifier 1490136 1490140 + BarToken 1490140 1490142 + PropertyAccessExpression 1490142 1490162 + Identifier 1490142 1490152 + Identifier 1490153 1490162 + BarToken 1490162 1490164 + PropertyAccessExpression 1490164 1490179 + Identifier 1490164 1490174 + Identifier 1490175 1490179 + BarToken 1490179 1490181 + PropertyAccessExpression 1490181 1490204 + Identifier 1490181 1490191 + Identifier 1490192 1490204 + BarBarToken 1490205 1490208 + BinaryExpression 1490208 1490306 + BinaryExpression 1490208 1490262 + PropertyAccessExpression 1490208 1490236 + Identifier 1490208 1490230 + Identifier 1490231 1490236 + AmpersandToken 1490236 1490238 + PropertyAccessExpression 1490238 1490262 + Identifier 1490238 1490248 + Identifier 1490249 1490262 + AmpersandAmpersandToken 1490262 1490265 + BinaryExpression 1490265 1490306 + PropertyAccessExpression 1490265 1490299 + ParenthesizedExpression 1490265 1490293 + AsExpression 1490267 1490292 + Identifier 1490267 1490271 + TypeReference 1490274 1490292 + Identifier 1490274 1490292 + Identifier 1490294 1490299 + EqualsEqualsEqualsToken 1490299 1490303 + StringLiteral 1490303 1490306 + BarBarToken 1490306 1490309 + BinaryExpression 1490309 1490406 + BinaryExpression 1490309 1490363 + PropertyAccessExpression 1490309 1490337 + Identifier 1490309 1490331 + Identifier 1490332 1490337 + AmpersandToken 1490337 1490339 + PropertyAccessExpression 1490339 1490363 + Identifier 1490339 1490349 + Identifier 1490350 1490363 + AmpersandAmpersandToken 1490363 1490366 + BinaryExpression 1490366 1490406 + PropertyAccessExpression 1490366 1490400 + ParenthesizedExpression 1490366 1490394 + AsExpression 1490368 1490393 + Identifier 1490368 1490372 + TypeReference 1490375 1490393 + Identifier 1490375 1490393 + Identifier 1490395 1490400 + EqualsEqualsEqualsToken 1490400 1490404 + NumericLiteral 1490404 1490406 + BarBarToken 1490406 1490409 + BinaryExpression 1490409 1490506 + BinaryExpression 1490409 1490463 + PropertyAccessExpression 1490409 1490437 + Identifier 1490409 1490431 + Identifier 1490432 1490437 + AmpersandToken 1490437 1490439 + PropertyAccessExpression 1490439 1490463 + Identifier 1490439 1490449 + Identifier 1490450 1490463 + AmpersandAmpersandToken 1490463 1490466 + CallExpression 1490466 1490506 + Identifier 1490466 1490479 + AsExpression 1490480 1490505 + Identifier 1490480 1490484 + TypeReference 1490487 1490505 + Identifier 1490487 1490505 + QuestionToken 1490506 1490508 + Identifier 1490508 1490513 + ColonToken 1490513 1490515 + Identifier 1490515 1490538 + FunctionDeclaration 1490546 1491209 + Identifier 1490800 1490816 + Parameter 1490817 1490827 + Identifier 1490817 1490821 + TypeReference 1490822 1490827 + Identifier 1490822 1490827 + Parameter 1490828 1490845 + Identifier 1490828 1490834 + TypeReference 1490835 1490845 + Identifier 1490835 1490845 + TypeReference 1490847 1490852 + Identifier 1490847 1490852 + Block 1490852 1491209 + VariableStatement 1490854 1490943 + VariableDeclarationList 1490854 1490942 + VariableDeclaration 1490869 1490942 + Identifier 1490869 1490877 + BinaryExpression 1490879 1490942 + ParenthesizedExpression 1490879 1490901 + BinaryExpression 1490881 1490900 + Identifier 1490881 1490886 + AmpersandToken 1490886 1490888 + PrefixUnaryExpression 1490888 1490900 + PropertyAccessExpression 1490890 1490900 + Identifier 1490890 1490894 + Identifier 1490895 1490900 + AmpersandToken 1490901 1490903 + ParenthesizedExpression 1490903 1490942 + BinaryExpression 1490905 1490941 + PropertyAccessExpression 1490905 1490924 + Identifier 1490905 1490914 + Identifier 1490915 1490924 + BarToken 1490924 1490926 + PropertyAccessExpression 1490926 1490941 + Identifier 1490926 1490936 + Identifier 1490937 1490941 + ReturnStatement 1490943 1491202 + ConditionalExpression 1490959 1491201 + BinaryExpression 1490959 1490973 + Identifier 1490959 1490967 + EqualsEqualsEqualsToken 1490967 1490971 + NumericLiteral 1490971 1490973 + QuestionToken 1490973 1490975 + Identifier 1490975 1490980 + ColonToken 1490980 1490982 + ConditionalExpression 1490982 1491201 + BinaryExpression 1490982 1491027 + Identifier 1490982 1491003 + EqualsEqualsEqualsToken 1491003 1491007 + PropertyAccessExpression 1491007 1491027 + Identifier 1491007 1491017 + Identifier 1491018 1491027 + QuestionToken 1491027 1491029 + CallExpression 1491029 1491065 + Identifier 1491029 1491042 + ArrayLiteralExpression 1491043 1491064 + Identifier 1491044 1491048 + Identifier 1491049 1491063 + ColonToken 1491065 1491067 + ConditionalExpression 1491067 1491201 + BinaryExpression 1491067 1491107 + Identifier 1491067 1491088 + EqualsEqualsEqualsToken 1491088 1491092 + PropertyAccessExpression 1491092 1491107 + Identifier 1491092 1491102 + Identifier 1491103 1491107 + QuestionToken 1491107 1491109 + CallExpression 1491109 1491140 + Identifier 1491109 1491122 + ArrayLiteralExpression 1491123 1491139 + Identifier 1491124 1491128 + Identifier 1491129 1491138 + ColonToken 1491140 1491142 + CallExpression 1491142 1491201 + Identifier 1491142 1491168 + ArrayLiteralExpression 1491169 1491200 + Identifier 1491170 1491174 + Identifier 1491175 1491189 + Identifier 1491190 1491199 + FunctionDeclaration 1491209 1491600 + Identifier 1491225 1491241 + Parameter 1491242 1491252 + Identifier 1491242 1491246 + TypeReference 1491247 1491252 + Identifier 1491247 1491252 + Parameter 1491253 1491272 + Identifier 1491253 1491264 + FalseKeyword 1491266 1491272 + TypeReference 1491274 1491279 + Identifier 1491274 1491279 + Block 1491279 1491600 + ExpressionStatement 1491281 1491322 + CallExpression 1491281 1491321 + PropertyAccessExpression 1491281 1491303 + Identifier 1491281 1491296 + Identifier 1491297 1491303 + Identifier 1491304 1491320 + VariableStatement 1491322 1491411 + VariableDeclarationList 1491322 1491410 + VariableDeclaration 1491337 1491410 + Identifier 1491337 1491356 + ConditionalExpression 1491358 1491410 + Identifier 1491358 1491369 + QuestionToken 1491369 1491371 + Identifier 1491371 1491394 + ColonToken 1491394 1491396 + Identifier 1491396 1491410 + ReturnStatement 1491411 1491593 + ConditionalExpression 1491427 1491592 + BinaryExpression 1491427 1491542 + BinaryExpression 1491427 1491455 + Identifier 1491427 1491432 + EqualsEqualsEqualsToken 1491432 1491436 + Identifier 1491436 1491455 + BarBarToken 1491455 1491458 + BinaryExpression 1491458 1491542 + BinaryExpression 1491458 1491487 + PropertyAccessExpression 1491458 1491469 + Identifier 1491458 1491463 + Identifier 1491464 1491469 + AmpersandToken 1491469 1491471 + PropertyAccessExpression 1491471 1491487 + Identifier 1491471 1491481 + Identifier 1491482 1491487 + AmpersandAmpersandToken 1491487 1491490 + BinaryExpression 1491490 1491542 + ElementAccessExpression 1491490 1491519 + PropertyAccessExpression 1491490 1491516 + ParenthesizedExpression 1491490 1491510 + AsExpression 1491492 1491509 + Identifier 1491492 1491496 + TypeReference 1491499 1491509 + Identifier 1491499 1491509 + Identifier 1491511 1491516 + NumericLiteral 1491517 1491518 + EqualsEqualsEqualsToken 1491519 1491523 + Identifier 1491523 1491542 + QuestionToken 1491542 1491544 + Identifier 1491544 1491549 + ColonToken 1491549 1491551 + CallExpression 1491551 1491592 + Identifier 1491551 1491564 + ArrayLiteralExpression 1491565 1491591 + Identifier 1491566 1491570 + Identifier 1491571 1491590 + FunctionDeclaration 1491600 1492113 + Identifier 1491616 1491654 + Parameter 1491655 1491665 + Identifier 1491655 1491659 + TypeReference 1491660 1491665 + Identifier 1491660 1491665 + Block 1491666 1492113 + IfStatement 1491668 1491891 + PrefixUnaryExpression 1491682 1491717 + Identifier 1491683 1491717 + Block 1491718 1491891 + ExpressionStatement 1491720 1491880 + BinaryExpression 1491720 1491879 + Identifier 1491720 1491768 + EqualsToken 1491768 1491770 + BinaryExpression 1491770 1491879 + CallExpression 1491770 1491862 + Identifier 1491770 1491786 + AsExpression 1491787 1491812 + StringLiteral 1491787 1491800 + TypeReference 1491803 1491812 + Identifier 1491803 1491812 + PropertyAccessExpression 1491813 1491835 + Identifier 1491813 1491825 + Identifier 1491826 1491835 + Identifier 1491836 1491861 + BarBarToken 1491862 1491865 + Identifier 1491865 1491879 + ReturnStatement 1491891 1492106 + ConditionalExpression 1491907 1492105 + BinaryExpression 1491907 1491960 + Identifier 1491907 1491942 + ExclamationEqualsEqualsToken 1491942 1491946 + Identifier 1491946 1491960 + QuestionToken 1491960 1491962 + CallExpression 1491962 1492045 + Identifier 1491962 1492001 + Identifier 1492002 1492036 + ArrayLiteralExpression 1492037 1492044 + Identifier 1492039 1492043 + ColonToken 1492045 1492047 + CallExpression 1492047 1492105 + Identifier 1492047 1492080 + ArrayLiteralExpression 1492081 1492104 + Identifier 1492082 1492086 + Identifier 1492087 1492103 + FunctionDeclaration 1492113 1492278 + Identifier 1492129 1492148 + Parameter 1492149 1492159 + Identifier 1492149 1492153 + TypeReference 1492154 1492159 + Identifier 1492154 1492159 + TypeReference 1492161 1492166 + Identifier 1492161 1492166 + Block 1492166 1492278 + ReturnStatement 1492168 1492271 + ConditionalExpression 1492184 1492270 + Identifier 1492184 1492201 + QuestionToken 1492201 1492203 + CallExpression 1492203 1492263 + Identifier 1492203 1492228 + Identifier 1492229 1492233 + PropertyAccessExpression 1492234 1492262 + Identifier 1492234 1492244 + Identifier 1492245 1492262 + ColonToken 1492263 1492265 + Identifier 1492265 1492270 + FunctionDeclaration 1492278 1492415 + Identifier 1492294 1492316 + Parameter 1492317 1492327 + Identifier 1492317 1492321 + TypeReference 1492322 1492327 + Identifier 1492322 1492327 + Block 1492328 1492415 + ReturnStatement 1492330 1492408 + ConditionalExpression 1492346 1492407 + Identifier 1492346 1492363 + QuestionToken 1492363 1492365 + CallExpression 1492365 1492400 + Identifier 1492365 1492378 + ArrayLiteralExpression 1492379 1492399 + Identifier 1492380 1492384 + Identifier 1492385 1492398 + ColonToken 1492400 1492402 + Identifier 1492402 1492407 + FunctionDeclaration 1492415 1492557 + Identifier 1492431 1492456 + Parameter 1492457 1492467 + Identifier 1492457 1492461 + TypeReference 1492462 1492467 + Identifier 1492462 1492467 + TypeReference 1492469 1492474 + Identifier 1492469 1492474 + Block 1492474 1492557 + ReturnStatement 1492476 1492550 + ConditionalExpression 1492492 1492549 + Identifier 1492492 1492509 + QuestionToken 1492509 1492511 + CallExpression 1492511 1492542 + Identifier 1492511 1492522 + Identifier 1492523 1492527 + Identifier 1492528 1492541 + ColonToken 1492542 1492544 + Identifier 1492544 1492549 + FunctionDeclaration 1492557 1492788 + Identifier 1492573 1492601 + Parameter 1492602 1492612 + Identifier 1492602 1492606 + TypeReference 1492607 1492612 + Identifier 1492607 1492612 + Parameter 1492613 1492633 + Identifier 1492613 1492618 + TypeReference 1492619 1492633 + Identifier 1492619 1492633 + Parameter 1492634 1492655 + Identifier 1492634 1492646 + BooleanKeyword 1492647 1492655 + Block 1492656 1492788 + ReturnStatement 1492658 1492781 + ConditionalExpression 1492674 1492780 + Identifier 1492674 1492686 + QuestionToken 1492686 1492688 + ConditionalExpression 1492688 1492773 + CallExpression 1492688 1492719 + Identifier 1492688 1492713 + Identifier 1492714 1492718 + QuestionToken 1492719 1492721 + CallExpression 1492721 1492743 + Identifier 1492721 1492737 + Identifier 1492738 1492742 + ColonToken 1492743 1492745 + CallExpression 1492745 1492773 + Identifier 1492745 1492767 + Identifier 1492768 1492772 + ColonToken 1492773 1492775 + Identifier 1492775 1492780 + FunctionDeclaration 1492788 1493075 + Identifier 1492804 1492830 + Parameter 1492831 1492845 + Identifier 1492831 1492839 + TypeReference 1492840 1492845 + Identifier 1492840 1492845 + Parameter 1492846 1492869 + Identifier 1492846 1492857 + TypeReference 1492858 1492869 + Identifier 1492858 1492869 + Block 1492870 1493075 + ReturnStatement 1492872 1493068 + ConditionalExpression 1492888 1493067 + CallExpression 1492888 1492932 + Identifier 1492888 1492920 + Identifier 1492921 1492931 + QuestionToken 1492932 1492934 + CallExpression 1492934 1492963 + Identifier 1492934 1492953 + Identifier 1492954 1492962 + ColonToken 1492963 1492965 + ConditionalExpression 1492965 1493067 + CallExpression 1492965 1493006 + Identifier 1492965 1492994 + Identifier 1492995 1493005 + QuestionToken 1493006 1493008 + CallExpression 1493008 1493043 + Identifier 1493008 1493033 + Identifier 1493034 1493042 + ColonToken 1493043 1493045 + Identifier 1493045 1493067 + FunctionDeclaration 1493075 1493248 + Identifier 1493091 1493109 + Parameter 1493110 1493120 + Identifier 1493110 1493114 + TypeReference 1493115 1493120 + Identifier 1493115 1493120 + Parameter 1493121 1493141 + Identifier 1493121 1493132 + BooleanKeyword 1493133 1493141 + Block 1493142 1493248 + ReturnStatement 1493144 1493241 + ConditionalExpression 1493160 1493240 + BinaryExpression 1493160 1493201 + Identifier 1493160 1493187 + AmpersandAmpersandToken 1493187 1493190 + Identifier 1493190 1493201 + QuestionToken 1493201 1493203 + CallExpression 1493203 1493233 + Identifier 1493203 1493214 + Identifier 1493215 1493219 + Identifier 1493220 1493232 + ColonToken 1493233 1493235 + Identifier 1493235 1493240 + FunctionDeclaration 1493248 1493427 + Identifier 1493264 1493284 + Parameter 1493285 1493295 + Identifier 1493285 1493289 + TypeReference 1493290 1493295 + Identifier 1493290 1493295 + Block 1493296 1493427 + ReturnStatement 1493298 1493420 + BinaryExpression 1493314 1493419 + BinaryExpression 1493314 1493335 + Identifier 1493314 1493319 + EqualsEqualsEqualsToken 1493319 1493323 + Identifier 1493323 1493335 + BarBarToken 1493335 1493338 + BinaryExpression 1493338 1493419 + PrefixUnaryExpression 1493338 1493371 + PrefixUnaryExpression 1493340 1493371 + ParenthesizedExpression 1493341 1493371 + BinaryExpression 1493342 1493370 + PropertyAccessExpression 1493342 1493352 + Identifier 1493342 1493346 + Identifier 1493347 1493352 + AmpersandToken 1493352 1493354 + PropertyAccessExpression 1493354 1493370 + Identifier 1493354 1493364 + Identifier 1493365 1493370 + AmpersandAmpersandToken 1493371 1493374 + BinaryExpression 1493374 1493419 + ElementAccessExpression 1493374 1493403 + PropertyAccessExpression 1493374 1493400 + ParenthesizedExpression 1493374 1493394 + AsExpression 1493376 1493393 + Identifier 1493376 1493380 + TypeReference 1493383 1493393 + Identifier 1493383 1493393 + Identifier 1493395 1493400 + NumericLiteral 1493401 1493402 + EqualsEqualsEqualsToken 1493403 1493407 + Identifier 1493407 1493419 + FunctionDeclaration 1493427 1493623 + Identifier 1493443 1493472 + Parameter 1493473 1493483 + Identifier 1493473 1493477 + TypeReference 1493478 1493483 + Identifier 1493478 1493483 + TypeReference 1493485 1493490 + Identifier 1493485 1493490 + Block 1493490 1493623 + ReturnStatement 1493492 1493616 + ConditionalExpression 1493508 1493615 + Identifier 1493508 1493535 + QuestionToken 1493535 1493537 + CallExpression 1493537 1493567 + Identifier 1493537 1493548 + Identifier 1493549 1493553 + Identifier 1493554 1493566 + ColonToken 1493567 1493569 + CallExpression 1493569 1493615 + Identifier 1493569 1493586 + Identifier 1493587 1493591 + PropertyAccessExpression 1493592 1493614 + Identifier 1493592 1493602 + Identifier 1493603 1493614 + FunctionDeclaration 1493623 1494617 + Identifier 1494336 1494365 + Parameter 1494366 1494378 + Identifier 1494366 1494372 + TypeReference 1494373 1494378 + Identifier 1494373 1494378 + Parameter 1494379 1494392 + Identifier 1494379 1494386 + TypeReference 1494387 1494392 + Identifier 1494387 1494392 + BooleanKeyword 1494394 1494402 + Block 1494402 1494617 + ReturnStatement 1494404 1494610 + BinaryExpression 1494420 1494609 + ParenthesizedExpression 1494420 1494510 + BinaryExpression 1494422 1494509 + ParenthesizedExpression 1494422 1494503 + BinaryExpression 1494423 1494502 + PropertyAccessExpression 1494423 1494435 + Identifier 1494423 1494429 + Identifier 1494430 1494435 + AmpersandToken 1494435 1494437 + ParenthesizedExpression 1494437 1494502 + BinaryExpression 1494439 1494501 + BinaryExpression 1494439 1494474 + PropertyAccessExpression 1494439 1494455 + Identifier 1494439 1494448 + Identifier 1494449 1494455 + BarToken 1494455 1494457 + PropertyAccessExpression 1494457 1494474 + Identifier 1494457 1494467 + Identifier 1494468 1494474 + BarToken 1494474 1494476 + PropertyAccessExpression 1494476 1494501 + Identifier 1494476 1494486 + Identifier 1494487 1494501 + ExclamationEqualsEqualsToken 1494503 1494507 + NumericLiteral 1494507 1494509 + AmpersandAmpersandToken 1494510 1494526 + ParenthesizedExpression 1494526 1494609 + BinaryExpression 1494528 1494608 + ParenthesizedExpression 1494528 1494602 + BinaryExpression 1494529 1494601 + PropertyAccessExpression 1494529 1494541 + Identifier 1494529 1494535 + Identifier 1494536 1494541 + AmpersandToken 1494541 1494543 + ParenthesizedExpression 1494543 1494601 + BinaryExpression 1494545 1494600 + BinaryExpression 1494545 1494580 + PropertyAccessExpression 1494545 1494561 + Identifier 1494545 1494554 + Identifier 1494555 1494561 + BarToken 1494561 1494563 + PropertyAccessExpression 1494563 1494580 + Identifier 1494563 1494573 + Identifier 1494574 1494580 + BarToken 1494580 1494582 + PropertyAccessExpression 1494582 1494600 + Identifier 1494582 1494592 + Identifier 1494593 1494600 + ExclamationEqualsEqualsToken 1494602 1494606 + NumericLiteral 1494606 1494608 + FunctionDeclaration 1494617 1495605 + Identifier 1494825 1494856 + Parameter 1494857 1494867 + Identifier 1494857 1494861 + TypeReference 1494862 1494867 + Identifier 1494862 1494867 + BooleanKeyword 1494869 1494877 + Block 1494877 1495605 + VariableStatement 1494879 1494930 + VariableDeclarationList 1494879 1494929 + VariableDeclaration 1494894 1494929 + Identifier 1494894 1494906 + CallExpression 1494908 1494929 + Identifier 1494908 1494923 + Identifier 1494924 1494928 + ReturnStatement 1494930 1495598 + ConditionalExpression 1494946 1495597 + BinaryExpression 1494946 1494982 + PropertyAccessExpression 1494946 1494957 + Identifier 1494946 1494951 + Identifier 1494952 1494957 + AmpersandToken 1494957 1494959 + PropertyAccessExpression 1494959 1494982 + Identifier 1494959 1494969 + Identifier 1494970 1494982 + QuestionToken 1494982 1494997 + CallExpression 1494997 1495069 + Identifier 1494997 1495003 + PropertyAccessExpression 1495004 1495036 + ParenthesizedExpression 1495004 1495030 + AsExpression 1495005 1495029 + Identifier 1495005 1495009 + TypeReference 1495012 1495029 + Identifier 1495012 1495029 + Identifier 1495031 1495036 + Identifier 1495037 1495068 + ColonToken 1495069 1495084 + BinaryExpression 1495084 1495597 + BinaryExpression 1495084 1495480 + PrefixUnaryExpression 1495084 1495400 + PrefixUnaryExpression 1495086 1495400 + ParenthesizedExpression 1495087 1495400 + BinaryExpression 1495088 1495385 + BinaryExpression 1495088 1495325 + BinaryExpression 1495088 1495264 + PropertyAccessExpression 1495088 1495117 + Identifier 1495088 1495110 + Identifier 1495111 1495117 + AmpersandAmpersandToken 1495117 1495137 + BinaryExpression 1495137 1495264 + ParenthesizedExpression 1495137 1495258 + BinaryExpression 1495139 1495257 + PropertyAccessExpression 1495139 1495156 + PropertyAccessExpression 1495139 1495150 + Identifier 1495139 1495143 + Identifier 1495144 1495150 + Identifier 1495151 1495156 + AmpersandToken 1495156 1495158 + ParenthesizedExpression 1495158 1495257 + BinaryExpression 1495160 1495256 + BinaryExpression 1495160 1495230 + BinaryExpression 1495160 1495211 + PropertyAccessExpression 1495160 1495185 + Identifier 1495160 1495171 + Identifier 1495172 1495185 + BarToken 1495185 1495187 + PropertyAccessExpression 1495187 1495211 + Identifier 1495187 1495199 + Identifier 1495200 1495211 + BarToken 1495211 1495213 + PropertyAccessExpression 1495213 1495230 + Identifier 1495213 1495225 + Identifier 1495226 1495230 + BarToken 1495230 1495232 + PropertyAccessExpression 1495232 1495256 + Identifier 1495232 1495244 + Identifier 1495245 1495256 + ExclamationEqualsEqualsToken 1495258 1495262 + NumericLiteral 1495262 1495264 + AmpersandAmpersandToken 1495264 1495284 + PrefixUnaryExpression 1495284 1495325 + ParenthesizedExpression 1495286 1495325 + BinaryExpression 1495287 1495324 + PropertyAccessExpression 1495287 1495304 + PropertyAccessExpression 1495287 1495298 + Identifier 1495287 1495291 + Identifier 1495292 1495298 + Identifier 1495299 1495304 + AmpersandToken 1495304 1495306 + PropertyAccessExpression 1495306 1495324 + Identifier 1495306 1495318 + Identifier 1495319 1495324 + AmpersandAmpersandToken 1495325 1495345 + PrefixUnaryExpression 1495345 1495385 + CallExpression 1495347 1495385 + Identifier 1495347 1495379 + Identifier 1495380 1495384 + BarBarToken 1495400 1495403 + PrefixUnaryExpression 1495403 1495480 + PrefixUnaryExpression 1495405 1495480 + ParenthesizedExpression 1495406 1495480 + BinaryExpression 1495407 1495465 + Identifier 1495407 1495436 + AmpersandToken 1495436 1495438 + PropertyAccessExpression 1495438 1495465 + Identifier 1495438 1495450 + Identifier 1495451 1495465 + BarBarToken 1495480 1495483 + PrefixUnaryExpression 1495483 1495597 + PrefixUnaryExpression 1495485 1495597 + ParenthesizedExpression 1495486 1495597 + BinaryExpression 1495487 1495596 + BinaryExpression 1495487 1495526 + Identifier 1495487 1495498 + AmpersandToken 1495498 1495500 + PropertyAccessExpression 1495500 1495526 + Identifier 1495500 1495512 + Identifier 1495513 1495526 + AmpersandAmpersandToken 1495526 1495529 + CallExpression 1495529 1495596 + Identifier 1495529 1495560 + PropertyAccessExpression 1495561 1495595 + ParenthesizedExpression 1495561 1495588 + AsExpression 1495562 1495587 + Identifier 1495562 1495566 + TypeReference 1495569 1495587 + Identifier 1495569 1495587 + Identifier 1495589 1495595 + FunctionDeclaration 1495605 1496255 + Identifier 1495621 1495642 + Parameter 1495643 1495657 + Identifier 1495643 1495649 + TypeReference 1495650 1495657 + Identifier 1495650 1495657 + Parameter 1495658 1495681 + Identifier 1495658 1495663 + UnionType 1495664 1495681 + TypeReference 1495664 1495669 + Identifier 1495664 1495669 + UndefinedKeyword 1495671 1495681 + Block 1495682 1496255 + VariableStatement 1495684 1495801 + VariableDeclarationList 1495684 1495800 + VariableDeclaration 1495699 1495800 + Identifier 1495699 1495706 + CallExpression 1495708 1495800 + Identifier 1495708 1495721 + PropertyAccessExpression 1495722 1495734 + Identifier 1495722 1495728 + Identifier 1495729 1495734 + PropertyAccessExpression 1495735 1495754 + Identifier 1495735 1495742 + Identifier 1495743 1495754 + BinaryExpression 1495755 1495799 + CallExpression 1495755 1495777 + Identifier 1495755 1495769 + Identifier 1495770 1495776 + AmpersandToken 1495777 1495779 + PropertyAccessExpression 1495779 1495799 + Identifier 1495779 1495790 + Identifier 1495791 1495799 + ExpressionStatement 1495801 1495853 + BinaryExpression 1495801 1495852 + PropertyAccessExpression 1495801 1495830 + Identifier 1495801 1495817 + Identifier 1495818 1495830 + EqualsToken 1495830 1495832 + PropertyAccessExpression 1495832 1495852 + Identifier 1495832 1495839 + Identifier 1495840 1495852 + ExpressionStatement 1495853 1495893 + BinaryExpression 1495853 1495892 + PropertyAccessExpression 1495853 1495876 + Identifier 1495853 1495869 + Identifier 1495870 1495876 + EqualsToken 1495876 1495878 + PropertyAccessExpression 1495878 1495892 + Identifier 1495878 1495885 + Identifier 1495886 1495892 + ExpressionStatement 1495893 1495928 + BinaryExpression 1495893 1495927 + PropertyAccessExpression 1495893 1495920 + PropertyAccessExpression 1495893 1495915 + Identifier 1495893 1495909 + Identifier 1495910 1495915 + Identifier 1495916 1495920 + EqualsToken 1495920 1495922 + Identifier 1495922 1495927 + ExpressionStatement 1495928 1495967 + BinaryExpression 1495928 1495966 + PropertyAccessExpression 1495928 1495957 + PropertyAccessExpression 1495928 1495950 + Identifier 1495928 1495944 + Identifier 1495945 1495950 + Identifier 1495951 1495957 + EqualsToken 1495957 1495959 + Identifier 1495959 1495966 + IfStatement 1495967 1496082 + PropertyAccessExpression 1495981 1496004 + Identifier 1495981 1495987 + Identifier 1495988 1496004 + Block 1496005 1496082 + ExpressionStatement 1496007 1496071 + BinaryExpression 1496007 1496070 + PropertyAccessExpression 1496007 1496044 + Identifier 1496007 1496027 + Identifier 1496028 1496044 + EqualsToken 1496044 1496046 + PropertyAccessExpression 1496046 1496070 + Identifier 1496046 1496053 + Identifier 1496054 1496070 + VariableStatement 1496082 1496141 + VariableDeclarationList 1496082 1496140 + VariableDeclaration 1496097 1496140 + Identifier 1496097 1496106 + PropertyAccessExpression 1496108 1496140 + CallExpression 1496108 1496131 + Identifier 1496108 1496123 + Identifier 1496124 1496130 + Identifier 1496132 1496140 + IfStatement 1496141 1496224 + Identifier 1496155 1496163 + Block 1496164 1496224 + ExpressionStatement 1496166 1496213 + BinaryExpression 1496166 1496212 + PropertyAccessExpression 1496166 1496201 + PropertyAccessExpression 1496166 1496192 + Identifier 1496166 1496186 + Identifier 1496187 1496192 + Identifier 1496193 1496201 + EqualsToken 1496201 1496203 + Identifier 1496203 1496212 + ReturnStatement 1496224 1496248 + Identifier 1496240 1496247 + FunctionDeclaration 1496255 1496719 + Identifier 1496271 1496294 + Parameter 1496295 1496305 + Identifier 1496295 1496299 + TypeReference 1496300 1496305 + Identifier 1496300 1496305 + Parameter 1496306 1496338 + Identifier 1496306 1496308 + FunctionType 1496309 1496338 + Parameter 1496311 1496329 + Identifier 1496311 1496323 + TypeReference 1496324 1496329 + Identifier 1496324 1496329 + TypeReference 1496333 1496338 + Identifier 1496333 1496338 + Block 1496339 1496719 + VariableStatement 1496341 1496387 + VariableDeclarationList 1496341 1496386 + VariableDeclaration 1496356 1496386 + Identifier 1496356 1496364 + CallExpression 1496366 1496386 + Identifier 1496366 1496384 + ForOfStatement 1496387 1496687 + VariableDeclarationList 1496402 1496416 + VariableDeclaration 1496407 1496416 + Identifier 1496407 1496416 + CallExpression 1496419 1496451 + Identifier 1496419 1496445 + Identifier 1496446 1496450 + Block 1496452 1496687 + VariableStatement 1496454 1496511 + VariableDeclarationList 1496454 1496510 + VariableDeclaration 1496473 1496510 + Identifier 1496473 1496482 + CallExpression 1496484 1496510 + Identifier 1496484 1496500 + Identifier 1496501 1496509 + VariableStatement 1496511 1496553 + VariableDeclarationList 1496511 1496552 + VariableDeclaration 1496530 1496552 + Identifier 1496530 1496538 + CallExpression 1496540 1496552 + Identifier 1496540 1496542 + Identifier 1496543 1496551 + ExpressionStatement 1496553 1496676 + CallExpression 1496553 1496675 + PropertyAccessExpression 1496553 1496578 + Identifier 1496553 1496574 + Identifier 1496575 1496578 + PropertyAccessExpression 1496579 1496599 + Identifier 1496579 1496587 + Identifier 1496588 1496599 + ConditionalExpression 1496600 1496674 + BinaryExpression 1496600 1496621 + Identifier 1496600 1496608 + EqualsEqualsEqualsToken 1496608 1496612 + Identifier 1496612 1496621 + QuestionToken 1496621 1496623 + Identifier 1496623 1496632 + ColonToken 1496632 1496634 + CallExpression 1496634 1496674 + Identifier 1496634 1496655 + Identifier 1496656 1496664 + Identifier 1496665 1496673 + ReturnStatement 1496687 1496712 + Identifier 1496703 1496711 + FunctionDeclaration 1496719 1497848 + Identifier 1496999 1497029 + Parameter 1497030 1497040 + Identifier 1497030 1497034 + TypeReference 1497035 1497040 + Identifier 1497035 1497040 + TypeReference 1497042 1497047 + Identifier 1497042 1497047 + Block 1497047 1497848 + IfStatement 1497049 1497182 + PrefixUnaryExpression 1497063 1497142 + ParenthesizedExpression 1497064 1497142 + BinaryExpression 1497065 1497141 + CallExpression 1497065 1497090 + Identifier 1497065 1497084 + Identifier 1497085 1497089 + AmpersandAmpersandToken 1497090 1497093 + BinaryExpression 1497093 1497141 + CallExpression 1497093 1497114 + Identifier 1497093 1497108 + Identifier 1497109 1497113 + AmpersandToken 1497114 1497116 + PropertyAccessExpression 1497116 1497141 + Identifier 1497116 1497128 + Identifier 1497129 1497141 + Block 1497143 1497182 + ReturnStatement 1497145 1497171 + Identifier 1497165 1497170 + VariableStatement 1497182 1497257 + VariableDeclarationList 1497182 1497256 + VariableDeclaration 1497197 1497256 + Identifier 1497197 1497209 + PropertyAccessExpression 1497211 1497256 + ParenthesizedExpression 1497211 1497244 + AsExpression 1497213 1497243 + Identifier 1497213 1497217 + TypeReference 1497220 1497243 + Identifier 1497220 1497243 + Identifier 1497245 1497256 + IfStatement 1497257 1497329 + Identifier 1497271 1497282 + Block 1497283 1497329 + ReturnStatement 1497285 1497318 + Identifier 1497305 1497317 + VariableStatement 1497329 1497379 + VariableDeclarationList 1497329 1497378 + VariableDeclaration 1497346 1497378 + Identifier 1497346 1497355 + AsExpression 1497357 1497378 + Identifier 1497357 1497362 + TypeReference 1497365 1497378 + Identifier 1497365 1497378 + VariableStatement 1497379 1497465 + VariableDeclarationList 1497379 1497464 + VariableDeclaration 1497394 1497464 + Identifier 1497394 1497402 + CallExpression 1497404 1497464 + Identifier 1497404 1497427 + Identifier 1497428 1497432 + Identifier 1497433 1497463 + VariableStatement 1497465 1497616 + VariableDeclarationList 1497465 1497615 + VariableDeclaration 1497480 1497615 + Identifier 1497480 1497491 + CallExpression 1497493 1497615 + Identifier 1497493 1497513 + PropertyAccessExpression 1497514 1497529 + Identifier 1497514 1497522 + Identifier 1497523 1497529 + Identifier 1497530 1497538 + PropertyAccessExpression 1497539 1497563 + Identifier 1497539 1497548 + Identifier 1497549 1497563 + PropertyAccessExpression 1497564 1497593 + Identifier 1497564 1497573 + Identifier 1497574 1497593 + PropertyAccessExpression 1497594 1497614 + Identifier 1497594 1497603 + Identifier 1497604 1497614 + ExpressionStatement 1497616 1497660 + BinaryExpression 1497616 1497659 + PropertyAccessExpression 1497616 1497642 + Identifier 1497616 1497636 + Identifier 1497637 1497642 + EqualsToken 1497642 1497644 + PropertyAccessExpression 1497644 1497659 + Identifier 1497644 1497653 + Identifier 1497654 1497659 + ExpressionStatement 1497660 1497745 + BinaryExpression 1497660 1497744 + PropertyAccessExpression 1497660 1497692 + Identifier 1497660 1497680 + Identifier 1497681 1497692 + BarEqualsToken 1497692 1497695 + BinaryExpression 1497695 1497744 + PropertyAccessExpression 1497695 1497716 + Identifier 1497695 1497704 + Identifier 1497705 1497716 + AmpersandToken 1497716 1497718 + PrefixUnaryExpression 1497718 1497744 + PropertyAccessExpression 1497720 1497744 + Identifier 1497720 1497731 + Identifier 1497732 1497744 + ExpressionStatement 1497745 1497813 + BinaryExpression 1497745 1497812 + PropertyAccessExpression 1497745 1497799 + ParenthesizedExpression 1497745 1497787 + AsExpression 1497756 1497786 + Identifier 1497756 1497760 + TypeReference 1497763 1497786 + Identifier 1497763 1497786 + Identifier 1497788 1497799 + EqualsToken 1497799 1497801 + Identifier 1497801 1497812 + ReturnStatement 1497813 1497841 + Identifier 1497829 1497840 + FunctionDeclaration 1497848 1498098 + Identifier 1497864 1497886 + Parameter 1497887 1497922 + Identifier 1497887 1497893 + UnionType 1497894 1497922 + TypeReference 1497894 1497910 + Identifier 1497894 1497910 + UndefinedKeyword 1497912 1497922 + Parameter 1497923 1497958 + Identifier 1497923 1497936 + UnionType 1497937 1497958 + TypeReference 1497937 1497946 + Identifier 1497937 1497946 + UndefinedKeyword 1497948 1497958 + Parameter 1497959 1497988 + Identifier 1497959 1497968 + UnionType 1497969 1497988 + ArrayType 1497969 1497976 + TypeReference 1497969 1497974 + Identifier 1497969 1497974 + UndefinedKeyword 1497978 1497988 + TypeReference 1497990 1498006 + Identifier 1497990 1498006 + Block 1498006 1498098 + ReturnStatement 1498008 1498091 + ObjectLiteralExpression 1498024 1498090 + ShorthandPropertyAssignment 1498026 1498033 + Identifier 1498026 1498033 + ShorthandPropertyAssignment 1498034 1498047 + Identifier 1498034 1498047 + ShorthandPropertyAssignment 1498048 1498057 + Identifier 1498048 1498057 + PropertyAssignment 1498058 1498088 + Identifier 1498058 1498077 + Identifier 1498078 1498088 + FunctionDeclaration 1498098 1498785 + Identifier 1498114 1498135 + Parameter 1498136 1498160 + Identifier 1498136 1498143 + TypeReference 1498144 1498160 + Identifier 1498144 1498160 + ArrayType 1498162 1498169 + TypeReference 1498162 1498167 + Identifier 1498162 1498167 + Block 1498169 1498785 + IfStatement 1498171 1498744 + PrefixUnaryExpression 1498185 1498202 + PropertyAccessExpression 1498186 1498202 + Identifier 1498186 1498193 + Identifier 1498194 1498202 + Block 1498203 1498744 + VariableStatement 1498205 1498247 + VariableDeclarationList 1498205 1498246 + VariableDeclaration 1498224 1498246 + Identifier 1498224 1498233 + ArrayType 1498234 1498241 + TypeReference 1498234 1498239 + Identifier 1498234 1498239 + ArrayLiteralExpression 1498243 1498246 + ForOfStatement 1498247 1498691 + VariableDeclarationList 1498266 1498276 + VariableDeclaration 1498271 1498276 + Identifier 1498271 1498276 + CallExpression 1498279 1498317 + Identifier 1498279 1498300 + NonNullExpression 1498301 1498316 + PropertyAccessExpression 1498301 1498315 + Identifier 1498301 1498308 + Identifier 1498309 1498315 + Block 1498318 1498691 + IfStatement 1498320 1498676 + CallExpression 1498342 1498367 + Identifier 1498342 1498361 + Identifier 1498362 1498366 + Block 1498368 1498676 + VariableStatement 1498370 1498458 + VariableDeclarationList 1498370 1498457 + VariableDeclaration 1498397 1498457 + Identifier 1498397 1498402 + CallExpression 1498404 1498457 + Identifier 1498404 1498428 + Identifier 1498429 1498433 + NonNullExpression 1498434 1498456 + PropertyAccessExpression 1498434 1498455 + Identifier 1498434 1498442 + Identifier 1498443 1498455 + IfStatement 1498458 1498657 + Identifier 1498484 1498488 + Block 1498489 1498657 + ExpressionStatement 1498491 1498634 + CallExpression 1498491 1498633 + Identifier 1498491 1498528 + CallExpression 1498529 1498550 + Identifier 1498529 1498544 + Identifier 1498545 1498549 + ArrowFunction 1498551 1498632 + Parameter 1498551 1498553 + Identifier 1498551 1498553 + EqualsGreaterThanToken 1498553 1498556 + Block 1498556 1498632 + ExpressionStatement 1498558 1498605 + CallExpression 1498558 1498604 + PropertyAccessExpression 1498558 1498601 + Identifier 1498558 1498596 + Identifier 1498597 1498601 + Identifier 1498602 1498603 + ExpressionStatement 1498691 1498733 + BinaryExpression 1498691 1498732 + PropertyAccessExpression 1498691 1498721 + Identifier 1498691 1498712 + Identifier 1498713 1498721 + EqualsToken 1498721 1498723 + Identifier 1498723 1498732 + ReturnStatement 1498744 1498778 + PropertyAccessExpression 1498760 1498777 + Identifier 1498760 1498768 + Identifier 1498769 1498777 + FunctionDeclaration 1498785 1499438 + Identifier 1498801 1498824 + Parameter 1498825 1498849 + Identifier 1498825 1498832 + TypeReference 1498833 1498849 + Identifier 1498833 1498849 + ArrayType 1498851 1498860 + TypeReference 1498851 1498858 + Identifier 1498851 1498858 + Block 1498860 1499438 + IfStatement 1498862 1499387 + PrefixUnaryExpression 1498876 1498903 + PropertyAccessExpression 1498877 1498903 + Identifier 1498877 1498884 + Identifier 1498885 1498903 + Block 1498904 1499387 + VariableStatement 1498906 1498962 + VariableDeclarationList 1498906 1498961 + VariableDeclaration 1498925 1498961 + Identifier 1498925 1498931 + NewExpression 1498933 1498961 + Identifier 1498937 1498941 + TypeReference 1498942 1498950 + Identifier 1498942 1498950 + TypeReference 1498951 1498958 + Identifier 1498951 1498958 + ForOfStatement 1498962 1499307 + VariableDeclarationList 1498981 1498988 + VariableDeclaration 1498986 1498988 + Identifier 1498986 1498988 + CallExpression 1498991 1499021 + Identifier 1498991 1499012 + Identifier 1499013 1499020 + Block 1499022 1499307 + IfStatement 1499024 1499292 + BinaryExpression 1499046 1499121 + CallExpression 1499046 1499068 + Identifier 1499046 1499065 + Identifier 1499066 1499067 + AmpersandAmpersandToken 1499068 1499071 + PrefixUnaryExpression 1499071 1499121 + ParenthesizedExpression 1499073 1499121 + BinaryExpression 1499074 1499120 + CallExpression 1499074 1499091 + Identifier 1499074 1499088 + Identifier 1499089 1499090 + AmpersandToken 1499091 1499093 + PropertyAccessExpression 1499093 1499120 + Identifier 1499093 1499105 + Identifier 1499106 1499120 + Block 1499122 1499292 + ForOfStatement 1499124 1499273 + VariableDeclarationList 1499151 1499161 + VariableDeclaration 1499156 1499161 + Identifier 1499156 1499161 + CallExpression 1499164 1499187 + Identifier 1499164 1499184 + Identifier 1499185 1499186 + Block 1499188 1499273 + ExpressionStatement 1499190 1499250 + CallExpression 1499190 1499249 + PropertyAccessExpression 1499190 1499225 + Identifier 1499190 1499221 + Identifier 1499222 1499225 + PropertyAccessExpression 1499226 1499242 + Identifier 1499226 1499230 + Identifier 1499231 1499242 + Identifier 1499243 1499248 + ExpressionStatement 1499307 1499376 + BinaryExpression 1499307 1499375 + PropertyAccessExpression 1499307 1499347 + Identifier 1499307 1499328 + Identifier 1499329 1499347 + EqualsToken 1499347 1499349 + CallExpression 1499349 1499375 + Identifier 1499349 1499359 + CallExpression 1499360 1499374 + PropertyAccessExpression 1499360 1499372 + Identifier 1499360 1499365 + Identifier 1499366 1499372 + ReturnStatement 1499387 1499431 + PropertyAccessExpression 1499403 1499430 + Identifier 1499403 1499411 + Identifier 1499412 1499430 + FunctionDeclaration 1499438 1500096 + Identifier 1499454 1499473 + Parameter 1499474 1499486 + Identifier 1499474 1499478 + TypeReference 1499479 1499486 + Identifier 1499479 1499486 + Parameter 1499487 1499524 + Identifier 1499487 1499495 + UnionType 1499496 1499524 + TypeReference 1499496 1499512 + Identifier 1499496 1499512 + UndefinedKeyword 1499514 1499524 + TypeReference 1499526 1499533 + Identifier 1499526 1499533 + Block 1499533 1500096 + IfStatement 1499535 1499768 + PrefixUnaryExpression 1499549 1499585 + ParenthesizedExpression 1499550 1499585 + BinaryExpression 1499551 1499584 + PropertyAccessExpression 1499551 1499561 + Identifier 1499551 1499555 + Identifier 1499556 1499561 + AmpersandToken 1499561 1499563 + PropertyAccessExpression 1499563 1499584 + Identifier 1499563 1499575 + Identifier 1499576 1499584 + Block 1499586 1499768 + ReturnStatement 1499588 1499757 + Identifier 1499751 1499756 + VariableStatement 1499768 1499817 + VariableDeclarationList 1499768 1499816 + VariableDeclaration 1499783 1499816 + Identifier 1499783 1499792 + CallExpression 1499794 1499816 + Identifier 1499794 1499810 + Identifier 1499811 1499815 + VariableStatement 1499817 1499931 + VariableDeclarationList 1499817 1499930 + VariableDeclaration 1499832 1499930 + Identifier 1499832 1499844 + BinaryExpression 1499846 1499930 + Identifier 1499846 1499854 + AmpersandAmpersandToken 1499854 1499857 + CallExpression 1499857 1499930 + Identifier 1499857 1499879 + Identifier 1499880 1499887 + PropertyAccessExpression 1499888 1499905 + Identifier 1499888 1499893 + Identifier 1499894 1499905 + Identifier 1499906 1499929 + VariableStatement 1499931 1500006 + VariableDeclarationList 1499931 1500005 + VariableDeclaration 1499946 1500005 + Identifier 1499946 1499954 + CallExpression 1499956 1500005 + Identifier 1499956 1499982 + Identifier 1499983 1499991 + Identifier 1499992 1500004 + ReturnStatement 1500006 1500089 + ConditionalExpression 1500022 1500088 + BinaryExpression 1500022 1500043 + Identifier 1500022 1500030 + EqualsEqualsEqualsToken 1500030 1500034 + Identifier 1500034 1500043 + QuestionToken 1500043 1500045 + Identifier 1500045 1500050 + ColonToken 1500050 1500052 + CallExpression 1500052 1500088 + Identifier 1500052 1500073 + Identifier 1500074 1500078 + Identifier 1500079 1500087 + FunctionDeclaration 1500096 1500492 + Identifier 1500112 1500133 + Parameter 1500134 1500146 + Identifier 1500134 1500138 + TypeReference 1500139 1500146 + Identifier 1500139 1500146 + Block 1500147 1500492 + VariableStatement 1500149 1500216 + VariableDeclarationList 1500149 1500215 + VariableDeclaration 1500164 1500215 + Identifier 1500164 1500171 + CallExpression 1500173 1500215 + PropertyAccessExpression 1500173 1500197 + Identifier 1500173 1500193 + Identifier 1500194 1500197 + PropertyAccessExpression 1500198 1500214 + Identifier 1500198 1500202 + Identifier 1500203 1500214 + IfStatement 1500216 1500278 + Identifier 1500230 1500236 + Block 1500237 1500278 + ReturnStatement 1500239 1500267 + Identifier 1500259 1500266 + VariableStatement 1500278 1500354 + VariableDeclarationList 1500278 1500353 + VariableDeclaration 1500293 1500353 + Identifier 1500293 1500300 + CallExpression 1500302 1500353 + Identifier 1500302 1500323 + Identifier 1500324 1500328 + Identifier 1500329 1500352 + ExpressionStatement 1500354 1500401 + BinaryExpression 1500354 1500400 + PropertyAccessExpression 1500354 1500376 + Identifier 1500354 1500370 + Identifier 1500371 1500376 + BarEqualsToken 1500376 1500379 + PropertyAccessExpression 1500379 1500400 + Identifier 1500379 1500391 + Identifier 1500392 1500400 + ExpressionStatement 1500401 1500461 + CallExpression 1500401 1500460 + PropertyAccessExpression 1500401 1500434 + Identifier 1500401 1500430 + Identifier 1500431 1500434 + PropertyAccessExpression 1500435 1500451 + Identifier 1500435 1500439 + Identifier 1500440 1500451 + Identifier 1500452 1500459 + ReturnStatement 1500461 1500485 + Identifier 1500477 1500484 + FunctionDeclaration 1500492 1501496 + Identifier 1500508 1500538 + Parameter 1500539 1500549 + Identifier 1500539 1500543 + TypeReference 1500544 1500549 + Identifier 1500544 1500549 + Parameter 1500550 1500587 + Identifier 1500550 1500558 + UnionType 1500559 1500587 + TypeReference 1500559 1500575 + Identifier 1500559 1500575 + UndefinedKeyword 1500577 1500587 + TypeReference 1500589 1500594 + Identifier 1500589 1500594 + Block 1500594 1501496 + VariableStatement 1500596 1500642 + VariableDeclarationList 1500596 1500641 + VariableDeclaration 1500611 1500641 + Identifier 1500611 1500619 + CallExpression 1500621 1500641 + Identifier 1500621 1500639 + ForOfStatement 1500642 1500795 + VariableDeclarationList 1500657 1500667 + VariableDeclaration 1500662 1500667 + Identifier 1500662 1500667 + CallExpression 1500670 1500702 + Identifier 1500670 1500696 + Identifier 1500697 1500701 + Block 1500703 1500795 + ExpressionStatement 1500705 1500784 + CallExpression 1500705 1500783 + PropertyAccessExpression 1500705 1500730 + Identifier 1500705 1500726 + Identifier 1500727 1500730 + PropertyAccessExpression 1500731 1500747 + Identifier 1500731 1500735 + Identifier 1500736 1500747 + CallExpression 1500748 1500782 + Identifier 1500748 1500767 + Identifier 1500768 1500772 + Identifier 1500773 1500781 + IfStatement 1500795 1501066 + Identifier 1500809 1500816 + Block 1500817 1501066 + ForOfStatement 1500819 1501055 + VariableDeclarationList 1500838 1500848 + VariableDeclaration 1500843 1500848 + Identifier 1500843 1500848 + CallExpression 1500851 1500883 + Identifier 1500851 1500874 + Identifier 1500875 1500882 + Block 1500884 1501055 + IfStatement 1500886 1501040 + PrefixUnaryExpression 1500908 1500938 + CallExpression 1500909 1500938 + PropertyAccessExpression 1500909 1500920 + Identifier 1500909 1500916 + Identifier 1500917 1500920 + PropertyAccessExpression 1500921 1500937 + Identifier 1500921 1500925 + Identifier 1500926 1500937 + Block 1500939 1501040 + ExpressionStatement 1500941 1501021 + CallExpression 1500941 1501020 + PropertyAccessExpression 1500941 1500974 + Identifier 1500941 1500970 + Identifier 1500971 1500974 + PropertyAccessExpression 1500975 1500991 + Identifier 1500975 1500979 + Identifier 1500980 1500991 + CallExpression 1500992 1501019 + Identifier 1500992 1501013 + Identifier 1501014 1501018 + VariableStatement 1501066 1501311 + VariableDeclarationList 1501066 1501310 + VariableDeclaration 1501081 1501310 + Identifier 1501081 1501088 + CallExpression 1501090 1501310 + Identifier 1501090 1501110 + PropertyAccessExpression 1501111 1501122 + Identifier 1501111 1501115 + Identifier 1501116 1501122 + Identifier 1501123 1501131 + Identifier 1501132 1501143 + Identifier 1501144 1501155 + CallExpression 1501156 1501309 + Identifier 1501156 1501164 + CallExpression 1501165 1501190 + Identifier 1501165 1501184 + Identifier 1501185 1501189 + ArrowFunction 1501191 1501308 + Parameter 1501191 1501196 + Identifier 1501191 1501196 + EqualsGreaterThanToken 1501196 1501199 + CallExpression 1501199 1501308 + Identifier 1501199 1501215 + PropertyAccessExpression 1501216 1501228 + Identifier 1501216 1501220 + Identifier 1501221 1501228 + CallExpression 1501229 1501255 + Identifier 1501229 1501244 + PropertyAccessExpression 1501245 1501254 + Identifier 1501245 1501249 + Identifier 1501250 1501254 + PropertyAccessExpression 1501256 1501272 + Identifier 1501256 1501261 + Identifier 1501262 1501272 + PropertyAccessExpression 1501273 1501290 + Identifier 1501273 1501278 + Identifier 1501279 1501290 + PropertyAccessExpression 1501291 1501307 + Identifier 1501291 1501296 + Identifier 1501297 1501307 + ExpressionStatement 1501311 1501422 + BinaryExpression 1501311 1501421 + PropertyAccessExpression 1501311 1501339 + Identifier 1501311 1501327 + Identifier 1501328 1501339 + BarEqualsToken 1501339 1501342 + BinaryExpression 1501342 1501421 + CallExpression 1501342 1501363 + Identifier 1501342 1501357 + Identifier 1501358 1501362 + AmpersandToken 1501363 1501365 + ParenthesizedExpression 1501365 1501421 + BinaryExpression 1501367 1501420 + PropertyAccessExpression 1501367 1501388 + Identifier 1501367 1501378 + Identifier 1501379 1501388 + BarToken 1501388 1501390 + PropertyAccessExpression 1501390 1501420 + Identifier 1501390 1501402 + Identifier 1501403 1501420 + ReturnStatement 1501422 1501489 + Identifier 1501481 1501488 + FunctionDeclaration 1501496 1501620 + Identifier 1501512 1501527 + Parameter 1501528 1501538 + Identifier 1501528 1501532 + TypeReference 1501533 1501538 + Identifier 1501533 1501538 + Block 1501539 1501620 + ReturnStatement 1501541 1501613 + CallExpression 1501557 1501612 + Identifier 1501557 1501583 + Identifier 1501584 1501588 + Identifier 1501589 1501611 + FunctionDeclaration 1501620 1503552 + Identifier 1501636 1501662 + Parameter 1501663 1501673 + Identifier 1501663 1501667 + TypeReference 1501668 1501673 + Identifier 1501668 1501673 + Parameter 1501674 1501711 + Identifier 1501674 1501682 + UnionType 1501683 1501711 + TypeReference 1501683 1501699 + Identifier 1501683 1501699 + UndefinedKeyword 1501701 1501711 + TypeReference 1501713 1501718 + Identifier 1501713 1501718 + Block 1501718 1503552 + IfStatement 1501720 1503523 + BinaryExpression 1501734 1501785 + CallExpression 1501734 1501754 + Identifier 1501734 1501748 + Identifier 1501749 1501753 + AmpersandToken 1501754 1501756 + PropertyAccessExpression 1501756 1501785 + Identifier 1501756 1501768 + Identifier 1501769 1501785 + Block 1501786 1503523 + IfStatement 1501788 1501899 + BinaryExpression 1501806 1501843 + BinaryExpression 1501806 1501827 + Identifier 1501806 1501813 + EqualsEqualsEqualsToken 1501813 1501817 + Identifier 1501817 1501827 + AmpersandAmpersandToken 1501827 1501830 + PropertyAccessExpression 1501830 1501843 + Identifier 1501830 1501835 + Identifier 1501836 1501843 + Block 1501844 1501899 + ReturnStatement 1501846 1501884 + PropertyAccessExpression 1501870 1501883 + Identifier 1501870 1501875 + Identifier 1501876 1501883 + VariableStatement 1501899 1501942 + VariableDeclarationList 1501899 1501941 + VariableDeclaration 1501916 1501941 + Identifier 1501916 1501923 + UnionType 1501924 1501941 + TypeReference 1501924 1501929 + Identifier 1501924 1501929 + UndefinedKeyword 1501931 1501941 + IfStatement 1501942 1503369 + BinaryExpression 1501960 1502009 + PropertyAccessExpression 1501960 1501970 + Identifier 1501960 1501964 + Identifier 1501965 1501970 + AmpersandToken 1501970 1501972 + ParenthesizedExpression 1501972 1502009 + BinaryExpression 1501974 1502008 + PropertyAccessExpression 1501974 1501987 + Identifier 1501974 1501983 + Identifier 1501984 1501987 + BarToken 1501987 1501989 + PropertyAccessExpression 1501989 1502008 + Identifier 1501989 1501999 + Identifier 1502000 1502008 + Block 1502010 1502062 + ExpressionStatement 1502012 1502047 + BinaryExpression 1502012 1502046 + Identifier 1502012 1502036 + EqualsToken 1502036 1502038 + Identifier 1502038 1502046 + IfStatement 1502080 1503369 + CallExpression 1502085 1502110 + Identifier 1502085 1502104 + Identifier 1502105 1502109 + Block 1502111 1502200 + ExpressionStatement 1502113 1502185 + BinaryExpression 1502113 1502184 + Identifier 1502113 1502137 + EqualsToken 1502137 1502139 + CallExpression 1502139 1502184 + Identifier 1502139 1502169 + Identifier 1502170 1502174 + Identifier 1502175 1502183 + IfStatement 1502218 1503369 + BinaryExpression 1502223 1502251 + PropertyAccessExpression 1502223 1502233 + Identifier 1502223 1502227 + Identifier 1502228 1502233 + AmpersandToken 1502233 1502235 + PropertyAccessExpression 1502235 1502251 + Identifier 1502235 1502245 + Identifier 1502246 1502251 + Block 1502252 1503013 + VariableStatement 1502254 1502403 + VariableDeclarationList 1502254 1502402 + VariableDeclaration 1502277 1502402 + Identifier 1502277 1502290 + BinaryExpression 1502292 1502402 + Identifier 1502292 1502300 + BarBarToken 1502300 1502303 + CallExpression 1502303 1502402 + Identifier 1502303 1502325 + Identifier 1502326 1502346 + Identifier 1502347 1502374 + PropertyAccessExpression 1502375 1502401 + ParenthesizedExpression 1502375 1502395 + AsExpression 1502377 1502394 + Identifier 1502377 1502381 + TypeReference 1502384 1502394 + Identifier 1502384 1502394 + Identifier 1502396 1502401 + VariableStatement 1502403 1502561 + VariableDeclarationList 1502403 1502560 + VariableDeclaration 1502426 1502560 + Identifier 1502426 1502439 + CallExpression 1502441 1502560 + Identifier 1502441 1502449 + PropertyAccessExpression 1502450 1502475 + ParenthesizedExpression 1502450 1502469 + AsExpression 1502451 1502468 + Identifier 1502451 1502455 + TypeReference 1502458 1502468 + Identifier 1502458 1502468 + Identifier 1502470 1502475 + ArrowFunction 1502476 1502559 + Parameter 1502476 1502478 + Identifier 1502476 1502478 + EqualsGreaterThanToken 1502478 1502481 + ConditionalExpression 1502481 1502559 + BinaryExpression 1502481 1502510 + PropertyAccessExpression 1502481 1502489 + Identifier 1502481 1502483 + Identifier 1502484 1502489 + AmpersandToken 1502489 1502491 + PropertyAccessExpression 1502491 1502510 + Identifier 1502491 1502501 + Identifier 1502502 1502510 + QuestionToken 1502510 1502512 + Identifier 1502512 1502514 + ColonToken 1502514 1502516 + CallExpression 1502516 1502559 + Identifier 1502516 1502542 + Identifier 1502543 1502544 + Identifier 1502545 1502558 + ExpressionStatement 1502561 1502998 + BinaryExpression 1502561 1502997 + Identifier 1502561 1502879 + EqualsToken 1502879 1502881 + CallExpression 1502881 1502997 + Identifier 1502881 1502894 + Identifier 1502895 1502907 + ConditionalExpression 1502908 1502996 + CallExpression 1502908 1502946 + Identifier 1502908 1502913 + Identifier 1502914 1502926 + Identifier 1502927 1502945 + QuestionToken 1502946 1502948 + PropertyAccessExpression 1502948 1502971 + Identifier 1502948 1502963 + Identifier 1502964 1502971 + ColonToken 1502971 1502973 + PropertyAccessExpression 1502973 1502996 + Identifier 1502973 1502988 + Identifier 1502989 1502996 + IfStatement 1503031 1503369 + BinaryExpression 1503036 1503071 + PropertyAccessExpression 1503036 1503046 + Identifier 1503036 1503040 + Identifier 1503041 1503046 + AmpersandToken 1503046 1503048 + PropertyAccessExpression 1503048 1503071 + Identifier 1503048 1503058 + Identifier 1503059 1503071 + Block 1503072 1503195 + ExpressionStatement 1503074 1503180 + BinaryExpression 1503074 1503179 + Identifier 1503074 1503098 + EqualsToken 1503098 1503100 + CallExpression 1503100 1503179 + Identifier 1503100 1503120 + CallExpression 1503121 1503178 + Identifier 1503121 1503128 + PropertyAccessExpression 1503129 1503161 + ParenthesizedExpression 1503129 1503155 + AsExpression 1503130 1503154 + Identifier 1503130 1503134 + TypeReference 1503137 1503154 + Identifier 1503137 1503154 + Identifier 1503156 1503161 + Identifier 1503162 1503177 + IfStatement 1503213 1503369 + CallExpression 1503218 1503242 + Identifier 1503218 1503236 + Identifier 1503237 1503241 + Block 1503243 1503369 + ExpressionStatement 1503245 1503354 + BinaryExpression 1503245 1503353 + Identifier 1503245 1503269 + EqualsToken 1503269 1503271 + CallExpression 1503271 1503353 + Identifier 1503271 1503291 + PropertyAccessExpression 1503292 1503303 + Identifier 1503292 1503296 + Identifier 1503297 1503303 + CallExpression 1503304 1503352 + Identifier 1503304 1503312 + CallExpression 1503313 1503335 + Identifier 1503313 1503329 + Identifier 1503330 1503334 + Identifier 1503336 1503351 + IfStatement 1503369 1503476 + BinaryExpression 1503387 1503418 + Identifier 1503387 1503393 + AmpersandAmpersandToken 1503393 1503396 + BinaryExpression 1503396 1503418 + Identifier 1503396 1503404 + EqualsEqualsEqualsToken 1503404 1503408 + Identifier 1503408 1503418 + Block 1503419 1503476 + ExpressionStatement 1503421 1503461 + BinaryExpression 1503421 1503460 + PropertyAccessExpression 1503421 1503451 + Identifier 1503421 1503443 + Identifier 1503444 1503451 + EqualsToken 1503451 1503453 + Identifier 1503453 1503460 + ReturnStatement 1503476 1503512 + BinaryExpression 1503496 1503511 + Identifier 1503496 1503503 + BarBarToken 1503503 1503506 + Identifier 1503506 1503511 + ReturnStatement 1503523 1503545 + Identifier 1503539 1503544 + FunctionDeclaration 1503552 1506193 + Identifier 1504322 1504349 + Parameter 1504350 1504360 + Identifier 1504350 1504354 + TypeReference 1504355 1504360 + Identifier 1504355 1504360 + BooleanKeyword 1504362 1504370 + Block 1504370 1506193 + VariableStatement 1504372 1504408 + VariableDeclarationList 1504372 1504407 + VariableDeclaration 1504385 1504407 + Identifier 1504385 1504399 + FalseKeyword 1504401 1504407 + IfStatement 1504408 1506155 + BinaryExpression 1504422 1504477 + CallExpression 1504422 1504442 + Identifier 1504422 1504436 + Identifier 1504437 1504441 + AmpersandToken 1504442 1504444 + PropertyAccessExpression 1504444 1504477 + Identifier 1504444 1504456 + Identifier 1504457 1504477 + Block 1504478 1506155 + IfStatement 1504480 1506144 + BinaryExpression 1504498 1504526 + PropertyAccessExpression 1504498 1504508 + Identifier 1504498 1504502 + Identifier 1504503 1504508 + AmpersandToken 1504508 1504510 + PropertyAccessExpression 1504510 1504526 + Identifier 1504510 1504520 + Identifier 1504521 1504526 + Block 1504527 1504887 + IfStatement 1504529 1504872 + CallExpression 1504551 1504601 + Identifier 1504551 1504555 + PropertyAccessExpression 1504556 1504581 + ParenthesizedExpression 1504556 1504575 + AsExpression 1504557 1504574 + Identifier 1504557 1504561 + TypeReference 1504564 1504574 + Identifier 1504564 1504574 + Identifier 1504576 1504581 + Identifier 1504582 1504600 + Block 1504602 1504666 + ExpressionStatement 1504604 1504647 + BinaryExpression 1504604 1504646 + Identifier 1504604 1504639 + EqualsToken 1504639 1504641 + TrueKeyword 1504641 1504646 + Block 1504688 1504872 + ForOfStatement 1504690 1504853 + VariableDeclarationList 1504717 1504724 + VariableDeclaration 1504722 1504724 + Identifier 1504722 1504724 + PropertyAccessExpression 1504727 1504753 + ParenthesizedExpression 1504727 1504747 + AsExpression 1504729 1504746 + Identifier 1504729 1504733 + TypeReference 1504736 1504746 + Identifier 1504736 1504746 + Identifier 1504748 1504753 + Block 1504754 1504853 + ExpressionStatement 1504756 1504830 + BinaryExpression 1504756 1504829 + Identifier 1504756 1504795 + BarBarEqualsToken 1504795 1504799 + CallExpression 1504799 1504829 + Identifier 1504799 1504826 + Identifier 1504827 1504828 + IfStatement 1504905 1506144 + CallExpression 1504910 1504934 + Identifier 1504910 1504928 + Identifier 1504929 1504933 + Block 1504935 1505100 + ForOfStatement 1504937 1505085 + VariableDeclarationList 1504960 1504967 + VariableDeclaration 1504965 1504967 + Identifier 1504965 1504967 + CallExpression 1504970 1504993 + Identifier 1504970 1504987 + Identifier 1504988 1504992 + Block 1504994 1505085 + ExpressionStatement 1504996 1505066 + BinaryExpression 1504996 1505065 + Identifier 1504996 1505031 + BarBarEqualsToken 1505031 1505035 + CallExpression 1505035 1505065 + Identifier 1505035 1505062 + Identifier 1505063 1505064 + IfStatement 1505118 1506144 + CallExpression 1505123 1505148 + Identifier 1505123 1505142 + Identifier 1505143 1505147 + Block 1505149 1506144 + ForOfStatement 1505151 1506129 + VariableDeclarationList 1505174 1505181 + VariableDeclaration 1505179 1505181 + Identifier 1505179 1505181 + CallExpression 1505184 1505216 + Identifier 1505184 1505210 + Identifier 1505211 1505215 + Block 1505217 1506129 + VariableStatement 1505219 1505270 + VariableDeclarationList 1505219 1505269 + VariableDeclaration 1505246 1505269 + Identifier 1505246 1505248 + CallExpression 1505250 1505269 + Identifier 1505250 1505266 + Identifier 1505267 1505268 + IfStatement 1505270 1506110 + BinaryExpression 1505296 1505348 + CallExpression 1505296 1505313 + Identifier 1505296 1505310 + Identifier 1505311 1505312 + AmpersandToken 1505313 1505315 + PropertyAccessExpression 1505315 1505348 + Identifier 1505315 1505327 + Identifier 1505328 1505348 + Block 1505349 1506110 + ExpressionStatement 1505351 1505423 + BinaryExpression 1505351 1505422 + Identifier 1505351 1505390 + EqualsToken 1505390 1505392 + CallExpression 1505392 1505422 + Identifier 1505392 1505419 + Identifier 1505420 1505421 + IfStatement 1505423 1506087 + PrefixUnaryExpression 1505453 1505467 + Identifier 1505454 1505467 + Block 1505468 1506087 + VariableStatement 1505470 1505745 + VariableDeclarationList 1505470 1505744 + VariableDeclaration 1505631 1505744 + Identifier 1505631 1505648 + CallExpression 1505650 1505744 + PropertyAccessExpression 1505650 1505671 + PropertyAccessExpression 1505650 1505665 + Identifier 1505650 1505652 + Identifier 1505653 1505665 + QuestionDotToken 1505665 1505667 + Identifier 1505667 1505671 + ArrowFunction 1505672 1505743 + Parameter 1505672 1505673 + Identifier 1505672 1505673 + EqualsGreaterThanToken 1505673 1505676 + BinaryExpression 1505676 1505743 + PropertyAccessExpression 1505676 1505710 + PropertyAccessExpression 1505676 1505702 + PropertyAccessExpression 1505676 1505685 + Identifier 1505676 1505678 + Identifier 1505679 1505685 + Identifier 1505686 1505702 + QuestionDotToken 1505702 1505704 + Identifier 1505704 1505710 + EqualsEqualsEqualsToken 1505710 1505714 + PropertyAccessExpression 1505714 1505743 + PropertyAccessExpression 1505714 1505726 + Identifier 1505714 1505719 + Identifier 1505720 1505726 + Identifier 1505727 1505743 + IfStatement 1505745 1506060 + Identifier 1505779 1505795 + Block 1505796 1506060 + ExpressionStatement 1505798 1505974 + CallExpression 1505798 1505973 + Identifier 1505798 1505837 + Identifier 1505838 1505854 + PropertyAccessExpression 1505855 1505920 + Identifier 1505855 1505867 + Identifier 1505868 1505920 + CallExpression 1505921 1505939 + Identifier 1505921 1505936 + Identifier 1505937 1505938 + CallExpression 1505940 1505972 + Identifier 1505940 1505953 + CallExpression 1505954 1505971 + Identifier 1505954 1505968 + Identifier 1505969 1505970 + ExpressionStatement 1505974 1506029 + BinaryExpression 1505974 1506028 + Identifier 1505974 1506021 + EqualsToken 1506021 1506023 + TrueKeyword 1506023 1506028 + ReturnStatement 1506155 1506186 + Identifier 1506171 1506185 + FunctionDeclaration 1506193 1511547 + Identifier 1506209 1506227 + Parameter 1506228 1506252 + Identifier 1506228 1506239 + TypeReference 1506240 1506252 + Identifier 1506240 1506252 + Parameter 1506253 1506264 + Identifier 1506253 1506258 + TypeReference 1506259 1506264 + Identifier 1506259 1506264 + Parameter 1506265 1506293 + Identifier 1506265 1506278 + QuestionToken 1506278 1506279 + TypeReference 1506280 1506293 + Identifier 1506280 1506293 + Block 1506294 1511547 + VariableStatement 1506296 1506362 + VariableDeclarationList 1506296 1506361 + VariableDeclaration 1506311 1506361 + Identifier 1506311 1506324 + CallExpression 1506326 1506361 + Identifier 1506326 1506339 + CallExpression 1506340 1506360 + Identifier 1506340 1506354 + Identifier 1506355 1506359 + IfStatement 1506362 1506601 + BinaryExpression 1506376 1506478 + CallExpression 1506376 1506399 + Identifier 1506376 1506386 + Identifier 1506387 1506398 + AmpersandAmpersandToken 1506399 1506402 + PrefixUnaryExpression 1506402 1506478 + CallExpression 1506404 1506478 + Identifier 1506404 1506427 + CallExpression 1506428 1506460 + Identifier 1506428 1506447 + Identifier 1506448 1506459 + Identifier 1506461 1506477 + Block 1506479 1506601 + ReturnStatement 1506481 1506590 + VariableStatement 1506601 1506645 + VariableDeclarationList 1506601 1506644 + VariableDeclaration 1506614 1506644 + Identifier 1506614 1506625 + TypeReference 1506626 1506644 + Identifier 1506626 1506644 + SwitchStatement 1506645 1511398 + PropertyAccessExpression 1506663 1506679 + Identifier 1506663 1506674 + Identifier 1506675 1506679 + CaseBlock 1506680 1511398 + CaseClause 1506682 1506729 + PropertyAccessExpression 1506700 1506728 + Identifier 1506700 1506711 + Identifier 1506712 1506728 + CaseClause 1506729 1506779 + PropertyAccessExpression 1506747 1506778 + Identifier 1506747 1506758 + Identifier 1506759 1506778 + CaseClause 1506779 1507037 + PropertyAccessExpression 1506797 1506826 + Identifier 1506797 1506808 + Identifier 1506809 1506826 + ExpressionStatement 1506827 1507013 + BinaryExpression 1506827 1507012 + Identifier 1506827 1506855 + EqualsToken 1506855 1506857 + ConditionalExpression 1506857 1507012 + Identifier 1506857 1506871 + QuestionToken 1506871 1506873 + PropertyAccessExpression 1506873 1506919 + Identifier 1506873 1506885 + Identifier 1506886 1506919 + ColonToken 1506919 1506921 + PropertyAccessExpression 1506921 1507012 + Identifier 1506921 1506933 + Identifier 1506934 1507012 + BreakStatement 1507013 1507037 + CaseClause 1507037 1508701 + PropertyAccessExpression 1507055 1507076 + Identifier 1507055 1507066 + Identifier 1507067 1507076 + VariableStatement 1507077 1507145 + VariableDeclarationList 1507077 1507144 + VariableDeclaration 1507100 1507144 + Identifier 1507100 1507106 + AsExpression 1507108 1507144 + Identifier 1507108 1507120 + TypeReference 1507123 1507144 + Identifier 1507123 1507144 + IfStatement 1507145 1508211 + CallExpression 1507167 1507191 + Identifier 1507167 1507179 + PropertyAccessExpression 1507180 1507190 + Identifier 1507180 1507185 + Identifier 1507186 1507190 + Block 1507192 1508211 + VariableStatement 1507194 1507280 + VariableDeclarationList 1507194 1507279 + VariableDeclaration 1507221 1507279 + Identifier 1507221 1507241 + CallExpression 1507243 1507279 + Identifier 1507243 1507267 + PropertyAccessExpression 1507268 1507278 + Identifier 1507268 1507273 + Identifier 1507274 1507278 + IfStatement 1507280 1508192 + BinaryExpression 1507306 1507746 + BinaryExpression 1507306 1507513 + ParenthesizedExpression 1507306 1507445 + BinaryExpression 1507333 1507444 + BinaryExpression 1507333 1507408 + CallExpression 1507333 1507373 + Identifier 1507333 1507359 + PropertyAccessExpression 1507360 1507372 + Identifier 1507360 1507365 + Identifier 1507366 1507372 + BarBarToken 1507373 1507376 + CallExpression 1507376 1507408 + Identifier 1507376 1507394 + PropertyAccessExpression 1507395 1507407 + Identifier 1507395 1507400 + Identifier 1507401 1507407 + BarBarToken 1507408 1507411 + CallExpression 1507411 1507444 + Identifier 1507411 1507430 + PropertyAccessExpression 1507431 1507443 + Identifier 1507431 1507436 + Identifier 1507437 1507443 + AmpersandAmpersandToken 1507445 1507448 + CallExpression 1507448 1507513 + PropertyAccessExpression 1507448 1507506 + PropertyAccessExpression 1507448 1507497 + PropertyAccessExpression 1507448 1507486 + Identifier 1507448 1507479 + Identifier 1507480 1507486 + Identifier 1507487 1507497 + Identifier 1507498 1507506 + Identifier 1507507 1507512 + AmpersandAmpersandToken 1507513 1507516 + ParenthesizedExpression 1507516 1507746 + BinaryExpression 1507543 1507745 + CallExpression 1507543 1507654 + Identifier 1507543 1507554 + Identifier 1507555 1507560 + PropertyAccessExpression 1507561 1507584 + PropertyAccessExpression 1507561 1507572 + Identifier 1507561 1507567 + Identifier 1507568 1507572 + Identifier 1507573 1507584 + PropertyAccessExpression 1507585 1507602 + Identifier 1507585 1507597 + Identifier 1507598 1507602 + Identifier 1507603 1507637 + TrueKeyword 1507638 1507653 + BarBarToken 1507654 1507657 + BinaryExpression 1507657 1507745 + Identifier 1507657 1507706 + AmpersandAmpersandToken 1507706 1507709 + CallExpression 1507709 1507745 + Identifier 1507709 1507724 + Identifier 1507725 1507744 + Block 1507769 1508192 + VariableStatement 1507771 1507860 + VariableDeclarationList 1507771 1507859 + VariableDeclaration 1507802 1507859 + Identifier 1507802 1507810 + BinaryExpression 1507812 1507859 + StringLiteral 1507812 1507818 + PlusToken 1507818 1507820 + CallExpression 1507820 1507859 + PropertyAccessExpression 1507820 1507852 + PropertyAccessExpression 1507820 1507844 + PropertyAccessExpression 1507820 1507833 + Identifier 1507820 1507826 + Identifier 1507827 1507833 + Identifier 1507834 1507844 + Identifier 1507845 1507852 + Identifier 1507853 1507858 + VariableStatement 1507860 1507976 + VariableDeclarationList 1507860 1507975 + VariableDeclaration 1507891 1507975 + Identifier 1507891 1507900 + BinaryExpression 1507902 1507975 + CallExpression 1507902 1507938 + Identifier 1507902 1507926 + PropertyAccessExpression 1507927 1507937 + Identifier 1507927 1507932 + Identifier 1507933 1507937 + PlusToken 1507938 1507940 + ParenthesizedExpression 1507940 1507975 + ConditionalExpression 1507942 1507974 + PropertyAccessExpression 1507942 1507962 + Identifier 1507942 1507947 + Identifier 1507948 1507962 + QuestionToken 1507962 1507964 + StringLiteral 1507964 1507969 + ColonToken 1507969 1507971 + StringLiteral 1507971 1507974 + ExpressionStatement 1507976 1508136 + CallExpression 1507976 1508135 + Identifier 1507976 1508019 + Identifier 1508020 1508033 + Identifier 1508034 1508046 + PropertyAccessExpression 1508047 1508115 + Identifier 1508047 1508059 + Identifier 1508060 1508115 + Identifier 1508116 1508124 + Identifier 1508125 1508134 + ReturnStatement 1508136 1508169 + ExpressionStatement 1508211 1508677 + BinaryExpression 1508211 1508676 + Identifier 1508211 1508239 + EqualsToken 1508239 1508241 + ConditionalExpression 1508241 1508676 + PropertyAccessExpression 1508241 1508294 + ParenthesizedExpression 1508241 1508279 + AsExpression 1508243 1508278 + Identifier 1508243 1508254 + TypeReference 1508257 1508278 + Identifier 1508257 1508278 + Identifier 1508280 1508294 + QuestionToken 1508294 1508296 + ConditionalExpression 1508296 1508492 + Identifier 1508296 1508331 + QuestionToken 1508331 1508333 + PropertyAccessExpression 1508333 1508389 + Identifier 1508333 1508345 + Identifier 1508346 1508389 + ColonToken 1508389 1508391 + PropertyAccessExpression 1508391 1508492 + Identifier 1508391 1508403 + Identifier 1508404 1508492 + ColonToken 1508492 1508494 + ConditionalExpression 1508494 1508676 + Identifier 1508494 1508529 + QuestionToken 1508529 1508531 + PropertyAccessExpression 1508531 1508580 + Identifier 1508531 1508543 + Identifier 1508544 1508580 + ColonToken 1508580 1508582 + PropertyAccessExpression 1508582 1508676 + Identifier 1508582 1508594 + Identifier 1508595 1508676 + BreakStatement 1508677 1508701 + CaseClause 1508701 1509057 + PropertyAccessExpression 1508719 1508745 + Identifier 1508719 1508730 + Identifier 1508731 1508745 + ExpressionStatement 1508746 1508832 + BinaryExpression 1508746 1508831 + Identifier 1508746 1508774 + EqualsToken 1508774 1508776 + PropertyAccessExpression 1508776 1508831 + Identifier 1508776 1508788 + Identifier 1508789 1508831 + IfStatement 1508832 1509033 + PrefixUnaryExpression 1508854 1508868 + Identifier 1508855 1508868 + Block 1508869 1509033 + ReturnStatement 1508871 1509014 + BreakStatement 1509033 1509057 + CaseClause 1509057 1509275 + PropertyAccessExpression 1509075 1509104 + Identifier 1509075 1509086 + Identifier 1509087 1509104 + ExpressionStatement 1509105 1509250 + CallExpression 1509105 1509249 + Identifier 1509105 1509128 + Identifier 1509129 1509140 + PropertyAccessExpression 1509141 1509234 + Identifier 1509141 1509153 + Identifier 1509154 1509234 + Identifier 1509235 1509248 + ReturnStatement 1509250 1509275 + CaseClause 1509275 1509613 + PropertyAccessExpression 1509293 1509319 + Identifier 1509293 1509304 + Identifier 1509305 1509319 + IfStatement 1509320 1509588 + BinaryExpression 1509342 1509397 + Identifier 1509342 1509355 + AmpersandAmpersandToken 1509355 1509358 + CallExpression 1509358 1509397 + Identifier 1509358 1509377 + PropertyAccessExpression 1509378 1509396 + Identifier 1509378 1509389 + Identifier 1509390 1509396 + Block 1509398 1509588 + ExpressionStatement 1509400 1509569 + CallExpression 1509400 1509568 + Identifier 1509400 1509427 + PropertyAccessExpression 1509428 1509454 + PropertyAccessExpression 1509428 1509446 + Identifier 1509428 1509439 + Identifier 1509440 1509446 + Identifier 1509447 1509454 + PropertyAccessExpression 1509455 1509553 + Identifier 1509455 1509467 + Identifier 1509468 1509553 + Identifier 1509554 1509567 + ReturnStatement 1509588 1509613 + CaseClause 1509613 1509663 + PropertyAccessExpression 1509631 1509662 + Identifier 1509631 1509642 + Identifier 1509643 1509662 + CaseClause 1509663 1509711 + PropertyAccessExpression 1509681 1509710 + Identifier 1509681 1509692 + Identifier 1509693 1509710 + CaseClause 1509711 1509757 + PropertyAccessExpression 1509729 1509756 + Identifier 1509729 1509740 + Identifier 1509741 1509756 + CaseClause 1509757 1509799 + PropertyAccessExpression 1509775 1509798 + Identifier 1509775 1509786 + Identifier 1509787 1509798 + CaseClause 1509799 1509841 + PropertyAccessExpression 1509817 1509840 + Identifier 1509817 1509828 + Identifier 1509829 1509840 + CaseClause 1509841 1509890 + PropertyAccessExpression 1509859 1509889 + Identifier 1509859 1509870 + Identifier 1509871 1509889 + CaseClause 1509890 1510943 + PropertyAccessExpression 1509908 1509933 + Identifier 1509908 1509919 + Identifier 1509920 1509933 + IfStatement 1509934 1510523 + BinaryExpression 1509956 1510012 + Identifier 1509956 1509969 + AmpersandAmpersandToken 1509969 1509972 + PrefixUnaryExpression 1509972 1510012 + PropertyAccessExpression 1509974 1510012 + ParenthesizedExpression 1509974 1510007 + AsExpression 1509975 1510006 + Identifier 1509975 1509986 + TypeReference 1509989 1510006 + Identifier 1509989 1510006 + Identifier 1510008 1510012 + Block 1510013 1510523 + IfStatement 1510015 1510475 + BinaryExpression 1510041 1510085 + Identifier 1510041 1510053 + EqualsEqualsEqualsToken 1510053 1510057 + PropertyAccessExpression 1510057 1510085 + Identifier 1510057 1510070 + Identifier 1510071 1510085 + Block 1510086 1510265 + ExpressionStatement 1510088 1510242 + CallExpression 1510088 1510241 + Identifier 1510088 1510119 + Identifier 1510120 1510131 + PropertyAccessExpression 1510132 1510226 + Identifier 1510132 1510144 + Identifier 1510145 1510226 + Identifier 1510227 1510240 + Block 1510291 1510475 + ExpressionStatement 1510293 1510452 + CallExpression 1510293 1510451 + Identifier 1510293 1510324 + Identifier 1510325 1510336 + PropertyAccessExpression 1510337 1510436 + Identifier 1510337 1510349 + Identifier 1510350 1510436 + Identifier 1510437 1510450 + ReturnStatement 1510475 1510504 + ExpressionStatement 1510523 1510919 + BinaryExpression 1510523 1510918 + Identifier 1510523 1510551 + EqualsToken 1510551 1510553 + ConditionalExpression 1510553 1510918 + PrefixUnaryExpression 1510553 1510568 + Identifier 1510555 1510568 + QuestionToken 1510568 1510570 + PropertyAccessExpression 1510570 1510662 + Identifier 1510570 1510582 + Identifier 1510583 1510662 + ColonToken 1510662 1510664 + ConditionalExpression 1510664 1510918 + BinaryExpression 1510664 1510730 + Identifier 1510664 1510698 + EqualsEqualsEqualsToken 1510698 1510702 + PropertyAccessExpression 1510702 1510730 + Identifier 1510702 1510715 + Identifier 1510716 1510730 + QuestionToken 1510730 1510732 + PropertyAccessExpression 1510732 1510813 + Identifier 1510732 1510744 + Identifier 1510745 1510813 + ColonToken 1510813 1510815 + PropertyAccessExpression 1510815 1510918 + Identifier 1510815 1510848 + Identifier 1510849 1510918 + BreakStatement 1510919 1510943 + CaseClause 1510943 1511175 + PropertyAccessExpression 1510961 1510983 + Identifier 1510961 1510972 + Identifier 1510973 1510983 + IfStatement 1510984 1511150 + Identifier 1511006 1511019 + Block 1511020 1511150 + ExpressionStatement 1511022 1511131 + CallExpression 1511022 1511130 + Identifier 1511022 1511049 + Identifier 1511050 1511061 + PropertyAccessExpression 1511062 1511129 + Identifier 1511062 1511074 + Identifier 1511075 1511129 + ReturnStatement 1511150 1511175 + DefaultClause 1511175 1511387 + ExpressionStatement 1511197 1511387 + BinaryExpression 1511197 1511386 + Identifier 1511197 1511225 + EqualsToken 1511225 1511227 + ConditionalExpression 1511227 1511386 + Identifier 1511227 1511241 + QuestionToken 1511241 1511243 + PropertyAccessExpression 1511243 1511291 + Identifier 1511243 1511255 + Identifier 1511256 1511291 + ColonToken 1511291 1511293 + PropertyAccessExpression 1511293 1511386 + Identifier 1511293 1511305 + Identifier 1511306 1511386 + ExpressionStatement 1511398 1511540 + CallExpression 1511398 1511539 + Identifier 1511398 1511425 + Identifier 1511426 1511439 + Identifier 1511440 1511452 + Identifier 1511453 1511464 + CallExpression 1511465 1511524 + Identifier 1511465 1511489 + CallExpression 1511490 1511523 + Identifier 1511490 1511510 + Identifier 1511511 1511522 + Identifier 1511525 1511538 + FunctionDeclaration 1511547 1513051 + Identifier 1511563 1511617 + Parameter 1511618 1511654 + Identifier 1511618 1511629 + TypeReference 1511630 1511654 + Identifier 1511630 1511654 + Parameter 1511655 1511682 + Identifier 1511655 1511668 + TypeReference 1511669 1511682 + Identifier 1511669 1511682 + Block 1511683 1513051 + VariableStatement 1511685 1511775 + VariableDeclarationList 1511685 1511774 + VariableDeclaration 1511700 1511774 + Identifier 1511700 1511710 + CallExpression 1511712 1511774 + Identifier 1511712 1511761 + Identifier 1511762 1511773 + IfStatement 1511775 1511839 + PrefixUnaryExpression 1511789 1511799 + Identifier 1511790 1511799 + Block 1511800 1511839 + ReturnStatement 1511802 1511828 + TrueKeyword 1511822 1511827 + VariableStatement 1511839 1511902 + VariableDeclarationList 1511839 1511901 + VariableDeclaration 1511852 1511901 + Identifier 1511852 1511863 + CallExpression 1511865 1511901 + Identifier 1511865 1511890 + Identifier 1511891 1511900 + VariableStatement 1511902 1511956 + VariableDeclarationList 1511902 1511955 + VariableDeclaration 1511917 1511955 + Identifier 1511917 1511923 + CallExpression 1511925 1511955 + Identifier 1511925 1511942 + Identifier 1511943 1511954 + SwitchStatement 1511956 1513021 + Identifier 1511974 1511986 + CaseBlock 1511987 1513021 + CaseClause 1511989 1512487 + PropertyAccessExpression 1512007 1512035 + Identifier 1512007 1512020 + Identifier 1512021 1512035 + IfStatement 1512036 1512436 + BinaryExpression 1512058 1512089 + Identifier 1512058 1512063 + AmpersandToken 1512063 1512065 + PropertyAccessExpression 1512065 1512089 + Identifier 1512065 1512079 + Identifier 1512080 1512089 + Block 1512090 1512277 + ExpressionStatement 1512092 1512258 + BinaryExpression 1512092 1512257 + Identifier 1512092 1512124 + EqualsToken 1512124 1512126 + BinaryExpression 1512126 1512257 + CallExpression 1512126 1512243 + Identifier 1512126 1512172 + PropertyAccessExpression 1512173 1512197 + Identifier 1512173 1512190 + Identifier 1512191 1512197 + Identifier 1512198 1512209 + PrefixUnaryExpression 1512210 1512242 + PrefixUnaryExpression 1512212 1512242 + ParenthesizedExpression 1512213 1512242 + BinaryExpression 1512214 1512241 + Identifier 1512214 1512219 + AmpersandToken 1512219 1512221 + PropertyAccessExpression 1512221 1512241 + Identifier 1512221 1512235 + Identifier 1512236 1512241 + QuestionQuestionToken 1512243 1512246 + Identifier 1512246 1512257 + IfStatement 1512299 1512436 + BinaryExpression 1512304 1512331 + Identifier 1512304 1512309 + AmpersandToken 1512309 1512311 + PropertyAccessExpression 1512311 1512331 + Identifier 1512311 1512325 + Identifier 1512326 1512331 + Block 1512332 1512436 + ExpressionStatement 1512334 1512417 + BinaryExpression 1512334 1512416 + Identifier 1512334 1512366 + EqualsToken 1512366 1512368 + BinaryExpression 1512368 1512416 + CallExpression 1512368 1512402 + Identifier 1512368 1512390 + Identifier 1512391 1512401 + QuestionQuestionToken 1512402 1512405 + Identifier 1512405 1512416 + ReturnStatement 1512436 1512487 + CallExpression 1512460 1512486 + Identifier 1512460 1512474 + Identifier 1512475 1512485 + CaseClause 1512487 1512751 + PropertyAccessExpression 1512505 1512533 + Identifier 1512505 1512518 + Identifier 1512519 1512533 + VariableStatement 1512534 1512686 + VariableDeclarationList 1512534 1512685 + VariableDeclaration 1512557 1512685 + Identifier 1512557 1512567 + CallExpression 1512569 1512685 + Identifier 1512569 1512615 + PropertyAccessExpression 1512616 1512639 + Identifier 1512616 1512633 + Identifier 1512634 1512639 + Identifier 1512640 1512651 + PrefixUnaryExpression 1512652 1512684 + PrefixUnaryExpression 1512654 1512684 + ParenthesizedExpression 1512655 1512684 + BinaryExpression 1512656 1512683 + Identifier 1512656 1512661 + AmpersandToken 1512661 1512663 + PropertyAccessExpression 1512663 1512683 + Identifier 1512663 1512677 + Identifier 1512678 1512683 + ReturnStatement 1512686 1512751 + BinaryExpression 1512710 1512750 + PrefixUnaryExpression 1512710 1512722 + PrefixUnaryExpression 1512712 1512722 + Identifier 1512713 1512722 + AmpersandAmpersandToken 1512722 1512725 + CallExpression 1512725 1512750 + Identifier 1512725 1512739 + Identifier 1512740 1512749 + CaseClause 1512751 1513010 + PropertyAccessExpression 1512769 1512796 + Identifier 1512769 1512782 + Identifier 1512783 1512796 + VariableStatement 1512797 1512947 + VariableDeclarationList 1512797 1512946 + VariableDeclaration 1512820 1512946 + Identifier 1512820 1512829 + CallExpression 1512831 1512946 + Identifier 1512831 1512877 + PropertyAccessExpression 1512878 1512900 + Identifier 1512878 1512895 + Identifier 1512896 1512900 + Identifier 1512901 1512912 + PrefixUnaryExpression 1512913 1512945 + PrefixUnaryExpression 1512915 1512945 + ParenthesizedExpression 1512916 1512945 + BinaryExpression 1512917 1512944 + Identifier 1512917 1512922 + AmpersandToken 1512922 1512924 + PropertyAccessExpression 1512924 1512944 + Identifier 1512924 1512938 + Identifier 1512939 1512944 + ReturnStatement 1512947 1513010 + BinaryExpression 1512971 1513009 + PrefixUnaryExpression 1512971 1512982 + PrefixUnaryExpression 1512973 1512982 + Identifier 1512974 1512982 + AmpersandAmpersandToken 1512982 1512985 + CallExpression 1512985 1513009 + Identifier 1512985 1512999 + Identifier 1513000 1513008 + ReturnStatement 1513021 1513044 + FalseKeyword 1513037 1513043 + FunctionDeclaration 1513051 1513782 + Identifier 1513067 1513092 + Parameter 1513093 1513117 + Identifier 1513093 1513104 + TypeReference 1513105 1513117 + Identifier 1513105 1513117 + Parameter 1513118 1513129 + Identifier 1513118 1513123 + TypeReference 1513124 1513129 + Identifier 1513124 1513129 + Parameter 1513130 1513158 + Identifier 1513130 1513143 + QuestionToken 1513143 1513144 + TypeReference 1513145 1513158 + Identifier 1513145 1513158 + Block 1513159 1513782 + ExpressionStatement 1513161 1513775 + CallExpression 1513161 1513774 + Identifier 1513161 1513188 + ArrowFunction 1513189 1513773 + EqualsGreaterThanToken 1513191 1513194 + Block 1513194 1513773 + IfStatement 1513196 1513762 + BinaryExpression 1513214 1513286 + Identifier 1513214 1513227 + AmpersandAmpersandToken 1513227 1513230 + BinaryExpression 1513230 1513286 + CallExpression 1513230 1513251 + Identifier 1513230 1513245 + Identifier 1513246 1513250 + AmpersandToken 1513251 1513253 + PropertyAccessExpression 1513253 1513286 + Identifier 1513253 1513265 + Identifier 1513266 1513286 + Block 1513287 1513762 + IfStatement 1513289 1513747 + BinaryExpression 1513311 1513450 + PrefixUnaryExpression 1513311 1513324 + Identifier 1513312 1513324 + BarBarToken 1513324 1513327 + BinaryExpression 1513327 1513450 + CallExpression 1513327 1513366 + Identifier 1513327 1513353 + Identifier 1513354 1513365 + AmpersandAmpersandToken 1513366 1513369 + CallExpression 1513369 1513450 + Identifier 1513369 1513423 + Identifier 1513424 1513435 + Identifier 1513436 1513449 + Block 1513451 1513747 + IfStatement 1513453 1513728 + PrefixUnaryExpression 1513592 1513625 + CallExpression 1513593 1513625 + Identifier 1513593 1513619 + Identifier 1513620 1513624 + Block 1513626 1513728 + ExpressionStatement 1513628 1513705 + CallExpression 1513628 1513704 + Identifier 1513628 1513671 + Identifier 1513672 1513683 + Identifier 1513684 1513689 + Identifier 1513690 1513703 + FunctionDeclaration 1513782 1514986 + Identifier 1513798 1513820 + Parameter 1513821 1513838 + Identifier 1513821 1513827 + TypeReference 1513828 1513838 + Identifier 1513828 1513838 + Parameter 1513839 1513857 + Identifier 1513839 1513846 + TypeReference 1513847 1513857 + Identifier 1513847 1513857 + Parameter 1513858 1513895 + Identifier 1513858 1513867 + FunctionType 1513868 1513895 + Parameter 1513870 1513877 + Identifier 1513870 1513871 + TypeReference 1513872 1513877 + Identifier 1513872 1513877 + Parameter 1513878 1513886 + Identifier 1513878 1513880 + TypeReference 1513881 1513886 + Identifier 1513881 1513886 + VoidKeyword 1513890 1513895 + Block 1513896 1514986 + VariableStatement 1513898 1513954 + VariableDeclarationList 1513898 1513953 + VariableDeclaration 1513913 1513953 + Identifier 1513913 1513925 + CallExpression 1513927 1513953 + Identifier 1513927 1513945 + Identifier 1513946 1513952 + VariableStatement 1513954 1514010 + VariableDeclarationList 1513954 1514009 + VariableDeclaration 1513969 1514009 + Identifier 1513969 1513981 + CallExpression 1513983 1514009 + Identifier 1513983 1514001 + Identifier 1514002 1514008 + VariableStatement 1514010 1514072 + VariableDeclarationList 1514010 1514071 + VariableDeclaration 1514025 1514071 + Identifier 1514025 1514040 + CallExpression 1514042 1514071 + Identifier 1514042 1514063 + Identifier 1514064 1514070 + VariableStatement 1514072 1514134 + VariableDeclarationList 1514072 1514133 + VariableDeclaration 1514087 1514133 + Identifier 1514087 1514102 + CallExpression 1514104 1514133 + Identifier 1514104 1514125 + Identifier 1514126 1514132 + VariableStatement 1514134 1514218 + VariableDeclarationList 1514134 1514217 + VariableDeclaration 1514149 1514217 + Identifier 1514149 1514168 + ConditionalExpression 1514170 1514217 + Identifier 1514170 1514185 + QuestionToken 1514185 1514187 + BinaryExpression 1514187 1514203 + Identifier 1514187 1514199 + MinusToken 1514199 1514201 + NumericLiteral 1514201 1514203 + ColonToken 1514203 1514205 + Identifier 1514205 1514217 + VariableStatement 1514218 1514327 + VariableDeclarationList 1514218 1514326 + VariableDeclaration 1514233 1514326 + Identifier 1514233 1514244 + ConditionalExpression 1514246 1514326 + Identifier 1514246 1514261 + QuestionToken 1514261 1514263 + Identifier 1514263 1514282 + ColonToken 1514282 1514284 + CallExpression 1514284 1514326 + PropertyAccessExpression 1514284 1514293 + Identifier 1514284 1514289 + Identifier 1514290 1514293 + Identifier 1514294 1514305 + Identifier 1514306 1514325 + VariableStatement 1514327 1514391 + VariableDeclarationList 1514327 1514390 + VariableDeclaration 1514342 1514390 + Identifier 1514342 1514357 + CallExpression 1514359 1514390 + Identifier 1514359 1514382 + Identifier 1514383 1514389 + IfStatement 1514391 1514610 + Identifier 1514405 1514419 + Block 1514420 1514610 + VariableStatement 1514422 1514490 + VariableDeclarationList 1514422 1514489 + VariableDeclaration 1514441 1514489 + Identifier 1514441 1514456 + CallExpression 1514458 1514489 + Identifier 1514458 1514481 + Identifier 1514482 1514488 + IfStatement 1514490 1514599 + Identifier 1514508 1514522 + Block 1514523 1514599 + ExpressionStatement 1514525 1514584 + CallExpression 1514525 1514583 + Identifier 1514525 1514551 + Identifier 1514552 1514566 + Identifier 1514567 1514582 + ForStatement 1514610 1514752 + VariableDeclarationList 1514625 1514634 + VariableDeclaration 1514628 1514634 + Identifier 1514628 1514630 + NumericLiteral 1514632 1514634 + BinaryExpression 1514635 1514650 + Identifier 1514635 1514637 + LessThanToken 1514637 1514639 + Identifier 1514639 1514650 + PostfixUnaryExpression 1514651 1514655 + Identifier 1514651 1514653 + Block 1514656 1514752 + ExpressionStatement 1514658 1514741 + CallExpression 1514658 1514740 + Identifier 1514658 1514680 + CallExpression 1514681 1514709 + Identifier 1514681 1514698 + Identifier 1514699 1514705 + Identifier 1514706 1514708 + CallExpression 1514710 1514739 + Identifier 1514710 1514728 + Identifier 1514729 1514735 + Identifier 1514736 1514738 + IfStatement 1514752 1514979 + Identifier 1514766 1514780 + Block 1514781 1514979 + ExpressionStatement 1514783 1514968 + CallExpression 1514783 1514967 + Identifier 1514783 1514805 + CallExpression 1514806 1514950 + Identifier 1514806 1514827 + Identifier 1514828 1514834 + Identifier 1514835 1514846 + BinaryExpression 1514847 1514949 + CallExpression 1514847 1514896 + Identifier 1514847 1514880 + Identifier 1514881 1514895 + AmpersandAmpersandToken 1514896 1514899 + PrefixUnaryExpression 1514899 1514949 + CallExpression 1514901 1514949 + Identifier 1514901 1514909 + Identifier 1514910 1514924 + Identifier 1514925 1514948 + Identifier 1514951 1514966 + FunctionDeclaration 1514986 1515803 + Identifier 1515002 1515021 + Parameter 1515022 1515039 + Identifier 1515022 1515028 + TypeReference 1515029 1515039 + Identifier 1515029 1515039 + Parameter 1515040 1515058 + Identifier 1515040 1515047 + TypeReference 1515048 1515058 + Identifier 1515048 1515058 + Parameter 1515059 1515096 + Identifier 1515059 1515068 + FunctionType 1515069 1515096 + Parameter 1515071 1515078 + Identifier 1515071 1515072 + TypeReference 1515073 1515078 + Identifier 1515073 1515078 + Parameter 1515079 1515087 + Identifier 1515079 1515081 + TypeReference 1515082 1515087 + Identifier 1515082 1515087 + VoidKeyword 1515091 1515096 + Block 1515097 1515803 + VariableStatement 1515099 1515173 + VariableDeclarationList 1515099 1515172 + VariableDeclaration 1515114 1515172 + Identifier 1515114 1515134 + CallExpression 1515136 1515172 + Identifier 1515136 1515164 + Identifier 1515165 1515171 + IfStatement 1515173 1515582 + Identifier 1515187 1515206 + Block 1515207 1515582 + VariableStatement 1515209 1515287 + VariableDeclarationList 1515209 1515286 + VariableDeclaration 1515228 1515286 + Identifier 1515228 1515248 + CallExpression 1515250 1515286 + Identifier 1515250 1515278 + Identifier 1515279 1515285 + IfStatement 1515287 1515571 + BinaryExpression 1515305 1515449 + BinaryExpression 1515305 1515421 + BinaryExpression 1515305 1515393 + Identifier 1515305 1515324 + AmpersandAmpersandToken 1515324 1515327 + CallExpression 1515327 1515393 + Identifier 1515327 1515351 + Identifier 1515352 1515371 + Identifier 1515372 1515392 + AmpersandAmpersandToken 1515393 1515396 + PropertyAccessExpression 1515396 1515421 + Identifier 1515396 1515416 + Identifier 1515417 1515421 + AmpersandAmpersandToken 1515421 1515424 + PropertyAccessExpression 1515424 1515449 + Identifier 1515424 1515444 + Identifier 1515445 1515449 + Block 1515450 1515571 + ExpressionStatement 1515452 1515531 + CallExpression 1515452 1515530 + Identifier 1515452 1515478 + PropertyAccessExpression 1515479 1515503 + Identifier 1515479 1515498 + Identifier 1515499 1515503 + PropertyAccessExpression 1515504 1515529 + Identifier 1515504 1515524 + Identifier 1515525 1515529 + ReturnStatement 1515531 1515556 + VariableStatement 1515582 1515650 + VariableDeclarationList 1515582 1515649 + VariableDeclaration 1515597 1515649 + Identifier 1515597 1515614 + CallExpression 1515616 1515649 + Identifier 1515616 1515641 + Identifier 1515642 1515648 + IfStatement 1515650 1515796 + CallExpression 1515664 1515707 + Identifier 1515664 1515689 + Identifier 1515690 1515706 + Block 1515708 1515796 + ExpressionStatement 1515710 1515785 + CallExpression 1515710 1515784 + Identifier 1515710 1515732 + CallExpression 1515733 1515765 + Identifier 1515733 1515757 + Identifier 1515758 1515764 + Identifier 1515766 1515783 + FunctionDeclaration 1515803 1516142 + Identifier 1515819 1515842 + Parameter 1515843 1515883 + Identifier 1515843 1515857 + TypeOperator 1515858 1515883 + ArrayType 1515867 1515883 + TypeReference 1515867 1515881 + Identifier 1515867 1515881 + Parameter 1515884 1515917 + Identifier 1515884 1515894 + UnionType 1515895 1515917 + TypeReference 1515895 1515905 + Identifier 1515895 1515905 + UndefinedKeyword 1515907 1515917 + Parameter 1515918 1515940 + Identifier 1515918 1515924 + TypeReference 1515925 1515940 + Identifier 1515925 1515940 + Parameter 1515941 1515969 + Identifier 1515941 1515954 + QuestionToken 1515954 1515955 + TypeReference 1515956 1515969 + Identifier 1515956 1515969 + TypeReference 1515971 1515988 + Identifier 1515971 1515988 + Block 1515988 1516142 + ReturnStatement 1515990 1516135 + CallExpression 1516006 1516134 + Identifier 1516006 1516035 + CallExpression 1516036 1516075 + PropertyAccessExpression 1516036 1516054 + Identifier 1516036 1516050 + Identifier 1516051 1516054 + Identifier 1516055 1516074 + Identifier 1516076 1516086 + Identifier 1516087 1516093 + BinaryExpression 1516094 1516133 + Identifier 1516094 1516107 + BarBarToken 1516107 1516110 + Identifier 1516110 1516133 + FunctionDeclaration 1516142 1516478 + Identifier 1516158 1516180 + TypeParameter 1516181 1516219 + Identifier 1516181 1516182 + UnionType 1516190 1516219 + TypeReference 1516190 1516207 + Identifier 1516190 1516207 + UndefinedKeyword 1516209 1516219 + Parameter 1516221 1516231 + Identifier 1516221 1516228 + TypeReference 1516229 1516231 + Identifier 1516229 1516231 + Parameter 1516232 1516263 + Identifier 1516232 1516243 + TypeReference 1516244 1516259 + Identifier 1516244 1516259 + NumericLiteral 1516261 1516263 + UnionType 1516265 1516298 + TypeReference 1516265 1516282 + Identifier 1516265 1516282 + IntersectionType 1516284 1516298 + TypeReference 1516284 1516286 + Identifier 1516284 1516286 + UndefinedKeyword 1516288 1516298 + Block 1516298 1516478 + ReturnStatement 1516300 1516471 + BinaryExpression 1516316 1516470 + Identifier 1516316 1516324 + AmpersandAmpersandToken 1516324 1516327 + CallExpression 1516327 1516470 + Identifier 1516327 1516356 + CallExpression 1516357 1516400 + Identifier 1516357 1516360 + PropertyAccessExpression 1516361 1516379 + Identifier 1516361 1516368 + Identifier 1516369 1516379 + Identifier 1516380 1516399 + PropertyAccessExpression 1516401 1516419 + Identifier 1516401 1516409 + Identifier 1516410 1516419 + BinaryExpression 1516420 1516447 + PropertyAccessExpression 1516420 1516434 + Identifier 1516420 1516428 + Identifier 1516429 1516434 + BarToken 1516434 1516436 + Identifier 1516436 1516447 + PropertyAccessExpression 1516448 1516469 + Identifier 1516448 1516456 + Identifier 1516457 1516469 + FunctionDeclaration 1516478 1517209 + Identifier 1516494 1516523 + Parameter 1516524 1516551 + Identifier 1516524 1516534 + ArrayType 1516535 1516551 + TypeReference 1516535 1516549 + Identifier 1516535 1516549 + Parameter 1516552 1516585 + Identifier 1516552 1516562 + UnionType 1516563 1516585 + TypeReference 1516563 1516573 + Identifier 1516563 1516573 + UndefinedKeyword 1516575 1516585 + Parameter 1516586 1516608 + Identifier 1516586 1516592 + TypeReference 1516593 1516608 + Identifier 1516593 1516608 + Parameter 1516609 1516636 + Identifier 1516609 1516622 + TypeReference 1516623 1516636 + Identifier 1516623 1516636 + TypeReference 1516638 1516655 + Identifier 1516638 1516655 + Block 1516655 1517209 + VariableStatement 1516657 1517039 + VariableDeclarationList 1516657 1517038 + VariableDeclaration 1516672 1517038 + Identifier 1516672 1516680 + TypeReference 1516681 1516698 + Identifier 1516681 1516698 + ObjectLiteralExpression 1516700 1517038 + ShorthandPropertyAssignment 1516702 1516726 + Identifier 1516702 1516726 + ShorthandPropertyAssignment 1516727 1516750 + Identifier 1516727 1516750 + ShorthandPropertyAssignment 1516751 1516770 + Identifier 1516751 1516770 + ShorthandPropertyAssignment 1516771 1516797 + Identifier 1516771 1516797 + PropertyAssignment 1516798 1516844 + Identifier 1516798 1516818 + Identifier 1516819 1516844 + PropertyAssignment 1516845 1517026 + Identifier 1516845 1517000 + Identifier 1517001 1517026 + ExpressionStatement 1517039 1517102 + BinaryExpression 1517039 1517101 + PropertyAccessExpression 1517039 1517063 + Identifier 1517039 1517056 + Identifier 1517057 1517063 + EqualsToken 1517063 1517065 + CallExpression 1517065 1517101 + Identifier 1517065 1517092 + Identifier 1517093 1517100 + ExpressionStatement 1517102 1517177 + BinaryExpression 1517102 1517176 + PropertyAccessExpression 1517102 1517135 + Identifier 1517102 1517119 + Identifier 1517120 1517135 + EqualsToken 1517135 1517137 + CallExpression 1517137 1517176 + Identifier 1517137 1517167 + Identifier 1517168 1517175 + ReturnStatement 1517177 1517202 + Identifier 1517193 1517201 + FunctionDeclaration 1517209 1517972 + Identifier 1517225 1517252 + Parameter 1517253 1517278 + Identifier 1517253 1517260 + TypeReference 1517261 1517278 + Identifier 1517261 1517278 + Block 1517279 1517972 + ReturnStatement 1517281 1517965 + CallExpression 1517297 1517964 + Identifier 1517297 1517320 + CallExpression 1517321 1517380 + Identifier 1517321 1517338 + PropertyAccessExpression 1517339 1517357 + Identifier 1517339 1517346 + Identifier 1517347 1517357 + ArrowFunction 1517358 1517379 + Parameter 1517358 1517360 + Identifier 1517358 1517360 + EqualsGreaterThanToken 1517360 1517363 + PropertyAccessExpression 1517363 1517379 + Identifier 1517363 1517365 + Identifier 1517366 1517379 + CallExpression 1517381 1517952 + Identifier 1517381 1517398 + PropertyAccessExpression 1517399 1517417 + Identifier 1517399 1517406 + Identifier 1517407 1517417 + ArrowFunction 1517418 1517951 + Parameter 1517420 1517429 + Identifier 1517420 1517429 + Parameter 1517430 1517432 + Identifier 1517430 1517432 + EqualsGreaterThanToken 1517433 1517436 + ArrowFunction 1517436 1517951 + EqualsGreaterThanToken 1517439 1517442 + Block 1517442 1517951 + IfStatement 1517444 1517883 + PrefixUnaryExpression 1517466 1517484 + PropertyAccessExpression 1517467 1517484 + Identifier 1517467 1517476 + Identifier 1517477 1517484 + Block 1517485 1517883 + ExpressionStatement 1517487 1517753 + CallExpression 1517487 1517752 + Identifier 1517487 1517743 + Identifier 1517744 1517751 + ExpressionStatement 1517753 1517817 + CallExpression 1517753 1517816 + Identifier 1517753 1517796 + PropertyAccessExpression 1517797 1517815 + Identifier 1517797 1517804 + Identifier 1517805 1517815 + ExpressionStatement 1517817 1517864 + BinaryExpression 1517817 1517863 + PropertyAccessExpression 1517817 1517856 + Identifier 1517817 1517848 + Identifier 1517849 1517856 + EqualsToken 1517856 1517858 + TrueKeyword 1517858 1517863 + ReturnStatement 1517883 1517936 + CallExpression 1517907 1517935 + Identifier 1517907 1517923 + Identifier 1517924 1517931 + Identifier 1517932 1517934 + FunctionDeclaration 1517972 1518291 + Identifier 1517988 1518018 + Parameter 1518019 1518044 + Identifier 1518019 1518026 + TypeReference 1518027 1518044 + Identifier 1518027 1518044 + Block 1518045 1518291 + ReturnStatement 1518047 1518284 + CallExpression 1518063 1518283 + Identifier 1518063 1518086 + CallExpression 1518087 1518146 + Identifier 1518087 1518104 + PropertyAccessExpression 1518105 1518123 + Identifier 1518105 1518112 + Identifier 1518113 1518123 + ArrowFunction 1518124 1518145 + Parameter 1518124 1518126 + Identifier 1518124 1518126 + EqualsGreaterThanToken 1518126 1518129 + PropertyAccessExpression 1518129 1518145 + Identifier 1518129 1518131 + Identifier 1518132 1518145 + CallExpression 1518147 1518271 + Identifier 1518147 1518164 + PropertyAccessExpression 1518165 1518183 + Identifier 1518165 1518172 + Identifier 1518173 1518183 + ArrowFunction 1518184 1518270 + Parameter 1518186 1518187 + Identifier 1518186 1518187 + Parameter 1518188 1518190 + Identifier 1518188 1518190 + EqualsGreaterThanToken 1518191 1518194 + ArrowFunction 1518194 1518270 + EqualsGreaterThanToken 1518197 1518200 + Block 1518200 1518270 + ReturnStatement 1518202 1518255 + CallExpression 1518226 1518254 + Identifier 1518226 1518242 + Identifier 1518243 1518250 + Identifier 1518251 1518253 + FunctionDeclaration 1518291 1518532 + Identifier 1518307 1518329 + Parameter 1518330 1518357 + Identifier 1518330 1518340 + ArrayType 1518341 1518357 + TypeReference 1518341 1518355 + Identifier 1518341 1518355 + Block 1518358 1518532 + ForOfStatement 1518360 1518525 + VariableDeclarationList 1518375 1518390 + VariableDeclaration 1518380 1518390 + Identifier 1518380 1518390 + Identifier 1518393 1518404 + Block 1518405 1518525 + IfStatement 1518407 1518514 + PrefixUnaryExpression 1518425 1518443 + PropertyAccessExpression 1518426 1518443 + Identifier 1518426 1518435 + Identifier 1518436 1518443 + Block 1518444 1518514 + ExpressionStatement 1518446 1518499 + BinaryExpression 1518446 1518498 + PropertyAccessExpression 1518446 1518486 + Identifier 1518446 1518473 + Identifier 1518474 1518486 + EqualsToken 1518486 1518488 + Identifier 1518488 1518498 + FunctionDeclaration 1518532 1518744 + Identifier 1518548 1518580 + Parameter 1518581 1518606 + Identifier 1518581 1518588 + TypeReference 1518589 1518606 + Identifier 1518589 1518606 + Parameter 1518607 1518644 + Identifier 1518607 1518612 + UnionType 1518613 1518644 + TypeReference 1518613 1518624 + Identifier 1518613 1518624 + TypeReference 1518626 1518644 + Identifier 1518626 1518644 + Parameter 1518645 1518656 + Identifier 1518645 1518650 + TypeReference 1518651 1518656 + Identifier 1518651 1518656 + Block 1518657 1518744 + ExpressionStatement 1518659 1518737 + CallExpression 1518659 1518736 + PropertyAccessExpression 1518659 1518720 + ParenthesizedExpression 1518659 1518715 + BinaryExpression 1518670 1518714 + PropertyAccessExpression 1518670 1518707 + Identifier 1518670 1518677 + Identifier 1518678 1518707 + QuestionQuestionEqualsToken 1518707 1518711 + ArrayLiteralExpression 1518711 1518714 + Identifier 1518716 1518720 + ObjectLiteralExpression 1518721 1518735 + ShorthandPropertyAssignment 1518722 1518727 + Identifier 1518722 1518727 + ShorthandPropertyAssignment 1518728 1518733 + Identifier 1518728 1518733 + FunctionDeclaration 1518744 1520553 + Identifier 1519850 1519880 + Parameter 1519881 1519906 + Identifier 1519881 1519888 + TypeReference 1519889 1519906 + Identifier 1519889 1519906 + Block 1519907 1520553 + IfStatement 1519909 1520546 + PropertyAccessExpression 1519923 1519960 + Identifier 1519923 1519930 + Identifier 1519931 1519960 + Block 1519961 1520546 + ForOfStatement 1519963 1520471 + VariableDeclarationList 1519982 1520002 + VariableDeclaration 1519987 1520002 + ObjectBindingPattern 1519987 1520002 + BindingElement 1519989 1519994 + Identifier 1519989 1519994 + BindingElement 1519995 1520000 + Identifier 1519995 1520000 + PropertyAccessExpression 1520005 1520043 + Identifier 1520005 1520013 + Identifier 1520014 1520043 + Block 1520044 1520471 + VariableStatement 1520046 1520323 + VariableDeclarationList 1520046 1520322 + VariableDeclaration 1520069 1520322 + Identifier 1520069 1520084 + ConditionalExpression 1520086 1520322 + BinaryExpression 1520086 1520129 + PropertyAccessExpression 1520086 1520096 + Identifier 1520086 1520091 + Identifier 1520092 1520096 + EqualsEqualsEqualsToken 1520096 1520100 + PropertyAccessExpression 1520100 1520129 + Identifier 1520100 1520111 + Identifier 1520112 1520129 + QuestionToken 1520129 1520131 + CallExpression 1520131 1520247 + Identifier 1520131 1520192 + AsExpression 1520193 1520218 + Identifier 1520193 1520197 + TypeReference 1520200 1520218 + Identifier 1520200 1520218 + PropertyAccessExpression 1520219 1520246 + Identifier 1520219 1520232 + Identifier 1520233 1520246 + ColonToken 1520247 1520249 + CallExpression 1520249 1520322 + Identifier 1520249 1520288 + Identifier 1520289 1520293 + PropertyAccessExpression 1520294 1520321 + Identifier 1520294 1520307 + Identifier 1520308 1520321 + IfStatement 1520323 1520456 + Identifier 1520345 1520359 + Block 1520360 1520456 + ExpressionStatement 1520362 1520437 + CallExpression 1520362 1520436 + Identifier 1520362 1520394 + PropertyAccessExpression 1520395 1520413 + Identifier 1520395 1520402 + Identifier 1520403 1520413 + Identifier 1520414 1520419 + Identifier 1520420 1520435 + ExpressionStatement 1520471 1520535 + BinaryExpression 1520471 1520534 + PropertyAccessExpression 1520471 1520522 + Identifier 1520471 1520492 + Identifier 1520493 1520522 + EqualsToken 1520522 1520524 + Identifier 1520524 1520534 + FunctionDeclaration 1520553 1520947 + Identifier 1520569 1520589 + Parameter 1520590 1520618 + Identifier 1520590 1520603 + TypeReference 1520604 1520618 + Identifier 1520604 1520618 + TypeReference 1520620 1520634 + Identifier 1520620 1520634 + Block 1520634 1520947 + ReturnStatement 1520636 1520940 + ObjectLiteralExpression 1520652 1520939 + ShorthandPropertyAssignment 1520654 1520681 + Identifier 1520654 1520681 + PropertyAssignment 1520682 1520717 + Identifier 1520682 1520706 + Identifier 1520707 1520717 + PropertyAssignment 1520718 1520759 + Identifier 1520718 1520748 + Identifier 1520749 1520759 + PropertyAssignment 1520760 1520797 + Identifier 1520760 1520786 + Identifier 1520787 1520797 + PropertyAssignment 1520798 1520831 + Identifier 1520798 1520820 + Identifier 1520821 1520831 + PropertyAssignment 1520832 1520860 + Identifier 1520832 1520854 + TrueKeyword 1520855 1520860 + PropertyAssignment 1520861 1520889 + Identifier 1520861 1520882 + FalseKeyword 1520883 1520889 + PropertyAssignment 1520890 1520927 + Identifier 1520890 1520916 + Identifier 1520917 1520927 + FunctionDeclaration 1520947 1521520 + Identifier 1520963 1520982 + Parameter 1520983 1521007 + Identifier 1520983 1520992 + TypeReference 1520993 1521007 + Identifier 1520993 1521007 + TypeReference 1521009 1521023 + Identifier 1521009 1521023 + Block 1521023 1521520 + ReturnStatement 1521025 1521513 + ObjectLiteralExpression 1521041 1521512 + PropertyAssignment 1521043 1521095 + Identifier 1521043 1521070 + PropertyAccessExpression 1521071 1521095 + Identifier 1521071 1521081 + Identifier 1521082 1521095 + PropertyAssignment 1521096 1521174 + Identifier 1521096 1521120 + BinaryExpression 1521121 1521174 + PropertyAccessExpression 1521121 1521142 + Identifier 1521121 1521131 + Identifier 1521132 1521142 + AmpersandAmpersandToken 1521142 1521145 + CallExpression 1521145 1521174 + PropertyAccessExpression 1521145 1521172 + PropertyAccessExpression 1521145 1521166 + Identifier 1521145 1521155 + Identifier 1521156 1521166 + Identifier 1521167 1521172 + PropertyAssignment 1521175 1521271 + Identifier 1521175 1521205 + BinaryExpression 1521206 1521271 + PropertyAccessExpression 1521206 1521233 + Identifier 1521206 1521216 + Identifier 1521217 1521233 + AmpersandAmpersandToken 1521233 1521236 + CallExpression 1521236 1521271 + PropertyAccessExpression 1521236 1521269 + PropertyAccessExpression 1521236 1521263 + Identifier 1521236 1521246 + Identifier 1521247 1521263 + Identifier 1521264 1521269 + PropertyAssignment 1521272 1521322 + Identifier 1521272 1521298 + PropertyAccessExpression 1521299 1521322 + Identifier 1521299 1521309 + Identifier 1521310 1521322 + PropertyAssignment 1521323 1521365 + Identifier 1521323 1521345 + PropertyAccessExpression 1521346 1521365 + Identifier 1521346 1521356 + Identifier 1521357 1521365 + PropertyAssignment 1521366 1521408 + Identifier 1521366 1521388 + PropertyAccessExpression 1521389 1521408 + Identifier 1521389 1521399 + Identifier 1521400 1521408 + PropertyAssignment 1521409 1521449 + Identifier 1521409 1521430 + PropertyAccessExpression 1521431 1521449 + Identifier 1521431 1521441 + Identifier 1521442 1521449 + PropertyAssignment 1521450 1521500 + Identifier 1521450 1521476 + PropertyAccessExpression 1521477 1521500 + Identifier 1521477 1521487 + Identifier 1521488 1521500 + FunctionDeclaration 1521520 1521906 + Identifier 1521536 1521563 + Parameter 1521564 1521589 + Identifier 1521564 1521571 + TypeReference 1521572 1521589 + Identifier 1521572 1521589 + UnionType 1521591 1521620 + TypeReference 1521591 1521608 + Identifier 1521591 1521608 + UndefinedKeyword 1521610 1521620 + Block 1521620 1521906 + VariableStatement 1521622 1521702 + VariableDeclarationList 1521622 1521701 + VariableDeclaration 1521637 1521701 + Identifier 1521637 1521648 + CallExpression 1521650 1521701 + Identifier 1521650 1521657 + PropertyAccessExpression 1521658 1521676 + Identifier 1521658 1521665 + Identifier 1521666 1521676 + Identifier 1521677 1521700 + ReturnStatement 1521702 1521899 + ConditionalExpression 1521718 1521898 + PropertyAccessExpression 1521718 1521736 + Identifier 1521718 1521729 + Identifier 1521730 1521736 + QuestionToken 1521736 1521738 + CallExpression 1521738 1521873 + Identifier 1521738 1521780 + CallExpression 1521781 1521816 + Identifier 1521781 1521784 + Identifier 1521785 1521795 + Identifier 1521796 1521815 + PropertyAccessExpression 1521817 1521835 + Identifier 1521817 1521825 + Identifier 1521826 1521835 + PropertyAccessExpression 1521836 1521850 + Identifier 1521836 1521844 + Identifier 1521845 1521850 + PropertyAccessExpression 1521851 1521872 + Identifier 1521851 1521859 + Identifier 1521860 1521872 + ColonToken 1521873 1521875 + Identifier 1521875 1521898 + FunctionDeclaration 1521906 1522075 + Identifier 1521922 1521943 + TypeParameter 1521944 1521982 + Identifier 1521944 1521945 + UnionType 1521953 1521982 + TypeReference 1521953 1521970 + Identifier 1521953 1521970 + UndefinedKeyword 1521972 1521982 + Parameter 1521984 1521994 + Identifier 1521984 1521991 + TypeReference 1521992 1521994 + Identifier 1521992 1521994 + UnionType 1521996 1522023 + TypeReference 1521996 1522007 + Identifier 1521996 1522007 + IntersectionType 1522009 1522023 + TypeReference 1522009 1522011 + Identifier 1522009 1522011 + UndefinedKeyword 1522013 1522023 + Block 1522023 1522075 + ReturnStatement 1522025 1522068 + BinaryExpression 1522041 1522067 + Identifier 1522041 1522049 + AmpersandAmpersandToken 1522049 1522052 + PropertyAccessExpression 1522052 1522067 + Identifier 1522052 1522060 + Identifier 1522061 1522067 + FunctionDeclaration 1522075 1523945 + Identifier 1522345 1522371 + Parameter 1522372 1522382 + Identifier 1522372 1522376 + TypeReference 1522377 1522382 + Identifier 1522377 1522382 + BooleanKeyword 1522384 1522392 + Block 1522392 1523945 + VariableStatement 1522394 1522445 + VariableDeclarationList 1522394 1522444 + VariableDeclaration 1522409 1522444 + Identifier 1522409 1522421 + CallExpression 1522423 1522444 + Identifier 1522423 1522438 + Identifier 1522439 1522443 + IfStatement 1522445 1522609 + BinaryExpression 1522459 1522518 + Identifier 1522459 1522470 + AmpersandToken 1522470 1522472 + PropertyAccessExpression 1522472 1522518 + Identifier 1522472 1522484 + Identifier 1522485 1522518 + Block 1522519 1522609 + ReturnStatement 1522521 1522598 + PrefixUnaryExpression 1522541 1522597 + PrefixUnaryExpression 1522543 1522597 + ParenthesizedExpression 1522544 1522597 + BinaryExpression 1522545 1522596 + Identifier 1522545 1522556 + AmpersandToken 1522556 1522558 + PropertyAccessExpression 1522558 1522596 + Identifier 1522558 1522570 + Identifier 1522571 1522596 + VariableStatement 1522609 1523692 + VariableDeclarationList 1522609 1523691 + VariableDeclaration 1522624 1523691 + Identifier 1522624 1522631 + PrefixUnaryExpression 1522633 1523691 + PrefixUnaryExpression 1522635 1523691 + ParenthesizedExpression 1522636 1523691 + BinaryExpression 1522637 1523690 + BinaryExpression 1522637 1523479 + BinaryExpression 1522637 1522672 + PropertyAccessExpression 1522637 1522647 + Identifier 1522637 1522641 + Identifier 1522642 1522647 + AmpersandToken 1522647 1522649 + PropertyAccessExpression 1522649 1522672 + Identifier 1522649 1522659 + Identifier 1522660 1522672 + BarBarToken 1522672 1522675 + BinaryExpression 1522675 1523479 + BinaryExpression 1522675 1522753 + BinaryExpression 1522675 1522718 + PropertyAccessExpression 1522675 1522699 + Identifier 1522675 1522693 + Identifier 1522694 1522699 + AmpersandToken 1522699 1522701 + PropertyAccessExpression 1522701 1522718 + Identifier 1522701 1522711 + Identifier 1522712 1522718 + AmpersandAmpersandToken 1522718 1522721 + PrefixUnaryExpression 1522721 1522753 + CallExpression 1522723 1522753 + Identifier 1522723 1522747 + Identifier 1522748 1522752 + AmpersandAmpersandToken 1522753 1522756 + ParenthesizedExpression 1522756 1523479 + BinaryExpression 1522758 1523460 + BinaryExpression 1522758 1523302 + BinaryExpression 1522758 1523058 + BinaryExpression 1522758 1522925 + BinaryExpression 1522758 1522815 + Identifier 1522758 1522791 + AmpersandToken 1522791 1522793 + PropertyAccessExpression 1522793 1522815 + Identifier 1522793 1522805 + Identifier 1522806 1522815 + AmpersandAmpersandToken 1522815 1522818 + ParenthesizedExpression 1522818 1522925 + BinaryExpression 1522820 1522924 + PropertyAccessExpression 1522820 1522848 + ParenthesizedExpression 1522820 1522843 + AsExpression 1522821 1522842 + Identifier 1522821 1522825 + TypeReference 1522828 1522842 + Identifier 1522828 1522842 + Identifier 1522844 1522848 + BarBarToken 1522848 1522851 + CallExpression 1522851 1522924 + Identifier 1522851 1522856 + CallExpression 1522857 1522896 + Identifier 1522857 1522873 + AsExpression 1522874 1522895 + Identifier 1522874 1522878 + TypeReference 1522881 1522895 + Identifier 1522881 1522895 + Identifier 1522897 1522923 + BarBarToken 1522925 1522928 + BinaryExpression 1522928 1523058 + BinaryExpression 1522928 1522995 + Identifier 1522928 1522961 + AmpersandToken 1522961 1522963 + PropertyAccessExpression 1522963 1522995 + Identifier 1522963 1522975 + Identifier 1522976 1522995 + AmpersandAmpersandToken 1522995 1522998 + PrefixUnaryExpression 1522998 1523058 + PrefixUnaryExpression 1523000 1523058 + CallExpression 1523001 1523058 + Identifier 1523001 1523007 + PropertyAccessExpression 1523008 1523057 + ParenthesizedExpression 1523008 1523037 + AsExpression 1523009 1523036 + Identifier 1523009 1523013 + TypeReference 1523016 1523036 + Identifier 1523016 1523036 + Identifier 1523038 1523057 + BarBarToken 1523058 1523061 + BinaryExpression 1523061 1523302 + BinaryExpression 1523061 1523274 + BinaryExpression 1523061 1523133 + BinaryExpression 1523061 1523118 + Identifier 1523061 1523094 + AmpersandToken 1523094 1523096 + PropertyAccessExpression 1523096 1523118 + Identifier 1523096 1523108 + Identifier 1523109 1523118 + AmpersandAmpersandToken 1523118 1523121 + PropertyAccessExpression 1523121 1523133 + Identifier 1523121 1523126 + Identifier 1523127 1523133 + AmpersandAmpersandToken 1523133 1523136 + BinaryExpression 1523136 1523274 + PropertyAccessExpression 1523136 1523154 + PropertyAccessExpression 1523136 1523148 + Identifier 1523136 1523141 + Identifier 1523142 1523148 + Identifier 1523149 1523154 + AmpersandToken 1523154 1523156 + ParenthesizedExpression 1523156 1523274 + BinaryExpression 1523158 1523273 + BinaryExpression 1523158 1523245 + BinaryExpression 1523158 1523219 + BinaryExpression 1523158 1523199 + PropertyAccessExpression 1523158 1523178 + Identifier 1523158 1523169 + Identifier 1523170 1523178 + BarToken 1523178 1523180 + PropertyAccessExpression 1523180 1523199 + Identifier 1523180 1523192 + Identifier 1523193 1523199 + BarToken 1523199 1523201 + PropertyAccessExpression 1523201 1523219 + Identifier 1523201 1523213 + Identifier 1523214 1523219 + BarToken 1523219 1523221 + PropertyAccessExpression 1523221 1523245 + Identifier 1523221 1523233 + Identifier 1523234 1523245 + BarToken 1523245 1523247 + PropertyAccessExpression 1523247 1523273 + Identifier 1523247 1523259 + Identifier 1523260 1523273 + AmpersandAmpersandToken 1523274 1523277 + PropertyAccessExpression 1523277 1523302 + PropertyAccessExpression 1523277 1523289 + Identifier 1523277 1523282 + Identifier 1523283 1523289 + Identifier 1523290 1523302 + BarBarToken 1523302 1523305 + BinaryExpression 1523305 1523460 + Identifier 1523305 1523338 + AmpersandToken 1523338 1523340 + ParenthesizedExpression 1523340 1523460 + BinaryExpression 1523342 1523459 + BinaryExpression 1523342 1523417 + BinaryExpression 1523342 1523388 + PropertyAccessExpression 1523342 1523360 + Identifier 1523342 1523353 + Identifier 1523354 1523360 + BarToken 1523360 1523362 + PropertyAccessExpression 1523362 1523388 + Identifier 1523362 1523374 + Identifier 1523375 1523388 + BarToken 1523388 1523390 + PropertyAccessExpression 1523390 1523417 + Identifier 1523390 1523402 + Identifier 1523403 1523417 + BarToken 1523417 1523419 + PropertyAccessExpression 1523419 1523459 + Identifier 1523419 1523431 + Identifier 1523432 1523459 + BarBarToken 1523479 1523482 + BinaryExpression 1523482 1523690 + BinaryExpression 1523482 1523614 + BinaryExpression 1523482 1523579 + BinaryExpression 1523482 1523538 + PropertyAccessExpression 1523482 1523506 + Identifier 1523482 1523500 + Identifier 1523501 1523506 + AmpersandToken 1523506 1523508 + PropertyAccessExpression 1523508 1523538 + Identifier 1523508 1523518 + Identifier 1523519 1523538 + AmpersandAmpersandToken 1523538 1523541 + PrefixUnaryExpression 1523541 1523579 + ParenthesizedExpression 1523543 1523579 + BinaryExpression 1523544 1523578 + PropertyAccessExpression 1523544 1523554 + Identifier 1523544 1523548 + Identifier 1523549 1523554 + AmpersandToken 1523554 1523556 + PropertyAccessExpression 1523556 1523578 + Identifier 1523556 1523566 + Identifier 1523567 1523578 + AmpersandAmpersandToken 1523579 1523582 + PrefixUnaryExpression 1523582 1523614 + CallExpression 1523584 1523614 + Identifier 1523584 1523608 + Identifier 1523609 1523613 + AmpersandAmpersandToken 1523614 1523617 + CallExpression 1523617 1523690 + Identifier 1523617 1523622 + PropertyAccessExpression 1523623 1523662 + ParenthesizedExpression 1523623 1523656 + AsExpression 1523624 1523655 + Identifier 1523624 1523628 + TypeReference 1523631 1523655 + Identifier 1523631 1523655 + Identifier 1523657 1523662 + Identifier 1523663 1523689 + IfStatement 1523692 1523914 + BinaryExpression 1523706 1523744 + PropertyAccessExpression 1523706 1523716 + Identifier 1523706 1523710 + Identifier 1523711 1523716 + AmpersandToken 1523716 1523718 + PropertyAccessExpression 1523718 1523744 + Identifier 1523718 1523728 + Identifier 1523729 1523744 + Block 1523745 1523914 + ExpressionStatement 1523747 1523903 + BinaryExpression 1523747 1523902 + PropertyAccessExpression 1523747 1523798 + ParenthesizedExpression 1523747 1523786 + AsExpression 1523762 1523785 + Identifier 1523762 1523766 + TypeReference 1523769 1523785 + Identifier 1523769 1523785 + Identifier 1523787 1523798 + BarEqualsToken 1523798 1523801 + BinaryExpression 1523801 1523902 + PropertyAccessExpression 1523801 1523847 + Identifier 1523801 1523813 + Identifier 1523814 1523847 + BarToken 1523847 1523849 + ParenthesizedExpression 1523849 1523902 + ConditionalExpression 1523851 1523901 + Identifier 1523851 1523857 + QuestionToken 1523857 1523859 + PropertyAccessExpression 1523859 1523897 + Identifier 1523859 1523871 + Identifier 1523872 1523897 + ColonToken 1523897 1523899 + NumericLiteral 1523899 1523901 + ReturnStatement 1523914 1523938 + Identifier 1523930 1523937 + FunctionDeclaration 1523945 1524386 + Identifier 1523961 1523986 + Parameter 1523987 1523997 + Identifier 1523987 1523991 + TypeReference 1523992 1523997 + Identifier 1523992 1523997 + Block 1523998 1524386 + IfStatement 1524000 1524356 + BinaryExpression 1524014 1524058 + PropertyAccessExpression 1524014 1524030 + Identifier 1524014 1524018 + Identifier 1524019 1524030 + AmpersandAmpersandToken 1524030 1524033 + PrefixUnaryExpression 1524033 1524058 + PropertyAccessExpression 1524035 1524058 + Identifier 1524035 1524039 + Identifier 1524040 1524058 + Block 1524059 1524356 + VariableStatement 1524061 1524167 + VariableDeclarationList 1524061 1524166 + VariableDeclaration 1524080 1524166 + Identifier 1524080 1524092 + CallExpression 1524094 1524166 + Identifier 1524094 1524115 + PropertyAccessExpression 1524116 1524132 + Identifier 1524116 1524120 + Identifier 1524121 1524132 + PropertyAccessExpression 1524133 1524165 + Identifier 1524133 1524144 + Identifier 1524145 1524165 + ReturnStatement 1524167 1524345 + PrefixUnaryExpression 1524187 1524344 + PrefixUnaryExpression 1524189 1524344 + ParenthesizedExpression 1524190 1524344 + BinaryExpression 1524191 1524343 + Identifier 1524191 1524202 + AmpersandAmpersandToken 1524202 1524205 + CallExpression 1524205 1524343 + Identifier 1524205 1524218 + PropertyAccessExpression 1524219 1524237 + Identifier 1524219 1524230 + Identifier 1524231 1524237 + ArrowFunction 1524238 1524342 + Parameter 1524238 1524240 + Identifier 1524238 1524240 + EqualsGreaterThanToken 1524240 1524243 + ConditionalExpression 1524243 1524342 + BinaryExpression 1524243 1524276 + PropertyAccessExpression 1524243 1524250 + Identifier 1524243 1524245 + Identifier 1524246 1524250 + EqualsEqualsEqualsToken 1524250 1524254 + PropertyAccessExpression 1524254 1524276 + Identifier 1524254 1524265 + Identifier 1524266 1524276 + QuestionToken 1524276 1524278 + TrueKeyword 1524278 1524283 + ColonToken 1524283 1524285 + ConditionalExpression 1524285 1524342 + BinaryExpression 1524285 1524325 + PropertyAccessExpression 1524285 1524292 + Identifier 1524285 1524287 + Identifier 1524288 1524292 + EqualsEqualsEqualsToken 1524292 1524296 + PropertyAccessExpression 1524296 1524325 + Identifier 1524296 1524307 + Identifier 1524308 1524325 + QuestionToken 1524325 1524327 + FalseKeyword 1524327 1524333 + ColonToken 1524333 1524335 + StringLiteral 1524335 1524342 + ReturnStatement 1524356 1524379 + FalseKeyword 1524372 1524378 + FunctionDeclaration 1524386 1525005 + Identifier 1524402 1524428 + Parameter 1524429 1524439 + Identifier 1524429 1524433 + TypeReference 1524434 1524439 + Identifier 1524434 1524439 + Parameter 1524440 1524458 + Identifier 1524440 1524443 + TypeReference 1524444 1524458 + Identifier 1524444 1524458 + Parameter 1524459 1524469 + Identifier 1524459 1524465 + NumericLiteral 1524467 1524469 + BooleanKeyword 1524471 1524479 + Block 1524479 1525005 + ReturnStatement 1524481 1524998 + PrefixUnaryExpression 1524497 1524997 + PrefixUnaryExpression 1524499 1524997 + ParenthesizedExpression 1524500 1524997 + BinaryExpression 1524501 1524996 + BinaryExpression 1524501 1524666 + BinaryExpression 1524501 1524512 + Identifier 1524501 1524505 + EqualsEqualsEqualsToken 1524505 1524509 + Identifier 1524509 1524512 + BarBarToken 1524512 1524515 + BinaryExpression 1524515 1524666 + BinaryExpression 1524515 1524571 + PropertyAccessExpression 1524515 1524539 + Identifier 1524515 1524533 + Identifier 1524534 1524539 + AmpersandToken 1524539 1524541 + PropertyAccessExpression 1524541 1524571 + Identifier 1524541 1524551 + Identifier 1524552 1524571 + AmpersandAmpersandToken 1524571 1524574 + CallExpression 1524574 1524666 + Identifier 1524574 1524579 + PropertyAccessExpression 1524580 1524619 + ParenthesizedExpression 1524580 1524613 + AsExpression 1524581 1524612 + Identifier 1524581 1524585 + TypeReference 1524588 1524612 + Identifier 1524588 1524612 + Identifier 1524614 1524619 + ArrowFunction 1524620 1524665 + Parameter 1524620 1524622 + Identifier 1524620 1524622 + EqualsGreaterThanToken 1524622 1524625 + CallExpression 1524625 1524665 + Identifier 1524625 1524651 + Identifier 1524652 1524653 + Identifier 1524654 1524657 + Identifier 1524658 1524664 + BarBarToken 1524666 1524669 + BinaryExpression 1524669 1524996 + BinaryExpression 1524669 1524730 + BinaryExpression 1524669 1524692 + Identifier 1524669 1524688 + LessThanToken 1524688 1524690 + NumericLiteral 1524690 1524692 + AmpersandAmpersandToken 1524692 1524695 + BinaryExpression 1524695 1524730 + PropertyAccessExpression 1524695 1524706 + Identifier 1524695 1524700 + Identifier 1524701 1524706 + AmpersandToken 1524706 1524708 + PropertyAccessExpression 1524708 1524730 + Identifier 1524708 1524718 + Identifier 1524719 1524730 + AmpersandAmpersandToken 1524730 1524733 + ParenthesizedExpression 1524733 1524996 + BinaryExpression 1524735 1524977 + CallExpression 1524735 1524854 + Identifier 1524735 1524782 + CallExpression 1524783 1524838 + Identifier 1524783 1524813 + AsExpression 1524814 1524837 + Identifier 1524814 1524818 + TypeReference 1524821 1524837 + Identifier 1524821 1524837 + Identifier 1524839 1524842 + BinaryExpression 1524843 1524853 + Identifier 1524843 1524849 + PlusToken 1524849 1524851 + NumericLiteral 1524851 1524853 + BarBarToken 1524854 1524857 + CallExpression 1524857 1524977 + Identifier 1524857 1524904 + CallExpression 1524905 1524961 + Identifier 1524905 1524936 + AsExpression 1524937 1524960 + Identifier 1524937 1524941 + TypeReference 1524944 1524960 + Identifier 1524944 1524960 + Identifier 1524962 1524965 + BinaryExpression 1524966 1524976 + Identifier 1524966 1524972 + PlusToken 1524972 1524974 + NumericLiteral 1524974 1524976 + FunctionDeclaration 1525005 1525402 + Identifier 1525021 1525059 + Parameter 1525060 1525080 + Identifier 1525060 1525069 + TypeReference 1525070 1525080 + Identifier 1525070 1525080 + Parameter 1525081 1525110 + Identifier 1525081 1525095 + TypeReference 1525096 1525110 + Identifier 1525096 1525110 + Block 1525111 1525402 + VariableStatement 1525113 1525184 + VariableDeclarationList 1525113 1525183 + VariableDeclaration 1525128 1525183 + Identifier 1525128 1525142 + CallExpression 1525144 1525183 + Identifier 1525144 1525172 + Identifier 1525173 1525182 + ReturnStatement 1525184 1525395 + ConditionalExpression 1525200 1525394 + Identifier 1525200 1525214 + QuestionToken 1525214 1525216 + BinaryExpression 1525216 1525301 + PrefixUnaryExpression 1525216 1525237 + PrefixUnaryExpression 1525218 1525237 + PropertyAccessExpression 1525219 1525237 + Identifier 1525219 1525232 + Identifier 1525233 1525237 + AmpersandAmpersandToken 1525237 1525240 + CallExpression 1525240 1525301 + Identifier 1525240 1525266 + PropertyAccessExpression 1525267 1525285 + Identifier 1525267 1525280 + Identifier 1525281 1525285 + Identifier 1525286 1525300 + ColonToken 1525301 1525303 + CallExpression 1525303 1525394 + Identifier 1525303 1525342 + CallExpression 1525343 1525378 + Identifier 1525343 1525367 + Identifier 1525368 1525377 + Identifier 1525379 1525393 + FunctionDeclaration 1525402 1526461 + Identifier 1525527 1525566 + Parameter 1525567 1525577 + Identifier 1525567 1525571 + TypeReference 1525572 1525577 + Identifier 1525572 1525577 + Block 1525578 1526461 + VariableStatement 1525580 1525626 + VariableDeclarationList 1525580 1525625 + VariableDeclaration 1525595 1525625 + Identifier 1525595 1525603 + CallExpression 1525605 1525625 + Identifier 1525605 1525623 + ExpressionStatement 1525626 1526207 + CallExpression 1525626 1526206 + Identifier 1525626 1525647 + Identifier 1525648 1525652 + ArrowFunction 1525653 1526205 + Parameter 1525653 1525655 + Identifier 1525653 1525655 + EqualsGreaterThanToken 1525655 1525658 + Block 1525658 1526205 + IfStatement 1525660 1525757 + PrefixUnaryExpression 1525678 1525714 + ParenthesizedExpression 1525679 1525714 + BinaryExpression 1525680 1525713 + PropertyAccessExpression 1525680 1525687 + Identifier 1525680 1525681 + Identifier 1525682 1525687 + AmpersandToken 1525687 1525689 + PropertyAccessExpression 1525689 1525713 + Identifier 1525689 1525699 + Identifier 1525700 1525713 + Block 1525715 1525757 + ReturnStatement 1525717 1525742 + VariableStatement 1525757 1525841 + VariableDeclarationList 1525757 1525840 + VariableDeclaration 1525776 1525840 + Identifier 1525776 1525781 + CallExpression 1525783 1525840 + Identifier 1525783 1525808 + PropertyAccessExpression 1525809 1525839 + ParenthesizedExpression 1525809 1525833 + AsExpression 1525810 1525832 + Identifier 1525810 1525811 + TypeReference 1525814 1525832 + Identifier 1525814 1525832 + Identifier 1525834 1525839 + VariableStatement 1525841 1525916 + VariableDeclarationList 1525841 1525915 + VariableDeclaration 1525860 1525915 + Identifier 1525860 1525872 + CallExpression 1525874 1525915 + Identifier 1525874 1525887 + PropertyAccessExpression 1525888 1525908 + Identifier 1525888 1525899 + Identifier 1525900 1525908 + Identifier 1525909 1525914 + ExpressionStatement 1525916 1525963 + BinaryExpression 1525916 1525962 + PropertyAccessExpression 1525916 1525952 + PropertyAccessExpression 1525916 1525947 + Identifier 1525916 1525941 + Identifier 1525942 1525947 + Identifier 1525948 1525952 + EqualsToken 1525952 1525954 + Identifier 1525954 1525962 + IfStatement 1525963 1526149 + PropertyAccessExpression 1525981 1525989 + Identifier 1525981 1525982 + Identifier 1525983 1525989 + Block 1525990 1526149 + ExpressionStatement 1525992 1526059 + BinaryExpression 1525992 1526058 + PropertyAccessExpression 1525992 1526034 + Identifier 1525992 1526021 + Identifier 1526022 1526034 + EqualsToken 1526034 1526036 + PropertyAccessExpression 1526036 1526058 + PropertyAccessExpression 1526036 1526045 + Identifier 1526036 1526038 + Identifier 1526039 1526045 + Identifier 1526046 1526058 + ExpressionStatement 1526059 1526134 + BinaryExpression 1526059 1526133 + PropertyAccessExpression 1526059 1526105 + Identifier 1526059 1526088 + Identifier 1526089 1526105 + EqualsToken 1526105 1526107 + PropertyAccessExpression 1526107 1526133 + PropertyAccessExpression 1526107 1526116 + Identifier 1526107 1526109 + Identifier 1526110 1526116 + Identifier 1526117 1526133 + ExpressionStatement 1526149 1526194 + CallExpression 1526149 1526193 + PropertyAccessExpression 1526149 1526174 + Identifier 1526149 1526170 + Identifier 1526171 1526174 + Identifier 1526175 1526179 + Identifier 1526180 1526192 + VariableStatement 1526207 1526350 + VariableDeclarationList 1526207 1526349 + VariableDeclaration 1526222 1526349 + Identifier 1526222 1526233 + ConditionalExpression 1526235 1526349 + BinaryExpression 1526235 1526265 + PropertyAccessExpression 1526235 1526246 + Identifier 1526235 1526240 + Identifier 1526241 1526246 + AmpersandToken 1526246 1526248 + PropertyAccessExpression 1526248 1526265 + Identifier 1526248 1526258 + Identifier 1526259 1526265 + QuestionToken 1526265 1526267 + ArrayLiteralExpression 1526267 1526336 + CallExpression 1526269 1526335 + Identifier 1526269 1526284 + Identifier 1526285 1526295 + Identifier 1526296 1526312 + FalseKeyword 1526313 1526334 + ColonToken 1526336 1526338 + Identifier 1526338 1526349 + ReturnStatement 1526350 1526454 + CallExpression 1526366 1526453 + Identifier 1526366 1526386 + Identifier 1526387 1526407 + Identifier 1526408 1526416 + Identifier 1526417 1526428 + Identifier 1526429 1526440 + Identifier 1526441 1526452 + FunctionDeclaration 1526461 1527367 + Identifier 1526879 1526913 + Parameter 1526914 1526926 + Identifier 1526914 1526920 + TypeReference 1526921 1526926 + Identifier 1526921 1526926 + Parameter 1526927 1526946 + Identifier 1526927 1526934 + TypeReference 1526935 1526946 + Identifier 1526935 1526946 + Parameter 1526947 1526969 + Identifier 1526947 1526958 + TypeReference 1526959 1526969 + Identifier 1526959 1526969 + UnionType 1526971 1526988 + TypeReference 1526971 1526976 + Identifier 1526971 1526976 + UndefinedKeyword 1526978 1526988 + Block 1526988 1527367 + VariableStatement 1526990 1527067 + VariableDeclarationList 1526990 1527066 + VariableDeclaration 1527005 1527066 + Identifier 1527005 1527014 + BinaryExpression 1527016 1527066 + BinaryExpression 1527016 1527050 + BinaryExpression 1527016 1527044 + BinaryExpression 1527016 1527032 + PropertyAccessExpression 1527016 1527026 + Identifier 1527016 1527023 + Identifier 1527024 1527026 + PlusToken 1527026 1527028 + StringLiteral 1527028 1527032 + PlusToken 1527032 1527034 + PropertyAccessExpression 1527034 1527044 + Identifier 1527034 1527041 + Identifier 1527042 1527044 + PlusToken 1527044 1527046 + StringLiteral 1527046 1527050 + PlusToken 1527050 1527052 + PropertyAccessExpression 1527052 1527066 + Identifier 1527052 1527063 + Identifier 1527064 1527066 + IfStatement 1527067 1527203 + CallExpression 1527081 1527124 + PropertyAccessExpression 1527081 1527114 + Identifier 1527081 1527110 + Identifier 1527111 1527114 + Identifier 1527115 1527123 + Block 1527125 1527203 + ReturnStatement 1527127 1527192 + CallExpression 1527147 1527191 + PropertyAccessExpression 1527147 1527181 + Identifier 1527147 1527177 + Identifier 1527178 1527181 + Identifier 1527182 1527190 + VariableStatement 1527203 1527278 + VariableDeclarationList 1527203 1527277 + VariableDeclaration 1527218 1527277 + Identifier 1527218 1527223 + CallExpression 1527225 1527277 + Identifier 1527225 1527249 + Identifier 1527250 1527256 + Identifier 1527257 1527264 + Identifier 1527265 1527276 + ExpressionStatement 1527278 1527338 + CallExpression 1527278 1527337 + PropertyAccessExpression 1527278 1527321 + Identifier 1527278 1527317 + Identifier 1527318 1527321 + Identifier 1527322 1527330 + Identifier 1527331 1527336 + ReturnStatement 1527338 1527360 + Identifier 1527354 1527359 + FunctionDeclaration 1527367 1528148 + Identifier 1527795 1527820 + Parameter 1527821 1527831 + Identifier 1527821 1527825 + TypeReference 1527826 1527831 + Identifier 1527826 1527831 + BooleanKeyword 1527833 1527841 + Block 1527841 1528148 + ReturnStatement 1527843 1528141 + BinaryExpression 1527859 1528140 + BinaryExpression 1527859 1528049 + PrefixUnaryExpression 1527859 1527915 + ParenthesizedExpression 1527861 1527915 + BinaryExpression 1527862 1527914 + CallExpression 1527862 1527882 + Identifier 1527862 1527876 + Identifier 1527877 1527881 + AmpersandToken 1527882 1527884 + PropertyAccessExpression 1527884 1527914 + Identifier 1527884 1527896 + Identifier 1527897 1527914 + BarBarToken 1527915 1527918 + BinaryExpression 1527918 1528049 + CallExpression 1527918 1527957 + Identifier 1527918 1527951 + Identifier 1527952 1527956 + AmpersandAmpersandToken 1527957 1527960 + CallExpression 1527960 1528049 + Identifier 1527960 1527965 + CallExpression 1527966 1527991 + Identifier 1527966 1527985 + Identifier 1527986 1527990 + ArrowFunction 1527992 1528048 + Parameter 1527992 1527997 + Identifier 1527992 1527997 + EqualsGreaterThanToken 1527997 1528000 + CallExpression 1528000 1528048 + Identifier 1528000 1528025 + CallExpression 1528026 1528047 + Identifier 1528026 1528041 + Identifier 1528042 1528046 + BarBarToken 1528049 1528052 + BinaryExpression 1528052 1528140 + CallExpression 1528052 1528083 + Identifier 1528052 1528077 + Identifier 1528078 1528082 + AmpersandAmpersandToken 1528083 1528086 + CallExpression 1528086 1528140 + Identifier 1528086 1528091 + CallExpression 1528092 1528113 + Identifier 1528092 1528107 + Identifier 1528108 1528112 + Identifier 1528114 1528139 + FunctionDeclaration 1528148 1530178 + Identifier 1528164 1528188 + Parameter 1528189 1528201 + Identifier 1528189 1528195 + TypeReference 1528196 1528201 + Identifier 1528196 1528201 + Parameter 1528202 1528221 + Identifier 1528202 1528209 + TypeReference 1528210 1528221 + Identifier 1528210 1528221 + Parameter 1528222 1528244 + Identifier 1528222 1528233 + TypeReference 1528234 1528244 + Identifier 1528234 1528244 + Block 1528245 1530178 + IfStatement 1528247 1528603 + PrefixUnaryExpression 1528437 1528558 + ParenthesizedExpression 1528438 1528558 + BinaryExpression 1528439 1528557 + CallExpression 1528439 1528477 + Identifier 1528439 1528457 + Identifier 1528458 1528464 + Identifier 1528465 1528476 + BarBarToken 1528477 1528480 + BinaryExpression 1528480 1528557 + BinaryExpression 1528480 1528521 + PropertyAccessExpression 1528480 1528515 + CallExpression 1528480 1528508 + Identifier 1528480 1528500 + Identifier 1528501 1528507 + Identifier 1528509 1528515 + ExclamationEqualsEqualsToken 1528515 1528519 + NumericLiteral 1528519 1528521 + AmpersandAmpersandToken 1528521 1528524 + CallExpression 1528524 1528557 + Identifier 1528524 1528549 + Identifier 1528550 1528556 + Block 1528559 1528603 + ReturnStatement 1528561 1528592 + Identifier 1528581 1528591 + IfStatement 1528603 1529062 + CallExpression 1528761 1528780 + Identifier 1528761 1528772 + Identifier 1528773 1528779 + Block 1528781 1529062 + VariableStatement 1528783 1528889 + VariableDeclarationList 1528783 1528888 + VariableDeclaration 1528802 1528888 + Identifier 1528802 1528814 + CallExpression 1528816 1528888 + Identifier 1528816 1528839 + ElementAccessExpression 1528840 1528867 + CallExpression 1528840 1528864 + Identifier 1528840 1528856 + Identifier 1528857 1528863 + NumericLiteral 1528865 1528866 + Identifier 1528868 1528875 + Identifier 1528876 1528887 + IfStatement 1528889 1528972 + PrefixUnaryExpression 1528907 1528919 + Identifier 1528908 1528919 + Block 1528920 1528972 + ReturnStatement 1528922 1528957 + Identifier 1528946 1528956 + ReturnStatement 1528972 1529051 + CallExpression 1528992 1529050 + Identifier 1528992 1529008 + Identifier 1529009 1529020 + CallExpression 1529021 1529049 + Identifier 1529021 1529041 + Identifier 1529042 1529048 + IfStatement 1529062 1529735 + CallExpression 1529076 1529095 + Identifier 1529076 1529087 + Identifier 1529088 1529094 + Block 1529096 1529735 + VariableStatement 1529098 1529214 + VariableDeclarationList 1529098 1529213 + VariableDeclaration 1529117 1529213 + Identifier 1529117 1529130 + CallExpression 1529132 1529213 + Identifier 1529132 1529136 + CallExpression 1529137 1529160 + Identifier 1529137 1529152 + Identifier 1529153 1529159 + ArrowFunction 1529161 1529212 + Parameter 1529161 1529163 + Identifier 1529161 1529163 + EqualsGreaterThanToken 1529163 1529166 + CallExpression 1529166 1529212 + Identifier 1529166 1529189 + Identifier 1529190 1529191 + Identifier 1529192 1529199 + Identifier 1529200 1529211 + IfStatement 1529214 1529328 + PrefixUnaryExpression 1529232 1529275 + CallExpression 1529233 1529275 + Identifier 1529233 1529238 + Identifier 1529239 1529251 + ArrowFunction 1529252 1529274 + Parameter 1529254 1529255 + Identifier 1529254 1529255 + TypePredicate 1529257 1529267 + Identifier 1529257 1529259 + TypeReference 1529262 1529267 + Identifier 1529262 1529267 + EqualsGreaterThanToken 1529267 1529270 + PrefixUnaryExpression 1529270 1529274 + PrefixUnaryExpression 1529272 1529274 + Identifier 1529273 1529274 + Block 1529276 1529328 + ReturnStatement 1529278 1529313 + Identifier 1529302 1529312 + VariableStatement 1529328 1529593 + VariableDeclarationList 1529328 1529592 + VariableDeclaration 1529347 1529592 + Identifier 1529347 1529360 + ConditionalExpression 1529362 1529592 + BinaryExpression 1529362 1529431 + CallExpression 1529362 1529393 + Identifier 1529362 1529385 + Identifier 1529386 1529392 + AmpersandToken 1529393 1529395 + PropertyAccessExpression 1529395 1529431 + Identifier 1529395 1529415 + Identifier 1529416 1529431 + QuestionToken 1529431 1529433 + CallExpression 1529433 1529546 + Identifier 1529433 1529458 + PropertyAccessExpression 1529459 1529485 + PropertyAccessExpression 1529459 1529472 + Identifier 1529459 1529465 + Identifier 1529466 1529472 + Identifier 1529473 1529485 + ArrowFunction 1529486 1529545 + Parameter 1529486 1529488 + Identifier 1529486 1529488 + EqualsGreaterThanToken 1529488 1529491 + ConditionalExpression 1529491 1529545 + BinaryExpression 1529491 1529517 + Identifier 1529491 1529493 + AmpersandToken 1529493 1529495 + PropertyAccessExpression 1529495 1529517 + Identifier 1529495 1529508 + Identifier 1529509 1529517 + QuestionToken 1529517 1529519 + PropertyAccessExpression 1529519 1529541 + Identifier 1529519 1529532 + Identifier 1529533 1529541 + ColonToken 1529541 1529543 + Identifier 1529543 1529545 + ColonToken 1529546 1529548 + PropertyAccessExpression 1529548 1529592 + PropertyAccessExpression 1529548 1529579 + Identifier 1529548 1529572 + Identifier 1529573 1529579 + Identifier 1529580 1529592 + ReturnStatement 1529593 1529724 + CallExpression 1529613 1529723 + Identifier 1529613 1529629 + Identifier 1529630 1529642 + Identifier 1529643 1529656 + PropertyAccessExpression 1529657 1529680 + PropertyAccessExpression 1529657 1529671 + Identifier 1529657 1529664 + Identifier 1529665 1529671 + Identifier 1529672 1529680 + PropertyAccessExpression 1529681 1529722 + PropertyAccessExpression 1529681 1529695 + Identifier 1529681 1529688 + Identifier 1529689 1529695 + Identifier 1529696 1529722 + VariableStatement 1529735 1530024 + VariableDeclarationList 1529735 1530023 + VariableDeclaration 1529901 1530023 + Identifier 1529901 1529910 + AsExpression 1529912 1530023 + CallExpression 1529912 1530002 + Identifier 1529912 1529929 + BinaryExpression 1529930 1529979 + PropertyAccessExpression 1529930 1529955 + Identifier 1529930 1529941 + Identifier 1529942 1529955 + BarToken 1529955 1529957 + PropertyAccessExpression 1529957 1529979 + Identifier 1529957 1529969 + Identifier 1529970 1529979 + Identifier 1529980 1530001 + TypeReference 1530005 1530023 + Identifier 1530005 1530023 + ExpressionStatement 1530024 1530059 + BinaryExpression 1530024 1530058 + PropertyAccessExpression 1530024 1530049 + Identifier 1530024 1530042 + Identifier 1530043 1530049 + EqualsToken 1530049 1530051 + Identifier 1530051 1530058 + ExpressionStatement 1530059 1530098 + BinaryExpression 1530059 1530097 + PropertyAccessExpression 1530059 1530088 + Identifier 1530059 1530077 + Identifier 1530078 1530088 + EqualsToken 1530088 1530090 + Identifier 1530090 1530097 + ExpressionStatement 1530098 1530145 + BinaryExpression 1530098 1530144 + PropertyAccessExpression 1530098 1530131 + Identifier 1530098 1530116 + Identifier 1530117 1530131 + EqualsToken 1530131 1530133 + Identifier 1530133 1530144 + ReturnStatement 1530145 1530171 + Identifier 1530161 1530170 + FunctionDeclaration 1530178 1530527 + Identifier 1530194 1530223 + Parameter 1530224 1530251 + Identifier 1530224 1530230 + TypeReference 1530231 1530251 + Identifier 1530231 1530251 + TypeReference 1530253 1530258 + Identifier 1530253 1530258 + Block 1530258 1530527 + VariableStatement 1530260 1530307 + VariableDeclarationList 1530260 1530306 + VariableDeclaration 1530275 1530306 + Identifier 1530275 1530281 + CallExpression 1530283 1530306 + Identifier 1530283 1530298 + Identifier 1530299 1530305 + IfStatement 1530307 1530492 + PrefixUnaryExpression 1530321 1530332 + PropertyAccessExpression 1530322 1530332 + Identifier 1530322 1530327 + Identifier 1530328 1530332 + Block 1530333 1530492 + ExpressionStatement 1530335 1530481 + BinaryExpression 1530335 1530480 + PropertyAccessExpression 1530335 1530359 + Identifier 1530335 1530354 + Identifier 1530355 1530359 + EqualsToken 1530359 1530361 + BinaryExpression 1530361 1530480 + CallExpression 1530361 1530465 + Identifier 1530361 1530384 + PropertyAccessExpression 1530385 1530410 + PropertyAccessExpression 1530385 1530397 + Identifier 1530385 1530391 + Identifier 1530392 1530397 + Identifier 1530398 1530410 + PropertyAccessExpression 1530411 1530435 + PropertyAccessExpression 1530411 1530424 + Identifier 1530411 1530418 + Identifier 1530419 1530424 + Identifier 1530425 1530435 + PropertyAccessExpression 1530436 1530464 + PropertyAccessExpression 1530436 1530449 + Identifier 1530436 1530443 + Identifier 1530444 1530449 + Identifier 1530450 1530464 + BarBarToken 1530465 1530468 + Identifier 1530468 1530480 + ReturnStatement 1530492 1530520 + PropertyAccessExpression 1530508 1530519 + Identifier 1530508 1530514 + Identifier 1530515 1530519 + FunctionDeclaration 1530527 1531031 + Identifier 1530543 1530572 + Parameter 1530573 1530589 + Identifier 1530573 1530583 + TypeReference 1530584 1530589 + Identifier 1530584 1530589 + Parameter 1530590 1530609 + Identifier 1530590 1530597 + TypeReference 1530598 1530609 + Identifier 1530598 1530609 + Parameter 1530610 1530632 + Identifier 1530610 1530621 + TypeReference 1530622 1530632 + Identifier 1530622 1530632 + TypeReference 1530634 1530639 + Identifier 1530634 1530639 + Block 1530639 1531031 + VariableStatement 1530641 1530768 + VariableDeclarationList 1530641 1530767 + VariableDeclaration 1530656 1530767 + Identifier 1530656 1530670 + AsExpression 1530672 1530767 + CallExpression 1530672 1530750 + Identifier 1530672 1530693 + PropertyAccessExpression 1530694 1530709 + Identifier 1530694 1530704 + Identifier 1530705 1530709 + CallExpression 1530710 1530749 + Identifier 1530710 1530741 + Identifier 1530742 1530748 + TypeReference 1530753 1530767 + Identifier 1530753 1530767 + VariableStatement 1530768 1530837 + VariableDeclarationList 1530768 1530836 + VariableDeclaration 1530783 1530836 + Identifier 1530783 1530796 + CallExpression 1530798 1530836 + Identifier 1530798 1530828 + Identifier 1530829 1530835 + VariableStatement 1530837 1530900 + VariableDeclarationList 1530837 1530899 + VariableDeclaration 1530852 1530899 + Identifier 1530852 1530862 + CallExpression 1530864 1530899 + Identifier 1530864 1530884 + Identifier 1530885 1530898 + ExpressionStatement 1530900 1530960 + CallExpression 1530900 1530959 + Identifier 1530900 1530920 + ArrayLiteralExpression 1530921 1530932 + Identifier 1530922 1530931 + Identifier 1530933 1530944 + Identifier 1530945 1530958 + ReturnStatement 1530960 1531024 + BinaryExpression 1530976 1531023 + CallExpression 1530976 1531008 + Identifier 1530976 1530997 + Identifier 1530998 1531007 + BarBarToken 1531008 1531011 + Identifier 1531011 1531023 + FunctionDeclaration 1531031 1532193 + Identifier 1531047 1531070 + Parameter 1531071 1531083 + Identifier 1531071 1531077 + TypeReference 1531078 1531083 + Identifier 1531078 1531083 + Parameter 1531084 1531103 + Identifier 1531084 1531091 + TypeReference 1531092 1531103 + Identifier 1531092 1531103 + Parameter 1531104 1531126 + Identifier 1531104 1531115 + TypeReference 1531116 1531126 + Identifier 1531116 1531126 + UnionType 1531128 1531145 + TypeReference 1531128 1531133 + Identifier 1531128 1531133 + UndefinedKeyword 1531135 1531145 + Block 1531145 1532193 + VariableStatement 1531147 1531224 + VariableDeclarationList 1531147 1531223 + VariableDeclaration 1531162 1531223 + Identifier 1531162 1531171 + BinaryExpression 1531173 1531223 + BinaryExpression 1531173 1531207 + BinaryExpression 1531173 1531201 + BinaryExpression 1531173 1531189 + PropertyAccessExpression 1531173 1531183 + Identifier 1531173 1531180 + Identifier 1531181 1531183 + PlusToken 1531183 1531185 + StringLiteral 1531185 1531189 + PlusToken 1531189 1531191 + PropertyAccessExpression 1531191 1531201 + Identifier 1531191 1531198 + Identifier 1531199 1531201 + PlusToken 1531201 1531203 + StringLiteral 1531203 1531207 + PlusToken 1531207 1531209 + PropertyAccessExpression 1531209 1531223 + Identifier 1531209 1531220 + Identifier 1531221 1531223 + IfStatement 1531224 1531353 + CallExpression 1531238 1531270 + PropertyAccessExpression 1531238 1531260 + Identifier 1531238 1531256 + Identifier 1531257 1531260 + Identifier 1531261 1531269 + Block 1531271 1531353 + ReturnStatement 1531273 1531342 + BinaryExpression 1531293 1531341 + CallExpression 1531293 1531326 + PropertyAccessExpression 1531293 1531316 + Identifier 1531293 1531312 + Identifier 1531313 1531316 + Identifier 1531317 1531325 + BarBarToken 1531326 1531329 + Identifier 1531329 1531341 + ExpressionStatement 1531353 1531401 + CallExpression 1531353 1531400 + PropertyAccessExpression 1531353 1531392 + Identifier 1531353 1531387 + Identifier 1531388 1531392 + Identifier 1531393 1531399 + ExpressionStatement 1531401 1531449 + CallExpression 1531401 1531448 + PropertyAccessExpression 1531401 1531440 + Identifier 1531401 1531435 + Identifier 1531436 1531440 + Identifier 1531441 1531447 + VariableStatement 1531449 1531508 + VariableDeclarationList 1531449 1531507 + VariableDeclaration 1531464 1531507 + Identifier 1531464 1531483 + Identifier 1531485 1531507 + IfStatement 1531508 1531659 + CallExpression 1531522 1531610 + Identifier 1531522 1531540 + Identifier 1531541 1531547 + Identifier 1531548 1531573 + PropertyAccessExpression 1531574 1531606 + Identifier 1531574 1531599 + Identifier 1531600 1531606 + NumericLiteral 1531607 1531609 + ExpressionStatement 1531611 1531659 + BinaryExpression 1531611 1531658 + Identifier 1531611 1531633 + BarEqualsToken 1531633 1531636 + PropertyAccessExpression 1531636 1531658 + Identifier 1531636 1531651 + Identifier 1531652 1531658 + IfStatement 1531659 1531810 + CallExpression 1531673 1531761 + Identifier 1531673 1531691 + Identifier 1531692 1531698 + Identifier 1531699 1531724 + PropertyAccessExpression 1531725 1531757 + Identifier 1531725 1531750 + Identifier 1531751 1531757 + NumericLiteral 1531758 1531760 + ExpressionStatement 1531762 1531810 + BinaryExpression 1531762 1531809 + Identifier 1531762 1531784 + BarEqualsToken 1531784 1531787 + PropertyAccessExpression 1531787 1531809 + Identifier 1531787 1531802 + Identifier 1531803 1531809 + VariableStatement 1531810 1531829 + VariableDeclarationList 1531810 1531828 + VariableDeclaration 1531823 1531828 + Identifier 1531823 1531828 + IfStatement 1531829 1531980 + BinaryExpression 1531843 1531888 + Identifier 1531843 1531864 + ExclamationEqualsEqualsToken 1531864 1531868 + PropertyAccessExpression 1531868 1531888 + Identifier 1531868 1531883 + Identifier 1531884 1531888 + Block 1531889 1531980 + ExpressionStatement 1531891 1531969 + BinaryExpression 1531891 1531968 + Identifier 1531891 1531909 + EqualsToken 1531909 1531911 + CallExpression 1531911 1531968 + Identifier 1531911 1531940 + Identifier 1531941 1531947 + Identifier 1531948 1531955 + Identifier 1531956 1531967 + ExpressionStatement 1531980 1532021 + CallExpression 1531980 1532020 + PropertyAccessExpression 1531980 1532018 + Identifier 1531980 1532014 + Identifier 1532015 1532018 + ExpressionStatement 1532021 1532062 + CallExpression 1532021 1532061 + PropertyAccessExpression 1532021 1532059 + Identifier 1532021 1532055 + Identifier 1532056 1532059 + ExpressionStatement 1532062 1532115 + BinaryExpression 1532062 1532114 + Identifier 1532062 1532093 + EqualsToken 1532093 1532095 + Identifier 1532095 1532114 + ExpressionStatement 1532115 1532164 + CallExpression 1532115 1532163 + PropertyAccessExpression 1532115 1532147 + Identifier 1532115 1532143 + Identifier 1532144 1532147 + Identifier 1532148 1532156 + Identifier 1532157 1532162 + ReturnStatement 1532164 1532186 + Identifier 1532180 1532185 + FunctionDeclaration 1532193 1533620 + AsteriskToken 1532209 1532210 + Identifier 1532210 1532233 + Parameter 1532234 1532246 + Identifier 1532234 1532240 + TypeReference 1532241 1532246 + Identifier 1532241 1532246 + Parameter 1532247 1532260 + Identifier 1532247 1532254 + TypeReference 1532255 1532260 + Identifier 1532255 1532260 + Parameter 1532261 1532296 + Identifier 1532261 1532287 + BooleanKeyword 1532288 1532296 + Parameter 1532297 1532334 + Identifier 1532297 1532325 + BooleanKeyword 1532326 1532334 + TypeReference 1532336 1532361 + Identifier 1532336 1532353 + TypeReference 1532354 1532360 + Identifier 1532354 1532360 + Block 1532361 1533620 + VariableStatement 1532363 1532420 + VariableDeclarationList 1532363 1532419 + VariableDeclaration 1532378 1532419 + Identifier 1532378 1532389 + CallExpression 1532391 1532419 + Identifier 1532391 1532411 + Identifier 1532412 1532418 + ForOfStatement 1532420 1533613 + VariableDeclarationList 1532435 1532451 + VariableDeclaration 1532440 1532451 + Identifier 1532440 1532451 + Identifier 1532454 1532465 + Block 1532466 1533613 + IfStatement 1532468 1532732 + CallExpression 1532642 1532687 + Identifier 1532642 1532675 + Identifier 1532676 1532686 + Block 1532688 1532732 + ContinueStatement 1532690 1532717 + IfStatement 1532732 1533602 + BinaryExpression 1532750 1532871 + Identifier 1532750 1532775 + BarBarToken 1532775 1532778 + PrefixUnaryExpression 1532778 1532871 + ParenthesizedExpression 1532780 1532871 + BinaryExpression 1532781 1532870 + BinaryExpression 1532781 1532820 + PropertyAccessExpression 1532781 1532797 + Identifier 1532781 1532791 + Identifier 1532792 1532797 + AmpersandToken 1532797 1532799 + PropertyAccessExpression 1532799 1532820 + Identifier 1532799 1532811 + Identifier 1532812 1532820 + BarBarToken 1532820 1532823 + BinaryExpression 1532823 1532870 + CallExpression 1532823 1532849 + Identifier 1532823 1532837 + Identifier 1532838 1532848 + AmpersandToken 1532849 1532851 + PropertyAccessExpression 1532851 1532870 + Identifier 1532851 1532862 + Identifier 1532863 1532870 + Block 1532872 1533602 + VariableStatement 1532874 1532961 + VariableDeclarationList 1532874 1532960 + VariableDeclaration 1532897 1532960 + Identifier 1532897 1532908 + CallExpression 1532910 1532960 + Identifier 1532910 1532928 + Identifier 1532929 1532935 + PropertyAccessExpression 1532936 1532959 + Identifier 1532936 1532947 + Identifier 1532948 1532959 + IfStatement 1532961 1533587 + PrefixUnaryExpression 1532983 1532994 + Identifier 1532984 1532994 + Block 1532995 1533055 + ExpressionStatement 1532997 1533036 + YieldExpression 1532997 1533035 + Identifier 1533024 1533035 + IfStatement 1533077 1533587 + Identifier 1533082 1533109 + Block 1533110 1533587 + VariableStatement 1533112 1533181 + VariableDeclarationList 1533112 1533180 + VariableDeclaration 1533139 1533180 + Identifier 1533139 1533150 + CallExpression 1533152 1533180 + Identifier 1533152 1533168 + Identifier 1533169 1533179 + IfStatement 1533181 1533568 + BinaryExpression 1533207 1533240 + PropertyAccessExpression 1533207 1533223 + Identifier 1533207 1533217 + Identifier 1533218 1533223 + AmpersandToken 1533223 1533225 + PropertyAccessExpression 1533225 1533240 + Identifier 1533225 1533235 + Identifier 1533236 1533240 + Block 1533241 1533568 + VariableStatement 1533243 1533316 + VariableDeclarationList 1533243 1533315 + VariableDeclaration 1533274 1533315 + Identifier 1533274 1533285 + CallExpression 1533287 1533315 + Identifier 1533287 1533303 + Identifier 1533304 1533314 + IfStatement 1533316 1533545 + PrefixUnaryExpression 1533346 1533468 + ParenthesizedExpression 1533347 1533468 + BinaryExpression 1533348 1533467 + BinaryExpression 1533348 1533380 + PropertyAccessExpression 1533348 1533364 + Identifier 1533348 1533358 + Identifier 1533359 1533364 + AmpersandToken 1533364 1533366 + PropertyAccessExpression 1533366 1533380 + Identifier 1533366 1533376 + Identifier 1533377 1533380 + BarBarToken 1533380 1533383 + BinaryExpression 1533383 1533467 + CallExpression 1533383 1533423 + Identifier 1533383 1533411 + Identifier 1533412 1533422 + EqualsEqualsEqualsToken 1533423 1533427 + CallExpression 1533427 1533467 + Identifier 1533427 1533455 + Identifier 1533456 1533466 + Block 1533469 1533545 + ExpressionStatement 1533471 1533518 + YieldExpression 1533471 1533517 + Identifier 1533506 1533517 + FunctionDeclaration 1533620 1533926 + Identifier 1533636 1533657 + Parameter 1533658 1533670 + Identifier 1533658 1533664 + TypeReference 1533665 1533670 + Identifier 1533665 1533670 + Parameter 1533671 1533684 + Identifier 1533671 1533678 + TypeReference 1533679 1533684 + Identifier 1533679 1533684 + Parameter 1533685 1533720 + Identifier 1533685 1533711 + BooleanKeyword 1533712 1533720 + Parameter 1533721 1533758 + Identifier 1533721 1533749 + BooleanKeyword 1533750 1533758 + UnionType 1533760 1533779 + TypeReference 1533760 1533767 + Identifier 1533760 1533767 + UndefinedKeyword 1533769 1533779 + Block 1533779 1533926 + ReturnStatement 1533781 1533919 + CallExpression 1533797 1533918 + Identifier 1533797 1533822 + CallExpression 1533823 1533917 + Identifier 1533823 1533845 + Identifier 1533846 1533852 + Identifier 1533853 1533860 + Identifier 1533861 1533887 + Identifier 1533888 1533916 + FunctionDeclaration 1533926 1534351 + Identifier 1533942 1533972 + Parameter 1533973 1533999 + Identifier 1533973 1533979 + TypeReference 1533980 1533999 + Identifier 1533980 1533999 + Parameter 1534000 1534027 + Identifier 1534000 1534007 + TypeReference 1534008 1534027 + Identifier 1534008 1534027 + Block 1534028 1534351 + ReturnStatement 1534030 1534344 + BinaryExpression 1534046 1534343 + BinaryExpression 1534046 1534154 + PrefixUnaryExpression 1534046 1534101 + ParenthesizedExpression 1534048 1534101 + BinaryExpression 1534049 1534100 + PropertyAccessExpression 1534049 1534076 + PropertyAccessExpression 1534049 1534062 + Identifier 1534049 1534055 + Identifier 1534056 1534062 + Identifier 1534063 1534076 + AmpersandToken 1534076 1534078 + PropertyAccessExpression 1534078 1534100 + Identifier 1534078 1534091 + Identifier 1534092 1534100 + AmpersandAmpersandToken 1534101 1534104 + BinaryExpression 1534104 1534154 + PropertyAccessExpression 1534104 1534128 + PropertyAccessExpression 1534104 1534118 + Identifier 1534104 1534111 + Identifier 1534112 1534118 + Identifier 1534119 1534128 + GreaterThanToken 1534128 1534130 + PropertyAccessExpression 1534130 1534154 + PropertyAccessExpression 1534130 1534144 + Identifier 1534130 1534137 + Identifier 1534138 1534144 + Identifier 1534145 1534154 + BarBarToken 1534154 1534157 + BinaryExpression 1534157 1534343 + PrefixUnaryExpression 1534157 1534225 + ParenthesizedExpression 1534172 1534225 + BinaryExpression 1534173 1534224 + PropertyAccessExpression 1534173 1534200 + PropertyAccessExpression 1534173 1534186 + Identifier 1534173 1534179 + Identifier 1534180 1534186 + Identifier 1534187 1534200 + AmpersandToken 1534200 1534202 + PropertyAccessExpression 1534202 1534224 + Identifier 1534202 1534215 + Identifier 1534216 1534224 + AmpersandAmpersandToken 1534225 1534228 + ParenthesizedExpression 1534228 1534343 + BinaryExpression 1534230 1534342 + PrefixUnaryExpression 1534230 1534285 + PrefixUnaryExpression 1534231 1534285 + ParenthesizedExpression 1534232 1534285 + BinaryExpression 1534233 1534284 + PropertyAccessExpression 1534233 1534260 + PropertyAccessExpression 1534233 1534246 + Identifier 1534233 1534239 + Identifier 1534240 1534246 + Identifier 1534247 1534260 + AmpersandToken 1534260 1534262 + PropertyAccessExpression 1534262 1534284 + Identifier 1534262 1534275 + Identifier 1534276 1534284 + BarBarToken 1534285 1534288 + BinaryExpression 1534288 1534342 + PropertyAccessExpression 1534288 1534314 + PropertyAccessExpression 1534288 1534302 + Identifier 1534288 1534295 + Identifier 1534296 1534302 + Identifier 1534303 1534314 + LessThanToken 1534314 1534316 + PropertyAccessExpression 1534316 1534342 + PropertyAccessExpression 1534316 1534330 + Identifier 1534316 1534323 + Identifier 1534324 1534330 + Identifier 1534331 1534342 + FunctionDeclaration 1534351 1534989 + Identifier 1534367 1534392 + Parameter 1534393 1534405 + Identifier 1534393 1534399 + TypeReference 1534400 1534405 + Identifier 1534400 1534405 + Parameter 1534406 1534419 + Identifier 1534406 1534413 + TypeReference 1534414 1534419 + Identifier 1534414 1534419 + Block 1534420 1534989 + ReturnStatement 1534422 1534982 + ConditionalExpression 1534630 1534981 + BinaryExpression 1534630 1534673 + CallExpression 1534630 1534650 + Identifier 1534630 1534642 + Identifier 1534643 1534649 + AmpersandAmpersandToken 1534650 1534653 + CallExpression 1534653 1534673 + Identifier 1534653 1534665 + Identifier 1534666 1534672 + QuestionToken 1534673 1534675 + CallExpression 1534675 1534721 + Identifier 1534675 1534705 + Identifier 1534706 1534712 + Identifier 1534713 1534720 + ColonToken 1534721 1534723 + BinaryExpression 1534723 1534981 + PrefixUnaryExpression 1534723 1534850 + PrefixUnaryExpression 1534738 1534850 + CallExpression 1534739 1534850 + Identifier 1534739 1534759 + Identifier 1534760 1534766 + Identifier 1534767 1534774 + FalseKeyword 1534775 1534811 + TrueKeyword 1534812 1534849 + AmpersandAmpersandToken 1534850 1534853 + PrefixUnaryExpression 1534853 1534981 + PrefixUnaryExpression 1534868 1534981 + CallExpression 1534869 1534981 + Identifier 1534869 1534889 + Identifier 1534890 1534896 + Identifier 1534897 1534904 + FalseKeyword 1534905 1534941 + FalseKeyword 1534942 1534980 + FunctionDeclaration 1534989 1535277 + Identifier 1535005 1535026 + Parameter 1535027 1535051 + Identifier 1535027 1535036 + TypeReference 1535037 1535051 + Identifier 1535037 1535051 + Block 1535052 1535277 + ReturnStatement 1535054 1535270 + ConditionalExpression 1535070 1535269 + PropertyAccessExpression 1535070 1535091 + Identifier 1535070 1535080 + Identifier 1535081 1535091 + QuestionToken 1535091 1535093 + CallExpression 1535093 1535152 + Identifier 1535093 1535106 + PropertyAccessExpression 1535107 1535127 + Identifier 1535107 1535116 + Identifier 1535117 1535127 + PropertyAccessExpression 1535128 1535151 + Identifier 1535128 1535143 + Identifier 1535144 1535151 + ColonToken 1535152 1535154 + ConditionalExpression 1535154 1535269 + PropertyAccessExpression 1535154 1535194 + Identifier 1535154 1535177 + Identifier 1535178 1535194 + QuestionToken 1535194 1535196 + CallExpression 1535196 1535244 + Identifier 1535196 1535216 + PropertyAccessExpression 1535217 1535243 + Identifier 1535217 1535226 + Identifier 1535227 1535243 + ColonToken 1535244 1535246 + Identifier 1535246 1535269 + FunctionDeclaration 1535277 1535399 + Identifier 1535293 1535320 + Parameter 1535321 1535331 + Identifier 1535321 1535325 + TypeReference 1535326 1535331 + Identifier 1535326 1535331 + Block 1535332 1535399 + ReturnStatement 1535334 1535392 + PrefixUnaryExpression 1535350 1535391 + PrefixUnaryExpression 1535352 1535391 + PropertyAccessExpression 1535353 1535391 + CallExpression 1535353 1535371 + Identifier 1535353 1535365 + Identifier 1535366 1535370 + Identifier 1535372 1535391 + FunctionDeclaration 1535399 1535560 + Identifier 1535415 1535444 + Parameter 1535445 1535455 + Identifier 1535445 1535449 + TypeReference 1535450 1535455 + Identifier 1535450 1535455 + Block 1535456 1535560 + ReturnStatement 1535458 1535553 + PrefixUnaryExpression 1535474 1535552 + PrefixUnaryExpression 1535476 1535552 + ParenthesizedExpression 1535477 1535552 + BinaryExpression 1535478 1535551 + PropertyAccessExpression 1535478 1535489 + Identifier 1535478 1535482 + Identifier 1535483 1535489 + AmpersandAmpersandToken 1535489 1535492 + CallExpression 1535492 1535551 + Identifier 1535492 1535497 + PropertyAccessExpression 1535498 1535522 + PropertyAccessExpression 1535498 1535509 + Identifier 1535498 1535502 + Identifier 1535503 1535509 + Identifier 1535510 1535522 + Identifier 1535523 1535550 + FunctionDeclaration 1535560 1536361 + Identifier 1535576 1535616 + Parameter 1535617 1535644 + Identifier 1535617 1535623 + TypeReference 1535624 1535644 + Identifier 1535624 1535644 + Parameter 1535645 1535673 + Identifier 1535645 1535652 + TypeReference 1535653 1535673 + Identifier 1535653 1535673 + Block 1535674 1536361 + VariableStatement 1535676 1535841 + VariableDeclarationList 1535676 1535840 + VariableDeclaration 1535810 1535840 + Identifier 1535810 1535822 + ElementAccessExpression 1535824 1535840 + PropertyAccessExpression 1535824 1535837 + Identifier 1535824 1535831 + Identifier 1535832 1535837 + NumericLiteral 1535838 1535839 + VariableStatement 1535841 1535887 + VariableDeclarationList 1535841 1535886 + VariableDeclaration 1535856 1535886 + Identifier 1535856 1535868 + ElementAccessExpression 1535870 1535886 + PropertyAccessExpression 1535870 1535883 + Identifier 1535870 1535877 + Identifier 1535878 1535883 + NumericLiteral 1535884 1535885 + VariableStatement 1535887 1535953 + VariableDeclarationList 1535887 1535952 + VariableDeclaration 1535902 1535952 + Identifier 1535902 1535912 + ElementAccessExpression 1535914 1535952 + PropertyAccessExpression 1535914 1535927 + Identifier 1535914 1535921 + Identifier 1535922 1535927 + BinaryExpression 1535928 1535951 + PropertyAccessExpression 1535928 1535947 + PropertyAccessExpression 1535928 1535940 + Identifier 1535928 1535934 + Identifier 1535935 1535940 + Identifier 1535941 1535947 + MinusToken 1535947 1535949 + NumericLiteral 1535949 1535951 + VariableStatement 1535953 1536019 + VariableDeclarationList 1535953 1536018 + VariableDeclaration 1535968 1536018 + Identifier 1535968 1535978 + ElementAccessExpression 1535980 1536018 + PropertyAccessExpression 1535980 1535993 + Identifier 1535980 1535987 + Identifier 1535988 1535993 + BinaryExpression 1535994 1536017 + PropertyAccessExpression 1535994 1536013 + PropertyAccessExpression 1535994 1536006 + Identifier 1535994 1536000 + Identifier 1536001 1536006 + Identifier 1536007 1536013 + MinusToken 1536013 1536015 + NumericLiteral 1536015 1536017 + VariableStatement 1536019 1536095 + VariableDeclarationList 1536019 1536094 + VariableDeclaration 1536034 1536094 + Identifier 1536034 1536043 + CallExpression 1536045 1536094 + PropertyAccessExpression 1536045 1536054 + Identifier 1536045 1536050 + Identifier 1536051 1536054 + PropertyAccessExpression 1536055 1536073 + Identifier 1536055 1536066 + Identifier 1536067 1536073 + PropertyAccessExpression 1536074 1536093 + Identifier 1536074 1536086 + Identifier 1536087 1536093 + VariableStatement 1536095 1536165 + VariableDeclarationList 1536095 1536164 + VariableDeclaration 1536110 1536164 + Identifier 1536110 1536117 + CallExpression 1536119 1536164 + PropertyAccessExpression 1536119 1536128 + Identifier 1536119 1536124 + Identifier 1536125 1536128 + PropertyAccessExpression 1536129 1536145 + Identifier 1536129 1536138 + Identifier 1536139 1536145 + PropertyAccessExpression 1536146 1536163 + Identifier 1536146 1536156 + Identifier 1536157 1536163 + ReturnStatement 1536165 1536354 + BinaryExpression 1536181 1536353 + BinaryExpression 1536181 1536247 + CallExpression 1536181 1536212 + PropertyAccessExpression 1536181 1536199 + Identifier 1536181 1536193 + Identifier 1536194 1536199 + NumericLiteral 1536200 1536201 + Identifier 1536202 1536211 + ExclamationEqualsEqualsToken 1536212 1536216 + CallExpression 1536216 1536247 + PropertyAccessExpression 1536216 1536234 + Identifier 1536216 1536228 + Identifier 1536229 1536234 + NumericLiteral 1536235 1536236 + Identifier 1536237 1536246 + BarBarToken 1536247 1536250 + BinaryExpression 1536250 1536353 + CallExpression 1536250 1536306 + PropertyAccessExpression 1536250 1536279 + Identifier 1536250 1536273 + Identifier 1536274 1536279 + BinaryExpression 1536280 1536305 + PropertyAccessExpression 1536280 1536296 + Identifier 1536280 1536289 + Identifier 1536290 1536296 + MinusToken 1536296 1536298 + Identifier 1536298 1536305 + ExclamationEqualsEqualsToken 1536306 1536310 + CallExpression 1536310 1536353 + PropertyAccessExpression 1536310 1536326 + Identifier 1536310 1536320 + Identifier 1536321 1536326 + BinaryExpression 1536327 1536352 + PropertyAccessExpression 1536327 1536343 + Identifier 1536327 1536336 + Identifier 1536337 1536343 + MinusToken 1536343 1536345 + Identifier 1536345 1536352 + FunctionDeclaration 1536361 1536810 + Identifier 1536612 1536632 + Parameter 1536633 1536642 + Identifier 1536633 1536634 + StringKeyword 1536635 1536642 + Parameter 1536643 1536666 + Identifier 1536643 1536657 + BooleanKeyword 1536658 1536666 + BooleanKeyword 1536668 1536676 + Block 1536676 1536810 + IfStatement 1536678 1536715 + BinaryExpression 1536692 1536700 + Identifier 1536692 1536693 + EqualsEqualsEqualsToken 1536693 1536697 + StringLiteral 1536697 1536700 + ReturnStatement 1536701 1536715 + FalseKeyword 1536708 1536714 + VariableStatement 1536715 1536738 + VariableDeclarationList 1536715 1536737 + VariableDeclaration 1536730 1536737 + Identifier 1536730 1536732 + PrefixUnaryExpression 1536734 1536737 + Identifier 1536736 1536737 + ReturnStatement 1536738 1536803 + BinaryExpression 1536754 1536802 + CallExpression 1536754 1536766 + Identifier 1536754 1536763 + Identifier 1536764 1536765 + AmpersandAmpersandToken 1536766 1536769 + ParenthesizedExpression 1536769 1536802 + BinaryExpression 1536771 1536801 + PrefixUnaryExpression 1536771 1536785 + Identifier 1536772 1536785 + BarBarToken 1536785 1536788 + BinaryExpression 1536788 1536801 + BinaryExpression 1536788 1536795 + StringLiteral 1536788 1536791 + PlusToken 1536791 1536793 + Identifier 1536793 1536795 + EqualsEqualsEqualsToken 1536795 1536799 + Identifier 1536799 1536801 + FunctionDeclaration 1536810 1537134 + Identifier 1537026 1537049 + Parameter 1537050 1537062 + Identifier 1537050 1537054 + StringKeyword 1537055 1537062 + Block 1537063 1537134 + ReturnStatement 1537065 1537127 + CallExpression 1537081 1537126 + Identifier 1537081 1537102 + CallExpression 1537103 1537125 + Identifier 1537103 1537119 + Identifier 1537120 1537124 + FunctionDeclaration 1537134 1538449 + Identifier 1537150 1537174 + Parameter 1537175 1537187 + Identifier 1537175 1537181 + TypeReference 1537182 1537187 + Identifier 1537182 1537187 + Parameter 1537188 1537201 + Identifier 1537188 1537195 + TypeReference 1537196 1537201 + Identifier 1537196 1537201 + BooleanKeyword 1537203 1537211 + Block 1537211 1538449 + IfStatement 1537213 1537295 + BinaryExpression 1537227 1537255 + PropertyAccessExpression 1537227 1537239 + Identifier 1537227 1537233 + Identifier 1537234 1537239 + AmpersandToken 1537239 1537241 + PropertyAccessExpression 1537241 1537255 + Identifier 1537241 1537251 + Identifier 1537252 1537255 + Block 1537256 1537295 + ReturnStatement 1537258 1537284 + TrueKeyword 1537278 1537283 + IfStatement 1537295 1537440 + BinaryExpression 1537309 1537370 + PropertyAccessExpression 1537309 1537321 + Identifier 1537309 1537315 + Identifier 1537316 1537321 + AmpersandToken 1537321 1537323 + ParenthesizedExpression 1537323 1537370 + BinaryExpression 1537325 1537369 + PropertyAccessExpression 1537325 1537341 + Identifier 1537325 1537334 + Identifier 1537335 1537341 + BarToken 1537341 1537343 + PropertyAccessExpression 1537343 1537369 + Identifier 1537343 1537353 + Identifier 1537354 1537369 + Block 1537371 1537440 + ReturnStatement 1537373 1537429 + CallExpression 1537393 1537428 + Identifier 1537393 1537412 + Identifier 1537413 1537419 + Identifier 1537420 1537427 + IfStatement 1537440 1538419 + BinaryExpression 1537454 1537492 + PropertyAccessExpression 1537454 1537466 + Identifier 1537454 1537460 + Identifier 1537461 1537466 + AmpersandToken 1537466 1537468 + PropertyAccessExpression 1537468 1537492 + Identifier 1537468 1537478 + Identifier 1537479 1537492 + Block 1537493 1538419 + VariableStatement 1537495 1538007 + VariableDeclarationList 1537495 1538006 + VariableDeclaration 1537988 1538006 + Identifier 1537988 1538001 + ArrayLiteralExpression 1538003 1538006 + WhileStatement 1538007 1538200 + BinaryExpression 1538028 1538066 + PropertyAccessExpression 1538028 1538040 + Identifier 1538028 1538034 + Identifier 1538035 1538040 + AmpersandToken 1538040 1538042 + PropertyAccessExpression 1538042 1538066 + Identifier 1538042 1538052 + Identifier 1538053 1538066 + Block 1538067 1538200 + ExpressionStatement 1538069 1538123 + CallExpression 1538069 1538122 + PropertyAccessExpression 1538069 1538107 + Identifier 1538069 1538099 + Identifier 1538100 1538107 + PropertyAccessExpression 1538108 1538121 + Identifier 1538108 1538114 + Identifier 1538115 1538121 + ExpressionStatement 1538123 1538185 + BinaryExpression 1538123 1538184 + Identifier 1538123 1538147 + EqualsToken 1538147 1538149 + PropertyAccessExpression 1538149 1538184 + ParenthesizedExpression 1538149 1538179 + AsExpression 1538151 1538178 + Identifier 1538151 1538157 + TypeReference 1538160 1538178 + Identifier 1538160 1538178 + Identifier 1538180 1538184 + VariableStatement 1538200 1538320 + VariableDeclarationList 1538200 1538319 + VariableDeclaration 1538219 1538319 + Identifier 1538219 1538232 + CallExpression 1538234 1538319 + Identifier 1538234 1538245 + Identifier 1538246 1538258 + ArrowFunction 1538259 1538310 + Parameter 1538261 1538265 + Identifier 1538261 1538265 + Parameter 1538266 1538272 + Identifier 1538266 1538272 + EqualsGreaterThanToken 1538273 1538276 + CallExpression 1538276 1538310 + Identifier 1538276 1538297 + Identifier 1538298 1538303 + Identifier 1538304 1538309 + Identifier 1538311 1538318 + ReturnStatement 1538320 1538408 + BinaryExpression 1538340 1538407 + BinaryExpression 1538340 1538364 + Identifier 1538340 1538353 + EqualsEqualsEqualsToken 1538353 1538357 + Identifier 1538357 1538364 + AmpersandAmpersandToken 1538364 1538367 + CallExpression 1538367 1538407 + Identifier 1538367 1538391 + Identifier 1538392 1538398 + Identifier 1538399 1538406 + ReturnStatement 1538419 1538442 + FalseKeyword 1538435 1538441 + FunctionDeclaration 1538449 1539923 + Identifier 1538465 1538506 + Parameter 1538507 1538519 + Identifier 1538507 1538513 + TypeReference 1538514 1538519 + Identifier 1538514 1538519 + Parameter 1538520 1538533 + Identifier 1538520 1538527 + TypeReference 1538528 1538533 + Identifier 1538528 1538533 + BooleanKeyword 1538535 1538543 + Block 1538543 1539923 + IfStatement 1538545 1538761 + BinaryExpression 1538559 1538596 + PropertyAccessExpression 1538559 1538571 + Identifier 1538559 1538565 + Identifier 1538566 1538571 + AmpersandToken 1538571 1538573 + PropertyAccessExpression 1538573 1538596 + Identifier 1538573 1538583 + Identifier 1538584 1538596 + Block 1538597 1538761 + ReturnStatement 1538599 1538750 + CallExpression 1538619 1538749 + Identifier 1538619 1538625 + PropertyAccessExpression 1538626 1538660 + ParenthesizedExpression 1538626 1538654 + AsExpression 1538627 1538653 + Identifier 1538627 1538633 + TypeReference 1538636 1538653 + Identifier 1538636 1538653 + Identifier 1538655 1538660 + ArrowFunction 1538661 1538748 + Parameter 1538661 1538663 + Identifier 1538661 1538663 + EqualsGreaterThanToken 1538663 1538666 + BinaryExpression 1538666 1538748 + BinaryExpression 1538666 1538693 + Identifier 1538666 1538668 + EqualsEqualsEqualsToken 1538668 1538672 + Identifier 1538672 1538693 + BarBarToken 1538693 1538696 + CallExpression 1538696 1538748 + Identifier 1538696 1538737 + Identifier 1538738 1538744 + Identifier 1538745 1538747 + IfStatement 1538761 1538884 + BinaryExpression 1538775 1538844 + BinaryExpression 1538775 1538806 + PropertyAccessExpression 1538775 1538787 + Identifier 1538775 1538781 + Identifier 1538782 1538787 + AmpersandToken 1538787 1538789 + PropertyAccessExpression 1538789 1538806 + Identifier 1538789 1538799 + Identifier 1538800 1538806 + BarBarToken 1538806 1538809 + CallExpression 1538809 1538844 + Identifier 1538809 1538828 + Identifier 1538829 1538835 + Identifier 1538836 1538843 + Block 1538845 1538884 + ReturnStatement 1538847 1538873 + TrueKeyword 1538867 1538872 + IfStatement 1538884 1539609 + BinaryExpression 1538898 1538936 + PropertyAccessExpression 1538898 1538910 + Identifier 1538898 1538904 + Identifier 1538905 1538910 + AmpersandToken 1538910 1538912 + PropertyAccessExpression 1538912 1538936 + Identifier 1538912 1538922 + Identifier 1538923 1538936 + Block 1538937 1539609 + VariableStatement 1538939 1539003 + VariableDeclarationList 1538939 1539002 + VariableDeclaration 1538958 1539002 + Identifier 1538958 1538964 + PropertyAccessExpression 1538966 1539002 + ParenthesizedExpression 1538966 1538996 + AsExpression 1538968 1538995 + Identifier 1538968 1538974 + TypeReference 1538977 1538995 + Identifier 1538977 1538995 + Identifier 1538997 1539002 + ReturnStatement 1539003 1539598 + PrefixUnaryExpression 1539023 1539597 + PrefixUnaryExpression 1539025 1539597 + ParenthesizedExpression 1539026 1539597 + BinaryExpression 1539027 1539596 + BinaryExpression 1539027 1539458 + BinaryExpression 1539027 1539356 + BinaryExpression 1539027 1539220 + BinaryExpression 1539027 1539113 + BinaryExpression 1539027 1539058 + PropertyAccessExpression 1539027 1539039 + Identifier 1539027 1539033 + Identifier 1539034 1539039 + AmpersandToken 1539039 1539041 + PropertyAccessExpression 1539041 1539058 + Identifier 1539041 1539051 + Identifier 1539052 1539058 + AmpersandAmpersandToken 1539058 1539061 + CallExpression 1539061 1539113 + Identifier 1539061 1539081 + Identifier 1539082 1539087 + FalseKeyword 1539088 1539112 + BarBarToken 1539113 1539116 + BinaryExpression 1539116 1539220 + BinaryExpression 1539116 1539165 + PropertyAccessExpression 1539116 1539146 + Identifier 1539116 1539140 + Identifier 1539141 1539146 + AmpersandToken 1539146 1539148 + PropertyAccessExpression 1539148 1539165 + Identifier 1539148 1539158 + Identifier 1539159 1539165 + AmpersandAmpersandToken 1539165 1539168 + CallExpression 1539168 1539220 + Identifier 1539168 1539188 + Identifier 1539189 1539194 + FalseKeyword 1539195 1539219 + BarBarToken 1539220 1539223 + BinaryExpression 1539223 1539356 + BinaryExpression 1539223 1539303 + PropertyAccessExpression 1539223 1539253 + Identifier 1539223 1539247 + Identifier 1539248 1539253 + AmpersandToken 1539253 1539255 + ParenthesizedExpression 1539255 1539303 + BinaryExpression 1539257 1539302 + PropertyAccessExpression 1539257 1539281 + Identifier 1539257 1539266 + Identifier 1539267 1539281 + BarToken 1539281 1539283 + PropertyAccessExpression 1539283 1539302 + Identifier 1539283 1539293 + Identifier 1539294 1539302 + AmpersandAmpersandToken 1539303 1539306 + BinaryExpression 1539306 1539356 + Identifier 1539306 1539312 + EqualsEqualsEqualsToken 1539312 1539316 + PropertyAccessExpression 1539316 1539356 + ParenthesizedExpression 1539316 1539342 + AsExpression 1539318 1539341 + Identifier 1539318 1539324 + TypeReference 1539327 1539341 + Identifier 1539327 1539341 + Identifier 1539343 1539356 + BarBarToken 1539356 1539359 + BinaryExpression 1539359 1539458 + BinaryExpression 1539359 1539415 + PropertyAccessExpression 1539359 1539389 + Identifier 1539359 1539383 + Identifier 1539384 1539389 + AmpersandToken 1539389 1539391 + PropertyAccessExpression 1539391 1539415 + Identifier 1539391 1539401 + Identifier 1539402 1539415 + AmpersandAmpersandToken 1539415 1539418 + CallExpression 1539418 1539458 + Identifier 1539418 1539442 + Identifier 1539443 1539449 + Identifier 1539450 1539457 + BarBarToken 1539458 1539461 + BinaryExpression 1539461 1539596 + BinaryExpression 1539461 1539519 + PropertyAccessExpression 1539461 1539491 + Identifier 1539461 1539485 + Identifier 1539486 1539491 + AmpersandToken 1539491 1539493 + PropertyAccessExpression 1539493 1539519 + Identifier 1539493 1539503 + Identifier 1539504 1539519 + AmpersandAmpersandToken 1539519 1539522 + CallExpression 1539522 1539596 + Identifier 1539522 1539557 + Identifier 1539558 1539564 + AsExpression 1539565 1539595 + Identifier 1539565 1539572 + TypeReference 1539575 1539595 + Identifier 1539575 1539595 + IfStatement 1539609 1539893 + BinaryExpression 1539623 1539663 + PropertyAccessExpression 1539623 1539635 + Identifier 1539623 1539629 + Identifier 1539630 1539635 + AmpersandToken 1539635 1539637 + PropertyAccessExpression 1539637 1539663 + Identifier 1539637 1539647 + Identifier 1539648 1539663 + Block 1539664 1539893 + VariableStatement 1539666 1539732 + VariableDeclarationList 1539666 1539731 + VariableDeclaration 1539685 1539731 + Identifier 1539685 1539691 + PropertyAccessExpression 1539693 1539731 + ParenthesizedExpression 1539693 1539725 + AsExpression 1539695 1539724 + Identifier 1539695 1539701 + TypeReference 1539704 1539724 + Identifier 1539704 1539724 + Identifier 1539726 1539731 + ReturnStatement 1539732 1539882 + BinaryExpression 1539752 1539881 + BinaryExpression 1539752 1539809 + BinaryExpression 1539752 1539790 + BinaryExpression 1539752 1539771 + PropertyAccessExpression 1539752 1539765 + Identifier 1539752 1539758 + Identifier 1539759 1539765 + EqualsEqualsEqualsToken 1539765 1539769 + NumericLiteral 1539769 1539771 + AmpersandAmpersandToken 1539771 1539774 + BinaryExpression 1539774 1539790 + ElementAccessExpression 1539774 1539783 + Identifier 1539774 1539780 + NumericLiteral 1539781 1539782 + EqualsEqualsEqualsToken 1539783 1539787 + StringLiteral 1539787 1539790 + AmpersandAmpersandToken 1539790 1539793 + BinaryExpression 1539793 1539809 + ElementAccessExpression 1539793 1539802 + Identifier 1539793 1539799 + NumericLiteral 1539800 1539801 + EqualsEqualsEqualsToken 1539802 1539806 + StringLiteral 1539806 1539809 + AmpersandAmpersandToken 1539809 1539812 + CallExpression 1539812 1539881 + Identifier 1539812 1539831 + ElementAccessExpression 1539832 1539872 + PropertyAccessExpression 1539832 1539869 + ParenthesizedExpression 1539832 1539863 + AsExpression 1539833 1539862 + Identifier 1539833 1539839 + TypeReference 1539842 1539862 + Identifier 1539842 1539862 + Identifier 1539864 1539869 + NumericLiteral 1539870 1539871 + Identifier 1539873 1539880 + ReturnStatement 1539893 1539916 + FalseKeyword 1539909 1539915 + FunctionDeclaration 1539923 1540730 + Identifier 1539939 1539973 + Parameter 1539974 1539986 + Identifier 1539974 1539980 + TypeReference 1539981 1539986 + Identifier 1539981 1539986 + Parameter 1539987 1540015 + Identifier 1539987 1539994 + TypeReference 1539995 1540015 + Identifier 1539995 1540015 + UnionType 1540017 1540036 + ArrayType 1540017 1540024 + TypeReference 1540017 1540022 + Identifier 1540017 1540022 + UndefinedKeyword 1540026 1540036 + Block 1540036 1540730 + ReturnStatement 1540038 1540723 + ConditionalExpression 1540054 1540722 + BinaryExpression 1540054 1540093 + PropertyAccessExpression 1540054 1540067 + Identifier 1540054 1540061 + Identifier 1540062 1540067 + AmpersandToken 1540067 1540069 + PropertyAccessExpression 1540069 1540093 + Identifier 1540069 1540079 + Identifier 1540080 1540093 + QuestionToken 1540093 1540095 + CallExpression 1540095 1540193 + Identifier 1540095 1540134 + ArrayLiteralExpression 1540135 1540172 + PropertyAccessExpression 1540136 1540171 + ParenthesizedExpression 1540136 1540165 + AsExpression 1540137 1540164 + Identifier 1540137 1540143 + TypeReference 1540146 1540164 + Identifier 1540146 1540164 + Identifier 1540166 1540171 + Identifier 1540173 1540184 + Identifier 1540185 1540192 + ColonToken 1540193 1540195 + ConditionalExpression 1540195 1540722 + BinaryExpression 1540195 1540249 + PropertyAccessExpression 1540195 1540221 + Identifier 1540195 1540215 + Identifier 1540216 1540221 + AmpersandToken 1540221 1540223 + PropertyAccessExpression 1540223 1540249 + Identifier 1540223 1540233 + Identifier 1540234 1540249 + QuestionToken 1540249 1540251 + ConditionalExpression 1540251 1540697 + CallExpression 1540251 1540332 + Identifier 1540251 1540279 + PropertyAccessExpression 1540280 1540317 + ParenthesizedExpression 1540280 1540311 + AsExpression 1540281 1540310 + Identifier 1540281 1540287 + TypeReference 1540290 1540310 + Identifier 1540290 1540310 + Identifier 1540312 1540317 + PropertyAccessExpression 1540318 1540331 + Identifier 1540318 1540325 + Identifier 1540326 1540331 + QuestionToken 1540332 1540334 + CallExpression 1540334 1540553 + Identifier 1540334 1540338 + PropertyAccessExpression 1540339 1540376 + ParenthesizedExpression 1540339 1540370 + AsExpression 1540340 1540369 + Identifier 1540340 1540346 + TypeReference 1540349 1540369 + Identifier 1540349 1540369 + Identifier 1540371 1540376 + ArrowFunction 1540377 1540552 + Parameter 1540379 1540380 + Identifier 1540379 1540380 + Parameter 1540381 1540383 + Identifier 1540381 1540383 + EqualsGreaterThanToken 1540384 1540387 + Block 1540387 1540552 + ReturnStatement 1540389 1540537 + ConditionalExpression 1540413 1540536 + CallExpression 1540413 1540502 + Identifier 1540413 1540432 + CallExpression 1540433 1540459 + Identifier 1540433 1540456 + Identifier 1540457 1540458 + CallExpression 1540460 1540501 + Identifier 1540460 1540484 + ElementAccessExpression 1540485 1540500 + PropertyAccessExpression 1540485 1540497 + Identifier 1540485 1540491 + Identifier 1540492 1540497 + Identifier 1540498 1540499 + QuestionToken 1540502 1540504 + Identifier 1540504 1540506 + ColonToken 1540506 1540508 + CallExpression 1540508 1540536 + Identifier 1540508 1540533 + Identifier 1540534 1540535 + ColonToken 1540553 1540555 + CallExpression 1540555 1540697 + Identifier 1540555 1540611 + PropertyAccessExpression 1540612 1540649 + ParenthesizedExpression 1540612 1540643 + AsExpression 1540613 1540642 + Identifier 1540613 1540619 + TypeReference 1540622 1540642 + Identifier 1540622 1540642 + Identifier 1540644 1540649 + PropertyAccessExpression 1540650 1540688 + ParenthesizedExpression 1540650 1540682 + AsExpression 1540652 1540681 + Identifier 1540652 1540658 + TypeReference 1540661 1540681 + Identifier 1540661 1540681 + Identifier 1540683 1540688 + Identifier 1540689 1540696 + ColonToken 1540697 1540699 + Identifier 1540699 1540722 + FunctionDeclaration 1540730 1541044 + Identifier 1540746 1540781 + Parameter 1540782 1540794 + Identifier 1540782 1540788 + TypeReference 1540789 1540794 + Identifier 1540789 1540794 + Parameter 1540795 1540823 + Identifier 1540795 1540802 + TypeReference 1540803 1540823 + Identifier 1540803 1540823 + BooleanKeyword 1540825 1540833 + Block 1540833 1541044 + VariableStatement 1540835 1540914 + VariableDeclarationList 1540835 1540913 + VariableDeclaration 1540850 1540913 + Identifier 1540850 1540861 + CallExpression 1540863 1540913 + Identifier 1540863 1540897 + Identifier 1540898 1540904 + Identifier 1540905 1540912 + ReturnStatement 1540914 1541037 + BinaryExpression 1540930 1541036 + PrefixUnaryExpression 1540930 1540943 + PrefixUnaryExpression 1540932 1540943 + Identifier 1540933 1540943 + AmpersandAmpersandToken 1540943 1540946 + CallExpression 1540946 1541036 + Identifier 1540946 1540952 + Identifier 1540953 1540963 + ArrowFunction 1540964 1541035 + Parameter 1540966 1540967 + Identifier 1540966 1540967 + Parameter 1540968 1540970 + Identifier 1540968 1540970 + EqualsGreaterThanToken 1540971 1540974 + CallExpression 1540974 1541035 + Identifier 1540974 1541015 + Identifier 1541016 1541017 + ElementAccessExpression 1541018 1541034 + PropertyAccessExpression 1541018 1541031 + Identifier 1541018 1541025 + Identifier 1541026 1541031 + Identifier 1541032 1541033 + FunctionDeclaration 1541044 1541225 + Identifier 1541060 1541085 + Parameter 1541086 1541096 + Identifier 1541086 1541090 + TypeReference 1541091 1541096 + Identifier 1541091 1541096 + Block 1541097 1541225 + ReturnStatement 1541099 1541218 + ConditionalExpression 1541115 1541217 + BinaryExpression 1541115 1541167 + PropertyAccessExpression 1541115 1541126 + Identifier 1541115 1541120 + Identifier 1541121 1541126 + AmpersandToken 1541126 1541128 + ParenthesizedExpression 1541128 1541167 + BinaryExpression 1541130 1541166 + PropertyAccessExpression 1541130 1541143 + Identifier 1541130 1541139 + Identifier 1541140 1541143 + BarToken 1541143 1541145 + PropertyAccessExpression 1541145 1541166 + Identifier 1541145 1541155 + Identifier 1541156 1541166 + QuestionToken 1541167 1541169 + Identifier 1541169 1541174 + ColonToken 1541174 1541176 + CallExpression 1541176 1541217 + Identifier 1541176 1541199 + ArrayLiteralExpression 1541200 1541208 + StringLiteral 1541201 1541203 + StringLiteral 1541204 1541207 + ArrayLiteralExpression 1541209 1541216 + Identifier 1541211 1541215 + FunctionDeclaration 1541225 1545603 + Identifier 1543029 1543068 + Parameter 1543069 1543099 + Identifier 1543069 1543080 + TypeOperator 1543081 1543099 + ArrayType 1543090 1543099 + StringKeyword 1543090 1543097 + Parameter 1543100 1543129 + Identifier 1543100 1543112 + TypeOperator 1543113 1543129 + ArrayType 1543122 1543129 + TypeReference 1543122 1543127 + Identifier 1543122 1543127 + Parameter 1543130 1543158 + Identifier 1543130 1543137 + TypeReference 1543138 1543158 + Identifier 1543138 1543158 + UnionType 1543160 1543179 + ArrayType 1543160 1543167 + TypeReference 1543160 1543165 + Identifier 1543160 1543165 + UndefinedKeyword 1543169 1543179 + Block 1543179 1545603 + VariableStatement 1543181 1543238 + VariableDeclarationList 1543181 1543237 + VariableDeclaration 1543196 1543237 + Identifier 1543196 1543212 + BinaryExpression 1543214 1543237 + PropertyAccessExpression 1543214 1543233 + Identifier 1543214 1543226 + Identifier 1543227 1543233 + MinusToken 1543233 1543235 + NumericLiteral 1543235 1543237 + VariableStatement 1543238 1543287 + VariableDeclarationList 1543238 1543286 + VariableDeclaration 1543253 1543286 + Identifier 1543253 1543269 + ElementAccessExpression 1543271 1543286 + Identifier 1543271 1543283 + NumericLiteral 1543284 1543285 + VariableStatement 1543287 1543348 + VariableDeclarationList 1543287 1543347 + VariableDeclaration 1543302 1543347 + Identifier 1543302 1543316 + ElementAccessExpression 1543318 1543347 + Identifier 1543318 1543330 + Identifier 1543331 1543346 + VariableStatement 1543348 1543391 + VariableDeclarationList 1543348 1543390 + VariableDeclaration 1543363 1543390 + Identifier 1543363 1543375 + PropertyAccessExpression 1543377 1543390 + Identifier 1543377 1543384 + Identifier 1543385 1543390 + VariableStatement 1543391 1543448 + VariableDeclarationList 1543391 1543447 + VariableDeclaration 1543406 1543447 + Identifier 1543406 1543422 + BinaryExpression 1543424 1543447 + PropertyAccessExpression 1543424 1543443 + Identifier 1543424 1543436 + Identifier 1543437 1543443 + MinusToken 1543443 1543445 + NumericLiteral 1543445 1543447 + VariableStatement 1543448 1543497 + VariableDeclarationList 1543448 1543496 + VariableDeclaration 1543463 1543496 + Identifier 1543463 1543479 + ElementAccessExpression 1543481 1543496 + Identifier 1543481 1543493 + NumericLiteral 1543494 1543495 + VariableStatement 1543497 1543558 + VariableDeclarationList 1543497 1543557 + VariableDeclaration 1543512 1543557 + Identifier 1543512 1543526 + ElementAccessExpression 1543528 1543557 + Identifier 1543528 1543540 + Identifier 1543541 1543556 + IfStatement 1543558 1543813 + BinaryExpression 1543572 1543784 + BinaryExpression 1543572 1543742 + BinaryExpression 1543572 1543681 + BinaryExpression 1543572 1543607 + Identifier 1543572 1543601 + EqualsEqualsEqualsToken 1543601 1543605 + NumericLiteral 1543605 1543607 + AmpersandAmpersandToken 1543607 1543610 + BinaryExpression 1543610 1543681 + PropertyAccessExpression 1543610 1543633 + Identifier 1543610 1543626 + Identifier 1543627 1543633 + LessThanToken 1543633 1543635 + BinaryExpression 1543635 1543681 + PropertyAccessExpression 1543635 1543658 + Identifier 1543635 1543651 + Identifier 1543652 1543658 + PlusToken 1543658 1543660 + PropertyAccessExpression 1543660 1543681 + Identifier 1543660 1543674 + Identifier 1543675 1543681 + BarBarToken 1543681 1543684 + PrefixUnaryExpression 1543684 1543742 + CallExpression 1543699 1543742 + PropertyAccessExpression 1543699 1543725 + Identifier 1543699 1543714 + Identifier 1543715 1543725 + Identifier 1543726 1543741 + BarBarToken 1543742 1543745 + PrefixUnaryExpression 1543745 1543784 + CallExpression 1543747 1543784 + PropertyAccessExpression 1543747 1543769 + Identifier 1543747 1543760 + Identifier 1543761 1543769 + Identifier 1543770 1543783 + ReturnStatement 1543795 1543813 + Identifier 1543802 1543812 + VariableStatement 1543813 1543916 + VariableDeclarationList 1543813 1543915 + VariableDeclaration 1543828 1543915 + Identifier 1543828 1543845 + CallExpression 1543847 1543915 + PropertyAccessExpression 1543847 1543867 + Identifier 1543847 1543861 + Identifier 1543862 1543867 + NumericLiteral 1543868 1543869 + BinaryExpression 1543870 1543914 + PropertyAccessExpression 1543870 1543891 + Identifier 1543870 1543884 + Identifier 1543885 1543891 + MinusToken 1543891 1543893 + PropertyAccessExpression 1543893 1543914 + Identifier 1543893 1543907 + Identifier 1543908 1543914 + VariableStatement 1543916 1543953 + VariableDeclarationList 1543916 1543952 + VariableDeclaration 1543931 1543952 + Identifier 1543931 1543939 + ArrayType 1543940 1543947 + TypeReference 1543940 1543945 + Identifier 1543940 1543945 + ArrayLiteralExpression 1543949 1543952 + VariableStatement 1543953 1543975 + VariableDeclarationList 1543953 1543974 + VariableDeclaration 1543966 1543974 + Identifier 1543966 1543970 + NumericLiteral 1543972 1543974 + VariableStatement 1543975 1544018 + VariableDeclarationList 1543975 1544017 + VariableDeclaration 1543988 1544017 + Identifier 1543988 1543992 + PropertyAccessExpression 1543994 1544017 + Identifier 1543994 1544010 + Identifier 1544011 1544017 + ForStatement 1544018 1544867 + VariableDeclarationList 1544033 1544042 + VariableDeclaration 1544036 1544042 + Identifier 1544036 1544038 + NumericLiteral 1544040 1544042 + BinaryExpression 1544043 1544063 + Identifier 1544043 1544045 + LessThanToken 1544045 1544047 + Identifier 1544047 1544063 + PostfixUnaryExpression 1544064 1544068 + Identifier 1544064 1544066 + Block 1544069 1544867 + VariableStatement 1544071 1544114 + VariableDeclarationList 1544071 1544113 + VariableDeclaration 1544090 1544113 + Identifier 1544090 1544096 + ElementAccessExpression 1544098 1544113 + Identifier 1544098 1544110 + Identifier 1544111 1544112 + IfStatement 1544114 1544856 + BinaryExpression 1544132 1544148 + PropertyAccessExpression 1544132 1544144 + Identifier 1544132 1544137 + Identifier 1544138 1544144 + GreaterThanToken 1544144 1544146 + NumericLiteral 1544146 1544148 + Block 1544149 1544572 + VariableStatement 1544151 1544181 + VariableDeclarationList 1544151 1544180 + VariableDeclaration 1544172 1544180 + Identifier 1544172 1544174 + Identifier 1544176 1544180 + VariableStatement 1544181 1544211 + VariableDeclarationList 1544181 1544210 + VariableDeclaration 1544202 1544210 + Identifier 1544202 1544204 + Identifier 1544206 1544210 + WhileStatement 1544211 1544486 + TrueKeyword 1544236 1544240 + Block 1544241 1544486 + ExpressionStatement 1544243 1544304 + BinaryExpression 1544243 1544303 + Identifier 1544243 1544266 + EqualsToken 1544266 1544268 + CallExpression 1544268 1544303 + PropertyAccessExpression 1544268 1544293 + CallExpression 1544268 1544285 + Identifier 1544268 1544282 + Identifier 1544283 1544284 + Identifier 1544286 1544293 + Identifier 1544294 1544299 + Identifier 1544300 1544302 + IfStatement 1544304 1544344 + BinaryExpression 1544330 1544336 + Identifier 1544330 1544331 + GreaterThanEqualsToken 1544331 1544334 + NumericLiteral 1544334 1544336 + BreakStatement 1544337 1544344 + ExpressionStatement 1544344 1544370 + PostfixUnaryExpression 1544344 1544369 + Identifier 1544344 1544367 + IfStatement 1544370 1544439 + BinaryExpression 1544396 1544420 + Identifier 1544396 1544397 + EqualsEqualsEqualsToken 1544397 1544401 + PropertyAccessExpression 1544401 1544420 + Identifier 1544401 1544413 + Identifier 1544414 1544420 + ReturnStatement 1544421 1544439 + Identifier 1544428 1544438 + ExpressionStatement 1544439 1544467 + BinaryExpression 1544439 1544466 + Identifier 1544439 1544462 + EqualsToken 1544462 1544464 + NumericLiteral 1544464 1544466 + ExpressionStatement 1544486 1544519 + CallExpression 1544486 1544518 + Identifier 1544486 1544512 + Identifier 1544513 1544514 + Identifier 1544515 1544517 + ExpressionStatement 1544519 1544557 + BinaryExpression 1544519 1544556 + Identifier 1544519 1544540 + PlusEqualsToken 1544540 1544543 + PropertyAccessExpression 1544543 1544556 + Identifier 1544543 1544549 + Identifier 1544550 1544556 + IfStatement 1544590 1544856 + BinaryExpression 1544595 1544626 + Identifier 1544595 1544598 + LessThanToken 1544598 1544600 + PropertyAccessExpression 1544600 1544626 + CallExpression 1544600 1544619 + Identifier 1544600 1544614 + Identifier 1544615 1544618 + Identifier 1544620 1544626 + Block 1544627 1544685 + ExpressionStatement 1544629 1544670 + CallExpression 1544629 1544669 + Identifier 1544629 1544655 + Identifier 1544656 1544659 + BinaryExpression 1544660 1544668 + Identifier 1544660 1544664 + PlusToken 1544664 1544666 + NumericLiteral 1544666 1544668 + IfStatement 1544703 1544856 + BinaryExpression 1544708 1544729 + Identifier 1544708 1544711 + LessThanToken 1544711 1544713 + Identifier 1544713 1544729 + Block 1544730 1544786 + ExpressionStatement 1544732 1544771 + CallExpression 1544732 1544770 + Identifier 1544732 1544758 + BinaryExpression 1544759 1544766 + Identifier 1544759 1544762 + PlusToken 1544762 1544764 + NumericLiteral 1544764 1544766 + NumericLiteral 1544767 1544769 + Block 1544804 1544856 + ReturnStatement 1544806 1544841 + Identifier 1544830 1544840 + ExpressionStatement 1544867 1544942 + CallExpression 1544867 1544941 + Identifier 1544867 1544885 + Identifier 1544886 1544901 + PropertyAccessExpression 1544902 1544940 + CallExpression 1544902 1544933 + Identifier 1544902 1544916 + Identifier 1544917 1544932 + Identifier 1544934 1544940 + ReturnStatement 1544942 1544967 + Identifier 1544958 1544966 + FunctionDeclaration 1544967 1545112 + Identifier 1544985 1544999 + Parameter 1545000 1545013 + Identifier 1545000 1545005 + NumberKeyword 1545006 1545013 + Block 1545014 1545112 + ReturnStatement 1545016 1545101 + ConditionalExpression 1545036 1545100 + BinaryExpression 1545036 1545060 + Identifier 1545036 1545042 + LessThanToken 1545042 1545044 + Identifier 1545044 1545060 + QuestionToken 1545060 1545062 + ElementAccessExpression 1545062 1545081 + Identifier 1545062 1545074 + Identifier 1545075 1545080 + ColonToken 1545081 1545083 + Identifier 1545083 1545100 + FunctionDeclaration 1545112 1545596 + Identifier 1545130 1545139 + Parameter 1545140 1545149 + Identifier 1545140 1545141 + NumberKeyword 1545142 1545149 + Parameter 1545150 1545160 + Identifier 1545150 1545152 + NumberKeyword 1545153 1545160 + Block 1545161 1545596 + VariableStatement 1545163 1545503 + VariableDeclarationList 1545163 1545502 + VariableDeclaration 1545182 1545502 + Identifier 1545182 1545192 + ConditionalExpression 1545194 1545502 + BinaryExpression 1545194 1545204 + Identifier 1545194 1545196 + EqualsEqualsEqualsToken 1545196 1545200 + Identifier 1545200 1545204 + QuestionToken 1545204 1545206 + CallExpression 1545206 1545276 + Identifier 1545206 1545244 + CallExpression 1545245 1545275 + PropertyAccessExpression 1545245 1545267 + CallExpression 1545245 1545261 + Identifier 1545245 1545258 + Identifier 1545259 1545260 + Identifier 1545262 1545267 + Identifier 1545268 1545271 + Identifier 1545272 1545274 + ColonToken 1545276 1545278 + CallExpression 1545278 1545502 + Identifier 1545278 1545318 + ArrayLiteralExpression 1545319 1545434 + CallExpression 1545342 1545369 + PropertyAccessExpression 1545342 1545364 + ElementAccessExpression 1545342 1545358 + Identifier 1545342 1545353 + Identifier 1545354 1545357 + Identifier 1545359 1545364 + Identifier 1545365 1545368 + SpreadElement 1545370 1545403 + CallExpression 1545374 1545403 + PropertyAccessExpression 1545374 1545391 + Identifier 1545374 1545385 + Identifier 1545386 1545391 + BinaryExpression 1545392 1545399 + Identifier 1545392 1545395 + PlusToken 1545395 1545397 + NumericLiteral 1545397 1545399 + Identifier 1545400 1545402 + CallExpression 1545404 1545433 + PropertyAccessExpression 1545404 1545427 + CallExpression 1545404 1545421 + Identifier 1545404 1545418 + Identifier 1545419 1545420 + Identifier 1545422 1545427 + NumericLiteral 1545428 1545429 + Identifier 1545430 1545432 + CallExpression 1545435 1545482 + PropertyAccessExpression 1545435 1545474 + Identifier 1545435 1545468 + Identifier 1545469 1545474 + Identifier 1545475 1545478 + Identifier 1545479 1545481 + ExpressionStatement 1545503 1545541 + CallExpression 1545503 1545540 + PropertyAccessExpression 1545503 1545529 + Identifier 1545503 1545524 + Identifier 1545525 1545529 + Identifier 1545530 1545539 + ExpressionStatement 1545541 1545563 + BinaryExpression 1545541 1545562 + Identifier 1545541 1545558 + EqualsToken 1545558 1545560 + Identifier 1545560 1545562 + ExpressionStatement 1545563 1545585 + BinaryExpression 1545563 1545584 + Identifier 1545563 1545580 + EqualsToken 1545580 1545582 + Identifier 1545582 1545584 + FunctionDeclaration 1545603 1545971 + Identifier 1545723 1545737 + Parameter 1545738 1545766 + Identifier 1545738 1545751 + TypeReference 1545752 1545766 + Identifier 1545752 1545766 + Parameter 1545767 1545778 + Identifier 1545767 1545772 + TypeReference 1545773 1545778 + Identifier 1545773 1545778 + Block 1545779 1545971 + ReturnStatement 1545781 1545964 + BinaryExpression 1545797 1545963 + BinaryExpression 1545797 1545912 + CallExpression 1545797 1545815 + Identifier 1545797 1545809 + Identifier 1545810 1545814 + AmpersandAmpersandToken 1545815 1545818 + BinaryExpression 1545818 1545912 + CallExpression 1545818 1545847 + Identifier 1545818 1545838 + Identifier 1545839 1545843 + NumericLiteral 1545844 1545846 + EqualsEqualsEqualsToken 1545847 1545851 + CallExpression 1545851 1545912 + Identifier 1545851 1545872 + Identifier 1545873 1545886 + CallExpression 1545887 1545911 + Identifier 1545887 1545908 + NumericLiteral 1545909 1545910 + AmpersandAmpersandToken 1545912 1545915 + PrefixUnaryExpression 1545915 1545963 + CallExpression 1545917 1545963 + Identifier 1545917 1545940 + Identifier 1545941 1545945 + AsExpression 1545946 1545962 + StringLiteral 1545946 1545950 + TypeReference 1545953 1545962 + Identifier 1545953 1545962 + FunctionDeclaration 1545971 1599321 + Identifier 1545987 1545998 + Parameter 1545999 1546026 + Identifier 1545999 1546009 + ArrayType 1546010 1546026 + TypeReference 1546010 1546024 + Identifier 1546010 1546024 + Parameter 1546027 1546048 + Identifier 1546027 1546042 + TypeReference 1546043 1546048 + Identifier 1546043 1546048 + Parameter 1546049 1546070 + Identifier 1546049 1546064 + TypeReference 1546065 1546070 + Identifier 1546065 1546070 + Parameter 1546071 1546105 + Identifier 1546071 1546080 + PropertyAccessExpression 1546082 1546105 + Identifier 1546082 1546100 + Identifier 1546101 1546105 + Parameter 1546106 1546128 + Identifier 1546106 1546120 + FalseKeyword 1546122 1546128 + Block 1546129 1599321 + VariableStatement 1546131 1546163 + VariableDeclarationList 1546131 1546162 + VariableDeclaration 1546144 1546162 + Identifier 1546144 1546154 + FalseKeyword 1546156 1546162 + VariableStatement 1546163 1546199 + VariableDeclarationList 1546163 1546198 + VariableDeclaration 1546176 1546198 + Identifier 1546176 1546192 + TypeReference 1546193 1546198 + Identifier 1546193 1546198 + VariableStatement 1546199 1546268 + VariableDeclarationList 1546199 1546267 + VariableDeclaration 1546212 1546267 + Identifier 1546212 1546230 + NumberKeyword 1546231 1546238 + PropertyAccessExpression 1546240 1546267 + Identifier 1546240 1546258 + Identifier 1546259 1546267 + VariableStatement 1546268 1546311 + VariableDeclarationList 1546268 1546310 + VariableDeclaration 1546281 1546310 + Identifier 1546281 1546289 + TypeReference 1546290 1546310 + Identifier 1546290 1546294 + StringKeyword 1546295 1546301 + NumberKeyword 1546302 1546309 + VariableStatement 1546311 1546345 + VariableDeclarationList 1546311 1546344 + VariableDeclaration 1546324 1546344 + Identifier 1546324 1546336 + ArrayType 1546337 1546344 + TypeReference 1546337 1546342 + Identifier 1546337 1546342 + VariableStatement 1546345 1546379 + VariableDeclarationList 1546345 1546378 + VariableDeclaration 1546358 1546378 + Identifier 1546358 1546370 + ArrayType 1546371 1546378 + TypeReference 1546371 1546376 + Identifier 1546371 1546376 + VariableStatement 1546379 1546430 + VariableDeclarationList 1546379 1546429 + VariableDeclaration 1546392 1546429 + Identifier 1546392 1546407 + PropertyAccessExpression 1546409 1546429 + Identifier 1546409 1546424 + Identifier 1546425 1546429 + ExpressionStatement 1546430 1546487 + CallExpression 1546430 1546486 + Identifier 1546430 1546454 + Identifier 1546455 1546469 + Identifier 1546470 1546485 + FunctionDeclaration 1546487 1562352 + Identifier 1546507 1546522 + Parameter 1546523 1546535 + Identifier 1546523 1546529 + TypeReference 1546530 1546535 + Identifier 1546530 1546535 + Parameter 1546536 1546549 + Identifier 1546536 1546543 + TypeReference 1546544 1546549 + Identifier 1546544 1546549 + VoidKeyword 1546551 1546556 + Block 1546556 1562352 + IfStatement 1546558 1546678 + BinaryExpression 1546576 1546635 + PrefixUnaryExpression 1546576 1546610 + CallExpression 1546577 1546610 + Identifier 1546577 1546602 + Identifier 1546603 1546609 + BarBarToken 1546610 1546613 + CallExpression 1546613 1546635 + Identifier 1546613 1546627 + Identifier 1546628 1546634 + Block 1546636 1546678 + ReturnStatement 1546638 1546663 + IfStatement 1546678 1547325 + BinaryExpression 1546696 1546751 + BinaryExpression 1546696 1546719 + Identifier 1546696 1546702 + EqualsEqualsEqualsToken 1546702 1546706 + Identifier 1546706 1546719 + BarBarToken 1546719 1546722 + BinaryExpression 1546722 1546751 + Identifier 1546722 1546729 + EqualsEqualsEqualsToken 1546729 1546733 + Identifier 1546733 1546751 + Block 1546752 1547325 + VariableStatement 1546754 1547137 + VariableDeclarationList 1546754 1547136 + VariableDeclaration 1547098 1547136 + Identifier 1547098 1547118 + Identifier 1547120 1547136 + ExpressionStatement 1547137 1547180 + BinaryExpression 1547137 1547179 + Identifier 1547137 1547170 + EqualsToken 1547170 1547172 + Identifier 1547172 1547179 + ExpressionStatement 1547180 1547229 + CallExpression 1547180 1547228 + Identifier 1547180 1547212 + Identifier 1547213 1547219 + Identifier 1547220 1547227 + ExpressionStatement 1547229 1547285 + BinaryExpression 1547229 1547284 + Identifier 1547229 1547262 + EqualsToken 1547262 1547264 + Identifier 1547264 1547284 + ReturnStatement 1547285 1547310 + IfStatement 1547325 1548461 + BinaryExpression 1547343 1547406 + PropertyAccessExpression 1547343 1547361 + Identifier 1547343 1547349 + Identifier 1547350 1547361 + AmpersandAmpersandToken 1547361 1547364 + BinaryExpression 1547364 1547406 + PropertyAccessExpression 1547364 1547383 + Identifier 1547364 1547371 + Identifier 1547372 1547383 + EqualsEqualsEqualsToken 1547383 1547387 + PropertyAccessExpression 1547387 1547406 + Identifier 1547387 1547394 + Identifier 1547395 1547406 + Block 1547407 1548461 + IfStatement 1547409 1548294 + PropertyAccessExpression 1547431 1547456 + Identifier 1547431 1547437 + Identifier 1547438 1547456 + Block 1547457 1548294 + VariableStatement 1547459 1547768 + VariableDeclarationList 1547459 1547767 + VariableDeclaration 1547707 1547767 + Identifier 1547707 1547714 + NonNullExpression 1547716 1547767 + PropertyAccessExpression 1547716 1547766 + CallExpression 1547716 1547751 + Identifier 1547716 1547731 + PropertyAccessExpression 1547732 1547750 + Identifier 1547732 1547738 + Identifier 1547739 1547750 + Identifier 1547752 1547766 + VariableStatement 1547768 1547840 + VariableDeclarationList 1547768 1547839 + VariableDeclaration 1547795 1547839 + Identifier 1547795 1547805 + CallExpression 1547807 1547839 + Identifier 1547807 1547831 + Identifier 1547832 1547838 + VariableStatement 1547840 1548002 + VariableDeclarationList 1547840 1548001 + VariableDeclaration 1547867 1548001 + Identifier 1547867 1547879 + CallExpression 1547881 1548001 + Identifier 1547881 1547906 + PropertyAccessExpression 1547907 1547932 + Identifier 1547907 1547913 + Identifier 1547914 1547932 + Identifier 1547933 1547940 + Identifier 1547941 1547951 + CallExpression 1547952 1548000 + Identifier 1547952 1547963 + PropertyAccessExpression 1547964 1547999 + PropertyAccessExpression 1547964 1547982 + Identifier 1547964 1547970 + Identifier 1547971 1547982 + Identifier 1547983 1547999 + VariableStatement 1548002 1548164 + VariableDeclarationList 1548002 1548163 + VariableDeclaration 1548029 1548163 + Identifier 1548029 1548041 + CallExpression 1548043 1548163 + Identifier 1548043 1548068 + PropertyAccessExpression 1548069 1548094 + Identifier 1548069 1548075 + Identifier 1548076 1548094 + Identifier 1548095 1548102 + Identifier 1548103 1548113 + CallExpression 1548114 1548162 + Identifier 1548114 1548125 + PropertyAccessExpression 1548126 1548161 + PropertyAccessExpression 1548126 1548144 + Identifier 1548126 1548132 + Identifier 1548133 1548144 + Identifier 1548145 1548161 + ExpressionStatement 1548164 1548275 + CallExpression 1548164 1548274 + Identifier 1548164 1548208 + Identifier 1548209 1548220 + NonNullExpression 1548221 1548234 + Identifier 1548221 1548233 + CallExpression 1548235 1548273 + Identifier 1548235 1548253 + PropertyAccessExpression 1548254 1548272 + Identifier 1548254 1548260 + Identifier 1548261 1548272 + ReturnStatement 1548294 1548446 + IfStatement 1548461 1548876 + BinaryExpression 1548479 1548544 + BinaryExpression 1548479 1548496 + Identifier 1548479 1548485 + EqualsEqualsEqualsToken 1548485 1548489 + Identifier 1548489 1548496 + AmpersandAmpersandToken 1548496 1548499 + BinaryExpression 1548499 1548544 + PropertyAccessExpression 1548499 1548512 + Identifier 1548499 1548506 + Identifier 1548507 1548512 + AmpersandToken 1548512 1548514 + PropertyAccessExpression 1548514 1548544 + Identifier 1548514 1548524 + Identifier 1548525 1548544 + Block 1548545 1548876 + ForOfStatement 1548547 1548836 + VariableDeclarationList 1548719 1548726 + VariableDeclaration 1548724 1548726 + Identifier 1548724 1548726 + PropertyAccessExpression 1548729 1548771 + ParenthesizedExpression 1548729 1548765 + AsExpression 1548731 1548764 + Identifier 1548731 1548737 + TypeReference 1548740 1548764 + Identifier 1548740 1548764 + Identifier 1548766 1548771 + Block 1548772 1548836 + ExpressionStatement 1548774 1548817 + CallExpression 1548774 1548816 + Identifier 1548774 1548810 + Identifier 1548811 1548812 + Identifier 1548813 1548815 + ReturnStatement 1548836 1548861 + IfStatement 1548876 1551818 + BinaryExpression 1548894 1548924 + PropertyAccessExpression 1548894 1548906 + Identifier 1548894 1548900 + Identifier 1548901 1548906 + AmpersandToken 1548906 1548908 + PropertyAccessExpression 1548908 1548924 + Identifier 1548908 1548918 + Identifier 1548919 1548924 + Block 1548925 1550591 + VariableStatement 1548927 1549274 + VariableDeclarationList 1548927 1549273 + VariableDeclaration 1549094 1549273 + ArrayBindingPattern 1549094 1549121 + BindingElement 1549096 1549107 + Identifier 1549096 1549107 + BindingElement 1549108 1549120 + Identifier 1549108 1549120 + CallExpression 1549123 1549273 + Identifier 1549123 1549146 + ConditionalExpression 1549147 1549218 + BinaryExpression 1549147 1549177 + PropertyAccessExpression 1549147 1549159 + Identifier 1549147 1549153 + Identifier 1549154 1549159 + AmpersandToken 1549159 1549161 + PropertyAccessExpression 1549161 1549177 + Identifier 1549161 1549171 + Identifier 1549172 1549177 + QuestionToken 1549177 1549179 + PropertyAccessExpression 1549179 1549207 + ParenthesizedExpression 1549179 1549201 + AsExpression 1549181 1549200 + Identifier 1549181 1549187 + TypeReference 1549190 1549200 + Identifier 1549190 1549200 + Identifier 1549202 1549207 + ColonToken 1549207 1549209 + ArrayLiteralExpression 1549209 1549218 + Identifier 1549211 1549217 + PropertyAccessExpression 1549219 1549247 + ParenthesizedExpression 1549219 1549241 + AsExpression 1549221 1549240 + Identifier 1549221 1549227 + TypeReference 1549230 1549240 + Identifier 1549230 1549240 + Identifier 1549242 1549247 + Identifier 1549248 1549272 + VariableStatement 1549274 1549666 + VariableDeclarationList 1549274 1549665 + VariableDeclaration 1549571 1549665 + ArrayBindingPattern 1549571 1549590 + BindingElement 1549573 1549580 + Identifier 1549573 1549580 + BindingElement 1549581 1549589 + Identifier 1549581 1549589 + CallExpression 1549592 1549665 + Identifier 1549592 1549615 + Identifier 1549616 1549627 + Identifier 1549628 1549640 + Identifier 1549641 1549664 + IfStatement 1549666 1549759 + BinaryExpression 1549688 1549708 + PropertyAccessExpression 1549688 1549702 + Identifier 1549688 1549695 + Identifier 1549696 1549702 + EqualsEqualsEqualsToken 1549702 1549706 + NumericLiteral 1549706 1549708 + Block 1549709 1549759 + ReturnStatement 1549711 1549740 + ExpressionStatement 1549759 1549808 + BinaryExpression 1549759 1549807 + Identifier 1549759 1549783 + EqualsToken 1549783 1549785 + CallExpression 1549785 1549807 + Identifier 1549785 1549798 + Identifier 1549799 1549806 + IfStatement 1549808 1550527 + BinaryExpression 1549830 1549850 + PropertyAccessExpression 1549830 1549844 + Identifier 1549830 1549837 + Identifier 1549838 1549844 + EqualsEqualsEqualsToken 1549844 1549848 + NumericLiteral 1549848 1549850 + Block 1549851 1550527 + ExpressionStatement 1549853 1550479 + CallExpression 1549853 1550478 + Identifier 1549853 1550425 + Identifier 1550426 1550432 + Identifier 1550433 1550440 + PropertyAccessExpression 1550441 1550477 + Identifier 1550441 1550459 + Identifier 1550460 1550477 + ReturnStatement 1550479 1550508 + ExpressionStatement 1550527 1550576 + BinaryExpression 1550527 1550575 + Identifier 1550527 1550551 + EqualsToken 1550551 1550553 + CallExpression 1550553 1550575 + Identifier 1550553 1550566 + Identifier 1550567 1550574 + IfStatement 1550609 1551818 + BinaryExpression 1550614 1550721 + BinaryExpression 1550614 1550651 + PropertyAccessExpression 1550614 1550626 + Identifier 1550614 1550620 + Identifier 1550621 1550626 + AmpersandToken 1550626 1550628 + PropertyAccessExpression 1550628 1550651 + Identifier 1550628 1550638 + Identifier 1550639 1550651 + AmpersandAmpersandToken 1550651 1550654 + PrefixUnaryExpression 1550654 1550721 + CallExpression 1550656 1550721 + Identifier 1550656 1550661 + PropertyAccessExpression 1550662 1550696 + ParenthesizedExpression 1550662 1550690 + AsExpression 1550663 1550689 + Identifier 1550663 1550669 + TypeReference 1550672 1550689 + Identifier 1550672 1550689 + Identifier 1550691 1550696 + Identifier 1550697 1550720 + Block 1550722 1551818 + IfStatement 1550724 1551803 + PrefixUnaryExpression 1551164 1551197 + ParenthesizedExpression 1551165 1551197 + BinaryExpression 1551166 1551196 + PropertyAccessExpression 1551166 1551178 + Identifier 1551166 1551172 + Identifier 1551173 1551178 + AmpersandToken 1551178 1551180 + PropertyAccessExpression 1551180 1551196 + Identifier 1551180 1551190 + Identifier 1551191 1551196 + Block 1551198 1551803 + VariableStatement 1551200 1551535 + VariableDeclarationList 1551200 1551534 + VariableDeclaration 1551348 1551534 + ArrayBindingPattern 1551348 1551367 + BindingElement 1551350 1551357 + Identifier 1551350 1551357 + BindingElement 1551358 1551366 + Identifier 1551358 1551366 + CallExpression 1551369 1551534 + Identifier 1551369 1551392 + ConditionalExpression 1551393 1551478 + BinaryExpression 1551393 1551430 + PropertyAccessExpression 1551393 1551405 + Identifier 1551393 1551399 + Identifier 1551400 1551405 + AmpersandToken 1551405 1551407 + PropertyAccessExpression 1551407 1551430 + Identifier 1551407 1551417 + Identifier 1551418 1551430 + QuestionToken 1551430 1551432 + PropertyAccessExpression 1551432 1551467 + ParenthesizedExpression 1551432 1551461 + AsExpression 1551434 1551460 + Identifier 1551434 1551440 + TypeReference 1551443 1551460 + Identifier 1551443 1551460 + Identifier 1551462 1551467 + ColonToken 1551467 1551469 + ArrayLiteralExpression 1551469 1551478 + Identifier 1551471 1551477 + PropertyAccessExpression 1551479 1551514 + ParenthesizedExpression 1551479 1551508 + AsExpression 1551481 1551507 + Identifier 1551481 1551487 + TypeReference 1551490 1551507 + Identifier 1551490 1551507 + Identifier 1551509 1551514 + Identifier 1551515 1551533 + IfStatement 1551535 1551664 + BinaryExpression 1551561 1551605 + BinaryExpression 1551561 1551581 + PropertyAccessExpression 1551561 1551575 + Identifier 1551561 1551568 + Identifier 1551569 1551575 + EqualsEqualsEqualsToken 1551575 1551579 + NumericLiteral 1551579 1551581 + BarBarToken 1551581 1551584 + BinaryExpression 1551584 1551605 + PropertyAccessExpression 1551584 1551599 + Identifier 1551584 1551592 + Identifier 1551593 1551599 + EqualsEqualsEqualsToken 1551599 1551603 + NumericLiteral 1551603 1551605 + Block 1551606 1551664 + ReturnStatement 1551608 1551641 + ExpressionStatement 1551664 1551724 + BinaryExpression 1551664 1551723 + Identifier 1551664 1551692 + EqualsToken 1551692 1551694 + CallExpression 1551694 1551723 + Identifier 1551694 1551714 + Identifier 1551715 1551722 + ExpressionStatement 1551724 1551784 + BinaryExpression 1551724 1551783 + Identifier 1551724 1551752 + EqualsToken 1551752 1551754 + CallExpression 1551754 1551783 + Identifier 1551754 1551774 + Identifier 1551775 1551782 + IfStatement 1551818 1552070 + BinaryExpression 1551836 1551901 + PropertyAccessExpression 1551836 1551848 + Identifier 1551836 1551842 + Identifier 1551843 1551848 + AmpersandToken 1551848 1551850 + ParenthesizedExpression 1551850 1551901 + BinaryExpression 1551852 1551900 + PropertyAccessExpression 1551852 1551875 + Identifier 1551852 1551861 + Identifier 1551862 1551875 + BarToken 1551875 1551877 + PropertyAccessExpression 1551877 1551900 + Identifier 1551877 1551887 + Identifier 1551888 1551900 + Block 1551902 1552070 + IfStatement 1551904 1551998 + CallExpression 1551926 1551947 + Identifier 1551926 1551939 + Identifier 1551940 1551946 + Block 1551948 1551998 + ReturnStatement 1551950 1551979 + ExpressionStatement 1551998 1552055 + BinaryExpression 1551998 1552054 + Identifier 1551998 1552022 + EqualsToken 1552022 1552024 + CallExpression 1552024 1552054 + Identifier 1552024 1552046 + Identifier 1552047 1552053 + IfStatement 1552070 1557907 + BinaryExpression 1552088 1552125 + PropertyAccessExpression 1552088 1552100 + Identifier 1552088 1552094 + Identifier 1552095 1552100 + AmpersandToken 1552100 1552102 + PropertyAccessExpression 1552102 1552125 + Identifier 1552102 1552112 + Identifier 1552113 1552125 + Block 1552126 1557907 + IfStatement 1552128 1552412 + CallExpression 1552325 1552361 + Identifier 1552325 1552353 + Identifier 1552354 1552360 + Block 1552362 1552412 + ReturnStatement 1552364 1552393 + VariableStatement 1552412 1552480 + VariableDeclarationList 1552412 1552479 + VariableDeclaration 1552435 1552479 + Identifier 1552435 1552445 + CallExpression 1552447 1552479 + Identifier 1552447 1552471 + Identifier 1552472 1552478 + IfStatement 1552480 1556575 + Identifier 1552502 1552511 + Block 1552512 1556575 + IfStatement 1552514 1554015 + BinaryExpression 1553867 1553956 + BinaryExpression 1553867 1553921 + CallExpression 1553867 1553889 + Identifier 1553867 1553881 + Identifier 1553882 1553888 + AmpersandToken 1553889 1553891 + PropertyAccessExpression 1553891 1553921 + Identifier 1553891 1553903 + Identifier 1553904 1553921 + BarBarToken 1553921 1553924 + BinaryExpression 1553924 1553956 + Identifier 1553924 1553931 + EqualsEqualsEqualsToken 1553931 1553935 + Identifier 1553935 1553956 + Block 1553957 1554015 + ReturnStatement 1553959 1553992 + IfStatement 1554015 1556447 + PrefixUnaryExpression 1554041 1554059 + PropertyAccessExpression 1554042 1554059 + Identifier 1554042 1554051 + Identifier 1554052 1554059 + Block 1554060 1556447 + VariableStatement 1554062 1554132 + VariableDeclarationList 1554062 1554131 + VariableDeclaration 1554093 1554131 + Identifier 1554093 1554103 + BinaryExpression 1554105 1554131 + Identifier 1554105 1554121 + BarBarToken 1554121 1554124 + Identifier 1554124 1554131 + IfStatement 1554132 1554260 + BinaryExpression 1554162 1554193 + Identifier 1554162 1554171 + EqualsEqualsEqualsToken 1554171 1554175 + Identifier 1554175 1554193 + Block 1554194 1554260 + ReturnStatement 1554196 1554233 + IfStatement 1554260 1554633 + BinaryExpression 1554290 1554355 + BinaryExpression 1554290 1554322 + PropertyAccessExpression 1554290 1554308 + Identifier 1554290 1554299 + Identifier 1554300 1554308 + EqualsEqualsEqualsToken 1554308 1554312 + Identifier 1554312 1554322 + BarBarToken 1554322 1554325 + BinaryExpression 1554325 1554355 + Identifier 1554325 1554334 + LessThanToken 1554334 1554336 + PropertyAccessExpression 1554336 1554355 + Identifier 1554336 1554346 + Identifier 1554347 1554355 + Block 1554356 1554633 + ExpressionStatement 1554358 1554421 + BinaryExpression 1554358 1554420 + PropertyAccessExpression 1554358 1554408 + Identifier 1554358 1554397 + Identifier 1554398 1554408 + EqualsToken 1554408 1554410 + Identifier 1554410 1554420 + ExpressionStatement 1554421 1554490 + BinaryExpression 1554421 1554489 + PropertyAccessExpression 1554421 1554477 + Identifier 1554421 1554460 + Identifier 1554461 1554477 + EqualsToken 1554477 1554479 + Identifier 1554479 1554489 + ExpressionStatement 1554490 1554546 + BinaryExpression 1554490 1554545 + PropertyAccessExpression 1554490 1554538 + Identifier 1554490 1554529 + Identifier 1554530 1554538 + EqualsToken 1554538 1554540 + TrueKeyword 1554540 1554545 + ExpressionStatement 1554546 1554606 + BinaryExpression 1554546 1554605 + PropertyAccessExpression 1554546 1554594 + Identifier 1554546 1554585 + Identifier 1554586 1554594 + EqualsToken 1554594 1554596 + Identifier 1554596 1554605 + IfStatement 1554633 1556066 + BinaryExpression 1554663 1554694 + Identifier 1554663 1554671 + EqualsEqualsEqualsToken 1554671 1554675 + PropertyAccessExpression 1554675 1554694 + Identifier 1554675 1554685 + Identifier 1554686 1554694 + Block 1554695 1556066 + IfStatement 1554697 1555147 + CallExpression 1555023 1555072 + Identifier 1555023 1555036 + PropertyAccessExpression 1555037 1555060 + Identifier 1555037 1555046 + Identifier 1555047 1555060 + Identifier 1555061 1555071 + Block 1555073 1555147 + ReturnStatement 1555075 1555116 + IfStatement 1555147 1556039 + BinaryExpression 1555389 1555416 + Identifier 1555389 1555402 + AmpersandAmpersandToken 1555402 1555405 + PrefixUnaryExpression 1555405 1555416 + Identifier 1555407 1555416 + Block 1555417 1555759 + IfStatement 1555419 1555728 + PrefixUnaryExpression 1555457 1555505 + CallExpression 1555458 1555505 + Identifier 1555458 1555466 + PropertyAccessExpression 1555467 1555493 + Identifier 1555467 1555476 + Identifier 1555477 1555493 + Identifier 1555494 1555504 + Block 1555506 1555728 + ExpressionStatement 1555508 1555621 + BinaryExpression 1555508 1555620 + PropertyAccessExpression 1555508 1555572 + Identifier 1555508 1555555 + Identifier 1555556 1555572 + EqualsToken 1555572 1555574 + CallExpression 1555574 1555620 + Identifier 1555574 1555581 + PropertyAccessExpression 1555582 1555608 + Identifier 1555582 1555591 + Identifier 1555592 1555608 + Identifier 1555609 1555619 + ExpressionStatement 1555621 1555693 + CallExpression 1555621 1555692 + Identifier 1555621 1555680 + Identifier 1555681 1555691 + IfStatement 1555793 1556039 + PrefixUnaryExpression 1555798 1555840 + CallExpression 1555799 1555840 + Identifier 1555799 1555807 + PropertyAccessExpression 1555808 1555828 + Identifier 1555808 1555817 + Identifier 1555818 1555828 + Identifier 1555829 1555839 + Block 1555841 1556039 + ExpressionStatement 1555843 1555940 + BinaryExpression 1555843 1555939 + PropertyAccessExpression 1555843 1555897 + Identifier 1555843 1555886 + Identifier 1555887 1555897 + EqualsToken 1555897 1555899 + CallExpression 1555899 1555939 + Identifier 1555899 1555906 + PropertyAccessExpression 1555907 1555927 + Identifier 1555907 1555916 + Identifier 1555917 1555927 + Identifier 1555928 1555938 + ExpressionStatement 1555940 1556008 + CallExpression 1555940 1556007 + Identifier 1555940 1555995 + Identifier 1555996 1556006 + IfStatement 1556066 1556424 + BinaryExpression 1556096 1556273 + BinaryExpression 1556096 1556202 + BinaryExpression 1556096 1556180 + PrefixUnaryExpression 1556096 1556138 + ParenthesizedExpression 1556097 1556138 + BinaryExpression 1556098 1556137 + Identifier 1556098 1556106 + AmpersandToken 1556106 1556108 + PropertyAccessExpression 1556108 1556137 + Identifier 1556108 1556126 + Identifier 1556127 1556137 + AmpersandAmpersandToken 1556138 1556141 + BinaryExpression 1556141 1556180 + PropertyAccessExpression 1556141 1556154 + Identifier 1556141 1556148 + Identifier 1556149 1556154 + AmpersandToken 1556154 1556156 + PropertyAccessExpression 1556156 1556180 + Identifier 1556156 1556166 + Identifier 1556167 1556180 + AmpersandAmpersandToken 1556180 1556183 + PropertyAccessExpression 1556183 1556202 + Identifier 1556183 1556193 + Identifier 1556194 1556202 + AmpersandAmpersandToken 1556202 1556205 + PrefixUnaryExpression 1556205 1556273 + CallExpression 1556207 1556273 + Identifier 1556207 1556232 + Identifier 1556233 1556247 + AsExpression 1556248 1556272 + Identifier 1556248 1556255 + TypeReference 1556258 1556272 + Identifier 1556258 1556272 + Block 1556274 1556424 + ExpressionStatement 1556276 1556333 + BinaryExpression 1556276 1556332 + PropertyAccessExpression 1556276 1556324 + Identifier 1556276 1556315 + Identifier 1556316 1556324 + EqualsToken 1556324 1556326 + FalseKeyword 1556326 1556332 + ExpressionStatement 1556333 1556397 + CallExpression 1556333 1556396 + Identifier 1556333 1556384 + Identifier 1556385 1556395 + ExpressionStatement 1556447 1556527 + BinaryExpression 1556447 1556526 + Identifier 1556447 1556486 + EqualsToken 1556486 1556488 + CallExpression 1556488 1556526 + PropertyAccessExpression 1556488 1556497 + Identifier 1556488 1556493 + Identifier 1556494 1556497 + Identifier 1556498 1556515 + Identifier 1556516 1556525 + ReturnStatement 1556527 1556556 + VariableStatement 1556575 1556816 + VariableDeclarationList 1556575 1556815 + VariableDeclaration 1556757 1556815 + Identifier 1556757 1556768 + CallExpression 1556770 1556815 + Identifier 1556770 1556788 + Identifier 1556789 1556795 + FalseKeyword 1556796 1556814 + IfStatement 1556816 1557892 + BinaryExpression 1556838 1556859 + Identifier 1556838 1556848 + ExclamationEqualsEqualsToken 1556848 1556852 + Identifier 1556852 1556859 + Block 1556860 1556938 + ExpressionStatement 1556862 1556919 + CallExpression 1556862 1556918 + Identifier 1556862 1556898 + Identifier 1556899 1556905 + Identifier 1556906 1556917 + IfStatement 1556960 1557892 + BinaryExpression 1556965 1557003 + PropertyAccessExpression 1556965 1556977 + Identifier 1556965 1556971 + Identifier 1556972 1556977 + AmpersandToken 1556977 1556979 + PropertyAccessExpression 1556979 1557003 + Identifier 1556979 1556989 + Identifier 1556990 1557003 + Block 1557004 1557892 + VariableStatement 1557006 1557124 + VariableDeclarationList 1557006 1557123 + VariableDeclaration 1557033 1557123 + Identifier 1557033 1557043 + CallExpression 1557045 1557123 + Identifier 1557045 1557063 + PropertyAccessExpression 1557064 1557103 + ParenthesizedExpression 1557064 1557093 + AsExpression 1557065 1557092 + Identifier 1557065 1557071 + TypeReference 1557074 1557092 + Identifier 1557074 1557092 + Identifier 1557094 1557103 + FalseKeyword 1557104 1557122 + IfStatement 1557124 1557873 + BinaryExpression 1557462 1557502 + PropertyAccessExpression 1557462 1557477 + Identifier 1557462 1557471 + Identifier 1557472 1557477 + AmpersandToken 1557477 1557479 + PropertyAccessExpression 1557479 1557502 + Identifier 1557479 1557489 + Identifier 1557490 1557502 + Block 1557503 1557873 + VariableStatement 1557505 1557690 + VariableDeclarationList 1557505 1557689 + VariableDeclaration 1557536 1557689 + Identifier 1557536 1557547 + CallExpression 1557549 1557689 + Identifier 1557549 1557579 + CallExpression 1557580 1557658 + Identifier 1557580 1557597 + PropertyAccessExpression 1557598 1557638 + ParenthesizedExpression 1557598 1557627 + AsExpression 1557599 1557626 + Identifier 1557599 1557605 + TypeReference 1557608 1557626 + Identifier 1557608 1557626 + Identifier 1557628 1557638 + FalseKeyword 1557639 1557657 + Identifier 1557659 1557669 + FalseKeyword 1557670 1557688 + IfStatement 1557690 1557850 + BinaryExpression 1557720 1557755 + Identifier 1557720 1557730 + AmpersandAmpersandToken 1557730 1557733 + BinaryExpression 1557733 1557755 + Identifier 1557733 1557744 + ExclamationEqualsEqualsToken 1557744 1557748 + Identifier 1557748 1557755 + Block 1557756 1557850 + ExpressionStatement 1557758 1557823 + CallExpression 1557758 1557822 + Identifier 1557758 1557802 + Identifier 1557803 1557809 + Identifier 1557810 1557821 + IfStatement 1557907 1562341 + BinaryExpression 1557925 1558288 + BinaryExpression 1557925 1558200 + BinaryExpression 1557925 1558039 + BinaryExpression 1557925 1557989 + CallExpression 1557925 1557965 + Identifier 1557925 1557957 + Identifier 1557958 1557964 + AmpersandToken 1557965 1557967 + PropertyAccessExpression 1557967 1557989 + Identifier 1557967 1557979 + Identifier 1557980 1557989 + AmpersandAmpersandToken 1557989 1557992 + BinaryExpression 1557992 1558039 + CallExpression 1557992 1558015 + Identifier 1557992 1558007 + Identifier 1558008 1558014 + AmpersandToken 1558015 1558017 + PropertyAccessExpression 1558017 1558039 + Identifier 1558017 1558029 + Identifier 1558030 1558039 + AmpersandAmpersandToken 1558039 1558042 + ParenthesizedExpression 1558042 1558200 + BinaryExpression 1558044 1558181 + BinaryExpression 1558044 1558135 + PropertyAccessExpression 1558044 1558098 + ParenthesizedExpression 1558044 1558091 + AsExpression 1558067 1558090 + Identifier 1558067 1558073 + TypeReference 1558076 1558090 + Identifier 1558076 1558090 + Identifier 1558092 1558098 + EqualsEqualsEqualsToken 1558098 1558102 + PropertyAccessExpression 1558102 1558135 + ParenthesizedExpression 1558102 1558128 + AsExpression 1558104 1558127 + Identifier 1558104 1558110 + TypeReference 1558113 1558127 + Identifier 1558113 1558127 + Identifier 1558129 1558135 + BarBarToken 1558135 1558138 + BinaryExpression 1558138 1558181 + CallExpression 1558138 1558158 + Identifier 1558138 1558150 + Identifier 1558151 1558157 + AmpersandAmpersandToken 1558158 1558161 + CallExpression 1558161 1558181 + Identifier 1558161 1558173 + Identifier 1558174 1558180 + AmpersandAmpersandToken 1558200 1558203 + PrefixUnaryExpression 1558203 1558288 + ParenthesizedExpression 1558222 1558288 + BinaryExpression 1558223 1558287 + PropertyAccessExpression 1558223 1558253 + ParenthesizedExpression 1558223 1558248 + AsExpression 1558224 1558247 + Identifier 1558224 1558230 + TypeReference 1558233 1558247 + Identifier 1558233 1558247 + Identifier 1558249 1558253 + AmpersandAmpersandToken 1558253 1558256 + PropertyAccessExpression 1558256 1558287 + ParenthesizedExpression 1558256 1558282 + AsExpression 1558258 1558281 + Identifier 1558258 1558264 + TypeReference 1558267 1558281 + Identifier 1558267 1558281 + Identifier 1558283 1558287 + Block 1558303 1558603 + ExpressionStatement 1558305 1558588 + CallExpression 1558305 1558587 + Identifier 1558305 1558453 + CallExpression 1558454 1558495 + Identifier 1558454 1558470 + AsExpression 1558471 1558494 + Identifier 1558471 1558477 + TypeReference 1558480 1558494 + Identifier 1558480 1558494 + CallExpression 1558496 1558538 + Identifier 1558496 1558513 + AsExpression 1558514 1558537 + Identifier 1558514 1558520 + TypeReference 1558523 1558537 + Identifier 1558523 1558537 + CallExpression 1558539 1558586 + Identifier 1558539 1558552 + PropertyAccessExpression 1558553 1558585 + ParenthesizedExpression 1558553 1558578 + AsExpression 1558554 1558577 + Identifier 1558554 1558560 + TypeReference 1558563 1558577 + Identifier 1558563 1558577 + Identifier 1558579 1558585 + IfStatement 1558621 1562341 + BinaryExpression 1558626 1558690 + BinaryExpression 1558626 1558656 + PropertyAccessExpression 1558626 1558638 + Identifier 1558626 1558632 + Identifier 1558633 1558638 + AmpersandToken 1558638 1558640 + PropertyAccessExpression 1558640 1558656 + Identifier 1558640 1558650 + Identifier 1558651 1558656 + AmpersandAmpersandToken 1558656 1558659 + BinaryExpression 1558659 1558690 + PropertyAccessExpression 1558659 1558672 + Identifier 1558659 1558666 + Identifier 1558667 1558672 + AmpersandToken 1558672 1558674 + PropertyAccessExpression 1558674 1558690 + Identifier 1558674 1558684 + Identifier 1558685 1558690 + Block 1558691 1558810 + ExpressionStatement 1558693 1558795 + CallExpression 1558693 1558794 + Identifier 1558693 1558738 + PropertyAccessExpression 1558739 1558765 + ParenthesizedExpression 1558739 1558760 + AsExpression 1558740 1558759 + Identifier 1558740 1558746 + TypeReference 1558749 1558759 + Identifier 1558749 1558759 + Identifier 1558761 1558765 + PropertyAccessExpression 1558766 1558793 + ParenthesizedExpression 1558766 1558788 + AsExpression 1558768 1558787 + Identifier 1558768 1558774 + TypeReference 1558777 1558787 + Identifier 1558777 1558787 + Identifier 1558789 1558793 + IfStatement 1558828 1562341 + BinaryExpression 1558833 1558925 + ParenthesizedExpression 1558833 1558891 + BinaryExpression 1558834 1558890 + CallExpression 1558834 1558855 + Identifier 1558834 1558847 + Identifier 1558848 1558854 + BarBarToken 1558855 1558858 + BinaryExpression 1558858 1558890 + PropertyAccessExpression 1558858 1558871 + Identifier 1558858 1558865 + Identifier 1558866 1558871 + AmpersandToken 1558871 1558873 + PropertyAccessExpression 1558873 1558890 + Identifier 1558873 1558883 + Identifier 1558884 1558890 + AmpersandAmpersandToken 1558891 1558894 + BinaryExpression 1558894 1558925 + PropertyAccessExpression 1558894 1558907 + Identifier 1558894 1558901 + Identifier 1558902 1558907 + AmpersandToken 1558907 1558909 + PropertyAccessExpression 1558909 1558925 + Identifier 1558909 1558919 + Identifier 1558920 1558925 + Block 1558926 1559147 + VariableStatement 1558928 1559007 + VariableDeclarationList 1558928 1559006 + VariableDeclaration 1558951 1559006 + Identifier 1558951 1558957 + CallExpression 1558959 1559006 + Identifier 1558959 1558998 + Identifier 1558999 1559005 + ExpressionStatement 1559007 1559132 + CallExpression 1559007 1559131 + Identifier 1559007 1559064 + Identifier 1559065 1559070 + PropertyAccessExpression 1559071 1559098 + ParenthesizedExpression 1559071 1559093 + AsExpression 1559073 1559092 + Identifier 1559073 1559079 + TypeReference 1559082 1559092 + Identifier 1559082 1559092 + Identifier 1559094 1559098 + PropertyAccessExpression 1559099 1559130 + Identifier 1559099 1559117 + Identifier 1559118 1559130 + IfStatement 1559165 1562341 + BinaryExpression 1559170 1559250 + BinaryExpression 1559170 1559208 + PropertyAccessExpression 1559170 1559182 + Identifier 1559170 1559176 + Identifier 1559177 1559182 + AmpersandToken 1559182 1559184 + PropertyAccessExpression 1559184 1559208 + Identifier 1559184 1559194 + Identifier 1559195 1559208 + AmpersandAmpersandToken 1559208 1559211 + BinaryExpression 1559211 1559250 + PropertyAccessExpression 1559211 1559224 + Identifier 1559211 1559218 + Identifier 1559219 1559224 + AmpersandToken 1559224 1559226 + PropertyAccessExpression 1559226 1559250 + Identifier 1559226 1559236 + Identifier 1559237 1559250 + Block 1559251 1559500 + ExpressionStatement 1559253 1559370 + CallExpression 1559253 1559369 + Identifier 1559253 1559285 + PropertyAccessExpression 1559286 1559326 + ParenthesizedExpression 1559286 1559315 + AsExpression 1559287 1559314 + Identifier 1559287 1559293 + TypeReference 1559296 1559314 + Identifier 1559296 1559314 + Identifier 1559316 1559326 + PropertyAccessExpression 1559327 1559368 + ParenthesizedExpression 1559327 1559357 + AsExpression 1559329 1559356 + Identifier 1559329 1559335 + TypeReference 1559338 1559356 + Identifier 1559338 1559356 + Identifier 1559358 1559368 + ExpressionStatement 1559370 1559485 + CallExpression 1559370 1559484 + Identifier 1559370 1559402 + PropertyAccessExpression 1559403 1559442 + ParenthesizedExpression 1559403 1559432 + AsExpression 1559404 1559431 + Identifier 1559404 1559410 + TypeReference 1559413 1559431 + Identifier 1559413 1559431 + Identifier 1559433 1559442 + PropertyAccessExpression 1559443 1559483 + ParenthesizedExpression 1559443 1559473 + AsExpression 1559445 1559472 + Identifier 1559445 1559451 + TypeReference 1559454 1559472 + Identifier 1559454 1559472 + Identifier 1559474 1559483 + IfStatement 1559518 1562341 + BinaryExpression 1559523 1559603 + BinaryExpression 1559523 1559561 + PropertyAccessExpression 1559523 1559535 + Identifier 1559523 1559529 + Identifier 1559530 1559535 + AmpersandToken 1559535 1559537 + PropertyAccessExpression 1559537 1559561 + Identifier 1559537 1559547 + Identifier 1559548 1559561 + AmpersandAmpersandToken 1559561 1559564 + BinaryExpression 1559564 1559603 + PropertyAccessExpression 1559564 1559577 + Identifier 1559564 1559571 + Identifier 1559572 1559577 + AmpersandToken 1559577 1559579 + PropertyAccessExpression 1559579 1559603 + Identifier 1559579 1559589 + Identifier 1559590 1559603 + Block 1559604 1559851 + IfStatement 1559606 1559836 + BinaryExpression 1559628 1559705 + PropertyAccessExpression 1559628 1559664 + ParenthesizedExpression 1559628 1559657 + AsExpression 1559629 1559656 + Identifier 1559629 1559635 + TypeReference 1559638 1559656 + Identifier 1559638 1559656 + Identifier 1559658 1559664 + EqualsEqualsEqualsToken 1559664 1559668 + PropertyAccessExpression 1559668 1559705 + ParenthesizedExpression 1559668 1559698 + AsExpression 1559670 1559697 + Identifier 1559670 1559676 + TypeReference 1559679 1559697 + Identifier 1559679 1559697 + Identifier 1559699 1559705 + Block 1559706 1559836 + ExpressionStatement 1559708 1559817 + CallExpression 1559708 1559816 + Identifier 1559708 1559744 + PropertyAccessExpression 1559745 1559779 + ParenthesizedExpression 1559745 1559774 + AsExpression 1559746 1559773 + Identifier 1559746 1559752 + TypeReference 1559755 1559773 + Identifier 1559755 1559773 + Identifier 1559775 1559779 + PropertyAccessExpression 1559780 1559815 + ParenthesizedExpression 1559780 1559810 + AsExpression 1559782 1559809 + Identifier 1559782 1559788 + TypeReference 1559791 1559809 + Identifier 1559791 1559809 + Identifier 1559811 1559815 + IfStatement 1559869 1562341 + BinaryExpression 1559874 1559911 + PropertyAccessExpression 1559874 1559886 + Identifier 1559874 1559880 + Identifier 1559881 1559886 + AmpersandToken 1559886 1559888 + PropertyAccessExpression 1559888 1559911 + Identifier 1559888 1559898 + Identifier 1559899 1559911 + Block 1559912 1560195 + ExpressionStatement 1559914 1559994 + CallExpression 1559914 1559993 + Identifier 1559914 1559946 + PropertyAccessExpression 1559947 1559984 + ParenthesizedExpression 1559947 1559975 + AsExpression 1559948 1559974 + Identifier 1559948 1559954 + TypeReference 1559957 1559974 + Identifier 1559957 1559974 + Identifier 1559976 1559984 + Identifier 1559985 1559992 + ExpressionStatement 1559994 1560131 + CallExpression 1559994 1560130 + Identifier 1559994 1560029 + CallExpression 1560030 1560085 + Identifier 1560030 1560057 + AsExpression 1560058 1560084 + Identifier 1560058 1560064 + TypeReference 1560067 1560084 + Identifier 1560067 1560084 + Identifier 1560086 1560093 + PropertyAccessExpression 1560094 1560129 + Identifier 1560094 1560112 + Identifier 1560113 1560129 + IfStatement 1560213 1562341 + BinaryExpression 1560218 1560254 + PropertyAccessExpression 1560218 1560230 + Identifier 1560218 1560224 + Identifier 1560225 1560230 + AmpersandToken 1560230 1560232 + PropertyAccessExpression 1560232 1560254 + Identifier 1560232 1560242 + Identifier 1560243 1560254 + Block 1560255 1560360 + ExpressionStatement 1560257 1560345 + CallExpression 1560257 1560344 + Identifier 1560257 1560285 + Identifier 1560286 1560292 + AsExpression 1560293 1560319 + Identifier 1560293 1560300 + TypeReference 1560303 1560319 + Identifier 1560303 1560319 + Identifier 1560320 1560343 + IfStatement 1560378 1562341 + BinaryExpression 1560383 1560427 + PropertyAccessExpression 1560383 1560395 + Identifier 1560383 1560389 + Identifier 1560390 1560395 + AmpersandToken 1560395 1560397 + PropertyAccessExpression 1560397 1560427 + Identifier 1560397 1560407 + Identifier 1560408 1560427 + Block 1560428 1560549 + ExpressionStatement 1560430 1560534 + CallExpression 1560430 1560533 + Identifier 1560430 1560468 + Identifier 1560469 1560475 + PropertyAccessExpression 1560476 1560518 + ParenthesizedExpression 1560476 1560512 + AsExpression 1560478 1560511 + Identifier 1560478 1560484 + TypeReference 1560487 1560511 + Identifier 1560487 1560511 + Identifier 1560513 1560518 + PropertyAccessExpression 1560519 1560532 + Identifier 1560519 1560526 + Identifier 1560527 1560532 + IfStatement 1560567 1562341 + BinaryExpression 1560572 1560602 + PropertyAccessExpression 1560572 1560584 + Identifier 1560572 1560578 + Identifier 1560579 1560584 + AmpersandToken 1560584 1560586 + PropertyAccessExpression 1560586 1560602 + Identifier 1560586 1560596 + Identifier 1560597 1560602 + Block 1560603 1560926 + VariableStatement 1560605 1560778 + VariableDeclarationList 1560605 1560777 + VariableDeclaration 1560721 1560777 + Identifier 1560721 1560733 + PropertyAccessExpression 1560735 1560777 + ParenthesizedExpression 1560735 1560771 + AsExpression 1560737 1560770 + Identifier 1560737 1560743 + TypeReference 1560746 1560770 + Identifier 1560746 1560770 + Identifier 1560772 1560777 + ForOfStatement 1560778 1560911 + VariableDeclarationList 1560801 1560817 + VariableDeclaration 1560806 1560817 + Identifier 1560806 1560817 + Identifier 1560820 1560832 + Block 1560833 1560911 + ExpressionStatement 1560835 1560892 + CallExpression 1560835 1560891 + Identifier 1560835 1560871 + Identifier 1560872 1560882 + Identifier 1560883 1560890 + IfStatement 1560944 1562341 + BinaryExpression 1560949 1560989 + PropertyAccessExpression 1560949 1560961 + Identifier 1560949 1560955 + Identifier 1560956 1560961 + AmpersandToken 1560961 1560963 + PropertyAccessExpression 1560963 1560989 + Identifier 1560963 1560973 + Identifier 1560974 1560989 + Block 1560990 1561091 + ExpressionStatement 1560992 1561076 + CallExpression 1560992 1561075 + Identifier 1560992 1561036 + Identifier 1561037 1561043 + AsExpression 1561044 1561074 + Identifier 1561044 1561051 + TypeReference 1561054 1561074 + Identifier 1561054 1561074 + Block 1561109 1562341 + ExpressionStatement 1561111 1561161 + BinaryExpression 1561111 1561160 + Identifier 1561111 1561135 + EqualsToken 1561135 1561137 + CallExpression 1561137 1561160 + Identifier 1561137 1561152 + Identifier 1561153 1561159 + IfStatement 1561161 1561341 + BinaryExpression 1561183 1561241 + CallExpression 1561183 1561210 + Identifier 1561183 1561202 + Identifier 1561203 1561209 + AmpersandAmpersandToken 1561210 1561213 + CallExpression 1561213 1561241 + Identifier 1561213 1561233 + Identifier 1561234 1561240 + Block 1561242 1561341 + ExpressionStatement 1561244 1561322 + CallExpression 1561244 1561321 + Identifier 1561244 1561276 + Identifier 1561277 1561283 + Identifier 1561284 1561291 + Identifier 1561292 1561320 + IfStatement 1561341 1562153 + PrefixUnaryExpression 1561363 1561476 + ParenthesizedExpression 1561364 1561476 + BinaryExpression 1561365 1561475 + BinaryExpression 1561365 1561407 + Identifier 1561365 1561373 + AmpersandToken 1561373 1561375 + PropertyAccessExpression 1561375 1561407 + Identifier 1561375 1561393 + Identifier 1561394 1561407 + AmpersandAmpersandToken 1561407 1561410 + BinaryExpression 1561410 1561475 + PropertyAccessExpression 1561410 1561423 + Identifier 1561410 1561417 + Identifier 1561418 1561423 + AmpersandToken 1561423 1561425 + ParenthesizedExpression 1561425 1561475 + BinaryExpression 1561427 1561474 + PropertyAccessExpression 1561427 1561449 + Identifier 1561427 1561436 + Identifier 1561437 1561449 + BarToken 1561449 1561451 + PropertyAccessExpression 1561451 1561474 + Identifier 1561451 1561461 + Identifier 1561462 1561474 + Block 1561477 1562153 + VariableStatement 1561479 1561548 + VariableDeclarationList 1561479 1561547 + VariableDeclaration 1561506 1561547 + Identifier 1561506 1561521 + CallExpression 1561523 1561547 + Identifier 1561523 1561539 + Identifier 1561540 1561546 + IfStatement 1561548 1562088 + BinaryExpression 1561892 1561990 + BinaryExpression 1561892 1561917 + Identifier 1561892 1561906 + ExclamationEqualsEqualsToken 1561906 1561910 + Identifier 1561910 1561917 + AmpersandAmpersandToken 1561917 1561920 + PrefixUnaryExpression 1561920 1561990 + ParenthesizedExpression 1561922 1561990 + BinaryExpression 1561923 1561989 + PropertyAccessExpression 1561923 1561943 + Identifier 1561923 1561937 + Identifier 1561938 1561943 + AmpersandToken 1561943 1561945 + ParenthesizedExpression 1561945 1561989 + BinaryExpression 1561947 1561988 + PropertyAccessExpression 1561947 1561963 + Identifier 1561947 1561956 + Identifier 1561957 1561963 + BarToken 1561963 1561965 + PropertyAccessExpression 1561965 1561988 + Identifier 1561965 1561975 + Identifier 1561976 1561988 + Block 1561991 1562088 + ReturnStatement 1561993 1562065 + CallExpression 1562025 1562064 + Identifier 1562025 1562040 + Identifier 1562041 1562055 + Identifier 1562056 1562063 + ExpressionStatement 1562088 1562134 + BinaryExpression 1562088 1562133 + Identifier 1562088 1562116 + EqualsToken 1562116 1562118 + Identifier 1562118 1562133 + IfStatement 1562153 1562326 + BinaryExpression 1562175 1562233 + PropertyAccessExpression 1562175 1562187 + Identifier 1562175 1562181 + Identifier 1562182 1562187 + AmpersandToken 1562187 1562189 + ParenthesizedExpression 1562189 1562233 + BinaryExpression 1562191 1562232 + PropertyAccessExpression 1562191 1562207 + Identifier 1562191 1562200 + Identifier 1562201 1562207 + BarToken 1562207 1562209 + PropertyAccessExpression 1562209 1562232 + Identifier 1562209 1562219 + Identifier 1562220 1562232 + Block 1562234 1562326 + ExpressionStatement 1562236 1562307 + CallExpression 1562236 1562306 + Identifier 1562236 1562268 + Identifier 1562269 1562275 + Identifier 1562276 1562283 + Identifier 1562284 1562305 + FunctionDeclaration 1562352 1562628 + Identifier 1562372 1562390 + Parameter 1562391 1562403 + Identifier 1562391 1562397 + TypeReference 1562398 1562403 + Identifier 1562398 1562403 + Parameter 1562404 1562417 + Identifier 1562404 1562411 + TypeReference 1562412 1562417 + Identifier 1562412 1562417 + Parameter 1562418 1562449 + Identifier 1562418 1562430 + TypeReference 1562431 1562449 + Identifier 1562431 1562449 + Block 1562450 1562628 + VariableStatement 1562452 1562496 + VariableDeclarationList 1562452 1562495 + VariableDeclaration 1562471 1562495 + Identifier 1562471 1562484 + Identifier 1562486 1562495 + ExpressionStatement 1562496 1562534 + BinaryExpression 1562496 1562533 + Identifier 1562496 1562518 + BarEqualsToken 1562518 1562521 + Identifier 1562521 1562533 + ExpressionStatement 1562534 1562579 + CallExpression 1562534 1562578 + Identifier 1562534 1562562 + Identifier 1562563 1562569 + Identifier 1562570 1562577 + ExpressionStatement 1562579 1562617 + BinaryExpression 1562579 1562616 + Identifier 1562579 1562601 + EqualsToken 1562601 1562603 + Identifier 1562603 1562616 + FunctionDeclaration 1562628 1562939 + Identifier 1562648 1562688 + Parameter 1562689 1562701 + Identifier 1562689 1562695 + TypeReference 1562696 1562701 + Identifier 1562696 1562701 + Parameter 1562702 1562715 + Identifier 1562702 1562709 + TypeReference 1562710 1562715 + Identifier 1562710 1562715 + Parameter 1562716 1562747 + Identifier 1562716 1562728 + TypeReference 1562729 1562747 + Identifier 1562729 1562747 + Block 1562748 1562939 + VariableStatement 1562750 1562794 + VariableDeclarationList 1562750 1562793 + VariableDeclaration 1562769 1562793 + Identifier 1562769 1562782 + Identifier 1562784 1562793 + ExpressionStatement 1562794 1562832 + BinaryExpression 1562794 1562831 + Identifier 1562794 1562816 + BarEqualsToken 1562816 1562819 + Identifier 1562819 1562831 + ExpressionStatement 1562832 1562890 + CallExpression 1562832 1562889 + Identifier 1562832 1562873 + Identifier 1562874 1562880 + Identifier 1562881 1562888 + ExpressionStatement 1562890 1562928 + BinaryExpression 1562890 1562927 + Identifier 1562890 1562912 + EqualsToken 1562912 1562914 + Identifier 1562914 1562927 + FunctionDeclaration 1562939 1563277 + Identifier 1562959 1562992 + Parameter 1562993 1563005 + Identifier 1562993 1562999 + TypeReference 1563000 1563005 + Identifier 1563000 1563005 + Parameter 1563006 1563022 + Identifier 1563006 1563014 + ArrayType 1563015 1563022 + TypeReference 1563015 1563020 + Identifier 1563015 1563020 + Parameter 1563023 1563046 + Identifier 1563023 1563035 + TypeReference 1563036 1563046 + Identifier 1563036 1563046 + Parameter 1563047 1563078 + Identifier 1563047 1563059 + TypeReference 1563060 1563078 + Identifier 1563060 1563078 + Block 1563079 1563277 + VariableStatement 1563081 1563125 + VariableDeclarationList 1563081 1563124 + VariableDeclaration 1563100 1563124 + Identifier 1563100 1563113 + Identifier 1563115 1563124 + ExpressionStatement 1563125 1563163 + BinaryExpression 1563125 1563162 + Identifier 1563125 1563147 + BarEqualsToken 1563147 1563150 + Identifier 1563150 1563162 + ExpressionStatement 1563163 1563228 + CallExpression 1563163 1563227 + Identifier 1563163 1563197 + Identifier 1563198 1563204 + Identifier 1563205 1563213 + Identifier 1563214 1563226 + ExpressionStatement 1563228 1563266 + BinaryExpression 1563228 1563265 + Identifier 1563228 1563250 + EqualsToken 1563250 1563252 + Identifier 1563252 1563265 + FunctionDeclaration 1563277 1566115 + Identifier 1564443 1564454 + TypeParameter 1564455 1564474 + Identifier 1564455 1564461 + TypeReference 1564469 1564474 + Identifier 1564469 1564474 + TypeParameter 1564475 1564495 + Identifier 1564475 1564482 + TypeReference 1564490 1564495 + Identifier 1564490 1564495 + Parameter 1564497 1564511 + Identifier 1564497 1564503 + TypeReference 1564504 1564511 + Identifier 1564504 1564511 + Parameter 1564512 1564527 + Identifier 1564512 1564519 + TypeReference 1564520 1564527 + Identifier 1564520 1564527 + Parameter 1564528 1564577 + Identifier 1564528 1564535 + FunctionType 1564536 1564577 + Parameter 1564538 1564552 + Identifier 1564538 1564544 + TypeReference 1564545 1564552 + Identifier 1564545 1564552 + Parameter 1564553 1564568 + Identifier 1564553 1564560 + TypeReference 1564561 1564568 + Identifier 1564561 1564568 + VoidKeyword 1564572 1564577 + Block 1564578 1566115 + VariableStatement 1564580 1564634 + VariableDeclarationList 1564580 1564633 + VariableDeclaration 1564599 1564633 + Identifier 1564599 1564603 + BinaryExpression 1564605 1564633 + BinaryExpression 1564605 1564621 + PropertyAccessExpression 1564605 1564615 + Identifier 1564605 1564612 + Identifier 1564613 1564615 + PlusToken 1564615 1564617 + StringLiteral 1564617 1564621 + PlusToken 1564621 1564623 + PropertyAccessExpression 1564623 1564633 + Identifier 1564623 1564630 + Identifier 1564631 1564633 + VariableStatement 1564634 1564691 + VariableDeclarationList 1564634 1564690 + VariableDeclaration 1564653 1564690 + Identifier 1564653 1564660 + BinaryExpression 1564662 1564690 + Identifier 1564662 1564670 + AmpersandAmpersandToken 1564670 1564673 + CallExpression 1564673 1564690 + PropertyAccessExpression 1564673 1564685 + Identifier 1564673 1564681 + Identifier 1564682 1564685 + Identifier 1564686 1564689 + IfStatement 1564691 1564846 + BinaryExpression 1564709 1564729 + Identifier 1564709 1564715 + ExclamationEqualsEqualsToken 1564715 1564719 + Identifier 1564719 1564729 + Block 1564730 1564846 + ExpressionStatement 1564732 1564806 + BinaryExpression 1564732 1564805 + Identifier 1564732 1564767 + EqualsToken 1564767 1564769 + CallExpression 1564769 1564805 + PropertyAccessExpression 1564769 1564778 + Identifier 1564769 1564774 + Identifier 1564775 1564778 + Identifier 1564779 1564796 + Identifier 1564797 1564804 + ReturnStatement 1564806 1564831 + ExpressionStatement 1564846 1564951 + CallExpression 1564846 1564950 + PropertyAccessExpression 1564846 1564914 + ParenthesizedExpression 1564846 1564910 + BinaryExpression 1564861 1564909 + Identifier 1564861 1564868 + BarBarToken 1564868 1564871 + ParenthesizedExpression 1564871 1564909 + BinaryExpression 1564873 1564908 + Identifier 1564873 1564880 + EqualsToken 1564880 1564882 + NewExpression 1564882 1564908 + Identifier 1564886 1564890 + StringKeyword 1564891 1564897 + NumberKeyword 1564898 1564905 + Identifier 1564911 1564914 + Identifier 1564915 1564918 + PropertyAccessExpression 1564919 1564949 + Identifier 1564919 1564937 + Identifier 1564938 1564949 + VariableStatement 1564951 1565013 + VariableDeclarationList 1564951 1565012 + VariableDeclaration 1564970 1565012 + Identifier 1564970 1564992 + Identifier 1564994 1565012 + ExpressionStatement 1565013 1565074 + BinaryExpression 1565013 1565073 + Identifier 1565013 1565044 + EqualsToken 1565044 1565046 + PropertyAccessExpression 1565046 1565073 + Identifier 1565046 1565064 + Identifier 1565065 1565073 + VariableStatement 1565074 1565297 + VariableDeclarationList 1565074 1565296 + VariableDeclaration 1565260 1565296 + Identifier 1565260 1565279 + Identifier 1565281 1565296 + ExpressionStatement 1565297 1565345 + CallExpression 1565297 1565344 + PropertyAccessExpression 1565297 1565336 + ParenthesizedExpression 1565297 1565331 + BinaryExpression 1565312 1565330 + Identifier 1565312 1565323 + QuestionQuestionEqualsToken 1565323 1565327 + ArrayLiteralExpression 1565327 1565330 + Identifier 1565332 1565336 + Identifier 1565337 1565343 + ExpressionStatement 1565345 1565393 + CallExpression 1565345 1565392 + PropertyAccessExpression 1565345 1565384 + ParenthesizedExpression 1565345 1565379 + BinaryExpression 1565360 1565378 + Identifier 1565360 1565371 + QuestionQuestionEqualsToken 1565371 1565375 + ArrayLiteralExpression 1565375 1565378 + Identifier 1565380 1565384 + Identifier 1565385 1565391 + IfStatement 1565393 1565515 + CallExpression 1565411 1565473 + Identifier 1565411 1565429 + Identifier 1565430 1565436 + Identifier 1565437 1565449 + PropertyAccessExpression 1565450 1565469 + Identifier 1565450 1565462 + Identifier 1565463 1565469 + NumericLiteral 1565470 1565472 + ExpressionStatement 1565474 1565515 + BinaryExpression 1565474 1565514 + Identifier 1565474 1565489 + BarEqualsToken 1565489 1565492 + PropertyAccessExpression 1565492 1565514 + Identifier 1565492 1565507 + Identifier 1565508 1565514 + IfStatement 1565515 1565637 + CallExpression 1565533 1565595 + Identifier 1565533 1565551 + Identifier 1565552 1565558 + Identifier 1565559 1565571 + PropertyAccessExpression 1565572 1565591 + Identifier 1565572 1565584 + Identifier 1565585 1565591 + NumericLiteral 1565592 1565594 + ExpressionStatement 1565596 1565637 + BinaryExpression 1565596 1565636 + Identifier 1565596 1565611 + BarEqualsToken 1565611 1565614 + PropertyAccessExpression 1565614 1565636 + Identifier 1565614 1565629 + Identifier 1565630 1565636 + IfStatement 1565637 1565855 + BinaryExpression 1565655 1565693 + Identifier 1565655 1565669 + ExclamationEqualsEqualsToken 1565669 1565673 + PropertyAccessExpression 1565673 1565693 + Identifier 1565673 1565688 + Identifier 1565689 1565693 + Block 1565694 1565752 + ExpressionStatement 1565696 1565737 + CallExpression 1565696 1565736 + Identifier 1565696 1565720 + Identifier 1565721 1565727 + Identifier 1565728 1565735 + Block 1565770 1565855 + ExpressionStatement 1565772 1565840 + BinaryExpression 1565772 1565839 + Identifier 1565772 1565807 + EqualsToken 1565807 1565809 + PropertyAccessExpression 1565809 1565839 + Identifier 1565809 1565827 + Identifier 1565828 1565839 + ExpressionStatement 1565855 1565887 + CallExpression 1565855 1565886 + PropertyAccessExpression 1565855 1565884 + Identifier 1565855 1565880 + Identifier 1565881 1565884 + ExpressionStatement 1565887 1565919 + CallExpression 1565887 1565918 + PropertyAccessExpression 1565887 1565916 + Identifier 1565887 1565912 + Identifier 1565913 1565916 + ExpressionStatement 1565919 1565969 + BinaryExpression 1565919 1565968 + Identifier 1565919 1565947 + EqualsToken 1565947 1565949 + Identifier 1565949 1565968 + ExpressionStatement 1565969 1566019 + CallExpression 1565969 1566018 + PropertyAccessExpression 1565969 1565994 + Identifier 1565969 1565990 + Identifier 1565991 1565994 + Identifier 1565995 1565998 + Identifier 1565999 1566017 + ExpressionStatement 1566019 1566104 + BinaryExpression 1566019 1566103 + Identifier 1566019 1566050 + EqualsToken 1566050 1566052 + CallExpression 1566052 1566103 + PropertyAccessExpression 1566052 1566061 + Identifier 1566052 1566057 + Identifier 1566058 1566061 + Identifier 1566062 1566079 + Identifier 1566080 1566102 + FunctionDeclaration 1566115 1566983 + Identifier 1566135 1566158 + Parameter 1566159 1566174 + Identifier 1566159 1566166 + ArrayType 1566167 1566174 + TypeReference 1566167 1566172 + Identifier 1566167 1566172 + Parameter 1566175 1566191 + Identifier 1566175 1566183 + ArrayType 1566184 1566191 + TypeReference 1566184 1566189 + Identifier 1566184 1566189 + Parameter 1566192 1566231 + Identifier 1566192 1566200 + FunctionType 1566201 1566231 + Parameter 1566203 1566210 + Identifier 1566203 1566204 + TypeReference 1566205 1566210 + Identifier 1566205 1566210 + Parameter 1566211 1566219 + Identifier 1566211 1566213 + TypeReference 1566214 1566219 + Identifier 1566214 1566219 + BooleanKeyword 1566223 1566231 + TupleType 1566233 1566250 + ArrayType 1566235 1566241 + TypeReference 1566235 1566239 + Identifier 1566235 1566239 + ArrayType 1566242 1566249 + TypeReference 1566242 1566247 + Identifier 1566242 1566247 + Block 1566250 1566983 + VariableStatement 1566252 1566305 + VariableDeclarationList 1566252 1566304 + VariableDeclaration 1566269 1566304 + Identifier 1566269 1566284 + UnionType 1566285 1566304 + ArrayType 1566285 1566292 + TypeReference 1566285 1566290 + Identifier 1566285 1566290 + UndefinedKeyword 1566294 1566304 + VariableStatement 1566305 1566358 + VariableDeclarationList 1566305 1566357 + VariableDeclaration 1566322 1566357 + Identifier 1566322 1566337 + UnionType 1566338 1566357 + ArrayType 1566338 1566345 + TypeReference 1566338 1566343 + Identifier 1566338 1566343 + UndefinedKeyword 1566347 1566357 + ForOfStatement 1566358 1566742 + VariableDeclarationList 1566377 1566384 + VariableDeclaration 1566382 1566384 + Identifier 1566382 1566384 + Identifier 1566387 1566395 + Block 1566396 1566742 + ForOfStatement 1566398 1566727 + VariableDeclarationList 1566421 1566428 + VariableDeclaration 1566426 1566428 + Identifier 1566426 1566428 + Identifier 1566431 1566439 + Block 1566440 1566727 + IfStatement 1566442 1566708 + CallExpression 1566468 1566481 + Identifier 1566468 1566475 + Identifier 1566476 1566477 + Identifier 1566478 1566480 + Block 1566482 1566708 + ExpressionStatement 1566484 1566531 + CallExpression 1566484 1566530 + Identifier 1566484 1566524 + Identifier 1566525 1566526 + Identifier 1566527 1566529 + ExpressionStatement 1566531 1566608 + BinaryExpression 1566531 1566607 + Identifier 1566531 1566571 + EqualsToken 1566571 1566573 + CallExpression 1566573 1566607 + Identifier 1566573 1566588 + Identifier 1566589 1566603 + Identifier 1566604 1566606 + ExpressionStatement 1566608 1566685 + BinaryExpression 1566608 1566684 + Identifier 1566608 1566648 + EqualsToken 1566648 1566650 + CallExpression 1566650 1566684 + Identifier 1566650 1566665 + Identifier 1566666 1566680 + Identifier 1566681 1566683 + ReturnStatement 1566742 1566972 + ArrayLiteralExpression 1566762 1566971 + ConditionalExpression 1566764 1566859 + Identifier 1566764 1566796 + QuestionToken 1566796 1566798 + CallExpression 1566798 1566849 + Identifier 1566798 1566805 + Identifier 1566806 1566813 + ArrowFunction 1566814 1566848 + Parameter 1566814 1566816 + Identifier 1566814 1566816 + EqualsGreaterThanToken 1566816 1566819 + PrefixUnaryExpression 1566819 1566848 + CallExpression 1566821 1566848 + Identifier 1566821 1566829 + Identifier 1566830 1566844 + Identifier 1566845 1566847 + ColonToken 1566849 1566851 + Identifier 1566851 1566859 + ConditionalExpression 1566860 1566955 + Identifier 1566860 1566892 + QuestionToken 1566892 1566894 + CallExpression 1566894 1566945 + Identifier 1566894 1566901 + Identifier 1566902 1566909 + ArrowFunction 1566910 1566944 + Parameter 1566910 1566912 + Identifier 1566910 1566912 + EqualsGreaterThanToken 1566912 1566915 + PrefixUnaryExpression 1566915 1566944 + CallExpression 1566917 1566944 + Identifier 1566917 1566925 + Identifier 1566926 1566940 + Identifier 1566941 1566943 + ColonToken 1566945 1566947 + Identifier 1566947 1566955 + FunctionDeclaration 1566983 1567645 + Identifier 1567003 1567026 + Parameter 1567027 1567055 + Identifier 1567027 1567038 + TypeOperator 1567039 1567055 + ArrayType 1567048 1567055 + TypeReference 1567048 1567053 + Identifier 1567048 1567053 + Parameter 1567056 1567085 + Identifier 1567056 1567068 + TypeOperator 1567069 1567085 + ArrayType 1567078 1567085 + TypeReference 1567078 1567083 + Identifier 1567078 1567083 + Parameter 1567086 1567122 + Identifier 1567086 1567096 + TypeOperator 1567097 1567122 + ArrayType 1567106 1567122 + TypeReference 1567106 1567120 + Identifier 1567106 1567120 + Block 1567123 1567645 + VariableStatement 1567125 1567235 + VariableDeclarationList 1567125 1567234 + VariableDeclaration 1567144 1567234 + Identifier 1567144 1567150 + ConditionalExpression 1567152 1567234 + BinaryExpression 1567152 1567192 + PropertyAccessExpression 1567152 1567171 + Identifier 1567152 1567164 + Identifier 1567165 1567171 + LessThanToken 1567171 1567173 + PropertyAccessExpression 1567173 1567192 + Identifier 1567173 1567185 + Identifier 1567186 1567192 + QuestionToken 1567192 1567194 + PropertyAccessExpression 1567194 1567213 + Identifier 1567194 1567206 + Identifier 1567207 1567213 + ColonToken 1567213 1567215 + PropertyAccessExpression 1567215 1567234 + Identifier 1567215 1567227 + Identifier 1567228 1567234 + ForStatement 1567235 1567634 + VariableDeclarationList 1567254 1567263 + VariableDeclaration 1567257 1567263 + Identifier 1567257 1567259 + NumericLiteral 1567261 1567263 + BinaryExpression 1567264 1567274 + Identifier 1567264 1567266 + LessThanToken 1567266 1567268 + Identifier 1567268 1567274 + PostfixUnaryExpression 1567275 1567279 + Identifier 1567275 1567277 + Block 1567280 1567634 + IfStatement 1567282 1567619 + BinaryExpression 1567304 1567403 + BinaryExpression 1567304 1567324 + Identifier 1567304 1567305 + LessThanToken 1567305 1567307 + PropertyAccessExpression 1567307 1567324 + Identifier 1567307 1567317 + Identifier 1567318 1567324 + AmpersandAmpersandToken 1567324 1567327 + BinaryExpression 1567327 1567403 + ParenthesizedExpression 1567327 1567371 + BinaryExpression 1567329 1567370 + ElementAccessExpression 1567329 1567341 + Identifier 1567329 1567338 + Identifier 1567339 1567340 + AmpersandToken 1567341 1567343 + PropertyAccessExpression 1567343 1567370 + Identifier 1567343 1567357 + Identifier 1567358 1567370 + EqualsEqualsEqualsToken 1567371 1567375 + PropertyAccessExpression 1567375 1567403 + Identifier 1567375 1567389 + Identifier 1567390 1567403 + Block 1567404 1567507 + ExpressionStatement 1567406 1567488 + CallExpression 1567406 1567487 + Identifier 1567406 1567455 + ElementAccessExpression 1567456 1567470 + Identifier 1567456 1567467 + Identifier 1567468 1567469 + ElementAccessExpression 1567471 1567486 + Identifier 1567471 1567483 + Identifier 1567484 1567485 + Block 1567529 1567619 + ExpressionStatement 1567531 1567600 + CallExpression 1567531 1567599 + Identifier 1567531 1567567 + ElementAccessExpression 1567568 1567582 + Identifier 1567568 1567579 + Identifier 1567580 1567581 + ElementAccessExpression 1567583 1567598 + Identifier 1567583 1567595 + Identifier 1567596 1567597 + FunctionDeclaration 1567645 1567869 + Identifier 1567665 1567693 + Parameter 1567694 1567706 + Identifier 1567694 1567700 + TypeReference 1567701 1567706 + Identifier 1567701 1567706 + Parameter 1567707 1567720 + Identifier 1567707 1567714 + TypeReference 1567715 1567720 + Identifier 1567715 1567720 + Block 1567721 1567869 + ExpressionStatement 1567723 1567768 + BinaryExpression 1567723 1567767 + Identifier 1567723 1567750 + EqualsToken 1567750 1567752 + PrefixUnaryExpression 1567752 1567767 + Identifier 1567754 1567767 + ExpressionStatement 1567768 1567813 + CallExpression 1567768 1567812 + Identifier 1567768 1567796 + Identifier 1567797 1567803 + Identifier 1567804 1567811 + ExpressionStatement 1567813 1567858 + BinaryExpression 1567813 1567857 + Identifier 1567813 1567840 + EqualsToken 1567840 1567842 + PrefixUnaryExpression 1567842 1567857 + Identifier 1567844 1567857 + FunctionDeclaration 1567869 1568225 + Identifier 1567889 1567938 + Parameter 1567939 1567951 + Identifier 1567939 1567945 + TypeReference 1567946 1567951 + Identifier 1567946 1567951 + Parameter 1567952 1567965 + Identifier 1567952 1567959 + TypeReference 1567960 1567965 + Identifier 1567960 1567965 + Block 1567966 1568225 + IfStatement 1567968 1568214 + BinaryExpression 1567986 1568050 + Identifier 1567986 1568005 + BarBarToken 1568005 1568008 + BinaryExpression 1568008 1568050 + Identifier 1568008 1568017 + AmpersandToken 1568017 1568019 + PropertyAccessExpression 1568019 1568050 + Identifier 1568019 1568037 + Identifier 1568038 1568050 + Block 1568051 1568130 + ExpressionStatement 1568053 1568115 + CallExpression 1568053 1568114 + Identifier 1568053 1568098 + Identifier 1568099 1568105 + Identifier 1568106 1568113 + Block 1568148 1568214 + ExpressionStatement 1568150 1568199 + CallExpression 1568150 1568198 + Identifier 1568150 1568182 + Identifier 1568183 1568189 + Identifier 1568190 1568197 + FunctionDeclaration 1568225 1568597 + Identifier 1568245 1568269 + Parameter 1568270 1568280 + Identifier 1568270 1568274 + TypeReference 1568275 1568280 + Identifier 1568275 1568280 + Block 1568281 1568597 + IfStatement 1568283 1568555 + BinaryExpression 1568301 1568336 + PropertyAccessExpression 1568301 1568311 + Identifier 1568301 1568305 + Identifier 1568306 1568311 + AmpersandToken 1568311 1568313 + PropertyAccessExpression 1568313 1568336 + Identifier 1568313 1568323 + Identifier 1568324 1568336 + Block 1568337 1568555 + ForOfStatement 1568339 1568540 + VariableDeclarationList 1568362 1568377 + VariableDeclaration 1568367 1568377 + Identifier 1568367 1568377 + Identifier 1568380 1568391 + Block 1568392 1568540 + IfStatement 1568394 1568521 + BinaryExpression 1568420 1568452 + Identifier 1568420 1568424 + EqualsEqualsEqualsToken 1568424 1568428 + PropertyAccessExpression 1568428 1568452 + Identifier 1568428 1568438 + Identifier 1568439 1568452 + Block 1568453 1568521 + ReturnStatement 1568455 1568498 + Identifier 1568487 1568497 + ReturnStatement 1568555 1568586 + Identifier 1568575 1568585 + FunctionDeclaration 1568597 1569126 + Identifier 1568617 1568660 + Parameter 1568661 1568674 + Identifier 1568661 1568666 + ArrayType 1568667 1568674 + TypeReference 1568667 1568672 + Identifier 1568667 1568672 + Block 1568675 1569126 + VariableStatement 1568677 1568726 + VariableDeclarationList 1568677 1568725 + VariableDeclaration 1568694 1568725 + Identifier 1568694 1568707 + UnionType 1568708 1568725 + TypeReference 1568708 1568713 + Identifier 1568708 1568713 + UndefinedKeyword 1568715 1568725 + ForOfStatement 1568726 1569081 + VariableDeclarationList 1568745 1568755 + VariableDeclaration 1568750 1568755 + Identifier 1568750 1568755 + Identifier 1568758 1568764 + Block 1568765 1569081 + VariableStatement 1568767 1568908 + VariableDeclarationList 1568767 1568907 + VariableDeclaration 1568790 1568907 + Identifier 1568790 1568792 + BinaryExpression 1568794 1568907 + BinaryExpression 1568794 1568830 + PropertyAccessExpression 1568794 1568805 + Identifier 1568794 1568799 + Identifier 1568800 1568805 + AmpersandToken 1568805 1568807 + PropertyAccessExpression 1568807 1568830 + Identifier 1568807 1568817 + Identifier 1568818 1568830 + AmpersandAmpersandToken 1568830 1568833 + CallExpression 1568833 1568907 + Identifier 1568833 1568838 + PropertyAccessExpression 1568839 1568871 + ParenthesizedExpression 1568839 1568865 + AsExpression 1568840 1568864 + Identifier 1568840 1568844 + TypeReference 1568847 1568864 + Identifier 1568847 1568864 + Identifier 1568866 1568871 + ArrowFunction 1568872 1568906 + Parameter 1568872 1568874 + Identifier 1568872 1568874 + EqualsGreaterThanToken 1568874 1568877 + PrefixUnaryExpression 1568877 1568906 + PrefixUnaryExpression 1568879 1568906 + CallExpression 1568880 1568906 + Identifier 1568880 1568903 + Identifier 1568904 1568905 + IfStatement 1568908 1569031 + BinaryExpression 1568930 1568970 + PrefixUnaryExpression 1568930 1568932 + Identifier 1568931 1568932 + BarBarToken 1568932 1568935 + BinaryExpression 1568935 1568970 + Identifier 1568935 1568948 + AmpersandAmpersandToken 1568948 1568951 + BinaryExpression 1568951 1568970 + Identifier 1568951 1568953 + ExclamationEqualsEqualsToken 1568953 1568957 + Identifier 1568957 1568970 + Block 1568971 1569031 + ReturnStatement 1568973 1569012 + Identifier 1569001 1569011 + ExpressionStatement 1569031 1569066 + BinaryExpression 1569031 1569065 + Identifier 1569031 1569061 + EqualsToken 1569061 1569063 + Identifier 1569063 1569065 + ReturnStatement 1569081 1569115 + Identifier 1569101 1569114 + FunctionDeclaration 1569126 1573595 + Identifier 1569146 1569167 + Parameter 1569168 1569180 + Identifier 1569168 1569174 + TypeReference 1569175 1569180 + Identifier 1569175 1569180 + Parameter 1569181 1569197 + Identifier 1569181 1569189 + ArrayType 1569190 1569197 + TypeReference 1569190 1569195 + Identifier 1569190 1569195 + Parameter 1569198 1569221 + Identifier 1569198 1569210 + TypeReference 1569211 1569221 + Identifier 1569211 1569221 + Block 1569222 1573595 + VariableStatement 1569224 1569264 + VariableDeclarationList 1569224 1569263 + VariableDeclaration 1569241 1569263 + Identifier 1569241 1569259 + NumericLiteral 1569261 1569263 + IfStatement 1569264 1572871 + BinaryExpression 1569282 1569311 + Identifier 1569282 1569293 + AmpersandToken 1569293 1569295 + PropertyAccessExpression 1569295 1569311 + Identifier 1569295 1569305 + Identifier 1569306 1569311 + Block 1569312 1572281 + VariableStatement 1569314 1569372 + VariableDeclarationList 1569314 1569371 + VariableDeclaration 1569335 1569371 + Identifier 1569335 1569353 + UnionType 1569354 1569371 + TypeReference 1569354 1569359 + Identifier 1569354 1569359 + UndefinedKeyword 1569361 1569371 + VariableStatement 1569372 1569478 + VariableDeclarationList 1569372 1569477 + VariableDeclaration 1569395 1569477 + Identifier 1569395 1569403 + ConditionalExpression 1569405 1569477 + BinaryExpression 1569405 1569436 + PropertyAccessExpression 1569405 1569418 + Identifier 1569405 1569412 + Identifier 1569413 1569418 + AmpersandToken 1569418 1569420 + PropertyAccessExpression 1569420 1569436 + Identifier 1569420 1569430 + Identifier 1569431 1569436 + QuestionToken 1569436 1569438 + PropertyAccessExpression 1569438 1569466 + ParenthesizedExpression 1569438 1569460 + AsExpression 1569440 1569459 + Identifier 1569440 1569446 + TypeReference 1569449 1569459 + Identifier 1569449 1569459 + Identifier 1569461 1569466 + ColonToken 1569466 1569468 + ArrayLiteralExpression 1569468 1569477 + Identifier 1569470 1569476 + VariableStatement 1569478 1569547 + VariableDeclarationList 1569478 1569546 + VariableDeclaration 1569501 1569546 + Identifier 1569501 1569509 + NewExpression 1569511 1569546 + Identifier 1569515 1569521 + BooleanKeyword 1569522 1569529 + PropertyAccessExpression 1569531 1569545 + Identifier 1569531 1569538 + Identifier 1569539 1569545 + VariableStatement 1569547 1569598 + VariableDeclarationList 1569547 1569597 + VariableDeclaration 1569568 1569597 + Identifier 1569568 1569589 + FalseKeyword 1569591 1569597 + ForOfStatement 1569598 1570839 + VariableDeclarationList 1569952 1569959 + VariableDeclaration 1569957 1569959 + Identifier 1569957 1569959 + Identifier 1569962 1569970 + Block 1569971 1570839 + IfStatement 1569973 1570820 + CallExpression 1569999 1570025 + Identifier 1569999 1570022 + Identifier 1570023 1570024 + Block 1570026 1570145 + ExpressionStatement 1570028 1570076 + BinaryExpression 1570028 1570075 + Identifier 1570028 1570071 + EqualsToken 1570071 1570073 + Identifier 1570073 1570075 + ExpressionStatement 1570076 1570122 + PostfixUnaryExpression 1570076 1570121 + Identifier 1570076 1570119 + Block 1570171 1570820 + ForStatement 1570173 1570797 + VariableDeclarationList 1570204 1570213 + VariableDeclaration 1570207 1570213 + Identifier 1570207 1570209 + NumericLiteral 1570211 1570213 + BinaryExpression 1570214 1570233 + Identifier 1570214 1570216 + LessThanToken 1570216 1570218 + PropertyAccessExpression 1570218 1570233 + Identifier 1570218 1570226 + Identifier 1570227 1570233 + PostfixUnaryExpression 1570234 1570238 + Identifier 1570234 1570236 + Block 1570239 1570797 + VariableStatement 1570241 1570319 + VariableDeclarationList 1570241 1570318 + VariableDeclaration 1570276 1570318 + Identifier 1570276 1570298 + Identifier 1570300 1570318 + ExpressionStatement 1570319 1570396 + BinaryExpression 1570319 1570395 + Identifier 1570319 1570366 + EqualsToken 1570366 1570368 + PropertyAccessExpression 1570368 1570395 + Identifier 1570368 1570386 + Identifier 1570387 1570395 + ExpressionStatement 1570396 1570456 + CallExpression 1570396 1570455 + Identifier 1570396 1570440 + ElementAccessExpression 1570441 1570451 + Identifier 1570441 1570448 + Identifier 1570449 1570450 + Identifier 1570452 1570454 + IfStatement 1570456 1570540 + BinaryExpression 1570490 1570520 + Identifier 1570490 1570507 + EqualsEqualsEqualsToken 1570507 1570511 + Identifier 1570511 1570520 + ExpressionStatement 1570521 1570540 + BinaryExpression 1570521 1570539 + ElementAccessExpression 1570521 1570532 + Identifier 1570521 1570529 + Identifier 1570530 1570531 + EqualsToken 1570532 1570534 + TrueKeyword 1570534 1570539 + ExpressionStatement 1570540 1570669 + BinaryExpression 1570540 1570668 + Identifier 1570540 1570590 + EqualsToken 1570590 1570592 + BinaryExpression 1570592 1570668 + Identifier 1570592 1570613 + BarBarToken 1570613 1570616 + BinaryExpression 1570616 1570668 + Identifier 1570616 1570634 + EqualsEqualsEqualsToken 1570634 1570638 + PropertyAccessExpression 1570638 1570668 + Identifier 1570638 1570656 + Identifier 1570657 1570668 + ExpressionStatement 1570669 1570770 + BinaryExpression 1570669 1570769 + Identifier 1570669 1570716 + EqualsToken 1570716 1570718 + CallExpression 1570718 1570769 + PropertyAccessExpression 1570718 1570727 + Identifier 1570718 1570723 + Identifier 1570724 1570727 + Identifier 1570728 1570745 + Identifier 1570746 1570768 + IfStatement 1570839 1571536 + BinaryExpression 1570861 1570884 + Identifier 1570861 1570878 + EqualsEqualsEqualsToken 1570878 1570882 + NumericLiteral 1570882 1570884 + Block 1570885 1571536 + VariableStatement 1570887 1571297 + VariableDeclarationList 1570887 1571296 + VariableDeclaration 1571217 1571296 + Identifier 1571217 1571242 + CallExpression 1571244 1571296 + Identifier 1571244 1571287 + Identifier 1571288 1571295 + IfStatement 1571297 1571488 + Identifier 1571323 1571347 + Block 1571348 1571488 + ExpressionStatement 1571350 1571465 + CallExpression 1571350 1571464 + Identifier 1571350 1571393 + Identifier 1571394 1571400 + Identifier 1571401 1571426 + PropertyAccessExpression 1571427 1571463 + Identifier 1571427 1571445 + Identifier 1571446 1571463 + ReturnStatement 1571488 1571517 + IfStatement 1571536 1572266 + BinaryExpression 1571914 1571962 + BinaryExpression 1571914 1571937 + Identifier 1571914 1571931 + EqualsEqualsEqualsToken 1571931 1571935 + NumericLiteral 1571935 1571937 + AmpersandAmpersandToken 1571937 1571940 + PrefixUnaryExpression 1571940 1571962 + Identifier 1571942 1571962 + Block 1571963 1572266 + VariableStatement 1571965 1572060 + VariableDeclarationList 1571965 1572059 + VariableDeclaration 1571992 1572059 + Identifier 1571992 1572002 + CallExpression 1572004 1572059 + Identifier 1572004 1572012 + Identifier 1572013 1572020 + ArrowFunction 1572021 1572058 + Parameter 1572023 1572024 + Identifier 1572023 1572024 + Parameter 1572025 1572027 + Identifier 1572025 1572027 + EqualsGreaterThanToken 1572028 1572031 + ConditionalExpression 1572031 1572058 + ElementAccessExpression 1572031 1572042 + Identifier 1572031 1572039 + Identifier 1572040 1572041 + QuestionToken 1572042 1572044 + Identifier 1572044 1572054 + ColonToken 1572054 1572056 + Identifier 1572056 1572058 + IfStatement 1572060 1572247 + PropertyAccessExpression 1572086 1572102 + Identifier 1572086 1572095 + Identifier 1572096 1572102 + Block 1572103 1572247 + ExpressionStatement 1572105 1572191 + CallExpression 1572105 1572190 + Identifier 1572105 1572145 + CallExpression 1572146 1572169 + Identifier 1572146 1572158 + Identifier 1572159 1572168 + NonNullExpression 1572170 1572189 + Identifier 1572170 1572188 + ReturnStatement 1572191 1572224 + Block 1572299 1572871 + ForOfStatement 1572301 1572856 + VariableDeclarationList 1572589 1572596 + VariableDeclaration 1572594 1572596 + Identifier 1572594 1572596 + Identifier 1572599 1572607 + Block 1572608 1572856 + IfStatement 1572610 1572837 + CallExpression 1572636 1572662 + Identifier 1572636 1572659 + Identifier 1572660 1572661 + Block 1572663 1572734 + ExpressionStatement 1572665 1572711 + PostfixUnaryExpression 1572665 1572710 + Identifier 1572665 1572708 + Block 1572760 1572837 + ExpressionStatement 1572762 1572814 + CallExpression 1572762 1572813 + Identifier 1572762 1572802 + Identifier 1572803 1572809 + Identifier 1572810 1572812 + IfStatement 1572871 1573584 + ConditionalExpression 1573247 1573333 + BinaryExpression 1573247 1573283 + Identifier 1573247 1573258 + AmpersandToken 1573258 1573260 + PropertyAccessExpression 1573260 1573283 + Identifier 1573260 1573270 + Identifier 1573271 1573283 + QuestionToken 1573283 1573285 + BinaryExpression 1573285 1573309 + Identifier 1573285 1573303 + EqualsEqualsEqualsToken 1573303 1573307 + NumericLiteral 1573307 1573309 + ColonToken 1573309 1573311 + BinaryExpression 1573311 1573333 + Identifier 1573311 1573329 + GreaterThanToken 1573329 1573331 + NumericLiteral 1573331 1573333 + Block 1573334 1573584 + ForOfStatement 1573336 1573569 + VariableDeclarationList 1573359 1573366 + VariableDeclaration 1573364 1573366 + Identifier 1573364 1573366 + Identifier 1573369 1573377 + Block 1573378 1573569 + IfStatement 1573380 1573550 + CallExpression 1573406 1573432 + Identifier 1573406 1573429 + Identifier 1573430 1573431 + Block 1573433 1573550 + ExpressionStatement 1573435 1573527 + CallExpression 1573435 1573526 + Identifier 1573435 1573478 + Identifier 1573479 1573485 + Identifier 1573486 1573488 + PropertyAccessExpression 1573489 1573525 + Identifier 1573489 1573507 + Identifier 1573508 1573525 + FunctionDeclaration 1573595 1577363 + Identifier 1573615 1573633 + Parameter 1573634 1573646 + Identifier 1573634 1573640 + TypeReference 1573641 1573646 + Identifier 1573641 1573646 + Parameter 1573647 1573666 + Identifier 1573647 1573654 + TypeReference 1573655 1573666 + Identifier 1573655 1573666 + Parameter 1573667 1573688 + Identifier 1573667 1573682 + TypeReference 1573683 1573688 + Identifier 1573683 1573688 + BooleanKeyword 1573690 1573698 + Block 1573698 1577363 + IfStatement 1573700 1574092 + BinaryExpression 1573718 1573809 + ParenthesizedExpression 1573718 1573758 + BinaryExpression 1573719 1573757 + PropertyAccessExpression 1573719 1573739 + Identifier 1573719 1573733 + Identifier 1573734 1573739 + AmpersandToken 1573739 1573741 + PropertyAccessExpression 1573741 1573757 + Identifier 1573741 1573751 + Identifier 1573752 1573757 + BarBarToken 1573758 1573761 + ParenthesizedExpression 1573761 1573809 + BinaryExpression 1573763 1573808 + PropertyAccessExpression 1573763 1573783 + Identifier 1573763 1573777 + Identifier 1573778 1573783 + AmpersandToken 1573783 1573785 + PropertyAccessExpression 1573785 1573808 + Identifier 1573785 1573795 + Identifier 1573796 1573808 + Block 1573810 1574092 + VariableStatement 1573812 1573849 + VariableDeclarationList 1573812 1573848 + VariableDeclaration 1573833 1573848 + Identifier 1573833 1573840 + FalseKeyword 1573842 1573848 + ForOfStatement 1573849 1574045 + VariableDeclarationList 1573872 1573882 + VariableDeclaration 1573877 1573882 + Identifier 1573877 1573882 + PropertyAccessExpression 1573885 1573942 + ParenthesizedExpression 1573885 1573936 + AsExpression 1573887 1573935 + Identifier 1573887 1573901 + ParenthesizedType 1573904 1573935 + UnionType 1573906 1573934 + TypeReference 1573906 1573915 + Identifier 1573906 1573915 + TypeReference 1573917 1573934 + Identifier 1573917 1573934 + Identifier 1573937 1573942 + Block 1573943 1574045 + ExpressionStatement 1573945 1574026 + BinaryExpression 1573945 1574025 + Identifier 1573945 1573973 + EqualsToken 1573973 1573975 + BinaryExpression 1573975 1574025 + CallExpression 1573975 1574015 + Identifier 1573975 1573993 + Identifier 1573994 1574000 + Identifier 1574001 1574008 + Identifier 1574009 1574014 + BarBarToken 1574015 1574018 + Identifier 1574018 1574025 + ReturnStatement 1574045 1574077 + Identifier 1574069 1574076 + IfStatement 1574092 1575741 + BinaryExpression 1574110 1574148 + PropertyAccessExpression 1574110 1574130 + Identifier 1574110 1574124 + Identifier 1574125 1574130 + AmpersandToken 1574130 1574132 + PropertyAccessExpression 1574132 1574148 + Identifier 1574132 1574142 + Identifier 1574143 1574148 + Block 1574149 1575741 + VariableStatement 1574151 1574694 + VariableDeclarationList 1574151 1574693 + VariableDeclaration 1574621 1574693 + Identifier 1574621 1574631 + CallExpression 1574633 1574693 + Identifier 1574633 1574657 + PropertyAccessExpression 1574658 1574692 + ParenthesizedExpression 1574658 1574687 + AsExpression 1574659 1574686 + Identifier 1574659 1574673 + TypeReference 1574676 1574686 + Identifier 1574676 1574686 + Identifier 1574688 1574692 + IfStatement 1574694 1575696 + BinaryExpression 1574716 1574788 + BinaryExpression 1574716 1574747 + Identifier 1574716 1574725 + AmpersandAmpersandToken 1574725 1574728 + PrefixUnaryExpression 1574728 1574747 + PropertyAccessExpression 1574730 1574747 + Identifier 1574730 1574739 + Identifier 1574740 1574747 + AmpersandAmpersandToken 1574747 1574750 + PrefixUnaryExpression 1574750 1574788 + CallExpression 1574752 1574788 + Identifier 1574752 1574780 + Identifier 1574781 1574787 + Block 1574789 1575696 + VariableStatement 1574791 1574913 + VariableDeclarationList 1574791 1574912 + VariableDeclaration 1574818 1574912 + Identifier 1574818 1574831 + CallExpression 1574833 1574912 + Identifier 1574833 1574867 + Identifier 1574868 1574874 + Identifier 1574875 1574882 + AsExpression 1574883 1574911 + Identifier 1574883 1574898 + TypeReference 1574901 1574911 + Identifier 1574901 1574911 + IfStatement 1574913 1575677 + Identifier 1574939 1574951 + Block 1574952 1575677 + ExpressionStatement 1574954 1575654 + CallExpression 1574954 1575653 + Identifier 1574954 1575286 + Identifier 1575287 1575329 + PropertyAccessExpression 1575330 1575383 + Identifier 1575330 1575369 + Identifier 1575370 1575383 + ConditionalExpression 1575384 1575625 + BinaryExpression 1575384 1575468 + CallExpression 1575384 1575436 + Identifier 1575384 1575428 + Identifier 1575429 1575435 + AmpersandToken 1575436 1575438 + PropertyAccessExpression 1575438 1575468 + Identifier 1575438 1575450 + Identifier 1575451 1575468 + QuestionToken 1575468 1575470 + PropertyAccessExpression 1575470 1575550 + Identifier 1575470 1575521 + Identifier 1575522 1575550 + ColonToken 1575550 1575552 + PropertyAccessExpression 1575552 1575625 + Identifier 1575552 1575603 + Identifier 1575604 1575625 + ReturnStatement 1575696 1575726 + TrueKeyword 1575720 1575725 + IfStatement 1575741 1577325 + BinaryExpression 1575759 1575805 + PropertyAccessExpression 1575759 1575779 + Identifier 1575759 1575773 + Identifier 1575774 1575779 + AmpersandToken 1575779 1575781 + PropertyAccessExpression 1575781 1575805 + Identifier 1575781 1575791 + Identifier 1575792 1575805 + Block 1575806 1577325 + ExpressionStatement 1575808 1576180 + CallExpression 1575808 1576179 + Identifier 1575808 1576019 + CallExpression 1576020 1576122 + Identifier 1576020 1576032 + Identifier 1576033 1576039 + ConditionalExpression 1576040 1576121 + PrefixUnaryExpression 1576040 1576072 + PrefixUnaryExpression 1576057 1576072 + PropertyAccessExpression 1576058 1576072 + Identifier 1576058 1576064 + Identifier 1576065 1576072 + QuestionToken 1576072 1576074 + PropertyAccessExpression 1576074 1576103 + Identifier 1576074 1576085 + Identifier 1576086 1576103 + ColonToken 1576103 1576105 + PropertyAccessExpression 1576105 1576121 + Identifier 1576105 1576116 + Identifier 1576117 1576121 + Identifier 1576123 1576138 + PropertyAccessExpression 1576139 1576178 + Identifier 1576139 1576157 + Identifier 1576158 1576178 + VariableStatement 1576180 1576620 + VariableDeclarationList 1576180 1576619 + VariableDeclaration 1576562 1576619 + Identifier 1576562 1576581 + CallExpression 1576583 1576619 + Identifier 1576583 1576603 + Identifier 1576604 1576618 + IfStatement 1576620 1576773 + BinaryExpression 1576642 1576717 + Identifier 1576642 1576660 + AmpersandAmpersandToken 1576660 1576663 + CallExpression 1576663 1576717 + Identifier 1576663 1576681 + Identifier 1576682 1576688 + Identifier 1576689 1576696 + Identifier 1576697 1576716 + Block 1576718 1576773 + ReturnStatement 1576720 1576754 + TrueKeyword 1576748 1576753 + VariableStatement 1576773 1577026 + VariableDeclarationList 1576773 1577025 + VariableDeclaration 1576963 1577025 + Identifier 1576963 1576973 + CallExpression 1576975 1577025 + Identifier 1576975 1576979 + CallExpression 1576980 1577007 + Identifier 1576980 1576999 + Identifier 1577000 1577006 + Identifier 1577008 1577024 + VariableStatement 1577026 1577158 + VariableDeclarationList 1577026 1577157 + VariableDeclaration 1577049 1577157 + Identifier 1577049 1577060 + CallExpression 1577062 1577157 + Identifier 1577062 1577066 + CallExpression 1577067 1577094 + Identifier 1577067 1577086 + Identifier 1577087 1577093 + ArrowFunction 1577095 1577156 + Parameter 1577095 1577100 + Identifier 1577095 1577100 + EqualsGreaterThanToken 1577100 1577103 + ConditionalExpression 1577103 1577156 + BinaryExpression 1577103 1577132 + Identifier 1577103 1577108 + ExclamationEqualsEqualsToken 1577108 1577112 + Identifier 1577112 1577132 + QuestionToken 1577132 1577134 + PropertyAccessExpression 1577134 1577144 + Identifier 1577134 1577139 + Identifier 1577140 1577144 + ColonToken 1577144 1577146 + Identifier 1577146 1577156 + ExpressionStatement 1577158 1577280 + CallExpression 1577158 1577279 + Identifier 1577158 1577190 + CallExpression 1577191 1577239 + Identifier 1577191 1577203 + CallExpression 1577204 1577238 + Identifier 1577204 1577215 + Identifier 1577216 1577225 + Identifier 1577226 1577237 + CallExpression 1577240 1577278 + Identifier 1577240 1577270 + Identifier 1577271 1577277 + ReturnStatement 1577280 1577310 + TrueKeyword 1577304 1577309 + ReturnStatement 1577325 1577352 + FalseKeyword 1577345 1577351 + FunctionDeclaration 1577363 1578285 + Identifier 1577383 1577406 + Parameter 1577407 1577419 + Identifier 1577407 1577413 + TypeReference 1577414 1577419 + Identifier 1577414 1577419 + Parameter 1577420 1577444 + Identifier 1577420 1577427 + TypeReference 1577428 1577444 + Identifier 1577428 1577444 + Block 1577445 1578285 + IfStatement 1577447 1578274 + BinaryExpression 1577465 1577501 + PropertyAccessExpression 1577465 1577477 + Identifier 1577465 1577471 + Identifier 1577472 1577477 + AmpersandToken 1577477 1577479 + PropertyAccessExpression 1577479 1577501 + Identifier 1577479 1577489 + Identifier 1577490 1577501 + Block 1577502 1577969 + ExpressionStatement 1577504 1577594 + CallExpression 1577504 1577593 + Identifier 1577504 1577536 + PropertyAccessExpression 1577537 1577574 + ParenthesizedExpression 1577537 1577564 + AsExpression 1577538 1577563 + Identifier 1577538 1577544 + TypeReference 1577547 1577563 + Identifier 1577547 1577563 + Identifier 1577565 1577574 + PropertyAccessExpression 1577575 1577592 + Identifier 1577575 1577582 + Identifier 1577583 1577592 + ExpressionStatement 1577594 1577688 + CallExpression 1577594 1577687 + Identifier 1577594 1577626 + PropertyAccessExpression 1577627 1577666 + ParenthesizedExpression 1577627 1577654 + AsExpression 1577628 1577653 + Identifier 1577628 1577634 + TypeReference 1577637 1577653 + Identifier 1577637 1577653 + Identifier 1577655 1577666 + PropertyAccessExpression 1577667 1577686 + Identifier 1577667 1577674 + Identifier 1577675 1577686 + ExpressionStatement 1577688 1577820 + CallExpression 1577688 1577819 + Identifier 1577688 1577720 + CallExpression 1577721 1577778 + Identifier 1577721 1577751 + AsExpression 1577752 1577777 + Identifier 1577752 1577758 + TypeReference 1577761 1577777 + Identifier 1577761 1577777 + CallExpression 1577779 1577818 + Identifier 1577779 1577810 + Identifier 1577811 1577817 + ExpressionStatement 1577820 1577954 + CallExpression 1577820 1577953 + Identifier 1577820 1577852 + CallExpression 1577853 1577911 + Identifier 1577853 1577884 + AsExpression 1577885 1577910 + Identifier 1577885 1577891 + TypeReference 1577894 1577910 + Identifier 1577894 1577910 + CallExpression 1577912 1577952 + Identifier 1577912 1577944 + Identifier 1577945 1577951 + Block 1577987 1578274 + VariableStatement 1577989 1578109 + VariableDeclarationList 1577989 1578108 + VariableDeclaration 1578012 1578108 + Identifier 1578012 1578024 + ArrayLiteralExpression 1578026 1578108 + CallExpression 1578028 1578066 + Identifier 1578028 1578058 + Identifier 1578059 1578065 + CallExpression 1578067 1578107 + Identifier 1578067 1578099 + Identifier 1578100 1578106 + ExpressionStatement 1578109 1578259 + CallExpression 1578109 1578258 + Identifier 1578109 1578159 + Identifier 1578160 1578166 + Identifier 1578167 1578179 + PropertyAccessExpression 1578180 1578193 + Identifier 1578180 1578187 + Identifier 1578188 1578193 + ConditionalExpression 1578194 1578257 + Identifier 1578194 1578208 + QuestionToken 1578208 1578210 + PropertyAccessExpression 1578210 1578253 + Identifier 1578210 1578228 + Identifier 1578229 1578253 + ColonToken 1578253 1578255 + NumericLiteral 1578255 1578257 + FunctionDeclaration 1578285 1584393 + Identifier 1578305 1578332 + Parameter 1578333 1578345 + Identifier 1578333 1578339 + TypeReference 1578340 1578345 + Identifier 1578340 1578345 + Parameter 1578346 1578374 + Identifier 1578346 1578353 + TypeReference 1578354 1578374 + Identifier 1578354 1578374 + Block 1578375 1584393 + VariableStatement 1578377 1578457 + VariableDeclarationList 1578377 1578456 + VariableDeclaration 1578396 1578456 + Identifier 1578396 1578404 + CallExpression 1578406 1578456 + Identifier 1578406 1578440 + Identifier 1578441 1578447 + Identifier 1578448 1578455 + VariableStatement 1578457 1578498 + VariableDeclarationList 1578457 1578497 + VariableDeclaration 1578476 1578497 + Identifier 1578476 1578482 + PropertyAccessExpression 1578484 1578497 + Identifier 1578484 1578491 + Identifier 1578492 1578497 + IfStatement 1578498 1584382 + BinaryExpression 1579207 1579258 + Identifier 1579207 1579214 + BarBarToken 1579214 1579217 + CallExpression 1579217 1579258 + Identifier 1579217 1579223 + PropertyAccessExpression 1579224 1579236 + Identifier 1579224 1579230 + Identifier 1579231 1579236 + ArrowFunction 1579237 1579257 + Parameter 1579237 1579239 + Identifier 1579237 1579239 + EqualsGreaterThanToken 1579239 1579242 + BinaryExpression 1579242 1579257 + PropertyAccessExpression 1579242 1579251 + Identifier 1579242 1579244 + Identifier 1579245 1579251 + EqualsEqualsEqualsToken 1579251 1579255 + NumericLiteral 1579255 1579257 + Block 1579259 1584382 + ForStatement 1579261 1584367 + VariableDeclarationList 1579284 1579293 + VariableDeclaration 1579287 1579293 + Identifier 1579287 1579289 + NumericLiteral 1579291 1579293 + BinaryExpression 1579294 1579311 + Identifier 1579294 1579296 + LessThanToken 1579296 1579298 + PropertyAccessExpression 1579298 1579311 + Identifier 1579298 1579304 + Identifier 1579305 1579311 + PostfixUnaryExpression 1579312 1579316 + Identifier 1579312 1579314 + Block 1579317 1584367 + VariableStatement 1579319 1579389 + VariableDeclarationList 1579319 1579388 + VariableDeclaration 1579346 1579388 + Identifier 1579346 1579353 + ConditionalExpression 1579355 1579388 + Identifier 1579355 1579363 + QuestionToken 1579363 1579365 + ElementAccessExpression 1579365 1579376 + Identifier 1579365 1579373 + Identifier 1579374 1579375 + ColonToken 1579376 1579378 + Identifier 1579378 1579388 + VariableStatement 1579389 1579435 + VariableDeclarationList 1579389 1579434 + VariableDeclaration 1579416 1579434 + Identifier 1579416 1579423 + ElementAccessExpression 1579425 1579434 + Identifier 1579425 1579431 + Identifier 1579432 1579433 + IfStatement 1579435 1584293 + BinaryExpression 1579717 1579796 + BinaryExpression 1579717 1579755 + PropertyAccessExpression 1579717 1579729 + Identifier 1579717 1579723 + Identifier 1579724 1579729 + AmpersandToken 1579729 1579731 + PropertyAccessExpression 1579731 1579755 + Identifier 1579731 1579741 + Identifier 1579742 1579755 + AmpersandAmpersandToken 1579755 1579758 + BinaryExpression 1579758 1579796 + PropertyAccessExpression 1579758 1579771 + Identifier 1579758 1579765 + Identifier 1579766 1579771 + AmpersandToken 1579771 1579773 + PropertyAccessExpression 1579773 1579796 + Identifier 1579773 1579783 + Identifier 1579784 1579796 + Block 1579797 1584293 + VariableStatement 1579799 1579882 + VariableDeclarationList 1579799 1579881 + VariableDeclaration 1579830 1579881 + Identifier 1579830 1579847 + CallExpression 1579849 1579881 + Identifier 1579849 1579873 + Identifier 1579874 1579880 + VariableStatement 1579882 1580014 + VariableDeclarationList 1579882 1580013 + VariableDeclaration 1579913 1580013 + Identifier 1579913 1579924 + ConditionalExpression 1579926 1580013 + Identifier 1579926 1579943 + QuestionToken 1579943 1579945 + CallExpression 1579945 1580001 + Identifier 1579945 1579969 + PropertyAccessExpression 1579970 1580000 + Identifier 1579970 1579986 + Identifier 1579987 1580000 + ColonToken 1580001 1580003 + Identifier 1580003 1580013 + IfStatement 1580014 1584270 + BinaryExpression 1580044 1580080 + Identifier 1580044 1580054 + AmpersandAmpersandToken 1580054 1580057 + PrefixUnaryExpression 1580057 1580080 + CallExpression 1580059 1580080 + Identifier 1580059 1580068 + Identifier 1580069 1580079 + Block 1580081 1584270 + VariableStatement 1580083 1580221 + VariableDeclarationList 1580083 1580220 + VariableDeclaration 1580118 1580220 + Identifier 1580118 1580134 + ConditionalExpression 1580136 1580220 + BinaryExpression 1580136 1580171 + PropertyAccessExpression 1580136 1580153 + Identifier 1580136 1580147 + Identifier 1580148 1580153 + AmpersandToken 1580153 1580155 + PropertyAccessExpression 1580155 1580171 + Identifier 1580155 1580165 + Identifier 1580166 1580171 + QuestionToken 1580171 1580173 + PropertyAccessExpression 1580173 1580205 + ParenthesizedExpression 1580173 1580199 + AsExpression 1580175 1580198 + Identifier 1580175 1580185 + TypeReference 1580188 1580198 + Identifier 1580188 1580198 + Identifier 1580200 1580205 + ColonToken 1580205 1580207 + ArrayLiteralExpression 1580207 1580220 + Identifier 1580209 1580219 + VariableStatement 1580221 1580356 + VariableDeclarationList 1580221 1580355 + VariableDeclaration 1580254 1580355 + Identifier 1580254 1580267 + TypeReference 1580268 1580278 + Identifier 1580268 1580278 + CallExpression 1580280 1580355 + Identifier 1580280 1580291 + Identifier 1580292 1580307 + ArrowFunction 1580308 1580338 + Parameter 1580310 1580315 + Identifier 1580310 1580315 + Parameter 1580316 1580318 + Identifier 1580316 1580318 + EqualsGreaterThanToken 1580319 1580322 + BinaryExpression 1580322 1580338 + Identifier 1580322 1580328 + BarToken 1580328 1580330 + PropertyAccessExpression 1580330 1580338 + Identifier 1580330 1580332 + Identifier 1580333 1580338 + AsExpression 1580339 1580354 + NumericLiteral 1580339 1580341 + TypeReference 1580344 1580354 + Identifier 1580344 1580354 + IfStatement 1580356 1584243 + PrefixUnaryExpression 1580509 1580543 + ParenthesizedExpression 1580510 1580543 + BinaryExpression 1580511 1580542 + Identifier 1580511 1580523 + AmpersandToken 1580523 1580525 + PropertyAccessExpression 1580525 1580542 + Identifier 1580525 1580535 + Identifier 1580536 1580542 + Block 1580544 1584243 + VariableStatement 1580546 1580628 + VariableDeclarationList 1580546 1580627 + VariableDeclaration 1580585 1580627 + Identifier 1580585 1580589 + PropertyAccessExpression 1580591 1580627 + ParenthesizedExpression 1580591 1580621 + AsExpression 1580593 1580620 + Identifier 1580593 1580599 + TypeReference 1580602 1580620 + Identifier 1580602 1580620 + Identifier 1580622 1580627 + IfStatement 1580628 1581009 + BinaryExpression 1580807 1580895 + BinaryExpression 1580807 1580842 + Identifier 1580807 1580819 + AmpersandToken 1580819 1580821 + PropertyAccessExpression 1580821 1580842 + Identifier 1580821 1580831 + Identifier 1580832 1580842 + AmpersandAmpersandToken 1580842 1580845 + PrefixUnaryExpression 1580845 1580895 + CallExpression 1580847 1580895 + Identifier 1580847 1580866 + Identifier 1580867 1580870 + TrueKeyword 1580871 1580894 + Block 1580896 1581009 + ExpressionStatement 1580898 1580974 + BinaryExpression 1580898 1580973 + Identifier 1580898 1580948 + AmpersandEqualsToken 1580948 1580951 + PrefixUnaryExpression 1580951 1580973 + PropertyAccessExpression 1580953 1580973 + Identifier 1580953 1580962 + Identifier 1580963 1580973 + IfStatement 1581009 1581390 + BinaryExpression 1581188 1581276 + BinaryExpression 1581188 1581223 + Identifier 1581188 1581200 + AmpersandToken 1581200 1581202 + PropertyAccessExpression 1581202 1581223 + Identifier 1581202 1581212 + Identifier 1581213 1581223 + AmpersandAmpersandToken 1581223 1581226 + PrefixUnaryExpression 1581226 1581276 + CallExpression 1581228 1581276 + Identifier 1581228 1581247 + Identifier 1581248 1581251 + TrueKeyword 1581252 1581275 + Block 1581277 1581390 + ExpressionStatement 1581279 1581355 + BinaryExpression 1581279 1581354 + Identifier 1581279 1581329 + AmpersandEqualsToken 1581329 1581332 + PrefixUnaryExpression 1581332 1581354 + PropertyAccessExpression 1581334 1581354 + Identifier 1581334 1581343 + Identifier 1581344 1581354 + VariableStatement 1581390 1583973 + VariableDeclarationList 1581390 1583972 + VariableDeclaration 1581540 1583972 + Identifier 1581540 1581553 + CallExpression 1581555 1583972 + Identifier 1581555 1581566 + Identifier 1581567 1581582 + ArrowFunction 1581583 1583952 + Parameter 1581585 1581589 + Identifier 1581585 1581589 + Parameter 1581590 1581596 + Identifier 1581590 1581596 + EqualsGreaterThanToken 1581597 1581600 + ConditionalExpression 1581600 1583952 + PrefixUnaryExpression 1581600 1581667 + ParenthesizedExpression 1581639 1581667 + BinaryExpression 1581640 1581666 + PropertyAccessExpression 1581640 1581651 + Identifier 1581640 1581645 + Identifier 1581646 1581651 + AmpersandToken 1581651 1581653 + Identifier 1581653 1581666 + QuestionToken 1581667 1581669 + Identifier 1581669 1581674 + ColonToken 1581674 1581676 + ConditionalExpression 1581676 1583952 + BinaryExpression 1581676 1581747 + PropertyAccessExpression 1581676 1581728 + Identifier 1581676 1581722 + Identifier 1581723 1581728 + AmpersandToken 1581728 1581730 + PropertyAccessExpression 1581730 1581747 + Identifier 1581730 1581740 + Identifier 1581741 1581747 + QuestionToken 1581747 1581749 + Identifier 1581749 1581754 + ColonToken 1581754 1581756 + ConditionalExpression 1581756 1583952 + BinaryExpression 1581756 1581787 + PropertyAccessExpression 1581756 1581768 + Identifier 1581756 1581762 + Identifier 1581763 1581768 + AmpersandToken 1581768 1581770 + PropertyAccessExpression 1581770 1581787 + Identifier 1581770 1581780 + Identifier 1581781 1581787 + QuestionToken 1581787 1581789 + Identifier 1581789 1581796 + ColonToken 1581796 1581798 + ConditionalExpression 1581798 1583952 + BinaryExpression 1581798 1581878 + PropertyAccessExpression 1581798 1581850 + Identifier 1581798 1581844 + Identifier 1581845 1581850 + AmpersandToken 1581850 1581852 + PropertyAccessExpression 1581852 1581878 + Identifier 1581852 1581862 + Identifier 1581863 1581878 + QuestionToken 1581878 1581880 + Identifier 1581880 1581885 + ColonToken 1581885 1581887 + ConditionalExpression 1581887 1583952 + BinaryExpression 1581887 1582003 + BinaryExpression 1581887 1581927 + PropertyAccessExpression 1581887 1581899 + Identifier 1581887 1581893 + Identifier 1581894 1581899 + AmpersandToken 1581899 1581901 + PropertyAccessExpression 1581901 1581927 + Identifier 1581901 1581911 + Identifier 1581912 1581927 + AmpersandAmpersandToken 1581927 1581930 + CallExpression 1581930 1582003 + Identifier 1581930 1581965 + Identifier 1581966 1581972 + AsExpression 1581973 1582002 + Identifier 1581973 1581979 + TypeReference 1581982 1582002 + Identifier 1581982 1582002 + QuestionToken 1582003 1582005 + Identifier 1582005 1582012 + ColonToken 1582012 1582014 + ConditionalExpression 1582014 1583952 + BinaryExpression 1582014 1582092 + PropertyAccessExpression 1582014 1582066 + Identifier 1582014 1582060 + Identifier 1582061 1582066 + AmpersandToken 1582066 1582068 + PropertyAccessExpression 1582068 1582092 + Identifier 1582068 1582078 + Identifier 1582079 1582092 + QuestionToken 1582092 1582094 + Identifier 1582094 1582099 + ColonToken 1582099 1582101 + ConditionalExpression 1582101 1583952 + BinaryExpression 1582101 1582188 + BinaryExpression 1582101 1582139 + PropertyAccessExpression 1582101 1582113 + Identifier 1582101 1582107 + Identifier 1582108 1582113 + AmpersandToken 1582113 1582115 + PropertyAccessExpression 1582115 1582139 + Identifier 1582115 1582125 + Identifier 1582126 1582139 + AmpersandAmpersandToken 1582139 1582142 + BinaryExpression 1582142 1582188 + Identifier 1582142 1582146 + EqualsEqualsEqualsToken 1582146 1582150 + CallExpression 1582150 1582188 + Identifier 1582150 1582169 + PropertyAccessExpression 1582170 1582182 + Identifier 1582170 1582175 + Identifier 1582176 1582182 + Identifier 1582183 1582187 + QuestionToken 1582188 1582190 + Identifier 1582190 1582197 + ColonToken 1582197 1582199 + ConditionalExpression 1582199 1583952 + BinaryExpression 1582199 1582277 + PropertyAccessExpression 1582199 1582251 + Identifier 1582199 1582245 + Identifier 1582246 1582251 + AmpersandToken 1582251 1582253 + PropertyAccessExpression 1582253 1582277 + Identifier 1582253 1582263 + Identifier 1582264 1582277 + QuestionToken 1582277 1582279 + Identifier 1582279 1582284 + ColonToken 1582284 1582286 + ConditionalExpression 1582286 1583952 + BinaryExpression 1582286 1582370 + BinaryExpression 1582286 1582324 + PropertyAccessExpression 1582286 1582298 + Identifier 1582286 1582292 + Identifier 1582293 1582298 + AmpersandToken 1582298 1582300 + PropertyAccessExpression 1582300 1582324 + Identifier 1582300 1582310 + Identifier 1582311 1582324 + AmpersandAmpersandToken 1582324 1582327 + BinaryExpression 1582327 1582370 + PropertyAccessExpression 1582327 1582362 + ParenthesizedExpression 1582327 1582356 + AsExpression 1582329 1582355 + Identifier 1582329 1582334 + TypeReference 1582337 1582355 + Identifier 1582337 1582355 + Identifier 1582357 1582362 + EqualsEqualsEqualsToken 1582362 1582366 + Identifier 1582366 1582370 + QuestionToken 1582370 1582372 + Identifier 1582372 1582378 + ColonToken 1582378 1582380 + ConditionalExpression 1582380 1583952 + BinaryExpression 1582380 1582451 + PropertyAccessExpression 1582380 1582432 + Identifier 1582380 1582426 + Identifier 1582427 1582432 + AmpersandToken 1582432 1582434 + PropertyAccessExpression 1582434 1582451 + Identifier 1582434 1582444 + Identifier 1582445 1582451 + QuestionToken 1582451 1582453 + Identifier 1582453 1582458 + ColonToken 1582458 1582460 + ConditionalExpression 1582460 1583952 + BinaryExpression 1582460 1582491 + PropertyAccessExpression 1582460 1582472 + Identifier 1582460 1582466 + Identifier 1582467 1582472 + AmpersandToken 1582472 1582474 + PropertyAccessExpression 1582474 1582491 + Identifier 1582474 1582484 + Identifier 1582485 1582491 + QuestionToken 1582491 1582493 + CallExpression 1582493 1582520 + Identifier 1582493 1582514 + PrefixUnaryExpression 1582515 1582519 + Identifier 1582516 1582519 + ColonToken 1582520 1582522 + ConditionalExpression 1582522 1583952 + BinaryExpression 1582522 1582591 + PropertyAccessExpression 1582522 1582574 + Identifier 1582522 1582568 + Identifier 1582569 1582574 + AmpersandToken 1582574 1582576 + PropertyAccessExpression 1582576 1582591 + Identifier 1582576 1582586 + Identifier 1582587 1582591 + QuestionToken 1582591 1582593 + Identifier 1582593 1582598 + ColonToken 1582598 1582600 + ConditionalExpression 1582600 1583952 + BinaryExpression 1582600 1582629 + PropertyAccessExpression 1582600 1582612 + Identifier 1582600 1582606 + Identifier 1582607 1582612 + AmpersandToken 1582612 1582614 + PropertyAccessExpression 1582614 1582629 + Identifier 1582614 1582624 + Identifier 1582625 1582629 + QuestionToken 1582629 1582631 + CallExpression 1582631 1582658 + Identifier 1582631 1582652 + PrefixUnaryExpression 1582653 1582657 + Identifier 1582654 1582657 + ColonToken 1582658 1582660 + ConditionalExpression 1582660 1583952 + BinaryExpression 1582660 1582738 + PropertyAccessExpression 1582660 1582712 + Identifier 1582660 1582706 + Identifier 1582707 1582712 + AmpersandToken 1582712 1582714 + PropertyAccessExpression 1582714 1582738 + Identifier 1582714 1582724 + Identifier 1582725 1582738 + QuestionToken 1582738 1582740 + Identifier 1582740 1582745 + ColonToken 1582745 1582747 + ConditionalExpression 1582747 1583952 + BinaryExpression 1582747 1582832 + BinaryExpression 1582747 1582785 + PropertyAccessExpression 1582747 1582759 + Identifier 1582747 1582753 + Identifier 1582754 1582759 + AmpersandToken 1582759 1582761 + PropertyAccessExpression 1582761 1582785 + Identifier 1582761 1582771 + Identifier 1582772 1582785 + AmpersandAmpersandToken 1582785 1582788 + BinaryExpression 1582788 1582832 + PropertyAccessExpression 1582788 1582823 + ParenthesizedExpression 1582788 1582817 + AsExpression 1582790 1582816 + Identifier 1582790 1582795 + TypeReference 1582798 1582816 + Identifier 1582798 1582816 + Identifier 1582818 1582823 + EqualsEqualsEqualsToken 1582823 1582827 + PrefixUnaryExpression 1582827 1582832 + Identifier 1582829 1582832 + QuestionToken 1582832 1582834 + Identifier 1582834 1582840 + ColonToken 1582840 1582842 + ConditionalExpression 1582842 1583952 + BinaryExpression 1582842 1582913 + PropertyAccessExpression 1582842 1582894 + Identifier 1582842 1582888 + Identifier 1582889 1582894 + AmpersandToken 1582894 1582896 + PropertyAccessExpression 1582896 1582913 + Identifier 1582896 1582906 + Identifier 1582907 1582913 + QuestionToken 1582913 1582915 + Identifier 1582915 1582920 + ColonToken 1582920 1582922 + ConditionalExpression 1582922 1583952 + BinaryExpression 1582922 1582953 + PropertyAccessExpression 1582922 1582934 + Identifier 1582922 1582928 + Identifier 1582929 1582934 + AmpersandToken 1582934 1582936 + PropertyAccessExpression 1582936 1582953 + Identifier 1582936 1582946 + Identifier 1582947 1582953 + QuestionToken 1582953 1582955 + CallExpression 1582955 1582983 + Identifier 1582955 1582978 + Identifier 1582979 1582982 + ColonToken 1582983 1582985 + ConditionalExpression 1582985 1583952 + BinaryExpression 1582985 1583063 + PropertyAccessExpression 1582985 1583037 + Identifier 1582985 1583031 + Identifier 1583032 1583037 + AmpersandToken 1583037 1583039 + PropertyAccessExpression 1583039 1583063 + Identifier 1583039 1583049 + Identifier 1583050 1583063 + QuestionToken 1583063 1583065 + Identifier 1583065 1583070 + ColonToken 1583070 1583072 + ConditionalExpression 1583072 1583952 + BinaryExpression 1583072 1583178 + BinaryExpression 1583072 1583110 + PropertyAccessExpression 1583072 1583084 + Identifier 1583072 1583078 + Identifier 1583079 1583084 + AmpersandToken 1583084 1583086 + PropertyAccessExpression 1583086 1583110 + Identifier 1583086 1583096 + Identifier 1583097 1583110 + AmpersandAmpersandToken 1583110 1583113 + BinaryExpression 1583113 1583178 + CallExpression 1583113 1583170 + Identifier 1583113 1583134 + PropertyAccessExpression 1583135 1583169 + ParenthesizedExpression 1583135 1583163 + AsExpression 1583136 1583162 + Identifier 1583136 1583141 + TypeReference 1583144 1583162 + Identifier 1583144 1583162 + Identifier 1583164 1583169 + EqualsEqualsEqualsToken 1583170 1583174 + Identifier 1583174 1583178 + QuestionToken 1583178 1583180 + Identifier 1583180 1583186 + ColonToken 1583186 1583188 + ConditionalExpression 1583188 1583952 + BinaryExpression 1583188 1583260 + PropertyAccessExpression 1583188 1583240 + Identifier 1583188 1583234 + Identifier 1583235 1583240 + AmpersandToken 1583240 1583242 + PropertyAccessExpression 1583242 1583260 + Identifier 1583242 1583252 + Identifier 1583253 1583260 + QuestionToken 1583260 1583262 + Identifier 1583262 1583267 + ColonToken 1583267 1583269 + ConditionalExpression 1583269 1583952 + BinaryExpression 1583269 1583301 + PropertyAccessExpression 1583269 1583281 + Identifier 1583269 1583275 + Identifier 1583276 1583281 + AmpersandToken 1583281 1583283 + PropertyAccessExpression 1583283 1583301 + Identifier 1583283 1583293 + Identifier 1583294 1583301 + QuestionToken 1583301 1583303 + ConditionalExpression 1583303 1583373 + BinaryExpression 1583303 1583318 + Identifier 1583303 1583307 + EqualsEqualsEqualsToken 1583307 1583311 + StringLiteral 1583311 1583318 + QuestionToken 1583318 1583320 + Identifier 1583320 1583329 + ColonToken 1583329 1583331 + ConditionalExpression 1583331 1583373 + BinaryExpression 1583331 1583347 + Identifier 1583331 1583335 + EqualsEqualsEqualsToken 1583335 1583339 + StringLiteral 1583339 1583347 + QuestionToken 1583347 1583349 + Identifier 1583349 1583359 + ColonToken 1583359 1583361 + Identifier 1583361 1583373 + ColonToken 1583373 1583375 + ConditionalExpression 1583375 1583952 + BinaryExpression 1583375 1583454 + PropertyAccessExpression 1583375 1583427 + Identifier 1583375 1583421 + Identifier 1583422 1583427 + AmpersandToken 1583427 1583429 + PropertyAccessExpression 1583429 1583454 + Identifier 1583429 1583439 + Identifier 1583440 1583454 + QuestionToken 1583454 1583456 + Identifier 1583456 1583461 + ColonToken 1583461 1583463 + ConditionalExpression 1583463 1583952 + BinaryExpression 1583463 1583552 + BinaryExpression 1583463 1583502 + PropertyAccessExpression 1583463 1583475 + Identifier 1583463 1583469 + Identifier 1583470 1583475 + AmpersandToken 1583475 1583477 + PropertyAccessExpression 1583477 1583502 + Identifier 1583477 1583487 + Identifier 1583488 1583502 + AmpersandAmpersandToken 1583502 1583505 + BinaryExpression 1583505 1583552 + PropertyAccessExpression 1583505 1583544 + ParenthesizedExpression 1583505 1583530 + AsExpression 1583507 1583529 + Identifier 1583507 1583512 + TypeReference 1583515 1583529 + Identifier 1583515 1583529 + Identifier 1583531 1583544 + EqualsEqualsEqualsToken 1583544 1583548 + Identifier 1583548 1583552 + QuestionToken 1583552 1583554 + Identifier 1583554 1583560 + ColonToken 1583560 1583562 + ConditionalExpression 1583562 1583952 + BinaryExpression 1583562 1583636 + PropertyAccessExpression 1583562 1583614 + Identifier 1583562 1583608 + Identifier 1583609 1583614 + AmpersandToken 1583614 1583616 + PropertyAccessExpression 1583616 1583636 + Identifier 1583616 1583626 + Identifier 1583627 1583636 + QuestionToken 1583636 1583638 + Identifier 1583638 1583643 + ColonToken 1583643 1583645 + ConditionalExpression 1583645 1583952 + BinaryExpression 1583645 1583729 + BinaryExpression 1583645 1583679 + PropertyAccessExpression 1583645 1583657 + Identifier 1583645 1583651 + Identifier 1583652 1583657 + AmpersandToken 1583657 1583659 + PropertyAccessExpression 1583659 1583679 + Identifier 1583659 1583669 + Identifier 1583670 1583679 + AmpersandAmpersandToken 1583679 1583682 + BinaryExpression 1583682 1583729 + PropertyAccessExpression 1583682 1583721 + ParenthesizedExpression 1583682 1583707 + AsExpression 1583684 1583706 + Identifier 1583684 1583689 + TypeReference 1583692 1583706 + Identifier 1583692 1583706 + Identifier 1583708 1583721 + EqualsEqualsEqualsToken 1583721 1583725 + Identifier 1583725 1583729 + QuestionToken 1583729 1583731 + Identifier 1583731 1583737 + ColonToken 1583737 1583739 + ConditionalExpression 1583739 1583952 + BinaryExpression 1583739 1583808 + PropertyAccessExpression 1583739 1583791 + Identifier 1583739 1583785 + Identifier 1583786 1583791 + AmpersandToken 1583791 1583793 + PropertyAccessExpression 1583793 1583808 + Identifier 1583793 1583803 + Identifier 1583804 1583808 + QuestionToken 1583808 1583810 + Identifier 1583810 1583815 + ColonToken 1583815 1583817 + ConditionalExpression 1583817 1583952 + BinaryExpression 1583817 1583896 + BinaryExpression 1583817 1583846 + PropertyAccessExpression 1583817 1583829 + Identifier 1583817 1583823 + Identifier 1583824 1583829 + AmpersandToken 1583829 1583831 + PropertyAccessExpression 1583831 1583846 + Identifier 1583831 1583841 + Identifier 1583842 1583846 + AmpersandAmpersandToken 1583846 1583849 + BinaryExpression 1583849 1583896 + PropertyAccessExpression 1583849 1583888 + ParenthesizedExpression 1583849 1583874 + AsExpression 1583851 1583873 + Identifier 1583851 1583856 + TypeReference 1583859 1583873 + Identifier 1583859 1583873 + Identifier 1583875 1583888 + EqualsEqualsEqualsToken 1583888 1583892 + Identifier 1583892 1583896 + QuestionToken 1583896 1583898 + Identifier 1583898 1583904 + ColonToken 1583904 1583906 + Identifier 1583906 1583952 + AsExpression 1583953 1583971 + Identifier 1583953 1583963 + TypeReference 1583966 1583971 + Identifier 1583966 1583971 + IfStatement 1583973 1584212 + PrefixUnaryExpression 1584013 1584052 + ParenthesizedExpression 1584014 1584052 + BinaryExpression 1584015 1584051 + PropertyAccessExpression 1584015 1584033 + Identifier 1584015 1584027 + Identifier 1584028 1584033 + AmpersandToken 1584033 1584035 + PropertyAccessExpression 1584035 1584051 + Identifier 1584035 1584045 + Identifier 1584046 1584051 + Block 1584053 1584212 + ExpressionStatement 1584055 1584130 + CallExpression 1584055 1584129 + Identifier 1584055 1584107 + Identifier 1584108 1584120 + Identifier 1584121 1584128 + ContinueStatement 1584130 1584177 + ExpressionStatement 1584293 1584348 + CallExpression 1584293 1584347 + Identifier 1584293 1584331 + Identifier 1584332 1584338 + Identifier 1584339 1584346 + FunctionDeclaration 1584393 1585109 + Identifier 1584413 1584441 + Parameter 1584442 1584460 + Identifier 1584442 1584448 + TypeReference 1584449 1584460 + Identifier 1584449 1584460 + Parameter 1584461 1584480 + Identifier 1584461 1584468 + TypeReference 1584469 1584480 + Identifier 1584469 1584480 + Block 1584481 1585109 + ExpressionStatement 1584483 1584750 + CallExpression 1584483 1584749 + Identifier 1584483 1584667 + CallExpression 1584668 1584707 + Identifier 1584668 1584699 + Identifier 1584700 1584706 + CallExpression 1584708 1584748 + Identifier 1584708 1584740 + Identifier 1584741 1584747 + ExpressionStatement 1584750 1584857 + CallExpression 1584750 1584856 + Identifier 1584750 1584778 + CallExpression 1584779 1584816 + Identifier 1584779 1584808 + Identifier 1584809 1584815 + CallExpression 1584817 1584855 + Identifier 1584817 1584847 + Identifier 1584848 1584854 + VariableStatement 1584857 1584928 + VariableDeclarationList 1584857 1584927 + VariableDeclaration 1584876 1584927 + Identifier 1584876 1584891 + CallExpression 1584893 1584927 + Identifier 1584893 1584919 + Identifier 1584920 1584926 + VariableStatement 1584928 1584999 + VariableDeclarationList 1584928 1584998 + VariableDeclaration 1584947 1584998 + Identifier 1584947 1584962 + CallExpression 1584964 1584998 + Identifier 1584964 1584990 + Identifier 1584991 1584997 + IfStatement 1584999 1585098 + BinaryExpression 1585017 1585049 + Identifier 1585017 1585031 + AmpersandAmpersandToken 1585031 1585034 + Identifier 1585034 1585049 + ExpressionStatement 1585050 1585098 + CallExpression 1585050 1585097 + Identifier 1585050 1585065 + Identifier 1585066 1585080 + Identifier 1585081 1585096 + FunctionDeclaration 1585109 1595059 + Identifier 1585129 1585150 + Parameter 1585151 1585163 + Identifier 1585151 1585157 + TypeReference 1585158 1585163 + Identifier 1585158 1585163 + Parameter 1585164 1585177 + Identifier 1585164 1585171 + TypeReference 1585172 1585177 + Identifier 1585172 1585177 + Block 1585178 1595059 + IfStatement 1585180 1585813 + BinaryExpression 1585198 1585473 + BinaryExpression 1585198 1585312 + BinaryExpression 1585198 1585262 + CallExpression 1585198 1585238 + Identifier 1585198 1585230 + Identifier 1585231 1585237 + AmpersandToken 1585238 1585240 + PropertyAccessExpression 1585240 1585262 + Identifier 1585240 1585252 + Identifier 1585253 1585262 + AmpersandAmpersandToken 1585262 1585265 + BinaryExpression 1585265 1585312 + CallExpression 1585265 1585288 + Identifier 1585265 1585280 + Identifier 1585281 1585287 + AmpersandToken 1585288 1585290 + PropertyAccessExpression 1585290 1585312 + Identifier 1585290 1585302 + Identifier 1585303 1585312 + AmpersandAmpersandToken 1585312 1585315 + ParenthesizedExpression 1585315 1585473 + BinaryExpression 1585317 1585454 + BinaryExpression 1585317 1585408 + PropertyAccessExpression 1585317 1585371 + ParenthesizedExpression 1585317 1585364 + AsExpression 1585340 1585363 + Identifier 1585340 1585346 + TypeReference 1585349 1585363 + Identifier 1585349 1585363 + Identifier 1585365 1585371 + EqualsEqualsEqualsToken 1585371 1585375 + PropertyAccessExpression 1585375 1585408 + ParenthesizedExpression 1585375 1585401 + AsExpression 1585377 1585400 + Identifier 1585377 1585383 + TypeReference 1585386 1585400 + Identifier 1585386 1585400 + Identifier 1585402 1585408 + BarBarToken 1585408 1585411 + BinaryExpression 1585411 1585454 + CallExpression 1585411 1585431 + Identifier 1585411 1585423 + Identifier 1585424 1585430 + AmpersandAmpersandToken 1585431 1585434 + CallExpression 1585434 1585454 + Identifier 1585434 1585446 + Identifier 1585447 1585453 + Block 1585488 1585813 + ExpressionStatement 1585490 1585773 + CallExpression 1585490 1585772 + Identifier 1585490 1585638 + CallExpression 1585639 1585680 + Identifier 1585639 1585655 + AsExpression 1585656 1585679 + Identifier 1585656 1585662 + TypeReference 1585665 1585679 + Identifier 1585665 1585679 + CallExpression 1585681 1585723 + Identifier 1585681 1585698 + AsExpression 1585699 1585722 + Identifier 1585699 1585705 + TypeReference 1585708 1585722 + Identifier 1585708 1585722 + CallExpression 1585724 1585771 + Identifier 1585724 1585737 + PropertyAccessExpression 1585738 1585770 + ParenthesizedExpression 1585738 1585763 + AsExpression 1585739 1585762 + Identifier 1585739 1585745 + TypeReference 1585748 1585762 + Identifier 1585748 1585762 + Identifier 1585764 1585770 + ReturnStatement 1585773 1585798 + IfStatement 1585813 1585969 + BinaryExpression 1585831 1585889 + CallExpression 1585831 1585858 + Identifier 1585831 1585850 + Identifier 1585851 1585857 + AmpersandAmpersandToken 1585858 1585861 + CallExpression 1585861 1585889 + Identifier 1585861 1585881 + Identifier 1585882 1585888 + Block 1585890 1585969 + ExpressionStatement 1585892 1585954 + CallExpression 1585892 1585953 + Identifier 1585892 1585937 + Identifier 1585938 1585944 + Identifier 1585945 1585952 + IfStatement 1585969 1586327 + BinaryExpression 1585987 1586078 + BinaryExpression 1585987 1586030 + CallExpression 1585987 1586009 + Identifier 1585987 1586001 + Identifier 1586002 1586008 + AmpersandToken 1586009 1586011 + PropertyAccessExpression 1586011 1586030 + Identifier 1586011 1586023 + Identifier 1586024 1586030 + AmpersandAmpersandToken 1586030 1586033 + PrefixUnaryExpression 1586033 1586078 + PropertyAccessExpression 1586035 1586078 + PropertyAccessExpression 1586035 1586069 + ParenthesizedExpression 1586035 1586057 + AsExpression 1586036 1586056 + Identifier 1586036 1586042 + TypeReference 1586045 1586056 + Identifier 1586045 1586056 + Identifier 1586058 1586069 + Identifier 1586070 1586078 + Block 1586079 1586327 + VariableStatement 1586081 1586176 + VariableDeclarationList 1586081 1586175 + VariableDeclaration 1586104 1586175 + Identifier 1586104 1586119 + CallExpression 1586121 1586175 + Identifier 1586121 1586153 + AsExpression 1586154 1586174 + Identifier 1586154 1586160 + TypeReference 1586163 1586174 + Identifier 1586163 1586174 + IfStatement 1586176 1586312 + CallExpression 1586198 1586261 + Identifier 1586198 1586215 + Identifier 1586216 1586222 + AsExpression 1586223 1586244 + Identifier 1586223 1586230 + TypeReference 1586233 1586244 + Identifier 1586233 1586244 + Identifier 1586245 1586260 + Block 1586262 1586312 + ReturnStatement 1586264 1586293 + IfStatement 1586327 1595048 + PrefixUnaryExpression 1586448 1586489 + CallExpression 1586449 1586489 + Identifier 1586449 1586473 + Identifier 1586474 1586480 + Identifier 1586481 1586488 + Block 1586490 1595048 + IfStatement 1586492 1594772 + CallExpression 1586514 1586540 + Identifier 1586514 1586532 + Identifier 1586533 1586539 + Block 1586541 1594772 + IfStatement 1586543 1594587 + CallExpression 1586569 1586588 + Identifier 1586569 1586580 + Identifier 1586581 1586587 + Block 1586589 1594587 + VariableStatement 1586591 1586667 + VariableDeclarationList 1586591 1586666 + VariableDeclaration 1586622 1586666 + Identifier 1586622 1586634 + CallExpression 1586636 1586666 + Identifier 1586636 1586658 + Identifier 1586659 1586665 + VariableStatement 1586667 1586743 + VariableDeclarationList 1586667 1586742 + VariableDeclaration 1586698 1586742 + Identifier 1586698 1586710 + CallExpression 1586712 1586742 + Identifier 1586712 1586734 + Identifier 1586735 1586741 + VariableStatement 1586743 1586815 + VariableDeclarationList 1586743 1586814 + VariableDeclaration 1586774 1586814 + Identifier 1586774 1586787 + CallExpression 1586789 1586814 + Identifier 1586789 1586806 + Identifier 1586807 1586813 + VariableStatement 1586815 1586889 + VariableDeclarationList 1586815 1586888 + VariableDeclaration 1586846 1586888 + Identifier 1586846 1586859 + PropertyAccessExpression 1586861 1586888 + PropertyAccessExpression 1586861 1586875 + Identifier 1586861 1586868 + Identifier 1586869 1586875 + Identifier 1586876 1586888 + IfStatement 1586889 1587482 + BinaryExpression 1587153 1587220 + CallExpression 1587153 1587172 + Identifier 1587153 1587164 + Identifier 1587165 1587171 + AmpersandAmpersandToken 1587172 1587175 + CallExpression 1587175 1587220 + Identifier 1587175 1587204 + Identifier 1587205 1587211 + Identifier 1587212 1587219 + Block 1587221 1587482 + ForStatement 1587223 1587418 + VariableDeclarationList 1587258 1587267 + VariableDeclaration 1587261 1587267 + Identifier 1587261 1587263 + NumericLiteral 1587265 1587267 + BinaryExpression 1587268 1587284 + Identifier 1587268 1587270 + LessThanToken 1587270 1587272 + Identifier 1587272 1587284 + PostfixUnaryExpression 1587285 1587289 + Identifier 1587285 1587287 + Block 1587290 1587418 + ExpressionStatement 1587292 1587387 + CallExpression 1587292 1587386 + Identifier 1587292 1587340 + ElementAccessExpression 1587341 1587368 + CallExpression 1587341 1587365 + Identifier 1587341 1587357 + Identifier 1587358 1587364 + Identifier 1587366 1587367 + ElementAccessExpression 1587369 1587385 + Identifier 1587369 1587382 + Identifier 1587383 1587384 + ReturnStatement 1587418 1587455 + VariableStatement 1587482 1587617 + VariableDeclarationList 1587482 1587616 + VariableDeclaration 1587513 1587616 + Identifier 1587513 1587525 + ConditionalExpression 1587527 1587616 + CallExpression 1587527 1587547 + Identifier 1587527 1587539 + Identifier 1587540 1587546 + QuestionToken 1587547 1587549 + CallExpression 1587549 1587612 + PropertyAccessExpression 1587549 1587558 + Identifier 1587549 1587554 + Identifier 1587555 1587558 + PropertyAccessExpression 1587559 1587584 + PropertyAccessExpression 1587559 1587572 + Identifier 1587559 1587565 + Identifier 1587566 1587572 + Identifier 1587573 1587584 + PropertyAccessExpression 1587585 1587611 + PropertyAccessExpression 1587585 1587599 + Identifier 1587585 1587592 + Identifier 1587593 1587599 + Identifier 1587600 1587611 + ColonToken 1587612 1587614 + NumericLiteral 1587614 1587616 + VariableStatement 1587617 1587864 + VariableDeclarationList 1587617 1587863 + VariableDeclaration 1587648 1587863 + Identifier 1587648 1587658 + CallExpression 1587660 1587863 + PropertyAccessExpression 1587660 1587669 + Identifier 1587660 1587665 + Identifier 1587666 1587669 + ConditionalExpression 1587670 1587749 + CallExpression 1587670 1587689 + Identifier 1587670 1587681 + Identifier 1587682 1587688 + QuestionToken 1587689 1587691 + CallExpression 1587691 1587745 + Identifier 1587691 1587710 + PropertyAccessExpression 1587711 1587724 + Identifier 1587711 1587717 + Identifier 1587718 1587724 + PropertyAccessExpression 1587725 1587744 + Identifier 1587725 1587738 + Identifier 1587739 1587744 + ColonToken 1587745 1587747 + NumericLiteral 1587747 1587749 + ConditionalExpression 1587750 1587862 + BinaryExpression 1587750 1587802 + PropertyAccessExpression 1587750 1587778 + PropertyAccessExpression 1587750 1587764 + Identifier 1587750 1587757 + Identifier 1587758 1587764 + Identifier 1587765 1587778 + AmpersandToken 1587778 1587780 + PropertyAccessExpression 1587780 1587802 + Identifier 1587780 1587793 + Identifier 1587794 1587802 + QuestionToken 1587802 1587804 + CallExpression 1587804 1587858 + Identifier 1587804 1587823 + PropertyAccessExpression 1587824 1587837 + Identifier 1587824 1587830 + Identifier 1587831 1587837 + PropertyAccessExpression 1587838 1587857 + Identifier 1587838 1587851 + Identifier 1587852 1587857 + ColonToken 1587858 1587860 + NumericLiteral 1587860 1587862 + ForStatement 1587864 1588114 + VariableDeclarationList 1587962 1587971 + VariableDeclaration 1587965 1587971 + Identifier 1587965 1587967 + NumericLiteral 1587969 1587971 + BinaryExpression 1587972 1587988 + Identifier 1587972 1587974 + LessThanToken 1587974 1587976 + Identifier 1587976 1587988 + PostfixUnaryExpression 1587989 1587993 + Identifier 1587989 1587991 + Block 1587994 1588114 + ExpressionStatement 1587996 1588087 + CallExpression 1587996 1588086 + Identifier 1587996 1588040 + ElementAccessExpression 1588041 1588068 + CallExpression 1588041 1588065 + Identifier 1588041 1588057 + Identifier 1588058 1588064 + Identifier 1588066 1588067 + ElementAccessExpression 1588069 1588085 + Identifier 1588069 1588082 + Identifier 1588083 1588084 + IfStatement 1588114 1594250 + BinaryExpression 1588144 1588274 + PrefixUnaryExpression 1588144 1588164 + CallExpression 1588145 1588164 + Identifier 1588145 1588156 + Identifier 1588157 1588163 + BarBarToken 1588164 1588167 + BinaryExpression 1588167 1588274 + BinaryExpression 1588167 1588211 + BinaryExpression 1588167 1588205 + BinaryExpression 1588167 1588193 + Identifier 1588167 1588179 + MinusToken 1588179 1588181 + Identifier 1588181 1588193 + MinusToken 1588193 1588195 + Identifier 1588195 1588205 + EqualsEqualsEqualsToken 1588205 1588209 + NumericLiteral 1588209 1588211 + AmpersandAmpersandToken 1588211 1588214 + BinaryExpression 1588214 1588274 + ElementAccessExpression 1588214 1588254 + PropertyAccessExpression 1588214 1588241 + PropertyAccessExpression 1588214 1588228 + Identifier 1588214 1588221 + Identifier 1588222 1588228 + Identifier 1588229 1588241 + Identifier 1588242 1588253 + AmpersandToken 1588254 1588256 + PropertyAccessExpression 1588256 1588274 + Identifier 1588256 1588269 + Identifier 1588270 1588274 + Block 1588275 1588771 + VariableStatement 1588277 1588476 + VariableDeclarationList 1588277 1588475 + VariableDeclaration 1588426 1588475 + Identifier 1588426 1588435 + ElementAccessExpression 1588437 1588475 + CallExpression 1588437 1588462 + Identifier 1588437 1588454 + Identifier 1588455 1588461 + Identifier 1588463 1588474 + ForStatement 1588476 1588744 + VariableDeclarationList 1588511 1588530 + VariableDeclaration 1588514 1588530 + Identifier 1588514 1588516 + Identifier 1588518 1588530 + BinaryExpression 1588531 1588559 + Identifier 1588531 1588533 + LessThanToken 1588533 1588535 + BinaryExpression 1588535 1588559 + Identifier 1588535 1588547 + MinusToken 1588547 1588549 + Identifier 1588549 1588559 + PostfixUnaryExpression 1588560 1588564 + Identifier 1588560 1588562 + Block 1588565 1588744 + ExpressionStatement 1588567 1588713 + CallExpression 1588567 1588712 + Identifier 1588567 1588615 + ConditionalExpression 1588616 1588694 + BinaryExpression 1588616 1588655 + ElementAccessExpression 1588616 1588631 + Identifier 1588616 1588628 + Identifier 1588629 1588630 + AmpersandToken 1588631 1588633 + PropertyAccessExpression 1588633 1588655 + Identifier 1588633 1588646 + Identifier 1588647 1588655 + QuestionToken 1588655 1588657 + CallExpression 1588657 1588683 + Identifier 1588657 1588673 + Identifier 1588674 1588682 + ColonToken 1588683 1588685 + Identifier 1588685 1588694 + ElementAccessExpression 1588695 1588711 + Identifier 1588695 1588708 + Identifier 1588709 1588710 + Block 1588801 1594250 + VariableStatement 1588803 1588892 + VariableDeclarationList 1588803 1588891 + VariableDeclaration 1588838 1588891 + Identifier 1588838 1588851 + BinaryExpression 1588853 1588891 + BinaryExpression 1588853 1588879 + Identifier 1588853 1588865 + MinusToken 1588865 1588867 + Identifier 1588867 1588879 + MinusToken 1588879 1588881 + Identifier 1588881 1588891 + IfStatement 1588892 1594223 + BinaryExpression 1588926 1588944 + Identifier 1588926 1588938 + EqualsEqualsEqualsToken 1588938 1588942 + NumericLiteral 1588942 1588944 + Block 1588945 1592858 + IfStatement 1588947 1592827 + BinaryExpression 1588985 1589066 + BinaryExpression 1588985 1589042 + ElementAccessExpression 1588985 1589010 + Identifier 1588985 1588997 + Identifier 1588998 1589009 + AmpersandToken 1589010 1589012 + ElementAccessExpression 1589012 1589042 + Identifier 1589012 1589025 + BinaryExpression 1589026 1589041 + Identifier 1589026 1589037 + PlusToken 1589037 1589039 + NumericLiteral 1589039 1589041 + AmpersandToken 1589042 1589044 + PropertyAccessExpression 1589044 1589066 + Identifier 1589044 1589057 + Identifier 1589058 1589066 + Block 1589067 1589877 + VariableStatement 1589069 1589275 + VariableDeclarationList 1589069 1589274 + VariableDeclaration 1589210 1589274 + Identifier 1589210 1589221 + CallExpression 1589223 1589274 + Identifier 1589223 1589247 + ElementAccessExpression 1589248 1589273 + Identifier 1589248 1589260 + Identifier 1589261 1589272 + IfStatement 1589275 1589842 + BinaryExpression 1589317 1589368 + Identifier 1589317 1589327 + AmpersandAmpersandToken 1589327 1589330 + BinaryExpression 1589330 1589368 + PropertyAccessExpression 1589330 1589354 + Identifier 1589330 1589341 + Identifier 1589342 1589354 + ExclamationEqualsEqualsToken 1589354 1589358 + Identifier 1589358 1589368 + Block 1589369 1589842 + ExpressionStatement 1589371 1589641 + CallExpression 1589371 1589640 + Identifier 1589371 1589525 + CallExpression 1589526 1589612 + Identifier 1589526 1589540 + Identifier 1589541 1589547 + Identifier 1589548 1589560 + BinaryExpression 1589561 1589611 + BinaryExpression 1589561 1589585 + Identifier 1589561 1589571 + PlusToken 1589571 1589573 + Identifier 1589573 1589585 + MinusToken 1589585 1589587 + PropertyAccessExpression 1589587 1589611 + Identifier 1589587 1589598 + Identifier 1589599 1589611 + ElementAccessExpression 1589613 1589639 + Identifier 1589613 1589626 + Identifier 1589627 1589638 + ExpressionStatement 1589641 1589803 + CallExpression 1589641 1589802 + Identifier 1589641 1589697 + CallExpression 1589698 1589770 + Identifier 1589698 1589712 + Identifier 1589713 1589719 + BinaryExpression 1589720 1589758 + Identifier 1589720 1589732 + PlusToken 1589732 1589734 + PropertyAccessExpression 1589734 1589758 + Identifier 1589734 1589745 + Identifier 1589746 1589758 + Identifier 1589759 1589769 + ElementAccessExpression 1589771 1589801 + Identifier 1589771 1589784 + BinaryExpression 1589785 1589800 + Identifier 1589785 1589796 + PlusToken 1589796 1589798 + NumericLiteral 1589798 1589800 + IfStatement 1589915 1592827 + BinaryExpression 1589920 1590022 + BinaryExpression 1589920 1589969 + ElementAccessExpression 1589920 1589945 + Identifier 1589920 1589932 + Identifier 1589933 1589944 + AmpersandToken 1589945 1589947 + PropertyAccessExpression 1589947 1589969 + Identifier 1589947 1589960 + Identifier 1589961 1589969 + AmpersandAmpersandToken 1589969 1589972 + BinaryExpression 1589972 1590022 + ElementAccessExpression 1589972 1590002 + Identifier 1589972 1589985 + BinaryExpression 1589986 1590001 + Identifier 1589986 1589997 + PlusToken 1589997 1589999 + NumericLiteral 1589999 1590001 + AmpersandToken 1590002 1590004 + PropertyAccessExpression 1590004 1590022 + Identifier 1590004 1590017 + Identifier 1590018 1590022 + Block 1590023 1591114 + VariableStatement 1590025 1590371 + VariableDeclarationList 1590025 1590370 + VariableDeclaration 1590296 1590370 + Identifier 1590296 1590302 + PropertyAccessExpression 1590304 1590370 + CallExpression 1590304 1590355 + Identifier 1590304 1590328 + ElementAccessExpression 1590329 1590354 + Identifier 1590329 1590341 + Identifier 1590342 1590353 + QuestionDotToken 1590355 1590357 + Identifier 1590357 1590370 + VariableStatement 1590371 1590468 + VariableDeclarationList 1590371 1590467 + VariableDeclaration 1590414 1590467 + Identifier 1590414 1590425 + BinaryExpression 1590427 1590467 + Identifier 1590427 1590433 + AmpersandAmpersandToken 1590433 1590436 + CallExpression 1590436 1590467 + Identifier 1590436 1590460 + Identifier 1590461 1590466 + IfStatement 1590468 1591079 + BinaryExpression 1590510 1590609 + BinaryExpression 1590510 1590547 + Identifier 1590510 1590520 + AmpersandAmpersandToken 1590520 1590523 + CallExpression 1590523 1590547 + Identifier 1590523 1590535 + Identifier 1590536 1590546 + AmpersandAmpersandToken 1590547 1590550 + PrefixUnaryExpression 1590550 1590609 + ParenthesizedExpression 1590552 1590609 + BinaryExpression 1590553 1590608 + PropertyAccessExpression 1590553 1590584 + PropertyAccessExpression 1590553 1590570 + Identifier 1590553 1590563 + Identifier 1590564 1590570 + Identifier 1590571 1590584 + AmpersandToken 1590584 1590586 + PropertyAccessExpression 1590586 1590608 + Identifier 1590586 1590599 + Identifier 1590600 1590608 + Block 1590610 1591079 + VariableStatement 1590612 1590705 + VariableDeclarationList 1590612 1590704 + VariableDeclaration 1590659 1590704 + Identifier 1590659 1590672 + PropertyAccessExpression 1590674 1590704 + PropertyAccessExpression 1590674 1590692 + Identifier 1590674 1590685 + Identifier 1590686 1590692 + Identifier 1590693 1590704 + ExpressionStatement 1590705 1590870 + CallExpression 1590705 1590869 + Identifier 1590705 1590761 + CallExpression 1590762 1590841 + Identifier 1590762 1590776 + Identifier 1590777 1590783 + Identifier 1590784 1590796 + BinaryExpression 1590797 1590840 + Identifier 1590797 1590809 + MinusToken 1590809 1590811 + ParenthesizedExpression 1590811 1590840 + BinaryExpression 1590813 1590839 + Identifier 1590813 1590824 + PlusToken 1590824 1590826 + Identifier 1590826 1590839 + ElementAccessExpression 1590842 1590868 + Identifier 1590842 1590855 + Identifier 1590856 1590867 + ExpressionStatement 1590870 1591040 + CallExpression 1590870 1591039 + Identifier 1590870 1590926 + NonNullExpression 1590927 1591007 + CallExpression 1590927 1591006 + Identifier 1590927 1590959 + Identifier 1590960 1590966 + BinaryExpression 1590967 1590994 + Identifier 1590967 1590979 + PlusToken 1590979 1590981 + Identifier 1590981 1590994 + Identifier 1590995 1591005 + ElementAccessExpression 1591008 1591038 + Identifier 1591008 1591021 + BinaryExpression 1591022 1591037 + Identifier 1591022 1591033 + PlusToken 1591033 1591035 + NumericLiteral 1591035 1591037 + IfStatement 1591152 1592827 + BinaryExpression 1591157 1591259 + BinaryExpression 1591157 1591202 + ElementAccessExpression 1591157 1591182 + Identifier 1591157 1591169 + Identifier 1591170 1591181 + AmpersandToken 1591182 1591184 + PropertyAccessExpression 1591184 1591202 + Identifier 1591184 1591197 + Identifier 1591198 1591202 + AmpersandAmpersandToken 1591202 1591205 + BinaryExpression 1591205 1591259 + ElementAccessExpression 1591205 1591235 + Identifier 1591205 1591218 + BinaryExpression 1591219 1591234 + Identifier 1591219 1591230 + PlusToken 1591230 1591232 + NumericLiteral 1591232 1591234 + AmpersandToken 1591235 1591237 + PropertyAccessExpression 1591237 1591259 + Identifier 1591237 1591250 + Identifier 1591251 1591259 + Block 1591260 1592827 + VariableStatement 1591262 1591612 + VariableDeclarationList 1591262 1591611 + VariableDeclaration 1591533 1591611 + Identifier 1591533 1591539 + PropertyAccessExpression 1591541 1591611 + CallExpression 1591541 1591596 + Identifier 1591541 1591565 + ElementAccessExpression 1591566 1591595 + Identifier 1591566 1591578 + BinaryExpression 1591579 1591594 + Identifier 1591579 1591590 + PlusToken 1591590 1591592 + NumericLiteral 1591592 1591594 + QuestionDotToken 1591596 1591598 + Identifier 1591598 1591611 + VariableStatement 1591612 1591709 + VariableDeclarationList 1591612 1591708 + VariableDeclaration 1591655 1591708 + Identifier 1591655 1591666 + BinaryExpression 1591668 1591708 + Identifier 1591668 1591674 + AmpersandAmpersandToken 1591674 1591677 + CallExpression 1591677 1591708 + Identifier 1591677 1591701 + Identifier 1591702 1591707 + IfStatement 1591709 1592792 + BinaryExpression 1591751 1591850 + BinaryExpression 1591751 1591788 + Identifier 1591751 1591761 + AmpersandAmpersandToken 1591761 1591764 + CallExpression 1591764 1591788 + Identifier 1591764 1591776 + Identifier 1591777 1591787 + AmpersandAmpersandToken 1591788 1591791 + PrefixUnaryExpression 1591791 1591850 + ParenthesizedExpression 1591793 1591850 + BinaryExpression 1591794 1591849 + PropertyAccessExpression 1591794 1591825 + PropertyAccessExpression 1591794 1591811 + Identifier 1591794 1591804 + Identifier 1591805 1591811 + Identifier 1591812 1591825 + AmpersandToken 1591825 1591827 + PropertyAccessExpression 1591827 1591849 + Identifier 1591827 1591840 + Identifier 1591841 1591849 + Block 1591851 1592792 + VariableStatement 1591853 1591946 + VariableDeclarationList 1591853 1591945 + VariableDeclaration 1591900 1591945 + Identifier 1591900 1591913 + PropertyAccessExpression 1591915 1591945 + PropertyAccessExpression 1591915 1591933 + Identifier 1591915 1591926 + Identifier 1591927 1591933 + Identifier 1591934 1591945 + VariableStatement 1591946 1592073 + VariableDeclarationList 1591946 1592072 + VariableDeclaration 1591993 1592072 + Identifier 1591993 1592002 + BinaryExpression 1592004 1592072 + Identifier 1592004 1592016 + MinusToken 1592016 1592018 + CallExpression 1592018 1592072 + Identifier 1592018 1592037 + PropertyAccessExpression 1592038 1592051 + Identifier 1592038 1592044 + Identifier 1592045 1592051 + PropertyAccessExpression 1592052 1592071 + Identifier 1592052 1592065 + Identifier 1592066 1592071 + VariableStatement 1592073 1592158 + VariableDeclarationList 1592073 1592157 + VariableDeclaration 1592120 1592157 + Identifier 1592120 1592131 + BinaryExpression 1592133 1592157 + Identifier 1592133 1592142 + MinusToken 1592142 1592144 + Identifier 1592144 1592157 + VariableStatement 1592158 1592482 + VariableDeclarationList 1592158 1592481 + VariableDeclaration 1592205 1592481 + Identifier 1592205 1592219 + CallExpression 1592221 1592481 + Identifier 1592221 1592237 + CallExpression 1592238 1592290 + PropertyAccessExpression 1592238 1592268 + CallExpression 1592238 1592262 + Identifier 1592238 1592254 + Identifier 1592255 1592261 + Identifier 1592263 1592268 + Identifier 1592269 1592279 + Identifier 1592280 1592289 + CallExpression 1592291 1592346 + PropertyAccessExpression 1592291 1592324 + PropertyAccessExpression 1592291 1592318 + PropertyAccessExpression 1592291 1592305 + Identifier 1592291 1592298 + Identifier 1592299 1592305 + Identifier 1592306 1592318 + Identifier 1592319 1592324 + Identifier 1592325 1592335 + Identifier 1592336 1592345 + FalseKeyword 1592347 1592366 + BinaryExpression 1592367 1592480 + PropertyAccessExpression 1592367 1592408 + PropertyAccessExpression 1592367 1592381 + Identifier 1592367 1592374 + Identifier 1592375 1592381 + Identifier 1592382 1592408 + AmpersandAmpersandToken 1592408 1592411 + CallExpression 1592411 1592480 + PropertyAccessExpression 1592411 1592458 + PropertyAccessExpression 1592411 1592452 + PropertyAccessExpression 1592411 1592425 + Identifier 1592411 1592418 + Identifier 1592419 1592425 + Identifier 1592426 1592452 + Identifier 1592453 1592458 + Identifier 1592459 1592469 + Identifier 1592470 1592479 + ExpressionStatement 1592482 1592650 + CallExpression 1592482 1592649 + Identifier 1592482 1592540 + NonNullExpression 1592541 1592621 + CallExpression 1592541 1592620 + Identifier 1592541 1592573 + Identifier 1592574 1592580 + Identifier 1592581 1592593 + BinaryExpression 1592594 1592619 + Identifier 1592594 1592604 + PlusToken 1592604 1592606 + Identifier 1592606 1592619 + ElementAccessExpression 1592622 1592648 + Identifier 1592622 1592635 + Identifier 1592636 1592647 + ExpressionStatement 1592650 1592753 + CallExpression 1592650 1592752 + Identifier 1592650 1592706 + Identifier 1592707 1592720 + ElementAccessExpression 1592721 1592751 + Identifier 1592721 1592734 + BinaryExpression 1592735 1592750 + Identifier 1592735 1592746 + PlusToken 1592746 1592748 + NumericLiteral 1592748 1592750 + IfStatement 1592892 1594223 + BinaryExpression 1592897 1592968 + BinaryExpression 1592897 1592915 + Identifier 1592897 1592909 + EqualsEqualsEqualsToken 1592909 1592913 + NumericLiteral 1592913 1592915 + AmpersandAmpersandToken 1592915 1592918 + BinaryExpression 1592918 1592968 + ElementAccessExpression 1592918 1592944 + Identifier 1592918 1592931 + Identifier 1592932 1592943 + AmpersandToken 1592944 1592946 + PropertyAccessExpression 1592946 1592968 + Identifier 1592946 1592959 + Identifier 1592960 1592968 + Block 1592969 1593640 + VariableStatement 1592971 1593359 + VariableDeclarationList 1592971 1593358 + VariableDeclaration 1593273 1593358 + Identifier 1593273 1593288 + BinaryExpression 1593290 1593358 + ElementAccessExpression 1593290 1593334 + PropertyAccessExpression 1593290 1593317 + PropertyAccessExpression 1593290 1593304 + Identifier 1593290 1593297 + Identifier 1593298 1593304 + Identifier 1593305 1593317 + BinaryExpression 1593318 1593333 + Identifier 1593318 1593329 + MinusToken 1593329 1593331 + NumericLiteral 1593331 1593333 + AmpersandToken 1593334 1593336 + PropertyAccessExpression 1593336 1593358 + Identifier 1593336 1593349 + Identifier 1593350 1593358 + VariableStatement 1593359 1593460 + VariableDeclarationList 1593359 1593459 + VariableDeclaration 1593398 1593459 + Identifier 1593398 1593410 + CallExpression 1593412 1593459 + Identifier 1593412 1593427 + Identifier 1593428 1593434 + Identifier 1593435 1593447 + Identifier 1593448 1593458 + ExpressionStatement 1593460 1593609 + CallExpression 1593460 1593608 + Identifier 1593460 1593511 + Identifier 1593512 1593523 + ElementAccessExpression 1593524 1593550 + Identifier 1593524 1593537 + Identifier 1593538 1593549 + ConditionalExpression 1593551 1593607 + Identifier 1593551 1593566 + QuestionToken 1593566 1593568 + PropertyAccessExpression 1593568 1593603 + Identifier 1593568 1593586 + Identifier 1593587 1593603 + ColonToken 1593603 1593605 + NumericLiteral 1593605 1593607 + IfStatement 1593674 1594223 + BinaryExpression 1593679 1593746 + BinaryExpression 1593679 1593697 + Identifier 1593679 1593691 + EqualsEqualsEqualsToken 1593691 1593695 + NumericLiteral 1593695 1593697 + AmpersandAmpersandToken 1593697 1593700 + BinaryExpression 1593700 1593746 + ElementAccessExpression 1593700 1593726 + Identifier 1593700 1593713 + Identifier 1593714 1593725 + AmpersandToken 1593726 1593728 + PropertyAccessExpression 1593728 1593746 + Identifier 1593728 1593741 + Identifier 1593742 1593746 + Block 1593747 1594223 + VariableStatement 1593749 1594018 + VariableDeclarationList 1593749 1594017 + VariableDeclaration 1593941 1594017 + Identifier 1593941 1593950 + CallExpression 1593952 1594017 + Identifier 1593952 1593985 + Identifier 1593986 1593992 + Identifier 1593993 1594005 + Identifier 1594006 1594016 + IfStatement 1594018 1594192 + Identifier 1594056 1594064 + Block 1594065 1594192 + ExpressionStatement 1594067 1594157 + CallExpression 1594067 1594156 + Identifier 1594067 1594119 + Identifier 1594120 1594128 + ElementAccessExpression 1594129 1594155 + Identifier 1594129 1594142 + Identifier 1594143 1594154 + ForStatement 1594250 1594531 + VariableDeclarationList 1594345 1594354 + VariableDeclaration 1594348 1594354 + Identifier 1594348 1594350 + NumericLiteral 1594352 1594354 + BinaryExpression 1594355 1594369 + Identifier 1594355 1594357 + LessThanToken 1594357 1594359 + Identifier 1594359 1594369 + PostfixUnaryExpression 1594370 1594374 + Identifier 1594370 1594372 + Block 1594375 1594531 + ExpressionStatement 1594377 1594504 + CallExpression 1594377 1594503 + Identifier 1594377 1594421 + ElementAccessExpression 1594422 1594467 + CallExpression 1594422 1594446 + Identifier 1594422 1594438 + Identifier 1594439 1594445 + BinaryExpression 1594447 1594466 + BinaryExpression 1594447 1594462 + Identifier 1594447 1594458 + MinusToken 1594458 1594460 + Identifier 1594460 1594462 + MinusToken 1594462 1594464 + NumericLiteral 1594464 1594466 + ElementAccessExpression 1594468 1594502 + Identifier 1594468 1594481 + BinaryExpression 1594482 1594501 + BinaryExpression 1594482 1594497 + Identifier 1594482 1594493 + MinusToken 1594493 1594495 + Identifier 1594495 1594497 + MinusToken 1594497 1594499 + NumericLiteral 1594499 1594501 + ReturnStatement 1594531 1594564 + IfStatement 1594587 1594753 + CallExpression 1594613 1594632 + Identifier 1594613 1594624 + Identifier 1594625 1594631 + Block 1594633 1594753 + ExpressionStatement 1594635 1594697 + CallExpression 1594635 1594696 + Identifier 1594635 1594680 + Identifier 1594681 1594687 + Identifier 1594688 1594695 + ReturnStatement 1594697 1594730 + ExpressionStatement 1594772 1594826 + CallExpression 1594772 1594825 + Identifier 1594772 1594809 + Identifier 1594810 1594816 + Identifier 1594817 1594824 + ExpressionStatement 1594826 1594900 + CallExpression 1594826 1594899 + Identifier 1594826 1594863 + Identifier 1594864 1594870 + Identifier 1594871 1594878 + PropertyAccessExpression 1594879 1594898 + Identifier 1594879 1594893 + Identifier 1594894 1594898 + ExpressionStatement 1594900 1594979 + CallExpression 1594900 1594978 + Identifier 1594900 1594937 + Identifier 1594938 1594944 + Identifier 1594945 1594952 + PropertyAccessExpression 1594953 1594977 + Identifier 1594953 1594967 + Identifier 1594968 1594977 + ExpressionStatement 1594979 1595033 + CallExpression 1594979 1595032 + Identifier 1594979 1595016 + Identifier 1595017 1595023 + Identifier 1595024 1595031 + FunctionDeclaration 1595059 1595774 + Identifier 1595079 1595099 + Parameter 1595100 1595112 + Identifier 1595100 1595106 + TypeReference 1595107 1595112 + Identifier 1595107 1595112 + Parameter 1595113 1595126 + Identifier 1595113 1595120 + TypeReference 1595121 1595126 + Identifier 1595121 1595126 + Block 1595127 1595774 + VariableStatement 1595129 1595196 + VariableDeclarationList 1595129 1595195 + VariableDeclaration 1595148 1595195 + Identifier 1595148 1595159 + CallExpression 1595161 1595195 + Identifier 1595161 1595187 + Identifier 1595188 1595194 + ForOfStatement 1595196 1595763 + VariableDeclarationList 1595215 1595231 + VariableDeclaration 1595220 1595231 + Identifier 1595220 1595231 + Identifier 1595234 1595245 + Block 1595246 1595763 + VariableStatement 1595248 1595335 + VariableDeclarationList 1595248 1595334 + VariableDeclaration 1595271 1595334 + Identifier 1595271 1595282 + CallExpression 1595284 1595334 + Identifier 1595284 1595302 + Identifier 1595303 1595309 + PropertyAccessExpression 1595310 1595333 + Identifier 1595310 1595321 + Identifier 1595322 1595333 + IfStatement 1595335 1595748 + BinaryExpression 1595357 1595429 + Identifier 1595357 1595367 + AmpersandAmpersandToken 1595367 1595370 + PrefixUnaryExpression 1595370 1595429 + CallExpression 1595372 1595429 + Identifier 1595372 1595376 + PropertyAccessExpression 1595377 1595400 + Identifier 1595377 1595387 + Identifier 1595388 1595400 + Identifier 1595401 1595428 + Block 1595430 1595748 + ExpressionStatement 1595432 1595729 + CallExpression 1595432 1595728 + Identifier 1595432 1595468 + CallExpression 1595469 1595586 + Identifier 1595469 1595512 + CallExpression 1595513 1595540 + Identifier 1595513 1595528 + Identifier 1595529 1595539 + PrefixUnaryExpression 1595541 1595585 + PrefixUnaryExpression 1595543 1595585 + ParenthesizedExpression 1595544 1595585 + BinaryExpression 1595545 1595584 + PropertyAccessExpression 1595545 1595561 + Identifier 1595545 1595555 + Identifier 1595556 1595561 + AmpersandToken 1595561 1595563 + PropertyAccessExpression 1595563 1595584 + Identifier 1595563 1595575 + Identifier 1595576 1595584 + CallExpression 1595587 1595704 + Identifier 1595587 1595630 + CallExpression 1595631 1595658 + Identifier 1595631 1595646 + Identifier 1595647 1595657 + PrefixUnaryExpression 1595659 1595703 + PrefixUnaryExpression 1595661 1595703 + ParenthesizedExpression 1595662 1595703 + BinaryExpression 1595663 1595702 + PropertyAccessExpression 1595663 1595679 + Identifier 1595663 1595673 + Identifier 1595674 1595679 + AmpersandToken 1595679 1595681 + PropertyAccessExpression 1595681 1595702 + Identifier 1595681 1595693 + Identifier 1595694 1595702 + FunctionDeclaration 1595774 1596705 + Identifier 1595794 1595814 + Parameter 1595815 1595827 + Identifier 1595815 1595821 + TypeReference 1595822 1595827 + Identifier 1595822 1595827 + Parameter 1595828 1595841 + Identifier 1595828 1595835 + TypeReference 1595836 1595841 + Identifier 1595836 1595841 + Parameter 1595842 1595862 + Identifier 1595842 1595847 + TypeReference 1595848 1595862 + Identifier 1595848 1595862 + Block 1595863 1596705 + VariableStatement 1595865 1595938 + VariableDeclarationList 1595865 1595937 + VariableDeclaration 1595884 1595937 + Identifier 1595884 1595901 + CallExpression 1595903 1595937 + Identifier 1595903 1595923 + Identifier 1595924 1595930 + Identifier 1595931 1595936 + VariableStatement 1595938 1595994 + VariableDeclarationList 1595938 1595993 + VariableDeclaration 1595957 1595993 + Identifier 1595957 1595967 + PropertyAccessExpression 1595969 1595993 + Identifier 1595969 1595986 + Identifier 1595987 1595993 + IfStatement 1595994 1596694 + BinaryExpression 1596012 1596025 + Identifier 1596012 1596021 + GreaterThanToken 1596021 1596023 + NumericLiteral 1596023 1596025 + Block 1596026 1596694 + VariableStatement 1596028 1596333 + VariableDeclarationList 1596028 1596332 + VariableDeclaration 1596279 1596332 + Identifier 1596279 1596296 + CallExpression 1596298 1596332 + Identifier 1596298 1596318 + Identifier 1596319 1596325 + Identifier 1596326 1596331 + VariableStatement 1596333 1596393 + VariableDeclarationList 1596333 1596392 + VariableDeclaration 1596356 1596392 + Identifier 1596356 1596366 + PropertyAccessExpression 1596368 1596392 + Identifier 1596368 1596385 + Identifier 1596386 1596392 + ForStatement 1596393 1596679 + VariableDeclarationList 1596416 1596425 + VariableDeclaration 1596419 1596425 + Identifier 1596419 1596421 + NumericLiteral 1596423 1596425 + BinaryExpression 1596426 1596440 + Identifier 1596426 1596428 + LessThanToken 1596428 1596430 + Identifier 1596430 1596440 + PostfixUnaryExpression 1596441 1596445 + Identifier 1596441 1596443 + Block 1596446 1596679 + VariableStatement 1596448 1596529 + VariableDeclarationList 1596448 1596528 + VariableDeclaration 1596475 1596528 + Identifier 1596475 1596487 + CallExpression 1596489 1596528 + PropertyAccessExpression 1596489 1596498 + Identifier 1596489 1596494 + Identifier 1596495 1596498 + BinaryExpression 1596499 1596524 + BinaryExpression 1596499 1596520 + Identifier 1596499 1596508 + MinusToken 1596508 1596510 + Identifier 1596510 1596520 + PlusToken 1596520 1596522 + Identifier 1596522 1596524 + NumericLiteral 1596525 1596527 + ExpressionStatement 1596529 1596660 + CallExpression 1596529 1596659 + Identifier 1596529 1596569 + CallExpression 1596570 1596617 + Identifier 1596570 1596586 + ElementAccessExpression 1596587 1596616 + Identifier 1596587 1596603 + Identifier 1596604 1596615 + CallExpression 1596618 1596658 + Identifier 1596618 1596637 + ElementAccessExpression 1596638 1596657 + Identifier 1596638 1596654 + Identifier 1596655 1596656 + FunctionDeclaration 1596705 1597505 + Identifier 1596725 1596744 + Parameter 1596745 1596762 + Identifier 1596745 1596751 + TypeReference 1596752 1596762 + Identifier 1596752 1596762 + Parameter 1596763 1596781 + Identifier 1596763 1596770 + TypeReference 1596771 1596781 + Identifier 1596771 1596781 + Block 1596782 1597505 + IfStatement 1596784 1597429 + PrefixUnaryExpression 1596802 1596850 + ParenthesizedExpression 1596803 1596850 + BinaryExpression 1596804 1596849 + PropertyAccessExpression 1596804 1596816 + Identifier 1596804 1596810 + Identifier 1596811 1596816 + AmpersandToken 1596816 1596818 + PropertyAccessExpression 1596818 1596849 + Identifier 1596818 1596833 + Identifier 1596834 1596849 + Block 1596851 1597429 + VariableStatement 1596853 1596903 + VariableDeclarationList 1596853 1596902 + VariableDeclaration 1596876 1596902 + Identifier 1596876 1596890 + Identifier 1596892 1596902 + VariableStatement 1596903 1597000 + VariableDeclarationList 1596903 1596999 + VariableDeclaration 1596926 1596999 + Identifier 1596926 1596931 + ConditionalExpression 1596933 1596999 + PropertyAccessExpression 1596933 1596952 + Identifier 1596933 1596940 + Identifier 1596941 1596952 + QuestionToken 1596952 1596954 + PropertyAccessExpression 1596954 1596978 + PropertyAccessExpression 1596954 1596973 + Identifier 1596954 1596961 + Identifier 1596962 1596973 + Identifier 1596974 1596978 + ColonToken 1596978 1596980 + PropertyAccessExpression 1596980 1596999 + Identifier 1596980 1596991 + Identifier 1596992 1596999 + ExpressionStatement 1597000 1597264 + BinaryExpression 1597000 1597263 + Identifier 1597000 1597136 + EqualsToken 1597136 1597138 + BinaryExpression 1597138 1597263 + BinaryExpression 1597138 1597228 + BinaryExpression 1597138 1597189 + Identifier 1597138 1597148 + BarBarToken 1597148 1597151 + BinaryExpression 1597151 1597189 + Identifier 1597151 1597156 + EqualsEqualsEqualsToken 1597156 1597160 + PropertyAccessExpression 1597160 1597189 + Identifier 1597160 1597171 + Identifier 1597172 1597189 + BarBarToken 1597189 1597192 + BinaryExpression 1597192 1597228 + Identifier 1597192 1597197 + EqualsEqualsEqualsToken 1597197 1597201 + PropertyAccessExpression 1597201 1597228 + Identifier 1597201 1597212 + Identifier 1597213 1597228 + BarBarToken 1597228 1597231 + BinaryExpression 1597231 1597263 + Identifier 1597231 1597236 + EqualsEqualsEqualsToken 1597236 1597240 + PropertyAccessExpression 1597240 1597263 + Identifier 1597240 1597251 + Identifier 1597252 1597263 + ExpressionStatement 1597264 1597370 + CallExpression 1597264 1597369 + Identifier 1597264 1597303 + Identifier 1597304 1597310 + Identifier 1597311 1597318 + Identifier 1597319 1597368 + ExpressionStatement 1597370 1597414 + BinaryExpression 1597370 1597413 + Identifier 1597370 1597397 + EqualsToken 1597397 1597399 + Identifier 1597399 1597413 + ExpressionStatement 1597429 1597494 + CallExpression 1597429 1597493 + Identifier 1597429 1597461 + Identifier 1597462 1597468 + Identifier 1597469 1597476 + Identifier 1597477 1597492 + FunctionDeclaration 1597505 1599314 + Identifier 1597525 1597545 + Parameter 1597546 1597558 + Identifier 1597546 1597552 + TypeReference 1597553 1597558 + Identifier 1597553 1597558 + Parameter 1597559 1597572 + Identifier 1597559 1597566 + TypeReference 1597567 1597572 + Identifier 1597567 1597572 + Block 1597573 1599314 + VariableStatement 1597575 1597849 + VariableDeclarationList 1597575 1597848 + VariableDeclaration 1597720 1597848 + Identifier 1597720 1597729 + ConditionalExpression 1597731 1597848 + ParenthesizedExpression 1597731 1597802 + BinaryExpression 1597733 1597801 + BinaryExpression 1597733 1597780 + CallExpression 1597733 1597755 + Identifier 1597733 1597747 + Identifier 1597748 1597754 + AmpersandToken 1597755 1597757 + CallExpression 1597757 1597780 + Identifier 1597757 1597772 + Identifier 1597773 1597779 + AmpersandToken 1597780 1597782 + PropertyAccessExpression 1597782 1597801 + Identifier 1597782 1597794 + Identifier 1597795 1597801 + QuestionToken 1597802 1597804 + PropertyAccessExpression 1597804 1597844 + Identifier 1597804 1597822 + Identifier 1597823 1597844 + ColonToken 1597844 1597846 + NumericLiteral 1597846 1597848 + VariableStatement 1597849 1597910 + VariableDeclarationList 1597849 1597909 + VariableDeclaration 1597868 1597909 + Identifier 1597868 1597879 + CallExpression 1597881 1597909 + Identifier 1597881 1597901 + Identifier 1597902 1597908 + IfStatement 1597910 1599010 + CallExpression 1597928 1597966 + Identifier 1597928 1597958 + Identifier 1597959 1597965 + Block 1597967 1599010 + ForOfStatement 1597969 1598995 + VariableDeclarationList 1597992 1598008 + VariableDeclaration 1597997 1598008 + Identifier 1597997 1598008 + Identifier 1598011 1598022 + Block 1598023 1598995 + VariableStatement 1598025 1598076 + VariableDeclarationList 1598025 1598075 + VariableDeclaration 1598052 1598075 + Identifier 1598052 1598062 + ArrayType 1598063 1598070 + TypeReference 1598063 1598068 + Identifier 1598063 1598068 + ArrayLiteralExpression 1598072 1598075 + ForOfStatement 1598076 1598547 + VariableDeclarationList 1598103 1598113 + VariableDeclaration 1598108 1598113 + Identifier 1598108 1598113 + CallExpression 1598116 1598144 + Identifier 1598116 1598136 + Identifier 1598137 1598143 + Block 1598145 1598547 + IfStatement 1598147 1598524 + CallExpression 1598177 1598293 + Identifier 1598177 1598198 + CallExpression 1598199 1598272 + Identifier 1598199 1598225 + Identifier 1598226 1598230 + PropertyAccessExpression 1598231 1598271 + Identifier 1598231 1598241 + Identifier 1598242 1598271 + PropertyAccessExpression 1598273 1598292 + Identifier 1598273 1598284 + Identifier 1598285 1598292 + Block 1598294 1598524 + VariableStatement 1598296 1598365 + VariableDeclarationList 1598296 1598364 + VariableDeclaration 1598331 1598364 + Identifier 1598331 1598340 + CallExpression 1598342 1598364 + Identifier 1598342 1598358 + Identifier 1598359 1598363 + ExpressionStatement 1598365 1598497 + CallExpression 1598365 1598496 + PropertyAccessExpression 1598365 1598409 + Identifier 1598365 1598404 + Identifier 1598405 1598409 + ConditionalExpression 1598410 1598495 + BinaryExpression 1598410 1598443 + PropertyAccessExpression 1598410 1598420 + Identifier 1598410 1598414 + Identifier 1598415 1598420 + AmpersandToken 1598420 1598422 + PropertyAccessExpression 1598422 1598443 + Identifier 1598422 1598434 + Identifier 1598435 1598443 + QuestionToken 1598443 1598445 + CallExpression 1598445 1598484 + Identifier 1598445 1598474 + Identifier 1598475 1598483 + ColonToken 1598484 1598486 + Identifier 1598486 1598495 + ForOfStatement 1598547 1598812 + VariableDeclarationList 1598574 1598584 + VariableDeclaration 1598579 1598584 + Identifier 1598579 1598584 + CallExpression 1598587 1598615 + Identifier 1598587 1598607 + Identifier 1598608 1598614 + Block 1598616 1598812 + IfStatement 1598618 1598789 + CallExpression 1598648 1598703 + Identifier 1598648 1598669 + PropertyAccessExpression 1598670 1598682 + Identifier 1598670 1598674 + Identifier 1598675 1598682 + PropertyAccessExpression 1598683 1598702 + Identifier 1598683 1598694 + Identifier 1598695 1598702 + Block 1598704 1598789 + ExpressionStatement 1598706 1598762 + CallExpression 1598706 1598761 + PropertyAccessExpression 1598706 1598750 + Identifier 1598706 1598745 + Identifier 1598746 1598750 + PropertyAccessExpression 1598751 1598760 + Identifier 1598751 1598755 + Identifier 1598756 1598760 + IfStatement 1598812 1598976 + PropertyAccessExpression 1598838 1598854 + Identifier 1598838 1598847 + Identifier 1598848 1598854 + Block 1598855 1598976 + ExpressionStatement 1598857 1598953 + CallExpression 1598857 1598952 + Identifier 1598857 1598900 + CallExpression 1598901 1598924 + Identifier 1598901 1598913 + Identifier 1598914 1598923 + PropertyAccessExpression 1598925 1598941 + Identifier 1598925 1598936 + Identifier 1598937 1598941 + Identifier 1598942 1598951 + ForOfStatement 1599010 1599303 + VariableDeclarationList 1599029 1599045 + VariableDeclaration 1599034 1599045 + Identifier 1599034 1599045 + Identifier 1599048 1599059 + Block 1599060 1599303 + VariableStatement 1599062 1599150 + VariableDeclarationList 1599062 1599149 + VariableDeclaration 1599085 1599149 + Identifier 1599085 1599096 + CallExpression 1599098 1599149 + Identifier 1599098 1599121 + Identifier 1599122 1599128 + PropertyAccessExpression 1599129 1599148 + Identifier 1599129 1599140 + Identifier 1599141 1599148 + IfStatement 1599150 1599288 + Identifier 1599172 1599182 + Block 1599183 1599288 + ExpressionStatement 1599185 1599269 + CallExpression 1599185 1599268 + Identifier 1599185 1599224 + PropertyAccessExpression 1599225 1599240 + Identifier 1599225 1599235 + Identifier 1599236 1599240 + PropertyAccessExpression 1599241 1599257 + Identifier 1599241 1599252 + Identifier 1599253 1599257 + Identifier 1599258 1599267 + FunctionDeclaration 1599321 1599612 + Identifier 1599337 1599361 + Parameter 1599362 1599369 + Identifier 1599362 1599363 + TypeReference 1599364 1599369 + Identifier 1599364 1599369 + Parameter 1599370 1599378 + Identifier 1599370 1599372 + TypeReference 1599373 1599378 + Identifier 1599373 1599378 + Block 1599379 1599612 + ReturnStatement 1599381 1599605 + ConditionalExpression 1599397 1599604 + BinaryExpression 1599397 1599415 + Identifier 1599397 1599399 + EqualsEqualsEqualsToken 1599399 1599403 + Identifier 1599403 1599415 + QuestionToken 1599415 1599417 + BinaryExpression 1599417 1599425 + Identifier 1599417 1599419 + EqualsEqualsEqualsToken 1599419 1599423 + Identifier 1599423 1599425 + ColonToken 1599425 1599427 + ParenthesizedExpression 1599427 1599604 + BinaryExpression 1599442 1599603 + CallExpression 1599442 1599465 + Identifier 1599442 1599459 + Identifier 1599460 1599461 + Identifier 1599462 1599464 + BarBarToken 1599465 1599468 + PrefixUnaryExpression 1599468 1599603 + PrefixUnaryExpression 1599470 1599603 + ParenthesizedExpression 1599471 1599603 + BinaryExpression 1599472 1599602 + BinaryExpression 1599472 1599535 + BinaryExpression 1599472 1599498 + PropertyAccessExpression 1599472 1599479 + Identifier 1599472 1599473 + Identifier 1599474 1599479 + AmpersandToken 1599479 1599481 + PropertyAccessExpression 1599481 1599498 + Identifier 1599481 1599491 + Identifier 1599492 1599498 + AmpersandAmpersandToken 1599498 1599501 + BinaryExpression 1599501 1599535 + PropertyAccessExpression 1599501 1599509 + Identifier 1599501 1599503 + Identifier 1599504 1599509 + AmpersandToken 1599509 1599511 + PropertyAccessExpression 1599511 1599535 + Identifier 1599511 1599521 + Identifier 1599522 1599535 + BarBarToken 1599535 1599538 + BinaryExpression 1599538 1599602 + BinaryExpression 1599538 1599565 + PropertyAccessExpression 1599538 1599546 + Identifier 1599538 1599540 + Identifier 1599541 1599546 + AmpersandToken 1599546 1599548 + PropertyAccessExpression 1599548 1599565 + Identifier 1599548 1599558 + Identifier 1599559 1599565 + AmpersandAmpersandToken 1599565 1599568 + BinaryExpression 1599568 1599602 + PropertyAccessExpression 1599568 1599576 + Identifier 1599568 1599570 + Identifier 1599571 1599576 + AmpersandToken 1599576 1599578 + PropertyAccessExpression 1599578 1599602 + Identifier 1599578 1599588 + Identifier 1599589 1599602 + FunctionDeclaration 1599612 1599882 + Identifier 1599628 1599651 + Parameter 1599652 1599659 + Identifier 1599652 1599653 + TypeReference 1599654 1599659 + Identifier 1599654 1599659 + Parameter 1599660 1599668 + Identifier 1599660 1599662 + TypeReference 1599663 1599668 + Identifier 1599663 1599668 + Block 1599669 1599882 + ReturnStatement 1599671 1599875 + PrefixUnaryExpression 1599687 1599874 + PrefixUnaryExpression 1599689 1599874 + ParenthesizedExpression 1599690 1599874 + BinaryExpression 1599691 1599873 + BinaryExpression 1599691 1599784 + BinaryExpression 1599691 1599759 + BinaryExpression 1599691 1599747 + BinaryExpression 1599691 1599717 + PropertyAccessExpression 1599691 1599698 + Identifier 1599691 1599692 + Identifier 1599693 1599698 + AmpersandToken 1599698 1599700 + PropertyAccessExpression 1599700 1599717 + Identifier 1599700 1599710 + Identifier 1599711 1599717 + AmpersandAmpersandToken 1599717 1599720 + BinaryExpression 1599720 1599747 + PropertyAccessExpression 1599720 1599728 + Identifier 1599720 1599722 + Identifier 1599723 1599728 + AmpersandToken 1599728 1599730 + PropertyAccessExpression 1599730 1599747 + Identifier 1599730 1599740 + Identifier 1599741 1599747 + AmpersandAmpersandToken 1599747 1599750 + PropertyAccessExpression 1599750 1599759 + Identifier 1599750 1599752 + Identifier 1599753 1599759 + AmpersandAmpersandToken 1599759 1599762 + BinaryExpression 1599762 1599784 + PropertyAccessExpression 1599762 1599771 + Identifier 1599762 1599764 + Identifier 1599765 1599771 + EqualsEqualsEqualsToken 1599771 1599775 + PropertyAccessExpression 1599775 1599784 + Identifier 1599775 1599777 + Identifier 1599778 1599784 + BarBarToken 1599784 1599787 + BinaryExpression 1599787 1599873 + BinaryExpression 1599787 1599838 + PropertyAccessExpression 1599787 1599814 + Identifier 1599787 1599802 + Identifier 1599803 1599814 + AmpersandAmpersandToken 1599814 1599817 + PropertyAccessExpression 1599817 1599838 + Identifier 1599817 1599819 + Identifier 1599820 1599838 + AmpersandAmpersandToken 1599838 1599841 + BinaryExpression 1599841 1599873 + PropertyAccessExpression 1599841 1599855 + Identifier 1599841 1599843 + Identifier 1599844 1599855 + EqualsEqualsEqualsToken 1599855 1599859 + PropertyAccessExpression 1599859 1599873 + Identifier 1599859 1599861 + Identifier 1599862 1599873 + FunctionDeclaration 1599882 1600292 + Identifier 1599898 1599921 + Parameter 1599922 1599941 + Identifier 1599922 1599926 + TypeReference 1599927 1599941 + Identifier 1599927 1599941 + BooleanKeyword 1599943 1599951 + Block 1599951 1600292 + VariableStatement 1599953 1600017 + VariableDeclarationList 1599953 1600016 + VariableDeclaration 1599968 1600016 + Identifier 1599968 1599979 + CallExpression 1599981 1600016 + Identifier 1599981 1600010 + Identifier 1600011 1600015 + ReturnStatement 1600017 1600285 + BinaryExpression 1600033 1600284 + PrefixUnaryExpression 1600033 1600046 + PrefixUnaryExpression 1600035 1600046 + Identifier 1600036 1600046 + AmpersandAmpersandToken 1600046 1600049 + CallExpression 1600049 1600284 + Identifier 1600049 1600065 + ConditionalExpression 1600066 1600190 + BinaryExpression 1600066 1600106 + PropertyAccessExpression 1600066 1600082 + Identifier 1600066 1600076 + Identifier 1600077 1600082 + AmpersandToken 1600082 1600084 + PropertyAccessExpression 1600084 1600106 + Identifier 1600084 1600094 + Identifier 1600095 1600106 + QuestionToken 1600106 1600108 + CallExpression 1600108 1600177 + Identifier 1600108 1600146 + AsExpression 1600147 1600176 + Identifier 1600147 1600157 + TypeReference 1600160 1600176 + Identifier 1600160 1600176 + ColonToken 1600177 1600179 + Identifier 1600179 1600190 + BinaryExpression 1600191 1600283 + BinaryExpression 1600191 1600257 + BinaryExpression 1600191 1600229 + PropertyAccessExpression 1600191 1600211 + Identifier 1600191 1600201 + Identifier 1600202 1600211 + BarToken 1600211 1600213 + PropertyAccessExpression 1600213 1600229 + Identifier 1600213 1600223 + Identifier 1600224 1600229 + BarToken 1600229 1600231 + PropertyAccessExpression 1600231 1600257 + Identifier 1600231 1600241 + Identifier 1600242 1600257 + BarToken 1600257 1600259 + PropertyAccessExpression 1600259 1600283 + Identifier 1600259 1600269 + Identifier 1600270 1600283 + FunctionDeclaration 1600292 1600419 + Identifier 1600308 1600328 + Parameter 1600329 1600339 + Identifier 1600329 1600333 + TypeReference 1600334 1600339 + Identifier 1600334 1600339 + Block 1600340 1600419 + ReturnStatement 1600342 1600412 + PrefixUnaryExpression 1600358 1600411 + PrefixUnaryExpression 1600360 1600411 + ParenthesizedExpression 1600361 1600411 + BinaryExpression 1600362 1600410 + CallExpression 1600362 1600382 + Identifier 1600362 1600376 + Identifier 1600377 1600381 + AmpersandToken 1600382 1600384 + PropertyAccessExpression 1600384 1600410 + Identifier 1600384 1600396 + Identifier 1600397 1600410 + FunctionDeclaration 1600419 1600582 + Identifier 1600435 1600462 + Parameter 1600463 1600473 + Identifier 1600463 1600467 + TypeReference 1600468 1600473 + Identifier 1600468 1600473 + Block 1600474 1600582 + ReturnStatement 1600476 1600575 + PrefixUnaryExpression 1600492 1600574 + PrefixUnaryExpression 1600494 1600574 + ParenthesizedExpression 1600495 1600574 + BinaryExpression 1600496 1600573 + CallExpression 1600496 1600516 + Identifier 1600496 1600510 + Identifier 1600511 1600515 + AmpersandToken 1600516 1600518 + ParenthesizedExpression 1600518 1600573 + BinaryExpression 1600520 1600572 + PropertyAccessExpression 1600520 1600545 + Identifier 1600520 1600531 + Identifier 1600532 1600545 + BarToken 1600545 1600547 + PropertyAccessExpression 1600547 1600572 + Identifier 1600547 1600559 + Identifier 1600560 1600572 + FunctionDeclaration 1600582 1601092 + Identifier 1600598 1600635 + Parameter 1600636 1600654 + Identifier 1600636 1600646 + ArrayType 1600647 1600654 + TypeReference 1600647 1600652 + Identifier 1600647 1600652 + ArrayType 1600656 1600663 + TypeReference 1600656 1600661 + Identifier 1600656 1600661 + Block 1600663 1601092 + IfStatement 1600665 1601057 + BinaryExpression 1600679 1600700 + PropertyAccessExpression 1600679 1600696 + Identifier 1600679 1600689 + Identifier 1600690 1600696 + GreaterThanToken 1600696 1600698 + NumericLiteral 1600698 1600700 + Block 1600701 1601057 + VariableStatement 1600703 1600787 + VariableDeclarationList 1600703 1600786 + VariableDeclaration 1600722 1600786 + Identifier 1600722 1600737 + CallExpression 1600739 1600786 + Identifier 1600739 1600746 + Identifier 1600747 1600757 + Identifier 1600758 1600785 + IfStatement 1600787 1601046 + PropertyAccessExpression 1600805 1600826 + Identifier 1600805 1600819 + Identifier 1600820 1600826 + Block 1600827 1601046 + VariableStatement 1600829 1600921 + VariableDeclarationList 1600829 1600920 + VariableDeclaration 1600852 1600920 + Identifier 1600852 1600865 + CallExpression 1600867 1600920 + Identifier 1600867 1600880 + Identifier 1600881 1600895 + PropertyAccessExpression 1600896 1600919 + Identifier 1600896 1600911 + Identifier 1600912 1600919 + ReturnStatement 1600921 1601031 + CallExpression 1600945 1601030 + Identifier 1600945 1600957 + CallExpression 1600958 1601013 + Identifier 1600958 1600964 + Identifier 1600965 1600975 + ArrowFunction 1600976 1601012 + Parameter 1600976 1600978 + Identifier 1600976 1600978 + EqualsGreaterThanToken 1600978 1600981 + PrefixUnaryExpression 1600981 1601012 + CallExpression 1600983 1601012 + Identifier 1600983 1601009 + Identifier 1601010 1601011 + ArrayLiteralExpression 1601014 1601029 + Identifier 1601016 1601028 + ReturnStatement 1601057 1601085 + Identifier 1601073 1601084 + FunctionDeclaration 1601092 1601352 + Identifier 1601108 1601134 + Parameter 1601135 1601159 + Identifier 1601135 1601144 + TypeReference 1601145 1601159 + Identifier 1601145 1601159 + Block 1601160 1601352 + ReturnStatement 1601162 1601345 + ConditionalExpression 1601178 1601344 + BinaryExpression 1601178 1601245 + NonNullExpression 1601178 1601198 + PropertyAccessExpression 1601178 1601197 + Identifier 1601178 1601188 + Identifier 1601189 1601197 + AmpersandToken 1601198 1601200 + PropertyAccessExpression 1601200 1601245 + Identifier 1601200 1601218 + Identifier 1601219 1601245 + QuestionToken 1601245 1601247 + CallExpression 1601247 1601296 + Identifier 1601247 1601267 + NonNullExpression 1601268 1601295 + PropertyAccessExpression 1601268 1601294 + Identifier 1601268 1601277 + Identifier 1601278 1601294 + ColonToken 1601296 1601298 + CallExpression 1601298 1601344 + Identifier 1601298 1601315 + NonNullExpression 1601316 1601343 + PropertyAccessExpression 1601316 1601342 + Identifier 1601316 1601325 + Identifier 1601326 1601342 + FunctionDeclaration 1601352 1602963 + Identifier 1601368 1601390 + Parameter 1601391 1601415 + Identifier 1601391 1601400 + TypeReference 1601401 1601415 + Identifier 1601401 1601415 + Parameter 1601416 1601437 + Identifier 1601416 1601426 + TypeReference 1601427 1601437 + Identifier 1601427 1601437 + Block 1601438 1602963 + VariableStatement 1601440 1601644 + VariableDeclarationList 1601440 1601643 + VariableDeclaration 1601570 1601643 + Identifier 1601570 1601581 + CallExpression 1601583 1601643 + Identifier 1601583 1601620 + NonNullExpression 1601621 1601642 + PropertyAccessExpression 1601621 1601641 + Identifier 1601621 1601630 + Identifier 1601631 1601641 + VariableStatement 1601644 1602134 + VariableDeclarationList 1601644 1602133 + VariableDeclaration 1602015 1602133 + Identifier 1602015 1602035 + BinaryExpression 1602037 1602133 + CallExpression 1602037 1602085 + Identifier 1602037 1602060 + PropertyAccessExpression 1602061 1602084 + Identifier 1602061 1602070 + Identifier 1602071 1602084 + BarBarToken 1602085 1602088 + CallExpression 1602088 1602133 + Identifier 1602088 1602108 + PropertyAccessExpression 1602109 1602132 + Identifier 1602109 1602118 + Identifier 1602119 1602132 + VariableStatement 1602134 1602327 + VariableDeclarationList 1602134 1602326 + VariableDeclaration 1602149 1602326 + Identifier 1602149 1602167 + BinaryExpression 1602169 1602326 + BinaryExpression 1602169 1602212 + PrefixUnaryExpression 1602169 1602190 + Identifier 1602171 1602190 + AmpersandAmpersandToken 1602190 1602193 + PropertyAccessExpression 1602193 1602212 + Identifier 1602193 1602203 + Identifier 1602204 1602212 + AmpersandAmpersandToken 1602212 1602215 + ParenthesizedExpression 1602215 1602326 + BinaryExpression 1602230 1602325 + PropertyAccessExpression 1602230 1602247 + Identifier 1602230 1602239 + Identifier 1602240 1602247 + BarBarToken 1602247 1602250 + PrefixUnaryExpression 1602250 1602325 + CallExpression 1602252 1602325 + Identifier 1602252 1602289 + Identifier 1602290 1602299 + PropertyAccessExpression 1602300 1602324 + Identifier 1602300 1602310 + Identifier 1602311 1602324 + VariableStatement 1602327 1602535 + VariableDeclarationList 1602327 1602534 + VariableDeclaration 1602342 1602534 + Identifier 1602342 1602357 + ConditionalExpression 1602359 1602534 + Identifier 1602359 1602379 + QuestionToken 1602379 1602381 + CallExpression 1602381 1602430 + Identifier 1602381 1602389 + Identifier 1602390 1602400 + Identifier 1602401 1602429 + ColonToken 1602430 1602432 + ConditionalExpression 1602432 1602534 + Identifier 1602432 1602463 + QuestionToken 1602463 1602465 + CallExpression 1602465 1602508 + Identifier 1602465 1602473 + Identifier 1602474 1602484 + Identifier 1602485 1602507 + ColonToken 1602508 1602510 + Identifier 1602510 1602534 + VariableStatement 1602535 1602909 + VariableDeclarationList 1602535 1602908 + VariableDeclaration 1602707 1602908 + Identifier 1602707 1602721 + ConditionalExpression 1602723 1602908 + BinaryExpression 1602723 1602790 + NonNullExpression 1602723 1602743 + PropertyAccessExpression 1602723 1602742 + Identifier 1602723 1602733 + Identifier 1602734 1602742 + AmpersandToken 1602743 1602745 + PropertyAccessExpression 1602745 1602790 + Identifier 1602745 1602763 + Identifier 1602764 1602790 + QuestionToken 1602790 1602792 + CallExpression 1602792 1602858 + Identifier 1602792 1602818 + Identifier 1602819 1602833 + PropertyAccessExpression 1602834 1602857 + Identifier 1602834 1602849 + Identifier 1602850 1602857 + ColonToken 1602858 1602860 + CallExpression 1602860 1602908 + Identifier 1602860 1602892 + Identifier 1602893 1602907 + ReturnStatement 1602909 1602956 + CallExpression 1602925 1602955 + Identifier 1602925 1602940 + Identifier 1602941 1602954 + FunctionDeclaration 1602963 1607432 + Identifier 1602979 1602995 + Parameter 1602996 1603021 + Identifier 1602996 1603003 + TypeReference 1603004 1603021 + Identifier 1603004 1603021 + Parameter 1603022 1603036 + Identifier 1603022 1603028 + NumberKeyword 1603029 1603036 + TypeReference 1603038 1603043 + Identifier 1603038 1603043 + Block 1603043 1607432 + VariableStatement 1603045 1603099 + VariableDeclarationList 1603045 1603098 + VariableDeclaration 1603060 1603098 + Identifier 1603060 1603070 + ElementAccessExpression 1603072 1603098 + PropertyAccessExpression 1603072 1603091 + Identifier 1603072 1603080 + Identifier 1603081 1603091 + Identifier 1603092 1603097 + IfStatement 1603099 1607383 + PrefixUnaryExpression 1603113 1603136 + PropertyAccessExpression 1603114 1603136 + Identifier 1603114 1603123 + Identifier 1603124 1603136 + Block 1603137 1607383 + VariableStatement 1603139 1603188 + VariableDeclarationList 1603139 1603187 + VariableDeclaration 1603156 1603187 + Identifier 1603156 1603169 + UnionType 1603170 1603187 + TypeReference 1603170 1603175 + Identifier 1603170 1603175 + UndefinedKeyword 1603177 1603187 + VariableStatement 1603188 1603237 + VariableDeclarationList 1603188 1603236 + VariableDeclaration 1603205 1603236 + Identifier 1603205 1603218 + UnionType 1603219 1603236 + TypeReference 1603219 1603224 + Identifier 1603219 1603224 + UndefinedKeyword 1603226 1603236 + IfStatement 1603237 1606526 + PropertyAccessExpression 1603255 1603272 + Identifier 1603255 1603262 + Identifier 1603263 1603272 + Block 1603273 1606426 + VariableStatement 1603275 1603410 + VariableDeclarationList 1603275 1603409 + VariableDeclaration 1603298 1603409 + Identifier 1603298 1603320 + ConditionalExpression 1603322 1603409 + PropertyAccessExpression 1603322 1603343 + Identifier 1603322 1603332 + Identifier 1603333 1603343 + QuestionToken 1603343 1603345 + CallExpression 1603345 1603397 + Identifier 1603345 1603367 + Identifier 1603368 1603377 + PropertyAccessExpression 1603378 1603396 + Identifier 1603378 1603386 + Identifier 1603387 1603396 + ColonToken 1603397 1603399 + Identifier 1603399 1603409 + VariableStatement 1603410 1603540 + VariableDeclarationList 1603410 1603539 + VariableDeclaration 1603433 1603539 + Identifier 1603433 1603459 + ConditionalExpression 1603461 1603539 + PropertyAccessExpression 1603461 1603488 + Identifier 1603461 1603471 + Identifier 1603472 1603488 + QuestionToken 1603488 1603490 + CallExpression 1603490 1603527 + Identifier 1603490 1603516 + Identifier 1603517 1603526 + ColonToken 1603527 1603529 + Identifier 1603529 1603539 + IfStatement 1603540 1606411 + BinaryExpression 1603562 1603612 + Identifier 1603562 1603583 + BarBarToken 1603583 1603586 + Identifier 1603586 1603612 + Block 1603613 1605194 + VariableStatement 1603615 1604957 + VariableDeclarationList 1603615 1604956 + VariableDeclaration 1604356 1604956 + Identifier 1604356 1604376 + BinaryExpression 1604378 1604956 + Identifier 1604378 1604400 + AmpersandAmpersandToken 1604400 1604403 + ParenthesizedExpression 1604403 1604956 + BinaryExpression 1604405 1604955 + PrefixUnaryExpression 1604405 1604431 + Identifier 1604406 1604431 + BarBarToken 1604431 1604434 + BinaryExpression 1604434 1604955 + BinaryExpression 1604434 1604642 + PrefixUnaryExpression 1604434 1604526 + ParenthesizedExpression 1604461 1604526 + BinaryExpression 1604462 1604525 + PropertyAccessExpression 1604462 1604489 + Identifier 1604462 1604483 + Identifier 1604484 1604489 + AmpersandToken 1604489 1604491 + ParenthesizedExpression 1604491 1604525 + BinaryExpression 1604493 1604524 + PropertyAccessExpression 1604493 1604508 + Identifier 1604493 1604502 + Identifier 1604503 1604508 + BarToken 1604508 1604510 + PropertyAccessExpression 1604510 1604524 + Identifier 1604510 1604520 + Identifier 1604521 1604524 + AmpersandAmpersandToken 1604526 1604529 + CallExpression 1604529 1604642 + Identifier 1604529 1604563 + PropertyAccessExpression 1604564 1604590 + Identifier 1604564 1604573 + Identifier 1604574 1604590 + ArrowFunction 1604591 1604641 + Parameter 1604591 1604593 + Identifier 1604591 1604593 + EqualsGreaterThanToken 1604593 1604596 + CallExpression 1604596 1604641 + Identifier 1604596 1604615 + Identifier 1604616 1604637 + Identifier 1604638 1604640 + AmpersandAmpersandToken 1604642 1604645 + CallExpression 1604645 1604955 + Identifier 1604645 1604680 + PropertyAccessExpression 1604681 1604699 + Identifier 1604681 1604688 + Identifier 1604689 1604699 + ArrowFunction 1604700 1604954 + Parameter 1604700 1604706 + Identifier 1604700 1604706 + EqualsGreaterThanToken 1604706 1604709 + BinaryExpression 1604709 1604954 + BinaryExpression 1604709 1604843 + BinaryExpression 1604709 1604762 + Identifier 1604709 1604748 + ExclamationEqualsEqualsToken 1604748 1604752 + Identifier 1604752 1604762 + AmpersandAmpersandToken 1604762 1604765 + BinaryExpression 1604765 1604843 + CallExpression 1604765 1604815 + Identifier 1604765 1604794 + PropertyAccessExpression 1604795 1604814 + Identifier 1604795 1604800 + Identifier 1604801 1604814 + ExclamationEqualsEqualsToken 1604815 1604819 + PropertyAccessExpression 1604819 1604843 + Identifier 1604819 1604829 + Identifier 1604830 1604843 + BarBarToken 1604843 1604846 + CallExpression 1604846 1604954 + Identifier 1604846 1604885 + PropertyAccessExpression 1604886 1604902 + Identifier 1604886 1604891 + Identifier 1604892 1604902 + ArrowFunction 1604903 1604953 + Parameter 1604903 1604905 + Identifier 1604903 1604905 + EqualsGreaterThanToken 1604905 1604908 + CallExpression 1604908 1604953 + Identifier 1604908 1604927 + Identifier 1604928 1604929 + Identifier 1604930 1604952 + ExpressionStatement 1604957 1605066 + BinaryExpression 1604957 1605065 + Identifier 1604957 1604991 + EqualsToken 1604991 1604993 + ConditionalExpression 1604993 1605065 + Identifier 1604993 1605013 + QuestionToken 1605013 1605015 + Identifier 1605015 1605037 + ColonToken 1605037 1605039 + Identifier 1605039 1605065 + ExpressionStatement 1605066 1605175 + BinaryExpression 1605066 1605174 + Identifier 1605066 1605100 + EqualsToken 1605100 1605102 + ConditionalExpression 1605102 1605174 + Identifier 1605102 1605122 + QuestionToken 1605122 1605124 + Identifier 1605124 1605150 + ColonToken 1605150 1605152 + Identifier 1605152 1605174 + IfStatement 1605216 1606411 + BinaryExpression 1605221 1605261 + PropertyAccessExpression 1605221 1605234 + Identifier 1605221 1605228 + Identifier 1605229 1605234 + AmpersandToken 1605234 1605236 + PropertyAccessExpression 1605236 1605261 + Identifier 1605236 1605251 + Identifier 1605252 1605261 + Block 1605262 1605427 + ExpressionStatement 1605264 1605408 + BinaryExpression 1605264 1605407 + Identifier 1605264 1605389 + EqualsToken 1605389 1605391 + Identifier 1605391 1605407 + Block 1605449 1606411 + VariableStatement 1605451 1605996 + VariableDeclarationList 1605451 1605995 + VariableDeclaration 1605928 1605995 + Identifier 1605928 1605940 + CallExpression 1605942 1605995 + Identifier 1605942 1605970 + PropertyAccessExpression 1605971 1605994 + Identifier 1605971 1605980 + Identifier 1605981 1605994 + IfStatement 1605996 1606392 + Identifier 1606022 1606033 + Block 1606034 1606392 + ExpressionStatement 1606036 1606369 + BinaryExpression 1606036 1606368 + Identifier 1606036 1606251 + EqualsToken 1606251 1606253 + CallExpression 1606253 1606368 + Identifier 1606253 1606269 + Identifier 1606270 1606281 + CallExpression 1606282 1606367 + Identifier 1606282 1606299 + CallExpression 1606300 1606341 + Identifier 1606300 1606325 + Identifier 1606326 1606333 + Identifier 1606334 1606340 + PropertyAccessExpression 1606342 1606366 + Identifier 1606342 1606350 + Identifier 1606351 1606366 + Block 1606444 1606526 + ExpressionStatement 1606446 1606511 + BinaryExpression 1606446 1606510 + Identifier 1606446 1606476 + EqualsToken 1606476 1606478 + CallExpression 1606478 1606510 + Identifier 1606478 1606499 + Identifier 1606500 1606509 + ExpressionStatement 1606526 1606657 + BinaryExpression 1606526 1606656 + PropertyAccessExpression 1606526 1606564 + Identifier 1606526 1606551 + Identifier 1606552 1606564 + EqualsToken 1606564 1606566 + BinaryExpression 1606566 1606656 + Identifier 1606566 1606579 + BarBarToken 1606579 1606582 + CallExpression 1606582 1606656 + Identifier 1606582 1606609 + PrefixUnaryExpression 1606610 1606655 + PrefixUnaryExpression 1606611 1606655 + ParenthesizedExpression 1606612 1606655 + BinaryExpression 1606613 1606654 + PropertyAccessExpression 1606613 1606626 + Identifier 1606613 1606620 + Identifier 1606621 1606626 + AmpersandToken 1606626 1606628 + PropertyAccessExpression 1606628 1606654 + Identifier 1606628 1606643 + Identifier 1606644 1606654 + VariableStatement 1606657 1606746 + VariableDeclarationList 1606657 1606745 + VariableDeclaration 1606678 1606745 + Identifier 1606678 1606689 + CallExpression 1606691 1606745 + Identifier 1606691 1606720 + PropertyAccessExpression 1606721 1606744 + Identifier 1606721 1606730 + Identifier 1606731 1606744 + IfStatement 1606746 1607372 + Identifier 1606764 1606774 + Block 1606775 1607372 + VariableStatement 1606777 1606879 + VariableDeclarationList 1606777 1606878 + VariableDeclaration 1606800 1606878 + Identifier 1606800 1606823 + CallExpression 1606825 1606878 + Identifier 1606825 1606841 + Identifier 1606842 1606852 + PropertyAccessExpression 1606853 1606877 + Identifier 1606853 1606861 + Identifier 1606862 1606877 + IfStatement 1606879 1607357 + BinaryExpression 1606901 1607016 + PrefixUnaryExpression 1606901 1606914 + Identifier 1606902 1606914 + BarBarToken 1606914 1606917 + PrefixUnaryExpression 1606917 1607016 + CallExpression 1606919 1607016 + PropertyAccessExpression 1606919 1606939 + Identifier 1606919 1606926 + Identifier 1606927 1606939 + Identifier 1606940 1606952 + CallExpression 1606953 1607015 + Identifier 1606953 1606977 + Identifier 1606978 1607000 + Identifier 1607001 1607014 + Block 1607017 1607357 + ExpressionStatement 1607019 1607338 + BinaryExpression 1607019 1607337 + PropertyAccessExpression 1607019 1607181 + Identifier 1607019 1607168 + Identifier 1607169 1607181 + EqualsToken 1607181 1607183 + ConditionalExpression 1607183 1607337 + BinaryExpression 1607183 1607297 + Identifier 1607183 1607196 + AmpersandAmpersandToken 1607196 1607199 + CallExpression 1607199 1607297 + PropertyAccessExpression 1607199 1607220 + Identifier 1607199 1607207 + Identifier 1607208 1607220 + Identifier 1607221 1607233 + CallExpression 1607234 1607296 + Identifier 1607234 1607258 + Identifier 1607259 1607281 + Identifier 1607282 1607295 + QuestionToken 1607297 1607299 + Identifier 1607299 1607312 + ColonToken 1607312 1607314 + Identifier 1607314 1607337 + ReturnStatement 1607383 1607425 + PropertyAccessExpression 1607401 1607424 + Identifier 1607401 1607411 + Identifier 1607412 1607424 + FunctionDeclaration 1607432 1607579 + Identifier 1607448 1607475 + Parameter 1607476 1607503 + Identifier 1607476 1607494 + BooleanKeyword 1607495 1607503 + TypeReference 1607505 1607510 + Identifier 1607505 1607510 + Block 1607510 1607579 + ReturnStatement 1607512 1607572 + ConditionalExpression 1607528 1607571 + Identifier 1607528 1607547 + QuestionToken 1607547 1607549 + Identifier 1607549 1607557 + ColonToken 1607557 1607559 + Identifier 1607559 1607571 + FunctionDeclaration 1607579 1607845 + Identifier 1607595 1607612 + Parameter 1607613 1607638 + Identifier 1607613 1607620 + TypeReference 1607621 1607638 + Identifier 1607621 1607638 + ArrayType 1607640 1607647 + TypeReference 1607640 1607645 + Identifier 1607640 1607645 + Block 1607647 1607845 + VariableStatement 1607649 1607685 + VariableDeclarationList 1607649 1607684 + VariableDeclaration 1607664 1607684 + Identifier 1607664 1607671 + ArrayType 1607672 1607679 + TypeReference 1607672 1607677 + Identifier 1607672 1607677 + ArrayLiteralExpression 1607681 1607684 + ForStatement 1607685 1607814 + VariableDeclarationList 1607700 1607709 + VariableDeclaration 1607703 1607709 + Identifier 1607703 1607705 + NumericLiteral 1607707 1607709 + BinaryExpression 1607710 1607740 + Identifier 1607710 1607712 + LessThanToken 1607712 1607714 + PropertyAccessExpression 1607714 1607740 + PropertyAccessExpression 1607714 1607733 + Identifier 1607714 1607722 + Identifier 1607723 1607733 + Identifier 1607734 1607740 + PostfixUnaryExpression 1607741 1607745 + Identifier 1607741 1607743 + Block 1607746 1607814 + ExpressionStatement 1607748 1607803 + CallExpression 1607748 1607802 + PropertyAccessExpression 1607748 1607773 + Identifier 1607748 1607768 + Identifier 1607769 1607773 + CallExpression 1607774 1607801 + Identifier 1607774 1607789 + Identifier 1607790 1607797 + Identifier 1607798 1607800 + ReturnStatement 1607814 1607838 + Identifier 1607830 1607837 + FunctionDeclaration 1607845 1611456 + Identifier 1607896 1607931 + Parameter 1607932 1607948 + Identifier 1607932 1607936 + TypeReference 1607937 1607948 + Identifier 1607937 1607948 + TypeReference 1607950 1607968 + Identifier 1607950 1607968 + Block 1607968 1611456 + SwitchStatement 1607970 1611449 + PropertyAccessExpression 1607988 1608004 + Identifier 1607988 1607992 + Identifier 1607993 1608004 + CaseBlock 1608005 1611449 + CaseClause 1608007 1608037 + StringLiteral 1608025 1608036 + CaseClause 1608037 1608216 + StringLiteral 1608055 1608065 + ReturnStatement 1608066 1608216 + PropertyAccessExpression 1608090 1608215 + Identifier 1608090 1608102 + Identifier 1608103 1608215 + CaseClause 1608216 1608626 + StringLiteral 1608234 1608238 + ReturnStatement 1608239 1608626 + ConditionalExpression 1608263 1608625 + PropertyAccessExpression 1608263 1608285 + Identifier 1608263 1608279 + Identifier 1608280 1608285 + QuestionToken 1608285 1608308 + PropertyAccessExpression 1608308 1608483 + Identifier 1608308 1608320 + Identifier 1608321 1608483 + ColonToken 1608483 1608506 + PropertyAccessExpression 1608506 1608625 + Identifier 1608506 1608518 + Identifier 1608519 1608625 + CaseClause 1608626 1608656 + StringLiteral 1608644 1608655 + CaseClause 1608656 1608683 + StringLiteral 1608674 1608682 + CaseClause 1608683 1608707 + StringLiteral 1608701 1608706 + CaseClause 1608707 1609207 + StringLiteral 1608725 1608732 + ReturnStatement 1608733 1609207 + ConditionalExpression 1608757 1609206 + PropertyAccessExpression 1608757 1608779 + Identifier 1608757 1608773 + Identifier 1608774 1608779 + QuestionToken 1608779 1608802 + PropertyAccessExpression 1608802 1609024 + Identifier 1608802 1608814 + Identifier 1608815 1609024 + ColonToken 1609024 1609047 + PropertyAccessExpression 1609047 1609206 + Identifier 1609047 1609059 + Identifier 1609060 1609206 + CaseClause 1609207 1609236 + StringLiteral 1609225 1609235 + CaseClause 1609236 1609265 + StringLiteral 1609254 1609264 + CaseClause 1609265 1609293 + StringLiteral 1609283 1609292 + CaseClause 1609293 1609698 + StringLiteral 1609311 1609320 + ReturnStatement 1609321 1609698 + ConditionalExpression 1609345 1609697 + PropertyAccessExpression 1609345 1609367 + Identifier 1609345 1609361 + Identifier 1609362 1609367 + QuestionToken 1609367 1609390 + PropertyAccessExpression 1609390 1609559 + Identifier 1609390 1609402 + Identifier 1609403 1609559 + ColonToken 1609559 1609582 + PropertyAccessExpression 1609582 1609697 + Identifier 1609582 1609594 + Identifier 1609595 1609697 + CaseClause 1609698 1610095 + StringLiteral 1609716 1609722 + ReturnStatement 1609723 1610095 + ConditionalExpression 1609747 1610094 + PropertyAccessExpression 1609747 1609769 + Identifier 1609747 1609763 + Identifier 1609764 1609769 + QuestionToken 1609769 1609792 + PropertyAccessExpression 1609792 1609958 + Identifier 1609792 1609804 + Identifier 1609805 1609958 + ColonToken 1609958 1609981 + PropertyAccessExpression 1609981 1610094 + Identifier 1609981 1609993 + Identifier 1609994 1610094 + CaseClause 1610095 1610120 + StringLiteral 1610113 1610119 + CaseClause 1610120 1610145 + StringLiteral 1610138 1610144 + CaseClause 1610145 1610174 + StringLiteral 1610163 1610173 + CaseClause 1610174 1610202 + StringLiteral 1610192 1610201 + CaseClause 1610202 1610231 + StringLiteral 1610220 1610230 + CaseClause 1610231 1610260 + StringLiteral 1610249 1610259 + CaseClause 1610260 1610290 + StringLiteral 1610278 1610289 + CaseClause 1610290 1610325 + StringLiteral 1610308 1610324 + CaseClause 1610325 1610364 + StringLiteral 1610343 1610363 + CaseClause 1610364 1610393 + StringLiteral 1610382 1610392 + CaseClause 1610393 1610428 + StringLiteral 1610411 1610427 + CaseClause 1610428 1610471 + StringLiteral 1610446 1610470 + CaseClause 1610471 1610507 + StringLiteral 1610489 1610506 + CaseClause 1610507 1610551 + StringLiteral 1610525 1610550 + CaseClause 1610551 1610579 + StringLiteral 1610569 1610578 + CaseClause 1610579 1610608 + StringLiteral 1610597 1610607 + CaseClause 1610608 1610643 + StringLiteral 1610626 1610642 + CaseClause 1610643 1610828 + StringLiteral 1610661 1610678 + ReturnStatement 1610679 1610828 + PropertyAccessExpression 1610703 1610827 + Identifier 1610703 1610715 + Identifier 1610716 1610827 + CaseClause 1610828 1611036 + StringLiteral 1610846 1610854 + IfStatement 1610855 1611036 + CallExpression 1610877 1610906 + Identifier 1610877 1610893 + PropertyAccessExpression 1610894 1610905 + Identifier 1610894 1610898 + Identifier 1610899 1610905 + Block 1610907 1611036 + ReturnStatement 1610909 1611017 + PropertyAccessExpression 1610937 1611016 + Identifier 1610937 1610949 + Identifier 1610950 1611016 + DefaultClause 1611036 1611438 + IfStatement 1611092 1611438 + BinaryExpression 1611114 1611173 + PropertyAccessExpression 1611114 1611130 + PropertyAccessExpression 1611114 1611125 + Identifier 1611114 1611118 + Identifier 1611119 1611125 + Identifier 1611126 1611130 + EqualsEqualsEqualsToken 1611130 1611134 + PropertyAccessExpression 1611134 1611173 + Identifier 1611134 1611145 + Identifier 1611146 1611173 + Block 1611174 1611335 + ReturnStatement 1611176 1611316 + PropertyAccessExpression 1611204 1611315 + Identifier 1611204 1611216 + Identifier 1611217 1611315 + Block 1611357 1611438 + ReturnStatement 1611359 1611419 + PropertyAccessExpression 1611387 1611418 + Identifier 1611387 1611399 + Identifier 1611400 1611418 + FunctionDeclaration 1611456 1612091 + Identifier 1611472 1611490 + Parameter 1611491 1611507 + Identifier 1611491 1611495 + TypeReference 1611496 1611507 + Identifier 1611496 1611507 + TypeReference 1611509 1611516 + Identifier 1611509 1611516 + Block 1611516 1612091 + VariableStatement 1611518 1611561 + VariableDeclarationList 1611518 1611560 + VariableDeclaration 1611533 1611560 + Identifier 1611533 1611539 + CallExpression 1611541 1611560 + Identifier 1611541 1611554 + Identifier 1611555 1611559 + IfStatement 1611561 1612046 + PrefixUnaryExpression 1611575 1611596 + PropertyAccessExpression 1611576 1611596 + Identifier 1611576 1611581 + Identifier 1611582 1611596 + Block 1611597 1612046 + ExpressionStatement 1611599 1612035 + BinaryExpression 1611599 1612034 + PropertyAccessExpression 1611599 1611633 + Identifier 1611599 1611618 + Identifier 1611619 1611633 + EqualsToken 1611633 1611635 + BinaryExpression 1611635 1612034 + BinaryExpression 1611635 1612017 + PrefixUnaryExpression 1611635 1611656 + CallExpression 1611637 1611656 + Identifier 1611637 1611650 + Identifier 1611651 1611655 + AmpersandAmpersandToken 1611656 1611659 + CallExpression 1611659 1612017 + Identifier 1611659 1611692 + Identifier 1611693 1611723 + Identifier 1611724 1611754 + BinaryExpression 1611755 1611824 + PropertyAccessExpression 1611755 1611798 + Identifier 1611755 1611792 + Identifier 1611793 1611798 + BarToken 1611798 1611800 + PropertyAccessExpression 1611800 1611824 + Identifier 1611800 1611812 + Identifier 1611813 1611824 + CallExpression 1611825 1611891 + Identifier 1611825 1611885 + Identifier 1611886 1611890 + PrefixUnaryExpression 1611892 1611942 + CallExpression 1611919 1611942 + Identifier 1611919 1611936 + Identifier 1611937 1611941 + FalseKeyword 1611943 1611993 + BarBarToken 1612017 1612020 + Identifier 1612020 1612034 + ReturnStatement 1612046 1612084 + PropertyAccessExpression 1612062 1612083 + Identifier 1612062 1612068 + Identifier 1612069 1612083 + FunctionDeclaration 1612091 1612318 + Identifier 1612107 1612129 + Parameter 1612130 1612140 + Identifier 1612130 1612134 + TypeReference 1612135 1612140 + Identifier 1612135 1612140 + BooleanKeyword 1612142 1612150 + Block 1612150 1612318 + ReturnStatement 1612152 1612311 + PrefixUnaryExpression 1612168 1612310 + PrefixUnaryExpression 1612170 1612310 + ParenthesizedExpression 1612171 1612310 + BinaryExpression 1612172 1612309 + BinaryExpression 1612172 1612202 + PropertyAccessExpression 1612172 1612182 + Identifier 1612172 1612176 + Identifier 1612177 1612182 + AmpersandToken 1612182 1612184 + PropertyAccessExpression 1612184 1612202 + Identifier 1612184 1612194 + Identifier 1612195 1612202 + BarBarToken 1612202 1612205 + CallExpression 1612205 1612309 + Identifier 1612205 1612218 + Identifier 1612219 1612223 + ArrowFunction 1612224 1612308 + Parameter 1612224 1612226 + Identifier 1612224 1612226 + EqualsGreaterThanToken 1612226 1612229 + BinaryExpression 1612229 1612308 + BinaryExpression 1612229 1612284 + CallExpression 1612229 1612255 + Identifier 1612229 1612252 + Identifier 1612253 1612254 + BarBarToken 1612255 1612258 + CallExpression 1612258 1612284 + Identifier 1612258 1612281 + Identifier 1612282 1612283 + BarBarToken 1612284 1612287 + CallExpression 1612287 1612308 + Identifier 1612287 1612305 + Identifier 1612306 1612307 + FunctionDeclaration 1612318 1615431 + Identifier 1612664 1612680 + Parameter 1612681 1612691 + Identifier 1612681 1612685 + TypeReference 1612686 1612691 + Identifier 1612686 1612691 + Parameter 1612692 1612711 + Identifier 1612692 1612705 + TypeReference 1612706 1612711 + Identifier 1612706 1612711 + Parameter 1612712 1612730 + Identifier 1612712 1612724 + TypeReference 1612725 1612730 + Identifier 1612725 1612730 + Parameter 1612731 1612763 + Identifier 1612731 1612745 + UnionType 1612746 1612763 + TypeReference 1612746 1612751 + Identifier 1612746 1612751 + UndefinedKeyword 1612753 1612763 + UnionType 1612765 1612784 + StringKeyword 1612765 1612772 + UndefinedKeyword 1612774 1612784 + Block 1612784 1615431 + SwitchStatement 1612786 1615397 + PropertyAccessExpression 1612804 1612813 + Identifier 1612804 1612808 + Identifier 1612809 1612813 + CaseBlock 1612814 1615397 + CaseClause 1612816 1613197 + PropertyAccessExpression 1612834 1612856 + Identifier 1612834 1612845 + Identifier 1612846 1612856 + IfStatement 1612857 1613197 + PrefixUnaryExpression 1612879 1612903 + CallExpression 1612880 1612903 + Identifier 1612880 1612897 + Identifier 1612898 1612902 + Block 1612904 1613197 + VariableStatement 1612906 1612981 + VariableDeclarationList 1612906 1612980 + VariableDeclaration 1612933 1612980 + Identifier 1612933 1612940 + CallExpression 1612942 1612980 + Identifier 1612942 1612960 + AsExpression 1612961 1612979 + Identifier 1612961 1612965 + TypeReference 1612968 1612979 + Identifier 1612968 1612979 + ReturnStatement 1612981 1613178 + ConditionalExpression 1613009 1613177 + BinaryExpression 1613009 1613034 + Identifier 1613009 1613016 + ExclamationEqualsEqualsToken 1613016 1613020 + Identifier 1613020 1613034 + QuestionToken 1613034 1613036 + TemplateExpression 1613036 1613165 + TemplateHead 1613036 1613040 + TemplateSpan 1613040 1613091 + ConditionalExpression 1613040 1613087 + Identifier 1613040 1613053 + QuestionToken 1613053 1613055 + CallExpression 1613055 1613080 + Identifier 1613055 1613065 + Identifier 1613066 1613079 + ColonToken 1613080 1613082 + StringLiteral 1613082 1613087 + TemplateMiddle 1613087 1613091 + TemplateSpan 1613091 1613118 + CallExpression 1613091 1613114 + Identifier 1613091 1613100 + Identifier 1613101 1613113 + TemplateMiddle 1613114 1613118 + TemplateSpan 1613118 1613144 + CallExpression 1613118 1613140 + Identifier 1613118 1613127 + Identifier 1613128 1613139 + TemplateMiddle 1613140 1613144 + TemplateSpan 1613144 1613165 + CallExpression 1613144 1613163 + Identifier 1613144 1613155 + Identifier 1613156 1613162 + TemplateTail 1613163 1613165 + ColonToken 1613165 1613167 + Identifier 1613167 1613177 + CaseClause 1613197 1613406 + PropertyAccessExpression 1613249 1613272 + Identifier 1613249 1613260 + Identifier 1613261 1613272 + ReturnStatement 1613273 1613406 + TemplateExpression 1613297 1613405 + TemplateHead 1613297 1613303 + TemplateSpan 1613303 1613354 + ConditionalExpression 1613303 1613350 + Identifier 1613303 1613316 + QuestionToken 1613316 1613318 + CallExpression 1613318 1613343 + Identifier 1613318 1613328 + Identifier 1613329 1613342 + ColonToken 1613343 1613345 + StringLiteral 1613345 1613350 + TemplateMiddle 1613350 1613354 + TemplateSpan 1613354 1613381 + CallExpression 1613354 1613377 + Identifier 1613354 1613363 + Identifier 1613364 1613376 + TemplateMiddle 1613377 1613381 + TemplateSpan 1613381 1613405 + CallExpression 1613381 1613403 + Identifier 1613381 1613390 + Identifier 1613391 1613402 + TemplateTail 1613403 1613405 + CaseClause 1613406 1613454 + PropertyAccessExpression 1613424 1613453 + Identifier 1613424 1613435 + Identifier 1613436 1613453 + CaseClause 1613454 1613657 + PropertyAccessExpression 1613472 1613507 + Identifier 1613472 1613483 + Identifier 1613484 1613507 + ReturnStatement 1613508 1613657 + CallExpression 1613532 1613656 + Identifier 1613532 1613548 + PropertyAccessExpression 1613549 1613613 + ParenthesizedExpression 1613549 1613602 + AsExpression 1613550 1613601 + Identifier 1613550 1613554 + UnionType 1613557 1613601 + TypeReference 1613557 1613575 + Identifier 1613557 1613575 + TypeReference 1613577 1613601 + Identifier 1613577 1613601 + Identifier 1613603 1613613 + Identifier 1613614 1613627 + Identifier 1613628 1613640 + Identifier 1613641 1613655 + CaseClause 1613657 1613908 + PropertyAccessExpression 1613675 1613700 + Identifier 1613675 1613686 + Identifier 1613687 1613700 + VariableStatement 1613701 1613820 + VariableDeclarationList 1613701 1613819 + VariableDeclaration 1613724 1613819 + Identifier 1613724 1613729 + CallExpression 1613731 1613819 + Identifier 1613731 1613747 + PropertyAccessExpression 1613748 1613776 + ParenthesizedExpression 1613748 1613771 + AsExpression 1613749 1613770 + Identifier 1613749 1613753 + TypeReference 1613756 1613770 + Identifier 1613756 1613770 + Identifier 1613772 1613776 + Identifier 1613777 1613790 + Identifier 1613791 1613803 + Identifier 1613804 1613818 + ReturnStatement 1613820 1613908 + BinaryExpression 1613844 1613907 + Identifier 1613844 1613849 + AmpersandAmpersandToken 1613849 1613852 + TemplateExpression 1613852 1613907 + TemplateHead 1613852 1613856 + TemplateSpan 1613856 1613864 + Identifier 1613856 1613860 + TemplateMiddle 1613860 1613864 + TemplateSpan 1613864 1613907 + PropertyAccessExpression 1613864 1613905 + PropertyAccessExpression 1613864 1613893 + ParenthesizedExpression 1613864 1613887 + AsExpression 1613865 1613886 + Identifier 1613865 1613869 + TypeReference 1613872 1613886 + Identifier 1613872 1613886 + Identifier 1613888 1613893 + Identifier 1613894 1613905 + TemplateTail 1613905 1613907 + CaseClause 1613908 1613963 + PropertyAccessExpression 1613926 1613962 + Identifier 1613926 1613937 + Identifier 1613938 1613962 + CaseClause 1613963 1614936 + PropertyAccessExpression 1613981 1614016 + Identifier 1613981 1613992 + Identifier 1613993 1614016 + VariableStatement 1614017 1614102 + VariableDeclarationList 1614017 1614101 + VariableDeclaration 1614040 1614101 + Identifier 1614040 1614049 + CallExpression 1614051 1614101 + Identifier 1614051 1614075 + AsExpression 1614076 1614100 + Identifier 1614076 1614080 + TypeReference 1614083 1614100 + Identifier 1614083 1614100 + IfStatement 1614102 1614356 + BinaryExpression 1614124 1614146 + Identifier 1614124 1614132 + ExclamationEqualsEqualsToken 1614132 1614136 + Identifier 1614136 1614146 + Block 1614147 1614356 + VariableStatement 1614149 1614280 + VariableDeclarationList 1614149 1614279 + VariableDeclaration 1614176 1614279 + Identifier 1614176 1614180 + CallExpression 1614182 1614279 + Identifier 1614182 1614198 + PropertyAccessExpression 1614199 1614236 + ParenthesizedExpression 1614199 1614225 + AsExpression 1614200 1614224 + Identifier 1614200 1614204 + TypeReference 1614207 1614224 + Identifier 1614207 1614224 + Identifier 1614226 1614236 + Identifier 1614237 1614250 + Identifier 1614251 1614263 + Identifier 1614264 1614278 + ReturnStatement 1614280 1614337 + BinaryExpression 1614308 1614336 + Identifier 1614308 1614312 + AmpersandAmpersandToken 1614312 1614315 + TemplateExpression 1614315 1614336 + TemplateHead 1614315 1614319 + TemplateSpan 1614319 1614326 + Identifier 1614319 1614322 + TemplateMiddle 1614322 1614326 + TemplateSpan 1614326 1614336 + Identifier 1614326 1614334 + TemplateTail 1614334 1614336 + IfStatement 1614356 1614912 + BinaryExpression 1614378 1614450 + CallExpression 1614378 1614409 + Identifier 1614378 1614403 + Identifier 1614404 1614408 + AmpersandAmpersandToken 1614409 1614412 + CallExpression 1614412 1614450 + Identifier 1614412 1614425 + PropertyAccessExpression 1614426 1614449 + Identifier 1614426 1614430 + Identifier 1614431 1614449 + Block 1614451 1614912 + VariableStatement 1614453 1614533 + VariableDeclarationList 1614453 1614532 + VariableDeclaration 1614480 1614532 + Identifier 1614480 1614487 + CallExpression 1614489 1614532 + Identifier 1614489 1614507 + PropertyAccessExpression 1614508 1614531 + Identifier 1614508 1614512 + Identifier 1614513 1614531 + IfStatement 1614533 1614893 + BinaryExpression 1614559 1614659 + CallExpression 1614559 1614585 + Identifier 1614559 1614577 + Identifier 1614578 1614584 + BarBarToken 1614585 1614588 + BinaryExpression 1614588 1614659 + CallExpression 1614588 1614630 + Identifier 1614588 1614622 + Identifier 1614623 1614629 + AmpersandAmpersandToken 1614630 1614633 + PrefixUnaryExpression 1614633 1614659 + CallExpression 1614635 1614659 + Identifier 1614635 1614651 + Identifier 1614652 1614658 + Block 1614660 1614893 + VariableStatement 1614662 1614797 + VariableDeclarationList 1614662 1614796 + VariableDeclaration 1614693 1614796 + Identifier 1614693 1614697 + CallExpression 1614699 1614796 + Identifier 1614699 1614715 + PropertyAccessExpression 1614716 1614753 + ParenthesizedExpression 1614716 1614742 + AsExpression 1614717 1614741 + Identifier 1614717 1614721 + TypeReference 1614724 1614741 + Identifier 1614724 1614741 + Identifier 1614743 1614753 + Identifier 1614754 1614767 + Identifier 1614768 1614780 + Identifier 1614781 1614795 + ReturnStatement 1614797 1614870 + BinaryExpression 1614829 1614869 + Identifier 1614829 1614833 + AmpersandAmpersandToken 1614833 1614836 + TemplateExpression 1614836 1614869 + TemplateHead 1614836 1614840 + TemplateSpan 1614840 1614848 + Identifier 1614840 1614843 + TemplateMiddle 1614843 1614848 + TemplateSpan 1614848 1614869 + CallExpression 1614848 1614867 + Identifier 1614848 1614859 + Identifier 1614860 1614866 + TemplateTail 1614867 1614869 + BreakStatement 1614912 1614936 + CaseClause 1614936 1614987 + PropertyAccessExpression 1614954 1614986 + Identifier 1614954 1614965 + Identifier 1614966 1614986 + CaseClause 1614987 1615037 + PropertyAccessExpression 1615005 1615036 + Identifier 1615005 1615016 + Identifier 1615017 1615036 + CaseClause 1615037 1615087 + PropertyAccessExpression 1615055 1615086 + Identifier 1615055 1615066 + Identifier 1615067 1615086 + CaseClause 1615087 1615136 + PropertyAccessExpression 1615105 1615135 + Identifier 1615105 1615116 + Identifier 1615117 1615135 + CaseClause 1615136 1615180 + PropertyAccessExpression 1615154 1615179 + Identifier 1615154 1615165 + Identifier 1615166 1615179 + CaseClause 1615180 1615386 + PropertyAccessExpression 1615198 1615227 + Identifier 1615198 1615209 + Identifier 1615210 1615227 + ReturnStatement 1615228 1615386 + TemplateExpression 1615337 1615385 + TemplateHead 1615337 1615341 + TemplateSpan 1615341 1615360 + CallExpression 1615341 1615356 + Identifier 1615341 1615350 + Identifier 1615351 1615355 + TemplateMiddle 1615356 1615360 + TemplateSpan 1615360 1615385 + CallExpression 1615360 1615383 + Identifier 1615360 1615369 + Identifier 1615370 1615382 + TemplateTail 1615383 1615385 + ReturnStatement 1615397 1615424 + Identifier 1615413 1615423 + FunctionDeclaration 1615431 1619331 + Identifier 1615447 1615467 + Parameter 1615468 1615480 + Identifier 1615468 1615474 + TypeReference 1615475 1615480 + Identifier 1615475 1615480 + Parameter 1615481 1615494 + Identifier 1615481 1615488 + TypeReference 1615489 1615494 + Identifier 1615489 1615494 + BooleanKeyword 1615496 1615504 + Block 1615504 1619331 + SwitchStatement 1615506 1616074 + PropertyAccessExpression 1615524 1615535 + Identifier 1615524 1615530 + Identifier 1615531 1615535 + CaseBlock 1615536 1616074 + CaseClause 1615538 1615592 + PropertyAccessExpression 1615556 1615591 + Identifier 1615556 1615567 + Identifier 1615568 1615591 + CaseClause 1615592 1615761 + PropertyAccessExpression 1615610 1615639 + Identifier 1615610 1615621 + Identifier 1615622 1615639 + ReturnStatement 1615640 1615761 + CallExpression 1615664 1615760 + Identifier 1615664 1615684 + Identifier 1615685 1615691 + PropertyAccessExpression 1615692 1615759 + ParenthesizedExpression 1615692 1615748 + AsExpression 1615694 1615747 + Identifier 1615694 1615700 + UnionType 1615703 1615747 + TypeReference 1615703 1615721 + Identifier 1615703 1615721 + TypeReference 1615723 1615747 + Identifier 1615723 1615747 + Identifier 1615749 1615759 + CaseClause 1615761 1616063 + PropertyAccessExpression 1615779 1615807 + Identifier 1615779 1615790 + Identifier 1615791 1615807 + ReturnStatement 1615808 1616063 + BinaryExpression 1615832 1616062 + ParenthesizedExpression 1615832 1615909 + BinaryExpression 1615834 1615908 + CallExpression 1615834 1615864 + Identifier 1615834 1615856 + Identifier 1615857 1615863 + AmpersandAmpersandToken 1615864 1615867 + CallExpression 1615867 1615908 + Identifier 1615867 1615887 + Identifier 1615888 1615894 + PropertyAccessExpression 1615895 1615907 + Identifier 1615895 1615902 + Identifier 1615903 1615907 + BarBarToken 1615909 1615912 + ParenthesizedExpression 1615912 1616062 + BinaryExpression 1615935 1616061 + BinaryExpression 1615935 1616016 + CallExpression 1615935 1615961 + Identifier 1615935 1615953 + Identifier 1615954 1615960 + AmpersandAmpersandToken 1615961 1615964 + BinaryExpression 1615964 1616016 + PropertyAccessExpression 1615964 1615990 + PropertyAccessExpression 1615964 1615985 + Identifier 1615964 1615971 + Identifier 1615972 1615985 + Identifier 1615986 1615990 + EqualsEqualsEqualsToken 1615990 1615994 + PropertyAccessExpression 1615994 1616016 + Identifier 1615994 1616005 + Identifier 1616006 1616016 + AmpersandAmpersandToken 1616016 1616019 + CallExpression 1616019 1616061 + Identifier 1616019 1616039 + Identifier 1616040 1616046 + PropertyAccessExpression 1616047 1616060 + Identifier 1616047 1616054 + Identifier 1616055 1616060 + SwitchStatement 1616074 1619301 + PropertyAccessExpression 1616092 1616103 + Identifier 1616092 1616098 + Identifier 1616099 1616103 + CaseBlock 1616104 1619301 + CaseClause 1616106 1616430 + PropertyAccessExpression 1616124 1616148 + Identifier 1616124 1616135 + Identifier 1616136 1616148 + ReturnStatement 1616149 1616430 + BinaryExpression 1616173 1616429 + BinaryExpression 1616173 1616317 + BinaryExpression 1616173 1616213 + PropertyAccessExpression 1616173 1616185 + Identifier 1616173 1616180 + Identifier 1616181 1616185 + EqualsEqualsEqualsToken 1616185 1616189 + PropertyAccessExpression 1616189 1616213 + Identifier 1616189 1616200 + Identifier 1616201 1616213 + AmpersandAmpersandToken 1616213 1616237 + BinaryExpression 1616237 1616317 + PropertyAccessExpression 1616237 1616275 + ParenthesizedExpression 1616237 1616262 + AsExpression 1616239 1616261 + Identifier 1616239 1616245 + TypeReference 1616248 1616261 + Identifier 1616248 1616261 + Identifier 1616263 1616275 + EqualsEqualsEqualsToken 1616275 1616279 + PropertyAccessExpression 1616279 1616317 + ParenthesizedExpression 1616279 1616304 + AsExpression 1616281 1616303 + Identifier 1616281 1616287 + TypeReference 1616290 1616303 + Identifier 1616290 1616303 + Identifier 1616305 1616317 + AmpersandAmpersandToken 1616317 1616341 + BinaryExpression 1616341 1616429 + PropertyAccessExpression 1616341 1616383 + PropertyAccessExpression 1616341 1616371 + ParenthesizedExpression 1616341 1616366 + AsExpression 1616343 1616365 + Identifier 1616343 1616349 + TypeReference 1616352 1616365 + Identifier 1616352 1616365 + Identifier 1616367 1616371 + Identifier 1616372 1616383 + EqualsEqualsEqualsToken 1616383 1616387 + PropertyAccessExpression 1616387 1616429 + PropertyAccessExpression 1616387 1616417 + ParenthesizedExpression 1616387 1616412 + AsExpression 1616389 1616411 + Identifier 1616389 1616395 + TypeReference 1616398 1616411 + Identifier 1616398 1616411 + Identifier 1616413 1616417 + Identifier 1616418 1616429 + CaseClause 1616430 1616471 + PropertyAccessExpression 1616448 1616470 + Identifier 1616448 1616459 + Identifier 1616460 1616470 + CaseClause 1616471 1617007 + PropertyAccessExpression 1616489 1616518 + Identifier 1616489 1616500 + Identifier 1616501 1616518 + ReturnStatement 1616519 1617007 + ConditionalExpression 1616543 1617006 + CallExpression 1616543 1616569 + Identifier 1616543 1616561 + Identifier 1616562 1616568 + QuestionToken 1616569 1616571 + BinaryExpression 1616571 1616631 + PropertyAccessExpression 1616571 1616604 + Identifier 1616571 1616599 + Identifier 1616600 1616604 + EqualsEqualsEqualsToken 1616604 1616608 + PropertyAccessExpression 1616608 1616631 + Identifier 1616608 1616619 + Identifier 1616620 1616631 + ColonToken 1616631 1616633 + BinaryExpression 1616633 1617006 + BinaryExpression 1616633 1616779 + BinaryExpression 1616633 1616692 + PropertyAccessExpression 1616633 1616666 + Identifier 1616633 1616661 + Identifier 1616662 1616666 + EqualsEqualsEqualsToken 1616666 1616670 + PropertyAccessExpression 1616670 1616692 + Identifier 1616670 1616681 + Identifier 1616682 1616692 + AmpersandAmpersandToken 1616692 1616695 + BinaryExpression 1616695 1616779 + CallExpression 1616695 1616735 + Identifier 1616695 1616713 + AsExpression 1616714 1616734 + Identifier 1616714 1616720 + TypeReference 1616723 1616734 + Identifier 1616723 1616734 + EqualsEqualsEqualsToken 1616735 1616739 + CallExpression 1616739 1616779 + Identifier 1616739 1616757 + AsExpression 1616758 1616778 + Identifier 1616758 1616764 + TypeReference 1616767 1616778 + Identifier 1616767 1616778 + BarBarToken 1616779 1616782 + BinaryExpression 1616782 1617006 + ParenthesizedExpression 1616782 1616863 + BinaryExpression 1616805 1616862 + CallExpression 1616805 1616834 + Identifier 1616805 1616826 + Identifier 1616827 1616833 + BarBarToken 1616834 1616837 + CallExpression 1616837 1616862 + Identifier 1616837 1616854 + Identifier 1616855 1616861 + AmpersandAmpersandToken 1616863 1616866 + BinaryExpression 1616866 1617006 + CallExpression 1616866 1616971 + Identifier 1616866 1616930 + CallExpression 1616931 1616970 + Identifier 1616931 1616948 + AsExpression 1616949 1616969 + Identifier 1616949 1616955 + TypeReference 1616958 1616969 + Identifier 1616958 1616969 + EqualsEqualsEqualsToken 1616971 1616975 + CallExpression 1616975 1617006 + Identifier 1616975 1616998 + Identifier 1616999 1617005 + CaseClause 1617007 1617113 + PropertyAccessExpression 1617025 1617048 + Identifier 1617025 1617036 + Identifier 1617037 1617048 + ReturnStatement 1617049 1617113 + BinaryExpression 1617073 1617112 + PropertyAccessExpression 1617073 1617085 + Identifier 1617073 1617080 + Identifier 1617081 1617085 + EqualsEqualsEqualsToken 1617085 1617089 + PropertyAccessExpression 1617089 1617112 + Identifier 1617089 1617100 + Identifier 1617101 1617112 + CaseClause 1617113 1617221 + PropertyAccessExpression 1617131 1617155 + Identifier 1617131 1617142 + Identifier 1617143 1617155 + ReturnStatement 1617156 1617221 + BinaryExpression 1617180 1617220 + PropertyAccessExpression 1617180 1617192 + Identifier 1617180 1617187 + Identifier 1617188 1617192 + EqualsEqualsEqualsToken 1617192 1617196 + PropertyAccessExpression 1617196 1617220 + Identifier 1617196 1617207 + Identifier 1617208 1617220 + CaseClause 1617221 1617269 + PropertyAccessExpression 1617239 1617268 + Identifier 1617239 1617250 + Identifier 1617251 1617268 + CaseClause 1617269 1617323 + PropertyAccessExpression 1617287 1617322 + Identifier 1617287 1617298 + Identifier 1617299 1617322 + CaseClause 1617323 1617516 + PropertyAccessExpression 1617341 1617372 + Identifier 1617341 1617352 + Identifier 1617353 1617372 + ReturnStatement 1617373 1617516 + CallExpression 1617397 1617515 + Identifier 1617397 1617417 + PropertyAccessExpression 1617418 1617506 + ParenthesizedExpression 1617418 1617495 + AsExpression 1617419 1617494 + Identifier 1617419 1617425 + UnionType 1617428 1617494 + TypeReference 1617428 1617446 + Identifier 1617428 1617446 + TypeReference 1617448 1617472 + Identifier 1617448 1617472 + TypeReference 1617474 1617494 + Identifier 1617474 1617494 + Identifier 1617496 1617506 + Identifier 1617507 1617514 + CaseClause 1617516 1617571 + PropertyAccessExpression 1617534 1617570 + Identifier 1617534 1617545 + Identifier 1617546 1617570 + CaseClause 1617571 1618794 + PropertyAccessExpression 1617589 1617624 + Identifier 1617589 1617600 + Identifier 1617601 1617624 + VariableStatement 1617625 1617722 + VariableDeclarationList 1617625 1617721 + VariableDeclaration 1617648 1617721 + Identifier 1617648 1617667 + CallExpression 1617669 1617721 + Identifier 1617669 1617693 + AsExpression 1617694 1617720 + Identifier 1617694 1617700 + TypeReference 1617703 1617720 + Identifier 1617703 1617720 + IfStatement 1617722 1618184 + BinaryExpression 1617744 1617776 + Identifier 1617744 1617762 + ExclamationEqualsEqualsToken 1617762 1617766 + Identifier 1617766 1617776 + Block 1617777 1618184 + VariableStatement 1617779 1617901 + VariableDeclarationList 1617779 1617900 + VariableDeclaration 1617806 1617900 + Identifier 1617806 1617825 + ConditionalExpression 1617827 1617900 + CallExpression 1617827 1617854 + Identifier 1617827 1617846 + Identifier 1617847 1617853 + QuestionToken 1617854 1617856 + CallExpression 1617856 1617888 + Identifier 1617856 1617880 + Identifier 1617881 1617887 + ColonToken 1617888 1617890 + Identifier 1617890 1617900 + IfStatement 1617901 1618165 + BinaryExpression 1617927 1617959 + Identifier 1617927 1617945 + ExclamationEqualsEqualsToken 1617945 1617949 + Identifier 1617949 1617959 + Block 1617960 1618165 + ReturnStatement 1617962 1618142 + BinaryExpression 1617994 1618141 + BinaryExpression 1617994 1618036 + Identifier 1617994 1618013 + EqualsEqualsEqualsToken 1618013 1618017 + Identifier 1618017 1618036 + AmpersandAmpersandToken 1618036 1618039 + CallExpression 1618039 1618141 + Identifier 1618039 1618059 + PropertyAccessExpression 1618060 1618099 + ParenthesizedExpression 1618060 1618088 + AsExpression 1618061 1618087 + Identifier 1618061 1618067 + TypeReference 1618070 1618087 + Identifier 1618070 1618087 + Identifier 1618089 1618099 + PropertyAccessExpression 1618100 1618140 + ParenthesizedExpression 1618100 1618129 + AsExpression 1618102 1618128 + Identifier 1618102 1618108 + TypeReference 1618111 1618128 + Identifier 1618111 1618128 + Identifier 1618130 1618140 + IfStatement 1618184 1618770 + BinaryExpression 1618206 1618362 + BinaryExpression 1618206 1618319 + BinaryExpression 1618206 1618276 + CallExpression 1618206 1618239 + Identifier 1618206 1618231 + Identifier 1618232 1618238 + AmpersandAmpersandToken 1618239 1618242 + CallExpression 1618242 1618276 + Identifier 1618242 1618268 + Identifier 1618269 1618275 + AmpersandAmpersandToken 1618276 1618279 + CallExpression 1618279 1618319 + Identifier 1618279 1618292 + PropertyAccessExpression 1618293 1618318 + Identifier 1618293 1618299 + Identifier 1618300 1618318 + AmpersandAmpersandToken 1618319 1618322 + CallExpression 1618322 1618362 + Identifier 1618322 1618335 + PropertyAccessExpression 1618336 1618361 + Identifier 1618336 1618342 + Identifier 1618343 1618361 + Block 1618363 1618770 + VariableStatement 1618365 1618447 + VariableDeclarationList 1618365 1618446 + VariableDeclaration 1618392 1618446 + Identifier 1618392 1618399 + CallExpression 1618401 1618446 + Identifier 1618401 1618419 + PropertyAccessExpression 1618420 1618445 + Identifier 1618420 1618426 + Identifier 1618427 1618445 + IfStatement 1618447 1618751 + BinaryExpression 1618473 1618634 + BinaryExpression 1618473 1618528 + Identifier 1618473 1618479 + EqualsEqualsEqualsToken 1618479 1618483 + CallExpression 1618483 1618528 + Identifier 1618483 1618501 + PropertyAccessExpression 1618502 1618527 + Identifier 1618502 1618508 + Identifier 1618509 1618527 + AmpersandAmpersandToken 1618528 1618531 + ParenthesizedExpression 1618531 1618634 + BinaryExpression 1618533 1618633 + CallExpression 1618533 1618559 + Identifier 1618533 1618551 + Identifier 1618552 1618558 + BarBarToken 1618559 1618562 + BinaryExpression 1618562 1618633 + CallExpression 1618562 1618604 + Identifier 1618562 1618596 + Identifier 1618597 1618603 + AmpersandAmpersandToken 1618604 1618607 + PrefixUnaryExpression 1618607 1618633 + CallExpression 1618609 1618633 + Identifier 1618609 1618625 + Identifier 1618626 1618632 + Block 1618635 1618751 + ReturnStatement 1618637 1618728 + CallExpression 1618669 1618727 + Identifier 1618669 1618689 + PropertyAccessExpression 1618690 1618707 + Identifier 1618690 1618696 + Identifier 1618697 1618707 + PropertyAccessExpression 1618708 1618726 + Identifier 1618708 1618715 + Identifier 1618716 1618726 + BreakStatement 1618770 1618794 + CaseClause 1618794 1619089 + PropertyAccessExpression 1618812 1618837 + Identifier 1618812 1618823 + Identifier 1618824 1618837 + ReturnStatement 1618838 1619089 + BinaryExpression 1618862 1619088 + BinaryExpression 1618862 1618993 + CallExpression 1618862 1618889 + Identifier 1618862 1618881 + Identifier 1618882 1618888 + AmpersandAmpersandToken 1618889 1618892 + BinaryExpression 1618892 1618993 + PropertyAccessExpression 1618892 1618957 + PropertyAccessExpression 1618892 1618945 + ParenthesizedExpression 1618892 1618939 + AsExpression 1618915 1618938 + Identifier 1618915 1618921 + TypeReference 1618924 1618938 + Identifier 1618924 1618938 + Identifier 1618940 1618945 + Identifier 1618946 1618957 + EqualsEqualsEqualsToken 1618957 1618961 + CallExpression 1618961 1618993 + Identifier 1618961 1618985 + Identifier 1618986 1618992 + AmpersandAmpersandToken 1618993 1618996 + CallExpression 1618996 1619088 + Identifier 1618996 1619037 + PropertyAccessExpression 1619038 1619068 + ParenthesizedExpression 1619038 1619063 + AsExpression 1619039 1619062 + Identifier 1619039 1619045 + TypeReference 1619048 1619062 + Identifier 1619048 1619062 + Identifier 1619064 1619068 + PropertyAccessExpression 1619069 1619087 + Identifier 1619069 1619076 + Identifier 1619077 1619087 + CaseClause 1619089 1619290 + PropertyAccessExpression 1619107 1619135 + Identifier 1619107 1619118 + Identifier 1619119 1619135 + ReturnStatement 1619136 1619290 + ParenthesizedExpression 1619160 1619289 + BinaryExpression 1619162 1619288 + BinaryExpression 1619162 1619243 + CallExpression 1619162 1619188 + Identifier 1619162 1619180 + Identifier 1619181 1619187 + AmpersandAmpersandToken 1619188 1619191 + BinaryExpression 1619191 1619243 + PropertyAccessExpression 1619191 1619217 + PropertyAccessExpression 1619191 1619212 + Identifier 1619191 1619198 + Identifier 1619199 1619212 + Identifier 1619213 1619217 + EqualsEqualsEqualsToken 1619217 1619221 + PropertyAccessExpression 1619221 1619243 + Identifier 1619221 1619232 + Identifier 1619233 1619243 + AmpersandAmpersandToken 1619243 1619246 + CallExpression 1619246 1619288 + Identifier 1619246 1619266 + PropertyAccessExpression 1619267 1619279 + Identifier 1619267 1619273 + Identifier 1619274 1619279 + Identifier 1619280 1619287 + ReturnStatement 1619301 1619324 + FalseKeyword 1619317 1619323 + FunctionDeclaration 1619331 1620041 + Identifier 1619347 1619371 + Parameter 1619372 1619436 + Identifier 1619372 1619378 + UnionType 1619379 1619436 + TypeReference 1619379 1619396 + Identifier 1619379 1619396 + TypeReference 1619398 1619413 + Identifier 1619398 1619413 + TypeReference 1619415 1619436 + Identifier 1619415 1619436 + UnionType 1619438 1619459 + TypeReference 1619438 1619447 + Identifier 1619438 1619447 + UndefinedKeyword 1619449 1619459 + Block 1619459 1620041 + IfStatement 1619461 1619568 + CallExpression 1619475 1619509 + Identifier 1619475 1619501 + Identifier 1619502 1619508 + Block 1619510 1619568 + ReturnStatement 1619512 1619557 + PropertyAccessExpression 1619532 1619556 + PropertyAccessExpression 1619532 1619544 + Identifier 1619532 1619539 + Identifier 1619540 1619544 + Identifier 1619545 1619556 + IfStatement 1619568 1619692 + CallExpression 1619582 1619615 + Identifier 1619582 1619607 + Identifier 1619608 1619614 + Block 1619616 1619692 + ReturnStatement 1619618 1619681 + CallExpression 1619638 1619680 + Identifier 1619638 1619672 + Identifier 1619673 1619679 + IfStatement 1619692 1619879 + CallExpression 1619706 1619730 + Identifier 1619706 1619722 + Identifier 1619723 1619729 + Block 1619731 1619879 + VariableStatement 1619733 1619797 + VariableDeclarationList 1619733 1619796 + VariableDeclaration 1619752 1619796 + Identifier 1619752 1619757 + CallExpression 1619759 1619796 + Identifier 1619759 1619788 + Identifier 1619789 1619795 + ReturnStatement 1619797 1619868 + ConditionalExpression 1619817 1619867 + Identifier 1619817 1619822 + QuestionToken 1619822 1619824 + CallExpression 1619824 1619855 + Identifier 1619824 1619849 + Identifier 1619850 1619854 + ColonToken 1619855 1619857 + Identifier 1619857 1619867 + IfStatement 1619879 1620007 + CallExpression 1619893 1619912 + Identifier 1619893 1619904 + Identifier 1619905 1619911 + Block 1619913 1620007 + ReturnStatement 1619915 1619996 + AsExpression 1619935 1619995 + ParenthesizedExpression 1619935 1619983 + BinaryExpression 1619937 1619982 + StringLiteral 1619937 1619939 + PlusToken 1619939 1619941 + CallExpression 1619941 1619982 + PropertyAccessExpression 1619941 1619974 + PropertyAccessExpression 1619941 1619966 + PropertyAccessExpression 1619941 1619955 + Identifier 1619941 1619948 + Identifier 1619949 1619955 + Identifier 1619956 1619966 + Identifier 1619967 1619974 + Identifier 1619975 1619981 + TypeReference 1619986 1619995 + Identifier 1619986 1619995 + ReturnStatement 1620007 1620034 + Identifier 1620023 1620033 + FunctionDeclaration 1620041 1620354 + Identifier 1620057 1620076 + Parameter 1620077 1620087 + Identifier 1620077 1620081 + TypeReference 1620082 1620087 + Identifier 1620082 1620087 + Block 1620088 1620354 + ReturnStatement 1620090 1620347 + ConditionalExpression 1620106 1620346 + BinaryExpression 1620106 1620144 + PropertyAccessExpression 1620106 1620117 + Identifier 1620106 1620111 + Identifier 1620112 1620117 + AmpersandToken 1620117 1620119 + PropertyAccessExpression 1620119 1620144 + Identifier 1620119 1620129 + Identifier 1620130 1620144 + QuestionToken 1620144 1620146 + PropertyAccessExpression 1620146 1620187 + ParenthesizedExpression 1620146 1620175 + AsExpression 1620148 1620174 + Identifier 1620148 1620152 + TypeReference 1620155 1620174 + Identifier 1620155 1620174 + Identifier 1620176 1620187 + ColonToken 1620187 1620189 + ConditionalExpression 1620189 1620346 + BinaryExpression 1620189 1620247 + PropertyAccessExpression 1620189 1620213 + Identifier 1620189 1620207 + Identifier 1620208 1620213 + AmpersandToken 1620213 1620215 + PropertyAccessExpression 1620215 1620247 + Identifier 1620215 1620225 + Identifier 1620226 1620247 + QuestionToken 1620247 1620249 + CallExpression 1620249 1620334 + Identifier 1620249 1620274 + BinaryExpression 1620275 1620333 + StringLiteral 1620275 1620277 + PlusToken 1620277 1620279 + PropertyAccessExpression 1620279 1620333 + ParenthesizedExpression 1620279 1620327 + AsExpression 1620281 1620326 + Identifier 1620281 1620285 + UnionType 1620288 1620326 + TypeReference 1620288 1620306 + Identifier 1620288 1620306 + TypeReference 1620308 1620326 + Identifier 1620308 1620326 + Identifier 1620328 1620333 + ColonToken 1620334 1620336 + Identifier 1620336 1620346 + FunctionDeclaration 1620354 1620709 + Identifier 1620370 1620404 + Parameter 1620405 1620434 + Identifier 1620405 1620409 + TypeReference 1620410 1620434 + Identifier 1620410 1620434 + Block 1620435 1620709 + ReturnStatement 1620437 1620702 + ConditionalExpression 1620453 1620701 + CallExpression 1620453 1620507 + Identifier 1620453 1620482 + PropertyAccessExpression 1620483 1620506 + Identifier 1620483 1620487 + Identifier 1620488 1620506 + QuestionToken 1620507 1620509 + CallExpression 1620509 1620564 + Identifier 1620509 1620534 + PropertyAccessExpression 1620535 1620563 + PropertyAccessExpression 1620535 1620558 + Identifier 1620535 1620539 + Identifier 1620540 1620558 + Identifier 1620559 1620563 + ColonToken 1620564 1620566 + ConditionalExpression 1620566 1620701 + CallExpression 1620566 1620627 + Identifier 1620566 1620602 + PropertyAccessExpression 1620603 1620626 + Identifier 1620603 1620607 + Identifier 1620608 1620626 + QuestionToken 1620627 1620629 + CallExpression 1620629 1620689 + Identifier 1620629 1620664 + PropertyAccessExpression 1620665 1620688 + Identifier 1620665 1620669 + Identifier 1620670 1620688 + ColonToken 1620689 1620691 + Identifier 1620691 1620701 + FunctionDeclaration 1620709 1622017 + Identifier 1620725 1620760 + Parameter 1620761 1620799 + Identifier 1620761 1620765 + TypeReference 1620766 1620799 + Identifier 1620766 1620799 + Block 1620800 1622017 + VariableStatement 1620802 1620893 + VariableDeclarationList 1620802 1620892 + VariableDeclaration 1620817 1620892 + Identifier 1620817 1620824 + CallExpression 1620826 1620892 + Identifier 1620826 1620844 + Identifier 1620845 1620849 + PropertyAccessExpression 1620850 1620868 + Identifier 1620850 1620862 + Identifier 1620863 1620868 + TrueKeyword 1620869 1620891 + IfStatement 1620893 1621009 + BinaryExpression 1620907 1620990 + PrefixUnaryExpression 1620907 1620914 + Identifier 1620908 1620914 + BarBarToken 1620914 1620917 + PrefixUnaryExpression 1620917 1620990 + ParenthesizedExpression 1620919 1620990 + BinaryExpression 1620920 1620989 + CallExpression 1620920 1620946 + Identifier 1620920 1620938 + Identifier 1620939 1620945 + BarBarToken 1620946 1620949 + ParenthesizedExpression 1620949 1620989 + BinaryExpression 1620951 1620988 + PropertyAccessExpression 1620951 1620963 + Identifier 1620951 1620957 + Identifier 1620958 1620963 + AmpersandToken 1620963 1620965 + PropertyAccessExpression 1620965 1620988 + Identifier 1620965 1620977 + Identifier 1620978 1620988 + ReturnStatement 1620991 1621009 + Identifier 1620998 1621008 + VariableStatement 1621009 1621065 + VariableDeclarationList 1621009 1621064 + VariableDeclaration 1621026 1621064 + Identifier 1621026 1621038 + PropertyAccessExpression 1621040 1621064 + Identifier 1621040 1621047 + Identifier 1621048 1621064 + IfStatement 1621065 1621123 + BinaryExpression 1621079 1621104 + Identifier 1621079 1621090 + EqualsEqualsEqualsToken 1621090 1621094 + Identifier 1621094 1621104 + ReturnStatement 1621105 1621123 + Identifier 1621112 1621122 + VariableStatement 1621123 1621193 + VariableDeclarationList 1621123 1621192 + VariableDeclaration 1621140 1621192 + Identifier 1621140 1621145 + CallExpression 1621147 1621192 + Identifier 1621147 1621179 + Identifier 1621180 1621191 + IfStatement 1621193 1621361 + Identifier 1621207 1621211 + Block 1621212 1621361 + VariableStatement 1621214 1621266 + VariableDeclarationList 1621214 1621265 + VariableDeclaration 1621233 1621265 + Identifier 1621233 1621238 + CallExpression 1621240 1621265 + Identifier 1621240 1621259 + Identifier 1621260 1621264 + IfStatement 1621266 1621350 + BinaryExpression 1621284 1621302 + Identifier 1621284 1621288 + ExclamationEqualsEqualsToken 1621288 1621292 + Identifier 1621292 1621302 + Block 1621303 1621350 + ReturnStatement 1621305 1621335 + Identifier 1621329 1621334 + IfStatement 1621361 1621983 + BinaryExpression 1621375 1621473 + CallExpression 1621375 1621416 + Identifier 1621375 1621403 + Identifier 1621404 1621415 + AmpersandAmpersandToken 1621416 1621419 + CallExpression 1621419 1621473 + Identifier 1621419 1621454 + Identifier 1621455 1621466 + Identifier 1621467 1621472 + Block 1621474 1621983 + VariableStatement 1621476 1621547 + VariableDeclarationList 1621476 1621546 + VariableDeclaration 1621495 1621546 + Identifier 1621495 1621507 + CallExpression 1621509 1621546 + Identifier 1621509 1621533 + Identifier 1621534 1621545 + IfStatement 1621547 1621846 + Identifier 1621565 1621576 + Block 1621577 1621846 + VariableStatement 1621579 1621751 + VariableDeclarationList 1621579 1621750 + VariableDeclaration 1621602 1621750 + Identifier 1621602 1621618 + ConditionalExpression 1621620 1621750 + CallExpression 1621620 1621657 + Identifier 1621620 1621637 + PropertyAccessExpression 1621638 1621656 + Identifier 1621638 1621649 + Identifier 1621650 1621656 + QuestionToken 1621657 1621659 + CallExpression 1621659 1621715 + Identifier 1621659 1621684 + AsExpression 1621685 1621714 + Identifier 1621685 1621696 + TypeReference 1621699 1621714 + Identifier 1621699 1621714 + ColonToken 1621715 1621717 + CallExpression 1621717 1621750 + Identifier 1621717 1621737 + Identifier 1621738 1621749 + ReturnStatement 1621751 1621831 + BinaryExpression 1621775 1621830 + Identifier 1621775 1621791 + AmpersandAmpersandToken 1621791 1621794 + CallExpression 1621794 1621830 + Identifier 1621794 1621813 + Identifier 1621814 1621829 + IfStatement 1621846 1621972 + CallExpression 1621864 1621889 + Identifier 1621864 1621876 + Identifier 1621877 1621888 + Block 1621890 1621972 + ReturnStatement 1621892 1621957 + CallExpression 1621916 1621956 + Identifier 1621916 1621938 + PropertyAccessExpression 1621939 1621955 + Identifier 1621939 1621950 + Identifier 1621951 1621955 + ReturnStatement 1621983 1622010 + Identifier 1621999 1622009 + FunctionDeclaration 1622017 1622318 + Identifier 1622033 1622059 + Parameter 1622060 1622072 + Identifier 1622060 1622066 + TypeReference 1622067 1622072 + Identifier 1622067 1622072 + Parameter 1622073 1622086 + Identifier 1622073 1622080 + TypeReference 1622081 1622086 + Identifier 1622081 1622086 + Block 1622087 1622318 + WhileStatement 1622089 1622288 + CallExpression 1622106 1622132 + Identifier 1622106 1622124 + Identifier 1622125 1622131 + Block 1622133 1622288 + ExpressionStatement 1622135 1622176 + BinaryExpression 1622135 1622175 + Identifier 1622135 1622155 + EqualsToken 1622155 1622157 + PropertyAccessExpression 1622157 1622175 + Identifier 1622157 1622164 + Identifier 1622165 1622175 + IfStatement 1622176 1622277 + CallExpression 1622194 1622229 + Identifier 1622194 1622213 + Identifier 1622214 1622220 + Identifier 1622221 1622228 + Block 1622230 1622277 + ReturnStatement 1622232 1622262 + TrueKeyword 1622256 1622261 + ReturnStatement 1622288 1622311 + FalseKeyword 1622304 1622310 + FunctionDeclaration 1622318 1622621 + Identifier 1622334 1622365 + Parameter 1622366 1622378 + Identifier 1622366 1622372 + TypeReference 1622373 1622378 + Identifier 1622373 1622378 + Parameter 1622379 1622392 + Identifier 1622379 1622386 + TypeReference 1622387 1622392 + Identifier 1622387 1622392 + Block 1622393 1622621 + WhileStatement 1622395 1622591 + CallExpression 1622412 1622435 + Identifier 1622412 1622427 + Identifier 1622428 1622434 + Block 1622436 1622591 + ExpressionStatement 1622438 1622479 + BinaryExpression 1622438 1622478 + Identifier 1622438 1622458 + EqualsToken 1622458 1622460 + PropertyAccessExpression 1622460 1622478 + Identifier 1622460 1622467 + Identifier 1622468 1622478 + IfStatement 1622479 1622580 + CallExpression 1622497 1622532 + Identifier 1622497 1622516 + Identifier 1622517 1622523 + Identifier 1622524 1622531 + Block 1622533 1622580 + ReturnStatement 1622535 1622565 + TrueKeyword 1622559 1622564 + ReturnStatement 1622591 1622614 + FalseKeyword 1622607 1622613 + FunctionDeclaration 1622621 1623544 + Identifier 1622637 1622660 + Parameter 1622661 1622683 + Identifier 1622661 1622665 + UnionType 1622666 1622683 + TypeReference 1622666 1622671 + Identifier 1622666 1622671 + UndefinedKeyword 1622673 1622683 + Parameter 1622684 1622699 + Identifier 1622684 1622689 + TypeReference 1622690 1622699 + Identifier 1622690 1622699 + Block 1622700 1623544 + IfStatement 1622702 1623514 + BinaryExpression 1622716 1622752 + Identifier 1622716 1622720 + AmpersandAmpersandToken 1622720 1622723 + BinaryExpression 1622723 1622752 + PropertyAccessExpression 1622723 1622734 + Identifier 1622723 1622728 + Identifier 1622729 1622734 + AmpersandToken 1622734 1622736 + PropertyAccessExpression 1622736 1622752 + Identifier 1622736 1622746 + Identifier 1622747 1622752 + Block 1622753 1623514 + VariableStatement 1622755 1622838 + VariableDeclarationList 1622755 1622837 + VariableDeclaration 1622774 1622837 + Identifier 1622774 1622779 + CallExpression 1622781 1622837 + Identifier 1622781 1622812 + AsExpression 1622813 1622830 + Identifier 1622813 1622817 + TypeReference 1622820 1622830 + Identifier 1622820 1622830 + Identifier 1622831 1622836 + IfStatement 1622838 1623503 + BinaryExpression 1622856 1622914 + Identifier 1622856 1622860 + AmpersandAmpersandToken 1622860 1622863 + BinaryExpression 1622863 1622914 + CallExpression 1622863 1622883 + Identifier 1622863 1622877 + Identifier 1622878 1622882 + AmpersandToken 1622883 1622885 + PropertyAccessExpression 1622885 1622914 + Identifier 1622885 1622896 + Identifier 1622897 1622914 + Block 1622915 1623503 + IfStatement 1622917 1623406 + BinaryExpression 1623072 1623140 + PropertyAccessExpression 1623072 1623126 + PropertyAccessExpression 1623072 1623103 + ParenthesizedExpression 1623072 1623097 + AsExpression 1623073 1623096 + Identifier 1623073 1623077 + TypeReference 1623080 1623096 + Identifier 1623080 1623096 + Identifier 1623098 1623103 + Identifier 1623104 1623126 + EqualsEqualsEqualsToken 1623126 1623130 + Identifier 1623130 1623140 + Block 1623141 1623406 + ExpressionStatement 1623143 1623387 + BinaryExpression 1623143 1623386 + PropertyAccessExpression 1623143 1623219 + PropertyAccessExpression 1623143 1623196 + ParenthesizedExpression 1623143 1623190 + AsExpression 1623166 1623189 + Identifier 1623166 1623170 + TypeReference 1623173 1623189 + Identifier 1623173 1623189 + Identifier 1623191 1623196 + Identifier 1623197 1623219 + EqualsToken 1623219 1623221 + BinaryExpression 1623221 1623386 + BinaryExpression 1623221 1623320 + ParenthesizedExpression 1623221 1623292 + BinaryExpression 1623223 1623291 + PropertyAccessExpression 1623223 1623265 + PropertyAccessExpression 1623223 1623254 + ParenthesizedExpression 1623223 1623248 + AsExpression 1623224 1623247 + Identifier 1623224 1623228 + TypeReference 1623231 1623247 + Identifier 1623231 1623247 + Identifier 1623249 1623254 + Identifier 1623255 1623265 + AmpersandToken 1623265 1623267 + PropertyAccessExpression 1623267 1623291 + Identifier 1623267 1623278 + Identifier 1623279 1623291 + EqualsEqualsEqualsToken 1623292 1623296 + PropertyAccessExpression 1623296 1623320 + Identifier 1623296 1623307 + Identifier 1623308 1623320 + AmpersandAmpersandToken 1623320 1623323 + PrefixUnaryExpression 1623323 1623386 + CallExpression 1623350 1623386 + Identifier 1623350 1623363 + CallExpression 1623364 1623385 + Identifier 1623364 1623379 + Identifier 1623380 1623384 + ReturnStatement 1623406 1623488 + PrefixUnaryExpression 1623430 1623487 + PrefixUnaryExpression 1623432 1623487 + PropertyAccessExpression 1623433 1623487 + PropertyAccessExpression 1623433 1623464 + ParenthesizedExpression 1623433 1623458 + AsExpression 1623434 1623457 + Identifier 1623434 1623438 + TypeReference 1623441 1623457 + Identifier 1623441 1623457 + Identifier 1623459 1623464 + Identifier 1623465 1623487 + ReturnStatement 1623514 1623537 + FalseKeyword 1623530 1623536 + FunctionDeclaration 1623544 1624065 + Identifier 1623560 1623587 + Parameter 1623588 1623614 + Identifier 1623588 1623604 + ArrayType 1623605 1623614 + TypeReference 1623605 1623612 + Identifier 1623605 1623612 + Parameter 1623615 1623628 + Identifier 1623615 1623622 + TypeReference 1623623 1623628 + Identifier 1623623 1623628 + UnionType 1623630 1623651 + ArrayType 1623630 1623639 + TypeReference 1623630 1623637 + Identifier 1623630 1623637 + UndefinedKeyword 1623641 1623651 + Block 1623651 1624065 + VariableStatement 1623653 1623696 + VariableDeclarationList 1623653 1623695 + VariableDeclaration 1623666 1623695 + Identifier 1623666 1623673 + UnionType 1623674 1623695 + ArrayType 1623674 1623683 + TypeReference 1623674 1623681 + Identifier 1623674 1623681 + UndefinedKeyword 1623685 1623695 + ForOfStatement 1623696 1624034 + VariableDeclarationList 1623711 1623731 + VariableDeclaration 1623716 1623731 + Identifier 1623716 1623731 + Identifier 1623734 1623751 + Block 1623752 1624034 + IfStatement 1623754 1624023 + CallExpression 1623772 1623830 + Identifier 1623772 1623794 + Identifier 1623795 1623801 + PropertyAccessExpression 1623802 1623829 + Identifier 1623802 1623817 + Identifier 1623818 1623829 + Block 1623831 1624023 + IfStatement 1623833 1623964 + Identifier 1623855 1623861 + Block 1623862 1623964 + ExpressionStatement 1623864 1623914 + CallExpression 1623864 1623913 + PropertyAccessExpression 1623864 1623897 + Identifier 1623864 1623892 + Identifier 1623893 1623897 + Identifier 1623898 1623912 + ContinueStatement 1623914 1623945 + ExpressionStatement 1623964 1624008 + BinaryExpression 1623964 1624007 + Identifier 1623964 1623988 + EqualsToken 1623988 1623990 + ArrayLiteralExpression 1623990 1624007 + Identifier 1623992 1624006 + ReturnStatement 1624034 1624058 + Identifier 1624050 1624057 + FunctionDeclaration 1624065 1625720 + Identifier 1624470 1624492 + Parameter 1624493 1624506 + Identifier 1624493 1624498 + ArrayType 1624499 1624506 + TypeReference 1624499 1624504 + Identifier 1624499 1624504 + Parameter 1624507 1624522 + Identifier 1624507 1624512 + TypeReference 1624513 1624522 + Identifier 1624513 1624522 + Block 1624523 1625720 + VariableStatement 1624525 1624571 + VariableDeclarationList 1624525 1624570 + VariableDeclaration 1624540 1624570 + Identifier 1624540 1624544 + NewExpression 1624546 1624570 + Identifier 1624550 1624554 + TypeReference 1624555 1624561 + Identifier 1624555 1624561 + TypeReference 1624562 1624567 + Identifier 1624562 1624567 + VariableStatement 1624571 1624595 + VariableDeclarationList 1624571 1624594 + VariableDeclaration 1624584 1624594 + Identifier 1624584 1624590 + NumericLiteral 1624592 1624594 + ForOfStatement 1624595 1625637 + VariableDeclarationList 1624610 1624620 + VariableDeclaration 1624615 1624620 + Identifier 1624615 1624620 + Identifier 1624623 1624629 + Block 1624630 1625637 + IfStatement 1624632 1625626 + BinaryExpression 1624650 1624743 + PropertyAccessExpression 1624650 1624660 + Identifier 1624650 1624654 + Identifier 1624655 1624660 + AmpersandToken 1624660 1624662 + ParenthesizedExpression 1624662 1624743 + BinaryExpression 1624664 1624742 + BinaryExpression 1624664 1624705 + PropertyAccessExpression 1624664 1624680 + Identifier 1624664 1624673 + Identifier 1624674 1624680 + BarToken 1624680 1624682 + PropertyAccessExpression 1624682 1624705 + Identifier 1624682 1624692 + Identifier 1624693 1624705 + BarToken 1624705 1624707 + PropertyAccessExpression 1624707 1624742 + Identifier 1624707 1624717 + Identifier 1624718 1624742 + Block 1624744 1625626 + VariableStatement 1624746 1624821 + VariableDeclarationList 1624746 1624820 + VariableDeclaration 1624769 1624820 + Identifier 1624769 1624782 + CallExpression 1624784 1624820 + Identifier 1624784 1624808 + Identifier 1624809 1624813 + Identifier 1624814 1624819 + IfStatement 1624821 1625611 + Identifier 1624843 1624855 + Block 1624856 1625611 + IfStatement 1624858 1624981 + PrefixUnaryExpression 1624884 1624912 + CallExpression 1624885 1624912 + Identifier 1624885 1624898 + Identifier 1624899 1624911 + Block 1624913 1624981 + ReturnStatement 1624915 1624958 + Identifier 1624947 1624957 + VariableStatement 1624981 1625025 + VariableDeclarationList 1624981 1625024 + VariableDeclaration 1625006 1625024 + Identifier 1625006 1625016 + FalseKeyword 1625018 1625024 + ExpressionStatement 1625025 1625546 + CallExpression 1625025 1625545 + Identifier 1625025 1625058 + Identifier 1625059 1625071 + ArrowFunction 1625072 1625544 + Parameter 1625072 1625074 + Identifier 1625072 1625074 + EqualsGreaterThanToken 1625074 1625077 + Block 1625077 1625544 + VariableStatement 1625079 1625158 + VariableDeclarationList 1625079 1625157 + VariableDeclaration 1625110 1625157 + Identifier 1625110 1625113 + CallExpression 1625115 1625157 + Identifier 1625115 1625125 + CallExpression 1625126 1625156 + Identifier 1625126 1625153 + Identifier 1625154 1625155 + VariableStatement 1625158 1625213 + VariableDeclarationList 1625158 1625212 + VariableDeclaration 1625189 1625212 + Identifier 1625189 1625198 + CallExpression 1625200 1625212 + PropertyAccessExpression 1625200 1625208 + Identifier 1625200 1625204 + Identifier 1625205 1625208 + Identifier 1625209 1625211 + IfStatement 1625213 1625521 + PrefixUnaryExpression 1625243 1625252 + Identifier 1625244 1625252 + Block 1625253 1625330 + ExpressionStatement 1625255 1625303 + CallExpression 1625255 1625302 + PropertyAccessExpression 1625255 1625292 + Identifier 1625255 1625288 + Identifier 1625289 1625292 + Identifier 1625293 1625295 + Identifier 1625296 1625301 + IfStatement 1625360 1625521 + BinaryExpression 1625365 1625389 + Identifier 1625365 1625373 + ExclamationEqualsEqualsToken 1625373 1625377 + Identifier 1625377 1625389 + Block 1625390 1625521 + ExpressionStatement 1625392 1625447 + CallExpression 1625392 1625446 + PropertyAccessExpression 1625392 1625429 + Identifier 1625392 1625425 + Identifier 1625426 1625429 + Identifier 1625430 1625432 + Identifier 1625433 1625445 + ExpressionStatement 1625447 1625494 + BinaryExpression 1625447 1625493 + Identifier 1625447 1625486 + EqualsToken 1625486 1625488 + TrueKeyword 1625488 1625493 + IfStatement 1625546 1625592 + PrefixUnaryExpression 1625572 1625582 + Identifier 1625573 1625582 + ExpressionStatement 1625583 1625592 + PostfixUnaryExpression 1625583 1625591 + Identifier 1625583 1625589 + ReturnStatement 1625637 1625713 + ConditionalExpression 1625653 1625712 + BinaryExpression 1625653 1625694 + BinaryExpression 1625653 1625665 + Identifier 1625653 1625659 + GreaterThanEqualsToken 1625659 1625662 + NumericLiteral 1625662 1625665 + AmpersandAmpersandToken 1625665 1625668 + BinaryExpression 1625668 1625694 + BinaryExpression 1625668 1625678 + Identifier 1625668 1625674 + AsteriskToken 1625674 1625676 + NumericLiteral 1625676 1625678 + GreaterThanEqualsToken 1625678 1625681 + PropertyAccessExpression 1625681 1625694 + Identifier 1625681 1625687 + Identifier 1625688 1625694 + QuestionToken 1625694 1625696 + Identifier 1625696 1625700 + ColonToken 1625700 1625702 + Identifier 1625702 1625712 + FunctionDeclaration 1625720 1627293 + Identifier 1625956 1625975 + Parameter 1625976 1625996 + Identifier 1625976 1625985 + TypeReference 1625986 1625996 + Identifier 1625986 1625996 + UnionType 1625998 1626019 + TypeReference 1625998 1626007 + Identifier 1625998 1626007 + UndefinedKeyword 1626009 1626019 + Block 1626019 1627293 + VariableStatement 1626021 1626061 + VariableDeclarationList 1626021 1626060 + VariableDeclaration 1626036 1626060 + Identifier 1626036 1626042 + PropertyAccessExpression 1626044 1626060 + Identifier 1626044 1626054 + Identifier 1626055 1626060 + IfStatement 1626061 1626418 + BinaryExpression 1626159 1626363 + BinaryExpression 1626159 1626248 + BinaryExpression 1626159 1626190 + PropertyAccessExpression 1626159 1626185 + Identifier 1626159 1626178 + Identifier 1626179 1626185 + LessThanToken 1626185 1626187 + NumericLiteral 1626187 1626190 + BarBarToken 1626190 1626193 + BinaryExpression 1626193 1626248 + CallExpression 1626193 1626219 + Identifier 1626193 1626208 + Identifier 1626209 1626218 + AmpersandToken 1626219 1626221 + PropertyAccessExpression 1626221 1626248 + Identifier 1626221 1626233 + Identifier 1626234 1626248 + BarBarToken 1626248 1626251 + BinaryExpression 1626251 1626363 + CallExpression 1626251 1626358 + Identifier 1626251 1626275 + Identifier 1626276 1626281 + ArrowFunction 1626282 1626357 + Parameter 1626282 1626284 + Identifier 1626282 1626284 + EqualsGreaterThanToken 1626284 1626287 + PrefixUnaryExpression 1626287 1626357 + PrefixUnaryExpression 1626289 1626357 + ParenthesizedExpression 1626290 1626357 + BinaryExpression 1626291 1626356 + PropertyAccessExpression 1626291 1626298 + Identifier 1626291 1626292 + Identifier 1626293 1626298 + AmpersandToken 1626298 1626300 + ParenthesizedExpression 1626300 1626356 + BinaryExpression 1626302 1626355 + PropertyAccessExpression 1626302 1626318 + Identifier 1626302 1626311 + Identifier 1626312 1626318 + BarToken 1626318 1626320 + PropertyAccessExpression 1626320 1626355 + Identifier 1626320 1626330 + Identifier 1626331 1626355 + LessThanToken 1626358 1626360 + NumericLiteral 1626360 1626363 + Block 1626374 1626418 + ReturnStatement 1626376 1626407 + Identifier 1626396 1626406 + IfStatement 1626418 1627184 + BinaryExpression 1626432 1626471 + PropertyAccessExpression 1626432 1626457 + Identifier 1626432 1626441 + Identifier 1626442 1626457 + EqualsEqualsEqualsToken 1626457 1626461 + Identifier 1626461 1626471 + Block 1626472 1627184 + VariableStatement 1626474 1626917 + VariableDeclarationList 1626474 1626916 + VariableDeclaration 1626641 1626916 + Identifier 1626641 1626657 + CallExpression 1626659 1626916 + Identifier 1626659 1626667 + Identifier 1626668 1626673 + ArrowFunction 1626674 1626915 + Parameter 1626674 1626676 + Identifier 1626674 1626676 + EqualsGreaterThanToken 1626676 1626679 + ConditionalExpression 1626679 1626915 + BinaryExpression 1626679 1626762 + PropertyAccessExpression 1626679 1626704 + Identifier 1626679 1626698 + Identifier 1626699 1626704 + AmpersandToken 1626704 1626706 + ParenthesizedExpression 1626706 1626762 + BinaryExpression 1626708 1626761 + PropertyAccessExpression 1626708 1626724 + Identifier 1626708 1626717 + Identifier 1626718 1626724 + BarToken 1626724 1626726 + PropertyAccessExpression 1626726 1626761 + Identifier 1626726 1626736 + Identifier 1626737 1626761 + QuestionToken 1626762 1626764 + CallExpression 1626764 1626882 + Identifier 1626764 1626793 + CallExpression 1626794 1626816 + Identifier 1626794 1626813 + Identifier 1626814 1626815 + ArrowFunction 1626817 1626881 + Parameter 1626817 1626819 + Identifier 1626817 1626819 + EqualsGreaterThanToken 1626819 1626822 + ConditionalExpression 1626822 1626881 + CallExpression 1626822 1626853 + Identifier 1626822 1626833 + CallExpression 1626834 1626852 + Identifier 1626834 1626849 + Identifier 1626850 1626851 + QuestionToken 1626853 1626855 + PropertyAccessExpression 1626855 1626869 + Identifier 1626855 1626857 + Identifier 1626858 1626869 + ColonToken 1626869 1626871 + Identifier 1626871 1626881 + ColonToken 1626882 1626884 + Identifier 1626884 1626915 + VariableStatement 1626917 1627021 + VariableDeclarationList 1626917 1627020 + VariableDeclaration 1626936 1627020 + Identifier 1626936 1626953 + BinaryExpression 1626955 1627020 + Identifier 1626955 1626971 + AmpersandAmpersandToken 1626971 1626974 + CallExpression 1626974 1627020 + Identifier 1626974 1626996 + Identifier 1626997 1627002 + Identifier 1627003 1627019 + ExpressionStatement 1627021 1627115 + BinaryExpression 1627021 1627114 + PropertyAccessExpression 1627021 1627060 + Identifier 1627021 1627044 + Identifier 1627045 1627060 + EqualsToken 1627060 1627062 + ConditionalExpression 1627062 1627114 + Identifier 1627062 1627079 + QuestionToken 1627079 1627081 + Identifier 1627081 1627097 + ColonToken 1627097 1627099 + AsExpression 1627099 1627114 + StringLiteral 1627099 1627102 + TypeReference 1627105 1627114 + Identifier 1627105 1627114 + ExpressionStatement 1627115 1627173 + BinaryExpression 1627115 1627172 + PropertyAccessExpression 1627115 1627153 + Identifier 1627115 1627138 + Identifier 1627139 1627153 + EqualsToken 1627153 1627155 + Identifier 1627155 1627172 + ReturnStatement 1627184 1627286 + ConditionalExpression 1627200 1627285 + PropertyAccessExpression 1627200 1627245 + ParenthesizedExpression 1627200 1627238 + AsExpression 1627202 1627237 + PropertyAccessExpression 1627202 1627227 + Identifier 1627202 1627211 + Identifier 1627212 1627227 + StringKeyword 1627230 1627237 + Identifier 1627239 1627245 + QuestionToken 1627245 1627247 + PropertyAccessExpression 1627247 1627273 + Identifier 1627247 1627257 + Identifier 1627258 1627273 + ColonToken 1627273 1627275 + Identifier 1627275 1627285 + FunctionDeclaration 1627293 1627732 + Identifier 1627492 1627521 + Parameter 1627522 1627542 + Identifier 1627522 1627531 + TypeReference 1627532 1627542 + Identifier 1627532 1627542 + Parameter 1627543 1627557 + Identifier 1627543 1627551 + TypeReference 1627552 1627557 + Identifier 1627552 1627557 + Block 1627558 1627732 + VariableStatement 1627560 1627664 + VariableDeclarationList 1627560 1627663 + VariableDeclaration 1627575 1627663 + Identifier 1627575 1627582 + CallExpression 1627584 1627663 + PropertyAccessExpression 1627584 1627614 + PropertyAccessExpression 1627584 1627609 + Identifier 1627584 1627594 + Identifier 1627595 1627609 + QuestionDotToken 1627609 1627611 + Identifier 1627611 1627614 + CallExpression 1627615 1627662 + Identifier 1627615 1627624 + CallExpression 1627625 1627661 + Identifier 1627625 1627652 + Identifier 1627653 1627660 + ReturnStatement 1627664 1627725 + ConditionalExpression 1627680 1627724 + BinaryExpression 1627680 1627703 + Identifier 1627680 1627687 + ExclamationEqualsEqualsToken 1627687 1627691 + Identifier 1627691 1627703 + QuestionToken 1627703 1627705 + Identifier 1627705 1627712 + ColonToken 1627712 1627714 + Identifier 1627714 1627724 + FunctionDeclaration 1627732 1628062 + Identifier 1627748 1627783 + Parameter 1627784 1627804 + Identifier 1627784 1627793 + TypeReference 1627794 1627804 + Identifier 1627794 1627804 + Parameter 1627805 1627816 + Identifier 1627805 1627810 + TypeReference 1627811 1627816 + Identifier 1627811 1627816 + Block 1627817 1628062 + VariableStatement 1627819 1627883 + VariableDeclarationList 1627819 1627882 + VariableDeclaration 1627834 1627882 + Identifier 1627834 1627850 + CallExpression 1627852 1627882 + Identifier 1627852 1627871 + Identifier 1627872 1627881 + VariableStatement 1627883 1627976 + VariableDeclarationList 1627883 1627975 + VariableDeclaration 1627898 1627975 + Identifier 1627898 1627907 + BinaryExpression 1627909 1627975 + Identifier 1627909 1627925 + AmpersandAmpersandToken 1627925 1627928 + CallExpression 1627928 1627975 + Identifier 1627928 1627952 + Identifier 1627953 1627957 + Identifier 1627958 1627974 + ReturnStatement 1627976 1628055 + BinaryExpression 1627992 1628054 + Identifier 1627992 1628001 + AmpersandAmpersandToken 1628001 1628004 + CallExpression 1628004 1628054 + Identifier 1628004 1628033 + Identifier 1628034 1628043 + Identifier 1628044 1628053 + FunctionDeclaration 1628062 1628686 + Identifier 1628078 1628122 + Parameter 1628123 1628143 + Identifier 1628123 1628132 + TypeReference 1628133 1628143 + Identifier 1628133 1628143 + Parameter 1628144 1628174 + Identifier 1628144 1628149 + TypeReference 1628150 1628174 + Identifier 1628150 1628174 + Block 1628175 1628686 + VariableStatement 1628177 1628241 + VariableDeclarationList 1628177 1628240 + VariableDeclaration 1628192 1628240 + Identifier 1628192 1628208 + CallExpression 1628210 1628240 + Identifier 1628210 1628229 + Identifier 1628230 1628239 + VariableStatement 1628241 1628484 + VariableDeclarationList 1628241 1628483 + VariableDeclaration 1628256 1628483 + Identifier 1628256 1628265 + BinaryExpression 1628267 1628483 + Identifier 1628267 1628283 + AmpersandAmpersandToken 1628283 1628286 + CallExpression 1628286 1628483 + Identifier 1628286 1628291 + PropertyAccessExpression 1628292 1628307 + Identifier 1628292 1628296 + Identifier 1628297 1628307 + ArrowFunction 1628308 1628482 + Parameter 1628308 1628310 + Identifier 1628308 1628310 + EqualsGreaterThanToken 1628310 1628313 + BinaryExpression 1628313 1628482 + BinaryExpression 1628313 1628436 + BinaryExpression 1628313 1628379 + PropertyAccessExpression 1628313 1628335 + Identifier 1628313 1628328 + Identifier 1628329 1628335 + AmpersandAmpersandToken 1628335 1628338 + BinaryExpression 1628338 1628379 + PropertyAccessExpression 1628338 1628345 + Identifier 1628338 1628340 + Identifier 1628341 1628345 + EqualsEqualsEqualsToken 1628345 1628349 + PropertyAccessExpression 1628349 1628379 + Identifier 1628349 1628360 + Identifier 1628361 1628379 + AmpersandAmpersandToken 1628379 1628382 + BinaryExpression 1628382 1628436 + PropertyAccessExpression 1628382 1628416 + PropertyAccessExpression 1628382 1628404 + Identifier 1628382 1628397 + Identifier 1628398 1628404 + Identifier 1628405 1628416 + EqualsEqualsEqualsToken 1628416 1628420 + Identifier 1628420 1628436 + AmpersandAmpersandToken 1628436 1628439 + CallExpression 1628439 1628482 + Identifier 1628439 1628467 + PropertyAccessExpression 1628468 1628481 + Identifier 1628468 1628469 + Identifier 1628470 1628481 + VariableStatement 1628484 1628600 + VariableDeclarationList 1628484 1628599 + VariableDeclaration 1628499 1628599 + Identifier 1628499 1628508 + BinaryExpression 1628510 1628599 + Identifier 1628510 1628519 + AmpersandAmpersandToken 1628519 1628522 + CallExpression 1628522 1628599 + Identifier 1628522 1628553 + PropertyAccessExpression 1628554 1628598 + ParenthesizedExpression 1628554 1628586 + AsExpression 1628555 1628585 + Identifier 1628555 1628563 + TypeReference 1628566 1628585 + Identifier 1628566 1628585 + Identifier 1628587 1628598 + ReturnStatement 1628600 1628679 + BinaryExpression 1628616 1628678 + Identifier 1628616 1628625 + AmpersandAmpersandToken 1628625 1628628 + CallExpression 1628628 1628678 + Identifier 1628628 1628657 + Identifier 1628658 1628667 + Identifier 1628668 1628677 + FunctionDeclaration 1628686 1628867 + Identifier 1628702 1628732 + Parameter 1628733 1628745 + Identifier 1628733 1628739 + TypeReference 1628740 1628745 + Identifier 1628740 1628745 + Parameter 1628746 1628759 + Identifier 1628746 1628753 + TypeReference 1628754 1628759 + Identifier 1628754 1628759 + Block 1628760 1628867 + ReturnStatement 1628762 1628860 + BinaryExpression 1628778 1628859 + CallExpression 1628778 1628814 + Identifier 1628778 1628798 + Identifier 1628799 1628805 + Identifier 1628806 1628813 + BarBarToken 1628814 1628817 + CallExpression 1628817 1628859 + Identifier 1628817 1628843 + Identifier 1628844 1628850 + Identifier 1628851 1628858 + FunctionDeclaration 1628867 1629567 + Identifier 1628883 1628903 + Parameter 1628904 1628946 + Identifier 1628904 1628914 + UnionType 1628915 1628946 + TypeReference 1628915 1628930 + Identifier 1628915 1628930 + TypeReference 1628932 1628946 + Identifier 1628932 1628946 + Parameter 1628947 1628963 + Identifier 1628947 1628957 + TypeReference 1628958 1628963 + Identifier 1628958 1628963 + Block 1628964 1629567 + IfStatement 1628966 1629272 + PropertyAccessExpression 1628980 1629000 + Identifier 1628980 1628990 + Identifier 1628991 1629000 + Block 1629001 1629272 + ForOfStatement 1629003 1629261 + VariableDeclarationList 1629022 1629036 + VariableDeclaration 1629027 1629036 + Identifier 1629027 1629036 + PropertyAccessExpression 1629039 1629060 + Identifier 1629039 1629050 + Identifier 1629051 1629060 + Block 1629061 1629261 + IfStatement 1629063 1629246 + BinaryExpression 1629085 1629190 + CallExpression 1629085 1629135 + Identifier 1629085 1629114 + Identifier 1629115 1629124 + Identifier 1629125 1629134 + BarBarToken 1629135 1629138 + CallExpression 1629138 1629190 + Identifier 1629138 1629169 + Identifier 1629170 1629178 + Identifier 1629179 1629189 + Block 1629191 1629246 + ReturnStatement 1629193 1629227 + TrueKeyword 1629221 1629226 + IfStatement 1629272 1629537 + BinaryExpression 1629286 1629487 + BinaryExpression 1629286 1629366 + PropertyAccessExpression 1629286 1629326 + PropertyAccessExpression 1629286 1629321 + Identifier 1629286 1629310 + Identifier 1629311 1629321 + Identifier 1629322 1629326 + EqualsEqualsEqualsToken 1629326 1629330 + PropertyAccessExpression 1629330 1629366 + Identifier 1629330 1629341 + Identifier 1629342 1629366 + AmpersandAmpersandToken 1629366 1629369 + CallExpression 1629369 1629487 + Identifier 1629369 1629412 + Identifier 1629413 1629422 + PropertyAccessExpression 1629423 1629486 + ParenthesizedExpression 1629423 1629475 + AsExpression 1629425 1629474 + PropertyAccessExpression 1629425 1629446 + Identifier 1629425 1629435 + Identifier 1629436 1629446 + TypeReference 1629449 1629474 + Identifier 1629449 1629474 + Identifier 1629476 1629486 + Block 1629498 1629537 + ReturnStatement 1629500 1629526 + TrueKeyword 1629520 1629525 + ReturnStatement 1629537 1629560 + FalseKeyword 1629553 1629559 + FunctionDeclaration 1629567 1629757 + Identifier 1629583 1629597 + Parameter 1629598 1629612 + Identifier 1629598 1629602 + TypeReference 1629603 1629612 + Identifier 1629603 1629612 + NumberKeyword 1629614 1629621 + Block 1629621 1629757 + IfStatement 1629623 1629725 + BinaryExpression 1629637 1629649 + PropertyAccessExpression 1629637 1629644 + Identifier 1629637 1629641 + Identifier 1629642 1629644 + LessThanEqualsToken 1629644 1629647 + NumericLiteral 1629647 1629649 + Block 1629650 1629725 + ExpressionStatement 1629652 1629687 + BinaryExpression 1629652 1629686 + PropertyAccessExpression 1629652 1629673 + Identifier 1629652 1629670 + Identifier 1629671 1629673 + EqualsToken 1629673 1629675 + Identifier 1629675 1629686 + ExpressionStatement 1629687 1629714 + PostfixUnaryExpression 1629687 1629713 + Identifier 1629687 1629711 + ReturnStatement 1629725 1629750 + PropertyAccessExpression 1629741 1629749 + Identifier 1629741 1629746 + Identifier 1629747 1629749 + FunctionDeclaration 1629757 1630134 + Identifier 1629773 1629795 + Parameter 1629796 1629808 + Identifier 1629796 1629802 + TypeReference 1629803 1629808 + Identifier 1629803 1629808 + Parameter 1629809 1629822 + Identifier 1629809 1629816 + TypeReference 1629817 1629822 + Identifier 1629817 1629822 + Block 1629823 1630134 + IfStatement 1629825 1629942 + PrefixUnaryExpression 1629839 1629872 + ParenthesizedExpression 1629840 1629872 + BinaryExpression 1629841 1629871 + PropertyAccessExpression 1629841 1629853 + Identifier 1629841 1629847 + Identifier 1629848 1629853 + AmpersandToken 1629853 1629855 + PropertyAccessExpression 1629855 1629871 + Identifier 1629855 1629865 + Identifier 1629866 1629871 + Block 1629873 1629942 + ReturnStatement 1629875 1629931 + CallExpression 1629895 1629930 + Identifier 1629895 1629914 + Identifier 1629915 1629921 + Identifier 1629922 1629929 + ForOfStatement 1629942 1630104 + VariableDeclarationList 1629957 1629964 + VariableDeclaration 1629962 1629964 + Identifier 1629962 1629964 + PropertyAccessExpression 1629967 1629995 + ParenthesizedExpression 1629967 1629989 + AsExpression 1629969 1629988 + Identifier 1629969 1629975 + TypeReference 1629978 1629988 + Identifier 1629978 1629988 + Identifier 1629990 1629995 + Block 1629996 1630104 + IfStatement 1629998 1630093 + CallExpression 1630016 1630045 + Identifier 1630016 1630034 + Identifier 1630035 1630036 + Identifier 1630037 1630044 + Block 1630046 1630093 + ReturnStatement 1630048 1630078 + TrueKeyword 1630072 1630077 + ReturnStatement 1630104 1630127 + FalseKeyword 1630120 1630126 + FunctionDeclaration 1630134 1630878 + Identifier 1630413 1630438 + Parameter 1630439 1630462 + Identifier 1630439 1630451 + TypeReference 1630452 1630462 + Identifier 1630452 1630462 + Parameter 1630463 1630482 + Identifier 1630463 1630476 + TypeReference 1630477 1630482 + Identifier 1630477 1630482 + Block 1630483 1630878 + IfStatement 1630485 1630576 + BinaryExpression 1630499 1630528 + Identifier 1630499 1630511 + EqualsEqualsEqualsToken 1630511 1630515 + Identifier 1630515 1630528 + Block 1630529 1630576 + ReturnStatement 1630531 1630565 + Identifier 1630551 1630564 + IfStatement 1630576 1630674 + BinaryExpression 1630590 1630626 + PropertyAccessExpression 1630590 1630608 + Identifier 1630590 1630602 + Identifier 1630603 1630608 + AmpersandToken 1630608 1630610 + PropertyAccessExpression 1630610 1630626 + Identifier 1630610 1630620 + Identifier 1630621 1630626 + Block 1630627 1630674 + ReturnStatement 1630629 1630663 + Identifier 1630649 1630662 + VariableStatement 1630674 1630753 + VariableDeclarationList 1630674 1630752 + VariableDeclaration 1630689 1630752 + Identifier 1630689 1630693 + TemplateExpression 1630695 1630752 + TemplateHead 1630695 1630700 + TemplateSpan 1630700 1630727 + CallExpression 1630700 1630723 + Identifier 1630700 1630709 + Identifier 1630710 1630722 + TemplateMiddle 1630723 1630727 + TemplateSpan 1630727 1630752 + CallExpression 1630727 1630750 + Identifier 1630727 1630736 + Identifier 1630737 1630749 + TemplateTail 1630750 1630752 + ReturnStatement 1630753 1630871 + BinaryExpression 1630769 1630870 + CallExpression 1630769 1630788 + Identifier 1630769 1630783 + Identifier 1630784 1630787 + QuestionQuestionToken 1630788 1630791 + CallExpression 1630791 1630870 + Identifier 1630791 1630805 + Identifier 1630806 1630809 + CallExpression 1630810 1630869 + Identifier 1630810 1630841 + Identifier 1630842 1630854 + Identifier 1630855 1630868 + FunctionDeclaration 1630878 1631766 + Identifier 1630894 1630925 + Parameter 1630926 1630949 + Identifier 1630926 1630938 + TypeReference 1630939 1630949 + Identifier 1630939 1630949 + Parameter 1630950 1630969 + Identifier 1630950 1630963 + TypeReference 1630964 1630969 + Identifier 1630964 1630969 + Block 1630970 1631766 + VariableStatement 1630972 1631073 + VariableDeclarationList 1630972 1631072 + VariableDeclaration 1630987 1631072 + Identifier 1630987 1631000 + CallExpression 1631002 1631072 + Identifier 1631002 1631013 + Identifier 1631014 1631026 + ArrowFunction 1631027 1631071 + Parameter 1631027 1631029 + Identifier 1631027 1631029 + EqualsGreaterThanToken 1631029 1631032 + CallExpression 1631032 1631071 + Identifier 1631032 1631054 + Identifier 1631055 1631067 + Identifier 1631068 1631070 + VariableStatement 1631073 1631351 + VariableDeclarationList 1631073 1631350 + VariableDeclaration 1631188 1631350 + Identifier 1631188 1631200 + ConditionalExpression 1631202 1631350 + BinaryExpression 1631202 1631284 + BinaryExpression 1631202 1631248 + PropertyAccessExpression 1631202 1631221 + Identifier 1631202 1631215 + Identifier 1631216 1631221 + AmpersandToken 1631221 1631223 + PropertyAccessExpression 1631223 1631248 + Identifier 1631223 1631233 + Identifier 1631234 1631248 + AmpersandAmpersandToken 1631248 1631251 + CallExpression 1631251 1631284 + Identifier 1631251 1631270 + Identifier 1631271 1631283 + QuestionToken 1631284 1631286 + CallExpression 1631286 1631335 + Identifier 1631286 1631294 + Identifier 1631295 1631307 + Identifier 1631308 1631334 + ColonToken 1631335 1631337 + Identifier 1631337 1631350 + ReturnStatement 1631351 1631759 + ConditionalExpression 1631683 1631758 + CallExpression 1631683 1631729 + Identifier 1631683 1631702 + Identifier 1631703 1631715 + Identifier 1631716 1631728 + QuestionToken 1631729 1631731 + Identifier 1631731 1631743 + ColonToken 1631743 1631745 + Identifier 1631745 1631758 + FunctionDeclaration 1631766 1632402 + Identifier 1631782 1631803 + Parameter 1631804 1631820 + Identifier 1631804 1631808 + TypeReference 1631809 1631820 + Identifier 1631809 1631820 + BooleanKeyword 1631822 1631830 + Block 1631830 1632402 + IfStatement 1631832 1631935 + BinaryExpression 1631846 1631894 + CallExpression 1631846 1631866 + Identifier 1631846 1631860 + Identifier 1631861 1631865 + AmpersandToken 1631866 1631868 + PropertyAccessExpression 1631868 1631894 + Identifier 1631868 1631880 + Identifier 1631881 1631894 + Block 1631895 1631935 + ReturnStatement 1631897 1631924 + FalseKeyword 1631917 1631923 + VariableStatement 1631935 1632202 + VariableDeclarationList 1631935 1632201 + VariableDeclaration 1632155 1632201 + Identifier 1632155 1632164 + CallExpression 1632166 1632201 + Identifier 1632166 1632195 + Identifier 1632196 1632200 + ReturnStatement 1632202 1632395 + PrefixUnaryExpression 1632218 1632394 + PrefixUnaryExpression 1632220 1632394 + ParenthesizedExpression 1632221 1632394 + BinaryExpression 1632222 1632393 + BinaryExpression 1632222 1632291 + PropertyAccessExpression 1632222 1632252 + PropertyAccessExpression 1632222 1632245 + Identifier 1632222 1632230 + Identifier 1632231 1632245 + Identifier 1632246 1632252 + BarBarToken 1632252 1632255 + PropertyAccessExpression 1632255 1632291 + PropertyAccessExpression 1632255 1632284 + Identifier 1632255 1632264 + Identifier 1632265 1632284 + Identifier 1632285 1632291 + BarBarToken 1632291 1632294 + BinaryExpression 1632294 1632393 + CallExpression 1632294 1632348 + PropertyAccessExpression 1632294 1632328 + PropertyAccessExpression 1632294 1632324 + Identifier 1632294 1632316 + Identifier 1632317 1632324 + Identifier 1632325 1632328 + AsExpression 1632329 1632347 + StringLiteral 1632329 1632335 + TypeReference 1632338 1632347 + Identifier 1632338 1632347 + AmpersandAmpersandToken 1632348 1632351 + CallExpression 1632351 1632393 + Identifier 1632351 1632367 + Identifier 1632368 1632372 + Identifier 1632373 1632392 + FunctionDeclaration 1632402 1632535 + Identifier 1632418 1632431 + Parameter 1632432 1632442 + Identifier 1632432 1632436 + TypeReference 1632437 1632442 + Identifier 1632437 1632442 + Parameter 1632443 1632459 + Identifier 1632443 1632448 + TypeReference 1632449 1632459 + Identifier 1632449 1632459 + TypeReference 1632461 1632471 + Identifier 1632461 1632471 + Block 1632471 1632535 + ReturnStatement 1632473 1632528 + BinaryExpression 1632489 1632527 + CallExpression 1632489 1632520 + Identifier 1632489 1632508 + Identifier 1632509 1632513 + Identifier 1632514 1632519 + AmpersandToken 1632520 1632522 + Identifier 1632522 1632527 + FunctionDeclaration 1632535 1632659 + Identifier 1632551 1632564 + Parameter 1632565 1632575 + Identifier 1632565 1632569 + TypeReference 1632570 1632575 + Identifier 1632570 1632575 + Parameter 1632576 1632592 + Identifier 1632576 1632581 + TypeReference 1632582 1632592 + Identifier 1632582 1632592 + BooleanKeyword 1632594 1632602 + Block 1632602 1632659 + ReturnStatement 1632604 1632652 + BinaryExpression 1632620 1632651 + CallExpression 1632620 1632645 + Identifier 1632620 1632633 + Identifier 1632634 1632638 + Identifier 1632639 1632644 + ExclamationEqualsEqualsToken 1632645 1632649 + NumericLiteral 1632649 1632651 + FunctionDeclaration 1632659 1637108 + Identifier 1632675 1632694 + Parameter 1632695 1632705 + Identifier 1632695 1632699 + TypeReference 1632700 1632705 + Identifier 1632700 1632705 + Parameter 1632706 1632733 + Identifier 1632706 1632722 + TypeReference 1632723 1632733 + Identifier 1632723 1632733 + TypeReference 1632735 1632745 + Identifier 1632735 1632745 + Block 1632745 1637108 + IfStatement 1632747 1632903 + BinaryExpression 1632761 1632823 + PropertyAccessExpression 1632761 1632771 + Identifier 1632761 1632765 + Identifier 1632766 1632771 + AmpersandToken 1632771 1632773 + ParenthesizedExpression 1632773 1632823 + BinaryExpression 1632775 1632822 + PropertyAccessExpression 1632775 1632797 + Identifier 1632775 1632784 + Identifier 1632785 1632797 + BarToken 1632797 1632799 + PropertyAccessExpression 1632799 1632822 + Identifier 1632799 1632809 + Identifier 1632810 1632822 + Block 1632824 1632903 + ExpressionStatement 1632826 1632892 + BinaryExpression 1632826 1632891 + Identifier 1632826 1632844 + EqualsToken 1632844 1632846 + BinaryExpression 1632846 1632891 + CallExpression 1632846 1632876 + Identifier 1632846 1632870 + Identifier 1632871 1632875 + BarBarToken 1632876 1632879 + Identifier 1632879 1632891 + VariableStatement 1632903 1632938 + VariableDeclarationList 1632903 1632937 + VariableDeclaration 1632918 1632937 + Identifier 1632918 1632924 + PropertyAccessExpression 1632926 1632937 + Identifier 1632926 1632931 + Identifier 1632932 1632937 + IfStatement 1632938 1633110 + BinaryExpression 1632952 1633004 + Identifier 1632952 1632957 + AmpersandToken 1632957 1632959 + ParenthesizedExpression 1632959 1633004 + BinaryExpression 1632961 1633003 + PropertyAccessExpression 1632961 1632977 + Identifier 1632961 1632970 + Identifier 1632971 1632977 + BarToken 1632977 1632979 + PropertyAccessExpression 1632979 1633003 + Identifier 1632979 1632989 + Identifier 1632990 1633003 + Block 1633005 1633110 + ReturnStatement 1633007 1633099 + ConditionalExpression 1633027 1633098 + Identifier 1633027 1633044 + QuestionToken 1633044 1633046 + PropertyAccessExpression 1633046 1633074 + Identifier 1633046 1633056 + Identifier 1633057 1633074 + ColonToken 1633074 1633076 + PropertyAccessExpression 1633076 1633098 + Identifier 1633076 1633086 + Identifier 1633087 1633098 + IfStatement 1633110 1633531 + BinaryExpression 1633124 1633185 + Identifier 1633124 1633129 + AmpersandToken 1633129 1633131 + ParenthesizedExpression 1633131 1633185 + BinaryExpression 1633133 1633184 + PropertyAccessExpression 1633133 1633156 + Identifier 1633133 1633142 + Identifier 1633143 1633156 + BarToken 1633156 1633158 + PropertyAccessExpression 1633158 1633184 + Identifier 1633158 1633168 + Identifier 1633169 1633184 + Block 1633186 1633531 + VariableStatement 1633188 1633294 + VariableDeclarationList 1633188 1633293 + VariableDeclaration 1633207 1633293 + Identifier 1633207 1633215 + BinaryExpression 1633217 1633293 + BinaryExpression 1633217 1633249 + Identifier 1633217 1633223 + AmpersandToken 1633223 1633225 + PropertyAccessExpression 1633225 1633249 + Identifier 1633225 1633235 + Identifier 1633236 1633249 + AmpersandAmpersandToken 1633249 1633252 + BinaryExpression 1633252 1633293 + PropertyAccessExpression 1633252 1633286 + ParenthesizedExpression 1633252 1633280 + AsExpression 1633254 1633279 + Identifier 1633254 1633258 + TypeReference 1633261 1633279 + Identifier 1633261 1633279 + Identifier 1633281 1633286 + EqualsEqualsEqualsToken 1633286 1633290 + StringLiteral 1633290 1633293 + ReturnStatement 1633294 1633520 + ConditionalExpression 1633314 1633519 + Identifier 1633314 1633331 + QuestionToken 1633331 1633333 + ConditionalExpression 1633333 1633431 + Identifier 1633333 1633358 + QuestionToken 1633358 1633360 + PropertyAccessExpression 1633360 1633393 + Identifier 1633360 1633370 + Identifier 1633371 1633393 + ColonToken 1633393 1633395 + PropertyAccessExpression 1633395 1633431 + Identifier 1633395 1633405 + Identifier 1633406 1633431 + ColonToken 1633431 1633433 + ConditionalExpression 1633433 1633519 + Identifier 1633433 1633458 + QuestionToken 1633458 1633460 + PropertyAccessExpression 1633460 1633487 + Identifier 1633460 1633470 + Identifier 1633471 1633487 + ColonToken 1633487 1633489 + PropertyAccessExpression 1633489 1633519 + Identifier 1633489 1633499 + Identifier 1633500 1633519 + IfStatement 1633531 1633694 + BinaryExpression 1633545 1633588 + Identifier 1633545 1633550 + AmpersandToken 1633550 1633552 + ParenthesizedExpression 1633552 1633588 + BinaryExpression 1633554 1633587 + PropertyAccessExpression 1633554 1633570 + Identifier 1633554 1633563 + Identifier 1633564 1633570 + BarToken 1633570 1633572 + PropertyAccessExpression 1633572 1633587 + Identifier 1633572 1633582 + Identifier 1633583 1633587 + Block 1633589 1633694 + ReturnStatement 1633591 1633683 + ConditionalExpression 1633611 1633682 + Identifier 1633611 1633628 + QuestionToken 1633628 1633630 + PropertyAccessExpression 1633630 1633658 + Identifier 1633630 1633640 + Identifier 1633641 1633658 + ColonToken 1633658 1633660 + PropertyAccessExpression 1633660 1633682 + Identifier 1633660 1633670 + Identifier 1633671 1633682 + IfStatement 1633694 1634042 + BinaryExpression 1633708 1633739 + Identifier 1633708 1633713 + AmpersandToken 1633713 1633715 + PropertyAccessExpression 1633715 1633739 + Identifier 1633715 1633725 + Identifier 1633726 1633739 + Block 1633740 1634042 + VariableStatement 1633742 1633811 + VariableDeclarationList 1633742 1633810 + VariableDeclaration 1633761 1633810 + Identifier 1633761 1633768 + BinaryExpression 1633770 1633810 + PropertyAccessExpression 1633770 1633804 + ParenthesizedExpression 1633770 1633798 + AsExpression 1633772 1633797 + Identifier 1633772 1633776 + TypeReference 1633779 1633797 + Identifier 1633779 1633797 + Identifier 1633799 1633804 + EqualsEqualsEqualsToken 1633804 1633808 + NumericLiteral 1633808 1633810 + ReturnStatement 1633811 1634031 + ConditionalExpression 1633831 1634030 + Identifier 1633831 1633848 + QuestionToken 1633848 1633850 + ConditionalExpression 1633850 1633945 + Identifier 1633850 1633874 + QuestionToken 1633874 1633876 + PropertyAccessExpression 1633876 1633908 + Identifier 1633876 1633886 + Identifier 1633887 1633908 + ColonToken 1633908 1633910 + PropertyAccessExpression 1633910 1633945 + Identifier 1633910 1633920 + Identifier 1633921 1633945 + ColonToken 1633945 1633947 + ConditionalExpression 1633947 1634030 + Identifier 1633947 1633971 + QuestionToken 1633971 1633973 + PropertyAccessExpression 1633973 1633999 + Identifier 1633973 1633983 + Identifier 1633984 1633999 + ColonToken 1633999 1634001 + PropertyAccessExpression 1634001 1634030 + Identifier 1634001 1634011 + Identifier 1634012 1634030 + IfStatement 1634042 1634186 + BinaryExpression 1634056 1634080 + Identifier 1634056 1634061 + AmpersandToken 1634061 1634063 + PropertyAccessExpression 1634063 1634080 + Identifier 1634063 1634073 + Identifier 1634074 1634080 + Block 1634081 1634186 + ReturnStatement 1634083 1634175 + ConditionalExpression 1634103 1634174 + Identifier 1634103 1634120 + QuestionToken 1634120 1634122 + PropertyAccessExpression 1634122 1634150 + Identifier 1634122 1634132 + Identifier 1634133 1634150 + ColonToken 1634150 1634152 + PropertyAccessExpression 1634152 1634174 + Identifier 1634152 1634162 + Identifier 1634163 1634174 + IfStatement 1634186 1634534 + BinaryExpression 1634200 1634231 + Identifier 1634200 1634205 + AmpersandToken 1634205 1634207 + PropertyAccessExpression 1634207 1634231 + Identifier 1634207 1634217 + Identifier 1634218 1634231 + Block 1634232 1634534 + VariableStatement 1634234 1634303 + VariableDeclarationList 1634234 1634302 + VariableDeclaration 1634253 1634302 + Identifier 1634253 1634260 + CallExpression 1634262 1634302 + Identifier 1634262 1634275 + AsExpression 1634276 1634301 + Identifier 1634276 1634280 + TypeReference 1634283 1634301 + Identifier 1634283 1634301 + ReturnStatement 1634303 1634523 + ConditionalExpression 1634323 1634522 + Identifier 1634323 1634340 + QuestionToken 1634340 1634342 + ConditionalExpression 1634342 1634437 + Identifier 1634342 1634366 + QuestionToken 1634366 1634368 + PropertyAccessExpression 1634368 1634400 + Identifier 1634368 1634378 + Identifier 1634379 1634400 + ColonToken 1634400 1634402 + PropertyAccessExpression 1634402 1634437 + Identifier 1634402 1634412 + Identifier 1634413 1634437 + ColonToken 1634437 1634439 + ConditionalExpression 1634439 1634522 + Identifier 1634439 1634463 + QuestionToken 1634463 1634465 + PropertyAccessExpression 1634465 1634491 + Identifier 1634465 1634475 + Identifier 1634476 1634491 + ColonToken 1634491 1634493 + PropertyAccessExpression 1634493 1634522 + Identifier 1634493 1634503 + Identifier 1634504 1634522 + IfStatement 1634534 1634681 + BinaryExpression 1634548 1634573 + Identifier 1634548 1634553 + AmpersandToken 1634553 1634555 + PropertyAccessExpression 1634555 1634573 + Identifier 1634555 1634565 + Identifier 1634566 1634573 + Block 1634574 1634681 + ReturnStatement 1634576 1634670 + ConditionalExpression 1634596 1634669 + Identifier 1634596 1634613 + QuestionToken 1634613 1634615 + PropertyAccessExpression 1634615 1634644 + Identifier 1634615 1634625 + Identifier 1634626 1634644 + ColonToken 1634644 1634646 + PropertyAccessExpression 1634646 1634669 + Identifier 1634646 1634656 + Identifier 1634657 1634669 + IfStatement 1634681 1635016 + BinaryExpression 1634695 1634724 + Identifier 1634695 1634700 + AmpersandToken 1634700 1634702 + PropertyAccessExpression 1634702 1634724 + Identifier 1634702 1634712 + Identifier 1634713 1634724 + Block 1634725 1635016 + ReturnStatement 1634727 1635005 + ConditionalExpression 1634747 1635004 + Identifier 1634747 1634764 + QuestionToken 1634764 1634766 + ConditionalExpression 1634766 1634890 + ParenthesizedExpression 1634766 1634833 + BinaryExpression 1634785 1634832 + BinaryExpression 1634785 1634803 + Identifier 1634785 1634789 + EqualsEqualsEqualsToken 1634789 1634793 + Identifier 1634793 1634803 + BarBarToken 1634803 1634806 + BinaryExpression 1634806 1634832 + Identifier 1634806 1634811 + EqualsEqualsEqualsToken 1634811 1634815 + Identifier 1634815 1634832 + QuestionToken 1634833 1634835 + PropertyAccessExpression 1634835 1634862 + Identifier 1634835 1634845 + Identifier 1634846 1634862 + ColonToken 1634862 1634864 + PropertyAccessExpression 1634864 1634890 + Identifier 1634864 1634874 + Identifier 1634875 1634890 + ColonToken 1634890 1634892 + ConditionalExpression 1634892 1635004 + ParenthesizedExpression 1634892 1634959 + BinaryExpression 1634911 1634958 + BinaryExpression 1634911 1634929 + Identifier 1634911 1634915 + EqualsEqualsEqualsToken 1634915 1634919 + Identifier 1634919 1634929 + BarBarToken 1634929 1634932 + BinaryExpression 1634932 1634958 + Identifier 1634932 1634937 + EqualsEqualsEqualsToken 1634937 1634941 + Identifier 1634941 1634958 + QuestionToken 1634959 1634961 + PropertyAccessExpression 1634961 1634982 + Identifier 1634961 1634971 + Identifier 1634972 1634982 + ColonToken 1634982 1634984 + PropertyAccessExpression 1634984 1635004 + Identifier 1634984 1634994 + Identifier 1634995 1635004 + IfStatement 1635016 1636056 + BinaryExpression 1635030 1635054 + Identifier 1635030 1635035 + AmpersandToken 1635035 1635037 + PropertyAccessExpression 1635037 1635054 + Identifier 1635037 1635047 + Identifier 1635048 1635054 + Block 1635055 1636056 + VariableStatement 1635057 1635320 + VariableDeclarationList 1635057 1635319 + VariableDeclaration 1635076 1635319 + Identifier 1635076 1635090 + ConditionalExpression 1635092 1635319 + Identifier 1635092 1635109 + QuestionToken 1635109 1635128 + BinaryExpression 1635128 1635223 + BinaryExpression 1635128 1635193 + PropertyAccessExpression 1635128 1635161 + Identifier 1635128 1635138 + Identifier 1635139 1635161 + BarToken 1635161 1635163 + PropertyAccessExpression 1635163 1635193 + Identifier 1635163 1635173 + Identifier 1635174 1635193 + BarToken 1635193 1635195 + PropertyAccessExpression 1635195 1635223 + Identifier 1635195 1635205 + Identifier 1635206 1635223 + ColonToken 1635223 1635242 + BinaryExpression 1635242 1635319 + BinaryExpression 1635242 1635295 + PropertyAccessExpression 1635242 1635269 + Identifier 1635242 1635252 + Identifier 1635253 1635269 + BarToken 1635269 1635271 + PropertyAccessExpression 1635271 1635295 + Identifier 1635271 1635281 + Identifier 1635282 1635295 + BarToken 1635295 1635297 + PropertyAccessExpression 1635297 1635319 + Identifier 1635297 1635307 + Identifier 1635308 1635319 + IfStatement 1635320 1635592 + BinaryExpression 1635340 1635379 + ParenthesizedExpression 1635340 1635373 + BinaryExpression 1635341 1635372 + Identifier 1635341 1635356 + AmpersandToken 1635356 1635358 + Identifier 1635358 1635372 + EqualsEqualsEqualsToken 1635373 1635377 + NumericLiteral 1635377 1635379 + Block 1635380 1635592 + ReturnStatement 1635382 1635577 + NumericLiteral 1635574 1635576 + ReturnStatement 1635592 1636045 + ConditionalExpression 1635614 1636044 + BinaryExpression 1635614 1635700 + BinaryExpression 1635614 1635659 + CallExpression 1635614 1635635 + Identifier 1635614 1635629 + Identifier 1635630 1635634 + AmpersandToken 1635635 1635637 + PropertyAccessExpression 1635637 1635659 + Identifier 1635637 1635649 + Identifier 1635650 1635659 + AmpersandAmpersandToken 1635659 1635662 + CallExpression 1635662 1635700 + Identifier 1635662 1635680 + AsExpression 1635681 1635699 + Identifier 1635681 1635685 + TypeReference 1635688 1635699 + Identifier 1635688 1635699 + QuestionToken 1635700 1635702 + ConditionalExpression 1635702 1635800 + Identifier 1635702 1635736 + QuestionToken 1635736 1635738 + PropertyAccessExpression 1635738 1635771 + Identifier 1635738 1635748 + Identifier 1635749 1635771 + ColonToken 1635771 1635773 + PropertyAccessExpression 1635773 1635800 + Identifier 1635773 1635783 + Identifier 1635784 1635800 + ColonToken 1635800 1635802 + ConditionalExpression 1635802 1636044 + CallExpression 1635802 1635860 + Identifier 1635802 1635840 + AsExpression 1635841 1635859 + Identifier 1635841 1635845 + TypeReference 1635848 1635859 + Identifier 1635848 1635859 + QuestionToken 1635860 1635862 + ConditionalExpression 1635862 1635954 + Identifier 1635862 1635896 + QuestionToken 1635896 1635898 + PropertyAccessExpression 1635898 1635928 + Identifier 1635898 1635908 + Identifier 1635909 1635928 + ColonToken 1635928 1635930 + PropertyAccessExpression 1635930 1635954 + Identifier 1635930 1635940 + Identifier 1635941 1635954 + ColonToken 1635954 1635956 + ConditionalExpression 1635956 1636044 + Identifier 1635956 1635990 + QuestionToken 1635990 1635992 + PropertyAccessExpression 1635992 1636020 + Identifier 1635992 1636002 + Identifier 1636003 1636020 + ColonToken 1636020 1636022 + PropertyAccessExpression 1636022 1636044 + Identifier 1636022 1636032 + Identifier 1636033 1636044 + IfStatement 1636056 1636147 + BinaryExpression 1636070 1636092 + Identifier 1636070 1636075 + AmpersandToken 1636075 1636077 + PropertyAccessExpression 1636077 1636092 + Identifier 1636077 1636087 + Identifier 1636088 1636092 + Block 1636093 1636147 + ReturnStatement 1636095 1636136 + PropertyAccessExpression 1636115 1636135 + Identifier 1636115 1636125 + Identifier 1636126 1636135 + IfStatement 1636147 1636248 + BinaryExpression 1636161 1636188 + Identifier 1636161 1636166 + AmpersandToken 1636166 1636168 + PropertyAccessExpression 1636168 1636188 + Identifier 1636168 1636178 + Identifier 1636179 1636188 + Block 1636189 1636248 + ReturnStatement 1636191 1636237 + PropertyAccessExpression 1636211 1636236 + Identifier 1636211 1636221 + Identifier 1636222 1636236 + IfStatement 1636248 1636339 + BinaryExpression 1636262 1636284 + Identifier 1636262 1636267 + AmpersandToken 1636267 1636269 + PropertyAccessExpression 1636269 1636284 + Identifier 1636269 1636279 + Identifier 1636280 1636284 + Block 1636285 1636339 + ReturnStatement 1636287 1636328 + PropertyAccessExpression 1636307 1636327 + Identifier 1636307 1636317 + Identifier 1636318 1636327 + IfStatement 1636339 1636489 + BinaryExpression 1636353 1636383 + Identifier 1636353 1636358 + AmpersandToken 1636358 1636360 + PropertyAccessExpression 1636360 1636383 + Identifier 1636360 1636370 + Identifier 1636371 1636383 + Block 1636384 1636489 + ReturnStatement 1636386 1636478 + ConditionalExpression 1636406 1636477 + Identifier 1636406 1636423 + QuestionToken 1636423 1636425 + PropertyAccessExpression 1636425 1636453 + Identifier 1636425 1636435 + Identifier 1636436 1636453 + ColonToken 1636453 1636455 + PropertyAccessExpression 1636455 1636477 + Identifier 1636455 1636465 + Identifier 1636466 1636477 + IfStatement 1636489 1636639 + BinaryExpression 1636503 1636533 + Identifier 1636503 1636508 + AmpersandToken 1636508 1636510 + PropertyAccessExpression 1636510 1636533 + Identifier 1636510 1636520 + Identifier 1636521 1636533 + Block 1636534 1636639 + ReturnStatement 1636536 1636628 + ConditionalExpression 1636556 1636627 + Identifier 1636556 1636573 + QuestionToken 1636573 1636575 + PropertyAccessExpression 1636575 1636603 + Identifier 1636575 1636585 + Identifier 1636586 1636603 + ColonToken 1636603 1636605 + PropertyAccessExpression 1636605 1636627 + Identifier 1636605 1636615 + Identifier 1636616 1636627 + IfStatement 1636639 1636726 + BinaryExpression 1636653 1636676 + Identifier 1636653 1636658 + AmpersandToken 1636658 1636660 + PropertyAccessExpression 1636660 1636676 + Identifier 1636660 1636670 + Identifier 1636671 1636676 + Block 1636677 1636726 + ReturnStatement 1636679 1636715 + PropertyAccessExpression 1636699 1636714 + Identifier 1636699 1636709 + Identifier 1636710 1636714 + IfStatement 1636726 1636914 + BinaryExpression 1636740 1636763 + Identifier 1636740 1636745 + AmpersandToken 1636745 1636747 + PropertyAccessExpression 1636747 1636763 + Identifier 1636747 1636757 + Identifier 1636758 1636763 + Block 1636764 1636914 + ReturnStatement 1636766 1636903 + CallExpression 1636786 1636902 + Identifier 1636786 1636797 + PropertyAccessExpression 1636798 1636823 + ParenthesizedExpression 1636798 1636817 + AsExpression 1636799 1636816 + Identifier 1636799 1636803 + TypeReference 1636806 1636816 + Identifier 1636806 1636816 + Identifier 1636818 1636823 + ArrowFunction 1636824 1636885 + Parameter 1636826 1636831 + Identifier 1636826 1636831 + Parameter 1636832 1636834 + Identifier 1636832 1636834 + EqualsGreaterThanToken 1636835 1636838 + BinaryExpression 1636838 1636885 + Identifier 1636838 1636844 + BarToken 1636844 1636846 + CallExpression 1636846 1636885 + Identifier 1636846 1636865 + Identifier 1636866 1636867 + Identifier 1636868 1636884 + PropertyAccessExpression 1636886 1636901 + Identifier 1636886 1636896 + Identifier 1636897 1636901 + IfStatement 1636914 1637061 + BinaryExpression 1636928 1636958 + Identifier 1636928 1636933 + AmpersandToken 1636933 1636935 + PropertyAccessExpression 1636935 1636958 + Identifier 1636935 1636945 + Identifier 1636946 1636958 + Block 1636959 1637061 + ReturnStatement 1636961 1637050 + CallExpression 1636981 1637049 + Identifier 1636981 1637006 + AsExpression 1637007 1637031 + Identifier 1637007 1637011 + TypeReference 1637014 1637031 + Identifier 1637014 1637031 + Identifier 1637032 1637048 + ReturnStatement 1637061 1637101 + PropertyAccessExpression 1637077 1637100 + Identifier 1637077 1637087 + Identifier 1637088 1637100 + FunctionDeclaration 1637108 1638099 + Identifier 1637124 1637149 + Parameter 1637150 1637172 + Identifier 1637150 1637154 + TypeReference 1637155 1637172 + Identifier 1637155 1637172 + Parameter 1637173 1637200 + Identifier 1637173 1637189 + TypeReference 1637190 1637200 + Identifier 1637190 1637200 + TypeReference 1637202 1637212 + Identifier 1637202 1637212 + Block 1637212 1638099 + VariableStatement 1637214 1637502 + VariableDeclarationList 1637214 1637501 + VariableDeclaration 1637442 1637501 + Identifier 1637442 1637456 + CallExpression 1637458 1637501 + Identifier 1637458 1637474 + Identifier 1637475 1637479 + PropertyAccessExpression 1637480 1637500 + Identifier 1637480 1637490 + Identifier 1637491 1637500 + VariableStatement 1637502 1637696 + VariableDeclarationList 1637502 1637695 + VariableDeclaration 1637668 1637695 + Identifier 1637668 1637678 + PropertyAccessExpression 1637680 1637695 + Identifier 1637680 1637690 + Identifier 1637691 1637695 + VariableStatement 1637696 1637737 + VariableDeclarationList 1637696 1637736 + VariableDeclaration 1637709 1637736 + Identifier 1637709 1637720 + PropertyAccessExpression 1637722 1637736 + Identifier 1637722 1637732 + Identifier 1637733 1637736 + ForOfStatement 1637737 1638003 + VariableDeclarationList 1637752 1637759 + VariableDeclaration 1637757 1637759 + Identifier 1637757 1637759 + PropertyAccessExpression 1637762 1637773 + Identifier 1637762 1637767 + Identifier 1637768 1637773 + Block 1637774 1638003 + IfStatement 1637776 1637992 + PrefixUnaryExpression 1637794 1637840 + ParenthesizedExpression 1637795 1637840 + BinaryExpression 1637796 1637839 + Identifier 1637796 1637809 + AmpersandAmpersandToken 1637809 1637812 + BinaryExpression 1637812 1637839 + PropertyAccessExpression 1637812 1637820 + Identifier 1637812 1637814 + Identifier 1637815 1637820 + AmpersandToken 1637820 1637822 + PropertyAccessExpression 1637822 1637839 + Identifier 1637822 1637832 + Identifier 1637833 1637839 + Block 1637841 1637992 + VariableStatement 1637843 1637910 + VariableDeclarationList 1637843 1637909 + VariableDeclaration 1637866 1637909 + Identifier 1637866 1637868 + CallExpression 1637870 1637909 + Identifier 1637870 1637889 + Identifier 1637890 1637891 + Identifier 1637892 1637908 + ExpressionStatement 1637910 1637943 + BinaryExpression 1637910 1637942 + Identifier 1637910 1637937 + BarEqualsToken 1637937 1637940 + Identifier 1637940 1637942 + ExpressionStatement 1637943 1637977 + BinaryExpression 1637943 1637976 + Identifier 1637943 1637971 + AmpersandEqualsToken 1637971 1637974 + Identifier 1637974 1637976 + ReturnStatement 1638003 1638092 + BinaryExpression 1638019 1638091 + BinaryExpression 1638019 1638053 + Identifier 1638019 1638029 + AmpersandToken 1638029 1638031 + PropertyAccessExpression 1638031 1638053 + Identifier 1638031 1638041 + Identifier 1638042 1638053 + BarToken 1638053 1638055 + BinaryExpression 1638055 1638091 + Identifier 1638055 1638066 + AmpersandToken 1638066 1638068 + PropertyAccessExpression 1638068 1638091 + Identifier 1638068 1638078 + Identifier 1638079 1638091 + FunctionDeclaration 1638099 1638238 + Identifier 1638115 1638132 + Parameter 1638133 1638143 + Identifier 1638133 1638137 + TypeReference 1638138 1638143 + Identifier 1638138 1638143 + Parameter 1638144 1638163 + Identifier 1638144 1638152 + TypeReference 1638153 1638163 + Identifier 1638153 1638163 + Block 1638164 1638238 + ReturnStatement 1638166 1638231 + CallExpression 1638182 1638230 + Identifier 1638182 1638193 + Identifier 1638194 1638198 + ArrowFunction 1638199 1638229 + Parameter 1638199 1638201 + Identifier 1638199 1638201 + EqualsGreaterThanToken 1638201 1638204 + CallExpression 1638204 1638229 + Identifier 1638204 1638217 + Identifier 1638218 1638219 + Identifier 1638220 1638228 + FunctionDeclaration 1638238 1639512 + Identifier 1638582 1638607 + Parameter 1638608 1638618 + Identifier 1638608 1638612 + TypeReference 1638613 1638618 + Identifier 1638613 1638618 + Parameter 1638619 1638636 + Identifier 1638619 1638625 + TypeReference 1638626 1638636 + Identifier 1638626 1638636 + Block 1638637 1639512 + VariableStatement 1638639 1638789 + VariableDeclarationList 1638639 1638788 + VariableDeclaration 1638654 1638788 + Identifier 1638654 1638662 + CallExpression 1638664 1638788 + Identifier 1638664 1638685 + CallExpression 1638686 1638787 + Identifier 1638686 1638702 + ConditionalExpression 1638703 1638779 + BinaryExpression 1638703 1638753 + Identifier 1638703 1638719 + AmpersandAmpersandToken 1638719 1638722 + BinaryExpression 1638722 1638753 + PropertyAccessExpression 1638722 1638733 + Identifier 1638722 1638727 + Identifier 1638728 1638733 + AmpersandToken 1638733 1638735 + PropertyAccessExpression 1638735 1638753 + Identifier 1638735 1638745 + Identifier 1638746 1638753 + QuestionToken 1638753 1638755 + Identifier 1638755 1638772 + ColonToken 1638772 1638774 + Identifier 1638774 1638779 + Identifier 1638780 1638786 + IfStatement 1638789 1639480 + Identifier 1638803 1638819 + Block 1638820 1639480 + SwitchStatement 1638822 1639469 + Identifier 1638844 1638849 + CaseBlock 1638850 1639469 + CaseClause 1638852 1639033 + PropertyAccessExpression 1638874 1638896 + Identifier 1638874 1638884 + Identifier 1638885 1638896 + ReturnStatement 1638897 1639033 + CallExpression 1638925 1639032 + Identifier 1638925 1638954 + Identifier 1638955 1638962 + PropertyAccessExpression 1638963 1638985 + Identifier 1638963 1638973 + Identifier 1638974 1638985 + PropertyAccessExpression 1638986 1639003 + Identifier 1638986 1638996 + Identifier 1638997 1639003 + PropertyAccessExpression 1639004 1639021 + Identifier 1639004 1639014 + Identifier 1639015 1639021 + Identifier 1639022 1639031 + CaseClause 1639033 1639219 + PropertyAccessExpression 1639055 1639072 + Identifier 1639055 1639065 + Identifier 1639066 1639072 + ReturnStatement 1639073 1639219 + CallExpression 1639101 1639218 + Identifier 1639101 1639130 + Identifier 1639131 1639138 + PropertyAccessExpression 1639139 1639156 + Identifier 1639139 1639149 + Identifier 1639150 1639156 + PropertyAccessExpression 1639157 1639179 + Identifier 1639157 1639167 + Identifier 1639168 1639179 + PropertyAccessExpression 1639180 1639202 + Identifier 1639180 1639190 + Identifier 1639191 1639202 + Identifier 1639203 1639217 + CaseClause 1639219 1639270 + PropertyAccessExpression 1639241 1639269 + Identifier 1639241 1639251 + Identifier 1639252 1639269 + CaseClause 1639270 1639454 + PropertyAccessExpression 1639292 1639309 + Identifier 1639292 1639302 + Identifier 1639303 1639309 + ReturnStatement 1639310 1639454 + CallExpression 1639338 1639453 + Identifier 1639338 1639346 + Identifier 1639347 1639354 + ArrowFunction 1639355 1639452 + Parameter 1639355 1639357 + Identifier 1639355 1639357 + EqualsGreaterThanToken 1639357 1639360 + ConditionalExpression 1639360 1639452 + CallExpression 1639360 1639405 + Identifier 1639360 1639373 + Identifier 1639374 1639375 + PropertyAccessExpression 1639376 1639404 + Identifier 1639376 1639386 + Identifier 1639387 1639404 + QuestionToken 1639405 1639407 + CallExpression 1639407 1639448 + Identifier 1639407 1639445 + Identifier 1639446 1639447 + ColonToken 1639448 1639450 + Identifier 1639450 1639452 + ReturnStatement 1639480 1639505 + Identifier 1639496 1639504 + FunctionDeclaration 1639512 1640620 + Identifier 1639528 1639557 + Parameter 1639558 1639568 + Identifier 1639558 1639562 + TypeReference 1639563 1639568 + Identifier 1639563 1639568 + Parameter 1639569 1639592 + Identifier 1639569 1639581 + TypeReference 1639582 1639592 + Identifier 1639582 1639592 + Parameter 1639593 1639615 + Identifier 1639593 1639604 + TypeReference 1639605 1639615 + Identifier 1639605 1639615 + Parameter 1639616 1639646 + Identifier 1639616 1639635 + TypeReference 1639636 1639646 + Identifier 1639636 1639646 + Parameter 1639647 1639663 + Identifier 1639647 1639657 + TypeReference 1639658 1639663 + Identifier 1639658 1639663 + Block 1639664 1640620 + VariableStatement 1639666 1639794 + VariableDeclarationList 1639666 1639793 + VariableDeclaration 1639681 1639793 + Identifier 1639681 1639687 + CallExpression 1639689 1639793 + Identifier 1639689 1639702 + Identifier 1639703 1639707 + BinaryExpression 1639708 1639792 + BinaryExpression 1639708 1639773 + BinaryExpression 1639708 1639749 + PropertyAccessExpression 1639708 1639730 + Identifier 1639708 1639718 + Identifier 1639719 1639730 + BarToken 1639730 1639732 + PropertyAccessExpression 1639732 1639749 + Identifier 1639732 1639742 + Identifier 1639743 1639749 + BarToken 1639749 1639751 + PropertyAccessExpression 1639751 1639773 + Identifier 1639751 1639761 + Identifier 1639762 1639773 + BarToken 1639773 1639775 + PropertyAccessExpression 1639775 1639792 + Identifier 1639775 1639785 + Identifier 1639786 1639792 + IfStatement 1639794 1639956 + PrefixUnaryExpression 1639894 1639916 + ParenthesizedExpression 1639895 1639916 + BinaryExpression 1639896 1639915 + Identifier 1639896 1639901 + AmpersandToken 1639901 1639903 + Identifier 1639903 1639915 + Block 1639917 1639956 + ReturnStatement 1639919 1639945 + Identifier 1639939 1639944 + VariableStatement 1639956 1640118 + VariableDeclarationList 1639956 1640117 + VariableDeclaration 1640053 1640117 + Identifier 1640053 1640072 + CallExpression 1640074 1640117 + Identifier 1640074 1640087 + ArrayLiteralExpression 1640088 1640116 + Identifier 1640089 1640104 + Identifier 1640105 1640115 + ReturnStatement 1640118 1640613 + CallExpression 1640431 1640612 + Identifier 1640431 1640439 + Identifier 1640440 1640444 + ArrowFunction 1640445 1640611 + Parameter 1640445 1640447 + Identifier 1640445 1640447 + EqualsGreaterThanToken 1640447 1640450 + ConditionalExpression 1640450 1640611 + CallExpression 1640450 1640479 + Identifier 1640450 1640463 + Identifier 1640464 1640465 + Identifier 1640466 1640478 + QuestionToken 1640479 1640481 + CallExpression 1640481 1640607 + Identifier 1640481 1640501 + ArrayLiteralExpression 1640502 1640606 + Identifier 1640503 1640504 + ConditionalExpression 1640505 1640605 + BinaryExpression 1640505 1640566 + PrefixUnaryExpression 1640505 1640535 + ParenthesizedExpression 1640507 1640535 + BinaryExpression 1640508 1640534 + Identifier 1640508 1640513 + AmpersandToken 1640513 1640515 + Identifier 1640515 1640534 + AmpersandAmpersandToken 1640535 1640538 + CallExpression 1640538 1640566 + Identifier 1640538 1640551 + Identifier 1640552 1640553 + Identifier 1640554 1640565 + QuestionToken 1640566 1640568 + Identifier 1640568 1640587 + ColonToken 1640587 1640589 + Identifier 1640589 1640605 + ColonToken 1640607 1640609 + Identifier 1640609 1640611 + FunctionDeclaration 1640620 1640742 + Identifier 1640636 1640657 + Parameter 1640658 1640668 + Identifier 1640658 1640662 + TypeReference 1640663 1640668 + Identifier 1640663 1640668 + Block 1640669 1640742 + ReturnStatement 1640671 1640735 + ConditionalExpression 1640687 1640734 + BinaryExpression 1640687 1640713 + Identifier 1640687 1640692 + EqualsEqualsEqualsToken 1640692 1640696 + Identifier 1640696 1640713 + QuestionToken 1640713 1640715 + Identifier 1640715 1640727 + ColonToken 1640727 1640729 + Identifier 1640729 1640734 + FunctionDeclaration 1640742 1640981 + Identifier 1640758 1640777 + Parameter 1640778 1640788 + Identifier 1640778 1640782 + TypeReference 1640783 1640788 + Identifier 1640783 1640788 + Parameter 1640789 1640819 + Identifier 1640789 1640807 + TypeReference 1640808 1640819 + Identifier 1640808 1640819 + Block 1640820 1640981 + ReturnStatement 1640822 1640974 + ConditionalExpression 1640838 1640973 + Identifier 1640838 1640856 + QuestionToken 1640856 1640858 + CallExpression 1640858 1640953 + Identifier 1640858 1640884 + ArrayLiteralExpression 1640885 1640952 + CallExpression 1640886 1640911 + Identifier 1640886 1640905 + Identifier 1640906 1640910 + CallExpression 1640912 1640951 + Identifier 1640912 1640932 + Identifier 1640933 1640950 + ColonToken 1640953 1640955 + Identifier 1640955 1640973 + FunctionDeclaration 1640981 1641410 + Identifier 1640997 1641027 + Parameter 1641028 1641038 + Identifier 1641028 1641032 + TypeReference 1641033 1641038 + Identifier 1641033 1641038 + Parameter 1641039 1641058 + Identifier 1641039 1641044 + TypeReference 1641045 1641058 + Identifier 1641045 1641058 + Block 1641059 1641410 + VariableStatement 1641061 1641125 + VariableDeclarationList 1641061 1641124 + VariableDeclaration 1641076 1641124 + Identifier 1641076 1641085 + CallExpression 1641087 1641124 + Identifier 1641087 1641118 + Identifier 1641119 1641123 + IfStatement 1641125 1641195 + PrefixUnaryExpression 1641139 1641176 + CallExpression 1641140 1641176 + Identifier 1641140 1641166 + Identifier 1641167 1641175 + ReturnStatement 1641177 1641195 + Identifier 1641184 1641194 + VariableStatement 1641195 1641252 + VariableDeclarationList 1641195 1641251 + VariableDeclaration 1641210 1641251 + Identifier 1641210 1641215 + CallExpression 1641217 1641251 + Identifier 1641217 1641241 + Identifier 1641242 1641250 + ReturnStatement 1641252 1641403 + BinaryExpression 1641268 1641402 + BinaryExpression 1641268 1641389 + CallExpression 1641268 1641304 + Identifier 1641268 1641292 + Identifier 1641293 1641297 + Identifier 1641298 1641303 + BarBarToken 1641304 1641307 + CallExpression 1641307 1641389 + Identifier 1641307 1641340 + PropertyAccessExpression 1641341 1641388 + CallExpression 1641341 1641382 + Identifier 1641341 1641370 + Identifier 1641371 1641375 + Identifier 1641376 1641381 + QuestionDotToken 1641382 1641384 + Identifier 1641384 1641388 + BarBarToken 1641389 1641392 + Identifier 1641392 1641402 + FunctionDeclaration 1641410 1641763 + Identifier 1641426 1641460 + Parameter 1641461 1641471 + Identifier 1641461 1641465 + TypeReference 1641466 1641471 + Identifier 1641466 1641471 + Parameter 1641472 1641486 + Identifier 1641472 1641478 + NumberKeyword 1641479 1641486 + Block 1641487 1641763 + ReturnStatement 1641489 1641756 + BinaryExpression 1641505 1641755 + BinaryExpression 1641505 1641729 + BinaryExpression 1641505 1641574 + CallExpression 1641505 1641538 + Identifier 1641505 1641515 + Identifier 1641516 1641520 + Identifier 1641521 1641537 + AmpersandAmpersandToken 1641538 1641541 + CallExpression 1641541 1641574 + Identifier 1641541 1641561 + Identifier 1641562 1641566 + Identifier 1641567 1641573 + BarBarToken 1641574 1641577 + CallExpression 1641577 1641729 + Identifier 1641577 1641623 + CallExpression 1641624 1641728 + Identifier 1641624 1641654 + PropertyAccessExpression 1641655 1641681 + Identifier 1641655 1641667 + Identifier 1641668 1641681 + Identifier 1641682 1641687 + Identifier 1641688 1641702 + Identifier 1641703 1641727 + BarBarToken 1641729 1641732 + Identifier 1641732 1641755 + FunctionDeclaration 1641763 1642023 + Identifier 1641779 1641812 + Parameter 1641813 1641835 + Identifier 1641813 1641817 + UnionType 1641818 1641835 + TypeReference 1641818 1641823 + Identifier 1641818 1641823 + UndefinedKeyword 1641825 1641835 + UnionType 1641837 1641854 + TypeReference 1641837 1641842 + Identifier 1641837 1641842 + UndefinedKeyword 1641844 1641854 + Block 1641854 1642023 + IfStatement 1641856 1641889 + PrefixUnaryExpression 1641870 1641875 + Identifier 1641871 1641875 + ReturnStatement 1641876 1641889 + Identifier 1641883 1641888 + ReturnStatement 1641889 1642016 + ConditionalExpression 1641905 1642015 + PropertyAccessExpression 1641905 1641946 + Identifier 1641905 1641921 + Identifier 1641922 1641946 + QuestionToken 1641946 1641948 + CallExpression 1641948 1641995 + Identifier 1641948 1641974 + ArrayLiteralExpression 1641975 1641994 + Identifier 1641976 1641980 + Identifier 1641981 1641993 + ColonToken 1641995 1641997 + Identifier 1641997 1642015 + FunctionDeclaration 1642023 1642250 + Identifier 1642039 1642077 + Parameter 1642078 1642088 + Identifier 1642078 1642082 + TypeReference 1642083 1642088 + Identifier 1642083 1642088 + Block 1642089 1642250 + ReturnStatement 1642091 1642243 + CallExpression 1642107 1642242 + Identifier 1642107 1642123 + BinaryExpression 1642124 1642241 + CallExpression 1642124 1642228 + Identifier 1642124 1642154 + PropertyAccessExpression 1642155 1642181 + Identifier 1642155 1642167 + Identifier 1642168 1642181 + Identifier 1642182 1642187 + Identifier 1642188 1642202 + Identifier 1642203 1642227 + BarBarToken 1642228 1642231 + Identifier 1642231 1642241 + FunctionDeclaration 1642250 1642781 + Identifier 1642266 1642300 + Parameter 1642301 1642323 + Identifier 1642301 1642305 + TypeReference 1642306 1642323 + Identifier 1642306 1642323 + TypeReference 1642325 1642330 + Identifier 1642325 1642330 + Block 1642330 1642781 + VariableStatement 1642332 1642608 + VariableDeclarationList 1642332 1642607 + VariableDeclaration 1642347 1642607 + Identifier 1642347 1642380 + BinaryExpression 1642382 1642607 + BinaryExpression 1642382 1642485 + BinaryExpression 1642382 1642437 + PropertyAccessExpression 1642382 1642399 + PropertyAccessExpression 1642382 1642394 + Identifier 1642382 1642387 + Identifier 1642388 1642394 + Identifier 1642395 1642399 + EqualsEqualsEqualsToken 1642399 1642403 + PropertyAccessExpression 1642403 1642437 + Identifier 1642403 1642414 + Identifier 1642415 1642437 + AmpersandAmpersandToken 1642437 1642440 + CallExpression 1642440 1642485 + Identifier 1642440 1642472 + PropertyAccessExpression 1642473 1642484 + Identifier 1642473 1642477 + Identifier 1642478 1642484 + BarBarToken 1642485 1642488 + BinaryExpression 1642488 1642607 + BinaryExpression 1642488 1642552 + PropertyAccessExpression 1642488 1642518 + PropertyAccessExpression 1642488 1642513 + Identifier 1642488 1642506 + Identifier 1642507 1642513 + Identifier 1642514 1642518 + EqualsEqualsEqualsToken 1642518 1642522 + PropertyAccessExpression 1642522 1642552 + Identifier 1642522 1642533 + Identifier 1642534 1642552 + AmpersandAmpersandToken 1642552 1642555 + CallExpression 1642555 1642607 + Identifier 1642555 1642587 + PropertyAccessExpression 1642588 1642606 + PropertyAccessExpression 1642588 1642599 + Identifier 1642588 1642592 + Identifier 1642593 1642599 + Identifier 1642600 1642606 + ReturnStatement 1642608 1642774 + ConditionalExpression 1642624 1642773 + Identifier 1642624 1642657 + QuestionToken 1642657 1642659 + CallExpression 1642659 1642726 + Identifier 1642659 1642691 + CallExpression 1642692 1642713 + Identifier 1642692 1642707 + Identifier 1642708 1642712 + PropertyAccessExpression 1642714 1642725 + Identifier 1642714 1642719 + Identifier 1642720 1642725 + ColonToken 1642726 1642728 + CallExpression 1642728 1642773 + Identifier 1642728 1642761 + PropertyAccessExpression 1642762 1642772 + Identifier 1642762 1642766 + Identifier 1642767 1642772 + FunctionDeclaration 1642781 1643100 + Identifier 1642797 1642829 + Parameter 1642830 1642842 + Identifier 1642830 1642836 + TypeReference 1642837 1642842 + Identifier 1642837 1642842 + Block 1642843 1643100 + ReturnStatement 1642845 1643093 + BinaryExpression 1642861 1643092 + BinaryExpression 1642861 1642967 + BinaryExpression 1642861 1642912 + PropertyAccessExpression 1642861 1642880 + PropertyAccessExpression 1642861 1642875 + Identifier 1642861 1642868 + Identifier 1642869 1642875 + Identifier 1642876 1642880 + EqualsEqualsEqualsToken 1642880 1642884 + PropertyAccessExpression 1642884 1642912 + Identifier 1642884 1642895 + Identifier 1642896 1642912 + AmpersandAmpersandToken 1642912 1642915 + BinaryExpression 1642915 1642967 + PropertyAccessExpression 1642915 1642956 + ParenthesizedExpression 1642915 1642951 + AsExpression 1642917 1642950 + PropertyAccessExpression 1642917 1642930 + Identifier 1642917 1642923 + Identifier 1642924 1642930 + TypeReference 1642933 1642950 + Identifier 1642933 1642950 + Identifier 1642952 1642956 + EqualsEqualsEqualsToken 1642956 1642960 + Identifier 1642960 1642967 + BarBarToken 1642967 1642970 + BinaryExpression 1642970 1643092 + BinaryExpression 1642970 1643032 + PropertyAccessExpression 1642970 1643002 + PropertyAccessExpression 1642970 1642997 + Identifier 1642970 1642990 + Identifier 1642991 1642997 + Identifier 1642998 1643002 + EqualsEqualsEqualsToken 1643002 1643006 + PropertyAccessExpression 1643006 1643032 + Identifier 1643006 1643017 + Identifier 1643018 1643032 + AmpersandAmpersandToken 1643032 1643035 + BinaryExpression 1643035 1643092 + PropertyAccessExpression 1643035 1643081 + ParenthesizedExpression 1643035 1643069 + AsExpression 1643037 1643068 + PropertyAccessExpression 1643037 1643050 + Identifier 1643037 1643043 + Identifier 1643044 1643050 + TypeReference 1643053 1643068 + Identifier 1643053 1643068 + Identifier 1643070 1643081 + EqualsEqualsEqualsToken 1643081 1643085 + Identifier 1643085 1643092 + FunctionDeclaration 1643100 1643325 + Identifier 1643116 1643153 + Parameter 1643154 1643182 + Identifier 1643154 1643158 + TypeReference 1643159 1643182 + Identifier 1643159 1643182 + Parameter 1643183 1643203 + Identifier 1643183 1643191 + TypeReference 1643192 1643203 + Identifier 1643192 1643203 + TypeReference 1643205 1643210 + Identifier 1643205 1643210 + Block 1643210 1643325 + ReturnStatement 1643212 1643318 + CallExpression 1643228 1643317 + Identifier 1643228 1643262 + CallExpression 1643263 1643284 + Identifier 1643263 1643278 + Identifier 1643279 1643283 + CallExpression 1643285 1643316 + PropertyAccessExpression 1643285 1643307 + PropertyAccessExpression 1643285 1643299 + Identifier 1643285 1643290 + Identifier 1643291 1643299 + Identifier 1643300 1643307 + Identifier 1643308 1643315 + FunctionDeclaration 1643325 1643522 + Identifier 1643341 1643375 + Parameter 1643376 1643395 + Identifier 1643376 1643380 + TypeReference 1643381 1643395 + Identifier 1643381 1643395 + TypeReference 1643397 1643402 + Identifier 1643397 1643402 + Block 1643402 1643522 + ReturnStatement 1643404 1643515 + CallExpression 1643420 1643514 + Identifier 1643420 1643458 + CallExpression 1643459 1643513 + Identifier 1643459 1643474 + AsExpression 1643475 1643512 + PropertyAccessExpression 1643475 1643486 + Identifier 1643475 1643479 + Identifier 1643480 1643486 + TypeReference 1643489 1643512 + Identifier 1643489 1643512 + FunctionDeclaration 1643522 1643733 + Identifier 1643538 1643574 + Parameter 1643575 1643629 + Identifier 1643575 1643579 + UnionType 1643580 1643629 + TypeReference 1643580 1643599 + Identifier 1643580 1643599 + TypeReference 1643601 1643629 + Identifier 1643601 1643629 + TypeReference 1643631 1643636 + Identifier 1643631 1643636 + Block 1643636 1643733 + ReturnStatement 1643638 1643726 + CallExpression 1643654 1643725 + Identifier 1643654 1643684 + CallExpression 1643685 1643713 + Identifier 1643685 1643700 + PropertyAccessExpression 1643701 1643712 + Identifier 1643701 1643705 + Identifier 1643706 1643712 + PropertyAccessExpression 1643714 1643724 + Identifier 1643714 1643719 + Identifier 1643720 1643724 + FunctionDeclaration 1643733 1643958 + Identifier 1643749 1643794 + Parameter 1643795 1643828 + Identifier 1643795 1643799 + TypeReference 1643800 1643828 + Identifier 1643800 1643828 + TypeReference 1643830 1643835 + Identifier 1643830 1643835 + Block 1643835 1643958 + ReturnStatement 1643837 1643951 + CallExpression 1643853 1643950 + Identifier 1643853 1643872 + CallExpression 1643873 1643914 + Identifier 1643873 1643908 + Identifier 1643909 1643913 + NonNullExpression 1643915 1643949 + PropertyAccessExpression 1643915 1643948 + Identifier 1643915 1643920 + Identifier 1643921 1643948 + FunctionDeclaration 1643958 1645153 + Identifier 1643974 1643990 + Parameter 1643991 1644007 + Identifier 1643991 1643995 + TypeReference 1643996 1644007 + Identifier 1643996 1644007 + TypeReference 1644009 1644014 + Identifier 1644009 1644014 + Block 1644014 1645153 + VariableStatement 1644016 1644050 + VariableDeclarationList 1644016 1644049 + VariableDeclaration 1644031 1644049 + ObjectBindingPattern 1644031 1644042 + BindingElement 1644033 1644040 + Identifier 1644033 1644040 + Identifier 1644044 1644049 + SwitchStatement 1644050 1645119 + PropertyAccessExpression 1644068 1644079 + Identifier 1644068 1644074 + Identifier 1644075 1644079 + CaseBlock 1644080 1645119 + CaseClause 1644082 1644163 + PropertyAccessExpression 1644100 1644126 + Identifier 1644100 1644111 + Identifier 1644112 1644126 + ReturnStatement 1644127 1644163 + Identifier 1644151 1644162 + CaseClause 1644163 1644298 + PropertyAccessExpression 1644181 1644207 + Identifier 1644181 1644192 + Identifier 1644193 1644207 + ReturnStatement 1644208 1644298 + BinaryExpression 1644232 1644297 + CallExpression 1644232 1644284 + Identifier 1644232 1644258 + AsExpression 1644259 1644283 + Identifier 1644259 1644265 + TypeReference 1644268 1644283 + Identifier 1644268 1644283 + BarBarToken 1644284 1644287 + Identifier 1644287 1644297 + CaseClause 1644298 1644432 + PropertyAccessExpression 1644316 1644344 + Identifier 1644316 1644327 + Identifier 1644328 1644344 + ReturnStatement 1644345 1644432 + CallExpression 1644369 1644431 + Identifier 1644369 1644403 + AsExpression 1644404 1644430 + Identifier 1644404 1644410 + TypeReference 1644413 1644430 + Identifier 1644413 1644430 + CaseClause 1644432 1644518 + PropertyAccessExpression 1644450 1644478 + Identifier 1644450 1644461 + Identifier 1644462 1644478 + ReturnStatement 1644479 1644518 + Identifier 1644503 1644517 + CaseClause 1644518 1644673 + PropertyAccessExpression 1644536 1644570 + Identifier 1644536 1644547 + Identifier 1644548 1644570 + ReturnStatement 1644571 1644673 + CallExpression 1644595 1644672 + Identifier 1644595 1644632 + AsExpression 1644633 1644665 + Identifier 1644633 1644639 + TypeReference 1644642 1644665 + Identifier 1644642 1644665 + Identifier 1644666 1644671 + CaseClause 1644673 1644801 + PropertyAccessExpression 1644691 1644716 + Identifier 1644691 1644702 + Identifier 1644703 1644716 + ReturnStatement 1644717 1644801 + CallExpression 1644741 1644800 + Identifier 1644741 1644775 + AsExpression 1644776 1644799 + Identifier 1644776 1644782 + TypeReference 1644785 1644799 + Identifier 1644785 1644799 + CaseClause 1644801 1644941 + PropertyAccessExpression 1644819 1644849 + Identifier 1644819 1644830 + Identifier 1644831 1644849 + ReturnStatement 1644850 1644941 + CallExpression 1644874 1644940 + Identifier 1644874 1644910 + AsExpression 1644911 1644939 + Identifier 1644911 1644917 + TypeReference 1644920 1644939 + Identifier 1644920 1644939 + CaseClause 1644941 1645108 + PropertyAccessExpression 1644959 1644998 + Identifier 1644959 1644970 + Identifier 1644971 1644998 + ReturnStatement 1644999 1645108 + CallExpression 1645023 1645107 + Identifier 1645023 1645068 + AsExpression 1645069 1645106 + Identifier 1645069 1645075 + TypeReference 1645078 1645106 + Identifier 1645078 1645106 + ReturnStatement 1645119 1645146 + Identifier 1645135 1645145 + FunctionDeclaration 1645153 1645805 + Identifier 1645169 1645200 + Parameter 1645201 1645221 + Identifier 1645201 1645205 + TypeReference 1645206 1645221 + Identifier 1645206 1645221 + TypeReference 1645223 1645228 + Identifier 1645223 1645228 + Block 1645228 1645805 + VariableStatement 1645230 1645268 + VariableDeclarationList 1645230 1645267 + VariableDeclaration 1645245 1645267 + Identifier 1645245 1645253 + PropertyAccessExpression 1645255 1645267 + Identifier 1645255 1645260 + Identifier 1645261 1645267 + VariableStatement 1645268 1645368 + VariableDeclarationList 1645268 1645367 + VariableDeclaration 1645283 1645367 + Identifier 1645283 1645294 + CallExpression 1645296 1645367 + Identifier 1645296 1645311 + AsExpression 1645312 1645366 + PropertyAccessExpression 1645312 1645326 + Identifier 1645312 1645319 + Identifier 1645320 1645326 + UnionType 1645329 1645366 + TypeReference 1645329 1645349 + Identifier 1645329 1645349 + TypeReference 1645351 1645366 + Identifier 1645351 1645366 + VariableStatement 1645368 1645737 + VariableDeclarationList 1645368 1645736 + VariableDeclaration 1645383 1645736 + Identifier 1645383 1645388 + ConditionalExpression 1645390 1645736 + BinaryExpression 1645390 1645439 + PropertyAccessExpression 1645390 1645403 + Identifier 1645390 1645398 + Identifier 1645399 1645403 + EqualsEqualsEqualsToken 1645403 1645407 + PropertyAccessExpression 1645407 1645439 + Identifier 1645407 1645418 + Identifier 1645419 1645439 + QuestionToken 1645439 1645441 + CallExpression 1645441 1645542 + Identifier 1645441 1645484 + Identifier 1645485 1645495 + BinaryExpression 1645496 1645541 + PropertyAccessExpression 1645496 1645514 + Identifier 1645496 1645501 + Identifier 1645502 1645514 + BarBarToken 1645514 1645517 + AsExpression 1645517 1645541 + PropertyAccessExpression 1645517 1645527 + Identifier 1645517 1645522 + Identifier 1645523 1645527 + TypeReference 1645530 1645541 + Identifier 1645530 1645541 + ColonToken 1645542 1645544 + ConditionalExpression 1645544 1645736 + PrefixUnaryExpression 1645544 1645578 + PropertyAccessExpression 1645559 1645578 + Identifier 1645559 1645563 + Identifier 1645564 1645578 + QuestionToken 1645578 1645580 + CallExpression 1645580 1645671 + Identifier 1645580 1645627 + Identifier 1645628 1645638 + CallExpression 1645639 1645670 + PropertyAccessExpression 1645639 1645664 + PropertyAccessExpression 1645639 1645656 + Identifier 1645639 1645647 + Identifier 1645648 1645656 + Identifier 1645657 1645664 + Identifier 1645665 1645669 + ColonToken 1645671 1645673 + CallExpression 1645673 1645736 + Identifier 1645673 1645724 + Identifier 1645725 1645735 + ReturnStatement 1645737 1645798 + CallExpression 1645753 1645797 + Identifier 1645753 1645772 + Identifier 1645773 1645777 + NonNullExpression 1645778 1645796 + PropertyAccessExpression 1645778 1645795 + Identifier 1645778 1645783 + Identifier 1645784 1645795 + FunctionDeclaration 1645805 1646241 + Identifier 1645821 1645842 + Parameter 1645843 1645859 + Identifier 1645843 1645847 + TypeReference 1645848 1645859 + Identifier 1645848 1645859 + Block 1645860 1646241 + VariableStatement 1645862 1646169 + VariableDeclarationList 1645862 1646168 + VariableDeclaration 1646141 1646168 + Identifier 1646141 1646147 + CallExpression 1646149 1646168 + Identifier 1646149 1646162 + Identifier 1646163 1646167 + ReturnStatement 1646169 1646234 + BinaryExpression 1646185 1646233 + PropertyAccessExpression 1646185 1646204 + Identifier 1646185 1646191 + Identifier 1646192 1646204 + BarBarToken 1646204 1646207 + CallExpression 1646207 1646233 + Identifier 1646207 1646227 + Identifier 1646228 1646232 + FunctionDeclaration 1646241 1646734 + Identifier 1646257 1646293 + Parameter 1646294 1646319 + Identifier 1646294 1646298 + TypeReference 1646299 1646319 + Identifier 1646299 1646319 + Block 1646320 1646734 + IfStatement 1646322 1646426 + PropertyAccessExpression 1646336 1646352 + Identifier 1646336 1646340 + Identifier 1646341 1646352 + Block 1646353 1646426 + ReturnStatement 1646355 1646415 + CallExpression 1646375 1646414 + Identifier 1646375 1646396 + PropertyAccessExpression 1646397 1646413 + Identifier 1646397 1646401 + Identifier 1646402 1646413 + IfStatement 1646426 1646539 + BinaryExpression 1646440 1646493 + PropertyAccessExpression 1646440 1646463 + PropertyAccessExpression 1646440 1646458 + PropertyAccessExpression 1646440 1646451 + Identifier 1646440 1646444 + Identifier 1646445 1646451 + Identifier 1646452 1646458 + Identifier 1646459 1646463 + EqualsEqualsEqualsToken 1646463 1646467 + PropertyAccessExpression 1646467 1646493 + Identifier 1646467 1646478 + Identifier 1646479 1646493 + Block 1646494 1646539 + ReturnStatement 1646496 1646528 + Identifier 1646516 1646527 + IfStatement 1646539 1646700 + BinaryExpression 1646553 1646606 + PropertyAccessExpression 1646553 1646576 + PropertyAccessExpression 1646553 1646571 + PropertyAccessExpression 1646553 1646564 + Identifier 1646553 1646557 + Identifier 1646558 1646564 + Identifier 1646565 1646571 + Identifier 1646572 1646576 + EqualsEqualsEqualsToken 1646576 1646580 + PropertyAccessExpression 1646580 1646606 + Identifier 1646580 1646591 + Identifier 1646592 1646606 + Block 1646607 1646700 + ReturnStatement 1646609 1646689 + BinaryExpression 1646629 1646688 + CallExpression 1646629 1646675 + Identifier 1646629 1646655 + PropertyAccessExpression 1646656 1646674 + PropertyAccessExpression 1646656 1646667 + Identifier 1646656 1646660 + Identifier 1646661 1646667 + Identifier 1646668 1646674 + BarBarToken 1646675 1646678 + Identifier 1646678 1646688 + ReturnStatement 1646700 1646727 + Identifier 1646716 1646726 + FunctionDeclaration 1646734 1646989 + Identifier 1646750 1646765 + Parameter 1646766 1646808 + Identifier 1646766 1646770 + UnionType 1646771 1646808 + TypeReference 1646771 1646791 + Identifier 1646771 1646791 + TypeReference 1646793 1646808 + Identifier 1646793 1646808 + Block 1646809 1646989 + ReturnStatement 1646811 1646982 + ConditionalExpression 1646827 1646981 + BinaryExpression 1646827 1646872 + PropertyAccessExpression 1646827 1646837 + Identifier 1646827 1646832 + Identifier 1646833 1646837 + EqualsEqualsEqualsToken 1646837 1646841 + PropertyAccessExpression 1646841 1646872 + Identifier 1646841 1646852 + Identifier 1646853 1646872 + QuestionToken 1646872 1646874 + CallExpression 1646874 1646929 + Identifier 1646874 1646923 + Identifier 1646924 1646928 + ColonToken 1646929 1646931 + CallExpression 1646931 1646981 + Identifier 1646931 1646975 + Identifier 1646976 1646980 + FunctionDeclaration 1646989 1647474 + Identifier 1647005 1647028 + Parameter 1647029 1647084 + Identifier 1647029 1647033 + UnionType 1647034 1647084 + TypeReference 1647034 1647054 + Identifier 1647034 1647054 + TypeReference 1647056 1647071 + Identifier 1647056 1647071 + TypeReference 1647073 1647084 + Identifier 1647073 1647084 + Block 1647085 1647474 + ReturnStatement 1647087 1647467 + BinaryExpression 1647103 1647466 + BinaryExpression 1647103 1647277 + BinaryExpression 1647103 1647193 + BinaryExpression 1647103 1647148 + PropertyAccessExpression 1647103 1647113 + Identifier 1647103 1647108 + Identifier 1647109 1647113 + EqualsEqualsEqualsToken 1647113 1647117 + PropertyAccessExpression 1647117 1647148 + Identifier 1647117 1647128 + Identifier 1647129 1647148 + AmpersandAmpersandToken 1647148 1647151 + PropertyAccessExpression 1647151 1647193 + ParenthesizedExpression 1647151 1647181 + AsExpression 1647153 1647180 + Identifier 1647153 1647157 + TypeReference 1647160 1647180 + Identifier 1647160 1647180 + Identifier 1647182 1647193 + AmpersandAmpersandToken 1647193 1647196 + CallExpression 1647196 1647277 + Identifier 1647196 1647233 + NonNullExpression 1647234 1647276 + PropertyAccessExpression 1647234 1647275 + ParenthesizedExpression 1647234 1647263 + AsExpression 1647235 1647262 + Identifier 1647235 1647239 + TypeReference 1647242 1647262 + Identifier 1647242 1647262 + Identifier 1647264 1647275 + BarBarToken 1647277 1647280 + BinaryExpression 1647280 1647466 + BinaryExpression 1647280 1647385 + BinaryExpression 1647280 1647333 + PropertyAccessExpression 1647280 1647303 + Identifier 1647280 1647298 + Identifier 1647299 1647303 + ExclamationEqualsEqualsToken 1647303 1647307 + PropertyAccessExpression 1647307 1647333 + Identifier 1647307 1647318 + Identifier 1647319 1647333 + AmpersandAmpersandToken 1647333 1647336 + BinaryExpression 1647336 1647385 + PropertyAccessExpression 1647336 1647353 + PropertyAccessExpression 1647336 1647348 + Identifier 1647336 1647341 + Identifier 1647342 1647348 + Identifier 1647349 1647353 + EqualsEqualsEqualsToken 1647353 1647357 + PropertyAccessExpression 1647357 1647385 + Identifier 1647357 1647368 + Identifier 1647369 1647385 + AmpersandAmpersandToken 1647385 1647388 + CallExpression 1647388 1647466 + Identifier 1647388 1647425 + PropertyAccessExpression 1647426 1647465 + ParenthesizedExpression 1647426 1647459 + AsExpression 1647427 1647458 + PropertyAccessExpression 1647427 1647438 + Identifier 1647427 1647431 + Identifier 1647432 1647438 + TypeReference 1647441 1647458 + Identifier 1647441 1647458 + Identifier 1647460 1647465 + FunctionDeclaration 1647474 1648367 + Identifier 1647490 1647512 + Parameter 1647513 1647529 + Identifier 1647513 1647517 + TypeReference 1647518 1647529 + Identifier 1647518 1647529 + TypeReference 1647531 1647542 + Identifier 1647531 1647542 + Block 1647542 1648367 + SwitchStatement 1647544 1648338 + PropertyAccessExpression 1647562 1647571 + Identifier 1647562 1647566 + Identifier 1647567 1647571 + CaseBlock 1647572 1648338 + CaseClause 1647574 1647721 + PropertyAccessExpression 1647592 1647627 + Identifier 1647592 1647603 + Identifier 1647604 1647627 + ReturnStatement 1647628 1647721 + CallExpression 1647652 1647720 + Identifier 1647652 1647674 + PropertyAccessExpression 1647675 1647719 + ParenthesizedExpression 1647675 1647708 + AsExpression 1647676 1647707 + Identifier 1647676 1647680 + TypeReference 1647683 1647707 + Identifier 1647683 1647707 + Identifier 1647709 1647719 + CaseClause 1647721 1648327 + PropertyAccessExpression 1647739 1647767 + Identifier 1647739 1647750 + Identifier 1647751 1647767 + SwitchStatement 1647768 1648327 + PropertyAccessExpression 1647794 1647839 + PropertyAccessExpression 1647794 1647834 + ParenthesizedExpression 1647794 1647820 + AsExpression 1647795 1647819 + Identifier 1647795 1647799 + TypeReference 1647802 1647819 + Identifier 1647802 1647819 + Identifier 1647821 1647834 + Identifier 1647835 1647839 + CaseBlock 1647840 1648327 + CaseClause 1647842 1647892 + PropertyAccessExpression 1647868 1647891 + Identifier 1647868 1647879 + Identifier 1647880 1647891 + CaseClause 1647892 1647948 + PropertyAccessExpression 1647918 1647947 + Identifier 1647918 1647929 + Identifier 1647930 1647947 + CaseClause 1647948 1648016 + PropertyAccessExpression 1647974 1648015 + Identifier 1647974 1647985 + Identifier 1647986 1648015 + CaseClause 1648016 1648170 + PropertyAccessExpression 1648042 1648081 + Identifier 1648042 1648053 + Identifier 1648054 1648081 + ReturnStatement 1648082 1648170 + CallExpression 1648114 1648169 + Identifier 1648114 1648136 + PropertyAccessExpression 1648137 1648168 + ParenthesizedExpression 1648137 1648163 + AsExpression 1648138 1648162 + Identifier 1648138 1648142 + TypeReference 1648145 1648162 + Identifier 1648145 1648162 + Identifier 1648164 1648168 + CaseClause 1648170 1648308 + PropertyAccessExpression 1648196 1648218 + Identifier 1648196 1648207 + Identifier 1648208 1648218 + ReturnStatement 1648219 1648308 + CallExpression 1648251 1648307 + Identifier 1648251 1648273 + PropertyAccessExpression 1648274 1648306 + ParenthesizedExpression 1648274 1648300 + AsExpression 1648275 1648299 + Identifier 1648275 1648279 + TypeReference 1648282 1648299 + Identifier 1648282 1648299 + Identifier 1648301 1648306 + ReturnStatement 1648338 1648360 + Identifier 1648354 1648359 + FunctionDeclaration 1648367 1648952 + Identifier 1648383 1648400 + Parameter 1648401 1648411 + Identifier 1648401 1648405 + TypeReference 1648406 1648411 + Identifier 1648406 1648411 + TypeReference 1648413 1648418 + Identifier 1648413 1648418 + Block 1648418 1648952 + VariableStatement 1648420 1648454 + VariableDeclarationList 1648420 1648453 + VariableDeclaration 1648435 1648453 + ObjectBindingPattern 1648435 1648446 + BindingElement 1648437 1648444 + Identifier 1648437 1648444 + Identifier 1648448 1648453 + ReturnStatement 1648454 1648945 + ConditionalExpression 1648470 1648944 + BinaryExpression 1648470 1648897 + BinaryExpression 1648470 1648709 + BinaryExpression 1648470 1648521 + PropertyAccessExpression 1648470 1648482 + Identifier 1648470 1648477 + Identifier 1648478 1648482 + EqualsEqualsEqualsToken 1648482 1648486 + PropertyAccessExpression 1648486 1648521 + Identifier 1648486 1648497 + Identifier 1648498 1648521 + BarBarToken 1648521 1648524 + BinaryExpression 1648524 1648709 + BinaryExpression 1648524 1648663 + BinaryExpression 1648524 1648585 + PropertyAccessExpression 1648524 1648553 + Identifier 1648524 1648548 + Identifier 1648549 1648553 + EqualsEqualsEqualsToken 1648553 1648557 + PropertyAccessExpression 1648557 1648585 + Identifier 1648557 1648568 + Identifier 1648569 1648585 + AmpersandAmpersandToken 1648585 1648588 + BinaryExpression 1648588 1648663 + PropertyAccessExpression 1648588 1648636 + PropertyAccessExpression 1648588 1648631 + ParenthesizedExpression 1648588 1648617 + AsExpression 1648590 1648616 + Identifier 1648590 1648596 + TypeReference 1648599 1648616 + Identifier 1648599 1648616 + Identifier 1648618 1648631 + Identifier 1648632 1648636 + EqualsEqualsEqualsToken 1648636 1648640 + PropertyAccessExpression 1648640 1648663 + Identifier 1648640 1648651 + Identifier 1648652 1648663 + AmpersandAmpersandToken 1648663 1648666 + BinaryExpression 1648666 1648709 + PropertyAccessExpression 1648666 1648700 + ParenthesizedExpression 1648666 1648695 + AsExpression 1648668 1648694 + Identifier 1648668 1648674 + TypeReference 1648677 1648694 + Identifier 1648677 1648694 + Identifier 1648696 1648700 + EqualsEqualsEqualsToken 1648700 1648704 + Identifier 1648704 1648709 + BarBarToken 1648709 1648712 + BinaryExpression 1648712 1648897 + BinaryExpression 1648712 1648850 + BinaryExpression 1648712 1648773 + PropertyAccessExpression 1648712 1648741 + Identifier 1648712 1648736 + Identifier 1648737 1648741 + EqualsEqualsEqualsToken 1648741 1648745 + PropertyAccessExpression 1648745 1648773 + Identifier 1648745 1648756 + Identifier 1648757 1648773 + AmpersandAmpersandToken 1648773 1648776 + BinaryExpression 1648776 1648850 + PropertyAccessExpression 1648776 1648824 + PropertyAccessExpression 1648776 1648819 + ParenthesizedExpression 1648776 1648805 + AsExpression 1648778 1648804 + Identifier 1648778 1648784 + TypeReference 1648787 1648804 + Identifier 1648787 1648804 + Identifier 1648806 1648819 + Identifier 1648820 1648824 + EqualsEqualsEqualsToken 1648824 1648828 + PropertyAccessExpression 1648828 1648850 + Identifier 1648828 1648839 + Identifier 1648840 1648850 + AmpersandAmpersandToken 1648850 1648853 + BinaryExpression 1648853 1648897 + PropertyAccessExpression 1648853 1648888 + ParenthesizedExpression 1648853 1648882 + AsExpression 1648855 1648881 + Identifier 1648855 1648861 + TypeReference 1648864 1648881 + Identifier 1648864 1648881 + Identifier 1648883 1648888 + EqualsEqualsEqualsToken 1648888 1648892 + Identifier 1648892 1648897 + QuestionToken 1648897 1648899 + CallExpression 1648899 1648937 + Identifier 1648899 1648929 + Identifier 1648930 1648936 + ColonToken 1648937 1648939 + Identifier 1648939 1648944 + FunctionDeclaration 1648952 1649216 + Identifier 1648968 1648990 + Parameter 1648991 1649025 + Identifier 1648991 1648997 + UnionType 1648998 1649025 + TypeReference 1648998 1649009 + Identifier 1648998 1649009 + TypeReference 1649011 1649025 + Identifier 1649011 1649025 + Block 1649026 1649216 + IfStatement 1649028 1649182 + BinaryExpression 1649042 1649079 + PropertyAccessExpression 1649042 1649053 + Identifier 1649042 1649048 + Identifier 1649049 1649053 + EqualsEqualsEqualsToken 1649053 1649057 + PropertyAccessExpression 1649057 1649079 + Identifier 1649057 1649068 + Identifier 1649069 1649079 + Block 1649080 1649182 + ReturnStatement 1649082 1649171 + CallExpression 1649102 1649170 + Identifier 1649102 1649130 + CallExpression 1649131 1649169 + Identifier 1649131 1649150 + PropertyAccessExpression 1649151 1649168 + Identifier 1649151 1649157 + Identifier 1649158 1649168 + ReturnStatement 1649182 1649209 + Identifier 1649198 1649208 + FunctionDeclaration 1649216 1649634 + Identifier 1649232 1649253 + Parameter 1649254 1649286 + Identifier 1649254 1649269 + TypeReference 1649270 1649286 + Identifier 1649270 1649286 + ArrayType 1649288 1649295 + TypeReference 1649288 1649293 + Identifier 1649288 1649293 + Block 1649295 1649634 + VariableStatement 1649297 1649351 + VariableDeclarationList 1649297 1649350 + VariableDeclaration 1649312 1649350 + Identifier 1649312 1649318 + CallExpression 1649320 1649350 + Identifier 1649320 1649333 + Identifier 1649334 1649349 + IfStatement 1649351 1649592 + PrefixUnaryExpression 1649365 1649383 + PropertyAccessExpression 1649366 1649383 + Identifier 1649366 1649371 + Identifier 1649372 1649383 + Block 1649384 1649592 + ExpressionStatement 1649386 1649423 + BinaryExpression 1649386 1649422 + PropertyAccessExpression 1649386 1649417 + Identifier 1649386 1649405 + Identifier 1649406 1649417 + EqualsToken 1649417 1649419 + ArrayLiteralExpression 1649419 1649422 + ForOfStatement 1649423 1649581 + VariableDeclarationList 1649442 1649454 + VariableDeclaration 1649447 1649454 + Identifier 1649447 1649454 + PropertyAccessExpression 1649457 1649491 + PropertyAccessExpression 1649457 1649483 + Identifier 1649457 1649473 + Identifier 1649474 1649483 + Identifier 1649484 1649491 + Block 1649492 1649581 + ExpressionStatement 1649494 1649566 + CallExpression 1649494 1649565 + PropertyAccessExpression 1649494 1649534 + PropertyAccessExpression 1649494 1649529 + Identifier 1649494 1649517 + Identifier 1649518 1649529 + Identifier 1649530 1649534 + CallExpression 1649535 1649564 + Identifier 1649535 1649556 + Identifier 1649557 1649563 + ReturnStatement 1649592 1649627 + PropertyAccessExpression 1649608 1649626 + Identifier 1649608 1649614 + Identifier 1649615 1649626 + FunctionDeclaration 1649634 1650552 + Identifier 1649883 1649914 + Parameter 1649915 1649947 + Identifier 1649915 1649930 + TypeReference 1649931 1649947 + Identifier 1649931 1649947 + UnionType 1649949 1649984 + ArrayType 1649949 1649972 + ParenthesizedType 1649949 1649970 + UnionType 1649951 1649969 + StringKeyword 1649951 1649957 + UndefinedKeyword 1649959 1649969 + UndefinedKeyword 1649974 1649984 + Block 1649984 1650552 + IfStatement 1649986 1650176 + CallExpression 1650000 1650131 + Identifier 1650000 1650004 + PropertyAccessExpression 1650005 1650038 + PropertyAccessExpression 1650005 1650030 + Identifier 1650005 1650020 + Identifier 1650021 1650030 + Identifier 1650031 1650038 + ArrowFunction 1650039 1650130 + Parameter 1650039 1650046 + Identifier 1650039 1650046 + EqualsGreaterThanToken 1650046 1650049 + BinaryExpression 1650049 1650130 + BinaryExpression 1650049 1650087 + PropertyAccessExpression 1650049 1650061 + Identifier 1650049 1650056 + Identifier 1650057 1650061 + EqualsEqualsEqualsToken 1650061 1650065 + PropertyAccessExpression 1650065 1650087 + Identifier 1650065 1650076 + Identifier 1650077 1650087 + AmpersandAmpersandToken 1650087 1650090 + PrefixUnaryExpression 1650090 1650130 + CallExpression 1650092 1650130 + Identifier 1650092 1650111 + PropertyAccessExpression 1650112 1650129 + Identifier 1650112 1650118 + Identifier 1650119 1650129 + Block 1650132 1650176 + ReturnStatement 1650134 1650165 + Identifier 1650154 1650164 + VariableStatement 1650176 1650231 + VariableDeclarationList 1650176 1650230 + VariableDeclaration 1650191 1650230 + Identifier 1650191 1650201 + ArrayType 1650202 1650225 + ParenthesizedType 1650202 1650223 + UnionType 1650204 1650222 + StringKeyword 1650204 1650210 + UndefinedKeyword 1650212 1650222 + ArrayLiteralExpression 1650227 1650230 + ForOfStatement 1650231 1650518 + VariableDeclarationList 1650246 1650258 + VariableDeclaration 1650251 1650258 + Identifier 1650251 1650258 + PropertyAccessExpression 1650261 1650295 + PropertyAccessExpression 1650261 1650287 + Identifier 1650261 1650277 + Identifier 1650278 1650287 + Identifier 1650288 1650295 + Block 1650296 1650518 + VariableStatement 1650298 1650423 + VariableDeclarationList 1650298 1650422 + VariableDeclaration 1650317 1650422 + Identifier 1650317 1650322 + ConditionalExpression 1650324 1650422 + BinaryExpression 1650324 1650362 + PropertyAccessExpression 1650324 1650336 + Identifier 1650324 1650331 + Identifier 1650332 1650336 + EqualsEqualsEqualsToken 1650336 1650340 + PropertyAccessExpression 1650340 1650362 + Identifier 1650340 1650351 + Identifier 1650352 1650362 + QuestionToken 1650362 1650364 + PropertyAccessExpression 1650364 1650410 + ParenthesizedExpression 1650364 1650405 + AsExpression 1650366 1650404 + PropertyAccessExpression 1650366 1650383 + Identifier 1650366 1650372 + Identifier 1650373 1650383 + TypeReference 1650386 1650404 + Identifier 1650386 1650404 + Identifier 1650406 1650410 + ColonToken 1650410 1650412 + Identifier 1650412 1650422 + ExpressionStatement 1650423 1650507 + CallExpression 1650423 1650506 + PropertyAccessExpression 1650423 1650451 + Identifier 1650423 1650446 + Identifier 1650447 1650451 + ConditionalExpression 1650452 1650505 + BinaryExpression 1650452 1650486 + Identifier 1650452 1650456 + AmpersandAmpersandToken 1650456 1650459 + PrefixUnaryExpression 1650459 1650486 + CallExpression 1650461 1650486 + Identifier 1650461 1650469 + Identifier 1650470 1650479 + Identifier 1650480 1650485 + QuestionToken 1650486 1650488 + Identifier 1650488 1650493 + ColonToken 1650493 1650495 + Identifier 1650495 1650505 + ReturnStatement 1650518 1650545 + Identifier 1650534 1650544 + FunctionDeclaration 1650552 1650766 + Identifier 1650568 1650588 + Parameter 1650589 1650601 + Identifier 1650589 1650595 + TypeReference 1650596 1650601 + Identifier 1650596 1650601 + Parameter 1650602 1650616 + Identifier 1650602 1650608 + ArrayType 1650609 1650616 + TypeReference 1650609 1650614 + Identifier 1650609 1650614 + Block 1650617 1650766 + ReturnStatement 1650619 1650759 + ConditionalExpression 1650635 1650758 + BinaryExpression 1650635 1650666 + PropertyAccessExpression 1650635 1650648 + Identifier 1650635 1650642 + Identifier 1650643 1650648 + AmpersandToken 1650648 1650650 + PropertyAccessExpression 1650650 1650666 + Identifier 1650650 1650660 + Identifier 1650661 1650666 + QuestionToken 1650666 1650668 + PrefixUnaryExpression 1650668 1650732 + CallExpression 1650670 1650732 + Identifier 1650670 1650677 + PropertyAccessExpression 1650678 1650705 + ParenthesizedExpression 1650678 1650699 + AsExpression 1650679 1650698 + Identifier 1650679 1650685 + TypeReference 1650688 1650698 + Identifier 1650688 1650698 + Identifier 1650700 1650705 + ArrowFunction 1650706 1650731 + Parameter 1650706 1650708 + Identifier 1650706 1650708 + EqualsGreaterThanToken 1650708 1650711 + PrefixUnaryExpression 1650711 1650731 + CallExpression 1650713 1650731 + Identifier 1650713 1650721 + Identifier 1650722 1650727 + Identifier 1650728 1650730 + ColonToken 1650732 1650734 + CallExpression 1650734 1650758 + Identifier 1650734 1650743 + Identifier 1650744 1650749 + Identifier 1650750 1650757 + FunctionDeclaration 1650766 1650993 + Identifier 1650782 1650797 + Parameter 1650798 1650810 + Identifier 1650798 1650804 + TypeReference 1650805 1650810 + Identifier 1650805 1650810 + Parameter 1650811 1650824 + Identifier 1650811 1650818 + TypeReference 1650819 1650824 + Identifier 1650819 1650824 + Block 1650825 1650993 + ReturnStatement 1650827 1650986 + PrefixUnaryExpression 1650843 1650985 + PrefixUnaryExpression 1650845 1650985 + ParenthesizedExpression 1650846 1650985 + BinaryExpression 1650847 1650984 + BinaryExpression 1650847 1650898 + BinaryExpression 1650847 1650864 + Identifier 1650847 1650853 + EqualsEqualsEqualsToken 1650853 1650857 + Identifier 1650857 1650864 + BarBarToken 1650864 1650867 + BinaryExpression 1650867 1650898 + PropertyAccessExpression 1650867 1650880 + Identifier 1650867 1650874 + Identifier 1650875 1650880 + AmpersandToken 1650880 1650882 + PropertyAccessExpression 1650882 1650898 + Identifier 1650882 1650892 + Identifier 1650893 1650898 + BarBarToken 1650898 1650901 + BinaryExpression 1650901 1650984 + BinaryExpression 1650901 1650932 + PropertyAccessExpression 1650901 1650914 + Identifier 1650901 1650908 + Identifier 1650909 1650914 + AmpersandToken 1650914 1650916 + PropertyAccessExpression 1650916 1650932 + Identifier 1650916 1650926 + Identifier 1650927 1650932 + AmpersandAmpersandToken 1650932 1650935 + CallExpression 1650935 1650984 + Identifier 1650935 1650955 + Identifier 1650956 1650962 + AsExpression 1650963 1650983 + Identifier 1650963 1650970 + TypeReference 1650973 1650983 + Identifier 1650973 1650983 + FunctionDeclaration 1650993 1651541 + Identifier 1651009 1651029 + Parameter 1651030 1651042 + Identifier 1651030 1651036 + TypeReference 1651037 1651042 + Identifier 1651037 1651042 + Parameter 1651043 1651061 + Identifier 1651043 1651050 + TypeReference 1651051 1651061 + Identifier 1651051 1651061 + Block 1651062 1651541 + IfStatement 1651064 1651332 + BinaryExpression 1651078 1651108 + PropertyAccessExpression 1651078 1651090 + Identifier 1651078 1651084 + Identifier 1651085 1651090 + AmpersandToken 1651090 1651092 + PropertyAccessExpression 1651092 1651108 + Identifier 1651092 1651102 + Identifier 1651103 1651108 + Block 1651109 1651332 + ForOfStatement 1651111 1651295 + VariableDeclarationList 1651130 1651137 + VariableDeclaration 1651135 1651137 + Identifier 1651135 1651137 + PropertyAccessExpression 1651140 1651168 + ParenthesizedExpression 1651140 1651162 + AsExpression 1651142 1651161 + Identifier 1651142 1651148 + TypeReference 1651151 1651161 + Identifier 1651151 1651161 + Identifier 1651163 1651168 + Block 1651169 1651295 + IfStatement 1651171 1651280 + PrefixUnaryExpression 1651193 1651223 + CallExpression 1651194 1651223 + Identifier 1651194 1651206 + PropertyAccessExpression 1651207 1651219 + Identifier 1651207 1651213 + Identifier 1651214 1651219 + Identifier 1651220 1651222 + Block 1651224 1651280 + ReturnStatement 1651226 1651261 + FalseKeyword 1651254 1651260 + ReturnStatement 1651295 1651321 + TrueKeyword 1651315 1651320 + IfStatement 1651332 1651482 + BinaryExpression 1651346 1651442 + BinaryExpression 1651346 1651379 + PropertyAccessExpression 1651346 1651358 + Identifier 1651346 1651352 + Identifier 1651353 1651358 + AmpersandToken 1651358 1651360 + PropertyAccessExpression 1651360 1651379 + Identifier 1651360 1651370 + Identifier 1651371 1651379 + AmpersandAmpersandToken 1651379 1651382 + BinaryExpression 1651382 1651442 + CallExpression 1651382 1651431 + Identifier 1651382 1651408 + AsExpression 1651409 1651430 + Identifier 1651409 1651415 + TypeReference 1651418 1651430 + Identifier 1651418 1651430 + EqualsEqualsEqualsToken 1651431 1651435 + Identifier 1651435 1651442 + Block 1651443 1651482 + ReturnStatement 1651445 1651471 + TrueKeyword 1651465 1651470 + ReturnStatement 1651482 1651534 + CallExpression 1651498 1651533 + Identifier 1651498 1651511 + PropertyAccessExpression 1651512 1651524 + Identifier 1651512 1651518 + Identifier 1651519 1651524 + Identifier 1651525 1651532 + FunctionDeclaration 1651541 1651735 + Identifier 1651557 1651569 + TypeParameter 1651570 1651571 + Identifier 1651570 1651571 + Parameter 1651573 1651583 + Identifier 1651573 1651577 + TypeReference 1651578 1651583 + Identifier 1651578 1651583 + Parameter 1651584 1651614 + Identifier 1651584 1651586 + FunctionType 1651587 1651614 + Parameter 1651589 1651596 + Identifier 1651589 1651590 + TypeReference 1651591 1651596 + Identifier 1651591 1651596 + UnionType 1651600 1651614 + TypeReference 1651600 1651602 + Identifier 1651600 1651602 + UndefinedKeyword 1651604 1651614 + UnionType 1651616 1651630 + TypeReference 1651616 1651618 + Identifier 1651616 1651618 + UndefinedKeyword 1651620 1651630 + Block 1651630 1651735 + ReturnStatement 1651632 1651728 + ConditionalExpression 1651648 1651727 + BinaryExpression 1651648 1651677 + PropertyAccessExpression 1651648 1651659 + Identifier 1651648 1651653 + Identifier 1651654 1651659 + AmpersandToken 1651659 1651661 + PropertyAccessExpression 1651661 1651677 + Identifier 1651661 1651671 + Identifier 1651672 1651677 + QuestionToken 1651677 1651679 + CallExpression 1651679 1651717 + Identifier 1651679 1651687 + PropertyAccessExpression 1651688 1651713 + ParenthesizedExpression 1651688 1651707 + AsExpression 1651689 1651706 + Identifier 1651689 1651693 + TypeReference 1651696 1651706 + Identifier 1651696 1651706 + Identifier 1651708 1651713 + Identifier 1651714 1651716 + ColonToken 1651717 1651719 + CallExpression 1651719 1651727 + Identifier 1651719 1651721 + Identifier 1651722 1651726 + FunctionDeclaration 1651735 1651908 + Identifier 1651751 1651760 + Parameter 1651761 1651771 + Identifier 1651761 1651765 + TypeReference 1651766 1651771 + Identifier 1651766 1651771 + Parameter 1651772 1651796 + Identifier 1651772 1651774 + FunctionType 1651775 1651796 + Parameter 1651777 1651784 + Identifier 1651777 1651778 + TypeReference 1651779 1651784 + Identifier 1651779 1651784 + BooleanKeyword 1651788 1651796 + BooleanKeyword 1651798 1651806 + Block 1651806 1651908 + ReturnStatement 1651808 1651901 + ConditionalExpression 1651824 1651900 + BinaryExpression 1651824 1651853 + PropertyAccessExpression 1651824 1651835 + Identifier 1651824 1651829 + Identifier 1651830 1651835 + AmpersandToken 1651835 1651837 + PropertyAccessExpression 1651837 1651853 + Identifier 1651837 1651847 + Identifier 1651848 1651853 + QuestionToken 1651853 1651855 + CallExpression 1651855 1651890 + Identifier 1651855 1651860 + PropertyAccessExpression 1651861 1651886 + ParenthesizedExpression 1651861 1651880 + AsExpression 1651862 1651879 + Identifier 1651862 1651866 + TypeReference 1651869 1651879 + Identifier 1651869 1651879 + Identifier 1651881 1651886 + Identifier 1651887 1651889 + ColonToken 1651890 1651892 + CallExpression 1651892 1651900 + Identifier 1651892 1651894 + Identifier 1651895 1651899 + FunctionDeclaration 1651908 1652083 + Identifier 1651924 1651934 + Parameter 1651935 1651945 + Identifier 1651935 1651939 + TypeReference 1651940 1651945 + Identifier 1651940 1651945 + Parameter 1651946 1651970 + Identifier 1651946 1651948 + FunctionType 1651949 1651970 + Parameter 1651951 1651958 + Identifier 1651951 1651952 + TypeReference 1651953 1651958 + Identifier 1651953 1651958 + BooleanKeyword 1651962 1651970 + BooleanKeyword 1651972 1651980 + Block 1651980 1652083 + ReturnStatement 1651982 1652076 + ConditionalExpression 1651998 1652075 + BinaryExpression 1651998 1652027 + PropertyAccessExpression 1651998 1652009 + Identifier 1651998 1652003 + Identifier 1652004 1652009 + AmpersandToken 1652009 1652011 + PropertyAccessExpression 1652011 1652027 + Identifier 1652011 1652021 + Identifier 1652022 1652027 + QuestionToken 1652027 1652029 + CallExpression 1652029 1652065 + Identifier 1652029 1652035 + PropertyAccessExpression 1652036 1652061 + ParenthesizedExpression 1652036 1652055 + AsExpression 1652037 1652054 + Identifier 1652037 1652041 + TypeReference 1652044 1652054 + Identifier 1652044 1652054 + Identifier 1652056 1652061 + Identifier 1652062 1652064 + ColonToken 1652065 1652067 + CallExpression 1652067 1652075 + Identifier 1652067 1652069 + Identifier 1652070 1652074 + FunctionDeclaration 1652083 1652295 + Identifier 1652099 1652118 + Parameter 1652119 1652129 + Identifier 1652119 1652123 + TypeReference 1652124 1652129 + Identifier 1652124 1652129 + Parameter 1652130 1652154 + Identifier 1652130 1652132 + FunctionType 1652133 1652154 + Parameter 1652135 1652142 + Identifier 1652135 1652136 + TypeReference 1652137 1652142 + Identifier 1652137 1652142 + BooleanKeyword 1652146 1652154 + BooleanKeyword 1652156 1652164 + Block 1652164 1652295 + ReturnStatement 1652166 1652288 + ConditionalExpression 1652182 1652287 + BinaryExpression 1652182 1652225 + PropertyAccessExpression 1652182 1652193 + Identifier 1652182 1652187 + Identifier 1652188 1652193 + AmpersandToken 1652193 1652195 + PropertyAccessExpression 1652195 1652225 + Identifier 1652195 1652205 + Identifier 1652206 1652225 + QuestionToken 1652225 1652227 + CallExpression 1652227 1652277 + Identifier 1652227 1652233 + PropertyAccessExpression 1652234 1652273 + ParenthesizedExpression 1652234 1652267 + AsExpression 1652235 1652266 + Identifier 1652235 1652239 + TypeReference 1652242 1652266 + Identifier 1652242 1652266 + Identifier 1652268 1652273 + Identifier 1652274 1652276 + ColonToken 1652277 1652279 + CallExpression 1652279 1652287 + Identifier 1652279 1652281 + Identifier 1652282 1652286 + FunctionDeclaration 1652295 1654380 + Identifier 1652311 1652322 + Parameter 1652323 1652333 + Identifier 1652323 1652327 + TypeReference 1652328 1652333 + Identifier 1652328 1652333 + Parameter 1652334 1652358 + Identifier 1652334 1652336 + FunctionType 1652337 1652358 + Parameter 1652339 1652346 + Identifier 1652339 1652340 + TypeReference 1652341 1652346 + Identifier 1652341 1652346 + BooleanKeyword 1652350 1652358 + TypeReference 1652360 1652365 + Identifier 1652360 1652365 + Block 1652365 1654380 + IfStatement 1652367 1654297 + BinaryExpression 1652381 1652409 + PropertyAccessExpression 1652381 1652391 + Identifier 1652381 1652385 + Identifier 1652386 1652391 + AmpersandToken 1652391 1652393 + PropertyAccessExpression 1652393 1652409 + Identifier 1652393 1652403 + Identifier 1652404 1652409 + Block 1652410 1654297 + VariableStatement 1652412 1652466 + VariableDeclarationList 1652412 1652465 + VariableDeclaration 1652431 1652465 + Identifier 1652431 1652437 + PropertyAccessExpression 1652439 1652465 + ParenthesizedExpression 1652439 1652459 + AsExpression 1652441 1652458 + Identifier 1652441 1652445 + TypeReference 1652448 1652458 + Identifier 1652448 1652458 + Identifier 1652460 1652465 + VariableStatement 1652466 1652514 + VariableDeclarationList 1652466 1652513 + VariableDeclaration 1652485 1652513 + Identifier 1652485 1652494 + CallExpression 1652496 1652513 + Identifier 1652496 1652503 + Identifier 1652504 1652509 + Identifier 1652510 1652512 + IfStatement 1652514 1652598 + BinaryExpression 1652532 1652550 + Identifier 1652532 1652540 + EqualsEqualsEqualsToken 1652540 1652544 + Identifier 1652544 1652550 + Block 1652551 1652598 + ReturnStatement 1652553 1652583 + Identifier 1652577 1652582 + VariableStatement 1652598 1652654 + VariableDeclarationList 1652598 1652653 + VariableDeclaration 1652617 1652653 + Identifier 1652617 1652624 + PropertyAccessExpression 1652626 1652653 + ParenthesizedExpression 1652626 1652646 + AsExpression 1652628 1652645 + Identifier 1652628 1652632 + TypeReference 1652635 1652645 + Identifier 1652635 1652645 + Identifier 1652647 1652653 + VariableStatement 1652654 1652700 + VariableDeclarationList 1652654 1652699 + VariableDeclaration 1652671 1652699 + Identifier 1652671 1652681 + UnionType 1652682 1652699 + TypeReference 1652682 1652687 + Identifier 1652682 1652687 + UndefinedKeyword 1652689 1652699 + IfStatement 1652700 1653843 + BinaryExpression 1652718 1652758 + Identifier 1652718 1652724 + AmpersandAmpersandToken 1652724 1652727 + BinaryExpression 1652727 1652758 + PropertyAccessExpression 1652727 1652740 + Identifier 1652727 1652734 + Identifier 1652735 1652740 + AmpersandToken 1652740 1652742 + PropertyAccessExpression 1652742 1652758 + Identifier 1652742 1652752 + Identifier 1652753 1652758 + Block 1652759 1653843 + VariableStatement 1652761 1653369 + VariableDeclarationList 1652761 1653368 + VariableDeclaration 1653326 1653368 + Identifier 1653326 1653338 + PropertyAccessExpression 1653340 1653368 + ParenthesizedExpression 1653340 1653362 + AsExpression 1653342 1653361 + Identifier 1653342 1653348 + TypeReference 1653351 1653361 + Identifier 1653351 1653361 + Identifier 1653363 1653368 + VariableStatement 1653369 1653474 + VariableDeclarationList 1653369 1653473 + VariableDeclaration 1653392 1653473 + Identifier 1653392 1653407 + CallExpression 1653409 1653473 + Identifier 1653409 1653416 + Identifier 1653417 1653428 + ArrowFunction 1653429 1653472 + Parameter 1653429 1653431 + Identifier 1653429 1653431 + EqualsGreaterThanToken 1653431 1653434 + BinaryExpression 1653434 1653472 + PrefixUnaryExpression 1653434 1653464 + PrefixUnaryExpression 1653436 1653464 + ParenthesizedExpression 1653437 1653464 + BinaryExpression 1653438 1653463 + PropertyAccessExpression 1653438 1653445 + Identifier 1653438 1653439 + Identifier 1653440 1653445 + AmpersandToken 1653445 1653447 + PropertyAccessExpression 1653447 1653463 + Identifier 1653447 1653457 + Identifier 1653458 1653463 + BarBarToken 1653464 1653467 + CallExpression 1653467 1653472 + Identifier 1653467 1653469 + Identifier 1653470 1653471 + IfStatement 1653474 1653828 + BinaryExpression 1653496 1653573 + BinaryExpression 1653496 1653538 + PropertyAccessExpression 1653496 1653514 + Identifier 1653496 1653507 + Identifier 1653508 1653514 + MinusToken 1653514 1653516 + PropertyAccessExpression 1653516 1653538 + Identifier 1653516 1653531 + Identifier 1653532 1653538 + EqualsEqualsEqualsToken 1653538 1653542 + BinaryExpression 1653542 1653573 + PropertyAccessExpression 1653542 1653555 + Identifier 1653542 1653548 + Identifier 1653549 1653555 + MinusToken 1653555 1653557 + PropertyAccessExpression 1653557 1653573 + Identifier 1653557 1653566 + Identifier 1653567 1653573 + Block 1653574 1653828 + IfStatement 1653576 1653706 + BinaryExpression 1653602 1653629 + PropertyAccessExpression 1653602 1653623 + Identifier 1653602 1653616 + Identifier 1653617 1653623 + EqualsEqualsEqualsToken 1653623 1653627 + NumericLiteral 1653627 1653629 + Block 1653630 1653706 + ReturnStatement 1653632 1653683 + ElementAccessExpression 1653664 1653682 + Identifier 1653664 1653679 + NumericLiteral 1653680 1653681 + ExpressionStatement 1653706 1653809 + BinaryExpression 1653706 1653808 + Identifier 1653706 1653737 + EqualsToken 1653737 1653739 + CallExpression 1653739 1653808 + Identifier 1653739 1653775 + PropertyAccessExpression 1653776 1653791 + Identifier 1653776 1653785 + Identifier 1653786 1653791 + Identifier 1653792 1653807 + ReturnStatement 1653843 1654286 + CallExpression 1654076 1654285 + Identifier 1654076 1654103 + Identifier 1654104 1654112 + BinaryExpression 1654113 1654212 + PropertyAccessExpression 1654113 1654145 + ParenthesizedExpression 1654113 1654133 + AsExpression 1654115 1654132 + Identifier 1654115 1654119 + TypeReference 1654122 1654132 + Identifier 1654122 1654132 + Identifier 1654134 1654145 + AmpersandToken 1654145 1654147 + ParenthesizedExpression 1654147 1654212 + BinaryExpression 1654149 1654211 + PropertyAccessExpression 1654149 1654175 + Identifier 1654149 1654160 + Identifier 1654161 1654175 + BarToken 1654175 1654177 + PropertyAccessExpression 1654177 1654211 + Identifier 1654177 1654189 + Identifier 1654190 1654211 + Identifier 1654213 1654239 + Identifier 1654240 1654273 + Identifier 1654274 1654284 + ReturnStatement 1654297 1654373 + ConditionalExpression 1654313 1654372 + BinaryExpression 1654313 1654353 + BinaryExpression 1654313 1654342 + PropertyAccessExpression 1654313 1654324 + Identifier 1654313 1654318 + Identifier 1654319 1654324 + AmpersandToken 1654324 1654326 + PropertyAccessExpression 1654326 1654342 + Identifier 1654326 1654336 + Identifier 1654337 1654342 + BarBarToken 1654342 1654345 + CallExpression 1654345 1654353 + Identifier 1654345 1654347 + Identifier 1654348 1654352 + QuestionToken 1654353 1654355 + Identifier 1654355 1654360 + ColonToken 1654360 1654362 + Identifier 1654362 1654372 + FunctionDeclaration 1654380 1654503 + Identifier 1654396 1654407 + Parameter 1654408 1654418 + Identifier 1654408 1654412 + TypeReference 1654413 1654418 + Identifier 1654413 1654418 + Parameter 1654419 1654436 + Identifier 1654419 1654430 + TypeReference 1654431 1654436 + Identifier 1654431 1654436 + Block 1654437 1654503 + ReturnStatement 1654439 1654496 + CallExpression 1654455 1654495 + Identifier 1654455 1654466 + Identifier 1654467 1654471 + ArrowFunction 1654472 1654494 + Parameter 1654472 1654474 + Identifier 1654472 1654474 + EqualsGreaterThanToken 1654474 1654477 + BinaryExpression 1654477 1654494 + Identifier 1654477 1654479 + ExclamationEqualsEqualsToken 1654479 1654483 + Identifier 1654483 1654494 + FunctionDeclaration 1654503 1654636 + Identifier 1654519 1654530 + Parameter 1654531 1654541 + Identifier 1654531 1654535 + TypeReference 1654536 1654541 + Identifier 1654536 1654541 + Block 1654542 1654636 + ReturnStatement 1654544 1654629 + ConditionalExpression 1654560 1654628 + BinaryExpression 1654560 1654589 + PropertyAccessExpression 1654560 1654571 + Identifier 1654560 1654565 + Identifier 1654566 1654571 + AmpersandToken 1654571 1654573 + PropertyAccessExpression 1654573 1654589 + Identifier 1654573 1654583 + Identifier 1654584 1654589 + QuestionToken 1654589 1654591 + PropertyAccessExpression 1654591 1654624 + PropertyAccessExpression 1654591 1654617 + ParenthesizedExpression 1654591 1654611 + AsExpression 1654593 1654610 + Identifier 1654593 1654597 + TypeReference 1654600 1654610 + Identifier 1654600 1654610 + Identifier 1654612 1654617 + Identifier 1654618 1654624 + ColonToken 1654624 1654626 + NumericLiteral 1654626 1654628 + FunctionDeclaration 1654636 1654961 + Identifier 1654883 1654891 + Parameter 1654892 1654902 + Identifier 1654892 1654896 + TypeReference 1654897 1654902 + Identifier 1654897 1654902 + Parameter 1654903 1654929 + Identifier 1654903 1654910 + FunctionType 1654911 1654929 + Parameter 1654913 1654920 + Identifier 1654913 1654914 + TypeReference 1654915 1654920 + Identifier 1654915 1654920 + TypeReference 1654924 1654929 + Identifier 1654924 1654929 + Parameter 1654930 1654953 + Identifier 1654930 1654943 + QuestionToken 1654943 1654944 + BooleanKeyword 1654945 1654953 + TypeReference 1654955 1654960 + Identifier 1654955 1654960 + FunctionDeclaration 1654961 1655077 + Identifier 1654975 1654983 + Parameter 1654984 1654994 + Identifier 1654984 1654988 + TypeReference 1654989 1654994 + Identifier 1654989 1654994 + Parameter 1654995 1655033 + Identifier 1654995 1655002 + FunctionType 1655003 1655033 + Parameter 1655005 1655012 + Identifier 1655005 1655006 + TypeReference 1655007 1655012 + Identifier 1655007 1655012 + UnionType 1655016 1655033 + TypeReference 1655016 1655021 + Identifier 1655016 1655021 + UndefinedKeyword 1655023 1655033 + Parameter 1655034 1655057 + Identifier 1655034 1655047 + QuestionToken 1655047 1655048 + BooleanKeyword 1655049 1655057 + UnionType 1655059 1655076 + TypeReference 1655059 1655064 + Identifier 1655059 1655064 + UndefinedKeyword 1655066 1655076 + FunctionDeclaration 1655077 1656182 + Identifier 1655091 1655099 + Parameter 1655100 1655110 + Identifier 1655100 1655104 + TypeReference 1655105 1655110 + Identifier 1655105 1655110 + Parameter 1655111 1655149 + Identifier 1655111 1655118 + FunctionType 1655119 1655149 + Parameter 1655121 1655128 + Identifier 1655121 1655122 + TypeReference 1655123 1655128 + Identifier 1655123 1655128 + UnionType 1655132 1655149 + TypeReference 1655132 1655137 + Identifier 1655132 1655137 + UndefinedKeyword 1655139 1655149 + Parameter 1655150 1655173 + Identifier 1655150 1655163 + QuestionToken 1655163 1655164 + BooleanKeyword 1655165 1655173 + UnionType 1655175 1655192 + TypeReference 1655175 1655180 + Identifier 1655175 1655180 + UndefinedKeyword 1655182 1655192 + Block 1655192 1656182 + IfStatement 1655194 1655276 + BinaryExpression 1655208 1655236 + PropertyAccessExpression 1655208 1655218 + Identifier 1655208 1655212 + Identifier 1655213 1655218 + AmpersandToken 1655218 1655220 + PropertyAccessExpression 1655220 1655236 + Identifier 1655220 1655230 + Identifier 1655231 1655236 + Block 1655237 1655276 + ReturnStatement 1655239 1655265 + Identifier 1655259 1655264 + IfStatement 1655276 1655369 + PrefixUnaryExpression 1655290 1655321 + ParenthesizedExpression 1655291 1655321 + BinaryExpression 1655292 1655320 + PropertyAccessExpression 1655292 1655302 + Identifier 1655292 1655296 + Identifier 1655297 1655302 + AmpersandToken 1655302 1655304 + PropertyAccessExpression 1655304 1655320 + Identifier 1655304 1655314 + Identifier 1655315 1655320 + Block 1655322 1655369 + ReturnStatement 1655324 1655358 + CallExpression 1655344 1655357 + Identifier 1655344 1655351 + Identifier 1655352 1655356 + VariableStatement 1655369 1655421 + VariableDeclarationList 1655369 1655420 + VariableDeclaration 1655384 1655420 + Identifier 1655384 1655391 + PropertyAccessExpression 1655393 1655420 + ParenthesizedExpression 1655393 1655413 + AsExpression 1655395 1655412 + Identifier 1655395 1655399 + TypeReference 1655402 1655412 + Identifier 1655402 1655412 + Identifier 1655414 1655420 + VariableStatement 1655421 1655544 + VariableDeclarationList 1655421 1655543 + VariableDeclaration 1655436 1655543 + Identifier 1655436 1655442 + ConditionalExpression 1655444 1655543 + BinaryExpression 1655444 1655485 + Identifier 1655444 1655451 + AmpersandAmpersandToken 1655451 1655454 + BinaryExpression 1655454 1655485 + PropertyAccessExpression 1655454 1655467 + Identifier 1655454 1655461 + Identifier 1655462 1655467 + AmpersandToken 1655467 1655469 + PropertyAccessExpression 1655469 1655485 + Identifier 1655469 1655479 + Identifier 1655480 1655485 + QuestionToken 1655485 1655487 + PropertyAccessExpression 1655487 1655515 + ParenthesizedExpression 1655487 1655509 + AsExpression 1655489 1655508 + Identifier 1655489 1655495 + TypeReference 1655498 1655508 + Identifier 1655498 1655508 + Identifier 1655510 1655515 + ColonToken 1655515 1655517 + PropertyAccessExpression 1655517 1655543 + ParenthesizedExpression 1655517 1655537 + AsExpression 1655519 1655536 + Identifier 1655519 1655523 + TypeReference 1655526 1655536 + Identifier 1655526 1655536 + Identifier 1655538 1655543 + VariableStatement 1655544 1655590 + VariableDeclarationList 1655544 1655589 + VariableDeclaration 1655557 1655589 + Identifier 1655557 1655569 + UnionType 1655570 1655589 + ArrayType 1655570 1655577 + TypeReference 1655570 1655575 + Identifier 1655570 1655575 + UndefinedKeyword 1655579 1655589 + VariableStatement 1655590 1655620 + VariableDeclarationList 1655590 1655619 + VariableDeclaration 1655603 1655619 + Identifier 1655603 1655611 + FalseKeyword 1655613 1655619 + ForOfStatement 1655620 1656039 + VariableDeclarationList 1655635 1655642 + VariableDeclaration 1655640 1655642 + Identifier 1655640 1655642 + Identifier 1655645 1655651 + Block 1655652 1656039 + VariableStatement 1655654 1655756 + VariableDeclarationList 1655654 1655755 + VariableDeclaration 1655673 1655755 + Identifier 1655673 1655680 + ConditionalExpression 1655682 1655755 + BinaryExpression 1655682 1655708 + PropertyAccessExpression 1655682 1655690 + Identifier 1655682 1655684 + Identifier 1655685 1655690 + AmpersandToken 1655690 1655692 + PropertyAccessExpression 1655692 1655708 + Identifier 1655692 1655702 + Identifier 1655703 1655708 + QuestionToken 1655708 1655710 + CallExpression 1655710 1655743 + Identifier 1655710 1655718 + Identifier 1655719 1655720 + Identifier 1655721 1655728 + Identifier 1655729 1655742 + ColonToken 1655743 1655745 + CallExpression 1655745 1655755 + Identifier 1655745 1655752 + Identifier 1655753 1655754 + ExpressionStatement 1655756 1655795 + BinaryExpression 1655756 1655794 + Identifier 1655756 1655777 + BarBarEqualsToken 1655777 1655781 + BinaryExpression 1655781 1655794 + Identifier 1655781 1655783 + ExclamationEqualsEqualsToken 1655783 1655787 + Identifier 1655787 1655794 + IfStatement 1655795 1656028 + Identifier 1655813 1655819 + Block 1655820 1656028 + IfStatement 1655822 1656013 + PrefixUnaryExpression 1655844 1655856 + Identifier 1655845 1655856 + Block 1655857 1655923 + ExpressionStatement 1655859 1655904 + BinaryExpression 1655859 1655903 + Identifier 1655859 1655892 + EqualsToken 1655892 1655894 + ArrayLiteralExpression 1655894 1655903 + Identifier 1655896 1655902 + Block 1655945 1656013 + ExpressionStatement 1655947 1655994 + CallExpression 1655947 1655993 + PropertyAccessExpression 1655947 1655985 + Identifier 1655947 1655980 + Identifier 1655981 1655985 + Identifier 1655986 1655992 + ReturnStatement 1656039 1656175 + ConditionalExpression 1656055 1656174 + Identifier 1656055 1656063 + QuestionToken 1656063 1656065 + BinaryExpression 1656065 1656167 + Identifier 1656065 1656077 + AmpersandAmpersandToken 1656077 1656080 + CallExpression 1656080 1656167 + Identifier 1656080 1656093 + Identifier 1656094 1656105 + ConditionalExpression 1656106 1656166 + Identifier 1656106 1656119 + QuestionToken 1656119 1656121 + PropertyAccessExpression 1656121 1656141 + Identifier 1656121 1656136 + Identifier 1656137 1656141 + ColonToken 1656141 1656143 + PropertyAccessExpression 1656143 1656166 + Identifier 1656143 1656158 + Identifier 1656159 1656166 + ColonToken 1656167 1656169 + Identifier 1656169 1656174 + FunctionDeclaration 1656182 1656568 + Identifier 1656198 1656215 + Parameter 1656216 1656226 + Identifier 1656216 1656220 + TypeReference 1656221 1656226 + Identifier 1656221 1656226 + Parameter 1656227 1656253 + Identifier 1656227 1656234 + FunctionType 1656235 1656253 + Parameter 1656237 1656244 + Identifier 1656237 1656238 + TypeReference 1656239 1656244 + Identifier 1656239 1656244 + TypeReference 1656248 1656253 + Identifier 1656248 1656253 + Parameter 1656254 1656286 + Identifier 1656254 1656266 + UnionType 1656267 1656286 + TypeReference 1656267 1656274 + Identifier 1656267 1656274 + UndefinedKeyword 1656276 1656286 + Parameter 1656287 1656335 + Identifier 1656287 1656306 + UnionType 1656307 1656335 + TypeOperator 1656307 1656323 + ArrayType 1656316 1656323 + TypeReference 1656316 1656321 + Identifier 1656316 1656321 + UndefinedKeyword 1656325 1656335 + Block 1656336 1656568 + ReturnStatement 1656338 1656561 + ConditionalExpression 1656354 1656560 + BinaryExpression 1656354 1656398 + BinaryExpression 1656354 1656383 + PropertyAccessExpression 1656354 1656365 + Identifier 1656354 1656359 + Identifier 1656360 1656365 + AmpersandToken 1656365 1656367 + PropertyAccessExpression 1656367 1656383 + Identifier 1656367 1656377 + Identifier 1656378 1656383 + AmpersandAmpersandToken 1656383 1656386 + Identifier 1656386 1656398 + QuestionToken 1656398 1656400 + CallExpression 1656400 1656523 + Identifier 1656400 1656426 + CallExpression 1656427 1656465 + Identifier 1656427 1656430 + PropertyAccessExpression 1656431 1656456 + ParenthesizedExpression 1656431 1656450 + AsExpression 1656432 1656449 + Identifier 1656432 1656436 + TypeReference 1656439 1656449 + Identifier 1656439 1656449 + Identifier 1656451 1656456 + Identifier 1656457 1656464 + PropertyAccessExpression 1656466 1656489 + Identifier 1656466 1656481 + Identifier 1656482 1656489 + Identifier 1656490 1656502 + Identifier 1656503 1656522 + ColonToken 1656523 1656525 + CallExpression 1656525 1656560 + Identifier 1656525 1656546 + Identifier 1656547 1656551 + Identifier 1656552 1656559 + FunctionDeclaration 1656568 1656704 + Identifier 1656584 1656603 + Parameter 1656604 1656614 + Identifier 1656604 1656608 + TypeReference 1656609 1656614 + Identifier 1656609 1656614 + Parameter 1656615 1656631 + Identifier 1656615 1656620 + TypeReference 1656621 1656631 + Identifier 1656621 1656631 + Block 1656632 1656704 + ReturnStatement 1656634 1656697 + CallExpression 1656650 1656696 + Identifier 1656650 1656661 + Identifier 1656662 1656666 + ArrowFunction 1656667 1656695 + Parameter 1656667 1656669 + Identifier 1656667 1656669 + EqualsGreaterThanToken 1656669 1656672 + BinaryExpression 1656672 1656695 + ParenthesizedExpression 1656672 1656689 + BinaryExpression 1656674 1656688 + PropertyAccessExpression 1656674 1656681 + Identifier 1656674 1656675 + Identifier 1656676 1656681 + AmpersandToken 1656681 1656683 + Identifier 1656683 1656688 + ExclamationEqualsEqualsToken 1656689 1656693 + NumericLiteral 1656693 1656695 + FunctionDeclaration 1656704 1658432 + Identifier 1657228 1657258 + Parameter 1657259 1657283 + Identifier 1657259 1657277 + TypeReference 1657278 1657283 + Identifier 1657278 1657283 + Parameter 1657284 1657307 + Identifier 1657284 1657301 + TypeReference 1657302 1657307 + Identifier 1657302 1657307 + Block 1657308 1658432 + IfStatement 1657310 1658389 + BinaryExpression 1657324 1657638 + CallExpression 1657324 1657457 + Identifier 1657324 1657353 + Identifier 1657354 1657372 + BinaryExpression 1657373 1657456 + BinaryExpression 1657373 1657437 + BinaryExpression 1657373 1657418 + PropertyAccessExpression 1657373 1657390 + Identifier 1657373 1657383 + Identifier 1657384 1657390 + BarToken 1657390 1657392 + PropertyAccessExpression 1657392 1657418 + Identifier 1657392 1657402 + Identifier 1657403 1657418 + BarToken 1657418 1657420 + PropertyAccessExpression 1657420 1657437 + Identifier 1657420 1657430 + Identifier 1657431 1657437 + BarToken 1657437 1657439 + PropertyAccessExpression 1657439 1657456 + Identifier 1657439 1657449 + Identifier 1657450 1657456 + AmpersandAmpersandToken 1657457 1657460 + CallExpression 1657460 1657638 + Identifier 1657460 1657489 + Identifier 1657490 1657506 + BinaryExpression 1657507 1657637 + BinaryExpression 1657507 1657611 + BinaryExpression 1657507 1657585 + BinaryExpression 1657507 1657559 + PropertyAccessExpression 1657507 1657531 + Identifier 1657507 1657517 + Identifier 1657518 1657531 + BarToken 1657531 1657533 + PropertyAccessExpression 1657533 1657559 + Identifier 1657533 1657543 + Identifier 1657544 1657559 + BarToken 1657559 1657561 + PropertyAccessExpression 1657561 1657585 + Identifier 1657561 1657571 + Identifier 1657572 1657585 + BarToken 1657585 1657587 + PropertyAccessExpression 1657587 1657611 + Identifier 1657587 1657597 + Identifier 1657598 1657611 + BarToken 1657611 1657613 + PropertyAccessExpression 1657613 1657637 + Identifier 1657613 1657623 + Identifier 1657624 1657637 + Block 1657649 1658389 + ReturnStatement 1657651 1658378 + CallExpression 1657671 1658377 + Identifier 1657671 1657679 + Identifier 1657680 1657698 + ArrowFunction 1657699 1658376 + Parameter 1657699 1657701 + Identifier 1657699 1657701 + EqualsGreaterThanToken 1657701 1657704 + ConditionalExpression 1657704 1658376 + BinaryExpression 1657704 1657748 + PropertyAccessExpression 1657704 1657729 + Identifier 1657704 1657723 + Identifier 1657724 1657729 + AmpersandToken 1657729 1657731 + PropertyAccessExpression 1657731 1657748 + Identifier 1657731 1657741 + Identifier 1657742 1657748 + QuestionToken 1657748 1657750 + CallExpression 1657750 1657885 + Identifier 1657750 1657769 + Identifier 1657770 1657786 + BinaryExpression 1657787 1657884 + BinaryExpression 1657787 1657858 + BinaryExpression 1657787 1657830 + PropertyAccessExpression 1657787 1657804 + Identifier 1657787 1657797 + Identifier 1657798 1657804 + BarToken 1657804 1657806 + PropertyAccessExpression 1657806 1657830 + Identifier 1657806 1657816 + Identifier 1657817 1657830 + BarToken 1657830 1657832 + PropertyAccessExpression 1657832 1657858 + Identifier 1657832 1657842 + Identifier 1657843 1657858 + BarToken 1657858 1657860 + PropertyAccessExpression 1657860 1657884 + Identifier 1657860 1657870 + Identifier 1657871 1657884 + ColonToken 1657885 1657887 + ConditionalExpression 1657887 1658376 + BinaryExpression 1657887 1658042 + CallExpression 1657887 1657932 + Identifier 1657887 1657929 + Identifier 1657930 1657931 + AmpersandAmpersandToken 1657932 1657935 + PrefixUnaryExpression 1657935 1658042 + CallExpression 1657937 1658042 + Identifier 1657937 1657952 + Identifier 1657953 1657969 + BinaryExpression 1657970 1658041 + BinaryExpression 1657970 1658015 + PropertyAccessExpression 1657970 1657987 + Identifier 1657970 1657980 + Identifier 1657981 1657987 + BarToken 1657987 1657989 + PropertyAccessExpression 1657989 1658015 + Identifier 1657989 1657999 + Identifier 1658000 1658015 + BarToken 1658015 1658017 + PropertyAccessExpression 1658017 1658041 + Identifier 1658017 1658027 + Identifier 1658028 1658041 + QuestionToken 1658042 1658044 + CallExpression 1658044 1658106 + Identifier 1658044 1658063 + Identifier 1658064 1658080 + PropertyAccessExpression 1658081 1658105 + Identifier 1658081 1658091 + Identifier 1658092 1658105 + ColonToken 1658106 1658108 + ConditionalExpression 1658108 1658376 + BinaryExpression 1658108 1658156 + PropertyAccessExpression 1658108 1658137 + Identifier 1658108 1658131 + Identifier 1658132 1658137 + AmpersandToken 1658137 1658139 + PropertyAccessExpression 1658139 1658156 + Identifier 1658139 1658149 + Identifier 1658150 1658156 + QuestionToken 1658156 1658158 + CallExpression 1658158 1658239 + Identifier 1658158 1658177 + Identifier 1658178 1658194 + BinaryExpression 1658195 1658238 + PropertyAccessExpression 1658195 1658212 + Identifier 1658195 1658205 + Identifier 1658206 1658212 + BarToken 1658212 1658214 + PropertyAccessExpression 1658214 1658238 + Identifier 1658214 1658224 + Identifier 1658225 1658238 + ColonToken 1658239 1658241 + ConditionalExpression 1658241 1658376 + BinaryExpression 1658241 1658289 + PropertyAccessExpression 1658241 1658270 + Identifier 1658241 1658264 + Identifier 1658265 1658270 + AmpersandToken 1658270 1658272 + PropertyAccessExpression 1658272 1658289 + Identifier 1658272 1658282 + Identifier 1658283 1658289 + QuestionToken 1658289 1658291 + CallExpression 1658291 1658372 + Identifier 1658291 1658310 + Identifier 1658311 1658327 + BinaryExpression 1658328 1658371 + PropertyAccessExpression 1658328 1658345 + Identifier 1658328 1658338 + Identifier 1658339 1658345 + BarToken 1658345 1658347 + PropertyAccessExpression 1658347 1658371 + Identifier 1658347 1658357 + Identifier 1658358 1658371 + ColonToken 1658372 1658374 + Identifier 1658374 1658376 + ReturnStatement 1658389 1658425 + Identifier 1658405 1658424 + FunctionDeclaration 1658432 1658528 + Identifier 1658448 1658461 + Parameter 1658462 1658480 + Identifier 1658462 1658470 + TypeReference 1658471 1658480 + Identifier 1658471 1658480 + Block 1658481 1658528 + ReturnStatement 1658483 1658521 + BinaryExpression 1658499 1658520 + PropertyAccessExpression 1658499 1658514 + Identifier 1658499 1658508 + Identifier 1658509 1658514 + EqualsEqualsEqualsToken 1658514 1658518 + NumericLiteral 1658518 1658520 + FunctionDeclaration 1658528 1658666 + Identifier 1658544 1658564 + Parameter 1658565 1658583 + Identifier 1658565 1658573 + TypeReference 1658574 1658583 + Identifier 1658574 1658583 + Block 1658584 1658666 + ReturnStatement 1658586 1658659 + ConditionalExpression 1658602 1658658 + BinaryExpression 1658602 1658623 + PropertyAccessExpression 1658602 1658617 + Identifier 1658602 1658611 + Identifier 1658612 1658617 + EqualsEqualsEqualsToken 1658617 1658621 + NumericLiteral 1658621 1658623 + QuestionToken 1658623 1658625 + PropertyAccessExpression 1658625 1658639 + Identifier 1658625 1658634 + Identifier 1658635 1658639 + ColonToken 1658639 1658641 + AsExpression 1658641 1658658 + Identifier 1658641 1658650 + TypeReference 1658653 1658658 + Identifier 1658653 1658658 + FunctionDeclaration 1658666 1658860 + Identifier 1658682 1658697 + Parameter 1658698 1658708 + Identifier 1658698 1658702 + TypeReference 1658703 1658708 + Identifier 1658703 1658708 + Parameter 1658709 1658729 + Identifier 1658709 1658720 + BooleanKeyword 1658721 1658729 + TypeReference 1658731 1658740 + Identifier 1658731 1658740 + Block 1658740 1658860 + ReturnStatement 1658742 1658853 + ConditionalExpression 1658758 1658852 + Identifier 1658758 1658769 + QuestionToken 1658769 1658771 + ObjectLiteralExpression 1658771 1658845 + PropertyAssignment 1658773 1658782 + Identifier 1658773 1658779 + NumericLiteral 1658780 1658782 + PropertyAssignment 1658783 1658843 + Identifier 1658783 1658788 + ConditionalExpression 1658789 1658843 + BinaryExpression 1658789 1658818 + PropertyAccessExpression 1658789 1658800 + Identifier 1658789 1658794 + Identifier 1658795 1658800 + AmpersandToken 1658800 1658802 + PropertyAccessExpression 1658802 1658818 + Identifier 1658802 1658812 + Identifier 1658813 1658818 + QuestionToken 1658818 1658820 + Identifier 1658820 1658836 + ColonToken 1658836 1658838 + Identifier 1658838 1658843 + ColonToken 1658845 1658847 + Identifier 1658847 1658852 + FunctionDeclaration 1658860 1659443 + Identifier 1659215 1659239 + Parameter 1659240 1659257 + Identifier 1659240 1659251 + TypeReference 1659252 1659257 + Identifier 1659252 1659257 + TypeReference 1659259 1659277 + Identifier 1659259 1659277 + Block 1659277 1659443 + VariableStatement 1659279 1659369 + VariableDeclarationList 1659279 1659368 + VariableDeclaration 1659294 1659368 + Identifier 1659294 1659301 + AsExpression 1659303 1659368 + CallExpression 1659303 1659347 + Identifier 1659303 1659320 + PropertyAccessExpression 1659321 1659346 + Identifier 1659321 1659332 + Identifier 1659333 1659346 + TypeReference 1659350 1659368 + Identifier 1659350 1659368 + ExpressionStatement 1659369 1659412 + BinaryExpression 1659369 1659411 + PropertyAccessExpression 1659369 1659397 + Identifier 1659369 1659385 + Identifier 1659386 1659397 + EqualsToken 1659397 1659399 + Identifier 1659399 1659411 + ReturnStatement 1659412 1659436 + Identifier 1659428 1659435 + FunctionDeclaration 1659443 1659658 + Identifier 1659459 1659480 + Parameter 1659481 1659498 + Identifier 1659481 1659492 + TypeReference 1659493 1659498 + Identifier 1659493 1659498 + TypeReference 1659500 1659518 + Identifier 1659500 1659518 + Block 1659518 1659658 + ReturnStatement 1659520 1659651 + BinaryExpression 1659536 1659650 + ElementAccessExpression 1659536 1659571 + Identifier 1659536 1659555 + PropertyAccessExpression 1659556 1659570 + Identifier 1659556 1659567 + Identifier 1659568 1659570 + BarBarToken 1659571 1659574 + ParenthesizedExpression 1659574 1659650 + BinaryExpression 1659576 1659649 + ElementAccessExpression 1659576 1659610 + Identifier 1659576 1659594 + PropertyAccessExpression 1659595 1659609 + Identifier 1659595 1659606 + Identifier 1659607 1659609 + EqualsToken 1659610 1659612 + CallExpression 1659612 1659649 + Identifier 1659612 1659636 + Identifier 1659637 1659648 + FunctionDeclaration 1659658 1660298 + Identifier 1659883 1659911 + Parameter 1659912 1659948 + Identifier 1659912 1659929 + TypeReference 1659930 1659948 + Identifier 1659930 1659948 + Parameter 1659949 1659966 + Identifier 1659949 1659954 + TypeReference 1659955 1659966 + Identifier 1659955 1659966 + TypeReference 1659968 1659986 + Identifier 1659968 1659986 + Block 1659986 1660298 + VariableStatement 1659988 1660112 + VariableDeclarationList 1659988 1660111 + VariableDeclaration 1660003 1660111 + Identifier 1660003 1660015 + CallExpression 1660017 1660111 + Identifier 1660017 1660047 + CallExpression 1660048 1660110 + Identifier 1660048 1660072 + CallExpression 1660073 1660109 + Identifier 1660073 1660103 + Identifier 1660104 1660108 + ReturnStatement 1660112 1660291 + ConditionalExpression 1660128 1660290 + CallExpression 1660128 1660187 + Identifier 1660128 1660143 + Identifier 1660144 1660155 + PropertyAccessExpression 1660156 1660186 + Identifier 1660156 1660174 + Identifier 1660175 1660186 + QuestionToken 1660187 1660189 + Identifier 1660189 1660207 + ColonToken 1660207 1660209 + CallExpression 1660209 1660290 + Identifier 1660209 1660230 + CallExpression 1660231 1660289 + Identifier 1660231 1660243 + ArrayLiteralExpression 1660244 1660288 + PropertyAccessExpression 1660245 1660274 + Identifier 1660245 1660262 + Identifier 1660263 1660274 + Identifier 1660275 1660287 + FunctionDeclaration 1660298 1660675 + Identifier 1660314 1660335 + Parameter 1660336 1660353 + Identifier 1660336 1660347 + TypeReference 1660348 1660353 + Identifier 1660348 1660353 + Block 1660354 1660675 + ReturnStatement 1660356 1660668 + ConditionalExpression 1660372 1660667 + BinaryExpression 1660372 1660408 + PropertyAccessExpression 1660372 1660390 + Identifier 1660372 1660384 + Identifier 1660385 1660390 + AmpersandToken 1660390 1660392 + PropertyAccessExpression 1660392 1660408 + Identifier 1660392 1660402 + Identifier 1660403 1660408 + QuestionToken 1660408 1660410 + Identifier 1660410 1660437 + ColonToken 1660437 1660439 + CallExpression 1660439 1660667 + Identifier 1660439 1660468 + ConditionalExpression 1660469 1660651 + BinaryExpression 1660469 1660522 + PropertyAccessExpression 1660469 1660504 + Identifier 1660469 1660498 + Identifier 1660499 1660504 + AmpersandToken 1660504 1660506 + PropertyAccessExpression 1660506 1660522 + Identifier 1660506 1660516 + Identifier 1660517 1660522 + QuestionToken 1660522 1660524 + CallExpression 1660524 1660616 + Identifier 1660524 1660558 + PropertyAccessExpression 1660559 1660591 + ParenthesizedExpression 1660559 1660585 + AsExpression 1660560 1660584 + Identifier 1660560 1660571 + TypeReference 1660574 1660584 + Identifier 1660574 1660584 + Identifier 1660586 1660591 + PropertyAccessExpression 1660592 1660615 + Identifier 1660592 1660607 + Identifier 1660608 1660615 + ColonToken 1660616 1660618 + Identifier 1660618 1660651 + FunctionDeclaration 1660675 1661006 + Identifier 1660793 1660811 + Parameter 1660812 1660848 + Identifier 1660812 1660829 + TypeReference 1660830 1660848 + Identifier 1660830 1660848 + TypeReference 1660850 1660855 + Identifier 1660850 1660855 + Block 1660855 1661006 + ReturnStatement 1660857 1660999 + BinaryExpression 1660873 1660998 + PropertyAccessExpression 1660873 1660906 + Identifier 1660873 1660891 + Identifier 1660892 1660906 + BarBarToken 1660906 1660909 + ParenthesizedExpression 1660909 1660998 + BinaryExpression 1660911 1660997 + PropertyAccessExpression 1660911 1660943 + Identifier 1660911 1660928 + Identifier 1660929 1660943 + EqualsToken 1660943 1660945 + CallExpression 1660945 1660997 + Identifier 1660945 1660966 + PropertyAccessExpression 1660967 1660996 + Identifier 1660967 1660984 + Identifier 1660985 1660996 + FunctionDeclaration 1661006 1661195 + Identifier 1661022 1661048 + Parameter 1661049 1661059 + Identifier 1661049 1661053 + TypeReference 1661054 1661059 + Identifier 1661054 1661059 + TypeReference 1661061 1661066 + Identifier 1661061 1661066 + Block 1661066 1661195 + ReturnStatement 1661068 1661188 + ConditionalExpression 1661084 1661187 + BinaryExpression 1661084 1661133 + CallExpression 1661084 1661105 + Identifier 1661084 1661099 + Identifier 1661100 1661104 + AmpersandToken 1661105 1661107 + PropertyAccessExpression 1661107 1661133 + Identifier 1661107 1661119 + Identifier 1661120 1661133 + QuestionToken 1661133 1661135 + CallExpression 1661135 1661180 + Identifier 1661135 1661153 + AsExpression 1661154 1661179 + Identifier 1661154 1661158 + TypeReference 1661161 1661179 + Identifier 1661161 1661179 + ColonToken 1661180 1661182 + Identifier 1661182 1661187 + FunctionDeclaration 1661195 1661386 + Identifier 1661211 1661245 + Parameter 1661246 1661256 + Identifier 1661246 1661250 + TypeReference 1661251 1661256 + Identifier 1661251 1661256 + Block 1661257 1661386 + ReturnStatement 1661259 1661379 + ConditionalExpression 1661275 1661378 + BinaryExpression 1661275 1661324 + CallExpression 1661275 1661296 + Identifier 1661275 1661290 + Identifier 1661291 1661295 + AmpersandToken 1661296 1661298 + PropertyAccessExpression 1661298 1661324 + Identifier 1661298 1661310 + Identifier 1661311 1661324 + QuestionToken 1661324 1661326 + PropertyAccessExpression 1661326 1661366 + ParenthesizedExpression 1661326 1661354 + AsExpression 1661328 1661353 + Identifier 1661328 1661332 + TypeReference 1661335 1661353 + Identifier 1661335 1661353 + Identifier 1661355 1661366 + ColonToken 1661366 1661368 + Identifier 1661368 1661378 + FunctionDeclaration 1661386 1661813 + Identifier 1661402 1661426 + Parameter 1661427 1661440 + Identifier 1661427 1661432 + ArrayType 1661433 1661440 + TypeReference 1661433 1661438 + Identifier 1661433 1661438 + Block 1661441 1661813 + VariableStatement 1661443 1661486 + VariableDeclarationList 1661443 1661485 + VariableDeclaration 1661456 1661485 + Identifier 1661456 1661477 + FalseKeyword 1661479 1661485 + ForOfStatement 1661486 1661768 + VariableDeclarationList 1661501 1661508 + VariableDeclaration 1661506 1661508 + Identifier 1661506 1661508 + Identifier 1661511 1661517 + Block 1661518 1661768 + IfStatement 1661520 1661757 + PrefixUnaryExpression 1661538 1661566 + ParenthesizedExpression 1661539 1661566 + BinaryExpression 1661540 1661565 + PropertyAccessExpression 1661540 1661547 + Identifier 1661540 1661541 + Identifier 1661542 1661547 + AmpersandToken 1661547 1661549 + PropertyAccessExpression 1661549 1661565 + Identifier 1661549 1661559 + Identifier 1661560 1661565 + Block 1661567 1661757 + IfStatement 1661569 1661696 + PrefixUnaryExpression 1661591 1661639 + ParenthesizedExpression 1661592 1661639 + BinaryExpression 1661593 1661638 + CallExpression 1661593 1661610 + Identifier 1661593 1661607 + Identifier 1661608 1661609 + AmpersandToken 1661610 1661612 + PropertyAccessExpression 1661612 1661638 + Identifier 1661612 1661624 + Identifier 1661625 1661638 + Block 1661640 1661696 + ReturnStatement 1661642 1661677 + FalseKeyword 1661670 1661676 + ExpressionStatement 1661696 1661742 + BinaryExpression 1661696 1661741 + Identifier 1661696 1661734 + EqualsToken 1661734 1661736 + TrueKeyword 1661736 1661741 + ReturnStatement 1661768 1661806 + Identifier 1661784 1661805 + FunctionDeclaration 1661813 1663129 + Identifier 1662038 1662069 + Parameter 1662070 1662080 + Identifier 1662070 1662074 + TypeReference 1662075 1662080 + Identifier 1662075 1662080 + Block 1662081 1663129 + VariableStatement 1662083 1662129 + VariableDeclarationList 1662083 1662128 + VariableDeclaration 1662098 1662128 + Identifier 1662098 1662103 + CallExpression 1662105 1662128 + Identifier 1662105 1662122 + Identifier 1662123 1662127 + VariableStatement 1662129 1662166 + VariableDeclarationList 1662129 1662165 + VariableDeclaration 1662144 1662165 + Identifier 1662144 1662151 + PropertyAccessExpression 1662153 1662165 + Identifier 1662153 1662158 + Identifier 1662159 1662165 + VariableStatement 1662166 1662477 + VariableDeclarationList 1662166 1662476 + VariableDeclaration 1662181 1662476 + Identifier 1662181 1662203 + BinaryExpression 1662205 1662476 + CallExpression 1662205 1662240 + Identifier 1662205 1662232 + Identifier 1662233 1662239 + AmpersandAmpersandToken 1662240 1662243 + ParenthesizedExpression 1662243 1662476 + BinaryExpression 1662245 1662465 + BinaryExpression 1662245 1662295 + PropertyAccessExpression 1662245 1662282 + PropertyAccessExpression 1662245 1662270 + Identifier 1662245 1662265 + Identifier 1662266 1662270 + Identifier 1662271 1662282 + EqualsEqualsEqualsToken 1662282 1662286 + StringLiteral 1662286 1662295 + BarBarToken 1662295 1662298 + BinaryExpression 1662298 1662465 + BinaryExpression 1662298 1662406 + BinaryExpression 1662298 1662360 + PropertyAccessExpression 1662298 1662330 + PropertyAccessExpression 1662298 1662325 + Identifier 1662298 1662318 + Identifier 1662319 1662325 + Identifier 1662326 1662330 + EqualsEqualsEqualsToken 1662330 1662334 + PropertyAccessExpression 1662334 1662360 + Identifier 1662334 1662345 + Identifier 1662346 1662360 + AmpersandAmpersandToken 1662360 1662380 + CallExpression 1662380 1662406 + Identifier 1662380 1662393 + PropertyAccessExpression 1662394 1662405 + Identifier 1662394 1662400 + Identifier 1662401 1662405 + AmpersandAmpersandToken 1662406 1662426 + CallExpression 1662426 1662465 + Identifier 1662426 1662452 + PropertyAccessExpression 1662453 1662464 + Identifier 1662453 1662459 + Identifier 1662460 1662464 + VariableStatement 1662477 1663060 + VariableDeclarationList 1662477 1663059 + VariableDeclaration 1662492 1663059 + Identifier 1662492 1662512 + BinaryExpression 1662514 1663059 + BinaryExpression 1662514 1662921 + BinaryExpression 1662514 1662870 + BinaryExpression 1662514 1662802 + BinaryExpression 1662514 1662704 + BinaryExpression 1662514 1662637 + BinaryExpression 1662514 1662565 + PropertyAccessExpression 1662514 1662526 + Identifier 1662514 1662521 + Identifier 1662522 1662526 + EqualsEqualsEqualsToken 1662526 1662530 + PropertyAccessExpression 1662530 1662565 + Identifier 1662530 1662541 + Identifier 1662542 1662565 + AmpersandAmpersandToken 1662565 1662568 + BinaryExpression 1662568 1662637 + PropertyAccessExpression 1662568 1662628 + ParenthesizedExpression 1662568 1662617 + AsExpression 1662583 1662616 + Identifier 1662583 1662589 + TypeReference 1662592 1662616 + Identifier 1662592 1662616 + Identifier 1662618 1662628 + EqualsEqualsEqualsToken 1662628 1662632 + Identifier 1662632 1662637 + AmpersandAmpersandToken 1662637 1662640 + BinaryExpression 1662640 1662704 + PropertyAccessExpression 1662640 1662672 + PropertyAccessExpression 1662640 1662667 + Identifier 1662640 1662660 + Identifier 1662661 1662667 + Identifier 1662668 1662672 + EqualsEqualsEqualsToken 1662672 1662676 + PropertyAccessExpression 1662676 1662704 + Identifier 1662676 1662687 + Identifier 1662688 1662704 + AmpersandAmpersandToken 1662704 1662707 + BinaryExpression 1662707 1662802 + PropertyAccessExpression 1662707 1662775 + PropertyAccessExpression 1662707 1662770 + ParenthesizedExpression 1662707 1662756 + AsExpression 1662722 1662755 + PropertyAccessExpression 1662722 1662735 + Identifier 1662722 1662728 + Identifier 1662729 1662735 + TypeReference 1662738 1662755 + Identifier 1662738 1662755 + Identifier 1662757 1662770 + Identifier 1662771 1662775 + EqualsEqualsEqualsToken 1662775 1662779 + PropertyAccessExpression 1662779 1662802 + Identifier 1662779 1662790 + Identifier 1662791 1662802 + AmpersandAmpersandToken 1662802 1662805 + BinaryExpression 1662805 1662870 + PropertyAccessExpression 1662805 1662859 + ParenthesizedExpression 1662805 1662854 + AsExpression 1662820 1662853 + PropertyAccessExpression 1662820 1662833 + Identifier 1662820 1662826 + Identifier 1662827 1662833 + TypeReference 1662836 1662853 + Identifier 1662836 1662853 + Identifier 1662855 1662859 + EqualsEqualsEqualsToken 1662859 1662863 + Identifier 1662863 1662870 + AmpersandAmpersandToken 1662870 1662873 + PrefixUnaryExpression 1662873 1662921 + CallExpression 1662888 1662921 + Identifier 1662888 1662906 + PropertyAccessExpression 1662907 1662920 + Identifier 1662907 1662913 + Identifier 1662914 1662920 + AmpersandAmpersandToken 1662921 1662924 + CallExpression 1662924 1663059 + Identifier 1662924 1662960 + CallExpression 1662961 1663036 + Identifier 1662961 1662980 + PropertyAccessExpression 1662981 1663035 + ParenthesizedExpression 1662981 1663016 + AsExpression 1662982 1663015 + Identifier 1662982 1662988 + TypeReference 1662991 1663015 + Identifier 1662991 1663015 + Identifier 1663017 1663035 + PropertyAccessExpression 1663037 1663058 + Identifier 1663037 1663047 + Identifier 1663048 1663058 + ReturnStatement 1663060 1663122 + BinaryExpression 1663076 1663121 + Identifier 1663076 1663098 + BarBarToken 1663098 1663101 + Identifier 1663101 1663121 + FunctionDeclaration 1663129 1663584 + Identifier 1663145 1663185 + Parameter 1663186 1663203 + Identifier 1663186 1663190 + TypeReference 1663191 1663203 + Identifier 1663191 1663203 + Block 1663204 1663584 + ReturnStatement 1663206 1663577 + BinaryExpression 1663222 1663576 + ParenthesizedExpression 1663222 1663333 + BinaryExpression 1663224 1663332 + BinaryExpression 1663224 1663311 + BinaryExpression 1663224 1663282 + CallExpression 1663224 1663251 + Identifier 1663224 1663245 + Identifier 1663246 1663250 + BarBarToken 1663251 1663254 + CallExpression 1663254 1663282 + Identifier 1663254 1663276 + Identifier 1663277 1663281 + BarBarToken 1663282 1663285 + CallExpression 1663285 1663311 + Identifier 1663285 1663305 + Identifier 1663306 1663310 + BarBarToken 1663311 1663314 + CallExpression 1663314 1663332 + Identifier 1663314 1663326 + Identifier 1663327 1663331 + AmpersandAmpersandToken 1663333 1663336 + PrefixUnaryExpression 1663336 1663576 + PrefixUnaryExpression 1663351 1663576 + ParenthesizedExpression 1663352 1663576 + BinaryExpression 1663353 1663575 + CallExpression 1663353 1663389 + Identifier 1663353 1663383 + Identifier 1663384 1663388 + BarBarToken 1663389 1663392 + BinaryExpression 1663392 1663575 + BinaryExpression 1663392 1663527 + BinaryExpression 1663392 1663470 + BinaryExpression 1663392 1663450 + CallExpression 1663392 1663426 + Identifier 1663392 1663420 + Identifier 1663421 1663425 + AmpersandAmpersandToken 1663426 1663429 + CallExpression 1663429 1663450 + Identifier 1663429 1663444 + Identifier 1663445 1663449 + AmpersandAmpersandToken 1663450 1663453 + PropertyAccessExpression 1663453 1663470 + Identifier 1663453 1663458 + Identifier 1663459 1663470 + AmpersandAmpersandToken 1663470 1663473 + CallExpression 1663473 1663527 + Identifier 1663473 1663509 + PropertyAccessExpression 1663510 1663526 + Identifier 1663510 1663514 + Identifier 1663515 1663526 + AmpersandAmpersandToken 1663527 1663530 + CallExpression 1663530 1663575 + Identifier 1663530 1663557 + PropertyAccessExpression 1663558 1663574 + Identifier 1663558 1663562 + Identifier 1663563 1663574 + FunctionDeclaration 1663584 1665365 + Identifier 1663600 1663624 + Parameter 1663625 1663639 + Identifier 1663625 1663631 + TypeReference 1663632 1663639 + Identifier 1663632 1663639 + Parameter 1663640 1663664 + Identifier 1663640 1663651 + QuestionToken 1663651 1663652 + TypeReference 1663653 1663664 + Identifier 1663653 1663664 + Block 1663665 1665365 + ExpressionStatement 1663667 1663708 + BinaryExpression 1663667 1663707 + Identifier 1663667 1663683 + EqualsToken 1663683 1663685 + CallExpression 1663685 1663707 + Identifier 1663685 1663699 + Identifier 1663700 1663706 + IfStatement 1663708 1663885 + BinaryExpression 1663722 1663826 + PropertyAccessExpression 1663722 1663734 + Identifier 1663722 1663728 + Identifier 1663729 1663734 + AmpersandToken 1663734 1663736 + ParenthesizedExpression 1663736 1663826 + BinaryExpression 1663738 1663825 + BinaryExpression 1663738 1663799 + BinaryExpression 1663738 1663779 + PropertyAccessExpression 1663738 1663758 + Identifier 1663738 1663749 + Identifier 1663750 1663758 + BarToken 1663758 1663760 + PropertyAccessExpression 1663760 1663779 + Identifier 1663760 1663772 + Identifier 1663773 1663779 + BarToken 1663779 1663781 + PropertyAccessExpression 1663781 1663799 + Identifier 1663781 1663793 + Identifier 1663794 1663799 + BarToken 1663799 1663801 + PropertyAccessExpression 1663801 1663825 + Identifier 1663801 1663813 + Identifier 1663814 1663825 + Block 1663827 1663885 + ReturnStatement 1663829 1663874 + CallExpression 1663849 1663873 + Identifier 1663849 1663865 + Identifier 1663866 1663872 + IfStatement 1663885 1665358 + BinaryExpression 1663899 1663959 + PropertyAccessExpression 1663899 1663911 + Identifier 1663899 1663905 + Identifier 1663906 1663911 + AmpersandToken 1663911 1663913 + ParenthesizedExpression 1663913 1663959 + BinaryExpression 1663915 1663958 + PropertyAccessExpression 1663915 1663935 + Identifier 1663915 1663926 + Identifier 1663927 1663935 + BarToken 1663935 1663937 + PropertyAccessExpression 1663937 1663958 + Identifier 1663937 1663949 + Identifier 1663950 1663958 + Block 1663960 1665358 + IfStatement 1663962 1664257 + BinaryExpression 1663980 1664021 + CallExpression 1663980 1664001 + Identifier 1663980 1663993 + Identifier 1663994 1664000 + AmpersandToken 1664001 1664003 + PropertyAccessExpression 1664003 1664021 + Identifier 1664003 1664014 + Identifier 1664015 1664021 + Block 1664022 1664257 + VariableStatement 1664024 1664104 + VariableDeclarationList 1664024 1664103 + VariableDeclaration 1664047 1664103 + Identifier 1664047 1664054 + PropertyAccessExpression 1664056 1664103 + PropertyAccessExpression 1664056 1664087 + ParenthesizedExpression 1664056 1664081 + AsExpression 1664058 1664080 + Identifier 1664058 1664064 + TypeReference 1664067 1664080 + Identifier 1664067 1664080 + Identifier 1664082 1664087 + Identifier 1664088 1664103 + IfStatement 1664104 1664242 + BinaryExpression 1664126 1664167 + Identifier 1664126 1664132 + AmpersandAmpersandToken 1664132 1664135 + CallExpression 1664135 1664167 + Identifier 1664135 1664159 + Identifier 1664160 1664166 + Block 1664168 1664242 + ReturnStatement 1664170 1664223 + CallExpression 1664198 1664222 + Identifier 1664198 1664214 + Identifier 1664215 1664221 + VariableStatement 1664257 1664315 + VariableDeclarationList 1664257 1664314 + VariableDeclaration 1664276 1664314 + Identifier 1664276 1664288 + PropertyAccessExpression 1664290 1664314 + Identifier 1664290 1664297 + Identifier 1664298 1664314 + IfStatement 1664315 1665347 + Identifier 1664333 1664344 + Block 1664345 1665347 + IfStatement 1664347 1664496 + CallExpression 1664369 1664421 + Identifier 1664369 1664408 + Identifier 1664409 1664420 + Block 1664422 1664496 + ReturnStatement 1664424 1664477 + CallExpression 1664452 1664476 + Identifier 1664452 1664468 + Identifier 1664469 1664475 + IfStatement 1664496 1665117 + BinaryExpression 1664518 1664616 + CallExpression 1664518 1664552 + Identifier 1664518 1664539 + Identifier 1664540 1664551 + AmpersandAmpersandToken 1664552 1664555 + BinaryExpression 1664555 1664616 + PropertyAccessExpression 1664555 1664586 + PropertyAccessExpression 1664555 1664581 + PropertyAccessExpression 1664555 1664574 + Identifier 1664555 1664567 + Identifier 1664568 1664574 + Identifier 1664575 1664581 + Identifier 1664582 1664586 + EqualsEqualsEqualsToken 1664586 1664590 + PropertyAccessExpression 1664590 1664616 + Identifier 1664590 1664601 + Identifier 1664602 1664616 + Block 1664617 1665117 + VariableStatement 1664619 1664685 + VariableDeclarationList 1664619 1664684 + VariableDeclaration 1664646 1664684 + Identifier 1664646 1664656 + PropertyAccessExpression 1664658 1664684 + PropertyAccessExpression 1664658 1664677 + Identifier 1664658 1664670 + Identifier 1664671 1664677 + Identifier 1664678 1664684 + VariableStatement 1664685 1664798 + VariableDeclarationList 1664685 1664797 + VariableDeclaration 1664712 1664797 + Identifier 1664712 1664727 + CallExpression 1664729 1664797 + Identifier 1664729 1664749 + PropertyAccessExpression 1664750 1664770 + Identifier 1664750 1664759 + Identifier 1664760 1664770 + Identifier 1664771 1664796 + IfStatement 1664798 1665098 + Identifier 1664824 1664838 + Block 1664839 1665098 + VariableStatement 1664841 1664950 + VariableDeclarationList 1664841 1664949 + VariableDeclaration 1664872 1664949 + Identifier 1664872 1664876 + ConditionalExpression 1664878 1664949 + PropertyAccessExpression 1664878 1664902 + Identifier 1664878 1664888 + Identifier 1664889 1664902 + QuestionToken 1664902 1664904 + PropertyAccessExpression 1664904 1664928 + Identifier 1664904 1664917 + Identifier 1664918 1664928 + ColonToken 1664928 1664930 + PropertyAccessExpression 1664930 1664949 + Identifier 1664930 1664943 + Identifier 1664944 1664949 + ReturnStatement 1664950 1665075 + CallExpression 1664982 1665074 + Identifier 1664982 1665013 + Identifier 1665014 1665017 + Identifier 1665018 1665033 + Identifier 1665034 1665048 + Identifier 1665049 1665073 + IfStatement 1665117 1665332 + Identifier 1665139 1665149 + Block 1665150 1665332 + ExpressionStatement 1665152 1665313 + CallExpression 1665152 1665312 + Identifier 1665152 1665188 + Identifier 1665189 1665199 + CallExpression 1665200 1665311 + Identifier 1665200 1665224 + Identifier 1665225 1665236 + PropertyAccessExpression 1665237 1665286 + Identifier 1665237 1665249 + Identifier 1665250 1665286 + CallExpression 1665287 1665310 + Identifier 1665287 1665302 + Identifier 1665303 1665309 + FunctionDeclaration 1665365 1667582 + Identifier 1665774 1665794 + Parameter 1665795 1665811 + Identifier 1665795 1665799 + TypeReference 1665800 1665811 + Identifier 1665800 1665811 + Parameter 1665812 1665847 + Identifier 1665812 1665823 + UnionType 1665824 1665847 + TypeReference 1665824 1665835 + Identifier 1665824 1665835 + UndefinedKeyword 1665837 1665847 + UnionType 1665849 1665866 + TypeReference 1665849 1665854 + Identifier 1665849 1665854 + UndefinedKeyword 1665856 1665866 + Block 1665866 1667582 + IfStatement 1665868 1667575 + PrefixUnaryExpression 1665882 1665923 + ParenthesizedExpression 1665883 1665923 + BinaryExpression 1665884 1665922 + PropertyAccessExpression 1665884 1665894 + Identifier 1665884 1665888 + Identifier 1665889 1665894 + AmpersandToken 1665894 1665896 + PropertyAccessExpression 1665896 1665922 + Identifier 1665896 1665906 + Identifier 1665907 1665922 + Block 1665924 1667575 + SwitchStatement 1665926 1667564 + PropertyAccessExpression 1665948 1665957 + Identifier 1665948 1665952 + Identifier 1665953 1665957 + CaseBlock 1665958 1667564 + CaseClause 1665960 1666193 + PropertyAccessExpression 1665982 1666004 + Identifier 1665982 1665993 + Identifier 1665994 1666004 + VariableStatement 1666005 1666120 + VariableDeclarationList 1666005 1666119 + VariableDeclaration 1666032 1666119 + Identifier 1666032 1666039 + CallExpression 1666041 1666119 + Identifier 1666041 1666080 + CallExpression 1666081 1666118 + Identifier 1666081 1666098 + AsExpression 1666099 1666117 + Identifier 1666099 1666103 + TypeReference 1666106 1666117 + Identifier 1666106 1666117 + ReturnStatement 1666120 1666193 + CallExpression 1666148 1666192 + Identifier 1666148 1666172 + Identifier 1666173 1666179 + Identifier 1666180 1666191 + CaseClause 1666193 1666294 + PropertyAccessExpression 1666215 1666238 + Identifier 1666215 1666226 + Identifier 1666227 1666238 + ReturnStatement 1666239 1666294 + CallExpression 1666267 1666293 + Identifier 1666267 1666287 + Identifier 1666288 1666292 + CaseClause 1666294 1666397 + PropertyAccessExpression 1666316 1666340 + Identifier 1666316 1666327 + Identifier 1666328 1666340 + ReturnStatement 1666341 1666397 + CallExpression 1666369 1666396 + Identifier 1666369 1666390 + Identifier 1666391 1666395 + CaseClause 1666397 1667384 + PropertyAccessExpression 1666419 1666455 + Identifier 1666419 1666430 + Identifier 1666431 1666455 + Block 1666456 1667384 + VariableStatement 1666458 1666572 + VariableDeclarationList 1666458 1666571 + VariableDeclaration 1666485 1666571 + Identifier 1666485 1666490 + CallExpression 1666492 1666571 + Identifier 1666492 1666512 + PropertyAccessExpression 1666513 1666558 + ParenthesizedExpression 1666513 1666547 + AsExpression 1666514 1666546 + Identifier 1666514 1666518 + TypeReference 1666521 1666546 + Identifier 1666521 1666546 + Identifier 1666548 1666558 + Identifier 1666559 1666570 + IfStatement 1666572 1667326 + Identifier 1666598 1666602 + Block 1666603 1667326 + VariableStatement 1666605 1666684 + VariableDeclarationList 1666605 1666683 + VariableDeclaration 1666636 1666683 + Identifier 1666636 1666641 + PropertyAccessExpression 1666643 1666683 + ParenthesizedExpression 1666643 1666678 + AsExpression 1666645 1666677 + Identifier 1666645 1666649 + TypeReference 1666652 1666677 + Identifier 1666652 1666677 + Identifier 1666679 1666683 + VariableStatement 1666684 1666739 + VariableDeclarationList 1666684 1666738 + VariableDeclaration 1666713 1666738 + Identifier 1666713 1666718 + UnionType 1666719 1666738 + TypeReference 1666719 1666726 + Identifier 1666719 1666726 + UndefinedKeyword 1666728 1666738 + IfStatement 1666739 1667220 + CallExpression 1666769 1666794 + Identifier 1666769 1666788 + Identifier 1666789 1666793 + Block 1666795 1667082 + IfStatement 1666797 1666928 + PrefixUnaryExpression 1666831 1666843 + PropertyAccessExpression 1666832 1666843 + Identifier 1666832 1666836 + Identifier 1666837 1666843 + Block 1666844 1666928 + ReturnStatement 1666846 1666897 + Identifier 1666886 1666896 + ExpressionStatement 1666928 1667055 + BinaryExpression 1666928 1667054 + Identifier 1666928 1666962 + EqualsToken 1666962 1666964 + CallExpression 1666964 1667054 + Identifier 1666964 1666982 + Identifier 1666983 1666987 + CallExpression 1666988 1667053 + Identifier 1666988 1667022 + PropertyAccessExpression 1667023 1667034 + Identifier 1667023 1667027 + Identifier 1667028 1667034 + PropertyAccessExpression 1667035 1667052 + Identifier 1667035 1667040 + Identifier 1667041 1667052 + Block 1667112 1667220 + ExpressionStatement 1667114 1667193 + BinaryExpression 1667114 1667192 + Identifier 1667114 1667148 + EqualsToken 1667148 1667150 + CallExpression 1667150 1667192 + Identifier 1667150 1667168 + Identifier 1667169 1667173 + PropertyAccessExpression 1667174 1667191 + Identifier 1667174 1667179 + Identifier 1667180 1667191 + ReturnStatement 1667220 1667303 + BinaryExpression 1667252 1667302 + Identifier 1667252 1667257 + AmpersandAmpersandToken 1667257 1667260 + CallExpression 1667260 1667302 + Identifier 1667260 1667284 + Identifier 1667285 1667289 + Identifier 1667290 1667301 + ReturnStatement 1667326 1667365 + Identifier 1667354 1667364 + CaseClause 1667384 1667549 + PropertyAccessExpression 1667406 1667441 + Identifier 1667406 1667417 + Identifier 1667418 1667441 + ReturnStatement 1667442 1667549 + CallExpression 1667470 1667548 + Identifier 1667470 1667490 + PropertyAccessExpression 1667491 1667535 + ParenthesizedExpression 1667491 1667524 + AsExpression 1667492 1667523 + Identifier 1667492 1667496 + TypeReference 1667499 1667523 + Identifier 1667499 1667523 + Identifier 1667525 1667535 + Identifier 1667536 1667547 + FunctionDeclaration 1667582 1669683 + Identifier 1667598 1667618 + Parameter 1667619 1667662 + Identifier 1667619 1667623 + UnionType 1667624 1667662 + TypeReference 1667624 1667639 + Identifier 1667624 1667639 + TypeReference 1667641 1667662 + Identifier 1667641 1667662 + Block 1667663 1669683 + VariableStatement 1667665 1667708 + VariableDeclarationList 1667665 1667707 + VariableDeclaration 1667680 1667707 + Identifier 1667680 1667686 + CallExpression 1667688 1667707 + Identifier 1667688 1667701 + Identifier 1667702 1667706 + VariableStatement 1667708 1667757 + VariableDeclarationList 1667708 1667756 + VariableDeclaration 1667721 1667756 + Identifier 1667721 1667731 + PropertyAccessExpression 1667733 1667756 + Identifier 1667733 1667739 + Identifier 1667740 1667756 + IfStatement 1667757 1669604 + BinaryExpression 1667771 1667794 + Identifier 1667771 1667780 + EqualsEqualsEqualsToken 1667780 1667784 + Identifier 1667784 1667794 + Block 1667795 1669604 + VariableStatement 1667797 1668209 + VariableDeclarationList 1667797 1668208 + VariableDeclaration 1668181 1668208 + Identifier 1668181 1668190 + UnionType 1668191 1668208 + TypeReference 1668191 1668196 + Identifier 1668191 1668196 + UndefinedKeyword 1668198 1668208 + IfStatement 1668209 1669092 + CallExpression 1668227 1668251 + Identifier 1668227 1668245 + Identifier 1668246 1668250 + Block 1668252 1668419 + VariableStatement 1668254 1668325 + VariableDeclarationList 1668254 1668324 + VariableDeclaration 1668277 1668324 + Identifier 1668277 1668287 + CallExpression 1668289 1668324 + Identifier 1668289 1668312 + PropertyAccessExpression 1668313 1668323 + Identifier 1668313 1668317 + Identifier 1668318 1668323 + ExpressionStatement 1668325 1668404 + BinaryExpression 1668325 1668403 + Identifier 1668325 1668351 + EqualsToken 1668351 1668353 + CallExpression 1668353 1668403 + Identifier 1668353 1668392 + Identifier 1668393 1668402 + IfStatement 1668437 1669092 + BinaryExpression 1668442 1668493 + PropertyAccessExpression 1668442 1668458 + PropertyAccessExpression 1668442 1668453 + Identifier 1668442 1668446 + Identifier 1668447 1668453 + Identifier 1668454 1668458 + EqualsEqualsEqualsToken 1668458 1668462 + PropertyAccessExpression 1668462 1668493 + Identifier 1668462 1668473 + Identifier 1668474 1668493 + Block 1668494 1668603 + ExpressionStatement 1668496 1668588 + BinaryExpression 1668496 1668587 + Identifier 1668496 1668522 + EqualsToken 1668522 1668524 + CallExpression 1668524 1668587 + Identifier 1668524 1668544 + PropertyAccessExpression 1668545 1668560 + Identifier 1668545 1668549 + Identifier 1668550 1668560 + Identifier 1668561 1668586 + IfStatement 1668621 1669092 + BinaryExpression 1668626 1668674 + PropertyAccessExpression 1668626 1668646 + PropertyAccessExpression 1668626 1668641 + Identifier 1668626 1668630 + Identifier 1668631 1668641 + Identifier 1668642 1668646 + ExclamationEqualsEqualsToken 1668646 1668650 + PropertyAccessExpression 1668650 1668674 + Identifier 1668650 1668661 + Identifier 1668662 1668674 + Block 1668675 1669092 + IfStatement 1668677 1669077 + CallExpression 1668699 1668720 + Identifier 1668699 1668714 + Identifier 1668715 1668719 + Block 1668721 1668961 + ExpressionStatement 1668723 1668942 + BinaryExpression 1668723 1668941 + Identifier 1668723 1668753 + EqualsToken 1668753 1668755 + CallExpression 1668755 1668941 + Identifier 1668755 1668772 + CallExpression 1668773 1668875 + Identifier 1668773 1668824 + CallExpression 1668825 1668857 + Identifier 1668825 1668840 + PropertyAccessExpression 1668841 1668856 + Identifier 1668841 1668845 + Identifier 1668846 1668856 + PropertyAccessExpression 1668858 1668874 + Identifier 1668858 1668863 + Identifier 1668864 1668874 + PropertyAccessExpression 1668876 1668917 + Identifier 1668876 1668906 + Identifier 1668907 1668917 + Block 1668983 1669077 + ExpressionStatement 1668985 1669058 + BinaryExpression 1668985 1669057 + Identifier 1668985 1669015 + EqualsToken 1669015 1669017 + CallExpression 1669017 1669057 + Identifier 1669017 1669040 + PropertyAccessExpression 1669041 1669056 + Identifier 1669041 1669045 + Identifier 1669046 1669056 + VariableStatement 1669092 1669219 + VariableDeclarationList 1669092 1669218 + VariableDeclaration 1669111 1669218 + Identifier 1669111 1669122 + CallExpression 1669124 1669218 + Identifier 1669124 1669144 + BinaryExpression 1669145 1669197 + BinaryExpression 1669145 1669182 + Identifier 1669145 1669153 + AmpersandAmpersandToken 1669153 1669156 + CallExpression 1669156 1669182 + Identifier 1669156 1669172 + Identifier 1669173 1669181 + BarBarToken 1669182 1669185 + Identifier 1669185 1669197 + PropertyAccessExpression 1669198 1669217 + Identifier 1669198 1669212 + Identifier 1669213 1669217 + VariableStatement 1669219 1669453 + VariableDeclarationList 1669219 1669452 + VariableDeclaration 1669238 1669452 + Identifier 1669238 1669248 + ConditionalExpression 1669250 1669452 + BinaryExpression 1669250 1669307 + BinaryExpression 1669250 1669274 + PropertyAccessExpression 1669250 1669268 + Identifier 1669250 1669261 + Identifier 1669262 1669268 + EqualsEqualsEqualsToken 1669268 1669272 + NumericLiteral 1669272 1669274 + AmpersandAmpersandToken 1669274 1669277 + PrefixUnaryExpression 1669277 1669307 + PropertyAccessExpression 1669279 1669307 + ElementAccessExpression 1669279 1669292 + Identifier 1669279 1669289 + NumericLiteral 1669290 1669291 + Identifier 1669293 1669307 + QuestionToken 1669307 1669309 + ElementAccessExpression 1669309 1669323 + Identifier 1669309 1669320 + NumericLiteral 1669321 1669322 + ColonToken 1669323 1669325 + ConditionalExpression 1669325 1669452 + CallExpression 1669325 1669394 + Identifier 1669325 1669347 + Identifier 1669348 1669358 + Identifier 1669359 1669393 + QuestionToken 1669394 1669396 + CallExpression 1669396 1669423 + Identifier 1669396 1669417 + Identifier 1669418 1669422 + ColonToken 1669423 1669425 + Identifier 1669425 1669452 + ExpressionStatement 1669453 1669593 + BinaryExpression 1669453 1669592 + Identifier 1669453 1669476 + EqualsToken 1669476 1669478 + BinaryExpression 1669478 1669592 + PropertyAccessExpression 1669478 1669501 + Identifier 1669478 1669484 + Identifier 1669485 1669501 + EqualsToken 1669501 1669503 + ConditionalExpression 1669503 1669592 + BinaryExpression 1669503 1669561 + Identifier 1669503 1669513 + AmpersandAmpersandToken 1669513 1669516 + CallExpression 1669516 1669561 + Identifier 1669516 1669550 + Identifier 1669551 1669560 + QuestionToken 1669561 1669563 + Identifier 1669563 1669573 + ColonToken 1669573 1669575 + Identifier 1669575 1669592 + ReturnStatement 1669604 1669676 + ConditionalExpression 1669620 1669675 + BinaryExpression 1669620 1669651 + Identifier 1669620 1669630 + EqualsEqualsEqualsToken 1669630 1669634 + Identifier 1669634 1669651 + QuestionToken 1669651 1669653 + Identifier 1669653 1669663 + ColonToken 1669663 1669665 + Identifier 1669665 1669675 + FunctionDeclaration 1669683 1669957 + Identifier 1669699 1669733 + Parameter 1669734 1669754 + Identifier 1669734 1669743 + TypeReference 1669744 1669754 + Identifier 1669744 1669754 + Block 1669755 1669957 + ReturnStatement 1669757 1669950 + PrefixUnaryExpression 1669773 1669949 + PrefixUnaryExpression 1669775 1669949 + ParenthesizedExpression 1669776 1669949 + BinaryExpression 1669777 1669948 + CallExpression 1669777 1669815 + Identifier 1669777 1669804 + Identifier 1669805 1669814 + BarBarToken 1669815 1669818 + BinaryExpression 1669818 1669948 + PropertyAccessExpression 1669818 1669853 + Identifier 1669818 1669841 + Identifier 1669842 1669853 + AmpersandAmpersandToken 1669853 1669856 + BinaryExpression 1669856 1669948 + PropertyAccessExpression 1669856 1669930 + ParenthesizedExpression 1669856 1669924 + BinaryExpression 1669858 1669923 + CallExpression 1669858 1669908 + Identifier 1669858 1669885 + PropertyAccessExpression 1669886 1669907 + Identifier 1669886 1669895 + Identifier 1669896 1669907 + BarBarToken 1669908 1669911 + Identifier 1669911 1669923 + Identifier 1669925 1669930 + AmpersandToken 1669930 1669932 + PropertyAccessExpression 1669932 1669948 + Identifier 1669932 1669942 + Identifier 1669943 1669948 + FunctionDeclaration 1669957 1670464 + Identifier 1669973 1669998 + Parameter 1669999 1670023 + Identifier 1669999 1670008 + TypeReference 1670009 1670023 + Identifier 1670009 1670023 + Parameter 1670024 1670055 + Identifier 1670024 1670039 + TypeReference 1670040 1670055 + Identifier 1670040 1670055 + Block 1670056 1670464 + IfStatement 1670058 1670263 + BinaryExpression 1670072 1670177 + BinaryExpression 1670072 1670119 + PropertyAccessExpression 1670072 1670086 + Identifier 1670072 1670081 + Identifier 1670082 1670086 + EqualsEqualsEqualsToken 1670086 1670090 + PropertyAccessExpression 1670090 1670119 + Identifier 1670090 1670108 + Identifier 1670109 1670119 + BarBarToken 1670119 1670122 + BinaryExpression 1670122 1670177 + PropertyAccessExpression 1670122 1670137 + Identifier 1670122 1670132 + Identifier 1670133 1670137 + EqualsEqualsEqualsToken 1670137 1670141 + PropertyAccessExpression 1670141 1670177 + Identifier 1670141 1670159 + Identifier 1670160 1670177 + Block 1670178 1670263 + ReturnStatement 1670180 1670252 + ElementAccessExpression 1670200 1670251 + PropertyAccessExpression 1670200 1670225 + Identifier 1670200 1670215 + Identifier 1670216 1670225 + PropertyAccessExpression 1670226 1670250 + Identifier 1670226 1670235 + Identifier 1670236 1670250 + VariableStatement 1670263 1670342 + VariableDeclarationList 1670263 1670341 + VariableDeclaration 1670278 1670341 + Identifier 1670278 1670296 + CallExpression 1670298 1670341 + Identifier 1670298 1670314 + PropertyAccessExpression 1670315 1670340 + Identifier 1670315 1670329 + Identifier 1670330 1670340 + ReturnStatement 1670342 1670457 + ConditionalExpression 1670358 1670456 + CallExpression 1670358 1670396 + Identifier 1670358 1670377 + Identifier 1670378 1670395 + QuestionToken 1670396 1670398 + CallExpression 1670398 1670444 + Identifier 1670398 1670414 + PropertyAccessExpression 1670415 1670443 + Identifier 1670415 1670432 + Identifier 1670433 1670443 + ColonToken 1670444 1670446 + Identifier 1670446 1670456 + FunctionDeclaration 1670464 1670941 + Identifier 1670480 1670503 + Parameter 1670504 1670514 + Identifier 1670504 1670508 + TypeReference 1670509 1670514 + Identifier 1670509 1670514 + Block 1670515 1670941 + VariableStatement 1670517 1670621 + VariableDeclarationList 1670517 1670620 + VariableDeclaration 1670532 1670620 + Identifier 1670532 1670538 + AsExpression 1670540 1670620 + CallExpression 1670540 1670584 + Identifier 1670540 1670553 + Identifier 1670554 1670558 + Identifier 1670559 1670583 + UnionType 1670587 1670620 + TypeReference 1670587 1670593 + Identifier 1670587 1670593 + TypeReference 1670595 1670607 + Identifier 1670595 1670607 + TypeReference 1670609 1670620 + Identifier 1670609 1670620 + VariableStatement 1670621 1670676 + VariableDeclarationList 1670621 1670675 + VariableDeclaration 1670636 1670675 + Identifier 1670636 1670647 + CallExpression 1670649 1670675 + Identifier 1670649 1670669 + Identifier 1670670 1670674 + VariableStatement 1670676 1670758 + VariableDeclarationList 1670676 1670757 + VariableDeclaration 1670691 1670757 + Identifier 1670691 1670696 + CallExpression 1670698 1670757 + Identifier 1670698 1670723 + Identifier 1670724 1670734 + PropertyAccessExpression 1670735 1670756 + PropertyAccessExpression 1670735 1670752 + Identifier 1670735 1670741 + Identifier 1670742 1670752 + Identifier 1670753 1670756 + ExpressionStatement 1670758 1670934 + CallExpression 1670758 1670933 + PropertyAccessExpression 1670758 1670783 + Identifier 1670758 1670779 + Identifier 1670780 1670783 + CallExpression 1670784 1670932 + Identifier 1670784 1670804 + Identifier 1670805 1670815 + PropertyAccessExpression 1670816 1670827 + Identifier 1670816 1670821 + Identifier 1670822 1670827 + PropertyAccessExpression 1670828 1670840 + Identifier 1670828 1670833 + Identifier 1670834 1670840 + PropertyAccessExpression 1670841 1670931 + Identifier 1670841 1670853 + Identifier 1670854 1670931 + FunctionDeclaration 1670941 1671178 + Identifier 1670957 1670977 + Parameter 1670978 1670992 + Identifier 1670978 1670982 + TypeReference 1670983 1670992 + Identifier 1670983 1670992 + Block 1670993 1671178 + VariableStatement 1670995 1671076 + VariableDeclarationList 1670995 1671075 + VariableDeclaration 1671010 1671075 + Identifier 1671010 1671017 + CallExpression 1671019 1671075 + Identifier 1671019 1671045 + Identifier 1671046 1671050 + FalseKeyword 1671051 1671074 + ExpressionStatement 1671076 1671106 + BinaryExpression 1671076 1671105 + Identifier 1671076 1671098 + EqualsToken 1671098 1671100 + Identifier 1671100 1671105 + ExpressionStatement 1671106 1671147 + BinaryExpression 1671106 1671146 + Identifier 1671106 1671137 + EqualsToken 1671137 1671139 + Identifier 1671139 1671146 + ReturnStatement 1671147 1671171 + Identifier 1671163 1671170 + FunctionDeclaration 1671178 1671877 + Identifier 1671194 1671212 + Parameter 1671213 1671229 + Identifier 1671213 1671217 + TypeReference 1671218 1671229 + Identifier 1671218 1671229 + BooleanKeyword 1671231 1671239 + Block 1671239 1671877 + VariableStatement 1671241 1671323 + VariableDeclarationList 1671241 1671322 + VariableDeclaration 1671256 1671322 + Identifier 1671256 1671261 + CallExpression 1671263 1671322 + Identifier 1671263 1671279 + Identifier 1671280 1671284 + TrueKeyword 1671285 1671321 + ReturnStatement 1671323 1671870 + BinaryExpression 1671339 1671869 + BinaryExpression 1671339 1671377 + PropertyAccessExpression 1671339 1671349 + Identifier 1671339 1671344 + Identifier 1671345 1671349 + EqualsEqualsEqualsToken 1671349 1671353 + PropertyAccessExpression 1671353 1671377 + Identifier 1671353 1671364 + Identifier 1671365 1671377 + BarBarToken 1671377 1671380 + BinaryExpression 1671380 1671869 + BinaryExpression 1671380 1671422 + PropertyAccessExpression 1671380 1671390 + Identifier 1671380 1671385 + Identifier 1671386 1671390 + EqualsEqualsEqualsToken 1671390 1671394 + PropertyAccessExpression 1671394 1671422 + Identifier 1671394 1671405 + Identifier 1671406 1671422 + AmpersandAmpersandToken 1671422 1671425 + ParenthesizedExpression 1671425 1671869 + BinaryExpression 1671427 1671850 + BinaryExpression 1671427 1671644 + BinaryExpression 1671427 1671533 + PropertyAccessExpression 1671427 1671494 + PropertyAccessExpression 1671427 1671489 + ParenthesizedExpression 1671427 1671475 + AsExpression 1671450 1671474 + Identifier 1671450 1671454 + TypeReference 1671457 1671474 + Identifier 1671457 1671474 + Identifier 1671476 1671489 + Identifier 1671490 1671494 + EqualsEqualsEqualsToken 1671494 1671498 + PropertyAccessExpression 1671498 1671533 + Identifier 1671498 1671509 + Identifier 1671510 1671533 + AmpersandAmpersandToken 1671533 1671536 + ParenthesizedExpression 1671536 1671644 + BinaryExpression 1671538 1671643 + CallExpression 1671538 1671588 + Identifier 1671538 1671555 + PropertyAccessExpression 1671556 1671587 + ParenthesizedExpression 1671556 1671582 + AsExpression 1671557 1671581 + Identifier 1671557 1671561 + TypeReference 1671564 1671581 + Identifier 1671564 1671581 + Identifier 1671583 1671587 + BarBarToken 1671588 1671591 + CallExpression 1671591 1671643 + Identifier 1671591 1671609 + PropertyAccessExpression 1671610 1671642 + ParenthesizedExpression 1671610 1671636 + AsExpression 1671611 1671635 + Identifier 1671611 1671615 + TypeReference 1671618 1671635 + Identifier 1671618 1671635 + Identifier 1671637 1671642 + BarBarToken 1671644 1671647 + BinaryExpression 1671647 1671850 + BinaryExpression 1671647 1671795 + BinaryExpression 1671647 1671741 + PropertyAccessExpression 1671647 1671714 + PropertyAccessExpression 1671647 1671709 + ParenthesizedExpression 1671647 1671695 + AsExpression 1671670 1671694 + Identifier 1671670 1671674 + TypeReference 1671677 1671694 + Identifier 1671677 1671694 + Identifier 1671696 1671709 + Identifier 1671710 1671714 + EqualsEqualsEqualsToken 1671714 1671718 + PropertyAccessExpression 1671718 1671741 + Identifier 1671718 1671729 + Identifier 1671730 1671741 + AmpersandAmpersandToken 1671741 1671744 + CallExpression 1671744 1671795 + Identifier 1671744 1671762 + PropertyAccessExpression 1671763 1671794 + ParenthesizedExpression 1671763 1671789 + AsExpression 1671764 1671788 + Identifier 1671764 1671768 + TypeReference 1671771 1671788 + Identifier 1671771 1671788 + Identifier 1671790 1671794 + AmpersandAmpersandToken 1671795 1671798 + CallExpression 1671798 1671850 + Identifier 1671798 1671816 + PropertyAccessExpression 1671817 1671849 + ParenthesizedExpression 1671817 1671843 + AsExpression 1671818 1671842 + Identifier 1671818 1671822 + TypeReference 1671825 1671842 + Identifier 1671825 1671842 + Identifier 1671844 1671849 + FunctionDeclaration 1671877 1675608 + Identifier 1671893 1671919 + Parameter 1671920 1671934 + Identifier 1671920 1671924 + TypeReference 1671925 1671934 + Identifier 1671925 1671934 + Parameter 1671935 1671957 + Identifier 1671935 1671948 + BooleanKeyword 1671949 1671957 + BooleanKeyword 1671959 1671967 + Block 1671967 1675608 + WhileStatement 1671969 1675601 + TrueKeyword 1671986 1671990 + Block 1671991 1675601 + IfStatement 1671993 1672097 + BinaryExpression 1672011 1672032 + Identifier 1672011 1672015 + EqualsEqualsEqualsToken 1672015 1672019 + Identifier 1672019 1672032 + Block 1672033 1672097 + ReturnStatement 1672035 1672082 + Identifier 1672059 1672081 + VariableStatement 1672097 1672136 + VariableDeclarationList 1672097 1672135 + VariableDeclaration 1672116 1672135 + Identifier 1672116 1672122 + PropertyAccessExpression 1672124 1672135 + Identifier 1672124 1672129 + Identifier 1672130 1672135 + IfStatement 1672136 1672555 + BinaryExpression 1672154 1672178 + Identifier 1672154 1672159 + AmpersandToken 1672159 1672161 + PropertyAccessExpression 1672161 1672178 + Identifier 1672161 1672171 + Identifier 1672172 1672178 + Block 1672179 1672555 + IfStatement 1672181 1672501 + PrefixUnaryExpression 1672203 1672216 + Identifier 1672204 1672216 + Block 1672217 1672501 + VariableStatement 1672219 1672272 + VariableDeclarationList 1672219 1672271 + VariableDeclaration 1672246 1672271 + Identifier 1672246 1672249 + CallExpression 1672251 1672271 + Identifier 1672251 1672265 + Identifier 1672266 1672270 + VariableStatement 1672272 1672334 + VariableDeclarationList 1672272 1672333 + VariableDeclaration 1672299 1672333 + Identifier 1672299 1672309 + ElementAccessExpression 1672311 1672333 + Identifier 1672311 1672329 + Identifier 1672330 1672332 + ReturnStatement 1672334 1672482 + ConditionalExpression 1672362 1672481 + BinaryExpression 1672362 1672386 + Identifier 1672362 1672372 + ExclamationEqualsEqualsToken 1672372 1672376 + Identifier 1672376 1672386 + QuestionToken 1672386 1672388 + Identifier 1672388 1672398 + ColonToken 1672398 1672400 + ParenthesizedExpression 1672400 1672481 + BinaryExpression 1672402 1672480 + ElementAccessExpression 1672402 1672423 + Identifier 1672402 1672419 + Identifier 1672420 1672422 + EqualsToken 1672423 1672425 + CallExpression 1672425 1672480 + Identifier 1672425 1672451 + Identifier 1672452 1672456 + TrueKeyword 1672457 1672479 + ExpressionStatement 1672501 1672540 + BinaryExpression 1672501 1672539 + Identifier 1672501 1672531 + EqualsToken 1672531 1672533 + FalseKeyword 1672533 1672539 + IfStatement 1672555 1675590 + BinaryExpression 1672573 1672651 + Identifier 1672573 1672578 + AmpersandToken 1672578 1672580 + ParenthesizedExpression 1672580 1672651 + BinaryExpression 1672582 1672650 + BinaryExpression 1672582 1672624 + PropertyAccessExpression 1672582 1672602 + Identifier 1672582 1672591 + Identifier 1672592 1672602 + BarToken 1672602 1672604 + PropertyAccessExpression 1672604 1672624 + Identifier 1672604 1672614 + Identifier 1672615 1672624 + BarToken 1672624 1672626 + PropertyAccessExpression 1672626 1672650 + Identifier 1672626 1672636 + Identifier 1672637 1672650 + Block 1672652 1672766 + ExpressionStatement 1672654 1672751 + BinaryExpression 1672654 1672750 + Identifier 1672654 1672676 + EqualsToken 1672676 1672678 + PropertyAccessExpression 1672678 1672750 + ParenthesizedExpression 1672678 1672739 + AsExpression 1672680 1672738 + Identifier 1672680 1672684 + UnionType 1672687 1672738 + TypeReference 1672687 1672702 + Identifier 1672687 1672702 + TypeReference 1672704 1672718 + Identifier 1672704 1672718 + TypeReference 1672720 1672738 + Identifier 1672720 1672738 + Identifier 1672740 1672750 + IfStatement 1672784 1675590 + BinaryExpression 1672789 1672811 + Identifier 1672789 1672794 + AmpersandToken 1672794 1672796 + PropertyAccessExpression 1672796 1672811 + Identifier 1672796 1672806 + Identifier 1672807 1672811 + Block 1672812 1673657 + VariableStatement 1672814 1672895 + VariableDeclarationList 1672814 1672894 + VariableDeclaration 1672837 1672894 + Identifier 1672837 1672847 + CallExpression 1672849 1672894 + Identifier 1672849 1672869 + PropertyAccessExpression 1672870 1672893 + ParenthesizedExpression 1672870 1672888 + AsExpression 1672871 1672887 + Identifier 1672871 1672875 + TypeReference 1672878 1672887 + Identifier 1672878 1672887 + Identifier 1672889 1672893 + IfStatement 1672895 1673587 + Identifier 1672917 1672926 + Block 1672927 1673587 + VariableStatement 1672929 1673008 + VariableDeclarationList 1672929 1673007 + VariableDeclaration 1672956 1673007 + Identifier 1672956 1672966 + CallExpression 1672968 1673007 + Identifier 1672968 1672996 + Identifier 1672997 1673006 + IfStatement 1673008 1673418 + BinaryExpression 1673034 1673120 + BinaryExpression 1673034 1673101 + Identifier 1673034 1673043 + AmpersandAmpersandToken 1673043 1673046 + BinaryExpression 1673046 1673101 + PropertyAccessExpression 1673046 1673061 + Identifier 1673046 1673056 + Identifier 1673057 1673061 + EqualsEqualsEqualsToken 1673061 1673065 + PropertyAccessExpression 1673065 1673101 + Identifier 1673065 1673083 + Identifier 1673084 1673101 + AmpersandAmpersandToken 1673101 1673104 + PrefixUnaryExpression 1673104 1673120 + PropertyAccessExpression 1673106 1673120 + Identifier 1673106 1673115 + Identifier 1673116 1673120 + Block 1673121 1673418 + VariableStatement 1673123 1673235 + VariableDeclarationList 1673123 1673234 + VariableDeclaration 1673154 1673234 + Identifier 1673154 1673172 + ElementAccessExpression 1673174 1673234 + PropertyAccessExpression 1673174 1673208 + PropertyAccessExpression 1673174 1673198 + ParenthesizedExpression 1673174 1673193 + AsExpression 1673176 1673192 + Identifier 1673176 1673180 + TypeReference 1673183 1673192 + Identifier 1673183 1673192 + Identifier 1673194 1673198 + Identifier 1673199 1673208 + PropertyAccessExpression 1673209 1673233 + Identifier 1673209 1673218 + Identifier 1673219 1673233 + IfStatement 1673235 1673395 + BinaryExpression 1673265 1673322 + Identifier 1673265 1673282 + AmpersandAmpersandToken 1673282 1673285 + CallExpression 1673285 1673322 + Identifier 1673285 1673303 + Identifier 1673304 1673321 + Block 1673323 1673395 + ReturnStatement 1673325 1673368 + FalseKeyword 1673361 1673367 + IfStatement 1673418 1673568 + BinaryExpression 1673444 1673503 + PropertyAccessExpression 1673444 1673485 + CallExpression 1673444 1673479 + Identifier 1673444 1673468 + Identifier 1673469 1673478 + Identifier 1673480 1673485 + AmpersandToken 1673485 1673487 + PropertyAccessExpression 1673487 1673503 + Identifier 1673487 1673497 + Identifier 1673498 1673503 + Block 1673504 1673568 + ReturnStatement 1673506 1673545 + FalseKeyword 1673538 1673544 + ExpressionStatement 1673587 1673642 + BinaryExpression 1673587 1673641 + Identifier 1673587 1673609 + EqualsToken 1673609 1673611 + PropertyAccessExpression 1673611 1673641 + ParenthesizedExpression 1673611 1673630 + AsExpression 1673613 1673629 + Identifier 1673613 1673617 + TypeReference 1673620 1673629 + Identifier 1673620 1673629 + Identifier 1673631 1673641 + IfStatement 1673675 1675590 + BinaryExpression 1673680 1673709 + Identifier 1673680 1673685 + AmpersandToken 1673685 1673687 + PropertyAccessExpression 1673687 1673709 + Identifier 1673687 1673697 + Identifier 1673698 1673709 + Block 1673710 1673927 + ReturnStatement 1673712 1673912 + CallExpression 1673815 1673911 + Identifier 1673815 1673820 + PropertyAccessExpression 1673821 1673851 + ParenthesizedExpression 1673821 1673840 + AsExpression 1673822 1673839 + Identifier 1673822 1673826 + TypeReference 1673829 1673839 + Identifier 1673829 1673839 + Identifier 1673841 1673851 + ArrowFunction 1673852 1673910 + Parameter 1673852 1673854 + Identifier 1673852 1673854 + EqualsGreaterThanToken 1673854 1673857 + CallExpression 1673857 1673910 + Identifier 1673857 1673883 + Identifier 1673884 1673885 + FalseKeyword 1673886 1673909 + IfStatement 1673945 1675590 + BinaryExpression 1673950 1673977 + Identifier 1673950 1673955 + AmpersandToken 1673955 1673957 + PropertyAccessExpression 1673957 1673977 + Identifier 1673957 1673967 + Identifier 1673968 1673977 + Block 1673978 1674337 + VariableStatement 1673980 1674049 + VariableDeclarationList 1673980 1674048 + VariableDeclaration 1674003 1674048 + Identifier 1674003 1674015 + PropertyAccessExpression 1674017 1674048 + ParenthesizedExpression 1674017 1674037 + AsExpression 1674019 1674036 + Identifier 1674019 1674023 + TypeReference 1674026 1674036 + Identifier 1674026 1674036 + Identifier 1674038 1674048 + IfStatement 1674049 1674181 + BinaryExpression 1674071 1674124 + BinaryExpression 1674071 1674096 + Identifier 1674071 1674082 + EqualsEqualsEqualsToken 1674082 1674086 + Identifier 1674086 1674096 + BarBarToken 1674096 1674099 + BinaryExpression 1674099 1674124 + PropertyAccessExpression 1674099 1674118 + Identifier 1674099 1674111 + Identifier 1674112 1674118 + EqualsEqualsEqualsToken 1674118 1674122 + NumericLiteral 1674122 1674124 + Block 1674125 1674181 + ReturnStatement 1674127 1674162 + FalseKeyword 1674155 1674161 + ExpressionStatement 1674181 1674322 + BinaryExpression 1674181 1674321 + Identifier 1674181 1674304 + EqualsToken 1674304 1674306 + ElementAccessExpression 1674306 1674321 + Identifier 1674306 1674318 + NumericLiteral 1674319 1674320 + IfStatement 1674355 1675590 + BinaryExpression 1674360 1674390 + Identifier 1674360 1674365 + AmpersandToken 1674365 1674367 + PropertyAccessExpression 1674367 1674390 + Identifier 1674367 1674377 + Identifier 1674378 1674390 + Block 1674391 1674894 + VariableStatement 1674393 1674649 + VariableDeclarationList 1674393 1674648 + VariableDeclaration 1674609 1674648 + Identifier 1674609 1674614 + PropertyAccessExpression 1674616 1674648 + ParenthesizedExpression 1674616 1674643 + AsExpression 1674618 1674642 + Identifier 1674618 1674622 + TypeReference 1674625 1674642 + Identifier 1674625 1674642 + Identifier 1674644 1674648 + IfStatement 1674649 1674816 + BinaryExpression 1674671 1674759 + BinaryExpression 1674671 1674706 + PropertyAccessExpression 1674671 1674687 + Identifier 1674671 1674675 + Identifier 1674676 1674687 + EqualsEqualsEqualsToken 1674687 1674691 + PropertyAccessExpression 1674691 1674706 + Identifier 1674691 1674696 + Identifier 1674697 1674706 + AmpersandAmpersandToken 1674706 1674709 + CallExpression 1674709 1674759 + Identifier 1674709 1674737 + PropertyAccessExpression 1674738 1674758 + Identifier 1674738 1674742 + Identifier 1674743 1674758 + Block 1674760 1674816 + ReturnStatement 1674762 1674797 + FalseKeyword 1674790 1674796 + ExpressionStatement 1674816 1674879 + BinaryExpression 1674816 1674878 + Identifier 1674816 1674838 + EqualsToken 1674838 1674840 + PropertyAccessExpression 1674840 1674878 + ParenthesizedExpression 1674840 1674867 + AsExpression 1674842 1674866 + Identifier 1674842 1674846 + TypeReference 1674849 1674866 + Identifier 1674849 1674866 + Identifier 1674868 1674878 + IfStatement 1674912 1675590 + BinaryExpression 1674917 1674946 + Identifier 1674917 1674922 + AmpersandToken 1674922 1674924 + PropertyAccessExpression 1674924 1674946 + Identifier 1674924 1674934 + Identifier 1674935 1674946 + Block 1674947 1675497 + ExpressionStatement 1674949 1675063 + BinaryExpression 1674949 1675062 + Identifier 1674949 1675050 + EqualsToken 1675050 1675052 + Identifier 1675052 1675062 + VariableStatement 1675063 1675134 + VariableDeclarationList 1675063 1675133 + VariableDeclaration 1675086 1675133 + Identifier 1675086 1675093 + PropertyAccessExpression 1675095 1675133 + PropertyAccessExpression 1675095 1675126 + ParenthesizedExpression 1675095 1675121 + AsExpression 1675097 1675120 + Identifier 1675097 1675101 + TypeReference 1675104 1675120 + Identifier 1675104 1675120 + Identifier 1675122 1675126 + Identifier 1675127 1675133 + VariableStatement 1675134 1675194 + VariableDeclarationList 1675134 1675193 + VariableDeclaration 1675157 1675193 + Identifier 1675157 1675173 + PropertyAccessExpression 1675175 1675193 + Identifier 1675175 1675182 + Identifier 1675183 1675193 + ExpressionStatement 1675194 1675275 + BinaryExpression 1675194 1675274 + PropertyAccessExpression 1675194 1675229 + Identifier 1675194 1675218 + Identifier 1675219 1675229 + EqualsToken 1675229 1675231 + PropertyAccessExpression 1675231 1675274 + PropertyAccessExpression 1675231 1675262 + ParenthesizedExpression 1675231 1675257 + AsExpression 1675233 1675256 + Identifier 1675233 1675237 + TypeReference 1675240 1675256 + Identifier 1675240 1675256 + Identifier 1675258 1675262 + Identifier 1675263 1675274 + VariableStatement 1675275 1675396 + VariableDeclarationList 1675275 1675395 + VariableDeclaration 1675298 1675395 + Identifier 1675298 1675305 + CallExpression 1675307 1675395 + Identifier 1675307 1675333 + PropertyAccessExpression 1675334 1675370 + ParenthesizedExpression 1675334 1675359 + AsExpression 1675335 1675358 + Identifier 1675335 1675339 + TypeReference 1675342 1675358 + Identifier 1675342 1675358 + Identifier 1675360 1675370 + FalseKeyword 1675371 1675394 + ExpressionStatement 1675396 1675450 + BinaryExpression 1675396 1675449 + PropertyAccessExpression 1675396 1675431 + Identifier 1675396 1675420 + Identifier 1675421 1675431 + EqualsToken 1675431 1675433 + Identifier 1675433 1675449 + ReturnStatement 1675450 1675482 + Identifier 1675474 1675481 + Block 1675515 1675590 + ReturnStatement 1675517 1675575 + PrefixUnaryExpression 1675541 1675574 + ParenthesizedExpression 1675543 1675574 + BinaryExpression 1675544 1675573 + Identifier 1675544 1675549 + AmpersandToken 1675549 1675551 + PropertyAccessExpression 1675551 1675573 + Identifier 1675551 1675561 + Identifier 1675562 1675573 + FunctionDeclaration 1675608 1678000 + Identifier 1675759 1675779 + Parameter 1675780 1675794 + Identifier 1675780 1675784 + TypeReference 1675785 1675794 + Identifier 1675785 1675794 + Parameter 1675795 1675817 + Identifier 1675795 1675808 + BooleanKeyword 1675809 1675817 + BooleanKeyword 1675819 1675827 + Block 1675827 1678000 + WhileStatement 1675829 1677993 + TrueKeyword 1675846 1675850 + Block 1675851 1677993 + VariableStatement 1675853 1675892 + VariableDeclarationList 1675853 1675891 + VariableDeclaration 1675872 1675891 + Identifier 1675872 1675878 + PropertyAccessExpression 1675880 1675891 + Identifier 1675880 1675885 + Identifier 1675886 1675891 + IfStatement 1675892 1676305 + BinaryExpression 1675910 1675934 + Identifier 1675910 1675915 + AmpersandToken 1675915 1675917 + PropertyAccessExpression 1675917 1675934 + Identifier 1675917 1675927 + Identifier 1675928 1675934 + Block 1675935 1676305 + IfStatement 1675937 1676251 + PrefixUnaryExpression 1675959 1675972 + Identifier 1675960 1675972 + Block 1675973 1676251 + VariableStatement 1675975 1676028 + VariableDeclarationList 1675975 1676027 + VariableDeclaration 1676002 1676027 + Identifier 1676002 1676005 + CallExpression 1676007 1676027 + Identifier 1676007 1676021 + Identifier 1676022 1676026 + VariableStatement 1676028 1676090 + VariableDeclarationList 1676028 1676089 + VariableDeclaration 1676055 1676089 + Identifier 1676055 1676065 + ElementAccessExpression 1676067 1676089 + Identifier 1676067 1676085 + Identifier 1676086 1676088 + ReturnStatement 1676090 1676232 + ConditionalExpression 1676118 1676231 + BinaryExpression 1676118 1676142 + Identifier 1676118 1676128 + ExclamationEqualsEqualsToken 1676128 1676132 + Identifier 1676132 1676142 + QuestionToken 1676142 1676144 + Identifier 1676144 1676154 + ColonToken 1676154 1676156 + ParenthesizedExpression 1676156 1676231 + BinaryExpression 1676158 1676230 + ElementAccessExpression 1676158 1676179 + Identifier 1676158 1676175 + Identifier 1676176 1676178 + EqualsToken 1676179 1676181 + CallExpression 1676181 1676230 + Identifier 1676181 1676201 + Identifier 1676202 1676206 + TrueKeyword 1676207 1676229 + ExpressionStatement 1676251 1676290 + BinaryExpression 1676251 1676289 + Identifier 1676251 1676281 + EqualsToken 1676281 1676283 + FalseKeyword 1676283 1676289 + IfStatement 1676305 1677982 + BinaryExpression 1676323 1676426 + Identifier 1676323 1676328 + AmpersandToken 1676328 1676330 + ParenthesizedExpression 1676330 1676426 + BinaryExpression 1676332 1676425 + BinaryExpression 1676332 1676400 + BinaryExpression 1676332 1676374 + PropertyAccessExpression 1676332 1676352 + Identifier 1676332 1676341 + Identifier 1676342 1676352 + BarToken 1676352 1676354 + PropertyAccessExpression 1676354 1676374 + Identifier 1676354 1676364 + Identifier 1676365 1676374 + BarToken 1676374 1676376 + PropertyAccessExpression 1676376 1676400 + Identifier 1676376 1676386 + Identifier 1676387 1676400 + BarToken 1676400 1676402 + PropertyAccessExpression 1676402 1676425 + Identifier 1676402 1676412 + Identifier 1676413 1676425 + Block 1676427 1676560 + ExpressionStatement 1676429 1676545 + BinaryExpression 1676429 1676544 + Identifier 1676429 1676451 + EqualsToken 1676451 1676453 + PropertyAccessExpression 1676453 1676544 + ParenthesizedExpression 1676453 1676533 + AsExpression 1676455 1676532 + Identifier 1676455 1676459 + UnionType 1676462 1676532 + TypeReference 1676462 1676477 + Identifier 1676462 1676477 + TypeReference 1676479 1676493 + Identifier 1676479 1676493 + TypeReference 1676495 1676513 + Identifier 1676495 1676513 + TypeReference 1676515 1676532 + Identifier 1676515 1676532 + Identifier 1676534 1676544 + IfStatement 1676578 1677982 + BinaryExpression 1676583 1676605 + Identifier 1676583 1676588 + AmpersandToken 1676588 1676590 + PropertyAccessExpression 1676590 1676605 + Identifier 1676590 1676600 + Identifier 1676601 1676605 + Block 1676606 1676823 + IfStatement 1676608 1676753 + BinaryExpression 1676630 1676697 + PropertyAccessExpression 1676630 1676669 + PropertyAccessExpression 1676630 1676664 + PropertyAccessExpression 1676630 1676653 + ParenthesizedExpression 1676630 1676648 + AsExpression 1676631 1676647 + Identifier 1676631 1676635 + TypeReference 1676638 1676647 + Identifier 1676638 1676647 + Identifier 1676649 1676653 + Identifier 1676654 1676664 + Identifier 1676665 1676669 + EqualsEqualsEqualsToken 1676669 1676673 + PropertyAccessExpression 1676673 1676697 + Identifier 1676673 1676684 + Identifier 1676685 1676697 + Block 1676698 1676753 + ReturnStatement 1676700 1676734 + TrueKeyword 1676728 1676733 + ExpressionStatement 1676753 1676808 + BinaryExpression 1676753 1676807 + Identifier 1676753 1676775 + EqualsToken 1676775 1676777 + PropertyAccessExpression 1676777 1676807 + ParenthesizedExpression 1676777 1676796 + AsExpression 1676779 1676795 + Identifier 1676779 1676783 + TypeReference 1676786 1676795 + Identifier 1676786 1676795 + Identifier 1676797 1676807 + IfStatement 1676841 1677982 + BinaryExpression 1676846 1676875 + Identifier 1676846 1676851 + AmpersandToken 1676851 1676853 + PropertyAccessExpression 1676853 1676875 + Identifier 1676853 1676863 + Identifier 1676864 1676875 + Block 1676876 1677092 + ReturnStatement 1676878 1677077 + CallExpression 1676985 1677076 + Identifier 1676985 1676991 + PropertyAccessExpression 1676992 1677022 + ParenthesizedExpression 1676992 1677011 + AsExpression 1676993 1677010 + Identifier 1676993 1676997 + TypeReference 1677000 1677010 + Identifier 1677000 1677010 + Identifier 1677012 1677022 + ArrowFunction 1677023 1677075 + Parameter 1677023 1677025 + Identifier 1677023 1677025 + EqualsGreaterThanToken 1677025 1677028 + CallExpression 1677028 1677075 + Identifier 1677028 1677048 + Identifier 1677049 1677050 + FalseKeyword 1677051 1677074 + IfStatement 1677110 1677982 + BinaryExpression 1677115 1677142 + Identifier 1677115 1677120 + AmpersandToken 1677120 1677122 + PropertyAccessExpression 1677122 1677142 + Identifier 1677122 1677132 + Identifier 1677133 1677142 + Block 1677143 1677323 + ExpressionStatement 1677145 1677308 + BinaryExpression 1677145 1677307 + Identifier 1677145 1677270 + EqualsToken 1677270 1677272 + ElementAccessExpression 1677272 1677307 + NonNullExpression 1677272 1677304 + PropertyAccessExpression 1677272 1677303 + ParenthesizedExpression 1677272 1677292 + AsExpression 1677274 1677291 + Identifier 1677274 1677278 + TypeReference 1677281 1677291 + Identifier 1677281 1677291 + Identifier 1677293 1677303 + NumericLiteral 1677305 1677306 + IfStatement 1677341 1677982 + BinaryExpression 1677346 1677375 + Identifier 1677346 1677351 + AmpersandToken 1677351 1677353 + PropertyAccessExpression 1677353 1677375 + Identifier 1677353 1677363 + Identifier 1677364 1677375 + Block 1677376 1677806 + VariableStatement 1677378 1677449 + VariableDeclarationList 1677378 1677448 + VariableDeclaration 1677401 1677448 + Identifier 1677401 1677408 + PropertyAccessExpression 1677410 1677448 + PropertyAccessExpression 1677410 1677441 + ParenthesizedExpression 1677410 1677436 + AsExpression 1677412 1677435 + Identifier 1677412 1677416 + TypeReference 1677419 1677435 + Identifier 1677419 1677435 + Identifier 1677437 1677441 + Identifier 1677442 1677448 + VariableStatement 1677449 1677509 + VariableDeclarationList 1677449 1677508 + VariableDeclaration 1677472 1677508 + Identifier 1677472 1677488 + PropertyAccessExpression 1677490 1677508 + Identifier 1677490 1677497 + Identifier 1677498 1677508 + ExpressionStatement 1677509 1677590 + BinaryExpression 1677509 1677589 + PropertyAccessExpression 1677509 1677544 + Identifier 1677509 1677533 + Identifier 1677534 1677544 + EqualsToken 1677544 1677546 + PropertyAccessExpression 1677546 1677589 + PropertyAccessExpression 1677546 1677577 + ParenthesizedExpression 1677546 1677572 + AsExpression 1677548 1677571 + Identifier 1677548 1677552 + TypeReference 1677555 1677571 + Identifier 1677555 1677571 + Identifier 1677573 1677577 + Identifier 1677578 1677589 + VariableStatement 1677590 1677705 + VariableDeclarationList 1677590 1677704 + VariableDeclaration 1677613 1677704 + Identifier 1677613 1677620 + CallExpression 1677622 1677704 + Identifier 1677622 1677642 + PropertyAccessExpression 1677643 1677679 + ParenthesizedExpression 1677643 1677668 + AsExpression 1677644 1677667 + Identifier 1677644 1677648 + TypeReference 1677651 1677667 + Identifier 1677651 1677667 + Identifier 1677669 1677679 + FalseKeyword 1677680 1677703 + ExpressionStatement 1677705 1677759 + BinaryExpression 1677705 1677758 + PropertyAccessExpression 1677705 1677740 + Identifier 1677705 1677729 + Identifier 1677730 1677740 + EqualsToken 1677740 1677742 + Identifier 1677742 1677758 + ReturnStatement 1677759 1677791 + Identifier 1677783 1677790 + Block 1677824 1677982 + ReturnStatement 1677826 1677967 + PrefixUnaryExpression 1677932 1677966 + PrefixUnaryExpression 1677934 1677966 + ParenthesizedExpression 1677935 1677966 + BinaryExpression 1677936 1677965 + Identifier 1677936 1677941 + AmpersandToken 1677941 1677943 + PropertyAccessExpression 1677943 1677965 + Identifier 1677943 1677953 + Identifier 1677954 1677965 + FunctionDeclaration 1678000 1679502 + Identifier 1678016 1678036 + Parameter 1678037 1678047 + Identifier 1678037 1678041 + TypeReference 1678042 1678047 + Identifier 1678042 1678047 + BooleanKeyword 1678049 1678057 + Block 1678057 1679502 + SwitchStatement 1678059 1679472 + PropertyAccessExpression 1678077 1678086 + Identifier 1678077 1678081 + Identifier 1678082 1678086 + CaseBlock 1678087 1679472 + CaseClause 1678089 1678161 + PropertyAccessExpression 1678107 1678130 + Identifier 1678107 1678118 + Identifier 1678119 1678130 + ReturnStatement 1678131 1678161 + TrueKeyword 1678155 1678160 + CaseClause 1678161 1678627 + PropertyAccessExpression 1678179 1678201 + Identifier 1678179 1678190 + Identifier 1678191 1678201 + IfStatement 1678202 1678603 + PrefixUnaryExpression 1678224 1678248 + CallExpression 1678225 1678248 + Identifier 1678225 1678242 + Identifier 1678243 1678247 + Block 1678249 1678603 + VariableStatement 1678251 1678326 + VariableDeclarationList 1678251 1678325 + VariableDeclaration 1678278 1678325 + Identifier 1678278 1678285 + CallExpression 1678287 1678325 + Identifier 1678287 1678305 + AsExpression 1678306 1678324 + Identifier 1678306 1678310 + TypeReference 1678313 1678324 + Identifier 1678313 1678324 + ReturnStatement 1678326 1678584 + BinaryExpression 1678354 1678583 + BinaryExpression 1678354 1678480 + CallExpression 1678354 1678381 + Identifier 1678354 1678373 + Identifier 1678374 1678380 + BarBarToken 1678381 1678409 + BinaryExpression 1678409 1678480 + CallExpression 1678409 1678451 + Identifier 1678409 1678443 + Identifier 1678444 1678450 + AmpersandAmpersandToken 1678451 1678454 + PrefixUnaryExpression 1678454 1678480 + CallExpression 1678456 1678480 + Identifier 1678456 1678472 + Identifier 1678473 1678479 + BarBarToken 1678480 1678508 + BinaryExpression 1678508 1678583 + PrefixUnaryExpression 1678508 1678534 + PrefixUnaryExpression 1678510 1678534 + PropertyAccessExpression 1678511 1678534 + Identifier 1678511 1678517 + Identifier 1678518 1678534 + AmpersandAmpersandToken 1678534 1678537 + CallExpression 1678537 1678583 + Identifier 1678537 1678558 + PropertyAccessExpression 1678559 1678582 + Identifier 1678559 1678565 + Identifier 1678566 1678582 + BreakStatement 1678603 1678627 + CaseClause 1678627 1678682 + PropertyAccessExpression 1678645 1678681 + Identifier 1678645 1678656 + Identifier 1678657 1678681 + CaseClause 1678682 1679020 + PropertyAccessExpression 1678700 1678735 + Identifier 1678700 1678711 + Identifier 1678712 1678735 + ReturnStatement 1678736 1679020 + BinaryExpression 1678888 1679019 + CallExpression 1678888 1678947 + Identifier 1678888 1678908 + PropertyAccessExpression 1678909 1678946 + ParenthesizedExpression 1678909 1678935 + AsExpression 1678910 1678934 + Identifier 1678910 1678914 + TypeReference 1678917 1678934 + Identifier 1678917 1678934 + Identifier 1678936 1678946 + AmpersandAmpersandToken 1678947 1678950 + CallExpression 1678950 1679019 + Identifier 1678950 1678967 + BinaryExpression 1678968 1679018 + PropertyAccessExpression 1678968 1679001 + CallExpression 1678968 1678986 + Identifier 1678968 1678980 + Identifier 1678981 1678985 + Identifier 1678987 1679001 + BarBarToken 1679001 1679004 + Identifier 1679004 1679018 + CaseClause 1679020 1679071 + PropertyAccessExpression 1679038 1679070 + Identifier 1679038 1679049 + Identifier 1679050 1679070 + CaseClause 1679071 1679461 + PropertyAccessExpression 1679089 1679120 + Identifier 1679089 1679100 + Identifier 1679101 1679120 + VariableStatement 1679121 1679195 + VariableDeclarationList 1679121 1679194 + VariableDeclaration 1679144 1679194 + Identifier 1679144 1679160 + CallExpression 1679162 1679194 + Identifier 1679162 1679181 + PropertyAccessExpression 1679182 1679193 + Identifier 1679182 1679186 + Identifier 1679187 1679193 + ReturnStatement 1679195 1679461 + ConditionalExpression 1679219 1679460 + BinaryExpression 1679219 1679301 + CallExpression 1679219 1679248 + Identifier 1679219 1679231 + Identifier 1679232 1679247 + BarBarToken 1679248 1679251 + CallExpression 1679251 1679301 + Identifier 1679251 1679284 + Identifier 1679285 1679300 + QuestionToken 1679301 1679324 + PrefixUnaryExpression 1679324 1679363 + CallExpression 1679326 1679363 + Identifier 1679326 1679346 + Identifier 1679347 1679362 + ColonToken 1679363 1679386 + BinaryExpression 1679386 1679460 + CallExpression 1679386 1679425 + Identifier 1679386 1679408 + Identifier 1679409 1679424 + AmpersandAmpersandToken 1679425 1679428 + CallExpression 1679428 1679460 + Identifier 1679428 1679443 + Identifier 1679444 1679459 + ReturnStatement 1679472 1679495 + FalseKeyword 1679488 1679494 + FunctionDeclaration 1679502 1756033 + Identifier 1679518 1679541 + Parameter 1679542 1679557 + Identifier 1679542 1679551 + TypeReference 1679552 1679557 + Identifier 1679552 1679557 + Parameter 1679558 1679577 + Identifier 1679558 1679571 + TypeReference 1679572 1679577 + Identifier 1679572 1679577 + Parameter 1679578 1679605 + Identifier 1679578 1679590 + Identifier 1679592 1679605 + Parameter 1679606 1679627 + Identifier 1679606 1679620 + QuestionToken 1679620 1679621 + TypeReference 1679622 1679627 + Identifier 1679622 1679627 + Parameter 1679628 1679685 + Identifier 1679628 1679637 + PropertyAccessExpression 1679639 1679685 + CallExpression 1679639 1679675 + Identifier 1679639 1679647 + Identifier 1679648 1679657 + Identifier 1679658 1679674 + QuestionDotToken 1679675 1679677 + Identifier 1679677 1679685 + Block 1679686 1756033 + VariableStatement 1679688 1679726 + VariableDeclarationList 1679688 1679725 + VariableDeclaration 1679701 1679725 + Identifier 1679701 1679705 + UnionType 1679706 1679725 + StringKeyword 1679706 1679713 + UndefinedKeyword 1679715 1679725 + VariableStatement 1679726 1679757 + VariableDeclarationList 1679726 1679756 + VariableDeclaration 1679739 1679756 + Identifier 1679739 1679748 + FalseKeyword 1679750 1679756 + VariableStatement 1679757 1679785 + VariableDeclarationList 1679757 1679784 + VariableDeclaration 1679770 1679784 + Identifier 1679770 1679780 + NumericLiteral 1679782 1679784 + IfStatement 1679785 1679864 + Identifier 1679799 1679819 + Block 1679820 1679864 + ReturnStatement 1679822 1679853 + Identifier 1679842 1679852 + IfStatement 1679864 1679935 + PrefixUnaryExpression 1679878 1679887 + Identifier 1679879 1679887 + Block 1679888 1679935 + ReturnStatement 1679890 1679924 + Identifier 1679910 1679923 + ExpressionStatement 1679935 1679967 + PostfixUnaryExpression 1679935 1679966 + Identifier 1679935 1679964 + VariableStatement 1679967 1680017 + VariableDeclarationList 1679967 1680016 + VariableDeclaration 1679982 1680016 + Identifier 1679982 1679998 + Identifier 1680000 1680016 + VariableStatement 1680017 1680096 + VariableDeclarationList 1680017 1680095 + VariableDeclaration 1680032 1680095 + Identifier 1680032 1680044 + CallExpression 1680046 1680095 + Identifier 1680046 1680066 + CallExpression 1680067 1680094 + Identifier 1680067 1680084 + Identifier 1680085 1680093 + ExpressionStatement 1680096 1680140 + BinaryExpression 1680096 1680139 + Identifier 1680096 1680121 + EqualsToken 1680121 1680123 + Identifier 1680123 1680139 + VariableStatement 1680140 1680719 + VariableDeclarationList 1680140 1680718 + VariableDeclaration 1680547 1680718 + Identifier 1680547 1680558 + ConditionalExpression 1680560 1680718 + BinaryExpression 1680560 1680661 + BinaryExpression 1680560 1680616 + CallExpression 1680560 1680588 + Identifier 1680560 1680575 + Identifier 1680576 1680587 + AmpersandToken 1680588 1680590 + PropertyAccessExpression 1680590 1680616 + Identifier 1680590 1680602 + Identifier 1680603 1680616 + AmpersandAmpersandToken 1680616 1680619 + CallExpression 1680619 1680661 + Identifier 1680619 1680650 + Identifier 1680651 1680660 + QuestionToken 1680661 1680663 + Identifier 1680663 1680677 + ColonToken 1680677 1680679 + CallExpression 1680679 1680718 + Identifier 1680679 1680705 + Identifier 1680706 1680717 + IfStatement 1680719 1681020 + BinaryExpression 1680733 1680972 + BinaryExpression 1680733 1680768 + Identifier 1680733 1680743 + EqualsEqualsEqualsToken 1680743 1680747 + Identifier 1680747 1680768 + BarBarToken 1680768 1680771 + BinaryExpression 1680771 1680972 + BinaryExpression 1680771 1680887 + BinaryExpression 1680771 1680846 + PropertyAccessExpression 1680771 1680788 + Identifier 1680771 1680781 + Identifier 1680782 1680788 + AmpersandAmpersandToken 1680788 1680791 + BinaryExpression 1680791 1680846 + PropertyAccessExpression 1680791 1680813 + PropertyAccessExpression 1680791 1680808 + Identifier 1680791 1680801 + Identifier 1680802 1680808 + Identifier 1680809 1680813 + EqualsEqualsEqualsToken 1680813 1680817 + PropertyAccessExpression 1680817 1680846 + Identifier 1680817 1680828 + Identifier 1680829 1680846 + AmpersandAmpersandToken 1680846 1680849 + PrefixUnaryExpression 1680849 1680887 + ParenthesizedExpression 1680851 1680887 + BinaryExpression 1680852 1680886 + PropertyAccessExpression 1680852 1680868 + Identifier 1680852 1680862 + Identifier 1680863 1680868 + AmpersandToken 1680868 1680870 + PropertyAccessExpression 1680870 1680886 + Identifier 1680870 1680880 + Identifier 1680881 1680886 + AmpersandAmpersandToken 1680887 1680890 + BinaryExpression 1680890 1680972 + PropertyAccessExpression 1680890 1680954 + CallExpression 1680890 1680948 + Identifier 1680890 1680907 + Identifier 1680908 1680918 + PropertyAccessExpression 1680919 1680947 + Identifier 1680919 1680929 + Identifier 1680930 1680947 + Identifier 1680949 1680954 + AmpersandToken 1680954 1680956 + PropertyAccessExpression 1680956 1680972 + Identifier 1680956 1680966 + Identifier 1680967 1680972 + Block 1680973 1681020 + ReturnStatement 1680975 1681009 + Identifier 1680995 1681008 + ReturnStatement 1681020 1681048 + Identifier 1681036 1681047 + FunctionDeclaration 1681048 1681299 + Identifier 1681068 1681085 + Block 1681087 1681299 + IfStatement 1681089 1681162 + Identifier 1681107 1681115 + Block 1681116 1681162 + ReturnStatement 1681118 1681147 + Identifier 1681142 1681146 + ExpressionStatement 1681162 1681192 + BinaryExpression 1681162 1681191 + Identifier 1681162 1681184 + EqualsToken 1681184 1681186 + TrueKeyword 1681186 1681191 + ReturnStatement 1681192 1681288 + BinaryExpression 1681212 1681287 + Identifier 1681212 1681216 + EqualsToken 1681216 1681218 + CallExpression 1681218 1681287 + Identifier 1681218 1681234 + Identifier 1681235 1681244 + Identifier 1681245 1681258 + Identifier 1681259 1681271 + Identifier 1681272 1681286 + FunctionDeclaration 1681299 1686457 + Identifier 1681319 1681337 + Parameter 1681338 1681352 + Identifier 1681338 1681342 + TypeReference 1681343 1681352 + Identifier 1681343 1681352 + TypeReference 1681354 1681363 + Identifier 1681354 1681363 + Block 1681363 1686457 + IfStatement 1681365 1681887 + BinaryExpression 1681383 1681401 + Identifier 1681383 1681392 + EqualsEqualsEqualsToken 1681392 1681396 + NumericLiteral 1681396 1681401 + Block 1681402 1681887 + ExpressionStatement 1681404 1681739 + CallExpression 1681404 1681738 + PropertyAccessExpression 1681404 1681659 + Identifier 1681404 1681650 + QuestionDotToken 1681650 1681652 + Identifier 1681652 1681659 + PropertyAccessExpression 1681660 1681684 + PropertyAccessExpression 1681660 1681673 + Identifier 1681660 1681667 + Identifier 1681668 1681673 + Identifier 1681674 1681684 + StringLiteral 1681685 1681716 + ObjectLiteralExpression 1681717 1681737 + PropertyAssignment 1681719 1681735 + Identifier 1681719 1681726 + PropertyAccessExpression 1681727 1681735 + Identifier 1681727 1681732 + Identifier 1681733 1681735 + ExpressionStatement 1681739 1681785 + BinaryExpression 1681739 1681784 + Identifier 1681739 1681777 + EqualsToken 1681777 1681779 + TrueKeyword 1681779 1681784 + ExpressionStatement 1681785 1681837 + CallExpression 1681785 1681836 + Identifier 1681785 1681825 + Identifier 1681826 1681835 + ReturnStatement 1681837 1681872 + Identifier 1681861 1681871 + ExpressionStatement 1681887 1681913 + PostfixUnaryExpression 1681887 1681912 + Identifier 1681887 1681910 + VariableStatement 1681913 1681964 + VariableDeclarationList 1681913 1681963 + VariableDeclaration 1681930 1681963 + Identifier 1681930 1681941 + UnionType 1681942 1681963 + TypeReference 1681942 1681951 + Identifier 1681942 1681951 + UndefinedKeyword 1681953 1681963 + WhileStatement 1681964 1686446 + TrueKeyword 1681985 1681989 + Block 1681990 1686446 + VariableStatement 1681992 1682035 + VariableDeclarationList 1681992 1682034 + VariableDeclaration 1682015 1682034 + Identifier 1682015 1682021 + PropertyAccessExpression 1682023 1682034 + Identifier 1682023 1682028 + Identifier 1682029 1682034 + IfStatement 1682035 1682713 + BinaryExpression 1682057 1682081 + Identifier 1682057 1682062 + AmpersandToken 1682062 1682064 + PropertyAccessExpression 1682064 1682081 + Identifier 1682064 1682074 + Identifier 1682075 1682081 + Block 1682082 1682713 + ForStatement 1682084 1682654 + VariableDeclarationList 1682394 1682417 + VariableDeclaration 1682397 1682417 + Identifier 1682397 1682399 + Identifier 1682401 1682417 + BinaryExpression 1682418 1682438 + Identifier 1682418 1682420 + LessThanToken 1682420 1682422 + Identifier 1682422 1682438 + PostfixUnaryExpression 1682439 1682443 + Identifier 1682439 1682441 + Block 1682444 1682654 + IfStatement 1682446 1682631 + BinaryExpression 1682476 1682503 + ElementAccessExpression 1682476 1682494 + Identifier 1682476 1682491 + Identifier 1682492 1682493 + EqualsEqualsEqualsToken 1682494 1682498 + Identifier 1682498 1682503 + Block 1682504 1682631 + ExpressionStatement 1682506 1682548 + PostfixUnaryExpression 1682506 1682547 + Identifier 1682506 1682545 + ReturnStatement 1682548 1682604 + ElementAccessExpression 1682584 1682603 + Identifier 1682584 1682600 + Identifier 1682601 1682602 + ExpressionStatement 1682654 1682694 + BinaryExpression 1682654 1682693 + Identifier 1682654 1682686 + EqualsToken 1682686 1682688 + Identifier 1682688 1682693 + VariableStatement 1682713 1682762 + VariableDeclarationList 1682713 1682761 + VariableDeclaration 1682734 1682761 + Identifier 1682734 1682739 + UnionType 1682740 1682761 + TypeReference 1682740 1682749 + Identifier 1682740 1682749 + UndefinedKeyword 1682751 1682761 + IfStatement 1682762 1686065 + BinaryExpression 1682784 1682812 + Identifier 1682784 1682789 + AmpersandToken 1682789 1682791 + PropertyAccessExpression 1682791 1682812 + Identifier 1682791 1682801 + Identifier 1682802 1682812 + Block 1682813 1683072 + ExpressionStatement 1682815 1682892 + BinaryExpression 1682815 1682891 + Identifier 1682815 1682841 + EqualsToken 1682841 1682843 + CallExpression 1682843 1682891 + Identifier 1682843 1682867 + AsExpression 1682868 1682890 + Identifier 1682868 1682872 + TypeReference 1682875 1682890 + Identifier 1682875 1682890 + IfStatement 1682892 1683053 + PrefixUnaryExpression 1682918 1682923 + Identifier 1682919 1682923 + Block 1682924 1683053 + ExpressionStatement 1682926 1682995 + BinaryExpression 1682926 1682994 + Identifier 1682926 1682956 + EqualsToken 1682956 1682958 + PropertyAccessExpression 1682958 1682994 + ParenthesizedExpression 1682958 1682983 + AsExpression 1682960 1682982 + Identifier 1682960 1682964 + TypeReference 1682967 1682982 + Identifier 1682967 1682982 + Identifier 1682984 1682994 + ContinueStatement 1682995 1683030 + IfStatement 1683094 1686065 + BinaryExpression 1683099 1683121 + Identifier 1683099 1683104 + AmpersandToken 1683104 1683106 + PropertyAccessExpression 1683106 1683121 + Identifier 1683106 1683116 + Identifier 1683117 1683121 + Block 1683122 1683363 + ExpressionStatement 1683124 1683189 + BinaryExpression 1683124 1683188 + Identifier 1683124 1683150 + EqualsToken 1683150 1683152 + CallExpression 1683152 1683188 + Identifier 1683152 1683170 + AsExpression 1683171 1683187 + Identifier 1683171 1683175 + TypeReference 1683178 1683187 + Identifier 1683178 1683187 + IfStatement 1683189 1683344 + PrefixUnaryExpression 1683215 1683220 + Identifier 1683216 1683220 + Block 1683221 1683344 + ExpressionStatement 1683223 1683286 + BinaryExpression 1683223 1683285 + Identifier 1683223 1683253 + EqualsToken 1683253 1683255 + PropertyAccessExpression 1683255 1683285 + ParenthesizedExpression 1683255 1683274 + AsExpression 1683257 1683273 + Identifier 1683257 1683261 + TypeReference 1683264 1683273 + Identifier 1683264 1683273 + Identifier 1683275 1683285 + ContinueStatement 1683286 1683321 + IfStatement 1683385 1686065 + BinaryExpression 1683390 1683417 + Identifier 1683390 1683395 + AmpersandToken 1683395 1683397 + PropertyAccessExpression 1683397 1683417 + Identifier 1683397 1683407 + Identifier 1683408 1683417 + Block 1683418 1683514 + ExpressionStatement 1683420 1683495 + BinaryExpression 1683420 1683494 + Identifier 1683420 1683446 + EqualsToken 1683446 1683448 + CallExpression 1683448 1683494 + Identifier 1683448 1683471 + AsExpression 1683472 1683493 + Identifier 1683472 1683476 + TypeReference 1683479 1683493 + Identifier 1683479 1683493 + IfStatement 1683536 1686065 + BinaryExpression 1683541 1683571 + Identifier 1683541 1683546 + AmpersandToken 1683546 1683548 + PropertyAccessExpression 1683548 1683571 + Identifier 1683548 1683558 + Identifier 1683559 1683571 + Block 1683572 1683670 + ExpressionStatement 1683574 1683651 + BinaryExpression 1683574 1683650 + Identifier 1683574 1683600 + EqualsToken 1683600 1683602 + CallExpression 1683602 1683650 + Identifier 1683602 1683624 + AsExpression 1683625 1683649 + Identifier 1683625 1683629 + TypeReference 1683632 1683649 + Identifier 1683632 1683649 + IfStatement 1683692 1686065 + BinaryExpression 1683697 1683720 + Identifier 1683697 1683702 + AmpersandToken 1683702 1683704 + PropertyAccessExpression 1683704 1683720 + Identifier 1683704 1683714 + Identifier 1683715 1683720 + Block 1683721 1684140 + IfStatement 1683723 1683922 + BinaryExpression 1683749 1683793 + PropertyAccessExpression 1683749 1683787 + NonNullExpression 1683749 1683780 + PropertyAccessExpression 1683749 1683779 + ParenthesizedExpression 1683749 1683768 + AsExpression 1683750 1683767 + Identifier 1683750 1683754 + TypeReference 1683757 1683767 + Identifier 1683757 1683767 + Identifier 1683769 1683779 + Identifier 1683781 1683787 + EqualsEqualsEqualsToken 1683787 1683791 + NumericLiteral 1683791 1683793 + Block 1683794 1683922 + ExpressionStatement 1683796 1683864 + BinaryExpression 1683796 1683863 + Identifier 1683796 1683826 + EqualsToken 1683826 1683828 + ElementAccessExpression 1683828 1683863 + NonNullExpression 1683828 1683860 + PropertyAccessExpression 1683828 1683859 + ParenthesizedExpression 1683828 1683848 + AsExpression 1683830 1683847 + Identifier 1683830 1683834 + TypeReference 1683837 1683847 + Identifier 1683837 1683847 + Identifier 1683849 1683859 + NumericLiteral 1683861 1683862 + ContinueStatement 1683864 1683899 + ExpressionStatement 1683922 1684121 + BinaryExpression 1683922 1684120 + Identifier 1683922 1683948 + EqualsToken 1683948 1683950 + ConditionalExpression 1683950 1684120 + BinaryExpression 1683950 1683980 + Identifier 1683950 1683956 + AmpersandToken 1683956 1683958 + PropertyAccessExpression 1683958 1683980 + Identifier 1683958 1683968 + Identifier 1683969 1683980 + QuestionToken 1683980 1683982 + CallExpression 1683982 1684051 + Identifier 1683982 1684032 + AsExpression 1684033 1684050 + Identifier 1684033 1684037 + TypeReference 1684040 1684050 + Identifier 1684040 1684050 + ColonToken 1684051 1684053 + CallExpression 1684053 1684120 + Identifier 1684053 1684101 + AsExpression 1684102 1684119 + Identifier 1684102 1684106 + TypeReference 1684109 1684119 + Identifier 1684109 1684119 + IfStatement 1684162 1686065 + BinaryExpression 1684167 1684198 + Identifier 1684167 1684172 + AmpersandToken 1684172 1684174 + PropertyAccessExpression 1684174 1684198 + Identifier 1684174 1684184 + Identifier 1684185 1684198 + Block 1684199 1684467 + ExpressionStatement 1684201 1684284 + BinaryExpression 1684201 1684283 + Identifier 1684201 1684227 + EqualsToken 1684227 1684229 + CallExpression 1684229 1684283 + Identifier 1684229 1684256 + AsExpression 1684257 1684282 + Identifier 1684257 1684261 + TypeReference 1684264 1684282 + Identifier 1684264 1684282 + IfStatement 1684284 1684448 + PrefixUnaryExpression 1684310 1684315 + Identifier 1684311 1684315 + Block 1684316 1684448 + ExpressionStatement 1684318 1684390 + BinaryExpression 1684318 1684389 + Identifier 1684318 1684348 + EqualsToken 1684348 1684350 + PropertyAccessExpression 1684350 1684389 + ParenthesizedExpression 1684350 1684378 + AsExpression 1684352 1684377 + Identifier 1684352 1684356 + TypeReference 1684359 1684377 + Identifier 1684359 1684377 + Identifier 1684379 1684389 + ContinueStatement 1684390 1684425 + IfStatement 1684489 1686065 + BinaryExpression 1684494 1684523 + Identifier 1684494 1684499 + AmpersandToken 1684499 1684501 + PropertyAccessExpression 1684501 1684523 + Identifier 1684501 1684511 + Identifier 1684512 1684523 + Block 1684524 1684912 + VariableStatement 1684526 1684601 + VariableDeclarationList 1684526 1684600 + VariableDeclaration 1684553 1684600 + Identifier 1684553 1684560 + PropertyAccessExpression 1684562 1684600 + PropertyAccessExpression 1684562 1684593 + ParenthesizedExpression 1684562 1684588 + AsExpression 1684564 1684587 + Identifier 1684564 1684568 + TypeReference 1684571 1684587 + Identifier 1684571 1684587 + Identifier 1684589 1684593 + Identifier 1684594 1684600 + VariableStatement 1684601 1684665 + VariableDeclarationList 1684601 1684664 + VariableDeclaration 1684628 1684664 + Identifier 1684628 1684644 + PropertyAccessExpression 1684646 1684664 + Identifier 1684646 1684653 + Identifier 1684654 1684664 + ExpressionStatement 1684665 1684750 + BinaryExpression 1684665 1684749 + PropertyAccessExpression 1684665 1684704 + Identifier 1684665 1684693 + Identifier 1684694 1684704 + EqualsToken 1684704 1684706 + PropertyAccessExpression 1684706 1684749 + PropertyAccessExpression 1684706 1684737 + ParenthesizedExpression 1684706 1684732 + AsExpression 1684708 1684731 + Identifier 1684708 1684712 + TypeReference 1684715 1684731 + Identifier 1684715 1684731 + Identifier 1684733 1684737 + Identifier 1684738 1684749 + ExpressionStatement 1684750 1684835 + BinaryExpression 1684750 1684834 + Identifier 1684750 1684776 + EqualsToken 1684776 1684778 + CallExpression 1684778 1684834 + Identifier 1684778 1684796 + PropertyAccessExpression 1684797 1684833 + ParenthesizedExpression 1684797 1684822 + AsExpression 1684798 1684821 + Identifier 1684798 1684802 + TypeReference 1684805 1684821 + Identifier 1684805 1684821 + Identifier 1684823 1684833 + ExpressionStatement 1684835 1684893 + BinaryExpression 1684835 1684892 + PropertyAccessExpression 1684835 1684874 + Identifier 1684835 1684863 + Identifier 1684864 1684874 + EqualsToken 1684874 1684876 + Identifier 1684876 1684892 + IfStatement 1684934 1686065 + BinaryExpression 1684939 1684962 + Identifier 1684939 1684944 + AmpersandToken 1684944 1684946 + PropertyAccessExpression 1684946 1684962 + Identifier 1684946 1684956 + Identifier 1684957 1684962 + Block 1684963 1685778 + VariableStatement 1684965 1685132 + VariableDeclarationList 1684965 1685131 + VariableDeclaration 1685094 1685131 + Identifier 1685094 1685104 + PropertyAccessExpression 1685106 1685131 + ParenthesizedExpression 1685106 1685126 + AsExpression 1685108 1685125 + Identifier 1685108 1685112 + TypeReference 1685115 1685125 + Identifier 1685115 1685125 + Identifier 1685127 1685131 + IfStatement 1685132 1685645 + BinaryExpression 1685158 1685509 + BinaryExpression 1685158 1685389 + BinaryExpression 1685158 1685307 + BinaryExpression 1685158 1685224 + Identifier 1685158 1685193 + AmpersandAmpersandToken 1685193 1685196 + BinaryExpression 1685196 1685224 + Identifier 1685196 1685206 + ExclamationEqualsEqualsToken 1685206 1685210 + Identifier 1685210 1685224 + AmpersandAmpersandToken 1685224 1685227 + BinaryExpression 1685227 1685307 + PropertyAccessExpression 1685227 1685267 + Identifier 1685227 1685262 + Identifier 1685263 1685267 + ExclamationEqualsEqualsToken 1685267 1685271 + PropertyAccessExpression 1685271 1685307 + Identifier 1685271 1685282 + Identifier 1685283 1685307 + AmpersandAmpersandToken 1685307 1685310 + BinaryExpression 1685310 1685389 + PropertyAccessExpression 1685310 1685350 + Identifier 1685310 1685345 + Identifier 1685346 1685350 + ExclamationEqualsEqualsToken 1685350 1685354 + PropertyAccessExpression 1685354 1685389 + Identifier 1685354 1685365 + Identifier 1685366 1685389 + AmpersandAmpersandToken 1685389 1685392 + PrefixUnaryExpression 1685392 1685509 + ParenthesizedExpression 1685419 1685509 + BinaryExpression 1685420 1685508 + BinaryExpression 1685420 1685461 + PropertyAccessExpression 1685420 1685434 + Identifier 1685420 1685429 + Identifier 1685430 1685434 + EqualsEqualsEqualsToken 1685434 1685438 + PropertyAccessExpression 1685438 1685461 + Identifier 1685438 1685449 + Identifier 1685450 1685461 + AmpersandAmpersandToken 1685461 1685464 + BinaryExpression 1685464 1685508 + PropertyAccessExpression 1685464 1685479 + Identifier 1685464 1685474 + Identifier 1685475 1685479 + ExclamationEqualsEqualsToken 1685479 1685483 + PropertyAccessExpression 1685483 1685508 + Identifier 1685483 1685494 + Identifier 1685495 1685508 + Block 1685532 1685645 + ExpressionStatement 1685534 1685587 + BinaryExpression 1685534 1685586 + Identifier 1685534 1685564 + EqualsToken 1685564 1685566 + NonNullExpression 1685566 1685586 + PropertyAccessExpression 1685566 1685585 + Identifier 1685566 1685576 + Identifier 1685577 1685585 + ContinueStatement 1685587 1685622 + ExpressionStatement 1685645 1685759 + BinaryExpression 1685645 1685758 + Identifier 1685645 1685744 + EqualsToken 1685744 1685746 + Identifier 1685746 1685758 + Block 1685800 1686065 + ExpressionStatement 1685802 1686046 + BinaryExpression 1685802 1686045 + Identifier 1685802 1686012 + EqualsToken 1686012 1686014 + CallExpression 1686014 1686045 + Identifier 1686014 1686031 + Identifier 1686032 1686044 + IfStatement 1686065 1686371 + Identifier 1686087 1686097 + Block 1686098 1686371 + ExpressionStatement 1686100 1686250 + BinaryExpression 1686100 1686249 + ElementAccessExpression 1686100 1686236 + Identifier 1686100 1686219 + Identifier 1686220 1686235 + EqualsToken 1686236 1686238 + Identifier 1686238 1686249 + ExpressionStatement 1686250 1686312 + BinaryExpression 1686250 1686311 + ElementAccessExpression 1686250 1686304 + Identifier 1686250 1686287 + Identifier 1686288 1686303 + EqualsToken 1686304 1686306 + Identifier 1686306 1686311 + ExpressionStatement 1686312 1686352 + PostfixUnaryExpression 1686312 1686351 + Identifier 1686312 1686349 + ExpressionStatement 1686371 1686401 + PostfixUnaryExpression 1686371 1686400 + Identifier 1686371 1686398 + ReturnStatement 1686401 1686431 + Identifier 1686425 1686430 + FunctionDeclaration 1686457 1686904 + Identifier 1686477 1686502 + Parameter 1686503 1686523 + Identifier 1686503 1686507 + TypeReference 1686508 1686523 + Identifier 1686508 1686523 + Block 1686524 1686904 + VariableStatement 1686526 1686563 + VariableDeclarationList 1686526 1686562 + VariableDeclaration 1686545 1686562 + Identifier 1686545 1686550 + PropertyAccessExpression 1686552 1686562 + Identifier 1686552 1686557 + Identifier 1686558 1686562 + ReturnStatement 1686563 1686893 + CallExpression 1686583 1686892 + Identifier 1686583 1686613 + ConditionalExpression 1686614 1686848 + BinaryExpression 1686614 1686719 + BinaryExpression 1686614 1686676 + PropertyAccessExpression 1686614 1686641 + Identifier 1686614 1686636 + Identifier 1686637 1686641 + EqualsEqualsEqualsToken 1686641 1686645 + PropertyAccessExpression 1686645 1686676 + Identifier 1686645 1686656 + Identifier 1686657 1686676 + BarBarToken 1686676 1686679 + BinaryExpression 1686679 1686719 + PropertyAccessExpression 1686679 1686689 + Identifier 1686679 1686684 + Identifier 1686685 1686689 + EqualsEqualsEqualsToken 1686689 1686693 + PropertyAccessExpression 1686693 1686719 + Identifier 1686693 1686704 + Identifier 1686705 1686719 + QuestionToken 1686719 1686721 + CallExpression 1686721 1686803 + Identifier 1686721 1686757 + AsExpression 1686758 1686802 + Identifier 1686758 1686762 + UnionType 1686765 1686802 + TypeReference 1686765 1686785 + Identifier 1686765 1686785 + TypeReference 1686787 1686802 + Identifier 1686787 1686802 + ColonToken 1686803 1686805 + CallExpression 1686805 1686848 + Identifier 1686805 1686842 + Identifier 1686843 1686847 + Identifier 1686849 1686876 + FunctionDeclaration 1686904 1690259 + Identifier 1686924 1686948 + Parameter 1686949 1686969 + Identifier 1686949 1686953 + TypeReference 1686954 1686969 + Identifier 1686954 1686969 + Block 1686970 1690259 + VariableStatement 1686972 1687009 + VariableDeclarationList 1686972 1687008 + VariableDeclaration 1686991 1687008 + Identifier 1686991 1686996 + PropertyAccessExpression 1686998 1687008 + Identifier 1686998 1687003 + Identifier 1687004 1687008 + IfStatement 1687009 1688466 + CallExpression 1687226 1687262 + Identifier 1687226 1687245 + Identifier 1687246 1687255 + Identifier 1687256 1687261 + Block 1687263 1688466 + IfStatement 1687265 1687385 + PrefixUnaryExpression 1687287 1687313 + CallExpression 1687288 1687313 + Identifier 1687288 1687307 + Identifier 1687308 1687312 + Block 1687314 1687385 + ReturnStatement 1687316 1687366 + Identifier 1687344 1687365 + IfStatement 1687385 1687685 + BinaryExpression 1687407 1687464 + CallExpression 1687407 1687436 + Identifier 1687407 1687430 + Identifier 1687431 1687435 + EqualsEqualsEqualsToken 1687436 1687440 + PropertyAccessExpression 1687440 1687464 + Identifier 1687440 1687455 + Identifier 1687456 1687464 + Block 1687465 1687685 + VariableStatement 1687467 1687541 + VariableDeclarationList 1687467 1687540 + VariableDeclaration 1687494 1687540 + Identifier 1687494 1687503 + CallExpression 1687505 1687540 + Identifier 1687505 1687523 + PropertyAccessExpression 1687524 1687539 + Identifier 1687524 1687528 + Identifier 1687529 1687539 + ReturnStatement 1687541 1687666 + CallExpression 1687569 1687665 + Identifier 1687569 1687584 + CallExpression 1687585 1687640 + Identifier 1687585 1687609 + CallExpression 1687610 1687639 + Identifier 1687610 1687629 + Identifier 1687630 1687638 + CallExpression 1687641 1687664 + Identifier 1687641 1687654 + Identifier 1687655 1687663 + IfStatement 1687685 1688136 + BinaryExpression 1687707 1687766 + BinaryExpression 1687707 1687732 + Identifier 1687707 1687719 + EqualsEqualsEqualsToken 1687719 1687723 + Identifier 1687723 1687732 + BarBarToken 1687732 1687735 + BinaryExpression 1687735 1687766 + Identifier 1687735 1687748 + EqualsEqualsEqualsToken 1687748 1687752 + Identifier 1687752 1687766 + Block 1687767 1688136 + IfStatement 1687769 1687914 + CallExpression 1687795 1687823 + Identifier 1687795 1687817 + Identifier 1687818 1687822 + Block 1687824 1687914 + ReturnStatement 1687826 1687891 + CallExpression 1687858 1687890 + Identifier 1687858 1687879 + Identifier 1687880 1687889 + VariableStatement 1687914 1688011 + VariableDeclarationList 1687914 1688010 + VariableDeclaration 1687941 1688010 + Identifier 1687941 1687954 + CallExpression 1687956 1688010 + Identifier 1687956 1687978 + CallExpression 1687979 1688009 + Identifier 1687979 1688003 + Identifier 1688004 1688008 + ReturnStatement 1688011 1688117 + ConditionalExpression 1688039 1688116 + CallExpression 1688039 1688086 + Identifier 1688039 1688058 + Identifier 1688059 1688071 + Identifier 1688072 1688085 + QuestionToken 1688086 1688088 + Identifier 1688088 1688101 + ColonToken 1688101 1688103 + Identifier 1688103 1688116 + VariableStatement 1688136 1688253 + VariableDeclarationList 1688136 1688252 + VariableDeclaration 1688159 1688252 + Identifier 1688159 1688161 + ConditionalExpression 1688163 1688252 + CallExpression 1688163 1688196 + Identifier 1688163 1688190 + Identifier 1688191 1688195 + QuestionToken 1688196 1688198 + CallExpression 1688198 1688237 + Identifier 1688198 1688223 + Identifier 1688224 1688236 + ColonToken 1688237 1688239 + Identifier 1688239 1688252 + IfStatement 1688253 1688424 + BinaryExpression 1688275 1688300 + PropertyAccessExpression 1688275 1688282 + Identifier 1688275 1688276 + Identifier 1688277 1688282 + AmpersandToken 1688282 1688284 + PropertyAccessExpression 1688284 1688300 + Identifier 1688284 1688294 + Identifier 1688295 1688300 + Block 1688301 1688424 + ReturnStatement 1688303 1688405 + CallExpression 1688331 1688404 + Identifier 1688331 1688356 + AsExpression 1688357 1688371 + Identifier 1688357 1688358 + TypeReference 1688361 1688371 + Identifier 1688361 1688371 + CallExpression 1688372 1688403 + Identifier 1688372 1688397 + Identifier 1688398 1688402 + ReturnStatement 1688424 1688451 + Identifier 1688448 1688450 + IfStatement 1688466 1689638 + CallExpression 1688809 1688851 + Identifier 1688809 1688834 + Identifier 1688835 1688844 + Identifier 1688845 1688850 + Block 1688852 1689638 + IfStatement 1688854 1688974 + PrefixUnaryExpression 1688876 1688902 + CallExpression 1688877 1688902 + Identifier 1688877 1688896 + Identifier 1688897 1688901 + Block 1688903 1688974 + ReturnStatement 1688905 1688955 + Identifier 1688933 1688954 + IfStatement 1688974 1689585 + BinaryExpression 1689204 1689277 + CallExpression 1689204 1689231 + Identifier 1689204 1689225 + Identifier 1689226 1689230 + AmpersandAmpersandToken 1689231 1689234 + ParenthesizedExpression 1689234 1689277 + BinaryExpression 1689236 1689276 + CallExpression 1689236 1689252 + Identifier 1689236 1689246 + Identifier 1689247 1689251 + BarBarToken 1689252 1689255 + CallExpression 1689255 1689276 + Identifier 1689255 1689270 + Identifier 1689271 1689275 + Block 1689278 1689585 + VariableStatement 1689280 1689351 + VariableDeclarationList 1689280 1689350 + VariableDeclaration 1689307 1689350 + Identifier 1689307 1689312 + CallExpression 1689314 1689350 + Identifier 1689314 1689344 + Identifier 1689345 1689349 + IfStatement 1689351 1689566 + BinaryExpression 1689377 1689472 + Identifier 1689377 1689381 + AmpersandAmpersandToken 1689381 1689384 + ParenthesizedExpression 1689384 1689472 + BinaryExpression 1689386 1689471 + BinaryExpression 1689386 1689429 + PropertyAccessExpression 1689386 1689395 + Identifier 1689386 1689390 + Identifier 1689391 1689395 + EqualsEqualsEqualsToken 1689395 1689399 + PropertyAccessExpression 1689399 1689429 + Identifier 1689399 1689410 + Identifier 1689411 1689429 + BarBarToken 1689429 1689432 + BinaryExpression 1689432 1689471 + PropertyAccessExpression 1689432 1689442 + Identifier 1689432 1689437 + Identifier 1689438 1689442 + EqualsEqualsEqualsToken 1689442 1689446 + PropertyAccessExpression 1689446 1689471 + Identifier 1689446 1689457 + Identifier 1689458 1689471 + Block 1689473 1689566 + ReturnStatement 1689475 1689543 + CallExpression 1689507 1689542 + Identifier 1689507 1689525 + PropertyAccessExpression 1689526 1689541 + Identifier 1689526 1689530 + Identifier 1689531 1689541 + ReturnStatement 1689585 1689623 + Identifier 1689609 1689622 + IfStatement 1689638 1690165 + BinaryExpression 1689718 1689997 + BinaryExpression 1689718 1689837 + CallExpression 1689718 1689763 + Identifier 1689718 1689757 + Identifier 1689758 1689762 + AmpersandAmpersandToken 1689763 1689766 + BinaryExpression 1689766 1689837 + PropertyAccessExpression 1689766 1689807 + PropertyAccessExpression 1689766 1689802 + PropertyAccessExpression 1689766 1689795 + Identifier 1689766 1689788 + Identifier 1689789 1689795 + Identifier 1689796 1689802 + Identifier 1689803 1689807 + EqualsEqualsEqualsToken 1689807 1689811 + PropertyAccessExpression 1689811 1689837 + Identifier 1689811 1689822 + Identifier 1689823 1689837 + AmpersandAmpersandToken 1689837 1689840 + ParenthesizedExpression 1689840 1689997 + BinaryExpression 1689859 1689996 + CallExpression 1689859 1689920 + Identifier 1689859 1689878 + Identifier 1689879 1689888 + PropertyAccessExpression 1689889 1689919 + PropertyAccessExpression 1689889 1689908 + PropertyAccessExpression 1689889 1689901 + Identifier 1689889 1689894 + Identifier 1689895 1689901 + Identifier 1689902 1689908 + Identifier 1689909 1689919 + BarBarToken 1689920 1689923 + CallExpression 1689923 1689996 + Identifier 1689923 1689954 + PropertyAccessExpression 1689955 1689984 + PropertyAccessExpression 1689955 1689973 + PropertyAccessExpression 1689955 1689966 + Identifier 1689955 1689959 + Identifier 1689960 1689966 + Identifier 1689967 1689973 + Identifier 1689974 1689984 + Identifier 1689985 1689995 + Block 1690012 1690165 + ReturnStatement 1690014 1690150 + CallExpression 1690038 1690149 + Identifier 1690038 1690065 + CallExpression 1690066 1690148 + Identifier 1690066 1690091 + CallExpression 1690092 1690147 + Identifier 1690092 1690111 + CallExpression 1690112 1690146 + Identifier 1690112 1690129 + PropertyAccessExpression 1690130 1690145 + Identifier 1690130 1690134 + Identifier 1690135 1690145 + ReturnStatement 1690165 1690248 + Identifier 1690237 1690247 + FunctionDeclaration 1690259 1691257 + Identifier 1690279 1690301 + Parameter 1690302 1690312 + Identifier 1690302 1690306 + TypeReference 1690307 1690312 + Identifier 1690307 1690312 + Parameter 1690313 1690330 + Identifier 1690313 1690318 + TypeReference 1690319 1690330 + Identifier 1690319 1690330 + TypeReference 1690332 1690337 + Identifier 1690332 1690337 + Block 1690337 1691257 + VariableStatement 1690339 1690425 + VariableDeclarationList 1690339 1690424 + VariableDeclaration 1690358 1690424 + Identifier 1690358 1690363 + CallExpression 1690365 1690424 + Identifier 1690365 1690381 + Identifier 1690382 1690386 + TrueKeyword 1690387 1690423 + IfStatement 1690425 1690544 + BinaryExpression 1690443 1690480 + PropertyAccessExpression 1690443 1690452 + Identifier 1690443 1690447 + Identifier 1690448 1690452 + EqualsEqualsEqualsToken 1690452 1690456 + PropertyAccessExpression 1690456 1690480 + Identifier 1690456 1690467 + Identifier 1690468 1690480 + Block 1690481 1690544 + ReturnStatement 1690483 1690529 + Identifier 1690507 1690528 + IfStatement 1690544 1691181 + BinaryExpression 1690562 1690603 + PropertyAccessExpression 1690562 1690571 + Identifier 1690562 1690566 + Identifier 1690567 1690571 + EqualsEqualsEqualsToken 1690571 1690575 + PropertyAccessExpression 1690575 1690603 + Identifier 1690575 1690586 + Identifier 1690587 1690603 + Block 1690604 1691181 + IfStatement 1690606 1690881 + BinaryExpression 1690628 1690712 + PropertyAccessExpression 1690628 1690673 + PropertyAccessExpression 1690628 1690668 + ParenthesizedExpression 1690628 1690654 + AsExpression 1690629 1690653 + Identifier 1690629 1690633 + TypeReference 1690636 1690653 + Identifier 1690636 1690653 + Identifier 1690655 1690668 + Identifier 1690669 1690673 + EqualsEqualsEqualsToken 1690673 1690677 + PropertyAccessExpression 1690677 1690712 + Identifier 1690677 1690688 + Identifier 1690689 1690712 + Block 1690713 1690881 + ReturnStatement 1690715 1690862 + CallExpression 1690743 1690861 + Identifier 1690743 1690765 + CallExpression 1690766 1690826 + Identifier 1690766 1690787 + Identifier 1690788 1690792 + PropertyAccessExpression 1690793 1690825 + ParenthesizedExpression 1690793 1690820 + AsExpression 1690795 1690819 + Identifier 1690795 1690799 + TypeReference 1690802 1690819 + Identifier 1690802 1690819 + Identifier 1690821 1690825 + PropertyAccessExpression 1690827 1690860 + ParenthesizedExpression 1690827 1690854 + AsExpression 1690829 1690853 + Identifier 1690829 1690833 + TypeReference 1690836 1690853 + Identifier 1690836 1690853 + Identifier 1690855 1690860 + IfStatement 1690881 1691166 + BinaryExpression 1690903 1690975 + PropertyAccessExpression 1690903 1690948 + PropertyAccessExpression 1690903 1690943 + ParenthesizedExpression 1690903 1690929 + AsExpression 1690904 1690928 + Identifier 1690904 1690908 + TypeReference 1690911 1690928 + Identifier 1690911 1690928 + Identifier 1690930 1690943 + Identifier 1690944 1690948 + EqualsEqualsEqualsToken 1690948 1690952 + PropertyAccessExpression 1690952 1690975 + Identifier 1690952 1690963 + Identifier 1690964 1690975 + Block 1690976 1691166 + ReturnStatement 1690978 1691147 + CallExpression 1691006 1691146 + Identifier 1691006 1691019 + ArrayLiteralExpression 1691020 1691145 + CallExpression 1691021 1691081 + Identifier 1691021 1691042 + Identifier 1691043 1691047 + PropertyAccessExpression 1691048 1691080 + ParenthesizedExpression 1691048 1691075 + AsExpression 1691050 1691074 + Identifier 1691050 1691054 + TypeReference 1691057 1691074 + Identifier 1691057 1691074 + Identifier 1691076 1691080 + CallExpression 1691082 1691144 + Identifier 1691082 1691104 + Identifier 1691105 1691109 + PropertyAccessExpression 1691110 1691143 + ParenthesizedExpression 1691110 1691137 + AsExpression 1691112 1691136 + Identifier 1691112 1691116 + TypeReference 1691119 1691136 + Identifier 1691119 1691136 + Identifier 1691138 1691143 + ReturnStatement 1691181 1691246 + CallExpression 1691201 1691245 + Identifier 1691201 1691212 + Identifier 1691213 1691217 + Identifier 1691218 1691223 + TrueKeyword 1691224 1691244 + FunctionDeclaration 1691257 1692577 + Identifier 1691277 1691295 + Parameter 1691296 1691310 + Identifier 1691296 1691300 + TypeReference 1691301 1691310 + Identifier 1691301 1691310 + UnionType 1691312 1691333 + TypeReference 1691312 1691321 + Identifier 1691312 1691321 + UndefinedKeyword 1691323 1691333 + Block 1691333 1692577 + VariableStatement 1691335 1691398 + VariableDeclarationList 1691335 1691397 + VariableDeclaration 1691354 1691397 + Identifier 1691354 1691364 + CallExpression 1691366 1691397 + Identifier 1691366 1691386 + PropertyAccessExpression 1691387 1691396 + Identifier 1691387 1691391 + Identifier 1691392 1691396 + IfStatement 1691398 1692535 + Identifier 1691416 1691425 + Block 1691426 1692535 + VariableStatement 1691428 1691503 + VariableDeclarationList 1691428 1691502 + VariableDeclaration 1691451 1691502 + Identifier 1691451 1691461 + CallExpression 1691463 1691502 + Identifier 1691463 1691491 + Identifier 1691492 1691501 + IfStatement 1691503 1692367 + BinaryExpression 1691525 1691646 + Identifier 1691525 1691534 + AmpersandAmpersandToken 1691534 1691537 + ParenthesizedExpression 1691537 1691646 + BinaryExpression 1691539 1691645 + BinaryExpression 1691539 1691587 + PropertyAccessExpression 1691539 1691553 + Identifier 1691539 1691548 + Identifier 1691549 1691553 + EqualsEqualsEqualsToken 1691553 1691557 + PropertyAccessExpression 1691557 1691587 + Identifier 1691557 1691575 + Identifier 1691576 1691587 + BarBarToken 1691587 1691590 + BinaryExpression 1691590 1691645 + PropertyAccessExpression 1691590 1691605 + Identifier 1691590 1691600 + Identifier 1691601 1691605 + EqualsEqualsEqualsToken 1691605 1691609 + PropertyAccessExpression 1691609 1691645 + Identifier 1691609 1691627 + Identifier 1691628 1691645 + Block 1691647 1692367 + VariableStatement 1691649 1691723 + VariableDeclarationList 1691649 1691722 + VariableDeclaration 1691676 1691722 + Identifier 1691676 1691685 + CallExpression 1691687 1691722 + Identifier 1691687 1691705 + PropertyAccessExpression 1691706 1691721 + Identifier 1691706 1691710 + Identifier 1691711 1691721 + VariableStatement 1691723 1691815 + VariableDeclarationList 1691723 1691814 + VariableDeclaration 1691750 1691814 + Identifier 1691750 1691755 + CallExpression 1691757 1691814 + Identifier 1691757 1691783 + CallExpression 1691784 1691813 + Identifier 1691784 1691803 + Identifier 1691804 1691812 + VariableStatement 1691815 1692231 + VariableDeclarationList 1691815 1692230 + VariableDeclaration 1691842 1692230 + Identifier 1691842 1691855 + ConditionalExpression 1691857 1692230 + PropertyAccessExpression 1691857 1691872 + Identifier 1691857 1691867 + Identifier 1691868 1691872 + QuestionToken 1691872 1691874 + CallExpression 1691874 1691949 + Identifier 1691874 1691900 + Identifier 1691901 1691905 + Identifier 1691906 1691916 + PropertyAccessExpression 1691917 1691927 + Identifier 1691917 1691922 + Identifier 1691923 1691927 + TrueKeyword 1691928 1691948 + ColonToken 1691949 1691951 + ConditionalExpression 1691951 1692230 + BinaryExpression 1691951 1692121 + BinaryExpression 1691951 1692064 + BinaryExpression 1691951 1692031 + PropertyAccessExpression 1691951 1691991 + Identifier 1691951 1691986 + Identifier 1691987 1691991 + EqualsEqualsEqualsToken 1691991 1691995 + PropertyAccessExpression 1691995 1692031 + Identifier 1691995 1692013 + Identifier 1692014 1692031 + AmpersandAmpersandToken 1692031 1692034 + BinaryExpression 1692034 1692064 + PropertyAccessExpression 1692034 1692059 + Identifier 1692034 1692044 + Identifier 1692045 1692059 + GreaterThanEqualsToken 1692059 1692062 + NumericLiteral 1692062 1692064 + AmpersandAmpersandToken 1692064 1692067 + BinaryExpression 1692067 1692121 + PropertyAccessExpression 1692067 1692092 + Identifier 1692067 1692077 + Identifier 1692078 1692092 + LessThanToken 1692092 1692094 + PropertyAccessExpression 1692094 1692121 + PropertyAccessExpression 1692094 1692114 + PropertyAccessExpression 1692094 1692104 + Identifier 1692094 1692099 + Identifier 1692100 1692104 + Identifier 1692105 1692114 + Identifier 1692115 1692121 + QuestionToken 1692121 1692123 + CallExpression 1692123 1692198 + Identifier 1692123 1692145 + Identifier 1692146 1692150 + ElementAccessExpression 1692151 1692197 + PropertyAccessExpression 1692151 1692171 + PropertyAccessExpression 1692151 1692161 + Identifier 1692151 1692156 + Identifier 1692157 1692161 + Identifier 1692162 1692171 + PropertyAccessExpression 1692172 1692196 + Identifier 1692172 1692181 + Identifier 1692182 1692196 + ColonToken 1692198 1692200 + Identifier 1692200 1692230 + ReturnStatement 1692231 1692348 + ConditionalExpression 1692259 1692347 + BinaryExpression 1692259 1692281 + Identifier 1692259 1692272 + EqualsEqualsEqualsToken 1692272 1692276 + Identifier 1692276 1692281 + QuestionToken 1692281 1692283 + Identifier 1692283 1692292 + ColonToken 1692292 1692294 + CallExpression 1692294 1692347 + Identifier 1692294 1692309 + Identifier 1692310 1692322 + CallExpression 1692323 1692346 + Identifier 1692323 1692336 + Identifier 1692337 1692345 + IfStatement 1692367 1692520 + BinaryExpression 1692389 1692448 + PropertyAccessExpression 1692389 1692430 + CallExpression 1692389 1692424 + Identifier 1692389 1692413 + Identifier 1692414 1692423 + Identifier 1692425 1692430 + AmpersandToken 1692430 1692432 + PropertyAccessExpression 1692432 1692448 + Identifier 1692432 1692442 + Identifier 1692443 1692448 + Block 1692449 1692520 + ReturnStatement 1692451 1692501 + Identifier 1692479 1692500 + ReturnStatement 1692535 1692566 + Identifier 1692555 1692565 + FunctionDeclaration 1692577 1694534 + Identifier 1692597 1692624 + Parameter 1692625 1692648 + Identifier 1692625 1692629 + TypeReference 1692630 1692648 + Identifier 1692630 1692648 + UnionType 1692650 1692671 + TypeReference 1692650 1692659 + Identifier 1692650 1692659 + UndefinedKeyword 1692661 1692671 + Block 1692671 1694534 + IfStatement 1692673 1694492 + BinaryExpression 1692691 1692750 + BinaryExpression 1692691 1692716 + Identifier 1692691 1692703 + EqualsEqualsEqualsToken 1692703 1692707 + Identifier 1692707 1692716 + BarBarToken 1692716 1692719 + BinaryExpression 1692719 1692750 + Identifier 1692719 1692732 + EqualsEqualsEqualsToken 1692732 1692736 + Identifier 1692736 1692750 + Block 1692751 1694492 + VariableStatement 1692753 1692794 + VariableDeclarationList 1692753 1692793 + VariableDeclaration 1692776 1692793 + Identifier 1692776 1692781 + PropertyAccessExpression 1692783 1692793 + Identifier 1692783 1692788 + Identifier 1692789 1692793 + VariableStatement 1692794 1693018 + VariableDeclarationList 1692794 1693017 + VariableDeclaration 1692817 1693017 + Identifier 1692817 1692822 + ConditionalExpression 1692824 1693017 + BinaryExpression 1692824 1692864 + PropertyAccessExpression 1692824 1692834 + Identifier 1692824 1692829 + Identifier 1692830 1692834 + EqualsEqualsEqualsToken 1692834 1692838 + PropertyAccessExpression 1692838 1692864 + Identifier 1692838 1692849 + Identifier 1692850 1692864 + QuestionToken 1692864 1692866 + PropertyAccessExpression 1692866 1692944 + ParenthesizedExpression 1692866 1692933 + AsExpression 1692889 1692932 + PropertyAccessExpression 1692889 1692904 + Identifier 1692889 1692893 + Identifier 1692894 1692904 + TypeReference 1692907 1692932 + Identifier 1692907 1692932 + Identifier 1692934 1692944 + ColonToken 1692944 1692946 + PropertyAccessExpression 1692946 1693017 + ParenthesizedExpression 1692946 1693006 + AsExpression 1692969 1693005 + PropertyAccessExpression 1692969 1692978 + Identifier 1692969 1692973 + Identifier 1692974 1692978 + TypeReference 1692981 1693005 + Identifier 1692981 1693005 + Identifier 1693007 1693017 + IfStatement 1693018 1694477 + CallExpression 1693040 1693099 + Identifier 1693040 1693059 + Identifier 1693060 1693069 + CallExpression 1693070 1693098 + Identifier 1693070 1693092 + Identifier 1693093 1693097 + Block 1693100 1694477 + VariableStatement 1693102 1693176 + VariableDeclarationList 1693102 1693175 + VariableDeclaration 1693129 1693175 + Identifier 1693129 1693138 + CallExpression 1693140 1693175 + Identifier 1693140 1693158 + PropertyAccessExpression 1693159 1693174 + Identifier 1693159 1693163 + Identifier 1693164 1693174 + VariableStatement 1693176 1693241 + VariableDeclarationList 1693176 1693240 + VariableDeclaration 1693203 1693240 + Identifier 1693203 1693208 + CallExpression 1693210 1693240 + Identifier 1693210 1693230 + Identifier 1693231 1693239 + IfStatement 1693241 1694420 + BinaryExpression 1693267 1693315 + CallExpression 1693267 1693287 + Identifier 1693267 1693281 + Identifier 1693282 1693286 + AmpersandToken 1693287 1693289 + PropertyAccessExpression 1693289 1693315 + Identifier 1693289 1693301 + Identifier 1693302 1693315 + Block 1693316 1694420 + VariableStatement 1693318 1693388 + VariableDeclarationList 1693318 1693387 + VariableDeclaration 1693347 1693387 + Identifier 1693347 1693359 + AsExpression 1693361 1693387 + Identifier 1693361 1693366 + TypeReference 1693369 1693387 + Identifier 1693369 1693387 + IfStatement 1693388 1694278 + BinaryExpression 1693418 1693457 + PropertyAccessExpression 1693418 1693427 + Identifier 1693418 1693422 + Identifier 1693423 1693427 + EqualsEqualsEqualsToken 1693427 1693431 + PropertyAccessExpression 1693431 1693457 + Identifier 1693431 1693442 + Identifier 1693443 1693457 + Block 1693458 1693677 + ForOfStatement 1693460 1693650 + VariableDeclarationList 1693495 1693504 + VariableDeclaration 1693500 1693504 + Identifier 1693500 1693504 + PropertyAccessExpression 1693507 1693522 + Identifier 1693507 1693512 + Identifier 1693513 1693522 + Block 1693523 1693650 + ExpressionStatement 1693525 1693619 + BinaryExpression 1693525 1693618 + Identifier 1693525 1693570 + EqualsToken 1693570 1693572 + CallExpression 1693572 1693618 + Identifier 1693572 1693600 + Identifier 1693601 1693612 + Identifier 1693613 1693617 + Block 1693707 1694278 + VariableStatement 1693709 1694027 + VariableDeclarationList 1693709 1694026 + VariableDeclaration 1693924 1694026 + Identifier 1693924 1693934 + CallExpression 1693936 1694026 + Identifier 1693936 1693967 + PropertyAccessExpression 1693968 1694025 + ParenthesizedExpression 1693968 1694006 + AsExpression 1693969 1694005 + PropertyAccessExpression 1693969 1693978 + Identifier 1693969 1693973 + Identifier 1693974 1693978 + TypeReference 1693981 1694005 + Identifier 1693981 1694005 + Identifier 1694007 1694025 + IfStatement 1694027 1694251 + CallExpression 1694061 1694116 + Identifier 1694061 1694083 + Identifier 1694084 1694093 + PropertyAccessExpression 1694094 1694115 + Identifier 1694094 1694104 + Identifier 1694105 1694115 + Block 1694117 1694251 + ExpressionStatement 1694119 1694220 + BinaryExpression 1694119 1694219 + Identifier 1694119 1694164 + EqualsToken 1694164 1694166 + CallExpression 1694166 1694219 + Identifier 1694166 1694194 + Identifier 1694195 1694206 + PropertyAccessExpression 1694207 1694218 + Identifier 1694207 1694212 + Identifier 1694213 1694218 + ReturnStatement 1694278 1694397 + ConditionalExpression 1694310 1694396 + BinaryExpression 1694310 1694331 + Identifier 1694310 1694322 + EqualsEqualsEqualsToken 1694322 1694326 + Identifier 1694326 1694331 + QuestionToken 1694331 1694333 + Identifier 1694333 1694342 + ColonToken 1694342 1694344 + CallExpression 1694344 1694396 + Identifier 1694344 1694359 + Identifier 1694360 1694371 + CallExpression 1694372 1694395 + Identifier 1694372 1694385 + Identifier 1694386 1694394 + ReturnStatement 1694420 1694458 + Identifier 1694448 1694457 + ReturnStatement 1694492 1694523 + Identifier 1694512 1694522 + FunctionDeclaration 1694534 1695884 + Identifier 1694554 1694577 + Parameter 1694578 1694597 + Identifier 1694578 1694582 + TypeReference 1694583 1694597 + Identifier 1694583 1694597 + TypeReference 1694599 1694608 + Identifier 1694599 1694608 + Block 1694608 1695884 + VariableStatement 1694610 1694676 + VariableDeclarationList 1694610 1694675 + VariableDeclaration 1694629 1694675 + Identifier 1694629 1694638 + CallExpression 1694640 1694675 + Identifier 1694640 1694658 + PropertyAccessExpression 1694659 1694674 + Identifier 1694659 1694663 + Identifier 1694664 1694674 + VariableStatement 1694676 1694733 + VariableDeclarationList 1694676 1694732 + VariableDeclaration 1694695 1694732 + Identifier 1694695 1694700 + CallExpression 1694702 1694732 + Identifier 1694702 1694722 + Identifier 1694723 1694731 + IfStatement 1694733 1694831 + BinaryExpression 1694751 1694779 + PropertyAccessExpression 1694751 1694761 + Identifier 1694751 1694755 + Identifier 1694756 1694761 + AmpersandToken 1694761 1694763 + PropertyAccessExpression 1694763 1694779 + Identifier 1694763 1694773 + Identifier 1694774 1694779 + Block 1694780 1694831 + ReturnStatement 1694782 1694816 + Identifier 1694806 1694815 + VariableStatement 1694831 1695541 + VariableDeclarationList 1694831 1695540 + VariableDeclaration 1695482 1695540 + Identifier 1695482 1695493 + BinaryExpression 1695495 1695540 + ParenthesizedExpression 1695495 1695534 + BinaryExpression 1695497 1695533 + PropertyAccessExpression 1695497 1695507 + Identifier 1695497 1695501 + Identifier 1695502 1695507 + AmpersandToken 1695507 1695509 + PropertyAccessExpression 1695509 1695533 + Identifier 1695509 1695519 + Identifier 1695520 1695533 + ExclamationEqualsEqualsToken 1695534 1695538 + NumericLiteral 1695538 1695540 + VariableStatement 1695541 1695611 + VariableDeclarationList 1695541 1695610 + VariableDeclaration 1695560 1695610 + Identifier 1695560 1695576 + CallExpression 1695578 1695610 + Identifier 1695578 1695604 + Identifier 1695605 1695609 + VariableStatement 1695611 1695697 + VariableDeclarationList 1695611 1695696 + VariableDeclaration 1695630 1695696 + Identifier 1695630 1695643 + CallExpression 1695645 1695696 + Identifier 1695645 1695656 + Identifier 1695657 1695672 + PropertyAccessExpression 1695673 1695683 + Identifier 1695673 1695678 + Identifier 1695679 1695683 + Identifier 1695684 1695695 + IfStatement 1695697 1695799 + BinaryExpression 1695715 1695747 + Identifier 1695715 1695727 + EqualsEqualsEqualsToken 1695727 1695731 + Identifier 1695731 1695747 + Block 1695748 1695799 + ReturnStatement 1695750 1695784 + Identifier 1695774 1695783 + ReturnStatement 1695799 1695873 + CallExpression 1695819 1695872 + Identifier 1695819 1695834 + Identifier 1695835 1695847 + CallExpression 1695848 1695871 + Identifier 1695848 1695861 + Identifier 1695862 1695870 + FunctionDeclaration 1695884 1697719 + Identifier 1695904 1695926 + Parameter 1695927 1695949 + Identifier 1695927 1695931 + TypeReference 1695932 1695949 + Identifier 1695932 1695949 + TypeReference 1695951 1695960 + Identifier 1695951 1695960 + Block 1695960 1697719 + VariableStatement 1695962 1696043 + VariableDeclarationList 1695962 1696042 + VariableDeclaration 1695981 1696042 + Identifier 1695981 1695986 + CallExpression 1695988 1696042 + Identifier 1695988 1696004 + PropertyAccessExpression 1696005 1696041 + PropertyAccessExpression 1696005 1696030 + PropertyAccessExpression 1696005 1696014 + Identifier 1696005 1696009 + Identifier 1696010 1696014 + Identifier 1696015 1696030 + Identifier 1696031 1696041 + VariableStatement 1696043 1696109 + VariableDeclarationList 1696043 1696108 + VariableDeclaration 1696062 1696108 + Identifier 1696062 1696071 + CallExpression 1696073 1696108 + Identifier 1696073 1696091 + PropertyAccessExpression 1696092 1696107 + Identifier 1696092 1696096 + Identifier 1696097 1696107 + VariableStatement 1696109 1696164 + VariableDeclarationList 1696109 1696163 + VariableDeclaration 1696126 1696163 + Identifier 1696126 1696131 + CallExpression 1696133 1696163 + Identifier 1696133 1696153 + Identifier 1696154 1696162 + IfStatement 1696164 1697642 + CallExpression 1696182 1696218 + Identifier 1696182 1696201 + Identifier 1696202 1696211 + Identifier 1696212 1696217 + Block 1696219 1696311 + ExpressionStatement 1696221 1696296 + BinaryExpression 1696221 1696295 + Identifier 1696221 1696243 + EqualsToken 1696243 1696245 + CallExpression 1696245 1696295 + Identifier 1696245 1696278 + Identifier 1696279 1696283 + PropertyAccessExpression 1696284 1696294 + Identifier 1696284 1696289 + Identifier 1696290 1696294 + IfStatement 1696329 1697642 + BinaryExpression 1696334 1696448 + BinaryExpression 1696334 1696375 + PropertyAccessExpression 1696334 1696343 + Identifier 1696334 1696338 + Identifier 1696339 1696343 + EqualsEqualsEqualsToken 1696343 1696347 + PropertyAccessExpression 1696347 1696375 + Identifier 1696347 1696358 + Identifier 1696359 1696375 + AmpersandAmpersandToken 1696375 1696378 + CallExpression 1696378 1696448 + Identifier 1696378 1696398 + Identifier 1696399 1696408 + PropertyAccessExpression 1696409 1696447 + ParenthesizedExpression 1696409 1696436 + AsExpression 1696411 1696435 + Identifier 1696411 1696415 + TypeReference 1696418 1696435 + Identifier 1696418 1696435 + Identifier 1696437 1696447 + Block 1696449 1696535 + ExpressionStatement 1696451 1696520 + BinaryExpression 1696451 1696519 + Identifier 1696451 1696473 + EqualsToken 1696473 1696475 + CallExpression 1696475 1696519 + Identifier 1696475 1696502 + Identifier 1696503 1696507 + PropertyAccessExpression 1696508 1696518 + Identifier 1696508 1696513 + Identifier 1696514 1696518 + IfStatement 1696553 1697642 + BinaryExpression 1696558 1696594 + PropertyAccessExpression 1696558 1696567 + Identifier 1696558 1696562 + Identifier 1696563 1696567 + EqualsEqualsEqualsToken 1696567 1696571 + PropertyAccessExpression 1696571 1696594 + Identifier 1696571 1696582 + Identifier 1696583 1696594 + Block 1696595 1696679 + ExpressionStatement 1696597 1696664 + BinaryExpression 1696597 1696663 + Identifier 1696597 1696619 + EqualsToken 1696619 1696621 + CallExpression 1696621 1696663 + Identifier 1696621 1696646 + Identifier 1696647 1696651 + PropertyAccessExpression 1696652 1696662 + Identifier 1696652 1696657 + Identifier 1696658 1696662 + Block 1696697 1697642 + IfStatement 1696699 1697407 + Identifier 1696721 1696737 + Block 1696738 1697407 + IfStatement 1696740 1697388 + CallExpression 1696766 1696813 + Identifier 1696766 1696796 + Identifier 1696797 1696801 + Identifier 1696802 1696812 + Block 1696814 1696991 + ExpressionStatement 1696816 1696968 + BinaryExpression 1696816 1696967 + Identifier 1696816 1696846 + EqualsToken 1696846 1696848 + CallExpression 1696848 1696967 + Identifier 1696848 1696891 + Identifier 1696892 1696896 + PropertyAccessExpression 1696897 1696907 + Identifier 1696897 1696902 + Identifier 1696903 1696907 + ArrowFunction 1696908 1696966 + Parameter 1696908 1696910 + Identifier 1696908 1696910 + EqualsGreaterThanToken 1696910 1696913 + PrefixUnaryExpression 1696913 1696966 + ParenthesizedExpression 1696915 1696966 + BinaryExpression 1696916 1696965 + PropertyAccessExpression 1696916 1696923 + Identifier 1696916 1696917 + Identifier 1696918 1696923 + AmpersandToken 1696923 1696925 + ParenthesizedExpression 1696925 1696965 + BinaryExpression 1696927 1696964 + PropertyAccessExpression 1696927 1696946 + Identifier 1696927 1696936 + Identifier 1696937 1696946 + BarToken 1696946 1696948 + PropertyAccessExpression 1696948 1696964 + Identifier 1696948 1696958 + Identifier 1696959 1696964 + IfStatement 1697017 1697388 + BinaryExpression 1697022 1697147 + BinaryExpression 1697022 1697063 + PropertyAccessExpression 1697022 1697031 + Identifier 1697022 1697026 + Identifier 1697027 1697031 + EqualsEqualsEqualsToken 1697031 1697035 + PropertyAccessExpression 1697035 1697063 + Identifier 1697035 1697046 + Identifier 1697047 1697063 + AmpersandAmpersandToken 1697063 1697066 + CallExpression 1697066 1697147 + Identifier 1697066 1697097 + PropertyAccessExpression 1697098 1697135 + ParenthesizedExpression 1697098 1697124 + AsExpression 1697099 1697123 + Identifier 1697099 1697103 + TypeReference 1697106 1697123 + Identifier 1697106 1697123 + Identifier 1697125 1697135 + Identifier 1697136 1697146 + Block 1697148 1697388 + ExpressionStatement 1697150 1697365 + BinaryExpression 1697150 1697364 + Identifier 1697150 1697180 + EqualsToken 1697180 1697182 + CallExpression 1697182 1697364 + Identifier 1697182 1697225 + Identifier 1697226 1697230 + PropertyAccessExpression 1697231 1697241 + Identifier 1697231 1697236 + Identifier 1697237 1697241 + ArrowFunction 1697242 1697363 + Parameter 1697242 1697244 + Identifier 1697242 1697244 + EqualsGreaterThanToken 1697244 1697247 + PrefixUnaryExpression 1697247 1697363 + ParenthesizedExpression 1697249 1697363 + BinaryExpression 1697250 1697362 + BinaryExpression 1697250 1697275 + PropertyAccessExpression 1697250 1697257 + Identifier 1697250 1697251 + Identifier 1697252 1697257 + AmpersandToken 1697257 1697259 + PropertyAccessExpression 1697259 1697275 + Identifier 1697259 1697269 + Identifier 1697270 1697275 + BarBarToken 1697275 1697278 + BinaryExpression 1697278 1697362 + BinaryExpression 1697278 1697312 + PropertyAccessExpression 1697278 1697286 + Identifier 1697278 1697280 + Identifier 1697281 1697286 + AmpersandToken 1697286 1697288 + PropertyAccessExpression 1697288 1697312 + Identifier 1697288 1697298 + Identifier 1697299 1697312 + AmpersandAmpersandToken 1697312 1697315 + BinaryExpression 1697315 1697362 + PropertyAccessExpression 1697315 1697346 + ParenthesizedExpression 1697315 1697340 + AsExpression 1697317 1697339 + Identifier 1697317 1697318 + TypeReference 1697321 1697339 + Identifier 1697321 1697339 + Identifier 1697341 1697346 + EqualsEqualsEqualsToken 1697346 1697350 + StringLiteral 1697350 1697362 + VariableStatement 1697407 1697482 + VariableDeclarationList 1697407 1697481 + VariableDeclaration 1697430 1697481 + Identifier 1697430 1697437 + CallExpression 1697439 1697481 + Identifier 1697439 1697469 + Identifier 1697470 1697474 + Identifier 1697475 1697480 + IfStatement 1697482 1697627 + Identifier 1697504 1697510 + Block 1697511 1697627 + ExpressionStatement 1697513 1697608 + BinaryExpression 1697513 1697607 + Identifier 1697513 1697539 + EqualsToken 1697539 1697541 + CallExpression 1697541 1697607 + Identifier 1697541 1697582 + Identifier 1697583 1697587 + Identifier 1697588 1697595 + PropertyAccessExpression 1697596 1697606 + Identifier 1697596 1697601 + Identifier 1697602 1697606 + ReturnStatement 1697642 1697708 + CallExpression 1697662 1697707 + Identifier 1697662 1697677 + Identifier 1697678 1697682 + CallExpression 1697683 1697706 + Identifier 1697683 1697696 + Identifier 1697697 1697705 + FunctionDeclaration 1697719 1700981 + Identifier 1697739 1697764 + Parameter 1697765 1697780 + Identifier 1697765 1697769 + TypeReference 1697770 1697780 + Identifier 1697770 1697780 + TypeReference 1697782 1697791 + Identifier 1697782 1697791 + Block 1697791 1700981 + VariableStatement 1697793 1697842 + VariableDeclarationList 1697793 1697841 + VariableDeclaration 1697812 1697841 + Identifier 1697812 1697828 + ArrayType 1697829 1697836 + TypeReference 1697829 1697834 + Identifier 1697829 1697834 + ArrayLiteralExpression 1697838 1697841 + VariableStatement 1697842 1697885 + VariableDeclarationList 1697842 1697884 + VariableDeclaration 1697859 1697884 + Identifier 1697859 1697876 + FalseKeyword 1697878 1697884 + VariableStatement 1697885 1697926 + VariableDeclarationList 1697885 1697925 + VariableDeclaration 1697902 1697925 + Identifier 1697902 1697917 + FalseKeyword 1697919 1697925 + VariableStatement 1697926 1697985 + VariableDeclarationList 1697926 1697984 + VariableDeclaration 1697943 1697984 + Identifier 1697943 1697954 + UnionType 1697955 1697984 + TypeReference 1697955 1697972 + Identifier 1697955 1697972 + UndefinedKeyword 1697974 1697984 + ForOfStatement 1697985 1699693 + VariableDeclarationList 1698004 1698020 + VariableDeclaration 1698009 1698020 + Identifier 1698009 1698020 + NonNullExpression 1698023 1698040 + PropertyAccessExpression 1698023 1698039 + Identifier 1698023 1698028 + Identifier 1698029 1698039 + Block 1698041 1699693 + IfStatement 1698043 1698451 + BinaryExpression 1698065 1698226 + BinaryExpression 1698065 1698121 + PrefixUnaryExpression 1698065 1698076 + Identifier 1698066 1698076 + AmpersandAmpersandToken 1698076 1698079 + BinaryExpression 1698079 1698121 + PropertyAccessExpression 1698079 1698096 + Identifier 1698079 1698090 + Identifier 1698091 1698096 + AmpersandToken 1698096 1698098 + PropertyAccessExpression 1698098 1698121 + Identifier 1698098 1698108 + Identifier 1698109 1698121 + AmpersandAmpersandToken 1698121 1698124 + BinaryExpression 1698124 1698226 + PropertyAccessExpression 1698124 1698174 + PropertyAccessExpression 1698124 1698162 + ParenthesizedExpression 1698124 1698157 + AsExpression 1698126 1698156 + Identifier 1698126 1698136 + TypeReference 1698139 1698156 + Identifier 1698139 1698156 + Identifier 1698158 1698162 + Identifier 1698163 1698174 + EqualsEqualsEqualsToken 1698174 1698178 + PropertyAccessExpression 1698178 1698226 + PropertyAccessExpression 1698178 1698216 + ParenthesizedExpression 1698178 1698211 + AsExpression 1698180 1698210 + Identifier 1698180 1698190 + TypeReference 1698193 1698210 + Identifier 1698193 1698210 + Identifier 1698212 1698216 + Identifier 1698217 1698226 + Block 1698227 1698451 + ExpressionStatement 1698229 1698401 + BinaryExpression 1698229 1698400 + Identifier 1698229 1698367 + EqualsToken 1698367 1698369 + AsExpression 1698369 1698400 + Identifier 1698369 1698380 + TypeReference 1698383 1698400 + Identifier 1698383 1698400 + ContinueStatement 1698401 1698432 + VariableStatement 1698451 1698516 + VariableDeclarationList 1698451 1698515 + VariableDeclaration 1698474 1698515 + Identifier 1698474 1698483 + CallExpression 1698485 1698515 + Identifier 1698485 1698503 + Identifier 1698504 1698514 + VariableStatement 1698516 1698577 + VariableDeclarationList 1698516 1698576 + VariableDeclaration 1698539 1698576 + Identifier 1698539 1698544 + CallExpression 1698546 1698576 + Identifier 1698546 1698566 + Identifier 1698567 1698575 + IfStatement 1698577 1699099 + BinaryExpression 1698990 1699043 + BinaryExpression 1698990 1699011 + Identifier 1698990 1698994 + EqualsEqualsEqualsToken 1698994 1698998 + Identifier 1698998 1699011 + AmpersandAmpersandToken 1699011 1699014 + BinaryExpression 1699014 1699043 + Identifier 1699014 1699027 + EqualsEqualsEqualsToken 1699027 1699031 + Identifier 1699031 1699043 + Block 1699044 1699099 + ReturnStatement 1699046 1699080 + Identifier 1699074 1699079 + ExpressionStatement 1699099 1699153 + CallExpression 1699099 1699152 + Identifier 1699099 1699129 + Identifier 1699130 1699145 + Identifier 1699146 1699151 + IfStatement 1699153 1699568 + PrefixUnaryExpression 1699466 1699500 + CallExpression 1699467 1699500 + Identifier 1699467 1699481 + Identifier 1699482 1699486 + Identifier 1699487 1699499 + Block 1699501 1699568 + ExpressionStatement 1699503 1699549 + BinaryExpression 1699503 1699548 + Identifier 1699503 1699541 + EqualsToken 1699541 1699543 + TrueKeyword 1699543 1699548 + IfStatement 1699568 1699678 + CallExpression 1699590 1699612 + Identifier 1699590 1699602 + Identifier 1699603 1699611 + Block 1699613 1699678 + ExpressionStatement 1699615 1699659 + BinaryExpression 1699615 1699658 + Identifier 1699615 1699651 + EqualsToken 1699651 1699653 + TrueKeyword 1699653 1699658 + IfStatement 1699693 1700804 + Identifier 1699711 1699721 + Block 1699722 1700804 + VariableStatement 1699724 1699789 + VariableDeclarationList 1699724 1699788 + VariableDeclaration 1699747 1699788 + Identifier 1699747 1699756 + CallExpression 1699758 1699788 + Identifier 1699758 1699776 + Identifier 1699777 1699787 + VariableStatement 1699789 1699850 + VariableDeclarationList 1699789 1699849 + VariableDeclaration 1699812 1699849 + Identifier 1699812 1699817 + CallExpression 1699819 1699849 + Identifier 1699819 1699839 + Identifier 1699840 1699848 + IfStatement 1699850 1700789 + BinaryExpression 1700185 1700317 + BinaryExpression 1700185 1700252 + PrefixUnaryExpression 1700185 1700216 + ParenthesizedExpression 1700186 1700216 + BinaryExpression 1700187 1700215 + PropertyAccessExpression 1700187 1700197 + Identifier 1700187 1700191 + Identifier 1700192 1700197 + AmpersandToken 1700197 1700199 + PropertyAccessExpression 1700199 1700215 + Identifier 1700199 1700209 + Identifier 1700210 1700215 + AmpersandAmpersandToken 1700216 1700219 + PrefixUnaryExpression 1700219 1700252 + CallExpression 1700221 1700252 + Identifier 1700221 1700229 + Identifier 1700230 1700245 + Identifier 1700246 1700251 + AmpersandAmpersandToken 1700252 1700255 + PrefixUnaryExpression 1700255 1700317 + CallExpression 1700257 1700317 + Identifier 1700257 1700284 + PropertyAccessExpression 1700285 1700316 + PropertyAccessExpression 1700285 1700300 + Identifier 1700285 1700295 + Identifier 1700296 1700300 + Identifier 1700301 1700316 + Block 1700318 1700789 + IfStatement 1700320 1700463 + BinaryExpression 1700346 1700399 + BinaryExpression 1700346 1700367 + Identifier 1700346 1700350 + EqualsEqualsEqualsToken 1700350 1700354 + Identifier 1700354 1700367 + AmpersandAmpersandToken 1700367 1700370 + BinaryExpression 1700370 1700399 + Identifier 1700370 1700383 + EqualsEqualsEqualsToken 1700383 1700387 + Identifier 1700387 1700399 + Block 1700400 1700463 + ReturnStatement 1700402 1700440 + Identifier 1700434 1700439 + ExpressionStatement 1700463 1700512 + CallExpression 1700463 1700511 + PropertyAccessExpression 1700463 1700505 + Identifier 1700463 1700500 + Identifier 1700501 1700505 + Identifier 1700506 1700510 + IfStatement 1700512 1700648 + PrefixUnaryExpression 1700538 1700572 + CallExpression 1700539 1700572 + Identifier 1700539 1700553 + Identifier 1700554 1700558 + Identifier 1700559 1700571 + Block 1700573 1700648 + ExpressionStatement 1700575 1700625 + BinaryExpression 1700575 1700624 + Identifier 1700575 1700617 + EqualsToken 1700617 1700619 + TrueKeyword 1700619 1700624 + IfStatement 1700648 1700770 + CallExpression 1700674 1700696 + Identifier 1700674 1700686 + Identifier 1700687 1700695 + Block 1700697 1700770 + ExpressionStatement 1700699 1700747 + BinaryExpression 1700699 1700746 + Identifier 1700699 1700739 + EqualsToken 1700739 1700741 + TrueKeyword 1700741 1700746 + ReturnStatement 1700804 1700970 + CallExpression 1700824 1700969 + Identifier 1700824 1700839 + CallExpression 1700840 1700952 + Identifier 1700840 1700867 + Identifier 1700868 1700883 + ConditionalExpression 1700884 1700951 + Identifier 1700884 1700901 + QuestionToken 1700901 1700903 + PropertyAccessExpression 1700903 1700926 + Identifier 1700903 1700918 + Identifier 1700919 1700926 + ColonToken 1700926 1700928 + PropertyAccessExpression 1700928 1700951 + Identifier 1700928 1700943 + Identifier 1700944 1700951 + Identifier 1700953 1700968 + FunctionDeclaration 1700981 1705943 + Identifier 1701001 1701024 + Parameter 1701025 1701040 + Identifier 1701025 1701029 + TypeReference 1701030 1701040 + Identifier 1701030 1701040 + TypeReference 1701042 1701051 + Identifier 1701042 1701051 + Block 1701051 1705943 + VariableStatement 1701053 1701253 + VariableDeclarationList 1701053 1701252 + VariableDeclaration 1701227 1701252 + Identifier 1701227 1701230 + CallExpression 1701232 1701252 + Identifier 1701232 1701246 + Identifier 1701247 1701251 + VariableStatement 1701253 1701350 + VariableDeclarationList 1701253 1701349 + VariableDeclaration 1701272 1701349 + Identifier 1701272 1701278 + BinaryExpression 1701280 1701349 + ElementAccessExpression 1701280 1701299 + Identifier 1701280 1701295 + Identifier 1701296 1701298 + BarBarToken 1701299 1701302 + ParenthesizedExpression 1701302 1701349 + BinaryExpression 1701304 1701348 + ElementAccessExpression 1701304 1701322 + Identifier 1701304 1701318 + Identifier 1701319 1701321 + EqualsToken 1701322 1701324 + NewExpression 1701324 1701348 + Identifier 1701328 1701332 + StringKeyword 1701333 1701339 + TypeReference 1701340 1701345 + Identifier 1701340 1701345 + VariableStatement 1701350 1701395 + VariableDeclarationList 1701350 1701394 + VariableDeclaration 1701369 1701394 + Identifier 1701369 1701373 + CallExpression 1701375 1701394 + Identifier 1701375 1701392 + IfStatement 1701395 1701572 + PrefixUnaryExpression 1701413 1701417 + Identifier 1701414 1701417 + Block 1701418 1701572 + ReturnStatement 1701420 1701557 + Identifier 1701543 1701556 + VariableStatement 1701572 1701616 + VariableDeclarationList 1701572 1701615 + VariableDeclaration 1701591 1701615 + Identifier 1701591 1701598 + CallExpression 1701600 1701615 + PropertyAccessExpression 1701600 1701610 + Identifier 1701600 1701606 + Identifier 1701607 1701610 + Identifier 1701611 1701614 + IfStatement 1701616 1701690 + Identifier 1701634 1701640 + Block 1701641 1701690 + ReturnStatement 1701643 1701675 + Identifier 1701667 1701674 + ForStatement 1701690 1702738 + VariableDeclarationList 1702416 1702437 + VariableDeclaration 1702419 1702437 + Identifier 1702419 1702421 + Identifier 1702423 1702437 + BinaryExpression 1702438 1702456 + Identifier 1702438 1702440 + LessThanToken 1702440 1702442 + Identifier 1702442 1702456 + PostfixUnaryExpression 1702457 1702461 + Identifier 1702457 1702459 + Block 1702462 1702738 + IfStatement 1702464 1702723 + BinaryExpression 1702486 1702565 + BinaryExpression 1702486 1702538 + BinaryExpression 1702486 1702511 + ElementAccessExpression 1702486 1702502 + Identifier 1702486 1702499 + Identifier 1702500 1702501 + EqualsEqualsEqualsToken 1702502 1702506 + Identifier 1702506 1702511 + AmpersandAmpersandToken 1702511 1702514 + BinaryExpression 1702514 1702538 + ElementAccessExpression 1702514 1702530 + Identifier 1702514 1702527 + Identifier 1702528 1702529 + EqualsEqualsEqualsToken 1702530 1702534 + Identifier 1702534 1702538 + AmpersandAmpersandToken 1702538 1702541 + PropertyAccessExpression 1702541 1702565 + ElementAccessExpression 1702541 1702558 + Identifier 1702541 1702555 + Identifier 1702556 1702557 + Identifier 1702559 1702565 + Block 1702566 1702723 + ReturnStatement 1702568 1702704 + CallExpression 1702596 1702703 + Identifier 1702596 1702611 + CallExpression 1702612 1702681 + Identifier 1702612 1702639 + ElementAccessExpression 1702640 1702656 + Identifier 1702640 1702653 + Identifier 1702654 1702655 + PropertyAccessExpression 1702657 1702680 + Identifier 1702657 1702672 + Identifier 1702673 1702680 + TrueKeyword 1702682 1702702 + VariableStatement 1702738 1702923 + VariableDeclarationList 1702738 1702922 + VariableDeclaration 1702893 1702922 + Identifier 1702893 1702909 + ArrayType 1702910 1702917 + TypeReference 1702910 1702915 + Identifier 1702910 1702915 + ArrayLiteralExpression 1702919 1702922 + VariableStatement 1702923 1702966 + VariableDeclarationList 1702923 1702965 + VariableDeclaration 1702940 1702965 + Identifier 1702940 1702957 + FalseKeyword 1702959 1702965 + VariableStatement 1702966 1703026 + VariableDeclarationList 1702966 1703025 + VariableDeclaration 1702983 1703025 + Identifier 1702983 1703003 + UnionType 1703004 1703025 + TypeReference 1703004 1703013 + Identifier 1703004 1703013 + UndefinedKeyword 1703015 1703025 + ForOfStatement 1703026 1705454 + VariableDeclarationList 1703045 1703061 + VariableDeclaration 1703050 1703061 + Identifier 1703050 1703061 + NonNullExpression 1703064 1703081 + PropertyAccessExpression 1703064 1703080 + Identifier 1703064 1703069 + Identifier 1703070 1703080 + Block 1703082 1705454 + VariableStatement 1703084 1703115 + VariableDeclarationList 1703084 1703114 + VariableDeclaration 1703105 1703114 + Identifier 1703105 1703114 + IfStatement 1703115 1704547 + PrefixUnaryExpression 1703137 1703157 + Identifier 1703138 1703157 + Block 1703158 1703419 + ExpressionStatement 1703160 1703400 + BinaryExpression 1703160 1703399 + Identifier 1703160 1703345 + EqualsToken 1703345 1703347 + BinaryExpression 1703347 1703399 + Identifier 1703347 1703367 + EqualsToken 1703367 1703369 + CallExpression 1703369 1703399 + Identifier 1703369 1703387 + Identifier 1703388 1703398 + Block 1703441 1704547 + ExpressionStatement 1703443 1703689 + BinaryExpression 1703443 1703688 + ElementAccessExpression 1703443 1703681 + Identifier 1703443 1703666 + Identifier 1703667 1703680 + EqualsToken 1703681 1703683 + Identifier 1703683 1703688 + ExpressionStatement 1703689 1703745 + BinaryExpression 1703689 1703744 + ElementAccessExpression 1703689 1703738 + Identifier 1703689 1703723 + Identifier 1703724 1703737 + EqualsToken 1703738 1703740 + Identifier 1703740 1703744 + ExpressionStatement 1703745 1703814 + BinaryExpression 1703745 1703813 + ElementAccessExpression 1703745 1703795 + Identifier 1703745 1703780 + Identifier 1703781 1703794 + EqualsToken 1703795 1703797 + Identifier 1703797 1703813 + ExpressionStatement 1703814 1703852 + PostfixUnaryExpression 1703814 1703851 + Identifier 1703814 1703849 + VariableStatement 1703852 1703914 + VariableDeclarationList 1703852 1703913 + VariableDeclaration 1703879 1703913 + Identifier 1703879 1703897 + Identifier 1703899 1703913 + ExpressionStatement 1703914 1703962 + BinaryExpression 1703914 1703961 + Identifier 1703914 1703949 + EqualsToken 1703949 1703951 + Identifier 1703951 1703961 + ExpressionStatement 1703962 1704025 + BinaryExpression 1703962 1704024 + Identifier 1703962 1703992 + EqualsToken 1703992 1703994 + CallExpression 1703994 1704024 + Identifier 1703994 1704012 + Identifier 1704013 1704023 + ExpressionStatement 1704025 1704081 + BinaryExpression 1704025 1704080 + Identifier 1704025 1704060 + EqualsToken 1704060 1704062 + Identifier 1704062 1704080 + ExpressionStatement 1704081 1704119 + PostfixUnaryExpression 1704081 1704118 + Identifier 1704081 1704116 + VariableStatement 1704119 1704430 + VariableDeclarationList 1704119 1704429 + VariableDeclaration 1704405 1704429 + Identifier 1704405 1704412 + CallExpression 1704414 1704429 + PropertyAccessExpression 1704414 1704424 + Identifier 1704414 1704420 + Identifier 1704421 1704424 + Identifier 1704425 1704428 + IfStatement 1704430 1704528 + Identifier 1704456 1704462 + Block 1704463 1704528 + ReturnStatement 1704465 1704505 + Identifier 1704497 1704504 + VariableStatement 1704547 1704608 + VariableDeclarationList 1704547 1704607 + VariableDeclaration 1704570 1704607 + Identifier 1704570 1704575 + CallExpression 1704577 1704607 + Identifier 1704577 1704597 + Identifier 1704598 1704606 + ExpressionStatement 1704608 1704662 + CallExpression 1704608 1704661 + Identifier 1704608 1704638 + Identifier 1704639 1704654 + Identifier 1704655 1704660 + IfStatement 1704662 1705077 + PrefixUnaryExpression 1704975 1705009 + CallExpression 1704976 1705009 + Identifier 1704976 1704990 + Identifier 1704991 1704995 + Identifier 1704996 1705008 + Block 1705010 1705077 + ExpressionStatement 1705012 1705058 + BinaryExpression 1705012 1705057 + Identifier 1705012 1705050 + EqualsToken 1705050 1705052 + TrueKeyword 1705052 1705057 + IfStatement 1705077 1705439 + BinaryExpression 1705368 1705389 + Identifier 1705368 1705372 + EqualsEqualsEqualsToken 1705372 1705376 + Identifier 1705376 1705389 + Block 1705390 1705439 + BreakStatement 1705392 1705420 + VariableStatement 1705454 1705728 + VariableDeclarationList 1705454 1705727 + VariableDeclaration 1705605 1705727 + Identifier 1705605 1705612 + CallExpression 1705614 1705727 + Identifier 1705614 1705642 + Identifier 1705643 1705658 + ConditionalExpression 1705659 1705726 + Identifier 1705659 1705676 + QuestionToken 1705676 1705678 + PropertyAccessExpression 1705678 1705701 + Identifier 1705678 1705693 + Identifier 1705694 1705701 + ColonToken 1705701 1705703 + PropertyAccessExpression 1705703 1705726 + Identifier 1705703 1705718 + Identifier 1705719 1705726 + IfStatement 1705728 1705867 + CallExpression 1705746 1705780 + Identifier 1705746 1705758 + NonNullExpression 1705759 1705779 + Identifier 1705759 1705778 + Block 1705781 1705867 + ReturnStatement 1705783 1705852 + CallExpression 1705807 1705851 + Identifier 1705807 1705822 + Identifier 1705823 1705829 + TrueKeyword 1705830 1705850 + ExpressionStatement 1705867 1705904 + CallExpression 1705867 1705903 + PropertyAccessExpression 1705867 1705890 + Identifier 1705867 1705886 + Identifier 1705887 1705890 + Identifier 1705891 1705894 + Identifier 1705895 1705902 + ReturnStatement 1705904 1705932 + Identifier 1705924 1705931 + FunctionDeclaration 1705943 1706856 + Identifier 1706206 1706234 + Parameter 1706235 1706248 + Identifier 1706235 1706240 + ArrayType 1706241 1706248 + TypeReference 1706241 1706246 + Identifier 1706241 1706246 + Parameter 1706249 1706282 + Identifier 1706249 1706266 + TypeReference 1706267 1706282 + Identifier 1706267 1706282 + Block 1706283 1706856 + IfStatement 1706285 1706458 + CallExpression 1706303 1706333 + Identifier 1706303 1706326 + Identifier 1706327 1706332 + Block 1706334 1706458 + ReturnStatement 1706336 1706443 + CallExpression 1706360 1706442 + Identifier 1706360 1706381 + CallExpression 1706382 1706441 + Identifier 1706382 1706394 + CallExpression 1706395 1706440 + Identifier 1706395 1706398 + Identifier 1706399 1706404 + Identifier 1706405 1706439 + VariableStatement 1706458 1706583 + VariableDeclarationList 1706458 1706582 + VariableDeclaration 1706477 1706582 + Identifier 1706477 1706484 + CallExpression 1706486 1706582 + Identifier 1706486 1706507 + CallExpression 1706508 1706581 + Identifier 1706508 1706520 + CallExpression 1706521 1706562 + Identifier 1706521 1706528 + Identifier 1706529 1706534 + Identifier 1706535 1706561 + Identifier 1706563 1706580 + IfStatement 1706583 1706817 + BinaryExpression 1706601 1706761 + BinaryExpression 1706601 1706679 + BinaryExpression 1706601 1706624 + Identifier 1706601 1706607 + ExclamationEqualsEqualsToken 1706607 1706611 + Identifier 1706611 1706624 + AmpersandAmpersandToken 1706624 1706627 + BinaryExpression 1706627 1706679 + BinaryExpression 1706627 1706661 + PropertyAccessExpression 1706627 1706640 + Identifier 1706627 1706634 + Identifier 1706635 1706640 + AmpersandToken 1706640 1706642 + PropertyAccessExpression 1706642 1706661 + Identifier 1706642 1706655 + Identifier 1706656 1706661 + AmpersandToken 1706661 1706663 + PropertyAccessExpression 1706663 1706679 + Identifier 1706663 1706673 + Identifier 1706674 1706679 + AmpersandAmpersandToken 1706679 1706682 + CallExpression 1706682 1706761 + Identifier 1706682 1706697 + PropertyAccessExpression 1706698 1706725 + ParenthesizedExpression 1706698 1706719 + AsExpression 1706699 1706718 + Identifier 1706699 1706705 + TypeReference 1706708 1706718 + Identifier 1706708 1706718 + Identifier 1706720 1706725 + PropertyAccessExpression 1706726 1706760 + ParenthesizedExpression 1706726 1706754 + AsExpression 1706728 1706753 + Identifier 1706728 1706740 + TypeReference 1706743 1706753 + Identifier 1706743 1706753 + Identifier 1706755 1706760 + Block 1706762 1706817 + ReturnStatement 1706764 1706802 + Identifier 1706788 1706801 + ReturnStatement 1706817 1706845 + Identifier 1706837 1706844 + FunctionDeclaration 1706856 1709648 + Identifier 1706876 1706915 + Parameter 1706916 1706932 + Identifier 1706916 1706920 + TypeReference 1706921 1706932 + Identifier 1706921 1706932 + Block 1706933 1709648 + IfStatement 1706935 1709606 + BinaryExpression 1706953 1707066 + BinaryExpression 1706953 1707030 + CallExpression 1706953 1706980 + Identifier 1706953 1706969 + Identifier 1706970 1706979 + BarBarToken 1706980 1706983 + CallExpression 1706983 1707030 + Identifier 1706983 1707019 + Identifier 1707020 1707029 + BarBarToken 1707030 1707033 + CallExpression 1707033 1707066 + Identifier 1707033 1707055 + Identifier 1707056 1707065 + Block 1707067 1707921 + IfStatement 1707069 1707906 + CallExpression 1707433 1707451 + Identifier 1707433 1707445 + Identifier 1707446 1707450 + Block 1707452 1707906 + VariableStatement 1707454 1707515 + VariableDeclarationList 1707454 1707514 + VariableDeclaration 1707481 1707514 + Identifier 1707481 1707488 + CallExpression 1707490 1707514 + Identifier 1707490 1707508 + Identifier 1707509 1707513 + VariableStatement 1707515 1707621 + VariableDeclarationList 1707515 1707620 + VariableDeclaration 1707542 1707620 + Identifier 1707542 1707554 + PropertyAccessExpression 1707556 1707620 + CallExpression 1707556 1707603 + Identifier 1707556 1707595 + Identifier 1707596 1707602 + Identifier 1707604 1707620 + IfStatement 1707621 1707887 + BinaryExpression 1707647 1707816 + BinaryExpression 1707647 1707785 + BinaryExpression 1707647 1707757 + BinaryExpression 1707647 1707721 + Identifier 1707647 1707658 + AmpersandAmpersandToken 1707658 1707661 + ParenthesizedExpression 1707661 1707721 + BinaryExpression 1707663 1707720 + CallExpression 1707663 1707692 + Identifier 1707663 1707679 + Identifier 1707680 1707691 + BarBarToken 1707692 1707695 + CallExpression 1707695 1707720 + Identifier 1707695 1707707 + Identifier 1707708 1707719 + AmpersandAmpersandToken 1707721 1707724 + BinaryExpression 1707724 1707757 + Identifier 1707724 1707734 + EqualsEqualsEqualsToken 1707734 1707738 + PropertyAccessExpression 1707738 1707757 + Identifier 1707738 1707750 + Identifier 1707751 1707757 + AmpersandAmpersandToken 1707757 1707760 + PrefixUnaryExpression 1707760 1707785 + PropertyAccessExpression 1707762 1707785 + Identifier 1707762 1707773 + Identifier 1707774 1707785 + AmpersandAmpersandToken 1707785 1707788 + PrefixUnaryExpression 1707788 1707816 + PropertyAccessExpression 1707790 1707816 + Identifier 1707790 1707801 + Identifier 1707802 1707816 + Block 1707817 1707887 + ReturnStatement 1707819 1707864 + Identifier 1707851 1707863 + IfStatement 1707939 1709606 + CallExpression 1707944 1707968 + Identifier 1707944 1707962 + Identifier 1707963 1707967 + Block 1707969 1708218 + IfStatement 1707971 1708203 + CallExpression 1708100 1708147 + Identifier 1708100 1708119 + Identifier 1708120 1708129 + PropertyAccessExpression 1708130 1708146 + Identifier 1708130 1708135 + Identifier 1708136 1708146 + Block 1708148 1708203 + ReturnStatement 1708150 1708184 + Identifier 1708178 1708183 + IfStatement 1708236 1709606 + CallExpression 1708241 1708259 + Identifier 1708241 1708253 + Identifier 1708254 1708258 + Block 1708260 1709606 + VariableStatement 1708262 1708319 + VariableDeclarationList 1708262 1708318 + VariableDeclaration 1708285 1708318 + Identifier 1708285 1708292 + CallExpression 1708294 1708318 + Identifier 1708294 1708312 + Identifier 1708313 1708317 + IfStatement 1708319 1709591 + CallExpression 1708341 1708367 + Identifier 1708341 1708359 + Identifier 1708360 1708366 + Block 1708368 1709591 + VariableStatement 1708370 1708437 + VariableDeclarationList 1708370 1708436 + VariableDeclaration 1708397 1708436 + Identifier 1708397 1708409 + NonNullExpression 1708411 1708436 + PropertyAccessExpression 1708411 1708435 + Identifier 1708411 1708418 + Identifier 1708419 1708435 + IfStatement 1708437 1708907 + BinaryExpression 1708552 1708802 + BinaryExpression 1708552 1708707 + BinaryExpression 1708552 1708660 + BinaryExpression 1708552 1708633 + CallExpression 1708552 1708612 + Identifier 1708552 1708599 + Identifier 1708600 1708611 + AmpersandAmpersandToken 1708612 1708615 + PrefixUnaryExpression 1708615 1708633 + PropertyAccessExpression 1708617 1708633 + Identifier 1708617 1708628 + Identifier 1708629 1708633 + AmpersandAmpersandToken 1708633 1708636 + PropertyAccessExpression 1708636 1708660 + Identifier 1708636 1708648 + Identifier 1708649 1708660 + AmpersandAmpersandToken 1708660 1708663 + CallExpression 1708663 1708707 + Identifier 1708663 1708682 + PropertyAccessExpression 1708683 1708706 + Identifier 1708683 1708694 + Identifier 1708695 1708706 + AmpersandAmpersandToken 1708707 1708710 + CallExpression 1708710 1708802 + Identifier 1708710 1708755 + Identifier 1708756 1708765 + PropertyAccessExpression 1708766 1708801 + PropertyAccessExpression 1708766 1708790 + Identifier 1708766 1708778 + Identifier 1708779 1708790 + Identifier 1708791 1708801 + Block 1708825 1708907 + ReturnStatement 1708827 1708884 + PropertyAccessExpression 1708859 1708883 + Identifier 1708859 1708871 + Identifier 1708872 1708883 + IfStatement 1708907 1709572 + BinaryExpression 1709027 1709084 + CallExpression 1709027 1709056 + Identifier 1709027 1709043 + Identifier 1709044 1709055 + AmpersandAmpersandToken 1709056 1709059 + PrefixUnaryExpression 1709059 1709084 + PropertyAccessExpression 1709061 1709084 + Identifier 1709061 1709072 + Identifier 1709073 1709084 + Block 1709085 1709572 + VariableStatement 1709087 1709154 + VariableDeclarationList 1709087 1709153 + VariableDeclaration 1709118 1709153 + Identifier 1709118 1709125 + PropertyAccessExpression 1709127 1709153 + PropertyAccessExpression 1709127 1709146 + Identifier 1709127 1709139 + Identifier 1709140 1709146 + Identifier 1709147 1709153 + IfStatement 1709154 1709549 + BinaryExpression 1709184 1709444 + BinaryExpression 1709184 1709361 + BinaryExpression 1709184 1709281 + BinaryExpression 1709184 1709259 + CallExpression 1709184 1709243 + Identifier 1709184 1709235 + Identifier 1709236 1709242 + AmpersandAmpersandToken 1709243 1709246 + PrefixUnaryExpression 1709246 1709259 + PropertyAccessExpression 1709248 1709259 + Identifier 1709248 1709254 + Identifier 1709255 1709259 + AmpersandAmpersandToken 1709259 1709262 + PropertyAccessExpression 1709262 1709281 + Identifier 1709262 1709269 + Identifier 1709270 1709281 + AmpersandAmpersandToken 1709281 1709284 + ParenthesizedExpression 1709284 1709361 + BinaryExpression 1709286 1709360 + CallExpression 1709286 1709318 + Identifier 1709286 1709298 + PropertyAccessExpression 1709299 1709317 + Identifier 1709299 1709305 + Identifier 1709306 1709317 + BarBarToken 1709318 1709321 + CallExpression 1709321 1709360 + Identifier 1709321 1709340 + PropertyAccessExpression 1709341 1709359 + Identifier 1709341 1709347 + Identifier 1709348 1709359 + AmpersandAmpersandToken 1709361 1709364 + CallExpression 1709364 1709444 + Identifier 1709364 1709413 + Identifier 1709414 1709423 + PropertyAccessExpression 1709424 1709443 + Identifier 1709424 1709431 + Identifier 1709432 1709443 + Block 1709471 1709549 + ReturnStatement 1709473 1709522 + Identifier 1709509 1709521 + ReturnStatement 1709606 1709637 + Identifier 1709626 1709636 + FunctionDeclaration 1709648 1710744 + Identifier 1709668 1709698 + Parameter 1709699 1709715 + Identifier 1709699 1709703 + TypeReference 1709704 1709715 + Identifier 1709704 1709715 + Parameter 1709716 1709735 + Identifier 1709716 1709729 + TypeReference 1709730 1709735 + Identifier 1709730 1709735 + Block 1709736 1710744 + IfStatement 1709738 1710702 + BinaryExpression 1710067 1710143 + BinaryExpression 1710067 1710103 + PropertyAccessExpression 1710067 1710085 + Identifier 1710067 1710079 + Identifier 1710080 1710085 + AmpersandToken 1710085 1710087 + PropertyAccessExpression 1710087 1710103 + Identifier 1710087 1710097 + Identifier 1710098 1710103 + BarBarToken 1710103 1710106 + BinaryExpression 1710106 1710143 + PropertyAccessExpression 1710106 1710125 + Identifier 1710106 1710119 + Identifier 1710120 1710125 + AmpersandToken 1710125 1710127 + PropertyAccessExpression 1710127 1710143 + Identifier 1710127 1710137 + Identifier 1710138 1710143 + Block 1710144 1710702 + VariableStatement 1710146 1710224 + VariableDeclarationList 1710146 1710223 + VariableDeclaration 1710169 1710223 + Identifier 1710169 1710176 + CallExpression 1710178 1710223 + Identifier 1710178 1710217 + Identifier 1710218 1710222 + IfStatement 1710224 1710687 + Identifier 1710246 1710252 + Block 1710253 1710687 + VariableStatement 1710255 1710322 + VariableDeclarationList 1710255 1710321 + VariableDeclaration 1710282 1710321 + Identifier 1710282 1710287 + CallExpression 1710289 1710321 + Identifier 1710289 1710313 + Identifier 1710314 1710320 + IfStatement 1710322 1710668 + Identifier 1710348 1710352 + Block 1710353 1710668 + VariableStatement 1710355 1710507 + VariableDeclarationList 1710355 1710506 + VariableDeclaration 1710386 1710506 + Identifier 1710386 1710391 + ConditionalExpression 1710393 1710506 + BinaryExpression 1710393 1710476 + BinaryExpression 1710393 1710430 + PropertyAccessExpression 1710393 1710412 + Identifier 1710393 1710406 + Identifier 1710407 1710412 + AmpersandToken 1710412 1710414 + PropertyAccessExpression 1710414 1710430 + Identifier 1710414 1710424 + Identifier 1710425 1710430 + AmpersandAmpersandToken 1710430 1710433 + CallExpression 1710433 1710476 + Identifier 1710433 1710448 + Identifier 1710449 1710461 + Identifier 1710462 1710475 + QuestionToken 1710476 1710478 + Identifier 1710478 1710491 + ColonToken 1710491 1710493 + Identifier 1710493 1710506 + IfStatement 1710507 1710645 + CallExpression 1710537 1710571 + Identifier 1710537 1710559 + Identifier 1710560 1710564 + Identifier 1710565 1710570 + Block 1710572 1710645 + ReturnStatement 1710574 1710618 + Identifier 1710610 1710617 + ReturnStatement 1710702 1710733 + Identifier 1710722 1710732 + FunctionDeclaration 1710744 1711990 + Identifier 1710764 1710789 + Parameter 1710790 1710800 + Identifier 1710790 1710794 + TypeReference 1710795 1710800 + Identifier 1710795 1710800 + Parameter 1710801 1710866 + Identifier 1710801 1710808 + UnionType 1710809 1710866 + TypeReference 1710809 1710826 + Identifier 1710809 1710826 + TypeReference 1710828 1710843 + Identifier 1710828 1710843 + TypeReference 1710845 1710866 + Identifier 1710845 1710866 + Parameter 1710867 1710897 + Identifier 1710867 1710878 + FunctionType 1710879 1710897 + Parameter 1710881 1710888 + Identifier 1710881 1710882 + TypeReference 1710883 1710888 + Identifier 1710883 1710888 + TypeReference 1710892 1710897 + Identifier 1710892 1710897 + TypeReference 1710899 1710904 + Identifier 1710899 1710904 + Block 1710904 1711990 + VariableStatement 1710906 1710969 + VariableDeclarationList 1710906 1710968 + VariableDeclaration 1710925 1710968 + Identifier 1710925 1710934 + CallExpression 1710936 1710968 + Identifier 1710936 1710960 + Identifier 1710961 1710967 + IfStatement 1710969 1711057 + BinaryExpression 1710987 1711009 + Identifier 1710987 1710995 + EqualsEqualsEqualsToken 1710995 1710999 + Identifier 1710999 1711009 + Block 1711010 1711057 + ReturnStatement 1711012 1711042 + Identifier 1711036 1711041 + VariableStatement 1711057 1711117 + VariableDeclarationList 1711057 1711116 + VariableDeclaration 1711076 1711116 + Identifier 1711076 1711090 + CallExpression 1711092 1711116 + Identifier 1711092 1711108 + Identifier 1711109 1711115 + VariableStatement 1711117 1711262 + VariableDeclarationList 1711117 1711261 + VariableDeclaration 1711136 1711261 + Identifier 1711136 1711151 + BinaryExpression 1711153 1711261 + BinaryExpression 1711153 1711216 + Identifier 1711153 1711170 + AmpersandAmpersandToken 1711170 1711173 + ParenthesizedExpression 1711173 1711216 + BinaryExpression 1711175 1711215 + Identifier 1711175 1711188 + BarBarToken 1711188 1711191 + CallExpression 1711191 1711215 + Identifier 1711191 1711207 + Identifier 1711208 1711214 + AmpersandAmpersandToken 1711216 1711219 + CallExpression 1711219 1711261 + Identifier 1711219 1711235 + Identifier 1711236 1711240 + PropertyAccessExpression 1711241 1711260 + Identifier 1711241 1711251 + Identifier 1711252 1711260 + VariableStatement 1711262 1711402 + VariableDeclarationList 1711262 1711401 + VariableDeclaration 1711279 1711401 + Identifier 1711279 1711288 + CallExpression 1711290 1711401 + Identifier 1711290 1711314 + ConditionalExpression 1711315 1711390 + Identifier 1711315 1711329 + QuestionToken 1711329 1711331 + CallExpression 1711331 1711383 + Identifier 1711331 1711348 + Identifier 1711349 1711353 + PropertyAccessExpression 1711354 1711382 + Identifier 1711354 1711364 + Identifier 1711365 1711382 + ColonToken 1711383 1711385 + Identifier 1711385 1711390 + Identifier 1711391 1711400 + IfStatement 1711402 1711477 + PrefixUnaryExpression 1711420 1711429 + Identifier 1711421 1711429 + Block 1711430 1711477 + ReturnStatement 1711432 1711462 + Identifier 1711456 1711461 + ExpressionStatement 1711477 1711573 + BinaryExpression 1711477 1711572 + Identifier 1711477 1711499 + EqualsToken 1711499 1711501 + ConditionalExpression 1711501 1711572 + BinaryExpression 1711501 1711533 + Identifier 1711501 1711516 + AmpersandAmpersandToken 1711516 1711519 + Identifier 1711519 1711533 + QuestionToken 1711533 1711535 + CallExpression 1711535 1711561 + Identifier 1711535 1711551 + Identifier 1711552 1711560 + ColonToken 1711561 1711563 + Identifier 1711563 1711572 + VariableStatement 1711573 1711633 + VariableDeclarationList 1711573 1711632 + VariableDeclaration 1711592 1711632 + Identifier 1711592 1711609 + CallExpression 1711611 1711632 + Identifier 1711611 1711622 + Identifier 1711623 1711631 + ReturnStatement 1711633 1711979 + CallExpression 1711653 1711978 + Identifier 1711653 1711664 + Identifier 1711665 1711669 + ArrowFunction 1711670 1711977 + Parameter 1711670 1711672 + Identifier 1711670 1711672 + EqualsGreaterThanToken 1711672 1711675 + Block 1711675 1711977 + VariableStatement 1711677 1711788 + VariableDeclarationList 1711677 1711787 + VariableDeclaration 1711700 1711787 + Identifier 1711700 1711717 + BinaryExpression 1711719 1711787 + CallExpression 1711719 1711772 + Identifier 1711719 1711759 + Identifier 1711760 1711761 + Identifier 1711762 1711771 + BarBarToken 1711772 1711775 + Identifier 1711775 1711787 + ReturnStatement 1711788 1711962 + BinaryExpression 1711812 1711961 + BinaryExpression 1711812 1711903 + PrefixUnaryExpression 1711812 1711856 + ParenthesizedExpression 1711814 1711856 + BinaryExpression 1711815 1711855 + PropertyAccessExpression 1711815 1711837 + Identifier 1711815 1711831 + Identifier 1711832 1711837 + AmpersandToken 1711837 1711839 + PropertyAccessExpression 1711839 1711855 + Identifier 1711839 1711849 + Identifier 1711850 1711855 + AmpersandAmpersandToken 1711856 1711859 + PrefixUnaryExpression 1711859 1711903 + ParenthesizedExpression 1711861 1711903 + BinaryExpression 1711862 1711902 + PropertyAccessExpression 1711862 1711884 + Identifier 1711862 1711878 + Identifier 1711879 1711884 + AmpersandToken 1711884 1711886 + PropertyAccessExpression 1711886 1711902 + Identifier 1711886 1711896 + Identifier 1711897 1711902 + AmpersandAmpersandToken 1711903 1711906 + CallExpression 1711906 1711961 + Identifier 1711906 1711925 + Identifier 1711926 1711942 + Identifier 1711943 1711960 + FunctionDeclaration 1711990 1713185 + Identifier 1712010 1712043 + Parameter 1712044 1712054 + Identifier 1712044 1712048 + TypeReference 1712049 1712054 + Identifier 1712049 1712054 + Parameter 1712055 1712120 + Identifier 1712055 1712062 + UnionType 1712063 1712120 + TypeReference 1712063 1712080 + Identifier 1712063 1712080 + TypeReference 1712082 1712097 + Identifier 1712082 1712097 + TypeReference 1712099 1712120 + Identifier 1712099 1712120 + Parameter 1712121 1712142 + Identifier 1712121 1712130 + TypeReference 1712131 1712142 + Identifier 1712131 1712142 + Parameter 1712143 1712161 + Identifier 1712143 1712149 + TypeReference 1712150 1712161 + Identifier 1712150 1712161 + Parameter 1712162 1712182 + Identifier 1712162 1712173 + BooleanKeyword 1712174 1712182 + Block 1712183 1713185 + IfStatement 1712185 1713055 + BinaryExpression 1712203 1712340 + ParenthesizedExpression 1712203 1712308 + BinaryExpression 1712204 1712307 + BinaryExpression 1712204 1712251 + Identifier 1712204 1712212 + EqualsEqualsEqualsToken 1712212 1712216 + PropertyAccessExpression 1712216 1712251 + Identifier 1712216 1712227 + Identifier 1712228 1712251 + BarBarToken 1712251 1712254 + BinaryExpression 1712254 1712307 + Identifier 1712254 1712263 + EqualsEqualsEqualsToken 1712263 1712267 + PropertyAccessExpression 1712267 1712307 + Identifier 1712267 1712278 + Identifier 1712279 1712307 + AmpersandAmpersandToken 1712308 1712311 + BinaryExpression 1712311 1712340 + PropertyAccessExpression 1712311 1712322 + Identifier 1712311 1712316 + Identifier 1712317 1712322 + AmpersandToken 1712322 1712324 + PropertyAccessExpression 1712324 1712340 + Identifier 1712324 1712334 + Identifier 1712335 1712340 + Block 1712341 1713055 + VariableStatement 1712343 1712423 + VariableDeclarationList 1712343 1712422 + VariableDeclaration 1712366 1712422 + Identifier 1712366 1712382 + CallExpression 1712384 1712422 + Identifier 1712384 1712403 + AsExpression 1712404 1712421 + Identifier 1712404 1712408 + TypeReference 1712411 1712421 + Identifier 1712411 1712421 + IfStatement 1712423 1713040 + BinaryExpression 1712445 1712515 + Identifier 1712445 1712460 + AmpersandAmpersandToken 1712460 1712463 + BinaryExpression 1712463 1712515 + Identifier 1712463 1712479 + EqualsEqualsEqualsToken 1712479 1712483 + CallExpression 1712483 1712515 + Identifier 1712483 1712507 + Identifier 1712508 1712514 + Block 1712516 1713040 + VariableStatement 1712518 1712634 + VariableDeclarationList 1712518 1712633 + VariableDeclaration 1712545 1712633 + Identifier 1712545 1712555 + CallExpression 1712557 1712633 + Identifier 1712557 1712586 + AsExpression 1712587 1712604 + Identifier 1712587 1712591 + TypeReference 1712594 1712604 + Identifier 1712594 1712604 + CallExpression 1712605 1712632 + Identifier 1712605 1712625 + Identifier 1712626 1712631 + IfStatement 1712634 1713021 + Identifier 1712660 1712669 + Block 1712670 1713021 + ReturnStatement 1712672 1712998 + ConditionalExpression 1712704 1712997 + BinaryExpression 1712704 1712809 + Identifier 1712704 1712713 + EqualsEqualsEqualsToken 1712713 1712717 + ParenthesizedExpression 1712717 1712809 + ConditionalExpression 1712719 1712808 + Identifier 1712719 1712729 + QuestionToken 1712729 1712731 + PropertyAccessExpression 1712731 1712766 + Identifier 1712731 1712742 + Identifier 1712743 1712766 + ColonToken 1712766 1712768 + PropertyAccessExpression 1712768 1712808 + Identifier 1712768 1712779 + Identifier 1712780 1712808 + QuestionToken 1712809 1712811 + Identifier 1712811 1712821 + ColonToken 1712821 1712823 + ConditionalExpression 1712823 1712997 + CallExpression 1712823 1712931 + Identifier 1712823 1712863 + BinaryExpression 1712864 1712930 + CallExpression 1712864 1712915 + Identifier 1712864 1712887 + Identifier 1712888 1712897 + Identifier 1712898 1712914 + BarBarToken 1712915 1712918 + Identifier 1712918 1712930 + QuestionToken 1712931 1712933 + CallExpression 1712933 1712961 + Identifier 1712933 1712944 + Identifier 1712945 1712949 + Identifier 1712950 1712960 + ColonToken 1712961 1712963 + Identifier 1712963 1712997 + ReturnStatement 1713055 1713174 + CallExpression 1713075 1713173 + Identifier 1713075 1713100 + Identifier 1713101 1713105 + Identifier 1713106 1713113 + ArrowFunction 1713114 1713172 + Parameter 1713114 1713116 + Identifier 1713114 1713116 + EqualsGreaterThanToken 1713116 1713119 + CallExpression 1713119 1713172 + Identifier 1713119 1713140 + Identifier 1713141 1713142 + Identifier 1713143 1713152 + Identifier 1713153 1713159 + Identifier 1713160 1713171 + FunctionDeclaration 1713185 1714019 + Identifier 1713205 1713246 + Parameter 1713247 1713257 + Identifier 1713247 1713251 + TypeReference 1713252 1713257 + Identifier 1713252 1713257 + Parameter 1713258 1713323 + Identifier 1713258 1713265 + UnionType 1713266 1713323 + TypeReference 1713266 1713283 + Identifier 1713266 1713283 + TypeReference 1713285 1713300 + Identifier 1713285 1713300 + TypeReference 1713302 1713323 + Identifier 1713302 1713323 + Parameter 1713324 1713351 + Identifier 1713324 1713329 + TypeReference 1713330 1713351 + Identifier 1713330 1713351 + Block 1713352 1714019 + IfStatement 1713354 1713900 + BinaryExpression 1713372 1713514 + BinaryExpression 1713372 1713437 + BinaryExpression 1713372 1713405 + PropertyAccessExpression 1713372 1713388 + Identifier 1713372 1713376 + Identifier 1713377 1713388 + LessThanToken 1713388 1713390 + PropertyAccessExpression 1713390 1713405 + Identifier 1713390 1713395 + Identifier 1713396 1713405 + AmpersandAmpersandToken 1713405 1713408 + BinaryExpression 1713408 1713437 + PropertyAccessExpression 1713408 1713419 + Identifier 1713408 1713413 + Identifier 1713414 1713419 + AmpersandToken 1713419 1713421 + PropertyAccessExpression 1713421 1713437 + Identifier 1713421 1713431 + Identifier 1713432 1713437 + AmpersandAmpersandToken 1713437 1713440 + BinaryExpression 1713440 1713514 + CallExpression 1713440 1713478 + Identifier 1713440 1713459 + AsExpression 1713460 1713477 + Identifier 1713460 1713464 + TypeReference 1713467 1713477 + Identifier 1713467 1713477 + EqualsEqualsEqualsToken 1713478 1713482 + CallExpression 1713482 1713514 + Identifier 1713482 1713506 + Identifier 1713507 1713513 + Block 1713515 1713900 + VariableStatement 1713517 1713638 + VariableDeclarationList 1713517 1713637 + VariableDeclaration 1713540 1713637 + Identifier 1713540 1713552 + CallExpression 1713554 1713637 + PropertyAccessExpression 1713554 1713603 + CallExpression 1713554 1713597 + Identifier 1713554 1713575 + PropertyAccessExpression 1713576 1713596 + Identifier 1713576 1713580 + Identifier 1713581 1713596 + Identifier 1713598 1713603 + PropertyAccessExpression 1713604 1713620 + Identifier 1713604 1713608 + Identifier 1713609 1713620 + PropertyAccessExpression 1713621 1713636 + Identifier 1713621 1713626 + Identifier 1713627 1713636 + VariableStatement 1713638 1713777 + VariableDeclarationList 1713638 1713776 + VariableDeclaration 1713661 1713776 + Identifier 1713661 1713671 + CallExpression 1713673 1713776 + Identifier 1713673 1713686 + CallExpression 1713687 1713775 + Identifier 1713687 1713690 + Identifier 1713691 1713702 + ArrowFunction 1713703 1713774 + Parameter 1713703 1713705 + Identifier 1713703 1713705 + EqualsGreaterThanToken 1713705 1713708 + BinaryExpression 1713708 1713774 + CallExpression 1713708 1713759 + Identifier 1713708 1713737 + AsExpression 1713738 1713755 + Identifier 1713738 1713742 + TypeReference 1713745 1713755 + Identifier 1713745 1713755 + Identifier 1713756 1713758 + BarBarToken 1713759 1713762 + Identifier 1713762 1713774 + IfStatement 1713777 1713885 + BinaryExpression 1713799 1713824 + Identifier 1713799 1713808 + ExclamationEqualsEqualsToken 1713808 1713812 + Identifier 1713812 1713824 + Block 1713825 1713885 + ReturnStatement 1713827 1713866 + Identifier 1713855 1713865 + ReturnStatement 1713900 1714008 + CallExpression 1713920 1714007 + Identifier 1713920 1713945 + Identifier 1713946 1713950 + Identifier 1713951 1713958 + ArrowFunction 1713959 1714006 + Parameter 1713959 1713961 + Identifier 1713959 1713961 + EqualsGreaterThanToken 1713961 1713964 + CallExpression 1713964 1714006 + Identifier 1713964 1713997 + Identifier 1713998 1713999 + Identifier 1714000 1714005 + FunctionDeclaration 1714019 1714789 + Identifier 1714039 1714062 + Parameter 1714063 1714073 + Identifier 1714063 1714067 + TypeReference 1714068 1714073 + Identifier 1714068 1714073 + Parameter 1714074 1714091 + Identifier 1714074 1714079 + TypeReference 1714080 1714091 + Identifier 1714080 1714091 + Parameter 1714092 1714112 + Identifier 1714092 1714103 + BooleanKeyword 1714104 1714112 + TypeReference 1714114 1714119 + Identifier 1714114 1714119 + Block 1714119 1714789 + IfStatement 1714121 1714298 + CallExpression 1714139 1714175 + Identifier 1714139 1714158 + Identifier 1714159 1714168 + Identifier 1714169 1714174 + Block 1714176 1714298 + ReturnStatement 1714178 1714283 + CallExpression 1714202 1714282 + Identifier 1714202 1714227 + Identifier 1714228 1714232 + ConditionalExpression 1714233 1714281 + Identifier 1714233 1714244 + QuestionToken 1714244 1714246 + PropertyAccessExpression 1714246 1714263 + Identifier 1714246 1714256 + Identifier 1714257 1714263 + ColonToken 1714263 1714265 + PropertyAccessExpression 1714265 1714281 + Identifier 1714265 1714275 + Identifier 1714276 1714281 + IfStatement 1714298 1714500 + BinaryExpression 1714316 1714397 + BinaryExpression 1714316 1714346 + Identifier 1714316 1714332 + AmpersandAmpersandToken 1714332 1714335 + Identifier 1714335 1714346 + AmpersandAmpersandToken 1714346 1714349 + CallExpression 1714349 1714397 + Identifier 1714349 1714380 + Identifier 1714381 1714385 + Identifier 1714386 1714396 + Block 1714398 1714500 + ExpressionStatement 1714400 1714485 + BinaryExpression 1714400 1714484 + Identifier 1714400 1714422 + EqualsToken 1714422 1714424 + CallExpression 1714424 1714484 + Identifier 1714424 1714449 + Identifier 1714450 1714454 + PropertyAccessExpression 1714455 1714483 + Identifier 1714455 1714465 + Identifier 1714466 1714483 + VariableStatement 1714500 1714571 + VariableDeclarationList 1714500 1714570 + VariableDeclaration 1714519 1714570 + Identifier 1714519 1714526 + CallExpression 1714528 1714570 + Identifier 1714528 1714558 + Identifier 1714559 1714563 + Identifier 1714564 1714569 + IfStatement 1714571 1714752 + Identifier 1714589 1714595 + Block 1714596 1714752 + ReturnStatement 1714598 1714737 + CallExpression 1714622 1714736 + Identifier 1714622 1714647 + Identifier 1714648 1714652 + Identifier 1714653 1714660 + ArrowFunction 1714661 1714735 + Parameter 1714661 1714663 + Identifier 1714661 1714663 + EqualsGreaterThanToken 1714663 1714666 + CallExpression 1714666 1714735 + Identifier 1714666 1714683 + Identifier 1714684 1714685 + ConditionalExpression 1714686 1714734 + Identifier 1714686 1714697 + QuestionToken 1714697 1714699 + PropertyAccessExpression 1714699 1714716 + Identifier 1714699 1714709 + Identifier 1714710 1714716 + ColonToken 1714716 1714718 + PropertyAccessExpression 1714718 1714734 + Identifier 1714718 1714728 + Identifier 1714729 1714734 + ReturnStatement 1714752 1714778 + Identifier 1714772 1714777 + FunctionDeclaration 1714789 1715182 + Identifier 1714809 1714832 + Parameter 1714833 1714843 + Identifier 1714833 1714837 + TypeReference 1714838 1714843 + Identifier 1714838 1714843 + Parameter 1714844 1714863 + Identifier 1714844 1714853 + TypeReference 1714854 1714863 + Identifier 1714854 1714863 + Parameter 1714864 1714884 + Identifier 1714864 1714875 + BooleanKeyword 1714876 1714884 + Block 1714885 1715182 + VariableStatement 1714887 1714948 + VariableDeclarationList 1714887 1714947 + VariableDeclaration 1714906 1714947 + Identifier 1714906 1714911 + CallExpression 1714913 1714947 + Identifier 1714913 1714931 + Identifier 1714932 1714936 + Identifier 1714937 1714946 + ReturnStatement 1714948 1715171 + ConditionalExpression 1714968 1715170 + Identifier 1714968 1714973 + QuestionToken 1714973 1714975 + BinaryExpression 1714975 1715088 + PrefixUnaryExpression 1714975 1715074 + PrefixUnaryExpression 1714994 1715074 + ParenthesizedExpression 1714995 1715074 + BinaryExpression 1714996 1715073 + BinaryExpression 1714996 1715029 + PropertyAccessExpression 1714996 1715006 + Identifier 1714996 1715000 + Identifier 1715001 1715006 + AmpersandToken 1715006 1715008 + PropertyAccessExpression 1715008 1715029 + Identifier 1715008 1715020 + Identifier 1715021 1715029 + BarBarToken 1715029 1715032 + BinaryExpression 1715032 1715073 + CallExpression 1715032 1715052 + Identifier 1715032 1715046 + Identifier 1715047 1715051 + AmpersandToken 1715052 1715054 + PropertyAccessExpression 1715054 1715073 + Identifier 1715054 1715065 + Identifier 1715066 1715073 + BarBarToken 1715074 1715077 + Identifier 1715077 1715088 + ColonToken 1715088 1715090 + BinaryExpression 1715090 1715170 + PrefixUnaryExpression 1715090 1715155 + PrefixUnaryExpression 1715109 1715155 + CallExpression 1715110 1715155 + Identifier 1715110 1715139 + Identifier 1715140 1715144 + Identifier 1715145 1715154 + BarBarToken 1715155 1715158 + PrefixUnaryExpression 1715158 1715170 + Identifier 1715160 1715170 + FunctionDeclaration 1715182 1716354 + Identifier 1715202 1715224 + Parameter 1715225 1715235 + Identifier 1715225 1715229 + TypeReference 1715230 1715235 + Identifier 1715230 1715235 + Parameter 1715236 1715305 + Identifier 1715236 1715245 + UnionType 1715246 1715305 + TypeReference 1715246 1715264 + Identifier 1715246 1715264 + TypeReference 1715266 1715284 + Identifier 1715266 1715284 + TypeReference 1715286 1715305 + Identifier 1715286 1715305 + Parameter 1715306 1715326 + Identifier 1715306 1715317 + BooleanKeyword 1715318 1715326 + Block 1715327 1716354 + VariableStatement 1715329 1715390 + VariableDeclarationList 1715329 1715389 + VariableDeclaration 1715348 1715389 + Identifier 1715348 1715353 + CallExpression 1715355 1715389 + Identifier 1715355 1715379 + Identifier 1715380 1715388 + VariableStatement 1715390 1715502 + VariableDeclarationList 1715390 1715501 + VariableDeclaration 1715409 1715501 + Identifier 1715409 1715425 + CallExpression 1715427 1715501 + Identifier 1715427 1715436 + Identifier 1715437 1715441 + ArrowFunction 1715442 1715500 + Parameter 1715442 1715444 + Identifier 1715442 1715444 + EqualsGreaterThanToken 1715444 1715447 + CallExpression 1715447 1715500 + Identifier 1715447 1715470 + Identifier 1715471 1715472 + Identifier 1715473 1715478 + TrueKeyword 1715479 1715499 + IfStatement 1715502 1715855 + Identifier 1715520 1715535 + Block 1715536 1715855 + ReturnStatement 1715538 1715840 + CallExpression 1715772 1715839 + Identifier 1715772 1715783 + Identifier 1715784 1715788 + ArrowFunction 1715789 1715838 + Parameter 1715789 1715791 + Identifier 1715789 1715791 + EqualsGreaterThanToken 1715791 1715794 + CallExpression 1715794 1715838 + Identifier 1715794 1715817 + Identifier 1715818 1715819 + Identifier 1715820 1715825 + Identifier 1715826 1715837 + IfStatement 1715855 1716317 + Identifier 1715873 1715883 + Block 1715884 1716317 + VariableStatement 1715886 1716123 + VariableDeclarationList 1715886 1716122 + VariableDeclaration 1716083 1716122 + Identifier 1716083 1716096 + CallExpression 1716098 1716122 + Identifier 1716098 1716120 + IfStatement 1716123 1716302 + Identifier 1716145 1716157 + Block 1716158 1716302 + ReturnStatement 1716160 1716283 + CallExpression 1716188 1716282 + Identifier 1716188 1716208 + ArrayLiteralExpression 1716209 1716281 + Identifier 1716210 1716214 + CallExpression 1716215 1716280 + Identifier 1716215 1716241 + Identifier 1716242 1716254 + ArrayLiteralExpression 1716255 1716279 + Identifier 1716257 1716265 + Identifier 1716266 1716278 + ReturnStatement 1716317 1716343 + Identifier 1716337 1716342 + FunctionDeclaration 1716354 1716770 + Identifier 1716374 1716404 + Parameter 1716405 1716415 + Identifier 1716405 1716409 + TypeReference 1716410 1716415 + Identifier 1716410 1716415 + Parameter 1716416 1716433 + Identifier 1716416 1716421 + TypeReference 1716422 1716433 + Identifier 1716422 1716433 + Parameter 1716434 1716455 + Identifier 1716434 1716439 + TypeReference 1716440 1716455 + Identifier 1716440 1716455 + Parameter 1716456 1716481 + Identifier 1716456 1716465 + TypeReference 1716466 1716481 + Identifier 1716466 1716481 + Parameter 1716482 1716502 + Identifier 1716482 1716493 + BooleanKeyword 1716494 1716502 + TypeReference 1716504 1716509 + Identifier 1716504 1716509 + Block 1716509 1716770 + ExpressionStatement 1716511 1716703 + BinaryExpression 1716511 1716702 + Identifier 1716511 1716535 + EqualsToken 1716535 1716537 + BinaryExpression 1716537 1716702 + ParenthesizedExpression 1716537 1716593 + BinaryExpression 1716539 1716592 + Identifier 1716539 1716549 + ExclamationEqualsEqualsToken 1716549 1716553 + ParenthesizedExpression 1716553 1716592 + BinaryExpression 1716555 1716591 + PropertyAccessExpression 1716555 1716564 + Identifier 1716555 1716559 + Identifier 1716560 1716564 + EqualsEqualsEqualsToken 1716564 1716568 + PropertyAccessExpression 1716568 1716591 + Identifier 1716568 1716579 + Identifier 1716580 1716591 + ExclamationEqualsEqualsToken 1716593 1716597 + ParenthesizedExpression 1716597 1716702 + BinaryExpression 1716599 1716701 + BinaryExpression 1716599 1716651 + Identifier 1716599 1716607 + ExclamationEqualsEqualsToken 1716607 1716611 + PropertyAccessExpression 1716611 1716651 + Identifier 1716611 1716622 + Identifier 1716623 1716651 + AmpersandAmpersandToken 1716651 1716654 + BinaryExpression 1716654 1716701 + Identifier 1716654 1716663 + ExclamationEqualsEqualsToken 1716663 1716667 + PropertyAccessExpression 1716667 1716701 + Identifier 1716667 1716678 + Identifier 1716679 1716701 + ReturnStatement 1716703 1716759 + CallExpression 1716723 1716758 + Identifier 1716723 1716734 + Identifier 1716735 1716739 + Identifier 1716740 1716745 + Identifier 1716746 1716757 + FunctionDeclaration 1716770 1722895 + Identifier 1716790 1716819 + Parameter 1716820 1716830 + Identifier 1716820 1716824 + TypeReference 1716825 1716830 + Identifier 1716825 1716830 + Parameter 1716831 1716854 + Identifier 1716831 1716836 + TypeReference 1716837 1716854 + Identifier 1716837 1716854 + Parameter 1716855 1716875 + Identifier 1716855 1716866 + BooleanKeyword 1716867 1716875 + TypeReference 1716877 1716882 + Identifier 1716877 1716882 + Block 1716882 1722895 + SwitchStatement 1716884 1722858 + PropertyAccessExpression 1716906 1716929 + PropertyAccessExpression 1716906 1716924 + Identifier 1716906 1716910 + Identifier 1716911 1716924 + Identifier 1716925 1716929 + CaseBlock 1716930 1722858 + CaseClause 1716932 1716978 + PropertyAccessExpression 1716954 1716977 + Identifier 1716954 1716965 + Identifier 1716966 1716977 + CaseClause 1716978 1717030 + PropertyAccessExpression 1717000 1717029 + Identifier 1717000 1717011 + Identifier 1717012 1717029 + CaseClause 1717030 1717094 + PropertyAccessExpression 1717052 1717093 + Identifier 1717052 1717063 + Identifier 1717064 1717093 + CaseClause 1717094 1717273 + PropertyAccessExpression 1717116 1717155 + Identifier 1717116 1717127 + Identifier 1717128 1717155 + ReturnStatement 1717156 1717273 + CallExpression 1717184 1717272 + Identifier 1717184 1717207 + CallExpression 1717208 1717248 + Identifier 1717208 1717218 + Identifier 1717219 1717223 + PropertyAccessExpression 1717224 1717235 + Identifier 1717224 1717229 + Identifier 1717230 1717235 + Identifier 1717236 1717247 + PropertyAccessExpression 1717249 1717259 + Identifier 1717249 1717254 + Identifier 1717255 1717259 + Identifier 1717260 1717271 + CaseClause 1717273 1717325 + PropertyAccessExpression 1717295 1717324 + Identifier 1717295 1717306 + Identifier 1717307 1717324 + CaseClause 1717325 1717382 + PropertyAccessExpression 1717347 1717381 + Identifier 1717347 1717358 + Identifier 1717359 1717381 + CaseClause 1717382 1717440 + PropertyAccessExpression 1717404 1717439 + Identifier 1717404 1717415 + Identifier 1717416 1717439 + CaseClause 1717440 1720358 + PropertyAccessExpression 1717462 1717502 + Identifier 1717462 1717473 + Identifier 1717474 1717502 + VariableStatement 1717503 1717566 + VariableDeclarationList 1717503 1717565 + VariableDeclaration 1717530 1717565 + Identifier 1717530 1717539 + PropertyAccessExpression 1717541 1717565 + PropertyAccessExpression 1717541 1717560 + Identifier 1717541 1717546 + Identifier 1717547 1717560 + Identifier 1717561 1717565 + VariableStatement 1717566 1717634 + VariableDeclarationList 1717566 1717633 + VariableDeclaration 1717593 1717633 + Identifier 1717593 1717598 + CallExpression 1717600 1717633 + Identifier 1717600 1717622 + PropertyAccessExpression 1717623 1717632 + Identifier 1717623 1717627 + Identifier 1717628 1717632 + VariableStatement 1717634 1717704 + VariableDeclarationList 1717634 1717703 + VariableDeclaration 1717661 1717703 + Identifier 1717661 1717667 + CallExpression 1717669 1717703 + Identifier 1717669 1717691 + PropertyAccessExpression 1717692 1717702 + Identifier 1717692 1717696 + Identifier 1717697 1717702 + IfStatement 1717704 1717940 + BinaryExpression 1717730 1717801 + BinaryExpression 1717730 1717771 + PropertyAccessExpression 1717730 1717739 + Identifier 1717730 1717734 + Identifier 1717735 1717739 + EqualsEqualsEqualsToken 1717739 1717743 + PropertyAccessExpression 1717743 1717771 + Identifier 1717743 1717754 + Identifier 1717755 1717771 + AmpersandAmpersandToken 1717771 1717774 + CallExpression 1717774 1717801 + Identifier 1717774 1717794 + Identifier 1717795 1717800 + Block 1717802 1717940 + ReturnStatement 1717804 1717917 + CallExpression 1717836 1717916 + Identifier 1717836 1717855 + Identifier 1717856 1717860 + AsExpression 1717861 1717886 + Identifier 1717861 1717866 + TypeReference 1717869 1717886 + Identifier 1717869 1717886 + Identifier 1717887 1717896 + Identifier 1717897 1717903 + Identifier 1717904 1717915 + IfStatement 1717940 1718176 + BinaryExpression 1717966 1718037 + BinaryExpression 1717966 1718008 + PropertyAccessExpression 1717966 1717976 + Identifier 1717966 1717971 + Identifier 1717972 1717976 + EqualsEqualsEqualsToken 1717976 1717980 + PropertyAccessExpression 1717980 1718008 + Identifier 1717980 1717991 + Identifier 1717992 1718008 + AmpersandAmpersandToken 1718008 1718011 + CallExpression 1718011 1718037 + Identifier 1718011 1718031 + Identifier 1718032 1718036 + Block 1718038 1718176 + ReturnStatement 1718040 1718153 + CallExpression 1718072 1718152 + Identifier 1718072 1718091 + Identifier 1718092 1718096 + AsExpression 1718097 1718123 + Identifier 1718097 1718103 + TypeReference 1718106 1718123 + Identifier 1718106 1718123 + Identifier 1718124 1718133 + Identifier 1718134 1718139 + Identifier 1718140 1718151 + IfStatement 1718176 1718353 + CallExpression 1718202 1718238 + Identifier 1718202 1718221 + Identifier 1718222 1718231 + Identifier 1718232 1718237 + Block 1718239 1718353 + ReturnStatement 1718241 1718330 + CallExpression 1718273 1718329 + Identifier 1718273 1718294 + Identifier 1718295 1718299 + Identifier 1718300 1718309 + Identifier 1718310 1718316 + Identifier 1718317 1718328 + IfStatement 1718353 1718530 + CallExpression 1718379 1718416 + Identifier 1718379 1718398 + Identifier 1718399 1718408 + Identifier 1718409 1718415 + Block 1718417 1718530 + ReturnStatement 1718419 1718507 + CallExpression 1718451 1718506 + Identifier 1718451 1718472 + Identifier 1718473 1718477 + Identifier 1718478 1718487 + Identifier 1718488 1718493 + Identifier 1718494 1718505 + IfStatement 1718530 1719035 + Identifier 1718556 1718572 + Block 1718573 1719035 + IfStatement 1718575 1719012 + CallExpression 1718605 1718652 + Identifier 1718605 1718635 + Identifier 1718636 1718640 + Identifier 1718641 1718651 + Block 1718653 1718791 + ExpressionStatement 1718655 1718764 + BinaryExpression 1718655 1718763 + Identifier 1718655 1718689 + EqualsToken 1718689 1718691 + CallExpression 1718691 1718763 + Identifier 1718691 1718728 + Identifier 1718729 1718733 + Identifier 1718734 1718743 + Identifier 1718744 1718750 + Identifier 1718751 1718762 + IfStatement 1718821 1719012 + CallExpression 1718826 1718874 + Identifier 1718826 1718856 + Identifier 1718857 1718862 + Identifier 1718863 1718873 + Block 1718875 1719012 + ExpressionStatement 1718877 1718985 + BinaryExpression 1718877 1718984 + Identifier 1718877 1718911 + EqualsToken 1718911 1718913 + CallExpression 1718913 1718984 + Identifier 1718913 1718950 + Identifier 1718951 1718955 + Identifier 1718956 1718965 + Identifier 1718966 1718971 + Identifier 1718972 1718983 + VariableStatement 1719035 1719118 + VariableDeclarationList 1719035 1719117 + VariableDeclaration 1719062 1719117 + Identifier 1719062 1719073 + CallExpression 1719075 1719117 + Identifier 1719075 1719105 + Identifier 1719106 1719110 + Identifier 1719111 1719116 + IfStatement 1719118 1719293 + Identifier 1719144 1719154 + Block 1719155 1719293 + ReturnStatement 1719157 1719270 + CallExpression 1719189 1719269 + Identifier 1719189 1719222 + Identifier 1719223 1719227 + Identifier 1719228 1719239 + Identifier 1719240 1719249 + Identifier 1719250 1719256 + Identifier 1719257 1719268 + VariableStatement 1719293 1719378 + VariableDeclarationList 1719293 1719377 + VariableDeclaration 1719320 1719377 + Identifier 1719320 1719332 + CallExpression 1719334 1719377 + Identifier 1719334 1719364 + Identifier 1719365 1719370 + Identifier 1719371 1719376 + IfStatement 1719378 1719554 + Identifier 1719404 1719415 + Block 1719416 1719554 + ReturnStatement 1719418 1719531 + CallExpression 1719450 1719530 + Identifier 1719450 1719483 + Identifier 1719484 1719488 + Identifier 1719489 1719501 + Identifier 1719502 1719511 + Identifier 1719512 1719517 + Identifier 1719518 1719529 + IfStatement 1719554 1719734 + CallExpression 1719580 1719616 + Identifier 1719580 1719610 + Identifier 1719611 1719615 + Block 1719617 1719734 + ReturnStatement 1719619 1719711 + CallExpression 1719651 1719710 + Identifier 1719651 1719675 + Identifier 1719676 1719680 + Identifier 1719681 1719690 + Identifier 1719691 1719697 + Identifier 1719698 1719709 + IfStatement 1719734 1719914 + CallExpression 1719760 1719797 + Identifier 1719760 1719790 + Identifier 1719791 1719796 + Block 1719798 1719914 + ReturnStatement 1719800 1719891 + CallExpression 1719832 1719890 + Identifier 1719832 1719856 + Identifier 1719857 1719861 + Identifier 1719862 1719871 + Identifier 1719872 1719877 + Identifier 1719878 1719889 + IfStatement 1719914 1720122 + BinaryExpression 1719940 1719992 + CallExpression 1719940 1719963 + Identifier 1719940 1719956 + Identifier 1719957 1719962 + AmpersandAmpersandToken 1719963 1719966 + PrefixUnaryExpression 1719966 1719992 + CallExpression 1719968 1719992 + Identifier 1719968 1719986 + Identifier 1719987 1719991 + Block 1719993 1720122 + ReturnStatement 1719995 1720099 + CallExpression 1720027 1720098 + Identifier 1720027 1720057 + Identifier 1720058 1720062 + Identifier 1720063 1720068 + Identifier 1720069 1720075 + Identifier 1720076 1720085 + Identifier 1720086 1720097 + IfStatement 1720122 1720330 + BinaryExpression 1720148 1720200 + CallExpression 1720148 1720170 + Identifier 1720148 1720164 + Identifier 1720165 1720169 + AmpersandAmpersandToken 1720170 1720173 + PrefixUnaryExpression 1720173 1720200 + CallExpression 1720175 1720200 + Identifier 1720175 1720193 + Identifier 1720194 1720199 + Block 1720201 1720330 + ReturnStatement 1720203 1720307 + CallExpression 1720235 1720306 + Identifier 1720235 1720265 + Identifier 1720266 1720270 + Identifier 1720271 1720277 + Identifier 1720278 1720283 + Identifier 1720284 1720293 + Identifier 1720294 1720305 + BreakStatement 1720330 1720358 + CaseClause 1720358 1720510 + PropertyAccessExpression 1720380 1720409 + Identifier 1720380 1720391 + Identifier 1720392 1720409 + ReturnStatement 1720410 1720510 + CallExpression 1720438 1720509 + Identifier 1720438 1720461 + Identifier 1720462 1720466 + AsExpression 1720467 1720496 + Identifier 1720467 1720472 + TypeReference 1720475 1720496 + Identifier 1720475 1720496 + Identifier 1720497 1720508 + CaseClause 1720510 1721712 + PropertyAccessExpression 1720532 1720553 + Identifier 1720532 1720543 + Identifier 1720544 1720553 + IfStatement 1720554 1720737 + CallExpression 1720580 1720610 + Identifier 1720580 1720599 + PropertyAccessExpression 1720600 1720609 + Identifier 1720600 1720604 + Identifier 1720605 1720609 + Block 1720611 1720737 + ReturnStatement 1720613 1720714 + CallExpression 1720645 1720713 + Identifier 1720645 1720689 + Identifier 1720690 1720694 + Identifier 1720695 1720700 + Identifier 1720701 1720712 + VariableStatement 1720737 1720808 + VariableDeclarationList 1720737 1720807 + VariableDeclaration 1720764 1720807 + Identifier 1720764 1720771 + CallExpression 1720773 1720807 + Identifier 1720773 1720795 + PropertyAccessExpression 1720796 1720806 + Identifier 1720796 1720800 + Identifier 1720801 1720806 + IfStatement 1720808 1721337 + BinaryExpression 1720834 1720945 + BinaryExpression 1720834 1720892 + CallExpression 1720834 1720859 + Identifier 1720834 1720853 + Identifier 1720854 1720858 + AmpersandAmpersandToken 1720859 1720862 + CallExpression 1720862 1720892 + Identifier 1720862 1720881 + Identifier 1720882 1720891 + AmpersandAmpersandToken 1720892 1720895 + CallExpression 1720895 1720945 + Identifier 1720895 1720915 + PropertyAccessExpression 1720916 1720936 + Identifier 1720916 1720925 + Identifier 1720926 1720936 + Identifier 1720937 1720944 + Block 1720946 1721337 + VariableStatement 1720948 1721022 + VariableDeclarationList 1720948 1721021 + VariableDeclaration 1720979 1721021 + Identifier 1720979 1720988 + CallExpression 1720990 1721021 + Identifier 1720990 1721010 + PropertyAccessExpression 1721011 1721020 + Identifier 1721011 1721015 + Identifier 1721016 1721020 + IfStatement 1721022 1721314 + BinaryExpression 1721052 1721164 + CallExpression 1721052 1721088 + Identifier 1721052 1721078 + Identifier 1721079 1721087 + AmpersandAmpersandToken 1721088 1721091 + BinaryExpression 1721091 1721164 + CallExpression 1721091 1721126 + Identifier 1721091 1721115 + Identifier 1721116 1721125 + EqualsEqualsEqualsToken 1721126 1721130 + CallExpression 1721130 1721164 + Identifier 1721130 1721154 + Identifier 1721155 1721163 + Block 1721165 1721314 + ReturnStatement 1721167 1721287 + CallExpression 1721203 1721286 + Identifier 1721203 1721220 + Identifier 1721221 1721225 + ConditionalExpression 1721226 1721285 + Identifier 1721226 1721237 + QuestionToken 1721237 1721239 + PropertyAccessExpression 1721239 1721261 + Identifier 1721239 1721249 + Identifier 1721250 1721261 + ColonToken 1721261 1721263 + PropertyAccessExpression 1721263 1721285 + Identifier 1721263 1721273 + Identifier 1721274 1721285 + IfStatement 1721337 1721684 + CallExpression 1721363 1721401 + Identifier 1721363 1721382 + Identifier 1721383 1721392 + Identifier 1721393 1721400 + Block 1721402 1721684 + VariableStatement 1721404 1721478 + VariableDeclarationList 1721404 1721477 + VariableDeclaration 1721435 1721477 + Identifier 1721435 1721444 + CallExpression 1721446 1721477 + Identifier 1721446 1721466 + PropertyAccessExpression 1721467 1721476 + Identifier 1721467 1721471 + Identifier 1721472 1721476 + IfStatement 1721478 1721661 + CallExpression 1721508 1721544 + Identifier 1721508 1721534 + Identifier 1721535 1721543 + Block 1721545 1721661 + ReturnStatement 1721547 1721634 + CallExpression 1721583 1721633 + Identifier 1721583 1721605 + Identifier 1721606 1721610 + Identifier 1721611 1721620 + Identifier 1721621 1721632 + BreakStatement 1721684 1721712 + CaseClause 1721712 1721827 + PropertyAccessExpression 1721734 1721756 + Identifier 1721734 1721745 + Identifier 1721746 1721756 + ReturnStatement 1721757 1721827 + CallExpression 1721785 1721826 + Identifier 1721785 1721796 + Identifier 1721797 1721801 + PropertyAccessExpression 1721802 1721813 + Identifier 1721802 1721807 + Identifier 1721808 1721813 + Identifier 1721814 1721825 + CaseClause 1721827 1722491 + PropertyAccessExpression 1722149 1722184 + Identifier 1722149 1722160 + Identifier 1722161 1722184 + ReturnStatement 1722185 1722491 + ConditionalExpression 1722213 1722490 + Identifier 1722213 1722224 + QuestionToken 1722224 1722226 + CallExpression 1722226 1722345 + Identifier 1722226 1722262 + CallExpression 1722263 1722311 + Identifier 1722263 1722273 + Identifier 1722274 1722278 + PropertyAccessExpression 1722279 1722289 + Identifier 1722279 1722284 + Identifier 1722285 1722289 + TrueKeyword 1722290 1722310 + PropertyAccessExpression 1722312 1722323 + Identifier 1722312 1722317 + Identifier 1722318 1722323 + TrueKeyword 1722324 1722344 + ColonToken 1722345 1722347 + CallExpression 1722347 1722490 + Identifier 1722347 1722385 + ArrayLiteralExpression 1722386 1722489 + CallExpression 1722387 1722436 + Identifier 1722387 1722397 + Identifier 1722398 1722402 + PropertyAccessExpression 1722403 1722413 + Identifier 1722403 1722408 + Identifier 1722409 1722413 + FalseKeyword 1722414 1722435 + CallExpression 1722437 1722488 + Identifier 1722437 1722448 + Identifier 1722449 1722453 + PropertyAccessExpression 1722454 1722465 + Identifier 1722454 1722459 + Identifier 1722460 1722465 + FalseKeyword 1722466 1722487 + CaseClause 1722491 1722843 + PropertyAccessExpression 1722513 1722536 + Identifier 1722513 1722524 + Identifier 1722525 1722536 + ReturnStatement 1722537 1722843 + ConditionalExpression 1722565 1722842 + Identifier 1722565 1722576 + QuestionToken 1722576 1722578 + CallExpression 1722578 1722719 + Identifier 1722578 1722616 + ArrayLiteralExpression 1722617 1722718 + CallExpression 1722618 1722666 + Identifier 1722618 1722628 + Identifier 1722629 1722633 + PropertyAccessExpression 1722634 1722644 + Identifier 1722634 1722639 + Identifier 1722640 1722644 + TrueKeyword 1722645 1722665 + CallExpression 1722667 1722717 + Identifier 1722667 1722678 + Identifier 1722679 1722683 + PropertyAccessExpression 1722684 1722695 + Identifier 1722684 1722689 + Identifier 1722690 1722695 + TrueKeyword 1722696 1722716 + ColonToken 1722719 1722721 + CallExpression 1722721 1722842 + Identifier 1722721 1722757 + CallExpression 1722758 1722807 + Identifier 1722758 1722768 + Identifier 1722769 1722773 + PropertyAccessExpression 1722774 1722784 + Identifier 1722774 1722779 + Identifier 1722780 1722784 + FalseKeyword 1722785 1722806 + PropertyAccessExpression 1722808 1722819 + Identifier 1722808 1722813 + Identifier 1722814 1722819 + FalseKeyword 1722820 1722841 + ReturnStatement 1722858 1722884 + Identifier 1722878 1722883 + FunctionDeclaration 1722895 1723826 + Identifier 1722915 1722959 + Parameter 1722960 1722970 + Identifier 1722960 1722964 + TypeReference 1722965 1722970 + Identifier 1722965 1722970 + Parameter 1722971 1722994 + Identifier 1722971 1722976 + TypeReference 1722977 1722994 + Identifier 1722977 1722994 + Parameter 1722995 1723015 + Identifier 1722995 1723006 + BooleanKeyword 1723007 1723015 + TypeReference 1723017 1723022 + Identifier 1723017 1723022 + Block 1723022 1723826 + VariableStatement 1723024 1723087 + VariableDeclarationList 1723024 1723086 + VariableDeclaration 1723043 1723086 + Identifier 1723043 1723050 + CallExpression 1723052 1723086 + Identifier 1723052 1723074 + PropertyAccessExpression 1723075 1723085 + Identifier 1723075 1723079 + Identifier 1723080 1723085 + IfStatement 1723087 1723192 + PrefixUnaryExpression 1723105 1723144 + CallExpression 1723106 1723144 + Identifier 1723106 1723125 + Identifier 1723126 1723135 + Identifier 1723136 1723143 + Block 1723145 1723192 + ReturnStatement 1723147 1723177 + Identifier 1723171 1723176 + ExpressionStatement 1723192 1723257 + CallExpression 1723192 1723256 + PropertyAccessExpression 1723192 1723224 + Identifier 1723192 1723213 + Identifier 1723214 1723224 + PropertyAccessExpression 1723225 1723234 + Identifier 1723225 1723229 + Identifier 1723230 1723234 + Identifier 1723235 1723255 + VariableStatement 1723257 1723337 + VariableDeclarationList 1723257 1723336 + VariableDeclaration 1723276 1723336 + Identifier 1723276 1723283 + CallExpression 1723285 1723336 + Identifier 1723285 1723325 + PropertyAccessExpression 1723326 1723335 + Identifier 1723326 1723330 + Identifier 1723331 1723335 + IfStatement 1723337 1723423 + BinaryExpression 1723355 1723375 + Identifier 1723355 1723361 + EqualsEqualsEqualsToken 1723361 1723365 + Identifier 1723365 1723375 + Block 1723376 1723423 + ReturnStatement 1723378 1723408 + Identifier 1723402 1723407 + VariableStatement 1723423 1723472 + VariableDeclarationList 1723423 1723471 + VariableDeclaration 1723442 1723471 + Identifier 1723442 1723454 + NonNullExpression 1723456 1723471 + PropertyAccessExpression 1723456 1723470 + Identifier 1723456 1723463 + Identifier 1723464 1723470 + VariableStatement 1723472 1723725 + VariableDeclarationList 1723472 1723724 + VariableDeclaration 1723491 1723724 + Identifier 1723491 1723502 + ConditionalExpression 1723504 1723724 + CallExpression 1723504 1723603 + Identifier 1723504 1723522 + CallExpression 1723523 1723602 + PropertyAccessExpression 1723523 1723541 + Identifier 1723523 1723528 + Identifier 1723529 1723541 + PropertyAccessExpression 1723542 1723565 + Identifier 1723542 1723548 + Identifier 1723549 1723565 + StringLiteral 1723566 1723601 + QuestionToken 1723603 1723622 + AsExpression 1723622 1723668 + CallExpression 1723622 1723651 + Identifier 1723622 1723638 + Identifier 1723639 1723650 + TypeReference 1723654 1723668 + Identifier 1723654 1723668 + ColonToken 1723668 1723687 + CallExpression 1723687 1723724 + Identifier 1723687 1723711 + Identifier 1723712 1723723 + ReturnStatement 1723725 1723815 + CallExpression 1723745 1723814 + Identifier 1723745 1723761 + Identifier 1723762 1723766 + Identifier 1723767 1723778 + Identifier 1723779 1723790 + TrueKeyword 1723791 1723813 + FunctionDeclaration 1723826 1726068 + Identifier 1723846 1723883 + Parameter 1723884 1723894 + Identifier 1723884 1723888 + TypeReference 1723889 1723894 + Identifier 1723889 1723894 + Parameter 1723895 1723916 + Identifier 1723895 1723904 + TypeReference 1723905 1723916 + Identifier 1723905 1723916 + Parameter 1723917 1723935 + Identifier 1723917 1723923 + TypeReference 1723924 1723935 + Identifier 1723924 1723935 + Parameter 1723936 1723956 + Identifier 1723936 1723947 + BooleanKeyword 1723948 1723956 + TypeReference 1723958 1723963 + Identifier 1723958 1723963 + Block 1723963 1726068 + VariableStatement 1723965 1725338 + VariableDeclarationList 1723965 1725337 + VariableDeclaration 1725227 1725337 + Identifier 1725227 1725242 + BinaryExpression 1725244 1725337 + BinaryExpression 1725244 1725286 + Identifier 1725244 1725253 + EqualsEqualsEqualsToken 1725253 1725257 + PropertyAccessExpression 1725257 1725286 + Identifier 1725257 1725268 + Identifier 1725269 1725286 + BarBarToken 1725286 1725289 + BinaryExpression 1725289 1725337 + Identifier 1725289 1725298 + EqualsEqualsEqualsToken 1725298 1725302 + PropertyAccessExpression 1725302 1725337 + Identifier 1725302 1725313 + Identifier 1725314 1725337 + VariableStatement 1725338 1725509 + VariableDeclarationList 1725338 1725508 + VariableDeclaration 1725357 1725508 + Identifier 1725357 1725371 + ConditionalExpression 1725373 1725508 + BinaryExpression 1725373 1725465 + BinaryExpression 1725373 1725415 + Identifier 1725373 1725382 + EqualsEqualsEqualsToken 1725382 1725386 + PropertyAccessExpression 1725386 1725415 + Identifier 1725386 1725397 + Identifier 1725398 1725415 + BarBarToken 1725415 1725418 + BinaryExpression 1725418 1725465 + Identifier 1725418 1725427 + EqualsEqualsEqualsToken 1725427 1725431 + PropertyAccessExpression 1725431 1725465 + Identifier 1725431 1725442 + Identifier 1725443 1725465 + QuestionToken 1725465 1725467 + PropertyAccessExpression 1725467 1725486 + Identifier 1725467 1725477 + Identifier 1725478 1725486 + ColonToken 1725486 1725488 + PropertyAccessExpression 1725488 1725508 + Identifier 1725488 1725498 + Identifier 1725499 1725508 + VariableStatement 1725509 1725568 + VariableDeclarationList 1725509 1725567 + VariableDeclaration 1725528 1725567 + Identifier 1725528 1725538 + CallExpression 1725540 1725567 + Identifier 1725540 1725560 + Identifier 1725561 1725566 + VariableStatement 1725568 1725952 + VariableDeclarationList 1725568 1725951 + VariableDeclaration 1725712 1725951 + Identifier 1725712 1725727 + BinaryExpression 1725729 1725951 + BinaryExpression 1725729 1725817 + BinaryExpression 1725729 1725759 + Identifier 1725729 1725744 + ExclamationEqualsEqualsToken 1725744 1725748 + Identifier 1725748 1725759 + AmpersandAmpersandToken 1725759 1725762 + CallExpression 1725762 1725817 + Identifier 1725762 1725772 + Identifier 1725773 1725782 + ArrowFunction 1725783 1725816 + Parameter 1725783 1725785 + Identifier 1725783 1725785 + EqualsGreaterThanToken 1725785 1725788 + PrefixUnaryExpression 1725788 1725816 + PrefixUnaryExpression 1725790 1725816 + ParenthesizedExpression 1725791 1725816 + BinaryExpression 1725792 1725815 + PropertyAccessExpression 1725792 1725799 + Identifier 1725792 1725793 + Identifier 1725794 1725799 + AmpersandToken 1725799 1725801 + Identifier 1725801 1725815 + BarBarToken 1725817 1725820 + BinaryExpression 1725820 1725951 + BinaryExpression 1725820 1725867 + Identifier 1725820 1725852 + EqualsEqualsEqualsToken 1725852 1725856 + Identifier 1725856 1725867 + AmpersandAmpersandToken 1725867 1725870 + CallExpression 1725870 1725951 + Identifier 1725870 1725880 + Identifier 1725881 1725890 + ArrowFunction 1725891 1725950 + Parameter 1725891 1725893 + Identifier 1725891 1725893 + EqualsGreaterThanToken 1725893 1725896 + PrefixUnaryExpression 1725896 1725950 + ParenthesizedExpression 1725898 1725950 + BinaryExpression 1725899 1725949 + PropertyAccessExpression 1725899 1725906 + Identifier 1725899 1725900 + Identifier 1725901 1725906 + AmpersandToken 1725906 1725908 + ParenthesizedExpression 1725908 1725949 + BinaryExpression 1725910 1725948 + PropertyAccessExpression 1725910 1725932 + Identifier 1725910 1725919 + Identifier 1725920 1725932 + BarToken 1725932 1725934 + Identifier 1725934 1725948 + ReturnStatement 1725952 1726057 + ConditionalExpression 1725972 1726056 + Identifier 1725972 1725987 + QuestionToken 1725987 1725989 + CallExpression 1725989 1726049 + Identifier 1725989 1726014 + Identifier 1726015 1726019 + PropertyAccessExpression 1726020 1726048 + Identifier 1726020 1726030 + Identifier 1726031 1726048 + ColonToken 1726049 1726051 + Identifier 1726051 1726056 + FunctionDeclaration 1726068 1728186 + Identifier 1726088 1726109 + Parameter 1726110 1726120 + Identifier 1726110 1726114 + TypeReference 1726115 1726120 + Identifier 1726115 1726120 + Parameter 1726121 1726142 + Identifier 1726121 1726130 + TypeReference 1726131 1726142 + Identifier 1726131 1726142 + Parameter 1726143 1726161 + Identifier 1726143 1726149 + TypeReference 1726150 1726161 + Identifier 1726150 1726161 + Parameter 1726162 1726182 + Identifier 1726162 1726173 + BooleanKeyword 1726174 1726182 + TypeReference 1726184 1726189 + Identifier 1726184 1726189 + Block 1726189 1728186 + IfStatement 1726191 1726283 + BinaryExpression 1726209 1726235 + PropertyAccessExpression 1726209 1726219 + Identifier 1726209 1726213 + Identifier 1726214 1726219 + AmpersandToken 1726219 1726221 + PropertyAccessExpression 1726221 1726235 + Identifier 1726221 1726231 + Identifier 1726232 1726235 + Block 1726236 1726283 + ReturnStatement 1726238 1726268 + Identifier 1726262 1726267 + IfStatement 1726283 1726464 + BinaryExpression 1726301 1726403 + BinaryExpression 1726301 1726347 + Identifier 1726301 1726309 + EqualsEqualsEqualsToken 1726309 1726313 + PropertyAccessExpression 1726313 1726347 + Identifier 1726313 1726324 + Identifier 1726325 1726347 + BarBarToken 1726347 1726350 + BinaryExpression 1726350 1726403 + Identifier 1726350 1726359 + EqualsEqualsEqualsToken 1726359 1726363 + PropertyAccessExpression 1726363 1726403 + Identifier 1726363 1726374 + Identifier 1726375 1726403 + Block 1726404 1726464 + ExpressionStatement 1726406 1726449 + BinaryExpression 1726406 1726448 + Identifier 1726406 1726434 + EqualsToken 1726434 1726436 + PrefixUnaryExpression 1726436 1726448 + Identifier 1726438 1726448 + VariableStatement 1726464 1726523 + VariableDeclarationList 1726464 1726522 + VariableDeclaration 1726483 1726522 + Identifier 1726483 1726493 + CallExpression 1726495 1726522 + Identifier 1726495 1726515 + Identifier 1726516 1726521 + VariableStatement 1726523 1726650 + VariableDeclarationList 1726523 1726649 + VariableDeclaration 1726542 1726649 + Identifier 1726542 1726555 + BinaryExpression 1726557 1726649 + BinaryExpression 1726557 1726599 + Identifier 1726557 1726566 + EqualsEqualsEqualsToken 1726566 1726570 + PropertyAccessExpression 1726570 1726599 + Identifier 1726570 1726581 + Identifier 1726582 1726599 + BarBarToken 1726599 1726602 + BinaryExpression 1726602 1726649 + Identifier 1726602 1726611 + EqualsEqualsEqualsToken 1726611 1726615 + PropertyAccessExpression 1726615 1726649 + Identifier 1726615 1726626 + Identifier 1726627 1726649 + IfStatement 1726650 1727229 + BinaryExpression 1726668 1726704 + PropertyAccessExpression 1726668 1726683 + Identifier 1726668 1726677 + Identifier 1726678 1726683 + AmpersandToken 1726683 1726685 + PropertyAccessExpression 1726685 1726704 + Identifier 1726685 1726695 + Identifier 1726696 1726704 + Block 1726705 1727229 + IfStatement 1726707 1726802 + PrefixUnaryExpression 1726729 1726746 + Identifier 1726730 1726746 + Block 1726747 1726802 + ReturnStatement 1726749 1726783 + Identifier 1726777 1726782 + VariableStatement 1726802 1727151 + VariableDeclarationList 1726802 1727150 + VariableDeclaration 1726825 1727150 + Identifier 1726825 1726831 + ConditionalExpression 1726833 1727150 + Identifier 1726833 1726846 + QuestionToken 1726846 1726848 + ConditionalExpression 1726848 1726940 + Identifier 1726848 1726880 + QuestionToken 1726880 1726882 + PropertyAccessExpression 1726882 1726910 + Identifier 1726882 1726892 + Identifier 1726893 1726910 + ColonToken 1726910 1726912 + PropertyAccessExpression 1726912 1726940 + Identifier 1726912 1726922 + Identifier 1726923 1726940 + ColonToken 1726940 1726942 + ConditionalExpression 1726942 1727150 + BinaryExpression 1726942 1726996 + PropertyAccessExpression 1726942 1726979 + Identifier 1726942 1726973 + Identifier 1726974 1726979 + AmpersandToken 1726979 1726981 + PropertyAccessExpression 1726981 1726996 + Identifier 1726981 1726991 + Identifier 1726992 1726996 + QuestionToken 1726996 1726998 + ConditionalExpression 1726998 1727068 + Identifier 1726998 1727030 + QuestionToken 1727030 1727032 + PropertyAccessExpression 1727032 1727049 + Identifier 1727032 1727042 + Identifier 1727043 1727049 + ColonToken 1727049 1727051 + PropertyAccessExpression 1727051 1727068 + Identifier 1727051 1727061 + Identifier 1727062 1727068 + ColonToken 1727068 1727070 + ConditionalExpression 1727070 1727150 + Identifier 1727070 1727102 + QuestionToken 1727102 1727104 + PropertyAccessExpression 1727104 1727126 + Identifier 1727104 1727114 + Identifier 1727115 1727126 + ColonToken 1727126 1727128 + PropertyAccessExpression 1727128 1727150 + Identifier 1727128 1727138 + Identifier 1727139 1727150 + ReturnStatement 1727151 1727214 + CallExpression 1727175 1727213 + Identifier 1727175 1727200 + Identifier 1727201 1727205 + Identifier 1727206 1727212 + IfStatement 1727229 1727987 + Identifier 1727247 1727257 + Block 1727258 1727987 + IfStatement 1727260 1727735 + BinaryExpression 1727282 1727377 + PrefixUnaryExpression 1727282 1727295 + Identifier 1727283 1727295 + AmpersandAmpersandToken 1727295 1727298 + ParenthesizedExpression 1727298 1727377 + BinaryExpression 1727300 1727376 + BinaryExpression 1727300 1727330 + PropertyAccessExpression 1727300 1727310 + Identifier 1727300 1727304 + Identifier 1727305 1727310 + AmpersandToken 1727310 1727312 + PropertyAccessExpression 1727312 1727330 + Identifier 1727312 1727322 + Identifier 1727323 1727330 + BarBarToken 1727330 1727333 + CallExpression 1727333 1727376 + Identifier 1727333 1727342 + Identifier 1727343 1727347 + Identifier 1727348 1727375 + Block 1727378 1727735 + IfStatement 1727380 1727580 + BinaryExpression 1727406 1727511 + BinaryExpression 1727406 1727470 + PropertyAccessExpression 1727406 1727421 + Identifier 1727406 1727415 + Identifier 1727416 1727421 + AmpersandToken 1727421 1727423 + ParenthesizedExpression 1727423 1727470 + BinaryExpression 1727425 1727469 + PropertyAccessExpression 1727425 1727444 + Identifier 1727425 1727434 + Identifier 1727435 1727444 + BarToken 1727444 1727446 + PropertyAccessExpression 1727446 1727469 + Identifier 1727446 1727456 + Identifier 1727457 1727469 + BarBarToken 1727470 1727473 + CallExpression 1727473 1727511 + Identifier 1727473 1727500 + Identifier 1727501 1727510 + Block 1727512 1727580 + ReturnStatement 1727514 1727557 + Identifier 1727546 1727556 + IfStatement 1727580 1727716 + BinaryExpression 1727606 1727640 + PropertyAccessExpression 1727606 1727621 + Identifier 1727606 1727615 + Identifier 1727616 1727621 + AmpersandToken 1727621 1727623 + PropertyAccessExpression 1727623 1727640 + Identifier 1727623 1727633 + Identifier 1727634 1727640 + Block 1727641 1727716 + ReturnStatement 1727643 1727693 + Identifier 1727675 1727692 + VariableStatement 1727735 1727892 + VariableDeclarationList 1727735 1727891 + VariableDeclaration 1727758 1727891 + Identifier 1727758 1727771 + CallExpression 1727773 1727891 + Identifier 1727773 1727784 + Identifier 1727785 1727789 + ArrowFunction 1727790 1727890 + Parameter 1727790 1727792 + Identifier 1727790 1727792 + EqualsGreaterThanToken 1727792 1727795 + BinaryExpression 1727795 1727890 + CallExpression 1727795 1727828 + Identifier 1727795 1727814 + Identifier 1727815 1727816 + Identifier 1727817 1727827 + BarBarToken 1727828 1727831 + BinaryExpression 1727831 1727890 + Identifier 1727831 1727844 + AmpersandAmpersandToken 1727844 1727847 + CallExpression 1727847 1727890 + Identifier 1727847 1727876 + Identifier 1727877 1727878 + Identifier 1727879 1727889 + ReturnStatement 1727892 1727972 + CallExpression 1727916 1727971 + Identifier 1727916 1727946 + Identifier 1727947 1727959 + Identifier 1727960 1727970 + IfStatement 1727987 1728149 + CallExpression 1728005 1728026 + Identifier 1728005 1728015 + Identifier 1728016 1728025 + Block 1728027 1728149 + ReturnStatement 1728029 1728134 + CallExpression 1728053 1728133 + Identifier 1728053 1728064 + Identifier 1728065 1728069 + ArrowFunction 1728070 1728132 + Parameter 1728070 1728072 + Identifier 1728070 1728072 + EqualsGreaterThanToken 1728072 1728075 + PrefixUnaryExpression 1728075 1728132 + ParenthesizedExpression 1728077 1728132 + BinaryExpression 1728078 1728131 + CallExpression 1728078 1728095 + Identifier 1728078 1728092 + Identifier 1728093 1728094 + AmpersandAmpersandToken 1728095 1728098 + CallExpression 1728098 1728131 + Identifier 1728098 1728117 + Identifier 1728118 1728119 + Identifier 1728120 1728130 + ReturnStatement 1728149 1728175 + Identifier 1728169 1728174 + FunctionDeclaration 1728186 1729431 + Identifier 1728206 1728225 + Parameter 1728226 1728236 + Identifier 1728226 1728230 + TypeReference 1728231 1728236 + Identifier 1728231 1728236 + Parameter 1728237 1728266 + Identifier 1728237 1728248 + TypeReference 1728249 1728266 + Identifier 1728249 1728266 + Parameter 1728267 1728288 + Identifier 1728267 1728276 + TypeReference 1728277 1728288 + Identifier 1728277 1728288 + Parameter 1728289 1728316 + Identifier 1728289 1728297 + TypeReference 1728298 1728316 + Identifier 1728298 1728316 + Parameter 1728317 1728337 + Identifier 1728317 1728328 + BooleanKeyword 1728329 1728337 + TypeReference 1728339 1728344 + Identifier 1728339 1728344 + Block 1728344 1729431 + IfStatement 1728346 1728633 + BinaryExpression 1728470 1728572 + BinaryExpression 1728470 1728516 + Identifier 1728470 1728478 + EqualsEqualsEqualsToken 1728478 1728482 + PropertyAccessExpression 1728482 1728516 + Identifier 1728482 1728493 + Identifier 1728494 1728516 + BarBarToken 1728516 1728519 + BinaryExpression 1728519 1728572 + Identifier 1728519 1728528 + EqualsEqualsEqualsToken 1728528 1728532 + PropertyAccessExpression 1728532 1728572 + Identifier 1728532 1728543 + Identifier 1728544 1728572 + Block 1728573 1728633 + ExpressionStatement 1728575 1728618 + BinaryExpression 1728575 1728617 + Identifier 1728575 1728603 + EqualsToken 1728603 1728605 + PrefixUnaryExpression 1728605 1728617 + Identifier 1728607 1728617 + VariableStatement 1728633 1728707 + VariableDeclarationList 1728633 1728706 + VariableDeclaration 1728652 1728706 + Identifier 1728652 1728659 + CallExpression 1728661 1728706 + Identifier 1728661 1728683 + PropertyAccessExpression 1728684 1728705 + Identifier 1728684 1728694 + Identifier 1728695 1728705 + IfStatement 1728707 1729342 + PrefixUnaryExpression 1728725 1728764 + CallExpression 1728726 1728764 + Identifier 1728726 1728745 + Identifier 1728746 1728755 + Identifier 1728756 1728763 + Block 1728765 1729342 + IfStatement 1728767 1729018 + BinaryExpression 1728789 1728907 + BinaryExpression 1728789 1728858 + Identifier 1728789 1728805 + AmpersandAmpersandToken 1728805 1728808 + CallExpression 1728808 1728858 + Identifier 1728808 1728839 + Identifier 1728840 1728846 + Identifier 1728847 1728857 + AmpersandAmpersandToken 1728858 1728861 + BinaryExpression 1728861 1728907 + Identifier 1728861 1728872 + EqualsEqualsEqualsToken 1728872 1728876 + ParenthesizedExpression 1728876 1728907 + BinaryExpression 1728878 1728906 + PropertyAccessExpression 1728878 1728890 + Identifier 1728878 1728885 + Identifier 1728886 1728890 + ExclamationEqualsEqualsToken 1728890 1728894 + StringLiteral 1728894 1728906 + Block 1728908 1729018 + ExpressionStatement 1728910 1728999 + BinaryExpression 1728910 1728998 + Identifier 1728910 1728936 + EqualsToken 1728936 1728938 + CallExpression 1728938 1728998 + Identifier 1728938 1728963 + Identifier 1728964 1728968 + PropertyAccessExpression 1728969 1728997 + Identifier 1728969 1728979 + Identifier 1728980 1728997 + VariableStatement 1729018 1729103 + VariableDeclarationList 1729018 1729102 + VariableDeclaration 1729041 1729102 + Identifier 1729041 1729056 + CallExpression 1729058 1729102 + Identifier 1729058 1729088 + Identifier 1729089 1729095 + Identifier 1729096 1729101 + IfStatement 1729103 1729297 + Identifier 1729125 1729139 + Block 1729140 1729297 + ReturnStatement 1729142 1729278 + CallExpression 1729170 1729277 + Identifier 1729170 1729195 + Identifier 1729196 1729200 + Identifier 1729201 1729216 + ArrowFunction 1729217 1729276 + Parameter 1729217 1729219 + Identifier 1729217 1729219 + EqualsGreaterThanToken 1729219 1729222 + CallExpression 1729222 1729276 + Identifier 1729222 1729252 + Identifier 1729253 1729254 + Identifier 1729255 1729263 + Identifier 1729264 1729275 + ReturnStatement 1729297 1729327 + Identifier 1729321 1729326 + ReturnStatement 1729342 1729420 + CallExpression 1729362 1729419 + Identifier 1729362 1729392 + Identifier 1729393 1729397 + Identifier 1729398 1729406 + Identifier 1729407 1729418 + FunctionDeclaration 1729431 1729762 + Identifier 1729451 1729481 + Parameter 1729482 1729492 + Identifier 1729482 1729486 + TypeReference 1729487 1729492 + Identifier 1729487 1729492 + Parameter 1729493 1729520 + Identifier 1729493 1729501 + TypeReference 1729502 1729520 + Identifier 1729502 1729520 + Parameter 1729521 1729541 + Identifier 1729521 1729532 + BooleanKeyword 1729533 1729541 + Block 1729542 1729762 + ReturnStatement 1729544 1729751 + ConditionalExpression 1729564 1729750 + Identifier 1729564 1729575 + QuestionToken 1729575 1729577 + CallExpression 1729577 1729635 + Identifier 1729577 1729615 + Identifier 1729616 1729620 + PropertyAccessExpression 1729621 1729634 + Identifier 1729621 1729629 + Identifier 1729630 1729634 + ColonToken 1729635 1729637 + CallExpression 1729637 1729750 + Identifier 1729637 1729679 + Identifier 1729680 1729684 + BinaryExpression 1729685 1729749 + CallExpression 1729685 1729717 + PropertyAccessExpression 1729685 1729703 + Identifier 1729685 1729699 + Identifier 1729700 1729703 + PropertyAccessExpression 1729704 1729716 + Identifier 1729704 1729711 + Identifier 1729712 1729716 + BarBarToken 1729717 1729720 + PropertyAccessExpression 1729720 1729749 + Identifier 1729720 1729730 + Identifier 1729731 1729749 + FunctionDeclaration 1729762 1730212 + Identifier 1729782 1729825 + Parameter 1729826 1729836 + Identifier 1729826 1729830 + TypeReference 1729831 1729836 + Identifier 1729831 1729836 + Parameter 1729837 1729903 + ObjectBindingPattern 1729837 1729881 + BindingElement 1729839 1729855 + Identifier 1729839 1729855 + BindingElement 1729856 1729868 + Identifier 1729856 1729868 + BindingElement 1729869 1729879 + Identifier 1729869 1729879 + TypeReference 1729882 1729903 + Identifier 1729882 1729903 + Parameter 1729904 1729941 + Identifier 1729904 1729916 + FunctionType 1729917 1729941 + Parameter 1729919 1729929 + Identifier 1729919 1729923 + TypeReference 1729924 1729929 + Identifier 1729924 1729929 + BooleanKeyword 1729933 1729941 + Block 1729942 1730212 + VariableStatement 1729944 1730101 + VariableDeclarationList 1729944 1730100 + VariableDeclaration 1729963 1730100 + Identifier 1729963 1729981 + BinaryExpression 1729983 1730100 + BinaryExpression 1729983 1730009 + Identifier 1729983 1729995 + ExclamationEqualsEqualsToken 1729995 1729999 + Identifier 1729999 1730009 + AmpersandAmpersandToken 1730009 1730012 + CallExpression 1730012 1730100 + Identifier 1730012 1730018 + CallExpression 1730019 1730086 + PropertyAccessExpression 1730019 1730062 + CallExpression 1730019 1730056 + Identifier 1730019 1730039 + Identifier 1730040 1730055 + Identifier 1730057 1730062 + Identifier 1730063 1730074 + Identifier 1730075 1730085 + Identifier 1730087 1730099 + ReturnStatement 1730101 1730201 + ConditionalExpression 1730121 1730200 + Identifier 1730121 1730139 + QuestionToken 1730139 1730141 + CallExpression 1730141 1730193 + Identifier 1730141 1730158 + Identifier 1730159 1730163 + PropertyAccessExpression 1730164 1730192 + Identifier 1730164 1730174 + Identifier 1730175 1730192 + ColonToken 1730193 1730195 + Identifier 1730195 1730200 + FunctionDeclaration 1730212 1732676 + Identifier 1730232 1730265 + Parameter 1730266 1730276 + Identifier 1730266 1730270 + TypeReference 1730271 1730276 + Identifier 1730271 1730276 + Parameter 1730277 1730343 + ObjectBindingPattern 1730277 1730321 + BindingElement 1730279 1730295 + Identifier 1730279 1730295 + BindingElement 1730296 1730308 + Identifier 1730296 1730308 + BindingElement 1730309 1730319 + Identifier 1730309 1730319 + TypeReference 1730322 1730343 + Identifier 1730322 1730343 + Block 1730344 1732676 + VariableStatement 1730346 1730682 + VariableDeclarationList 1730346 1730681 + VariableDeclaration 1730629 1730681 + Identifier 1730629 1730641 + CallExpression 1730643 1730681 + Identifier 1730643 1730664 + Identifier 1730665 1730680 + IfStatement 1730682 1730767 + PrefixUnaryExpression 1730700 1730719 + PropertyAccessExpression 1730701 1730719 + Identifier 1730701 1730712 + Identifier 1730713 1730719 + Block 1730720 1730767 + ReturnStatement 1730722 1730752 + Identifier 1730746 1730751 + VariableStatement 1730767 1730843 + VariableDeclarationList 1730767 1730842 + VariableDeclaration 1730786 1730842 + Identifier 1730786 1730798 + CallExpression 1730800 1730842 + PropertyAccessExpression 1730800 1730818 + Identifier 1730800 1730812 + Identifier 1730813 1730818 + Identifier 1730819 1730830 + Identifier 1730831 1730841 + VariableStatement 1730843 1730944 + VariableDeclarationList 1730843 1730943 + VariableDeclaration 1730862 1730943 + Identifier 1730862 1730879 + BinaryExpression 1730881 1730943 + BinaryExpression 1730881 1730907 + Identifier 1730881 1730893 + EqualsEqualsEqualsToken 1730893 1730897 + Identifier 1730897 1730907 + BarBarToken 1730907 1730910 + CallExpression 1730910 1730943 + Identifier 1730910 1730919 + Identifier 1730920 1730931 + Identifier 1730932 1730942 + IfStatement 1730944 1731990 + BinaryExpression 1730962 1731015 + ParenthesizedExpression 1730962 1730994 + BinaryExpression 1730963 1730993 + PropertyAccessExpression 1730963 1730973 + Identifier 1730963 1730967 + Identifier 1730968 1730973 + AmpersandToken 1730973 1730975 + PropertyAccessExpression 1730975 1730993 + Identifier 1730975 1730985 + Identifier 1730986 1730993 + AmpersandAmpersandToken 1730994 1730997 + PrefixUnaryExpression 1730997 1731015 + Identifier 1730999 1731015 + Block 1731016 1731990 + VariableStatement 1731018 1731078 + VariableDeclarationList 1731018 1731077 + VariableDeclaration 1731039 1731077 + Identifier 1731039 1731057 + UnionType 1731058 1731077 + ArrayType 1731058 1731065 + TypeReference 1731058 1731063 + Identifier 1731058 1731063 + UndefinedKeyword 1731067 1731077 + ForStatement 1731078 1731870 + VariableDeclarationList 1731101 1731110 + VariableDeclaration 1731104 1731110 + Identifier 1731104 1731106 + NumericLiteral 1731108 1731110 + BinaryExpression 1731111 1731134 + Identifier 1731111 1731113 + LessThanToken 1731113 1731115 + PropertyAccessExpression 1731115 1731134 + Identifier 1731115 1731127 + Identifier 1731128 1731134 + BinaryExpression 1731135 1731142 + Identifier 1731135 1731137 + PlusEqualsToken 1731137 1731140 + NumericLiteral 1731140 1731142 + Block 1731143 1731870 + VariableStatement 1731145 1731192 + VariableDeclarationList 1731145 1731191 + VariableDeclaration 1731172 1731191 + Identifier 1731172 1731174 + ElementAccessExpression 1731176 1731191 + Identifier 1731176 1731188 + Identifier 1731189 1731190 + IfStatement 1731192 1731851 + BinaryExpression 1731218 1731274 + PropertyAccessExpression 1731218 1731225 + Identifier 1731218 1731219 + Identifier 1731220 1731225 + AmpersandToken 1731225 1731227 + ParenthesizedExpression 1731227 1731274 + BinaryExpression 1731229 1731273 + PropertyAccessExpression 1731229 1731248 + Identifier 1731229 1731238 + Identifier 1731239 1731248 + BarToken 1731248 1731250 + PropertyAccessExpression 1731250 1731273 + Identifier 1731250 1731260 + Identifier 1731261 1731273 + Block 1731275 1731447 + IfStatement 1731277 1731424 + BinaryExpression 1731307 1731338 + Identifier 1731307 1731324 + ExclamationEqualsEqualsToken 1731324 1731328 + Identifier 1731328 1731338 + Block 1731339 1731424 + ExpressionStatement 1731341 1731397 + CallExpression 1731341 1731396 + PropertyAccessExpression 1731341 1731393 + Identifier 1731341 1731388 + Identifier 1731389 1731393 + Identifier 1731394 1731395 + IfStatement 1731473 1731851 + BinaryExpression 1731478 1731504 + PropertyAccessExpression 1731478 1731485 + Identifier 1731478 1731479 + Identifier 1731480 1731485 + AmpersandToken 1731485 1731487 + PropertyAccessExpression 1731487 1731504 + Identifier 1731487 1731497 + Identifier 1731498 1731504 + Block 1731505 1731762 + IfStatement 1731507 1731672 + BinaryExpression 1731537 1731568 + Identifier 1731537 1731554 + EqualsEqualsEqualsToken 1731554 1731558 + Identifier 1731558 1731568 + Block 1731569 1731672 + ExpressionStatement 1731571 1731645 + BinaryExpression 1731571 1731644 + Identifier 1731571 1731618 + EqualsToken 1731618 1731620 + CallExpression 1731620 1731644 + PropertyAccessExpression 1731620 1731638 + Identifier 1731620 1731632 + Identifier 1731633 1731638 + NumericLiteral 1731639 1731640 + Identifier 1731641 1731643 + ExpressionStatement 1731672 1731739 + CallExpression 1731672 1731738 + PropertyAccessExpression 1731672 1731720 + Identifier 1731672 1731715 + Identifier 1731716 1731720 + Identifier 1731721 1731737 + Block 1731788 1731851 + ReturnStatement 1731790 1731828 + Identifier 1731822 1731827 + ReturnStatement 1731870 1731975 + CallExpression 1731894 1731974 + Identifier 1731894 1731907 + ConditionalExpression 1731908 1731973 + BinaryExpression 1731908 1731939 + Identifier 1731908 1731925 + EqualsEqualsEqualsToken 1731925 1731929 + Identifier 1731929 1731939 + QuestionToken 1731939 1731941 + Identifier 1731941 1731953 + ColonToken 1731953 1731955 + Identifier 1731955 1731973 + VariableStatement 1731990 1732055 + VariableDeclarationList 1731990 1732054 + VariableDeclaration 1732009 1732054 + Identifier 1732009 1732026 + CallExpression 1732028 1732054 + Identifier 1732028 1732041 + Identifier 1732042 1732053 + VariableStatement 1732055 1732270 + VariableDeclarationList 1732055 1732269 + VariableDeclaration 1732074 1732269 + Identifier 1732074 1732083 + ConditionalExpression 1732085 1732269 + BinaryExpression 1732085 1732126 + PropertyAccessExpression 1732085 1732108 + Identifier 1732085 1732102 + Identifier 1732103 1732108 + AmpersandToken 1732108 1732110 + PropertyAccessExpression 1732110 1732126 + Identifier 1732110 1732120 + Identifier 1732121 1732126 + QuestionToken 1732126 1732128 + Identifier 1732128 1732138 + ColonToken 1732138 1732140 + CallExpression 1732140 1732269 + Identifier 1732140 1732187 + CallExpression 1732188 1732250 + Identifier 1732188 1732198 + Identifier 1732199 1732203 + ArrowFunction 1732204 1732249 + Parameter 1732204 1732206 + Identifier 1732204 1732206 + EqualsGreaterThanToken 1732206 1732209 + CallExpression 1732209 1732249 + Identifier 1732209 1732228 + Identifier 1732229 1732245 + Identifier 1732246 1732248 + Identifier 1732251 1732268 + IfStatement 1732270 1732357 + PrefixUnaryExpression 1732288 1732305 + Identifier 1732289 1732305 + Block 1732306 1732357 + ReturnStatement 1732308 1732342 + Identifier 1732332 1732341 + VariableStatement 1732357 1732557 + VariableDeclarationList 1732357 1732556 + VariableDeclaration 1732376 1732556 + Identifier 1732376 1732388 + CallExpression 1732390 1732556 + Identifier 1732390 1732401 + Identifier 1732402 1732406 + ArrowFunction 1732407 1732555 + Parameter 1732407 1732409 + Identifier 1732407 1732409 + EqualsGreaterThanToken 1732409 1732412 + PrefixUnaryExpression 1732412 1732555 + ParenthesizedExpression 1732414 1732555 + BinaryExpression 1732415 1732554 + CallExpression 1732415 1732432 + Identifier 1732415 1732429 + Identifier 1732430 1732431 + AmpersandAmpersandToken 1732432 1732435 + CallExpression 1732435 1732554 + Identifier 1732435 1732444 + Identifier 1732445 1732456 + ConditionalExpression 1732457 1732553 + BinaryExpression 1732457 1732487 + PropertyAccessExpression 1732457 1732465 + Identifier 1732457 1732459 + Identifier 1732460 1732465 + AmpersandToken 1732465 1732467 + PropertyAccessExpression 1732467 1732487 + Identifier 1732467 1732477 + Identifier 1732478 1732487 + QuestionToken 1732487 1732489 + Identifier 1732489 1732503 + ColonToken 1732503 1732505 + CallExpression 1732505 1732553 + Identifier 1732505 1732533 + CallExpression 1732534 1732552 + Identifier 1732534 1732549 + Identifier 1732550 1732551 + ReturnStatement 1732557 1732665 + ConditionalExpression 1732577 1732664 + BinaryExpression 1732577 1732610 + PropertyAccessExpression 1732577 1732592 + Identifier 1732577 1732586 + Identifier 1732587 1732592 + AmpersandToken 1732592 1732594 + PropertyAccessExpression 1732594 1732610 + Identifier 1732594 1732604 + Identifier 1732605 1732610 + QuestionToken 1732610 1732612 + Identifier 1732612 1732624 + ColonToken 1732624 1732626 + CallExpression 1732626 1732664 + Identifier 1732626 1732639 + ArrayLiteralExpression 1732640 1732663 + Identifier 1732641 1732649 + Identifier 1732650 1732662 + FunctionDeclaration 1732676 1734092 + Identifier 1732696 1732717 + Parameter 1732718 1732728 + Identifier 1732718 1732722 + TypeReference 1732723 1732728 + Identifier 1732723 1732728 + Parameter 1732729 1732746 + Identifier 1732729 1732738 + StringKeyword 1732739 1732746 + Block 1732747 1734092 + SwitchStatement 1732749 1733984 + Identifier 1732771 1732779 + CaseBlock 1732780 1733984 + CaseClause 1732782 1732909 + StringLiteral 1732804 1732813 + ReturnStatement 1732814 1732909 + CallExpression 1732842 1732908 + Identifier 1732842 1732864 + Identifier 1732865 1732869 + Identifier 1732870 1732881 + PropertyAccessExpression 1732882 1732907 + Identifier 1732882 1732892 + Identifier 1732893 1732907 + CaseClause 1732909 1733036 + StringLiteral 1732931 1732940 + ReturnStatement 1732941 1733036 + CallExpression 1732969 1733035 + Identifier 1732969 1732991 + Identifier 1732992 1732996 + Identifier 1732997 1733008 + PropertyAccessExpression 1733009 1733034 + Identifier 1733009 1733019 + Identifier 1733020 1733034 + CaseClause 1733036 1733163 + StringLiteral 1733058 1733067 + ReturnStatement 1733068 1733163 + CallExpression 1733096 1733162 + Identifier 1733096 1733118 + Identifier 1733119 1733123 + Identifier 1733124 1733135 + PropertyAccessExpression 1733136 1733161 + Identifier 1733136 1733146 + Identifier 1733147 1733161 + CaseClause 1733163 1733293 + StringLiteral 1733185 1733195 + ReturnStatement 1733196 1733293 + CallExpression 1733224 1733292 + Identifier 1733224 1733246 + Identifier 1733247 1733251 + Identifier 1733252 1733264 + PropertyAccessExpression 1733265 1733291 + Identifier 1733265 1733275 + Identifier 1733276 1733291 + CaseClause 1733293 1733422 + StringLiteral 1733315 1733324 + ReturnStatement 1733325 1733422 + CallExpression 1733353 1733421 + Identifier 1733353 1733375 + Identifier 1733376 1733380 + Identifier 1733381 1733394 + PropertyAccessExpression 1733395 1733420 + Identifier 1733395 1733405 + Identifier 1733406 1733420 + CaseClause 1733422 1733664 + StringLiteral 1733444 1733453 + ReturnStatement 1733454 1733664 + ConditionalExpression 1733482 1733663 + BinaryExpression 1733482 1733509 + PropertyAccessExpression 1733482 1733493 + Identifier 1733482 1733487 + Identifier 1733488 1733493 + AmpersandToken 1733493 1733495 + PropertyAccessExpression 1733495 1733509 + Identifier 1733495 1733505 + Identifier 1733506 1733509 + QuestionToken 1733509 1733511 + Identifier 1733511 1733516 + ColonToken 1733516 1733518 + CallExpression 1733518 1733663 + Identifier 1733518 1733531 + ArrayLiteralExpression 1733532 1733662 + CallExpression 1733533 1733604 + Identifier 1733533 1733554 + Identifier 1733555 1733559 + Identifier 1733560 1733577 + PropertyAccessExpression 1733578 1733603 + Identifier 1733578 1733588 + Identifier 1733589 1733603 + CallExpression 1733605 1733661 + Identifier 1733605 1733627 + Identifier 1733628 1733632 + Identifier 1733633 1733642 + PropertyAccessExpression 1733643 1733660 + Identifier 1733643 1733653 + Identifier 1733654 1733660 + CaseClause 1733664 1733839 + StringLiteral 1733686 1733697 + ReturnStatement 1733698 1733839 + ConditionalExpression 1733726 1733838 + BinaryExpression 1733726 1733753 + PropertyAccessExpression 1733726 1733737 + Identifier 1733726 1733731 + Identifier 1733732 1733737 + AmpersandToken 1733737 1733739 + PropertyAccessExpression 1733739 1733753 + Identifier 1733739 1733749 + Identifier 1733750 1733753 + QuestionToken 1733753 1733755 + Identifier 1733755 1733760 + ColonToken 1733760 1733762 + CallExpression 1733762 1733838 + Identifier 1733762 1733784 + Identifier 1733785 1733789 + Identifier 1733790 1733809 + PropertyAccessExpression 1733810 1733837 + Identifier 1733810 1733820 + Identifier 1733821 1733837 + CaseClause 1733839 1733969 + StringLiteral 1733861 1733873 + ReturnStatement 1733874 1733969 + CallExpression 1733902 1733968 + Identifier 1733902 1733924 + Identifier 1733925 1733929 + Identifier 1733930 1733944 + PropertyAccessExpression 1733945 1733967 + Identifier 1733945 1733955 + Identifier 1733956 1733967 + ReturnStatement 1733984 1734081 + CallExpression 1734004 1734080 + Identifier 1734004 1734026 + Identifier 1734027 1734031 + Identifier 1734032 1734049 + PropertyAccessExpression 1734050 1734079 + Identifier 1734050 1734060 + Identifier 1734061 1734079 + FunctionDeclaration 1734092 1735591 + Identifier 1734112 1734134 + Parameter 1734135 1734145 + Identifier 1734135 1734139 + TypeReference 1734140 1734145 + Identifier 1734140 1734145 + Parameter 1734146 1734164 + Identifier 1734146 1734158 + TypeReference 1734159 1734164 + Identifier 1734159 1734164 + Parameter 1734165 1734182 + Identifier 1734165 1734171 + TypeReference 1734172 1734182 + Identifier 1734172 1734182 + Block 1734183 1735591 + ReturnStatement 1734185 1735580 + CallExpression 1734205 1735579 + Identifier 1734205 1734213 + Identifier 1734214 1734218 + ArrowFunction 1734219 1735578 + Parameter 1734219 1734221 + Identifier 1734219 1734221 + EqualsGreaterThanToken 1734221 1734224 + ConditionalExpression 1734224 1735578 + CallExpression 1734224 1734740 + Identifier 1734224 1734701 + Identifier 1734702 1734703 + Identifier 1734704 1734716 + Identifier 1734717 1734739 + QuestionToken 1734740 1734742 + ConditionalExpression 1734742 1734781 + CallExpression 1734742 1734765 + Identifier 1734742 1734755 + Identifier 1734756 1734757 + Identifier 1734758 1734764 + QuestionToken 1734765 1734767 + Identifier 1734767 1734769 + ColonToken 1734769 1734771 + Identifier 1734771 1734781 + ColonToken 1734781 1734783 + ConditionalExpression 1734783 1735578 + CallExpression 1734783 1735085 + Identifier 1734783 1735069 + Identifier 1735070 1735081 + Identifier 1735082 1735084 + QuestionToken 1735085 1735087 + Identifier 1735087 1735099 + ColonToken 1735099 1735101 + ConditionalExpression 1735101 1735578 + CallExpression 1735101 1735505 + Identifier 1735101 1735495 + Identifier 1735496 1735497 + Identifier 1735498 1735504 + QuestionToken 1735505 1735507 + CallExpression 1735507 1735545 + Identifier 1735507 1735527 + ArrayLiteralExpression 1735528 1735544 + Identifier 1735529 1735530 + Identifier 1735531 1735543 + ColonToken 1735545 1735547 + Identifier 1735547 1735578 + FunctionDeclaration 1735591 1736938 + Identifier 1735611 1735638 + Parameter 1735639 1735649 + Identifier 1735639 1735643 + TypeReference 1735644 1735649 + Identifier 1735644 1735649 + Parameter 1735650 1735716 + ObjectBindingPattern 1735650 1735694 + BindingElement 1735652 1735668 + Identifier 1735652 1735668 + BindingElement 1735669 1735681 + Identifier 1735669 1735681 + BindingElement 1735682 1735692 + Identifier 1735682 1735692 + TypeReference 1735695 1735716 + Identifier 1735695 1735716 + TypeReference 1735718 1735723 + Identifier 1735718 1735723 + Block 1735723 1736938 + VariableStatement 1735725 1735805 + VariableDeclarationList 1735725 1735804 + VariableDeclaration 1735744 1735804 + Identifier 1735744 1735754 + CallExpression 1735756 1735804 + Identifier 1735756 1735787 + Identifier 1735788 1735803 + IfStatement 1735805 1735881 + PrefixUnaryExpression 1735823 1735833 + Identifier 1735824 1735833 + Block 1735834 1735881 + ReturnStatement 1735836 1735866 + Identifier 1735860 1735865 + VariableStatement 1735881 1736120 + VariableDeclarationList 1735881 1736119 + VariableDeclaration 1736007 1736119 + Identifier 1736007 1736020 + CallExpression 1736022 1736119 + Identifier 1736022 1736032 + PropertyAccessExpression 1736033 1736066 + PropertyAccessExpression 1736033 1736058 + Identifier 1736033 1736048 + Identifier 1736049 1736058 + Identifier 1736059 1736066 + ArrowFunction 1736067 1736118 + Parameter 1736067 1736074 + Identifier 1736067 1736074 + EqualsGreaterThanToken 1736074 1736077 + BinaryExpression 1736077 1736118 + PropertyAccessExpression 1736077 1736089 + Identifier 1736077 1736084 + Identifier 1736085 1736089 + EqualsEqualsEqualsToken 1736089 1736093 + PropertyAccessExpression 1736093 1736118 + Identifier 1736093 1736104 + Identifier 1736105 1736118 + VariableStatement 1736120 1736246 + VariableDeclarationList 1736120 1736245 + VariableDeclaration 1736139 1736245 + Identifier 1736139 1736156 + BinaryExpression 1736158 1736245 + BinaryExpression 1736158 1736184 + Identifier 1736158 1736170 + EqualsEqualsEqualsToken 1736170 1736174 + Identifier 1736174 1736184 + BarBarToken 1736184 1736187 + ParenthesizedExpression 1736187 1736245 + BinaryExpression 1736189 1736244 + BinaryExpression 1736189 1736216 + Identifier 1736189 1736201 + GreaterThanEqualsToken 1736201 1736204 + Identifier 1736204 1736216 + AmpersandAmpersandToken 1736216 1736219 + BinaryExpression 1736219 1736244 + Identifier 1736219 1736232 + LessThanToken 1736232 1736234 + Identifier 1736234 1736244 + IfStatement 1736246 1736623 + Identifier 1736264 1736280 + Block 1736281 1736623 + VariableStatement 1736283 1736511 + VariableDeclarationList 1736283 1736510 + VariableDeclaration 1736426 1736510 + Identifier 1736426 1736440 + CallExpression 1736442 1736510 + Identifier 1736442 1736475 + Identifier 1736476 1736487 + Identifier 1736488 1736498 + Identifier 1736499 1736509 + ReturnStatement 1736511 1736608 + CallExpression 1736535 1736607 + Identifier 1736535 1736546 + Identifier 1736547 1736551 + ArrowFunction 1736552 1736606 + Parameter 1736552 1736554 + Identifier 1736552 1736554 + EqualsGreaterThanToken 1736554 1736557 + BinaryExpression 1736557 1736606 + CallExpression 1736557 1736588 + Identifier 1736557 1736570 + Identifier 1736571 1736572 + Identifier 1736573 1736587 + EqualsEqualsEqualsToken 1736588 1736592 + Identifier 1736592 1736606 + VariableStatement 1736623 1736810 + VariableDeclarationList 1736623 1736809 + VariableDeclaration 1736751 1736809 + Identifier 1736751 1736767 + CallExpression 1736769 1736809 + PropertyAccessExpression 1736769 1736785 + Identifier 1736769 1736779 + Identifier 1736780 1736785 + Identifier 1736786 1736797 + Identifier 1736798 1736808 + ReturnStatement 1736810 1736927 + CallExpression 1736830 1736926 + Identifier 1736830 1736843 + CallExpression 1736844 1736925 + Identifier 1736844 1736847 + Identifier 1736848 1736863 + ArrowFunction 1736864 1736924 + Parameter 1736864 1736869 + Identifier 1736864 1736869 + EqualsGreaterThanToken 1736869 1736872 + ConditionalExpression 1736872 1736924 + Identifier 1736872 1736877 + QuestionToken 1736877 1736879 + CallExpression 1736879 1736912 + Identifier 1736879 1736900 + Identifier 1736901 1736905 + Identifier 1736906 1736911 + ColonToken 1736912 1736914 + Identifier 1736914 1736924 + FunctionDeclaration 1736938 1738740 + Identifier 1736958 1736983 + Parameter 1736984 1736994 + Identifier 1736984 1736988 + TypeReference 1736989 1736994 + Identifier 1736989 1736994 + Parameter 1736995 1737061 + ObjectBindingPattern 1736995 1737039 + BindingElement 1736997 1737013 + Identifier 1736997 1737013 + BindingElement 1737014 1737026 + Identifier 1737014 1737026 + BindingElement 1737027 1737037 + Identifier 1737027 1737037 + TypeReference 1737040 1737061 + Identifier 1737040 1737061 + TypeReference 1737063 1737068 + Identifier 1737063 1737068 + Block 1737068 1738740 + VariableStatement 1737070 1737202 + VariableDeclarationList 1737070 1737201 + VariableDeclaration 1737089 1737201 + Identifier 1737089 1737102 + CallExpression 1737104 1737201 + Identifier 1737104 1737114 + PropertyAccessExpression 1737115 1737148 + PropertyAccessExpression 1737115 1737140 + Identifier 1737115 1737130 + Identifier 1737131 1737140 + Identifier 1737141 1737148 + ArrowFunction 1737149 1737200 + Parameter 1737149 1737156 + Identifier 1737149 1737156 + EqualsGreaterThanToken 1737156 1737159 + BinaryExpression 1737159 1737200 + PropertyAccessExpression 1737159 1737171 + Identifier 1737159 1737166 + Identifier 1737167 1737171 + EqualsEqualsEqualsToken 1737171 1737175 + PropertyAccessExpression 1737175 1737200 + Identifier 1737175 1737186 + Identifier 1737187 1737200 + VariableStatement 1737202 1737328 + VariableDeclarationList 1737202 1737327 + VariableDeclaration 1737221 1737327 + Identifier 1737221 1737238 + BinaryExpression 1737240 1737327 + BinaryExpression 1737240 1737266 + Identifier 1737240 1737252 + EqualsEqualsEqualsToken 1737252 1737256 + Identifier 1737256 1737266 + BarBarToken 1737266 1737269 + ParenthesizedExpression 1737269 1737327 + BinaryExpression 1737271 1737326 + BinaryExpression 1737271 1737298 + Identifier 1737271 1737283 + GreaterThanEqualsToken 1737283 1737286 + Identifier 1737286 1737298 + AmpersandAmpersandToken 1737298 1737301 + BinaryExpression 1737301 1737326 + Identifier 1737301 1737314 + LessThanToken 1737314 1737316 + Identifier 1737316 1737326 + ForStatement 1737328 1737721 + VariableDeclarationList 1737434 1737443 + VariableDeclaration 1737437 1737443 + Identifier 1737437 1737439 + NumericLiteral 1737441 1737443 + BinaryExpression 1737444 1737460 + Identifier 1737444 1737446 + LessThanToken 1737446 1737448 + Identifier 1737448 1737460 + PostfixUnaryExpression 1737461 1737465 + Identifier 1737461 1737463 + Block 1737466 1737721 + VariableStatement 1737468 1737538 + VariableDeclarationList 1737468 1737537 + VariableDeclaration 1737491 1737537 + Identifier 1737491 1737498 + ElementAccessExpression 1737500 1737537 + PropertyAccessExpression 1737500 1737534 + PropertyAccessExpression 1737500 1737526 + Identifier 1737500 1737516 + Identifier 1737517 1737526 + Identifier 1737527 1737534 + Identifier 1737535 1737536 + IfStatement 1737538 1737706 + BinaryExpression 1737560 1737597 + PropertyAccessExpression 1737560 1737571 + Identifier 1737560 1737566 + Identifier 1737567 1737571 + EqualsEqualsEqualsToken 1737571 1737575 + PropertyAccessExpression 1737575 1737597 + Identifier 1737575 1737586 + Identifier 1737587 1737597 + Block 1737598 1737706 + ExpressionStatement 1737600 1737687 + BinaryExpression 1737600 1737686 + Identifier 1737600 1737626 + EqualsToken 1737626 1737628 + CallExpression 1737628 1737686 + Identifier 1737628 1737639 + Identifier 1737640 1737644 + PropertyAccessExpression 1737645 1737663 + Identifier 1737645 1737652 + Identifier 1737653 1737663 + FalseKeyword 1737664 1737685 + IfStatement 1737721 1738405 + Identifier 1737974 1737990 + Block 1737991 1738405 + ForStatement 1737993 1738360 + VariableDeclarationList 1738016 1738033 + VariableDeclaration 1738019 1738033 + Identifier 1738019 1738021 + Identifier 1738023 1738033 + BinaryExpression 1738034 1738079 + Identifier 1738034 1738036 + LessThanToken 1738036 1738038 + PropertyAccessExpression 1738038 1738079 + PropertyAccessExpression 1738038 1738072 + PropertyAccessExpression 1738038 1738064 + Identifier 1738038 1738054 + Identifier 1738055 1738064 + Identifier 1738065 1738072 + Identifier 1738073 1738079 + PostfixUnaryExpression 1738080 1738084 + Identifier 1738080 1738082 + Block 1738085 1738360 + VariableStatement 1738087 1738161 + VariableDeclarationList 1738087 1738160 + VariableDeclaration 1738114 1738160 + Identifier 1738114 1738121 + ElementAccessExpression 1738123 1738160 + PropertyAccessExpression 1738123 1738157 + PropertyAccessExpression 1738123 1738149 + Identifier 1738123 1738139 + Identifier 1738140 1738149 + Identifier 1738150 1738157 + Identifier 1738158 1738159 + IfStatement 1738161 1738341 + BinaryExpression 1738187 1738224 + PropertyAccessExpression 1738187 1738198 + Identifier 1738187 1738193 + Identifier 1738194 1738198 + EqualsEqualsEqualsToken 1738198 1738202 + PropertyAccessExpression 1738202 1738224 + Identifier 1738202 1738213 + Identifier 1738214 1738224 + Block 1738225 1738341 + ExpressionStatement 1738227 1738318 + BinaryExpression 1738227 1738317 + Identifier 1738227 1738257 + EqualsToken 1738257 1738259 + CallExpression 1738259 1738317 + Identifier 1738259 1738270 + Identifier 1738271 1738275 + PropertyAccessExpression 1738276 1738294 + Identifier 1738276 1738283 + Identifier 1738284 1738294 + FalseKeyword 1738295 1738316 + ReturnStatement 1738360 1738390 + Identifier 1738384 1738389 + VariableStatement 1738405 1738561 + VariableDeclarationList 1738405 1738560 + VariableDeclaration 1738486 1738560 + Identifier 1738486 1738494 + CallExpression 1738496 1738560 + PropertyAccessExpression 1738496 1738536 + PropertyAccessExpression 1738496 1738530 + PropertyAccessExpression 1738496 1738522 + Identifier 1738496 1738512 + Identifier 1738513 1738522 + Identifier 1738523 1738530 + Identifier 1738531 1738536 + Identifier 1738537 1738548 + Identifier 1738549 1738559 + ReturnStatement 1738561 1738729 + CallExpression 1738581 1738728 + Identifier 1738581 1738594 + CallExpression 1738595 1738727 + Identifier 1738595 1738598 + Identifier 1738599 1738606 + ArrowFunction 1738607 1738726 + Parameter 1738607 1738614 + Identifier 1738607 1738614 + EqualsGreaterThanToken 1738614 1738617 + ConditionalExpression 1738617 1738726 + BinaryExpression 1738617 1738655 + PropertyAccessExpression 1738617 1738629 + Identifier 1738617 1738624 + Identifier 1738625 1738629 + EqualsEqualsEqualsToken 1738629 1738633 + PropertyAccessExpression 1738633 1738655 + Identifier 1738633 1738644 + Identifier 1738645 1738655 + QuestionToken 1738655 1738657 + CallExpression 1738657 1738714 + Identifier 1738657 1738668 + Identifier 1738669 1738673 + PropertyAccessExpression 1738674 1738692 + Identifier 1738674 1738681 + Identifier 1738682 1738692 + TrueKeyword 1738693 1738713 + ColonToken 1738714 1738716 + Identifier 1738716 1738726 + FunctionDeclaration 1738740 1739135 + Identifier 1738760 1738791 + Parameter 1738792 1738808 + Identifier 1738792 1738796 + TypeReference 1738797 1738808 + Identifier 1738797 1738808 + Block 1738809 1739135 + ReturnStatement 1738811 1739124 + BinaryExpression 1738831 1739123 + ParenthesizedExpression 1738831 1739055 + BinaryExpression 1738833 1739054 + BinaryExpression 1738833 1738904 + CallExpression 1738833 1738865 + Identifier 1738833 1738859 + Identifier 1738860 1738864 + AmpersandAmpersandToken 1738865 1738868 + BinaryExpression 1738868 1738904 + CallExpression 1738868 1738886 + Identifier 1738868 1738875 + PropertyAccessExpression 1738876 1738885 + Identifier 1738876 1738880 + Identifier 1738881 1738885 + EqualsEqualsEqualsToken 1738886 1738890 + StringLiteral 1738890 1738904 + BarBarToken 1738904 1738907 + BinaryExpression 1738907 1739054 + BinaryExpression 1738907 1739004 + CallExpression 1738907 1738956 + Identifier 1738907 1738950 + Identifier 1738951 1738955 + AmpersandAmpersandToken 1738956 1738959 + CallExpression 1738959 1739004 + Identifier 1738959 1738979 + PropertyAccessExpression 1738980 1739003 + Identifier 1738980 1738984 + Identifier 1738985 1739003 + AmpersandAmpersandToken 1739004 1739007 + BinaryExpression 1739007 1739054 + PropertyAccessExpression 1739007 1739036 + PropertyAccessExpression 1739007 1739031 + Identifier 1739007 1739012 + Identifier 1739013 1739031 + Identifier 1739032 1739036 + EqualsEqualsEqualsToken 1739036 1739040 + StringLiteral 1739040 1739054 + AmpersandAmpersandToken 1739055 1739058 + CallExpression 1739058 1739123 + Identifier 1739058 1739095 + Identifier 1739096 1739105 + PropertyAccessExpression 1739106 1739122 + Identifier 1739106 1739111 + Identifier 1739112 1739122 + FunctionDeclaration 1739135 1742109 + Identifier 1739155 1739179 + Parameter 1739180 1739190 + Identifier 1739180 1739184 + TypeReference 1739185 1739190 + Identifier 1739185 1739190 + Parameter 1739191 1739212 + Identifier 1739191 1739200 + TypeReference 1739201 1739212 + Identifier 1739201 1739212 + Parameter 1739213 1739236 + Identifier 1739213 1739224 + TypeReference 1739225 1739236 + Identifier 1739225 1739236 + Parameter 1739237 1739257 + Identifier 1739237 1739248 + BooleanKeyword 1739249 1739257 + TypeReference 1739259 1739264 + Identifier 1739259 1739264 + Block 1739264 1742109 + IfStatement 1739266 1739602 + ConditionalExpression 1739340 1739554 + Identifier 1739340 1739350 + QuestionToken 1739350 1739352 + ParenthesizedExpression 1739352 1739447 + BinaryExpression 1739354 1739446 + BinaryExpression 1739354 1739395 + Identifier 1739354 1739362 + ExclamationEqualsEqualsToken 1739362 1739366 + PropertyAccessExpression 1739366 1739395 + Identifier 1739366 1739377 + Identifier 1739378 1739395 + AmpersandAmpersandToken 1739395 1739398 + BinaryExpression 1739398 1739446 + Identifier 1739398 1739407 + ExclamationEqualsEqualsToken 1739407 1739411 + PropertyAccessExpression 1739411 1739446 + Identifier 1739411 1739422 + Identifier 1739423 1739446 + ColonToken 1739447 1739449 + ParenthesizedExpression 1739449 1739554 + BinaryExpression 1739451 1739553 + BinaryExpression 1739451 1739497 + Identifier 1739451 1739459 + ExclamationEqualsEqualsToken 1739459 1739463 + PropertyAccessExpression 1739463 1739497 + Identifier 1739463 1739474 + Identifier 1739475 1739497 + AmpersandAmpersandToken 1739497 1739500 + BinaryExpression 1739500 1739553 + Identifier 1739500 1739509 + ExclamationEqualsEqualsToken 1739509 1739513 + PropertyAccessExpression 1739513 1739553 + Identifier 1739513 1739524 + Identifier 1739525 1739553 + Block 1739555 1739602 + ReturnStatement 1739557 1739587 + Identifier 1739581 1739586 + VariableStatement 1739602 1739788 + VariableDeclarationList 1739602 1739787 + VariableDeclaration 1739738 1739787 + Identifier 1739738 1739753 + CallExpression 1739755 1739787 + Identifier 1739755 1739775 + Identifier 1739776 1739786 + IfStatement 1739788 1739923 + BinaryExpression 1739806 1739875 + PrefixUnaryExpression 1739806 1739837 + CallExpression 1739807 1739837 + Identifier 1739807 1739821 + Identifier 1739822 1739836 + AmpersandAmpersandToken 1739837 1739840 + PrefixUnaryExpression 1739840 1739875 + CallExpression 1739842 1739875 + Identifier 1739842 1739859 + Identifier 1739860 1739874 + Block 1739876 1739923 + ReturnStatement 1739878 1739908 + Identifier 1739902 1739907 + VariableStatement 1739923 1740119 + VariableDeclarationList 1739923 1740118 + VariableDeclaration 1740039 1740118 + Identifier 1740039 1740057 + CallExpression 1740059 1740118 + Identifier 1740059 1740077 + Identifier 1740078 1740092 + AsExpression 1740093 1740117 + StringLiteral 1740093 1740105 + TypeReference 1740108 1740117 + Identifier 1740108 1740117 + IfStatement 1740119 1740203 + PrefixUnaryExpression 1740137 1740155 + Identifier 1740138 1740155 + Block 1740156 1740203 + ReturnStatement 1740158 1740188 + Identifier 1740182 1740187 + VariableStatement 1740203 1740406 + VariableDeclarationList 1740203 1740405 + VariableDeclaration 1740354 1740405 + Identifier 1740354 1740368 + CallExpression 1740370 1740405 + Identifier 1740370 1740386 + Identifier 1740387 1740404 + VariableStatement 1740406 1740492 + VariableDeclarationList 1740406 1740491 + VariableDeclaration 1740425 1740491 + Identifier 1740425 1740435 + ConditionalExpression 1740437 1740491 + PrefixUnaryExpression 1740437 1740463 + CallExpression 1740439 1740463 + Identifier 1740439 1740448 + Identifier 1740449 1740462 + QuestionToken 1740463 1740465 + Identifier 1740465 1740479 + ColonToken 1740479 1740481 + Identifier 1740481 1740491 + IfStatement 1740492 1740638 + BinaryExpression 1740510 1740590 + BinaryExpression 1740510 1740554 + PrefixUnaryExpression 1740510 1740520 + Identifier 1740511 1740520 + BarBarToken 1740520 1740523 + BinaryExpression 1740523 1740554 + Identifier 1740523 1740533 + EqualsEqualsEqualsToken 1740533 1740537 + Identifier 1740537 1740554 + BarBarToken 1740554 1740557 + BinaryExpression 1740557 1740590 + Identifier 1740557 1740567 + EqualsEqualsEqualsToken 1740567 1740571 + Identifier 1740571 1740590 + Block 1740591 1740638 + ReturnStatement 1740593 1740623 + Identifier 1740617 1740622 + IfStatement 1740638 1740864 + CallExpression 1740796 1740811 + Identifier 1740796 1740805 + Identifier 1740806 1740810 + Block 1740812 1740864 + ReturnStatement 1740814 1740849 + Identifier 1740838 1740848 + ReturnStatement 1740864 1741042 + CallExpression 1740988 1741041 + Identifier 1740988 1740999 + Identifier 1741000 1741004 + ArrowFunction 1741005 1741040 + Parameter 1741005 1741007 + Identifier 1741005 1741007 + EqualsGreaterThanToken 1741007 1741010 + CallExpression 1741010 1741040 + Identifier 1741010 1741026 + Identifier 1741027 1741028 + Identifier 1741029 1741039 + FunctionDeclaration 1741042 1742098 + Identifier 1741066 1741082 + Parameter 1741083 1741095 + Identifier 1741083 1741089 + TypeReference 1741090 1741095 + Identifier 1741090 1741095 + Parameter 1741096 1741109 + Identifier 1741096 1741103 + TypeReference 1741104 1741109 + Identifier 1741104 1741109 + Block 1741110 1742098 + IfStatement 1741112 1741915 + BinaryExpression 1741613 1741814 + BinaryExpression 1741613 1741712 + BinaryExpression 1741613 1741666 + PropertyAccessExpression 1741613 1741647 + Identifier 1741613 1741641 + Identifier 1741642 1741647 + AmpersandToken 1741647 1741649 + PropertyAccessExpression 1741649 1741666 + Identifier 1741649 1741659 + Identifier 1741660 1741666 + AmpersandAmpersandToken 1741666 1741669 + BinaryExpression 1741669 1741712 + CallExpression 1741669 1741692 + Identifier 1741669 1741684 + Identifier 1741685 1741691 + AmpersandToken 1741692 1741694 + PropertyAccessExpression 1741694 1741712 + Identifier 1741694 1741706 + Identifier 1741707 1741712 + BarBarToken 1741712 1741715 + BinaryExpression 1741715 1741814 + BinaryExpression 1741715 1741768 + PropertyAccessExpression 1741715 1741749 + Identifier 1741715 1741743 + Identifier 1741744 1741749 + AmpersandToken 1741749 1741751 + PropertyAccessExpression 1741751 1741768 + Identifier 1741751 1741761 + Identifier 1741762 1741768 + AmpersandAmpersandToken 1741768 1741771 + BinaryExpression 1741771 1741814 + CallExpression 1741771 1741794 + Identifier 1741771 1741786 + Identifier 1741787 1741793 + AmpersandToken 1741794 1741796 + PropertyAccessExpression 1741796 1741814 + Identifier 1741796 1741808 + Identifier 1741809 1741814 + Block 1741833 1741915 + ReturnStatement 1741835 1741896 + BinaryExpression 1741863 1741895 + PropertyAccessExpression 1741863 1741877 + Identifier 1741863 1741870 + Identifier 1741871 1741877 + EqualsEqualsEqualsToken 1741877 1741881 + PropertyAccessExpression 1741881 1741895 + Identifier 1741881 1741888 + Identifier 1741889 1741895 + ReturnStatement 1741915 1742083 + CallExpression 1742050 1742082 + Identifier 1742050 1742066 + Identifier 1742067 1742073 + Identifier 1742074 1742081 + FunctionDeclaration 1742109 1744320 + Identifier 1742129 1742152 + Parameter 1742153 1742163 + Identifier 1742153 1742157 + TypeReference 1742158 1742163 + Identifier 1742158 1742163 + Parameter 1742164 1742191 + Identifier 1742164 1742169 + TypeReference 1742170 1742191 + Identifier 1742170 1742191 + Parameter 1742192 1742212 + Identifier 1742192 1742203 + BooleanKeyword 1742204 1742212 + TypeReference 1742214 1742219 + Identifier 1742214 1742219 + Block 1742219 1744320 + VariableStatement 1742221 1742281 + VariableDeclarationList 1742221 1742280 + VariableDeclaration 1742240 1742280 + Identifier 1742240 1742245 + CallExpression 1742247 1742280 + Identifier 1742247 1742269 + PropertyAccessExpression 1742270 1742279 + Identifier 1742270 1742274 + Identifier 1742275 1742279 + IfStatement 1742281 1742598 + PrefixUnaryExpression 1742299 1742336 + CallExpression 1742300 1742336 + Identifier 1742300 1742319 + Identifier 1742320 1742329 + Identifier 1742330 1742335 + Block 1742337 1742598 + IfStatement 1742339 1742553 + BinaryExpression 1742361 1742442 + BinaryExpression 1742361 1742391 + Identifier 1742361 1742371 + AmpersandAmpersandToken 1742371 1742374 + Identifier 1742374 1742391 + AmpersandAmpersandToken 1742391 1742394 + CallExpression 1742394 1742442 + Identifier 1742394 1742425 + Identifier 1742426 1742430 + Identifier 1742431 1742441 + Block 1742443 1742553 + ReturnStatement 1742445 1742534 + CallExpression 1742473 1742533 + Identifier 1742473 1742498 + Identifier 1742499 1742503 + PropertyAccessExpression 1742504 1742532 + Identifier 1742504 1742514 + Identifier 1742515 1742532 + ReturnStatement 1742553 1742583 + Identifier 1742577 1742582 + VariableStatement 1742598 1742637 + VariableDeclarationList 1742598 1742636 + VariableDeclaration 1742617 1742636 + Identifier 1742617 1742623 + PropertyAccessExpression 1742625 1742636 + Identifier 1742625 1742630 + Identifier 1742631 1742636 + VariableStatement 1742637 1742696 + VariableDeclarationList 1742637 1742695 + VariableDeclaration 1742656 1742695 + Identifier 1742656 1742666 + CallExpression 1742668 1742695 + Identifier 1742668 1742688 + Identifier 1742689 1742694 + IfStatement 1742696 1742809 + PrefixUnaryExpression 1742714 1742761 + CallExpression 1742715 1742761 + Identifier 1742715 1742732 + Identifier 1742733 1742742 + Identifier 1742743 1742760 + Block 1742762 1742809 + ReturnStatement 1742764 1742794 + Identifier 1742788 1742793 + VariableStatement 1742809 1743219 + VariableDeclarationList 1742809 1743218 + VariableDeclaration 1743180 1743218 + Identifier 1743180 1743190 + CallExpression 1743192 1743218 + Identifier 1743192 1743212 + Identifier 1743213 1743217 + VariableStatement 1743219 1743303 + VariableDeclarationList 1743219 1743302 + VariableDeclaration 1743238 1743302 + Identifier 1743238 1743248 + BinaryExpression 1743250 1743302 + Identifier 1743250 1743260 + AmpersandAmpersandToken 1743260 1743263 + CallExpression 1743263 1743302 + Identifier 1743263 1743291 + Identifier 1743292 1743301 + IfStatement 1743303 1743531 + BinaryExpression 1743321 1743415 + BinaryExpression 1743321 1743381 + Identifier 1743321 1743330 + AmpersandAmpersandToken 1743330 1743333 + BinaryExpression 1743333 1743381 + PropertyAccessExpression 1743333 1743348 + Identifier 1743333 1743343 + Identifier 1743344 1743348 + EqualsEqualsEqualsToken 1743348 1743352 + PropertyAccessExpression 1743352 1743381 + Identifier 1743352 1743370 + Identifier 1743371 1743381 + AmpersandAmpersandToken 1743381 1743384 + BinaryExpression 1743384 1743415 + PropertyAccessExpression 1743384 1743409 + Identifier 1743384 1743394 + Identifier 1743395 1743409 + EqualsEqualsEqualsToken 1743409 1743413 + NumericLiteral 1743413 1743415 + Block 1743416 1743531 + ReturnStatement 1743418 1743516 + CallExpression 1743442 1743515 + Identifier 1743442 1743458 + Identifier 1743459 1743463 + PropertyAccessExpression 1743464 1743479 + Identifier 1743464 1743474 + Identifier 1743475 1743479 + Identifier 1743480 1743491 + TrueKeyword 1743492 1743514 + IfStatement 1743531 1743646 + PrefixUnaryExpression 1743549 1743598 + CallExpression 1743550 1743598 + Identifier 1743550 1743567 + Identifier 1743568 1743577 + Identifier 1743578 1743597 + Block 1743599 1743646 + ReturnStatement 1743601 1743631 + Identifier 1743625 1743630 + VariableStatement 1743646 1743717 + VariableDeclarationList 1743646 1743716 + VariableDeclaration 1743665 1743716 + Identifier 1743665 1743678 + CallExpression 1743680 1743716 + Identifier 1743680 1743688 + Identifier 1743689 1743698 + Identifier 1743699 1743715 + IfStatement 1743717 1744217 + BinaryExpression 1743923 1744155 + BinaryExpression 1743923 1744034 + CallExpression 1743923 1743956 + Identifier 1743923 1743950 + Identifier 1743951 1743955 + AmpersandAmpersandToken 1743956 1743959 + ParenthesizedExpression 1743959 1744034 + BinaryExpression 1743961 1744033 + BinaryExpression 1743961 1743994 + Identifier 1743961 1743973 + EqualsEqualsEqualsToken 1743973 1743977 + Identifier 1743977 1743994 + BarBarToken 1743994 1743997 + BinaryExpression 1743997 1744033 + Identifier 1743997 1744010 + EqualsEqualsEqualsToken 1744010 1744014 + Identifier 1744014 1744033 + BarBarToken 1744034 1744037 + BinaryExpression 1744037 1744155 + PrefixUnaryExpression 1744037 1744066 + Identifier 1744056 1744066 + AmpersandAmpersandToken 1744066 1744069 + PrefixUnaryExpression 1744069 1744155 + ParenthesizedExpression 1744071 1744155 + BinaryExpression 1744072 1744154 + BinaryExpression 1744072 1744109 + PropertyAccessExpression 1744072 1744090 + Identifier 1744072 1744084 + Identifier 1744085 1744090 + AmpersandToken 1744090 1744092 + PropertyAccessExpression 1744092 1744109 + Identifier 1744092 1744102 + Identifier 1744103 1744109 + AmpersandAmpersandToken 1744109 1744112 + PrefixUnaryExpression 1744112 1744154 + CallExpression 1744114 1744154 + Identifier 1744114 1744140 + Identifier 1744141 1744153 + Block 1744170 1744217 + ReturnStatement 1744172 1744202 + Identifier 1744196 1744201 + ReturnStatement 1744217 1744309 + CallExpression 1744237 1744308 + Identifier 1744237 1744253 + Identifier 1744254 1744258 + Identifier 1744259 1744272 + Identifier 1744273 1744284 + TrueKeyword 1744285 1744307 + FunctionDeclaration 1744320 1745125 + Identifier 1744340 1744356 + Parameter 1744357 1744378 + Identifier 1744357 1744372 + TypeReference 1744373 1744378 + Identifier 1744373 1744378 + Block 1744379 1745125 + VariableStatement 1744381 1744491 + VariableDeclarationList 1744381 1744490 + VariableDeclaration 1744400 1744490 + Identifier 1744400 1744422 + CallExpression 1744424 1744490 + Identifier 1744424 1744448 + Identifier 1744449 1744464 + AsExpression 1744465 1744489 + StringLiteral 1744465 1744477 + TypeReference 1744480 1744489 + Identifier 1744480 1744489 + IfStatement 1744491 1744632 + BinaryExpression 1744509 1744567 + Identifier 1744509 1744530 + AmpersandAmpersandToken 1744530 1744533 + PrefixUnaryExpression 1744533 1744567 + CallExpression 1744535 1744567 + Identifier 1744535 1744544 + Identifier 1744545 1744566 + Block 1744568 1744632 + ReturnStatement 1744570 1744617 + Identifier 1744594 1744616 + VariableStatement 1744632 1744736 + VariableDeclarationList 1744632 1744735 + VariableDeclaration 1744651 1744735 + Identifier 1744651 1744671 + CallExpression 1744673 1744735 + Identifier 1744673 1744693 + Identifier 1744694 1744709 + PropertyAccessExpression 1744710 1744734 + Identifier 1744710 1744724 + Identifier 1744725 1744734 + IfStatement 1744736 1744932 + PropertyAccessExpression 1744754 1744780 + Identifier 1744754 1744773 + Identifier 1744774 1744780 + Block 1744781 1744932 + ReturnStatement 1744783 1744917 + CallExpression 1744807 1744916 + Identifier 1744807 1744820 + CallExpression 1744821 1744915 + Identifier 1744821 1744824 + Identifier 1744825 1744844 + ArrowFunction 1744845 1744914 + Parameter 1744845 1744855 + Identifier 1744845 1744855 + EqualsGreaterThanToken 1744855 1744858 + CallExpression 1744858 1744914 + Identifier 1744858 1744883 + CallExpression 1744884 1744913 + Identifier 1744884 1744902 + Identifier 1744903 1744912 + ReturnStatement 1744932 1745114 + Identifier 1745097 1745113 + FunctionDeclaration 1745125 1745545 + Identifier 1745145 1745161 + Parameter 1745162 1745172 + Identifier 1745162 1745166 + TypeReference 1745167 1745172 + Identifier 1745167 1745172 + Parameter 1745173 1745189 + Identifier 1745173 1745183 + TypeReference 1745184 1745189 + Identifier 1745184 1745189 + Parameter 1745190 1745210 + Identifier 1745190 1745201 + BooleanKeyword 1745202 1745210 + Parameter 1745211 1745233 + Identifier 1745211 1745224 + BooleanKeyword 1745225 1745233 + TypeReference 1745235 1745240 + Identifier 1745235 1745240 + Block 1745240 1745545 + VariableStatement 1745242 1745406 + VariableDeclarationList 1745242 1745405 + VariableDeclaration 1745261 1745405 + Identifier 1745261 1745265 + ConditionalExpression 1745267 1745405 + BinaryExpression 1745267 1745296 + PropertyAccessExpression 1745267 1745278 + Identifier 1745267 1745272 + Identifier 1745273 1745278 + AmpersandToken 1745278 1745280 + PropertyAccessExpression 1745280 1745296 + Identifier 1745280 1745290 + Identifier 1745291 1745296 + QuestionToken 1745296 1745298 + TemplateExpression 1745298 1745393 + TemplateHead 1745298 1745303 + TemplateSpan 1745303 1745322 + CallExpression 1745303 1745318 + Identifier 1745303 1745312 + Identifier 1745313 1745317 + TemplateMiddle 1745318 1745322 + TemplateSpan 1745322 1745346 + CallExpression 1745322 1745342 + Identifier 1745322 1745331 + Identifier 1745332 1745341 + TemplateMiddle 1745342 1745346 + TemplateSpan 1745346 1745393 + BinaryExpression 1745346 1745391 + ParenthesizedExpression 1745346 1745366 + ConditionalExpression 1745347 1745365 + Identifier 1745347 1745357 + QuestionToken 1745357 1745359 + NumericLiteral 1745359 1745361 + ColonToken 1745361 1745363 + NumericLiteral 1745363 1745365 + BarToken 1745366 1745368 + ParenthesizedExpression 1745368 1745391 + ConditionalExpression 1745370 1745390 + Identifier 1745370 1745382 + QuestionToken 1745382 1745384 + NumericLiteral 1745384 1745386 + ColonToken 1745386 1745388 + NumericLiteral 1745388 1745390 + TemplateTail 1745391 1745393 + ColonToken 1745393 1745395 + Identifier 1745395 1745405 + ReturnStatement 1745406 1745534 + BinaryExpression 1745426 1745533 + CallExpression 1745426 1745445 + Identifier 1745426 1745440 + Identifier 1745441 1745444 + QuestionQuestionToken 1745445 1745448 + CallExpression 1745448 1745533 + Identifier 1745448 1745462 + Identifier 1745463 1745466 + CallExpression 1745467 1745532 + Identifier 1745467 1745489 + Identifier 1745490 1745494 + Identifier 1745495 1745505 + Identifier 1745506 1745517 + Identifier 1745518 1745531 + FunctionDeclaration 1745545 1748999 + Identifier 1745565 1745587 + Parameter 1745588 1745598 + Identifier 1745588 1745592 + TypeReference 1745593 1745598 + Identifier 1745593 1745598 + Parameter 1745599 1745615 + Identifier 1745599 1745609 + TypeReference 1745610 1745615 + Identifier 1745610 1745615 + Parameter 1745616 1745636 + Identifier 1745616 1745627 + BooleanKeyword 1745628 1745636 + Parameter 1745637 1745659 + Identifier 1745637 1745650 + BooleanKeyword 1745651 1745659 + Block 1745660 1748999 + IfStatement 1745662 1746245 + PrefixUnaryExpression 1745680 1745691 + Identifier 1745681 1745691 + Block 1745692 1746245 + IfStatement 1745694 1745795 + BinaryExpression 1745716 1745734 + Identifier 1745716 1745720 + EqualsEqualsEqualsToken 1745720 1745724 + Identifier 1745724 1745734 + Block 1745735 1745795 + ReturnStatement 1745737 1745776 + Identifier 1745765 1745775 + IfStatement 1745795 1745936 + Identifier 1745817 1745829 + Block 1745830 1745936 + ReturnStatement 1745832 1745917 + CallExpression 1745860 1745916 + Identifier 1745860 1745871 + Identifier 1745872 1745876 + ArrowFunction 1745877 1745915 + Parameter 1745877 1745879 + Identifier 1745877 1745879 + EqualsGreaterThanToken 1745879 1745882 + PrefixUnaryExpression 1745882 1745915 + CallExpression 1745884 1745915 + Identifier 1745884 1745901 + Identifier 1745902 1745903 + Identifier 1745904 1745914 + ExpressionStatement 1745936 1746018 + BinaryExpression 1745936 1746017 + Identifier 1745936 1745958 + EqualsToken 1745958 1745960 + ConditionalExpression 1745960 1746017 + BinaryExpression 1745960 1745991 + PropertyAccessExpression 1745960 1745971 + Identifier 1745960 1745965 + Identifier 1745966 1745971 + AmpersandToken 1745971 1745973 + PropertyAccessExpression 1745973 1745991 + Identifier 1745973 1745983 + Identifier 1745984 1745991 + QuestionToken 1745991 1745993 + Identifier 1745993 1746010 + ColonToken 1746010 1746012 + Identifier 1746012 1746017 + VariableStatement 1746018 1746131 + VariableDeclarationList 1746018 1746130 + VariableDeclaration 1746041 1746130 + Identifier 1746041 1746050 + CallExpression 1746052 1746130 + Identifier 1746052 1746068 + Identifier 1746069 1746073 + Identifier 1746074 1746084 + TrueKeyword 1746085 1746105 + FalseKeyword 1746106 1746129 + ReturnStatement 1746131 1746230 + CallExpression 1746155 1746229 + Identifier 1746155 1746176 + CallExpression 1746177 1746228 + Identifier 1746177 1746187 + Identifier 1746188 1746192 + ArrowFunction 1746193 1746227 + Parameter 1746193 1746195 + Identifier 1746193 1746195 + EqualsGreaterThanToken 1746195 1746198 + PrefixUnaryExpression 1746198 1746227 + CallExpression 1746200 1746227 + Identifier 1746200 1746214 + Identifier 1746215 1746216 + Identifier 1746217 1746226 + IfStatement 1746245 1746351 + BinaryExpression 1746263 1746298 + PropertyAccessExpression 1746263 1746273 + Identifier 1746263 1746267 + Identifier 1746268 1746273 + AmpersandToken 1746273 1746275 + PropertyAccessExpression 1746275 1746298 + Identifier 1746275 1746285 + Identifier 1746286 1746298 + Block 1746299 1746351 + ReturnStatement 1746301 1746336 + Identifier 1746325 1746335 + IfStatement 1746351 1746440 + BinaryExpression 1746369 1746387 + Identifier 1746369 1746373 + EqualsEqualsEqualsToken 1746373 1746377 + Identifier 1746377 1746387 + Block 1746388 1746440 + ReturnStatement 1746390 1746425 + Identifier 1746414 1746424 + VariableStatement 1746440 1746703 + VariableDeclarationList 1746440 1746702 + VariableDeclaration 1746639 1746702 + Identifier 1746639 1746649 + ConditionalExpression 1746651 1746702 + Identifier 1746651 1746664 + QuestionToken 1746664 1746666 + Identifier 1746666 1746684 + ColonToken 1746684 1746686 + Identifier 1746686 1746702 + VariableStatement 1746703 1746822 + VariableDeclarationList 1746703 1746821 + VariableDeclaration 1746722 1746821 + Identifier 1746722 1746738 + ConditionalExpression 1746740 1746821 + BinaryExpression 1746740 1746769 + PropertyAccessExpression 1746740 1746751 + Identifier 1746740 1746745 + Identifier 1746746 1746751 + AmpersandToken 1746751 1746753 + PropertyAccessExpression 1746753 1746769 + Identifier 1746753 1746763 + Identifier 1746764 1746769 + QuestionToken 1746769 1746771 + CallExpression 1746771 1746809 + Identifier 1746771 1746790 + AsExpression 1746791 1746808 + Identifier 1746791 1746795 + TypeReference 1746798 1746808 + Identifier 1746798 1746808 + ColonToken 1746809 1746811 + Identifier 1746811 1746821 + VariableStatement 1746822 1748462 + VariableDeclarationList 1746822 1748461 + VariableDeclaration 1746841 1748461 + Identifier 1746841 1746854 + CallExpression 1746856 1748461 + Identifier 1746856 1746864 + Identifier 1746865 1746874 + ArrowFunction 1746875 1748460 + Parameter 1746875 1746877 + Identifier 1746875 1746877 + EqualsGreaterThanToken 1746877 1746880 + Block 1746880 1748460 + VariableStatement 1746882 1747074 + VariableDeclarationList 1746882 1747073 + VariableDeclaration 1746995 1747073 + Identifier 1746995 1747008 + BinaryExpression 1747010 1747073 + Identifier 1747010 1747026 + AmpersandAmpersandToken 1747026 1747029 + CallExpression 1747029 1747073 + Identifier 1747029 1747053 + Identifier 1747054 1747055 + Identifier 1747056 1747072 + VariableStatement 1747074 1747187 + VariableDeclarationList 1747074 1747186 + VariableDeclaration 1747097 1747186 + Identifier 1747097 1747106 + BinaryExpression 1747108 1747186 + Identifier 1747108 1747121 + AmpersandAmpersandToken 1747121 1747124 + CallExpression 1747124 1747186 + Identifier 1747124 1747153 + AsExpression 1747154 1747171 + Identifier 1747154 1747158 + TypeReference 1747161 1747171 + Identifier 1747161 1747171 + Identifier 1747172 1747185 + VariableStatement 1747187 1747991 + VariableDeclarationList 1747187 1747990 + VariableDeclaration 1747602 1747990 + Identifier 1747602 1747618 + CallExpression 1747620 1747990 + Identifier 1747620 1747628 + BinaryExpression 1747629 1747667 + Identifier 1747629 1747659 + BarBarToken 1747659 1747662 + Identifier 1747662 1747667 + ConditionalExpression 1747668 1747970 + Identifier 1747668 1747702 + QuestionToken 1747702 1747704 + ArrowFunction 1747704 1747804 + Parameter 1747704 1747731 + Identifier 1747704 1747731 + EqualsGreaterThanToken 1747731 1747734 + ConditionalExpression 1747734 1747804 + CallExpression 1747734 1747758 + Identifier 1747734 1747752 + Identifier 1747753 1747754 + Identifier 1747755 1747757 + QuestionToken 1747758 1747760 + Identifier 1747760 1747762 + ColonToken 1747762 1747764 + ConditionalExpression 1747764 1747804 + CallExpression 1747764 1747788 + Identifier 1747764 1747782 + Identifier 1747783 1747784 + Identifier 1747785 1747787 + QuestionToken 1747788 1747790 + Identifier 1747790 1747792 + ColonToken 1747792 1747794 + Identifier 1747794 1747804 + ColonToken 1747804 1747806 + ArrowFunction 1747806 1747970 + Parameter 1747806 1747833 + Identifier 1747806 1747833 + EqualsGreaterThanToken 1747833 1747836 + ConditionalExpression 1747836 1747970 + CallExpression 1747836 1747864 + Identifier 1747836 1747858 + Identifier 1747859 1747860 + Identifier 1747861 1747863 + QuestionToken 1747864 1747866 + Identifier 1747866 1747868 + ColonToken 1747868 1747870 + ConditionalExpression 1747870 1747970 + CallExpression 1747870 1747898 + Identifier 1747870 1747892 + Identifier 1747893 1747894 + Identifier 1747895 1747897 + QuestionToken 1747898 1747900 + Identifier 1747900 1747902 + ColonToken 1747902 1747904 + ConditionalExpression 1747904 1747970 + CallExpression 1747904 1747926 + Identifier 1747904 1747920 + Identifier 1747921 1747922 + Identifier 1747923 1747925 + QuestionToken 1747926 1747928 + Identifier 1747928 1747930 + ColonToken 1747930 1747932 + ConditionalExpression 1747932 1747970 + CallExpression 1747932 1747954 + Identifier 1747932 1747948 + Identifier 1747949 1747950 + Identifier 1747951 1747953 + QuestionToken 1747954 1747956 + Identifier 1747956 1747958 + ColonToken 1747958 1747960 + Identifier 1747960 1747970 + ReturnStatement 1747991 1748445 + ConditionalExpression 1748178 1748444 + BinaryExpression 1748178 1748218 + PropertyAccessExpression 1748178 1748200 + Identifier 1748178 1748194 + Identifier 1748195 1748200 + AmpersandToken 1748200 1748202 + PropertyAccessExpression 1748202 1748218 + Identifier 1748202 1748212 + Identifier 1748213 1748218 + QuestionToken 1748218 1748220 + CallExpression 1748220 1748405 + Identifier 1748220 1748249 + Identifier 1748250 1748254 + ArrowFunction 1748255 1748404 + Parameter 1748255 1748257 + Identifier 1748255 1748257 + EqualsGreaterThanToken 1748257 1748260 + ConditionalExpression 1748260 1748404 + BinaryExpression 1748260 1748362 + CallExpression 1748260 1748303 + Identifier 1748260 1748276 + Identifier 1748277 1748278 + PropertyAccessExpression 1748279 1748302 + Identifier 1748279 1748289 + Identifier 1748290 1748302 + AmpersandAmpersandToken 1748303 1748306 + CallExpression 1748306 1748362 + Identifier 1748306 1748316 + Identifier 1748317 1748318 + BinaryExpression 1748319 1748361 + CallExpression 1748319 1748346 + Identifier 1748319 1748343 + Identifier 1748344 1748345 + BarBarToken 1748346 1748349 + Identifier 1748349 1748361 + QuestionToken 1748362 1748364 + CallExpression 1748364 1748392 + Identifier 1748364 1748384 + ArrayLiteralExpression 1748385 1748391 + Identifier 1748386 1748387 + Identifier 1748388 1748390 + ColonToken 1748392 1748394 + Identifier 1748394 1748404 + ColonToken 1748405 1748407 + Identifier 1748407 1748444 + ReturnStatement 1748462 1748988 + ConditionalExpression 1748681 1748987 + PrefixUnaryExpression 1748681 1748721 + ParenthesizedExpression 1748683 1748721 + BinaryExpression 1748684 1748720 + PropertyAccessExpression 1748684 1748702 + Identifier 1748684 1748696 + Identifier 1748697 1748702 + AmpersandToken 1748702 1748704 + PropertyAccessExpression 1748704 1748720 + Identifier 1748704 1748714 + Identifier 1748715 1748720 + QuestionToken 1748721 1748723 + Identifier 1748723 1748736 + ColonToken 1748736 1748738 + ConditionalExpression 1748738 1748987 + CallExpression 1748738 1748788 + Identifier 1748738 1748771 + Identifier 1748772 1748781 + Identifier 1748782 1748787 + QuestionToken 1748788 1748790 + Identifier 1748790 1748800 + ColonToken 1748800 1748802 + ConditionalExpression 1748802 1748987 + CallExpression 1748802 1748855 + Identifier 1748802 1748838 + Identifier 1748839 1748843 + Identifier 1748844 1748854 + QuestionToken 1748855 1748857 + Identifier 1748857 1748862 + ColonToken 1748862 1748864 + ConditionalExpression 1748864 1748987 + CallExpression 1748864 1748917 + Identifier 1748864 1748900 + Identifier 1748901 1748910 + Identifier 1748911 1748916 + QuestionToken 1748917 1748919 + Identifier 1748919 1748929 + ColonToken 1748929 1748931 + CallExpression 1748931 1748987 + Identifier 1748931 1748968 + ArrayLiteralExpression 1748969 1748986 + Identifier 1748970 1748974 + Identifier 1748975 1748985 + FunctionDeclaration 1748999 1750584 + Identifier 1749019 1749046 + Parameter 1749047 1749057 + Identifier 1749047 1749051 + TypeReference 1749052 1749057 + Identifier 1749052 1749057 + Parameter 1749058 1749089 + Identifier 1749058 1749073 + TypeReference 1749074 1749089 + Identifier 1749074 1749089 + Parameter 1749090 1749110 + Identifier 1749090 1749101 + BooleanKeyword 1749102 1749110 + TypeReference 1749112 1749117 + Identifier 1749112 1749117 + Block 1749117 1750584 + IfStatement 1749119 1749669 + CallExpression 1749137 1749183 + Identifier 1749137 1749156 + Identifier 1749157 1749171 + Identifier 1749172 1749182 + Block 1749184 1749669 + VariableStatement 1749186 1749315 + VariableDeclarationList 1749186 1749314 + VariableDeclaration 1749209 1749314 + Identifier 1749209 1749219 + ConditionalExpression 1749221 1749314 + BinaryExpression 1749221 1749264 + Identifier 1749221 1749232 + BarBarToken 1749232 1749235 + PrefixUnaryExpression 1749235 1749264 + CallExpression 1749237 1749264 + Identifier 1749237 1749248 + Identifier 1749249 1749263 + QuestionToken 1749264 1749266 + CallExpression 1749266 1749302 + Identifier 1749266 1749286 + Identifier 1749287 1749301 + ColonToken 1749302 1749304 + Identifier 1749304 1749314 + VariableStatement 1749315 1749403 + VariableDeclarationList 1749315 1749402 + VariableDeclaration 1749338 1749402 + Identifier 1749338 1749348 + BinaryExpression 1749350 1749402 + Identifier 1749350 1749360 + AmpersandAmpersandToken 1749360 1749363 + CallExpression 1749363 1749402 + Identifier 1749363 1749391 + Identifier 1749392 1749401 + IfStatement 1749403 1749654 + BinaryExpression 1749425 1749532 + Identifier 1749425 1749434 + AmpersandAmpersandToken 1749434 1749437 + ParenthesizedExpression 1749437 1749532 + BinaryExpression 1749439 1749531 + BinaryExpression 1749439 1749480 + PropertyAccessExpression 1749439 1749453 + Identifier 1749439 1749448 + Identifier 1749449 1749453 + EqualsEqualsEqualsToken 1749453 1749457 + PropertyAccessExpression 1749457 1749480 + Identifier 1749457 1749475 + Identifier 1749476 1749480 + BarBarToken 1749480 1749483 + BinaryExpression 1749483 1749531 + PropertyAccessExpression 1749483 1749498 + Identifier 1749483 1749493 + Identifier 1749494 1749498 + EqualsEqualsEqualsToken 1749498 1749502 + PropertyAccessExpression 1749502 1749531 + Identifier 1749502 1749520 + Identifier 1749521 1749531 + Block 1749533 1749654 + ReturnStatement 1749535 1749635 + CallExpression 1749563 1749634 + Identifier 1749563 1749589 + Identifier 1749590 1749594 + Identifier 1749595 1749605 + Identifier 1749606 1749621 + Identifier 1749622 1749633 + IfStatement 1749669 1750547 + BinaryExpression 1749687 1749802 + BinaryExpression 1749687 1749745 + CallExpression 1749687 1749712 + Identifier 1749687 1749706 + Identifier 1749707 1749711 + AmpersandAmpersandToken 1749712 1749715 + CallExpression 1749715 1749745 + Identifier 1749715 1749734 + Identifier 1749735 1749744 + AmpersandAmpersandToken 1749745 1749748 + CallExpression 1749748 1749802 + Identifier 1749748 1749775 + PropertyAccessExpression 1749776 1749801 + Identifier 1749776 1749790 + Identifier 1749791 1749801 + Block 1749803 1750547 + VariableStatement 1749805 1749868 + VariableDeclarationList 1749805 1749867 + VariableDeclaration 1749828 1749867 + Identifier 1749828 1749839 + PropertyAccessExpression 1749841 1749867 + Identifier 1749841 1749856 + Identifier 1749857 1749867 + IfStatement 1749868 1750532 + BinaryExpression 1749890 1750146 + BinaryExpression 1749890 1750105 + BinaryExpression 1749890 1750053 + CallExpression 1749890 1749999 + Identifier 1749890 1749931 + PropertyAccessExpression 1749932 1749952 + Identifier 1749932 1749941 + Identifier 1749942 1749952 + CallExpression 1749953 1749998 + Identifier 1749953 1749975 + PropertyAccessExpression 1749976 1749997 + Identifier 1749976 1749986 + Identifier 1749987 1749997 + AmpersandAmpersandToken 1749999 1750002 + CallExpression 1750002 1750053 + Identifier 1750002 1750036 + PropertyAccessExpression 1750037 1750052 + Identifier 1750037 1750047 + Identifier 1750048 1750052 + AmpersandAmpersandToken 1750053 1750056 + BinaryExpression 1750056 1750105 + PropertyAccessExpression 1750056 1750084 + PropertyAccessExpression 1750056 1750072 + Identifier 1750056 1750067 + Identifier 1750068 1750072 + Identifier 1750073 1750084 + EqualsEqualsEqualsToken 1750084 1750088 + StringLiteral 1750088 1750105 + AmpersandAmpersandToken 1750105 1750108 + BinaryExpression 1750108 1750146 + PropertyAccessExpression 1750108 1750140 + PropertyAccessExpression 1750108 1750133 + Identifier 1750108 1750123 + Identifier 1750124 1750133 + Identifier 1750134 1750140 + EqualsEqualsEqualsToken 1750140 1750144 + NumericLiteral 1750144 1750146 + Block 1750165 1750532 + VariableStatement 1750167 1750234 + VariableDeclarationList 1750167 1750233 + VariableDeclaration 1750194 1750233 + Identifier 1750194 1750203 + ElementAccessExpression 1750205 1750233 + PropertyAccessExpression 1750205 1750230 + Identifier 1750205 1750220 + Identifier 1750221 1750230 + NumericLiteral 1750231 1750232 + IfStatement 1750234 1750513 + BinaryExpression 1750260 1750371 + CallExpression 1750260 1750289 + Identifier 1750260 1750279 + Identifier 1750280 1750288 + AmpersandAmpersandToken 1750289 1750292 + BinaryExpression 1750292 1750371 + CallExpression 1750292 1750327 + Identifier 1750292 1750316 + Identifier 1750317 1750326 + EqualsEqualsEqualsToken 1750327 1750331 + CallExpression 1750331 1750371 + Identifier 1750331 1750356 + PropertyAccessExpression 1750357 1750370 + Identifier 1750357 1750365 + Identifier 1750366 1750370 + Block 1750372 1750513 + ReturnStatement 1750374 1750490 + CallExpression 1750406 1750489 + Identifier 1750406 1750423 + Identifier 1750424 1750428 + ConditionalExpression 1750429 1750488 + Identifier 1750429 1750440 + QuestionToken 1750440 1750442 + PropertyAccessExpression 1750442 1750464 + Identifier 1750442 1750452 + Identifier 1750453 1750464 + ColonToken 1750464 1750466 + PropertyAccessExpression 1750466 1750488 + Identifier 1750466 1750476 + Identifier 1750477 1750488 + ReturnStatement 1750547 1750573 + Identifier 1750567 1750572 + FunctionDeclaration 1750584 1752198 + Identifier 1750604 1750630 + Parameter 1750631 1750641 + Identifier 1750631 1750635 + TypeReference 1750636 1750641 + Identifier 1750636 1750641 + Parameter 1750642 1750667 + Identifier 1750642 1750652 + TypeReference 1750653 1750667 + Identifier 1750653 1750667 + Parameter 1750668 1750699 + Identifier 1750668 1750683 + TypeReference 1750684 1750699 + Identifier 1750684 1750699 + Parameter 1750700 1750720 + Identifier 1750700 1750711 + BooleanKeyword 1750712 1750720 + TypeReference 1750722 1750727 + Identifier 1750722 1750727 + Block 1750727 1752198 + IfStatement 1750729 1752161 + BinaryExpression 1750843 1750961 + PropertyAccessExpression 1750843 1750857 + Identifier 1750843 1750852 + Identifier 1750853 1750857 + AmpersandAmpersandToken 1750857 1750860 + PrefixUnaryExpression 1750860 1750961 + ParenthesizedExpression 1750862 1750961 + BinaryExpression 1750863 1750960 + CallExpression 1750863 1750878 + Identifier 1750863 1750872 + Identifier 1750873 1750877 + AmpersandAmpersandToken 1750878 1750881 + ParenthesizedExpression 1750881 1750960 + BinaryExpression 1750883 1750959 + BinaryExpression 1750883 1750918 + PropertyAccessExpression 1750883 1750897 + Identifier 1750883 1750892 + Identifier 1750893 1750897 + EqualsEqualsEqualsToken 1750897 1750901 + Identifier 1750901 1750918 + BarBarToken 1750918 1750921 + BinaryExpression 1750921 1750959 + PropertyAccessExpression 1750921 1750936 + Identifier 1750921 1750931 + Identifier 1750932 1750936 + EqualsEqualsEqualsToken 1750936 1750940 + Identifier 1750940 1750959 + Block 1750962 1752161 + VariableStatement 1750964 1751060 + VariableDeclarationList 1750964 1751059 + VariableDeclaration 1750987 1751059 + Identifier 1750987 1751005 + CallExpression 1751007 1751059 + Identifier 1751007 1751032 + Identifier 1751033 1751042 + Identifier 1751043 1751058 + IfStatement 1751060 1752146 + Identifier 1751082 1751099 + Block 1751100 1752146 + IfStatement 1751102 1751310 + CallExpression 1751128 1751177 + Identifier 1751128 1751147 + Identifier 1751148 1751157 + Identifier 1751158 1751176 + Block 1751178 1751310 + ReturnStatement 1751180 1751287 + CallExpression 1751212 1751286 + Identifier 1751212 1751228 + Identifier 1751229 1751233 + PropertyAccessExpression 1751234 1751249 + Identifier 1751234 1751244 + Identifier 1751245 1751249 + Identifier 1751250 1751261 + FalseKeyword 1751262 1751285 + IfStatement 1751310 1751827 + BinaryExpression 1751336 1751686 + BinaryExpression 1751336 1751442 + Identifier 1751336 1751378 + AmpersandAmpersandToken 1751378 1751381 + CallExpression 1751381 1751442 + Identifier 1751381 1751412 + Identifier 1751413 1751430 + Identifier 1751431 1751441 + AmpersandAmpersandToken 1751442 1751445 + ParenthesizedExpression 1751445 1751686 + BinaryExpression 1751472 1751659 + BinaryExpression 1751472 1751570 + Identifier 1751472 1751512 + AmpersandAmpersandToken 1751512 1751515 + PrefixUnaryExpression 1751515 1751570 + ParenthesizedExpression 1751517 1751570 + CallExpression 1751518 1751569 + Identifier 1751518 1751530 + PropertyAccessExpression 1751531 1751545 + Identifier 1751531 1751540 + Identifier 1751541 1751545 + PropertyAccessExpression 1751546 1751568 + Identifier 1751546 1751556 + Identifier 1751557 1751568 + BarBarToken 1751570 1751573 + BinaryExpression 1751573 1751659 + PrefixUnaryExpression 1751573 1751614 + Identifier 1751604 1751614 + AmpersandAmpersandToken 1751614 1751617 + CallExpression 1751617 1751659 + Identifier 1751617 1751627 + PropertyAccessExpression 1751628 1751642 + Identifier 1751628 1751637 + Identifier 1751638 1751642 + Identifier 1751643 1751658 + Block 1751709 1751827 + ExpressionStatement 1751711 1751804 + BinaryExpression 1751711 1751803 + Identifier 1751711 1751741 + EqualsToken 1751741 1751743 + CallExpression 1751743 1751803 + Identifier 1751743 1751768 + Identifier 1751769 1751773 + PropertyAccessExpression 1751774 1751802 + Identifier 1751774 1751784 + Identifier 1751785 1751802 + VariableStatement 1751827 1751919 + VariableDeclarationList 1751827 1751918 + VariableDeclaration 1751854 1751918 + Identifier 1751854 1751861 + CallExpression 1751863 1751918 + Identifier 1751863 1751893 + Identifier 1751894 1751911 + Identifier 1751912 1751917 + IfStatement 1751919 1752127 + Identifier 1751945 1751951 + Block 1751952 1752127 + ReturnStatement 1751954 1752104 + CallExpression 1751986 1752103 + Identifier 1751986 1752011 + Identifier 1752012 1752016 + Identifier 1752017 1752024 + ArrowFunction 1752025 1752102 + Parameter 1752025 1752027 + Identifier 1752025 1752027 + EqualsGreaterThanToken 1752027 1752030 + CallExpression 1752030 1752102 + Identifier 1752030 1752046 + Identifier 1752047 1752048 + NonNullExpression 1752049 1752065 + PropertyAccessExpression 1752049 1752064 + Identifier 1752049 1752059 + Identifier 1752060 1752064 + Identifier 1752066 1752077 + FalseKeyword 1752078 1752101 + ReturnStatement 1752161 1752187 + Identifier 1752181 1752186 + FunctionDeclaration 1752198 1755402 + Identifier 1752398 1752409 + Parameter 1752410 1752420 + Identifier 1752410 1752414 + TypeReference 1752415 1752420 + Identifier 1752415 1752420 + Parameter 1752421 1752438 + Identifier 1752421 1752426 + TypeReference 1752427 1752438 + Identifier 1752427 1752438 + Parameter 1752439 1752459 + Identifier 1752439 1752450 + BooleanKeyword 1752451 1752459 + TypeReference 1752461 1752466 + Identifier 1752461 1752466 + Block 1752466 1755402 + IfStatement 1752468 1752978 + BinaryExpression 1752587 1752873 + CallExpression 1752587 1752642 + Identifier 1752587 1752636 + Identifier 1752637 1752641 + BarBarToken 1752642 1752645 + BinaryExpression 1752645 1752873 + BinaryExpression 1752645 1752844 + CallExpression 1752645 1752694 + Identifier 1752645 1752681 + PropertyAccessExpression 1752682 1752693 + Identifier 1752682 1752686 + Identifier 1752687 1752693 + AmpersandAmpersandToken 1752694 1752697 + ParenthesizedExpression 1752697 1752844 + BinaryExpression 1752699 1752843 + BinaryExpression 1752699 1752766 + PropertyAccessExpression 1752699 1752729 + PropertyAccessExpression 1752699 1752724 + PropertyAccessExpression 1752699 1752710 + Identifier 1752699 1752703 + Identifier 1752704 1752710 + Identifier 1752711 1752724 + Identifier 1752725 1752729 + EqualsEqualsEqualsToken 1752729 1752733 + PropertyAccessExpression 1752733 1752766 + Identifier 1752733 1752744 + Identifier 1752745 1752766 + BarBarToken 1752766 1752769 + BinaryExpression 1752769 1752843 + PropertyAccessExpression 1752769 1752800 + PropertyAccessExpression 1752769 1752795 + PropertyAccessExpression 1752769 1752781 + Identifier 1752769 1752774 + Identifier 1752775 1752781 + Identifier 1752782 1752795 + Identifier 1752796 1752800 + EqualsEqualsEqualsToken 1752800 1752804 + PropertyAccessExpression 1752804 1752843 + Identifier 1752804 1752815 + Identifier 1752816 1752843 + AmpersandAmpersandToken 1752844 1752847 + BinaryExpression 1752847 1752873 + PropertyAccessExpression 1752847 1752864 + PropertyAccessExpression 1752847 1752859 + Identifier 1752847 1752852 + Identifier 1752853 1752859 + Identifier 1752860 1752864 + EqualsEqualsEqualsToken 1752864 1752868 + Identifier 1752868 1752873 + Block 1752888 1752978 + ReturnStatement 1752890 1752963 + CallExpression 1752914 1752962 + Identifier 1752914 1752938 + Identifier 1752939 1752943 + Identifier 1752944 1752949 + Identifier 1752950 1752961 + SwitchStatement 1752978 1755365 + PropertyAccessExpression 1753000 1753009 + Identifier 1753000 1753004 + Identifier 1753005 1753009 + CaseBlock 1753010 1755365 + CaseClause 1753012 1754104 + PropertyAccessExpression 1753034 1753056 + Identifier 1753034 1753045 + Identifier 1753046 1753056 + IfStatement 1753057 1754104 + BinaryExpression 1753337 1753393 + PrefixUnaryExpression 1753337 1753374 + CallExpression 1753338 1753374 + Identifier 1753338 1753357 + Identifier 1753358 1753367 + Identifier 1753368 1753373 + AmpersandAmpersandToken 1753374 1753377 + BinaryExpression 1753377 1753393 + Identifier 1753377 1753389 + LessThanToken 1753389 1753391 + NumericLiteral 1753391 1753393 + Block 1753394 1754104 + VariableStatement 1753396 1753475 + VariableDeclarationList 1753396 1753474 + VariableDeclaration 1753427 1753474 + Identifier 1753427 1753434 + CallExpression 1753436 1753474 + Identifier 1753436 1753454 + AsExpression 1753455 1753473 + Identifier 1753455 1753459 + TypeReference 1753462 1753473 + Identifier 1753462 1753473 + IfStatement 1753475 1754081 + CallExpression 1753505 1753531 + Identifier 1753505 1753523 + Identifier 1753524 1753530 + Block 1753532 1754081 + VariableStatement 1753534 1753608 + VariableDeclarationList 1753534 1753607 + VariableDeclaration 1753569 1753607 + Identifier 1753569 1753581 + PropertyAccessExpression 1753583 1753607 + Identifier 1753583 1753590 + Identifier 1753591 1753607 + IfStatement 1753608 1754054 + BinaryExpression 1753642 1753773 + BinaryExpression 1753642 1753739 + BinaryExpression 1753642 1753712 + BinaryExpression 1753642 1753691 + Identifier 1753642 1753653 + AmpersandAmpersandToken 1753653 1753656 + CallExpression 1753656 1753691 + Identifier 1753656 1753678 + Identifier 1753679 1753690 + AmpersandAmpersandToken 1753691 1753694 + PrefixUnaryExpression 1753694 1753712 + PropertyAccessExpression 1753696 1753712 + Identifier 1753696 1753707 + Identifier 1753708 1753712 + AmpersandAmpersandToken 1753712 1753715 + PropertyAccessExpression 1753715 1753739 + Identifier 1753715 1753727 + Identifier 1753728 1753739 + AmpersandAmpersandToken 1753739 1753742 + CallExpression 1753742 1753773 + Identifier 1753742 1753762 + Identifier 1753763 1753772 + Block 1753774 1754054 + ExpressionStatement 1753776 1753824 + PostfixUnaryExpression 1753776 1753823 + Identifier 1753776 1753821 + VariableStatement 1753824 1753927 + VariableDeclarationList 1753824 1753926 + VariableDeclaration 1753863 1753926 + Identifier 1753863 1753870 + CallExpression 1753872 1753926 + Identifier 1753872 1753883 + Identifier 1753884 1753888 + PropertyAccessExpression 1753889 1753913 + Identifier 1753889 1753901 + Identifier 1753902 1753913 + Identifier 1753914 1753925 + ExpressionStatement 1753927 1753975 + PostfixUnaryExpression 1753927 1753974 + Identifier 1753927 1753972 + ReturnStatement 1753975 1754023 + Identifier 1754015 1754022 + CaseClause 1754104 1754188 + PropertyAccessExpression 1754164 1754187 + Identifier 1754164 1754175 + Identifier 1754176 1754187 + CaseClause 1754188 1754235 + PropertyAccessExpression 1754210 1754234 + Identifier 1754210 1754221 + Identifier 1754222 1754234 + CaseClause 1754235 1754294 + PropertyAccessExpression 1754257 1754293 + Identifier 1754257 1754268 + Identifier 1754269 1754293 + CaseClause 1754294 1754428 + PropertyAccessExpression 1754316 1754351 + Identifier 1754316 1754327 + Identifier 1754328 1754351 + ReturnStatement 1754352 1754428 + CallExpression 1754380 1754427 + Identifier 1754380 1754403 + Identifier 1754404 1754408 + Identifier 1754409 1754414 + Identifier 1754415 1754426 + CaseClause 1754428 1754575 + PropertyAccessExpression 1754450 1754476 + Identifier 1754450 1754461 + Identifier 1754462 1754476 + ReturnStatement 1754477 1754575 + CallExpression 1754505 1754574 + Identifier 1754505 1754532 + Identifier 1754533 1754537 + AsExpression 1754538 1754561 + Identifier 1754538 1754543 + TypeReference 1754546 1754561 + Identifier 1754546 1754561 + Identifier 1754562 1754573 + CaseClause 1754575 1754633 + PropertyAccessExpression 1754597 1754632 + Identifier 1754597 1754608 + Identifier 1754609 1754632 + CaseClause 1754633 1754685 + PropertyAccessExpression 1754655 1754684 + Identifier 1754655 1754666 + Identifier 1754667 1754684 + CaseClause 1754685 1754885 + PropertyAccessExpression 1754707 1754738 + Identifier 1754707 1754718 + Identifier 1754719 1754738 + ReturnStatement 1754739 1754885 + CallExpression 1754767 1754884 + Identifier 1754767 1754778 + Identifier 1754779 1754783 + PropertyAccessExpression 1754784 1754871 + ParenthesizedExpression 1754784 1754860 + AsExpression 1754786 1754859 + Identifier 1754786 1754790 + UnionType 1754793 1754859 + TypeReference 1754793 1754817 + Identifier 1754793 1754817 + TypeReference 1754819 1754837 + Identifier 1754819 1754837 + TypeReference 1754839 1754859 + Identifier 1754839 1754859 + Identifier 1754861 1754871 + Identifier 1754872 1754883 + CaseClause 1754885 1755038 + PropertyAccessExpression 1754907 1754935 + Identifier 1754907 1754918 + Identifier 1754919 1754935 + ReturnStatement 1754936 1755038 + CallExpression 1754964 1755037 + Identifier 1754964 1754993 + Identifier 1754994 1754998 + AsExpression 1754999 1755024 + Identifier 1754999 1755004 + TypeReference 1755007 1755024 + Identifier 1755007 1755024 + Identifier 1755025 1755036 + CaseClause 1755038 1755350 + PropertyAccessExpression 1755060 1755093 + Identifier 1755060 1755071 + Identifier 1755072 1755093 + IfStatement 1755094 1755322 + BinaryExpression 1755120 1755192 + PropertyAccessExpression 1755120 1755160 + ParenthesizedExpression 1755120 1755151 + AsExpression 1755121 1755150 + Identifier 1755121 1755125 + TypeReference 1755128 1755150 + Identifier 1755128 1755150 + Identifier 1755152 1755160 + EqualsEqualsEqualsToken 1755160 1755164 + PropertyAccessExpression 1755164 1755192 + Identifier 1755164 1755175 + Identifier 1755176 1755192 + Block 1755193 1755322 + ReturnStatement 1755195 1755299 + CallExpression 1755227 1755298 + Identifier 1755227 1755238 + Identifier 1755239 1755243 + PropertyAccessExpression 1755244 1755284 + ParenthesizedExpression 1755244 1755276 + AsExpression 1755246 1755275 + Identifier 1755246 1755250 + TypeReference 1755253 1755275 + Identifier 1755253 1755275 + Identifier 1755277 1755284 + PrefixUnaryExpression 1755285 1755297 + Identifier 1755287 1755297 + BreakStatement 1755322 1755350 + ReturnStatement 1755365 1755391 + Identifier 1755385 1755390 + FunctionDeclaration 1755402 1756026 + Identifier 1755422 1755446 + Parameter 1755447 1755457 + Identifier 1755447 1755451 + TypeReference 1755452 1755457 + Identifier 1755452 1755457 + Parameter 1755458 1755475 + Identifier 1755458 1755463 + TypeReference 1755464 1755475 + Identifier 1755464 1755475 + Parameter 1755476 1755499 + Identifier 1755476 1755490 + BooleanKeyword 1755491 1755499 + TypeReference 1755501 1755506 + Identifier 1755501 1755506 + Block 1755506 1756026 + IfStatement 1755508 1755711 + CallExpression 1755526 1755562 + Identifier 1755526 1755545 + Identifier 1755546 1755555 + Identifier 1755556 1755561 + Block 1755563 1755711 + ReturnStatement 1755565 1755696 + CallExpression 1755589 1755695 + Identifier 1755589 1755614 + Identifier 1755615 1755619 + ConditionalExpression 1755620 1755694 + Identifier 1755620 1755634 + QuestionToken 1755634 1755636 + PropertyAccessExpression 1755636 1755664 + Identifier 1755636 1755646 + Identifier 1755647 1755664 + ColonToken 1755664 1755666 + PropertyAccessExpression 1755666 1755694 + Identifier 1755666 1755676 + Identifier 1755677 1755694 + VariableStatement 1755711 1755782 + VariableDeclarationList 1755711 1755781 + VariableDeclaration 1755730 1755781 + Identifier 1755730 1755737 + CallExpression 1755739 1755781 + Identifier 1755739 1755769 + Identifier 1755770 1755774 + Identifier 1755775 1755780 + IfStatement 1755782 1755989 + Identifier 1755800 1755806 + Block 1755807 1755989 + ReturnStatement 1755809 1755974 + CallExpression 1755833 1755973 + Identifier 1755833 1755858 + Identifier 1755859 1755863 + Identifier 1755864 1755871 + ArrowFunction 1755872 1755972 + Parameter 1755872 1755874 + Identifier 1755872 1755874 + EqualsGreaterThanToken 1755874 1755877 + CallExpression 1755877 1755972 + Identifier 1755877 1755894 + Identifier 1755895 1755896 + ConditionalExpression 1755897 1755971 + Identifier 1755897 1755911 + QuestionToken 1755911 1755913 + PropertyAccessExpression 1755913 1755941 + Identifier 1755913 1755923 + Identifier 1755924 1755941 + ColonToken 1755941 1755943 + PropertyAccessExpression 1755943 1755971 + Identifier 1755943 1755953 + Identifier 1755954 1755971 + ReturnStatement 1755989 1756015 + Identifier 1756009 1756014 + FunctionDeclaration 1756033 1758290 + Identifier 1756049 1756075 + Parameter 1756076 1756090 + Identifier 1756076 1756082 + TypeReference 1756083 1756090 + Identifier 1756083 1756090 + Parameter 1756091 1756106 + Identifier 1756091 1756100 + TypeReference 1756101 1756106 + Identifier 1756101 1756106 + Block 1756107 1758290 + ExpressionStatement 1756109 1756175 + BinaryExpression 1756109 1756174 + Identifier 1756109 1756125 + EqualsToken 1756125 1756127 + CallExpression 1756127 1756174 + Identifier 1756127 1756166 + Identifier 1756167 1756173 + IfStatement 1756175 1757478 + BinaryExpression 1756562 1756651 + BinaryExpression 1756562 1756601 + PropertyAccessExpression 1756562 1756575 + Identifier 1756562 1756570 + Identifier 1756571 1756575 + EqualsEqualsEqualsToken 1756575 1756579 + PropertyAccessExpression 1756579 1756601 + Identifier 1756579 1756590 + Identifier 1756591 1756601 + BarBarToken 1756601 1756604 + BinaryExpression 1756604 1756651 + PropertyAccessExpression 1756604 1756618 + Identifier 1756604 1756613 + Identifier 1756614 1756618 + EqualsEqualsEqualsToken 1756618 1756622 + PropertyAccessExpression 1756622 1756651 + Identifier 1756622 1756633 + Identifier 1756634 1756651 + Block 1756652 1757478 + IfStatement 1756654 1756787 + CallExpression 1756672 1756724 + Identifier 1756672 1756714 + Identifier 1756715 1756723 + Block 1756725 1756787 + ExpressionStatement 1756727 1756772 + BinaryExpression 1756727 1756771 + Identifier 1756727 1756753 + EqualsToken 1756753 1756755 + PropertyAccessExpression 1756755 1756771 + Identifier 1756755 1756764 + Identifier 1756765 1756771 + IfStatement 1756787 1757467 + BinaryExpression 1756805 1756893 + CallExpression 1756805 1756831 + Identifier 1756805 1756821 + Identifier 1756822 1756830 + AmpersandAmpersandToken 1756831 1756834 + ParenthesizedExpression 1756834 1756893 + BinaryExpression 1756836 1756892 + PrefixUnaryExpression 1756836 1756865 + CallExpression 1756837 1756865 + Identifier 1756837 1756855 + Identifier 1756856 1756864 + BarBarToken 1756865 1756868 + CallExpression 1756868 1756892 + Identifier 1756868 1756882 + Identifier 1756883 1756891 + Block 1756894 1757467 + VariableStatement 1756896 1757286 + VariableDeclarationList 1756896 1757285 + VariableDeclaration 1756919 1757285 + Identifier 1756919 1756924 + CallExpression 1756926 1757285 + Identifier 1756926 1756951 + ConditionalExpression 1756952 1757265 + BinaryExpression 1756952 1757054 + CallExpression 1756952 1756997 + Identifier 1756952 1756987 + Identifier 1756988 1756996 + AmpersandAmpersandToken 1756997 1757000 + BinaryExpression 1757000 1757054 + PropertyAccessExpression 1757000 1757014 + Identifier 1757000 1757009 + Identifier 1757010 1757014 + EqualsEqualsEqualsToken 1757014 1757018 + PropertyAccessExpression 1757018 1757054 + Identifier 1757018 1757029 + Identifier 1757030 1757054 + QuestionToken 1757054 1757056 + CallExpression 1757056 1757194 + Identifier 1757056 1757111 + AsExpression 1757112 1757148 + Identifier 1757112 1757120 + TypeReference 1757123 1757148 + Identifier 1757123 1757148 + Identifier 1757149 1757173 + TrueKeyword 1757174 1757193 + ColonToken 1757194 1757196 + CallExpression 1757196 1757265 + Identifier 1757196 1757241 + AsExpression 1757242 1757264 + Identifier 1757242 1757250 + TypeReference 1757253 1757264 + Identifier 1757253 1757264 + IfStatement 1757286 1757452 + BinaryExpression 1757308 1757396 + CallExpression 1757308 1757385 + Identifier 1757308 1757346 + PropertyAccessExpression 1757347 1757384 + CallExpression 1757347 1757369 + Identifier 1757347 1757359 + Identifier 1757360 1757368 + Identifier 1757370 1757384 + EqualsEqualsEqualsToken 1757385 1757389 + Identifier 1757389 1757396 + Block 1757397 1757452 + ReturnStatement 1757399 1757433 + Identifier 1757427 1757432 + IfStatement 1757478 1757685 + BinaryExpression 1757492 1757602 + BinaryExpression 1757492 1757553 + CallExpression 1757492 1757519 + Identifier 1757492 1757509 + Identifier 1757510 1757518 + AmpersandAmpersandToken 1757519 1757522 + CallExpression 1757522 1757553 + Identifier 1757522 1757536 + PropertyAccessExpression 1757537 1757552 + Identifier 1757537 1757545 + Identifier 1757546 1757552 + AmpersandAmpersandToken 1757553 1757556 + CallExpression 1757556 1757602 + Identifier 1757556 1757585 + PropertyAccessExpression 1757586 1757601 + Identifier 1757586 1757594 + Identifier 1757595 1757601 + Block 1757603 1757685 + ReturnStatement 1757605 1757674 + CallExpression 1757625 1757673 + Identifier 1757625 1757649 + PropertyAccessExpression 1757650 1757672 + PropertyAccessExpression 1757650 1757665 + Identifier 1757650 1757658 + Identifier 1757659 1757665 + Identifier 1757666 1757672 + ReturnStatement 1757685 1758283 + ConditionalExpression 1758141 1758282 + BinaryExpression 1758141 1758215 + CallExpression 1758141 1758181 + Identifier 1758141 1758171 + Identifier 1758172 1758180 + AmpersandAmpersandToken 1758181 1758184 + CallExpression 1758184 1758215 + Identifier 1758184 1758198 + PropertyAccessExpression 1758199 1758214 + Identifier 1758199 1758207 + Identifier 1758208 1758214 + QuestionToken 1758215 1758217 + CallExpression 1758217 1758246 + Identifier 1758217 1758238 + Identifier 1758239 1758245 + ColonToken 1758246 1758248 + CallExpression 1758248 1758282 + Identifier 1758248 1758274 + Identifier 1758275 1758281 + FunctionDeclaration 1758290 1758660 + Identifier 1758306 1758330 + Parameter 1758331 1758341 + Identifier 1758331 1758335 + TypeReference 1758336 1758341 + Identifier 1758336 1758341 + TypeReference 1758343 1758348 + Identifier 1758343 1758348 + Block 1758348 1758660 + ReturnStatement 1758350 1758653 + NonNullExpression 1758366 1758652 + CallExpression 1758366 1758651 + Identifier 1758366 1758379 + PropertyAccessExpression 1758380 1758391 + Identifier 1758380 1758384 + Identifier 1758385 1758391 + ArrowFunction 1758392 1758650 + Parameter 1758392 1758397 + Identifier 1758392 1758397 + EqualsGreaterThanToken 1758397 1758400 + BinaryExpression 1758400 1758650 + BinaryExpression 1758400 1758589 + BinaryExpression 1758400 1758537 + BinaryExpression 1758400 1758484 + CallExpression 1758400 1758434 + Identifier 1758400 1758428 + Identifier 1758429 1758433 + AmpersandAmpersandToken 1758434 1758437 + PrefixUnaryExpression 1758437 1758484 + CallExpression 1758439 1758484 + Identifier 1758439 1758478 + Identifier 1758479 1758483 + BarBarToken 1758484 1758487 + BinaryExpression 1758487 1758537 + PropertyAccessExpression 1758487 1758510 + Identifier 1758487 1758505 + Identifier 1758506 1758510 + EqualsEqualsEqualsToken 1758510 1758514 + PropertyAccessExpression 1758514 1758537 + Identifier 1758514 1758525 + Identifier 1758526 1758537 + BarBarToken 1758537 1758540 + BinaryExpression 1758540 1758589 + PropertyAccessExpression 1758540 1758563 + Identifier 1758540 1758558 + Identifier 1758559 1758563 + EqualsEqualsEqualsToken 1758563 1758567 + PropertyAccessExpression 1758567 1758589 + Identifier 1758567 1758578 + Identifier 1758579 1758589 + BarBarToken 1758589 1758592 + BinaryExpression 1758592 1758650 + PropertyAccessExpression 1758592 1758615 + Identifier 1758592 1758610 + Identifier 1758611 1758615 + EqualsEqualsEqualsToken 1758615 1758619 + PropertyAccessExpression 1758619 1758650 + Identifier 1758619 1758630 + Identifier 1758631 1758650 + FunctionDeclaration 1758660 1759064 + Identifier 1758780 1758807 + Parameter 1758808 1758822 + Identifier 1758808 1758814 + TypeReference 1758815 1758822 + Identifier 1758815 1758822 + Block 1758823 1759064 + IfStatement 1758825 1758941 + BinaryExpression 1758839 1758877 + PropertyAccessExpression 1758839 1758863 + Identifier 1758839 1758845 + Identifier 1758846 1758863 + ExclamationEqualsEqualsToken 1758863 1758867 + Identifier 1758867 1758877 + Block 1758878 1758941 + ReturnStatement 1758880 1758930 + BinaryExpression 1758900 1758929 + PropertyAccessExpression 1758900 1758925 + Identifier 1758900 1758907 + Identifier 1758908 1758925 + LessThanToken 1758925 1758927 + NumericLiteral 1758927 1758929 + ReturnStatement 1758941 1759057 + BinaryExpression 1758957 1759056 + BinaryExpression 1758957 1759024 + CallExpression 1758957 1758982 + Identifier 1758957 1758974 + Identifier 1758975 1758981 + AmpersandAmpersandToken 1758982 1758985 + BinaryExpression 1758985 1759024 + PropertyAccessExpression 1758985 1759010 + Identifier 1758985 1758992 + Identifier 1758993 1759010 + ExclamationEqualsEqualsToken 1759010 1759014 + Identifier 1759014 1759024 + AmpersandAmpersandToken 1759024 1759027 + BinaryExpression 1759027 1759056 + PropertyAccessExpression 1759027 1759052 + Identifier 1759027 1759034 + Identifier 1759035 1759052 + LessThanToken 1759052 1759054 + NumericLiteral 1759054 1759056 + FunctionDeclaration 1759064 1759286 + Identifier 1759173 1759190 + Parameter 1759191 1759205 + Identifier 1759191 1759197 + TypeReference 1759198 1759205 + Identifier 1759198 1759205 + Block 1759206 1759286 + ReturnStatement 1759208 1759279 + PrefixUnaryExpression 1759224 1759278 + CallExpression 1759226 1759278 + Identifier 1759226 1759246 + Identifier 1759247 1759253 + Identifier 1759254 1759277 + FunctionDeclaration 1759286 1760082 + Identifier 1759446 1759467 + Parameter 1759468 1759482 + Identifier 1759468 1759474 + TypeReference 1759475 1759482 + Identifier 1759475 1759482 + Parameter 1759483 1759510 + Identifier 1759483 1759492 + UnionType 1759493 1759510 + TypeReference 1759493 1759498 + Identifier 1759493 1759498 + UndefinedKeyword 1759500 1759510 + Block 1759511 1760082 + VariableStatement 1759513 1759600 + VariableDeclarationList 1759513 1759599 + VariableDeclaration 1759528 1759599 + Identifier 1759528 1759535 + CallExpression 1759537 1759599 + Identifier 1759537 1759550 + PropertyAccessExpression 1759551 1759574 + Identifier 1759551 1759557 + Identifier 1759558 1759574 + Identifier 1759575 1759598 + IfStatement 1759600 1759662 + PrefixUnaryExpression 1759614 1759621 + Identifier 1759615 1759621 + Block 1759622 1759662 + ReturnStatement 1759624 1759651 + FalseKeyword 1759644 1759650 + VariableStatement 1759662 1759707 + VariableDeclarationList 1759662 1759706 + VariableDeclaration 1759677 1759706 + Identifier 1759677 1759683 + CallExpression 1759685 1759706 + Identifier 1759685 1759698 + Identifier 1759699 1759705 + IfStatement 1759707 1759967 + PrefixUnaryExpression 1759721 1759770 + ParenthesizedExpression 1759722 1759770 + BinaryExpression 1759723 1759769 + PropertyAccessExpression 1759723 1759734 + Identifier 1759723 1759728 + Identifier 1759729 1759734 + AmpersandToken 1759734 1759736 + PropertyAccessExpression 1759736 1759769 + Identifier 1759736 1759751 + Identifier 1759752 1759769 + Block 1759771 1759967 + ExpressionStatement 1759773 1759835 + BinaryExpression 1759773 1759834 + PropertyAccessExpression 1759773 1759798 + Identifier 1759773 1759792 + Identifier 1759793 1759798 + BarEqualsToken 1759798 1759801 + PropertyAccessExpression 1759801 1759834 + Identifier 1759801 1759816 + Identifier 1759817 1759834 + IfStatement 1759835 1759956 + PrefixUnaryExpression 1759853 1759892 + CallExpression 1759854 1759892 + Identifier 1759854 1759884 + Identifier 1759885 1759891 + Block 1759893 1759956 + ExpressionStatement 1759895 1759941 + CallExpression 1759895 1759940 + Identifier 1759895 1759932 + Identifier 1759933 1759939 + ReturnStatement 1759967 1760075 + BinaryExpression 1759983 1760074 + PrefixUnaryExpression 1759983 1760009 + PropertyAccessExpression 1759985 1760009 + Identifier 1759985 1759991 + Identifier 1759992 1760009 + BarBarToken 1760009 1760012 + BinaryExpression 1760012 1760074 + Identifier 1760012 1760021 + AmpersandAmpersandToken 1760021 1760024 + BinaryExpression 1760024 1760074 + CallExpression 1760024 1760059 + PropertyAccessExpression 1760024 1760033 + Identifier 1760024 1760029 + Identifier 1760030 1760033 + PropertyAccessExpression 1760034 1760058 + Identifier 1760034 1760040 + Identifier 1760041 1760058 + LessThanToken 1760059 1760061 + PropertyAccessExpression 1760061 1760074 + Identifier 1760061 1760070 + Identifier 1760071 1760074 + FunctionDeclaration 1760082 1760409 + Identifier 1760195 1760216 + Parameter 1760217 1760238 + Identifier 1760217 1760232 + TypeReference 1760233 1760238 + Identifier 1760233 1760238 + Block 1760239 1760409 + ExpressionStatement 1760241 1760336 + CallExpression 1760241 1760335 + PropertyAccessExpression 1760241 1760263 + Identifier 1760241 1760256 + Identifier 1760257 1760263 + BinaryExpression 1760264 1760334 + CallExpression 1760264 1760302 + Identifier 1760264 1760285 + Identifier 1760286 1760301 + BarBarToken 1760302 1760305 + CallExpression 1760305 1760334 + Identifier 1760305 1760317 + Identifier 1760318 1760333 + ReturnStatement 1760336 1760402 + CallExpression 1760352 1760401 + Identifier 1760352 1760379 + PropertyAccessExpression 1760380 1760400 + Identifier 1760380 1760395 + Identifier 1760396 1760400 + FunctionDeclaration 1760409 1760765 + Identifier 1760425 1760452 + Parameter 1760453 1760470 + Identifier 1760453 1760457 + TypeReference 1760458 1760470 + Identifier 1760458 1760470 + BooleanKeyword 1760472 1760480 + Block 1760480 1760765 + IfStatement 1760482 1760635 + BinaryExpression 1760496 1760531 + PropertyAccessExpression 1760496 1760505 + Identifier 1760496 1760500 + Identifier 1760501 1760505 + EqualsEqualsEqualsToken 1760505 1760509 + PropertyAccessExpression 1760509 1760531 + Identifier 1760509 1760520 + Identifier 1760521 1760531 + Block 1760532 1760635 + ReturnStatement 1760534 1760624 + CallExpression 1760554 1760623 + Identifier 1760554 1760571 + CallExpression 1760572 1760622 + Identifier 1760572 1760594 + AsExpression 1760595 1760621 + PropertyAccessExpression 1760595 1760606 + Identifier 1760595 1760599 + Identifier 1760600 1760606 + TypeReference 1760609 1760621 + Identifier 1760609 1760621 + ReturnStatement 1760635 1760758 + CallExpression 1760653 1760757 + Identifier 1760653 1760658 + PropertyAccessExpression 1760659 1760672 + Identifier 1760659 1760663 + Identifier 1760664 1760672 + ArrowFunction 1760673 1760756 + Parameter 1760673 1760675 + Identifier 1760673 1760675 + EqualsGreaterThanToken 1760675 1760678 + BinaryExpression 1760678 1760756 + BinaryExpression 1760678 1760718 + PropertyAccessExpression 1760678 1760685 + Identifier 1760678 1760680 + Identifier 1760681 1760685 + ExclamationEqualsEqualsToken 1760685 1760689 + PropertyAccessExpression 1760689 1760718 + Identifier 1760689 1760700 + Identifier 1760701 1760718 + AmpersandAmpersandToken 1760718 1760721 + CallExpression 1760721 1760756 + Identifier 1760721 1760748 + PropertyAccessExpression 1760749 1760755 + Identifier 1760749 1760750 + Identifier 1760751 1760755 + FunctionDeclaration 1760765 1760983 + Identifier 1760781 1760812 + Parameter 1760813 1760823 + Identifier 1760813 1760817 + TypeReference 1760818 1760823 + Identifier 1760818 1760823 + Block 1760824 1760983 + ReturnStatement 1760826 1760976 + PrefixUnaryExpression 1760842 1760975 + PrefixUnaryExpression 1760844 1760975 + CallExpression 1760845 1760975 + Identifier 1760845 1760857 + PropertyAccessExpression 1760858 1760869 + Identifier 1760858 1760862 + Identifier 1760863 1760869 + ArrowFunction 1760870 1760974 + Parameter 1760870 1760875 + Identifier 1760870 1760875 + EqualsGreaterThanToken 1760875 1760878 + BinaryExpression 1760878 1760974 + CallExpression 1760878 1760907 + Identifier 1760878 1760901 + Identifier 1760902 1760906 + AmpersandAmpersandToken 1760907 1760910 + PrefixUnaryExpression 1760910 1760974 + PrefixUnaryExpression 1760912 1760974 + ParenthesizedExpression 1760913 1760974 + BinaryExpression 1760914 1760973 + PropertyAccessExpression 1760914 1760938 + CallExpression 1760914 1760932 + Identifier 1760914 1760926 + Identifier 1760927 1760931 + Identifier 1760933 1760938 + AmpersandToken 1760938 1760940 + PropertyAccessExpression 1760940 1760973 + Identifier 1760940 1760955 + Identifier 1760956 1760973 + FunctionDeclaration 1760983 1761114 + Identifier 1760999 1761022 + Parameter 1761023 1761033 + Identifier 1761023 1761027 + TypeReference 1761028 1761033 + Identifier 1761028 1761033 + Block 1761034 1761114 + ReturnStatement 1761036 1761107 + BinaryExpression 1761052 1761106 + CallExpression 1761052 1761084 + Identifier 1761052 1761078 + Identifier 1761079 1761083 + BarBarToken 1761084 1761087 + CallExpression 1761087 1761106 + Identifier 1761087 1761100 + Identifier 1761101 1761105 + FunctionDeclaration 1761114 1764247 + Identifier 1761707 1761727 + Parameter 1761728 1761738 + Identifier 1761728 1761732 + TypeReference 1761733 1761738 + Identifier 1761733 1761738 + Block 1761739 1764247 + SwitchStatement 1761741 1764125 + PropertyAccessExpression 1761759 1761768 + Identifier 1761759 1761763 + Identifier 1761764 1761768 + CaseBlock 1761769 1764125 + CaseClause 1761771 1763059 + PropertyAccessExpression 1761789 1761811 + Identifier 1761789 1761800 + Identifier 1761801 1761811 + VariableStatement 1761812 1761884 + VariableDeclarationList 1761812 1761883 + VariableDeclaration 1761835 1761883 + Identifier 1761835 1761851 + CallExpression 1761853 1761883 + Identifier 1761853 1761877 + Identifier 1761878 1761882 + IfStatement 1761884 1763034 + BinaryExpression 1761906 1761945 + Identifier 1761906 1761921 + ExclamationEqualsEqualsToken 1761921 1761925 + PropertyAccessExpression 1761925 1761945 + Identifier 1761925 1761940 + Identifier 1761941 1761945 + Block 1761946 1763034 + VariableStatement 1761948 1762023 + VariableDeclarationList 1761948 1762022 + VariableDeclaration 1761975 1762022 + Identifier 1761975 1761982 + CallExpression 1761984 1762022 + Identifier 1761984 1762002 + AsExpression 1762003 1762021 + Identifier 1762003 1762007 + TypeReference 1762010 1762021 + Identifier 1762010 1762021 + VariableStatement 1762023 1762195 + VariableDeclarationList 1762023 1762194 + VariableDeclaration 1762050 1762194 + Identifier 1762050 1762072 + BinaryExpression 1762074 1762194 + BinaryExpression 1762074 1762118 + Identifier 1762074 1762090 + EqualsEqualsEqualsToken 1762090 1762094 + PropertyAccessExpression 1762094 1762118 + Identifier 1762094 1762109 + Identifier 1762110 1762118 + BarBarToken 1762118 1762121 + ParenthesizedExpression 1762121 1762194 + BinaryExpression 1762123 1762193 + BinaryExpression 1762123 1762161 + PropertyAccessExpression 1762123 1762147 + Identifier 1762123 1762129 + Identifier 1762130 1762147 + ExclamationEqualsEqualsToken 1762147 1762151 + Identifier 1762151 1762161 + AmpersandAmpersandToken 1762161 1762164 + BinaryExpression 1762164 1762193 + PropertyAccessExpression 1762164 1762189 + Identifier 1762164 1762171 + Identifier 1762172 1762189 + LessThanToken 1762189 1762191 + NumericLiteral 1762191 1762193 + IfStatement 1762195 1763015 + CallExpression 1762221 1762262 + Identifier 1762221 1762254 + Identifier 1762255 1762261 + Block 1762263 1763015 + IfStatement 1762265 1762818 + BinaryExpression 1762295 1762392 + BinaryExpression 1762295 1762333 + PropertyAccessExpression 1762295 1762319 + Identifier 1762295 1762301 + Identifier 1762302 1762319 + EqualsEqualsEqualsToken 1762319 1762323 + Identifier 1762323 1762333 + BarBarToken 1762333 1762336 + BinaryExpression 1762336 1762392 + CallExpression 1762336 1762371 + PropertyAccessExpression 1762336 1762345 + Identifier 1762336 1762341 + Identifier 1762342 1762345 + PropertyAccessExpression 1762346 1762370 + Identifier 1762346 1762352 + Identifier 1762353 1762370 + ExclamationEqualsEqualsToken 1762371 1762375 + PropertyAccessExpression 1762375 1762392 + Identifier 1762375 1762382 + Identifier 1762383 1762392 + Block 1762393 1762818 + VariableStatement 1762395 1762496 + VariableDeclarationList 1762395 1762495 + VariableDeclaration 1762430 1762495 + Identifier 1762430 1762450 + CallExpression 1762452 1762495 + Identifier 1762452 1762465 + Identifier 1762466 1762470 + Identifier 1762471 1762494 + VariableStatement 1762496 1762614 + VariableDeclarationList 1762496 1762613 + VariableDeclaration 1762531 1762613 + Identifier 1762531 1762549 + CallExpression 1762551 1762613 + Identifier 1762551 1762564 + PropertyAccessExpression 1762565 1762588 + Identifier 1762565 1762571 + Identifier 1762572 1762588 + Identifier 1762589 1762612 + ExpressionStatement 1762614 1762791 + BinaryExpression 1762614 1762790 + PropertyAccessExpression 1762614 1762668 + Identifier 1762614 1762650 + Identifier 1762651 1762668 + EqualsToken 1762668 1762670 + ConditionalExpression 1762670 1762790 + BinaryExpression 1762670 1762712 + Identifier 1762670 1762690 + EqualsEqualsEqualsToken 1762690 1762694 + Identifier 1762694 1762712 + QuestionToken 1762712 1762714 + CallExpression 1762714 1762771 + Identifier 1762714 1762739 + Identifier 1762740 1762744 + NonNullExpression 1762745 1762770 + PropertyAccessExpression 1762745 1762769 + Identifier 1762745 1762752 + Identifier 1762753 1762769 + ColonToken 1762771 1762773 + PropertyAccessExpression 1762773 1762790 + Identifier 1762773 1762780 + Identifier 1762781 1762790 + IfStatement 1762818 1762992 + BinaryExpression 1762848 1762901 + Identifier 1762848 1762869 + AmpersandAmpersandToken 1762869 1762872 + BinaryExpression 1762872 1762901 + PropertyAccessExpression 1762872 1762897 + Identifier 1762872 1762879 + Identifier 1762880 1762897 + GreaterThanToken 1762897 1762899 + NumericLiteral 1762899 1762901 + Block 1762902 1762992 + ExpressionStatement 1762904 1762965 + BinaryExpression 1762904 1762964 + PropertyAccessExpression 1762904 1762958 + Identifier 1762904 1762940 + Identifier 1762941 1762958 + AsteriskEqualsToken 1762958 1762961 + PrefixUnaryExpression 1762961 1762964 + NumericLiteral 1762963 1762964 + ReturnStatement 1763034 1763059 + CaseClause 1763059 1763941 + PropertyAccessExpression 1763077 1763104 + Identifier 1763077 1763088 + Identifier 1763089 1763104 + VariableStatement 1763105 1763189 + VariableDeclarationList 1763105 1763188 + VariableDeclaration 1763128 1763188 + Identifier 1763128 1763146 + PropertyAccessExpression 1763148 1763188 + PropertyAccessExpression 1763148 1763181 + ParenthesizedExpression 1763148 1763174 + AsExpression 1763150 1763173 + Identifier 1763150 1763154 + TypeReference 1763157 1763173 + Identifier 1763157 1763173 + Identifier 1763175 1763181 + Identifier 1763182 1763188 + VariableStatement 1763189 1763293 + VariableDeclarationList 1763189 1763292 + VariableDeclaration 1763212 1763292 + Identifier 1763212 1763217 + BinaryExpression 1763219 1763292 + PropertyAccessExpression 1763219 1763258 + ParenthesizedExpression 1763219 1763245 + AsExpression 1763221 1763244 + Identifier 1763221 1763225 + TypeReference 1763228 1763244 + Identifier 1763228 1763244 + Identifier 1763246 1763258 + BarBarToken 1763258 1763261 + PropertyAccessExpression 1763261 1763292 + ParenthesizedExpression 1763261 1763287 + AsExpression 1763263 1763286 + Identifier 1763263 1763267 + TypeReference 1763270 1763286 + Identifier 1763270 1763286 + Identifier 1763288 1763292 + IfStatement 1763293 1763916 + BinaryExpression 1763315 1763465 + BinaryExpression 1763315 1763423 + BinaryExpression 1763315 1763385 + PrefixUnaryExpression 1763315 1763352 + PropertyAccessExpression 1763316 1763352 + ParenthesizedExpression 1763316 1763341 + AsExpression 1763317 1763340 + Identifier 1763317 1763321 + TypeReference 1763324 1763340 + Identifier 1763324 1763340 + Identifier 1763342 1763352 + AmpersandAmpersandToken 1763352 1763355 + PrefixUnaryExpression 1763355 1763385 + PropertyAccessExpression 1763357 1763385 + Identifier 1763357 1763374 + Identifier 1763375 1763385 + AmpersandAmpersandToken 1763385 1763388 + PrefixUnaryExpression 1763388 1763423 + PropertyAccessExpression 1763390 1763423 + Identifier 1763390 1763407 + Identifier 1763408 1763423 + AmpersandAmpersandToken 1763423 1763426 + BinaryExpression 1763426 1763465 + PropertyAccessExpression 1763426 1763436 + Identifier 1763426 1763431 + Identifier 1763432 1763436 + ExclamationEqualsEqualsToken 1763436 1763440 + PropertyAccessExpression 1763440 1763465 + Identifier 1763440 1763451 + Identifier 1763452 1763465 + Block 1763466 1763916 + VariableStatement 1763468 1763598 + VariableDeclarationList 1763468 1763597 + VariableDeclaration 1763495 1763597 + Identifier 1763495 1763502 + CallExpression 1763504 1763597 + Identifier 1763504 1763522 + Identifier 1763523 1763527 + PropertyAccessExpression 1763528 1763546 + Identifier 1763528 1763540 + Identifier 1763541 1763546 + TrueKeyword 1763547 1763569 + TrueKeyword 1763570 1763596 + IfStatement 1763598 1763897 + BinaryExpression 1763624 1763675 + Identifier 1763624 1763630 + AmpersandAmpersandToken 1763630 1763633 + CallExpression 1763633 1763675 + Identifier 1763633 1763667 + Identifier 1763668 1763674 + Block 1763676 1763897 + VariableStatement 1763678 1763797 + VariableDeclarationList 1763678 1763796 + VariableDeclaration 1763709 1763796 + Identifier 1763709 1763714 + ConditionalExpression 1763716 1763796 + BinaryExpression 1763716 1763787 + BinaryExpression 1763716 1763755 + PropertyAccessExpression 1763716 1763741 + Identifier 1763716 1763723 + Identifier 1763724 1763741 + ExclamationEqualsEqualsToken 1763741 1763745 + Identifier 1763745 1763755 + AmpersandAmpersandToken 1763755 1763758 + BinaryExpression 1763758 1763787 + PropertyAccessExpression 1763758 1763783 + Identifier 1763758 1763765 + Identifier 1763766 1763783 + LessThanToken 1763783 1763785 + NumericLiteral 1763785 1763787 + QuestionToken 1763787 1763789 + PrefixUnaryExpression 1763789 1763792 + NumericLiteral 1763791 1763792 + ColonToken 1763792 1763794 + NumericLiteral 1763794 1763796 + ExpressionStatement 1763797 1763874 + BinaryExpression 1763797 1763873 + PropertyAccessExpression 1763797 1763847 + Identifier 1763797 1763829 + Identifier 1763830 1763847 + EqualsToken 1763847 1763849 + BinaryExpression 1763849 1763873 + Identifier 1763849 1763854 + AsteriskToken 1763854 1763856 + PropertyAccessExpression 1763856 1763873 + Identifier 1763856 1763863 + Identifier 1763864 1763873 + ReturnStatement 1763916 1763941 + CaseClause 1763941 1763992 + PropertyAccessExpression 1763959 1763991 + Identifier 1763959 1763970 + Identifier 1763971 1763991 + CaseClause 1763992 1764043 + PropertyAccessExpression 1764010 1764042 + Identifier 1764010 1764021 + Identifier 1764022 1764042 + CaseClause 1764043 1764114 + PropertyAccessExpression 1764061 1764088 + Identifier 1764061 1764072 + Identifier 1764073 1764088 + ReturnStatement 1764089 1764114 + IfStatement 1764125 1764190 + CallExpression 1764139 1764155 + Identifier 1764139 1764149 + Identifier 1764150 1764154 + Block 1764156 1764190 + ReturnStatement 1764158 1764179 + ExpressionStatement 1764190 1764240 + CallExpression 1764190 1764239 + Identifier 1764190 1764212 + Identifier 1764213 1764217 + Identifier 1764218 1764238 + FunctionDeclaration 1764247 1765409 + Identifier 1764515 1764540 + Parameter 1764541 1764551 + Identifier 1764541 1764545 + TypeReference 1764546 1764551 + Identifier 1764546 1764551 + Parameter 1764552 1764577 + Identifier 1764552 1764564 + TypeReference 1764565 1764577 + Identifier 1764565 1764577 + Block 1764578 1765409 + VariableStatement 1764580 1764609 + VariableDeclarationList 1764580 1764608 + VariableDeclaration 1764593 1764608 + Identifier 1764593 1764597 + PropertyAccessExpression 1764599 1764608 + Identifier 1764599 1764604 + Identifier 1764605 1764608 + WhileStatement 1764609 1765381 + BinaryExpression 1764626 1764660 + Identifier 1764626 1764630 + AmpersandAmpersandToken 1764630 1764633 + BinaryExpression 1764633 1764660 + PropertyAccessExpression 1764633 1764642 + Identifier 1764633 1764638 + Identifier 1764639 1764642 + GreaterThanToken 1764642 1764644 + PropertyAccessExpression 1764644 1764660 + Identifier 1764644 1764656 + Identifier 1764657 1764660 + Block 1764661 1765381 + SwitchStatement 1764663 1765337 + PropertyAccessExpression 1764685 1764694 + Identifier 1764685 1764689 + Identifier 1764690 1764694 + CaseBlock 1764695 1765337 + CaseClause 1764697 1764749 + PropertyAccessExpression 1764719 1764748 + Identifier 1764719 1764730 + Identifier 1764731 1764748 + CaseClause 1764749 1764803 + PropertyAccessExpression 1764771 1764802 + Identifier 1764771 1764782 + Identifier 1764783 1764802 + CaseClause 1764803 1764849 + PropertyAccessExpression 1764825 1764848 + Identifier 1764825 1764836 + Identifier 1764837 1764848 + CaseClause 1764849 1764895 + PropertyAccessExpression 1764871 1764894 + Identifier 1764871 1764882 + Identifier 1764883 1764894 + CaseClause 1764895 1764944 + PropertyAccessExpression 1764917 1764943 + Identifier 1764917 1764928 + Identifier 1764929 1764943 + CaseClause 1764944 1764991 + PropertyAccessExpression 1764966 1764990 + Identifier 1764966 1764977 + Identifier 1764978 1764990 + CaseClause 1764991 1765040 + PropertyAccessExpression 1765013 1765039 + Identifier 1765013 1765024 + Identifier 1765025 1765039 + CaseClause 1765040 1765089 + PropertyAccessExpression 1765062 1765088 + Identifier 1765062 1765073 + Identifier 1765074 1765088 + CaseClause 1765089 1765137 + PropertyAccessExpression 1765111 1765136 + Identifier 1765111 1765122 + Identifier 1765123 1765136 + CaseClause 1765137 1765187 + PropertyAccessExpression 1765159 1765186 + Identifier 1765159 1765170 + Identifier 1765171 1765186 + CaseClause 1765187 1765234 + PropertyAccessExpression 1765209 1765233 + Identifier 1765209 1765220 + Identifier 1765221 1765233 + CaseClause 1765234 1765322 + PropertyAccessExpression 1765256 1765284 + Identifier 1765256 1765267 + Identifier 1765268 1765284 + ExpressionStatement 1765285 1765322 + BinaryExpression 1765285 1765321 + Identifier 1765285 1765310 + EqualsToken 1765310 1765312 + PropertyAccessExpression 1765312 1765321 + Identifier 1765312 1765317 + Identifier 1765318 1765321 + ExpressionStatement 1765337 1765370 + BinaryExpression 1765337 1765369 + Identifier 1765337 1765355 + EqualsToken 1765355 1765357 + PropertyAccessExpression 1765357 1765369 + Identifier 1765357 1765362 + Identifier 1765363 1765369 + ReturnStatement 1765381 1765402 + Identifier 1765397 1765401 + FunctionDeclaration 1765409 1765596 + Identifier 1765425 1765444 + Parameter 1765445 1765459 + Identifier 1765445 1765451 + TypeReference 1765452 1765459 + Identifier 1765452 1765459 + Block 1765460 1765596 + ReturnStatement 1765462 1765589 + BinaryExpression 1765478 1765588 + BinaryExpression 1765478 1765514 + PropertyAccessExpression 1765478 1765491 + Identifier 1765478 1765485 + Identifier 1765486 1765491 + AmpersandToken 1765491 1765493 + PropertyAccessExpression 1765493 1765514 + Identifier 1765493 1765505 + Identifier 1765506 1765514 + AmpersandAmpersandToken 1765514 1765517 + BinaryExpression 1765517 1765588 + ParenthesizedExpression 1765517 1765582 + BinaryExpression 1765519 1765581 + CallExpression 1765519 1765560 + Identifier 1765519 1765552 + Identifier 1765553 1765559 + AmpersandToken 1765560 1765562 + PropertyAccessExpression 1765562 1765581 + Identifier 1765562 1765572 + Identifier 1765573 1765581 + ExclamationEqualsEqualsToken 1765582 1765586 + NumericLiteral 1765586 1765588 + FunctionDeclaration 1765596 1766100 + Identifier 1765612 1765646 + Parameter 1765647 1765661 + Identifier 1765647 1765653 + TypeReference 1765654 1765661 + Identifier 1765654 1765661 + Block 1765662 1766100 + VariableStatement 1765664 1765868 + VariableDeclarationList 1765664 1765867 + VariableDeclaration 1765782 1765867 + Identifier 1765782 1765794 + BinaryExpression 1765796 1765867 + PropertyAccessExpression 1765796 1765820 + Identifier 1765796 1765803 + Identifier 1765804 1765820 + AmpersandAmpersandToken 1765820 1765823 + CallExpression 1765823 1765867 + Identifier 1765823 1765842 + PropertyAccessExpression 1765843 1765866 + Identifier 1765843 1765849 + Identifier 1765850 1765866 + ReturnStatement 1765868 1766093 + BinaryExpression 1765884 1766092 + PrefixUnaryExpression 1765884 1765898 + PrefixUnaryExpression 1765886 1765898 + Identifier 1765887 1765898 + AmpersandAmpersandToken 1765898 1765901 + ParenthesizedExpression 1765901 1766092 + BinaryExpression 1765903 1766081 + CallExpression 1765903 1765941 + Identifier 1765903 1765928 + Identifier 1765929 1765940 + BarBarToken 1765941 1765944 + BinaryExpression 1765944 1766081 + CallExpression 1765944 1765992 + Identifier 1765944 1765979 + Identifier 1765980 1765991 + AmpersandAmpersandToken 1765992 1765995 + ParenthesizedExpression 1765995 1766081 + BinaryExpression 1765997 1766080 + CallExpression 1765997 1766030 + Identifier 1765997 1766010 + PropertyAccessExpression 1766011 1766029 + Identifier 1766011 1766022 + Identifier 1766023 1766029 + BarBarToken 1766030 1766033 + CallExpression 1766033 1766080 + Identifier 1766033 1766067 + Identifier 1766068 1766079 + FunctionDeclaration 1766100 1766564 + Identifier 1766116 1766150 + Parameter 1766151 1766183 + Identifier 1766151 1766162 + TypeReference 1766163 1766183 + Identifier 1766163 1766183 + Block 1766184 1766564 + ReturnStatement 1766186 1766557 + BinaryExpression 1766284 1766556 + PrefixUnaryExpression 1766284 1766329 + PrefixUnaryExpression 1766286 1766329 + ParenthesizedExpression 1766287 1766329 + BinaryExpression 1766288 1766328 + PropertyAccessExpression 1766288 1766312 + PropertyAccessExpression 1766288 1766306 + Identifier 1766288 1766299 + Identifier 1766300 1766306 + Identifier 1766307 1766312 + AmpersandToken 1766312 1766314 + PropertyAccessExpression 1766314 1766328 + Identifier 1766314 1766324 + Identifier 1766325 1766328 + AmpersandAmpersandToken 1766329 1766332 + PrefixUnaryExpression 1766332 1766556 + ParenthesizedExpression 1766334 1766556 + BinaryExpression 1766335 1766545 + BinaryExpression 1766335 1766409 + CallExpression 1766335 1766386 + Identifier 1766335 1766373 + Identifier 1766374 1766385 + AmpersandToken 1766386 1766388 + PropertyAccessExpression 1766388 1766409 + Identifier 1766388 1766402 + Identifier 1766403 1766409 + BarBarToken 1766409 1766412 + BinaryExpression 1766412 1766545 + BinaryExpression 1766412 1766489 + PropertyAccessExpression 1766412 1766456 + PropertyAccessExpression 1766412 1766451 + PropertyAccessExpression 1766412 1766444 + Identifier 1766412 1766437 + Identifier 1766438 1766444 + Identifier 1766445 1766451 + Identifier 1766452 1766456 + EqualsEqualsEqualsToken 1766456 1766460 + PropertyAccessExpression 1766460 1766489 + Identifier 1766460 1766471 + Identifier 1766472 1766489 + AmpersandAmpersandToken 1766489 1766492 + CallExpression 1766492 1766545 + Identifier 1766492 1766511 + PropertyAccessExpression 1766512 1766544 + PropertyAccessExpression 1766512 1766537 + PropertyAccessExpression 1766512 1766530 + Identifier 1766512 1766523 + Identifier 1766524 1766530 + Identifier 1766531 1766537 + Identifier 1766538 1766544 + FunctionDeclaration 1766564 1767465 + Identifier 1766580 1766618 + Parameter 1766619 1766652 + Identifier 1766619 1766630 + TypeReference 1766631 1766652 + Identifier 1766631 1766652 + BooleanKeyword 1766654 1766662 + Block 1766662 1767465 + VariableStatement 1766664 1766714 + VariableDeclarationList 1766664 1766713 + VariableDeclaration 1766679 1766713 + Identifier 1766679 1766685 + CallExpression 1766687 1766713 + Identifier 1766687 1766700 + Identifier 1766701 1766712 + IfStatement 1766714 1767395 + BinaryExpression 1766730 1766787 + PropertyAccessExpression 1766730 1766773 + Identifier 1766730 1766735 + Identifier 1766736 1766773 + EqualsEqualsEqualsToken 1766773 1766777 + Identifier 1766777 1766787 + Block 1766788 1767395 + IfStatement 1766790 1767011 + PrefixUnaryExpression 1766808 1766902 + CallExpression 1766809 1766902 + Identifier 1766809 1766827 + Identifier 1766828 1766839 + PropertyAccessExpression 1766840 1766901 + Identifier 1766840 1766863 + Identifier 1766864 1766901 + Block 1766903 1767011 + ExpressionStatement 1766905 1766966 + CallExpression 1766905 1766965 + Identifier 1766905 1766945 + PropertyAccessExpression 1766946 1766964 + Identifier 1766946 1766957 + Identifier 1766958 1766964 + ReturnStatement 1766966 1766996 + TrueKeyword 1766990 1766995 + VariableStatement 1767011 1767153 + VariableDeclarationList 1767011 1767152 + VariableDeclaration 1767032 1767152 + Identifier 1767032 1767050 + PrefixUnaryExpression 1767052 1767152 + PrefixUnaryExpression 1767054 1767152 + ParenthesizedExpression 1767055 1767152 + CallExpression 1767056 1767151 + Identifier 1767056 1767068 + CallExpression 1767069 1767127 + Identifier 1767069 1767096 + Identifier 1767097 1767108 + PropertyAccessExpression 1767109 1767126 + Identifier 1767109 1767119 + Identifier 1767120 1767126 + PropertyAccessExpression 1767128 1767150 + Identifier 1767128 1767138 + Identifier 1767139 1767150 + IfStatement 1767153 1767302 + PrefixUnaryExpression 1767173 1767193 + CallExpression 1767174 1767193 + Identifier 1767174 1767191 + Block 1767194 1767302 + ExpressionStatement 1767196 1767257 + CallExpression 1767196 1767256 + Identifier 1767196 1767236 + PropertyAccessExpression 1767237 1767255 + Identifier 1767237 1767248 + Identifier 1767249 1767255 + ReturnStatement 1767257 1767287 + TrueKeyword 1767281 1767286 + ExpressionStatement 1767302 1767384 + BinaryExpression 1767302 1767383 + PropertyAccessExpression 1767302 1767361 + Identifier 1767302 1767323 + Identifier 1767324 1767361 + QuestionQuestionEqualsToken 1767361 1767365 + Identifier 1767365 1767383 + ReturnStatement 1767395 1767458 + PropertyAccessExpression 1767413 1767457 + Identifier 1767413 1767419 + Identifier 1767420 1767457 + FunctionDeclaration 1767465 1768107 + Identifier 1767611 1767645 + Parameter 1767646 1767664 + Identifier 1767646 1767658 + TypeReference 1767659 1767664 + Identifier 1767659 1767664 + Parameter 1767665 1767702 + Identifier 1767665 1767677 + TypeReference 1767678 1767702 + Identifier 1767678 1767702 + TypeReference 1767704 1767709 + Identifier 1767704 1767709 + Block 1767709 1768107 + VariableStatement 1767711 1767994 + VariableDeclarationList 1767711 1767993 + VariableDeclaration 1767726 1767993 + Identifier 1767726 1767742 + BinaryExpression 1767744 1767993 + BinaryExpression 1767744 1767925 + BinaryExpression 1767744 1767859 + BinaryExpression 1767744 1767819 + Identifier 1767744 1767761 + AmpersandAmpersandToken 1767761 1767764 + BinaryExpression 1767764 1767819 + PropertyAccessExpression 1767764 1767794 + Identifier 1767764 1767789 + Identifier 1767790 1767794 + EqualsEqualsEqualsToken 1767794 1767798 + PropertyAccessExpression 1767798 1767819 + Identifier 1767798 1767809 + Identifier 1767810 1767819 + AmpersandAmpersandToken 1767819 1767822 + PropertyAccessExpression 1767822 1767859 + Identifier 1767822 1767847 + Identifier 1767848 1767859 + AmpersandAmpersandToken 1767859 1767862 + CallExpression 1767862 1767925 + Identifier 1767862 1767888 + Identifier 1767889 1767901 + PropertyAccessExpression 1767902 1767924 + Identifier 1767902 1767912 + Identifier 1767913 1767924 + AmpersandAmpersandToken 1767925 1767928 + PrefixUnaryExpression 1767928 1767993 + CallExpression 1767943 1767993 + Identifier 1767943 1767980 + Identifier 1767981 1767992 + ReturnStatement 1767994 1768100 + ConditionalExpression 1768012 1768099 + Identifier 1768012 1768028 + QuestionToken 1768028 1768030 + CallExpression 1768030 1768084 + Identifier 1768030 1768047 + Identifier 1768048 1768060 + PropertyAccessExpression 1768061 1768083 + Identifier 1768061 1768071 + Identifier 1768072 1768083 + ColonToken 1768084 1768086 + Identifier 1768086 1768099 + FunctionDeclaration 1768107 1769167 + Identifier 1768123 1768144 + Parameter 1768145 1768155 + Identifier 1768145 1768149 + TypeReference 1768150 1768155 + Identifier 1768150 1768155 + Parameter 1768156 1768167 + Identifier 1768156 1768161 + TypeReference 1768162 1768167 + Identifier 1768162 1768167 + Block 1768168 1769167 + VariableStatement 1768170 1768207 + VariableDeclarationList 1768170 1768206 + VariableDeclaration 1768185 1768206 + Identifier 1768185 1768192 + PropertyAccessExpression 1768194 1768206 + Identifier 1768194 1768199 + Identifier 1768200 1768206 + ReturnStatement 1768207 1769160 + BinaryExpression 1768533 1769159 + BinaryExpression 1768533 1768856 + BinaryExpression 1768533 1768750 + BinaryExpression 1768533 1768642 + BinaryExpression 1768533 1768585 + PropertyAccessExpression 1768533 1768545 + Identifier 1768533 1768540 + Identifier 1768541 1768545 + EqualsEqualsEqualsToken 1768545 1768549 + PropertyAccessExpression 1768549 1768585 + Identifier 1768549 1768560 + Identifier 1768561 1768585 + BarBarToken 1768585 1768588 + BinaryExpression 1768588 1768642 + PropertyAccessExpression 1768588 1768613 + Identifier 1768588 1768608 + Identifier 1768609 1768613 + EqualsEqualsEqualsToken 1768613 1768617 + PropertyAccessExpression 1768617 1768642 + Identifier 1768617 1768628 + Identifier 1768629 1768642 + BarBarToken 1768642 1768645 + BinaryExpression 1768645 1768750 + BinaryExpression 1768645 1768700 + PropertyAccessExpression 1768645 1768670 + Identifier 1768645 1768665 + Identifier 1768666 1768670 + EqualsEqualsEqualsToken 1768670 1768674 + PropertyAccessExpression 1768674 1768700 + Identifier 1768674 1768685 + Identifier 1768686 1768700 + AmpersandAmpersandToken 1768700 1768703 + BinaryExpression 1768703 1768750 + PropertyAccessExpression 1768703 1768741 + ParenthesizedExpression 1768703 1768730 + AsExpression 1768705 1768729 + Identifier 1768705 1768711 + TypeReference 1768714 1768729 + Identifier 1768714 1768729 + Identifier 1768731 1768741 + EqualsEqualsEqualsToken 1768741 1768745 + Identifier 1768745 1768750 + BarBarToken 1768750 1768753 + BinaryExpression 1768753 1768856 + BinaryExpression 1768753 1768807 + PropertyAccessExpression 1768753 1768778 + Identifier 1768753 1768773 + Identifier 1768774 1768778 + EqualsEqualsEqualsToken 1768778 1768782 + PropertyAccessExpression 1768782 1768807 + Identifier 1768782 1768793 + Identifier 1768794 1768807 + AmpersandAmpersandToken 1768807 1768810 + BinaryExpression 1768810 1768856 + PropertyAccessExpression 1768810 1768847 + ParenthesizedExpression 1768810 1768836 + AsExpression 1768812 1768835 + Identifier 1768812 1768818 + TypeReference 1768821 1768835 + Identifier 1768821 1768835 + Identifier 1768837 1768847 + EqualsEqualsEqualsToken 1768847 1768851 + Identifier 1768851 1768856 + BarBarToken 1768856 1768859 + BinaryExpression 1768859 1769159 + BinaryExpression 1768859 1768982 + BinaryExpression 1768859 1768923 + PropertyAccessExpression 1768859 1768884 + Identifier 1768859 1768879 + Identifier 1768880 1768884 + EqualsEqualsEqualsToken 1768884 1768888 + PropertyAccessExpression 1768888 1768923 + Identifier 1768888 1768899 + Identifier 1768900 1768923 + AmpersandAmpersandToken 1768923 1768926 + BinaryExpression 1768926 1768982 + PropertyAccessExpression 1768926 1768973 + ParenthesizedExpression 1768926 1768962 + AsExpression 1768928 1768961 + Identifier 1768928 1768934 + TypeReference 1768937 1768961 + Identifier 1768937 1768961 + Identifier 1768963 1768973 + EqualsEqualsEqualsToken 1768973 1768977 + Identifier 1768977 1768982 + AmpersandAmpersandToken 1768982 1768985 + PrefixUnaryExpression 1768985 1769159 + ParenthesizedExpression 1769004 1769159 + BinaryExpression 1769005 1769158 + CallExpression 1769005 1769059 + Identifier 1769005 1769013 + Identifier 1769014 1769018 + Identifier 1769019 1769058 + AmpersandAmpersandToken 1769059 1769062 + CallExpression 1769062 1769158 + Identifier 1769062 1769081 + CallExpression 1769082 1769157 + Identifier 1769082 1769101 + PropertyAccessExpression 1769102 1769156 + ParenthesizedExpression 1769102 1769137 + AsExpression 1769103 1769136 + Identifier 1769103 1769109 + TypeReference 1769112 1769136 + Identifier 1769112 1769136 + Identifier 1769138 1769156 + FunctionDeclaration 1769167 1769522 + Identifier 1769183 1769216 + Parameter 1769217 1769227 + Identifier 1769217 1769221 + TypeReference 1769222 1769227 + Identifier 1769222 1769227 + BooleanKeyword 1769229 1769237 + Block 1769237 1769522 + ReturnStatement 1769239 1769515 + ConditionalExpression 1769255 1769514 + BinaryExpression 1769255 1769291 + PropertyAccessExpression 1769255 1769266 + Identifier 1769255 1769260 + Identifier 1769261 1769266 + AmpersandToken 1769266 1769268 + PropertyAccessExpression 1769268 1769291 + Identifier 1769268 1769278 + Identifier 1769279 1769291 + QuestionToken 1769291 1769293 + CallExpression 1769293 1769379 + Identifier 1769293 1769311 + PropertyAccessExpression 1769312 1769344 + ParenthesizedExpression 1769312 1769338 + AsExpression 1769313 1769337 + Identifier 1769313 1769317 + TypeReference 1769320 1769337 + Identifier 1769320 1769337 + Identifier 1769339 1769344 + Identifier 1769345 1769378 + ColonToken 1769379 1769381 + PrefixUnaryExpression 1769381 1769514 + PrefixUnaryExpression 1769396 1769514 + ParenthesizedExpression 1769397 1769514 + BinaryExpression 1769398 1769513 + BinaryExpression 1769398 1769433 + PropertyAccessExpression 1769398 1769408 + Identifier 1769398 1769402 + Identifier 1769403 1769408 + AmpersandToken 1769408 1769410 + PropertyAccessExpression 1769410 1769433 + Identifier 1769410 1769420 + Identifier 1769421 1769433 + AmpersandAmpersandToken 1769433 1769436 + BinaryExpression 1769436 1769513 + PropertyAccessExpression 1769436 1769472 + CallExpression 1769436 1769466 + Identifier 1769436 1769460 + Identifier 1769461 1769465 + Identifier 1769467 1769472 + AmpersandToken 1769472 1769474 + ParenthesizedExpression 1769474 1769513 + BinaryExpression 1769476 1769512 + PropertyAccessExpression 1769476 1769494 + Identifier 1769476 1769485 + Identifier 1769486 1769494 + BarToken 1769494 1769496 + PropertyAccessExpression 1769496 1769512 + Identifier 1769496 1769506 + Identifier 1769507 1769512 + FunctionDeclaration 1769522 1769880 + Identifier 1769538 1769577 + Parameter 1769578 1769588 + Identifier 1769578 1769582 + TypeReference 1769583 1769588 + Identifier 1769583 1769588 + BooleanKeyword 1769590 1769598 + Block 1769598 1769880 + ReturnStatement 1769600 1769873 + ConditionalExpression 1769616 1769872 + BinaryExpression 1769616 1769652 + PropertyAccessExpression 1769616 1769627 + Identifier 1769616 1769621 + Identifier 1769622 1769627 + AmpersandToken 1769627 1769629 + PropertyAccessExpression 1769629 1769652 + Identifier 1769629 1769639 + Identifier 1769640 1769652 + QuestionToken 1769652 1769654 + CallExpression 1769654 1769746 + Identifier 1769654 1769672 + PropertyAccessExpression 1769673 1769705 + ParenthesizedExpression 1769673 1769699 + AsExpression 1769674 1769698 + Identifier 1769674 1769678 + TypeReference 1769681 1769698 + Identifier 1769681 1769698 + Identifier 1769700 1769705 + Identifier 1769706 1769745 + ColonToken 1769746 1769748 + PrefixUnaryExpression 1769748 1769872 + PrefixUnaryExpression 1769763 1769872 + ParenthesizedExpression 1769764 1769872 + BinaryExpression 1769765 1769871 + BinaryExpression 1769765 1769800 + PropertyAccessExpression 1769765 1769775 + Identifier 1769765 1769769 + Identifier 1769770 1769775 + AmpersandToken 1769775 1769777 + PropertyAccessExpression 1769777 1769800 + Identifier 1769777 1769787 + Identifier 1769788 1769800 + AmpersandAmpersandToken 1769800 1769803 + PrefixUnaryExpression 1769803 1769871 + CallExpression 1769805 1769871 + Identifier 1769805 1769820 + CallExpression 1769821 1769850 + Identifier 1769821 1769844 + Identifier 1769845 1769849 + PropertyAccessExpression 1769851 1769870 + Identifier 1769851 1769861 + Identifier 1769862 1769870 + FunctionDeclaration 1769880 1770893 + Identifier 1769896 1769932 + Parameter 1769933 1769943 + Identifier 1769933 1769937 + TypeReference 1769938 1769943 + Identifier 1769938 1769943 + Parameter 1769944 1769977 + Identifier 1769944 1769954 + UnionType 1769955 1769977 + TypeReference 1769955 1769965 + Identifier 1769955 1769965 + UndefinedKeyword 1769967 1769977 + Block 1769978 1770893 + VariableStatement 1769980 1770820 + VariableDeclarationList 1769980 1770819 + VariableDeclaration 1770364 1770819 + Identifier 1770364 1770379 + BinaryExpression 1770381 1770819 + BinaryExpression 1770381 1770599 + ParenthesizedExpression 1770381 1770473 + BinaryExpression 1770383 1770472 + BinaryExpression 1770383 1770437 + CallExpression 1770383 1770401 + Identifier 1770383 1770395 + Identifier 1770396 1770400 + BarBarToken 1770401 1770404 + CallExpression 1770404 1770437 + Identifier 1770404 1770431 + Identifier 1770432 1770436 + BarBarToken 1770437 1770440 + CallExpression 1770440 1770472 + Identifier 1770440 1770466 + Identifier 1770467 1770471 + AmpersandAmpersandToken 1770473 1770476 + PrefixUnaryExpression 1770476 1770599 + ParenthesizedExpression 1770491 1770599 + BinaryExpression 1770492 1770598 + ParenthesizedExpression 1770492 1770566 + BinaryExpression 1770493 1770565 + CallExpression 1770493 1770525 + Identifier 1770493 1770512 + PropertyAccessExpression 1770513 1770524 + Identifier 1770513 1770517 + Identifier 1770518 1770524 + BarBarToken 1770525 1770528 + CallExpression 1770528 1770565 + Identifier 1770528 1770552 + PropertyAccessExpression 1770553 1770564 + Identifier 1770553 1770557 + Identifier 1770558 1770564 + AmpersandAmpersandToken 1770566 1770569 + BinaryExpression 1770569 1770598 + PropertyAccessExpression 1770569 1770589 + PropertyAccessExpression 1770569 1770581 + Identifier 1770569 1770574 + Identifier 1770575 1770581 + Identifier 1770582 1770589 + EqualsEqualsEqualsToken 1770589 1770593 + Identifier 1770593 1770598 + AmpersandAmpersandToken 1770599 1770602 + ParenthesizedExpression 1770602 1770819 + ConditionalExpression 1770617 1770818 + BinaryExpression 1770617 1770670 + Identifier 1770617 1770626 + AmpersandAmpersandToken 1770626 1770629 + BinaryExpression 1770629 1770670 + Identifier 1770629 1770639 + AmpersandToken 1770639 1770641 + PropertyAccessExpression 1770641 1770670 + Identifier 1770641 1770651 + Identifier 1770652 1770670 + QuestionToken 1770670 1770672 + CallExpression 1770672 1770747 + Identifier 1770672 1770707 + Identifier 1770708 1770712 + PropertyAccessExpression 1770713 1770746 + Identifier 1770713 1770726 + Identifier 1770727 1770746 + ColonToken 1770747 1770766 + CallExpression 1770766 1770818 + Identifier 1770766 1770784 + Identifier 1770785 1770789 + Identifier 1770790 1770817 + ReturnStatement 1770820 1770886 + BinaryExpression 1770836 1770885 + Identifier 1770836 1770851 + AmpersandAmpersandToken 1770851 1770854 + PrefixUnaryExpression 1770854 1770885 + CallExpression 1770856 1770885 + Identifier 1770856 1770869 + Identifier 1770870 1770884 + FunctionDeclaration 1770893 1772230 + Identifier 1770909 1770939 + Parameter 1770940 1770950 + Identifier 1770940 1770944 + TypeReference 1770945 1770950 + Identifier 1770945 1770950 + Parameter 1770951 1770967 + Identifier 1770951 1770961 + TypeReference 1770962 1770967 + Identifier 1770962 1770967 + Parameter 1770968 1770990 + Identifier 1770968 1770978 + QuestionToken 1770978 1770979 + TypeReference 1770980 1770990 + Identifier 1770980 1770990 + Block 1770991 1772230 + IfStatement 1770993 1771097 + CallExpression 1771007 1771026 + Identifier 1771007 1771020 + Identifier 1771021 1771025 + Block 1771027 1771097 + ExpressionStatement 1771029 1771086 + BinaryExpression 1771029 1771085 + Identifier 1771029 1771047 + EqualsToken 1771047 1771049 + PropertyAccessExpression 1771049 1771085 + ParenthesizedExpression 1771049 1771076 + AsExpression 1771051 1771075 + Identifier 1771051 1771055 + TypeReference 1771058 1771075 + Identifier 1771058 1771075 + Identifier 1771077 1771085 + VariableStatement 1771097 1772136 + VariableDeclarationList 1771097 1772135 + VariableDeclaration 1771879 1772135 + Identifier 1771879 1771901 + BinaryExpression 1771903 1772135 + BinaryExpression 1771903 1772018 + PrefixUnaryExpression 1771903 1771953 + ParenthesizedExpression 1771905 1771953 + BinaryExpression 1771906 1771952 + Identifier 1771906 1771915 + AmpersandAmpersandToken 1771915 1771918 + BinaryExpression 1771918 1771952 + Identifier 1771918 1771928 + AmpersandToken 1771928 1771930 + PropertyAccessExpression 1771930 1771952 + Identifier 1771930 1771940 + Identifier 1771941 1771952 + AmpersandAmpersandToken 1771953 1771956 + CallExpression 1771956 1772018 + Identifier 1771956 1771978 + Identifier 1771979 1771983 + Identifier 1771984 1772017 + AmpersandAmpersandToken 1772018 1772021 + ParenthesizedExpression 1772021 1772135 + BinaryExpression 1772036 1772134 + CallExpression 1772036 1772073 + Identifier 1772036 1772056 + Identifier 1772057 1772061 + Identifier 1772062 1772072 + BarBarToken 1772073 1772076 + CallExpression 1772076 1772134 + Identifier 1772076 1772112 + Identifier 1772113 1772122 + Identifier 1772123 1772133 + ReturnStatement 1772136 1772223 + ConditionalExpression 1772152 1772222 + Identifier 1772152 1772174 + QuestionToken 1772174 1772176 + CallExpression 1772176 1772215 + Identifier 1772176 1772184 + Identifier 1772185 1772189 + Identifier 1772190 1772214 + ColonToken 1772215 1772217 + Identifier 1772217 1772222 + FunctionDeclaration 1772230 1772785 + Identifier 1772246 1772273 + Parameter 1772274 1772288 + Identifier 1772274 1772282 + TypeReference 1772283 1772288 + Identifier 1772283 1772288 + Block 1772289 1772785 + ReturnStatement 1772291 1772778 + PrefixUnaryExpression 1772307 1772777 + PrefixUnaryExpression 1772309 1772777 + CallExpression 1772310 1772777 + Identifier 1772310 1772322 + Identifier 1772323 1772331 + ArrowFunction 1772332 1772776 + Parameter 1772332 1772334 + Identifier 1772332 1772334 + EqualsGreaterThanToken 1772334 1772337 + Block 1772337 1772776 + VariableStatement 1772339 1772377 + VariableDeclarationList 1772339 1772376 + VariableDeclaration 1772358 1772376 + Identifier 1772358 1772365 + PropertyAccessExpression 1772367 1772376 + Identifier 1772367 1772369 + Identifier 1772370 1772376 + IfStatement 1772377 1772465 + BinaryExpression 1772395 1772415 + Identifier 1772395 1772401 + EqualsEqualsEqualsToken 1772401 1772405 + Identifier 1772405 1772415 + Block 1772416 1772465 + ReturnStatement 1772418 1772450 + StringLiteral 1772442 1772449 + IfStatement 1772465 1772605 + CallExpression 1772483 1772509 + Identifier 1772483 1772501 + Identifier 1772502 1772508 + Block 1772510 1772605 + ReturnStatement 1772512 1772590 + BinaryExpression 1772536 1772589 + BinaryExpression 1772536 1772560 + PropertyAccessExpression 1772536 1772554 + Identifier 1772536 1772543 + Identifier 1772544 1772554 + EqualsEqualsEqualsToken 1772554 1772558 + Identifier 1772558 1772560 + AmpersandAmpersandToken 1772560 1772563 + CallExpression 1772563 1772589 + Identifier 1772563 1772586 + Identifier 1772587 1772588 + IfStatement 1772605 1772738 + CallExpression 1772623 1772648 + Identifier 1772623 1772640 + Identifier 1772641 1772647 + Block 1772649 1772738 + ReturnStatement 1772651 1772723 + BinaryExpression 1772675 1772722 + BinaryExpression 1772675 1772693 + PropertyAccessExpression 1772675 1772687 + Identifier 1772675 1772682 + Identifier 1772683 1772687 + EqualsEqualsEqualsToken 1772687 1772691 + Identifier 1772691 1772693 + BarBarToken 1772693 1772696 + BinaryExpression 1772696 1772722 + PropertyAccessExpression 1772696 1772716 + Identifier 1772696 1772703 + Identifier 1772704 1772716 + EqualsEqualsEqualsToken 1772716 1772720 + Identifier 1772720 1772722 + ReturnStatement 1772738 1772765 + FalseKeyword 1772758 1772764 + FunctionDeclaration 1772785 1774186 + Identifier 1774026 1774047 + Parameter 1774048 1774098 + Identifier 1774048 1774056 + UnionType 1774057 1774098 + TypeReference 1774057 1774082 + Identifier 1774057 1774082 + TypeReference 1774084 1774098 + Identifier 1774084 1774098 + Parameter 1774099 1774128 + Identifier 1774099 1774104 + TypeReference 1774105 1774128 + QualifiedName 1774105 1774128 + Identifier 1774105 1774119 + Identifier 1774120 1774128 + Parameter 1774129 1774160 + Identifier 1774129 1774140 + UnionType 1774141 1774160 + TypeReference 1774141 1774148 + Identifier 1774141 1774148 + UndefinedKeyword 1774150 1774160 + Parameter 1774161 1774178 + Identifier 1774161 1774172 + TypeReference 1774173 1774178 + Identifier 1774173 1774178 + VoidKeyword 1774180 1774185 + FunctionDeclaration 1774186 1774282 + Identifier 1774200 1774221 + Parameter 1774222 1774242 + Identifier 1774222 1774230 + TypeReference 1774231 1774242 + Identifier 1774231 1774242 + Parameter 1774243 1774274 + Identifier 1774243 1774248 + TypeReference 1774249 1774274 + QualifiedName 1774249 1774274 + Identifier 1774249 1774263 + Identifier 1774264 1774274 + VoidKeyword 1774276 1774281 + FunctionDeclaration 1774282 1774390 + Identifier 1774296 1774317 + Parameter 1774318 1774344 + Identifier 1774318 1774326 + TypeReference 1774327 1774344 + Identifier 1774327 1774344 + Parameter 1774345 1774382 + Identifier 1774345 1774350 + TypeReference 1774351 1774382 + QualifiedName 1774351 1774382 + Identifier 1774351 1774365 + Identifier 1774366 1774382 + VoidKeyword 1774384 1774389 + FunctionDeclaration 1774390 1774511 + Identifier 1774404 1774425 + Parameter 1774426 1774478 + Identifier 1774426 1774434 + UnionType 1774435 1774478 + TypeReference 1774435 1774457 + Identifier 1774435 1774457 + TypeReference 1774459 1774478 + Identifier 1774459 1774478 + Parameter 1774479 1774503 + Identifier 1774479 1774484 + TypeReference 1774485 1774503 + QualifiedName 1774485 1774503 + Identifier 1774485 1774499 + Identifier 1774500 1774503 + VoidKeyword 1774505 1774510 + FunctionDeclaration 1774511 1774641 + Identifier 1774525 1774546 + Parameter 1774547 1774598 + Identifier 1774547 1774555 + UnionType 1774556 1774598 + TypeReference 1774556 1774580 + Identifier 1774556 1774580 + TypeReference 1774582 1774598 + Identifier 1774582 1774598 + Parameter 1774599 1774633 + Identifier 1774599 1774604 + TypeReference 1774605 1774633 + QualifiedName 1774605 1774633 + Identifier 1774605 1774619 + Identifier 1774620 1774633 + VoidKeyword 1774635 1774640 + FunctionDeclaration 1774641 1774758 + Identifier 1774655 1774676 + Parameter 1774677 1774710 + Identifier 1774677 1774685 + TypeReference 1774686 1774710 + Identifier 1774686 1774710 + Parameter 1774711 1774750 + Identifier 1774711 1774716 + TypeReference 1774717 1774750 + QualifiedName 1774717 1774750 + Identifier 1774717 1774731 + Identifier 1774732 1774750 + VoidKeyword 1774752 1774757 + FunctionDeclaration 1774758 1774864 + Identifier 1774772 1774793 + Parameter 1774794 1774819 + Identifier 1774794 1774802 + TypeReference 1774803 1774819 + Identifier 1774803 1774819 + Parameter 1774820 1774856 + Identifier 1774820 1774825 + TypeReference 1774826 1774856 + QualifiedName 1774826 1774856 + Identifier 1774826 1774840 + Identifier 1774841 1774856 + VoidKeyword 1774858 1774863 + FunctionDeclaration 1774864 1774962 + Identifier 1774878 1774899 + Parameter 1774900 1774923 + Identifier 1774900 1774908 + TypeReference 1774909 1774923 + Identifier 1774909 1774923 + Parameter 1774924 1774954 + Identifier 1774924 1774929 + TypeReference 1774930 1774954 + QualifiedName 1774930 1774954 + Identifier 1774930 1774944 + Identifier 1774945 1774954 + VoidKeyword 1774956 1774961 + FunctionDeclaration 1774962 1775093 + Identifier 1774976 1774997 + Parameter 1774998 1775012 + Identifier 1774998 1775006 + TypeReference 1775007 1775012 + Identifier 1775007 1775012 + Parameter 1775013 1775045 + Identifier 1775013 1775018 + TypeReference 1775019 1775045 + QualifiedName 1775019 1775045 + Identifier 1775019 1775033 + Identifier 1775034 1775045 + Parameter 1775046 1775066 + Identifier 1775046 1775057 + QuestionToken 1775057 1775058 + TypeReference 1775059 1775066 + Identifier 1775059 1775066 + Parameter 1775067 1775085 + Identifier 1775067 1775078 + QuestionToken 1775078 1775079 + TypeReference 1775080 1775085 + Identifier 1775080 1775085 + VoidKeyword 1775087 1775092 + FunctionDeclaration 1775093 1780028 + Identifier 1775107 1775128 + Parameter 1775129 1775143 + Identifier 1775129 1775137 + TypeReference 1775138 1775143 + Identifier 1775138 1775143 + Parameter 1775144 1775164 + Identifier 1775144 1775149 + TypeReference 1775150 1775164 + Identifier 1775150 1775164 + Parameter 1775165 1775185 + Identifier 1775165 1775176 + QuestionToken 1775176 1775177 + TypeReference 1775178 1775185 + Identifier 1775178 1775185 + Parameter 1775186 1775204 + Identifier 1775186 1775197 + QuestionToken 1775197 1775198 + TypeReference 1775199 1775204 + Identifier 1775199 1775204 + Block 1775205 1780028 + IfStatement 1775207 1775295 + PrefixUnaryExpression 1775221 1775260 + Identifier 1775222 1775260 + Block 1775261 1775295 + ReturnStatement 1775263 1775284 + IfStatement 1775295 1775630 + BinaryExpression 1775309 1775413 + BinaryExpression 1775309 1775377 + BinaryExpression 1775309 1775343 + PropertyAccessExpression 1775309 1775323 + Identifier 1775309 1775317 + Identifier 1775318 1775323 + AmpersandToken 1775323 1775325 + PropertyAccessExpression 1775325 1775343 + Identifier 1775325 1775335 + Identifier 1775336 1775343 + AmpersandAmpersandToken 1775343 1775346 + PrefixUnaryExpression 1775346 1775377 + CallExpression 1775348 1775377 + Identifier 1775348 1775367 + Identifier 1775368 1775376 + AmpersandAmpersandToken 1775377 1775380 + PrefixUnaryExpression 1775380 1775413 + CallExpression 1775382 1775413 + Identifier 1775382 1775403 + Identifier 1775404 1775412 + Block 1775414 1775630 + ReturnStatement 1775416 1775619 + SwitchStatement 1775630 1780021 + Identifier 1775648 1775652 + CaseBlock 1775653 1780021 + CaseClause 1775655 1775778 + PropertyAccessExpression 1775673 1775698 + Identifier 1775673 1775687 + Identifier 1775688 1775698 + ReturnStatement 1775699 1775778 + CallExpression 1775723 1775777 + Identifier 1775723 1775753 + AsExpression 1775754 1775776 + Identifier 1775754 1775762 + TypeReference 1775765 1775776 + Identifier 1775765 1775776 + CaseClause 1775778 1775951 + PropertyAccessExpression 1775796 1775819 + Identifier 1775796 1775810 + Identifier 1775811 1775819 + ReturnStatement 1775820 1775951 + CallExpression 1775844 1775950 + Identifier 1775844 1775872 + AsExpression 1775873 1775925 + Identifier 1775873 1775881 + UnionType 1775884 1775925 + TypeReference 1775884 1775909 + Identifier 1775884 1775909 + TypeReference 1775911 1775925 + Identifier 1775911 1775925 + Identifier 1775926 1775937 + Identifier 1775938 1775949 + CaseClause 1775951 1776092 + PropertyAccessExpression 1775969 1776000 + Identifier 1775969 1775983 + Identifier 1775984 1776000 + ReturnStatement 1776001 1776092 + CallExpression 1776025 1776091 + Identifier 1776025 1776061 + AsExpression 1776062 1776090 + Identifier 1776062 1776070 + TypeReference 1776073 1776090 + Identifier 1776073 1776090 + CaseClause 1776092 1776233 + PropertyAccessExpression 1776110 1776128 + Identifier 1776110 1776124 + Identifier 1776125 1776128 + ReturnStatement 1776129 1776233 + CallExpression 1776153 1776232 + Identifier 1776153 1776176 + AsExpression 1776177 1776231 + Identifier 1776177 1776185 + UnionType 1776188 1776231 + TypeReference 1776188 1776210 + Identifier 1776188 1776210 + TypeReference 1776212 1776231 + Identifier 1776212 1776231 + CaseClause 1776233 1776393 + PropertyAccessExpression 1776251 1776279 + Identifier 1776251 1776265 + Identifier 1776266 1776279 + ReturnStatement 1776280 1776393 + CallExpression 1776304 1776392 + Identifier 1776304 1776337 + AsExpression 1776338 1776391 + Identifier 1776338 1776346 + UnionType 1776349 1776391 + TypeReference 1776349 1776373 + Identifier 1776349 1776373 + TypeReference 1776375 1776391 + Identifier 1776375 1776391 + CaseClause 1776393 1776539 + PropertyAccessExpression 1776411 1776444 + Identifier 1776411 1776425 + Identifier 1776426 1776444 + ReturnStatement 1776445 1776539 + CallExpression 1776469 1776538 + Identifier 1776469 1776501 + AsExpression 1776502 1776537 + Identifier 1776502 1776510 + TypeReference 1776513 1776537 + Identifier 1776513 1776537 + CaseClause 1776539 1776677 + PropertyAccessExpression 1776557 1776587 + Identifier 1776557 1776571 + Identifier 1776572 1776587 + ReturnStatement 1776588 1776677 + CallExpression 1776612 1776676 + Identifier 1776612 1776647 + AsExpression 1776648 1776675 + Identifier 1776648 1776656 + TypeReference 1776659 1776675 + Identifier 1776659 1776675 + CaseClause 1776677 1776801 + PropertyAccessExpression 1776695 1776719 + Identifier 1776695 1776709 + Identifier 1776710 1776719 + ReturnStatement 1776720 1776801 + CallExpression 1776744 1776800 + Identifier 1776744 1776773 + AsExpression 1776774 1776799 + Identifier 1776774 1776782 + TypeReference 1776785 1776799 + Identifier 1776785 1776799 + CaseClause 1776801 1779909 + PropertyAccessExpression 1776819 1776845 + Identifier 1776819 1776833 + Identifier 1776834 1776845 + Block 1776846 1779909 + IfStatement 1776848 1777991 + BinaryExpression 1777286 1777535 + BinaryExpression 1777286 1777486 + CallExpression 1777286 1777308 + Identifier 1777286 1777298 + Identifier 1777299 1777307 + AmpersandAmpersandToken 1777308 1777311 + ParenthesizedExpression 1777311 1777486 + BinaryExpression 1777313 1777485 + BinaryExpression 1777313 1777389 + CallExpression 1777313 1777339 + Identifier 1777313 1777329 + Identifier 1777330 1777338 + BarBarToken 1777339 1777342 + CallExpression 1777342 1777389 + Identifier 1777342 1777372 + PropertyAccessExpression 1777373 1777388 + Identifier 1777373 1777381 + Identifier 1777382 1777388 + BarBarToken 1777389 1777392 + ParenthesizedExpression 1777392 1777485 + BinaryExpression 1777394 1777484 + CallExpression 1777394 1777436 + Identifier 1777394 1777419 + PropertyAccessExpression 1777420 1777435 + Identifier 1777420 1777428 + Identifier 1777429 1777435 + AmpersandAmpersandToken 1777436 1777439 + BinaryExpression 1777439 1777484 + PropertyAccessExpression 1777439 1777471 + PropertyAccessExpression 1777439 1777455 + Identifier 1777439 1777448 + Identifier 1777449 1777455 + Identifier 1777456 1777471 + EqualsEqualsEqualsToken 1777471 1777475 + Identifier 1777475 1777484 + AmpersandAmpersandToken 1777486 1777489 + CallExpression 1777489 1777535 + Identifier 1777489 1777525 + Identifier 1777526 1777534 + Block 1777536 1777991 + IfStatement 1777538 1777881 + CallExpression 1777564 1777612 + Identifier 1777564 1777595 + PropertyAccessExpression 1777596 1777611 + Identifier 1777596 1777604 + Identifier 1777605 1777611 + Block 1777613 1777881 + VariableStatement 1777615 1777750 + VariableDeclarationList 1777615 1777749 + VariableDeclaration 1777646 1777749 + Identifier 1777646 1777651 + ConditionalExpression 1777653 1777749 + CallExpression 1777653 1777697 + Identifier 1777653 1777680 + PropertyAccessExpression 1777681 1777696 + Identifier 1777681 1777689 + Identifier 1777690 1777696 + QuestionToken 1777697 1777699 + PropertyAccessExpression 1777699 1777726 + PropertyAccessExpression 1777699 1777715 + Identifier 1777699 1777708 + Identifier 1777709 1777715 + Identifier 1777716 1777726 + ColonToken 1777726 1777728 + PropertyAccessExpression 1777728 1777749 + PropertyAccessExpression 1777728 1777744 + Identifier 1777728 1777737 + Identifier 1777738 1777744 + Identifier 1777745 1777749 + IfStatement 1777750 1777806 + BinaryExpression 1777780 1777797 + Identifier 1777780 1777784 + ExclamationEqualsEqualsToken 1777784 1777788 + Identifier 1777788 1777797 + ReturnStatement 1777798 1777806 + ExpressionStatement 1777881 1777943 + CallExpression 1777881 1777942 + Identifier 1777881 1777932 + Identifier 1777933 1777941 + ReturnStatement 1777943 1777972 + IfStatement 1777991 1778416 + CallExpression 1778013 1778054 + Identifier 1778013 1778044 + Identifier 1778045 1778053 + Block 1778055 1778416 + VariableStatement 1778057 1778120 + VariableDeclarationList 1778057 1778119 + VariableDeclaration 1778082 1778119 + Identifier 1778082 1778090 + UnionType 1778091 1778108 + TypeReference 1778091 1778096 + Identifier 1778091 1778096 + UndefinedKeyword 1778098 1778108 + Identifier 1778110 1778119 + WhileStatement 1778120 1778330 + CallExpression 1778149 1778189 + Identifier 1778149 1778180 + Identifier 1778181 1778188 + Block 1778190 1778330 + IfStatement 1778192 1778256 + CallExpression 1778222 1778247 + Identifier 1778222 1778238 + Identifier 1778239 1778246 + ReturnStatement 1778248 1778256 + ExpressionStatement 1778256 1778307 + BinaryExpression 1778256 1778306 + Identifier 1778256 1778289 + EqualsToken 1778289 1778291 + PropertyAccessExpression 1778291 1778306 + Identifier 1778291 1778299 + Identifier 1778300 1778306 + ReturnStatement 1778330 1778397 + CallExpression 1778358 1778396 + Identifier 1778358 1778386 + Identifier 1778387 1778395 + IfStatement 1778416 1778563 + CallExpression 1778438 1778466 + Identifier 1778438 1778456 + Identifier 1778457 1778465 + Block 1778467 1778563 + ReturnStatement 1778469 1778544 + CallExpression 1778497 1778543 + Identifier 1778497 1778533 + Identifier 1778534 1778542 + IfStatement 1778563 1778736 + BinaryExpression 1778585 1778652 + CallExpression 1778585 1778618 + Identifier 1778585 1778608 + Identifier 1778609 1778617 + BarBarToken 1778618 1778621 + CallExpression 1778621 1778652 + Identifier 1778621 1778642 + Identifier 1778643 1778651 + Block 1778653 1778736 + ReturnStatement 1778655 1778717 + CallExpression 1778683 1778716 + Identifier 1778683 1778706 + Identifier 1778707 1778715 + IfStatement 1778736 1779072 + CallExpression 1778758 1778793 + Identifier 1778758 1778783 + Identifier 1778784 1778792 + Block 1778794 1779072 + IfStatement 1778796 1779024 + BinaryExpression 1778822 1778923 + CallExpression 1778822 1778871 + Identifier 1778822 1778861 + Identifier 1778862 1778870 + BarBarToken 1778871 1778874 + CallExpression 1778874 1778923 + Identifier 1778874 1778913 + Identifier 1778914 1778922 + Block 1778924 1779024 + ReturnStatement 1778926 1779001 + CallExpression 1778958 1779000 + Identifier 1778958 1778990 + Identifier 1778991 1778999 + ReturnStatement 1779024 1779053 + IfStatement 1779072 1779217 + CallExpression 1779094 1779121 + Identifier 1779094 1779111 + Identifier 1779112 1779120 + Block 1779122 1779217 + ReturnStatement 1779124 1779198 + CallExpression 1779152 1779197 + Identifier 1779152 1779187 + Identifier 1779188 1779196 + IfStatement 1779217 1779473 + BinaryExpression 1779239 1779305 + CallExpression 1779239 1779274 + Identifier 1779239 1779264 + Identifier 1779265 1779273 + BarBarToken 1779274 1779277 + CallExpression 1779277 1779305 + Identifier 1779277 1779295 + Identifier 1779296 1779304 + Block 1779306 1779473 + ExpressionStatement 1779308 1779373 + CallExpression 1779308 1779372 + Identifier 1779308 1779362 + Identifier 1779363 1779371 + IfStatement 1779473 1779584 + PrefixUnaryExpression 1779495 1779533 + PropertyAccessExpression 1779496 1779533 + Identifier 1779496 1779511 + Identifier 1779512 1779533 + Block 1779534 1779584 + ReturnStatement 1779536 1779565 + IfStatement 1779584 1779828 + BinaryExpression 1779606 1779777 + BinaryExpression 1779606 1779685 + BinaryExpression 1779606 1779662 + PrefixUnaryExpression 1779606 1779634 + CallExpression 1779607 1779634 + Identifier 1779607 1779624 + Identifier 1779625 1779633 + BarBarToken 1779634 1779637 + PrefixUnaryExpression 1779637 1779662 + CallExpression 1779639 1779662 + Identifier 1779639 1779652 + Identifier 1779653 1779661 + BarBarToken 1779662 1779665 + PrefixUnaryExpression 1779665 1779685 + PropertyAccessExpression 1779667 1779685 + Identifier 1779667 1779675 + Identifier 1779676 1779685 + BarBarToken 1779685 1779688 + PrefixUnaryExpression 1779688 1779777 + CallExpression 1779690 1779777 + Identifier 1779690 1779708 + Identifier 1779709 1779725 + Identifier 1779726 1779735 + PropertyAccessExpression 1779736 1779752 + Identifier 1779736 1779745 + Identifier 1779746 1779752 + PropertyAccessExpression 1779753 1779776 + PropertyAccessExpression 1779753 1779769 + Identifier 1779753 1779762 + Identifier 1779763 1779769 + Identifier 1779770 1779776 + Block 1779778 1779828 + ReturnStatement 1779780 1779809 + ReturnStatement 1779828 1779894 + CallExpression 1779854 1779893 + Identifier 1779854 1779883 + Identifier 1779884 1779892 + DefaultClause 1779909 1780010 + ExpressionStatement 1779931 1780010 + CallExpression 1779931 1780009 + PropertyAccessExpression 1779931 1779966 + Identifier 1779931 1779954 + Identifier 1779955 1779966 + Identifier 1779967 1779971 + TemplateExpression 1779972 1780008 + TemplateHead 1779972 1780002 + TemplateSpan 1780002 1780008 + Identifier 1780002 1780006 + TemplateTail 1780006 1780008 + FunctionDeclaration 1780028 1780334 + Identifier 1780044 1780074 + Parameter 1780075 1780095 + Identifier 1780075 1780083 + TypeReference 1780084 1780095 + Identifier 1780084 1780095 + Block 1780096 1780334 + VariableStatement 1780098 1780151 + VariableDeclarationList 1780098 1780150 + VariableDeclaration 1780113 1780150 + Identifier 1780113 1780120 + CallExpression 1780122 1780150 + Identifier 1780122 1780140 + Identifier 1780141 1780149 + IfStatement 1780151 1780327 + BinaryExpression 1780165 1780261 + BinaryExpression 1780165 1780229 + BinaryExpression 1780165 1780201 + Identifier 1780165 1780171 + AmpersandAmpersandToken 1780171 1780174 + BinaryExpression 1780174 1780201 + Identifier 1780174 1780181 + ExclamationEqualsEqualsToken 1780181 1780185 + Identifier 1780185 1780201 + AmpersandAmpersandToken 1780201 1780204 + BinaryExpression 1780204 1780229 + Identifier 1780204 1780211 + ExclamationEqualsEqualsToken 1780211 1780215 + Identifier 1780215 1780229 + AmpersandAmpersandToken 1780229 1780232 + PrefixUnaryExpression 1780232 1780261 + CallExpression 1780234 1780261 + Identifier 1780234 1780251 + Identifier 1780252 1780260 + Block 1780262 1780327 + ExpressionStatement 1780264 1780316 + CallExpression 1780264 1780315 + Identifier 1780264 1780297 + Identifier 1780298 1780304 + Identifier 1780305 1780314 + FunctionDeclaration 1780334 1783191 + Identifier 1780350 1780378 + Parameter 1780379 1780429 + Identifier 1780379 1780387 + UnionType 1780388 1780429 + TypeReference 1780388 1780413 + Identifier 1780388 1780413 + TypeReference 1780415 1780429 + Identifier 1780415 1780429 + Parameter 1780430 1780450 + Identifier 1780430 1780441 + QuestionToken 1780441 1780442 + TypeReference 1780443 1780450 + Identifier 1780443 1780450 + Parameter 1780451 1780469 + Identifier 1780451 1780462 + QuestionToken 1780462 1780463 + TypeReference 1780464 1780469 + Identifier 1780464 1780469 + Block 1780470 1783191 + VariableStatement 1780472 1780570 + VariableDeclarationList 1780472 1780569 + VariableDeclaration 1780487 1780569 + Identifier 1780487 1780492 + ConditionalExpression 1780494 1780569 + CallExpression 1780494 1780531 + Identifier 1780494 1780521 + Identifier 1780522 1780530 + QuestionToken 1780531 1780533 + PropertyAccessExpression 1780533 1780553 + Identifier 1780533 1780542 + Identifier 1780543 1780553 + ColonToken 1780553 1780555 + PropertyAccessExpression 1780555 1780569 + Identifier 1780555 1780564 + Identifier 1780565 1780569 + IfStatement 1780570 1780664 + BinaryExpression 1780584 1780629 + CallExpression 1780584 1780606 + Identifier 1780584 1780600 + Identifier 1780601 1780605 + BarBarToken 1780606 1780609 + PrefixUnaryExpression 1780609 1780629 + CallExpression 1780611 1780629 + Identifier 1780611 1780623 + Identifier 1780624 1780628 + Block 1780630 1780664 + ReturnStatement 1780632 1780653 + VariableStatement 1780664 1780719 + VariableDeclarationList 1780664 1780718 + VariableDeclaration 1780679 1780718 + Identifier 1780679 1780692 + CallExpression 1780694 1780718 + Identifier 1780694 1780712 + Identifier 1780713 1780717 + IfStatement 1780719 1780815 + BinaryExpression 1780733 1780780 + PrefixUnaryExpression 1780733 1780746 + Identifier 1780734 1780746 + BarBarToken 1780746 1780749 + BinaryExpression 1780749 1780780 + Identifier 1780749 1780762 + EqualsEqualsEqualsToken 1780762 1780766 + Identifier 1780766 1780780 + Block 1780781 1780815 + ReturnStatement 1780783 1780804 + IfStatement 1780815 1781807 + BinaryExpression 1781592 1781714 + CallExpression 1781592 1781627 + Identifier 1781592 1781610 + Identifier 1781611 1781626 + BarBarToken 1781627 1781630 + ParenthesizedExpression 1781630 1781714 + BinaryExpression 1781632 1781713 + CallExpression 1781632 1781673 + Identifier 1781632 1781656 + Identifier 1781657 1781672 + AmpersandAmpersandToken 1781673 1781676 + CallExpression 1781676 1781713 + Identifier 1781676 1781703 + Identifier 1781704 1781712 + Block 1781715 1781807 + ExpressionStatement 1781717 1781775 + CallExpression 1781717 1781774 + Identifier 1781717 1781750 + Identifier 1781751 1781763 + Identifier 1781764 1781773 + ReturnStatement 1781775 1781796 + VariableStatement 1781807 1781989 + VariableDeclarationList 1781807 1781988 + VariableDeclaration 1781935 1781988 + Identifier 1781935 1781944 + BinaryExpression 1781946 1781988 + Identifier 1781946 1781957 + BarBarToken 1781957 1781960 + CallExpression 1781960 1781988 + Identifier 1781960 1781982 + Identifier 1781983 1781987 + IfStatement 1781989 1782147 + BinaryExpression 1782003 1782054 + CallExpression 1782003 1782022 + Identifier 1782003 1782012 + Identifier 1782013 1782021 + BarBarToken 1782022 1782025 + BinaryExpression 1782025 1782054 + Identifier 1782025 1782034 + EqualsEqualsEqualsToken 1782034 1782038 + Identifier 1782038 1782054 + Block 1782055 1782147 + ExpressionStatement 1782057 1782115 + CallExpression 1782057 1782114 + Identifier 1782057 1782090 + Identifier 1782091 1782103 + Identifier 1782104 1782113 + ReturnStatement 1782115 1782136 + VariableStatement 1782147 1782179 + VariableDeclarationList 1782147 1782178 + VariableDeclaration 1782160 1782178 + Identifier 1782160 1782165 + Identifier 1782167 1782178 + IfStatement 1782179 1782917 + BinaryExpression 1782193 1782213 + PrefixUnaryExpression 1782193 1782198 + Identifier 1782194 1782198 + AmpersandAmpersandToken 1782198 1782201 + PrefixUnaryExpression 1782201 1782213 + Identifier 1782203 1782213 + Block 1782214 1782917 + VariableStatement 1782216 1782314 + VariableDeclarationList 1782216 1782313 + VariableDeclaration 1782235 1782313 + Identifier 1782235 1782241 + ConditionalExpression 1782243 1782313 + CallExpression 1782243 1782280 + Identifier 1782243 1782270 + Identifier 1782271 1782279 + QuestionToken 1782280 1782282 + PropertyAccessExpression 1782282 1782296 + Identifier 1782282 1782291 + Identifier 1782292 1782296 + ColonToken 1782296 1782298 + PropertyAccessExpression 1782298 1782313 + Identifier 1782298 1782307 + Identifier 1782308 1782313 + VariableStatement 1782314 1782458 + VariableDeclarationList 1782314 1782457 + VariableDeclaration 1782333 1782457 + Identifier 1782333 1782355 + BinaryExpression 1782357 1782457 + CallExpression 1782357 1782384 + Identifier 1782357 1782377 + Identifier 1782378 1782383 + AmpersandAmpersandToken 1782384 1782387 + CallExpression 1782387 1782457 + Identifier 1782387 1782431 + PropertyAccessExpression 1782432 1782449 + Identifier 1782432 1782437 + Identifier 1782438 1782449 + Identifier 1782450 1782456 + VariableStatement 1782458 1782529 + VariableDeclarationList 1782458 1782528 + VariableDeclaration 1782477 1782528 + Identifier 1782477 1782492 + CallExpression 1782494 1782528 + Identifier 1782494 1782518 + Identifier 1782519 1782527 + VariableStatement 1782529 1782693 + VariableDeclarationList 1782529 1782692 + VariableDeclaration 1782548 1782692 + Identifier 1782548 1782561 + CallExpression 1782563 1782692 + Identifier 1782563 1782579 + ConditionalExpression 1782580 1782691 + BinaryExpression 1782580 1782653 + BinaryExpression 1782580 1782618 + Identifier 1782580 1782594 + ExclamationEqualsEqualsToken 1782594 1782598 + PropertyAccessExpression 1782598 1782618 + Identifier 1782598 1782613 + Identifier 1782614 1782618 + BarBarToken 1782618 1782621 + CallExpression 1782621 1782653 + Identifier 1782621 1782643 + Identifier 1782644 1782652 + QuestionToken 1782653 1782655 + CallExpression 1782655 1782680 + Identifier 1782655 1782670 + Identifier 1782671 1782679 + ColonToken 1782680 1782682 + Identifier 1782682 1782691 + ExpressionStatement 1782693 1782906 + BinaryExpression 1782693 1782905 + Identifier 1782693 1782711 + EqualsToken 1782711 1782713 + ConditionalExpression 1782713 1782905 + CallExpression 1782713 1782740 + Identifier 1782713 1782733 + Identifier 1782734 1782739 + QuestionToken 1782740 1782742 + BinaryExpression 1782742 1782852 + BinaryExpression 1782742 1782839 + Identifier 1782742 1782764 + AmpersandAmpersandToken 1782764 1782767 + CallExpression 1782767 1782839 + Identifier 1782767 1782802 + Identifier 1782803 1782815 + Identifier 1782816 1782838 + BarBarToken 1782839 1782842 + Identifier 1782842 1782852 + ColonToken 1782852 1782854 + CallExpression 1782854 1782905 + Identifier 1782854 1782872 + Identifier 1782873 1782885 + PropertyAccessExpression 1782886 1782904 + Identifier 1782886 1782892 + Identifier 1782893 1782904 + IfStatement 1782917 1783167 + PrefixUnaryExpression 1782931 1783085 + ParenthesizedExpression 1782946 1783085 + BinaryExpression 1782947 1783084 + Identifier 1782947 1782951 + AmpersandAmpersandToken 1782951 1782954 + ParenthesizedExpression 1782954 1783084 + BinaryExpression 1782956 1783083 + CallExpression 1782956 1782994 + Identifier 1782956 1782988 + Identifier 1782989 1782993 + BarBarToken 1782994 1782997 + BinaryExpression 1782997 1783083 + BinaryExpression 1782997 1783033 + PropertyAccessExpression 1782997 1783008 + Identifier 1782997 1783002 + Identifier 1783003 1783008 + AmpersandToken 1783008 1783010 + PropertyAccessExpression 1783010 1783033 + Identifier 1783010 1783022 + Identifier 1783023 1783033 + AmpersandAmpersandToken 1783033 1783036 + BinaryExpression 1783036 1783083 + PropertyAccessExpression 1783036 1783057 + PropertyAccessExpression 1783036 1783052 + Identifier 1783036 1783045 + Identifier 1783046 1783052 + Identifier 1783053 1783057 + EqualsEqualsEqualsToken 1783057 1783061 + PropertyAccessExpression 1783061 1783083 + Identifier 1783061 1783072 + Identifier 1783073 1783083 + Block 1783096 1783167 + ExpressionStatement 1783098 1783156 + CallExpression 1783098 1783155 + Identifier 1783098 1783131 + Identifier 1783132 1783144 + Identifier 1783145 1783154 + ReturnStatement 1783167 1783184 + FunctionDeclaration 1783191 1783637 + Identifier 1783207 1783243 + Parameter 1783244 1783270 + Identifier 1783244 1783252 + TypeReference 1783253 1783270 + Identifier 1783253 1783270 + Block 1783271 1783637 + IfStatement 1783273 1783630 + CallExpression 1783287 1783320 + Identifier 1783287 1783299 + PropertyAccessExpression 1783300 1783319 + Identifier 1783300 1783308 + Identifier 1783309 1783319 + Block 1783321 1783630 + VariableStatement 1783323 1783368 + VariableDeclarationList 1783323 1783367 + VariableDeclaration 1783342 1783367 + Identifier 1783342 1783345 + PropertyAccessExpression 1783347 1783367 + Identifier 1783347 1783356 + Identifier 1783357 1783367 + VariableStatement 1783368 1783533 + VariableDeclarationList 1783368 1783532 + VariableDeclaration 1783387 1783532 + Identifier 1783387 1783391 + CallExpression 1783393 1783532 + Identifier 1783393 1783432 + CallExpression 1783433 1783531 + Identifier 1783433 1783450 + Identifier 1783451 1783453 + PropertyAccessExpression 1783454 1783470 + Identifier 1783454 1783466 + Identifier 1783467 1783470 + TrueKeyword 1783471 1783493 + TrueKeyword 1783494 1783520 + Identifier 1783521 1783530 + IfStatement 1783533 1783619 + Identifier 1783551 1783554 + Block 1783555 1783619 + ExpressionStatement 1783557 1783604 + CallExpression 1783557 1783603 + Identifier 1783557 1783594 + Identifier 1783595 1783598 + Identifier 1783599 1783602 + FunctionDeclaration 1783637 1786546 + Identifier 1783653 1783676 + Parameter 1783677 1783725 + Identifier 1783677 1783681 + UnionType 1783682 1783725 + TypeReference 1783682 1783704 + Identifier 1783682 1783704 + TypeReference 1783706 1783725 + Identifier 1783706 1783725 + Block 1783726 1786546 + IfStatement 1783728 1786522 + PrefixUnaryExpression 1783742 1783790 + CallExpression 1783743 1783790 + Identifier 1783743 1783784 + Identifier 1783785 1783789 + Block 1783791 1786522 + VariableStatement 1783793 1784237 + VariableDeclarationList 1783793 1784236 + VariableDeclaration 1784073 1784236 + Identifier 1784073 1784090 + ConditionalExpression 1784092 1784236 + BinaryExpression 1784092 1784145 + Identifier 1784092 1784104 + AmpersandAmpersandToken 1784104 1784107 + BinaryExpression 1784107 1784145 + PropertyAccessExpression 1784107 1784127 + Identifier 1784107 1784123 + Identifier 1784124 1784127 + EqualsEqualsEqualsToken 1784127 1784131 + PropertyAccessExpression 1784131 1784145 + Identifier 1784131 1784139 + Identifier 1784140 1784145 + QuestionToken 1784145 1784147 + PropertyAccessExpression 1784147 1784224 + Identifier 1784147 1784159 + Identifier 1784160 1784224 + ColonToken 1784224 1784226 + Identifier 1784226 1784236 + VariableStatement 1784237 1784301 + VariableDeclarationList 1784237 1784300 + VariableDeclaration 1784256 1784300 + Identifier 1784256 1784276 + CallExpression 1784278 1784300 + Identifier 1784278 1784294 + Identifier 1784295 1784299 + VariableStatement 1784301 1784394 + VariableDeclarationList 1784301 1784393 + VariableDeclaration 1784320 1784393 + Identifier 1784320 1784339 + ConditionalExpression 1784341 1784393 + CallExpression 1784341 1784371 + Identifier 1784341 1784365 + Identifier 1784366 1784370 + QuestionToken 1784371 1784373 + PropertyAccessExpression 1784373 1784386 + Identifier 1784373 1784378 + Identifier 1784379 1784386 + ColonToken 1784386 1784388 + Identifier 1784388 1784393 + VariableStatement 1784394 1784524 + VariableDeclarationList 1784394 1784523 + VariableDeclaration 1784413 1784523 + Identifier 1784413 1784433 + BinaryExpression 1784435 1784523 + BinaryExpression 1784435 1784476 + PropertyAccessExpression 1784435 1784455 + Identifier 1784435 1784451 + Identifier 1784452 1784455 + ExclamationEqualsEqualsToken 1784455 1784459 + PropertyAccessExpression 1784459 1784476 + Identifier 1784459 1784467 + Identifier 1784468 1784476 + AmpersandAmpersandToken 1784476 1784479 + BinaryExpression 1784479 1784523 + PropertyAccessExpression 1784479 1784499 + Identifier 1784479 1784495 + Identifier 1784496 1784499 + ExclamationEqualsEqualsToken 1784499 1784503 + PropertyAccessExpression 1784503 1784523 + Identifier 1784503 1784511 + Identifier 1784512 1784523 + VariableStatement 1784524 1784641 + VariableDeclarationList 1784524 1784640 + VariableDeclaration 1784606 1784640 + Identifier 1784606 1784620 + UnionType 1784621 1784640 + TypeReference 1784621 1784628 + Identifier 1784621 1784628 + UndefinedKeyword 1784630 1784640 + IfStatement 1784641 1785067 + PrefixUnaryExpression 1784659 1784722 + ParenthesizedExpression 1784660 1784722 + BinaryExpression 1784661 1784721 + CallExpression 1784661 1784687 + Identifier 1784661 1784681 + Identifier 1784682 1784686 + AmpersandAmpersandToken 1784687 1784690 + BinaryExpression 1784690 1784721 + Identifier 1784690 1784710 + EqualsEqualsEqualsToken 1784710 1784714 + StringLiteral 1784714 1784721 + Block 1784723 1785067 + ExpressionStatement 1784725 1785052 + BinaryExpression 1784725 1785051 + Identifier 1784725 1784756 + EqualsToken 1784756 1784758 + CallExpression 1784758 1785051 + Identifier 1784758 1784770 + Identifier 1784771 1784811 + Identifier 1784812 1784853 + ConditionalExpression 1784854 1784955 + Identifier 1784854 1784895 + QuestionToken 1784895 1784897 + PropertyAccessExpression 1784897 1784915 + Identifier 1784897 1784909 + Identifier 1784910 1784915 + ColonToken 1784915 1784917 + BinaryExpression 1784917 1784955 + PropertyAccessExpression 1784917 1784935 + Identifier 1784917 1784929 + Identifier 1784930 1784935 + AmpersandToken 1784935 1784937 + PrefixUnaryExpression 1784937 1784955 + PropertyAccessExpression 1784939 1784955 + Identifier 1784939 1784950 + Identifier 1784951 1784955 + Identifier 1784956 1784994 + TrueKeyword 1784995 1785031 + IfStatement 1785067 1785681 + Identifier 1785087 1785100 + Block 1785101 1785681 + ExpressionStatement 1785103 1785349 + BinaryExpression 1785103 1785348 + PropertyAccessExpression 1785103 1785330 + Identifier 1785103 1785317 + Identifier 1785318 1785330 + EqualsToken 1785330 1785332 + PropertyAccessExpression 1785332 1785348 + Identifier 1785332 1785344 + Identifier 1785345 1785348 + IfStatement 1785349 1785666 + BinaryExpression 1785451 1785579 + BinaryExpression 1785451 1785532 + Identifier 1785451 1785489 + AmpersandAmpersandToken 1785489 1785492 + BinaryExpression 1785492 1785532 + PropertyAccessExpression 1785492 1785512 + Identifier 1785492 1785506 + Identifier 1785507 1785512 + AmpersandToken 1785512 1785514 + PropertyAccessExpression 1785514 1785532 + Identifier 1785514 1785526 + Identifier 1785527 1785532 + AmpersandAmpersandToken 1785532 1785535 + PrefixUnaryExpression 1785535 1785579 + CallExpression 1785537 1785579 + Identifier 1785537 1785564 + Identifier 1785565 1785578 + Block 1785580 1785666 + ExpressionStatement 1785582 1785647 + CallExpression 1785582 1785646 + Identifier 1785582 1785631 + Identifier 1785632 1785645 + IfStatement 1785681 1786511 + CallExpression 1785877 1785903 + Identifier 1785877 1785897 + Identifier 1785898 1785902 + Block 1785904 1786511 + VariableStatement 1785906 1785963 + VariableDeclarationList 1785906 1785962 + VariableDeclaration 1785929 1785962 + Identifier 1785929 1785934 + CallExpression 1785936 1785962 + Identifier 1785936 1785956 + Identifier 1785957 1785961 + VariableStatement 1785963 1786022 + VariableDeclarationList 1785963 1786021 + VariableDeclaration 1785986 1786021 + Identifier 1785986 1785993 + CallExpression 1785995 1786021 + Identifier 1785995 1786015 + Identifier 1786016 1786020 + IfStatement 1786022 1786496 + Identifier 1786044 1786050 + Block 1786051 1786496 + VariableStatement 1786053 1786140 + VariableDeclarationList 1786053 1786139 + VariableDeclaration 1786080 1786139 + Identifier 1786080 1786098 + PropertyAccessExpression 1786100 1786139 + CallExpression 1786100 1786127 + Identifier 1786100 1786119 + Identifier 1786120 1786126 + Identifier 1786128 1786139 + ExpressionStatement 1786140 1786477 + CallExpression 1786140 1786476 + Identifier 1786140 1786173 + Identifier 1786174 1786218 + Identifier 1786219 1786262 + ConditionalExpression 1786263 1786368 + Identifier 1786263 1786308 + QuestionToken 1786308 1786310 + PropertyAccessExpression 1786310 1786328 + Identifier 1786310 1786322 + Identifier 1786323 1786328 + ColonToken 1786328 1786330 + BinaryExpression 1786330 1786368 + PropertyAccessExpression 1786330 1786348 + Identifier 1786330 1786342 + Identifier 1786343 1786348 + AmpersandToken 1786348 1786350 + PrefixUnaryExpression 1786350 1786368 + PropertyAccessExpression 1786352 1786368 + Identifier 1786352 1786363 + Identifier 1786364 1786368 + Identifier 1786369 1786411 + TrueKeyword 1786412 1786452 + ReturnStatement 1786522 1786539 + FunctionDeclaration 1786546 1786943 + Identifier 1786562 1786595 + Parameter 1786596 1786647 + Identifier 1786596 1786604 + UnionType 1786605 1786647 + TypeReference 1786605 1786629 + Identifier 1786605 1786629 + TypeReference 1786631 1786647 + Identifier 1786631 1786647 + Block 1786648 1786943 + IfStatement 1786650 1786936 + BinaryExpression 1786664 1786701 + Identifier 1786664 1786679 + LessThanToken 1786679 1786681 + PropertyAccessExpression 1786681 1786701 + Identifier 1786681 1786694 + Identifier 1786695 1786701 + Block 1786702 1786936 + IfStatement 1786704 1786925 + BinaryExpression 1786722 1786770 + CallExpression 1786722 1786748 + Identifier 1786722 1786738 + Identifier 1786739 1786747 + AmpersandToken 1786748 1786750 + PropertyAccessExpression 1786750 1786770 + Identifier 1786750 1786764 + Identifier 1786765 1786770 + Block 1786771 1786925 + VariableStatement 1786773 1786851 + VariableDeclarationList 1786773 1786850 + VariableDeclaration 1786796 1786850 + Identifier 1786796 1786811 + CallExpression 1786813 1786850 + Identifier 1786813 1786840 + Identifier 1786841 1786849 + ExpressionStatement 1786851 1786910 + CallExpression 1786851 1786909 + Identifier 1786851 1786893 + Identifier 1786894 1786908 + FunctionDeclaration 1786943 1787162 + Identifier 1786959 1786991 + Parameter 1786992 1787025 + Identifier 1786992 1787000 + TypeReference 1787001 1787025 + Identifier 1787001 1787025 + Block 1787026 1787162 + IfStatement 1787028 1787155 + CallExpression 1787042 1787094 + Identifier 1787042 1787062 + Identifier 1787063 1787071 + PropertyAccessExpression 1787072 1787093 + Identifier 1787072 1787086 + Identifier 1787087 1787093 + Block 1787095 1787155 + ExpressionStatement 1787097 1787144 + CallExpression 1787097 1787143 + Identifier 1787097 1787133 + Identifier 1787134 1787142 + FunctionDeclaration 1787162 1788516 + Identifier 1787178 1787213 + Parameter 1787214 1787239 + Identifier 1787214 1787222 + TypeReference 1787223 1787239 + Identifier 1787223 1787239 + Block 1787240 1788516 + IfStatement 1787242 1788509 + BinaryExpression 1787256 1787357 + BinaryExpression 1787256 1787319 + PrefixUnaryExpression 1787256 1787295 + PropertyAccessExpression 1787257 1787295 + PropertyAccessExpression 1787257 1787279 + PropertyAccessExpression 1787257 1787272 + Identifier 1787257 1787265 + Identifier 1787266 1787272 + Identifier 1787273 1787279 + Identifier 1787280 1787295 + AmpersandAmpersandToken 1787295 1787298 + PrefixUnaryExpression 1787298 1787319 + PropertyAccessExpression 1787300 1787319 + Identifier 1787300 1787308 + Identifier 1787309 1787319 + AmpersandAmpersandToken 1787319 1787322 + PrefixUnaryExpression 1787322 1787357 + PropertyAccessExpression 1787324 1787357 + PropertyAccessExpression 1787324 1787346 + PropertyAccessExpression 1787324 1787339 + Identifier 1787324 1787332 + Identifier 1787333 1787339 + Identifier 1787340 1787346 + Identifier 1787347 1787357 + Block 1787358 1788509 + VariableStatement 1787360 1787434 + VariableDeclarationList 1787360 1787433 + VariableDeclaration 1787379 1787433 + Identifier 1787379 1787392 + BinaryExpression 1787394 1787433 + PropertyAccessExpression 1787394 1787416 + Identifier 1787394 1787403 + Identifier 1787404 1787416 + BarBarToken 1787416 1787419 + PropertyAccessExpression 1787419 1787433 + Identifier 1787419 1787428 + Identifier 1787429 1787433 + IfStatement 1787434 1787594 + BinaryExpression 1787452 1787498 + PropertyAccessExpression 1787452 1787469 + Identifier 1787452 1787464 + Identifier 1787465 1787469 + EqualsEqualsEqualsToken 1787469 1787473 + PropertyAccessExpression 1787473 1787498 + Identifier 1787473 1787484 + Identifier 1787485 1787498 + Block 1787499 1787594 + ReturnStatement 1787501 1787526 + VariableStatement 1787594 1787808 + VariableDeclarationList 1787594 1787807 + VariableDeclaration 1787613 1787807 + Identifier 1787613 1787620 + CallExpression 1787622 1787807 + Identifier 1787622 1787634 + Identifier 1787635 1787647 + PropertyAccessExpression 1787648 1787673 + Identifier 1787648 1787661 + Identifier 1787662 1787673 + BinaryExpression 1787674 1787755 + BinaryExpression 1787674 1787735 + BinaryExpression 1787674 1787711 + PropertyAccessExpression 1787674 1787692 + Identifier 1787674 1787686 + Identifier 1787687 1787692 + BarToken 1787692 1787694 + PropertyAccessExpression 1787694 1787711 + Identifier 1787694 1787706 + Identifier 1787707 1787711 + BarToken 1787711 1787713 + PropertyAccessExpression 1787713 1787735 + Identifier 1787713 1787725 + Identifier 1787726 1787735 + BarToken 1787735 1787737 + PropertyAccessExpression 1787737 1787755 + Identifier 1787737 1787749 + Identifier 1787750 1787755 + Identifier 1787756 1787790 + TrueKeyword 1787791 1787806 + IfStatement 1787808 1788477 + BinaryExpression 1787826 1787989 + Identifier 1787826 1787832 + AmpersandAmpersandToken 1787832 1787835 + ParenthesizedExpression 1787835 1787989 + BinaryExpression 1787837 1787988 + BinaryExpression 1787837 1787894 + BinaryExpression 1787837 1787863 + Identifier 1787837 1787843 + EqualsEqualsEqualsToken 1787843 1787847 + Identifier 1787847 1787863 + BarBarToken 1787863 1787866 + BinaryExpression 1787866 1787894 + Identifier 1787866 1787873 + EqualsEqualsEqualsToken 1787873 1787877 + Identifier 1787877 1787894 + BarBarToken 1787894 1787897 + BinaryExpression 1787897 1787988 + PropertyAccessExpression 1787897 1787917 + Identifier 1787897 1787904 + Identifier 1787905 1787917 + AmpersandAmpersandToken 1787917 1787920 + CallExpression 1787920 1787988 + Identifier 1787920 1787939 + CallExpression 1787940 1787987 + Identifier 1787940 1787963 + ElementAccessExpression 1787964 1787986 + PropertyAccessExpression 1787964 1787983 + Identifier 1787964 1787970 + Identifier 1787971 1787983 + NumericLiteral 1787984 1787985 + Block 1787990 1788056 + Block 1788074 1788477 + VariableStatement 1788076 1788186 + VariableDeclarationList 1788076 1788185 + VariableDeclaration 1788099 1788185 + Identifier 1788099 1788106 + BinaryExpression 1788108 1788185 + Identifier 1788108 1788115 + AmpersandAmpersandToken 1788115 1788118 + ParenthesizedExpression 1788118 1788185 + ConditionalExpression 1788120 1788184 + BinaryExpression 1788120 1788152 + PropertyAccessExpression 1788120 1788132 + Identifier 1788120 1788126 + Identifier 1788127 1788132 + AmpersandToken 1788132 1788134 + PropertyAccessExpression 1788134 1788152 + Identifier 1788134 1788146 + Identifier 1788147 1788152 + QuestionToken 1788152 1788154 + CallExpression 1788154 1788175 + Identifier 1788154 1788167 + Identifier 1788168 1788174 + ColonToken 1788175 1788177 + Identifier 1788177 1788184 + IfStatement 1788186 1788462 + BinaryExpression 1788208 1788261 + PrefixUnaryExpression 1788208 1788215 + Identifier 1788209 1788215 + BarBarToken 1788215 1788218 + BinaryExpression 1788218 1788261 + CallExpression 1788218 1788241 + Identifier 1788218 1788233 + Identifier 1788234 1788240 + AmpersandToken 1788241 1788243 + PropertyAccessExpression 1788243 1788261 + Identifier 1788243 1788255 + Identifier 1788256 1788261 + Block 1788262 1788462 + ExpressionStatement 1788264 1788319 + CallExpression 1788264 1788318 + Identifier 1788264 1788308 + Identifier 1788309 1788317 + ExpressionStatement 1788319 1788409 + CallExpression 1788319 1788408 + Identifier 1788319 1788394 + Identifier 1788395 1788407 + ReturnStatement 1788477 1788498 + FunctionDeclaration 1788516 1791216 + Identifier 1788532 1788561 + Parameter 1788562 1788581 + Identifier 1788562 1788566 + TypeReference 1788567 1788581 + Identifier 1788567 1788581 + Block 1788582 1791216 + IfStatement 1788584 1791209 + PropertyAccessExpression 1788598 1788635 + Identifier 1788598 1788613 + Identifier 1788614 1788635 + Block 1788636 1791209 + VariableStatement 1788638 1788709 + VariableDeclarationList 1788638 1788708 + VariableDeclaration 1788657 1788708 + Identifier 1788657 1788672 + CallExpression 1788674 1788708 + Identifier 1788674 1788679 + PropertyAccessExpression 1788680 1788694 + Identifier 1788680 1788684 + Identifier 1788685 1788694 + Identifier 1788695 1788707 + IfStatement 1788709 1788785 + PrefixUnaryExpression 1788727 1788742 + Identifier 1788728 1788742 + Block 1788743 1788785 + ReturnStatement 1788745 1788770 + ExpressionStatement 1788785 1788872 + CallExpression 1788785 1788871 + Identifier 1788785 1788825 + Identifier 1788826 1788840 + PropertyAccessExpression 1788841 1788870 + Identifier 1788841 1788861 + Identifier 1788862 1788870 + SwitchStatement 1788872 1791198 + PropertyAccessExpression 1789024 1789033 + Identifier 1789024 1789028 + Identifier 1789029 1789033 + CaseBlock 1789034 1791198 + CaseClause 1789036 1789480 + PropertyAccessExpression 1789058 1789086 + Identifier 1789058 1789069 + Identifier 1789070 1789086 + VariableStatement 1789087 1789163 + VariableDeclarationList 1789087 1789162 + VariableDeclaration 1789114 1789162 + Identifier 1789114 1789126 + CallExpression 1789128 1789162 + Identifier 1789128 1789156 + Identifier 1789157 1789161 + IfStatement 1789163 1789452 + Identifier 1789189 1789200 + Block 1789201 1789452 + ForOfStatement 1789203 1789429 + VariableDeclarationList 1789234 1789249 + VariableDeclaration 1789239 1789249 + Identifier 1789239 1789249 + PropertyAccessExpression 1789252 1789275 + Identifier 1789252 1789264 + Identifier 1789265 1789275 + Block 1789276 1789429 + ExpressionStatement 1789278 1789402 + CallExpression 1789278 1789401 + Identifier 1789278 1789351 + CallExpression 1789352 1789400 + Identifier 1789352 1789389 + Identifier 1789390 1789399 + BreakStatement 1789452 1789480 + CaseClause 1789480 1789528 + PropertyAccessExpression 1789504 1789527 + Identifier 1789504 1789515 + Identifier 1789516 1789527 + CaseClause 1789528 1790022 + PropertyAccessExpression 1789550 1789573 + Identifier 1789550 1789561 + Identifier 1789562 1789573 + VariableStatement 1789574 1789701 + VariableDeclarationList 1789574 1789700 + VariableDeclaration 1789601 1789700 + Identifier 1789601 1789611 + ConditionalExpression 1789613 1789700 + BinaryExpression 1789613 1789650 + PropertyAccessExpression 1789613 1789623 + Identifier 1789613 1789618 + Identifier 1789619 1789623 + EqualsEqualsEqualsToken 1789623 1789627 + PropertyAccessExpression 1789627 1789650 + Identifier 1789627 1789638 + Identifier 1789639 1789650 + QuestionToken 1789650 1789652 + PropertyAccessExpression 1789652 1789675 + Identifier 1789652 1789663 + Identifier 1789664 1789675 + ColonToken 1789675 1789677 + PropertyAccessExpression 1789677 1789700 + Identifier 1789677 1789688 + Identifier 1789689 1789700 + VariableStatement 1789701 1789828 + VariableDeclarationList 1789701 1789827 + VariableDeclaration 1789728 1789827 + Identifier 1789728 1789742 + CallExpression 1789744 1789827 + Identifier 1789744 1789765 + TypeReference 1789766 1789785 + Identifier 1789766 1789785 + CallExpression 1789787 1789815 + Identifier 1789787 1789809 + Identifier 1789810 1789814 + Identifier 1789816 1789826 + ExpressionStatement 1789828 1789994 + CallExpression 1789828 1789993 + Identifier 1789828 1789893 + BinaryExpression 1789894 1789992 + CallExpression 1789894 1789928 + Identifier 1789894 1789922 + Identifier 1789923 1789927 + BarBarToken 1789928 1789931 + BinaryExpression 1789931 1789992 + Identifier 1789931 1789945 + AmpersandAmpersandToken 1789945 1789948 + CallExpression 1789948 1789992 + Identifier 1789948 1789977 + Identifier 1789978 1789991 + BreakStatement 1789994 1790022 + CaseClause 1790022 1790411 + PropertyAccessExpression 1790044 1790073 + Identifier 1790044 1790055 + Identifier 1790056 1790073 + ForOfStatement 1790074 1790281 + VariableDeclarationList 1790101 1790116 + VariableDeclaration 1790106 1790116 + Identifier 1790106 1790116 + PropertyAccessExpression 1790119 1790135 + Identifier 1790119 1790124 + Identifier 1790125 1790135 + Block 1790136 1790281 + ExpressionStatement 1790138 1790258 + CallExpression 1790138 1790257 + Identifier 1790138 1790207 + CallExpression 1790208 1790256 + Identifier 1790208 1790245 + Identifier 1790246 1790255 + ExpressionStatement 1790281 1790383 + CallExpression 1790281 1790382 + Identifier 1790281 1790348 + CallExpression 1790349 1790381 + Identifier 1790349 1790375 + Identifier 1790376 1790380 + BreakStatement 1790383 1790411 + CaseClause 1790411 1790599 + PropertyAccessExpression 1790435 1790466 + Identifier 1790435 1790446 + Identifier 1790447 1790466 + ExpressionStatement 1790467 1790571 + CallExpression 1790467 1790570 + Identifier 1790467 1790532 + CallExpression 1790533 1790569 + Identifier 1790533 1790563 + Identifier 1790564 1790568 + BreakStatement 1790571 1790599 + CaseClause 1790599 1791183 + PropertyAccessExpression 1790623 1790644 + Identifier 1790623 1790634 + Identifier 1790635 1790644 + ExpressionStatement 1790645 1790756 + CallExpression 1790645 1790755 + Identifier 1790645 1790710 + CallExpression 1790711 1790754 + Identifier 1790711 1790748 + Identifier 1790749 1790753 + VariableStatement 1790756 1790818 + VariableDeclarationList 1790756 1790817 + VariableDeclaration 1790783 1790817 + Identifier 1790783 1790803 + PropertyAccessExpression 1790805 1790817 + Identifier 1790805 1790810 + Identifier 1790811 1790817 + ForOfStatement 1790818 1791040 + VariableDeclarationList 1790845 1790860 + VariableDeclaration 1790850 1790860 + Identifier 1790850 1790860 + PropertyAccessExpression 1790863 1790894 + Identifier 1790863 1790883 + Identifier 1790884 1790894 + Block 1790895 1791040 + ExpressionStatement 1790897 1791017 + CallExpression 1790897 1791016 + Identifier 1790897 1790966 + CallExpression 1790967 1791015 + Identifier 1790967 1791004 + Identifier 1791005 1791014 + ExpressionStatement 1791040 1791155 + CallExpression 1791040 1791154 + Identifier 1791040 1791105 + CallExpression 1791106 1791153 + Identifier 1791106 1791132 + Identifier 1791133 1791152 + BreakStatement 1791155 1791183 + FunctionDeclaration 1791216 1792356 + Identifier 1791232 1791252 + Parameter 1791253 1791267 + Identifier 1791253 1791259 + TypeReference 1791260 1791267 + Identifier 1791260 1791267 + Parameter 1791268 1791283 + Identifier 1791268 1791277 + TypeReference 1791278 1791283 + Identifier 1791278 1791283 + Block 1791284 1792356 + IfStatement 1791286 1791374 + PrefixUnaryExpression 1791300 1791339 + Identifier 1791301 1791339 + Block 1791340 1791374 + ReturnStatement 1791342 1791363 + IfStatement 1791374 1792349 + BinaryExpression 1791388 1791471 + CallExpression 1791388 1791443 + Identifier 1791388 1791403 + Identifier 1791404 1791410 + PropertyAccessExpression 1791411 1791442 + Identifier 1791411 1791436 + Identifier 1791437 1791442 + AmpersandAmpersandToken 1791443 1791446 + PrefixUnaryExpression 1791446 1791471 + CallExpression 1791448 1791471 + Identifier 1791448 1791461 + Identifier 1791462 1791470 + Block 1791472 1792349 + VariableStatement 1791474 1791524 + VariableDeclarationList 1791474 1791523 + VariableDeclaration 1791493 1791523 + Identifier 1791493 1791500 + CallExpression 1791502 1791523 + Identifier 1791502 1791515 + Identifier 1791516 1791522 + IfStatement 1791524 1792338 + BinaryExpression 1791542 1791646 + CallExpression 1791542 1791598 + Identifier 1791542 1791556 + Identifier 1791557 1791563 + TrueKeyword 1791564 1791597 + AmpersandToken 1791598 1791600 + ParenthesizedExpression 1791600 1791646 + BinaryExpression 1791602 1791645 + PropertyAccessExpression 1791602 1791619 + Identifier 1791602 1791613 + Identifier 1791614 1791619 + BarToken 1791619 1791621 + PropertyAccessExpression 1791621 1791645 + Identifier 1791621 1791633 + Identifier 1791634 1791645 + Block 1791647 1792338 + IfStatement 1791649 1792323 + BinaryExpression 1791956 1792225 + BinaryExpression 1791956 1792119 + CallExpression 1791956 1792013 + Identifier 1791956 1791996 + Identifier 1791997 1792012 + BarBarToken 1792013 1792016 + BinaryExpression 1792016 1792119 + CallExpression 1792016 1792079 + Identifier 1792016 1792062 + Identifier 1792063 1792078 + AmpersandAmpersandToken 1792079 1792082 + CallExpression 1792082 1792119 + Identifier 1792082 1792109 + Identifier 1792110 1792118 + BarBarToken 1792119 1792122 + PrefixUnaryExpression 1792122 1792225 + CallExpression 1792145 1792225 + Identifier 1792145 1792177 + CallExpression 1792178 1792224 + Identifier 1792178 1792216 + Identifier 1792217 1792223 + Block 1792244 1792323 + ExpressionStatement 1792246 1792304 + CallExpression 1792246 1792303 + Identifier 1792246 1792295 + Identifier 1792296 1792302 + FunctionDeclaration 1792356 1793728 + Identifier 1792744 1792772 + Parameter 1792773 1792787 + Identifier 1792773 1792779 + TypeReference 1792780 1792787 + Identifier 1792780 1792787 + Block 1792788 1793728 + ExpressionStatement 1792790 1792853 + CallExpression 1792790 1792852 + PropertyAccessExpression 1792790 1792812 + Identifier 1792790 1792805 + Identifier 1792806 1792812 + Identifier 1792813 1792851 + VariableStatement 1792853 1792900 + VariableDeclarationList 1792853 1792899 + VariableDeclaration 1792868 1792899 + Identifier 1792868 1792874 + CallExpression 1792876 1792899 + Identifier 1792876 1792891 + Identifier 1792892 1792898 + IfStatement 1792900 1793721 + PrefixUnaryExpression 1792914 1792931 + PropertyAccessExpression 1792915 1792931 + Identifier 1792915 1792920 + Identifier 1792921 1792931 + Block 1792932 1793721 + ExpressionStatement 1792934 1792972 + BinaryExpression 1792934 1792971 + PropertyAccessExpression 1792934 1792964 + Identifier 1792934 1792953 + Identifier 1792954 1792964 + EqualsToken 1792964 1792966 + TrueKeyword 1792966 1792971 + VariableStatement 1792972 1793035 + VariableDeclarationList 1792972 1793034 + VariableDeclaration 1792991 1793034 + Identifier 1792991 1792996 + CallExpression 1792998 1793034 + Identifier 1792998 1793026 + Identifier 1793027 1793033 + IfStatement 1793035 1793080 + PrefixUnaryExpression 1793053 1793058 + Identifier 1793054 1793058 + ReturnStatement 1793059 1793080 + CallExpression 1793066 1793079 + PropertyAccessExpression 1793066 1793077 + Identifier 1793066 1793072 + Identifier 1793073 1793077 + IfStatement 1793080 1793710 + CallExpression 1793342 1793387 + Identifier 1793342 1793381 + Identifier 1793382 1793386 + Block 1793388 1793710 + IfStatement 1793390 1793695 + BinaryExpression 1793412 1793469 + CallExpression 1793412 1793449 + Identifier 1793412 1793426 + CallExpression 1793427 1793448 + Identifier 1793427 1793440 + Identifier 1793441 1793447 + AmpersandToken 1793449 1793451 + PropertyAccessExpression 1793451 1793469 + Identifier 1793451 1793463 + Identifier 1793464 1793469 + Block 1793470 1793695 + VariableStatement 1793472 1793618 + VariableDeclarationList 1793472 1793617 + VariableDeclaration 1793545 1793617 + Identifier 1793545 1793550 + CallExpression 1793552 1793617 + Identifier 1793552 1793571 + AsExpression 1793572 1793616 + PropertyAccessExpression 1793572 1793592 + Identifier 1793572 1793576 + Identifier 1793577 1793592 + TypeReference 1793595 1793616 + Identifier 1793595 1793616 + ExpressionStatement 1793618 1793676 + CallExpression 1793618 1793675 + Identifier 1793618 1793669 + Identifier 1793670 1793674 + FunctionDeclaration 1793728 1794263 + Identifier 1793744 1793767 + Parameter 1793768 1793815 + Identifier 1793768 1793772 + UnionType 1793773 1793815 + TypeReference 1793773 1793797 + Identifier 1793773 1793797 + TypeReference 1793799 1793815 + Identifier 1793799 1793815 + Block 1793816 1794263 + VariableStatement 1793818 1793872 + VariableDeclarationList 1793818 1793871 + VariableDeclaration 1793833 1793871 + Identifier 1793833 1793840 + CallExpression 1793842 1793871 + Identifier 1793842 1793865 + Identifier 1793866 1793870 + VariableStatement 1793872 1793918 + VariableDeclarationList 1793872 1793917 + VariableDeclaration 1793887 1793917 + Identifier 1793887 1793894 + CallExpression 1793896 1793917 + Identifier 1793896 1793909 + Identifier 1793910 1793916 + IfStatement 1793918 1794256 + Identifier 1793932 1793938 + Block 1793939 1794256 + VariableStatement 1793941 1794144 + VariableDeclarationList 1793941 1794143 + VariableDeclaration 1793960 1794143 + Identifier 1793960 1793970 + BinaryExpression 1793972 1794143 + BinaryExpression 1793972 1793997 + Identifier 1793972 1793979 + EqualsEqualsEqualsToken 1793979 1793983 + Identifier 1793983 1793997 + BarBarToken 1793997 1794000 + ParenthesizedExpression 1794000 1794143 + BinaryExpression 1794019 1794142 + ParenthesizedExpression 1794019 1794097 + BinaryExpression 1794020 1794096 + CallExpression 1794020 1794076 + Identifier 1794020 1794034 + Identifier 1794035 1794041 + TrueKeyword 1794042 1794075 + AmpersandToken 1794076 1794078 + PropertyAccessExpression 1794078 1794096 + Identifier 1794078 1794090 + Identifier 1794091 1794096 + AmpersandAmpersandToken 1794097 1794100 + PrefixUnaryExpression 1794100 1794142 + CallExpression 1794102 1794142 + Identifier 1794102 1794134 + Identifier 1794135 1794141 + IfStatement 1794144 1794245 + Identifier 1794164 1794173 + Block 1794174 1794245 + ExpressionStatement 1794176 1794230 + CallExpression 1794176 1794229 + Identifier 1794176 1794221 + Identifier 1794222 1794228 + FunctionDeclaration 1794263 1796091 + Identifier 1794279 1794323 + Parameter 1794324 1794378 + Identifier 1794324 1794332 + UnionType 1794333 1794378 + TypeReference 1794333 1794366 + Identifier 1794333 1794366 + UndefinedKeyword 1794368 1794378 + Parameter 1794379 1794409 + Identifier 1794379 1794400 + BooleanKeyword 1794401 1794409 + Block 1794410 1796091 + IfStatement 1794412 1794444 + PrefixUnaryExpression 1794426 1794435 + Identifier 1794427 1794435 + ReturnStatement 1794436 1794444 + VariableStatement 1794444 1794502 + VariableDeclarationList 1794444 1794501 + VariableDeclaration 1794461 1794501 + Identifier 1794461 1794470 + CallExpression 1794472 1794501 + Identifier 1794472 1794491 + Identifier 1794492 1794500 + VariableStatement 1794502 1794633 + VariableDeclarationList 1794502 1794632 + VariableDeclaration 1794517 1794632 + Identifier 1794517 1794525 + BinaryExpression 1794527 1794632 + ParenthesizedExpression 1794527 1794612 + ConditionalExpression 1794529 1794611 + BinaryExpression 1794529 1794568 + PropertyAccessExpression 1794529 1794542 + Identifier 1794529 1794537 + Identifier 1794538 1794542 + EqualsEqualsEqualsToken 1794542 1794546 + PropertyAccessExpression 1794546 1794568 + Identifier 1794546 1794557 + Identifier 1794558 1794568 + QuestionToken 1794568 1794570 + PropertyAccessExpression 1794570 1794587 + Identifier 1794570 1794582 + Identifier 1794583 1794587 + ColonToken 1794587 1794589 + PropertyAccessExpression 1794589 1794611 + Identifier 1794589 1794601 + Identifier 1794602 1794611 + BarToken 1794612 1794614 + PropertyAccessExpression 1794614 1794632 + Identifier 1794614 1794626 + Identifier 1794627 1794632 + VariableStatement 1794633 1794766 + VariableDeclarationList 1794633 1794765 + VariableDeclaration 1794648 1794765 + Identifier 1794648 1794659 + CallExpression 1794661 1794765 + Identifier 1794661 1794673 + Identifier 1794674 1794682 + PropertyAccessExpression 1794683 1794704 + Identifier 1794683 1794692 + Identifier 1794693 1794704 + Identifier 1794705 1794713 + Identifier 1794714 1794748 + TrueKeyword 1794749 1794764 + IfStatement 1794766 1796084 + BinaryExpression 1794780 1794830 + Identifier 1794780 1794790 + AmpersandAmpersandToken 1794790 1794793 + BinaryExpression 1794793 1794830 + PropertyAccessExpression 1794793 1794810 + Identifier 1794793 1794804 + Identifier 1794805 1794810 + AmpersandToken 1794810 1794812 + PropertyAccessExpression 1794812 1794830 + Identifier 1794812 1794824 + Identifier 1794825 1794830 + Block 1794831 1796084 + IfStatement 1794833 1796073 + BinaryExpression 1794851 1795094 + BinaryExpression 1794851 1795033 + BinaryExpression 1794851 1794953 + Identifier 1794851 1794907 + AmpersandAmpersandToken 1794907 1794927 + CallExpression 1794927 1794953 + Identifier 1794927 1794941 + Identifier 1794942 1794952 + AmpersandAmpersandToken 1794953 1794973 + PrefixUnaryExpression 1794973 1795033 + CallExpression 1794975 1795033 + Identifier 1794975 1795007 + CallExpression 1795008 1795032 + Identifier 1795008 1795020 + Identifier 1795021 1795031 + AmpersandAmpersandToken 1795033 1795053 + PrefixUnaryExpression 1795053 1795094 + CallExpression 1795055 1795094 + Identifier 1795055 1795082 + Identifier 1795083 1795093 + Block 1795109 1795184 + ExpressionStatement 1795111 1795169 + CallExpression 1795111 1795168 + Identifier 1795111 1795156 + Identifier 1795157 1795167 + IfStatement 1795202 1796073 + BinaryExpression 1795207 1795512 + BinaryExpression 1795207 1795424 + BinaryExpression 1795207 1795377 + BinaryExpression 1795207 1795301 + Identifier 1795207 1795245 + AmpersandAmpersandToken 1795245 1795265 + CallExpression 1795265 1795301 + Identifier 1795265 1795284 + Identifier 1795285 1795300 + AmpersandAmpersandToken 1795301 1795321 + BinaryExpression 1795321 1795377 + CallExpression 1795321 1795356 + Identifier 1795321 1795339 + Identifier 1795340 1795355 + GreaterThanEqualsToken 1795356 1795359 + PropertyAccessExpression 1795359 1795377 + Identifier 1795359 1795370 + Identifier 1795371 1795377 + AmpersandAmpersandToken 1795377 1795397 + PrefixUnaryExpression 1795397 1795424 + CallExpression 1795399 1795424 + Identifier 1795399 1795412 + Identifier 1795413 1795423 + AmpersandAmpersandToken 1795424 1795444 + PrefixUnaryExpression 1795444 1795512 + CallExpression 1795446 1795512 + Identifier 1795446 1795450 + PropertyAccessExpression 1795451 1795474 + Identifier 1795451 1795461 + Identifier 1795462 1795474 + Identifier 1795475 1795511 + Block 1795527 1796073 + VariableStatement 1795529 1795747 + VariableDeclarationList 1795529 1795746 + VariableDeclaration 1795552 1795746 + Identifier 1795552 1795557 + CallExpression 1795559 1795746 + Identifier 1795559 1795565 + Identifier 1795566 1795574 + PropertyAccessExpression 1795575 1795745 + Identifier 1795575 1795587 + Identifier 1795588 1795745 + VariableStatement 1795747 1795860 + VariableDeclarationList 1795747 1795859 + VariableDeclaration 1795770 1795859 + Identifier 1795770 1795787 + CallExpression 1795789 1795859 + Identifier 1795789 1795794 + BinaryExpression 1795795 1795832 + PropertyAccessExpression 1795795 1795818 + Identifier 1795795 1795805 + Identifier 1795806 1795818 + BarBarToken 1795818 1795821 + Identifier 1795821 1795832 + Identifier 1795833 1795858 + IfStatement 1795860 1796058 + Identifier 1795882 1795898 + Block 1795899 1796058 + ExpressionStatement 1795901 1796039 + CallExpression 1795901 1796038 + Identifier 1795901 1795937 + Identifier 1795938 1795942 + CallExpression 1795943 1796037 + Identifier 1795943 1795967 + Identifier 1795968 1795984 + PropertyAccessExpression 1795985 1796018 + Identifier 1795985 1795997 + Identifier 1795998 1796018 + CallExpression 1796019 1796036 + Identifier 1796019 1796026 + Identifier 1796027 1796035 + FunctionDeclaration 1796091 1796466 + Identifier 1796277 1796302 + Parameter 1796303 1796329 + Identifier 1796303 1796307 + UnionType 1796308 1796329 + TypeReference 1796308 1796317 + Identifier 1796308 1796317 + UndefinedKeyword 1796319 1796329 + Block 1796330 1796466 + ExpressionStatement 1796332 1796459 + CallExpression 1796332 1796458 + Identifier 1796332 1796385 + BinaryExpression 1796386 1796425 + Identifier 1796386 1796390 + AmpersandAmpersandToken 1796390 1796393 + CallExpression 1796393 1796425 + Identifier 1796393 1796419 + Identifier 1796420 1796424 + FalseKeyword 1796426 1796457 + FunctionDeclaration 1796466 1797103 + Identifier 1796780 1796824 + Parameter 1796825 1796851 + Identifier 1796825 1796829 + UnionType 1796830 1796851 + TypeReference 1796830 1796839 + Identifier 1796830 1796839 + UndefinedKeyword 1796841 1796851 + VoidKeyword 1796853 1796858 + Block 1796858 1797103 + VariableStatement 1796860 1796929 + VariableDeclarationList 1796860 1796928 + VariableDeclaration 1796875 1796928 + Identifier 1796875 1796886 + CallExpression 1796888 1796928 + Identifier 1796888 1796922 + Identifier 1796923 1796927 + IfStatement 1796929 1797096 + BinaryExpression 1796943 1796981 + Identifier 1796943 1796953 + AmpersandAmpersandToken 1796953 1796956 + CallExpression 1796956 1796981 + Identifier 1796956 1796969 + Identifier 1796970 1796980 + Block 1796982 1797096 + ExpressionStatement 1796984 1797085 + CallExpression 1796984 1797084 + Identifier 1796984 1797041 + Identifier 1797042 1797052 + TrueKeyword 1797053 1797083 + FunctionDeclaration 1797103 1803606 + Identifier 1797119 1797143 + Parameter 1797144 1797158 + Identifier 1797144 1797150 + TypeReference 1797151 1797158 + Identifier 1797151 1797158 + Parameter 1797159 1797180 + Identifier 1797159 1797168 + TypeReference 1797169 1797180 + Identifier 1797169 1797180 + Block 1797181 1803606 + VariableStatement 1797183 1797230 + VariableDeclarationList 1797183 1797229 + VariableDeclaration 1797198 1797229 + Identifier 1797198 1797203 + CallExpression 1797205 1797229 + Identifier 1797205 1797221 + Identifier 1797222 1797228 + VariableStatement 1797230 1797284 + VariableDeclarationList 1797230 1797283 + VariableDeclaration 1797245 1797283 + Identifier 1797245 1797257 + PropertyAccessExpression 1797259 1797283 + Identifier 1797259 1797266 + Identifier 1797267 1797283 + IfStatement 1797284 1803577 + Identifier 1797298 1797309 + Block 1797310 1803577 + IfStatement 1797312 1800937 + BinaryExpression 1798801 1798932 + BinaryExpression 1798801 1798889 + BinaryExpression 1798801 1798858 + CallExpression 1798801 1798830 + Identifier 1798801 1798817 + Identifier 1798818 1798829 + AmpersandAmpersandToken 1798830 1798833 + PrefixUnaryExpression 1798833 1798858 + PropertyAccessExpression 1798835 1798858 + Identifier 1798835 1798846 + Identifier 1798847 1798858 + AmpersandAmpersandToken 1798858 1798861 + PrefixUnaryExpression 1798861 1798889 + PropertyAccessExpression 1798863 1798889 + Identifier 1798863 1798874 + Identifier 1798875 1798889 + AmpersandAmpersandToken 1798889 1798892 + BinaryExpression 1798892 1798932 + PropertyAccessExpression 1798892 1798927 + PropertyAccessExpression 1798892 1798920 + PropertyAccessExpression 1798892 1798911 + Identifier 1798892 1798904 + Identifier 1798905 1798911 + Identifier 1798912 1798920 + Identifier 1798921 1798927 + GreaterThanEqualsToken 1798927 1798930 + NumericLiteral 1798930 1798932 + Block 1798933 1800937 + VariableStatement 1798935 1798994 + VariableDeclarationList 1798935 1798993 + VariableDeclaration 1798958 1798993 + Identifier 1798958 1798965 + PropertyAccessExpression 1798967 1798993 + PropertyAccessExpression 1798967 1798986 + Identifier 1798967 1798979 + Identifier 1798980 1798986 + Identifier 1798987 1798993 + VariableStatement 1798994 1799063 + VariableDeclarationList 1798994 1799062 + VariableDeclaration 1799017 1799062 + Identifier 1799017 1799033 + CallExpression 1799035 1799062 + Identifier 1799035 1799054 + Identifier 1799055 1799061 + IfStatement 1799063 1800922 + BinaryExpression 1799085 1799257 + BinaryExpression 1799085 1799208 + BinaryExpression 1799085 1799140 + PropertyAccessExpression 1799085 1799105 + Identifier 1799085 1799100 + Identifier 1799101 1799105 + EqualsEqualsEqualsToken 1799105 1799109 + PropertyAccessExpression 1799109 1799140 + Identifier 1799109 1799120 + Identifier 1799121 1799140 + AmpersandAmpersandToken 1799140 1799143 + BinaryExpression 1799143 1799208 + CallExpression 1799143 1799187 + Identifier 1799143 1799170 + Identifier 1799171 1799186 + AmpersandToken 1799187 1799189 + PropertyAccessExpression 1799189 1799208 + Identifier 1799189 1799199 + Identifier 1799200 1799208 + BarBarToken 1799208 1799211 + BinaryExpression 1799211 1799257 + PropertyAccessExpression 1799211 1799232 + Identifier 1799211 1799227 + Identifier 1799228 1799232 + EqualsEqualsEqualsToken 1799232 1799236 + PropertyAccessExpression 1799236 1799257 + Identifier 1799236 1799247 + Identifier 1799248 1799257 + Block 1799258 1800922 + VariableStatement 1799260 1799317 + VariableDeclarationList 1799260 1799316 + VariableDeclaration 1799287 1799316 + Identifier 1799287 1799293 + CallExpression 1799295 1799316 + Identifier 1799295 1799308 + Identifier 1799309 1799315 + IfStatement 1799317 1800903 + PrefixUnaryExpression 1799343 1799392 + ParenthesizedExpression 1799344 1799392 + BinaryExpression 1799345 1799391 + PropertyAccessExpression 1799345 1799356 + Identifier 1799345 1799350 + Identifier 1799351 1799356 + AmpersandToken 1799356 1799358 + PropertyAccessExpression 1799358 1799391 + Identifier 1799358 1799373 + Identifier 1799374 1799391 + Block 1799393 1800903 + ExpressionStatement 1799395 1799469 + BinaryExpression 1799395 1799468 + PropertyAccessExpression 1799395 1799432 + Identifier 1799395 1799426 + Identifier 1799427 1799432 + BarEqualsToken 1799432 1799435 + PropertyAccessExpression 1799435 1799468 + Identifier 1799435 1799450 + Identifier 1799451 1799468 + VariableStatement 1799469 1799571 + VariableDeclarationList 1799469 1799570 + VariableDeclaration 1799500 1799570 + Identifier 1799500 1799511 + CallExpression 1799513 1799570 + Identifier 1799513 1799544 + Identifier 1799545 1799551 + PropertyAccessExpression 1799552 1799569 + Identifier 1799552 1799562 + Identifier 1799563 1799569 + VariableStatement 1799571 1799685 + VariableDeclarationList 1799571 1799684 + VariableDeclaration 1799602 1799684 + Identifier 1799602 1799623 + BinaryExpression 1799625 1799684 + Identifier 1799625 1799636 + AmpersandAmpersandToken 1799636 1799639 + CallExpression 1799639 1799684 + Identifier 1799639 1799647 + Identifier 1799648 1799658 + Identifier 1799659 1799683 + ExpressionStatement 1799685 1799760 + BinaryExpression 1799685 1799759 + PropertyAccessExpression 1799685 1799722 + Identifier 1799685 1799716 + Identifier 1799717 1799722 + AmpersandEqualsToken 1799722 1799725 + PrefixUnaryExpression 1799725 1799759 + PropertyAccessExpression 1799727 1799759 + Identifier 1799727 1799741 + Identifier 1799742 1799759 + IfStatement 1799760 1800880 + BinaryExpression 1799790 1799951 + BinaryExpression 1799790 1799858 + Identifier 1799790 1799810 + AmpersandAmpersandToken 1799810 1799813 + BinaryExpression 1799813 1799858 + PropertyAccessExpression 1799813 1799840 + Identifier 1799813 1799834 + Identifier 1799835 1799840 + AmpersandToken 1799840 1799842 + PropertyAccessExpression 1799842 1799858 + Identifier 1799842 1799852 + Identifier 1799853 1799858 + AmpersandAmpersandToken 1799858 1799861 + PrefixUnaryExpression 1799861 1799951 + ParenthesizedExpression 1799863 1799951 + BinaryExpression 1799864 1799950 + BinaryExpression 1799864 1799909 + PropertyAccessExpression 1799864 1799884 + Identifier 1799864 1799879 + Identifier 1799880 1799884 + EqualsEqualsEqualsToken 1799884 1799888 + PropertyAccessExpression 1799888 1799909 + Identifier 1799888 1799899 + Identifier 1799900 1799909 + AmpersandAmpersandToken 1799909 1799912 + CallExpression 1799912 1799950 + Identifier 1799912 1799933 + Identifier 1799934 1799949 + Block 1799952 1800880 + VariableStatement 1799954 1800019 + VariableDeclarationList 1799954 1800018 + VariableDeclaration 1799989 1800018 + Identifier 1799989 1799997 + PropertyAccessExpression 1799999 1800018 + Identifier 1799999 1800011 + Identifier 1800012 1800018 + VariableStatement 1800019 1800194 + VariableDeclarationList 1800019 1800193 + VariableDeclaration 1800054 1800193 + Identifier 1800054 1800067 + CallExpression 1800069 1800193 + Identifier 1800069 1800092 + Identifier 1800093 1800100 + Identifier 1800101 1800122 + Identifier 1800123 1800144 + Identifier 1800145 1800173 + PropertyAccessExpression 1800174 1800192 + Identifier 1800174 1800183 + Identifier 1800184 1800192 + IfStatement 1800194 1800349 + BinaryExpression 1800228 1800264 + PropertyAccessExpression 1800228 1800246 + Identifier 1800228 1800240 + Identifier 1800241 1800246 + AmpersandToken 1800246 1800248 + PropertyAccessExpression 1800248 1800264 + Identifier 1800248 1800258 + Identifier 1800259 1800264 + Block 1800265 1800349 + ReturnStatement 1800267 1800318 + Identifier 1800307 1800317 + ReturnStatement 1800349 1800853 + CallExpression 1800760 1800852 + Identifier 1800760 1800796 + Identifier 1800797 1800808 + Identifier 1800809 1800822 + TrueKeyword 1800823 1800851 + IfStatement 1800937 1803566 + BinaryExpression 1802299 1802403 + BinaryExpression 1802299 1802372 + BinaryExpression 1802299 1802344 + CallExpression 1802299 1802323 + Identifier 1802299 1802310 + Identifier 1802311 1802322 + AmpersandAmpersandToken 1802323 1802326 + PrefixUnaryExpression 1802326 1802344 + PropertyAccessExpression 1802328 1802344 + Identifier 1802328 1802339 + Identifier 1802340 1802344 + AmpersandAmpersandToken 1802344 1802347 + PrefixUnaryExpression 1802347 1802372 + PropertyAccessExpression 1802349 1802372 + Identifier 1802349 1802360 + Identifier 1802361 1802372 + AmpersandAmpersandToken 1802372 1802375 + PrefixUnaryExpression 1802375 1802403 + PropertyAccessExpression 1802377 1802403 + Identifier 1802377 1802388 + Identifier 1802389 1802403 + Block 1802404 1803566 + VariableStatement 1802406 1802456 + VariableDeclarationList 1802406 1802455 + VariableDeclaration 1802429 1802455 + Identifier 1802429 1802434 + PropertyAccessExpression 1802436 1802455 + Identifier 1802436 1802448 + Identifier 1802449 1802455 + IfStatement 1802456 1803551 + BinaryExpression 1802478 1802562 + BinaryExpression 1802478 1802505 + PropertyAccessExpression 1802478 1802500 + PropertyAccessExpression 1802478 1802493 + Identifier 1802478 1802482 + Identifier 1802483 1802493 + Identifier 1802494 1802500 + GreaterThanEqualsToken 1802500 1802503 + NumericLiteral 1802503 1802505 + AmpersandAmpersandToken 1802505 1802508 + CallExpression 1802508 1802562 + Identifier 1802508 1802556 + Identifier 1802557 1802561 + Block 1802563 1803551 + VariableStatement 1802565 1802644 + VariableDeclarationList 1802565 1802643 + VariableDeclaration 1802592 1802643 + Identifier 1802592 1802612 + CallExpression 1802614 1802643 + Identifier 1802614 1802637 + Identifier 1802638 1802642 + IfStatement 1802644 1803532 + BinaryExpression 1802670 1802786 + BinaryExpression 1802670 1802736 + Identifier 1802670 1802689 + AmpersandAmpersandToken 1802689 1802692 + BinaryExpression 1802692 1802736 + PropertyAccessExpression 1802692 1802730 + PropertyAccessExpression 1802692 1802723 + Identifier 1802692 1802712 + Identifier 1802713 1802723 + Identifier 1802724 1802730 + EqualsEqualsEqualsToken 1802730 1802734 + NumericLiteral 1802734 1802736 + AmpersandAmpersandToken 1802736 1802739 + CallExpression 1802739 1802786 + Identifier 1802739 1802765 + Identifier 1802766 1802785 + Block 1802787 1803532 + VariableStatement 1802789 1802968 + VariableDeclarationList 1802789 1802967 + VariableDeclaration 1802820 1802967 + Identifier 1802820 1802829 + CallExpression 1802831 1802967 + Identifier 1802831 1802854 + CallExpression 1802855 1802966 + Identifier 1802855 1802870 + CallExpression 1802871 1802921 + Identifier 1802871 1802886 + ElementAccessExpression 1802887 1802920 + PropertyAccessExpression 1802887 1802917 + Identifier 1802887 1802906 + Identifier 1802907 1802917 + NumericLiteral 1802918 1802919 + PropertyAccessExpression 1802922 1802965 + CallExpression 1802922 1802948 + Identifier 1802922 1802942 + Identifier 1802943 1802947 + QuestionDotToken 1802948 1802950 + Identifier 1802950 1802965 + IfStatement 1802968 1803509 + BinaryExpression 1802998 1803114 + BinaryExpression 1802998 1803066 + BinaryExpression 1802998 1803030 + PropertyAccessExpression 1802998 1803012 + Identifier 1802998 1803006 + Identifier 1803007 1803012 + AmpersandToken 1803012 1803014 + PropertyAccessExpression 1803014 1803030 + Identifier 1803014 1803024 + Identifier 1803025 1803030 + AmpersandAmpersandToken 1803030 1803033 + CallExpression 1803033 1803066 + Identifier 1803033 1803043 + Identifier 1803044 1803052 + Identifier 1803053 1803065 + AmpersandAmpersandToken 1803066 1803069 + PrefixUnaryExpression 1803069 1803114 + CallExpression 1803071 1803114 + Identifier 1803071 1803075 + PropertyAccessExpression 1803076 1803091 + Identifier 1803076 1803080 + Identifier 1803081 1803091 + Identifier 1803092 1803113 + Block 1803115 1803509 + VariableStatement 1803117 1803265 + VariableDeclarationList 1803117 1803264 + VariableDeclaration 1803152 1803264 + Identifier 1803152 1803165 + CallExpression 1803167 1803264 + Identifier 1803167 1803190 + Identifier 1803191 1803195 + Identifier 1803196 1803205 + Identifier 1803206 1803215 + Identifier 1803216 1803244 + PropertyAccessExpression 1803245 1803263 + Identifier 1803245 1803254 + Identifier 1803255 1803263 + VariableStatement 1803265 1803381 + VariableDeclarationList 1803265 1803380 + VariableDeclaration 1803300 1803380 + Identifier 1803300 1803306 + BinaryExpression 1803308 1803380 + CallExpression 1803308 1803345 + PropertyAccessExpression 1803308 1803332 + PropertyAccessExpression 1803308 1803324 + Identifier 1803308 1803313 + Identifier 1803314 1803324 + Identifier 1803325 1803332 + Identifier 1803333 1803344 + MinusToken 1803345 1803347 + ParenthesizedExpression 1803347 1803380 + ConditionalExpression 1803349 1803379 + CallExpression 1803349 1803371 + Identifier 1803349 1803365 + Identifier 1803366 1803370 + QuestionToken 1803371 1803373 + NumericLiteral 1803373 1803375 + ColonToken 1803375 1803377 + NumericLiteral 1803377 1803379 + ReturnStatement 1803381 1803482 + CallExpression 1803417 1803481 + Identifier 1803417 1803438 + Identifier 1803439 1803451 + CallExpression 1803452 1803480 + Identifier 1803452 1803473 + Identifier 1803474 1803479 + ReturnStatement 1803577 1803599 + Identifier 1803593 1803598 + FunctionDeclaration 1803606 1807765 + Identifier 1803843 1803882 + Parameter 1803883 1803899 + Identifier 1803883 1803887 + TypeReference 1803888 1803899 + Identifier 1803888 1803899 + Parameter 1803900 1803915 + Identifier 1803900 1803907 + TypeReference 1803908 1803915 + Identifier 1803908 1803915 + Block 1803916 1807765 + IfStatement 1803918 1803964 + CallExpression 1803932 1803955 + Identifier 1803932 1803949 + Identifier 1803950 1803954 + ReturnStatement 1803956 1803964 + IfStatement 1803964 1805999 + BinaryExpression 1804608 1804634 + Identifier 1804608 1804614 + EqualsEqualsEqualsToken 1804614 1804618 + Identifier 1804618 1804634 + Block 1804635 1805999 + IfStatement 1804637 1804844 + CallExpression 1804655 1804702 + Identifier 1804655 1804696 + Identifier 1804697 1804701 + Block 1804703 1804844 + ExpressionStatement 1804705 1804804 + CallExpression 1804705 1804803 + Identifier 1804705 1804728 + Identifier 1804729 1804733 + PropertyAccessExpression 1804734 1804802 + Identifier 1804734 1804746 + Identifier 1804747 1804802 + ReturnStatement 1804804 1804829 + VariableStatement 1804844 1804904 + VariableDeclarationList 1804844 1804903 + VariableDeclaration 1804863 1804903 + Identifier 1804863 1804873 + CallExpression 1804875 1804903 + Identifier 1804875 1804897 + Identifier 1804898 1804902 + IfStatement 1804904 1805967 + Identifier 1804922 1804931 + Block 1804932 1805967 + IfStatement 1804934 1805562 + BinaryExpression 1804956 1804993 + Identifier 1804956 1804971 + LessThanToken 1804971 1804973 + PropertyAccessExpression 1804973 1804993 + Identifier 1804973 1804986 + Identifier 1804987 1804993 + Block 1804994 1805562 + IfStatement 1804996 1805543 + BinaryExpression 1805022 1805065 + PropertyAccessExpression 1805022 1805036 + Identifier 1805022 1805031 + Identifier 1805032 1805036 + EqualsEqualsEqualsToken 1805036 1805040 + PropertyAccessExpression 1805040 1805065 + Identifier 1805040 1805051 + Identifier 1805052 1805065 + Block 1805066 1805258 + ExpressionStatement 1805068 1805235 + CallExpression 1805068 1805234 + Identifier 1805068 1805099 + Identifier 1805100 1805104 + PropertyAccessExpression 1805105 1805233 + Identifier 1805105 1805117 + Identifier 1805118 1805233 + IfStatement 1805284 1805543 + CallExpression 1805289 1805341 + Identifier 1805289 1805309 + Identifier 1805310 1805319 + PropertyAccessExpression 1805320 1805340 + Identifier 1805320 1805334 + Identifier 1805335 1805340 + Block 1805342 1805543 + ExpressionStatement 1805344 1805520 + CallExpression 1805344 1805519 + Identifier 1805344 1805375 + Identifier 1805376 1805380 + PropertyAccessExpression 1805381 1805518 + Identifier 1805381 1805393 + Identifier 1805394 1805518 + ExpressionStatement 1805562 1805647 + BinaryExpression 1805562 1805646 + PropertyAccessExpression 1805562 1805611 + CallExpression 1805562 1805605 + Identifier 1805562 1805594 + Identifier 1805595 1805604 + Identifier 1805606 1805611 + BarEqualsToken 1805611 1805614 + PropertyAccessExpression 1805614 1805646 + Identifier 1805614 1805629 + Identifier 1805630 1805646 + WhileStatement 1805647 1805952 + BinaryExpression 1805672 1805711 + Identifier 1805672 1805681 + AmpersandAmpersandToken 1805681 1805684 + CallExpression 1805684 1805711 + Identifier 1805684 1805700 + Identifier 1805701 1805710 + Block 1805712 1805952 + ExpressionStatement 1805714 1805781 + BinaryExpression 1805714 1805780 + Identifier 1805714 1805745 + EqualsToken 1805745 1805747 + CallExpression 1805747 1805780 + Identifier 1805747 1805769 + Identifier 1805770 1805779 + IfStatement 1805781 1805933 + Identifier 1805807 1805816 + Block 1805817 1805933 + ExpressionStatement 1805819 1805910 + BinaryExpression 1805819 1805909 + PropertyAccessExpression 1805819 1805874 + CallExpression 1805819 1805868 + Identifier 1805819 1805857 + Identifier 1805858 1805867 + Identifier 1805869 1805874 + BarEqualsToken 1805874 1805877 + PropertyAccessExpression 1805877 1805909 + Identifier 1805877 1805892 + Identifier 1805893 1805909 + ReturnStatement 1805967 1805988 + VariableStatement 1805999 1806086 + VariableDeclarationList 1805999 1806085 + VariableDeclaration 1806016 1806085 + Identifier 1806016 1806036 + CallExpression 1806038 1806085 + Identifier 1806038 1806077 + Identifier 1806078 1806084 + VariableStatement 1806086 1806177 + VariableDeclarationList 1806086 1806176 + VariableDeclaration 1806101 1806176 + Identifier 1806101 1806114 + CallExpression 1806116 1806176 + Identifier 1806116 1806149 + Identifier 1806150 1806169 + Identifier 1806170 1806175 + IfStatement 1806177 1806416 + BinaryExpression 1806191 1806303 + BinaryExpression 1806191 1806274 + CallExpression 1806191 1806223 + Identifier 1806191 1806209 + Identifier 1806210 1806222 + AmpersandAmpersandToken 1806223 1806226 + CallExpression 1806226 1806274 + Identifier 1806226 1806254 + Identifier 1806255 1806259 + Identifier 1806260 1806273 + AmpersandAmpersandToken 1806274 1806277 + PropertyAccessExpression 1806277 1806303 + Identifier 1806277 1806290 + Identifier 1806291 1806303 + Block 1806304 1806416 + ExpressionStatement 1806306 1806405 + CallExpression 1806306 1806404 + Identifier 1806306 1806343 + Identifier 1806344 1806348 + PropertyAccessExpression 1806349 1806375 + Identifier 1806349 1806362 + Identifier 1806363 1806375 + AsExpression 1806376 1806403 + PropertyAccessExpression 1806376 1806393 + Identifier 1806376 1806381 + Identifier 1806382 1806393 + StringKeyword 1806396 1806403 + VariableStatement 1806416 1806485 + VariableDeclarationList 1806416 1806484 + VariableDeclaration 1806433 1806484 + Identifier 1806433 1806445 + PropertyAccessExpression 1806447 1806484 + Identifier 1806447 1806467 + Identifier 1806468 1806484 + IfStatement 1806485 1807702 + BinaryExpression 1806499 1806559 + Identifier 1806499 1806510 + AmpersandAmpersandToken 1806510 1806513 + BinaryExpression 1806513 1806559 + PropertyAccessExpression 1806513 1806539 + Identifier 1806513 1806533 + Identifier 1806534 1806539 + AmpersandToken 1806539 1806541 + PropertyAccessExpression 1806541 1806559 + Identifier 1806541 1806553 + Identifier 1806554 1806559 + Block 1806560 1807702 + IfStatement 1806562 1807691 + BinaryExpression 1806852 1806905 + CallExpression 1806852 1806876 + Identifier 1806852 1806863 + Identifier 1806864 1806875 + AmpersandAmpersandToken 1806876 1806879 + BinaryExpression 1806879 1806905 + PropertyAccessExpression 1806879 1806896 + Identifier 1806879 1806891 + Identifier 1806892 1806896 + ExclamationEqualsEqualsToken 1806896 1806900 + Identifier 1806900 1806905 + Block 1806906 1807691 + VariableStatement 1806908 1807042 + VariableDeclarationList 1806908 1807041 + VariableDeclaration 1806929 1807041 + Identifier 1806929 1806939 + CallExpression 1806941 1807041 + Identifier 1806941 1806958 + Identifier 1806959 1806963 + FalseKeyword 1806964 1806996 + FalseKeyword 1806997 1807040 + WhileStatement 1807042 1807304 + BinaryExpression 1807067 1807143 + BinaryExpression 1807067 1807107 + PropertyAccessExpression 1807067 1807081 + Identifier 1807067 1807076 + Identifier 1807077 1807081 + ExclamationEqualsEqualsToken 1807081 1807085 + PropertyAccessExpression 1807085 1807107 + Identifier 1807085 1807096 + Identifier 1807097 1807107 + AmpersandAmpersandToken 1807107 1807110 + BinaryExpression 1807110 1807143 + PropertyAccessExpression 1807110 1807127 + Identifier 1807110 1807120 + Identifier 1807121 1807127 + ExclamationEqualsEqualsToken 1807127 1807131 + Identifier 1807131 1807143 + Block 1807144 1807304 + ExpressionStatement 1807146 1807285 + BinaryExpression 1807146 1807284 + Identifier 1807146 1807177 + EqualsToken 1807177 1807179 + CallExpression 1807179 1807284 + Identifier 1807179 1807196 + Identifier 1807197 1807206 + FalseKeyword 1807207 1807239 + FalseKeyword 1807240 1807283 + IfStatement 1807304 1807676 + BinaryExpression 1807328 1807368 + PropertyAccessExpression 1807328 1807342 + Identifier 1807328 1807337 + Identifier 1807338 1807342 + ExclamationEqualsEqualsToken 1807342 1807346 + PropertyAccessExpression 1807346 1807368 + Identifier 1807346 1807357 + Identifier 1807358 1807368 + Block 1807369 1807676 + ExpressionStatement 1807371 1807472 + BinaryExpression 1807371 1807471 + PropertyAccessExpression 1807371 1807424 + CallExpression 1807371 1807418 + Identifier 1807371 1807405 + Identifier 1807406 1807417 + Identifier 1807419 1807424 + BarEqualsToken 1807424 1807427 + PropertyAccessExpression 1807427 1807471 + Identifier 1807427 1807442 + Identifier 1807443 1807471 + ExpressionStatement 1807472 1807571 + BinaryExpression 1807472 1807570 + PropertyAccessExpression 1807472 1807523 + CallExpression 1807472 1807517 + Identifier 1807472 1807506 + Identifier 1807507 1807516 + Identifier 1807518 1807523 + BarEqualsToken 1807523 1807526 + PropertyAccessExpression 1807526 1807570 + Identifier 1807526 1807541 + Identifier 1807542 1807570 + ExpressionStatement 1807571 1807657 + BinaryExpression 1807571 1807656 + PropertyAccessExpression 1807571 1807617 + CallExpression 1807571 1807611 + Identifier 1807571 1807605 + Identifier 1807606 1807610 + Identifier 1807612 1807617 + BarEqualsToken 1807617 1807620 + PropertyAccessExpression 1807620 1807656 + Identifier 1807620 1807635 + Identifier 1807636 1807656 + ExpressionStatement 1807702 1807758 + CallExpression 1807702 1807757 + Identifier 1807702 1807743 + Identifier 1807744 1807748 + Identifier 1807749 1807756 + FunctionDeclaration 1807765 1817018 + Identifier 1807781 1807797 + Parameter 1807798 1807814 + Identifier 1807798 1807802 + TypeReference 1807803 1807814 + Identifier 1807803 1807814 + Parameter 1807815 1807848 + Identifier 1807815 1807825 + UnionType 1807826 1807848 + TypeReference 1807826 1807836 + Identifier 1807826 1807836 + UndefinedKeyword 1807838 1807848 + TypeReference 1807850 1807855 + Identifier 1807850 1807855 + Block 1807855 1817018 + IfStatement 1807857 1807955 + CallExpression 1807871 1807894 + Identifier 1807871 1807888 + Identifier 1807889 1807893 + Block 1807895 1807955 + ReturnStatement 1807897 1807944 + CallExpression 1807917 1807943 + Identifier 1807917 1807937 + Identifier 1807938 1807942 + VariableStatement 1807955 1808006 + VariableDeclarationList 1807955 1808005 + VariableDeclaration 1807972 1808005 + Identifier 1807972 1807979 + CallExpression 1807981 1808005 + Identifier 1807981 1807999 + Identifier 1808000 1808004 + IfStatement 1808006 1808089 + BinaryExpression 1808020 1808044 + Identifier 1808020 1808026 + EqualsEqualsEqualsToken 1808026 1808030 + Identifier 1808030 1808044 + Block 1808045 1808089 + ReturnStatement 1808047 1808078 + Identifier 1808067 1808077 + ExpressionStatement 1808089 1808154 + CallExpression 1808089 1808153 + Identifier 1808089 1808139 + Identifier 1808140 1808144 + Identifier 1808145 1808152 + IfStatement 1808154 1808373 + BinaryExpression 1808170 1808196 + Identifier 1808170 1808176 + EqualsEqualsEqualsToken 1808176 1808180 + Identifier 1808180 1808196 + Block 1808197 1808373 + IfStatement 1808199 1808317 + CallExpression 1808217 1808264 + Identifier 1808217 1808258 + Identifier 1808259 1808263 + Block 1808265 1808317 + ReturnStatement 1808267 1808302 + Identifier 1808291 1808301 + ReturnStatement 1808317 1808362 + CallExpression 1808337 1808361 + Identifier 1808337 1808353 + Identifier 1808354 1808360 + IfStatement 1808373 1808511 + CallExpression 1808389 1808430 + Identifier 1808389 1808424 + Identifier 1808425 1808429 + Block 1808431 1808511 + ExpressionStatement 1808433 1808500 + CallExpression 1808433 1808499 + Identifier 1808433 1808467 + Identifier 1808468 1808472 + PropertyAccessExpression 1808473 1808498 + Identifier 1808473 1808487 + Identifier 1808488 1808498 + VariableStatement 1808511 1808598 + VariableDeclarationList 1808511 1808597 + VariableDeclaration 1808528 1808597 + Identifier 1808528 1808548 + CallExpression 1808550 1808597 + Identifier 1808550 1808589 + Identifier 1808590 1808596 + VariableStatement 1808598 1808663 + VariableDeclarationList 1808598 1808662 + VariableDeclaration 1808611 1808662 + Identifier 1808611 1808623 + PropertyAccessExpression 1808625 1808662 + Identifier 1808625 1808645 + Identifier 1808646 1808662 + VariableStatement 1808663 1808714 + VariableDeclarationList 1808663 1808713 + VariableDeclaration 1808678 1808713 + Identifier 1808678 1808699 + Identifier 1808701 1808713 + IfStatement 1808714 1809328 + BinaryExpression 1809088 1809272 + BinaryExpression 1809088 1809208 + BinaryExpression 1809088 1809149 + Identifier 1809088 1809099 + AmpersandAmpersandToken 1809099 1809102 + BinaryExpression 1809102 1809149 + PropertyAccessExpression 1809102 1809119 + Identifier 1809102 1809114 + Identifier 1809115 1809119 + EqualsEqualsEqualsToken 1809119 1809123 + PropertyAccessExpression 1809123 1809149 + Identifier 1809123 1809134 + Identifier 1809135 1809149 + AmpersandAmpersandToken 1809149 1809152 + CallExpression 1809152 1809208 + Identifier 1809152 1809161 + Identifier 1809162 1809187 + PropertyAccessExpression 1809188 1809207 + Identifier 1809188 1809200 + Identifier 1809201 1809207 + AmpersandAmpersandToken 1809208 1809211 + CallExpression 1809211 1809272 + Identifier 1809211 1809224 + Identifier 1809225 1809229 + ArrowFunction 1809230 1809271 + Parameter 1809230 1809237 + Identifier 1809230 1809237 + EqualsGreaterThanToken 1809237 1809240 + BinaryExpression 1809240 1809271 + Identifier 1809240 1809247 + EqualsEqualsEqualsToken 1809247 1809251 + PropertyAccessExpression 1809251 1809271 + NonNullExpression 1809251 1809264 + Identifier 1809251 1809263 + Identifier 1809265 1809271 + Block 1809273 1809328 + ReturnStatement 1809275 1809317 + Identifier 1809295 1809316 + VariableStatement 1809328 1809402 + VariableDeclarationList 1809328 1809401 + VariableDeclaration 1809343 1809401 + Identifier 1809343 1809348 + CallExpression 1809350 1809401 + Identifier 1809350 1809374 + Identifier 1809375 1809394 + Identifier 1809395 1809400 + VariableStatement 1809402 1809465 + VariableDeclarationList 1809402 1809464 + VariableDeclaration 1809417 1809464 + Identifier 1809417 1809432 + CallExpression 1809434 1809464 + Identifier 1809434 1809458 + Identifier 1809459 1809463 + IfStatement 1809465 1811048 + Identifier 1809481 1809495 + Block 1809496 1811048 + IfStatement 1809498 1810554 + BinaryExpression 1809516 1809680 + PrefixUnaryExpression 1809516 1809585 + ParenthesizedExpression 1809535 1809585 + BinaryExpression 1809536 1809584 + PropertyAccessExpression 1809536 1809561 + Identifier 1809536 1809555 + Identifier 1809556 1809561 + AmpersandToken 1809561 1809563 + PropertyAccessExpression 1809563 1809584 + Identifier 1809563 1809575 + Identifier 1809576 1809584 + AmpersandAmpersandToken 1809585 1809588 + PrefixUnaryExpression 1809588 1809680 + ParenthesizedExpression 1809607 1809680 + BinaryExpression 1809608 1809679 + CallExpression 1809608 1809624 + Identifier 1809608 1809618 + Identifier 1809619 1809623 + AmpersandAmpersandToken 1809624 1809627 + BinaryExpression 1809627 1809679 + PropertyAccessExpression 1809627 1809653 + Identifier 1809627 1809647 + Identifier 1809648 1809653 + AmpersandToken 1809653 1809655 + PropertyAccessExpression 1809655 1809679 + Identifier 1809655 1809667 + Identifier 1809668 1809679 + Block 1809695 1810554 + VariableStatement 1809697 1810431 + VariableDeclarationList 1809697 1810430 + VariableDeclaration 1809720 1810430 + Identifier 1809720 1809736 + ConditionalExpression 1809738 1810430 + BinaryExpression 1809738 1809783 + PropertyAccessExpression 1809738 1809764 + Identifier 1809738 1809758 + Identifier 1809759 1809764 + AmpersandToken 1809764 1809766 + PropertyAccessExpression 1809766 1809783 + Identifier 1809766 1809778 + Identifier 1809779 1809783 + QuestionToken 1809783 1809785 + PropertyAccessExpression 1809785 1809838 + Identifier 1809785 1809797 + Identifier 1809798 1809838 + ColonToken 1809838 1809861 + ConditionalExpression 1809861 1810430 + BinaryExpression 1809861 1809907 + PropertyAccessExpression 1809861 1809887 + Identifier 1809861 1809881 + Identifier 1809882 1809887 + AmpersandToken 1809887 1809889 + PropertyAccessExpression 1809889 1809907 + Identifier 1809889 1809901 + Identifier 1809902 1809907 + QuestionToken 1809907 1809909 + PropertyAccessExpression 1809909 1809962 + Identifier 1809909 1809921 + Identifier 1809922 1809962 + ColonToken 1809962 1809985 + ConditionalExpression 1809985 1810430 + BinaryExpression 1809985 1810032 + PropertyAccessExpression 1809985 1810011 + Identifier 1809985 1810005 + Identifier 1810006 1810011 + AmpersandToken 1810011 1810013 + PropertyAccessExpression 1810013 1810032 + Identifier 1810013 1810025 + Identifier 1810026 1810032 + QuestionToken 1810032 1810034 + PropertyAccessExpression 1810034 1810091 + Identifier 1810034 1810046 + Identifier 1810047 1810091 + ColonToken 1810091 1810114 + ConditionalExpression 1810114 1810430 + BinaryExpression 1810114 1810163 + PropertyAccessExpression 1810114 1810140 + Identifier 1810114 1810134 + Identifier 1810135 1810140 + AmpersandToken 1810140 1810142 + PropertyAccessExpression 1810142 1810163 + Identifier 1810142 1810154 + Identifier 1810155 1810163 + QuestionToken 1810163 1810165 + PropertyAccessExpression 1810165 1810221 + Identifier 1810165 1810177 + Identifier 1810178 1810221 + ColonToken 1810221 1810244 + ConditionalExpression 1810244 1810430 + BinaryExpression 1810244 1810290 + PropertyAccessExpression 1810244 1810270 + Identifier 1810244 1810264 + Identifier 1810265 1810270 + AmpersandToken 1810270 1810272 + PropertyAccessExpression 1810272 1810290 + Identifier 1810272 1810284 + Identifier 1810285 1810290 + QuestionToken 1810290 1810292 + PropertyAccessExpression 1810292 1810347 + Identifier 1810292 1810304 + Identifier 1810305 1810347 + ColonToken 1810347 1810370 + PropertyAccessExpression 1810370 1810430 + Identifier 1810370 1810382 + Identifier 1810383 1810430 + ExpressionStatement 1810431 1810504 + CallExpression 1810431 1810503 + Identifier 1810431 1810456 + Identifier 1810457 1810461 + Identifier 1810462 1810478 + CallExpression 1810479 1810502 + Identifier 1810479 1810494 + Identifier 1810495 1810501 + ReturnStatement 1810504 1810539 + Identifier 1810528 1810538 + IfStatement 1810554 1811037 + CallExpression 1810572 1810609 + Identifier 1810572 1810588 + Identifier 1810589 1810608 + Block 1810610 1811037 + IfStatement 1810612 1810987 + BinaryExpression 1810634 1810682 + PropertyAccessExpression 1810634 1810659 + Identifier 1810634 1810653 + Identifier 1810654 1810659 + AmpersandToken 1810659 1810661 + PropertyAccessExpression 1810661 1810682 + Identifier 1810661 1810673 + Identifier 1810674 1810682 + Block 1810683 1810819 + ExpressionStatement 1810685 1810800 + CallExpression 1810685 1810799 + Identifier 1810685 1810712 + Identifier 1810713 1810717 + PropertyAccessExpression 1810718 1810774 + Identifier 1810718 1810730 + Identifier 1810731 1810774 + CallExpression 1810775 1810798 + Identifier 1810775 1810790 + Identifier 1810791 1810797 + Block 1810841 1810987 + ExpressionStatement 1810843 1810968 + CallExpression 1810843 1810967 + Identifier 1810843 1810870 + Identifier 1810871 1810875 + PropertyAccessExpression 1810876 1810942 + Identifier 1810876 1810888 + Identifier 1810889 1810942 + CallExpression 1810943 1810966 + Identifier 1810943 1810958 + Identifier 1810959 1810965 + ReturnStatement 1810987 1811022 + Identifier 1811011 1811021 + VariableStatement 1811048 1811122 + VariableDeclarationList 1811048 1811121 + VariableDeclaration 1811065 1811121 + Identifier 1811065 1811073 + BinaryExpression 1811075 1811121 + PropertyAccessExpression 1811075 1811101 + Identifier 1811075 1811095 + Identifier 1811096 1811101 + AmpersandToken 1811101 1811103 + PropertyAccessExpression 1811103 1811121 + Identifier 1811103 1811115 + Identifier 1811116 1811121 + IfStatement 1811122 1811696 + BinaryExpression 1811301 1811349 + PropertyAccessExpression 1811301 1811326 + Identifier 1811301 1811320 + Identifier 1811321 1811326 + AmpersandToken 1811326 1811328 + PropertyAccessExpression 1811328 1811349 + Identifier 1811328 1811340 + Identifier 1811341 1811349 + Block 1811350 1811539 + IfStatement 1811352 1811528 + BinaryExpression 1811370 1811412 + Identifier 1811370 1811384 + EqualsEqualsEqualsToken 1811384 1811388 + PropertyAccessExpression 1811388 1811412 + Identifier 1811388 1811403 + Identifier 1811404 1811412 + Block 1811413 1811528 + ReturnStatement 1811415 1811513 + ConditionalExpression 1811439 1811512 + CallExpression 1811439 1811472 + Identifier 1811439 1811466 + Identifier 1811467 1811471 + QuestionToken 1811472 1811474 + CallExpression 1811474 1811505 + Identifier 1811474 1811499 + Identifier 1811500 1811504 + ColonToken 1811505 1811507 + Identifier 1811507 1811512 + IfStatement 1811553 1811696 + Identifier 1811558 1811565 + Block 1811566 1811643 + ExpressionStatement 1811568 1811632 + BinaryExpression 1811568 1811631 + Identifier 1811568 1811593 + EqualsToken 1811593 1811595 + CallExpression 1811595 1811631 + Identifier 1811595 1811623 + Identifier 1811624 1811630 + Block 1811657 1811696 + ReturnStatement 1811659 1811685 + Identifier 1811679 1811684 + IfStatement 1811696 1811764 + PrefixUnaryExpression 1811712 1811724 + Identifier 1811713 1811724 + Block 1811725 1811764 + ReturnStatement 1811727 1811753 + Identifier 1811747 1811752 + ExpressionStatement 1811764 1811836 + BinaryExpression 1811764 1811835 + Identifier 1811764 1811780 + EqualsToken 1811780 1811782 + CallExpression 1811782 1811835 + Identifier 1811782 1811812 + Identifier 1811813 1811817 + Identifier 1811818 1811823 + Identifier 1811824 1811834 + VariableStatement 1811836 1812219 + VariableDeclarationList 1811836 1812218 + VariableDeclaration 1812142 1812218 + Identifier 1812142 1812154 + BinaryExpression 1812156 1812218 + PropertyAccessExpression 1812156 1812193 + CallExpression 1812156 1812188 + Identifier 1812156 1812175 + Identifier 1812176 1812187 + Identifier 1812189 1812193 + EqualsEqualsEqualsToken 1812193 1812197 + PropertyAccessExpression 1812197 1812218 + Identifier 1812197 1812208 + Identifier 1812209 1812218 + VariableStatement 1812219 1812295 + VariableDeclarationList 1812219 1812294 + VariableDeclaration 1812234 1812294 + Identifier 1812234 1812255 + CallExpression 1812257 1812294 + Identifier 1812257 1812281 + Identifier 1812282 1812293 + VariableStatement 1812295 1812355 + VariableDeclarationList 1812295 1812354 + VariableDeclaration 1812308 1812354 + Identifier 1812308 1812322 + CallExpression 1812324 1812354 + Identifier 1812324 1812348 + Identifier 1812349 1812353 + VariableStatement 1812355 1812428 + VariableDeclarationList 1812355 1812427 + VariableDeclaration 1812370 1812427 + Identifier 1812370 1812386 + BinaryExpression 1812388 1812427 + Identifier 1812388 1812402 + ExclamationEqualsEqualsToken 1812402 1812406 + Identifier 1812406 1812427 + VariableStatement 1812428 1812608 + VariableDeclarationList 1812428 1812607 + VariableDeclaration 1812443 1812607 + Identifier 1812443 1812481 + BinaryExpression 1812483 1812607 + BinaryExpression 1812483 1812552 + BinaryExpression 1812483 1812517 + PropertyAccessExpression 1812483 1812495 + Identifier 1812483 1812488 + Identifier 1812489 1812495 + AmpersandAmpersandToken 1812495 1812498 + PropertyAccessExpression 1812498 1812517 + PropertyAccessExpression 1812498 1812510 + Identifier 1812498 1812503 + Identifier 1812504 1812510 + Identifier 1812511 1812517 + AmpersandAmpersandToken 1812517 1812520 + CallExpression 1812520 1812552 + Identifier 1812520 1812539 + PropertyAccessExpression 1812540 1812551 + Identifier 1812540 1812544 + Identifier 1812545 1812551 + AmpersandAmpersandToken 1812552 1812555 + CallExpression 1812555 1812607 + Identifier 1812555 1812587 + PropertyAccessExpression 1812588 1812606 + PropertyAccessExpression 1812588 1812599 + Identifier 1812588 1812592 + Identifier 1812593 1812599 + Identifier 1812600 1812606 + VariableStatement 1812608 1812683 + VariableDeclarationList 1812608 1812682 + VariableDeclaration 1812623 1812682 + Identifier 1812623 1812639 + BinaryExpression 1812641 1812682 + PropertyAccessExpression 1812641 1812654 + Identifier 1812641 1812648 + Identifier 1812649 1812654 + AmpersandToken 1812654 1812656 + PropertyAccessExpression 1812656 1812682 + Identifier 1812656 1812668 + Identifier 1812669 1812682 + VariableStatement 1812683 1812761 + VariableDeclarationList 1812683 1812760 + VariableDeclaration 1812698 1812760 + Identifier 1812698 1812714 + BinaryExpression 1812716 1812760 + BinaryExpression 1812716 1812734 + Identifier 1812716 1812721 + EqualsEqualsEqualsToken 1812721 1812725 + Identifier 1812725 1812734 + BarBarToken 1812734 1812737 + BinaryExpression 1812737 1812760 + Identifier 1812737 1812742 + EqualsEqualsEqualsToken 1812742 1812746 + Identifier 1812746 1812760 + VariableStatement 1812761 1812873 + VariableDeclarationList 1812761 1812872 + VariableDeclaration 1812776 1812872 + Identifier 1812776 1812801 + BinaryExpression 1812803 1812872 + Identifier 1812803 1812819 + AmpersandAmpersandToken 1812819 1812822 + BinaryExpression 1812822 1812872 + PropertyAccessExpression 1812822 1812839 + PropertyAccessExpression 1812822 1812834 + Identifier 1812822 1812827 + Identifier 1812828 1812834 + Identifier 1812835 1812839 + EqualsEqualsEqualsToken 1812839 1812843 + PropertyAccessExpression 1812843 1812872 + Identifier 1812843 1812854 + Identifier 1812855 1812872 + WhileStatement 1812873 1813878 + BinaryExpression 1813262 1813785 + BinaryExpression 1813262 1813556 + BinaryExpression 1813262 1813314 + Identifier 1813262 1813289 + ExclamationEqualsEqualsToken 1813289 1813293 + Identifier 1813293 1813314 + AmpersandAmpersandToken 1813314 1813317 + ParenthesizedExpression 1813317 1813556 + BinaryExpression 1813319 1813541 + BinaryExpression 1813319 1813457 + BinaryExpression 1813319 1813389 + PropertyAccessExpression 1813319 1813355 + Identifier 1813319 1813350 + Identifier 1813351 1813355 + EqualsEqualsEqualsToken 1813355 1813359 + PropertyAccessExpression 1813359 1813389 + Identifier 1813359 1813370 + Identifier 1813371 1813389 + BarBarToken 1813389 1813392 + BinaryExpression 1813392 1813457 + PropertyAccessExpression 1813392 1813428 + Identifier 1813392 1813423 + Identifier 1813424 1813428 + EqualsEqualsEqualsToken 1813428 1813432 + PropertyAccessExpression 1813432 1813457 + Identifier 1813432 1813443 + Identifier 1813444 1813457 + BarBarToken 1813457 1813460 + CallExpression 1813460 1813541 + Identifier 1813460 1813526 + Identifier 1813527 1813540 + AmpersandAmpersandToken 1813556 1813559 + ParenthesizedExpression 1813559 1813785 + BinaryExpression 1813561 1813770 + BinaryExpression 1813561 1813644 + CallExpression 1813561 1813618 + Identifier 1813561 1813597 + Identifier 1813598 1813617 + AmpersandAmpersandToken 1813618 1813621 + BinaryExpression 1813621 1813644 + Identifier 1813621 1813626 + ExclamationEqualsEqualsToken 1813626 1813630 + Identifier 1813630 1813644 + BarBarToken 1813644 1813647 + BinaryExpression 1813647 1813770 + CallExpression 1813647 1813719 + Identifier 1813647 1813698 + Identifier 1813699 1813718 + AmpersandAmpersandToken 1813719 1813722 + CallExpression 1813722 1813770 + Identifier 1813722 1813743 + Identifier 1813744 1813763 + Identifier 1813764 1813769 + Block 1813796 1813878 + ExpressionStatement 1813798 1813867 + BinaryExpression 1813798 1813866 + Identifier 1813798 1813825 + EqualsToken 1813825 1813827 + CallExpression 1813827 1813866 + Identifier 1813827 1813851 + Identifier 1813852 1813865 + VariableStatement 1813878 1814429 + VariableDeclarationList 1813878 1814428 + VariableDeclaration 1814162 1814428 + Identifier 1814162 1814181 + BinaryExpression 1814183 1814428 + BinaryExpression 1814183 1814389 + BinaryExpression 1814183 1814330 + BinaryExpression 1814183 1814288 + BinaryExpression 1814183 1814251 + Identifier 1814183 1814204 + AmpersandAmpersandToken 1814204 1814207 + CallExpression 1814207 1814251 + Identifier 1814207 1814229 + Identifier 1814230 1814250 + AmpersandAmpersandToken 1814251 1814254 + PrefixUnaryExpression 1814254 1814288 + PropertyAccessExpression 1814256 1814288 + Identifier 1814256 1814276 + Identifier 1814277 1814288 + AmpersandAmpersandToken 1814288 1814291 + PrefixUnaryExpression 1814291 1814330 + PropertyAccessExpression 1814293 1814330 + Identifier 1814293 1814313 + Identifier 1814314 1814330 + AmpersandAmpersandToken 1814330 1814333 + CallExpression 1814333 1814389 + Identifier 1814333 1814367 + Identifier 1814368 1814388 + AmpersandAmpersandToken 1814389 1814392 + PrefixUnaryExpression 1814392 1814428 + CallExpression 1814394 1814428 + Identifier 1814394 1814420 + Identifier 1814421 1814427 + VariableStatement 1814429 1815187 + VariableDeclarationList 1814429 1815186 + VariableDeclaration 1814444 1815186 + Identifier 1814444 1814462 + BinaryExpression 1814464 1815186 + BinaryExpression 1814464 1815132 + BinaryExpression 1814464 1815007 + BinaryExpression 1814464 1814941 + BinaryExpression 1814464 1814666 + BinaryExpression 1814464 1814617 + BinaryExpression 1814464 1814598 + BinaryExpression 1814464 1814544 + BinaryExpression 1814464 1814487 + Identifier 1814464 1814476 + BarBarToken 1814476 1814479 + Identifier 1814479 1814487 + BarBarToken 1814487 1814490 + ParenthesizedExpression 1814490 1814544 + BinaryExpression 1814505 1814543 + Identifier 1814505 1814520 + AmpersandAmpersandToken 1814520 1814523 + PrefixUnaryExpression 1814523 1814543 + Identifier 1814525 1814543 + BarBarToken 1814544 1814547 + Identifier 1814547 1814598 + BarBarToken 1814598 1814601 + Identifier 1814601 1814617 + BarBarToken 1814617 1814620 + CallExpression 1814620 1814666 + Identifier 1814620 1814647 + Identifier 1814648 1814652 + Identifier 1814653 1814665 + BarBarToken 1814666 1814669 + BinaryExpression 1814669 1814941 + BinaryExpression 1814669 1814726 + BinaryExpression 1814669 1814700 + Identifier 1814669 1814687 + ExclamationEqualsEqualsToken 1814687 1814691 + Identifier 1814691 1814700 + AmpersandAmpersandToken 1814700 1814703 + BinaryExpression 1814703 1814726 + Identifier 1814703 1814708 + ExclamationEqualsEqualsToken 1814708 1814712 + Identifier 1814712 1814726 + AmpersandAmpersandToken 1814726 1814729 + ParenthesizedExpression 1814729 1814941 + BinaryExpression 1814731 1814940 + BinaryExpression 1814731 1814889 + BinaryExpression 1814731 1814858 + BinaryExpression 1814731 1814814 + PrefixUnaryExpression 1814731 1814748 + Identifier 1814732 1814748 + BarBarToken 1814748 1814751 + BinaryExpression 1814751 1814814 + ParenthesizedExpression 1814751 1814808 + BinaryExpression 1814753 1814807 + PropertyAccessExpression 1814753 1814763 + Identifier 1814753 1814757 + Identifier 1814758 1814763 + AmpersandToken 1814763 1814765 + ParenthesizedExpression 1814765 1814807 + BinaryExpression 1814767 1814806 + PropertyAccessExpression 1814767 1814789 + Identifier 1814767 1814776 + Identifier 1814777 1814789 + BarToken 1814789 1814791 + PropertyAccessExpression 1814791 1814806 + Identifier 1814791 1814801 + Identifier 1814802 1814806 + ExclamationEqualsEqualsToken 1814808 1814812 + NumericLiteral 1814812 1814814 + BarBarToken 1814814 1814817 + CallExpression 1814817 1814858 + Identifier 1814817 1814852 + Identifier 1814853 1814857 + BarBarToken 1814858 1814861 + CallExpression 1814861 1814889 + Identifier 1814861 1814883 + Identifier 1814884 1814888 + BarBarToken 1814889 1814892 + BinaryExpression 1814892 1814940 + PropertyAccessExpression 1814892 1814909 + PropertyAccessExpression 1814892 1814904 + Identifier 1814892 1814897 + Identifier 1814898 1814904 + Identifier 1814905 1814909 + EqualsEqualsEqualsToken 1814909 1814913 + PropertyAccessExpression 1814913 1814940 + Identifier 1814913 1814924 + Identifier 1814925 1814940 + BarBarToken 1814941 1814944 + BinaryExpression 1814944 1815007 + PropertyAccessExpression 1814944 1814974 + PropertyAccessExpression 1814944 1814969 + Identifier 1814944 1814962 + Identifier 1814963 1814969 + Identifier 1814970 1814974 + EqualsEqualsEqualsToken 1814974 1814978 + PropertyAccessExpression 1814978 1815007 + Identifier 1814978 1814989 + Identifier 1814990 1815007 + BarBarToken 1815007 1815010 + BinaryExpression 1815010 1815132 + BinaryExpression 1815010 1815075 + PropertyAccessExpression 1815010 1815040 + Identifier 1815010 1815035 + Identifier 1815036 1815040 + EqualsEqualsEqualsToken 1815040 1815044 + PropertyAccessExpression 1815044 1815075 + Identifier 1815044 1815055 + Identifier 1815056 1815075 + AmpersandAmpersandToken 1815075 1815078 + PropertyAccessExpression 1815078 1815132 + ParenthesizedExpression 1815078 1815115 + AsExpression 1815080 1815114 + Identifier 1815080 1815091 + TypeReference 1815094 1815114 + Identifier 1815094 1815114 + Identifier 1815116 1815132 + BarBarToken 1815132 1815135 + BinaryExpression 1815135 1815186 + PropertyAccessExpression 1815135 1815166 + Identifier 1815135 1815160 + Identifier 1815161 1815166 + AmpersandToken 1815166 1815168 + PropertyAccessExpression 1815168 1815186 + Identifier 1815168 1815178 + Identifier 1815179 1815186 + VariableStatement 1815187 1815467 + VariableDeclarationList 1815187 1815466 + VariableDeclaration 1815202 1815466 + Identifier 1815202 1815214 + ConditionalExpression 1815216 1815466 + Identifier 1815216 1815241 + QuestionToken 1815241 1815243 + Identifier 1815243 1815257 + ColonToken 1815257 1815259 + ConditionalExpression 1815259 1815466 + Identifier 1815259 1815290 + QuestionToken 1815290 1815292 + ParenthesizedExpression 1815292 1815395 + ConditionalExpression 1815294 1815394 + Identifier 1815294 1815305 + QuestionToken 1815305 1815307 + CallExpression 1815307 1815387 + Identifier 1815307 1815341 + Identifier 1815342 1815346 + AsExpression 1815347 1815386 + Identifier 1815347 1815359 + TypeReference 1815362 1815386 + Identifier 1815362 1815386 + ColonToken 1815387 1815389 + Identifier 1815389 1815394 + ColonToken 1815395 1815397 + ConditionalExpression 1815397 1815466 + Identifier 1815397 1815426 + QuestionToken 1815426 1815428 + Identifier 1815428 1815442 + ColonToken 1815442 1815444 + CallExpression 1815444 1815466 + Identifier 1815444 1815460 + Identifier 1815461 1815465 + VariableStatement 1815467 1815682 + VariableDeclarationList 1815467 1815681 + VariableDeclaration 1815482 1815681 + Identifier 1815482 1815491 + ConditionalExpression 1815493 1815681 + Identifier 1815493 1815518 + QuestionToken 1815518 1815520 + CallExpression 1815520 1815603 + Identifier 1815520 1815539 + CallExpression 1815540 1815602 + Identifier 1815540 1815562 + Identifier 1815563 1815567 + Identifier 1815568 1815573 + Identifier 1815574 1815586 + Identifier 1815587 1815601 + ColonToken 1815603 1815605 + CallExpression 1815605 1815681 + Identifier 1815605 1815641 + Identifier 1815642 1815646 + Identifier 1815647 1815652 + Identifier 1815653 1815665 + Identifier 1815666 1815680 + IfStatement 1815682 1816931 + BinaryExpression 1815977 1816063 + PrefixUnaryExpression 1815977 1816014 + CallExpression 1815978 1816014 + Identifier 1815978 1816008 + Identifier 1816009 1816013 + AmpersandAmpersandToken 1816014 1816017 + ParenthesizedExpression 1816017 1816063 + BinaryExpression 1816019 1816062 + BinaryExpression 1816019 1816036 + Identifier 1816019 1816023 + EqualsEqualsEqualsToken 1816023 1816027 + Identifier 1816027 1816036 + BarBarToken 1816036 1816039 + BinaryExpression 1816039 1816062 + Identifier 1816039 1816044 + EqualsEqualsEqualsToken 1816044 1816048 + Identifier 1816048 1816062 + Block 1816064 1816615 + IfStatement 1816066 1816604 + BinaryExpression 1816084 1816135 + BinaryExpression 1816084 1816105 + Identifier 1816084 1816092 + EqualsEqualsEqualsToken 1816092 1816096 + Identifier 1816096 1816105 + BarBarToken 1816105 1816108 + BinaryExpression 1816108 1816135 + Identifier 1816108 1816117 + EqualsEqualsEqualsToken 1816117 1816121 + Identifier 1816121 1816135 + Block 1816136 1816604 + IfStatement 1816138 1816537 + Identifier 1816160 1816173 + Block 1816174 1816537 + ExpressionStatement 1816176 1816387 + CallExpression 1816176 1816386 + Identifier 1816176 1816203 + CallExpression 1816204 1816237 + Identifier 1816204 1816224 + Identifier 1816225 1816236 + PropertyAccessExpression 1816238 1816337 + Identifier 1816238 1816250 + Identifier 1816251 1816337 + CallExpression 1816338 1816361 + Identifier 1816338 1816353 + Identifier 1816354 1816360 + CallExpression 1816362 1816385 + Identifier 1816362 1816375 + Identifier 1816376 1816384 + ExpressionStatement 1816387 1816518 + CallExpression 1816387 1816517 + Identifier 1816387 1816414 + Identifier 1816415 1816419 + PropertyAccessExpression 1816420 1816468 + Identifier 1816420 1816432 + Identifier 1816433 1816468 + CallExpression 1816469 1816492 + Identifier 1816469 1816484 + Identifier 1816485 1816491 + CallExpression 1816493 1816516 + Identifier 1816493 1816506 + Identifier 1816507 1816515 + ReturnStatement 1816537 1816589 + CallExpression 1816561 1816588 + Identifier 1816561 1816578 + Identifier 1816579 1816587 + IfStatement 1816629 1816931 + BinaryExpression 1816634 1816719 + BinaryExpression 1816634 1816684 + PrefixUnaryExpression 1816634 1816652 + Identifier 1816635 1816652 + AmpersandAmpersandToken 1816652 1816655 + PrefixUnaryExpression 1816655 1816684 + CallExpression 1816657 1816684 + Identifier 1816657 1816678 + Identifier 1816679 1816683 + AmpersandAmpersandToken 1816684 1816687 + CallExpression 1816687 1816719 + Identifier 1816687 1816709 + Identifier 1816710 1816718 + Block 1816720 1816931 + ExpressionStatement 1816722 1816826 + CallExpression 1816722 1816825 + Identifier 1816722 1816741 + Identifier 1816742 1816746 + PropertyAccessExpression 1816747 1816800 + Identifier 1816747 1816759 + Identifier 1816760 1816800 + CallExpression 1816801 1816824 + Identifier 1816801 1816816 + Identifier 1816817 1816823 + ReturnStatement 1816826 1816920 + Identifier 1816914 1816919 + ReturnStatement 1816931 1817011 + ConditionalExpression 1816947 1817010 + Identifier 1816947 1816962 + QuestionToken 1816962 1816964 + CallExpression 1816964 1816999 + Identifier 1816964 1816989 + Identifier 1816990 1816998 + ColonToken 1816999 1817001 + Identifier 1817001 1817010 + FunctionDeclaration 1817018 1817355 + Identifier 1817034 1817061 + Parameter 1817062 1817078 + Identifier 1817062 1817066 + TypeReference 1817067 1817078 + Identifier 1817067 1817078 + Parameter 1817079 1817104 + Identifier 1817079 1817091 + TypeReference 1817092 1817104 + Identifier 1817092 1817104 + Block 1817105 1817355 + IfStatement 1817107 1817348 + CallExpression 1817121 1817150 + Identifier 1817121 1817137 + Identifier 1817138 1817149 + Block 1817151 1817348 + VariableStatement 1817153 1817227 + VariableDeclarationList 1817153 1817226 + VariableDeclaration 1817172 1817226 + Identifier 1817172 1817187 + CallExpression 1817189 1817226 + Identifier 1817189 1817202 + Identifier 1817203 1817207 + Identifier 1817208 1817225 + ReturnStatement 1817227 1817337 + BinaryExpression 1817247 1817336 + Identifier 1817247 1817262 + AmpersandAmpersandToken 1817262 1817265 + BinaryExpression 1817265 1817336 + CallExpression 1817265 1817300 + Identifier 1817265 1817284 + Identifier 1817285 1817299 + EqualsEqualsEqualsToken 1817300 1817304 + CallExpression 1817304 1817336 + Identifier 1817304 1817323 + Identifier 1817324 1817335 + FunctionDeclaration 1817355 1818170 + Identifier 1817371 1817407 + Parameter 1817408 1817424 + Identifier 1817408 1817412 + TypeReference 1817413 1817424 + Identifier 1817413 1817424 + BooleanKeyword 1817426 1817434 + Block 1817434 1818170 + VariableStatement 1817436 1817473 + VariableDeclarationList 1817436 1817472 + VariableDeclaration 1817451 1817472 + Identifier 1817451 1817458 + PropertyAccessExpression 1817460 1817472 + Identifier 1817460 1817465 + Identifier 1817466 1817472 + IfStatement 1817473 1818141 + Identifier 1817487 1817493 + Block 1817494 1818141 + IfStatement 1817496 1817725 + BinaryExpression 1817612 1817676 + CallExpression 1817612 1817646 + Identifier 1817612 1817638 + Identifier 1817639 1817645 + AmpersandAmpersandToken 1817646 1817649 + BinaryExpression 1817649 1817676 + PropertyAccessExpression 1817649 1817667 + Identifier 1817649 1817656 + Identifier 1817657 1817667 + EqualsEqualsEqualsToken 1817667 1817671 + Identifier 1817671 1817676 + Block 1817677 1817725 + ReturnStatement 1817679 1817710 + FalseKeyword 1817703 1817709 + IfStatement 1817725 1817914 + BinaryExpression 1817819 1817865 + CallExpression 1817819 1817844 + Identifier 1817819 1817836 + Identifier 1817837 1817843 + AmpersandAmpersandToken 1817844 1817847 + PropertyAccessExpression 1817847 1817865 + Identifier 1817847 1817854 + Identifier 1817855 1817865 + Block 1817866 1817914 + ReturnStatement 1817868 1817899 + FalseKeyword 1817892 1817898 + VariableStatement 1817914 1817975 + VariableDeclarationList 1817914 1817974 + VariableDeclaration 1817933 1817974 + Identifier 1817933 1817950 + PropertyAccessExpression 1817952 1817974 + PropertyAccessExpression 1817952 1817966 + Identifier 1817952 1817959 + Identifier 1817960 1817966 + QuestionDotToken 1817966 1817968 + Identifier 1817968 1817974 + IfStatement 1817975 1818130 + BinaryExpression 1817993 1818081 + BinaryExpression 1817993 1818050 + Identifier 1817993 1818009 + AmpersandAmpersandToken 1818009 1818012 + CallExpression 1818012 1818050 + Identifier 1818012 1818032 + Identifier 1818033 1818049 + AmpersandAmpersandToken 1818050 1818053 + PropertyAccessExpression 1818053 1818081 + Identifier 1818053 1818070 + Identifier 1818071 1818081 + Block 1818082 1818130 + ReturnStatement 1818084 1818115 + FalseKeyword 1818108 1818114 + ReturnStatement 1818141 1818163 + TrueKeyword 1818157 1818162 + FunctionDeclaration 1818170 1818524 + Identifier 1818186 1818232 + Parameter 1818233 1818243 + Identifier 1818233 1818237 + TypeReference 1818238 1818243 + Identifier 1818238 1818243 + Parameter 1818244 1818260 + Identifier 1818244 1818254 + TypeReference 1818255 1818260 + Identifier 1818255 1818260 + BooleanKeyword 1818262 1818270 + Block 1818270 1818524 + ReturnStatement 1818272 1818517 + PrefixUnaryExpression 1818288 1818516 + PrefixUnaryExpression 1818290 1818516 + CallExpression 1818291 1818516 + Identifier 1818291 1818303 + Identifier 1818304 1818308 + ArrowFunction 1818309 1818515 + Parameter 1818309 1818311 + Identifier 1818309 1818311 + EqualsGreaterThanToken 1818311 1818314 + ConditionalExpression 1818314 1818515 + BinaryExpression 1818314 1818343 + Identifier 1818314 1818329 + EqualsEqualsEqualsToken 1818329 1818333 + Identifier 1818333 1818343 + QuestionToken 1818343 1818345 + StringLiteral 1818345 1818352 + ColonToken 1818352 1818354 + BinaryExpression 1818354 1818515 + CallExpression 1818354 1818372 + Identifier 1818354 1818369 + Identifier 1818370 1818371 + BarBarToken 1818372 1818375 + ParenthesizedExpression 1818375 1818515 + BinaryExpression 1818377 1818500 + BinaryExpression 1818377 1818470 + BinaryExpression 1818377 1818438 + PropertyAccessExpression 1818377 1818403 + Identifier 1818377 1818396 + Identifier 1818397 1818403 + AmpersandAmpersandToken 1818403 1818406 + CallExpression 1818406 1818438 + Identifier 1818406 1818428 + PropertyAccessExpression 1818429 1818437 + Identifier 1818429 1818430 + Identifier 1818431 1818437 + AmpersandAmpersandToken 1818438 1818441 + PrefixUnaryExpression 1818441 1818470 + CallExpression 1818443 1818470 + Identifier 1818443 1818460 + PropertyAccessExpression 1818461 1818469 + Identifier 1818461 1818462 + Identifier 1818463 1818469 + AmpersandAmpersandToken 1818470 1818473 + BinaryExpression 1818473 1818500 + PropertyAccessExpression 1818473 1818494 + PropertyAccessExpression 1818473 1818482 + Identifier 1818473 1818475 + Identifier 1818476 1818482 + Identifier 1818483 1818494 + EqualsEqualsEqualsToken 1818494 1818498 + Identifier 1818498 1818500 + FunctionDeclaration 1818524 1818808 + Identifier 1818540 1818576 + Parameter 1818577 1818587 + Identifier 1818577 1818581 + TypeReference 1818582 1818587 + Identifier 1818582 1818587 + Parameter 1818588 1818612 + Identifier 1818588 1818598 + TypeReference 1818599 1818612 + Identifier 1818599 1818612 + Block 1818613 1818808 + ReturnStatement 1818615 1818801 + CallExpression 1818631 1818800 + Identifier 1818631 1818644 + Identifier 1818645 1818649 + ArrowFunction 1818650 1818799 + Parameter 1818650 1818652 + Identifier 1818650 1818652 + EqualsGreaterThanToken 1818652 1818655 + ConditionalExpression 1818655 1818799 + BinaryExpression 1818655 1818671 + Identifier 1818655 1818657 + EqualsEqualsEqualsToken 1818657 1818661 + Identifier 1818661 1818671 + QuestionToken 1818671 1818673 + StringLiteral 1818673 1818680 + ColonToken 1818680 1818682 + BinaryExpression 1818682 1818799 + BinaryExpression 1818682 1818770 + BinaryExpression 1818682 1818739 + BinaryExpression 1818682 1818710 + Identifier 1818682 1818684 + EqualsEqualsEqualsToken 1818684 1818688 + PropertyAccessExpression 1818688 1818710 + Identifier 1818688 1818698 + Identifier 1818699 1818710 + BarBarToken 1818710 1818713 + BinaryExpression 1818713 1818739 + Identifier 1818713 1818715 + EqualsEqualsEqualsToken 1818715 1818719 + PropertyAccessExpression 1818719 1818739 + Identifier 1818719 1818729 + Identifier 1818730 1818739 + BarBarToken 1818739 1818742 + BinaryExpression 1818742 1818770 + Identifier 1818742 1818744 + EqualsEqualsEqualsToken 1818744 1818748 + PropertyAccessExpression 1818748 1818770 + Identifier 1818748 1818758 + Identifier 1818759 1818770 + BarBarToken 1818770 1818773 + BinaryExpression 1818773 1818799 + Identifier 1818773 1818775 + EqualsEqualsEqualsToken 1818775 1818779 + PropertyAccessExpression 1818779 1818799 + Identifier 1818779 1818789 + Identifier 1818790 1818799 + FunctionDeclaration 1818808 1819049 + Identifier 1818824 1818855 + Parameter 1818856 1818866 + Identifier 1818856 1818860 + TypeReference 1818861 1818866 + Identifier 1818861 1818866 + UnionType 1818868 1818885 + TypeReference 1818868 1818873 + Identifier 1818868 1818873 + UndefinedKeyword 1818875 1818885 + Block 1818885 1819049 + ReturnStatement 1818887 1819042 + CallExpression 1818903 1819041 + Identifier 1818903 1818916 + Identifier 1818917 1818921 + ArrowFunction 1818922 1819040 + Parameter 1818922 1818924 + Identifier 1818922 1818924 + EqualsGreaterThanToken 1818924 1818927 + ConditionalExpression 1818927 1819040 + ParenthesizedExpression 1818927 1818970 + BinaryExpression 1818929 1818969 + PrefixUnaryExpression 1818929 1818931 + Identifier 1818930 1818931 + BarBarToken 1818931 1818934 + CallExpression 1818934 1818969 + Identifier 1818934 1818966 + Identifier 1818967 1818968 + QuestionToken 1818970 1818972 + StringLiteral 1818972 1818979 + ColonToken 1818979 1818981 + CallExpression 1818981 1819040 + Identifier 1818981 1819002 + Identifier 1819003 1819004 + FalseKeyword 1819005 1819039 + FunctionDeclaration 1819049 1822715 + Identifier 1819065 1819095 + Parameter 1819096 1819112 + Identifier 1819096 1819100 + TypeReference 1819101 1819112 + Identifier 1819101 1819112 + Parameter 1819113 1819128 + Identifier 1819113 1819120 + TypeReference 1819121 1819128 + Identifier 1819121 1819128 + VoidKeyword 1819130 1819135 + Block 1819135 1822715 + IfStatement 1819137 1819515 + BinaryExpression 1819151 1819470 + BinaryExpression 1819151 1819391 + BinaryExpression 1819151 1819337 + BinaryExpression 1819151 1819296 + BinaryExpression 1819151 1819203 + Identifier 1819151 1819180 + GreaterThanEqualsToken 1819180 1819183 + PropertyAccessExpression 1819183 1819203 + Identifier 1819183 1819196 + Identifier 1819197 1819203 + BarBarToken 1819203 1819206 + BinaryExpression 1819206 1819296 + ParenthesizedExpression 1819206 1819290 + BinaryExpression 1819221 1819289 + PropertyAccessExpression 1819221 1819233 + Identifier 1819221 1819227 + Identifier 1819228 1819233 + AmpersandToken 1819233 1819235 + ParenthesizedExpression 1819235 1819289 + BinaryExpression 1819237 1819288 + PropertyAccessExpression 1819237 1819268 + Identifier 1819237 1819248 + Identifier 1819249 1819268 + BarToken 1819268 1819270 + PropertyAccessExpression 1819270 1819288 + Identifier 1819270 1819282 + Identifier 1819283 1819288 + EqualsEqualsEqualsToken 1819290 1819294 + NumericLiteral 1819294 1819296 + BarBarToken 1819296 1819299 + PrefixUnaryExpression 1819299 1819337 + PropertyAccessExpression 1819314 1819337 + Identifier 1819314 1819320 + Identifier 1819321 1819337 + BarBarToken 1819337 1819340 + CallExpression 1819340 1819391 + Identifier 1819340 1819366 + PropertyAccessExpression 1819367 1819390 + Identifier 1819367 1819373 + Identifier 1819374 1819390 + BarBarToken 1819391 1819394 + BinaryExpression 1819394 1819470 + PropertyAccessExpression 1819394 1819443 + PropertyAccessExpression 1819394 1819438 + PropertyAccessExpression 1819394 1819431 + Identifier 1819394 1819414 + Identifier 1819415 1819431 + Identifier 1819432 1819438 + Identifier 1819439 1819443 + EqualsEqualsEqualsToken 1819443 1819447 + PropertyAccessExpression 1819447 1819470 + Identifier 1819447 1819458 + Identifier 1819459 1819470 + Block 1819481 1819515 + ReturnStatement 1819483 1819504 + VariableStatement 1819515 1820029 + VariableDeclarationList 1819515 1820028 + VariableDeclaration 1819959 1820028 + Identifier 1819959 1819969 + CallExpression 1819971 1820028 + Identifier 1819971 1820003 + PropertyAccessExpression 1820004 1820027 + Identifier 1820004 1820010 + Identifier 1820011 1820027 + VariableStatement 1820029 1820121 + VariableDeclarationList 1820029 1820120 + VariableDeclaration 1820044 1820120 + Identifier 1820044 1820055 + CallExpression 1820057 1820120 + Identifier 1820057 1820103 + Identifier 1820104 1820108 + Identifier 1820109 1820119 + VariableStatement 1820121 1820211 + VariableDeclarationList 1820121 1820210 + VariableDeclaration 1820138 1820210 + Identifier 1820138 1820166 + CallExpression 1820168 1820210 + Identifier 1820168 1820199 + Identifier 1820200 1820209 + IfStatement 1820211 1822565 + Identifier 1820225 1820252 + Block 1820253 1822565 + IfStatement 1820255 1821696 + Identifier 1820273 1820283 + Block 1820284 1821696 + VariableStatement 1820286 1820457 + VariableDeclarationList 1820286 1820456 + VariableDeclaration 1820413 1820456 + Identifier 1820413 1820449 + TrueKeyword 1820451 1820456 + IfStatement 1820457 1821479 + CallExpression 1820479 1820504 + Identifier 1820479 1820493 + Identifier 1820494 1820503 + Block 1820505 1821479 + VariableStatement 1820507 1820622 + VariableDeclarationList 1820507 1820621 + VariableDeclaration 1820534 1820621 + Identifier 1820534 1820546 + CallExpression 1820548 1820621 + Identifier 1820548 1820560 + PropertyAccessExpression 1820561 1820584 + Identifier 1820561 1820567 + Identifier 1820568 1820584 + PropertyAccessExpression 1820585 1820620 + Identifier 1820585 1820596 + Identifier 1820597 1820620 + IfStatement 1820622 1821460 + BinaryExpression 1820648 1820695 + Identifier 1820648 1820659 + AmpersandAmpersandToken 1820659 1820662 + BinaryExpression 1820662 1820695 + PropertyAccessExpression 1820662 1820681 + Identifier 1820662 1820674 + Identifier 1820675 1820681 + EqualsEqualsEqualsToken 1820681 1820685 + Identifier 1820685 1820695 + Block 1820696 1821460 + VariableStatement 1820698 1820797 + VariableDeclarationList 1820698 1820796 + VariableDeclaration 1820729 1820796 + Identifier 1820729 1820734 + CallExpression 1820736 1820796 + Identifier 1820736 1820772 + PropertyAccessExpression 1820773 1820784 + Identifier 1820773 1820777 + Identifier 1820778 1820784 + Identifier 1820785 1820795 + IfStatement 1820797 1821437 + Identifier 1820827 1820831 + Block 1820832 1821437 + VariableStatement 1820834 1820897 + VariableDeclarationList 1820834 1820896 + VariableDeclaration 1820869 1820896 + Identifier 1820869 1820875 + CallExpression 1820877 1820896 + Identifier 1820877 1820890 + Identifier 1820891 1820895 + ExpressionStatement 1820897 1820991 + BinaryExpression 1820897 1820990 + PropertyAccessExpression 1820897 1820938 + Identifier 1820897 1820932 + Identifier 1820933 1820938 + BarEqualsToken 1820938 1820941 + PropertyAccessExpression 1820941 1820990 + Identifier 1820941 1820956 + Identifier 1820957 1820990 + VariableStatement 1820991 1821124 + VariableDeclarationList 1820991 1821123 + VariableDeclaration 1821028 1821123 + Identifier 1821028 1821045 + BinaryExpression 1821047 1821123 + PropertyAccessExpression 1821047 1821080 + Identifier 1821047 1821053 + Identifier 1821054 1821080 + BarBarToken 1821080 1821083 + ParenthesizedExpression 1821083 1821123 + BinaryExpression 1821085 1821122 + PropertyAccessExpression 1821085 1821117 + Identifier 1821085 1821090 + Identifier 1821091 1821117 + EqualsToken 1821117 1821119 + ArrayLiteralExpression 1821119 1821122 + ExpressionStatement 1821124 1821193 + CallExpression 1821124 1821192 + Identifier 1821124 1821166 + Identifier 1821167 1821183 + Identifier 1821184 1821191 + IfStatement 1821193 1821410 + BinaryExpression 1821229 1821259 + Identifier 1821229 1821233 + EqualsEqualsEqualsToken 1821233 1821237 + PropertyAccessExpression 1821237 1821259 + Identifier 1821237 1821247 + Identifier 1821248 1821259 + Block 1821260 1821410 + ExpressionStatement 1821262 1821340 + BinaryExpression 1821262 1821339 + Identifier 1821262 1821331 + EqualsToken 1821331 1821333 + FalseKeyword 1821333 1821339 + IfStatement 1821479 1821681 + Identifier 1821501 1821536 + Block 1821537 1821681 + ExpressionStatement 1821539 1821662 + BinaryExpression 1821539 1821661 + PropertyAccessExpression 1821539 1821608 + CallExpression 1821539 1821602 + Identifier 1821539 1821573 + Identifier 1821574 1821601 + Identifier 1821603 1821608 + BarEqualsToken 1821608 1821611 + PropertyAccessExpression 1821611 1821661 + Identifier 1821611 1821626 + Identifier 1821627 1821661 + IfStatement 1821696 1822376 + CallExpression 1821974 1821999 + Identifier 1821974 1821988 + Identifier 1821989 1821998 + Block 1822000 1822376 + VariableStatement 1822002 1822113 + VariableDeclarationList 1822002 1822112 + VariableDeclaration 1822025 1822112 + Identifier 1822025 1822037 + CallExpression 1822039 1822112 + Identifier 1822039 1822051 + PropertyAccessExpression 1822052 1822075 + Identifier 1822052 1822058 + Identifier 1822059 1822075 + PropertyAccessExpression 1822076 1822111 + Identifier 1822076 1822087 + Identifier 1822088 1822111 + IfStatement 1822113 1822361 + BinaryExpression 1822135 1822233 + BinaryExpression 1822135 1822182 + Identifier 1822135 1822146 + AmpersandAmpersandToken 1822146 1822149 + BinaryExpression 1822149 1822182 + PropertyAccessExpression 1822149 1822168 + Identifier 1822149 1822161 + Identifier 1822162 1822168 + EqualsEqualsEqualsToken 1822168 1822172 + Identifier 1822172 1822182 + AmpersandAmpersandToken 1822182 1822185 + CallExpression 1822185 1822233 + Identifier 1822185 1822216 + Identifier 1822217 1822221 + Identifier 1822222 1822232 + Block 1822234 1822361 + ExpressionStatement 1822236 1822342 + BinaryExpression 1822236 1822341 + PropertyAccessExpression 1822236 1822301 + CallExpression 1822236 1822295 + Identifier 1822236 1822270 + PropertyAccessExpression 1822271 1822294 + Identifier 1822271 1822277 + Identifier 1822278 1822294 + Identifier 1822296 1822301 + BarEqualsToken 1822301 1822304 + PropertyAccessExpression 1822304 1822341 + Identifier 1822304 1822319 + Identifier 1822320 1822341 + ExpressionStatement 1822376 1822554 + BinaryExpression 1822376 1822553 + PropertyAccessExpression 1822376 1822510 + CallExpression 1822376 1822504 + Identifier 1822376 1822479 + PropertyAccessExpression 1822480 1822503 + Identifier 1822480 1822486 + Identifier 1822487 1822503 + Identifier 1822505 1822510 + BarEqualsToken 1822510 1822513 + PropertyAccessExpression 1822513 1822553 + Identifier 1822513 1822528 + Identifier 1822529 1822553 + IfStatement 1822565 1822708 + Identifier 1822581 1822591 + Block 1822592 1822708 + ExpressionStatement 1822594 1822697 + BinaryExpression 1822594 1822696 + PropertyAccessExpression 1822594 1822651 + CallExpression 1822594 1822645 + Identifier 1822594 1822620 + PropertyAccessExpression 1822621 1822644 + Identifier 1822621 1822627 + Identifier 1822628 1822644 + Identifier 1822646 1822651 + BarEqualsToken 1822651 1822654 + PropertyAccessExpression 1822654 1822696 + Identifier 1822654 1822669 + Identifier 1822670 1822696 + FunctionDeclaration 1822715 1822964 + Identifier 1822731 1822755 + Parameter 1822756 1822766 + Identifier 1822756 1822760 + TypeReference 1822761 1822766 + Identifier 1822761 1822766 + Parameter 1822767 1822810 + Identifier 1822767 1822772 + UnionType 1822773 1822810 + TypeReference 1822773 1822793 + Identifier 1822773 1822793 + TypeReference 1822795 1822810 + Identifier 1822795 1822810 + Block 1822811 1822964 + VariableStatement 1822813 1822856 + VariableDeclarationList 1822813 1822855 + VariableDeclaration 1822828 1822855 + Identifier 1822828 1822834 + CallExpression 1822836 1822855 + Identifier 1822836 1822849 + Identifier 1822850 1822854 + ReturnStatement 1822856 1822957 + BinaryExpression 1822872 1822956 + PrefixUnaryExpression 1822872 1822880 + PrefixUnaryExpression 1822874 1822880 + Identifier 1822875 1822880 + AmpersandAmpersandToken 1822880 1822883 + CallExpression 1822883 1822956 + Identifier 1822883 1822892 + PropertyAccessExpression 1822893 1822925 + Identifier 1822893 1822898 + Identifier 1822899 1822925 + CallExpression 1822926 1822955 + Identifier 1822926 1822949 + Identifier 1822950 1822954 + FunctionDeclaration 1822964 1824163 + Identifier 1822980 1823011 + Parameter 1823012 1823028 + Identifier 1823012 1823016 + TypeReference 1823017 1823028 + Identifier 1823017 1823028 + Parameter 1823029 1823053 + Identifier 1823029 1823039 + TypeReference 1823040 1823053 + Identifier 1823040 1823053 + BooleanKeyword 1823055 1823063 + Block 1823063 1824163 + VariableStatement 1823065 1823137 + VariableDeclarationList 1823065 1823136 + VariableDeclaration 1823115 1823136 + Identifier 1823115 1823123 + TypeReference 1823124 1823129 + Identifier 1823124 1823129 + Identifier 1823131 1823136 + WhileStatement 1823137 1823265 + BinaryExpression 1823154 1823212 + PropertyAccessExpression 1823154 1823173 + PropertyAccessExpression 1823154 1823168 + Identifier 1823154 1823161 + Identifier 1823162 1823168 + Identifier 1823169 1823173 + EqualsEqualsEqualsToken 1823173 1823177 + PropertyAccessExpression 1823177 1823212 + Identifier 1823177 1823188 + Identifier 1823189 1823212 + Block 1823213 1823265 + ExpressionStatement 1823215 1823254 + BinaryExpression 1823215 1823253 + Identifier 1823215 1823236 + EqualsToken 1823236 1823238 + PropertyAccessExpression 1823238 1823253 + Identifier 1823238 1823246 + Identifier 1823247 1823253 + VariableStatement 1823265 1823371 + VariableDeclarationList 1823265 1823370 + VariableDeclaration 1823351 1823370 + Identifier 1823351 1823362 + FalseKeyword 1823364 1823370 + IfStatement 1823371 1823820 + CallExpression 1823385 1823412 + Identifier 1823385 1823403 + Identifier 1823404 1823411 + Block 1823413 1823458 + ExpressionStatement 1823415 1823447 + BinaryExpression 1823415 1823446 + Identifier 1823415 1823439 + EqualsToken 1823439 1823441 + TrueKeyword 1823441 1823446 + IfStatement 1823472 1823820 + ParenthesizedExpression 1823477 1823596 + BinaryExpression 1823478 1823595 + BinaryExpression 1823478 1823534 + PropertyAccessExpression 1823478 1823497 + PropertyAccessExpression 1823478 1823492 + Identifier 1823478 1823485 + Identifier 1823486 1823492 + Identifier 1823493 1823497 + EqualsEqualsEqualsToken 1823497 1823501 + PropertyAccessExpression 1823501 1823534 + Identifier 1823501 1823512 + Identifier 1823513 1823534 + BarBarToken 1823534 1823537 + BinaryExpression 1823537 1823595 + PropertyAccessExpression 1823537 1823557 + PropertyAccessExpression 1823537 1823552 + Identifier 1823537 1823545 + Identifier 1823546 1823552 + Identifier 1823553 1823557 + EqualsEqualsEqualsToken 1823557 1823561 + PropertyAccessExpression 1823561 1823595 + Identifier 1823561 1823572 + Identifier 1823573 1823595 + Block 1823597 1823820 + VariableStatement 1823599 1823691 + VariableDeclarationList 1823599 1823690 + VariableDeclaration 1823618 1823690 + Identifier 1823618 1823623 + AsExpression 1823625 1823690 + PropertyAccessExpression 1823625 1823640 + Identifier 1823625 1823633 + Identifier 1823634 1823640 + UnionType 1823643 1823690 + TypeReference 1823643 1823665 + Identifier 1823643 1823665 + TypeReference 1823667 1823690 + Identifier 1823667 1823690 + ExpressionStatement 1823691 1823809 + BinaryExpression 1823691 1823808 + Identifier 1823691 1823715 + EqualsToken 1823715 1823717 + BinaryExpression 1823717 1823808 + BinaryExpression 1823717 1823760 + PropertyAccessExpression 1823717 1823731 + Identifier 1823717 1823722 + Identifier 1823723 1823731 + EqualsEqualsEqualsToken 1823731 1823735 + PropertyAccessExpression 1823735 1823760 + Identifier 1823735 1823746 + Identifier 1823747 1823760 + BarBarToken 1823760 1823763 + BinaryExpression 1823763 1823808 + PropertyAccessExpression 1823763 1823777 + Identifier 1823763 1823768 + Identifier 1823769 1823777 + EqualsEqualsEqualsToken 1823777 1823781 + PropertyAccessExpression 1823781 1823808 + Identifier 1823781 1823792 + Identifier 1823793 1823808 + IfStatement 1823820 1823888 + PrefixUnaryExpression 1823836 1823847 + Identifier 1823837 1823847 + Block 1823848 1823888 + ReturnStatement 1823850 1823877 + FalseKeyword 1823870 1823876 + ReturnStatement 1823888 1824156 + PrefixUnaryExpression 1824072 1824155 + PrefixUnaryExpression 1824074 1824155 + CallExpression 1824075 1824155 + Identifier 1824075 1824087 + Identifier 1824088 1824095 + ArrowFunction 1824096 1824154 + Parameter 1824096 1824098 + Identifier 1824096 1824098 + EqualsGreaterThanToken 1824098 1824101 + ConditionalExpression 1824101 1824154 + BinaryExpression 1824101 1824117 + Identifier 1824101 1824103 + EqualsEqualsEqualsToken 1824103 1824107 + Identifier 1824107 1824117 + QuestionToken 1824117 1824119 + StringLiteral 1824119 1824126 + ColonToken 1824126 1824128 + BinaryExpression 1824128 1824154 + Identifier 1824128 1824130 + EqualsEqualsEqualsToken 1824130 1824134 + PropertyAccessExpression 1824134 1824154 + Identifier 1824134 1824144 + Identifier 1824145 1824154 + FunctionDeclaration 1824163 1824653 + Identifier 1824179 1824198 + Parameter 1824199 1824209 + Identifier 1824199 1824203 + TypeReference 1824204 1824209 + Identifier 1824204 1824209 + Parameter 1824210 1824226 + Identifier 1824210 1824220 + TypeReference 1824221 1824226 + Identifier 1824221 1824226 + VoidKeyword 1824228 1824233 + Block 1824233 1824653 + ExpressionStatement 1824235 1824300 + BinaryExpression 1824235 1824299 + PropertyAccessExpression 1824235 1824269 + CallExpression 1824235 1824263 + Identifier 1824235 1824257 + Identifier 1824258 1824262 + Identifier 1824264 1824269 + BarEqualsToken 1824269 1824272 + PropertyAccessExpression 1824272 1824299 + Identifier 1824272 1824287 + Identifier 1824288 1824299 + IfStatement 1824300 1824646 + BinaryExpression 1824314 1824408 + BinaryExpression 1824314 1824363 + PropertyAccessExpression 1824314 1824328 + Identifier 1824314 1824323 + Identifier 1824324 1824328 + EqualsEqualsEqualsToken 1824328 1824332 + PropertyAccessExpression 1824332 1824363 + Identifier 1824332 1824343 + Identifier 1824344 1824363 + BarBarToken 1824363 1824366 + BinaryExpression 1824366 1824408 + PropertyAccessExpression 1824366 1824381 + Identifier 1824366 1824376 + Identifier 1824377 1824381 + EqualsEqualsEqualsToken 1824381 1824385 + PropertyAccessExpression 1824385 1824408 + Identifier 1824385 1824396 + Identifier 1824397 1824408 + Block 1824409 1824545 + VariableStatement 1824411 1824460 + VariableDeclarationList 1824411 1824459 + VariableDeclaration 1824430 1824459 + Identifier 1824430 1824440 + PropertyAccessExpression 1824442 1824459 + Identifier 1824442 1824452 + Identifier 1824453 1824459 + ExpressionStatement 1824460 1824534 + BinaryExpression 1824460 1824533 + PropertyAccessExpression 1824460 1824503 + CallExpression 1824460 1824497 + Identifier 1824460 1824486 + Identifier 1824487 1824496 + Identifier 1824498 1824503 + BarEqualsToken 1824503 1824506 + PropertyAccessExpression 1824506 1824533 + Identifier 1824506 1824521 + Identifier 1824522 1824533 + Block 1824559 1824646 + ExpressionStatement 1824561 1824635 + BinaryExpression 1824561 1824634 + PropertyAccessExpression 1824561 1824604 + CallExpression 1824561 1824598 + Identifier 1824561 1824587 + Identifier 1824588 1824597 + Identifier 1824599 1824604 + BarEqualsToken 1824604 1824607 + PropertyAccessExpression 1824607 1824634 + Identifier 1824607 1824622 + Identifier 1824623 1824634 + FunctionDeclaration 1824653 1824876 + Identifier 1824669 1824688 + Parameter 1824689 1824699 + Identifier 1824689 1824693 + TypeReference 1824694 1824699 + Identifier 1824694 1824699 + UnionType 1824701 1824723 + TypeReference 1824701 1824711 + Identifier 1824701 1824711 + UndefinedKeyword 1824713 1824723 + Block 1824723 1824876 + ReturnStatement 1824725 1824869 + ConditionalExpression 1824741 1824868 + CallExpression 1824741 1824759 + Identifier 1824741 1824753 + Identifier 1824754 1824758 + QuestionToken 1824759 1824761 + Identifier 1824761 1824766 + ColonToken 1824766 1824768 + ConditionalExpression 1824768 1824868 + CallExpression 1824768 1824802 + Identifier 1824768 1824796 + Identifier 1824797 1824801 + QuestionToken 1824802 1824804 + Identifier 1824804 1824814 + ColonToken 1824814 1824816 + CallExpression 1824816 1824868 + Identifier 1824816 1824842 + Identifier 1824843 1824847 + Identifier 1824848 1824867 + FunctionDeclaration 1824876 1825471 + Identifier 1825091 1825119 + Parameter 1825120 1825151 + Identifier 1825120 1825129 + TypeReference 1825130 1825151 + Identifier 1825130 1825151 + BooleanKeyword 1825153 1825161 + Block 1825161 1825471 + VariableStatement 1825163 1825227 + VariableDeclarationList 1825163 1825226 + VariableDeclaration 1825178 1825226 + Identifier 1825178 1825190 + CallExpression 1825192 1825226 + Identifier 1825192 1825215 + Identifier 1825216 1825225 + VariableStatement 1825227 1825317 + VariableDeclarationList 1825227 1825316 + VariableDeclaration 1825242 1825316 + Identifier 1825242 1825260 + AsExpression 1825262 1825316 + CallExpression 1825262 1825299 + Identifier 1825262 1825286 + Identifier 1825287 1825298 + TypeReference 1825302 1825316 + Identifier 1825302 1825316 + VariableStatement 1825317 1825404 + VariableDeclarationList 1825317 1825403 + VariableDeclaration 1825332 1825403 + Identifier 1825332 1825352 + CallExpression 1825354 1825403 + Identifier 1825354 1825384 + Identifier 1825385 1825402 + ReturnStatement 1825404 1825464 + BinaryExpression 1825422 1825463 + Identifier 1825422 1825442 + EqualsEqualsEqualsToken 1825442 1825446 + Identifier 1825446 1825463 + FunctionDeclaration 1825471 1826197 + Identifier 1825487 1825508 + Parameter 1825509 1825519 + Identifier 1825509 1825513 + TypeReference 1825514 1825519 + Identifier 1825514 1825519 + Parameter 1825520 1825536 + Identifier 1825520 1825530 + TypeReference 1825531 1825536 + Identifier 1825531 1825536 + Parameter 1825537 1825574 + Identifier 1825537 1825555 + TypeReference 1825556 1825574 + Identifier 1825556 1825574 + Block 1825575 1826197 + VariableStatement 1825577 1825652 + VariableDeclarationList 1825577 1825651 + VariableDeclaration 1825592 1825651 + Identifier 1825592 1825612 + AsExpression 1825614 1825651 + PropertyAccessExpression 1825614 1825631 + Identifier 1825614 1825624 + Identifier 1825625 1825631 + TypeReference 1825634 1825651 + Identifier 1825634 1825651 + VariableStatement 1825652 1825735 + VariableDeclarationList 1825652 1825734 + VariableDeclaration 1825667 1825734 + Identifier 1825667 1825680 + CallExpression 1825682 1825734 + Identifier 1825682 1825713 + Identifier 1825714 1825733 + IfStatement 1825735 1826190 + BinaryExpression 1825925 1825990 + Identifier 1825925 1825937 + AmpersandAmpersandToken 1825937 1825940 + PrefixUnaryExpression 1825940 1825990 + CallExpression 1825942 1825990 + Identifier 1825942 1825969 + Identifier 1825970 1825989 + Block 1825991 1826190 + IfStatement 1825993 1826179 + BinaryExpression 1826011 1826112 + BinaryExpression 1826011 1826049 + CallExpression 1826011 1826032 + Identifier 1826011 1826026 + Identifier 1826027 1826031 + AmpersandAmpersandToken 1826032 1826035 + PropertyAccessExpression 1826035 1826049 + Identifier 1826035 1826040 + Identifier 1826041 1826049 + AmpersandAmpersandToken 1826049 1826052 + PrefixUnaryExpression 1826052 1826112 + CallExpression 1826054 1826112 + Identifier 1826054 1826073 + PropertyAccessExpression 1826074 1826087 + Identifier 1826074 1826078 + Identifier 1826079 1826087 + FalseKeyword 1826088 1826111 + Block 1826113 1826179 + ExpressionStatement 1826115 1826164 + CallExpression 1826115 1826163 + Identifier 1826115 1826138 + Identifier 1826139 1826143 + Identifier 1826144 1826162 + FunctionDeclaration 1826197 1826725 + Identifier 1826213 1826268 + Parameter 1826269 1826289 + Identifier 1826269 1826283 + TypeReference 1826284 1826289 + Identifier 1826284 1826289 + Parameter 1826290 1826306 + Identifier 1826290 1826300 + TypeReference 1826301 1826306 + Identifier 1826301 1826306 + Block 1826307 1826725 + IfStatement 1826309 1826718 + BinaryExpression 1826323 1826575 + BinaryExpression 1826323 1826540 + BinaryExpression 1826323 1826459 + BinaryExpression 1826323 1826421 + BinaryExpression 1826323 1826401 + CallExpression 1826323 1826369 + Identifier 1826323 1826358 + Identifier 1826359 1826368 + AmpersandAmpersandToken 1826369 1826372 + CallExpression 1826372 1826401 + Identifier 1826372 1826390 + Identifier 1826391 1826400 + AmpersandAmpersandToken 1826401 1826404 + Identifier 1826404 1826421 + AmpersandAmpersandToken 1826421 1826424 + PropertyAccessExpression 1826424 1826459 + Identifier 1826424 1826447 + Identifier 1826448 1826459 + AmpersandAmpersandToken 1826459 1826462 + CallExpression 1826462 1826540 + Identifier 1826462 1826497 + PropertyAccessExpression 1826498 1826519 + Identifier 1826498 1826507 + Identifier 1826508 1826519 + PropertyAccessExpression 1826520 1826539 + Identifier 1826520 1826535 + Identifier 1826536 1826539 + AmpersandAmpersandToken 1826540 1826543 + CallExpression 1826543 1826575 + Identifier 1826543 1826557 + PropertyAccessExpression 1826558 1826574 + Identifier 1826558 1826567 + Identifier 1826568 1826574 + Block 1826586 1826718 + ExpressionStatement 1826588 1826707 + CallExpression 1826588 1826706 + Identifier 1826588 1826607 + Identifier 1826608 1826622 + PropertyAccessExpression 1826623 1826705 + Identifier 1826623 1826635 + Identifier 1826636 1826705 + FunctionDeclaration 1826725 1830340 + Identifier 1826741 1826761 + Parameter 1826762 1826772 + Identifier 1826762 1826766 + TypeReference 1826767 1826772 + Identifier 1826767 1826772 + TypeReference 1826774 1826779 + Identifier 1826774 1826779 + Block 1826779 1830340 + VariableStatement 1826781 1826837 + VariableDeclarationList 1826781 1826836 + VariableDeclaration 1826796 1826836 + Identifier 1826796 1826814 + CallExpression 1826816 1826836 + Identifier 1826816 1826830 + Identifier 1826831 1826835 + VariableStatement 1826837 1827075 + VariableDeclarationList 1826837 1827074 + VariableDeclaration 1826964 1827074 + Identifier 1826964 1826974 + CallExpression 1826976 1827074 + Identifier 1826976 1826993 + Identifier 1826994 1826998 + TrueKeyword 1826999 1827030 + TrueKeyword 1827031 1827073 + VariableStatement 1827075 1827121 + VariableDeclarationList 1827075 1827120 + VariableDeclaration 1827088 1827120 + Identifier 1827088 1827112 + FalseKeyword 1827114 1827120 + VariableStatement 1827121 1827170 + VariableDeclarationList 1827121 1827169 + VariableDeclaration 1827134 1827169 + Identifier 1827134 1827161 + FalseKeyword 1827163 1827169 + IfStatement 1827170 1827387 + BinaryExpression 1827186 1827227 + PropertyAccessExpression 1827186 1827200 + Identifier 1827186 1827195 + Identifier 1827196 1827200 + EqualsEqualsEqualsToken 1827200 1827204 + PropertyAccessExpression 1827204 1827227 + Identifier 1827204 1827215 + Identifier 1827216 1827227 + Block 1827228 1827387 + ExpressionStatement 1827230 1827376 + CallExpression 1827230 1827375 + Identifier 1827230 1827264 + Identifier 1827265 1827269 + Identifier 1827270 1827280 + PropertyAccessExpression 1827281 1827374 + Identifier 1827281 1827293 + Identifier 1827294 1827374 + WhileStatement 1827387 1828065 + TrueKeyword 1827406 1827410 + Block 1827411 1828065 + IfStatement 1827413 1827737 + BinaryExpression 1827507 1827550 + PropertyAccessExpression 1827507 1827521 + Identifier 1827507 1827516 + Identifier 1827517 1827521 + EqualsEqualsEqualsToken 1827521 1827525 + PropertyAccessExpression 1827525 1827550 + Identifier 1827525 1827536 + Identifier 1827537 1827550 + Block 1827551 1827737 + ExpressionStatement 1827553 1827673 + BinaryExpression 1827553 1827672 + Identifier 1827553 1827580 + EqualsToken 1827580 1827582 + CallExpression 1827582 1827672 + Identifier 1827582 1827599 + Identifier 1827600 1827609 + FalseKeyword 1827610 1827642 + PrefixUnaryExpression 1827643 1827671 + Identifier 1827645 1827671 + ExpressionStatement 1827673 1827722 + BinaryExpression 1827673 1827721 + Identifier 1827673 1827714 + EqualsToken 1827714 1827716 + TrueKeyword 1827716 1827721 + IfStatement 1827737 1828032 + BinaryExpression 1827757 1827807 + PropertyAccessExpression 1827757 1827771 + Identifier 1827757 1827766 + Identifier 1827767 1827771 + EqualsEqualsEqualsToken 1827771 1827775 + PropertyAccessExpression 1827775 1827807 + Identifier 1827775 1827786 + Identifier 1827787 1827807 + Block 1827808 1828032 + ExpressionStatement 1827810 1827938 + BinaryExpression 1827810 1827937 + Identifier 1827810 1827837 + EqualsToken 1827837 1827839 + CallExpression 1827839 1827937 + Identifier 1827839 1827856 + Identifier 1827857 1827866 + PrefixUnaryExpression 1827867 1827892 + Identifier 1827869 1827892 + FalseKeyword 1827893 1827936 + ExpressionStatement 1827938 1827990 + BinaryExpression 1827938 1827989 + Identifier 1827938 1827982 + EqualsToken 1827982 1827984 + TrueKeyword 1827984 1827989 + ContinueStatement 1827990 1828017 + BreakStatement 1828032 1828054 + ExpressionStatement 1828065 1828149 + CallExpression 1828065 1828148 + Identifier 1828065 1828131 + Identifier 1828132 1828136 + Identifier 1828137 1828147 + IfStatement 1828149 1828985 + Identifier 1828163 1828189 + Block 1828190 1828296 + ExpressionStatement 1828192 1828285 + CallExpression 1828192 1828284 + Identifier 1828192 1828211 + Identifier 1828212 1828216 + PropertyAccessExpression 1828217 1828283 + Identifier 1828217 1828229 + Identifier 1828230 1828283 + Block 1828310 1828985 + SwitchStatement 1828312 1828974 + PropertyAccessExpression 1828334 1828348 + Identifier 1828334 1828343 + Identifier 1828344 1828348 + CaseBlock 1828349 1828974 + CaseClause 1828351 1828661 + PropertyAccessExpression 1828373 1828402 + Identifier 1828373 1828384 + Identifier 1828385 1828402 + ExpressionStatement 1828403 1828506 + CallExpression 1828403 1828505 + Identifier 1828403 1828430 + Identifier 1828431 1828435 + PropertyAccessExpression 1828436 1828504 + Identifier 1828436 1828448 + Identifier 1828449 1828504 + BreakStatement 1828506 1828661 + CaseClause 1828661 1828959 + PropertyAccessExpression 1828683 1828710 + Identifier 1828683 1828694 + Identifier 1828695 1828710 + ExpressionStatement 1828711 1828804 + CallExpression 1828711 1828803 + Identifier 1828711 1828738 + Identifier 1828739 1828743 + PropertyAccessExpression 1828744 1828802 + Identifier 1828744 1828756 + Identifier 1828757 1828802 + BreakStatement 1828804 1828959 + IfStatement 1828985 1829252 + BinaryExpression 1829102 1829188 + BinaryExpression 1829102 1829147 + PrefixUnaryExpression 1829102 1829120 + Identifier 1829103 1829120 + AmpersandAmpersandToken 1829120 1829123 + Identifier 1829123 1829147 + AmpersandAmpersandToken 1829147 1829150 + BinaryExpression 1829150 1829188 + Identifier 1829150 1829166 + LessThanToken 1829166 1829168 + PropertyAccessExpression 1829168 1829188 + Identifier 1829168 1829181 + Identifier 1829182 1829188 + Block 1829189 1829252 + ExpressionStatement 1829191 1829241 + CallExpression 1829191 1829240 + Identifier 1829191 1829223 + Identifier 1829224 1829228 + Identifier 1829229 1829239 + VariableStatement 1829252 1829339 + VariableDeclarationList 1829252 1829338 + VariableDeclaration 1829269 1829338 + Identifier 1829269 1829274 + CallExpression 1829276 1829338 + Identifier 1829276 1829293 + Identifier 1829294 1829298 + TrueKeyword 1829299 1829326 + Identifier 1829327 1829337 + IfStatement 1829339 1830300 + Identifier 1829353 1829367 + Block 1829368 1830300 + VariableStatement 1829370 1829441 + VariableDeclarationList 1829370 1829440 + VariableDeclaration 1829389 1829440 + Identifier 1829389 1829404 + CallExpression 1829406 1829440 + Identifier 1829406 1829422 + Identifier 1829423 1829439 + IfStatement 1829441 1830289 + BinaryExpression 1829459 1829509 + BinaryExpression 1829459 1829482 + Identifier 1829459 1829463 + EqualsEqualsEqualsToken 1829463 1829467 + Identifier 1829467 1829482 + AmpersandAmpersandToken 1829482 1829485 + Identifier 1829485 1829509 + Block 1829510 1829634 + ExpressionStatement 1829512 1829619 + CallExpression 1829512 1829618 + Identifier 1829512 1829535 + Identifier 1829536 1829540 + PropertyAccessExpression 1829541 1829617 + Identifier 1829541 1829553 + Identifier 1829554 1829617 + IfStatement 1829652 1830289 + PrefixUnaryExpression 1829657 1829662 + Identifier 1829658 1829662 + Block 1829663 1830289 + VariableStatement 1829665 1829890 + VariableDeclarationList 1829665 1829889 + VariableDeclaration 1829785 1829889 + Identifier 1829785 1829790 + CallExpression 1829792 1829889 + Identifier 1829792 1829798 + Identifier 1829799 1829803 + PropertyAccessExpression 1829804 1829888 + Identifier 1829804 1829816 + Identifier 1829817 1829888 + IfStatement 1829890 1830274 + PrefixUnaryExpression 1829912 1829936 + CallExpression 1829913 1829936 + Identifier 1829913 1829925 + Identifier 1829926 1829935 + Block 1829937 1830274 + VariableStatement 1829939 1830009 + VariableDeclarationList 1829939 1830008 + VariableDeclaration 1829966 1830008 + Identifier 1829966 1829978 + CallExpression 1829980 1830008 + Identifier 1829980 1829997 + Identifier 1829998 1830007 + IfStatement 1830009 1830255 + BinaryExpression 1830035 1830080 + Identifier 1830035 1830046 + AmpersandAmpersandToken 1830046 1830049 + BinaryExpression 1830049 1830080 + Identifier 1830049 1830061 + ExclamationEqualsEqualsToken 1830061 1830065 + Identifier 1830065 1830080 + Block 1830081 1830255 + ExpressionStatement 1830083 1830232 + CallExpression 1830083 1830231 + Identifier 1830083 1830123 + Identifier 1830124 1830128 + CallExpression 1830129 1830230 + Identifier 1830129 1830153 + Identifier 1830154 1830163 + PropertyAccessExpression 1830164 1830229 + Identifier 1830164 1830176 + Identifier 1830177 1830229 + ReturnStatement 1830300 1830333 + BinaryExpression 1830316 1830332 + Identifier 1830316 1830321 + BarBarToken 1830321 1830324 + Identifier 1830324 1830332 + FunctionDeclaration 1830340 1832935 + Identifier 1830356 1830373 + Parameter 1830374 1830384 + Identifier 1830374 1830378 + TypeReference 1830379 1830384 + Identifier 1830379 1830384 + Parameter 1830385 1830410 + Identifier 1830385 1830403 + TrueKeyword 1830405 1830410 + Parameter 1830411 1830523 + Identifier 1830411 1830421 + CallExpression 1830423 1830523 + Identifier 1830423 1830440 + Identifier 1830441 1830445 + FalseKeyword 1830446 1830478 + FalseKeyword 1830479 1830522 + UnionType 1830525 1830542 + TypeReference 1830525 1830530 + Identifier 1830525 1830530 + UndefinedKeyword 1830532 1830542 + Block 1830542 1832935 + VariableStatement 1830544 1830586 + VariableDeclarationList 1830544 1830585 + VariableDeclaration 1830559 1830585 + Identifier 1830559 1830566 + CallExpression 1830568 1830585 + Identifier 1830568 1830579 + Identifier 1830580 1830584 + IfStatement 1830586 1831965 + BinaryExpression 1830600 1830744 + CallExpression 1830600 1830639 + Identifier 1830600 1830628 + Identifier 1830629 1830638 + AmpersandAmpersandToken 1830639 1830642 + ParenthesizedExpression 1830642 1830744 + BinaryExpression 1830657 1830743 + PrefixUnaryExpression 1830657 1830712 + CallExpression 1830658 1830712 + Identifier 1830658 1830706 + Identifier 1830707 1830711 + BarBarToken 1830712 1830715 + CallExpression 1830715 1830743 + Identifier 1830715 1830732 + Identifier 1830733 1830742 + Block 1830755 1831965 + VariableStatement 1830757 1830880 + VariableDeclarationList 1830757 1830879 + VariableDeclaration 1830774 1830879 + Identifier 1830774 1830783 + BinaryExpression 1830785 1830879 + CallExpression 1830785 1830821 + Identifier 1830785 1830810 + Identifier 1830811 1830820 + BarBarToken 1830821 1830824 + BinaryExpression 1830824 1830879 + Identifier 1830824 1830831 + AmpersandAmpersandToken 1830831 1830834 + CallExpression 1830834 1830879 + Identifier 1830834 1830868 + Identifier 1830869 1830878 + IfStatement 1830880 1831844 + PrefixUnaryExpression 1831097 1831106 + Identifier 1831098 1831106 + Block 1831107 1831844 + VariableStatement 1831109 1831188 + VariableDeclarationList 1831109 1831187 + VariableDeclaration 1831132 1831187 + Identifier 1831132 1831142 + CallExpression 1831144 1831187 + Identifier 1831144 1831176 + Identifier 1831177 1831186 + IfStatement 1831188 1831756 + BinaryExpression 1831210 1831229 + Identifier 1831210 1831216 + AmpersandAmpersandToken 1831216 1831219 + Identifier 1831219 1831229 + Block 1831230 1831561 + VariableStatement 1831232 1831308 + VariableDeclarationList 1831232 1831307 + VariableDeclaration 1831259 1831307 + Identifier 1831259 1831271 + PropertyAccessExpression 1831273 1831307 + CallExpression 1831273 1831300 + Identifier 1831273 1831289 + Identifier 1831290 1831299 + Identifier 1831301 1831307 + IfStatement 1831308 1831542 + BinaryExpression 1831334 1831414 + BinaryExpression 1831334 1831368 + Identifier 1831334 1831345 + AmpersandAmpersandToken 1831345 1831348 + PropertyAccessExpression 1831348 1831368 + Identifier 1831348 1831360 + Identifier 1831361 1831368 + AmpersandAmpersandToken 1831368 1831371 + ParenthesizedExpression 1831371 1831414 + BinaryExpression 1831373 1831413 + PropertyAccessExpression 1831373 1831390 + Identifier 1831373 1831384 + Identifier 1831385 1831390 + AmpersandToken 1831390 1831392 + PropertyAccessExpression 1831392 1831413 + Identifier 1831392 1831404 + Identifier 1831405 1831413 + Block 1831415 1831542 + ExpressionStatement 1831417 1831519 + BinaryExpression 1831417 1831518 + Identifier 1831417 1831451 + EqualsToken 1831451 1831453 + PropertyAccessExpression 1831453 1831518 + ParenthesizedExpression 1831453 1831509 + AsExpression 1831455 1831508 + CallExpression 1831455 1831491 + Identifier 1831455 1831478 + Identifier 1831479 1831490 + TypeReference 1831494 1831508 + Identifier 1831494 1831508 + Identifier 1831510 1831518 + IfStatement 1831583 1831756 + CallExpression 1831588 1831614 + Identifier 1831588 1831603 + Identifier 1831604 1831613 + Block 1831615 1831756 + ExpressionStatement 1831617 1831737 + BinaryExpression 1831617 1831736 + Identifier 1831617 1831647 + EqualsToken 1831647 1831649 + PropertyAccessExpression 1831649 1831736 + ParenthesizedExpression 1831649 1831727 + AsExpression 1831651 1831726 + CallExpression 1831651 1831709 + Identifier 1831651 1831674 + CallExpression 1831675 1831708 + Identifier 1831675 1831690 + PropertyAccessExpression 1831691 1831707 + Identifier 1831691 1831700 + Identifier 1831701 1831707 + TypeReference 1831712 1831726 + Identifier 1831712 1831726 + Identifier 1831728 1831736 + ExpressionStatement 1831756 1831829 + BinaryExpression 1831756 1831828 + Identifier 1831756 1831782 + BarBarEqualsToken 1831782 1831786 + CallExpression 1831786 1831828 + Identifier 1831786 1831817 + Identifier 1831818 1831827 + IfStatement 1831844 1831954 + Identifier 1831864 1831872 + Block 1831873 1831954 + ReturnStatement 1831875 1831939 + CallExpression 1831899 1831938 + Identifier 1831899 1831922 + Identifier 1831923 1831927 + Identifier 1831928 1831937 + IfStatement 1831965 1832286 + CallExpression 1831981 1832010 + Identifier 1831981 1831992 + PropertyAccessExpression 1831993 1832009 + Identifier 1831993 1832002 + Identifier 1832003 1832009 + Block 1832011 1832286 + VariableStatement 1832013 1832083 + VariableDeclarationList 1832013 1832082 + VariableDeclaration 1832032 1832082 + Identifier 1832032 1832039 + CallExpression 1832041 1832082 + Identifier 1832041 1832064 + PropertyAccessExpression 1832065 1832081 + Identifier 1832065 1832074 + Identifier 1832075 1832081 + VariableStatement 1832083 1832219 + VariableDeclarationList 1832083 1832218 + VariableDeclaration 1832102 1832218 + Identifier 1832102 1832107 + ConditionalExpression 1832109 1832218 + CallExpression 1832109 1832129 + Identifier 1832109 1832118 + Identifier 1832119 1832128 + QuestionToken 1832129 1832131 + CallExpression 1832131 1832155 + Identifier 1832131 1832147 + Identifier 1832148 1832154 + ColonToken 1832155 1832157 + NonNullExpression 1832157 1832218 + PropertyAccessExpression 1832157 1832217 + ParenthesizedExpression 1832157 1832208 + AsExpression 1832159 1832207 + CallExpression 1832159 1832190 + Identifier 1832159 1832182 + Identifier 1832183 1832189 + TypeReference 1832193 1832207 + Identifier 1832193 1832207 + Identifier 1832209 1832217 + ReturnStatement 1832219 1832275 + CallExpression 1832239 1832274 + Identifier 1832239 1832262 + Identifier 1832263 1832267 + Identifier 1832268 1832273 + IfStatement 1832286 1832928 + CallExpression 1832302 1832325 + Identifier 1832302 1832314 + Identifier 1832315 1832324 + Block 1832326 1832928 + IfStatement 1832328 1832917 + PropertyAccessExpression 1832409 1832442 + Identifier 1832409 1832418 + Identifier 1832419 1832442 + Block 1832443 1832598 + VariableStatement 1832445 1832516 + VariableDeclarationList 1832445 1832515 + VariableDeclaration 1832468 1832515 + Identifier 1832468 1832479 + CallExpression 1832481 1832515 + Identifier 1832481 1832504 + Identifier 1832505 1832514 + ReturnStatement 1832516 1832583 + BinaryExpression 1832540 1832582 + Identifier 1832540 1832551 + AmpersandAmpersandToken 1832551 1832554 + CallExpression 1832554 1832582 + Identifier 1832554 1832570 + Identifier 1832571 1832581 + IfStatement 1832616 1832917 + PropertyAccessExpression 1832621 1832654 + Identifier 1832621 1832630 + Identifier 1832631 1832654 + Block 1832655 1832800 + ReturnStatement 1832657 1832785 + Identifier 1832770 1832784 + IfStatement 1832818 1832917 + Identifier 1832823 1832840 + Block 1832841 1832917 + ReturnStatement 1832843 1832902 + CallExpression 1832867 1832901 + Identifier 1832867 1832883 + Identifier 1832884 1832900 + FunctionDeclaration 1832935 1833640 + Identifier 1832951 1832971 + Parameter 1832972 1832988 + Identifier 1832972 1832976 + TypeReference 1832977 1832988 + Identifier 1832977 1832988 + Block 1832989 1833640 + VariableStatement 1832991 1833119 + VariableDeclarationList 1832991 1833118 + VariableDeclaration 1833006 1833118 + Identifier 1833006 1833016 + CallExpression 1833018 1833118 + Identifier 1833018 1833035 + Identifier 1833036 1833040 + FalseKeyword 1833041 1833073 + FalseKeyword 1833074 1833117 + IfStatement 1833119 1833376 + CallExpression 1833133 1833158 + Identifier 1833133 1833147 + Identifier 1833148 1833157 + Block 1833159 1833376 + VariableStatement 1833161 1833232 + VariableDeclarationList 1833161 1833231 + VariableDeclaration 1833180 1833231 + Identifier 1833180 1833190 + CallExpression 1833192 1833231 + Identifier 1833192 1833220 + Identifier 1833221 1833230 + IfStatement 1833232 1833365 + PropertyAccessExpression 1833250 1833273 + Identifier 1833250 1833259 + Identifier 1833260 1833273 + Block 1833274 1833365 + ReturnStatement 1833276 1833350 + CallExpression 1833300 1833349 + Identifier 1833300 1833324 + PropertyAccessExpression 1833325 1833348 + Identifier 1833325 1833334 + Identifier 1833335 1833348 + IfStatement 1833376 1833633 + CallExpression 1833390 1833419 + Identifier 1833390 1833401 + PropertyAccessExpression 1833402 1833418 + Identifier 1833402 1833411 + Identifier 1833412 1833418 + Block 1833420 1833633 + VariableStatement 1833422 1833492 + VariableDeclarationList 1833422 1833491 + VariableDeclaration 1833441 1833491 + Identifier 1833441 1833448 + CallExpression 1833450 1833491 + Identifier 1833450 1833473 + PropertyAccessExpression 1833474 1833490 + Identifier 1833474 1833483 + Identifier 1833484 1833490 + ReturnStatement 1833492 1833622 + ConditionalExpression 1833512 1833621 + CallExpression 1833512 1833532 + Identifier 1833512 1833521 + Identifier 1833522 1833531 + QuestionToken 1833532 1833534 + CallExpression 1833534 1833558 + Identifier 1833534 1833550 + Identifier 1833551 1833557 + ColonToken 1833558 1833560 + NonNullExpression 1833560 1833621 + PropertyAccessExpression 1833560 1833620 + ParenthesizedExpression 1833560 1833611 + AsExpression 1833562 1833610 + CallExpression 1833562 1833593 + Identifier 1833562 1833585 + Identifier 1833586 1833592 + TypeReference 1833596 1833610 + Identifier 1833596 1833610 + Identifier 1833612 1833620 + FunctionDeclaration 1833640 1837424 + Identifier 1833656 1833688 + Parameter 1833689 1833704 + Identifier 1833689 1833698 + TypeReference 1833699 1833704 + Identifier 1833699 1833704 + Block 1833705 1837424 + IfStatement 1833707 1837417 + BinaryExpression 1833803 1834029 + BinaryExpression 1833803 1833918 + BinaryExpression 1833803 1833865 + PropertyAccessExpression 1833803 1833831 + Identifier 1833803 1833826 + Identifier 1833827 1833831 + EqualsEqualsEqualsToken 1833831 1833835 + PropertyAccessExpression 1833835 1833865 + Identifier 1833835 1833846 + Identifier 1833847 1833865 + AmpersandAmpersandToken 1833865 1833868 + CallExpression 1833868 1833918 + Identifier 1833868 1833900 + PropertyAccessExpression 1833901 1833917 + Identifier 1833901 1833910 + Identifier 1833911 1833917 + AmpersandAmpersandToken 1833918 1833921 + BinaryExpression 1833921 1834029 + CallExpression 1833921 1833981 + Identifier 1833921 1833963 + PropertyAccessExpression 1833964 1833980 + Identifier 1833964 1833973 + Identifier 1833974 1833980 + EqualsEqualsEqualsToken 1833981 1833985 + PropertyAccessExpression 1833985 1834029 + Identifier 1833985 1834011 + Identifier 1834012 1834029 + Block 1834040 1834357 + ReturnStatement 1834042 1834341 + PropertyAccessExpression 1834121 1834340 + ParenthesizedExpression 1834121 1834296 + AsExpression 1834123 1834295 + PropertyAccessExpression 1834123 1834267 + ParenthesizedExpression 1834123 1834221 + AsExpression 1834124 1834220 + PropertyAccessExpression 1834124 1834192 + PropertyAccessExpression 1834124 1834140 + Identifier 1834124 1834133 + Identifier 1834134 1834140 + Identifier 1834188 1834192 + TypeReference 1834195 1834220 + Identifier 1834195 1834220 + Identifier 1834257 1834267 + TypeReference 1834270 1834295 + Identifier 1834270 1834295 + Identifier 1834330 1834340 + IfStatement 1834414 1837417 + BinaryExpression 1834419 1834727 + BinaryExpression 1834419 1834617 + BinaryExpression 1834419 1834557 + BinaryExpression 1834419 1834480 + PropertyAccessExpression 1834419 1834447 + Identifier 1834419 1834442 + Identifier 1834443 1834447 + EqualsEqualsEqualsToken 1834447 1834451 + PropertyAccessExpression 1834451 1834480 + Identifier 1834451 1834462 + Identifier 1834463 1834480 + AmpersandAmpersandToken 1834480 1834483 + BinaryExpression 1834483 1834557 + PropertyAccessExpression 1834483 1834518 + PropertyAccessExpression 1834483 1834513 + Identifier 1834483 1834506 + Identifier 1834507 1834513 + Identifier 1834514 1834518 + EqualsEqualsEqualsToken 1834518 1834522 + PropertyAccessExpression 1834522 1834557 + Identifier 1834522 1834533 + Identifier 1834534 1834557 + AmpersandAmpersandToken 1834557 1834560 + CallExpression 1834560 1834617 + Identifier 1834560 1834592 + PropertyAccessExpression 1834593 1834616 + PropertyAccessExpression 1834593 1834609 + Identifier 1834593 1834602 + Identifier 1834603 1834609 + Identifier 1834610 1834616 + AmpersandAmpersandToken 1834617 1834620 + BinaryExpression 1834620 1834727 + CallExpression 1834620 1834687 + Identifier 1834620 1834662 + PropertyAccessExpression 1834663 1834686 + PropertyAccessExpression 1834663 1834679 + Identifier 1834663 1834672 + Identifier 1834673 1834679 + Identifier 1834680 1834686 + EqualsEqualsEqualsToken 1834687 1834691 + PropertyAccessExpression 1834691 1834727 + Identifier 1834691 1834717 + Identifier 1834718 1834727 + Block 1834738 1834842 + ReturnStatement 1834740 1834831 + PropertyAccessExpression 1834760 1834830 + ParenthesizedExpression 1834760 1834819 + AsExpression 1834762 1834818 + PropertyAccessExpression 1834762 1834790 + PropertyAccessExpression 1834762 1834785 + PropertyAccessExpression 1834762 1834778 + Identifier 1834762 1834771 + Identifier 1834772 1834778 + Identifier 1834779 1834785 + Identifier 1834786 1834790 + TypeReference 1834793 1834818 + Identifier 1834793 1834818 + Identifier 1834820 1834830 + IfStatement 1834909 1837417 + BinaryExpression 1834914 1835316 + BinaryExpression 1834914 1835199 + BinaryExpression 1834914 1835132 + BinaryExpression 1834914 1835048 + BinaryExpression 1834914 1834976 + PropertyAccessExpression 1834914 1834942 + Identifier 1834914 1834937 + Identifier 1834938 1834942 + EqualsEqualsEqualsToken 1834942 1834946 + PropertyAccessExpression 1834946 1834976 + Identifier 1834946 1834957 + Identifier 1834958 1834976 + AmpersandAmpersandToken 1834976 1834979 + BinaryExpression 1834979 1835048 + PropertyAccessExpression 1834979 1835014 + PropertyAccessExpression 1834979 1835009 + Identifier 1834979 1835002 + Identifier 1835003 1835009 + Identifier 1835010 1835014 + EqualsEqualsEqualsToken 1835014 1835018 + PropertyAccessExpression 1835018 1835048 + Identifier 1835018 1835029 + Identifier 1835030 1835048 + AmpersandAmpersandToken 1835048 1835051 + BinaryExpression 1835051 1835132 + PropertyAccessExpression 1835051 1835093 + PropertyAccessExpression 1835051 1835088 + PropertyAccessExpression 1835051 1835081 + Identifier 1835051 1835074 + Identifier 1835075 1835081 + Identifier 1835082 1835088 + Identifier 1835089 1835093 + EqualsEqualsEqualsToken 1835093 1835097 + PropertyAccessExpression 1835097 1835132 + Identifier 1835097 1835108 + Identifier 1835109 1835132 + AmpersandAmpersandToken 1835132 1835135 + CallExpression 1835135 1835199 + Identifier 1835135 1835167 + PropertyAccessExpression 1835168 1835198 + PropertyAccessExpression 1835168 1835191 + PropertyAccessExpression 1835168 1835184 + Identifier 1835168 1835177 + Identifier 1835178 1835184 + Identifier 1835185 1835191 + Identifier 1835192 1835198 + AmpersandAmpersandToken 1835199 1835202 + BinaryExpression 1835202 1835316 + CallExpression 1835202 1835276 + Identifier 1835202 1835244 + PropertyAccessExpression 1835245 1835275 + PropertyAccessExpression 1835245 1835268 + PropertyAccessExpression 1835245 1835261 + Identifier 1835245 1835254 + Identifier 1835255 1835261 + Identifier 1835262 1835268 + Identifier 1835269 1835275 + EqualsEqualsEqualsToken 1835276 1835280 + PropertyAccessExpression 1835280 1835316 + Identifier 1835280 1835306 + Identifier 1835307 1835316 + Block 1835327 1835438 + ReturnStatement 1835329 1835427 + PropertyAccessExpression 1835349 1835426 + ParenthesizedExpression 1835349 1835415 + AsExpression 1835351 1835414 + PropertyAccessExpression 1835351 1835386 + PropertyAccessExpression 1835351 1835381 + PropertyAccessExpression 1835351 1835374 + PropertyAccessExpression 1835351 1835367 + Identifier 1835351 1835360 + Identifier 1835361 1835367 + Identifier 1835368 1835374 + Identifier 1835375 1835381 + Identifier 1835382 1835386 + TypeReference 1835389 1835414 + Identifier 1835389 1835414 + Identifier 1835416 1835426 + IfStatement 1835689 1837417 + BinaryExpression 1835694 1836378 + BinaryExpression 1835694 1836241 + BinaryExpression 1835694 1836153 + BinaryExpression 1835694 1836088 + BinaryExpression 1835694 1836021 + BinaryExpression 1835694 1835863 + BinaryExpression 1835694 1835811 + BinaryExpression 1835694 1835756 + PropertyAccessExpression 1835694 1835722 + Identifier 1835694 1835717 + Identifier 1835718 1835722 + EqualsEqualsEqualsToken 1835722 1835726 + PropertyAccessExpression 1835726 1835756 + Identifier 1835726 1835737 + Identifier 1835738 1835756 + AmpersandAmpersandToken 1835756 1835759 + CallExpression 1835759 1835811 + Identifier 1835759 1835793 + PropertyAccessExpression 1835794 1835810 + Identifier 1835794 1835803 + Identifier 1835804 1835810 + AmpersandAmpersandToken 1835811 1835814 + CallExpression 1835814 1835863 + Identifier 1835814 1835840 + PropertyAccessExpression 1835841 1835862 + PropertyAccessExpression 1835841 1835857 + Identifier 1835841 1835850 + Identifier 1835851 1835857 + Identifier 1835858 1835862 + AmpersandAmpersandToken 1835863 1835866 + ParenthesizedExpression 1835866 1836021 + BinaryExpression 1835881 1836020 + BinaryExpression 1835881 1835973 + BinaryExpression 1835881 1835926 + PropertyAccessExpression 1835881 1835914 + PropertyAccessExpression 1835881 1835902 + PropertyAccessExpression 1835881 1835897 + Identifier 1835881 1835890 + Identifier 1835891 1835897 + Identifier 1835898 1835902 + Identifier 1835903 1835914 + EqualsEqualsEqualsToken 1835914 1835918 + StringLiteral 1835918 1835926 + BarBarToken 1835926 1835929 + BinaryExpression 1835929 1835973 + PropertyAccessExpression 1835929 1835963 + PropertyAccessExpression 1835929 1835951 + PropertyAccessExpression 1835929 1835946 + Identifier 1835929 1835939 + Identifier 1835940 1835946 + Identifier 1835947 1835951 + Identifier 1835952 1835963 + EqualsEqualsEqualsToken 1835963 1835967 + StringLiteral 1835967 1835973 + BarBarToken 1835973 1835976 + BinaryExpression 1835976 1836020 + PropertyAccessExpression 1835976 1836010 + PropertyAccessExpression 1835976 1835998 + PropertyAccessExpression 1835976 1835993 + Identifier 1835976 1835986 + Identifier 1835987 1835993 + Identifier 1835994 1835998 + Identifier 1835999 1836010 + EqualsEqualsEqualsToken 1836010 1836014 + StringLiteral 1836014 1836020 + AmpersandAmpersandToken 1836021 1836024 + CallExpression 1836024 1836088 + Identifier 1836024 1836063 + PropertyAccessExpression 1836064 1836087 + PropertyAccessExpression 1836064 1836080 + Identifier 1836064 1836073 + Identifier 1836074 1836080 + Identifier 1836081 1836087 + AmpersandAmpersandToken 1836088 1836091 + CallExpression 1836091 1836153 + Identifier 1836091 1836121 + PropertyAccessExpression 1836122 1836152 + PropertyAccessExpression 1836122 1836145 + PropertyAccessExpression 1836122 1836138 + Identifier 1836122 1836131 + Identifier 1836132 1836138 + Identifier 1836139 1836145 + Identifier 1836146 1836152 + AmpersandAmpersandToken 1836153 1836156 + BinaryExpression 1836156 1836241 + ElementAccessExpression 1836156 1836213 + PropertyAccessExpression 1836156 1836210 + PropertyAccessExpression 1836156 1836200 + PropertyAccessExpression 1836156 1836193 + PropertyAccessExpression 1836156 1836186 + Identifier 1836156 1836179 + Identifier 1836180 1836186 + Identifier 1836187 1836193 + Identifier 1836194 1836200 + Identifier 1836201 1836210 + NumericLiteral 1836211 1836212 + EqualsEqualsEqualsToken 1836213 1836217 + PropertyAccessExpression 1836217 1836241 + PropertyAccessExpression 1836217 1836234 + Identifier 1836217 1836227 + Identifier 1836228 1836234 + Identifier 1836235 1836241 + AmpersandAmpersandToken 1836241 1836244 + BinaryExpression 1836244 1836378 + CallExpression 1836244 1836318 + Identifier 1836244 1836286 + PropertyAccessExpression 1836287 1836317 + PropertyAccessExpression 1836287 1836310 + PropertyAccessExpression 1836287 1836303 + Identifier 1836287 1836296 + Identifier 1836297 1836303 + Identifier 1836304 1836310 + Identifier 1836311 1836317 + EqualsEqualsEqualsToken 1836318 1836322 + PropertyAccessExpression 1836322 1836378 + Identifier 1836322 1836348 + Identifier 1836349 1836378 + Block 1836389 1836508 + ReturnStatement 1836391 1836497 + PropertyAccessExpression 1836411 1836496 + ParenthesizedExpression 1836411 1836485 + AsExpression 1836413 1836484 + ElementAccessExpression 1836413 1836456 + PropertyAccessExpression 1836413 1836453 + PropertyAccessExpression 1836413 1836443 + PropertyAccessExpression 1836413 1836436 + PropertyAccessExpression 1836413 1836429 + Identifier 1836413 1836422 + Identifier 1836423 1836429 + Identifier 1836430 1836436 + Identifier 1836437 1836443 + Identifier 1836444 1836453 + NumericLiteral 1836454 1836455 + TypeReference 1836459 1836484 + Identifier 1836459 1836484 + Identifier 1836486 1836496 + IfStatement 1836741 1837417 + BinaryExpression 1836746 1837294 + BinaryExpression 1836746 1837164 + BinaryExpression 1836746 1837090 + BinaryExpression 1836746 1837032 + BinaryExpression 1836746 1836972 + BinaryExpression 1836746 1836835 + CallExpression 1836746 1836790 + Identifier 1836746 1836779 + Identifier 1836780 1836789 + AmpersandAmpersandToken 1836790 1836793 + CallExpression 1836793 1836835 + Identifier 1836793 1836819 + PropertyAccessExpression 1836820 1836834 + Identifier 1836820 1836829 + Identifier 1836830 1836834 + AmpersandAmpersandToken 1836835 1836838 + ParenthesizedExpression 1836838 1836972 + BinaryExpression 1836853 1836971 + BinaryExpression 1836853 1836931 + BinaryExpression 1836853 1836891 + PropertyAccessExpression 1836853 1836879 + PropertyAccessExpression 1836853 1836867 + Identifier 1836853 1836862 + Identifier 1836863 1836867 + Identifier 1836868 1836879 + EqualsEqualsEqualsToken 1836879 1836883 + StringLiteral 1836883 1836891 + BarBarToken 1836891 1836894 + BinaryExpression 1836894 1836931 + PropertyAccessExpression 1836894 1836921 + PropertyAccessExpression 1836894 1836909 + Identifier 1836894 1836904 + Identifier 1836905 1836909 + Identifier 1836910 1836921 + EqualsEqualsEqualsToken 1836921 1836925 + StringLiteral 1836925 1836931 + BarBarToken 1836931 1836934 + BinaryExpression 1836934 1836971 + PropertyAccessExpression 1836934 1836961 + PropertyAccessExpression 1836934 1836949 + Identifier 1836934 1836944 + Identifier 1836945 1836949 + Identifier 1836950 1836961 + EqualsEqualsEqualsToken 1836961 1836965 + StringLiteral 1836965 1836971 + AmpersandAmpersandToken 1836972 1836975 + CallExpression 1836975 1837032 + Identifier 1836975 1837014 + PropertyAccessExpression 1837015 1837031 + Identifier 1837015 1837024 + Identifier 1837025 1837031 + AmpersandAmpersandToken 1837032 1837035 + CallExpression 1837035 1837090 + Identifier 1837035 1837065 + PropertyAccessExpression 1837066 1837089 + PropertyAccessExpression 1837066 1837082 + Identifier 1837066 1837075 + Identifier 1837076 1837082 + Identifier 1837083 1837089 + AmpersandAmpersandToken 1837090 1837093 + BinaryExpression 1837093 1837164 + ElementAccessExpression 1837093 1837143 + PropertyAccessExpression 1837093 1837140 + PropertyAccessExpression 1837093 1837130 + PropertyAccessExpression 1837093 1837123 + Identifier 1837093 1837116 + Identifier 1837117 1837123 + Identifier 1837124 1837130 + Identifier 1837131 1837140 + NumericLiteral 1837141 1837142 + EqualsEqualsEqualsToken 1837143 1837147 + PropertyAccessExpression 1837147 1837164 + Identifier 1837147 1837157 + Identifier 1837158 1837164 + AmpersandAmpersandToken 1837164 1837167 + BinaryExpression 1837167 1837294 + CallExpression 1837167 1837234 + Identifier 1837167 1837209 + PropertyAccessExpression 1837210 1837233 + PropertyAccessExpression 1837210 1837226 + Identifier 1837210 1837219 + Identifier 1837220 1837226 + Identifier 1837227 1837233 + EqualsEqualsEqualsToken 1837234 1837238 + PropertyAccessExpression 1837238 1837294 + Identifier 1837238 1837264 + Identifier 1837265 1837294 + Block 1837305 1837417 + ReturnStatement 1837307 1837406 + PropertyAccessExpression 1837327 1837405 + ParenthesizedExpression 1837327 1837394 + AsExpression 1837329 1837393 + ElementAccessExpression 1837329 1837365 + PropertyAccessExpression 1837329 1837362 + PropertyAccessExpression 1837329 1837352 + PropertyAccessExpression 1837329 1837345 + Identifier 1837329 1837338 + Identifier 1837339 1837345 + Identifier 1837346 1837352 + Identifier 1837353 1837362 + NumericLiteral 1837363 1837364 + TypeReference 1837368 1837393 + Identifier 1837368 1837393 + Identifier 1837395 1837405 + FunctionDeclaration 1837424 1837833 + Identifier 1837440 1837474 + Parameter 1837475 1837501 + Identifier 1837475 1837479 + TypeReference 1837480 1837501 + Identifier 1837480 1837501 + Block 1837502 1837833 + VariableStatement 1837504 1837552 + VariableDeclarationList 1837504 1837551 + VariableDeclaration 1837519 1837551 + Identifier 1837519 1837527 + CallExpression 1837529 1837551 + Identifier 1837529 1837545 + Identifier 1837546 1837550 + IfStatement 1837552 1837678 + BinaryExpression 1837566 1837599 + Identifier 1837566 1837573 + AmpersandAmpersandToken 1837573 1837576 + PropertyAccessExpression 1837576 1837599 + Identifier 1837576 1837584 + Identifier 1837585 1837599 + Block 1837600 1837678 + ReturnStatement 1837602 1837667 + CallExpression 1837622 1837666 + Identifier 1837622 1837642 + PropertyAccessExpression 1837643 1837665 + Identifier 1837643 1837650 + Identifier 1837651 1837665 + VariableStatement 1837678 1837734 + VariableDeclarationList 1837678 1837733 + VariableDeclaration 1837693 1837733 + Identifier 1837693 1837703 + CallExpression 1837705 1837733 + Identifier 1837705 1837727 + Identifier 1837728 1837732 + IfStatement 1837734 1837826 + Identifier 1837748 1837757 + Block 1837758 1837826 + ReturnStatement 1837760 1837815 + CallExpression 1837780 1837814 + Identifier 1837780 1837803 + Identifier 1837804 1837813 + FunctionDeclaration 1837833 1838085 + Identifier 1837849 1837884 + Parameter 1837885 1837895 + Identifier 1837885 1837889 + TypeReference 1837890 1837895 + Identifier 1837890 1837895 + Parameter 1837896 1837918 + Identifier 1837896 1837912 + TypeReference 1837913 1837918 + Identifier 1837913 1837918 + BooleanKeyword 1837920 1837928 + Block 1837928 1838085 + ReturnStatement 1837930 1838078 + PrefixUnaryExpression 1837946 1838077 + PrefixUnaryExpression 1837948 1838077 + CallExpression 1837949 1838077 + Identifier 1837949 1837961 + Identifier 1837962 1837966 + ArrowFunction 1837967 1838076 + Parameter 1837967 1837969 + Identifier 1837967 1837969 + EqualsGreaterThanToken 1837969 1837972 + ConditionalExpression 1837972 1838076 + CallExpression 1837972 1838001 + Identifier 1837972 1837998 + Identifier 1837999 1838000 + QuestionToken 1838001 1838003 + StringLiteral 1838003 1838010 + ColonToken 1838010 1838012 + BinaryExpression 1838012 1838076 + BinaryExpression 1838012 1838044 + PropertyAccessExpression 1838012 1838019 + Identifier 1838012 1838014 + Identifier 1838015 1838019 + EqualsEqualsEqualsToken 1838019 1838023 + PropertyAccessExpression 1838023 1838044 + Identifier 1838023 1838034 + Identifier 1838035 1838044 + AmpersandAmpersandToken 1838044 1838047 + BinaryExpression 1838047 1838076 + PropertyAccessExpression 1838047 1838056 + Identifier 1838047 1838049 + Identifier 1838050 1838056 + EqualsEqualsEqualsToken 1838056 1838060 + Identifier 1838060 1838076 + FunctionDeclaration 1838085 1849670 + Identifier 1838101 1838122 + Parameter 1838123 1838133 + Identifier 1838123 1838127 + TypeReference 1838128 1838133 + Identifier 1838128 1838133 + TypeReference 1838135 1838140 + Identifier 1838135 1838140 + Block 1838140 1849670 + VariableStatement 1838142 1838279 + VariableDeclarationList 1838142 1838278 + VariableDeclaration 1838157 1838278 + Identifier 1838157 1838174 + BinaryExpression 1838176 1838278 + BinaryExpression 1838176 1838223 + PropertyAccessExpression 1838176 1838193 + PropertyAccessExpression 1838176 1838188 + Identifier 1838176 1838181 + Identifier 1838182 1838188 + Identifier 1838189 1838193 + EqualsEqualsEqualsToken 1838193 1838197 + PropertyAccessExpression 1838197 1838223 + Identifier 1838197 1838208 + Identifier 1838209 1838223 + AmpersandAmpersandToken 1838223 1838226 + BinaryExpression 1838226 1838278 + PropertyAccessExpression 1838226 1838269 + ParenthesizedExpression 1838226 1838258 + AsExpression 1838228 1838257 + PropertyAccessExpression 1838228 1838239 + Identifier 1838228 1838232 + Identifier 1838233 1838239 + TypeReference 1838242 1838257 + Identifier 1838242 1838257 + Identifier 1838259 1838269 + EqualsEqualsEqualsToken 1838269 1838273 + Identifier 1838273 1838278 + VariableStatement 1838279 1838368 + VariableDeclarationList 1838279 1838367 + VariableDeclaration 1838296 1838367 + Identifier 1838296 1838315 + CallExpression 1838317 1838367 + Identifier 1838317 1838335 + Identifier 1838336 1838340 + TrueKeyword 1838341 1838366 + VariableStatement 1838368 1838413 + VariableDeclarationList 1838368 1838412 + VariableDeclaration 1838381 1838412 + Identifier 1838381 1838391 + Identifier 1838393 1838412 + VariableStatement 1838413 1838460 + VariableDeclarationList 1838413 1838459 + VariableDeclaration 1838426 1838459 + Identifier 1838426 1838451 + FalseKeyword 1838453 1838459 + VariableStatement 1838460 1838498 + VariableDeclarationList 1838460 1838497 + VariableDeclaration 1838473 1838497 + Identifier 1838473 1838489 + FalseKeyword 1838491 1838497 + IfStatement 1838498 1839136 + PrefixUnaryExpression 1838635 1838652 + Identifier 1838636 1838652 + Block 1838653 1839136 + WhileStatement 1838655 1839017 + BinaryExpression 1838676 1838732 + Identifier 1838676 1838685 + AmpersandAmpersandToken 1838685 1838688 + BinaryExpression 1838688 1838732 + PropertyAccessExpression 1838688 1838703 + Identifier 1838688 1838698 + Identifier 1838699 1838703 + EqualsEqualsEqualsToken 1838703 1838707 + PropertyAccessExpression 1838707 1838732 + Identifier 1838707 1838718 + Identifier 1838719 1838732 + Block 1838733 1839017 + IfStatement 1838735 1838834 + CallExpression 1838757 1838809 + Identifier 1838757 1838777 + Identifier 1838778 1838787 + PropertyAccessExpression 1838788 1838808 + Identifier 1838788 1838802 + Identifier 1838803 1838808 + ExpressionStatement 1838810 1838834 + BinaryExpression 1838810 1838833 + Identifier 1838810 1838826 + EqualsToken 1838826 1838828 + TrueKeyword 1838828 1838833 + ExpressionStatement 1838834 1838919 + BinaryExpression 1838834 1838918 + Identifier 1838834 1838861 + EqualsToken 1838861 1838863 + CallExpression 1838863 1838918 + Identifier 1838863 1838881 + Identifier 1838882 1838891 + TrueKeyword 1838892 1838917 + ExpressionStatement 1838919 1839002 + BinaryExpression 1838919 1839001 + Identifier 1838919 1838961 + EqualsToken 1838961 1838963 + BinaryExpression 1838963 1839001 + Identifier 1838963 1838979 + LessThanToken 1838979 1838981 + PropertyAccessExpression 1838981 1839001 + Identifier 1838981 1838994 + Identifier 1838995 1839001 + IfStatement 1839017 1839125 + BinaryExpression 1839035 1839100 + Identifier 1839035 1839044 + AmpersandAmpersandToken 1839044 1839047 + CallExpression 1839047 1839100 + Identifier 1839047 1839068 + Identifier 1839069 1839078 + PropertyAccessExpression 1839079 1839099 + Identifier 1839079 1839093 + Identifier 1839094 1839099 + ExpressionStatement 1839101 1839125 + BinaryExpression 1839101 1839124 + Identifier 1839101 1839117 + EqualsToken 1839117 1839119 + TrueKeyword 1839119 1839124 + VariableStatement 1839136 1839186 + VariableDeclarationList 1839136 1839185 + VariableDeclaration 1839151 1839185 + Identifier 1839151 1839165 + TypeReference 1839166 1839181 + Identifier 1839166 1839181 + NumericLiteral 1839183 1839185 + IfStatement 1839186 1840523 + BinaryExpression 1839202 1839257 + PrefixUnaryExpression 1839202 1839212 + Identifier 1839203 1839212 + BarBarToken 1839212 1839215 + PrefixUnaryExpression 1839215 1839257 + CallExpression 1839217 1839257 + Identifier 1839217 1839246 + Identifier 1839247 1839256 + Block 1839258 1840523 + VariableStatement 1839260 1839601 + VariableDeclarationList 1839260 1839600 + VariableDeclaration 1839495 1839600 + Identifier 1839495 1839503 + CallExpression 1839505 1839600 + Identifier 1839505 1839518 + Identifier 1839519 1839523 + ArrowFunction 1839524 1839599 + Parameter 1839524 1839526 + Identifier 1839524 1839526 + EqualsGreaterThanToken 1839526 1839529 + ConditionalExpression 1839529 1839599 + BinaryExpression 1839529 1839545 + Identifier 1839529 1839531 + EqualsEqualsEqualsToken 1839531 1839535 + Identifier 1839535 1839545 + QuestionToken 1839545 1839547 + StringLiteral 1839547 1839554 + ColonToken 1839554 1839556 + BinaryExpression 1839556 1839599 + PropertyAccessExpression 1839556 1839563 + Identifier 1839556 1839558 + Identifier 1839559 1839563 + EqualsEqualsEqualsToken 1839563 1839567 + PropertyAccessExpression 1839567 1839599 + Identifier 1839567 1839578 + Identifier 1839579 1839599 + IfStatement 1839601 1840481 + BinaryExpression 1839619 1839678 + Identifier 1839619 1839626 + AmpersandAmpersandToken 1839626 1839629 + BinaryExpression 1839629 1839678 + PropertyAccessExpression 1839629 1839642 + Identifier 1839629 1839637 + Identifier 1839638 1839642 + EqualsEqualsEqualsToken 1839642 1839646 + PropertyAccessExpression 1839646 1839678 + Identifier 1839646 1839657 + Identifier 1839658 1839678 + Block 1839679 1839794 + ExpressionStatement 1839681 1839779 + CallExpression 1839681 1839778 + Identifier 1839681 1839704 + Identifier 1839705 1839709 + PropertyAccessExpression 1839710 1839777 + Identifier 1839710 1839722 + Identifier 1839723 1839777 + IfStatement 1839812 1840481 + Identifier 1839817 1839833 + Block 1839834 1839988 + ExpressionStatement 1839836 1839973 + CallExpression 1839836 1839972 + Identifier 1839836 1839859 + Identifier 1839860 1839864 + PropertyAccessExpression 1839865 1839971 + Identifier 1839865 1839877 + Identifier 1839878 1839971 + IfStatement 1840006 1840481 + BinaryExpression 1840011 1840142 + BinaryExpression 1840011 1840042 + PrefixUnaryExpression 1840011 1840021 + Identifier 1840012 1840021 + BarBarToken 1840021 1840024 + PrefixUnaryExpression 1840024 1840042 + PropertyAccessExpression 1840026 1840042 + Identifier 1840026 1840035 + Identifier 1840036 1840042 + BarBarToken 1840042 1840045 + PrefixUnaryExpression 1840045 1840142 + ParenthesizedExpression 1840047 1840142 + BinaryExpression 1840048 1840141 + CallExpression 1840048 1840077 + Identifier 1840048 1840059 + PropertyAccessExpression 1840060 1840076 + Identifier 1840060 1840069 + Identifier 1840070 1840076 + BarBarToken 1840077 1840080 + BinaryExpression 1840080 1840141 + PropertyAccessExpression 1840080 1840102 + PropertyAccessExpression 1840080 1840097 + Identifier 1840080 1840090 + Identifier 1840091 1840097 + Identifier 1840098 1840102 + EqualsEqualsEqualsToken 1840102 1840106 + PropertyAccessExpression 1840106 1840141 + Identifier 1840106 1840117 + Identifier 1840118 1840141 + Block 1840143 1840292 + ExpressionStatement 1840145 1840277 + CallExpression 1840145 1840276 + Identifier 1840145 1840168 + Identifier 1840169 1840173 + PropertyAccessExpression 1840174 1840275 + Identifier 1840174 1840186 + Identifier 1840187 1840275 + Block 1840310 1840481 + ExpressionStatement 1840312 1840466 + CallExpression 1840312 1840465 + Identifier 1840312 1840335 + Identifier 1840336 1840340 + PropertyAccessExpression 1840341 1840464 + Identifier 1840341 1840353 + Identifier 1840354 1840464 + ReturnStatement 1840481 1840512 + Identifier 1840501 1840511 + IfStatement 1840523 1840786 + BinaryExpression 1840539 1840611 + PrefixUnaryExpression 1840539 1840556 + Identifier 1840540 1840556 + AmpersandAmpersandToken 1840556 1840559 + BinaryExpression 1840559 1840611 + PropertyAccessExpression 1840559 1840584 + NonNullExpression 1840559 1840579 + Identifier 1840559 1840578 + Identifier 1840580 1840584 + EqualsEqualsEqualsToken 1840584 1840588 + PropertyAccessExpression 1840588 1840611 + Identifier 1840588 1840599 + Identifier 1840600 1840611 + Block 1840612 1840786 + ExpressionStatement 1840614 1840775 + CallExpression 1840614 1840774 + Identifier 1840614 1840648 + Identifier 1840649 1840653 + Identifier 1840654 1840664 + PropertyAccessExpression 1840665 1840773 + Identifier 1840665 1840677 + Identifier 1840678 1840773 + IfStatement 1840786 1841823 + BinaryExpression 1840802 1840841 + CallExpression 1840802 1840821 + Identifier 1840802 1840810 + Identifier 1840811 1840820 + BarBarToken 1840821 1840824 + Identifier 1840824 1840841 + Block 1840842 1841737 + ExpressionStatement 1840844 1840901 + BinaryExpression 1840844 1840900 + Identifier 1840844 1840871 + EqualsToken 1840871 1840873 + PropertyAccessExpression 1840873 1840900 + Identifier 1840873 1840888 + Identifier 1840889 1840900 + IfStatement 1840901 1841726 + BinaryExpression 1840919 1841154 + BinaryExpression 1840919 1841055 + BinaryExpression 1840919 1841013 + PrefixUnaryExpression 1840919 1840954 + Identifier 1840938 1840954 + AmpersandAmpersandToken 1840954 1840957 + BinaryExpression 1840957 1841013 + Identifier 1840957 1840990 + GreaterThanEqualsToken 1840990 1840993 + PropertyAccessExpression 1840993 1841013 + Identifier 1840993 1841006 + Identifier 1841007 1841013 + AmpersandAmpersandToken 1841013 1841016 + BinaryExpression 1841016 1841055 + Identifier 1841016 1841032 + LessThanEqualsToken 1841032 1841035 + PropertyAccessExpression 1841035 1841055 + Identifier 1841035 1841048 + Identifier 1841049 1841055 + AmpersandAmpersandToken 1841055 1841058 + ParenthesizedExpression 1841058 1841154 + BinaryExpression 1841077 1841153 + CallExpression 1841077 1841109 + Identifier 1841077 1841098 + Identifier 1841099 1841108 + BarBarToken 1841109 1841112 + CallExpression 1841112 1841153 + Identifier 1841112 1841142 + Identifier 1841143 1841152 + Block 1841169 1841726 + ExpressionStatement 1841171 1841711 + CallExpression 1841171 1841710 + Identifier 1841171 1841438 + PropertyAccessExpression 1841439 1841450 + Identifier 1841439 1841443 + Identifier 1841444 1841450 + ArrowFunction 1841451 1841709 + Parameter 1841451 1841459 + Identifier 1841451 1841459 + EqualsGreaterThanToken 1841459 1841462 + Block 1841462 1841709 + IfStatement 1841464 1841690 + BinaryExpression 1841490 1841551 + PrefixUnaryExpression 1841490 1841512 + CallExpression 1841491 1841512 + Identifier 1841491 1841503 + Identifier 1841504 1841511 + BarBarToken 1841512 1841515 + CallExpression 1841515 1841551 + Identifier 1841515 1841542 + Identifier 1841543 1841550 + Block 1841552 1841690 + ExpressionStatement 1841554 1841667 + BinaryExpression 1841554 1841666 + PropertyAccessExpression 1841554 1841607 + CallExpression 1841554 1841601 + Identifier 1841554 1841592 + Identifier 1841593 1841600 + Identifier 1841602 1841607 + BarEqualsToken 1841607 1841610 + PropertyAccessExpression 1841610 1841666 + Identifier 1841610 1841625 + Identifier 1841626 1841666 + Block 1841751 1841823 + ExpressionStatement 1841753 1841812 + BinaryExpression 1841753 1841811 + Identifier 1841753 1841780 + EqualsToken 1841780 1841782 + PropertyAccessExpression 1841782 1841811 + Identifier 1841782 1841797 + Identifier 1841798 1841811 + ExpressionStatement 1841823 1841877 + BinaryExpression 1841823 1841876 + PropertyAccessExpression 1841823 1841859 + CallExpression 1841823 1841853 + Identifier 1841823 1841847 + Identifier 1841848 1841852 + Identifier 1841854 1841859 + BarEqualsToken 1841859 1841862 + Identifier 1841862 1841876 + IfStatement 1841877 1845275 + BinaryExpression 1844851 1844917 + BinaryExpression 1844851 1844898 + PropertyAccessExpression 1844851 1844865 + Identifier 1844851 1844860 + Identifier 1844861 1844865 + EqualsEqualsEqualsToken 1844865 1844869 + PropertyAccessExpression 1844869 1844898 + Identifier 1844869 1844880 + Identifier 1844881 1844898 + AmpersandAmpersandToken 1844898 1844901 + Identifier 1844901 1844917 + Block 1844918 1845275 + IfStatement 1844920 1845264 + BinaryExpression 1844938 1845001 + CallExpression 1844938 1844966 + Identifier 1844938 1844953 + PropertyAccessExpression 1844954 1844965 + Identifier 1844954 1844958 + Identifier 1844959 1844965 + AmpersandAmpersandToken 1844966 1844969 + CallExpression 1844969 1845001 + Identifier 1844969 1844988 + PropertyAccessExpression 1844989 1845000 + Identifier 1844989 1844993 + Identifier 1844994 1845000 + Block 1845002 1845126 + ExpressionStatement 1845004 1845111 + BinaryExpression 1845004 1845110 + PropertyAccessExpression 1845004 1845051 + CallExpression 1845004 1845045 + Identifier 1845004 1845034 + Identifier 1845035 1845044 + Identifier 1845046 1845051 + BarEqualsToken 1845051 1845054 + PropertyAccessExpression 1845054 1845110 + Identifier 1845054 1845069 + Identifier 1845070 1845110 + Block 1845144 1845264 + ExpressionStatement 1845146 1845249 + BinaryExpression 1845146 1845248 + PropertyAccessExpression 1845146 1845193 + CallExpression 1845146 1845187 + Identifier 1845146 1845176 + Identifier 1845177 1845186 + Identifier 1845188 1845193 + BarEqualsToken 1845193 1845196 + PropertyAccessExpression 1845196 1845248 + Identifier 1845196 1845211 + Identifier 1845212 1845248 + IfStatement 1845275 1845655 + Identifier 1845291 1845315 + Block 1845316 1845655 + ExpressionStatement 1845318 1845644 + CallExpression 1845318 1845643 + Identifier 1845318 1845619 + PropertyAccessExpression 1845620 1845631 + Identifier 1845620 1845624 + Identifier 1845625 1845631 + Identifier 1845632 1845642 + IfStatement 1845655 1846142 + BinaryExpression 1845671 1845731 + PropertyAccessExpression 1845671 1845692 + PropertyAccessExpression 1845671 1845687 + Identifier 1845671 1845680 + Identifier 1845681 1845687 + Identifier 1845688 1845692 + EqualsEqualsEqualsToken 1845692 1845696 + PropertyAccessExpression 1845696 1845731 + Identifier 1845696 1845707 + Identifier 1845708 1845731 + Block 1845732 1846142 + IfStatement 1845734 1846131 + BinaryExpression 1845752 1845789 + Identifier 1845752 1845767 + LessThanToken 1845767 1845769 + PropertyAccessExpression 1845769 1845789 + Identifier 1845769 1845782 + Identifier 1845783 1845789 + Block 1845790 1845987 + ExpressionStatement 1845792 1845937 + CallExpression 1845792 1845936 + Identifier 1845792 1845815 + Identifier 1845816 1845820 + PropertyAccessExpression 1845821 1845935 + Identifier 1845821 1845833 + Identifier 1845834 1845935 + ReturnStatement 1845937 1845972 + Identifier 1845961 1845971 + Block 1846005 1846131 + ReturnStatement 1846007 1846116 + Identifier 1846107 1846115 + VariableStatement 1846142 1846305 + VariableDeclarationList 1846142 1846304 + VariableDeclaration 1846240 1846304 + Identifier 1846240 1846261 + AsExpression 1846263 1846304 + PropertyAccessExpression 1846263 1846280 + Identifier 1846263 1846273 + Identifier 1846274 1846280 + TypeReference 1846283 1846304 + Identifier 1846283 1846304 + IfStatement 1846305 1846504 + PrefixUnaryExpression 1846319 1846372 + CallExpression 1846320 1846372 + Identifier 1846320 1846350 + Identifier 1846351 1846371 + Block 1846373 1846504 + ExpressionStatement 1846375 1846462 + CallExpression 1846375 1846461 + Identifier 1846375 1846394 + Identifier 1846395 1846399 + PropertyAccessExpression 1846400 1846460 + Identifier 1846400 1846412 + Identifier 1846413 1846460 + ReturnStatement 1846462 1846493 + Identifier 1846482 1846492 + IfStatement 1846504 1846652 + CallExpression 1846520 1846569 + Identifier 1846520 1846547 + Identifier 1846548 1846568 + Block 1846570 1846652 + ReturnStatement 1846572 1846641 + ConditionalExpression 1846592 1846640 + Identifier 1846592 1846609 + QuestionToken 1846609 1846611 + Identifier 1846611 1846621 + ColonToken 1846621 1846623 + Identifier 1846623 1846640 + VariableStatement 1846652 1846769 + VariableDeclarationList 1846652 1846768 + VariableDeclaration 1846669 1846768 + Identifier 1846669 1846679 + AsExpression 1846681 1846768 + CallExpression 1846681 1846751 + Identifier 1846681 1846705 + CallExpression 1846706 1846750 + Identifier 1846706 1846728 + Identifier 1846729 1846749 + TypeReference 1846754 1846768 + Identifier 1846754 1846768 + VariableStatement 1846769 1846841 + VariableDeclarationList 1846769 1846840 + VariableDeclaration 1846784 1846840 + Identifier 1846784 1846798 + BinaryExpression 1846800 1846840 + Identifier 1846800 1846810 + AmpersandAmpersandToken 1846810 1846813 + ElementAccessExpression 1846813 1846840 + CallExpression 1846813 1846837 + Identifier 1846813 1846826 + Identifier 1846827 1846836 + NumericLiteral 1846838 1846839 + IfStatement 1846841 1846914 + PrefixUnaryExpression 1846855 1846869 + Identifier 1846856 1846869 + Block 1846870 1846914 + ReturnStatement 1846872 1846903 + Identifier 1846892 1846902 + IfStatement 1846914 1847290 + BinaryExpression 1846930 1847026 + BinaryExpression 1846930 1846971 + PropertyAccessExpression 1846930 1846944 + Identifier 1846930 1846939 + Identifier 1846940 1846944 + EqualsEqualsEqualsToken 1846944 1846948 + PropertyAccessExpression 1846948 1846971 + Identifier 1846948 1846959 + Identifier 1846960 1846971 + AmpersandAmpersandToken 1846971 1846974 + CallExpression 1846974 1847026 + Identifier 1846974 1847009 + Identifier 1847010 1847014 + Identifier 1847015 1847025 + Block 1847027 1847290 + ExpressionStatement 1847029 1847248 + CallExpression 1847029 1847247 + Identifier 1847029 1847176 + Identifier 1847177 1847181 + PropertyAccessExpression 1847182 1847246 + Identifier 1847182 1847194 + Identifier 1847195 1847246 + ReturnStatement 1847248 1847279 + Identifier 1847268 1847278 + ReturnStatement 1847290 1847484 + ConditionalExpression 1847308 1847483 + BinaryExpression 1847308 1847353 + Identifier 1847308 1847322 + EqualsEqualsEqualsToken 1847322 1847326 + PropertyAccessExpression 1847326 1847353 + Identifier 1847326 1847341 + Identifier 1847342 1847353 + QuestionToken 1847353 1847368 + CallExpression 1847368 1847409 + Identifier 1847368 1847398 + Identifier 1847399 1847408 + ColonToken 1847409 1847424 + CallExpression 1847424 1847483 + Identifier 1847424 1847448 + Identifier 1847449 1847462 + PropertyAccessExpression 1847463 1847482 + Identifier 1847463 1847473 + Identifier 1847474 1847482 + FunctionDeclaration 1847484 1849663 + Identifier 1847504 1847534 + Parameter 1847535 1847550 + Identifier 1847535 1847544 + TypeReference 1847545 1847550 + Identifier 1847545 1847550 + BooleanKeyword 1847552 1847560 + Block 1847560 1849663 + IfStatement 1847562 1849623 + Identifier 1847580 1847596 + Block 1847597 1847819 + ReturnStatement 1847599 1847804 + BinaryExpression 1847761 1847803 + PropertyAccessExpression 1847761 1847776 + Identifier 1847761 1847771 + Identifier 1847772 1847776 + EqualsEqualsEqualsToken 1847776 1847780 + PropertyAccessExpression 1847780 1847803 + Identifier 1847780 1847791 + Identifier 1847792 1847803 + Block 1847837 1849623 + IfStatement 1847839 1849608 + BinaryExpression 1848349 1848442 + CallExpression 1848349 1848378 + Identifier 1848349 1848360 + PropertyAccessExpression 1848361 1848377 + Identifier 1848361 1848370 + Identifier 1848371 1848377 + BarBarToken 1848378 1848381 + BinaryExpression 1848381 1848442 + PropertyAccessExpression 1848381 1848403 + PropertyAccessExpression 1848381 1848398 + Identifier 1848381 1848391 + Identifier 1848392 1848398 + Identifier 1848399 1848403 + EqualsEqualsEqualsToken 1848403 1848407 + PropertyAccessExpression 1848407 1848442 + Identifier 1848407 1848418 + Identifier 1848419 1848442 + Block 1848443 1849608 + IfStatement 1848445 1849589 + CallExpression 1848471 1848490 + Identifier 1848471 1848479 + Identifier 1848480 1848489 + Block 1848491 1848995 + ReturnStatement 1848493 1848972 + BinaryExpression 1848525 1848971 + BinaryExpression 1848525 1848881 + BinaryExpression 1848525 1848799 + BinaryExpression 1848525 1848725 + BinaryExpression 1848525 1848651 + BinaryExpression 1848525 1848573 + PropertyAccessExpression 1848525 1848540 + Identifier 1848525 1848535 + Identifier 1848536 1848540 + EqualsEqualsEqualsToken 1848540 1848544 + PropertyAccessExpression 1848544 1848573 + Identifier 1848544 1848555 + Identifier 1848556 1848573 + BarBarToken 1848573 1848576 + BinaryExpression 1848576 1848651 + PropertyAccessExpression 1848576 1848620 + Identifier 1848576 1848615 + Identifier 1848616 1848620 + EqualsEqualsEqualsToken 1848620 1848624 + PropertyAccessExpression 1848624 1848651 + Identifier 1848624 1848635 + Identifier 1848636 1848651 + BarBarToken 1848651 1848654 + BinaryExpression 1848654 1848725 + PropertyAccessExpression 1848654 1848698 + Identifier 1848654 1848693 + Identifier 1848694 1848698 + EqualsEqualsEqualsToken 1848698 1848702 + PropertyAccessExpression 1848702 1848725 + Identifier 1848702 1848713 + Identifier 1848714 1848725 + BarBarToken 1848725 1848728 + BinaryExpression 1848728 1848799 + PropertyAccessExpression 1848728 1848772 + Identifier 1848728 1848767 + Identifier 1848768 1848772 + EqualsEqualsEqualsToken 1848772 1848776 + PropertyAccessExpression 1848776 1848799 + Identifier 1848776 1848787 + Identifier 1848788 1848799 + BarBarToken 1848799 1848802 + BinaryExpression 1848802 1848881 + PropertyAccessExpression 1848802 1848846 + Identifier 1848802 1848841 + Identifier 1848842 1848846 + EqualsEqualsEqualsToken 1848846 1848850 + PropertyAccessExpression 1848850 1848881 + Identifier 1848850 1848861 + Identifier 1848862 1848881 + BarBarToken 1848881 1848884 + BinaryExpression 1848884 1848971 + PropertyAccessExpression 1848884 1848928 + Identifier 1848884 1848923 + Identifier 1848924 1848928 + EqualsEqualsEqualsToken 1848928 1848932 + PropertyAccessExpression 1848932 1848971 + Identifier 1848932 1848943 + Identifier 1848944 1848971 + Block 1849021 1849589 + ReturnStatement 1849023 1849566 + BinaryExpression 1849055 1849565 + BinaryExpression 1849055 1849491 + BinaryExpression 1849055 1849411 + BinaryExpression 1849055 1849329 + BinaryExpression 1849055 1849255 + BinaryExpression 1849055 1849181 + BinaryExpression 1849055 1849103 + PropertyAccessExpression 1849055 1849070 + Identifier 1849055 1849065 + Identifier 1849066 1849070 + EqualsEqualsEqualsToken 1849070 1849074 + PropertyAccessExpression 1849074 1849103 + Identifier 1849074 1849085 + Identifier 1849086 1849103 + BarBarToken 1849103 1849106 + BinaryExpression 1849106 1849181 + PropertyAccessExpression 1849106 1849150 + Identifier 1849106 1849145 + Identifier 1849146 1849150 + EqualsEqualsEqualsToken 1849150 1849154 + PropertyAccessExpression 1849154 1849181 + Identifier 1849154 1849165 + Identifier 1849166 1849181 + BarBarToken 1849181 1849184 + BinaryExpression 1849184 1849255 + PropertyAccessExpression 1849184 1849228 + Identifier 1849184 1849223 + Identifier 1849224 1849228 + EqualsEqualsEqualsToken 1849228 1849232 + PropertyAccessExpression 1849232 1849255 + Identifier 1849232 1849243 + Identifier 1849244 1849255 + BarBarToken 1849255 1849258 + BinaryExpression 1849258 1849329 + PropertyAccessExpression 1849258 1849302 + Identifier 1849258 1849297 + Identifier 1849298 1849302 + EqualsEqualsEqualsToken 1849302 1849306 + PropertyAccessExpression 1849306 1849329 + Identifier 1849306 1849317 + Identifier 1849318 1849329 + BarBarToken 1849329 1849332 + BinaryExpression 1849332 1849411 + PropertyAccessExpression 1849332 1849376 + Identifier 1849332 1849371 + Identifier 1849372 1849376 + EqualsEqualsEqualsToken 1849376 1849380 + PropertyAccessExpression 1849380 1849411 + Identifier 1849380 1849391 + Identifier 1849392 1849411 + BarBarToken 1849411 1849414 + BinaryExpression 1849414 1849491 + PropertyAccessExpression 1849414 1849458 + Identifier 1849414 1849453 + Identifier 1849454 1849458 + EqualsEqualsEqualsToken 1849458 1849462 + PropertyAccessExpression 1849462 1849491 + Identifier 1849462 1849473 + Identifier 1849474 1849491 + BarBarToken 1849491 1849494 + BinaryExpression 1849494 1849565 + PropertyAccessExpression 1849494 1849538 + Identifier 1849494 1849533 + Identifier 1849534 1849538 + EqualsEqualsEqualsToken 1849538 1849542 + PropertyAccessExpression 1849542 1849565 + Identifier 1849542 1849553 + Identifier 1849554 1849565 + ReturnStatement 1849623 1849652 + FalseKeyword 1849645 1849651 + FunctionDeclaration 1849670 1850222 + Identifier 1849686 1849713 + Parameter 1849714 1849740 + Identifier 1849714 1849718 + TypeReference 1849719 1849740 + Identifier 1849719 1849740 + UnionType 1849742 1849778 + TypeReference 1849742 1849766 + Identifier 1849742 1849766 + UndefinedKeyword 1849768 1849778 + Block 1849778 1850222 + ReturnStatement 1849780 1850215 + ConditionalExpression 1849796 1850214 + BinaryExpression 1849796 1850014 + ParenthesizedExpression 1849796 1849955 + BinaryExpression 1849798 1849954 + BinaryExpression 1849798 1849897 + BinaryExpression 1849798 1849840 + PropertyAccessExpression 1849798 1849807 + Identifier 1849798 1849802 + Identifier 1849803 1849807 + EqualsEqualsEqualsToken 1849807 1849811 + PropertyAccessExpression 1849811 1849840 + Identifier 1849811 1849822 + Identifier 1849823 1849840 + BarBarToken 1849840 1849843 + BinaryExpression 1849843 1849897 + PropertyAccessExpression 1849843 1849870 + Identifier 1849843 1849865 + Identifier 1849866 1849870 + EqualsEqualsEqualsToken 1849870 1849874 + PropertyAccessExpression 1849874 1849897 + Identifier 1849874 1849885 + Identifier 1849886 1849897 + BarBarToken 1849897 1849900 + BinaryExpression 1849900 1849954 + PropertyAccessExpression 1849900 1849927 + Identifier 1849900 1849922 + Identifier 1849923 1849927 + EqualsEqualsEqualsToken 1849927 1849931 + PropertyAccessExpression 1849931 1849954 + Identifier 1849931 1849942 + Identifier 1849943 1849954 + AmpersandAmpersandToken 1849955 1849958 + BinaryExpression 1849958 1850014 + PropertyAccessExpression 1849958 1849975 + PropertyAccessExpression 1849958 1849970 + Identifier 1849958 1849963 + Identifier 1849964 1849970 + Identifier 1849971 1849975 + EqualsEqualsEqualsToken 1849975 1849979 + PropertyAccessExpression 1849979 1850014 + Identifier 1849979 1849990 + Identifier 1849991 1850014 + QuestionToken 1850014 1850016 + PropertyAccessExpression 1850016 1850028 + Identifier 1850016 1850021 + Identifier 1850022 1850028 + ColonToken 1850028 1850030 + ConditionalExpression 1850030 1850214 + BinaryExpression 1850030 1850141 + BinaryExpression 1850030 1850087 + PropertyAccessExpression 1850030 1850053 + Identifier 1850030 1850048 + Identifier 1850049 1850053 + EqualsEqualsEqualsToken 1850053 1850057 + PropertyAccessExpression 1850057 1850087 + Identifier 1850057 1850068 + Identifier 1850069 1850087 + AmpersandAmpersandToken 1850087 1850090 + BinaryExpression 1850090 1850141 + PropertyAccessExpression 1850090 1850107 + PropertyAccessExpression 1850090 1850102 + Identifier 1850090 1850095 + Identifier 1850096 1850102 + Identifier 1850103 1850107 + EqualsEqualsEqualsToken 1850107 1850111 + PropertyAccessExpression 1850111 1850141 + Identifier 1850111 1850122 + Identifier 1850123 1850141 + QuestionToken 1850141 1850143 + AsExpression 1850143 1850189 + PropertyAccessExpression 1850143 1850162 + PropertyAccessExpression 1850143 1850155 + Identifier 1850143 1850148 + Identifier 1850149 1850155 + Identifier 1850156 1850162 + TypeReference 1850165 1850189 + Identifier 1850165 1850189 + ColonToken 1850189 1850191 + Identifier 1850191 1850214 + FunctionDeclaration 1850222 1850469 + Identifier 1850238 1850258 + Parameter 1850259 1850269 + Identifier 1850259 1850263 + TypeReference 1850264 1850269 + Identifier 1850264 1850269 + UnionType 1850271 1850288 + TypeReference 1850271 1850276 + Identifier 1850271 1850276 + UndefinedKeyword 1850278 1850288 + Block 1850288 1850469 + ReturnStatement 1850290 1850462 + ConditionalExpression 1850306 1850461 + BinaryExpression 1850306 1850404 + BinaryExpression 1850306 1850351 + CallExpression 1850306 1850327 + Identifier 1850306 1850321 + Identifier 1850322 1850326 + AmpersandToken 1850327 1850329 + PropertyAccessExpression 1850329 1850351 + Identifier 1850329 1850341 + Identifier 1850342 1850351 + AmpersandAmpersandToken 1850351 1850354 + BinaryExpression 1850354 1850404 + PropertyAccessExpression 1850354 1850385 + ParenthesizedExpression 1850354 1850378 + AsExpression 1850356 1850377 + Identifier 1850356 1850360 + TypeReference 1850363 1850377 + Identifier 1850363 1850377 + Identifier 1850379 1850385 + EqualsEqualsEqualsToken 1850385 1850389 + Identifier 1850389 1850404 + QuestionToken 1850404 1850406 + ElementAccessExpression 1850406 1850449 + CallExpression 1850406 1850446 + Identifier 1850406 1850423 + AsExpression 1850424 1850445 + Identifier 1850424 1850428 + TypeReference 1850431 1850445 + Identifier 1850431 1850445 + NumericLiteral 1850447 1850448 + ColonToken 1850449 1850451 + Identifier 1850451 1850461 + FunctionDeclaration 1850469 1850745 + Identifier 1850485 1850515 + Parameter 1850516 1850526 + Identifier 1850516 1850520 + TypeReference 1850521 1850526 + Identifier 1850521 1850526 + UnionType 1850528 1850545 + TypeReference 1850528 1850533 + Identifier 1850528 1850533 + UndefinedKeyword 1850535 1850545 + Block 1850545 1850745 + ReturnStatement 1850547 1850738 + CallExpression 1850563 1850737 + Identifier 1850563 1850571 + Identifier 1850572 1850576 + ArrowFunction 1850577 1850736 + Parameter 1850577 1850579 + Identifier 1850577 1850579 + EqualsGreaterThanToken 1850579 1850582 + Block 1850582 1850736 + ReturnStatement 1850584 1850725 + ConditionalExpression 1850604 1850724 + BinaryExpression 1850604 1850637 + PropertyAccessExpression 1850604 1850612 + Identifier 1850604 1850606 + Identifier 1850607 1850612 + AmpersandToken 1850612 1850614 + PropertyAccessExpression 1850614 1850637 + Identifier 1850614 1850624 + Identifier 1850625 1850637 + QuestionToken 1850637 1850639 + CallExpression 1850639 1850699 + Identifier 1850639 1850647 + PropertyAccessExpression 1850648 1850677 + ParenthesizedExpression 1850648 1850671 + AsExpression 1850649 1850670 + Identifier 1850649 1850650 + TypeReference 1850653 1850670 + Identifier 1850653 1850670 + Identifier 1850672 1850677 + Identifier 1850678 1850698 + ColonToken 1850699 1850701 + CallExpression 1850701 1850724 + Identifier 1850701 1850721 + Identifier 1850722 1850723 + FunctionDeclaration 1850745 1851427 + Identifier 1850761 1850806 + Parameter 1850807 1850849 + Identifier 1850807 1850824 + TypeReference 1850825 1850849 + Identifier 1850825 1850849 + Parameter 1850850 1850883 + Identifier 1850850 1850865 + UnionType 1850866 1850883 + TypeReference 1850866 1850871 + Identifier 1850866 1850871 + UndefinedKeyword 1850873 1850883 + Block 1850884 1851427 + VariableStatement 1850886 1850928 + VariableDeclarationList 1850886 1850927 + VariableDeclaration 1850899 1850927 + Identifier 1850899 1850907 + Identifier 1850909 1850927 + VariableStatement 1850928 1850964 + VariableDeclarationList 1850928 1850963 + VariableDeclaration 1850941 1850963 + Identifier 1850941 1850946 + Identifier 1850948 1850963 + WhileStatement 1850964 1851420 + Identifier 1850981 1850985 + Block 1850986 1851420 + VariableStatement 1850988 1851055 + VariableDeclarationList 1850988 1851054 + VariableDeclaration 1851007 1851054 + Identifier 1851007 1851016 + CallExpression 1851018 1851054 + Identifier 1851018 1851048 + Identifier 1851049 1851053 + IfStatement 1851055 1851133 + Identifier 1851073 1851081 + Block 1851082 1851133 + ReturnStatement 1851084 1851118 + Identifier 1851108 1851117 + IfStatement 1851133 1851246 + BinaryExpression 1851151 1851204 + PropertyAccessExpression 1851151 1851170 + PropertyAccessExpression 1851151 1851165 + Identifier 1851151 1851158 + Identifier 1851159 1851165 + Identifier 1851166 1851170 + ExclamationEqualsEqualsToken 1851170 1851174 + PropertyAccessExpression 1851174 1851204 + Identifier 1851174 1851185 + Identifier 1851186 1851204 + Block 1851205 1851246 + BreakStatement 1851207 1851231 + ExpressionStatement 1851246 1851319 + BinaryExpression 1851246 1851318 + Identifier 1851246 1851267 + EqualsToken 1851267 1851269 + AsExpression 1851269 1851318 + PropertyAccessExpression 1851269 1851291 + PropertyAccessExpression 1851269 1851284 + Identifier 1851269 1851277 + Identifier 1851278 1851284 + Identifier 1851285 1851291 + TypeReference 1851294 1851318 + Identifier 1851294 1851318 + ExpressionStatement 1851319 1851409 + BinaryExpression 1851319 1851408 + Identifier 1851319 1851337 + EqualsToken 1851337 1851339 + CallExpression 1851339 1851408 + Identifier 1851339 1851371 + Identifier 1851372 1851379 + Identifier 1851380 1851407 + FunctionDeclaration 1851427 1854414 + Identifier 1851443 1851474 + Parameter 1851475 1851501 + Identifier 1851475 1851479 + TypeReference 1851480 1851501 + Identifier 1851480 1851501 + UnionType 1851503 1851520 + TypeReference 1851503 1851508 + Identifier 1851503 1851508 + UndefinedKeyword 1851510 1851520 + Block 1851520 1854414 + IfStatement 1851522 1851619 + BinaryExpression 1851536 1851574 + PropertyAccessExpression 1851536 1851545 + Identifier 1851536 1851540 + Identifier 1851541 1851545 + EqualsEqualsEqualsToken 1851545 1851549 + PropertyAccessExpression 1851549 1851574 + Identifier 1851549 1851560 + Identifier 1851561 1851574 + Block 1851575 1851619 + ReturnStatement 1851577 1851608 + Identifier 1851597 1851607 + IfStatement 1851619 1852017 + CallExpression 1851633 1851686 + Identifier 1851633 1851680 + Identifier 1851681 1851685 + Block 1851687 1852017 + VariableStatement 1851689 1851760 + VariableDeclarationList 1851689 1851759 + VariableDeclaration 1851708 1851759 + Identifier 1851708 1851728 + CallExpression 1851730 1851759 + Identifier 1851730 1851753 + Identifier 1851754 1851758 + IfStatement 1851760 1852006 + Identifier 1851778 1851797 + Block 1851798 1852006 + VariableStatement 1851800 1851874 + VariableDeclarationList 1851800 1851873 + VariableDeclaration 1851823 1851873 + Identifier 1851823 1851837 + PropertyAccessExpression 1851839 1851873 + Identifier 1851839 1851859 + Identifier 1851860 1851873 + IfStatement 1851874 1851991 + Identifier 1851896 1851909 + Block 1851910 1851991 + ReturnStatement 1851912 1851972 + CallExpression 1851940 1851971 + Identifier 1851940 1851956 + Identifier 1851957 1851970 + VariableStatement 1852017 1852057 + VariableDeclarationList 1852017 1852056 + VariableDeclaration 1852032 1852056 + Identifier 1852032 1852037 + CallExpression 1852039 1852056 + Identifier 1852039 1852050 + Identifier 1852051 1852055 + IfStatement 1852057 1854380 + BinaryExpression 1852071 1852093 + Identifier 1852071 1852085 + BarBarToken 1852085 1852088 + Identifier 1852088 1852093 + Block 1852094 1854380 + VariableStatement 1852096 1852169 + VariableDeclarationList 1852096 1852168 + VariableDeclaration 1852115 1852168 + Identifier 1852115 1852133 + CallExpression 1852135 1852168 + Identifier 1852135 1852162 + Identifier 1852163 1852167 + IfStatement 1852169 1853338 + Identifier 1852187 1852204 + Block 1852205 1853338 + VariableStatement 1852207 1852618 + VariableDeclarationList 1852207 1852617 + VariableDeclaration 1852521 1852617 + Identifier 1852521 1852536 + CallExpression 1852538 1852617 + Identifier 1852538 1852570 + Identifier 1852571 1852588 + Identifier 1852589 1852616 + VariableStatement 1852618 1852733 + VariableDeclarationList 1852618 1852732 + VariableDeclaration 1852641 1852732 + Identifier 1852641 1852650 + CallExpression 1852652 1852732 + Identifier 1852652 1852697 + Identifier 1852698 1852715 + Identifier 1852716 1852731 + IfStatement 1852733 1852902 + Identifier 1852755 1852763 + Block 1852764 1852902 + ReturnStatement 1852766 1852883 + CallExpression 1852794 1852882 + Identifier 1852794 1852810 + Identifier 1852811 1852819 + CallExpression 1852820 1852881 + Identifier 1852820 1852841 + CallExpression 1852842 1852880 + Identifier 1852842 1852861 + Identifier 1852862 1852879 + ReturnStatement 1852902 1853323 + CallExpression 1853211 1853322 + Identifier 1853211 1853226 + ConditionalExpression 1853227 1853321 + Identifier 1853227 1853241 + QuestionToken 1853241 1853243 + CallExpression 1853243 1853278 + Identifier 1853243 1853262 + Identifier 1853263 1853277 + ColonToken 1853278 1853280 + CallExpression 1853280 1853321 + Identifier 1853280 1853302 + Identifier 1853303 1853320 + VariableStatement 1853338 1853570 + VariableDeclarationList 1853338 1853569 + VariableDeclaration 1853516 1853569 + Identifier 1853516 1853523 + CallExpression 1853525 1853569 + Identifier 1853525 1853556 + PropertyAccessExpression 1853557 1853568 + Identifier 1853557 1853561 + Identifier 1853562 1853568 + IfStatement 1853570 1854369 + CallExpression 1853588 1853618 + Identifier 1853588 1853610 + Identifier 1853611 1853617 + Block 1853619 1854369 + VariableStatement 1853621 1853666 + VariableDeclarationList 1853621 1853665 + VariableDeclaration 1853644 1853665 + Identifier 1853644 1853651 + PropertyAccessExpression 1853653 1853665 + Identifier 1853653 1853660 + Identifier 1853661 1853665 + IfStatement 1853666 1854354 + CallExpression 1853688 1853714 + Identifier 1853688 1853706 + Identifier 1853707 1853713 + Block 1853715 1854354 + VariableStatement 1853717 1853769 + VariableDeclarationList 1853717 1853768 + VariableDeclaration 1853744 1853768 + ObjectBindingPattern 1853744 1853759 + BindingElement 1853746 1853757 + Identifier 1853746 1853757 + Identifier 1853761 1853768 + IfStatement 1853769 1854254 + BinaryExpression 1853927 1853959 + Identifier 1853927 1853931 + AmpersandAmpersandToken 1853931 1853934 + CallExpression 1853934 1853959 + Identifier 1853934 1853947 + Identifier 1853948 1853958 + Block 1853960 1854254 + VariableStatement 1853962 1854035 + VariableDeclarationList 1853962 1854034 + VariableDeclaration 1853993 1854034 + Identifier 1853993 1854004 + CallExpression 1854006 1854034 + Identifier 1854006 1854026 + Identifier 1854027 1854033 + IfStatement 1854035 1854231 + BinaryExpression 1854065 1854154 + PropertyAccessExpression 1854065 1854099 + Identifier 1854065 1854075 + Identifier 1854076 1854099 + AmpersandAmpersandToken 1854099 1854102 + BinaryExpression 1854102 1854154 + CallExpression 1854102 1854132 + Identifier 1854102 1854120 + Identifier 1854121 1854131 + EqualsEqualsEqualsToken 1854132 1854136 + PropertyAccessExpression 1854136 1854154 + Identifier 1854136 1854147 + Identifier 1854148 1854154 + Block 1854155 1854231 + ReturnStatement 1854157 1854204 + Identifier 1854193 1854203 + ReturnStatement 1854254 1854335 + CallExpression 1854284 1854334 + Identifier 1854284 1854299 + CallExpression 1854300 1854333 + Identifier 1854300 1854321 + Identifier 1854322 1854332 + ReturnStatement 1854380 1854407 + Identifier 1854396 1854406 + FunctionDeclaration 1854414 1856103 + Identifier 1854522 1854556 + Parameter 1854557 1854588 + Identifier 1854557 1854566 + TypeReference 1854567 1854588 + Identifier 1854567 1854588 + UnionType 1854590 1854607 + TypeReference 1854590 1854595 + Identifier 1854590 1854595 + UndefinedKeyword 1854597 1854607 + Block 1854607 1856103 + VariableStatement 1854609 1854649 + VariableDeclarationList 1854609 1854648 + VariableDeclaration 1854624 1854648 + Identifier 1854624 1854629 + PropertyAccessExpression 1854631 1854648 + Identifier 1854631 1854641 + Identifier 1854642 1854648 + IfStatement 1854649 1854762 + PrefixUnaryExpression 1854663 1854717 + CallExpression 1854664 1854717 + Identifier 1854664 1854711 + Identifier 1854712 1854716 + Block 1854718 1854762 + ReturnStatement 1854720 1854751 + Identifier 1854740 1854750 + VariableStatement 1854762 1854831 + VariableDeclarationList 1854762 1854830 + VariableDeclaration 1854777 1854830 + Identifier 1854777 1854782 + CallExpression 1854784 1854830 + Identifier 1854784 1854824 + Identifier 1854825 1854829 + IfStatement 1854831 1855651 + BinaryExpression 1854845 1854867 + Identifier 1854845 1854849 + AmpersandAmpersandToken 1854849 1854852 + PropertyAccessExpression 1854852 1854867 + Identifier 1854852 1854857 + Identifier 1854858 1854867 + Block 1854868 1855651 + VariableStatement 1854870 1854929 + VariableDeclarationList 1854870 1854928 + VariableDeclaration 1854889 1854928 + Identifier 1854889 1854894 + CallExpression 1854896 1854928 + Identifier 1854896 1854922 + Identifier 1854923 1854927 + VariableStatement 1854929 1855003 + VariableDeclarationList 1854929 1855002 + VariableDeclaration 1854948 1855002 + Identifier 1854948 1854965 + CallExpression 1854967 1855002 + PropertyAccessExpression 1854967 1854991 + PropertyAccessExpression 1854967 1854983 + Identifier 1854967 1854972 + Identifier 1854973 1854983 + Identifier 1854984 1854991 + Identifier 1854992 1855001 + IfStatement 1855003 1855197 + PropertyAccessExpression 1855021 1855045 + Identifier 1855021 1855030 + Identifier 1855031 1855045 + Block 1855046 1855197 + ReturnStatement 1855048 1855182 + CallExpression 1855072 1855181 + Identifier 1855072 1855094 + Identifier 1855095 1855099 + Identifier 1855100 1855117 + PropertyAccessExpression 1855118 1855130 + Identifier 1855118 1855123 + Identifier 1855124 1855130 + Identifier 1855131 1855139 + Identifier 1855140 1855162 + PropertyAccessExpression 1855163 1855180 + Identifier 1855163 1855173 + Identifier 1855174 1855180 + VariableStatement 1855197 1855244 + VariableDeclarationList 1855197 1855243 + VariableDeclaration 1855216 1855243 + Identifier 1855216 1855222 + CallExpression 1855224 1855243 + Identifier 1855224 1855237 + Identifier 1855238 1855242 + VariableStatement 1855244 1855297 + VariableDeclarationList 1855244 1855296 + VariableDeclaration 1855263 1855296 + Identifier 1855263 1855270 + PropertyAccessExpression 1855272 1855296 + Identifier 1855272 1855278 + Identifier 1855279 1855296 + ExpressionStatement 1855297 1855350 + BinaryExpression 1855297 1855349 + PropertyAccessExpression 1855297 1855334 + Identifier 1855297 1855316 + Identifier 1855317 1855334 + EqualsToken 1855334 1855336 + Identifier 1855336 1855349 + VariableStatement 1855350 1855567 + VariableDeclarationList 1855350 1855566 + VariableDeclaration 1855369 1855566 + Identifier 1855369 1855374 + ConditionalExpression 1855376 1855566 + BinaryExpression 1855376 1855407 + Identifier 1855376 1855393 + LessThanToken 1855393 1855395 + PropertyAccessExpression 1855395 1855407 + Identifier 1855395 1855400 + Identifier 1855401 1855407 + QuestionToken 1855407 1855409 + CallExpression 1855409 1855489 + Identifier 1855409 1855448 + CallExpression 1855449 1855488 + Identifier 1855449 1855464 + ElementAccessExpression 1855465 1855487 + Identifier 1855465 1855469 + Identifier 1855470 1855486 + ColonToken 1855489 1855491 + ConditionalExpression 1855491 1855566 + PropertyAccessExpression 1855491 1855530 + Identifier 1855491 1855518 + Identifier 1855519 1855530 + QuestionToken 1855530 1855532 + Identifier 1855532 1855542 + ColonToken 1855542 1855544 + Identifier 1855544 1855566 + ExpressionStatement 1855567 1855614 + BinaryExpression 1855567 1855613 + PropertyAccessExpression 1855567 1855604 + Identifier 1855567 1855586 + Identifier 1855587 1855604 + EqualsToken 1855604 1855606 + Identifier 1855606 1855613 + ReturnStatement 1855614 1855640 + Identifier 1855634 1855639 + VariableStatement 1855651 1855718 + VariableDeclarationList 1855651 1855717 + VariableDeclaration 1855666 1855717 + Identifier 1855666 1855686 + CallExpression 1855688 1855717 + Identifier 1855688 1855711 + Identifier 1855712 1855716 + IfStatement 1855718 1856096 + Identifier 1855732 1855751 + Block 1855752 1856096 + VariableStatement 1855754 1855852 + VariableDeclarationList 1855754 1855851 + VariableDeclaration 1855773 1855851 + Identifier 1855773 1855779 + BinaryExpression 1855781 1855851 + CallExpression 1855781 1855816 + PropertyAccessExpression 1855781 1855805 + PropertyAccessExpression 1855781 1855797 + Identifier 1855781 1855786 + Identifier 1855787 1855797 + Identifier 1855798 1855805 + Identifier 1855806 1855815 + MinusToken 1855816 1855818 + ParenthesizedExpression 1855818 1855851 + ConditionalExpression 1855820 1855850 + CallExpression 1855820 1855842 + Identifier 1855820 1855836 + Identifier 1855837 1855841 + QuestionToken 1855842 1855844 + NumericLiteral 1855844 1855846 + ColonToken 1855846 1855848 + NumericLiteral 1855848 1855850 + ReturnStatement 1855852 1856085 + ConditionalExpression 1855872 1856084 + BinaryExpression 1855872 1855947 + PropertyAccessExpression 1855872 1855897 + Identifier 1855872 1855882 + Identifier 1855883 1855897 + AmpersandAmpersandToken 1855897 1855900 + BinaryExpression 1855900 1855947 + CallExpression 1855900 1855933 + Identifier 1855900 1855916 + PropertyAccessExpression 1855917 1855932 + Identifier 1855917 1855921 + Identifier 1855922 1855932 + EqualsEqualsEqualsToken 1855933 1855937 + Identifier 1855937 1855947 + QuestionToken 1855947 1855949 + CallExpression 1855949 1856016 + Identifier 1855949 1855988 + Identifier 1855989 1856008 + Identifier 1856009 1856015 + ColonToken 1856016 1856018 + CallExpression 1856018 1856084 + Identifier 1856018 1856056 + Identifier 1856057 1856076 + Identifier 1856077 1856083 + FunctionDeclaration 1856103 1857140 + Identifier 1856119 1856163 + Parameter 1856164 1856200 + Identifier 1856164 1856175 + TypeReference 1856176 1856200 + Identifier 1856176 1856200 + Parameter 1856201 1856240 + Identifier 1856201 1856214 + UnionType 1856215 1856240 + TypeReference 1856215 1856228 + Identifier 1856215 1856228 + UndefinedKeyword 1856230 1856240 + UnionType 1856242 1856259 + TypeReference 1856242 1856247 + Identifier 1856242 1856247 + UndefinedKeyword 1856249 1856259 + Block 1856259 1857140 + VariableStatement 1856261 1856417 + VariableDeclarationList 1856261 1856416 + VariableDeclaration 1856276 1856416 + Identifier 1856276 1856285 + BinaryExpression 1856287 1856416 + CallExpression 1856287 1856331 + Identifier 1856287 1856318 + Identifier 1856319 1856330 + BarBarToken 1856331 1856334 + ParenthesizedExpression 1856334 1856416 + ConditionalExpression 1856336 1856415 + CallExpression 1856336 1856359 + Identifier 1856336 1856346 + Identifier 1856347 1856358 + QuestionToken 1856359 1856361 + CallExpression 1856361 1856403 + Identifier 1856361 1856390 + Identifier 1856391 1856402 + ColonToken 1856403 1856405 + Identifier 1856405 1856415 + IfStatement 1856417 1856504 + Identifier 1856431 1856439 + Block 1856440 1856504 + ReturnStatement 1856442 1856493 + CallExpression 1856462 1856492 + Identifier 1856462 1856482 + Identifier 1856483 1856491 + SwitchStatement 1856504 1857133 + PropertyAccessExpression 1856522 1856538 + Identifier 1856522 1856533 + Identifier 1856534 1856538 + CaseBlock 1856539 1857133 + CaseClause 1856541 1856653 + PropertyAccessExpression 1856559 1856580 + Identifier 1856559 1856570 + Identifier 1856571 1856580 + ReturnStatement 1856581 1856653 + CallExpression 1856605 1856652 + Identifier 1856605 1856639 + Identifier 1856640 1856651 + CaseClause 1856653 1856785 + PropertyAccessExpression 1856671 1856697 + Identifier 1856671 1856682 + Identifier 1856683 1856697 + ReturnStatement 1856698 1856785 + CallExpression 1856722 1856784 + Identifier 1856722 1856757 + Identifier 1856758 1856769 + Identifier 1856770 1856783 + CaseClause 1856785 1857002 + PropertyAccessExpression 1856803 1856834 + Identifier 1856803 1856814 + Identifier 1856815 1856834 + IfStatement 1856835 1857002 + CallExpression 1856857 1856878 + Identifier 1856857 1856865 + Identifier 1856866 1856877 + Block 1856879 1857002 + ReturnStatement 1856881 1856983 + CallExpression 1856909 1856982 + Identifier 1856909 1856955 + Identifier 1856956 1856967 + Identifier 1856968 1856981 + FunctionDeclaration 1857140 1858339 + Identifier 1857156 1857191 + Parameter 1857192 1857219 + Identifier 1857192 1857203 + TypeReference 1857204 1857219 + Identifier 1857204 1857219 + Parameter 1857220 1857259 + Identifier 1857220 1857233 + UnionType 1857234 1857259 + TypeReference 1857234 1857247 + Identifier 1857234 1857247 + UndefinedKeyword 1857249 1857259 + UnionType 1857261 1857278 + TypeReference 1857261 1857266 + Identifier 1857261 1857266 + UndefinedKeyword 1857268 1857278 + Block 1857278 1858339 + VariableStatement 1857280 1857331 + VariableDeclarationList 1857280 1857330 + VariableDeclaration 1857295 1857330 + Identifier 1857295 1857302 + PropertyAccessExpression 1857304 1857330 + PropertyAccessExpression 1857304 1857323 + Identifier 1857304 1857316 + Identifier 1857317 1857323 + Identifier 1857324 1857330 + VariableStatement 1857331 1857399 + VariableDeclarationList 1857331 1857398 + VariableDeclaration 1857346 1857398 + Identifier 1857346 1857351 + BinaryExpression 1857353 1857398 + PropertyAccessExpression 1857353 1857378 + Identifier 1857353 1857365 + Identifier 1857366 1857378 + BarBarToken 1857378 1857381 + PropertyAccessExpression 1857381 1857398 + Identifier 1857381 1857393 + Identifier 1857394 1857398 + VariableStatement 1857399 1857691 + VariableDeclarationList 1857399 1857690 + VariableDeclaration 1857414 1857690 + Identifier 1857414 1857425 + BinaryExpression 1857427 1857690 + CallExpression 1857427 1857493 + Identifier 1857427 1857471 + Identifier 1857472 1857478 + Identifier 1857479 1857492 + BarBarToken 1857493 1857496 + BinaryExpression 1857496 1857690 + BinaryExpression 1857496 1857573 + BinaryExpression 1857496 1857551 + PropertyAccessExpression 1857496 1857521 + Identifier 1857496 1857516 + Identifier 1857517 1857521 + ExclamationEqualsEqualsToken 1857521 1857525 + PropertyAccessExpression 1857525 1857551 + Identifier 1857525 1857536 + Identifier 1857537 1857551 + AmpersandAmpersandToken 1857551 1857554 + PropertyAccessExpression 1857554 1857573 + Identifier 1857554 1857561 + Identifier 1857562 1857573 + AmpersandAmpersandToken 1857573 1857576 + CallExpression 1857576 1857690 + Identifier 1857576 1857604 + Identifier 1857605 1857611 + ConditionalExpression 1857612 1857689 + PropertyAccessExpression 1857612 1857639 + Identifier 1857612 1857624 + Identifier 1857625 1857639 + QuestionToken 1857639 1857641 + PropertyAccessExpression 1857641 1857670 + Identifier 1857641 1857651 + Identifier 1857652 1857670 + ColonToken 1857670 1857672 + PropertyAccessExpression 1857672 1857689 + Identifier 1857672 1857682 + Identifier 1857683 1857689 + IfStatement 1857691 1857795 + BinaryExpression 1857705 1857776 + BinaryExpression 1857705 1857742 + PrefixUnaryExpression 1857705 1857716 + Identifier 1857706 1857716 + BarBarToken 1857716 1857719 + CallExpression 1857719 1857742 + Identifier 1857719 1857736 + Identifier 1857737 1857741 + BarBarToken 1857742 1857745 + CallExpression 1857745 1857776 + Identifier 1857745 1857770 + Identifier 1857771 1857775 + ReturnStatement 1857777 1857795 + Identifier 1857784 1857794 + IfStatement 1857795 1858080 + BinaryExpression 1857809 1857860 + PropertyAccessExpression 1857809 1857825 + PropertyAccessExpression 1857809 1857820 + Identifier 1857809 1857815 + Identifier 1857816 1857820 + Identifier 1857821 1857825 + EqualsEqualsEqualsToken 1857825 1857829 + PropertyAccessExpression 1857829 1857860 + Identifier 1857829 1857840 + Identifier 1857841 1857860 + Block 1857861 1858080 + VariableStatement 1857863 1857945 + VariableDeclarationList 1857863 1857944 + VariableDeclaration 1857882 1857944 + Identifier 1857882 1857888 + CallExpression 1857890 1857944 + Identifier 1857890 1857902 + PropertyAccessExpression 1857903 1857930 + PropertyAccessExpression 1857903 1857921 + Identifier 1857903 1857914 + Identifier 1857915 1857921 + Identifier 1857922 1857930 + Identifier 1857931 1857943 + IfStatement 1857945 1857991 + BinaryExpression 1857963 1857972 + Identifier 1857963 1857968 + LessThanToken 1857968 1857970 + NumericLiteral 1857970 1857972 + ReturnStatement 1857973 1857991 + Identifier 1857980 1857990 + ReturnStatement 1857991 1858069 + CallExpression 1858011 1858068 + Identifier 1858011 1858049 + Identifier 1858050 1858060 + Identifier 1858061 1858067 + VariableStatement 1858080 1858144 + VariableDeclarationList 1858080 1858143 + VariableDeclaration 1858095 1858143 + Identifier 1858095 1858104 + CallExpression 1858106 1858143 + Identifier 1858106 1858137 + Identifier 1858138 1858142 + IfStatement 1858144 1858332 + CallExpression 1858158 1858194 + Identifier 1858158 1858184 + Identifier 1858185 1858193 + Block 1858195 1858332 + VariableStatement 1858197 1858258 + VariableDeclarationList 1858197 1858257 + VariableDeclaration 1858216 1858257 + Identifier 1858216 1858221 + CallExpression 1858223 1858257 + Identifier 1858223 1858247 + Identifier 1858248 1858256 + ReturnStatement 1858258 1858321 + CallExpression 1858278 1858320 + Identifier 1858278 1858302 + Identifier 1858303 1858313 + Identifier 1858314 1858319 + FunctionDeclaration 1858339 1858775 + Identifier 1858355 1858401 + Parameter 1858402 1858434 + Identifier 1858402 1858413 + TypeReference 1858414 1858434 + Identifier 1858414 1858434 + Parameter 1858435 1858474 + Identifier 1858435 1858448 + UnionType 1858449 1858474 + TypeReference 1858449 1858462 + Identifier 1858449 1858462 + UndefinedKeyword 1858464 1858474 + UnionType 1858476 1858493 + TypeReference 1858476 1858481 + Identifier 1858476 1858481 + UndefinedKeyword 1858483 1858493 + Block 1858493 1858775 + VariableStatement 1858495 1858612 + VariableDeclarationList 1858495 1858611 + VariableDeclaration 1858510 1858611 + Identifier 1858510 1858521 + BinaryExpression 1858523 1858611 + CallExpression 1858523 1858556 + Identifier 1858523 1858536 + PropertyAccessExpression 1858537 1858555 + Identifier 1858537 1858548 + Identifier 1858549 1858555 + AmpersandAmpersandToken 1858556 1858559 + CallExpression 1858559 1858611 + Identifier 1858559 1858577 + PropertyAccessExpression 1858578 1858596 + Identifier 1858578 1858589 + Identifier 1858590 1858596 + Identifier 1858597 1858610 + IfStatement 1858612 1858656 + PrefixUnaryExpression 1858626 1858637 + Identifier 1858627 1858637 + ReturnStatement 1858638 1858656 + Identifier 1858645 1858655 + ReturnStatement 1858656 1858768 + CallExpression 1858672 1858767 + Identifier 1858672 1858706 + Identifier 1858707 1858717 + PropertyAccessExpression 1858718 1858766 + CallExpression 1858718 1858754 + Identifier 1858718 1858741 + Identifier 1858742 1858753 + Identifier 1858755 1858766 + FunctionDeclaration 1858775 1860350 + Identifier 1859573 1859615 + Parameter 1859616 1859632 + Identifier 1859616 1859620 + TypeReference 1859621 1859632 + Identifier 1859621 1859632 + Parameter 1859633 1859672 + Identifier 1859633 1859646 + UnionType 1859647 1859672 + TypeReference 1859647 1859660 + Identifier 1859647 1859660 + UndefinedKeyword 1859662 1859672 + UnionType 1859674 1859691 + TypeReference 1859674 1859679 + Identifier 1859674 1859679 + UndefinedKeyword 1859681 1859691 + Block 1859691 1860350 + VariableStatement 1859693 1859762 + VariableDeclarationList 1859693 1859761 + VariableDeclaration 1859708 1859761 + Identifier 1859708 1859720 + AsExpression 1859722 1859761 + PropertyAccessExpression 1859722 1859734 + Identifier 1859722 1859727 + Identifier 1859728 1859734 + TypeReference 1859737 1859761 + Identifier 1859737 1859761 + IfStatement 1859762 1860316 + BinaryExpression 1859776 1859839 + CallExpression 1859776 1859803 + Identifier 1859776 1859790 + Identifier 1859791 1859802 + AmpersandAmpersandToken 1859803 1859806 + BinaryExpression 1859806 1859839 + Identifier 1859806 1859811 + EqualsEqualsEqualsToken 1859811 1859815 + PropertyAccessExpression 1859815 1859839 + Identifier 1859815 1859827 + Identifier 1859828 1859839 + Block 1859840 1860316 + VariableStatement 1859842 1859942 + VariableDeclarationList 1859842 1859941 + VariableDeclaration 1859861 1859941 + Identifier 1859861 1859868 + CallExpression 1859870 1859941 + Identifier 1859870 1859914 + Identifier 1859915 1859926 + Identifier 1859927 1859940 + IfStatement 1859942 1860016 + Identifier 1859960 1859966 + Block 1859967 1860016 + ReturnStatement 1859969 1860001 + Identifier 1859993 1860000 + IfStatement 1860016 1860305 + BinaryExpression 1860034 1860163 + BinaryExpression 1860034 1860123 + PrefixUnaryExpression 1860034 1860085 + ParenthesizedExpression 1860035 1860085 + BinaryExpression 1860036 1860084 + NonNullExpression 1860036 1860049 + Identifier 1860036 1860048 + AmpersandToken 1860049 1860051 + PropertyAccessExpression 1860051 1860084 + Identifier 1860051 1860064 + Identifier 1860065 1860084 + AmpersandAmpersandToken 1860085 1860088 + CallExpression 1860088 1860123 + Identifier 1860088 1860105 + PropertyAccessExpression 1860106 1860122 + Identifier 1860106 1860117 + Identifier 1860118 1860122 + AmpersandAmpersandToken 1860123 1860126 + BinaryExpression 1860126 1860163 + PropertyAccessExpression 1860126 1860159 + PropertyAccessExpression 1860126 1860152 + PropertyAccessExpression 1860126 1860143 + Identifier 1860126 1860138 + Identifier 1860139 1860143 + Identifier 1860144 1860152 + Identifier 1860153 1860159 + GreaterThanToken 1860159 1860161 + NumericLiteral 1860161 1860163 + Block 1860164 1860305 + ReturnStatement 1860166 1860290 + CallExpression 1860190 1860289 + Identifier 1860190 1860216 + PropertyAccessExpression 1860217 1860233 + Identifier 1860217 1860228 + Identifier 1860229 1860233 + TrueKeyword 1860234 1860264 + FalseKeyword 1860265 1860288 + ReturnStatement 1860316 1860343 + Identifier 1860332 1860342 + FunctionDeclaration 1860350 1862281 + Identifier 1860366 1860403 + Parameter 1860404 1860420 + Identifier 1860404 1860408 + TypeReference 1860409 1860420 + Identifier 1860409 1860420 + Parameter 1860421 1860460 + Identifier 1860421 1860434 + UnionType 1860435 1860460 + TypeReference 1860435 1860448 + Identifier 1860435 1860448 + UndefinedKeyword 1860450 1860460 + UnionType 1860462 1860479 + TypeReference 1860462 1860467 + Identifier 1860462 1860467 + UndefinedKeyword 1860469 1860479 + Block 1860479 1862281 + VariableStatement 1860481 1860532 + VariableDeclarationList 1860481 1860531 + VariableDeclaration 1860496 1860531 + Identifier 1860496 1860501 + CallExpression 1860503 1860531 + Identifier 1860503 1860525 + Identifier 1860526 1860530 + IfStatement 1860532 1862247 + Identifier 1860546 1860550 + Block 1860551 1862247 + VariableStatement 1860553 1860638 + VariableDeclarationList 1860553 1860637 + VariableDeclaration 1860570 1860637 + Identifier 1860570 1860591 + CallExpression 1860593 1860637 + Identifier 1860593 1860617 + Identifier 1860618 1860622 + Identifier 1860623 1860636 + IfStatement 1860638 1862236 + Identifier 1860656 1860676 + Block 1860677 1862236 + VariableStatement 1860679 1860742 + VariableDeclarationList 1860679 1860741 + VariableDeclaration 1860702 1860741 + Identifier 1860702 1860716 + CallExpression 1860718 1860741 + Identifier 1860718 1860735 + Identifier 1860736 1860740 + IfStatement 1860742 1861686 + BinaryExpression 1860764 1860803 + Identifier 1860764 1860777 + AmpersandToken 1860777 1860779 + PropertyAccessExpression 1860779 1860803 + Identifier 1860779 1860793 + Identifier 1860794 1860803 + Block 1860804 1861686 + VariableStatement 1860806 1860937 + VariableDeclarationList 1860806 1860936 + VariableDeclaration 1860873 1860936 + Identifier 1860873 1860890 + BinaryExpression 1860892 1860936 + ParenthesizedExpression 1860892 1860930 + BinaryExpression 1860894 1860929 + Identifier 1860894 1860907 + AmpersandToken 1860907 1860909 + PropertyAccessExpression 1860909 1860929 + Identifier 1860909 1860923 + Identifier 1860924 1860929 + ExclamationEqualsEqualsToken 1860930 1860934 + NumericLiteral 1860934 1860936 + IfStatement 1860937 1861222 + BinaryExpression 1860963 1861007 + PropertyAccessExpression 1860963 1860989 + Identifier 1860963 1860983 + Identifier 1860984 1860989 + AmpersandToken 1860989 1860991 + PropertyAccessExpression 1860991 1861007 + Identifier 1860991 1861001 + Identifier 1861002 1861007 + Block 1861008 1861222 + ExpressionStatement 1861010 1861199 + BinaryExpression 1861010 1861198 + Identifier 1861010 1861056 + EqualsToken 1861056 1861058 + CallExpression 1861058 1861198 + Identifier 1861058 1861069 + Identifier 1861070 1861090 + ArrowFunction 1861091 1861197 + Parameter 1861091 1861096 + Identifier 1861091 1861096 + EqualsGreaterThanToken 1861096 1861099 + PrefixUnaryExpression 1861099 1861197 + PrefixUnaryExpression 1861101 1861197 + CallExpression 1861102 1861197 + Identifier 1861102 1861147 + PropertyAccessExpression 1861148 1861172 + Identifier 1861148 1861165 + Identifier 1861166 1861172 + Identifier 1861173 1861178 + Identifier 1861179 1861196 + VariableStatement 1861222 1861411 + VariableDeclarationList 1861222 1861410 + VariableDeclaration 1861249 1861410 + Identifier 1861249 1861269 + CallExpression 1861271 1861410 + Identifier 1861271 1861317 + PropertyAccessExpression 1861318 1861342 + Identifier 1861318 1861335 + Identifier 1861336 1861342 + Identifier 1861343 1861364 + BinaryExpression 1861365 1861409 + ParenthesizedExpression 1861365 1861403 + BinaryExpression 1861367 1861402 + Identifier 1861367 1861380 + AmpersandToken 1861380 1861382 + PropertyAccessExpression 1861382 1861402 + Identifier 1861382 1861396 + Identifier 1861397 1861402 + ExclamationEqualsEqualsToken 1861403 1861407 + NumericLiteral 1861407 1861409 + IfStatement 1861411 1861526 + PrefixUnaryExpression 1861437 1861457 + Identifier 1861438 1861457 + Block 1861458 1861526 + ReturnStatement 1861460 1861503 + Identifier 1861492 1861502 + ExpressionStatement 1861526 1861591 + BinaryExpression 1861526 1861590 + Identifier 1861526 1861568 + EqualsToken 1861568 1861570 + Identifier 1861570 1861590 + IfStatement 1861686 1862131 + BinaryExpression 1861710 1861745 + Identifier 1861710 1861723 + AmpersandToken 1861723 1861725 + PropertyAccessExpression 1861725 1861745 + Identifier 1861725 1861739 + Identifier 1861740 1861745 + Block 1861746 1862131 + VariableStatement 1861748 1861974 + VariableDeclarationList 1861748 1861973 + VariableDeclaration 1861896 1861973 + Identifier 1861896 1861918 + CallExpression 1861920 1861973 + Identifier 1861920 1861928 + Identifier 1861929 1861949 + Identifier 1861950 1861972 + ReturnStatement 1861974 1862112 + BinaryExpression 1862002 1862111 + Identifier 1862002 1862024 + AmpersandAmpersandToken 1862024 1862027 + CallExpression 1862027 1862111 + Identifier 1862027 1862040 + ArrayLiteralExpression 1862041 1862110 + Identifier 1862042 1862063 + CallExpression 1862064 1862109 + Identifier 1862064 1862086 + Identifier 1862087 1862108 + ReturnStatement 1862131 1862179 + Identifier 1862157 1862178 + ReturnStatement 1862247 1862274 + Identifier 1862263 1862273 + FunctionDeclaration 1862281 1862772 + Identifier 1862297 1862330 + Parameter 1862331 1862352 + Identifier 1862331 1862335 + TypeReference 1862336 1862352 + Identifier 1862336 1862352 + Parameter 1862353 1862392 + Identifier 1862353 1862366 + UnionType 1862367 1862392 + TypeReference 1862367 1862380 + Identifier 1862367 1862380 + UndefinedKeyword 1862382 1862392 + UnionType 1862394 1862411 + TypeReference 1862394 1862399 + Identifier 1862394 1862399 + UndefinedKeyword 1862401 1862411 + Block 1862411 1862772 + VariableStatement 1862413 1862484 + VariableDeclarationList 1862413 1862483 + VariableDeclaration 1862428 1862483 + Identifier 1862428 1862443 + CallExpression 1862445 1862483 + Identifier 1862445 1862463 + Identifier 1862464 1862468 + Identifier 1862469 1862482 + IfStatement 1862484 1862738 + Identifier 1862498 1862512 + Block 1862513 1862738 + VariableStatement 1862515 1862597 + VariableDeclarationList 1862515 1862596 + VariableDeclaration 1862534 1862596 + Identifier 1862534 1862556 + CallExpression 1862558 1862596 + Identifier 1862558 1862580 + Identifier 1862581 1862595 + ReturnStatement 1862597 1862727 + BinaryExpression 1862617 1862726 + Identifier 1862617 1862639 + AmpersandAmpersandToken 1862639 1862642 + CallExpression 1862642 1862726 + Identifier 1862642 1862655 + ArrayLiteralExpression 1862656 1862725 + Identifier 1862657 1862678 + CallExpression 1862679 1862724 + Identifier 1862679 1862701 + Identifier 1862702 1862723 + ReturnStatement 1862738 1862765 + Identifier 1862754 1862764 + FunctionDeclaration 1862772 1864650 + Identifier 1862788 1862821 + Parameter 1862822 1862843 + Identifier 1862822 1862826 + TypeReference 1862827 1862843 + Identifier 1862827 1862843 + Parameter 1862844 1862883 + Identifier 1862844 1862857 + UnionType 1862858 1862883 + TypeReference 1862858 1862871 + Identifier 1862858 1862871 + UndefinedKeyword 1862873 1862883 + UnionType 1862885 1862902 + TypeReference 1862885 1862890 + Identifier 1862885 1862890 + UndefinedKeyword 1862892 1862902 + Block 1862902 1864650 + VariableStatement 1862904 1862955 + VariableDeclarationList 1862904 1862954 + VariableDeclaration 1862919 1862954 + Identifier 1862919 1862924 + CallExpression 1862926 1862954 + Identifier 1862926 1862948 + Identifier 1862949 1862953 + IfStatement 1862955 1864614 + Identifier 1862969 1862973 + Block 1862974 1864614 + VariableStatement 1862976 1863035 + VariableDeclarationList 1862976 1863034 + VariableDeclaration 1862995 1863034 + Identifier 1862995 1863009 + CallExpression 1863011 1863034 + Identifier 1863011 1863028 + Identifier 1863029 1863033 + VariableStatement 1863035 1863120 + VariableDeclarationList 1863035 1863119 + VariableDeclaration 1863052 1863119 + Identifier 1863052 1863073 + CallExpression 1863075 1863119 + Identifier 1863075 1863099 + Identifier 1863100 1863104 + Identifier 1863105 1863118 + IfStatement 1863120 1864603 + Identifier 1863138 1863158 + Block 1863159 1864603 + VariableStatement 1863161 1863248 + VariableDeclarationList 1863161 1863247 + VariableDeclaration 1863184 1863247 + Identifier 1863184 1863201 + BinaryExpression 1863203 1863247 + ParenthesizedExpression 1863203 1863241 + BinaryExpression 1863205 1863240 + Identifier 1863205 1863218 + AmpersandToken 1863218 1863220 + PropertyAccessExpression 1863220 1863240 + Identifier 1863220 1863234 + Identifier 1863235 1863240 + ExclamationEqualsEqualsToken 1863241 1863245 + NumericLiteral 1863245 1863247 + IfStatement 1863248 1863544 + BinaryExpression 1863270 1863337 + PrefixUnaryExpression 1863270 1863289 + PropertyAccessExpression 1863271 1863289 + Identifier 1863271 1863275 + Identifier 1863276 1863289 + AmpersandAmpersandToken 1863289 1863292 + BinaryExpression 1863292 1863337 + PropertyAccessExpression 1863292 1863319 + Identifier 1863292 1863313 + Identifier 1863314 1863319 + AmpersandToken 1863319 1863321 + PropertyAccessExpression 1863321 1863337 + Identifier 1863321 1863331 + Identifier 1863332 1863337 + Block 1863338 1863544 + ExpressionStatement 1863340 1863525 + BinaryExpression 1863340 1863524 + Identifier 1863340 1863382 + EqualsToken 1863382 1863384 + CallExpression 1863384 1863524 + Identifier 1863384 1863395 + Identifier 1863396 1863416 + ArrowFunction 1863417 1863523 + Parameter 1863417 1863422 + Identifier 1863417 1863422 + EqualsGreaterThanToken 1863422 1863425 + PrefixUnaryExpression 1863425 1863523 + PrefixUnaryExpression 1863427 1863523 + CallExpression 1863428 1863523 + Identifier 1863428 1863473 + PropertyAccessExpression 1863474 1863498 + Identifier 1863474 1863491 + Identifier 1863492 1863498 + Identifier 1863499 1863504 + Identifier 1863505 1863522 + IfStatement 1863544 1864452 + PropertyAccessExpression 1863566 1863584 + Identifier 1863566 1863570 + Identifier 1863571 1863584 + Block 1863585 1864452 + VariableStatement 1863587 1863719 + VariableDeclarationList 1863587 1863718 + VariableDeclaration 1863614 1863718 + Identifier 1863614 1863629 + CallExpression 1863631 1863718 + Identifier 1863631 1863678 + Identifier 1863679 1863699 + Identifier 1863700 1863717 + VariableStatement 1863719 1863804 + VariableDeclarationList 1863719 1863803 + VariableDeclaration 1863746 1863803 + Identifier 1863746 1863756 + BinaryExpression 1863758 1863803 + PropertyAccessExpression 1863758 1863784 + Identifier 1863758 1863773 + QuestionDotToken 1863773 1863775 + Identifier 1863775 1863784 + QuestionQuestionToken 1863784 1863787 + Identifier 1863787 1863803 + VariableStatement 1863804 1863902 + VariableDeclarationList 1863804 1863901 + VariableDeclaration 1863831 1863901 + Identifier 1863831 1863842 + BinaryExpression 1863844 1863901 + CallExpression 1863844 1863882 + Identifier 1863844 1863862 + Identifier 1863863 1863867 + Identifier 1863868 1863881 + QuestionQuestionToken 1863882 1863885 + Identifier 1863885 1863901 + VariableStatement 1863902 1863981 + VariableDeclarationList 1863902 1863980 + VariableDeclaration 1863929 1863980 + Identifier 1863929 1863938 + BinaryExpression 1863940 1863980 + PropertyAccessExpression 1863940 1863965 + Identifier 1863940 1863955 + QuestionDotToken 1863955 1863957 + Identifier 1863957 1863965 + QuestionQuestionToken 1863965 1863968 + Identifier 1863968 1863980 + VariableStatement 1863981 1864106 + VariableDeclarationList 1863981 1864105 + VariableDeclaration 1864008 1864105 + Identifier 1864008 1864022 + CallExpression 1864024 1864105 + Identifier 1864024 1864044 + Identifier 1864045 1864054 + Identifier 1864055 1864066 + Identifier 1864067 1864076 + FalseKeyword 1864077 1864104 + IfStatement 1864106 1864390 + Identifier 1864132 1864148 + Block 1864149 1864390 + VariableStatement 1864151 1864284 + VariableDeclarationList 1864151 1864283 + VariableDeclaration 1864182 1864283 + Identifier 1864182 1864201 + CallExpression 1864203 1864283 + Identifier 1864203 1864223 + Identifier 1864224 1864233 + Identifier 1864234 1864245 + Identifier 1864246 1864255 + TrueKeyword 1864256 1864282 + ReturnStatement 1864284 1864367 + CallExpression 1864316 1864366 + Identifier 1864316 1864329 + ArrayLiteralExpression 1864330 1864365 + Identifier 1864331 1864344 + Identifier 1864345 1864364 + ReturnStatement 1864390 1864433 + Identifier 1864418 1864432 + ReturnStatement 1864452 1864588 + CallExpression 1864476 1864587 + Identifier 1864476 1864522 + PropertyAccessExpression 1864523 1864546 + Identifier 1864523 1864540 + Identifier 1864541 1864546 + Identifier 1864547 1864568 + Identifier 1864569 1864586 + ReturnStatement 1864614 1864643 + Identifier 1864632 1864642 + FunctionDeclaration 1864650 1865212 + Identifier 1864666 1864715 + Parameter 1864716 1864726 + Identifier 1864716 1864720 + TypeReference 1864721 1864726 + Identifier 1864721 1864726 + Block 1864727 1865212 + VariableStatement 1864729 1864772 + VariableDeclarationList 1864729 1864771 + VariableDeclaration 1864742 1864771 + Identifier 1864742 1864763 + FalseKeyword 1864765 1864771 + WhileStatement 1864772 1865180 + BinaryExpression 1864789 1864832 + PropertyAccessExpression 1864789 1864800 + Identifier 1864789 1864793 + Identifier 1864794 1864800 + AmpersandAmpersandToken 1864800 1864803 + PrefixUnaryExpression 1864803 1864832 + CallExpression 1864805 1864832 + Identifier 1864805 1864819 + PropertyAccessExpression 1864820 1864831 + Identifier 1864820 1864824 + Identifier 1864825 1864831 + Block 1864833 1865180 + IfStatement 1864835 1864987 + BinaryExpression 1864853 1864939 + CallExpression 1864853 1864877 + Identifier 1864853 1864864 + PropertyAccessExpression 1864865 1864876 + Identifier 1864865 1864869 + Identifier 1864870 1864876 + AmpersandAmpersandToken 1864877 1864880 + ParenthesizedExpression 1864880 1864939 + BinaryExpression 1864882 1864938 + Identifier 1864882 1864902 + BarBarToken 1864902 1864905 + BinaryExpression 1864905 1864938 + PropertyAccessExpression 1864905 1864929 + PropertyAccessExpression 1864905 1864917 + Identifier 1864905 1864910 + Identifier 1864911 1864917 + Identifier 1864918 1864929 + EqualsEqualsEqualsToken 1864929 1864933 + Identifier 1864933 1864938 + Block 1864940 1864987 + ReturnStatement 1864942 1864972 + TrueKeyword 1864966 1864971 + IfStatement 1864987 1865134 + BinaryExpression 1865005 1865070 + CallExpression 1865005 1865034 + Identifier 1865005 1865021 + PropertyAccessExpression 1865022 1865033 + Identifier 1865022 1865026 + Identifier 1865027 1865033 + AmpersandAmpersandToken 1865034 1865037 + BinaryExpression 1865037 1865070 + PropertyAccessExpression 1865037 1865061 + PropertyAccessExpression 1865037 1865049 + Identifier 1865037 1865042 + Identifier 1865043 1865049 + Identifier 1865050 1865061 + EqualsEqualsEqualsToken 1865061 1865065 + Identifier 1865065 1865070 + Block 1865071 1865134 + ExpressionStatement 1865073 1865119 + BinaryExpression 1865073 1865118 + Identifier 1865073 1865111 + EqualsToken 1865111 1865113 + TrueKeyword 1865113 1865118 + ExpressionStatement 1865134 1865169 + BinaryExpression 1865134 1865168 + Identifier 1865134 1865154 + EqualsToken 1865154 1865156 + PropertyAccessExpression 1865156 1865168 + Identifier 1865156 1865161 + Identifier 1865162 1865168 + ReturnStatement 1865180 1865205 + FalseKeyword 1865198 1865204 + FunctionDeclaration 1865212 1865742 + Identifier 1865228 1865255 + Parameter 1865256 1865279 + Identifier 1865256 1865260 + TypeReference 1865261 1865279 + Identifier 1865261 1865279 + Parameter 1865280 1865315 + Identifier 1865280 1865293 + TypeReference 1865294 1865315 + Identifier 1865294 1865315 + UnionType 1865317 1865334 + TypeReference 1865317 1865322 + Identifier 1865317 1865322 + UndefinedKeyword 1865324 1865334 + Block 1865334 1865742 + VariableStatement 1865336 1865419 + VariableDeclarationList 1865336 1865418 + VariableDeclaration 1865351 1865418 + Identifier 1865351 1865359 + PrefixUnaryExpression 1865361 1865418 + PrefixUnaryExpression 1865363 1865418 + ParenthesizedExpression 1865364 1865418 + BinaryExpression 1865365 1865417 + CallExpression 1865365 1865395 + Identifier 1865365 1865381 + Identifier 1865382 1865394 + AmpersandToken 1865395 1865397 + PropertyAccessExpression 1865397 1865417 + Identifier 1865397 1865411 + Identifier 1865412 1865417 + VariableStatement 1865419 1865524 + VariableDeclarationList 1865419 1865523 + VariableDeclaration 1865434 1865523 + Identifier 1865434 1865455 + CallExpression 1865457 1865523 + Identifier 1865457 1865481 + Identifier 1865482 1865494 + Identifier 1865495 1865522 + IfStatement 1865524 1865706 + Identifier 1865538 1865558 + Block 1865559 1865706 + ReturnStatement 1865561 1865695 + BinaryExpression 1865581 1865694 + CallExpression 1865581 1865664 + Identifier 1865581 1865627 + Identifier 1865628 1865632 + Identifier 1865633 1865654 + Identifier 1865655 1865663 + BarBarToken 1865664 1865684 + Identifier 1865684 1865694 + ReturnStatement 1865706 1865735 + Identifier 1865724 1865734 + FunctionDeclaration 1865742 1867743 + Identifier 1865758 1865782 + Parameter 1865783 1865817 + Identifier 1865783 1865795 + TypeReference 1865796 1865817 + Identifier 1865796 1865817 + Parameter 1865818 1865857 + Identifier 1865818 1865831 + UnionType 1865832 1865857 + TypeReference 1865832 1865845 + Identifier 1865832 1865845 + UndefinedKeyword 1865847 1865857 + UnionType 1865859 1865876 + TypeReference 1865859 1865864 + Identifier 1865859 1865864 + UndefinedKeyword 1865866 1865876 + Block 1865876 1867743 + VariableStatement 1865878 1866182 + VariableDeclarationList 1865878 1866181 + VariableDeclaration 1866126 1866181 + Identifier 1866126 1866137 + CallExpression 1866139 1866181 + Identifier 1866139 1866167 + Identifier 1866168 1866180 + IfStatement 1866182 1866252 + Identifier 1866196 1866206 + Block 1866207 1866252 + ReturnStatement 1866209 1866241 + Identifier 1866229 1866240 + VariableStatement 1866252 1866617 + VariableDeclarationList 1866252 1866616 + VariableDeclaration 1866519 1866616 + Identifier 1866519 1866529 + CallExpression 1866531 1866616 + Identifier 1866531 1866580 + AsExpression 1866581 1866615 + Identifier 1866581 1866593 + TypeReference 1866596 1866615 + Identifier 1866596 1866615 + IfStatement 1866617 1867541 + BinaryExpression 1866631 1866688 + Identifier 1866631 1866640 + AmpersandAmpersandToken 1866640 1866643 + PrefixUnaryExpression 1866643 1866688 + CallExpression 1866645 1866688 + Identifier 1866645 1866677 + Identifier 1866678 1866687 + Block 1866689 1867541 + VariableStatement 1866691 1866760 + VariableDeclarationList 1866691 1866759 + VariableDeclaration 1866710 1866759 + Identifier 1866710 1866721 + CallExpression 1866723 1866759 + Identifier 1866723 1866748 + Identifier 1866749 1866758 + VariableStatement 1866760 1866827 + VariableDeclarationList 1866760 1866826 + VariableDeclaration 1866779 1866826 + Identifier 1866779 1866793 + CallExpression 1866795 1866826 + Identifier 1866795 1866812 + Identifier 1866813 1866825 + IfStatement 1866827 1867198 + BinaryExpression 1866845 1866884 + Identifier 1866845 1866858 + AmpersandToken 1866858 1866860 + PropertyAccessExpression 1866860 1866884 + Identifier 1866860 1866874 + Identifier 1866875 1866884 + Block 1866885 1867198 + ReturnStatement 1866887 1867183 + CallExpression 1866911 1867182 + Identifier 1866911 1866922 + Identifier 1866923 1866933 + ArrowFunction 1866934 1867181 + Parameter 1866934 1866936 + Identifier 1866934 1866936 + EqualsGreaterThanToken 1866936 1866939 + Block 1866939 1867181 + ReturnStatement 1866941 1867162 + BinaryExpression 1866969 1867161 + PrefixUnaryExpression 1866969 1867062 + PrefixUnaryExpression 1866971 1867062 + ParenthesizedExpression 1866972 1867062 + BinaryExpression 1866973 1867061 + PropertyAccessExpression 1866973 1866980 + Identifier 1866973 1866974 + Identifier 1866975 1866980 + AmpersandToken 1866980 1866982 + ParenthesizedExpression 1866982 1867061 + BinaryExpression 1866984 1867060 + BinaryExpression 1866984 1867023 + PropertyAccessExpression 1866984 1867006 + Identifier 1866984 1866993 + Identifier 1866994 1867006 + BarToken 1867006 1867008 + PropertyAccessExpression 1867008 1867023 + Identifier 1867008 1867018 + Identifier 1867019 1867023 + BarToken 1867023 1867025 + PropertyAccessExpression 1867025 1867060 + Identifier 1867025 1867035 + Identifier 1867036 1867060 + BarBarToken 1867062 1867065 + CallExpression 1867065 1867161 + Identifier 1867065 1867118 + Identifier 1867119 1867120 + Identifier 1867121 1867135 + Identifier 1867136 1867160 + IfStatement 1867198 1867498 + BinaryExpression 1867216 1867251 + Identifier 1867216 1867229 + AmpersandToken 1867229 1867231 + PropertyAccessExpression 1867231 1867251 + Identifier 1867231 1867245 + Identifier 1867246 1867251 + Block 1867252 1867498 + ReturnStatement 1867254 1867483 + CallExpression 1867278 1867482 + Identifier 1867278 1867289 + Identifier 1867290 1867300 + ArrowFunction 1867301 1867481 + Parameter 1867301 1867303 + Identifier 1867301 1867303 + EqualsGreaterThanToken 1867303 1867306 + Block 1867306 1867481 + ReturnStatement 1867308 1867462 + BinaryExpression 1867336 1867461 + PrefixUnaryExpression 1867336 1867429 + PrefixUnaryExpression 1867338 1867429 + ParenthesizedExpression 1867339 1867429 + BinaryExpression 1867340 1867428 + PropertyAccessExpression 1867340 1867347 + Identifier 1867340 1867341 + Identifier 1867342 1867347 + AmpersandToken 1867347 1867349 + ParenthesizedExpression 1867349 1867428 + BinaryExpression 1867351 1867427 + BinaryExpression 1867351 1867390 + PropertyAccessExpression 1867351 1867373 + Identifier 1867351 1867360 + Identifier 1867361 1867373 + BarToken 1867373 1867375 + PropertyAccessExpression 1867375 1867390 + Identifier 1867375 1867385 + Identifier 1867386 1867390 + BarToken 1867390 1867392 + PropertyAccessExpression 1867392 1867427 + Identifier 1867392 1867402 + Identifier 1867403 1867427 + BarBarToken 1867429 1867432 + PrefixUnaryExpression 1867432 1867461 + PrefixUnaryExpression 1867434 1867461 + CallExpression 1867435 1867461 + Identifier 1867435 1867458 + Identifier 1867459 1867460 + ReturnStatement 1867498 1867530 + Identifier 1867518 1867529 + VariableStatement 1867541 1867618 + VariableDeclarationList 1867541 1867617 + VariableDeclaration 1867556 1867617 + Identifier 1867556 1867561 + CallExpression 1867563 1867617 + Identifier 1867563 1867603 + Identifier 1867604 1867616 + IfStatement 1867618 1867709 + Identifier 1867632 1867636 + Block 1867637 1867709 + ReturnStatement 1867639 1867698 + CallExpression 1867659 1867697 + Identifier 1867659 1867677 + Identifier 1867678 1867682 + Identifier 1867683 1867696 + ReturnStatement 1867709 1867736 + Identifier 1867725 1867735 + FunctionDeclaration 1867743 1868306 + Identifier 1867898 1867927 + Parameter 1867928 1867958 + Identifier 1867928 1867938 + TypeReference 1867939 1867958 + Identifier 1867939 1867958 + Parameter 1867959 1867975 + Identifier 1867959 1867963 + TypeReference 1867964 1867975 + Identifier 1867964 1867975 + UnionType 1867977 1867994 + TypeReference 1867977 1867982 + Identifier 1867977 1867982 + UndefinedKeyword 1867984 1867994 + Block 1867994 1868306 + VariableStatement 1867996 1868057 + VariableDeclarationList 1867996 1868056 + VariableDeclaration 1868011 1868056 + Identifier 1868011 1868016 + CallExpression 1868018 1868056 + Identifier 1868018 1868044 + Identifier 1868045 1868055 + VariableStatement 1868057 1868102 + VariableDeclarationList 1868057 1868101 + VariableDeclaration 1868072 1868101 + Identifier 1868072 1868081 + CallExpression 1868083 1868101 + PropertyAccessExpression 1868083 1868096 + Identifier 1868083 1868088 + Identifier 1868089 1868096 + Identifier 1868097 1868100 + ReturnStatement 1868102 1868299 + ConditionalExpression 1868210 1868298 + BinaryExpression 1868210 1868226 + Identifier 1868210 1868219 + EqualsEqualsEqualsToken 1868219 1868223 + PrefixUnaryExpression 1868223 1868226 + NumericLiteral 1868225 1868226 + QuestionToken 1868226 1868228 + Identifier 1868228 1868238 + ColonToken 1868238 1868240 + CallExpression 1868240 1868298 + Identifier 1868240 1868276 + Identifier 1868277 1868287 + Identifier 1868288 1868297 + FunctionDeclaration 1868306 1869489 + Identifier 1868322 1868358 + Parameter 1868359 1868389 + Identifier 1868359 1868369 + TypeReference 1868370 1868389 + Identifier 1868370 1868389 + Parameter 1868390 1868407 + Identifier 1868390 1868399 + NumberKeyword 1868400 1868407 + TypeReference 1868409 1868414 + Identifier 1868409 1868414 + Block 1868414 1869489 + IfStatement 1868416 1868635 + CallExpression 1868430 1868454 + Identifier 1868430 1868442 + Identifier 1868443 1868453 + Block 1868455 1868635 + ReturnStatement 1868457 1868624 + ConditionalExpression 1868477 1868623 + BinaryExpression 1868477 1868492 + Identifier 1868477 1868486 + EqualsEqualsEqualsToken 1868486 1868490 + NumericLiteral 1868490 1868492 + QuestionToken 1868492 1868494 + Identifier 1868494 1868505 + ColonToken 1868505 1868507 + ConditionalExpression 1868507 1868623 + BinaryExpression 1868507 1868539 + Identifier 1868507 1868533 + EqualsEqualsEqualsToken 1868533 1868537 + NumericLiteral 1868537 1868539 + QuestionToken 1868539 1868541 + CallExpression 1868541 1868596 + Identifier 1868541 1868572 + FalseKeyword 1868573 1868595 + ColonToken 1868596 1868598 + Identifier 1868598 1868623 + VariableStatement 1868635 1868967 + VariableDeclarationList 1868635 1868966 + VariableDeclaration 1868832 1868966 + Identifier 1868832 1868842 + ConditionalExpression 1868844 1868966 + BinaryExpression 1868844 1868910 + PropertyAccessExpression 1868844 1868887 + CallExpression 1868844 1868869 + Identifier 1868844 1868857 + Identifier 1868858 1868868 + Identifier 1868870 1868887 + EqualsEqualsEqualsToken 1868887 1868891 + Identifier 1868891 1868910 + QuestionToken 1868910 1868912 + Identifier 1868912 1868931 + ColonToken 1868931 1868933 + CallExpression 1868933 1868966 + Identifier 1868933 1868954 + Identifier 1868955 1868965 + IfStatement 1868967 1869135 + BinaryExpression 1868983 1869036 + CallExpression 1868983 1869018 + Identifier 1868983 1869006 + Identifier 1869007 1869017 + AmpersandAmpersandToken 1869018 1869021 + BinaryExpression 1869021 1869036 + Identifier 1869021 1869030 + EqualsEqualsEqualsToken 1869030 1869034 + NumericLiteral 1869034 1869036 + Block 1869037 1869135 + ReturnStatement 1869039 1869124 + CallExpression 1869059 1869123 + Identifier 1869059 1869100 + Identifier 1869101 1869110 + Identifier 1869111 1869122 + VariableStatement 1869135 1869195 + VariableDeclarationList 1869135 1869194 + VariableDeclaration 1869150 1869194 + Identifier 1869150 1869160 + BinaryExpression 1869162 1869194 + PropertyAccessExpression 1869162 1869190 + PropertyAccessExpression 1869162 1869183 + Identifier 1869162 1869172 + Identifier 1869173 1869183 + Identifier 1869184 1869190 + MinusToken 1869190 1869192 + NumericLiteral 1869192 1869194 + ReturnStatement 1869195 1869482 + ConditionalExpression 1869211 1869481 + BinaryExpression 1869211 1869273 + CallExpression 1869211 1869248 + Identifier 1869211 1869237 + Identifier 1869238 1869247 + AmpersandAmpersandToken 1869248 1869251 + BinaryExpression 1869251 1869273 + Identifier 1869251 1869260 + GreaterThanEqualsToken 1869260 1869263 + Identifier 1869263 1869273 + QuestionToken 1869273 1869275 + CallExpression 1869275 1869427 + Identifier 1869275 1869309 + CallExpression 1869310 1869358 + Identifier 1869310 1869325 + ElementAccessExpression 1869326 1869357 + PropertyAccessExpression 1869326 1869346 + Identifier 1869326 1869335 + Identifier 1869336 1869346 + Identifier 1869347 1869356 + CallExpression 1869359 1869402 + Identifier 1869359 1869380 + BinaryExpression 1869381 1869401 + Identifier 1869381 1869389 + MinusToken 1869389 1869391 + Identifier 1869391 1869401 + PropertyAccessExpression 1869403 1869426 + Identifier 1869403 1869415 + Identifier 1869416 1869426 + ColonToken 1869427 1869429 + CallExpression 1869429 1869481 + Identifier 1869429 1869460 + Identifier 1869461 1869470 + Identifier 1869471 1869480 + FunctionDeclaration 1869489 1869730 + Identifier 1869505 1869535 + Parameter 1869536 1869556 + Identifier 1869536 1869545 + TypeReference 1869546 1869556 + Identifier 1869546 1869556 + UnionType 1869558 1869575 + TypeReference 1869558 1869563 + Identifier 1869558 1869563 + UndefinedKeyword 1869565 1869575 + Block 1869575 1869730 + VariableStatement 1869577 1869642 + VariableDeclarationList 1869577 1869641 + VariableDeclaration 1869592 1869641 + Identifier 1869592 1869602 + CallExpression 1869604 1869641 + Identifier 1869604 1869630 + Identifier 1869631 1869640 + ReturnStatement 1869642 1869723 + ConditionalExpression 1869658 1869722 + Identifier 1869658 1869668 + QuestionToken 1869668 1869670 + CallExpression 1869670 1869710 + Identifier 1869670 1869699 + Identifier 1869700 1869709 + ColonToken 1869710 1869712 + Identifier 1869712 1869722 + FunctionDeclaration 1869730 1870100 + Identifier 1869746 1869789 + Parameter 1869790 1869818 + Identifier 1869790 1869798 + TypeReference 1869799 1869818 + Identifier 1869799 1869818 + Parameter 1869819 1869854 + Identifier 1869819 1869842 + TypeReference 1869843 1869854 + Identifier 1869843 1869854 + Block 1869855 1870100 + IfStatement 1869857 1870064 + BinaryExpression 1869871 1869931 + PropertyAccessExpression 1869871 1869891 + PropertyAccessExpression 1869871 1869886 + Identifier 1869871 1869879 + Identifier 1869880 1869886 + Identifier 1869887 1869891 + EqualsEqualsEqualsToken 1869891 1869895 + PropertyAccessExpression 1869895 1869931 + Identifier 1869895 1869906 + Identifier 1869907 1869931 + Block 1869932 1870064 + ReturnStatement 1869934 1870053 + CallExpression 1869954 1870052 + Identifier 1869954 1869983 + AsExpression 1869984 1870027 + PropertyAccessExpression 1869984 1869999 + Identifier 1869984 1869992 + Identifier 1869993 1869999 + TypeReference 1870002 1870027 + Identifier 1870002 1870027 + Identifier 1870028 1870051 + ReturnStatement 1870064 1870093 + Identifier 1870082 1870092 + FunctionDeclaration 1870100 1871904 + Identifier 1870116 1870150 + Parameter 1870151 1870167 + Identifier 1870151 1870155 + TypeReference 1870156 1870167 + Identifier 1870156 1870167 + Parameter 1870168 1870207 + Identifier 1870168 1870181 + UnionType 1870182 1870207 + TypeReference 1870182 1870195 + Identifier 1870182 1870195 + UndefinedKeyword 1870197 1870207 + UnionType 1870209 1870226 + TypeReference 1870209 1870214 + Identifier 1870209 1870214 + UndefinedKeyword 1870216 1870226 + Block 1870226 1871904 + VariableStatement 1870228 1870295 + VariableDeclarationList 1870228 1870294 + VariableDeclaration 1870243 1870294 + Identifier 1870243 1870260 + AsExpression 1870262 1870294 + PropertyAccessExpression 1870262 1870274 + Identifier 1870262 1870267 + Identifier 1870268 1870274 + TypeReference 1870277 1870294 + Identifier 1870277 1870294 + VariableStatement 1870295 1870361 + VariableDeclarationList 1870295 1870360 + VariableDeclaration 1870310 1870360 + ObjectBindingPattern 1870310 1870341 + BindingElement 1870312 1870317 + Identifier 1870312 1870317 + BindingElement 1870318 1870332 + Identifier 1870318 1870332 + BindingElement 1870333 1870339 + Identifier 1870333 1870339 + Identifier 1870343 1870360 + SwitchStatement 1870361 1871897 + PropertyAccessExpression 1870379 1870397 + Identifier 1870379 1870392 + Identifier 1870393 1870397 + CaseBlock 1870398 1871897 + CaseClause 1870400 1870442 + PropertyAccessExpression 1870418 1870441 + Identifier 1870418 1870429 + Identifier 1870430 1870441 + CaseClause 1870442 1870502 + PropertyAccessExpression 1870460 1870501 + Identifier 1870460 1870471 + Identifier 1870472 1870501 + CaseClause 1870502 1870550 + PropertyAccessExpression 1870520 1870549 + Identifier 1870520 1870531 + Identifier 1870532 1870549 + CaseClause 1870550 1870722 + PropertyAccessExpression 1870568 1870607 + Identifier 1870568 1870579 + Identifier 1870580 1870607 + ReturnStatement 1870608 1870722 + ConditionalExpression 1870632 1870721 + BinaryExpression 1870632 1870647 + Identifier 1870632 1870637 + EqualsEqualsEqualsToken 1870637 1870641 + Identifier 1870641 1870647 + QuestionToken 1870647 1870649 + CallExpression 1870649 1870709 + Identifier 1870649 1870691 + Identifier 1870692 1870708 + ColonToken 1870709 1870711 + Identifier 1870711 1870721 + CaseClause 1870722 1870764 + PropertyAccessExpression 1870740 1870763 + Identifier 1870740 1870751 + Identifier 1870752 1870763 + CaseClause 1870764 1871630 + PropertyAccessExpression 1870782 1870815 + Identifier 1870782 1870793 + Identifier 1870794 1870815 + VariableStatement 1870816 1871447 + VariableDeclarationList 1870816 1871446 + VariableDeclaration 1871389 1871446 + Identifier 1871389 1871394 + CallExpression 1871396 1871446 + Identifier 1871396 1871414 + Identifier 1871415 1871431 + Identifier 1871432 1871445 + ReturnStatement 1871447 1871630 + ConditionalExpression 1871471 1871629 + BinaryExpression 1871471 1871573 + BinaryExpression 1871471 1871486 + Identifier 1871471 1871476 + EqualsEqualsEqualsToken 1871476 1871480 + Identifier 1871480 1871486 + AmpersandAmpersandToken 1871486 1871489 + ParenthesizedExpression 1871489 1871573 + BinaryExpression 1871491 1871572 + BinaryExpression 1871491 1871511 + Identifier 1871491 1871495 + AmpersandAmpersandToken 1871495 1871498 + PropertyAccessExpression 1871498 1871511 + Identifier 1871498 1871503 + Identifier 1871504 1871511 + BarBarToken 1871511 1871514 + BinaryExpression 1871514 1871572 + PrefixUnaryExpression 1871514 1871520 + Identifier 1871516 1871520 + AmpersandAmpersandToken 1871520 1871523 + PrefixUnaryExpression 1871523 1871572 + CallExpression 1871525 1871572 + Identifier 1871525 1871554 + Identifier 1871555 1871571 + QuestionToken 1871573 1871575 + CallExpression 1871575 1871622 + Identifier 1871575 1871616 + Identifier 1871617 1871621 + ColonToken 1871622 1871624 + Identifier 1871624 1871629 + CaseClause 1871630 1871684 + PropertyAccessExpression 1871648 1871683 + Identifier 1871648 1871659 + Identifier 1871660 1871683 + CaseClause 1871684 1871829 + PropertyAccessExpression 1871702 1871724 + Identifier 1871702 1871713 + Identifier 1871714 1871724 + ReturnStatement 1871725 1871829 + ConditionalExpression 1871749 1871828 + BinaryExpression 1871749 1871764 + Identifier 1871749 1871754 + EqualsEqualsEqualsToken 1871754 1871758 + Identifier 1871758 1871764 + QuestionToken 1871764 1871766 + CallExpression 1871766 1871816 + Identifier 1871766 1871784 + Identifier 1871785 1871801 + Identifier 1871802 1871815 + ColonToken 1871816 1871818 + Identifier 1871818 1871828 + DefaultClause 1871829 1871886 + ReturnStatement 1871851 1871886 + Identifier 1871875 1871885 + FunctionDeclaration 1871904 1873347 + Identifier 1872116 1872139 + Parameter 1872140 1872153 + Identifier 1872140 1872141 + TypeReference 1872142 1872153 + Identifier 1872142 1872153 + Block 1872154 1873347 + IfStatement 1872156 1872242 + BinaryExpression 1872170 1872198 + CallExpression 1872170 1872186 + Identifier 1872170 1872183 + Identifier 1872184 1872185 + AmpersandAmpersandToken 1872186 1872189 + PropertyAccessExpression 1872189 1872198 + Identifier 1872189 1872191 + Identifier 1872192 1872198 + Block 1872199 1872242 + ReturnStatement 1872201 1872231 + PropertyAccessExpression 1872221 1872230 + Identifier 1872221 1872223 + Identifier 1872224 1872230 + IfStatement 1872242 1872327 + CallExpression 1872256 1872271 + Identifier 1872256 1872268 + Identifier 1872269 1872270 + Block 1872272 1872327 + ReturnStatement 1872274 1872316 + CallExpression 1872294 1872315 + Identifier 1872294 1872312 + Identifier 1872313 1872314 + IfStatement 1872327 1872603 + CallExpression 1872341 1872370 + Identifier 1872341 1872367 + Identifier 1872368 1872369 + Block 1872371 1872603 + VariableStatement 1872373 1872437 + VariableDeclarationList 1872373 1872436 + VariableDeclaration 1872392 1872436 + Identifier 1872392 1872400 + CallExpression 1872402 1872436 + Identifier 1872402 1872422 + PropertyAccessExpression 1872423 1872435 + Identifier 1872423 1872424 + Identifier 1872425 1872435 + ReturnStatement 1872437 1872592 + ConditionalExpression 1872457 1872591 + CallExpression 1872457 1872485 + Identifier 1872457 1872477 + PropertyAccessExpression 1872478 1872484 + Identifier 1872478 1872479 + Identifier 1872480 1872484 + QuestionToken 1872485 1872487 + CallExpression 1872487 1872542 + Identifier 1872487 1872525 + Identifier 1872526 1872533 + PropertyAccessExpression 1872534 1872541 + Identifier 1872534 1872536 + Identifier 1872537 1872541 + ColonToken 1872542 1872544 + CallExpression 1872544 1872591 + Identifier 1872544 1872562 + Identifier 1872563 1872570 + PropertyAccessExpression 1872571 1872590 + PropertyAccessExpression 1872571 1872578 + Identifier 1872571 1872573 + Identifier 1872574 1872578 + Identifier 1872579 1872590 + IfStatement 1872603 1872989 + CallExpression 1872617 1872645 + Identifier 1872617 1872642 + Identifier 1872643 1872644 + Block 1872646 1872989 + VariableStatement 1872648 1872723 + VariableDeclarationList 1872648 1872722 + VariableDeclaration 1872667 1872722 + Identifier 1872667 1872676 + CallExpression 1872678 1872722 + Identifier 1872678 1872700 + PropertyAccessExpression 1872701 1872721 + Identifier 1872701 1872702 + Identifier 1872703 1872721 + IfStatement 1872723 1872831 + PrefixUnaryExpression 1872741 1872778 + CallExpression 1872742 1872778 + Identifier 1872742 1872768 + Identifier 1872769 1872777 + Block 1872779 1872831 + ReturnStatement 1872781 1872816 + Identifier 1872805 1872815 + VariableStatement 1872831 1872895 + VariableDeclarationList 1872831 1872894 + VariableDeclaration 1872850 1872894 + Identifier 1872850 1872858 + CallExpression 1872860 1872894 + Identifier 1872860 1872880 + PropertyAccessExpression 1872881 1872893 + Identifier 1872881 1872882 + Identifier 1872883 1872893 + ReturnStatement 1872895 1872978 + CallExpression 1872915 1872977 + Identifier 1872915 1872933 + Identifier 1872934 1872941 + CallExpression 1872942 1872976 + Identifier 1872942 1872966 + Identifier 1872967 1872975 + ReturnStatement 1872989 1873016 + Identifier 1873005 1873015 + FunctionDeclaration 1873016 1873340 + Identifier 1873036 1873074 + Parameter 1873075 1873085 + Identifier 1873075 1873079 + TypeReference 1873080 1873085 + Identifier 1873080 1873085 + Parameter 1873086 1873108 + Identifier 1873086 1873089 + TypeReference 1873090 1873108 + Identifier 1873090 1873108 + Block 1873109 1873340 + VariableStatement 1873111 1873219 + VariableDeclarationList 1873111 1873218 + VariableDeclaration 1873130 1873218 + Identifier 1873130 1873152 + CallExpression 1873154 1873218 + Identifier 1873154 1873198 + PropertyAccessExpression 1873199 1873213 + Identifier 1873199 1873201 + Identifier 1873202 1873213 + Identifier 1873214 1873217 + ReturnStatement 1873219 1873329 + BinaryExpression 1873239 1873328 + Identifier 1873239 1873261 + AmpersandAmpersandToken 1873261 1873264 + CallExpression 1873264 1873328 + Identifier 1873264 1873299 + Identifier 1873300 1873304 + Identifier 1873305 1873327 + FunctionDeclaration 1873347 1878486 + Identifier 1873623 1873665 + Parameter 1873666 1873700 + Identifier 1873666 1873682 + TypeReference 1873683 1873700 + Identifier 1873683 1873700 + UnionType 1873702 1873719 + TypeReference 1873702 1873707 + Identifier 1873702 1873707 + UndefinedKeyword 1873709 1873719 + Block 1873719 1878486 + VariableStatement 1873721 1873791 + VariableDeclarationList 1873721 1873790 + VariableDeclaration 1873736 1873790 + Identifier 1873736 1873741 + CallExpression 1873743 1873790 + Identifier 1873743 1873772 + Identifier 1873773 1873789 + SwitchStatement 1873791 1878479 + Identifier 1873809 1873813 + CaseBlock 1873814 1878479 + CaseClause 1873816 1873866 + PropertyAccessExpression 1873834 1873865 + Identifier 1873834 1873860 + Identifier 1873861 1873865 + CaseClause 1873866 1875065 + PropertyAccessExpression 1873884 1873923 + Identifier 1873884 1873910 + Identifier 1873911 1873923 + VariableStatement 1873924 1874006 + VariableDeclarationList 1873924 1874005 + VariableDeclaration 1873947 1874005 + Identifier 1873947 1873957 + CallExpression 1873959 1874005 + Identifier 1873959 1873982 + PropertyAccessExpression 1873983 1874004 + Identifier 1873983 1873999 + Identifier 1874000 1874004 + VariableStatement 1874006 1874077 + VariableDeclarationList 1874006 1874076 + VariableDeclaration 1874029 1874076 + Identifier 1874029 1874034 + BinaryExpression 1874036 1874076 + Identifier 1874036 1874046 + AmpersandAmpersandToken 1874046 1874049 + PropertyAccessExpression 1874049 1874076 + Identifier 1874049 1874059 + Identifier 1874060 1874076 + IfStatement 1874077 1874824 + BinaryExpression 1874374 1874440 + Identifier 1874374 1874378 + AmpersandAmpersandToken 1874378 1874381 + ParenthesizedExpression 1874381 1874440 + BinaryExpression 1874383 1874439 + CallExpression 1874383 1874410 + Identifier 1874383 1874404 + Identifier 1874405 1874409 + BarBarToken 1874410 1874413 + CallExpression 1874413 1874439 + Identifier 1874413 1874433 + Identifier 1874434 1874438 + Block 1874441 1874824 + VariableStatement 1874443 1874528 + VariableDeclarationList 1874443 1874527 + VariableDeclaration 1874470 1874527 + Identifier 1874470 1874488 + CallExpression 1874490 1874527 + Identifier 1874490 1874521 + Identifier 1874522 1874526 + ReturnStatement 1874528 1874805 + BinaryExpression 1874556 1874804 + ParenthesizedExpression 1874556 1874669 + BinaryExpression 1874558 1874668 + Identifier 1874558 1874575 + AmpersandAmpersandToken 1874575 1874578 + CallExpression 1874578 1874668 + Identifier 1874578 1874594 + CallExpression 1874595 1874633 + Identifier 1874595 1874614 + Identifier 1874615 1874632 + PropertyAccessExpression 1874634 1874667 + CallExpression 1874634 1874660 + Identifier 1874634 1874649 + Identifier 1874650 1874659 + Identifier 1874661 1874667 + BarBarToken 1874669 1874672 + ParenthesizedExpression 1874672 1874804 + ConditionalExpression 1874699 1874803 + CallExpression 1874699 1874726 + Identifier 1874699 1874720 + Identifier 1874721 1874725 + QuestionToken 1874726 1874728 + BinaryExpression 1874728 1874791 + PropertyAccessExpression 1874728 1874745 + Identifier 1874728 1874733 + Identifier 1874734 1874745 + AmpersandAmpersandToken 1874745 1874748 + CallExpression 1874748 1874791 + Identifier 1874748 1874768 + PropertyAccessExpression 1874769 1874790 + Identifier 1874769 1874785 + Identifier 1874786 1874790 + ColonToken 1874791 1874793 + Identifier 1874793 1874803 + IfStatement 1874824 1874979 + BinaryExpression 1874846 1874885 + Identifier 1874846 1874850 + EqualsEqualsEqualsToken 1874850 1874854 + PropertyAccessExpression 1874854 1874885 + Identifier 1874854 1874880 + Identifier 1874881 1874885 + Block 1874886 1874979 + ReturnStatement 1874888 1874960 + CallExpression 1874916 1874959 + Identifier 1874916 1874936 + PropertyAccessExpression 1874937 1874958 + Identifier 1874937 1874953 + Identifier 1874954 1874958 + ReturnStatement 1874979 1875065 + CallExpression 1875003 1875064 + Identifier 1875003 1875046 + Identifier 1875047 1875063 + CaseClause 1875065 1877325 + PropertyAccessExpression 1875083 1875118 + Identifier 1875083 1875109 + Identifier 1875110 1875118 + IfStatement 1875119 1877325 + CallExpression 1875141 1875194 + Identifier 1875141 1875170 + Identifier 1875171 1875187 + Identifier 1875188 1875193 + Block 1875195 1875306 + ReturnStatement 1875197 1875287 + CallExpression 1875225 1875286 + Identifier 1875225 1875268 + Identifier 1875269 1875285 + IfStatement 1875559 1877325 + BinaryExpression 1875564 1875634 + PrefixUnaryExpression 1875564 1875601 + CallExpression 1875565 1875601 + Identifier 1875565 1875578 + PropertyAccessExpression 1875579 1875600 + Identifier 1875579 1875595 + Identifier 1875596 1875600 + BarBarToken 1875601 1875604 + PrefixUnaryExpression 1875604 1875634 + PropertyAccessExpression 1875606 1875634 + PropertyAccessExpression 1875606 1875627 + Identifier 1875606 1875622 + Identifier 1875623 1875627 + Identifier 1875628 1875634 + Block 1875635 1875728 + ReturnStatement 1875637 1875709 + CallExpression 1875665 1875708 + Identifier 1875665 1875685 + PropertyAccessExpression 1875686 1875707 + Identifier 1875686 1875702 + Identifier 1875703 1875707 + Block 1875750 1877325 + VariableStatement 1875752 1875833 + VariableDeclarationList 1875752 1875832 + VariableDeclaration 1875779 1875832 + Identifier 1875779 1875784 + PropertyAccessExpression 1875786 1875832 + PropertyAccessExpression 1875786 1875815 + PropertyAccessExpression 1875786 1875808 + Identifier 1875786 1875803 + Identifier 1875804 1875808 + Identifier 1875809 1875815 + Identifier 1875816 1875832 + IfStatement 1875833 1875933 + PrefixUnaryExpression 1875859 1875864 + Identifier 1875860 1875864 + Block 1875865 1875933 + ReturnStatement 1875867 1875910 + Identifier 1875899 1875909 + VariableStatement 1875933 1876015 + VariableDeclarationList 1875933 1876014 + VariableDeclaration 1875960 1876014 + Identifier 1875960 1875964 + CallExpression 1875966 1876014 + Identifier 1875966 1875971 + PropertyAccessExpression 1875972 1875993 + Identifier 1875972 1875988 + Identifier 1875989 1875993 + Identifier 1875994 1876013 + VariableStatement 1876015 1876100 + VariableDeclarationList 1876015 1876099 + VariableDeclaration 1876042 1876099 + Identifier 1876042 1876060 + CallExpression 1876062 1876099 + Identifier 1876062 1876093 + Identifier 1876094 1876098 + IfStatement 1876100 1877169 + Identifier 1876126 1876143 + Block 1876144 1876241 + ReturnStatement 1876146 1876218 + CallExpression 1876178 1876217 + Identifier 1876178 1876198 + Identifier 1876199 1876216 + IfStatement 1876267 1877169 + CallExpression 1876272 1876300 + Identifier 1876272 1876284 + PropertyAccessExpression 1876285 1876299 + Identifier 1876285 1876288 + Identifier 1876289 1876299 + Block 1876301 1877169 + VariableStatement 1876303 1876355 + VariableDeclarationList 1876303 1876354 + VariableDeclaration 1876334 1876354 + Identifier 1876334 1876337 + PropertyAccessExpression 1876339 1876354 + Identifier 1876339 1876343 + Identifier 1876344 1876354 + VariableStatement 1876355 1876504 + VariableDeclarationList 1876355 1876503 + VariableDeclaration 1876386 1876503 + Identifier 1876386 1876399 + CallExpression 1876401 1876503 + Identifier 1876401 1876413 + Identifier 1876414 1876416 + PropertyAccessExpression 1876417 1876432 + Identifier 1876417 1876420 + Identifier 1876421 1876432 + PropertyAccessExpression 1876433 1876451 + Identifier 1876433 1876445 + Identifier 1876446 1876451 + Identifier 1876452 1876486 + TrueKeyword 1876487 1876502 + IfStatement 1876504 1877146 + Identifier 1876534 1876546 + Block 1876547 1877146 + VariableStatement 1876549 1876692 + VariableDeclarationList 1876549 1876691 + VariableDeclaration 1876584 1876691 + Identifier 1876584 1876594 + BinaryExpression 1876596 1876691 + PropertyAccessExpression 1876596 1876626 + Identifier 1876596 1876609 + Identifier 1876610 1876626 + AmpersandAmpersandToken 1876626 1876629 + CallExpression 1876629 1876691 + Identifier 1876629 1876660 + PropertyAccessExpression 1876661 1876690 + Identifier 1876661 1876673 + Identifier 1876674 1876690 + IfStatement 1876692 1877072 + Identifier 1876726 1876735 + Block 1876736 1877072 + VariableStatement 1876738 1876824 + VariableDeclarationList 1876738 1876823 + VariableDeclaration 1876777 1876823 + Identifier 1876777 1876785 + CallExpression 1876787 1876823 + Identifier 1876787 1876818 + Identifier 1876819 1876822 + IfStatement 1876824 1877041 + BinaryExpression 1876862 1876883 + Identifier 1876862 1876869 + ExclamationEqualsEqualsToken 1876869 1876873 + Identifier 1876873 1876883 + Block 1876884 1877041 + ReturnStatement 1876886 1877006 + CallExpression 1876930 1877005 + Identifier 1876930 1876964 + CallExpression 1876965 1876995 + Identifier 1876965 1876984 + Identifier 1876985 1876994 + Identifier 1876996 1877004 + ReturnStatement 1877072 1877119 + Identifier 1877108 1877118 + ReturnStatement 1877169 1877306 + ConditionalExpression 1877197 1877305 + BinaryExpression 1877197 1877248 + CallExpression 1877197 1877214 + Identifier 1877197 1877208 + Identifier 1877209 1877213 + BarBarToken 1877214 1877217 + BinaryExpression 1877217 1877248 + Identifier 1877217 1877222 + EqualsEqualsEqualsToken 1877222 1877226 + PropertyAccessExpression 1877226 1877248 + Identifier 1877226 1877243 + Identifier 1877244 1877248 + QuestionToken 1877248 1877250 + Identifier 1877250 1877260 + ColonToken 1877260 1877262 + CallExpression 1877262 1877305 + Identifier 1877262 1877282 + PropertyAccessExpression 1877283 1877304 + Identifier 1877283 1877299 + Identifier 1877300 1877304 + CaseClause 1877325 1877386 + PropertyAccessExpression 1877343 1877385 + Identifier 1877343 1877369 + Identifier 1877370 1877385 + CaseClause 1877386 1877441 + PropertyAccessExpression 1877404 1877440 + Identifier 1877404 1877430 + Identifier 1877431 1877440 + CaseClause 1877441 1877504 + PropertyAccessExpression 1877459 1877503 + Identifier 1877459 1877485 + Identifier 1877486 1877503 + CaseClause 1877504 1878124 + PropertyAccessExpression 1877522 1877562 + Identifier 1877522 1877548 + Identifier 1877549 1877562 + VariableStatement 1877563 1877627 + VariableDeclarationList 1877563 1877626 + VariableDeclaration 1877584 1877626 + Identifier 1877584 1877601 + UnionType 1877602 1877626 + TypeReference 1877602 1877614 + Identifier 1877602 1877614 + UndefinedKeyword 1877616 1877626 + IfStatement 1877627 1877858 + BinaryExpression 1877649 1877697 + Identifier 1877649 1877653 + ExclamationEqualsEqualsToken 1877653 1877657 + PropertyAccessExpression 1877657 1877697 + Identifier 1877657 1877683 + Identifier 1877684 1877697 + Block 1877698 1877858 + ExpressionStatement 1877700 1877839 + BinaryExpression 1877700 1877838 + Identifier 1877700 1877738 + EqualsToken 1877738 1877740 + ConditionalExpression 1877740 1877838 + CallExpression 1877740 1877777 + Identifier 1877740 1877754 + PropertyAccessExpression 1877755 1877776 + Identifier 1877755 1877771 + Identifier 1877772 1877776 + QuestionToken 1877777 1877779 + PropertyAccessExpression 1877779 1877826 + PropertyAccessExpression 1877779 1877808 + PropertyAccessExpression 1877779 1877801 + Identifier 1877779 1877796 + Identifier 1877797 1877801 + Identifier 1877802 1877808 + QuestionDotToken 1877808 1877810 + Identifier 1877810 1877826 + ColonToken 1877826 1877828 + Identifier 1877828 1877838 + ExpressionStatement 1877858 1877939 + BinaryExpression 1877858 1877938 + Identifier 1877858 1877892 + BarBarEqualsToken 1877892 1877896 + PropertyAccessExpression 1877896 1877938 + PropertyAccessExpression 1877896 1877920 + Identifier 1877896 1877913 + Identifier 1877914 1877920 + QuestionDotToken 1877920 1877922 + Identifier 1877922 1877938 + VariableStatement 1877939 1878044 + VariableDeclarationList 1877939 1878043 + VariableDeclaration 1877962 1878043 + Identifier 1877962 1877972 + BinaryExpression 1877974 1878043 + Identifier 1877974 1877991 + AmpersandAmpersandToken 1877991 1877994 + CallExpression 1877994 1878043 + Identifier 1877994 1878025 + Identifier 1878026 1878042 + ReturnStatement 1878044 1878124 + ConditionalExpression 1878068 1878123 + Identifier 1878068 1878078 + QuestionToken 1878078 1878080 + CallExpression 1878080 1878111 + Identifier 1878080 1878100 + Identifier 1878101 1878110 + ColonToken 1878111 1878113 + Identifier 1878113 1878123 + CaseClause 1878124 1878195 + PropertyAccessExpression 1878142 1878194 + Identifier 1878142 1878168 + Identifier 1878169 1878194 + CaseClause 1878195 1878268 + PropertyAccessExpression 1878213 1878267 + Identifier 1878213 1878239 + Identifier 1878240 1878267 + CaseClause 1878268 1878397 + PropertyAccessExpression 1878286 1878342 + Identifier 1878286 1878312 + Identifier 1878313 1878342 + ReturnStatement 1878343 1878397 + CallExpression 1878367 1878396 + PropertyAccessExpression 1878367 1878378 + Identifier 1878367 1878373 + Identifier 1878374 1878378 + StringLiteral 1878379 1878395 + DefaultClause 1878397 1878468 + ReturnStatement 1878419 1878468 + CallExpression 1878443 1878467 + PropertyAccessExpression 1878443 1878461 + Identifier 1878443 1878449 + Identifier 1878450 1878461 + Identifier 1878462 1878466 + FunctionDeclaration 1878486 1879246 + Identifier 1878502 1878532 + Parameter 1878533 1878562 + Identifier 1878533 1878544 + TypeReference 1878545 1878562 + Identifier 1878545 1878562 + Parameter 1878563 1878612 + Identifier 1878563 1878568 + CallExpression 1878570 1878612 + Identifier 1878570 1878599 + Identifier 1878600 1878611 + Block 1878613 1879246 + IfStatement 1878615 1878716 + BinaryExpression 1878629 1878676 + Identifier 1878629 1878633 + EqualsEqualsEqualsToken 1878633 1878637 + PropertyAccessExpression 1878637 1878676 + Identifier 1878637 1878663 + Identifier 1878664 1878676 + Block 1878677 1878716 + ReturnStatement 1878679 1878705 + TrueKeyword 1878699 1878704 + IfStatement 1878716 1878910 + BinaryExpression 1878730 1878869 + BinaryExpression 1878730 1878801 + PrefixUnaryExpression 1878730 1878754 + CallExpression 1878731 1878754 + Identifier 1878731 1878741 + Identifier 1878742 1878753 + BarBarToken 1878754 1878757 + BinaryExpression 1878757 1878801 + Identifier 1878757 1878762 + ExclamationEqualsEqualsToken 1878762 1878766 + PropertyAccessExpression 1878766 1878801 + Identifier 1878766 1878792 + Identifier 1878793 1878801 + BarBarToken 1878801 1878804 + PrefixUnaryExpression 1878804 1878869 + CallExpression 1878806 1878869 + Identifier 1878806 1878818 + PropertyAccessExpression 1878819 1878868 + ParenthesizedExpression 1878819 1878857 + AsExpression 1878820 1878856 + PropertyAccessExpression 1878820 1878836 + Identifier 1878820 1878831 + Identifier 1878832 1878836 + TypeReference 1878839 1878856 + Identifier 1878839 1878856 + Identifier 1878858 1878868 + Block 1878870 1878910 + ReturnStatement 1878872 1878899 + FalseKeyword 1878892 1878898 + VariableStatement 1878910 1879011 + VariableDeclarationList 1878910 1879010 + VariableDeclaration 1878925 1879010 + Identifier 1878925 1878930 + PropertyAccessExpression 1878932 1879010 + ParenthesizedExpression 1878932 1878998 + AsExpression 1878934 1878997 + PropertyAccessExpression 1878934 1878983 + ParenthesizedExpression 1878934 1878972 + AsExpression 1878935 1878971 + PropertyAccessExpression 1878935 1878951 + Identifier 1878935 1878946 + Identifier 1878947 1878951 + TypeReference 1878954 1878971 + Identifier 1878954 1878971 + Identifier 1878973 1878983 + TypeReference 1878986 1878997 + Identifier 1878986 1878997 + Identifier 1878999 1879010 + VariableStatement 1879011 1879167 + VariableDeclarationList 1879011 1879166 + VariableDeclaration 1879026 1879166 + Identifier 1879026 1879033 + CallExpression 1879035 1879166 + Identifier 1879035 1879047 + PropertyAccessExpression 1879048 1879064 + Identifier 1879048 1879059 + Identifier 1879060 1879064 + Identifier 1879065 1879070 + PropertyAccessExpression 1879071 1879089 + Identifier 1879071 1879083 + Identifier 1879084 1879089 + Identifier 1879090 1879124 + TrueKeyword 1879125 1879140 + TrueKeyword 1879141 1879165 + ReturnStatement 1879167 1879239 + CallExpression 1879183 1879238 + Identifier 1879183 1879212 + PropertyAccessExpression 1879213 1879237 + Identifier 1879213 1879219 + QuestionDotToken 1879219 1879221 + Identifier 1879221 1879237 + FunctionDeclaration 1879246 1880343 + Identifier 1879262 1879305 + Parameter 1879306 1879340 + Identifier 1879306 1879322 + TypeReference 1879323 1879340 + Identifier 1879323 1879340 + UnionType 1879342 1879359 + TypeReference 1879342 1879347 + Identifier 1879342 1879347 + UndefinedKeyword 1879349 1879359 + Block 1879359 1880343 + IfStatement 1879361 1879451 + PrefixUnaryExpression 1879375 1879399 + PropertyAccessExpression 1879376 1879399 + Identifier 1879376 1879392 + Identifier 1879393 1879399 + ReturnStatement 1879400 1879451 + CallExpression 1879407 1879450 + Identifier 1879407 1879427 + PropertyAccessExpression 1879428 1879449 + Identifier 1879428 1879444 + Identifier 1879445 1879449 + IfStatement 1879451 1879813 + PropertyAccessExpression 1879465 1879505 + PropertyAccessExpression 1879465 1879488 + Identifier 1879465 1879481 + Identifier 1879482 1879488 + Identifier 1879489 1879505 + Block 1879506 1879813 + VariableStatement 1879508 1879613 + VariableDeclarationList 1879508 1879612 + VariableDeclaration 1879527 1879612 + Identifier 1879527 1879537 + CallExpression 1879539 1879612 + Identifier 1879539 1879570 + PropertyAccessExpression 1879571 1879611 + PropertyAccessExpression 1879571 1879594 + Identifier 1879571 1879587 + Identifier 1879588 1879594 + Identifier 1879595 1879611 + IfStatement 1879613 1879802 + Identifier 1879631 1879640 + Block 1879641 1879802 + VariableStatement 1879643 1879705 + VariableDeclarationList 1879643 1879704 + VariableDeclaration 1879666 1879704 + Identifier 1879666 1879671 + CallExpression 1879673 1879704 + Identifier 1879673 1879693 + Identifier 1879694 1879703 + IfStatement 1879705 1879787 + Identifier 1879727 1879731 + Block 1879732 1879787 + ReturnStatement 1879734 1879768 + Identifier 1879762 1879767 + VariableStatement 1879813 1879890 + VariableDeclarationList 1879813 1879889 + VariableDeclaration 1879828 1879889 + Identifier 1879828 1879839 + CallExpression 1879841 1879889 + Identifier 1879841 1879846 + PropertyAccessExpression 1879847 1879868 + Identifier 1879847 1879863 + Identifier 1879864 1879868 + Identifier 1879869 1879888 + IfStatement 1879890 1880089 + PrefixUnaryExpression 1879904 1880044 + CallExpression 1879905 1880044 + Identifier 1879905 1879926 + CallExpression 1879927 1880043 + Identifier 1879927 1879943 + PropertyAccessExpression 1879944 1879965 + Identifier 1879944 1879954 + Identifier 1879955 1879965 + FalseKeyword 1879966 1879998 + FalseKeyword 1879999 1880042 + Block 1880045 1880089 + ReturnStatement 1880047 1880078 + Identifier 1880067 1880077 + VariableStatement 1880089 1880159 + VariableDeclarationList 1880089 1880158 + VariableDeclaration 1880104 1880158 + Identifier 1880104 1880113 + CallExpression 1880115 1880158 + Identifier 1880115 1880135 + PropertyAccessExpression 1880136 1880157 + Identifier 1880136 1880146 + Identifier 1880147 1880157 + VariableStatement 1880159 1880228 + VariableDeclarationList 1880159 1880227 + VariableDeclaration 1880174 1880227 + Identifier 1880174 1880182 + CallExpression 1880184 1880227 + Identifier 1880184 1880215 + Identifier 1880216 1880226 + ReturnStatement 1880228 1880336 + BinaryExpression 1880244 1880335 + BinaryExpression 1880244 1880322 + BinaryExpression 1880244 1880266 + Identifier 1880244 1880252 + ExclamationEqualsEqualsToken 1880252 1880256 + Identifier 1880256 1880266 + AmpersandAmpersandToken 1880266 1880269 + CallExpression 1880269 1880322 + Identifier 1880269 1880303 + Identifier 1880304 1880312 + Identifier 1880313 1880321 + BarBarToken 1880322 1880325 + Identifier 1880325 1880335 + FunctionDeclaration 1880343 1880587 + Identifier 1880359 1880384 + Parameter 1880385 1880399 + Identifier 1880385 1880391 + TypeReference 1880392 1880399 + Identifier 1880392 1880399 + Block 1880400 1880587 + ReturnStatement 1880402 1880580 + PrefixUnaryExpression 1880418 1880579 + PrefixUnaryExpression 1880420 1880579 + ParenthesizedExpression 1880421 1880579 + BinaryExpression 1880422 1880578 + BinaryExpression 1880422 1880503 + BinaryExpression 1880422 1880463 + CallExpression 1880422 1880443 + Identifier 1880422 1880435 + Identifier 1880436 1880442 + AmpersandToken 1880443 1880445 + PropertyAccessExpression 1880445 1880463 + Identifier 1880445 1880456 + Identifier 1880457 1880463 + AmpersandAmpersandToken 1880463 1880466 + PrefixUnaryExpression 1880466 1880503 + PropertyAccessExpression 1880468 1880503 + PropertyAccessExpression 1880468 1880498 + ParenthesizedExpression 1880468 1880492 + AsExpression 1880469 1880491 + Identifier 1880469 1880475 + TypeReference 1880478 1880491 + Identifier 1880478 1880491 + Identifier 1880493 1880498 + Identifier 1880499 1880503 + AmpersandAmpersandToken 1880503 1880506 + BinaryExpression 1880506 1880578 + CallExpression 1880506 1880573 + Identifier 1880506 1880536 + Identifier 1880537 1880543 + PropertyAccessExpression 1880544 1880572 + Identifier 1880544 1880567 + Identifier 1880568 1880572 + GreaterThanEqualsToken 1880573 1880576 + NumericLiteral 1880576 1880578 + FunctionDeclaration 1880587 1881331 + Identifier 1880603 1880632 + Parameter 1880633 1880649 + Identifier 1880633 1880643 + TypeReference 1880644 1880649 + Identifier 1880644 1880649 + Parameter 1880650 1880673 + Identifier 1880650 1880667 + TypeReference 1880668 1880673 + Identifier 1880668 1880673 + BooleanKeyword 1880675 1880683 + Block 1880683 1881331 + IfStatement 1880685 1881110 + BinaryExpression 1880699 1880739 + PropertyAccessExpression 1880699 1880715 + Identifier 1880699 1880709 + Identifier 1880710 1880715 + AmpersandToken 1880715 1880717 + PropertyAccessExpression 1880717 1880739 + Identifier 1880717 1880727 + Identifier 1880728 1880739 + Block 1880740 1881110 + VariableStatement 1880742 1880799 + VariableDeclarationList 1880742 1880798 + VariableDeclaration 1880761 1880798 + Identifier 1880761 1880766 + AsExpression 1880768 1880798 + Identifier 1880768 1880779 + TypeReference 1880782 1880798 + Identifier 1880782 1880798 + ReturnStatement 1880799 1881099 + BinaryExpression 1880819 1881098 + BinaryExpression 1880819 1881023 + PrefixUnaryExpression 1880819 1880900 + PrefixUnaryExpression 1880821 1880900 + ParenthesizedExpression 1880822 1880900 + BinaryExpression 1880823 1880899 + PropertyAccessExpression 1880823 1880881 + CallExpression 1880823 1880875 + Identifier 1880823 1880837 + CallExpression 1880838 1880874 + Identifier 1880838 1880868 + Identifier 1880869 1880873 + Identifier 1880876 1880881 + AmpersandToken 1880881 1880883 + PropertyAccessExpression 1880883 1880899 + Identifier 1880883 1880893 + Identifier 1880894 1880899 + AmpersandAmpersandToken 1880900 1880903 + BinaryExpression 1880903 1881023 + CallExpression 1880903 1880981 + Identifier 1880903 1880942 + CallExpression 1880943 1880980 + Identifier 1880943 1880974 + Identifier 1880975 1880979 + EqualsEqualsEqualsToken 1880981 1880985 + CallExpression 1880985 1881023 + Identifier 1880985 1881007 + PropertyAccessExpression 1881008 1881022 + Identifier 1881008 1881012 + Identifier 1881013 1881022 + AmpersandAmpersandToken 1881023 1881026 + CallExpression 1881026 1881098 + Identifier 1881026 1881062 + Identifier 1881063 1881079 + PropertyAccessExpression 1881080 1881097 + Identifier 1881080 1881085 + Identifier 1881086 1881097 + IfStatement 1881110 1881301 + BinaryExpression 1881124 1881165 + PropertyAccessExpression 1881124 1881140 + Identifier 1881124 1881134 + Identifier 1881135 1881140 + AmpersandToken 1881140 1881142 + PropertyAccessExpression 1881142 1881165 + Identifier 1881142 1881152 + Identifier 1881153 1881165 + Block 1881166 1881301 + ReturnStatement 1881168 1881290 + CallExpression 1881188 1881289 + Identifier 1881188 1881193 + PropertyAccessExpression 1881194 1881232 + ParenthesizedExpression 1881194 1881226 + AsExpression 1881195 1881225 + Identifier 1881195 1881205 + TypeReference 1881208 1881225 + Identifier 1881208 1881225 + Identifier 1881227 1881232 + ArrowFunction 1881233 1881288 + Parameter 1881233 1881235 + Identifier 1881233 1881235 + EqualsGreaterThanToken 1881235 1881238 + CallExpression 1881238 1881288 + Identifier 1881238 1881267 + Identifier 1881268 1881269 + Identifier 1881270 1881287 + ReturnStatement 1881301 1881324 + FalseKeyword 1881317 1881323 + FunctionDeclaration 1881331 1883991 + Identifier 1881347 1881381 + Parameter 1881382 1881392 + Identifier 1881382 1881386 + TypeReference 1881387 1881392 + Identifier 1881387 1881392 + Parameter 1881393 1881408 + Identifier 1881393 1881398 + TypeReference 1881399 1881408 + Identifier 1881399 1881408 + Parameter 1881409 1881425 + Identifier 1881409 1881418 + QuestionToken 1881418 1881419 + TypeReference 1881420 1881425 + Identifier 1881420 1881425 + Block 1881426 1883991 + ReturnStatement 1881428 1883984 + CallExpression 1881444 1883983 + Identifier 1881444 1881452 + Identifier 1881453 1881457 + ArrowFunction 1881458 1883959 + Parameter 1881458 1881460 + Identifier 1881458 1881460 + EqualsGreaterThanToken 1881460 1881463 + Block 1881463 1883959 + IfStatement 1881465 1883525 + BinaryExpression 1881483 1881515 + PropertyAccessExpression 1881483 1881490 + Identifier 1881483 1881484 + Identifier 1881485 1881490 + AmpersandToken 1881490 1881492 + PropertyAccessExpression 1881492 1881515 + Identifier 1881492 1881502 + Identifier 1881503 1881515 + Block 1881516 1883525 + VariableStatement 1881518 1881566 + VariableDeclarationList 1881518 1881565 + VariableDeclaration 1881539 1881565 + Identifier 1881539 1881545 + UnionType 1881546 1881565 + ArrayType 1881546 1881553 + TypeReference 1881546 1881551 + Identifier 1881546 1881551 + UndefinedKeyword 1881555 1881565 + VariableStatement 1881566 1881628 + VariableDeclarationList 1881566 1881627 + VariableDeclaration 1881587 1881627 + Identifier 1881587 1881607 + UnionType 1881608 1881627 + ArrayType 1881608 1881615 + TypeReference 1881608 1881613 + Identifier 1881608 1881613 + UndefinedKeyword 1881617 1881627 + VariableStatement 1881628 1881675 + VariableDeclarationList 1881628 1881674 + VariableDeclaration 1881649 1881674 + Identifier 1881649 1881666 + FalseKeyword 1881668 1881674 + ForOfStatement 1881675 1882916 + VariableDeclarationList 1881698 1881719 + VariableDeclaration 1881703 1881719 + Identifier 1881703 1881719 + PropertyAccessExpression 1881722 1881752 + ParenthesizedExpression 1881722 1881746 + AsExpression 1881724 1881745 + Identifier 1881724 1881725 + TypeReference 1881728 1881745 + Identifier 1881728 1881745 + Identifier 1881747 1881752 + Block 1881753 1882916 + IfStatement 1881755 1881885 + PrefixUnaryExpression 1881781 1881824 + ParenthesizedExpression 1881782 1881824 + BinaryExpression 1881783 1881823 + PropertyAccessExpression 1881783 1881804 + Identifier 1881783 1881798 + Identifier 1881799 1881804 + AmpersandToken 1881804 1881806 + PropertyAccessExpression 1881806 1881823 + Identifier 1881806 1881816 + Identifier 1881817 1881823 + Block 1881825 1881885 + ContinueStatement 1881827 1881862 + IfStatement 1881885 1882324 + BinaryExpression 1881911 1882030 + CallExpression 1881911 1881947 + Identifier 1881911 1881930 + Identifier 1881931 1881946 + AmpersandAmpersandToken 1881947 1881950 + BinaryExpression 1881950 1882030 + CallExpression 1881950 1881993 + Identifier 1881950 1881976 + Identifier 1881977 1881992 + ExclamationEqualsEqualsToken 1881993 1881997 + PropertyAccessExpression 1881997 1882030 + Identifier 1881997 1882020 + Identifier 1882021 1882030 + Block 1882031 1882324 + VariableStatement 1882033 1882168 + VariableDeclarationList 1882033 1882167 + VariableDeclaration 1882064 1882167 + Identifier 1882064 1882080 + CallExpression 1882082 1882167 + Identifier 1882082 1882134 + Identifier 1882135 1882150 + Identifier 1882151 1882156 + Identifier 1882157 1882166 + ExpressionStatement 1882168 1882266 + BinaryExpression 1882168 1882265 + Identifier 1882168 1882199 + EqualsToken 1882199 1882201 + CallExpression 1882201 1882265 + Identifier 1882201 1882241 + Identifier 1882242 1882247 + Identifier 1882248 1882264 + ContinueStatement 1882266 1882301 + VariableStatement 1882324 1882432 + VariableDeclarationList 1882324 1882431 + VariableDeclaration 1882351 1882431 + Identifier 1882351 1882364 + CallExpression 1882366 1882431 + Identifier 1882366 1882408 + Identifier 1882409 1882424 + Identifier 1882425 1882430 + IfStatement 1882432 1882706 + PrefixUnaryExpression 1882458 1882471 + Identifier 1882459 1882471 + Block 1882472 1882706 + IfStatement 1882474 1882648 + PrefixUnaryExpression 1882504 1882521 + Identifier 1882505 1882521 + Block 1882522 1882648 + ExpressionStatement 1882524 1882621 + BinaryExpression 1882524 1882620 + Identifier 1882524 1882573 + EqualsToken 1882573 1882575 + CallExpression 1882575 1882620 + Identifier 1882575 1882582 + Identifier 1882583 1882602 + Identifier 1882603 1882619 + ContinueStatement 1882648 1882683 + ExpressionStatement 1882706 1882752 + BinaryExpression 1882706 1882751 + Identifier 1882706 1882744 + EqualsToken 1882744 1882746 + TrueKeyword 1882746 1882751 + ExpressionStatement 1882752 1882806 + BinaryExpression 1882752 1882805 + Identifier 1882752 1882793 + EqualsToken 1882793 1882795 + Identifier 1882795 1882805 + ExpressionStatement 1882806 1882897 + BinaryExpression 1882806 1882896 + Identifier 1882806 1882833 + EqualsToken 1882833 1882835 + CallExpression 1882835 1882896 + Identifier 1882835 1882875 + Identifier 1882876 1882881 + Identifier 1882882 1882895 + IfStatement 1882916 1883279 + Identifier 1882938 1882957 + Block 1882958 1883279 + ForOfStatement 1882960 1883260 + VariableDeclarationList 1882987 1883002 + VariableDeclaration 1882992 1883002 + Identifier 1882992 1883002 + Identifier 1883005 1883025 + Block 1883026 1883260 + VariableStatement 1883028 1883141 + VariableDeclarationList 1883028 1883140 + VariableDeclaration 1883059 1883140 + Identifier 1883059 1883073 + CallExpression 1883075 1883140 + Identifier 1883075 1883113 + Identifier 1883114 1883123 + Identifier 1883124 1883129 + Identifier 1883130 1883139 + ExpressionStatement 1883141 1883237 + BinaryExpression 1883141 1883236 + Identifier 1883141 1883172 + EqualsToken 1883172 1883174 + CallExpression 1883174 1883236 + Identifier 1883174 1883214 + Identifier 1883215 1883220 + Identifier 1883221 1883235 + IfStatement 1883279 1883358 + PrefixUnaryExpression 1883301 1883307 + Identifier 1883302 1883307 + Block 1883308 1883358 + ReturnStatement 1883310 1883339 + IfStatement 1883358 1883458 + BinaryExpression 1883380 1883398 + PropertyAccessExpression 1883380 1883392 + Identifier 1883380 1883385 + Identifier 1883386 1883392 + EqualsEqualsEqualsToken 1883392 1883396 + NumericLiteral 1883396 1883398 + Block 1883399 1883458 + ReturnStatement 1883401 1883439 + ElementAccessExpression 1883429 1883438 + Identifier 1883429 1883435 + NumericLiteral 1883436 1883437 + ReturnStatement 1883458 1883510 + CallExpression 1883482 1883509 + Identifier 1883482 1883502 + Identifier 1883503 1883508 + IfStatement 1883525 1883615 + PrefixUnaryExpression 1883543 1883572 + ParenthesizedExpression 1883544 1883572 + BinaryExpression 1883545 1883571 + PropertyAccessExpression 1883545 1883552 + Identifier 1883545 1883546 + Identifier 1883547 1883552 + AmpersandToken 1883552 1883554 + PropertyAccessExpression 1883554 1883571 + Identifier 1883554 1883564 + Identifier 1883565 1883571 + Block 1883573 1883615 + ReturnStatement 1883575 1883600 + ReturnStatement 1883615 1883948 + ConditionalExpression 1883635 1883947 + BinaryExpression 1883635 1883727 + CallExpression 1883635 1883658 + Identifier 1883635 1883655 + Identifier 1883656 1883657 + AmpersandAmpersandToken 1883658 1883661 + BinaryExpression 1883661 1883727 + CallExpression 1883661 1883690 + Identifier 1883661 1883687 + Identifier 1883688 1883689 + ExclamationEqualsEqualsToken 1883690 1883694 + PropertyAccessExpression 1883694 1883727 + Identifier 1883694 1883717 + Identifier 1883718 1883727 + QuestionToken 1883727 1883746 + CallExpression 1883746 1883817 + Identifier 1883746 1883798 + Identifier 1883799 1883800 + Identifier 1883801 1883806 + Identifier 1883807 1883816 + ColonToken 1883817 1883836 + BinaryExpression 1883836 1883947 + CallExpression 1883836 1883887 + Identifier 1883836 1883878 + Identifier 1883879 1883880 + Identifier 1883881 1883886 + QuestionQuestionToken 1883887 1883890 + CallExpression 1883890 1883947 + Identifier 1883890 1883928 + Identifier 1883929 1883930 + Identifier 1883931 1883936 + Identifier 1883937 1883946 + TrueKeyword 1883960 1883982 + FunctionDeclaration 1883991 1884570 + Identifier 1884007 1884047 + Parameter 1884048 1884073 + Identifier 1884048 1884053 + UnionType 1884054 1884073 + ArrayType 1884054 1884061 + TypeReference 1884054 1884059 + Identifier 1884054 1884059 + UndefinedKeyword 1884063 1884073 + Parameter 1884074 1884097 + Identifier 1884074 1884079 + UnionType 1884080 1884097 + TypeReference 1884080 1884085 + Identifier 1884080 1884085 + UndefinedKeyword 1884087 1884097 + Block 1884098 1884570 + ReturnStatement 1884100 1884563 + ConditionalExpression 1884484 1884562 + Identifier 1884484 1884489 + QuestionToken 1884489 1884491 + CallExpression 1884491 1884554 + Identifier 1884491 1884498 + Identifier 1884499 1884504 + ConditionalExpression 1884505 1884553 + BinaryExpression 1884505 1884532 + PropertyAccessExpression 1884505 1884516 + Identifier 1884505 1884510 + Identifier 1884511 1884516 + AmpersandToken 1884516 1884518 + PropertyAccessExpression 1884518 1884532 + Identifier 1884518 1884528 + Identifier 1884529 1884532 + QuestionToken 1884532 1884534 + Identifier 1884534 1884546 + ColonToken 1884546 1884548 + Identifier 1884548 1884553 + ColonToken 1884554 1884556 + Identifier 1884556 1884562 + FunctionDeclaration 1884570 1885415 + Identifier 1884586 1884638 + Parameter 1884639 1884655 + Identifier 1884639 1884643 + TypeReference 1884644 1884655 + Identifier 1884644 1884655 + Parameter 1884656 1884671 + Identifier 1884656 1884661 + TypeReference 1884662 1884671 + Identifier 1884662 1884671 + Parameter 1884672 1884699 + Identifier 1884672 1884681 + UnionType 1884682 1884699 + TypeReference 1884682 1884687 + Identifier 1884682 1884687 + UndefinedKeyword 1884689 1884699 + Block 1884700 1885415 + VariableStatement 1884702 1884804 + VariableDeclarationList 1884702 1884803 + VariableDeclaration 1884717 1884803 + Identifier 1884717 1884734 + BinaryExpression 1884736 1884803 + Identifier 1884736 1884745 + BarBarToken 1884745 1884748 + CallExpression 1884748 1884803 + Identifier 1884748 1884769 + CallExpression 1884770 1884802 + Identifier 1884770 1884796 + Identifier 1884797 1884801 + VariableStatement 1884804 1884871 + VariableDeclarationList 1884804 1884870 + VariableDeclaration 1884819 1884870 + Identifier 1884819 1884830 + CallExpression 1884832 1884870 + Identifier 1884832 1884864 + Identifier 1884865 1884869 + IfStatement 1884871 1885138 + BinaryExpression 1884963 1885103 + BinaryExpression 1884963 1885041 + PropertyAccessExpression 1884963 1884976 + Identifier 1884963 1884967 + Identifier 1884968 1884976 + AmpersandAmpersandToken 1884976 1884979 + CallExpression 1884979 1885041 + Identifier 1884979 1885008 + PropertyAccessExpression 1885009 1885022 + Identifier 1885009 1885013 + Identifier 1885014 1885022 + Identifier 1885023 1885040 + BarBarToken 1885041 1885044 + CallExpression 1885044 1885103 + Identifier 1885044 1885073 + Identifier 1885074 1885084 + Identifier 1885085 1885102 + Block 1885104 1885138 + ReturnStatement 1885106 1885127 + VariableStatement 1885138 1885229 + VariableDeclarationList 1885138 1885228 + VariableDeclaration 1885153 1885228 + Identifier 1885153 1885176 + BinaryExpression 1885178 1885228 + CallExpression 1885178 1885214 + Identifier 1885178 1885202 + Identifier 1885203 1885213 + BarBarToken 1885214 1885217 + Identifier 1885217 1885228 + IfStatement 1885229 1885339 + PrefixUnaryExpression 1885243 1885304 + CallExpression 1885244 1885304 + Identifier 1885244 1885262 + Identifier 1885263 1885279 + Identifier 1885280 1885303 + Block 1885305 1885339 + ReturnStatement 1885307 1885328 + ReturnStatement 1885339 1885408 + CallExpression 1885355 1885407 + Identifier 1885355 1885383 + Identifier 1885384 1885388 + Identifier 1885389 1885406 + FunctionDeclaration 1885415 1885748 + Identifier 1885431 1885473 + Parameter 1885474 1885484 + Identifier 1885474 1885478 + TypeReference 1885479 1885484 + Identifier 1885479 1885484 + Parameter 1885485 1885500 + Identifier 1885485 1885490 + TypeReference 1885491 1885500 + Identifier 1885491 1885500 + Block 1885501 1885748 + VariableStatement 1885503 1885556 + VariableDeclarationList 1885503 1885555 + VariableDeclaration 1885518 1885555 + Identifier 1885518 1885523 + CallExpression 1885525 1885555 + Identifier 1885525 1885543 + Identifier 1885544 1885548 + Identifier 1885549 1885554 + IfStatement 1885556 1885644 + BinaryExpression 1885570 1885609 + PrefixUnaryExpression 1885570 1885575 + Identifier 1885571 1885575 + BarBarToken 1885575 1885578 + CallExpression 1885578 1885609 + Identifier 1885578 1885603 + Identifier 1885604 1885608 + Block 1885610 1885644 + ReturnStatement 1885612 1885633 + ReturnStatement 1885644 1885741 + CallExpression 1885660 1885740 + Identifier 1885660 1885678 + CallExpression 1885679 1885700 + Identifier 1885679 1885694 + Identifier 1885695 1885699 + PrefixUnaryExpression 1885701 1885739 + PrefixUnaryExpression 1885703 1885739 + ParenthesizedExpression 1885704 1885739 + BinaryExpression 1885705 1885738 + PropertyAccessExpression 1885705 1885715 + Identifier 1885705 1885709 + Identifier 1885710 1885715 + AmpersandToken 1885715 1885717 + PropertyAccessExpression 1885717 1885738 + Identifier 1885717 1885729 + Identifier 1885730 1885738 + FunctionDeclaration 1885748 1886343 + Identifier 1885764 1885802 + Parameter 1885803 1885813 + Identifier 1885803 1885807 + TypeReference 1885808 1885813 + Identifier 1885808 1885813 + Parameter 1885814 1885829 + Identifier 1885814 1885819 + TypeReference 1885820 1885829 + Identifier 1885820 1885829 + Parameter 1885830 1885857 + Identifier 1885830 1885839 + UnionType 1885840 1885857 + TypeReference 1885840 1885845 + Identifier 1885840 1885845 + UndefinedKeyword 1885847 1885857 + Block 1885858 1886343 + IfStatement 1885860 1886184 + BinaryExpression 1885874 1885935 + BinaryExpression 1885874 1885921 + CallExpression 1885874 1885891 + Identifier 1885874 1885885 + Identifier 1885886 1885890 + AmpersandAmpersandToken 1885891 1885894 + CallExpression 1885894 1885921 + Identifier 1885894 1885915 + Identifier 1885916 1885920 + AmpersandAmpersandToken 1885921 1885924 + BinaryExpression 1885924 1885935 + PrefixUnaryExpression 1885924 1885930 + Identifier 1885926 1885930 + GreaterThanEqualsToken 1885930 1885933 + NumericLiteral 1885933 1885935 + Block 1885936 1886184 + VariableStatement 1885938 1886095 + VariableDeclarationList 1885938 1886094 + VariableDeclaration 1885957 1886094 + Identifier 1885957 1885966 + CallExpression 1885968 1886094 + Identifier 1885968 1886001 + Identifier 1886002 1886006 + PropertyAccessExpression 1886007 1886031 + PropertyAccessExpression 1886007 1886019 + Identifier 1886007 1886012 + Identifier 1886013 1886019 + Identifier 1886020 1886031 + NumericLiteral 1886032 1886051 + FalseKeyword 1886052 1886070 + TrueKeyword 1886071 1886093 + IfStatement 1886095 1886173 + Identifier 1886113 1886121 + Block 1886122 1886173 + ReturnStatement 1886124 1886158 + Identifier 1886148 1886157 + ReturnStatement 1886184 1886336 + PropertyAccessExpression 1886200 1886335 + CallExpression 1886200 1886329 + Identifier 1886200 1886224 + CallExpression 1886225 1886260 + Identifier 1886225 1886254 + Identifier 1886255 1886259 + BinaryExpression 1886261 1886328 + Identifier 1886261 1886270 + BarBarToken 1886270 1886273 + CallExpression 1886273 1886328 + Identifier 1886273 1886294 + CallExpression 1886295 1886327 + Identifier 1886295 1886321 + Identifier 1886322 1886326 + QuestionDotToken 1886329 1886331 + Identifier 1886331 1886335 + FunctionDeclaration 1886343 1887153 + Identifier 1886694 1886734 + Parameter 1886735 1886758 + Identifier 1886735 1886739 + TypeReference 1886740 1886758 + Identifier 1886740 1886758 + Parameter 1886759 1886798 + Identifier 1886759 1886772 + UnionType 1886773 1886798 + TypeReference 1886773 1886786 + Identifier 1886773 1886786 + UndefinedKeyword 1886788 1886798 + UnionType 1886800 1886817 + TypeReference 1886800 1886805 + Identifier 1886800 1886805 + UndefinedKeyword 1886807 1886817 + Block 1886817 1887153 + ExpressionStatement 1886819 1886871 + CallExpression 1886819 1886870 + PropertyAccessExpression 1886819 1886841 + Identifier 1886819 1886834 + Identifier 1886835 1886841 + CallExpression 1886842 1886869 + Identifier 1886842 1886863 + Identifier 1886864 1886868 + IfStatement 1886871 1887068 + BinaryExpression 1886885 1886923 + PropertyAccessExpression 1886885 1886895 + Identifier 1886885 1886889 + Identifier 1886890 1886895 + AmpersandToken 1886895 1886897 + PropertyAccessExpression 1886897 1886923 + Identifier 1886897 1886907 + Identifier 1886908 1886923 + Block 1886924 1887068 + ReturnStatement 1886926 1887057 + Identifier 1887046 1887056 + ReturnStatement 1887068 1887146 + CallExpression 1887084 1887145 + Identifier 1887084 1887125 + Identifier 1887126 1887130 + Identifier 1887131 1887144 + FunctionDeclaration 1887153 1889140 + Identifier 1887169 1887210 + Parameter 1887211 1887244 + Identifier 1887211 1887218 + TypeReference 1887219 1887244 + Identifier 1887219 1887244 + Parameter 1887245 1887284 + Identifier 1887245 1887258 + UnionType 1887259 1887284 + TypeReference 1887259 1887272 + Identifier 1887259 1887272 + UndefinedKeyword 1887274 1887284 + Block 1887285 1889140 + VariableStatement 1887287 1887361 + VariableDeclarationList 1887287 1887360 + VariableDeclaration 1887302 1887360 + Identifier 1887302 1887316 + AsExpression 1887318 1887360 + PropertyAccessExpression 1887318 1887333 + Identifier 1887318 1887326 + Identifier 1887327 1887333 + TypeReference 1887336 1887360 + Identifier 1887336 1887360 + VariableStatement 1887361 1887502 + VariableDeclarationList 1887361 1887501 + VariableDeclaration 1887376 1887501 + Identifier 1887376 1887399 + BinaryExpression 1887401 1887501 + CallExpression 1887401 1887431 + Identifier 1887401 1887422 + Identifier 1887423 1887430 + AmpersandAmpersandToken 1887431 1887434 + CallExpression 1887434 1887501 + Identifier 1887434 1887478 + Identifier 1887479 1887486 + Identifier 1887487 1887500 + IfStatement 1887502 1887596 + Identifier 1887516 1887538 + Block 1887539 1887596 + ReturnStatement 1887541 1887585 + Identifier 1887561 1887584 + VariableStatement 1887596 1887680 + VariableDeclarationList 1887596 1887679 + VariableDeclaration 1887611 1887679 + Identifier 1887611 1887616 + CallExpression 1887618 1887679 + Identifier 1887618 1887650 + Identifier 1887651 1887664 + Identifier 1887665 1887678 + IfStatement 1887680 1889106 + Identifier 1887694 1887698 + Block 1887699 1889106 + IfStatement 1887701 1888166 + CallExpression 1887719 1887743 + Identifier 1887719 1887734 + Identifier 1887735 1887742 + Block 1887744 1888166 + VariableStatement 1887746 1888033 + VariableDeclarationList 1887746 1888032 + VariableDeclaration 1887991 1888032 + Identifier 1887991 1887998 + CallExpression 1888000 1888032 + Identifier 1888000 1888023 + Identifier 1888024 1888031 + ReturnStatement 1888033 1888151 + CallExpression 1888057 1888150 + Identifier 1888057 1888091 + Identifier 1888092 1888096 + PropertyAccessExpression 1888097 1888116 + Identifier 1888097 1888104 + Identifier 1888105 1888116 + PropertyAccessExpression 1888117 1888149 + CallExpression 1888117 1888140 + Identifier 1888117 1888132 + Identifier 1888133 1888139 + Identifier 1888141 1888149 + IfStatement 1888166 1888694 + CallExpression 1888184 1888207 + Identifier 1888184 1888198 + Identifier 1888199 1888206 + Block 1888208 1888694 + VariableStatement 1888210 1888271 + VariableDeclarationList 1888210 1888270 + VariableDeclaration 1888233 1888270 + Identifier 1888233 1888238 + CallExpression 1888240 1888270 + Identifier 1888240 1888261 + Identifier 1888262 1888269 + IfStatement 1888271 1888679 + BinaryExpression 1888293 1888329 + Identifier 1888293 1888297 + AmpersandAmpersandToken 1888297 1888300 + CallExpression 1888300 1888329 + Identifier 1888300 1888323 + Identifier 1888324 1888328 + Block 1888330 1888679 + VariableStatement 1888332 1888404 + VariableDeclarationList 1888332 1888403 + VariableDeclaration 1888359 1888403 + Identifier 1888359 1888368 + CallExpression 1888370 1888403 + Identifier 1888370 1888386 + PropertyAccessExpression 1888387 1888402 + Identifier 1888387 1888391 + Identifier 1888392 1888402 + VariableStatement 1888404 1888558 + VariableDeclarationList 1888404 1888557 + VariableDeclaration 1888431 1888557 + Identifier 1888431 1888440 + BinaryExpression 1888442 1888557 + CallExpression 1888442 1888479 + Identifier 1888442 1888469 + Identifier 1888470 1888478 + AmpersandAmpersandToken 1888479 1888482 + CallExpression 1888482 1888557 + Identifier 1888482 1888516 + Identifier 1888517 1888521 + CallExpression 1888522 1888556 + Identifier 1888522 1888546 + Identifier 1888547 1888555 + IfStatement 1888558 1888660 + Identifier 1888584 1888592 + Block 1888593 1888660 + ReturnStatement 1888595 1888637 + Identifier 1888627 1888636 + IfStatement 1888694 1889095 + PropertyAccessExpression 1888712 1888724 + Identifier 1888712 1888719 + Identifier 1888720 1888724 + Block 1888725 1889095 + VariableStatement 1888727 1888807 + VariableDeclarationList 1888727 1888806 + VariableDeclaration 1888750 1888806 + Identifier 1888750 1888759 + CallExpression 1888761 1888806 + Identifier 1888761 1888792 + PropertyAccessExpression 1888793 1888805 + Identifier 1888793 1888800 + Identifier 1888801 1888805 + ReturnStatement 1888807 1889080 + CallExpression 1888962 1889079 + Identifier 1888962 1888970 + Identifier 1888971 1888975 + ArrowFunction 1888976 1889055 + Parameter 1888976 1888978 + Identifier 1888976 1888978 + EqualsGreaterThanToken 1888978 1888981 + PropertyAccessExpression 1888981 1889055 + CallExpression 1888981 1889049 + Identifier 1888981 1889005 + CallExpression 1889006 1889038 + Identifier 1889006 1889035 + Identifier 1889036 1889037 + Identifier 1889039 1889048 + QuestionDotToken 1889049 1889051 + Identifier 1889051 1889055 + TrueKeyword 1889056 1889078 + ReturnStatement 1889106 1889133 + Identifier 1889122 1889132 + FunctionDeclaration 1889140 1889453 + Identifier 1889156 1889173 + Parameter 1889174 1889199 + Identifier 1889174 1889182 + TypeOperator 1889183 1889199 + ArrayType 1889192 1889199 + TypeReference 1889192 1889197 + Identifier 1889192 1889197 + Block 1889200 1889453 + VariableStatement 1889202 1889228 + VariableDeclarationList 1889202 1889227 + VariableDeclaration 1889215 1889221 + Identifier 1889215 1889221 + VariableDeclaration 1889222 1889227 + Identifier 1889222 1889227 + ForStatement 1889228 1889413 + VariableDeclarationList 1889243 1889252 + VariableDeclaration 1889246 1889252 + Identifier 1889246 1889248 + NumericLiteral 1889250 1889252 + BinaryExpression 1889253 1889273 + Identifier 1889253 1889255 + LessThanToken 1889255 1889257 + PropertyAccessExpression 1889257 1889273 + Identifier 1889257 1889266 + Identifier 1889267 1889273 + PostfixUnaryExpression 1889274 1889278 + Identifier 1889274 1889276 + Block 1889279 1889413 + IfStatement 1889281 1889402 + CallExpression 1889299 1889327 + Identifier 1889299 1889314 + ElementAccessExpression 1889315 1889326 + Identifier 1889315 1889323 + Identifier 1889324 1889325 + Block 1889328 1889402 + ExpressionStatement 1889330 1889360 + BinaryExpression 1889330 1889359 + Identifier 1889330 1889353 + QuestionQuestionEqualsToken 1889353 1889357 + Identifier 1889357 1889359 + ExpressionStatement 1889360 1889387 + BinaryExpression 1889360 1889386 + Identifier 1889360 1889382 + EqualsToken 1889382 1889384 + Identifier 1889384 1889386 + ReturnStatement 1889413 1889446 + ObjectLiteralExpression 1889429 1889445 + ShorthandPropertyAssignment 1889431 1889437 + Identifier 1889431 1889437 + ShorthandPropertyAssignment 1889438 1889443 + Identifier 1889438 1889443 + FunctionDeclaration 1889453 1891984 + Identifier 1889469 1889507 + Parameter 1889508 1889530 + Identifier 1889508 1889512 + UnionType 1889513 1889530 + TypeReference 1889513 1889518 + Identifier 1889513 1889518 + UndefinedKeyword 1889520 1889530 + Parameter 1889531 1889545 + Identifier 1889531 1889537 + NumberKeyword 1889538 1889545 + Parameter 1889546 1889562 + Identifier 1889546 1889553 + QuestionToken 1889553 1889554 + NumberKeyword 1889555 1889562 + Parameter 1889563 1889589 + Identifier 1889563 1889580 + QuestionToken 1889580 1889581 + NumberKeyword 1889582 1889589 + Parameter 1889590 1889615 + Identifier 1889590 1889606 + QuestionToken 1889606 1889607 + NumberKeyword 1889608 1889615 + UnionType 1889617 1889634 + TypeReference 1889617 1889622 + Identifier 1889617 1889622 + UndefinedKeyword 1889624 1889634 + Block 1889634 1891984 + ReturnStatement 1889636 1891977 + BinaryExpression 1889652 1891976 + Identifier 1889652 1889657 + AmpersandAmpersandToken 1889657 1889660 + CallExpression 1889660 1891976 + Identifier 1889660 1889668 + Identifier 1889669 1889673 + ArrowFunction 1889674 1891952 + Parameter 1889674 1889676 + Identifier 1889674 1889676 + EqualsGreaterThanToken 1889676 1889679 + Block 1889679 1891952 + IfStatement 1889681 1891476 + CallExpression 1889699 1889713 + Identifier 1889699 1889710 + Identifier 1889711 1889712 + Block 1889714 1891476 + IfStatement 1889716 1890169 + BinaryExpression 1889921 1890013 + ParenthesizedExpression 1889921 1889981 + BinaryExpression 1889922 1889980 + BinaryExpression 1889922 1889952 + Identifier 1889922 1889938 + EqualsEqualsEqualsToken 1889938 1889942 + Identifier 1889942 1889952 + BarBarToken 1889952 1889955 + BinaryExpression 1889955 1889980 + Identifier 1889955 1889961 + LessThanToken 1889961 1889963 + Identifier 1889963 1889980 + AmpersandAmpersandToken 1889981 1889984 + BinaryExpression 1889984 1890013 + Identifier 1889984 1889990 + LessThanToken 1889990 1889992 + PropertyAccessExpression 1889992 1890013 + PropertyAccessExpression 1889992 1890001 + Identifier 1889992 1889994 + Identifier 1889995 1890001 + Identifier 1890002 1890013 + Block 1890014 1890169 + ReturnStatement 1890016 1890150 + CallExpression 1890044 1890149 + Identifier 1890044 1890062 + ElementAccessExpression 1890063 1890089 + CallExpression 1890063 1890082 + Identifier 1890063 1890079 + Identifier 1890080 1890081 + Identifier 1890083 1890088 + PrefixUnaryExpression 1890090 1890148 + PrefixUnaryExpression 1890092 1890148 + ParenthesizedExpression 1890093 1890148 + BinaryExpression 1890094 1890147 + ElementAccessExpression 1890094 1890122 + PropertyAccessExpression 1890094 1890115 + PropertyAccessExpression 1890094 1890102 + Identifier 1890094 1890095 + Identifier 1890096 1890102 + Identifier 1890103 1890115 + Identifier 1890116 1890121 + AmpersandAmpersandToken 1890122 1890125 + PropertyAccessExpression 1890125 1890147 + Identifier 1890125 1890138 + Identifier 1890139 1890147 + VariableStatement 1890169 1890534 + VariableDeclarationList 1890169 1890533 + VariableDeclaration 1890420 1890533 + Identifier 1890420 1890427 + ConditionalExpression 1890429 1890533 + BinaryExpression 1890429 1890512 + BinaryExpression 1890429 1890450 + Identifier 1890429 1890436 + ExclamationEqualsEqualsToken 1890436 1890440 + Identifier 1890440 1890450 + AmpersandAmpersandToken 1890450 1890453 + ParenthesizedExpression 1890453 1890512 + BinaryExpression 1890455 1890511 + BinaryExpression 1890455 1890484 + Identifier 1890455 1890470 + EqualsEqualsEqualsToken 1890470 1890474 + Identifier 1890474 1890484 + BarBarToken 1890484 1890487 + BinaryExpression 1890487 1890511 + Identifier 1890487 1890493 + GreaterThanToken 1890493 1890495 + Identifier 1890495 1890511 + QuestionToken 1890512 1890514 + BinaryExpression 1890514 1890529 + Identifier 1890514 1890521 + MinusToken 1890521 1890523 + Identifier 1890523 1890529 + ColonToken 1890529 1890531 + NumericLiteral 1890531 1890533 + VariableStatement 1890534 1890693 + VariableDeclarationList 1890534 1890692 + VariableDeclaration 1890557 1890692 + Identifier 1890557 1890572 + ConditionalExpression 1890574 1890692 + BinaryExpression 1890574 1890637 + BinaryExpression 1890574 1890585 + Identifier 1890574 1890581 + GreaterThanToken 1890581 1890583 + NumericLiteral 1890583 1890585 + AmpersandAmpersandToken 1890585 1890588 + ParenthesizedExpression 1890588 1890637 + BinaryExpression 1890590 1890636 + PropertyAccessExpression 1890590 1890612 + PropertyAccessExpression 1890590 1890598 + Identifier 1890590 1890591 + Identifier 1890592 1890598 + Identifier 1890599 1890612 + AmpersandToken 1890612 1890614 + PropertyAccessExpression 1890614 1890636 + Identifier 1890614 1890627 + Identifier 1890628 1890636 + QuestionToken 1890637 1890639 + CallExpression 1890639 1890688 + Identifier 1890639 1890658 + PropertyAccessExpression 1890659 1890667 + Identifier 1890659 1890660 + Identifier 1890661 1890667 + PropertyAccessExpression 1890668 1890687 + Identifier 1890668 1890681 + Identifier 1890682 1890687 + ColonToken 1890688 1890690 + NumericLiteral 1890690 1890692 + IfStatement 1890693 1891024 + BinaryExpression 1890880 1890918 + BinaryExpression 1890880 1890890 + Identifier 1890880 1890886 + GreaterThanToken 1890886 1890888 + NumericLiteral 1890888 1890890 + AmpersandAmpersandToken 1890890 1890893 + BinaryExpression 1890893 1890918 + Identifier 1890893 1890900 + LessThanEqualsToken 1890900 1890903 + Identifier 1890903 1890918 + Block 1890919 1891024 + ReturnStatement 1890921 1891005 + ElementAccessExpression 1890949 1891004 + CallExpression 1890949 1890969 + Identifier 1890949 1890966 + Identifier 1890967 1890968 + BinaryExpression 1890970 1891003 + CallExpression 1890970 1890994 + Identifier 1890970 1890991 + Identifier 1890992 1890993 + MinusToken 1890994 1890996 + Identifier 1890996 1891003 + ReturnStatement 1891024 1891461 + CallExpression 1891151 1891460 + Identifier 1891151 1891184 + Identifier 1891185 1891186 + ConditionalExpression 1891187 1891292 + BinaryExpression 1891187 1891218 + Identifier 1891187 1891204 + EqualsEqualsEqualsToken 1891204 1891208 + Identifier 1891208 1891218 + QuestionToken 1891218 1891220 + PropertyAccessExpression 1891220 1891241 + PropertyAccessExpression 1891220 1891229 + Identifier 1891220 1891222 + Identifier 1891223 1891229 + Identifier 1891230 1891241 + ColonToken 1891241 1891243 + CallExpression 1891243 1891292 + PropertyAccessExpression 1891243 1891252 + Identifier 1891243 1891248 + Identifier 1891249 1891252 + PropertyAccessExpression 1891253 1891273 + PropertyAccessExpression 1891253 1891261 + Identifier 1891253 1891254 + Identifier 1891255 1891261 + Identifier 1891262 1891273 + Identifier 1891274 1891291 + ConditionalExpression 1891293 1891417 + BinaryExpression 1891293 1891347 + BinaryExpression 1891293 1891314 + Identifier 1891293 1891300 + EqualsEqualsEqualsToken 1891300 1891304 + Identifier 1891304 1891314 + BarBarToken 1891314 1891317 + BinaryExpression 1891317 1891347 + Identifier 1891317 1891333 + EqualsEqualsEqualsToken 1891333 1891337 + Identifier 1891337 1891347 + QuestionToken 1891347 1891349 + Identifier 1891349 1891364 + ColonToken 1891364 1891366 + CallExpression 1891366 1891417 + PropertyAccessExpression 1891366 1891375 + Identifier 1891366 1891371 + Identifier 1891372 1891375 + Identifier 1891376 1891390 + BinaryExpression 1891391 1891416 + Identifier 1891391 1891398 + MinusToken 1891398 1891400 + Identifier 1891400 1891416 + FalseKeyword 1891418 1891436 + TrueKeyword 1891437 1891459 + ReturnStatement 1891476 1891941 + BinaryExpression 1891684 1891940 + BinaryExpression 1891684 1891796 + ParenthesizedExpression 1891684 1891732 + BinaryExpression 1891686 1891731 + PrefixUnaryExpression 1891686 1891703 + Identifier 1891687 1891703 + BarBarToken 1891703 1891706 + BinaryExpression 1891706 1891731 + Identifier 1891706 1891712 + LessThanToken 1891712 1891714 + Identifier 1891714 1891731 + AmpersandAmpersandToken 1891732 1891735 + CallExpression 1891735 1891796 + Identifier 1891735 1891769 + Identifier 1891770 1891771 + AsExpression 1891772 1891795 + BinaryExpression 1891772 1891783 + StringLiteral 1891772 1891775 + PlusToken 1891775 1891777 + Identifier 1891777 1891783 + TypeReference 1891786 1891795 + Identifier 1891786 1891795 + BarBarToken 1891796 1891799 + CallExpression 1891799 1891940 + Identifier 1891799 1891845 + PropertyAccessExpression 1891846 1891866 + Identifier 1891846 1891858 + Identifier 1891859 1891866 + Identifier 1891867 1891869 + Identifier 1891870 1891884 + Identifier 1891885 1891909 + FalseKeyword 1891910 1891939 + TrueKeyword 1891953 1891975 + FunctionDeclaration 1891984 1892455 + Identifier 1892124 1892163 + Parameter 1892164 1892180 + Identifier 1892164 1892168 + TypeReference 1892169 1892180 + Identifier 1892169 1892180 + Parameter 1892181 1892220 + Identifier 1892181 1892194 + UnionType 1892195 1892220 + TypeReference 1892195 1892208 + Identifier 1892195 1892208 + UndefinedKeyword 1892210 1892220 + UnionType 1892222 1892239 + TypeReference 1892222 1892227 + Identifier 1892222 1892227 + UndefinedKeyword 1892229 1892239 + Block 1892239 1892455 + VariableStatement 1892241 1892308 + VariableDeclarationList 1892241 1892307 + VariableDeclaration 1892256 1892307 + Identifier 1892256 1892268 + AsExpression 1892270 1892307 + PropertyAccessExpression 1892270 1892282 + Identifier 1892270 1892275 + Identifier 1892276 1892282 + TypeReference 1892285 1892307 + Identifier 1892285 1892307 + ReturnStatement 1892308 1892448 + ConditionalExpression 1892324 1892447 + BinaryExpression 1892324 1892388 + BinaryExpression 1892324 1892354 + Identifier 1892324 1892329 + EqualsEqualsEqualsToken 1892329 1892333 + PropertyAccessExpression 1892333 1892354 + Identifier 1892333 1892345 + Identifier 1892346 1892354 + BarBarToken 1892354 1892357 + BinaryExpression 1892357 1892388 + Identifier 1892357 1892362 + EqualsEqualsEqualsToken 1892362 1892366 + PropertyAccessExpression 1892366 1892388 + Identifier 1892366 1892378 + Identifier 1892379 1892388 + QuestionToken 1892388 1892390 + CallExpression 1892390 1892435 + Identifier 1892390 1892408 + Identifier 1892409 1892420 + Identifier 1892421 1892434 + ColonToken 1892435 1892437 + Identifier 1892437 1892447 + FunctionDeclaration 1892455 1893706 + Identifier 1892471 1892510 + Parameter 1892511 1892527 + Identifier 1892511 1892515 + TypeReference 1892516 1892527 + Identifier 1892516 1892527 + Parameter 1892528 1892544 + Identifier 1892528 1892534 + TypeReference 1892535 1892544 + Identifier 1892535 1892544 + Parameter 1892545 1892584 + Identifier 1892545 1892558 + UnionType 1892559 1892584 + TypeReference 1892559 1892572 + Identifier 1892559 1892572 + UndefinedKeyword 1892574 1892584 + Block 1892585 1893706 + VariableStatement 1892587 1892698 + VariableDeclarationList 1892587 1892697 + VariableDeclaration 1892602 1892697 + Identifier 1892602 1892617 + CallExpression 1892619 1892697 + Identifier 1892619 1892651 + PropertyAccessExpression 1892652 1892682 + PropertyAccessExpression 1892652 1892671 + Identifier 1892652 1892656 + Identifier 1892657 1892671 + Identifier 1892672 1892682 + Identifier 1892683 1892696 + VariableStatement 1892698 1892951 + VariableDeclarationList 1892698 1892950 + VariableDeclaration 1892865 1892950 + Identifier 1892865 1892889 + CallExpression 1892891 1892950 + Identifier 1892891 1892925 + CallExpression 1892926 1892949 + Identifier 1892926 1892943 + Identifier 1892944 1892948 + IfStatement 1892951 1893118 + PrefixUnaryExpression 1892965 1893073 + ParenthesizedExpression 1892966 1893073 + BinaryExpression 1892967 1893072 + BinaryExpression 1892967 1893038 + BinaryExpression 1892967 1893011 + Identifier 1892967 1892981 + AmpersandAmpersandToken 1892981 1892984 + PrefixUnaryExpression 1892984 1893011 + CallExpression 1892986 1893011 + Identifier 1892986 1892995 + Identifier 1892996 1893010 + AmpersandAmpersandToken 1893011 1893014 + Identifier 1893014 1893038 + AmpersandAmpersandToken 1893038 1893041 + BinaryExpression 1893041 1893072 + Identifier 1893041 1893065 + ExclamationEqualsEqualsToken 1893065 1893069 + StringLiteral 1893069 1893072 + Block 1893074 1893118 + ReturnStatement 1893076 1893107 + Identifier 1893096 1893106 + VariableStatement 1893118 1893187 + VariableDeclarationList 1893118 1893186 + VariableDeclaration 1893133 1893186 + Identifier 1893133 1893146 + CallExpression 1893148 1893186 + Identifier 1893148 1893171 + PropertyAccessExpression 1893172 1893185 + Identifier 1893172 1893176 + Identifier 1893177 1893185 + VariableStatement 1893187 1893244 + VariableDeclarationList 1893187 1893243 + VariableDeclaration 1893202 1893243 + Identifier 1893202 1893213 + CallExpression 1893215 1893243 + PropertyAccessExpression 1893215 1893236 + Identifier 1893215 1893228 + Identifier 1893229 1893236 + Identifier 1893237 1893242 + VariableStatement 1893244 1893352 + VariableDeclarationList 1893244 1893351 + VariableDeclaration 1893259 1893351 + Identifier 1893259 1893274 + CallExpression 1893276 1893351 + Identifier 1893276 1893310 + Identifier 1893311 1893325 + Identifier 1893326 1893350 + ReturnStatement 1893352 1893699 + BinaryExpression 1893368 1893698 + Identifier 1893368 1893383 + AmpersandAmpersandToken 1893383 1893386 + ParenthesizedExpression 1893386 1893698 + ConditionalExpression 1893388 1893697 + BinaryExpression 1893388 1893413 + PropertyAccessExpression 1893388 1893407 + Identifier 1893388 1893400 + Identifier 1893401 1893407 + EqualsEqualsEqualsToken 1893407 1893411 + NumericLiteral 1893411 1893413 + QuestionToken 1893413 1893415 + Identifier 1893415 1893430 + ColonToken 1893430 1893432 + CallExpression 1893432 1893697 + Identifier 1893432 1893440 + Identifier 1893441 1893455 + ArrowFunction 1893456 1893673 + Parameter 1893456 1893458 + Identifier 1893456 1893458 + EqualsGreaterThanToken 1893458 1893461 + Block 1893461 1893673 + IfStatement 1893463 1893662 + CallExpression 1893481 1893499 + Identifier 1893481 1893496 + Identifier 1893497 1893498 + Block 1893500 1893600 + ReturnStatement 1893502 1893585 + CallExpression 1893526 1893584 + Identifier 1893526 1893547 + Identifier 1893548 1893549 + CallExpression 1893550 1893583 + Identifier 1893550 1893571 + Identifier 1893572 1893582 + Block 1893618 1893662 + ReturnStatement 1893620 1893647 + Identifier 1893644 1893646 + TrueKeyword 1893674 1893696 + FunctionDeclaration 1893706 1894137 + Identifier 1893722 1893756 + Parameter 1893757 1893776 + Identifier 1893757 1893761 + TypeReference 1893762 1893776 + Identifier 1893762 1893776 + Parameter 1893777 1893816 + Identifier 1893777 1893790 + UnionType 1893791 1893816 + TypeReference 1893791 1893804 + Identifier 1893791 1893804 + UndefinedKeyword 1893806 1893816 + UnionType 1893818 1893835 + TypeReference 1893818 1893823 + Identifier 1893818 1893823 + UndefinedKeyword 1893825 1893835 + Block 1893835 1894137 + VariableStatement 1893837 1893878 + VariableDeclarationList 1893837 1893877 + VariableDeclaration 1893852 1893877 + Identifier 1893852 1893863 + PropertyAccessExpression 1893865 1893877 + Identifier 1893865 1893870 + Identifier 1893871 1893877 + ReturnStatement 1893878 1894130 + ConditionalExpression 1893894 1894129 + CallExpression 1893894 1893925 + Identifier 1893894 1893913 + Identifier 1893914 1893924 + QuestionToken 1893925 1893940 + CallExpression 1893940 1893978 + Identifier 1893940 1893958 + Identifier 1893959 1893963 + Identifier 1893964 1893977 + ColonToken 1893978 1893993 + ConditionalExpression 1893993 1894129 + CallExpression 1893993 1894018 + Identifier 1893993 1894006 + Identifier 1894007 1894017 + QuestionToken 1894018 1894033 + CallExpression 1894033 1894104 + Identifier 1894033 1894072 + Identifier 1894073 1894083 + Identifier 1894084 1894089 + Identifier 1894090 1894103 + ColonToken 1894104 1894119 + Identifier 1894119 1894129 + FunctionDeclaration 1894137 1895163 + Identifier 1894153 1894186 + Parameter 1894187 1894231 + Identifier 1894187 1894196 + UnionType 1894197 1894231 + TypeReference 1894197 1894210 + Identifier 1894197 1894210 + TypeReference 1894212 1894231 + Identifier 1894212 1894231 + Parameter 1894232 1894271 + Identifier 1894232 1894245 + UnionType 1894246 1894271 + TypeReference 1894246 1894259 + Identifier 1894246 1894259 + UndefinedKeyword 1894261 1894271 + UnionType 1894273 1894290 + TypeReference 1894273 1894278 + Identifier 1894273 1894278 + UndefinedKeyword 1894280 1894290 + Block 1894290 1895163 + IfStatement 1894292 1895156 + CallExpression 1894682 1894707 + Identifier 1894682 1894696 + Identifier 1894697 1894706 + Block 1894708 1895058 + VariableStatement 1894710 1894811 + VariableDeclarationList 1894710 1894810 + VariableDeclaration 1894729 1894810 + Identifier 1894729 1894744 + CallExpression 1894746 1894810 + Identifier 1894746 1894778 + PropertyAccessExpression 1894779 1894795 + Identifier 1894779 1894788 + Identifier 1894789 1894795 + Identifier 1894796 1894809 + IfStatement 1894811 1894926 + BinaryExpression 1894829 1894873 + PrefixUnaryExpression 1894829 1894844 + Identifier 1894830 1894844 + BarBarToken 1894844 1894847 + CallExpression 1894847 1894873 + Identifier 1894847 1894857 + Identifier 1894858 1894872 + Block 1894874 1894926 + ReturnStatement 1894876 1894911 + Identifier 1894900 1894910 + ReturnStatement 1894926 1895047 + CallExpression 1894946 1895046 + Identifier 1894946 1894980 + Identifier 1894981 1894995 + CallExpression 1894996 1895045 + Identifier 1894996 1895029 + PropertyAccessExpression 1895030 1895044 + Identifier 1895030 1895039 + Identifier 1895040 1895044 + Block 1895072 1895156 + ReturnStatement 1895074 1895145 + CallExpression 1895094 1895144 + Identifier 1895094 1895112 + PropertyAccessExpression 1895113 1895129 + Identifier 1895113 1895122 + Identifier 1895123 1895129 + Identifier 1895130 1895143 + FunctionDeclaration 1895163 1896481 + Identifier 1895458 1895486 + Parameter 1895487 1895503 + Identifier 1895487 1895491 + TypeReference 1895492 1895503 + Identifier 1895492 1895503 + BooleanKeyword 1895505 1895513 + Block 1895513 1896481 + SwitchStatement 1895515 1896451 + PropertyAccessExpression 1895533 1895542 + Identifier 1895533 1895537 + Identifier 1895538 1895542 + CaseBlock 1895543 1896451 + CaseClause 1895545 1895589 + PropertyAccessExpression 1895563 1895588 + Identifier 1895563 1895574 + Identifier 1895575 1895588 + CaseClause 1895589 1895634 + PropertyAccessExpression 1895607 1895633 + Identifier 1895607 1895618 + Identifier 1895619 1895633 + CaseClause 1895634 1895678 + PropertyAccessExpression 1895652 1895677 + Identifier 1895652 1895663 + Identifier 1895664 1895677 + CaseClause 1895678 1895738 + PropertyAccessExpression 1895696 1895737 + Identifier 1895696 1895707 + Identifier 1895708 1895737 + CaseClause 1895738 1895787 + PropertyAccessExpression 1895756 1895786 + Identifier 1895756 1895767 + Identifier 1895768 1895786 + CaseClause 1895787 1895829 + PropertyAccessExpression 1895805 1895828 + Identifier 1895805 1895816 + Identifier 1895817 1895828 + CaseClause 1895829 1895872 + PropertyAccessExpression 1895847 1895871 + Identifier 1895847 1895858 + Identifier 1895859 1895871 + CaseClause 1895872 1895914 + PropertyAccessExpression 1895890 1895913 + Identifier 1895890 1895901 + Identifier 1895902 1895913 + CaseClause 1895914 1895955 + PropertyAccessExpression 1895932 1895954 + Identifier 1895932 1895943 + Identifier 1895944 1895954 + CaseClause 1895955 1896032 + PropertyAccessExpression 1895973 1896001 + Identifier 1895973 1895984 + Identifier 1895985 1896001 + ReturnStatement 1896002 1896032 + TrueKeyword 1896026 1896031 + CaseClause 1896032 1896087 + PropertyAccessExpression 1896050 1896086 + Identifier 1896050 1896061 + Identifier 1896062 1896086 + CaseClause 1896087 1896267 + PropertyAccessExpression 1896105 1896140 + Identifier 1896105 1896116 + Identifier 1896117 1896140 + ReturnStatement 1896141 1896267 + CallExpression 1896165 1896266 + Identifier 1896165 1896193 + PropertyAccessExpression 1896194 1896265 + ParenthesizedExpression 1896194 1896254 + AsExpression 1896195 1896253 + Identifier 1896195 1896199 + UnionType 1896202 1896253 + TypeReference 1896202 1896227 + Identifier 1896202 1896227 + TypeReference 1896229 1896253 + Identifier 1896229 1896253 + Identifier 1896255 1896265 + CaseClause 1896267 1896440 + PropertyAccessExpression 1896285 1896310 + Identifier 1896285 1896296 + Identifier 1896297 1896310 + ReturnStatement 1896311 1896440 + BinaryExpression 1896335 1896439 + PrefixUnaryExpression 1896335 1896371 + PropertyAccessExpression 1896337 1896371 + ParenthesizedExpression 1896337 1896360 + AsExpression 1896338 1896359 + Identifier 1896338 1896342 + TypeReference 1896345 1896359 + Identifier 1896345 1896359 + Identifier 1896361 1896371 + BarBarToken 1896371 1896374 + CallExpression 1896374 1896439 + Identifier 1896374 1896402 + NonNullExpression 1896403 1896438 + PropertyAccessExpression 1896403 1896437 + ParenthesizedExpression 1896403 1896426 + AsExpression 1896404 1896425 + Identifier 1896404 1896408 + TypeReference 1896411 1896425 + Identifier 1896411 1896425 + Identifier 1896427 1896437 + ReturnStatement 1896451 1896474 + FalseKeyword 1896467 1896473 + FunctionDeclaration 1896481 1898402 + Identifier 1896497 1896539 + Parameter 1896540 1896569 + Identifier 1896540 1896544 + TypeReference 1896545 1896569 + Identifier 1896545 1896569 + Parameter 1896570 1896596 + Identifier 1896570 1896585 + TypeReference 1896586 1896596 + Identifier 1896586 1896596 + Block 1896597 1898402 + VariableStatement 1896599 1896672 + VariableDeclarationList 1896599 1896671 + VariableDeclaration 1896614 1896671 + Identifier 1896614 1896618 + TemplateExpression 1896620 1896671 + TemplateHead 1896620 1896625 + TemplateSpan 1896625 1896644 + CallExpression 1896625 1896640 + Identifier 1896625 1896634 + Identifier 1896635 1896639 + TemplateMiddle 1896640 1896644 + TemplateSpan 1896644 1896671 + CallExpression 1896644 1896669 + Identifier 1896644 1896653 + Identifier 1896654 1896668 + TemplateTail 1896669 1896671 + ReturnStatement 1896672 1898395 + BinaryExpression 1896688 1898394 + CallExpression 1896688 1896707 + Identifier 1896688 1896702 + Identifier 1896703 1896706 + QuestionQuestionToken 1896707 1896710 + CallExpression 1896710 1898394 + Identifier 1896710 1896724 + Identifier 1896725 1896742 + BinaryExpression 1896743 1898382 + CallExpression 1896743 1896822 + Identifier 1896743 1896800 + Identifier 1896801 1896815 + Identifier 1896816 1896821 + QuestionQuestionToken 1896822 1896825 + CallExpression 1896825 1898382 + Identifier 1896825 1896862 + Identifier 1896863 1896895 + CallExpression 1896896 1898329 + Identifier 1896896 1896925 + CallExpression 1896926 1897944 + Identifier 1896926 1896951 + CallExpression 1896952 1897735 + Identifier 1896952 1896984 + PropertyAccessExpression 1896985 1897000 + Identifier 1896985 1896989 + Identifier 1896990 1897000 + ArrowFunction 1897001 1897734 + Parameter 1897003 1897004 + Identifier 1897003 1897004 + TypePredicate 1897006 1897060 + Identifier 1897006 1897008 + UnionType 1897011 1897060 + TypeReference 1897011 1897030 + Identifier 1897011 1897030 + TypeReference 1897032 1897060 + Identifier 1897032 1897060 + EqualsGreaterThanToken 1897060 1897063 + Block 1897063 1897734 + IfStatement 1897065 1897189 + PrefixUnaryExpression 1897099 1897108 + PropertyAccessExpression 1897100 1897108 + Identifier 1897100 1897101 + Identifier 1897102 1897108 + Block 1897109 1897189 + ReturnStatement 1897111 1897158 + FalseKeyword 1897151 1897157 + IfStatement 1897189 1897445 + BinaryExpression 1897223 1897263 + PropertyAccessExpression 1897223 1897229 + Identifier 1897223 1897224 + Identifier 1897225 1897229 + EqualsEqualsEqualsToken 1897229 1897233 + PropertyAccessExpression 1897233 1897263 + Identifier 1897233 1897244 + Identifier 1897245 1897263 + Block 1897264 1897445 + ReturnStatement 1897266 1897414 + BinaryExpression 1897306 1897413 + CallExpression 1897306 1897349 + Identifier 1897306 1897334 + PropertyAccessExpression 1897335 1897348 + Identifier 1897335 1897336 + Identifier 1897337 1897348 + AmpersandAmpersandToken 1897349 1897352 + CallExpression 1897352 1897413 + Identifier 1897352 1897375 + Identifier 1897376 1897390 + PropertyAccessExpression 1897391 1897412 + PropertyAccessExpression 1897391 1897400 + Identifier 1897391 1897393 + Identifier 1897394 1897400 + Identifier 1897401 1897412 + IfStatement 1897445 1897664 + BinaryExpression 1897479 1897528 + PropertyAccessExpression 1897479 1897485 + Identifier 1897479 1897480 + Identifier 1897481 1897485 + EqualsEqualsEqualsToken 1897485 1897489 + PropertyAccessExpression 1897489 1897528 + Identifier 1897489 1897500 + Identifier 1897501 1897528 + Block 1897529 1897664 + ReturnStatement 1897531 1897633 + CallExpression 1897571 1897632 + Identifier 1897571 1897594 + Identifier 1897595 1897609 + PropertyAccessExpression 1897610 1897631 + PropertyAccessExpression 1897610 1897619 + Identifier 1897610 1897612 + Identifier 1897613 1897619 + Identifier 1897620 1897631 + ReturnStatement 1897664 1897707 + FalseKeyword 1897700 1897706 + ArrowFunction 1897736 1897920 + Parameter 1897736 1897766 + Identifier 1897736 1897766 + EqualsGreaterThanToken 1897766 1897769 + ParenthesizedExpression 1897769 1897920 + AsExpression 1897771 1897919 + ArrayLiteralExpression 1897771 1897910 + ArrowFunction 1897772 1897884 + EqualsGreaterThanToken 1897774 1897777 + CallExpression 1897777 1897884 + Identifier 1897777 1897808 + ConditionalExpression 1897809 1897883 + BinaryExpression 1897809 1897852 + PropertyAccessExpression 1897809 1897818 + Identifier 1897809 1897813 + Identifier 1897814 1897818 + EqualsEqualsEqualsToken 1897818 1897822 + PropertyAccessExpression 1897822 1897852 + Identifier 1897822 1897833 + Identifier 1897834 1897852 + QuestionToken 1897852 1897854 + PropertyAccessExpression 1897854 1897871 + Identifier 1897854 1897859 + Identifier 1897860 1897871 + ColonToken 1897871 1897873 + PropertyAccessExpression 1897873 1897883 + Identifier 1897873 1897878 + Identifier 1897879 1897883 + PropertyAccessExpression 1897885 1897909 + PropertyAccessExpression 1897885 1897897 + Identifier 1897885 1897890 + Identifier 1897891 1897897 + Identifier 1897898 1897909 + TypeReference 1897913 1897919 + Identifier 1897913 1897919 + CallExpression 1897945 1898309 + Identifier 1897945 1897970 + CallExpression 1897971 1898208 + Identifier 1897971 1898003 + CallExpression 1898004 1898039 + Identifier 1898004 1898023 + Identifier 1898024 1898038 + ArrowFunction 1898040 1898207 + Parameter 1898040 1898042 + Identifier 1898040 1898042 + EqualsGreaterThanToken 1898042 1898045 + BinaryExpression 1898045 1898207 + BinaryExpression 1898045 1898150 + BinaryExpression 1898045 1898107 + PrefixUnaryExpression 1898045 1898080 + PrefixUnaryExpression 1898047 1898080 + ParenthesizedExpression 1898048 1898080 + BinaryExpression 1898049 1898079 + PropertyAccessExpression 1898049 1898056 + Identifier 1898049 1898050 + Identifier 1898051 1898056 + AmpersandToken 1898056 1898058 + PropertyAccessExpression 1898058 1898079 + Identifier 1898058 1898070 + Identifier 1898071 1898079 + AmpersandAmpersandToken 1898080 1898083 + PrefixUnaryExpression 1898083 1898107 + PrefixUnaryExpression 1898085 1898107 + PropertyAccessExpression 1898086 1898107 + PropertyAccessExpression 1898086 1898098 + Identifier 1898086 1898090 + QuestionDotToken 1898090 1898092 + Identifier 1898092 1898098 + QuestionDotToken 1898098 1898100 + Identifier 1898100 1898107 + AmpersandAmpersandToken 1898107 1898110 + PrefixUnaryExpression 1898110 1898150 + CallExpression 1898112 1898150 + PropertyAccessExpression 1898112 1898135 + PropertyAccessExpression 1898112 1898131 + PropertyAccessExpression 1898112 1898123 + Identifier 1898112 1898116 + Identifier 1898117 1898123 + Identifier 1898124 1898131 + Identifier 1898132 1898135 + PropertyAccessExpression 1898136 1898149 + Identifier 1898136 1898137 + Identifier 1898138 1898149 + AmpersandAmpersandToken 1898150 1898153 + CallExpression 1898153 1898207 + Identifier 1898153 1898176 + Identifier 1898177 1898191 + PropertyAccessExpression 1898192 1898206 + Identifier 1898192 1898194 + Identifier 1898195 1898206 + ArrowFunction 1898209 1898285 + Parameter 1898209 1898236 + Identifier 1898209 1898236 + EqualsGreaterThanToken 1898236 1898239 + AsExpression 1898239 1898285 + ArrayLiteralExpression 1898239 1898276 + ArrowFunction 1898241 1898260 + EqualsGreaterThanToken 1898243 1898246 + Identifier 1898246 1898260 + PropertyAccessExpression 1898261 1898275 + Identifier 1898261 1898263 + Identifier 1898264 1898275 + TypeReference 1898279 1898285 + Identifier 1898279 1898285 + Identifier 1898330 1898366 + FunctionDeclaration 1898402 1900346 + Identifier 1898418 1898460 + Parameter 1898461 1898480 + Identifier 1898461 1898465 + TypeReference 1898466 1898480 + Identifier 1898466 1898480 + Parameter 1898481 1898507 + Identifier 1898481 1898496 + TypeReference 1898497 1898507 + Identifier 1898497 1898507 + Block 1898508 1900346 + VariableStatement 1898510 1898583 + VariableDeclarationList 1898510 1898582 + VariableDeclaration 1898525 1898582 + Identifier 1898525 1898529 + TemplateExpression 1898531 1898582 + TemplateHead 1898531 1898536 + TemplateSpan 1898536 1898555 + CallExpression 1898536 1898551 + Identifier 1898536 1898545 + Identifier 1898546 1898550 + TemplateMiddle 1898551 1898555 + TemplateSpan 1898555 1898582 + CallExpression 1898555 1898580 + Identifier 1898555 1898564 + Identifier 1898565 1898579 + TemplateTail 1898580 1898582 + VariableStatement 1898583 1898627 + VariableDeclarationList 1898583 1898626 + VariableDeclaration 1898598 1898626 + Identifier 1898598 1898605 + CallExpression 1898607 1898626 + Identifier 1898607 1898621 + Identifier 1898622 1898625 + IfStatement 1898627 1898663 + Identifier 1898641 1898647 + ReturnStatement 1898648 1898663 + Identifier 1898655 1898662 + VariableStatement 1898663 1898764 + VariableDeclarationList 1898663 1898763 + VariableDeclaration 1898678 1898763 + Identifier 1898678 1898702 + CallExpression 1898704 1898763 + Identifier 1898704 1898738 + CallExpression 1898739 1898762 + Identifier 1898739 1898756 + Identifier 1898757 1898761 + ReturnStatement 1898764 1900339 + CallExpression 1898780 1900338 + Identifier 1898780 1898794 + Identifier 1898795 1898812 + CallExpression 1898813 1900326 + Identifier 1898813 1898863 + Identifier 1898864 1898896 + CallExpression 1898897 1900273 + Identifier 1898897 1898926 + CallExpression 1898927 1899416 + Identifier 1898927 1898952 + CallExpression 1898953 1899187 + Identifier 1898953 1898985 + PropertyAccessExpression 1898986 1899001 + Identifier 1898986 1898990 + Identifier 1898991 1899001 + ArrowFunction 1899002 1899186 + Parameter 1899002 1899004 + Identifier 1899002 1899004 + EqualsGreaterThanToken 1899004 1899007 + BinaryExpression 1899007 1899186 + BinaryExpression 1899007 1899120 + BinaryExpression 1899007 1899056 + PrefixUnaryExpression 1899007 1899018 + PrefixUnaryExpression 1899009 1899018 + PropertyAccessExpression 1899010 1899018 + Identifier 1899010 1899011 + Identifier 1899012 1899018 + AmpersandAmpersandToken 1899018 1899021 + BinaryExpression 1899021 1899056 + PropertyAccessExpression 1899021 1899028 + Identifier 1899021 1899023 + Identifier 1899024 1899028 + EqualsEqualsEqualsToken 1899028 1899032 + PropertyAccessExpression 1899032 1899056 + Identifier 1899032 1899043 + Identifier 1899044 1899056 + AmpersandAmpersandToken 1899056 1899059 + CallExpression 1899059 1899120 + Identifier 1899059 1899082 + Identifier 1899083 1899097 + PropertyAccessExpression 1899098 1899119 + PropertyAccessExpression 1899098 1899107 + Identifier 1899098 1899100 + Identifier 1899101 1899107 + Identifier 1899108 1899119 + AmpersandAmpersandToken 1899120 1899123 + ParenthesizedExpression 1899123 1899186 + BinaryExpression 1899125 1899185 + PrefixUnaryExpression 1899125 1899139 + PropertyAccessExpression 1899126 1899139 + Identifier 1899126 1899127 + Identifier 1899128 1899139 + BarBarToken 1899139 1899142 + CallExpression 1899142 1899185 + Identifier 1899142 1899170 + PropertyAccessExpression 1899171 1899184 + Identifier 1899171 1899172 + Identifier 1899173 1899184 + ArrowFunction 1899188 1899392 + Parameter 1899188 1899218 + Identifier 1899188 1899218 + EqualsGreaterThanToken 1899218 1899221 + ParenthesizedExpression 1899221 1899392 + AsExpression 1899223 1899391 + ArrayLiteralExpression 1899223 1899382 + ConditionalExpression 1899224 1899356 + PrefixUnaryExpression 1899224 1899259 + PropertyAccessExpression 1899225 1899259 + ParenthesizedExpression 1899225 1899247 + AsExpression 1899226 1899246 + Identifier 1899226 1899230 + TypeReference 1899233 1899246 + Identifier 1899233 1899246 + Identifier 1899248 1899259 + QuestionToken 1899259 1899261 + ParenthesizedExpression 1899261 1899278 + ArrowFunction 1899263 1899277 + EqualsGreaterThanToken 1899265 1899268 + Identifier 1899268 1899277 + ColonToken 1899278 1899280 + ParenthesizedExpression 1899280 1899356 + ArrowFunction 1899282 1899355 + EqualsGreaterThanToken 1899284 1899287 + CallExpression 1899287 1899355 + Identifier 1899287 1899318 + NonNullExpression 1899319 1899354 + PropertyAccessExpression 1899319 1899353 + ParenthesizedExpression 1899319 1899341 + AsExpression 1899320 1899340 + Identifier 1899320 1899324 + TypeReference 1899327 1899340 + Identifier 1899327 1899340 + Identifier 1899342 1899353 + PropertyAccessExpression 1899357 1899381 + PropertyAccessExpression 1899357 1899369 + Identifier 1899357 1899362 + Identifier 1899363 1899369 + Identifier 1899370 1899381 + TypeReference 1899385 1899391 + Identifier 1899385 1899391 + CallExpression 1899417 1900253 + Identifier 1899417 1899442 + CallExpression 1899443 1900152 + Identifier 1899443 1899475 + CallExpression 1899476 1899511 + Identifier 1899476 1899495 + Identifier 1899496 1899510 + ArrowFunction 1899512 1900151 + Parameter 1899512 1899514 + Identifier 1899512 1899514 + EqualsGreaterThanToken 1899514 1899517 + Block 1899517 1900151 + IfStatement 1899519 1899693 + BinaryExpression 1899553 1899612 + PrefixUnaryExpression 1899553 1899586 + ParenthesizedExpression 1899554 1899586 + BinaryExpression 1899555 1899585 + PropertyAccessExpression 1899555 1899562 + Identifier 1899555 1899556 + Identifier 1899557 1899562 + AmpersandToken 1899562 1899564 + PropertyAccessExpression 1899564 1899585 + Identifier 1899564 1899576 + Identifier 1899577 1899585 + BarBarToken 1899586 1899589 + PrefixUnaryExpression 1899589 1899612 + PropertyAccessExpression 1899591 1899612 + PropertyAccessExpression 1899591 1899603 + Identifier 1899591 1899595 + QuestionDotToken 1899595 1899597 + Identifier 1899597 1899603 + QuestionDotToken 1899603 1899605 + Identifier 1899605 1899612 + Block 1899613 1899693 + ReturnStatement 1899615 1899662 + FalseKeyword 1899655 1899661 + VariableStatement 1899693 1899758 + VariableDeclarationList 1899693 1899757 + VariableDeclaration 1899728 1899757 + Identifier 1899728 1899736 + PropertyAccessExpression 1899738 1899757 + PropertyAccessExpression 1899738 1899750 + Identifier 1899738 1899743 + Identifier 1899744 1899750 + Identifier 1899751 1899757 + IfStatement 1899758 1899990 + BinaryExpression 1899792 1899909 + BinaryExpression 1899792 1899858 + BinaryExpression 1899792 1899833 + PropertyAccessExpression 1899792 1899805 + Identifier 1899792 1899793 + Identifier 1899794 1899805 + EqualsEqualsEqualsToken 1899805 1899809 + Identifier 1899809 1899833 + AmpersandAmpersandToken 1899833 1899836 + CallExpression 1899836 1899858 + Identifier 1899836 1899849 + Identifier 1899850 1899857 + AmpersandAmpersandToken 1899858 1899861 + PropertyAccessExpression 1899861 1899909 + CallExpression 1899861 1899902 + Identifier 1899861 1899884 + PropertyAccessExpression 1899885 1899901 + Identifier 1899885 1899892 + Identifier 1899893 1899901 + Identifier 1899903 1899909 + Block 1899910 1899990 + ReturnStatement 1899912 1899959 + FalseKeyword 1899952 1899958 + ReturnStatement 1899990 1900124 + BinaryExpression 1900026 1900123 + PrefixUnaryExpression 1900026 1900066 + CallExpression 1900028 1900066 + PropertyAccessExpression 1900028 1900051 + PropertyAccessExpression 1900028 1900047 + PropertyAccessExpression 1900028 1900039 + Identifier 1900028 1900032 + Identifier 1900033 1900039 + Identifier 1900040 1900047 + Identifier 1900048 1900051 + PropertyAccessExpression 1900052 1900065 + Identifier 1900052 1900053 + Identifier 1900054 1900065 + AmpersandAmpersandToken 1900066 1900069 + CallExpression 1900069 1900123 + Identifier 1900069 1900092 + Identifier 1900093 1900107 + PropertyAccessExpression 1900108 1900122 + Identifier 1900108 1900110 + Identifier 1900111 1900122 + ArrowFunction 1900153 1900229 + Parameter 1900153 1900180 + Identifier 1900153 1900180 + EqualsGreaterThanToken 1900180 1900183 + AsExpression 1900183 1900229 + ArrayLiteralExpression 1900183 1900220 + ArrowFunction 1900185 1900204 + EqualsGreaterThanToken 1900187 1900190 + Identifier 1900190 1900204 + PropertyAccessExpression 1900205 1900219 + Identifier 1900205 1900207 + Identifier 1900208 1900219 + TypeReference 1900223 1900229 + Identifier 1900223 1900229 + Identifier 1900274 1900310 + FunctionDeclaration 1900346 1902275 + Identifier 1900555 1900587 + Parameter 1900588 1900624 + Identifier 1900588 1900592 + UnionType 1900593 1900624 + TypeReference 1900593 1900604 + Identifier 1900593 1900604 + TypeReference 1900606 1900624 + Identifier 1900606 1900624 + Parameter 1900625 1900664 + Identifier 1900625 1900638 + UnionType 1900639 1900664 + TypeReference 1900639 1900652 + Identifier 1900639 1900652 + UndefinedKeyword 1900654 1900664 + UnionType 1900666 1900683 + TypeReference 1900666 1900671 + Identifier 1900666 1900671 + UndefinedKeyword 1900673 1900683 + Block 1900683 1902275 + VariableStatement 1900685 1900874 + VariableDeclarationList 1900685 1900873 + VariableDeclaration 1900700 1900873 + Identifier 1900700 1900715 + ConditionalExpression 1900717 1900873 + CallExpression 1900717 1900745 + Identifier 1900717 1900739 + Identifier 1900740 1900744 + QuestionToken 1900745 1900747 + CallExpression 1900747 1900820 + Identifier 1900747 1900800 + Identifier 1900801 1900805 + Identifier 1900806 1900819 + ColonToken 1900820 1900822 + CallExpression 1900822 1900873 + Identifier 1900822 1900853 + Identifier 1900854 1900858 + Identifier 1900859 1900872 + VariableStatement 1900874 1900971 + VariableDeclarationList 1900874 1900970 + VariableDeclaration 1900889 1900970 + Identifier 1900889 1900906 + CallExpression 1900908 1900970 + Identifier 1900908 1900934 + Identifier 1900935 1900949 + Identifier 1900950 1900955 + Identifier 1900956 1900969 + IfStatement 1900971 1902268 + BinaryExpression 1900985 1901116 + Identifier 1900985 1901001 + AmpersandAmpersandToken 1901001 1901004 + PrefixUnaryExpression 1901004 1901116 + ParenthesizedExpression 1901006 1901116 + BinaryExpression 1901007 1901115 + BinaryExpression 1901007 1901064 + Identifier 1901007 1901019 + AmpersandAmpersandToken 1901019 1901022 + BinaryExpression 1901022 1901064 + Identifier 1901022 1901035 + AmpersandToken 1901035 1901037 + PropertyAccessExpression 1901037 1901064 + Identifier 1901037 1901050 + Identifier 1901051 1901064 + AmpersandAmpersandToken 1901064 1901067 + BinaryExpression 1901067 1901115 + PropertyAccessExpression 1901067 1901090 + Identifier 1901067 1901084 + Identifier 1901085 1901090 + AmpersandToken 1901090 1901092 + PropertyAccessExpression 1901092 1901115 + Identifier 1901092 1901102 + Identifier 1901103 1901115 + Block 1901117 1902268 + VariableStatement 1901119 1901897 + VariableDeclarationList 1901119 1901896 + VariableDeclaration 1901138 1901896 + Identifier 1901138 1901151 + CallExpression 1901153 1901896 + Identifier 1901153 1901161 + Identifier 1901162 1901196 + ArrowFunction 1901197 1901840 + Parameter 1901197 1901773 + Identifier 1901197 1901773 + EqualsGreaterThanToken 1901773 1901776 + ConditionalExpression 1901776 1901840 + BinaryExpression 1901776 1901815 + CallExpression 1901776 1901794 + Identifier 1901776 1901791 + Identifier 1901792 1901793 + AmpersandToken 1901794 1901796 + PropertyAccessExpression 1901796 1901815 + Identifier 1901796 1901808 + Identifier 1901809 1901815 + QuestionToken 1901815 1901817 + Identifier 1901817 1901819 + ColonToken 1901819 1901821 + CallExpression 1901821 1901840 + Identifier 1901821 1901837 + Identifier 1901838 1901839 + TrueKeyword 1901841 1901880 + ReturnStatement 1901897 1902257 + ConditionalExpression 1901917 1902256 + BinaryExpression 1901917 1901989 + BinaryExpression 1901917 1901954 + PropertyAccessExpression 1901917 1901936 + Identifier 1901917 1901930 + Identifier 1901931 1901936 + AmpersandToken 1901936 1901938 + PropertyAccessExpression 1901938 1901954 + Identifier 1901938 1901948 + Identifier 1901949 1901954 + AmpersandAmpersandToken 1901954 1901957 + CallExpression 1901957 1901989 + Identifier 1901957 1901983 + Identifier 1901984 1901988 + QuestionToken 1901989 1901991 + CallExpression 1901991 1902066 + Identifier 1901991 1902033 + Identifier 1902034 1902038 + AsExpression 1902039 1902065 + Identifier 1902039 1902052 + TypeReference 1902055 1902065 + Identifier 1902055 1902065 + ColonToken 1902066 1902068 + ConditionalExpression 1902068 1902256 + BinaryExpression 1902068 1902147 + BinaryExpression 1902068 1902122 + PropertyAccessExpression 1902068 1902104 + Identifier 1902068 1902098 + Identifier 1902099 1902104 + AmpersandToken 1902104 1902106 + PropertyAccessExpression 1902106 1902122 + Identifier 1902106 1902116 + Identifier 1902117 1902122 + AmpersandAmpersandToken 1902122 1902125 + CallExpression 1902125 1902147 + Identifier 1902125 1902141 + Identifier 1902142 1902146 + QuestionToken 1902147 1902149 + CallExpression 1902149 1902224 + Identifier 1902149 1902191 + Identifier 1902192 1902196 + AsExpression 1902197 1902223 + Identifier 1902197 1902210 + TypeReference 1902213 1902223 + Identifier 1902213 1902223 + ColonToken 1902224 1902226 + Identifier 1902226 1902256 + FunctionDeclaration 1902275 1904408 + Identifier 1902473 1902499 + Parameter 1902500 1902532 + Identifier 1902500 1902514 + UnionType 1902515 1902532 + TypeReference 1902515 1902520 + Identifier 1902515 1902520 + UndefinedKeyword 1902522 1902532 + Parameter 1902533 1902544 + Identifier 1902533 1902538 + TypeReference 1902539 1902544 + Identifier 1902539 1902544 + Parameter 1902545 1902584 + Identifier 1902545 1902558 + UnionType 1902559 1902584 + TypeReference 1902559 1902572 + Identifier 1902559 1902572 + UndefinedKeyword 1902574 1902584 + UnionType 1902586 1902603 + TypeReference 1902586 1902591 + Identifier 1902586 1902591 + UndefinedKeyword 1902593 1902603 + Block 1902603 1904408 + IfStatement 1902605 1904369 + BinaryExpression 1902619 1902692 + Identifier 1902619 1902633 + AmpersandAmpersandToken 1902633 1902636 + CallExpression 1902636 1902692 + Identifier 1902636 1902652 + Identifier 1902653 1902667 + PropertyAccessExpression 1902668 1902691 + Identifier 1902668 1902678 + Identifier 1902679 1902691 + Block 1902693 1904369 + VariableStatement 1902695 1902760 + VariableDeclarationList 1902695 1902759 + VariableDeclaration 1902714 1902759 + Identifier 1902714 1902731 + CallExpression 1902733 1902759 + Identifier 1902733 1902753 + Identifier 1902754 1902758 + IfStatement 1902760 1903508 + BinaryExpression 1903073 1903201 + BinaryExpression 1903073 1903131 + Identifier 1903073 1903089 + AmpersandAmpersandToken 1903089 1903092 + BinaryExpression 1903092 1903131 + NonNullExpression 1903092 1903106 + Identifier 1903092 1903105 + AmpersandToken 1903106 1903108 + PropertyAccessExpression 1903108 1903131 + Identifier 1903108 1903121 + Identifier 1903122 1903131 + AmpersandAmpersandToken 1903131 1903134 + CallExpression 1903134 1903201 + Identifier 1903134 1903139 + PropertyAccessExpression 1903140 1903167 + Identifier 1903140 1903156 + Identifier 1903157 1903167 + Identifier 1903168 1903200 + Block 1903202 1903508 + ReturnStatement 1903204 1903493 + CallExpression 1903413 1903492 + Identifier 1903413 1903442 + Identifier 1903443 1903457 + PropertyAccessExpression 1903458 1903491 + Identifier 1903458 1903475 + Identifier 1903476 1903491 + IfStatement 1903508 1904358 + PropertyAccessExpression 1903526 1903556 + Identifier 1903526 1903542 + QuestionDotToken 1903542 1903544 + Identifier 1903544 1903556 + Block 1903557 1904358 + VariableStatement 1903559 1904046 + VariableDeclarationList 1903559 1904045 + VariableDeclaration 1903962 1904045 + Identifier 1903962 1903967 + CallExpression 1903969 1904045 + Identifier 1903969 1903998 + Identifier 1903999 1904013 + PropertyAccessExpression 1904014 1904044 + Identifier 1904014 1904031 + Identifier 1904032 1904044 + ReturnStatement 1904046 1904343 + ConditionalExpression 1904070 1904342 + BinaryExpression 1904070 1904220 + BinaryExpression 1904070 1904160 + BinaryExpression 1904070 1904099 + PropertyAccessExpression 1904070 1904081 + Identifier 1904070 1904075 + Identifier 1904076 1904081 + AmpersandToken 1904081 1904083 + PropertyAccessExpression 1904083 1904099 + Identifier 1904083 1904093 + Identifier 1904094 1904099 + AmpersandAmpersandToken 1904099 1904102 + CallExpression 1904102 1904160 + Identifier 1904102 1904115 + PropertyAccessExpression 1904116 1904141 + ParenthesizedExpression 1904116 1904135 + AsExpression 1904117 1904134 + Identifier 1904117 1904121 + TypeReference 1904124 1904134 + Identifier 1904124 1904134 + Identifier 1904136 1904141 + Identifier 1904142 1904159 + AmpersandAmpersandToken 1904160 1904163 + CallExpression 1904163 1904220 + Identifier 1904163 1904176 + PropertyAccessExpression 1904177 1904202 + ParenthesizedExpression 1904177 1904196 + AsExpression 1904178 1904195 + Identifier 1904178 1904182 + TypeReference 1904185 1904195 + Identifier 1904185 1904195 + Identifier 1904197 1904202 + Identifier 1904203 1904219 + QuestionToken 1904220 1904222 + CallExpression 1904222 1904314 + Identifier 1904222 1904254 + Identifier 1904255 1904259 + ArrowFunction 1904260 1904313 + Parameter 1904260 1904262 + Identifier 1904260 1904262 + EqualsGreaterThanToken 1904262 1904265 + BinaryExpression 1904265 1904313 + BinaryExpression 1904265 1904288 + Identifier 1904265 1904267 + ExclamationEqualsEqualsToken 1904267 1904271 + Identifier 1904271 1904288 + AmpersandAmpersandToken 1904288 1904291 + BinaryExpression 1904291 1904313 + Identifier 1904291 1904293 + ExclamationEqualsEqualsToken 1904293 1904297 + Identifier 1904297 1904313 + ColonToken 1904314 1904316 + Identifier 1904316 1904342 + ReturnStatement 1904369 1904401 + Identifier 1904385 1904400 + FunctionDeclaration 1904408 1905269 + Identifier 1904679 1904708 + Parameter 1904709 1904719 + Identifier 1904709 1904713 + TypeReference 1904714 1904719 + Identifier 1904714 1904719 + Parameter 1904720 1904739 + Identifier 1904720 1904727 + TypeReference 1904728 1904739 + Identifier 1904728 1904739 + TypeReference 1904741 1904746 + Identifier 1904741 1904746 + Block 1904746 1905269 + IfStatement 1904748 1904862 + BinaryExpression 1904762 1904797 + PropertyAccessExpression 1904762 1904772 + Identifier 1904762 1904766 + Identifier 1904767 1904772 + AmpersandToken 1904772 1904774 + PropertyAccessExpression 1904774 1904797 + Identifier 1904774 1904784 + Identifier 1904785 1904797 + Block 1904798 1904862 + ReturnStatement 1904800 1904851 + CallExpression 1904820 1904850 + Identifier 1904820 1904836 + Identifier 1904837 1904841 + Identifier 1904842 1904849 + IfStatement 1904862 1905051 + BinaryExpression 1904876 1904904 + PropertyAccessExpression 1904876 1904886 + Identifier 1904876 1904880 + Identifier 1904881 1904886 + AmpersandToken 1904886 1904888 + PropertyAccessExpression 1904888 1904904 + Identifier 1904888 1904898 + Identifier 1904899 1904904 + Block 1904905 1905051 + ReturnStatement 1904907 1905040 + CallExpression 1904927 1905039 + Identifier 1904927 1904940 + CallExpression 1904941 1905017 + Identifier 1904941 1904944 + PropertyAccessExpression 1904945 1904970 + ParenthesizedExpression 1904945 1904964 + AsExpression 1904946 1904963 + Identifier 1904946 1904950 + TypeReference 1904953 1904963 + Identifier 1904953 1904963 + Identifier 1904965 1904970 + ArrowFunction 1904971 1905016 + Parameter 1904971 1904973 + Identifier 1904971 1904973 + EqualsGreaterThanToken 1904973 1904976 + CallExpression 1904976 1905016 + Identifier 1904976 1905005 + Identifier 1905006 1905007 + Identifier 1905008 1905015 + PropertyAccessExpression 1905018 1905038 + Identifier 1905018 1905033 + Identifier 1905034 1905038 + IfStatement 1905051 1905240 + BinaryExpression 1905065 1905100 + PropertyAccessExpression 1905065 1905075 + Identifier 1905065 1905069 + Identifier 1905070 1905075 + AmpersandToken 1905075 1905077 + PropertyAccessExpression 1905077 1905100 + Identifier 1905077 1905087 + Identifier 1905088 1905100 + Block 1905101 1905240 + ReturnStatement 1905103 1905229 + CallExpression 1905123 1905228 + Identifier 1905123 1905143 + CallExpression 1905144 1905227 + Identifier 1905144 1905147 + PropertyAccessExpression 1905148 1905180 + ParenthesizedExpression 1905148 1905174 + AsExpression 1905149 1905173 + Identifier 1905149 1905153 + TypeReference 1905156 1905173 + Identifier 1905156 1905173 + Identifier 1905175 1905180 + ArrowFunction 1905181 1905226 + Parameter 1905181 1905183 + Identifier 1905181 1905183 + EqualsGreaterThanToken 1905183 1905186 + CallExpression 1905186 1905226 + Identifier 1905186 1905215 + Identifier 1905216 1905217 + Identifier 1905218 1905225 + ReturnStatement 1905240 1905262 + Identifier 1905256 1905261 + FunctionDeclaration 1905269 1911681 + Identifier 1906170 1906188 + Parameter 1906189 1906205 + Identifier 1906189 1906193 + TypeReference 1906194 1906205 + Identifier 1906194 1906205 + Parameter 1906206 1906245 + Identifier 1906206 1906219 + UnionType 1906220 1906245 + TypeReference 1906220 1906233 + Identifier 1906220 1906233 + UndefinedKeyword 1906235 1906245 + UnionType 1906247 1906264 + TypeReference 1906247 1906252 + Identifier 1906247 1906252 + UndefinedKeyword 1906254 1906264 + Block 1906264 1911681 + IfStatement 1906266 1906463 + BinaryExpression 1906280 1906318 + PropertyAccessExpression 1906280 1906290 + Identifier 1906280 1906284 + Identifier 1906285 1906290 + AmpersandToken 1906290 1906292 + PropertyAccessExpression 1906292 1906318 + Identifier 1906292 1906302 + Identifier 1906303 1906318 + Block 1906319 1906463 + ReturnStatement 1906321 1906452 + Identifier 1906441 1906451 + VariableStatement 1906463 1906691 + VariableDeclarationList 1906463 1906690 + VariableDeclaration 1906624 1906690 + Identifier 1906624 1906630 + CallExpression 1906632 1906690 + Identifier 1906632 1906651 + Identifier 1906652 1906656 + PrefixUnaryExpression 1906657 1906689 + Identifier 1906677 1906689 + IfStatement 1906691 1906773 + BinaryExpression 1906705 1906715 + Identifier 1906705 1906710 + GreaterThanEqualsToken 1906710 1906713 + NumericLiteral 1906713 1906715 + Block 1906716 1906773 + ReturnStatement 1906718 1906762 + ElementAccessExpression 1906738 1906761 + Identifier 1906738 1906754 + Identifier 1906755 1906760 + VariableStatement 1906773 1906807 + VariableDeclarationList 1906773 1906806 + VariableDeclaration 1906788 1906806 + ObjectBindingPattern 1906788 1906799 + BindingElement 1906790 1906797 + Identifier 1906790 1906797 + Identifier 1906801 1906806 + SwitchStatement 1906807 1911647 + PropertyAccessExpression 1906825 1906836 + Identifier 1906825 1906831 + Identifier 1906832 1906836 + CaseBlock 1906837 1911647 + CaseClause 1906839 1906889 + PropertyAccessExpression 1906857 1906888 + Identifier 1906857 1906868 + Identifier 1906869 1906888 + CaseClause 1906889 1906929 + PropertyAccessExpression 1906907 1906928 + Identifier 1906907 1906918 + Identifier 1906919 1906928 + CaseClause 1906929 1906979 + PropertyAccessExpression 1906947 1906978 + Identifier 1906947 1906958 + Identifier 1906959 1906978 + CaseClause 1906979 1907027 + PropertyAccessExpression 1906997 1907026 + Identifier 1906997 1907008 + Identifier 1907009 1907026 + CaseClause 1907027 1907159 + PropertyAccessExpression 1907045 1907071 + Identifier 1907045 1907056 + Identifier 1907057 1907071 + ReturnStatement 1907072 1907159 + CallExpression 1907096 1907158 + Identifier 1907096 1907138 + Identifier 1907139 1907143 + Identifier 1907144 1907157 + CaseClause 1907159 1907203 + PropertyAccessExpression 1907177 1907202 + Identifier 1907177 1907188 + Identifier 1907189 1907202 + CaseClause 1907203 1907331 + PropertyAccessExpression 1907221 1907248 + Identifier 1907221 1907232 + Identifier 1907233 1907248 + ReturnStatement 1907249 1907331 + CallExpression 1907273 1907330 + Identifier 1907273 1907310 + Identifier 1907311 1907315 + Identifier 1907316 1907329 + CaseClause 1907331 1907476 + PropertyAccessExpression 1907349 1907376 + Identifier 1907349 1907360 + Identifier 1907361 1907376 + ReturnStatement 1907377 1907476 + CallExpression 1907401 1907475 + Identifier 1907401 1907434 + AsExpression 1907435 1907460 + Identifier 1907435 1907441 + TypeReference 1907444 1907460 + Identifier 1907444 1907460 + Identifier 1907461 1907474 + CaseClause 1907476 1907621 + PropertyAccessExpression 1907494 1907521 + Identifier 1907494 1907505 + Identifier 1907506 1907521 + ReturnStatement 1907522 1907621 + CallExpression 1907546 1907620 + Identifier 1907546 1907579 + AsExpression 1907580 1907605 + Identifier 1907580 1907586 + TypeReference 1907589 1907605 + Identifier 1907589 1907605 + Identifier 1907606 1907619 + CaseClause 1907621 1907666 + PropertyAccessExpression 1907639 1907665 + Identifier 1907639 1907650 + Identifier 1907651 1907665 + CaseClause 1907666 1907824 + PropertyAccessExpression 1907684 1907709 + Identifier 1907684 1907695 + Identifier 1907696 1907709 + ReturnStatement 1907710 1907824 + CallExpression 1907734 1907823 + Identifier 1907734 1907763 + AsExpression 1907764 1907816 + Identifier 1907764 1907770 + UnionType 1907773 1907816 + TypeReference 1907773 1907788 + Identifier 1907773 1907788 + TypeReference 1907790 1907804 + Identifier 1907790 1907804 + TypeReference 1907806 1907816 + Identifier 1907806 1907816 + Identifier 1907817 1907822 + CaseClause 1907824 1907940 + PropertyAccessExpression 1907842 1907863 + Identifier 1907842 1907853 + Identifier 1907854 1907863 + ReturnStatement 1907864 1907940 + CallExpression 1907888 1907939 + Identifier 1907888 1907918 + AsExpression 1907919 1907938 + Identifier 1907919 1907925 + TypeReference 1907928 1907938 + Identifier 1907928 1907938 + CaseClause 1907940 1907994 + PropertyAccessExpression 1907958 1907993 + Identifier 1907958 1907969 + Identifier 1907970 1907993 + CaseClause 1907994 1908246 + PropertyAccessExpression 1908012 1908036 + Identifier 1908012 1908023 + Identifier 1908024 1908036 + ReturnStatement 1908037 1908246 + ConditionalExpression 1908061 1908245 + CallExpression 1908061 1908120 + Identifier 1908061 1908082 + PropertyAccessExpression 1908083 1908119 + ParenthesizedExpression 1908083 1908114 + AsExpression 1908084 1908113 + Identifier 1908084 1908090 + TypeReference 1908093 1908113 + Identifier 1908093 1908113 + Identifier 1908115 1908119 + QuestionToken 1908120 1908122 + CallExpression 1908122 1908185 + Identifier 1908122 1908140 + AsExpression 1908141 1908170 + Identifier 1908141 1908147 + TypeReference 1908150 1908170 + Identifier 1908150 1908170 + Identifier 1908171 1908184 + ColonToken 1908185 1908187 + CallExpression 1908187 1908245 + Identifier 1908187 1908207 + PropertyAccessExpression 1908208 1908244 + ParenthesizedExpression 1908208 1908239 + AsExpression 1908209 1908238 + Identifier 1908209 1908215 + TypeReference 1908218 1908238 + Identifier 1908218 1908238 + Identifier 1908240 1908244 + CaseClause 1908246 1908372 + PropertyAccessExpression 1908264 1908292 + Identifier 1908264 1908275 + Identifier 1908276 1908292 + ReturnStatement 1908293 1908372 + CallExpression 1908317 1908371 + Identifier 1908317 1908351 + Identifier 1908352 1908356 + Identifier 1908357 1908370 + CaseClause 1908372 1908421 + PropertyAccessExpression 1908390 1908420 + Identifier 1908390 1908401 + Identifier 1908402 1908420 + CaseClause 1908421 1908619 + PropertyAccessExpression 1908439 1908478 + Identifier 1908439 1908450 + Identifier 1908451 1908478 + ReturnStatement 1908479 1908619 + CallExpression 1908503 1908618 + Identifier 1908503 1908544 + AsExpression 1908545 1908603 + Identifier 1908545 1908551 + UnionType 1908554 1908603 + TypeReference 1908554 1908573 + Identifier 1908554 1908573 + TypeReference 1908575 1908603 + Identifier 1908575 1908603 + Identifier 1908604 1908617 + CaseClause 1908619 1908765 + PropertyAccessExpression 1908637 1908665 + Identifier 1908637 1908648 + Identifier 1908649 1908665 + ReturnStatement 1908666 1908765 + CallExpression 1908690 1908764 + Identifier 1908690 1908708 + AsExpression 1908709 1908749 + PropertyAccessExpression 1908709 1908722 + Identifier 1908709 1908715 + Identifier 1908716 1908722 + TypeReference 1908725 1908749 + Identifier 1908725 1908749 + Identifier 1908750 1908763 + CaseClause 1908765 1909357 + PropertyAccessExpression 1908783 1908817 + Identifier 1908783 1908794 + Identifier 1908795 1908817 + Block 1908818 1909357 + VariableStatement 1908820 1908892 + VariableDeclarationList 1908820 1908891 + VariableDeclaration 1908843 1908891 + Identifier 1908843 1908856 + AsExpression 1908858 1908891 + Identifier 1908858 1908865 + TypeReference 1908868 1908891 + Identifier 1908868 1908891 + VariableStatement 1908892 1908983 + VariableDeclarationList 1908892 1908982 + VariableDeclaration 1908915 1908982 + Identifier 1908915 1908920 + CallExpression 1908922 1908982 + Identifier 1908922 1908954 + Identifier 1908955 1908967 + Identifier 1908968 1908981 + VariableStatement 1908983 1909063 + VariableDeclarationList 1908983 1909062 + VariableDeclaration 1909006 1909062 + Identifier 1909006 1909019 + CallExpression 1909021 1909062 + Identifier 1909021 1909033 + PropertyAccessExpression 1909034 1909055 + Identifier 1909034 1909046 + Identifier 1909047 1909055 + Identifier 1909056 1909061 + VariableStatement 1909063 1909188 + VariableDeclarationList 1909063 1909187 + VariableDeclaration 1909086 1909187 + Identifier 1909086 1909100 + BinaryExpression 1909102 1909187 + PropertyAccessExpression 1909102 1909143 + CallExpression 1909102 1909129 + Identifier 1909102 1909115 + Identifier 1909116 1909128 + Identifier 1909130 1909143 + QuestionQuestionEqualsToken 1909143 1909147 + CallExpression 1909147 1909187 + Identifier 1909147 1909164 + PropertyAccessExpression 1909165 1909186 + Identifier 1909165 1909177 + Identifier 1909178 1909186 + ReturnStatement 1909188 1909342 + CallExpression 1909212 1909341 + Identifier 1909212 1909250 + Identifier 1909251 1909255 + Identifier 1909256 1909269 + PropertyAccessExpression 1909270 1909299 + PropertyAccessExpression 1909270 1909292 + Identifier 1909270 1909283 + Identifier 1909284 1909292 + Identifier 1909293 1909299 + PropertyAccessExpression 1909300 1909320 + Identifier 1909300 1909314 + Identifier 1909315 1909320 + PropertyAccessExpression 1909321 1909340 + Identifier 1909321 1909335 + Identifier 1909336 1909340 + CaseClause 1909357 1909493 + PropertyAccessExpression 1909375 1909408 + Identifier 1909375 1909386 + Identifier 1909387 1909408 + ReturnStatement 1909409 1909493 + CallExpression 1909433 1909492 + Identifier 1909433 1909472 + Identifier 1909473 1909477 + Identifier 1909478 1909491 + CaseClause 1909493 1909732 + PropertyAccessExpression 1909511 1909535 + Identifier 1909511 1909522 + Identifier 1909523 1909535 + ExpressionStatement 1909536 1909621 + CallExpression 1909536 1909620 + PropertyAccessExpression 1909536 1909566 + Identifier 1909536 1909559 + Identifier 1909560 1909566 + BinaryExpression 1909567 1909619 + PropertyAccessExpression 1909567 1909585 + PropertyAccessExpression 1909567 1909580 + Identifier 1909567 1909573 + Identifier 1909574 1909580 + Identifier 1909581 1909585 + EqualsEqualsEqualsToken 1909585 1909589 + PropertyAccessExpression 1909589 1909619 + Identifier 1909589 1909600 + Identifier 1909601 1909619 + ReturnStatement 1909621 1909732 + CallExpression 1909645 1909731 + Identifier 1909645 1909688 + AsExpression 1909689 1909724 + PropertyAccessExpression 1909689 1909702 + Identifier 1909689 1909695 + Identifier 1909696 1909702 + TypeReference 1909705 1909724 + Identifier 1909705 1909724 + Identifier 1909725 1909730 + CaseClause 1909732 1910545 + PropertyAccessExpression 1909750 1909785 + Identifier 1909750 1909761 + Identifier 1909762 1909785 + Block 1909786 1910545 + IfStatement 1909788 1910438 + CallExpression 1909810 1909828 + Identifier 1909810 1909820 + Identifier 1909821 1909827 + Block 1909829 1910438 + IfStatement 1909831 1910011 + CallExpression 1909857 1909891 + Identifier 1909857 1909883 + Identifier 1909884 1909890 + Block 1909892 1910011 + ReturnStatement 1909894 1909988 + CallExpression 1909926 1909987 + Identifier 1909926 1909946 + CallExpression 1909947 1909986 + Identifier 1909947 1909978 + Identifier 1909979 1909985 + VariableStatement 1910011 1910224 + VariableDeclarationList 1910011 1910223 + VariableDeclaration 1910189 1910223 + Identifier 1910189 1910197 + CallExpression 1910199 1910223 + Identifier 1910199 1910215 + Identifier 1910216 1910222 + IfStatement 1910224 1910419 + BinaryExpression 1910250 1910311 + Identifier 1910250 1910257 + AmpersandAmpersandToken 1910257 1910260 + PrefixUnaryExpression 1910260 1910311 + CallExpression 1910262 1910311 + Identifier 1910262 1910282 + PropertyAccessExpression 1910283 1910310 + PropertyAccessExpression 1910283 1910305 + Identifier 1910283 1910290 + Identifier 1910291 1910305 + Identifier 1910306 1910310 + Block 1910312 1910419 + ReturnStatement 1910314 1910396 + CallExpression 1910346 1910395 + Identifier 1910346 1910366 + PropertyAccessExpression 1910367 1910394 + PropertyAccessExpression 1910367 1910389 + Identifier 1910367 1910374 + Identifier 1910375 1910389 + Identifier 1910390 1910394 + ReturnStatement 1910438 1910530 + CallExpression 1910462 1910529 + Identifier 1910462 1910480 + AsExpression 1910481 1910514 + Identifier 1910481 1910487 + TypeReference 1910490 1910514 + Identifier 1910490 1910514 + Identifier 1910515 1910528 + CaseClause 1910545 1910679 + PropertyAccessExpression 1910563 1910592 + Identifier 1910563 1910574 + Identifier 1910575 1910592 + ReturnStatement 1910593 1910679 + CallExpression 1910617 1910678 + Identifier 1910617 1910635 + AsExpression 1910636 1910663 + Identifier 1910636 1910642 + TypeReference 1910645 1910663 + Identifier 1910645 1910663 + Identifier 1910664 1910677 + CaseClause 1910679 1910812 + PropertyAccessExpression 1910697 1910728 + Identifier 1910697 1910708 + Identifier 1910709 1910728 + ReturnStatement 1910729 1910812 + CallExpression 1910753 1910811 + Identifier 1910753 1910773 + PropertyAccessExpression 1910774 1910810 + ParenthesizedExpression 1910774 1910805 + AsExpression 1910775 1910804 + Identifier 1910775 1910781 + TypeReference 1910784 1910804 + Identifier 1910784 1910804 + Identifier 1910806 1910810 + CaseClause 1910812 1910944 + PropertyAccessExpression 1910830 1910858 + Identifier 1910830 1910841 + Identifier 1910842 1910858 + ReturnStatement 1910859 1910944 + CallExpression 1910883 1910943 + Identifier 1910883 1910915 + AsExpression 1910916 1910942 + Identifier 1910916 1910922 + TypeReference 1910925 1910942 + Identifier 1910925 1910942 + CaseClause 1910944 1911086 + PropertyAccessExpression 1910962 1910987 + Identifier 1910962 1910973 + Identifier 1910974 1910987 + ReturnStatement 1910988 1911086 + CallExpression 1911012 1911085 + Identifier 1911012 1911046 + AsExpression 1911047 1911070 + Identifier 1911047 1911053 + TypeReference 1911056 1911070 + Identifier 1911056 1911070 + Identifier 1911071 1911084 + CaseClause 1911086 1911129 + PropertyAccessExpression 1911104 1911128 + Identifier 1911104 1911115 + Identifier 1911116 1911128 + CaseClause 1911129 1911295 + PropertyAccessExpression 1911147 1911177 + Identifier 1911147 1911158 + Identifier 1911159 1911177 + ReturnStatement 1911178 1911295 + CallExpression 1911202 1911294 + Identifier 1911202 1911235 + AsExpression 1911236 1911279 + Identifier 1911236 1911242 + UnionType 1911245 1911279 + TypeReference 1911245 1911258 + Identifier 1911245 1911258 + TypeReference 1911260 1911279 + Identifier 1911260 1911279 + Identifier 1911280 1911293 + CaseClause 1911295 1911343 + PropertyAccessExpression 1911313 1911342 + Identifier 1911313 1911324 + Identifier 1911325 1911342 + CaseClause 1911343 1911505 + PropertyAccessExpression 1911361 1911394 + Identifier 1911361 1911372 + Identifier 1911373 1911394 + ReturnStatement 1911395 1911505 + CallExpression 1911419 1911504 + Identifier 1911419 1911457 + AsExpression 1911458 1911489 + Identifier 1911458 1911464 + TypeReference 1911467 1911489 + Identifier 1911467 1911489 + Identifier 1911490 1911503 + CaseClause 1911505 1911636 + PropertyAccessExpression 1911523 1911550 + Identifier 1911523 1911534 + Identifier 1911535 1911550 + ReturnStatement 1911551 1911636 + CallExpression 1911575 1911635 + Identifier 1911575 1911608 + AsExpression 1911609 1911634 + Identifier 1911609 1911615 + TypeReference 1911618 1911634 + Identifier 1911618 1911634 + ReturnStatement 1911647 1911674 + Identifier 1911663 1911673 + FunctionDeclaration 1911681 1911855 + Identifier 1911697 1911722 + Parameter 1911723 1911739 + Identifier 1911723 1911727 + TypeReference 1911728 1911739 + Identifier 1911728 1911739 + Block 1911740 1911855 + ExpressionStatement 1911742 1911848 + CallExpression 1911742 1911847 + Identifier 1911742 1911770 + Identifier 1911771 1911775 + CallExpression 1911776 1911828 + Identifier 1911776 1911794 + Identifier 1911795 1911799 + Identifier 1911800 1911827 + TrueKeyword 1911829 1911846 + FunctionDeclaration 1911855 1912162 + Identifier 1911871 1911890 + Parameter 1911891 1911907 + Identifier 1911891 1911895 + TypeReference 1911896 1911907 + Identifier 1911896 1911907 + Parameter 1911908 1911931 + Identifier 1911908 1911913 + UnionType 1911914 1911931 + TypeReference 1911914 1911919 + Identifier 1911914 1911919 + UndefinedKeyword 1911921 1911931 + Parameter 1911932 1911949 + Identifier 1911932 1911940 + BooleanKeyword 1911941 1911949 + Block 1911950 1912162 + ExpressionStatement 1911952 1912010 + BinaryExpression 1911952 1912009 + ElementAccessExpression 1911952 1912002 + Identifier 1911952 1911981 + Identifier 1911982 1912001 + EqualsToken 1912002 1912004 + Identifier 1912004 1912009 + ExpressionStatement 1912010 1912064 + BinaryExpression 1912010 1912063 + ElementAccessExpression 1912010 1912056 + Identifier 1912010 1912035 + Identifier 1912036 1912055 + EqualsToken 1912056 1912058 + Identifier 1912058 1912063 + ExpressionStatement 1912064 1912123 + BinaryExpression 1912064 1912122 + ElementAccessExpression 1912064 1912112 + Identifier 1912064 1912091 + Identifier 1912092 1912111 + EqualsToken 1912112 1912114 + Identifier 1912114 1912122 + ExpressionStatement 1912123 1912155 + PostfixUnaryExpression 1912123 1912154 + Identifier 1912123 1912152 + FunctionDeclaration 1912162 1912239 + Identifier 1912178 1912196 + Block 1912198 1912239 + ExpressionStatement 1912200 1912232 + PostfixUnaryExpression 1912200 1912231 + Identifier 1912200 1912229 + FunctionDeclaration 1912239 1912550 + Identifier 1912255 1912274 + Parameter 1912275 1912285 + Identifier 1912275 1912279 + TypeReference 1912280 1912285 + Identifier 1912280 1912285 + Parameter 1912286 1912309 + Identifier 1912286 1912300 + BooleanKeyword 1912301 1912309 + Block 1912310 1912550 + ForStatement 1912312 1912523 + VariableDeclarationList 1912327 1912358 + VariableDeclaration 1912330 1912358 + Identifier 1912330 1912332 + BinaryExpression 1912334 1912358 + Identifier 1912334 1912354 + MinusToken 1912354 1912356 + NumericLiteral 1912356 1912358 + BinaryExpression 1912359 1912366 + Identifier 1912359 1912361 + GreaterThanEqualsToken 1912361 1912364 + NumericLiteral 1912364 1912366 + PostfixUnaryExpression 1912367 1912371 + Identifier 1912367 1912369 + Block 1912372 1912523 + IfStatement 1912374 1912512 + BinaryExpression 1912392 1912467 + BinaryExpression 1912392 1912423 + Identifier 1912392 1912396 + EqualsEqualsEqualsToken 1912396 1912400 + ElementAccessExpression 1912400 1912423 + Identifier 1912400 1912420 + Identifier 1912421 1912422 + AmpersandAmpersandToken 1912423 1912426 + ParenthesizedExpression 1912426 1912467 + BinaryExpression 1912428 1912466 + Identifier 1912428 1912441 + BarBarToken 1912441 1912444 + PrefixUnaryExpression 1912444 1912466 + ElementAccessExpression 1912446 1912466 + Identifier 1912446 1912463 + Identifier 1912464 1912465 + Block 1912468 1912512 + ReturnStatement 1912470 1912497 + Identifier 1912494 1912496 + ReturnStatement 1912523 1912543 + PrefixUnaryExpression 1912539 1912542 + NumericLiteral 1912541 1912542 + FunctionDeclaration 1912550 1912822 + Identifier 1912566 1912587 + Parameter 1912588 1912598 + Identifier 1912588 1912592 + TypeReference 1912593 1912598 + Identifier 1912593 1912598 + Parameter 1912599 1912646 + Identifier 1912599 1912616 + UnionType 1912617 1912646 + TypeReference 1912617 1912634 + Identifier 1912617 1912634 + UndefinedKeyword 1912636 1912646 + Block 1912647 1912822 + ExpressionStatement 1912649 1912711 + BinaryExpression 1912649 1912710 + ElementAccessExpression 1912649 1912703 + Identifier 1912649 1912680 + Identifier 1912681 1912702 + EqualsToken 1912703 1912705 + Identifier 1912705 1912710 + ExpressionStatement 1912711 1912781 + BinaryExpression 1912711 1912780 + ElementAccessExpression 1912711 1912761 + Identifier 1912711 1912738 + Identifier 1912739 1912760 + EqualsToken 1912761 1912763 + Identifier 1912763 1912780 + ExpressionStatement 1912781 1912815 + PostfixUnaryExpression 1912781 1912814 + Identifier 1912781 1912812 + FunctionDeclaration 1912822 1912903 + Identifier 1912838 1912858 + Block 1912860 1912903 + ExpressionStatement 1912862 1912896 + PostfixUnaryExpression 1912862 1912895 + Identifier 1912862 1912893 + FunctionDeclaration 1912903 1913167 + Identifier 1912919 1912939 + Parameter 1912940 1912950 + Identifier 1912940 1912944 + TypeReference 1912945 1912950 + Identifier 1912945 1912950 + Block 1912951 1913167 + ForStatement 1912953 1913160 + VariableDeclarationList 1912968 1913001 + VariableDeclaration 1912971 1913001 + Identifier 1912971 1912973 + BinaryExpression 1912975 1913001 + Identifier 1912975 1912997 + MinusToken 1912997 1912999 + NumericLiteral 1912999 1913001 + BinaryExpression 1913002 1913009 + Identifier 1913002 1913004 + GreaterThanEqualsToken 1913004 1913007 + NumericLiteral 1913007 1913009 + PostfixUnaryExpression 1913010 1913014 + Identifier 1913010 1913012 + Block 1913015 1913160 + IfStatement 1913017 1913149 + CallExpression 1913035 1913085 + Identifier 1913035 1913053 + Identifier 1913054 1913058 + ElementAccessExpression 1913059 1913084 + Identifier 1913059 1913081 + Identifier 1913082 1913083 + Block 1913086 1913149 + ReturnStatement 1913088 1913134 + ElementAccessExpression 1913112 1913133 + Identifier 1913112 1913130 + Identifier 1913131 1913132 + FunctionDeclaration 1913167 1913388 + Identifier 1913183 1913216 + Parameter 1913217 1913238 + Identifier 1913217 1913221 + TypeReference 1913222 1913238 + Identifier 1913222 1913238 + Block 1913239 1913388 + ReturnStatement 1913241 1913381 + CallExpression 1913257 1913380 + Identifier 1913257 1913291 + CallExpression 1913292 1913345 + Identifier 1913292 1913321 + FalseKeyword 1913322 1913344 + CallExpression 1913346 1913379 + Identifier 1913346 1913373 + Identifier 1913374 1913378 + FunctionDeclaration 1913388 1914190 + Identifier 1913404 1913442 + Parameter 1913443 1913470 + Identifier 1913443 1913447 + TypeReference 1913448 1913470 + Identifier 1913448 1913470 + Parameter 1913471 1913510 + Identifier 1913471 1913484 + UnionType 1913485 1913510 + TypeReference 1913485 1913498 + Identifier 1913485 1913498 + UndefinedKeyword 1913500 1913510 + Block 1913511 1914190 + IfStatement 1913513 1914121 + BinaryExpression 1913527 1913597 + CallExpression 1913527 1913552 + Identifier 1913527 1913546 + Identifier 1913547 1913551 + AmpersandAmpersandToken 1913552 1913555 + BinaryExpression 1913555 1913597 + Identifier 1913555 1913568 + ExclamationEqualsEqualsToken 1913568 1913572 + PropertyAccessExpression 1913572 1913597 + Identifier 1913572 1913585 + Identifier 1913586 1913597 + Block 1913598 1914121 + VariableStatement 1913600 1913693 + VariableDeclarationList 1913600 1913692 + VariableDeclaration 1913619 1913692 + Identifier 1913619 1913625 + CallExpression 1913627 1913692 + Identifier 1913627 1913646 + PropertyAccessExpression 1913647 1913658 + Identifier 1913647 1913651 + Identifier 1913652 1913658 + PrefixUnaryExpression 1913659 1913691 + Identifier 1913679 1913691 + IfStatement 1913693 1914110 + BinaryExpression 1913711 1913721 + Identifier 1913711 1913716 + GreaterThanEqualsToken 1913716 1913719 + NumericLiteral 1913719 1913721 + Block 1913722 1914110 + ReturnStatement 1913724 1914095 + ElementAccessExpression 1914071 1914094 + Identifier 1914071 1914087 + Identifier 1914088 1914093 + ReturnStatement 1914121 1914183 + CallExpression 1914137 1914182 + Identifier 1914137 1914173 + Identifier 1914174 1914178 + NumericLiteral 1914179 1914181 + FunctionDeclaration 1914190 1914527 + Identifier 1914206 1914247 + Parameter 1914248 1914268 + Identifier 1914248 1914257 + TypeReference 1914258 1914268 + Identifier 1914258 1914268 + Parameter 1914269 1914287 + Identifier 1914269 1914274 + TypeReference 1914275 1914287 + Identifier 1914275 1914287 + Block 1914288 1914527 + ReturnStatement 1914290 1914520 + ConditionalExpression 1914306 1914519 + BinaryExpression 1914306 1914393 + CallExpression 1914306 1914333 + Identifier 1914306 1914327 + Identifier 1914328 1914332 + BarBarToken 1914333 1914336 + BinaryExpression 1914336 1914393 + CallExpression 1914336 1914362 + Identifier 1914336 1914356 + Identifier 1914357 1914361 + ExclamationEqualsEqualsToken 1914362 1914366 + PropertyAccessExpression 1914366 1914393 + Identifier 1914366 1914383 + Identifier 1914384 1914393 + QuestionToken 1914393 1914408 + CallExpression 1914408 1914458 + Identifier 1914408 1914441 + Identifier 1914442 1914451 + Identifier 1914452 1914457 + ColonToken 1914458 1914473 + CallExpression 1914473 1914519 + Identifier 1914473 1914502 + Identifier 1914503 1914512 + Identifier 1914513 1914518 + FunctionDeclaration 1914527 1915069 + Identifier 1914543 1914576 + Parameter 1914577 1914591 + Identifier 1914577 1914580 + TypeReference 1914581 1914591 + Identifier 1914581 1914591 + Parameter 1914592 1914613 + Identifier 1914592 1914600 + TypeReference 1914601 1914613 + Identifier 1914601 1914613 + Block 1914614 1915069 + VariableStatement 1914616 1914707 + VariableDeclarationList 1914616 1914706 + VariableDeclaration 1914629 1914706 + Identifier 1914629 1914639 + CallExpression 1914641 1914706 + Identifier 1914641 1914688 + Identifier 1914689 1914692 + Identifier 1914693 1914705 + ExpressionStatement 1914707 1914822 + BinaryExpression 1914707 1914821 + Identifier 1914707 1914726 + EqualsToken 1914726 1914728 + CallExpression 1914728 1914821 + Identifier 1914728 1914773 + Identifier 1914774 1914781 + CallExpression 1914782 1914809 + Identifier 1914782 1914800 + Identifier 1914801 1914808 + Identifier 1914810 1914820 + VariableStatement 1914822 1914907 + VariableDeclarationList 1914822 1914906 + VariableDeclaration 1914837 1914906 + Identifier 1914837 1914854 + CallExpression 1914856 1914906 + Identifier 1914856 1914867 + PropertyAccessExpression 1914868 1914896 + Identifier 1914868 1914876 + Identifier 1914877 1914896 + Identifier 1914897 1914905 + IfStatement 1914907 1915035 + PrefixUnaryExpression 1914921 1914951 + CallExpression 1914922 1914951 + Identifier 1914922 1914933 + Identifier 1914934 1914950 + Block 1914952 1915035 + ExpressionStatement 1914954 1915024 + BinaryExpression 1914954 1915023 + Identifier 1914954 1914977 + EqualsToken 1914977 1914979 + CallExpression 1914979 1915023 + Identifier 1914979 1914994 + Identifier 1914995 1915011 + Identifier 1915012 1915022 + ReturnStatement 1915035 1915062 + Identifier 1915051 1915061 + FunctionDeclaration 1915069 1916765 + Identifier 1915085 1915123 + Parameter 1915124 1915138 + Identifier 1915124 1915127 + TypeReference 1915128 1915138 + Identifier 1915128 1915138 + Parameter 1915139 1915170 + Identifier 1915139 1915160 + TypeReference 1915161 1915170 + Identifier 1915161 1915170 + Block 1915171 1916765 + IfStatement 1915173 1916579 + PropertyAccessExpression 1915187 1915210 + Identifier 1915187 1915190 + Identifier 1915191 1915210 + Block 1915211 1916579 + VariableStatement 1915213 1915995 + VariableDeclarationList 1915213 1915994 + VariableDeclaration 1915973 1915994 + Identifier 1915973 1915981 + ArrayType 1915982 1915989 + TypeReference 1915982 1915987 + Identifier 1915982 1915987 + ArrayLiteralExpression 1915991 1915994 + ForOfStatement 1915995 1916460 + VariableDeclarationList 1916014 1916029 + VariableDeclaration 1916019 1916029 + Identifier 1916019 1916029 + PropertyAccessExpression 1916032 1916056 + Identifier 1916032 1916036 + Identifier 1916037 1916056 + Block 1916057 1916460 + VariableStatement 1916059 1916130 + VariableDeclarationList 1916059 1916129 + VariableDeclaration 1916082 1916129 + Identifier 1916082 1916091 + CallExpression 1916093 1916129 + Identifier 1916093 1916118 + Identifier 1916119 1916128 + IfStatement 1916130 1916231 + CallExpression 1916152 1916171 + Identifier 1916152 1916161 + Identifier 1916162 1916170 + Block 1916172 1916231 + ReturnStatement 1916174 1916212 + Identifier 1916202 1916211 + VariableStatement 1916231 1916322 + VariableDeclarationList 1916231 1916321 + VariableDeclaration 1916254 1916321 + Identifier 1916254 1916263 + CallExpression 1916265 1916321 + Identifier 1916265 1916289 + Identifier 1916290 1916298 + Identifier 1916299 1916320 + IfStatement 1916322 1916404 + PrefixUnaryExpression 1916344 1916353 + Identifier 1916345 1916353 + Block 1916354 1916404 + ReturnStatement 1916356 1916385 + ExpressionStatement 1916404 1916445 + CallExpression 1916404 1916444 + PropertyAccessExpression 1916404 1916434 + Identifier 1916404 1916429 + Identifier 1916430 1916434 + Identifier 1916435 1916443 + ReturnStatement 1916460 1916510 + CallExpression 1916480 1916509 + Identifier 1916480 1916500 + Identifier 1916501 1916508 + VariableStatement 1916579 1916640 + VariableDeclarationList 1916579 1916639 + VariableDeclaration 1916594 1916639 + Identifier 1916594 1916607 + CallExpression 1916609 1916639 + Identifier 1916609 1916634 + Identifier 1916635 1916638 + ReturnStatement 1916640 1916758 + ConditionalExpression 1916656 1916757 + CallExpression 1916656 1916680 + Identifier 1916656 1916666 + Identifier 1916667 1916679 + QuestionToken 1916680 1916682 + Identifier 1916682 1916695 + ColonToken 1916695 1916697 + CallExpression 1916697 1916757 + Identifier 1916697 1916721 + Identifier 1916722 1916734 + Identifier 1916735 1916756 + FunctionDeclaration 1916765 1917737 + Identifier 1916781 1916821 + Parameter 1916822 1916842 + Identifier 1916822 1916829 + TypeReference 1916830 1916842 + Identifier 1916830 1916842 + Block 1916843 1917737 + IfStatement 1916845 1916925 + CallExpression 1916859 1916888 + Identifier 1916859 1916879 + Identifier 1916880 1916887 + ReturnStatement 1916889 1916925 + CallExpression 1916896 1916924 + Identifier 1916896 1916915 + Identifier 1916916 1916923 + IfStatement 1916925 1917230 + CallExpression 1916939 1916977 + Identifier 1916939 1916960 + PropertyAccessExpression 1916961 1916976 + Identifier 1916961 1916968 + Identifier 1916969 1916976 + Block 1916978 1917230 + VariableStatement 1916980 1917070 + VariableDeclarationList 1916980 1917069 + VariableDeclaration 1916999 1917069 + Identifier 1916999 1917006 + CallExpression 1917008 1917069 + Identifier 1917008 1917060 + Identifier 1917061 1917068 + VariableStatement 1917070 1917154 + VariableDeclarationList 1917070 1917153 + VariableDeclaration 1917089 1917153 + Identifier 1917089 1917103 + CallExpression 1917105 1917153 + Identifier 1917105 1917136 + Identifier 1917137 1917144 + Identifier 1917145 1917152 + ReturnStatement 1917154 1917219 + CallExpression 1917174 1917218 + Identifier 1917174 1917203 + Identifier 1917204 1917217 + VariableStatement 1917230 1917295 + VariableDeclarationList 1917230 1917294 + VariableDeclaration 1917245 1917294 + Identifier 1917245 1917253 + CallExpression 1917255 1917294 + Identifier 1917255 1917277 + PropertyAccessExpression 1917278 1917293 + Identifier 1917278 1917285 + Identifier 1917286 1917293 + IfStatement 1917295 1917705 + BinaryExpression 1917309 1917348 + PropertyAccessExpression 1917309 1917322 + Identifier 1917309 1917316 + Identifier 1917317 1917322 + AmpersandToken 1917322 1917324 + PropertyAccessExpression 1917324 1917348 + Identifier 1917324 1917334 + Identifier 1917335 1917348 + Block 1917349 1917705 + VariableStatement 1917351 1917467 + VariableDeclarationList 1917351 1917466 + VariableDeclaration 1917370 1917466 + Identifier 1917370 1917377 + CallExpression 1917379 1917466 + Identifier 1917379 1917427 + AsExpression 1917428 1917456 + Identifier 1917428 1917435 + TypeReference 1917438 1917456 + Identifier 1917438 1917456 + Identifier 1917457 1917465 + IfStatement 1917467 1917545 + PrefixUnaryExpression 1917485 1917492 + Identifier 1917486 1917492 + Block 1917493 1917545 + ReturnStatement 1917495 1917530 + Identifier 1917519 1917529 + VariableStatement 1917545 1917629 + VariableDeclarationList 1917545 1917628 + VariableDeclaration 1917564 1917628 + Identifier 1917564 1917578 + CallExpression 1917580 1917628 + Identifier 1917580 1917611 + Identifier 1917612 1917619 + Identifier 1917620 1917627 + ReturnStatement 1917629 1917694 + CallExpression 1917649 1917693 + Identifier 1917649 1917678 + Identifier 1917679 1917692 + ReturnStatement 1917705 1917730 + Identifier 1917721 1917729 + FunctionDeclaration 1917737 1918279 + Identifier 1917753 1917798 + Parameter 1917799 1917819 + Identifier 1917799 1917806 + TypeReference 1917807 1917819 + Identifier 1917807 1917819 + Parameter 1917820 1917831 + Identifier 1917820 1917823 + TypeReference 1917824 1917831 + Identifier 1917824 1917831 + Parameter 1917832 1917853 + Identifier 1917832 1917847 + TypeReference 1917848 1917853 + Identifier 1917848 1917853 + Block 1917854 1918279 + VariableStatement 1917856 1917920 + VariableDeclarationList 1917856 1917919 + VariableDeclaration 1917871 1917919 + Identifier 1917871 1917882 + CallExpression 1917884 1917919 + Identifier 1917884 1917915 + Identifier 1917916 1917918 + IfStatement 1917920 1918240 + Identifier 1917934 1917944 + Block 1917945 1918240 + VariableStatement 1917947 1918027 + VariableDeclarationList 1917947 1918026 + VariableDeclaration 1917966 1918026 + Identifier 1917966 1917975 + CallExpression 1917977 1918026 + Identifier 1917977 1918017 + Identifier 1918018 1918025 + VariableStatement 1918027 1918155 + VariableDeclarationList 1918027 1918154 + VariableDeclaration 1918046 1918154 + Identifier 1918046 1918053 + CallExpression 1918055 1918154 + Identifier 1918055 1918095 + Identifier 1918096 1918106 + CallExpression 1918107 1918127 + Identifier 1918107 1918118 + Identifier 1918119 1918126 + Identifier 1918128 1918137 + Identifier 1918138 1918153 + IfStatement 1918155 1918229 + Identifier 1918173 1918179 + Block 1918180 1918229 + ReturnStatement 1918182 1918214 + Identifier 1918206 1918213 + ReturnStatement 1918240 1918272 + Identifier 1918256 1918271 + FunctionDeclaration 1918279 1921404 + Identifier 1918295 1918324 + Parameter 1918325 1918339 + Identifier 1918325 1918328 + TypeReference 1918329 1918339 + Identifier 1918329 1918339 + Parameter 1918340 1918371 + Identifier 1918340 1918348 + TypeReference 1918349 1918371 + Identifier 1918349 1918371 + Block 1918372 1921404 + VariableStatement 1918374 1918422 + VariableDeclarationList 1918374 1918421 + VariableDeclaration 1918389 1918421 + Identifier 1918389 1918392 + CallExpression 1918394 1918421 + Identifier 1918394 1918412 + Identifier 1918413 1918420 + VariableStatement 1918422 1918493 + VariableDeclarationList 1918422 1918492 + VariableDeclaration 1918437 1918492 + Identifier 1918437 1918458 + CallExpression 1918460 1918492 + Identifier 1918460 1918488 + Identifier 1918489 1918491 + VariableStatement 1918493 1919158 + VariableDeclarationList 1918493 1919157 + VariableDeclaration 1918506 1919157 + Identifier 1918506 1918521 + ConditionalExpression 1918523 1919157 + BinaryExpression 1918523 1918558 + Identifier 1918523 1918544 + EqualsEqualsEqualsToken 1918544 1918548 + Identifier 1918548 1918558 + QuestionToken 1918558 1918724 + CallExpression 1918724 1918789 + Identifier 1918724 1918771 + Identifier 1918772 1918775 + Identifier 1918776 1918788 + ColonToken 1918789 1918804 + ConditionalExpression 1918804 1919157 + BinaryExpression 1918804 1918832 + Identifier 1918804 1918825 + EqualsEqualsEqualsToken 1918825 1918829 + StringLiteral 1918829 1918832 + QuestionToken 1918832 1918963 + CallExpression 1918963 1918993 + Identifier 1918963 1918988 + Identifier 1918989 1918992 + ColonToken 1918993 1919092 + CallExpression 1919092 1919157 + Identifier 1919092 1919130 + Identifier 1919131 1919134 + Identifier 1919135 1919156 + IfStatement 1919158 1919590 + PrefixUnaryExpression 1919174 1919189 + Identifier 1919175 1919189 + Block 1919190 1919590 + IfStatement 1919192 1919546 + BinaryExpression 1919283 1919348 + PrefixUnaryExpression 1919283 1919305 + PrefixUnaryExpression 1919284 1919305 + Identifier 1919285 1919305 + AmpersandAmpersandToken 1919305 1919308 + PrefixUnaryExpression 1919308 1919348 + PrefixUnaryExpression 1919310 1919348 + CallExpression 1919311 1919348 + Identifier 1919311 1919317 + PropertyAccessExpression 1919318 1919347 + PropertyAccessExpression 1919318 1919336 + Identifier 1919318 1919325 + Identifier 1919326 1919336 + Identifier 1919337 1919347 + Block 1919349 1919546 + ExpressionStatement 1919351 1919531 + CallExpression 1919351 1919530 + Identifier 1919351 1919374 + Identifier 1919375 1919382 + PropertyAccessExpression 1919383 1919479 + Identifier 1919383 1919395 + Identifier 1919396 1919479 + CallExpression 1919480 1919529 + Identifier 1919480 1919507 + Identifier 1919508 1919528 + ReturnStatement 1919546 1919579 + Identifier 1919566 1919578 + ExpressionStatement 1919590 1919693 + BinaryExpression 1919590 1919692 + Identifier 1919590 1919616 + EqualsToken 1919616 1919618 + CallExpression 1919618 1919692 + Identifier 1919618 1919663 + Identifier 1919664 1919671 + Identifier 1919672 1919675 + Identifier 1919676 1919691 + IfStatement 1919693 1921397 + CallExpression 1919709 1919734 + Identifier 1919709 1919718 + Identifier 1919719 1919733 + Block 1919735 1919834 + ReturnStatement 1919737 1919823 + Identifier 1919807 1919822 + Block 1919848 1921397 + VariableStatement 1919850 1919994 + VariableDeclarationList 1919850 1919993 + VariableDeclaration 1919953 1919993 + Identifier 1919953 1919976 + Identifier 1919978 1919993 + VariableStatement 1919994 1920093 + VariableDeclarationList 1919994 1920092 + VariableDeclaration 1920013 1920092 + Identifier 1920013 1920035 + CallExpression 1920037 1920092 + Identifier 1920037 1920048 + PropertyAccessExpression 1920049 1920082 + Identifier 1920049 1920057 + Identifier 1920058 1920082 + Identifier 1920083 1920091 + IfStatement 1920093 1921083 + PrefixUnaryExpression 1920111 1920146 + CallExpression 1920112 1920146 + Identifier 1920112 1920123 + Identifier 1920124 1920145 + Block 1920147 1921083 + VariableStatement 1920149 1920268 + VariableDeclarationList 1920149 1920267 + VariableDeclaration 1920172 1920267 + Identifier 1920172 1920183 + CallExpression 1920185 1920267 + Identifier 1920185 1920237 + PropertyAccessExpression 1920238 1920266 + Identifier 1920238 1920259 + Identifier 1920260 1920266 + VariableStatement 1920268 1920338 + VariableDeclarationList 1920268 1920337 + VariableDeclaration 1920291 1920337 + Identifier 1920291 1920305 + CallExpression 1920307 1920337 + Identifier 1920307 1920332 + Identifier 1920333 1920336 + VariableStatement 1920338 1920394 + VariableDeclarationList 1920338 1920393 + VariableDeclaration 1920359 1920393 + Identifier 1920359 1920387 + TypeReference 1920388 1920393 + Identifier 1920388 1920393 + IfStatement 1920394 1920957 + Identifier 1920416 1920426 + Block 1920427 1920815 + VariableStatement 1920429 1920661 + VariableDeclarationList 1920429 1920660 + VariableDeclaration 1920533 1920660 + Identifier 1920533 1920546 + CallExpression 1920548 1920660 + Identifier 1920548 1920573 + ArrayLiteralExpression 1920574 1920589 + Identifier 1920575 1920588 + Identifier 1920590 1920601 + CallExpression 1920602 1920638 + Identifier 1920602 1920626 + Identifier 1920627 1920637 + CallExpression 1920639 1920659 + Identifier 1920639 1920650 + Identifier 1920651 1920658 + ExpressionStatement 1920661 1920796 + BinaryExpression 1920661 1920795 + Identifier 1920661 1920710 + EqualsToken 1920710 1920712 + CallExpression 1920712 1920795 + Identifier 1920712 1920728 + Identifier 1920729 1920750 + CallExpression 1920751 1920794 + Identifier 1920751 1920768 + Identifier 1920769 1920779 + Identifier 1920780 1920793 + ExpressionStatement 1920904 1920957 + BinaryExpression 1920904 1920956 + Identifier 1920904 1920932 + EqualsToken 1920932 1920934 + Identifier 1920934 1920956 + ExpressionStatement 1920957 1921068 + BinaryExpression 1920957 1921067 + Identifier 1920957 1920997 + EqualsToken 1920997 1920999 + CallExpression 1920999 1921067 + Identifier 1920999 1921014 + Identifier 1921015 1921042 + Identifier 1921043 1921066 + VariableStatement 1921083 1921174 + VariableDeclarationList 1921083 1921173 + VariableDeclaration 1921104 1921173 + Identifier 1921104 1921121 + CallExpression 1921123 1921173 + Identifier 1921123 1921134 + PropertyAccessExpression 1921135 1921163 + Identifier 1921135 1921143 + Identifier 1921144 1921163 + Identifier 1921164 1921172 + IfStatement 1921174 1921340 + PrefixUnaryExpression 1921192 1921222 + CallExpression 1921193 1921222 + Identifier 1921193 1921204 + Identifier 1921205 1921221 + Block 1921223 1921340 + ExpressionStatement 1921225 1921325 + BinaryExpression 1921225 1921324 + Identifier 1921225 1921265 + EqualsToken 1921265 1921267 + CallExpression 1921267 1921324 + Identifier 1921267 1921282 + Identifier 1921283 1921299 + Identifier 1921300 1921323 + ReturnStatement 1921340 1921386 + Identifier 1921362 1921385 + FunctionDeclaration 1921404 1921960 + Identifier 1921420 1921445 + Parameter 1921446 1921478 + Identifier 1921446 1921456 + TypeOperator 1921457 1921478 + ArrayType 1921466 1921478 + TypeReference 1921466 1921476 + Identifier 1921466 1921476 + Block 1921479 1921960 + ReturnStatement 1921481 1921953 + ConditionalExpression 1921497 1921952 + CallExpression 1921497 1921552 + Identifier 1921497 1921518 + Identifier 1921519 1921534 + StringLiteral 1921535 1921551 + QuestionToken 1921552 1921567 + CallExpression 1921567 1921927 + Identifier 1921567 1921578 + Identifier 1921579 1921607 + ArrowFunction 1921608 1921911 + Parameter 1921627 1921654 + Identifier 1921627 1921631 + UnionType 1921632 1921654 + TypeReference 1921632 1921642 + Identifier 1921632 1921642 + UndefinedKeyword 1921644 1921654 + Parameter 1921655 1921661 + Identifier 1921655 1921661 + EqualsGreaterThanToken 1921662 1921665 + ConditionalExpression 1921665 1921911 + BinaryExpression 1921665 1921710 + BinaryExpression 1921665 1921701 + Identifier 1921665 1921691 + EqualsEqualsEqualsToken 1921691 1921695 + Identifier 1921695 1921701 + BarBarToken 1921701 1921704 + PrefixUnaryExpression 1921704 1921710 + Identifier 1921706 1921710 + QuestionToken 1921710 1921712 + Identifier 1921712 1921717 + ColonToken 1921717 1921744 + ConditionalExpression 1921744 1921911 + CallExpression 1921744 1921819 + Identifier 1921744 1921775 + PropertyAccessExpression 1921776 1921795 + Identifier 1921776 1921780 + Identifier 1921781 1921795 + PropertyAccessExpression 1921796 1921818 + NonNullExpression 1921796 1921803 + Identifier 1921796 1921802 + Identifier 1921804 1921818 + QuestionToken 1921819 1921821 + CallExpression 1921821 1921874 + Identifier 1921821 1921860 + Identifier 1921861 1921865 + NonNullExpression 1921866 1921873 + Identifier 1921866 1921872 + ColonToken 1921874 1921901 + Identifier 1921901 1921911 + ColonToken 1921927 1921942 + Identifier 1921942 1921952 + FunctionDeclaration 1921960 1922697 + Identifier 1921976 1922005 + Parameter 1922006 1922030 + Identifier 1922006 1922010 + UnionType 1922011 1922030 + TypeReference 1922011 1922018 + Identifier 1922011 1922018 + UndefinedKeyword 1922020 1922030 + Parameter 1922031 1922057 + Identifier 1922031 1922037 + UnionType 1922038 1922057 + TypeReference 1922038 1922045 + Identifier 1922038 1922045 + UndefinedKeyword 1922047 1922057 + Parameter 1922058 1922089 + Identifier 1922058 1922065 + UnionType 1922066 1922089 + TypeReference 1922066 1922077 + Identifier 1922066 1922077 + UndefinedKeyword 1922079 1922089 + UnionType 1922091 1922110 + TypeReference 1922091 1922098 + Identifier 1922091 1922098 + UndefinedKeyword 1922100 1922110 + Block 1922110 1922697 + IfStatement 1922112 1922190 + BinaryExpression 1922126 1922141 + PrefixUnaryExpression 1922126 1922131 + Identifier 1922127 1922131 + BarBarToken 1922131 1922134 + PrefixUnaryExpression 1922134 1922141 + Identifier 1922136 1922141 + Block 1922142 1922190 + ReturnStatement 1922144 1922179 + BinaryExpression 1922164 1922178 + Identifier 1922164 1922169 + BarBarToken 1922169 1922172 + Identifier 1922172 1922178 + VariableStatement 1922190 1922636 + VariableDeclarationList 1922190 1922635 + VariableDeclaration 1922537 1922635 + Identifier 1922537 1922546 + CallExpression 1922548 1922635 + Identifier 1922548 1922561 + ArrayLiteralExpression 1922562 1922634 + CallExpression 1922563 1922584 + Identifier 1922563 1922578 + Identifier 1922579 1922583 + CallExpression 1922585 1922633 + Identifier 1922585 1922601 + CallExpression 1922602 1922624 + Identifier 1922602 1922617 + Identifier 1922618 1922623 + Identifier 1922625 1922632 + ReturnStatement 1922636 1922690 + CallExpression 1922652 1922689 + Identifier 1922652 1922673 + Identifier 1922674 1922678 + Identifier 1922679 1922688 + FunctionDeclaration 1922697 1925565 + Identifier 1922713 1922743 + Parameter 1922744 1922759 + Identifier 1922744 1922748 + TypeReference 1922749 1922759 + Identifier 1922749 1922759 + Parameter 1922760 1922777 + Identifier 1922760 1922766 + TypeReference 1922767 1922777 + Identifier 1922767 1922777 + Parameter 1922778 1922809 + Identifier 1922778 1922785 + UnionType 1922786 1922809 + TypeReference 1922786 1922797 + Identifier 1922786 1922797 + UndefinedKeyword 1922799 1922809 + Block 1922810 1925565 + VariableStatement 1922812 1922864 + VariableDeclarationList 1922812 1922863 + VariableDeclaration 1922827 1922863 + Identifier 1922827 1922837 + CallExpression 1922839 1922863 + Identifier 1922839 1922857 + Identifier 1922858 1922862 + VariableStatement 1922864 1922918 + VariableDeclarationList 1922864 1922917 + VariableDeclaration 1922879 1922917 + Identifier 1922879 1922890 + CallExpression 1922892 1922917 + Identifier 1922892 1922910 + Identifier 1922911 1922916 + VariableStatement 1922918 1922983 + VariableDeclarationList 1922918 1922982 + VariableDeclaration 1922933 1922982 + Identifier 1922933 1922941 + ConditionalExpression 1922943 1922982 + BinaryExpression 1922943 1922967 + Identifier 1922943 1922953 + GreaterThanEqualsToken 1922953 1922956 + Identifier 1922956 1922967 + QuestionToken 1922967 1922969 + Identifier 1922969 1922974 + ColonToken 1922974 1922976 + Identifier 1922976 1922982 + VariableStatement 1922983 1923041 + VariableDeclarationList 1922983 1923040 + VariableDeclaration 1922998 1923040 + Identifier 1922998 1923006 + ConditionalExpression 1923008 1923040 + BinaryExpression 1923008 1923025 + Identifier 1923008 1923016 + EqualsEqualsEqualsToken 1923016 1923020 + Identifier 1923020 1923025 + QuestionToken 1923025 1923027 + Identifier 1923027 1923033 + ColonToken 1923033 1923035 + Identifier 1923035 1923040 + VariableStatement 1923041 1923114 + VariableDeclarationList 1923041 1923113 + VariableDeclaration 1923056 1923113 + Identifier 1923056 1923069 + ConditionalExpression 1923071 1923113 + BinaryExpression 1923071 1923088 + Identifier 1923071 1923079 + EqualsEqualsEqualsToken 1923079 1923083 + Identifier 1923083 1923088 + QuestionToken 1923088 1923090 + Identifier 1923090 1923100 + ColonToken 1923100 1923102 + Identifier 1923102 1923113 + VariableStatement 1923114 1923223 + VariableDeclarationList 1923114 1923222 + VariableDeclaration 1923129 1923222 + Identifier 1923129 1923152 + BinaryExpression 1923154 1923222 + CallExpression 1923154 1923186 + Identifier 1923154 1923180 + Identifier 1923181 1923185 + BarBarToken 1923186 1923189 + CallExpression 1923189 1923222 + Identifier 1923189 1923215 + Identifier 1923216 1923221 + VariableStatement 1923223 1923325 + VariableDeclarationList 1923223 1923324 + VariableDeclaration 1923238 1923324 + Identifier 1923238 1923260 + BinaryExpression 1923262 1923324 + Identifier 1923262 1923285 + AmpersandAmpersandToken 1923285 1923288 + PrefixUnaryExpression 1923288 1923324 + CallExpression 1923290 1923324 + Identifier 1923290 1923315 + Identifier 1923316 1923323 + VariableStatement 1923325 1923416 + VariableDeclarationList 1923325 1923415 + VariableDeclaration 1923340 1923415 + Identifier 1923340 1923347 + NewExpression 1923349 1923415 + Identifier 1923353 1923359 + TypeReference 1923360 1923366 + Identifier 1923360 1923366 + BinaryExpression 1923368 1923414 + Identifier 1923368 1923380 + PlusToken 1923380 1923382 + ParenthesizedExpression 1923382 1923414 + ConditionalExpression 1923384 1923413 + Identifier 1923384 1923405 + QuestionToken 1923405 1923407 + NumericLiteral 1923407 1923409 + ColonToken 1923409 1923411 + NumericLiteral 1923411 1923413 + ForStatement 1923416 1925046 + VariableDeclarationList 1923431 1923440 + VariableDeclaration 1923434 1923440 + Identifier 1923434 1923436 + NumericLiteral 1923438 1923440 + BinaryExpression 1923441 1923458 + Identifier 1923441 1923443 + LessThanToken 1923443 1923445 + Identifier 1923445 1923458 + PostfixUnaryExpression 1923459 1923463 + Identifier 1923459 1923461 + Block 1923464 1925046 + VariableStatement 1923466 1923537 + VariableDeclarationList 1923466 1923536 + VariableDeclaration 1923483 1923536 + Identifier 1923483 1923500 + NonNullExpression 1923502 1923536 + CallExpression 1923502 1923535 + Identifier 1923502 1923523 + Identifier 1923524 1923531 + Identifier 1923532 1923534 + IfStatement 1923537 1923669 + BinaryExpression 1923555 1923572 + Identifier 1923555 1923562 + EqualsEqualsEqualsToken 1923562 1923566 + Identifier 1923566 1923572 + Block 1923573 1923669 + ExpressionStatement 1923575 1923654 + BinaryExpression 1923575 1923653 + Identifier 1923575 1923609 + EqualsToken 1923609 1923611 + CallExpression 1923611 1923653 + Identifier 1923611 1923627 + Identifier 1923628 1923644 + Identifier 1923645 1923652 + VariableStatement 1923669 1923754 + VariableDeclarationList 1923669 1923753 + VariableDeclaration 1923686 1923753 + Identifier 1923686 1923703 + BinaryExpression 1923705 1923753 + CallExpression 1923705 1923738 + Identifier 1923705 1923726 + Identifier 1923727 1923734 + Identifier 1923735 1923737 + BarBarToken 1923738 1923741 + Identifier 1923741 1923753 + IfStatement 1923754 1923886 + BinaryExpression 1923772 1923789 + Identifier 1923772 1923779 + EqualsEqualsEqualsToken 1923779 1923783 + Identifier 1923783 1923789 + Block 1923790 1923886 + ExpressionStatement 1923792 1923871 + BinaryExpression 1923792 1923870 + Identifier 1923792 1923826 + EqualsToken 1923826 1923828 + CallExpression 1923828 1923870 + Identifier 1923828 1923844 + Identifier 1923845 1923861 + Identifier 1923862 1923869 + VariableStatement 1923886 1923974 + VariableDeclarationList 1923886 1923973 + VariableDeclaration 1923905 1923973 + Identifier 1923905 1923920 + CallExpression 1923922 1923973 + Identifier 1923922 1923935 + ArrayLiteralExpression 1923936 1923972 + Identifier 1923937 1923953 + Identifier 1923954 1923971 + VariableStatement 1923974 1924085 + VariableDeclarationList 1923974 1924084 + VariableDeclaration 1923993 1924084 + Identifier 1923993 1924005 + BinaryExpression 1924007 1924084 + BinaryExpression 1924007 1924056 + Identifier 1924007 1924030 + AmpersandAmpersandToken 1924030 1924033 + PrefixUnaryExpression 1924033 1924056 + Identifier 1924035 1924056 + AmpersandAmpersandToken 1924056 1924059 + BinaryExpression 1924059 1924084 + Identifier 1924059 1924061 + EqualsEqualsEqualsToken 1924061 1924065 + ParenthesizedExpression 1924065 1924084 + BinaryExpression 1924067 1924083 + Identifier 1924067 1924079 + MinusToken 1924079 1924081 + NumericLiteral 1924081 1924083 + VariableStatement 1924085 1924189 + VariableDeclarationList 1924085 1924188 + VariableDeclaration 1924104 1924188 + Identifier 1924104 1924115 + BinaryExpression 1924117 1924188 + BinaryExpression 1924117 1924151 + Identifier 1924117 1924119 + GreaterThanEqualsToken 1924119 1924122 + CallExpression 1924122 1924151 + Identifier 1924122 1924142 + Identifier 1924143 1924150 + AmpersandAmpersandToken 1924151 1924154 + BinaryExpression 1924154 1924188 + Identifier 1924154 1924156 + GreaterThanEqualsToken 1924156 1924159 + CallExpression 1924159 1924188 + Identifier 1924159 1924179 + Identifier 1924180 1924187 + VariableStatement 1924189 1924285 + VariableDeclarationList 1924189 1924284 + VariableDeclaration 1924208 1924284 + Identifier 1924208 1924217 + ConditionalExpression 1924219 1924284 + BinaryExpression 1924219 1924234 + Identifier 1924219 1924221 + GreaterThanEqualsToken 1924221 1924224 + Identifier 1924224 1924234 + QuestionToken 1924234 1924236 + Identifier 1924236 1924246 + ColonToken 1924246 1924248 + CallExpression 1924248 1924284 + Identifier 1924248 1924275 + Identifier 1924276 1924280 + Identifier 1924281 1924283 + VariableStatement 1924285 1924384 + VariableDeclarationList 1924285 1924383 + VariableDeclaration 1924304 1924383 + Identifier 1924304 1924314 + ConditionalExpression 1924316 1924383 + BinaryExpression 1924316 1924332 + Identifier 1924316 1924318 + GreaterThanEqualsToken 1924318 1924321 + Identifier 1924321 1924332 + QuestionToken 1924332 1924334 + Identifier 1924334 1924344 + ColonToken 1924344 1924346 + CallExpression 1924346 1924383 + Identifier 1924346 1924373 + Identifier 1924374 1924379 + Identifier 1924380 1924382 + VariableStatement 1924384 1924563 + VariableDeclarationList 1924384 1924562 + VariableDeclaration 1924405 1924562 + Identifier 1924405 1924415 + ConditionalExpression 1924417 1924562 + BinaryExpression 1924417 1924440 + Identifier 1924417 1924426 + EqualsEqualsEqualsToken 1924426 1924430 + Identifier 1924430 1924440 + QuestionToken 1924440 1924442 + Identifier 1924442 1924451 + ColonToken 1924451 1924453 + ConditionalExpression 1924453 1924562 + PrefixUnaryExpression 1924453 1924480 + Identifier 1924472 1924480 + QuestionToken 1924480 1924482 + Identifier 1924482 1924492 + ColonToken 1924492 1924494 + ConditionalExpression 1924494 1924562 + PrefixUnaryExpression 1924494 1924522 + Identifier 1924513 1924522 + QuestionToken 1924522 1924524 + Identifier 1924524 1924533 + ColonToken 1924533 1924535 + Identifier 1924535 1924562 + VariableStatement 1924563 1924895 + VariableDeclarationList 1924563 1924894 + VariableDeclaration 1924582 1924894 + Identifier 1924582 1924594 + CallExpression 1924596 1924894 + Identifier 1924596 1924609 + BinaryExpression 1924610 1924720 + PropertyAccessExpression 1924610 1924662 + Identifier 1924610 1924639 + Identifier 1924640 1924662 + BarToken 1924662 1924664 + ParenthesizedExpression 1924664 1924720 + ConditionalExpression 1924666 1924719 + BinaryExpression 1924666 1924692 + Identifier 1924666 1924676 + AmpersandAmpersandToken 1924676 1924679 + PrefixUnaryExpression 1924679 1924692 + Identifier 1924681 1924692 + QuestionToken 1924692 1924694 + PropertyAccessExpression 1924694 1924715 + Identifier 1924694 1924706 + Identifier 1924707 1924715 + ColonToken 1924715 1924717 + NumericLiteral 1924717 1924719 + BinaryExpression 1924721 1924773 + Identifier 1924721 1924748 + BarBarToken 1924748 1924751 + AsExpression 1924751 1924773 + TemplateExpression 1924751 1924761 + TemplateHead 1924751 1924758 + TemplateSpan 1924758 1924761 + Identifier 1924758 1924759 + TemplateTail 1924759 1924761 + TypeReference 1924764 1924773 + Identifier 1924764 1924773 + ConditionalExpression 1924774 1924878 + Identifier 1924774 1924803 + QuestionToken 1924803 1924805 + PropertyAccessExpression 1924805 1924830 + Identifier 1924805 1924816 + Identifier 1924817 1924830 + ColonToken 1924830 1924832 + ConditionalExpression 1924832 1924878 + Identifier 1924832 1924843 + QuestionToken 1924843 1924845 + PropertyAccessExpression 1924845 1924874 + Identifier 1924845 1924856 + Identifier 1924857 1924874 + ColonToken 1924874 1924876 + NumericLiteral 1924876 1924878 + ExpressionStatement 1924895 1924997 + BinaryExpression 1924895 1924996 + PropertyAccessExpression 1924895 1924931 + PropertyAccessExpression 1924895 1924926 + Identifier 1924895 1924920 + Identifier 1924921 1924926 + Identifier 1924927 1924931 + EqualsToken 1924931 1924933 + ConditionalExpression 1924933 1924996 + Identifier 1924933 1924945 + QuestionToken 1924945 1924947 + CallExpression 1924947 1924979 + Identifier 1924947 1924963 + Identifier 1924964 1924978 + ColonToken 1924979 1924981 + Identifier 1924981 1924996 + ExpressionStatement 1924997 1925035 + BinaryExpression 1924997 1925034 + ElementAccessExpression 1924997 1925020 + Identifier 1924997 1925017 + Identifier 1925018 1925019 + EqualsToken 1925020 1925022 + Identifier 1925022 1925034 + IfStatement 1925046 1925534 + Identifier 1925060 1925081 + Block 1925082 1925534 + VariableStatement 1925084 1925217 + VariableDeclarationList 1925084 1925216 + VariableDeclaration 1925103 1925216 + Identifier 1925103 1925119 + CallExpression 1925121 1925216 + Identifier 1925121 1925134 + PropertyAccessExpression 1925135 1925169 + Identifier 1925135 1925146 + Identifier 1925147 1925169 + AsExpression 1925170 1925189 + StringLiteral 1925170 1925177 + TypeReference 1925180 1925189 + Identifier 1925180 1925189 + PropertyAccessExpression 1925190 1925215 + Identifier 1925190 1925201 + Identifier 1925202 1925215 + ExpressionStatement 1925217 1925318 + BinaryExpression 1925217 1925317 + PropertyAccessExpression 1925217 1925257 + PropertyAccessExpression 1925217 1925252 + Identifier 1925217 1925246 + Identifier 1925247 1925252 + Identifier 1925253 1925257 + EqualsToken 1925257 1925259 + CallExpression 1925259 1925317 + Identifier 1925259 1925275 + CallExpression 1925276 1925316 + Identifier 1925276 1925293 + Identifier 1925294 1925301 + Identifier 1925302 1925315 + IfStatement 1925318 1925470 + BinaryExpression 1925336 1925353 + Identifier 1925336 1925343 + EqualsEqualsEqualsToken 1925343 1925347 + Identifier 1925347 1925353 + Block 1925354 1925470 + ExpressionStatement 1925356 1925455 + BinaryExpression 1925356 1925454 + PropertyAccessExpression 1925356 1925400 + PropertyAccessExpression 1925356 1925395 + Identifier 1925356 1925389 + Identifier 1925390 1925395 + Identifier 1925396 1925400 + EqualsToken 1925400 1925402 + CallExpression 1925402 1925454 + Identifier 1925402 1925418 + PropertyAccessExpression 1925419 1925445 + PropertyAccessExpression 1925419 1925440 + Identifier 1925419 1925434 + Identifier 1925435 1925440 + Identifier 1925441 1925445 + Identifier 1925446 1925453 + ExpressionStatement 1925470 1925523 + BinaryExpression 1925470 1925522 + ElementAccessExpression 1925470 1925504 + Identifier 1925470 1925490 + Identifier 1925491 1925503 + EqualsToken 1925504 1925506 + Identifier 1925506 1925522 + ReturnStatement 1925534 1925558 + Identifier 1925550 1925557 + FunctionDeclaration 1925565 1927418 + Identifier 1925581 1925620 + Parameter 1925621 1925636 + Identifier 1925621 1925625 + TypeReference 1925626 1925636 + Identifier 1925626 1925636 + Parameter 1925637 1925654 + Identifier 1925637 1925643 + TypeReference 1925644 1925654 + Identifier 1925644 1925654 + TypeReference 1925656 1925666 + Identifier 1925656 1925666 + Block 1925666 1927418 + VariableStatement 1925668 1925741 + VariableDeclarationList 1925668 1925740 + VariableDeclaration 1925683 1925740 + Identifier 1925683 1925694 + BinaryExpression 1925696 1925740 + PropertyAccessExpression 1925696 1925716 + Identifier 1925696 1925701 + Identifier 1925702 1925716 + BarBarToken 1925716 1925719 + PropertyAccessExpression 1925719 1925740 + Identifier 1925719 1925725 + Identifier 1925726 1925740 + VariableStatement 1925741 1925791 + VariableDeclarationList 1925741 1925790 + VariableDeclaration 1925754 1925790 + Identifier 1925754 1925766 + UnionType 1925767 1925790 + TypeReference 1925767 1925778 + Identifier 1925767 1925778 + UndefinedKeyword 1925780 1925790 + IfStatement 1925791 1926031 + BinaryExpression 1925805 1925848 + PropertyAccessExpression 1925805 1925824 + Identifier 1925805 1925809 + Identifier 1925810 1925824 + AmpersandAmpersandToken 1925824 1925827 + PropertyAccessExpression 1925827 1925848 + Identifier 1925827 1925833 + Identifier 1925834 1925848 + Block 1925849 1926031 + ExpressionStatement 1925851 1925939 + BinaryExpression 1925851 1925938 + Identifier 1925851 1925876 + EqualsToken 1925876 1925878 + CallExpression 1925878 1925938 + Identifier 1925878 1925895 + PropertyAccessExpression 1925896 1925916 + Identifier 1925896 1925901 + Identifier 1925902 1925916 + PropertyAccessExpression 1925917 1925937 + Identifier 1925917 1925922 + Identifier 1925923 1925937 + VariableStatement 1926031 1926151 + VariableDeclarationList 1926031 1926150 + VariableDeclaration 1926044 1926150 + Identifier 1926044 1926050 + BinaryExpression 1926052 1926150 + ParenthesizedExpression 1926052 1926079 + BinaryExpression 1926054 1926078 + PropertyAccessExpression 1926054 1926064 + Identifier 1926054 1926058 + Identifier 1926059 1926064 + BarToken 1926064 1926066 + PropertyAccessExpression 1926066 1926078 + Identifier 1926066 1926072 + Identifier 1926073 1926078 + AmpersandToken 1926079 1926081 + ParenthesizedExpression 1926081 1926150 + BinaryExpression 1926083 1926149 + PropertyAccessExpression 1926083 1926114 + Identifier 1926083 1926097 + Identifier 1926098 1926114 + AmpersandToken 1926114 1926116 + PrefixUnaryExpression 1926116 1926149 + PropertyAccessExpression 1926118 1926149 + Identifier 1926118 1926132 + Identifier 1926133 1926149 + VariableStatement 1926151 1926198 + VariableDeclarationList 1926151 1926197 + VariableDeclaration 1926166 1926197 + Identifier 1926166 1926178 + PropertyAccessExpression 1926180 1926197 + Identifier 1926180 1926185 + Identifier 1926186 1926197 + VariableStatement 1926198 1926279 + VariableDeclarationList 1926198 1926278 + VariableDeclaration 1926213 1926278 + Identifier 1926213 1926220 + CallExpression 1926222 1926278 + Identifier 1926222 1926252 + Identifier 1926253 1926257 + Identifier 1926258 1926264 + Identifier 1926265 1926277 + VariableStatement 1926279 1926331 + VariableDeclarationList 1926279 1926330 + VariableDeclaration 1926294 1926330 + Identifier 1926294 1926304 + CallExpression 1926306 1926330 + Identifier 1926306 1926322 + Identifier 1926323 1926329 + IfStatement 1926331 1926478 + BinaryExpression 1926345 1926409 + Identifier 1926345 1926354 + AmpersandAmpersandToken 1926354 1926357 + BinaryExpression 1926357 1926409 + CallExpression 1926357 1926382 + Identifier 1926357 1926371 + Identifier 1926372 1926381 + AmpersandToken 1926382 1926384 + PropertyAccessExpression 1926384 1926409 + Identifier 1926384 1926395 + Identifier 1926396 1926409 + Block 1926410 1926478 + ExpressionStatement 1926412 1926467 + BinaryExpression 1926412 1926466 + Identifier 1926412 1926431 + BarEqualsToken 1926431 1926434 + PropertyAccessExpression 1926434 1926466 + Identifier 1926434 1926449 + Identifier 1926450 1926466 + VariableStatement 1926478 1926589 + VariableDeclarationList 1926478 1926588 + VariableDeclaration 1926493 1926588 + Identifier 1926493 1926503 + CallExpression 1926505 1926588 + Identifier 1926505 1926534 + PropertyAccessExpression 1926535 1926553 + Identifier 1926535 1926539 + Identifier 1926540 1926553 + PropertyAccessExpression 1926554 1926574 + Identifier 1926554 1926560 + Identifier 1926561 1926574 + Identifier 1926575 1926587 + VariableStatement 1926589 1926675 + VariableDeclarationList 1926589 1926674 + VariableDeclaration 1926604 1926674 + Identifier 1926604 1926616 + CallExpression 1926618 1926674 + PropertyAccessExpression 1926618 1926627 + Identifier 1926618 1926623 + Identifier 1926624 1926627 + PropertyAccessExpression 1926628 1926649 + Identifier 1926628 1926632 + Identifier 1926633 1926649 + PropertyAccessExpression 1926650 1926673 + Identifier 1926650 1926656 + Identifier 1926657 1926673 + VariableStatement 1926675 1926967 + VariableDeclarationList 1926675 1926966 + VariableDeclaration 1926690 1926966 + Identifier 1926690 1926697 + CallExpression 1926699 1926966 + Identifier 1926699 1926715 + Identifier 1926716 1926741 + Identifier 1926742 1926766 + Identifier 1926767 1926790 + Identifier 1926791 1926811 + Identifier 1926812 1926858 + Identifier 1926859 1926908 + Identifier 1926909 1926934 + Identifier 1926935 1926954 + ExpressionStatement 1926967 1927023 + BinaryExpression 1926967 1927022 + PropertyAccessExpression 1926967 1926997 + Identifier 1926967 1926983 + Identifier 1926984 1926997 + EqualsToken 1926997 1926999 + PropertyAccessExpression 1926999 1927022 + Identifier 1926999 1927009 + Identifier 1927010 1927022 + ExpressionStatement 1927023 1927168 + BinaryExpression 1927023 1927167 + PropertyAccessExpression 1927023 1927059 + Identifier 1927023 1927039 + Identifier 1927040 1927059 + EqualsToken 1927059 1927061 + CallExpression 1927061 1927167 + Identifier 1927061 1927073 + BinaryExpression 1927074 1927157 + BinaryExpression 1927074 1927147 + BinaryExpression 1927074 1927119 + PropertyAccessExpression 1927074 1927092 + Identifier 1927074 1927078 + Identifier 1927079 1927092 + EqualsEqualsEqualsToken 1927092 1927096 + PropertyAccessExpression 1927096 1927119 + Identifier 1927096 1927106 + Identifier 1927107 1927119 + AmpersandAmpersandToken 1927119 1927122 + PropertyAccessExpression 1927122 1927147 + Identifier 1927122 1927127 + Identifier 1927128 1927147 + BarBarToken 1927147 1927150 + ArrayLiteralExpression 1927150 1927157 + Identifier 1927152 1927156 + ArrayLiteralExpression 1927158 1927166 + Identifier 1927160 1927165 + IfStatement 1927168 1927387 + Identifier 1927182 1927193 + Block 1927194 1927387 + ExpressionStatement 1927196 1927376 + BinaryExpression 1927196 1927375 + PropertyAccessExpression 1927196 1927223 + Identifier 1927196 1927216 + Identifier 1927217 1927223 + EqualsToken 1927223 1927225 + ConditionalExpression 1927225 1927375 + BinaryExpression 1927225 1927314 + BinaryExpression 1927225 1927286 + BinaryExpression 1927225 1927271 + PropertyAccessExpression 1927225 1927244 + Identifier 1927225 1927230 + Identifier 1927231 1927244 + EqualsEqualsEqualsToken 1927244 1927248 + PropertyAccessExpression 1927248 1927271 + Identifier 1927248 1927258 + Identifier 1927259 1927271 + AmpersandAmpersandToken 1927271 1927274 + PropertyAccessExpression 1927274 1927286 + Identifier 1927274 1927279 + Identifier 1927280 1927286 + AmpersandAmpersandToken 1927286 1927289 + PropertyAccessExpression 1927289 1927314 + Identifier 1927289 1927294 + Identifier 1927295 1927314 + QuestionToken 1927314 1927316 + CallExpression 1927316 1927361 + Identifier 1927316 1927335 + PropertyAccessExpression 1927336 1927347 + Identifier 1927336 1927340 + Identifier 1927341 1927347 + Identifier 1927348 1927360 + ColonToken 1927361 1927363 + Identifier 1927363 1927375 + ReturnStatement 1927387 1927411 + Identifier 1927403 1927410 + FunctionDeclaration 1927418 1928024 + Identifier 1927647 1927674 + Parameter 1927675 1927685 + Identifier 1927675 1927679 + TypeReference 1927680 1927685 + Identifier 1927680 1927685 + Parameter 1927686 1927713 + Identifier 1927686 1927691 + TypeReference 1927692 1927713 + Identifier 1927692 1927713 + UnionType 1927715 1927737 + TypeReference 1927715 1927725 + Identifier 1927715 1927725 + UndefinedKeyword 1927727 1927737 + Block 1927737 1928024 + VariableStatement 1927739 1927814 + VariableDeclarationList 1927739 1927813 + VariableDeclaration 1927754 1927813 + Identifier 1927754 1927765 + CallExpression 1927767 1927813 + Identifier 1927767 1927787 + Identifier 1927788 1927792 + PropertyAccessExpression 1927793 1927812 + Identifier 1927793 1927807 + Identifier 1927808 1927812 + VariableStatement 1927814 1927900 + VariableDeclarationList 1927814 1927899 + VariableDeclaration 1927829 1927899 + Identifier 1927829 1927847 + CallExpression 1927849 1927899 + Identifier 1927849 1927856 + Identifier 1927857 1927867 + ArrowFunction 1927868 1927898 + Parameter 1927868 1927870 + Identifier 1927868 1927870 + EqualsGreaterThanToken 1927870 1927873 + PrefixUnaryExpression 1927873 1927898 + CallExpression 1927875 1927898 + Identifier 1927875 1927889 + Identifier 1927890 1927891 + Identifier 1927892 1927897 + ReturnStatement 1927900 1928017 + ConditionalExpression 1927916 1928016 + BinaryExpression 1927916 1927947 + PropertyAccessExpression 1927916 1927941 + Identifier 1927916 1927934 + Identifier 1927935 1927941 + EqualsEqualsEqualsToken 1927941 1927945 + NumericLiteral 1927945 1927947 + QuestionToken 1927947 1927949 + ElementAccessExpression 1927949 1927970 + Identifier 1927949 1927967 + NumericLiteral 1927968 1927969 + ColonToken 1927970 1927972 + CallExpression 1927972 1928016 + Identifier 1927972 1927997 + Identifier 1927998 1928015 + FunctionDeclaration 1928024 1928836 + Identifier 1928145 1928160 + Parameter 1928161 1928181 + Identifier 1928161 1928170 + TypeReference 1928171 1928181 + Identifier 1928171 1928181 + Parameter 1928182 1928211 + Identifier 1928182 1928189 + TypeReference 1928190 1928211 + Identifier 1928190 1928211 + Block 1928212 1928836 + VariableStatement 1928214 1928253 + VariableDeclarationList 1928214 1928252 + VariableDeclaration 1928227 1928252 + Identifier 1928227 1928248 + NumericLiteral 1928250 1928252 + ForStatement 1928253 1928582 + BinaryExpression 1928269 1928317 + Identifier 1928269 1928290 + LessThanToken 1928290 1928292 + PropertyAccessExpression 1928292 1928317 + PropertyAccessExpression 1928292 1928310 + Identifier 1928292 1928299 + Identifier 1928300 1928310 + Identifier 1928311 1928317 + PostfixUnaryExpression 1928318 1928341 + Identifier 1928318 1928339 + Block 1928342 1928582 + VariableStatement 1928344 1928412 + VariableDeclarationList 1928344 1928411 + VariableDeclaration 1928363 1928411 + Identifier 1928363 1928369 + ElementAccessExpression 1928371 1928411 + PropertyAccessExpression 1928371 1928389 + Identifier 1928371 1928378 + Identifier 1928379 1928389 + Identifier 1928390 1928410 + IfStatement 1928412 1928571 + BinaryExpression 1928430 1928529 + BinaryExpression 1928430 1928494 + BinaryExpression 1928430 1928470 + PropertyAccessExpression 1928430 1928447 + Identifier 1928430 1928435 + Identifier 1928436 1928447 + BarBarToken 1928447 1928450 + PropertyAccessExpression 1928450 1928470 + Identifier 1928450 1928456 + Identifier 1928457 1928470 + BarBarToken 1928470 1928473 + PropertyAccessExpression 1928473 1928494 + Identifier 1928473 1928479 + Identifier 1928480 1928494 + BarBarToken 1928494 1928497 + CallExpression 1928497 1928529 + Identifier 1928497 1928522 + Identifier 1928523 1928528 + Block 1928530 1928571 + BreakStatement 1928532 1928556 + IfStatement 1928582 1928719 + BinaryExpression 1928596 1928668 + PropertyAccessExpression 1928596 1928620 + PropertyAccessExpression 1928596 1928613 + Identifier 1928596 1928602 + Identifier 1928603 1928613 + Identifier 1928614 1928620 + AmpersandAmpersandToken 1928620 1928623 + CallExpression 1928623 1928668 + Identifier 1928623 1928646 + ElementAccessExpression 1928647 1928667 + PropertyAccessExpression 1928647 1928664 + Identifier 1928647 1928653 + Identifier 1928654 1928664 + NumericLiteral 1928665 1928666 + Block 1928669 1928719 + ExpressionStatement 1928671 1928708 + PostfixUnaryExpression 1928671 1928707 + Identifier 1928671 1928705 + ReturnStatement 1928719 1928829 + BinaryExpression 1928735 1928828 + PrefixUnaryExpression 1928735 1928773 + CallExpression 1928737 1928773 + Identifier 1928737 1928762 + Identifier 1928763 1928772 + AmpersandAmpersandToken 1928773 1928776 + BinaryExpression 1928776 1928828 + CallExpression 1928776 1928805 + Identifier 1928776 1928794 + Identifier 1928795 1928804 + LessThanToken 1928805 1928807 + Identifier 1928807 1928828 + FunctionDeclaration 1928836 1929252 + Identifier 1928852 1928901 + Parameter 1928902 1928931 + Identifier 1928902 1928906 + TypeReference 1928907 1928931 + Identifier 1928907 1928931 + UnionType 1928933 1928955 + TypeReference 1928933 1928943 + Identifier 1928933 1928943 + UndefinedKeyword 1928945 1928955 + Block 1928955 1929252 + ReturnStatement 1928957 1929245 + ConditionalExpression 1929080 1929244 + BinaryExpression 1929080 1929153 + CallExpression 1929080 1929122 + Identifier 1929080 1929116 + Identifier 1929117 1929121 + BarBarToken 1929122 1929125 + CallExpression 1929125 1929153 + Identifier 1929125 1929147 + Identifier 1929148 1929152 + QuestionToken 1929153 1929168 + CallExpression 1929168 1929219 + Identifier 1929168 1929191 + AsExpression 1929192 1929218 + Identifier 1929192 1929196 + TypeReference 1929199 1929218 + Identifier 1929199 1929218 + ColonToken 1929219 1929234 + Identifier 1929234 1929244 + FunctionDeclaration 1929252 1931587 + Identifier 1929738 1929761 + Parameter 1929762 1929822 + Identifier 1929762 1929766 + UnionType 1929767 1929822 + TypeReference 1929767 1929786 + Identifier 1929767 1929786 + TypeReference 1929788 1929802 + Identifier 1929788 1929802 + TypeReference 1929804 1929822 + Identifier 1929804 1929822 + UnionType 1929824 1929846 + TypeReference 1929824 1929834 + Identifier 1929824 1929834 + UndefinedKeyword 1929836 1929846 + Block 1929846 1931587 + ExpressionStatement 1929848 1929946 + CallExpression 1929848 1929945 + PropertyAccessExpression 1929848 1929870 + Identifier 1929848 1929863 + Identifier 1929864 1929870 + BinaryExpression 1929871 1929944 + BinaryExpression 1929871 1929913 + PropertyAccessExpression 1929871 1929880 + Identifier 1929871 1929875 + Identifier 1929876 1929880 + ExclamationEqualsEqualsToken 1929880 1929884 + PropertyAccessExpression 1929884 1929913 + Identifier 1929884 1929895 + Identifier 1929896 1929913 + BarBarToken 1929913 1929916 + CallExpression 1929916 1929944 + Identifier 1929916 1929938 + Identifier 1929939 1929943 + VariableStatement 1929946 1930009 + VariableDeclarationList 1929946 1930008 + VariableDeclaration 1929961 1930008 + Identifier 1929961 1929978 + CallExpression 1929980 1930008 + Identifier 1929980 1930002 + Identifier 1930003 1930007 + IfStatement 1930009 1930091 + Identifier 1930023 1930039 + Block 1930040 1930091 + ReturnStatement 1930042 1930080 + Identifier 1930062 1930079 + VariableStatement 1930091 1930176 + VariableDeclarationList 1930091 1930175 + VariableDeclaration 1930106 1930175 + Identifier 1930106 1930111 + CallExpression 1930113 1930175 + Identifier 1930113 1930145 + Identifier 1930146 1930150 + PropertyAccessExpression 1930151 1930174 + Identifier 1930151 1930164 + Identifier 1930165 1930174 + IfStatement 1930176 1930240 + PrefixUnaryExpression 1930190 1930195 + Identifier 1930191 1930195 + Block 1930196 1930240 + ReturnStatement 1930198 1930229 + Identifier 1930218 1930228 + IfStatement 1930240 1930359 + PrefixUnaryExpression 1930254 1930285 + ParenthesizedExpression 1930255 1930285 + BinaryExpression 1930256 1930284 + PropertyAccessExpression 1930256 1930266 + Identifier 1930256 1930260 + Identifier 1930261 1930266 + AmpersandToken 1930266 1930268 + PropertyAccessExpression 1930268 1930284 + Identifier 1930268 1930278 + Identifier 1930279 1930284 + Block 1930286 1930359 + ReturnStatement 1930288 1930348 + CallExpression 1930308 1930347 + Identifier 1930308 1930335 + Identifier 1930336 1930340 + Identifier 1930341 1930346 + VariableStatement 1930359 1930412 + VariableDeclarationList 1930359 1930411 + VariableDeclaration 1930372 1930411 + Identifier 1930372 1930386 + UnionType 1930387 1930411 + ArrayType 1930387 1930399 + TypeReference 1930387 1930397 + Identifier 1930387 1930397 + UndefinedKeyword 1930401 1930411 + VariableStatement 1930412 1930462 + VariableDeclarationList 1930412 1930461 + VariableDeclaration 1930427 1930461 + Identifier 1930427 1930433 + PropertyAccessExpression 1930435 1930461 + ParenthesizedExpression 1930435 1930455 + AsExpression 1930437 1930454 + Identifier 1930437 1930441 + TypeReference 1930444 1930454 + Identifier 1930444 1930454 + Identifier 1930456 1930461 + ForOfStatement 1930462 1931303 + VariableDeclarationList 1930477 1930490 + VariableDeclaration 1930482 1930490 + Identifier 1930482 1930490 + Identifier 1930493 1930499 + Block 1930500 1931303 + VariableStatement 1930502 1930576 + VariableDeclarationList 1930502 1930575 + VariableDeclaration 1930521 1930575 + Identifier 1930521 1930531 + CallExpression 1930533 1930575 + Identifier 1930533 1930560 + Identifier 1930561 1930568 + Identifier 1930569 1930574 + IfStatement 1930576 1931292 + Identifier 1930594 1930603 + Block 1930604 1931292 + IfStatement 1930606 1931277 + PrefixUnaryExpression 1930628 1930642 + Identifier 1930629 1930642 + Block 1930643 1930799 + ExpressionStatement 1930645 1930780 + BinaryExpression 1930645 1930779 + Identifier 1930645 1930765 + EqualsToken 1930765 1930767 + ArrayLiteralExpression 1930767 1930779 + Identifier 1930769 1930778 + IfStatement 1930821 1931277 + PrefixUnaryExpression 1930826 1930983 + CallExpression 1930827 1930983 + Identifier 1930827 1930853 + ElementAccessExpression 1930854 1930870 + Identifier 1930854 1930867 + NumericLiteral 1930868 1930869 + Identifier 1930871 1930881 + FalseKeyword 1930882 1930905 + TrueKeyword 1930906 1930931 + TrueKeyword 1930932 1930959 + Identifier 1930960 1930982 + Block 1930984 1931108 + ReturnStatement 1930986 1931089 + Identifier 1931078 1931088 + Block 1931130 1931277 + ExpressionStatement 1931132 1931258 + CallExpression 1931132 1931257 + PropertyAccessExpression 1931132 1931246 + Identifier 1931132 1931241 + Identifier 1931242 1931246 + Identifier 1931247 1931256 + IfStatement 1931303 1931580 + Identifier 1931430 1931443 + Block 1931444 1931580 + ReturnStatement 1931446 1931569 + ConditionalExpression 1931466 1931568 + BinaryExpression 1931466 1931493 + PropertyAccessExpression 1931466 1931487 + Identifier 1931466 1931480 + Identifier 1931481 1931487 + EqualsEqualsEqualsToken 1931487 1931491 + NumericLiteral 1931491 1931493 + QuestionToken 1931493 1931495 + ElementAccessExpression 1931495 1931512 + Identifier 1931495 1931509 + NumericLiteral 1931510 1931511 + ColonToken 1931512 1931514 + CallExpression 1931514 1931568 + Identifier 1931514 1931535 + ElementAccessExpression 1931536 1931552 + Identifier 1931536 1931549 + NumericLiteral 1931550 1931551 + Identifier 1931553 1931567 + FunctionDeclaration 1931587 1933387 + Identifier 1931603 1931640 + Parameter 1931641 1931671 + Identifier 1931641 1931645 + TypeReference 1931646 1931671 + Identifier 1931646 1931671 + Block 1931672 1933387 + VariableStatement 1931674 1931729 + VariableDeclarationList 1931674 1931728 + VariableDeclaration 1931689 1931728 + Identifier 1931689 1931700 + CallExpression 1931702 1931728 + Identifier 1931702 1931722 + Identifier 1931723 1931727 + IfStatement 1931729 1933357 + BinaryExpression 1931743 1931799 + PrefixUnaryExpression 1931743 1931775 + CallExpression 1931744 1931775 + Identifier 1931744 1931763 + Identifier 1931764 1931774 + AmpersandAmpersandToken 1931775 1931778 + PrefixUnaryExpression 1931778 1931799 + PropertyAccessExpression 1931780 1931799 + Identifier 1931780 1931784 + Identifier 1931785 1931799 + Block 1931800 1933357 + VariableStatement 1931802 1931866 + VariableDeclarationList 1931802 1931865 + VariableDeclaration 1931819 1931865 + Identifier 1931819 1931829 + UnionType 1931830 1931865 + TypeReference 1931830 1931853 + Identifier 1931830 1931853 + UndefinedKeyword 1931855 1931865 + ExpressionStatement 1931866 1931948 + BinaryExpression 1931866 1931947 + Identifier 1931866 1931887 + QuestionQuestionEqualsToken 1931887 1931891 + CallExpression 1931891 1931947 + Identifier 1931891 1931905 + PropertyAccessExpression 1931906 1931925 + Identifier 1931906 1931918 + Identifier 1931919 1931925 + TrueKeyword 1931926 1931946 + ExpressionStatement 1931948 1932014 + CallExpression 1931948 1932013 + PropertyAccessExpression 1931948 1931985 + Identifier 1931948 1931969 + Identifier 1931970 1931985 + PropertyAccessExpression 1931986 1932012 + Identifier 1931986 1931996 + Identifier 1931997 1932012 + ExpressionStatement 1932014 1932083 + CallExpression 1932014 1932082 + PropertyAccessExpression 1932014 1932054 + Identifier 1932014 1932035 + Identifier 1932036 1932054 + PropertyAccessExpression 1932055 1932081 + Identifier 1932055 1932065 + Identifier 1932066 1932081 + ExpressionStatement 1932083 1932853 + CallExpression 1932083 1932852 + PropertyAccessExpression 1932083 1932115 + Identifier 1932083 1932104 + Identifier 1932105 1932115 + ArrowFunction 1932116 1932851 + Parameter 1932117 1932124 + Identifier 1932117 1932124 + Parameter 1932125 1932132 + Identifier 1932125 1932132 + Parameter 1932133 1932138 + Identifier 1932133 1932138 + EqualsGreaterThanToken 1932139 1932142 + Block 1932142 1932851 + VariableStatement 1932144 1932254 + VariableDeclarationList 1932144 1932253 + VariableDeclaration 1932222 1932253 + Identifier 1932222 1932228 + CallExpression 1932230 1932253 + PropertyAccessExpression 1932230 1932251 + NonNullExpression 1932230 1932239 + Identifier 1932230 1932238 + Identifier 1932240 1932251 + IfStatement 1932254 1932836 + BinaryExpression 1932276 1932396 + BinaryExpression 1932276 1932365 + BinaryExpression 1932276 1932336 + BinaryExpression 1932276 1932323 + PropertyAccessExpression 1932276 1932292 + Identifier 1932276 1932283 + Identifier 1932284 1932292 + EqualsEqualsEqualsToken 1932292 1932296 + PropertyAccessExpression 1932296 1932323 + Identifier 1932296 1932315 + Identifier 1932316 1932323 + AmpersandAmpersandToken 1932323 1932326 + Identifier 1932326 1932336 + AmpersandAmpersandToken 1932336 1932339 + BinaryExpression 1932339 1932365 + Identifier 1932339 1932345 + EqualsEqualsEqualsToken 1932345 1932349 + PropertyAccessExpression 1932349 1932365 + Identifier 1932349 1932359 + Identifier 1932360 1932365 + AmpersandAmpersandToken 1932365 1932368 + BinaryExpression 1932368 1932396 + Identifier 1932368 1932375 + EqualsEqualsEqualsToken 1932375 1932379 + PropertyAccessExpression 1932379 1932396 + Identifier 1932379 1932389 + Identifier 1932390 1932396 + Block 1932397 1932602 + VariableStatement 1932399 1932528 + VariableDeclarationList 1932399 1932527 + VariableDeclaration 1932426 1932527 + Identifier 1932426 1932432 + CallExpression 1932434 1932527 + Identifier 1932434 1932459 + PropertyAccessExpression 1932460 1932479 + Identifier 1932460 1932470 + Identifier 1932471 1932479 + PropertyAccessExpression 1932480 1932496 + Identifier 1932480 1932491 + Identifier 1932492 1932496 + Identifier 1932497 1932503 + Identifier 1932504 1932511 + Identifier 1932512 1932520 + Identifier 1932521 1932526 + ExpressionStatement 1932528 1932583 + CallExpression 1932528 1932582 + Identifier 1932528 1932564 + Identifier 1932565 1932574 + Identifier 1932575 1932581 + IfStatement 1932624 1932836 + BinaryExpression 1932629 1932668 + PrefixUnaryExpression 1932629 1932639 + Identifier 1932630 1932639 + BarBarToken 1932639 1932642 + BinaryExpression 1932642 1932668 + Identifier 1932642 1932648 + ExclamationEqualsEqualsToken 1932648 1932652 + PropertyAccessExpression 1932652 1932668 + Identifier 1932652 1932662 + Identifier 1932663 1932668 + Block 1932669 1932836 + ExpressionStatement 1932671 1932768 + BinaryExpression 1932671 1932767 + Identifier 1932671 1932702 + EqualsToken 1932702 1932704 + CallExpression 1932704 1932767 + Identifier 1932704 1932725 + Identifier 1932726 1932736 + Identifier 1932737 1932743 + Identifier 1932744 1932751 + Identifier 1932752 1932760 + Identifier 1932761 1932766 + ExpressionStatement 1932768 1932817 + CallExpression 1932768 1932816 + PropertyAccessExpression 1932768 1932805 + Identifier 1932768 1932801 + Identifier 1932802 1932805 + Identifier 1932806 1932815 + ExpressionStatement 1932853 1932931 + CallExpression 1932853 1932930 + PropertyAccessExpression 1932853 1932882 + Identifier 1932853 1932874 + Identifier 1932875 1932882 + PropertyAccessExpression 1932883 1932898 + Identifier 1932883 1932893 + Identifier 1932894 1932898 + PropertyAccessExpression 1932899 1932908 + Identifier 1932899 1932904 + Identifier 1932905 1932908 + BinaryExpression 1932909 1932929 + PropertyAccessExpression 1932909 1932918 + Identifier 1932909 1932914 + Identifier 1932915 1932918 + MinusToken 1932918 1932920 + PropertyAccessExpression 1932920 1932929 + Identifier 1932920 1932925 + Identifier 1932926 1932929 + TryStatement 1932931 1933346 + Block 1932948 1933210 + ExpressionStatement 1932950 1932983 + CallExpression 1932950 1932982 + PropertyAccessExpression 1932950 1932980 + Identifier 1932950 1932975 + Identifier 1932976 1932980 + ExpressionStatement 1932983 1933158 + CallExpression 1932983 1933157 + PropertyAccessExpression 1932983 1933013 + Identifier 1932983 1933006 + Identifier 1933007 1933013 + BinaryExpression 1933014 1933101 + CallExpression 1933014 1933061 + PropertyAccessExpression 1933014 1933038 + Identifier 1933014 1933021 + Identifier 1933022 1933038 + TrueKeyword 1933039 1933060 + EqualsEqualsEqualsToken 1933061 1933065 + PropertyAccessExpression 1933065 1933101 + Identifier 1933065 1933076 + Identifier 1933077 1933101 + StringLiteral 1933102 1933156 + ReturnStatement 1933158 1933195 + PrefixUnaryExpression 1933182 1933194 + PrefixUnaryExpression 1933184 1933194 + Identifier 1933185 1933194 + Block 1933231 1933346 + ExpressionStatement 1933233 1933271 + CallExpression 1933233 1933270 + PropertyAccessExpression 1933233 1933266 + Identifier 1933233 1933258 + Identifier 1933259 1933266 + StringLiteral 1933267 1933269 + ExpressionStatement 1933271 1933331 + CallExpression 1933271 1933330 + PropertyAccessExpression 1933271 1933307 + Identifier 1933271 1933296 + Identifier 1933297 1933307 + Identifier 1933308 1933329 + ReturnStatement 1933357 1933380 + FalseKeyword 1933373 1933379 + FunctionDeclaration 1933387 1933772 + Identifier 1933403 1933433 + Parameter 1933434 1933464 + Identifier 1933434 1933438 + TypeReference 1933439 1933464 + Identifier 1933439 1933464 + Block 1933465 1933772 + VariableStatement 1933467 1933514 + VariableDeclarationList 1933467 1933513 + VariableDeclaration 1933482 1933513 + Identifier 1933482 1933492 + CallExpression 1933494 1933513 + Identifier 1933494 1933507 + Identifier 1933508 1933512 + IfStatement 1933514 1933731 + PrefixUnaryExpression 1933528 1933575 + ParenthesizedExpression 1933529 1933575 + BinaryExpression 1933530 1933574 + PropertyAccessExpression 1933530 1933545 + Identifier 1933530 1933539 + Identifier 1933540 1933545 + AmpersandToken 1933545 1933547 + PropertyAccessExpression 1933547 1933574 + Identifier 1933547 1933562 + Identifier 1933563 1933574 + Block 1933576 1933731 + ExpressionStatement 1933578 1933638 + BinaryExpression 1933578 1933637 + PropertyAccessExpression 1933578 1933607 + Identifier 1933578 1933601 + Identifier 1933602 1933607 + BarEqualsToken 1933607 1933610 + PropertyAccessExpression 1933610 1933637 + Identifier 1933610 1933625 + Identifier 1933626 1933637 + ExpressionStatement 1933638 1933720 + CallExpression 1933638 1933719 + Identifier 1933638 1933669 + ArrowFunction 1933670 1933718 + EqualsGreaterThanToken 1933672 1933675 + CallExpression 1933675 1933718 + Identifier 1933675 1933712 + Identifier 1933713 1933717 + ReturnStatement 1933731 1933765 + Identifier 1933747 1933764 + FunctionDeclaration 1933772 1934316 + Identifier 1933788 1933810 + Parameter 1933811 1933830 + Identifier 1933811 1933815 + TypeReference 1933816 1933830 + Identifier 1933816 1933830 + Parameter 1933831 1933853 + Identifier 1933831 1933841 + QuestionToken 1933841 1933842 + TypeReference 1933843 1933853 + Identifier 1933843 1933853 + TypeReference 1933855 1933860 + Identifier 1933855 1933860 + Block 1933860 1934316 + IfStatement 1933862 1934103 + BinaryExpression 1933876 1933937 + Identifier 1933876 1933891 + LessThanToken 1933891 1933893 + PropertyAccessExpression 1933893 1933937 + Identifier 1933893 1933922 + Identifier 1933923 1933937 + Block 1933938 1934103 + ExpressionStatement 1933940 1934092 + CallExpression 1933940 1934091 + Identifier 1933940 1933978 + Identifier 1933979 1933983 + ConditionalExpression 1933984 1934090 + PropertyAccessExpression 1933984 1934019 + Identifier 1933984 1934000 + Identifier 1934001 1934019 + QuestionToken 1934019 1934021 + PropertyAccessExpression 1934021 1934056 + Identifier 1934021 1934041 + Identifier 1934042 1934056 + ColonToken 1934056 1934058 + PropertyAccessExpression 1934058 1934090 + Identifier 1934058 1934078 + Identifier 1934079 1934090 + VariableStatement 1934103 1934187 + VariableDeclarationList 1934103 1934186 + VariableDeclaration 1934120 1934186 + Identifier 1934120 1934140 + CallExpression 1934142 1934186 + Identifier 1934142 1934158 + PropertyAccessExpression 1934159 1934174 + Identifier 1934159 1934163 + Identifier 1934164 1934174 + Identifier 1934175 1934185 + ReturnStatement 1934187 1934309 + CallExpression 1934203 1934308 + Identifier 1934203 1934234 + PropertyAccessExpression 1934235 1934254 + Identifier 1934235 1934247 + Identifier 1934248 1934254 + Identifier 1934255 1934275 + Identifier 1934276 1934290 + PropertyAccessExpression 1934291 1934307 + Identifier 1934291 1934296 + Identifier 1934297 1934307 + FunctionDeclaration 1934316 1934488 + Identifier 1934332 1934357 + Parameter 1934358 1934383 + Identifier 1934358 1934362 + TypeReference 1934363 1934383 + Identifier 1934363 1934383 + TypeReference 1934385 1934390 + Identifier 1934385 1934390 + Block 1934390 1934488 + ReturnStatement 1934392 1934481 + ConditionalExpression 1934408 1934480 + PropertyAccessExpression 1934408 1934422 + Identifier 1934408 1934413 + Identifier 1934414 1934422 + QuestionToken 1934422 1934424 + CallExpression 1934424 1934468 + Identifier 1934424 1934445 + PropertyAccessExpression 1934446 1934455 + Identifier 1934446 1934450 + Identifier 1934451 1934455 + Identifier 1934456 1934467 + ColonToken 1934468 1934470 + PropertyAccessExpression 1934470 1934480 + Identifier 1934470 1934475 + Identifier 1934476 1934480 + FunctionDeclaration 1934488 1935094 + Identifier 1934504 1934520 + Parameter 1934521 1934581 + Identifier 1934521 1934525 + UnionType 1934526 1934581 + TypeReference 1934526 1934541 + Identifier 1934526 1934541 + TypeReference 1934543 1934568 + Identifier 1934543 1934568 + TypeReference 1934570 1934581 + Identifier 1934570 1934581 + BooleanKeyword 1934583 1934591 + Block 1934591 1935094 + ReturnStatement 1934593 1935087 + BinaryExpression 1934609 1935086 + BinaryExpression 1934609 1934952 + BinaryExpression 1934609 1934812 + BinaryExpression 1934609 1934691 + BinaryExpression 1934609 1934649 + PropertyAccessExpression 1934609 1934619 + Identifier 1934609 1934614 + Identifier 1934615 1934619 + EqualsEqualsEqualsToken 1934619 1934623 + PropertyAccessExpression 1934623 1934649 + Identifier 1934623 1934634 + Identifier 1934635 1934649 + AmpersandAmpersandToken 1934649 1934652 + PrefixUnaryExpression 1934652 1934691 + PrefixUnaryExpression 1934654 1934691 + PropertyAccessExpression 1934655 1934691 + ParenthesizedExpression 1934655 1934679 + AsExpression 1934656 1934678 + Identifier 1934656 1934660 + TypeReference 1934663 1934678 + Identifier 1934663 1934678 + Identifier 1934680 1934691 + BarBarToken 1934691 1934694 + BinaryExpression 1934694 1934812 + BinaryExpression 1934694 1934751 + PropertyAccessExpression 1934694 1934717 + Identifier 1934694 1934712 + Identifier 1934713 1934717 + EqualsEqualsEqualsToken 1934717 1934721 + PropertyAccessExpression 1934721 1934751 + Identifier 1934721 1934732 + Identifier 1934733 1934751 + AmpersandAmpersandToken 1934751 1934754 + CallExpression 1934754 1934812 + Identifier 1934754 1934770 + PropertyAccessExpression 1934771 1934811 + ParenthesizedExpression 1934771 1934799 + AsExpression 1934772 1934798 + Identifier 1934772 1934776 + TypeReference 1934779 1934798 + Identifier 1934779 1934798 + Identifier 1934800 1934811 + BarBarToken 1934812 1934815 + BinaryExpression 1934815 1934952 + BinaryExpression 1934815 1934881 + PropertyAccessExpression 1934815 1934838 + Identifier 1934815 1934833 + Identifier 1934834 1934838 + EqualsEqualsEqualsToken 1934838 1934842 + PropertyAccessExpression 1934842 1934881 + Identifier 1934842 1934853 + Identifier 1934854 1934881 + AmpersandAmpersandToken 1934881 1934884 + PrefixUnaryExpression 1934884 1934952 + PrefixUnaryExpression 1934886 1934952 + PropertyAccessExpression 1934887 1934952 + ParenthesizedExpression 1934887 1934924 + AsExpression 1934888 1934923 + Identifier 1934888 1934892 + TypeReference 1934895 1934923 + Identifier 1934895 1934923 + Identifier 1934925 1934952 + BarBarToken 1934952 1934955 + BinaryExpression 1934955 1935086 + BinaryExpression 1934955 1935010 + PropertyAccessExpression 1934955 1934978 + Identifier 1934955 1934973 + Identifier 1934974 1934978 + EqualsEqualsEqualsToken 1934978 1934982 + PropertyAccessExpression 1934982 1935010 + Identifier 1934982 1934993 + Identifier 1934994 1935010 + AmpersandAmpersandToken 1935010 1935013 + BinaryExpression 1935013 1935086 + PropertyAccessExpression 1935013 1935059 + PropertyAccessExpression 1935013 1935054 + ParenthesizedExpression 1935013 1935040 + AsExpression 1935015 1935039 + Identifier 1935015 1935019 + TypeReference 1935022 1935039 + Identifier 1935022 1935039 + Identifier 1935041 1935054 + Identifier 1935055 1935059 + EqualsEqualsEqualsToken 1935059 1935063 + PropertyAccessExpression 1935063 1935086 + Identifier 1935063 1935074 + Identifier 1935075 1935086 + FunctionDeclaration 1935094 1935321 + Identifier 1935110 1935132 + Parameter 1935133 1935161 + Identifier 1935133 1935137 + TypeReference 1935138 1935161 + Identifier 1935138 1935161 + Block 1935162 1935321 + VariableStatement 1935164 1935233 + VariableDeclarationList 1935164 1935232 + VariableDeclaration 1935179 1935232 + Identifier 1935179 1935186 + CallExpression 1935188 1935232 + Identifier 1935188 1935219 + PropertyAccessExpression 1935220 1935231 + Identifier 1935220 1935224 + Identifier 1935225 1935231 + ReturnStatement 1935233 1935314 + BinaryExpression 1935249 1935313 + CallExpression 1935249 1935273 + Identifier 1935249 1935265 + Identifier 1935266 1935272 + AmpersandAmpersandToken 1935273 1935276 + CallExpression 1935276 1935313 + Identifier 1935276 1935298 + PropertyAccessExpression 1935299 1935312 + Identifier 1935299 1935305 + Identifier 1935306 1935312 + FunctionDeclaration 1935321 1940429 + Identifier 1935337 1935355 + Parameter 1935356 1935384 + Identifier 1935356 1935360 + TypeReference 1935361 1935384 + Identifier 1935361 1935384 + Parameter 1935385 1935418 + Identifier 1935385 1935395 + UnionType 1935396 1935418 + TypeReference 1935396 1935406 + Identifier 1935396 1935406 + UndefinedKeyword 1935408 1935418 + Parameter 1935419 1935451 + Identifier 1935419 1935430 + UnionType 1935431 1935451 + BooleanKeyword 1935431 1935439 + UndefinedKeyword 1935441 1935451 + TypeReference 1935453 1935458 + Identifier 1935453 1935458 + Block 1935458 1940429 + VariableStatement 1935460 1935501 + VariableDeclarationList 1935460 1935500 + VariableDeclaration 1935475 1935500 + Identifier 1935475 1935484 + PropertyAccessExpression 1935486 1935500 + Identifier 1935486 1935491 + Identifier 1935492 1935500 + VariableStatement 1935501 1935548 + VariableDeclarationList 1935501 1935547 + VariableDeclaration 1935516 1935547 + Identifier 1935516 1935529 + PropertyAccessExpression 1935531 1935547 + Identifier 1935531 1935540 + Identifier 1935541 1935547 + VariableStatement 1935548 1935590 + VariableDeclarationList 1935548 1935589 + VariableDeclaration 1935563 1935589 + Identifier 1935563 1935576 + ArrayType 1935577 1935584 + TypeReference 1935577 1935582 + Identifier 1935577 1935582 + ArrayLiteralExpression 1935586 1935589 + VariableStatement 1935590 1935640 + VariableDeclarationList 1935590 1935639 + VariableDeclaration 1935605 1935639 + Identifier 1935605 1935618 + ArrayType 1935619 1935634 + TypeReference 1935619 1935632 + Identifier 1935619 1935632 + ArrayLiteralExpression 1935636 1935639 + ExpressionStatement 1935640 1935681 + CallExpression 1935640 1935680 + Identifier 1935640 1935674 + Identifier 1935675 1935679 + VariableStatement 1935681 1935747 + VariableDeclarationList 1935681 1935746 + VariableDeclaration 1935696 1935746 + Identifier 1935696 1935719 + CallExpression 1935721 1935746 + Identifier 1935721 1935740 + Identifier 1935741 1935745 + VariableStatement 1935747 1935801 + VariableDeclarationList 1935747 1935800 + VariableDeclaration 1935762 1935800 + Identifier 1935762 1935777 + CallExpression 1935779 1935800 + Identifier 1935779 1935794 + Identifier 1935795 1935799 + VariableStatement 1935801 1935900 + VariableDeclarationList 1935801 1935899 + VariableDeclaration 1935816 1935899 + Identifier 1935816 1935831 + CallExpression 1935833 1935899 + Identifier 1935833 1935865 + Identifier 1935866 1935870 + Identifier 1935871 1935898 + VariableStatement 1935900 1936136 + VariableDeclarationList 1935900 1936135 + VariableDeclaration 1935915 1936135 + Identifier 1935915 1935930 + BinaryExpression 1935932 1936135 + CallExpression 1935932 1935960 + Identifier 1935932 1935954 + Identifier 1935955 1935959 + BarBarToken 1935960 1935963 + BinaryExpression 1935963 1936135 + PrefixUnaryExpression 1935963 1935980 + PrefixUnaryExpression 1935965 1935980 + Identifier 1935966 1935980 + AmpersandAmpersandToken 1935980 1935983 + CallExpression 1935983 1936135 + Identifier 1935983 1935992 + Identifier 1935993 1936007 + ArrowFunction 1936008 1936134 + Parameter 1936008 1936010 + Identifier 1936008 1936010 + EqualsGreaterThanToken 1936010 1936013 + BinaryExpression 1936013 1936134 + CallExpression 1936013 1936032 + Identifier 1936013 1936029 + Identifier 1936030 1936031 + BarBarToken 1936032 1936035 + BinaryExpression 1936035 1936134 + BinaryExpression 1936035 1936073 + CallExpression 1936035 1936058 + Identifier 1936035 1936055 + Identifier 1936056 1936057 + AmpersandAmpersandToken 1936058 1936061 + PrefixUnaryExpression 1936061 1936073 + PropertyAccessExpression 1936063 1936073 + Identifier 1936063 1936064 + Identifier 1936065 1936073 + AmpersandAmpersandToken 1936073 1936076 + PrefixUnaryExpression 1936076 1936134 + PrefixUnaryExpression 1936078 1936134 + CallExpression 1936079 1936134 + Identifier 1936079 1936105 + BinaryExpression 1936106 1936133 + AsExpression 1936106 1936128 + PropertyAccessExpression 1936106 1936114 + Identifier 1936106 1936107 + Identifier 1936108 1936114 + TypeReference 1936117 1936128 + Identifier 1936117 1936128 + BarBarToken 1936128 1936131 + Identifier 1936131 1936133 + VariableStatement 1936136 1936181 + VariableDeclarationList 1936136 1936180 + VariableDeclaration 1936151 1936180 + Identifier 1936151 1936172 + FalseKeyword 1936174 1936180 + ForStatement 1936181 1939606 + VariableDeclarationList 1936196 1936205 + VariableDeclaration 1936199 1936205 + Identifier 1936199 1936201 + NumericLiteral 1936203 1936205 + BinaryExpression 1936206 1936223 + Identifier 1936206 1936208 + LessThanToken 1936208 1936210 + Identifier 1936210 1936223 + PostfixUnaryExpression 1936224 1936228 + Identifier 1936224 1936226 + Block 1936229 1939606 + VariableStatement 1936231 1936267 + VariableDeclarationList 1936231 1936266 + VariableDeclaration 1936250 1936266 + Identifier 1936250 1936252 + ElementAccessExpression 1936254 1936266 + Identifier 1936254 1936263 + Identifier 1936264 1936265 + IfStatement 1936267 1939595 + BinaryExpression 1936285 1936320 + PropertyAccessExpression 1936285 1936291 + Identifier 1936285 1936286 + Identifier 1936287 1936291 + EqualsEqualsEqualsToken 1936291 1936295 + PropertyAccessExpression 1936295 1936320 + Identifier 1936295 1936306 + Identifier 1936307 1936320 + Block 1936321 1938527 + IfStatement 1936323 1936585 + BinaryExpression 1936345 1936406 + Identifier 1936345 1936360 + LessThanToken 1936360 1936362 + PropertyAccessExpression 1936362 1936406 + Identifier 1936362 1936391 + Identifier 1936392 1936406 + Block 1936407 1936585 + ExpressionStatement 1936409 1936566 + CallExpression 1936409 1936565 + Identifier 1936409 1936455 + Identifier 1936456 1936457 + ConditionalExpression 1936458 1936564 + PropertyAccessExpression 1936458 1936493 + Identifier 1936458 1936474 + Identifier 1936475 1936493 + QuestionToken 1936493 1936495 + PropertyAccessExpression 1936495 1936530 + Identifier 1936495 1936515 + Identifier 1936516 1936530 + ColonToken 1936530 1936532 + PropertyAccessExpression 1936532 1936564 + Identifier 1936532 1936552 + Identifier 1936553 1936564 + VariableStatement 1936585 1936694 + VariableDeclarationList 1936585 1936693 + VariableDeclaration 1936608 1936693 + Identifier 1936608 1936619 + CallExpression 1936621 1936693 + Identifier 1936621 1936637 + PropertyAccessExpression 1936638 1936669 + ParenthesizedExpression 1936638 1936658 + AsExpression 1936639 1936657 + Identifier 1936639 1936640 + TypeReference 1936643 1936657 + Identifier 1936643 1936657 + Identifier 1936659 1936669 + Identifier 1936670 1936680 + Identifier 1936681 1936692 + IfStatement 1936694 1938512 + CallExpression 1936716 1936743 + Identifier 1936716 1936731 + Identifier 1936732 1936742 + Block 1936744 1936880 + ExpressionStatement 1936746 1936798 + CallExpression 1936746 1936797 + PropertyAccessExpression 1936746 1936785 + Identifier 1936746 1936780 + Identifier 1936781 1936785 + Identifier 1936786 1936796 + ExpressionStatement 1936798 1936861 + CallExpression 1936798 1936860 + PropertyAccessExpression 1936798 1936837 + Identifier 1936798 1936832 + Identifier 1936833 1936837 + PropertyAccessExpression 1936838 1936859 + Identifier 1936838 1936850 + Identifier 1936851 1936859 + IfStatement 1936902 1938512 + Identifier 1936907 1936929 + Block 1936930 1938257 + VariableStatement 1936932 1938122 + VariableDeclarationList 1936932 1938121 + VariableDeclaration 1937853 1938121 + Identifier 1937853 1937869 + BinaryExpression 1937871 1938121 + BinaryExpression 1937871 1938081 + CallExpression 1937871 1937914 + Identifier 1937871 1937890 + Identifier 1937891 1937901 + Identifier 1937902 1937913 + BarBarToken 1937914 1937917 + CallExpression 1937917 1938081 + Identifier 1937917 1937971 + PropertyAccessExpression 1937972 1937998 + Identifier 1937972 1937984 + Identifier 1937985 1937998 + Identifier 1937999 1938010 + Identifier 1938011 1938025 + Identifier 1938026 1938050 + FalseKeyword 1938051 1938080 + BarBarToken 1938081 1938084 + Identifier 1938084 1938121 + ExpressionStatement 1938122 1938179 + CallExpression 1938122 1938178 + PropertyAccessExpression 1938122 1938161 + Identifier 1938122 1938156 + Identifier 1938157 1938161 + Identifier 1938162 1938177 + ExpressionStatement 1938179 1938238 + CallExpression 1938179 1938237 + PropertyAccessExpression 1938179 1938218 + Identifier 1938179 1938213 + Identifier 1938214 1938218 + PropertyAccessExpression 1938219 1938236 + Identifier 1938219 1938231 + Identifier 1938232 1938236 + Block 1938279 1938512 + ExpressionStatement 1938281 1938434 + CallExpression 1938281 1938433 + PropertyAccessExpression 1938281 1938320 + Identifier 1938281 1938315 + Identifier 1938316 1938320 + CallExpression 1938321 1938432 + Identifier 1938321 1938351 + PropertyAccessExpression 1938352 1938371 + Identifier 1938352 1938364 + Identifier 1938365 1938371 + Identifier 1938372 1938383 + Identifier 1938384 1938398 + PropertyAccessExpression 1938399 1938431 + ParenthesizedExpression 1938399 1938420 + AsExpression 1938401 1938419 + Identifier 1938401 1938402 + TypeReference 1938405 1938419 + Identifier 1938405 1938419 + Identifier 1938421 1938431 + ExpressionStatement 1938434 1938493 + CallExpression 1938434 1938492 + PropertyAccessExpression 1938434 1938473 + Identifier 1938434 1938468 + Identifier 1938469 1938473 + PropertyAccessExpression 1938474 1938491 + Identifier 1938474 1938486 + Identifier 1938487 1938491 + IfStatement 1938545 1939595 + BinaryExpression 1938550 1938619 + Identifier 1938550 1938576 + AmpersandAmpersandToken 1938576 1938579 + BinaryExpression 1938579 1938619 + PropertyAccessExpression 1938579 1938586 + Identifier 1938579 1938581 + Identifier 1938582 1938586 + EqualsEqualsEqualsToken 1938586 1938590 + PropertyAccessExpression 1938590 1938619 + Identifier 1938590 1938601 + Identifier 1938602 1938619 + Block 1938620 1938802 + ExpressionStatement 1938622 1938668 + BinaryExpression 1938622 1938667 + Identifier 1938622 1938660 + EqualsToken 1938660 1938662 + TrueKeyword 1938662 1938667 + ExpressionStatement 1938668 1938728 + CallExpression 1938668 1938727 + PropertyAccessExpression 1938668 1938703 + Identifier 1938668 1938698 + Identifier 1938699 1938703 + Identifier 1938704 1938726 + ExpressionStatement 1938728 1938787 + CallExpression 1938728 1938786 + PropertyAccessExpression 1938728 1938763 + Identifier 1938728 1938758 + Identifier 1938759 1938763 + PropertyAccessExpression 1938764 1938785 + Identifier 1938764 1938776 + Identifier 1938777 1938785 + Block 1938820 1939595 + VariableStatement 1938822 1938913 + VariableDeclarationList 1938822 1938912 + VariableDeclaration 1938845 1938912 + Identifier 1938845 1938850 + CallExpression 1938852 1938912 + Identifier 1938852 1938886 + Identifier 1938887 1938888 + Identifier 1938889 1938899 + Identifier 1938900 1938911 + ExpressionStatement 1938913 1939014 + CallExpression 1938913 1939013 + PropertyAccessExpression 1938913 1938948 + Identifier 1938913 1938943 + Identifier 1938944 1938948 + CallExpression 1938949 1939012 + Identifier 1938949 1938963 + Identifier 1938964 1938968 + TrueKeyword 1938969 1938989 + Identifier 1938990 1939011 + ExpressionStatement 1939014 1939120 + CallExpression 1939014 1939119 + PropertyAccessExpression 1939014 1939049 + Identifier 1939014 1939044 + Identifier 1939045 1939049 + ConditionalExpression 1939050 1939118 + Identifier 1939050 1939070 + QuestionToken 1939070 1939072 + PropertyAccessExpression 1939072 1939094 + Identifier 1939072 1939085 + Identifier 1939086 1939094 + ColonToken 1939094 1939096 + PropertyAccessExpression 1939096 1939118 + Identifier 1939096 1939109 + Identifier 1939110 1939118 + IfStatement 1939120 1939580 + BinaryExpression 1939142 1939280 + BinaryExpression 1939142 1939255 + BinaryExpression 1939142 1939206 + BinaryExpression 1939142 1939169 + Identifier 1939142 1939156 + AmpersandAmpersandToken 1939156 1939159 + Identifier 1939159 1939169 + AmpersandAmpersandToken 1939169 1939172 + BinaryExpression 1939172 1939206 + Identifier 1939172 1939182 + AmpersandToken 1939182 1939184 + PropertyAccessExpression 1939184 1939206 + Identifier 1939184 1939194 + Identifier 1939195 1939206 + AmpersandAmpersandToken 1939206 1939209 + PrefixUnaryExpression 1939209 1939255 + ParenthesizedExpression 1939211 1939255 + BinaryExpression 1939212 1939254 + Identifier 1939212 1939221 + AmpersandToken 1939221 1939223 + PropertyAccessExpression 1939223 1939254 + Identifier 1939223 1939233 + Identifier 1939234 1939254 + AmpersandAmpersandToken 1939255 1939258 + CallExpression 1939258 1939280 + Identifier 1939258 1939277 + Identifier 1939278 1939279 + Block 1939281 1939580 + VariableStatement 1939283 1939356 + VariableDeclarationList 1939283 1939355 + VariableDeclaration 1939310 1939355 + Identifier 1939310 1939327 + CallExpression 1939329 1939355 + Identifier 1939329 1939349 + Identifier 1939350 1939354 + ExpressionStatement 1939356 1939409 + CallExpression 1939356 1939408 + PropertyAccessExpression 1939356 1939390 + Identifier 1939356 1939383 + Identifier 1939384 1939390 + Identifier 1939391 1939407 + ExpressionStatement 1939409 1939561 + CallExpression 1939409 1939560 + Identifier 1939409 1939533 + Identifier 1939534 1939550 + Identifier 1939551 1939553 + Identifier 1939554 1939559 + ExpressionStatement 1939606 1939636 + CallExpression 1939606 1939635 + Identifier 1939606 1939633 + IfStatement 1939636 1939751 + Identifier 1939650 1939672 + Block 1939673 1939751 + ReturnStatement 1939675 1939740 + CallExpression 1939695 1939739 + Identifier 1939695 1939711 + Identifier 1939712 1939724 + Identifier 1939725 1939738 + IfStatement 1939751 1940016 + BinaryExpression 1939765 1939811 + BinaryExpression 1939765 1939793 + Identifier 1939765 1939775 + BarBarToken 1939775 1939778 + Identifier 1939778 1939793 + BarBarToken 1939793 1939796 + Identifier 1939796 1939811 + Block 1939812 1940016 + ReturnStatement 1939814 1940005 + CallExpression 1939834 1940004 + Identifier 1939834 1939857 + CallExpression 1939858 1940003 + Identifier 1939858 1939873 + Identifier 1939874 1939886 + Identifier 1939887 1939900 + BinaryExpression 1939901 1940002 + Identifier 1939901 1939929 + AmpersandAmpersandToken 1939929 1939932 + PrefixUnaryExpression 1939932 1940002 + ParenthesizedExpression 1939934 1940002 + BinaryExpression 1939935 1940001 + Identifier 1939935 1939949 + AmpersandAmpersandToken 1939949 1939952 + CallExpression 1939952 1940001 + Identifier 1939952 1939961 + Identifier 1939962 1939976 + Identifier 1939977 1940000 + ReturnStatement 1940016 1940422 + CallExpression 1940032 1940421 + Identifier 1940032 1940055 + CallExpression 1940056 1940420 + Identifier 1940056 1940071 + ConditionalExpression 1940072 1940379 + PropertyAccessExpression 1940072 1940105 + Identifier 1940072 1940098 + Identifier 1940099 1940105 + QuestionToken 1940105 1940107 + CallExpression 1940107 1940299 + Identifier 1940107 1940137 + CallExpression 1940138 1940274 + Identifier 1940138 1940145 + Identifier 1940146 1940158 + ArrowFunction 1940159 1940273 + Parameter 1940161 1940162 + Identifier 1940161 1940162 + Parameter 1940163 1940165 + Identifier 1940163 1940165 + EqualsGreaterThanToken 1940166 1940169 + ConditionalExpression 1940169 1940273 + BinaryExpression 1940169 1940209 + ElementAccessExpression 1940169 1940185 + Identifier 1940169 1940182 + Identifier 1940183 1940184 + AmpersandToken 1940185 1940187 + PropertyAccessExpression 1940187 1940209 + Identifier 1940187 1940200 + Identifier 1940201 1940209 + QuestionToken 1940209 1940211 + BinaryExpression 1940211 1940269 + CallExpression 1940211 1940258 + Identifier 1940211 1940243 + Identifier 1940244 1940245 + Identifier 1940246 1940257 + BarBarToken 1940258 1940261 + Identifier 1940261 1940269 + ColonToken 1940269 1940271 + Identifier 1940271 1940273 + PropertyAccessExpression 1940275 1940298 + Identifier 1940275 1940290 + Identifier 1940291 1940298 + ColonToken 1940299 1940301 + ConditionalExpression 1940301 1940379 + Identifier 1940301 1940335 + QuestionToken 1940335 1940337 + Identifier 1940337 1940355 + ColonToken 1940355 1940357 + Identifier 1940357 1940379 + Identifier 1940380 1940408 + FunctionDeclaration 1940429 1940940 + Identifier 1940445 1940468 + Parameter 1940469 1940479 + Identifier 1940469 1940473 + TypeReference 1940474 1940479 + Identifier 1940474 1940479 + Block 1940480 1940940 + IfStatement 1940482 1940583 + PrefixUnaryExpression 1940496 1940543 + ParenthesizedExpression 1940497 1940543 + BinaryExpression 1940498 1940542 + CallExpression 1940498 1940518 + Identifier 1940498 1940512 + Identifier 1940513 1940517 + AmpersandToken 1940518 1940520 + PropertyAccessExpression 1940520 1940542 + Identifier 1940520 1940532 + Identifier 1940533 1940542 + Block 1940544 1940583 + ReturnStatement 1940546 1940572 + Identifier 1940566 1940571 + VariableStatement 1940583 1940647 + VariableDeclarationList 1940583 1940646 + VariableDeclaration 1940596 1940646 + Identifier 1940596 1940608 + PropertyAccessExpression 1940610 1940646 + ParenthesizedExpression 1940610 1940634 + AsExpression 1940612 1940633 + Identifier 1940612 1940616 + TypeReference 1940619 1940633 + Identifier 1940619 1940633 + Identifier 1940635 1940646 + IfStatement 1940647 1940904 + PrefixUnaryExpression 1940661 1940673 + Identifier 1940662 1940673 + Block 1940674 1940904 + ExpressionStatement 1940676 1940784 + BinaryExpression 1940676 1940783 + Identifier 1940676 1940701 + EqualsToken 1940701 1940703 + BinaryExpression 1940703 1940783 + PropertyAccessExpression 1940703 1940739 + ParenthesizedExpression 1940703 1940727 + AsExpression 1940705 1940726 + Identifier 1940705 1940709 + TypeReference 1940712 1940726 + Identifier 1940712 1940726 + Identifier 1940728 1940739 + EqualsToken 1940739 1940741 + CallExpression 1940741 1940783 + Identifier 1940741 1940760 + AsExpression 1940761 1940782 + Identifier 1940761 1940765 + TypeReference 1940768 1940782 + Identifier 1940768 1940782 + ExpressionStatement 1940784 1940893 + BinaryExpression 1940784 1940892 + PropertyAccessExpression 1940784 1940821 + Identifier 1940784 1940809 + Identifier 1940810 1940821 + BarEqualsToken 1940821 1940824 + BinaryExpression 1940824 1940892 + PropertyAccessExpression 1940824 1940849 + Identifier 1940824 1940836 + Identifier 1940837 1940849 + BarToken 1940849 1940851 + PropertyAccessExpression 1940851 1940892 + Identifier 1940851 1940863 + Identifier 1940864 1940892 + ReturnStatement 1940904 1940933 + Identifier 1940920 1940932 + FunctionDeclaration 1940940 1941460 + Identifier 1940956 1940970 + Parameter 1940971 1940992 + Identifier 1940971 1940975 + TypeReference 1940976 1940992 + Identifier 1940976 1940992 + BooleanKeyword 1940994 1941002 + Block 1941002 1941460 + SwitchStatement 1941004 1941453 + PropertyAccessExpression 1941022 1941031 + Identifier 1941022 1941026 + Identifier 1941027 1941031 + CaseBlock 1941032 1941453 + CaseClause 1941034 1941138 + PropertyAccessExpression 1941052 1941084 + Identifier 1941052 1941063 + Identifier 1941064 1941084 + ReturnStatement 1941085 1941138 + CallExpression 1941109 1941137 + Identifier 1941109 1941131 + Identifier 1941132 1941136 + CaseClause 1941138 1941243 + PropertyAccessExpression 1941156 1941178 + Identifier 1941156 1941167 + Identifier 1941168 1941178 + ReturnStatement 1941179 1941243 + CallExpression 1941203 1941242 + Identifier 1941203 1941224 + PropertyAccessExpression 1941225 1941241 + Identifier 1941225 1941229 + Identifier 1941230 1941241 + CaseClause 1941243 1941288 + PropertyAccessExpression 1941261 1941287 + Identifier 1941261 1941272 + Identifier 1941273 1941287 + CaseClause 1941288 1941389 + PropertyAccessExpression 1941306 1941331 + Identifier 1941306 1941317 + Identifier 1941318 1941331 + ReturnStatement 1941332 1941389 + CallExpression 1941356 1941388 + Identifier 1941356 1941377 + PropertyAccessExpression 1941378 1941387 + Identifier 1941378 1941382 + Identifier 1941383 1941387 + DefaultClause 1941389 1941442 + ReturnStatement 1941411 1941442 + FalseKeyword 1941435 1941441 + FunctionDeclaration 1941460 1941799 + Identifier 1941476 1941498 + Parameter 1941499 1941525 + Identifier 1941499 1941503 + TypeReference 1941504 1941525 + Identifier 1941504 1941525 + BooleanKeyword 1941527 1941535 + Block 1941535 1941799 + ReturnStatement 1941537 1941792 + CallExpression 1941713 1941791 + Identifier 1941713 1941736 + CallExpression 1941737 1941768 + Identifier 1941737 1941762 + Identifier 1941763 1941767 + PropertyAccessExpression 1941769 1941790 + Identifier 1941769 1941779 + Identifier 1941780 1941790 + FunctionDeclaration 1941799 1944434 + Identifier 1941815 1941841 + Parameter 1941842 1941868 + Identifier 1941842 1941846 + TypeReference 1941847 1941868 + Identifier 1941847 1941868 + TypeReference 1941870 1941875 + Identifier 1941870 1941875 + Block 1941875 1944434 + VariableStatement 1941877 1941931 + VariableDeclarationList 1941877 1941930 + VariableDeclaration 1941892 1941930 + Identifier 1941892 1941898 + CallExpression 1941900 1941930 + Identifier 1941900 1941913 + PropertyAccessExpression 1941914 1941929 + Identifier 1941914 1941918 + Identifier 1941919 1941929 + IfStatement 1941931 1944389 + PrefixUnaryExpression 1941945 1941964 + PropertyAccessExpression 1941946 1941964 + Identifier 1941946 1941951 + Identifier 1941952 1941964 + Block 1941965 1944389 + IfStatement 1941967 1942441 + BinaryExpression 1941985 1942353 + BinaryExpression 1941985 1942306 + BinaryExpression 1941985 1942242 + BinaryExpression 1941985 1942179 + ParenthesizedExpression 1941985 1942123 + BinaryExpression 1942004 1942122 + BinaryExpression 1942004 1942076 + CallExpression 1942004 1942041 + Identifier 1942004 1942021 + PropertyAccessExpression 1942022 1942040 + PropertyAccessExpression 1942022 1942033 + Identifier 1942022 1942026 + Identifier 1942027 1942033 + Identifier 1942034 1942040 + BarBarToken 1942041 1942044 + CallExpression 1942044 1942076 + Identifier 1942044 1942056 + PropertyAccessExpression 1942057 1942075 + PropertyAccessExpression 1942057 1942068 + Identifier 1942057 1942061 + Identifier 1942062 1942068 + Identifier 1942069 1942075 + BarBarToken 1942076 1942079 + CallExpression 1942079 1942122 + Identifier 1942079 1942102 + PropertyAccessExpression 1942103 1942121 + PropertyAccessExpression 1942103 1942114 + Identifier 1942103 1942107 + Identifier 1942108 1942114 + Identifier 1942115 1942121 + AmpersandAmpersandToken 1942123 1942143 + CallExpression 1942143 1942179 + Identifier 1942143 1942162 + PropertyAccessExpression 1942163 1942178 + Identifier 1942163 1942167 + Identifier 1942168 1942178 + AmpersandAmpersandToken 1942179 1942182 + BinaryExpression 1942182 1942242 + PropertyAccessExpression 1942182 1942217 + PropertyAccessExpression 1942182 1942212 + PropertyAccessExpression 1942182 1942198 + Identifier 1942182 1942187 + Identifier 1942188 1942198 + Identifier 1942199 1942212 + Identifier 1942213 1942217 + EqualsEqualsEqualsToken 1942217 1942221 + PropertyAccessExpression 1942221 1942242 + Identifier 1942221 1942232 + Identifier 1942233 1942242 + AmpersandAmpersandToken 1942242 1942262 + BinaryExpression 1942262 1942306 + PropertyAccessExpression 1942262 1942279 + PropertyAccessExpression 1942262 1942274 + Identifier 1942262 1942267 + Identifier 1942268 1942274 + Identifier 1942275 1942279 + ExclamationEqualsEqualsToken 1942279 1942283 + PropertyAccessExpression 1942283 1942306 + Identifier 1942283 1942294 + Identifier 1942295 1942306 + AmpersandAmpersandToken 1942306 1942309 + BinaryExpression 1942309 1942353 + PropertyAccessExpression 1942309 1942326 + PropertyAccessExpression 1942309 1942321 + Identifier 1942309 1942314 + Identifier 1942315 1942321 + Identifier 1942322 1942326 + ExclamationEqualsEqualsToken 1942326 1942330 + PropertyAccessExpression 1942330 1942353 + Identifier 1942330 1942341 + Identifier 1942342 1942353 + Block 1942368 1942441 + ReturnStatement 1942370 1942426 + BinaryExpression 1942394 1942425 + PropertyAccessExpression 1942394 1942413 + Identifier 1942394 1942400 + Identifier 1942401 1942413 + EqualsToken 1942413 1942415 + Identifier 1942415 1942425 + ExpressionStatement 1942441 1942509 + BinaryExpression 1942441 1942508 + PropertyAccessExpression 1942441 1942473 + Identifier 1942441 1942460 + Identifier 1942461 1942473 + EqualsToken 1942473 1942475 + CallExpression 1942475 1942508 + Identifier 1942475 1942491 + PropertyAccessExpression 1942492 1942507 + Identifier 1942492 1942496 + Identifier 1942497 1942507 + IfStatement 1942509 1943749 + BinaryExpression 1942719 1942829 + BinaryExpression 1942719 1942788 + CallExpression 1942719 1942753 + Identifier 1942719 1942740 + PropertyAccessExpression 1942741 1942752 + Identifier 1942741 1942745 + Identifier 1942746 1942752 + AmpersandAmpersandToken 1942753 1942756 + PrefixUnaryExpression 1942756 1942788 + CallExpression 1942758 1942788 + Identifier 1942758 1942775 + PropertyAccessExpression 1942776 1942787 + Identifier 1942776 1942780 + Identifier 1942781 1942787 + AmpersandAmpersandToken 1942788 1942791 + CallExpression 1942791 1942829 + Identifier 1942791 1942809 + PropertyAccessExpression 1942810 1942828 + PropertyAccessExpression 1942810 1942821 + Identifier 1942810 1942814 + Identifier 1942815 1942821 + Identifier 1942822 1942828 + Block 1942830 1943749 + VariableStatement 1942832 1942920 + VariableDeclarationList 1942832 1942919 + VariableDeclaration 1942855 1942919 + Identifier 1942855 1942865 + CallExpression 1942867 1942919 + Identifier 1942867 1942899 + PropertyAccessExpression 1942900 1942918 + PropertyAccessExpression 1942900 1942911 + Identifier 1942900 1942904 + Identifier 1942905 1942911 + Identifier 1942912 1942918 + VariableStatement 1942920 1943016 + VariableDeclarationList 1942920 1943015 + VariableDeclaration 1942943 1943015 + Identifier 1942943 1942971 + CallExpression 1942973 1943015 + Identifier 1942973 1943004 + Identifier 1943005 1943014 + IfStatement 1943016 1943734 + Identifier 1943038 1943065 + Block 1943066 1943734 + ExpressionStatement 1943068 1943323 + BinaryExpression 1943068 1943322 + PropertyAccessExpression 1943068 1943269 + CallExpression 1943068 1943263 + Identifier 1943068 1943234 + Identifier 1943235 1943262 + Identifier 1943264 1943269 + BarEqualsToken 1943269 1943272 + PropertyAccessExpression 1943272 1943322 + Identifier 1943272 1943287 + Identifier 1943288 1943322 + ExpressionStatement 1943323 1943519 + BinaryExpression 1943323 1943518 + PropertyAccessExpression 1943323 1943475 + CallExpression 1943323 1943469 + Identifier 1943323 1943463 + Identifier 1943464 1943468 + Identifier 1943470 1943475 + BarEqualsToken 1943475 1943478 + PropertyAccessExpression 1943478 1943518 + Identifier 1943478 1943493 + Identifier 1943494 1943518 + ExpressionStatement 1943519 1943715 + BinaryExpression 1943519 1943714 + PropertyAccessExpression 1943519 1943671 + CallExpression 1943519 1943665 + Identifier 1943519 1943645 + PropertyAccessExpression 1943646 1943664 + PropertyAccessExpression 1943646 1943657 + Identifier 1943646 1943650 + Identifier 1943651 1943657 + Identifier 1943658 1943664 + Identifier 1943666 1943671 + BarEqualsToken 1943671 1943674 + PropertyAccessExpression 1943674 1943714 + Identifier 1943674 1943689 + Identifier 1943690 1943714 + IfStatement 1943749 1944378 + BinaryExpression 1943949 1944234 + BinaryExpression 1943949 1944012 + PropertyAccessExpression 1943949 1943991 + PropertyAccessExpression 1943949 1943985 + Identifier 1943949 1943972 + Identifier 1943973 1943985 + Identifier 1943986 1943991 + AmpersandToken 1943991 1943993 + PropertyAccessExpression 1943993 1944012 + Identifier 1943993 1944003 + Identifier 1944004 1944012 + BarBarToken 1944012 1944015 + BinaryExpression 1944015 1944234 + PrefixUnaryExpression 1944015 1944146 + CallExpression 1944034 1944146 + Identifier 1944034 1944056 + PropertyAccessExpression 1944057 1944075 + Identifier 1944057 1944062 + Identifier 1944063 1944075 + BinaryExpression 1944076 1944145 + BinaryExpression 1944076 1944120 + PropertyAccessExpression 1944076 1944097 + Identifier 1944076 1944086 + Identifier 1944087 1944097 + BarToken 1944097 1944099 + PropertyAccessExpression 1944099 1944120 + Identifier 1944099 1944109 + Identifier 1944110 1944120 + BarToken 1944120 1944122 + PropertyAccessExpression 1944122 1944145 + Identifier 1944122 1944132 + Identifier 1944133 1944145 + AmpersandAmpersandToken 1944146 1944149 + PrefixUnaryExpression 1944149 1944234 + CallExpression 1944172 1944234 + Identifier 1944172 1944190 + PropertyAccessExpression 1944191 1944209 + Identifier 1944191 1944196 + Identifier 1944197 1944209 + Identifier 1944210 1944233 + Block 1944249 1944378 + ExpressionStatement 1944251 1944363 + CallExpression 1944251 1944362 + Identifier 1944251 1944274 + Identifier 1944275 1944279 + PropertyAccessExpression 1944280 1944361 + Identifier 1944280 1944292 + Identifier 1944293 1944361 + ReturnStatement 1944389 1944427 + PropertyAccessExpression 1944407 1944426 + Identifier 1944407 1944413 + Identifier 1944414 1944426 + FunctionDeclaration 1944434 1944691 + Identifier 1944450 1944474 + Parameter 1944475 1944489 + Identifier 1944475 1944481 + TypeReference 1944482 1944489 + Identifier 1944482 1944489 + Block 1944490 1944691 + VariableStatement 1944492 1944545 + VariableDeclarationList 1944492 1944544 + VariableDeclaration 1944507 1944544 + Identifier 1944507 1944517 + ElementAccessExpression 1944519 1944544 + PropertyAccessExpression 1944519 1944539 + Identifier 1944519 1944526 + Identifier 1944527 1944539 + QuestionDotToken 1944539 1944541 + NumericLiteral 1944542 1944543 + ReturnStatement 1944545 1944684 + BinaryExpression 1944561 1944683 + CallExpression 1944561 1944602 + Identifier 1944561 1944582 + PropertyAccessExpression 1944583 1944601 + Identifier 1944583 1944589 + Identifier 1944590 1944601 + BarBarToken 1944602 1944605 + ParenthesizedExpression 1944605 1944683 + BinaryExpression 1944607 1944682 + BinaryExpression 1944607 1944649 + Identifier 1944607 1944616 + AmpersandAmpersandToken 1944616 1944619 + CallExpression 1944619 1944649 + Identifier 1944619 1944638 + Identifier 1944639 1944648 + AmpersandAmpersandToken 1944649 1944652 + CallExpression 1944652 1944682 + Identifier 1944652 1944666 + PropertyAccessExpression 1944667 1944681 + Identifier 1944667 1944676 + Identifier 1944677 1944681 + FunctionDeclaration 1944691 1945039 + Identifier 1944707 1944730 + Parameter 1944731 1944745 + Identifier 1944731 1944737 + TypeReference 1944738 1944745 + Identifier 1944738 1944745 + Block 1944746 1945039 + VariableStatement 1944748 1944801 + VariableDeclarationList 1944748 1944800 + VariableDeclaration 1944763 1944800 + Identifier 1944763 1944773 + ElementAccessExpression 1944775 1944800 + PropertyAccessExpression 1944775 1944795 + Identifier 1944775 1944782 + Identifier 1944783 1944795 + QuestionDotToken 1944795 1944797 + NumericLiteral 1944798 1944799 + ReturnStatement 1944801 1945032 + BinaryExpression 1944817 1945031 + CallExpression 1944817 1944839 + Identifier 1944817 1944831 + Identifier 1944832 1944838 + BarBarToken 1944839 1944842 + ParenthesizedExpression 1944842 1945031 + BinaryExpression 1944844 1945030 + BinaryExpression 1944844 1944928 + BinaryExpression 1944844 1944886 + Identifier 1944844 1944853 + AmpersandAmpersandToken 1944853 1944856 + CallExpression 1944856 1944886 + Identifier 1944856 1944875 + Identifier 1944876 1944885 + AmpersandAmpersandToken 1944886 1944889 + CallExpression 1944889 1944928 + Identifier 1944889 1944912 + PropertyAccessExpression 1944913 1944927 + Identifier 1944913 1944922 + Identifier 1944923 1944927 + AmpersandAmpersandToken 1944928 1944931 + CallExpression 1944931 1945030 + Identifier 1944931 1944967 + CallExpression 1944968 1945009 + Identifier 1944968 1944993 + PropertyAccessExpression 1944994 1945008 + Identifier 1944994 1945003 + Identifier 1945004 1945008 + PropertyAccessExpression 1945010 1945029 + Identifier 1945010 1945020 + Identifier 1945021 1945029 + FunctionDeclaration 1945039 1945260 + Identifier 1945055 1945080 + Parameter 1945081 1945095 + Identifier 1945081 1945087 + TypeReference 1945088 1945095 + Identifier 1945088 1945095 + Block 1945096 1945260 + VariableStatement 1945098 1945151 + VariableDeclarationList 1945098 1945150 + VariableDeclaration 1945113 1945150 + Identifier 1945113 1945123 + ElementAccessExpression 1945125 1945150 + PropertyAccessExpression 1945125 1945145 + Identifier 1945125 1945132 + Identifier 1945133 1945145 + QuestionDotToken 1945145 1945147 + NumericLiteral 1945148 1945149 + ReturnStatement 1945151 1945253 + BinaryExpression 1945167 1945252 + BinaryExpression 1945167 1945210 + Identifier 1945167 1945177 + AmpersandAmpersandToken 1945177 1945180 + CallExpression 1945180 1945210 + Identifier 1945180 1945199 + Identifier 1945200 1945209 + AmpersandAmpersandToken 1945210 1945213 + CallExpression 1945213 1945252 + Identifier 1945213 1945236 + PropertyAccessExpression 1945237 1945251 + Identifier 1945237 1945246 + Identifier 1945247 1945251 + FunctionDeclaration 1945260 1946462 + Identifier 1945357 1945383 + Parameter 1945384 1945403 + Identifier 1945384 1945394 + BooleanKeyword 1945395 1945403 + Parameter 1945404 1945419 + Identifier 1945404 1945411 + NumberKeyword 1945412 1945419 + Parameter 1945420 1945441 + Identifier 1945420 1945431 + ArrayType 1945432 1945441 + TypeReference 1945432 1945439 + Identifier 1945432 1945439 + Parameter 1945442 1945456 + Identifier 1945442 1945450 + TypeReference 1945451 1945456 + Identifier 1945451 1945456 + TypeReference 1945458 1945468 + Identifier 1945458 1945468 + Block 1945468 1946462 + VariableStatement 1945470 1945509 + VariableDeclarationList 1945470 1945508 + VariableDeclaration 1945485 1945508 + Identifier 1945485 1945495 + ArrayType 1945496 1945503 + TypeReference 1945496 1945501 + Identifier 1945496 1945501 + ArrayLiteralExpression 1945505 1945508 + VariableStatement 1945509 1945581 + VariableDeclarationList 1945509 1945580 + VariableDeclaration 1945522 1945580 + Identifier 1945522 1945533 + UnionType 1945534 1945580 + ArrayType 1945534 1945568 + TypeReference 1945534 1945566 + Identifier 1945534 1945566 + UndefinedKeyword 1945570 1945580 + ForStatement 1945581 1946240 + VariableDeclarationList 1945596 1945610 + VariableDeclaration 1945599 1945610 + Identifier 1945599 1945601 + Identifier 1945603 1945610 + BinaryExpression 1945611 1945633 + Identifier 1945611 1945613 + LessThanToken 1945613 1945615 + PropertyAccessExpression 1945615 1945633 + Identifier 1945615 1945626 + Identifier 1945627 1945633 + PostfixUnaryExpression 1945634 1945638 + Identifier 1945634 1945636 + Block 1945639 1946240 + VariableStatement 1945641 1945682 + VariableDeclarationList 1945641 1945681 + VariableDeclaration 1945660 1945681 + Identifier 1945660 1945665 + ElementAccessExpression 1945667 1945681 + Identifier 1945667 1945678 + Identifier 1945679 1945680 + IfStatement 1945682 1946229 + BinaryExpression 1945700 1945926 + BinaryExpression 1945700 1945849 + BinaryExpression 1945700 1945773 + BinaryExpression 1945700 1945740 + Identifier 1945700 1945725 + EqualsEqualsEqualsToken 1945725 1945729 + Identifier 1945729 1945740 + AmpersandAmpersandToken 1945740 1945743 + PrefixUnaryExpression 1945743 1945773 + CallExpression 1945745 1945773 + Identifier 1945745 1945767 + Identifier 1945768 1945772 + BarBarToken 1945773 1945776 + BinaryExpression 1945776 1945849 + BinaryExpression 1945776 1945816 + Identifier 1945776 1945801 + EqualsEqualsEqualsToken 1945801 1945805 + Identifier 1945805 1945816 + AmpersandAmpersandToken 1945816 1945819 + CallExpression 1945819 1945849 + Identifier 1945819 1945843 + Identifier 1945844 1945848 + BarBarToken 1945849 1945852 + BinaryExpression 1945852 1945926 + BinaryExpression 1945852 1945894 + Identifier 1945852 1945877 + EqualsEqualsEqualsToken 1945877 1945881 + Identifier 1945881 1945894 + AmpersandAmpersandToken 1945894 1945897 + CallExpression 1945897 1945926 + Identifier 1945897 1945920 + Identifier 1945921 1945925 + Block 1945941 1946229 + ExpressionStatement 1945943 1946008 + CallExpression 1945943 1946007 + PropertyAccessExpression 1945943 1945975 + Identifier 1945943 1945970 + Identifier 1945971 1945975 + CallExpression 1945976 1946006 + Identifier 1945976 1945991 + ElementAccessExpression 1945992 1946005 + Identifier 1945992 1946002 + Identifier 1946003 1946004 + IfStatement 1946008 1946214 + CallExpression 1946030 1946069 + Identifier 1946030 1946054 + ElementAccessExpression 1946055 1946068 + Identifier 1946055 1946065 + Identifier 1946066 1946067 + Block 1946070 1946214 + ExpressionStatement 1946072 1946195 + BinaryExpression 1946072 1946194 + Identifier 1946072 1946104 + EqualsToken 1946104 1946106 + CallExpression 1946106 1946194 + Identifier 1946106 1946113 + Identifier 1946114 1946124 + AsExpression 1946125 1946193 + NonNullExpression 1946125 1946158 + ElementAccessExpression 1946125 1946157 + PropertyAccessExpression 1946125 1946152 + ElementAccessExpression 1946125 1946139 + Identifier 1946125 1946136 + Identifier 1946137 1946138 + Identifier 1946140 1946152 + QuestionDotToken 1946152 1946154 + NumericLiteral 1946155 1946156 + TypeReference 1946161 1946193 + Identifier 1946161 1946193 + VariableStatement 1946240 1946351 + VariableDeclarationList 1946240 1946350 + VariableDeclaration 1946255 1946350 + Identifier 1946255 1946265 + ConditionalExpression 1946267 1946350 + PropertyAccessExpression 1946267 1946284 + Identifier 1946267 1946277 + Identifier 1946278 1946284 + QuestionToken 1946284 1946286 + CallExpression 1946286 1946334 + Identifier 1946286 1946299 + Identifier 1946300 1946309 + PropertyAccessExpression 1946310 1946333 + Identifier 1946310 1946325 + Identifier 1946326 1946333 + ColonToken 1946334 1946336 + Identifier 1946336 1946350 + ReturnStatement 1946351 1946455 + CallExpression 1946367 1946454 + Identifier 1946367 1946383 + Identifier 1946384 1946391 + Identifier 1946392 1946402 + Identifier 1946403 1946414 + Identifier 1946415 1946441 + Identifier 1946442 1946453 + FunctionDeclaration 1946462 1946996 + Identifier 1946478 1946504 + Parameter 1946505 1946519 + Identifier 1946505 1946511 + TypeReference 1946512 1946519 + Identifier 1946512 1946519 + UnionType 1946521 1946540 + TypeReference 1946521 1946528 + Identifier 1946521 1946528 + UndefinedKeyword 1946530 1946540 + Block 1946540 1946996 + ExpressionStatement 1946542 1946638 + CallExpression 1946542 1946637 + PropertyAccessExpression 1946542 1946564 + Identifier 1946542 1946557 + Identifier 1946558 1946564 + BinaryExpression 1946565 1946605 + ParenthesizedExpression 1946565 1946599 + BinaryExpression 1946566 1946598 + PropertyAccessExpression 1946566 1946578 + Identifier 1946566 1946572 + Identifier 1946573 1946578 + AmpersandToken 1946578 1946580 + PropertyAccessExpression 1946580 1946598 + Identifier 1946580 1946592 + Identifier 1946593 1946598 + ExclamationEqualsEqualsToken 1946599 1946603 + NumericLiteral 1946603 1946605 + StringLiteral 1946606 1946636 + VariableStatement 1946638 1946685 + VariableDeclarationList 1946638 1946684 + VariableDeclaration 1946653 1946684 + Identifier 1946653 1946659 + CallExpression 1946661 1946684 + Identifier 1946661 1946676 + Identifier 1946677 1946683 + IfStatement 1946685 1946948 + PrefixUnaryExpression 1946699 1946721 + PropertyAccessExpression 1946700 1946721 + Identifier 1946700 1946705 + Identifier 1946706 1946721 + Block 1946722 1946948 + VariableStatement 1946724 1946787 + VariableDeclarationList 1946724 1946786 + VariableDeclaration 1946743 1946786 + Identifier 1946743 1946748 + CallExpression 1946750 1946786 + Identifier 1946750 1946778 + Identifier 1946779 1946785 + IfStatement 1946787 1946832 + PrefixUnaryExpression 1946805 1946810 + Identifier 1946806 1946810 + ReturnStatement 1946811 1946832 + CallExpression 1946818 1946831 + PropertyAccessExpression 1946818 1946829 + Identifier 1946818 1946824 + Identifier 1946825 1946829 + ExpressionStatement 1946832 1946937 + BinaryExpression 1946832 1946936 + PropertyAccessExpression 1946832 1946867 + Identifier 1946832 1946851 + Identifier 1946852 1946867 + EqualsToken 1946867 1946869 + CallExpression 1946869 1946936 + Identifier 1946869 1946897 + Identifier 1946898 1946902 + TrueKeyword 1946903 1946935 + ReturnStatement 1946948 1946989 + PropertyAccessExpression 1946966 1946988 + Identifier 1946966 1946972 + Identifier 1946973 1946988 + FunctionDeclaration 1946996 1959174 + Identifier 1947012 1947031 + Parameter 1947032 1947061 + Identifier 1947032 1947036 + TypeReference 1947037 1947061 + Identifier 1947037 1947061 + Parameter 1947062 1947102 + Identifier 1947062 1947072 + TypeReference 1947073 1947083 + Identifier 1947073 1947083 + PropertyAccessExpression 1947085 1947102 + Identifier 1947085 1947095 + Identifier 1947096 1947102 + TypeReference 1947104 1947109 + Identifier 1947104 1947109 + Block 1947109 1959174 + VariableStatement 1947111 1947177 + VariableDeclarationList 1947111 1947176 + VariableDeclaration 1947126 1947176 + Identifier 1947126 1947149 + CallExpression 1947151 1947176 + Identifier 1947151 1947170 + Identifier 1947171 1947175 + ExpressionStatement 1947177 1947282 + CallExpression 1947177 1947281 + Identifier 1947177 1947251 + Identifier 1947252 1947256 + Identifier 1947257 1947280 + VariableStatement 1947282 1947372 + VariableDeclarationList 1947282 1947371 + VariableDeclaration 1947299 1947371 + Identifier 1947299 1947318 + ConditionalExpression 1947320 1947371 + Identifier 1947320 1947337 + QuestionToken 1947337 1947339 + CallExpression 1947339 1947359 + Identifier 1947339 1947357 + ColonToken 1947359 1947361 + Identifier 1947361 1947371 + VariableStatement 1947372 1947424 + VariableDeclarationList 1947372 1947423 + VariableDeclaration 1947385 1947423 + Identifier 1947385 1947401 + CallExpression 1947403 1947423 + Identifier 1947403 1947421 + VariableStatement 1947424 1947469 + VariableDeclarationList 1947424 1947468 + VariableDeclaration 1947437 1947468 + Identifier 1947437 1947453 + ArrayType 1947454 1947463 + TypeReference 1947454 1947461 + Identifier 1947454 1947461 + ArrayLiteralExpression 1947465 1947468 + VariableStatement 1947469 1947514 + VariableDeclarationList 1947469 1947513 + VariableDeclaration 1947482 1947513 + Identifier 1947482 1947489 + TypeReference 1947490 1947495 + Identifier 1947490 1947495 + Identifier 1947497 1947513 + ExpressionStatement 1947514 1947557 + CallExpression 1947514 1947556 + Identifier 1947514 1947550 + Identifier 1947551 1947555 + VariableStatement 1947557 1947656 + VariableDeclarationList 1947557 1947655 + VariableDeclaration 1947572 1947655 + Identifier 1947572 1947587 + CallExpression 1947589 1947655 + Identifier 1947589 1947621 + Identifier 1947622 1947626 + Identifier 1947627 1947654 + VariableStatement 1947656 1947892 + VariableDeclarationList 1947656 1947891 + VariableDeclaration 1947671 1947891 + Identifier 1947671 1947696 + BinaryExpression 1947698 1947891 + BinaryExpression 1947698 1947739 + Identifier 1947698 1947713 + AmpersandAmpersandToken 1947713 1947716 + PropertyAccessExpression 1947716 1947739 + Identifier 1947716 1947731 + Identifier 1947732 1947739 + AmpersandAmpersandToken 1947739 1947742 + ParenthesizedExpression 1947742 1947891 + BinaryExpression 1947757 1947890 + BinaryExpression 1947757 1947820 + PropertyAccessExpression 1947757 1947784 + PropertyAccessExpression 1947757 1947779 + Identifier 1947757 1947771 + Identifier 1947772 1947779 + Identifier 1947780 1947784 + EqualsEqualsEqualsToken 1947784 1947788 + PropertyAccessExpression 1947788 1947820 + Identifier 1947788 1947799 + Identifier 1947800 1947820 + BarBarToken 1947820 1947823 + BinaryExpression 1947823 1947890 + PropertyAccessExpression 1947823 1947851 + PropertyAccessExpression 1947823 1947846 + Identifier 1947823 1947838 + Identifier 1947839 1947846 + Identifier 1947847 1947851 + EqualsEqualsEqualsToken 1947851 1947855 + PropertyAccessExpression 1947855 1947890 + Identifier 1947855 1947866 + Identifier 1947867 1947890 + VariableStatement 1947892 1947946 + VariableDeclarationList 1947892 1947945 + VariableDeclaration 1947907 1947945 + Identifier 1947907 1947922 + CallExpression 1947924 1947945 + Identifier 1947924 1947939 + Identifier 1947940 1947944 + VariableStatement 1947946 1948016 + VariableDeclarationList 1947946 1948015 + VariableDeclaration 1947961 1948015 + Identifier 1947961 1947972 + ConditionalExpression 1947974 1948015 + Identifier 1947974 1947989 + QuestionToken 1947989 1947991 + PropertyAccessExpression 1947991 1948011 + Identifier 1947991 1948002 + Identifier 1948003 1948011 + ColonToken 1948011 1948013 + NumericLiteral 1948013 1948015 + VariableStatement 1948016 1948089 + VariableDeclarationList 1948016 1948088 + VariableDeclaration 1948031 1948088 + Identifier 1948031 1948046 + BinaryExpression 1948048 1948088 + CallExpression 1948048 1948065 + Identifier 1948048 1948059 + Identifier 1948060 1948064 + AmpersandAmpersandToken 1948065 1948068 + PrefixUnaryExpression 1948068 1948088 + CallExpression 1948070 1948088 + Identifier 1948070 1948082 + Identifier 1948083 1948087 + VariableStatement 1948089 1948166 + VariableDeclarationList 1948089 1948165 + VariableDeclaration 1948104 1948165 + Identifier 1948104 1948112 + ConditionalExpression 1948114 1948165 + Identifier 1948114 1948129 + QuestionToken 1948129 1948131 + CallExpression 1948131 1948153 + Identifier 1948131 1948147 + Identifier 1948148 1948152 + ColonToken 1948153 1948155 + Identifier 1948155 1948165 + VariableStatement 1948166 1948248 + VariableDeclarationList 1948166 1948247 + VariableDeclaration 1948181 1948247 + Identifier 1948181 1948199 + BinaryExpression 1948201 1948247 + BinaryExpression 1948201 1948235 + PrefixUnaryExpression 1948201 1948217 + Identifier 1948203 1948217 + AmpersandAmpersandToken 1948217 1948220 + Identifier 1948220 1948235 + AmpersandAmpersandToken 1948235 1948238 + PrefixUnaryExpression 1948238 1948247 + Identifier 1948240 1948247 + VariableStatement 1948248 1948314 + VariableDeclarationList 1948248 1948313 + VariableDeclaration 1948261 1948313 + Identifier 1948261 1948273 + TypeReference 1948274 1948286 + Identifier 1948274 1948286 + PropertyAccessExpression 1948288 1948313 + Identifier 1948288 1948300 + Identifier 1948301 1948313 + VariableStatement 1948314 1948366 + VariableDeclarationList 1948314 1948365 + VariableDeclaration 1948327 1948365 + Identifier 1948327 1948357 + FalseKeyword 1948359 1948365 + VariableStatement 1948366 1948414 + VariableDeclarationList 1948366 1948413 + VariableDeclaration 1948379 1948413 + Identifier 1948379 1948405 + FalseKeyword 1948407 1948413 + VariableStatement 1948414 1948462 + VariableDeclarationList 1948414 1948461 + VariableDeclaration 1948427 1948461 + Identifier 1948427 1948453 + FalseKeyword 1948455 1948461 + VariableStatement 1948462 1948510 + VariableDeclarationList 1948462 1948509 + VariableDeclaration 1948475 1948509 + Identifier 1948475 1948501 + FalseKeyword 1948503 1948509 + ForOfStatement 1948510 1948953 + VariableDeclarationList 1948773 1948783 + VariableDeclaration 1948778 1948783 + Identifier 1948778 1948783 + PropertyAccessExpression 1948786 1948802 + Identifier 1948786 1948791 + Identifier 1948792 1948802 + Block 1948803 1948953 + IfStatement 1948805 1948942 + BinaryExpression 1948823 1948869 + PropertyAccessExpression 1948823 1948832 + Identifier 1948823 1948827 + Identifier 1948828 1948832 + AmpersandAmpersandToken 1948832 1948835 + CallExpression 1948835 1948869 + Identifier 1948835 1948858 + PropertyAccessExpression 1948859 1948868 + Identifier 1948859 1948863 + Identifier 1948864 1948868 + Block 1948870 1948942 + ExpressionStatement 1948872 1948927 + CallExpression 1948872 1948926 + Identifier 1948872 1948915 + PropertyAccessExpression 1948916 1948925 + Identifier 1948916 1948920 + Identifier 1948921 1948925 + VariableStatement 1948953 1948980 + VariableDeclarationList 1948953 1948979 + VariableDeclaration 1948968 1948979 + Identifier 1948968 1948975 + NumericLiteral 1948977 1948979 + ForOfStatement 1948980 1957155 + VariableDeclarationList 1948995 1949011 + VariableDeclaration 1949000 1949011 + Identifier 1949000 1949011 + PropertyAccessExpression 1949014 1949030 + Identifier 1949014 1949019 + Identifier 1949020 1949030 + Block 1949031 1957155 + VariableStatement 1949033 1949095 + VariableDeclarationList 1949033 1949094 + VariableDeclaration 1949050 1949094 + Identifier 1949050 1949057 + CallExpression 1949059 1949094 + Identifier 1949059 1949082 + Identifier 1949083 1949093 + VariableStatement 1949095 1949284 + VariableDeclarationList 1949095 1949283 + VariableDeclaration 1949114 1949283 + Identifier 1949114 1949131 + ConditionalExpression 1949133 1949283 + BinaryExpression 1949133 1949209 + PropertyAccessExpression 1949133 1949149 + Identifier 1949133 1949144 + Identifier 1949145 1949149 + AmpersandAmpersandToken 1949149 1949152 + BinaryExpression 1949152 1949209 + PropertyAccessExpression 1949152 1949173 + PropertyAccessExpression 1949152 1949168 + Identifier 1949152 1949163 + Identifier 1949164 1949168 + Identifier 1949169 1949173 + EqualsEqualsEqualsToken 1949173 1949177 + PropertyAccessExpression 1949177 1949209 + Identifier 1949177 1949188 + Identifier 1949189 1949209 + QuestionToken 1949209 1949211 + CallExpression 1949211 1949271 + Identifier 1949211 1949254 + PropertyAccessExpression 1949255 1949270 + Identifier 1949255 1949265 + Identifier 1949266 1949270 + ColonToken 1949271 1949273 + Identifier 1949273 1949283 + IfStatement 1949284 1956199 + BinaryExpression 1949302 1949502 + BinaryExpression 1949302 1949448 + BinaryExpression 1949302 1949369 + PropertyAccessExpression 1949302 1949335 + Identifier 1949302 1949330 + Identifier 1949331 1949335 + EqualsEqualsEqualsToken 1949335 1949339 + PropertyAccessExpression 1949339 1949369 + Identifier 1949339 1949350 + Identifier 1949351 1949369 + BarBarToken 1949369 1949372 + BinaryExpression 1949372 1949448 + PropertyAccessExpression 1949372 1949405 + Identifier 1949372 1949400 + Identifier 1949401 1949405 + EqualsEqualsEqualsToken 1949405 1949409 + PropertyAccessExpression 1949409 1949448 + Identifier 1949409 1949420 + Identifier 1949421 1949448 + BarBarToken 1949448 1949451 + CallExpression 1949451 1949502 + Identifier 1949451 1949490 + Identifier 1949491 1949501 + Block 1949517 1953912 + VariableStatement 1949519 1950279 + VariableDeclarationList 1949519 1950278 + VariableDeclaration 1949540 1950278 + Identifier 1949540 1949545 + ConditionalExpression 1949547 1950278 + BinaryExpression 1949547 1949597 + PropertyAccessExpression 1949547 1949563 + Identifier 1949547 1949558 + Identifier 1949559 1949563 + EqualsEqualsEqualsToken 1949563 1949567 + PropertyAccessExpression 1949567 1949597 + Identifier 1949567 1949578 + Identifier 1949579 1949597 + QuestionToken 1949597 1949599 + CallExpression 1949599 1949646 + Identifier 1949599 1949623 + Identifier 1949624 1949634 + Identifier 1949635 1949645 + ColonToken 1949646 1949648 + ConditionalExpression 1949648 1950278 + BinaryExpression 1949648 1950034 + PropertyAccessExpression 1949648 1949991 + Identifier 1949648 1949986 + Identifier 1949987 1949991 + EqualsEqualsEqualsToken 1949991 1949995 + PropertyAccessExpression 1949995 1950034 + Identifier 1949995 1950006 + Identifier 1950007 1950034 + QuestionToken 1950034 1950036 + CallExpression 1950036 1950207 + Identifier 1950036 1950070 + ConditionalExpression 1950071 1950195 + BinaryExpression 1950071 1950136 + PrefixUnaryExpression 1950071 1950094 + Identifier 1950072 1950094 + AmpersandAmpersandToken 1950094 1950097 + PropertyAccessExpression 1950097 1950136 + Identifier 1950097 1950108 + Identifier 1950109 1950136 + QuestionToken 1950136 1950138 + PropertyAccessExpression 1950138 1950177 + Identifier 1950138 1950149 + Identifier 1950150 1950177 + ColonToken 1950177 1950179 + PropertyAccessExpression 1950179 1950195 + Identifier 1950179 1950190 + Identifier 1950191 1950195 + Identifier 1950196 1950206 + ColonToken 1950207 1950209 + CallExpression 1950209 1950278 + Identifier 1950209 1950255 + Identifier 1950256 1950266 + Identifier 1950267 1950277 + IfStatement 1950279 1950809 + Identifier 1950301 1950315 + Block 1950316 1950809 + VariableStatement 1950318 1950408 + VariableDeclarationList 1950318 1950407 + VariableDeclaration 1950345 1950407 + Identifier 1950345 1950355 + CallExpression 1950357 1950407 + Identifier 1950357 1950395 + Identifier 1950396 1950406 + IfStatement 1950408 1950790 + Identifier 1950434 1950443 + Block 1950444 1950589 + ExpressionStatement 1950446 1950523 + CallExpression 1950446 1950522 + Identifier 1950446 1950493 + Identifier 1950494 1950498 + Identifier 1950499 1950509 + Identifier 1950510 1950521 + ExpressionStatement 1950523 1950566 + BinaryExpression 1950523 1950565 + Identifier 1950523 1950553 + EqualsToken 1950553 1950555 + Identifier 1950555 1950565 + IfStatement 1950615 1950790 + BinaryExpression 1950620 1950653 + Identifier 1950620 1950627 + AmpersandAmpersandToken 1950627 1950630 + PropertyAccessExpression 1950630 1950653 + Identifier 1950630 1950638 + Identifier 1950639 1950653 + Block 1950654 1950790 + ExpressionStatement 1950656 1950767 + CallExpression 1950656 1950766 + Identifier 1950656 1950703 + Identifier 1950704 1950708 + CallExpression 1950709 1950753 + Identifier 1950709 1950729 + PropertyAccessExpression 1950730 1950752 + Identifier 1950730 1950737 + Identifier 1950738 1950752 + Identifier 1950754 1950765 + ExpressionStatement 1950809 1950894 + BinaryExpression 1950809 1950893 + Identifier 1950809 1950838 + BarEqualsToken 1950838 1950841 + BinaryExpression 1950841 1950893 + CallExpression 1950841 1950862 + Identifier 1950841 1950856 + Identifier 1950857 1950861 + AmpersandToken 1950862 1950864 + PropertyAccessExpression 1950864 1950893 + Identifier 1950864 1950876 + Identifier 1950877 1950893 + VariableStatement 1950894 1951025 + VariableDeclarationList 1950894 1951024 + VariableDeclaration 1950917 1951024 + Identifier 1950917 1950926 + ConditionalExpression 1950928 1951024 + BinaryExpression 1950928 1950993 + Identifier 1950928 1950945 + AmpersandAmpersandToken 1950945 1950948 + CallExpression 1950948 1950993 + Identifier 1950948 1950975 + Identifier 1950976 1950992 + QuestionToken 1950993 1950995 + Identifier 1950995 1951012 + ColonToken 1951012 1951014 + Identifier 1951014 1951024 + VariableStatement 1951025 1951308 + VariableDeclarationList 1951025 1951307 + VariableDeclaration 1951048 1951307 + Identifier 1951048 1951053 + ConditionalExpression 1951055 1951307 + Identifier 1951055 1951064 + QuestionToken 1951064 1951066 + CallExpression 1951066 1951202 + Identifier 1951066 1951100 + BinaryExpression 1951101 1951136 + PropertyAccessExpression 1951101 1951121 + Identifier 1951101 1951112 + Identifier 1951113 1951121 + BarToken 1951121 1951123 + PropertyAccessExpression 1951123 1951136 + Identifier 1951123 1951130 + Identifier 1951131 1951136 + CallExpression 1951137 1951171 + Identifier 1951137 1951161 + Identifier 1951162 1951170 + BinaryExpression 1951172 1951201 + Identifier 1951172 1951183 + BarToken 1951183 1951185 + PropertyAccessExpression 1951185 1951201 + Identifier 1951185 1951196 + Identifier 1951197 1951201 + ColonToken 1951202 1951204 + CallExpression 1951204 1951307 + Identifier 1951204 1951238 + BinaryExpression 1951239 1951274 + PropertyAccessExpression 1951239 1951259 + Identifier 1951239 1951250 + Identifier 1951251 1951259 + BarToken 1951259 1951261 + PropertyAccessExpression 1951261 1951274 + Identifier 1951261 1951268 + Identifier 1951269 1951274 + PropertyAccessExpression 1951275 1951294 + Identifier 1951275 1951282 + Identifier 1951283 1951294 + Identifier 1951295 1951306 + IfStatement 1951308 1951413 + Identifier 1951330 1951338 + Block 1951339 1951413 + ExpressionStatement 1951341 1951394 + BinaryExpression 1951341 1951393 + PropertyAccessExpression 1951341 1951382 + PropertyAccessExpression 1951341 1951373 + Identifier 1951341 1951367 + Identifier 1951368 1951373 + Identifier 1951374 1951382 + EqualsToken 1951382 1951384 + Identifier 1951384 1951393 + IfStatement 1951413 1952698 + BinaryExpression 1951437 1951490 + Identifier 1951437 1951459 + AmpersandAmpersandToken 1951459 1951462 + CallExpression 1951462 1951490 + Identifier 1951462 1951478 + Identifier 1951479 1951489 + Block 1951491 1951762 + ExpressionStatement 1951493 1951743 + BinaryExpression 1951493 1951742 + PropertyAccessExpression 1951493 1951718 + Identifier 1951493 1951712 + Identifier 1951713 1951718 + BarEqualsToken 1951718 1951721 + PropertyAccessExpression 1951721 1951742 + Identifier 1951721 1951733 + Identifier 1951734 1951742 + IfStatement 1951784 1952698 + BinaryExpression 1951789 1951907 + Identifier 1951789 1951813 + AmpersandAmpersandToken 1951813 1951816 + PrefixUnaryExpression 1951816 1951907 + ParenthesizedExpression 1951818 1951907 + BinaryExpression 1951819 1951906 + CallExpression 1951819 1951849 + Identifier 1951819 1951833 + Identifier 1951834 1951848 + AmpersandToken 1951849 1951851 + PropertyAccessExpression 1951851 1951906 + Identifier 1951851 1951863 + Identifier 1951864 1951906 + Block 1951908 1952698 + VariableStatement 1951910 1952235 + VariableDeclarationList 1951910 1952234 + VariableDeclaration 1952166 1952234 + Identifier 1952166 1952178 + CallExpression 1952180 1952234 + Identifier 1952180 1952198 + Identifier 1952199 1952213 + PropertyAccessExpression 1952214 1952233 + Identifier 1952214 1952221 + Identifier 1952222 1952233 + IfStatement 1952235 1952679 + Identifier 1952261 1952272 + Block 1952273 1952379 + ExpressionStatement 1952275 1952356 + BinaryExpression 1952275 1952355 + PropertyAccessExpression 1952275 1952311 + Identifier 1952275 1952305 + Identifier 1952306 1952311 + BarEqualsToken 1952311 1952314 + BinaryExpression 1952314 1952355 + PropertyAccessExpression 1952314 1952332 + Identifier 1952314 1952326 + Identifier 1952327 1952332 + AmpersandToken 1952332 1952334 + PropertyAccessExpression 1952334 1952355 + Identifier 1952334 1952346 + Identifier 1952347 1952355 + IfStatement 1952405 1952679 + PrefixUnaryExpression 1952410 1952457 + CallExpression 1952411 1952457 + Identifier 1952411 1952429 + Identifier 1952430 1952444 + Identifier 1952445 1952456 + Block 1952458 1952679 + ExpressionStatement 1952460 1952656 + CallExpression 1952460 1952655 + Identifier 1952460 1952491 + PropertyAccessExpression 1952492 1952507 + Identifier 1952492 1952502 + Identifier 1952503 1952507 + PropertyAccessExpression 1952508 1952600 + Identifier 1952508 1952520 + Identifier 1952521 1952600 + CallExpression 1952601 1952624 + Identifier 1952601 1952616 + Identifier 1952617 1952623 + CallExpression 1952625 1952654 + Identifier 1952625 1952638 + Identifier 1952639 1952653 + ExpressionStatement 1952698 1952758 + BinaryExpression 1952698 1952757 + PropertyAccessExpression 1952698 1952735 + Identifier 1952698 1952722 + Identifier 1952723 1952735 + EqualsToken 1952735 1952737 + PropertyAccessExpression 1952737 1952757 + Identifier 1952737 1952744 + Identifier 1952745 1952757 + ExpressionStatement 1952758 1952804 + BinaryExpression 1952758 1952803 + PropertyAccessExpression 1952758 1952787 + Identifier 1952758 1952780 + Identifier 1952781 1952787 + EqualsToken 1952787 1952789 + PropertyAccessExpression 1952789 1952803 + Identifier 1952789 1952796 + Identifier 1952797 1952803 + IfStatement 1952804 1952941 + PropertyAccessExpression 1952826 1952849 + Identifier 1952826 1952832 + Identifier 1952833 1952849 + Block 1952850 1952941 + ExpressionStatement 1952852 1952922 + BinaryExpression 1952852 1952921 + PropertyAccessExpression 1952852 1952895 + Identifier 1952852 1952878 + Identifier 1952879 1952895 + EqualsToken 1952895 1952897 + PropertyAccessExpression 1952897 1952921 + Identifier 1952897 1952904 + Identifier 1952905 1952921 + ExpressionStatement 1952941 1952984 + BinaryExpression 1952941 1952983 + PropertyAccessExpression 1952941 1952976 + PropertyAccessExpression 1952941 1952971 + Identifier 1952941 1952965 + Identifier 1952966 1952971 + Identifier 1952972 1952976 + EqualsToken 1952976 1952978 + Identifier 1952978 1952983 + ExpressionStatement 1952984 1953029 + BinaryExpression 1952984 1953028 + PropertyAccessExpression 1952984 1953019 + PropertyAccessExpression 1952984 1953012 + Identifier 1952984 1953006 + Identifier 1953007 1953012 + Identifier 1953013 1953019 + EqualsToken 1953019 1953021 + Identifier 1953021 1953028 + ExpressionStatement 1953029 1953061 + BinaryExpression 1953029 1953060 + Identifier 1953029 1953053 + EqualsToken 1953053 1953055 + Identifier 1953055 1953060 + ExpressionStatement 1953061 1953127 + CallExpression 1953061 1953126 + PropertyAccessExpression 1953061 1953102 + Identifier 1953061 1953097 + QuestionDotToken 1953097 1953099 + Identifier 1953099 1953102 + PropertyAccessExpression 1953103 1953119 + Identifier 1953103 1953107 + Identifier 1953108 1953119 + Identifier 1953120 1953125 + IfStatement 1953127 1953897 + BinaryExpression 1953151 1953435 + BinaryExpression 1953151 1953401 + BinaryExpression 1953151 1953273 + BinaryExpression 1953151 1953224 + Identifier 1953151 1953187 + AmpersandAmpersandToken 1953187 1953190 + BinaryExpression 1953190 1953224 + Identifier 1953190 1953200 + AmpersandToken 1953200 1953202 + PropertyAccessExpression 1953202 1953224 + Identifier 1953202 1953212 + Identifier 1953213 1953224 + AmpersandAmpersandToken 1953224 1953227 + PrefixUnaryExpression 1953227 1953273 + ParenthesizedExpression 1953229 1953273 + BinaryExpression 1953230 1953272 + Identifier 1953230 1953239 + AmpersandToken 1953239 1953241 + PropertyAccessExpression 1953241 1953272 + Identifier 1953241 1953251 + Identifier 1953252 1953272 + AmpersandAmpersandToken 1953273 1953276 + ParenthesizedExpression 1953276 1953401 + BinaryExpression 1953299 1953400 + BinaryExpression 1953299 1953348 + PropertyAccessExpression 1953299 1953314 + Identifier 1953299 1953309 + Identifier 1953310 1953314 + EqualsEqualsEqualsToken 1953314 1953318 + PropertyAccessExpression 1953318 1953348 + Identifier 1953318 1953329 + Identifier 1953330 1953348 + BarBarToken 1953348 1953351 + BinaryExpression 1953351 1953400 + PropertyAccessExpression 1953351 1953367 + Identifier 1953351 1953362 + Identifier 1953363 1953367 + EqualsEqualsEqualsToken 1953367 1953371 + PropertyAccessExpression 1953371 1953400 + Identifier 1953371 1953382 + Identifier 1953383 1953400 + AmpersandAmpersandToken 1953401 1953404 + CallExpression 1953404 1953435 + Identifier 1953404 1953423 + Identifier 1953424 1953434 + Block 1953454 1953897 + VariableStatement 1953456 1953529 + VariableDeclarationList 1953456 1953528 + VariableDeclaration 1953483 1953528 + Identifier 1953483 1953500 + CallExpression 1953502 1953528 + Identifier 1953502 1953522 + Identifier 1953523 1953527 + ExpressionStatement 1953529 1953582 + CallExpression 1953529 1953581 + PropertyAccessExpression 1953529 1953563 + Identifier 1953529 1953556 + Identifier 1953557 1953563 + Identifier 1953564 1953580 + VariableStatement 1953582 1953785 + VariableDeclarationList 1953582 1953784 + VariableDeclaration 1953680 1953784 + Identifier 1953680 1953694 + ConditionalExpression 1953696 1953784 + BinaryExpression 1953696 1953746 + PropertyAccessExpression 1953696 1953712 + Identifier 1953696 1953707 + Identifier 1953708 1953712 + EqualsEqualsEqualsToken 1953712 1953716 + PropertyAccessExpression 1953716 1953746 + Identifier 1953716 1953727 + Identifier 1953728 1953746 + QuestionToken 1953746 1953748 + PropertyAccessExpression 1953748 1953771 + Identifier 1953748 1953759 + Identifier 1953760 1953771 + ColonToken 1953771 1953773 + Identifier 1953773 1953784 + ExpressionStatement 1953785 1953878 + CallExpression 1953785 1953877 + Identifier 1953785 1953838 + Identifier 1953839 1953855 + Identifier 1953856 1953870 + Identifier 1953871 1953876 + IfStatement 1953930 1956199 + BinaryExpression 1953935 1953982 + PropertyAccessExpression 1953935 1953950 + Identifier 1953935 1953945 + Identifier 1953946 1953950 + EqualsEqualsEqualsToken 1953950 1953954 + PropertyAccessExpression 1953954 1953982 + Identifier 1953954 1953965 + Identifier 1953966 1953982 + Block 1953983 1955591 + IfStatement 1953985 1954175 + BinaryExpression 1954007 1954066 + Identifier 1954007 1954022 + LessThanToken 1954022 1954024 + PropertyAccessExpression 1954024 1954066 + Identifier 1954024 1954053 + Identifier 1954054 1954066 + Block 1954067 1954175 + ExpressionStatement 1954069 1954156 + CallExpression 1954069 1954155 + Identifier 1954069 1954115 + Identifier 1954116 1954126 + PropertyAccessExpression 1954127 1954154 + Identifier 1954127 1954147 + Identifier 1954148 1954154 + IfStatement 1954175 1954638 + BinaryExpression 1954197 1954223 + PropertyAccessExpression 1954197 1954219 + Identifier 1954197 1954212 + Identifier 1954213 1954219 + GreaterThanToken 1954219 1954221 + NumericLiteral 1954221 1954223 + Block 1954224 1954638 + ExpressionStatement 1954226 1954348 + BinaryExpression 1954226 1954347 + Identifier 1954226 1954254 + EqualsToken 1954254 1954256 + CallExpression 1954256 1954347 + Identifier 1954256 1954270 + Identifier 1954271 1954277 + CallExpression 1954278 1954304 + Identifier 1954278 1954302 + PropertyAccessExpression 1954305 1954317 + Identifier 1954305 1954310 + Identifier 1954311 1954317 + Identifier 1954318 1954330 + Identifier 1954331 1954346 + ExpressionStatement 1954348 1954391 + BinaryExpression 1954348 1954390 + Identifier 1954348 1954385 + EqualsToken 1954385 1954387 + ArrayLiteralExpression 1954387 1954390 + ExpressionStatement 1954391 1954451 + BinaryExpression 1954391 1954450 + Identifier 1954391 1954428 + EqualsToken 1954428 1954430 + CallExpression 1954430 1954450 + Identifier 1954430 1954448 + ExpressionStatement 1954451 1954507 + BinaryExpression 1954451 1954506 + Identifier 1954451 1954498 + EqualsToken 1954498 1954500 + FalseKeyword 1954500 1954506 + ExpressionStatement 1954507 1954563 + BinaryExpression 1954507 1954562 + Identifier 1954507 1954554 + EqualsToken 1954554 1954556 + FalseKeyword 1954556 1954562 + ExpressionStatement 1954563 1954619 + BinaryExpression 1954563 1954618 + Identifier 1954563 1954610 + EqualsToken 1954610 1954612 + FalseKeyword 1954612 1954618 + VariableStatement 1954638 1954759 + VariableDeclarationList 1954638 1954758 + VariableDeclaration 1954661 1954758 + Identifier 1954661 1954666 + CallExpression 1954668 1954758 + Identifier 1954668 1954683 + CallExpression 1954684 1954757 + Identifier 1954684 1954699 + PropertyAccessExpression 1954700 1954721 + Identifier 1954700 1954710 + Identifier 1954711 1954721 + BinaryExpression 1954722 1954756 + Identifier 1954722 1954732 + AmpersandToken 1954732 1954734 + PropertyAccessExpression 1954734 1954756 + Identifier 1954734 1954744 + Identifier 1954745 1954756 + IfStatement 1954759 1955549 + CallExpression 1954781 1954804 + Identifier 1954781 1954798 + Identifier 1954799 1954803 + Block 1954805 1955361 + VariableStatement 1954807 1954910 + VariableDeclarationList 1954807 1954909 + VariableDeclaration 1954834 1954909 + Identifier 1954834 1954845 + CallExpression 1954847 1954909 + Identifier 1954847 1954887 + Identifier 1954888 1954892 + Identifier 1954893 1954908 + IfStatement 1954910 1955075 + Identifier 1954936 1954954 + Block 1954955 1955075 + ExpressionStatement 1954957 1955052 + CallExpression 1954957 1955051 + Identifier 1954957 1955007 + Identifier 1955008 1955018 + Identifier 1955019 1955038 + Identifier 1955039 1955050 + ExpressionStatement 1955075 1955129 + BinaryExpression 1955075 1955128 + Identifier 1955075 1955103 + EqualsToken 1955103 1955105 + PropertyAccessExpression 1955105 1955128 + Identifier 1955105 1955121 + Identifier 1955122 1955128 + IfStatement 1955129 1955235 + CallExpression 1955155 1955174 + Identifier 1955155 1955166 + Identifier 1955167 1955173 + Block 1955175 1955235 + ContinueStatement 1955177 1955212 + ExpressionStatement 1955235 1955342 + BinaryExpression 1955235 1955341 + Identifier 1955235 1955263 + EqualsToken 1955263 1955265 + CallExpression 1955265 1955341 + Identifier 1955265 1955279 + Identifier 1955280 1955286 + Identifier 1955287 1955298 + PropertyAccessExpression 1955299 1955311 + Identifier 1955299 1955304 + Identifier 1955305 1955311 + Identifier 1955312 1955324 + Identifier 1955325 1955340 + Block 1955383 1955549 + ExpressionStatement 1955385 1955489 + CallExpression 1955385 1955488 + Identifier 1955385 1955412 + Identifier 1955413 1955423 + PropertyAccessExpression 1955424 1955487 + Identifier 1955424 1955436 + Identifier 1955437 1955487 + ExpressionStatement 1955489 1955530 + BinaryExpression 1955489 1955529 + Identifier 1955489 1955517 + EqualsToken 1955517 1955519 + Identifier 1955519 1955529 + ContinueStatement 1955549 1955576 + Block 1955609 1956199 + ExpressionStatement 1955611 1956136 + CallExpression 1955611 1956135 + PropertyAccessExpression 1955611 1956045 + Identifier 1955611 1956038 + Identifier 1956039 1956045 + BinaryExpression 1956046 1956134 + BinaryExpression 1956046 1956088 + PropertyAccessExpression 1956046 1956061 + Identifier 1956046 1956056 + Identifier 1956057 1956061 + EqualsEqualsEqualsToken 1956061 1956065 + PropertyAccessExpression 1956065 1956088 + Identifier 1956065 1956076 + Identifier 1956077 1956088 + BarBarToken 1956088 1956091 + BinaryExpression 1956091 1956134 + PropertyAccessExpression 1956091 1956107 + Identifier 1956091 1956102 + Identifier 1956103 1956107 + EqualsEqualsEqualsToken 1956107 1956111 + PropertyAccessExpression 1956111 1956134 + Identifier 1956111 1956122 + Identifier 1956123 1956134 + ExpressionStatement 1956136 1956184 + CallExpression 1956136 1956183 + Identifier 1956136 1956171 + Identifier 1956172 1956182 + IfStatement 1956199 1957101 + BinaryExpression 1956219 1956306 + Identifier 1956219 1956235 + AmpersandAmpersandToken 1956235 1956238 + PrefixUnaryExpression 1956238 1956306 + ParenthesizedExpression 1956240 1956306 + BinaryExpression 1956241 1956305 + PropertyAccessExpression 1956241 1956263 + Identifier 1956241 1956257 + Identifier 1956258 1956263 + AmpersandToken 1956263 1956265 + PropertyAccessExpression 1956265 1956305 + Identifier 1956265 1956275 + Identifier 1956276 1956305 + Block 1956307 1957000 + IfStatement 1956309 1956985 + CallExpression 1956331 1956391 + Identifier 1956331 1956349 + Identifier 1956350 1956366 + Identifier 1956367 1956390 + Block 1956392 1956985 + IfStatement 1956394 1956829 + CallExpression 1956420 1956468 + Identifier 1956420 1956438 + Identifier 1956439 1956455 + Identifier 1956456 1956467 + Block 1956469 1956553 + ExpressionStatement 1956471 1956530 + BinaryExpression 1956471 1956529 + Identifier 1956471 1956522 + EqualsToken 1956522 1956524 + TrueKeyword 1956524 1956529 + IfStatement 1956579 1956829 + CallExpression 1956584 1956634 + Identifier 1956584 1956602 + Identifier 1956603 1956619 + Identifier 1956620 1956633 + Block 1956635 1956719 + ExpressionStatement 1956637 1956696 + BinaryExpression 1956637 1956695 + Identifier 1956637 1956688 + EqualsToken 1956688 1956690 + TrueKeyword 1956690 1956695 + Block 1956745 1956829 + ExpressionStatement 1956747 1956806 + BinaryExpression 1956747 1956805 + Identifier 1956747 1956798 + EqualsToken 1956798 1956800 + TrueKeyword 1956800 1956805 + IfStatement 1956829 1956966 + Identifier 1956855 1956877 + Block 1956878 1956966 + ExpressionStatement 1956880 1956943 + BinaryExpression 1956880 1956942 + Identifier 1956880 1956935 + EqualsToken 1956935 1956937 + TrueKeyword 1956937 1956942 + Block 1957018 1957101 + ExpressionStatement 1957020 1957086 + CallExpression 1957020 1957085 + PropertyAccessExpression 1957020 1957057 + Identifier 1957020 1957053 + Identifier 1957054 1957057 + PropertyAccessExpression 1957058 1957076 + Identifier 1957058 1957064 + Identifier 1957065 1957076 + Identifier 1957077 1957084 + ExpressionStatement 1957101 1957144 + CallExpression 1957101 1957143 + PropertyAccessExpression 1957101 1957135 + Identifier 1957101 1957130 + Identifier 1957131 1957135 + Identifier 1957136 1957142 + ExpressionStatement 1957155 1957185 + CallExpression 1957155 1957184 + Identifier 1957155 1957182 + IfStatement 1957185 1957265 + CallExpression 1957201 1957220 + Identifier 1957201 1957212 + Identifier 1957213 1957219 + Block 1957221 1957265 + ReturnStatement 1957223 1957254 + Identifier 1957243 1957253 + IfStatement 1957265 1957925 + BinaryExpression 1957281 1957307 + Identifier 1957281 1957287 + ExclamationEqualsEqualsToken 1957287 1957291 + Identifier 1957291 1957307 + Block 1957308 1957925 + IfStatement 1957310 1957689 + BinaryExpression 1957328 1957354 + PropertyAccessExpression 1957328 1957350 + Identifier 1957328 1957343 + Identifier 1957344 1957350 + GreaterThanToken 1957350 1957352 + NumericLiteral 1957352 1957354 + Block 1957355 1957689 + ExpressionStatement 1957357 1957475 + BinaryExpression 1957357 1957474 + Identifier 1957357 1957381 + EqualsToken 1957381 1957383 + CallExpression 1957383 1957474 + Identifier 1957383 1957397 + Identifier 1957398 1957404 + CallExpression 1957405 1957431 + Identifier 1957405 1957429 + PropertyAccessExpression 1957432 1957444 + Identifier 1957432 1957437 + Identifier 1957438 1957444 + Identifier 1957445 1957457 + Identifier 1957458 1957473 + ExpressionStatement 1957475 1957514 + BinaryExpression 1957475 1957513 + Identifier 1957475 1957508 + EqualsToken 1957508 1957510 + ArrayLiteralExpression 1957510 1957513 + ExpressionStatement 1957514 1957570 + BinaryExpression 1957514 1957569 + Identifier 1957514 1957547 + EqualsToken 1957547 1957549 + CallExpression 1957549 1957569 + Identifier 1957549 1957567 + ExpressionStatement 1957570 1957622 + BinaryExpression 1957570 1957621 + Identifier 1957570 1957613 + EqualsToken 1957613 1957615 + FalseKeyword 1957615 1957621 + ExpressionStatement 1957622 1957674 + BinaryExpression 1957622 1957673 + Identifier 1957622 1957665 + EqualsToken 1957665 1957667 + FalseKeyword 1957667 1957673 + ReturnStatement 1957689 1957914 + CallExpression 1957837 1957913 + Identifier 1957837 1957845 + Identifier 1957846 1957852 + ArrowFunction 1957853 1957912 + Parameter 1957853 1957855 + Identifier 1957853 1957855 + EqualsGreaterThanToken 1957855 1957858 + ConditionalExpression 1957858 1957912 + BinaryExpression 1957858 1957880 + Identifier 1957858 1957860 + EqualsEqualsEqualsToken 1957860 1957864 + Identifier 1957864 1957880 + QuestionToken 1957880 1957882 + CallExpression 1957882 1957908 + Identifier 1957882 1957906 + ColonToken 1957908 1957910 + Identifier 1957910 1957912 + ReturnStatement 1957925 1957970 + CallExpression 1957943 1957969 + Identifier 1957943 1957967 + FunctionDeclaration 1957970 1959167 + Identifier 1957990 1958014 + Block 1958016 1959167 + VariableStatement 1958018 1958054 + VariableDeclarationList 1958018 1958053 + VariableDeclaration 1958037 1958053 + Identifier 1958037 1958048 + ArrayLiteralExpression 1958050 1958053 + VariableStatement 1958054 1958108 + VariableDeclarationList 1958054 1958107 + VariableDeclaration 1958073 1958107 + Identifier 1958073 1958084 + CallExpression 1958086 1958107 + Identifier 1958086 1958101 + Identifier 1958102 1958106 + IfStatement 1958108 1958245 + Identifier 1958126 1958151 + ExpressionStatement 1958152 1958245 + CallExpression 1958152 1958244 + PropertyAccessExpression 1958152 1958168 + Identifier 1958152 1958163 + Identifier 1958164 1958168 + CallExpression 1958169 1958243 + Identifier 1958169 1958194 + Identifier 1958195 1958205 + Identifier 1958206 1958213 + Identifier 1958214 1958230 + Identifier 1958231 1958242 + IfStatement 1958245 1958382 + Identifier 1958263 1958288 + ExpressionStatement 1958289 1958382 + CallExpression 1958289 1958381 + PropertyAccessExpression 1958289 1958305 + Identifier 1958289 1958300 + Identifier 1958301 1958305 + CallExpression 1958306 1958380 + Identifier 1958306 1958331 + Identifier 1958332 1958342 + Identifier 1958343 1958350 + Identifier 1958351 1958367 + Identifier 1958368 1958379 + IfStatement 1958382 1958521 + Identifier 1958400 1958425 + ExpressionStatement 1958426 1958521 + CallExpression 1958426 1958520 + PropertyAccessExpression 1958426 1958442 + Identifier 1958426 1958437 + Identifier 1958438 1958442 + CallExpression 1958443 1958519 + Identifier 1958443 1958468 + Identifier 1958469 1958479 + Identifier 1958480 1958487 + Identifier 1958488 1958504 + Identifier 1958505 1958518 + VariableStatement 1958521 1958636 + VariableDeclarationList 1958521 1958635 + VariableDeclaration 1958540 1958635 + Identifier 1958540 1958547 + CallExpression 1958549 1958635 + Identifier 1958549 1958569 + PropertyAccessExpression 1958570 1958581 + Identifier 1958570 1958574 + Identifier 1958575 1958581 + Identifier 1958582 1958598 + Identifier 1958599 1958610 + Identifier 1958611 1958622 + Identifier 1958623 1958634 + ExpressionStatement 1958636 1958755 + BinaryExpression 1958636 1958754 + PropertyAccessExpression 1958636 1958668 + Identifier 1958636 1958656 + Identifier 1958657 1958668 + BarEqualsToken 1958668 1958671 + BinaryExpression 1958671 1958754 + BinaryExpression 1958671 1958711 + Identifier 1958671 1958683 + BarToken 1958683 1958685 + PropertyAccessExpression 1958685 1958711 + Identifier 1958685 1958697 + Identifier 1958698 1958711 + BarToken 1958711 1958713 + PropertyAccessExpression 1958713 1958754 + Identifier 1958713 1958725 + Identifier 1958726 1958754 + IfStatement 1958755 1958870 + Identifier 1958773 1958790 + Block 1958791 1958870 + ExpressionStatement 1958793 1958855 + BinaryExpression 1958793 1958854 + PropertyAccessExpression 1958793 1958829 + Identifier 1958793 1958817 + Identifier 1958818 1958829 + BarEqualsToken 1958829 1958832 + PropertyAccessExpression 1958832 1958854 + Identifier 1958832 1958844 + Identifier 1958845 1958854 + IfStatement 1958870 1959030 + Identifier 1958888 1958917 + Block 1958918 1959030 + ExpressionStatement 1958920 1959015 + BinaryExpression 1958920 1959014 + PropertyAccessExpression 1958920 1958956 + Identifier 1958920 1958944 + Identifier 1958945 1958956 + BarEqualsToken 1958956 1958959 + PropertyAccessExpression 1958959 1959014 + Identifier 1958959 1958971 + Identifier 1958972 1959014 + IfStatement 1959030 1959128 + Identifier 1959048 1959070 + Block 1959071 1959128 + ExpressionStatement 1959073 1959113 + BinaryExpression 1959073 1959112 + PropertyAccessExpression 1959073 1959105 + Identifier 1959073 1959097 + Identifier 1959098 1959105 + EqualsToken 1959105 1959107 + Identifier 1959107 1959112 + ReturnStatement 1959128 1959156 + Identifier 1959148 1959155 + FunctionDeclaration 1959174 1959575 + Identifier 1959190 1959208 + Parameter 1959209 1959219 + Identifier 1959209 1959213 + TypeReference 1959214 1959219 + Identifier 1959214 1959219 + BooleanKeyword 1959221 1959229 + Block 1959229 1959575 + VariableStatement 1959231 1959318 + VariableDeclarationList 1959231 1959317 + VariableDeclaration 1959246 1959317 + Identifier 1959246 1959248 + CallExpression 1959250 1959317 + Identifier 1959250 1959277 + CallExpression 1959278 1959316 + Identifier 1959278 1959285 + Identifier 1959286 1959290 + Identifier 1959291 1959315 + ReturnStatement 1959318 1959568 + PrefixUnaryExpression 1959334 1959567 + PrefixUnaryExpression 1959336 1959567 + ParenthesizedExpression 1959337 1959567 + BinaryExpression 1959338 1959566 + BinaryExpression 1959338 1959444 + PropertyAccessExpression 1959338 1959345 + Identifier 1959338 1959339 + Identifier 1959340 1959345 + AmpersandToken 1959345 1959347 + ParenthesizedExpression 1959347 1959444 + BinaryExpression 1959349 1959443 + BinaryExpression 1959349 1959406 + BinaryExpression 1959349 1959387 + PropertyAccessExpression 1959349 1959362 + Identifier 1959349 1959358 + Identifier 1959359 1959362 + BarToken 1959362 1959364 + PropertyAccessExpression 1959364 1959387 + Identifier 1959364 1959374 + Identifier 1959375 1959387 + BarToken 1959387 1959389 + PropertyAccessExpression 1959389 1959406 + Identifier 1959389 1959399 + Identifier 1959400 1959406 + BarToken 1959406 1959408 + PropertyAccessExpression 1959408 1959443 + Identifier 1959408 1959418 + Identifier 1959419 1959443 + BarBarToken 1959444 1959447 + BinaryExpression 1959447 1959566 + BinaryExpression 1959447 1959500 + PropertyAccessExpression 1959447 1959468 + Identifier 1959447 1959462 + Identifier 1959463 1959468 + AmpersandToken 1959468 1959470 + PropertyAccessExpression 1959470 1959500 + Identifier 1959470 1959480 + Identifier 1959481 1959500 + AmpersandAmpersandToken 1959500 1959503 + CallExpression 1959503 1959566 + Identifier 1959503 1959509 + PropertyAccessExpression 1959510 1959546 + ParenthesizedExpression 1959510 1959540 + AsExpression 1959511 1959539 + Identifier 1959511 1959512 + TypeReference 1959515 1959539 + Identifier 1959515 1959539 + Identifier 1959541 1959546 + Identifier 1959547 1959565 + FunctionDeclaration 1959575 1959724 + Identifier 1959591 1959626 + Parameter 1959627 1959654 + Identifier 1959627 1959631 + TypeReference 1959632 1959654 + Identifier 1959632 1959654 + Block 1959655 1959724 + ExpressionStatement 1959657 1959717 + CallExpression 1959657 1959716 + Identifier 1959657 1959710 + Identifier 1959711 1959715 + FunctionDeclaration 1959724 1959934 + Identifier 1959740 1959767 + Parameter 1959768 1959795 + Identifier 1959768 1959772 + TypeReference 1959773 1959795 + Identifier 1959773 1959795 + Parameter 1959796 1959830 + Identifier 1959796 1959807 + UnionType 1959808 1959830 + TypeReference 1959808 1959818 + Identifier 1959808 1959818 + UndefinedKeyword 1959820 1959830 + TypeReference 1959832 1959837 + Identifier 1959832 1959837 + Block 1959837 1959934 + ExpressionStatement 1959839 1959873 + CallExpression 1959839 1959872 + Identifier 1959839 1959866 + Identifier 1959867 1959871 + ReturnStatement 1959873 1959927 + BinaryExpression 1959889 1959926 + CallExpression 1959889 1959915 + Identifier 1959889 1959909 + Identifier 1959910 1959914 + BarBarToken 1959915 1959918 + Identifier 1959918 1959926 + FunctionDeclaration 1959934 1960454 + Identifier 1959950 1959974 + Parameter 1959975 1959991 + Identifier 1959975 1959979 + TypeReference 1959980 1959991 + Identifier 1959980 1959991 + Block 1959992 1960454 + ExpressionStatement 1959994 1960098 + CallExpression 1959994 1960097 + Identifier 1959994 1960076 + PropertyAccessExpression 1960077 1960096 + Identifier 1960077 1960081 + Identifier 1960082 1960096 + IfStatement 1960098 1960412 + CallExpression 1960205 1960255 + Identifier 1960205 1960226 + PropertyAccessExpression 1960227 1960254 + PropertyAccessExpression 1960227 1960246 + Identifier 1960227 1960231 + Identifier 1960232 1960246 + Identifier 1960247 1960254 + Block 1960256 1960326 + ExpressionStatement 1960258 1960315 + CallExpression 1960258 1960314 + Identifier 1960258 1960293 + PropertyAccessExpression 1960294 1960313 + Identifier 1960294 1960298 + Identifier 1960299 1960313 + Block 1960340 1960412 + ExpressionStatement 1960342 1960401 + CallExpression 1960342 1960400 + Identifier 1960342 1960371 + PropertyAccessExpression 1960372 1960399 + PropertyAccessExpression 1960372 1960391 + Identifier 1960372 1960376 + Identifier 1960377 1960391 + Identifier 1960392 1960399 + ExpressionStatement 1960412 1960447 + CallExpression 1960412 1960446 + Identifier 1960412 1960440 + Identifier 1960441 1960445 + FunctionDeclaration 1960454 1960644 + Identifier 1960470 1960486 + Parameter 1960487 1960503 + Identifier 1960487 1960491 + TypeReference 1960492 1960503 + Identifier 1960492 1960503 + Parameter 1960504 1960538 + Identifier 1960504 1960515 + UnionType 1960516 1960538 + TypeReference 1960516 1960526 + Identifier 1960516 1960526 + UndefinedKeyword 1960528 1960538 + TypeReference 1960540 1960545 + Identifier 1960540 1960545 + Block 1960545 1960644 + ExpressionStatement 1960547 1960581 + CallExpression 1960547 1960580 + Identifier 1960547 1960574 + Identifier 1960575 1960579 + ReturnStatement 1960581 1960637 + BinaryExpression 1960599 1960636 + CallExpression 1960599 1960625 + Identifier 1960599 1960619 + Identifier 1960620 1960624 + BarBarToken 1960625 1960628 + Identifier 1960628 1960636 + FunctionDeclaration 1960644 1961879 + Identifier 1960660 1960677 + Parameter 1960678 1960695 + Identifier 1960678 1960682 + TypeReference 1960683 1960695 + Identifier 1960683 1960695 + TypeReference 1960697 1960702 + Identifier 1960697 1960702 + Block 1960702 1961879 + ExpressionStatement 1960704 1960780 + CallExpression 1960704 1960779 + Identifier 1960704 1960757 + PropertyAccessExpression 1960758 1960778 + Identifier 1960758 1960762 + Identifier 1960763 1960778 + VariableStatement 1960780 1961091 + VariableDeclarationList 1960780 1961090 + VariableDeclaration 1961047 1961090 + Identifier 1961047 1961062 + CallExpression 1961064 1961090 + Identifier 1961064 1961084 + Identifier 1961085 1961089 + IfStatement 1961091 1961706 + BinaryExpression 1961105 1961321 + BinaryExpression 1961105 1961279 + BinaryExpression 1961105 1961227 + CallExpression 1961105 1961158 + Identifier 1961105 1961141 + Identifier 1961142 1961157 + AmpersandAmpersandToken 1961158 1961161 + ParenthesizedExpression 1961161 1961227 + BinaryExpression 1961163 1961226 + PropertyAccessExpression 1961163 1961189 + Identifier 1961163 1961178 + Identifier 1961179 1961189 + BarBarToken 1961189 1961192 + CallExpression 1961192 1961226 + PropertyAccessExpression 1961192 1961219 + PropertyAccessExpression 1961192 1961215 + Identifier 1961192 1961207 + Identifier 1961208 1961215 + Identifier 1961216 1961219 + StringLiteral 1961220 1961225 + AmpersandAmpersandToken 1961227 1961243 + PrefixUnaryExpression 1961243 1961279 + PropertyAccessExpression 1961245 1961279 + Identifier 1961245 1961260 + Identifier 1961261 1961279 + AmpersandAmpersandToken 1961279 1961282 + PrefixUnaryExpression 1961282 1961321 + CallExpression 1961284 1961321 + PropertyAccessExpression 1961284 1961310 + PropertyAccessExpression 1961284 1961306 + Identifier 1961284 1961298 + Identifier 1961299 1961306 + Identifier 1961307 1961310 + StringLiteral 1961311 1961320 + Block 1961332 1961706 + ExpressionStatement 1961334 1961695 + CallExpression 1961334 1961694 + Identifier 1961334 1961353 + Identifier 1961354 1961376 + ConditionalExpression 1961377 1961678 + PropertyAccessExpression 1961377 1961421 + Identifier 1961377 1961410 + Identifier 1961411 1961421 + QuestionToken 1961421 1961444 + PropertyAccessExpression 1961444 1961569 + Identifier 1961444 1961456 + Identifier 1961457 1961569 + ColonToken 1961569 1961592 + PropertyAccessExpression 1961592 1961678 + Identifier 1961592 1961604 + Identifier 1961605 1961678 + ExpressionStatement 1961706 1961741 + CallExpression 1961706 1961740 + Identifier 1961706 1961734 + Identifier 1961735 1961739 + VariableStatement 1961741 1961800 + VariableDeclarationList 1961741 1961799 + VariableDeclaration 1961756 1961799 + Identifier 1961756 1961771 + CallExpression 1961773 1961799 + Identifier 1961773 1961793 + Identifier 1961794 1961798 + ReturnStatement 1961800 1961872 + ConditionalExpression 1961816 1961871 + CallExpression 1961816 1961844 + Identifier 1961816 1961828 + Identifier 1961829 1961843 + QuestionToken 1961844 1961846 + Identifier 1961846 1961854 + ColonToken 1961854 1961856 + Identifier 1961856 1961871 + FunctionDeclaration 1961879 1961997 + Identifier 1961895 1961915 + Parameter 1961916 1961939 + Identifier 1961916 1961920 + UnionType 1961921 1961939 + StringKeyword 1961921 1961928 + TypeReference 1961930 1961939 + Identifier 1961930 1961939 + Block 1961940 1961997 + ReturnStatement 1961942 1961990 + CallExpression 1961958 1961989 + PropertyAccessExpression 1961958 1961984 + ParenthesizedExpression 1961958 1961975 + AsExpression 1961960 1961974 + Identifier 1961960 1961964 + StringKeyword 1961967 1961974 + Identifier 1961976 1961984 + StringLiteral 1961985 1961988 + FunctionDeclaration 1961997 1962346 + Identifier 1962143 1962165 + Parameter 1962166 1962179 + Identifier 1962166 1962173 + TypeReference 1962174 1962179 + Identifier 1962174 1962179 + TypePredicate 1962181 1962223 + Identifier 1962181 1962189 + UnionType 1962192 1962223 + TypeReference 1962192 1962203 + Identifier 1962192 1962203 + TypeReference 1962205 1962223 + Identifier 1962205 1962223 + Block 1962223 1962346 + ReturnStatement 1962225 1962339 + BinaryExpression 1962241 1962338 + BinaryExpression 1962241 1962306 + CallExpression 1962241 1962263 + Identifier 1962241 1962254 + Identifier 1962255 1962262 + AmpersandAmpersandToken 1962263 1962266 + CallExpression 1962266 1962306 + Identifier 1962266 1962285 + PropertyAccessExpression 1962286 1962305 + Identifier 1962286 1962293 + Identifier 1962294 1962305 + BarBarToken 1962306 1962309 + CallExpression 1962309 1962338 + Identifier 1962309 1962329 + Identifier 1962330 1962337 + FunctionDeclaration 1962346 1962619 + Identifier 1962362 1962380 + Parameter 1962381 1962399 + Identifier 1962381 1962385 + TypeReference 1962386 1962399 + Identifier 1962386 1962399 + Parameter 1962400 1962422 + Identifier 1962400 1962410 + QuestionToken 1962410 1962411 + TypeReference 1962412 1962422 + Identifier 1962412 1962422 + Block 1962423 1962619 + ReturnStatement 1962425 1962561 + ConditionalExpression 1962441 1962560 + PropertyAccessExpression 1962441 1962458 + Identifier 1962441 1962446 + Identifier 1962447 1962458 + QuestionToken 1962458 1962473 + CallExpression 1962473 1962536 + Identifier 1962473 1962507 + PropertyAccessExpression 1962508 1962524 + Identifier 1962508 1962512 + Identifier 1962513 1962524 + Identifier 1962525 1962535 + ColonToken 1962536 1962551 + Identifier 1962551 1962560 + FunctionDeclaration 1962619 1971858 + Identifier 1963279 1963325 + Parameter 1963326 1963357 + Identifier 1963326 1963344 + TypeReference 1963345 1963357 + Identifier 1963345 1963357 + Parameter 1963358 1963398 + Identifier 1963358 1963368 + TypeReference 1963369 1963379 + Identifier 1963369 1963379 + PropertyAccessExpression 1963381 1963398 + Identifier 1963381 1963391 + Identifier 1963392 1963398 + Block 1963399 1971858 + VariableStatement 1963401 1963489 + VariableDeclarationList 1963401 1963488 + VariableDeclaration 1963416 1963488 + Identifier 1963416 1963435 + ConditionalExpression 1963437 1963488 + Identifier 1963437 1963454 + QuestionToken 1963454 1963456 + CallExpression 1963456 1963476 + Identifier 1963456 1963474 + ColonToken 1963476 1963478 + Identifier 1963478 1963488 + VariableStatement 1963489 1963541 + VariableDeclarationList 1963489 1963540 + VariableDeclaration 1963502 1963540 + Identifier 1963502 1963518 + CallExpression 1963520 1963540 + Identifier 1963520 1963538 + VariableStatement 1963541 1963589 + VariableDeclarationList 1963541 1963588 + VariableDeclaration 1963554 1963588 + Identifier 1963554 1963561 + TypeReference 1963562 1963567 + Identifier 1963562 1963567 + Identifier 1963569 1963588 + VariableStatement 1963589 1963628 + VariableDeclarationList 1963589 1963627 + VariableDeclaration 1963602 1963627 + Identifier 1963602 1963619 + FalseKeyword 1963621 1963627 + VariableStatement 1963628 1963676 + VariableDeclarationList 1963628 1963675 + VariableDeclaration 1963641 1963675 + Identifier 1963641 1963657 + UnionType 1963658 1963675 + TypeReference 1963658 1963663 + Identifier 1963658 1963663 + UndefinedKeyword 1963665 1963675 + VariableStatement 1963676 1963733 + VariableDeclarationList 1963676 1963732 + VariableDeclaration 1963689 1963732 + Identifier 1963689 1963724 + FalseKeyword 1963726 1963732 + VariableStatement 1963733 1963800 + VariableDeclarationList 1963733 1963799 + VariableDeclaration 1963746 1963799 + Identifier 1963746 1963758 + TypeReference 1963759 1963771 + Identifier 1963759 1963771 + PropertyAccessExpression 1963773 1963799 + Identifier 1963773 1963785 + Identifier 1963786 1963799 + VariableStatement 1963800 1963915 + VariableDeclarationList 1963800 1963914 + VariableDeclaration 1963815 1963914 + Identifier 1963815 1963839 + CallExpression 1963841 1963914 + Identifier 1963841 1963875 + CallExpression 1963876 1963913 + Identifier 1963876 1963893 + Identifier 1963894 1963912 + VariableStatement 1963915 1963994 + VariableDeclarationList 1963915 1963993 + VariableDeclaration 1963932 1963993 + Identifier 1963932 1963950 + CallExpression 1963952 1963993 + Identifier 1963952 1963973 + Identifier 1963974 1963992 + VariableStatement 1963994 1964047 + VariableDeclarationList 1963994 1964046 + VariableDeclaration 1964009 1964046 + Identifier 1964009 1964026 + UnionType 1964027 1964046 + TypeReference 1964027 1964034 + Identifier 1964027 1964034 + UndefinedKeyword 1964036 1964046 + VariableStatement 1964047 1964104 + VariableDeclarationList 1964047 1964103 + VariableDeclaration 1964060 1964103 + Identifier 1964060 1964076 + TypeReference 1964077 1964082 + Identifier 1964077 1964082 + Identifier 1964084 1964103 + IfStatement 1964104 1968337 + PrefixUnaryExpression 1964118 1964136 + Identifier 1964119 1964136 + Block 1964137 1968337 + VariableStatement 1964139 1964202 + VariableDeclarationList 1964139 1964201 + VariableDeclaration 1964158 1964201 + Identifier 1964158 1964169 + PropertyAccessExpression 1964171 1964201 + Identifier 1964171 1964190 + Identifier 1964191 1964201 + ExpressionStatement 1964202 1964253 + BinaryExpression 1964202 1964252 + Identifier 1964202 1964232 + EqualsToken 1964232 1964234 + PropertyAccessExpression 1964234 1964252 + Identifier 1964234 1964245 + Identifier 1964246 1964252 + ExpressionStatement 1964253 1964296 + BinaryExpression 1964253 1964295 + Identifier 1964253 1964282 + EqualsToken 1964282 1964284 + Identifier 1964284 1964295 + VariableStatement 1964296 1964382 + VariableDeclarationList 1964296 1964381 + VariableDeclaration 1964315 1964381 + Identifier 1964315 1964330 + CallExpression 1964332 1964381 + Identifier 1964332 1964350 + Identifier 1964351 1964361 + PropertyAccessExpression 1964362 1964380 + Identifier 1964362 1964375 + Identifier 1964376 1964380 + ForOfStatement 1964382 1968065 + VariableDeclarationList 1964401 1964420 + VariableDeclaration 1964406 1964420 + Identifier 1964406 1964420 + PropertyAccessExpression 1964423 1964445 + Identifier 1964423 1964434 + Identifier 1964435 1964445 + Block 1964446 1968065 + VariableStatement 1964448 1964502 + VariableDeclarationList 1964448 1964501 + VariableDeclaration 1964471 1964501 + Identifier 1964471 1964478 + PropertyAccessExpression 1964480 1964501 + Identifier 1964480 1964494 + Identifier 1964495 1964501 + IfStatement 1964502 1968050 + CallExpression 1964524 1964553 + Identifier 1964524 1964538 + Identifier 1964539 1964552 + Block 1964554 1966712 + VariableStatement 1964556 1964639 + VariableDeclarationList 1964556 1964638 + VariableDeclaration 1964583 1964638 + Identifier 1964583 1964592 + CallExpression 1964594 1964638 + Identifier 1964594 1964612 + Identifier 1964613 1964626 + Identifier 1964627 1964637 + ExpressionStatement 1964639 1964732 + BinaryExpression 1964639 1964731 + Identifier 1964639 1964672 + BarEqualsToken 1964672 1964675 + BinaryExpression 1964675 1964731 + CallExpression 1964675 1964700 + Identifier 1964675 1964690 + Identifier 1964691 1964699 + AmpersandToken 1964700 1964702 + PropertyAccessExpression 1964702 1964731 + Identifier 1964702 1964714 + Identifier 1964715 1964731 + VariableStatement 1964732 1964850 + VariableDeclarationList 1964732 1964849 + VariableDeclaration 1964761 1964849 + Identifier 1964761 1964777 + CallExpression 1964779 1964849 + Identifier 1964779 1964792 + BinaryExpression 1964793 1964828 + PropertyAccessExpression 1964793 1964813 + Identifier 1964793 1964804 + Identifier 1964805 1964813 + BarToken 1964813 1964815 + PropertyAccessExpression 1964815 1964828 + Identifier 1964815 1964822 + Identifier 1964823 1964828 + PropertyAccessExpression 1964829 1964848 + Identifier 1964829 1964836 + Identifier 1964837 1964848 + ExpressionStatement 1964850 1964923 + BinaryExpression 1964850 1964922 + PropertyAccessExpression 1964850 1964900 + Identifier 1964850 1964887 + Identifier 1964888 1964900 + EqualsToken 1964900 1964902 + PropertyAccessExpression 1964902 1964922 + Identifier 1964902 1964909 + Identifier 1964910 1964922 + ExpressionStatement 1964923 1964984 + BinaryExpression 1964923 1964983 + PropertyAccessExpression 1964923 1964967 + Identifier 1964923 1964960 + Identifier 1964961 1964967 + EqualsToken 1964967 1964969 + PropertyAccessExpression 1964969 1964983 + Identifier 1964969 1964976 + Identifier 1964977 1964983 + IfStatement 1964984 1965144 + PropertyAccessExpression 1965010 1965033 + Identifier 1965010 1965016 + Identifier 1965017 1965033 + Block 1965034 1965144 + ExpressionStatement 1965036 1965121 + BinaryExpression 1965036 1965120 + PropertyAccessExpression 1965036 1965094 + Identifier 1965036 1965077 + Identifier 1965078 1965094 + EqualsToken 1965094 1965096 + PropertyAccessExpression 1965096 1965120 + Identifier 1965096 1965103 + Identifier 1965104 1965120 + ExpressionStatement 1965144 1965204 + BinaryExpression 1965144 1965203 + PropertyAccessExpression 1965144 1965192 + PropertyAccessExpression 1965144 1965187 + Identifier 1965144 1965181 + Identifier 1965182 1965187 + Identifier 1965188 1965192 + EqualsToken 1965192 1965194 + Identifier 1965194 1965203 + ExpressionStatement 1965204 1965264 + BinaryExpression 1965204 1965263 + PropertyAccessExpression 1965204 1965254 + PropertyAccessExpression 1965204 1965247 + Identifier 1965204 1965241 + Identifier 1965242 1965247 + Identifier 1965248 1965254 + EqualsToken 1965254 1965256 + Identifier 1965256 1965263 + ExpressionStatement 1965264 1965352 + CallExpression 1965264 1965351 + PropertyAccessExpression 1965264 1965305 + Identifier 1965264 1965301 + Identifier 1965302 1965305 + PropertyAccessExpression 1965306 1965333 + Identifier 1965306 1965321 + Identifier 1965322 1965333 + Identifier 1965334 1965350 + ExpressionStatement 1965352 1965444 + CallExpression 1965352 1965443 + PropertyAccessExpression 1965352 1965397 + Identifier 1965352 1965392 + QuestionDotToken 1965392 1965394 + Identifier 1965394 1965397 + PropertyAccessExpression 1965398 1965425 + Identifier 1965398 1965413 + Identifier 1965414 1965425 + Identifier 1965426 1965442 + IfStatement 1965444 1965644 + BinaryExpression 1965470 1965550 + CallExpression 1965470 1965522 + Identifier 1965470 1965502 + PropertyAccessExpression 1965503 1965521 + Identifier 1965503 1965516 + Identifier 1965517 1965521 + EqualsEqualsEqualsToken 1965522 1965526 + Identifier 1965526 1965550 + Block 1965551 1965644 + ExpressionStatement 1965553 1965621 + BinaryExpression 1965553 1965620 + Identifier 1965553 1965613 + EqualsToken 1965613 1965615 + TrueKeyword 1965615 1965620 + IfStatement 1965644 1966087 + Identifier 1965670 1965684 + Block 1965685 1966087 + VariableStatement 1965687 1965780 + VariableDeclarationList 1965687 1965779 + VariableDeclaration 1965718 1965779 + Identifier 1965718 1965723 + CallExpression 1965725 1965779 + Identifier 1965725 1965743 + Identifier 1965744 1965758 + PropertyAccessExpression 1965759 1965778 + Identifier 1965759 1965766 + Identifier 1965767 1965778 + IfStatement 1965780 1966064 + BinaryExpression 1965810 1965899 + BinaryExpression 1965810 1965863 + BinaryExpression 1965810 1965835 + Identifier 1965810 1965814 + AmpersandAmpersandToken 1965814 1965817 + PropertyAccessExpression 1965817 1965835 + Identifier 1965817 1965822 + Identifier 1965823 1965835 + AmpersandAmpersandToken 1965835 1965838 + CallExpression 1965838 1965863 + Identifier 1965838 1965857 + Identifier 1965858 1965862 + AmpersandAmpersandToken 1965863 1965866 + CallExpression 1965866 1965899 + Identifier 1965866 1965879 + PropertyAccessExpression 1965880 1965898 + Identifier 1965880 1965893 + Identifier 1965894 1965898 + Block 1965900 1966064 + ExpressionStatement 1965902 1966037 + CallExpression 1965902 1966036 + Identifier 1965902 1965955 + PropertyAccessExpression 1965956 1965974 + Identifier 1965956 1965969 + Identifier 1965970 1965974 + PropertyAccessExpression 1965975 1965993 + Identifier 1965975 1965980 + Identifier 1965981 1965993 + AsExpression 1965994 1966035 + PropertyAccessExpression 1965994 1966025 + PropertyAccessExpression 1965994 1966013 + Identifier 1965994 1966008 + Identifier 1966009 1966013 + Identifier 1966014 1966025 + StringKeyword 1966028 1966035 + IfStatement 1966087 1966693 + BinaryExpression 1966113 1966250 + BinaryExpression 1966113 1966213 + BinaryExpression 1966113 1966164 + Identifier 1966113 1966127 + AmpersandAmpersandToken 1966127 1966130 + BinaryExpression 1966130 1966164 + Identifier 1966130 1966140 + AmpersandToken 1966140 1966142 + PropertyAccessExpression 1966142 1966164 + Identifier 1966142 1966152 + Identifier 1966153 1966164 + AmpersandAmpersandToken 1966164 1966167 + PrefixUnaryExpression 1966167 1966213 + ParenthesizedExpression 1966169 1966213 + BinaryExpression 1966170 1966212 + Identifier 1966170 1966179 + AmpersandToken 1966179 1966181 + PropertyAccessExpression 1966181 1966212 + Identifier 1966181 1966191 + Identifier 1966192 1966212 + AmpersandAmpersandToken 1966213 1966216 + CallExpression 1966216 1966250 + Identifier 1966216 1966235 + Identifier 1966236 1966249 + Block 1966251 1966693 + VariableStatement 1966253 1966336 + VariableDeclarationList 1966253 1966335 + VariableDeclaration 1966284 1966335 + Identifier 1966284 1966301 + CallExpression 1966303 1966335 + Identifier 1966303 1966323 + Identifier 1966324 1966334 + ExpressionStatement 1966336 1966393 + CallExpression 1966336 1966392 + PropertyAccessExpression 1966336 1966374 + Identifier 1966336 1966367 + Identifier 1966368 1966374 + Identifier 1966375 1966391 + VariableStatement 1966393 1966569 + VariableDeclarationList 1966393 1966568 + VariableDeclaration 1966495 1966568 + Identifier 1966495 1966509 + NonNullExpression 1966511 1966568 + PropertyAccessExpression 1966511 1966567 + ParenthesizedExpression 1966511 1966556 + AsExpression 1966513 1966555 + PropertyAccessExpression 1966513 1966538 + Identifier 1966513 1966526 + Identifier 1966527 1966538 + TypeReference 1966541 1966555 + Identifier 1966541 1966555 + Identifier 1966557 1966567 + ExpressionStatement 1966569 1966670 + CallExpression 1966569 1966669 + Identifier 1966569 1966626 + Identifier 1966627 1966643 + Identifier 1966644 1966658 + Identifier 1966659 1966668 + Block 1966734 1968050 + ExpressionStatement 1966736 1966825 + CallExpression 1966736 1966824 + PropertyAccessExpression 1966736 1966770 + Identifier 1966736 1966763 + Identifier 1966764 1966770 + BinaryExpression 1966771 1966823 + PropertyAccessExpression 1966771 1966789 + Identifier 1966771 1966784 + Identifier 1966785 1966789 + EqualsEqualsEqualsToken 1966789 1966793 + PropertyAccessExpression 1966793 1966823 + Identifier 1966793 1966804 + Identifier 1966805 1966823 + IfStatement 1966825 1967107 + BinaryExpression 1966851 1966875 + PropertyAccessExpression 1966851 1966871 + Identifier 1966851 1966866 + Identifier 1966867 1966871 + GreaterThanToken 1966871 1966873 + NumericLiteral 1966873 1966875 + Block 1966876 1967107 + ExpressionStatement 1966878 1967020 + BinaryExpression 1966878 1967019 + Identifier 1966878 1966910 + EqualsToken 1966910 1966912 + CallExpression 1966912 1967019 + Identifier 1966912 1966926 + Identifier 1966927 1966933 + CallExpression 1966934 1966966 + Identifier 1966934 1966964 + PropertyAccessExpression 1966967 1966985 + Identifier 1966967 1966978 + Identifier 1966979 1966985 + Identifier 1966986 1966998 + FalseKeyword 1966999 1967018 + ExpressionStatement 1967020 1967084 + BinaryExpression 1967020 1967083 + Identifier 1967020 1967061 + EqualsToken 1967061 1967063 + CallExpression 1967063 1967083 + Identifier 1967063 1967081 + VariableStatement 1967107 1967239 + VariableDeclarationList 1967107 1967238 + VariableDeclaration 1967134 1967238 + Identifier 1967134 1967143 + CallExpression 1967145 1967238 + Identifier 1967145 1967160 + CallExpression 1967161 1967237 + Identifier 1967161 1967176 + PropertyAccessExpression 1967177 1967201 + Identifier 1967177 1967190 + Identifier 1967191 1967201 + BinaryExpression 1967202 1967236 + Identifier 1967202 1967212 + AmpersandToken 1967212 1967214 + PropertyAccessExpression 1967214 1967236 + Identifier 1967214 1967224 + Identifier 1967225 1967236 + IfStatement 1967239 1967360 + CallExpression 1967265 1967284 + Identifier 1967265 1967274 + Identifier 1967275 1967283 + Block 1967285 1967360 + ExpressionStatement 1967287 1967337 + BinaryExpression 1967287 1967336 + Identifier 1967287 1967329 + EqualsToken 1967329 1967331 + TrueKeyword 1967331 1967336 + IfStatement 1967360 1968031 + CallExpression 1967386 1967413 + Identifier 1967386 1967403 + Identifier 1967404 1967412 + Block 1967414 1967736 + ExpressionStatement 1967416 1967535 + BinaryExpression 1967416 1967534 + Identifier 1967416 1967448 + EqualsToken 1967448 1967450 + CallExpression 1967450 1967534 + Identifier 1967450 1967464 + Identifier 1967465 1967471 + Identifier 1967472 1967481 + PropertyAccessExpression 1967482 1967500 + Identifier 1967482 1967493 + Identifier 1967494 1967500 + Identifier 1967501 1967513 + FalseKeyword 1967514 1967533 + IfStatement 1967535 1967713 + Identifier 1967565 1967583 + Block 1967584 1967713 + ExpressionStatement 1967586 1967686 + CallExpression 1967586 1967685 + Identifier 1967586 1967640 + Identifier 1967641 1967649 + Identifier 1967650 1967669 + Identifier 1967670 1967684 + Block 1967762 1968031 + ExpressionStatement 1967764 1967886 + CallExpression 1967764 1967885 + Identifier 1967764 1967795 + PropertyAccessExpression 1967796 1967820 + Identifier 1967796 1967809 + Identifier 1967810 1967820 + PropertyAccessExpression 1967821 1967884 + Identifier 1967821 1967833 + Identifier 1967834 1967884 + ExpressionStatement 1967886 1968008 + BinaryExpression 1967886 1968007 + Identifier 1967886 1967927 + EqualsToken 1967927 1967929 + ConditionalExpression 1967929 1968007 + Identifier 1967929 1967945 + QuestionToken 1967945 1967947 + CallExpression 1967947 1967996 + Identifier 1967947 1967967 + ArrayLiteralExpression 1967968 1967995 + Identifier 1967969 1967984 + Identifier 1967985 1967994 + ColonToken 1967996 1967998 + Identifier 1967998 1968007 + IfStatement 1968065 1968326 + PrefixUnaryExpression 1968085 1968102 + Identifier 1968086 1968102 + Block 1968103 1968326 + IfStatement 1968105 1968311 + BinaryExpression 1968127 1968151 + PropertyAccessExpression 1968127 1968147 + Identifier 1968127 1968142 + Identifier 1968143 1968147 + GreaterThanToken 1968147 1968149 + NumericLiteral 1968149 1968151 + Block 1968152 1968311 + ExpressionStatement 1968154 1968292 + BinaryExpression 1968154 1968291 + Identifier 1968154 1968182 + EqualsToken 1968182 1968184 + CallExpression 1968184 1968291 + Identifier 1968184 1968198 + Identifier 1968199 1968205 + CallExpression 1968206 1968238 + Identifier 1968206 1968236 + PropertyAccessExpression 1968239 1968257 + Identifier 1968239 1968250 + Identifier 1968251 1968257 + Identifier 1968258 1968270 + FalseKeyword 1968271 1968290 + VariableStatement 1968337 1968428 + VariableDeclarationList 1968337 1968427 + VariableDeclaration 1968392 1968427 + Identifier 1968392 1968399 + PropertyAccessExpression 1968401 1968427 + Identifier 1968401 1968420 + Identifier 1968421 1968427 + IfStatement 1968428 1971309 + BinaryExpression 1968579 1968804 + ParenthesizedExpression 1968579 1968737 + BinaryExpression 1968594 1968736 + BinaryExpression 1968594 1968662 + CallExpression 1968594 1968614 + Identifier 1968594 1968606 + Identifier 1968607 1968613 + AmpersandAmpersandToken 1968614 1968617 + BinaryExpression 1968617 1968662 + PropertyAccessExpression 1968617 1968639 + Identifier 1968617 1968624 + Identifier 1968625 1968639 + EqualsEqualsEqualsToken 1968639 1968643 + Identifier 1968643 1968662 + BarBarToken 1968662 1968665 + BinaryExpression 1968665 1968736 + CallExpression 1968665 1968687 + Identifier 1968665 1968679 + Identifier 1968680 1968686 + AmpersandAmpersandToken 1968687 1968690 + BinaryExpression 1968690 1968736 + PropertyAccessExpression 1968690 1968713 + Identifier 1968690 1968697 + Identifier 1968698 1968713 + EqualsEqualsEqualsToken 1968713 1968717 + Identifier 1968717 1968736 + AmpersandAmpersandToken 1968737 1968740 + BinaryExpression 1968740 1968804 + PropertyAccessExpression 1968740 1968800 + CallExpression 1968740 1968793 + Identifier 1968740 1968776 + PropertyAccessExpression 1968777 1968792 + Identifier 1968777 1968783 + Identifier 1968784 1968792 + Identifier 1968794 1968800 + GreaterThanToken 1968800 1968802 + NumericLiteral 1968802 1968804 + Block 1968815 1971309 + VariableStatement 1968817 1968897 + VariableDeclarationList 1968817 1968896 + VariableDeclaration 1968836 1968896 + Identifier 1968836 1968850 + ArrayType 1968851 1968858 + TypeReference 1968851 1968856 + Identifier 1968851 1968856 + CallExpression 1968860 1968896 + Identifier 1968860 1968877 + Identifier 1968878 1968884 + Identifier 1968885 1968895 + IfStatement 1968897 1971298 + BinaryExpression 1968917 1968995 + BinaryExpression 1968917 1968961 + PrefixUnaryExpression 1968917 1968934 + Identifier 1968918 1968934 + AmpersandAmpersandToken 1968934 1968937 + Identifier 1968937 1968961 + AmpersandAmpersandToken 1968961 1968964 + BinaryExpression 1968964 1968995 + Identifier 1968964 1968988 + ExclamationEqualsEqualsToken 1968988 1968992 + StringLiteral 1968992 1968995 + Block 1968996 1971298 + IfStatement 1968998 1969588 + Identifier 1969356 1969390 + Block 1969391 1969588 + ExpressionStatement 1969393 1969569 + CallExpression 1969393 1969568 + Identifier 1969393 1969420 + Identifier 1969421 1969436 + PropertyAccessExpression 1969437 1969514 + Identifier 1969437 1969449 + Identifier 1969450 1969514 + CallExpression 1969515 1969567 + Identifier 1969515 1969542 + Identifier 1969543 1969566 + VariableStatement 1969588 1969776 + VariableDeclarationList 1969588 1969775 + VariableDeclaration 1969613 1969775 + Identifier 1969613 1969628 + ConditionalExpression 1969630 1969775 + CallExpression 1969630 1969670 + Identifier 1969630 1969650 + Identifier 1969651 1969669 + QuestionToken 1969670 1969672 + CallExpression 1969672 1969763 + Identifier 1969672 1969704 + PropertyAccessExpression 1969705 1969734 + Identifier 1969705 1969723 + Identifier 1969724 1969734 + Identifier 1969735 1969762 + ColonToken 1969763 1969765 + Identifier 1969765 1969775 + VariableStatement 1969776 1969918 + VariableDeclarationList 1969776 1969917 + VariableDeclaration 1969799 1969917 + Identifier 1969799 1969822 + BinaryExpression 1969824 1969917 + Identifier 1969824 1969839 + AmpersandAmpersandToken 1969839 1969842 + CallExpression 1969842 1969917 + Identifier 1969842 1969876 + Identifier 1969877 1969891 + Identifier 1969892 1969916 + VariableStatement 1969918 1970212 + VariableDeclarationList 1969918 1970211 + VariableDeclaration 1970130 1970211 + Identifier 1970130 1970149 + CallExpression 1970151 1970211 + Identifier 1970151 1970164 + PropertyAccessExpression 1970165 1970185 + Identifier 1970165 1970176 + Identifier 1970177 1970185 + Identifier 1970186 1970210 + ExpressionStatement 1970212 1970508 + BinaryExpression 1970212 1970507 + PropertyAccessExpression 1970212 1970259 + PropertyAccessExpression 1970212 1970254 + Identifier 1970212 1970248 + Identifier 1970249 1970254 + Identifier 1970255 1970259 + EqualsToken 1970259 1970261 + ConditionalExpression 1970261 1970507 + BinaryExpression 1970261 1970288 + PropertyAccessExpression 1970261 1970282 + Identifier 1970261 1970275 + Identifier 1970276 1970282 + EqualsEqualsEqualsToken 1970282 1970286 + NumericLiteral 1970286 1970288 + QuestionToken 1970288 1970290 + ElementAccessExpression 1970290 1970307 + Identifier 1970290 1970304 + NumericLiteral 1970305 1970306 + ColonToken 1970307 1970309 + ConditionalExpression 1970309 1970507 + BinaryExpression 1970309 1970406 + Identifier 1970309 1970353 + AmpersandAmpersandToken 1970353 1970356 + CallExpression 1970356 1970406 + Identifier 1970356 1970365 + Identifier 1970366 1970388 + Identifier 1970389 1970405 + QuestionToken 1970406 1970408 + CallExpression 1970408 1970439 + Identifier 1970408 1970424 + Identifier 1970425 1970438 + ColonToken 1970439 1970441 + CallExpression 1970441 1970507 + Identifier 1970441 1970478 + CallExpression 1970479 1970506 + Identifier 1970479 1970491 + Identifier 1970492 1970505 + ExpressionStatement 1970508 1970791 + BinaryExpression 1970508 1970790 + PropertyAccessExpression 1970508 1970629 + Identifier 1970508 1970612 + Identifier 1970613 1970629 + EqualsToken 1970629 1970631 + CallExpression 1970631 1970790 + PropertyAccessExpression 1970631 1970663 + Identifier 1970631 1970639 + Identifier 1970640 1970663 + Identifier 1970664 1970687 + CallExpression 1970688 1970740 + Identifier 1970688 1970715 + Identifier 1970716 1970739 + Identifier 1970741 1970769 + Identifier 1970770 1970789 + ExpressionStatement 1970791 1970873 + CallExpression 1970791 1970872 + Identifier 1970791 1970818 + PropertyAccessExpression 1970819 1970854 + Identifier 1970819 1970837 + Identifier 1970838 1970854 + Identifier 1970855 1970871 + ExpressionStatement 1970873 1970955 + BinaryExpression 1970873 1970954 + PropertyAccessExpression 1970873 1970933 + PropertyAccessExpression 1970873 1970926 + Identifier 1970873 1970909 + Identifier 1970910 1970926 + Identifier 1970927 1970933 + EqualsToken 1970933 1970935 + Identifier 1970935 1970954 + VariableStatement 1970955 1971014 + VariableDeclarationList 1970955 1971013 + VariableDeclaration 1970978 1971013 + Identifier 1970978 1970991 + CallExpression 1970993 1971013 + Identifier 1970993 1971011 + ExpressionStatement 1971014 1971094 + CallExpression 1971014 1971093 + PropertyAccessExpression 1971014 1971048 + Identifier 1971014 1971044 + Identifier 1971045 1971048 + Identifier 1971049 1971072 + Identifier 1971073 1971092 + ExpressionStatement 1971094 1971283 + BinaryExpression 1971094 1971282 + Identifier 1971094 1971118 + EqualsToken 1971118 1971120 + CallExpression 1971120 1971282 + Identifier 1971120 1971134 + Identifier 1971135 1971141 + CallExpression 1971142 1971230 + Identifier 1971142 1971162 + Identifier 1971163 1971179 + Identifier 1971180 1971193 + Identifier 1971194 1971205 + Identifier 1971206 1971217 + Identifier 1971218 1971229 + Identifier 1971231 1971248 + Identifier 1971249 1971261 + FalseKeyword 1971262 1971281 + IfStatement 1971309 1971384 + Identifier 1971325 1971341 + Block 1971342 1971384 + ReturnStatement 1971344 1971373 + Identifier 1971364 1971372 + IfStatement 1971384 1971528 + BinaryExpression 1971398 1971446 + Identifier 1971398 1971413 + AmpersandAmpersandToken 1971413 1971416 + BinaryExpression 1971416 1971446 + Identifier 1971416 1971423 + ExclamationEqualsEqualsToken 1971423 1971427 + Identifier 1971427 1971446 + Block 1971447 1971528 + ReturnStatement 1971449 1971517 + CallExpression 1971469 1971516 + Identifier 1971469 1971489 + ArrayLiteralExpression 1971490 1971515 + Identifier 1971491 1971506 + Identifier 1971507 1971514 + ReturnStatement 1971528 1971639 + BinaryExpression 1971544 1971638 + Identifier 1971544 1971560 + BarBarToken 1971560 1971563 + ParenthesizedExpression 1971563 1971638 + ConditionalExpression 1971565 1971637 + BinaryExpression 1971565 1971594 + Identifier 1971565 1971571 + EqualsEqualsEqualsToken 1971571 1971575 + Identifier 1971575 1971594 + QuestionToken 1971594 1971596 + CallExpression 1971596 1971628 + Identifier 1971596 1971626 + ColonToken 1971628 1971630 + Identifier 1971630 1971637 + FunctionDeclaration 1971639 1971851 + Identifier 1971659 1971689 + Block 1971691 1971851 + ExpressionStatement 1971693 1971747 + BinaryExpression 1971693 1971746 + Identifier 1971693 1971718 + BarEqualsToken 1971718 1971721 + PropertyAccessExpression 1971721 1971746 + Identifier 1971721 1971733 + Identifier 1971734 1971746 + ReturnStatement 1971747 1971840 + CallExpression 1971767 1971839 + Identifier 1971767 1971791 + Identifier 1971792 1971803 + Identifier 1971804 1971821 + Identifier 1971822 1971838 + FunctionDeclaration 1971858 1972543 + Identifier 1972128 1972152 + Parameter 1972153 1972177 + Identifier 1972153 1972164 + TypeReference 1972165 1972177 + Identifier 1972165 1972177 + Parameter 1972178 1972215 + Identifier 1972178 1972195 + UnionType 1972196 1972215 + TypeReference 1972196 1972203 + Identifier 1972196 1972203 + UndefinedKeyword 1972205 1972215 + Parameter 1972216 1972245 + Identifier 1972216 1972232 + TypeReference 1972233 1972245 + Identifier 1972233 1972245 + TypeReference 1972247 1972252 + Identifier 1972247 1972252 + Block 1972252 1972543 + VariableStatement 1972254 1972370 + VariableDeclarationList 1972254 1972369 + VariableDeclaration 1972269 1972369 + Identifier 1972269 1972276 + CallExpression 1972278 1972369 + Identifier 1972278 1972298 + Identifier 1972299 1972315 + Identifier 1972316 1972332 + Identifier 1972333 1972344 + Identifier 1972345 1972356 + Identifier 1972357 1972368 + ExpressionStatement 1972370 1972512 + BinaryExpression 1972370 1972511 + PropertyAccessExpression 1972370 1972398 + Identifier 1972370 1972386 + Identifier 1972387 1972398 + BarEqualsToken 1972398 1972401 + BinaryExpression 1972401 1972511 + BinaryExpression 1972401 1972468 + BinaryExpression 1972401 1972440 + Identifier 1972401 1972413 + BarToken 1972413 1972415 + PropertyAccessExpression 1972415 1972440 + Identifier 1972415 1972427 + Identifier 1972428 1972440 + BarToken 1972440 1972442 + PropertyAccessExpression 1972442 1972468 + Identifier 1972442 1972454 + Identifier 1972455 1972468 + BarToken 1972468 1972470 + PropertyAccessExpression 1972470 1972511 + Identifier 1972470 1972482 + Identifier 1972483 1972511 + ReturnStatement 1972512 1972536 + Identifier 1972528 1972535 + FunctionDeclaration 1972543 1973503 + Identifier 1972559 1972576 + Parameter 1972577 1972607 + Identifier 1972577 1972581 + UnionType 1972582 1972607 + TypeReference 1972582 1972593 + Identifier 1972582 1972593 + TypeReference 1972595 1972607 + Identifier 1972595 1972607 + Parameter 1972608 1972630 + Identifier 1972608 1972618 + QuestionToken 1972618 1972619 + TypeReference 1972620 1972630 + Identifier 1972620 1972630 + Block 1972631 1973503 + VariableStatement 1972633 1972676 + VariableDeclarationList 1972633 1972675 + VariableDeclaration 1972648 1972675 + Identifier 1972648 1972662 + ArrayType 1972663 1972670 + TypeReference 1972663 1972668 + Identifier 1972663 1972668 + ArrayLiteralExpression 1972672 1972675 + ForOfStatement 1972676 1973465 + VariableDeclarationList 1972691 1972702 + VariableDeclaration 1972696 1972702 + Identifier 1972696 1972702 + PropertyAccessExpression 1972705 1972719 + Identifier 1972705 1972710 + Identifier 1972711 1972719 + Block 1972720 1973465 + IfStatement 1972722 1973454 + BinaryExpression 1972951 1972984 + PropertyAccessExpression 1972951 1972961 + Identifier 1972951 1972956 + Identifier 1972957 1972961 + EqualsEqualsEqualsToken 1972961 1972965 + PropertyAccessExpression 1972965 1972984 + Identifier 1972965 1972976 + Identifier 1972977 1972984 + Block 1972985 1973135 + IfStatement 1972987 1973120 + PrefixUnaryExpression 1973009 1973045 + PropertyAccessExpression 1973010 1973045 + Identifier 1973010 1973015 + Identifier 1973016 1973045 + Block 1973046 1973120 + ExpressionStatement 1973048 1973101 + CallExpression 1973048 1973100 + PropertyAccessExpression 1973048 1973088 + Identifier 1973048 1973083 + Identifier 1973084 1973088 + Identifier 1973089 1973099 + IfStatement 1973153 1973454 + BinaryExpression 1973158 1973218 + BinaryExpression 1973158 1973197 + PropertyAccessExpression 1973158 1973168 + Identifier 1973158 1973163 + Identifier 1973164 1973168 + EqualsEqualsEqualsToken 1973168 1973172 + PropertyAccessExpression 1973172 1973197 + Identifier 1973172 1973183 + Identifier 1973184 1973197 + AmpersandAmpersandToken 1973197 1973200 + PrefixUnaryExpression 1973200 1973218 + PropertyAccessExpression 1973202 1973218 + Identifier 1973202 1973207 + Identifier 1973208 1973218 + Block 1973219 1973329 + ContinueStatement 1973221 1973248 + Block 1973347 1973454 + ExpressionStatement 1973349 1973439 + CallExpression 1973349 1973438 + PropertyAccessExpression 1973349 1973385 + Identifier 1973349 1973380 + Identifier 1973381 1973385 + CallExpression 1973386 1973437 + Identifier 1973386 1973419 + Identifier 1973420 1973425 + Identifier 1973426 1973436 + ReturnStatement 1973465 1973496 + Identifier 1973481 1973495 + FunctionDeclaration 1973503 1974215 + Identifier 1973519 1973544 + Parameter 1973545 1973555 + Identifier 1973545 1973549 + TypeReference 1973550 1973555 + Identifier 1973550 1973555 + Parameter 1973556 1973575 + Identifier 1973556 1973562 + TypeReference 1973563 1973575 + Identifier 1973563 1973575 + Parameter 1973576 1973622 + Identifier 1973576 1973583 + UnionType 1973584 1973622 + TypeReference 1973584 1973601 + Identifier 1973584 1973601 + TypeReference 1973603 1973622 + Identifier 1973603 1973622 + Block 1973623 1974215 + ForOfStatement 1973625 1974208 + VariableDeclarationList 1973640 1973651 + VariableDeclaration 1973645 1973651 + Identifier 1973645 1973651 + CallExpression 1973654 1973680 + Identifier 1973654 1973674 + Identifier 1973675 1973679 + Block 1973681 1974208 + IfStatement 1973683 1974197 + PrefixUnaryExpression 1973701 1973738 + ParenthesizedExpression 1973702 1973738 + BinaryExpression 1973703 1973737 + PropertyAccessExpression 1973703 1973714 + Identifier 1973703 1973708 + Identifier 1973709 1973714 + AmpersandToken 1973714 1973716 + PropertyAccessExpression 1973716 1973737 + Identifier 1973716 1973728 + Identifier 1973729 1973737 + Block 1973739 1974197 + VariableStatement 1973741 1973801 + VariableDeclarationList 1973741 1973800 + VariableDeclaration 1973764 1973800 + Identifier 1973764 1973769 + CallExpression 1973771 1973800 + PropertyAccessExpression 1973771 1973781 + Identifier 1973771 1973777 + Identifier 1973778 1973781 + PropertyAccessExpression 1973782 1973799 + Identifier 1973782 1973787 + Identifier 1973788 1973799 + IfStatement 1973801 1974182 + Identifier 1973823 1973827 + Block 1973828 1974182 + VariableStatement 1973830 1974024 + VariableDeclarationList 1973830 1974023 + VariableDeclaration 1973857 1974023 + Identifier 1973857 1973868 + CallExpression 1973870 1974023 + Identifier 1973870 1973876 + PropertyAccessExpression 1973877 1973898 + Identifier 1973877 1973881 + Identifier 1973882 1973898 + PropertyAccessExpression 1973899 1973976 + Identifier 1973899 1973911 + Identifier 1973912 1973976 + CallExpression 1973977 1974022 + Identifier 1973977 1974004 + PropertyAccessExpression 1974005 1974021 + Identifier 1974005 1974009 + Identifier 1974010 1974021 + ExpressionStatement 1974024 1974163 + CallExpression 1974024 1974162 + Identifier 1974024 1974060 + Identifier 1974061 1974071 + CallExpression 1974072 1974161 + Identifier 1974072 1974096 + Identifier 1974097 1974103 + PropertyAccessExpression 1974104 1974160 + Identifier 1974104 1974116 + Identifier 1974117 1974160 + FunctionDeclaration 1974215 1974734 + Identifier 1974564 1974583 + Parameter 1974584 1974603 + Identifier 1974584 1974588 + TypeReference 1974589 1974603 + Identifier 1974589 1974603 + Parameter 1974604 1974637 + Identifier 1974604 1974614 + UnionType 1974615 1974637 + TypeReference 1974615 1974625 + Identifier 1974615 1974625 + UndefinedKeyword 1974627 1974637 + Block 1974638 1974734 + ReturnStatement 1974640 1974727 + CallExpression 1974656 1974726 + Identifier 1974656 1974702 + PropertyAccessExpression 1974703 1974714 + Identifier 1974703 1974707 + Identifier 1974708 1974714 + Identifier 1974715 1974725 + FunctionDeclaration 1974734 1975100 + Identifier 1974750 1974761 + Parameter 1974762 1974776 + Identifier 1974762 1974766 + TypeReference 1974767 1974776 + Identifier 1974767 1974776 + Parameter 1974777 1974804 + Identifier 1974777 1974786 + UnionType 1974787 1974804 + TypeReference 1974787 1974792 + Identifier 1974787 1974792 + UndefinedKeyword 1974794 1974804 + Block 1974805 1975100 + VariableStatement 1974807 1974863 + VariableDeclarationList 1974807 1974862 + VariableDeclaration 1974822 1974862 + Identifier 1974822 1974832 + CallExpression 1974834 1974862 + Identifier 1974834 1974852 + Identifier 1974853 1974861 + VariableStatement 1974863 1974932 + VariableDeclarationList 1974863 1974931 + VariableDeclaration 1974878 1974931 + Identifier 1974878 1974886 + BinaryExpression 1974888 1974931 + Identifier 1974888 1974898 + AmpersandAmpersandToken 1974898 1974901 + CallExpression 1974901 1974931 + Identifier 1974901 1974920 + Identifier 1974921 1974930 + VariableStatement 1974932 1975015 + VariableDeclarationList 1974932 1975014 + VariableDeclaration 1974947 1975014 + Identifier 1974947 1974958 + BinaryExpression 1974960 1975014 + Identifier 1974960 1974968 + AmpersandAmpersandToken 1974968 1974971 + CallExpression 1974971 1975014 + Identifier 1974971 1974981 + Identifier 1974982 1974989 + Identifier 1974990 1974995 + PropertyAccessExpression 1974996 1975013 + Identifier 1974996 1975008 + Identifier 1975009 1975013 + ReturnStatement 1975015 1975093 + ConditionalExpression 1975031 1975092 + Identifier 1975031 1975042 + QuestionToken 1975042 1975044 + CallExpression 1975044 1975080 + Identifier 1975044 1975068 + Identifier 1975069 1975079 + ColonToken 1975080 1975082 + Identifier 1975082 1975092 + FunctionDeclaration 1975100 1977689 + Identifier 1975495 1975517 + Parameter 1975518 1975565 + Identifier 1975518 1975522 + UnionType 1975523 1975565 + TypeReference 1975523 1975545 + Identifier 1975523 1975545 + TypeReference 1975547 1975565 + Identifier 1975547 1975565 + TypeReference 1975567 1975574 + Identifier 1975567 1975574 + Block 1975574 1977689 + VariableStatement 1975576 1975619 + VariableDeclarationList 1975576 1975618 + VariableDeclaration 1975591 1975618 + Identifier 1975591 1975597 + CallExpression 1975599 1975618 + Identifier 1975599 1975612 + Identifier 1975613 1975617 + IfStatement 1975619 1977644 + PrefixUnaryExpression 1975633 1975654 + PropertyAccessExpression 1975634 1975654 + Identifier 1975634 1975639 + Identifier 1975640 1975654 + Block 1975655 1977644 + VariableStatement 1975657 1975746 + VariableDeclarationList 1975657 1975745 + VariableDeclaration 1975676 1975745 + Identifier 1975676 1975698 + CallExpression 1975700 1975745 + Identifier 1975700 1975711 + PropertyAccessExpression 1975712 1975738 + Identifier 1975712 1975720 + Identifier 1975721 1975738 + Identifier 1975739 1975744 + IfStatement 1975746 1977633 + PrefixUnaryExpression 1975764 1975799 + CallExpression 1975765 1975799 + Identifier 1975765 1975776 + Identifier 1975777 1975798 + Block 1975800 1977306 + IfStatement 1975802 1975945 + BinaryExpression 1975858 1975923 + PrefixUnaryExpression 1975858 1975885 + CallExpression 1975859 1975885 + Identifier 1975859 1975871 + PropertyAccessExpression 1975872 1975884 + Identifier 1975872 1975876 + Identifier 1975877 1975884 + AmpersandAmpersandToken 1975885 1975888 + PrefixUnaryExpression 1975888 1975923 + CallExpression 1975890 1975923 + Identifier 1975890 1975909 + PropertyAccessExpression 1975910 1975922 + Identifier 1975910 1975914 + Identifier 1975915 1975922 + ReturnStatement 1975924 1975945 + CallExpression 1975931 1975944 + PropertyAccessExpression 1975931 1975942 + Identifier 1975931 1975937 + Identifier 1975938 1975942 + VariableStatement 1975945 1976091 + VariableDeclarationList 1975945 1976090 + VariableDeclaration 1975968 1976090 + Identifier 1975968 1975977 + ConditionalExpression 1975979 1976090 + CallExpression 1975979 1976013 + Identifier 1975979 1975999 + PropertyAccessExpression 1976000 1976012 + Identifier 1976000 1976004 + Identifier 1976005 1976012 + QuestionToken 1976013 1976015 + CallExpression 1976015 1976063 + Identifier 1976015 1976049 + PropertyAccessExpression 1976050 1976062 + Identifier 1976050 1976054 + Identifier 1976055 1976062 + ColonToken 1976063 1976065 + PropertyAccessExpression 1976065 1976090 + PropertyAccessExpression 1976065 1976078 + Identifier 1976065 1976070 + Identifier 1976071 1976078 + Identifier 1976079 1976090 + VariableStatement 1976091 1976182 + VariableDeclarationList 1976091 1976181 + VariableDeclaration 1976114 1976181 + Identifier 1976114 1976128 + CallExpression 1976130 1976181 + Identifier 1976130 1976148 + Identifier 1976149 1976170 + Identifier 1976171 1976180 + IfStatement 1976182 1976376 + Identifier 1976204 1976217 + Block 1976218 1976376 + ExpressionStatement 1976220 1976291 + BinaryExpression 1976220 1976290 + PropertyAccessExpression 1976220 1976256 + Identifier 1976220 1976247 + Identifier 1976248 1976256 + BarEqualsToken 1976256 1976259 + PropertyAccessExpression 1976259 1976290 + Identifier 1976259 1976268 + Identifier 1976269 1976290 + ReturnStatement 1976291 1976357 + BinaryExpression 1976319 1976356 + PropertyAccessExpression 1976319 1976340 + Identifier 1976319 1976325 + Identifier 1976326 1976340 + EqualsToken 1976340 1976342 + Identifier 1976342 1976356 + VariableStatement 1976376 1976574 + VariableDeclarationList 1976376 1976573 + VariableDeclaration 1976451 1976573 + Identifier 1976451 1976463 + CallExpression 1976465 1976573 + Identifier 1976465 1976490 + Identifier 1976491 1976512 + CallExpression 1976513 1976572 + Identifier 1976513 1976534 + CallExpression 1976535 1976571 + Identifier 1976535 1976561 + Identifier 1976562 1976570 + IfStatement 1976574 1976766 + Identifier 1976596 1976607 + Block 1976608 1976766 + ExpressionStatement 1976610 1976683 + BinaryExpression 1976610 1976682 + PropertyAccessExpression 1976610 1976646 + Identifier 1976610 1976637 + Identifier 1976638 1976646 + BarEqualsToken 1976646 1976649 + PropertyAccessExpression 1976649 1976682 + Identifier 1976649 1976658 + Identifier 1976659 1976682 + ReturnStatement 1976683 1976747 + BinaryExpression 1976711 1976746 + PropertyAccessExpression 1976711 1976732 + Identifier 1976711 1976717 + Identifier 1976718 1976732 + EqualsToken 1976732 1976734 + Identifier 1976734 1976746 + IfStatement 1976766 1977038 + CallExpression 1976790 1976862 + Identifier 1976790 1976829 + Identifier 1976830 1976851 + Identifier 1976852 1976861 + Block 1976863 1977038 + ExpressionStatement 1976865 1976938 + BinaryExpression 1976865 1976937 + PropertyAccessExpression 1976865 1976901 + Identifier 1976865 1976892 + Identifier 1976893 1976901 + BarEqualsToken 1976901 1976904 + PropertyAccessExpression 1976904 1976937 + Identifier 1976904 1976913 + Identifier 1976914 1976937 + ReturnStatement 1976938 1977019 + BinaryExpression 1976966 1977018 + PropertyAccessExpression 1976966 1976987 + Identifier 1976966 1976972 + Identifier 1976973 1976987 + EqualsToken 1976987 1976989 + PropertyAccessExpression 1976989 1977018 + Identifier 1976989 1977011 + Identifier 1977012 1977018 + ExpressionStatement 1977038 1977229 + CallExpression 1977038 1977228 + Identifier 1977038 1977096 + Identifier 1977097 1977101 + PropertyAccessExpression 1977102 1977150 + Identifier 1977102 1977114 + Identifier 1977115 1977150 + CallExpression 1977151 1977190 + Identifier 1977151 1977176 + PropertyAccessExpression 1977177 1977189 + Identifier 1977177 1977181 + Identifier 1977182 1977189 + BinaryExpression 1977191 1977227 + StringLiteral 1977191 1977198 + PlusToken 1977198 1977200 + PropertyAccessExpression 1977200 1977227 + Identifier 1977200 1977209 + Identifier 1977210 1977227 + ReturnStatement 1977229 1977291 + BinaryExpression 1977253 1977290 + PropertyAccessExpression 1977253 1977274 + Identifier 1977253 1977259 + Identifier 1977260 1977274 + EqualsToken 1977274 1977276 + Identifier 1977276 1977290 + Block 1977324 1977633 + IfStatement 1977326 1977556 + Identifier 1977348 1977361 + Block 1977362 1977556 + ExpressionStatement 1977364 1977537 + CallExpression 1977364 1977536 + Identifier 1977364 1977391 + Identifier 1977392 1977396 + PropertyAccessExpression 1977397 1977479 + Identifier 1977397 1977409 + Identifier 1977410 1977479 + CallExpression 1977480 1977535 + Identifier 1977480 1977507 + PropertyAccessExpression 1977508 1977534 + Identifier 1977508 1977516 + Identifier 1977517 1977534 + ReturnStatement 1977556 1977618 + BinaryExpression 1977580 1977617 + PropertyAccessExpression 1977580 1977601 + Identifier 1977580 1977586 + Identifier 1977587 1977601 + EqualsToken 1977601 1977603 + Identifier 1977603 1977617 + ReturnStatement 1977644 1977682 + PropertyAccessExpression 1977660 1977681 + Identifier 1977660 1977666 + Identifier 1977667 1977681 + FunctionDeclaration 1977689 1979247 + Identifier 1977705 1977747 + Parameter 1977748 1977774 + Identifier 1977748 1977756 + UnionType 1977757 1977774 + TypeReference 1977757 1977762 + Identifier 1977757 1977762 + UndefinedKeyword 1977764 1977774 + UnionType 1977776 1977795 + TypeReference 1977776 1977783 + Identifier 1977776 1977783 + UndefinedKeyword 1977785 1977795 + Block 1977795 1979247 + VariableStatement 1977797 1977862 + VariableDeclarationList 1977797 1977861 + VariableDeclaration 1977812 1977861 + Identifier 1977812 1977817 + BinaryExpression 1977819 1977861 + Identifier 1977819 1977828 + AmpersandAmpersandToken 1977828 1977831 + CallExpression 1977831 1977861 + Identifier 1977831 1977851 + Identifier 1977852 1977860 + VariableStatement 1977862 1977913 + VariableDeclarationList 1977862 1977912 + VariableDeclaration 1977877 1977912 + Identifier 1977877 1977883 + BinaryExpression 1977885 1977912 + Identifier 1977885 1977890 + AmpersandAmpersandToken 1977890 1977893 + CallExpression 1977893 1977912 + Identifier 1977893 1977906 + Identifier 1977907 1977911 + IfStatement 1977913 1978023 + BinaryExpression 1977927 1977978 + Identifier 1977927 1977932 + AmpersandAmpersandToken 1977932 1977935 + BinaryExpression 1977935 1977978 + PropertyAccessExpression 1977935 1977968 + Identifier 1977935 1977941 + Identifier 1977942 1977968 + EqualsEqualsEqualsToken 1977968 1977972 + FalseKeyword 1977972 1977978 + Block 1977979 1978023 + ReturnStatement 1977981 1978012 + Identifier 1978001 1978011 + IfStatement 1978023 1978146 + BinaryExpression 1978037 1978078 + Identifier 1978037 1978042 + AmpersandAmpersandToken 1978042 1978045 + PropertyAccessExpression 1978045 1978078 + Identifier 1978045 1978051 + Identifier 1978052 1978078 + Block 1978079 1978146 + ReturnStatement 1978081 1978135 + PropertyAccessExpression 1978101 1978134 + Identifier 1978101 1978107 + Identifier 1978108 1978134 + VariableStatement 1978146 1978273 + VariableDeclarationList 1978146 1978272 + VariableDeclaration 1978161 1978272 + Identifier 1978161 1978184 + CallExpression 1978186 1978272 + Identifier 1978186 1978206 + CallExpression 1978207 1978254 + Identifier 1978207 1978231 + Identifier 1978232 1978247 + Identifier 1978248 1978253 + Identifier 1978255 1978271 + IfStatement 1978273 1978355 + PrefixUnaryExpression 1978287 1978310 + Identifier 1978288 1978310 + Block 1978311 1978355 + ReturnStatement 1978313 1978344 + Identifier 1978333 1978343 + VariableStatement 1978355 1978461 + VariableDeclarationList 1978355 1978460 + VariableDeclaration 1978370 1978460 + Identifier 1978370 1978380 + BinaryExpression 1978382 1978460 + CallExpression 1978382 1978427 + Identifier 1978382 1978410 + Identifier 1978411 1978426 + EqualsEqualsEqualsToken 1978427 1978431 + PropertyAccessExpression 1978431 1978460 + Identifier 1978431 1978452 + Identifier 1978453 1978460 + VariableStatement 1978461 1978811 + VariableDeclarationList 1978461 1978810 + VariableDeclaration 1978476 1978810 + Identifier 1978476 1978489 + ConditionalExpression 1978491 1978810 + Identifier 1978491 1978501 + QuestionToken 1978501 1978516 + PropertyAccessExpression 1978516 1978647 + Identifier 1978516 1978528 + Identifier 1978529 1978647 + ColonToken 1978647 1978662 + PropertyAccessExpression 1978662 1978810 + Identifier 1978662 1978674 + Identifier 1978675 1978810 + VariableStatement 1978811 1978898 + VariableDeclarationList 1978811 1978897 + VariableDeclaration 1978826 1978897 + Identifier 1978826 1978836 + CallExpression 1978838 1978897 + Identifier 1978838 1978867 + Identifier 1978868 1978872 + Identifier 1978873 1978896 + VariableStatement 1978898 1979014 + VariableDeclarationList 1978898 1979013 + VariableDeclaration 1978913 1979013 + Identifier 1978913 1978917 + CallExpression 1978919 1979013 + Identifier 1978919 1978941 + BinaryExpression 1978942 1978964 + Identifier 1978942 1978951 + BarBarToken 1978951 1978954 + NonNullExpression 1978954 1978964 + Identifier 1978954 1978963 + Identifier 1978965 1978988 + Identifier 1978989 1979002 + Identifier 1979003 1979012 + VariableStatement 1979014 1979118 + VariableDeclarationList 1979014 1979117 + VariableDeclaration 1979029 1979117 + Identifier 1979029 1979036 + ConditionalExpression 1979038 1979117 + BinaryExpression 1979038 1979067 + Identifier 1979038 1979042 + AmpersandAmpersandToken 1979042 1979045 + BinaryExpression 1979045 1979067 + Identifier 1979045 1979049 + ExclamationEqualsEqualsToken 1979049 1979053 + Identifier 1979053 1979067 + QuestionToken 1979067 1979069 + CallExpression 1979069 1979105 + Identifier 1979069 1979085 + CallExpression 1979086 1979104 + Identifier 1979086 1979099 + Identifier 1979100 1979103 + ColonToken 1979105 1979107 + Identifier 1979107 1979117 + IfStatement 1979118 1979216 + Identifier 1979132 1979137 + Block 1979138 1979216 + ExpressionStatement 1979140 1979205 + BinaryExpression 1979140 1979204 + PropertyAccessExpression 1979140 1979186 + Identifier 1979140 1979159 + Identifier 1979160 1979186 + EqualsToken 1979186 1979188 + BinaryExpression 1979188 1979204 + Identifier 1979188 1979195 + BarBarToken 1979195 1979198 + FalseKeyword 1979198 1979204 + ReturnStatement 1979216 1979240 + Identifier 1979232 1979239 + FunctionDeclaration 1979247 1980758 + Identifier 1979263 1979281 + Parameter 1979282 1979308 + Identifier 1979282 1979290 + UnionType 1979291 1979308 + TypeReference 1979291 1979296 + Identifier 1979291 1979296 + UndefinedKeyword 1979298 1979308 + TypeReference 1979310 1979317 + Identifier 1979310 1979317 + Block 1979317 1980758 + VariableStatement 1979319 1979378 + VariableDeclarationList 1979319 1979377 + VariableDeclaration 1979334 1979377 + Identifier 1979334 1979340 + BinaryExpression 1979342 1979377 + Identifier 1979342 1979351 + AmpersandAmpersandToken 1979351 1979354 + CallExpression 1979354 1979377 + Identifier 1979354 1979367 + Identifier 1979368 1979376 + IfStatement 1979378 1979473 + BinaryExpression 1979392 1979419 + Identifier 1979392 1979397 + AmpersandAmpersandToken 1979397 1979400 + PropertyAccessExpression 1979400 1979419 + Identifier 1979400 1979406 + Identifier 1979407 1979419 + Block 1979420 1979473 + ReturnStatement 1979422 1979462 + PropertyAccessExpression 1979442 1979461 + Identifier 1979442 1979448 + Identifier 1979449 1979461 + IfStatement 1979473 1980470 + BinaryExpression 1979487 1979525 + PrefixUnaryExpression 1979487 1979493 + Identifier 1979488 1979493 + BarBarToken 1979493 1979496 + BinaryExpression 1979496 1979525 + PropertyAccessExpression 1979496 1979515 + Identifier 1979496 1979502 + Identifier 1979503 1979515 + ExclamationEqualsEqualsToken 1979515 1979519 + FalseKeyword 1979519 1979525 + Block 1979526 1980470 + VariableStatement 1979528 1979618 + VariableDeclarationList 1979528 1979617 + VariableDeclaration 1979545 1979617 + Identifier 1979545 1979563 + CallExpression 1979565 1979617 + Identifier 1979565 1979607 + Identifier 1979608 1979616 + IfStatement 1979618 1979929 + BinaryExpression 1979638 1979695 + PrefixUnaryExpression 1979638 1979656 + Identifier 1979639 1979656 + BarBarToken 1979656 1979659 + BinaryExpression 1979659 1979695 + Identifier 1979659 1979677 + EqualsEqualsEqualsToken 1979677 1979681 + Identifier 1979681 1979695 + Block 1979696 1979929 + VariableStatement 1979698 1979764 + VariableDeclarationList 1979698 1979763 + VariableDeclaration 1979721 1979763 + Identifier 1979721 1979735 + CallExpression 1979737 1979763 + Identifier 1979737 1979753 + Identifier 1979754 1979762 + ExpressionStatement 1979764 1979914 + BinaryExpression 1979764 1979913 + Identifier 1979764 1979799 + EqualsToken 1979799 1979801 + CallExpression 1979801 1979913 + Identifier 1979801 1979813 + Identifier 1979814 1979822 + Identifier 1979823 1979837 + PropertyAccessExpression 1979838 1979860 + Identifier 1979838 1979850 + Identifier 1979851 1979860 + Identifier 1979861 1979895 + FalseKeyword 1979896 1979912 + IfStatement 1979929 1980373 + Identifier 1979949 1979966 + Block 1979967 1980373 + VariableStatement 1979969 1980121 + VariableDeclarationList 1979969 1980120 + VariableDeclaration 1979992 1980120 + Identifier 1979992 1980002 + CallExpression 1980004 1980120 + Identifier 1980004 1980018 + CallExpression 1980019 1980119 + Identifier 1980019 1980028 + CallExpression 1980029 1980081 + Identifier 1980029 1980047 + CallExpression 1980048 1980080 + Identifier 1980048 1980061 + Identifier 1980062 1980079 + PropertyAccessExpression 1980082 1980095 + Identifier 1980082 1980091 + Identifier 1980092 1980095 + PropertyAccessExpression 1980096 1980118 + Identifier 1980096 1980108 + Identifier 1980109 1980118 + IfStatement 1980121 1980358 + BinaryExpression 1980143 1980183 + Identifier 1980143 1980152 + AmpersandAmpersandToken 1980152 1980155 + BinaryExpression 1980155 1980183 + Identifier 1980155 1980165 + ExclamationEqualsEqualsToken 1980165 1980169 + Identifier 1980169 1980183 + Block 1980184 1980358 + IfStatement 1980186 1980300 + Identifier 1980212 1980217 + Block 1980218 1980300 + ExpressionStatement 1980220 1980277 + BinaryExpression 1980220 1980276 + PropertyAccessExpression 1980220 1980264 + Identifier 1980220 1980251 + Identifier 1980252 1980264 + EqualsToken 1980264 1980266 + Identifier 1980266 1980276 + ReturnStatement 1980300 1980339 + Identifier 1980328 1980338 + IfStatement 1980373 1980459 + Identifier 1980391 1980396 + Block 1980397 1980459 + ExpressionStatement 1980399 1980444 + BinaryExpression 1980399 1980443 + PropertyAccessExpression 1980399 1980435 + Identifier 1980399 1980422 + Identifier 1980423 1980435 + EqualsToken 1980435 1980437 + FalseKeyword 1980437 1980443 + VariableStatement 1980470 1980616 + VariableDeclarationList 1980470 1980615 + VariableDeclaration 1980517 1980615 + Identifier 1980517 1980519 + CallExpression 1980521 1980615 + Identifier 1980521 1980535 + CallExpression 1980536 1980614 + Identifier 1980536 1980551 + PropertyAccessExpression 1980552 1980564 + Identifier 1980552 1980560 + Identifier 1980561 1980564 + PropertyAccessExpression 1980565 1980587 + Identifier 1980565 1980577 + Identifier 1980578 1980587 + Identifier 1980588 1980613 + IfStatement 1980616 1980713 + BinaryExpression 1980630 1980649 + Identifier 1980630 1980631 + EqualsEqualsEqualsToken 1980631 1980635 + Identifier 1980635 1980649 + Block 1980650 1980713 + ReturnStatement 1980652 1980684 + NonNullExpression 1980672 1980683 + Identifier 1980672 1980682 + ReturnStatement 1980713 1980733 + NonNullExpression 1980729 1980732 + Identifier 1980729 1980731 + FunctionDeclaration 1980758 1983222 + Identifier 1981273 1981314 + Parameter 1981315 1981350 + Identifier 1981315 1981340 + TypeReference 1981341 1981350 + Identifier 1981341 1981350 + Parameter 1981351 1981372 + Identifier 1981351 1981364 + TypeReference 1981365 1981372 + Identifier 1981365 1981372 + UnionType 1981374 1981395 + TypeReference 1981374 1981383 + Identifier 1981374 1981383 + UndefinedKeyword 1981385 1981395 + Block 1981395 1983222 + VariableStatement 1981397 1981624 + VariableDeclarationList 1981397 1981623 + VariableDeclaration 1981494 1981623 + Identifier 1981494 1981527 + BinaryExpression 1981529 1981623 + Identifier 1981529 1981542 + AmpersandAmpersandToken 1981542 1981545 + CallExpression 1981545 1981623 + Identifier 1981545 1981555 + NonNullExpression 1981556 1981577 + PropertyAccessExpression 1981556 1981576 + Identifier 1981556 1981568 + Identifier 1981569 1981576 + Identifier 1981578 1981604 + PropertyAccessExpression 1981605 1981622 + Identifier 1981605 1981617 + Identifier 1981618 1981622 + VariableStatement 1981624 1981850 + VariableDeclarationList 1981624 1981849 + VariableDeclaration 1981719 1981849 + Identifier 1981719 1981753 + BinaryExpression 1981755 1981849 + Identifier 1981755 1981788 + AmpersandAmpersandToken 1981788 1981791 + CallExpression 1981791 1981849 + Identifier 1981791 1981815 + Identifier 1981816 1981848 + VariableStatement 1981850 1982093 + VariableDeclarationList 1981850 1982092 + VariableDeclaration 1981956 1982092 + Identifier 1981956 1981998 + BinaryExpression 1982000 1982092 + Identifier 1982000 1982034 + AmpersandAmpersandToken 1982034 1982037 + CallExpression 1982037 1982092 + Identifier 1982037 1982057 + Identifier 1982058 1982091 + IfStatement 1982093 1983188 + Identifier 1982107 1982148 + Block 1982149 1983188 + IfStatement 1982151 1983177 + BinaryExpression 1982288 1982342 + PropertyAccessExpression 1982288 1982336 + Identifier 1982288 1982329 + Identifier 1982330 1982336 + EqualsEqualsEqualsToken 1982336 1982340 + NumericLiteral 1982340 1982342 + Block 1982343 1982400 + ReturnStatement 1982345 1982385 + AsExpression 1982369 1982384 + StringLiteral 1982369 1982372 + TypeReference 1982375 1982384 + Identifier 1982375 1982384 + IfStatement 1982592 1983177 + BinaryExpression 1982597 1982651 + PropertyAccessExpression 1982597 1982645 + Identifier 1982597 1982638 + Identifier 1982639 1982645 + EqualsEqualsEqualsToken 1982645 1982649 + NumericLiteral 1982649 1982651 + Block 1982652 1982751 + ReturnStatement 1982654 1982736 + PropertyAccessExpression 1982678 1982735 + ElementAccessExpression 1982678 1982723 + Identifier 1982678 1982720 + NumericLiteral 1982721 1982722 + Identifier 1982724 1982735 + IfStatement 1982769 1983177 + BinaryExpression 1982774 1982875 + BinaryExpression 1982774 1982826 + PropertyAccessExpression 1982774 1982822 + Identifier 1982774 1982815 + Identifier 1982816 1982822 + GreaterThanToken 1982822 1982824 + NumericLiteral 1982824 1982826 + AmpersandAmpersandToken 1982826 1982829 + PropertyAccessExpression 1982829 1982875 + Identifier 1982829 1982862 + Identifier 1982863 1982875 + Block 1982876 1983177 + ExpressionStatement 1982878 1983162 + CallExpression 1982878 1983161 + Identifier 1982878 1982985 + ElementAccessExpression 1982986 1983034 + PropertyAccessExpression 1982986 1983031 + Identifier 1982986 1983018 + Identifier 1983019 1983031 + NumericLiteral 1983032 1983033 + PropertyAccessExpression 1983035 1983105 + Identifier 1983035 1983047 + Identifier 1983048 1983105 + CallExpression 1983106 1983160 + Identifier 1983106 1983133 + Identifier 1983134 1983159 + ReturnStatement 1983188 1983215 + Identifier 1983204 1983214 + FunctionDeclaration 1983222 1983469 + Identifier 1983238 1983269 + Parameter 1983270 1983290 + Identifier 1983270 1983282 + TypeReference 1983283 1983290 + Identifier 1983283 1983290 + Block 1983291 1983469 + ReturnStatement 1983293 1983462 + BinaryExpression 1983359 1983461 + Identifier 1983359 1983372 + AmpersandAmpersandToken 1983372 1983375 + CallExpression 1983375 1983461 + Identifier 1983375 1983385 + NonNullExpression 1983386 1983407 + PropertyAccessExpression 1983386 1983406 + Identifier 1983386 1983398 + Identifier 1983399 1983406 + PropertyAccessExpression 1983408 1983442 + Identifier 1983408 1983417 + Identifier 1983418 1983442 + PropertyAccessExpression 1983443 1983460 + Identifier 1983443 1983455 + Identifier 1983456 1983460 + FunctionDeclaration 1983469 1983683 + Identifier 1983485 1983509 + Parameter 1983510 1983530 + Identifier 1983510 1983522 + TypeReference 1983523 1983530 + Identifier 1983523 1983530 + Block 1983531 1983683 + ReturnStatement 1983533 1983676 + BinaryExpression 1983586 1983675 + Identifier 1983586 1983599 + AmpersandAmpersandToken 1983599 1983602 + CallExpression 1983602 1983675 + Identifier 1983602 1983612 + NonNullExpression 1983613 1983634 + PropertyAccessExpression 1983613 1983633 + Identifier 1983613 1983625 + Identifier 1983626 1983633 + PropertyAccessExpression 1983635 1983656 + Identifier 1983635 1983644 + Identifier 1983645 1983656 + PropertyAccessExpression 1983657 1983674 + Identifier 1983657 1983669 + Identifier 1983670 1983674 + FunctionDeclaration 1983683 1984205 + Identifier 1984025 1984053 + Parameter 1984054 1984074 + Identifier 1984054 1984066 + TypeReference 1984067 1984074 + Identifier 1984067 1984074 + Block 1984075 1984205 + ReturnStatement 1984077 1984198 + CallExpression 1984093 1984197 + Identifier 1984093 1984134 + PropertyAccessExpression 1984135 1984182 + Identifier 1984135 1984143 + Identifier 1984144 1984182 + Identifier 1984183 1984196 + FunctionDeclaration 1984205 1984671 + Identifier 1984221 1984255 + Parameter 1984256 1984276 + Identifier 1984256 1984268 + TypeReference 1984269 1984276 + Identifier 1984269 1984276 + UnionType 1984278 1984299 + TypeReference 1984278 1984287 + Identifier 1984278 1984287 + UndefinedKeyword 1984289 1984299 + Block 1984299 1984671 + IfStatement 1984301 1984544 + BinaryExpression 1984315 1984402 + BinaryExpression 1984315 1984355 + PropertyAccessExpression 1984315 1984334 + Identifier 1984315 1984330 + Identifier 1984331 1984334 + EqualsEqualsEqualsToken 1984334 1984338 + PropertyAccessExpression 1984338 1984355 + Identifier 1984338 1984346 + Identifier 1984347 1984355 + BarBarToken 1984355 1984358 + BinaryExpression 1984358 1984402 + PropertyAccessExpression 1984358 1984378 + Identifier 1984358 1984374 + Identifier 1984375 1984378 + EqualsEqualsEqualsToken 1984378 1984382 + PropertyAccessExpression 1984382 1984402 + Identifier 1984382 1984390 + Identifier 1984391 1984402 + Block 1984403 1984544 + ReturnStatement 1984405 1984533 + AsExpression 1984509 1984532 + StringLiteral 1984509 1984520 + TypeReference 1984523 1984532 + Identifier 1984523 1984532 + ReturnStatement 1984544 1984664 + CallExpression 1984560 1984663 + Identifier 1984560 1984601 + PropertyAccessExpression 1984602 1984648 + Identifier 1984602 1984610 + Identifier 1984611 1984648 + Identifier 1984649 1984662 + FunctionDeclaration 1984671 1986304 + Identifier 1984687 1984724 + Parameter 1984725 1984742 + Identifier 1984725 1984736 + TypeReference 1984737 1984742 + Identifier 1984737 1984742 + Parameter 1984743 1984763 + Identifier 1984743 1984750 + TypeReference 1984751 1984763 + Identifier 1984751 1984763 + TypeOperator 1984765 1984786 + ArrayType 1984774 1984786 + TypeReference 1984774 1984784 + Identifier 1984774 1984784 + Block 1984786 1986304 + IfStatement 1984788 1985506 + BinaryExpression 1984802 1984838 + PropertyAccessExpression 1984802 1984819 + Identifier 1984802 1984813 + Identifier 1984814 1984819 + AmpersandToken 1984819 1984821 + PropertyAccessExpression 1984821 1984838 + Identifier 1984821 1984831 + Identifier 1984832 1984838 + Block 1984839 1984888 + ReturnStatement 1984841 1984877 + ArrayLiteralExpression 1984861 1984876 + Identifier 1984863 1984875 + IfStatement 1984902 1985506 + BinaryExpression 1984907 1984950 + PropertyAccessExpression 1984907 1984924 + Identifier 1984907 1984918 + Identifier 1984919 1984924 + AmpersandToken 1984924 1984926 + PropertyAccessExpression 1984926 1984950 + Identifier 1984926 1984936 + Identifier 1984937 1984950 + Block 1984951 1985506 + VariableStatement 1984953 1985079 + VariableDeclarationList 1984953 1985078 + VariableDeclaration 1984972 1985078 + Identifier 1984972 1984986 + CallExpression 1984988 1985078 + Identifier 1984988 1985036 + AsExpression 1985037 1985069 + Identifier 1985037 1985048 + TypeReference 1985051 1985069 + Identifier 1985051 1985069 + Identifier 1985070 1985077 + IfStatement 1985079 1985495 + PrefixUnaryExpression 1985097 1985111 + Identifier 1985098 1985111 + Block 1985112 1985325 + ExpressionStatement 1985114 1985274 + CallExpression 1985114 1985273 + Identifier 1985114 1985137 + Identifier 1985138 1985144 + PropertyAccessExpression 1985145 1985193 + Identifier 1985145 1985157 + Identifier 1985158 1985193 + PropertyAccessExpression 1985194 1985235 + ParenthesizedExpression 1985194 1985229 + AsExpression 1985196 1985228 + Identifier 1985196 1985207 + TypeReference 1985210 1985228 + Identifier 1985210 1985228 + Identifier 1985230 1985235 + BinaryExpression 1985236 1985272 + StringLiteral 1985236 1985243 + PlusToken 1985243 1985245 + PropertyAccessExpression 1985245 1985272 + Identifier 1985245 1985254 + Identifier 1985255 1985272 + ReturnStatement 1985274 1985310 + Identifier 1985298 1985309 + Block 1985343 1985495 + VariableStatement 1985345 1985439 + VariableDeclarationList 1985345 1985438 + VariableDeclaration 1985368 1985438 + Identifier 1985368 1985382 + CallExpression 1985384 1985438 + Identifier 1985384 1985415 + Identifier 1985416 1985422 + Identifier 1985423 1985437 + ReturnStatement 1985439 1985480 + ArrayLiteralExpression 1985463 1985479 + Identifier 1985465 1985478 + VariableStatement 1985506 1985570 + VariableDeclarationList 1985506 1985569 + VariableDeclaration 1985521 1985569 + Identifier 1985521 1985538 + CallExpression 1985540 1985569 + Identifier 1985540 1985556 + Identifier 1985557 1985568 + VariableStatement 1985570 1985719 + VariableDeclarationList 1985570 1985718 + VariableDeclaration 1985642 1985718 + Identifier 1985642 1985653 + CallExpression 1985655 1985718 + Identifier 1985655 1985675 + Identifier 1985676 1985692 + PropertyAccessExpression 1985693 1985717 + Identifier 1985693 1985707 + Identifier 1985708 1985717 + IfStatement 1985719 1985916 + BinaryExpression 1985733 1985756 + PropertyAccessExpression 1985733 1985750 + Identifier 1985733 1985743 + Identifier 1985744 1985750 + EqualsEqualsEqualsToken 1985750 1985754 + NumericLiteral 1985754 1985756 + Block 1985757 1985916 + ExpressionStatement 1985759 1985905 + BinaryExpression 1985759 1985904 + Identifier 1985759 1985844 + EqualsToken 1985844 1985846 + CallExpression 1985846 1985904 + Identifier 1985846 1985866 + Identifier 1985867 1985883 + PropertyAccessExpression 1985884 1985903 + Identifier 1985884 1985898 + Identifier 1985899 1985903 + IfStatement 1985916 1986269 + BinaryExpression 1985930 1985997 + BinaryExpression 1985930 1985953 + PropertyAccessExpression 1985930 1985947 + Identifier 1985930 1985940 + Identifier 1985941 1985947 + EqualsEqualsEqualsToken 1985947 1985951 + NumericLiteral 1985951 1985953 + AmpersandAmpersandToken 1985953 1985956 + BinaryExpression 1985956 1985997 + PropertyAccessExpression 1985956 1985979 + Identifier 1985956 1985973 + Identifier 1985974 1985979 + AmpersandToken 1985979 1985981 + PropertyAccessExpression 1985981 1985997 + Identifier 1985981 1985991 + Identifier 1985992 1985997 + Block 1985998 1986269 + ExpressionStatement 1986000 1986258 + BinaryExpression 1986000 1986257 + Identifier 1986000 1986138 + EqualsToken 1986138 1986140 + CallExpression 1986140 1986257 + Identifier 1986140 1986159 + CallExpression 1986160 1986256 + Identifier 1986160 1986163 + PropertyAccessExpression 1986164 1986201 + ParenthesizedExpression 1986164 1986195 + AsExpression 1986165 1986194 + Identifier 1986165 1986181 + TypeReference 1986184 1986194 + Identifier 1986184 1986194 + Identifier 1986196 1986201 + ArrowFunction 1986202 1986255 + Parameter 1986202 1986204 + Identifier 1986202 1986204 + EqualsGreaterThanToken 1986204 1986207 + CallExpression 1986207 1986255 + Identifier 1986207 1986244 + Identifier 1986245 1986246 + Identifier 1986247 1986254 + ReturnStatement 1986269 1986297 + Identifier 1986285 1986296 + FunctionDeclaration 1986304 1987535 + Identifier 1986320 1986368 + Parameter 1986369 1986392 + Identifier 1986369 1986373 + TypeReference 1986374 1986392 + Identifier 1986374 1986392 + Parameter 1986393 1986408 + Identifier 1986393 1986402 + TypeReference 1986403 1986408 + Identifier 1986403 1986408 + UnionType 1986410 1986427 + TypeReference 1986410 1986415 + Identifier 1986410 1986415 + UndefinedKeyword 1986417 1986427 + Block 1986427 1987535 + VariableStatement 1986429 1986806 + VariableDeclarationList 1986429 1986805 + VariableDeclaration 1986732 1986805 + Identifier 1986732 1986754 + CallExpression 1986756 1986805 + Identifier 1986756 1986767 + PropertyAccessExpression 1986768 1986794 + Identifier 1986768 1986776 + Identifier 1986777 1986794 + Identifier 1986795 1986804 + IfStatement 1986806 1987379 + PrefixUnaryExpression 1986820 1986855 + CallExpression 1986821 1986855 + Identifier 1986821 1986832 + Identifier 1986833 1986854 + Block 1986856 1987379 + VariableStatement 1986858 1986913 + VariableDeclarationList 1986858 1986912 + VariableDeclaration 1986877 1986912 + Identifier 1986877 1986899 + PropertyAccessExpression 1986901 1986912 + Identifier 1986901 1986906 + Identifier 1986907 1986912 + VariableStatement 1986913 1987039 + VariableDeclarationList 1986913 1987038 + VariableDeclaration 1986932 1987038 + Identifier 1986932 1986946 + CallExpression 1986948 1987038 + Identifier 1986948 1986966 + Identifier 1986967 1986988 + CallExpression 1986989 1987037 + Identifier 1986989 1987014 + Identifier 1987015 1987036 + IfStatement 1987039 1987144 + Identifier 1987057 1987070 + Block 1987071 1987144 + ReturnStatement 1987073 1987129 + CallExpression 1987097 1987128 + Identifier 1987097 1987113 + Identifier 1987114 1987127 + VariableStatement 1987144 1987239 + VariableDeclarationList 1987144 1987238 + VariableDeclaration 1987163 1987238 + Identifier 1987163 1987182 + CallExpression 1987184 1987238 + Identifier 1987184 1987203 + Identifier 1987204 1987225 + Identifier 1987226 1987237 + IfStatement 1987239 1987337 + Identifier 1987257 1987275 + Block 1987276 1987337 + ReturnStatement 1987278 1987322 + Identifier 1987302 1987321 + ReturnStatement 1987337 1987368 + Identifier 1987357 1987367 + ReturnStatement 1987379 1987528 + Identifier 1987519 1987527 + FunctionDeclaration 1987535 1989521 + Identifier 1987551 1987594 + Parameter 1987595 1987620 + Identifier 1987595 1987602 + TypeReference 1987603 1987620 + Identifier 1987603 1987620 + Parameter 1987621 1987644 + Identifier 1987621 1987638 + TypeReference 1987639 1987644 + Identifier 1987639 1987644 + Parameter 1987645 1987687 + Identifier 1987645 1987664 + TypeReference 1987665 1987687 + Identifier 1987665 1987687 + Block 1987688 1989521 + IfStatement 1987690 1989218 + BinaryExpression 1987704 1987741 + Identifier 1987704 1987711 + EqualsEqualsEqualsToken 1987711 1987715 + PropertyAccessExpression 1987715 1987741 + Identifier 1987715 1987732 + Identifier 1987733 1987741 + Block 1987742 1988110 + VariableStatement 1987744 1987835 + VariableDeclarationList 1987744 1987834 + VariableDeclaration 1987763 1987834 + Identifier 1987763 1987783 + CallExpression 1987785 1987834 + Identifier 1987785 1987814 + Identifier 1987815 1987833 + IfStatement 1987835 1988099 + Identifier 1987853 1987872 + Block 1987873 1988099 + ExpressionStatement 1987875 1988084 + CallExpression 1987875 1988083 + Identifier 1987875 1987911 + Identifier 1987912 1987928 + Identifier 1987929 1987949 + Identifier 1987950 1987969 + PropertyAccessExpression 1987970 1987997 + Identifier 1987970 1987989 + Identifier 1987990 1987997 + PropertyAccessExpression 1987998 1988055 + Identifier 1987998 1988010 + Identifier 1988011 1988055 + Identifier 1988056 1988082 + IfStatement 1988124 1989218 + BinaryExpression 1988129 1988167 + Identifier 1988129 1988136 + EqualsEqualsEqualsToken 1988136 1988140 + PropertyAccessExpression 1988140 1988167 + Identifier 1988140 1988157 + Identifier 1988158 1988167 + Block 1988168 1988628 + VariableStatement 1988170 1988253 + VariableDeclarationList 1988170 1988252 + VariableDeclaration 1988189 1988252 + Identifier 1988189 1988205 + CallExpression 1988207 1988252 + Identifier 1988207 1988232 + Identifier 1988233 1988251 + IfStatement 1988253 1988617 + Identifier 1988271 1988286 + Block 1988287 1988617 + ExpressionStatement 1988289 1988602 + CallExpression 1988289 1988601 + Identifier 1988289 1988431 + Identifier 1988432 1988448 + Identifier 1988449 1988465 + Identifier 1988466 1988485 + PropertyAccessExpression 1988486 1988513 + Identifier 1988486 1988505 + Identifier 1988506 1988513 + PropertyAccessExpression 1988514 1988573 + Identifier 1988514 1988526 + Identifier 1988527 1988573 + Identifier 1988574 1988600 + Block 1988642 1989218 + VariableStatement 1988644 1988744 + VariableDeclarationList 1988644 1988743 + VariableDeclaration 1988672 1988743 + Identifier 1988672 1988692 + CallExpression 1988694 1988743 + Identifier 1988694 1988723 + Identifier 1988724 1988742 + VariableStatement 1988744 1988827 + VariableDeclarationList 1988744 1988826 + VariableDeclaration 1988763 1988826 + Identifier 1988763 1988779 + CallExpression 1988781 1988826 + Identifier 1988781 1988806 + Identifier 1988807 1988825 + IfStatement 1988827 1988928 + BinaryExpression 1988845 1988885 + PrefixUnaryExpression 1988845 1988865 + Identifier 1988846 1988865 + BarBarToken 1988865 1988868 + PrefixUnaryExpression 1988868 1988885 + Identifier 1988870 1988885 + Block 1988886 1988928 + ReturnStatement 1988888 1988913 + VariableStatement 1988928 1989012 + VariableDeclarationList 1988928 1989011 + VariableDeclaration 1988947 1989011 + Identifier 1988947 1988956 + CallExpression 1988958 1989011 + Identifier 1988958 1988971 + ArrayLiteralExpression 1988972 1989010 + Identifier 1988973 1988992 + Identifier 1988993 1989009 + ExpressionStatement 1989012 1989207 + CallExpression 1989012 1989206 + Identifier 1989012 1989044 + Identifier 1989045 1989061 + Identifier 1989062 1989071 + Identifier 1989072 1989091 + PropertyAccessExpression 1989092 1989119 + Identifier 1989092 1989111 + Identifier 1989112 1989119 + PropertyAccessExpression 1989120 1989178 + Identifier 1989120 1989132 + Identifier 1989133 1989178 + Identifier 1989179 1989205 + FunctionDeclaration 1989218 1989514 + Identifier 1989238 1989264 + TypeReference 1989267 1989290 + Identifier 1989267 1989290 + Block 1989290 1989514 + VariableStatement 1989292 1989370 + VariableDeclarationList 1989292 1989369 + VariableDeclaration 1989311 1989369 + Identifier 1989311 1989325 + CallExpression 1989327 1989369 + Identifier 1989327 1989341 + PropertyAccessExpression 1989342 1989368 + Identifier 1989342 1989360 + Identifier 1989361 1989368 + ReturnStatement 1989370 1989503 + CallExpression 1989390 1989502 + Identifier 1989390 1989414 + Identifier 1989415 1989436 + PropertyAccessExpression 1989437 1989486 + Identifier 1989437 1989449 + Identifier 1989450 1989486 + Identifier 1989487 1989501 + FunctionDeclaration 1989521 1990929 + Identifier 1989846 1989898 + Parameter 1989899 1989926 + Identifier 1989899 1989903 + TypeReference 1989904 1989926 + Identifier 1989904 1989926 + TypeReference 1989928 1989933 + Identifier 1989928 1989933 + Block 1989933 1990929 + ExpressionStatement 1989935 1989995 + CallExpression 1989935 1989994 + PropertyAccessExpression 1989935 1989957 + Identifier 1989935 1989950 + Identifier 1989951 1989957 + CallExpression 1989958 1989993 + Identifier 1989958 1989979 + PropertyAccessExpression 1989980 1989992 + Identifier 1989980 1989984 + Identifier 1989985 1989992 + VariableStatement 1989995 1990038 + VariableDeclarationList 1989995 1990037 + VariableDeclaration 1990010 1990037 + Identifier 1990010 1990016 + CallExpression 1990018 1990037 + Identifier 1990018 1990031 + Identifier 1990032 1990036 + IfStatement 1990038 1990866 + PrefixUnaryExpression 1990052 1990091 + PropertyAccessExpression 1990053 1990091 + Identifier 1990053 1990058 + Identifier 1990059 1990091 + Block 1990092 1990866 + VariableStatement 1990094 1990151 + VariableDeclarationList 1990094 1990150 + VariableDeclaration 1990113 1990150 + Identifier 1990113 1990120 + CallExpression 1990122 1990150 + Identifier 1990122 1990144 + Identifier 1990145 1990149 + IfStatement 1990151 1990855 + BinaryExpression 1990169 1990216 + PropertyAccessExpression 1990169 1990183 + Identifier 1990169 1990174 + Identifier 1990175 1990183 + AmpersandToken 1990183 1990185 + PropertyAccessExpression 1990185 1990216 + Identifier 1990185 1990194 + Identifier 1990195 1990216 + Block 1990217 1990337 + ReturnStatement 1990219 1990322 + BinaryExpression 1990243 1990321 + PropertyAccessExpression 1990243 1990282 + Identifier 1990243 1990249 + Identifier 1990250 1990282 + EqualsToken 1990282 1990284 + BinaryExpression 1990284 1990321 + CallExpression 1990284 1990308 + Identifier 1990284 1990300 + Identifier 1990301 1990307 + BarBarToken 1990308 1990311 + Identifier 1990311 1990321 + IfStatement 1990355 1990855 + BinaryExpression 1990360 1990409 + PropertyAccessExpression 1990360 1990374 + Identifier 1990360 1990365 + Identifier 1990366 1990374 + AmpersandToken 1990374 1990376 + PropertyAccessExpression 1990376 1990409 + Identifier 1990376 1990385 + Identifier 1990386 1990409 + Block 1990410 1990744 + VariableStatement 1990412 1990558 + VariableDeclarationList 1990412 1990557 + VariableDeclaration 1990435 1990557 + Identifier 1990435 1990444 + ConditionalExpression 1990446 1990557 + CallExpression 1990446 1990480 + Identifier 1990446 1990466 + PropertyAccessExpression 1990467 1990479 + Identifier 1990467 1990471 + Identifier 1990472 1990479 + QuestionToken 1990480 1990482 + CallExpression 1990482 1990530 + Identifier 1990482 1990516 + PropertyAccessExpression 1990517 1990529 + Identifier 1990517 1990521 + Identifier 1990522 1990529 + ColonToken 1990530 1990532 + PropertyAccessExpression 1990532 1990557 + PropertyAccessExpression 1990532 1990545 + Identifier 1990532 1990537 + Identifier 1990538 1990545 + Identifier 1990546 1990557 + ReturnStatement 1990558 1990729 + BinaryExpression 1990582 1990728 + PropertyAccessExpression 1990582 1990621 + Identifier 1990582 1990588 + Identifier 1990589 1990621 + EqualsToken 1990621 1990623 + BinaryExpression 1990623 1990728 + PropertyAccessExpression 1990623 1990715 + CallExpression 1990623 1990709 + Identifier 1990623 1990653 + CallExpression 1990654 1990698 + Identifier 1990654 1990664 + PropertyAccessExpression 1990665 1990691 + Identifier 1990665 1990673 + Identifier 1990674 1990691 + Identifier 1990692 1990697 + Identifier 1990699 1990708 + QuestionDotToken 1990709 1990711 + Identifier 1990711 1990715 + BarBarToken 1990715 1990718 + Identifier 1990718 1990728 + Block 1990762 1990855 + ReturnStatement 1990764 1990840 + BinaryExpression 1990788 1990839 + PropertyAccessExpression 1990788 1990827 + Identifier 1990788 1990794 + Identifier 1990795 1990827 + EqualsToken 1990827 1990829 + Identifier 1990829 1990839 + ReturnStatement 1990866 1990922 + PropertyAccessExpression 1990882 1990921 + Identifier 1990882 1990888 + Identifier 1990889 1990921 + FunctionDeclaration 1990929 1991152 + Identifier 1990945 1990970 + Parameter 1990971 1990985 + Identifier 1990971 1990979 + TypeReference 1990980 1990985 + Identifier 1990980 1990985 + UnionType 1990987 1991004 + TypeReference 1990987 1990992 + Identifier 1990987 1990992 + UndefinedKeyword 1990994 1991004 + Block 1991004 1991152 + VariableStatement 1991006 1991073 + VariableDeclarationList 1991006 1991072 + VariableDeclaration 1991021 1991072 + Identifier 1991021 1991026 + CallExpression 1991028 1991072 + Identifier 1991028 1991039 + PropertyAccessExpression 1991040 1991061 + Identifier 1991040 1991048 + Identifier 1991049 1991061 + Identifier 1991062 1991071 + IfStatement 1991073 1991123 + CallExpression 1991087 1991104 + Identifier 1991087 1991098 + Identifier 1991099 1991103 + ReturnStatement 1991105 1991123 + Identifier 1991112 1991122 + ReturnStatement 1991123 1991145 + Identifier 1991139 1991144 + FunctionDeclaration 1991152 1991275 + Identifier 1991168 1991188 + Parameter 1991189 1991203 + Identifier 1991189 1991197 + TypeReference 1991198 1991203 + Identifier 1991198 1991203 + TypeReference 1991205 1991210 + Identifier 1991205 1991210 + Block 1991210 1991275 + ReturnStatement 1991212 1991268 + CallExpression 1991228 1991267 + Identifier 1991228 1991239 + PropertyAccessExpression 1991240 1991256 + Identifier 1991240 1991248 + Identifier 1991249 1991256 + Identifier 1991257 1991266 + FunctionDeclaration 1991275 1991530 + Identifier 1991291 1991320 + Parameter 1991321 1991335 + Identifier 1991321 1991329 + TypeReference 1991330 1991335 + Identifier 1991330 1991335 + UnionType 1991337 1991354 + TypeReference 1991337 1991342 + Identifier 1991337 1991342 + UndefinedKeyword 1991344 1991354 + Block 1991354 1991530 + VariableStatement 1991356 1991419 + VariableDeclarationList 1991356 1991418 + VariableDeclaration 1991371 1991418 + Identifier 1991371 1991386 + CallExpression 1991388 1991418 + Identifier 1991388 1991408 + Identifier 1991409 1991417 + IfStatement 1991419 1991523 + Identifier 1991433 1991447 + Block 1991448 1991523 + ReturnStatement 1991450 1991512 + CallExpression 1991470 1991511 + Identifier 1991470 1991483 + ArrayLiteralExpression 1991484 1991510 + Identifier 1991485 1991499 + Identifier 1991500 1991509 + FunctionDeclaration 1991530 1991956 + Identifier 1991546 1991570 + Parameter 1991571 1991585 + Identifier 1991571 1991579 + TypeReference 1991580 1991585 + Identifier 1991580 1991585 + UnionType 1991587 1991604 + TypeReference 1991587 1991592 + Identifier 1991587 1991592 + UndefinedKeyword 1991594 1991604 + Block 1991604 1991956 + VariableStatement 1991606 1991655 + VariableDeclarationList 1991606 1991654 + VariableDeclaration 1991621 1991654 + Identifier 1991621 1991624 + CallExpression 1991626 1991654 + Identifier 1991626 1991644 + Identifier 1991645 1991653 + IfStatement 1991655 1991691 + PrefixUnaryExpression 1991669 1991672 + Identifier 1991670 1991672 + ReturnStatement 1991673 1991691 + Identifier 1991680 1991690 + VariableStatement 1991691 1991741 + VariableDeclarationList 1991691 1991740 + VariableDeclaration 1991706 1991740 + Identifier 1991706 1991710 + CallExpression 1991712 1991740 + Identifier 1991712 1991736 + Identifier 1991737 1991739 + IfStatement 1991741 1991778 + PrefixUnaryExpression 1991755 1991759 + Identifier 1991756 1991759 + ReturnStatement 1991760 1991778 + Identifier 1991767 1991777 + VariableStatement 1991778 1991868 + VariableDeclarationList 1991778 1991867 + VariableDeclaration 1991793 1991867 + Identifier 1991793 1991798 + CallExpression 1991800 1991867 + Identifier 1991800 1991840 + Identifier 1991841 1991844 + CallExpression 1991845 1991866 + Identifier 1991845 1991856 + Identifier 1991857 1991865 + IfStatement 1991868 1991927 + BinaryExpression 1991882 1991908 + PrefixUnaryExpression 1991882 1991887 + Identifier 1991883 1991887 + BarBarToken 1991887 1991890 + CallExpression 1991890 1991908 + Identifier 1991890 1991902 + Identifier 1991903 1991907 + ReturnStatement 1991909 1991927 + Identifier 1991916 1991926 + ReturnStatement 1991927 1991949 + Identifier 1991943 1991948 + FunctionDeclaration 1991956 1993028 + Identifier 1991972 1992012 + Parameter 1992013 1992031 + Identifier 1992013 1992023 + TypeReference 1992024 1992031 + Identifier 1992024 1992031 + Parameter 1992032 1992046 + Identifier 1992032 1992037 + BooleanKeyword 1992038 1992046 + Parameter 1992047 1992072 + DotDotDotToken 1992047 1992051 + Identifier 1992051 1992064 + ArrayType 1992065 1992072 + TypeReference 1992065 1992070 + Identifier 1992065 1992070 + Block 1992073 1993028 + VariableStatement 1992075 1992149 + VariableDeclarationList 1992075 1992148 + VariableDeclaration 1992090 1992148 + Identifier 1992090 1992110 + CallExpression 1992112 1992148 + Identifier 1992112 1992136 + Identifier 1992137 1992147 + IfStatement 1992149 1992652 + BinaryExpression 1992234 1992274 + PropertyAccessExpression 1992234 1992250 + Identifier 1992234 1992244 + Identifier 1992245 1992250 + AmpersandToken 1992250 1992252 + PropertyAccessExpression 1992252 1992274 + Identifier 1992252 1992264 + Identifier 1992265 1992274 + Block 1992275 1992652 + VariableStatement 1992277 1992348 + VariableDeclarationList 1992277 1992347 + VariableDeclaration 1992296 1992347 + Identifier 1992296 1992303 + PropertyAccessExpression 1992305 1992347 + CallExpression 1992305 1992332 + Identifier 1992305 1992320 + Identifier 1992321 1992331 + Identifier 1992333 1992347 + IfStatement 1992348 1992641 + BinaryExpression 1992366 1992404 + CallExpression 1992366 1992380 + Identifier 1992366 1992372 + Identifier 1992373 1992379 + GreaterThanEqualsToken 1992380 1992383 + PropertyAccessExpression 1992383 1992404 + Identifier 1992383 1992397 + Identifier 1992398 1992404 + Block 1992405 1992641 + VariableStatement 1992407 1992514 + VariableDeclarationList 1992407 1992513 + VariableDeclaration 1992430 1992513 + Identifier 1992430 1992435 + CallExpression 1992437 1992513 + Identifier 1992437 1992462 + Identifier 1992463 1992476 + Identifier 1992477 1992484 + PropertyAccessExpression 1992485 1992506 + Identifier 1992485 1992499 + Identifier 1992500 1992506 + Identifier 1992507 1992512 + ReturnStatement 1992514 1992626 + ConditionalExpression 1992538 1992625 + BinaryExpression 1992538 1992557 + CallExpression 1992538 1992551 + Identifier 1992538 1992545 + Identifier 1992546 1992550 + EqualsEqualsEqualsToken 1992551 1992555 + NumericLiteral 1992555 1992557 + QuestionToken 1992557 1992559 + Identifier 1992559 1992579 + ColonToken 1992579 1992581 + CallExpression 1992581 1992625 + Identifier 1992581 1992607 + Identifier 1992608 1992618 + Identifier 1992619 1992624 + IfStatement 1992652 1992994 + BinaryExpression 1992666 1992749 + CallExpression 1992666 1992725 + Identifier 1992666 1992672 + PropertyAccessExpression 1992673 1992724 + ParenthesizedExpression 1992673 1992709 + AsExpression 1992674 1992708 + Identifier 1992674 1992693 + TypeReference 1992696 1992708 + Identifier 1992696 1992708 + Identifier 1992710 1992724 + GreaterThanEqualsToken 1992725 1992728 + PropertyAccessExpression 1992728 1992749 + Identifier 1992728 1992742 + Identifier 1992743 1992749 + Block 1992750 1992994 + VariableStatement 1992752 1992900 + VariableDeclarationList 1992752 1992899 + VariableDeclaration 1992771 1992899 + Identifier 1992771 1992776 + CallExpression 1992778 1992899 + Identifier 1992778 1992803 + Identifier 1992804 1992817 + PropertyAccessExpression 1992818 1992870 + ParenthesizedExpression 1992818 1992855 + AsExpression 1992820 1992854 + Identifier 1992820 1992839 + TypeReference 1992842 1992854 + Identifier 1992842 1992854 + Identifier 1992856 1992870 + PropertyAccessExpression 1992871 1992892 + Identifier 1992871 1992885 + Identifier 1992886 1992892 + Identifier 1992893 1992898 + ReturnStatement 1992900 1992983 + CallExpression 1992920 1992982 + Identifier 1992920 1992940 + AsExpression 1992941 1992975 + Identifier 1992941 1992960 + TypeReference 1992963 1992975 + Identifier 1992963 1992975 + Identifier 1992976 1992981 + ReturnStatement 1992994 1993021 + Identifier 1993010 1993020 + FunctionDeclaration 1993028 1993350 + Identifier 1993136 1993162 + Parameter 1993163 1993177 + Identifier 1993163 1993171 + TypeReference 1993172 1993177 + Identifier 1993172 1993177 + ArrayType 1993179 1993188 + TypeReference 1993179 1993186 + Identifier 1993179 1993186 + Block 1993188 1993350 + VariableStatement 1993190 1993268 + VariableDeclarationList 1993190 1993267 + VariableDeclaration 1993205 1993267 + Identifier 1993205 1993216 + CallExpression 1993218 1993267 + Identifier 1993218 1993229 + PropertyAccessExpression 1993230 1993256 + Identifier 1993230 1993238 + Identifier 1993239 1993256 + Identifier 1993257 1993266 + ReturnStatement 1993268 1993343 + ConditionalExpression 1993284 1993342 + Identifier 1993284 1993295 + QuestionToken 1993295 1993297 + CallExpression 1993297 1993329 + Identifier 1993297 1993317 + Identifier 1993318 1993328 + ColonToken 1993329 1993331 + Identifier 1993331 1993342 + FunctionDeclaration 1993350 1993885 + Identifier 1993366 1993388 + Parameter 1993389 1993404 + Identifier 1993389 1993398 + TypeReference 1993399 1993404 + Identifier 1993399 1993404 + Block 1993405 1993885 + IfStatement 1993407 1993620 + BinaryExpression 1993461 1993515 + ParenthesizedExpression 1993461 1993498 + BinaryExpression 1993462 1993497 + PropertyAccessExpression 1993462 1993481 + Identifier 1993462 1993477 + Identifier 1993478 1993481 + BarBarToken 1993481 1993484 + PropertyAccessExpression 1993484 1993497 + Identifier 1993484 1993492 + Identifier 1993493 1993497 + EqualsEqualsEqualsToken 1993498 1993502 + PropertyAccessExpression 1993502 1993515 + Identifier 1993502 1993510 + Identifier 1993511 1993515 + Block 1993516 1993620 + ExpressionStatement 1993518 1993609 + CallExpression 1993518 1993608 + Identifier 1993518 1993537 + Identifier 1993538 1993547 + PropertyAccessExpression 1993548 1993607 + Identifier 1993548 1993560 + Identifier 1993561 1993607 + IfStatement 1993620 1993878 + BinaryExpression 1993636 1993680 + CallExpression 1993636 1993666 + Identifier 1993636 1993655 + Identifier 1993656 1993665 + EqualsEqualsEqualsToken 1993666 1993670 + Identifier 1993670 1993680 + Block 1993681 1993878 + IfStatement 1993683 1993867 + Identifier 1993701 1993714 + Block 1993715 1993867 + ExpressionStatement 1993717 1993852 + CallExpression 1993717 1993851 + Identifier 1993717 1993740 + Identifier 1993741 1993750 + PropertyAccessExpression 1993751 1993850 + Identifier 1993751 1993763 + Identifier 1993764 1993850 + FunctionDeclaration 1993885 1995442 + Identifier 1993901 1993945 + Parameter 1993946 1993994 + Identifier 1993946 1993950 + UnionType 1993951 1993994 + TypeReference 1993951 1993973 + Identifier 1993951 1993973 + TypeReference 1993975 1993994 + Identifier 1993975 1993994 + Block 1993995 1995442 + VariableStatement 1993997 1994070 + VariableDeclarationList 1993997 1994069 + VariableDeclaration 1994012 1994069 + Identifier 1994012 1994037 + CallExpression 1994039 1994069 + Identifier 1994039 1994063 + Identifier 1994064 1994068 + IfStatement 1994070 1994167 + Identifier 1994086 1994110 + Block 1994111 1994167 + ExpressionStatement 1994113 1994156 + CallExpression 1994113 1994155 + Identifier 1994113 1994149 + Identifier 1994150 1994154 + ExpressionStatement 1994167 1994207 + CallExpression 1994167 1994206 + Identifier 1994167 1994200 + Identifier 1994201 1994205 + ExpressionStatement 1994207 1994248 + CallExpression 1994207 1994247 + Identifier 1994207 1994241 + Identifier 1994242 1994246 + VariableStatement 1994248 1994299 + VariableDeclarationList 1994248 1994298 + VariableDeclaration 1994265 1994298 + Identifier 1994265 1994269 + CallExpression 1994271 1994298 + Identifier 1994271 1994292 + Identifier 1994293 1994297 + ExpressionStatement 1994299 1994345 + CallExpression 1994299 1994344 + Identifier 1994299 1994333 + Identifier 1994334 1994337 + Identifier 1994338 1994343 + IfStatement 1994345 1995435 + Identifier 1994361 1994385 + Block 1994386 1995435 + VariableStatement 1994388 1994434 + VariableDeclarationList 1994388 1994433 + VariableDeclaration 1994407 1994433 + Identifier 1994407 1994426 + Identifier 1994428 1994433 + VariableStatement 1994434 1994522 + VariableDeclarationList 1994434 1994521 + VariableDeclaration 1994453 1994521 + Identifier 1994453 1994475 + CallExpression 1994477 1994521 + Identifier 1994477 1994501 + Identifier 1994502 1994520 + IfStatement 1994522 1995424 + BinaryExpression 1994540 1994575 + Identifier 1994540 1994561 + ExclamationEqualsEqualsToken 1994561 1994565 + Identifier 1994565 1994575 + Block 1994576 1995236 + VariableStatement 1994578 1994639 + VariableDeclarationList 1994578 1994638 + VariableDeclaration 1994601 1994638 + Identifier 1994601 1994609 + PropertyAccessExpression 1994611 1994638 + Identifier 1994611 1994630 + Identifier 1994631 1994638 + VariableStatement 1994639 1994831 + VariableDeclarationList 1994639 1994830 + VariableDeclaration 1994662 1994830 + Identifier 1994662 1994670 + ConditionalExpression 1994672 1994830 + CallExpression 1994672 1994703 + Identifier 1994672 1994694 + Identifier 1994695 1994702 + QuestionToken 1994703 1994726 + CallExpression 1994726 1994782 + Identifier 1994726 1994747 + CallExpression 1994748 1994781 + Identifier 1994748 1994772 + Identifier 1994773 1994780 + ColonToken 1994782 1994805 + CallExpression 1994805 1994830 + Identifier 1994805 1994821 + Identifier 1994822 1994829 + ExpressionStatement 1994831 1995221 + CallExpression 1994831 1995220 + Identifier 1994831 1994867 + Identifier 1994868 1994875 + Identifier 1994876 1994898 + Identifier 1994899 1994918 + Identifier 1994919 1994927 + PropertyAccessExpression 1994928 1994983 + Identifier 1994928 1994940 + Identifier 1994941 1994983 + ArrowFunction 1994984 1995219 + EqualsGreaterThanToken 1994987 1994990 + Block 1994990 1995219 + VariableStatement 1994992 1995059 + VariableDeclarationList 1994992 1995058 + VariableDeclaration 1995019 1995058 + Identifier 1995019 1995033 + CallExpression 1995035 1995058 + Identifier 1995035 1995049 + Identifier 1995050 1995057 + ReturnStatement 1995059 1995200 + CallExpression 1995087 1995199 + Identifier 1995087 1995111 + Identifier 1995112 1995133 + PropertyAccessExpression 1995134 1995183 + Identifier 1995134 1995146 + Identifier 1995147 1995183 + Identifier 1995184 1995198 + Block 1995254 1995424 + ExpressionStatement 1995256 1995409 + CallExpression 1995256 1995408 + Identifier 1995256 1995316 + CallExpression 1995317 1995356 + Identifier 1995317 1995336 + Identifier 1995337 1995355 + CallExpression 1995357 1995387 + Identifier 1995357 1995382 + Identifier 1995383 1995386 + Identifier 1995388 1995407 + FunctionDeclaration 1995442 1997727 + Identifier 1996249 1996265 + Parameter 1996266 1996282 + Identifier 1996266 1996276 + TypeReference 1996277 1996282 + Identifier 1996277 1996282 + Parameter 1996283 1996298 + Identifier 1996283 1996288 + TypeReference 1996289 1996298 + Identifier 1996289 1996298 + Parameter 1996299 1996333 + Identifier 1996299 1996324 + BooleanKeyword 1996325 1996333 + BooleanKeyword 1996335 1996343 + Block 1996343 1997727 + IfStatement 1996345 1997176 + BinaryExpression 1996359 1996394 + PropertyAccessExpression 1996359 1996375 + Identifier 1996359 1996369 + Identifier 1996370 1996375 + AmpersandToken 1996375 1996377 + PropertyAccessExpression 1996377 1996394 + Identifier 1996377 1996387 + Identifier 1996388 1996394 + Block 1996395 1997176 + IfStatement 1996397 1997165 + BinaryExpression 1996694 1996983 + BinaryExpression 1996694 1996909 + BinaryExpression 1996694 1996821 + CallExpression 1996694 1996753 + Identifier 1996694 1996735 + Identifier 1996736 1996746 + Identifier 1996747 1996752 + BarBarToken 1996753 1996756 + CallExpression 1996756 1996821 + Identifier 1996756 1996803 + Identifier 1996804 1996814 + Identifier 1996815 1996820 + BarBarToken 1996821 1996824 + BinaryExpression 1996824 1996909 + CallExpression 1996824 1996863 + Identifier 1996824 1996857 + Identifier 1996858 1996862 + AmpersandAmpersandToken 1996863 1996866 + CallExpression 1996866 1996909 + Identifier 1996866 1996885 + Identifier 1996886 1996896 + Identifier 1996897 1996908 + BarBarToken 1996909 1996912 + BinaryExpression 1996912 1996983 + Identifier 1996912 1996954 + AmpersandAmpersandToken 1996954 1996957 + CallExpression 1996957 1996983 + Identifier 1996957 1996977 + Identifier 1996978 1996982 + Block 1996998 1997165 + ReturnStatement 1997000 1997150 + TrueKeyword 1997144 1997149 + IfStatement 1997176 1997357 + BinaryExpression 1997190 1997231 + PropertyAccessExpression 1997190 1997206 + Identifier 1997190 1997200 + Identifier 1997201 1997206 + AmpersandToken 1997206 1997208 + PropertyAccessExpression 1997208 1997231 + Identifier 1997208 1997218 + Identifier 1997219 1997231 + Block 1997232 1997357 + ReturnStatement 1997234 1997346 + CallExpression 1997254 1997345 + Identifier 1997254 1997270 + PropertyAccessExpression 1997271 1997312 + ParenthesizedExpression 1997271 1997303 + AsExpression 1997272 1997302 + Identifier 1997272 1997282 + TypeReference 1997285 1997302 + Identifier 1997285 1997302 + Identifier 1997304 1997312 + Identifier 1997313 1997318 + Identifier 1997319 1997344 + IfStatement 1997357 1997697 + BinaryExpression 1997371 1997462 + BinaryExpression 1997371 1997419 + PropertyAccessExpression 1997371 1997387 + Identifier 1997371 1997381 + Identifier 1997382 1997387 + AmpersandToken 1997387 1997389 + PropertyAccessExpression 1997389 1997419 + Identifier 1997389 1997399 + Identifier 1997400 1997419 + AmpersandAmpersandToken 1997419 1997422 + CallExpression 1997422 1997462 + Identifier 1997422 1997450 + Identifier 1997451 1997461 + Block 1997463 1997697 + ForOfStatement 1997465 1997686 + VariableDeclarationList 1997484 1997491 + VariableDeclaration 1997489 1997491 + Identifier 1997489 1997491 + PropertyAccessExpression 1997494 1997540 + ParenthesizedExpression 1997494 1997534 + AsExpression 1997496 1997533 + Identifier 1997496 1997506 + TypeReference 1997509 1997533 + Identifier 1997509 1997533 + Identifier 1997535 1997540 + Block 1997541 1997686 + IfStatement 1997543 1997671 + CallExpression 1997565 1997615 + Identifier 1997565 1997580 + Identifier 1997581 1997582 + Identifier 1997583 1997588 + Identifier 1997589 1997614 + Block 1997616 1997671 + ReturnStatement 1997618 1997652 + TrueKeyword 1997646 1997651 + ReturnStatement 1997697 1997720 + FalseKeyword 1997713 1997719 + FunctionDeclaration 1997727 1998341 + Identifier 1997743 1997771 + Parameter 1997772 1997782 + Identifier 1997772 1997776 + TypeReference 1997777 1997782 + Identifier 1997777 1997782 + BooleanKeyword 1997784 1997792 + Block 1997792 1998341 + ReturnStatement 1997794 1998334 + PrefixUnaryExpression 1997810 1998333 + PrefixUnaryExpression 1997812 1998333 + ParenthesizedExpression 1997813 1998333 + BinaryExpression 1997814 1998332 + BinaryExpression 1997814 1998208 + BinaryExpression 1997814 1998099 + BinaryExpression 1997814 1997979 + BinaryExpression 1997814 1997927 + BinaryExpression 1997814 1997843 + PropertyAccessExpression 1997814 1997824 + Identifier 1997814 1997818 + Identifier 1997819 1997824 + AmpersandToken 1997824 1997826 + PropertyAccessExpression 1997826 1997843 + Identifier 1997826 1997836 + Identifier 1997837 1997843 + AmpersandAmpersandToken 1997843 1997846 + PrefixUnaryExpression 1997846 1997927 + ParenthesizedExpression 1997848 1997927 + BinaryExpression 1997849 1997926 + CallExpression 1997849 1997869 + Identifier 1997849 1997863 + Identifier 1997864 1997868 + AmpersandToken 1997869 1997871 + PropertyAccessExpression 1997871 1997926 + Identifier 1997871 1997883 + Identifier 1997884 1997926 + BarBarToken 1997927 1997930 + BinaryExpression 1997930 1997979 + PropertyAccessExpression 1997930 1997954 + Identifier 1997930 1997948 + Identifier 1997949 1997954 + AmpersandToken 1997954 1997956 + PropertyAccessExpression 1997956 1997979 + Identifier 1997956 1997966 + Identifier 1997967 1997979 + BarBarToken 1997979 1997982 + BinaryExpression 1997982 1998099 + BinaryExpression 1997982 1998031 + PropertyAccessExpression 1997982 1998006 + Identifier 1997982 1998000 + Identifier 1998001 1998006 + AmpersandToken 1998006 1998008 + PropertyAccessExpression 1998008 1998031 + Identifier 1998008 1998018 + Identifier 1998019 1998031 + AmpersandAmpersandToken 1998031 1998034 + CallExpression 1998034 1998099 + Identifier 1998034 1998062 + PropertyAccessExpression 1998063 1998098 + ParenthesizedExpression 1998063 1998089 + AsExpression 1998064 1998088 + Identifier 1998064 1998068 + TypeReference 1998071 1998088 + Identifier 1998071 1998088 + Identifier 1998090 1998098 + BarBarToken 1998099 1998102 + BinaryExpression 1998102 1998208 + BinaryExpression 1998102 1998144 + PropertyAccessExpression 1998102 1998126 + Identifier 1998102 1998120 + Identifier 1998121 1998126 + AmpersandToken 1998126 1998128 + PropertyAccessExpression 1998128 1998144 + Identifier 1998128 1998138 + Identifier 1998139 1998144 + AmpersandAmpersandToken 1998144 1998147 + CallExpression 1998147 1998208 + Identifier 1998147 1998152 + PropertyAccessExpression 1998153 1998178 + ParenthesizedExpression 1998153 1998172 + AsExpression 1998154 1998171 + Identifier 1998154 1998158 + TypeReference 1998161 1998171 + Identifier 1998161 1998171 + Identifier 1998173 1998178 + Identifier 1998179 1998207 + BarBarToken 1998208 1998211 + BinaryExpression 1998211 1998332 + BinaryExpression 1998211 1998260 + PropertyAccessExpression 1998211 1998235 + Identifier 1998211 1998229 + Identifier 1998230 1998235 + AmpersandToken 1998235 1998237 + PropertyAccessExpression 1998237 1998260 + Identifier 1998237 1998247 + Identifier 1998248 1998260 + AmpersandAmpersandToken 1998260 1998263 + CallExpression 1998263 1998332 + Identifier 1998263 1998269 + PropertyAccessExpression 1998270 1998302 + ParenthesizedExpression 1998270 1998296 + AsExpression 1998271 1998295 + Identifier 1998271 1998275 + TypeReference 1998278 1998295 + Identifier 1998278 1998295 + Identifier 1998297 1998302 + Identifier 1998303 1998331 + FunctionDeclaration 1998341 1998848 + Identifier 1998357 1998376 + Parameter 1998377 1998396 + Identifier 1998377 1998381 + TypeReference 1998382 1998396 + Identifier 1998382 1998396 + Parameter 1998397 1998419 + Identifier 1998397 1998407 + QuestionToken 1998407 1998408 + TypeReference 1998409 1998419 + Identifier 1998409 1998419 + Block 1998420 1998848 + ExpressionStatement 1998422 1998464 + CallExpression 1998422 1998463 + Identifier 1998422 1998457 + Identifier 1998458 1998462 + IfStatement 1998464 1998841 + PropertyAccessExpression 1998478 1998493 + Identifier 1998478 1998482 + Identifier 1998483 1998493 + Block 1998494 1998783 + VariableStatement 1998496 1998567 + VariableDeclarationList 1998496 1998566 + VariableDeclaration 1998515 1998566 + Identifier 1998515 1998520 + CallExpression 1998522 1998566 + Identifier 1998522 1998538 + PropertyAccessExpression 1998539 1998554 + Identifier 1998539 1998543 + Identifier 1998544 1998554 + Identifier 1998555 1998565 + IfStatement 1998567 1998746 + BinaryExpression 1998585 1998646 + BinaryExpression 1998585 1998624 + PropertyAccessExpression 1998585 1998604 + Identifier 1998585 1998589 + Identifier 1998590 1998604 + AmpersandAmpersandToken 1998604 1998607 + BinaryExpression 1998607 1998624 + Identifier 1998607 1998612 + ExclamationEqualsEqualsToken 1998612 1998616 + Identifier 1998616 1998624 + AmpersandAmpersandToken 1998624 1998627 + PrefixUnaryExpression 1998627 1998646 + CallExpression 1998629 1998646 + Identifier 1998629 1998640 + Identifier 1998641 1998645 + Block 1998647 1998746 + ExpressionStatement 1998649 1998731 + CallExpression 1998649 1998730 + Identifier 1998649 1998672 + Identifier 1998673 1998677 + PropertyAccessExpression 1998678 1998729 + Identifier 1998678 1998690 + Identifier 1998691 1998729 + ReturnStatement 1998746 1998772 + Identifier 1998766 1998771 + Block 1998797 1998841 + ReturnStatement 1998799 1998830 + Identifier 1998819 1998829 + FunctionDeclaration 1998848 1999018 + Identifier 1998864 1998898 + Parameter 1998899 1998908 + Identifier 1998899 1998900 + TypeReference 1998901 1998908 + Identifier 1998901 1998908 + TypeReference 1998910 1998920 + Identifier 1998910 1998920 + Block 1998920 1999018 + ReturnStatement 1998922 1999011 + ConditionalExpression 1998938 1999010 + PropertyAccessExpression 1998938 1998957 + Identifier 1998938 1998940 + Identifier 1998941 1998957 + QuestionToken 1998957 1998959 + CallExpression 1998959 1999006 + Identifier 1998959 1998986 + PropertyAccessExpression 1998987 1999005 + Identifier 1998987 1998988 + Identifier 1998989 1999005 + ColonToken 1999006 1999008 + NumericLiteral 1999008 1999010 + FunctionDeclaration 1999018 1999693 + Identifier 1999220 1999240 + Parameter 1999241 1999255 + Identifier 1999241 1999247 + TypeReference 1999248 1999255 + Identifier 1999248 1999255 + Block 1999256 1999693 + IfStatement 1999258 1999399 + BinaryExpression 1999272 1999359 + BinaryExpression 1999272 1999305 + PropertyAccessExpression 1999272 1999284 + Identifier 1999272 1999278 + Identifier 1999279 1999284 + AmpersandToken 1999284 1999286 + PropertyAccessExpression 1999286 1999305 + Identifier 1999286 1999298 + Identifier 1999299 1999305 + BarBarToken 1999305 1999308 + BinaryExpression 1999308 1999359 + CallExpression 1999308 1999330 + Identifier 1999308 1999322 + Identifier 1999323 1999329 + AmpersandToken 1999330 1999332 + PropertyAccessExpression 1999332 1999359 + Identifier 1999332 1999343 + Identifier 1999344 1999359 + Block 1999360 1999399 + ReturnStatement 1999362 1999388 + TrueKeyword 1999382 1999387 + IfStatement 1999399 1999686 + CallExpression 1999413 1999448 + Identifier 1999413 1999423 + PropertyAccessExpression 1999424 1999447 + Identifier 1999424 1999430 + Identifier 1999431 1999447 + Block 1999449 1999686 + VariableStatement 1999451 1999512 + VariableDeclarationList 1999451 1999511 + VariableDeclaration 1999470 1999511 + Identifier 1999470 1999477 + PropertyAccessExpression 1999479 1999511 + NonNullExpression 1999479 1999504 + PropertyAccessExpression 1999479 1999503 + Identifier 1999479 1999486 + Identifier 1999487 1999503 + Identifier 1999505 1999511 + ReturnStatement 1999512 1999675 + BinaryExpression 1999532 1999674 + BinaryExpression 1999532 1999569 + Identifier 1999532 1999539 + AmpersandAmpersandToken 1999539 1999542 + CallExpression 1999542 1999569 + Identifier 1999542 1999561 + Identifier 1999562 1999568 + AmpersandAmpersandToken 1999569 1999572 + BinaryExpression 1999572 1999674 + CallExpression 1999572 1999626 + Identifier 1999572 1999618 + Identifier 1999619 1999625 + EqualsEqualsEqualsToken 1999626 1999630 + PropertyAccessExpression 1999630 1999674 + Identifier 1999630 1999656 + Identifier 1999657 1999674 + FunctionDeclaration 1999693 2000927 + Identifier 2000144 2000171 + Parameter 2000172 2000385 + Identifier 2000172 2000186 + UnionType 2000187 2000385 + TypeReference 2000187 2000212 + Identifier 2000187 2000212 + TypeReference 2000214 2000228 + Identifier 2000214 2000228 + TypeReference 2000230 2000255 + Identifier 2000230 2000255 + TypeReference 2000257 2000277 + Identifier 2000257 2000277 + TypeReference 2000279 2000300 + Identifier 2000279 2000300 + TypeReference 2000302 2000317 + Identifier 2000302 2000317 + TypeReference 2000319 2000338 + Identifier 2000319 2000338 + TypeReference 2000340 2000368 + Identifier 2000340 2000368 + TypeReference 2000370 2000385 + Identifier 2000370 2000385 + Parameter 2000386 2000412 + Identifier 2000386 2000403 + BooleanKeyword 2000404 2000412 + Parameter 2000413 2000439 + Identifier 2000413 2000430 + BooleanKeyword 2000431 2000439 + Parameter 2000440 2000460 + Identifier 2000440 2000454 + TypeReference 2000455 2000460 + Identifier 2000455 2000460 + Parameter 2000461 2000483 + Identifier 2000461 2000475 + TypeReference 2000476 2000483 + Identifier 2000476 2000483 + Parameter 2000484 2000512 + Identifier 2000484 2000505 + TrueKeyword 2000507 2000512 + BooleanKeyword 2000521 2000529 + Block 2000529 2000927 + VariableStatement 2000531 2000817 + VariableDeclarationList 2000531 2000816 + VariableDeclaration 2000546 2000816 + Identifier 2000546 2000556 + ConditionalExpression 2000558 2000816 + PrefixUnaryExpression 2000558 2000571 + Identifier 2000560 2000571 + QuestionToken 2000571 2000573 + Identifier 2000573 2000583 + ColonToken 2000583 2000585 + ConditionalExpression 2000585 2000816 + BinaryExpression 2000585 2000637 + PropertyAccessExpression 2000585 2000608 + Identifier 2000585 2000603 + Identifier 2000604 2000608 + EqualsEqualsEqualsToken 2000608 2000612 + PropertyAccessExpression 2000612 2000637 + Identifier 2000612 2000623 + Identifier 2000624 2000637 + QuestionToken 2000637 2000639 + PropertyAccessExpression 2000639 2000650 + Identifier 2000639 2000644 + Identifier 2000645 2000650 + ColonToken 2000650 2000652 + ConditionalExpression 2000652 2000816 + BinaryExpression 2000652 2000701 + PropertyAccessExpression 2000652 2000675 + Identifier 2000652 2000670 + Identifier 2000671 2000675 + EqualsEqualsEqualsToken 2000675 2000679 + PropertyAccessExpression 2000679 2000701 + Identifier 2000679 2000690 + Identifier 2000691 2000701 + QuestionToken 2000701 2000703 + Identifier 2000703 2000708 + ColonToken 2000708 2000710 + ConditionalExpression 2000710 2000816 + BinaryExpression 2000710 2000784 + BinaryExpression 2000710 2000763 + PropertyAccessExpression 2000710 2000733 + Identifier 2000710 2000728 + Identifier 2000729 2000733 + EqualsEqualsEqualsToken 2000733 2000737 + PropertyAccessExpression 2000737 2000763 + Identifier 2000737 2000748 + Identifier 2000749 2000763 + AmpersandAmpersandToken 2000763 2000766 + PropertyAccessExpression 2000766 2000784 + Identifier 2000766 2000771 + Identifier 2000772 2000784 + QuestionToken 2000784 2000786 + PropertyAccessExpression 2000786 2000804 + Identifier 2000786 2000791 + Identifier 2000792 2000804 + ColonToken 2000804 2000806 + PropertyAccessExpression 2000806 2000816 + Identifier 2000806 2000811 + Identifier 2000812 2000816 + ReturnStatement 2000817 2000920 + CallExpression 2000835 2000919 + Identifier 2000835 2000872 + Identifier 2000873 2000877 + Identifier 2000878 2000886 + Identifier 2000887 2000895 + Identifier 2000896 2000901 + Identifier 2000902 2000907 + Identifier 2000908 2000918 + FunctionDeclaration 2000927 2008558 + Identifier 2001705 2001742 + Parameter 2001743 2001757 + Identifier 2001743 2001751 + TypeReference 2001752 2001757 + Identifier 2001752 2001757 + Parameter 2001758 2001775 + Identifier 2001758 2001766 + BooleanKeyword 2001767 2001775 + Parameter 2001776 2001793 + Identifier 2001776 2001784 + BooleanKeyword 2001785 2001793 + Parameter 2001794 2001815 + Identifier 2001794 2001809 + TypeReference 2001810 2001815 + Identifier 2001810 2001815 + Parameter 2001816 2001829 + Identifier 2001816 2001821 + TypeReference 2001822 2001829 + Identifier 2001822 2001829 + Parameter 2001830 2001847 + Identifier 2001830 2001840 + QuestionToken 2001840 2001841 + TypeReference 2001842 2001847 + Identifier 2001842 2001847 + BooleanKeyword 2001849 2001857 + Block 2001857 2008558 + VariableStatement 2001859 2001936 + VariableDeclarationList 2001859 2001935 + VariableDeclaration 2001874 2001935 + Identifier 2001874 2001880 + CallExpression 2001882 2001935 + Identifier 2001882 2001920 + Identifier 2001921 2001925 + Identifier 2001926 2001934 + IfStatement 2001936 2004220 + Identifier 2001952 2001959 + Block 2001960 2004220 + IfStatement 2001962 2003009 + BinaryExpression 2002634 2002671 + Identifier 2002634 2002649 + LessThanToken 2002649 2002651 + PropertyAccessExpression 2002651 2002671 + Identifier 2002651 2002664 + Identifier 2002665 2002671 + Block 2002672 2003009 + IfStatement 2002674 2002994 + CallExpression 2002696 2002731 + Identifier 2002696 2002725 + Identifier 2002726 2002730 + Block 2002732 2002994 + IfStatement 2002734 2002940 + Identifier 2002760 2002769 + Block 2002770 2002940 + ExpressionStatement 2002772 2002917 + CallExpression 2002772 2002916 + Identifier 2002772 2002803 + Identifier 2002804 2002813 + PropertyAccessExpression 2002814 2002915 + Identifier 2002814 2002826 + Identifier 2002827 2002915 + ReturnStatement 2002940 2002975 + FalseKeyword 2002968 2002974 + IfStatement 2003009 2003672 + BinaryExpression 2003027 2003057 + Identifier 2003027 2003032 + AmpersandToken 2003032 2003034 + PropertyAccessExpression 2003034 2003057 + Identifier 2003034 2003048 + Identifier 2003049 2003057 + Block 2003058 2003672 + IfStatement 2003060 2003626 + Identifier 2003412 2003421 + Block 2003422 2003626 + ExpressionStatement 2003424 2003607 + CallExpression 2003424 2003606 + Identifier 2003424 2003451 + Identifier 2003452 2003461 + PropertyAccessExpression 2003462 2003543 + Identifier 2003462 2003474 + Identifier 2003475 2003543 + CallExpression 2003544 2003565 + Identifier 2003544 2003559 + Identifier 2003560 2003564 + CallExpression 2003566 2003605 + Identifier 2003566 2003579 + NonNullExpression 2003580 2003604 + CallExpression 2003580 2003603 + Identifier 2003580 2003597 + Identifier 2003598 2003602 + ReturnStatement 2003626 2003657 + FalseKeyword 2003650 2003656 + IfStatement 2003672 2004209 + BinaryExpression 2003861 2003944 + PrefixUnaryExpression 2003861 2003892 + ParenthesizedExpression 2003862 2003892 + BinaryExpression 2003863 2003891 + Identifier 2003863 2003868 + AmpersandToken 2003868 2003870 + PropertyAccessExpression 2003870 2003891 + Identifier 2003870 2003884 + Identifier 2003885 2003891 + AmpersandAmpersandToken 2003892 2003895 + CallExpression 2003895 2003944 + PropertyAccessExpression 2003895 2003919 + PropertyAccessExpression 2003895 2003913 + Identifier 2003895 2003900 + Identifier 2003901 2003913 + QuestionDotToken 2003913 2003915 + Identifier 2003915 2003919 + Identifier 2003920 2003943 + Block 2003945 2004209 + IfStatement 2003947 2004163 + Identifier 2003969 2003978 + Block 2003979 2004163 + ExpressionStatement 2003981 2004144 + CallExpression 2003981 2004143 + Identifier 2003981 2004008 + Identifier 2004009 2004018 + PropertyAccessExpression 2004019 2004120 + Identifier 2004019 2004031 + Identifier 2004032 2004120 + CallExpression 2004121 2004142 + Identifier 2004121 2004136 + Identifier 2004137 2004141 + ReturnStatement 2004163 2004194 + FalseKeyword 2004187 2004193 + IfStatement 2004220 2005136 + BinaryExpression 2004325 2004606 + BinaryExpression 2004325 2004410 + ParenthesizedExpression 2004325 2004371 + BinaryExpression 2004340 2004370 + Identifier 2004340 2004345 + AmpersandToken 2004345 2004347 + PropertyAccessExpression 2004347 2004370 + Identifier 2004347 2004361 + Identifier 2004362 2004370 + AmpersandAmpersandToken 2004371 2004374 + CallExpression 2004374 2004410 + Identifier 2004374 2004404 + Identifier 2004405 2004409 + AmpersandAmpersandToken 2004410 2004413 + ParenthesizedExpression 2004413 2004606 + BinaryExpression 2004428 2004605 + BinaryExpression 2004428 2004506 + CallExpression 2004428 2004452 + Identifier 2004428 2004442 + Identifier 2004443 2004451 + BarBarToken 2004452 2004455 + CallExpression 2004455 2004506 + Identifier 2004455 2004496 + Identifier 2004497 2004505 + BarBarToken 2004506 2004509 + BinaryExpression 2004509 2004605 + CallExpression 2004509 2004549 + Identifier 2004509 2004532 + PropertyAccessExpression 2004533 2004548 + Identifier 2004533 2004541 + Identifier 2004542 2004548 + AmpersandAmpersandToken 2004549 2004552 + CallExpression 2004552 2004605 + Identifier 2004552 2004581 + PropertyAccessExpression 2004582 2004604 + PropertyAccessExpression 2004582 2004597 + Identifier 2004582 2004590 + Identifier 2004591 2004597 + Identifier 2004598 2004604 + Block 2004617 2005136 + VariableStatement 2004619 2004725 + VariableDeclarationList 2004619 2004724 + VariableDeclaration 2004638 2004724 + Identifier 2004638 2004664 + CallExpression 2004666 2004724 + Identifier 2004666 2004698 + NonNullExpression 2004699 2004723 + CallExpression 2004699 2004722 + Identifier 2004699 2004716 + Identifier 2004717 2004721 + IfStatement 2004725 2005125 + BinaryExpression 2004743 2004817 + Identifier 2004743 2004768 + AmpersandAmpersandToken 2004768 2004771 + CallExpression 2004771 2004817 + Identifier 2004771 2004807 + Identifier 2004808 2004816 + Block 2004818 2005125 + IfStatement 2004820 2005079 + Identifier 2004842 2004851 + Block 2004852 2005079 + ExpressionStatement 2004854 2005060 + CallExpression 2004854 2005059 + Identifier 2004854 2004881 + Identifier 2004882 2004891 + PropertyAccessExpression 2004892 2004973 + Identifier 2004892 2004904 + Identifier 2004905 2004973 + CallExpression 2004974 2004995 + Identifier 2004974 2004989 + Identifier 2004990 2004994 + CallExpression 2004996 2005058 + Identifier 2004996 2005025 + NonNullExpression 2005026 2005057 + PropertyAccessExpression 2005026 2005056 + Identifier 2005026 2005051 + Identifier 2005052 2005056 + ReturnStatement 2005079 2005110 + FalseKeyword 2005103 2005109 + IfStatement 2005136 2005303 + PrefixUnaryExpression 2005208 2005263 + ParenthesizedExpression 2005209 2005263 + BinaryExpression 2005210 2005262 + Identifier 2005210 2005215 + AmpersandToken 2005215 2005217 + PropertyAccessExpression 2005217 2005262 + Identifier 2005217 2005231 + Identifier 2005232 2005262 + Block 2005264 2005303 + ReturnStatement 2005266 2005292 + TrueKeyword 2005286 2005291 + IfStatement 2005303 2006003 + BinaryExpression 2005481 2005510 + Identifier 2005481 2005486 + AmpersandToken 2005486 2005488 + PropertyAccessExpression 2005488 2005510 + Identifier 2005488 2005502 + Identifier 2005503 2005510 + Block 2005511 2006003 + VariableStatement 2005513 2005620 + VariableDeclarationList 2005513 2005619 + VariableDeclaration 2005532 2005619 + Identifier 2005532 2005558 + NonNullExpression 2005560 2005619 + CallExpression 2005560 2005618 + Identifier 2005560 2005592 + NonNullExpression 2005593 2005617 + CallExpression 2005593 2005616 + Identifier 2005593 2005610 + Identifier 2005611 2005615 + IfStatement 2005620 2005966 + PrefixUnaryExpression 2005638 2005693 + CallExpression 2005639 2005693 + Identifier 2005639 2005656 + Identifier 2005657 2005665 + Identifier 2005666 2005692 + Block 2005694 2005966 + IfStatement 2005696 2005920 + Identifier 2005718 2005727 + Block 2005728 2005920 + ExpressionStatement 2005730 2005901 + CallExpression 2005730 2005900 + Identifier 2005730 2005757 + Identifier 2005758 2005767 + PropertyAccessExpression 2005768 2005837 + Identifier 2005768 2005780 + Identifier 2005781 2005837 + CallExpression 2005838 2005859 + Identifier 2005838 2005853 + Identifier 2005854 2005858 + CallExpression 2005860 2005899 + Identifier 2005860 2005873 + NonNullExpression 2005874 2005898 + CallExpression 2005874 2005897 + Identifier 2005874 2005891 + Identifier 2005892 2005896 + ReturnStatement 2005920 2005951 + FalseKeyword 2005944 2005950 + ReturnStatement 2005966 2005992 + TrueKeyword 2005986 2005991 + IfStatement 2006003 2006213 + Identifier 2006166 2006173 + Block 2006174 2006213 + ReturnStatement 2006176 2006202 + TrueKeyword 2006196 2006201 + VariableStatement 2006213 2006675 + VariableDeclarationList 2006213 2006674 + VariableDeclaration 2006376 2006674 + Identifier 2006376 2006391 + CallExpression 2006393 2006674 + Identifier 2006393 2006415 + Identifier 2006416 2006424 + ArrowFunction 2006425 2006673 + Parameter 2006425 2006446 + Identifier 2006425 2006446 + EqualsGreaterThanToken 2006446 2006449 + Block 2006449 2006673 + VariableStatement 2006451 2006575 + VariableDeclarationList 2006451 2006574 + VariableDeclaration 2006470 2006574 + Identifier 2006470 2006485 + AsExpression 2006487 2006574 + CallExpression 2006487 2006557 + Identifier 2006487 2006511 + CallExpression 2006512 2006556 + Identifier 2006512 2006534 + Identifier 2006535 2006555 + TypeReference 2006560 2006574 + Identifier 2006560 2006574 + ReturnStatement 2006575 2006662 + CallExpression 2006595 2006661 + Identifier 2006595 2006630 + Identifier 2006631 2006645 + Identifier 2006646 2006651 + Identifier 2006652 2006660 + IfStatement 2006675 2007546 + PrefixUnaryExpression 2006809 2006824 + Identifier 2006810 2006824 + Block 2006825 2007546 + ExpressionStatement 2006827 2007044 + BinaryExpression 2006827 2007043 + Identifier 2006827 2006996 + EqualsToken 2006996 2006998 + CallExpression 2006998 2007043 + Identifier 2006998 2007033 + Identifier 2007034 2007042 + ExpressionStatement 2007044 2007159 + BinaryExpression 2007044 2007158 + Identifier 2007044 2007072 + EqualsToken 2007072 2007074 + BinaryExpression 2007074 2007158 + Identifier 2007074 2007089 + AmpersandAmpersandToken 2007089 2007092 + CallExpression 2007092 2007158 + Identifier 2007092 2007127 + Identifier 2007128 2007142 + Identifier 2007143 2007148 + Identifier 2007149 2007157 + IfStatement 2007159 2007535 + BinaryExpression 2007177 2007224 + BinaryExpression 2007177 2007205 + Identifier 2007177 2007182 + AmpersandToken 2007182 2007184 + PropertyAccessExpression 2007184 2007205 + Identifier 2007184 2007198 + Identifier 2007199 2007205 + BarBarToken 2007205 2007208 + PrefixUnaryExpression 2007208 2007224 + Identifier 2007210 2007224 + Block 2007225 2007535 + IfStatement 2007227 2007489 + Identifier 2007249 2007258 + Block 2007259 2007489 + ExpressionStatement 2007261 2007470 + CallExpression 2007261 2007469 + Identifier 2007261 2007288 + Identifier 2007289 2007298 + PropertyAccessExpression 2007299 2007389 + Identifier 2007299 2007311 + Identifier 2007312 2007389 + CallExpression 2007390 2007411 + Identifier 2007390 2007405 + Identifier 2007406 2007410 + CallExpression 2007412 2007468 + Identifier 2007412 2007425 + BinaryExpression 2007426 2007467 + CallExpression 2007426 2007449 + Identifier 2007426 2007443 + Identifier 2007444 2007448 + BarBarToken 2007449 2007452 + Identifier 2007452 2007467 + ReturnStatement 2007489 2007520 + FalseKeyword 2007513 2007519 + IfStatement 2007546 2007686 + BinaryExpression 2007618 2007646 + Identifier 2007618 2007623 + AmpersandToken 2007623 2007625 + PropertyAccessExpression 2007625 2007646 + Identifier 2007625 2007639 + Identifier 2007640 2007646 + Block 2007647 2007686 + ReturnStatement 2007649 2007675 + TrueKeyword 2007669 2007674 + IfStatement 2007686 2008130 + BinaryExpression 2007700 2007746 + PropertyAccessExpression 2007700 2007720 + Identifier 2007700 2007714 + Identifier 2007715 2007720 + AmpersandToken 2007720 2007722 + PropertyAccessExpression 2007722 2007746 + Identifier 2007722 2007732 + Identifier 2007733 2007746 + Block 2007747 2008130 + ExpressionStatement 2007749 2008045 + BinaryExpression 2007749 2008044 + Identifier 2007749 2007872 + EqualsToken 2007872 2007874 + ConditionalExpression 2007874 2008044 + PropertyAccessExpression 2007874 2007919 + ParenthesizedExpression 2007874 2007908 + AsExpression 2007876 2007907 + Identifier 2007876 2007890 + TypeReference 2007893 2007907 + Identifier 2007893 2007907 + Identifier 2007909 2007919 + QuestionToken 2007919 2007921 + NonNullExpression 2007921 2007984 + CallExpression 2007921 2007983 + Identifier 2007921 2007950 + AsExpression 2007951 2007982 + Identifier 2007951 2007965 + TypeReference 2007968 2007982 + Identifier 2007968 2007982 + ColonToken 2007984 2007986 + NonNullExpression 2007986 2008044 + CallExpression 2007986 2008043 + Identifier 2007986 2008010 + AsExpression 2008011 2008042 + Identifier 2008011 2008025 + TypeReference 2008028 2008042 + Identifier 2008028 2008042 + IfStatement 2008130 2008529 + BinaryExpression 2008144 2008207 + PrefixUnaryExpression 2008144 2008159 + Identifier 2008145 2008159 + BarBarToken 2008159 2008162 + PrefixUnaryExpression 2008162 2008207 + CallExpression 2008164 2008207 + Identifier 2008164 2008175 + Identifier 2008176 2008190 + Identifier 2008191 2008206 + Block 2008208 2008529 + IfStatement 2008210 2008491 + Identifier 2008228 2008237 + Block 2008238 2008491 + ExpressionStatement 2008240 2008476 + CallExpression 2008240 2008475 + Identifier 2008240 2008263 + Identifier 2008264 2008273 + PropertyAccessExpression 2008274 2008392 + Identifier 2008274 2008286 + Identifier 2008287 2008392 + CallExpression 2008393 2008414 + Identifier 2008393 2008408 + Identifier 2008409 2008413 + CallExpression 2008415 2008444 + Identifier 2008415 2008428 + Identifier 2008429 2008443 + CallExpression 2008445 2008474 + Identifier 2008445 2008458 + Identifier 2008459 2008473 + ReturnStatement 2008491 2008518 + FalseKeyword 2008511 2008517 + ReturnStatement 2008529 2008551 + TrueKeyword 2008545 2008550 + FunctionDeclaration 2008558 2009834 + Identifier 2008574 2008609 + Parameter 2008610 2008620 + Identifier 2008610 2008614 + TypeReference 2008615 2008620 + Identifier 2008615 2008620 + UnionType 2008622 2008648 + TypeReference 2008622 2008636 + Identifier 2008622 2008636 + UndefinedKeyword 2008638 2008648 + Block 2008648 2009834 + VariableStatement 2008650 2008876 + VariableDeclarationList 2008650 2008875 + VariableDeclaration 2008821 2008875 + Identifier 2008821 2008835 + CallExpression 2008837 2008875 + Identifier 2008837 2008869 + Identifier 2008870 2008874 + VariableStatement 2008876 2008964 + VariableDeclarationList 2008876 2008963 + VariableDeclaration 2008889 2008963 + Identifier 2008889 2008898 + BinaryExpression 2008900 2008963 + PropertyAccessExpression 2008900 2008920 + Identifier 2008900 2008914 + QuestionDotToken 2008914 2008916 + Identifier 2008916 2008920 + AmpersandAmpersandToken 2008920 2008923 + CallExpression 2008923 2008963 + Identifier 2008923 2008943 + PropertyAccessExpression 2008944 2008962 + Identifier 2008944 2008957 + Identifier 2008958 2008962 + IfStatement 2008964 2009617 + Identifier 2008978 2008986 + Block 2008987 2009253 + IfStatement 2008989 2009242 + BinaryExpression 2009099 2009139 + PropertyAccessExpression 2009099 2009113 + Identifier 2009099 2009107 + Identifier 2009108 2009113 + AmpersandToken 2009113 2009115 + PropertyAccessExpression 2009115 2009139 + Identifier 2009115 2009125 + Identifier 2009126 2009139 + Block 2009140 2009242 + ExpressionStatement 2009142 2009227 + BinaryExpression 2009142 2009226 + Identifier 2009142 2009168 + EqualsToken 2009168 2009170 + CallExpression 2009170 2009226 + Identifier 2009170 2009199 + AsExpression 2009200 2009225 + Identifier 2009200 2009208 + TypeReference 2009211 2009225 + Identifier 2009211 2009225 + Block 2009267 2009617 + VariableStatement 2009269 2009466 + VariableDeclarationList 2009269 2009465 + VariableDeclaration 2009349 2009465 + Identifier 2009349 2009363 + CallExpression 2009365 2009465 + Identifier 2009365 2009382 + Identifier 2009383 2009387 + FalseKeyword 2009388 2009420 + FalseKeyword 2009421 2009464 + IfStatement 2009466 2009606 + CallExpression 2009484 2009513 + Identifier 2009484 2009498 + Identifier 2009499 2009512 + Block 2009514 2009606 + ExpressionStatement 2009516 2009591 + BinaryExpression 2009516 2009590 + Identifier 2009516 2009542 + EqualsToken 2009542 2009544 + CallExpression 2009544 2009590 + Identifier 2009544 2009575 + Identifier 2009576 2009589 + IfStatement 2009617 2009800 + BinaryExpression 2009631 2009724 + Identifier 2009631 2009639 + AmpersandAmpersandToken 2009639 2009642 + BinaryExpression 2009642 2009724 + CallExpression 2009642 2009667 + Identifier 2009642 2009657 + Identifier 2009658 2009666 + AmpersandToken 2009667 2009669 + ParenthesizedExpression 2009669 2009724 + BinaryExpression 2009671 2009723 + PropertyAccessExpression 2009671 2009699 + Identifier 2009671 2009682 + Identifier 2009683 2009699 + BarToken 2009699 2009701 + PropertyAccessExpression 2009701 2009723 + Identifier 2009701 2009713 + Identifier 2009714 2009723 + Block 2009725 2009800 + ReturnStatement 2009727 2009789 + AsExpression 2009747 2009788 + CallExpression 2009747 2009771 + Identifier 2009747 2009761 + Identifier 2009762 2009770 + TypeReference 2009774 2009788 + Identifier 2009774 2009788 + ReturnStatement 2009800 2009827 + Identifier 2009816 2009826 + FunctionDeclaration 2009834 2010145 + Identifier 2009850 2009882 + Parameter 2009883 2009893 + Identifier 2009883 2009887 + TypeReference 2009888 2009893 + Identifier 2009888 2009893 + Block 2009894 2010145 + VariableStatement 2009896 2010028 + VariableDeclarationList 2009896 2010027 + VariableDeclaration 2009911 2010027 + Identifier 2009911 2009925 + CallExpression 2009927 2010027 + Identifier 2009927 2009944 + Identifier 2009945 2009949 + FalseKeyword 2009950 2009982 + FalseKeyword 2009983 2010026 + ReturnStatement 2010028 2010138 + ConditionalExpression 2010044 2010137 + BinaryExpression 2010044 2010091 + Identifier 2010044 2010058 + AmpersandAmpersandToken 2010058 2010061 + CallExpression 2010061 2010091 + Identifier 2010061 2010076 + Identifier 2010077 2010090 + QuestionToken 2010091 2010093 + CallExpression 2010093 2010125 + Identifier 2010093 2010110 + Identifier 2010111 2010124 + ColonToken 2010125 2010127 + Identifier 2010127 2010137 + FunctionDeclaration 2010145 2010303 + Identifier 2010161 2010191 + Parameter 2010192 2010206 + Identifier 2010192 2010198 + TypeReference 2010199 2010206 + Identifier 2010199 2010206 + Block 2010207 2010303 + ReturnStatement 2010209 2010296 + PrefixUnaryExpression 2010225 2010295 + PrefixUnaryExpression 2010227 2010295 + CallExpression 2010228 2010295 + Identifier 2010228 2010243 + Identifier 2010244 2010250 + ArrowFunction 2010251 2010294 + Parameter 2010251 2010256 + Identifier 2010251 2010256 + EqualsGreaterThanToken 2010256 2010259 + PrefixUnaryExpression 2010259 2010294 + ParenthesizedExpression 2010261 2010294 + BinaryExpression 2010262 2010293 + PropertyAccessExpression 2010262 2010272 + Identifier 2010262 2010266 + Identifier 2010267 2010272 + AmpersandToken 2010272 2010274 + PropertyAccessExpression 2010274 2010293 + Identifier 2010274 2010286 + Identifier 2010287 2010293 + FunctionDeclaration 2010303 2010448 + Identifier 2010319 2010342 + Parameter 2010343 2010375 + Identifier 2010343 2010347 + UnionType 2010348 2010375 + TypeReference 2010348 2010359 + Identifier 2010348 2010359 + TypeReference 2010361 2010375 + Identifier 2010361 2010375 + Block 2010376 2010448 + ReturnStatement 2010378 2010441 + CallExpression 2010394 2010440 + Identifier 2010394 2010411 + CallExpression 2010412 2010433 + Identifier 2010412 2010427 + Identifier 2010428 2010432 + Identifier 2010434 2010439 + FunctionDeclaration 2010448 2010565 + Identifier 2010464 2010479 + Parameter 2010480 2010490 + Identifier 2010480 2010484 + TypeReference 2010485 2010490 + Identifier 2010485 2010490 + Block 2010491 2010565 + ReturnStatement 2010493 2010558 + CallExpression 2010509 2010557 + Identifier 2010509 2010522 + Identifier 2010523 2010527 + PropertyAccessExpression 2010528 2010556 + Identifier 2010528 2010538 + Identifier 2010539 2010556 + FunctionDeclaration 2010565 2010701 + Identifier 2010581 2010608 + Parameter 2010609 2010619 + Identifier 2010609 2010613 + TypeReference 2010614 2010619 + Identifier 2010614 2010619 + Block 2010620 2010701 + ReturnStatement 2010622 2010694 + ConditionalExpression 2010638 2010693 + CallExpression 2010638 2010659 + Identifier 2010638 2010653 + Identifier 2010654 2010658 + QuestionToken 2010659 2010661 + CallExpression 2010661 2010686 + Identifier 2010661 2010680 + Identifier 2010681 2010685 + ColonToken 2010686 2010688 + Identifier 2010688 2010693 + FunctionDeclaration 2010701 2012026 + Identifier 2010717 2010758 + Parameter 2010759 2010769 + Identifier 2010759 2010763 + TypeReference 2010764 2010769 + Identifier 2010764 2010769 + Parameter 2010770 2010787 + Identifier 2010770 2010776 + TypeReference 2010777 2010787 + Identifier 2010777 2010787 + Block 2010788 2012026 + VariableStatement 2010790 2010885 + VariableDeclarationList 2010790 2010884 + VariableDeclaration 2010805 2010884 + Identifier 2010805 2010814 + ConditionalExpression 2010816 2010884 + CallExpression 2010816 2010845 + Identifier 2010816 2010839 + Identifier 2010840 2010844 + QuestionToken 2010845 2010847 + CallExpression 2010847 2010872 + Identifier 2010847 2010866 + Identifier 2010867 2010871 + ColonToken 2010872 2010874 + Identifier 2010874 2010884 + IfStatement 2010885 2011049 + BinaryExpression 2010899 2010935 + PropertyAccessExpression 2010899 2010908 + Identifier 2010899 2010903 + Identifier 2010904 2010908 + EqualsEqualsEqualsToken 2010908 2010912 + PropertyAccessExpression 2010912 2010935 + Identifier 2010912 2010923 + Identifier 2010924 2010935 + Block 2010936 2011049 + ExpressionStatement 2010938 2011017 + CallExpression 2010938 2011016 + Identifier 2010938 2010957 + Identifier 2010958 2010962 + PropertyAccessExpression 2010963 2011007 + Identifier 2010963 2010975 + Identifier 2010976 2011007 + StringLiteral 2011008 2011015 + ReturnStatement 2011017 2011038 + IfStatement 2011049 2012019 + BinaryExpression 2011063 2011110 + BinaryExpression 2011063 2011085 + Identifier 2011063 2011071 + ExclamationEqualsEqualsToken 2011071 2011075 + Identifier 2011075 2011085 + AmpersandAmpersandToken 2011085 2011088 + BinaryExpression 2011088 2011110 + PropertyAccessExpression 2011088 2011104 + Identifier 2011088 2011097 + Identifier 2011098 2011104 + LessThanToken 2011104 2011106 + NumericLiteral 2011106 2011110 + Block 2011111 2011663 + IfStatement 2011113 2011308 + BinaryExpression 2011131 2011177 + CallExpression 2011131 2011149 + Identifier 2011131 2011143 + Identifier 2011144 2011148 + AmpersandAmpersandToken 2011149 2011152 + BinaryExpression 2011152 2011177 + Identifier 2011152 2011161 + EqualsEqualsEqualsToken 2011161 2011165 + StringLiteral 2011165 2011177 + Block 2011178 2011308 + ExpressionStatement 2011180 2011268 + CallExpression 2011180 2011267 + Identifier 2011180 2011203 + Identifier 2011204 2011208 + PropertyAccessExpression 2011209 2011253 + Identifier 2011209 2011221 + Identifier 2011222 2011253 + StringLiteral 2011254 2011266 + ReturnStatement 2011268 2011293 + ExpressionStatement 2011308 2011652 + CallExpression 2011308 2011651 + Identifier 2011308 2011327 + Identifier 2011328 2011350 + ConditionalExpression 2011351 2011608 + BinaryExpression 2011351 2011398 + Identifier 2011351 2011374 + AmpersandToken 2011374 2011376 + PropertyAccessExpression 2011376 2011398 + Identifier 2011376 2011386 + Identifier 2011387 2011398 + QuestionToken 2011398 2011400 + ConditionalExpression 2011400 2011553 + BinaryExpression 2011400 2011425 + Identifier 2011400 2011406 + AmpersandToken 2011406 2011408 + PropertyAccessExpression 2011408 2011425 + Identifier 2011408 2011418 + Identifier 2011419 2011425 + QuestionToken 2011425 2011427 + PropertyAccessExpression 2011427 2011493 + Identifier 2011427 2011460 + Identifier 2011461 2011493 + ColonToken 2011493 2011495 + PropertyAccessExpression 2011495 2011553 + Identifier 2011495 2011528 + Identifier 2011529 2011553 + ColonToken 2011553 2011555 + PropertyAccessExpression 2011555 2011608 + Identifier 2011555 2011588 + Identifier 2011589 2011608 + Identifier 2011609 2011635 + Block 2011677 2012019 + ExpressionStatement 2011679 2012008 + CallExpression 2011679 2012007 + Identifier 2011679 2011698 + Identifier 2011699 2011721 + ConditionalExpression 2011722 2011991 + BinaryExpression 2011722 2011769 + Identifier 2011722 2011745 + AmpersandToken 2011745 2011747 + PropertyAccessExpression 2011747 2011769 + Identifier 2011747 2011757 + Identifier 2011758 2011769 + QuestionToken 2011769 2011771 + ConditionalExpression 2011771 2011932 + BinaryExpression 2011771 2011796 + Identifier 2011771 2011777 + AmpersandToken 2011777 2011779 + PropertyAccessExpression 2011779 2011796 + Identifier 2011779 2011789 + Identifier 2011790 2011796 + QuestionToken 2011796 2011798 + PropertyAccessExpression 2011798 2011868 + Identifier 2011798 2011831 + Identifier 2011832 2011868 + ColonToken 2011868 2011870 + PropertyAccessExpression 2011870 2011932 + Identifier 2011870 2011903 + Identifier 2011904 2011932 + ColonToken 2011932 2011934 + PropertyAccessExpression 2011934 2011991 + Identifier 2011934 2011967 + Identifier 2011968 2011991 + FunctionDeclaration 2012026 2012498 + Identifier 2012042 2012089 + Parameter 2012090 2012100 + Identifier 2012090 2012094 + TypeReference 2012095 2012100 + Identifier 2012095 2012100 + Parameter 2012101 2012118 + Identifier 2012101 2012107 + TypeReference 2012108 2012118 + Identifier 2012108 2012118 + Block 2012119 2012498 + ExpressionStatement 2012121 2012491 + CallExpression 2012121 2012490 + Identifier 2012121 2012136 + Identifier 2012137 2012155 + ConditionalExpression 2012156 2012478 + BinaryExpression 2012156 2012199 + Identifier 2012156 2012175 + AmpersandToken 2012175 2012177 + PropertyAccessExpression 2012177 2012199 + Identifier 2012177 2012187 + Identifier 2012188 2012199 + QuestionToken 2012199 2012201 + ConditionalExpression 2012201 2012400 + BinaryExpression 2012201 2012226 + Identifier 2012201 2012207 + AmpersandToken 2012207 2012209 + PropertyAccessExpression 2012209 2012226 + Identifier 2012209 2012219 + Identifier 2012220 2012226 + QuestionToken 2012226 2012228 + PropertyAccessExpression 2012228 2012317 + Identifier 2012228 2012257 + Identifier 2012258 2012317 + ColonToken 2012317 2012319 + PropertyAccessExpression 2012319 2012400 + Identifier 2012319 2012348 + Identifier 2012349 2012400 + ColonToken 2012400 2012402 + PropertyAccessExpression 2012402 2012478 + Identifier 2012402 2012431 + Identifier 2012432 2012478 + FunctionDeclaration 2012498 2013482 + Identifier 2012514 2012543 + Parameter 2012544 2012564 + Identifier 2012544 2012558 + TypeReference 2012559 2012564 + Identifier 2012559 2012564 + Parameter 2012565 2012585 + Identifier 2012565 2012579 + TypeReference 2012580 2012585 + Identifier 2012580 2012585 + Parameter 2012586 2012647 + Identifier 2012586 2012607 + FunctionType 2012608 2012647 + Parameter 2012610 2012620 + Identifier 2012610 2012614 + TypeReference 2012615 2012620 + Identifier 2012615 2012620 + Parameter 2012621 2012638 + Identifier 2012621 2012627 + TypeReference 2012628 2012638 + Identifier 2012628 2012638 + VoidKeyword 2012642 2012647 + TypeReference 2012656 2012661 + Identifier 2012656 2012661 + Block 2012661 2013482 + IfStatement 2012663 2013144 + BinaryExpression 2012677 2012727 + Identifier 2012677 2012693 + AmpersandAmpersandToken 2012693 2012696 + BinaryExpression 2012696 2012727 + PropertyAccessExpression 2012696 2012707 + Identifier 2012696 2012701 + Identifier 2012702 2012707 + AmpersandToken 2012707 2012709 + PropertyAccessExpression 2012709 2012727 + Identifier 2012709 2012719 + Identifier 2012720 2012727 + Block 2012728 2013144 + IfStatement 2012730 2013037 + CallExpression 2012748 2012776 + Identifier 2012748 2012770 + Identifier 2012771 2012775 + Block 2012777 2013037 + VariableStatement 2012779 2012839 + VariableDeclarationList 2012779 2012838 + VariableDeclaration 2012802 2012838 + Identifier 2012802 2012811 + CallExpression 2012813 2012838 + Identifier 2012813 2012832 + Identifier 2012833 2012837 + IfStatement 2012839 2013022 + BinaryExpression 2012861 2012882 + PropertyAccessExpression 2012861 2012876 + Identifier 2012861 2012869 + Identifier 2012870 2012876 + LessThanToken 2012876 2012878 + NumericLiteral 2012878 2012882 + Block 2012883 2013022 + ExpressionStatement 2012885 2012964 + CallExpression 2012885 2012963 + Identifier 2012885 2012912 + Identifier 2012913 2012917 + PropertyAccessExpression 2012918 2012952 + Identifier 2012918 2012930 + Identifier 2012931 2012952 + Identifier 2012953 2012962 + ReturnStatement 2012964 2013003 + Identifier 2012992 2013002 + ExpressionStatement 2013037 2013102 + CallExpression 2013037 2013101 + Identifier 2013037 2013056 + Identifier 2013057 2013061 + PropertyAccessExpression 2013062 2013100 + Identifier 2013062 2013074 + Identifier 2013075 2013100 + ReturnStatement 2013102 2013133 + Identifier 2013122 2013132 + VariableStatement 2013144 2013216 + VariableDeclarationList 2013144 2013215 + VariableDeclaration 2013159 2013215 + Identifier 2013159 2013165 + CallExpression 2013167 2013215 + Identifier 2013167 2013180 + Identifier 2013181 2013185 + PropertyAccessExpression 2013186 2013214 + Identifier 2013186 2013196 + Identifier 2013197 2013214 + IfStatement 2013216 2013453 + BinaryExpression 2013230 2013265 + Identifier 2013230 2013235 + AmpersandToken 2013235 2013237 + PropertyAccessExpression 2013237 2013265 + Identifier 2013237 2013247 + Identifier 2013248 2013265 + Block 2013266 2013453 + ExpressionStatement 2013268 2013307 + CallExpression 2013268 2013306 + Identifier 2013268 2013293 + Identifier 2013294 2013298 + Identifier 2013299 2013305 + VariableStatement 2013307 2013356 + VariableDeclarationList 2013307 2013355 + VariableDeclaration 2013326 2013355 + Identifier 2013326 2013328 + CallExpression 2013330 2013355 + Identifier 2013330 2013349 + Identifier 2013350 2013354 + ReturnStatement 2013356 2013442 + ConditionalExpression 2013376 2013441 + BinaryExpression 2013376 2013425 + PropertyAccessExpression 2013376 2013384 + Identifier 2013376 2013378 + Identifier 2013379 2013384 + AmpersandToken 2013384 2013386 + ParenthesizedExpression 2013386 2013425 + BinaryExpression 2013388 2013424 + PropertyAccessExpression 2013388 2013406 + Identifier 2013388 2013397 + Identifier 2013398 2013406 + BarToken 2013406 2013408 + PropertyAccessExpression 2013408 2013424 + Identifier 2013408 2013418 + Identifier 2013419 2013424 + QuestionToken 2013425 2013427 + Identifier 2013427 2013437 + ColonToken 2013437 2013439 + Identifier 2013439 2013441 + ReturnStatement 2013453 2013475 + Identifier 2013469 2013474 + FunctionDeclaration 2013482 2013648 + Identifier 2013498 2013515 + Parameter 2013516 2013526 + Identifier 2013516 2013520 + TypeReference 2013521 2013526 + Identifier 2013521 2013526 + Parameter 2013527 2013538 + Identifier 2013527 2013532 + TypeReference 2013533 2013538 + Identifier 2013533 2013538 + Block 2013539 2013648 + ReturnStatement 2013541 2013641 + CallExpression 2013557 2013640 + Identifier 2013557 2013586 + Identifier 2013587 2013591 + Identifier 2013592 2013597 + Identifier 2013598 2013639 + FunctionDeclaration 2013648 2014477 + Identifier 2013664 2013688 + Parameter 2013689 2013699 + Identifier 2013689 2013693 + TypeReference 2013694 2013699 + Identifier 2013694 2013699 + Parameter 2013700 2013711 + Identifier 2013700 2013705 + TypeReference 2013706 2013711 + Identifier 2013706 2013711 + TypeReference 2013713 2013718 + Identifier 2013713 2013718 + Block 2013718 2014477 + VariableStatement 2013720 2013779 + VariableDeclarationList 2013720 2013778 + VariableDeclaration 2013735 2013778 + Identifier 2013735 2013747 + CallExpression 2013749 2013778 + Identifier 2013749 2013766 + Identifier 2013767 2013771 + Identifier 2013772 2013777 + IfStatement 2013779 2014441 + BinaryExpression 2013793 2013827 + PropertyAccessExpression 2013793 2013810 + Identifier 2013793 2013804 + Identifier 2013805 2013810 + AmpersandToken 2013810 2013812 + PropertyAccessExpression 2013812 2013827 + Identifier 2013812 2013822 + Identifier 2013823 2013827 + Block 2013828 2014441 + IfStatement 2013830 2014362 + CallExpression 2013848 2013876 + Identifier 2013848 2013870 + Identifier 2013871 2013875 + Block 2013877 2014362 + VariableStatement 2013879 2013939 + VariableDeclarationList 2013879 2013938 + VariableDeclaration 2013902 2013938 + Identifier 2013902 2013911 + CallExpression 2013913 2013938 + Identifier 2013913 2013932 + Identifier 2013933 2013937 + IfStatement 2013939 2014159 + BinaryExpression 2013961 2014007 + CallExpression 2013961 2013979 + Identifier 2013961 2013973 + Identifier 2013974 2013978 + AmpersandAmpersandToken 2013979 2013982 + BinaryExpression 2013982 2014007 + Identifier 2013982 2013991 + EqualsEqualsEqualsToken 2013991 2013995 + StringLiteral 2013995 2014007 + Block 2014008 2014159 + ExpressionStatement 2014010 2014099 + CallExpression 2014010 2014098 + Identifier 2014010 2014037 + Identifier 2014038 2014042 + PropertyAccessExpression 2014043 2014087 + Identifier 2014043 2014055 + Identifier 2014056 2014087 + Identifier 2014088 2014097 + ReturnStatement 2014099 2014140 + Identifier 2014127 2014139 + IfStatement 2014159 2014347 + BinaryExpression 2014181 2014202 + PropertyAccessExpression 2014181 2014196 + Identifier 2014181 2014189 + Identifier 2014190 2014196 + LessThanToken 2014196 2014198 + NumericLiteral 2014198 2014202 + Block 2014203 2014347 + ExpressionStatement 2014205 2014287 + CallExpression 2014205 2014286 + Identifier 2014205 2014232 + Identifier 2014233 2014237 + PropertyAccessExpression 2014238 2014275 + Identifier 2014238 2014250 + Identifier 2014251 2014275 + Identifier 2014276 2014285 + ReturnStatement 2014287 2014328 + Identifier 2014315 2014327 + ExpressionStatement 2014362 2014430 + CallExpression 2014362 2014429 + Identifier 2014362 2014381 + Identifier 2014382 2014386 + PropertyAccessExpression 2014387 2014428 + Identifier 2014387 2014399 + Identifier 2014400 2014428 + ReturnStatement 2014441 2014470 + Identifier 2014457 2014469 + FunctionDeclaration 2014477 2014897 + Identifier 2014493 2014523 + Parameter 2014524 2014554 + Identifier 2014524 2014528 + TypeReference 2014529 2014554 + Identifier 2014529 2014554 + Parameter 2014555 2014588 + Identifier 2014555 2014565 + UnionType 2014566 2014588 + TypeReference 2014566 2014576 + Identifier 2014566 2014576 + UndefinedKeyword 2014578 2014588 + Parameter 2014589 2014609 + Identifier 2014589 2014599 + QuestionToken 2014599 2014600 + BooleanKeyword 2014601 2014609 + Block 2014610 2014897 + ReturnStatement 2014612 2014890 + ConditionalExpression 2014628 2014889 + BinaryExpression 2014628 2014665 + PropertyAccessExpression 2014628 2014639 + Identifier 2014628 2014633 + Identifier 2014634 2014639 + AmpersandToken 2014639 2014641 + PropertyAccessExpression 2014641 2014665 + Identifier 2014641 2014651 + Identifier 2014652 2014665 + QuestionToken 2014665 2014667 + CallExpression 2014667 2014732 + Identifier 2014667 2014692 + AsExpression 2014693 2014720 + Identifier 2014693 2014697 + TypeReference 2014700 2014720 + Identifier 2014700 2014720 + Identifier 2014721 2014731 + ColonToken 2014732 2014734 + CallExpression 2014734 2014889 + Identifier 2014734 2014792 + Identifier 2014793 2014797 + PropertyAccessExpression 2014798 2014814 + Identifier 2014798 2014803 + Identifier 2014804 2014814 + CallExpression 2014815 2014855 + Identifier 2014815 2014838 + PropertyAccessExpression 2014839 2014854 + Identifier 2014839 2014843 + Identifier 2014844 2014854 + PropertyAccessExpression 2014856 2014866 + Identifier 2014856 2014861 + Identifier 2014862 2014866 + Identifier 2014867 2014877 + Identifier 2014878 2014888 + FunctionDeclaration 2014897 2015379 + Identifier 2014913 2014938 + Parameter 2014939 2014964 + Identifier 2014939 2014943 + TypeReference 2014944 2014964 + Identifier 2014944 2014964 + Parameter 2014965 2014998 + Identifier 2014965 2014975 + UnionType 2014976 2014998 + TypeReference 2014976 2014986 + Identifier 2014976 2014986 + UndefinedKeyword 2014988 2014998 + Block 2014999 2015379 + VariableStatement 2015001 2015061 + VariableDeclarationList 2015001 2015060 + VariableDeclaration 2015016 2015060 + Identifier 2015016 2015025 + CallExpression 2015027 2015060 + Identifier 2015027 2015043 + PropertyAccessExpression 2015044 2015059 + Identifier 2015044 2015048 + Identifier 2015049 2015059 + VariableStatement 2015061 2015148 + VariableDeclarationList 2015061 2015147 + VariableDeclaration 2015076 2015147 + Identifier 2015076 2015092 + CallExpression 2015094 2015147 + Identifier 2015094 2015120 + Identifier 2015121 2015129 + PropertyAccessExpression 2015130 2015146 + Identifier 2015130 2015135 + Identifier 2015136 2015146 + ReturnStatement 2015148 2015372 + CallExpression 2015164 2015371 + Identifier 2015164 2015192 + CallExpression 2015193 2015334 + Identifier 2015193 2015237 + Identifier 2015238 2015242 + PropertyAccessExpression 2015243 2015259 + Identifier 2015243 2015248 + Identifier 2015249 2015259 + CallExpression 2015260 2015311 + Identifier 2015260 2015277 + Identifier 2015278 2015293 + PropertyAccessExpression 2015294 2015310 + Identifier 2015294 2015299 + Identifier 2015300 2015310 + PropertyAccessExpression 2015312 2015322 + Identifier 2015312 2015317 + Identifier 2015318 2015322 + Identifier 2015323 2015333 + Identifier 2015335 2015340 + BinaryExpression 2015341 2015370 + Identifier 2015341 2015357 + ExclamationEqualsEqualsToken 2015357 2015361 + Identifier 2015361 2015370 + FunctionDeclaration 2015379 2015770 + Identifier 2015395 2015414 + Parameter 2015415 2015434 + Identifier 2015415 2015419 + TypeReference 2015420 2015434 + Identifier 2015420 2015434 + Parameter 2015435 2015468 + Identifier 2015435 2015445 + UnionType 2015446 2015468 + TypeReference 2015446 2015456 + Identifier 2015446 2015456 + UndefinedKeyword 2015458 2015468 + Block 2015469 2015770 + VariableStatement 2015471 2015651 + VariableDeclarationList 2015471 2015650 + VariableDeclaration 2015486 2015650 + Identifier 2015486 2015495 + ConditionalExpression 2015497 2015650 + BinaryExpression 2015497 2015552 + CallExpression 2015497 2015521 + Identifier 2015497 2015515 + Identifier 2015516 2015520 + AmpersandAmpersandToken 2015521 2015524 + CallExpression 2015524 2015552 + Identifier 2015524 2015541 + PropertyAccessExpression 2015542 2015551 + Identifier 2015542 2015546 + Identifier 2015547 2015551 + QuestionToken 2015552 2015554 + CallExpression 2015554 2015614 + Identifier 2015554 2015571 + CallExpression 2015572 2015602 + Identifier 2015572 2015591 + PropertyAccessExpression 2015592 2015601 + Identifier 2015592 2015596 + Identifier 2015597 2015601 + PropertyAccessExpression 2015603 2015613 + Identifier 2015603 2015608 + Identifier 2015609 2015613 + ColonToken 2015614 2015616 + CallExpression 2015616 2015650 + Identifier 2015616 2015639 + PropertyAccessExpression 2015640 2015649 + Identifier 2015640 2015644 + Identifier 2015645 2015649 + ReturnStatement 2015651 2015763 + CallExpression 2015667 2015762 + Identifier 2015667 2015712 + Identifier 2015713 2015717 + PropertyAccessExpression 2015718 2015728 + Identifier 2015718 2015723 + Identifier 2015724 2015728 + Identifier 2015729 2015738 + PropertyAccessExpression 2015739 2015750 + Identifier 2015739 2015744 + Identifier 2015745 2015750 + Identifier 2015751 2015761 + FunctionDeclaration 2015770 2016035 + Identifier 2015786 2015808 + Parameter 2015809 2015819 + Identifier 2015809 2015813 + TypeReference 2015814 2015819 + Identifier 2015814 2015819 + Block 2015820 2016035 + WhileStatement 2015822 2015941 + BinaryExpression 2015839 2015894 + PropertyAccessExpression 2015839 2015855 + PropertyAccessExpression 2015839 2015850 + Identifier 2015839 2015843 + Identifier 2015844 2015850 + Identifier 2015851 2015855 + EqualsEqualsEqualsToken 2015855 2015859 + PropertyAccessExpression 2015859 2015894 + Identifier 2015859 2015870 + Identifier 2015871 2015894 + Block 2015895 2015941 + ExpressionStatement 2015897 2015930 + BinaryExpression 2015897 2015929 + Identifier 2015897 2015915 + EqualsToken 2015915 2015917 + PropertyAccessExpression 2015917 2015929 + Identifier 2015917 2015922 + Identifier 2015923 2015929 + ReturnStatement 2015941 2016028 + BinaryExpression 2015957 2016027 + CallExpression 2015957 2015992 + Identifier 2015957 2015979 + PropertyAccessExpression 2015980 2015991 + Identifier 2015980 2015984 + Identifier 2015985 2015991 + AmpersandAmpersandToken 2015992 2015995 + BinaryExpression 2015995 2016027 + PropertyAccessExpression 2015995 2016018 + PropertyAccessExpression 2015995 2016007 + Identifier 2015995 2016000 + Identifier 2016001 2016007 + Identifier 2016008 2016018 + EqualsEqualsEqualsToken 2016018 2016022 + Identifier 2016022 2016027 + FunctionDeclaration 2016035 2016704 + Identifier 2016100 2016144 + Parameter 2016145 2016163 + Identifier 2016145 2016153 + TypeReference 2016154 2016163 + Identifier 2016154 2016163 + Parameter 2016164 2016179 + Identifier 2016164 2016173 + TypeReference 2016174 2016179 + Identifier 2016174 2016179 + UnionType 2016181 2016200 + TypeReference 2016181 2016188 + Identifier 2016181 2016188 + UndefinedKeyword 2016190 2016200 + Block 2016200 2016704 + ForStatement 2016202 2016697 + VariableDeclarationList 2016217 2016291 + VariableDeclaration 2016220 2016291 + Identifier 2016220 2016236 + CallExpression 2016238 2016291 + Identifier 2016238 2016281 + Identifier 2016282 2016290 + PrefixUnaryExpression 2016292 2016310 + PrefixUnaryExpression 2016294 2016310 + Identifier 2016295 2016310 + BinaryExpression 2016311 2016365 + Identifier 2016311 2016327 + EqualsToken 2016327 2016329 + CallExpression 2016329 2016365 + Identifier 2016329 2016348 + Identifier 2016349 2016364 + Block 2016366 2016697 + VariableStatement 2016368 2016417 + VariableDeclarationList 2016368 2016416 + VariableDeclaration 2016387 2016416 + ObjectBindingPattern 2016387 2016398 + BindingElement 2016389 2016396 + Identifier 2016389 2016396 + Identifier 2016400 2016416 + VariableStatement 2016417 2016496 + VariableDeclarationList 2016417 2016495 + VariableDeclaration 2016436 2016495 + Identifier 2016436 2016441 + CallExpression 2016443 2016495 + Identifier 2016443 2016477 + Identifier 2016478 2016484 + Identifier 2016485 2016494 + VariableStatement 2016496 2016616 + VariableDeclarationList 2016496 2016615 + VariableDeclaration 2016515 2016615 + Identifier 2016515 2016520 + BinaryExpression 2016522 2016615 + ParenthesizedExpression 2016522 2016567 + BinaryExpression 2016524 2016566 + PropertyAccessExpression 2016524 2016538 + Identifier 2016524 2016530 + Identifier 2016531 2016538 + AmpersandAmpersandToken 2016538 2016541 + CallExpression 2016541 2016566 + PropertyAccessExpression 2016541 2016560 + PropertyAccessExpression 2016541 2016556 + Identifier 2016541 2016548 + Identifier 2016549 2016556 + Identifier 2016557 2016560 + Identifier 2016561 2016565 + BarBarToken 2016567 2016570 + ParenthesizedExpression 2016570 2016615 + BinaryExpression 2016572 2016614 + PropertyAccessExpression 2016572 2016586 + Identifier 2016572 2016578 + Identifier 2016579 2016586 + AmpersandAmpersandToken 2016586 2016589 + CallExpression 2016589 2016614 + PropertyAccessExpression 2016589 2016608 + PropertyAccessExpression 2016589 2016604 + Identifier 2016589 2016596 + Identifier 2016597 2016604 + Identifier 2016605 2016608 + Identifier 2016609 2016613 + IfStatement 2016616 2016686 + Identifier 2016634 2016638 + Block 2016639 2016686 + ReturnStatement 2016641 2016671 + Identifier 2016665 2016670 + FunctionDeclaration 2016704 2017699 + Identifier 2016720 2016760 + Parameter 2016761 2016786 + Identifier 2016761 2016767 + TypeReference 2016768 2016786 + Identifier 2016768 2016786 + BooleanKeyword 2016788 2016796 + Block 2016796 2017699 + IfStatement 2016798 2016971 + PrefixUnaryExpression 2016812 2016839 + CallExpression 2016813 2016839 + Identifier 2016813 2016831 + Identifier 2016832 2016838 + Block 2016840 2016971 + ReturnStatement 2016842 2016960 + CallExpression 2016862 2016959 + Identifier 2016862 2016881 + Identifier 2016882 2016888 + PropertyAccessExpression 2016889 2016958 + Identifier 2016889 2016901 + Identifier 2016902 2016958 + IfStatement 2016971 2017667 + PrefixUnaryExpression 2016987 2017019 + CallExpression 2016988 2017019 + Identifier 2016988 2017004 + PropertyAccessExpression 2017005 2017018 + Identifier 2017005 2017011 + Identifier 2017012 2017018 + Block 2017020 2017667 + IfStatement 2017022 2017321 + PrefixUnaryExpression 2017040 2017065 + CallExpression 2017041 2017065 + Identifier 2017041 2017057 + Identifier 2017058 2017064 + Block 2017066 2017321 + ReturnStatement 2017068 2017306 + CallExpression 2017092 2017305 + Identifier 2017092 2017111 + Identifier 2017112 2017118 + PropertyAccessExpression 2017119 2017304 + Identifier 2017119 2017131 + Identifier 2017132 2017304 + VariableStatement 2017321 2017454 + VariableDeclarationList 2017321 2017453 + VariableDeclaration 2017342 2017453 + Identifier 2017342 2017356 + BinaryExpression 2017358 2017453 + CallExpression 2017358 2017392 + Identifier 2017358 2017377 + PropertyAccessExpression 2017378 2017391 + Identifier 2017378 2017384 + Identifier 2017385 2017391 + AmpersandAmpersandToken 2017392 2017395 + BinaryExpression 2017395 2017453 + PropertyAccessExpression 2017395 2017428 + PropertyAccessExpression 2017395 2017423 + PropertyAccessExpression 2017395 2017409 + Identifier 2017395 2017402 + Identifier 2017403 2017409 + Identifier 2017410 2017423 + Identifier 2017424 2017428 + EqualsEqualsEqualsToken 2017428 2017432 + PropertyAccessExpression 2017432 2017453 + Identifier 2017432 2017443 + Identifier 2017444 2017453 + IfStatement 2017454 2017656 + BinaryExpression 2017472 2017538 + PrefixUnaryExpression 2017472 2017520 + CallExpression 2017473 2017520 + Identifier 2017473 2017512 + Identifier 2017513 2017519 + AmpersandAmpersandToken 2017520 2017523 + PrefixUnaryExpression 2017523 2017538 + Identifier 2017525 2017538 + Block 2017539 2017656 + ReturnStatement 2017541 2017641 + CallExpression 2017565 2017640 + Identifier 2017565 2017584 + Identifier 2017585 2017591 + PropertyAccessExpression 2017592 2017623 + Identifier 2017592 2017604 + Identifier 2017605 2017623 + CallExpression 2017624 2017639 + Identifier 2017624 2017631 + Identifier 2017632 2017638 + ReturnStatement 2017667 2017692 + FalseKeyword 2017685 2017691 + FunctionDeclaration 2017699 2018092 + Identifier 2017715 2017748 + Parameter 2017749 2017774 + Identifier 2017749 2017755 + TypeReference 2017756 2017774 + Identifier 2017756 2017774 + TypeReference 2017776 2017781 + Identifier 2017776 2017781 + Block 2017781 2018092 + ExpressionStatement 2017783 2017841 + CallExpression 2017783 2017840 + Identifier 2017783 2017832 + Identifier 2017833 2017839 + VariableStatement 2017841 2017914 + VariableDeclarationList 2017841 2017913 + VariableDeclaration 2017856 2017913 + Identifier 2017856 2017863 + CallExpression 2017865 2017913 + Identifier 2017865 2017905 + Identifier 2017906 2017912 + IfStatement 2017914 2018060 + Identifier 2017928 2017934 + Block 2017935 2018060 + ExpressionStatement 2017937 2018049 + CallExpression 2017937 2018048 + Identifier 2017937 2017975 + Identifier 2017976 2017982 + Identifier 2017983 2018019 + FalseKeyword 2018020 2018047 + ReturnStatement 2018060 2018085 + Identifier 2018076 2018084 + FunctionDeclaration 2018092 2018544 + Identifier 2018108 2018148 + Parameter 2018149 2018174 + Identifier 2018149 2018155 + TypeReference 2018156 2018174 + Identifier 2018156 2018174 + UnionType 2018176 2018195 + TypeReference 2018176 2018183 + Identifier 2018176 2018183 + UndefinedKeyword 2018185 2018195 + Block 2018195 2018544 + IfStatement 2018197 2018281 + PrefixUnaryExpression 2018211 2018236 + CallExpression 2018212 2018236 + Identifier 2018212 2018228 + Identifier 2018229 2018235 + Block 2018237 2018281 + ReturnStatement 2018239 2018270 + Identifier 2018259 2018269 + VariableStatement 2018281 2018328 + VariableDeclarationList 2018281 2018327 + VariableDeclaration 2018298 2018327 + Identifier 2018298 2018304 + CallExpression 2018306 2018327 + Identifier 2018306 2018319 + Identifier 2018320 2018326 + IfStatement 2018328 2018499 + BinaryExpression 2018342 2018376 + PropertyAccessExpression 2018342 2018362 + Identifier 2018342 2018347 + Identifier 2018348 2018362 + EqualsEqualsEqualsToken 2018362 2018366 + Identifier 2018366 2018376 + Block 2018377 2018499 + ExpressionStatement 2018379 2018488 + BinaryExpression 2018379 2018487 + PropertyAccessExpression 2018379 2018413 + Identifier 2018379 2018398 + Identifier 2018399 2018413 + EqualsToken 2018413 2018415 + CallExpression 2018415 2018487 + Identifier 2018415 2018459 + PropertyAccessExpression 2018460 2018478 + Identifier 2018460 2018466 + Identifier 2018467 2018478 + Identifier 2018479 2018486 + ReturnStatement 2018499 2018537 + PropertyAccessExpression 2018515 2018536 + Identifier 2018515 2018521 + Identifier 2018522 2018536 + FunctionDeclaration 2018544 2018759 + Identifier 2018560 2018595 + Parameter 2018596 2018610 + Identifier 2018596 2018604 + TypeReference 2018605 2018610 + Identifier 2018605 2018610 + Parameter 2018611 2018645 + Identifier 2018611 2018637 + TypeReference 2018638 2018645 + Identifier 2018638 2018645 + UnionType 2018647 2018666 + TypeReference 2018647 2018654 + Identifier 2018647 2018654 + UndefinedKeyword 2018656 2018666 + Block 2018666 2018759 + ReturnStatement 2018668 2018752 + CallExpression 2018684 2018751 + Identifier 2018684 2018702 + Identifier 2018703 2018711 + PropertyAccessExpression 2018712 2018750 + Identifier 2018712 2018738 + Identifier 2018739 2018750 + FunctionDeclaration 2018759 2021925 + Identifier 2018775 2018812 + Parameter 2018813 2018827 + Identifier 2018813 2018821 + TypeReference 2018822 2018827 + Identifier 2018822 2018827 + Parameter 2018828 2018853 + Identifier 2018828 2018834 + TypeReference 2018835 2018853 + Identifier 2018835 2018853 + Parameter 2018854 2018900 + Identifier 2018854 2018880 + UnionType 2018881 2018900 + TypeReference 2018881 2018888 + Identifier 2018881 2018888 + UndefinedKeyword 2018890 2018900 + BooleanKeyword 2018902 2018910 + Block 2018910 2021925 + VariableStatement 2018912 2019178 + VariableDeclarationList 2018912 2019177 + VariableDeclaration 2019142 2019177 + Identifier 2019142 2019157 + UnionType 2019158 2019177 + TypeReference 2019158 2019165 + Identifier 2019158 2019165 + UndefinedKeyword 2019167 2019177 + VariableStatement 2019178 2019237 + VariableDeclarationList 2019178 2019236 + VariableDeclaration 2019193 2019236 + Identifier 2019193 2019204 + CallExpression 2019206 2019236 + Identifier 2019206 2019226 + Identifier 2019227 2019235 + IfStatement 2019237 2019639 + Identifier 2019251 2019261 + Block 2019262 2019639 + ExpressionStatement 2019264 2019628 + CallExpression 2019264 2019627 + Identifier 2019264 2019285 + Identifier 2019286 2019296 + ArrowFunction 2019297 2019626 + Parameter 2019299 2019313 + Identifier 2019299 2019305 + TypeReference 2019306 2019313 + Identifier 2019306 2019313 + EqualsGreaterThanToken 2019314 2019317 + Block 2019317 2019626 + VariableStatement 2019319 2019374 + VariableDeclarationList 2019319 2019373 + VariableDeclaration 2019342 2019373 + Identifier 2019342 2019347 + PropertyAccessExpression 2019349 2019373 + Identifier 2019349 2019356 + Identifier 2019357 2019373 + IfStatement 2019374 2019611 + BinaryExpression 2019396 2019509 + BinaryExpression 2019396 2019462 + BinaryExpression 2019396 2019428 + Identifier 2019396 2019400 + AmpersandAmpersandToken 2019400 2019403 + CallExpression 2019403 2019428 + Identifier 2019403 2019422 + Identifier 2019423 2019427 + AmpersandAmpersandToken 2019428 2019431 + CallExpression 2019431 2019462 + Identifier 2019431 2019451 + PropertyAccessExpression 2019452 2019461 + Identifier 2019452 2019456 + Identifier 2019457 2019461 + AmpersandAmpersandToken 2019462 2019465 + BinaryExpression 2019465 2019509 + PropertyAccessExpression 2019465 2019487 + PropertyAccessExpression 2019465 2019475 + Identifier 2019465 2019470 + Identifier 2019471 2019475 + Identifier 2019476 2019487 + EqualsEqualsEqualsToken 2019487 2019491 + PropertyAccessExpression 2019491 2019509 + Identifier 2019491 2019497 + Identifier 2019498 2019509 + Block 2019510 2019611 + ExpressionStatement 2019512 2019558 + BinaryExpression 2019512 2019557 + Identifier 2019512 2019548 + EqualsToken 2019548 2019550 + Identifier 2019550 2019557 + ReturnStatement 2019558 2019592 + TrueKeyword 2019586 2019591 + VariableStatement 2019639 2019688 + VariableDeclarationList 2019639 2019687 + VariableDeclaration 2019654 2019687 + Identifier 2019654 2019663 + CallExpression 2019665 2019687 + Identifier 2019665 2019680 + Identifier 2019681 2019686 + IfStatement 2019688 2021895 + Identifier 2019702 2019716 + Block 2019717 2021895 + VariableStatement 2019719 2019807 + VariableDeclarationList 2019719 2019806 + VariableDeclaration 2019738 2019806 + Identifier 2019738 2019752 + CallExpression 2019754 2019806 + PropertyAccessExpression 2019754 2019773 + Identifier 2019754 2019760 + Identifier 2019761 2019773 + PropertyAccessExpression 2019774 2019805 + Identifier 2019774 2019788 + Identifier 2019789 2019805 + VariableStatement 2019807 2019893 + VariableDeclarationList 2019807 2019892 + VariableDeclaration 2019826 2019892 + Identifier 2019826 2019836 + CallExpression 2019838 2019892 + PropertyAccessExpression 2019838 2019857 + Identifier 2019838 2019844 + Identifier 2019845 2019857 + CallExpression 2019858 2019891 + Identifier 2019858 2019876 + Identifier 2019877 2019890 + IfStatement 2019893 2021603 + PropertyAccessExpression 2020217 2020260 + Identifier 2020217 2020242 + QuestionDotToken 2020242 2020244 + Identifier 2020244 2020260 + Block 2020261 2021603 + VariableStatement 2020263 2020349 + VariableDeclarationList 2020263 2020348 + VariableDeclaration 2020286 2020348 + Identifier 2020286 2020303 + PropertyAccessExpression 2020305 2020348 + Identifier 2020305 2020331 + Identifier 2020332 2020348 + VariableStatement 2020349 2020425 + VariableDeclarationList 2020349 2020424 + VariableDeclaration 2020372 2020424 + Identifier 2020372 2020385 + CallExpression 2020387 2020424 + Identifier 2020387 2020406 + Identifier 2020407 2020423 + ExpressionStatement 2020425 2020472 + CallExpression 2020425 2020471 + PropertyAccessExpression 2020425 2020455 + Identifier 2020425 2020448 + Identifier 2020449 2020455 + PrefixUnaryExpression 2020456 2020470 + PrefixUnaryExpression 2020457 2020470 + Identifier 2020458 2020470 + IfStatement 2020472 2021588 + CallExpression 2020494 2020542 + Identifier 2020494 2020506 + Identifier 2020507 2020519 + ArrowFunction 2020520 2020541 + Parameter 2020520 2020522 + Identifier 2020520 2020522 + EqualsGreaterThanToken 2020522 2020525 + BinaryExpression 2020525 2020541 + Identifier 2020525 2020535 + EqualsEqualsEqualsToken 2020535 2020539 + Identifier 2020539 2020541 + Block 2020543 2021588 + VariableStatement 2020545 2020908 + VariableDeclarationList 2020545 2020907 + VariableDeclaration 2020572 2020907 + Identifier 2020572 2020583 + CallExpression 2020585 2020907 + Identifier 2020585 2020591 + Identifier 2020592 2020623 + PropertyAccessExpression 2020624 2020799 + Identifier 2020624 2020661 + Identifier 2020662 2020799 + Identifier 2020800 2020834 + CallExpression 2020835 2020883 + Identifier 2020835 2020873 + Identifier 2020874 2020882 + ExpressionStatement 2020908 2021535 + CallExpression 2020908 2021534 + Identifier 2020908 2020946 + Identifier 2020947 2020983 + CallExpression 2020984 2021236 + Identifier 2020984 2021033 + Identifier 2021034 2021080 + PropertyAccessExpression 2021081 2021169 + Identifier 2021081 2021122 + Identifier 2021123 2021169 + Identifier 2021170 2021208 + CallExpression 2021237 2021510 + Identifier 2021237 2021286 + Identifier 2021287 2021330 + PropertyAccessExpression 2021331 2021443 + Identifier 2021331 2021372 + Identifier 2021373 2021443 + Identifier 2021444 2021482 + ReturnStatement 2021535 2021569 + TrueKeyword 2021563 2021568 + ExpressionStatement 2021603 2021858 + CallExpression 2021603 2021857 + Identifier 2021603 2021622 + Identifier 2021623 2021646 + PropertyAccessExpression 2021647 2021757 + Identifier 2021647 2021676 + Identifier 2021677 2021757 + Identifier 2021758 2021784 + CallExpression 2021785 2021841 + Identifier 2021785 2021817 + BinaryExpression 2021818 2021840 + PropertyAccessExpression 2021818 2021832 + Identifier 2021818 2021827 + Identifier 2021828 2021832 + BarBarToken 2021832 2021835 + Identifier 2021835 2021840 + ReturnStatement 2021858 2021884 + TrueKeyword 2021878 2021883 + ReturnStatement 2021895 2021918 + FalseKeyword 2021911 2021917 + FunctionDeclaration 2021925 2022329 + Identifier 2021941 2021975 + Parameter 2021976 2022048 + Identifier 2021976 2021980 + UnionType 2021981 2022048 + TypeReference 2021981 2022005 + Identifier 2021981 2022005 + TypeReference 2022007 2022032 + Identifier 2022007 2022032 + TypeReference 2022034 2022048 + Identifier 2022034 2022048 + Parameter 2022049 2022062 + Identifier 2022049 2022054 + TypeReference 2022055 2022062 + Identifier 2022055 2022062 + Block 2022063 2022329 + ReturnStatement 2022065 2022322 + BinaryExpression 2022081 2022321 + ParenthesizedExpression 2022081 2022172 + BinaryExpression 2022083 2022171 + CallExpression 2022083 2022118 + Identifier 2022083 2022112 + Identifier 2022113 2022117 + BarBarToken 2022118 2022121 + BinaryExpression 2022121 2022171 + CallExpression 2022121 2022142 + Identifier 2022121 2022136 + Identifier 2022137 2022141 + AmpersandAmpersandToken 2022142 2022145 + CallExpression 2022145 2022171 + Identifier 2022145 2022165 + Identifier 2022166 2022170 + AmpersandAmpersandToken 2022172 2022188 + BinaryExpression 2022188 2022321 + CallExpression 2022188 2022287 + Identifier 2022188 2022205 + Identifier 2022206 2022210 + TrueKeyword 2022211 2022242 + FalseKeyword 2022243 2022286 + EqualsEqualsEqualsToken 2022287 2022291 + CallExpression 2022291 2022321 + Identifier 2022291 2022315 + Identifier 2022316 2022320 + FunctionDeclaration 2022329 2030164 + Identifier 2022345 2022390 + Parameter 2022391 2022437 + Identifier 2022391 2022395 + UnionType 2022396 2022437 + TypeReference 2022396 2022421 + Identifier 2022396 2022421 + TypeReference 2022423 2022437 + Identifier 2022423 2022437 + Parameter 2022438 2022471 + Identifier 2022438 2022443 + UnionType 2022444 2022471 + TypeReference 2022444 2022455 + Identifier 2022444 2022455 + TypeReference 2022457 2022471 + Identifier 2022457 2022471 + Parameter 2022472 2022487 + Identifier 2022472 2022481 + TypeReference 2022482 2022487 + Identifier 2022482 2022487 + Parameter 2022488 2022526 + Identifier 2022488 2022494 + UnionType 2022495 2022526 + TypeReference 2022495 2022506 + Identifier 2022495 2022506 + TypeReference 2022508 2022526 + Identifier 2022508 2022526 + Parameter 2022527 2022560 + Identifier 2022527 2022537 + UnionType 2022538 2022560 + TypeReference 2022538 2022548 + Identifier 2022538 2022548 + UndefinedKeyword 2022550 2022560 + Parameter 2022561 2022581 + Identifier 2022561 2022571 + QuestionToken 2022571 2022572 + BooleanKeyword 2022573 2022581 + Block 2022582 2030164 + VariableStatement 2022584 2022649 + VariableDeclarationList 2022584 2022648 + VariableDeclaration 2022599 2022648 + Identifier 2022599 2022612 + PropertyAccessExpression 2022614 2022648 + CallExpression 2022614 2022633 + Identifier 2022614 2022627 + Identifier 2022628 2022632 + Identifier 2022634 2022648 + VariableStatement 2022649 2022712 + VariableDeclarationList 2022649 2022711 + VariableDeclaration 2022664 2022711 + Identifier 2022664 2022679 + CallExpression 2022681 2022711 + Identifier 2022681 2022705 + Identifier 2022706 2022710 + VariableStatement 2022712 2022868 + VariableDeclarationList 2022712 2022867 + VariableDeclaration 2022727 2022867 + Identifier 2022727 2022740 + CallExpression 2022742 2022867 + Identifier 2022742 2022758 + ConditionalExpression 2022759 2022866 + BinaryExpression 2022759 2022828 + BinaryExpression 2022759 2022797 + Identifier 2022759 2022773 + ExclamationEqualsEqualsToken 2022773 2022777 + PropertyAccessExpression 2022777 2022797 + Identifier 2022777 2022792 + Identifier 2022793 2022797 + BarBarToken 2022797 2022800 + CallExpression 2022800 2022828 + Identifier 2022800 2022822 + Identifier 2022823 2022827 + QuestionToken 2022828 2022830 + CallExpression 2022830 2022855 + Identifier 2022830 2022845 + Identifier 2022846 2022854 + ColonToken 2022855 2022857 + Identifier 2022857 2022866 + VariableStatement 2022868 2022956 + VariableDeclarationList 2022868 2022955 + VariableDeclaration 2022883 2022955 + Identifier 2022883 2022893 + BinaryExpression 2022895 2022955 + CallExpression 2022895 2022919 + Identifier 2022895 2022905 + Identifier 2022906 2022918 + BarBarToken 2022919 2022922 + BinaryExpression 2022922 2022955 + Identifier 2022922 2022935 + EqualsEqualsEqualsToken 2022935 2022939 + Identifier 2022939 2022955 + VariableStatement 2022956 2022995 + VariableDeclarationList 2022956 2022994 + VariableDeclaration 2022969 2022994 + Identifier 2022969 2022974 + UnionType 2022975 2022994 + TypeReference 2022975 2022982 + Identifier 2022975 2022982 + UndefinedKeyword 2022984 2022994 + IfStatement 2022995 2026283 + CallExpression 2023009 2023035 + Identifier 2023009 2023028 + Identifier 2023029 2023034 + Block 2023036 2025732 + IfStatement 2023038 2023686 + BinaryExpression 2023056 2023296 + BinaryExpression 2023056 2023251 + BinaryExpression 2023056 2023153 + Identifier 2023056 2023089 + LessThanToken 2023089 2023091 + PropertyAccessExpression 2023091 2023153 + Identifier 2023091 2023120 + Identifier 2023121 2023153 + BarBarToken 2023153 2023156 + BinaryExpression 2023156 2023251 + Identifier 2023156 2023189 + LessThanToken 2023189 2023191 + PropertyAccessExpression 2023191 2023251 + Identifier 2023191 2023220 + Identifier 2023221 2023251 + BarBarToken 2023251 2023254 + PrefixUnaryExpression 2023254 2023296 + Identifier 2023273 2023296 + Block 2023311 2023686 + IfStatement 2023313 2023490 + BinaryExpression 2023335 2023373 + Identifier 2023335 2023349 + ExclamationEqualsEqualsToken 2023349 2023353 + PropertyAccessExpression 2023353 2023373 + Identifier 2023353 2023368 + Identifier 2023369 2023373 + Block 2023374 2023490 + ExpressionStatement 2023376 2023471 + CallExpression 2023376 2023470 + Identifier 2023376 2023422 + Identifier 2023423 2023427 + PropertyAccessExpression 2023428 2023469 + Identifier 2023428 2023448 + Identifier 2023449 2023469 + IfStatement 2023490 2023671 + BinaryExpression 2023512 2023554 + Identifier 2023512 2023526 + ExclamationEqualsEqualsToken 2023526 2023530 + PropertyAccessExpression 2023530 2023554 + Identifier 2023530 2023545 + Identifier 2023546 2023554 + Block 2023555 2023671 + ExpressionStatement 2023557 2023652 + CallExpression 2023557 2023651 + Identifier 2023557 2023603 + Identifier 2023604 2023608 + PropertyAccessExpression 2023609 2023650 + Identifier 2023609 2023629 + Identifier 2023630 2023650 + VariableStatement 2023686 2023802 + VariableDeclarationList 2023686 2023801 + VariableDeclaration 2023707 2023801 + Identifier 2023707 2023729 + CallExpression 2023731 2023801 + Identifier 2023731 2023775 + PropertyAccessExpression 2023776 2023793 + Identifier 2023776 2023781 + Identifier 2023782 2023793 + Identifier 2023794 2023800 + IfStatement 2023802 2024121 + BinaryExpression 2023820 2023964 + BinaryExpression 2023820 2023901 + BinaryExpression 2023820 2023859 + Identifier 2023820 2023834 + AmpersandAmpersandToken 2023834 2023837 + Identifier 2023837 2023859 + AmpersandAmpersandToken 2023859 2023862 + PropertyAccessExpression 2023862 2023901 + Identifier 2023862 2023884 + Identifier 2023885 2023901 + AmpersandAmpersandToken 2023901 2023904 + CallExpression 2023904 2023964 + Identifier 2023904 2023924 + PropertyAccessExpression 2023925 2023963 + Identifier 2023925 2023946 + Identifier 2023947 2023963 + Block 2023965 2024121 + ExpressionStatement 2023967 2024106 + CallExpression 2023967 2024105 + Identifier 2023967 2024003 + Identifier 2024004 2024009 + PropertyAccessExpression 2024010 2024089 + Identifier 2024010 2024022 + Identifier 2024023 2024089 + CallExpression 2024090 2024104 + Identifier 2024090 2024097 + Identifier 2024098 2024103 + IfStatement 2024121 2024575 + Identifier 2024139 2024148 + Block 2024149 2024575 + IfStatement 2024151 2024298 + Identifier 2024173 2024194 + Block 2024195 2024298 + ReturnStatement 2024197 2024279 + ConditionalExpression 2024225 2024278 + CallExpression 2024225 2024251 + Identifier 2024225 2024237 + Identifier 2024238 2024250 + QuestionToken 2024251 2024253 + Identifier 2024253 2024263 + ColonToken 2024263 2024265 + Identifier 2024265 2024278 + IfStatement 2024298 2024560 + BinaryExpression 2024320 2024383 + CallExpression 2024320 2024369 + Identifier 2024320 2024362 + Identifier 2024363 2024368 + EqualsEqualsEqualsToken 2024369 2024373 + Identifier 2024373 2024383 + Block 2024384 2024560 + ExpressionStatement 2024386 2024504 + CallExpression 2024386 2024503 + Identifier 2024386 2024426 + Identifier 2024427 2024432 + PropertyAccessExpression 2024433 2024502 + Identifier 2024433 2024445 + Identifier 2024446 2024502 + ReturnStatement 2024504 2024541 + Identifier 2024532 2024540 + ExpressionStatement 2024575 2024691 + BinaryExpression 2024575 2024690 + Identifier 2024575 2024595 + EqualsToken 2024595 2024597 + BinaryExpression 2024597 2024690 + Identifier 2024597 2024619 + AmpersandAmpersandToken 2024619 2024622 + CallExpression 2024622 2024690 + Identifier 2024622 2024657 + Identifier 2024658 2024666 + Identifier 2024667 2024689 + IfStatement 2024691 2025721 + BinaryExpression 2024709 2024727 + Identifier 2024709 2024713 + EqualsEqualsEqualsToken 2024713 2024717 + Identifier 2024717 2024727 + Block 2024728 2025362 + IfStatement 2024730 2024985 + CallExpression 2024848 2024924 + Identifier 2024848 2024884 + Identifier 2024885 2024893 + Identifier 2024894 2024900 + Identifier 2024901 2024923 + Block 2024925 2024985 + ReturnStatement 2024927 2024966 + Identifier 2024955 2024965 + VariableStatement 2024985 2025077 + VariableDeclarationList 2024985 2025076 + VariableDeclaration 2025008 2025076 + Identifier 2025008 2025024 + CallExpression 2025026 2025076 + Identifier 2025026 2025069 + Identifier 2025070 2025075 + IfStatement 2025077 2025347 + BinaryExpression 2025099 2025194 + Identifier 2025099 2025114 + AmpersandAmpersandToken 2025114 2025117 + CallExpression 2025117 2025194 + Identifier 2025117 2025131 + CallExpression 2025132 2025168 + Identifier 2025132 2025151 + Identifier 2025152 2025167 + PropertyAccessExpression 2025169 2025193 + Identifier 2025169 2025185 + Identifier 2025186 2025193 + Block 2025195 2025347 + ExpressionStatement 2025197 2025328 + CallExpression 2025197 2025327 + Identifier 2025197 2025237 + Identifier 2025238 2025243 + PropertyAccessExpression 2025244 2025311 + Identifier 2025244 2025256 + Identifier 2025257 2025311 + CallExpression 2025312 2025326 + Identifier 2025312 2025319 + Identifier 2025320 2025325 + Block 2025380 2025721 + VariableStatement 2025382 2025506 + VariableDeclarationList 2025382 2025505 + VariableDeclaration 2025405 2025505 + Identifier 2025405 2025423 + BinaryExpression 2025425 2025505 + BinaryExpression 2025425 2025462 + PropertyAccessExpression 2025425 2025436 + Identifier 2025425 2025430 + Identifier 2025431 2025436 + AmpersandToken 2025436 2025438 + PropertyAccessExpression 2025438 2025462 + Identifier 2025438 2025450 + Identifier 2025451 2025462 + AmpersandAmpersandToken 2025462 2025465 + PrefixUnaryExpression 2025465 2025505 + ParenthesizedExpression 2025467 2025505 + BinaryExpression 2025468 2025504 + PropertyAccessExpression 2025468 2025478 + Identifier 2025468 2025472 + Identifier 2025473 2025478 + AmpersandToken 2025478 2025480 + PropertyAccessExpression 2025480 2025504 + Identifier 2025480 2025492 + Identifier 2025493 2025504 + IfStatement 2025506 2025706 + BinaryExpression 2025528 2025591 + Identifier 2025528 2025545 + AmpersandAmpersandToken 2025545 2025548 + BinaryExpression 2025548 2025591 + Identifier 2025548 2025563 + ExclamationEqualsEqualsToken 2025563 2025567 + PropertyAccessExpression 2025567 2025591 + Identifier 2025567 2025582 + Identifier 2025583 2025591 + Block 2025592 2025706 + ExpressionStatement 2025594 2025687 + CallExpression 2025594 2025686 + Identifier 2025594 2025621 + Identifier 2025622 2025626 + PropertyAccessExpression 2025627 2025685 + Identifier 2025627 2025639 + Identifier 2025640 2025685 + Block 2025746 2026283 + IfStatement 2025748 2026058 + Identifier 2025766 2025775 + Block 2025776 2026058 + IfStatement 2025778 2025965 + BinaryExpression 2025800 2025834 + CallExpression 2025800 2025818 + Identifier 2025800 2025812 + Identifier 2025813 2025817 + AmpersandAmpersandToken 2025818 2025821 + Identifier 2025821 2025834 + Block 2025835 2025965 + ExpressionStatement 2025837 2025946 + CallExpression 2025837 2025945 + Identifier 2025837 2025879 + Identifier 2025880 2025884 + PropertyAccessExpression 2025885 2025908 + Identifier 2025885 2025899 + Identifier 2025900 2025908 + Identifier 2025909 2025934 + Identifier 2025935 2025944 + ReturnStatement 2025965 2026043 + ConditionalExpression 2025989 2026042 + CallExpression 2025989 2026015 + Identifier 2025989 2026001 + Identifier 2026002 2026014 + QuestionToken 2026015 2026017 + Identifier 2026017 2026027 + ColonToken 2026027 2026029 + Identifier 2026029 2026042 + ExpressionStatement 2026058 2026272 + BinaryExpression 2026058 2026271 + Identifier 2026058 2026076 + EqualsToken 2026076 2026078 + CallExpression 2026078 2026271 + Identifier 2026078 2026096 + Identifier 2026097 2026109 + PropertyAccessExpression 2026110 2026128 + Identifier 2026110 2026116 + Identifier 2026117 2026128 + CallExpression 2026129 2026203 + Identifier 2026129 2026189 + Identifier 2026190 2026202 + BinaryExpression 2026204 2026270 + PropertyAccessExpression 2026204 2026241 + Identifier 2026204 2026236 + Identifier 2026237 2026241 + EqualsEqualsEqualsToken 2026241 2026245 + PropertyAccessExpression 2026245 2026270 + Identifier 2026245 2026256 + Identifier 2026257 2026270 + ExpressionStatement 2026283 2026360 + CallExpression 2026283 2026359 + Identifier 2026283 2026313 + Identifier 2026314 2026318 + PropertyAccessExpression 2026319 2026342 + Identifier 2026319 2026333 + Identifier 2026334 2026342 + Identifier 2026343 2026348 + Identifier 2026349 2026358 + VariableStatement 2026360 2026391 + VariableDeclarationList 2026360 2026390 + VariableDeclaration 2026375 2026390 + Identifier 2026375 2026384 + TypeReference 2026385 2026390 + Identifier 2026385 2026390 + IfStatement 2026391 2030068 + PrefixUnaryExpression 2026405 2026410 + Identifier 2026406 2026410 + Block 2026411 2028915 + VariableStatement 2026413 2026678 + VariableDeclarationList 2026413 2026677 + VariableDeclaration 2026432 2026677 + Identifier 2026432 2026442 + ConditionalExpression 2026444 2026677 + BinaryExpression 2026444 2026583 + PrefixUnaryExpression 2026444 2026472 + CallExpression 2026446 2026472 + Identifier 2026446 2026465 + Identifier 2026466 2026471 + AmpersandAmpersandToken 2026472 2026475 + ParenthesizedExpression 2026475 2026583 + BinaryExpression 2026477 2026582 + BinaryExpression 2026477 2026549 + BinaryExpression 2026477 2026515 + Identifier 2026477 2026491 + EqualsEqualsEqualsToken 2026491 2026495 + PropertyAccessExpression 2026495 2026515 + Identifier 2026495 2026510 + Identifier 2026511 2026515 + BarBarToken 2026515 2026518 + PrefixUnaryExpression 2026518 2026549 + CallExpression 2026520 2026549 + Identifier 2026520 2026539 + Identifier 2026540 2026548 + BarBarToken 2026549 2026552 + CallExpression 2026552 2026582 + Identifier 2026552 2026572 + Identifier 2026573 2026581 + QuestionToken 2026583 2026585 + CallExpression 2026585 2026665 + Identifier 2026585 2026632 + Identifier 2026633 2026645 + PropertyAccessExpression 2026646 2026664 + Identifier 2026646 2026652 + Identifier 2026653 2026664 + ColonToken 2026665 2026667 + Identifier 2026667 2026677 + IfStatement 2026678 2027936 + PrefixUnaryExpression 2026696 2026726 + ParenthesizedExpression 2026697 2026726 + BinaryExpression 2026698 2026725 + Identifier 2026698 2026707 + AmpersandAmpersandToken 2026707 2026710 + PropertyAccessExpression 2026710 2026725 + Identifier 2026710 2026720 + Identifier 2026721 2026725 + Block 2026727 2027936 + VariableStatement 2026729 2026841 + VariableDeclarationList 2026729 2026840 + VariableDeclaration 2026752 2026840 + Identifier 2026752 2026766 + CallExpression 2026768 2026840 + Identifier 2026768 2026792 + Identifier 2026793 2026797 + PropertyAccessExpression 2026798 2026814 + Identifier 2026798 2026807 + Identifier 2026808 2026814 + TrueKeyword 2026815 2026839 + IfStatement 2026841 2026965 + BinaryExpression 2026863 2026906 + PrefixUnaryExpression 2026863 2026877 + Identifier 2026864 2026877 + AmpersandAmpersandToken 2026877 2026880 + CallExpression 2026880 2026906 + Identifier 2026880 2026896 + Identifier 2026897 2026905 + Block 2026907 2026965 + ReturnStatement 2026909 2026946 + Identifier 2026937 2026945 + IfStatement 2026965 2027647 + BinaryExpression 2026987 2027023 + PropertyAccessExpression 2026987 2027002 + Identifier 2026987 2026995 + Identifier 2026996 2027002 + EqualsEqualsEqualsToken 2027002 2027006 + Identifier 2027006 2027023 + Block 2027024 2027647 + IfStatement 2027026 2027591 + BinaryExpression 2027052 2027187 + CallExpression 2027052 2027100 + PropertyAccessExpression 2027052 2027081 + NonNullExpression 2027052 2027077 + PropertyAccessExpression 2027052 2027076 + Identifier 2027052 2027068 + Identifier 2027069 2027076 + Identifier 2027078 2027081 + PropertyAccessExpression 2027082 2027099 + Identifier 2027082 2027087 + Identifier 2027088 2027099 + AmpersandAmpersandToken 2027100 2027103 + ParenthesizedExpression 2027103 2027187 + BinaryExpression 2027105 2027186 + PropertyAccessExpression 2027105 2027160 + NonNullExpression 2027105 2027154 + CallExpression 2027105 2027153 + PropertyAccessExpression 2027105 2027134 + NonNullExpression 2027105 2027130 + PropertyAccessExpression 2027105 2027129 + Identifier 2027105 2027121 + Identifier 2027122 2027129 + Identifier 2027131 2027134 + PropertyAccessExpression 2027135 2027152 + Identifier 2027135 2027140 + Identifier 2027141 2027152 + Identifier 2027155 2027160 + AmpersandToken 2027160 2027162 + PropertyAccessExpression 2027162 2027186 + Identifier 2027162 2027174 + Identifier 2027175 2027186 + Block 2027188 2027372 + ExpressionStatement 2027190 2027349 + CallExpression 2027190 2027348 + Identifier 2027190 2027221 + Identifier 2027222 2027227 + PropertyAccessExpression 2027228 2027276 + Identifier 2027228 2027240 + Identifier 2027241 2027276 + CallExpression 2027277 2027323 + Identifier 2027277 2027304 + PropertyAccessExpression 2027305 2027322 + Identifier 2027305 2027310 + Identifier 2027311 2027322 + CallExpression 2027324 2027347 + Identifier 2027324 2027337 + Identifier 2027338 2027346 + IfStatement 2027398 2027591 + Identifier 2027403 2027416 + Block 2027417 2027591 + ExpressionStatement 2027419 2027568 + CallExpression 2027419 2027567 + Identifier 2027419 2027450 + Identifier 2027451 2027456 + PropertyAccessExpression 2027457 2027542 + Identifier 2027457 2027469 + Identifier 2027470 2027542 + CallExpression 2027543 2027566 + Identifier 2027543 2027556 + Identifier 2027557 2027565 + ReturnStatement 2027591 2027628 + Identifier 2027619 2027627 + IfStatement 2027647 2027886 + BinaryExpression 2027669 2027737 + PropertyAccessExpression 2027669 2027686 + Identifier 2027669 2027674 + Identifier 2027675 2027686 + AmpersandAmpersandToken 2027686 2027689 + PrefixUnaryExpression 2027689 2027737 + CallExpression 2027691 2027737 + Identifier 2027691 2027731 + Identifier 2027732 2027736 + Block 2027738 2027886 + ExpressionStatement 2027740 2027867 + CallExpression 2027740 2027866 + Identifier 2027740 2027787 + Identifier 2027788 2027793 + ConditionalExpression 2027794 2027850 + CallExpression 2027794 2027824 + Identifier 2027794 2027814 + Identifier 2027815 2027823 + QuestionToken 2027824 2027826 + Identifier 2027826 2027839 + ColonToken 2027839 2027841 + Identifier 2027841 2027850 + Identifier 2027851 2027865 + ReturnStatement 2027886 2027921 + Identifier 2027910 2027920 + IfStatement 2027936 2028164 + BinaryExpression 2027954 2028028 + PropertyAccessExpression 2027954 2027974 + Identifier 2027954 2027963 + Identifier 2027964 2027974 + AmpersandAmpersandToken 2027974 2027977 + ParenthesizedExpression 2027977 2028028 + BinaryExpression 2027979 2028027 + CallExpression 2027979 2028003 + Identifier 2027979 2027997 + Identifier 2027998 2028002 + BarBarToken 2028003 2028006 + CallExpression 2028006 2028027 + Identifier 2028006 2028021 + Identifier 2028022 2028026 + Block 2028029 2028164 + ExpressionStatement 2028031 2028149 + CallExpression 2028031 2028148 + Identifier 2028031 2028054 + Identifier 2028055 2028059 + PropertyAccessExpression 2028060 2028119 + Identifier 2028060 2028072 + Identifier 2028073 2028119 + CallExpression 2028120 2028147 + Identifier 2028120 2028133 + Identifier 2028134 2028146 + ExpressionStatement 2028164 2028206 + BinaryExpression 2028164 2028205 + Identifier 2028164 2028188 + EqualsToken 2028188 2028190 + PropertyAccessExpression 2028190 2028205 + Identifier 2028190 2028200 + Identifier 2028201 2028205 + IfStatement 2028206 2028410 + BinaryExpression 2028224 2028325 + PropertyAccessExpression 2028224 2028264 + Identifier 2028224 2028239 + Identifier 2028240 2028264 + AmpersandAmpersandToken 2028264 2028267 + BinaryExpression 2028267 2028325 + CallExpression 2028267 2028297 + Identifier 2028267 2028291 + Identifier 2028292 2028296 + ExclamationEqualsEqualsToken 2028297 2028301 + PropertyAccessExpression 2028301 2028325 + Identifier 2028301 2028316 + Identifier 2028317 2028325 + Block 2028326 2028410 + ExpressionStatement 2028328 2028395 + BinaryExpression 2028328 2028394 + Identifier 2028328 2028354 + EqualsToken 2028354 2028356 + CallExpression 2028356 2028394 + Identifier 2028356 2028369 + ArrayLiteralExpression 2028370 2028393 + Identifier 2028371 2028379 + Identifier 2028380 2028392 + IfStatement 2028410 2028694 + BinaryExpression 2028428 2028514 + PropertyAccessExpression 2028428 2028478 + Identifier 2028428 2028443 + Identifier 2028444 2028478 + AmpersandAmpersandToken 2028478 2028481 + CallExpression 2028481 2028514 + Identifier 2028481 2028508 + Identifier 2028509 2028513 + Block 2028515 2028694 + ExpressionStatement 2028517 2028679 + CallExpression 2028517 2028678 + Identifier 2028517 2028540 + Identifier 2028541 2028546 + PropertyAccessExpression 2028547 2028630 + Identifier 2028547 2028559 + Identifier 2028560 2028630 + CallExpression 2028631 2028677 + Identifier 2028631 2028658 + PropertyAccessExpression 2028659 2028676 + Identifier 2028659 2028664 + Identifier 2028665 2028676 + IfStatement 2028694 2028904 + BinaryExpression 2028712 2028783 + PropertyAccessExpression 2028712 2028733 + Identifier 2028712 2028721 + Identifier 2028722 2028733 + AmpersandAmpersandToken 2028733 2028736 + CallExpression 2028736 2028783 + Identifier 2028736 2028760 + PropertyAccessExpression 2028761 2028782 + Identifier 2028761 2028770 + Identifier 2028771 2028782 + Block 2028784 2028904 + ExpressionStatement 2028786 2028889 + CallExpression 2028786 2028888 + Identifier 2028786 2028827 + Identifier 2028828 2028833 + ArrayLiteralExpression 2028834 2028858 + PropertyAccessExpression 2028836 2028857 + Identifier 2028836 2028845 + Identifier 2028846 2028857 + AsExpression 2028859 2028887 + PropertyAccessExpression 2028859 2028877 + Identifier 2028859 2028865 + Identifier 2028866 2028877 + StringKeyword 2028880 2028887 + Block 2028929 2030068 + VariableStatement 2028931 2029016 + VariableDeclarationList 2028931 2029015 + VariableDeclaration 2028950 2029015 + Identifier 2028950 2028967 + CallExpression 2028969 2029015 + Identifier 2028969 2029002 + Identifier 2029003 2029007 + Identifier 2029008 2029014 + IfStatement 2029016 2029285 + BinaryExpression 2029034 2029158 + BinaryExpression 2029034 2029125 + CallExpression 2029034 2029070 + Identifier 2029034 2029052 + Identifier 2029053 2029069 + AmpersandAmpersandToken 2029070 2029073 + CallExpression 2029073 2029125 + Identifier 2029073 2029101 + Identifier 2029102 2029106 + Identifier 2029107 2029124 + AmpersandAmpersandToken 2029125 2029128 + PropertyAccessExpression 2029128 2029158 + Identifier 2029128 2029145 + Identifier 2029146 2029158 + Block 2029159 2029285 + ExpressionStatement 2029161 2029270 + CallExpression 2029161 2029269 + Identifier 2029161 2029202 + Identifier 2029203 2029208 + PropertyAccessExpression 2029209 2029239 + Identifier 2029209 2029226 + Identifier 2029227 2029239 + AsExpression 2029240 2029268 + PropertyAccessExpression 2029240 2029258 + Identifier 2029240 2029246 + Identifier 2029247 2029258 + StringKeyword 2029261 2029268 + ExpressionStatement 2029285 2029356 + CallExpression 2029285 2029355 + Identifier 2029285 2029336 + Identifier 2029337 2029341 + Identifier 2029342 2029347 + Identifier 2029348 2029354 + ExpressionStatement 2029356 2029445 + CallExpression 2029356 2029444 + Identifier 2029356 2029394 + Identifier 2029395 2029399 + Identifier 2029400 2029405 + CallExpression 2029406 2029443 + Identifier 2029406 2029423 + Identifier 2029424 2029428 + Identifier 2029429 2029442 + ExpressionStatement 2029445 2029500 + BinaryExpression 2029445 2029499 + PropertyAccessExpression 2029445 2029492 + CallExpression 2029445 2029477 + Identifier 2029445 2029471 + Identifier 2029472 2029476 + Identifier 2029478 2029492 + EqualsToken 2029492 2029494 + Identifier 2029494 2029499 + ExpressionStatement 2029500 2029627 + CallExpression 2029500 2029626 + Identifier 2029500 2029540 + Identifier 2029541 2029545 + BinaryExpression 2029546 2029584 + PropertyAccessExpression 2029546 2029556 + Identifier 2029546 2029551 + Identifier 2029552 2029556 + EqualsEqualsEqualsToken 2029556 2029560 + PropertyAccessExpression 2029560 2029584 + Identifier 2029560 2029571 + Identifier 2029572 2029584 + CallExpression 2029585 2029605 + Identifier 2029585 2029599 + Identifier 2029600 2029604 + Identifier 2029606 2029619 + Identifier 2029620 2029625 + IfStatement 2029627 2029881 + CallExpression 2029645 2029715 + Identifier 2029645 2029673 + AsExpression 2029674 2029692 + Identifier 2029674 2029678 + TypeReference 2029681 2029692 + Identifier 2029681 2029692 + Identifier 2029693 2029698 + Identifier 2029699 2029714 + Block 2029716 2029881 + ExpressionStatement 2029718 2029831 + CallExpression 2029718 2029830 + Identifier 2029718 2029741 + Identifier 2029742 2029747 + PropertyAccessExpression 2029748 2029814 + Identifier 2029748 2029760 + Identifier 2029761 2029814 + CallExpression 2029815 2029829 + Identifier 2029815 2029822 + Identifier 2029823 2029828 + ReturnStatement 2029831 2029866 + Identifier 2029855 2029865 + ExpressionStatement 2029881 2030057 + BinaryExpression 2029881 2030056 + Identifier 2029881 2029905 + EqualsToken 2029905 2029907 + ConditionalExpression 2029907 2030056 + CallExpression 2029907 2029953 + Identifier 2029907 2029941 + Identifier 2029942 2029946 + Identifier 2029947 2029952 + QuestionToken 2029953 2029955 + Identifier 2029955 2029964 + ColonToken 2029964 2029966 + ConditionalExpression 2029966 2030056 + BinaryExpression 2029966 2030003 + Identifier 2029966 2029976 + BarBarToken 2029976 2029979 + CallExpression 2029979 2030003 + Identifier 2029979 2029997 + Identifier 2029998 2030002 + QuestionToken 2030003 2030005 + CallExpression 2030005 2030032 + Identifier 2030005 2030026 + Identifier 2030027 2030031 + ColonToken 2030032 2030034 + CallExpression 2030034 2030056 + Identifier 2030034 2030050 + Identifier 2030051 2030055 + ReturnStatement 2030068 2030157 + CallExpression 2030086 2030156 + Identifier 2030086 2030116 + Identifier 2030117 2030121 + Identifier 2030122 2030127 + Identifier 2030128 2030137 + Identifier 2030138 2030144 + Identifier 2030145 2030155 + FunctionDeclaration 2030164 2031882 + Identifier 2030589 2030613 + Parameter 2030614 2030636 + Identifier 2030614 2030618 + UnionType 2030619 2030636 + TypeReference 2030619 2030624 + Identifier 2030619 2030624 + UndefinedKeyword 2030626 2030636 + Parameter 2030637 2030668 + Identifier 2030637 2030648 + UnionType 2030649 2030668 + TypeReference 2030649 2030656 + Identifier 2030649 2030656 + UndefinedKeyword 2030658 2030668 + Parameter 2030669 2030693 + Identifier 2030669 2030684 + BooleanKeyword 2030685 2030693 + BooleanKeyword 2030695 2030703 + Block 2030703 2031882 + VariableStatement 2030705 2030754 + VariableDeclarationList 2030705 2030753 + VariableDeclaration 2030720 2030753 + Identifier 2030720 2030725 + CallExpression 2030727 2030753 + Identifier 2030727 2030747 + Identifier 2030748 2030752 + IfStatement 2030754 2031852 + Identifier 2030768 2030772 + Block 2030773 2031852 + IfStatement 2030775 2031841 + BinaryExpression 2030793 2030946 + BinaryExpression 2030793 2030869 + BinaryExpression 2030793 2030830 + PropertyAccessExpression 2030793 2030816 + Identifier 2030793 2030808 + Identifier 2030809 2030816 + EqualsEqualsEqualsToken 2030816 2030820 + Identifier 2030820 2030830 + AmpersandAmpersandToken 2030830 2030833 + BinaryExpression 2030833 2030869 + PropertyAccessExpression 2030833 2030855 + Identifier 2030833 2030838 + Identifier 2030839 2030855 + EqualsEqualsEqualsToken 2030855 2030859 + Identifier 2030859 2030869 + AmpersandAmpersandToken 2030869 2030872 + ParenthesizedExpression 2030872 2030946 + BinaryExpression 2030874 2030945 + BinaryExpression 2030874 2030907 + PropertyAccessExpression 2030874 2030889 + Identifier 2030874 2030878 + Identifier 2030879 2030889 + EqualsEqualsEqualsToken 2030889 2030893 + PropertyAccessExpression 2030893 2030907 + Identifier 2030893 2030904 + Identifier 2030905 2030907 + BarBarToken 2030907 2030910 + BinaryExpression 2030910 2030945 + PropertyAccessExpression 2030910 2030926 + Identifier 2030910 2030915 + Identifier 2030916 2030926 + EqualsEqualsEqualsToken 2030926 2030930 + PropertyAccessExpression 2030930 2030945 + Identifier 2030930 2030941 + Identifier 2030942 2030945 + Block 2030947 2031841 + VariableStatement 2030949 2031046 + VariableDeclarationList 2030949 2031045 + VariableDeclaration 2030972 2031045 + Identifier 2030972 2030988 + CallExpression 2030990 2031045 + Identifier 2030990 2030998 + PropertyAccessExpression 2030999 2031023 + Identifier 2030999 2031009 + QuestionDotToken 2031009 2031011 + Identifier 2031011 2031023 + Identifier 2031024 2031044 + VariableStatement 2031046 2031402 + VariableDeclarationList 2031046 2031401 + VariableDeclaration 2031069 2031401 + Identifier 2031069 2031104 + BinaryExpression 2031106 2031401 + BinaryExpression 2031106 2031278 + BinaryExpression 2031106 2031202 + PrefixUnaryExpression 2031106 2031136 + PropertyAccessExpression 2031108 2031136 + Identifier 2031108 2031118 + QuestionDotToken 2031118 2031120 + Identifier 2031120 2031136 + BarBarToken 2031136 2031160 + PrefixUnaryExpression 2031160 2031202 + CallExpression 2031162 2031202 + Identifier 2031162 2031173 + PropertyAccessExpression 2031174 2031201 + Identifier 2031174 2031184 + Identifier 2031185 2031201 + BarBarToken 2031202 2031226 + PropertyAccessExpression 2031226 2031278 + PropertyAccessExpression 2031226 2031270 + PropertyAccessExpression 2031226 2031254 + Identifier 2031226 2031237 + Identifier 2031238 2031254 + Identifier 2031255 2031270 + QuestionDotToken 2031270 2031272 + Identifier 2031272 2031278 + BarBarToken 2031278 2031302 + CallExpression 2031302 2031401 + Identifier 2031302 2031341 + FalseKeyword 2031342 2031371 + PropertyAccessExpression 2031372 2031400 + Identifier 2031372 2031383 + Identifier 2031384 2031400 + ReturnStatement 2031402 2031826 + BinaryExpression 2031426 2031825 + BinaryExpression 2031426 2031648 + PrefixUnaryExpression 2031426 2031514 + ParenthesizedExpression 2031428 2031514 + BinaryExpression 2031429 2031513 + BinaryExpression 2031429 2031474 + BinaryExpression 2031429 2031453 + Identifier 2031429 2031433 + ExclamationEqualsEqualsToken 2031433 2031437 + Identifier 2031437 2031453 + AmpersandAmpersandToken 2031453 2031456 + PrefixUnaryExpression 2031456 2031474 + PrefixUnaryExpression 2031458 2031474 + Identifier 2031459 2031474 + AmpersandAmpersandToken 2031474 2031477 + CallExpression 2031477 2031513 + Identifier 2031477 2031496 + Identifier 2031497 2031512 + AmpersandAmpersandToken 2031514 2031538 + PrefixUnaryExpression 2031538 2031648 + ParenthesizedExpression 2031540 2031648 + BinaryExpression 2031541 2031647 + BinaryExpression 2031541 2031609 + BinaryExpression 2031541 2031569 + Identifier 2031541 2031555 + AmpersandAmpersandToken 2031555 2031558 + Identifier 2031558 2031569 + AmpersandAmpersandToken 2031569 2031572 + BinaryExpression 2031572 2031609 + PropertyAccessExpression 2031572 2031589 + Identifier 2031572 2031583 + Identifier 2031584 2031589 + AmpersandToken 2031589 2031591 + PropertyAccessExpression 2031591 2031609 + Identifier 2031591 2031603 + Identifier 2031604 2031609 + AmpersandAmpersandToken 2031609 2031612 + Identifier 2031612 2031647 + AmpersandAmpersandToken 2031648 2031672 + PrefixUnaryExpression 2031672 2031825 + ParenthesizedExpression 2031674 2031825 + BinaryExpression 2031675 2031824 + BinaryExpression 2031675 2031786 + BinaryExpression 2031675 2031735 + BinaryExpression 2031675 2031699 + PrefixUnaryExpression 2031675 2031681 + PrefixUnaryExpression 2031676 2031681 + Identifier 2031677 2031681 + AmpersandAmpersandToken 2031681 2031684 + Identifier 2031684 2031699 + AmpersandAmpersandToken 2031699 2031702 + CallExpression 2031702 2031735 + Identifier 2031702 2031729 + Identifier 2031730 2031734 + AmpersandAmpersandToken 2031735 2031738 + BinaryExpression 2031738 2031786 + PropertyAccessExpression 2031738 2031759 + PropertyAccessExpression 2031738 2031754 + Identifier 2031738 2031743 + Identifier 2031744 2031754 + Identifier 2031755 2031759 + EqualsEqualsEqualsToken 2031759 2031763 + PropertyAccessExpression 2031763 2031786 + Identifier 2031763 2031774 + Identifier 2031775 2031786 + AmpersandAmpersandToken 2031786 2031789 + Identifier 2031789 2031824 + ReturnStatement 2031852 2031875 + FalseKeyword 2031868 2031874 + FunctionDeclaration 2031882 2035142 + Identifier 2031898 2031928 + Parameter 2031929 2032001 + Identifier 2031929 2031933 + UnionType 2031934 2032001 + TypeReference 2031934 2031958 + Identifier 2031934 2031958 + TypeReference 2031960 2031985 + Identifier 2031960 2031985 + TypeReference 2031987 2032001 + Identifier 2031987 2032001 + Parameter 2032002 2032027 + Identifier 2032002 2032007 + UnionType 2032008 2032027 + TypeReference 2032008 2032015 + Identifier 2032008 2032015 + UndefinedKeyword 2032017 2032027 + Parameter 2032028 2032043 + Identifier 2032028 2032037 + TypeReference 2032038 2032043 + Identifier 2032038 2032043 + Parameter 2032044 2032060 + Identifier 2032044 2032054 + TypeReference 2032055 2032060 + Identifier 2032055 2032060 + Parameter 2032061 2032094 + Identifier 2032061 2032071 + UnionType 2032072 2032094 + TypeReference 2032072 2032082 + Identifier 2032072 2032082 + UndefinedKeyword 2032084 2032094 + Block 2032095 2035142 + VariableStatement 2032097 2032396 + VariableDeclarationList 2032097 2032395 + VariableDeclaration 2032348 2032395 + Identifier 2032348 2032363 + CallExpression 2032365 2032395 + Identifier 2032365 2032389 + Identifier 2032390 2032394 + IfStatement 2032396 2032562 + BinaryExpression 2032410 2032452 + Identifier 2032410 2032424 + EqualsEqualsEqualsToken 2032424 2032428 + PropertyAccessExpression 2032428 2032452 + Identifier 2032428 2032443 + Identifier 2032444 2032452 + Block 2032453 2032562 + ReturnStatement 2032455 2032551 + CallExpression 2032475 2032550 + Identifier 2032475 2032493 + Identifier 2032494 2032502 + PrefixUnaryExpression 2032503 2032549 + PrefixUnaryExpression 2032505 2032549 + ParenthesizedExpression 2032506 2032549 + BinaryExpression 2032507 2032548 + Identifier 2032507 2032511 + AmpersandAmpersandToken 2032511 2032514 + BinaryExpression 2032514 2032548 + PropertyAccessExpression 2032514 2032525 + Identifier 2032514 2032519 + Identifier 2032520 2032525 + AmpersandToken 2032525 2032527 + PropertyAccessExpression 2032527 2032548 + Identifier 2032527 2032539 + Identifier 2032540 2032548 + IfStatement 2032562 2032899 + BinaryExpression 2032576 2032845 + BinaryExpression 2032576 2032782 + BinaryExpression 2032576 2032695 + Identifier 2032576 2032594 + AmpersandAmpersandToken 2032594 2032597 + PrefixUnaryExpression 2032597 2032695 + ParenthesizedExpression 2032612 2032695 + BinaryExpression 2032613 2032694 + PropertyAccessExpression 2032613 2032623 + Identifier 2032613 2032617 + Identifier 2032618 2032623 + AmpersandToken 2032623 2032625 + ParenthesizedExpression 2032625 2032694 + BinaryExpression 2032627 2032693 + BinaryExpression 2032627 2032670 + PropertyAccessExpression 2032627 2032647 + Identifier 2032627 2032638 + Identifier 2032639 2032647 + BarToken 2032647 2032649 + PropertyAccessExpression 2032649 2032670 + Identifier 2032649 2032661 + Identifier 2032662 2032670 + BarToken 2032670 2032672 + PropertyAccessExpression 2032672 2032693 + Identifier 2032672 2032684 + Identifier 2032685 2032693 + AmpersandAmpersandToken 2032695 2032711 + PrefixUnaryExpression 2032711 2032782 + ParenthesizedExpression 2032713 2032782 + BinaryExpression 2032714 2032781 + BinaryExpression 2032714 2032745 + PropertyAccessExpression 2032714 2032724 + Identifier 2032714 2032718 + Identifier 2032719 2032724 + AmpersandToken 2032724 2032726 + PropertyAccessExpression 2032726 2032745 + Identifier 2032726 2032738 + Identifier 2032739 2032745 + AmpersandAmpersandToken 2032745 2032748 + BinaryExpression 2032748 2032781 + PropertyAccessExpression 2032748 2032763 + Identifier 2032748 2032757 + Identifier 2032758 2032763 + AmpersandToken 2032763 2032765 + PropertyAccessExpression 2032765 2032781 + Identifier 2032765 2032775 + Identifier 2032776 2032781 + AmpersandAmpersandToken 2032782 2032798 + PrefixUnaryExpression 2032798 2032845 + CallExpression 2032800 2032845 + Identifier 2032800 2032826 + PropertyAccessExpression 2032827 2032844 + Identifier 2032827 2032831 + Identifier 2032832 2032844 + Block 2032856 2032899 + ReturnStatement 2032858 2032888 + Identifier 2032878 2032887 + IfStatement 2032899 2033003 + BinaryExpression 2032913 2032934 + Identifier 2032913 2032921 + EqualsEqualsEqualsToken 2032921 2032925 + Identifier 2032925 2032934 + Block 2032935 2033003 + ReturnStatement 2032937 2032992 + CallExpression 2032957 2032991 + Identifier 2032957 2032979 + Identifier 2032980 2032984 + Identifier 2032985 2032990 + ExpressionStatement 2033003 2033081 + BinaryExpression 2033003 2033080 + Identifier 2033003 2033021 + EqualsToken 2033021 2033023 + CallExpression 2033023 2033080 + Identifier 2033023 2033053 + Identifier 2033054 2033062 + Identifier 2033063 2033068 + Identifier 2033069 2033079 + VariableStatement 2033081 2033503 + VariableDeclarationList 2033081 2033502 + VariableDeclaration 2033474 2033502 + Identifier 2033474 2033494 + FalseKeyword 2033496 2033502 + IfStatement 2033503 2034587 + BinaryExpression 2033517 2033644 + BinaryExpression 2033517 2033593 + BinaryExpression 2033517 2033565 + Identifier 2033517 2033533 + AmpersandAmpersandToken 2033533 2033536 + Identifier 2033536 2033565 + AmpersandAmpersandToken 2033565 2033568 + CallExpression 2033568 2033593 + Identifier 2033568 2033587 + Identifier 2033588 2033592 + AmpersandAmpersandToken 2033593 2033596 + BinaryExpression 2033596 2033644 + PropertyAccessExpression 2033596 2033617 + PropertyAccessExpression 2033596 2033612 + Identifier 2033596 2033601 + Identifier 2033602 2033612 + Identifier 2033613 2033617 + EqualsEqualsEqualsToken 2033617 2033621 + PropertyAccessExpression 2033621 2033644 + Identifier 2033621 2033632 + Identifier 2033633 2033644 + Block 2033645 2034195 + VariableStatement 2033647 2033711 + VariableDeclarationList 2033647 2033710 + VariableDeclaration 2033666 2033710 + Identifier 2033666 2033678 + BinaryExpression 2033680 2033710 + Identifier 2033680 2033685 + AmpersandAmpersandToken 2033685 2033688 + PropertyAccessExpression 2033688 2033710 + Identifier 2033688 2033693 + Identifier 2033694 2033710 + IfStatement 2033711 2034184 + BinaryExpression 2033729 2033785 + Identifier 2033729 2033740 + AmpersandAmpersandToken 2033740 2033743 + CallExpression 2033743 2033785 + Identifier 2033743 2033772 + Identifier 2033773 2033784 + Block 2033786 2034184 + IfStatement 2033788 2034169 + PrefixUnaryExpression 2033810 2033832 + CallExpression 2033811 2033832 + Identifier 2033811 2033819 + Identifier 2033820 2033831 + Block 2033833 2034169 + VariableStatement 2033835 2033909 + VariableDeclarationList 2033835 2033908 + VariableDeclaration 2033862 2033908 + Identifier 2033862 2033876 + CallExpression 2033878 2033908 + Identifier 2033878 2033902 + Identifier 2033903 2033907 + IfStatement 2033909 2034150 + BinaryExpression 2033935 2034071 + BinaryExpression 2033935 2034027 + BinaryExpression 2033935 2033980 + PropertyAccessExpression 2033935 2033953 + Identifier 2033935 2033948 + Identifier 2033949 2033953 + EqualsEqualsEqualsToken 2033953 2033957 + PropertyAccessExpression 2033957 2033980 + Identifier 2033957 2033968 + Identifier 2033969 2033980 + AmpersandAmpersandToken 2033980 2033983 + BinaryExpression 2033983 2034027 + PropertyAccessExpression 2033983 2034004 + Identifier 2033983 2033997 + Identifier 2033998 2034004 + EqualsEqualsEqualsToken 2034004 2034008 + PropertyAccessExpression 2034008 2034027 + Identifier 2034008 2034020 + Identifier 2034021 2034027 + AmpersandAmpersandToken 2034027 2034030 + PrefixUnaryExpression 2034030 2034071 + ParenthesizedExpression 2034032 2034071 + BinaryExpression 2034033 2034070 + PropertyAccessExpression 2034033 2034050 + Identifier 2034033 2034044 + Identifier 2034045 2034050 + AmpersandToken 2034050 2034052 + PropertyAccessExpression 2034052 2034070 + Identifier 2034052 2034062 + Identifier 2034063 2034070 + Block 2034072 2034150 + ExpressionStatement 2034074 2034127 + BinaryExpression 2034074 2034126 + Identifier 2034074 2034119 + EqualsToken 2034119 2034121 + TrueKeyword 2034121 2034126 + IfStatement 2034209 2034587 + BinaryExpression 2034214 2034522 + BinaryExpression 2034214 2034425 + BinaryExpression 2034214 2034343 + BinaryExpression 2034214 2034277 + BinaryExpression 2034214 2034252 + Identifier 2034214 2034244 + AmpersandAmpersandToken 2034244 2034247 + Identifier 2034247 2034252 + AmpersandAmpersandToken 2034252 2034255 + PropertyAccessExpression 2034255 2034277 + Identifier 2034255 2034260 + Identifier 2034261 2034277 + AmpersandAmpersandToken 2034277 2034280 + CallExpression 2034280 2034343 + Identifier 2034280 2034320 + PropertyAccessExpression 2034321 2034342 + Identifier 2034321 2034325 + Identifier 2034326 2034342 + AmpersandAmpersandToken 2034343 2034346 + CallExpression 2034346 2034425 + Identifier 2034346 2034402 + PropertyAccessExpression 2034403 2034424 + Identifier 2034403 2034407 + Identifier 2034408 2034424 + AmpersandAmpersandToken 2034425 2034428 + BinaryExpression 2034428 2034522 + CallExpression 2034428 2034471 + Identifier 2034428 2034465 + Identifier 2034466 2034470 + EqualsEqualsEqualsToken 2034471 2034475 + CallExpression 2034475 2034522 + Identifier 2034475 2034499 + PropertyAccessExpression 2034500 2034521 + Identifier 2034500 2034504 + Identifier 2034505 2034521 + Block 2034533 2034587 + ExpressionStatement 2034535 2034576 + BinaryExpression 2034535 2034575 + Identifier 2034535 2034568 + EqualsToken 2034568 2034570 + TrueKeyword 2034570 2034575 + VariableStatement 2034587 2034713 + VariableDeclarationList 2034587 2034712 + VariableDeclaration 2034602 2034712 + Identifier 2034602 2034611 + CallExpression 2034613 2034712 + Identifier 2034613 2034636 + Identifier 2034637 2034641 + Identifier 2034642 2034651 + ConditionalExpression 2034652 2034711 + Identifier 2034652 2034672 + QuestionToken 2034672 2034674 + CallExpression 2034674 2034700 + Identifier 2034674 2034690 + Identifier 2034691 2034699 + ColonToken 2034700 2034702 + Identifier 2034702 2034711 + IfStatement 2034713 2035055 + BinaryExpression 2034727 2034817 + BinaryExpression 2034727 2034782 + Identifier 2034727 2034746 + AmpersandAmpersandToken 2034746 2034749 + PrefixUnaryExpression 2034749 2034782 + CallExpression 2034751 2034782 + Identifier 2034751 2034772 + Identifier 2034773 2034781 + AmpersandAmpersandToken 2034782 2034785 + CallExpression 2034785 2034817 + Identifier 2034785 2034807 + Identifier 2034808 2034816 + Block 2034818 2035055 + ExpressionStatement 2034820 2034928 + CallExpression 2034820 2034927 + Identifier 2034820 2034839 + Identifier 2034840 2034849 + PropertyAccessExpression 2034850 2034903 + Identifier 2034850 2034862 + Identifier 2034863 2034903 + CallExpression 2034904 2034926 + Identifier 2034904 2034919 + NonNullExpression 2034920 2034925 + Identifier 2034920 2034924 + ReturnStatement 2034928 2035044 + Identifier 2035034 2035043 + ReturnStatement 2035055 2035135 + ConditionalExpression 2035071 2035134 + Identifier 2035071 2035086 + QuestionToken 2035086 2035088 + CallExpression 2035088 2035123 + Identifier 2035088 2035113 + Identifier 2035114 2035122 + ColonToken 2035123 2035125 + Identifier 2035125 2035134 + FunctionDeclaration 2035142 2036827 + Identifier 2035158 2035196 + Parameter 2035197 2035209 + Identifier 2035197 2035201 + TypeReference 2035202 2035209 + Identifier 2035202 2035209 + Parameter 2035210 2035257 + Identifier 2035210 2035215 + UnionType 2035216 2035257 + TypeReference 2035216 2035241 + Identifier 2035216 2035241 + TypeReference 2035243 2035257 + Identifier 2035243 2035257 + Parameter 2035258 2035296 + Identifier 2035258 2035264 + UnionType 2035265 2035296 + TypeReference 2035265 2035276 + Identifier 2035265 2035276 + TypeReference 2035278 2035296 + Identifier 2035278 2035296 + VoidKeyword 2035298 2035303 + Block 2035303 2036827 + VariableStatement 2035305 2035349 + VariableDeclarationList 2035305 2035348 + VariableDeclaration 2035320 2035348 + ObjectBindingPattern 2035320 2035341 + BindingElement 2035322 2035339 + Identifier 2035322 2035339 + Identifier 2035343 2035348 + IfStatement 2035349 2035462 + BinaryExpression 2035363 2035427 + PrefixUnaryExpression 2035363 2035380 + Identifier 2035364 2035380 + BarBarToken 2035380 2035383 + PropertyAccessExpression 2035383 2035427 + CallExpression 2035383 2035409 + Identifier 2035383 2035403 + Identifier 2035404 2035408 + Identifier 2035410 2035427 + Block 2035428 2035462 + ReturnStatement 2035430 2035451 + VariableStatement 2035462 2035496 + VariableDeclarationList 2035462 2035495 + VariableDeclaration 2035477 2035495 + Identifier 2035477 2035495 + VariableStatement 2035496 2035544 + VariableDeclarationList 2035496 2035543 + VariableDeclaration 2035511 2035543 + Identifier 2035511 2035527 + CallExpression 2035529 2035543 + Identifier 2035529 2035536 + Identifier 2035537 2035542 + IfStatement 2035544 2036632 + BinaryExpression 2035558 2036062 + BinaryExpression 2035558 2035976 + BinaryExpression 2035558 2035844 + BinaryExpression 2035558 2035767 + BinaryExpression 2035558 2035684 + CallExpression 2035558 2035619 + Identifier 2035558 2035613 + Identifier 2035614 2035618 + AmpersandAmpersandToken 2035619 2035635 + PrefixUnaryExpression 2035635 2035684 + CallExpression 2035637 2035684 + Identifier 2035637 2035666 + Identifier 2035667 2035683 + AmpersandAmpersandToken 2035684 2035700 + PrefixUnaryExpression 2035700 2035767 + ParenthesizedExpression 2035702 2035767 + BinaryExpression 2035703 2035766 + CallExpression 2035703 2035727 + Identifier 2035703 2035721 + Identifier 2035722 2035726 + AmpersandAmpersandToken 2035727 2035730 + CallExpression 2035730 2035766 + Identifier 2035730 2035749 + PropertyAccessExpression 2035750 2035765 + Identifier 2035750 2035754 + Identifier 2035755 2035765 + AmpersandAmpersandToken 2035767 2035783 + PrefixUnaryExpression 2035783 2035844 + CallExpression 2035785 2035844 + Identifier 2035785 2035819 + Identifier 2035820 2035836 + Identifier 2035837 2035843 + AmpersandAmpersandToken 2035844 2035860 + PrefixUnaryExpression 2035860 2035976 + ParenthesizedExpression 2035862 2035976 + BinaryExpression 2035863 2035975 + CallExpression 2035863 2035900 + Identifier 2035863 2035882 + Identifier 2035883 2035899 + AmpersandAmpersandToken 2035900 2035903 + BinaryExpression 2035903 2035975 + CallExpression 2035903 2035952 + Identifier 2035903 2035934 + Identifier 2035935 2035951 + AmpersandToken 2035952 2035954 + PropertyAccessExpression 2035954 2035975 + Identifier 2035954 2035968 + Identifier 2035969 2035975 + AmpersandAmpersandToken 2035976 2035992 + ParenthesizedExpression 2035992 2036062 + BinaryExpression 2035994 2036061 + Identifier 2035994 2036017 + BarBarToken 2036017 2036020 + PrefixUnaryExpression 2036020 2036061 + CallExpression 2036022 2036061 + Identifier 2036022 2036055 + Identifier 2036056 2036060 + Block 2036073 2036208 + ExpressionStatement 2036075 2036197 + BinaryExpression 2036075 2036196 + Identifier 2036075 2036106 + EqualsToken 2036106 2036108 + CallExpression 2036108 2036196 + Identifier 2036108 2036114 + Identifier 2036115 2036120 + PropertyAccessExpression 2036121 2036178 + Identifier 2036121 2036133 + Identifier 2036134 2036178 + Identifier 2036179 2036195 + IfStatement 2036222 2036632 + BinaryExpression 2036227 2036495 + BinaryExpression 2036227 2036418 + BinaryExpression 2036227 2036356 + BinaryExpression 2036227 2036294 + PropertyAccessExpression 2036227 2036262 + Identifier 2036227 2036257 + Identifier 2036258 2036262 + EqualsEqualsEqualsToken 2036262 2036266 + PropertyAccessExpression 2036266 2036294 + Identifier 2036266 2036277 + Identifier 2036278 2036294 + AmpersandAmpersandToken 2036294 2036297 + BinaryExpression 2036297 2036356 + PropertyAccessExpression 2036297 2036327 + PropertyAccessExpression 2036297 2036322 + Identifier 2036297 2036315 + Identifier 2036316 2036322 + Identifier 2036323 2036327 + ExclamationEqualsEqualsToken 2036327 2036331 + PropertyAccessExpression 2036331 2036356 + Identifier 2036331 2036342 + Identifier 2036343 2036356 + AmpersandAmpersandToken 2036356 2036359 + PrefixUnaryExpression 2036359 2036418 + ParenthesizedExpression 2036374 2036418 + BinaryExpression 2036375 2036417 + PropertyAccessExpression 2036375 2036397 + Identifier 2036375 2036391 + Identifier 2036392 2036397 + AmpersandToken 2036397 2036399 + PropertyAccessExpression 2036399 2036417 + Identifier 2036399 2036409 + Identifier 2036410 2036417 + AmpersandAmpersandToken 2036418 2036421 + PrefixUnaryExpression 2036421 2036495 + CallExpression 2036436 2036495 + Identifier 2036436 2036470 + Identifier 2036471 2036487 + Identifier 2036488 2036494 + Block 2036506 2036632 + ExpressionStatement 2036508 2036621 + BinaryExpression 2036508 2036620 + Identifier 2036508 2036539 + EqualsToken 2036539 2036541 + CallExpression 2036541 2036620 + Identifier 2036541 2036547 + Identifier 2036548 2036553 + PropertyAccessExpression 2036554 2036602 + Identifier 2036554 2036566 + Identifier 2036567 2036602 + Identifier 2036603 2036619 + IfStatement 2036632 2036820 + Identifier 2036648 2036665 + Block 2036666 2036820 + ExpressionStatement 2036668 2036809 + CallExpression 2036668 2036808 + Identifier 2036668 2036696 + Identifier 2036697 2036714 + CallExpression 2036715 2036807 + Identifier 2036715 2036739 + Identifier 2036740 2036756 + PropertyAccessExpression 2036757 2036789 + Identifier 2036757 2036769 + Identifier 2036770 2036789 + Identifier 2036790 2036806 + FunctionDeclaration 2036827 2038172 + Identifier 2036843 2036885 + Parameter 2036886 2036896 + Identifier 2036886 2036890 + TypeReference 2036891 2036896 + Identifier 2036891 2036896 + BooleanKeyword 2036898 2036906 + Block 2036906 2038172 + ReturnStatement 2036908 2038165 + PrefixUnaryExpression 2036924 2038164 + PrefixUnaryExpression 2036926 2038164 + CallExpression 2036927 2038164 + Identifier 2036927 2036939 + Identifier 2036940 2036944 + ArrowFunction 2036945 2038163 + Parameter 2036945 2036950 + Identifier 2036945 2036950 + EqualsGreaterThanToken 2036950 2036953 + Block 2036953 2038163 + SwitchStatement 2036955 2038152 + PropertyAccessExpression 2036977 2036986 + Identifier 2036977 2036981 + Identifier 2036982 2036986 + CaseBlock 2036987 2038152 + CaseClause 2036989 2037077 + PropertyAccessExpression 2037011 2037042 + Identifier 2037011 2037022 + Identifier 2037023 2037042 + ReturnStatement 2037043 2037077 + TrueKeyword 2037071 2037076 + CaseClause 2037077 2037130 + PropertyAccessExpression 2037099 2037129 + Identifier 2037099 2037110 + Identifier 2037111 2037129 + CaseClause 2037130 2037182 + PropertyAccessExpression 2037152 2037181 + Identifier 2037152 2037163 + Identifier 2037164 2037181 + CaseClause 2037182 2037228 + PropertyAccessExpression 2037204 2037227 + Identifier 2037204 2037215 + Identifier 2037216 2037227 + CaseClause 2037228 2037274 + PropertyAccessExpression 2037250 2037273 + Identifier 2037250 2037261 + Identifier 2037262 2037273 + CaseClause 2037274 2037325 + PropertyAccessExpression 2037296 2037324 + Identifier 2037296 2037307 + Identifier 2037308 2037324 + CaseClause 2037325 2037380 + PropertyAccessExpression 2037347 2037379 + Identifier 2037347 2037358 + Identifier 2037359 2037379 + CaseClause 2037380 2037427 + PropertyAccessExpression 2037402 2037426 + Identifier 2037402 2037413 + Identifier 2037414 2037426 + CaseClause 2037427 2037475 + PropertyAccessExpression 2037449 2037474 + Identifier 2037449 2037460 + Identifier 2037461 2037474 + CaseClause 2037475 2037522 + PropertyAccessExpression 2037497 2037521 + Identifier 2037497 2037508 + Identifier 2037509 2037521 + CaseClause 2037522 2037570 + PropertyAccessExpression 2037544 2037569 + Identifier 2037544 2037555 + Identifier 2037556 2037569 + CaseClause 2037570 2037623 + PropertyAccessExpression 2037592 2037622 + Identifier 2037592 2037603 + Identifier 2037604 2037622 + CaseClause 2037623 2037675 + PropertyAccessExpression 2037645 2037674 + Identifier 2037645 2037656 + Identifier 2037657 2037674 + CaseClause 2037675 2037737 + PropertyAccessExpression 2037697 2037736 + Identifier 2037697 2037708 + Identifier 2037709 2037736 + CaseClause 2037737 2037821 + PropertyAccessExpression 2037759 2037785 + Identifier 2037759 2037770 + Identifier 2037771 2037785 + ReturnStatement 2037786 2037821 + FalseKeyword 2037814 2037820 + CaseClause 2037821 2037869 + PropertyAccessExpression 2037843 2037868 + Identifier 2037843 2037854 + Identifier 2037855 2037868 + CaseClause 2037869 2038042 + PropertyAccessExpression 2037891 2037922 + Identifier 2037891 2037902 + Identifier 2037903 2037922 + ReturnStatement 2037923 2038042 + ConditionalExpression 2037951 2038041 + BinaryExpression 2037951 2038025 + CallExpression 2037951 2037972 + Identifier 2037951 2037959 + PropertyAccessExpression 2037960 2037971 + Identifier 2037960 2037964 + Identifier 2037965 2037971 + AmpersandAmpersandToken 2037972 2037975 + CallExpression 2037975 2038025 + Identifier 2037975 2038005 + PropertyAccessExpression 2038006 2038024 + PropertyAccessExpression 2038006 2038017 + Identifier 2038006 2038010 + Identifier 2038011 2038017 + Identifier 2038018 2038024 + QuestionToken 2038025 2038027 + TrueKeyword 2038027 2038032 + ColonToken 2038032 2038034 + StringLiteral 2038034 2038041 + DefaultClause 2038042 2038137 + ReturnStatement 2038068 2038137 + ConditionalExpression 2038096 2038136 + CallExpression 2038096 2038119 + Identifier 2038096 2038113 + Identifier 2038114 2038118 + QuestionToken 2038119 2038121 + FalseKeyword 2038121 2038127 + ColonToken 2038127 2038129 + StringLiteral 2038129 2038136 + FunctionDeclaration 2038172 2039134 + Identifier 2038464 2038498 + Parameter 2038499 2038511 + Identifier 2038499 2038503 + TypeReference 2038504 2038511 + Identifier 2038504 2038511 + BooleanKeyword 2038513 2038521 + Block 2038521 2039134 + IfStatement 2038523 2038619 + PrefixUnaryExpression 2038537 2038578 + ParenthesizedExpression 2038538 2038578 + BinaryExpression 2038539 2038577 + PropertyAccessExpression 2038539 2038557 + NonNullExpression 2038539 2038551 + PropertyAccessExpression 2038539 2038550 + Identifier 2038539 2038543 + Identifier 2038544 2038550 + Identifier 2038552 2038557 + AmpersandToken 2038557 2038559 + PropertyAccessExpression 2038559 2038577 + Identifier 2038559 2038571 + Identifier 2038572 2038577 + Block 2038579 2038619 + ReturnStatement 2038581 2038608 + FalseKeyword 2038601 2038607 + VariableStatement 2038619 2038719 + VariableDeclarationList 2038619 2038718 + VariableDeclaration 2038632 2038718 + Identifier 2038632 2038642 + UnionType 2038643 2038669 + TypeReference 2038643 2038657 + Identifier 2038643 2038657 + UndefinedKeyword 2038659 2038669 + AsExpression 2038671 2038718 + CallExpression 2038671 2038701 + Identifier 2038671 2038687 + NonNullExpression 2038688 2038700 + PropertyAccessExpression 2038688 2038699 + Identifier 2038688 2038692 + Identifier 2038693 2038699 + TypeReference 2038704 2038718 + Identifier 2038704 2038718 + WhileStatement 2038719 2039127 + TrueKeyword 2038736 2038740 + Block 2038741 2039127 + ExpressionStatement 2038743 2038843 + BinaryExpression 2038743 2038842 + Identifier 2038743 2038766 + EqualsToken 2038766 2038768 + BinaryExpression 2038768 2038842 + PropertyAccessExpression 2038768 2038785 + Identifier 2038768 2038778 + Identifier 2038779 2038785 + AmpersandAmpersandToken 2038785 2038788 + AsExpression 2038788 2038842 + CallExpression 2038788 2038813 + Identifier 2038788 2038802 + Identifier 2038803 2038812 + UnionType 2038816 2038842 + TypeReference 2038816 2038830 + Identifier 2038816 2038830 + UndefinedKeyword 2038832 2038842 + IfStatement 2038843 2038920 + PrefixUnaryExpression 2038861 2038871 + Identifier 2038862 2038871 + Block 2038872 2038920 + ReturnStatement 2038874 2038905 + FalseKeyword 2038898 2038904 + VariableStatement 2038920 2039003 + VariableDeclarationList 2038920 2039002 + VariableDeclaration 2038939 2039002 + Identifier 2038939 2038953 + CallExpression 2038955 2039002 + Identifier 2038955 2038973 + Identifier 2038974 2038983 + PropertyAccessExpression 2038984 2039001 + Identifier 2038984 2038989 + Identifier 2038990 2039001 + IfStatement 2039003 2039116 + BinaryExpression 2039021 2039068 + Identifier 2039021 2039034 + AmpersandAmpersandToken 2039034 2039037 + PropertyAccessExpression 2039037 2039068 + Identifier 2039037 2039051 + Identifier 2039052 2039068 + Block 2039069 2039116 + ReturnStatement 2039071 2039101 + TrueKeyword 2039095 2039100 + FunctionDeclaration 2039134 2039374 + Identifier 2039150 2039164 + Parameter 2039165 2039189 + Identifier 2039165 2039174 + TypeReference 2039175 2039189 + Identifier 2039175 2039189 + UnionType 2039191 2039208 + TypeReference 2039191 2039196 + Identifier 2039191 2039196 + UndefinedKeyword 2039198 2039208 + Block 2039208 2039374 + VariableStatement 2039210 2039254 + VariableDeclarationList 2039210 2039253 + VariableDeclaration 2039225 2039253 + Identifier 2039225 2039227 + CallExpression 2039229 2039253 + Identifier 2039229 2039242 + Identifier 2039243 2039252 + IfStatement 2039254 2039327 + BinaryExpression 2039268 2039282 + PropertyAccessExpression 2039268 2039276 + Identifier 2039268 2039269 + Identifier 2039270 2039276 + EqualsEqualsEqualsToken 2039276 2039280 + NumericLiteral 2039280 2039282 + Block 2039283 2039327 + ReturnStatement 2039285 2039316 + Identifier 2039305 2039315 + ReturnStatement 2039327 2039367 + CallExpression 2039343 2039366 + Identifier 2039343 2039363 + Identifier 2039364 2039365 + FunctionDeclaration 2039374 2043699 + Identifier 2039390 2039416 + Parameter 2039417 2039457 + Identifier 2039417 2039425 + UnionType 2039426 2039457 + TypeReference 2039426 2039437 + Identifier 2039426 2039437 + TypeReference 2039439 2039457 + Identifier 2039439 2039457 + Parameter 2039458 2039479 + Identifier 2039458 2039473 + TypeReference 2039474 2039479 + Identifier 2039474 2039479 + Parameter 2039480 2039503 + Identifier 2039480 2039494 + BooleanKeyword 2039495 2039503 + Block 2039504 2043699 + VariableStatement 2039506 2039553 + VariableDeclarationList 2039506 2039552 + VariableDeclaration 2039521 2039552 + Identifier 2039521 2039527 + CallExpression 2039529 2039552 + Identifier 2039529 2039542 + Identifier 2039543 2039551 + VariableStatement 2039553 2039625 + VariableDeclarationList 2039553 2039624 + VariableDeclaration 2039568 2039624 + Identifier 2039568 2039574 + ParenthesizedExpression 2039576 2039624 + BinaryExpression 2039578 2039623 + PropertyAccessExpression 2039578 2039609 + Identifier 2039578 2039583 + Identifier 2039584 2039609 + BarBarEqualsToken 2039609 2039613 + NewExpression 2039613 2039623 + Identifier 2039617 2039621 + VariableStatement 2039625 2039695 + VariableDeclarationList 2039625 2039694 + VariableDeclaration 2039640 2039694 + Identifier 2039640 2039644 + TemplateExpression 2039646 2039694 + TemplateHead 2039646 2039650 + TemplateSpan 2039650 2039679 + CallExpression 2039650 2039675 + Identifier 2039650 2039659 + Identifier 2039660 2039674 + TemplateMiddle 2039675 2039679 + TemplateSpan 2039679 2039694 + Identifier 2039679 2039692 + TemplateTail 2039692 2039694 + IfStatement 2039695 2039758 + CallExpression 2039709 2039723 + PropertyAccessExpression 2039709 2039718 + Identifier 2039709 2039714 + Identifier 2039715 2039718 + Identifier 2039719 2039722 + Block 2039724 2039758 + ReturnStatement 2039726 2039747 + ExpressionStatement 2039758 2039783 + CallExpression 2039758 2039782 + PropertyAccessExpression 2039758 2039777 + Identifier 2039758 2039773 + Identifier 2039774 2039777 + Identifier 2039778 2039781 + VariableStatement 2039783 2039843 + VariableDeclarationList 2039783 2039842 + VariableDeclaration 2039796 2039842 + Identifier 2039796 2039806 + UnionType 2039807 2039842 + TypeReference 2039807 2039830 + Identifier 2039807 2039830 + UndefinedKeyword 2039832 2039842 + VariableStatement 2039843 2039893 + VariableDeclarationList 2039843 2039892 + VariableDeclaration 2039856 2039892 + Identifier 2039856 2039868 + UnionType 2039869 2039892 + TypeReference 2039869 2039880 + Identifier 2039869 2039880 + UndefinedKeyword 2039882 2039892 + IfStatement 2039893 2040493 + BinaryExpression 2039907 2040028 + BinaryExpression 2039907 2039979 + PrefixUnaryExpression 2039907 2039937 + CallExpression 2039908 2039937 + Identifier 2039908 2039927 + Identifier 2039928 2039936 + AmpersandAmpersandToken 2039937 2039940 + BinaryExpression 2039940 2039979 + PropertyAccessExpression 2039940 2039961 + Identifier 2039940 2039955 + Identifier 2039956 2039961 + AmpersandToken 2039961 2039963 + PropertyAccessExpression 2039963 2039979 + Identifier 2039963 2039973 + Identifier 2039974 2039979 + AmpersandAmpersandToken 2039979 2039982 + PrefixUnaryExpression 2039982 2040028 + ParenthesizedExpression 2039984 2040028 + BinaryExpression 2039985 2040027 + PropertyAccessExpression 2039985 2040005 + Identifier 2039985 2039999 + Identifier 2040000 2040005 + AmpersandToken 2040005 2040007 + PropertyAccessExpression 2040007 2040027 + Identifier 2040007 2040017 + Identifier 2040018 2040027 + Block 2040029 2040493 + ForOfStatement 2040031 2040482 + VariableDeclarationList 2040050 2040063 + VariableDeclaration 2040055 2040063 + Identifier 2040055 2040063 + PropertyAccessExpression 2040066 2040102 + ParenthesizedExpression 2040066 2040096 + AsExpression 2040068 2040095 + Identifier 2040068 2040082 + TypeReference 2040085 2040095 + Identifier 2040085 2040095 + Identifier 2040097 2040102 + Block 2040103 2040482 + IfStatement 2040105 2040467 + BinaryExpression 2040127 2040241 + PrefixUnaryExpression 2040127 2040176 + CallExpression 2040128 2040176 + Identifier 2040128 2040145 + Identifier 2040146 2040153 + PropertyAccessExpression 2040154 2040175 + Identifier 2040154 2040163 + Identifier 2040164 2040175 + AmpersandAmpersandToken 2040176 2040179 + PrefixUnaryExpression 2040179 2040241 + CallExpression 2040181 2040241 + Identifier 2040181 2040210 + Identifier 2040211 2040218 + PropertyAccessExpression 2040219 2040240 + Identifier 2040219 2040228 + Identifier 2040229 2040240 + Block 2040242 2040467 + ExpressionStatement 2040244 2040420 + BinaryExpression 2040244 2040419 + Identifier 2040244 2040275 + EqualsToken 2040275 2040277 + CallExpression 2040277 2040419 + Identifier 2040277 2040301 + Identifier 2040302 2040311 + PropertyAccessExpression 2040312 2040360 + Identifier 2040312 2040324 + Identifier 2040325 2040360 + CallExpression 2040361 2040395 + Identifier 2040361 2040385 + Identifier 2040386 2040394 + CallExpression 2040396 2040418 + Identifier 2040396 2040409 + Identifier 2040410 2040417 + BreakStatement 2040420 2040448 + IfStatement 2040493 2043312 + CallExpression 2040507 2040566 + Identifier 2040507 2040528 + PropertyAccessExpression 2040529 2040549 + Identifier 2040529 2040537 + Identifier 2040538 2040549 + Identifier 2040550 2040565 + Block 2040567 2040913 + VariableStatement 2040569 2040634 + VariableDeclarationList 2040569 2040633 + VariableDeclaration 2040588 2040633 + Identifier 2040588 2040597 + CallExpression 2040599 2040633 + Identifier 2040599 2040623 + Identifier 2040624 2040632 + VariableStatement 2040634 2040694 + VariableDeclarationList 2040634 2040693 + VariableDeclaration 2040653 2040693 + Identifier 2040653 2040662 + CallExpression 2040664 2040693 + Identifier 2040664 2040677 + Identifier 2040678 2040692 + ExpressionStatement 2040694 2040902 + BinaryExpression 2040694 2040901 + Identifier 2040694 2040717 + EqualsToken 2040717 2040719 + CallExpression 2040719 2040901 + Identifier 2040719 2040743 + Identifier 2040744 2040753 + PropertyAccessExpression 2040754 2040853 + Identifier 2040754 2040766 + Identifier 2040767 2040853 + Identifier 2040854 2040863 + Identifier 2040864 2040873 + BinaryExpression 2040874 2040900 + BinaryExpression 2040874 2040889 + Identifier 2040874 2040883 + PlusToken 2040883 2040885 + StringLiteral 2040885 2040889 + PlusToken 2040889 2040891 + Identifier 2040891 2040900 + Block 2040927 2043312 + VariableStatement 2040929 2041005 + VariableDeclarationList 2040929 2041004 + VariableDeclaration 2040948 2041004 + Identifier 2040948 2040961 + CallExpression 2040963 2041004 + Identifier 2040963 2040988 + Identifier 2040989 2041003 + IfStatement 2041005 2043301 + BinaryExpression 2041023 2041092 + Identifier 2041023 2041035 + AmpersandAmpersandToken 2041035 2041038 + CallExpression 2041038 2041092 + Identifier 2041038 2041056 + Identifier 2041057 2041069 + PropertyAccessExpression 2041070 2041091 + Identifier 2041070 2041079 + Identifier 2041080 2041091 + Block 2041093 2041396 + ExpressionStatement 2041095 2041274 + BinaryExpression 2041095 2041273 + Identifier 2041095 2041122 + EqualsToken 2041122 2041124 + CallExpression 2041124 2041273 + Identifier 2041124 2041148 + Identifier 2041149 2041158 + PropertyAccessExpression 2041159 2041207 + Identifier 2041159 2041171 + Identifier 2041172 2041207 + CallExpression 2041208 2041242 + Identifier 2041208 2041232 + Identifier 2041233 2041241 + CallExpression 2041243 2041272 + Identifier 2041243 2041256 + Identifier 2041257 2041271 + ExpressionStatement 2041274 2041381 + BinaryExpression 2041274 2041380 + Identifier 2041274 2041303 + EqualsToken 2041303 2041305 + CallExpression 2041305 2041380 + Identifier 2041305 2041329 + Identifier 2041330 2041338 + PropertyAccessExpression 2041339 2041379 + Identifier 2041339 2041351 + Identifier 2041352 2041379 + Block 2041414 2043301 + VariableStatement 2041416 2041492 + VariableDeclarationList 2041416 2041491 + VariableDeclaration 2041439 2041491 + Identifier 2041439 2041455 + CallExpression 2041457 2041491 + Identifier 2041457 2041481 + Identifier 2041482 2041490 + VariableStatement 2041492 2041557 + VariableDeclarationList 2041492 2041556 + VariableDeclaration 2041515 2041556 + Identifier 2041515 2041525 + CallExpression 2041527 2041556 + Identifier 2041527 2041540 + Identifier 2041541 2041555 + VariableStatement 2041557 2041668 + VariableDeclarationList 2041557 2041667 + VariableDeclaration 2041580 2041667 + Identifier 2041580 2041594 + CallExpression 2041596 2041667 + Identifier 2041596 2041634 + Identifier 2041635 2041650 + Identifier 2041651 2041666 + IfStatement 2041668 2043286 + BinaryExpression 2041690 2041717 + Identifier 2041690 2041703 + ExclamationEqualsEqualsToken 2041703 2041707 + Identifier 2041707 2041717 + Block 2041718 2041993 + ExpressionStatement 2041720 2041974 + BinaryExpression 2041720 2041973 + Identifier 2041720 2041751 + EqualsToken 2041751 2041753 + CallExpression 2041753 2041973 + Identifier 2041753 2041777 + Identifier 2041778 2041787 + PropertyAccessExpression 2041788 2041929 + Identifier 2041788 2041800 + Identifier 2041801 2041929 + Identifier 2041930 2041946 + Identifier 2041947 2041957 + Identifier 2041958 2041972 + Block 2042015 2043286 + VariableStatement 2042017 2042125 + VariableDeclarationList 2042017 2042124 + VariableDeclaration 2042044 2042124 + Identifier 2042044 2042055 + CallExpression 2042057 2042124 + Identifier 2042057 2042098 + Identifier 2042099 2042107 + Identifier 2042108 2042123 + IfStatement 2042125 2043267 + BinaryExpression 2042151 2042175 + Identifier 2042151 2042161 + ExclamationEqualsEqualsToken 2042161 2042165 + Identifier 2042165 2042175 + Block 2042176 2042754 + VariableStatement 2042178 2042249 + VariableDeclarationList 2042178 2042248 + VariableDeclaration 2042209 2042248 + Identifier 2042209 2042223 + CallExpression 2042225 2042248 + Identifier 2042225 2042236 + Identifier 2042237 2042247 + VariableStatement 2042249 2042434 + VariableDeclarationList 2042249 2042433 + VariableDeclaration 2042280 2042433 + Identifier 2042280 2042288 + ConditionalExpression 2042290 2042433 + Identifier 2042290 2042304 + QuestionToken 2042304 2042306 + PropertyAccessExpression 2042306 2042368 + Identifier 2042306 2042318 + Identifier 2042319 2042368 + ColonToken 2042368 2042370 + PropertyAccessExpression 2042370 2042433 + Identifier 2042370 2042382 + Identifier 2042383 2042433 + ExpressionStatement 2042434 2042559 + BinaryExpression 2042434 2042558 + Identifier 2042434 2042469 + EqualsToken 2042469 2042471 + CallExpression 2042471 2042558 + Identifier 2042471 2042495 + Identifier 2042496 2042505 + Identifier 2042506 2042514 + Identifier 2042515 2042531 + Identifier 2042532 2042542 + Identifier 2042543 2042557 + ExpressionStatement 2042559 2042731 + BinaryExpression 2042559 2042730 + Identifier 2042559 2042596 + EqualsToken 2042596 2042598 + BinaryExpression 2042598 2042730 + PropertyAccessExpression 2042598 2042626 + Identifier 2042598 2042609 + Identifier 2042610 2042626 + AmpersandAmpersandToken 2042626 2042629 + CallExpression 2042629 2042730 + Identifier 2042629 2042653 + PropertyAccessExpression 2042654 2042681 + Identifier 2042654 2042664 + Identifier 2042665 2042681 + PropertyAccessExpression 2042682 2042714 + Identifier 2042682 2042694 + Identifier 2042695 2042714 + Identifier 2042715 2042729 + Block 2042780 2043267 + VariableStatement 2042782 2043087 + VariableDeclarationList 2042782 2043086 + VariableDeclaration 2042813 2043086 + Identifier 2042813 2042824 + ConditionalExpression 2042826 2043086 + CallExpression 2042826 2042876 + Identifier 2042826 2042860 + Identifier 2042861 2042875 + QuestionToken 2042876 2042907 + PropertyAccessExpression 2042907 2043007 + Identifier 2042907 2042919 + Identifier 2042920 2043007 + ColonToken 2043007 2043038 + PropertyAccessExpression 2043038 2043086 + Identifier 2043038 2043050 + Identifier 2043051 2043086 + ExpressionStatement 2043087 2043244 + BinaryExpression 2043087 2043243 + Identifier 2043087 2043122 + EqualsToken 2043122 2043124 + CallExpression 2043124 2043243 + Identifier 2043124 2043148 + CallExpression 2043149 2043202 + Identifier 2043149 2043175 + Identifier 2043176 2043185 + Identifier 2043186 2043201 + Identifier 2043203 2043214 + Identifier 2043215 2043231 + Identifier 2043232 2043242 + VariableStatement 2043312 2043439 + VariableDeclarationList 2043312 2043438 + VariableDeclaration 2043327 2043438 + Identifier 2043327 2043344 + CallExpression 2043346 2043438 + Identifier 2043346 2043386 + CallExpression 2043387 2043416 + Identifier 2043387 2043406 + Identifier 2043407 2043415 + Identifier 2043417 2043426 + Identifier 2043427 2043437 + IfStatement 2043439 2043538 + Identifier 2043453 2043464 + Block 2043465 2043538 + ExpressionStatement 2043467 2043527 + CallExpression 2043467 2043526 + Identifier 2043467 2043495 + Identifier 2043496 2043512 + Identifier 2043513 2043525 + ExpressionStatement 2043538 2043692 + CallExpression 2043538 2043691 + Identifier 2043538 2043568 + BinaryExpression 2043569 2043672 + PrefixUnaryExpression 2043569 2043583 + Identifier 2043570 2043583 + BarBarToken 2043583 2043586 + BinaryExpression 2043586 2043672 + PropertyAccessExpression 2043586 2043601 + Identifier 2043586 2043596 + Identifier 2043597 2043601 + ExclamationEqualsEqualsToken 2043601 2043605 + PropertyAccessExpression 2043605 2043672 + PropertyAccessExpression 2043605 2043667 + Identifier 2043605 2043617 + Identifier 2043618 2043667 + Identifier 2043668 2043672 + Identifier 2043673 2043690 + FunctionDeclaration 2043699 2044093 + Identifier 2043715 2043749 + Parameter 2043750 2043770 + Identifier 2043750 2043764 + TypeReference 2043765 2043770 + Identifier 2043765 2043770 + Block 2043771 2044093 + ReturnStatement 2043773 2044086 + BinaryExpression 2043789 2044085 + BinaryExpression 2043789 2044035 + ParenthesizedExpression 2043789 2043851 + BinaryExpression 2043791 2043850 + PropertyAccessExpression 2043791 2043810 + Identifier 2043791 2043806 + Identifier 2043807 2043810 + AmpersandAmpersandToken 2043810 2043813 + PrefixUnaryExpression 2043813 2043850 + CallExpression 2043815 2043850 + PropertyAccessExpression 2043815 2043843 + PropertyAccessExpression 2043815 2043834 + Identifier 2043815 2043830 + Identifier 2043831 2043834 + Identifier 2043835 2043843 + StringLiteral 2043844 2043849 + AmpersandAmpersandToken 2043851 2043854 + CallExpression 2043854 2044035 + Identifier 2043854 2043886 + Identifier 2043887 2043901 + ArrowFunction 2043902 2044034 + Parameter 2043902 2043907 + Identifier 2043902 2043907 + EqualsGreaterThanToken 2043907 2043910 + BinaryExpression 2043910 2044034 + PropertyAccessExpression 2043910 2043922 + Identifier 2043910 2043915 + Identifier 2043916 2043922 + AmpersandAmpersandToken 2043922 2043925 + CallExpression 2043925 2044034 + PropertyAccessExpression 2043925 2043981 + RegularExpressionLiteral 2043925 2043976 + Identifier 2043977 2043981 + CallExpression 2043982 2044033 + Identifier 2043982 2044008 + PropertyAccessExpression 2044009 2044032 + PropertyAccessExpression 2044009 2044020 + Identifier 2044009 2044013 + Identifier 2044014 2044020 + Identifier 2044021 2044032 + AmpersandAmpersandToken 2044035 2044038 + CallExpression 2044038 2044085 + Identifier 2044038 2044069 + Identifier 2044070 2044084 + FunctionDeclaration 2044093 2044405 + Identifier 2044109 2044131 + Parameter 2044132 2044150 + Identifier 2044132 2044140 + TypeReference 2044141 2044150 + Identifier 2044141 2044150 + Parameter 2044151 2044172 + Identifier 2044151 2044166 + TypeReference 2044167 2044172 + Identifier 2044167 2044172 + BooleanKeyword 2044174 2044182 + Block 2044182 2044405 + VariableStatement 2044184 2044300 + VariableDeclarationList 2044184 2044299 + VariableDeclaration 2044199 2044299 + Identifier 2044199 2044204 + BinaryExpression 2044206 2044299 + PropertyAccessExpression 2044206 2044228 + Identifier 2044206 2044221 + Identifier 2044222 2044228 + AmpersandAmpersandToken 2044228 2044231 + CallExpression 2044231 2044299 + Identifier 2044231 2044249 + CallExpression 2044250 2044288 + Identifier 2044250 2044265 + PropertyAccessExpression 2044266 2044287 + Identifier 2044266 2044280 + Identifier 2044281 2044287 + Identifier 2044289 2044298 + ReturnStatement 2044300 2044398 + BinaryExpression 2044316 2044397 + BinaryExpression 2044316 2044362 + BinaryExpression 2044316 2044335 + Identifier 2044316 2044321 + ExclamationEqualsEqualsToken 2044321 2044325 + Identifier 2044325 2044335 + AmpersandAmpersandToken 2044335 2044338 + PrefixUnaryExpression 2044338 2044362 + PrefixUnaryExpression 2044340 2044362 + PropertyAccessExpression 2044341 2044362 + Identifier 2044341 2044345 + Identifier 2044346 2044362 + AmpersandAmpersandToken 2044362 2044365 + CallExpression 2044365 2044397 + Identifier 2044365 2044374 + PropertyAccessExpression 2044375 2044396 + Identifier 2044375 2044379 + Identifier 2044380 2044396 + FunctionDeclaration 2044405 2044728 + Identifier 2044421 2044455 + Parameter 2044456 2044483 + Identifier 2044456 2044460 + UnionType 2044461 2044483 + TypeReference 2044461 2044470 + Identifier 2044461 2044470 + TypeReference 2044472 2044483 + Identifier 2044472 2044483 + Block 2044484 2044728 + VariableStatement 2044486 2044537 + VariableDeclarationList 2044486 2044536 + VariableDeclaration 2044501 2044536 + Identifier 2044501 2044513 + CallExpression 2044515 2044536 + Identifier 2044515 2044530 + Identifier 2044531 2044535 + VariableStatement 2044537 2044593 + VariableDeclarationList 2044537 2044592 + VariableDeclaration 2044552 2044592 + Identifier 2044552 2044564 + CallExpression 2044566 2044592 + Identifier 2044566 2044590 + VariableStatement 2044593 2044653 + VariableDeclarationList 2044593 2044652 + VariableDeclaration 2044608 2044652 + Identifier 2044608 2044621 + CallExpression 2044623 2044652 + PropertyAccessExpression 2044623 2044639 + Identifier 2044623 2044635 + Identifier 2044636 2044639 + Identifier 2044640 2044651 + ReturnStatement 2044653 2044721 + BinaryExpression 2044669 2044720 + Identifier 2044669 2044682 + AmpersandAmpersandToken 2044682 2044685 + CallExpression 2044685 2044720 + Identifier 2044685 2044699 + CallExpression 2044700 2044719 + PropertyAccessExpression 2044700 2044717 + Identifier 2044700 2044712 + Identifier 2044713 2044717 + FunctionDeclaration 2044728 2045406 + Identifier 2044744 2044782 + Parameter 2044783 2044806 + Identifier 2044783 2044798 + StringKeyword 2044799 2044806 + Parameter 2044807 2044828 + Identifier 2044807 2044822 + TypeReference 2044823 2044828 + Identifier 2044823 2044828 + Block 2044829 2045406 + VariableStatement 2044831 2044898 + VariableDeclarationList 2044831 2044897 + VariableDeclaration 2044846 2044897 + Identifier 2044846 2044856 + PropertyAccessExpression 2044858 2044897 + CallExpression 2044858 2044890 + Identifier 2044858 2044874 + Identifier 2044875 2044889 + Identifier 2044891 2044897 + IfStatement 2044898 2044967 + PrefixUnaryExpression 2044912 2044922 + Identifier 2044913 2044922 + Block 2044923 2044967 + ReturnStatement 2044925 2044956 + Identifier 2044945 2044955 + VariableStatement 2044967 2045026 + VariableDeclarationList 2044967 2045025 + VariableDeclaration 2044982 2045025 + Identifier 2044982 2045001 + CallExpression 2045003 2045025 + Identifier 2045003 2045014 + Identifier 2045015 2045024 + VariableStatement 2045026 2045082 + VariableDeclarationList 2045026 2045081 + VariableDeclaration 2045041 2045081 + Identifier 2045041 2045053 + CallExpression 2045055 2045081 + Identifier 2045055 2045079 + VariableStatement 2045082 2045149 + VariableDeclarationList 2045082 2045148 + VariableDeclaration 2045097 2045148 + Identifier 2045097 2045110 + CallExpression 2045112 2045148 + PropertyAccessExpression 2045112 2045128 + Identifier 2045112 2045124 + Identifier 2045125 2045128 + Identifier 2045129 2045147 + IfStatement 2045149 2045399 + Identifier 2045163 2045175 + Block 2045176 2045399 + ForOfStatement 2045178 2045388 + VariableDeclarationList 2045197 2045230 + VariableDeclaration 2045202 2045230 + ArrayBindingPattern 2045202 2045230 + BindingElement 2045204 2045213 + Identifier 2045204 2045213 + BindingElement 2045214 2045229 + Identifier 2045214 2045229 + Identifier 2045233 2045246 + Block 2045247 2045388 + IfStatement 2045249 2045373 + CallExpression 2045271 2045312 + Identifier 2045271 2045279 + Identifier 2045280 2045294 + Identifier 2045295 2045311 + Block 2045313 2045373 + ReturnStatement 2045315 2045354 + Identifier 2045343 2045353 + FunctionDeclaration 2045406 2045633 + Identifier 2045422 2045466 + Parameter 2045467 2045479 + Identifier 2045467 2045471 + StringKeyword 2045472 2045479 + Parameter 2045480 2045495 + Identifier 2045480 2045489 + TypeReference 2045490 2045495 + Identifier 2045490 2045495 + UnionType 2045497 2045516 + TypeReference 2045497 2045504 + Identifier 2045497 2045504 + UndefinedKeyword 2045506 2045516 + Block 2045516 2045633 + ReturnStatement 2045518 2045626 + CallExpression 2045534 2045625 + Identifier 2045534 2045563 + Identifier 2045564 2045568 + CallExpression 2045569 2045599 + Identifier 2045569 2045589 + Identifier 2045590 2045598 + PropertyAccessExpression 2045600 2045624 + Identifier 2045600 2045612 + Identifier 2045613 2045624 + FunctionDeclaration 2045633 2046236 + Identifier 2045649 2045690 + Parameter 2045691 2045736 + Identifier 2045691 2045695 + UnionType 2045696 2045736 + TypeReference 2045696 2045707 + Identifier 2045696 2045707 + TypeReference 2045709 2045727 + Identifier 2045709 2045727 + StringKeyword 2045729 2045736 + Parameter 2045737 2045758 + Identifier 2045737 2045752 + TypeReference 2045753 2045758 + Identifier 2045753 2045758 + UnionType 2045760 2045779 + TypeReference 2045760 2045767 + Identifier 2045760 2045767 + UndefinedKeyword 2045769 2045779 + Block 2045779 2046236 + VariableStatement 2045781 2045839 + VariableDeclarationList 2045781 2045838 + VariableDeclaration 2045794 2045838 + Identifier 2045794 2045800 + CallExpression 2045802 2045838 + Identifier 2045802 2045822 + Identifier 2045823 2045837 + IfStatement 2045839 2046151 + BinaryExpression 2045853 2045877 + TypeOfExpression 2045853 2045864 + Identifier 2045859 2045864 + ExclamationEqualsEqualsToken 2045864 2045868 + StringLiteral 2045868 2045877 + Block 2045878 2046151 + VariableStatement 2045880 2045921 + VariableDeclarationList 2045880 2045920 + VariableDeclaration 2045899 2045920 + Identifier 2045899 2045906 + PropertyAccessExpression 2045908 2045920 + Identifier 2045908 2045913 + Identifier 2045914 2045920 + IfStatement 2045921 2046106 + CallExpression 2045939 2045973 + Identifier 2045939 2045965 + Identifier 2045966 2045972 + Block 2045974 2046106 + ExpressionStatement 2045976 2046091 + BinaryExpression 2045976 2046090 + Identifier 2045976 2045999 + EqualsToken 2045999 2046001 + CallExpression 2046001 2046090 + Identifier 2046001 2046008 + Identifier 2046009 2046014 + ArrowFunction 2046015 2046089 + Parameter 2046015 2046020 + Identifier 2046015 2046020 + EqualsGreaterThanToken 2046020 2046023 + CallExpression 2046023 2046089 + Identifier 2046023 2046059 + Identifier 2046060 2046066 + Identifier 2046067 2046082 + Identifier 2046083 2046088 + ExpressionStatement 2046106 2046140 + BinaryExpression 2046106 2046139 + Identifier 2046106 2046124 + EqualsToken 2046124 2046126 + CallExpression 2046126 2046139 + Identifier 2046126 2046133 + Identifier 2046134 2046138 + ReturnStatement 2046151 2046229 + CallExpression 2046167 2046228 + Identifier 2046167 2046196 + Identifier 2046197 2046201 + Identifier 2046202 2046208 + PropertyAccessExpression 2046209 2046227 + Identifier 2046209 2046221 + Identifier 2046222 2046227 + FunctionDeclaration 2046236 2046840 + Identifier 2046252 2046297 + Parameter 2046298 2046343 + Identifier 2046298 2046302 + UnionType 2046303 2046343 + TypeReference 2046303 2046314 + Identifier 2046303 2046314 + TypeReference 2046316 2046334 + Identifier 2046316 2046334 + StringKeyword 2046336 2046343 + Parameter 2046344 2046365 + Identifier 2046344 2046359 + TypeReference 2046360 2046365 + Identifier 2046360 2046365 + UnionType 2046367 2046386 + TypeReference 2046367 2046374 + Identifier 2046367 2046374 + UndefinedKeyword 2046376 2046386 + Block 2046386 2046840 + VariableStatement 2046388 2046451 + VariableDeclarationList 2046388 2046450 + VariableDeclaration 2046403 2046450 + Identifier 2046403 2046411 + ConditionalExpression 2046413 2046450 + CallExpression 2046413 2046428 + Identifier 2046413 2046422 + Identifier 2046423 2046427 + QuestionToken 2046428 2046430 + Identifier 2046430 2046435 + ColonToken 2046435 2046437 + CallExpression 2046437 2046450 + Identifier 2046437 2046444 + Identifier 2046445 2046449 + VariableStatement 2046451 2046516 + VariableDeclarationList 2046451 2046515 + VariableDeclaration 2046466 2046515 + Identifier 2046466 2046477 + CallExpression 2046479 2046515 + Identifier 2046479 2046499 + Identifier 2046500 2046514 + VariableStatement 2046516 2046732 + VariableDeclarationList 2046516 2046731 + VariableDeclaration 2046531 2046731 + Identifier 2046531 2046543 + ConditionalExpression 2046545 2046731 + BinaryExpression 2046545 2046563 + Identifier 2046545 2046553 + EqualsEqualsEqualsToken 2046553 2046557 + StringLiteral 2046557 2046563 + QuestionToken 2046563 2046565 + CallExpression 2046565 2046616 + Identifier 2046565 2046570 + Identifier 2046571 2046581 + ArrowFunction 2046582 2046615 + Parameter 2046582 2046584 + Identifier 2046582 2046584 + EqualsGreaterThanToken 2046584 2046587 + BinaryExpression 2046587 2046615 + CallExpression 2046587 2046601 + Identifier 2046587 2046598 + Identifier 2046599 2046600 + EqualsEqualsEqualsToken 2046601 2046605 + StringLiteral 2046605 2046615 + ColonToken 2046616 2046631 + ConditionalExpression 2046631 2046731 + BinaryExpression 2046631 2046651 + Identifier 2046631 2046639 + EqualsEqualsEqualsToken 2046639 2046643 + StringLiteral 2046643 2046651 + QuestionToken 2046651 2046653 + CallExpression 2046653 2046706 + Identifier 2046653 2046658 + Identifier 2046659 2046669 + ArrowFunction 2046670 2046705 + Parameter 2046670 2046672 + Identifier 2046670 2046672 + EqualsGreaterThanToken 2046672 2046675 + BinaryExpression 2046675 2046705 + CallExpression 2046675 2046689 + Identifier 2046675 2046686 + Identifier 2046687 2046688 + EqualsEqualsEqualsToken 2046689 2046693 + StringLiteral 2046693 2046705 + ColonToken 2046706 2046721 + Identifier 2046721 2046731 + ReturnStatement 2046732 2046833 + BinaryExpression 2046748 2046832 + Identifier 2046748 2046760 + QuestionQuestionToken 2046760 2046763 + CallExpression 2046763 2046832 + Identifier 2046763 2046792 + Identifier 2046793 2046800 + Identifier 2046801 2046812 + PropertyAccessExpression 2046813 2046831 + Identifier 2046813 2046825 + Identifier 2046826 2046831 + FunctionDeclaration 2046840 2047136 + Identifier 2046856 2046892 + Parameter 2046893 2046938 + Identifier 2046893 2046897 + UnionType 2046898 2046938 + TypeReference 2046898 2046909 + Identifier 2046898 2046909 + TypeReference 2046911 2046929 + Identifier 2046911 2046929 + StringKeyword 2046931 2046938 + Parameter 2046939 2046960 + Identifier 2046939 2046954 + TypeReference 2046955 2046960 + Identifier 2046955 2046960 + UnionType 2046962 2046981 + StringKeyword 2046962 2046969 + UndefinedKeyword 2046971 2046981 + Block 2046981 2047136 + VariableStatement 2046983 2047075 + VariableDeclarationList 2046983 2047074 + VariableDeclaration 2046998 2047074 + Identifier 2046998 2047009 + CallExpression 2047011 2047074 + Identifier 2047011 2047052 + Identifier 2047053 2047057 + Identifier 2047058 2047073 + ReturnStatement 2047075 2047129 + BinaryExpression 2047091 2047128 + Identifier 2047091 2047102 + AmpersandAmpersandToken 2047102 2047105 + CallExpression 2047105 2047128 + Identifier 2047105 2047116 + Identifier 2047117 2047127 + FunctionDeclaration 2047136 2048383 + Identifier 2047152 2047185 + Parameter 2047186 2047206 + Identifier 2047186 2047193 + TypeReference 2047194 2047206 + Identifier 2047194 2047206 + Parameter 2047207 2047222 + Identifier 2047207 2047212 + TypeReference 2047213 2047222 + Identifier 2047213 2047222 + Parameter 2047223 2047244 + Identifier 2047223 2047231 + TypeReference 2047232 2047244 + Identifier 2047232 2047244 + Block 2047245 2048383 + VariableStatement 2047247 2047306 + VariableDeclarationList 2047247 2047305 + VariableDeclaration 2047262 2047305 + Identifier 2047262 2047269 + CallExpression 2047271 2047305 + Identifier 2047271 2047281 + Identifier 2047282 2047289 + Identifier 2047290 2047295 + Identifier 2047296 2047304 + IfStatement 2047306 2047691 + Identifier 2047669 2047675 + ReturnStatement 2047676 2047691 + Identifier 2047683 2047690 + VariableStatement 2047691 2047726 + VariableDeclarationList 2047691 2047725 + VariableDeclaration 2047704 2047725 + Identifier 2047704 2047715 + ArrayType 2047716 2047725 + TypeReference 2047716 2047723 + Identifier 2047716 2047723 + IfStatement 2047726 2048275 + BinaryExpression 2047740 2047759 + Identifier 2047740 2047747 + EqualsEqualsEqualsToken 2047747 2047751 + Identifier 2047751 2047759 + Block 2047760 2048193 + VariableStatement 2047762 2048108 + VariableDeclarationList 2047762 2048107 + VariableDeclaration 2047781 2048107 + Identifier 2047781 2047792 + CallExpression 2047794 2048107 + Identifier 2047794 2047805 + ArrayLiteralExpression 2047806 2047885 + StringLiteral 2047825 2047833 + StringLiteral 2047834 2047843 + StringLiteral 2047844 2047854 + StringLiteral 2047855 2047864 + StringLiteral 2047865 2047874 + StringLiteral 2047875 2047884 + ArrowFunction 2047886 2048091 + Parameter 2047886 2047905 + Identifier 2047886 2047905 + EqualsGreaterThanToken 2047905 2047908 + ConditionalExpression 2047908 2048091 + CallExpression 2047908 2047974 + PropertyAccessExpression 2047908 2047920 + Identifier 2047908 2047916 + Identifier 2047917 2047920 + AsExpression 2047921 2047973 + ParenthesizedExpression 2047921 2047961 + BinaryExpression 2047922 2047960 + CallExpression 2047922 2047947 + PropertyAccessExpression 2047922 2047945 + CallExpression 2047922 2047933 + PropertyAccessExpression 2047922 2047930 + Identifier 2047922 2047923 + Identifier 2047924 2047930 + NumericLiteral 2047931 2047932 + Identifier 2047934 2047945 + PlusToken 2047947 2047949 + CallExpression 2047949 2047960 + PropertyAccessExpression 2047949 2047957 + Identifier 2047949 2047951 + Identifier 2047952 2047957 + NumericLiteral 2047958 2047959 + TypeReference 2047964 2047973 + Identifier 2047964 2047973 + QuestionToken 2047974 2047997 + AsExpression 2047997 2048058 + CallExpression 2047997 2048048 + Identifier 2047997 2048010 + PropertyAccessExpression 2048011 2048032 + Identifier 2048011 2048022 + Identifier 2048023 2048032 + AsExpression 2048033 2048047 + Identifier 2048033 2048035 + TypeReference 2048038 2048047 + Identifier 2048038 2048047 + TypeReference 2048051 2048058 + Identifier 2048051 2048058 + ColonToken 2048058 2048081 + Identifier 2048081 2048091 + ExpressionStatement 2048108 2048182 + BinaryExpression 2048108 2048181 + Identifier 2048108 2048132 + EqualsToken 2048132 2048134 + CallExpression 2048134 2048181 + PropertyAccessExpression 2048134 2048152 + Identifier 2048134 2048145 + Identifier 2048146 2048152 + CallExpression 2048153 2048180 + Identifier 2048153 2048162 + CallExpression 2048163 2048179 + PropertyAccessExpression 2048163 2048177 + Identifier 2048163 2048170 + Identifier 2048171 2048177 + Block 2048207 2048275 + ExpressionStatement 2048209 2048264 + BinaryExpression 2048209 2048263 + Identifier 2048209 2048233 + EqualsToken 2048233 2048235 + CallExpression 2048235 2048263 + Identifier 2048235 2048245 + CallExpression 2048246 2048262 + PropertyAccessExpression 2048246 2048260 + Identifier 2048246 2048253 + Identifier 2048254 2048260 + ReturnStatement 2048275 2048376 + CallExpression 2048291 2048375 + Identifier 2048291 2048320 + CallExpression 2048321 2048353 + Identifier 2048321 2048347 + Identifier 2048348 2048352 + Identifier 2048354 2048365 + Identifier 2048366 2048374 + FunctionDeclaration 2048383 2048810 + Identifier 2048397 2048436 + Parameter 2048437 2048463 + Identifier 2048437 2048445 + UnionType 2048446 2048463 + TypeReference 2048446 2048451 + Identifier 2048446 2048451 + UndefinedKeyword 2048453 2048463 + Parameter 2048464 2048484 + Identifier 2048464 2048474 + TypeReference 2048475 2048484 + Identifier 2048475 2048484 + Parameter 2048485 2048506 + Identifier 2048485 2048493 + TypeReference 2048494 2048506 + Identifier 2048494 2048506 + UnionType 2048508 2048527 + TypeReference 2048508 2048515 + Identifier 2048508 2048515 + UndefinedKeyword 2048517 2048527 + Block 2048527 2048810 + ExpressionStatement 2048529 2048615 + CallExpression 2048529 2048614 + PropertyAccessExpression 2048529 2048551 + Identifier 2048529 2048544 + Identifier 2048545 2048551 + BinaryExpression 2048552 2048575 + Identifier 2048552 2048561 + ExclamationEqualsEqualsToken 2048561 2048565 + Identifier 2048565 2048575 + StringLiteral 2048576 2048613 + VariableStatement 2048615 2048779 + VariableDeclarationList 2048615 2048778 + VariableDeclaration 2048630 2048778 + Identifier 2048630 2048637 + CallExpression 2048639 2048778 + Identifier 2048639 2048670 + Identifier 2048671 2048679 + Identifier 2048680 2048690 + Identifier 2048691 2048699 + Identifier 2048700 2048734 + FalseKeyword 2048735 2048751 + FalseKeyword 2048752 2048777 + ReturnStatement 2048779 2048803 + Identifier 2048795 2048802 + FunctionDeclaration 2048810 2049085 + Identifier 2048826 2048865 + Parameter 2048866 2048882 + Identifier 2048866 2048870 + TypeReference 2048871 2048882 + Identifier 2048871 2048882 + Parameter 2048883 2048904 + Identifier 2048883 2048896 + TypeReference 2048897 2048904 + Identifier 2048897 2048904 + UnionType 2048906 2048925 + TypeReference 2048906 2048913 + Identifier 2048906 2048913 + UndefinedKeyword 2048915 2048925 + Block 2048925 2049085 + ReturnStatement 2048927 2049078 + BinaryExpression 2048943 2049077 + PropertyAccessExpression 2048943 2048964 + Identifier 2048943 2048956 + Identifier 2048957 2048964 + AmpersandAmpersandToken 2048964 2048967 + CallExpression 2048967 2049077 + Identifier 2048967 2048996 + CallExpression 2048997 2049009 + Identifier 2048997 2049003 + Identifier 2049004 2049008 + CallExpression 2049010 2049050 + Identifier 2049010 2049036 + Identifier 2049037 2049049 + PropertyAccessExpression 2049051 2049076 + Identifier 2049051 2049063 + Identifier 2049064 2049076 + FunctionDeclaration 2049085 2050142 + Identifier 2049101 2049143 + Parameter 2049144 2049160 + Identifier 2049144 2049154 + TypeReference 2049155 2049160 + Identifier 2049155 2049160 + Parameter 2049161 2049191 + Identifier 2049161 2049166 + TypeReference 2049167 2049191 + Identifier 2049167 2049191 + Parameter 2049192 2049208 + Identifier 2049192 2049202 + TypeReference 2049203 2049208 + Identifier 2049203 2049208 + UnionType 2049210 2049229 + StringKeyword 2049210 2049217 + UndefinedKeyword 2049219 2049229 + Block 2049229 2050142 + FunctionDeclaration 2049231 2049685 + Identifier 2049303 2049311 + Parameter 2049312 2049331 + Identifier 2049312 2049316 + UnionType 2049317 2049331 + LiteralType 2049317 2049323 + StringLiteral 2049317 2049323 + LiteralType 2049325 2049331 + StringLiteral 2049325 2049331 + Block 2049332 2049685 + VariableStatement 2049334 2049415 + VariableDeclarationList 2049334 2049414 + VariableDeclaration 2049353 2049414 + Identifier 2049353 2049358 + CallExpression 2049360 2049414 + Identifier 2049360 2049384 + Identifier 2049385 2049395 + AsExpression 2049396 2049413 + Identifier 2049396 2049401 + TypeReference 2049404 2049413 + Identifier 2049404 2049413 + IfStatement 2049415 2049647 + Identifier 2049433 2049437 + Block 2049438 2049647 + VariableStatement 2049440 2049514 + VariableDeclarationList 2049440 2049513 + VariableDeclaration 2049463 2049513 + Identifier 2049463 2049465 + CallExpression 2049467 2049513 + Identifier 2049467 2049490 + CallExpression 2049491 2049512 + Identifier 2049491 2049506 + Identifier 2049507 2049511 + ReturnStatement 2049514 2049632 + BinaryExpression 2049538 2049631 + BinaryExpression 2049538 2049573 + PrefixUnaryExpression 2049538 2049542 + PrefixUnaryExpression 2049540 2049542 + Identifier 2049541 2049542 + AmpersandAmpersandToken 2049542 2049545 + BinaryExpression 2049545 2049573 + CallExpression 2049545 2049568 + Identifier 2049545 2049565 + Identifier 2049566 2049567 + GreaterThanEqualsToken 2049568 2049571 + NumericLiteral 2049571 2049573 + AmpersandAmpersandToken 2049573 2049576 + CallExpression 2049576 2049631 + Identifier 2049576 2049595 + Identifier 2049596 2049605 + CallExpression 2049606 2049630 + Identifier 2049606 2049624 + Identifier 2049625 2049626 + NumericLiteral 2049627 2049629 + ReturnStatement 2049647 2049674 + FalseKeyword 2049667 2049673 + VariableStatement 2049685 2049762 + VariableDeclarationList 2049685 2049761 + VariableDeclaration 2049702 2049761 + Identifier 2049702 2049718 + ConditionalExpression 2049720 2049761 + CallExpression 2049720 2049745 + Identifier 2049720 2049739 + Identifier 2049740 2049744 + QuestionToken 2049745 2049747 + StringLiteral 2049747 2049753 + ColonToken 2049753 2049755 + StringLiteral 2049755 2049761 + IfStatement 2049762 2049846 + PrefixUnaryExpression 2049776 2049801 + CallExpression 2049777 2049801 + Identifier 2049777 2049784 + Identifier 2049785 2049800 + Block 2049802 2049846 + ReturnStatement 2049804 2049835 + Identifier 2049824 2049834 + VariableStatement 2049846 2049933 + VariableDeclarationList 2049846 2049932 + VariableDeclaration 2049861 2049932 + Identifier 2049861 2049872 + CallExpression 2049874 2049932 + Identifier 2049874 2049915 + PropertyAccessExpression 2049916 2049931 + Identifier 2049916 2049920 + Identifier 2049921 2049931 + IfStatement 2049933 2050105 + BinaryExpression 2049947 2049971 + Identifier 2049947 2049957 + EqualsEqualsEqualsToken 2049957 2049961 + Identifier 2049961 2049971 + Block 2049972 2050028 + ExpressionStatement 2049974 2050017 + BinaryExpression 2049974 2050016 + Identifier 2049974 2049998 + EqualsToken 2049998 2050000 + Identifier 2050000 2050016 + Block 2050042 2050105 + ExpressionStatement 2050044 2050094 + BinaryExpression 2050044 2050093 + Identifier 2050044 2050068 + PlusEqualsToken 2050068 2050071 + BinaryExpression 2050071 2050093 + StringLiteral 2050071 2050075 + PlusToken 2050075 2050077 + Identifier 2050077 2050093 + ReturnStatement 2050105 2050135 + Identifier 2050123 2050134 + FunctionDeclaration 2050142 2050505 + Identifier 2050158 2050206 + Parameter 2050207 2050232 + Identifier 2050207 2050213 + TypeReference 2050214 2050232 + Identifier 2050214 2050232 + Parameter 2050233 2050251 + Identifier 2050233 2050240 + TypeReference 2050241 2050251 + Identifier 2050241 2050251 + UnionType 2050253 2050283 + TypeReference 2050253 2050271 + Identifier 2050253 2050271 + UndefinedKeyword 2050273 2050283 + Block 2050283 2050505 + VariableStatement 2050285 2050413 + VariableDeclarationList 2050285 2050412 + VariableDeclaration 2050300 2050412 + Identifier 2050300 2050311 + CallExpression 2050313 2050412 + PropertyAccessExpression 2050313 2050333 + PropertyAccessExpression 2050313 2050326 + Identifier 2050313 2050320 + Identifier 2050321 2050326 + Identifier 2050327 2050333 + ArrowFunction 2050334 2050411 + Parameter 2050335 2050339 + Identifier 2050335 2050339 + TypePredicate 2050341 2050367 + Identifier 2050341 2050346 + TypeReference 2050349 2050367 + Identifier 2050349 2050367 + EqualsGreaterThanToken 2050367 2050370 + PrefixUnaryExpression 2050370 2050411 + PrefixUnaryExpression 2050372 2050411 + ParenthesizedExpression 2050373 2050411 + BinaryExpression 2050374 2050410 + PropertyAccessExpression 2050374 2050384 + Identifier 2050374 2050378 + Identifier 2050379 2050384 + AmpersandToken 2050384 2050386 + PropertyAccessExpression 2050386 2050410 + Identifier 2050386 2050396 + Identifier 2050397 2050410 + ReturnStatement 2050413 2050498 + CallExpression 2050429 2050497 + Identifier 2050429 2050451 + PropertyAccessExpression 2050452 2050464 + Identifier 2050452 2050458 + Identifier 2050459 2050464 + Identifier 2050465 2050476 + ArrowFunction 2050477 2050496 + Parameter 2050477 2050482 + Identifier 2050477 2050482 + EqualsGreaterThanToken 2050482 2050485 + PropertyAccessExpression 2050485 2050496 + Identifier 2050485 2050490 + Identifier 2050491 2050496 + FunctionDeclaration 2050505 2052290 + Identifier 2051493 2051522 + Parameter 2051523 2051535 + Identifier 2051523 2051527 + StringKeyword 2051528 2051535 + Parameter 2051536 2051554 + Identifier 2051536 2051544 + ArrayType 2051545 2051554 + TypeReference 2051545 2051552 + Identifier 2051545 2051552 + Parameter 2051555 2051576 + Identifier 2051555 2051563 + TypeReference 2051564 2051576 + Identifier 2051564 2051576 + UnionType 2051578 2051597 + TypeReference 2051578 2051585 + Identifier 2051578 2051585 + UndefinedKeyword 2051587 2051597 + Block 2051597 2052290 + ReturnStatement 2051599 2051671 + CallExpression 2051615 2051670 + Identifier 2051615 2051637 + Identifier 2051638 2051642 + Identifier 2051643 2051651 + Identifier 2051652 2051669 + FunctionDeclaration 2051671 2052283 + Identifier 2051691 2051708 + Parameter 2051709 2051726 + Identifier 2051709 2051718 + TypeReference 2051719 2051726 + Identifier 2051719 2051726 + Block 2051727 2052283 + VariableStatement 2051729 2051787 + VariableDeclarationList 2051729 2051786 + VariableDeclaration 2051748 2051786 + Identifier 2051748 2051762 + CallExpression 2051764 2051786 + Identifier 2051764 2051775 + Identifier 2051776 2051785 + IfStatement 2051787 2051888 + CallExpression 2051805 2051835 + Identifier 2051805 2051815 + Identifier 2051816 2051829 + StringLiteral 2051830 2051834 + Block 2051836 2051888 + ReturnStatement 2051838 2051873 + Identifier 2051862 2051872 + IfStatement 2051888 2051990 + BinaryExpression 2051908 2051933 + PropertyAccessExpression 2051908 2051923 + Identifier 2051908 2051917 + Identifier 2051918 2051923 + AmpersandToken 2051923 2051925 + Identifier 2051925 2051933 + Block 2051934 2051990 + ReturnStatement 2051936 2051975 + Identifier 2051960 2051974 + IfStatement 2051990 2052239 + BinaryExpression 2052010 2052045 + PropertyAccessExpression 2052010 2052025 + Identifier 2052010 2052019 + Identifier 2052020 2052025 + AmpersandToken 2052025 2052027 + PropertyAccessExpression 2052027 2052045 + Identifier 2052027 2052039 + Identifier 2052040 2052045 + Block 2052046 2052239 + VariableStatement 2052048 2052107 + VariableDeclarationList 2052048 2052106 + VariableDeclaration 2052071 2052106 + Identifier 2052071 2052077 + CallExpression 2052079 2052106 + Identifier 2052079 2052095 + Identifier 2052096 2052105 + IfStatement 2052107 2052224 + BinaryExpression 2052129 2052159 + Identifier 2052129 2052134 + AmpersandAmpersandToken 2052134 2052137 + BinaryExpression 2052137 2052159 + PropertyAccessExpression 2052137 2052149 + Identifier 2052137 2052143 + Identifier 2052144 2052149 + AmpersandToken 2052149 2052151 + Identifier 2052151 2052159 + Block 2052160 2052224 + ReturnStatement 2052162 2052205 + Identifier 2052190 2052204 + ReturnStatement 2052239 2052272 + Identifier 2052261 2052271 + FunctionDeclaration 2052290 2053643 + Identifier 2052306 2052331 + Parameter 2052332 2052344 + Identifier 2052332 2052336 + TypeReference 2052337 2052344 + Identifier 2052337 2052344 + Parameter 2052345 2052385 + Identifier 2052345 2052367 + UnionType 2052368 2052385 + TypeReference 2052368 2052373 + Identifier 2052368 2052373 + UndefinedKeyword 2052375 2052385 + Parameter 2052386 2052412 + Identifier 2052386 2052403 + BooleanKeyword 2052404 2052412 + Block 2052413 2053643 + VariableStatement 2052415 2052522 + VariableDeclarationList 2052415 2052521 + VariableDeclaration 2052430 2052521 + Identifier 2052430 2052447 + BinaryExpression 2052449 2052521 + BinaryExpression 2052449 2052496 + Identifier 2052449 2052454 + AmpersandAmpersandToken 2052454 2052457 + ParenthesizedExpression 2052457 2052496 + BinaryExpression 2052459 2052495 + PropertyAccessExpression 2052459 2052469 + Identifier 2052459 2052463 + Identifier 2052464 2052469 + AmpersandToken 2052469 2052471 + PropertyAccessExpression 2052471 2052495 + Identifier 2052471 2052483 + Identifier 2052484 2052495 + AmpersandAmpersandToken 2052496 2052499 + PropertyAccessExpression 2052499 2052521 + Identifier 2052499 2052504 + Identifier 2052505 2052521 + IfStatement 2052522 2052588 + PrefixUnaryExpression 2052536 2052553 + Identifier 2052537 2052553 + Block 2052554 2052588 + ReturnStatement 2052556 2052577 + VariableStatement 2052588 2052687 + VariableDeclarationList 2052588 2052686 + VariableDeclaration 2052603 2052686 + Identifier 2052603 2052622 + CallExpression 2052624 2052686 + Identifier 2052624 2052645 + Identifier 2052646 2052662 + PropertyAccessExpression 2052663 2052685 + Identifier 2052663 2052677 + Identifier 2052678 2052685 + VariableStatement 2052687 2052844 + VariableDeclarationList 2052687 2052843 + VariableDeclaration 2052702 2052843 + Identifier 2052702 2052723 + BinaryExpression 2052725 2052843 + BinaryExpression 2052725 2052792 + PropertyAccessExpression 2052725 2052747 + Identifier 2052725 2052730 + Identifier 2052731 2052747 + AmpersandAmpersandToken 2052747 2052750 + CallExpression 2052750 2052792 + Identifier 2052750 2052769 + PropertyAccessExpression 2052770 2052791 + Identifier 2052770 2052774 + Identifier 2052775 2052791 + AmpersandAmpersandToken 2052792 2052795 + CallExpression 2052795 2052843 + Identifier 2052795 2052815 + PropertyAccessExpression 2052816 2052842 + PropertyAccessExpression 2052816 2052837 + Identifier 2052816 2052820 + Identifier 2052821 2052837 + Identifier 2052838 2052842 + IfStatement 2052844 2052937 + BinaryExpression 2052858 2052902 + PrefixUnaryExpression 2052858 2052877 + Identifier 2052859 2052877 + AmpersandAmpersandToken 2052877 2052880 + PrefixUnaryExpression 2052880 2052902 + Identifier 2052882 2052902 + Block 2052903 2052937 + ReturnStatement 2052905 2052926 + IfStatement 2052937 2053094 + BinaryExpression 2052951 2053059 + BinaryExpression 2052951 2053016 + Identifier 2052951 2052972 + AmpersandAmpersandToken 2052972 2052975 + CallExpression 2052975 2053016 + Identifier 2052975 2052993 + Identifier 2052994 2053015 + AmpersandAmpersandToken 2053016 2053019 + PrefixUnaryExpression 2053019 2053059 + ParenthesizedExpression 2053021 2053059 + BinaryExpression 2053022 2053058 + PropertyAccessExpression 2053022 2053032 + Identifier 2053022 2053026 + Identifier 2053027 2053032 + AmpersandToken 2053032 2053034 + PropertyAccessExpression 2053034 2053058 + Identifier 2053034 2053046 + Identifier 2053047 2053058 + Block 2053060 2053094 + ReturnStatement 2053062 2053083 + IfStatement 2053094 2053507 + Identifier 2053108 2053124 + Block 2053125 2053507 + VariableStatement 2053127 2053383 + VariableDeclarationList 2053127 2053382 + VariableDeclaration 2053300 2053382 + Identifier 2053300 2053317 + CallExpression 2053319 2053382 + Identifier 2053319 2053332 + Identifier 2053333 2053354 + Identifier 2053355 2053381 + IfStatement 2053383 2053496 + BinaryExpression 2053401 2053453 + Identifier 2053401 2053417 + AmpersandAmpersandToken 2053417 2053420 + BinaryExpression 2053420 2053453 + PropertyAccessExpression 2053420 2053444 + Identifier 2053420 2053437 + Identifier 2053438 2053444 + EqualsEqualsEqualsToken 2053444 2053448 + Identifier 2053448 2053453 + Block 2053454 2053496 + ReturnStatement 2053456 2053481 + ExpressionStatement 2053507 2053636 + BinaryExpression 2053507 2053635 + PropertyAccessExpression 2053507 2053617 + NonNullExpression 2053507 2053604 + ParenthesizedExpression 2053507 2053603 + ConditionalExpression 2053520 2053602 + BinaryExpression 2053520 2053565 + CallExpression 2053520 2053539 + Identifier 2053520 2053533 + Identifier 2053534 2053538 + AmpersandToken 2053539 2053541 + PropertyAccessExpression 2053541 2053565 + Identifier 2053541 2053552 + Identifier 2053553 2053565 + QuestionToken 2053565 2053567 + PropertyAccessExpression 2053567 2053595 + CallExpression 2053567 2053588 + Identifier 2053567 2053582 + Identifier 2053583 2053587 + Identifier 2053589 2053595 + ColonToken 2053595 2053597 + Identifier 2053597 2053602 + Identifier 2053605 2053617 + EqualsToken 2053617 2053619 + PropertyAccessExpression 2053619 2053635 + Identifier 2053619 2053631 + Identifier 2053632 2053635 + FunctionDeclaration 2053643 2053916 + Identifier 2053659 2053676 + Parameter 2053677 2053709 + Identifier 2053677 2053681 + UnionType 2053682 2053709 + TypeReference 2053682 2053693 + Identifier 2053682 2053693 + TypeReference 2053695 2053709 + Identifier 2053695 2053709 + Parameter 2053710 2053737 + Identifier 2053710 2053717 + UnionType 2053718 2053737 + TypeReference 2053718 2053725 + Identifier 2053718 2053725 + UndefinedKeyword 2053727 2053737 + Block 2053738 2053916 + ReturnStatement 2053740 2053909 + BinaryExpression 2053756 2053908 + BinaryExpression 2053756 2053793 + PropertyAccessExpression 2053756 2053766 + Identifier 2053756 2053761 + Identifier 2053762 2053766 + EqualsEqualsEqualsToken 2053766 2053770 + PropertyAccessExpression 2053770 2053793 + Identifier 2053770 2053781 + Identifier 2053782 2053793 + BarBarToken 2053793 2053809 + BinaryExpression 2053809 2053908 + BinaryExpression 2053809 2053850 + PrefixUnaryExpression 2053809 2053818 + PrefixUnaryExpression 2053811 2053818 + Identifier 2053812 2053818 + AmpersandAmpersandToken 2053818 2053821 + CallExpression 2053821 2053850 + Identifier 2053821 2053844 + Identifier 2053845 2053849 + AmpersandAmpersandToken 2053850 2053853 + BinaryExpression 2053853 2053908 + Identifier 2053853 2053860 + EqualsEqualsEqualsToken 2053860 2053864 + CallExpression 2053864 2053908 + Identifier 2053864 2053882 + CallExpression 2053883 2053907 + Identifier 2053883 2053901 + Identifier 2053902 2053906 + FunctionDeclaration 2053916 2054676 + Identifier 2053932 2053954 + Parameter 2053955 2054018 + Identifier 2053955 2053959 + UnionType 2053960 2054018 + TypeReference 2053960 2053985 + Identifier 2053960 2053985 + TypeReference 2053987 2054001 + Identifier 2053987 2054001 + TypeReference 2054003 2054018 + Identifier 2054003 2054018 + Parameter 2054019 2054042 + Identifier 2054019 2054032 + TypeReference 2054033 2054042 + Identifier 2054033 2054042 + BooleanKeyword 2054044 2054052 + Block 2054052 2054676 + SwitchStatement 2054054 2054669 + PropertyAccessExpression 2054072 2054081 + Identifier 2054072 2054076 + Identifier 2054077 2054081 + CaseBlock 2054082 2054669 + CaseClause 2054084 2054314 + PropertyAccessExpression 2054102 2054138 + Identifier 2054102 2054113 + Identifier 2054114 2054138 + ReturnStatement 2054139 2054314 + CallExpression 2054163 2054313 + Identifier 2054163 2054193 + Identifier 2054194 2054198 + BinaryExpression 2054199 2054248 + PropertyAccessExpression 2054199 2054220 + PropertyAccessExpression 2054199 2054215 + Identifier 2054199 2054204 + Identifier 2054205 2054215 + Identifier 2054216 2054220 + EqualsEqualsEqualsToken 2054220 2054224 + PropertyAccessExpression 2054224 2054248 + Identifier 2054224 2054235 + Identifier 2054236 2054248 + Identifier 2054249 2054262 + CallExpression 2054263 2054312 + Identifier 2054263 2054278 + CallExpression 2054279 2054311 + Identifier 2054279 2054294 + PropertyAccessExpression 2054295 2054310 + Identifier 2054295 2054299 + Identifier 2054300 2054310 + CaseClause 2054314 2054496 + PropertyAccessExpression 2054332 2054357 + Identifier 2054332 2054343 + Identifier 2054344 2054357 + ReturnStatement 2054358 2054496 + CallExpression 2054382 2054495 + Identifier 2054382 2054412 + Identifier 2054413 2054417 + FalseKeyword 2054418 2054436 + Identifier 2054437 2054450 + CallExpression 2054451 2054494 + Identifier 2054451 2054466 + CallExpression 2054467 2054493 + Identifier 2054467 2054482 + PropertyAccessExpression 2054483 2054492 + Identifier 2054483 2054487 + Identifier 2054488 2054492 + CaseClause 2054496 2054658 + PropertyAccessExpression 2054514 2054536 + Identifier 2054514 2054525 + Identifier 2054526 2054536 + ReturnStatement 2054537 2054658 + CallExpression 2054561 2054657 + Identifier 2054561 2054591 + Identifier 2054592 2054596 + FalseKeyword 2054597 2054615 + Identifier 2054616 2054629 + CallExpression 2054630 2054656 + Identifier 2054630 2054650 + Identifier 2054651 2054655 + FunctionDeclaration 2054676 2055826 + Identifier 2055362 2055398 + Parameter 2055399 2055462 + Identifier 2055399 2055403 + UnionType 2055404 2055462 + TypeReference 2055404 2055429 + Identifier 2055404 2055429 + TypeReference 2055431 2055446 + Identifier 2055431 2055446 + TypeReference 2055448 2055462 + Identifier 2055448 2055462 + Parameter 2055463 2055474 + Identifier 2055463 2055468 + TypeReference 2055469 2055474 + Identifier 2055469 2055474 + Parameter 2055475 2055492 + Identifier 2055475 2055484 + TypeReference 2055485 2055492 + Identifier 2055485 2055492 + BooleanKeyword 2055494 2055502 + Block 2055502 2055826 + ReturnStatement 2055504 2055686 + CallExpression 2055520 2055685 + Identifier 2055520 2055541 + Identifier 2055542 2055546 + BinaryExpression 2055547 2055649 + BinaryExpression 2055547 2055597 + PropertyAccessExpression 2055547 2055557 + Identifier 2055547 2055552 + Identifier 2055553 2055557 + EqualsEqualsEqualsToken 2055557 2055561 + PropertyAccessExpression 2055561 2055597 + Identifier 2055561 2055572 + Identifier 2055573 2055597 + AmpersandAmpersandToken 2055597 2055600 + BinaryExpression 2055600 2055649 + PropertyAccessExpression 2055600 2055621 + PropertyAccessExpression 2055600 2055616 + Identifier 2055600 2055605 + Identifier 2055606 2055616 + Identifier 2055617 2055621 + EqualsEqualsEqualsToken 2055621 2055625 + PropertyAccessExpression 2055625 2055649 + Identifier 2055625 2055636 + Identifier 2055637 2055649 + FalseKeyword 2055650 2055668 + Identifier 2055669 2055674 + Identifier 2055675 2055684 + FunctionDeclaration 2055826 2056334 + Identifier 2055842 2055872 + Parameter 2055873 2055946 + Identifier 2055873 2055887 + UnionType 2055888 2055946 + TypeReference 2055888 2055913 + Identifier 2055888 2055913 + TypeReference 2055915 2055929 + Identifier 2055915 2055929 + TypeReference 2055931 2055946 + Identifier 2055931 2055946 + Parameter 2055947 2055973 + Identifier 2055947 2055964 + BooleanKeyword 2055965 2055973 + Parameter 2055974 2056006 + Identifier 2055974 2055996 + TypeReference 2055997 2056006 + Identifier 2055997 2056006 + Parameter 2056007 2056027 + Identifier 2056007 2056021 + TypeReference 2056022 2056027 + Identifier 2056022 2056027 + BooleanKeyword 2056036 2056044 + Block 2056044 2056334 + IfStatement 2056046 2056170 + CallExpression 2056115 2056130 + Identifier 2056115 2056124 + Identifier 2056125 2056129 + Block 2056131 2056170 + ReturnStatement 2056133 2056159 + TrueKeyword 2056153 2056158 + VariableStatement 2056170 2056233 + VariableDeclarationList 2056170 2056232 + VariableDeclaration 2056187 2056232 + Identifier 2056187 2056192 + CallExpression 2056194 2056232 + Identifier 2056194 2056212 + Identifier 2056213 2056217 + Identifier 2056218 2056231 + ReturnStatement 2056233 2056327 + BinaryExpression 2056249 2056326 + PrefixUnaryExpression 2056249 2056256 + PrefixUnaryExpression 2056251 2056256 + Identifier 2056252 2056256 + AmpersandAmpersandToken 2056256 2056259 + CallExpression 2056259 2056326 + Identifier 2056259 2056280 + Identifier 2056281 2056285 + Identifier 2056286 2056294 + FalseKeyword 2056295 2056313 + Identifier 2056314 2056319 + Identifier 2056320 2056325 + FunctionDeclaration 2056334 2057785 + Identifier 2056877 2056898 + Parameter 2056899 2056919 + Identifier 2056899 2056913 + TypeReference 2056914 2056919 + Identifier 2056914 2056919 + Parameter 2056920 2056946 + Identifier 2056920 2056937 + BooleanKeyword 2056938 2056946 + Parameter 2056947 2056973 + Identifier 2056947 2056964 + BooleanKeyword 2056965 2056973 + Parameter 2056974 2057004 + Identifier 2056974 2056998 + TypeReference 2056999 2057004 + Identifier 2056999 2057004 + Parameter 2057005 2057031 + Identifier 2057005 2057023 + TypeReference 2057024 2057031 + Identifier 2057024 2057031 + BooleanKeyword 2057040 2057048 + Block 2057048 2057785 + IfStatement 2057050 2057184 + CallExpression 2057119 2057144 + Identifier 2057119 2057128 + Identifier 2057129 2057143 + Block 2057145 2057184 + ReturnStatement 2057147 2057173 + TrueKeyword 2057167 2057172 + IfStatement 2057184 2057672 + BinaryExpression 2057382 2057480 + PropertyAccessExpression 2057382 2057407 + Identifier 2057382 2057390 + Identifier 2057391 2057407 + AmpersandAmpersandToken 2057407 2057410 + CallExpression 2057410 2057480 + Identifier 2057410 2057453 + PropertyAccessExpression 2057454 2057479 + Identifier 2057454 2057462 + Identifier 2057463 2057479 + Block 2057481 2057672 + VariableStatement 2057483 2057561 + VariableDeclarationList 2057483 2057560 + VariableDeclaration 2057502 2057560 + Identifier 2057502 2057512 + CallExpression 2057514 2057560 + Identifier 2057514 2057533 + PropertyAccessExpression 2057534 2057559 + Identifier 2057534 2057542 + Identifier 2057543 2057559 + ReturnStatement 2057561 2057661 + BinaryExpression 2057581 2057660 + PrefixUnaryExpression 2057581 2057604 + CallExpression 2057583 2057604 + Identifier 2057583 2057598 + Identifier 2057599 2057603 + AmpersandAmpersandToken 2057604 2057607 + PrefixUnaryExpression 2057607 2057660 + PrefixUnaryExpression 2057609 2057660 + CallExpression 2057610 2057660 + Identifier 2057610 2057622 + Identifier 2057623 2057627 + ArrowFunction 2057628 2057659 + Parameter 2057628 2057635 + Identifier 2057628 2057635 + EqualsGreaterThanToken 2057635 2057638 + BinaryExpression 2057638 2057659 + Identifier 2057638 2057645 + EqualsEqualsEqualsToken 2057645 2057649 + Identifier 2057649 2057659 + ReturnStatement 2057672 2057778 + CallExpression 2057690 2057777 + Identifier 2057690 2057727 + Identifier 2057728 2057732 + Identifier 2057733 2057741 + Identifier 2057742 2057750 + Identifier 2057751 2057766 + Identifier 2057767 2057776 + FunctionDeclaration 2057785 2058520 + Identifier 2057922 2057945 + Parameter 2057946 2057966 + Identifier 2057946 2057950 + TypeReference 2057951 2057966 + Identifier 2057951 2057966 + UnionType 2057968 2057987 + TypeReference 2057968 2057975 + Identifier 2057968 2057975 + UndefinedKeyword 2057977 2057987 + Block 2057987 2058520 + VariableStatement 2057989 2058036 + VariableDeclarationList 2057989 2058035 + VariableDeclaration 2058004 2058035 + Identifier 2058004 2058016 + PropertyAccessExpression 2058018 2058035 + Identifier 2058018 2058023 + Identifier 2058024 2058035 + IfStatement 2058036 2058486 + BinaryExpression 2058050 2058105 + PropertyAccessExpression 2058050 2058066 + Identifier 2058050 2058061 + Identifier 2058062 2058066 + EqualsEqualsEqualsToken 2058066 2058070 + PropertyAccessExpression 2058070 2058105 + Identifier 2058070 2058081 + Identifier 2058082 2058105 + Block 2058106 2058345 + VariableStatement 2058108 2058196 + VariableDeclarationList 2058108 2058195 + VariableDeclaration 2058127 2058195 + Identifier 2058127 2058136 + ElementAccessExpression 2058138 2058195 + PropertyAccessExpression 2058138 2058192 + ParenthesizedExpression 2058138 2058179 + AsExpression 2058140 2058178 + Identifier 2058140 2058151 + TypeReference 2058154 2058178 + Identifier 2058154 2058178 + Identifier 2058180 2058192 + NumericLiteral 2058193 2058194 + IfStatement 2058196 2058334 + BinaryExpression 2058214 2058258 + Identifier 2058214 2058222 + AmpersandAmpersandToken 2058222 2058225 + PrefixUnaryExpression 2058225 2058258 + CallExpression 2058227 2058258 + Identifier 2058227 2058243 + PropertyAccessExpression 2058244 2058257 + Identifier 2058244 2058252 + Identifier 2058253 2058257 + Block 2058259 2058334 + ReturnStatement 2058261 2058319 + CallExpression 2058285 2058318 + Identifier 2058285 2058308 + Identifier 2058309 2058317 + IfStatement 2058359 2058486 + BinaryExpression 2058364 2058406 + PropertyAccessExpression 2058364 2058380 + Identifier 2058364 2058375 + Identifier 2058376 2058380 + EqualsEqualsEqualsToken 2058380 2058384 + PropertyAccessExpression 2058384 2058406 + Identifier 2058384 2058395 + Identifier 2058396 2058406 + Block 2058407 2058486 + ReturnStatement 2058409 2058475 + CallExpression 2058429 2058474 + Identifier 2058429 2058447 + AsExpression 2058448 2058473 + Identifier 2058448 2058459 + TypeReference 2058462 2058473 + Identifier 2058462 2058473 + ReturnStatement 2058486 2058513 + Identifier 2058502 2058512 + FunctionDeclaration 2058520 2058781 + Identifier 2058638 2058662 + Parameter 2058663 2058673 + Identifier 2058663 2058667 + TypeReference 2058668 2058673 + Identifier 2058668 2058673 + Block 2058674 2058781 + ReturnStatement 2058676 2058774 + BinaryExpression 2058692 2058773 + BinaryExpression 2058692 2058731 + PropertyAccessExpression 2058692 2058725 + CallExpression 2058692 2058718 + Identifier 2058692 2058712 + Identifier 2058713 2058717 + Identifier 2058719 2058725 + EqualsEqualsEqualsToken 2058725 2058729 + NumericLiteral 2058729 2058731 + AmpersandAmpersandToken 2058731 2058734 + PrefixUnaryExpression 2058734 2058773 + PrefixUnaryExpression 2058736 2058773 + CallExpression 2058737 2058773 + Identifier 2058737 2058755 + Identifier 2058756 2058760 + Identifier 2058761 2058772 + FunctionDeclaration 2058781 2059985 + Identifier 2059004 2059043 + Parameter 2059044 2059060 + Identifier 2059044 2059048 + TypeReference 2059049 2059060 + Identifier 2059049 2059060 + Block 2059061 2059985 + VariableStatement 2059063 2059105 + VariableDeclarationList 2059063 2059104 + VariableDeclaration 2059078 2059104 + Identifier 2059078 2059080 + CallExpression 2059082 2059104 + Identifier 2059082 2059098 + Identifier 2059099 2059103 + IfStatement 2059105 2059955 + BinaryExpression 2059119 2059151 + PropertyAccessExpression 2059119 2059125 + Identifier 2059119 2059120 + Identifier 2059121 2059125 + EqualsEqualsEqualsToken 2059125 2059129 + PropertyAccessExpression 2059129 2059151 + Identifier 2059129 2059140 + Identifier 2059141 2059151 + Block 2059152 2059955 + VariableStatement 2059154 2059218 + VariableDeclarationList 2059154 2059217 + VariableDeclaration 2059173 2059217 + Identifier 2059173 2059180 + CallExpression 2059182 2059217 + Identifier 2059182 2059200 + AsExpression 2059201 2059216 + Identifier 2059201 2059202 + TypeReference 2059205 2059216 + Identifier 2059205 2059216 + IfStatement 2059218 2059944 + BinaryExpression 2059236 2059271 + PropertyAccessExpression 2059236 2059248 + Identifier 2059236 2059242 + Identifier 2059243 2059248 + AmpersandToken 2059248 2059250 + PropertyAccessExpression 2059250 2059271 + Identifier 2059250 2059262 + Identifier 2059263 2059271 + Block 2059272 2059944 + VariableStatement 2059274 2059315 + VariableDeclarationList 2059274 2059314 + VariableDeclaration 2059295 2059314 + Identifier 2059295 2059301 + TypeReference 2059302 2059307 + Identifier 2059302 2059307 + Identifier 2059309 2059314 + VariableStatement 2059315 2059356 + VariableDeclarationList 2059315 2059355 + VariableDeclaration 2059336 2059355 + Identifier 2059336 2059341 + PropertyAccessExpression 2059343 2059355 + Identifier 2059343 2059348 + Identifier 2059349 2059355 + WhileStatement 2059356 2059929 + Identifier 2059381 2059385 + Block 2059386 2059929 + IfStatement 2059388 2059834 + BinaryExpression 2059414 2059748 + BinaryExpression 2059414 2059638 + BinaryExpression 2059414 2059552 + BinaryExpression 2059414 2059479 + PropertyAccessExpression 2059414 2059449 + Identifier 2059414 2059444 + Identifier 2059445 2059449 + EqualsEqualsEqualsToken 2059449 2059453 + PropertyAccessExpression 2059453 2059479 + Identifier 2059453 2059464 + Identifier 2059465 2059479 + AmpersandAmpersandToken 2059479 2059482 + BinaryExpression 2059482 2059552 + Identifier 2059482 2059513 + EqualsEqualsEqualsToken 2059513 2059517 + PropertyAccessExpression 2059517 2059552 + ParenthesizedExpression 2059517 2059542 + AsExpression 2059519 2059541 + Identifier 2059519 2059523 + TypeReference 2059526 2059541 + Identifier 2059526 2059541 + Identifier 2059543 2059552 + AmpersandAmpersandToken 2059552 2059555 + BinaryExpression 2059555 2059638 + CallExpression 2059555 2059627 + Identifier 2059555 2059603 + AsExpression 2059604 2059626 + Identifier 2059604 2059608 + TypeReference 2059611 2059626 + Identifier 2059611 2059626 + EqualsEqualsEqualsToken 2059627 2059631 + Identifier 2059631 2059638 + AmpersandAmpersandToken 2059638 2059641 + CallExpression 2059641 2059748 + Identifier 2059641 2059690 + CallExpression 2059691 2059747 + Identifier 2059691 2059710 + PropertyAccessExpression 2059711 2059746 + ParenthesizedExpression 2059711 2059735 + AsExpression 2059712 2059734 + Identifier 2059712 2059716 + TypeReference 2059719 2059734 + Identifier 2059719 2059734 + Identifier 2059736 2059746 + Block 2059771 2059834 + ReturnStatement 2059773 2059811 + TrueKeyword 2059805 2059810 + ExpressionStatement 2059834 2059869 + BinaryExpression 2059834 2059868 + Identifier 2059834 2059861 + EqualsToken 2059861 2059863 + Identifier 2059863 2059868 + ExpressionStatement 2059869 2059910 + BinaryExpression 2059869 2059909 + Identifier 2059869 2059895 + EqualsToken 2059895 2059897 + PropertyAccessExpression 2059897 2059909 + Identifier 2059897 2059902 + Identifier 2059903 2059909 + ReturnStatement 2059955 2059978 + FalseKeyword 2059971 2059977 + FunctionDeclaration 2059985 2060321 + Identifier 2060001 2060020 + Parameter 2060021 2060050 + Identifier 2060021 2060025 + TypeReference 2060026 2060050 + Identifier 2060026 2060050 + Parameter 2060051 2060084 + Identifier 2060051 2060061 + UnionType 2060062 2060084 + TypeReference 2060062 2060072 + Identifier 2060062 2060072 + UndefinedKeyword 2060074 2060084 + TypeReference 2060086 2060091 + Identifier 2060086 2060091 + Block 2060091 2060321 + ReturnStatement 2060093 2060314 + ConditionalExpression 2060109 2060313 + BinaryExpression 2060109 2060146 + PropertyAccessExpression 2060109 2060120 + Identifier 2060109 2060114 + Identifier 2060115 2060120 + AmpersandToken 2060120 2060122 + PropertyAccessExpression 2060122 2060146 + Identifier 2060122 2060132 + Identifier 2060133 2060146 + QuestionToken 2060146 2060148 + CallExpression 2060148 2060211 + Identifier 2060148 2060172 + AsExpression 2060173 2060199 + Identifier 2060173 2060177 + TypeReference 2060180 2060199 + Identifier 2060180 2060199 + Identifier 2060200 2060210 + ColonToken 2060211 2060213 + CallExpression 2060213 2060313 + Identifier 2060213 2060255 + Identifier 2060256 2060260 + CallExpression 2060261 2060301 + Identifier 2060261 2060284 + PropertyAccessExpression 2060285 2060300 + Identifier 2060285 2060289 + Identifier 2060290 2060300 + Identifier 2060302 2060312 + FunctionDeclaration 2060321 2060757 + Identifier 2060337 2060361 + Parameter 2060362 2060386 + Identifier 2060362 2060366 + TypeReference 2060367 2060386 + Identifier 2060367 2060386 + Parameter 2060387 2060420 + Identifier 2060387 2060397 + UnionType 2060398 2060420 + TypeReference 2060398 2060408 + Identifier 2060398 2060408 + UndefinedKeyword 2060410 2060420 + Block 2060421 2060757 + VariableStatement 2060423 2060483 + VariableDeclarationList 2060423 2060482 + VariableDeclaration 2060438 2060482 + Identifier 2060438 2060447 + CallExpression 2060449 2060482 + Identifier 2060449 2060465 + PropertyAccessExpression 2060466 2060481 + Identifier 2060466 2060470 + Identifier 2060471 2060481 + VariableStatement 2060483 2060570 + VariableDeclarationList 2060483 2060569 + VariableDeclaration 2060498 2060569 + Identifier 2060498 2060514 + CallExpression 2060516 2060569 + Identifier 2060516 2060542 + Identifier 2060543 2060551 + PropertyAccessExpression 2060552 2060568 + Identifier 2060552 2060557 + Identifier 2060558 2060568 + ReturnStatement 2060570 2060750 + CallExpression 2060586 2060749 + Identifier 2060586 2060614 + CallExpression 2060615 2060712 + Identifier 2060615 2060643 + Identifier 2060644 2060648 + CallExpression 2060649 2060700 + Identifier 2060649 2060666 + Identifier 2060667 2060682 + PropertyAccessExpression 2060683 2060699 + Identifier 2060683 2060688 + Identifier 2060689 2060699 + Identifier 2060701 2060711 + Identifier 2060713 2060718 + BinaryExpression 2060719 2060748 + Identifier 2060719 2060735 + ExclamationEqualsEqualsToken 2060735 2060739 + Identifier 2060739 2060748 + FunctionDeclaration 2060757 2062529 + Identifier 2060773 2060802 + Parameter 2060803 2060832 + Identifier 2060803 2060807 + TypeReference 2060808 2060832 + Identifier 2060808 2060832 + Parameter 2060833 2060848 + Identifier 2060833 2060842 + TypeReference 2060843 2060848 + Identifier 2060843 2060848 + Parameter 2060849 2060882 + Identifier 2060849 2060859 + UnionType 2060860 2060882 + TypeReference 2060860 2060870 + Identifier 2060860 2060870 + UndefinedKeyword 2060872 2060882 + TypeReference 2060884 2060889 + Identifier 2060884 2060889 + Block 2060889 2062529 + VariableStatement 2060891 2061043 + VariableDeclarationList 2060891 2061042 + VariableDeclaration 2060906 2061042 + Identifier 2060906 2060917 + ConditionalExpression 2060919 2061042 + BinaryExpression 2060919 2061004 + BinaryExpression 2060919 2060973 + CallExpression 2060919 2060949 + Identifier 2060919 2060943 + Identifier 2060944 2060948 + ExclamationEqualsEqualsToken 2060949 2060953 + PropertyAccessExpression 2060953 2060973 + Identifier 2060953 2060968 + Identifier 2060969 2060973 + BarBarToken 2060973 2060976 + CallExpression 2060976 2061004 + Identifier 2060976 2060998 + Identifier 2060999 2061003 + QuestionToken 2061004 2061006 + CallExpression 2061006 2061031 + Identifier 2061006 2061021 + Identifier 2061022 2061030 + ColonToken 2061031 2061033 + Identifier 2061033 2061042 + VariableStatement 2061043 2061101 + VariableDeclarationList 2061043 2061100 + VariableDeclaration 2061058 2061100 + Identifier 2061058 2061074 + PropertyAccessExpression 2061076 2061100 + Identifier 2061076 2061081 + Identifier 2061082 2061100 + VariableStatement 2061101 2061162 + VariableDeclarationList 2061101 2061161 + VariableDeclaration 2061116 2061161 + Identifier 2061116 2061126 + CallExpression 2061128 2061161 + Identifier 2061128 2061144 + Identifier 2061145 2061160 + IfStatement 2061162 2061281 + BinaryExpression 2061178 2061235 + CallExpression 2061178 2061201 + Identifier 2061178 2061189 + Identifier 2061190 2061200 + BarBarToken 2061201 2061204 + BinaryExpression 2061204 2061235 + Identifier 2061204 2061215 + EqualsEqualsEqualsToken 2061215 2061219 + Identifier 2061219 2061235 + Block 2061236 2061281 + ReturnStatement 2061238 2061270 + Identifier 2061258 2061269 + IfStatement 2061281 2061530 + BinaryExpression 2061297 2061371 + CallExpression 2061297 2061330 + Identifier 2061297 2061318 + Identifier 2061319 2061329 + AmpersandAmpersandToken 2061330 2061333 + PrefixUnaryExpression 2061333 2061371 + CallExpression 2061335 2061371 + Identifier 2061335 2061354 + Identifier 2061355 2061370 + Block 2061372 2061530 + ExpressionStatement 2061374 2061488 + CallExpression 2061374 2061487 + Identifier 2061374 2061393 + Identifier 2061394 2061409 + PropertyAccessExpression 2061410 2061486 + Identifier 2061410 2061422 + Identifier 2061423 2061486 + ReturnStatement 2061488 2061519 + Identifier 2061508 2061518 + VariableStatement 2061530 2061650 + VariableDeclarationList 2061530 2061649 + VariableDeclaration 2061547 2061649 + Identifier 2061547 2061566 + ConditionalExpression 2061568 2061649 + CallExpression 2061568 2061624 + Identifier 2061568 2061607 + Identifier 2061608 2061623 + QuestionToken 2061624 2061626 + Identifier 2061626 2061637 + ColonToken 2061637 2061639 + Identifier 2061639 2061649 + VariableStatement 2061650 2061719 + VariableDeclarationList 2061650 2061718 + VariableDeclaration 2061665 2061718 + Identifier 2061665 2061686 + CallExpression 2061688 2061718 + Identifier 2061688 2061712 + Identifier 2061713 2061717 + VariableStatement 2061719 2061758 + VariableDeclarationList 2061719 2061757 + VariableDeclaration 2061732 2061757 + Identifier 2061732 2061744 + TypeReference 2061745 2061757 + Identifier 2061745 2061757 + IfStatement 2061758 2062220 + BinaryExpression 2061772 2061816 + Identifier 2061772 2061792 + EqualsEqualsEqualsToken 2061792 2061796 + PropertyAccessExpression 2061796 2061816 + Identifier 2061796 2061811 + Identifier 2061812 2061816 + Block 2061817 2061889 + ExpressionStatement 2061819 2061878 + BinaryExpression 2061819 2061877 + Identifier 2061819 2061844 + EqualsToken 2061844 2061846 + PropertyAccessExpression 2061846 2061877 + Identifier 2061846 2061858 + Identifier 2061859 2061877 + Block 2061903 2062220 + ExpressionStatement 2061905 2062061 + BinaryExpression 2061905 2062060 + Identifier 2061905 2061930 + EqualsToken 2061930 2061932 + BinaryExpression 2061932 2062060 + PropertyAccessExpression 2061932 2061952 + Identifier 2061932 2061944 + Identifier 2061945 2061952 + BarToken 2061952 2061954 + ParenthesizedExpression 2061954 2062060 + ConditionalExpression 2061956 2062059 + BinaryExpression 2061956 2062023 + CallExpression 2061956 2061987 + Identifier 2061956 2061975 + Identifier 2061976 2061986 + AmpersandAmpersandToken 2061987 2061990 + PrefixUnaryExpression 2061990 2062023 + CallExpression 2061992 2062023 + Identifier 2061992 2062011 + Identifier 2062012 2062022 + QuestionToken 2062023 2062025 + PropertyAccessExpression 2062025 2062055 + Identifier 2062025 2062037 + Identifier 2062038 2062055 + ColonToken 2062055 2062057 + NumericLiteral 2062057 2062059 + IfStatement 2062061 2062209 + BinaryExpression 2062079 2062127 + Identifier 2062079 2062099 + EqualsEqualsEqualsToken 2062099 2062103 + PropertyAccessExpression 2062103 2062127 + Identifier 2062103 2062118 + Identifier 2062119 2062127 + Block 2062128 2062209 + ExpressionStatement 2062130 2062194 + BinaryExpression 2062130 2062193 + Identifier 2062130 2062159 + BarEqualsToken 2062159 2062162 + PropertyAccessExpression 2062162 2062193 + Identifier 2062162 2062174 + Identifier 2062175 2062193 + VariableStatement 2062220 2062352 + VariableDeclarationList 2062220 2062351 + VariableDeclaration 2062235 2062351 + Identifier 2062235 2062253 + BinaryExpression 2062255 2062351 + CallExpression 2062255 2062338 + Identifier 2062255 2062287 + Identifier 2062288 2062298 + Identifier 2062299 2062318 + Identifier 2062319 2062331 + Identifier 2062332 2062337 + BarBarToken 2062338 2062341 + Identifier 2062341 2062351 + ReturnStatement 2062352 2062522 + CallExpression 2062368 2062521 + Identifier 2062368 2062396 + CallExpression 2062397 2062514 + Identifier 2062397 2062426 + Identifier 2062427 2062431 + PropertyAccessExpression 2062432 2062466 + CallExpression 2062432 2062451 + Identifier 2062432 2062445 + Identifier 2062446 2062450 + Identifier 2062452 2062466 + Identifier 2062467 2062485 + Identifier 2062486 2062502 + Identifier 2062503 2062513 + Identifier 2062515 2062520 + FunctionDeclaration 2062529 2062820 + Identifier 2062545 2062584 + Parameter 2062585 2062609 + Identifier 2062585 2062589 + TypeReference 2062590 2062609 + Identifier 2062590 2062609 + TypePredicate 2062611 2062697 + Identifier 2062611 2062616 + UnionType 2062619 2062697 + TypeReference 2062619 2062634 + Identifier 2062619 2062634 + TypeReference 2062636 2062650 + Identifier 2062636 2062650 + TypeReference 2062652 2062677 + Identifier 2062652 2062677 + TypeReference 2062679 2062697 + Identifier 2062679 2062697 + Block 2062697 2062820 + ReturnStatement 2062699 2062813 + BinaryExpression 2062715 2062812 + BinaryExpression 2062715 2062779 + CallExpression 2062715 2062743 + Identifier 2062715 2062737 + Identifier 2062738 2062742 + BarBarToken 2062743 2062746 + CallExpression 2062746 2062779 + Identifier 2062746 2062773 + Identifier 2062774 2062778 + BarBarToken 2062779 2062782 + CallExpression 2062782 2062812 + Identifier 2062782 2062806 + Identifier 2062807 2062811 + FunctionDeclaration 2062820 2063783 + Identifier 2062836 2062855 + Parameter 2062856 2062880 + Identifier 2062856 2062860 + TypeReference 2062861 2062880 + Identifier 2062861 2062880 + TypeReference 2062882 2062892 + Identifier 2062882 2062892 + Block 2062892 2063783 + IfStatement 2062894 2063243 + CallExpression 2062908 2062952 + Identifier 2062908 2062946 + Identifier 2062947 2062951 + Block 2062953 2063243 + ExpressionStatement 2062955 2063232 + CallExpression 2062955 2063231 + Identifier 2062955 2063191 + PropertyAccessExpression 2063192 2063210 + Identifier 2063192 2063196 + Identifier 2063197 2063210 + Identifier 2063211 2063230 + IfStatement 2063243 2063746 + BinaryExpression 2063259 2063308 + PropertyAccessExpression 2063259 2063268 + Identifier 2063259 2063263 + Identifier 2063264 2063268 + EqualsEqualsEqualsToken 2063268 2063272 + PropertyAccessExpression 2063272 2063308 + Identifier 2063272 2063283 + Identifier 2063284 2063308 + Block 2063309 2063367 + ExpressionStatement 2063311 2063356 + CallExpression 2063311 2063355 + Identifier 2063311 2063340 + PropertyAccessExpression 2063341 2063354 + Identifier 2063341 2063345 + Identifier 2063346 2063354 + IfStatement 2063381 2063746 + CallExpression 2063386 2063415 + Identifier 2063386 2063409 + Identifier 2063410 2063414 + Block 2063416 2063476 + ExpressionStatement 2063418 2063465 + CallExpression 2063418 2063464 + Identifier 2063418 2063447 + PropertyAccessExpression 2063448 2063463 + Identifier 2063448 2063452 + Identifier 2063453 2063463 + IfStatement 2063490 2063746 + CallExpression 2063495 2063519 + Identifier 2063495 2063513 + Identifier 2063514 2063518 + Block 2063520 2063574 + ExpressionStatement 2063522 2063563 + CallExpression 2063522 2063562 + Identifier 2063522 2063551 + PropertyAccessExpression 2063552 2063561 + Identifier 2063552 2063556 + Identifier 2063557 2063561 + IfStatement 2063588 2063746 + CallExpression 2063593 2063620 + Identifier 2063593 2063614 + Identifier 2063615 2063619 + Block 2063621 2063746 + ExpressionStatement 2063623 2063735 + CallExpression 2063623 2063734 + Identifier 2063623 2063644 + PropertyAccessExpression 2063645 2063659 + Identifier 2063645 2063649 + Identifier 2063650 2063659 + ArrowFunction 2063660 2063733 + Parameter 2063660 2063669 + Identifier 2063660 2063669 + EqualsGreaterThanToken 2063669 2063672 + Block 2063672 2063733 + ExpressionStatement 2063674 2063718 + CallExpression 2063674 2063717 + Identifier 2063674 2063707 + Identifier 2063708 2063716 + ReturnStatement 2063746 2063776 + Identifier 2063762 2063775 + FunctionDeclaration 2063783 2063931 + Identifier 2063799 2063816 + Parameter 2063817 2063841 + Identifier 2063817 2063821 + TypeReference 2063822 2063841 + Identifier 2063822 2063841 + TypeReference 2063843 2063853 + Identifier 2063843 2063853 + Block 2063853 2063931 + ExpressionStatement 2063855 2063890 + CallExpression 2063855 2063889 + Identifier 2063855 2063883 + Identifier 2063884 2063888 + ReturnStatement 2063890 2063924 + Identifier 2063906 2063923 + FunctionDeclaration 2063931 2066628 + Identifier 2064536 2064554 + Parameter 2064555 2064587 + Identifier 2064555 2064565 + TypeOperator 2064566 2064587 + ArrayType 2064575 2064587 + TypeReference 2064575 2064585 + Identifier 2064575 2064585 + Parameter 2064588 2064608 + Identifier 2064588 2064595 + ArrayType 2064596 2064608 + TypeReference 2064596 2064606 + Identifier 2064596 2064606 + Parameter 2064609 2064640 + Identifier 2064609 2064624 + TypeReference 2064625 2064640 + Identifier 2064625 2064640 + VoidKeyword 2064642 2064647 + Block 2064647 2066628 + VariableStatement 2064649 2064692 + VariableDeclarationList 2064649 2064691 + VariableDeclaration 2064662 2064691 + Identifier 2064662 2064673 + UnionType 2064674 2064691 + TypeReference 2064674 2064679 + Identifier 2064674 2064679 + UndefinedKeyword 2064681 2064691 + VariableStatement 2064692 2064737 + VariableDeclarationList 2064692 2064736 + VariableDeclaration 2064705 2064736 + Identifier 2064705 2064716 + UnionType 2064717 2064736 + TypeReference 2064717 2064724 + Identifier 2064717 2064724 + UndefinedKeyword 2064726 2064736 + VariableStatement 2064737 2064767 + VariableDeclarationList 2064737 2064766 + VariableDeclaration 2064750 2064766 + Identifier 2064750 2064762 + NumericLiteral 2064764 2064766 + VariableStatement 2064767 2064807 + VariableDeclarationList 2064767 2064806 + VariableDeclaration 2064780 2064806 + Identifier 2064780 2064786 + UnionType 2064787 2064806 + NumberKeyword 2064787 2064794 + UndefinedKeyword 2064796 2064806 + VariableStatement 2064807 2064843 + VariableDeclarationList 2064807 2064842 + VariableDeclaration 2064820 2064842 + Identifier 2064820 2064837 + PrefixUnaryExpression 2064839 2064842 + NumericLiteral 2064841 2064842 + VariableStatement 2064843 2064877 + VariableDeclarationList 2064843 2064876 + VariableDeclaration 2064856 2064876 + Identifier 2064856 2064868 + NumberKeyword 2064869 2064876 + ExpressionStatement 2064877 2064916 + CallExpression 2064877 2064915 + PropertyAccessExpression 2064877 2064899 + Identifier 2064877 2064892 + Identifier 2064893 2064899 + PrefixUnaryExpression 2064900 2064914 + PropertyAccessExpression 2064901 2064914 + Identifier 2064901 2064907 + Identifier 2064908 2064914 + ForOfStatement 2064916 2066621 + VariableDeclarationList 2064931 2064946 + VariableDeclaration 2064936 2064946 + Identifier 2064936 2064946 + Identifier 2064949 2064960 + Block 2064961 2066621 + VariableStatement 2064963 2065063 + VariableDeclarationList 2064963 2065062 + VariableDeclaration 2064982 2065062 + Identifier 2064982 2064989 + BinaryExpression 2064991 2065062 + PropertyAccessExpression 2064991 2065013 + Identifier 2064991 2065001 + Identifier 2065002 2065013 + AmpersandAmpersandToken 2065013 2065016 + CallExpression 2065016 2065062 + Identifier 2065016 2065039 + PropertyAccessExpression 2065040 2065061 + Identifier 2065040 2065049 + Identifier 2065050 2065061 + VariableStatement 2065063 2065146 + VariableDeclarationList 2065063 2065145 + VariableDeclaration 2065082 2065145 + Identifier 2065082 2065089 + BinaryExpression 2065091 2065145 + PropertyAccessExpression 2065091 2065113 + Identifier 2065091 2065101 + Identifier 2065102 2065113 + AmpersandAmpersandToken 2065113 2065116 + PropertyAccessExpression 2065116 2065145 + PropertyAccessExpression 2065116 2065138 + Identifier 2065116 2065126 + Identifier 2065127 2065138 + Identifier 2065139 2065145 + IfStatement 2065146 2065774 + BinaryExpression 2065164 2065200 + PrefixUnaryExpression 2065164 2065175 + Identifier 2065165 2065175 + BarBarToken 2065175 2065178 + BinaryExpression 2065178 2065200 + Identifier 2065178 2065185 + EqualsEqualsEqualsToken 2065185 2065189 + Identifier 2065189 2065200 + Block 2065201 2065465 + IfStatement 2065203 2065450 + BinaryExpression 2065225 2065260 + Identifier 2065225 2065235 + AmpersandAmpersandToken 2065235 2065238 + BinaryExpression 2065238 2065260 + Identifier 2065238 2065245 + EqualsEqualsEqualsToken 2065245 2065249 + Identifier 2065249 2065260 + Block 2065261 2065323 + ExpressionStatement 2065263 2065304 + BinaryExpression 2065263 2065303 + Identifier 2065263 2065290 + EqualsToken 2065290 2065292 + BinaryExpression 2065292 2065303 + NonNullExpression 2065292 2065299 + Identifier 2065292 2065298 + PlusToken 2065299 2065301 + NumericLiteral 2065301 2065303 + Block 2065345 2065450 + ExpressionStatement 2065347 2065389 + BinaryExpression 2065347 2065388 + Identifier 2065347 2065379 + EqualsToken 2065379 2065381 + Identifier 2065381 2065388 + ExpressionStatement 2065389 2065431 + BinaryExpression 2065389 2065430 + Identifier 2065389 2065416 + EqualsToken 2065416 2065418 + Identifier 2065418 2065430 + Block 2065483 2065774 + ExpressionStatement 2065485 2065721 + BinaryExpression 2065485 2065720 + Identifier 2065485 2065690 + EqualsToken 2065690 2065692 + BinaryExpression 2065692 2065720 + Identifier 2065692 2065704 + EqualsToken 2065704 2065706 + PropertyAccessExpression 2065706 2065720 + Identifier 2065706 2065713 + Identifier 2065714 2065720 + ExpressionStatement 2065721 2065759 + BinaryExpression 2065721 2065758 + Identifier 2065721 2065749 + EqualsToken 2065749 2065751 + Identifier 2065751 2065758 + ExpressionStatement 2065774 2065808 + BinaryExpression 2065774 2065807 + Identifier 2065774 2065798 + EqualsToken 2065798 2065800 + Identifier 2065800 2065807 + IfStatement 2065808 2066482 + CallExpression 2065989 2066024 + Identifier 2065989 2066013 + Identifier 2066014 2066023 + Block 2066025 2066409 + ExpressionStatement 2066027 2066064 + PostfixUnaryExpression 2066027 2066063 + Identifier 2066027 2066061 + ExpressionStatement 2066064 2066113 + BinaryExpression 2066064 2066112 + Identifier 2066064 2066093 + EqualsToken 2066093 2066095 + Identifier 2066095 2066112 + ExpressionStatement 2066113 2066394 + PostfixUnaryExpression 2066113 2066393 + Identifier 2066113 2066391 + Block 2066427 2066482 + ExpressionStatement 2066429 2066467 + BinaryExpression 2066429 2066466 + Identifier 2066429 2066458 + EqualsToken 2066458 2066460 + Identifier 2066460 2066466 + ExpressionStatement 2066482 2066610 + CallExpression 2066482 2066609 + PropertyAccessExpression 2066482 2066511 + Identifier 2066482 2066504 + Identifier 2066505 2066511 + Identifier 2066512 2066523 + NumericLiteral 2066524 2066526 + ConditionalExpression 2066527 2066608 + Identifier 2066527 2066542 + QuestionToken 2066542 2066544 + CallExpression 2066544 2066596 + Identifier 2066544 2066569 + Identifier 2066570 2066579 + Identifier 2066580 2066595 + ColonToken 2066596 2066598 + Identifier 2066598 2066608 + FunctionDeclaration 2066628 2066872 + Identifier 2066644 2066661 + Parameter 2066662 2066689 + Identifier 2066662 2066665 + UnionType 2066666 2066689 + TypeReference 2066666 2066677 + Identifier 2066666 2066677 + UndefinedKeyword 2066679 2066689 + TypePredicate 2066691 2066709 + Identifier 2066691 2066695 + TypeReference 2066698 2066709 + Identifier 2066698 2066709 + Block 2066709 2066872 + ReturnStatement 2066711 2066865 + BinaryExpression 2066727 2066864 + PrefixUnaryExpression 2066727 2066733 + PrefixUnaryExpression 2066729 2066733 + Identifier 2066730 2066733 + AmpersandAmpersandToken 2066733 2066736 + ParenthesizedExpression 2066736 2066864 + BinaryExpression 2066738 2066863 + BinaryExpression 2066738 2066775 + PropertyAccessExpression 2066738 2066746 + Identifier 2066738 2066741 + Identifier 2066742 2066746 + EqualsEqualsEqualsToken 2066746 2066750 + PropertyAccessExpression 2066750 2066775 + Identifier 2066750 2066761 + Identifier 2066762 2066775 + BarBarToken 2066775 2066778 + BinaryExpression 2066778 2066863 + BinaryExpression 2066778 2066822 + PropertyAccessExpression 2066778 2066787 + Identifier 2066778 2066782 + Identifier 2066783 2066787 + EqualsEqualsEqualsToken 2066787 2066791 + PropertyAccessExpression 2066791 2066822 + Identifier 2066791 2066802 + Identifier 2066803 2066822 + AmpersandAmpersandToken 2066822 2066825 + PropertyAccessExpression 2066825 2066863 + ParenthesizedExpression 2066825 2066854 + AsExpression 2066827 2066853 + Identifier 2066827 2066830 + TypeReference 2066833 2066853 + Identifier 2066833 2066853 + Identifier 2066855 2066863 + FunctionDeclaration 2066872 2067008 + Identifier 2066888 2066911 + Parameter 2066912 2066939 + Identifier 2066912 2066916 + TypeOperator 2066917 2066939 + ArrayType 2066926 2066939 + TypeReference 2066926 2066937 + Identifier 2066926 2066937 + NumberKeyword 2066941 2066948 + Block 2066948 2067008 + ReturnStatement 2066950 2067001 + CallExpression 2066966 2067000 + Identifier 2066966 2066976 + Identifier 2066977 2066981 + Identifier 2066982 2066999 + FunctionDeclaration 2067008 2067109 + Identifier 2067024 2067036 + Parameter 2067037 2067044 + Identifier 2067037 2067038 + TypeReference 2067039 2067044 + Identifier 2067039 2067044 + BooleanKeyword 2067046 2067054 + Block 2067054 2067109 + ReturnStatement 2067056 2067102 + PrefixUnaryExpression 2067072 2067101 + PrefixUnaryExpression 2067074 2067101 + ParenthesizedExpression 2067075 2067101 + BinaryExpression 2067076 2067100 + PropertyAccessExpression 2067076 2067083 + Identifier 2067076 2067077 + Identifier 2067078 2067083 + AmpersandToken 2067083 2067085 + PropertyAccessExpression 2067085 2067100 + Identifier 2067085 2067095 + Identifier 2067096 2067100 + FunctionDeclaration 2067109 2067291 + Identifier 2067125 2067158 + Parameter 2067159 2067166 + Identifier 2067159 2067160 + TypeReference 2067161 2067166 + Identifier 2067161 2067166 + BooleanKeyword 2067168 2067176 + Block 2067176 2067291 + ReturnStatement 2067178 2067284 + PrefixUnaryExpression 2067194 2067283 + PrefixUnaryExpression 2067196 2067283 + ParenthesizedExpression 2067197 2067283 + BinaryExpression 2067198 2067282 + PropertyAccessExpression 2067198 2067205 + Identifier 2067198 2067199 + Identifier 2067200 2067205 + AmpersandToken 2067205 2067207 + ParenthesizedExpression 2067207 2067282 + BinaryExpression 2067209 2067281 + BinaryExpression 2067209 2067265 + BinaryExpression 2067209 2067245 + PropertyAccessExpression 2067209 2067223 + Identifier 2067209 2067218 + Identifier 2067219 2067223 + BarToken 2067223 2067225 + PropertyAccessExpression 2067225 2067245 + Identifier 2067225 2067235 + Identifier 2067236 2067245 + BarToken 2067245 2067247 + PropertyAccessExpression 2067247 2067265 + Identifier 2067247 2067257 + Identifier 2067258 2067265 + BarToken 2067265 2067267 + PropertyAccessExpression 2067267 2067281 + Identifier 2067267 2067277 + Identifier 2067278 2067281 + FunctionDeclaration 2067291 2071584 + Identifier 2067307 2067323 + Parameter 2067324 2067348 + Identifier 2067324 2067328 + TypeReference 2067329 2067348 + Identifier 2067329 2067348 + Parameter 2067349 2067377 + Identifier 2067349 2067354 + TypeOperator 2067355 2067377 + ArrayType 2067364 2067377 + TypeReference 2067364 2067375 + Identifier 2067364 2067375 + Parameter 2067378 2067399 + Identifier 2067378 2067388 + TypeReference 2067389 2067399 + Identifier 2067389 2067399 + Parameter 2067400 2067435 + Identifier 2067400 2067427 + FalseKeyword 2067429 2067435 + Block 2067436 2071584 + IfStatement 2067438 2067492 + CallExpression 2067452 2067478 + Identifier 2067452 2067472 + Identifier 2067473 2067477 + ReturnStatement 2067479 2067492 + TrueKeyword 2067486 2067491 + VariableStatement 2067492 2067525 + VariableDeclarationList 2067492 2067524 + VariableDeclaration 2067507 2067524 + Identifier 2067507 2067516 + NumberKeyword 2067517 2067524 + VariableStatement 2067525 2067564 + VariableDeclarationList 2067525 2067563 + VariableDeclaration 2067538 2067563 + Identifier 2067538 2067555 + FalseKeyword 2067557 2067563 + VariableStatement 2067564 2067708 + VariableDeclarationList 2067564 2067707 + VariableDeclaration 2067652 2067707 + Identifier 2067652 2067676 + CallExpression 2067678 2067707 + Identifier 2067678 2067696 + Identifier 2067697 2067706 + VariableStatement 2067708 2067781 + VariableDeclarationList 2067708 2067780 + VariableDeclaration 2067721 2067780 + Identifier 2067721 2067747 + CallExpression 2067749 2067780 + Identifier 2067749 2067769 + Identifier 2067770 2067779 + IfStatement 2067781 2070744 + BinaryExpression 2067797 2067846 + PropertyAccessExpression 2067797 2067806 + Identifier 2067797 2067801 + Identifier 2067802 2067806 + EqualsEqualsEqualsToken 2067806 2067810 + PropertyAccessExpression 2067810 2067846 + Identifier 2067810 2067821 + Identifier 2067822 2067846 + Block 2067847 2068940 + ExpressionStatement 2067849 2067886 + BinaryExpression 2067849 2067885 + Identifier 2067849 2067871 + EqualsToken 2067871 2067873 + PropertyAccessExpression 2067873 2067885 + Identifier 2067873 2067878 + Identifier 2067879 2067885 + IfStatement 2067886 2068929 + BinaryExpression 2067904 2067956 + PropertyAccessExpression 2067904 2067922 + PropertyAccessExpression 2067904 2067917 + Identifier 2067904 2067908 + Identifier 2067909 2067917 + Identifier 2067918 2067922 + EqualsEqualsEqualsToken 2067922 2067926 + PropertyAccessExpression 2067926 2067956 + Identifier 2067926 2067937 + Identifier 2067938 2067956 + Block 2067957 2068389 + VariableStatement 2067959 2068224 + VariableDeclarationList 2067959 2068223 + VariableDeclaration 2068178 2068223 + Identifier 2068178 2068187 + CallExpression 2068189 2068223 + Identifier 2068189 2068194 + PropertyAccessExpression 2068195 2068222 + PropertyAccessExpression 2068195 2068208 + Identifier 2068195 2068199 + Identifier 2068200 2068208 + Identifier 2068209 2068222 + ExpressionStatement 2068224 2068374 + BinaryExpression 2068224 2068373 + Identifier 2068224 2068302 + EqualsToken 2068302 2068304 + BinaryExpression 2068304 2068373 + CallExpression 2068304 2068336 + Identifier 2068304 2068318 + PropertyAccessExpression 2068319 2068335 + Identifier 2068319 2068327 + Identifier 2068328 2068335 + BarBarToken 2068336 2068339 + PrefixUnaryExpression 2068339 2068373 + PrefixUnaryExpression 2068341 2068373 + PropertyAccessExpression 2068342 2068373 + PropertyAccessExpression 2068342 2068358 + Identifier 2068342 2068350 + Identifier 2068351 2068358 + Identifier 2068359 2068373 + Block 2068407 2068929 + VariableStatement 2068409 2068746 + VariableDeclarationList 2068409 2068745 + VariableDeclaration 2068692 2068745 + Identifier 2068692 2068708 + AsExpression 2068710 2068745 + PropertyAccessExpression 2068710 2068724 + Identifier 2068710 2068715 + Identifier 2068716 2068724 + TypeReference 2068727 2068745 + Identifier 2068727 2068745 + ExpressionStatement 2068746 2068844 + CallExpression 2068746 2068843 + PropertyAccessExpression 2068746 2068776 + Identifier 2068746 2068769 + Identifier 2068770 2068776 + BinaryExpression 2068777 2068842 + PropertyAccessExpression 2068777 2068797 + Identifier 2068777 2068792 + Identifier 2068793 2068797 + EqualsEqualsEqualsToken 2068797 2068801 + PropertyAccessExpression 2068801 2068842 + Identifier 2068801 2068812 + Identifier 2068813 2068842 + ExpressionStatement 2068844 2068914 + BinaryExpression 2068844 2068913 + Identifier 2068844 2068878 + EqualsToken 2068878 2068880 + PrefixUnaryExpression 2068880 2068913 + PrefixUnaryExpression 2068882 2068913 + PropertyAccessExpression 2068883 2068913 + Identifier 2068883 2068898 + Identifier 2068899 2068913 + IfStatement 2068954 2070744 + BinaryExpression 2068959 2068993 + PropertyAccessExpression 2068959 2068968 + Identifier 2068959 2068963 + Identifier 2068964 2068968 + EqualsEqualsEqualsToken 2068968 2068972 + PropertyAccessExpression 2068972 2068993 + Identifier 2068972 2068983 + Identifier 2068984 2068993 + Block 2068994 2069075 + ExpressionStatement 2068996 2069064 + BinaryExpression 2068996 2069063 + Identifier 2068996 2069018 + EqualsToken 2069018 2069020 + CallExpression 2069020 2069063 + Identifier 2069020 2069046 + Identifier 2069047 2069051 + Identifier 2069052 2069062 + IfStatement 2069089 2070744 + BinaryExpression 2069094 2069135 + PropertyAccessExpression 2069094 2069103 + Identifier 2069094 2069098 + Identifier 2069099 2069103 + EqualsEqualsEqualsToken 2069103 2069107 + PropertyAccessExpression 2069107 2069135 + Identifier 2069107 2069118 + Identifier 2069119 2069135 + Block 2069136 2069176 + ExpressionStatement 2069138 2069165 + BinaryExpression 2069138 2069164 + Identifier 2069138 2069160 + EqualsToken 2069160 2069162 + NumericLiteral 2069162 2069164 + IfStatement 2069190 2070744 + CallExpression 2069195 2069224 + Identifier 2069195 2069218 + Identifier 2069219 2069223 + Block 2069225 2069809 + ExpressionStatement 2069227 2069293 + BinaryExpression 2069227 2069292 + Identifier 2069227 2069257 + EqualsToken 2069257 2069259 + BinaryExpression 2069259 2069292 + PropertyAccessExpression 2069259 2069279 + PropertyAccessExpression 2069259 2069275 + Identifier 2069259 2069264 + Identifier 2069265 2069275 + Identifier 2069276 2069279 + EqualsEqualsEqualsToken 2069279 2069283 + PropertyAccessExpression 2069283 2069292 + Identifier 2069283 2069288 + Identifier 2069289 2069292 + IfStatement 2069293 2069375 + Identifier 2069311 2069327 + Block 2069328 2069375 + ReturnStatement 2069330 2069360 + TrueKeyword 2069354 2069359 + ExpressionStatement 2069375 2069450 + BinaryExpression 2069375 2069449 + Identifier 2069375 2069397 + EqualsToken 2069397 2069399 + ConditionalExpression 2069399 2069449 + BinaryExpression 2069399 2069431 + Identifier 2069399 2069425 + EqualsEqualsEqualsToken 2069425 2069429 + NumericLiteral 2069429 2069431 + QuestionToken 2069431 2069433 + PropertyAccessExpression 2069433 2069445 + Identifier 2069433 2069438 + Identifier 2069439 2069445 + ColonToken 2069445 2069447 + NumericLiteral 2069447 2069449 + ExpressionStatement 2069450 2069538 + BinaryExpression 2069450 2069537 + Identifier 2069450 2069487 + EqualsToken 2069487 2069489 + ConditionalExpression 2069489 2069537 + BinaryExpression 2069489 2069507 + PropertyAccessExpression 2069489 2069501 + Identifier 2069489 2069494 + Identifier 2069495 2069501 + EqualsEqualsEqualsToken 2069501 2069505 + NumericLiteral 2069505 2069507 + QuestionToken 2069507 2069509 + Identifier 2069509 2069533 + ColonToken 2069533 2069535 + NumericLiteral 2069535 2069537 + ExpressionStatement 2069538 2069719 + BinaryExpression 2069538 2069718 + Identifier 2069538 2069677 + EqualsToken 2069677 2069679 + CallExpression 2069679 2069718 + PropertyAccessExpression 2069679 2069688 + Identifier 2069679 2069684 + Identifier 2069685 2069688 + Identifier 2069689 2069714 + NumericLiteral 2069715 2069717 + IfStatement 2069823 2070744 + PrefixUnaryExpression 2069828 2069843 + PropertyAccessExpression 2069829 2069843 + Identifier 2069829 2069833 + Identifier 2069834 2069843 + Block 2069844 2070060 + ExpressionStatement 2069846 2069991 + CallExpression 2069846 2069990 + PropertyAccessExpression 2069846 2069950 + Identifier 2069846 2069943 + Identifier 2069944 2069950 + BinaryExpression 2069951 2069989 + PropertyAccessExpression 2069951 2069960 + Identifier 2069951 2069955 + Identifier 2069956 2069960 + EqualsEqualsEqualsToken 2069960 2069964 + PropertyAccessExpression 2069964 2069989 + Identifier 2069964 2069975 + Identifier 2069976 2069989 + ReturnStatement 2069991 2070049 + BinaryExpression 2070011 2070048 + CallExpression 2070011 2070042 + Identifier 2070011 2070031 + Identifier 2070032 2070041 + EqualsEqualsEqualsToken 2070042 2070046 + NumericLiteral 2070046 2070048 + Block 2070074 2070744 + ExpressionStatement 2070076 2070160 + BinaryExpression 2070076 2070159 + Identifier 2070076 2070098 + EqualsToken 2070098 2070100 + ConditionalExpression 2070100 2070159 + Identifier 2070100 2070127 + QuestionToken 2070127 2070129 + BinaryExpression 2070129 2070145 + PropertyAccessExpression 2070129 2070141 + Identifier 2070129 2070134 + Identifier 2070135 2070141 + PlusToken 2070141 2070143 + NumericLiteral 2070143 2070145 + ColonToken 2070145 2070147 + PropertyAccessExpression 2070147 2070159 + Identifier 2070147 2070152 + Identifier 2070153 2070159 + ExpressionStatement 2070160 2070308 + BinaryExpression 2070160 2070307 + Identifier 2070160 2070273 + EqualsToken 2070273 2070275 + BinaryExpression 2070275 2070307 + PropertyAccessExpression 2070275 2070294 + PropertyAccessExpression 2070275 2070290 + Identifier 2070275 2070280 + Identifier 2070281 2070290 + Identifier 2070291 2070294 + EqualsEqualsEqualsToken 2070294 2070298 + PropertyAccessExpression 2070298 2070307 + Identifier 2070298 2070303 + Identifier 2070304 2070307 + VariableStatement 2070308 2070513 + VariableDeclarationList 2070308 2070512 + VariableDeclaration 2070466 2070512 + Identifier 2070466 2070481 + CallExpression 2070483 2070512 + Identifier 2070483 2070506 + Identifier 2070507 2070511 + IfStatement 2070513 2070733 + BinaryExpression 2070531 2070550 + Identifier 2070531 2070545 + GreaterThanEqualsToken 2070545 2070548 + NumericLiteral 2070548 2070550 + Block 2070551 2070733 + ReturnStatement 2070553 2070718 + BinaryExpression 2070577 2070717 + BinaryExpression 2070577 2070626 + Identifier 2070577 2070592 + GreaterThanEqualsToken 2070592 2070595 + CallExpression 2070595 2070626 + Identifier 2070595 2070615 + Identifier 2070616 2070625 + AmpersandAmpersandToken 2070626 2070629 + ParenthesizedExpression 2070629 2070717 + BinaryExpression 2070631 2070716 + CallExpression 2070631 2070667 + Identifier 2070631 2070656 + Identifier 2070657 2070666 + BarBarToken 2070667 2070670 + BinaryExpression 2070670 2070716 + Identifier 2070670 2070685 + LessThanToken 2070685 2070687 + CallExpression 2070687 2070716 + Identifier 2070687 2070705 + Identifier 2070706 2070715 + IfStatement 2070744 2070932 + BinaryExpression 2070816 2070891 + PrefixUnaryExpression 2070816 2070853 + CallExpression 2070817 2070853 + Identifier 2070817 2070842 + Identifier 2070843 2070852 + AmpersandAmpersandToken 2070853 2070856 + BinaryExpression 2070856 2070891 + Identifier 2070856 2070865 + GreaterThanToken 2070865 2070867 + Identifier 2070867 2070891 + Block 2070892 2070932 + ReturnStatement 2070894 2070921 + FalseKeyword 2070914 2070920 + IfStatement 2070932 2071220 + BinaryExpression 2071123 2071180 + Identifier 2071123 2071139 + BarBarToken 2071139 2071142 + BinaryExpression 2071142 2071180 + Identifier 2071142 2071151 + GreaterThanEqualsToken 2071151 2071154 + Identifier 2071154 2071180 + Block 2071181 2071220 + ReturnStatement 2071183 2071209 + TrueKeyword 2071203 2071208 + ForStatement 2071220 2071555 + VariableDeclarationList 2071235 2071251 + VariableDeclaration 2071238 2071251 + Identifier 2071238 2071240 + Identifier 2071242 2071251 + BinaryExpression 2071252 2071282 + Identifier 2071252 2071254 + LessThanToken 2071254 2071256 + Identifier 2071256 2071282 + PostfixUnaryExpression 2071283 2071287 + Identifier 2071283 2071285 + Block 2071288 2071555 + VariableStatement 2071290 2071349 + VariableDeclarationList 2071290 2071348 + VariableDeclaration 2071309 2071348 + Identifier 2071309 2071314 + CallExpression 2071316 2071348 + Identifier 2071316 2071334 + Identifier 2071335 2071344 + Identifier 2071345 2071347 + IfStatement 2071349 2071544 + BinaryExpression 2071367 2071495 + PropertyAccessExpression 2071367 2071477 + CallExpression 2071367 2071471 + Identifier 2071367 2071377 + Identifier 2071378 2071382 + ConditionalExpression 2071383 2071470 + BinaryExpression 2071383 2071421 + CallExpression 2071383 2071400 + Identifier 2071383 2071394 + Identifier 2071395 2071399 + AmpersandAmpersandToken 2071400 2071403 + PrefixUnaryExpression 2071403 2071421 + Identifier 2071405 2071421 + QuestionToken 2071421 2071423 + Identifier 2071423 2071456 + ColonToken 2071456 2071458 + Identifier 2071458 2071470 + Identifier 2071472 2071477 + AmpersandToken 2071477 2071479 + PropertyAccessExpression 2071479 2071495 + Identifier 2071479 2071489 + Identifier 2071490 2071495 + Block 2071496 2071544 + ReturnStatement 2071498 2071529 + FalseKeyword 2071522 2071528 + ReturnStatement 2071555 2071577 + TrueKeyword 2071571 2071576 + FunctionDeclaration 2071584 2072193 + Identifier 2071600 2071628 + Parameter 2071629 2071649 + Identifier 2071629 2071638 + TypeReference 2071639 2071649 + Identifier 2071639 2071649 + Parameter 2071650 2071697 + Identifier 2071650 2071664 + UnionType 2071665 2071697 + TypeReference 2071665 2071685 + Identifier 2071665 2071675 + TypeReference 2071676 2071684 + Identifier 2071676 2071684 + UndefinedKeyword 2071687 2071697 + Block 2071698 2072193 + VariableStatement 2071700 2071951 + VariableDeclarationList 2071700 2071950 + VariableDeclaration 2071897 2071950 + Identifier 2071897 2071915 + CallExpression 2071917 2071950 + Identifier 2071917 2071924 + PropertyAccessExpression 2071925 2071949 + Identifier 2071925 2071934 + Identifier 2071935 2071949 + VariableStatement 2071951 2072040 + VariableDeclarationList 2071951 2072039 + VariableDeclaration 2071966 2072039 + Identifier 2071966 2071987 + CallExpression 2071989 2072039 + Identifier 2071989 2072013 + PropertyAccessExpression 2072014 2072038 + Identifier 2072014 2072023 + Identifier 2072024 2072038 + ReturnStatement 2072040 2072186 + BinaryExpression 2072056 2072185 + PrefixUnaryExpression 2072056 2072077 + CallExpression 2072058 2072077 + Identifier 2072058 2072062 + Identifier 2072063 2072076 + BarBarToken 2072077 2072080 + ParenthesizedExpression 2072080 2072185 + BinaryExpression 2072095 2072184 + BinaryExpression 2072095 2072139 + PropertyAccessExpression 2072095 2072115 + Identifier 2072095 2072108 + Identifier 2072109 2072115 + GreaterThanEqualsToken 2072115 2072118 + Identifier 2072118 2072139 + AmpersandAmpersandToken 2072139 2072142 + BinaryExpression 2072142 2072184 + PropertyAccessExpression 2072142 2072163 + Identifier 2072142 2072156 + Identifier 2072157 2072163 + LessThanEqualsToken 2072163 2072166 + Identifier 2072166 2072184 + FunctionDeclaration 2072193 2072420 + Identifier 2072209 2072240 + Parameter 2072241 2072261 + Identifier 2072241 2072250 + TypeReference 2072251 2072261 + Identifier 2072251 2072261 + Parameter 2072262 2072274 + Identifier 2072262 2072266 + NumberKeyword 2072267 2072274 + Block 2072275 2072420 + VariableStatement 2072277 2072296 + VariableDeclarationList 2072277 2072295 + VariableDeclaration 2072290 2072295 + Identifier 2072290 2072295 + ReturnStatement 2072296 2072413 + PrefixUnaryExpression 2072312 2072412 + PrefixUnaryExpression 2072314 2072412 + ParenthesizedExpression 2072315 2072412 + BinaryExpression 2072316 2072411 + BinaryExpression 2072316 2072388 + PropertyAccessExpression 2072316 2072332 + Identifier 2072316 2072325 + Identifier 2072326 2072332 + AmpersandAmpersandToken 2072332 2072335 + ParenthesizedExpression 2072335 2072388 + BinaryExpression 2072337 2072387 + Identifier 2072337 2072341 + EqualsToken 2072341 2072343 + CallExpression 2072343 2072387 + Identifier 2072343 2072364 + PropertyAccessExpression 2072365 2072381 + Identifier 2072365 2072374 + Identifier 2072375 2072381 + Identifier 2072382 2072386 + AmpersandAmpersandToken 2072388 2072391 + CallExpression 2072391 2072411 + Identifier 2072391 2072405 + Identifier 2072406 2072410 + FunctionDeclaration 2072420 2072707 + Identifier 2072554 2072577 + Parameter 2072578 2072588 + Identifier 2072578 2072582 + TypeReference 2072583 2072588 + Identifier 2072583 2072588 + UnionType 2072590 2072612 + TypeReference 2072590 2072600 + Identifier 2072590 2072600 + UndefinedKeyword 2072602 2072612 + Block 2072612 2072707 + ReturnStatement 2072614 2072700 + CallExpression 2072630 2072699 + Identifier 2072630 2072649 + Identifier 2072650 2072654 + PropertyAccessExpression 2072655 2072674 + Identifier 2072655 2072669 + Identifier 2072670 2072674 + FalseKeyword 2072675 2072698 + FunctionDeclaration 2072707 2072977 + Identifier 2072723 2072757 + Parameter 2072758 2072768 + Identifier 2072758 2072762 + TypeReference 2072763 2072768 + Identifier 2072763 2072768 + UnionType 2072770 2072792 + TypeReference 2072770 2072780 + Identifier 2072770 2072780 + UndefinedKeyword 2072782 2072792 + Block 2072792 2072977 + ReturnStatement 2072794 2072970 + BinaryExpression 2072810 2072969 + CallExpression 2072810 2072879 + Identifier 2072810 2072829 + Identifier 2072830 2072834 + PropertyAccessExpression 2072835 2072854 + Identifier 2072835 2072849 + Identifier 2072850 2072854 + FalseKeyword 2072855 2072878 + BarBarToken 2072879 2072882 + CallExpression 2072882 2072969 + Identifier 2072882 2072914 + Identifier 2072915 2072919 + PropertyAccessExpression 2072920 2072944 + Identifier 2072920 2072934 + Identifier 2072935 2072944 + FalseKeyword 2072945 2072968 + FunctionDeclaration 2072977 2073818 + Identifier 2072993 2073012 + Parameter 2073013 2073023 + Identifier 2073013 2073017 + TypeReference 2073018 2073023 + Identifier 2073018 2073023 + Parameter 2073024 2073044 + Identifier 2073024 2073029 + TypeReference 2073030 2073044 + Identifier 2073030 2073044 + Parameter 2073045 2073067 + Identifier 2073045 2073058 + BooleanKeyword 2073059 2073067 + UnionType 2073069 2073091 + TypeReference 2073069 2073079 + Identifier 2073069 2073079 + UndefinedKeyword 2073081 2073091 + Block 2073091 2073818 + IfStatement 2073093 2073784 + BinaryExpression 2073107 2073136 + PropertyAccessExpression 2073107 2073117 + Identifier 2073107 2073111 + Identifier 2073112 2073117 + AmpersandToken 2073117 2073119 + PropertyAccessExpression 2073119 2073136 + Identifier 2073119 2073129 + Identifier 2073130 2073136 + Block 2073137 2073784 + VariableStatement 2073139 2073219 + VariableDeclarationList 2073139 2073218 + VariableDeclaration 2073158 2073218 + Identifier 2073158 2073167 + CallExpression 2073169 2073218 + Identifier 2073169 2073198 + AsExpression 2073199 2073217 + Identifier 2073199 2073203 + TypeReference 2073206 2073217 + Identifier 2073206 2073217 + IfStatement 2073219 2073773 + BinaryExpression 2073237 2073321 + Identifier 2073237 2073249 + BarBarToken 2073249 2073252 + BinaryExpression 2073252 2073321 + BinaryExpression 2073252 2073285 + PropertyAccessExpression 2073252 2073279 + PropertyAccessExpression 2073252 2073272 + Identifier 2073252 2073261 + Identifier 2073262 2073272 + Identifier 2073273 2073279 + EqualsEqualsEqualsToken 2073279 2073283 + NumericLiteral 2073283 2073285 + AmpersandAmpersandToken 2073285 2073288 + BinaryExpression 2073288 2073321 + PropertyAccessExpression 2073288 2073315 + PropertyAccessExpression 2073288 2073308 + Identifier 2073288 2073297 + Identifier 2073298 2073308 + Identifier 2073309 2073315 + EqualsEqualsEqualsToken 2073315 2073319 + NumericLiteral 2073319 2073321 + Block 2073322 2073773 + IfStatement 2073324 2073536 + BinaryExpression 2073346 2073458 + BinaryExpression 2073346 2073413 + BinaryExpression 2073346 2073373 + Identifier 2073346 2073350 + EqualsEqualsEqualsToken 2073350 2073354 + PropertyAccessExpression 2073354 2073373 + Identifier 2073354 2073368 + Identifier 2073369 2073373 + AmpersandAmpersandToken 2073373 2073376 + BinaryExpression 2073376 2073413 + PropertyAccessExpression 2073376 2073407 + PropertyAccessExpression 2073376 2073400 + Identifier 2073376 2073385 + Identifier 2073386 2073400 + Identifier 2073401 2073407 + EqualsEqualsEqualsToken 2073407 2073411 + NumericLiteral 2073411 2073413 + AmpersandAmpersandToken 2073413 2073416 + BinaryExpression 2073416 2073458 + PropertyAccessExpression 2073416 2073452 + PropertyAccessExpression 2073416 2073445 + Identifier 2073416 2073425 + Identifier 2073426 2073445 + Identifier 2073446 2073452 + EqualsEqualsEqualsToken 2073452 2073456 + NumericLiteral 2073456 2073458 + Block 2073459 2073536 + ReturnStatement 2073461 2073517 + ElementAccessExpression 2073489 2073516 + PropertyAccessExpression 2073489 2073513 + Identifier 2073489 2073498 + Identifier 2073499 2073513 + NumericLiteral 2073514 2073515 + IfStatement 2073536 2073758 + BinaryExpression 2073558 2073675 + BinaryExpression 2073558 2073635 + BinaryExpression 2073558 2073590 + Identifier 2073558 2073562 + EqualsEqualsEqualsToken 2073562 2073566 + PropertyAccessExpression 2073566 2073590 + Identifier 2073566 2073580 + Identifier 2073581 2073590 + AmpersandAmpersandToken 2073590 2073593 + BinaryExpression 2073593 2073635 + PropertyAccessExpression 2073593 2073629 + PropertyAccessExpression 2073593 2073622 + Identifier 2073593 2073602 + Identifier 2073603 2073622 + Identifier 2073623 2073629 + EqualsEqualsEqualsToken 2073629 2073633 + NumericLiteral 2073633 2073635 + AmpersandAmpersandToken 2073635 2073638 + BinaryExpression 2073638 2073675 + PropertyAccessExpression 2073638 2073669 + PropertyAccessExpression 2073638 2073662 + Identifier 2073638 2073647 + Identifier 2073648 2073662 + Identifier 2073663 2073669 + EqualsEqualsEqualsToken 2073669 2073673 + NumericLiteral 2073673 2073675 + Block 2073676 2073758 + ReturnStatement 2073678 2073739 + ElementAccessExpression 2073706 2073738 + PropertyAccessExpression 2073706 2073735 + Identifier 2073706 2073715 + Identifier 2073716 2073735 + NumericLiteral 2073736 2073737 + ReturnStatement 2073784 2073811 + Identifier 2073800 2073810 + FunctionDeclaration 2073818 2075569 + Identifier 2073951 2073983 + Parameter 2073984 2074004 + Identifier 2073984 2073993 + TypeReference 2073994 2074004 + Identifier 2073994 2074004 + Parameter 2074005 2074036 + Identifier 2074005 2074025 + TypeReference 2074026 2074036 + Identifier 2074026 2074036 + Parameter 2074037 2074073 + Identifier 2074037 2074054 + QuestionToken 2074054 2074055 + TypeReference 2074056 2074073 + Identifier 2074056 2074073 + Parameter 2074074 2074102 + Identifier 2074074 2074087 + QuestionToken 2074087 2074088 + TypeReference 2074089 2074102 + Identifier 2074089 2074102 + TypeReference 2074104 2074114 + Identifier 2074104 2074114 + Block 2074114 2075569 + VariableStatement 2074116 2074251 + VariableDeclarationList 2074116 2074250 + VariableDeclaration 2074131 2074250 + Identifier 2074131 2074139 + CallExpression 2074141 2074250 + Identifier 2074141 2074164 + NonNullExpression 2074165 2074203 + CallExpression 2074165 2074202 + Identifier 2074165 2074191 + Identifier 2074192 2074201 + Identifier 2074204 2074214 + PropertyAccessExpression 2074215 2074235 + Identifier 2074215 2074230 + Identifier 2074231 2074235 + Identifier 2074236 2074249 + VariableStatement 2074251 2074639 + VariableDeclarationList 2074251 2074638 + VariableDeclaration 2074585 2074638 + Identifier 2074585 2074594 + CallExpression 2074596 2074638 + Identifier 2074596 2074617 + Identifier 2074618 2074637 + VariableStatement 2074639 2074800 + VariableDeclarationList 2074639 2074799 + VariableDeclaration 2074654 2074799 + Identifier 2074654 2074661 + BinaryExpression 2074663 2074799 + Identifier 2074663 2074680 + AmpersandAmpersandToken 2074680 2074683 + ParenthesizedExpression 2074683 2074799 + ConditionalExpression 2074685 2074798 + BinaryExpression 2074685 2074737 + Identifier 2074685 2074693 + AmpersandAmpersandToken 2074693 2074696 + BinaryExpression 2074696 2074737 + PropertyAccessExpression 2074696 2074711 + Identifier 2074696 2074705 + Identifier 2074706 2074711 + AmpersandToken 2074711 2074713 + PropertyAccessExpression 2074713 2074737 + Identifier 2074713 2074723 + Identifier 2074724 2074737 + QuestionToken 2074737 2074739 + PropertyAccessExpression 2074739 2074772 + Identifier 2074739 2074756 + Identifier 2074757 2074772 + ColonToken 2074772 2074774 + PropertyAccessExpression 2074774 2074798 + Identifier 2074774 2074791 + Identifier 2074792 2074798 + VariableStatement 2074800 2074915 + VariableDeclarationList 2074800 2074914 + VariableDeclaration 2074815 2074914 + Identifier 2074815 2074831 + ConditionalExpression 2074833 2074914 + Identifier 2074833 2074840 + QuestionToken 2074840 2074842 + CallExpression 2074842 2074892 + Identifier 2074842 2074863 + Identifier 2074864 2074883 + Identifier 2074884 2074891 + ColonToken 2074892 2074894 + Identifier 2074894 2074914 + ExpressionStatement 2074915 2075193 + CallExpression 2074915 2075192 + Identifier 2074915 2074946 + Identifier 2074947 2074962 + Identifier 2074963 2074973 + ArrowFunction 2074974 2075191 + Parameter 2074976 2074982 + Identifier 2074976 2074982 + Parameter 2074983 2074990 + Identifier 2074983 2074990 + EqualsGreaterThanToken 2074991 2074994 + Block 2074994 2075191 + ExpressionStatement 2074996 2075180 + CallExpression 2074996 2075179 + Identifier 2074996 2075143 + PropertyAccessExpression 2075144 2075162 + Identifier 2075144 2075151 + Identifier 2075152 2075162 + Identifier 2075163 2075170 + Identifier 2075171 2075178 + IfStatement 2075193 2075436 + PrefixUnaryExpression 2075207 2075224 + Identifier 2075208 2075224 + Block 2075225 2075436 + ExpressionStatement 2075227 2075425 + CallExpression 2075227 2075424 + Identifier 2075227 2075259 + Identifier 2075260 2075279 + Identifier 2075280 2075290 + ArrowFunction 2075291 2075423 + Parameter 2075293 2075299 + Identifier 2075293 2075299 + Parameter 2075300 2075307 + Identifier 2075300 2075307 + EqualsGreaterThanToken 2075308 2075311 + Block 2075311 2075423 + ExpressionStatement 2075313 2075408 + CallExpression 2075313 2075407 + Identifier 2075313 2075341 + PropertyAccessExpression 2075342 2075360 + Identifier 2075342 2075349 + Identifier 2075350 2075360 + Identifier 2075361 2075368 + Identifier 2075369 2075376 + PropertyAccessExpression 2075377 2075406 + Identifier 2075377 2075395 + Identifier 2075396 2075406 + ReturnStatement 2075436 2075562 + CallExpression 2075452 2075561 + Identifier 2075452 2075478 + Identifier 2075479 2075488 + CallExpression 2075489 2075515 + Identifier 2075489 2075506 + Identifier 2075507 2075514 + CallExpression 2075516 2075560 + Identifier 2075516 2075527 + PropertyAccessExpression 2075528 2075559 + Identifier 2075528 2075547 + Identifier 2075548 2075559 + FunctionDeclaration 2075569 2076034 + Identifier 2075585 2075607 + Parameter 2075608 2075635 + Identifier 2075608 2075612 + TypeReference 2075613 2075635 + Identifier 2075613 2075635 + Parameter 2075636 2075657 + Identifier 2075636 2075646 + TypeReference 2075647 2075657 + Identifier 2075647 2075657 + Parameter 2075658 2075679 + Identifier 2075658 2075668 + TypeReference 2075669 2075679 + Identifier 2075669 2075679 + Parameter 2075680 2075706 + Identifier 2075680 2075688 + TypeReference 2075689 2075706 + Identifier 2075689 2075706 + ArrayType 2075708 2075715 + TypeReference 2075708 2075713 + Identifier 2075708 2075713 + Block 2075715 2076034 + VariableStatement 2075717 2075803 + VariableDeclarationList 2075717 2075802 + VariableDeclaration 2075732 2075802 + Identifier 2075732 2075742 + CallExpression 2075744 2075802 + Identifier 2075744 2075785 + Identifier 2075786 2075795 + Identifier 2075796 2075801 + VariableStatement 2075803 2075917 + VariableDeclarationList 2075803 2075916 + VariableDeclaration 2075818 2075916 + Identifier 2075818 2075832 + CallExpression 2075834 2075916 + Identifier 2075834 2075868 + PropertyAccessExpression 2075869 2075884 + Identifier 2075869 2075873 + Identifier 2075874 2075884 + Identifier 2075885 2075895 + Identifier 2075896 2075904 + Identifier 2075905 2075915 + ExpressionStatement 2075917 2075984 + CallExpression 2075917 2075983 + Identifier 2075917 2075937 + PropertyAccessExpression 2075938 2075956 + Identifier 2075938 2075945 + Identifier 2075946 2075956 + Identifier 2075957 2075971 + Identifier 2075972 2075982 + ReturnStatement 2075984 2076027 + CallExpression 2076000 2076026 + Identifier 2076000 2076017 + Identifier 2076018 2076025 + FunctionDeclaration 2076034 2076585 + Identifier 2076050 2076070 + Parameter 2076071 2076111 + Identifier 2076071 2076087 + UnionType 2076088 2076111 + TypeReference 2076088 2076099 + Identifier 2076088 2076099 + UndefinedKeyword 2076101 2076111 + Block 2076112 2076585 + IfStatement 2076114 2076189 + PrefixUnaryExpression 2076128 2076145 + Identifier 2076129 2076145 + Block 2076146 2076189 + ReturnStatement 2076148 2076178 + Identifier 2076168 2076177 + VariableStatement 2076189 2076258 + VariableDeclarationList 2076189 2076257 + VariableDeclaration 2076204 2076257 + Identifier 2076204 2076221 + CallExpression 2076223 2076257 + Identifier 2076223 2076239 + Identifier 2076240 2076256 + ReturnStatement 2076258 2076578 + ConditionalExpression 2076274 2076577 + CallExpression 2076274 2076326 + Identifier 2076274 2076308 + Identifier 2076309 2076325 + QuestionToken 2076326 2076328 + Identifier 2076328 2076345 + ColonToken 2076345 2076347 + ConditionalExpression 2076347 2076577 + CallExpression 2076347 2076405 + Identifier 2076347 2076380 + PropertyAccessExpression 2076381 2076404 + Identifier 2076381 2076397 + Identifier 2076398 2076404 + QuestionToken 2076405 2076407 + CallExpression 2076407 2076444 + Identifier 2076407 2076426 + Identifier 2076427 2076443 + ColonToken 2076444 2076446 + ConditionalExpression 2076446 2076577 + CallExpression 2076446 2076500 + Identifier 2076446 2076475 + PropertyAccessExpression 2076476 2076499 + Identifier 2076476 2076492 + Identifier 2076493 2076499 + QuestionToken 2076500 2076502 + CallExpression 2076502 2076545 + Identifier 2076502 2076527 + Identifier 2076528 2076544 + ColonToken 2076545 2076547 + Identifier 2076547 2076577 + FunctionDeclaration 2076585 2083475 + Identifier 2076601 2076620 + Parameter 2076621 2076645 + Identifier 2076621 2076625 + TypeReference 2076626 2076645 + Identifier 2076626 2076645 + Parameter 2076646 2076667 + Identifier 2076646 2076656 + TypeReference 2076657 2076667 + Identifier 2076657 2076667 + Parameter 2076668 2076696 + Identifier 2076668 2076673 + TypeOperator 2076674 2076696 + ArrayType 2076683 2076696 + TypeReference 2076683 2076694 + Identifier 2076683 2076694 + Parameter 2076697 2076718 + Identifier 2076697 2076707 + TypeReference 2076708 2076718 + Identifier 2076708 2076718 + Parameter 2076719 2076745 + Identifier 2076719 2076727 + TypeReference 2076728 2076745 + Identifier 2076728 2076745 + ArrayType 2076747 2076754 + TypeReference 2076747 2076752 + Identifier 2076747 2076752 + Block 2076754 2083475 + IfStatement 2076756 2076893 + CallExpression 2076770 2076799 + Identifier 2076770 2076793 + Identifier 2076794 2076798 + Block 2076800 2076893 + ReturnStatement 2076802 2076882 + CallExpression 2076822 2076881 + Identifier 2076822 2076844 + Identifier 2076845 2076849 + Identifier 2076850 2076860 + Identifier 2076861 2076871 + Identifier 2076872 2076880 + IfStatement 2076893 2081863 + BinaryExpression 2077274 2077353 + BinaryExpression 2077274 2077308 + PropertyAccessExpression 2077274 2077283 + Identifier 2077274 2077278 + Identifier 2077279 2077283 + ExclamationEqualsEqualsToken 2077283 2077287 + PropertyAccessExpression 2077287 2077308 + Identifier 2077287 2077298 + Identifier 2077299 2077308 + AmpersandAmpersandToken 2077308 2077311 + BinaryExpression 2077311 2077353 + PropertyAccessExpression 2077311 2077321 + Identifier 2077311 2077316 + Identifier 2077317 2077321 + ExclamationEqualsEqualsToken 2077321 2077325 + PropertyAccessExpression 2077325 2077353 + Identifier 2077325 2077336 + Identifier 2077337 2077353 + Block 2077354 2081863 + VariableStatement 2077356 2077469 + VariableDeclarationList 2077356 2077468 + VariableDeclaration 2077375 2077468 + Identifier 2077375 2077395 + CallExpression 2077397 2077468 + Identifier 2077397 2077403 + PropertyAccessExpression 2077404 2077428 + Identifier 2077404 2077413 + Identifier 2077414 2077428 + ArrowFunction 2077429 2077467 + Parameter 2077429 2077431 + Identifier 2077429 2077431 + EqualsGreaterThanToken 2077431 2077434 + PrefixUnaryExpression 2077434 2077467 + PrefixUnaryExpression 2077436 2077467 + CallExpression 2077437 2077467 + Identifier 2077437 2077464 + Identifier 2077465 2077466 + VariableStatement 2077469 2077606 + VariableDeclarationList 2077469 2077605 + VariableDeclaration 2077488 2077605 + Identifier 2077488 2077503 + CallExpression 2077505 2077605 + Identifier 2077505 2077523 + Identifier 2077524 2077528 + ConditionalExpression 2077529 2077604 + Identifier 2077529 2077549 + QuestionToken 2077549 2077551 + PropertyAccessExpression 2077551 2077584 + Identifier 2077551 2077564 + Identifier 2077565 2077584 + ColonToken 2077584 2077586 + PropertyAccessExpression 2077586 2077604 + Identifier 2077586 2077599 + Identifier 2077600 2077604 + IfStatement 2077606 2081852 + Identifier 2077624 2077638 + Block 2077639 2081852 + VariableStatement 2077641 2077723 + VariableDeclarationList 2077641 2077722 + VariableDeclaration 2077664 2077722 + Identifier 2077664 2077684 + CallExpression 2077686 2077722 + Identifier 2077686 2077711 + Identifier 2077712 2077721 + IfStatement 2077723 2081837 + CallExpression 2077745 2077791 + Identifier 2077745 2077770 + Identifier 2077771 2077790 + Block 2077792 2081837 + VariableStatement 2077794 2077863 + VariableDeclarationList 2077794 2077862 + VariableDeclaration 2077821 2077862 + Identifier 2077821 2077834 + CallExpression 2077836 2077862 + Identifier 2077836 2077856 + Identifier 2077857 2077861 + VariableStatement 2077863 2078015 + VariableDeclarationList 2077863 2078014 + VariableDeclaration 2077890 2078014 + Identifier 2077890 2077911 + BinaryExpression 2077913 2078014 + PrefixUnaryExpression 2077913 2077934 + Identifier 2077915 2077934 + AmpersandAmpersandToken 2077934 2077937 + BinaryExpression 2077937 2078014 + CallExpression 2077937 2077995 + Identifier 2077937 2077955 + Identifier 2077956 2077960 + PropertyAccessExpression 2077961 2077994 + Identifier 2077961 2077974 + Identifier 2077975 2077994 + ExclamationEqualsEqualsToken 2077995 2077999 + Identifier 2077999 2078014 + IfStatement 2078015 2080844 + PrefixUnaryExpression 2078872 2078893 + Identifier 2078873 2078893 + Block 2078894 2080844 + VariableStatement 2078896 2079320 + VariableDeclarationList 2078896 2079319 + VariableDeclaration 2079221 2079319 + Identifier 2079221 2079233 + CallExpression 2079235 2079319 + Identifier 2079235 2079256 + CallExpression 2079257 2079318 + Identifier 2079257 2079278 + Identifier 2079279 2079291 + PropertyAccessExpression 2079292 2079317 + Identifier 2079292 2079307 + Identifier 2079308 2079317 + VariableStatement 2079320 2079416 + VariableDeclarationList 2079320 2079415 + VariableDeclaration 2079351 2079415 + Identifier 2079351 2079368 + CallExpression 2079370 2079415 + Identifier 2079370 2079386 + Identifier 2079387 2079401 + Identifier 2079402 2079414 + VariableStatement 2079416 2080250 + VariableDeclarationList 2079416 2080249 + VariableDeclaration 2080186 2080249 + Identifier 2080186 2080206 + CallExpression 2080208 2080249 + Identifier 2080208 2080231 + Identifier 2080232 2080248 + VariableStatement 2080250 2080583 + VariableDeclarationList 2080250 2080582 + VariableDeclaration 2080281 2080582 + Identifier 2080281 2080301 + ConditionalExpression 2080303 2080582 + BinaryExpression 2080303 2080361 + Identifier 2080303 2080323 + AmpersandAmpersandToken 2080323 2080326 + PropertyAccessExpression 2080326 2080361 + Identifier 2080326 2080346 + Identifier 2080347 2080361 + QuestionToken 2080361 2080363 + CallExpression 2080363 2080534 + Identifier 2080363 2080421 + CallExpression 2080422 2080533 + Identifier 2080422 2080476 + Identifier 2080477 2080496 + PropertyAccessExpression 2080497 2080532 + Identifier 2080497 2080517 + Identifier 2080518 2080532 + ColonToken 2080534 2080536 + Identifier 2080536 2080582 + ExpressionStatement 2080583 2080821 + CallExpression 2080583 2080820 + Identifier 2080583 2080728 + PropertyAccessExpression 2080729 2080747 + Identifier 2080729 2080736 + Identifier 2080737 2080747 + Identifier 2080748 2080768 + Identifier 2080769 2080789 + PropertyAccessExpression 2080790 2080819 + Identifier 2080790 2080808 + Identifier 2080809 2080819 + VariableStatement 2080844 2081420 + VariableDeclarationList 2080844 2081419 + VariableDeclaration 2081327 2081419 + Identifier 2081327 2081341 + CallExpression 2081343 2081419 + Identifier 2081343 2081366 + NonNullExpression 2081367 2081392 + PropertyAccessExpression 2081367 2081391 + Identifier 2081367 2081376 + Identifier 2081377 2081391 + Identifier 2081393 2081403 + PropertyAccessExpression 2081404 2081418 + Identifier 2081404 2081412 + Identifier 2081413 2081418 + VariableStatement 2081420 2081542 + VariableDeclarationList 2081420 2081541 + VariableDeclaration 2081447 2081541 + Identifier 2081447 2081464 + CallExpression 2081466 2081541 + Identifier 2081466 2081482 + Identifier 2081483 2081497 + BinaryExpression 2081498 2081540 + Identifier 2081498 2081511 + AmpersandAmpersandToken 2081511 2081514 + PropertyAccessExpression 2081514 2081540 + Identifier 2081514 2081527 + Identifier 2081528 2081540 + ExpressionStatement 2081542 2081640 + CallExpression 2081542 2081639 + Identifier 2081542 2081574 + PropertyAccessExpression 2081575 2081599 + Identifier 2081575 2081588 + Identifier 2081589 2081599 + Identifier 2081600 2081617 + Identifier 2081618 2081638 + ExpressionStatement 2081640 2081818 + BinaryExpression 2081640 2081817 + PropertyAccessExpression 2081640 2081682 + Identifier 2081640 2081669 + Identifier 2081670 2081682 + EqualsToken 2081682 2081684 + ConditionalExpression 2081684 2081817 + CallExpression 2081684 2081739 + Identifier 2081684 2081689 + PropertyAccessExpression 2081690 2081714 + Identifier 2081690 2081703 + Identifier 2081704 2081714 + Identifier 2081715 2081738 + QuestionToken 2081739 2081741 + CallExpression 2081741 2081805 + Identifier 2081741 2081762 + CallExpression 2081763 2081804 + Identifier 2081763 2081789 + Identifier 2081790 2081803 + ColonToken 2081805 2081807 + Identifier 2081807 2081817 + VariableStatement 2081863 2081923 + VariableDeclarationList 2081863 2081922 + VariableDeclaration 2081880 2081922 + Identifier 2081880 2081889 + CallExpression 2081891 2081922 + Identifier 2081891 2081911 + Identifier 2081912 2081921 + VariableStatement 2081923 2082031 + VariableDeclarationList 2081923 2082030 + VariableDeclaration 2081938 2082030 + Identifier 2081938 2081947 + ConditionalExpression 2081949 2082030 + Identifier 2081949 2081958 + QuestionToken 2081958 2081960 + CallExpression 2081960 2082016 + PropertyAccessExpression 2081960 2081969 + Identifier 2081960 2081965 + Identifier 2081966 2081969 + BinaryExpression 2081970 2082002 + CallExpression 2081970 2081998 + Identifier 2081970 2081987 + Identifier 2081988 2081997 + MinusToken 2081998 2082000 + NumericLiteral 2082000 2082002 + PropertyAccessExpression 2082003 2082015 + Identifier 2082003 2082008 + Identifier 2082009 2082015 + ColonToken 2082016 2082018 + PropertyAccessExpression 2082018 2082030 + Identifier 2082018 2082023 + Identifier 2082024 2082030 + IfStatement 2082031 2082367 + BinaryExpression 2082045 2082097 + Identifier 2082045 2082053 + AmpersandAmpersandToken 2082053 2082056 + BinaryExpression 2082056 2082097 + PropertyAccessExpression 2082056 2082071 + Identifier 2082056 2082065 + Identifier 2082066 2082071 + AmpersandToken 2082071 2082073 + PropertyAccessExpression 2082073 2082097 + Identifier 2082073 2082083 + Identifier 2082084 2082097 + Block 2082098 2082367 + VariableStatement 2082100 2082193 + VariableDeclarationList 2082100 2082192 + VariableDeclaration 2082119 2082192 + Identifier 2082119 2082124 + CallExpression 2082126 2082192 + Identifier 2082126 2082131 + PropertyAccessExpression 2082132 2082150 + Identifier 2082132 2082139 + Identifier 2082140 2082150 + ArrowFunction 2082151 2082191 + Parameter 2082151 2082156 + Identifier 2082151 2082156 + EqualsGreaterThanToken 2082156 2082159 + BinaryExpression 2082159 2082191 + PropertyAccessExpression 2082159 2082178 + Identifier 2082159 2082164 + Identifier 2082165 2082178 + EqualsEqualsEqualsToken 2082178 2082182 + Identifier 2082182 2082191 + IfStatement 2082193 2082356 + Identifier 2082211 2082215 + Block 2082216 2082356 + ExpressionStatement 2082218 2082341 + BinaryExpression 2082218 2082340 + PropertyAccessExpression 2082218 2082253 + Identifier 2082218 2082240 + Identifier 2082241 2082253 + EqualsToken 2082253 2082255 + ConditionalExpression 2082255 2082340 + BinaryExpression 2082255 2082303 + CallExpression 2082255 2082299 + Identifier 2082255 2082265 + Identifier 2082266 2082270 + Identifier 2082271 2082288 + Identifier 2082289 2082298 + LessThanToken 2082299 2082301 + NumericLiteral 2082301 2082303 + QuestionToken 2082303 2082305 + BinaryExpression 2082305 2082328 + PropertyAccessExpression 2082305 2082317 + Identifier 2082305 2082310 + Identifier 2082311 2082317 + MinusToken 2082317 2082319 + Identifier 2082319 2082328 + ColonToken 2082328 2082330 + Identifier 2082330 2082340 + VariableStatement 2082367 2082430 + VariableDeclarationList 2082367 2082429 + VariableDeclaration 2082384 2082429 + Identifier 2082384 2082393 + CallExpression 2082395 2082429 + Identifier 2082395 2082418 + Identifier 2082419 2082428 + IfStatement 2082430 2082666 + BinaryExpression 2082444 2082491 + Identifier 2082444 2082452 + AmpersandAmpersandToken 2082452 2082455 + CallExpression 2082455 2082491 + Identifier 2082455 2082481 + Identifier 2082482 2082490 + Block 2082492 2082666 + VariableStatement 2082494 2082561 + VariableDeclarationList 2082494 2082560 + VariableDeclaration 2082513 2082560 + Identifier 2082513 2082530 + CallExpression 2082532 2082560 + Identifier 2082532 2082554 + Identifier 2082555 2082559 + ExpressionStatement 2082561 2082655 + CallExpression 2082561 2082654 + Identifier 2082561 2082585 + PropertyAccessExpression 2082586 2082604 + Identifier 2082586 2082593 + Identifier 2082594 2082604 + CallExpression 2082605 2082643 + Identifier 2082605 2082625 + Identifier 2082626 2082642 + Identifier 2082644 2082653 + ForStatement 2082666 2083165 + VariableDeclarationList 2082683 2082692 + VariableDeclaration 2082686 2082692 + Identifier 2082686 2082688 + NumericLiteral 2082690 2082692 + BinaryExpression 2082693 2082706 + Identifier 2082693 2082695 + LessThanToken 2082695 2082697 + Identifier 2082697 2082706 + PostfixUnaryExpression 2082707 2082711 + Identifier 2082707 2082709 + Block 2082712 2083165 + VariableStatement 2082714 2082748 + VariableDeclarationList 2082714 2082747 + VariableDeclaration 2082733 2082747 + Identifier 2082733 2082737 + ElementAccessExpression 2082739 2082747 + Identifier 2082739 2082744 + Identifier 2082745 2082746 + IfStatement 2082748 2083154 + BinaryExpression 2082766 2082807 + PropertyAccessExpression 2082766 2082774 + Identifier 2082766 2082769 + Identifier 2082770 2082774 + ExclamationEqualsEqualsToken 2082774 2082778 + PropertyAccessExpression 2082778 2082807 + Identifier 2082778 2082789 + Identifier 2082790 2082807 + Block 2082808 2083154 + VariableStatement 2082810 2082878 + VariableDeclarationList 2082810 2082877 + VariableDeclaration 2082833 2082877 + Identifier 2082833 2082843 + CallExpression 2082845 2082877 + Identifier 2082845 2082863 + Identifier 2082864 2082873 + Identifier 2082874 2082876 + IfStatement 2082878 2083139 + CallExpression 2082900 2082936 + Identifier 2082900 2082925 + Identifier 2082926 2082935 + Block 2082937 2083139 + VariableStatement 2082939 2083047 + VariableDeclarationList 2082939 2083046 + VariableDeclaration 2082966 2083046 + Identifier 2082966 2082974 + CallExpression 2082976 2083046 + Identifier 2082976 2083010 + Identifier 2083011 2083014 + Identifier 2083015 2083025 + Identifier 2083026 2083034 + Identifier 2083035 2083045 + ExpressionStatement 2083047 2083120 + CallExpression 2083047 2083119 + Identifier 2083047 2083079 + PropertyAccessExpression 2083080 2083098 + Identifier 2083080 2083087 + Identifier 2083088 2083098 + Identifier 2083099 2083107 + Identifier 2083108 2083118 + IfStatement 2083165 2083423 + BinaryExpression 2083181 2083228 + Identifier 2083181 2083189 + AmpersandAmpersandToken 2083189 2083192 + CallExpression 2083192 2083228 + Identifier 2083192 2083218 + Identifier 2083219 2083227 + Block 2083229 2083423 + VariableStatement 2083231 2083345 + VariableDeclarationList 2083231 2083344 + VariableDeclaration 2083250 2083344 + Identifier 2083250 2083261 + CallExpression 2083263 2083344 + Identifier 2083263 2083285 + Identifier 2083286 2083290 + Identifier 2083291 2083300 + PropertyAccessExpression 2083301 2083313 + Identifier 2083301 2083306 + Identifier 2083307 2083313 + Identifier 2083314 2083323 + Identifier 2083324 2083332 + Identifier 2083333 2083343 + ExpressionStatement 2083345 2083412 + CallExpression 2083345 2083411 + Identifier 2083345 2083369 + PropertyAccessExpression 2083370 2083388 + Identifier 2083370 2083377 + Identifier 2083378 2083388 + Identifier 2083389 2083400 + Identifier 2083401 2083410 + ReturnStatement 2083423 2083468 + CallExpression 2083441 2083467 + Identifier 2083441 2083458 + Identifier 2083459 2083466 + FunctionDeclaration 2083475 2083966 + Identifier 2083491 2083518 + Parameter 2083519 2083529 + Identifier 2083519 2083523 + TypeReference 2083524 2083529 + Identifier 2083524 2083529 + Block 2083530 2083966 + ReturnStatement 2083532 2083959 + ConditionalExpression 2083548 2083958 + BinaryExpression 2083548 2083577 + PropertyAccessExpression 2083548 2083559 + Identifier 2083548 2083553 + Identifier 2083554 2083559 + AmpersandToken 2083559 2083561 + PropertyAccessExpression 2083561 2083577 + Identifier 2083561 2083571 + Identifier 2083572 2083577 + QuestionToken 2083577 2083579 + CallExpression 2083579 2083621 + Identifier 2083579 2083587 + Identifier 2083588 2083592 + Identifier 2083593 2083620 + ColonToken 2083621 2083623 + ConditionalExpression 2083623 2083958 + BinaryExpression 2083623 2083727 + BinaryExpression 2083623 2083663 + PropertyAccessExpression 2083623 2083647 + Identifier 2083623 2083641 + Identifier 2083642 2083647 + AmpersandToken 2083647 2083649 + PropertyAccessExpression 2083649 2083663 + Identifier 2083649 2083659 + Identifier 2083660 2083663 + BarBarToken 2083663 2083666 + CallExpression 2083666 2083727 + Identifier 2083666 2083688 + BinaryExpression 2083689 2083726 + CallExpression 2083689 2083718 + Identifier 2083689 2083712 + Identifier 2083713 2083717 + BarBarToken 2083718 2083721 + Identifier 2083721 2083726 + QuestionToken 2083727 2083729 + Identifier 2083729 2083734 + ColonToken 2083734 2083736 + ConditionalExpression 2083736 2083958 + CallExpression 2083736 2083767 + Identifier 2083736 2083761 + Identifier 2083762 2083766 + QuestionToken 2083767 2083769 + CallExpression 2083769 2083894 + Identifier 2083769 2083785 + CallExpression 2083786 2083807 + Identifier 2083786 2083801 + Identifier 2083802 2083806 + PropertyAccessExpression 2083808 2083833 + PropertyAccessExpression 2083808 2083820 + Identifier 2083808 2083813 + Identifier 2083814 2083820 + Identifier 2083821 2083833 + FalseKeyword 2083834 2083853 + PropertyAccessExpression 2083854 2083893 + PropertyAccessExpression 2083854 2083866 + Identifier 2083854 2083859 + Identifier 2083860 2083866 + Identifier 2083867 2083893 + ColonToken 2083894 2083896 + CallExpression 2083896 2083958 + Identifier 2083896 2083925 + ArrayLiteralExpression 2083926 2083932 + Identifier 2083927 2083931 + ArrayLiteralExpression 2083933 2083957 + PropertyAccessExpression 2083935 2083956 + Identifier 2083935 2083947 + Identifier 2083948 2083956 + FunctionDeclaration 2083966 2087207 + Identifier 2083982 2084004 + Parameter 2084005 2084032 + Identifier 2084005 2084009 + TypeOperator 2084010 2084032 + ArrayType 2084019 2084032 + TypeReference 2084019 2084030 + Identifier 2084019 2084030 + Parameter 2084033 2084047 + Identifier 2084033 2084039 + NumberKeyword 2084040 2084047 + Parameter 2084048 2084065 + Identifier 2084048 2084057 + NumberKeyword 2084058 2084065 + Parameter 2084066 2084081 + Identifier 2084066 2084075 + TypeReference 2084076 2084081 + Identifier 2084076 2084081 + Parameter 2084082 2084120 + Identifier 2084082 2084090 + UnionType 2084091 2084120 + TypeReference 2084091 2084108 + Identifier 2084091 2084108 + UndefinedKeyword 2084110 2084120 + Parameter 2084121 2084142 + Identifier 2084121 2084131 + TypeReference 2084132 2084142 + Identifier 2084132 2084142 + Block 2084143 2087207 + VariableStatement 2084145 2084208 + VariableDeclarationList 2084145 2084207 + VariableDeclaration 2084160 2084207 + Identifier 2084160 2084175 + CallExpression 2084177 2084207 + Identifier 2084177 2084197 + Identifier 2084198 2084206 + IfStatement 2084208 2085131 + BinaryExpression 2084224 2084245 + Identifier 2084224 2084229 + GreaterThanEqualsToken 2084229 2084232 + BinaryExpression 2084232 2084245 + Identifier 2084232 2084241 + MinusToken 2084241 2084243 + NumericLiteral 2084243 2084245 + Block 2084246 2085131 + VariableStatement 2084248 2084293 + VariableDeclarationList 2084248 2084292 + VariableDeclaration 2084267 2084292 + Identifier 2084267 2084271 + ElementAccessExpression 2084273 2084292 + Identifier 2084273 2084278 + BinaryExpression 2084279 2084291 + Identifier 2084279 2084287 + MinusToken 2084287 2084289 + NumericLiteral 2084289 2084291 + IfStatement 2084293 2085120 + CallExpression 2084311 2084332 + Identifier 2084311 2084327 + Identifier 2084328 2084331 + Block 2084333 2085120 + VariableStatement 2084335 2084744 + VariableDeclarationList 2084335 2084743 + VariableDeclaration 2084528 2084743 + Identifier 2084528 2084539 + ConditionalExpression 2084541 2084743 + BinaryExpression 2084541 2084585 + PropertyAccessExpression 2084541 2084550 + Identifier 2084541 2084545 + Identifier 2084546 2084550 + EqualsEqualsEqualsToken 2084550 2084554 + PropertyAccessExpression 2084554 2084585 + Identifier 2084554 2084565 + Identifier 2084566 2084585 + QuestionToken 2084585 2084587 + PropertyAccessExpression 2084587 2084621 + ParenthesizedExpression 2084587 2084616 + AsExpression 2084589 2084615 + Identifier 2084589 2084592 + TypeReference 2084595 2084615 + Identifier 2084595 2084615 + Identifier 2084617 2084621 + ColonToken 2084621 2084623 + CallExpression 2084623 2084743 + Identifier 2084623 2084678 + PropertyAccessExpression 2084679 2084712 + ParenthesizedExpression 2084679 2084701 + AsExpression 2084680 2084700 + Identifier 2084680 2084683 + TypeReference 2084686 2084700 + Identifier 2084686 2084700 + Identifier 2084702 2084712 + Identifier 2084713 2084722 + Identifier 2084723 2084731 + Identifier 2084732 2084742 + IfStatement 2084744 2084885 + CallExpression 2084768 2084795 + Identifier 2084768 2084783 + Identifier 2084784 2084794 + Block 2084796 2084885 + ReturnStatement 2084798 2084866 + CallExpression 2084826 2084865 + Identifier 2084826 2084853 + Identifier 2084854 2084864 + ReturnStatement 2084885 2085105 + CallExpression 2084911 2085104 + Identifier 2084911 2084927 + CallExpression 2084928 2085087 + Identifier 2084928 2084958 + PropertyAccessExpression 2084959 2084978 + Identifier 2084959 2084971 + Identifier 2084972 2084978 + Identifier 2084979 2084990 + Identifier 2084991 2085005 + ConditionalExpression 2085006 2085086 + BinaryExpression 2085006 2085044 + PropertyAccessExpression 2085006 2085015 + Identifier 2085006 2085010 + Identifier 2085011 2085015 + EqualsEqualsEqualsToken 2085015 2085019 + PropertyAccessExpression 2085019 2085044 + Identifier 2085019 2085030 + Identifier 2085031 2085044 + QuestionToken 2085044 2085046 + PropertyAccessExpression 2085046 2085080 + ParenthesizedExpression 2085046 2085069 + AsExpression 2085048 2085068 + Identifier 2085048 2085051 + TypeReference 2085054 2085068 + Identifier 2085054 2085068 + Identifier 2085070 2085080 + ColonToken 2085080 2085082 + Identifier 2085082 2085086 + Identifier 2085088 2085103 + VariableStatement 2085131 2085158 + VariableDeclarationList 2085131 2085157 + VariableDeclaration 2085146 2085157 + Identifier 2085146 2085152 + ArrayLiteralExpression 2085154 2085157 + VariableStatement 2085158 2085185 + VariableDeclarationList 2085158 2085184 + VariableDeclaration 2085173 2085184 + Identifier 2085173 2085179 + ArrayLiteralExpression 2085181 2085184 + VariableStatement 2085185 2085212 + VariableDeclarationList 2085185 2085211 + VariableDeclaration 2085200 2085211 + Identifier 2085200 2085206 + ArrayLiteralExpression 2085208 2085211 + ForStatement 2085212 2087083 + VariableDeclarationList 2085227 2085240 + VariableDeclaration 2085230 2085240 + Identifier 2085230 2085232 + Identifier 2085234 2085240 + BinaryExpression 2085241 2085254 + Identifier 2085241 2085243 + LessThanToken 2085243 2085245 + Identifier 2085245 2085254 + PostfixUnaryExpression 2085255 2085259 + Identifier 2085255 2085257 + Block 2085260 2087083 + VariableStatement 2085262 2085296 + VariableDeclarationList 2085262 2085295 + VariableDeclaration 2085281 2085295 + Identifier 2085281 2085285 + ElementAccessExpression 2085287 2085295 + Identifier 2085287 2085292 + Identifier 2085293 2085294 + IfStatement 2085296 2086794 + CallExpression 2085314 2085335 + Identifier 2085314 2085330 + Identifier 2085331 2085334 + Block 2085336 2085984 + VariableStatement 2085338 2085508 + VariableDeclarationList 2085338 2085507 + VariableDeclaration 2085361 2085507 + Identifier 2085361 2085372 + ConditionalExpression 2085374 2085507 + BinaryExpression 2085374 2085418 + PropertyAccessExpression 2085374 2085383 + Identifier 2085374 2085378 + Identifier 2085379 2085383 + EqualsEqualsEqualsToken 2085383 2085387 + PropertyAccessExpression 2085387 2085418 + Identifier 2085387 2085398 + Identifier 2085399 2085418 + QuestionToken 2085418 2085420 + PropertyAccessExpression 2085420 2085454 + ParenthesizedExpression 2085420 2085449 + AsExpression 2085422 2085448 + Identifier 2085422 2085425 + TypeReference 2085428 2085448 + Identifier 2085428 2085448 + Identifier 2085450 2085454 + ColonToken 2085454 2085456 + CallExpression 2085456 2085507 + Identifier 2085456 2085472 + PropertyAccessExpression 2085473 2085506 + ParenthesizedExpression 2085473 2085495 + AsExpression 2085474 2085494 + Identifier 2085474 2085477 + TypeReference 2085480 2085494 + Identifier 2085480 2085494 + Identifier 2085496 2085506 + IfStatement 2085508 2085969 + CallExpression 2085530 2085557 + Identifier 2085530 2085545 + Identifier 2085546 2085556 + Block 2085558 2085680 + ExpressionStatement 2085560 2085605 + CallExpression 2085560 2085604 + PropertyAccessExpression 2085560 2085592 + Identifier 2085560 2085587 + Identifier 2085588 2085592 + Identifier 2085593 2085603 + ExpressionStatement 2085605 2085661 + CallExpression 2085605 2085660 + PropertyAccessExpression 2085605 2085637 + Identifier 2085605 2085632 + Identifier 2085633 2085637 + PropertyAccessExpression 2085638 2085659 + Identifier 2085638 2085650 + Identifier 2085651 2085659 + Block 2085702 2085969 + ExpressionStatement 2085704 2085898 + CallExpression 2085704 2085897 + PropertyAccessExpression 2085704 2085736 + Identifier 2085704 2085731 + Identifier 2085732 2085736 + CallExpression 2085737 2085896 + Identifier 2085737 2085767 + PropertyAccessExpression 2085768 2085787 + Identifier 2085768 2085780 + Identifier 2085781 2085787 + Identifier 2085788 2085799 + Identifier 2085800 2085814 + ConditionalExpression 2085815 2085895 + BinaryExpression 2085815 2085853 + PropertyAccessExpression 2085815 2085824 + Identifier 2085815 2085819 + Identifier 2085820 2085824 + EqualsEqualsEqualsToken 2085824 2085828 + PropertyAccessExpression 2085828 2085853 + Identifier 2085828 2085839 + Identifier 2085840 2085853 + QuestionToken 2085853 2085855 + PropertyAccessExpression 2085855 2085889 + ParenthesizedExpression 2085855 2085878 + AsExpression 2085857 2085877 + Identifier 2085857 2085860 + TypeReference 2085863 2085877 + Identifier 2085863 2085877 + Identifier 2085879 2085889 + ColonToken 2085889 2085891 + Identifier 2085891 2085895 + ExpressionStatement 2085898 2085950 + CallExpression 2085898 2085949 + PropertyAccessExpression 2085898 2085930 + Identifier 2085898 2085925 + Identifier 2085926 2085930 + PropertyAccessExpression 2085931 2085948 + Identifier 2085931 2085943 + Identifier 2085944 2085948 + Block 2086002 2086794 + VariableStatement 2086004 2086293 + VariableDeclarationList 2086004 2086292 + VariableDeclaration 2086027 2086292 + Identifier 2086027 2086042 + ConditionalExpression 2086044 2086292 + CallExpression 2086044 2086066 + Identifier 2086044 2086056 + Identifier 2086057 2086065 + QuestionToken 2086066 2086068 + BinaryExpression 2086068 2086181 + CallExpression 2086068 2086166 + Identifier 2086068 2086127 + Identifier 2086128 2086136 + BinaryExpression 2086137 2086147 + Identifier 2086137 2086139 + MinusToken 2086139 2086141 + Identifier 2086141 2086147 + BinaryExpression 2086148 2086165 + Identifier 2086148 2086157 + MinusToken 2086157 2086159 + Identifier 2086159 2086165 + BarBarToken 2086166 2086169 + Identifier 2086169 2086181 + ColonToken 2086181 2086183 + CallExpression 2086183 2086292 + Identifier 2086183 2086225 + Identifier 2086226 2086234 + CallExpression 2086235 2086267 + Identifier 2086235 2086256 + BinaryExpression 2086257 2086266 + Identifier 2086257 2086258 + MinusToken 2086258 2086260 + Identifier 2086260 2086266 + PropertyAccessExpression 2086268 2086291 + Identifier 2086268 2086280 + Identifier 2086281 2086291 + VariableStatement 2086293 2086402 + VariableDeclarationList 2086293 2086401 + VariableDeclaration 2086316 2086401 + Identifier 2086316 2086324 + CallExpression 2086326 2086401 + Identifier 2086326 2086360 + Identifier 2086361 2086364 + Identifier 2086365 2086380 + Identifier 2086381 2086389 + Identifier 2086390 2086400 + VariableStatement 2086402 2086598 + VariableDeclarationList 2086402 2086597 + VariableDeclaration 2086425 2086597 + Identifier 2086425 2086452 + BinaryExpression 2086454 2086597 + Identifier 2086454 2086469 + BarBarToken 2086469 2086472 + CallExpression 2086472 2086597 + Identifier 2086472 2086488 + Identifier 2086489 2086503 + BinaryExpression 2086504 2086596 + BinaryExpression 2086504 2086570 + BinaryExpression 2086504 2086542 + PropertyAccessExpression 2086504 2086524 + Identifier 2086504 2086514 + Identifier 2086515 2086524 + BarToken 2086524 2086526 + PropertyAccessExpression 2086526 2086542 + Identifier 2086526 2086536 + Identifier 2086537 2086542 + BarToken 2086542 2086544 + PropertyAccessExpression 2086544 2086570 + Identifier 2086544 2086554 + Identifier 2086555 2086570 + BarToken 2086570 2086572 + PropertyAccessExpression 2086572 2086596 + Identifier 2086572 2086582 + Identifier 2086583 2086596 + ExpressionStatement 2086598 2086727 + CallExpression 2086598 2086726 + PropertyAccessExpression 2086598 2086626 + Identifier 2086598 2086621 + Identifier 2086622 2086626 + ConditionalExpression 2086627 2086725 + Identifier 2086627 2086653 + QuestionToken 2086653 2086655 + CallExpression 2086655 2086692 + Identifier 2086655 2086683 + Identifier 2086684 2086691 + ColonToken 2086692 2086694 + CallExpression 2086694 2086725 + Identifier 2086694 2086716 + Identifier 2086717 2086724 + ExpressionStatement 2086727 2086779 + CallExpression 2086727 2086778 + PropertyAccessExpression 2086727 2086755 + Identifier 2086727 2086750 + Identifier 2086751 2086755 + PropertyAccessExpression 2086756 2086777 + Identifier 2086756 2086768 + Identifier 2086769 2086777 + IfStatement 2086794 2087072 + BinaryExpression 2086812 2086903 + BinaryExpression 2086812 2086855 + PropertyAccessExpression 2086812 2086820 + Identifier 2086812 2086815 + Identifier 2086816 2086820 + EqualsEqualsEqualsToken 2086820 2086824 + PropertyAccessExpression 2086824 2086855 + Identifier 2086824 2086835 + Identifier 2086836 2086855 + AmpersandAmpersandToken 2086855 2086858 + PropertyAccessExpression 2086858 2086903 + ParenthesizedExpression 2086858 2086887 + AsExpression 2086860 2086886 + Identifier 2086860 2086863 + TypeReference 2086866 2086886 + Identifier 2086866 2086886 + Identifier 2086888 2086903 + Block 2086904 2086997 + ExpressionStatement 2086906 2086982 + CallExpression 2086906 2086981 + PropertyAccessExpression 2086906 2086934 + Identifier 2086906 2086929 + Identifier 2086930 2086934 + NonNullExpression 2086935 2086980 + PropertyAccessExpression 2086935 2086979 + ParenthesizedExpression 2086935 2086963 + AsExpression 2086936 2086962 + Identifier 2086936 2086939 + TypeReference 2086942 2086962 + Identifier 2086942 2086962 + Identifier 2086964 2086979 + Block 2087015 2087072 + ExpressionStatement 2087017 2087057 + CallExpression 2087017 2087056 + PropertyAccessExpression 2087017 2087045 + Identifier 2087017 2087040 + Identifier 2087041 2087045 + Identifier 2087046 2087055 + ReturnStatement 2087083 2087200 + CallExpression 2087099 2087199 + Identifier 2087099 2087115 + Identifier 2087116 2087121 + Identifier 2087122 2087128 + BinaryExpression 2087129 2087191 + Identifier 2087129 2087144 + AmpersandAmpersandToken 2087144 2087147 + PrefixUnaryExpression 2087147 2087191 + CallExpression 2087149 2087191 + Identifier 2087149 2087157 + Identifier 2087158 2087166 + Identifier 2087167 2087190 + Identifier 2087192 2087198 + FunctionDeclaration 2087207 2089065 + Identifier 2087223 2087242 + Parameter 2087243 2087263 + Identifier 2087243 2087252 + TypeReference 2087253 2087263 + Identifier 2087253 2087263 + Parameter 2087264 2087303 + Identifier 2087264 2087282 + TypeOperator 2087283 2087303 + ArrayType 2087292 2087303 + TypeReference 2087292 2087301 + Identifier 2087292 2087301 + Parameter 2087304 2087326 + Identifier 2087304 2087317 + BooleanKeyword 2087318 2087326 + Parameter 2087327 2087359 + Identifier 2087327 2087339 + QuestionToken 2087339 2087340 + TypeReference 2087341 2087359 + Identifier 2087341 2087359 + UnionType 2087361 2087380 + ArrayType 2087361 2087368 + TypeReference 2087361 2087366 + Identifier 2087361 2087366 + UndefinedKeyword 2087370 2087380 + Block 2087380 2089065 + VariableStatement 2087382 2087447 + VariableDeclarationList 2087382 2087446 + VariableDeclaration 2087397 2087446 + Identifier 2087397 2087410 + CallExpression 2087412 2087446 + Identifier 2087412 2087423 + PropertyAccessExpression 2087424 2087445 + Identifier 2087424 2087433 + Identifier 2087434 2087445 + VariableStatement 2087447 2087506 + VariableDeclarationList 2087447 2087505 + VariableDeclaration 2087462 2087505 + Identifier 2087462 2087477 + NonNullExpression 2087479 2087505 + PropertyAccessExpression 2087479 2087504 + Identifier 2087479 2087489 + Identifier 2087490 2087504 + VariableStatement 2087506 2087683 + VariableDeclarationList 2087506 2087682 + VariableDeclaration 2087521 2087682 + Identifier 2087521 2087539 + CallExpression 2087541 2087682 + Identifier 2087541 2087566 + CallExpression 2087567 2087610 + Identifier 2087567 2087570 + Identifier 2087571 2087588 + Identifier 2087589 2087609 + Identifier 2087611 2087626 + CallExpression 2087627 2087667 + Identifier 2087627 2087651 + Identifier 2087652 2087666 + Identifier 2087668 2087681 + VariableStatement 2087683 2087728 + VariableDeclarationList 2087683 2087727 + VariableDeclaration 2087696 2087727 + Identifier 2087696 2087703 + UnionType 2087704 2087727 + TypeReference 2087704 2087715 + Identifier 2087704 2087715 + UndefinedKeyword 2087717 2087727 + ForStatement 2087728 2089023 + VariableDeclarationList 2087743 2087752 + VariableDeclaration 2087746 2087752 + Identifier 2087746 2087748 + NumericLiteral 2087750 2087752 + BinaryExpression 2087753 2087782 + Identifier 2087753 2087755 + LessThanToken 2087755 2087757 + PropertyAccessExpression 2087757 2087782 + Identifier 2087757 2087775 + Identifier 2087776 2087782 + PostfixUnaryExpression 2087783 2087787 + Identifier 2087783 2087785 + Block 2087788 2089023 + ExpressionStatement 2087790 2087917 + CallExpression 2087790 2087916 + PropertyAccessExpression 2087790 2087816 + Identifier 2087790 2087809 + Identifier 2087810 2087816 + BinaryExpression 2087817 2087848 + ElementAccessExpression 2087817 2087834 + Identifier 2087817 2087831 + Identifier 2087832 2087833 + ExclamationEqualsEqualsToken 2087834 2087838 + Identifier 2087838 2087848 + StringLiteral 2087849 2087915 + VariableStatement 2087917 2087998 + VariableDeclarationList 2087917 2087997 + VariableDeclaration 2087936 2087997 + Identifier 2087936 2087947 + CallExpression 2087949 2087997 + Identifier 2087949 2087978 + ElementAccessExpression 2087979 2087996 + Identifier 2087979 2087993 + Identifier 2087994 2087995 + IfStatement 2087998 2089012 + Identifier 2088016 2088026 + Block 2088027 2089012 + VariableStatement 2088029 2088216 + VariableDeclarationList 2088029 2088215 + VariableDeclaration 2088052 2088215 + Identifier 2088052 2088062 + ConditionalExpression 2088064 2088215 + BinaryExpression 2088064 2088092 + Identifier 2088064 2088077 + AmpersandAmpersandToken 2088077 2088080 + Identifier 2088080 2088092 + QuestionToken 2088092 2088094 + ParenthesizedExpression 2088094 2088203 + ArrowFunction 2088096 2088202 + EqualsGreaterThanToken 2088098 2088101 + CallExpression 2088101 2088202 + Identifier 2088101 2088125 + Identifier 2088126 2088147 + PropertyAccessExpression 2088148 2088201 + Identifier 2088148 2088160 + Identifier 2088161 2088201 + ColonToken 2088203 2088205 + Identifier 2088205 2088215 + VariableStatement 2088216 2088334 + VariableDeclarationList 2088216 2088333 + VariableDeclaration 2088239 2088333 + Identifier 2088239 2088263 + BinaryExpression 2088265 2088333 + Identifier 2088265 2088277 + BarBarToken 2088277 2088280 + PropertyAccessExpression 2088280 2088333 + Identifier 2088280 2088292 + Identifier 2088293 2088333 + IfStatement 2088334 2088468 + PrefixUnaryExpression 2088356 2088363 + Identifier 2088357 2088363 + Block 2088364 2088468 + ExpressionStatement 2088366 2088449 + BinaryExpression 2088366 2088448 + Identifier 2088366 2088394 + EqualsToken 2088394 2088396 + CallExpression 2088396 2088448 + Identifier 2088396 2088413 + Identifier 2088414 2088428 + Identifier 2088429 2088447 + VariableStatement 2088468 2088528 + VariableDeclarationList 2088468 2088527 + VariableDeclaration 2088491 2088527 + Identifier 2088491 2088504 + ElementAccessExpression 2088506 2088527 + Identifier 2088506 2088524 + Identifier 2088525 2088526 + IfStatement 2088528 2088997 + PrefixUnaryExpression 2088550 2088918 + CallExpression 2088573 2088918 + Identifier 2088573 2088594 + Identifier 2088595 2088633 + CallExpression 2088634 2088734 + Identifier 2088634 2088683 + CallExpression 2088684 2088719 + Identifier 2088684 2088699 + Identifier 2088700 2088710 + Identifier 2088711 2088718 + Identifier 2088720 2088733 + ConditionalExpression 2088735 2088808 + Identifier 2088735 2088773 + QuestionToken 2088773 2088775 + ElementAccessExpression 2088775 2088796 + Identifier 2088775 2088793 + Identifier 2088794 2088795 + ColonToken 2088796 2088798 + Identifier 2088798 2088808 + Identifier 2088809 2088858 + Identifier 2088859 2088894 + Block 2088937 2088997 + ReturnStatement 2088939 2088978 + Identifier 2088967 2088977 + ReturnStatement 2089023 2089058 + Identifier 2089039 2089057 + FunctionDeclaration 2089065 2089645 + Identifier 2089081 2089101 + Parameter 2089102 2089129 + Identifier 2089102 2089106 + TypeReference 2089107 2089129 + Identifier 2089107 2089129 + TypeReference 2089131 2089148 + Identifier 2089131 2089148 + Block 2089148 2089645 + IfStatement 2089150 2089257 + CallExpression 2089164 2089199 + Identifier 2089164 2089185 + PropertyAccessExpression 2089186 2089198 + Identifier 2089186 2089190 + Identifier 2089191 2089198 + Block 2089200 2089257 + ReturnStatement 2089202 2089246 + PropertyAccessExpression 2089222 2089245 + Identifier 2089222 2089239 + Identifier 2089240 2089245 + VariableStatement 2089257 2089330 + VariableDeclarationList 2089257 2089329 + VariableDeclaration 2089272 2089329 + Identifier 2089272 2089280 + CallExpression 2089282 2089329 + Identifier 2089282 2089298 + CallExpression 2089299 2089328 + Identifier 2089299 2089314 + PropertyAccessExpression 2089315 2089327 + Identifier 2089315 2089319 + Identifier 2089320 2089327 + IfStatement 2089330 2089467 + CallExpression 2089344 2089405 + Identifier 2089344 2089350 + CallExpression 2089351 2089404 + Identifier 2089351 2089370 + Identifier 2089371 2089378 + PropertyAccessExpression 2089379 2089403 + Identifier 2089379 2089393 + Identifier 2089394 2089403 + Block 2089406 2089467 + ReturnStatement 2089408 2089456 + PropertyAccessExpression 2089428 2089455 + Identifier 2089428 2089445 + Identifier 2089446 2089455 + IfStatement 2089467 2089598 + CallExpression 2089481 2089537 + Identifier 2089481 2089487 + CallExpression 2089488 2089536 + Identifier 2089488 2089507 + Identifier 2089508 2089515 + PropertyAccessExpression 2089516 2089535 + Identifier 2089516 2089530 + Identifier 2089531 2089535 + Block 2089538 2089598 + ReturnStatement 2089540 2089587 + PropertyAccessExpression 2089560 2089586 + Identifier 2089560 2089577 + Identifier 2089578 2089586 + ReturnStatement 2089598 2089638 + PropertyAccessExpression 2089614 2089637 + Identifier 2089614 2089631 + Identifier 2089632 2089637 + FunctionDeclaration 2089645 2096262 + Identifier 2090042 2090088 + Parameter 2090089 2090116 + Identifier 2090089 2090103 + TypeReference 2090104 2090116 + Identifier 2090104 2090116 + Parameter 2090117 2090147 + Identifier 2090117 2090136 + TypeReference 2090137 2090147 + Identifier 2090137 2090147 + Parameter 2090148 2090205 + Identifier 2090148 2090166 + TypeReference 2090167 2090205 + Identifier 2090167 2090171 + StringKeyword 2090172 2090178 + TypeReference 2090179 2090204 + Identifier 2090179 2090204 + Parameter 2090206 2090236 + Identifier 2090206 2090225 + TypeReference 2090226 2090236 + Identifier 2090226 2090236 + Parameter 2090237 2090268 + Identifier 2090237 2090259 + BooleanKeyword 2090260 2090268 + Parameter 2090269 2090357 + Identifier 2090269 2090301 + UnionType 2090302 2090357 + ParenthesizedType 2090302 2090345 + FunctionType 2090304 2090344 + UnionType 2090309 2090344 + TypeReference 2090309 2090332 + Identifier 2090309 2090332 + UndefinedKeyword 2090334 2090344 + UndefinedKeyword 2090347 2090357 + Parameter 2090358 2090410 + Identifier 2090358 2090388 + TypeReference 2090389 2090410 + Identifier 2090389 2090410 + Block 2090418 2096262 + VariableStatement 2090420 2090808 + VariableDeclarationList 2090420 2090807 + VariableDeclaration 2090737 2090807 + Identifier 2090737 2090747 + CallExpression 2090749 2090807 + Identifier 2090749 2090790 + Identifier 2090791 2090800 + Identifier 2090801 2090806 + VariableStatement 2090808 2091029 + VariableDeclarationList 2090808 2091028 + VariableDeclaration 2090823 2091028 + Identifier 2090823 2090838 + ConditionalExpression 2090840 2091028 + CallExpression 2090840 2090867 + Identifier 2090840 2090861 + Identifier 2090862 2090866 + QuestionToken 2090867 2090869 + CallExpression 2090869 2090921 + Identifier 2090869 2090915 + Identifier 2090916 2090920 + ColonToken 2090921 2090923 + CallExpression 2090923 2091028 + Identifier 2090923 2090957 + PropertyAccessExpression 2090958 2090973 + Identifier 2090958 2090962 + Identifier 2090963 2090973 + Identifier 2090974 2090984 + Identifier 2090985 2091016 + Identifier 2091017 2091027 + VariableStatement 2091029 2091175 + VariableDeclarationList 2091029 2091174 + VariableDeclaration 2091044 2091174 + Identifier 2091044 2091064 + ConditionalExpression 2091066 2091174 + BinaryExpression 2091066 2091109 + Identifier 2091066 2091076 + AmpersandToken 2091076 2091078 + PropertyAccessExpression 2091078 2091109 + Identifier 2091078 2091088 + Identifier 2091089 2091109 + QuestionToken 2091109 2091111 + CallExpression 2091111 2091157 + Identifier 2091111 2091141 + Identifier 2091142 2091156 + ColonToken 2091157 2091159 + Identifier 2091159 2091174 + ReturnStatement 2091175 2091646 + BinaryExpression 2091191 2091645 + CallExpression 2091191 2091235 + Identifier 2091191 2091233 + AmpersandAmpersandToken 2091235 2091238 + CallExpression 2091238 2091645 + Identifier 2091238 2091279 + Identifier 2091280 2091313 + Identifier 2091314 2091337 + Identifier 2091338 2091360 + ConditionalExpression 2091361 2091450 + Identifier 2091361 2091387 + QuestionToken 2091387 2091389 + ConditionalExpression 2091389 2091438 + CallExpression 2091389 2091416 + Identifier 2091389 2091410 + Identifier 2091411 2091415 + QuestionToken 2091416 2091418 + Identifier 2091418 2091423 + ColonToken 2091423 2091425 + PropertyAccessExpression 2091425 2091438 + Identifier 2091425 2091430 + Identifier 2091431 2091438 + ColonToken 2091438 2091440 + Identifier 2091440 2091450 + ConditionalExpression 2091451 2091521 + CallExpression 2091451 2091491 + Identifier 2091451 2091485 + Identifier 2091486 2091490 + QuestionToken 2091491 2091493 + Identifier 2091493 2091503 + ColonToken 2091503 2091505 + PropertyAccessExpression 2091505 2091521 + Identifier 2091505 2091510 + Identifier 2091511 2091521 + Identifier 2091522 2091561 + Identifier 2091562 2091598 + Identifier 2091599 2091633 + FunctionDeclaration 2091646 2096255 + Identifier 2091666 2091708 + BooleanKeyword 2091711 2091719 + Block 2091719 2096255 + IfStatement 2091721 2091996 + CallExpression 2091739 2091786 + Identifier 2091739 2091780 + Identifier 2091781 2091785 + Block 2091787 2091996 + ReturnStatement 2091789 2091819 + TrueKeyword 2091813 2091818 + VariableStatement 2091996 2092311 + VariableDeclarationList 2091996 2092310 + VariableDeclaration 2092116 2092310 + Identifier 2092116 2092124 + ConditionalExpression 2092126 2092310 + BinaryExpression 2092126 2092266 + ParenthesizedExpression 2092126 2092187 + BinaryExpression 2092128 2092186 + CallExpression 2092128 2092153 + Identifier 2092128 2092147 + Identifier 2092148 2092152 + BarBarToken 2092153 2092156 + CallExpression 2092156 2092186 + Identifier 2092156 2092180 + Identifier 2092181 2092185 + AmpersandAmpersandToken 2092187 2092190 + PrefixUnaryExpression 2092190 2092266 + ParenthesizedExpression 2092192 2092266 + BinaryExpression 2092193 2092265 + CallExpression 2092193 2092228 + Identifier 2092193 2092214 + PropertyAccessExpression 2092215 2092227 + Identifier 2092215 2092219 + Identifier 2092220 2092227 + BarBarToken 2092228 2092231 + CallExpression 2092231 2092265 + Identifier 2092231 2092251 + PropertyAccessExpression 2092252 2092264 + Identifier 2092252 2092256 + Identifier 2092257 2092264 + QuestionToken 2092266 2092268 + CallExpression 2092268 2092298 + Identifier 2092268 2092284 + PropertyAccessExpression 2092285 2092297 + Identifier 2092285 2092289 + Identifier 2092290 2092297 + ColonToken 2092298 2092300 + Identifier 2092300 2092310 + IfStatement 2092311 2092385 + PrefixUnaryExpression 2092329 2092337 + Identifier 2092330 2092337 + Block 2092338 2092385 + ReturnStatement 2092340 2092370 + TrueKeyword 2092364 2092369 + VariableStatement 2092385 2092474 + VariableDeclarationList 2092385 2092473 + VariableDeclaration 2092404 2092473 + Identifier 2092404 2092422 + CallExpression 2092424 2092473 + Identifier 2092424 2092444 + Identifier 2092445 2092452 + PropertyAccessExpression 2092453 2092472 + Identifier 2092453 2092467 + Identifier 2092468 2092472 + IfStatement 2092474 2092566 + PrefixUnaryExpression 2092492 2092518 + CallExpression 2092493 2092518 + Identifier 2092493 2092499 + Identifier 2092500 2092517 + Block 2092519 2092566 + ReturnStatement 2092521 2092551 + TrueKeyword 2092545 2092550 + VariableStatement 2092566 2092622 + VariableDeclarationList 2092566 2092621 + VariableDeclaration 2092585 2092621 + Identifier 2092585 2092593 + CallExpression 2092595 2092621 + Identifier 2092595 2092615 + Identifier 2092616 2092620 + IfStatement 2092622 2092696 + PrefixUnaryExpression 2092640 2092648 + Identifier 2092641 2092648 + Block 2092649 2092696 + ReturnStatement 2092651 2092681 + TrueKeyword 2092675 2092680 + VariableStatement 2092696 2092835 + VariableDeclarationList 2092696 2092834 + VariableDeclaration 2092715 2092834 + Identifier 2092715 2092729 + CallExpression 2092731 2092834 + Identifier 2092731 2092749 + Identifier 2092750 2092757 + PropertyAccessExpression 2092758 2092776 + Identifier 2092758 2092770 + Identifier 2092771 2092776 + TrueKeyword 2092777 2092799 + FalseKeyword 2092800 2092827 + Identifier 2092828 2092833 + IfStatement 2092835 2092915 + PrefixUnaryExpression 2092853 2092867 + Identifier 2092854 2092867 + Block 2092868 2092915 + ReturnStatement 2092870 2092900 + TrueKeyword 2092894 2092899 + VariableStatement 2092915 2092982 + VariableDeclarationList 2092915 2092981 + VariableDeclaration 2092936 2092981 + Identifier 2092936 2092948 + CallExpression 2092950 2092981 + Identifier 2092950 2092966 + Identifier 2092967 2092980 + VariableStatement 2092982 2093072 + VariableDeclarationList 2092982 2093071 + VariableDeclaration 2093001 2093071 + Identifier 2093001 2093016 + CallExpression 2093018 2093071 + Identifier 2093018 2093038 + Identifier 2093039 2093050 + PropertyAccessExpression 2093051 2093070 + Identifier 2093051 2093065 + Identifier 2093066 2093070 + IfStatement 2093072 2093161 + PrefixUnaryExpression 2093090 2093113 + CallExpression 2093091 2093113 + Identifier 2093091 2093097 + Identifier 2093098 2093112 + Block 2093114 2093161 + ReturnStatement 2093116 2093146 + TrueKeyword 2093140 2093145 + VariableStatement 2093161 2093213 + VariableDeclarationList 2093161 2093212 + VariableDeclaration 2093180 2093212 + Identifier 2093180 2093204 + FalseKeyword 2093206 2093212 + VariableStatement 2093213 2093249 + VariableDeclarationList 2093213 2093248 + VariableDeclaration 2093230 2093248 + Identifier 2093230 2093244 + NumericLiteral 2093246 2093248 + ForOfStatement 2093249 2094241 + VariableDeclarationList 2093419 2093428 + VariableDeclaration 2093424 2093428 + Identifier 2093424 2093428 + Identifier 2093431 2093446 + Block 2093447 2094241 + VariableStatement 2093449 2093512 + VariableDeclarationList 2093449 2093511 + VariableDeclaration 2093472 2093511 + Identifier 2093472 2093483 + CallExpression 2093485 2093511 + Identifier 2093485 2093503 + Identifier 2093504 2093507 + NumericLiteral 2093508 2093510 + VariableStatement 2093512 2093608 + VariableDeclarationList 2093512 2093607 + VariableDeclaration 2093535 2093607 + Identifier 2093535 2093553 + CallExpression 2093555 2093607 + Identifier 2093555 2093575 + Identifier 2093576 2093586 + PropertyAccessExpression 2093587 2093606 + Identifier 2093587 2093601 + Identifier 2093602 2093606 + IfStatement 2093608 2093667 + PrefixUnaryExpression 2093630 2093656 + CallExpression 2093631 2093656 + Identifier 2093631 2093637 + Identifier 2093638 2093655 + ContinueStatement 2093657 2093667 + ForOfStatement 2093667 2094226 + VariableDeclarationList 2093690 2093704 + VariableDeclaration 2093695 2093704 + Identifier 2093695 2093704 + Identifier 2093707 2093725 + Block 2093726 2094226 + ExpressionStatement 2093728 2093781 + BinaryExpression 2093728 2093780 + Identifier 2093728 2093773 + EqualsToken 2093773 2093775 + TrueKeyword 2093775 2093780 + IfStatement 2093781 2094007 + CallExpression 2093807 2093842 + Identifier 2093807 2093832 + Identifier 2093833 2093841 + Block 2093843 2094007 + ReturnStatement 2093845 2093883 + TrueKeyword 2093877 2093882 + VariableStatement 2094007 2094076 + VariableDeclarationList 2094007 2094075 + VariableDeclaration 2094034 2094075 + Identifier 2094034 2094045 + CallExpression 2094047 2094075 + Identifier 2094047 2094065 + Identifier 2094066 2094074 + IfStatement 2094076 2094207 + BinaryExpression 2094102 2094128 + Identifier 2094102 2094112 + GreaterThanToken 2094112 2094114 + Identifier 2094114 2094128 + Block 2094129 2094207 + ExpressionStatement 2094131 2094184 + BinaryExpression 2094131 2094183 + Identifier 2094131 2094170 + EqualsToken 2094170 2094172 + Identifier 2094172 2094183 + IfStatement 2094241 2094552 + PrefixUnaryExpression 2094259 2094283 + Identifier 2094260 2094283 + Block 2094284 2094552 + ReturnStatement 2094286 2094537 + TrueKeyword 2094531 2094536 + VariableStatement 2094552 2094601 + VariableDeclarationList 2094552 2094600 + VariableDeclaration 2094569 2094600 + Identifier 2094569 2094589 + Identifier 2094591 2094600 + ForOfStatement 2094601 2094894 + VariableDeclarationList 2094620 2094632 + VariableDeclaration 2094625 2094632 + Identifier 2094625 2094632 + Identifier 2094635 2094653 + Block 2094654 2094894 + VariableStatement 2094656 2094730 + VariableDeclarationList 2094656 2094729 + VariableDeclaration 2094679 2094729 + Identifier 2094679 2094699 + CallExpression 2094701 2094729 + Identifier 2094701 2094721 + Identifier 2094722 2094728 + IfStatement 2094730 2094879 + BinaryExpression 2094752 2094793 + Identifier 2094752 2094771 + LessThanToken 2094771 2094773 + Identifier 2094773 2094793 + Block 2094794 2094879 + ExpressionStatement 2094796 2094860 + BinaryExpression 2094796 2094859 + Identifier 2094796 2094837 + EqualsToken 2094837 2094839 + Identifier 2094839 2094859 + IfStatement 2094894 2095078 + BinaryExpression 2094912 2094948 + Identifier 2094912 2094931 + LessThanEqualsToken 2094931 2094934 + Identifier 2094934 2094948 + Block 2094949 2095078 + ReturnStatement 2094951 2094981 + TrueKeyword 2094975 2094980 + IfStatement 2095078 2096217 + Identifier 2095098 2095110 + Block 2095111 2096217 + VariableStatement 2095113 2095329 + VariableDeclarationList 2095113 2095328 + VariableDeclaration 2095258 2095328 + Identifier 2095258 2095266 + PropertyAccessExpression 2095268 2095328 + ParenthesizedExpression 2095268 2095320 + AsExpression 2095270 2095319 + Identifier 2095270 2095274 + UnionType 2095277 2095319 + TypeReference 2095277 2095295 + Identifier 2095277 2095295 + TypeReference 2095297 2095319 + Identifier 2095297 2095319 + Identifier 2095321 2095328 + VariableStatement 2095329 2095576 + VariableDeclarationList 2095329 2095575 + VariableDeclaration 2095352 2095575 + Identifier 2095352 2095357 + CallExpression 2095359 2095575 + Identifier 2095359 2095383 + Identifier 2095384 2095391 + PropertyAccessExpression 2095392 2095480 + Identifier 2095392 2095404 + Identifier 2095405 2095480 + CallExpression 2095481 2095509 + Identifier 2095481 2095500 + Identifier 2095501 2095508 + Identifier 2095510 2095530 + CallExpression 2095531 2095559 + Identifier 2095531 2095550 + Identifier 2095551 2095558 + Identifier 2095560 2095574 + VariableStatement 2095576 2095668 + VariableDeclarationList 2095576 2095667 + VariableDeclaration 2095599 2095667 + Identifier 2095599 2095618 + PropertyAccessExpression 2095620 2095667 + CallExpression 2095620 2095649 + Identifier 2095620 2095640 + Identifier 2095641 2095648 + QuestionDotToken 2095649 2095651 + Identifier 2095651 2095667 + IfStatement 2095668 2095880 + Identifier 2095690 2095708 + Block 2095709 2095880 + ExpressionStatement 2095711 2095861 + CallExpression 2095711 2095860 + Identifier 2095711 2095747 + Identifier 2095748 2095752 + CallExpression 2095753 2095859 + Identifier 2095753 2095777 + Identifier 2095778 2095796 + PropertyAccessExpression 2095797 2095829 + Identifier 2095797 2095809 + Identifier 2095810 2095829 + CallExpression 2095830 2095858 + Identifier 2095830 2095849 + Identifier 2095850 2095857 + IfStatement 2095880 2096081 + BinaryExpression 2095902 2095958 + Identifier 2095902 2095922 + AmpersandAmpersandToken 2095922 2095925 + PropertyAccessExpression 2095925 2095958 + Identifier 2095925 2095946 + Identifier 2095947 2095958 + Block 2095959 2096081 + ExpressionStatement 2095961 2096062 + CallExpression 2095961 2096061 + PropertyAccessExpression 2095961 2096055 + ParenthesizedExpression 2095961 2096050 + BinaryExpression 2095984 2096049 + PropertyAccessExpression 2095984 2096011 + Identifier 2095984 2096004 + Identifier 2096005 2096011 + BarBarToken 2096011 2096014 + ParenthesizedExpression 2096014 2096049 + BinaryExpression 2096016 2096048 + PropertyAccessExpression 2096016 2096043 + Identifier 2096016 2096036 + Identifier 2096037 2096043 + EqualsToken 2096043 2096045 + ArrayLiteralExpression 2096045 2096048 + Identifier 2096051 2096055 + Identifier 2096056 2096060 + IfStatement 2096081 2096202 + PrefixUnaryExpression 2096103 2096136 + PropertyAccessExpression 2096104 2096136 + Identifier 2096104 2096124 + Identifier 2096125 2096136 + Block 2096137 2096202 + ExpressionStatement 2096139 2096183 + CallExpression 2096139 2096182 + PropertyAccessExpression 2096139 2096176 + Identifier 2096139 2096172 + Identifier 2096173 2096176 + Identifier 2096177 2096181 + ReturnStatement 2096217 2096244 + FalseKeyword 2096237 2096243 + FunctionDeclaration 2096262 2096654 + Identifier 2096278 2096300 + Parameter 2096301 2096321 + Identifier 2096301 2096309 + TypeReference 2096310 2096321 + Identifier 2096310 2096321 + TypeReference 2096323 2096334 + Identifier 2096323 2096334 + Block 2096334 2096654 + VariableStatement 2096336 2096592 + VariableDeclarationList 2096336 2096591 + VariableDeclaration 2096351 2096591 + Identifier 2096351 2096357 + ConditionalExpression 2096359 2096591 + CallExpression 2096359 2096380 + Identifier 2096359 2096370 + Identifier 2096371 2096379 + QuestionToken 2096380 2096395 + BinaryExpression 2096395 2096510 + BinaryExpression 2096395 2096461 + PropertyAccessExpression 2096395 2096428 + Identifier 2096395 2096416 + Identifier 2096417 2096428 + BarToken 2096428 2096430 + PropertyAccessExpression 2096430 2096461 + Identifier 2096430 2096451 + Identifier 2096452 2096461 + BarToken 2096461 2096463 + PropertyAccessExpression 2096463 2096510 + Identifier 2096463 2096484 + Identifier 2096485 2096510 + ColonToken 2096510 2096525 + BinaryExpression 2096525 2096591 + PropertyAccessExpression 2096525 2096558 + Identifier 2096525 2096546 + Identifier 2096547 2096558 + BarToken 2096558 2096560 + PropertyAccessExpression 2096560 2096591 + Identifier 2096560 2096581 + Identifier 2096582 2096591 + ReturnStatement 2096592 2096647 + CallExpression 2096608 2096646 + Identifier 2096608 2096629 + Identifier 2096630 2096638 + Identifier 2096639 2096645 + FunctionDeclaration 2096654 2102800 + Identifier 2096670 2096701 + Parameter 2096702 2096736 + Identifier 2096702 2096716 + TypeReference 2096717 2096736 + Identifier 2096717 2096736 + Parameter 2096737 2096774 + Identifier 2096737 2096751 + TypeOperator 2096752 2096774 + ArrayType 2096761 2096774 + TypeReference 2096761 2096772 + Identifier 2096761 2096772 + Parameter 2096775 2096805 + Identifier 2096775 2096794 + TypeReference 2096795 2096805 + Identifier 2096795 2096805 + Parameter 2096806 2096863 + Identifier 2096806 2096824 + TypeReference 2096825 2096863 + Identifier 2096825 2096829 + StringKeyword 2096830 2096836 + TypeReference 2096837 2096862 + Identifier 2096837 2096862 + Parameter 2096864 2096894 + Identifier 2096864 2096883 + TypeReference 2096884 2096894 + Identifier 2096884 2096894 + Parameter 2096895 2096926 + Identifier 2096895 2096917 + BooleanKeyword 2096918 2096926 + Parameter 2096927 2097015 + Identifier 2096927 2096959 + UnionType 2096960 2097015 + ParenthesizedType 2096960 2097003 + FunctionType 2096962 2097002 + UnionType 2096967 2097002 + TypeReference 2096967 2096990 + Identifier 2096967 2096990 + UndefinedKeyword 2096992 2097002 + UndefinedKeyword 2097005 2097015 + Parameter 2097016 2097072 + Identifier 2097016 2097042 + UnionType 2097043 2097072 + TypeReference 2097043 2097060 + Identifier 2097043 2097060 + UndefinedKeyword 2097062 2097072 + UnionType 2097081 2097115 + TypeOperator 2097081 2097103 + ArrayType 2097090 2097103 + TypeReference 2097090 2097101 + Identifier 2097090 2097101 + UndefinedKeyword 2097105 2097115 + Block 2097115 2102800 + VariableStatement 2097117 2097219 + VariableDeclarationList 2097117 2097218 + VariableDeclaration 2097132 2097218 + Identifier 2097132 2097153 + TypeReference 2097154 2097175 + Identifier 2097154 2097175 + ObjectLiteralExpression 2097177 2097218 + PropertyAssignment 2097179 2097197 + Identifier 2097179 2097186 + Identifier 2097187 2097197 + PropertyAssignment 2097198 2097216 + Identifier 2097198 2097210 + TrueKeyword 2097211 2097216 + IfStatement 2097219 2097671 + CallExpression 2097233 2097252 + Identifier 2097233 2097246 + Identifier 2097247 2097251 + Block 2097253 2097671 + IfStatement 2097255 2097629 + PrefixUnaryExpression 2097273 2097417 + CallExpression 2097274 2097417 + Identifier 2097274 2097319 + Identifier 2097320 2097324 + Identifier 2097325 2097335 + Identifier 2097336 2097345 + Identifier 2097346 2097356 + Identifier 2097357 2097370 + Identifier 2097371 2097394 + Identifier 2097395 2097416 + Block 2097418 2097629 + ExpressionStatement 2097420 2097547 + CallExpression 2097420 2097546 + PropertyAccessExpression 2097420 2097450 + Identifier 2097420 2097443 + Identifier 2097444 2097450 + BinaryExpression 2097451 2097497 + PrefixUnaryExpression 2097451 2097464 + Identifier 2097452 2097464 + BarBarToken 2097464 2097467 + PrefixUnaryExpression 2097467 2097497 + PrefixUnaryExpression 2097469 2097497 + PropertyAccessExpression 2097470 2097497 + Identifier 2097470 2097490 + Identifier 2097491 2097497 + StringLiteral 2097498 2097545 + ReturnStatement 2097547 2097614 + BinaryExpression 2097571 2097613 + PropertyAccessExpression 2097571 2097599 + Identifier 2097571 2097592 + Identifier 2097593 2097599 + BarBarToken 2097599 2097602 + Identifier 2097602 2097613 + ReturnStatement 2097629 2097660 + Identifier 2097649 2097659 + VariableStatement 2097671 2097732 + VariableDeclarationList 2097671 2097731 + VariableDeclaration 2097686 2097731 + Identifier 2097686 2097695 + CallExpression 2097697 2097731 + Identifier 2097697 2097720 + Identifier 2097721 2097730 + IfStatement 2097732 2098925 + BinaryExpression 2097746 2097869 + BinaryExpression 2097746 2097779 + Identifier 2097746 2097754 + AmpersandAmpersandToken 2097754 2097757 + BinaryExpression 2097757 2097779 + Identifier 2097757 2097766 + ExclamationEqualsEqualsToken 2097766 2097770 + Identifier 2097770 2097779 + AmpersandAmpersandToken 2097779 2097782 + PrefixUnaryExpression 2097782 2097869 + ParenthesizedExpression 2097784 2097869 + BinaryExpression 2097785 2097868 + CallExpression 2097785 2097806 + Identifier 2097785 2097800 + Identifier 2097801 2097805 + BarBarToken 2097806 2097809 + BinaryExpression 2097809 2097868 + CallExpression 2097809 2097832 + Identifier 2097809 2097826 + Identifier 2097827 2097831 + AmpersandAmpersandToken 2097832 2097835 + CallExpression 2097835 2097868 + Identifier 2097835 2097851 + PropertyAccessExpression 2097852 2097867 + Identifier 2097852 2097856 + Identifier 2097857 2097867 + Block 2097870 2098925 + VariableStatement 2097872 2098265 + VariableDeclarationList 2097872 2098264 + VariableDeclaration 2098217 2098264 + Identifier 2098217 2098234 + CallExpression 2098236 2098264 + Identifier 2098236 2098258 + Identifier 2098259 2098263 + VariableStatement 2098265 2098342 + VariableDeclarationList 2098265 2098341 + VariableDeclaration 2098284 2098341 + Identifier 2098284 2098301 + CallExpression 2098303 2098341 + Identifier 2098303 2098323 + Identifier 2098324 2098340 + VariableStatement 2098342 2098428 + VariableDeclarationList 2098342 2098427 + VariableDeclaration 2098361 2098427 + Identifier 2098361 2098371 + ConditionalExpression 2098373 2098427 + Identifier 2098373 2098386 + QuestionToken 2098386 2098388 + ParenthesizedExpression 2098388 2098415 + BinaryExpression 2098390 2098414 + Identifier 2098390 2098406 + BarBarToken 2098406 2098409 + Identifier 2098409 2098414 + ColonToken 2098415 2098417 + Identifier 2098417 2098427 + VariableStatement 2098428 2098546 + VariableDeclarationList 2098428 2098545 + VariableDeclaration 2098447 2098545 + Identifier 2098447 2098459 + PropertyAccessExpression 2098461 2098545 + Identifier 2098461 2098473 + Identifier 2098474 2098545 + IfStatement 2098546 2098914 + PrefixUnaryExpression 2098564 2098691 + CallExpression 2098565 2098691 + Identifier 2098565 2098583 + Identifier 2098584 2098600 + Identifier 2098601 2098610 + Identifier 2098611 2098620 + Identifier 2098621 2098631 + Identifier 2098632 2098644 + Identifier 2098645 2098668 + Identifier 2098669 2098690 + Block 2098692 2098914 + ExpressionStatement 2098694 2098832 + CallExpression 2098694 2098831 + PropertyAccessExpression 2098694 2098724 + Identifier 2098694 2098717 + Identifier 2098718 2098724 + BinaryExpression 2098725 2098771 + PrefixUnaryExpression 2098725 2098738 + Identifier 2098726 2098738 + BarBarToken 2098738 2098741 + PrefixUnaryExpression 2098741 2098771 + PrefixUnaryExpression 2098743 2098771 + PropertyAccessExpression 2098744 2098771 + Identifier 2098744 2098764 + Identifier 2098765 2098771 + StringLiteral 2098772 2098830 + ReturnStatement 2098832 2098899 + BinaryExpression 2098856 2098898 + PropertyAccessExpression 2098856 2098884 + Identifier 2098856 2098877 + Identifier 2098878 2098884 + BarBarToken 2098884 2098887 + Identifier 2098887 2098898 + VariableStatement 2098925 2099027 + VariableDeclarationList 2098925 2099026 + VariableDeclaration 2098940 2099026 + Identifier 2098940 2098952 + PropertyAccessExpression 2098954 2099026 + Identifier 2098954 2098966 + Identifier 2098967 2099026 + VariableStatement 2099027 2099085 + VariableDeclarationList 2099027 2099084 + VariableDeclaration 2099042 2099084 + Identifier 2099042 2099051 + CallExpression 2099053 2099084 + Identifier 2099053 2099073 + Identifier 2099074 2099083 + VariableStatement 2099085 2099193 + VariableDeclarationList 2099085 2099192 + VariableDeclaration 2099100 2099192 + Identifier 2099100 2099109 + ConditionalExpression 2099111 2099192 + Identifier 2099111 2099120 + QuestionToken 2099120 2099122 + CallExpression 2099122 2099178 + PropertyAccessExpression 2099122 2099131 + Identifier 2099122 2099127 + Identifier 2099128 2099131 + BinaryExpression 2099132 2099164 + CallExpression 2099132 2099160 + Identifier 2099132 2099149 + Identifier 2099150 2099159 + MinusToken 2099160 2099162 + NumericLiteral 2099162 2099164 + PropertyAccessExpression 2099165 2099177 + Identifier 2099165 2099170 + Identifier 2099171 2099177 + ColonToken 2099178 2099180 + PropertyAccessExpression 2099180 2099192 + Identifier 2099180 2099185 + Identifier 2099186 2099192 + ForStatement 2099193 2101010 + VariableDeclarationList 2099208 2099217 + VariableDeclaration 2099211 2099217 + Identifier 2099211 2099213 + NumericLiteral 2099215 2099217 + BinaryExpression 2099218 2099231 + Identifier 2099218 2099220 + LessThanToken 2099220 2099222 + Identifier 2099222 2099231 + PostfixUnaryExpression 2099232 2099236 + Identifier 2099232 2099234 + Block 2099237 2101010 + VariableStatement 2099239 2099273 + VariableDeclarationList 2099239 2099272 + VariableDeclaration 2099258 2099272 + Identifier 2099258 2099262 + ElementAccessExpression 2099264 2099272 + Identifier 2099264 2099269 + Identifier 2099270 2099271 + IfStatement 2099273 2100999 + BinaryExpression 2099291 2099332 + PropertyAccessExpression 2099291 2099299 + Identifier 2099291 2099294 + Identifier 2099295 2099299 + ExclamationEqualsEqualsToken 2099299 2099303 + PropertyAccessExpression 2099303 2099332 + Identifier 2099303 2099314 + Identifier 2099315 2099332 + Block 2099333 2100999 + VariableStatement 2099335 2099403 + VariableDeclarationList 2099335 2099402 + VariableDeclaration 2099358 2099402 + Identifier 2099358 2099368 + CallExpression 2099370 2099402 + Identifier 2099370 2099388 + Identifier 2099389 2099398 + Identifier 2099399 2099401 + VariableStatement 2099403 2099530 + VariableDeclarationList 2099403 2099529 + VariableDeclaration 2099426 2099529 + Identifier 2099426 2099434 + CallExpression 2099436 2099529 + Identifier 2099436 2099470 + Identifier 2099471 2099474 + Identifier 2099475 2099485 + Identifier 2099486 2099517 + Identifier 2099518 2099528 + VariableStatement 2099530 2100017 + VariableDeclarationList 2099530 2100016 + VariableDeclaration 2099905 2100016 + Identifier 2099905 2099920 + ConditionalExpression 2099922 2100016 + BinaryExpression 2099922 2099965 + Identifier 2099922 2099932 + AmpersandToken 2099932 2099934 + PropertyAccessExpression 2099934 2099965 + Identifier 2099934 2099944 + Identifier 2099945 2099965 + QuestionToken 2099965 2099967 + CallExpression 2099967 2100006 + Identifier 2099967 2099997 + Identifier 2099998 2100005 + ColonToken 2100006 2100008 + Identifier 2100008 2100016 + VariableStatement 2100017 2100357 + VariableDeclarationList 2100017 2100356 + VariableDeclaration 2100239 2100356 + Identifier 2100239 2100252 + ConditionalExpression 2100254 2100356 + Identifier 2100254 2100271 + QuestionToken 2100271 2100273 + CallExpression 2100273 2100339 + Identifier 2100273 2100289 + Identifier 2100290 2100304 + PropertyAccessExpression 2100305 2100338 + Identifier 2100305 2100322 + Identifier 2100323 2100338 + ColonToken 2100339 2100341 + Identifier 2100341 2100356 + VariableStatement 2100357 2100437 + VariableDeclarationList 2100357 2100436 + VariableDeclaration 2100380 2100436 + Identifier 2100380 2100407 + CallExpression 2100409 2100436 + Identifier 2100409 2100431 + Identifier 2100432 2100435 + IfStatement 2100437 2100984 + PrefixUnaryExpression 2100459 2100677 + CallExpression 2100460 2100677 + Identifier 2100460 2100500 + Identifier 2100501 2100513 + Identifier 2100514 2100524 + Identifier 2100525 2100534 + ConditionalExpression 2100535 2100589 + Identifier 2100535 2100548 + QuestionToken 2100548 2100550 + Identifier 2100550 2100577 + ColonToken 2100577 2100579 + Identifier 2100579 2100589 + Identifier 2100590 2100617 + Identifier 2100618 2100630 + Identifier 2100631 2100654 + Identifier 2100655 2100676 + Block 2100678 2100984 + ExpressionStatement 2100680 2100817 + CallExpression 2100680 2100816 + PropertyAccessExpression 2100680 2100714 + Identifier 2100680 2100707 + Identifier 2100708 2100714 + BinaryExpression 2100715 2100761 + PrefixUnaryExpression 2100715 2100728 + Identifier 2100716 2100728 + BarBarToken 2100728 2100731 + PrefixUnaryExpression 2100731 2100761 + PrefixUnaryExpression 2100733 2100761 + PropertyAccessExpression 2100734 2100761 + Identifier 2100734 2100754 + Identifier 2100755 2100761 + StringLiteral 2100762 2100815 + ExpressionStatement 2100817 2100894 + CallExpression 2100817 2100893 + Identifier 2100817 2100863 + Identifier 2100864 2100867 + Identifier 2100868 2100881 + Identifier 2100882 2100892 + ReturnStatement 2100894 2100965 + BinaryExpression 2100922 2100964 + PropertyAccessExpression 2100922 2100950 + Identifier 2100922 2100943 + Identifier 2100944 2100950 + BarBarToken 2100950 2100953 + Identifier 2100953 2100964 + IfStatement 2101010 2101995 + Identifier 2101024 2101032 + Block 2101033 2101995 + VariableStatement 2101035 2101163 + VariableDeclarationList 2101035 2101162 + VariableDeclaration 2101054 2101162 + Identifier 2101054 2101065 + CallExpression 2101067 2101162 + Identifier 2101067 2101089 + Identifier 2101090 2101094 + Identifier 2101095 2101104 + PropertyAccessExpression 2101105 2101117 + Identifier 2101105 2101110 + Identifier 2101111 2101117 + Identifier 2101118 2101127 + Identifier 2101128 2101150 + Identifier 2101151 2101161 + VariableStatement 2101163 2101221 + VariableDeclarationList 2101163 2101220 + VariableDeclaration 2101182 2101220 + Identifier 2101182 2101195 + BinaryExpression 2101197 2101220 + PropertyAccessExpression 2101197 2101209 + Identifier 2101197 2101202 + Identifier 2101203 2101209 + MinusToken 2101209 2101211 + Identifier 2101211 2101220 + VariableStatement 2101221 2101532 + VariableDeclarationList 2101221 2101531 + VariableDeclaration 2101240 2101531 + Identifier 2101240 2101250 + ConditionalExpression 2101252 2101531 + PrefixUnaryExpression 2101252 2101266 + Identifier 2101254 2101266 + QuestionToken 2101266 2101268 + Identifier 2101268 2101278 + ColonToken 2101278 2101280 + ConditionalExpression 2101280 2101531 + BinaryExpression 2101280 2101316 + Identifier 2101280 2101310 + EqualsEqualsEqualsToken 2101310 2101314 + NumericLiteral 2101314 2101316 + QuestionToken 2101316 2101318 + Identifier 2101318 2101323 + ColonToken 2101323 2101325 + ConditionalExpression 2101325 2101531 + BinaryExpression 2101325 2101361 + Identifier 2101325 2101355 + EqualsEqualsEqualsToken 2101355 2101359 + NumericLiteral 2101359 2101361 + QuestionToken 2101361 2101363 + CallExpression 2101363 2101401 + Identifier 2101363 2101385 + ElementAccessExpression 2101386 2101400 + Identifier 2101386 2101390 + Identifier 2101391 2101399 + ColonToken 2101401 2101403 + CallExpression 2101403 2101531 + Identifier 2101403 2101439 + CallExpression 2101440 2101483 + Identifier 2101440 2101465 + Identifier 2101466 2101470 + Identifier 2101471 2101482 + PropertyAccessExpression 2101484 2101503 + ElementAccessExpression 2101484 2101499 + Identifier 2101484 2101489 + Identifier 2101490 2101498 + Identifier 2101500 2101503 + PropertyAccessExpression 2101504 2101530 + ElementAccessExpression 2101504 2101526 + Identifier 2101504 2101509 + BinaryExpression 2101510 2101525 + PropertyAccessExpression 2101510 2101521 + Identifier 2101510 2101514 + Identifier 2101515 2101521 + MinusToken 2101521 2101523 + NumericLiteral 2101523 2101525 + Identifier 2101527 2101530 + IfStatement 2101532 2101984 + PrefixUnaryExpression 2101550 2101685 + CallExpression 2101551 2101685 + Identifier 2101551 2101569 + Identifier 2101570 2101580 + Identifier 2101581 2101590 + Identifier 2101591 2101600 + Identifier 2101601 2101611 + Identifier 2101612 2101624 + Identifier 2101625 2101662 + Identifier 2101663 2101684 + Block 2101686 2101984 + ExpressionStatement 2101688 2101826 + CallExpression 2101688 2101825 + PropertyAccessExpression 2101688 2101718 + Identifier 2101688 2101711 + Identifier 2101712 2101718 + BinaryExpression 2101719 2101765 + PrefixUnaryExpression 2101719 2101732 + Identifier 2101720 2101732 + BarBarToken 2101732 2101735 + PrefixUnaryExpression 2101735 2101765 + PrefixUnaryExpression 2101737 2101765 + PropertyAccessExpression 2101738 2101765 + Identifier 2101738 2101758 + Identifier 2101759 2101765 + StringLiteral 2101766 2101824 + ExpressionStatement 2101826 2101902 + CallExpression 2101826 2101901 + Identifier 2101826 2101868 + Identifier 2101869 2101878 + Identifier 2101879 2101890 + Identifier 2101891 2101900 + ReturnStatement 2101902 2101969 + BinaryExpression 2101926 2101968 + PropertyAccessExpression 2101926 2101954 + Identifier 2101926 2101947 + Identifier 2101948 2101954 + BarBarToken 2101954 2101957 + Identifier 2101957 2101968 + ReturnStatement 2101995 2102022 + Identifier 2102011 2102021 + FunctionDeclaration 2102022 2102793 + Identifier 2102042 2102067 + Parameter 2102068 2102095 + Identifier 2102068 2102077 + UnionType 2102078 2102095 + TypeReference 2102078 2102083 + Identifier 2102078 2102083 + UndefinedKeyword 2102085 2102095 + Parameter 2102096 2102109 + Identifier 2102096 2102103 + TypeReference 2102104 2102109 + Identifier 2102104 2102109 + Parameter 2102110 2102123 + Identifier 2102110 2102117 + TypeReference 2102118 2102123 + Identifier 2102118 2102123 + Block 2102124 2102793 + IfStatement 2102126 2102782 + BinaryExpression 2102144 2102238 + BinaryExpression 2102144 2102200 + BinaryExpression 2102144 2102169 + Identifier 2102144 2102153 + AmpersandAmpersandToken 2102153 2102156 + Identifier 2102156 2102169 + AmpersandAmpersandToken 2102169 2102172 + PropertyAccessExpression 2102172 2102200 + Identifier 2102172 2102193 + Identifier 2102194 2102200 + AmpersandAmpersandToken 2102200 2102203 + PropertyAccessExpression 2102203 2102238 + PropertyAccessExpression 2102203 2102231 + Identifier 2102203 2102224 + Identifier 2102225 2102231 + Identifier 2102232 2102238 + Block 2102239 2102782 + IfStatement 2102241 2102422 + CallExpression 2102340 2102371 + Identifier 2102340 2102363 + Identifier 2102364 2102370 + Block 2102372 2102422 + ReturnStatement 2102374 2102403 + VariableStatement 2102422 2102500 + VariableDeclarationList 2102422 2102499 + VariableDeclaration 2102445 2102499 + Identifier 2102445 2102465 + CallExpression 2102467 2102499 + Identifier 2102467 2102491 + Identifier 2102492 2102498 + IfStatement 2102500 2102767 + BinaryExpression 2102522 2102599 + Identifier 2102522 2102541 + AmpersandAmpersandToken 2102541 2102544 + CallExpression 2102544 2102599 + Identifier 2102544 2102560 + Identifier 2102561 2102580 + Identifier 2102581 2102588 + Identifier 2102589 2102598 + Block 2102600 2102767 + ExpressionStatement 2102602 2102748 + CallExpression 2102602 2102747 + Identifier 2102602 2102638 + ElementAccessExpression 2102639 2102669 + PropertyAccessExpression 2102639 2102666 + Identifier 2102639 2102659 + Identifier 2102660 2102666 + NumericLiteral 2102667 2102668 + CallExpression 2102670 2102746 + Identifier 2102670 2102694 + Identifier 2102695 2102704 + PropertyAccessExpression 2102705 2102745 + Identifier 2102705 2102717 + Identifier 2102718 2102745 + FunctionDeclaration 2102800 2103593 + Identifier 2102927 2102949 + Parameter 2102950 2102974 + Identifier 2102950 2102954 + TypeReference 2102955 2102974 + Identifier 2102955 2102974 + UnionType 2102976 2102999 + TypeReference 2102976 2102987 + Identifier 2102976 2102987 + UndefinedKeyword 2102989 2102999 + Block 2102999 2103593 + IfStatement 2103001 2103102 + BinaryExpression 2103015 2103056 + PropertyAccessExpression 2103015 2103024 + Identifier 2103015 2103019 + Identifier 2103020 2103024 + EqualsEqualsEqualsToken 2103024 2103028 + PropertyAccessExpression 2103028 2103056 + Identifier 2103028 2103039 + Identifier 2103040 2103056 + Block 2103057 2103102 + ReturnStatement 2103059 2103091 + PropertyAccessExpression 2103079 2103090 + Identifier 2103079 2103084 + Identifier 2103085 2103090 + VariableStatement 2103102 2103381 + VariableDeclarationList 2103102 2103380 + VariableDeclaration 2103119 2103380 + Identifier 2103119 2103130 + ConditionalExpression 2103132 2103380 + BinaryExpression 2103132 2103172 + PropertyAccessExpression 2103132 2103142 + Identifier 2103132 2103137 + Identifier 2103138 2103142 + EqualsEqualsEqualsToken 2103142 2103146 + PropertyAccessExpression 2103146 2103172 + Identifier 2103146 2103157 + Identifier 2103158 2103172 + QuestionToken 2103172 2103174 + PropertyAccessExpression 2103174 2103190 + Identifier 2103174 2103179 + Identifier 2103180 2103190 + ColonToken 2103190 2103192 + ConditionalExpression 2103192 2103380 + BinaryExpression 2103192 2103255 + PropertyAccessExpression 2103192 2103215 + Identifier 2103192 2103210 + Identifier 2103211 2103215 + EqualsEqualsEqualsToken 2103215 2103219 + PropertyAccessExpression 2103219 2103255 + Identifier 2103219 2103230 + Identifier 2103231 2103255 + QuestionToken 2103255 2103257 + PropertyAccessExpression 2103257 2103266 + Identifier 2103257 2103262 + Identifier 2103263 2103266 + ColonToken 2103266 2103268 + ConditionalExpression 2103268 2103380 + BinaryExpression 2103268 2103337 + BinaryExpression 2103268 2103316 + PropertyAccessExpression 2103268 2103291 + Identifier 2103268 2103286 + Identifier 2103287 2103291 + EqualsEqualsEqualsToken 2103291 2103295 + PropertyAccessExpression 2103295 2103316 + Identifier 2103295 2103306 + Identifier 2103307 2103316 + AmpersandAmpersandToken 2103316 2103319 + PrefixUnaryExpression 2103319 2103337 + Identifier 2103321 2103337 + QuestionToken 2103337 2103339 + PropertyAccessExpression 2103339 2103355 + Identifier 2103339 2103344 + Identifier 2103345 2103355 + ColonToken 2103355 2103357 + Identifier 2103357 2103380 + IfStatement 2103381 2103586 + Identifier 2103395 2103405 + Block 2103406 2103586 + VariableStatement 2103408 2103470 + VariableDeclarationList 2103408 2103469 + VariableDeclaration 2103427 2103469 + Identifier 2103427 2103434 + CallExpression 2103436 2103469 + Identifier 2103436 2103457 + Identifier 2103458 2103468 + IfStatement 2103470 2103575 + CallExpression 2103488 2103514 + Identifier 2103488 2103506 + Identifier 2103507 2103513 + Block 2103515 2103575 + ReturnStatement 2103517 2103560 + PropertyAccessExpression 2103541 2103559 + Identifier 2103541 2103548 + Identifier 2103549 2103559 + FunctionDeclaration 2103593 2103955 + Identifier 2103609 2103635 + Parameter 2103636 2103648 + Identifier 2103636 2103642 + TypeReference 2103643 2103648 + Identifier 2103643 2103648 + Parameter 2103649 2103660 + Identifier 2103649 2103654 + TypeReference 2103655 2103660 + Identifier 2103655 2103660 + Parameter 2103661 2103680 + Identifier 2103661 2103670 + QuestionToken 2103670 2103671 + BooleanKeyword 2103672 2103680 + Parameter 2103681 2103739 + Identifier 2103681 2103697 + QuestionToken 2103697 2103698 + UnionType 2103699 2103739 + TypeReference 2103699 2103720 + Identifier 2103699 2103720 + TypeReference 2103722 2103739 + Identifier 2103722 2103739 + Block 2103740 2103955 + VariableStatement 2103742 2103843 + VariableDeclarationList 2103742 2103842 + VariableDeclaration 2103757 2103842 + Identifier 2103757 2103764 + CallExpression 2103766 2103842 + PropertyAccessExpression 2103766 2103809 + Identifier 2103766 2103783 + Identifier 2103784 2103809 + Identifier 2103810 2103814 + Identifier 2103815 2103824 + Identifier 2103825 2103841 + ExpressionStatement 2103843 2103888 + CallExpression 2103843 2103887 + Identifier 2103843 2103871 + Identifier 2103872 2103878 + Identifier 2103879 2103886 + ExpressionStatement 2103888 2103924 + CallExpression 2103888 2103923 + Identifier 2103888 2103907 + Identifier 2103908 2103914 + Identifier 2103915 2103922 + ReturnStatement 2103924 2103948 + Identifier 2103940 2103947 + FunctionDeclaration 2103955 2106769 + Identifier 2104086 2104112 + Parameter 2104113 2104137 + Identifier 2104113 2104117 + TypeReference 2104118 2104137 + Identifier 2104118 2104137 + TypeOperator 2104139 2104161 + ArrayType 2104148 2104161 + TypeReference 2104148 2104159 + Identifier 2104148 2104159 + Block 2104161 2106769 + IfStatement 2104163 2104453 + CallExpression 2104177 2104203 + Identifier 2104177 2104197 + Identifier 2104198 2104202 + Block 2104204 2104453 + ReturnStatement 2104206 2104442 + ArrayLiteralExpression 2104382 2104441 + CallExpression 2104384 2104440 + Identifier 2104384 2104409 + Identifier 2104410 2104414 + Identifier 2104415 2104439 + IfStatement 2104453 2104931 + BinaryExpression 2104469 2104518 + PropertyAccessExpression 2104469 2104478 + Identifier 2104469 2104473 + Identifier 2104474 2104478 + EqualsEqualsEqualsToken 2104478 2104482 + PropertyAccessExpression 2104482 2104518 + Identifier 2104482 2104493 + Identifier 2104494 2104518 + Block 2104519 2104931 + VariableStatement 2104521 2104566 + VariableDeclarationList 2104521 2104565 + VariableDeclaration 2104540 2104565 + Identifier 2104540 2104549 + PropertyAccessExpression 2104551 2104565 + Identifier 2104551 2104556 + Identifier 2104557 2104565 + VariableStatement 2104566 2104682 + VariableDeclarationList 2104566 2104681 + VariableDeclaration 2104585 2104681 + Identifier 2104585 2104590 + ArrayType 2104591 2104604 + TypeReference 2104591 2104602 + Identifier 2104591 2104602 + ArrayLiteralExpression 2104606 2104681 + CallExpression 2104608 2104680 + Identifier 2104608 2104633 + Identifier 2104634 2104642 + CallExpression 2104643 2104679 + Identifier 2104643 2104677 + IfStatement 2104682 2104894 + BinaryExpression 2104700 2104747 + PropertyAccessExpression 2104700 2104713 + Identifier 2104700 2104708 + Identifier 2104709 2104713 + EqualsEqualsEqualsToken 2104713 2104717 + PropertyAccessExpression 2104717 2104747 + Identifier 2104717 2104728 + Identifier 2104729 2104747 + Block 2104748 2104894 + ExpressionStatement 2104750 2104879 + CallExpression 2104750 2104878 + Identifier 2104750 2104775 + PropertyAccessExpression 2104776 2104798 + Identifier 2104776 2104784 + Identifier 2104785 2104798 + ArrowFunction 2104799 2104877 + Parameter 2104799 2104804 + Identifier 2104799 2104804 + EqualsGreaterThanToken 2104804 2104807 + Block 2104807 2104877 + ExpressionStatement 2104809 2104858 + CallExpression 2104809 2104857 + PropertyAccessExpression 2104809 2104840 + Identifier 2104809 2104835 + Identifier 2104836 2104840 + PropertyAccessExpression 2104841 2104856 + Identifier 2104841 2104845 + Identifier 2104846 2104856 + ReturnStatement 2104894 2104920 + Identifier 2104914 2104919 + IfStatement 2104931 2105051 + BinaryExpression 2104945 2104979 + PropertyAccessExpression 2104945 2104954 + Identifier 2104945 2104949 + Identifier 2104950 2104954 + EqualsEqualsEqualsToken 2104954 2104958 + PropertyAccessExpression 2104958 2104979 + Identifier 2104958 2104969 + Identifier 2104970 2104979 + Block 2104980 2105051 + ReturnStatement 2104982 2105040 + CallExpression 2105002 2105039 + Identifier 2105002 2105033 + Identifier 2105034 2105038 + IfStatement 2105051 2105153 + BinaryExpression 2105065 2105106 + PropertyAccessExpression 2105065 2105074 + Identifier 2105065 2105069 + Identifier 2105070 2105074 + EqualsEqualsEqualsToken 2105074 2105078 + PropertyAccessExpression 2105078 2105106 + Identifier 2105078 2105089 + Identifier 2105090 2105106 + Block 2105107 2105153 + ReturnStatement 2105109 2105142 + ArrayLiteralExpression 2105129 2105141 + PropertyAccessExpression 2105131 2105140 + Identifier 2105131 2105135 + Identifier 2105136 2105140 + IfStatement 2105153 2105368 + CallExpression 2105167 2105196 + Identifier 2105167 2105190 + Identifier 2105191 2105195 + Block 2105197 2105368 + ReturnStatement 2105199 2105357 + ConditionalExpression 2105219 2105356 + BinaryExpression 2105219 2105323 + BinaryExpression 2105219 2105257 + PropertyAccessExpression 2105219 2105253 + PropertyAccessExpression 2105219 2105246 + PropertyAccessExpression 2105219 2105235 + Identifier 2105219 2105224 + Identifier 2105225 2105235 + Identifier 2105236 2105246 + Identifier 2105247 2105253 + GreaterThanToken 2105253 2105255 + NumericLiteral 2105255 2105257 + BarBarToken 2105257 2105260 + ParenthesizedExpression 2105260 2105323 + BinaryExpression 2105262 2105322 + CallExpression 2105262 2105287 + Identifier 2105262 2105281 + Identifier 2105282 2105286 + AmpersandAmpersandToken 2105287 2105290 + BinaryExpression 2105290 2105322 + PropertyAccessExpression 2105290 2105318 + PropertyAccessExpression 2105290 2105311 + PropertyAccessExpression 2105290 2105302 + Identifier 2105290 2105295 + Identifier 2105296 2105302 + Identifier 2105303 2105311 + Identifier 2105312 2105318 + GreaterThanToken 2105318 2105320 + NumericLiteral 2105320 2105322 + QuestionToken 2105323 2105325 + ArrayLiteralExpression 2105325 2105343 + PropertyAccessExpression 2105327 2105342 + Identifier 2105327 2105331 + Identifier 2105332 2105342 + ColonToken 2105343 2105345 + Identifier 2105345 2105356 + VariableStatement 2105368 2105420 + VariableDeclarationList 2105368 2105419 + VariableDeclaration 2105383 2105419 + Identifier 2105383 2105388 + BinaryExpression 2105390 2105419 + PropertyAccessExpression 2105390 2105405 + Identifier 2105390 2105395 + Identifier 2105396 2105405 + BarBarToken 2105405 2105408 + Identifier 2105408 2105419 + VariableStatement 2105420 2105479 + VariableDeclarationList 2105420 2105478 + VariableDeclaration 2105435 2105478 + Identifier 2105435 2105447 + CallExpression 2105449 2105478 + Identifier 2105449 2105472 + Identifier 2105473 2105477 + IfStatement 2105479 2106740 + BinaryExpression 2105493 2105509 + Identifier 2105493 2105504 + GreaterThanEqualsToken 2105504 2105507 + NumericLiteral 2105507 2105509 + Block 2105510 2106740 + VariableStatement 2105512 2105647 + VariableDeclarationList 2105512 2105646 + VariableDeclaration 2105603 2105646 + Identifier 2105603 2105617 + CallExpression 2105619 2105646 + PropertyAccessExpression 2105619 2105630 + Identifier 2105619 2105624 + Identifier 2105625 2105630 + NumericLiteral 2105631 2105632 + Identifier 2105633 2105645 + ForStatement 2105647 2106694 + VariableDeclarationList 2105666 2105685 + VariableDeclaration 2105669 2105685 + Identifier 2105669 2105671 + Identifier 2105673 2105685 + BinaryExpression 2105686 2105702 + Identifier 2105686 2105688 + LessThanToken 2105688 2105690 + PropertyAccessExpression 2105690 2105702 + Identifier 2105690 2105695 + Identifier 2105696 2105702 + PostfixUnaryExpression 2105703 2105707 + Identifier 2105703 2105705 + Block 2105708 2106694 + VariableStatement 2105710 2105748 + VariableDeclarationList 2105710 2105747 + VariableDeclaration 2105733 2105747 + Identifier 2105733 2105737 + ElementAccessExpression 2105739 2105747 + Identifier 2105739 2105744 + Identifier 2105745 2105746 + VariableStatement 2105748 2106065 + VariableDeclarationList 2105748 2106064 + VariableDeclaration 2105882 2106064 + Identifier 2105882 2105893 + BinaryExpression 2105895 2106064 + BinaryExpression 2105895 2105933 + PropertyAccessExpression 2105895 2105904 + Identifier 2105895 2105899 + Identifier 2105900 2105904 + EqualsEqualsEqualsToken 2105904 2105908 + PropertyAccessExpression 2105908 2105933 + Identifier 2105908 2105919 + Identifier 2105920 2105933 + AmpersandAmpersandToken 2105933 2105936 + ParenthesizedExpression 2105936 2106064 + ConditionalExpression 2105938 2106063 + Identifier 2105938 2105951 + QuestionToken 2105951 2105953 + CallExpression 2105953 2106004 + Identifier 2105953 2105969 + PropertyAccessExpression 2105970 2106003 + ParenthesizedExpression 2105970 2105992 + AsExpression 2105971 2105991 + Identifier 2105971 2105974 + TypeReference 2105977 2105991 + Identifier 2105977 2105991 + Identifier 2105993 2106003 + ColonToken 2106004 2106006 + CallExpression 2106006 2106063 + Identifier 2106006 2106028 + PropertyAccessExpression 2106029 2106062 + ParenthesizedExpression 2106029 2106051 + AsExpression 2106030 2106050 + Identifier 2106030 2106033 + TypeReference 2106036 2106050 + Identifier 2106036 2106050 + Identifier 2106052 2106062 + IfStatement 2106065 2106679 + BinaryExpression 2106087 2106124 + Identifier 2106087 2106097 + AmpersandAmpersandToken 2106097 2106100 + CallExpression 2106100 2106124 + Identifier 2106100 2106112 + Identifier 2106113 2106123 + Block 2106125 2106590 + ExpressionStatement 2106127 2106571 + CallExpression 2106127 2106570 + Identifier 2106127 2106156 + CallExpression 2106157 2106184 + Identifier 2106157 2106172 + Identifier 2106173 2106183 + ArrowFunction 2106185 2106569 + Parameter 2106187 2106188 + Identifier 2106187 2106188 + Parameter 2106189 2106191 + Identifier 2106189 2106191 + EqualsGreaterThanToken 2106192 2106195 + Block 2106195 2106569 + VariableStatement 2106197 2106271 + VariableDeclarationList 2106197 2106270 + VariableDeclaration 2106228 2106270 + Identifier 2106228 2106234 + ElementAccessExpression 2106236 2106270 + PropertyAccessExpression 2106236 2106267 + PropertyAccessExpression 2106236 2106254 + Identifier 2106236 2106247 + Identifier 2106248 2106254 + Identifier 2106255 2106267 + Identifier 2106268 2106269 + VariableStatement 2106271 2106487 + VariableDeclarationList 2106271 2106486 + VariableDeclaration 2106302 2106486 + Identifier 2106302 2106315 + CallExpression 2106317 2106486 + Identifier 2106317 2106343 + Identifier 2106344 2106347 + ConditionalExpression 2106348 2106399 + BinaryExpression 2106348 2106374 + Identifier 2106348 2106354 + AmpersandToken 2106354 2106356 + PropertyAccessExpression 2106356 2106374 + Identifier 2106356 2106369 + Identifier 2106370 2106374 + QuestionToken 2106374 2106376 + CallExpression 2106376 2106395 + Identifier 2106376 2106392 + Identifier 2106393 2106394 + ColonToken 2106395 2106397 + Identifier 2106397 2106399 + PrefixUnaryExpression 2106400 2106434 + PrefixUnaryExpression 2106402 2106434 + ParenthesizedExpression 2106403 2106434 + BinaryExpression 2106404 2106433 + Identifier 2106404 2106409 + AmpersandToken 2106409 2106411 + PropertyAccessExpression 2106411 2106433 + Identifier 2106411 2106424 + Identifier 2106425 2106433 + ElementAccessExpression 2106435 2106485 + PropertyAccessExpression 2106435 2106480 + PropertyAccessExpression 2106435 2106453 + Identifier 2106435 2106446 + Identifier 2106447 2106453 + Identifier 2106454 2106480 + QuestionDotToken 2106480 2106482 + Identifier 2106483 2106484 + ExpressionStatement 2106487 2106546 + CallExpression 2106487 2106545 + PropertyAccessExpression 2106487 2106531 + Identifier 2106487 2106526 + Identifier 2106527 2106531 + Identifier 2106532 2106544 + Block 2106612 2106679 + ExpressionStatement 2106614 2106660 + CallExpression 2106614 2106659 + PropertyAccessExpression 2106614 2106654 + Identifier 2106614 2106649 + Identifier 2106650 2106654 + Identifier 2106655 2106658 + ReturnStatement 2106694 2106729 + Identifier 2106714 2106728 + ReturnStatement 2106740 2106762 + Identifier 2106756 2106761 + FunctionDeclaration 2106769 2107384 + Identifier 2106875 2106906 + Parameter 2106907 2106922 + Identifier 2106907 2106911 + TypeReference 2106912 2106922 + Identifier 2106912 2106922 + TypeOperator 2106924 2106946 + ArrayType 2106933 2106946 + TypeReference 2106933 2106944 + Identifier 2106933 2106944 + Block 2106946 2107384 + VariableStatement 2106948 2106987 + VariableDeclarationList 2106948 2106986 + VariableDeclaration 2106963 2106986 + Identifier 2106963 2106968 + PropertyAccessExpression 2106970 2106986 + Identifier 2106970 2106975 + Identifier 2106976 2106986 + VariableStatement 2106987 2107047 + VariableDeclarationList 2106987 2107046 + VariableDeclaration 2107002 2107046 + Identifier 2107002 2107012 + CallExpression 2107014 2107046 + Identifier 2107014 2107040 + Identifier 2107041 2107045 + IfStatement 2107047 2107347 + Identifier 2107061 2107070 + Block 2107071 2107347 + VariableStatement 2107073 2107117 + VariableDeclarationList 2107073 2107116 + VariableDeclaration 2107092 2107116 + Identifier 2107092 2107097 + ArrayType 2107098 2107111 + TypeReference 2107098 2107109 + Identifier 2107098 2107109 + ArrayLiteralExpression 2107113 2107116 + ForOfStatement 2107117 2107310 + VariableDeclarationList 2107136 2107147 + VariableDeclaration 2107141 2107147 + Identifier 2107141 2107147 + PropertyAccessExpression 2107150 2107171 + Identifier 2107150 2107160 + Identifier 2107161 2107171 + Block 2107172 2107310 + VariableStatement 2107174 2107228 + VariableDeclarationList 2107174 2107227 + VariableDeclaration 2107197 2107227 + Identifier 2107197 2107202 + CallExpression 2107204 2107227 + Identifier 2107204 2107220 + Identifier 2107221 2107226 + ExpressionStatement 2107228 2107295 + CallExpression 2107228 2107294 + PropertyAccessExpression 2107228 2107255 + Identifier 2107228 2107250 + Identifier 2107251 2107255 + CallExpression 2107256 2107293 + Identifier 2107256 2107281 + Identifier 2107282 2107286 + Identifier 2107287 2107292 + ReturnStatement 2107310 2107336 + Identifier 2107330 2107335 + ReturnStatement 2107347 2107377 + CallExpression 2107363 2107376 + PropertyAccessExpression 2107363 2107374 + Identifier 2107363 2107369 + Identifier 2107370 2107374 + FunctionDeclaration 2107384 2107897 + Identifier 2107513 2107539 + Parameter 2107540 2107555 + Identifier 2107540 2107544 + TypeReference 2107545 2107555 + Identifier 2107545 2107555 + Parameter 2107556 2107577 + Identifier 2107556 2107566 + TypeReference 2107567 2107577 + Identifier 2107567 2107577 + Block 2107578 2107897 + ReturnStatement 2107580 2107890 + ConditionalExpression 2107596 2107889 + PropertyAccessExpression 2107596 2107635 + Identifier 2107596 2107612 + Identifier 2107613 2107635 + QuestionToken 2107635 2107637 + CallExpression 2107637 2107699 + Identifier 2107637 2107682 + Identifier 2107683 2107687 + Identifier 2107688 2107698 + ColonToken 2107699 2107701 + CallExpression 2107701 2107889 + PropertyAccessExpression 2107701 2107843 + Identifier 2107701 2107839 + Identifier 2107840 2107843 + CallExpression 2107844 2107885 + PropertyAccessExpression 2107844 2107852 + Identifier 2107844 2107848 + Identifier 2107849 2107852 + CallExpression 2107853 2107881 + Identifier 2107853 2107870 + Identifier 2107871 2107880 + NumericLiteral 2107882 2107884 + NumericLiteral 2107886 2107888 + FunctionDeclaration 2107897 2108804 + Identifier 2108026 2108058 + Parameter 2108059 2108074 + Identifier 2108059 2108063 + TypeReference 2108064 2108074 + Identifier 2108064 2108074 + Parameter 2108075 2108096 + Identifier 2108075 2108085 + TypeReference 2108086 2108096 + Identifier 2108086 2108096 + Block 2108097 2108804 + SwitchStatement 2108099 2108797 + PropertyAccessExpression 2108117 2108133 + PropertyAccessExpression 2108117 2108128 + Identifier 2108117 2108121 + Identifier 2108122 2108128 + Identifier 2108129 2108133 + CaseBlock 2108134 2108797 + CaseClause 2108136 2108183 + PropertyAccessExpression 2108154 2108182 + Identifier 2108154 2108165 + Identifier 2108166 2108182 + CaseClause 2108183 2108256 + PropertyAccessExpression 2108201 2108228 + Identifier 2108201 2108212 + Identifier 2108213 2108228 + ReturnStatement 2108229 2108256 + NumericLiteral 2108253 2108255 + CaseClause 2108256 2108372 + PropertyAccessExpression 2108274 2108305 + Identifier 2108274 2108285 + Identifier 2108286 2108305 + ReturnStatement 2108306 2108372 + ConditionalExpression 2108330 2108371 + CallExpression 2108330 2108363 + Identifier 2108330 2108350 + PropertyAccessExpression 2108351 2108362 + Identifier 2108351 2108355 + Identifier 2108356 2108362 + QuestionToken 2108363 2108365 + NumericLiteral 2108365 2108367 + ColonToken 2108367 2108369 + NumericLiteral 2108369 2108371 + CaseClause 2108372 2108420 + PropertyAccessExpression 2108390 2108419 + Identifier 2108390 2108401 + Identifier 2108402 2108419 + CaseClause 2108420 2108462 + PropertyAccessExpression 2108438 2108461 + Identifier 2108438 2108449 + Identifier 2108450 2108461 + CaseClause 2108462 2108659 + PropertyAccessExpression 2108480 2108503 + Identifier 2108480 2108491 + Identifier 2108492 2108503 + ReturnStatement 2108504 2108659 + ConditionalExpression 2108617 2108658 + BinaryExpression 2108617 2108650 + PropertyAccessExpression 2108617 2108645 + PropertyAccessExpression 2108617 2108638 + Identifier 2108617 2108627 + Identifier 2108628 2108638 + Identifier 2108639 2108645 + LessThanEqualsToken 2108645 2108648 + NumericLiteral 2108648 2108650 + QuestionToken 2108650 2108652 + NumericLiteral 2108652 2108654 + ColonToken 2108654 2108656 + NumericLiteral 2108656 2108658 + CaseClause 2108659 2108726 + PropertyAccessExpression 2108677 2108698 + Identifier 2108677 2108688 + Identifier 2108689 2108698 + ReturnStatement 2108699 2108726 + NumericLiteral 2108723 2108725 + DefaultClause 2108726 2108786 + ReturnStatement 2108748 2108786 + CallExpression 2108772 2108785 + PropertyAccessExpression 2108772 2108783 + Identifier 2108772 2108778 + Identifier 2108779 2108783 + FunctionDeclaration 2108804 2109136 + Identifier 2108820 2108849 + Parameter 2108850 2108870 + Identifier 2108850 2108854 + TypeReference 2108855 2108870 + Identifier 2108855 2108870 + Block 2108871 2109136 + VariableStatement 2108873 2108928 + VariableDeclarationList 2108873 2108927 + VariableDeclaration 2108888 2108927 + Identifier 2108888 2108899 + CallExpression 2108901 2108927 + Identifier 2108901 2108921 + Identifier 2108922 2108926 + VariableStatement 2108928 2109082 + VariableDeclarationList 2108928 2109081 + VariableDeclaration 2108943 2109081 + ObjectBindingPattern 2108943 2108961 + BindingElement 2108945 2108951 + Identifier 2108945 2108951 + BindingElement 2108952 2108959 + Identifier 2108952 2108959 + CallExpression 2108963 2109081 + Identifier 2108963 2108983 + Identifier 2108984 2108994 + ConditionalExpression 2108995 2109080 + CallExpression 2108995 2109039 + Identifier 2108995 2109022 + PropertyAccessExpression 2109023 2109038 + Identifier 2109023 2109027 + Identifier 2109028 2109038 + QuestionToken 2109039 2109041 + PropertyAccessExpression 2109041 2109062 + PropertyAccessExpression 2109041 2109057 + Identifier 2109041 2109046 + Identifier 2109047 2109057 + Identifier 2109058 2109062 + ColonToken 2109062 2109064 + PropertyAccessExpression 2109064 2109080 + Identifier 2109064 2109069 + Identifier 2109070 2109080 + ReturnStatement 2109082 2109129 + ObjectLiteralExpression 2109098 2109128 + ShorthandPropertyAssignment 2109100 2109106 + Identifier 2109100 2109106 + ShorthandPropertyAssignment 2109107 2109114 + Identifier 2109107 2109114 + ShorthandPropertyAssignment 2109115 2109126 + Identifier 2109115 2109126 + FunctionDeclaration 2109136 2110032 + Identifier 2109152 2109177 + Parameter 2109178 2109202 + Identifier 2109178 2109182 + TypeReference 2109183 2109202 + Identifier 2109183 2109202 + Parameter 2109203 2109255 + Identifier 2109203 2109211 + UnionType 2109212 2109255 + TypeReference 2109212 2109230 + Identifier 2109212 2109230 + TypeReference 2109232 2109255 + Identifier 2109232 2109255 + Parameter 2109256 2109285 + DotDotDotToken 2109256 2109260 + Identifier 2109260 2109264 + TypeReference 2109265 2109285 + Identifier 2109265 2109285 + TypeReference 2109287 2109310 + Identifier 2109287 2109310 + Block 2109310 2110032 + IfStatement 2109312 2110025 + CallExpression 2109326 2109348 + Identifier 2109326 2109342 + Identifier 2109343 2109347 + Block 2109349 2109722 + VariableStatement 2109351 2109438 + VariableDeclarationList 2109351 2109437 + VariableDeclaration 2109370 2109437 + ObjectBindingPattern 2109370 2109400 + BindingElement 2109372 2109383 + Identifier 2109372 2109383 + BindingElement 2109384 2109390 + Identifier 2109384 2109390 + BindingElement 2109391 2109398 + Identifier 2109391 2109398 + CallExpression 2109402 2109437 + Identifier 2109402 2109431 + Identifier 2109432 2109436 + IfStatement 2109438 2109629 + BinaryExpression 2109456 2109476 + StringLiteral 2109456 2109465 + InKeyword 2109465 2109468 + Identifier 2109468 2109476 + Block 2109477 2109629 + ReturnStatement 2109479 2109614 + CallExpression 2109547 2109613 + Identifier 2109547 2109568 + Identifier 2109569 2109579 + Identifier 2109580 2109586 + Identifier 2109587 2109594 + Identifier 2109595 2109603 + SpreadElement 2109604 2109612 + Identifier 2109608 2109612 + ReturnStatement 2109629 2109711 + CallExpression 2109649 2109710 + Identifier 2109649 2109689 + Identifier 2109690 2109700 + Identifier 2109701 2109709 + Block 2109736 2110025 + IfStatement 2109738 2109911 + BinaryExpression 2109756 2109776 + StringLiteral 2109756 2109765 + InKeyword 2109765 2109768 + Identifier 2109768 2109776 + Block 2109777 2109911 + ReturnStatement 2109779 2109896 + CallExpression 2109847 2109895 + Identifier 2109847 2109871 + Identifier 2109872 2109876 + Identifier 2109877 2109885 + SpreadElement 2109886 2109894 + Identifier 2109890 2109894 + ReturnStatement 2109911 2110014 + CallExpression 2109931 2110013 + Identifier 2109931 2109971 + CallExpression 2109972 2109997 + Identifier 2109972 2109991 + Identifier 2109992 2109996 + Identifier 2109998 2110003 + Identifier 2110004 2110012 + FunctionDeclaration 2110032 2110580 + Identifier 2110048 2110072 + Parameter 2110073 2110101 + Identifier 2110073 2110081 + TypeReference 2110082 2110101 + Identifier 2110082 2110101 + TypeReference 2110103 2110108 + Identifier 2110103 2110108 + Block 2110108 2110580 + IfStatement 2110110 2110287 + CallExpression 2110124 2110155 + Identifier 2110124 2110145 + Identifier 2110146 2110154 + Block 2110156 2110287 + ReturnStatement 2110158 2110276 + ConditionalExpression 2110178 2110275 + CallExpression 2110178 2110226 + Identifier 2110178 2110205 + PropertyAccessExpression 2110206 2110225 + Identifier 2110206 2110214 + Identifier 2110215 2110225 + QuestionToken 2110226 2110228 + PropertyAccessExpression 2110228 2110253 + PropertyAccessExpression 2110228 2110248 + Identifier 2110228 2110237 + Identifier 2110238 2110248 + Identifier 2110249 2110253 + ColonToken 2110253 2110255 + PropertyAccessExpression 2110255 2110275 + Identifier 2110255 2110264 + Identifier 2110265 2110275 + IfStatement 2110287 2110448 + CallExpression 2110301 2110337 + Identifier 2110301 2110327 + Identifier 2110328 2110336 + Block 2110338 2110448 + ReturnStatement 2110340 2110437 + ConditionalExpression 2110360 2110436 + CallExpression 2110360 2110401 + Identifier 2110360 2110387 + PropertyAccessExpression 2110388 2110400 + Identifier 2110388 2110396 + Identifier 2110397 2110400 + QuestionToken 2110401 2110403 + PropertyAccessExpression 2110403 2110421 + PropertyAccessExpression 2110403 2110416 + Identifier 2110403 2110412 + Identifier 2110413 2110416 + Identifier 2110417 2110421 + ColonToken 2110421 2110423 + PropertyAccessExpression 2110423 2110436 + Identifier 2110423 2110432 + Identifier 2110433 2110436 + IfStatement 2110448 2110547 + CallExpression 2110462 2110495 + Identifier 2110462 2110485 + Identifier 2110486 2110494 + Block 2110496 2110547 + ReturnStatement 2110498 2110536 + PropertyAccessExpression 2110518 2110535 + Identifier 2110518 2110527 + Identifier 2110528 2110535 + ReturnStatement 2110547 2110573 + Identifier 2110563 2110572 + FunctionDeclaration 2110580 2111489 + Identifier 2110596 2110623 + Parameter 2110624 2110648 + Identifier 2110624 2110628 + TypeReference 2110629 2110648 + Identifier 2110629 2110648 + Block 2110649 2111489 + IfStatement 2110651 2110737 + BinaryExpression 2110665 2110722 + PrefixUnaryExpression 2110665 2110688 + CallExpression 2110666 2110688 + Identifier 2110666 2110682 + Identifier 2110683 2110687 + BarBarToken 2110688 2110691 + PrefixUnaryExpression 2110691 2110722 + CallExpression 2110693 2110722 + Identifier 2110693 2110705 + PropertyAccessExpression 2110706 2110721 + Identifier 2110706 2110710 + Identifier 2110711 2110721 + ReturnStatement 2110723 2110737 + FalseKeyword 2110730 2110736 + VariableStatement 2110737 2110893 + VariableDeclarationList 2110737 2110892 + VariableDeclaration 2110754 2110892 + Identifier 2110754 2110761 + CallExpression 2110763 2110892 + Identifier 2110763 2110775 + PropertyAccessExpression 2110776 2110791 + Identifier 2110776 2110780 + Identifier 2110781 2110791 + PropertyAccessExpression 2110792 2110820 + PropertyAccessExpression 2110792 2110808 + Identifier 2110792 2110797 + Identifier 2110798 2110808 + Identifier 2110809 2110820 + PropertyAccessExpression 2110821 2110839 + Identifier 2110821 2110833 + Identifier 2110834 2110839 + Identifier 2110840 2110874 + FalseKeyword 2110875 2110891 + VariableStatement 2110893 2110941 + VariableDeclarationList 2110893 2110940 + VariableDeclaration 2110908 2110940 + Identifier 2110908 2110913 + PropertyAccessExpression 2110915 2110940 + Identifier 2110915 2110922 + QuestionDotToken 2110922 2110924 + Identifier 2110924 2110940 + IfStatement 2110941 2111164 + BinaryExpression 2110955 2111123 + BinaryExpression 2110955 2111075 + BinaryExpression 2110955 2111035 + BinaryExpression 2110955 2110982 + PrefixUnaryExpression 2110955 2110960 + Identifier 2110956 2110960 + BarBarToken 2110960 2110963 + PrefixUnaryExpression 2110963 2110982 + CallExpression 2110965 2110982 + Identifier 2110965 2110976 + Identifier 2110977 2110981 + BarBarToken 2110982 2110985 + PrefixUnaryExpression 2110985 2111035 + CallExpression 2110987 2111035 + Identifier 2110987 2111022 + PropertyAccessExpression 2111023 2111034 + Identifier 2111023 2111027 + Identifier 2111028 2111034 + BarBarToken 2111035 2111038 + PrefixUnaryExpression 2111038 2111075 + CallExpression 2111040 2111075 + Identifier 2111040 2111055 + PropertyAccessExpression 2111056 2111074 + PropertyAccessExpression 2111056 2111067 + Identifier 2111056 2111060 + Identifier 2111061 2111067 + Identifier 2111068 2111074 + BarBarToken 2111075 2111078 + PrefixUnaryExpression 2111078 2111123 + CallExpression 2111080 2111123 + Identifier 2111080 2111092 + PropertyAccessExpression 2111093 2111122 + PropertyAccessExpression 2111093 2111111 + PropertyAccessExpression 2111093 2111104 + Identifier 2111093 2111097 + Identifier 2111098 2111104 + Identifier 2111105 2111111 + Identifier 2111112 2111122 + Block 2111124 2111164 + ReturnStatement 2111126 2111153 + FalseKeyword 2111146 2111152 + VariableStatement 2111164 2111262 + VariableDeclarationList 2111164 2111261 + VariableDeclaration 2111181 2111261 + Identifier 2111181 2111201 + CallExpression 2111203 2111261 + Identifier 2111203 2111237 + FalseKeyword 2111238 2111260 + IfStatement 2111262 2111311 + PrefixUnaryExpression 2111276 2111296 + Identifier 2111277 2111296 + ReturnStatement 2111297 2111311 + FalseKeyword 2111304 2111310 + VariableStatement 2111311 2111423 + VariableDeclarationList 2111311 2111422 + VariableDeclaration 2111328 2111422 + Identifier 2111328 2111346 + CallExpression 2111348 2111422 + Identifier 2111348 2111368 + PropertyAccessExpression 2111369 2111398 + PropertyAccessExpression 2111369 2111387 + PropertyAccessExpression 2111369 2111380 + Identifier 2111369 2111373 + Identifier 2111374 2111380 + Identifier 2111381 2111387 + Identifier 2111388 2111398 + TrueKeyword 2111399 2111421 + ReturnStatement 2111423 2111482 + BinaryExpression 2111439 2111481 + Identifier 2111439 2111457 + EqualsEqualsEqualsToken 2111457 2111461 + Identifier 2111461 2111481 + FunctionDeclaration 2111489 2117274 + Identifier 2111505 2111527 + Parameter 2111528 2111552 + Identifier 2111528 2111532 + TypeReference 2111533 2111552 + Identifier 2111533 2111552 + Parameter 2111553 2111586 + Identifier 2111553 2111564 + TypeOperator 2111565 2111586 + ArrayType 2111574 2111586 + TypeReference 2111574 2111584 + Identifier 2111574 2111584 + Parameter 2111587 2111615 + Identifier 2111587 2111592 + TypeOperator 2111593 2111615 + ArrayType 2111602 2111615 + TypeReference 2111602 2111613 + Identifier 2111602 2111613 + Parameter 2111616 2111648 + Identifier 2111616 2111628 + QuestionToken 2111628 2111629 + TypeReference 2111630 2111648 + Identifier 2111630 2111648 + Block 2111649 2117274 + VariableStatement 2111651 2111710 + VariableDeclarationList 2111651 2111709 + VariableDeclaration 2111666 2111709 + Identifier 2111666 2111678 + CallExpression 2111680 2111709 + Identifier 2111680 2111703 + Identifier 2111704 2111708 + IfStatement 2111710 2111912 + BinaryExpression 2111724 2111740 + Identifier 2111724 2111735 + GreaterThanToken 2111735 2111737 + PrefixUnaryExpression 2111737 2111740 + NumericLiteral 2111739 2111740 + Block 2111741 2111912 + ReturnStatement 2111743 2111901 + CallExpression 2111763 2111900 + Identifier 2111763 2111787 + ElementAccessExpression 2111788 2111805 + Identifier 2111788 2111792 + Identifier 2111793 2111804 + PropertyAccessExpression 2111806 2111899 + Identifier 2111806 2111818 + Identifier 2111819 2111899 + VariableStatement 2111912 2111957 + VariableDeclarationList 2111912 2111956 + VariableDeclaration 2111925 2111956 + Identifier 2111925 2111929 + PropertyAccessExpression 2111931 2111956 + Identifier 2111931 2111938 + Identifier 2111939 2111956 + VariableStatement 2111957 2112030 + VariableDeclarationList 2111957 2112029 + VariableDeclaration 2111998 2112029 + Identifier 2111998 2112002 + PropertyAccessExpression 2112004 2112029 + Identifier 2112004 2112011 + Identifier 2112012 2112029 + VariableStatement 2112030 2112107 + VariableDeclarationList 2112030 2112106 + VariableDeclaration 2112070 2112106 + Identifier 2112070 2112079 + PropertyAccessExpression 2112081 2112106 + Identifier 2112081 2112088 + Identifier 2112089 2112106 + VariableStatement 2112107 2112229 + VariableDeclarationList 2112107 2112228 + VariableDeclaration 2112192 2112228 + Identifier 2112192 2112201 + PropertyAccessExpression 2112203 2112228 + Identifier 2112203 2112210 + Identifier 2112211 2112228 + VariableStatement 2112229 2112357 + VariableDeclarationList 2112229 2112356 + VariableDeclaration 2112316 2112356 + Identifier 2112316 2112333 + UnionType 2112334 2112356 + TypeReference 2112334 2112344 + Identifier 2112334 2112344 + UndefinedKeyword 2112346 2112356 + ForOfStatement 2112357 2113063 + VariableDeclarationList 2112372 2112381 + VariableDeclaration 2112377 2112381 + Identifier 2112377 2112381 + Identifier 2112384 2112395 + Block 2112396 2113063 + VariableStatement 2112398 2112458 + VariableDeclarationList 2112398 2112457 + VariableDeclaration 2112417 2112457 + Identifier 2112417 2112430 + CallExpression 2112432 2112457 + Identifier 2112432 2112452 + Identifier 2112453 2112456 + VariableStatement 2112458 2112516 + VariableDeclarationList 2112458 2112515 + VariableDeclaration 2112477 2112515 + Identifier 2112477 2112490 + CallExpression 2112492 2112515 + Identifier 2112492 2112510 + Identifier 2112511 2112514 + IfStatement 2112516 2112698 + BinaryExpression 2112584 2112602 + Identifier 2112584 2112596 + LessThanToken 2112596 2112598 + Identifier 2112598 2112602 + Block 2112603 2112698 + ExpressionStatement 2112605 2112642 + BinaryExpression 2112605 2112641 + Identifier 2112605 2112626 + EqualsToken 2112626 2112628 + Identifier 2112628 2112641 + ExpressionStatement 2112642 2112683 + BinaryExpression 2112642 2112682 + Identifier 2112642 2112676 + EqualsToken 2112676 2112678 + Identifier 2112678 2112682 + ExpressionStatement 2112698 2112746 + BinaryExpression 2112698 2112745 + Identifier 2112698 2112715 + EqualsToken 2112715 2112717 + CallExpression 2112717 2112745 + PropertyAccessExpression 2112717 2112726 + Identifier 2112717 2112722 + Identifier 2112723 2112726 + Identifier 2112727 2112730 + Identifier 2112731 2112744 + IfStatement 2112746 2112955 + BinaryExpression 2112876 2112929 + BinaryExpression 2112876 2112902 + Identifier 2112876 2112888 + LessThanToken 2112888 2112890 + PropertyAccessExpression 2112890 2112902 + Identifier 2112890 2112895 + Identifier 2112896 2112902 + AmpersandAmpersandToken 2112902 2112905 + BinaryExpression 2112905 2112929 + Identifier 2112905 2112918 + GreaterThanToken 2112918 2112920 + Identifier 2112920 2112929 + ExpressionStatement 2112930 2112955 + BinaryExpression 2112930 2112954 + Identifier 2112930 2112939 + EqualsToken 2112939 2112941 + Identifier 2112941 2112954 + IfStatement 2112955 2113052 + BinaryExpression 2112973 2113026 + BinaryExpression 2112973 2112999 + PropertyAccessExpression 2112973 2112984 + Identifier 2112973 2112977 + Identifier 2112978 2112984 + LessThanToken 2112984 2112986 + Identifier 2112986 2112999 + AmpersandAmpersandToken 2112999 2113002 + BinaryExpression 2113002 2113026 + Identifier 2113002 2113015 + LessThanToken 2113015 2113017 + Identifier 2113017 2113026 + ExpressionStatement 2113027 2113052 + BinaryExpression 2113027 2113051 + Identifier 2113027 2113036 + EqualsToken 2113036 2113038 + Identifier 2113038 2113051 + VariableStatement 2113063 2113142 + VariableDeclarationList 2113063 2113141 + VariableDeclaration 2113078 2113141 + Identifier 2113078 2113095 + CallExpression 2113097 2113141 + Identifier 2113097 2113102 + Identifier 2113103 2113113 + Identifier 2113114 2113140 + VariableStatement 2113142 2113260 + VariableDeclarationList 2113142 2113259 + VariableDeclaration 2113157 2113259 + Identifier 2113157 2113172 + ConditionalExpression 2113174 2113259 + Identifier 2113174 2113191 + QuestionToken 2113191 2113193 + Identifier 2113193 2113197 + ColonToken 2113197 2113212 + ConditionalExpression 2113212 2113259 + BinaryExpression 2113212 2113222 + Identifier 2113212 2113216 + LessThanToken 2113216 2113218 + Identifier 2113218 2113222 + QuestionToken 2113222 2113224 + BinaryExpression 2113224 2113240 + BinaryExpression 2113224 2113234 + Identifier 2113224 2113228 + PlusToken 2113228 2113230 + StringLiteral 2113230 2113234 + PlusToken 2113234 2113236 + Identifier 2113236 2113240 + ColonToken 2113240 2113255 + Identifier 2113255 2113259 + VariableStatement 2113260 2113396 + VariableDeclarationList 2113260 2113395 + VariableDeclaration 2113275 2113395 + Identifier 2113275 2113294 + BinaryExpression 2113296 2113395 + BinaryExpression 2113296 2113359 + BinaryExpression 2113296 2113338 + PrefixUnaryExpression 2113296 2113314 + Identifier 2113298 2113314 + AmpersandAmpersandToken 2113314 2113317 + BinaryExpression 2113317 2113338 + Identifier 2113317 2113332 + EqualsEqualsEqualsToken 2113332 2113336 + NumericLiteral 2113336 2113338 + AmpersandAmpersandToken 2113338 2113341 + BinaryExpression 2113341 2113359 + PropertyAccessExpression 2113341 2113353 + Identifier 2113341 2113346 + Identifier 2113347 2113353 + EqualsEqualsEqualsToken 2113353 2113357 + NumericLiteral 2113357 2113359 + AmpersandAmpersandToken 2113359 2113362 + CallExpression 2113362 2113395 + Identifier 2113362 2113389 + Identifier 2113390 2113394 + IfStatement 2113396 2113646 + BinaryExpression 2113410 2113448 + Identifier 2113410 2113428 + AmpersandAmpersandToken 2113428 2113431 + CallExpression 2113431 2113448 + Identifier 2113431 2113442 + Identifier 2113443 2113447 + Block 2113449 2113646 + ReturnStatement 2113451 2113635 + CallExpression 2113471 2113634 + Identifier 2113471 2113496 + Identifier 2113497 2113501 + PropertyAccessExpression 2113502 2113633 + Identifier 2113502 2113514 + Identifier 2113515 2113633 + VariableStatement 2113646 2114227 + VariableDeclarationList 2113646 2114226 + VariableDeclaration 2113661 2114226 + Identifier 2113661 2113667 + ConditionalExpression 2113669 2114226 + CallExpression 2113669 2113687 + Identifier 2113669 2113681 + Identifier 2113682 2113686 + QuestionToken 2113687 2113689 + ConditionalExpression 2113689 2113939 + Identifier 2113689 2113719 + QuestionToken 2113719 2113721 + PropertyAccessExpression 2113721 2113825 + Identifier 2113721 2113733 + Identifier 2113734 2113825 + ColonToken 2113825 2113827 + PropertyAccessExpression 2113827 2113939 + Identifier 2113827 2113856 + Identifier 2113857 2113939 + ColonToken 2113939 2113941 + ConditionalExpression 2113941 2114226 + Identifier 2113941 2113971 + QuestionToken 2113971 2113973 + PropertyAccessExpression 2113973 2114025 + Identifier 2113973 2113985 + Identifier 2113986 2114025 + ColonToken 2114025 2114027 + ConditionalExpression 2114027 2114226 + Identifier 2114027 2114059 + QuestionToken 2114059 2114061 + PropertyAccessExpression 2114061 2114168 + Identifier 2114061 2114073 + Identifier 2114074 2114168 + ColonToken 2114168 2114170 + PropertyAccessExpression 2114170 2114226 + Identifier 2114170 2114195 + Identifier 2114196 2114226 + IfStatement 2114227 2117267 + BinaryExpression 2114243 2114281 + BinaryExpression 2114243 2114260 + Identifier 2114243 2114246 + LessThanToken 2114246 2114248 + PropertyAccessExpression 2114248 2114260 + Identifier 2114248 2114253 + Identifier 2114254 2114260 + AmpersandAmpersandToken 2114260 2114263 + BinaryExpression 2114263 2114281 + PropertyAccessExpression 2114263 2114275 + Identifier 2114263 2114268 + Identifier 2114269 2114275 + LessThanToken 2114275 2114277 + Identifier 2114277 2114281 + Block 2114282 2114945 + IfStatement 2114284 2114745 + Identifier 2114369 2114380 + Block 2114381 2114745 + VariableStatement 2114383 2114597 + VariableDeclarationList 2114383 2114596 + VariableDeclaration 2114404 2114596 + Identifier 2114404 2114410 + CallExpression 2114412 2114596 + Identifier 2114412 2114436 + Identifier 2114437 2114458 + PropertyAccessExpression 2114459 2114562 + Identifier 2114459 2114471 + Identifier 2114472 2114562 + PropertyAccessExpression 2114563 2114575 + Identifier 2114563 2114568 + Identifier 2114569 2114575 + Identifier 2114576 2114585 + Identifier 2114586 2114595 + ExpressionStatement 2114597 2114667 + BinaryExpression 2114597 2114666 + Identifier 2114597 2114620 + EqualsToken 2114620 2114622 + CallExpression 2114622 2114666 + Identifier 2114622 2114646 + Identifier 2114647 2114652 + Identifier 2114653 2114665 + ReturnStatement 2114667 2114730 + CallExpression 2114691 2114729 + Identifier 2114691 2114716 + Identifier 2114717 2114721 + Identifier 2114722 2114728 + ReturnStatement 2114745 2114934 + CallExpression 2114765 2114933 + Identifier 2114765 2114790 + Identifier 2114791 2114795 + PropertyAccessExpression 2114796 2114899 + Identifier 2114796 2114808 + Identifier 2114809 2114899 + PropertyAccessExpression 2114900 2114912 + Identifier 2114900 2114905 + Identifier 2114906 2114912 + Identifier 2114913 2114922 + Identifier 2114923 2114932 + IfStatement 2114959 2117267 + BinaryExpression 2114964 2114981 + PropertyAccessExpression 2114964 2114975 + Identifier 2114964 2114968 + Identifier 2114969 2114975 + LessThanToken 2114975 2114977 + Identifier 2114977 2114981 + Block 2114982 2116420 + VariableStatement 2114984 2115115 + VariableDeclarationList 2114984 2115114 + VariableDeclaration 2115091 2115114 + Identifier 2115091 2115102 + TypeReference 2115103 2115114 + Identifier 2115103 2115114 + IfStatement 2115115 2115547 + Identifier 2115133 2115144 + Block 2115145 2115414 + VariableStatement 2115147 2115260 + VariableDeclarationList 2115147 2115259 + VariableDeclaration 2115168 2115259 + Identifier 2115168 2115174 + CallExpression 2115176 2115259 + Identifier 2115176 2115200 + Identifier 2115201 2115222 + Identifier 2115223 2115229 + Identifier 2115230 2115245 + PropertyAccessExpression 2115246 2115258 + Identifier 2115246 2115251 + Identifier 2115252 2115258 + ExpressionStatement 2115260 2115330 + BinaryExpression 2115260 2115329 + Identifier 2115260 2115283 + EqualsToken 2115283 2115285 + CallExpression 2115285 2115329 + Identifier 2115285 2115309 + Identifier 2115310 2115315 + Identifier 2115316 2115328 + ExpressionStatement 2115330 2115399 + BinaryExpression 2115330 2115398 + Identifier 2115330 2115358 + EqualsToken 2115358 2115360 + CallExpression 2115360 2115398 + Identifier 2115360 2115385 + Identifier 2115386 2115390 + Identifier 2115391 2115397 + Block 2115432 2115547 + ExpressionStatement 2115434 2115532 + BinaryExpression 2115434 2115531 + Identifier 2115434 2115462 + EqualsToken 2115462 2115464 + CallExpression 2115464 2115531 + Identifier 2115464 2115489 + Identifier 2115490 2115494 + Identifier 2115495 2115501 + Identifier 2115502 2115517 + PropertyAccessExpression 2115518 2115530 + Identifier 2115518 2115523 + Identifier 2115524 2115530 + VariableStatement 2115547 2115685 + VariableDeclarationList 2115547 2115684 + VariableDeclaration 2115566 2115684 + Identifier 2115566 2115576 + ElementAccessExpression 2115578 2115684 + PropertyAccessExpression 2115578 2115620 + PropertyAccessExpression 2115578 2115608 + Identifier 2115578 2115595 + QuestionDotToken 2115595 2115597 + Identifier 2115597 2115608 + QuestionDotToken 2115608 2115610 + Identifier 2115610 2115620 + ConditionalExpression 2115621 2115683 + PropertyAccessExpression 2115621 2115651 + Identifier 2115621 2115637 + Identifier 2115638 2115651 + QuestionToken 2115651 2115653 + BinaryExpression 2115653 2115669 + PropertyAccessExpression 2115653 2115665 + Identifier 2115653 2115658 + Identifier 2115659 2115665 + PlusToken 2115665 2115667 + NumericLiteral 2115667 2115669 + ColonToken 2115669 2115671 + PropertyAccessExpression 2115671 2115683 + Identifier 2115671 2115676 + Identifier 2115677 2115683 + IfStatement 2115685 2116377 + Identifier 2115703 2115712 + Block 2115713 2116377 + VariableStatement 2115715 2116199 + VariableDeclarationList 2115715 2116198 + VariableDeclaration 2115738 2116198 + Identifier 2115738 2115753 + TypeReference 2115754 2115777 + Identifier 2115754 2115777 + ConditionalExpression 2115779 2116198 + CallExpression 2115779 2115812 + Identifier 2115779 2115796 + PropertyAccessExpression 2115797 2115811 + Identifier 2115797 2115806 + Identifier 2115807 2115811 + QuestionToken 2115812 2115814 + ArrayLiteralExpression 2115814 2115887 + PropertyAccessExpression 2115816 2115886 + Identifier 2115816 2115827 + Identifier 2115828 2115886 + ColonToken 2115887 2115910 + ConditionalExpression 2115910 2116198 + CallExpression 2115910 2115937 + Identifier 2115910 2115926 + Identifier 2115927 2115936 + QuestionToken 2115937 2115939 + ArrayLiteralExpression 2115939 2116050 + PropertyAccessExpression 2115941 2116005 + Identifier 2115941 2115952 + Identifier 2115953 2116005 + CallExpression 2116006 2116049 + Identifier 2116006 2116013 + CallExpression 2116014 2116048 + Identifier 2116014 2116032 + PropertyAccessExpression 2116033 2116047 + Identifier 2116033 2116042 + Identifier 2116043 2116047 + ColonToken 2116050 2116073 + ArrayLiteralExpression 2116073 2116198 + PropertyAccessExpression 2116075 2116121 + Identifier 2116075 2116086 + Identifier 2116087 2116121 + ConditionalExpression 2116122 2116197 + PrefixUnaryExpression 2116122 2116138 + PropertyAccessExpression 2116124 2116138 + Identifier 2116124 2116133 + Identifier 2116134 2116138 + QuestionToken 2116138 2116140 + PropertyAccessExpression 2116140 2116152 + Identifier 2116140 2116145 + Identifier 2116146 2116152 + ColonToken 2116152 2116154 + CallExpression 2116154 2116197 + Identifier 2116154 2116161 + CallExpression 2116162 2116196 + Identifier 2116162 2116180 + PropertyAccessExpression 2116181 2116195 + Identifier 2116181 2116190 + Identifier 2116191 2116195 + VariableStatement 2116199 2116294 + VariableDeclarationList 2116199 2116293 + VariableDeclaration 2116222 2116293 + Identifier 2116222 2116237 + CallExpression 2116239 2116293 + Identifier 2116239 2116263 + Identifier 2116264 2116273 + SpreadElement 2116274 2116292 + Identifier 2116278 2116292 + ReturnStatement 2116294 2116362 + CallExpression 2116318 2116361 + Identifier 2116318 2116333 + Identifier 2116334 2116344 + Identifier 2116345 2116360 + ReturnStatement 2116377 2116409 + Identifier 2116397 2116408 + Block 2116434 2117267 + VariableStatement 2116436 2116571 + VariableDeclarationList 2116436 2116570 + VariableDeclaration 2116517 2116570 + Identifier 2116517 2116527 + CallExpression 2116529 2116570 + PropertyAccessExpression 2116529 2116553 + Identifier 2116529 2116537 + Identifier 2116538 2116553 + CallExpression 2116554 2116569 + PropertyAccessExpression 2116554 2116564 + Identifier 2116554 2116558 + Identifier 2116559 2116564 + Identifier 2116565 2116568 + VariableStatement 2116571 2116618 + VariableDeclarationList 2116571 2116617 + VariableDeclaration 2116590 2116617 + Identifier 2116590 2116594 + PropertyAccessExpression 2116596 2116617 + CallExpression 2116596 2116613 + Identifier 2116596 2116602 + Identifier 2116603 2116612 + Identifier 2116614 2116617 + VariableStatement 2116618 2116662 + VariableDeclarationList 2116618 2116661 + VariableDeclaration 2116635 2116661 + Identifier 2116635 2116639 + PropertyAccessExpression 2116641 2116661 + CallExpression 2116641 2116657 + Identifier 2116641 2116646 + Identifier 2116647 2116656 + Identifier 2116658 2116661 + IfStatement 2116662 2116733 + BinaryExpression 2116680 2116691 + Identifier 2116680 2116683 + EqualsEqualsEqualsToken 2116683 2116687 + Identifier 2116687 2116691 + Block 2116692 2116733 + ExpressionStatement 2116694 2116718 + PostfixUnaryExpression 2116694 2116717 + Identifier 2116694 2116715 + ExpressionStatement 2116733 2116787 + CallExpression 2116733 2116786 + Identifier 2116733 2116765 + Identifier 2116766 2116775 + Identifier 2116776 2116780 + Identifier 2116781 2116785 + IfStatement 2116787 2117132 + Identifier 2116805 2116816 + Block 2116817 2117132 + VariableStatement 2116819 2116932 + VariableDeclarationList 2116819 2116931 + VariableDeclaration 2116840 2116931 + Identifier 2116840 2116846 + CallExpression 2116848 2116931 + Identifier 2116848 2116872 + Identifier 2116873 2116894 + Identifier 2116895 2116901 + Identifier 2116902 2116917 + PropertyAccessExpression 2116918 2116930 + Identifier 2116918 2116923 + Identifier 2116924 2116930 + ExpressionStatement 2116932 2117002 + BinaryExpression 2116932 2117001 + Identifier 2116932 2116955 + EqualsToken 2116955 2116957 + CallExpression 2116957 2117001 + Identifier 2116957 2116981 + Identifier 2116982 2116987 + Identifier 2116988 2117000 + ReturnStatement 2117002 2117117 + CallExpression 2117026 2117116 + Identifier 2117026 2117071 + CallExpression 2117072 2117097 + Identifier 2117072 2117091 + Identifier 2117092 2117096 + Identifier 2117098 2117108 + Identifier 2117109 2117115 + ReturnStatement 2117132 2117256 + CallExpression 2117152 2117255 + Identifier 2117152 2117181 + CallExpression 2117182 2117207 + Identifier 2117182 2117201 + Identifier 2117202 2117206 + Identifier 2117208 2117218 + Identifier 2117219 2117225 + Identifier 2117226 2117241 + PropertyAccessExpression 2117242 2117254 + Identifier 2117242 2117247 + Identifier 2117248 2117254 + FunctionDeclaration 2117274 2120258 + Identifier 2117290 2117316 + Parameter 2117317 2117327 + Identifier 2117317 2117321 + TypeReference 2117322 2117327 + Identifier 2117322 2117327 + Parameter 2117328 2117361 + Identifier 2117328 2117339 + TypeOperator 2117340 2117361 + ArrayType 2117349 2117361 + TypeReference 2117349 2117359 + Identifier 2117349 2117359 + Parameter 2117362 2117397 + Identifier 2117362 2117376 + TypeReference 2117377 2117397 + Identifier 2117377 2117387 + TypeReference 2117388 2117396 + Identifier 2117388 2117396 + Parameter 2117398 2117430 + Identifier 2117398 2117410 + QuestionToken 2117410 2117411 + TypeReference 2117412 2117430 + Identifier 2117412 2117430 + Block 2117431 2120258 + VariableStatement 2117433 2117481 + VariableDeclarationList 2117433 2117480 + VariableDeclaration 2117448 2117480 + Identifier 2117448 2117457 + PropertyAccessExpression 2117459 2117480 + Identifier 2117459 2117473 + Identifier 2117474 2117480 + IfStatement 2117481 2118319 + BinaryExpression 2117526 2117549 + PropertyAccessExpression 2117526 2117543 + Identifier 2117526 2117536 + Identifier 2117537 2117543 + EqualsEqualsEqualsToken 2117543 2117547 + NumericLiteral 2117547 2117549 + Block 2117550 2118319 + VariableStatement 2117552 2117592 + VariableDeclarationList 2117552 2117591 + VariableDeclaration 2117571 2117591 + Identifier 2117571 2117575 + ElementAccessExpression 2117577 2117591 + Identifier 2117577 2117588 + NumericLiteral 2117589 2117590 + VariableStatement 2117592 2117662 + VariableDeclarationList 2117592 2117661 + VariableDeclaration 2117611 2117661 + Identifier 2117611 2117615 + CallExpression 2117617 2117661 + Identifier 2117617 2117641 + PropertyAccessExpression 2117642 2117660 + Identifier 2117642 2117645 + Identifier 2117646 2117660 + VariableStatement 2117662 2117715 + VariableDeclarationList 2117662 2117714 + VariableDeclaration 2117681 2117714 + Identifier 2117681 2117685 + CallExpression 2117687 2117714 + Identifier 2117687 2117694 + PropertyAccessExpression 2117695 2117713 + Identifier 2117695 2117698 + Identifier 2117699 2117713 + IfStatement 2117715 2118122 + Identifier 2117733 2117744 + Block 2117745 2118122 + VariableStatement 2117747 2117918 + VariableDeclarationList 2117747 2117917 + VariableDeclaration 2117768 2117917 + Identifier 2117768 2117774 + CallExpression 2117776 2117917 + Identifier 2117776 2117800 + Identifier 2117801 2117822 + PropertyAccessExpression 2117823 2117871 + Identifier 2117823 2117835 + Identifier 2117836 2117871 + ConditionalExpression 2117872 2117906 + BinaryExpression 2117872 2117882 + Identifier 2117872 2117876 + LessThanToken 2117876 2117878 + Identifier 2117878 2117882 + QuestionToken 2117882 2117884 + BinaryExpression 2117884 2117900 + BinaryExpression 2117884 2117894 + Identifier 2117884 2117888 + PlusToken 2117888 2117890 + StringLiteral 2117890 2117894 + PlusToken 2117894 2117896 + Identifier 2117896 2117900 + ColonToken 2117900 2117902 + Identifier 2117902 2117906 + Identifier 2117907 2117916 + ExpressionStatement 2117918 2117988 + BinaryExpression 2117918 2117987 + Identifier 2117918 2117941 + EqualsToken 2117941 2117943 + CallExpression 2117943 2117987 + Identifier 2117943 2117967 + Identifier 2117968 2117973 + Identifier 2117974 2117986 + ReturnStatement 2117988 2118107 + CallExpression 2118012 2118106 + Identifier 2118012 2118057 + CallExpression 2118058 2118083 + Identifier 2118058 2118077 + Identifier 2118078 2118082 + Identifier 2118084 2118098 + Identifier 2118099 2118105 + ReturnStatement 2118122 2118308 + CallExpression 2118142 2118307 + Identifier 2118142 2118171 + CallExpression 2118172 2118197 + Identifier 2118172 2118191 + Identifier 2118192 2118196 + Identifier 2118198 2118212 + PropertyAccessExpression 2118213 2118261 + Identifier 2118213 2118225 + Identifier 2118226 2118261 + ConditionalExpression 2118262 2118296 + BinaryExpression 2118262 2118272 + Identifier 2118262 2118266 + LessThanToken 2118266 2118268 + Identifier 2118268 2118272 + QuestionToken 2118272 2118274 + BinaryExpression 2118274 2118290 + BinaryExpression 2118274 2118284 + Identifier 2118274 2118278 + PlusToken 2118278 2118280 + StringLiteral 2118280 2118284 + PlusToken 2118284 2118286 + Identifier 2118286 2118290 + ColonToken 2118290 2118292 + Identifier 2118292 2118296 + Identifier 2118297 2118306 + VariableStatement 2118319 2118387 + VariableDeclarationList 2118319 2118386 + VariableDeclaration 2118360 2118386 + Identifier 2118360 2118374 + PrefixUnaryExpression 2118376 2118386 + Identifier 2118378 2118386 + VariableStatement 2118387 2118426 + VariableDeclarationList 2118387 2118425 + VariableDeclaration 2118400 2118425 + Identifier 2118400 2118414 + Identifier 2118416 2118425 + ForOfStatement 2118426 2118832 + VariableDeclarationList 2118441 2118450 + VariableDeclaration 2118446 2118450 + Identifier 2118446 2118450 + Identifier 2118453 2118464 + Block 2118465 2118832 + VariableStatement 2118467 2118537 + VariableDeclarationList 2118467 2118536 + VariableDeclaration 2118486 2118536 + Identifier 2118486 2118490 + CallExpression 2118492 2118536 + Identifier 2118492 2118516 + PropertyAccessExpression 2118517 2118535 + Identifier 2118517 2118520 + Identifier 2118521 2118535 + VariableStatement 2118537 2118590 + VariableDeclarationList 2118537 2118589 + VariableDeclaration 2118556 2118589 + Identifier 2118556 2118560 + CallExpression 2118562 2118589 + Identifier 2118562 2118569 + PropertyAccessExpression 2118570 2118588 + Identifier 2118570 2118573 + Identifier 2118574 2118588 + IfStatement 2118590 2118821 + BinaryExpression 2118608 2118622 + Identifier 2118608 2118611 + GreaterThanToken 2118611 2118613 + Identifier 2118613 2118622 + Block 2118623 2118703 + ExpressionStatement 2118625 2118688 + BinaryExpression 2118625 2118687 + Identifier 2118625 2118656 + EqualsToken 2118656 2118658 + CallExpression 2118658 2118687 + PropertyAccessExpression 2118658 2118667 + Identifier 2118658 2118663 + Identifier 2118664 2118667 + Identifier 2118668 2118681 + Identifier 2118682 2118686 + IfStatement 2118721 2118821 + BinaryExpression 2118726 2118740 + Identifier 2118726 2118729 + LessThanToken 2118729 2118731 + Identifier 2118731 2118740 + Block 2118741 2118821 + ExpressionStatement 2118743 2118806 + BinaryExpression 2118743 2118805 + Identifier 2118743 2118774 + EqualsToken 2118774 2118776 + CallExpression 2118776 2118805 + PropertyAccessExpression 2118776 2118785 + Identifier 2118776 2118781 + Identifier 2118782 2118785 + Identifier 2118786 2118799 + Identifier 2118800 2118804 + IfStatement 2118832 2119630 + BinaryExpression 2118846 2118903 + BinaryExpression 2118846 2118873 + Identifier 2118846 2118859 + ExclamationEqualsEqualsToken 2118859 2118863 + PrefixUnaryExpression 2118863 2118873 + Identifier 2118865 2118873 + AmpersandAmpersandToken 2118873 2118876 + BinaryExpression 2118876 2118903 + Identifier 2118876 2118890 + ExclamationEqualsEqualsToken 2118890 2118894 + Identifier 2118894 2118903 + Block 2118904 2119630 + IfStatement 2118906 2119373 + Identifier 2118924 2118935 + Block 2118936 2119373 + VariableStatement 2118938 2119169 + VariableDeclarationList 2118938 2119168 + VariableDeclaration 2118959 2119168 + Identifier 2118959 2118965 + CallExpression 2118967 2119168 + Identifier 2118967 2118991 + Identifier 2118992 2119013 + PropertyAccessExpression 2119014 2119127 + Identifier 2119014 2119026 + Identifier 2119027 2119127 + Identifier 2119128 2119137 + Identifier 2119138 2119152 + Identifier 2119153 2119167 + ExpressionStatement 2119169 2119239 + BinaryExpression 2119169 2119238 + Identifier 2119169 2119192 + EqualsToken 2119192 2119194 + CallExpression 2119194 2119238 + Identifier 2119194 2119218 + Identifier 2119219 2119224 + Identifier 2119225 2119237 + ReturnStatement 2119239 2119358 + CallExpression 2119263 2119357 + Identifier 2119263 2119308 + CallExpression 2119309 2119334 + Identifier 2119309 2119328 + Identifier 2119329 2119333 + Identifier 2119335 2119349 + Identifier 2119350 2119356 + ReturnStatement 2119373 2119619 + CallExpression 2119393 2119618 + Identifier 2119393 2119422 + CallExpression 2119423 2119448 + Identifier 2119423 2119442 + Identifier 2119443 2119447 + Identifier 2119449 2119463 + PropertyAccessExpression 2119464 2119577 + Identifier 2119464 2119476 + Identifier 2119477 2119577 + Identifier 2119578 2119587 + Identifier 2119588 2119602 + Identifier 2119603 2119617 + IfStatement 2119630 2120043 + Identifier 2119644 2119655 + Block 2119656 2120043 + VariableStatement 2119658 2119851 + VariableDeclarationList 2119658 2119850 + VariableDeclaration 2119675 2119850 + Identifier 2119675 2119681 + CallExpression 2119683 2119850 + Identifier 2119683 2119707 + Identifier 2119708 2119729 + PropertyAccessExpression 2119730 2119778 + Identifier 2119730 2119742 + Identifier 2119743 2119778 + ConditionalExpression 2119779 2119839 + BinaryExpression 2119779 2119807 + Identifier 2119779 2119793 + EqualsEqualsEqualsToken 2119793 2119797 + PrefixUnaryExpression 2119797 2119807 + Identifier 2119799 2119807 + QuestionToken 2119807 2119809 + Identifier 2119809 2119823 + ColonToken 2119823 2119825 + Identifier 2119825 2119839 + Identifier 2119840 2119849 + ExpressionStatement 2119851 2119917 + BinaryExpression 2119851 2119916 + Identifier 2119851 2119870 + EqualsToken 2119870 2119872 + CallExpression 2119872 2119916 + Identifier 2119872 2119896 + Identifier 2119897 2119902 + Identifier 2119903 2119915 + ReturnStatement 2119917 2120032 + CallExpression 2119937 2120031 + Identifier 2119937 2119982 + CallExpression 2119983 2120008 + Identifier 2119983 2120002 + Identifier 2120003 2120007 + Identifier 2120009 2120023 + Identifier 2120024 2120030 + ReturnStatement 2120043 2120251 + CallExpression 2120059 2120250 + Identifier 2120059 2120088 + CallExpression 2120089 2120114 + Identifier 2120089 2120108 + Identifier 2120109 2120113 + Identifier 2120115 2120129 + PropertyAccessExpression 2120130 2120178 + Identifier 2120130 2120142 + Identifier 2120143 2120178 + ConditionalExpression 2120179 2120239 + BinaryExpression 2120179 2120207 + Identifier 2120179 2120193 + EqualsEqualsEqualsToken 2120193 2120197 + PrefixUnaryExpression 2120197 2120207 + Identifier 2120199 2120207 + QuestionToken 2120207 2120209 + Identifier 2120209 2120223 + ColonToken 2120223 2120225 + Identifier 2120225 2120239 + Identifier 2120240 2120249 + FunctionDeclaration 2120258 2144145 + Identifier 2120274 2120286 + Parameter 2120287 2120311 + Identifier 2120287 2120291 + TypeReference 2120292 2120311 + Identifier 2120292 2120311 + Parameter 2120312 2120345 + Identifier 2120312 2120323 + TypeOperator 2120324 2120345 + ArrayType 2120333 2120345 + TypeReference 2120333 2120343 + Identifier 2120333 2120343 + Parameter 2120346 2120390 + Identifier 2120346 2120365 + UnionType 2120366 2120390 + ArrayType 2120366 2120378 + TypeReference 2120366 2120376 + Identifier 2120366 2120376 + UndefinedKeyword 2120380 2120390 + Parameter 2120391 2120412 + Identifier 2120391 2120401 + TypeReference 2120402 2120412 + Identifier 2120402 2120412 + Parameter 2120413 2120444 + Identifier 2120413 2120428 + TypeReference 2120429 2120444 + Identifier 2120429 2120444 + Parameter 2120445 2120477 + Identifier 2120445 2120457 + QuestionToken 2120457 2120458 + TypeReference 2120459 2120477 + Identifier 2120459 2120477 + TypeReference 2120479 2120489 + Identifier 2120479 2120489 + Block 2120489 2144145 + VariableStatement 2120491 2120576 + VariableDeclarationList 2120491 2120575 + VariableDeclaration 2120506 2120575 + Identifier 2120506 2120523 + BinaryExpression 2120525 2120575 + PropertyAccessExpression 2120525 2120535 + Identifier 2120525 2120530 + Identifier 2120531 2120535 + EqualsEqualsEqualsToken 2120535 2120539 + PropertyAccessExpression 2120539 2120575 + Identifier 2120539 2120550 + Identifier 2120551 2120575 + VariableStatement 2120576 2120641 + VariableDeclarationList 2120576 2120640 + VariableDeclaration 2120591 2120640 + Identifier 2120591 2120603 + BinaryExpression 2120605 2120640 + PropertyAccessExpression 2120605 2120615 + Identifier 2120605 2120610 + Identifier 2120611 2120615 + EqualsEqualsEqualsToken 2120615 2120619 + PropertyAccessExpression 2120619 2120640 + Identifier 2120619 2120630 + Identifier 2120631 2120640 + VariableStatement 2120641 2120722 + VariableDeclarationList 2120641 2120721 + VariableDeclaration 2120656 2120721 + Identifier 2120656 2120689 + CallExpression 2120691 2120721 + Identifier 2120691 2120715 + Identifier 2120716 2120720 + VariableStatement 2120722 2120785 + VariableDeclarationList 2120722 2120784 + VariableDeclaration 2120737 2120784 + Identifier 2120737 2120755 + CallExpression 2120757 2120784 + Identifier 2120757 2120778 + Identifier 2120779 2120783 + VariableStatement 2120785 2120858 + VariableDeclarationList 2120785 2120857 + VariableDeclaration 2120800 2120857 + Identifier 2120800 2120813 + BinaryExpression 2120815 2120857 + PropertyAccessExpression 2120815 2120825 + Identifier 2120815 2120820 + Identifier 2120821 2120825 + EqualsEqualsEqualsToken 2120825 2120829 + PropertyAccessExpression 2120829 2120857 + Identifier 2120829 2120840 + Identifier 2120841 2120857 + VariableStatement 2120858 2120941 + VariableDeclarationList 2120858 2120940 + VariableDeclaration 2120873 2120940 + Identifier 2120873 2120886 + BinaryExpression 2120888 2120940 + PrefixUnaryExpression 2120888 2120917 + Identifier 2120890 2120917 + AmpersandAmpersandToken 2120917 2120920 + PrefixUnaryExpression 2120920 2120940 + Identifier 2120922 2120940 + VariableStatement 2120941 2122235 + VariableDeclarationList 2120941 2122234 + VariableDeclaration 2122182 2122234 + Identifier 2122182 2122209 + UnionType 2122210 2122234 + ArrayType 2122210 2122222 + TypeReference 2122210 2122220 + Identifier 2122210 2122220 + UndefinedKeyword 2122224 2122234 + VariableStatement 2122235 2122303 + VariableDeclarationList 2122235 2122302 + VariableDeclaration 2122248 2122302 + Identifier 2122248 2122279 + UnionType 2122280 2122302 + TypeReference 2122280 2122290 + Identifier 2122280 2122290 + UndefinedKeyword 2122292 2122302 + VariableStatement 2122303 2122370 + VariableDeclarationList 2122303 2122369 + VariableDeclaration 2122316 2122369 + Identifier 2122316 2122346 + UnionType 2122347 2122369 + TypeReference 2122347 2122357 + Identifier 2122347 2122357 + UndefinedKeyword 2122359 2122369 + VariableStatement 2122370 2122414 + VariableDeclarationList 2122370 2122413 + VariableDeclaration 2122383 2122413 + Identifier 2122383 2122390 + UnionType 2122391 2122413 + TypeReference 2122391 2122401 + Identifier 2122391 2122401 + UndefinedKeyword 2122403 2122413 + VariableStatement 2122414 2122460 + VariableDeclarationList 2122414 2122459 + VariableDeclaration 2122427 2122459 + Identifier 2122427 2122440 + PropertyAccessExpression 2122442 2122459 + Identifier 2122442 2122452 + Identifier 2122453 2122459 + VariableStatement 2122460 2122505 + VariableDeclarationList 2122460 2122504 + VariableDeclaration 2122475 2122504 + Identifier 2122475 2122486 + ArrayType 2122487 2122499 + TypeReference 2122487 2122497 + Identifier 2122487 2122497 + ArrayLiteralExpression 2122501 2122504 + VariableStatement 2122505 2122566 + VariableDeclarationList 2122505 2122565 + VariableDeclaration 2122518 2122565 + Identifier 2122518 2122532 + UnionType 2122533 2122565 + TypeReference 2122533 2122553 + Identifier 2122533 2122543 + TypeReference 2122544 2122552 + Identifier 2122544 2122552 + UndefinedKeyword 2122555 2122565 + IfStatement 2122566 2123058 + BinaryExpression 2122580 2122653 + BinaryExpression 2122580 2122631 + BinaryExpression 2122580 2122609 + PrefixUnaryExpression 2122580 2122592 + Identifier 2122581 2122592 + AmpersandAmpersandToken 2122592 2122595 + PrefixUnaryExpression 2122595 2122609 + Identifier 2122597 2122609 + AmpersandAmpersandToken 2122609 2122612 + PrefixUnaryExpression 2122612 2122631 + CallExpression 2122614 2122631 + Identifier 2122614 2122625 + Identifier 2122626 2122630 + AmpersandAmpersandToken 2122631 2122634 + PrefixUnaryExpression 2122634 2122653 + Identifier 2122636 2122653 + Block 2122654 2123058 + ExpressionStatement 2122656 2122725 + BinaryExpression 2122656 2122724 + Identifier 2122656 2122683 + EqualsToken 2122683 2122685 + PropertyAccessExpression 2122685 2122724 + ParenthesizedExpression 2122685 2122710 + AsExpression 2122687 2122709 + Identifier 2122687 2122691 + TypeReference 2122694 2122709 + Identifier 2122694 2122709 + Identifier 2122711 2122724 + IfStatement 2122725 2123047 + BinaryExpression 2122844 2122968 + BinaryExpression 2122844 2122896 + Identifier 2122844 2122860 + BarBarToken 2122860 2122863 + Identifier 2122863 2122896 + BarBarToken 2122896 2122899 + BinaryExpression 2122899 2122968 + PropertyAccessExpression 2122899 2122940 + PropertyAccessExpression 2122899 2122935 + ParenthesizedExpression 2122899 2122924 + AsExpression 2122901 2122923 + Identifier 2122901 2122905 + TypeReference 2122908 2122923 + Identifier 2122908 2122923 + Identifier 2122925 2122935 + Identifier 2122936 2122940 + ExclamationEqualsEqualsToken 2122940 2122944 + PropertyAccessExpression 2122944 2122968 + Identifier 2122944 2122955 + Identifier 2122956 2122968 + Block 2122969 2123047 + ExpressionStatement 2122971 2123032 + CallExpression 2122971 2123031 + Identifier 2122971 2122996 + Identifier 2122997 2123010 + Identifier 2123011 2123030 + ExpressionStatement 2123058 2123108 + BinaryExpression 2123058 2123107 + Identifier 2123058 2123080 + EqualsToken 2123080 2123082 + BinaryExpression 2123082 2123107 + Identifier 2123082 2123101 + BarBarToken 2123101 2123104 + ArrayLiteralExpression 2123104 2123107 + ExpressionStatement 2123108 2123245 + CallExpression 2123108 2123244 + Identifier 2123108 2123204 + Identifier 2123205 2123215 + Identifier 2123216 2123227 + Identifier 2123228 2123243 + IfStatement 2123245 2123402 + PrefixUnaryExpression 2123259 2123277 + Identifier 2123260 2123277 + Block 2123278 2123402 + ExpressionStatement 2123280 2123391 + CallExpression 2123280 2123390 + PropertyAccessExpression 2123280 2123306 + Identifier 2123280 2123299 + Identifier 2123300 2123306 + PropertyAccessExpression 2123307 2123324 + Identifier 2123307 2123317 + Identifier 2123318 2123324 + StringLiteral 2123325 2123389 + VariableStatement 2123402 2123457 + VariableDeclarationList 2123402 2123456 + VariableDeclaration 2123417 2123456 + Identifier 2123417 2123422 + CallExpression 2123424 2123456 + Identifier 2123424 2123450 + Identifier 2123451 2123455 + VariableStatement 2123457 2124389 + VariableDeclarationList 2123457 2124388 + VariableDeclaration 2124301 2124388 + Identifier 2124301 2124329 + BinaryExpression 2124331 2124388 + BinaryExpression 2124331 2124355 + PropertyAccessExpression 2124331 2124349 + Identifier 2124331 2124342 + Identifier 2124343 2124349 + EqualsEqualsEqualsToken 2124349 2124353 + NumericLiteral 2124353 2124355 + AmpersandAmpersandToken 2124355 2124358 + PrefixUnaryExpression 2124358 2124388 + PropertyAccessExpression 2124360 2124388 + ElementAccessExpression 2124360 2124373 + Identifier 2124360 2124370 + NumericLiteral 2124371 2124372 + Identifier 2124374 2124388 + IfStatement 2124389 2124555 + BinaryExpression 2124403 2124481 + BinaryExpression 2124403 2124447 + PrefixUnaryExpression 2124403 2124415 + Identifier 2124404 2124415 + AmpersandAmpersandToken 2124415 2124418 + PrefixUnaryExpression 2124418 2124447 + Identifier 2124420 2124447 + AmpersandAmpersandToken 2124447 2124450 + CallExpression 2124450 2124481 + Identifier 2124450 2124455 + Identifier 2124456 2124460 + Identifier 2124461 2124480 + Block 2124482 2124555 + ExpressionStatement 2124484 2124544 + BinaryExpression 2124484 2124543 + Identifier 2124484 2124510 + EqualsToken 2124510 2124512 + PropertyAccessExpression 2124512 2124543 + Identifier 2124512 2124522 + Identifier 2124523 2124543 + VariableStatement 2124555 2124958 + VariableDeclarationList 2124555 2124957 + VariableDeclaration 2124805 2124957 + Identifier 2124805 2124832 + BinaryExpression 2124834 2124957 + BinaryExpression 2124834 2124922 + PrefixUnaryExpression 2124834 2124879 + PrefixUnaryExpression 2124836 2124879 + ParenthesizedExpression 2124837 2124879 + BinaryExpression 2124838 2124878 + Identifier 2124838 2124847 + AmpersandToken 2124847 2124849 + PropertyAccessExpression 2124849 2124878 + Identifier 2124849 2124859 + Identifier 2124860 2124878 + AmpersandAmpersandToken 2124879 2124882 + BinaryExpression 2124882 2124922 + PropertyAccessExpression 2124882 2124892 + Identifier 2124882 2124887 + Identifier 2124888 2124892 + EqualsEqualsEqualsToken 2124892 2124896 + PropertyAccessExpression 2124896 2124922 + Identifier 2124896 2124907 + Identifier 2124908 2124922 + AmpersandAmpersandToken 2124922 2124925 + PropertyAccessExpression 2124925 2124957 + PropertyAccessExpression 2124925 2124940 + Identifier 2124925 2124930 + Identifier 2124931 2124940 + Identifier 2124941 2124957 + IfStatement 2124958 2125894 + BinaryExpression 2125735 2125756 + PropertyAccessExpression 2125735 2125752 + Identifier 2125735 2125745 + Identifier 2125746 2125752 + GreaterThanToken 2125752 2125754 + NumericLiteral 2125754 2125756 + Block 2125757 2125894 + ExpressionStatement 2125759 2125883 + BinaryExpression 2125759 2125882 + Identifier 2125759 2125779 + EqualsToken 2125779 2125781 + CallExpression 2125781 2125882 + Identifier 2125781 2125796 + Identifier 2125797 2125807 + Identifier 2125808 2125824 + Identifier 2125825 2125853 + Identifier 2125854 2125881 + IfStatement 2125894 2126056 + PrefixUnaryExpression 2125908 2125915 + Identifier 2125909 2125915 + Block 2125916 2126056 + ExpressionStatement 2125918 2126045 + BinaryExpression 2125918 2126044 + Identifier 2125918 2125938 + EqualsToken 2125938 2125940 + CallExpression 2125940 2126044 + Identifier 2125940 2125955 + Identifier 2125956 2125966 + Identifier 2125967 2125986 + Identifier 2125987 2126015 + Identifier 2126016 2126043 + VariableStatement 2126056 2126099 + VariableDeclarationList 2126056 2126098 + VariableDeclaration 2126071 2126098 + Identifier 2126071 2126077 + CallExpression 2126079 2126098 + Identifier 2126079 2126092 + Identifier 2126093 2126097 + IfStatement 2126099 2128072 + BinaryExpression 2126113 2126182 + BinaryExpression 2126113 2126159 + PropertyAccessExpression 2126113 2126136 + Identifier 2126113 2126118 + Identifier 2126119 2126136 + ExclamationEqualsEqualsToken 2126136 2126140 + Identifier 2126140 2126159 + AmpersandAmpersandToken 2126159 2126162 + PrefixUnaryExpression 2126162 2126182 + Identifier 2126164 2126182 + Block 2126183 2128072 + ExpressionStatement 2126185 2128016 + CallExpression 2126185 2128015 + PropertyAccessExpression 2126185 2127990 + Identifier 2126185 2127983 + Identifier 2127984 2127990 + PropertyAccessExpression 2127991 2128014 + Identifier 2127991 2127996 + Identifier 2127997 2128014 + ReturnStatement 2128016 2128061 + PropertyAccessExpression 2128036 2128060 + Identifier 2128036 2128042 + Identifier 2128043 2128060 + IfStatement 2128072 2128134 + Identifier 2128086 2128092 + Block 2128093 2128134 + ReturnStatement 2128095 2128123 + Identifier 2128115 2128122 + ExpressionStatement 2128134 2128241 + BinaryExpression 2128134 2128240 + Identifier 2128134 2128150 + EqualsToken 2128150 2128152 + CallExpression 2128152 2128240 + Identifier 2128152 2128183 + Identifier 2128184 2128188 + Identifier 2128189 2128200 + Identifier 2128201 2128206 + PrefixUnaryExpression 2128207 2128228 + PrefixUnaryExpression 2128209 2128228 + Identifier 2128210 2128228 + Identifier 2128229 2128239 + ExpressionStatement 2128241 2128908 + BinaryExpression 2128241 2128907 + PropertyAccessExpression 2128241 2128898 + Identifier 2128241 2128880 + Identifier 2128881 2128898 + EqualsToken 2128898 2128900 + Identifier 2128900 2128907 + IfStatement 2128908 2135661 + Identifier 2129246 2129258 + Block 2129259 2135661 + IfStatement 2129261 2129858 + BinaryExpression 2129629 2129657 + PrefixUnaryExpression 2129629 2129641 + Identifier 2129630 2129641 + AmpersandAmpersandToken 2129641 2129644 + Identifier 2129644 2129657 + Block 2129658 2129858 + ExpressionStatement 2129660 2129843 + BinaryExpression 2129660 2129842 + Identifier 2129660 2129689 + EqualsToken 2129689 2129691 + PropertyAccessExpression 2129691 2129842 + Identifier 2129691 2129703 + Identifier 2129704 2129842 + IfStatement 2129858 2135650 + Identifier 2129876 2129902 + Block 2129903 2134626 + IfStatement 2129905 2134611 + BinaryExpression 2129927 2130007 + BinaryExpression 2129927 2129966 + PropertyAccessExpression 2129927 2129960 + Identifier 2129927 2129953 + Identifier 2129954 2129960 + EqualsEqualsEqualsToken 2129960 2129964 + NumericLiteral 2129964 2129966 + BarBarToken 2129966 2129969 + BinaryExpression 2129969 2130007 + PropertyAccessExpression 2129969 2130003 + Identifier 2129969 2129996 + Identifier 2129997 2130003 + GreaterThanToken 2130003 2130005 + NumericLiteral 2130005 2130007 + Block 2130008 2131502 + VariableStatement 2130010 2130111 + VariableDeclarationList 2130010 2130110 + VariableDeclaration 2130037 2130110 + Identifier 2130037 2130042 + ElementAccessExpression 2130044 2130110 + Identifier 2130044 2130071 + BinaryExpression 2130072 2130109 + PropertyAccessExpression 2130072 2130105 + Identifier 2130072 2130098 + Identifier 2130099 2130105 + MinusToken 2130105 2130107 + NumericLiteral 2130107 2130109 + VariableStatement 2130111 2130179 + VariableDeclarationList 2130111 2130178 + VariableDeclaration 2130136 2130178 + Identifier 2130136 2130142 + UnionType 2130143 2130178 + TypeReference 2130143 2130166 + Identifier 2130143 2130166 + UndefinedKeyword 2130168 2130178 + IfStatement 2130179 2130497 + BinaryExpression 2130205 2130242 + PropertyAccessExpression 2130205 2130238 + Identifier 2130205 2130231 + Identifier 2130232 2130238 + GreaterThanToken 2130238 2130240 + NumericLiteral 2130240 2130242 + Block 2130243 2130497 + ExpressionStatement 2130245 2130366 + BinaryExpression 2130245 2130365 + Identifier 2130245 2130276 + EqualsToken 2130276 2130278 + CallExpression 2130278 2130365 + Identifier 2130278 2130302 + Identifier 2130303 2130308 + PropertyAccessExpression 2130309 2130364 + Identifier 2130309 2130321 + Identifier 2130322 2130364 + ExpressionStatement 2130366 2130474 + BinaryExpression 2130366 2130473 + Identifier 2130366 2130397 + EqualsToken 2130397 2130399 + CallExpression 2130399 2130473 + Identifier 2130399 2130423 + Identifier 2130424 2130429 + PropertyAccessExpression 2130430 2130472 + Identifier 2130430 2130442 + Identifier 2130443 2130472 + IfStatement 2130497 2130638 + Identifier 2130523 2130534 + Block 2130535 2130638 + ExpressionStatement 2130537 2130615 + BinaryExpression 2130537 2130614 + Identifier 2130537 2130568 + EqualsToken 2130568 2130570 + CallExpression 2130570 2130614 + Identifier 2130570 2130594 + Identifier 2130595 2130600 + Identifier 2130601 2130613 + VariableStatement 2130638 2130829 + VariableDeclarationList 2130638 2130828 + VariableDeclaration 2130665 2130828 + Identifier 2130665 2130671 + CallExpression 2130673 2130828 + Identifier 2130673 2130704 + Identifier 2130705 2130709 + Identifier 2130710 2130715 + Identifier 2130716 2130721 + Identifier 2130722 2130741 + PropertyAccessExpression 2130742 2130759 + Identifier 2130742 2130752 + Identifier 2130753 2130759 + TrueKeyword 2130760 2130782 + ArrowFunction 2130783 2130795 + EqualsGreaterThanToken 2130786 2130789 + Identifier 2130789 2130795 + Identifier 2130796 2130827 + IfStatement 2130829 2131483 + Identifier 2130855 2130860 + Block 2130861 2131355 + ForOfStatement 2130863 2131332 + VariableDeclarationList 2130894 2130901 + VariableDeclaration 2130899 2130901 + Identifier 2130899 2130901 + Identifier 2130904 2130910 + Block 2130911 2131332 + IfStatement 2130913 2131181 + BinaryExpression 2130947 2131004 + PropertyAccessExpression 2130947 2130963 + Identifier 2130947 2130951 + Identifier 2130952 2130963 + AmpersandAmpersandToken 2130963 2130966 + BinaryExpression 2130966 2131004 + PropertyAccessExpression 2130966 2131000 + Identifier 2130966 2130993 + Identifier 2130994 2131000 + GreaterThanToken 2131000 2131002 + NumericLiteral 2131002 2131004 + Block 2131005 2131181 + ExpressionStatement 2131007 2131150 + CallExpression 2131007 2131149 + Identifier 2131007 2131055 + Identifier 2131056 2131057 + CallExpression 2131058 2131148 + Identifier 2131058 2131082 + PropertyAccessExpression 2131083 2131099 + Identifier 2131083 2131087 + Identifier 2131088 2131099 + PropertyAccessExpression 2131100 2131147 + Identifier 2131100 2131112 + Identifier 2131113 2131147 + ExpressionStatement 2131181 2131256 + CallExpression 2131181 2131255 + Identifier 2131181 2131246 + Identifier 2131247 2131251 + Identifier 2131252 2131254 + ExpressionStatement 2131256 2131305 + CallExpression 2131256 2131304 + PropertyAccessExpression 2131256 2131301 + Identifier 2131256 2131297 + Identifier 2131298 2131301 + Identifier 2131302 2131303 + Block 2131381 2131483 + ExpressionStatement 2131383 2131460 + CallExpression 2131383 2131459 + PropertyAccessExpression 2131383 2131419 + Identifier 2131383 2131414 + Identifier 2131415 2131419 + StringLiteral 2131420 2131458 + Block 2131524 2134611 + VariableStatement 2131526 2131619 + VariableDeclarationList 2131526 2131618 + VariableDeclaration 2131553 2131618 + Identifier 2131553 2131568 + ArrayType 2131569 2131613 + ParenthesizedType 2131569 2131611 + TypeOperator 2131571 2131610 + ArrayType 2131579 2131610 + TypeReference 2131579 2131608 + Identifier 2131579 2131608 + ArrayLiteralExpression 2131615 2131618 + VariableStatement 2131619 2131653 + VariableDeclarationList 2131619 2131652 + VariableDeclaration 2131644 2131652 + Identifier 2131644 2131648 + NumericLiteral 2131650 2131652 + VariableStatement 2131653 2131702 + VariableDeclarationList 2131653 2131701 + VariableDeclaration 2131678 2131701 + Identifier 2131678 2131682 + PropertyAccessExpression 2131684 2131701 + Identifier 2131684 2131691 + Identifier 2131692 2131701 + VariableStatement 2131702 2131741 + VariableDeclarationList 2131702 2131740 + VariableDeclaration 2131727 2131740 + Identifier 2131727 2131736 + NumericLiteral 2131738 2131740 + VariableStatement 2131741 2131773 + VariableDeclarationList 2131741 2131772 + VariableDeclaration 2131766 2131772 + Identifier 2131766 2131768 + NumericLiteral 2131770 2131772 + ForOfStatement 2131773 2132796 + VariableDeclarationList 2131800 2131807 + VariableDeclaration 2131805 2131807 + Identifier 2131805 2131807 + Identifier 2131810 2131837 + Block 2131838 2132796 + VariableStatement 2131840 2132037 + VariableDeclarationList 2131840 2132036 + VariableDeclaration 2131871 2132036 + Identifier 2131871 2131877 + ArrowFunction 2131879 2132036 + EqualsGreaterThanToken 2131882 2131885 + CallExpression 2131885 2132036 + Identifier 2131885 2131909 + Identifier 2131910 2131931 + PropertyAccessExpression 2131932 2131987 + Identifier 2131932 2131944 + Identifier 2131945 2131987 + BinaryExpression 2131988 2131994 + Identifier 2131988 2131990 + PlusToken 2131990 2131992 + NumericLiteral 2131992 2131994 + PropertyAccessExpression 2131995 2132013 + Identifier 2131995 2132006 + Identifier 2132007 2132013 + CallExpression 2132014 2132035 + Identifier 2132014 2132032 + Identifier 2132033 2132034 + VariableStatement 2132037 2132223 + VariableDeclarationList 2132037 2132222 + VariableDeclaration 2132068 2132222 + Identifier 2132068 2132074 + CallExpression 2132076 2132222 + Identifier 2132076 2132107 + Identifier 2132108 2132112 + Identifier 2132113 2132118 + Identifier 2132119 2132121 + Identifier 2132122 2132141 + PropertyAccessExpression 2132142 2132159 + Identifier 2132142 2132152 + Identifier 2132153 2132159 + TrueKeyword 2132160 2132182 + Identifier 2132183 2132189 + Identifier 2132190 2132221 + IfStatement 2132223 2132743 + Identifier 2132253 2132258 + Block 2132259 2132596 + IfStatement 2132261 2132448 + BinaryExpression 2132295 2132314 + PropertyAccessExpression 2132295 2132307 + Identifier 2132295 2132300 + Identifier 2132301 2132307 + LessThanEqualsToken 2132307 2132310 + Identifier 2132310 2132314 + Block 2132315 2132448 + ExpressionStatement 2132317 2132370 + BinaryExpression 2132317 2132369 + Identifier 2132317 2132354 + EqualsToken 2132354 2132356 + PropertyAccessExpression 2132356 2132369 + Identifier 2132356 2132362 + Identifier 2132363 2132369 + ExpressionStatement 2132370 2132417 + BinaryExpression 2132370 2132416 + Identifier 2132370 2132412 + EqualsToken 2132412 2132414 + Identifier 2132414 2132416 + ExpressionStatement 2132448 2132512 + BinaryExpression 2132448 2132511 + Identifier 2132448 2132481 + EqualsToken 2132481 2132483 + CallExpression 2132483 2132511 + PropertyAccessExpression 2132483 2132492 + Identifier 2132483 2132488 + Identifier 2132489 2132492 + Identifier 2132493 2132496 + PropertyAccessExpression 2132497 2132510 + Identifier 2132497 2132503 + Identifier 2132504 2132510 + ExpressionStatement 2132512 2132569 + CallExpression 2132512 2132568 + PropertyAccessExpression 2132512 2132561 + Identifier 2132512 2132556 + Identifier 2132557 2132561 + Identifier 2132562 2132567 + Block 2132626 2132743 + ExpressionStatement 2132628 2132716 + CallExpression 2132628 2132715 + PropertyAccessExpression 2132628 2132668 + Identifier 2132628 2132663 + Identifier 2132664 2132668 + StringLiteral 2132669 2132714 + ExpressionStatement 2132743 2132773 + PostfixUnaryExpression 2132743 2132772 + Identifier 2132743 2132770 + VariableStatement 2132796 2132895 + VariableDeclarationList 2132796 2132894 + VariableDeclaration 2132825 2132894 + Identifier 2132825 2132831 + ConditionalExpression 2132833 2132894 + BinaryExpression 2132833 2132841 + Identifier 2132833 2132837 + GreaterThanToken 2132837 2132839 + NumericLiteral 2132839 2132841 + QuestionToken 2132841 2132843 + ElementAccessExpression 2132843 2132868 + Identifier 2132843 2132858 + Identifier 2132859 2132867 + ColonToken 2132868 2132870 + CallExpression 2132870 2132894 + Identifier 2132870 2132878 + Identifier 2132879 2132893 + ExpressionStatement 2132895 2133005 + CallExpression 2132895 2133004 + PropertyAccessExpression 2132895 2132929 + Identifier 2132895 2132922 + Identifier 2132923 2132929 + BinaryExpression 2132930 2132946 + PropertyAccessExpression 2132930 2132942 + Identifier 2132930 2132935 + Identifier 2132936 2132942 + GreaterThanToken 2132942 2132944 + NumericLiteral 2132944 2132946 + StringLiteral 2132947 2133003 + VariableStatement 2133005 2133236 + VariableDeclarationList 2133005 2133235 + VariableDeclaration 2133030 2133235 + Identifier 2133030 2133036 + CallExpression 2133038 2133235 + Identifier 2133038 2133062 + CallExpression 2133063 2133143 + Identifier 2133063 2133092 + Identifier 2133093 2133098 + Identifier 2133099 2133142 + PropertyAccessExpression 2133144 2133211 + Identifier 2133144 2133181 + Identifier 2133182 2133211 + IfStatement 2133236 2133377 + Identifier 2133262 2133273 + Block 2133274 2133377 + ExpressionStatement 2133276 2133354 + BinaryExpression 2133276 2133353 + Identifier 2133276 2133307 + EqualsToken 2133307 2133309 + CallExpression 2133309 2133353 + Identifier 2133309 2133333 + Identifier 2133334 2133339 + Identifier 2133340 2133352 + VariableStatement 2133377 2133838 + VariableDeclarationList 2133377 2133837 + VariableDeclaration 2133730 2133837 + Identifier 2133730 2133738 + ArrayLiteralExpression 2133740 2133837 + SpreadElement 2133742 2133836 + AsExpression 2133745 2133836 + CallExpression 2133745 2133802 + Identifier 2133745 2133752 + Identifier 2133753 2133758 + ArrowFunction 2133759 2133801 + Parameter 2133759 2133761 + Identifier 2133759 2133761 + EqualsGreaterThanToken 2133761 2133764 + PropertyAccessExpression 2133764 2133801 + ParenthesizedExpression 2133764 2133782 + AsExpression 2133766 2133781 + Identifier 2133766 2133767 + TypeReference 2133770 2133781 + Identifier 2133770 2133781 + Identifier 2133783 2133801 + ArrayType 2133805 2133836 + TypeReference 2133805 2133834 + Identifier 2133805 2133834 + VariableStatement 2133838 2133881 + VariableDeclarationList 2133838 2133880 + VariableDeclaration 2133863 2133880 + Identifier 2133863 2133868 + TypeReference 2133869 2133880 + Identifier 2133869 2133880 + IfStatement 2133881 2134453 + CallExpression 2133907 2134012 + Identifier 2133907 2133912 + Identifier 2133913 2133918 + ArrowFunction 2133919 2134011 + Parameter 2133919 2133921 + Identifier 2133919 2133921 + EqualsGreaterThanToken 2133921 2133924 + BinaryExpression 2133924 2134011 + BinaryExpression 2133924 2133983 + BinaryExpression 2133924 2133951 + PropertyAccessExpression 2133924 2133932 + Identifier 2133924 2133926 + Identifier 2133927 2133932 + EqualsEqualsEqualsToken 2133932 2133936 + PropertyAccessExpression 2133936 2133951 + ElementAccessExpression 2133936 2133945 + Identifier 2133936 2133942 + NumericLiteral 2133943 2133944 + Identifier 2133946 2133951 + AmpersandAmpersandToken 2133951 2133954 + BinaryExpression 2133954 2133983 + PropertyAccessExpression 2133954 2133963 + Identifier 2133954 2133956 + Identifier 2133957 2133963 + EqualsEqualsEqualsToken 2133963 2133967 + PropertyAccessExpression 2133967 2133983 + ElementAccessExpression 2133967 2133976 + Identifier 2133967 2133973 + NumericLiteral 2133974 2133975 + Identifier 2133977 2133983 + AmpersandAmpersandToken 2133983 2133986 + BinaryExpression 2133986 2134011 + PropertyAccessExpression 2133986 2133993 + Identifier 2133986 2133988 + Identifier 2133989 2133993 + EqualsEqualsEqualsToken 2133993 2133997 + PropertyAccessExpression 2133997 2134011 + ElementAccessExpression 2133997 2134006 + Identifier 2133997 2134003 + NumericLiteral 2134004 2134005 + Identifier 2134007 2134011 + Block 2134013 2134255 + VariableStatement 2134015 2134082 + VariableDeclarationList 2134015 2134081 + VariableDeclaration 2134046 2134081 + ObjectBindingPattern 2134046 2134070 + BindingElement 2134048 2134053 + Identifier 2134048 2134053 + BindingElement 2134054 2134060 + Identifier 2134054 2134060 + BindingElement 2134061 2134068 + Identifier 2134061 2134068 + ElementAccessExpression 2134072 2134081 + Identifier 2134072 2134078 + NumericLiteral 2134079 2134080 + ExpressionStatement 2134082 2134232 + BinaryExpression 2134082 2134231 + Identifier 2134082 2134112 + EqualsToken 2134112 2134114 + ObjectLiteralExpression 2134114 2134231 + ShorthandPropertyAssignment 2134116 2134121 + Identifier 2134116 2134121 + ShorthandPropertyAssignment 2134122 2134128 + Identifier 2134122 2134128 + ShorthandPropertyAssignment 2134129 2134136 + Identifier 2134129 2134136 + PropertyAssignment 2134137 2134154 + Identifier 2134137 2134142 + PropertyAccessExpression 2134143 2134154 + Identifier 2134143 2134149 + Identifier 2134150 2134154 + PropertyAssignment 2134155 2134180 + Identifier 2134155 2134164 + PropertyAccessExpression 2134165 2134180 + Identifier 2134165 2134171 + Identifier 2134172 2134180 + PropertyAssignment 2134181 2134200 + Identifier 2134181 2134193 + Identifier 2134194 2134200 + PropertyAssignment 2134201 2134229 + Identifier 2134201 2134220 + Identifier 2134221 2134229 + Block 2134281 2134453 + ExpressionStatement 2134283 2134430 + BinaryExpression 2134283 2134429 + Identifier 2134283 2134313 + EqualsToken 2134313 2134315 + CallExpression 2134315 2134429 + Identifier 2134315 2134355 + CallExpression 2134356 2134381 + Identifier 2134356 2134375 + Identifier 2134376 2134380 + CallExpression 2134382 2134412 + Identifier 2134382 2134406 + Identifier 2134407 2134411 + Identifier 2134413 2134419 + Identifier 2134420 2134428 + ExpressionStatement 2134453 2134548 + CallExpression 2134453 2134547 + Identifier 2134453 2134510 + ElementAccessExpression 2134511 2134540 + Identifier 2134511 2134537 + NumericLiteral 2134538 2134539 + Identifier 2134541 2134546 + ExpressionStatement 2134548 2134592 + CallExpression 2134548 2134591 + PropertyAccessExpression 2134548 2134585 + Identifier 2134548 2134581 + Identifier 2134582 2134585 + Identifier 2134586 2134590 + IfStatement 2134644 2135650 + Identifier 2134649 2134679 + Block 2134680 2134813 + ExpressionStatement 2134682 2134798 + CallExpression 2134682 2134797 + PropertyAccessExpression 2134682 2134715 + Identifier 2134682 2134711 + Identifier 2134712 2134715 + CallExpression 2134716 2134796 + Identifier 2134716 2134737 + Identifier 2134738 2134742 + ArrayLiteralExpression 2134743 2134776 + Identifier 2134745 2134775 + Identifier 2134777 2134782 + Identifier 2134783 2134795 + IfStatement 2134831 2135650 + Identifier 2134836 2134865 + Block 2134866 2135079 + ExpressionStatement 2134868 2135064 + CallExpression 2134868 2135063 + Identifier 2134868 2134904 + Identifier 2134905 2134934 + NonNullExpression 2134935 2135026 + PropertyAccessExpression 2134935 2135025 + ParenthesizedExpression 2134935 2135011 + AsExpression 2134937 2135010 + Identifier 2134937 2134941 + UnionType 2134944 2135010 + TypeReference 2134944 2134959 + Identifier 2134944 2134959 + TypeReference 2134961 2134986 + Identifier 2134961 2134986 + TypeReference 2134988 2135010 + Identifier 2134988 2135010 + Identifier 2135012 2135025 + TrueKeyword 2135027 2135049 + Identifier 2135050 2135062 + IfStatement 2135097 2135650 + PrefixUnaryExpression 2135102 2135120 + Identifier 2135103 2135120 + Block 2135121 2135650 + VariableStatement 2135123 2135259 + VariableDeclarationList 2135123 2135258 + VariableDeclaration 2135146 2135258 + Identifier 2135146 2135185 + CallExpression 2135187 2135258 + Identifier 2135187 2135194 + Identifier 2135195 2135205 + ArrowFunction 2135206 2135257 + Parameter 2135206 2135208 + Identifier 2135206 2135208 + EqualsGreaterThanToken 2135208 2135211 + CallExpression 2135211 2135257 + Identifier 2135211 2135239 + Identifier 2135240 2135241 + Identifier 2135242 2135256 + IfStatement 2135259 2135635 + BinaryExpression 2135281 2135332 + PropertyAccessExpression 2135281 2135326 + Identifier 2135281 2135319 + Identifier 2135320 2135326 + EqualsEqualsEqualsToken 2135326 2135330 + NumericLiteral 2135330 2135332 + Block 2135333 2135466 + ExpressionStatement 2135335 2135447 + CallExpression 2135335 2135446 + PropertyAccessExpression 2135335 2135372 + Identifier 2135335 2135368 + Identifier 2135369 2135372 + CallExpression 2135373 2135445 + Identifier 2135373 2135398 + Identifier 2135399 2135403 + Identifier 2135404 2135415 + NonNullExpression 2135416 2135431 + Identifier 2135416 2135430 + Identifier 2135432 2135444 + Block 2135488 2135635 + ExpressionStatement 2135490 2135616 + CallExpression 2135490 2135615 + PropertyAccessExpression 2135490 2135527 + Identifier 2135490 2135523 + Identifier 2135524 2135527 + CallExpression 2135528 2135614 + Identifier 2135528 2135549 + Identifier 2135550 2135554 + Identifier 2135555 2135594 + Identifier 2135595 2135600 + Identifier 2135601 2135613 + ReturnStatement 2135661 2135687 + Identifier 2135679 2135686 + FunctionDeclaration 2135687 2137184 + Identifier 2135707 2135743 + Parameter 2135744 2135761 + Identifier 2135744 2135750 + TypeReference 2135751 2135761 + Identifier 2135751 2135761 + Parameter 2135762 2135785 + Identifier 2135762 2135773 + TypeReference 2135774 2135785 + Identifier 2135774 2135785 + Block 2135786 2137184 + VariableStatement 2135788 2135867 + VariableDeclarationList 2135788 2135866 + VariableDeclaration 2135807 2135866 + Identifier 2135807 2135837 + Identifier 2135839 2135866 + VariableStatement 2135867 2135954 + VariableDeclarationList 2135867 2135953 + VariableDeclaration 2135886 2135953 + Identifier 2135886 2135920 + Identifier 2135922 2135953 + VariableStatement 2135954 2136039 + VariableDeclarationList 2135954 2136038 + VariableDeclaration 2135973 2136038 + Identifier 2135973 2136006 + Identifier 2136008 2136038 + VariableStatement 2136039 2136146 + VariableDeclarationList 2136039 2136145 + VariableDeclaration 2136060 2136145 + Identifier 2136060 2136088 + BinaryExpression 2136090 2136145 + PropertyAccessExpression 2136090 2136131 + PropertyAccessExpression 2136090 2136117 + PropertyAccessExpression 2136090 2136109 + Identifier 2136090 2136097 + Identifier 2136098 2136109 + QuestionDotToken 2136109 2136111 + Identifier 2136111 2136117 + QuestionDotToken 2136117 2136119 + Identifier 2136119 2136131 + BarBarToken 2136131 2136134 + Identifier 2136134 2136145 + VariableStatement 2136146 2136218 + VariableDeclarationList 2136146 2136217 + VariableDeclaration 2136165 2136217 + Identifier 2136165 2136176 + BinaryExpression 2136178 2136217 + PropertyAccessExpression 2136178 2136213 + Identifier 2136178 2136206 + Identifier 2136207 2136213 + GreaterThanToken 2136213 2136215 + NumericLiteral 2136215 2136217 + VariableStatement 2136218 2136368 + VariableDeclarationList 2136218 2136367 + VariableDeclaration 2136237 2136367 + Identifier 2136237 2136246 + ConditionalExpression 2136248 2136367 + Identifier 2136248 2136259 + QuestionToken 2136259 2136261 + CallExpression 2136261 2136355 + Identifier 2136261 2136266 + Identifier 2136267 2136294 + ArrowFunction 2136295 2136354 + Parameter 2136295 2136297 + Identifier 2136295 2136297 + EqualsGreaterThanToken 2136297 2136300 + BinaryExpression 2136300 2136354 + CallExpression 2136300 2136329 + Identifier 2136300 2136326 + Identifier 2136327 2136328 + AmpersandAmpersandToken 2136329 2136332 + CallExpression 2136332 2136354 + Identifier 2136332 2136346 + PropertyAccessExpression 2136347 2136353 + Identifier 2136347 2136348 + Identifier 2136349 2136353 + ColonToken 2136355 2136357 + Identifier 2136357 2136367 + IfStatement 2136368 2136938 + Identifier 2136386 2136394 + Block 2136395 2136938 + VariableStatement 2136397 2136498 + VariableDeclarationList 2136397 2136497 + VariableDeclaration 2136420 2136497 + Identifier 2136420 2136430 + CallExpression 2136432 2136497 + Identifier 2136432 2136460 + AsExpression 2136461 2136496 + Identifier 2136461 2136469 + TypeReference 2136472 2136496 + Identifier 2136472 2136496 + VariableStatement 2136498 2136578 + VariableDeclarationList 2136498 2136577 + VariableDeclaration 2136521 2136577 + Identifier 2136521 2136549 + PrefixUnaryExpression 2136551 2136577 + PropertyAccessExpression 2136553 2136577 + Identifier 2136553 2136562 + Identifier 2136563 2136577 + IfStatement 2136578 2136923 + CallExpression 2136600 2136676 + Identifier 2136600 2136614 + ArrayLiteralExpression 2136615 2136626 + Identifier 2136616 2136625 + Identifier 2136627 2136646 + Identifier 2136647 2136675 + Block 2136677 2136923 + ExpressionStatement 2136679 2136904 + CallExpression 2136679 2136903 + Identifier 2136679 2136715 + Identifier 2136716 2136726 + CallExpression 2136727 2136902 + Identifier 2136727 2136751 + Identifier 2136752 2136760 + PropertyAccessExpression 2136761 2136901 + Identifier 2136761 2136773 + Identifier 2136774 2136901 + ExpressionStatement 2136938 2137013 + BinaryExpression 2136938 2137012 + Identifier 2136938 2136980 + EqualsToken 2136980 2136982 + Identifier 2136982 2137012 + ExpressionStatement 2137013 2137094 + BinaryExpression 2137013 2137093 + Identifier 2137013 2137057 + EqualsToken 2137057 2137059 + Identifier 2137059 2137093 + ExpressionStatement 2137094 2137173 + BinaryExpression 2137094 2137172 + Identifier 2137094 2137137 + EqualsToken 2137137 2137139 + Identifier 2137139 2137172 + FunctionDeclaration 2137184 2144138 + Identifier 2137204 2137219 + Parameter 2137220 2137243 + Identifier 2137220 2137230 + ArrayType 2137231 2137243 + TypeReference 2137231 2137241 + Identifier 2137231 2137241 + Parameter 2137244 2137292 + Identifier 2137244 2137253 + TypeReference 2137254 2137292 + Identifier 2137254 2137258 + StringKeyword 2137259 2137265 + TypeReference 2137266 2137291 + Identifier 2137266 2137291 + Parameter 2137293 2137330 + Identifier 2137293 2137321 + BooleanKeyword 2137322 2137330 + Parameter 2137331 2137366 + Identifier 2137331 2137358 + FalseKeyword 2137360 2137366 + Block 2137367 2144138 + ExpressionStatement 2137369 2137422 + BinaryExpression 2137369 2137421 + Identifier 2137369 2137409 + EqualsToken 2137409 2137411 + Identifier 2137411 2137421 + ExpressionStatement 2137422 2137479 + BinaryExpression 2137422 2137478 + Identifier 2137422 2137466 + EqualsToken 2137466 2137468 + Identifier 2137468 2137478 + ExpressionStatement 2137479 2137535 + BinaryExpression 2137479 2137534 + Identifier 2137479 2137522 + EqualsToken 2137522 2137524 + Identifier 2137524 2137534 + IfStatement 2137535 2138179 + Identifier 2137555 2137582 + Block 2137583 2138179 + VariableStatement 2137585 2137635 + VariableDeclarationList 2137585 2137634 + VariableDeclaration 2137608 2137634 + Identifier 2137608 2137618 + ElementAccessExpression 2137620 2137634 + Identifier 2137620 2137631 + NumericLiteral 2137632 2137633 + IfStatement 2137635 2137808 + BinaryExpression 2137657 2137747 + CallExpression 2137657 2137676 + Identifier 2137657 2137661 + Identifier 2137662 2137675 + BarBarToken 2137676 2137679 + PrefixUnaryExpression 2137679 2137747 + CallExpression 2137681 2137747 + Identifier 2137681 2137696 + Identifier 2137697 2137701 + Identifier 2137702 2137707 + Identifier 2137708 2137718 + Identifier 2137719 2137746 + Block 2137748 2137808 + ReturnStatement 2137750 2137789 + Identifier 2137778 2137788 + IfStatement 2137808 2138129 + CallExpression 2137830 2138005 + Identifier 2137830 2137860 + Identifier 2137861 2137865 + Identifier 2137866 2137871 + Identifier 2137872 2137882 + Identifier 2137883 2137892 + PropertyAccessExpression 2137893 2137910 + Identifier 2137893 2137903 + Identifier 2137904 2137910 + FalseKeyword 2137911 2137934 + Identifier 2137935 2137972 + Identifier 2137973 2138004 + Block 2138006 2138129 + ExpressionStatement 2138008 2138071 + BinaryExpression 2138008 2138070 + Identifier 2138008 2138056 + EqualsToken 2138056 2138058 + ArrayLiteralExpression 2138058 2138070 + Identifier 2138060 2138069 + ReturnStatement 2138071 2138110 + Identifier 2138099 2138109 + ReturnStatement 2138129 2138164 + Identifier 2138153 2138163 + ForStatement 2138179 2144094 + VariableDeclarationList 2138200 2138222 + VariableDeclaration 2138203 2138222 + Identifier 2138203 2138218 + NumericLiteral 2138220 2138222 + BinaryExpression 2138223 2138258 + Identifier 2138223 2138238 + LessThanToken 2138238 2138240 + PropertyAccessExpression 2138240 2138258 + Identifier 2138240 2138251 + Identifier 2138252 2138258 + PostfixUnaryExpression 2138259 2138276 + Identifier 2138259 2138274 + Block 2138277 2144094 + VariableStatement 2138279 2138340 + VariableDeclarationList 2138279 2138339 + VariableDeclaration 2138300 2138339 + Identifier 2138300 2138310 + ElementAccessExpression 2138312 2138339 + Identifier 2138312 2138323 + Identifier 2138324 2138338 + IfStatement 2138340 2138540 + BinaryExpression 2138362 2138487 + PrefixUnaryExpression 2138362 2138416 + CallExpression 2138363 2138416 + Identifier 2138363 2138390 + Identifier 2138391 2138400 + Identifier 2138401 2138415 + BarBarToken 2138416 2138419 + PrefixUnaryExpression 2138419 2138487 + CallExpression 2138421 2138487 + Identifier 2138421 2138436 + Identifier 2138437 2138441 + Identifier 2138442 2138447 + Identifier 2138448 2138458 + Identifier 2138459 2138486 + Block 2138488 2138540 + ContinueStatement 2138490 2138521 + VariableStatement 2138540 2138590 + VariableDeclarationList 2138540 2138589 + VariableDeclaration 2138563 2138589 + Identifier 2138563 2138578 + TypeReference 2138579 2138589 + Identifier 2138579 2138589 + VariableStatement 2138590 2138659 + VariableDeclarationList 2138590 2138658 + VariableDeclaration 2138611 2138658 + Identifier 2138611 2138628 + UnionType 2138629 2138658 + TypeReference 2138629 2138646 + Identifier 2138629 2138646 + UndefinedKeyword 2138648 2138658 + IfStatement 2138659 2141705 + PropertyAccessExpression 2138683 2138707 + Identifier 2138683 2138692 + Identifier 2138693 2138707 + Block 2138708 2141613 + VariableStatement 2138710 2139098 + VariableDeclarationList 2138710 2139097 + VariableDeclaration 2139020 2139097 + Identifier 2139020 2139034 + PropertyAccessExpression 2139036 2139097 + ElementAccessExpression 2139036 2139089 + PropertyAccessExpression 2139036 2139084 + PropertyAccessExpression 2139036 2139071 + ElementAccessExpression 2139036 2139064 + PropertyAccessExpression 2139036 2139061 + Identifier 2139036 2139046 + Identifier 2139047 2139061 + NumericLiteral 2139062 2139063 + Identifier 2139065 2139071 + Identifier 2139072 2139084 + QuestionDotToken 2139084 2139086 + NumericLiteral 2139087 2139088 + QuestionDotToken 2139089 2139091 + Identifier 2139091 2139097 + VariableStatement 2139098 2139301 + VariableDeclarationList 2139098 2139300 + VariableDeclaration 2139125 2139300 + Identifier 2139125 2139151 + BinaryExpression 2139153 2139300 + Identifier 2139153 2139167 + BarBarToken 2139167 2139170 + ParenthesizedExpression 2139170 2139300 + ConditionalExpression 2139172 2139299 + BinaryExpression 2139172 2139244 + PropertyAccessExpression 2139172 2139193 + Identifier 2139172 2139181 + Identifier 2139182 2139193 + AmpersandAmpersandToken 2139193 2139196 + CallExpression 2139196 2139244 + Identifier 2139196 2139221 + PropertyAccessExpression 2139222 2139243 + Identifier 2139222 2139231 + Identifier 2139232 2139243 + QuestionToken 2139244 2139246 + PropertyAccessExpression 2139246 2139275 + PropertyAccessExpression 2139246 2139268 + Identifier 2139246 2139256 + Identifier 2139257 2139268 + Identifier 2139269 2139275 + ColonToken 2139275 2139277 + PropertyAccessExpression 2139277 2139299 + Identifier 2139277 2139287 + Identifier 2139288 2139299 + IfStatement 2139301 2139514 + BinaryExpression 2139327 2139412 + Identifier 2139327 2139352 + AmpersandAmpersandToken 2139352 2139355 + CallExpression 2139355 2139412 + Identifier 2139355 2139368 + Identifier 2139369 2139373 + ArrowFunction 2139374 2139411 + Parameter 2139374 2139376 + Identifier 2139374 2139376 + EqualsGreaterThanToken 2139376 2139379 + BinaryExpression 2139379 2139411 + Identifier 2139379 2139381 + EqualsEqualsEqualsToken 2139381 2139385 + Identifier 2139385 2139411 + Block 2139413 2139514 + ExpressionStatement 2139415 2139491 + BinaryExpression 2139415 2139490 + Identifier 2139415 2139450 + EqualsToken 2139450 2139452 + CallExpression 2139452 2139490 + Identifier 2139452 2139479 + Identifier 2139480 2139489 + VariableStatement 2139514 2139587 + VariableDeclarationList 2139514 2139586 + VariableDeclaration 2139539 2139586 + Identifier 2139539 2139557 + UnionType 2139558 2139586 + TypeOperator 2139558 2139574 + ArrayType 2139567 2139574 + TypeReference 2139567 2139572 + Identifier 2139567 2139572 + UndefinedKeyword 2139576 2139586 + IfStatement 2139587 2140934 + CallExpression 2139613 2139632 + Identifier 2139613 2139617 + Identifier 2139618 2139631 + Block 2139633 2139962 + ExpressionStatement 2139635 2139750 + BinaryExpression 2139635 2139749 + Identifier 2139635 2139678 + EqualsToken 2139678 2139680 + CallExpression 2139680 2139749 + Identifier 2139680 2139699 + Identifier 2139700 2139709 + Identifier 2139710 2139724 + FalseKeyword 2139725 2139748 + IfStatement 2139750 2139939 + PrefixUnaryExpression 2139780 2139798 + Identifier 2139781 2139798 + Block 2139799 2139939 + ExpressionStatement 2139801 2139873 + BinaryExpression 2139801 2139872 + Identifier 2139801 2139860 + EqualsToken 2139860 2139862 + Identifier 2139862 2139872 + ContinueStatement 2139873 2139912 + Block 2139988 2140934 + ExpressionStatement 2139990 2140174 + BinaryExpression 2139990 2140173 + Identifier 2139990 2140032 + EqualsToken 2140032 2140034 + CallExpression 2140034 2140173 + Identifier 2140034 2140057 + NonNullExpression 2140058 2140083 + PropertyAccessExpression 2140058 2140082 + Identifier 2140058 2140067 + Identifier 2140068 2140082 + Identifier 2140084 2140094 + ConditionalExpression 2140095 2140172 + CallExpression 2140095 2140122 + Identifier 2140095 2140116 + Identifier 2140117 2140121 + QuestionToken 2140122 2140124 + PropertyAccessExpression 2140124 2140150 + Identifier 2140124 2140139 + Identifier 2140140 2140150 + ColonToken 2140150 2140152 + PropertyAccessExpression 2140152 2140172 + Identifier 2140152 2140167 + Identifier 2140168 2140172 + ExpressionStatement 2140174 2140754 + BinaryExpression 2140174 2140753 + Identifier 2140174 2140592 + EqualsToken 2140592 2140594 + CallExpression 2140594 2140753 + Identifier 2140594 2140611 + CallExpression 2140612 2140718 + Identifier 2140612 2140630 + Identifier 2140631 2140635 + Identifier 2140636 2140646 + Identifier 2140647 2140652 + BinaryExpression 2140653 2140699 + Identifier 2140653 2140666 + BarToken 2140666 2140668 + PropertyAccessExpression 2140668 2140699 + Identifier 2140668 2140678 + Identifier 2140679 2140699 + Identifier 2140700 2140717 + PropertyAccessExpression 2140719 2140752 + Identifier 2140719 2140736 + Identifier 2140737 2140752 + ExpressionStatement 2140754 2140911 + BinaryExpression 2140754 2140910 + Identifier 2140754 2140792 + BarEqualsToken 2140792 2140795 + ConditionalExpression 2140795 2140910 + BinaryExpression 2140795 2140858 + PropertyAccessExpression 2140795 2140818 + Identifier 2140795 2140812 + Identifier 2140813 2140818 + AmpersandToken 2140818 2140820 + PropertyAccessExpression 2140820 2140858 + Identifier 2140820 2140835 + Identifier 2140836 2140858 + QuestionToken 2140858 2140860 + PropertyAccessExpression 2140860 2140891 + Identifier 2140860 2140870 + Identifier 2140871 2140891 + ColonToken 2140891 2140893 + PropertyAccessExpression 2140893 2140910 + Identifier 2140893 2140903 + Identifier 2140904 2140910 + ExpressionStatement 2140934 2141125 + BinaryExpression 2140934 2141124 + Identifier 2140934 2140970 + EqualsToken 2140970 2140972 + CallExpression 2140972 2141124 + Identifier 2140972 2140998 + Identifier 2140999 2141008 + Identifier 2141009 2141027 + CallExpression 2141028 2141062 + Identifier 2141028 2141039 + PropertyAccessExpression 2141040 2141061 + Identifier 2141040 2141049 + Identifier 2141050 2141061 + BinaryExpression 2141063 2141123 + Identifier 2141063 2141080 + AmpersandAmpersandToken 2141080 2141083 + PropertyAccessExpression 2141083 2141123 + Identifier 2141083 2141100 + Identifier 2141101 2141123 + IfStatement 2141125 2141594 + BinaryExpression 2141353 2141459 + CallExpression 2141353 2141383 + Identifier 2141353 2141372 + Identifier 2141373 2141382 + AmpersandAmpersandToken 2141383 2141386 + PrefixUnaryExpression 2141386 2141459 + CallExpression 2141388 2141459 + Identifier 2141388 2141403 + Identifier 2141404 2141408 + Identifier 2141409 2141414 + Identifier 2141415 2141430 + Identifier 2141431 2141458 + Block 2141460 2141594 + ExpressionStatement 2141462 2141536 + BinaryExpression 2141462 2141535 + Identifier 2141462 2141518 + EqualsToken 2141518 2141520 + Identifier 2141520 2141535 + ContinueStatement 2141536 2141571 + Block 2141635 2141705 + ExpressionStatement 2141637 2141686 + BinaryExpression 2141637 2141685 + Identifier 2141637 2141673 + EqualsToken 2141673 2141675 + Identifier 2141675 2141685 + IfStatement 2141705 2142168 + CallExpression 2141727 2141889 + Identifier 2141727 2141757 + Identifier 2141758 2141762 + Identifier 2141763 2141768 + Identifier 2141769 2141784 + Identifier 2141785 2141794 + Identifier 2141795 2141808 + FalseKeyword 2141809 2141832 + Identifier 2141833 2141870 + Identifier 2141871 2141888 + Block 2141890 2142168 + ExpressionStatement 2141892 2142118 + CallExpression 2141892 2142117 + PropertyAccessExpression 2141892 2142101 + ParenthesizedExpression 2141892 2142096 + BinaryExpression 2142032 2142095 + Identifier 2142032 2142058 + BarBarToken 2142058 2142061 + ParenthesizedExpression 2142061 2142095 + BinaryExpression 2142063 2142094 + Identifier 2142063 2142089 + EqualsToken 2142089 2142091 + ArrayLiteralExpression 2142091 2142094 + Identifier 2142097 2142101 + Identifier 2142102 2142116 + ContinueStatement 2142118 2142149 + IfStatement 2142168 2143977 + Identifier 2142190 2142202 + Block 2142203 2143977 + ExpressionStatement 2142205 2142570 + BinaryExpression 2142205 2142569 + Identifier 2142205 2142550 + EqualsToken 2142550 2142552 + PropertyAccessExpression 2142552 2142569 + Identifier 2142552 2142562 + Identifier 2142563 2142569 + IfStatement 2142570 2143475 + Identifier 2142596 2142612 + Block 2142613 2143475 + VariableStatement 2142615 2142784 + VariableDeclarationList 2142615 2142783 + VariableDeclaration 2142646 2142783 + Identifier 2142646 2142664 + CallExpression 2142666 2142783 + Identifier 2142666 2142683 + CallExpression 2142684 2142757 + Identifier 2142684 2142702 + Identifier 2142703 2142707 + Identifier 2142708 2142718 + Identifier 2142719 2142724 + Identifier 2142725 2142738 + Identifier 2142739 2142756 + PropertyAccessExpression 2142758 2142782 + Identifier 2142758 2142775 + Identifier 2142776 2142782 + ExpressionStatement 2142784 2142959 + BinaryExpression 2142784 2142958 + Identifier 2142784 2142824 + EqualsToken 2142824 2142826 + CallExpression 2142826 2142958 + Identifier 2142826 2142852 + Identifier 2142853 2142862 + Identifier 2142863 2142881 + CallExpression 2142882 2142916 + Identifier 2142882 2142893 + PropertyAccessExpression 2142894 2142915 + Identifier 2142894 2142903 + Identifier 2142904 2142915 + PropertyAccessExpression 2142917 2142957 + Identifier 2142917 2142934 + Identifier 2142935 2142957 + IfStatement 2142959 2143452 + BinaryExpression 2143199 2143305 + CallExpression 2143199 2143229 + Identifier 2143199 2143218 + Identifier 2143219 2143228 + AmpersandAmpersandToken 2143229 2143232 + PrefixUnaryExpression 2143232 2143305 + CallExpression 2143234 2143305 + Identifier 2143234 2143249 + Identifier 2143250 2143254 + Identifier 2143255 2143260 + Identifier 2143261 2143276 + Identifier 2143277 2143304 + Block 2143306 2143452 + ExpressionStatement 2143308 2143386 + BinaryExpression 2143308 2143385 + Identifier 2143308 2143368 + EqualsToken 2143368 2143370 + Identifier 2143370 2143385 + ContinueStatement 2143386 2143425 + IfStatement 2143475 2143958 + CallExpression 2143501 2143663 + Identifier 2143501 2143531 + Identifier 2143532 2143536 + Identifier 2143537 2143542 + Identifier 2143543 2143558 + Identifier 2143559 2143568 + Identifier 2143569 2143582 + FalseKeyword 2143583 2143606 + Identifier 2143607 2143644 + Identifier 2143645 2143662 + Block 2143664 2143958 + ExpressionStatement 2143666 2143900 + CallExpression 2143666 2143899 + PropertyAccessExpression 2143666 2143883 + ParenthesizedExpression 2143666 2143878 + BinaryExpression 2143814 2143877 + Identifier 2143814 2143840 + BarBarToken 2143840 2143843 + ParenthesizedExpression 2143843 2143877 + BinaryExpression 2143845 2143876 + Identifier 2143845 2143871 + EqualsToken 2143871 2143873 + ArrayLiteralExpression 2143873 2143876 + Identifier 2143879 2143883 + Identifier 2143884 2143898 + ContinueStatement 2143900 2143935 + ExpressionStatement 2143977 2144039 + BinaryExpression 2143977 2144038 + ElementAccessExpression 2143977 2144021 + Identifier 2143977 2144005 + Identifier 2144006 2144020 + EqualsToken 2144021 2144023 + Identifier 2144023 2144038 + ReturnStatement 2144039 2144079 + Identifier 2144063 2144078 + ReturnStatement 2144094 2144127 + Identifier 2144116 2144126 + FunctionDeclaration 2144145 2145160 + Identifier 2144261 2144292 + Parameter 2144293 2144327 + Identifier 2144293 2144307 + TypeReference 2144308 2144327 + Identifier 2144308 2144327 + Parameter 2144328 2144361 + Identifier 2144328 2144348 + ArrayType 2144349 2144361 + TypeReference 2144349 2144359 + Identifier 2144349 2144359 + Parameter 2144362 2144399 + Identifier 2144362 2144376 + TypeOperator 2144377 2144399 + ArrayType 2144386 2144399 + TypeReference 2144386 2144397 + Identifier 2144386 2144397 + Parameter 2144400 2144440 + Identifier 2144400 2144431 + BooleanKeyword 2144432 2144440 + Parameter 2144441 2144471 + Identifier 2144441 2144460 + TypeReference 2144461 2144471 + Identifier 2144461 2144471 + TypeReference 2144480 2144490 + Identifier 2144480 2144490 + Block 2144490 2145160 + ExpressionStatement 2144492 2144538 + CallExpression 2144492 2144537 + PropertyAccessExpression 2144492 2144514 + Identifier 2144492 2144507 + Identifier 2144508 2144514 + BinaryExpression 2144515 2144536 + PropertyAccessExpression 2144515 2144532 + Identifier 2144515 2144525 + Identifier 2144526 2144532 + GreaterThanToken 2144532 2144534 + NumericLiteral 2144534 2144536 + ExpressionStatement 2144538 2144609 + CallExpression 2144538 2144608 + Identifier 2144538 2144602 + Identifier 2144603 2144607 + ReturnStatement 2144609 2145153 + ConditionalExpression 2144910 2145152 + BinaryExpression 2144910 2145003 + BinaryExpression 2144910 2144959 + Identifier 2144910 2144932 + BarBarToken 2144932 2144935 + BinaryExpression 2144935 2144959 + PropertyAccessExpression 2144935 2144953 + Identifier 2144935 2144946 + Identifier 2144947 2144953 + EqualsEqualsEqualsToken 2144953 2144957 + NumericLiteral 2144957 2144959 + BarBarToken 2144959 2144962 + CallExpression 2144962 2145003 + PropertyAccessExpression 2144962 2144978 + Identifier 2144962 2144973 + Identifier 2144974 2144978 + ArrowFunction 2144979 2145002 + Parameter 2144979 2144980 + Identifier 2144979 2144980 + EqualsGreaterThanToken 2144980 2144983 + PrefixUnaryExpression 2144983 2145002 + PrefixUnaryExpression 2144985 2145002 + PropertyAccessExpression 2144986 2145002 + Identifier 2144986 2144987 + Identifier 2144988 2145002 + QuestionToken 2145003 2145018 + CallExpression 2145018 2145083 + Identifier 2145018 2145048 + Identifier 2145049 2145053 + Identifier 2145054 2145065 + Identifier 2145066 2145071 + Identifier 2145072 2145082 + ColonToken 2145083 2145098 + CallExpression 2145098 2145152 + Identifier 2145098 2145140 + Identifier 2145141 2145151 + FunctionDeclaration 2145160 2147384 + Identifier 2145176 2145218 + Parameter 2145219 2145251 + Identifier 2145219 2145229 + TypeOperator 2145230 2145251 + ArrayType 2145239 2145251 + TypeReference 2145239 2145249 + Identifier 2145239 2145249 + TypeReference 2145253 2145263 + Identifier 2145253 2145263 + Block 2145263 2147384 + VariableStatement 2145265 2145343 + VariableDeclarationList 2145265 2145342 + VariableDeclaration 2145280 2145342 + Identifier 2145280 2145295 + CallExpression 2145297 2145342 + Identifier 2145297 2145308 + Identifier 2145309 2145319 + ArrowFunction 2145320 2145341 + Parameter 2145320 2145322 + Identifier 2145320 2145322 + EqualsGreaterThanToken 2145322 2145325 + PropertyAccessExpression 2145325 2145341 + Identifier 2145325 2145327 + Identifier 2145328 2145341 + VariableStatement 2145343 2145391 + VariableDeclarationList 2145343 2145390 + VariableDeclaration 2145356 2145390 + Identifier 2145356 2145370 + UnionType 2145371 2145390 + TypeReference 2145371 2145378 + Identifier 2145371 2145378 + UndefinedKeyword 2145380 2145390 + IfStatement 2145391 2145556 + PropertyAccessExpression 2145405 2145426 + Identifier 2145405 2145419 + Identifier 2145420 2145426 + Block 2145427 2145556 + ExpressionStatement 2145429 2145545 + BinaryExpression 2145429 2145544 + Identifier 2145429 2145456 + EqualsToken 2145456 2145458 + CallExpression 2145458 2145544 + Identifier 2145458 2145488 + Identifier 2145489 2145503 + CallExpression 2145504 2145543 + PropertyAccessExpression 2145504 2145523 + Identifier 2145504 2145519 + Identifier 2145520 2145523 + Identifier 2145524 2145542 + VariableStatement 2145556 2145669 + VariableDeclarationList 2145556 2145668 + VariableDeclaration 2145571 2145668 + ObjectBindingPattern 2145571 2145619 + BindingElement 2145573 2145595 + Identifier 2145573 2145577 + Identifier 2145578 2145595 + BindingElement 2145596 2145617 + Identifier 2145596 2145600 + Identifier 2145601 2145617 + CallExpression 2145621 2145668 + Identifier 2145621 2145631 + Identifier 2145632 2145642 + Identifier 2145643 2145667 + VariableStatement 2145669 2145711 + VariableDeclarationList 2145669 2145710 + VariableDeclaration 2145684 2145710 + Identifier 2145684 2145695 + ArrayType 2145696 2145705 + TypeReference 2145696 2145703 + Identifier 2145696 2145703 + ArrayLiteralExpression 2145707 2145710 + ForStatement 2145711 2146239 + VariableDeclarationList 2145726 2145735 + VariableDeclaration 2145729 2145735 + Identifier 2145729 2145731 + NumericLiteral 2145733 2145735 + BinaryExpression 2145736 2145756 + Identifier 2145736 2145738 + LessThanToken 2145738 2145740 + Identifier 2145740 2145756 + PostfixUnaryExpression 2145757 2145761 + Identifier 2145757 2145759 + Block 2145762 2146239 + VariableStatement 2145764 2146036 + VariableDeclarationList 2145764 2146035 + VariableDeclaration 2145783 2146035 + Identifier 2145783 2145791 + CallExpression 2145793 2146035 + Identifier 2145793 2145804 + Identifier 2145805 2145815 + ArrowFunction 2145816 2146034 + Parameter 2145816 2145818 + Identifier 2145816 2145818 + EqualsGreaterThanToken 2145818 2145821 + ConditionalExpression 2145821 2146034 + CallExpression 2145821 2145867 + Identifier 2145821 2145864 + Identifier 2145865 2145866 + QuestionToken 2145867 2145869 + ConditionalExpression 2145869 2145957 + BinaryExpression 2145869 2145918 + Identifier 2145869 2145892 + LessThanToken 2145892 2145894 + BinaryExpression 2145894 2145918 + PropertyAccessExpression 2145894 2145914 + PropertyAccessExpression 2145894 2145907 + Identifier 2145894 2145896 + Identifier 2145897 2145907 + Identifier 2145908 2145914 + MinusToken 2145914 2145916 + NumericLiteral 2145916 2145918 + QuestionToken 2145918 2145920 + ElementAccessExpression 2145920 2145936 + PropertyAccessExpression 2145920 2145933 + Identifier 2145920 2145922 + Identifier 2145923 2145933 + Identifier 2145934 2145935 + ColonToken 2145936 2145938 + CallExpression 2145938 2145957 + Identifier 2145938 2145943 + PropertyAccessExpression 2145944 2145956 + Identifier 2145944 2145945 + Identifier 2145946 2145956 + ColonToken 2145957 2145959 + ConditionalExpression 2145959 2146034 + BinaryExpression 2145959 2146004 + Identifier 2145959 2145982 + LessThanToken 2145982 2145984 + PropertyAccessExpression 2145984 2146004 + PropertyAccessExpression 2145984 2145997 + Identifier 2145984 2145986 + Identifier 2145987 2145997 + Identifier 2145998 2146004 + QuestionToken 2146004 2146006 + ElementAccessExpression 2146006 2146022 + PropertyAccessExpression 2146006 2146019 + Identifier 2146006 2146008 + Identifier 2146009 2146019 + Identifier 2146020 2146021 + ColonToken 2146022 2146024 + Identifier 2146024 2146034 + ExpressionStatement 2146036 2146085 + CallExpression 2146036 2146084 + PropertyAccessExpression 2146036 2146062 + Identifier 2146036 2146055 + Identifier 2146056 2146062 + BinaryExpression 2146063 2146083 + PropertyAccessExpression 2146063 2146077 + Identifier 2146063 2146070 + Identifier 2146071 2146077 + ExclamationEqualsEqualsToken 2146077 2146081 + NumericLiteral 2146081 2146083 + ExpressionStatement 2146085 2146228 + CallExpression 2146085 2146227 + PropertyAccessExpression 2146085 2146114 + Identifier 2146085 2146109 + Identifier 2146110 2146114 + CallExpression 2146115 2146226 + Identifier 2146115 2146144 + Identifier 2146145 2146152 + CallExpression 2146153 2146225 + Identifier 2146153 2146164 + Identifier 2146165 2146175 + ArrowFunction 2146176 2146224 + Parameter 2146176 2146186 + Identifier 2146176 2146186 + EqualsGreaterThanToken 2146186 2146189 + CallExpression 2146189 2146224 + Identifier 2146189 2146210 + Identifier 2146211 2146220 + Identifier 2146221 2146223 + VariableStatement 2146239 2146369 + VariableDeclarationList 2146239 2146368 + VariableDeclaration 2146254 2146368 + Identifier 2146254 2146275 + CallExpression 2146277 2146368 + Identifier 2146277 2146288 + Identifier 2146289 2146299 + ArrowFunction 2146300 2146367 + Parameter 2146300 2146302 + Identifier 2146300 2146302 + EqualsGreaterThanToken 2146302 2146305 + ConditionalExpression 2146305 2146367 + CallExpression 2146305 2146334 + Identifier 2146305 2146331 + Identifier 2146332 2146333 + QuestionToken 2146334 2146336 + CallExpression 2146336 2146355 + Identifier 2146336 2146341 + PropertyAccessExpression 2146342 2146354 + Identifier 2146342 2146343 + Identifier 2146344 2146354 + ColonToken 2146355 2146357 + Identifier 2146357 2146367 + VariableStatement 2146369 2146445 + VariableDeclarationList 2146369 2146444 + VariableDeclaration 2146382 2146444 + Identifier 2146382 2146388 + PropertyAccessExpression 2146390 2146444 + Identifier 2146390 2146405 + Identifier 2146406 2146444 + IfStatement 2146445 2146791 + BinaryExpression 2146459 2146492 + PropertyAccessExpression 2146459 2146486 + Identifier 2146459 2146479 + Identifier 2146480 2146486 + ExclamationEqualsEqualsToken 2146486 2146490 + NumericLiteral 2146490 2146492 + Block 2146493 2146791 + VariableStatement 2146495 2146627 + VariableDeclarationList 2146495 2146626 + VariableDeclaration 2146514 2146626 + Identifier 2146514 2146519 + CallExpression 2146521 2146626 + Identifier 2146521 2146537 + CallExpression 2146538 2146625 + Identifier 2146538 2146550 + CallExpression 2146551 2146600 + Identifier 2146551 2146561 + Identifier 2146562 2146572 + Identifier 2146573 2146599 + PropertyAccessExpression 2146601 2146624 + Identifier 2146601 2146616 + Identifier 2146617 2146624 + ExpressionStatement 2146627 2146725 + CallExpression 2146627 2146724 + PropertyAccessExpression 2146627 2146656 + Identifier 2146627 2146651 + Identifier 2146652 2146656 + CallExpression 2146657 2146723 + Identifier 2146657 2146695 + Identifier 2146696 2146716 + Identifier 2146717 2146722 + ExpressionStatement 2146725 2146780 + BinaryExpression 2146725 2146779 + Identifier 2146725 2146744 + BarEqualsToken 2146744 2146747 + PropertyAccessExpression 2146747 2146779 + Identifier 2146747 2146762 + Identifier 2146763 2146779 + IfStatement 2146791 2146914 + CallExpression 2146805 2146846 + PropertyAccessExpression 2146805 2146820 + Identifier 2146805 2146815 + Identifier 2146816 2146820 + Identifier 2146821 2146845 + Block 2146847 2146914 + ExpressionStatement 2146849 2146903 + BinaryExpression 2146849 2146902 + Identifier 2146849 2146868 + BarEqualsToken 2146868 2146871 + PropertyAccessExpression 2146871 2146902 + Identifier 2146871 2146886 + Identifier 2146887 2146902 + ReturnStatement 2146914 2147377 + CallExpression 2146930 2147376 + Identifier 2146930 2146946 + PropertyAccessExpression 2146947 2146986 + ElementAccessExpression 2146947 2146974 + Identifier 2146947 2146971 + NumericLiteral 2146972 2146973 + Identifier 2146975 2146986 + Identifier 2146987 2147029 + Identifier 2147030 2147139 + Identifier 2147140 2147164 + CallExpression 2147165 2147263 + Identifier 2147165 2147221 + CallExpression 2147222 2147262 + PropertyAccessExpression 2147222 2147236 + Identifier 2147222 2147232 + Identifier 2147233 2147236 + Identifier 2147237 2147261 + Identifier 2147264 2147313 + Identifier 2147314 2147344 + Identifier 2147345 2147364 + FunctionDeclaration 2147384 2147601 + Identifier 2147400 2147424 + Parameter 2147425 2147445 + Identifier 2147425 2147434 + TypeReference 2147435 2147445 + Identifier 2147435 2147445 + NumberKeyword 2147447 2147454 + Block 2147454 2147601 + VariableStatement 2147456 2147512 + VariableDeclarationList 2147456 2147511 + VariableDeclaration 2147471 2147511 + Identifier 2147471 2147481 + PropertyAccessExpression 2147483 2147511 + PropertyAccessExpression 2147483 2147504 + Identifier 2147483 2147493 + Identifier 2147494 2147504 + Identifier 2147505 2147511 + ReturnStatement 2147512 2147594 + ConditionalExpression 2147528 2147593 + CallExpression 2147528 2147565 + Identifier 2147528 2147554 + Identifier 2147555 2147564 + QuestionToken 2147565 2147567 + BinaryExpression 2147567 2147581 + Identifier 2147567 2147577 + MinusToken 2147577 2147579 + NumericLiteral 2147579 2147581 + ColonToken 2147581 2147583 + Identifier 2147583 2147593 + FunctionDeclaration 2147601 2147817 + Identifier 2147617 2147647 + Parameter 2147648 2147674 + Identifier 2147648 2147655 + TypeOperator 2147656 2147674 + ArrayType 2147665 2147674 + TypeReference 2147665 2147672 + Identifier 2147665 2147672 + Parameter 2147675 2147689 + Identifier 2147675 2147681 + ArrayType 2147682 2147689 + TypeReference 2147682 2147687 + Identifier 2147682 2147687 + TypeReference 2147691 2147698 + Identifier 2147691 2147698 + Block 2147698 2147817 + ReturnStatement 2147700 2147810 + CallExpression 2147716 2147809 + Identifier 2147716 2147755 + Identifier 2147756 2147763 + CallExpression 2147764 2147808 + Identifier 2147764 2147777 + Identifier 2147778 2147783 + PropertyAccessExpression 2147784 2147807 + Identifier 2147784 2147799 + Identifier 2147800 2147807 + FunctionDeclaration 2147817 2148113 + Identifier 2147833 2147872 + Parameter 2147873 2147899 + Identifier 2147873 2147880 + TypeOperator 2147881 2147899 + ArrayType 2147890 2147899 + TypeReference 2147890 2147897 + Identifier 2147890 2147897 + Parameter 2147900 2147911 + Identifier 2147900 2147905 + TypeReference 2147906 2147911 + Identifier 2147906 2147911 + TypeReference 2147913 2147920 + Identifier 2147913 2147920 + Block 2147920 2148113 + ReturnStatement 2147922 2148106 + CallExpression 2148062 2148105 + Identifier 2148062 2148083 + CallExpression 2148084 2148098 + Identifier 2148084 2148089 + Identifier 2148090 2148097 + Identifier 2148099 2148104 + FunctionDeclaration 2148113 2149515 + Identifier 2148129 2148159 + Parameter 2148160 2148184 + Identifier 2148160 2148164 + TypeReference 2148165 2148184 + Identifier 2148165 2148184 + Parameter 2148185 2148209 + Identifier 2148185 2148196 + ArrayType 2148197 2148209 + TypeReference 2148197 2148207 + Identifier 2148197 2148207 + Parameter 2148210 2148238 + Identifier 2148210 2148215 + TypeOperator 2148216 2148238 + ArrayType 2148225 2148238 + TypeReference 2148225 2148236 + Identifier 2148225 2148236 + Parameter 2148239 2148260 + Identifier 2148239 2148249 + TypeReference 2148250 2148260 + Identifier 2148250 2148260 + TypeReference 2148262 2148272 + Identifier 2148262 2148272 + Block 2148272 2149515 + VariableStatement 2148274 2148816 + VariableDeclarationList 2148274 2148815 + VariableDeclaration 2148691 2148815 + Identifier 2148691 2148701 + CallExpression 2148703 2148815 + Identifier 2148703 2148728 + Identifier 2148729 2148739 + ConditionalExpression 2148740 2148814 + BinaryExpression 2148740 2148776 + Identifier 2148740 2148762 + EqualsEqualsEqualsToken 2148762 2148766 + Identifier 2148766 2148776 + QuestionToken 2148776 2148778 + PropertyAccessExpression 2148778 2148790 + Identifier 2148778 2148783 + Identifier 2148784 2148790 + ColonToken 2148790 2148792 + Identifier 2148792 2148814 + VariableStatement 2148816 2148866 + VariableDeclarationList 2148816 2148865 + VariableDeclaration 2148831 2148865 + Identifier 2148831 2148841 + ElementAccessExpression 2148843 2148865 + Identifier 2148843 2148854 + Identifier 2148855 2148864 + VariableStatement 2148866 2148913 + VariableDeclarationList 2148866 2148912 + VariableDeclaration 2148881 2148912 + ObjectBindingPattern 2148881 2148900 + BindingElement 2148883 2148898 + Identifier 2148883 2148898 + Identifier 2148902 2148912 + IfStatement 2148913 2148987 + PrefixUnaryExpression 2148927 2148942 + Identifier 2148928 2148942 + Block 2148943 2148987 + ReturnStatement 2148945 2148976 + Identifier 2148965 2148975 + VariableStatement 2148987 2149136 + VariableDeclarationList 2148987 2149135 + VariableDeclaration 2149004 2149135 + Identifier 2149004 2149022 + UnionType 2149023 2149055 + TypeOperator 2149023 2149043 + ArrayType 2149032 2149043 + TypeReference 2149032 2149041 + Identifier 2149032 2149041 + UndefinedKeyword 2149045 2149055 + ConditionalExpression 2149057 2149135 + CallExpression 2149057 2149102 + Identifier 2149057 2149096 + Identifier 2149097 2149101 + QuestionToken 2149102 2149104 + PropertyAccessExpression 2149104 2149123 + Identifier 2149104 2149109 + Identifier 2149110 2149123 + ColonToken 2149123 2149125 + Identifier 2149125 2149135 + VariableStatement 2149136 2149431 + VariableDeclarationList 2149136 2149430 + VariableDeclaration 2149151 2149430 + Identifier 2149151 2149164 + ConditionalExpression 2149166 2149430 + Identifier 2149166 2149184 + QuestionToken 2149184 2149199 + CallExpression 2149199 2149319 + Identifier 2149199 2149228 + Identifier 2149229 2149238 + CallExpression 2149239 2149318 + Identifier 2149239 2149265 + Identifier 2149266 2149283 + Identifier 2149284 2149299 + CallExpression 2149300 2149317 + Identifier 2149300 2149311 + Identifier 2149312 2149316 + ColonToken 2149319 2149334 + CallExpression 2149334 2149430 + Identifier 2149334 2149380 + Identifier 2149381 2149385 + Identifier 2149386 2149401 + Identifier 2149402 2149412 + Identifier 2149413 2149418 + Identifier 2149419 2149429 + ExpressionStatement 2149431 2149478 + BinaryExpression 2149431 2149477 + ElementAccessExpression 2149431 2149462 + Identifier 2149431 2149451 + Identifier 2149452 2149461 + EqualsToken 2149462 2149464 + Identifier 2149464 2149477 + ReturnStatement 2149478 2149508 + Identifier 2149494 2149507 + FunctionDeclaration 2149515 2150170 + Identifier 2149531 2149557 + Parameter 2149558 2149596 + Identifier 2149558 2149575 + TypeOperator 2149576 2149596 + ArrayType 2149585 2149596 + TypeReference 2149585 2149594 + Identifier 2149585 2149594 + Parameter 2149597 2149638 + Identifier 2149597 2149612 + TypeOperator 2149613 2149638 + ArrayType 2149622 2149638 + TypeReference 2149622 2149636 + Identifier 2149622 2149636 + Parameter 2149639 2149653 + Identifier 2149639 2149644 + BooleanKeyword 2149645 2149653 + TypeOperator 2149655 2149671 + ArrayType 2149664 2149671 + TypeReference 2149664 2149669 + Identifier 2149664 2149669 + Block 2149671 2150170 + VariableStatement 2149673 2149742 + VariableDeclarationList 2149673 2149741 + VariableDeclaration 2149688 2149741 + Identifier 2149688 2149702 + CallExpression 2149704 2149741 + PropertyAccessExpression 2149704 2149726 + Identifier 2149704 2149722 + Identifier 2149723 2149726 + Identifier 2149727 2149740 + WhileStatement 2149742 2149851 + BinaryExpression 2149759 2149803 + PropertyAccessExpression 2149759 2149779 + Identifier 2149759 2149772 + Identifier 2149773 2149779 + GreaterThanToken 2149779 2149781 + PropertyAccessExpression 2149781 2149803 + Identifier 2149781 2149796 + Identifier 2149797 2149803 + Block 2149804 2149851 + ExpressionStatement 2149806 2149840 + CallExpression 2149806 2149839 + PropertyAccessExpression 2149806 2149837 + Identifier 2149806 2149833 + Identifier 2149834 2149837 + WhileStatement 2149851 2150132 + BinaryExpression 2149868 2149912 + PropertyAccessExpression 2149868 2149888 + Identifier 2149868 2149881 + Identifier 2149882 2149888 + LessThanToken 2149888 2149890 + PropertyAccessExpression 2149890 2149912 + Identifier 2149890 2149905 + Identifier 2149906 2149912 + Block 2149913 2150132 + ExpressionStatement 2149915 2150121 + CallExpression 2149915 2150120 + PropertyAccessExpression 2149915 2149947 + Identifier 2149915 2149942 + Identifier 2149943 2149947 + BinaryExpression 2149948 2150119 + BinaryExpression 2149948 2150083 + CallExpression 2149948 2150013 + Identifier 2149948 2149975 + ElementAccessExpression 2149976 2150012 + Identifier 2149976 2149990 + PropertyAccessExpression 2149991 2150011 + Identifier 2149991 2150004 + Identifier 2150005 2150011 + BarBarToken 2150013 2150016 + CallExpression 2150016 2150083 + Identifier 2150016 2150045 + ElementAccessExpression 2150046 2150082 + Identifier 2150046 2150060 + PropertyAccessExpression 2150061 2150081 + Identifier 2150061 2150074 + Identifier 2150075 2150081 + BarBarToken 2150083 2150086 + CallExpression 2150086 2150119 + Identifier 2150086 2150113 + Identifier 2150114 2150118 + ReturnStatement 2150132 2150163 + Identifier 2150148 2150162 + FunctionDeclaration 2150170 2150805 + Identifier 2150186 2150232 + Parameter 2150233 2150257 + Identifier 2150233 2150237 + TypeReference 2150238 2150257 + Identifier 2150238 2150257 + Parameter 2150258 2150299 + Identifier 2150258 2150273 + TypeOperator 2150274 2150299 + ArrayType 2150283 2150299 + TypeReference 2150283 2150297 + Identifier 2150283 2150297 + Parameter 2150300 2150321 + Identifier 2150300 2150310 + TypeReference 2150311 2150321 + Identifier 2150311 2150321 + Parameter 2150322 2150350 + Identifier 2150322 2150327 + TypeOperator 2150328 2150350 + ArrayType 2150337 2150350 + TypeReference 2150337 2150348 + Identifier 2150337 2150348 + Parameter 2150351 2150372 + Identifier 2150351 2150361 + TypeReference 2150362 2150372 + Identifier 2150362 2150372 + TypeReference 2150374 2150384 + Identifier 2150374 2150384 + Block 2150384 2150805 + VariableStatement 2150386 2150549 + VariableDeclarationList 2150386 2150548 + VariableDeclaration 2150401 2150548 + Identifier 2150401 2150418 + CallExpression 2150420 2150548 + Identifier 2150420 2150443 + Identifier 2150444 2150458 + Identifier 2150459 2150469 + ConditionalExpression 2150470 2150547 + CallExpression 2150470 2150497 + Identifier 2150470 2150491 + Identifier 2150492 2150496 + QuestionToken 2150497 2150499 + PropertyAccessExpression 2150499 2150525 + Identifier 2150499 2150514 + Identifier 2150515 2150525 + ColonToken 2150525 2150527 + PropertyAccessExpression 2150527 2150547 + Identifier 2150527 2150542 + Identifier 2150543 2150547 + VariableStatement 2150549 2150722 + VariableDeclarationList 2150549 2150721 + VariableDeclaration 2150564 2150721 + Identifier 2150564 2150582 + CallExpression 2150584 2150721 + Identifier 2150584 2150603 + Identifier 2150604 2150608 + Identifier 2150609 2150619 + Identifier 2150620 2150625 + BinaryExpression 2150626 2150702 + BinaryExpression 2150626 2150669 + Identifier 2150626 2150636 + BarToken 2150636 2150638 + PropertyAccessExpression 2150638 2150669 + Identifier 2150638 2150648 + Identifier 2150649 2150669 + BarToken 2150669 2150671 + PropertyAccessExpression 2150671 2150702 + Identifier 2150671 2150681 + Identifier 2150682 2150702 + Identifier 2150703 2150720 + ReturnStatement 2150722 2150798 + CallExpression 2150738 2150797 + Identifier 2150738 2150767 + Identifier 2150768 2150777 + Identifier 2150778 2150796 + FunctionDeclaration 2150805 2151442 + Identifier 2150821 2150846 + Parameter 2150847 2150870 + Identifier 2150847 2150857 + ArrayType 2150858 2150870 + TypeReference 2150858 2150868 + Identifier 2150858 2150868 + Parameter 2150871 2150889 + Identifier 2150871 2150881 + NumberKeyword 2150882 2150889 + NumberKeyword 2150891 2150898 + Block 2150898 2151442 + VariableStatement 2150900 2150934 + VariableDeclarationList 2150900 2150933 + VariableDeclaration 2150913 2150933 + Identifier 2150913 2150928 + PrefixUnaryExpression 2150930 2150933 + NumericLiteral 2150932 2150933 + VariableStatement 2150934 2150963 + VariableDeclarationList 2150934 2150962 + VariableDeclaration 2150947 2150962 + Identifier 2150947 2150957 + PrefixUnaryExpression 2150959 2150962 + NumericLiteral 2150961 2150962 + ForStatement 2150963 2151401 + VariableDeclarationList 2150980 2150989 + VariableDeclaration 2150983 2150989 + Identifier 2150983 2150985 + NumericLiteral 2150987 2150989 + BinaryExpression 2150990 2151012 + Identifier 2150990 2150992 + LessThanToken 2150992 2150994 + PropertyAccessExpression 2150994 2151012 + Identifier 2150994 2151005 + Identifier 2151006 2151012 + PostfixUnaryExpression 2151013 2151017 + Identifier 2151013 2151015 + Block 2151018 2151401 + VariableStatement 2151020 2151066 + VariableDeclarationList 2151020 2151065 + VariableDeclaration 2151039 2151065 + Identifier 2151039 2151049 + ElementAccessExpression 2151051 2151065 + Identifier 2151051 2151062 + Identifier 2151063 2151064 + VariableStatement 2151066 2151128 + VariableDeclarationList 2151066 2151127 + VariableDeclaration 2151085 2151127 + Identifier 2151085 2151096 + CallExpression 2151098 2151127 + Identifier 2151098 2151116 + Identifier 2151117 2151126 + IfStatement 2151128 2151254 + BinaryExpression 2151146 2151209 + CallExpression 2151146 2151182 + Identifier 2151146 2151171 + Identifier 2151172 2151181 + BarBarToken 2151182 2151185 + BinaryExpression 2151185 2151209 + Identifier 2151185 2151196 + GreaterThanEqualsToken 2151196 2151199 + Identifier 2151199 2151209 + Block 2151210 2151254 + ReturnStatement 2151212 2151239 + Identifier 2151236 2151238 + IfStatement 2151254 2151390 + BinaryExpression 2151272 2151294 + Identifier 2151272 2151282 + GreaterThanToken 2151282 2151284 + Identifier 2151284 2151294 + Block 2151295 2151390 + ExpressionStatement 2151297 2151338 + BinaryExpression 2151297 2151337 + Identifier 2151297 2151324 + EqualsToken 2151324 2151326 + Identifier 2151326 2151337 + ExpressionStatement 2151338 2151375 + BinaryExpression 2151338 2151374 + Identifier 2151338 2151370 + EqualsToken 2151370 2151372 + Identifier 2151372 2151374 + ReturnStatement 2151401 2151435 + Identifier 2151419 2151434 + FunctionDeclaration 2151442 2158267 + Identifier 2151458 2151480 + Parameter 2151481 2151501 + Identifier 2151481 2151485 + TypeReference 2151486 2151501 + Identifier 2151486 2151501 + Parameter 2151502 2151546 + Identifier 2151502 2151521 + UnionType 2151522 2151546 + ArrayType 2151522 2151534 + TypeReference 2151522 2151532 + Identifier 2151522 2151532 + UndefinedKeyword 2151536 2151546 + Parameter 2151547 2151568 + Identifier 2151547 2151557 + TypeReference 2151558 2151568 + Identifier 2151558 2151568 + TypeReference 2151570 2151580 + Identifier 2151570 2151580 + Block 2151580 2158267 + IfStatement 2151582 2152731 + BinaryExpression 2151596 2151644 + PropertyAccessExpression 2151596 2151616 + PropertyAccessExpression 2151596 2151611 + Identifier 2151596 2151600 + Identifier 2151601 2151611 + Identifier 2151612 2151616 + EqualsEqualsEqualsToken 2151616 2151620 + PropertyAccessExpression 2151620 2151644 + Identifier 2151620 2151631 + Identifier 2151632 2151644 + Block 2151645 2152731 + VariableStatement 2151647 2151717 + VariableDeclarationList 2151647 2151716 + VariableDeclaration 2151666 2151716 + Identifier 2151666 2151676 + CallExpression 2151678 2151716 + Identifier 2151678 2151699 + PropertyAccessExpression 2151700 2151715 + Identifier 2151700 2151704 + Identifier 2151705 2151715 + IfStatement 2151717 2151990 + CallExpression 2151735 2151755 + Identifier 2151735 2151744 + Identifier 2151745 2151754 + Block 2151756 2151990 + ForOfStatement 2151758 2151937 + VariableDeclarationList 2151781 2151790 + VariableDeclaration 2151786 2151790 + Identifier 2151786 2151790 + PropertyAccessExpression 2151793 2151808 + Identifier 2151793 2151798 + Identifier 2151799 2151808 + Block 2151809 2151937 + ExpressionStatement 2151811 2151854 + CallExpression 2151811 2151853 + Identifier 2151811 2151848 + Identifier 2151849 2151852 + ReturnStatement 2151937 2151975 + Identifier 2151961 2151974 + IfStatement 2151990 2152674 + PrefixUnaryExpression 2152008 2152031 + CallExpression 2152009 2152031 + Identifier 2152009 2152020 + Identifier 2152021 2152030 + Block 2152032 2152674 + VariableStatement 2152034 2152342 + VariableDeclarationList 2152034 2152341 + VariableDeclaration 2152274 2152341 + Identifier 2152274 2152287 + CallExpression 2152289 2152341 + Identifier 2152289 2152314 + NonNullExpression 2152315 2152340 + CallExpression 2152315 2152339 + Identifier 2152315 2152333 + Identifier 2152334 2152338 + IfStatement 2152342 2152659 + Identifier 2152364 2152376 + Block 2152377 2152659 + VariableStatement 2152379 2152523 + VariableDeclarationList 2152379 2152522 + VariableDeclaration 2152406 2152522 + Identifier 2152406 2152423 + CallExpression 2152425 2152522 + Identifier 2152425 2152469 + Identifier 2152470 2152479 + PropertyAccessExpression 2152480 2152507 + Identifier 2152480 2152493 + Identifier 2152494 2152507 + Identifier 2152508 2152521 + ReturnStatement 2152523 2152640 + CallExpression 2152551 2152639 + Identifier 2152551 2152563 + Identifier 2152564 2152568 + Identifier 2152569 2152586 + Identifier 2152587 2152606 + Identifier 2152607 2152617 + PropertyAccessExpression 2152618 2152638 + Identifier 2152618 2152633 + Identifier 2152634 2152638 + ReturnStatement 2152674 2152720 + CallExpression 2152694 2152719 + Identifier 2152694 2152713 + Identifier 2152714 2152718 + VariableStatement 2152731 2152778 + VariableDeclarationList 2152731 2152777 + VariableDeclaration 2152746 2152777 + Identifier 2152746 2152761 + TypeReference 2152762 2152777 + Identifier 2152762 2152777 + VariableStatement 2152778 2152836 + VariableDeclarationList 2152778 2152835 + VariableDeclaration 2152791 2152835 + Identifier 2152791 2152800 + CallExpression 2152802 2152835 + Identifier 2152802 2152818 + PropertyAccessExpression 2152819 2152834 + Identifier 2152819 2152823 + Identifier 2152824 2152834 + IfStatement 2152836 2153308 + CallExpression 2152850 2152867 + Identifier 2152850 2152861 + Identifier 2152862 2152866 + Block 2152868 2153230 + VariableStatement 2152870 2152961 + VariableDeclarationList 2152870 2152960 + VariableDeclaration 2152889 2152960 + Identifier 2152889 2152905 + CallExpression 2152907 2152960 + Identifier 2152907 2152933 + Identifier 2152934 2152942 + PropertyAccessExpression 2152943 2152959 + Identifier 2152943 2152948 + Identifier 2152949 2152959 + ExpressionStatement 2152961 2153178 + BinaryExpression 2152961 2153177 + Identifier 2152961 2152989 + EqualsToken 2152989 2152991 + ConditionalExpression 2152991 2153177 + BinaryExpression 2152991 2153020 + Identifier 2152991 2153007 + EqualsEqualsEqualsToken 2153007 2153011 + Identifier 2153011 2153020 + QuestionToken 2153020 2153022 + PropertyAccessExpression 2153022 2153042 + Identifier 2153022 2153037 + Identifier 2153038 2153042 + ColonToken 2153042 2153044 + ConditionalExpression 2153044 2153177 + CallExpression 2153044 2153092 + Identifier 2153044 2153086 + Identifier 2153087 2153091 + QuestionToken 2153092 2153094 + PropertyAccessExpression 2153094 2153126 + Identifier 2153094 2153109 + Identifier 2153110 2153126 + ColonToken 2153126 2153128 + PropertyAccessExpression 2153128 2153177 + Identifier 2153128 2153160 + Identifier 2153161 2153177 + ExpressionStatement 2153178 2153219 + BinaryExpression 2153178 2153218 + Identifier 2153178 2153200 + EqualsToken 2153200 2153202 + Identifier 2153202 2153218 + Block 2153244 2153308 + ExpressionStatement 2153246 2153297 + BinaryExpression 2153246 2153296 + Identifier 2153246 2153274 + EqualsToken 2153274 2153276 + PropertyAccessExpression 2153276 2153296 + Identifier 2153276 2153291 + Identifier 2153292 2153296 + ExpressionStatement 2153308 2153486 + BinaryExpression 2153308 2153485 + Identifier 2153308 2153328 + EqualsToken 2153328 2153330 + CallExpression 2153330 2153485 + Identifier 2153330 2153359 + Identifier 2153360 2153382 + PropertyAccessExpression 2153383 2153412 + Identifier 2153383 2153401 + Identifier 2153402 2153412 + Identifier 2153413 2153473 + IfStatement 2153486 2153586 + BinaryExpression 2153502 2153530 + Identifier 2153502 2153510 + EqualsEqualsEqualsToken 2153510 2153514 + Identifier 2153514 2153530 + Block 2153531 2153586 + ReturnStatement 2153533 2153575 + Identifier 2153553 2153574 + VariableStatement 2153586 2153645 + VariableDeclarationList 2153586 2153644 + VariableDeclaration 2153603 2153644 + Identifier 2153603 2153616 + CallExpression 2153618 2153644 + Identifier 2153618 2153634 + Identifier 2153635 2153643 + IfStatement 2153645 2153798 + CallExpression 2153659 2153684 + Identifier 2153659 2153670 + Identifier 2153671 2153683 + Block 2153685 2153798 + ReturnStatement 2153687 2153787 + CallExpression 2153763 2153786 + Identifier 2153763 2153780 + Identifier 2153781 2153785 + VariableStatement 2153798 2154222 + VariableDeclarationList 2153798 2154221 + VariableDeclaration 2154150 2154221 + Identifier 2154150 2154165 + CallExpression 2154167 2154221 + Identifier 2154167 2154187 + Identifier 2154188 2154200 + PropertyAccessExpression 2154201 2154220 + Identifier 2154201 2154215 + Identifier 2154216 2154220 + VariableStatement 2154222 2154329 + VariableDeclarationList 2154222 2154328 + VariableDeclaration 2154237 2154328 + Identifier 2154237 2154260 + PropertyAccessExpression 2154262 2154328 + CallExpression 2154262 2154321 + Identifier 2154262 2154282 + Identifier 2154283 2154295 + PropertyAccessExpression 2154296 2154320 + Identifier 2154296 2154310 + Identifier 2154311 2154320 + Identifier 2154322 2154328 + IfStatement 2154329 2155070 + CallExpression 2154586 2154678 + Identifier 2154586 2154607 + Identifier 2154608 2154616 + Identifier 2154617 2154630 + PropertyAccessExpression 2154631 2154653 + Identifier 2154631 2154646 + Identifier 2154647 2154653 + Identifier 2154654 2154677 + Block 2154679 2155070 + IfStatement 2154681 2155013 + BinaryExpression 2154855 2154899 + PrefixUnaryExpression 2154855 2154877 + CallExpression 2154856 2154877 + Identifier 2154856 2154867 + Identifier 2154868 2154876 + AmpersandAmpersandToken 2154877 2154880 + PropertyAccessExpression 2154880 2154899 + Identifier 2154880 2154885 + Identifier 2154886 2154899 + Block 2154900 2155013 + ExpressionStatement 2154902 2154998 + CallExpression 2154902 2154997 + Identifier 2154902 2154925 + Identifier 2154926 2154930 + PropertyAccessExpression 2154931 2154996 + Identifier 2154931 2154943 + Identifier 2154944 2154996 + ReturnStatement 2155013 2155059 + CallExpression 2155033 2155058 + Identifier 2155033 2155052 + Identifier 2155053 2155057 + IfStatement 2155070 2156248 + PrefixUnaryExpression 2155342 2155364 + PropertyAccessExpression 2155343 2155364 + Identifier 2155343 2155357 + Identifier 2155358 2155364 + Block 2155365 2156248 + IfStatement 2155367 2156193 + Identifier 2155385 2155407 + Block 2155408 2155552 + ExpressionStatement 2155410 2155537 + CallExpression 2155410 2155536 + Identifier 2155410 2155433 + Identifier 2155434 2155438 + PropertyAccessExpression 2155439 2155511 + Identifier 2155439 2155451 + Identifier 2155452 2155511 + CallExpression 2155512 2155535 + Identifier 2155512 2155525 + Identifier 2155526 2155534 + Block 2155570 2156193 + VariableStatement 2155572 2155655 + VariableDeclarationList 2155572 2155654 + VariableDeclaration 2155593 2155654 + Identifier 2155593 2155612 + UnionType 2155613 2155654 + TypeReference 2155613 2155642 + Identifier 2155613 2155642 + UndefinedKeyword 2155644 2155654 + IfStatement 2155655 2156073 + BinaryExpression 2155677 2155704 + PropertyAccessExpression 2155677 2155698 + PropertyAccessExpression 2155677 2155691 + Identifier 2155677 2155681 + Identifier 2155682 2155691 + Identifier 2155692 2155698 + EqualsEqualsEqualsToken 2155698 2155702 + NumericLiteral 2155702 2155704 + Block 2155705 2156073 + VariableStatement 2155707 2155773 + VariableDeclarationList 2155707 2155772 + VariableDeclaration 2155734 2155772 + Identifier 2155734 2155739 + PropertyAccessExpression 2155741 2155772 + CallExpression 2155741 2155767 + Identifier 2155741 2155761 + Identifier 2155762 2155766 + Identifier 2155768 2155772 + IfStatement 2155773 2156054 + CallExpression 2155799 2155899 + Identifier 2155799 2155810 + CallExpression 2155811 2155898 + PropertyAccessExpression 2155811 2155826 + Identifier 2155811 2155815 + Identifier 2155816 2155826 + BinaryExpression 2155827 2155897 + CallExpression 2155827 2155893 + Identifier 2155827 2155837 + Identifier 2155838 2155842 + PropertyAccessExpression 2155843 2155863 + PropertyAccessExpression 2155843 2155859 + Identifier 2155843 2155848 + Identifier 2155849 2155859 + Identifier 2155860 2155863 + TrueKeyword 2155864 2155892 + MinusToken 2155893 2155895 + NumericLiteral 2155895 2155897 + Block 2155900 2156054 + ExpressionStatement 2155902 2156031 + BinaryExpression 2155902 2156030 + Identifier 2155902 2155946 + EqualsToken 2155946 2155948 + CallExpression 2155948 2156030 + Identifier 2155948 2155972 + PropertyAccessExpression 2155973 2155988 + Identifier 2155973 2155977 + Identifier 2155978 2155988 + PropertyAccessExpression 2155989 2156029 + Identifier 2155989 2156001 + Identifier 2156002 2156029 + ExpressionStatement 2156073 2156178 + CallExpression 2156073 2156177 + Identifier 2156073 2156106 + PropertyAccessExpression 2156107 2156122 + Identifier 2156107 2156111 + Identifier 2156112 2156122 + Identifier 2156123 2156136 + PropertyAccessExpression 2156137 2156156 + Identifier 2156137 2156151 + Identifier 2156152 2156156 + Identifier 2156157 2156176 + ReturnStatement 2156193 2156237 + CallExpression 2156213 2156236 + Identifier 2156213 2156230 + Identifier 2156231 2156235 + IfStatement 2156248 2157777 + BinaryExpression 2157545 2157669 + BinaryExpression 2157545 2157610 + BinaryExpression 2157545 2157587 + Identifier 2157545 2157554 + AmpersandToken 2157554 2157556 + PropertyAccessExpression 2157556 2157587 + Identifier 2157556 2157566 + Identifier 2157567 2157587 + AmpersandAmpersandToken 2157587 2157590 + PrefixUnaryExpression 2157590 2157610 + PropertyAccessExpression 2157592 2157610 + Identifier 2157592 2157596 + Identifier 2157597 2157610 + AmpersandAmpersandToken 2157610 2157613 + CallExpression 2157613 2157669 + PropertyAccessExpression 2157613 2157633 + Identifier 2157613 2157628 + Identifier 2157629 2157633 + Identifier 2157634 2157668 + Block 2157670 2157777 + ExpressionStatement 2157672 2157726 + CallExpression 2157672 2157725 + Identifier 2157672 2157708 + Identifier 2157709 2157713 + Identifier 2157714 2157724 + ReturnStatement 2157726 2157766 + Identifier 2157746 2157765 + IfStatement 2157777 2158160 + CallExpression 2157884 2157979 + PropertyAccessExpression 2157884 2157903 + Identifier 2157884 2157898 + Identifier 2157899 2157903 + ArrowFunction 2157904 2157978 + Parameter 2157904 2157907 + Identifier 2157904 2157907 + EqualsGreaterThanToken 2157907 2157910 + BinaryExpression 2157910 2157978 + CallExpression 2157910 2157938 + Identifier 2157910 2157921 + PropertyAccessExpression 2157922 2157937 + Identifier 2157922 2157925 + Identifier 2157926 2157937 + AmpersandAmpersandToken 2157938 2157941 + PrefixUnaryExpression 2157941 2157978 + PrefixUnaryExpression 2157943 2157978 + CallExpression 2157944 2157978 + Identifier 2157944 2157960 + NonNullExpression 2157961 2157977 + PropertyAccessExpression 2157961 2157976 + Identifier 2157961 2157964 + Identifier 2157965 2157976 + Block 2157980 2158160 + ExpressionStatement 2157982 2158105 + CallExpression 2157982 2158104 + Identifier 2157982 2158001 + Identifier 2158002 2158006 + PropertyAccessExpression 2158007 2158079 + Identifier 2158007 2158019 + Identifier 2158020 2158079 + CallExpression 2158080 2158103 + Identifier 2158080 2158093 + Identifier 2158094 2158102 + ReturnStatement 2158105 2158149 + CallExpression 2158125 2158148 + Identifier 2158125 2158142 + Identifier 2158143 2158147 + ReturnStatement 2158160 2158260 + CallExpression 2158178 2158259 + Identifier 2158178 2158190 + Identifier 2158191 2158195 + Identifier 2158196 2158211 + Identifier 2158212 2158231 + Identifier 2158232 2158242 + Identifier 2158243 2158258 + FunctionDeclaration 2158267 2158450 + Identifier 2158283 2158318 + Parameter 2158319 2158339 + Identifier 2158319 2158328 + TypeReference 2158329 2158339 + Identifier 2158329 2158339 + Block 2158340 2158450 + ReturnStatement 2158342 2158443 + PrefixUnaryExpression 2158358 2158442 + PrefixUnaryExpression 2158360 2158442 + ParenthesizedExpression 2158361 2158442 + BinaryExpression 2158362 2158441 + PropertyAccessExpression 2158362 2158386 + Identifier 2158362 2158371 + Identifier 2158372 2158386 + AmpersandAmpersandToken 2158386 2158389 + CallExpression 2158389 2158441 + Identifier 2158389 2158404 + CallExpression 2158405 2158440 + Identifier 2158405 2158429 + Identifier 2158430 2158439 + FunctionDeclaration 2158450 2159300 + Identifier 2158698 2158720 + Parameter 2158721 2158735 + Identifier 2158721 2158729 + TypeReference 2158730 2158735 + Identifier 2158730 2158735 + Parameter 2158736 2158759 + Identifier 2158736 2158753 + TypeReference 2158754 2158759 + Identifier 2158754 2158759 + Parameter 2158760 2158786 + Identifier 2158760 2158778 + NumberKeyword 2158779 2158786 + Parameter 2158787 2158818 + Identifier 2158787 2158810 + NumberKeyword 2158811 2158818 + BooleanKeyword 2158820 2158828 + Block 2158828 2159300 + ReturnStatement 2158830 2159293 + BinaryExpression 2158969 2159292 + BinaryExpression 2158969 2159068 + CallExpression 2158969 2158989 + Identifier 2158969 2158979 + Identifier 2158980 2158988 + BarBarToken 2158989 2158992 + BinaryExpression 2158992 2159068 + CallExpression 2158992 2159020 + Identifier 2158992 2159002 + Identifier 2159003 2159019 + AmpersandAmpersandToken 2159020 2159023 + PrefixUnaryExpression 2159023 2159068 + PrefixUnaryExpression 2159025 2159068 + ParenthesizedExpression 2159026 2159068 + BinaryExpression 2159027 2159067 + PropertyAccessExpression 2159027 2159041 + Identifier 2159027 2159035 + Identifier 2159036 2159041 + AmpersandToken 2159041 2159043 + PropertyAccessExpression 2159043 2159067 + Identifier 2159043 2159053 + Identifier 2159054 2159067 + BarBarToken 2159068 2159071 + BinaryExpression 2159071 2159292 + BinaryExpression 2159071 2159240 + BinaryExpression 2159071 2159177 + BinaryExpression 2159071 2159130 + PrefixUnaryExpression 2159071 2159103 + Identifier 2159086 2159103 + AmpersandAmpersandToken 2159103 2159106 + PrefixUnaryExpression 2159106 2159130 + Identifier 2159108 2159130 + AmpersandAmpersandToken 2159130 2159133 + PrefixUnaryExpression 2159133 2159177 + ParenthesizedExpression 2159135 2159177 + BinaryExpression 2159136 2159176 + PropertyAccessExpression 2159136 2159158 + Identifier 2159136 2159152 + Identifier 2159153 2159158 + AmpersandToken 2159158 2159160 + PropertyAccessExpression 2159160 2159176 + Identifier 2159160 2159170 + Identifier 2159171 2159176 + AmpersandAmpersandToken 2159177 2159180 + PrefixUnaryExpression 2159180 2159240 + ParenthesizedExpression 2159182 2159240 + BinaryExpression 2159183 2159239 + PropertyAccessExpression 2159183 2159221 + CallExpression 2159183 2159215 + Identifier 2159183 2159197 + Identifier 2159198 2159214 + Identifier 2159216 2159221 + AmpersandToken 2159221 2159223 + PropertyAccessExpression 2159223 2159239 + Identifier 2159223 2159233 + Identifier 2159234 2159239 + AmpersandAmpersandToken 2159240 2159243 + CallExpression 2159243 2159292 + Identifier 2159243 2159262 + Identifier 2159263 2159271 + Identifier 2159272 2159291 + FunctionDeclaration 2159300 2163674 + Identifier 2159316 2159337 + Parameter 2159338 2159357 + Identifier 2159338 2159342 + TypeReference 2159343 2159357 + Identifier 2159343 2159357 + Parameter 2159358 2159402 + Identifier 2159358 2159377 + UnionType 2159378 2159402 + ArrayType 2159378 2159390 + TypeReference 2159378 2159388 + Identifier 2159378 2159388 + UndefinedKeyword 2159392 2159402 + Parameter 2159403 2159424 + Identifier 2159403 2159413 + TypeReference 2159414 2159424 + Identifier 2159414 2159424 + TypeReference 2159426 2159436 + Identifier 2159426 2159436 + Block 2159436 2163674 + VariableStatement 2159438 2159509 + VariableDeclarationList 2159438 2159508 + VariableDeclaration 2159451 2159508 + Identifier 2159451 2159466 + CallExpression 2159468 2159508 + Identifier 2159468 2159491 + PropertyAccessExpression 2159492 2159507 + Identifier 2159492 2159496 + Identifier 2159497 2159507 + IfStatement 2159509 2159613 + BinaryExpression 2159523 2159557 + Identifier 2159523 2159537 + EqualsEqualsEqualsToken 2159537 2159541 + Identifier 2159541 2159557 + Block 2159558 2159613 + ReturnStatement 2159560 2159602 + Identifier 2159580 2159601 + ExpressionStatement 2159613 2160089 + BinaryExpression 2159613 2160088 + Identifier 2159613 2160054 + EqualsToken 2160054 2160056 + CallExpression 2160056 2160088 + Identifier 2160056 2160072 + Identifier 2160073 2160087 + IfStatement 2160089 2160244 + CallExpression 2160103 2160130 + Identifier 2160103 2160114 + Identifier 2160115 2160129 + Block 2160131 2160244 + ReturnStatement 2160133 2160233 + CallExpression 2160209 2160232 + Identifier 2160209 2160226 + Identifier 2160227 2160231 + IfStatement 2160244 2160661 + CallExpression 2160426 2160451 + Identifier 2160426 2160435 + Identifier 2160436 2160450 + Block 2160452 2160661 + IfStatement 2160454 2160604 + PropertyAccessExpression 2160472 2160490 + Identifier 2160472 2160476 + Identifier 2160477 2160490 + Block 2160491 2160604 + ExpressionStatement 2160493 2160589 + CallExpression 2160493 2160588 + Identifier 2160493 2160516 + Identifier 2160517 2160521 + PropertyAccessExpression 2160522 2160587 + Identifier 2160522 2160534 + Identifier 2160535 2160587 + ReturnStatement 2160604 2160650 + CallExpression 2160624 2160649 + Identifier 2160624 2160643 + Identifier 2160644 2160648 + VariableStatement 2160661 2161102 + VariableDeclarationList 2160661 2161101 + VariableDeclaration 2161018 2161101 + Identifier 2161018 2161038 + CallExpression 2161040 2161101 + Identifier 2161040 2161060 + Identifier 2161061 2161075 + PropertyAccessExpression 2161076 2161100 + Identifier 2161076 2161090 + Identifier 2161091 2161100 + IfStatement 2161102 2162343 + PropertyAccessExpression 2161116 2161142 + Identifier 2161116 2161135 + Identifier 2161136 2161142 + Block 2161143 2162343 + IfStatement 2161145 2161283 + PrefixUnaryExpression 2161163 2161217 + CallExpression 2161164 2161217 + Identifier 2161164 2161187 + Identifier 2161188 2161192 + ElementAccessExpression 2161193 2161216 + Identifier 2161193 2161213 + NumericLiteral 2161214 2161215 + Block 2161218 2161283 + ReturnStatement 2161220 2161268 + CallExpression 2161244 2161267 + Identifier 2161244 2161261 + Identifier 2161262 2161266 + IfStatement 2161283 2161864 + CallExpression 2161614 2161708 + Identifier 2161614 2161627 + Identifier 2161628 2161647 + ArrowFunction 2161648 2161707 + Parameter 2161648 2161658 + Identifier 2161648 2161658 + EqualsGreaterThanToken 2161658 2161661 + PrefixUnaryExpression 2161661 2161707 + PrefixUnaryExpression 2161663 2161707 + ParenthesizedExpression 2161664 2161707 + BinaryExpression 2161665 2161706 + PropertyAccessExpression 2161665 2161680 + Identifier 2161665 2161674 + Identifier 2161675 2161680 + AmpersandToken 2161680 2161682 + PropertyAccessExpression 2161682 2161706 + Identifier 2161682 2161697 + Identifier 2161698 2161706 + Block 2161709 2161864 + ExpressionStatement 2161711 2161801 + CallExpression 2161711 2161800 + Identifier 2161711 2161734 + Identifier 2161735 2161739 + PropertyAccessExpression 2161740 2161799 + Identifier 2161740 2161752 + Identifier 2161753 2161799 + ReturnStatement 2161801 2161849 + CallExpression 2161825 2161848 + Identifier 2161825 2161842 + Identifier 2161843 2161847 + VariableStatement 2161864 2161976 + VariableDeclarationList 2161864 2161975 + VariableDeclaration 2161883 2161975 + Identifier 2161883 2161893 + BinaryExpression 2161895 2161975 + PropertyAccessExpression 2161895 2161917 + Identifier 2161895 2161910 + Identifier 2161911 2161917 + AmpersandAmpersandToken 2161917 2161920 + CallExpression 2161920 2161975 + Identifier 2161920 2161952 + PropertyAccessExpression 2161953 2161974 + Identifier 2161953 2161967 + Identifier 2161968 2161974 + IfStatement 2161976 2162218 + BinaryExpression 2161994 2162062 + Identifier 2161994 2162003 + AmpersandAmpersandToken 2162003 2162006 + CallExpression 2162006 2162062 + Identifier 2162006 2162027 + Identifier 2162028 2162037 + PropertyAccessExpression 2162038 2162061 + Identifier 2162038 2162052 + Identifier 2162053 2162061 + Block 2162063 2162218 + ExpressionStatement 2162065 2162155 + CallExpression 2162065 2162154 + Identifier 2162065 2162088 + Identifier 2162089 2162093 + PropertyAccessExpression 2162094 2162153 + Identifier 2162094 2162106 + Identifier 2162107 2162153 + ReturnStatement 2162155 2162203 + CallExpression 2162179 2162202 + Identifier 2162179 2162196 + Identifier 2162197 2162201 + ReturnStatement 2162218 2162332 + CallExpression 2162240 2162331 + Identifier 2162240 2162252 + Identifier 2162253 2162257 + Identifier 2162258 2162278 + Identifier 2162279 2162298 + Identifier 2162299 2162309 + PropertyAccessExpression 2162310 2162330 + Identifier 2162310 2162325 + Identifier 2162326 2162330 + VariableStatement 2162343 2162809 + VariableDeclarationList 2162343 2162808 + VariableDeclaration 2162735 2162808 + Identifier 2162735 2162750 + CallExpression 2162752 2162808 + Identifier 2162752 2162772 + Identifier 2162773 2162787 + PropertyAccessExpression 2162788 2162807 + Identifier 2162788 2162802 + Identifier 2162803 2162807 + IfStatement 2162809 2163541 + PropertyAccessExpression 2162823 2162844 + Identifier 2162823 2162837 + Identifier 2162838 2162844 + Block 2162845 2163541 + VariableStatement 2162847 2162965 + VariableDeclarationList 2162847 2162964 + VariableDeclaration 2162866 2162964 + Identifier 2162866 2162876 + CallExpression 2162878 2162964 + Identifier 2162878 2162890 + Identifier 2162891 2162895 + Identifier 2162896 2162911 + Identifier 2162912 2162931 + Identifier 2162932 2162942 + PropertyAccessExpression 2162943 2162963 + Identifier 2162943 2162958 + Identifier 2162959 2162963 + IfStatement 2162965 2163499 + PrefixUnaryExpression 2162983 2162997 + Identifier 2162984 2162997 + Block 2162998 2163499 + IfStatement 2163000 2163263 + BinaryExpression 2163022 2163138 + BinaryExpression 2163022 2163086 + PropertyAccessExpression 2163022 2163043 + Identifier 2163022 2163031 + Identifier 2163032 2163043 + AmpersandAmpersandToken 2163043 2163046 + PrefixUnaryExpression 2163046 2163086 + CallExpression 2163048 2163086 + Identifier 2163048 2163063 + PropertyAccessExpression 2163064 2163085 + Identifier 2163064 2163073 + Identifier 2163074 2163085 + AmpersandAmpersandToken 2163086 2163089 + BinaryExpression 2163089 2163138 + CallExpression 2163089 2163125 + Identifier 2163089 2163114 + Identifier 2163115 2163124 + ExclamationEqualsEqualsToken 2163125 2163129 + Identifier 2163129 2163138 + Block 2163139 2163263 + ExpressionStatement 2163141 2163244 + CallExpression 2163141 2163243 + Identifier 2163141 2163168 + Identifier 2163169 2163173 + PropertyAccessExpression 2163174 2163242 + Identifier 2163174 2163186 + Identifier 2163187 2163242 + IfStatement 2163263 2163484 + BinaryExpression 2163285 2163331 + CallExpression 2163285 2163318 + Identifier 2163285 2163307 + Identifier 2163308 2163317 + EqualsEqualsEqualsToken 2163318 2163322 + Identifier 2163322 2163331 + Block 2163332 2163484 + ExpressionStatement 2163334 2163465 + CallExpression 2163334 2163464 + Identifier 2163334 2163361 + Identifier 2163362 2163366 + PropertyAccessExpression 2163367 2163463 + Identifier 2163367 2163379 + Identifier 2163380 2163463 + ReturnStatement 2163499 2163530 + Identifier 2163519 2163529 + ExpressionStatement 2163541 2163627 + CallExpression 2163541 2163626 + Identifier 2163541 2163568 + PropertyAccessExpression 2163569 2163584 + Identifier 2163569 2163573 + Identifier 2163574 2163584 + Identifier 2163585 2163600 + PropertyAccessExpression 2163601 2163625 + Identifier 2163601 2163615 + Identifier 2163616 2163625 + ReturnStatement 2163627 2163667 + CallExpression 2163643 2163666 + Identifier 2163643 2163660 + Identifier 2163661 2163665 + FunctionDeclaration 2163674 2164045 + Identifier 2163690 2163704 + Parameter 2163705 2163749 + Identifier 2163705 2163715 + UnionType 2163716 2163749 + TypeReference 2163716 2163726 + Identifier 2163716 2163726 + TypeOperator 2163728 2163749 + ArrayType 2163737 2163749 + TypeReference 2163737 2163747 + Identifier 2163737 2163747 + Parameter 2163750 2163779 + Identifier 2163750 2163752 + FunctionType 2163753 2163779 + Parameter 2163755 2163767 + Identifier 2163755 2163756 + TypeReference 2163757 2163767 + Identifier 2163757 2163767 + BooleanKeyword 2163771 2163779 + BooleanKeyword 2163781 2163789 + Block 2163789 2164045 + IfStatement 2163791 2163918 + CallExpression 2163805 2163824 + Identifier 2163805 2163812 + Identifier 2163813 2163823 + Block 2163825 2163918 + ReturnStatement 2163827 2163907 + CallExpression 2163847 2163906 + Identifier 2163847 2163852 + Identifier 2163853 2163863 + ArrowFunction 2163864 2163905 + Parameter 2163864 2163874 + Identifier 2163864 2163874 + EqualsGreaterThanToken 2163874 2163877 + CallExpression 2163877 2163905 + Identifier 2163877 2163891 + Identifier 2163892 2163901 + Identifier 2163902 2163904 + ReturnStatement 2163918 2164038 + ConditionalExpression 2163934 2164037 + BinaryExpression 2163934 2163979 + PropertyAccessExpression 2163934 2163959 + Identifier 2163934 2163945 + Identifier 2163946 2163959 + EqualsEqualsEqualsToken 2163959 2163963 + PropertyAccessExpression 2163963 2163979 + Identifier 2163963 2163973 + Identifier 2163974 2163979 + QuestionToken 2163979 2163981 + CallExpression 2163981 2164021 + Identifier 2163981 2163986 + PropertyAccessExpression 2163987 2164017 + Identifier 2163987 2163997 + Identifier 2163998 2164017 + Identifier 2164018 2164020 + ColonToken 2164021 2164023 + CallExpression 2164023 2164037 + Identifier 2164023 2164025 + Identifier 2164026 2164036 + FunctionDeclaration 2164045 2165388 + Identifier 2164061 2164092 + Parameter 2164093 2164107 + Identifier 2164093 2164099 + TypeReference 2164100 2164107 + Identifier 2164100 2164107 + Parameter 2164108 2164128 + Identifier 2164108 2164113 + TypeReference 2164114 2164128 + Identifier 2164114 2164128 + BooleanKeyword 2164130 2164138 + Block 2164138 2165388 + VariableStatement 2164140 2164187 + VariableDeclarationList 2164140 2164186 + VariableDeclaration 2164155 2164186 + Identifier 2164155 2164165 + CallExpression 2164167 2164186 + Identifier 2164167 2164180 + Identifier 2164181 2164185 + IfStatement 2164187 2164260 + PrefixUnaryExpression 2164201 2164219 + CallExpression 2164202 2164219 + Identifier 2164202 2164208 + Identifier 2164209 2164218 + Block 2164220 2164260 + ReturnStatement 2164222 2164249 + FalseKeyword 2164242 2164248 + VariableStatement 2164260 2164301 + VariableDeclarationList 2164260 2164300 + VariableDeclaration 2164275 2164300 + Identifier 2164275 2164285 + ElementAccessExpression 2164287 2164300 + Identifier 2164287 2164297 + NumericLiteral 2164298 2164299 + IfStatement 2164301 2165216 + BinaryExpression 2164315 2164355 + PropertyAccessExpression 2164315 2164330 + Identifier 2164315 2164324 + Identifier 2164325 2164330 + AmpersandToken 2164330 2164332 + PropertyAccessExpression 2164332 2164355 + Identifier 2164332 2164342 + Identifier 2164343 2164355 + Block 2164356 2165216 + VariableStatement 2164358 2164424 + VariableDeclarationList 2164358 2164423 + VariableDeclaration 2164377 2164423 + Identifier 2164377 2164383 + PropertyAccessExpression 2164385 2164423 + ParenthesizedExpression 2164385 2164417 + AsExpression 2164387 2164416 + Identifier 2164387 2164396 + TypeReference 2164399 2164416 + Identifier 2164399 2164416 + Identifier 2164418 2164423 + VariableStatement 2164424 2164475 + VariableDeclarationList 2164424 2164474 + VariableDeclaration 2164443 2164474 + Identifier 2164443 2164454 + CallExpression 2164456 2164474 + Identifier 2164456 2164467 + Identifier 2164468 2164473 + VariableStatement 2164475 2164499 + VariableDeclarationList 2164475 2164498 + VariableDeclaration 2164492 2164498 + Identifier 2164492 2164494 + NumericLiteral 2164496 2164498 + ForOfStatement 2164499 2165178 + VariableDeclarationList 2164518 2164542 + VariableDeclaration 2164523 2164542 + Identifier 2164523 2164542 + PropertyAccessExpression 2164545 2164583 + ParenthesizedExpression 2164545 2164577 + AsExpression 2164547 2164576 + Identifier 2164547 2164556 + TypeReference 2164559 2164576 + Identifier 2164559 2164576 + Identifier 2164578 2164583 + Block 2164584 2165178 + IfStatement 2164586 2165141 + PrefixUnaryExpression 2164658 2164672 + ElementAccessExpression 2164659 2164672 + Identifier 2164659 2164669 + Identifier 2164670 2164671 + Block 2164673 2165141 + IfStatement 2164675 2165122 + BinaryExpression 2164701 2164781 + CallExpression 2164701 2164735 + Identifier 2164701 2164715 + Identifier 2164716 2164734 + AmpersandToken 2164735 2164737 + ParenthesizedExpression 2164737 2164781 + BinaryExpression 2164739 2164780 + PropertyAccessExpression 2164739 2164756 + Identifier 2164739 2164750 + Identifier 2164751 2164756 + BarToken 2164756 2164758 + PropertyAccessExpression 2164758 2164780 + Identifier 2164758 2164770 + Identifier 2164771 2164780 + Block 2164782 2165122 + IfStatement 2164784 2164922 + BinaryExpression 2164814 2164850 + PropertyAccessExpression 2164814 2164839 + Identifier 2164814 2164832 + Identifier 2164833 2164839 + EqualsEqualsEqualsToken 2164839 2164843 + Identifier 2164843 2164850 + Block 2164851 2164922 + ReturnStatement 2164853 2164895 + TrueKeyword 2164889 2164894 + IfStatement 2164922 2165099 + CallExpression 2164952 2165027 + Identifier 2164952 2164982 + Identifier 2164983 2164989 + AsExpression 2164990 2165026 + Identifier 2164990 2165009 + TypeReference 2165012 2165026 + Identifier 2165012 2165026 + Block 2165028 2165099 + ReturnStatement 2165030 2165072 + TrueKeyword 2165066 2165071 + ExpressionStatement 2165141 2165163 + PostfixUnaryExpression 2165141 2165162 + Identifier 2165141 2165160 + ReturnStatement 2165178 2165205 + FalseKeyword 2165198 2165204 + IfStatement 2165216 2165297 + BinaryExpression 2165230 2165257 + PropertyAccessExpression 2165230 2165246 + Identifier 2165230 2165239 + Identifier 2165240 2165246 + EqualsEqualsEqualsToken 2165246 2165250 + Identifier 2165250 2165257 + Block 2165258 2165297 + ReturnStatement 2165260 2165286 + TrueKeyword 2165280 2165285 + ReturnStatement 2165297 2165381 + CallExpression 2165313 2165380 + Identifier 2165313 2165344 + Identifier 2165345 2165351 + AsExpression 2165352 2165379 + Identifier 2165352 2165362 + TypeReference 2165365 2165379 + Identifier 2165365 2165379 + FunctionDeclaration 2165388 2167257 + Identifier 2165404 2165428 + Parameter 2165429 2165448 + Identifier 2165429 2165433 + TypeReference 2165434 2165448 + Identifier 2165434 2165448 + Parameter 2165449 2165470 + Identifier 2165449 2165459 + TypeReference 2165460 2165470 + Identifier 2165460 2165470 + Block 2165471 2167257 + IfStatement 2165473 2165563 + BinaryExpression 2165487 2165523 + PrefixUnaryExpression 2165487 2165497 + Identifier 2165488 2165497 + BarBarToken 2165497 2165500 + PrefixUnaryExpression 2165500 2165523 + PropertyAccessExpression 2165502 2165523 + Identifier 2165502 2165511 + Identifier 2165512 2165523 + Block 2165524 2165563 + ReturnStatement 2165526 2165552 + TrueKeyword 2165546 2165551 + VariableStatement 2165563 2165617 + VariableDeclarationList 2165563 2165616 + VariableDeclaration 2165580 2165616 + Identifier 2165580 2165592 + PropertyAccessExpression 2165594 2165616 + Identifier 2165594 2165604 + Identifier 2165605 2165616 + VariableStatement 2165617 2165738 + VariableDeclarationList 2165617 2165737 + VariableDeclaration 2165632 2165737 + Identifier 2165632 2165642 + CallExpression 2165644 2165737 + Identifier 2165644 2165678 + Identifier 2165679 2165690 + PropertyAccessExpression 2165691 2165736 + Identifier 2165691 2165705 + Identifier 2165706 2165736 + IfStatement 2165738 2165940 + BinaryExpression 2165843 2165900 + PrefixUnaryExpression 2165843 2165853 + Identifier 2165844 2165853 + BarBarToken 2165853 2165856 + BinaryExpression 2165856 2165900 + PropertyAccessExpression 2165856 2165873 + Identifier 2165856 2165868 + Identifier 2165869 2165873 + ExclamationEqualsEqualsToken 2165873 2165877 + PropertyAccessExpression 2165877 2165900 + Identifier 2165877 2165888 + Identifier 2165889 2165900 + Block 2165901 2165940 + ReturnStatement 2165903 2165929 + TrueKeyword 2165923 2165928 + VariableStatement 2165940 2166046 + VariableDeclarationList 2165940 2166045 + VariableDeclaration 2165957 2166045 + Identifier 2165957 2165983 + NonNullExpression 2165985 2166045 + CallExpression 2165985 2166044 + Identifier 2165985 2166017 + PropertyAccessExpression 2166018 2166043 + PropertyAccessExpression 2166018 2166036 + Identifier 2166018 2166029 + Identifier 2166030 2166036 + Identifier 2166037 2166043 + VariableStatement 2166046 2166147 + VariableDeclarationList 2166046 2166146 + VariableDeclaration 2166061 2166146 + Identifier 2166061 2166076 + AsExpression 2166078 2166146 + CallExpression 2166078 2166129 + Identifier 2166078 2166102 + PropertyAccessExpression 2166103 2166128 + PropertyAccessExpression 2166103 2166121 + Identifier 2166103 2166114 + Identifier 2166115 2166121 + Identifier 2166122 2166128 + TypeReference 2166132 2166146 + Identifier 2166132 2166146 + IfStatement 2166147 2167226 + PrefixUnaryExpression 2166287 2166338 + CallExpression 2166288 2166338 + Identifier 2166288 2166305 + Identifier 2166306 2166310 + Identifier 2166311 2166337 + Block 2166339 2167226 + VariableStatement 2166341 2166404 + VariableDeclarationList 2166341 2166403 + VariableDeclaration 2166360 2166403 + Identifier 2166360 2166376 + CallExpression 2166378 2166403 + Identifier 2166378 2166397 + Identifier 2166398 2166402 + IfStatement 2166404 2166734 + BinaryExpression 2166422 2166476 + Identifier 2166422 2166437 + AmpersandAmpersandToken 2166437 2166440 + BinaryExpression 2166440 2166476 + Identifier 2166440 2166450 + AmpersandToken 2166450 2166452 + PropertyAccessExpression 2166452 2166476 + Identifier 2166452 2166466 + Identifier 2166467 2166476 + Block 2166477 2166734 + VariableStatement 2166479 2166551 + VariableDeclarationList 2166479 2166550 + VariableDeclaration 2166502 2166550 + Identifier 2166502 2166517 + CallExpression 2166519 2166550 + Identifier 2166519 2166533 + Identifier 2166534 2166549 + IfStatement 2166551 2166719 + CallExpression 2166573 2166663 + Identifier 2166573 2166603 + PropertyAccessExpression 2166604 2166629 + PropertyAccessExpression 2166604 2166622 + Identifier 2166604 2166615 + Identifier 2166616 2166622 + Identifier 2166623 2166629 + AsExpression 2166630 2166662 + Identifier 2166630 2166645 + TypeReference 2166648 2166662 + Identifier 2166648 2166662 + Block 2166664 2166719 + ReturnStatement 2166666 2166700 + TrueKeyword 2166694 2166699 + IfStatement 2166734 2166959 + BinaryExpression 2166752 2166785 + Identifier 2166752 2166761 + AmpersandToken 2166761 2166763 + PropertyAccessExpression 2166763 2166785 + Identifier 2166763 2166777 + Identifier 2166778 2166785 + Block 2166786 2166959 + ExpressionStatement 2166788 2166944 + CallExpression 2166788 2166943 + Identifier 2166788 2166811 + Identifier 2166812 2166816 + PropertyAccessExpression 2166817 2166912 + Identifier 2166817 2166829 + Identifier 2166830 2166912 + CallExpression 2166913 2166942 + Identifier 2166913 2166926 + Identifier 2166927 2166941 + IfStatement 2166959 2167188 + BinaryExpression 2166977 2167012 + Identifier 2166977 2166986 + AmpersandToken 2166986 2166988 + PropertyAccessExpression 2166988 2167012 + Identifier 2166988 2167002 + Identifier 2167003 2167012 + Block 2167013 2167188 + ExpressionStatement 2167015 2167173 + CallExpression 2167015 2167172 + Identifier 2167015 2167038 + Identifier 2167039 2167043 + PropertyAccessExpression 2167044 2167141 + Identifier 2167044 2167056 + Identifier 2167057 2167141 + CallExpression 2167142 2167171 + Identifier 2167142 2167155 + Identifier 2167156 2167170 + ReturnStatement 2167188 2167215 + FalseKeyword 2167208 2167214 + ReturnStatement 2167226 2167250 + TrueKeyword 2167244 2167249 + FunctionDeclaration 2167257 2171630 + Identifier 2167273 2167296 + Parameter 2167297 2167314 + Identifier 2167297 2167308 + TypeReference 2167309 2167314 + Identifier 2167309 2167314 + Parameter 2167315 2167334 + Identifier 2167315 2167328 + TypeReference 2167329 2167334 + Identifier 2167329 2167334 + Parameter 2167335 2167355 + Identifier 2167335 2167340 + TypeReference 2167341 2167355 + Identifier 2167341 2167355 + TypeLiteral 2167357 2167446 + PropertySignature 2167359 2167397 + Identifier 2167359 2167372 + TypeReference 2167373 2167396 + Identifier 2167373 2167396 + PropertySignature 2167397 2167444 + Identifier 2167397 2167412 + UnionType 2167413 2167443 + TypeReference 2167413 2167431 + Identifier 2167413 2167431 + UndefinedKeyword 2167433 2167443 + Block 2167446 2171630 + VariableStatement 2167448 2167508 + VariableDeclarationList 2167448 2167507 + VariableDeclaration 2167461 2167507 + Identifier 2167461 2167471 + UnionType 2167472 2167507 + TypeReference 2167472 2167495 + Identifier 2167472 2167495 + UndefinedKeyword 2167497 2167507 + VariableStatement 2167508 2167561 + VariableDeclarationList 2167508 2167560 + VariableDeclaration 2167523 2167560 + Identifier 2167523 2167530 + BinaryExpression 2167532 2167560 + Identifier 2167532 2167537 + EqualsEqualsEqualsToken 2167537 2167541 + PropertyAccessExpression 2167541 2167560 + Identifier 2167541 2167555 + Identifier 2167556 2167560 + VariableStatement 2167561 2167620 + VariableDeclarationList 2167561 2167619 + VariableDeclaration 2167576 2167619 + Identifier 2167576 2167588 + CallExpression 2167590 2167619 + Identifier 2167590 2167605 + Identifier 2167606 2167618 + VariableStatement 2167620 2167721 + VariableDeclarationList 2167620 2167720 + VariableDeclaration 2167635 2167720 + Identifier 2167635 2167653 + BinaryExpression 2167655 2167720 + Identifier 2167655 2167667 + AmpersandAmpersandToken 2167667 2167670 + BinaryExpression 2167670 2167720 + PropertyAccessExpression 2167670 2167716 + CallExpression 2167670 2167709 + Identifier 2167670 2167690 + Identifier 2167691 2167702 + Identifier 2167703 2167708 + Identifier 2167710 2167716 + GreaterThanToken 2167716 2167718 + NumericLiteral 2167718 2167720 + IfStatement 2167721 2170798 + BinaryExpression 2167735 2167771 + PropertyAccessExpression 2167735 2167753 + Identifier 2167735 2167747 + Identifier 2167748 2167753 + AmpersandToken 2167753 2167755 + PropertyAccessExpression 2167755 2167771 + Identifier 2167755 2167765 + Identifier 2167766 2167771 + Block 2167772 2170472 + VariableStatement 2167774 2167836 + VariableDeclarationList 2167774 2167835 + VariableDeclaration 2167793 2167835 + Identifier 2167793 2167799 + PropertyAccessExpression 2167801 2167835 + ParenthesizedExpression 2167801 2167829 + AsExpression 2167803 2167828 + Identifier 2167803 2167815 + TypeReference 2167818 2167828 + Identifier 2167818 2167828 + Identifier 2167830 2167835 + VariableStatement 2167836 2167876 + VariableDeclarationList 2167836 2167875 + VariableDeclaration 2167853 2167875 + Identifier 2167853 2167867 + FalseKeyword 2167869 2167875 + ForOfStatement 2167876 2169526 + VariableDeclarationList 2167895 2167912 + VariableDeclaration 2167900 2167912 + Identifier 2167900 2167912 + Identifier 2167915 2167921 + Block 2167922 2169526 + VariableStatement 2167924 2168000 + VariableDeclarationList 2167924 2167999 + VariableDeclaration 2167947 2167999 + Identifier 2167947 2167958 + CallExpression 2167960 2167999 + Identifier 2167960 2167980 + Identifier 2167981 2167992 + Identifier 2167993 2167998 + IfStatement 2168000 2169511 + BinaryExpression 2168022 2168045 + PropertyAccessExpression 2168022 2168039 + Identifier 2168022 2168032 + Identifier 2168033 2168039 + ExclamationEqualsEqualsToken 2168039 2168043 + NumericLiteral 2168043 2168045 + Block 2168046 2168321 + ExpressionStatement 2168048 2168091 + BinaryExpression 2168048 2168090 + Identifier 2168048 2168083 + EqualsToken 2168083 2168085 + TrueKeyword 2168085 2168090 + IfStatement 2168091 2168302 + Identifier 2168117 2168126 + Block 2168127 2168302 + BreakStatement 2168129 2168279 + Block 2168343 2169511 + IfStatement 2168345 2169273 + PrefixUnaryExpression 2168444 2168454 + Identifier 2168445 2168454 + Block 2168455 2169273 + ExpressionStatement 2168457 2168839 + BinaryExpression 2168457 2168838 + Identifier 2168457 2168492 + EqualsToken 2168492 2168494 + CallExpression 2168494 2168838 + Identifier 2168494 2168518 + Identifier 2168519 2168558 + ConditionalExpression 2168559 2168754 + Identifier 2168559 2168595 + QuestionToken 2168595 2168597 + PropertyAccessExpression 2168597 2168672 + Identifier 2168597 2168642 + Identifier 2168643 2168672 + ColonToken 2168672 2168674 + PropertyAccessExpression 2168674 2168754 + Identifier 2168674 2168719 + Identifier 2168720 2168754 + CallExpression 2168755 2168810 + Identifier 2168755 2168797 + Identifier 2168798 2168809 + ExpressionStatement 2168839 2169250 + BinaryExpression 2168839 2169249 + Identifier 2168839 2168874 + EqualsToken 2168874 2168876 + CallExpression 2168876 2169249 + Identifier 2168876 2168900 + Identifier 2168901 2168940 + ConditionalExpression 2168941 2169164 + Identifier 2168941 2168977 + QuestionToken 2168977 2168979 + PropertyAccessExpression 2168979 2169068 + Identifier 2168979 2169024 + Identifier 2169025 2169068 + ColonToken 2169068 2169070 + PropertyAccessExpression 2169070 2169164 + Identifier 2169070 2169115 + Identifier 2169116 2169164 + CallExpression 2169165 2169221 + Identifier 2169165 2169207 + Identifier 2169208 2169220 + IfStatement 2169273 2169492 + Identifier 2169299 2169312 + Block 2169313 2169492 + BreakStatement 2169315 2169469 + IfStatement 2169526 2169929 + PrefixUnaryExpression 2169544 2169558 + Identifier 2169545 2169558 + Block 2169559 2169929 + ExpressionStatement 2169561 2169914 + BinaryExpression 2169561 2169913 + Identifier 2169561 2169588 + EqualsToken 2169588 2169590 + CallExpression 2169590 2169913 + Identifier 2169590 2169614 + Identifier 2169615 2169658 + ConditionalExpression 2169659 2169844 + Identifier 2169659 2169687 + QuestionToken 2169687 2169689 + PropertyAccessExpression 2169689 2169763 + Identifier 2169689 2169726 + Identifier 2169727 2169763 + ColonToken 2169763 2169765 + PropertyAccessExpression 2169765 2169844 + Identifier 2169765 2169802 + Identifier 2169803 2169844 + CallExpression 2169845 2169893 + Identifier 2169845 2169879 + Identifier 2169880 2169892 + IfStatement 2169929 2170461 + PrefixUnaryExpression 2169947 2169957 + Identifier 2169948 2169957 + Block 2169958 2170461 + ExpressionStatement 2169960 2170446 + BinaryExpression 2169960 2170445 + Identifier 2169960 2169987 + EqualsToken 2169987 2169989 + CallExpression 2169989 2170445 + Identifier 2169989 2170013 + Identifier 2170014 2170045 + ConditionalExpression 2170046 2170376 + Identifier 2170046 2170074 + QuestionToken 2170074 2170076 + PropertyAccessExpression 2170076 2170220 + Identifier 2170076 2170113 + Identifier 2170114 2170220 + ColonToken 2170220 2170222 + PropertyAccessExpression 2170222 2170376 + Identifier 2170222 2170259 + Identifier 2170260 2170376 + CallExpression 2170377 2170425 + Identifier 2170377 2170411 + Identifier 2170412 2170424 + Block 2170486 2170798 + ExpressionStatement 2170488 2170787 + BinaryExpression 2170488 2170786 + Identifier 2170488 2170511 + EqualsToken 2170511 2170513 + CallExpression 2170513 2170786 + Identifier 2170513 2170537 + Identifier 2170538 2170565 + ConditionalExpression 2170566 2170725 + Identifier 2170566 2170590 + QuestionToken 2170590 2170592 + PropertyAccessExpression 2170592 2170655 + Identifier 2170592 2170625 + Identifier 2170626 2170655 + ColonToken 2170655 2170657 + PropertyAccessExpression 2170657 2170725 + Identifier 2170657 2170690 + Identifier 2170691 2170725 + CallExpression 2170726 2170770 + Identifier 2170726 2170756 + Identifier 2170757 2170769 + VariableStatement 2170798 2170932 + VariableDeclarationList 2170798 2170931 + VariableDeclaration 2170813 2170931 + Identifier 2170813 2170825 + ConditionalExpression 2170827 2170931 + Identifier 2170827 2170834 + QuestionToken 2170834 2170836 + PropertyAccessExpression 2170836 2170880 + Identifier 2170836 2170848 + Identifier 2170849 2170880 + ColonToken 2170880 2170882 + PropertyAccessExpression 2170882 2170931 + Identifier 2170882 2170894 + Identifier 2170895 2170931 + IfStatement 2170932 2171413 + BinaryExpression 2171015 2171096 + CallExpression 2171015 2171051 + Identifier 2171015 2171031 + PropertyAccessExpression 2171032 2171050 + Identifier 2171032 2171043 + Identifier 2171044 2171050 + AmpersandAmpersandToken 2171051 2171054 + BinaryExpression 2171054 2171096 + PropertyAccessExpression 2171054 2171090 + PropertyAccessExpression 2171054 2171083 + PropertyAccessExpression 2171054 2171073 + Identifier 2171054 2171066 + Identifier 2171067 2171073 + Identifier 2171074 2171083 + Identifier 2171084 2171090 + EqualsEqualsEqualsToken 2171090 2171094 + NumericLiteral 2171094 2171096 + Block 2171097 2171413 + VariableStatement 2171099 2171166 + VariableDeclarationList 2171099 2171165 + VariableDeclaration 2171118 2171165 + ObjectBindingPattern 2171118 2171137 + BindingElement 2171120 2171135 + Identifier 2171120 2171135 + CallExpression 2171139 2171165 + Identifier 2171139 2171152 + Identifier 2171153 2171164 + IfStatement 2171166 2171402 + BinaryExpression 2171184 2171248 + Identifier 2171184 2171198 + AmpersandAmpersandToken 2171198 2171201 + BinaryExpression 2171201 2171248 + PropertyAccessExpression 2171201 2171222 + Identifier 2171201 2171216 + Identifier 2171217 2171222 + AmpersandToken 2171222 2171224 + PropertyAccessExpression 2171224 2171248 + Identifier 2171224 2171236 + Identifier 2171237 2171248 + Block 2171249 2171402 + ExpressionStatement 2171251 2171387 + BinaryExpression 2171251 2171386 + Identifier 2171251 2171280 + EqualsToken 2171280 2171282 + PropertyAccessExpression 2171282 2171386 + Identifier 2171282 2171294 + Identifier 2171295 2171386 + ReturnStatement 2171413 2171623 + ObjectLiteralExpression 2171431 2171622 + PropertyAssignment 2171433 2171508 + Identifier 2171433 2171459 + CallExpression 2171460 2171508 + Identifier 2171460 2171484 + Identifier 2171485 2171494 + Identifier 2171495 2171507 + PropertyAssignment 2171509 2171610 + Identifier 2171509 2171537 + ConditionalExpression 2171538 2171610 + Identifier 2171538 2171556 + QuestionToken 2171556 2171558 + PropertyAccessExpression 2171558 2171598 + Identifier 2171558 2171570 + Identifier 2171571 2171598 + ColonToken 2171598 2171600 + Identifier 2171600 2171610 + FunctionDeclaration 2171630 2172568 + Identifier 2171644 2171660 + Parameter 2171661 2171678 + Identifier 2171661 2171672 + TypeReference 2171673 2171678 + Identifier 2171673 2171678 + Parameter 2171679 2171698 + Identifier 2171679 2171692 + TypeReference 2171693 2171698 + Identifier 2171693 2171698 + Parameter 2171699 2171719 + Identifier 2171699 2171704 + TypeReference 2171705 2171719 + Identifier 2171705 2171719 + Parameter 2171720 2171770 + Identifier 2171720 2171739 + QuestionToken 2171739 2171740 + TypeReference 2171741 2171770 + Identifier 2171741 2171770 + Block 2171771 2172568 + VariableStatement 2171773 2171893 + VariableDeclarationList 2171773 2171892 + VariableDeclaration 2171788 2171892 + ObjectBindingPattern 2171788 2171834 + BindingElement 2171790 2171803 + Identifier 2171790 2171803 + BindingElement 2171804 2171832 + Identifier 2171804 2171819 + Identifier 2171820 2171832 + CallExpression 2171836 2171892 + Identifier 2171836 2171859 + Identifier 2171860 2171871 + Identifier 2171872 2171885 + Identifier 2171886 2171891 + VariableStatement 2171893 2172023 + VariableDeclarationList 2171893 2172022 + VariableDeclaration 2171908 2172022 + Identifier 2171908 2171919 + CallExpression 2171921 2172022 + Identifier 2171921 2171961 + CallExpression 2171962 2171994 + Identifier 2171962 2171981 + Identifier 2171982 2171993 + Identifier 2171995 2172007 + Identifier 2172008 2172021 + IfStatement 2172023 2172154 + Identifier 2172037 2172048 + Block 2172049 2172154 + ExpressionStatement 2172051 2172143 + CallExpression 2172051 2172142 + Identifier 2172051 2172079 + Identifier 2172080 2172090 + CallExpression 2172091 2172141 + Identifier 2172091 2172115 + Identifier 2172116 2172127 + Identifier 2172128 2172140 + IfStatement 2172154 2172387 + CallExpression 2172168 2172204 + Identifier 2172168 2172184 + PropertyAccessExpression 2172185 2172203 + Identifier 2172185 2172196 + Identifier 2172197 2172203 + Block 2172205 2172387 + VariableStatement 2172207 2172296 + VariableDeclarationList 2172207 2172295 + VariableDeclaration 2172226 2172295 + ObjectBindingPattern 2172226 2172244 + BindingElement 2172228 2172234 + Identifier 2172228 2172234 + BindingElement 2172235 2172242 + Identifier 2172235 2172242 + CallExpression 2172246 2172295 + Identifier 2172246 2172275 + PropertyAccessExpression 2172276 2172294 + Identifier 2172276 2172287 + Identifier 2172288 2172294 + ExpressionStatement 2172296 2172335 + BinaryExpression 2172296 2172334 + PropertyAccessExpression 2172296 2172326 + Identifier 2172296 2172320 + Identifier 2172321 2172326 + EqualsToken 2172326 2172328 + Identifier 2172328 2172334 + ExpressionStatement 2172335 2172376 + BinaryExpression 2172335 2172375 + PropertyAccessExpression 2172335 2172366 + Identifier 2172335 2172359 + Identifier 2172360 2172366 + EqualsToken 2172366 2172368 + Identifier 2172368 2172375 + ExpressionStatement 2172387 2172425 + CallExpression 2172387 2172424 + PropertyAccessExpression 2172387 2172412 + Identifier 2172387 2172408 + Identifier 2172409 2172412 + Identifier 2172413 2172423 + ExpressionStatement 2172425 2172561 + CallExpression 2172425 2172560 + Identifier 2172425 2172458 + Identifier 2172459 2172471 + Identifier 2172472 2172477 + ConditionalExpression 2172478 2172559 + Identifier 2172478 2172497 + QuestionToken 2172497 2172499 + CallExpression 2172499 2172546 + Identifier 2172499 2172514 + Identifier 2172515 2172525 + Identifier 2172526 2172545 + ColonToken 2172546 2172548 + Identifier 2172548 2172559 + FunctionDeclaration 2172568 2173605 + Identifier 2172584 2172608 + Parameter 2172609 2172627 + Identifier 2172609 2172621 + TypeReference 2172622 2172627 + Identifier 2172622 2172627 + Parameter 2172628 2172648 + Identifier 2172628 2172633 + TypeReference 2172634 2172648 + Identifier 2172634 2172648 + Parameter 2172649 2172672 + Identifier 2172649 2172660 + TypeReference 2172661 2172672 + Identifier 2172661 2172672 + Block 2172673 2173605 + IfStatement 2172675 2172744 + PrefixUnaryExpression 2172689 2172709 + PropertyAccessExpression 2172690 2172709 + Identifier 2172690 2172702 + Identifier 2172703 2172709 + Block 2172710 2172744 + ReturnStatement 2172712 2172733 + VariableStatement 2172744 2172827 + VariableDeclarationList 2172744 2172826 + VariableDeclaration 2172759 2172826 + Identifier 2172759 2172770 + PropertyAccessExpression 2172772 2172826 + CallExpression 2172772 2172808 + Identifier 2172772 2172787 + PropertyAccessExpression 2172788 2172807 + Identifier 2172788 2172800 + Identifier 2172801 2172807 + Identifier 2172809 2172826 + IfStatement 2172827 2173598 + BinaryExpression 2173102 2173141 + Identifier 2173102 2173112 + AmpersandAmpersandToken 2173112 2173115 + PrefixUnaryExpression 2173115 2173141 + CallExpression 2173117 2173141 + Identifier 2173117 2173129 + Identifier 2173130 2173140 + Block 2173142 2173598 + VariableStatement 2173144 2173259 + VariableDeclarationList 2173144 2173258 + VariableDeclaration 2173163 2173258 + Identifier 2173163 2173168 + CallExpression 2173170 2173258 + Identifier 2173170 2173190 + CallExpression 2173191 2173251 + Identifier 2173191 2173206 + NonNullExpression 2173207 2173250 + PropertyAccessExpression 2173207 2173249 + CallExpression 2173207 2173242 + Identifier 2173207 2173221 + PropertyAccessExpression 2173222 2173241 + Identifier 2173222 2173234 + Identifier 2173235 2173241 + Identifier 2173243 2173249 + Identifier 2173252 2173257 + IfStatement 2173259 2173307 + BinaryExpression 2173277 2173298 + PrefixUnaryExpression 2173277 2173282 + Identifier 2173278 2173282 + BarBarToken 2173282 2173285 + PrefixUnaryExpression 2173285 2173298 + PropertyAccessExpression 2173287 2173298 + Identifier 2173287 2173291 + Identifier 2173292 2173298 + ReturnStatement 2173299 2173307 + ExpressionStatement 2173307 2173587 + CallExpression 2173307 2173586 + Identifier 2173307 2173337 + Identifier 2173338 2173348 + CallExpression 2173349 2173585 + Identifier 2173349 2173373 + Identifier 2173374 2173384 + PropertyAccessExpression 2173385 2173584 + Identifier 2173385 2173397 + Identifier 2173398 2173584 + FunctionDeclaration 2173605 2175074 + Identifier 2173621 2173653 + Parameter 2173654 2173684 + Identifier 2173654 2173658 + TypeReference 2173659 2173684 + Identifier 2173659 2173684 + Parameter 2173685 2173729 + Identifier 2173685 2173704 + UnionType 2173705 2173729 + ArrayType 2173705 2173717 + TypeReference 2173705 2173715 + Identifier 2173705 2173715 + UndefinedKeyword 2173719 2173729 + Parameter 2173730 2173751 + Identifier 2173730 2173740 + TypeReference 2173741 2173751 + Identifier 2173741 2173751 + TypeReference 2173753 2173763 + Identifier 2173753 2173763 + Block 2173763 2175074 + VariableStatement 2173765 2173817 + VariableDeclarationList 2173765 2173816 + VariableDeclaration 2173780 2173816 + Identifier 2173780 2173788 + CallExpression 2173790 2173816 + Identifier 2173790 2173806 + PropertyAccessExpression 2173807 2173815 + Identifier 2173807 2173811 + Identifier 2173812 2173815 + VariableStatement 2173817 2173873 + VariableDeclarationList 2173817 2173872 + VariableDeclaration 2173832 2173872 + Identifier 2173832 2173845 + CallExpression 2173847 2173872 + Identifier 2173847 2173863 + Identifier 2173864 2173871 + IfStatement 2173873 2174028 + CallExpression 2173889 2173914 + Identifier 2173889 2173900 + Identifier 2173901 2173913 + Block 2173915 2174028 + ReturnStatement 2173917 2174017 + CallExpression 2173993 2174016 + Identifier 2173993 2174010 + Identifier 2174011 2174015 + VariableStatement 2174028 2174117 + VariableDeclarationList 2174028 2174116 + VariableDeclaration 2174045 2174116 + Identifier 2174045 2174060 + CallExpression 2174062 2174116 + Identifier 2174062 2174082 + Identifier 2174083 2174095 + PropertyAccessExpression 2174096 2174115 + Identifier 2174096 2174110 + Identifier 2174111 2174115 + VariableStatement 2174117 2174224 + VariableDeclarationList 2174117 2174223 + VariableDeclaration 2174132 2174223 + Identifier 2174132 2174155 + PropertyAccessExpression 2174157 2174223 + CallExpression 2174157 2174216 + Identifier 2174157 2174177 + Identifier 2174178 2174190 + PropertyAccessExpression 2174191 2174215 + Identifier 2174191 2174205 + Identifier 2174206 2174215 + Identifier 2174217 2174223 + IfStatement 2174224 2174391 + CallExpression 2174240 2174331 + Identifier 2174240 2174261 + Identifier 2174262 2174269 + Identifier 2174270 2174283 + PropertyAccessExpression 2174284 2174306 + Identifier 2174284 2174299 + Identifier 2174300 2174306 + Identifier 2174307 2174330 + Block 2174332 2174391 + ReturnStatement 2174334 2174380 + CallExpression 2174354 2174379 + Identifier 2174354 2174373 + Identifier 2174374 2174378 + IfStatement 2174391 2174962 + PrefixUnaryExpression 2174407 2174429 + PropertyAccessExpression 2174408 2174429 + Identifier 2174408 2174422 + Identifier 2174423 2174429 + Block 2174430 2174962 + IfStatement 2174432 2174831 + CallExpression 2174450 2174487 + Identifier 2174450 2174474 + PropertyAccessExpression 2174475 2174486 + Identifier 2174475 2174479 + Identifier 2174480 2174486 + Block 2174488 2174831 + VariableStatement 2174490 2174722 + VariableDeclarationList 2174490 2174721 + VariableDeclaration 2174513 2174721 + Identifier 2174513 2174524 + CallExpression 2174526 2174721 + Identifier 2174526 2174550 + PropertyAccessExpression 2174551 2174559 + Identifier 2174551 2174555 + Identifier 2174556 2174559 + PropertyAccessExpression 2174560 2174720 + Identifier 2174560 2174572 + Identifier 2174573 2174720 + ExpressionStatement 2174722 2174768 + CallExpression 2174722 2174767 + PropertyAccessExpression 2174722 2174755 + Identifier 2174722 2174751 + Identifier 2174752 2174755 + Identifier 2174756 2174766 + ReturnStatement 2174768 2174816 + CallExpression 2174792 2174815 + Identifier 2174792 2174809 + Identifier 2174810 2174814 + ExpressionStatement 2174831 2174907 + CallExpression 2174831 2174906 + Identifier 2174831 2174862 + PropertyAccessExpression 2174863 2174871 + Identifier 2174863 2174867 + Identifier 2174868 2174871 + Identifier 2174872 2174885 + PropertyAccessExpression 2174886 2174905 + Identifier 2174886 2174900 + Identifier 2174901 2174905 + ReturnStatement 2174907 2174951 + CallExpression 2174927 2174950 + Identifier 2174927 2174944 + Identifier 2174945 2174949 + ReturnStatement 2174962 2175067 + CallExpression 2174980 2175066 + Identifier 2174980 2174992 + Identifier 2174993 2174997 + Identifier 2174998 2175013 + Identifier 2175014 2175033 + Identifier 2175034 2175044 + PropertyAccessExpression 2175045 2175065 + Identifier 2175045 2175060 + Identifier 2175061 2175065 + FunctionDeclaration 2175074 2176190 + Identifier 2175226 2175273 + Parameter 2175274 2175289 + Identifier 2175274 2175278 + TypeReference 2175279 2175289 + Identifier 2175279 2175289 + Block 2175290 2176190 + SwitchStatement 2175292 2176183 + PropertyAccessExpression 2175310 2175326 + PropertyAccessExpression 2175310 2175321 + Identifier 2175310 2175314 + Identifier 2175315 2175321 + Identifier 2175322 2175326 + CaseBlock 2175327 2176183 + CaseClause 2175329 2175376 + PropertyAccessExpression 2175347 2175375 + Identifier 2175347 2175358 + Identifier 2175359 2175375 + CaseClause 2175376 2175535 + PropertyAccessExpression 2175394 2175421 + Identifier 2175394 2175405 + Identifier 2175406 2175421 + ReturnStatement 2175422 2175535 + PropertyAccessExpression 2175446 2175534 + Identifier 2175446 2175458 + Identifier 2175459 2175534 + CaseClause 2175535 2175694 + PropertyAccessExpression 2175555 2175576 + Identifier 2175555 2175566 + Identifier 2175567 2175576 + ReturnStatement 2175577 2175694 + PropertyAccessExpression 2175601 2175693 + Identifier 2175601 2175613 + Identifier 2175614 2175693 + CaseClause 2175694 2175862 + PropertyAccessExpression 2175714 2175745 + Identifier 2175714 2175725 + Identifier 2175726 2175745 + ReturnStatement 2175746 2175862 + PropertyAccessExpression 2175770 2175861 + Identifier 2175770 2175782 + Identifier 2175783 2175861 + CaseClause 2175862 2175912 + PropertyAccessExpression 2175882 2175911 + Identifier 2175882 2175893 + Identifier 2175894 2175911 + CaseClause 2175912 2175954 + PropertyAccessExpression 2175930 2175953 + Identifier 2175930 2175941 + Identifier 2175942 2175953 + CaseClause 2175954 2176110 + PropertyAccessExpression 2175972 2175995 + Identifier 2175972 2175983 + Identifier 2175984 2175995 + ReturnStatement 2175996 2176110 + PropertyAccessExpression 2176020 2176109 + Identifier 2176020 2176032 + Identifier 2176033 2176109 + DefaultClause 2176110 2176172 + ReturnStatement 2176134 2176172 + CallExpression 2176158 2176171 + PropertyAccessExpression 2176158 2176169 + Identifier 2176158 2176164 + Identifier 2176165 2176169 + FunctionDeclaration 2176190 2178320 + Identifier 2176286 2176303 + Parameter 2176304 2176319 + Identifier 2176304 2176308 + TypeReference 2176309 2176319 + Identifier 2176309 2176319 + Parameter 2176320 2176364 + Identifier 2176320 2176339 + UnionType 2176340 2176364 + ArrayType 2176340 2176352 + TypeReference 2176340 2176350 + Identifier 2176340 2176350 + UndefinedKeyword 2176354 2176364 + Parameter 2176365 2176386 + Identifier 2176365 2176375 + TypeReference 2176376 2176386 + Identifier 2176376 2176386 + TypeReference 2176388 2176398 + Identifier 2176388 2176398 + Block 2176398 2178320 + VariableStatement 2176400 2176460 + VariableDeclarationList 2176400 2176459 + VariableDeclaration 2176415 2176459 + Identifier 2176415 2176424 + CallExpression 2176426 2176459 + Identifier 2176426 2176442 + PropertyAccessExpression 2176443 2176458 + Identifier 2176443 2176447 + Identifier 2176448 2176458 + VariableStatement 2176460 2176517 + VariableDeclarationList 2176460 2176516 + VariableDeclaration 2176475 2176516 + Identifier 2176475 2176488 + CallExpression 2176490 2176516 + Identifier 2176490 2176506 + Identifier 2176507 2176515 + IfStatement 2176517 2176614 + CallExpression 2176531 2176556 + Identifier 2176531 2176542 + Identifier 2176543 2176555 + Block 2176557 2176614 + ReturnStatement 2176559 2176603 + CallExpression 2176579 2176602 + Identifier 2176579 2176596 + Identifier 2176597 2176601 + VariableStatement 2176614 2176703 + VariableDeclarationList 2176614 2176702 + VariableDeclaration 2176631 2176702 + Identifier 2176631 2176646 + CallExpression 2176648 2176702 + Identifier 2176648 2176668 + Identifier 2176669 2176681 + PropertyAccessExpression 2176682 2176701 + Identifier 2176682 2176696 + Identifier 2176697 2176701 + VariableStatement 2176703 2176810 + VariableDeclarationList 2176703 2176809 + VariableDeclaration 2176718 2176809 + Identifier 2176718 2176741 + PropertyAccessExpression 2176743 2176809 + CallExpression 2176743 2176802 + Identifier 2176743 2176763 + Identifier 2176764 2176776 + PropertyAccessExpression 2176777 2176801 + Identifier 2176777 2176791 + Identifier 2176792 2176801 + Identifier 2176803 2176809 + IfStatement 2176810 2176976 + CallExpression 2176824 2176916 + Identifier 2176824 2176845 + Identifier 2176846 2176854 + Identifier 2176855 2176868 + PropertyAccessExpression 2176869 2176891 + Identifier 2176869 2176884 + Identifier 2176885 2176891 + Identifier 2176892 2176915 + Block 2176917 2176976 + ReturnStatement 2176919 2176965 + CallExpression 2176939 2176964 + Identifier 2176939 2176958 + Identifier 2176959 2176963 + IfStatement 2176976 2177385 + BinaryExpression 2176992 2177091 + CallExpression 2176992 2177044 + Identifier 2176992 2177022 + Identifier 2177023 2177027 + Identifier 2177028 2177043 + AmpersandAmpersandToken 2177044 2177047 + PrefixUnaryExpression 2177047 2177091 + CallExpression 2177049 2177091 + Identifier 2177049 2177074 + PropertyAccessExpression 2177075 2177090 + Identifier 2177075 2177079 + Identifier 2177080 2177090 + Block 2177092 2177385 + VariableStatement 2177094 2177180 + VariableDeclarationList 2177094 2177179 + VariableDeclaration 2177113 2177179 + Identifier 2177113 2177121 + CallExpression 2177123 2177179 + Identifier 2177123 2177137 + PropertyAccessExpression 2177138 2177153 + Identifier 2177138 2177142 + Identifier 2177143 2177153 + FalseKeyword 2177154 2177178 + ExpressionStatement 2177180 2177330 + CallExpression 2177180 2177329 + Identifier 2177180 2177199 + Identifier 2177200 2177204 + PropertyAccessExpression 2177205 2177319 + Identifier 2177205 2177217 + Identifier 2177218 2177319 + Identifier 2177320 2177328 + ReturnStatement 2177330 2177374 + CallExpression 2177350 2177373 + Identifier 2177350 2177367 + Identifier 2177368 2177372 + VariableStatement 2177385 2177470 + VariableDeclarationList 2177385 2177469 + VariableDeclaration 2177402 2177469 + Identifier 2177402 2177414 + CallExpression 2177416 2177469 + Identifier 2177416 2177463 + Identifier 2177464 2177468 + IfStatement 2177470 2178195 + PrefixUnaryExpression 2177484 2177506 + PropertyAccessExpression 2177485 2177506 + Identifier 2177485 2177499 + Identifier 2177500 2177506 + Block 2177507 2178195 + VariableStatement 2177509 2177618 + VariableDeclarationList 2177509 2177617 + VariableDeclaration 2177528 2177617 + Identifier 2177528 2177541 + CallExpression 2177543 2177617 + Identifier 2177543 2177566 + PropertyAccessExpression 2177567 2177582 + Identifier 2177567 2177571 + Identifier 2177572 2177582 + Identifier 2177583 2177596 + PropertyAccessExpression 2177597 2177616 + Identifier 2177597 2177611 + Identifier 2177612 2177616 + VariableStatement 2177618 2177717 + VariableDeclarationList 2177618 2177716 + VariableDeclaration 2177637 2177716 + Identifier 2177637 2177650 + CallExpression 2177652 2177716 + Identifier 2177652 2177676 + PropertyAccessExpression 2177677 2177702 + Identifier 2177677 2177689 + Identifier 2177690 2177702 + Identifier 2177703 2177715 + VariableStatement 2177717 2177853 + VariableDeclarationList 2177717 2177852 + VariableDeclaration 2177736 2177852 + Identifier 2177736 2177741 + CallExpression 2177743 2177852 + Identifier 2177743 2177783 + CallExpression 2177784 2177820 + Identifier 2177784 2177803 + PropertyAccessExpression 2177804 2177819 + Identifier 2177804 2177808 + Identifier 2177809 2177819 + PropertyAccessExpression 2177821 2177837 + Identifier 2177821 2177826 + Identifier 2177827 2177837 + Identifier 2177838 2177851 + IfStatement 2177853 2178026 + PropertyAccessExpression 2177871 2177898 + Identifier 2177871 2177883 + Identifier 2177884 2177898 + Block 2177899 2178026 + ExpressionStatement 2177901 2178011 + CallExpression 2177901 2178010 + Identifier 2177901 2177933 + Identifier 2177934 2177938 + CallExpression 2177939 2178009 + Identifier 2177939 2177963 + PropertyAccessExpression 2177964 2177979 + Identifier 2177964 2177968 + Identifier 2177969 2177979 + PropertyAccessExpression 2177980 2178008 + Identifier 2177980 2177993 + Identifier 2177994 2178008 + ExpressionStatement 2178026 2178062 + CallExpression 2178026 2178061 + PropertyAccessExpression 2178026 2178055 + Identifier 2178026 2178051 + Identifier 2178052 2178055 + Identifier 2178056 2178060 + ExpressionStatement 2178062 2178140 + CallExpression 2178062 2178139 + Identifier 2178062 2178099 + Identifier 2178100 2178112 + PropertyAccessExpression 2178113 2178132 + Identifier 2178113 2178127 + Identifier 2178128 2178132 + Identifier 2178133 2178138 + ReturnStatement 2178140 2178184 + CallExpression 2178160 2178183 + Identifier 2178160 2178177 + Identifier 2178178 2178182 + ReturnStatement 2178195 2178313 + CallExpression 2178213 2178312 + Identifier 2178213 2178225 + Identifier 2178226 2178230 + Identifier 2178231 2178246 + Identifier 2178247 2178266 + Identifier 2178267 2178277 + PropertyAccessExpression 2178278 2178298 + Identifier 2178278 2178293 + Identifier 2178294 2178298 + Identifier 2178299 2178311 + FunctionDeclaration 2178320 2179848 + Identifier 2178336 2178367 + Parameter 2178368 2178385 + Identifier 2178368 2178372 + TypeReference 2178373 2178385 + Identifier 2178373 2178385 + Parameter 2178386 2178399 + Identifier 2178386 2178393 + TypeReference 2178394 2178399 + Identifier 2178394 2178399 + TypeReference 2178401 2178411 + Identifier 2178401 2178411 + Block 2178411 2179848 + VariableStatement 2178413 2178465 + VariableDeclarationList 2178413 2178464 + VariableDeclaration 2178428 2178464 + Identifier 2178428 2178438 + CallExpression 2178440 2178464 + Identifier 2178440 2178458 + Identifier 2178459 2178463 + VariableStatement 2178465 2178534 + VariableDeclarationList 2178465 2178533 + VariableDeclaration 2178480 2178533 + Identifier 2178480 2178488 + BinaryExpression 2178490 2178533 + Identifier 2178490 2178500 + AmpersandAmpersandToken 2178500 2178503 + CallExpression 2178503 2178533 + Identifier 2178503 2178522 + Identifier 2178523 2178532 + VariableStatement 2178534 2178812 + VariableDeclarationList 2178534 2178811 + VariableDeclaration 2178732 2178811 + Identifier 2178732 2178743 + BinaryExpression 2178745 2178811 + Identifier 2178745 2178753 + AmpersandAmpersandToken 2178753 2178756 + CallExpression 2178756 2178811 + Identifier 2178756 2178766 + Identifier 2178767 2178774 + PropertyAccessExpression 2178775 2178792 + Identifier 2178775 2178784 + Identifier 2178785 2178792 + PropertyAccessExpression 2178793 2178810 + Identifier 2178793 2178805 + Identifier 2178806 2178810 + VariableStatement 2178812 2178922 + VariableDeclarationList 2178812 2178921 + VariableDeclaration 2178827 2178921 + Identifier 2178827 2178838 + BinaryExpression 2178840 2178921 + Identifier 2178840 2178851 + AmpersandAmpersandToken 2178851 2178854 + CallExpression 2178854 2178921 + PropertyAccessExpression 2178854 2178885 + Identifier 2178854 2178866 + Identifier 2178867 2178885 + Identifier 2178886 2178896 + PropertyAccessExpression 2178897 2178914 + Identifier 2178897 2178909 + Identifier 2178910 2178914 + Identifier 2178915 2178920 + VariableStatement 2178922 2179328 + VariableDeclarationList 2178922 2179327 + VariableDeclaration 2178937 2179327 + Identifier 2178937 2178949 + CallExpression 2178951 2179327 + PropertyAccessExpression 2178951 2178982 + Identifier 2178951 2178959 + Identifier 2178960 2178982 + Identifier 2178983 2179011 + ArrayLiteralExpression 2179012 2179184 + CallExpression 2179014 2179183 + PropertyAccessExpression 2179014 2179048 + Identifier 2179014 2179021 + Identifier 2179022 2179048 + Identifier 2179049 2179072 + Identifier 2179073 2179102 + StringLiteral 2179103 2179111 + Identifier 2179112 2179140 + CallExpression 2179141 2179182 + PropertyAccessExpression 2179141 2179168 + Identifier 2179141 2179153 + Identifier 2179154 2179168 + Identifier 2179169 2179175 + Identifier 2179176 2179181 + ConditionalExpression 2179185 2179326 + Identifier 2179185 2179196 + QuestionToken 2179196 2179198 + CallExpression 2179198 2179271 + PropertyAccessExpression 2179198 2179230 + Identifier 2179198 2179206 + Identifier 2179207 2179230 + Identifier 2179231 2179241 + Identifier 2179242 2179270 + ColonToken 2179271 2179273 + CallExpression 2179273 2179326 + PropertyAccessExpression 2179273 2179303 + Identifier 2179273 2179281 + Identifier 2179282 2179303 + PropertyAccessExpression 2179304 2179325 + Identifier 2179304 2179314 + Identifier 2179315 2179325 + VariableStatement 2179328 2179432 + VariableDeclarationList 2179328 2179431 + VariableDeclaration 2179343 2179431 + Identifier 2179343 2179359 + CallExpression 2179361 2179431 + Identifier 2179361 2179374 + PropertyAccessExpression 2179375 2179409 + Identifier 2179375 2179386 + Identifier 2179387 2179409 + AsExpression 2179410 2179430 + StringLiteral 2179410 2179418 + TypeReference 2179421 2179430 + Identifier 2179421 2179430 + ExpressionStatement 2179432 2179478 + BinaryExpression 2179432 2179477 + PropertyAccessExpression 2179432 2179468 + PropertyAccessExpression 2179432 2179463 + Identifier 2179432 2179457 + Identifier 2179458 2179463 + Identifier 2179464 2179468 + EqualsToken 2179468 2179470 + Identifier 2179470 2179477 + ReturnStatement 2179478 2179841 + CallExpression 2179494 2179840 + Identifier 2179494 2179510 + Identifier 2179511 2179536 + Identifier 2179537 2179579 + Identifier 2179580 2179621 + ArrayLiteralExpression 2179622 2179653 + Identifier 2179637 2179652 + ConditionalExpression 2179654 2179728 + Identifier 2179654 2179678 + QuestionToken 2179678 2179680 + CallExpression 2179680 2179716 + Identifier 2179680 2179704 + Identifier 2179705 2179715 + ColonToken 2179716 2179718 + Identifier 2179718 2179728 + Identifier 2179729 2179778 + NumericLiteral 2179779 2179794 + PropertyAccessExpression 2179795 2179828 + Identifier 2179795 2179823 + Identifier 2179824 2179828 + FunctionDeclaration 2179848 2182010 + Identifier 2179864 2179883 + Parameter 2179884 2179908 + Identifier 2179884 2179888 + TypeReference 2179889 2179908 + Identifier 2179889 2179908 + TypeReference 2179910 2179915 + Identifier 2179910 2179915 + Block 2179915 2182010 + VariableStatement 2179917 2180095 + VariableDeclarationList 2179917 2180094 + VariableDeclaration 2180036 2180094 + Identifier 2180036 2180052 + CallExpression 2180054 2180094 + Identifier 2180054 2180067 + CallExpression 2180068 2180093 + Identifier 2180068 2180087 + Identifier 2180088 2180092 + IfStatement 2180095 2180195 + BinaryExpression 2180109 2180154 + PropertyAccessExpression 2180109 2180140 + Identifier 2180109 2180124 + Identifier 2180125 2180140 + ExclamationEqualsEqualsToken 2180140 2180144 + Identifier 2180144 2180154 + ReturnStatement 2180155 2180195 + PropertyAccessExpression 2180162 2180194 + Identifier 2180162 2180178 + Identifier 2180179 2180194 + VariableStatement 2180195 2180260 + VariableDeclarationList 2180195 2180259 + VariableDeclaration 2180212 2180259 + Identifier 2180212 2180235 + CallExpression 2180237 2180259 + Identifier 2180237 2180253 + Identifier 2180254 2180258 + VariableStatement 2180260 2180498 + VariableDeclarationList 2180260 2180497 + VariableDeclaration 2180336 2180497 + Identifier 2180336 2180366 + BinaryExpression 2180368 2180497 + ParenthesizedExpression 2180368 2180460 + BinaryExpression 2180370 2180459 + BinaryExpression 2180370 2180407 + PropertyAccessExpression 2180370 2180389 + Identifier 2180370 2180385 + Identifier 2180386 2180389 + EqualsEqualsEqualsToken 2180389 2180393 + PropertyAccessExpression 2180393 2180407 + Identifier 2180393 2180401 + Identifier 2180402 2180407 + BarBarToken 2180407 2180410 + BinaryExpression 2180410 2180459 + PropertyAccessExpression 2180410 2180445 + Identifier 2180410 2180426 + Identifier 2180427 2180445 + ExclamationEqualsEqualsToken 2180445 2180449 + Identifier 2180449 2180459 + AmpersandAmpersandToken 2180460 2180463 + BinaryExpression 2180463 2180497 + Identifier 2180463 2180486 + ExclamationEqualsEqualsToken 2180486 2180490 + StringLiteral 2180490 2180497 + IfStatement 2180498 2180593 + PrefixUnaryExpression 2180512 2180542 + Identifier 2180513 2180542 + ReturnStatement 2180543 2180593 + BinaryExpression 2180550 2180592 + PropertyAccessExpression 2180550 2180582 + Identifier 2180550 2180566 + Identifier 2180567 2180582 + EqualsToken 2180582 2180584 + Identifier 2180584 2180592 + VariableStatement 2180593 2180720 + VariableDeclarationList 2180593 2180719 + VariableDeclaration 2180610 2180719 + Identifier 2180610 2180629 + BinaryExpression 2180631 2180719 + BinaryExpression 2180631 2180672 + PropertyAccessExpression 2180631 2180651 + Identifier 2180631 2180647 + Identifier 2180648 2180651 + ExclamationEqualsEqualsToken 2180651 2180655 + PropertyAccessExpression 2180655 2180672 + Identifier 2180655 2180663 + Identifier 2180664 2180672 + AmpersandAmpersandToken 2180672 2180675 + BinaryExpression 2180675 2180719 + PropertyAccessExpression 2180675 2180695 + Identifier 2180675 2180691 + Identifier 2180692 2180695 + ExclamationEqualsEqualsToken 2180695 2180699 + PropertyAccessExpression 2180699 2180719 + Identifier 2180699 2180707 + Identifier 2180708 2180719 + VariableStatement 2180720 2180882 + VariableDeclarationList 2180720 2180881 + VariableDeclaration 2180735 2180881 + Identifier 2180735 2180752 + ConditionalExpression 2180754 2180881 + Identifier 2180754 2180766 + QuestionToken 2180766 2180768 + PropertyAccessExpression 2180768 2180869 + Identifier 2180768 2180780 + Identifier 2180781 2180869 + ColonToken 2180869 2180871 + Identifier 2180871 2180881 + VariableStatement 2180882 2181262 + VariableDeclarationList 2180882 2181261 + VariableDeclaration 2180897 2181261 + Identifier 2180897 2180914 + BinaryExpression 2180916 2181261 + CallExpression 2180916 2180964 + Identifier 2180916 2180958 + Identifier 2180959 2180963 + QuestionQuestionToken 2180964 2180967 + CallExpression 2180967 2181261 + Identifier 2180967 2180992 + Identifier 2180993 2181015 + Identifier 2181016 2181056 + ConditionalExpression 2181057 2181153 + Identifier 2181057 2181093 + QuestionToken 2181093 2181095 + PropertyAccessExpression 2181095 2181113 + Identifier 2181095 2181107 + Identifier 2181108 2181113 + ColonToken 2181113 2181115 + BinaryExpression 2181115 2181153 + PropertyAccessExpression 2181115 2181133 + Identifier 2181115 2181127 + Identifier 2181128 2181133 + AmpersandToken 2181133 2181135 + PrefixUnaryExpression 2181135 2181153 + PropertyAccessExpression 2181137 2181153 + Identifier 2181137 2181148 + Identifier 2181149 2181153 + Identifier 2181154 2181212 + TrueKeyword 2181213 2181245 + IfStatement 2181262 2181361 + BinaryExpression 2181278 2181308 + Identifier 2181278 2181294 + EqualsEqualsEqualsToken 2181294 2181298 + Identifier 2181298 2181308 + ReturnStatement 2181309 2181361 + BinaryExpression 2181316 2181360 + PropertyAccessExpression 2181316 2181348 + Identifier 2181316 2181332 + Identifier 2181333 2181348 + EqualsToken 2181348 2181350 + Identifier 2181350 2181360 + IfStatement 2181361 2181504 + BinaryExpression 2181375 2181427 + PropertyAccessExpression 2181375 2181403 + Identifier 2181375 2181391 + Identifier 2181392 2181403 + EqualsEqualsEqualsToken 2181403 2181407 + PropertyAccessExpression 2181407 2181427 + Identifier 2181407 2181418 + Identifier 2181419 2181427 + ReturnStatement 2181428 2181504 + BinaryExpression 2181435 2181503 + PropertyAccessExpression 2181435 2181467 + Identifier 2181435 2181451 + Identifier 2181452 2181467 + EqualsToken 2181467 2181469 + CallExpression 2181469 2181503 + Identifier 2181469 2181485 + Identifier 2181486 2181502 + VariableStatement 2181504 2181641 + VariableDeclarationList 2181504 2181640 + VariableDeclaration 2181521 2181640 + Identifier 2181521 2181535 + ConditionalExpression 2181537 2181640 + BinaryExpression 2181537 2181588 + ParenthesizedExpression 2181537 2181582 + BinaryExpression 2181539 2181581 + PropertyAccessExpression 2181539 2181561 + Identifier 2181539 2181555 + Identifier 2181556 2181561 + AmpersandToken 2181561 2181563 + PropertyAccessExpression 2181563 2181581 + Identifier 2181563 2181575 + Identifier 2181576 2181581 + EqualsEqualsEqualsToken 2181582 2181586 + NumericLiteral 2181586 2181588 + QuestionToken 2181588 2181590 + Identifier 2181590 2181607 + ColonToken 2181607 2181609 + CallExpression 2181609 2181640 + Identifier 2181609 2181622 + Identifier 2181623 2181639 + VariableStatement 2181641 2181726 + VariableDeclarationList 2181641 2181725 + VariableDeclaration 2181656 2181725 + Identifier 2181656 2181669 + BinaryExpression 2181671 2181725 + Identifier 2181671 2181688 + AmpersandAmpersandToken 2181688 2181691 + CallExpression 2181691 2181725 + Identifier 2181691 2181710 + Identifier 2181711 2181724 + VariableStatement 2181726 2181849 + VariableDeclarationList 2181726 2181848 + VariableDeclaration 2181741 2181848 + Identifier 2181741 2181752 + BinaryExpression 2181754 2181848 + Identifier 2181754 2181767 + AmpersandAmpersandToken 2181767 2181770 + CallExpression 2181770 2181848 + Identifier 2181770 2181780 + Identifier 2181781 2181793 + PropertyAccessExpression 2181794 2181814 + Identifier 2181794 2181805 + Identifier 2181806 2181814 + PropertyAccessExpression 2181815 2181847 + Identifier 2181815 2181827 + Identifier 2181828 2181847 + VariableStatement 2181849 2181914 + VariableDeclarationList 2181849 2181913 + VariableDeclaration 2181864 2181913 + Identifier 2181864 2181869 + BinaryExpression 2181871 2181913 + Identifier 2181871 2181882 + AmpersandAmpersandToken 2181882 2181885 + CallExpression 2181885 2181913 + Identifier 2181885 2181901 + Identifier 2181902 2181912 + ReturnStatement 2181914 2182003 + BinaryExpression 2181930 2182002 + PropertyAccessExpression 2181930 2181962 + Identifier 2181930 2181946 + Identifier 2181947 2181962 + EqualsToken 2181962 2181964 + ConditionalExpression 2181964 2182002 + BinaryExpression 2181964 2181983 + Identifier 2181964 2181969 + EqualsEqualsEqualsToken 2181969 2181973 + Identifier 2181973 2181983 + QuestionToken 2181983 2181985 + Identifier 2181985 2181995 + ColonToken 2181995 2181997 + Identifier 2181997 2182002 + FunctionDeclaration 2182010 2184353 + Identifier 2182026 2182055 + Parameter 2182056 2182073 + Identifier 2182056 2182060 + TypeReference 2182061 2182073 + Identifier 2182061 2182073 + Parameter 2182074 2182118 + Identifier 2182074 2182093 + UnionType 2182094 2182118 + ArrayType 2182094 2182106 + TypeReference 2182094 2182104 + Identifier 2182094 2182104 + UndefinedKeyword 2182108 2182118 + Parameter 2182119 2182140 + Identifier 2182119 2182129 + TypeReference 2182130 2182140 + Identifier 2182130 2182140 + TypeReference 2182142 2182152 + Identifier 2182142 2182152 + Block 2182152 2184353 + VariableStatement 2182154 2182217 + VariableDeclarationList 2182154 2182216 + VariableDeclaration 2182169 2182216 + Identifier 2182169 2182187 + CallExpression 2182189 2182216 + Identifier 2182189 2182210 + Identifier 2182211 2182215 + VariableStatement 2182217 2182247 + VariableDeclarationList 2182217 2182246 + VariableDeclaration 2182230 2182246 + Identifier 2182230 2182240 + TypeReference 2182241 2182246 + Identifier 2182241 2182246 + IfStatement 2182247 2183315 + PrefixUnaryExpression 2182261 2182279 + Identifier 2182262 2182279 + Block 2182280 2183237 + IfStatement 2182282 2183170 + CallExpression 2182300 2182335 + Identifier 2182300 2182321 + PropertyAccessExpression 2182322 2182334 + Identifier 2182322 2182326 + Identifier 2182327 2182334 + Block 2182336 2183170 + VariableStatement 2182338 2182429 + VariableDeclarationList 2182338 2182428 + VariableDeclaration 2182361 2182428 + Identifier 2182361 2182368 + CallExpression 2182370 2182428 + Identifier 2182370 2182422 + Identifier 2182423 2182427 + VariableStatement 2182429 2182514 + VariableDeclarationList 2182429 2182513 + VariableDeclaration 2182452 2182513 + Identifier 2182452 2182466 + CallExpression 2182468 2182513 + Identifier 2182468 2182499 + Identifier 2182500 2182504 + Identifier 2182505 2182512 + ExpressionStatement 2182514 2182780 + CallExpression 2182514 2182779 + Identifier 2182514 2182575 + CallExpression 2182576 2182739 + Identifier 2182576 2182609 + PropertyAccessExpression 2182610 2182625 + Identifier 2182610 2182614 + Identifier 2182615 2182625 + CallExpression 2182626 2182688 + Identifier 2182626 2182667 + Identifier 2182668 2182681 + Identifier 2182682 2182687 + Identifier 2182689 2182720 + PropertyAccessExpression 2182721 2182738 + Identifier 2182721 2182731 + Identifier 2182732 2182738 + Identifier 2182740 2182747 + PropertyAccessExpression 2182748 2182761 + Identifier 2182748 2182753 + Identifier 2182754 2182761 + PropertyAccessExpression 2182762 2182778 + Identifier 2182762 2182767 + Identifier 2182768 2182778 + IfStatement 2182780 2183116 + CallExpression 2182802 2182828 + Identifier 2182802 2182808 + PropertyAccessExpression 2182809 2182827 + Identifier 2182809 2182813 + Identifier 2182814 2182827 + Block 2182829 2183116 + ExpressionStatement 2182831 2182901 + CallExpression 2182831 2182900 + Identifier 2182831 2182860 + PropertyAccessExpression 2182861 2182879 + Identifier 2182861 2182865 + Identifier 2182866 2182879 + Identifier 2182880 2182899 + ExpressionStatement 2182901 2183097 + CallExpression 2182901 2183096 + PropertyAccessExpression 2182901 2182938 + Identifier 2182901 2182934 + Identifier 2182935 2182938 + CallExpression 2182939 2183095 + Identifier 2182939 2182967 + CallExpression 2182968 2182993 + Identifier 2182968 2182987 + Identifier 2182988 2182992 + NonNullExpression 2182994 2183014 + PropertyAccessExpression 2182994 2183013 + Identifier 2182994 2182999 + Identifier 2183000 2183013 + PropertyAccessExpression 2183015 2183063 + Identifier 2183015 2183027 + Identifier 2183028 2183063 + NumericLiteral 2183064 2183066 + CallExpression 2183067 2183094 + Identifier 2183067 2183074 + PropertyAccessExpression 2183075 2183093 + Identifier 2183075 2183079 + Identifier 2183080 2183093 + ReturnStatement 2183116 2183155 + Identifier 2183140 2183154 + ExpressionStatement 2183170 2183226 + BinaryExpression 2183170 2183225 + Identifier 2183170 2183193 + EqualsToken 2183193 2183195 + CallExpression 2183195 2183225 + Identifier 2183195 2183211 + PropertyAccessExpression 2183212 2183224 + Identifier 2183212 2183216 + Identifier 2183217 2183224 + Block 2183251 2183315 + ExpressionStatement 2183253 2183304 + BinaryExpression 2183253 2183303 + Identifier 2183253 2183276 + EqualsToken 2183276 2183278 + CallExpression 2183278 2183303 + Identifier 2183278 2183297 + Identifier 2183298 2183302 + VariableStatement 2183315 2183373 + VariableDeclarationList 2183315 2183372 + VariableDeclaration 2183330 2183372 + Identifier 2183330 2183343 + CallExpression 2183345 2183372 + Identifier 2183345 2183361 + Identifier 2183362 2183371 + IfStatement 2183373 2183470 + CallExpression 2183387 2183412 + Identifier 2183387 2183398 + Identifier 2183399 2183411 + Block 2183413 2183470 + ReturnStatement 2183415 2183459 + CallExpression 2183435 2183458 + Identifier 2183435 2183452 + Identifier 2183453 2183457 + VariableStatement 2183470 2183553 + VariableDeclarationList 2183470 2183552 + VariableDeclaration 2183485 2183552 + Identifier 2183485 2183496 + CallExpression 2183498 2183552 + Identifier 2183498 2183535 + Identifier 2183536 2183545 + Identifier 2183546 2183551 + IfStatement 2183553 2183719 + CallExpression 2183567 2183659 + Identifier 2183567 2183588 + Identifier 2183589 2183598 + Identifier 2183599 2183612 + PropertyAccessExpression 2183613 2183631 + Identifier 2183613 2183624 + Identifier 2183625 2183631 + NumericLiteral 2183632 2183658 + Block 2183660 2183719 + ReturnStatement 2183662 2183708 + CallExpression 2183682 2183707 + Identifier 2183682 2183701 + Identifier 2183702 2183706 + IfStatement 2183719 2184245 + BinaryExpression 2183735 2183758 + PropertyAccessExpression 2183735 2183752 + Identifier 2183735 2183745 + Identifier 2183746 2183752 + EqualsEqualsEqualsToken 2183752 2183756 + NumericLiteral 2183756 2183758 + Block 2183759 2184245 + IfStatement 2183761 2184190 + Identifier 2183844 2183861 + Block 2183862 2184009 + ExpressionStatement 2183864 2183994 + CallExpression 2183864 2183993 + Identifier 2183864 2183887 + Identifier 2183888 2183892 + PropertyAccessExpression 2183893 2183971 + Identifier 2183893 2183905 + Identifier 2183906 2183971 + CallExpression 2183972 2183992 + Identifier 2183972 2183986 + Identifier 2183987 2183991 + Block 2184027 2184190 + ExpressionStatement 2184029 2184175 + CallExpression 2184029 2184174 + Identifier 2184029 2184052 + PropertyAccessExpression 2184053 2184065 + Identifier 2184053 2184057 + Identifier 2184058 2184065 + PropertyAccessExpression 2184066 2184144 + Identifier 2184066 2184078 + Identifier 2184079 2184144 + CallExpression 2184145 2184173 + Identifier 2184145 2184159 + PropertyAccessExpression 2184160 2184172 + Identifier 2184160 2184164 + Identifier 2184165 2184172 + ReturnStatement 2184190 2184234 + CallExpression 2184210 2184233 + Identifier 2184210 2184227 + Identifier 2184228 2184232 + ReturnStatement 2184245 2184346 + CallExpression 2184263 2184345 + Identifier 2184263 2184275 + Identifier 2184276 2184280 + Identifier 2184281 2184292 + Identifier 2184293 2184312 + Identifier 2184313 2184323 + PropertyAccessExpression 2184324 2184344 + Identifier 2184324 2184339 + Identifier 2184340 2184344 + FunctionDeclaration 2184353 2186491 + Identifier 2184369 2184397 + Parameter 2184398 2184424 + Identifier 2184398 2184402 + TypeReference 2184403 2184424 + Identifier 2184403 2184424 + Parameter 2184425 2184469 + Identifier 2184425 2184444 + UnionType 2184445 2184469 + ArrayType 2184445 2184457 + TypeReference 2184445 2184455 + Identifier 2184445 2184455 + UndefinedKeyword 2184459 2184469 + Parameter 2184470 2184491 + Identifier 2184470 2184480 + TypeReference 2184481 2184491 + Identifier 2184481 2184491 + TypeReference 2184493 2184503 + Identifier 2184493 2184503 + Block 2184503 2186491 + VariableStatement 2184505 2184887 + VariableDeclarationList 2184505 2184886 + VariableDeclaration 2184846 2184886 + Identifier 2184846 2184856 + CallExpression 2184858 2184886 + Identifier 2184858 2184874 + PropertyAccessExpression 2184875 2184885 + Identifier 2184875 2184879 + Identifier 2184880 2184885 + IfStatement 2184887 2186409 + PrefixUnaryExpression 2184901 2184922 + CallExpression 2184902 2184922 + Identifier 2184902 2184911 + Identifier 2184912 2184921 + Block 2184923 2186409 + VariableStatement 2184925 2185019 + VariableDeclarationList 2184925 2185018 + VariableDeclaration 2184944 2185018 + Identifier 2184944 2184966 + CallExpression 2184968 2185018 + Identifier 2184968 2185007 + Identifier 2185008 2185017 + IfStatement 2185019 2186398 + Identifier 2185037 2185058 + Block 2185059 2185866 + VariableStatement 2185061 2185139 + VariableDeclarationList 2185061 2185138 + VariableDeclaration 2185084 2185138 + Identifier 2185084 2185097 + CallExpression 2185099 2185138 + Identifier 2185099 2185115 + Identifier 2185116 2185137 + IfStatement 2185139 2185260 + CallExpression 2185161 2185186 + Identifier 2185161 2185172 + Identifier 2185173 2185185 + Block 2185187 2185260 + ReturnStatement 2185189 2185241 + CallExpression 2185217 2185240 + Identifier 2185217 2185234 + Identifier 2185235 2185239 + VariableStatement 2185260 2185357 + VariableDeclarationList 2185260 2185356 + VariableDeclaration 2185285 2185356 + Identifier 2185285 2185300 + CallExpression 2185302 2185356 + Identifier 2185302 2185322 + Identifier 2185323 2185335 + PropertyAccessExpression 2185336 2185355 + Identifier 2185336 2185350 + Identifier 2185351 2185355 + VariableStatement 2185357 2185462 + VariableDeclarationList 2185357 2185461 + VariableDeclaration 2185380 2185461 + Identifier 2185380 2185400 + CallExpression 2185402 2185461 + Identifier 2185402 2185422 + Identifier 2185423 2185435 + PropertyAccessExpression 2185436 2185460 + Identifier 2185436 2185450 + Identifier 2185451 2185460 + IfStatement 2185462 2185669 + CallExpression 2185484 2185593 + Identifier 2185484 2185505 + Identifier 2185506 2185527 + Identifier 2185528 2185541 + PropertyAccessExpression 2185542 2185564 + Identifier 2185542 2185557 + Identifier 2185558 2185564 + PropertyAccessExpression 2185565 2185592 + Identifier 2185565 2185585 + Identifier 2185586 2185592 + Block 2185594 2185669 + ReturnStatement 2185596 2185650 + CallExpression 2185624 2185649 + Identifier 2185624 2185643 + Identifier 2185644 2185648 + IfStatement 2185669 2185851 + PropertyAccessExpression 2185693 2185714 + Identifier 2185693 2185707 + Identifier 2185708 2185714 + Block 2185715 2185851 + ReturnStatement 2185717 2185832 + CallExpression 2185745 2185831 + Identifier 2185745 2185757 + Identifier 2185758 2185762 + Identifier 2185763 2185778 + Identifier 2185779 2185798 + Identifier 2185799 2185809 + PropertyAccessExpression 2185810 2185830 + Identifier 2185810 2185825 + Identifier 2185826 2185830 + IfStatement 2185983 2186398 + PrefixUnaryExpression 2185988 2186084 + ParenthesizedExpression 2185989 2186084 + BinaryExpression 2185990 2186083 + CallExpression 2185990 2186033 + Identifier 2185990 2186022 + Identifier 2186023 2186032 + BarBarToken 2186033 2186036 + CallExpression 2186036 2186083 + Identifier 2186036 2186052 + Identifier 2186053 2186062 + Identifier 2186063 2186082 + Block 2186085 2186398 + ExpressionStatement 2186087 2186335 + CallExpression 2186087 2186334 + Identifier 2186087 2186110 + PropertyAccessExpression 2186111 2186121 + Identifier 2186111 2186115 + Identifier 2186116 2186121 + PropertyAccessExpression 2186122 2186333 + Identifier 2186122 2186134 + Identifier 2186135 2186333 + ReturnStatement 2186335 2186383 + CallExpression 2186359 2186382 + Identifier 2186359 2186376 + Identifier 2186377 2186381 + ReturnStatement 2186409 2186484 + Identifier 2186470 2186483 + FunctionDeclaration 2186491 2187142 + Identifier 2186782 2186813 + Parameter 2186814 2186834 + Identifier 2186814 2186823 + TypeReference 2186824 2186834 + Identifier 2186824 2186834 + Parameter 2186835 2186868 + Identifier 2186835 2186846 + TypeOperator 2186847 2186868 + ArrayType 2186856 2186868 + TypeReference 2186856 2186866 + Identifier 2186856 2186866 + Block 2186869 2187142 + ReturnStatement 2186871 2187135 + BinaryExpression 2186887 2187134 + PropertyAccessExpression 2186887 2186905 + Identifier 2186887 2186898 + Identifier 2186899 2186905 + AmpersandAmpersandToken 2186905 2186908 + CallExpression 2186908 2187134 + Identifier 2186908 2186914 + Identifier 2186915 2186925 + ArrowFunction 2186926 2187133 + Parameter 2186926 2186936 + Identifier 2186926 2186936 + EqualsGreaterThanToken 2186936 2186939 + BinaryExpression 2186939 2187133 + BinaryExpression 2186939 2187039 + BinaryExpression 2186939 2186985 + PropertyAccessExpression 2186939 2186979 + Identifier 2186939 2186962 + Identifier 2186963 2186979 + EqualsEqualsEqualsToken 2186979 2186983 + NumericLiteral 2186983 2186985 + AmpersandAmpersandToken 2186985 2186988 + PrefixUnaryExpression 2186988 2187039 + CallExpression 2187003 2187039 + Identifier 2187003 2187028 + Identifier 2187029 2187038 + AmpersandAmpersandToken 2187039 2187042 + BinaryExpression 2187042 2187133 + PropertyAccessExpression 2187042 2187083 + PropertyAccessExpression 2187042 2187076 + Identifier 2187042 2187065 + Identifier 2187066 2187076 + Identifier 2187077 2187083 + LessThanToken 2187083 2187085 + CallExpression 2187085 2187133 + Identifier 2187085 2187111 + Identifier 2187112 2187121 + Identifier 2187122 2187132 + FunctionDeclaration 2187142 2188319 + Identifier 2187158 2187175 + Parameter 2187176 2187200 + Identifier 2187176 2187180 + TypeReference 2187181 2187200 + Identifier 2187181 2187200 + Parameter 2187201 2187245 + Identifier 2187201 2187220 + UnionType 2187221 2187245 + ArrayType 2187221 2187233 + TypeReference 2187221 2187231 + Identifier 2187221 2187231 + UndefinedKeyword 2187235 2187245 + Parameter 2187246 2187267 + Identifier 2187246 2187256 + TypeReference 2187257 2187267 + Identifier 2187257 2187267 + TypeReference 2187269 2187279 + Identifier 2187269 2187279 + Block 2187279 2188319 + SwitchStatement 2187281 2188223 + PropertyAccessExpression 2187299 2187308 + Identifier 2187299 2187303 + Identifier 2187304 2187308 + CaseBlock 2187309 2188223 + CaseClause 2187311 2187440 + PropertyAccessExpression 2187329 2187355 + Identifier 2187329 2187340 + Identifier 2187341 2187355 + ReturnStatement 2187356 2187440 + CallExpression 2187380 2187439 + Identifier 2187380 2187402 + Identifier 2187403 2187407 + Identifier 2187408 2187427 + Identifier 2187428 2187438 + CaseClause 2187440 2187567 + PropertyAccessExpression 2187458 2187483 + Identifier 2187458 2187469 + Identifier 2187470 2187483 + ReturnStatement 2187484 2187567 + CallExpression 2187508 2187566 + Identifier 2187508 2187529 + Identifier 2187530 2187534 + Identifier 2187535 2187554 + Identifier 2187555 2187565 + CaseClause 2187567 2187716 + PropertyAccessExpression 2187585 2187621 + Identifier 2187585 2187596 + Identifier 2187597 2187621 + ReturnStatement 2187622 2187716 + CallExpression 2187646 2187715 + Identifier 2187646 2187678 + Identifier 2187679 2187683 + Identifier 2187684 2187703 + Identifier 2187704 2187714 + CaseClause 2187716 2187835 + PropertyAccessExpression 2187734 2187755 + Identifier 2187734 2187745 + Identifier 2187746 2187755 + ReturnStatement 2187756 2187835 + CallExpression 2187780 2187834 + Identifier 2187780 2187797 + Identifier 2187798 2187802 + Identifier 2187803 2187822 + Identifier 2187823 2187833 + CaseClause 2187835 2187884 + PropertyAccessExpression 2187853 2187883 + Identifier 2187853 2187864 + Identifier 2187865 2187883 + CaseClause 2187884 2187932 + PropertyAccessExpression 2187902 2187931 + Identifier 2187902 2187913 + Identifier 2187914 2187931 + CaseClause 2187932 2188075 + PropertyAccessExpression 2187950 2187983 + Identifier 2187950 2187961 + Identifier 2187962 2187983 + ReturnStatement 2187984 2188075 + CallExpression 2188008 2188074 + Identifier 2188008 2188037 + Identifier 2188038 2188042 + Identifier 2188043 2188062 + Identifier 2188063 2188073 + CaseClause 2188075 2188212 + PropertyAccessExpression 2188093 2188121 + Identifier 2188093 2188104 + Identifier 2188105 2188121 + ReturnStatement 2188122 2188212 + CallExpression 2188146 2188211 + Identifier 2188146 2188174 + Identifier 2188175 2188179 + Identifier 2188180 2188199 + Identifier 2188200 2188210 + ExpressionStatement 2188223 2188312 + CallExpression 2188223 2188311 + PropertyAccessExpression 2188223 2188250 + Identifier 2188223 2188238 + Identifier 2188239 2188250 + Identifier 2188251 2188255 + StringLiteral 2188256 2188310 + FunctionDeclaration 2188319 2191053 + Identifier 2188825 2188846 + Parameter 2188847 2188871 + Identifier 2188847 2188851 + TypeReference 2188852 2188871 + Identifier 2188852 2188871 + Parameter 2188872 2188917 + Identifier 2188872 2188891 + QuestionToken 2188891 2188892 + UnionType 2188893 2188917 + ArrayType 2188893 2188905 + TypeReference 2188893 2188903 + Identifier 2188893 2188903 + UndefinedKeyword 2188907 2188917 + Parameter 2188918 2188940 + Identifier 2188918 2188928 + QuestionToken 2188928 2188929 + TypeReference 2188930 2188940 + Identifier 2188930 2188940 + TypeReference 2188942 2188952 + Identifier 2188942 2188952 + Block 2188952 2191053 + VariableStatement 2188954 2188997 + VariableDeclarationList 2188954 2188996 + VariableDeclaration 2188969 2188996 + Identifier 2188969 2188975 + CallExpression 2188977 2188996 + Identifier 2188977 2188990 + Identifier 2188991 2188995 + VariableStatement 2188997 2189407 + VariableDeclarationList 2188997 2189406 + VariableDeclaration 2189373 2189406 + Identifier 2189373 2189380 + PropertyAccessExpression 2189382 2189406 + Identifier 2189382 2189388 + Identifier 2189389 2189406 + IfStatement 2189407 2189525 + BinaryExpression 2189421 2189483 + BinaryExpression 2189421 2189460 + Identifier 2189421 2189427 + AmpersandAmpersandToken 2189427 2189430 + BinaryExpression 2189430 2189460 + Identifier 2189430 2189437 + ExclamationEqualsEqualsToken 2189437 2189441 + Identifier 2189441 2189460 + AmpersandAmpersandToken 2189460 2189463 + PrefixUnaryExpression 2189463 2189483 + Identifier 2189465 2189483 + Block 2189484 2189525 + ReturnStatement 2189486 2189514 + Identifier 2189506 2189513 + VariableStatement 2189525 2189579 + VariableDeclarationList 2189525 2189578 + VariableDeclaration 2189540 2189578 + Identifier 2189540 2189560 + Identifier 2189562 2189578 + IfStatement 2189579 2190254 + PrefixUnaryExpression 2189593 2189600 + Identifier 2189594 2189600 + Block 2189601 2190254 + ExpressionStatement 2189603 2190243 + BinaryExpression 2189603 2190242 + Identifier 2189603 2190215 + EqualsToken 2190215 2190217 + PropertyAccessExpression 2190217 2190242 + Identifier 2190217 2190235 + Identifier 2190236 2190242 + ExpressionStatement 2190254 2190309 + BinaryExpression 2190254 2190308 + PropertyAccessExpression 2190254 2190287 + Identifier 2190254 2190269 + Identifier 2190270 2190287 + EqualsToken 2190287 2190289 + Identifier 2190289 2190308 + VariableStatement 2190309 2190408 + VariableDeclarationList 2190309 2190407 + VariableDeclaration 2190324 2190407 + Identifier 2190324 2190331 + CallExpression 2190333 2190407 + Identifier 2190333 2190350 + Identifier 2190351 2190355 + Identifier 2190356 2190375 + BinaryExpression 2190376 2190406 + Identifier 2190376 2190386 + BarBarToken 2190386 2190389 + PropertyAccessExpression 2190389 2190406 + Identifier 2190389 2190399 + Identifier 2190400 2190406 + ExpressionStatement 2190408 2190456 + BinaryExpression 2190408 2190455 + Identifier 2190408 2190433 + EqualsToken 2190433 2190435 + Identifier 2190435 2190455 + IfStatement 2190456 2191022 + BinaryExpression 2190616 2190645 + Identifier 2190616 2190622 + ExclamationEqualsEqualsToken 2190622 2190626 + Identifier 2190626 2190645 + Block 2190646 2191022 + ExpressionStatement 2190648 2191011 + BinaryExpression 2190648 2191010 + PropertyAccessExpression 2190648 2190958 + Identifier 2190648 2190940 + Identifier 2190941 2190958 + EqualsToken 2190958 2190960 + ConditionalExpression 2190960 2191010 + BinaryExpression 2190960 2190992 + Identifier 2190960 2190974 + EqualsEqualsEqualsToken 2190974 2190978 + Identifier 2190978 2190992 + QuestionToken 2190992 2190994 + Identifier 2190994 2191001 + ColonToken 2191001 2191003 + Identifier 2191003 2191010 + ReturnStatement 2191022 2191046 + Identifier 2191038 2191045 + FunctionDeclaration 2191053 2192191 + Identifier 2191189 2191205 + Parameter 2191206 2191228 + Identifier 2191206 2191210 + UnionType 2191211 2191228 + TypeReference 2191211 2191216 + Identifier 2191211 2191216 + UndefinedKeyword 2191218 2191228 + TypePredicate 2191230 2191279 + Identifier 2191230 2191235 + UnionType 2191238 2191279 + TypeReference 2191238 2191258 + Identifier 2191238 2191258 + TypeReference 2191260 2191279 + Identifier 2191260 2191279 + Block 2191279 2192191 + IfStatement 2191281 2191362 + BinaryExpression 2191295 2191321 + PrefixUnaryExpression 2191295 2191300 + Identifier 2191296 2191300 + BarBarToken 2191300 2191303 + PrefixUnaryExpression 2191303 2191321 + CallExpression 2191305 2191321 + Identifier 2191305 2191315 + Identifier 2191316 2191320 + Block 2191322 2191362 + ReturnStatement 2191324 2191351 + FalseKeyword 2191344 2191350 + VariableStatement 2191362 2191631 + VariableDeclarationList 2191362 2191630 + VariableDeclaration 2191377 2191630 + Identifier 2191377 2191382 + ConditionalExpression 2191384 2191630 + BinaryExpression 2191384 2191442 + CallExpression 2191384 2191412 + Identifier 2191384 2191406 + Identifier 2191407 2191411 + BarBarToken 2191412 2191415 + CallExpression 2191415 2191442 + Identifier 2191415 2191436 + Identifier 2191437 2191441 + QuestionToken 2191442 2191444 + Identifier 2191444 2191449 + ColonToken 2191449 2191451 + ConditionalExpression 2191451 2191630 + BinaryExpression 2191451 2191586 + BinaryExpression 2191451 2191544 + ParenthesizedExpression 2191451 2191524 + BinaryExpression 2191466 2191523 + CallExpression 2191466 2191493 + Identifier 2191466 2191487 + Identifier 2191488 2191492 + BarBarToken 2191493 2191496 + CallExpression 2191496 2191523 + Identifier 2191496 2191517 + Identifier 2191518 2191522 + AmpersandAmpersandToken 2191524 2191527 + PropertyAccessExpression 2191527 2191544 + Identifier 2191527 2191532 + Identifier 2191533 2191544 + AmpersandAmpersandToken 2191544 2191547 + CallExpression 2191547 2191586 + Identifier 2191547 2191568 + PropertyAccessExpression 2191569 2191585 + Identifier 2191569 2191573 + Identifier 2191574 2191585 + QuestionToken 2191586 2191588 + PropertyAccessExpression 2191588 2191605 + Identifier 2191588 2191593 + Identifier 2191594 2191605 + ColonToken 2191605 2191607 + Identifier 2191607 2191630 + IfStatement 2191631 2192161 + Identifier 2191645 2191649 + Block 2191650 2192161 + IfStatement 2191652 2191797 + CallExpression 2191761 2191783 + Identifier 2191761 2191777 + Identifier 2191778 2191782 + ReturnStatement 2191784 2191797 + TrueKeyword 2191791 2191796 + IfStatement 2191797 2191961 + CallExpression 2191881 2191946 + Identifier 2191881 2191901 + CallExpression 2191902 2191945 + Identifier 2191902 2191932 + PropertyAccessExpression 2191933 2191944 + Identifier 2191933 2191937 + Identifier 2191938 2191944 + ReturnStatement 2191947 2191961 + FalseKeyword 2191954 2191960 + VariableStatement 2191961 2192105 + VariableDeclarationList 2191961 2192104 + VariableDeclaration 2192066 2192104 + Identifier 2192066 2192073 + CallExpression 2192075 2192104 + Identifier 2192075 2192098 + Identifier 2192099 2192103 + ReturnStatement 2192105 2192150 + PrefixUnaryExpression 2192125 2192149 + PrefixUnaryExpression 2192127 2192149 + PropertyAccessExpression 2192128 2192149 + PropertyAccessExpression 2192128 2192143 + Identifier 2192128 2192134 + QuestionDotToken 2192134 2192136 + Identifier 2192136 2192143 + QuestionDotToken 2192143 2192145 + Identifier 2192145 2192149 + ReturnStatement 2192161 2192184 + FalseKeyword 2192177 2192183 + FunctionDeclaration 2192191 2193298 + Identifier 2192207 2192222 + Parameter 2192223 2192237 + Identifier 2192223 2192229 + TypeReference 2192230 2192237 + Identifier 2192230 2192237 + Parameter 2192238 2192265 + Identifier 2192238 2192245 + UnionType 2192246 2192265 + TypeReference 2192246 2192253 + Identifier 2192246 2192253 + UndefinedKeyword 2192255 2192265 + Block 2192266 2193298 + IfStatement 2192268 2193291 + Identifier 2192282 2192288 + Block 2192289 2193291 + VariableStatement 2192291 2192342 + VariableDeclarationList 2192291 2192341 + VariableDeclaration 2192310 2192341 + Identifier 2192310 2192316 + CallExpression 2192318 2192341 + Identifier 2192318 2192333 + Identifier 2192334 2192340 + IfStatement 2192342 2193208 + BinaryExpression 2192360 2192441 + PrefixUnaryExpression 2192360 2192386 + PropertyAccessExpression 2192361 2192386 + Identifier 2192361 2192366 + Identifier 2192367 2192386 + BarBarToken 2192386 2192389 + PrefixUnaryExpression 2192389 2192441 + CallExpression 2192391 2192441 + PropertyAccessExpression 2192391 2192420 + PropertyAccessExpression 2192391 2192416 + Identifier 2192391 2192396 + Identifier 2192397 2192416 + Identifier 2192417 2192420 + CallExpression 2192421 2192440 + Identifier 2192421 2192432 + Identifier 2192433 2192439 + Block 2192442 2193208 + VariableStatement 2192444 2192536 + VariableDeclarationList 2192444 2192535 + VariableDeclaration 2192467 2192535 + Identifier 2192467 2192476 + ConditionalExpression 2192478 2192535 + CallExpression 2192478 2192504 + Identifier 2192478 2192496 + Identifier 2192497 2192503 + QuestionToken 2192504 2192506 + Identifier 2192506 2192513 + ColonToken 2192513 2192515 + CallExpression 2192515 2192535 + Identifier 2192515 2192527 + Identifier 2192528 2192534 + ExpressionStatement 2192536 2192613 + BinaryExpression 2192536 2192612 + PropertyAccessExpression 2192536 2192570 + Identifier 2192536 2192562 + Identifier 2192563 2192570 + EqualsToken 2192570 2192572 + BinaryExpression 2192572 2192612 + PropertyAccessExpression 2192572 2192589 + Identifier 2192572 2192581 + Identifier 2192582 2192589 + BarBarToken 2192589 2192592 + CallExpression 2192592 2192612 + Identifier 2192592 2192610 + ExpressionStatement 2192613 2192690 + BinaryExpression 2192613 2192689 + PropertyAccessExpression 2192613 2192647 + Identifier 2192613 2192639 + Identifier 2192640 2192647 + EqualsToken 2192647 2192649 + BinaryExpression 2192649 2192689 + PropertyAccessExpression 2192649 2192666 + Identifier 2192649 2192658 + Identifier 2192659 2192666 + BarBarToken 2192666 2192669 + CallExpression 2192669 2192689 + Identifier 2192669 2192687 + ExpressionStatement 2192690 2192759 + BinaryExpression 2192690 2192758 + PropertyAccessExpression 2192690 2192722 + Identifier 2192690 2192716 + Identifier 2192717 2192722 + BarEqualsToken 2192722 2192725 + BinaryExpression 2192725 2192758 + PropertyAccessExpression 2192725 2192738 + Identifier 2192725 2192732 + Identifier 2192733 2192738 + AmpersandToken 2192738 2192740 + PropertyAccessExpression 2192740 2192758 + Identifier 2192740 2192752 + Identifier 2192753 2192758 + IfStatement 2192759 2192896 + PropertyAccessExpression 2192781 2192801 + PropertyAccessExpression 2192781 2192795 + Identifier 2192781 2192787 + Identifier 2192788 2192795 + QuestionDotToken 2192795 2192797 + Identifier 2192797 2192801 + Block 2192802 2192896 + ExpressionStatement 2192804 2192877 + CallExpression 2192804 2192876 + Identifier 2192804 2192842 + PropertyAccessExpression 2192843 2192859 + Identifier 2192843 2192851 + Identifier 2192852 2192859 + PropertyAccessExpression 2192860 2192875 + Identifier 2192860 2192867 + Identifier 2192868 2192875 + IfStatement 2192896 2193033 + PropertyAccessExpression 2192918 2192938 + PropertyAccessExpression 2192918 2192932 + Identifier 2192918 2192924 + Identifier 2192925 2192932 + QuestionDotToken 2192932 2192934 + Identifier 2192934 2192938 + Block 2192939 2193033 + ExpressionStatement 2192941 2193014 + CallExpression 2192941 2193013 + Identifier 2192941 2192979 + PropertyAccessExpression 2192980 2192996 + Identifier 2192980 2192988 + Identifier 2192989 2192996 + PropertyAccessExpression 2192997 2193012 + Identifier 2192997 2193004 + Identifier 2193005 2193012 + ExpressionStatement 2193033 2193159 + CallExpression 2193033 2193158 + PropertyAccessExpression 2193033 2193125 + ParenthesizedExpression 2193033 2193121 + BinaryExpression 2193052 2193120 + PropertyAccessExpression 2193052 2193077 + Identifier 2193052 2193057 + Identifier 2193058 2193077 + BarBarToken 2193077 2193080 + ParenthesizedExpression 2193080 2193120 + BinaryExpression 2193082 2193119 + PropertyAccessExpression 2193082 2193107 + Identifier 2193082 2193087 + Identifier 2193088 2193107 + EqualsToken 2193107 2193109 + NewExpression 2193109 2193119 + Identifier 2193113 2193117 + Identifier 2193122 2193125 + CallExpression 2193126 2193147 + Identifier 2193126 2193137 + Identifier 2193138 2193146 + Identifier 2193148 2193157 + ReturnStatement 2193159 2193193 + Identifier 2193183 2193192 + ReturnStatement 2193208 2193280 + CallExpression 2193228 2193279 + PropertyAccessExpression 2193228 2193258 + PropertyAccessExpression 2193228 2193254 + Identifier 2193228 2193234 + Identifier 2193235 2193254 + Identifier 2193255 2193258 + CallExpression 2193259 2193278 + Identifier 2193259 2193270 + Identifier 2193271 2193277 + FunctionDeclaration 2193298 2193734 + Identifier 2193314 2193337 + Parameter 2193338 2193355 + Identifier 2193338 2193342 + TypeReference 2193343 2193355 + Identifier 2193343 2193355 + UnionType 2193357 2193376 + TypeReference 2193357 2193364 + Identifier 2193357 2193364 + UndefinedKeyword 2193366 2193376 + Block 2193376 2193734 + VariableStatement 2193378 2193473 + VariableDeclarationList 2193378 2193472 + VariableDeclaration 2193393 2193472 + Identifier 2193393 2193410 + BinaryExpression 2193412 2193472 + Identifier 2193412 2193417 + AmpersandAmpersandToken 2193417 2193420 + CallExpression 2193420 2193472 + Identifier 2193420 2193439 + Identifier 2193440 2193444 + TrueKeyword 2193445 2193471 + VariableStatement 2193473 2193557 + VariableDeclarationList 2193473 2193556 + VariableDeclaration 2193488 2193556 + Identifier 2193488 2193498 + CallExpression 2193500 2193556 + PropertyAccessExpression 2193500 2193531 + PropertyAccessExpression 2193500 2193526 + Identifier 2193500 2193517 + QuestionDotToken 2193517 2193519 + Identifier 2193519 2193526 + QuestionDotToken 2193526 2193528 + Identifier 2193528 2193531 + AsExpression 2193532 2193555 + StringLiteral 2193532 2193543 + TypeReference 2193546 2193555 + Identifier 2193546 2193555 + VariableStatement 2193557 2193662 + VariableDeclarationList 2193557 2193661 + VariableDeclaration 2193572 2193661 + Identifier 2193572 2193577 + BinaryExpression 2193579 2193661 + PropertyAccessExpression 2193579 2193607 + Identifier 2193579 2193589 + QuestionDotToken 2193589 2193591 + Identifier 2193591 2193607 + AmpersandAmpersandToken 2193607 2193610 + CallExpression 2193610 2193661 + Identifier 2193610 2193633 + PropertyAccessExpression 2193634 2193660 + Identifier 2193634 2193643 + Identifier 2193644 2193660 + ReturnStatement 2193662 2193727 + ConditionalExpression 2193678 2193726 + Identifier 2193678 2193683 + QuestionToken 2193683 2193685 + CallExpression 2193685 2193714 + Identifier 2193685 2193708 + Identifier 2193709 2193713 + ColonToken 2193714 2193716 + Identifier 2193716 2193726 + FunctionDeclaration 2193734 2195897 + Identifier 2193750 2193769 + Parameter 2193770 2193780 + Identifier 2193770 2193774 + TypeReference 2193775 2193780 + Identifier 2193775 2193780 + Parameter 2193781 2193807 + Identifier 2193781 2193798 + BooleanKeyword 2193799 2193807 + UnionType 2193809 2193828 + TypeReference 2193809 2193816 + Identifier 2193809 2193816 + UndefinedKeyword 2193818 2193828 + Block 2193828 2195897 + IfStatement 2193830 2193901 + PrefixUnaryExpression 2193844 2193856 + PropertyAccessExpression 2193845 2193856 + Identifier 2193845 2193849 + Identifier 2193850 2193856 + Block 2193857 2193901 + ReturnStatement 2193859 2193890 + Identifier 2193879 2193889 + VariableStatement 2193901 2193958 + VariableDeclarationList 2193901 2193957 + VariableDeclaration 2193914 2193957 + Identifier 2193914 2193919 + UnionType 2193920 2193957 + TypeReference 2193920 2193931 + Identifier 2193920 2193931 + TypeReference 2193933 2193945 + Identifier 2193933 2193945 + UndefinedKeyword 2193947 2193957 + VariableStatement 2193958 2193995 + VariableDeclarationList 2193958 2193994 + VariableDeclaration 2193971 2193994 + Identifier 2193971 2193976 + UnionType 2193977 2193994 + TypeReference 2193977 2193982 + Identifier 2193977 2193982 + UndefinedKeyword 2193984 2193994 + IfStatement 2193995 2195696 + BinaryExpression 2194009 2194079 + CallExpression 2194009 2194043 + Identifier 2194009 2194030 + PropertyAccessExpression 2194031 2194042 + Identifier 2194031 2194035 + Identifier 2194036 2194042 + AmpersandAmpersandToken 2194043 2194046 + BinaryExpression 2194046 2194079 + PropertyAccessExpression 2194046 2194070 + PropertyAccessExpression 2194046 2194058 + Identifier 2194046 2194051 + Identifier 2194052 2194058 + Identifier 2194059 2194070 + EqualsEqualsEqualsToken 2194070 2194074 + Identifier 2194074 2194079 + Block 2194080 2194321 + IfStatement 2194082 2194239 + BinaryExpression 2194100 2194186 + PrefixUnaryExpression 2194100 2194117 + CallExpression 2194101 2194117 + Identifier 2194101 2194111 + Identifier 2194112 2194116 + AmpersandAmpersandToken 2194117 2194120 + PrefixUnaryExpression 2194120 2194186 + ParenthesizedExpression 2194122 2194186 + BinaryExpression 2194123 2194185 + CallExpression 2194123 2194150 + Identifier 2194123 2194137 + PropertyAccessExpression 2194138 2194149 + Identifier 2194138 2194142 + Identifier 2194143 2194149 + AmpersandAmpersandToken 2194150 2194153 + CallExpression 2194153 2194185 + Identifier 2194153 2194179 + Identifier 2194180 2194184 + Block 2194187 2194239 + ReturnStatement 2194189 2194224 + Identifier 2194213 2194223 + ExpressionStatement 2194239 2194277 + BinaryExpression 2194239 2194276 + Identifier 2194239 2194257 + EqualsToken 2194257 2194259 + PropertyAccessExpression 2194259 2194276 + PropertyAccessExpression 2194259 2194271 + Identifier 2194259 2194264 + Identifier 2194265 2194271 + Identifier 2194272 2194276 + ExpressionStatement 2194277 2194310 + BinaryExpression 2194277 2194309 + Identifier 2194277 2194295 + EqualsToken 2194295 2194297 + PropertyAccessExpression 2194297 2194309 + Identifier 2194297 2194302 + Identifier 2194303 2194309 + IfStatement 2194335 2195696 + CallExpression 2194340 2194371 + Identifier 2194340 2194358 + PropertyAccessExpression 2194359 2194370 + Identifier 2194359 2194363 + Identifier 2194364 2194370 + Block 2194372 2195559 + VariableStatement 2194374 2194419 + VariableDeclarationList 2194374 2194418 + VariableDeclaration 2194393 2194418 + Identifier 2194393 2194404 + PropertyAccessExpression 2194406 2194418 + Identifier 2194406 2194411 + Identifier 2194412 2194418 + VariableStatement 2194419 2194491 + VariableDeclarationList 2194419 2194490 + VariableDeclaration 2194438 2194490 + Identifier 2194438 2194457 + PropertyAccessExpression 2194459 2194490 + PropertyAccessExpression 2194459 2194485 + PropertyAccessExpression 2194459 2194471 + Identifier 2194459 2194464 + Identifier 2194465 2194471 + Identifier 2194472 2194485 + Identifier 2194486 2194490 + IfStatement 2194491 2195548 + BinaryExpression 2194509 2194605 + BinaryExpression 2194509 2194554 + Identifier 2194509 2194527 + EqualsEqualsEqualsToken 2194527 2194531 + PropertyAccessExpression 2194531 2194554 + Identifier 2194531 2194542 + Identifier 2194543 2194554 + AmpersandAmpersandToken 2194554 2194557 + ParenthesizedExpression 2194557 2194605 + BinaryExpression 2194559 2194604 + Identifier 2194559 2194575 + BarBarToken 2194575 2194578 + BinaryExpression 2194578 2194604 + PropertyAccessExpression 2194578 2194595 + Identifier 2194578 2194589 + Identifier 2194590 2194595 + EqualsEqualsEqualsToken 2194595 2194599 + Identifier 2194599 2194604 + Block 2194606 2194694 + ExpressionStatement 2194608 2194649 + BinaryExpression 2194608 2194648 + Identifier 2194608 2194630 + EqualsToken 2194630 2194632 + PropertyAccessExpression 2194632 2194648 + Identifier 2194632 2194643 + Identifier 2194644 2194648 + ExpressionStatement 2194649 2194679 + BinaryExpression 2194649 2194678 + Identifier 2194649 2194671 + EqualsToken 2194671 2194673 + Identifier 2194673 2194678 + IfStatement 2194712 2195548 + BinaryExpression 2194717 2194821 + BinaryExpression 2194717 2194762 + Identifier 2194717 2194735 + EqualsEqualsEqualsToken 2194735 2194739 + PropertyAccessExpression 2194739 2194762 + Identifier 2194739 2194750 + Identifier 2194751 2194762 + BarBarToken 2194762 2194765 + BinaryExpression 2194765 2194821 + Identifier 2194765 2194784 + EqualsEqualsEqualsToken 2194784 2194788 + PropertyAccessExpression 2194788 2194821 + Identifier 2194788 2194799 + Identifier 2194800 2194821 + Block 2194822 2195548 + IfStatement 2194824 2195358 + BinaryExpression 2194846 2194934 + CallExpression 2194846 2194886 + Identifier 2194846 2194867 + PropertyAccessExpression 2194868 2194885 + Identifier 2194868 2194878 + Identifier 2194879 2194885 + AmpersandAmpersandToken 2194886 2194889 + BinaryExpression 2194889 2194934 + PropertyAccessExpression 2194889 2194919 + PropertyAccessExpression 2194889 2194907 + Identifier 2194889 2194900 + Identifier 2194901 2194907 + Identifier 2194908 2194919 + EqualsEqualsEqualsToken 2194919 2194923 + Identifier 2194923 2194934 + Block 2194935 2195055 + ExpressionStatement 2194937 2194989 + BinaryExpression 2194937 2194988 + Identifier 2194937 2194963 + EqualsToken 2194963 2194965 + PropertyAccessExpression 2194965 2194988 + PropertyAccessExpression 2194965 2194983 + Identifier 2194965 2194976 + Identifier 2194977 2194983 + Identifier 2194984 2194988 + ExpressionStatement 2194989 2195036 + BinaryExpression 2194989 2195035 + Identifier 2194989 2195015 + EqualsToken 2195015 2195017 + PropertyAccessExpression 2195017 2195035 + Identifier 2195017 2195028 + Identifier 2195029 2195035 + IfStatement 2195077 2195358 + BinaryExpression 2195082 2195250 + BinaryExpression 2195082 2195186 + CallExpression 2195082 2195119 + Identifier 2195082 2195100 + PropertyAccessExpression 2195101 2195118 + Identifier 2195101 2195111 + Identifier 2195112 2195118 + AmpersandAmpersandToken 2195119 2195122 + BinaryExpression 2195122 2195186 + PropertyAccessExpression 2195122 2195159 + PropertyAccessExpression 2195122 2195154 + PropertyAccessExpression 2195122 2195140 + Identifier 2195122 2195133 + Identifier 2195134 2195140 + Identifier 2195141 2195154 + Identifier 2195155 2195159 + EqualsEqualsEqualsToken 2195159 2195163 + PropertyAccessExpression 2195163 2195186 + Identifier 2195163 2195174 + Identifier 2195175 2195186 + AmpersandAmpersandToken 2195186 2195189 + ParenthesizedExpression 2195189 2195250 + BinaryExpression 2195191 2195249 + Identifier 2195191 2195207 + BarBarToken 2195207 2195210 + BinaryExpression 2195210 2195249 + PropertyAccessExpression 2195210 2195234 + PropertyAccessExpression 2195210 2195228 + Identifier 2195210 2195221 + Identifier 2195222 2195228 + Identifier 2195229 2195234 + EqualsEqualsEqualsToken 2195234 2195238 + Identifier 2195238 2195249 + Block 2195251 2195358 + ExpressionStatement 2195253 2195305 + BinaryExpression 2195253 2195304 + Identifier 2195253 2195279 + EqualsToken 2195279 2195281 + PropertyAccessExpression 2195281 2195304 + PropertyAccessExpression 2195281 2195299 + Identifier 2195281 2195292 + Identifier 2195293 2195299 + Identifier 2195300 2195304 + ExpressionStatement 2195305 2195339 + BinaryExpression 2195305 2195338 + Identifier 2195305 2195331 + EqualsToken 2195331 2195333 + Identifier 2195333 2195338 + IfStatement 2195358 2195533 + BinaryExpression 2195382 2195472 + BinaryExpression 2195382 2195428 + PrefixUnaryExpression 2195382 2195387 + Identifier 2195383 2195387 + BarBarToken 2195387 2195390 + PrefixUnaryExpression 2195390 2195428 + CallExpression 2195392 2195428 + Identifier 2195392 2195422 + Identifier 2195423 2195427 + BarBarToken 2195428 2195431 + PrefixUnaryExpression 2195431 2195472 + CallExpression 2195433 2195472 + Identifier 2195433 2195449 + Identifier 2195450 2195454 + PropertyAccessExpression 2195455 2195471 + Identifier 2195455 2195466 + Identifier 2195467 2195471 + Block 2195473 2195533 + ReturnStatement 2195475 2195514 + Identifier 2195503 2195513 + IfStatement 2195573 2195696 + BinaryExpression 2195578 2195625 + Identifier 2195578 2195594 + AmpersandAmpersandToken 2195594 2195597 + CallExpression 2195597 2195625 + Identifier 2195597 2195619 + Identifier 2195620 2195624 + Block 2195626 2195696 + ExpressionStatement 2195628 2195659 + BinaryExpression 2195628 2195658 + Identifier 2195628 2195646 + EqualsToken 2195646 2195648 + PropertyAccessExpression 2195648 2195658 + Identifier 2195648 2195653 + Identifier 2195654 2195658 + ExpressionStatement 2195659 2195685 + BinaryExpression 2195659 2195684 + Identifier 2195659 2195677 + EqualsToken 2195677 2195679 + Identifier 2195679 2195684 + IfStatement 2195696 2195851 + BinaryExpression 2195712 2195806 + BinaryExpression 2195712 2195726 + PrefixUnaryExpression 2195712 2195717 + Identifier 2195713 2195717 + BarBarToken 2195717 2195720 + PrefixUnaryExpression 2195720 2195726 + Identifier 2195722 2195726 + BarBarToken 2195726 2195729 + ParenthesizedExpression 2195729 2195806 + BinaryExpression 2195731 2195805 + PrefixUnaryExpression 2195731 2195748 + Identifier 2195732 2195748 + AmpersandAmpersandToken 2195748 2195751 + PrefixUnaryExpression 2195751 2195805 + CallExpression 2195753 2195805 + Identifier 2195753 2195774 + Identifier 2195775 2195779 + CallExpression 2195780 2195804 + Identifier 2195780 2195798 + Identifier 2195799 2195803 + Block 2195807 2195851 + ReturnStatement 2195809 2195840 + Identifier 2195829 2195839 + ReturnStatement 2195851 2195890 + CallExpression 2195867 2195889 + Identifier 2195867 2195883 + Identifier 2195884 2195888 + FunctionDeclaration 2195897 2196480 + Identifier 2195913 2195936 + Parameter 2195937 2195947 + Identifier 2195937 2195941 + TypeReference 2195942 2195947 + Identifier 2195942 2195947 + Block 2195948 2196480 + IfStatement 2195950 2196017 + PrefixUnaryExpression 2195964 2195976 + PropertyAccessExpression 2195965 2195976 + Identifier 2195965 2195969 + Identifier 2195970 2195976 + Block 2195977 2196017 + ReturnStatement 2195979 2196006 + FalseKeyword 2195999 2196005 + VariableStatement 2196017 2196058 + VariableDeclarationList 2196017 2196057 + VariableDeclaration 2196030 2196057 + Identifier 2196030 2196037 + TypeReference 2196038 2196043 + Identifier 2196038 2196043 + PropertyAccessExpression 2196045 2196057 + Identifier 2196045 2196050 + Identifier 2196051 2196057 + WhileStatement 2196058 2196187 + BinaryExpression 2196075 2196136 + Identifier 2196075 2196081 + AmpersandAmpersandToken 2196081 2196084 + BinaryExpression 2196084 2196136 + PropertyAccessExpression 2196084 2196096 + Identifier 2196084 2196091 + Identifier 2196092 2196096 + EqualsEqualsEqualsToken 2196096 2196100 + PropertyAccessExpression 2196100 2196136 + Identifier 2196100 2196111 + Identifier 2196112 2196136 + Block 2196137 2196187 + ExpressionStatement 2196139 2196176 + BinaryExpression 2196139 2196175 + Identifier 2196139 2196159 + EqualsToken 2196159 2196161 + PropertyAccessExpression 2196161 2196175 + Identifier 2196161 2196168 + Identifier 2196169 2196175 + IfStatement 2196187 2196473 + BinaryExpression 2196201 2196327 + BinaryExpression 2196201 2196271 + BinaryExpression 2196201 2196237 + Identifier 2196201 2196207 + AmpersandAmpersandToken 2196207 2196210 + CallExpression 2196210 2196237 + Identifier 2196210 2196229 + Identifier 2196230 2196236 + AmpersandAmpersandToken 2196237 2196240 + CallExpression 2196240 2196271 + Identifier 2196240 2196258 + PropertyAccessExpression 2196259 2196270 + Identifier 2196259 2196265 + Identifier 2196266 2196270 + AmpersandAmpersandToken 2196271 2196274 + BinaryExpression 2196274 2196327 + PropertyAccessExpression 2196274 2196300 + PropertyAccessExpression 2196274 2196295 + Identifier 2196274 2196281 + Identifier 2196282 2196295 + Identifier 2196296 2196300 + EqualsEqualsEqualsToken 2196300 2196304 + PropertyAccessExpression 2196304 2196327 + Identifier 2196304 2196315 + Identifier 2196316 2196327 + Block 2196328 2196473 + VariableStatement 2196330 2196399 + VariableDeclarationList 2196330 2196398 + VariableDeclaration 2196349 2196398 + Identifier 2196349 2196355 + CallExpression 2196357 2196398 + Identifier 2196357 2196390 + Identifier 2196391 2196397 + ReturnStatement 2196399 2196462 + BinaryExpression 2196419 2196461 + CallExpression 2196419 2196452 + Identifier 2196419 2196445 + Identifier 2196446 2196451 + AmpersandAmpersandToken 2196452 2196455 + Identifier 2196455 2196461 + FunctionDeclaration 2196480 2200381 + Identifier 2196737 2196757 + Parameter 2196758 2196794 + Identifier 2196758 2196762 + UnionType 2196763 2196794 + TypeReference 2196763 2196778 + Identifier 2196763 2196778 + TypeReference 2196780 2196794 + Identifier 2196780 2196794 + Parameter 2196795 2196817 + Identifier 2196795 2196805 + QuestionToken 2196805 2196806 + TypeReference 2196807 2196817 + Identifier 2196807 2196817 + TypeReference 2196819 2196824 + Identifier 2196819 2196824 + Block 2196824 2200381 + ExpressionStatement 2196826 2196888 + CallExpression 2196826 2196887 + Identifier 2196826 2196861 + Identifier 2196862 2196866 + PropertyAccessExpression 2196867 2196886 + Identifier 2196867 2196872 + Identifier 2196873 2196886 + VariableStatement 2196888 2196990 + VariableDeclarationList 2196888 2196989 + VariableDeclaration 2196905 2196989 + Identifier 2196905 2196915 + CallExpression 2196917 2196989 + Identifier 2196917 2196938 + Identifier 2196939 2196943 + Identifier 2196944 2196977 + Identifier 2196978 2196988 + IfStatement 2196990 2197278 + BinaryExpression 2197004 2197036 + Identifier 2197004 2197013 + EqualsEqualsEqualsToken 2197013 2197017 + Identifier 2197017 2197036 + Block 2197037 2197278 + ReturnStatement 2197039 2197267 + Identifier 2197250 2197266 + ExpressionStatement 2197278 2197332 + CallExpression 2197278 2197331 + Identifier 2197278 2197314 + Identifier 2197315 2197324 + Identifier 2197325 2197330 + IfStatement 2197332 2197440 + BinaryExpression 2197348 2197396 + PropertyAccessExpression 2197348 2197368 + PropertyAccessExpression 2197348 2197363 + Identifier 2197348 2197352 + Identifier 2197353 2197363 + Identifier 2197364 2197368 + EqualsEqualsEqualsToken 2197368 2197372 + PropertyAccessExpression 2197372 2197396 + Identifier 2197372 2197383 + Identifier 2197384 2197396 + Block 2197397 2197440 + ReturnStatement 2197399 2197429 + Identifier 2197419 2197428 + IfStatement 2197440 2198420 + BinaryExpression 2197456 2197494 + PropertyAccessExpression 2197456 2197465 + Identifier 2197456 2197460 + Identifier 2197461 2197465 + EqualsEqualsEqualsToken 2197465 2197469 + PropertyAccessExpression 2197469 2197494 + Identifier 2197469 2197480 + Identifier 2197481 2197494 + Block 2197495 2198420 + VariableStatement 2197497 2197553 + VariableDeclarationList 2197497 2197552 + VariableDeclaration 2197516 2197552 + Identifier 2197516 2197528 + PropertyAccessExpression 2197530 2197552 + Identifier 2197530 2197540 + Identifier 2197541 2197552 + IfStatement 2197553 2198409 + BinaryExpression 2197573 2198038 + BinaryExpression 2197573 2197988 + BinaryExpression 2197573 2197928 + BinaryExpression 2197573 2197805 + BinaryExpression 2197573 2197737 + BinaryExpression 2197573 2197666 + Identifier 2197573 2197602 + AmpersandAmpersandToken 2197602 2197605 + BinaryExpression 2197605 2197666 + PropertyAccessExpression 2197605 2197639 + Identifier 2197605 2197634 + Identifier 2197635 2197639 + ExclamationEqualsEqualsToken 2197639 2197643 + PropertyAccessExpression 2197643 2197666 + Identifier 2197643 2197654 + Identifier 2197655 2197666 + AmpersandAmpersandToken 2197666 2197669 + BinaryExpression 2197669 2197737 + PropertyAccessExpression 2197669 2197703 + Identifier 2197669 2197698 + Identifier 2197699 2197703 + ExclamationEqualsEqualsToken 2197703 2197707 + PropertyAccessExpression 2197707 2197737 + Identifier 2197707 2197718 + Identifier 2197719 2197737 + AmpersandAmpersandToken 2197737 2197740 + BinaryExpression 2197740 2197805 + PropertyAccessExpression 2197740 2197774 + Identifier 2197740 2197769 + Identifier 2197770 2197774 + ExclamationEqualsEqualsToken 2197774 2197778 + PropertyAccessExpression 2197778 2197805 + Identifier 2197778 2197789 + Identifier 2197790 2197805 + AmpersandAmpersandToken 2197805 2197808 + PrefixUnaryExpression 2197808 2197928 + ParenthesizedExpression 2197827 2197928 + BinaryExpression 2197828 2197927 + CallExpression 2197828 2197857 + Identifier 2197828 2197844 + Identifier 2197845 2197856 + AmpersandAmpersandToken 2197857 2197860 + BinaryExpression 2197860 2197927 + PropertyAccessExpression 2197860 2197900 + PropertyAccessExpression 2197860 2197894 + CallExpression 2197860 2197886 + Identifier 2197860 2197873 + Identifier 2197874 2197885 + QuestionDotToken 2197886 2197888 + Identifier 2197888 2197894 + QuestionDotToken 2197894 2197896 + Identifier 2197896 2197900 + EqualsEqualsEqualsToken 2197900 2197904 + PropertyAccessExpression 2197904 2197927 + Identifier 2197904 2197915 + Identifier 2197916 2197927 + AmpersandAmpersandToken 2197928 2197931 + PrefixUnaryExpression 2197931 2197988 + CallExpression 2197950 2197988 + Identifier 2197950 2197975 + Identifier 2197976 2197987 + AmpersandAmpersandToken 2197988 2197991 + PrefixUnaryExpression 2197991 2198038 + CallExpression 2198010 2198038 + Identifier 2198010 2198025 + Identifier 2198026 2198037 + Block 2198053 2198409 + IfStatement 2198055 2198361 + Identifier 2198196 2198209 + Block 2198210 2198361 + ExpressionStatement 2198212 2198342 + CallExpression 2198212 2198341 + Identifier 2198212 2198239 + Identifier 2198240 2198244 + PropertyAccessExpression 2198245 2198340 + Identifier 2198245 2198257 + Identifier 2198258 2198340 + ReturnStatement 2198361 2198394 + Identifier 2198385 2198393 + IfStatement 2198420 2198692 + BinaryExpression 2198542 2198585 + CallExpression 2198542 2198558 + Identifier 2198542 2198552 + Identifier 2198553 2198557 + AmpersandAmpersandToken 2198558 2198561 + CallExpression 2198561 2198585 + Identifier 2198561 2198579 + Identifier 2198580 2198584 + Block 2198586 2198692 + ReturnStatement 2198588 2198681 + CallExpression 2198608 2198680 + Identifier 2198608 2198643 + AsExpression 2198644 2198679 + ElementAccessExpression 2198644 2198662 + NonNullExpression 2198644 2198659 + PropertyAccessExpression 2198644 2198658 + Identifier 2198644 2198648 + Identifier 2198649 2198658 + NumericLiteral 2198660 2198661 + TypeReference 2198665 2198679 + Identifier 2198665 2198679 + VariableStatement 2198692 2198759 + VariableDeclarationList 2198692 2198758 + VariableDeclaration 2198709 2198758 + Identifier 2198709 2198720 + CallExpression 2198722 2198758 + Identifier 2198722 2198747 + Identifier 2198748 2198757 + IfStatement 2198759 2199118 + BinaryExpression 2198937 2199011 + BinaryExpression 2198937 2198978 + PropertyAccessExpression 2198937 2198953 + Identifier 2198937 2198947 + Identifier 2198948 2198953 + AmpersandToken 2198953 2198955 + PropertyAccessExpression 2198955 2198978 + Identifier 2198955 2198965 + Identifier 2198966 2198978 + AmpersandAmpersandToken 2198978 2198981 + CallExpression 2198981 2199011 + Identifier 2198981 2199005 + Identifier 2199006 2199010 + Block 2199012 2199118 + ReturnStatement 2199014 2199107 + CallExpression 2199034 2199106 + Identifier 2199034 2199061 + CallExpression 2199062 2199105 + Identifier 2199062 2199092 + PropertyAccessExpression 2199093 2199104 + Identifier 2199093 2199097 + Identifier 2199098 2199104 + IfStatement 2199118 2199879 + BinaryExpression 2199132 2199358 + BinaryExpression 2199132 2199316 + BinaryExpression 2199132 2199266 + BinaryExpression 2199132 2199211 + BinaryExpression 2199132 2199185 + PropertyAccessExpression 2199132 2199155 + Identifier 2199132 2199150 + Identifier 2199151 2199155 + EqualsEqualsEqualsToken 2199155 2199159 + PropertyAccessExpression 2199159 2199185 + Identifier 2199159 2199170 + Identifier 2199171 2199185 + AmpersandAmpersandToken 2199185 2199188 + PrefixUnaryExpression 2199188 2199211 + PropertyAccessExpression 2199190 2199211 + Identifier 2199190 2199194 + Identifier 2199195 2199211 + AmpersandAmpersandToken 2199211 2199214 + BinaryExpression 2199214 2199266 + PropertyAccessExpression 2199214 2199231 + PropertyAccessExpression 2199214 2199226 + Identifier 2199214 2199219 + Identifier 2199220 2199226 + Identifier 2199227 2199231 + EqualsEqualsEqualsToken 2199231 2199235 + PropertyAccessExpression 2199235 2199266 + Identifier 2199235 2199246 + Identifier 2199247 2199266 + AmpersandAmpersandToken 2199266 2199269 + BinaryExpression 2199269 2199316 + PropertyAccessExpression 2199269 2199299 + Identifier 2199269 2199293 + Identifier 2199294 2199299 + AmpersandToken 2199299 2199301 + PropertyAccessExpression 2199301 2199316 + Identifier 2199301 2199311 + Identifier 2199312 2199316 + AmpersandAmpersandToken 2199316 2199319 + CallExpression 2199319 2199358 + Identifier 2199319 2199347 + Identifier 2199348 2199357 + Block 2199369 2199879 + IfStatement 2199371 2199868 + PrefixUnaryExpression 2199389 2199419 + CallExpression 2199390 2199419 + Identifier 2199390 2199402 + PropertyAccessExpression 2199403 2199418 + Identifier 2199403 2199407 + Identifier 2199408 2199418 + Block 2199420 2199564 + ExpressionStatement 2199422 2199549 + CallExpression 2199422 2199548 + Identifier 2199422 2199445 + PropertyAccessExpression 2199446 2199461 + Identifier 2199446 2199450 + Identifier 2199451 2199461 + PropertyAccessExpression 2199462 2199547 + Identifier 2199462 2199474 + Identifier 2199475 2199547 + IfStatement 2199582 2199868 + PrefixUnaryExpression 2199587 2199613 + CallExpression 2199588 2199613 + Identifier 2199588 2199607 + Identifier 2199608 2199612 + Block 2199614 2199868 + VariableStatement 2199616 2199786 + VariableDeclarationList 2199616 2199785 + VariableDeclaration 2199639 2199785 + Identifier 2199639 2199650 + CallExpression 2199652 2199785 + Identifier 2199652 2199658 + PropertyAccessExpression 2199659 2199674 + Identifier 2199659 2199663 + Identifier 2199664 2199674 + PropertyAccessExpression 2199675 2199784 + Identifier 2199675 2199687 + Identifier 2199688 2199784 + ExpressionStatement 2199786 2199853 + CallExpression 2199786 2199852 + Identifier 2199786 2199823 + PropertyAccessExpression 2199824 2199839 + Identifier 2199824 2199828 + Identifier 2199829 2199839 + Identifier 2199840 2199851 + IfStatement 2199879 2200344 + CallExpression 2199895 2199911 + Identifier 2199895 2199905 + Identifier 2199906 2199910 + Block 2199912 2200344 + VariableStatement 2199914 2199998 + VariableDeclarationList 2199914 2199997 + VariableDeclaration 2199933 2199997 + Identifier 2199933 2199942 + CallExpression 2199944 2199997 + Identifier 2199944 2199963 + Identifier 2199964 2199968 + FalseKeyword 2199969 2199996 + IfStatement 2199998 2200333 + PropertyAccessExpression 2200016 2200039 + PropertyAccessExpression 2200016 2200033 + Identifier 2200016 2200024 + QuestionDotToken 2200024 2200026 + Identifier 2200026 2200033 + QuestionDotToken 2200033 2200035 + Identifier 2200035 2200039 + Block 2200040 2200333 + VariableStatement 2200042 2200169 + VariableDeclarationList 2200042 2200168 + VariableDeclaration 2200065 2200168 + Identifier 2200065 2200082 + CallExpression 2200084 2200168 + Identifier 2200084 2200104 + Identifier 2200105 2200113 + PropertyAccessExpression 2200114 2200131 + Identifier 2200114 2200123 + Identifier 2200124 2200131 + Identifier 2200132 2200143 + Identifier 2200144 2200155 + Identifier 2200156 2200167 + ExpressionStatement 2200169 2200241 + BinaryExpression 2200169 2200240 + PropertyAccessExpression 2200169 2200215 + Identifier 2200169 2200203 + Identifier 2200204 2200215 + BarEqualsToken 2200215 2200218 + PropertyAccessExpression 2200218 2200240 + Identifier 2200218 2200230 + Identifier 2200231 2200240 + ReturnStatement 2200241 2200318 + CallExpression 2200265 2200317 + Identifier 2200265 2200285 + ArrayLiteralExpression 2200286 2200316 + Identifier 2200287 2200297 + Identifier 2200298 2200315 + ReturnStatement 2200344 2200374 + Identifier 2200362 2200373 + FunctionDeclaration 2200381 2200969 + Identifier 2200397 2200422 + Parameter 2200423 2200443 + Identifier 2200423 2200432 + TypeReference 2200433 2200443 + Identifier 2200433 2200443 + Parameter 2200444 2200469 + Identifier 2200444 2200449 + TypeReference 2200450 2200469 + Identifier 2200450 2200469 + Block 2200470 2200969 + IfStatement 2200472 2200566 + BinaryExpression 2200486 2200557 + PropertyAccessExpression 2200486 2200501 + Identifier 2200486 2200495 + Identifier 2200496 2200501 + AmpersandToken 2200501 2200503 + PropertyAccessExpression 2200503 2200557 + Identifier 2200503 2200518 + Identifier 2200519 2200557 + ReturnStatement 2200558 2200566 + IfStatement 2200566 2200962 + BinaryExpression 2200580 2200655 + PropertyAccessExpression 2200580 2200601 + Identifier 2200580 2200589 + Identifier 2200590 2200601 + AmpersandAmpersandToken 2200601 2200604 + BinaryExpression 2200604 2200655 + PropertyAccessExpression 2200604 2200632 + PropertyAccessExpression 2200604 2200626 + Identifier 2200604 2200614 + Identifier 2200615 2200626 + Identifier 2200627 2200632 + AmpersandToken 2200632 2200634 + PropertyAccessExpression 2200634 2200655 + Identifier 2200634 2200644 + Identifier 2200645 2200655 + Block 2200656 2200962 + VariableStatement 2200658 2200729 + VariableDeclarationList 2200658 2200728 + VariableDeclaration 2200677 2200728 + Identifier 2200677 2200692 + CallExpression 2200694 2200728 + Identifier 2200694 2200722 + Identifier 2200723 2200727 + VariableStatement 2200729 2200825 + VariableDeclarationList 2200729 2200824 + VariableDeclaration 2200748 2200824 + Identifier 2200748 2200753 + CallExpression 2200755 2200824 + Identifier 2200755 2200796 + CallExpression 2200797 2200823 + Identifier 2200797 2200817 + Identifier 2200818 2200822 + ExpressionStatement 2200825 2200951 + CallExpression 2200825 2200950 + Identifier 2200825 2200875 + Identifier 2200876 2200890 + PropertyAccessExpression 2200891 2200913 + Identifier 2200891 2200901 + Identifier 2200902 2200913 + Identifier 2200914 2200919 + CallExpression 2200920 2200949 + Identifier 2200920 2200938 + Identifier 2200939 2200948 + FunctionDeclaration 2200969 2202235 + Identifier 2200985 2201013 + Parameter 2201014 2201024 + Identifier 2201014 2201018 + TypeReference 2201019 2201024 + Identifier 2201019 2201024 + TypeReference 2201026 2201031 + Identifier 2201026 2201031 + Block 2201031 2202235 + ExpressionStatement 2201033 2201072 + BinaryExpression 2201033 2201071 + Identifier 2201033 2201047 + EqualsToken 2201047 2201049 + CallExpression 2201049 2201071 + Identifier 2201049 2201065 + Identifier 2201066 2201070 + SwitchStatement 2201072 2202228 + PropertyAccessExpression 2201090 2201099 + Identifier 2201090 2201094 + Identifier 2201095 2201099 + CaseBlock 2201100 2202228 + CaseClause 2201102 2201147 + PropertyAccessExpression 2201120 2201146 + Identifier 2201120 2201131 + Identifier 2201132 2201146 + CaseClause 2201147 2201187 + PropertyAccessExpression 2201165 2201186 + Identifier 2201165 2201176 + Identifier 2201177 2201186 + CaseClause 2201187 2201349 + PropertyAccessExpression 2201205 2201230 + Identifier 2201205 2201216 + Identifier 2201217 2201230 + ReturnStatement 2201231 2201349 + CallExpression 2201255 2201348 + Identifier 2201255 2201283 + PropertyAccessExpression 2201284 2201347 + ParenthesizedExpression 2201284 2201336 + AsExpression 2201285 2201335 + Identifier 2201285 2201289 + UnionType 2201292 2201335 + TypeReference 2201292 2201302 + Identifier 2201292 2201302 + TypeReference 2201304 2201319 + Identifier 2201304 2201319 + TypeReference 2201321 2201335 + Identifier 2201321 2201335 + Identifier 2201337 2201347 + CaseClause 2201349 2201497 + PropertyAccessExpression 2201367 2201403 + Identifier 2201367 2201378 + Identifier 2201379 2201403 + ReturnStatement 2201404 2201497 + CallExpression 2201428 2201496 + Identifier 2201428 2201456 + PropertyAccessExpression 2201457 2201495 + ParenthesizedExpression 2201457 2201491 + AsExpression 2201458 2201490 + Identifier 2201458 2201462 + TypeReference 2201465 2201490 + Identifier 2201465 2201490 + Identifier 2201492 2201495 + CaseClause 2201497 2201545 + PropertyAccessExpression 2201515 2201544 + Identifier 2201515 2201526 + Identifier 2201527 2201544 + CaseClause 2201545 2201691 + PropertyAccessExpression 2201563 2201596 + Identifier 2201563 2201574 + Identifier 2201575 2201596 + ReturnStatement 2201597 2201691 + CallExpression 2201621 2201690 + Identifier 2201621 2201649 + PropertyAccessExpression 2201650 2201689 + ParenthesizedExpression 2201650 2201681 + AsExpression 2201651 2201680 + Identifier 2201651 2201655 + TypeReference 2201658 2201680 + Identifier 2201658 2201680 + Identifier 2201682 2201689 + CaseClause 2201691 2201823 + PropertyAccessExpression 2201709 2201744 + Identifier 2201709 2201720 + Identifier 2201721 2201744 + ReturnStatement 2201745 2201823 + PropertyAccessExpression 2201769 2201822 + ParenthesizedExpression 2201769 2201803 + AsExpression 2201771 2201802 + Identifier 2201771 2201775 + TypeReference 2201778 2201802 + Identifier 2201778 2201802 + Identifier 2201804 2201822 + CaseClause 2201823 2201943 + PropertyAccessExpression 2201841 2201877 + Identifier 2201841 2201852 + Identifier 2201853 2201877 + ReturnStatement 2201878 2201943 + PropertyAccessExpression 2201902 2201942 + ParenthesizedExpression 2201902 2201937 + AsExpression 2201904 2201936 + Identifier 2201904 2201908 + TypeReference 2201911 2201936 + Identifier 2201911 2201936 + Identifier 2201938 2201942 + CaseClause 2201943 2202165 + PropertyAccessExpression 2201961 2201986 + Identifier 2201961 2201972 + Identifier 2201973 2201986 + VariableStatement 2201987 2202053 + VariableDeclarationList 2201987 2202052 + VariableDeclaration 2202010 2202052 + Identifier 2202010 2202024 + AsExpression 2202026 2202052 + Identifier 2202026 2202031 + TypeReference 2202034 2202052 + Identifier 2202034 2202052 + ReturnStatement 2202053 2202165 + ConditionalExpression 2202077 2202164 + CallExpression 2202077 2202117 + Identifier 2202077 2202093 + PropertyAccessExpression 2202094 2202116 + Identifier 2202094 2202107 + Identifier 2202108 2202116 + QuestionToken 2202117 2202119 + PropertyAccessExpression 2202119 2202148 + PropertyAccessExpression 2202119 2202142 + Identifier 2202119 2202133 + Identifier 2202134 2202142 + Identifier 2202143 2202148 + ColonToken 2202148 2202150 + Identifier 2202150 2202164 + DefaultClause 2202165 2202217 + ReturnStatement 2202187 2202217 + Identifier 2202211 2202216 + FunctionDeclaration 2202235 2202989 + Identifier 2202251 2202275 + Parameter 2202276 2202286 + Identifier 2202276 2202280 + TypeReference 2202281 2202286 + Identifier 2202281 2202286 + Block 2202287 2202989 + IfStatement 2202289 2202341 + PrefixUnaryExpression 2202303 2202326 + CallExpression 2202304 2202326 + Identifier 2202304 2202320 + Identifier 2202321 2202325 + ReturnStatement 2202327 2202341 + FalseKeyword 2202334 2202340 + VariableStatement 2202341 2202378 + VariableDeclarationList 2202341 2202377 + VariableDeclaration 2202354 2202377 + Identifier 2202354 2202359 + PropertyAccessExpression 2202361 2202377 + Identifier 2202361 2202366 + Identifier 2202367 2202377 + IfStatement 2202378 2202510 + BinaryExpression 2202392 2202459 + CallExpression 2202392 2202424 + Identifier 2202392 2202418 + Identifier 2202419 2202423 + AmpersandAmpersandToken 2202424 2202427 + BinaryExpression 2202427 2202459 + PropertyAccessExpression 2202427 2202449 + PropertyAccessExpression 2202427 2202437 + Identifier 2202427 2202432 + Identifier 2202433 2202437 + Identifier 2202438 2202449 + EqualsEqualsEqualsToken 2202449 2202453 + StringLiteral 2202453 2202459 + Block 2202460 2202510 + ExpressionStatement 2202462 2202499 + BinaryExpression 2202462 2202498 + Identifier 2202462 2202480 + EqualsToken 2202480 2202482 + PropertyAccessExpression 2202482 2202498 + Identifier 2202482 2202487 + Identifier 2202488 2202498 + IfStatement 2202510 2202617 + BinaryExpression 2202524 2202576 + PrefixUnaryExpression 2202524 2202543 + CallExpression 2202525 2202543 + Identifier 2202525 2202537 + Identifier 2202538 2202542 + BarBarToken 2202543 2202546 + BinaryExpression 2202546 2202576 + PropertyAccessExpression 2202546 2202563 + Identifier 2202546 2202551 + Identifier 2202552 2202563 + ExclamationEqualsEqualsToken 2202563 2202567 + StringLiteral 2202567 2202576 + Block 2202577 2202617 + ReturnStatement 2202579 2202606 + FalseKeyword 2202599 2202605 + VariableStatement 2202617 2202763 + VariableDeclarationList 2202617 2202762 + VariableDeclaration 2202686 2202762 + Identifier 2202686 2202701 + CallExpression 2202703 2202762 + Identifier 2202703 2202738 + FalseKeyword 2202739 2202761 + IfStatement 2202763 2202833 + PrefixUnaryExpression 2202777 2202792 + Identifier 2202778 2202792 + Block 2202793 2202833 + ReturnStatement 2202795 2202822 + FalseKeyword 2202815 2202821 + ReturnStatement 2202833 2202982 + BinaryExpression 2202851 2202981 + Identifier 2202851 2202866 + EqualsEqualsEqualsToken 2202866 2202870 + CallExpression 2202870 2202981 + Identifier 2202870 2202882 + Identifier 2202883 2202887 + AsExpression 2202888 2202909 + StringLiteral 2202888 2202897 + TypeReference 2202900 2202909 + Identifier 2202900 2202909 + PropertyAccessExpression 2202910 2202928 + Identifier 2202910 2202922 + Identifier 2202923 2202928 + Identifier 2202929 2202963 + FalseKeyword 2202964 2202980 + FunctionDeclaration 2202989 2205235 + Identifier 2203005 2203031 + Parameter 2203032 2203048 + Identifier 2203032 2203036 + TypeReference 2203037 2203048 + Identifier 2203037 2203048 + TypeReference 2203050 2203055 + Identifier 2203050 2203055 + Block 2203055 2205235 + ExpressionStatement 2203057 2203150 + CallExpression 2203057 2203149 + Identifier 2203057 2203143 + Identifier 2203144 2203148 + IfStatement 2203150 2203267 + BinaryExpression 2203166 2203193 + PropertyAccessExpression 2203166 2203187 + PropertyAccessExpression 2203166 2203180 + Identifier 2203166 2203170 + Identifier 2203171 2203180 + Identifier 2203181 2203187 + EqualsEqualsEqualsToken 2203187 2203191 + NumericLiteral 2203191 2203193 + Block 2203194 2203267 + ReturnStatement 2203196 2203256 + CallExpression 2203216 2203255 + Identifier 2203216 2203240 + Identifier 2203241 2203245 + Identifier 2203246 2203254 + VariableStatement 2203267 2203315 + VariableDeclarationList 2203267 2203314 + VariableDeclaration 2203284 2203314 + Identifier 2203284 2203294 + ElementAccessExpression 2203296 2203314 + PropertyAccessExpression 2203296 2203311 + Identifier 2203296 2203301 + Identifier 2203302 2203311 + NumericLiteral 2203312 2203313 + VariableStatement 2203315 2203380 + VariableDeclarationList 2203315 2203379 + VariableDeclaration 2203330 2203379 + Identifier 2203330 2203344 + CallExpression 2203346 2203379 + Identifier 2203346 2203368 + Identifier 2203369 2203378 + VariableStatement 2203380 2203491 + VariableDeclarationList 2203380 2203490 + VariableDeclaration 2203395 2203490 + Identifier 2203395 2203407 + ConditionalExpression 2203409 2203490 + BinaryExpression 2203409 2203435 + PropertyAccessExpression 2203409 2203431 + PropertyAccessExpression 2203409 2203424 + Identifier 2203409 2203414 + Identifier 2203415 2203424 + Identifier 2203425 2203431 + GreaterThanToken 2203431 2203433 + NumericLiteral 2203433 2203435 + QuestionToken 2203435 2203437 + CallExpression 2203437 2203478 + Identifier 2203437 2203459 + ElementAccessExpression 2203460 2203477 + PropertyAccessExpression 2203460 2203474 + Identifier 2203460 2203464 + Identifier 2203465 2203474 + NumericLiteral 2203475 2203476 + ColonToken 2203478 2203480 + Identifier 2203480 2203490 + ForStatement 2203491 2203729 + VariableDeclarationList 2203619 2203628 + VariableDeclaration 2203622 2203628 + Identifier 2203622 2203624 + NumericLiteral 2203626 2203628 + BinaryExpression 2203629 2203655 + Identifier 2203629 2203631 + LessThanToken 2203631 2203633 + PropertyAccessExpression 2203633 2203655 + PropertyAccessExpression 2203633 2203648 + Identifier 2203633 2203638 + Identifier 2203639 2203648 + Identifier 2203649 2203655 + PrefixUnaryExpression 2203656 2203660 + Identifier 2203659 2203660 + Block 2203661 2203729 + ExpressionStatement 2203663 2203718 + CallExpression 2203663 2203717 + Identifier 2203663 2203698 + ElementAccessExpression 2203699 2203716 + PropertyAccessExpression 2203699 2203713 + Identifier 2203699 2203703 + Identifier 2203704 2203713 + Identifier 2203714 2203715 + IfStatement 2203729 2204033 + BinaryExpression 2203745 2203876 + BinaryExpression 2203745 2203826 + BinaryExpression 2203745 2203786 + PropertyAccessExpression 2203745 2203764 + Identifier 2203745 2203758 + Identifier 2203759 2203764 + AmpersandToken 2203764 2203766 + PropertyAccessExpression 2203766 2203786 + Identifier 2203766 2203776 + Identifier 2203777 2203786 + BarBarToken 2203786 2203789 + BinaryExpression 2203789 2203826 + PropertyAccessExpression 2203789 2203809 + Identifier 2203789 2203803 + Identifier 2203804 2203809 + AmpersandToken 2203809 2203811 + PropertyAccessExpression 2203811 2203826 + Identifier 2203811 2203821 + Identifier 2203822 2203826 + BarBarToken 2203826 2203829 + PrefixUnaryExpression 2203829 2203876 + CallExpression 2203831 2203876 + Identifier 2203831 2203849 + Identifier 2203850 2203863 + Identifier 2203864 2203875 + Block 2203877 2204033 + ExpressionStatement 2203879 2204022 + CallExpression 2203879 2204021 + Identifier 2203879 2203898 + Identifier 2203899 2203908 + PropertyAccessExpression 2203909 2203991 + Identifier 2203909 2203921 + Identifier 2203922 2203991 + CallExpression 2203992 2204020 + Identifier 2203992 2204005 + Identifier 2204006 2204019 + IfStatement 2204033 2204382 + Identifier 2204049 2204060 + Block 2204061 2204382 + VariableStatement 2204063 2204161 + VariableDeclarationList 2204063 2204160 + VariableDeclaration 2204082 2204160 + Identifier 2204082 2204104 + CallExpression 2204106 2204160 + Identifier 2204106 2204137 + TrueKeyword 2204138 2204159 + IfStatement 2204161 2204371 + BinaryExpression 2204179 2204220 + Identifier 2204179 2204200 + ExclamationEqualsEqualsToken 2204200 2204204 + Identifier 2204204 2204220 + Block 2204221 2204371 + ExpressionStatement 2204223 2204356 + CallExpression 2204223 2204355 + Identifier 2204223 2204262 + Identifier 2204263 2204274 + CallExpression 2204275 2204335 + Identifier 2204275 2204291 + Identifier 2204292 2204313 + PropertyAccessExpression 2204314 2204334 + Identifier 2204314 2204324 + Identifier 2204325 2204334 + ElementAccessExpression 2204336 2204354 + PropertyAccessExpression 2204336 2204351 + Identifier 2204336 2204341 + Identifier 2204342 2204351 + NumericLiteral 2204352 2204353 + VariableStatement 2204382 2204575 + VariableDeclarationList 2204382 2204574 + VariableDeclaration 2204516 2204574 + Identifier 2204516 2204529 + CallExpression 2204531 2204574 + Identifier 2204531 2204557 + Identifier 2204558 2204562 + Identifier 2204563 2204573 + IfStatement 2204575 2205172 + Identifier 2204589 2204601 + Block 2204602 2205172 + VariableStatement 2204604 2204747 + VariableDeclarationList 2204604 2204746 + VariableDeclaration 2204623 2204746 + Identifier 2204623 2204638 + CallExpression 2204640 2204746 + Identifier 2204640 2204662 + Identifier 2204663 2204675 + Identifier 2204676 2204686 + TrueKeyword 2204687 2204713 + FalseKeyword 2204714 2204745 + IfStatement 2204747 2205161 + Identifier 2204765 2204779 + Block 2204780 2205161 + ReturnStatement 2204782 2205146 + CallExpression 2204806 2205145 + Identifier 2204806 2204830 + Identifier 2204831 2204857 + BinaryExpression 2204858 2205125 + CallExpression 2204858 2204985 + Identifier 2204858 2204911 + CallExpression 2204912 2204943 + Identifier 2204912 2204927 + Identifier 2204928 2204942 + Identifier 2204944 2204959 + Identifier 2204960 2204973 + Identifier 2204974 2204984 + BarBarToken 2204985 2204988 + CallExpression 2204988 2205125 + Identifier 2204988 2205051 + CallExpression 2205052 2205083 + Identifier 2205052 2205067 + Identifier 2205068 2205082 + Identifier 2205084 2205099 + Identifier 2205100 2205113 + Identifier 2205114 2205124 + ReturnStatement 2205172 2205228 + CallExpression 2205188 2205227 + Identifier 2205188 2205212 + Identifier 2205213 2205217 + Identifier 2205218 2205226 + FunctionDeclaration 2205235 2205869 + Identifier 2205251 2205289 + Parameter 2205290 2205304 + Identifier 2205290 2205296 + TypeReference 2205297 2205304 + Identifier 2205297 2205304 + Parameter 2205305 2205340 + Identifier 2205305 2205320 + UnionType 2205321 2205340 + TypeReference 2205321 2205328 + Identifier 2205321 2205328 + UndefinedKeyword 2205330 2205340 + Parameter 2205341 2205378 + Identifier 2205341 2205357 + QuestionToken 2205357 2205358 + UnionType 2205359 2205378 + TypeReference 2205359 2205366 + Identifier 2205359 2205366 + UndefinedKeyword 2205368 2205378 + Block 2205379 2205869 + VariableStatement 2205381 2205431 + VariableDeclarationList 2205381 2205430 + VariableDeclaration 2205396 2205430 + Identifier 2205396 2205408 + CallExpression 2205410 2205430 + Identifier 2205410 2205428 + VariableStatement 2205431 2205519 + VariableDeclarationList 2205431 2205518 + VariableDeclaration 2205446 2205518 + Identifier 2205446 2205456 + CallExpression 2205458 2205518 + Identifier 2205458 2205471 + PropertyAccessExpression 2205472 2205489 + Identifier 2205472 2205483 + Identifier 2205484 2205489 + PropertyAccessExpression 2205490 2205517 + Identifier 2205490 2205509 + Identifier 2205510 2205517 + ExpressionStatement 2205519 2205563 + BinaryExpression 2205519 2205562 + PropertyAccessExpression 2205519 2205545 + Identifier 2205519 2205538 + Identifier 2205539 2205545 + EqualsToken 2205545 2205547 + Identifier 2205547 2205562 + ExpressionStatement 2205563 2205632 + BinaryExpression 2205563 2205631 + PropertyAccessExpression 2205563 2205597 + PropertyAccessExpression 2205563 2205588 + Identifier 2205563 2205582 + Identifier 2205583 2205588 + Identifier 2205589 2205597 + EqualsToken 2205597 2205599 + CallExpression 2205599 2205631 + Identifier 2205599 2205620 + StringLiteral 2205621 2205630 + ExpressionStatement 2205632 2205694 + BinaryExpression 2205632 2205693 + PropertyAccessExpression 2205632 2205669 + PropertyAccessExpression 2205632 2205657 + Identifier 2205632 2205651 + Identifier 2205652 2205657 + Identifier 2205658 2205669 + EqualsToken 2205669 2205671 + CallExpression 2205671 2205693 + Identifier 2205671 2205685 + Identifier 2205686 2205692 + ExpressionStatement 2205694 2205759 + CallExpression 2205694 2205758 + PropertyAccessExpression 2205694 2205719 + Identifier 2205694 2205715 + Identifier 2205716 2205719 + PropertyAccessExpression 2205720 2205746 + Identifier 2205720 2205738 + Identifier 2205739 2205746 + Identifier 2205747 2205757 + ReturnStatement 2205759 2205862 + CallExpression 2205775 2205861 + Identifier 2205775 2205795 + Identifier 2205796 2205811 + Identifier 2205812 2205824 + Identifier 2205825 2205836 + Identifier 2205837 2205848 + Identifier 2205849 2205860 + FunctionDeclaration 2205869 2206502 + Identifier 2205885 2205917 + Parameter 2205918 2205928 + Identifier 2205918 2205922 + TypeReference 2205923 2205928 + Identifier 2205923 2205928 + Parameter 2205929 2205944 + Identifier 2205929 2205936 + TypeReference 2205937 2205944 + Identifier 2205937 2205944 + Parameter 2205945 2205968 + Identifier 2205945 2205960 + TypeReference 2205961 2205968 + Identifier 2205961 2205968 + Parameter 2205969 2205997 + Identifier 2205969 2205985 + TypeReference 2205986 2205997 + Identifier 2205986 2205997 + Block 2205998 2206502 + VariableStatement 2206000 2206076 + VariableDeclarationList 2206000 2206075 + VariableDeclaration 2206015 2206075 + Identifier 2206015 2206030 + CallExpression 2206032 2206075 + Identifier 2206032 2206058 + Identifier 2206059 2206074 + IfStatement 2206076 2206468 + BinaryExpression 2206090 2206134 + BinaryExpression 2206090 2206112 + Identifier 2206090 2206104 + AmpersandAmpersandToken 2206104 2206107 + Identifier 2206107 2206112 + AmpersandAmpersandToken 2206112 2206115 + PrefixUnaryExpression 2206115 2206134 + CallExpression 2206117 2206134 + Identifier 2206117 2206128 + Identifier 2206129 2206133 + Block 2206135 2206468 + VariableStatement 2206137 2206204 + VariableDeclarationList 2206137 2206203 + VariableDeclaration 2206156 2206203 + Identifier 2206156 2206166 + AsExpression 2206168 2206203 + Identifier 2206168 2206173 + TypeReference 2206176 2206203 + Identifier 2206176 2206203 + IfStatement 2206204 2206410 + PrefixUnaryExpression 2206222 2206248 + PropertyAccessExpression 2206223 2206248 + Identifier 2206223 2206232 + Identifier 2206233 2206248 + Block 2206249 2206410 + VariableStatement 2206251 2206344 + VariableDeclarationList 2206251 2206343 + VariableDeclaration 2206274 2206343 + Identifier 2206274 2206279 + CallExpression 2206281 2206343 + Identifier 2206281 2206319 + Identifier 2206320 2206326 + Identifier 2206327 2206342 + ExpressionStatement 2206344 2206395 + BinaryExpression 2206344 2206394 + PropertyAccessExpression 2206344 2206387 + Identifier 2206344 2206371 + Identifier 2206372 2206387 + EqualsToken 2206387 2206389 + Identifier 2206389 2206394 + ReturnStatement 2206410 2206457 + PropertyAccessExpression 2206430 2206456 + Identifier 2206430 2206440 + Identifier 2206441 2206456 + ReturnStatement 2206468 2206495 + Identifier 2206484 2206494 + FunctionDeclaration 2206502 2207825 + Identifier 2206518 2206556 + Parameter 2206557 2206567 + Identifier 2206557 2206561 + TypeReference 2206562 2206567 + Identifier 2206562 2206567 + Parameter 2206568 2206583 + Identifier 2206568 2206575 + TypeReference 2206576 2206583 + Identifier 2206576 2206583 + Parameter 2206584 2206607 + Identifier 2206584 2206599 + TypeReference 2206600 2206607 + Identifier 2206600 2206607 + Parameter 2206608 2206636 + Identifier 2206608 2206624 + TypeReference 2206625 2206636 + Identifier 2206625 2206636 + TypeReference 2206638 2206643 + Identifier 2206638 2206643 + Block 2206643 2207825 + IfStatement 2206645 2207796 + BinaryExpression 2206659 2206717 + BinaryExpression 2206659 2206695 + Identifier 2206659 2206687 + AmpersandAmpersandToken 2206687 2206690 + Identifier 2206690 2206695 + AmpersandAmpersandToken 2206695 2206698 + PrefixUnaryExpression 2206698 2206717 + CallExpression 2206700 2206717 + Identifier 2206700 2206711 + Identifier 2206712 2206716 + Block 2206718 2207796 + VariableStatement 2206720 2206787 + VariableDeclarationList 2206720 2206786 + VariableDeclaration 2206739 2206786 + Identifier 2206739 2206749 + AsExpression 2206751 2206786 + Identifier 2206751 2206756 + TypeReference 2206759 2206786 + Identifier 2206759 2206786 + IfStatement 2206787 2207740 + PrefixUnaryExpression 2206805 2206829 + PropertyAccessExpression 2206806 2206829 + Identifier 2206806 2206815 + Identifier 2206816 2206829 + Block 2206830 2207740 + VariableStatement 2206832 2206911 + VariableDeclarationList 2206832 2206910 + VariableDeclaration 2206855 2206910 + Identifier 2206855 2206860 + CallExpression 2206862 2206910 + PropertyAccessExpression 2206862 2206896 + PropertyAccessExpression 2206862 2206890 + Identifier 2206862 2206877 + Identifier 2206878 2206890 + QuestionDotToken 2206890 2206892 + Identifier 2206892 2206896 + Identifier 2206897 2206909 + VariableStatement 2206911 2207048 + VariableDeclarationList 2206911 2207047 + VariableDeclaration 2206934 2207047 + Identifier 2206934 2206954 + CallExpression 2206956 2207047 + Identifier 2206956 2206980 + Identifier 2206981 2206985 + Identifier 2206986 2207001 + FalseKeyword 2207002 2207029 + Identifier 2207030 2207046 + IfStatement 2207048 2207725 + Identifier 2207070 2207089 + Block 2207090 2207629 + VariableStatement 2207092 2207201 + VariableDeclarationList 2207092 2207200 + VariableDeclaration 2207119 2207200 + Identifier 2207119 2207135 + CallExpression 2207137 2207200 + Identifier 2207137 2207150 + PropertyAccessExpression 2207151 2207174 + Identifier 2207151 2207162 + Identifier 2207163 2207174 + PropertyAccessExpression 2207175 2207199 + Identifier 2207175 2207194 + Identifier 2207195 2207199 + VariableStatement 2207201 2207334 + VariableDeclarationList 2207201 2207333 + VariableDeclaration 2207228 2207333 + Identifier 2207228 2207252 + CallExpression 2207254 2207333 + Identifier 2207254 2207292 + Identifier 2207293 2207299 + Identifier 2207300 2207315 + Identifier 2207316 2207332 + ExpressionStatement 2207334 2207409 + BinaryExpression 2207334 2207408 + PropertyAccessExpression 2207334 2207382 + PropertyAccessExpression 2207334 2207377 + Identifier 2207334 2207371 + Identifier 2207372 2207377 + Identifier 2207378 2207382 + EqualsToken 2207382 2207384 + Identifier 2207384 2207408 + ExpressionStatement 2207409 2207610 + BinaryExpression 2207409 2207609 + PropertyAccessExpression 2207409 2207454 + Identifier 2207409 2207440 + Identifier 2207441 2207454 + EqualsToken 2207454 2207456 + ConditionalExpression 2207456 2207609 + CallExpression 2207456 2207480 + Identifier 2207456 2207474 + Identifier 2207475 2207479 + QuestionToken 2207480 2207482 + CallExpression 2207482 2207583 + Identifier 2207482 2207496 + Identifier 2207497 2207501 + Identifier 2207502 2207526 + Identifier 2207527 2207543 + NumericLiteral 2207544 2207562 + FalseKeyword 2207563 2207582 + ColonToken 2207583 2207585 + Identifier 2207585 2207609 + Block 2207651 2207725 + ExpressionStatement 2207653 2207706 + BinaryExpression 2207653 2207705 + PropertyAccessExpression 2207653 2207698 + Identifier 2207653 2207684 + Identifier 2207685 2207698 + EqualsToken 2207698 2207700 + Identifier 2207700 2207705 + ReturnStatement 2207740 2207785 + PropertyAccessExpression 2207760 2207784 + Identifier 2207760 2207770 + Identifier 2207771 2207784 + ReturnStatement 2207796 2207818 + Identifier 2207812 2207817 + FunctionDeclaration 2207825 2209183 + Identifier 2207841 2207859 + Parameter 2207860 2207870 + Identifier 2207860 2207864 + TypeReference 2207865 2207870 + Identifier 2207865 2207870 + BooleanKeyword 2207872 2207880 + Block 2207880 2209183 + IfStatement 2207882 2208000 + PrefixUnaryExpression 2207896 2207959 + CallExpression 2207897 2207959 + Identifier 2207897 2207910 + Identifier 2207911 2207915 + TrueKeyword 2207916 2207958 + Block 2207960 2208000 + ReturnStatement 2207962 2207989 + FalseKeyword 2207982 2207988 + IfStatement 2208000 2208122 + PrefixUnaryExpression 2208070 2208100 + CallExpression 2208071 2208100 + Identifier 2208071 2208083 + PropertyAccessExpression 2208084 2208099 + Identifier 2208084 2208088 + Identifier 2208089 2208099 + ReturnStatement 2208101 2208122 + CallExpression 2208108 2208121 + PropertyAccessExpression 2208108 2208119 + Identifier 2208108 2208114 + Identifier 2208115 2208119 + VariableStatement 2208122 2208285 + VariableDeclarationList 2208122 2208284 + VariableDeclaration 2208137 2208284 + Identifier 2208137 2208153 + NonNullExpression 2208155 2208284 + CallExpression 2208155 2208283 + Identifier 2208155 2208167 + PropertyAccessExpression 2208168 2208183 + Identifier 2208168 2208172 + Identifier 2208173 2208183 + PropertyAccessExpression 2208184 2208212 + PropertyAccessExpression 2208184 2208200 + Identifier 2208184 2208189 + Identifier 2208190 2208200 + Identifier 2208201 2208212 + PropertyAccessExpression 2208213 2208231 + Identifier 2208213 2208225 + Identifier 2208226 2208231 + Identifier 2208232 2208266 + TrueKeyword 2208267 2208282 + IfStatement 2208285 2208390 + BinaryExpression 2208317 2208350 + Identifier 2208317 2208332 + EqualsEqualsEqualsToken 2208332 2208336 + Identifier 2208336 2208350 + Block 2208351 2208390 + ReturnStatement 2208353 2208379 + TrueKeyword 2208373 2208378 + IfStatement 2208390 2208589 + BinaryExpression 2208507 2208548 + PropertyAccessExpression 2208507 2208528 + Identifier 2208507 2208522 + Identifier 2208523 2208528 + AmpersandToken 2208528 2208530 + PropertyAccessExpression 2208530 2208548 + Identifier 2208530 2208542 + Identifier 2208543 2208548 + Block 2208549 2208589 + ReturnStatement 2208551 2208578 + FalseKeyword 2208571 2208577 + VariableStatement 2208589 2208862 + VariableDeclarationList 2208589 2208861 + VariableDeclaration 2208606 2208861 + Identifier 2208606 2208628 + ConditionalExpression 2208630 2208861 + BinaryExpression 2208630 2208675 + PropertyAccessExpression 2208630 2208652 + Identifier 2208630 2208646 + Identifier 2208647 2208652 + AmpersandToken 2208652 2208654 + PropertyAccessExpression 2208654 2208675 + Identifier 2208654 2208666 + Identifier 2208667 2208675 + QuestionToken 2208675 2208690 + PropertyAccessExpression 2208690 2208721 + Identifier 2208690 2208701 + Identifier 2208702 2208721 + ColonToken 2208721 2208736 + ConditionalExpression 2208736 2208861 + BinaryExpression 2208736 2208781 + PropertyAccessExpression 2208736 2208758 + Identifier 2208736 2208752 + Identifier 2208753 2208758 + AmpersandToken 2208758 2208760 + PropertyAccessExpression 2208760 2208781 + Identifier 2208760 2208772 + Identifier 2208773 2208781 + QuestionToken 2208781 2208796 + PropertyAccessExpression 2208796 2208827 + Identifier 2208796 2208807 + Identifier 2208808 2208827 + ColonToken 2208827 2208842 + PropertyAccessExpression 2208842 2208861 + Identifier 2208842 2208853 + Identifier 2208854 2208861 + IfStatement 2208862 2209153 + BinaryExpression 2208876 2208920 + Identifier 2208876 2208897 + ExclamationEqualsEqualsToken 2208897 2208901 + PropertyAccessExpression 2208901 2208920 + Identifier 2208901 2208912 + Identifier 2208913 2208920 + Block 2208921 2209153 + VariableStatement 2208923 2209012 + VariableDeclarationList 2208923 2209011 + VariableDeclaration 2208942 2209011 + Identifier 2208942 2208947 + NonNullExpression 2208949 2209011 + CallExpression 2208949 2209010 + Identifier 2208949 2208970 + Identifier 2208971 2208986 + Identifier 2208987 2209009 + ReturnStatement 2209012 2209142 + BinaryExpression 2209096 2209141 + PrefixUnaryExpression 2209096 2209103 + PrefixUnaryExpression 2209098 2209103 + Identifier 2209099 2209103 + AmpersandAmpersandToken 2209103 2209106 + PrefixUnaryExpression 2209106 2209141 + PrefixUnaryExpression 2209108 2209141 + ParenthesizedExpression 2209109 2209141 + BinaryExpression 2209110 2209140 + PropertyAccessExpression 2209110 2209120 + Identifier 2209110 2209114 + Identifier 2209115 2209120 + AmpersandToken 2209120 2209122 + PropertyAccessExpression 2209122 2209140 + Identifier 2209122 2209132 + Identifier 2209133 2209140 + ReturnStatement 2209153 2209176 + FalseKeyword 2209169 2209175 + FunctionDeclaration 2209183 2209717 + Identifier 2209199 2209229 + Parameter 2209230 2209260 + Identifier 2209230 2209234 + TypeReference 2209235 2209260 + Identifier 2209235 2209260 + TypeReference 2209262 2209267 + Identifier 2209262 2209267 + Block 2209267 2209717 + IfStatement 2209269 2209375 + PrefixUnaryExpression 2209283 2209321 + CallExpression 2209284 2209321 + Identifier 2209284 2209315 + Identifier 2209316 2209320 + ExpressionStatement 2209322 2209375 + CallExpression 2209322 2209374 + Identifier 2209322 2209348 + Identifier 2209349 2209353 + PropertyAccessExpression 2209354 2209373 + Identifier 2209354 2209359 + Identifier 2209360 2209373 + IfStatement 2209375 2209550 + BinaryExpression 2209389 2209451 + Identifier 2209389 2209404 + LessThanToken 2209404 2209406 + PropertyAccessExpression 2209406 2209451 + Identifier 2209406 2209435 + Identifier 2209436 2209451 + Block 2209452 2209550 + ExpressionStatement 2209454 2209539 + CallExpression 2209454 2209538 + Identifier 2209454 2209492 + Identifier 2209493 2209497 + PropertyAccessExpression 2209498 2209537 + Identifier 2209498 2209518 + Identifier 2209519 2209537 + VariableStatement 2209550 2209605 + VariableDeclarationList 2209550 2209604 + VariableDeclaration 2209565 2209604 + Identifier 2209565 2209575 + CallExpression 2209577 2209604 + Identifier 2209577 2209598 + Identifier 2209599 2209603 + ExpressionStatement 2209605 2209657 + CallExpression 2209605 2209656 + Identifier 2209605 2209639 + Identifier 2209640 2209649 + Identifier 2209650 2209655 + ReturnStatement 2209657 2209710 + CallExpression 2209673 2209709 + Identifier 2209673 2209698 + Identifier 2209699 2209708 + FunctionDeclaration 2209717 2210261 + Identifier 2209733 2209748 + Parameter 2209749 2209774 + Identifier 2209749 2209753 + TypeReference 2209754 2209774 + Identifier 2209754 2209774 + Parameter 2209775 2209808 + Identifier 2209775 2209785 + UnionType 2209786 2209808 + TypeReference 2209786 2209796 + Identifier 2209786 2209796 + UndefinedKeyword 2209798 2209808 + Block 2209809 2210261 + IfStatement 2209811 2210199 + BinaryExpression 2209825 2209873 + PropertyAccessExpression 2209825 2209834 + Identifier 2209825 2209829 + Identifier 2209830 2209834 + EqualsEqualsEqualsToken 2209834 2209838 + PropertyAccessExpression 2209838 2209873 + Identifier 2209838 2209849 + Identifier 2209850 2209873 + Block 2209874 2210199 + VariableStatement 2209876 2209929 + VariableDeclarationList 2209876 2209928 + VariableDeclaration 2209895 2209928 + Identifier 2209895 2209900 + CallExpression 2209902 2209928 + Identifier 2209902 2209922 + Identifier 2209923 2209927 + IfStatement 2209929 2210188 + BinaryExpression 2209947 2210022 + Identifier 2209947 2209951 + AmpersandAmpersandToken 2209951 2209954 + CallExpression 2209954 2210022 + Identifier 2209954 2209975 + PropertyAccessExpression 2209976 2209989 + Identifier 2209976 2209980 + Identifier 2209981 2209989 + ArrayLiteralExpression 2209990 2210021 + PropertyAccessExpression 2209992 2210005 + Identifier 2209992 2210001 + Identifier 2210002 2210005 + PropertyAccessExpression 2210006 2210020 + Identifier 2210006 2210016 + Identifier 2210017 2210020 + Block 2210023 2210188 + ExpressionStatement 2210025 2210173 + CallExpression 2210025 2210172 + Identifier 2210025 2210061 + Identifier 2210062 2210066 + PropertyAccessExpression 2210067 2210171 + Identifier 2210067 2210079 + Identifier 2210080 2210171 + ReturnStatement 2210199 2210254 + CallExpression 2210215 2210253 + Identifier 2210215 2210236 + Identifier 2210237 2210241 + Identifier 2210242 2210252 + FunctionDeclaration 2210261 2211887 + Identifier 2210277 2210307 + Parameter 2210308 2210318 + Identifier 2210308 2210312 + TypeReference 2210313 2210318 + Identifier 2210313 2210318 + BooleanKeyword 2210320 2210328 + Block 2210328 2211887 + SwitchStatement 2210330 2211857 + PropertyAccessExpression 2210348 2210357 + Identifier 2210348 2210352 + Identifier 2210353 2210357 + CaseBlock 2210358 2211857 + CaseClause 2210360 2210404 + PropertyAccessExpression 2210378 2210403 + Identifier 2210378 2210389 + Identifier 2210390 2210403 + CaseClause 2210404 2210464 + PropertyAccessExpression 2210422 2210463 + Identifier 2210422 2210433 + Identifier 2210434 2210463 + CaseClause 2210464 2210509 + PropertyAccessExpression 2210482 2210508 + Identifier 2210482 2210493 + Identifier 2210494 2210508 + CaseClause 2210509 2210553 + PropertyAccessExpression 2210527 2210552 + Identifier 2210527 2210538 + Identifier 2210539 2210552 + CaseClause 2210553 2210595 + PropertyAccessExpression 2210571 2210594 + Identifier 2210571 2210582 + Identifier 2210583 2210594 + CaseClause 2210595 2210638 + PropertyAccessExpression 2210613 2210637 + Identifier 2210613 2210624 + Identifier 2210625 2210637 + CaseClause 2210638 2210691 + PropertyAccessExpression 2210656 2210690 + Identifier 2210656 2210667 + Identifier 2210668 2210690 + CaseClause 2210691 2210745 + PropertyAccessExpression 2210709 2210744 + Identifier 2210709 2210720 + Identifier 2210721 2210744 + CaseClause 2210745 2210824 + PropertyAccessExpression 2210763 2210793 + Identifier 2210763 2210774 + Identifier 2210775 2210793 + ReturnStatement 2210794 2210824 + TrueKeyword 2210818 2210823 + CaseClause 2210824 2210979 + PropertyAccessExpression 2210842 2210877 + Identifier 2210842 2210853 + Identifier 2210854 2210877 + ReturnStatement 2210878 2210979 + CallExpression 2210902 2210978 + Identifier 2210902 2210932 + PropertyAccessExpression 2210933 2210977 + ParenthesizedExpression 2210933 2210966 + AsExpression 2210934 2210965 + Identifier 2210934 2210938 + TypeReference 2210941 2210965 + Identifier 2210941 2210965 + Identifier 2210967 2210977 + CaseClause 2210979 2211404 + PropertyAccessExpression 2210997 2211030 + Identifier 2210997 2211008 + Identifier 2211009 2211030 + VariableStatement 2211031 2211101 + VariableDeclarationList 2211031 2211100 + VariableDeclaration 2211054 2211100 + Identifier 2211054 2211057 + PropertyAccessExpression 2211059 2211100 + ParenthesizedExpression 2211059 2211091 + AsExpression 2211061 2211090 + Identifier 2211061 2211065 + TypeReference 2211068 2211090 + Identifier 2211068 2211090 + Identifier 2211092 2211100 + VariableStatement 2211101 2211171 + VariableDeclarationList 2211101 2211170 + VariableDeclaration 2211124 2211170 + Identifier 2211124 2211128 + PropertyAccessExpression 2211130 2211170 + ParenthesizedExpression 2211130 2211162 + AsExpression 2211132 2211161 + Identifier 2211132 2211136 + TypeReference 2211139 2211161 + Identifier 2211139 2211161 + Identifier 2211163 2211170 + ReturnStatement 2211171 2211404 + BinaryExpression 2211195 2211403 + BinaryExpression 2211195 2211309 + BinaryExpression 2211195 2211224 + Identifier 2211195 2211198 + EqualsEqualsEqualsToken 2211198 2211202 + PropertyAccessExpression 2211202 2211224 + Identifier 2211202 2211213 + Identifier 2211214 2211224 + AmpersandAmpersandToken 2211224 2211227 + ParenthesizedExpression 2211227 2211309 + BinaryExpression 2211229 2211308 + BinaryExpression 2211229 2211267 + PropertyAccessExpression 2211229 2211237 + Identifier 2211229 2211232 + Identifier 2211233 2211237 + EqualsEqualsEqualsToken 2211237 2211241 + PropertyAccessExpression 2211241 2211267 + Identifier 2211241 2211252 + Identifier 2211253 2211267 + BarBarToken 2211267 2211270 + BinaryExpression 2211270 2211308 + PropertyAccessExpression 2211270 2211279 + Identifier 2211270 2211274 + Identifier 2211275 2211279 + EqualsEqualsEqualsToken 2211279 2211283 + PropertyAccessExpression 2211283 2211308 + Identifier 2211283 2211294 + Identifier 2211295 2211308 + BarBarToken 2211309 2211312 + BinaryExpression 2211312 2211403 + BinaryExpression 2211312 2211361 + Identifier 2211312 2211336 + EqualsEqualsEqualsToken 2211336 2211340 + PropertyAccessExpression 2211340 2211361 + Identifier 2211340 2211351 + Identifier 2211352 2211361 + AmpersandAmpersandToken 2211361 2211364 + BinaryExpression 2211364 2211403 + PropertyAccessExpression 2211364 2211373 + Identifier 2211364 2211368 + Identifier 2211369 2211373 + EqualsEqualsEqualsToken 2211373 2211377 + PropertyAccessExpression 2211377 2211403 + Identifier 2211377 2211388 + Identifier 2211389 2211403 + CaseClause 2211404 2211459 + PropertyAccessExpression 2211422 2211458 + Identifier 2211422 2211433 + Identifier 2211434 2211458 + CaseClause 2211459 2211846 + PropertyAccessExpression 2211477 2211512 + Identifier 2211477 2211488 + Identifier 2211489 2211512 + VariableStatement 2211513 2211633 + VariableDeclarationList 2211513 2211632 + VariableDeclaration 2211536 2211632 + Identifier 2211536 2211541 + CallExpression 2211543 2211632 + Identifier 2211543 2211559 + PropertyAccessExpression 2211560 2211631 + ParenthesizedExpression 2211560 2211620 + AsExpression 2211561 2211619 + Identifier 2211561 2211565 + UnionType 2211568 2211619 + TypeReference 2211568 2211593 + Identifier 2211568 2211593 + TypeReference 2211595 2211619 + Identifier 2211595 2211619 + Identifier 2211621 2211631 + VariableStatement 2211633 2211775 + VariableDeclarationList 2211633 2211774 + VariableDeclaration 2211656 2211774 + Identifier 2211656 2211663 + ConditionalExpression 2211665 2211774 + CallExpression 2211665 2211694 + Identifier 2211665 2211688 + Identifier 2211689 2211693 + QuestionToken 2211694 2211696 + CallExpression 2211696 2211762 + Identifier 2211696 2211714 + Identifier 2211715 2211719 + PropertyAccessExpression 2211720 2211738 + Identifier 2211720 2211732 + Identifier 2211733 2211738 + TrueKeyword 2211739 2211761 + ColonToken 2211762 2211764 + Identifier 2211764 2211774 + ReturnStatement 2211775 2211846 + PrefixUnaryExpression 2211799 2211845 + PrefixUnaryExpression 2211801 2211845 + ParenthesizedExpression 2211802 2211845 + BinaryExpression 2211803 2211844 + Identifier 2211803 2211809 + AmpersandAmpersandToken 2211809 2211812 + BinaryExpression 2211812 2211844 + PropertyAccessExpression 2211812 2211825 + Identifier 2211812 2211819 + Identifier 2211820 2211825 + AmpersandToken 2211825 2211827 + PropertyAccessExpression 2211827 2211844 + Identifier 2211827 2211839 + Identifier 2211840 2211844 + ReturnStatement 2211857 2211880 + FalseKeyword 2211873 2211879 + FunctionDeclaration 2211887 2212721 + Identifier 2211903 2211924 + Parameter 2211925 2211971 + Identifier 2211925 2211929 + UnionType 2211930 2211971 + TypeReference 2211930 2211949 + Identifier 2211930 2211949 + TypeReference 2211951 2211971 + Identifier 2211951 2211971 + Parameter 2211972 2212005 + Identifier 2211972 2211982 + UnionType 2211983 2212005 + TypeReference 2211983 2211993 + Identifier 2211983 2211993 + UndefinedKeyword 2211995 2212005 + Block 2212006 2212721 + VariableStatement 2212008 2212083 + VariableDeclarationList 2212008 2212082 + VariableDeclaration 2212023 2212082 + ObjectBindingPattern 2212023 2212044 + BindingElement 2212025 2212030 + Identifier 2212025 2212030 + BindingElement 2212031 2212042 + Identifier 2212031 2212042 + CallExpression 2212046 2212082 + Identifier 2212046 2212076 + Identifier 2212077 2212081 + VariableStatement 2212083 2212149 + VariableDeclarationList 2212083 2212148 + VariableDeclaration 2212098 2212148 + Identifier 2212098 2212107 + CallExpression 2212109 2212148 + Identifier 2212109 2212125 + Identifier 2212126 2212136 + Identifier 2212137 2212147 + IfStatement 2212149 2212508 + CallExpression 2212163 2212189 + Identifier 2212163 2212183 + Identifier 2212184 2212188 + Block 2212190 2212508 + IfStatement 2212192 2212438 + PrefixUnaryExpression 2212210 2212252 + CallExpression 2212211 2212252 + Identifier 2212211 2212240 + Identifier 2212241 2212251 + Block 2212253 2212438 + ExpressionStatement 2212255 2212423 + CallExpression 2212255 2212422 + Identifier 2212255 2212278 + Identifier 2212279 2212289 + PropertyAccessExpression 2212290 2212421 + Identifier 2212290 2212302 + Identifier 2212303 2212421 + ReturnStatement 2212438 2212497 + CallExpression 2212458 2212496 + Identifier 2212458 2212486 + Identifier 2212487 2212495 + VariableStatement 2212508 2212551 + VariableDeclarationList 2212508 2212550 + VariableDeclaration 2212523 2212550 + Identifier 2212523 2212529 + CallExpression 2212531 2212550 + Identifier 2212531 2212544 + Identifier 2212545 2212549 + ExpressionStatement 2212551 2212602 + BinaryExpression 2212551 2212601 + PropertyAccessExpression 2212551 2212590 + Identifier 2212551 2212566 + Identifier 2212567 2212590 + EqualsToken 2212590 2212592 + Identifier 2212592 2212601 + ExpressionStatement 2212602 2212637 + CallExpression 2212602 2212636 + Identifier 2212602 2212630 + Identifier 2212631 2212635 + ExpressionStatement 2212637 2212671 + CallExpression 2212637 2212670 + Identifier 2212637 2212664 + Identifier 2212665 2212669 + ReturnStatement 2212671 2212714 + CallExpression 2212687 2212713 + Identifier 2212687 2212707 + Identifier 2212708 2212712 + FunctionDeclaration 2212721 2213356 + Identifier 2212737 2212767 + Parameter 2212768 2212814 + Identifier 2212768 2212772 + UnionType 2212773 2212814 + TypeReference 2212773 2212792 + Identifier 2212773 2212792 + TypeReference 2212794 2212814 + Identifier 2212794 2212814 + Block 2212815 2213356 + VariableStatement 2212817 2212846 + VariableDeclarationList 2212817 2212845 + VariableDeclaration 2212830 2212845 + Identifier 2212830 2212835 + TypeReference 2212836 2212845 + Identifier 2212836 2212845 + VariableStatement 2212846 2212883 + VariableDeclarationList 2212846 2212882 + VariableDeclaration 2212859 2212882 + Identifier 2212859 2212870 + TypeReference 2212871 2212882 + Identifier 2212871 2212882 + SwitchStatement 2212883 2213309 + PropertyAccessExpression 2212901 2212910 + Identifier 2212901 2212905 + Identifier 2212906 2212910 + CaseBlock 2212911 2213309 + CaseClause 2212913 2212956 + PropertyAccessExpression 2212931 2212955 + Identifier 2212931 2212942 + Identifier 2212943 2212955 + CaseClause 2212956 2213116 + PropertyAccessExpression 2212974 2213009 + Identifier 2212974 2212985 + Identifier 2212986 2213009 + ExpressionStatement 2213010 2213045 + BinaryExpression 2213010 2213044 + Identifier 2213010 2213032 + EqualsToken 2213032 2213034 + PropertyAccessExpression 2213034 2213044 + Identifier 2213034 2213039 + Identifier 2213040 2213044 + ExpressionStatement 2213045 2213092 + BinaryExpression 2213045 2213091 + Identifier 2213045 2213073 + EqualsToken 2213073 2213075 + PropertyAccessExpression 2213075 2213091 + Identifier 2213075 2213080 + Identifier 2213081 2213091 + BreakStatement 2213092 2213116 + CaseClause 2213116 2213298 + PropertyAccessExpression 2213134 2213169 + Identifier 2213134 2213145 + Identifier 2213146 2213169 + ExpressionStatement 2213170 2213227 + BinaryExpression 2213170 2213226 + Identifier 2213170 2213192 + EqualsToken 2213192 2213194 + CallExpression 2213194 2213226 + Identifier 2213194 2213220 + Identifier 2213221 2213225 + ExpressionStatement 2213227 2213274 + BinaryExpression 2213227 2213273 + Identifier 2213227 2213255 + EqualsToken 2213255 2213257 + PropertyAccessExpression 2213257 2213273 + Identifier 2213257 2213262 + Identifier 2213263 2213273 + BreakStatement 2213274 2213298 + ReturnStatement 2213309 2213349 + ObjectLiteralExpression 2213327 2213348 + ShorthandPropertyAssignment 2213329 2213334 + Identifier 2213329 2213334 + ShorthandPropertyAssignment 2213335 2213346 + Identifier 2213335 2213346 + FunctionDeclaration 2213356 2214379 + Identifier 2213372 2213395 + Parameter 2213396 2213442 + Identifier 2213396 2213400 + UnionType 2213401 2213442 + TypeReference 2213401 2213420 + Identifier 2213401 2213420 + TypeReference 2213422 2213442 + Identifier 2213422 2213442 + Block 2213443 2214379 + VariableStatement 2213445 2213508 + VariableDeclarationList 2213445 2213507 + VariableDeclaration 2213460 2213507 + ObjectBindingPattern 2213460 2213469 + BindingElement 2213462 2213467 + Identifier 2213462 2213467 + CallExpression 2213471 2213507 + Identifier 2213471 2213501 + Identifier 2213502 2213506 + VariableStatement 2213508 2213580 + VariableDeclarationList 2213508 2213579 + VariableDeclaration 2213523 2213579 + Identifier 2213523 2213531 + ConditionalExpression 2213533 2213579 + CallExpression 2213533 2213565 + Identifier 2213533 2213559 + Identifier 2213560 2213564 + QuestionToken 2213565 2213567 + Identifier 2213567 2213572 + ColonToken 2213572 2213574 + Identifier 2213574 2213579 + VariableStatement 2213580 2213623 + VariableDeclarationList 2213580 2213622 + VariableDeclaration 2213595 2213622 + Identifier 2213595 2213601 + CallExpression 2213603 2213622 + Identifier 2213603 2213616 + Identifier 2213617 2213621 + ExpressionStatement 2213623 2213686 + CallExpression 2213623 2213685 + PropertyAccessExpression 2213623 2213654 + Identifier 2213623 2213638 + Identifier 2213639 2213654 + PropertyAccessExpression 2213655 2213684 + Identifier 2213655 2213660 + Identifier 2213661 2213684 + VariableStatement 2213686 2213800 + VariableDeclarationList 2213686 2213799 + VariableDeclaration 2213701 2213799 + Identifier 2213701 2213710 + CallExpression 2213712 2213799 + Identifier 2213712 2213742 + CallExpression 2213743 2213798 + Identifier 2213743 2213767 + PropertyAccessExpression 2213768 2213797 + Identifier 2213768 2213773 + Identifier 2213774 2213797 + VariableStatement 2213800 2213855 + VariableDeclarationList 2213800 2213854 + VariableDeclaration 2213815 2213854 + Identifier 2213815 2213826 + CallExpression 2213828 2213854 + Identifier 2213828 2213848 + Identifier 2213849 2213853 + IfStatement 2213855 2214372 + PrefixUnaryExpression 2213869 2213893 + CallExpression 2213870 2213893 + Identifier 2213870 2213881 + Identifier 2213882 2213892 + Block 2213894 2214372 + ExpressionStatement 2213896 2214361 + CallExpression 2213896 2214360 + Identifier 2213896 2213927 + ArrowFunction 2213928 2214359 + EqualsGreaterThanToken 2213930 2213933 + Block 2213933 2214359 + VariableStatement 2213935 2213998 + VariableDeclarationList 2213935 2213997 + VariableDeclaration 2213958 2213997 + Identifier 2213958 2213970 + CallExpression 2213972 2213997 + Identifier 2213972 2213987 + Identifier 2213988 2213996 + IfStatement 2213998 2214344 + PrefixUnaryExpression 2214020 2214064 + CallExpression 2214021 2214064 + Identifier 2214021 2214039 + Identifier 2214040 2214050 + Identifier 2214051 2214063 + Block 2214065 2214344 + ExpressionStatement 2214067 2214325 + CallExpression 2214067 2214324 + Identifier 2214067 2214110 + Identifier 2214111 2214119 + Identifier 2214120 2214131 + Identifier 2214132 2214140 + PropertyAccessExpression 2214141 2214323 + Identifier 2214141 2214153 + Identifier 2214154 2214323 + FunctionDeclaration 2214379 2214707 + Identifier 2214395 2214413 + Parameter 2214414 2214432 + Identifier 2214414 2214418 + TypeReference 2214419 2214432 + Identifier 2214419 2214432 + Block 2214433 2214707 + VariableStatement 2214435 2214495 + VariableDeclarationList 2214435 2214494 + VariableDeclaration 2214450 2214494 + Identifier 2214450 2214459 + CallExpression 2214461 2214494 + Identifier 2214461 2214477 + PropertyAccessExpression 2214478 2214493 + Identifier 2214478 2214482 + Identifier 2214483 2214493 + VariableStatement 2214495 2214582 + VariableDeclarationList 2214495 2214581 + VariableDeclaration 2214510 2214581 + Identifier 2214510 2214526 + CallExpression 2214528 2214581 + Identifier 2214528 2214554 + Identifier 2214555 2214563 + PropertyAccessExpression 2214564 2214580 + Identifier 2214564 2214569 + Identifier 2214570 2214580 + ReturnStatement 2214582 2214700 + CallExpression 2214598 2214699 + Identifier 2214598 2214626 + CallExpression 2214627 2214662 + Identifier 2214627 2214645 + Identifier 2214646 2214661 + Identifier 2214663 2214668 + BinaryExpression 2214669 2214698 + Identifier 2214669 2214685 + ExclamationEqualsEqualsToken 2214685 2214689 + Identifier 2214689 2214698 + FunctionDeclaration 2214707 2214943 + Identifier 2214723 2214745 + Parameter 2214746 2214769 + Identifier 2214746 2214750 + TypeReference 2214751 2214769 + Identifier 2214751 2214769 + Block 2214770 2214943 + ReturnStatement 2214772 2214936 + ConditionalExpression 2214788 2214935 + BinaryExpression 2214788 2214825 + PropertyAccessExpression 2214788 2214799 + Identifier 2214788 2214793 + Identifier 2214794 2214799 + AmpersandToken 2214799 2214801 + PropertyAccessExpression 2214801 2214825 + Identifier 2214801 2214811 + Identifier 2214812 2214825 + QuestionToken 2214825 2214827 + CallExpression 2214827 2214867 + Identifier 2214827 2214845 + AsExpression 2214846 2214866 + Identifier 2214846 2214850 + TypeReference 2214853 2214866 + Identifier 2214853 2214866 + ColonToken 2214867 2214869 + CallExpression 2214869 2214935 + Identifier 2214869 2214901 + CallExpression 2214902 2214934 + Identifier 2214902 2214917 + PropertyAccessExpression 2214918 2214933 + Identifier 2214918 2214922 + Identifier 2214923 2214933 + FunctionDeclaration 2214943 2215986 + Identifier 2214959 2214992 + Parameter 2214993 2215042 + Identifier 2214993 2214997 + UnionType 2214998 2215042 + TypeReference 2214998 2215026 + Identifier 2214998 2215026 + TypeReference 2215028 2215042 + Identifier 2215028 2215042 + Block 2215043 2215986 + ExpressionStatement 2215045 2215101 + CallExpression 2215045 2215100 + Identifier 2215045 2215094 + Identifier 2215095 2215099 + ExpressionStatement 2215101 2215159 + CallExpression 2215101 2215158 + Identifier 2215101 2215118 + PropertyAccessExpression 2215119 2215137 + Identifier 2215119 2215123 + Identifier 2215124 2215137 + Identifier 2215138 2215157 + IfStatement 2215159 2215670 + BinaryExpression 2215173 2215225 + PropertyAccessExpression 2215173 2215182 + Identifier 2215173 2215177 + Identifier 2215178 2215182 + EqualsEqualsEqualsToken 2215182 2215186 + PropertyAccessExpression 2215186 2215225 + Identifier 2215186 2215197 + Identifier 2215198 2215225 + Block 2215226 2215670 + VariableStatement 2215228 2215301 + VariableDeclarationList 2215228 2215300 + VariableDeclaration 2215247 2215300 + Identifier 2215247 2215254 + CallExpression 2215256 2215300 + Identifier 2215256 2215287 + PropertyAccessExpression 2215288 2215299 + Identifier 2215288 2215292 + Identifier 2215293 2215299 + IfStatement 2215301 2215659 + BinaryExpression 2215319 2215510 + BinaryExpression 2215319 2215446 + BinaryExpression 2215319 2215362 + PropertyAccessExpression 2215319 2215330 + Identifier 2215319 2215325 + Identifier 2215326 2215330 + EqualsEqualsEqualsToken 2215330 2215334 + PropertyAccessExpression 2215334 2215362 + Identifier 2215334 2215345 + Identifier 2215346 2215362 + AmpersandAmpersandToken 2215362 2215365 + BinaryExpression 2215365 2215446 + PropertyAccessExpression 2215365 2215413 + PropertyAccessExpression 2215365 2215408 + ParenthesizedExpression 2215365 2215394 + AsExpression 2215367 2215393 + Identifier 2215367 2215373 + TypeReference 2215376 2215393 + Identifier 2215376 2215393 + Identifier 2215395 2215408 + Identifier 2215409 2215413 + EqualsEqualsEqualsToken 2215413 2215417 + PropertyAccessExpression 2215417 2215446 + Identifier 2215417 2215428 + Identifier 2215429 2215446 + AmpersandAmpersandToken 2215446 2215449 + CallExpression 2215449 2215510 + Identifier 2215449 2215468 + Identifier 2215469 2215473 + PropertyAccessExpression 2215474 2215509 + ParenthesizedExpression 2215474 2215503 + AsExpression 2215476 2215502 + Identifier 2215476 2215482 + TypeReference 2215485 2215502 + Identifier 2215485 2215502 + Identifier 2215504 2215509 + Block 2215511 2215659 + ExpressionStatement 2215513 2215644 + CallExpression 2215513 2215643 + Identifier 2215513 2215536 + Identifier 2215537 2215541 + PropertyAccessExpression 2215542 2215642 + Identifier 2215542 2215554 + Identifier 2215555 2215642 + VariableStatement 2215670 2215915 + VariableDeclarationList 2215670 2215914 + VariableDeclaration 2215685 2215914 + Identifier 2215685 2215694 + ConditionalExpression 2215696 2215914 + BinaryExpression 2215696 2215749 + PropertyAccessExpression 2215696 2215706 + Identifier 2215696 2215701 + Identifier 2215702 2215706 + EqualsEqualsEqualsToken 2215706 2215710 + PropertyAccessExpression 2215710 2215749 + Identifier 2215710 2215721 + Identifier 2215722 2215749 + QuestionToken 2215749 2215751 + CallExpression 2215751 2215784 + Identifier 2215751 2215767 + PropertyAccessExpression 2215768 2215783 + Identifier 2215768 2215772 + Identifier 2215773 2215783 + ColonToken 2215784 2215786 + ConditionalExpression 2215786 2215914 + CallExpression 2215786 2215831 + Identifier 2215786 2215816 + PropertyAccessExpression 2215817 2215830 + Identifier 2215817 2215821 + Identifier 2215822 2215830 + QuestionToken 2215831 2215833 + CallExpression 2215833 2215868 + Identifier 2215833 2215853 + PropertyAccessExpression 2215854 2215867 + Identifier 2215854 2215858 + Identifier 2215859 2215867 + ColonToken 2215868 2215870 + CallExpression 2215870 2215914 + Identifier 2215870 2215899 + PropertyAccessExpression 2215900 2215913 + Identifier 2215900 2215904 + Identifier 2215905 2215913 + ReturnStatement 2215915 2215979 + CallExpression 2215931 2215978 + Identifier 2215931 2215962 + Identifier 2215963 2215971 + Identifier 2215972 2215977 + FunctionDeclaration 2215986 2220244 + Identifier 2216002 2216033 + Parameter 2216034 2216048 + Identifier 2216034 2216042 + TypeReference 2216043 2216048 + Identifier 2216043 2216048 + Parameter 2216049 2216077 + Identifier 2216049 2216054 + TypeReference 2216055 2216077 + Identifier 2216055 2216077 + Block 2216078 2220244 + VariableStatement 2216080 2216131 + VariableDeclarationList 2216080 2216130 + VariableDeclaration 2216095 2216130 + Identifier 2216095 2216109 + PropertyAccessExpression 2216111 2216130 + Identifier 2216111 2216116 + Identifier 2216117 2216130 + IfStatement 2216131 2216266 + BinaryExpression 2216145 2216222 + BinaryExpression 2216145 2216198 + BinaryExpression 2216145 2216173 + Identifier 2216145 2216153 + EqualsEqualsEqualsToken 2216153 2216157 + Identifier 2216157 2216173 + BarBarToken 2216173 2216176 + CallExpression 2216176 2216198 + Identifier 2216176 2216188 + Identifier 2216189 2216197 + BarBarToken 2216198 2216201 + PrefixUnaryExpression 2216201 2216222 + CallExpression 2216203 2216222 + Identifier 2216203 2216207 + Identifier 2216208 2216221 + Block 2216223 2216266 + ReturnStatement 2216225 2216255 + Identifier 2216245 2216254 + VariableStatement 2216266 2216309 + VariableDeclarationList 2216266 2216308 + VariableDeclaration 2216281 2216308 + Identifier 2216281 2216287 + CallExpression 2216289 2216308 + Identifier 2216289 2216302 + Identifier 2216303 2216307 + IfStatement 2216309 2216433 + PrefixUnaryExpression 2216323 2216358 + PropertyAccessExpression 2216324 2216358 + Identifier 2216324 2216329 + Identifier 2216330 2216358 + Block 2216359 2216433 + ExpressionStatement 2216361 2216422 + BinaryExpression 2216361 2216421 + PropertyAccessExpression 2216361 2216409 + Identifier 2216361 2216380 + Identifier 2216381 2216409 + EqualsToken 2216409 2216411 + NewExpression 2216411 2216421 + Identifier 2216415 2216419 + IfStatement 2216433 2216586 + CallExpression 2216447 2216498 + PropertyAccessExpression 2216447 2216485 + PropertyAccessExpression 2216447 2216481 + Identifier 2216447 2216452 + Identifier 2216453 2216481 + Identifier 2216482 2216485 + PropertyAccessExpression 2216486 2216497 + Identifier 2216486 2216494 + Identifier 2216495 2216497 + Block 2216499 2216586 + ReturnStatement 2216501 2216575 + NonNullExpression 2216521 2216574 + CallExpression 2216521 2216573 + PropertyAccessExpression 2216521 2216560 + PropertyAccessExpression 2216521 2216556 + Identifier 2216521 2216527 + Identifier 2216528 2216556 + Identifier 2216557 2216560 + PropertyAccessExpression 2216561 2216572 + Identifier 2216561 2216569 + Identifier 2216570 2216572 + VariableStatement 2216586 2216635 + VariableDeclarationList 2216586 2216634 + VariableDeclaration 2216599 2216634 + Identifier 2216599 2216626 + FalseKeyword 2216628 2216634 + VariableStatement 2216635 2216685 + VariableDeclarationList 2216635 2216684 + VariableDeclaration 2216648 2216684 + Identifier 2216648 2216666 + UnionType 2216667 2216684 + TypeReference 2216667 2216672 + Identifier 2216667 2216672 + UndefinedKeyword 2216674 2216684 + VariableStatement 2216685 2216740 + VariableDeclarationList 2216685 2216739 + VariableDeclaration 2216700 2216739 + Identifier 2216700 2216707 + CallExpression 2216709 2216739 + Identifier 2216709 2216729 + Identifier 2216730 2216738 + ExpressionStatement 2216740 2216810 + CallExpression 2216740 2216809 + PropertyAccessExpression 2216740 2216788 + PropertyAccessExpression 2216740 2216784 + Identifier 2216740 2216755 + Identifier 2216756 2216784 + Identifier 2216785 2216788 + PropertyAccessExpression 2216789 2216800 + Identifier 2216789 2216797 + Identifier 2216798 2216800 + Identifier 2216801 2216808 + VariableStatement 2216810 2216896 + VariableDeclarationList 2216810 2216895 + VariableDeclaration 2216825 2216895 + Identifier 2216825 2216835 + ConditionalExpression 2216837 2216895 + Identifier 2216837 2216864 + QuestionToken 2216864 2216866 + Identifier 2216866 2216884 + ColonToken 2216884 2216886 + Identifier 2216886 2216895 + IfStatement 2216896 2217145 + Identifier 2216910 2216919 + Block 2216920 2217145 + ExpressionStatement 2216922 2217134 + CallExpression 2216922 2217133 + PropertyAccessExpression 2216922 2216951 + Identifier 2216922 2216947 + Identifier 2216948 2216951 + CallExpression 2216952 2217132 + Identifier 2216952 2216980 + CallExpression 2216981 2217006 + Identifier 2216981 2217000 + Identifier 2217001 2217005 + Identifier 2217007 2217021 + PropertyAccessExpression 2217022 2217106 + Identifier 2217022 2217034 + Identifier 2217035 2217106 + CallExpression 2217107 2217131 + Identifier 2217107 2217120 + Identifier 2217121 2217130 + ReturnStatement 2217145 2217169 + Identifier 2217161 2217168 + FunctionDeclaration 2217169 2219689 + Identifier 2217189 2217209 + Parameter 2217210 2217220 + Identifier 2217210 2217214 + TypeReference 2217215 2217220 + Identifier 2217215 2217220 + TypeReference 2217222 2217227 + Identifier 2217222 2217227 + Block 2217227 2219689 + VariableStatement 2217229 2217269 + VariableDeclarationList 2217229 2217268 + VariableDeclaration 2217246 2217268 + Identifier 2217246 2217260 + FalseKeyword 2217262 2217268 + VariableStatement 2217269 2217318 + VariableDeclarationList 2217269 2217317 + VariableDeclaration 2217286 2217317 + Identifier 2217286 2217309 + FalseKeyword 2217311 2217317 + VariableStatement 2217318 2217377 + VariableDeclarationList 2217318 2217376 + VariableDeclaration 2217337 2217376 + Identifier 2217337 2217344 + CallExpression 2217346 2217376 + Identifier 2217346 2217370 + Identifier 2217371 2217375 + ExpressionStatement 2217377 2217445 + BinaryExpression 2217377 2217444 + Identifier 2217377 2217417 + BarBarEqualsToken 2217417 2217421 + Identifier 2217421 2217444 + IfStatement 2217445 2217566 + BinaryExpression 2217463 2217503 + Identifier 2217463 2217476 + AmpersandAmpersandToken 2217476 2217479 + PrefixUnaryExpression 2217479 2217503 + Identifier 2217481 2217503 + Block 2217504 2217566 + ExpressionStatement 2217506 2217551 + BinaryExpression 2217506 2217550 + Identifier 2217506 2217541 + QuestionQuestionEqualsToken 2217541 2217545 + Identifier 2217545 2217550 + ReturnStatement 2217566 2217594 + Identifier 2217586 2217593 + FunctionDeclaration 2217594 2219678 + Identifier 2217618 2217642 + Parameter 2217643 2217653 + Identifier 2217643 2217647 + TypeReference 2217648 2217653 + Identifier 2217648 2217653 + TypeReference 2217655 2217660 + Identifier 2217655 2217660 + Block 2217660 2219678 + IfStatement 2217662 2219633 + BinaryExpression 2217684 2217713 + PropertyAccessExpression 2217684 2217694 + Identifier 2217684 2217688 + Identifier 2217689 2217694 + AmpersandToken 2217694 2217696 + PropertyAccessExpression 2217696 2217713 + Identifier 2217696 2217706 + Identifier 2217707 2217713 + Block 2217714 2218842 + VariableStatement 2217716 2217804 + VariableDeclarationList 2217716 2217803 + VariableDeclaration 2217743 2217803 + Identifier 2217743 2217752 + CallExpression 2217754 2217803 + Identifier 2217754 2217783 + AsExpression 2217784 2217802 + Identifier 2217784 2217788 + TypeReference 2217791 2217802 + Identifier 2217791 2217802 + VariableStatement 2217804 2217900 + VariableDeclarationList 2217804 2217899 + VariableDeclaration 2217831 2217899 + Identifier 2217831 2217846 + CallExpression 2217848 2217899 + Identifier 2217848 2217874 + PropertyAccessExpression 2217875 2217898 + Identifier 2217875 2217883 + Identifier 2217884 2217898 + VariableStatement 2217900 2218006 + VariableDeclarationList 2217900 2218005 + VariableDeclaration 2217927 2218005 + Identifier 2217927 2217947 + CallExpression 2217949 2218005 + Identifier 2217949 2217975 + PropertyAccessExpression 2217976 2218004 + Identifier 2217976 2217984 + Identifier 2217985 2218004 + ExpressionStatement 2218006 2218128 + BinaryExpression 2218006 2218127 + Identifier 2218006 2218041 + BarBarEqualsToken 2218041 2218045 + BinaryExpression 2218045 2218127 + BinaryExpression 2218045 2218082 + PropertyAccessExpression 2218045 2218076 + PropertyAccessExpression 2218045 2218069 + Identifier 2218045 2218054 + Identifier 2218055 2218069 + Identifier 2218070 2218076 + ExclamationEqualsEqualsToken 2218076 2218080 + NumericLiteral 2218080 2218082 + BarBarToken 2218082 2218085 + BinaryExpression 2218085 2218127 + PropertyAccessExpression 2218085 2218121 + PropertyAccessExpression 2218085 2218114 + Identifier 2218085 2218094 + Identifier 2218095 2218114 + Identifier 2218115 2218121 + ExclamationEqualsEqualsToken 2218121 2218125 + NumericLiteral 2218125 2218127 + ExpressionStatement 2218128 2218241 + BinaryExpression 2218128 2218240 + Identifier 2218128 2218172 + BarBarEqualsToken 2218172 2218176 + BinaryExpression 2218176 2218240 + BinaryExpression 2218176 2218204 + PropertyAccessExpression 2218176 2218198 + Identifier 2218176 2218191 + Identifier 2218192 2218198 + ExclamationEqualsEqualsToken 2218198 2218202 + NumericLiteral 2218202 2218204 + BarBarToken 2218204 2218207 + BinaryExpression 2218207 2218240 + PropertyAccessExpression 2218207 2218234 + Identifier 2218207 2218227 + Identifier 2218228 2218234 + ExclamationEqualsEqualsToken 2218234 2218238 + NumericLiteral 2218238 2218240 + IfStatement 2218241 2218823 + BinaryExpression 2218267 2218365 + BinaryExpression 2218267 2218309 + Identifier 2218267 2218281 + ExclamationEqualsEqualsToken 2218281 2218285 + PropertyAccessExpression 2218285 2218309 + Identifier 2218285 2218294 + Identifier 2218295 2218309 + BarBarToken 2218309 2218312 + BinaryExpression 2218312 2218365 + Identifier 2218312 2218332 + ExclamationEqualsEqualsToken 2218332 2218336 + PropertyAccessExpression 2218336 2218365 + Identifier 2218336 2218345 + Identifier 2218346 2218365 + Block 2218366 2218823 + VariableStatement 2218368 2218627 + VariableDeclarationList 2218368 2218626 + VariableDeclaration 2218399 2218626 + Identifier 2218399 2218406 + AsExpression 2218408 2218626 + CallExpression 2218408 2218580 + Identifier 2218408 2218428 + CallExpression 2218429 2218503 + Identifier 2218429 2218441 + PropertyAccessExpression 2218442 2218458 + Identifier 2218442 2218453 + Identifier 2218454 2218458 + PropertyAccessExpression 2218459 2218502 + Identifier 2218459 2218478 + Identifier 2218479 2218502 + PropertyAccessExpression 2218504 2218521 + Identifier 2218504 2218513 + Identifier 2218514 2218521 + Identifier 2218522 2218537 + Identifier 2218538 2218558 + PropertyAccessExpression 2218559 2218579 + Identifier 2218559 2218568 + Identifier 2218569 2218579 + IntersectionType 2218583 2218626 + TypeReference 2218583 2218596 + Identifier 2218583 2218596 + TypeReference 2218598 2218626 + Identifier 2218598 2218626 + ExpressionStatement 2218627 2218715 + BinaryExpression 2218627 2218714 + PropertyAccessExpression 2218627 2218671 + Identifier 2218627 2218659 + Identifier 2218660 2218671 + BarEqualsToken 2218671 2218674 + PropertyAccessExpression 2218674 2218714 + Identifier 2218674 2218686 + Identifier 2218687 2218714 + ExpressionStatement 2218715 2218760 + BinaryExpression 2218715 2218759 + PropertyAccessExpression 2218715 2218752 + Identifier 2218715 2218747 + Identifier 2218748 2218752 + EqualsToken 2218752 2218754 + Identifier 2218754 2218759 + ReturnStatement 2218760 2218800 + Identifier 2218792 2218799 + IfStatement 2218864 2219633 + BinaryExpression 2218869 2218916 + PropertyAccessExpression 2218869 2218879 + Identifier 2218869 2218873 + Identifier 2218874 2218879 + AmpersandToken 2218879 2218881 + PropertyAccessExpression 2218881 2218916 + Identifier 2218881 2218891 + Identifier 2218892 2218916 + Block 2218917 2219291 + VariableStatement 2218919 2218990 + VariableDeclarationList 2218919 2218989 + VariableDeclaration 2218946 2218989 + Identifier 2218946 2218957 + CallExpression 2218959 2218989 + Identifier 2218959 2218983 + Identifier 2218984 2218988 + IfStatement 2218990 2219272 + Identifier 2219016 2219026 + Block 2219027 2219272 + VariableStatement 2219029 2219112 + VariableDeclarationList 2219029 2219111 + VariableDeclaration 2219060 2219111 + Identifier 2219060 2219073 + CallExpression 2219075 2219111 + Identifier 2219075 2219099 + Identifier 2219100 2219110 + IfStatement 2219112 2219249 + BinaryExpression 2219142 2219169 + Identifier 2219142 2219154 + ExclamationEqualsEqualsToken 2219154 2219158 + Identifier 2219158 2219169 + Block 2219170 2219249 + ReturnStatement 2219172 2219222 + Identifier 2219208 2219221 + IfStatement 2219313 2219633 + BinaryExpression 2219318 2219346 + PropertyAccessExpression 2219318 2219328 + Identifier 2219318 2219322 + Identifier 2219323 2219328 + AmpersandToken 2219328 2219330 + PropertyAccessExpression 2219330 2219346 + Identifier 2219330 2219340 + Identifier 2219341 2219346 + Block 2219347 2219432 + ReturnStatement 2219349 2219413 + CallExpression 2219377 2219412 + Identifier 2219377 2219385 + Identifier 2219386 2219390 + Identifier 2219391 2219411 + IfStatement 2219454 2219633 + BinaryExpression 2219459 2219494 + PropertyAccessExpression 2219459 2219469 + Identifier 2219459 2219463 + Identifier 2219464 2219469 + AmpersandToken 2219469 2219471 + PropertyAccessExpression 2219471 2219494 + Identifier 2219471 2219481 + Identifier 2219482 2219494 + Block 2219495 2219633 + ReturnStatement 2219497 2219614 + CallExpression 2219525 2219613 + Identifier 2219525 2219545 + CallExpression 2219546 2219612 + Identifier 2219546 2219553 + PropertyAccessExpression 2219554 2219586 + ParenthesizedExpression 2219554 2219580 + AsExpression 2219555 2219579 + Identifier 2219555 2219559 + TypeReference 2219562 2219579 + Identifier 2219562 2219579 + Identifier 2219581 2219586 + Identifier 2219587 2219611 + ReturnStatement 2219633 2219663 + Identifier 2219657 2219662 + FunctionDeclaration 2219689 2220237 + Identifier 2219709 2219735 + Parameter 2219736 2219768 + Identifier 2219736 2219746 + TypeOperator 2219747 2219768 + ArrayType 2219756 2219768 + TypeReference 2219756 2219766 + Identifier 2219756 2219766 + Block 2219769 2220237 + VariableStatement 2219771 2219913 + VariableDeclarationList 2219771 2219912 + VariableDeclaration 2219790 2219912 + Identifier 2219790 2219811 + CallExpression 2219813 2219912 + Identifier 2219813 2219820 + Identifier 2219821 2219831 + ArrowFunction 2219832 2219911 + Parameter 2219832 2219836 + Identifier 2219832 2219836 + EqualsGreaterThanToken 2219836 2219839 + BinaryExpression 2219839 2219911 + PrefixUnaryExpression 2219839 2219860 + PrefixUnaryExpression 2219841 2219860 + PropertyAccessExpression 2219842 2219860 + Identifier 2219842 2219845 + Identifier 2219846 2219860 + AmpersandAmpersandToken 2219860 2219863 + CallExpression 2219863 2219911 + Identifier 2219863 2219891 + Identifier 2219892 2219895 + Identifier 2219896 2219910 + ReturnStatement 2219913 2220226 + CallExpression 2219933 2220225 + Identifier 2219933 2219941 + Identifier 2219942 2219962 + ArrowFunction 2219963 2220224 + Parameter 2219963 2219967 + Identifier 2219963 2219967 + EqualsGreaterThanToken 2219967 2219970 + Block 2219970 2220224 + VariableStatement 2219972 2220079 + VariableDeclarationList 2219972 2220078 + VariableDeclaration 2219995 2220078 + Identifier 2219995 2220013 + CallExpression 2220015 2220078 + Identifier 2220015 2220034 + Identifier 2220035 2220038 + NonNullExpression 2220039 2220054 + Identifier 2220039 2220053 + TrueKeyword 2220055 2220077 + ReturnStatement 2220079 2220209 + ConditionalExpression 2220103 2220208 + Identifier 2220103 2220121 + QuestionToken 2220121 2220123 + CallExpression 2220123 2220202 + Identifier 2220123 2220149 + Identifier 2220150 2220153 + Identifier 2220154 2220172 + CallExpression 2220173 2220201 + Identifier 2220173 2220184 + PropertyAccessExpression 2220185 2220200 + Identifier 2220185 2220188 + Identifier 2220189 2220200 + ColonToken 2220202 2220204 + Identifier 2220204 2220208 + FunctionDeclaration 2220244 2220437 + Identifier 2220260 2220285 + Parameter 2220286 2220311 + Identifier 2220286 2220290 + TypeReference 2220291 2220311 + Identifier 2220291 2220311 + Block 2220312 2220437 + ExpressionStatement 2220314 2220354 + CallExpression 2220314 2220353 + Identifier 2220314 2220342 + PropertyAccessExpression 2220343 2220352 + Identifier 2220343 2220347 + Identifier 2220348 2220352 + ReturnStatement 2220354 2220430 + CallExpression 2220370 2220429 + Identifier 2220370 2220401 + PropertyAccessExpression 2220402 2220417 + Identifier 2220402 2220406 + Identifier 2220407 2220417 + PropertyAccessExpression 2220418 2220428 + Identifier 2220418 2220423 + Identifier 2220424 2220428 + FunctionDeclaration 2220437 2221093 + Identifier 2220453 2220484 + Parameter 2220485 2220507 + Identifier 2220485 2220495 + TypeReference 2220496 2220507 + Identifier 2220496 2220507 + Parameter 2220508 2220525 + Identifier 2220508 2220515 + TypeReference 2220516 2220525 + Identifier 2220516 2220525 + Parameter 2220526 2220548 + Identifier 2220526 2220536 + QuestionToken 2220536 2220537 + TypeReference 2220538 2220548 + Identifier 2220538 2220548 + Block 2220549 2221093 + VariableStatement 2220551 2220617 + VariableDeclarationList 2220551 2220616 + VariableDeclaration 2220566 2220616 + Identifier 2220566 2220575 + CallExpression 2220577 2220616 + Identifier 2220577 2220593 + Identifier 2220594 2220604 + Identifier 2220605 2220615 + VariableStatement 2220617 2220674 + VariableDeclarationList 2220617 2220673 + VariableDeclaration 2220632 2220673 + Identifier 2220632 2220643 + CallExpression 2220645 2220673 + Identifier 2220645 2220665 + Identifier 2220666 2220672 + IfStatement 2220674 2220757 + CallExpression 2220688 2220711 + Identifier 2220688 2220699 + Identifier 2220700 2220710 + Block 2220712 2220757 + ReturnStatement 2220714 2220746 + Identifier 2220734 2220745 + VariableStatement 2220757 2220904 + VariableDeclarationList 2220757 2220903 + VariableDeclaration 2220772 2220903 + Identifier 2220772 2220782 + CallExpression 2220784 2220903 + Identifier 2220784 2220797 + PropertyAccessExpression 2220798 2220811 + Identifier 2220798 2220804 + Identifier 2220805 2220811 + ArrowFunction 2220812 2220902 + Parameter 2220812 2220814 + Identifier 2220812 2220814 + EqualsGreaterThanToken 2220814 2220817 + BinaryExpression 2220817 2220902 + BinaryExpression 2220817 2220859 + PropertyAccessExpression 2220817 2220824 + Identifier 2220817 2220819 + Identifier 2220820 2220824 + EqualsEqualsEqualsToken 2220824 2220828 + PropertyAccessExpression 2220828 2220859 + Identifier 2220828 2220839 + Identifier 2220840 2220859 + BarBarToken 2220859 2220862 + BinaryExpression 2220862 2220902 + PropertyAccessExpression 2220862 2220869 + Identifier 2220862 2220864 + Identifier 2220865 2220869 + EqualsEqualsEqualsToken 2220869 2220873 + PropertyAccessExpression 2220873 2220902 + Identifier 2220873 2220884 + Identifier 2220885 2220902 + ExpressionStatement 2220904 2221060 + CallExpression 2220904 2221059 + Identifier 2220904 2220957 + Identifier 2220958 2220966 + Identifier 2220967 2220978 + Identifier 2220979 2220989 + Identifier 2220990 2221001 + PropertyAccessExpression 2221002 2221058 + Identifier 2221002 2221014 + Identifier 2221015 2221058 + ReturnStatement 2221060 2221086 + Identifier 2221076 2221085 + FunctionDeclaration 2221093 2221513 + Identifier 2221109 2221127 + Parameter 2221128 2221146 + Identifier 2221128 2221132 + TypeReference 2221133 2221146 + Identifier 2221133 2221146 + TypeReference 2221148 2221153 + Identifier 2221148 2221153 + Block 2221153 2221513 + ExpressionStatement 2221155 2221196 + CallExpression 2221155 2221195 + Identifier 2221155 2221189 + Identifier 2221190 2221194 + IfStatement 2221196 2221323 + BinaryExpression 2221212 2221255 + PropertyAccessExpression 2221212 2221229 + Identifier 2221212 2221216 + Identifier 2221217 2221229 + EqualsEqualsEqualsToken 2221229 2221233 + PropertyAccessExpression 2221233 2221255 + Identifier 2221233 2221244 + Identifier 2221245 2221255 + Block 2221256 2221323 + ReturnStatement 2221258 2221312 + CallExpression 2221278 2221311 + Identifier 2221278 2221305 + Identifier 2221306 2221310 + IfStatement 2221323 2221450 + BinaryExpression 2221339 2221385 + PropertyAccessExpression 2221339 2221356 + Identifier 2221339 2221343 + Identifier 2221344 2221356 + EqualsEqualsEqualsToken 2221356 2221360 + PropertyAccessExpression 2221360 2221385 + Identifier 2221360 2221371 + Identifier 2221372 2221385 + Block 2221386 2221450 + ReturnStatement 2221388 2221439 + CallExpression 2221408 2221438 + Identifier 2221408 2221432 + Identifier 2221433 2221437 + ReturnStatement 2221450 2221506 + CallExpression 2221468 2221505 + PropertyAccessExpression 2221468 2221486 + Identifier 2221468 2221474 + Identifier 2221475 2221486 + PropertyAccessExpression 2221487 2221504 + Identifier 2221487 2221491 + Identifier 2221492 2221504 + FunctionDeclaration 2221513 2222018 + Identifier 2221529 2221554 + Parameter 2221555 2221573 + Identifier 2221555 2221559 + TypeReference 2221560 2221573 + Identifier 2221560 2221573 + TypeReference 2221575 2221580 + Identifier 2221575 2221580 + Block 2221580 2222018 + SwitchStatement 2221582 2222011 + PropertyAccessExpression 2221600 2221617 + Identifier 2221600 2221604 + Identifier 2221605 2221617 + CaseBlock 2221618 2222011 + CaseClause 2221620 2221725 + PropertyAccessExpression 2221638 2221663 + Identifier 2221638 2221649 + Identifier 2221650 2221663 + ReturnStatement 2221664 2221725 + CallExpression 2221688 2221724 + Identifier 2221688 2221722 + CaseClause 2221725 2221923 + PropertyAccessExpression 2221743 2221765 + Identifier 2221743 2221754 + Identifier 2221755 2221765 + VariableStatement 2221766 2221830 + VariableDeclarationList 2221766 2221829 + VariableDeclaration 2221789 2221829 + Identifier 2221789 2221794 + CallExpression 2221796 2221829 + Identifier 2221796 2221823 + Identifier 2221824 2221828 + ReturnStatement 2221830 2221923 + ConditionalExpression 2221854 2221922 + CallExpression 2221854 2221872 + Identifier 2221854 2221866 + Identifier 2221867 2221871 + QuestionToken 2221872 2221874 + Identifier 2221874 2221884 + ColonToken 2221884 2221886 + CallExpression 2221886 2221922 + Identifier 2221886 2221916 + Identifier 2221917 2221921 + DefaultClause 2221923 2222000 + ExpressionStatement 2221945 2222000 + CallExpression 2221945 2221999 + PropertyAccessExpression 2221945 2221980 + Identifier 2221945 2221968 + Identifier 2221969 2221980 + PropertyAccessExpression 2221981 2221998 + Identifier 2221981 2221985 + Identifier 2221986 2221998 + FunctionDeclaration 2222018 2222697 + Identifier 2222034 2222061 + Parameter 2222062 2222080 + Identifier 2222062 2222066 + TypeReference 2222067 2222080 + Identifier 2222067 2222080 + Block 2222081 2222697 + VariableStatement 2222083 2222139 + VariableDeclarationList 2222083 2222138 + VariableDeclaration 2222098 2222138 + Identifier 2222098 2222108 + CallExpression 2222110 2222138 + Identifier 2222110 2222132 + Identifier 2222133 2222137 + IfStatement 2222139 2222690 + PrefixUnaryExpression 2222153 2222163 + Identifier 2222154 2222163 + Block 2222164 2222366 + ExpressionStatement 2222166 2222324 + CallExpression 2222166 2222323 + Identifier 2222166 2222185 + Identifier 2222186 2222190 + PropertyAccessExpression 2222191 2222308 + Identifier 2222191 2222203 + Identifier 2222204 2222308 + StringLiteral 2222309 2222322 + ReturnStatement 2222324 2222355 + Identifier 2222344 2222354 + IfStatement 2222380 2222690 + BinaryExpression 2222385 2222426 + PropertyAccessExpression 2222385 2222399 + Identifier 2222385 2222394 + Identifier 2222395 2222399 + EqualsEqualsEqualsToken 2222399 2222403 + PropertyAccessExpression 2222403 2222426 + Identifier 2222403 2222414 + Identifier 2222415 2222426 + Block 2222427 2222555 + VariableStatement 2222429 2222499 + VariableDeclarationList 2222429 2222498 + VariableDeclaration 2222448 2222498 + Identifier 2222448 2222455 + CallExpression 2222457 2222498 + Identifier 2222457 2222480 + PropertyAccessExpression 2222481 2222497 + Identifier 2222481 2222490 + Identifier 2222491 2222497 + ReturnStatement 2222499 2222544 + CallExpression 2222519 2222543 + Identifier 2222519 2222535 + Identifier 2222536 2222542 + Block 2222569 2222690 + VariableStatement 2222571 2222634 + VariableDeclarationList 2222571 2222633 + VariableDeclaration 2222590 2222633 + Identifier 2222590 2222597 + CallExpression 2222599 2222633 + Identifier 2222599 2222622 + Identifier 2222623 2222632 + ReturnStatement 2222634 2222679 + CallExpression 2222654 2222678 + Identifier 2222654 2222670 + Identifier 2222671 2222677 + FunctionDeclaration 2222697 2223632 + Identifier 2222713 2222737 + Parameter 2222738 2222756 + Identifier 2222738 2222742 + TypeReference 2222743 2222756 + Identifier 2222743 2222756 + Block 2222757 2223632 + IfStatement 2222759 2223355 + BinaryExpression 2222773 2222841 + BinaryExpression 2222773 2222804 + PropertyAccessExpression 2222773 2222790 + Identifier 2222773 2222783 + Identifier 2222784 2222790 + LessThanEqualsToken 2222790 2222793 + Identifier 2222793 2222804 + AmpersandAmpersandToken 2222804 2222807 + BinaryExpression 2222807 2222841 + Identifier 2222807 2222818 + LessThanEqualsToken 2222818 2222821 + PropertyAccessExpression 2222821 2222841 + Identifier 2222821 2222832 + Identifier 2222833 2222841 + Block 2222842 2223091 + IfStatement 2222844 2223080 + BinaryExpression 2222862 2222927 + PropertyAccessExpression 2222862 2222905 + CallExpression 2222862 2222887 + Identifier 2222862 2222881 + Identifier 2222882 2222886 + Identifier 2222888 2222905 + ExclamationEqualsEqualsToken 2222905 2222909 + PropertyAccessExpression 2222909 2222927 + Identifier 2222909 2222920 + Identifier 2222921 2222927 + Block 2222928 2223080 + ExpressionStatement 2222930 2223065 + CallExpression 2222930 2223064 + Identifier 2222930 2222953 + Identifier 2222954 2222958 + PropertyAccessExpression 2222959 2223063 + Identifier 2222959 2222971 + Identifier 2222972 2223063 + IfStatement 2223105 2223355 + BinaryExpression 2223110 2223176 + BinaryExpression 2223110 2223140 + Identifier 2223110 2223120 + LessThanToken 2223120 2223122 + PropertyAccessExpression 2223122 2223140 + Identifier 2223122 2223133 + Identifier 2223134 2223140 + AmpersandAmpersandToken 2223140 2223143 + BinaryExpression 2223143 2223176 + Identifier 2223143 2223154 + ExclamationEqualsEqualsToken 2223154 2223158 + PropertyAccessExpression 2223158 2223176 + Identifier 2223158 2223169 + Identifier 2223170 2223176 + Block 2223177 2223355 + ExpressionStatement 2223179 2223344 + CallExpression 2223179 2223343 + Identifier 2223179 2223198 + Identifier 2223199 2223203 + PropertyAccessExpression 2223204 2223342 + Identifier 2223204 2223216 + Identifier 2223217 2223342 + VariableStatement 2223355 2223404 + VariableDeclarationList 2223355 2223403 + VariableDeclaration 2223370 2223403 + Identifier 2223370 2223375 + CallExpression 2223377 2223403 + Identifier 2223377 2223397 + Identifier 2223398 2223402 + ExpressionStatement 2223404 2223535 + CallExpression 2223404 2223534 + PropertyAccessExpression 2223404 2223426 + Identifier 2223404 2223419 + Identifier 2223420 2223426 + PrefixUnaryExpression 2223427 2223480 + PrefixUnaryExpression 2223428 2223480 + ParenthesizedExpression 2223429 2223480 + BinaryExpression 2223430 2223479 + PropertyAccessExpression 2223430 2223440 + Identifier 2223430 2223434 + Identifier 2223435 2223440 + AmpersandToken 2223440 2223442 + PropertyAccessExpression 2223442 2223479 + Identifier 2223442 2223452 + Identifier 2223453 2223479 + StringLiteral 2223481 2223533 + ReturnStatement 2223535 2223625 + ConditionalExpression 2223551 2223624 + BinaryExpression 2223551 2223584 + PropertyAccessExpression 2223551 2223573 + PropertyAccessExpression 2223551 2223561 + Identifier 2223551 2223556 + Identifier 2223557 2223561 + Identifier 2223562 2223573 + EqualsEqualsEqualsToken 2223573 2223577 + StringLiteral 2223577 2223584 + QuestionToken 2223584 2223586 + CallExpression 2223586 2223612 + Identifier 2223586 2223610 + ColonToken 2223612 2223614 + Identifier 2223614 2223624 + FunctionDeclaration 2223632 2223977 + Identifier 2223648 2223667 + Parameter 2223668 2223682 + Identifier 2223668 2223674 + TypeReference 2223675 2223682 + Identifier 2223675 2223682 + Block 2223683 2223977 + VariableStatement 2223685 2223739 + VariableDeclarationList 2223685 2223738 + VariableDeclaration 2223700 2223738 + Identifier 2223700 2223712 + PropertyAccessExpression 2223714 2223738 + Identifier 2223714 2223721 + Identifier 2223722 2223738 + ReturnStatement 2223739 2223970 + CallExpression 2223755 2223969 + Identifier 2223755 2223770 + CallExpression 2223771 2223808 + Identifier 2223771 2223800 + Identifier 2223801 2223807 + FalseKeyword 2223809 2223843 + BinaryExpression 2223844 2223957 + PrefixUnaryExpression 2223844 2223886 + PrefixUnaryExpression 2223874 2223886 + Identifier 2223875 2223886 + AmpersandAmpersandToken 2223886 2223889 + ParenthesizedExpression 2223889 2223957 + BinaryExpression 2223891 2223956 + CallExpression 2223891 2223918 + Identifier 2223891 2223905 + Identifier 2223906 2223917 + BarBarToken 2223918 2223921 + CallExpression 2223921 2223956 + Identifier 2223921 2223943 + Identifier 2223944 2223955 + FunctionDeclaration 2223977 2227034 + Identifier 2224301 2224340 + Parameter 2224341 2224384 + Identifier 2224341 2224345 + UnionType 2224346 2224384 + TypeReference 2224346 2224361 + Identifier 2224346 2224361 + TypeReference 2224363 2224384 + Identifier 2224363 2224384 + Parameter 2224385 2224399 + Identifier 2224385 2224391 + NumberKeyword 2224392 2224399 + Parameter 2224400 2224427 + Identifier 2224400 2224413 + TypeReference 2224414 2224427 + Identifier 2224414 2224427 + TypeReference 2224429 2224438 + Identifier 2224429 2224438 + Block 2224438 2227034 + SwitchStatement 2224440 2226983 + PropertyAccessExpression 2224458 2224472 + PropertyAccessExpression 2224458 2224467 + Identifier 2224458 2224462 + Identifier 2224463 2224467 + Identifier 2224468 2224472 + CaseBlock 2224473 2226983 + CaseClause 2224475 2226040 + PropertyAccessExpression 2224493 2224515 + Identifier 2224493 2224504 + Identifier 2224505 2224515 + Block 2224516 2226040 + VariableStatement 2224518 2224571 + VariableDeclarationList 2224518 2224570 + VariableDeclaration 2224541 2224570 + Identifier 2224541 2224546 + PropertyAccessExpression 2224548 2224570 + PropertyAccessExpression 2224548 2224558 + Identifier 2224548 2224553 + Identifier 2224554 2224558 + Identifier 2224559 2224570 + IfStatement 2224571 2226025 + PropertyAccessExpression 2224593 2224612 + Identifier 2224593 2224597 + Identifier 2224598 2224612 + Block 2224613 2225384 + ReturnStatement 2224615 2225365 + ConditionalExpression 2225287 2225364 + BinaryExpression 2225287 2225324 + Identifier 2225287 2225300 + AmpersandToken 2225300 2225302 + PropertyAccessExpression 2225302 2225324 + Identifier 2225302 2225315 + Identifier 2225316 2225324 + QuestionToken 2225324 2225326 + Identifier 2225326 2225331 + ColonToken 2225331 2225333 + AsExpression 2225333 2225364 + TemplateExpression 2225333 2225352 + TemplateHead 2225333 2225337 + TemplateSpan 2225337 2225345 + Identifier 2225337 2225341 + TemplateMiddle 2225341 2225345 + TemplateSpan 2225345 2225352 + Identifier 2225345 2225350 + TemplateTail 2225350 2225352 + TypeReference 2225355 2225364 + Identifier 2225355 2225364 + Block 2225406 2226025 + ReturnStatement 2225408 2226006 + ConditionalExpression 2225938 2226005 + BinaryExpression 2225938 2225972 + Identifier 2225938 2225951 + AmpersandToken 2225951 2225953 + PropertyAccessExpression 2225953 2225972 + Identifier 2225953 2225966 + Identifier 2225967 2225972 + QuestionToken 2225972 2225974 + Identifier 2225974 2225979 + ColonToken 2225979 2225981 + AsExpression 2225981 2226005 + TemplateExpression 2225981 2225993 + TemplateHead 2225981 2225985 + TemplateSpan 2225985 2225993 + Identifier 2225985 2225989 + TemplateTail 2225989 2225993 + TypeReference 2225996 2226005 + Identifier 2225996 2226005 + CaseClause 2226040 2226972 + PropertyAccessExpression 2226058 2226089 + Identifier 2226058 2226069 + Identifier 2226070 2226089 + Block 2226090 2226972 + IfStatement 2226092 2226933 + PropertyAccessExpression 2226114 2226133 + Identifier 2226114 2226118 + Identifier 2226119 2226133 + Block 2226134 2226933 + VariableStatement 2226136 2226194 + VariableDeclarationList 2226136 2226193 + VariableDeclaration 2226163 2226193 + Identifier 2226163 2226172 + PropertyAccessExpression 2226174 2226193 + PropertyAccessExpression 2226174 2226184 + Identifier 2226174 2226179 + Identifier 2226180 2226184 + Identifier 2226185 2226193 + VariableStatement 2226194 2226289 + VariableDeclarationList 2226194 2226288 + VariableDeclaration 2226221 2226288 + Identifier 2226221 2226233 + CallExpression 2226235 2226288 + Identifier 2226235 2226243 + CallExpression 2226244 2226269 + Identifier 2226244 2226259 + Identifier 2226260 2226268 + Identifier 2226270 2226287 + VariableStatement 2226289 2226388 + VariableDeclarationList 2226289 2226387 + VariableDeclaration 2226316 2226387 + Identifier 2226316 2226329 + BinaryExpression 2226331 2226387 + PropertyAccessExpression 2226331 2226347 + Identifier 2226331 2226340 + Identifier 2226341 2226347 + MinusToken 2226347 2226349 + ParenthesizedExpression 2226349 2226387 + ConditionalExpression 2226351 2226386 + PropertyAccessExpression 2226351 2226378 + Identifier 2226351 2226362 + QuestionDotToken 2226362 2226364 + Identifier 2226364 2226378 + QuestionToken 2226378 2226380 + NumericLiteral 2226380 2226382 + ColonToken 2226382 2226384 + NumericLiteral 2226384 2226386 + IfStatement 2226388 2226914 + BinaryExpression 2226414 2226434 + Identifier 2226414 2226419 + LessThanToken 2226419 2226421 + Identifier 2226421 2226434 + Block 2226435 2226709 + VariableStatement 2226437 2226495 + VariableDeclarationList 2226437 2226494 + VariableDeclaration 2226468 2226494 + Identifier 2226468 2226476 + ElementAccessExpression 2226478 2226494 + Identifier 2226478 2226487 + Identifier 2226488 2226493 + IfStatement 2226495 2226686 + CallExpression 2226525 2226550 + Identifier 2226525 2226541 + Identifier 2226542 2226549 + Block 2226551 2226686 + ReturnStatement 2226553 2226659 + CallExpression 2226589 2226658 + Identifier 2226589 2226628 + Identifier 2226629 2226636 + Identifier 2226637 2226643 + Identifier 2226644 2226657 + IfStatement 2226735 2226914 + PropertyAccessExpression 2226740 2226767 + Identifier 2226740 2226751 + QuestionDotToken 2226751 2226753 + Identifier 2226753 2226767 + Block 2226768 2226914 + ReturnStatement 2226770 2226891 + CallExpression 2226802 2226890 + Identifier 2226802 2226841 + Identifier 2226842 2226853 + BinaryExpression 2226854 2226875 + Identifier 2226854 2226860 + MinusToken 2226860 2226862 + Identifier 2226862 2226875 + Identifier 2226876 2226889 + BreakStatement 2226933 2226957 + ReturnStatement 2226983 2227027 + AsExpression 2226999 2227026 + TemplateExpression 2226999 2227014 + TemplateHead 2226999 2227007 + TemplateSpan 2227007 2227014 + Identifier 2227007 2227012 + TemplateTail 2227012 2227014 + TypeReference 2227017 2227026 + Identifier 2227017 2227026 + FunctionDeclaration 2227034 2227126 + Identifier 2227050 2227071 + Parameter 2227072 2227114 + Identifier 2227072 2227073 + UnionType 2227074 2227114 + TypeReference 2227074 2227095 + Identifier 2227074 2227095 + TypeReference 2227097 2227114 + Identifier 2227097 2227114 + TypeReference 2227116 2227125 + Identifier 2227116 2227125 + FunctionDeclaration 2227126 2227292 + Identifier 2227140 2227161 + Parameter 2227162 2227216 + Identifier 2227162 2227163 + UnionType 2227164 2227216 + TypeReference 2227164 2227185 + Identifier 2227164 2227185 + TypeReference 2227187 2227204 + Identifier 2227187 2227204 + UndefinedKeyword 2227206 2227216 + Parameter 2227217 2227231 + Identifier 2227217 2227223 + NumberKeyword 2227224 2227231 + Parameter 2227232 2227259 + Identifier 2227232 2227245 + TypeReference 2227246 2227259 + Identifier 2227246 2227259 + Parameter 2227260 2227280 + Identifier 2227260 2227271 + QuestionToken 2227271 2227272 + TypeReference 2227273 2227280 + Identifier 2227273 2227280 + TypeReference 2227282 2227291 + Identifier 2227282 2227291 + FunctionDeclaration 2227292 2227935 + Identifier 2227306 2227327 + Parameter 2227328 2227382 + Identifier 2227328 2227329 + UnionType 2227330 2227382 + TypeReference 2227330 2227351 + Identifier 2227330 2227351 + TypeReference 2227353 2227370 + Identifier 2227353 2227370 + UndefinedKeyword 2227372 2227382 + Parameter 2227383 2227393 + Identifier 2227383 2227389 + NumericLiteral 2227391 2227393 + Parameter 2227394 2227428 + Identifier 2227394 2227407 + PropertyAccessExpression 2227409 2227428 + Identifier 2227409 2227422 + Identifier 2227423 2227428 + Parameter 2227429 2227449 + Identifier 2227429 2227440 + QuestionToken 2227440 2227441 + TypeReference 2227442 2227449 + Identifier 2227442 2227449 + Block 2227450 2227935 + IfStatement 2227452 2227759 + PrefixUnaryExpression 2227466 2227468 + Identifier 2227467 2227468 + Block 2227469 2227759 + VariableStatement 2227471 2227558 + VariableDeclarationList 2227471 2227557 + VariableDeclaration 2227490 2227557 + Identifier 2227490 2227504 + CallExpression 2227506 2227557 + Identifier 2227506 2227514 + PropertyAccessExpression 2227515 2227543 + Identifier 2227515 2227525 + QuestionDotToken 2227525 2227527 + Identifier 2227527 2227543 + Identifier 2227544 2227556 + ReturnStatement 2227558 2227748 + ConditionalExpression 2227578 2227747 + Identifier 2227578 2227592 + QuestionToken 2227592 2227594 + CallExpression 2227594 2227669 + Identifier 2227594 2227633 + Identifier 2227634 2227647 + Identifier 2227648 2227654 + Identifier 2227655 2227668 + ColonToken 2227669 2227671 + AsExpression 2227671 2227747 + TemplateExpression 2227671 2227735 + TemplateHead 2227671 2227692 + TemplateSpan 2227692 2227728 + BinaryExpression 2227692 2227724 + PropertyAccessExpression 2227692 2227715 + Identifier 2227692 2227702 + QuestionDotToken 2227702 2227704 + Identifier 2227704 2227715 + QuestionQuestionToken 2227715 2227718 + StringLiteral 2227718 2227724 + TemplateMiddle 2227724 2227728 + TemplateSpan 2227728 2227735 + Identifier 2227728 2227733 + TemplateTail 2227733 2227735 + TypeReference 2227738 2227747 + Identifier 2227738 2227747 + ExpressionStatement 2227759 2227804 + CallExpression 2227759 2227803 + PropertyAccessExpression 2227759 2227781 + Identifier 2227759 2227774 + Identifier 2227775 2227781 + CallExpression 2227782 2227802 + Identifier 2227782 2227794 + PropertyAccessExpression 2227795 2227801 + Identifier 2227795 2227796 + Identifier 2227797 2227801 + ReturnStatement 2227804 2227928 + PropertyAccessExpression 2227908 2227927 + PropertyAccessExpression 2227908 2227915 + Identifier 2227908 2227910 + Identifier 2227911 2227915 + Identifier 2227916 2227927 + FunctionDeclaration 2227935 2228875 + Identifier 2227951 2227978 + Parameter 2227979 2227999 + Identifier 2227979 2227988 + TypeReference 2227989 2227999 + Identifier 2227989 2227999 + Parameter 2228000 2228012 + Identifier 2228000 2228004 + NumberKeyword 2228005 2228012 + Parameter 2228013 2228037 + Identifier 2228013 2228030 + QuestionToken 2228030 2228031 + TypeReference 2228032 2228037 + Identifier 2228032 2228037 + Block 2228038 2228875 + VariableStatement 2228040 2228146 + VariableDeclarationList 2228040 2228145 + VariableDeclaration 2228055 2228145 + Identifier 2228055 2228066 + BinaryExpression 2228068 2228145 + PropertyAccessExpression 2228068 2228096 + PropertyAccessExpression 2228068 2228089 + Identifier 2228068 2228078 + Identifier 2228079 2228089 + Identifier 2228090 2228096 + MinusToken 2228096 2228098 + ParenthesizedExpression 2228098 2228145 + ConditionalExpression 2228100 2228144 + CallExpression 2228100 2228136 + Identifier 2228100 2228125 + Identifier 2228126 2228135 + QuestionToken 2228136 2228138 + NumericLiteral 2228138 2228140 + ColonToken 2228140 2228142 + NumericLiteral 2228142 2228144 + IfStatement 2228146 2228249 + BinaryExpression 2228160 2228176 + Identifier 2228160 2228163 + LessThanToken 2228163 2228165 + Identifier 2228165 2228176 + Block 2228177 2228249 + ReturnStatement 2228179 2228238 + PropertyAccessExpression 2228199 2228237 + ElementAccessExpression 2228199 2228225 + PropertyAccessExpression 2228199 2228220 + Identifier 2228199 2228209 + Identifier 2228210 2228220 + Identifier 2228221 2228224 + Identifier 2228226 2228237 + VariableStatement 2228249 2228331 + VariableDeclarationList 2228249 2228330 + VariableDeclaration 2228264 2228330 + Identifier 2228264 2228278 + BinaryExpression 2228280 2228330 + ElementAccessExpression 2228280 2228313 + PropertyAccessExpression 2228280 2228301 + Identifier 2228280 2228290 + Identifier 2228291 2228301 + Identifier 2228302 2228312 + BarBarToken 2228313 2228316 + Identifier 2228316 2228330 + VariableStatement 2228331 2228409 + VariableDeclarationList 2228331 2228408 + VariableDeclaration 2228346 2228408 + Identifier 2228346 2228355 + BinaryExpression 2228357 2228408 + Identifier 2228357 2228374 + BarBarToken 2228374 2228377 + CallExpression 2228377 2228408 + Identifier 2228377 2228393 + Identifier 2228394 2228407 + IfStatement 2228409 2228825 + CallExpression 2228423 2228444 + Identifier 2228423 2228434 + Identifier 2228435 2228443 + Block 2228445 2228825 + VariableStatement 2228447 2228527 + VariableDeclarationList 2228447 2228526 + VariableDeclaration 2228466 2228526 + Identifier 2228466 2228476 + AsExpression 2228478 2228526 + PropertyAccessExpression 2228478 2228513 + ParenthesizedExpression 2228478 2228506 + AsExpression 2228480 2228505 + Identifier 2228480 2228488 + TypeReference 2228491 2228505 + Identifier 2228491 2228505 + Identifier 2228507 2228513 + TypeReference 2228516 2228526 + Identifier 2228516 2228526 + VariableStatement 2228527 2228572 + VariableDeclarationList 2228527 2228571 + VariableDeclaration 2228546 2228571 + Identifier 2228546 2228552 + BinaryExpression 2228554 2228571 + Identifier 2228554 2228558 + MinusToken 2228558 2228560 + Identifier 2228560 2228571 + VariableStatement 2228572 2228655 + VariableDeclarationList 2228572 2228654 + VariableDeclaration 2228591 2228654 + Identifier 2228591 2228606 + ElementAccessExpression 2228608 2228654 + PropertyAccessExpression 2228608 2228645 + Identifier 2228608 2228618 + Identifier 2228619 2228645 + QuestionDotToken 2228645 2228647 + Identifier 2228648 2228653 + VariableStatement 2228655 2228720 + VariableDeclarationList 2228655 2228719 + VariableDeclaration 2228674 2228719 + Identifier 2228674 2228687 + ElementAccessExpression 2228689 2228719 + PropertyAccessExpression 2228689 2228712 + Identifier 2228689 2228699 + Identifier 2228700 2228712 + Identifier 2228713 2228718 + ReturnStatement 2228720 2228814 + CallExpression 2228740 2228813 + Identifier 2228740 2228761 + Identifier 2228762 2228776 + Identifier 2228777 2228783 + Identifier 2228784 2228797 + Identifier 2228798 2228812 + ReturnStatement 2228825 2228868 + PropertyAccessExpression 2228841 2228867 + Identifier 2228841 2228855 + Identifier 2228856 2228867 + FunctionDeclaration 2228875 2230772 + Identifier 2228891 2228928 + Parameter 2228929 2228949 + Identifier 2228929 2228938 + TypeReference 2228939 2228949 + Identifier 2228939 2228949 + Parameter 2228950 2228962 + Identifier 2228950 2228954 + NumberKeyword 2228955 2228962 + UnionType 2228964 2229054 + TypeLiteral 2228964 2229042 + PropertySignature 2228966 2228989 + Identifier 2228966 2228976 + TypeReference 2228977 2228988 + Identifier 2228977 2228988 + PropertySignature 2228989 2229014 + Identifier 2228989 2229003 + TypeReference 2229004 2229013 + Identifier 2229004 2229013 + PropertySignature 2229014 2229040 + Identifier 2229014 2229030 + BooleanKeyword 2229031 2229039 + UndefinedKeyword 2229044 2229054 + Block 2229054 2230772 + IfStatement 2229056 2229175 + BinaryExpression 2229070 2229130 + PropertyAccessExpression 2229070 2229097 + PropertyAccessExpression 2229070 2229091 + Identifier 2229070 2229079 + Identifier 2229080 2229091 + QuestionDotToken 2229091 2229093 + Identifier 2229093 2229097 + EqualsEqualsEqualsToken 2229097 2229101 + PropertyAccessExpression 2229101 2229130 + Identifier 2229101 2229112 + Identifier 2229113 2229130 + Block 2229131 2229175 + ReturnStatement 2229133 2229164 + Identifier 2229153 2229163 + VariableStatement 2229175 2229281 + VariableDeclarationList 2229175 2229280 + VariableDeclaration 2229190 2229280 + Identifier 2229190 2229201 + BinaryExpression 2229203 2229280 + PropertyAccessExpression 2229203 2229231 + PropertyAccessExpression 2229203 2229224 + Identifier 2229203 2229213 + Identifier 2229214 2229224 + Identifier 2229225 2229231 + MinusToken 2229231 2229233 + ParenthesizedExpression 2229233 2229280 + ConditionalExpression 2229235 2229279 + CallExpression 2229235 2229271 + Identifier 2229235 2229260 + Identifier 2229261 2229270 + QuestionToken 2229271 2229273 + NumericLiteral 2229273 2229275 + ColonToken 2229275 2229277 + NumericLiteral 2229277 2229279 + IfStatement 2229281 2229648 + BinaryExpression 2229295 2229311 + Identifier 2229295 2229298 + LessThanToken 2229298 2229300 + Identifier 2229300 2229311 + Block 2229312 2229648 + VariableStatement 2229314 2229368 + VariableDeclarationList 2229314 2229367 + VariableDeclaration 2229333 2229367 + Identifier 2229333 2229339 + ElementAccessExpression 2229341 2229367 + PropertyAccessExpression 2229341 2229362 + Identifier 2229341 2229351 + Identifier 2229352 2229362 + Identifier 2229363 2229366 + VariableStatement 2229368 2229442 + VariableDeclarationList 2229368 2229441 + VariableDeclaration 2229387 2229441 + Identifier 2229387 2229398 + CallExpression 2229400 2229441 + Identifier 2229400 2229434 + Identifier 2229435 2229440 + ReturnStatement 2229442 2229637 + ConditionalExpression 2229462 2229636 + Identifier 2229462 2229473 + QuestionToken 2229473 2229475 + ObjectLiteralExpression 2229475 2229624 + PropertyAssignment 2229477 2229516 + Identifier 2229477 2229504 + Identifier 2229505 2229516 + PropertyAssignment 2229517 2229567 + Identifier 2229517 2229548 + PropertyAccessExpression 2229549 2229567 + Identifier 2229549 2229555 + Identifier 2229556 2229567 + PropertyAssignment 2229568 2229608 + Identifier 2229568 2229601 + FalseKeyword 2229602 2229608 + ColonToken 2229624 2229626 + Identifier 2229626 2229636 + VariableStatement 2229648 2229732 + VariableDeclarationList 2229648 2229731 + VariableDeclaration 2229665 2229731 + Identifier 2229665 2229679 + BinaryExpression 2229681 2229731 + ElementAccessExpression 2229681 2229714 + PropertyAccessExpression 2229681 2229702 + Identifier 2229681 2229691 + Identifier 2229692 2229702 + Identifier 2229703 2229713 + BarBarToken 2229714 2229717 + Identifier 2229717 2229731 + VariableStatement 2229732 2229809 + VariableDeclarationList 2229732 2229808 + VariableDeclaration 2229747 2229808 + Identifier 2229747 2229757 + CallExpression 2229759 2229808 + Identifier 2229759 2229793 + Identifier 2229794 2229807 + IfStatement 2229809 2229878 + PrefixUnaryExpression 2229823 2229833 + Identifier 2229824 2229833 + Block 2229834 2229878 + ReturnStatement 2229836 2229867 + Identifier 2229856 2229866 + VariableStatement 2229878 2229938 + VariableDeclarationList 2229878 2229937 + VariableDeclaration 2229895 2229937 + Identifier 2229895 2229904 + CallExpression 2229906 2229937 + Identifier 2229906 2229922 + Identifier 2229923 2229936 + IfStatement 2229938 2230579 + CallExpression 2229952 2229973 + Identifier 2229952 2229963 + Identifier 2229964 2229972 + Block 2229974 2230579 + VariableStatement 2229976 2230091 + VariableDeclarationList 2229976 2230090 + VariableDeclaration 2229995 2230090 + Identifier 2229995 2230011 + PropertyAccessExpression 2230013 2230090 + ParenthesizedExpression 2230013 2230063 + AsExpression 2230015 2230062 + PropertyAccessExpression 2230015 2230049 + ParenthesizedExpression 2230015 2230042 + AsExpression 2230016 2230041 + Identifier 2230016 2230024 + TypeReference 2230027 2230041 + Identifier 2230027 2230041 + Identifier 2230043 2230049 + TypeReference 2230052 2230062 + Identifier 2230052 2230062 + Identifier 2230064 2230090 + VariableStatement 2230091 2230136 + VariableDeclarationList 2230091 2230135 + VariableDeclaration 2230110 2230135 + Identifier 2230110 2230116 + BinaryExpression 2230118 2230135 + Identifier 2230118 2230122 + MinusToken 2230122 2230124 + Identifier 2230124 2230135 + VariableStatement 2230136 2230198 + VariableDeclarationList 2230136 2230197 + VariableDeclaration 2230155 2230197 + Identifier 2230155 2230170 + ElementAccessExpression 2230172 2230197 + Identifier 2230172 2230188 + QuestionDotToken 2230188 2230190 + Identifier 2230191 2230196 + VariableStatement 2230198 2230272 + VariableDeclarationList 2230198 2230271 + VariableDeclaration 2230217 2230271 + Identifier 2230217 2230236 + PrefixUnaryExpression 2230238 2230271 + PrefixUnaryExpression 2230240 2230271 + PropertyAccessExpression 2230241 2230271 + Identifier 2230241 2230255 + QuestionDotToken 2230255 2230257 + Identifier 2230257 2230271 + IfStatement 2230272 2230535 + Identifier 2230292 2230306 + Block 2230307 2230535 + ExpressionStatement 2230309 2230375 + CallExpression 2230309 2230374 + PropertyAccessExpression 2230309 2230339 + Identifier 2230309 2230332 + Identifier 2230333 2230339 + CallExpression 2230340 2230373 + Identifier 2230340 2230352 + PropertyAccessExpression 2230353 2230372 + Identifier 2230353 2230367 + Identifier 2230368 2230372 + ReturnStatement 2230375 2230520 + ObjectLiteralExpression 2230399 2230519 + PropertyAssignment 2230401 2230432 + Identifier 2230401 2230411 + PropertyAccessExpression 2230412 2230432 + Identifier 2230412 2230427 + Identifier 2230428 2230432 + PropertyAssignment 2230433 2230480 + Identifier 2230433 2230447 + PropertyAccessExpression 2230448 2230480 + PropertyAccessExpression 2230448 2230468 + Identifier 2230448 2230463 + Identifier 2230464 2230468 + Identifier 2230469 2230480 + PropertyAssignment 2230481 2230517 + Identifier 2230481 2230497 + Identifier 2230498 2230517 + ReturnStatement 2230535 2230568 + Identifier 2230557 2230567 + IfStatement 2230579 2230738 + BinaryExpression 2230595 2230613 + Identifier 2230595 2230598 + EqualsEqualsEqualsToken 2230598 2230602 + Identifier 2230602 2230613 + Block 2230614 2230738 + ReturnStatement 2230616 2230727 + ObjectLiteralExpression 2230636 2230726 + PropertyAssignment 2230638 2230659 + Identifier 2230638 2230648 + Identifier 2230649 2230659 + PropertyAssignment 2230660 2230701 + Identifier 2230660 2230674 + PropertyAccessExpression 2230675 2230701 + Identifier 2230675 2230689 + Identifier 2230690 2230701 + PropertyAssignment 2230702 2230724 + Identifier 2230702 2230718 + TrueKeyword 2230719 2230724 + ReturnStatement 2230738 2230765 + Identifier 2230754 2230764 + FunctionDeclaration 2230772 2231006 + Identifier 2230788 2230822 + Parameter 2230823 2230837 + Identifier 2230823 2230829 + TypeReference 2230830 2230837 + Identifier 2230830 2230837 + Block 2230838 2231006 + ReturnStatement 2230840 2230999 + BinaryExpression 2230856 2230998 + BinaryExpression 2230856 2230966 + BinaryExpression 2230856 2230920 + PropertyAccessExpression 2230856 2230880 + Identifier 2230856 2230863 + Identifier 2230864 2230880 + AmpersandAmpersandToken 2230880 2230883 + CallExpression 2230883 2230920 + Identifier 2230883 2230895 + PropertyAccessExpression 2230896 2230919 + Identifier 2230896 2230902 + Identifier 2230903 2230919 + AmpersandAmpersandToken 2230920 2230923 + CallExpression 2230923 2230966 + Identifier 2230923 2230936 + PropertyAccessExpression 2230937 2230965 + PropertyAccessExpression 2230937 2230960 + Identifier 2230937 2230943 + Identifier 2230944 2230960 + Identifier 2230961 2230965 + AmpersandAmpersandToken 2230966 2230969 + PropertyAccessExpression 2230969 2230998 + PropertyAccessExpression 2230969 2230993 + Identifier 2230969 2230976 + Identifier 2230977 2230993 + Identifier 2230994 2230998 + FunctionDeclaration 2231006 2231259 + Identifier 2231020 2231052 + Parameter 2231053 2231067 + Identifier 2231053 2231054 + TypeReference 2231055 2231067 + Identifier 2231055 2231067 + TypePredicate 2231069 2231140 + Identifier 2231069 2231071 + UnionType 2231074 2231140 + TypeReference 2231074 2231091 + Identifier 2231074 2231091 + ParenthesizedType 2231093 2231140 + IntersectionType 2231095 2231139 + TypeReference 2231095 2231115 + Identifier 2231095 2231115 + TypeLiteral 2231117 2231139 + PropertySignature 2231119 2231137 + Identifier 2231119 2231124 + TypeReference 2231125 2231136 + Identifier 2231125 2231136 + Block 2231140 2231259 + ReturnStatement 2231142 2231252 + BinaryExpression 2231158 2231251 + BinaryExpression 2231158 2231197 + PropertyAccessExpression 2231158 2231165 + Identifier 2231158 2231160 + Identifier 2231161 2231165 + EqualsEqualsEqualsToken 2231165 2231169 + PropertyAccessExpression 2231169 2231197 + Identifier 2231169 2231180 + Identifier 2231181 2231197 + BarBarToken 2231197 2231200 + ParenthesizedExpression 2231200 2231251 + BinaryExpression 2231202 2231250 + BinaryExpression 2231202 2231226 + CallExpression 2231202 2231216 + Identifier 2231202 2231213 + Identifier 2231214 2231215 + AmpersandAmpersandToken 2231216 2231219 + PropertyAccessExpression 2231219 2231226 + Identifier 2231219 2231221 + Identifier 2231222 2231226 + AmpersandAmpersandToken 2231226 2231229 + CallExpression 2231229 2231250 + Identifier 2231229 2231242 + PropertyAccessExpression 2231243 2231249 + Identifier 2231243 2231244 + Identifier 2231245 2231249 + FunctionDeclaration 2231259 2232230 + Identifier 2231275 2231308 + Parameter 2231309 2231329 + Identifier 2231309 2231318 + TypeReference 2231319 2231329 + Identifier 2231319 2231329 + Parameter 2231330 2231342 + Identifier 2231330 2231334 + NumberKeyword 2231335 2231342 + Block 2231343 2232230 + VariableStatement 2231345 2231451 + VariableDeclarationList 2231345 2231450 + VariableDeclaration 2231360 2231450 + Identifier 2231360 2231371 + BinaryExpression 2231373 2231450 + PropertyAccessExpression 2231373 2231401 + PropertyAccessExpression 2231373 2231394 + Identifier 2231373 2231383 + Identifier 2231384 2231394 + Identifier 2231395 2231401 + MinusToken 2231401 2231403 + ParenthesizedExpression 2231403 2231450 + ConditionalExpression 2231405 2231449 + CallExpression 2231405 2231441 + Identifier 2231405 2231430 + Identifier 2231431 2231440 + QuestionToken 2231441 2231443 + NumericLiteral 2231443 2231445 + ColonToken 2231445 2231447 + NumericLiteral 2231447 2231449 + IfStatement 2231451 2231651 + BinaryExpression 2231465 2231481 + Identifier 2231465 2231468 + LessThanToken 2231468 2231470 + Identifier 2231470 2231481 + Block 2231482 2231651 + VariableStatement 2231484 2231554 + VariableDeclarationList 2231484 2231553 + VariableDeclaration 2231503 2231553 + Identifier 2231503 2231508 + PropertyAccessExpression 2231510 2231553 + ElementAccessExpression 2231510 2231536 + PropertyAccessExpression 2231510 2231531 + Identifier 2231510 2231520 + Identifier 2231521 2231531 + Identifier 2231532 2231535 + Identifier 2231537 2231553 + ReturnStatement 2231554 2231640 + ConditionalExpression 2231574 2231639 + BinaryExpression 2231574 2231620 + Identifier 2231574 2231579 + AmpersandAmpersandToken 2231579 2231582 + CallExpression 2231582 2231620 + Identifier 2231582 2231614 + Identifier 2231615 2231619 + QuestionToken 2231620 2231622 + Identifier 2231622 2231627 + ColonToken 2231627 2231629 + Identifier 2231629 2231639 + VariableStatement 2231651 2231733 + VariableDeclarationList 2231651 2231732 + VariableDeclaration 2231666 2231732 + Identifier 2231666 2231680 + BinaryExpression 2231682 2231732 + ElementAccessExpression 2231682 2231715 + PropertyAccessExpression 2231682 2231703 + Identifier 2231682 2231692 + Identifier 2231693 2231703 + Identifier 2231704 2231714 + BarBarToken 2231715 2231718 + Identifier 2231718 2231732 + VariableStatement 2231733 2231791 + VariableDeclarationList 2231733 2231790 + VariableDeclaration 2231748 2231790 + Identifier 2231748 2231757 + CallExpression 2231759 2231790 + Identifier 2231759 2231775 + Identifier 2231776 2231789 + IfStatement 2231791 2232063 + CallExpression 2231805 2231826 + Identifier 2231805 2231816 + Identifier 2231817 2231825 + Block 2231827 2232063 + VariableStatement 2231829 2231944 + VariableDeclarationList 2231829 2231943 + VariableDeclaration 2231848 2231943 + Identifier 2231848 2231864 + PropertyAccessExpression 2231866 2231943 + ParenthesizedExpression 2231866 2231916 + AsExpression 2231868 2231915 + PropertyAccessExpression 2231868 2231902 + ParenthesizedExpression 2231868 2231895 + AsExpression 2231869 2231894 + Identifier 2231869 2231877 + TypeReference 2231880 2231894 + Identifier 2231880 2231894 + Identifier 2231896 2231902 + TypeReference 2231905 2231915 + Identifier 2231905 2231915 + Identifier 2231917 2231943 + VariableStatement 2231944 2231989 + VariableDeclarationList 2231944 2231988 + VariableDeclaration 2231963 2231988 + Identifier 2231963 2231969 + BinaryExpression 2231971 2231988 + Identifier 2231971 2231975 + MinusToken 2231975 2231977 + Identifier 2231977 2231988 + ReturnStatement 2231989 2232052 + BinaryExpression 2232009 2232051 + Identifier 2232009 2232025 + AmpersandAmpersandToken 2232025 2232028 + ElementAccessExpression 2232028 2232051 + Identifier 2232028 2232044 + Identifier 2232045 2232050 + ReturnStatement 2232063 2232223 + ConditionalExpression 2232079 2232222 + BinaryExpression 2232079 2232177 + PropertyAccessExpression 2232079 2232110 + Identifier 2232079 2232093 + Identifier 2232094 2232110 + AmpersandAmpersandToken 2232110 2232113 + CallExpression 2232113 2232177 + Identifier 2232113 2232145 + PropertyAccessExpression 2232146 2232176 + Identifier 2232146 2232159 + Identifier 2232160 2232176 + QuestionToken 2232177 2232179 + PropertyAccessExpression 2232179 2232210 + Identifier 2232179 2232193 + Identifier 2232194 2232210 + ColonToken 2232210 2232212 + Identifier 2232212 2232222 + FunctionDeclaration 2232230 2232379 + Identifier 2232246 2232264 + Parameter 2232265 2232285 + Identifier 2232265 2232274 + TypeReference 2232275 2232285 + Identifier 2232275 2232285 + Parameter 2232286 2232298 + Identifier 2232286 2232290 + NumberKeyword 2232291 2232298 + TypeReference 2232300 2232305 + Identifier 2232300 2232305 + Block 2232305 2232379 + ReturnStatement 2232307 2232372 + BinaryExpression 2232323 2232371 + CallExpression 2232323 2232360 + Identifier 2232323 2232344 + Identifier 2232345 2232354 + Identifier 2232355 2232359 + BarBarToken 2232360 2232363 + Identifier 2232363 2232371 + FunctionDeclaration 2232379 2233399 + Identifier 2232395 2232416 + Parameter 2232417 2232437 + Identifier 2232417 2232426 + TypeReference 2232427 2232437 + Identifier 2232427 2232437 + Parameter 2232438 2232450 + Identifier 2232438 2232442 + NumberKeyword 2232443 2232450 + UnionType 2232452 2232469 + TypeReference 2232452 2232457 + Identifier 2232452 2232457 + UndefinedKeyword 2232459 2232469 + Block 2232469 2233399 + VariableStatement 2232471 2232577 + VariableDeclarationList 2232471 2232576 + VariableDeclaration 2232486 2232576 + Identifier 2232486 2232497 + BinaryExpression 2232499 2232576 + PropertyAccessExpression 2232499 2232527 + PropertyAccessExpression 2232499 2232520 + Identifier 2232499 2232509 + Identifier 2232510 2232520 + Identifier 2232521 2232527 + MinusToken 2232527 2232529 + ParenthesizedExpression 2232529 2232576 + ConditionalExpression 2232531 2232575 + CallExpression 2232531 2232567 + Identifier 2232531 2232556 + Identifier 2232557 2232566 + QuestionToken 2232567 2232569 + NumericLiteral 2232569 2232571 + ColonToken 2232571 2232573 + NumericLiteral 2232573 2232575 + IfStatement 2232577 2232688 + BinaryExpression 2232591 2232607 + Identifier 2232591 2232594 + LessThanToken 2232594 2232596 + Identifier 2232596 2232607 + Block 2232608 2232688 + ReturnStatement 2232610 2232677 + CallExpression 2232630 2232676 + Identifier 2232630 2232649 + ElementAccessExpression 2232650 2232675 + PropertyAccessExpression 2232650 2232670 + Identifier 2232650 2232659 + Identifier 2232660 2232670 + Identifier 2232671 2232674 + IfStatement 2232688 2233365 + CallExpression 2232702 2232738 + Identifier 2232702 2232727 + Identifier 2232728 2232737 + Block 2232739 2233365 + VariableStatement 2232741 2233070 + VariableDeclarationList 2232741 2233069 + VariableDeclaration 2233008 2233069 + Identifier 2233008 2233017 + CallExpression 2233019 2233069 + Identifier 2233019 2233035 + ElementAccessExpression 2233036 2233068 + PropertyAccessExpression 2233036 2233056 + Identifier 2233036 2233045 + Identifier 2233046 2233056 + Identifier 2233057 2233067 + VariableStatement 2233070 2233115 + VariableDeclarationList 2233070 2233114 + VariableDeclaration 2233089 2233114 + Identifier 2233089 2233095 + BinaryExpression 2233097 2233114 + Identifier 2233097 2233101 + MinusToken 2233101 2233103 + Identifier 2233103 2233114 + IfStatement 2233115 2233354 + BinaryExpression 2233133 2233251 + BinaryExpression 2233133 2233212 + PrefixUnaryExpression 2233133 2233155 + CallExpression 2233134 2233155 + Identifier 2233134 2233145 + Identifier 2233146 2233154 + BarBarToken 2233155 2233158 + BinaryExpression 2233158 2233212 + PropertyAccessExpression 2233158 2233188 + PropertyAccessExpression 2233158 2233174 + Identifier 2233158 2233167 + Identifier 2233168 2233174 + Identifier 2233175 2233188 + AmpersandToken 2233188 2233190 + PropertyAccessExpression 2233190 2233212 + Identifier 2233190 2233203 + Identifier 2233204 2233212 + BarBarToken 2233212 2233215 + BinaryExpression 2233215 2233251 + Identifier 2233215 2233221 + LessThanToken 2233221 2233223 + PropertyAccessExpression 2233223 2233251 + PropertyAccessExpression 2233223 2233239 + Identifier 2233223 2233232 + Identifier 2233233 2233239 + Identifier 2233240 2233251 + Block 2233252 2233354 + ReturnStatement 2233254 2233339 + CallExpression 2233278 2233338 + Identifier 2233278 2233299 + Identifier 2233300 2233308 + CallExpression 2233309 2233337 + Identifier 2233309 2233330 + Identifier 2233331 2233336 + ReturnStatement 2233365 2233392 + Identifier 2233381 2233391 + FunctionDeclaration 2233399 2234503 + Identifier 2233415 2233437 + Parameter 2233438 2233455 + Identifier 2233438 2233444 + TypeReference 2233445 2233455 + Identifier 2233445 2233455 + Parameter 2233456 2233468 + Identifier 2233456 2233460 + NumberKeyword 2233461 2233468 + Parameter 2233469 2233488 + Identifier 2233469 2233478 + QuestionToken 2233478 2233479 + BooleanKeyword 2233480 2233488 + TypeReference 2233490 2233495 + Identifier 2233490 2233495 + Block 2233495 2234503 + VariableStatement 2233497 2233556 + VariableDeclarationList 2233497 2233555 + VariableDeclaration 2233512 2233555 + Identifier 2233512 2233527 + CallExpression 2233529 2233555 + Identifier 2233529 2233547 + Identifier 2233548 2233554 + VariableStatement 2233556 2233619 + VariableDeclarationList 2233556 2233618 + VariableDeclaration 2233571 2233618 + Identifier 2233571 2233588 + CallExpression 2233590 2233618 + Identifier 2233590 2233610 + Identifier 2233611 2233617 + VariableStatement 2233619 2233675 + VariableDeclarationList 2233619 2233674 + VariableDeclaration 2233634 2233674 + Identifier 2233634 2233643 + CallExpression 2233645 2233674 + Identifier 2233645 2233666 + Identifier 2233667 2233673 + IfStatement 2233675 2233861 + BinaryExpression 2233689 2233726 + Identifier 2233689 2233697 + AmpersandAmpersandToken 2233697 2233700 + BinaryExpression 2233700 2233726 + Identifier 2233700 2233704 + GreaterThanEqualsToken 2233704 2233707 + BinaryExpression 2233707 2233726 + Identifier 2233707 2233722 + MinusToken 2233722 2233724 + NumericLiteral 2233724 2233726 + Block 2233727 2233861 + ReturnStatement 2233729 2233850 + ConditionalExpression 2233749 2233849 + BinaryExpression 2233749 2233776 + Identifier 2233749 2233753 + EqualsEqualsEqualsToken 2233753 2233757 + BinaryExpression 2233757 2233776 + Identifier 2233757 2233772 + MinusToken 2233772 2233774 + NumericLiteral 2233774 2233776 + QuestionToken 2233776 2233778 + Identifier 2233778 2233787 + ColonToken 2233787 2233789 + CallExpression 2233789 2233849 + Identifier 2233789 2233805 + CallExpression 2233806 2233848 + Identifier 2233806 2233826 + Identifier 2233827 2233835 + Identifier 2233836 2233847 + VariableStatement 2233861 2233888 + VariableDeclarationList 2233861 2233887 + VariableDeclaration 2233876 2233887 + Identifier 2233876 2233882 + ArrayLiteralExpression 2233884 2233887 + VariableStatement 2233888 2233915 + VariableDeclarationList 2233888 2233914 + VariableDeclaration 2233903 2233914 + Identifier 2233903 2233909 + ArrayLiteralExpression 2233911 2233914 + VariableStatement 2233915 2233942 + VariableDeclarationList 2233915 2233941 + VariableDeclaration 2233930 2233941 + Identifier 2233930 2233936 + ArrayLiteralExpression 2233938 2233941 + ForStatement 2233942 2234432 + VariableDeclarationList 2233957 2233968 + VariableDeclaration 2233960 2233968 + Identifier 2233960 2233962 + Identifier 2233964 2233968 + BinaryExpression 2233969 2233988 + Identifier 2233969 2233971 + LessThanToken 2233971 2233973 + Identifier 2233973 2233988 + PostfixUnaryExpression 2233989 2233993 + Identifier 2233989 2233991 + Block 2233994 2234432 + IfStatement 2233996 2234351 + BinaryExpression 2234014 2234049 + PrefixUnaryExpression 2234014 2234023 + Identifier 2234015 2234023 + BarBarToken 2234023 2234026 + BinaryExpression 2234026 2234049 + Identifier 2234026 2234028 + LessThanToken 2234028 2234030 + BinaryExpression 2234030 2234049 + Identifier 2234030 2234045 + MinusToken 2234045 2234047 + NumericLiteral 2234047 2234049 + Block 2234050 2234225 + ExpressionStatement 2234052 2234111 + CallExpression 2234052 2234110 + PropertyAccessExpression 2234052 2234080 + Identifier 2234052 2234075 + Identifier 2234076 2234080 + CallExpression 2234081 2234109 + Identifier 2234081 2234098 + Identifier 2234099 2234105 + Identifier 2234106 2234108 + ExpressionStatement 2234111 2234210 + CallExpression 2234111 2234209 + PropertyAccessExpression 2234111 2234139 + Identifier 2234111 2234134 + Identifier 2234135 2234139 + ConditionalExpression 2234140 2234208 + BinaryExpression 2234140 2234160 + Identifier 2234140 2234141 + LessThanToken 2234141 2234143 + Identifier 2234143 2234160 + QuestionToken 2234160 2234162 + PropertyAccessExpression 2234162 2234184 + Identifier 2234162 2234175 + Identifier 2234176 2234184 + ColonToken 2234184 2234186 + PropertyAccessExpression 2234186 2234208 + Identifier 2234186 2234199 + Identifier 2234200 2234208 + Block 2234243 2234351 + ExpressionStatement 2234245 2234284 + CallExpression 2234245 2234283 + PropertyAccessExpression 2234245 2234273 + Identifier 2234245 2234268 + Identifier 2234269 2234273 + Identifier 2234274 2234282 + ExpressionStatement 2234284 2234336 + CallExpression 2234284 2234335 + PropertyAccessExpression 2234284 2234312 + Identifier 2234284 2234307 + Identifier 2234308 2234312 + PropertyAccessExpression 2234313 2234334 + Identifier 2234313 2234325 + Identifier 2234326 2234334 + ExpressionStatement 2234351 2234421 + CallExpression 2234351 2234420 + PropertyAccessExpression 2234351 2234375 + Identifier 2234351 2234370 + Identifier 2234371 2234375 + CallExpression 2234376 2234419 + Identifier 2234376 2234408 + Identifier 2234409 2234415 + Identifier 2234416 2234418 + ReturnStatement 2234432 2234496 + CallExpression 2234448 2234495 + Identifier 2234448 2234464 + Identifier 2234465 2234470 + Identifier 2234471 2234477 + Identifier 2234478 2234487 + Identifier 2234488 2234494 + FunctionDeclaration 2234503 2235083 + Identifier 2234793 2234820 + Parameter 2234821 2234838 + Identifier 2234821 2234827 + TypeReference 2234828 2234838 + Identifier 2234828 2234838 + Parameter 2234839 2234851 + Identifier 2234839 2234843 + NumberKeyword 2234844 2234851 + TypeReference 2234853 2234858 + Identifier 2234853 2234858 + Block 2234858 2235083 + VariableStatement 2234860 2234922 + VariableDeclarationList 2234860 2234921 + VariableDeclaration 2234875 2234921 + Identifier 2234875 2234884 + CallExpression 2234886 2234921 + Identifier 2234886 2234908 + Identifier 2234909 2234915 + Identifier 2234916 2234920 + VariableStatement 2234922 2235000 + VariableDeclarationList 2234922 2234999 + VariableDeclaration 2234937 2234999 + Identifier 2234937 2234949 + BinaryExpression 2234951 2234999 + Identifier 2234951 2234960 + AmpersandAmpersandToken 2234960 2234963 + CallExpression 2234963 2234999 + Identifier 2234963 2234989 + Identifier 2234990 2234998 + ReturnStatement 2235000 2235076 + ConditionalExpression 2235016 2235075 + BinaryExpression 2235016 2235054 + Identifier 2235016 2235028 + AmpersandAmpersandToken 2235028 2235031 + CallExpression 2235031 2235054 + Identifier 2235031 2235041 + Identifier 2235042 2235053 + QuestionToken 2235054 2235056 + Identifier 2235056 2235064 + ColonToken 2235064 2235066 + Identifier 2235066 2235075 + FunctionDeclaration 2235083 2235938 + Identifier 2235482 2235500 + Parameter 2235501 2235521 + Identifier 2235501 2235510 + TypeReference 2235511 2235521 + Identifier 2235511 2235521 + Block 2235522 2235938 + VariableStatement 2235524 2235577 + VariableDeclarationList 2235524 2235576 + VariableDeclaration 2235539 2235576 + Identifier 2235539 2235546 + PropertyAccessExpression 2235548 2235576 + PropertyAccessExpression 2235548 2235569 + Identifier 2235548 2235558 + Identifier 2235559 2235569 + Identifier 2235570 2235576 + IfStatement 2235577 2235907 + CallExpression 2235591 2235627 + Identifier 2235591 2235616 + Identifier 2235617 2235626 + Block 2235628 2235907 + VariableStatement 2235630 2235711 + VariableDeclarationList 2235630 2235710 + VariableDeclaration 2235649 2235710 + Identifier 2235649 2235658 + CallExpression 2235660 2235710 + Identifier 2235660 2235676 + ElementAccessExpression 2235677 2235709 + PropertyAccessExpression 2235677 2235697 + Identifier 2235677 2235686 + Identifier 2235687 2235697 + BinaryExpression 2235698 2235708 + Identifier 2235698 2235704 + MinusToken 2235704 2235706 + NumericLiteral 2235706 2235708 + IfStatement 2235711 2235896 + CallExpression 2235729 2235750 + Identifier 2235729 2235740 + Identifier 2235741 2235749 + Block 2235751 2235896 + ReturnStatement 2235753 2235881 + BinaryExpression 2235777 2235880 + BinaryExpression 2235777 2235814 + Identifier 2235777 2235784 + PlusToken 2235784 2235786 + PropertyAccessExpression 2235786 2235814 + PropertyAccessExpression 2235786 2235802 + Identifier 2235786 2235795 + Identifier 2235796 2235802 + Identifier 2235803 2235814 + MinusToken 2235814 2235816 + ParenthesizedExpression 2235816 2235880 + ConditionalExpression 2235818 2235879 + BinaryExpression 2235818 2235871 + PropertyAccessExpression 2235818 2235847 + PropertyAccessExpression 2235818 2235833 + Identifier 2235818 2235826 + Identifier 2235827 2235833 + Identifier 2235834 2235847 + AmpersandToken 2235847 2235849 + PropertyAccessExpression 2235849 2235871 + Identifier 2235849 2235862 + Identifier 2235863 2235871 + QuestionToken 2235871 2235873 + NumericLiteral 2235873 2235875 + ColonToken 2235875 2235877 + NumericLiteral 2235877 2235879 + ReturnStatement 2235907 2235931 + Identifier 2235923 2235930 + FunctionDeclaration 2235938 2237829 + Identifier 2235954 2235974 + Parameter 2235975 2235995 + Identifier 2235975 2235984 + TypeReference 2235985 2235995 + Identifier 2235985 2235995 + Parameter 2235996 2236026 + Identifier 2235996 2236002 + QuestionToken 2236002 2236003 + TypeReference 2236004 2236026 + Identifier 2236004 2236026 + Block 2236027 2237829 + VariableStatement 2236029 2236126 + VariableDeclarationList 2236029 2236125 + VariableDeclaration 2236044 2236125 + Identifier 2236044 2236068 + BinaryExpression 2236070 2236125 + NonNullExpression 2236070 2236077 + Identifier 2236070 2236076 + AmpersandToken 2236077 2236079 + PropertyAccessExpression 2236079 2236125 + Identifier 2236079 2236101 + Identifier 2236102 2236125 + VariableStatement 2236126 2236211 + VariableDeclarationList 2236126 2236210 + VariableDeclaration 2236141 2236210 + Identifier 2236141 2236159 + BinaryExpression 2236161 2236210 + NonNullExpression 2236161 2236168 + Identifier 2236161 2236167 + AmpersandToken 2236168 2236170 + PropertyAccessExpression 2236170 2236210 + Identifier 2236170 2236192 + Identifier 2236193 2236210 + IfStatement 2236211 2237770 + BinaryExpression 2236225 2236294 + Identifier 2236225 2236242 + BarBarToken 2236242 2236245 + BinaryExpression 2236245 2236294 + PropertyAccessExpression 2236245 2236280 + Identifier 2236245 2236255 + Identifier 2236256 2236280 + EqualsEqualsEqualsToken 2236280 2236284 + Identifier 2236284 2236294 + Block 2236295 2237770 + VariableStatement 2236297 2236352 + VariableDeclarationList 2236297 2236351 + VariableDeclaration 2236314 2236351 + Identifier 2236314 2236331 + UnionType 2236332 2236351 + NumberKeyword 2236332 2236339 + UndefinedKeyword 2236341 2236351 + IfStatement 2236352 2236999 + CallExpression 2236370 2236406 + Identifier 2236370 2236395 + Identifier 2236396 2236405 + Block 2236407 2236999 + VariableStatement 2236409 2236515 + VariableDeclarationList 2236409 2236514 + VariableDeclaration 2236432 2236514 + Identifier 2236432 2236441 + CallExpression 2236443 2236514 + Identifier 2236443 2236459 + ElementAccessExpression 2236460 2236513 + PropertyAccessExpression 2236460 2236480 + Identifier 2236460 2236469 + Identifier 2236470 2236480 + BinaryExpression 2236481 2236512 + PropertyAccessExpression 2236481 2236508 + PropertyAccessExpression 2236481 2236501 + Identifier 2236481 2236490 + Identifier 2236491 2236501 + Identifier 2236502 2236508 + MinusToken 2236508 2236510 + NumericLiteral 2236510 2236512 + IfStatement 2236515 2236984 + CallExpression 2236537 2236558 + Identifier 2236537 2236548 + Identifier 2236549 2236557 + Block 2236559 2236984 + VariableStatement 2236561 2236685 + VariableDeclarationList 2236561 2236684 + VariableDeclaration 2236588 2236684 + Identifier 2236588 2236607 + CallExpression 2236609 2236684 + Identifier 2236609 2236619 + PropertyAccessExpression 2236620 2236648 + PropertyAccessExpression 2236620 2236635 + Identifier 2236620 2236628 + Identifier 2236629 2236635 + Identifier 2236636 2236648 + ArrowFunction 2236649 2236683 + Parameter 2236649 2236651 + Identifier 2236649 2236651 + EqualsGreaterThanToken 2236651 2236654 + PrefixUnaryExpression 2236654 2236683 + ParenthesizedExpression 2236656 2236683 + BinaryExpression 2236657 2236682 + Identifier 2236657 2236658 + AmpersandToken 2236658 2236660 + PropertyAccessExpression 2236660 2236682 + Identifier 2236660 2236673 + Identifier 2236674 2236682 + VariableStatement 2236685 2236803 + VariableDeclarationList 2236685 2236802 + VariableDeclaration 2236712 2236802 + Identifier 2236712 2236726 + ConditionalExpression 2236728 2236802 + BinaryExpression 2236728 2236751 + Identifier 2236728 2236747 + LessThanToken 2236747 2236749 + NumericLiteral 2236749 2236751 + QuestionToken 2236751 2236753 + PropertyAccessExpression 2236753 2236781 + PropertyAccessExpression 2236753 2236769 + Identifier 2236753 2236762 + Identifier 2236763 2236769 + Identifier 2236770 2236781 + ColonToken 2236781 2236783 + Identifier 2236783 2236802 + IfStatement 2236803 2236965 + BinaryExpression 2236829 2236846 + Identifier 2236829 2236842 + GreaterThanToken 2236842 2236844 + NumericLiteral 2236844 2236846 + Block 2236847 2236965 + ExpressionStatement 2236849 2236942 + BinaryExpression 2236849 2236941 + Identifier 2236849 2236891 + EqualsToken 2236891 2236893 + BinaryExpression 2236893 2236941 + BinaryExpression 2236893 2236925 + PropertyAccessExpression 2236893 2236921 + PropertyAccessExpression 2236893 2236914 + Identifier 2236893 2236903 + Identifier 2236904 2236914 + Identifier 2236915 2236921 + MinusToken 2236921 2236923 + NumericLiteral 2236923 2236925 + PlusToken 2236925 2236927 + Identifier 2236927 2236941 + IfStatement 2236999 2237291 + BinaryExpression 2237017 2237047 + Identifier 2237017 2237033 + EqualsEqualsEqualsToken 2237033 2237037 + Identifier 2237037 2237047 + Block 2237048 2237291 + IfStatement 2237050 2237212 + BinaryExpression 2237072 2237159 + PrefixUnaryExpression 2237072 2237096 + Identifier 2237073 2237096 + AmpersandAmpersandToken 2237096 2237099 + BinaryExpression 2237099 2237159 + PropertyAccessExpression 2237099 2237115 + Identifier 2237099 2237109 + Identifier 2237110 2237115 + AmpersandToken 2237115 2237117 + PropertyAccessExpression 2237117 2237159 + Identifier 2237117 2237132 + Identifier 2237133 2237159 + Block 2237160 2237212 + ReturnStatement 2237162 2237193 + NumericLiteral 2237190 2237192 + ExpressionStatement 2237212 2237276 + BinaryExpression 2237212 2237275 + Identifier 2237212 2237246 + EqualsToken 2237246 2237248 + PropertyAccessExpression 2237248 2237275 + Identifier 2237248 2237258 + Identifier 2237259 2237275 + IfStatement 2237291 2237386 + Identifier 2237309 2237326 + Block 2237327 2237386 + ReturnStatement 2237329 2237371 + Identifier 2237353 2237370 + ForStatement 2237386 2237691 + VariableDeclarationList 2237405 2237433 + VariableDeclaration 2237408 2237433 + Identifier 2237408 2237410 + BinaryExpression 2237412 2237433 + Identifier 2237412 2237429 + MinusToken 2237429 2237431 + NumericLiteral 2237431 2237433 + BinaryExpression 2237434 2237441 + Identifier 2237434 2237436 + GreaterThanEqualsToken 2237436 2237439 + NumericLiteral 2237439 2237441 + PostfixUnaryExpression 2237442 2237446 + Identifier 2237442 2237444 + Block 2237447 2237691 + VariableStatement 2237449 2237512 + VariableDeclarationList 2237449 2237511 + VariableDeclaration 2237472 2237511 + Identifier 2237472 2237477 + CallExpression 2237479 2237511 + Identifier 2237479 2237497 + Identifier 2237498 2237507 + Identifier 2237508 2237510 + IfStatement 2237512 2237637 + BinaryExpression 2237534 2237587 + PropertyAccessExpression 2237534 2237569 + CallExpression 2237534 2237563 + Identifier 2237534 2237544 + Identifier 2237545 2237549 + Identifier 2237550 2237562 + Identifier 2237564 2237569 + AmpersandToken 2237569 2237571 + PropertyAccessExpression 2237571 2237587 + Identifier 2237571 2237581 + Identifier 2237582 2237587 + Block 2237588 2237637 + BreakStatement 2237590 2237618 + ExpressionStatement 2237637 2237676 + BinaryExpression 2237637 2237675 + Identifier 2237637 2237671 + EqualsToken 2237671 2237673 + Identifier 2237673 2237675 + ExpressionStatement 2237691 2237759 + BinaryExpression 2237691 2237758 + PropertyAccessExpression 2237691 2237739 + Identifier 2237691 2237714 + Identifier 2237715 2237739 + EqualsToken 2237739 2237741 + Identifier 2237741 2237758 + ReturnStatement 2237770 2237822 + PropertyAccessExpression 2237786 2237821 + Identifier 2237786 2237796 + Identifier 2237797 2237821 + FunctionDeclaration 2237829 2238196 + Identifier 2237845 2237871 + Parameter 2237872 2237892 + Identifier 2237872 2237881 + TypeReference 2237882 2237892 + Identifier 2237882 2237892 + Block 2237893 2238196 + IfStatement 2237895 2238166 + CallExpression 2237909 2237945 + Identifier 2237909 2237934 + Identifier 2237935 2237944 + Block 2237946 2238166 + VariableStatement 2237948 2238050 + VariableDeclarationList 2237948 2238049 + VariableDeclaration 2237967 2238049 + Identifier 2237967 2237976 + CallExpression 2237978 2238049 + Identifier 2237978 2237994 + ElementAccessExpression 2237995 2238048 + PropertyAccessExpression 2237995 2238015 + Identifier 2237995 2238004 + Identifier 2238005 2238015 + BinaryExpression 2238016 2238047 + PropertyAccessExpression 2238016 2238043 + PropertyAccessExpression 2238016 2238036 + Identifier 2238016 2238025 + Identifier 2238026 2238036 + Identifier 2238037 2238043 + MinusToken 2238043 2238045 + NumericLiteral 2238045 2238047 + ReturnStatement 2238050 2238155 + BinaryExpression 2238070 2238154 + PrefixUnaryExpression 2238070 2238093 + CallExpression 2238072 2238093 + Identifier 2238072 2238083 + Identifier 2238084 2238092 + BarBarToken 2238093 2238096 + PrefixUnaryExpression 2238096 2238154 + PrefixUnaryExpression 2238098 2238154 + ParenthesizedExpression 2238099 2238154 + BinaryExpression 2238100 2238153 + PropertyAccessExpression 2238100 2238129 + PropertyAccessExpression 2238100 2238115 + Identifier 2238100 2238108 + Identifier 2238109 2238115 + Identifier 2238116 2238129 + AmpersandToken 2238129 2238131 + PropertyAccessExpression 2238131 2238153 + Identifier 2238131 2238144 + Identifier 2238145 2238153 + ReturnStatement 2238166 2238189 + FalseKeyword 2238182 2238188 + FunctionDeclaration 2238196 2238754 + Identifier 2238212 2238233 + Parameter 2238234 2238254 + Identifier 2238234 2238243 + TypeReference 2238244 2238254 + Identifier 2238244 2238254 + Block 2238255 2238754 + IfStatement 2238257 2238720 + CallExpression 2238271 2238307 + Identifier 2238271 2238296 + Identifier 2238297 2238306 + Block 2238308 2238720 + VariableStatement 2238310 2238412 + VariableDeclarationList 2238310 2238411 + VariableDeclaration 2238329 2238411 + Identifier 2238329 2238338 + CallExpression 2238340 2238411 + Identifier 2238340 2238356 + ElementAccessExpression 2238357 2238410 + PropertyAccessExpression 2238357 2238377 + Identifier 2238357 2238366 + Identifier 2238367 2238377 + BinaryExpression 2238378 2238409 + PropertyAccessExpression 2238378 2238405 + PropertyAccessExpression 2238378 2238398 + Identifier 2238378 2238387 + Identifier 2238388 2238398 + Identifier 2238399 2238405 + MinusToken 2238405 2238407 + NumericLiteral 2238407 2238409 + IfStatement 2238412 2238541 + PrefixUnaryExpression 2238430 2238452 + CallExpression 2238431 2238452 + Identifier 2238431 2238442 + Identifier 2238443 2238451 + Block 2238453 2238541 + ReturnStatement 2238455 2238526 + ConditionalExpression 2238479 2238525 + CallExpression 2238479 2238499 + Identifier 2238479 2238489 + Identifier 2238490 2238498 + QuestionToken 2238499 2238501 + Identifier 2238501 2238514 + ColonToken 2238514 2238516 + Identifier 2238516 2238525 + IfStatement 2238541 2238709 + BinaryExpression 2238559 2238612 + PropertyAccessExpression 2238559 2238588 + PropertyAccessExpression 2238559 2238574 + Identifier 2238559 2238567 + Identifier 2238568 2238574 + Identifier 2238575 2238588 + AmpersandToken 2238588 2238590 + PropertyAccessExpression 2238590 2238612 + Identifier 2238590 2238603 + Identifier 2238604 2238612 + Block 2238613 2238709 + ReturnStatement 2238615 2238694 + CallExpression 2238639 2238693 + Identifier 2238639 2238654 + Identifier 2238655 2238663 + PropertyAccessExpression 2238664 2238692 + PropertyAccessExpression 2238664 2238680 + Identifier 2238664 2238673 + Identifier 2238674 2238680 + Identifier 2238681 2238692 + ReturnStatement 2238720 2238747 + Identifier 2238736 2238746 + FunctionDeclaration 2238754 2238979 + Identifier 2238770 2238790 + Parameter 2238791 2238811 + Identifier 2238791 2238800 + TypeReference 2238801 2238811 + Identifier 2238801 2238811 + Block 2238812 2238979 + VariableStatement 2238814 2238873 + VariableDeclarationList 2238814 2238872 + VariableDeclaration 2238829 2238872 + Identifier 2238829 2238838 + CallExpression 2238840 2238872 + Identifier 2238840 2238861 + Identifier 2238862 2238871 + ReturnStatement 2238873 2238972 + ConditionalExpression 2238889 2238971 + BinaryExpression 2238889 2238948 + BinaryExpression 2238889 2238924 + Identifier 2238889 2238898 + AmpersandAmpersandToken 2238898 2238901 + PrefixUnaryExpression 2238901 2238924 + CallExpression 2238903 2238924 + Identifier 2238903 2238914 + Identifier 2238915 2238923 + AmpersandAmpersandToken 2238924 2238927 + PrefixUnaryExpression 2238927 2238948 + CallExpression 2238929 2238948 + Identifier 2238929 2238938 + Identifier 2238939 2238947 + QuestionToken 2238948 2238950 + Identifier 2238950 2238959 + ColonToken 2238959 2238961 + Identifier 2238961 2238971 + FunctionDeclaration 2238979 2239147 + Identifier 2238995 2239030 + Parameter 2239031 2239051 + Identifier 2239031 2239040 + TypeReference 2239041 2239051 + Identifier 2239041 2239051 + Block 2239052 2239147 + ReturnStatement 2239054 2239140 + CallExpression 2239070 2239139 + Identifier 2239070 2239117 + Identifier 2239118 2239127 + Identifier 2239128 2239138 + FunctionDeclaration 2239147 2239359 + Identifier 2239163 2239210 + Parameter 2239211 2239231 + Identifier 2239211 2239220 + TypeReference 2239221 2239231 + Identifier 2239221 2239231 + Parameter 2239232 2239251 + Identifier 2239232 2239245 + TypeReference 2239246 2239251 + Identifier 2239246 2239251 + Block 2239252 2239359 + ReturnStatement 2239254 2239352 + ConditionalExpression 2239270 2239351 + BinaryExpression 2239270 2239302 + PropertyAccessExpression 2239270 2239298 + PropertyAccessExpression 2239270 2239291 + Identifier 2239270 2239280 + Identifier 2239281 2239291 + Identifier 2239292 2239298 + GreaterThanToken 2239298 2239300 + NumericLiteral 2239300 2239302 + QuestionToken 2239302 2239304 + CallExpression 2239304 2239336 + Identifier 2239304 2239322 + Identifier 2239323 2239332 + NumericLiteral 2239333 2239335 + ColonToken 2239336 2239338 + Identifier 2239338 2239351 + FunctionDeclaration 2239359 2240473 + Identifier 2239375 2239413 + Parameter 2239414 2239434 + Identifier 2239414 2239423 + TypeReference 2239424 2239434 + Identifier 2239424 2239434 + Parameter 2239435 2239454 + Identifier 2239435 2239443 + TypeReference 2239444 2239454 + Identifier 2239444 2239454 + Parameter 2239455 2239490 + Identifier 2239455 2239472 + TypeReference 2239473 2239490 + Identifier 2239473 2239490 + Block 2239491 2240473 + VariableStatement 2239493 2239592 + VariableDeclarationList 2239493 2239591 + VariableDeclaration 2239508 2239591 + Identifier 2239508 2239512 + BinaryExpression 2239514 2239591 + PropertyAccessExpression 2239514 2239542 + PropertyAccessExpression 2239514 2239535 + Identifier 2239514 2239524 + Identifier 2239525 2239535 + Identifier 2239536 2239542 + MinusToken 2239542 2239544 + ParenthesizedExpression 2239544 2239591 + ConditionalExpression 2239546 2239590 + CallExpression 2239546 2239582 + Identifier 2239546 2239571 + Identifier 2239572 2239581 + QuestionToken 2239582 2239584 + NumericLiteral 2239584 2239586 + ColonToken 2239586 2239588 + NumericLiteral 2239588 2239590 + ForStatement 2239592 2240136 + VariableDeclarationList 2239607 2239616 + VariableDeclaration 2239610 2239616 + Identifier 2239610 2239612 + NumericLiteral 2239614 2239616 + BinaryExpression 2239617 2239625 + Identifier 2239617 2239619 + LessThanToken 2239619 2239621 + Identifier 2239621 2239625 + PostfixUnaryExpression 2239626 2239630 + Identifier 2239626 2239628 + Block 2239631 2240136 + VariableStatement 2239633 2239732 + VariableDeclarationList 2239633 2239731 + VariableDeclaration 2239652 2239731 + Identifier 2239652 2239664 + AsExpression 2239666 2239731 + PropertyAccessExpression 2239666 2239707 + ElementAccessExpression 2239666 2239690 + PropertyAccessExpression 2239666 2239687 + Identifier 2239666 2239676 + Identifier 2239677 2239687 + Identifier 2239688 2239689 + Identifier 2239691 2239707 + TypeReference 2239710 2239731 + Identifier 2239710 2239731 + VariableStatement 2239732 2239807 + VariableDeclarationList 2239732 2239806 + VariableDeclaration 2239751 2239806 + Identifier 2239751 2239760 + CallExpression 2239762 2239806 + Identifier 2239762 2239793 + Identifier 2239794 2239805 + IfStatement 2239807 2240125 + Identifier 2239825 2239833 + Block 2239834 2240125 + VariableStatement 2239836 2239973 + VariableDeclarationList 2239836 2239972 + VariableDeclaration 2239859 2239972 + Identifier 2239859 2239866 + CallExpression 2239868 2239972 + Identifier 2239868 2239883 + CallExpression 2239884 2239913 + Identifier 2239884 2239903 + Identifier 2239904 2239912 + FalseKeyword 2239914 2239935 + CallExpression 2239936 2239971 + Identifier 2239936 2239958 + Identifier 2239959 2239970 + VariableStatement 2239973 2240036 + VariableDeclarationList 2239973 2240035 + VariableDeclaration 2239996 2240035 + Identifier 2239996 2240003 + CallExpression 2240005 2240035 + Identifier 2240005 2240023 + Identifier 2240024 2240031 + Identifier 2240032 2240034 + ExpressionStatement 2240036 2240110 + CallExpression 2240036 2240109 + Identifier 2240036 2240064 + PropertyAccessExpression 2240065 2240092 + Identifier 2240065 2240081 + Identifier 2240082 2240092 + Identifier 2240093 2240100 + Identifier 2240101 2240108 + VariableStatement 2240136 2240238 + VariableDeclarationList 2240136 2240237 + VariableDeclaration 2240151 2240237 + Identifier 2240151 2240160 + BinaryExpression 2240162 2240237 + PropertyAccessExpression 2240162 2240184 + Identifier 2240162 2240172 + Identifier 2240173 2240184 + AmpersandAmpersandToken 2240184 2240187 + CallExpression 2240187 2240237 + Identifier 2240187 2240214 + PropertyAccessExpression 2240215 2240236 + Identifier 2240215 2240224 + Identifier 2240225 2240236 + IfStatement 2240238 2240466 + Identifier 2240252 2240260 + Block 2240261 2240466 + VariableStatement 2240263 2240322 + VariableDeclarationList 2240263 2240321 + VariableDeclaration 2240282 2240321 + Identifier 2240282 2240289 + CallExpression 2240291 2240321 + Identifier 2240291 2240311 + Identifier 2240312 2240320 + VariableStatement 2240322 2240385 + VariableDeclarationList 2240322 2240384 + VariableDeclaration 2240341 2240384 + Identifier 2240341 2240348 + CallExpression 2240350 2240384 + Identifier 2240350 2240375 + Identifier 2240376 2240383 + ExpressionStatement 2240385 2240455 + CallExpression 2240385 2240454 + Identifier 2240385 2240409 + PropertyAccessExpression 2240410 2240437 + Identifier 2240410 2240426 + Identifier 2240427 2240437 + Identifier 2240438 2240445 + Identifier 2240446 2240453 + FunctionDeclaration 2240473 2243244 + Identifier 2240489 2240520 + Parameter 2240521 2240541 + Identifier 2240521 2240530 + TypeReference 2240531 2240541 + Identifier 2240531 2240541 + Parameter 2240542 2240561 + Identifier 2240542 2240550 + TypeReference 2240551 2240561 + Identifier 2240551 2240561 + Block 2240562 2243244 + IfStatement 2240564 2240888 + PropertyAccessExpression 2240578 2240600 + Identifier 2240578 2240585 + Identifier 2240586 2240600 + Block 2240601 2240888 + IfStatement 2240603 2240877 + PrefixUnaryExpression 2240621 2240646 + PropertyAccessExpression 2240622 2240646 + Identifier 2240622 2240631 + Identifier 2240632 2240646 + Block 2240647 2240732 + ExpressionStatement 2240649 2240717 + BinaryExpression 2240649 2240716 + PropertyAccessExpression 2240649 2240691 + Identifier 2240649 2240676 + Identifier 2240677 2240691 + EqualsToken 2240691 2240693 + PropertyAccessExpression 2240693 2240716 + Identifier 2240693 2240701 + Identifier 2240702 2240716 + Block 2240750 2240877 + ReturnStatement 2240752 2240777 + IfStatement 2240888 2241401 + PropertyAccessExpression 2240902 2240923 + Identifier 2240902 2240909 + Identifier 2240910 2240923 + Block 2240924 2241401 + VariableStatement 2240926 2240982 + VariableDeclarationList 2240926 2240981 + VariableDeclaration 2240945 2240981 + Identifier 2240945 2240955 + PropertyAccessExpression 2240957 2240981 + Identifier 2240957 2240967 + Identifier 2240968 2240981 + IfStatement 2240982 2241390 + BinaryExpression 2241000 2241102 + PrefixUnaryExpression 2241000 2241010 + Identifier 2241001 2241010 + BarBarToken 2241010 2241013 + BinaryExpression 2241013 2241102 + PropertyAccessExpression 2241013 2241040 + Identifier 2241013 2241023 + Identifier 2241024 2241040 + AmpersandAmpersandToken 2241040 2241043 + PrefixUnaryExpression 2241043 2241102 + PropertyAccessExpression 2241045 2241102 + ParenthesizedExpression 2241045 2241097 + AsExpression 2241046 2241096 + PropertyAccessExpression 2241046 2241072 + Identifier 2241046 2241055 + Identifier 2241056 2241072 + TypeReference 2241075 2241096 + Identifier 2241075 2241096 + Identifier 2241098 2241102 + Block 2241103 2241390 + IfStatement 2241105 2241271 + PrefixUnaryExpression 2241127 2241137 + Identifier 2241128 2241137 + Block 2241138 2241271 + ExpressionStatement 2241140 2241252 + BinaryExpression 2241140 2241251 + PropertyAccessExpression 2241140 2241185 + Identifier 2241140 2241171 + Identifier 2241172 2241185 + EqualsToken 2241185 2241187 + CallExpression 2241187 2241251 + Identifier 2241187 2241208 + PropertyAccessExpression 2241209 2241230 + Identifier 2241209 2241216 + Identifier 2241217 2241230 + Identifier 2241231 2241250 + ExpressionStatement 2241271 2241375 + CallExpression 2241271 2241374 + Identifier 2241271 2241308 + NonNullExpression 2241309 2241333 + PropertyAccessExpression 2241309 2241332 + Identifier 2241309 2241318 + Identifier 2241319 2241332 + CallExpression 2241334 2241373 + Identifier 2241334 2241350 + PropertyAccessExpression 2241351 2241372 + Identifier 2241351 2241358 + Identifier 2241359 2241372 + VariableStatement 2241401 2241500 + VariableDeclarationList 2241401 2241499 + VariableDeclaration 2241416 2241499 + Identifier 2241416 2241420 + BinaryExpression 2241422 2241499 + PropertyAccessExpression 2241422 2241450 + PropertyAccessExpression 2241422 2241443 + Identifier 2241422 2241432 + Identifier 2241433 2241443 + Identifier 2241444 2241450 + MinusToken 2241450 2241452 + ParenthesizedExpression 2241452 2241499 + ConditionalExpression 2241454 2241498 + CallExpression 2241454 2241490 + Identifier 2241454 2241479 + Identifier 2241480 2241489 + QuestionToken 2241490 2241492 + NumericLiteral 2241492 2241494 + ColonToken 2241494 2241496 + NumericLiteral 2241496 2241498 + ForStatement 2241500 2242321 + VariableDeclarationList 2241515 2241524 + VariableDeclaration 2241518 2241524 + Identifier 2241518 2241520 + NumericLiteral 2241522 2241524 + BinaryExpression 2241525 2241533 + Identifier 2241525 2241527 + LessThanToken 2241527 2241529 + Identifier 2241529 2241533 + PostfixUnaryExpression 2241534 2241538 + Identifier 2241534 2241536 + Block 2241539 2242321 + VariableStatement 2241541 2241597 + VariableDeclarationList 2241541 2241596 + VariableDeclaration 2241560 2241596 + Identifier 2241560 2241570 + ElementAccessExpression 2241572 2241596 + PropertyAccessExpression 2241572 2241593 + Identifier 2241572 2241582 + Identifier 2241583 2241593 + Identifier 2241594 2241595 + VariableStatement 2241597 2241682 + VariableDeclarationList 2241597 2241681 + VariableDeclaration 2241616 2241681 + Identifier 2241616 2241628 + AsExpression 2241630 2241681 + PropertyAccessExpression 2241630 2241657 + Identifier 2241630 2241640 + Identifier 2241641 2241657 + TypeReference 2241660 2241681 + Identifier 2241660 2241681 + IfStatement 2241682 2242310 + PrefixUnaryExpression 2241700 2241744 + CallExpression 2241701 2241744 + Identifier 2241701 2241731 + Identifier 2241732 2241743 + Block 2241745 2242310 + VariableStatement 2241747 2241809 + VariableDeclarationList 2241747 2241808 + VariableDeclaration 2241768 2241808 + Identifier 2241768 2241773 + CallExpression 2241775 2241808 + Identifier 2241775 2241796 + Identifier 2241797 2241804 + Identifier 2241805 2241807 + IfStatement 2241809 2242240 + BinaryExpression 2241831 2241862 + Identifier 2241831 2241835 + AmpersandAmpersandToken 2241835 2241838 + PropertyAccessExpression 2241838 2241862 + Identifier 2241838 2241850 + Identifier 2241851 2241862 + Block 2241863 2242240 + VariableStatement 2241865 2241968 + VariableDeclarationList 2241865 2241967 + VariableDeclaration 2241890 2241967 + Identifier 2241890 2241906 + CallExpression 2241908 2241967 + Identifier 2241908 2241936 + Identifier 2241937 2241948 + PropertyAccessExpression 2241949 2241966 + Identifier 2241949 2241959 + Identifier 2241960 2241966 + IfStatement 2241968 2242221 + BinaryExpression 2241994 2242146 + PrefixUnaryExpression 2241994 2242036 + CallExpression 2241995 2242036 + Identifier 2241995 2242013 + Identifier 2242014 2242029 + Identifier 2242030 2242035 + AmpersandAmpersandToken 2242036 2242039 + CallExpression 2242039 2242146 + Identifier 2242039 2242058 + Identifier 2242059 2242063 + BinaryExpression 2242064 2242145 + Identifier 2242064 2242080 + EqualsToken 2242080 2242082 + CallExpression 2242082 2242145 + Identifier 2242082 2242115 + Identifier 2242116 2242127 + Identifier 2242128 2242144 + Block 2242147 2242221 + ExpressionStatement 2242149 2242198 + BinaryExpression 2242149 2242197 + Identifier 2242149 2242179 + EqualsToken 2242179 2242181 + Identifier 2242181 2242197 + ExpressionStatement 2242240 2242295 + CallExpression 2242240 2242294 + Identifier 2242240 2242277 + Identifier 2242278 2242287 + Identifier 2242288 2242293 + IfStatement 2242321 2243237 + CallExpression 2242335 2242371 + Identifier 2242335 2242360 + Identifier 2242361 2242370 + Block 2242372 2243237 + VariableStatement 2242374 2242541 + VariableDeclarationList 2242374 2242540 + VariableDeclaration 2242501 2242540 + Identifier 2242501 2242511 + CallExpression 2242513 2242540 + Identifier 2242513 2242518 + PropertyAccessExpression 2242519 2242539 + Identifier 2242519 2242528 + Identifier 2242529 2242539 + IfStatement 2242541 2243226 + ConditionalExpression 2242559 2243034 + PropertyAccessExpression 2242559 2242603 + Identifier 2242559 2242586 + Identifier 2242587 2242603 + QuestionToken 2242603 2242626 + PrefixUnaryExpression 2242626 2242710 + CallExpression 2242628 2242710 + Identifier 2242628 2242658 + AsExpression 2242659 2242709 + PropertyAccessExpression 2242659 2242685 + Identifier 2242659 2242668 + Identifier 2242669 2242685 + TypeReference 2242688 2242709 + Identifier 2242688 2242709 + ColonToken 2242710 2242979 + PrefixUnaryExpression 2242979 2243034 + PrefixUnaryExpression 2242981 2243034 + ParenthesizedExpression 2242982 2243034 + BinaryExpression 2242983 2243033 + CallExpression 2242983 2243007 + Identifier 2242983 2242996 + Identifier 2242997 2243006 + AmpersandToken 2243007 2243009 + PropertyAccessExpression 2243009 2243033 + Identifier 2243009 2243020 + Identifier 2243021 2243033 + Block 2243049 2243226 + VariableStatement 2243051 2243137 + VariableDeclarationList 2243051 2243136 + VariableDeclaration 2243074 2243136 + Identifier 2243074 2243098 + CallExpression 2243100 2243136 + Identifier 2243100 2243122 + Identifier 2243123 2243130 + Identifier 2243131 2243135 + ExpressionStatement 2243137 2243211 + CallExpression 2243137 2243210 + Identifier 2243137 2243174 + Identifier 2243175 2243184 + Identifier 2243185 2243209 + FunctionDeclaration 2243244 2243548 + Identifier 2243260 2243294 + Parameter 2243295 2243315 + Identifier 2243295 2243304 + TypeReference 2243305 2243315 + Identifier 2243305 2243315 + Block 2243316 2243548 + IfStatement 2243318 2243428 + PropertyAccessExpression 2243332 2243355 + Identifier 2243332 2243341 + Identifier 2243342 2243355 + Block 2243356 2243428 + ExpressionStatement 2243358 2243417 + CallExpression 2243358 2243416 + Identifier 2243358 2243391 + PropertyAccessExpression 2243392 2243415 + Identifier 2243392 2243401 + Identifier 2243402 2243415 + ForOfStatement 2243428 2243541 + VariableDeclarationList 2243443 2243458 + VariableDeclaration 2243448 2243458 + Identifier 2243448 2243458 + PropertyAccessExpression 2243461 2243482 + Identifier 2243461 2243471 + Identifier 2243472 2243482 + Block 2243483 2243541 + ExpressionStatement 2243485 2243530 + CallExpression 2243485 2243529 + Identifier 2243485 2243518 + Identifier 2243519 2243528 + FunctionDeclaration 2243548 2244822 + Identifier 2243564 2243584 + Parameter 2243585 2243602 + Identifier 2243585 2243594 + TypeReference 2243595 2243602 + Identifier 2243595 2243602 + Parameter 2243603 2243625 + Identifier 2243603 2243618 + QuestionToken 2243618 2243619 + TypeReference 2243620 2243625 + Identifier 2243620 2243625 + Block 2243626 2244822 + VariableStatement 2243628 2243678 + VariableDeclarationList 2243628 2243677 + VariableDeclaration 2243643 2243677 + Identifier 2243643 2243649 + CallExpression 2243651 2243677 + Identifier 2243651 2243666 + Identifier 2243667 2243676 + IfStatement 2243678 2244815 + PrefixUnaryExpression 2243692 2243703 + PropertyAccessExpression 2243693 2243703 + Identifier 2243693 2243698 + Identifier 2243699 2243703 + Block 2243704 2244623 + VariableStatement 2243706 2243803 + VariableDeclarationList 2243706 2243802 + VariableDeclaration 2243725 2243802 + Identifier 2243725 2243737 + AsExpression 2243739 2243802 + PropertyAccessExpression 2243739 2243766 + Identifier 2243739 2243749 + Identifier 2243750 2243766 + UnionType 2243769 2243802 + TypeReference 2243769 2243790 + Identifier 2243769 2243790 + UndefinedKeyword 2243792 2243802 + ExpressionStatement 2243803 2244171 + BinaryExpression 2243803 2244170 + PropertyAccessExpression 2243803 2243827 + Identifier 2243803 2243822 + Identifier 2243823 2243827 + EqualsToken 2243827 2243829 + CallExpression 2243829 2244170 + Identifier 2243829 2243844 + BinaryExpression 2243845 2244002 + Identifier 2243845 2243877 + BarBarToken 2243877 2243880 + ParenthesizedExpression 2243880 2244002 + ConditionalExpression 2243882 2244001 + Identifier 2243882 2243893 + QuestionToken 2243893 2243895 + CallExpression 2243895 2243972 + Identifier 2243895 2243936 + Identifier 2243937 2243948 + TrueKeyword 2243949 2243971 + ColonToken 2243972 2243974 + CallExpression 2243974 2244001 + Identifier 2243974 2243990 + Identifier 2243991 2244000 + FalseKeyword 2244003 2244041 + BinaryExpression 2244042 2244154 + BinaryExpression 2244042 2244116 + PrefixUnaryExpression 2244042 2244088 + PrefixUnaryExpression 2244076 2244088 + Identifier 2244077 2244088 + AmpersandAmpersandToken 2244088 2244091 + PrefixUnaryExpression 2244091 2244116 + PropertyAccessExpression 2244093 2244116 + Identifier 2244093 2244104 + Identifier 2244105 2244116 + AmpersandAmpersandToken 2244116 2244119 + CallExpression 2244119 2244154 + Identifier 2244119 2244141 + Identifier 2244142 2244153 + IfStatement 2244171 2244612 + BinaryExpression 2244189 2244251 + Identifier 2244189 2244200 + AmpersandAmpersandToken 2244200 2244203 + BinaryExpression 2244203 2244251 + PropertyAccessExpression 2244203 2244225 + PropertyAccessExpression 2244203 2244220 + Identifier 2244203 2244215 + Identifier 2244216 2244220 + Identifier 2244221 2244225 + ExclamationEqualsEqualsToken 2244225 2244229 + PropertyAccessExpression 2244229 2244251 + Identifier 2244229 2244240 + Identifier 2244241 2244251 + Block 2244252 2244612 + IfStatement 2244254 2244523 + BinaryExpression 2244396 2244422 + PropertyAccessExpression 2244396 2244406 + Identifier 2244396 2244401 + Identifier 2244402 2244406 + EqualsEqualsEqualsToken 2244406 2244410 + Identifier 2244410 2244422 + Block 2244423 2244523 + ExpressionStatement 2244425 2244504 + BinaryExpression 2244425 2244503 + PropertyAccessExpression 2244425 2244457 + Identifier 2244425 2244452 + Identifier 2244453 2244457 + EqualsToken 2244457 2244459 + CallExpression 2244459 2244503 + Identifier 2244459 2244485 + PropertyAccessExpression 2244486 2244502 + Identifier 2244486 2244497 + Identifier 2244498 2244502 + ExpressionStatement 2244523 2244597 + CallExpression 2244523 2244596 + Identifier 2244523 2244566 + PropertyAccessExpression 2244567 2244583 + Identifier 2244567 2244578 + Identifier 2244579 2244583 + PropertyAccessExpression 2244584 2244595 + Identifier 2244584 2244590 + Identifier 2244591 2244595 + IfStatement 2244637 2244815 + Identifier 2244642 2244656 + Block 2244657 2244815 + ExpressionStatement 2244659 2244804 + CallExpression 2244659 2244803 + PropertyAccessExpression 2244659 2244690 + Identifier 2244659 2244678 + Identifier 2244679 2244690 + PropertyAccessExpression 2244691 2244701 + Identifier 2244691 2244696 + Identifier 2244697 2244701 + Identifier 2244702 2244717 + StringLiteral 2244718 2244802 + FunctionDeclaration 2244822 2245623 + Identifier 2245020 2245046 + Parameter 2245047 2245070 + Identifier 2245047 2245054 + TypeReference 2245055 2245070 + Identifier 2245055 2245070 + Parameter 2245071 2245088 + Identifier 2245071 2245082 + TypeReference 2245083 2245088 + Identifier 2245083 2245088 + Block 2245089 2245623 + ForOfStatement 2245091 2245616 + VariableDeclarationList 2245106 2245119 + VariableDeclaration 2245111 2245119 + Identifier 2245111 2245119 + PropertyAccessExpression 2245122 2245139 + Identifier 2245122 2245130 + Identifier 2245131 2245139 + Block 2245140 2245616 + IfStatement 2245142 2245605 + PrefixUnaryExpression 2245160 2245189 + CallExpression 2245161 2245189 + Identifier 2245161 2245180 + Identifier 2245181 2245188 + Block 2245190 2245605 + VariableStatement 2245192 2245310 + VariableDeclarationList 2245192 2245309 + VariableDeclaration 2245215 2245309 + Identifier 2245215 2245220 + CallExpression 2245222 2245309 + Identifier 2245222 2245258 + Identifier 2245259 2245266 + Identifier 2245267 2245278 + FalseKeyword 2245279 2245308 + IfStatement 2245310 2245590 + BinaryExpression 2245332 2245375 + PropertyAccessExpression 2245332 2245349 + PropertyAccessExpression 2245332 2245344 + Identifier 2245332 2245339 + Identifier 2245340 2245344 + Identifier 2245345 2245349 + EqualsEqualsEqualsToken 2245349 2245353 + PropertyAccessExpression 2245353 2245375 + Identifier 2245353 2245364 + Identifier 2245365 2245375 + Block 2245376 2245479 + ExpressionStatement 2245378 2245460 + BinaryExpression 2245378 2245459 + PropertyAccessExpression 2245378 2245452 + CallExpression 2245378 2245447 + Identifier 2245378 2245414 + CallExpression 2245415 2245446 + Identifier 2245415 2245437 + Identifier 2245438 2245445 + Identifier 2245448 2245452 + EqualsToken 2245452 2245454 + Identifier 2245454 2245459 + Block 2245501 2245590 + ExpressionStatement 2245503 2245571 + CallExpression 2245503 2245570 + Identifier 2245503 2245550 + PropertyAccessExpression 2245551 2245563 + Identifier 2245551 2245558 + Identifier 2245559 2245563 + Identifier 2245564 2245569 + FunctionDeclaration 2245623 2245809 + Identifier 2245639 2245671 + Parameter 2245672 2245687 + Identifier 2245672 2245681 + TypeReference 2245682 2245687 + Identifier 2245682 2245687 + Block 2245688 2245809 + ReturnStatement 2245690 2245802 + CallExpression 2245706 2245801 + Identifier 2245706 2245729 + CallExpression 2245730 2245787 + Identifier 2245730 2245764 + TrueKeyword 2245765 2245786 + ArrayLiteralExpression 2245788 2245800 + Identifier 2245790 2245799 + FunctionDeclaration 2245809 2246033 + Identifier 2245825 2245863 + Parameter 2245864 2245878 + Identifier 2245864 2245872 + TypeReference 2245873 2245878 + Identifier 2245873 2245878 + Parameter 2245879 2245895 + Identifier 2245879 2245889 + TypeReference 2245890 2245895 + Identifier 2245890 2245895 + Block 2245896 2246033 + ReturnStatement 2245898 2246026 + CallExpression 2245914 2246025 + Identifier 2245914 2245937 + CallExpression 2245938 2246001 + Identifier 2245938 2245978 + TrueKeyword 2245979 2246000 + ArrayLiteralExpression 2246002 2246024 + Identifier 2246004 2246012 + Identifier 2246013 2246023 + FunctionDeclaration 2246033 2246257 + Identifier 2246049 2246087 + Parameter 2246088 2246102 + Identifier 2246088 2246096 + TypeReference 2246097 2246102 + Identifier 2246097 2246102 + Parameter 2246103 2246119 + Identifier 2246103 2246113 + TypeReference 2246114 2246119 + Identifier 2246114 2246119 + Block 2246120 2246257 + ReturnStatement 2246122 2246250 + CallExpression 2246138 2246249 + Identifier 2246138 2246161 + CallExpression 2246162 2246225 + Identifier 2246162 2246202 + TrueKeyword 2246203 2246224 + ArrayLiteralExpression 2246226 2246248 + Identifier 2246228 2246236 + Identifier 2246237 2246247 + FunctionDeclaration 2246257 2246481 + Identifier 2246273 2246311 + Parameter 2246312 2246326 + Identifier 2246312 2246320 + TypeReference 2246321 2246326 + Identifier 2246321 2246326 + Parameter 2246327 2246343 + Identifier 2246327 2246337 + TypeReference 2246338 2246343 + Identifier 2246338 2246343 + Block 2246344 2246481 + ReturnStatement 2246346 2246474 + CallExpression 2246362 2246473 + Identifier 2246362 2246385 + CallExpression 2246386 2246449 + Identifier 2246386 2246426 + TrueKeyword 2246427 2246448 + ArrayLiteralExpression 2246450 2246472 + Identifier 2246452 2246460 + Identifier 2246461 2246471 + FunctionDeclaration 2246481 2246709 + Identifier 2246497 2246537 + Parameter 2246538 2246552 + Identifier 2246538 2246546 + TypeReference 2246547 2246552 + Identifier 2246547 2246552 + Parameter 2246553 2246569 + Identifier 2246553 2246563 + TypeReference 2246564 2246569 + Identifier 2246564 2246569 + Block 2246570 2246709 + ReturnStatement 2246572 2246702 + CallExpression 2246588 2246701 + Identifier 2246588 2246611 + CallExpression 2246612 2246677 + Identifier 2246612 2246654 + TrueKeyword 2246655 2246676 + ArrayLiteralExpression 2246678 2246700 + Identifier 2246680 2246688 + Identifier 2246689 2246699 + FunctionDeclaration 2246709 2246931 + Identifier 2246725 2246762 + Parameter 2246763 2246777 + Identifier 2246763 2246771 + TypeReference 2246772 2246777 + Identifier 2246772 2246777 + Parameter 2246778 2246794 + Identifier 2246778 2246788 + TypeReference 2246789 2246794 + Identifier 2246789 2246794 + Block 2246795 2246931 + ReturnStatement 2246797 2246924 + CallExpression 2246813 2246923 + Identifier 2246813 2246836 + CallExpression 2246837 2246899 + Identifier 2246837 2246876 + TrueKeyword 2246877 2246898 + ArrayLiteralExpression 2246900 2246922 + Identifier 2246902 2246910 + Identifier 2246911 2246921 + FunctionDeclaration 2246931 2248066 + Identifier 2247151 2247194 + Parameter 2247195 2247209 + Identifier 2247195 2247203 + TypeReference 2247204 2247209 + Identifier 2247204 2247209 + Parameter 2247210 2247229 + Identifier 2247210 2247220 + BooleanKeyword 2247221 2247229 + Parameter 2247230 2247248 + Identifier 2247230 2247239 + BooleanKeyword 2247240 2247248 + Block 2247249 2248066 + VariableStatement 2247251 2247346 + VariableDeclarationList 2247251 2247345 + VariableDeclaration 2247266 2247345 + Identifier 2247266 2247270 + AsExpression 2247272 2247345 + TemplateExpression 2247272 2247336 + TemplateHead 2247272 2247276 + TemplateSpan 2247276 2247300 + ConditionalExpression 2247276 2247297 + Identifier 2247276 2247285 + QuestionToken 2247285 2247287 + StringLiteral 2247287 2247291 + ColonToken 2247291 2247293 + StringLiteral 2247293 2247297 + TemplateMiddle 2247297 2247300 + TemplateSpan 2247300 2247323 + ConditionalExpression 2247300 2247320 + Identifier 2247300 2247308 + QuestionToken 2247308 2247310 + StringLiteral 2247310 2247314 + ColonToken 2247314 2247316 + StringLiteral 2247316 2247320 + TemplateMiddle 2247320 2247323 + TemplateSpan 2247323 2247336 + PropertyAccessExpression 2247323 2247334 + Identifier 2247323 2247331 + Identifier 2247332 2247334 + TemplateTail 2247334 2247336 + TypeReference 2247339 2247345 + Identifier 2247339 2247345 + VariableStatement 2247346 2247418 + VariableDeclarationList 2247346 2247417 + VariableDeclaration 2247359 2247417 + Identifier 2247359 2247372 + CallExpression 2247374 2247417 + PropertyAccessExpression 2247374 2247412 + Identifier 2247374 2247408 + Identifier 2247409 2247412 + Identifier 2247413 2247416 + IfStatement 2247418 2248029 + PrefixUnaryExpression 2247432 2247445 + Identifier 2247433 2247445 + Block 2247446 2248029 + VariableStatement 2247448 2247498 + VariableDeclarationList 2247448 2247497 + VariableDeclaration 2247467 2247497 + Identifier 2247467 2247475 + CallExpression 2247477 2247497 + Identifier 2247477 2247495 + ExpressionStatement 2247498 2247590 + CallExpression 2247498 2247589 + PropertyAccessExpression 2247498 2247523 + Identifier 2247498 2247519 + Identifier 2247520 2247523 + AsExpression 2247524 2247542 + StringLiteral 2247524 2247530 + TypeReference 2247533 2247542 + Identifier 2247533 2247542 + CallExpression 2247543 2247588 + Identifier 2247543 2247558 + AsExpression 2247559 2247577 + StringLiteral 2247559 2247565 + TypeReference 2247568 2247577 + Identifier 2247568 2247577 + Identifier 2247578 2247587 + ExpressionStatement 2247590 2247712 + CallExpression 2247590 2247711 + PropertyAccessExpression 2247590 2247615 + Identifier 2247590 2247611 + Identifier 2247612 2247615 + AsExpression 2247616 2247637 + StringLiteral 2247616 2247625 + TypeReference 2247628 2247637 + Identifier 2247628 2247637 + CallExpression 2247638 2247710 + Identifier 2247638 2247653 + AsExpression 2247654 2247675 + StringLiteral 2247654 2247663 + TypeReference 2247666 2247675 + Identifier 2247666 2247675 + ConditionalExpression 2247676 2247709 + Identifier 2247676 2247686 + QuestionToken 2247686 2247688 + Identifier 2247688 2247697 + ColonToken 2247697 2247699 + Identifier 2247699 2247709 + ExpressionStatement 2247712 2247831 + CallExpression 2247712 2247830 + PropertyAccessExpression 2247712 2247737 + Identifier 2247712 2247733 + Identifier 2247734 2247737 + AsExpression 2247738 2247758 + StringLiteral 2247738 2247746 + TypeReference 2247749 2247758 + Identifier 2247749 2247758 + CallExpression 2247759 2247829 + Identifier 2247759 2247774 + AsExpression 2247775 2247795 + StringLiteral 2247775 2247783 + TypeReference 2247786 2247795 + Identifier 2247786 2247795 + ConditionalExpression 2247796 2247828 + Identifier 2247796 2247805 + QuestionToken 2247805 2247807 + Identifier 2247807 2247816 + ColonToken 2247816 2247818 + Identifier 2247818 2247828 + ExpressionStatement 2247831 2247947 + BinaryExpression 2247831 2247946 + Identifier 2247831 2247857 + EqualsToken 2247857 2247859 + CallExpression 2247859 2247946 + Identifier 2247859 2247879 + Identifier 2247880 2247900 + Identifier 2247901 2247909 + Identifier 2247910 2247921 + Identifier 2247922 2247933 + Identifier 2247934 2247945 + ExpressionStatement 2247947 2248018 + CallExpression 2247947 2248017 + PropertyAccessExpression 2247947 2247998 + Identifier 2247947 2247994 + Identifier 2247995 2247998 + Identifier 2247999 2248002 + Identifier 2248003 2248016 + ReturnStatement 2248029 2248059 + Identifier 2248045 2248058 + FunctionDeclaration 2248066 2249239 + Identifier 2248082 2248127 + Parameter 2248128 2248195 + Identifier 2248128 2248132 + UnionType 2248133 2248195 + TypeReference 2248133 2248151 + Identifier 2248133 2248151 + TypeReference 2248153 2248173 + Identifier 2248153 2248173 + TypeReference 2248175 2248195 + Identifier 2248175 2248195 + Parameter 2248196 2248211 + Identifier 2248196 2248205 + TypeReference 2248206 2248211 + Identifier 2248206 2248211 + Parameter 2248212 2248228 + Identifier 2248212 2248222 + TypeReference 2248223 2248228 + Identifier 2248223 2248228 + Block 2248229 2249239 + VariableStatement 2248231 2248282 + VariableDeclarationList 2248231 2248281 + VariableDeclaration 2248246 2248281 + Identifier 2248246 2248255 + CallExpression 2248257 2248281 + Identifier 2248257 2248275 + Identifier 2248276 2248280 + VariableStatement 2248282 2248341 + VariableDeclarationList 2248282 2248340 + VariableDeclaration 2248297 2248340 + Identifier 2248297 2248307 + CallExpression 2248309 2248340 + Identifier 2248309 2248329 + PropertyAccessExpression 2248330 2248339 + Identifier 2248330 2248334 + Identifier 2248335 2248339 + VariableStatement 2248341 2248464 + VariableDeclarationList 2248341 2248463 + VariableDeclaration 2248356 2248463 + Identifier 2248356 2248365 + ConditionalExpression 2248367 2248463 + Identifier 2248367 2248377 + QuestionToken 2248377 2248379 + CallExpression 2248379 2248419 + Identifier 2248379 2248400 + CallExpression 2248401 2248418 + Identifier 2248401 2248407 + PropertyAccessExpression 2248408 2248417 + Identifier 2248408 2248412 + Identifier 2248413 2248417 + ColonToken 2248419 2248421 + CallExpression 2248421 2248463 + Identifier 2248421 2248452 + PropertyAccessExpression 2248453 2248462 + Identifier 2248453 2248457 + Identifier 2248458 2248462 + VariableStatement 2248464 2249061 + VariableDeclarationList 2248464 2249060 + VariableDeclaration 2248479 2249060 + Identifier 2248479 2248491 + ConditionalExpression 2248493 2249060 + CallExpression 2248493 2248519 + Identifier 2248493 2248513 + Identifier 2248514 2248518 + QuestionToken 2248519 2248521 + CallExpression 2248521 2248580 + Identifier 2248521 2248559 + Identifier 2248560 2248568 + Identifier 2248569 2248579 + ColonToken 2248580 2248582 + ConditionalExpression 2248582 2249060 + CallExpression 2248582 2248626 + Identifier 2248582 2248620 + Identifier 2248621 2248625 + QuestionToken 2248626 2248628 + CallExpression 2248628 2248687 + Identifier 2248628 2248666 + Identifier 2248667 2248675 + Identifier 2248676 2248686 + ColonToken 2248687 2248689 + ConditionalExpression 2248689 2249060 + CallExpression 2248689 2248733 + Identifier 2248689 2248727 + Identifier 2248728 2248732 + QuestionToken 2248733 2248735 + CallExpression 2248735 2248794 + Identifier 2248735 2248773 + Identifier 2248774 2248782 + Identifier 2248783 2248793 + ColonToken 2248794 2248796 + ConditionalExpression 2248796 2249060 + CallExpression 2248796 2248849 + Identifier 2248796 2248843 + Identifier 2248844 2248848 + QuestionToken 2248849 2248851 + CallExpression 2248851 2248912 + Identifier 2248851 2248891 + Identifier 2248892 2248900 + Identifier 2248901 2248911 + ColonToken 2248912 2248914 + ConditionalExpression 2248914 2249060 + CallExpression 2248914 2248955 + Identifier 2248914 2248949 + Identifier 2248950 2248954 + QuestionToken 2248955 2248957 + CallExpression 2248957 2249015 + Identifier 2248957 2248994 + Identifier 2248995 2249003 + Identifier 2249004 2249014 + ColonToken 2249015 2249017 + CallExpression 2249017 2249060 + PropertyAccessExpression 2249017 2249054 + Identifier 2249017 2249036 + Identifier 2249037 2249054 + Identifier 2249055 2249059 + VariableStatement 2249061 2249166 + VariableDeclarationList 2249061 2249165 + VariableDeclaration 2249076 2249165 + Identifier 2249076 2249089 + CallExpression 2249091 2249165 + Identifier 2249091 2249134 + Identifier 2249135 2249143 + Identifier 2249144 2249154 + Identifier 2249155 2249164 + ReturnStatement 2249166 2249232 + CallExpression 2249182 2249231 + Identifier 2249182 2249202 + ArrayLiteralExpression 2249203 2249230 + Identifier 2249204 2249215 + Identifier 2249216 2249229 + FunctionDeclaration 2249239 2249465 + Identifier 2249255 2249294 + Parameter 2249295 2249309 + Identifier 2249295 2249303 + TypeReference 2249304 2249309 + Identifier 2249304 2249309 + Parameter 2249310 2249326 + Identifier 2249310 2249320 + TypeReference 2249321 2249326 + Identifier 2249321 2249326 + Block 2249327 2249465 + ReturnStatement 2249329 2249458 + CallExpression 2249345 2249457 + Identifier 2249345 2249368 + CallExpression 2249369 2249433 + Identifier 2249369 2249410 + TrueKeyword 2249411 2249432 + ArrayLiteralExpression 2249434 2249456 + Identifier 2249436 2249444 + Identifier 2249445 2249455 + FunctionDeclaration 2249465 2249691 + Identifier 2249481 2249520 + Parameter 2249521 2249535 + Identifier 2249521 2249529 + TypeReference 2249530 2249535 + Identifier 2249530 2249535 + Parameter 2249536 2249552 + Identifier 2249536 2249546 + TypeReference 2249547 2249552 + Identifier 2249547 2249552 + Block 2249553 2249691 + ReturnStatement 2249555 2249684 + CallExpression 2249571 2249683 + Identifier 2249571 2249594 + CallExpression 2249595 2249659 + Identifier 2249595 2249636 + TrueKeyword 2249637 2249658 + ArrayLiteralExpression 2249660 2249682 + Identifier 2249662 2249670 + Identifier 2249671 2249681 + FunctionDeclaration 2249691 2250082 + Identifier 2249707 2249755 + Parameter 2249756 2249770 + Identifier 2249756 2249764 + TypeReference 2249765 2249770 + Identifier 2249765 2249770 + Parameter 2249771 2249787 + Identifier 2249771 2249781 + TypeReference 2249782 2249787 + Identifier 2249782 2249787 + Block 2249788 2250082 + VariableStatement 2249790 2249864 + VariableDeclarationList 2249790 2249863 + VariableDeclaration 2249805 2249863 + Identifier 2249805 2249815 + CallExpression 2249817 2249863 + Identifier 2249817 2249833 + AsExpression 2249834 2249852 + StringLiteral 2249834 2249840 + TypeReference 2249843 2249852 + Identifier 2249843 2249852 + Identifier 2249853 2249862 + VariableStatement 2249864 2249941 + VariableDeclarationList 2249864 2249940 + VariableDeclaration 2249879 2249940 + Identifier 2249879 2249890 + CallExpression 2249892 2249940 + Identifier 2249892 2249908 + AsExpression 2249909 2249928 + StringLiteral 2249909 2249916 + TypeReference 2249919 2249928 + Identifier 2249919 2249928 + Identifier 2249929 2249939 + ReturnStatement 2249941 2250075 + CallExpression 2249957 2250074 + Identifier 2249957 2249976 + Identifier 2249977 2250005 + Identifier 2250006 2250016 + ArrayLiteralExpression 2250017 2250030 + Identifier 2250019 2250029 + Identifier 2250031 2250041 + Identifier 2250042 2250070 + NumericLiteral 2250071 2250073 + FunctionDeclaration 2250082 2250776 + Identifier 2250293 2250324 + Parameter 2250325 2250341 + Identifier 2250325 2250335 + TypeReference 2250336 2250341 + Identifier 2250336 2250341 + Parameter 2250342 2250360 + Identifier 2250342 2250354 + TypeReference 2250355 2250360 + Identifier 2250355 2250360 + Parameter 2250361 2250389 + Identifier 2250361 2250383 + TypeReference 2250384 2250389 + Identifier 2250384 2250389 + Block 2250390 2250776 + VariableStatement 2250392 2250472 + VariableDeclarationList 2250392 2250471 + VariableDeclaration 2250407 2250471 + Identifier 2250407 2250419 + CallExpression 2250421 2250471 + Identifier 2250421 2250437 + AsExpression 2250438 2250458 + StringLiteral 2250438 2250446 + TypeReference 2250449 2250458 + Identifier 2250449 2250458 + Identifier 2250459 2250470 + VariableStatement 2250472 2250555 + VariableDeclarationList 2250472 2250554 + VariableDeclaration 2250487 2250554 + Identifier 2250487 2250500 + CallExpression 2250502 2250554 + Identifier 2250502 2250518 + AsExpression 2250519 2250540 + StringLiteral 2250519 2250528 + TypeReference 2250531 2250540 + Identifier 2250531 2250540 + Identifier 2250541 2250553 + VariableStatement 2250555 2250632 + VariableDeclarationList 2250555 2250631 + VariableDeclaration 2250570 2250631 + Identifier 2250570 2250581 + CallExpression 2250583 2250631 + Identifier 2250583 2250596 + ArrayLiteralExpression 2250597 2250630 + Identifier 2250598 2250619 + Identifier 2250620 2250629 + ReturnStatement 2250632 2250769 + CallExpression 2250648 2250768 + Identifier 2250648 2250668 + Identifier 2250669 2250697 + Identifier 2250698 2250726 + ArrayLiteralExpression 2250727 2250755 + Identifier 2250729 2250740 + Identifier 2250741 2250754 + Identifier 2250756 2250767 + FunctionDeclaration 2250776 2263234 + Identifier 2251242 2251270 + Parameter 2251271 2251291 + Identifier 2251271 2251280 + TypeReference 2251281 2251291 + Identifier 2251281 2251291 + Block 2251292 2263234 + VariableStatement 2251294 2256889 + VariableDeclarationList 2251294 2256888 + VariableDeclaration 2256865 2256888 + ObjectBindingPattern 2256865 2256876 + BindingElement 2256867 2256874 + Identifier 2256867 2256874 + Identifier 2256878 2256888 + VariableStatement 2256889 2256934 + VariableDeclarationList 2256889 2256933 + VariableDeclaration 2256904 2256933 + Identifier 2256904 2256910 + CallExpression 2256912 2256933 + Identifier 2256912 2256925 + Identifier 2256926 2256932 + IfStatement 2256934 2263129 + PrefixUnaryExpression 2256948 2256973 + PropertyAccessExpression 2256949 2256973 + Identifier 2256949 2256954 + Identifier 2256955 2256973 + Block 2256974 2263129 + ExpressionStatement 2256976 2257030 + BinaryExpression 2256976 2257029 + PropertyAccessExpression 2256976 2257014 + Identifier 2256976 2256995 + Identifier 2256996 2257014 + EqualsToken 2257014 2257016 + Identifier 2257016 2257029 + SwitchStatement 2257030 2263118 + PropertyAccessExpression 2257052 2257063 + Identifier 2257052 2257058 + Identifier 2257059 2257063 + CaseBlock 2257064 2263118 + CaseClause 2257066 2257117 + PropertyAccessExpression 2257088 2257116 + Identifier 2257088 2257099 + Identifier 2257100 2257116 + CaseClause 2257117 2257809 + PropertyAccessExpression 2257139 2257166 + Identifier 2257139 2257150 + Identifier 2257151 2257166 + Block 2257167 2257809 + VariableStatement 2257169 2257472 + VariableDeclarationList 2257169 2257471 + VariableDeclaration 2257419 2257471 + Identifier 2257419 2257424 + AsExpression 2257426 2257471 + Identifier 2257426 2257433 + UnionType 2257436 2257471 + TypeReference 2257436 2257453 + Identifier 2257436 2257453 + TypeReference 2257455 2257471 + Identifier 2257455 2257471 + VariableStatement 2257472 2257559 + VariableDeclarationList 2257472 2257558 + VariableDeclaration 2257499 2257558 + Identifier 2257499 2257510 + CallExpression 2257512 2257558 + Identifier 2257512 2257528 + CallExpression 2257529 2257557 + Identifier 2257529 2257551 + Identifier 2257552 2257556 + VariableStatement 2257559 2257645 + VariableDeclarationList 2257559 2257644 + VariableDeclaration 2257586 2257644 + Identifier 2257586 2257598 + CallExpression 2257600 2257644 + Identifier 2257600 2257632 + Identifier 2257633 2257643 + ExpressionStatement 2257645 2257762 + BinaryExpression 2257645 2257761 + PropertyAccessExpression 2257645 2257691 + Identifier 2257645 2257672 + Identifier 2257673 2257691 + EqualsToken 2257691 2257693 + CallExpression 2257693 2257761 + Identifier 2257693 2257724 + Identifier 2257725 2257735 + Identifier 2257736 2257748 + Identifier 2257749 2257760 + BreakStatement 2257762 2257790 + CaseClause 2257809 2257863 + PropertyAccessExpression 2257833 2257862 + Identifier 2257833 2257844 + Identifier 2257845 2257862 + CaseClause 2257863 2257909 + PropertyAccessExpression 2257885 2257908 + Identifier 2257885 2257896 + Identifier 2257897 2257908 + CaseClause 2257909 2260611 + PropertyAccessExpression 2257931 2257954 + Identifier 2257931 2257942 + Identifier 2257943 2257954 + Block 2257955 2260611 + VariableStatement 2257957 2258070 + VariableDeclarationList 2257957 2258069 + VariableDeclaration 2257984 2258069 + Identifier 2257984 2257989 + AsExpression 2257991 2258069 + Identifier 2257991 2257998 + UnionType 2258001 2258069 + TypeReference 2258001 2258019 + Identifier 2258001 2258019 + TypeReference 2258021 2258044 + Identifier 2258021 2258044 + TypeReference 2258046 2258069 + Identifier 2258046 2258069 + IfStatement 2258070 2258129 + PrefixUnaryExpression 2258096 2258121 + CallExpression 2258097 2258121 + Identifier 2258097 2258108 + PropertyAccessExpression 2258109 2258120 + Identifier 2258109 2258113 + Identifier 2258114 2258120 + BreakStatement 2258122 2258129 + VariableStatement 2258129 2259242 + VariableDeclarationList 2258129 2259241 + VariableDeclaration 2259090 2259241 + Identifier 2259090 2259100 + ConditionalExpression 2259102 2259241 + CallExpression 2259102 2259128 + Identifier 2259102 2259122 + Identifier 2259123 2259127 + QuestionToken 2259128 2259130 + CallExpression 2259130 2259194 + Identifier 2259130 2259159 + CallExpression 2259160 2259193 + Identifier 2259160 2259187 + Identifier 2259188 2259192 + ColonToken 2259194 2259196 + CallExpression 2259196 2259241 + Identifier 2259196 2259235 + Identifier 2259236 2259240 + VariableStatement 2259242 2259485 + VariableDeclarationList 2259242 2259484 + VariableDeclaration 2259271 2259484 + Identifier 2259271 2259280 + ConditionalExpression 2259282 2259484 + CallExpression 2259282 2259306 + Identifier 2259282 2259300 + Identifier 2259301 2259305 + QuestionToken 2259306 2259308 + CallExpression 2259308 2259386 + Identifier 2259308 2259349 + CallExpression 2259350 2259385 + Identifier 2259350 2259372 + PropertyAccessExpression 2259373 2259384 + Identifier 2259373 2259377 + Identifier 2259378 2259384 + ColonToken 2259386 2259388 + CallExpression 2259388 2259484 + Identifier 2259388 2259447 + CallExpression 2259448 2259483 + Identifier 2259448 2259470 + PropertyAccessExpression 2259471 2259482 + Identifier 2259471 2259475 + Identifier 2259476 2259482 + VariableStatement 2259485 2260017 + VariableDeclarationList 2259485 2260016 + VariableDeclaration 2259801 2260016 + Identifier 2259801 2259812 + ConditionalExpression 2259814 2260016 + CallExpression 2259814 2259845 + Identifier 2259814 2259839 + Identifier 2259840 2259844 + QuestionToken 2259845 2259847 + CallExpression 2259847 2259883 + Identifier 2259847 2259872 + Identifier 2259873 2259882 + ColonToken 2259883 2259885 + ConditionalExpression 2259885 2260016 + CallExpression 2259885 2259941 + Identifier 2259885 2259935 + Identifier 2259936 2259940 + QuestionToken 2259941 2259943 + CallExpression 2259943 2259979 + Identifier 2259943 2259968 + Identifier 2259969 2259978 + ColonToken 2259979 2259981 + Identifier 2259981 2260016 + VariableStatement 2260017 2260133 + VariableDeclarationList 2260017 2260132 + VariableDeclaration 2260046 2260132 + Identifier 2260046 2260058 + CallExpression 2260060 2260132 + Identifier 2260060 2260105 + Identifier 2260106 2260110 + Identifier 2260111 2260120 + Identifier 2260121 2260131 + VariableStatement 2260133 2260445 + VariableDeclarationList 2260133 2260444 + VariableDeclaration 2260229 2260444 + Identifier 2260229 2260240 + ConditionalExpression 2260242 2260444 + CallExpression 2260242 2260273 + Identifier 2260242 2260267 + Identifier 2260268 2260272 + QuestionToken 2260273 2260275 + CallExpression 2260275 2260311 + Identifier 2260275 2260300 + Identifier 2260301 2260310 + ColonToken 2260311 2260313 + ConditionalExpression 2260313 2260444 + CallExpression 2260313 2260369 + Identifier 2260313 2260363 + Identifier 2260364 2260368 + QuestionToken 2260369 2260371 + CallExpression 2260371 2260407 + Identifier 2260371 2260396 + Identifier 2260397 2260406 + ColonToken 2260407 2260409 + Identifier 2260409 2260444 + ExpressionStatement 2260445 2260564 + BinaryExpression 2260445 2260563 + PropertyAccessExpression 2260445 2260493 + Identifier 2260445 2260474 + Identifier 2260475 2260493 + EqualsToken 2260493 2260495 + CallExpression 2260495 2260563 + Identifier 2260495 2260526 + Identifier 2260527 2260537 + Identifier 2260538 2260550 + Identifier 2260551 2260562 + BreakStatement 2260564 2260592 + CaseClause 2260611 2263103 + PropertyAccessExpression 2260635 2260666 + Identifier 2260635 2260646 + Identifier 2260647 2260666 + Block 2260667 2263103 + VariableStatement 2260669 2260734 + VariableDeclarationList 2260669 2260733 + VariableDeclaration 2260696 2260733 + Identifier 2260696 2260701 + AsExpression 2260703 2260733 + Identifier 2260703 2260710 + TypeReference 2260713 2260733 + Identifier 2260713 2260733 + IfStatement 2260734 2260793 + PrefixUnaryExpression 2260760 2260785 + CallExpression 2260761 2260785 + Identifier 2260761 2260772 + PropertyAccessExpression 2260773 2260784 + Identifier 2260773 2260777 + Identifier 2260778 2260784 + BreakStatement 2260786 2260793 + VariableStatement 2260793 2261385 + VariableDeclarationList 2260793 2261384 + VariableDeclaration 2261352 2261384 + Identifier 2261352 2261362 + CallExpression 2261364 2261384 + Identifier 2261364 2261378 + Identifier 2261379 2261383 + VariableStatement 2261385 2261626 + VariableDeclarationList 2261385 2261625 + VariableDeclaration 2261412 2261625 + Identifier 2261412 2261421 + ConditionalExpression 2261423 2261625 + CallExpression 2261423 2261447 + Identifier 2261423 2261441 + Identifier 2261442 2261446 + QuestionToken 2261447 2261449 + CallExpression 2261449 2261527 + Identifier 2261449 2261490 + CallExpression 2261491 2261526 + Identifier 2261491 2261513 + PropertyAccessExpression 2261514 2261525 + Identifier 2261514 2261518 + Identifier 2261519 2261525 + ColonToken 2261527 2261529 + CallExpression 2261529 2261625 + Identifier 2261529 2261588 + CallExpression 2261589 2261624 + Identifier 2261589 2261611 + PropertyAccessExpression 2261612 2261623 + Identifier 2261612 2261616 + Identifier 2261617 2261623 + VariableStatement 2261626 2262144 + VariableDeclarationList 2261626 2262143 + VariableDeclaration 2262001 2262143 + Identifier 2262001 2262012 + ConditionalExpression 2262014 2262143 + CallExpression 2262014 2262040 + Identifier 2262014 2262034 + Identifier 2262035 2262039 + QuestionToken 2262040 2262042 + CallExpression 2262042 2262102 + Identifier 2262042 2262081 + Identifier 2262082 2262090 + Identifier 2262091 2262101 + ColonToken 2262102 2262104 + Identifier 2262104 2262143 + VariableStatement 2262144 2262260 + VariableDeclarationList 2262144 2262259 + VariableDeclaration 2262173 2262259 + Identifier 2262173 2262185 + CallExpression 2262187 2262259 + Identifier 2262187 2262232 + Identifier 2262233 2262237 + Identifier 2262238 2262247 + Identifier 2262248 2262258 + VariableStatement 2262260 2262937 + VariableDeclarationList 2262260 2262936 + VariableDeclaration 2262739 2262936 + Identifier 2262739 2262750 + ConditionalExpression 2262752 2262936 + CallExpression 2262752 2262778 + Identifier 2262752 2262772 + Identifier 2262773 2262777 + QuestionToken 2262778 2262780 + CallExpression 2262780 2262840 + Identifier 2262780 2262819 + Identifier 2262820 2262828 + Identifier 2262829 2262839 + ColonToken 2262840 2262842 + CallExpression 2262842 2262936 + Identifier 2262842 2262915 + Identifier 2262916 2262924 + Identifier 2262925 2262935 + ExpressionStatement 2262937 2263056 + BinaryExpression 2262937 2263055 + PropertyAccessExpression 2262937 2262985 + Identifier 2262937 2262966 + Identifier 2262967 2262985 + EqualsToken 2262985 2262987 + CallExpression 2262987 2263055 + Identifier 2262987 2263018 + Identifier 2263019 2263029 + Identifier 2263030 2263042 + Identifier 2263043 2263054 + BreakStatement 2263056 2263084 + ReturnStatement 2263129 2263227 + ConditionalExpression 2263145 2263226 + BinaryExpression 2263145 2263187 + PropertyAccessExpression 2263145 2263170 + Identifier 2263145 2263151 + Identifier 2263152 2263170 + EqualsEqualsEqualsToken 2263170 2263174 + Identifier 2263174 2263187 + QuestionToken 2263187 2263189 + Identifier 2263189 2263199 + ColonToken 2263199 2263201 + PropertyAccessExpression 2263201 2263226 + Identifier 2263201 2263207 + Identifier 2263208 2263226 + FunctionDeclaration 2263234 2268787 + Identifier 2263250 2263282 + Parameter 2263283 2263303 + Identifier 2263283 2263292 + TypeReference 2263293 2263303 + Identifier 2263293 2263303 + Block 2263304 2268787 + VariableStatement 2263306 2263345 + VariableDeclarationList 2263306 2263344 + VariableDeclaration 2263321 2263344 + ObjectBindingPattern 2263321 2263332 + BindingElement 2263323 2263330 + Identifier 2263323 2263330 + Identifier 2263334 2263344 + VariableStatement 2263345 2263390 + VariableDeclarationList 2263345 2263389 + VariableDeclaration 2263360 2263389 + Identifier 2263360 2263366 + CallExpression 2263368 2263389 + Identifier 2263368 2263381 + Identifier 2263382 2263388 + IfStatement 2263390 2268682 + PrefixUnaryExpression 2263404 2263429 + PropertyAccessExpression 2263405 2263429 + Identifier 2263405 2263410 + Identifier 2263411 2263429 + Block 2263430 2268682 + ExpressionStatement 2263432 2263486 + BinaryExpression 2263432 2263485 + PropertyAccessExpression 2263432 2263470 + Identifier 2263432 2263451 + Identifier 2263452 2263470 + EqualsToken 2263470 2263472 + Identifier 2263472 2263485 + SwitchStatement 2263486 2268671 + PropertyAccessExpression 2263508 2263519 + Identifier 2263508 2263514 + Identifier 2263515 2263519 + CaseBlock 2263520 2268671 + CaseClause 2263522 2263573 + PropertyAccessExpression 2263544 2263572 + Identifier 2263544 2263555 + Identifier 2263556 2263572 + CaseClause 2263573 2264401 + PropertyAccessExpression 2263595 2263622 + Identifier 2263595 2263606 + Identifier 2263607 2263622 + Block 2263623 2264401 + VariableStatement 2263625 2263705 + VariableDeclarationList 2263625 2263704 + VariableDeclaration 2263652 2263704 + Identifier 2263652 2263657 + AsExpression 2263659 2263704 + Identifier 2263659 2263666 + UnionType 2263669 2263704 + TypeReference 2263669 2263686 + Identifier 2263669 2263686 + TypeReference 2263688 2263704 + Identifier 2263688 2263704 + VariableStatement 2263705 2263957 + VariableDeclarationList 2263705 2263956 + VariableDeclaration 2263897 2263956 + Identifier 2263897 2263908 + CallExpression 2263910 2263956 + Identifier 2263910 2263926 + CallExpression 2263927 2263955 + Identifier 2263927 2263949 + Identifier 2263950 2263954 + VariableStatement 2263957 2264049 + VariableDeclarationList 2263957 2264048 + VariableDeclaration 2263984 2264048 + Identifier 2263984 2263996 + CallExpression 2263998 2264048 + Identifier 2263998 2264014 + AsExpression 2264015 2264035 + StringLiteral 2264015 2264023 + TypeReference 2264026 2264035 + Identifier 2264026 2264035 + Identifier 2264036 2264047 + ExpressionStatement 2264049 2264354 + BinaryExpression 2264049 2264353 + PropertyAccessExpression 2264049 2264095 + Identifier 2264049 2264076 + Identifier 2264077 2264095 + EqualsToken 2264095 2264097 + CallExpression 2264097 2264353 + Identifier 2264097 2264117 + Identifier 2264118 2264172 + Identifier 2264173 2264226 + ArrayLiteralExpression 2264227 2264266 + Identifier 2264254 2264265 + CallExpression 2264267 2264329 + Identifier 2264267 2264305 + ArrayLiteralExpression 2264306 2264328 + Identifier 2264307 2264317 + Identifier 2264318 2264327 + BreakStatement 2264354 2264382 + CaseClause 2264401 2266420 + PropertyAccessExpression 2264423 2264444 + Identifier 2264423 2264434 + Identifier 2264435 2264444 + Block 2264445 2266420 + VariableStatement 2264447 2264513 + VariableDeclarationList 2264447 2264512 + VariableDeclaration 2264474 2264512 + Identifier 2264474 2264479 + AsExpression 2264481 2264512 + Identifier 2264481 2264488 + TypeReference 2264491 2264512 + Identifier 2264491 2264512 + IfStatement 2264513 2264823 + BinaryExpression 2264539 2264743 + PrefixUnaryExpression 2264539 2264603 + CallExpression 2264566 2264603 + Identifier 2264566 2264590 + PropertyAccessExpression 2264591 2264602 + Identifier 2264591 2264595 + Identifier 2264596 2264602 + AmpersandAmpersandToken 2264603 2264606 + PrefixUnaryExpression 2264606 2264743 + ParenthesizedExpression 2264633 2264743 + BinaryExpression 2264634 2264742 + CallExpression 2264634 2264666 + Identifier 2264634 2264653 + PropertyAccessExpression 2264654 2264665 + Identifier 2264654 2264658 + Identifier 2264659 2264665 + BarBarToken 2264666 2264669 + BinaryExpression 2264669 2264742 + CallExpression 2264669 2264707 + Identifier 2264669 2264694 + PropertyAccessExpression 2264695 2264706 + Identifier 2264695 2264699 + Identifier 2264700 2264706 + AmpersandAmpersandToken 2264707 2264710 + CallExpression 2264710 2264742 + Identifier 2264710 2264722 + PropertyAccessExpression 2264723 2264741 + PropertyAccessExpression 2264723 2264734 + Identifier 2264723 2264727 + Identifier 2264728 2264734 + Identifier 2264735 2264741 + Block 2264766 2264823 + BreakStatement 2264768 2264800 + IfStatement 2264823 2264947 + BinaryExpression 2264851 2264889 + CallExpression 2264851 2264880 + Identifier 2264851 2264867 + PropertyAccessExpression 2264868 2264879 + Identifier 2264868 2264872 + Identifier 2264873 2264879 + EqualsEqualsEqualsToken 2264880 2264884 + Identifier 2264884 2264889 + Block 2264890 2264947 + BreakStatement 2264892 2264924 + VariableStatement 2264947 2265147 + VariableDeclarationList 2264947 2265146 + VariableDeclaration 2264976 2265146 + Identifier 2264976 2264982 + ConditionalExpression 2264984 2265146 + CallExpression 2264984 2265014 + Identifier 2264984 2265001 + PropertyAccessExpression 2265002 2265013 + Identifier 2265002 2265006 + Identifier 2265007 2265013 + QuestionToken 2265014 2265016 + BinaryExpression 2265016 2265082 + CallExpression 2265016 2265078 + PropertyAccessExpression 2265016 2265072 + PropertyAccessExpression 2265016 2265064 + PropertyAccessExpression 2265016 2265053 + Identifier 2265016 2265046 + Identifier 2265047 2265053 + Identifier 2265054 2265064 + Identifier 2265065 2265072 + Identifier 2265073 2265077 + MinusToken 2265078 2265080 + NumericLiteral 2265080 2265082 + ColonToken 2265082 2265084 + CallExpression 2265084 2265146 + PropertyAccessExpression 2265084 2265140 + PropertyAccessExpression 2265084 2265132 + PropertyAccessExpression 2265084 2265121 + Identifier 2265084 2265114 + Identifier 2265115 2265121 + Identifier 2265122 2265132 + Identifier 2265133 2265140 + Identifier 2265141 2265145 + ExpressionStatement 2265147 2265194 + CallExpression 2265147 2265193 + PropertyAccessExpression 2265147 2265181 + Identifier 2265147 2265174 + Identifier 2265175 2265181 + BinaryExpression 2265182 2265192 + Identifier 2265182 2265187 + GreaterThanEqualsToken 2265187 2265190 + NumericLiteral 2265190 2265192 + VariableStatement 2265194 2265556 + VariableDeclarationList 2265194 2265555 + VariableDeclaration 2265374 2265555 + Identifier 2265374 2265385 + ConditionalExpression 2265387 2265555 + CallExpression 2265387 2265425 + Identifier 2265387 2265412 + PropertyAccessExpression 2265413 2265424 + Identifier 2265413 2265417 + Identifier 2265418 2265424 + QuestionToken 2265425 2265427 + CallExpression 2265427 2265487 + Identifier 2265427 2265443 + CallExpression 2265444 2265486 + Identifier 2265444 2265466 + PropertyAccessExpression 2265467 2265485 + PropertyAccessExpression 2265467 2265478 + Identifier 2265467 2265471 + Identifier 2265472 2265478 + Identifier 2265479 2265485 + ColonToken 2265487 2265489 + CallExpression 2265489 2265555 + Identifier 2265489 2265542 + PropertyAccessExpression 2265543 2265554 + Identifier 2265543 2265547 + Identifier 2265548 2265554 + VariableStatement 2265556 2265721 + VariableDeclarationList 2265556 2265720 + VariableDeclaration 2265585 2265720 + Identifier 2265585 2265593 + ConditionalExpression 2265595 2265720 + CallExpression 2265595 2265633 + Identifier 2265595 2265620 + PropertyAccessExpression 2265621 2265632 + Identifier 2265621 2265625 + Identifier 2265626 2265632 + QuestionToken 2265633 2265635 + Identifier 2265635 2265649 + ColonToken 2265649 2265651 + CallExpression 2265651 2265720 + Identifier 2265651 2265707 + PropertyAccessExpression 2265708 2265719 + Identifier 2265708 2265712 + Identifier 2265713 2265719 + VariableStatement 2265721 2265791 + VariableDeclarationList 2265721 2265790 + VariableDeclaration 2265750 2265790 + Identifier 2265750 2265760 + CallExpression 2265762 2265790 + Identifier 2265762 2265783 + Identifier 2265784 2265789 + VariableStatement 2265791 2265885 + VariableDeclarationList 2265791 2265884 + VariableDeclaration 2265820 2265884 + Identifier 2265820 2265832 + CallExpression 2265834 2265884 + Identifier 2265834 2265850 + AsExpression 2265851 2265871 + StringLiteral 2265851 2265859 + TypeReference 2265862 2265871 + Identifier 2265862 2265871 + Identifier 2265872 2265883 + VariableStatement 2265885 2265976 + VariableDeclarationList 2265885 2265975 + VariableDeclaration 2265912 2265975 + Identifier 2265912 2265921 + CallExpression 2265923 2265975 + Identifier 2265923 2265939 + AsExpression 2265940 2265965 + StringLiteral 2265940 2265953 + TypeReference 2265956 2265965 + Identifier 2265956 2265965 + Identifier 2265966 2265974 + VariableStatement 2265976 2266074 + VariableDeclarationList 2265976 2266073 + VariableDeclaration 2266003 2266073 + Identifier 2266003 2266014 + CallExpression 2266016 2266073 + Identifier 2266016 2266032 + AsExpression 2266033 2266061 + StringLiteral 2266033 2266049 + TypeReference 2266052 2266061 + Identifier 2266052 2266061 + Identifier 2266062 2266072 + ExpressionStatement 2266074 2266373 + BinaryExpression 2266074 2266372 + PropertyAccessExpression 2266074 2266120 + Identifier 2266074 2266101 + Identifier 2266102 2266120 + EqualsToken 2266120 2266122 + CallExpression 2266122 2266372 + Identifier 2266122 2266142 + Identifier 2266143 2266197 + Identifier 2266198 2266251 + ArrayLiteralExpression 2266252 2266313 + Identifier 2266279 2266290 + Identifier 2266291 2266300 + Identifier 2266301 2266312 + Identifier 2266314 2266348 + BreakStatement 2266373 2266401 + CaseClause 2266420 2266472 + PropertyAccessExpression 2266442 2266471 + Identifier 2266442 2266453 + Identifier 2266454 2266471 + CaseClause 2266472 2266518 + PropertyAccessExpression 2266494 2266517 + Identifier 2266494 2266505 + Identifier 2266506 2266517 + CaseClause 2266518 2266564 + PropertyAccessExpression 2266540 2266563 + Identifier 2266540 2266551 + Identifier 2266552 2266563 + CaseClause 2266564 2268656 + PropertyAccessExpression 2266586 2266617 + Identifier 2266586 2266597 + Identifier 2266598 2266617 + Block 2266618 2268656 + VariableStatement 2266620 2266727 + VariableDeclarationList 2266620 2266726 + VariableDeclaration 2266647 2266726 + Identifier 2266647 2266652 + AsExpression 2266654 2266726 + Identifier 2266654 2266661 + UnionType 2266664 2266726 + TypeReference 2266664 2266682 + Identifier 2266664 2266682 + TypeReference 2266684 2266704 + Identifier 2266684 2266704 + TypeReference 2266706 2266726 + Identifier 2266706 2266726 + IfStatement 2266727 2266786 + PrefixUnaryExpression 2266753 2266778 + CallExpression 2266754 2266778 + Identifier 2266754 2266765 + PropertyAccessExpression 2266766 2266777 + Identifier 2266766 2266770 + Identifier 2266771 2266777 + BreakStatement 2266779 2266786 + VariableStatement 2266786 2267058 + VariableDeclarationList 2266786 2267057 + VariableDeclaration 2267010 2267057 + Identifier 2267010 2267021 + CallExpression 2267023 2267057 + Identifier 2267023 2267051 + Identifier 2267052 2267056 + VariableStatement 2267058 2267150 + VariableDeclarationList 2267058 2267149 + VariableDeclaration 2267085 2267149 + Identifier 2267085 2267097 + CallExpression 2267099 2267149 + Identifier 2267099 2267115 + AsExpression 2267116 2267136 + StringLiteral 2267116 2267124 + TypeReference 2267127 2267136 + Identifier 2267127 2267136 + Identifier 2267137 2267148 + VariableStatement 2267150 2267227 + VariableDeclarationList 2267150 2267226 + VariableDeclaration 2267179 2267226 + Identifier 2267179 2267187 + CallExpression 2267189 2267226 + Identifier 2267189 2267220 + Identifier 2267221 2267225 + VariableStatement 2267227 2267318 + VariableDeclarationList 2267227 2267317 + VariableDeclaration 2267254 2267317 + Identifier 2267254 2267263 + CallExpression 2267265 2267317 + Identifier 2267265 2267281 + AsExpression 2267282 2267307 + StringLiteral 2267282 2267295 + TypeReference 2267298 2267307 + Identifier 2267298 2267307 + Identifier 2267308 2267316 + VariableStatement 2267318 2267482 + VariableDeclarationList 2267318 2267481 + VariableDeclaration 2267347 2267481 + Identifier 2267347 2267358 + ConditionalExpression 2267360 2267481 + CallExpression 2267360 2267388 + Identifier 2267360 2267382 + Identifier 2267383 2267387 + QuestionToken 2267388 2267390 + Identifier 2267390 2267399 + ColonToken 2267399 2267401 + CallExpression 2267401 2267481 + Identifier 2267401 2267460 + CallExpression 2267461 2267480 + Identifier 2267461 2267474 + Identifier 2267475 2267479 + VariableStatement 2267482 2267588 + VariableDeclarationList 2267482 2267587 + VariableDeclaration 2267511 2267587 + Identifier 2267511 2267523 + BinaryExpression 2267525 2267587 + PrefixUnaryExpression 2267525 2267556 + CallExpression 2267527 2267556 + Identifier 2267527 2267548 + Identifier 2267549 2267555 + BarBarToken 2267556 2267559 + CallExpression 2267559 2267587 + Identifier 2267559 2267579 + Identifier 2267580 2267586 + IfStatement 2267588 2268609 + Identifier 2267614 2267625 + Block 2267626 2268219 + VariableStatement 2267628 2267732 + VariableDeclarationList 2267628 2267731 + VariableDeclaration 2267659 2267731 + Identifier 2267659 2267674 + CallExpression 2267676 2267731 + Identifier 2267676 2267710 + CallExpression 2267711 2267730 + Identifier 2267711 2267724 + Identifier 2267725 2267729 + VariableStatement 2267732 2267840 + VariableDeclarationList 2267732 2267839 + VariableDeclaration 2267763 2267839 + Identifier 2267763 2267779 + CallExpression 2267781 2267839 + Identifier 2267781 2267797 + AsExpression 2267798 2267822 + StringLiteral 2267798 2267810 + TypeReference 2267813 2267822 + Identifier 2267813 2267822 + Identifier 2267823 2267838 + ExpressionStatement 2267840 2268196 + BinaryExpression 2267840 2268195 + PropertyAccessExpression 2267840 2267890 + Identifier 2267840 2267871 + Identifier 2267872 2267890 + EqualsToken 2267890 2267892 + CallExpression 2267892 2268195 + Identifier 2267892 2267912 + Identifier 2267913 2267971 + Identifier 2267972 2268029 + ArrayLiteralExpression 2268030 2268100 + Identifier 2268061 2268072 + Identifier 2268073 2268082 + Identifier 2268083 2268099 + CallExpression 2268101 2268167 + Identifier 2268101 2268143 + ArrayLiteralExpression 2268144 2268166 + Identifier 2268145 2268155 + Identifier 2268156 2268165 + Block 2268245 2268609 + ExpressionStatement 2268247 2268586 + BinaryExpression 2268247 2268585 + PropertyAccessExpression 2268247 2268297 + Identifier 2268247 2268278 + Identifier 2268279 2268297 + EqualsToken 2268297 2268299 + CallExpression 2268299 2268585 + Identifier 2268299 2268319 + Identifier 2268320 2268378 + Identifier 2268379 2268436 + ArrayLiteralExpression 2268437 2268490 + Identifier 2268468 2268479 + Identifier 2268480 2268489 + CallExpression 2268491 2268557 + Identifier 2268491 2268533 + ArrayLiteralExpression 2268534 2268556 + Identifier 2268535 2268545 + Identifier 2268546 2268555 + BreakStatement 2268609 2268637 + ReturnStatement 2268682 2268780 + ConditionalExpression 2268698 2268779 + BinaryExpression 2268698 2268740 + PropertyAccessExpression 2268698 2268723 + Identifier 2268698 2268704 + Identifier 2268705 2268723 + EqualsEqualsEqualsToken 2268723 2268727 + Identifier 2268727 2268740 + QuestionToken 2268740 2268742 + Identifier 2268742 2268752 + ColonToken 2268752 2268754 + PropertyAccessExpression 2268754 2268779 + Identifier 2268754 2268760 + Identifier 2268761 2268779 + FunctionDeclaration 2268787 2268993 + Identifier 2268803 2268829 + Parameter 2268830 2268850 + Identifier 2268830 2268839 + TypeReference 2268840 2268850 + Identifier 2268840 2268850 + Block 2268851 2268993 + ReturnStatement 2268853 2268986 + ConditionalExpression 2268869 2268985 + Identifier 2268869 2268886 + QuestionToken 2268886 2268888 + CallExpression 2268888 2268931 + Identifier 2268888 2268920 + Identifier 2268921 2268930 + ColonToken 2268931 2268933 + CallExpression 2268933 2268985 + Identifier 2268933 2268974 + Identifier 2268975 2268984 + FunctionDeclaration 2268993 2269685 + Identifier 2269009 2269027 + Parameter 2269028 2269046 + Identifier 2269028 2269040 + TypeReference 2269041 2269046 + Identifier 2269041 2269046 + TypeReference 2269048 2269053 + Identifier 2269048 2269053 + Block 2269053 2269685 + VariableStatement 2269055 2269214 + VariableDeclarationList 2269055 2269213 + VariableDeclaration 2269149 2269213 + Identifier 2269149 2269167 + CallExpression 2269169 2269213 + Identifier 2269169 2269190 + TrueKeyword 2269191 2269212 + IfStatement 2269214 2269647 + BinaryExpression 2269228 2269266 + Identifier 2269228 2269245 + ExclamationEqualsEqualsToken 2269245 2269249 + Identifier 2269249 2269266 + Block 2269267 2269647 + ExpressionStatement 2269269 2269560 + BinaryExpression 2269269 2269559 + Identifier 2269269 2269487 + EqualsToken 2269487 2269489 + BinaryExpression 2269489 2269559 + CallExpression 2269489 2269544 + Identifier 2269489 2269511 + CallExpression 2269512 2269543 + Identifier 2269512 2269529 + Identifier 2269530 2269542 + BarBarToken 2269544 2269547 + Identifier 2269547 2269559 + ReturnStatement 2269560 2269636 + CallExpression 2269580 2269635 + Identifier 2269580 2269600 + Identifier 2269601 2269618 + ArrayLiteralExpression 2269619 2269634 + Identifier 2269621 2269633 + ReturnStatement 2269647 2269678 + Identifier 2269665 2269677 + FunctionDeclaration 2269685 2270401 + Identifier 2269701 2269723 + Parameter 2269724 2269742 + Identifier 2269724 2269736 + TypeReference 2269737 2269742 + Identifier 2269737 2269742 + TypeReference 2269744 2269749 + Identifier 2269744 2269749 + Block 2269749 2270401 + VariableStatement 2269751 2269922 + VariableDeclarationList 2269751 2269921 + VariableDeclaration 2269849 2269921 + Identifier 2269849 2269871 + CallExpression 2269873 2269921 + Identifier 2269873 2269898 + TrueKeyword 2269899 2269920 + IfStatement 2269922 2270363 + BinaryExpression 2269936 2269978 + Identifier 2269936 2269957 + ExclamationEqualsEqualsToken 2269957 2269961 + Identifier 2269961 2269978 + Block 2269979 2270363 + ExpressionStatement 2269981 2270272 + BinaryExpression 2269981 2270271 + Identifier 2269981 2270199 + EqualsToken 2270199 2270201 + BinaryExpression 2270201 2270271 + CallExpression 2270201 2270256 + Identifier 2270201 2270223 + CallExpression 2270224 2270255 + Identifier 2270224 2270241 + Identifier 2270242 2270254 + BarBarToken 2270256 2270259 + Identifier 2270259 2270271 + ReturnStatement 2270272 2270352 + CallExpression 2270292 2270351 + Identifier 2270292 2270312 + Identifier 2270313 2270334 + ArrayLiteralExpression 2270335 2270350 + Identifier 2270337 2270349 + ReturnStatement 2270363 2270394 + Identifier 2270381 2270393 + FunctionDeclaration 2270401 2271695 + Identifier 2270417 2270441 + Parameter 2270442 2270484 + Identifier 2270442 2270446 + UnionType 2270447 2270484 + TypeReference 2270447 2270471 + Identifier 2270447 2270471 + TypeReference 2270473 2270484 + Identifier 2270473 2270484 + Parameter 2270485 2270504 + Identifier 2270485 2270498 + TypeReference 2270499 2270504 + Identifier 2270499 2270504 + Block 2270505 2271695 + VariableStatement 2270507 2270569 + VariableDeclarationList 2270507 2270568 + VariableDeclaration 2270522 2270568 + Identifier 2270522 2270534 + CallExpression 2270536 2270568 + Identifier 2270536 2270554 + Identifier 2270555 2270567 + IfStatement 2270569 2271657 + BinaryExpression 2270583 2270610 + Identifier 2270583 2270594 + EqualsEqualsEqualsToken 2270594 2270598 + Identifier 2270598 2270610 + Block 2270611 2271075 + ExpressionStatement 2270613 2271033 + CallExpression 2270613 2271032 + Identifier 2270613 2270632 + Identifier 2270633 2270655 + ConditionalExpression 2270656 2271016 + CallExpression 2270656 2270692 + Identifier 2270656 2270686 + Identifier 2270687 2270691 + QuestionToken 2270692 2270694 + PropertyAccessExpression 2270694 2270849 + Identifier 2270694 2270727 + Identifier 2270728 2270849 + ColonToken 2270849 2270851 + PropertyAccessExpression 2270851 2271016 + Identifier 2270851 2270884 + Identifier 2270885 2271016 + ReturnStatement 2271033 2271064 + Identifier 2271053 2271063 + IfStatement 2271089 2271657 + PrefixUnaryExpression 2271094 2271151 + CallExpression 2271095 2271151 + Identifier 2271095 2271128 + TrueKeyword 2271129 2271150 + Block 2271152 2271657 + ExpressionStatement 2271154 2271646 + CallExpression 2271154 2271645 + Identifier 2271154 2271173 + Identifier 2271174 2271196 + ConditionalExpression 2271197 2271629 + CallExpression 2271197 2271233 + Identifier 2271197 2271227 + Identifier 2271228 2271232 + QuestionToken 2271233 2271235 + PropertyAccessExpression 2271235 2271428 + Identifier 2271235 2271268 + Identifier 2271269 2271428 + ColonToken 2271428 2271430 + PropertyAccessExpression 2271430 2271629 + Identifier 2271430 2271463 + Identifier 2271464 2271629 + ReturnStatement 2271657 2271688 + Identifier 2271675 2271687 + FunctionDeclaration 2271695 2272363 + Identifier 2271711 2271741 + Parameter 2271742 2271758 + Identifier 2271742 2271752 + TypeReference 2271753 2271758 + Identifier 2271753 2271758 + TypeReference 2271760 2271765 + Identifier 2271760 2271765 + Block 2271765 2272363 + VariableStatement 2271767 2271940 + VariableDeclarationList 2271767 2271939 + VariableDeclaration 2271864 2271939 + Identifier 2271864 2271871 + CallExpression 2271873 2271939 + Identifier 2271873 2271886 + PropertyAccessExpression 2271887 2271903 + Identifier 2271887 2271898 + Identifier 2271899 2271903 + AsExpression 2271904 2271938 + StringLiteral 2271904 2271926 + TypeReference 2271929 2271938 + Identifier 2271929 2271938 + VariableStatement 2271940 2272059 + VariableDeclarationList 2271940 2272058 + VariableDeclaration 2271957 2272058 + Identifier 2271957 2271978 + CallExpression 2271980 2272058 + Identifier 2271980 2271993 + PropertyAccessExpression 2271994 2272014 + Identifier 2271994 2272005 + Identifier 2272006 2272014 + AsExpression 2272015 2272036 + StringLiteral 2272015 2272024 + TypeReference 2272027 2272036 + Identifier 2272027 2272036 + PropertyAccessExpression 2272037 2272057 + Identifier 2272037 2272048 + Identifier 2272049 2272057 + ExpressionStatement 2272059 2272106 + BinaryExpression 2272059 2272105 + PropertyAccessExpression 2272059 2272096 + Identifier 2272059 2272089 + Identifier 2272090 2272096 + EqualsToken 2272096 2272098 + Identifier 2272098 2272105 + ExpressionStatement 2272106 2272161 + BinaryExpression 2272106 2272160 + PropertyAccessExpression 2272106 2272147 + PropertyAccessExpression 2272106 2272142 + Identifier 2272106 2272136 + Identifier 2272137 2272142 + Identifier 2272143 2272147 + EqualsToken 2272147 2272149 + Identifier 2272149 2272160 + VariableStatement 2272161 2272231 + VariableDeclarationList 2272161 2272230 + VariableDeclaration 2272178 2272230 + Identifier 2272178 2272186 + CallExpression 2272188 2272230 + Identifier 2272188 2272206 + ArrayLiteralExpression 2272207 2272229 + Identifier 2272208 2272228 + ExpressionStatement 2272231 2272266 + BinaryExpression 2272231 2272265 + PropertyAccessExpression 2272231 2272255 + Identifier 2272231 2272247 + Identifier 2272248 2272255 + EqualsToken 2272255 2272257 + Identifier 2272257 2272265 + ReturnStatement 2272266 2272356 + CallExpression 2272282 2272355 + Identifier 2272282 2272302 + Identifier 2272303 2272309 + Identifier 2272310 2272318 + Identifier 2272319 2272330 + Identifier 2272331 2272342 + Identifier 2272343 2272354 + FunctionDeclaration 2272363 2278505 + Identifier 2272379 2272401 + Parameter 2272402 2272431 + Identifier 2272402 2272406 + TypeReference 2272407 2272431 + Identifier 2272407 2272431 + Parameter 2272432 2272454 + Identifier 2272432 2272442 + QuestionToken 2272442 2272443 + TypeReference 2272444 2272454 + Identifier 2272444 2272454 + TypeReference 2272456 2272461 + Identifier 2272456 2272461 + Block 2272461 2278505 + IfStatement 2272463 2272532 + PrefixUnaryExpression 2272477 2272487 + PropertyAccessExpression 2272478 2272487 + Identifier 2272478 2272482 + Identifier 2272483 2272487 + Block 2272488 2272532 + ReturnStatement 2272490 2272521 + Identifier 2272510 2272520 + VariableStatement 2272532 2272589 + VariableDeclarationList 2272532 2272588 + VariableDeclaration 2272549 2272588 + Identifier 2272549 2272563 + CallExpression 2272565 2272588 + Identifier 2272565 2272582 + Identifier 2272583 2272587 + VariableStatement 2272589 2272659 + VariableDeclarationList 2272589 2272658 + VariableDeclaration 2272604 2272658 + Identifier 2272604 2272612 + BinaryExpression 2272614 2272658 + ParenthesizedExpression 2272614 2272652 + BinaryExpression 2272616 2272651 + Identifier 2272616 2272629 + AmpersandToken 2272629 2272631 + PropertyAccessExpression 2272631 2272651 + Identifier 2272631 2272645 + Identifier 2272646 2272651 + ExclamationEqualsEqualsToken 2272652 2272656 + NumericLiteral 2272656 2272658 + VariableStatement 2272659 2272737 + VariableDeclarationList 2272659 2272736 + VariableDeclaration 2272674 2272736 + Identifier 2272674 2272686 + BinaryExpression 2272688 2272736 + ParenthesizedExpression 2272688 2272730 + BinaryExpression 2272690 2272729 + Identifier 2272690 2272703 + AmpersandToken 2272703 2272705 + PropertyAccessExpression 2272705 2272729 + Identifier 2272705 2272719 + Identifier 2272720 2272729 + ExclamationEqualsEqualsToken 2272730 2272734 + NumericLiteral 2272734 2272736 + VariableStatement 2272737 2272782 + VariableDeclarationList 2272737 2272781 + VariableDeclaration 2272752 2272781 + Identifier 2272752 2272763 + UnionType 2272764 2272781 + TypeReference 2272764 2272769 + Identifier 2272764 2272769 + UndefinedKeyword 2272771 2272781 + VariableStatement 2272782 2272824 + VariableDeclarationList 2272782 2272823 + VariableDeclaration 2272795 2272823 + Identifier 2272795 2272805 + UnionType 2272806 2272823 + TypeReference 2272806 2272811 + Identifier 2272806 2272811 + UndefinedKeyword 2272813 2272823 + VariableStatement 2272824 2272865 + VariableDeclarationList 2272824 2272864 + VariableDeclaration 2272837 2272864 + Identifier 2272837 2272846 + UnionType 2272847 2272864 + TypeReference 2272847 2272852 + Identifier 2272847 2272852 + UndefinedKeyword 2272854 2272864 + VariableStatement 2272865 2272915 + VariableDeclarationList 2272865 2272914 + VariableDeclaration 2272878 2272914 + Identifier 2272878 2272897 + TypeReference 2272898 2272903 + Identifier 2272898 2272903 + Identifier 2272905 2272914 + IfStatement 2272915 2275789 + BinaryExpression 2272929 2272964 + PropertyAccessExpression 2272929 2272943 + PropertyAccessExpression 2272929 2272938 + Identifier 2272929 2272933 + Identifier 2272934 2272938 + Identifier 2272939 2272943 + ExclamationEqualsEqualsToken 2272943 2272947 + PropertyAccessExpression 2272947 2272964 + Identifier 2272947 2272958 + Identifier 2272959 2272964 + Block 2272965 2273813 + ExpressionStatement 2272967 2273119 + BinaryExpression 2272967 2273118 + Identifier 2272967 2273025 + EqualsToken 2273025 2273027 + CallExpression 2273027 2273118 + Identifier 2273027 2273049 + PropertyAccessExpression 2273050 2273059 + Identifier 2273050 2273054 + Identifier 2273055 2273059 + BinaryExpression 2273060 2273117 + Identifier 2273060 2273070 + AmpersandAmpersandToken 2273070 2273073 + BinaryExpression 2273073 2273117 + Identifier 2273073 2273083 + AmpersandToken 2273083 2273085 + PrefixUnaryExpression 2273085 2273117 + PropertyAccessExpression 2273087 2273117 + Identifier 2273087 2273096 + Identifier 2273097 2273117 + IfStatement 2273119 2273802 + Identifier 2273137 2273144 + Block 2273145 2273802 + ExpressionStatement 2273147 2273787 + BinaryExpression 2273147 2273786 + Identifier 2273147 2273571 + EqualsToken 2273571 2273573 + CallExpression 2273573 2273786 + Identifier 2273573 2273591 + CallExpression 2273592 2273785 + Identifier 2273592 2273608 + Identifier 2273609 2273619 + FalseKeyword 2273620 2273640 + Identifier 2273641 2273660 + PropertyAccessExpression 2273661 2273784 + Identifier 2273661 2273673 + Identifier 2273674 2273784 + IfStatement 2273827 2275789 + Identifier 2273832 2273843 + Block 2273844 2274520 + VariableStatement 2273846 2273976 + VariableDeclarationList 2273846 2273975 + VariableDeclaration 2273905 2273975 + Identifier 2273905 2273917 + CallExpression 2273919 2273975 + Identifier 2273919 2273958 + Identifier 2273959 2273963 + Identifier 2273964 2273974 + IfStatement 2273976 2274217 + PrefixUnaryExpression 2273994 2274006 + Identifier 2273995 2274006 + Block 2274007 2274073 + ExpressionStatement 2274009 2274058 + BinaryExpression 2274009 2274057 + Identifier 2274009 2274045 + EqualsToken 2274045 2274047 + Identifier 2274047 2274057 + IfStatement 2274091 2274217 + BinaryExpression 2274096 2274118 + PropertyAccessExpression 2274096 2274114 + Identifier 2274096 2274107 + Identifier 2274108 2274114 + GreaterThanToken 2274114 2274116 + NumericLiteral 2274116 2274118 + Block 2274119 2274217 + ExpressionStatement 2274121 2274202 + BinaryExpression 2274121 2274201 + Identifier 2274121 2274149 + EqualsToken 2274149 2274151 + CallExpression 2274151 2274201 + Identifier 2274151 2274164 + Identifier 2274165 2274176 + PropertyAccessExpression 2274177 2274200 + Identifier 2274177 2274192 + Identifier 2274193 2274200 + VariableStatement 2274217 2274317 + VariableDeclarationList 2274217 2274316 + VariableDeclaration 2274236 2274316 + ObjectBindingPattern 2274236 2274262 + BindingElement 2274238 2274249 + Identifier 2274238 2274249 + BindingElement 2274250 2274260 + Identifier 2274250 2274260 + CallExpression 2274264 2274316 + Identifier 2274264 2274299 + Identifier 2274300 2274304 + Identifier 2274305 2274315 + ExpressionStatement 2274317 2274423 + BinaryExpression 2274317 2274422 + Identifier 2274317 2274340 + EqualsToken 2274340 2274342 + ConditionalExpression 2274342 2274422 + CallExpression 2274342 2274359 + Identifier 2274342 2274347 + Identifier 2274348 2274358 + QuestionToken 2274359 2274361 + CallExpression 2274361 2274410 + Identifier 2274361 2274374 + Identifier 2274375 2274385 + PropertyAccessExpression 2274386 2274409 + Identifier 2274386 2274401 + Identifier 2274402 2274409 + ColonToken 2274410 2274412 + Identifier 2274412 2274422 + ExpressionStatement 2274423 2274509 + BinaryExpression 2274423 2274508 + Identifier 2274423 2274445 + EqualsToken 2274445 2274447 + ConditionalExpression 2274447 2274508 + CallExpression 2274447 2274463 + Identifier 2274447 2274452 + Identifier 2274453 2274462 + QuestionToken 2274463 2274465 + CallExpression 2274465 2274496 + Identifier 2274465 2274485 + Identifier 2274486 2274495 + ColonToken 2274496 2274498 + Identifier 2274498 2274508 + Block 2274534 2275789 + VariableStatement 2274536 2274648 + VariableDeclarationList 2274536 2274647 + VariableDeclaration 2274583 2274647 + Identifier 2274583 2274589 + CallExpression 2274591 2274647 + Identifier 2274591 2274630 + Identifier 2274631 2274635 + Identifier 2274636 2274646 + IfStatement 2274648 2274995 + PrefixUnaryExpression 2274666 2274672 + Identifier 2274667 2274672 + Block 2274673 2274995 + ReturnStatement 2274675 2274961 + ConditionalExpression 2274809 2274960 + BinaryExpression 2274809 2274845 + Identifier 2274809 2274823 + AmpersandToken 2274823 2274825 + PropertyAccessExpression 2274825 2274845 + Identifier 2274825 2274839 + Identifier 2274840 2274845 + QuestionToken 2274845 2274868 + CallExpression 2274868 2274909 + Identifier 2274868 2274892 + Identifier 2274893 2274897 + Identifier 2274898 2274908 + ColonToken 2274909 2274950 + Identifier 2274950 2274960 + IfStatement 2274995 2275642 + BinaryExpression 2275013 2275031 + PropertyAccessExpression 2275013 2275025 + Identifier 2275013 2275018 + Identifier 2275019 2275025 + EqualsEqualsEqualsToken 2275025 2275029 + NumericLiteral 2275029 2275031 + Block 2275032 2275642 + VariableStatement 2275034 2275267 + VariableDeclarationList 2275034 2275266 + VariableDeclaration 2275185 2275266 + Identifier 2275185 2275206 + CallExpression 2275208 2275266 + Identifier 2275208 2275232 + Identifier 2275233 2275237 + Identifier 2275238 2275265 + VariableStatement 2275267 2275451 + VariableDeclarationList 2275267 2275450 + VariableDeclaration 2275290 2275450 + Identifier 2275290 2275301 + ConditionalExpression 2275303 2275450 + BinaryExpression 2275303 2275423 + Identifier 2275303 2275324 + AmpersandAmpersandToken 2275324 2275327 + BinaryExpression 2275327 2275423 + PropertyAccessExpression 2275327 2275401 + ParenthesizedExpression 2275327 2275395 + BinaryExpression 2275329 2275394 + CallExpression 2275329 2275382 + Identifier 2275329 2275345 + Identifier 2275346 2275366 + Identifier 2275367 2275381 + BarBarToken 2275382 2275385 + Identifier 2275385 2275394 + Identifier 2275396 2275401 + AmpersandToken 2275401 2275403 + PropertyAccessExpression 2275403 2275423 + Identifier 2275403 2275413 + Identifier 2275414 2275423 + QuestionToken 2275423 2275425 + Identifier 2275425 2275439 + ColonToken 2275439 2275441 + Identifier 2275441 2275450 + ReturnStatement 2275451 2275608 + ConditionalExpression 2275475 2275607 + BinaryExpression 2275475 2275511 + Identifier 2275475 2275489 + AmpersandToken 2275489 2275491 + PropertyAccessExpression 2275491 2275511 + Identifier 2275491 2275505 + Identifier 2275506 2275511 + QuestionToken 2275511 2275513 + CallExpression 2275513 2275555 + Identifier 2275513 2275537 + Identifier 2275538 2275542 + Identifier 2275543 2275554 + ColonToken 2275555 2275557 + Identifier 2275557 2275607 + ExpressionStatement 2275642 2275778 + BinaryExpression 2275642 2275777 + Identifier 2275642 2275731 + EqualsToken 2275731 2275733 + CallExpression 2275733 2275777 + Identifier 2275733 2275746 + Identifier 2275747 2275752 + PropertyAccessExpression 2275753 2275776 + Identifier 2275753 2275768 + Identifier 2275769 2275776 + IfStatement 2275789 2277685 + BinaryExpression 2275805 2275840 + BinaryExpression 2275805 2275828 + Identifier 2275805 2275815 + BarBarToken 2275815 2275818 + Identifier 2275818 2275828 + BarBarToken 2275828 2275831 + Identifier 2275831 2275840 + Block 2275841 2277685 + IfStatement 2275843 2275943 + Identifier 2275861 2275870 + ExpressionStatement 2275871 2275943 + CallExpression 2275871 2275942 + Identifier 2275871 2275896 + Identifier 2275897 2275901 + Identifier 2275902 2275912 + PropertyAccessExpression 2275913 2275941 + Identifier 2275913 2275926 + Identifier 2275927 2275941 + IfStatement 2275943 2276045 + Identifier 2275961 2275971 + ExpressionStatement 2275972 2276045 + CallExpression 2275972 2276044 + Identifier 2275972 2275997 + Identifier 2275998 2276002 + Identifier 2276003 2276014 + PropertyAccessExpression 2276015 2276043 + Identifier 2276015 2276028 + Identifier 2276029 2276043 + IfStatement 2276045 2276142 + Identifier 2276063 2276071 + ExpressionStatement 2276072 2276142 + CallExpression 2276072 2276141 + Identifier 2276072 2276097 + Identifier 2276098 2276102 + Identifier 2276103 2276112 + PropertyAccessExpression 2276113 2276140 + Identifier 2276113 2276126 + Identifier 2276127 2276140 + IfStatement 2276142 2277471 + BinaryExpression 2276160 2276322 + BinaryExpression 2276160 2276269 + BinaryExpression 2276160 2276214 + Identifier 2276160 2276188 + AmpersandAmpersandToken 2276188 2276191 + CallExpression 2276191 2276214 + Identifier 2276191 2276202 + Identifier 2276203 2276213 + BarBarToken 2276214 2276217 + BinaryExpression 2276217 2276269 + Identifier 2276217 2276244 + AmpersandAmpersandToken 2276244 2276247 + CallExpression 2276247 2276269 + Identifier 2276247 2276258 + Identifier 2276259 2276268 + BarBarToken 2276269 2276272 + BinaryExpression 2276272 2276322 + Identifier 2276272 2276298 + AmpersandAmpersandToken 2276298 2276301 + CallExpression 2276301 2276322 + Identifier 2276301 2276312 + Identifier 2276313 2276321 + Block 2276337 2277471 + VariableStatement 2276339 2276440 + VariableDeclarationList 2276339 2276439 + VariableDeclaration 2276362 2276439 + Identifier 2276362 2276382 + CallExpression 2276384 2276439 + Identifier 2276384 2276433 + Identifier 2276434 2276438 + VariableStatement 2276440 2276764 + VariableDeclarationList 2276440 2276763 + VariableDeclaration 2276463 2276763 + Identifier 2276463 2276478 + ConditionalExpression 2276480 2276763 + PrefixUnaryExpression 2276480 2276501 + Identifier 2276482 2276501 + QuestionToken 2276501 2276503 + Identifier 2276503 2276513 + ColonToken 2276513 2276515 + ConditionalExpression 2276515 2276763 + BinaryExpression 2276515 2276594 + Identifier 2276515 2276556 + EqualsEqualsEqualsToken 2276556 2276560 + CallExpression 2276560 2276594 + Identifier 2276560 2276588 + Identifier 2276589 2276593 + QuestionToken 2276594 2276596 + ConditionalExpression 2276596 2276633 + Identifier 2276596 2276608 + QuestionToken 2276608 2276610 + Identifier 2276610 2276620 + ColonToken 2276620 2276622 + Identifier 2276622 2276633 + ColonToken 2276633 2276635 + CallExpression 2276635 2276763 + Identifier 2276635 2276682 + CallExpression 2276683 2276728 + Identifier 2276683 2276707 + Identifier 2276708 2276727 + Identifier 2276729 2276734 + Identifier 2276735 2276762 + IfStatement 2276764 2277456 + Identifier 2276786 2276797 + Block 2276798 2277284 + ExpressionStatement 2276800 2276955 + BinaryExpression 2276800 2276954 + Identifier 2276800 2276831 + EqualsToken 2276831 2276833 + CallExpression 2276833 2276954 + Identifier 2276833 2276893 + Identifier 2276894 2276903 + Identifier 2276904 2276919 + PropertyAccessExpression 2276920 2276944 + Identifier 2276920 2276938 + Identifier 2276939 2276944 + Identifier 2276945 2276953 + ExpressionStatement 2276955 2277113 + BinaryExpression 2276955 2277112 + Identifier 2276955 2276987 + EqualsToken 2276987 2276989 + CallExpression 2276989 2277112 + Identifier 2276989 2277049 + Identifier 2277050 2277060 + Identifier 2277061 2277076 + PropertyAccessExpression 2277077 2277102 + Identifier 2277077 2277095 + Identifier 2277096 2277102 + Identifier 2277103 2277111 + ExpressionStatement 2277113 2277265 + BinaryExpression 2277113 2277264 + Identifier 2277113 2277143 + EqualsToken 2277143 2277145 + CallExpression 2277145 2277264 + Identifier 2277145 2277205 + Identifier 2277206 2277214 + Identifier 2277215 2277230 + PropertyAccessExpression 2277231 2277254 + Identifier 2277231 2277249 + Identifier 2277250 2277254 + Identifier 2277255 2277263 + Block 2277306 2277456 + ExpressionStatement 2277308 2277437 + BinaryExpression 2277308 2277436 + Identifier 2277308 2277340 + EqualsToken 2277340 2277342 + CallExpression 2277342 2277436 + Identifier 2277342 2277399 + Identifier 2277400 2277410 + Identifier 2277411 2277426 + Identifier 2277427 2277435 + IfStatement 2277471 2277540 + Identifier 2277491 2277500 + ExpressionStatement 2277501 2277540 + BinaryExpression 2277501 2277539 + Identifier 2277501 2277511 + EqualsToken 2277511 2277513 + CallExpression 2277513 2277539 + Identifier 2277513 2277528 + Identifier 2277529 2277538 + IfStatement 2277540 2277610 + Identifier 2277558 2277568 + ExpressionStatement 2277569 2277610 + BinaryExpression 2277569 2277609 + Identifier 2277569 2277580 + EqualsToken 2277580 2277582 + CallExpression 2277582 2277609 + Identifier 2277582 2277597 + Identifier 2277598 2277608 + IfStatement 2277610 2277674 + Identifier 2277628 2277636 + ExpressionStatement 2277637 2277674 + BinaryExpression 2277637 2277673 + Identifier 2277637 2277646 + EqualsToken 2277646 2277648 + CallExpression 2277648 2277673 + Identifier 2277648 2277663 + Identifier 2277664 2277672 + IfStatement 2277685 2278498 + Identifier 2277701 2277712 + Block 2277713 2278003 + ReturnStatement 2277715 2277992 + CallExpression 2277735 2277991 + Identifier 2277735 2277755 + BinaryExpression 2277756 2277796 + Identifier 2277756 2277783 + BarBarToken 2277783 2277786 + Identifier 2277786 2277796 + BinaryExpression 2277797 2277847 + Identifier 2277797 2277825 + BarBarToken 2277825 2277828 + Identifier 2277828 2277847 + BinaryExpression 2277848 2277949 + BinaryExpression 2277848 2277934 + Identifier 2277848 2277874 + BarBarToken 2277874 2277877 + CallExpression 2277877 2277934 + Identifier 2277877 2277904 + PropertyAccessExpression 2277905 2277927 + Identifier 2277905 2277922 + Identifier 2277923 2277927 + Identifier 2277928 2277933 + BarBarToken 2277934 2277937 + Identifier 2277937 2277949 + Identifier 2277950 2277975 + Block 2278017 2278498 + ReturnStatement 2278019 2278487 + ConditionalExpression 2278355 2278486 + Identifier 2278355 2278363 + QuestionToken 2278363 2278382 + CallExpression 2278382 2278434 + Identifier 2278382 2278400 + BinaryExpression 2278401 2278433 + Identifier 2278401 2278411 + BarBarToken 2278411 2278414 + Identifier 2278414 2278433 + ColonToken 2278434 2278453 + BinaryExpression 2278453 2278486 + Identifier 2278453 2278464 + BarBarToken 2278464 2278467 + Identifier 2278467 2278486 + FunctionDeclaration 2278505 2279777 + Identifier 2278521 2278541 + Parameter 2278542 2278557 + Identifier 2278542 2278551 + TypeReference 2278552 2278557 + Identifier 2278552 2278557 + Parameter 2278558 2278575 + Identifier 2278558 2278569 + TypeReference 2278570 2278575 + Identifier 2278570 2278575 + Parameter 2278576 2278591 + Identifier 2278576 2278585 + TypeReference 2278586 2278591 + Identifier 2278586 2278591 + Parameter 2278592 2278618 + Identifier 2278592 2278609 + BooleanKeyword 2278610 2278618 + Block 2278619 2279777 + VariableStatement 2278621 2278724 + VariableDeclarationList 2278621 2278723 + VariableDeclaration 2278636 2278723 + Identifier 2278636 2278645 + ConditionalExpression 2278647 2278723 + Identifier 2278647 2278664 + QuestionToken 2278664 2278666 + Identifier 2278666 2278694 + ColonToken 2278694 2278696 + Identifier 2278696 2278723 + VariableStatement 2278724 2278818 + VariableDeclarationList 2278724 2278817 + VariableDeclaration 2278739 2278817 + Identifier 2278739 2278759 + CallExpression 2278761 2278817 + PropertyAccessExpression 2278761 2278793 + Identifier 2278761 2278770 + Identifier 2278771 2278793 + FalseKeyword 2278794 2278816 + ExpressionStatement 2278818 2278921 + BinaryExpression 2278818 2278920 + Identifier 2278818 2278837 + EqualsToken 2278837 2278839 + BinaryExpression 2278839 2278920 + CallExpression 2278839 2278905 + PropertyAccessExpression 2278839 2278869 + Identifier 2278839 2278848 + Identifier 2278849 2278869 + Identifier 2278870 2278879 + Identifier 2278880 2278904 + BarBarToken 2278905 2278908 + Identifier 2278908 2278920 + ExpressionStatement 2278921 2279026 + BinaryExpression 2278921 2279025 + Identifier 2278921 2278941 + EqualsToken 2278941 2278943 + BinaryExpression 2278943 2279025 + CallExpression 2278943 2279010 + PropertyAccessExpression 2278943 2278973 + Identifier 2278943 2278952 + Identifier 2278953 2278973 + Identifier 2278974 2278984 + Identifier 2278985 2279009 + BarBarToken 2279010 2279013 + Identifier 2279013 2279025 + IfStatement 2279026 2279663 + BinaryExpression 2279040 2279080 + Identifier 2279040 2279059 + EqualsEqualsEqualsToken 2279059 2279063 + Identifier 2279063 2279080 + Block 2279081 2279663 + VariableStatement 2279083 2279258 + VariableDeclarationList 2279083 2279257 + VariableDeclaration 2279165 2279257 + Identifier 2279165 2279192 + CallExpression 2279194 2279257 + PropertyAccessExpression 2279194 2279233 + Identifier 2279194 2279203 + Identifier 2279204 2279233 + FalseKeyword 2279234 2279256 + IfStatement 2279258 2279461 + BinaryExpression 2279276 2279323 + Identifier 2279276 2279302 + ExclamationEqualsEqualsToken 2279302 2279306 + Identifier 2279306 2279323 + Block 2279324 2279461 + ReturnStatement 2279326 2279446 + CallExpression 2279350 2279445 + Identifier 2279350 2279382 + Identifier 2279383 2279409 + ArrayLiteralExpression 2279410 2279444 + Identifier 2279412 2279421 + Identifier 2279422 2279433 + Identifier 2279434 2279443 + ExpressionStatement 2279461 2279615 + CallExpression 2279461 2279614 + PropertyAccessExpression 2279461 2279591 + Identifier 2279461 2279561 + Identifier 2279562 2279591 + TrueKeyword 2279592 2279613 + ReturnStatement 2279615 2279652 + Identifier 2279635 2279651 + ReturnStatement 2279663 2279770 + CallExpression 2279681 2279769 + Identifier 2279681 2279713 + Identifier 2279714 2279733 + ArrayLiteralExpression 2279734 2279768 + Identifier 2279736 2279745 + Identifier 2279746 2279757 + Identifier 2279758 2279767 + FunctionDeclaration 2279777 2281102 + Identifier 2279793 2279828 + Parameter 2279829 2279858 + Identifier 2279829 2279833 + TypeReference 2279834 2279858 + Identifier 2279834 2279858 + Parameter 2279859 2279892 + Identifier 2279859 2279869 + UnionType 2279870 2279892 + TypeReference 2279870 2279880 + Identifier 2279870 2279880 + UndefinedKeyword 2279882 2279892 + Block 2279893 2281102 + VariableStatement 2279895 2279935 + VariableDeclarationList 2279895 2279934 + VariableDeclaration 2279910 2279934 + Identifier 2279910 2279921 + ArrayType 2279922 2279929 + TypeReference 2279922 2279927 + Identifier 2279922 2279927 + ArrayLiteralExpression 2279931 2279934 + VariableStatement 2279935 2279974 + VariableDeclarationList 2279935 2279973 + VariableDeclaration 2279950 2279973 + Identifier 2279950 2279960 + ArrayType 2279961 2279968 + TypeReference 2279961 2279966 + Identifier 2279961 2279966 + ArrayLiteralExpression 2279970 2279973 + VariableStatement 2279974 2280053 + VariableDeclarationList 2279974 2280052 + VariableDeclaration 2279989 2280052 + Identifier 2279989 2279997 + BinaryExpression 2279999 2280052 + ParenthesizedExpression 2279999 2280046 + BinaryExpression 2280001 2280045 + CallExpression 2280001 2280023 + Identifier 2280001 2280017 + Identifier 2280018 2280022 + AmpersandToken 2280023 2280025 + PropertyAccessExpression 2280025 2280045 + Identifier 2280025 2280039 + Identifier 2280040 2280045 + ExclamationEqualsEqualsToken 2280046 2280050 + NumericLiteral 2280050 2280052 + ExpressionStatement 2280053 2281052 + CallExpression 2280053 2281051 + Identifier 2280053 2280085 + AsExpression 2280086 2280104 + PropertyAccessExpression 2280086 2280095 + Identifier 2280086 2280090 + Identifier 2280091 2280095 + TypeReference 2280098 2280104 + Identifier 2280098 2280104 + ArrowFunction 2280105 2281050 + Parameter 2280105 2280121 + Identifier 2280105 2280121 + EqualsGreaterThanToken 2280121 2280124 + Block 2280124 2281050 + VariableStatement 2280126 2280276 + VariableDeclarationList 2280126 2280275 + VariableDeclaration 2280145 2280275 + Identifier 2280145 2280165 + ConditionalExpression 2280167 2280275 + PropertyAccessExpression 2280167 2280194 + Identifier 2280167 2280183 + Identifier 2280184 2280194 + QuestionToken 2280194 2280196 + CallExpression 2280196 2280251 + Identifier 2280196 2280212 + PropertyAccessExpression 2280213 2280239 + Identifier 2280213 2280228 + Identifier 2280229 2280239 + Identifier 2280240 2280250 + ColonToken 2280251 2280253 + Identifier 2280253 2280275 + ExpressionStatement 2280276 2280404 + CallExpression 2280276 2280403 + Identifier 2280276 2280302 + Identifier 2280303 2280313 + CallExpression 2280314 2280402 + Identifier 2280314 2280346 + Identifier 2280347 2280362 + Identifier 2280363 2280383 + Identifier 2280384 2280392 + Identifier 2280393 2280401 + VariableStatement 2280404 2280449 + VariableDeclarationList 2280404 2280448 + VariableDeclaration 2280421 2280448 + Identifier 2280421 2280430 + UnionType 2280431 2280448 + TypeReference 2280431 2280436 + Identifier 2280431 2280436 + UndefinedKeyword 2280438 2280448 + IfStatement 2280449 2280977 + PropertyAccessExpression 2280467 2280496 + Identifier 2280467 2280482 + Identifier 2280483 2280496 + Block 2280497 2280850 + VariableStatement 2280499 2280764 + VariableDeclarationList 2280499 2280763 + VariableDeclaration 2280522 2280763 + Identifier 2280522 2280537 + CallExpression 2280539 2280763 + Identifier 2280539 2280567 + Identifier 2280568 2280609 + ConditionalExpression 2280610 2280694 + Identifier 2280610 2280639 + QuestionToken 2280639 2280641 + PropertyAccessExpression 2280641 2280669 + Identifier 2280641 2280654 + Identifier 2280655 2280669 + ColonToken 2280669 2280671 + PropertyAccessExpression 2280671 2280694 + Identifier 2280671 2280684 + Identifier 2280685 2280694 + PropertyAccessExpression 2280695 2280743 + Identifier 2280695 2280732 + Identifier 2280733 2280743 + ExpressionStatement 2280764 2280835 + BinaryExpression 2280764 2280834 + Identifier 2280764 2280790 + EqualsToken 2280790 2280792 + BinaryExpression 2280792 2280834 + Identifier 2280792 2280807 + AmpersandAmpersandToken 2280807 2280810 + PropertyAccessExpression 2280810 2280834 + Identifier 2280810 2280825 + Identifier 2280826 2280834 + Block 2280868 2280977 + ExpressionStatement 2280870 2280962 + BinaryExpression 2280870 2280961 + Identifier 2280870 2280896 + EqualsToken 2280896 2280898 + CallExpression 2280898 2280961 + Identifier 2280898 2280916 + Identifier 2280917 2280932 + Identifier 2280933 2280960 + IfStatement 2280977 2281039 + Identifier 2280995 2281003 + ExpressionStatement 2281004 2281039 + CallExpression 2281004 2281038 + Identifier 2281004 2281017 + Identifier 2281018 2281027 + Identifier 2281028 2281037 + ReturnStatement 2281052 2281095 + ObjectLiteralExpression 2281068 2281094 + ShorthandPropertyAssignment 2281070 2281081 + Identifier 2281070 2281081 + ShorthandPropertyAssignment 2281082 2281092 + Identifier 2281082 2281092 + FunctionDeclaration 2281102 2282056 + Identifier 2281118 2281150 + Parameter 2281151 2281172 + Identifier 2281151 2281155 + TypeReference 2281156 2281172 + Identifier 2281156 2281172 + Parameter 2281173 2281194 + Identifier 2281173 2281188 + TypeReference 2281189 2281194 + Identifier 2281189 2281194 + Parameter 2281195 2281210 + Identifier 2281195 2281204 + TypeReference 2281205 2281210 + Identifier 2281205 2281210 + Parameter 2281211 2281228 + Identifier 2281211 2281219 + BooleanKeyword 2281220 2281228 + UnionType 2281230 2281247 + TypeReference 2281230 2281235 + Identifier 2281230 2281235 + UndefinedKeyword 2281237 2281247 + Block 2281247 2282056 + VariableStatement 2281249 2281301 + VariableDeclarationList 2281249 2281300 + VariableDeclaration 2281264 2281300 + Identifier 2281264 2281274 + BinaryExpression 2281276 2281300 + PropertyAccessExpression 2281276 2281292 + Identifier 2281276 2281281 + Identifier 2281282 2281292 + BarBarToken 2281292 2281295 + Identifier 2281295 2281300 + VariableStatement 2281301 2281589 + VariableDeclarationList 2281301 2281588 + VariableDeclaration 2281404 2281588 + Identifier 2281404 2281416 + ConditionalExpression 2281418 2281588 + PropertyAccessExpression 2281418 2281437 + Identifier 2281418 2281423 + Identifier 2281424 2281437 + QuestionToken 2281437 2281439 + CallExpression 2281439 2281571 + Identifier 2281439 2281470 + ConditionalExpression 2281471 2281533 + Identifier 2281471 2281478 + QuestionToken 2281478 2281480 + PropertyAccessExpression 2281480 2281508 + Identifier 2281480 2281493 + Identifier 2281494 2281508 + ColonToken 2281508 2281510 + PropertyAccessExpression 2281510 2281533 + Identifier 2281510 2281523 + Identifier 2281524 2281533 + Identifier 2281534 2281549 + Identifier 2281550 2281559 + Identifier 2281560 2281570 + ColonToken 2281571 2281573 + Identifier 2281573 2281588 + ReturnStatement 2281589 2282049 + ConditionalExpression 2281605 2282048 + PrefixUnaryExpression 2281605 2281614 + Identifier 2281607 2281614 + QuestionToken 2281614 2281616 + Identifier 2281616 2281628 + ColonToken 2281628 2281630 + CallExpression 2281630 2282048 + Identifier 2281630 2281645 + Identifier 2281646 2281671 + Identifier 2281672 2281695 + ConditionalExpression 2281696 2282036 + PropertyAccessExpression 2281696 2281728 + Identifier 2281696 2281714 + Identifier 2281715 2281728 + QuestionToken 2281728 2281747 + PropertyAccessExpression 2281747 2281887 + Identifier 2281747 2281759 + Identifier 2281760 2281887 + ColonToken 2281887 2281906 + PropertyAccessExpression 2281906 2282036 + Identifier 2281906 2281918 + Identifier 2281919 2282036 + FunctionDeclaration 2282056 2282624 + Identifier 2282183 2282216 + Parameter 2282217 2282230 + Identifier 2282217 2282222 + NumberKeyword 2282223 2282230 + Parameter 2282231 2282243 + Identifier 2282231 2282235 + NumberKeyword 2282236 2282243 + Parameter 2282244 2282278 + Identifier 2282244 2282254 + ArrayType 2282255 2282278 + ParenthesizedType 2282255 2282276 + UnionType 2282257 2282275 + StringKeyword 2282257 2282263 + UndefinedKeyword 2282265 2282275 + TypeReference 2282280 2282290 + Identifier 2282280 2282290 + Block 2282290 2282624 + VariableStatement 2282292 2282340 + VariableDeclarationList 2282292 2282339 + VariableDeclaration 2282305 2282339 + Identifier 2282305 2282311 + TypeReference 2282312 2282322 + Identifier 2282312 2282322 + PropertyAccessExpression 2282324 2282339 + Identifier 2282324 2282334 + Identifier 2282335 2282339 + ForStatement 2282340 2282594 + VariableDeclarationList 2282355 2282364 + VariableDeclaration 2282358 2282364 + Identifier 2282358 2282360 + NumericLiteral 2282362 2282364 + BinaryExpression 2282365 2282386 + Identifier 2282365 2282367 + LessThanToken 2282367 2282369 + PropertyAccessExpression 2282369 2282386 + Identifier 2282369 2282379 + Identifier 2282380 2282386 + PostfixUnaryExpression 2282387 2282391 + Identifier 2282387 2282389 + Block 2282392 2282594 + VariableStatement 2282394 2282473 + VariableDeclarationList 2282394 2282472 + VariableDeclaration 2282413 2282472 + Identifier 2282413 2282421 + ConditionalExpression 2282423 2282472 + BinaryExpression 2282423 2282445 + BinaryExpression 2282423 2282433 + Identifier 2282423 2282425 + LessThanToken 2282425 2282427 + Identifier 2282427 2282433 + BarBarToken 2282433 2282436 + BinaryExpression 2282436 2282445 + Identifier 2282436 2282438 + GreaterThanEqualsToken 2282438 2282441 + Identifier 2282441 2282445 + QuestionToken 2282445 2282447 + ElementAccessExpression 2282447 2282460 + Identifier 2282447 2282457 + Identifier 2282458 2282459 + ColonToken 2282460 2282462 + Identifier 2282462 2282472 + ExpressionStatement 2282473 2282583 + BinaryExpression 2282473 2282582 + Identifier 2282473 2282492 + BarEqualsToken 2282492 2282495 + ConditionalExpression 2282495 2282582 + BinaryExpression 2282495 2282517 + Identifier 2282495 2282503 + ExclamationEqualsEqualsToken 2282503 2282507 + Identifier 2282507 2282517 + QuestionToken 2282517 2282519 + BinaryExpression 2282519 2282578 + CallExpression 2282519 2282546 + PropertyAccessExpression 2282519 2282537 + Identifier 2282519 2282533 + Identifier 2282534 2282537 + Identifier 2282538 2282545 + BarBarToken 2282546 2282549 + PropertyAccessExpression 2282549 2282578 + Identifier 2282549 2282559 + Identifier 2282560 2282578 + ColonToken 2282578 2282580 + NumericLiteral 2282580 2282582 + ReturnStatement 2282594 2282617 + Identifier 2282610 2282616 + FunctionDeclaration 2282624 2283234 + Identifier 2282640 2282668 + Parameter 2282669 2282690 + Identifier 2282669 2282673 + TypeReference 2282674 2282690 + Identifier 2282674 2282690 + BooleanKeyword 2282692 2282700 + Block 2282700 2283234 + VariableStatement 2282702 2282745 + VariableDeclarationList 2282702 2282744 + VariableDeclaration 2282717 2282744 + Identifier 2282717 2282723 + CallExpression 2282725 2282744 + Identifier 2282725 2282738 + Identifier 2282739 2282743 + IfStatement 2282745 2283191 + BinaryExpression 2282759 2282791 + PropertyAccessExpression 2282759 2282777 + Identifier 2282759 2282764 + Identifier 2282765 2282777 + EqualsEqualsEqualsToken 2282777 2282781 + Identifier 2282781 2282791 + Block 2282792 2283061 + ExpressionStatement 2282794 2282831 + BinaryExpression 2282794 2282830 + PropertyAccessExpression 2282794 2282826 + Identifier 2282794 2282813 + Identifier 2282814 2282826 + EqualsToken 2282826 2282828 + NumericLiteral 2282828 2282830 + VariableStatement 2282831 2282940 + VariableDeclarationList 2282831 2282939 + VariableDeclaration 2282887 2282939 + Identifier 2282887 2282898 + CallExpression 2282900 2282939 + Identifier 2282900 2282933 + Identifier 2282934 2282938 + IfStatement 2282940 2283050 + BinaryExpression 2282958 2282982 + PropertyAccessExpression 2282958 2282976 + Identifier 2282958 2282963 + Identifier 2282964 2282976 + EqualsEqualsEqualsToken 2282976 2282980 + NumericLiteral 2282980 2282982 + Block 2282983 2283050 + ExpressionStatement 2282985 2283035 + BinaryExpression 2282985 2283034 + PropertyAccessExpression 2282985 2283021 + Identifier 2282985 2283008 + Identifier 2283009 2283021 + EqualsToken 2283021 2283023 + Identifier 2283023 2283034 + IfStatement 2283075 2283191 + BinaryExpression 2283080 2283104 + PropertyAccessExpression 2283080 2283098 + Identifier 2283080 2283085 + Identifier 2283086 2283098 + EqualsEqualsEqualsToken 2283098 2283102 + NumericLiteral 2283102 2283104 + Block 2283105 2283191 + ExpressionStatement 2283107 2283148 + BinaryExpression 2283107 2283147 + PropertyAccessExpression 2283107 2283139 + Identifier 2283107 2283126 + Identifier 2283127 2283139 + EqualsToken 2283139 2283141 + FalseKeyword 2283141 2283147 + ReturnStatement 2283191 2283227 + PropertyAccessExpression 2283207 2283226 + Identifier 2283207 2283213 + Identifier 2283214 2283226 + FunctionDeclaration 2283234 2284740 + Identifier 2283250 2283283 + Parameter 2283284 2283305 + Identifier 2283284 2283288 + TypeReference 2283289 2283305 + Identifier 2283289 2283305 + BooleanKeyword 2283307 2283315 + Block 2283315 2284740 + IfStatement 2283317 2284298 + BinaryExpression 2283331 2283383 + PropertyAccessExpression 2283331 2283351 + PropertyAccessExpression 2283331 2283346 + Identifier 2283331 2283335 + Identifier 2283336 2283346 + Identifier 2283347 2283351 + EqualsEqualsEqualsToken 2283351 2283355 + PropertyAccessExpression 2283355 2283383 + Identifier 2283355 2283366 + Identifier 2283367 2283383 + Block 2283384 2284298 + VariableStatement 2283386 2283455 + VariableDeclarationList 2283386 2283454 + VariableDeclaration 2283405 2283454 + Identifier 2283405 2283415 + CallExpression 2283417 2283454 + Identifier 2283417 2283448 + Identifier 2283449 2283453 + IfStatement 2283455 2283532 + PrefixUnaryExpression 2283473 2283483 + Identifier 2283474 2283483 + Block 2283484 2283532 + ReturnStatement 2283486 2283517 + FalseKeyword 2283510 2283516 + VariableStatement 2283532 2283669 + VariableDeclarationList 2283532 2283668 + VariableDeclaration 2283551 2283668 + Identifier 2283551 2283569 + CallExpression 2283571 2283668 + Identifier 2283571 2283595 + CallExpression 2283596 2283667 + Identifier 2283596 2283617 + PropertyAccessExpression 2283618 2283666 + ParenthesizedExpression 2283618 2283655 + AsExpression 2283619 2283654 + PropertyAccessExpression 2283619 2283634 + Identifier 2283619 2283623 + Identifier 2283624 2283634 + TypeReference 2283637 2283654 + Identifier 2283637 2283654 + Identifier 2283656 2283666 + VariableStatement 2283669 2283818 + VariableDeclarationList 2283669 2283817 + VariableDeclaration 2283751 2283817 + Identifier 2283751 2283765 + CallExpression 2283767 2283817 + Identifier 2283767 2283800 + NumericLiteral 2283801 2283802 + NumericLiteral 2283803 2283805 + Identifier 2283806 2283816 + IfStatement 2283818 2284088 + BinaryExpression 2283836 2283884 + PropertyAccessExpression 2283836 2283859 + Identifier 2283836 2283853 + Identifier 2283854 2283859 + AmpersandToken 2283859 2283861 + PropertyAccessExpression 2283861 2283884 + Identifier 2283861 2283871 + Identifier 2283872 2283884 + Block 2283885 2284088 + ReturnStatement 2283887 2284073 + BinaryExpression 2284006 2284072 + ParenthesizedExpression 2284006 2284046 + BinaryExpression 2284008 2284045 + PropertyAccessExpression 2284008 2284029 + Identifier 2284008 2284017 + Identifier 2284018 2284029 + AmpersandToken 2284029 2284031 + Identifier 2284031 2284045 + EqualsEqualsEqualsToken 2284046 2284050 + PropertyAccessExpression 2284050 2284072 + Identifier 2284050 2284060 + Identifier 2284061 2284072 + ReturnStatement 2284088 2284287 + PrefixUnaryExpression 2284202 2284286 + CallExpression 2284204 2284286 + Identifier 2284204 2284212 + Identifier 2284213 2284230 + ArrowFunction 2284231 2284285 + Parameter 2284231 2284233 + Identifier 2284231 2284233 + EqualsGreaterThanToken 2284233 2284236 + BinaryExpression 2284236 2284285 + CallExpression 2284236 2284267 + Identifier 2284236 2284249 + Identifier 2284250 2284251 + Identifier 2284252 2284266 + EqualsEqualsEqualsToken 2284267 2284271 + Identifier 2284271 2284285 + VariableStatement 2284298 2284385 + VariableDeclarationList 2284298 2284384 + VariableDeclaration 2284313 2284384 + Identifier 2284313 2284318 + CallExpression 2284320 2284384 + Identifier 2284320 2284344 + CallExpression 2284345 2284383 + Identifier 2284345 2284366 + PropertyAccessExpression 2284367 2284382 + Identifier 2284367 2284371 + Identifier 2284372 2284382 + IfStatement 2284385 2284460 + PrefixUnaryExpression 2284399 2284419 + CallExpression 2284400 2284419 + Identifier 2284400 2284413 + Identifier 2284414 2284418 + Block 2284420 2284460 + ReturnStatement 2284422 2284449 + FalseKeyword 2284442 2284448 + VariableStatement 2284460 2284517 + VariableDeclarationList 2284460 2284516 + VariableDeclaration 2284475 2284516 + Identifier 2284475 2284487 + CallExpression 2284489 2284516 + Identifier 2284489 2284510 + Identifier 2284511 2284515 + IfStatement 2284517 2284639 + BinaryExpression 2284531 2284598 + PrefixUnaryExpression 2284531 2284550 + PropertyAccessExpression 2284532 2284550 + Identifier 2284532 2284543 + Identifier 2284544 2284550 + BarBarToken 2284550 2284553 + CallExpression 2284553 2284598 + Identifier 2284553 2284558 + Identifier 2284559 2284570 + Identifier 2284571 2284597 + Block 2284599 2284639 + ReturnStatement 2284601 2284628 + FalseKeyword 2284621 2284627 + ReturnStatement 2284639 2284733 + CallExpression 2284655 2284732 + Identifier 2284655 2284675 + CallExpression 2284676 2284718 + Identifier 2284676 2284683 + Identifier 2284684 2284688 + Identifier 2284689 2284717 + Identifier 2284719 2284731 + FunctionDeclaration 2284740 2284897 + Identifier 2284756 2284782 + Parameter 2284783 2284812 + Identifier 2284783 2284787 + TypeReference 2284788 2284812 + Identifier 2284788 2284812 + Block 2284813 2284897 + ReturnStatement 2284815 2284890 + BinaryExpression 2284831 2284889 + PropertyAccessExpression 2284831 2284848 + Identifier 2284831 2284836 + Identifier 2284837 2284848 + AmpersandAmpersandToken 2284848 2284851 + CallExpression 2284851 2284889 + Identifier 2284851 2284871 + PropertyAccessExpression 2284872 2284888 + Identifier 2284872 2284876 + Identifier 2284877 2284888 + FunctionDeclaration 2284897 2288339 + Identifier 2285064 2285103 + Parameter 2285104 2285133 + Identifier 2285104 2285108 + TypeReference 2285109 2285133 + Identifier 2285109 2285133 + Parameter 2285134 2285167 + Identifier 2285134 2285144 + UnionType 2285145 2285167 + TypeReference 2285145 2285155 + Identifier 2285145 2285155 + UndefinedKeyword 2285157 2285167 + UnionType 2285169 2285188 + ArrayType 2285169 2285176 + TypeReference 2285169 2285174 + Identifier 2285169 2285174 + UndefinedKeyword 2285178 2285188 + Block 2285188 2288339 + VariableStatement 2285190 2285245 + VariableDeclarationList 2285190 2285244 + VariableDeclaration 2285205 2285244 + Identifier 2285205 2285219 + CallExpression 2285221 2285244 + Identifier 2285221 2285238 + Identifier 2285239 2285243 + VariableStatement 2285245 2285290 + VariableDeclarationList 2285245 2285289 + VariableDeclaration 2285260 2285289 + Identifier 2285260 2285276 + ArrayType 2285277 2285284 + TypeReference 2285277 2285282 + Identifier 2285277 2285282 + ArrayLiteralExpression 2285286 2285289 + VariableStatement 2285290 2285364 + VariableDeclarationList 2285290 2285363 + VariableDeclaration 2285303 2285363 + Identifier 2285303 2285329 + CallExpression 2285331 2285363 + Identifier 2285331 2285357 + Identifier 2285358 2285362 + VariableStatement 2285364 2285407 + VariableDeclarationList 2285364 2285406 + VariableDeclaration 2285377 2285406 + Identifier 2285377 2285398 + FalseKeyword 2285400 2285406 + ExpressionStatement 2285407 2287720 + CallExpression 2285407 2287719 + Identifier 2285407 2285439 + AsExpression 2285440 2285458 + PropertyAccessExpression 2285440 2285449 + Identifier 2285440 2285444 + Identifier 2285445 2285449 + TypeReference 2285452 2285458 + Identifier 2285452 2285458 + ArrowFunction 2285459 2287718 + Parameter 2285459 2285475 + Identifier 2285459 2285475 + EqualsGreaterThanToken 2285475 2285478 + Block 2285478 2287718 + VariableStatement 2285480 2285532 + VariableDeclarationList 2285480 2285531 + VariableDeclaration 2285497 2285531 + Identifier 2285497 2285502 + PropertyAccessExpression 2285504 2285531 + Identifier 2285504 2285520 + Identifier 2285521 2285531 + IfStatement 2285532 2287707 + Identifier 2285550 2285554 + Block 2285555 2287621 + ExpressionStatement 2285557 2285641 + BinaryExpression 2285557 2285640 + Identifier 2285557 2285579 + EqualsToken 2285579 2285581 + CallExpression 2285581 2285640 + Identifier 2285581 2285597 + Identifier 2285598 2285602 + TrueKeyword 2285603 2285639 + IfStatement 2285641 2286034 + BinaryExpression 2285813 2285892 + BinaryExpression 2285813 2285848 + Identifier 2285813 2285826 + AmpersandToken 2285826 2285828 + PropertyAccessExpression 2285828 2285848 + Identifier 2285828 2285842 + Identifier 2285843 2285848 + AmpersandAmpersandToken 2285848 2285851 + BinaryExpression 2285851 2285892 + PropertyAccessExpression 2285851 2285861 + Identifier 2285851 2285856 + Identifier 2285857 2285861 + EqualsEqualsEqualsToken 2285861 2285865 + PropertyAccessExpression 2285865 2285892 + Identifier 2285865 2285876 + Identifier 2285877 2285892 + Block 2285893 2286034 + ExpressionStatement 2285895 2286015 + BinaryExpression 2285895 2286014 + Identifier 2285895 2285921 + EqualsToken 2285921 2285923 + CallExpression 2285923 2286014 + Identifier 2285923 2285939 + PropertyAccessExpression 2285940 2285976 + ParenthesizedExpression 2285940 2285965 + AsExpression 2285941 2285964 + Identifier 2285941 2285945 + TypeReference 2285948 2285964 + Identifier 2285948 2285964 + Identifier 2285966 2285976 + TrueKeyword 2285977 2286013 + IfStatement 2286034 2286604 + BinaryExpression 2286056 2286485 + BinaryExpression 2286056 2286331 + BinaryExpression 2286056 2286208 + BinaryExpression 2286056 2286117 + PropertyAccessExpression 2286056 2286087 + Identifier 2286056 2286082 + Identifier 2286083 2286087 + EqualsEqualsEqualsToken 2286087 2286091 + PropertyAccessExpression 2286091 2286117 + Identifier 2286091 2286102 + Identifier 2286103 2286117 + AmpersandAmpersandToken 2286117 2286120 + BinaryExpression 2286120 2286208 + PropertyAccessExpression 2286120 2286182 + PropertyAccessExpression 2286120 2286177 + ParenthesizedExpression 2286120 2286166 + AsExpression 2286143 2286165 + Identifier 2286143 2286147 + TypeReference 2286150 2286165 + Identifier 2286150 2286165 + Identifier 2286167 2286177 + Identifier 2286178 2286182 + EqualsEqualsEqualsToken 2286182 2286186 + PropertyAccessExpression 2286186 2286208 + Identifier 2286186 2286197 + Identifier 2286198 2286208 + AmpersandAmpersandToken 2286208 2286211 + BinaryExpression 2286211 2286331 + PropertyAccessExpression 2286211 2286298 + CallExpression 2286211 2286291 + Identifier 2286211 2286254 + PropertyAccessExpression 2286255 2286290 + ParenthesizedExpression 2286255 2286279 + AsExpression 2286256 2286278 + Identifier 2286256 2286260 + TypeReference 2286263 2286278 + Identifier 2286263 2286278 + Identifier 2286280 2286290 + Identifier 2286292 2286298 + EqualsEqualsEqualsToken 2286298 2286302 + CallExpression 2286302 2286331 + Identifier 2286302 2286318 + PropertyAccessExpression 2286319 2286330 + Identifier 2286319 2286323 + Identifier 2286324 2286330 + AmpersandAmpersandToken 2286331 2286334 + ParenthesizedExpression 2286334 2286485 + BinaryExpression 2286357 2286484 + PrefixUnaryExpression 2286357 2286424 + CallExpression 2286358 2286424 + Identifier 2286358 2286393 + NonNullExpression 2286394 2286423 + PropertyAccessExpression 2286394 2286422 + PropertyAccessExpression 2286394 2286405 + Identifier 2286394 2286398 + Identifier 2286399 2286405 + Identifier 2286406 2286422 + BarBarToken 2286424 2286427 + CallExpression 2286427 2286484 + Identifier 2286427 2286447 + PropertyAccessExpression 2286448 2286483 + ParenthesizedExpression 2286448 2286472 + AsExpression 2286449 2286471 + Identifier 2286449 2286453 + TypeReference 2286456 2286471 + Identifier 2286456 2286471 + Identifier 2286473 2286483 + Block 2286504 2286604 + ExpressionStatement 2286506 2286556 + BinaryExpression 2286506 2286555 + Identifier 2286506 2286548 + EqualsToken 2286548 2286550 + TrueKeyword 2286550 2286555 + ReturnStatement 2286556 2286585 + VariableStatement 2286604 2286721 + VariableDeclarationList 2286604 2286720 + VariableDeclaration 2286627 2286720 + Identifier 2286627 2286632 + CallExpression 2286634 2286720 + Identifier 2286634 2286656 + Identifier 2286657 2286661 + BinaryExpression 2286662 2286719 + Identifier 2286662 2286672 + AmpersandAmpersandToken 2286672 2286675 + BinaryExpression 2286675 2286719 + Identifier 2286675 2286685 + AmpersandToken 2286685 2286687 + PrefixUnaryExpression 2286687 2286719 + PropertyAccessExpression 2286689 2286719 + Identifier 2286689 2286698 + Identifier 2286699 2286719 + IfStatement 2286721 2287430 + BinaryExpression 2286743 2286778 + Identifier 2286743 2286756 + AmpersandToken 2286756 2286758 + PropertyAccessExpression 2286758 2286778 + Identifier 2286758 2286772 + Identifier 2286773 2286778 + Block 2286779 2287430 + ExpressionStatement 2286781 2287411 + BinaryExpression 2286781 2287410 + Identifier 2286781 2287215 + EqualsToken 2287215 2287217 + CallExpression 2287217 2287410 + Identifier 2287217 2287235 + CallExpression 2287236 2287409 + Identifier 2287236 2287252 + Identifier 2287253 2287257 + FalseKeyword 2287258 2287278 + Identifier 2287279 2287284 + PropertyAccessExpression 2287285 2287408 + Identifier 2287285 2287297 + Identifier 2287298 2287408 + IfStatement 2287430 2287552 + BinaryExpression 2287452 2287480 + PropertyAccessExpression 2287452 2287462 + Identifier 2287452 2287456 + Identifier 2287457 2287462 + AmpersandToken 2287462 2287464 + PropertyAccessExpression 2287464 2287480 + Identifier 2287464 2287474 + Identifier 2287475 2287480 + Block 2287481 2287552 + ExpressionStatement 2287483 2287533 + BinaryExpression 2287483 2287532 + Identifier 2287483 2287525 + EqualsToken 2287525 2287527 + TrueKeyword 2287527 2287532 + ExpressionStatement 2287552 2287606 + CallExpression 2287552 2287605 + Identifier 2287552 2287582 + Identifier 2287583 2287598 + Identifier 2287599 2287604 + Block 2287639 2287707 + ExpressionStatement 2287641 2287692 + BinaryExpression 2287641 2287691 + Identifier 2287641 2287684 + EqualsToken 2287684 2287686 + TrueKeyword 2287686 2287691 + IfStatement 2287720 2287887 + BinaryExpression 2287734 2287842 + BinaryExpression 2287734 2287792 + BinaryExpression 2287734 2287762 + PropertyAccessExpression 2287734 2287756 + Identifier 2287734 2287749 + Identifier 2287750 2287756 + EqualsEqualsEqualsToken 2287756 2287760 + NumericLiteral 2287760 2287762 + AmpersandAmpersandToken 2287762 2287765 + PrefixUnaryExpression 2287765 2287792 + Identifier 2287767 2287792 + AmpersandAmpersandToken 2287792 2287795 + ParenthesizedExpression 2287795 2287842 + BinaryExpression 2287797 2287841 + Identifier 2287797 2287817 + BarBarToken 2287817 2287820 + CallExpression 2287820 2287841 + Identifier 2287820 2287835 + Identifier 2287836 2287840 + Block 2287843 2287887 + ReturnStatement 2287845 2287876 + Identifier 2287865 2287875 + IfStatement 2287887 2288299 + BinaryExpression 2287901 2288082 + BinaryExpression 2287901 2287986 + BinaryExpression 2287901 2287957 + Identifier 2287901 2287931 + AmpersandAmpersandToken 2287931 2287934 + PropertyAccessExpression 2287934 2287957 + Identifier 2287934 2287950 + Identifier 2287951 2287957 + AmpersandAmpersandToken 2287957 2287960 + Identifier 2287960 2287986 + AmpersandAmpersandToken 2287986 2287989 + PrefixUnaryExpression 2287989 2288082 + ParenthesizedExpression 2288004 2288082 + BinaryExpression 2288005 2288081 + CallExpression 2288005 2288026 + Identifier 2288005 2288020 + Identifier 2288021 2288025 + AmpersandAmpersandToken 2288026 2288029 + CallExpression 2288029 2288081 + PropertyAccessExpression 2288029 2288050 + Identifier 2288029 2288045 + Identifier 2288046 2288050 + ArrowFunction 2288051 2288080 + Parameter 2288051 2288052 + Identifier 2288051 2288052 + EqualsGreaterThanToken 2288052 2288055 + BinaryExpression 2288055 2288080 + PropertyAccessExpression 2288055 2288064 + Identifier 2288055 2288057 + Identifier 2288058 2288064 + EqualsEqualsEqualsToken 2288064 2288068 + PropertyAccessExpression 2288068 2288080 + Identifier 2288068 2288073 + Identifier 2288074 2288080 + Block 2288093 2288299 + ExpressionStatement 2288095 2288288 + CallExpression 2288095 2288287 + Identifier 2288095 2288255 + Identifier 2288256 2288271 + Identifier 2288272 2288286 + ReturnStatement 2288299 2288332 + Identifier 2288315 2288331 + FunctionDeclaration 2288339 2288763 + Identifier 2288353 2288368 + Parameter 2288369 2288398 + Identifier 2288369 2288373 + TypeReference 2288374 2288398 + Identifier 2288374 2288398 + BooleanKeyword 2288400 2288408 + Block 2288408 2288763 + SwitchStatement 2288410 2288756 + PropertyAccessExpression 2288428 2288437 + Identifier 2288428 2288432 + Identifier 2288433 2288437 + CaseBlock 2288438 2288756 + CaseClause 2288440 2288489 + PropertyAccessExpression 2288458 2288488 + Identifier 2288458 2288469 + Identifier 2288470 2288488 + CaseClause 2288489 2288563 + PropertyAccessExpression 2288507 2288532 + Identifier 2288507 2288518 + Identifier 2288519 2288532 + ReturnStatement 2288533 2288563 + TrueKeyword 2288557 2288562 + CaseClause 2288563 2288692 + PropertyAccessExpression 2288581 2288610 + Identifier 2288581 2288592 + Identifier 2288593 2288610 + ReturnStatement 2288611 2288692 + BinaryExpression 2288635 2288691 + PropertyAccessExpression 2288635 2288652 + PropertyAccessExpression 2288635 2288647 + Identifier 2288635 2288640 + Identifier 2288641 2288647 + Identifier 2288648 2288652 + EqualsEqualsEqualsToken 2288652 2288656 + PropertyAccessExpression 2288656 2288691 + Identifier 2288656 2288667 + Identifier 2288668 2288691 + DefaultClause 2288692 2288745 + ReturnStatement 2288714 2288745 + FalseKeyword 2288738 2288744 + FunctionDeclaration 2288763 2289921 + Identifier 2288779 2288804 + Parameter 2288805 2288834 + Identifier 2288805 2288809 + TypeReference 2288810 2288834 + Identifier 2288810 2288834 + UnionType 2288836 2288862 + TypeReference 2288836 2288850 + Identifier 2288836 2288850 + UndefinedKeyword 2288852 2288862 + Block 2288862 2289921 + SwitchStatement 2288864 2289066 + PropertyAccessExpression 2288882 2288891 + Identifier 2288882 2288886 + Identifier 2288887 2288891 + CaseBlock 2288892 2289066 + CaseClause 2288894 2288936 + PropertyAccessExpression 2288912 2288935 + Identifier 2288912 2288923 + Identifier 2288924 2288935 + CaseClause 2288936 2288978 + PropertyAccessExpression 2288954 2288977 + Identifier 2288954 2288965 + Identifier 2288966 2288977 + CaseClause 2288978 2289055 + PropertyAccessExpression 2288996 2289019 + Identifier 2288996 2289007 + Identifier 2289008 2289019 + ReturnStatement 2289020 2289055 + Identifier 2289044 2289054 + VariableStatement 2289066 2289121 + VariableDeclarationList 2289066 2289120 + VariableDeclaration 2289081 2289120 + Identifier 2289081 2289095 + CallExpression 2289097 2289120 + Identifier 2289097 2289114 + Identifier 2289115 2289119 + IfStatement 2289121 2289192 + BinaryExpression 2289135 2289173 + Identifier 2289135 2289148 + ExclamationEqualsEqualsToken 2289148 2289152 + PropertyAccessExpression 2289152 2289173 + Identifier 2289152 2289166 + Identifier 2289167 2289173 + ReturnStatement 2289174 2289192 + Identifier 2289181 2289191 + VariableStatement 2289192 2289327 + VariableDeclarationList 2289192 2289326 + VariableDeclaration 2289289 2289326 + Identifier 2289289 2289302 + UnionType 2289303 2289326 + TypeReference 2289303 2289314 + Identifier 2289303 2289314 + UndefinedKeyword 2289316 2289326 + IfStatement 2289327 2289840 + BinaryExpression 2289341 2289389 + PropertyAccessExpression 2289341 2289350 + Identifier 2289341 2289345 + Identifier 2289346 2289350 + AmpersandAmpersandToken 2289350 2289353 + BinaryExpression 2289353 2289389 + PropertyAccessExpression 2289353 2289368 + PropertyAccessExpression 2289353 2289363 + Identifier 2289353 2289358 + Identifier 2289359 2289363 + Identifier 2289364 2289368 + ExclamationEqualsEqualsToken 2289368 2289372 + PropertyAccessExpression 2289372 2289389 + Identifier 2289372 2289383 + Identifier 2289384 2289389 + Block 2289390 2289460 + ExpressionStatement 2289392 2289431 + BinaryExpression 2289392 2289430 + Identifier 2289392 2289418 + EqualsToken 2289418 2289420 + PropertyAccessExpression 2289420 2289430 + Identifier 2289420 2289425 + Identifier 2289426 2289430 + Block 2289474 2289840 + VariableStatement 2289476 2289729 + VariableDeclarationList 2289476 2289728 + VariableDeclaration 2289495 2289728 + Identifier 2289495 2289507 + CallExpression 2289509 2289728 + Identifier 2289509 2289532 + AsExpression 2289533 2289551 + PropertyAccessExpression 2289533 2289542 + Identifier 2289533 2289537 + Identifier 2289538 2289542 + TypeReference 2289545 2289551 + Identifier 2289545 2289551 + ArrowFunction 2289552 2289727 + Parameter 2289552 2289568 + Identifier 2289552 2289568 + EqualsGreaterThanToken 2289568 2289571 + Block 2289571 2289727 + IfStatement 2289573 2289652 + BinaryExpression 2289595 2289638 + Identifier 2289595 2289607 + BarBarToken 2289607 2289610 + PrefixUnaryExpression 2289610 2289638 + PropertyAccessExpression 2289612 2289638 + Identifier 2289612 2289627 + Identifier 2289628 2289638 + ReturnStatement 2289639 2289652 + TrueKeyword 2289646 2289651 + ExpressionStatement 2289652 2289712 + BinaryExpression 2289652 2289711 + Identifier 2289652 2289682 + EqualsToken 2289682 2289684 + PropertyAccessExpression 2289684 2289711 + Identifier 2289684 2289700 + Identifier 2289701 2289711 + IfStatement 2289729 2289829 + BinaryExpression 2289747 2289810 + BinaryExpression 2289747 2289775 + Identifier 2289747 2289758 + BarBarToken 2289758 2289761 + PrefixUnaryExpression 2289761 2289775 + Identifier 2289763 2289775 + BarBarToken 2289775 2289778 + CallExpression 2289778 2289810 + Identifier 2289778 2289804 + Identifier 2289805 2289809 + ReturnStatement 2289811 2289829 + Identifier 2289818 2289828 + ReturnStatement 2289840 2289914 + CallExpression 2289856 2289913 + Identifier 2289856 2289893 + Identifier 2289894 2289898 + Identifier 2289899 2289912 + FunctionDeclaration 2289921 2290959 + Identifier 2289937 2289974 + Parameter 2289975 2290004 + Identifier 2289975 2289979 + TypeReference 2289980 2290004 + Identifier 2289980 2290004 + Parameter 2290005 2290022 + Identifier 2290005 2290010 + TypeReference 2290011 2290022 + Identifier 2290011 2290022 + UnionType 2290024 2290050 + TypeReference 2290024 2290038 + Identifier 2290024 2290038 + UndefinedKeyword 2290040 2290050 + Block 2290050 2290959 + ExpressionStatement 2290052 2290128 + BinaryExpression 2290052 2290127 + Identifier 2290052 2290066 + EqualsToken 2290066 2290068 + CallExpression 2290068 2290127 + Identifier 2290068 2290084 + Identifier 2290085 2290089 + TrueKeyword 2290090 2290126 + VariableStatement 2290128 2290185 + VariableDeclarationList 2290128 2290184 + VariableDeclaration 2290143 2290184 + Identifier 2290143 2290154 + CallExpression 2290156 2290184 + Identifier 2290156 2290178 + Identifier 2290179 2290183 + IfStatement 2290185 2290257 + PrefixUnaryExpression 2290199 2290238 + ParenthesizedExpression 2290200 2290238 + BinaryExpression 2290201 2290237 + PropertyAccessExpression 2290201 2290217 + Identifier 2290201 2290211 + Identifier 2290212 2290217 + AmpersandToken 2290217 2290219 + PropertyAccessExpression 2290219 2290237 + Identifier 2290219 2290229 + Identifier 2290230 2290237 + ReturnStatement 2290239 2290257 + Identifier 2290246 2290256 + ReturnStatement 2290257 2290952 + CallExpression 2290275 2290951 + Identifier 2290275 2290283 + PropertyAccessExpression 2290284 2290299 + Identifier 2290284 2290288 + Identifier 2290289 2290299 + ArrowFunction 2290300 2290950 + Parameter 2290302 2290307 + Identifier 2290302 2290307 + Parameter 2290308 2290310 + Identifier 2290308 2290310 + EqualsGreaterThanToken 2290311 2290314 + Block 2290314 2290950 + VariableStatement 2290316 2290377 + VariableDeclarationList 2290316 2290376 + VariableDeclaration 2290335 2290376 + Identifier 2290335 2290344 + CallExpression 2290346 2290376 + Identifier 2290346 2290362 + PropertyAccessExpression 2290363 2290375 + Identifier 2290363 2290368 + Identifier 2290369 2290375 + IfStatement 2290377 2290661 + BinaryExpression 2290395 2290531 + BinaryExpression 2290395 2290505 + BinaryExpression 2290395 2290471 + BinaryExpression 2290395 2290442 + PrefixUnaryExpression 2290395 2290404 + Identifier 2290396 2290404 + BarBarToken 2290404 2290407 + BinaryExpression 2290407 2290442 + PropertyAccessExpression 2290407 2290422 + Identifier 2290407 2290416 + Identifier 2290417 2290422 + AmpersandToken 2290422 2290424 + PropertyAccessExpression 2290424 2290442 + Identifier 2290424 2290434 + Identifier 2290435 2290442 + BarBarToken 2290442 2290445 + PrefixUnaryExpression 2290445 2290471 + CallExpression 2290447 2290471 + Identifier 2290447 2290459 + PropertyAccessExpression 2290460 2290470 + Identifier 2290460 2290465 + Identifier 2290466 2290470 + BarBarToken 2290471 2290474 + CallExpression 2290474 2290505 + Identifier 2290474 2290491 + PropertyAccessExpression 2290492 2290504 + Identifier 2290492 2290497 + Identifier 2290498 2290504 + BarBarToken 2290505 2290508 + CallExpression 2290508 2290531 + Identifier 2290508 2290524 + Identifier 2290525 2290530 + Block 2290532 2290661 + ReturnStatement 2290534 2290646 + VariableStatement 2290661 2290755 + VariableDeclarationList 2290661 2290754 + VariableDeclaration 2290680 2290754 + Identifier 2290680 2290689 + CallExpression 2290691 2290754 + Identifier 2290691 2290725 + Identifier 2290726 2290730 + Identifier 2290731 2290736 + Identifier 2290737 2290743 + Identifier 2290744 2290753 + IfStatement 2290755 2290939 + Identifier 2290773 2290781 + Block 2290782 2290939 + ReturnStatement 2290784 2290924 + CallExpression 2290808 2290923 + Identifier 2290808 2290828 + PropertyAccessExpression 2290829 2290857 + Identifier 2290829 2290846 + Identifier 2290847 2290857 + CallExpression 2290858 2290909 + Identifier 2290858 2290885 + PropertyAccessExpression 2290886 2290908 + PropertyAccessExpression 2290886 2290896 + Identifier 2290886 2290891 + Identifier 2290892 2290896 + Identifier 2290897 2290908 + Identifier 2290910 2290912 + Identifier 2290913 2290922 + FunctionDeclaration 2290959 2292220 + Identifier 2290975 2291009 + Parameter 2291010 2291039 + Identifier 2291010 2291014 + TypeReference 2291015 2291039 + Identifier 2291015 2291039 + Parameter 2291040 2291057 + Identifier 2291040 2291045 + TypeReference 2291046 2291057 + Identifier 2291046 2291057 + Parameter 2291058 2291086 + Identifier 2291058 2291064 + TypeReference 2291065 2291086 + Identifier 2291065 2291086 + Parameter 2291087 2291102 + Identifier 2291087 2291096 + TypeReference 2291097 2291102 + Identifier 2291097 2291102 + UnionType 2291104 2291121 + TypeReference 2291104 2291109 + Identifier 2291104 2291109 + UndefinedKeyword 2291111 2291121 + Block 2291121 2292220 + VariableStatement 2291123 2291394 + VariableDeclarationList 2291123 2291393 + VariableDeclaration 2291138 2291393 + Identifier 2291138 2291149 + BinaryExpression 2291151 2291393 + BinaryExpression 2291151 2291299 + BinaryExpression 2291151 2291190 + CallExpression 2291151 2291173 + Identifier 2291151 2291167 + Identifier 2291168 2291172 + AmpersandAmpersandToken 2291173 2291176 + PropertyAccessExpression 2291176 2291190 + Identifier 2291176 2291181 + Identifier 2291182 2291190 + BarBarToken 2291190 2291193 + BinaryExpression 2291193 2291299 + BinaryExpression 2291193 2291254 + PropertyAccessExpression 2291193 2291223 + PropertyAccessExpression 2291193 2291218 + Identifier 2291193 2291211 + Identifier 2291212 2291218 + Identifier 2291219 2291223 + EqualsEqualsEqualsToken 2291223 2291227 + PropertyAccessExpression 2291227 2291254 + Identifier 2291227 2291238 + Identifier 2291239 2291254 + AmpersandAmpersandToken 2291254 2291257 + PropertyAccessExpression 2291257 2291299 + ParenthesizedExpression 2291257 2291290 + AsExpression 2291259 2291289 + PropertyAccessExpression 2291259 2291270 + Identifier 2291259 2291263 + Identifier 2291264 2291270 + TypeReference 2291273 2291289 + Identifier 2291273 2291289 + Identifier 2291291 2291299 + BarBarToken 2291299 2291302 + CallExpression 2291302 2291393 + Identifier 2291302 2291330 + PropertyAccessExpression 2291331 2291346 + Identifier 2291331 2291340 + Identifier 2291341 2291346 + Identifier 2291347 2291366 + Identifier 2291367 2291392 + VariableStatement 2291394 2291484 + VariableDeclarationList 2291394 2291483 + VariableDeclaration 2291409 2291483 + Identifier 2291409 2291423 + CallExpression 2291425 2291483 + Identifier 2291425 2291440 + PropertyAccessExpression 2291441 2291464 + Identifier 2291441 2291450 + Identifier 2291451 2291464 + Identifier 2291465 2291470 + Identifier 2291471 2291482 + VariableStatement 2291484 2291589 + VariableDeclarationList 2291484 2291588 + VariableDeclaration 2291501 2291588 + Identifier 2291501 2291510 + CallExpression 2291512 2291588 + Identifier 2291512 2291535 + PropertyAccessExpression 2291536 2291546 + Identifier 2291536 2291541 + Identifier 2291542 2291546 + Identifier 2291547 2291556 + Identifier 2291557 2291566 + Identifier 2291567 2291572 + Identifier 2291573 2291587 + IfStatement 2291589 2291643 + BinaryExpression 2291603 2291624 + Identifier 2291603 2291611 + EqualsEqualsEqualsToken 2291611 2291615 + Identifier 2291615 2291624 + ReturnStatement 2291625 2291643 + Identifier 2291632 2291642 + VariableStatement 2291643 2292012 + VariableDeclarationList 2291643 2292011 + VariableDeclaration 2291935 2292011 + Identifier 2291935 2291950 + CallExpression 2291952 2292011 + Identifier 2291952 2291967 + PropertyAccessExpression 2291968 2291992 + Identifier 2291968 2291977 + Identifier 2291978 2291992 + Identifier 2291993 2291998 + Identifier 2291999 2292010 + VariableStatement 2292012 2292136 + VariableDeclarationList 2292012 2292135 + VariableDeclaration 2292027 2292135 + Identifier 2292027 2292040 + CallExpression 2292042 2292135 + Identifier 2292042 2292057 + CallExpression 2292058 2292134 + Identifier 2292058 2292080 + PropertyAccessExpression 2292081 2292091 + Identifier 2292081 2292086 + Identifier 2292087 2292091 + Identifier 2292092 2292101 + Identifier 2292102 2292111 + Identifier 2292112 2292117 + Identifier 2292118 2292133 + ReturnStatement 2292136 2292213 + ConditionalExpression 2292152 2292212 + BinaryExpression 2292152 2292189 + PropertyAccessExpression 2292152 2292171 + Identifier 2292152 2292165 + Identifier 2292166 2292171 + AmpersandToken 2292171 2292173 + PropertyAccessExpression 2292173 2292189 + Identifier 2292173 2292183 + Identifier 2292184 2292189 + QuestionToken 2292189 2292191 + Identifier 2292191 2292200 + ColonToken 2292200 2292202 + Identifier 2292202 2292212 + FunctionDeclaration 2292220 2295971 + Identifier 2292784 2292832 + Parameter 2292833 2292880 + Identifier 2292833 2292837 + UnionType 2292838 2292880 + TypeReference 2292838 2292862 + Identifier 2292838 2292862 + TypeReference 2292864 2292880 + Identifier 2292864 2292880 + Parameter 2292881 2292910 + Identifier 2292881 2292892 + UnionType 2292893 2292910 + TypeReference 2292893 2292898 + Identifier 2292893 2292898 + UndefinedKeyword 2292900 2292910 + Block 2292911 2295971 + ExpressionStatement 2292913 2293001 + CallExpression 2292913 2293000 + Identifier 2292913 2292940 + Identifier 2292941 2292999 + ReturnStatement 2293001 2293018 + FunctionDeclaration 2293018 2295964 + Identifier 2293038 2293097 + VoidKeyword 2293100 2293105 + Block 2293105 2295964 + VariableStatement 2293107 2293166 + VariableDeclarationList 2293107 2293165 + VariableDeclaration 2293126 2293165 + Identifier 2293126 2293140 + CallExpression 2293142 2293165 + Identifier 2293142 2293159 + Identifier 2293160 2293164 + VariableStatement 2293166 2293251 + VariableDeclarationList 2293166 2293250 + VariableDeclaration 2293185 2293250 + Identifier 2293185 2293190 + BinaryExpression 2293192 2293250 + Identifier 2293192 2293203 + AmpersandAmpersandToken 2293203 2293206 + CallExpression 2293206 2293250 + Identifier 2293206 2293223 + Identifier 2293224 2293234 + Identifier 2293235 2293249 + IfStatement 2293251 2293588 + BinaryExpression 2293444 2293545 + Identifier 2293444 2293448 + AmpersandAmpersandToken 2293448 2293451 + ParenthesizedExpression 2293451 2293545 + BinaryExpression 2293453 2293544 + CallExpression 2293453 2293490 + Identifier 2293453 2293468 + Identifier 2293469 2293473 + PropertyAccessExpression 2293474 2293489 + Identifier 2293474 2293484 + Identifier 2293485 2293489 + BarBarToken 2293490 2293493 + BinaryExpression 2293493 2293544 + PropertyAccessExpression 2293493 2293504 + Identifier 2293493 2293498 + Identifier 2293499 2293504 + AmpersandToken 2293504 2293506 + ParenthesizedExpression 2293506 2293544 + BinaryExpression 2293508 2293543 + PropertyAccessExpression 2293508 2293521 + Identifier 2293508 2293517 + Identifier 2293518 2293521 + BarToken 2293521 2293523 + PropertyAccessExpression 2293523 2293543 + Identifier 2293523 2293533 + Identifier 2293534 2293543 + Block 2293546 2293588 + ReturnStatement 2293548 2293573 + IfStatement 2293588 2294059 + BinaryExpression 2293872 2294016 + BinaryExpression 2293872 2293980 + BinaryExpression 2293872 2293940 + BinaryExpression 2293872 2293912 + PropertyAccessExpression 2293872 2293881 + Identifier 2293872 2293876 + Identifier 2293877 2293881 + EqualsEqualsEqualsToken 2293881 2293885 + PropertyAccessExpression 2293885 2293912 + Identifier 2293885 2293896 + Identifier 2293897 2293912 + BarBarToken 2293912 2293915 + CallExpression 2293915 2293940 + Identifier 2293915 2293929 + PropertyAccessExpression 2293930 2293939 + Identifier 2293930 2293934 + Identifier 2293935 2293939 + BarBarToken 2293940 2293943 + BinaryExpression 2293943 2293980 + PropertyAccessExpression 2293943 2293959 + NonNullExpression 2293943 2293954 + PropertyAccessExpression 2293943 2293953 + Identifier 2293943 2293948 + Identifier 2293949 2293953 + Identifier 2293955 2293959 + ExclamationEqualsEqualsToken 2293959 2293963 + PropertyAccessExpression 2293963 2293980 + Identifier 2293963 2293974 + Identifier 2293975 2293980 + BarBarToken 2293980 2293983 + PrefixUnaryExpression 2293983 2294016 + CallExpression 2293985 2294016 + Identifier 2293985 2294010 + Identifier 2294011 2294015 + Block 2294017 2294059 + ReturnStatement 2294019 2294044 + VariableStatement 2294059 2294142 + VariableDeclarationList 2294059 2294141 + VariableDeclaration 2294080 2294141 + Identifier 2294080 2294098 + BinaryExpression 2294100 2294141 + PropertyAccessExpression 2294100 2294111 + Identifier 2294100 2294105 + Identifier 2294106 2294111 + AmpersandToken 2294111 2294113 + PropertyAccessExpression 2294113 2294141 + Identifier 2294113 2294123 + Identifier 2294124 2294141 + VariableStatement 2294142 2294215 + VariableDeclarationList 2294142 2294214 + VariableDeclaration 2294161 2294214 + Identifier 2294161 2294171 + BinaryExpression 2294173 2294214 + CallExpression 2294173 2294206 + Identifier 2294173 2294200 + Identifier 2294201 2294205 + BarBarToken 2294206 2294209 + Identifier 2294209 2294214 + IfStatement 2294215 2295953 + BinaryExpression 2294235 2294271 + Identifier 2294235 2294239 + AmpersandAmpersandToken 2294239 2294242 + BinaryExpression 2294242 2294271 + PropertyAccessExpression 2294242 2294253 + Identifier 2294242 2294247 + Identifier 2294248 2294253 + AmpersandToken 2294253 2294255 + PropertyAccessExpression 2294255 2294271 + Identifier 2294255 2294265 + Identifier 2294266 2294271 + Block 2294272 2294398 + ExpressionStatement 2294274 2294383 + CallExpression 2294274 2294382 + Identifier 2294274 2294297 + Identifier 2294298 2294307 + PropertyAccessExpression 2294308 2294381 + Identifier 2294308 2294320 + Identifier 2294321 2294381 + IfStatement 2294416 2295953 + BinaryExpression 2294421 2294447 + Identifier 2294421 2294425 + AmpersandAmpersandToken 2294425 2294428 + PrefixUnaryExpression 2294428 2294447 + Identifier 2294430 2294447 + Block 2294448 2294798 + ExpressionStatement 2294450 2294783 + CallExpression 2294450 2294782 + Identifier 2294450 2294673 + Identifier 2294674 2294683 + PropertyAccessExpression 2294684 2294781 + Identifier 2294684 2294696 + Identifier 2294697 2294781 + IfStatement 2294816 2295953 + BinaryExpression 2294821 2294889 + BinaryExpression 2294821 2294845 + Identifier 2294821 2294825 + AmpersandAmpersandToken 2294825 2294828 + Identifier 2294828 2294845 + AmpersandAmpersandToken 2294845 2294848 + PrefixUnaryExpression 2294848 2294889 + CallExpression 2294850 2294889 + Identifier 2294850 2294868 + Identifier 2294869 2294882 + Identifier 2294883 2294888 + Block 2294890 2295037 + ExpressionStatement 2294892 2295022 + CallExpression 2294892 2295021 + Identifier 2294892 2294915 + Identifier 2294916 2294925 + PropertyAccessExpression 2294926 2295020 + Identifier 2294926 2294938 + Identifier 2294939 2295020 + IfStatement 2295055 2295953 + PropertyAccessExpression 2295060 2295093 + Identifier 2295060 2295075 + Identifier 2295076 2295093 + Block 2295094 2295953 + IfStatement 2295096 2295856 + PrefixUnaryExpression 2295118 2295123 + Identifier 2295119 2295123 + Block 2295124 2295856 + IfStatement 2295126 2295578 + PrefixUnaryExpression 2295501 2295519 + Identifier 2295502 2295519 + Block 2295520 2295578 + ReturnStatement 2295522 2295555 + VariableStatement 2295578 2295687 + VariableDeclarationList 2295578 2295686 + VariableDeclaration 2295605 2295686 + Identifier 2295605 2295624 + CallExpression 2295626 2295686 + Identifier 2295626 2295651 + CallExpression 2295652 2295685 + Identifier 2295652 2295679 + Identifier 2295680 2295684 + IfStatement 2295687 2295837 + CallExpression 2295713 2295778 + Identifier 2295713 2295752 + Identifier 2295753 2295757 + Identifier 2295758 2295777 + Block 2295779 2295837 + ReturnStatement 2295781 2295814 + ExpressionStatement 2295856 2295938 + CallExpression 2295856 2295937 + Identifier 2295856 2295879 + Identifier 2295880 2295889 + PropertyAccessExpression 2295890 2295936 + Identifier 2295890 2295902 + Identifier 2295903 2295936 + FunctionDeclaration 2295971 2298420 + Identifier 2295987 2296032 + Parameter 2296033 2296093 + Identifier 2296033 2296037 + UnionType 2296038 2296093 + TypeReference 2296038 2296057 + Identifier 2296038 2296057 + TypeReference 2296059 2296073 + Identifier 2296059 2296073 + TypeReference 2296075 2296093 + Identifier 2296075 2296093 + Parameter 2296094 2296116 + Identifier 2296094 2296104 + QuestionToken 2296104 2296105 + TypeReference 2296106 2296116 + Identifier 2296106 2296116 + TypeReference 2296118 2296123 + Identifier 2296118 2296123 + Block 2296123 2298420 + ExpressionStatement 2296125 2296223 + CallExpression 2296125 2296222 + PropertyAccessExpression 2296125 2296147 + Identifier 2296125 2296140 + Identifier 2296141 2296147 + BinaryExpression 2296148 2296221 + BinaryExpression 2296148 2296190 + PropertyAccessExpression 2296148 2296157 + Identifier 2296148 2296152 + Identifier 2296153 2296157 + ExclamationEqualsEqualsToken 2296157 2296161 + PropertyAccessExpression 2296161 2296190 + Identifier 2296161 2296172 + Identifier 2296173 2296190 + BarBarToken 2296190 2296193 + CallExpression 2296193 2296221 + Identifier 2296193 2296215 + Identifier 2296216 2296220 + ExpressionStatement 2296223 2296257 + CallExpression 2296223 2296256 + Identifier 2296223 2296250 + Identifier 2296251 2296255 + IfStatement 2296257 2296378 + CallExpression 2296273 2296299 + Identifier 2296273 2296293 + Identifier 2296294 2296298 + Block 2296300 2296378 + ExpressionStatement 2296302 2296367 + CallExpression 2296302 2296366 + Identifier 2296302 2296349 + Identifier 2296350 2296354 + PropertyAccessExpression 2296355 2296365 + Identifier 2296355 2296360 + Identifier 2296361 2296365 + IfStatement 2296378 2298019 + BinaryExpression 2296492 2296575 + BinaryExpression 2296492 2296547 + Identifier 2296492 2296501 + AmpersandAmpersandToken 2296501 2296504 + BinaryExpression 2296504 2296547 + Identifier 2296504 2296514 + AmpersandToken 2296514 2296516 + PropertyAccessExpression 2296516 2296547 + Identifier 2296516 2296526 + Identifier 2296527 2296547 + AmpersandAmpersandToken 2296547 2296550 + CallExpression 2296550 2296575 + Identifier 2296550 2296569 + Identifier 2296570 2296574 + Block 2296576 2298019 + IfStatement 2296578 2297971 + BinaryExpression 2296747 2296820 + PrefixUnaryExpression 2296747 2296780 + CallExpression 2296748 2296780 + Identifier 2296748 2296774 + Identifier 2296775 2296779 + AmpersandAmpersandToken 2296780 2296783 + PrefixUnaryExpression 2296783 2296820 + CallExpression 2296785 2296820 + Identifier 2296785 2296814 + Identifier 2296815 2296819 + Block 2296821 2297971 + VariableStatement 2296823 2297017 + VariableDeclarationList 2296823 2297016 + VariableDeclaration 2296965 2297016 + Identifier 2296965 2296985 + CallExpression 2296987 2297016 + Identifier 2296987 2297010 + Identifier 2297011 2297015 + IfStatement 2297017 2297956 + BinaryExpression 2297039 2297134 + Identifier 2297039 2297058 + AmpersandAmpersandToken 2297058 2297061 + CallExpression 2297061 2297134 + Identifier 2297061 2297087 + CallExpression 2297088 2297133 + Identifier 2297088 2297112 + Identifier 2297113 2297132 + Block 2297135 2297956 + VariableStatement 2297137 2297192 + VariableDeclarationList 2297137 2297191 + VariableDeclaration 2297164 2297191 + Identifier 2297164 2297170 + CallExpression 2297172 2297191 + Identifier 2297172 2297185 + Identifier 2297186 2297190 + IfStatement 2297192 2297320 + PropertyAccessExpression 2297218 2297239 + Identifier 2297218 2297223 + Identifier 2297224 2297239 + Block 2297240 2297320 + ReturnStatement 2297242 2297297 + PropertyAccessExpression 2297274 2297296 + Identifier 2297274 2297280 + Identifier 2297281 2297296 + VariableStatement 2297320 2297400 + VariableDeclarationList 2297320 2297399 + VariableDeclaration 2297347 2297399 + Identifier 2297347 2297358 + CallExpression 2297360 2297399 + Identifier 2297360 2297382 + Identifier 2297383 2297387 + Identifier 2297388 2297398 + VariableStatement 2297400 2297648 + VariableDeclarationList 2297400 2297647 + VariableDeclaration 2297427 2297647 + Identifier 2297427 2297447 + CallExpression 2297449 2297647 + Identifier 2297449 2297465 + Identifier 2297466 2297491 + Identifier 2297492 2297521 + Identifier 2297522 2297550 + Identifier 2297551 2297562 + Identifier 2297563 2297574 + Identifier 2297575 2297611 + NumericLiteral 2297612 2297614 + PropertyAccessExpression 2297615 2297646 + Identifier 2297615 2297630 + Identifier 2297631 2297646 + VariableStatement 2297648 2297787 + VariableDeclarationList 2297648 2297786 + VariableDeclaration 2297675 2297786 + Identifier 2297675 2297690 + CallExpression 2297692 2297786 + Identifier 2297692 2297712 + PropertyAccessExpression 2297713 2297724 + Identifier 2297713 2297717 + Identifier 2297718 2297724 + Identifier 2297725 2297738 + ArrayLiteralExpression 2297739 2297761 + Identifier 2297741 2297760 + Identifier 2297762 2297773 + Identifier 2297774 2297785 + ExpressionStatement 2297787 2297869 + BinaryExpression 2297787 2297868 + PropertyAccessExpression 2297787 2297835 + Identifier 2297787 2297823 + Identifier 2297824 2297835 + BarEqualsToken 2297835 2297838 + PropertyAccessExpression 2297838 2297868 + Identifier 2297838 2297850 + Identifier 2297851 2297868 + ReturnStatement 2297869 2297937 + BinaryExpression 2297897 2297936 + PropertyAccessExpression 2297897 2297919 + Identifier 2297897 2297903 + Identifier 2297904 2297919 + EqualsToken 2297919 2297921 + Identifier 2297921 2297936 + ReturnStatement 2297971 2298008 + Identifier 2297991 2298007 + VariableStatement 2298019 2298126 + VariableDeclarationList 2298019 2298125 + VariableDeclaration 2298065 2298125 + Identifier 2298065 2298081 + CallExpression 2298083 2298125 + Identifier 2298083 2298119 + Identifier 2298120 2298124 + IfStatement 2298126 2298262 + BinaryExpression 2298140 2298203 + PrefixUnaryExpression 2298140 2298156 + Identifier 2298141 2298156 + AmpersandAmpersandToken 2298156 2298159 + BinaryExpression 2298159 2298203 + PropertyAccessExpression 2298159 2298169 + Identifier 2298159 2298164 + Identifier 2298165 2298169 + EqualsEqualsEqualsToken 2298169 2298173 + PropertyAccessExpression 2298173 2298203 + Identifier 2298173 2298184 + Identifier 2298185 2298203 + Block 2298204 2298262 + ExpressionStatement 2298206 2298251 + CallExpression 2298206 2298250 + Identifier 2298206 2298244 + Identifier 2298245 2298249 + ExpressionStatement 2298262 2298348 + CallExpression 2298262 2298347 + Identifier 2298262 2298330 + Identifier 2298331 2298335 + Identifier 2298336 2298346 + ReturnStatement 2298348 2298413 + CallExpression 2298366 2298412 + Identifier 2298366 2298382 + CallExpression 2298383 2298411 + Identifier 2298383 2298405 + Identifier 2298406 2298410 + FunctionDeclaration 2298420 2301836 + Identifier 2298436 2298493 + Parameter 2298494 2298554 + Identifier 2298494 2298498 + UnionType 2298499 2298554 + TypeReference 2298499 2298518 + Identifier 2298499 2298518 + TypeReference 2298520 2298534 + Identifier 2298520 2298534 + TypeReference 2298536 2298554 + Identifier 2298536 2298554 + Parameter 2298555 2298577 + Identifier 2298555 2298565 + QuestionToken 2298565 2298566 + TypeReference 2298567 2298577 + Identifier 2298567 2298577 + Block 2298578 2301836 + VariableStatement 2298580 2298623 + VariableDeclarationList 2298580 2298622 + VariableDeclaration 2298595 2298622 + Identifier 2298595 2298601 + CallExpression 2298603 2298622 + Identifier 2298603 2298616 + Identifier 2298617 2298621 + IfStatement 2298623 2301829 + PrefixUnaryExpression 2298734 2298780 + ParenthesizedExpression 2298735 2298780 + BinaryExpression 2298736 2298779 + PropertyAccessExpression 2298736 2298747 + Identifier 2298736 2298741 + Identifier 2298742 2298747 + AmpersandToken 2298747 2298749 + PropertyAccessExpression 2298749 2298779 + Identifier 2298749 2298764 + Identifier 2298765 2298779 + Block 2298781 2301829 + VariableStatement 2298783 2298854 + VariableDeclarationList 2298783 2298853 + VariableDeclaration 2298802 2298853 + Identifier 2298802 2298822 + CallExpression 2298824 2298853 + Identifier 2298824 2298847 + Identifier 2298848 2298852 + IfStatement 2298854 2301818 + PrefixUnaryExpression 2299170 2299216 + ParenthesizedExpression 2299171 2299216 + BinaryExpression 2299172 2299215 + PropertyAccessExpression 2299172 2299183 + Identifier 2299172 2299177 + Identifier 2299178 2299183 + AmpersandToken 2299183 2299185 + PropertyAccessExpression 2299185 2299215 + Identifier 2299185 2299200 + Identifier 2299201 2299215 + Block 2299217 2301818 + ExpressionStatement 2299219 2299282 + BinaryExpression 2299219 2299281 + PropertyAccessExpression 2299219 2299248 + Identifier 2299219 2299242 + Identifier 2299243 2299248 + BarEqualsToken 2299248 2299251 + PropertyAccessExpression 2299251 2299281 + Identifier 2299251 2299266 + Identifier 2299267 2299281 + VariableStatement 2299282 2299423 + VariableDeclarationList 2299282 2299422 + VariableDeclaration 2299305 2299422 + Identifier 2299305 2299315 + CallExpression 2299317 2299422 + Identifier 2299317 2299334 + CallExpression 2299335 2299421 + Identifier 2299335 2299354 + CallExpression 2299355 2299400 + Identifier 2299355 2299370 + CallExpression 2299371 2299399 + Identifier 2299371 2299393 + Identifier 2299394 2299398 + PropertyAccessExpression 2299401 2299420 + Identifier 2299401 2299415 + Identifier 2299416 2299420 + IfStatement 2299423 2299506 + PrefixUnaryExpression 2299445 2299455 + Identifier 2299446 2299455 + Block 2299456 2299506 + ReturnStatement 2299458 2299487 + IfStatement 2299506 2301390 + CallExpression 2299528 2299552 + Identifier 2299528 2299546 + Identifier 2299547 2299551 + Block 2299553 2300946 + IfStatement 2299555 2300927 + Identifier 2299581 2299600 + Block 2299601 2300667 + VariableStatement 2299603 2299680 + VariableDeclarationList 2299603 2299679 + VariableDeclaration 2299634 2299679 + Identifier 2299634 2299651 + CallExpression 2299653 2299679 + Identifier 2299653 2299673 + Identifier 2299674 2299678 + VariableStatement 2299680 2299765 + VariableDeclarationList 2299680 2299764 + VariableDeclaration 2299709 2299764 + Identifier 2299709 2299741 + UnionType 2299742 2299764 + TypeReference 2299742 2299752 + Identifier 2299742 2299752 + UndefinedKeyword 2299754 2299764 + IfStatement 2299765 2300344 + BinaryExpression 2299795 2299841 + Identifier 2299795 2299804 + AmpersandAmpersandToken 2299804 2299807 + BinaryExpression 2299807 2299841 + Identifier 2299807 2299817 + AmpersandToken 2299817 2299819 + PropertyAccessExpression 2299819 2299841 + Identifier 2299819 2299829 + Identifier 2299830 2299841 + Block 2299842 2300344 + ExpressionStatement 2299844 2299963 + CallExpression 2299844 2299962 + Identifier 2299844 2299911 + Identifier 2299912 2299921 + Identifier 2299922 2299942 + NonNullExpression 2299943 2299961 + Identifier 2299943 2299960 + VariableStatement 2299963 2300052 + VariableDeclarationList 2299963 2300051 + VariableDeclaration 2299998 2300051 + Identifier 2299998 2300007 + CallExpression 2300009 2300051 + Identifier 2300009 2300030 + Identifier 2300031 2300050 + IfStatement 2300052 2300317 + BinaryExpression 2300086 2300138 + Identifier 2300086 2300094 + AmpersandAmpersandToken 2300094 2300097 + BinaryExpression 2300097 2300138 + PropertyAccessExpression 2300097 2300112 + Identifier 2300097 2300106 + Identifier 2300107 2300112 + AmpersandToken 2300112 2300114 + PropertyAccessExpression 2300114 2300138 + Identifier 2300114 2300124 + Identifier 2300125 2300138 + Block 2300139 2300317 + ExpressionStatement 2300141 2300286 + BinaryExpression 2300141 2300285 + Identifier 2300141 2300206 + EqualsToken 2300206 2300208 + CallExpression 2300208 2300285 + Identifier 2300208 2300229 + Identifier 2300230 2300249 + PropertyAccessExpression 2300250 2300284 + NonNullExpression 2300250 2300268 + Identifier 2300250 2300267 + Identifier 2300269 2300284 + ExpressionStatement 2300344 2300543 + BinaryExpression 2300344 2300542 + Identifier 2300344 2300401 + BarBarEqualsToken 2300401 2300405 + ConditionalExpression 2300405 2300542 + Identifier 2300405 2300422 + QuestionToken 2300422 2300424 + CallExpression 2300424 2300520 + Identifier 2300424 2300474 + Identifier 2300475 2300494 + PropertyAccessExpression 2300495 2300519 + Identifier 2300495 2300512 + Identifier 2300513 2300519 + ColonToken 2300520 2300522 + Identifier 2300522 2300542 + ExpressionStatement 2300543 2300644 + CallExpression 2300543 2300643 + Identifier 2300543 2300599 + Identifier 2300600 2300609 + Identifier 2300610 2300642 + Block 2300693 2300927 + ExpressionStatement 2300695 2300904 + CallExpression 2300695 2300903 + Identifier 2300695 2300892 + Identifier 2300893 2300902 + IfStatement 2300968 2301390 + BinaryExpression 2300973 2301082 + BinaryExpression 2300973 2301016 + Identifier 2300973 2300992 + AmpersandAmpersandToken 2300992 2300995 + PrefixUnaryExpression 2300995 2301016 + PropertyAccessExpression 2300997 2301016 + Identifier 2300997 2301001 + Identifier 2301002 2301016 + AmpersandAmpersandToken 2301016 2301019 + BinaryExpression 2301019 2301082 + PropertyAccessExpression 2301019 2301057 + PropertyAccessExpression 2301019 2301050 + Identifier 2301019 2301039 + Identifier 2301040 2301050 + Identifier 2301051 2301057 + GreaterThanToken 2301057 2301059 + PropertyAccessExpression 2301059 2301082 + PropertyAccessExpression 2301059 2301075 + Identifier 2301059 2301064 + Identifier 2301065 2301075 + Identifier 2301076 2301082 + Block 2301083 2301390 + VariableStatement 2301085 2301158 + VariableDeclarationList 2301085 2301157 + VariableDeclaration 2301112 2301157 + Identifier 2301112 2301129 + CallExpression 2301131 2301157 + Identifier 2301131 2301151 + Identifier 2301152 2301156 + IfStatement 2301158 2301371 + BinaryExpression 2301184 2301230 + Identifier 2301184 2301193 + AmpersandAmpersandToken 2301193 2301196 + BinaryExpression 2301196 2301230 + Identifier 2301196 2301206 + AmpersandToken 2301206 2301208 + PropertyAccessExpression 2301208 2301230 + Identifier 2301208 2301218 + Identifier 2301219 2301230 + Block 2301231 2301371 + ExpressionStatement 2301233 2301348 + CallExpression 2301233 2301347 + Identifier 2301233 2301296 + Identifier 2301297 2301306 + Identifier 2301307 2301327 + NonNullExpression 2301328 2301346 + Identifier 2301328 2301345 + IfStatement 2301390 2301753 + BinaryExpression 2301412 2301502 + BinaryExpression 2301412 2301469 + Identifier 2301412 2301431 + AmpersandAmpersandToken 2301431 2301434 + PrefixUnaryExpression 2301434 2301469 + CallExpression 2301436 2301469 + Identifier 2301436 2301463 + Identifier 2301464 2301468 + AmpersandAmpersandToken 2301469 2301472 + PrefixUnaryExpression 2301472 2301502 + PropertyAccessExpression 2301474 2301502 + Identifier 2301474 2301483 + Identifier 2301484 2301502 + Block 2301503 2301753 + VariableStatement 2301505 2301585 + VariableDeclarationList 2301505 2301584 + VariableDeclaration 2301532 2301584 + Identifier 2301532 2301543 + CallExpression 2301545 2301584 + Identifier 2301545 2301567 + Identifier 2301568 2301572 + Identifier 2301573 2301583 + IfStatement 2301585 2301734 + PrefixUnaryExpression 2301611 2301640 + PropertyAccessExpression 2301612 2301640 + Identifier 2301612 2301621 + Identifier 2301622 2301640 + Block 2301641 2301734 + ExpressionStatement 2301643 2301711 + BinaryExpression 2301643 2301710 + PropertyAccessExpression 2301643 2301697 + Identifier 2301643 2301678 + Identifier 2301679 2301697 + EqualsToken 2301697 2301699 + Identifier 2301699 2301710 + ExpressionStatement 2301753 2301803 + CallExpression 2301753 2301802 + Identifier 2301753 2301796 + Identifier 2301797 2301801 + FunctionDeclaration 2301836 2303966 + Identifier 2301852 2301905 + Parameter 2301906 2301966 + Identifier 2301906 2301910 + UnionType 2301911 2301966 + TypeReference 2301911 2301925 + Identifier 2301911 2301925 + TypeReference 2301927 2301946 + Identifier 2301927 2301946 + TypeReference 2301948 2301966 + Identifier 2301948 2301966 + Block 2301967 2303966 + ExpressionStatement 2301969 2302067 + CallExpression 2301969 2302066 + PropertyAccessExpression 2301969 2301991 + Identifier 2301969 2301984 + Identifier 2301985 2301991 + BinaryExpression 2301992 2302065 + BinaryExpression 2301992 2302034 + PropertyAccessExpression 2301992 2302001 + Identifier 2301992 2301996 + Identifier 2301997 2302001 + ExclamationEqualsEqualsToken 2302001 2302005 + PropertyAccessExpression 2302005 2302034 + Identifier 2302005 2302016 + Identifier 2302017 2302034 + BarBarToken 2302034 2302037 + CallExpression 2302037 2302065 + Identifier 2302037 2302059 + Identifier 2302060 2302064 + VariableStatement 2302067 2302124 + VariableDeclarationList 2302067 2302123 + VariableDeclaration 2302084 2302123 + Identifier 2302084 2302098 + CallExpression 2302100 2302123 + Identifier 2302100 2302117 + Identifier 2302118 2302122 + VariableStatement 2302124 2302187 + VariableDeclarationList 2302124 2302186 + VariableDeclaration 2302139 2302186 + Identifier 2302139 2302150 + CallExpression 2302152 2302186 + Identifier 2302152 2302180 + Identifier 2302181 2302185 + ExpressionStatement 2302187 2302263 + CallExpression 2302187 2302262 + Identifier 2302187 2302244 + Identifier 2302245 2302249 + Identifier 2302250 2302261 + IfStatement 2302263 2303959 + PropertyAccessExpression 2302279 2302288 + Identifier 2302279 2302283 + Identifier 2302284 2302288 + Block 2302289 2303959 + IfStatement 2302291 2302970 + PrefixUnaryExpression 2302309 2302342 + CallExpression 2302310 2302342 + Identifier 2302310 2302336 + Identifier 2302337 2302341 + Block 2302343 2302970 + ExpressionStatement 2302345 2302955 + CallExpression 2302345 2302954 + Identifier 2302345 2302919 + CallExpression 2302920 2302953 + Identifier 2302920 2302947 + Identifier 2302948 2302952 + IfStatement 2302970 2303948 + BinaryExpression 2302990 2303025 + PropertyAccessExpression 2302990 2303004 + PropertyAccessExpression 2302990 2302999 + Identifier 2302990 2302994 + Identifier 2302995 2302999 + Identifier 2303000 2303004 + EqualsEqualsEqualsToken 2303004 2303008 + PropertyAccessExpression 2303008 2303025 + Identifier 2303008 2303019 + Identifier 2303020 2303025 + Block 2303026 2303091 + ExpressionStatement 2303028 2303076 + CallExpression 2303028 2303075 + Identifier 2303028 2303064 + PropertyAccessExpression 2303065 2303074 + Identifier 2303065 2303069 + Identifier 2303070 2303074 + Block 2303109 2303948 + VariableStatement 2303111 2303660 + VariableDeclarationList 2303111 2303659 + VariableDeclaration 2303621 2303659 + Identifier 2303621 2303630 + CallExpression 2303632 2303659 + Identifier 2303632 2303648 + PropertyAccessExpression 2303649 2303658 + Identifier 2303649 2303653 + Identifier 2303654 2303658 + VariableStatement 2303660 2303765 + VariableDeclarationList 2303660 2303764 + VariableDeclaration 2303683 2303764 + Identifier 2303683 2303704 + BinaryExpression 2303706 2303764 + Identifier 2303706 2303717 + AmpersandAmpersandToken 2303717 2303720 + CallExpression 2303720 2303764 + Identifier 2303720 2303737 + Identifier 2303738 2303748 + Identifier 2303749 2303763 + IfStatement 2303765 2303933 + Identifier 2303787 2303807 + Block 2303808 2303933 + ExpressionStatement 2303810 2303914 + CallExpression 2303810 2303913 + Identifier 2303810 2303853 + Identifier 2303854 2303858 + Identifier 2303859 2303880 + PropertyAccessExpression 2303881 2303891 + Identifier 2303881 2303886 + Identifier 2303887 2303891 + PropertyAccessExpression 2303892 2303902 + Identifier 2303892 2303897 + Identifier 2303898 2303902 + Identifier 2303903 2303912 + FunctionDeclaration 2303966 2304507 + Identifier 2303982 2304009 + Parameter 2304010 2304023 + Identifier 2304010 2304017 + TypeReference 2304018 2304023 + Identifier 2304018 2304023 + Parameter 2304024 2304035 + Identifier 2304024 2304029 + TypeReference 2304030 2304035 + Identifier 2304030 2304035 + Parameter 2304036 2304066 + Identifier 2304036 2304047 + TypeReference 2304048 2304066 + Identifier 2304048 2304066 + Parameter 2304067 2304088 + Identifier 2304067 2304080 + FalseKeyword 2304082 2304088 + BooleanKeyword 2304090 2304098 + Block 2304098 2304507 + IfStatement 2304100 2304478 + PrefixUnaryExpression 2304114 2304159 + CallExpression 2304115 2304159 + Identifier 2304115 2304133 + Identifier 2304134 2304138 + Identifier 2304139 2304158 + Block 2304160 2304478 + VariableStatement 2304162 2304242 + VariableDeclarationList 2304162 2304241 + VariableDeclaration 2304181 2304241 + Identifier 2304181 2304193 + BinaryExpression 2304195 2304241 + Identifier 2304195 2304208 + AmpersandAmpersandToken 2304208 2304211 + CallExpression 2304211 2304241 + Identifier 2304211 2304235 + Identifier 2304236 2304240 + ExpressionStatement 2304242 2304440 + CallExpression 2304242 2304439 + Identifier 2304242 2304281 + Identifier 2304282 2304307 + BinaryExpression 2304308 2304394 + PrefixUnaryExpression 2304308 2304339 + PrefixUnaryExpression 2304327 2304339 + Identifier 2304328 2304339 + AmpersandAmpersandToken 2304339 2304342 + CallExpression 2304342 2304394 + Identifier 2304342 2304361 + Identifier 2304362 2304373 + Identifier 2304374 2304393 + Identifier 2304395 2304423 + ReturnStatement 2304440 2304467 + FalseKeyword 2304460 2304466 + ReturnStatement 2304478 2304500 + TrueKeyword 2304494 2304499 + FunctionDeclaration 2304507 2306143 + Identifier 2304523 2304555 + Parameter 2304556 2304570 + Identifier 2304556 2304557 + TypeReference 2304558 2304570 + Identifier 2304558 2304570 + Block 2304571 2306143 + IfStatement 2304573 2304648 + PrefixUnaryExpression 2304587 2304607 + CallExpression 2304588 2304607 + Identifier 2304588 2304604 + Identifier 2304605 2304606 + Block 2304608 2304648 + ReturnStatement 2304610 2304637 + FalseKeyword 2304630 2304636 + IfStatement 2304648 2304741 + PrefixUnaryExpression 2304662 2304700 + CallExpression 2304663 2304700 + Identifier 2304663 2304697 + Identifier 2304698 2304699 + Block 2304701 2304741 + ReturnStatement 2304703 2304730 + FalseKeyword 2304723 2304729 + VariableStatement 2304741 2304811 + VariableDeclarationList 2304741 2304810 + VariableDeclaration 2304756 2304810 + Identifier 2304756 2304770 + CallExpression 2304772 2304810 + Identifier 2304772 2304794 + ElementAccessExpression 2304795 2304809 + PropertyAccessExpression 2304795 2304806 + Identifier 2304795 2304796 + Identifier 2304797 2304806 + NumericLiteral 2304807 2304808 + VariableStatement 2304811 2304899 + VariableDeclarationList 2304811 2304898 + VariableDeclaration 2304826 2304898 + Identifier 2304826 2304836 + CallExpression 2304838 2304898 + Identifier 2304838 2304862 + Identifier 2304863 2304876 + AsExpression 2304877 2304897 + StringLiteral 2304877 2304885 + TypeReference 2304888 2304897 + Identifier 2304888 2304897 + IfStatement 2304899 2306032 + Identifier 2304913 2304922 + Block 2304923 2306032 + VariableStatement 2304925 2305017 + VariableDeclarationList 2304925 2305016 + VariableDeclaration 2304944 2305016 + Identifier 2304944 2304957 + CallExpression 2304959 2305016 + Identifier 2304959 2304977 + Identifier 2304978 2304991 + AsExpression 2304992 2305015 + StringLiteral 2304992 2305003 + TypeReference 2305006 2305015 + Identifier 2305006 2305015 + VariableStatement 2305017 2305098 + VariableDeclarationList 2305017 2305097 + VariableDeclaration 2305036 2305097 + Identifier 2305036 2305049 + BinaryExpression 2305051 2305097 + Identifier 2305051 2305064 + AmpersandAmpersandToken 2305064 2305067 + CallExpression 2305067 2305097 + Identifier 2305067 2305083 + Identifier 2305084 2305096 + IfStatement 2305098 2305244 + BinaryExpression 2305116 2305196 + BinaryExpression 2305116 2305159 + PrefixUnaryExpression 2305116 2305129 + Identifier 2305117 2305129 + BarBarToken 2305129 2305132 + BinaryExpression 2305132 2305159 + Identifier 2305132 2305145 + EqualsEqualsEqualsToken 2305145 2305149 + Identifier 2305149 2305159 + BarBarToken 2305159 2305162 + BinaryExpression 2305162 2305196 + Identifier 2305162 2305175 + EqualsEqualsEqualsToken 2305175 2305179 + Identifier 2305179 2305196 + Block 2305197 2305244 + ReturnStatement 2305199 2305229 + TrueKeyword 2305223 2305228 + IfStatement 2305244 2305994 + BinaryExpression 2305578 2305678 + BinaryExpression 2305578 2305623 + Identifier 2305578 2305590 + AmpersandAmpersandToken 2305590 2305593 + PropertyAccessExpression 2305593 2305623 + Identifier 2305593 2305606 + Identifier 2305607 2305623 + AmpersandAmpersandToken 2305623 2305626 + CallExpression 2305626 2305678 + Identifier 2305626 2305647 + PropertyAccessExpression 2305648 2305677 + Identifier 2305648 2305660 + Identifier 2305661 2305677 + Block 2305679 2305994 + VariableStatement 2305681 2305761 + VariableDeclarationList 2305681 2305760 + VariableDeclaration 2305704 2305760 + Identifier 2305704 2305716 + PropertyAccessExpression 2305718 2305760 + PropertyAccessExpression 2305718 2305748 + Identifier 2305718 2305731 + Identifier 2305732 2305748 + Identifier 2305749 2305760 + VariableStatement 2305761 2305832 + VariableDeclarationList 2305761 2305831 + VariableDeclaration 2305784 2305831 + Identifier 2305784 2305800 + CallExpression 2305802 2305831 + Identifier 2305802 2305818 + Identifier 2305819 2305830 + IfStatement 2305832 2305979 + BinaryExpression 2305854 2305923 + BinaryExpression 2305854 2305883 + Identifier 2305854 2305869 + EqualsEqualsEqualsToken 2305869 2305873 + Identifier 2305873 2305883 + BarBarToken 2305883 2305886 + BinaryExpression 2305886 2305923 + Identifier 2305886 2305902 + EqualsEqualsEqualsToken 2305902 2305906 + Identifier 2305906 2305923 + Block 2305924 2305979 + ReturnStatement 2305926 2305960 + TrueKeyword 2305954 2305959 + ReturnStatement 2305994 2306021 + FalseKeyword 2306014 2306020 + VariableStatement 2306032 2306110 + VariableDeclarationList 2306032 2306109 + VariableDeclaration 2306047 2306109 + Identifier 2306047 2306055 + CallExpression 2306057 2306109 + Identifier 2306057 2306075 + Identifier 2306076 2306089 + AsExpression 2306090 2306108 + StringLiteral 2306090 2306096 + TypeReference 2306099 2306108 + Identifier 2306099 2306108 + ReturnStatement 2306110 2306136 + PrefixUnaryExpression 2306126 2306135 + Identifier 2306128 2306135 + FunctionDeclaration 2306143 2307172 + Identifier 2306159 2306176 + Parameter 2306177 2306191 + Identifier 2306177 2306183 + TypeReference 2306184 2306191 + Identifier 2306184 2306191 + BooleanKeyword 2306193 2306201 + Block 2306201 2307172 + ReturnStatement 2306203 2307165 + PrefixUnaryExpression 2306646 2307164 + PrefixUnaryExpression 2306648 2307164 + ParenthesizedExpression 2306649 2307164 + BinaryExpression 2306650 2307163 + BinaryExpression 2306650 2307088 + BinaryExpression 2306650 2307034 + BinaryExpression 2306650 2306937 + BinaryExpression 2306650 2306819 + BinaryExpression 2306650 2306693 + CallExpression 2306650 2306671 + Identifier 2306650 2306663 + Identifier 2306664 2306670 + AmpersandToken 2306671 2306673 + PropertyAccessExpression 2306673 2306693 + Identifier 2306673 2306684 + Identifier 2306685 2306693 + BarBarToken 2306693 2306696 + BinaryExpression 2306696 2306819 + BinaryExpression 2306696 2306745 + PropertyAccessExpression 2306696 2306722 + Identifier 2306696 2306716 + Identifier 2306717 2306722 + AmpersandToken 2306722 2306724 + PropertyAccessExpression 2306724 2306745 + Identifier 2306724 2306736 + Identifier 2306737 2306745 + AmpersandAmpersandToken 2306745 2306748 + BinaryExpression 2306748 2306819 + CallExpression 2306748 2306794 + Identifier 2306748 2306786 + Identifier 2306787 2306793 + AmpersandToken 2306794 2306796 + PropertyAccessExpression 2306796 2306819 + Identifier 2306796 2306810 + Identifier 2306811 2306819 + BarBarToken 2306819 2306822 + BinaryExpression 2306822 2306937 + BinaryExpression 2306822 2306871 + PropertyAccessExpression 2306822 2306848 + Identifier 2306822 2306842 + Identifier 2306843 2306848 + AmpersandToken 2306848 2306850 + PropertyAccessExpression 2306850 2306871 + Identifier 2306850 2306862 + Identifier 2306863 2306871 + AmpersandAmpersandToken 2306871 2306874 + BinaryExpression 2306874 2306937 + CallExpression 2306874 2306916 + Identifier 2306874 2306908 + Identifier 2306909 2306915 + AmpersandToken 2306916 2306918 + PropertyAccessExpression 2306918 2306937 + Identifier 2306918 2306928 + Identifier 2306929 2306937 + BarBarToken 2306937 2306940 + BinaryExpression 2306940 2307034 + BinaryExpression 2306940 2306989 + PropertyAccessExpression 2306940 2306966 + Identifier 2306940 2306960 + Identifier 2306961 2306966 + AmpersandToken 2306966 2306968 + PropertyAccessExpression 2306968 2306989 + Identifier 2306968 2306980 + Identifier 2306981 2306989 + AmpersandAmpersandToken 2306989 2306992 + PrefixUnaryExpression 2306992 2307034 + ParenthesizedExpression 2306994 2307034 + BinaryExpression 2306995 2307033 + PropertyAccessExpression 2306995 2307007 + Identifier 2306995 2307001 + Identifier 2307002 2307007 + AmpersandToken 2307007 2307009 + PropertyAccessExpression 2307009 2307033 + Identifier 2307009 2307021 + Identifier 2307022 2307033 + BarBarToken 2307034 2307037 + BinaryExpression 2307037 2307088 + PropertyAccessExpression 2307037 2307063 + Identifier 2307037 2307057 + Identifier 2307058 2307063 + AmpersandToken 2307063 2307065 + PropertyAccessExpression 2307065 2307088 + Identifier 2307065 2307077 + Identifier 2307078 2307088 + BarBarToken 2307088 2307091 + CallExpression 2307091 2307163 + Identifier 2307091 2307109 + PropertyAccessExpression 2307110 2307129 + Identifier 2307110 2307116 + Identifier 2307117 2307129 + Identifier 2307130 2307162 + FunctionDeclaration 2307172 2309736 + Identifier 2307188 2307217 + Parameter 2307218 2307234 + Identifier 2307218 2307222 + TypeReference 2307223 2307234 + Identifier 2307223 2307234 + Parameter 2307235 2307250 + Identifier 2307235 2307242 + TypeReference 2307243 2307250 + Identifier 2307243 2307250 + Parameter 2307251 2307282 + Identifier 2307251 2307266 + TypeReference 2307267 2307282 + Identifier 2307267 2307282 + Block 2307283 2309736 + IfStatement 2307285 2307462 + BinaryExpression 2307299 2307337 + Identifier 2307299 2307313 + EqualsEqualsEqualsToken 2307313 2307317 + PropertyAccessExpression 2307317 2307337 + Identifier 2307317 2307332 + Identifier 2307333 2307337 + Block 2307338 2307462 + ReturnStatement 2307340 2307451 + FalseKeyword 2307444 2307450 + IfStatement 2307462 2309136 + CallExpression 2307476 2307500 + Identifier 2307476 2307492 + Identifier 2307493 2307499 + Block 2307501 2309136 + IfStatement 2307503 2309099 + BinaryExpression 2307629 2307795 + BinaryExpression 2307629 2307727 + BinaryExpression 2307629 2307682 + PropertyAccessExpression 2307629 2307659 + Identifier 2307629 2307653 + Identifier 2307654 2307659 + AmpersandToken 2307659 2307661 + PropertyAccessExpression 2307661 2307682 + Identifier 2307661 2307673 + Identifier 2307674 2307682 + AmpersandAmpersandToken 2307682 2307685 + CallExpression 2307685 2307727 + Identifier 2307685 2307721 + Identifier 2307722 2307726 + AmpersandAmpersandToken 2307727 2307730 + BinaryExpression 2307730 2307795 + PropertyAccessExpression 2307730 2307768 + PropertyAccessExpression 2307730 2307763 + Identifier 2307730 2307752 + Identifier 2307753 2307763 + Identifier 2307764 2307768 + EqualsEqualsEqualsToken 2307768 2307772 + PropertyAccessExpression 2307772 2307795 + Identifier 2307772 2307783 + Identifier 2307784 2307795 + Block 2307810 2309099 + VariableStatement 2307812 2307975 + VariableDeclarationList 2307812 2307974 + VariableDeclaration 2307937 2307974 + Identifier 2307937 2307942 + CallExpression 2307944 2307974 + Identifier 2307944 2307968 + Identifier 2307969 2307973 + IfStatement 2307975 2308127 + PrefixUnaryExpression 2307997 2308071 + ParenthesizedExpression 2307998 2308071 + BinaryExpression 2307999 2308070 + Identifier 2307999 2308003 + AmpersandAmpersandToken 2308003 2308006 + ParenthesizedExpression 2308006 2308070 + BinaryExpression 2308008 2308069 + BinaryExpression 2308008 2308044 + PropertyAccessExpression 2308008 2308017 + Identifier 2308008 2308012 + Identifier 2308013 2308017 + EqualsEqualsEqualsToken 2308017 2308021 + PropertyAccessExpression 2308021 2308044 + Identifier 2308021 2308032 + Identifier 2308033 2308044 + BarBarToken 2308044 2308047 + CallExpression 2308047 2308069 + Identifier 2308047 2308063 + Identifier 2308064 2308068 + Block 2308072 2308127 + ReturnStatement 2308074 2308108 + TrueKeyword 2308102 2308107 + IfStatement 2308127 2309084 + PropertyAccessExpression 2308149 2308172 + Identifier 2308149 2308155 + Identifier 2308156 2308172 + Block 2308173 2309084 + VariableStatement 2308175 2308273 + VariableDeclarationList 2308175 2308272 + VariableDeclaration 2308202 2308272 + Identifier 2308202 2308226 + CallExpression 2308228 2308272 + Identifier 2308228 2308247 + PropertyAccessExpression 2308248 2308271 + Identifier 2308248 2308254 + Identifier 2308255 2308271 + VariableStatement 2308273 2308377 + VariableDeclarationList 2308273 2308376 + VariableDeclaration 2308300 2308376 + Identifier 2308300 2308327 + BinaryExpression 2308329 2308376 + PropertyAccessExpression 2308329 2308341 + Identifier 2308329 2308334 + Identifier 2308335 2308341 + EqualsEqualsEqualsToken 2308341 2308345 + PropertyAccessExpression 2308345 2308376 + PropertyAccessExpression 2308345 2308369 + Identifier 2308345 2308352 + Identifier 2308353 2308369 + Identifier 2308370 2308376 + VariableStatement 2308377 2308472 + VariableDeclarationList 2308377 2308471 + VariableDeclaration 2308404 2308471 + Identifier 2308404 2308429 + BinaryExpression 2308431 2308471 + Identifier 2308431 2308436 + EqualsEqualsEqualsToken 2308436 2308440 + PropertyAccessExpression 2308440 2308471 + PropertyAccessExpression 2308440 2308464 + Identifier 2308440 2308447 + Identifier 2308448 2308464 + Identifier 2308465 2308471 + VariableStatement 2308472 2308607 + VariableDeclarationList 2308472 2308606 + VariableDeclaration 2308499 2308606 + Identifier 2308499 2308529 + BinaryExpression 2308531 2308606 + Identifier 2308531 2308555 + AmpersandAmpersandToken 2308555 2308558 + BinaryExpression 2308558 2308606 + PropertyAccessExpression 2308558 2308590 + PropertyAccessExpression 2308558 2308572 + Identifier 2308558 2308565 + Identifier 2308566 2308572 + QuestionDotToken 2308572 2308574 + Identifier 2308574 2308590 + EqualsEqualsEqualsToken 2308590 2308594 + PropertyAccessExpression 2308594 2308606 + Identifier 2308594 2308599 + Identifier 2308600 2308606 + VariableStatement 2308607 2308754 + VariableDeclarationList 2308607 2308753 + VariableDeclaration 2308634 2308753 + Identifier 2308634 2308683 + BinaryExpression 2308685 2308753 + Identifier 2308685 2308709 + AmpersandAmpersandToken 2308709 2308712 + BinaryExpression 2308712 2308753 + PropertyAccessExpression 2308712 2308744 + PropertyAccessExpression 2308712 2308726 + Identifier 2308712 2308719 + Identifier 2308720 2308726 + QuestionDotToken 2308726 2308728 + Identifier 2308728 2308744 + EqualsEqualsEqualsToken 2308744 2308748 + Identifier 2308748 2308753 + VariableStatement 2308754 2309017 + VariableDeclarationList 2308754 2309016 + VariableDeclaration 2308781 2309016 + Identifier 2308781 2308799 + BinaryExpression 2308801 2309016 + BinaryExpression 2308801 2308939 + BinaryExpression 2308801 2308881 + Identifier 2308801 2308828 + BarBarToken 2308828 2308856 + Identifier 2308856 2308881 + BarBarToken 2308881 2308909 + Identifier 2308909 2308939 + BarBarToken 2308939 2308967 + Identifier 2308967 2309016 + ReturnStatement 2309017 2309065 + PrefixUnaryExpression 2309045 2309064 + Identifier 2309047 2309064 + ReturnStatement 2309099 2309125 + TrueKeyword 2309119 2309124 + IfStatement 2309136 2309706 + CallExpression 2309150 2309174 + Identifier 2309150 2309168 + Identifier 2309169 2309173 + Block 2309175 2309706 + VariableStatement 2309177 2309308 + VariableDeclarationList 2309177 2309307 + VariableDeclaration 2309267 2309307 + Identifier 2309267 2309272 + CallExpression 2309274 2309307 + Identifier 2309274 2309290 + PropertyAccessExpression 2309291 2309306 + Identifier 2309291 2309295 + Identifier 2309296 2309306 + IfStatement 2309308 2309695 + BinaryExpression 2309326 2309361 + PropertyAccessExpression 2309326 2309335 + Identifier 2309326 2309330 + Identifier 2309331 2309335 + EqualsEqualsEqualsToken 2309335 2309339 + PropertyAccessExpression 2309339 2309361 + Identifier 2309339 2309350 + Identifier 2309351 2309361 + Block 2309362 2309695 + VariableStatement 2309364 2309432 + VariableDeclarationList 2309364 2309431 + VariableDeclaration 2309387 2309431 + Identifier 2309387 2309394 + NonNullExpression 2309396 2309431 + PropertyAccessExpression 2309396 2309430 + CallExpression 2309396 2309415 + Identifier 2309396 2309409 + Identifier 2309410 2309414 + Identifier 2309416 2309430 + IfStatement 2309432 2309680 + BinaryExpression 2309454 2309486 + PropertyAccessExpression 2309454 2309466 + Identifier 2309454 2309460 + Identifier 2309461 2309466 + AmpersandToken 2309466 2309468 + PropertyAccessExpression 2309468 2309486 + Identifier 2309468 2309480 + Identifier 2309481 2309486 + Block 2309487 2309680 + VariableStatement 2309489 2309567 + VariableDeclarationList 2309489 2309566 + VariableDeclaration 2309516 2309566 + Identifier 2309516 2309528 + CallExpression 2309530 2309566 + Identifier 2309530 2309558 + Identifier 2309559 2309565 + ReturnStatement 2309567 2309661 + BinaryExpression 2309595 2309660 + PrefixUnaryExpression 2309595 2309609 + PrefixUnaryExpression 2309597 2309609 + Identifier 2309598 2309609 + AmpersandAmpersandToken 2309609 2309612 + BinaryExpression 2309612 2309660 + PropertyAccessExpression 2309612 2309629 + Identifier 2309612 2309624 + Identifier 2309625 2309629 + EqualsEqualsEqualsToken 2309629 2309633 + PropertyAccessExpression 2309633 2309660 + Identifier 2309633 2309644 + Identifier 2309645 2309660 + ReturnStatement 2309706 2309729 + FalseKeyword 2309722 2309728 + FunctionDeclaration 2309736 2310453 + Identifier 2309752 2309777 + Parameter 2309778 2309794 + Identifier 2309778 2309782 + TypeReference 2309783 2309794 + Identifier 2309783 2309794 + Parameter 2309795 2309838 + Identifier 2309795 2309819 + TypeReference 2309820 2309838 + Identifier 2309820 2309838 + Parameter 2309839 2309886 + Identifier 2309839 2309867 + TypeReference 2309868 2309886 + Identifier 2309868 2309886 + BooleanKeyword 2309888 2309896 + Block 2309896 2310453 + VariableStatement 2309898 2310108 + VariableDeclarationList 2309898 2310107 + VariableDeclaration 2310005 2310107 + Identifier 2310005 2310010 + CallExpression 2310012 2310107 + Identifier 2310012 2310033 + Identifier 2310034 2310038 + BinaryExpression 2310039 2310106 + PropertyAccessExpression 2310039 2310071 + Identifier 2310039 2310060 + Identifier 2310061 2310071 + BarToken 2310071 2310073 + PropertyAccessExpression 2310073 2310106 + Identifier 2310073 2310094 + Identifier 2310095 2310106 + IfStatement 2310108 2310278 + BinaryExpression 2310122 2310186 + BinaryExpression 2310122 2310157 + PropertyAccessExpression 2310122 2310131 + Identifier 2310122 2310126 + Identifier 2310127 2310131 + ExclamationEqualsEqualsToken 2310131 2310135 + PropertyAccessExpression 2310135 2310157 + Identifier 2310135 2310146 + Identifier 2310147 2310157 + AmpersandAmpersandToken 2310157 2310160 + PrefixUnaryExpression 2310160 2310186 + CallExpression 2310162 2310186 + Identifier 2310162 2310180 + Identifier 2310181 2310185 + Block 2310187 2310278 + ExpressionStatement 2310189 2310240 + CallExpression 2310189 2310239 + Identifier 2310189 2310208 + Identifier 2310209 2310213 + Identifier 2310214 2310238 + ReturnStatement 2310240 2310267 + FalseKeyword 2310260 2310266 + IfStatement 2310278 2310424 + BinaryExpression 2310292 2310328 + PropertyAccessExpression 2310292 2310302 + Identifier 2310292 2310296 + Identifier 2310297 2310302 + AmpersandToken 2310302 2310304 + PropertyAccessExpression 2310304 2310328 + Identifier 2310304 2310314 + Identifier 2310315 2310328 + Block 2310329 2310424 + ExpressionStatement 2310331 2310386 + CallExpression 2310331 2310385 + Identifier 2310331 2310350 + Identifier 2310351 2310355 + Identifier 2310356 2310384 + ReturnStatement 2310386 2310413 + FalseKeyword 2310406 2310412 + ReturnStatement 2310424 2310446 + TrueKeyword 2310440 2310445 + FunctionDeclaration 2310453 2311475 + Identifier 2310469 2310491 + Parameter 2310492 2310514 + Identifier 2310492 2310496 + TypeReference 2310497 2310514 + Identifier 2310497 2310514 + TypeReference 2310516 2310521 + Identifier 2310516 2310521 + Block 2310521 2311475 + ExpressionStatement 2310523 2310566 + CallExpression 2310523 2310565 + Identifier 2310523 2310548 + PropertyAccessExpression 2310549 2310564 + Identifier 2310549 2310553 + Identifier 2310554 2310564 + VariableStatement 2310566 2310622 + VariableDeclarationList 2310566 2310621 + VariableDeclaration 2310581 2310621 + Identifier 2310581 2310586 + CallExpression 2310588 2310621 + Identifier 2310588 2310604 + PropertyAccessExpression 2310605 2310620 + Identifier 2310605 2310609 + Identifier 2310610 2310620 + IfStatement 2310622 2310809 + PrefixUnaryExpression 2310636 2310661 + CallExpression 2310637 2310661 + Identifier 2310637 2310655 + Identifier 2310656 2310660 + Block 2310662 2310809 + ExpressionStatement 2310664 2310765 + CallExpression 2310664 2310764 + Identifier 2310664 2310683 + Identifier 2310684 2310688 + PropertyAccessExpression 2310689 2310763 + Identifier 2310689 2310701 + Identifier 2310702 2310763 + ReturnStatement 2310765 2310798 + Identifier 2310785 2310797 + IfStatement 2310809 2311006 + BinaryExpression 2310823 2310889 + CallExpression 2310823 2310855 + Identifier 2310823 2310849 + Identifier 2310850 2310854 + AmpersandAmpersandToken 2310855 2310858 + CallExpression 2310858 2310889 + Identifier 2310858 2310878 + PropertyAccessExpression 2310879 2310888 + Identifier 2310879 2310883 + Identifier 2310884 2310888 + Block 2310890 2311006 + ExpressionStatement 2310892 2310995 + CallExpression 2310892 2310994 + Identifier 2310892 2310911 + Identifier 2310912 2310916 + PropertyAccessExpression 2310917 2310993 + Identifier 2310917 2310929 + Identifier 2310930 2310993 + VariableStatement 2311006 2311049 + VariableDeclarationList 2311006 2311048 + VariableDeclaration 2311021 2311048 + Identifier 2311021 2311027 + CallExpression 2311029 2311048 + Identifier 2311029 2311042 + Identifier 2311043 2311047 + VariableStatement 2311049 2311135 + VariableDeclarationList 2311049 2311134 + VariableDeclaration 2311064 2311134 + Identifier 2311064 2311071 + CallExpression 2311073 2311134 + Identifier 2311073 2311112 + PropertyAccessExpression 2311113 2311133 + Identifier 2311113 2311118 + Identifier 2311119 2311133 + IfStatement 2311135 2311439 + Identifier 2311149 2311155 + Block 2311156 2311439 + IfStatement 2311158 2311428 + CallExpression 2311176 2311200 + Identifier 2311176 2311192 + Identifier 2311193 2311199 + Block 2311201 2311325 + ExpressionStatement 2311203 2311310 + CallExpression 2311203 2311309 + Identifier 2311203 2311226 + Identifier 2311227 2311231 + PropertyAccessExpression 2311232 2311308 + Identifier 2311232 2311244 + Identifier 2311245 2311308 + Block 2311343 2311428 + ExpressionStatement 2311345 2311413 + CallExpression 2311345 2311412 + Identifier 2311345 2311398 + Identifier 2311399 2311403 + Identifier 2311404 2311411 + ReturnStatement 2311439 2311468 + Identifier 2311455 2311467 + FunctionDeclaration 2311475 2311983 + Identifier 2311491 2311527 + Parameter 2311528 2311550 + Identifier 2311528 2311532 + TypeReference 2311533 2311550 + Identifier 2311533 2311550 + Parameter 2311551 2311566 + Identifier 2311551 2311558 + TypeReference 2311559 2311566 + Identifier 2311559 2311566 + Block 2311567 2311983 + VariableStatement 2311569 2311616 + VariableDeclarationList 2311569 2311615 + VariableDeclaration 2311584 2311615 + Identifier 2311584 2311589 + CallExpression 2311591 2311615 + Identifier 2311591 2311607 + Identifier 2311608 2311614 + IfStatement 2311616 2311976 + BinaryExpression 2311630 2311863 + BinaryExpression 2311630 2311735 + Identifier 2311630 2311660 + AmpersandAmpersandToken 2311660 2311663 + PrefixUnaryExpression 2311663 2311735 + ParenthesizedExpression 2311678 2311735 + BinaryExpression 2311679 2311734 + PropertyAccessExpression 2311679 2311689 + Identifier 2311679 2311683 + Identifier 2311684 2311689 + AmpersandToken 2311689 2311691 + ParenthesizedExpression 2311691 2311734 + BinaryExpression 2311693 2311733 + PropertyAccessExpression 2311693 2311715 + Identifier 2311693 2311702 + Identifier 2311703 2311715 + BarToken 2311715 2311717 + PropertyAccessExpression 2311717 2311733 + Identifier 2311717 2311727 + Identifier 2311728 2311733 + AmpersandAmpersandToken 2311735 2311738 + PrefixUnaryExpression 2311738 2311863 + ParenthesizedExpression 2311753 2311863 + ConditionalExpression 2311754 2311862 + Identifier 2311754 2311780 + QuestionToken 2311780 2311782 + BinaryExpression 2311782 2311818 + PropertyAccessExpression 2311782 2311795 + Identifier 2311782 2311789 + Identifier 2311790 2311795 + AmpersandToken 2311795 2311797 + PropertyAccessExpression 2311797 2311818 + Identifier 2311797 2311809 + Identifier 2311810 2311818 + ColonToken 2311818 2311820 + CallExpression 2311820 2311862 + Identifier 2311820 2311833 + Identifier 2311834 2311838 + PropertyAccessExpression 2311839 2311861 + Identifier 2311839 2311849 + Identifier 2311850 2311861 + Block 2311874 2311976 + ExpressionStatement 2311876 2311965 + CallExpression 2311876 2311964 + Identifier 2311876 2311895 + Identifier 2311896 2311900 + PropertyAccessExpression 2311901 2311963 + Identifier 2311901 2311913 + Identifier 2311914 2311963 + FunctionDeclaration 2311983 2312131 + Identifier 2311999 2312021 + Parameter 2312022 2312044 + Identifier 2312022 2312026 + TypeReference 2312027 2312044 + Identifier 2312027 2312044 + TypeReference 2312046 2312051 + Identifier 2312046 2312051 + Block 2312051 2312131 + ExpressionStatement 2312053 2312096 + CallExpression 2312053 2312095 + Identifier 2312053 2312078 + PropertyAccessExpression 2312079 2312094 + Identifier 2312079 2312083 + Identifier 2312084 2312094 + ReturnStatement 2312096 2312124 + Identifier 2312112 2312123 + FunctionDeclaration 2312131 2312277 + Identifier 2312147 2312167 + Parameter 2312168 2312188 + Identifier 2312168 2312172 + TypeReference 2312173 2312188 + Identifier 2312173 2312188 + TypeReference 2312190 2312195 + Identifier 2312190 2312195 + Block 2312195 2312277 + ExpressionStatement 2312197 2312231 + CallExpression 2312197 2312230 + Identifier 2312197 2312224 + Identifier 2312225 2312229 + ReturnStatement 2312231 2312270 + Identifier 2312247 2312269 + FunctionDeclaration 2312277 2317776 + Identifier 2312293 2312311 + Parameter 2312312 2312359 + Identifier 2312312 2312316 + UnionType 2312317 2312359 + TypeReference 2312317 2312333 + Identifier 2312317 2312333 + TypeReference 2312335 2312359 + Identifier 2312335 2312359 + BooleanKeyword 2312361 2312369 + Block 2312369 2317776 + VariableStatement 2312371 2312431 + VariableDeclarationList 2312371 2312430 + VariableDeclaration 2312413 2312430 + Identifier 2312413 2312422 + FalseKeyword 2312424 2312430 + VariableStatement 2312431 2312505 + VariableDeclarationList 2312431 2312504 + VariableDeclaration 2312446 2312504 + Identifier 2312446 2312456 + CallExpression 2312458 2312504 + Identifier 2312458 2312498 + Identifier 2312499 2312503 + IfStatement 2312505 2317410 + BinaryExpression 2312519 2312572 + Identifier 2312519 2312528 + AmpersandAmpersandToken 2312528 2312531 + CallExpression 2312531 2312572 + Identifier 2312531 2312561 + Identifier 2312562 2312571 + Block 2312573 2312967 + VariableStatement 2312575 2312891 + VariableDeclarationList 2312575 2312890 + VariableDeclaration 2312685 2312890 + Identifier 2312685 2312693 + ConditionalExpression 2312695 2312890 + CallExpression 2312695 2312719 + Identifier 2312695 2312713 + Identifier 2312714 2312718 + QuestionToken 2312719 2312721 + PropertyAccessExpression 2312721 2312793 + Identifier 2312721 2312733 + Identifier 2312734 2312793 + ColonToken 2312793 2312795 + PropertyAccessExpression 2312795 2312890 + Identifier 2312795 2312824 + Identifier 2312825 2312890 + ExpressionStatement 2312891 2312926 + CallExpression 2312891 2312925 + Identifier 2312891 2312910 + Identifier 2312911 2312915 + Identifier 2312916 2312924 + ExpressionStatement 2312926 2312956 + BinaryExpression 2312926 2312955 + Identifier 2312926 2312948 + EqualsToken 2312948 2312950 + TrueKeyword 2312950 2312955 + IfStatement 2312981 2317410 + PrefixUnaryExpression 2312986 2313024 + ParenthesizedExpression 2312987 2313024 + BinaryExpression 2312988 2313023 + PropertyAccessExpression 2312988 2312998 + Identifier 2312988 2312992 + Identifier 2312993 2312998 + AmpersandToken 2312998 2313000 + PropertyAccessExpression 2313000 2313023 + Identifier 2313000 2313010 + Identifier 2313011 2313023 + Block 2313025 2317410 + IfStatement 2313027 2317399 + CallExpression 2313045 2313070 + Identifier 2313045 2313064 + Identifier 2313065 2313069 + Block 2313071 2316217 + VariableStatement 2313073 2313136 + VariableDeclarationList 2313073 2313135 + VariableDeclaration 2313096 2313135 + Identifier 2313096 2313107 + CallExpression 2313109 2313135 + Identifier 2313109 2313129 + Identifier 2313130 2313134 + IfStatement 2313136 2316202 + PrefixUnaryExpression 2313158 2313190 + CallExpression 2313159 2313190 + Identifier 2313159 2313178 + Identifier 2313179 2313189 + Block 2313191 2316202 + VariableStatement 2313193 2313246 + VariableDeclarationList 2313193 2313245 + VariableDeclaration 2313218 2313245 + Identifier 2313218 2313223 + UnionType 2313224 2313245 + TypeReference 2313224 2313233 + Identifier 2313224 2313233 + UndefinedKeyword 2313235 2313245 + IfStatement 2313246 2314147 + PrefixUnaryExpression 2313272 2313327 + CallExpression 2313273 2313327 + Identifier 2313273 2313298 + Identifier 2313299 2313309 + Identifier 2313310 2313326 + Block 2313328 2314147 + ExpressionStatement 2313330 2313412 + BinaryExpression 2313330 2313411 + Identifier 2313330 2313360 + QuestionQuestionEqualsToken 2313360 2313364 + CallExpression 2313364 2313411 + Identifier 2313364 2313389 + Identifier 2313390 2313400 + PropertyAccessExpression 2313401 2313410 + Identifier 2313401 2313406 + Identifier 2313407 2313410 + VariableStatement 2313412 2313916 + VariableDeclarationList 2313412 2313915 + VariableDeclaration 2313443 2313915 + Identifier 2313443 2313451 + ConditionalExpression 2313453 2313915 + CallExpression 2313453 2313477 + Identifier 2313453 2313471 + Identifier 2313472 2313476 + QuestionToken 2313477 2313479 + PropertyAccessExpression 2313479 2313679 + Identifier 2313479 2313491 + Identifier 2313492 2313679 + ColonToken 2313679 2313681 + PropertyAccessExpression 2313681 2313915 + Identifier 2313681 2313722 + Identifier 2313723 2313915 + VariableStatement 2313916 2314028 + VariableDeclarationList 2313916 2314027 + VariableDeclaration 2313947 2314027 + Identifier 2313947 2313958 + CallExpression 2313960 2314027 + Identifier 2313960 2313981 + Identifier 2313982 2313992 + PropertyAccessExpression 2313993 2314004 + Identifier 2313993 2313998 + Identifier 2313999 2314004 + PropertyAccessExpression 2314005 2314017 + Identifier 2314005 2314010 + Identifier 2314011 2314017 + Identifier 2314018 2314026 + ExpressionStatement 2314028 2314082 + CallExpression 2314028 2314081 + PropertyAccessExpression 2314028 2314069 + Identifier 2314028 2314065 + Identifier 2314066 2314069 + Identifier 2314070 2314080 + ExpressionStatement 2314082 2314124 + BinaryExpression 2314082 2314123 + Identifier 2314082 2314116 + EqualsToken 2314116 2314118 + TrueKeyword 2314118 2314123 + SwitchStatement 2314147 2316183 + Identifier 2314177 2314187 + CaseBlock 2314188 2316183 + CaseClause 2314190 2314239 + PropertyAccessExpression 2314220 2314238 + Identifier 2314220 2314231 + Identifier 2314232 2314238 + CaseClause 2314239 2314288 + PropertyAccessExpression 2314269 2314287 + Identifier 2314269 2314280 + Identifier 2314281 2314287 + CaseClause 2314288 2314910 + PropertyAccessExpression 2314318 2314338 + Identifier 2314318 2314329 + Identifier 2314330 2314338 + IfStatement 2314339 2314910 + BinaryExpression 2314373 2314425 + PropertyAccessExpression 2314373 2314401 + Identifier 2314373 2314383 + Identifier 2314384 2314401 + EqualsEqualsEqualsToken 2314401 2314405 + PropertyAccessExpression 2314405 2314425 + Identifier 2314405 2314416 + Identifier 2314417 2314425 + Block 2314426 2314910 + ExpressionStatement 2314428 2314518 + BinaryExpression 2314428 2314517 + Identifier 2314428 2314466 + QuestionQuestionEqualsToken 2314466 2314470 + CallExpression 2314470 2314517 + Identifier 2314470 2314495 + Identifier 2314496 2314506 + PropertyAccessExpression 2314507 2314516 + Identifier 2314507 2314512 + Identifier 2314513 2314516 + ExpressionStatement 2314518 2314789 + CallExpression 2314518 2314788 + PropertyAccessExpression 2314518 2314567 + Identifier 2314518 2314563 + Identifier 2314564 2314567 + CallExpression 2314568 2314752 + Identifier 2314568 2314626 + Identifier 2314627 2314637 + PropertyAccessExpression 2314638 2314649 + Identifier 2314638 2314643 + Identifier 2314644 2314649 + PropertyAccessExpression 2314650 2314662 + Identifier 2314650 2314655 + Identifier 2314656 2314662 + PropertyAccessExpression 2314663 2314751 + Identifier 2314663 2314675 + Identifier 2314676 2314751 + ExpressionStatement 2314789 2314839 + BinaryExpression 2314789 2314838 + Identifier 2314789 2314831 + EqualsToken 2314831 2314833 + TrueKeyword 2314833 2314838 + BreakStatement 2314839 2314879 + CaseClause 2314910 2315003 + PropertyAccessExpression 2314984 2315002 + Identifier 2314984 2314995 + Identifier 2314996 2315002 + CaseClause 2315003 2315052 + PropertyAccessExpression 2315033 2315051 + Identifier 2315033 2315044 + Identifier 2315045 2315051 + CaseClause 2315052 2315103 + PropertyAccessExpression 2315082 2315102 + Identifier 2315082 2315093 + Identifier 2315094 2315102 + CaseClause 2315103 2315298 + PropertyAccessExpression 2315133 2315151 + Identifier 2315133 2315144 + Identifier 2315145 2315151 + IfStatement 2315152 2315298 + BinaryExpression 2315186 2315224 + Identifier 2315186 2315201 + GreaterThanEqualsToken 2315201 2315204 + PropertyAccessExpression 2315204 2315224 + Identifier 2315204 2315217 + Identifier 2315218 2315224 + Block 2315225 2315298 + BreakStatement 2315227 2315267 + DefaultClause 2315298 2316160 + ExpressionStatement 2315376 2315462 + BinaryExpression 2315376 2315461 + Identifier 2315376 2315410 + QuestionQuestionEqualsToken 2315410 2315414 + CallExpression 2315414 2315461 + Identifier 2315414 2315439 + Identifier 2315440 2315450 + PropertyAccessExpression 2315451 2315460 + Identifier 2315451 2315456 + Identifier 2315457 2315460 + VariableStatement 2315462 2315964 + VariableDeclarationList 2315462 2315963 + VariableDeclaration 2315497 2315963 + Identifier 2315497 2315505 + ConditionalExpression 2315507 2315963 + CallExpression 2315507 2315531 + Identifier 2315507 2315525 + Identifier 2315526 2315530 + QuestionToken 2315531 2315533 + PropertyAccessExpression 2315533 2315728 + Identifier 2315533 2315545 + Identifier 2315546 2315728 + ColonToken 2315728 2315730 + PropertyAccessExpression 2315730 2315963 + Identifier 2315730 2315775 + Identifier 2315776 2315963 + ExpressionStatement 2315964 2316078 + CallExpression 2315964 2316077 + PropertyAccessExpression 2315964 2316009 + Identifier 2315964 2316005 + Identifier 2316006 2316009 + CallExpression 2316010 2316076 + Identifier 2316010 2316030 + Identifier 2316031 2316041 + PropertyAccessExpression 2316042 2316053 + Identifier 2316042 2316047 + Identifier 2316048 2316053 + PropertyAccessExpression 2316054 2316066 + Identifier 2316054 2316059 + Identifier 2316060 2316066 + Identifier 2316067 2316075 + ExpressionStatement 2316078 2316124 + BinaryExpression 2316078 2316123 + Identifier 2316078 2316116 + EqualsToken 2316116 2316118 + TrueKeyword 2316118 2316123 + BreakStatement 2316124 2316160 + Block 2316235 2317399 + VariableStatement 2316237 2316357 + VariableDeclarationList 2316237 2316356 + VariableDeclaration 2316317 2316356 + Identifier 2316317 2316328 + CallExpression 2316330 2316356 + Identifier 2316330 2316350 + Identifier 2316351 2316355 + IfStatement 2316357 2317384 + PrefixUnaryExpression 2316379 2316411 + CallExpression 2316380 2316411 + Identifier 2316380 2316399 + Identifier 2316400 2316410 + Block 2316412 2317384 + VariableStatement 2316414 2316496 + VariableDeclarationList 2316414 2316495 + VariableDeclaration 2316441 2316495 + Identifier 2316441 2316446 + CallExpression 2316448 2316495 + Identifier 2316448 2316473 + Identifier 2316474 2316484 + PropertyAccessExpression 2316485 2316494 + Identifier 2316485 2316490 + Identifier 2316491 2316494 + VariableStatement 2316496 2316798 + VariableDeclarationList 2316496 2316797 + VariableDeclaration 2316523 2316797 + Identifier 2316523 2316531 + ConditionalExpression 2316533 2316797 + CallExpression 2316533 2316557 + Identifier 2316533 2316551 + Identifier 2316552 2316556 + QuestionToken 2316557 2316559 + PropertyAccessExpression 2316559 2316662 + Identifier 2316559 2316571 + Identifier 2316572 2316662 + ColonToken 2316662 2316664 + PropertyAccessExpression 2316664 2316797 + Identifier 2316664 2316701 + Identifier 2316702 2316797 + VariableStatement 2316798 2316906 + VariableDeclarationList 2316798 2316905 + VariableDeclaration 2316825 2316905 + Identifier 2316825 2316836 + CallExpression 2316838 2316905 + Identifier 2316838 2316859 + Identifier 2316860 2316870 + PropertyAccessExpression 2316871 2316882 + Identifier 2316871 2316876 + Identifier 2316877 2316882 + PropertyAccessExpression 2316883 2316895 + Identifier 2316883 2316888 + Identifier 2316889 2316895 + Identifier 2316896 2316904 + IfStatement 2316906 2317277 + BinaryExpression 2316932 2317047 + BinaryExpression 2316932 2316986 + Identifier 2316932 2316941 + AmpersandAmpersandToken 2316941 2316944 + BinaryExpression 2316944 2316986 + PropertyAccessExpression 2316944 2316959 + Identifier 2316944 2316954 + Identifier 2316955 2316959 + ExclamationEqualsEqualsToken 2316959 2316963 + PropertyAccessExpression 2316963 2316986 + Identifier 2316963 2316974 + Identifier 2316975 2316986 + AmpersandAmpersandToken 2316986 2316989 + BinaryExpression 2316989 2317047 + ParenthesizedExpression 2316989 2317041 + BinaryExpression 2316991 2317040 + CallExpression 2316991 2317018 + Identifier 2316991 2317007 + Identifier 2317008 2317017 + AmpersandToken 2317018 2317020 + PropertyAccessExpression 2317020 2317040 + Identifier 2317020 2317034 + Identifier 2317035 2317040 + EqualsEqualsEqualsToken 2317041 2317045 + NumericLiteral 2317045 2317047 + Block 2317048 2317277 + VariableStatement 2317050 2317188 + VariableDeclarationList 2317050 2317187 + VariableDeclaration 2317081 2317187 + Identifier 2317081 2317093 + CallExpression 2317095 2317187 + Identifier 2317095 2317119 + Identifier 2317120 2317129 + PropertyAccessExpression 2317130 2317186 + Identifier 2317130 2317142 + Identifier 2317143 2317186 + ExpressionStatement 2317188 2317254 + CallExpression 2317188 2317253 + Identifier 2317188 2317228 + Identifier 2317229 2317239 + Identifier 2317240 2317252 + ExpressionStatement 2317277 2317327 + CallExpression 2317277 2317326 + PropertyAccessExpression 2317277 2317314 + Identifier 2317277 2317310 + Identifier 2317311 2317314 + Identifier 2317315 2317325 + ExpressionStatement 2317327 2317365 + BinaryExpression 2317327 2317364 + Identifier 2317327 2317357 + EqualsToken 2317357 2317359 + TrueKeyword 2317359 2317364 + IfStatement 2317410 2317741 + BinaryExpression 2317426 2317507 + CallExpression 2317426 2317449 + Identifier 2317426 2317443 + Identifier 2317444 2317448 + AmpersandAmpersandToken 2317449 2317452 + CallExpression 2317452 2317507 + Identifier 2317452 2317501 + Identifier 2317502 2317506 + Block 2317508 2317741 + ExpressionStatement 2317510 2317700 + CallExpression 2317510 2317699 + Identifier 2317510 2317620 + Identifier 2317621 2317625 + PropertyAccessExpression 2317626 2317698 + Identifier 2317626 2317638 + Identifier 2317639 2317698 + ExpressionStatement 2317700 2317730 + BinaryExpression 2317700 2317729 + Identifier 2317700 2317722 + EqualsToken 2317722 2317724 + TrueKeyword 2317724 2317729 + ReturnStatement 2317741 2317769 + Identifier 2317759 2317768 + FunctionDeclaration 2317776 2318481 + Identifier 2317792 2317813 + Parameter 2317814 2317835 + Identifier 2317814 2317818 + TypeReference 2317819 2317835 + Identifier 2317819 2317835 + TypeReference 2317837 2317842 + Identifier 2317837 2317842 + Block 2317842 2318481 + ExpressionStatement 2317844 2317903 + CallExpression 2317844 2317902 + Identifier 2317844 2317871 + ArrowFunction 2317872 2317901 + EqualsGreaterThanToken 2317874 2317877 + CallExpression 2317877 2317901 + Identifier 2317877 2317895 + Identifier 2317896 2317900 + VariableStatement 2317903 2317968 + VariableDeclarationList 2317903 2317967 + VariableDeclaration 2317920 2317967 + Identifier 2317920 2317932 + CallExpression 2317934 2317967 + Identifier 2317934 2317950 + PropertyAccessExpression 2317951 2317966 + Identifier 2317951 2317955 + Identifier 2317956 2317966 + VariableStatement 2317968 2318163 + VariableDeclarationList 2317968 2318162 + VariableDeclaration 2317983 2318162 + Identifier 2317983 2317995 + CallExpression 2317997 2318162 + Identifier 2317997 2318014 + Identifier 2318015 2318026 + TrueKeyword 2318027 2318046 + Identifier 2318047 2318052 + PropertyAccessExpression 2318053 2318161 + Identifier 2318053 2318065 + Identifier 2318066 2318161 + IfStatement 2318163 2318445 + BinaryExpression 2318177 2318282 + BinaryExpression 2318177 2318233 + BinaryExpression 2318177 2318204 + Identifier 2318177 2318188 + EqualsEqualsEqualsToken 2318188 2318192 + Identifier 2318192 2318204 + AmpersandAmpersandToken 2318204 2318207 + PrefixUnaryExpression 2318207 2318233 + CallExpression 2318209 2318233 + Identifier 2318209 2318220 + Identifier 2318221 2318232 + AmpersandAmpersandToken 2318233 2318236 + PrefixUnaryExpression 2318236 2318282 + ParenthesizedExpression 2318238 2318282 + BinaryExpression 2318239 2318281 + PropertyAccessExpression 2318239 2318256 + Identifier 2318239 2318250 + Identifier 2318251 2318256 + AmpersandToken 2318256 2318258 + PropertyAccessExpression 2318258 2318281 + Identifier 2318258 2318268 + Identifier 2318269 2318281 + Block 2318283 2318445 + ExpressionStatement 2318285 2318434 + CallExpression 2318285 2318433 + Identifier 2318285 2318319 + FalseKeyword 2318320 2318337 + CallExpression 2318338 2318432 + Identifier 2318338 2318362 + Identifier 2318363 2318367 + PropertyAccessExpression 2318368 2318431 + Identifier 2318368 2318380 + Identifier 2318381 2318431 + ReturnStatement 2318445 2318474 + Identifier 2318461 2318473 + FunctionDeclaration 2318481 2321832 + Identifier 2318497 2318524 + Parameter 2318525 2318552 + Identifier 2318525 2318529 + TypeReference 2318530 2318552 + Identifier 2318530 2318552 + TypeReference 2318554 2318559 + Identifier 2318554 2318559 + Block 2318559 2321832 + VariableStatement 2318561 2318621 + VariableDeclarationList 2318561 2318620 + VariableDeclaration 2318576 2318620 + Identifier 2318576 2318588 + CallExpression 2318590 2318620 + Identifier 2318590 2318606 + PropertyAccessExpression 2318607 2318619 + Identifier 2318607 2318611 + Identifier 2318612 2318619 + IfStatement 2318621 2318717 + BinaryExpression 2318635 2318666 + Identifier 2318635 2318646 + EqualsEqualsEqualsToken 2318646 2318650 + Identifier 2318650 2318666 + Block 2318667 2318717 + ReturnStatement 2318669 2318706 + Identifier 2318689 2318705 + SwitchStatement 2318717 2319601 + PropertyAccessExpression 2318735 2318752 + PropertyAccessExpression 2318735 2318747 + Identifier 2318735 2318739 + Identifier 2318740 2318747 + Identifier 2318748 2318752 + CaseBlock 2318753 2319601 + CaseClause 2318755 2319224 + PropertyAccessExpression 2318773 2318799 + Identifier 2318773 2318784 + Identifier 2318785 2318799 + SwitchStatement 2318800 2319200 + PropertyAccessExpression 2318826 2318839 + Identifier 2318826 2318830 + Identifier 2318831 2318839 + CaseBlock 2318840 2319200 + CaseClause 2318842 2319012 + PropertyAccessExpression 2318868 2318890 + Identifier 2318868 2318879 + Identifier 2318880 2318890 + ReturnStatement 2318891 2319012 + CallExpression 2318923 2319011 + Identifier 2318923 2318949 + CallExpression 2318950 2319010 + Identifier 2318950 2318970 + PrefixUnaryExpression 2318971 2319009 + PropertyAccessExpression 2318972 2319009 + ParenthesizedExpression 2318972 2319004 + AsExpression 2318973 2319003 + PropertyAccessExpression 2318973 2318985 + Identifier 2318973 2318977 + Identifier 2318978 2318985 + TypeReference 2318988 2319003 + Identifier 2318988 2319003 + Identifier 2319005 2319009 + CaseClause 2319012 2319181 + PropertyAccessExpression 2319038 2319059 + Identifier 2319038 2319049 + Identifier 2319050 2319059 + ReturnStatement 2319060 2319181 + CallExpression 2319092 2319180 + Identifier 2319092 2319118 + CallExpression 2319119 2319179 + Identifier 2319119 2319139 + PrefixUnaryExpression 2319140 2319178 + PropertyAccessExpression 2319141 2319178 + ParenthesizedExpression 2319141 2319173 + AsExpression 2319142 2319172 + PropertyAccessExpression 2319142 2319154 + Identifier 2319142 2319146 + Identifier 2319147 2319154 + TypeReference 2319157 2319172 + Identifier 2319157 2319172 + Identifier 2319174 2319178 + BreakStatement 2319200 2319224 + CaseClause 2319224 2319590 + PropertyAccessExpression 2319242 2319267 + Identifier 2319242 2319253 + Identifier 2319254 2319267 + IfStatement 2319268 2319590 + BinaryExpression 2319290 2319329 + PropertyAccessExpression 2319290 2319303 + Identifier 2319290 2319294 + Identifier 2319295 2319303 + EqualsEqualsEqualsToken 2319303 2319307 + PropertyAccessExpression 2319307 2319329 + Identifier 2319307 2319318 + Identifier 2319319 2319329 + Block 2319330 2319590 + ReturnStatement 2319332 2319571 + CallExpression 2319360 2319570 + Identifier 2319360 2319386 + CallExpression 2319387 2319569 + Identifier 2319387 2319407 + ObjectLiteralExpression 2319408 2319568 + PropertyAssignment 2319409 2319449 + Identifier 2319409 2319443 + TrueKeyword 2319444 2319449 + PropertyAssignment 2319450 2319544 + Identifier 2319450 2319487 + CallExpression 2319488 2319544 + Identifier 2319488 2319506 + PropertyAccessExpression 2319507 2319543 + ParenthesizedExpression 2319507 2319538 + AsExpression 2319508 2319537 + PropertyAccessExpression 2319508 2319520 + Identifier 2319508 2319512 + Identifier 2319513 2319520 + TypeReference 2319523 2319537 + Identifier 2319523 2319537 + Identifier 2319539 2319543 + SwitchStatement 2319601 2321798 + PropertyAccessExpression 2319619 2319632 + Identifier 2319619 2319623 + Identifier 2319624 2319632 + CaseBlock 2319633 2321798 + CaseClause 2319635 2319675 + PropertyAccessExpression 2319653 2319674 + Identifier 2319653 2319664 + Identifier 2319665 2319674 + CaseClause 2319675 2319716 + PropertyAccessExpression 2319693 2319715 + Identifier 2319693 2319704 + Identifier 2319705 2319715 + CaseClause 2319716 2320560 + PropertyAccessExpression 2319734 2319756 + Identifier 2319734 2319745 + Identifier 2319746 2319756 + ExpressionStatement 2319757 2319819 + CallExpression 2319757 2319818 + Identifier 2319757 2319791 + Identifier 2319792 2319803 + PropertyAccessExpression 2319804 2319817 + Identifier 2319804 2319809 + Identifier 2319810 2319817 + IfStatement 2319819 2320073 + CallExpression 2319841 2319918 + Identifier 2319841 2319881 + Identifier 2319882 2319893 + PropertyAccessExpression 2319894 2319917 + Identifier 2319894 2319904 + Identifier 2319905 2319917 + Block 2319919 2320073 + ExpressionStatement 2319921 2320054 + CallExpression 2319921 2320053 + Identifier 2319921 2319948 + PropertyAccessExpression 2319949 2319961 + Identifier 2319949 2319953 + Identifier 2319954 2319961 + PropertyAccessExpression 2319962 2320022 + Identifier 2319962 2319974 + Identifier 2319975 2320022 + CallExpression 2320023 2320052 + Identifier 2320023 2320037 + PropertyAccessExpression 2320038 2320051 + Identifier 2320038 2320042 + Identifier 2320043 2320051 + IfStatement 2320073 2320503 + BinaryExpression 2320095 2320133 + PropertyAccessExpression 2320095 2320108 + Identifier 2320095 2320099 + Identifier 2320100 2320108 + EqualsEqualsEqualsToken 2320108 2320112 + PropertyAccessExpression 2320112 2320133 + Identifier 2320112 2320123 + Identifier 2320124 2320133 + Block 2320134 2320503 + IfStatement 2320136 2320444 + CallExpression 2320162 2320237 + Identifier 2320162 2320202 + Identifier 2320203 2320214 + PropertyAccessExpression 2320215 2320236 + Identifier 2320215 2320225 + Identifier 2320226 2320236 + Block 2320238 2320444 + ExpressionStatement 2320240 2320421 + CallExpression 2320240 2320420 + Identifier 2320240 2320271 + PropertyAccessExpression 2320272 2320284 + Identifier 2320272 2320276 + Identifier 2320277 2320284 + PropertyAccessExpression 2320285 2320336 + Identifier 2320285 2320297 + Identifier 2320298 2320336 + CallExpression 2320337 2320366 + Identifier 2320337 2320351 + PropertyAccessExpression 2320352 2320365 + Identifier 2320352 2320356 + Identifier 2320357 2320365 + CallExpression 2320367 2320419 + Identifier 2320367 2320380 + CallExpression 2320381 2320418 + Identifier 2320381 2320405 + Identifier 2320406 2320417 + ReturnStatement 2320444 2320484 + Identifier 2320472 2320483 + ReturnStatement 2320503 2320560 + CallExpression 2320527 2320559 + Identifier 2320527 2320546 + Identifier 2320547 2320558 + CaseClause 2320560 2320927 + PropertyAccessExpression 2320578 2320606 + Identifier 2320578 2320589 + Identifier 2320590 2320606 + ExpressionStatement 2320607 2320674 + CallExpression 2320607 2320673 + Identifier 2320607 2320646 + Identifier 2320647 2320658 + PropertyAccessExpression 2320659 2320672 + Identifier 2320659 2320664 + Identifier 2320665 2320672 + VariableStatement 2320674 2320768 + VariableDeclarationList 2320674 2320767 + VariableDeclaration 2320697 2320767 + Identifier 2320697 2320703 + CallExpression 2320705 2320767 + Identifier 2320705 2320718 + Identifier 2320719 2320730 + BinaryExpression 2320731 2320766 + PropertyAccessExpression 2320731 2320748 + Identifier 2320731 2320741 + Identifier 2320742 2320748 + BarToken 2320748 2320750 + PropertyAccessExpression 2320750 2320766 + Identifier 2320750 2320760 + Identifier 2320761 2320766 + ReturnStatement 2320768 2320927 + ConditionalExpression 2320792 2320926 + BinaryExpression 2320792 2320819 + Identifier 2320792 2320798 + EqualsEqualsEqualsToken 2320798 2320802 + PropertyAccessExpression 2320802 2320819 + Identifier 2320802 2320812 + Identifier 2320813 2320819 + QuestionToken 2320819 2320821 + Identifier 2320821 2320831 + ColonToken 2320831 2320833 + ConditionalExpression 2320833 2320926 + BinaryExpression 2320833 2320880 + Identifier 2320833 2320860 + EqualsEqualsEqualsToken 2320860 2320864 + PropertyAccessExpression 2320864 2320880 + Identifier 2320864 2320874 + Identifier 2320875 2320880 + QuestionToken 2320880 2320882 + Identifier 2320882 2320891 + ColonToken 2320891 2320893 + Identifier 2320893 2320926 + CaseClause 2320927 2320971 + PropertyAccessExpression 2320945 2320970 + Identifier 2320945 2320956 + Identifier 2320957 2320970 + CaseClause 2320971 2321787 + PropertyAccessExpression 2320989 2321016 + Identifier 2320989 2321000 + Identifier 2321001 2321016 + VariableStatement 2321017 2321217 + VariableDeclarationList 2321017 2321216 + VariableDeclaration 2321040 2321216 + Identifier 2321040 2321043 + CallExpression 2321045 2321216 + Identifier 2321045 2321072 + PropertyAccessExpression 2321073 2321085 + Identifier 2321073 2321077 + Identifier 2321078 2321085 + CallExpression 2321086 2321130 + Identifier 2321086 2321103 + Identifier 2321104 2321115 + PropertyAccessExpression 2321116 2321129 + Identifier 2321116 2321121 + Identifier 2321122 2321129 + PropertyAccessExpression 2321131 2321215 + Identifier 2321131 2321143 + Identifier 2321144 2321215 + IfStatement 2321217 2321730 + Identifier 2321239 2321241 + Block 2321242 2321730 + ExpressionStatement 2321244 2321711 + CallExpression 2321244 2321710 + Identifier 2321244 2321392 + PropertyAccessExpression 2321393 2321431 + Identifier 2321393 2321423 + Identifier 2321424 2321431 + PropertyAccessExpression 2321432 2321559 + Identifier 2321432 2321469 + Identifier 2321470 2321559 + PropertyAccessExpression 2321560 2321686 + Identifier 2321560 2321597 + Identifier 2321598 2321686 + ReturnStatement 2321730 2321787 + CallExpression 2321754 2321786 + Identifier 2321754 2321773 + Identifier 2321774 2321785 + ReturnStatement 2321798 2321825 + Identifier 2321814 2321824 + FunctionDeclaration 2321832 2322818 + Identifier 2321848 2321876 + Parameter 2321877 2321905 + Identifier 2321877 2321881 + TypeReference 2321882 2321905 + Identifier 2321882 2321905 + TypeReference 2321907 2321912 + Identifier 2321907 2321912 + Block 2321912 2322818 + VariableStatement 2321914 2321974 + VariableDeclarationList 2321914 2321973 + VariableDeclaration 2321929 2321973 + Identifier 2321929 2321941 + CallExpression 2321943 2321973 + Identifier 2321943 2321959 + PropertyAccessExpression 2321960 2321972 + Identifier 2321960 2321964 + Identifier 2321965 2321972 + IfStatement 2321974 2322070 + BinaryExpression 2321988 2322019 + Identifier 2321988 2321999 + EqualsEqualsEqualsToken 2321999 2322003 + Identifier 2322003 2322019 + Block 2322020 2322070 + ReturnStatement 2322022 2322059 + Identifier 2322042 2322058 + VariableStatement 2322070 2322313 + VariableDeclarationList 2322070 2322312 + VariableDeclaration 2322085 2322312 + Identifier 2322085 2322088 + CallExpression 2322090 2322312 + Identifier 2322090 2322117 + PropertyAccessExpression 2322118 2322144 + Identifier 2322118 2322136 + Identifier 2322137 2322144 + CallExpression 2322145 2322202 + Identifier 2322145 2322175 + Identifier 2322176 2322187 + PropertyAccessExpression 2322188 2322201 + Identifier 2322188 2322193 + Identifier 2322194 2322201 + PropertyAccessExpression 2322203 2322300 + Identifier 2322203 2322228 + Identifier 2322229 2322300 + IfStatement 2322313 2322762 + Identifier 2322327 2322329 + Block 2322330 2322762 + ExpressionStatement 2322332 2322751 + CallExpression 2322332 2322750 + Identifier 2322332 2322464 + PropertyAccessExpression 2322465 2322495 + Identifier 2322465 2322487 + Identifier 2322488 2322495 + PropertyAccessExpression 2322496 2322615 + Identifier 2322496 2322525 + Identifier 2322526 2322615 + PropertyAccessExpression 2322616 2322734 + Identifier 2322616 2322645 + Identifier 2322646 2322734 + ReturnStatement 2322762 2322811 + CallExpression 2322778 2322810 + Identifier 2322778 2322797 + Identifier 2322798 2322809 + FunctionDeclaration 2322818 2323277 + Identifier 2322834 2322853 + Parameter 2322854 2322871 + Identifier 2322854 2322865 + TypeReference 2322866 2322871 + Identifier 2322866 2322871 + TypeReference 2322873 2322878 + Identifier 2322873 2322878 + Block 2322878 2323277 + IfStatement 2322880 2323161 + CallExpression 2322894 2322944 + Identifier 2322894 2322909 + Identifier 2322910 2322921 + PropertyAccessExpression 2322922 2322943 + Identifier 2322922 2322932 + Identifier 2322933 2322943 + Block 2322945 2323161 + ReturnStatement 2322947 2323150 + ConditionalExpression 2322967 2323149 + BinaryExpression 2322967 2323081 + CallExpression 2322967 2323027 + Identifier 2322967 2322990 + Identifier 2322991 2323002 + PropertyAccessExpression 2323003 2323026 + Identifier 2323003 2323013 + Identifier 2323014 2323026 + BarBarToken 2323027 2323030 + CallExpression 2323030 2323081 + Identifier 2323030 2323046 + Identifier 2323047 2323058 + PropertyAccessExpression 2323059 2323080 + Identifier 2323059 2323069 + Identifier 2323070 2323080 + QuestionToken 2323081 2323100 + Identifier 2323100 2323119 + ColonToken 2323119 2323138 + Identifier 2323138 2323149 + ReturnStatement 2323161 2323270 + Identifier 2323258 2323269 + FunctionDeclaration 2323277 2323602 + Identifier 2323293 2323334 + Parameter 2323335 2323345 + Identifier 2323335 2323339 + TypeReference 2323340 2323345 + Identifier 2323340 2323345 + Parameter 2323346 2323362 + Identifier 2323346 2323351 + TypeReference 2323352 2323362 + Identifier 2323352 2323362 + BooleanKeyword 2323364 2323372 + Block 2323372 2323602 + IfStatement 2323374 2323455 + CallExpression 2323388 2323415 + Identifier 2323388 2323403 + Identifier 2323404 2323408 + Identifier 2323409 2323414 + Block 2323416 2323455 + ReturnStatement 2323418 2323444 + TrueKeyword 2323438 2323443 + VariableStatement 2323455 2323520 + VariableDeclarationList 2323455 2323519 + VariableDeclaration 2323472 2323519 + Identifier 2323472 2323487 + CallExpression 2323489 2323519 + Identifier 2323489 2323513 + Identifier 2323514 2323518 + ReturnStatement 2323520 2323595 + BinaryExpression 2323536 2323594 + PrefixUnaryExpression 2323536 2323553 + PrefixUnaryExpression 2323538 2323553 + Identifier 2323539 2323553 + AmpersandAmpersandToken 2323553 2323556 + CallExpression 2323556 2323594 + Identifier 2323556 2323572 + Identifier 2323573 2323587 + Identifier 2323588 2323593 + FunctionDeclaration 2323602 2324241 + Identifier 2323791 2323807 + Parameter 2323808 2323818 + Identifier 2323808 2323812 + TypeReference 2323813 2323818 + Identifier 2323813 2323818 + Parameter 2323819 2323835 + Identifier 2323819 2323824 + TypeReference 2323825 2323835 + Identifier 2323825 2323835 + BooleanKeyword 2323837 2323845 + Block 2323845 2324241 + IfStatement 2323847 2323918 + BinaryExpression 2323861 2323878 + PropertyAccessExpression 2323861 2323871 + Identifier 2323861 2323865 + Identifier 2323866 2323871 + AmpersandToken 2323871 2323873 + Identifier 2323873 2323878 + Block 2323879 2323918 + ReturnStatement 2323881 2323907 + TrueKeyword 2323901 2323906 + IfStatement 2323918 2324211 + BinaryExpression 2323932 2323974 + PropertyAccessExpression 2323932 2323942 + Identifier 2323932 2323936 + Identifier 2323937 2323942 + AmpersandToken 2323942 2323944 + PropertyAccessExpression 2323944 2323974 + Identifier 2323944 2323954 + Identifier 2323955 2323974 + Block 2323975 2324211 + VariableStatement 2323977 2324045 + VariableDeclarationList 2323977 2324044 + VariableDeclaration 2323996 2324044 + Identifier 2323996 2324002 + PropertyAccessExpression 2324004 2324044 + ParenthesizedExpression 2324004 2324038 + AsExpression 2324006 2324037 + Identifier 2324006 2324010 + TypeReference 2324013 2324037 + Identifier 2324013 2324037 + Identifier 2324039 2324044 + ForOfStatement 2324045 2324200 + VariableDeclarationList 2324064 2324071 + VariableDeclaration 2324069 2324071 + Identifier 2324069 2324071 + Identifier 2324074 2324080 + Block 2324081 2324200 + IfStatement 2324083 2324185 + CallExpression 2324105 2324129 + Identifier 2324105 2324120 + Identifier 2324121 2324122 + Identifier 2324123 2324128 + Block 2324130 2324185 + ReturnStatement 2324132 2324166 + TrueKeyword 2324160 2324165 + ReturnStatement 2324211 2324234 + FalseKeyword 2324227 2324233 + FunctionDeclaration 2324241 2325471 + Identifier 2324257 2324280 + Parameter 2324281 2324293 + Identifier 2324281 2324287 + TypeReference 2324288 2324293 + Identifier 2324288 2324293 + Parameter 2324294 2324310 + Identifier 2324294 2324299 + TypeReference 2324300 2324310 + Identifier 2324300 2324310 + Parameter 2324311 2324328 + Identifier 2324311 2324318 + QuestionToken 2324318 2324319 + BooleanKeyword 2324320 2324328 + BooleanKeyword 2324330 2324338 + Block 2324338 2325471 + IfStatement 2324340 2324413 + BinaryExpression 2324354 2324373 + PropertyAccessExpression 2324354 2324366 + Identifier 2324354 2324360 + Identifier 2324361 2324366 + AmpersandToken 2324366 2324368 + Identifier 2324368 2324373 + Block 2324374 2324413 + ReturnStatement 2324376 2324402 + TrueKeyword 2324396 2324401 + IfStatement 2324413 2324573 + BinaryExpression 2324427 2324532 + Identifier 2324427 2324433 + AmpersandAmpersandToken 2324433 2324436 + BinaryExpression 2324436 2324532 + PropertyAccessExpression 2324436 2324449 + Identifier 2324436 2324443 + Identifier 2324444 2324449 + AmpersandToken 2324449 2324451 + ParenthesizedExpression 2324451 2324532 + BinaryExpression 2324453 2324531 + BinaryExpression 2324453 2324514 + BinaryExpression 2324453 2324492 + PropertyAccessExpression 2324453 2324475 + Identifier 2324453 2324462 + Identifier 2324463 2324475 + BarToken 2324475 2324477 + PropertyAccessExpression 2324477 2324492 + Identifier 2324477 2324487 + Identifier 2324488 2324492 + BarToken 2324492 2324494 + PropertyAccessExpression 2324494 2324514 + Identifier 2324494 2324504 + Identifier 2324505 2324514 + BarToken 2324514 2324516 + PropertyAccessExpression 2324516 2324531 + Identifier 2324516 2324526 + Identifier 2324527 2324531 + Block 2324533 2324573 + ReturnStatement 2324535 2324562 + FalseKeyword 2324555 2324561 + ReturnStatement 2324573 2325464 + BinaryExpression 2324589 2325463 + BinaryExpression 2324589 2325365 + BinaryExpression 2324589 2325275 + BinaryExpression 2324589 2325183 + BinaryExpression 2324589 2325101 + BinaryExpression 2324589 2325017 + BinaryExpression 2324589 2324935 + BinaryExpression 2324589 2324843 + BinaryExpression 2324589 2324753 + BinaryExpression 2324589 2324663 + PrefixUnaryExpression 2324589 2324621 + PrefixUnaryExpression 2324591 2324621 + ParenthesizedExpression 2324592 2324621 + BinaryExpression 2324593 2324620 + Identifier 2324593 2324597 + AmpersandToken 2324597 2324599 + PropertyAccessExpression 2324599 2324620 + Identifier 2324599 2324609 + Identifier 2324610 2324620 + AmpersandAmpersandToken 2324621 2324624 + CallExpression 2324624 2324663 + Identifier 2324624 2324643 + Identifier 2324644 2324650 + Identifier 2324651 2324662 + BarBarToken 2324663 2324666 + BinaryExpression 2324666 2324753 + PrefixUnaryExpression 2324666 2324711 + PrefixUnaryExpression 2324681 2324711 + ParenthesizedExpression 2324682 2324711 + BinaryExpression 2324683 2324710 + Identifier 2324683 2324687 + AmpersandToken 2324687 2324689 + PropertyAccessExpression 2324689 2324710 + Identifier 2324689 2324699 + Identifier 2324700 2324710 + AmpersandAmpersandToken 2324711 2324714 + CallExpression 2324714 2324753 + Identifier 2324714 2324733 + Identifier 2324734 2324740 + Identifier 2324741 2324752 + BarBarToken 2324753 2324756 + BinaryExpression 2324756 2324843 + PrefixUnaryExpression 2324756 2324801 + PrefixUnaryExpression 2324771 2324801 + ParenthesizedExpression 2324772 2324801 + BinaryExpression 2324773 2324800 + Identifier 2324773 2324777 + AmpersandToken 2324777 2324779 + PropertyAccessExpression 2324779 2324800 + Identifier 2324779 2324789 + Identifier 2324790 2324800 + AmpersandAmpersandToken 2324801 2324804 + CallExpression 2324804 2324843 + Identifier 2324804 2324823 + Identifier 2324824 2324830 + Identifier 2324831 2324842 + BarBarToken 2324843 2324846 + BinaryExpression 2324846 2324935 + PrefixUnaryExpression 2324846 2324892 + PrefixUnaryExpression 2324861 2324892 + ParenthesizedExpression 2324862 2324892 + BinaryExpression 2324863 2324891 + Identifier 2324863 2324867 + AmpersandToken 2324867 2324869 + PropertyAccessExpression 2324869 2324891 + Identifier 2324869 2324879 + Identifier 2324880 2324891 + AmpersandAmpersandToken 2324892 2324895 + CallExpression 2324895 2324935 + Identifier 2324895 2324914 + Identifier 2324915 2324921 + Identifier 2324922 2324934 + BarBarToken 2324935 2324938 + BinaryExpression 2324938 2325017 + PrefixUnaryExpression 2324938 2324977 + PrefixUnaryExpression 2324953 2324977 + ParenthesizedExpression 2324954 2324977 + BinaryExpression 2324955 2324976 + Identifier 2324955 2324959 + AmpersandToken 2324959 2324961 + PropertyAccessExpression 2324961 2324976 + Identifier 2324961 2324971 + Identifier 2324972 2324976 + AmpersandAmpersandToken 2324977 2324980 + CallExpression 2324980 2325017 + Identifier 2324980 2324999 + Identifier 2325000 2325006 + Identifier 2325007 2325016 + BarBarToken 2325017 2325020 + BinaryExpression 2325020 2325101 + PrefixUnaryExpression 2325020 2325060 + PrefixUnaryExpression 2325035 2325060 + ParenthesizedExpression 2325036 2325060 + BinaryExpression 2325037 2325059 + Identifier 2325037 2325041 + AmpersandToken 2325041 2325043 + PropertyAccessExpression 2325043 2325059 + Identifier 2325043 2325053 + Identifier 2325054 2325059 + AmpersandAmpersandToken 2325060 2325063 + CallExpression 2325063 2325101 + Identifier 2325063 2325082 + Identifier 2325083 2325089 + Identifier 2325090 2325100 + BarBarToken 2325101 2325104 + BinaryExpression 2325104 2325183 + PrefixUnaryExpression 2325104 2325143 + PrefixUnaryExpression 2325119 2325143 + ParenthesizedExpression 2325120 2325143 + BinaryExpression 2325121 2325142 + Identifier 2325121 2325125 + AmpersandToken 2325125 2325127 + PropertyAccessExpression 2325127 2325142 + Identifier 2325127 2325137 + Identifier 2325138 2325142 + AmpersandAmpersandToken 2325143 2325146 + CallExpression 2325146 2325183 + Identifier 2325146 2325165 + Identifier 2325166 2325172 + Identifier 2325173 2325182 + BarBarToken 2325183 2325186 + BinaryExpression 2325186 2325275 + PrefixUnaryExpression 2325186 2325230 + PrefixUnaryExpression 2325201 2325230 + ParenthesizedExpression 2325202 2325230 + BinaryExpression 2325203 2325229 + Identifier 2325203 2325207 + AmpersandToken 2325207 2325209 + PropertyAccessExpression 2325209 2325229 + Identifier 2325209 2325219 + Identifier 2325220 2325229 + AmpersandAmpersandToken 2325230 2325233 + CallExpression 2325233 2325275 + Identifier 2325233 2325252 + Identifier 2325253 2325259 + Identifier 2325260 2325274 + BarBarToken 2325275 2325278 + BinaryExpression 2325278 2325365 + PrefixUnaryExpression 2325278 2325321 + PrefixUnaryExpression 2325293 2325321 + ParenthesizedExpression 2325294 2325321 + BinaryExpression 2325295 2325320 + Identifier 2325295 2325299 + AmpersandToken 2325299 2325301 + PropertyAccessExpression 2325301 2325320 + Identifier 2325301 2325311 + Identifier 2325312 2325320 + AmpersandAmpersandToken 2325321 2325324 + CallExpression 2325324 2325365 + Identifier 2325324 2325343 + Identifier 2325344 2325350 + Identifier 2325351 2325364 + BarBarToken 2325365 2325368 + BinaryExpression 2325368 2325463 + PrefixUnaryExpression 2325368 2325415 + PrefixUnaryExpression 2325383 2325415 + ParenthesizedExpression 2325384 2325415 + BinaryExpression 2325385 2325414 + Identifier 2325385 2325389 + AmpersandToken 2325389 2325391 + PropertyAccessExpression 2325391 2325414 + Identifier 2325391 2325401 + Identifier 2325402 2325414 + AmpersandAmpersandToken 2325415 2325418 + CallExpression 2325418 2325463 + Identifier 2325418 2325437 + Identifier 2325438 2325444 + Identifier 2325445 2325462 + FunctionDeclaration 2325471 2325797 + Identifier 2325487 2325512 + Parameter 2325513 2325525 + Identifier 2325513 2325519 + TypeReference 2325520 2325525 + Identifier 2325520 2325525 + Parameter 2325526 2325542 + Identifier 2325526 2325531 + TypeReference 2325532 2325542 + Identifier 2325532 2325542 + Parameter 2325543 2325560 + Identifier 2325543 2325550 + QuestionToken 2325550 2325551 + BooleanKeyword 2325552 2325560 + BooleanKeyword 2325562 2325570 + Block 2325570 2325797 + ReturnStatement 2325572 2325790 + ConditionalExpression 2325588 2325789 + BinaryExpression 2325588 2325619 + PropertyAccessExpression 2325588 2325601 + Identifier 2325588 2325595 + Identifier 2325596 2325601 + AmpersandToken 2325601 2325603 + PropertyAccessExpression 2325603 2325619 + Identifier 2325603 2325613 + Identifier 2325614 2325619 + QuestionToken 2325619 2325621 + CallExpression 2325621 2325729 + Identifier 2325621 2325640 + PropertyAccessExpression 2325641 2325668 + ParenthesizedExpression 2325641 2325662 + AsExpression 2325642 2325661 + Identifier 2325642 2325648 + TypeReference 2325651 2325661 + Identifier 2325651 2325661 + Identifier 2325663 2325668 + ArrowFunction 2325669 2325728 + Parameter 2325669 2325677 + Identifier 2325669 2325677 + EqualsGreaterThanToken 2325677 2325680 + CallExpression 2325680 2325728 + Identifier 2325680 2325705 + Identifier 2325706 2325713 + Identifier 2325714 2325719 + Identifier 2325720 2325727 + ColonToken 2325729 2325731 + CallExpression 2325731 2325789 + Identifier 2325731 2325767 + Identifier 2325768 2325774 + Identifier 2325775 2325780 + Identifier 2325781 2325788 + FunctionDeclaration 2325797 2325982 + Identifier 2325813 2325835 + Parameter 2325836 2325846 + Identifier 2325836 2325840 + TypeReference 2325841 2325846 + Identifier 2325841 2325846 + BooleanKeyword 2325848 2325856 + Block 2325856 2325982 + ReturnStatement 2325858 2325975 + BinaryExpression 2325874 2325974 + BinaryExpression 2325874 2325940 + PrefixUnaryExpression 2325874 2325923 + PrefixUnaryExpression 2325876 2325923 + ParenthesizedExpression 2325877 2325923 + BinaryExpression 2325878 2325922 + CallExpression 2325878 2325898 + Identifier 2325878 2325892 + Identifier 2325893 2325897 + AmpersandToken 2325898 2325900 + PropertyAccessExpression 2325900 2325922 + Identifier 2325900 2325912 + Identifier 2325913 2325922 + AmpersandAmpersandToken 2325923 2325926 + PrefixUnaryExpression 2325926 2325940 + PrefixUnaryExpression 2325928 2325940 + PropertyAccessExpression 2325929 2325940 + Identifier 2325929 2325933 + Identifier 2325934 2325940 + AmpersandAmpersandToken 2325940 2325943 + CallExpression 2325943 2325974 + Identifier 2325943 2325961 + PropertyAccessExpression 2325962 2325973 + Identifier 2325962 2325966 + Identifier 2325967 2325973 + FunctionDeclaration 2325982 2326112 + Identifier 2325998 2326016 + Parameter 2326017 2326031 + Identifier 2326017 2326023 + TypeReference 2326024 2326031 + Identifier 2326024 2326031 + BooleanKeyword 2326033 2326041 + Block 2326041 2326112 + ReturnStatement 2326043 2326105 + BinaryExpression 2326059 2326104 + ParenthesizedExpression 2326059 2326098 + BinaryExpression 2326061 2326097 + PropertyAccessExpression 2326061 2326073 + Identifier 2326061 2326067 + Identifier 2326068 2326073 + AmpersandToken 2326073 2326075 + PropertyAccessExpression 2326075 2326097 + Identifier 2326075 2326087 + Identifier 2326088 2326097 + ExclamationEqualsEqualsToken 2326098 2326102 + NumericLiteral 2326102 2326104 + FunctionDeclaration 2326112 2326890 + Identifier 2326223 2326262 + Parameter 2326263 2326273 + Identifier 2326263 2326267 + TypeReference 2326268 2326273 + Identifier 2326268 2326273 + Block 2326274 2326890 + VariableStatement 2326276 2326367 + VariableDeclarationList 2326276 2326366 + VariableDeclaration 2326291 2326366 + Identifier 2326291 2326315 + CallExpression 2326317 2326366 + Identifier 2326317 2326351 + StringLiteral 2326352 2326365 + IfStatement 2326367 2326883 + CallExpression 2326381 2326435 + Identifier 2326381 2326405 + Identifier 2326406 2326410 + PropertyAccessExpression 2326411 2326434 + Identifier 2326411 2326421 + Identifier 2326422 2326434 + Block 2326436 2326883 + VariableStatement 2326438 2326529 + VariableDeclarationList 2326438 2326528 + VariableDeclaration 2326457 2326528 + Identifier 2326457 2326477 + CallExpression 2326479 2326528 + Identifier 2326479 2326497 + Identifier 2326498 2326502 + Identifier 2326503 2326527 + IfStatement 2326529 2326872 + Identifier 2326547 2326566 + Block 2326567 2326872 + VariableStatement 2326569 2326656 + VariableDeclarationList 2326569 2326655 + VariableDeclaration 2326592 2326655 + Identifier 2326592 2326616 + CallExpression 2326618 2326655 + Identifier 2326618 2326634 + Identifier 2326635 2326654 + IfStatement 2326656 2326857 + BinaryExpression 2326678 2326782 + Identifier 2326678 2326701 + AmpersandAmpersandToken 2326701 2326704 + BinaryExpression 2326704 2326782 + PropertyAccessExpression 2326704 2326776 + CallExpression 2326704 2326769 + Identifier 2326704 2326724 + Identifier 2326725 2326748 + PropertyAccessExpression 2326749 2326768 + Identifier 2326749 2326763 + Identifier 2326764 2326768 + Identifier 2326770 2326776 + ExclamationEqualsEqualsToken 2326776 2326780 + NumericLiteral 2326780 2326782 + Block 2326783 2326857 + ReturnStatement 2326785 2326838 + Identifier 2326813 2326837 + FunctionDeclaration 2326890 2329291 + Identifier 2326906 2326932 + Parameter 2326933 2326949 + Identifier 2326933 2326937 + TypeReference 2326938 2326949 + Identifier 2326938 2326949 + Parameter 2326950 2326968 + Identifier 2326950 2326956 + TypeReference 2326957 2326968 + Identifier 2326957 2326968 + Parameter 2326969 2326984 + Identifier 2326969 2326978 + TypeReference 2326979 2326984 + Identifier 2326979 2326984 + Parameter 2326985 2327001 + Identifier 2326985 2326995 + TypeReference 2326996 2327001 + Identifier 2326996 2327001 + Parameter 2327002 2327024 + Identifier 2327002 2327012 + QuestionToken 2327012 2327013 + TypeReference 2327014 2327024 + Identifier 2327014 2327024 + TypeReference 2327026 2327031 + Identifier 2327026 2327031 + Block 2327031 2329291 + IfStatement 2327033 2327159 + BinaryExpression 2327047 2327108 + BinaryExpression 2327047 2327075 + Identifier 2327047 2327055 + EqualsEqualsEqualsToken 2327055 2327059 + Identifier 2327059 2327075 + BarBarToken 2327075 2327078 + BinaryExpression 2327078 2327108 + Identifier 2327078 2327088 + EqualsEqualsEqualsToken 2327088 2327092 + Identifier 2327092 2327108 + Block 2327109 2327159 + ReturnStatement 2327111 2327148 + Identifier 2327131 2327147 + IfStatement 2327159 2327920 + BinaryExpression 2327649 2327755 + PrefixUnaryExpression 2327649 2327683 + CallExpression 2327664 2327683 + Identifier 2327664 2327673 + Identifier 2327674 2327682 + AmpersandAmpersandToken 2327683 2327686 + CallExpression 2327686 2327755 + Identifier 2327686 2327724 + Identifier 2327725 2327733 + PropertyAccessExpression 2327734 2327754 + Identifier 2327734 2327744 + Identifier 2327745 2327754 + Block 2327766 2327920 + ExpressionStatement 2327768 2327909 + CallExpression 2327768 2327908 + Identifier 2327768 2327787 + Identifier 2327788 2327792 + PropertyAccessExpression 2327793 2327907 + Identifier 2327793 2327805 + Identifier 2327806 2327907 + ExpressionStatement 2327920 2327982 + CallExpression 2327920 2327981 + PropertyAccessExpression 2327920 2327944 + Identifier 2327920 2327937 + Identifier 2327938 2327944 + CallExpression 2327945 2327980 + Identifier 2327945 2327967 + PropertyAccessExpression 2327968 2327979 + Identifier 2327968 2327972 + Identifier 2327973 2327979 + VariableStatement 2327982 2328089 + VariableDeclarationList 2327982 2328088 + VariableDeclaration 2327997 2328088 + Identifier 2327997 2328007 + CallExpression 2328009 2328088 + Identifier 2328009 2328030 + PropertyAccessExpression 2328031 2328042 + Identifier 2328031 2328035 + Identifier 2328036 2328042 + Identifier 2328043 2328076 + Identifier 2328077 2328087 + IfStatement 2328089 2328377 + BinaryExpression 2328103 2328135 + Identifier 2328103 2328112 + EqualsEqualsEqualsToken 2328112 2328116 + Identifier 2328116 2328135 + Block 2328136 2328377 + ReturnStatement 2328138 2328366 + Identifier 2328349 2328365 + VariableStatement 2328377 2328790 + VariableDeclarationList 2328377 2328789 + VariableDeclaration 2328740 2328789 + Identifier 2328740 2328751 + CallExpression 2328753 2328789 + Identifier 2328753 2328778 + Identifier 2328779 2328788 + ExpressionStatement 2328790 2329253 + CallExpression 2328790 2329252 + Identifier 2328790 2329072 + Identifier 2329073 2329083 + Identifier 2329084 2329096 + Identifier 2329097 2329103 + PropertyAccessExpression 2329104 2329251 + Identifier 2329104 2329116 + Identifier 2329117 2329251 + ReturnStatement 2329253 2329284 + Identifier 2329271 2329283 + FunctionDeclaration 2329291 2329529 + Identifier 2329307 2329334 + Parameter 2329335 2329345 + Identifier 2329335 2329339 + TypeReference 2329340 2329345 + Identifier 2329340 2329345 + BooleanKeyword 2329347 2329355 + Block 2329355 2329529 + ReturnStatement 2329357 2329522 + CallExpression 2329373 2329521 + Identifier 2329373 2329382 + Identifier 2329383 2329387 + ArrowFunction 2329388 2329520 + Parameter 2329388 2329390 + Identifier 2329388 2329390 + EqualsGreaterThanToken 2329390 2329393 + BinaryExpression 2329393 2329520 + BinaryExpression 2329393 2329422 + Identifier 2329393 2329395 + EqualsEqualsEqualsToken 2329395 2329399 + Identifier 2329399 2329422 + BarBarToken 2329422 2329425 + BinaryExpression 2329425 2329520 + PrefixUnaryExpression 2329425 2329462 + PrefixUnaryExpression 2329427 2329462 + ParenthesizedExpression 2329428 2329462 + BinaryExpression 2329429 2329461 + PropertyAccessExpression 2329429 2329436 + Identifier 2329429 2329430 + Identifier 2329431 2329436 + AmpersandToken 2329436 2329438 + PropertyAccessExpression 2329438 2329461 + Identifier 2329438 2329448 + Identifier 2329449 2329461 + AmpersandAmpersandToken 2329462 2329465 + CallExpression 2329465 2329520 + Identifier 2329465 2329492 + CallExpression 2329493 2329519 + Identifier 2329493 2329516 + Identifier 2329517 2329518 + FunctionDeclaration 2329529 2331797 + Identifier 2329545 2329563 + Parameter 2329564 2329580 + Identifier 2329564 2329568 + TypeReference 2329569 2329580 + Identifier 2329569 2329580 + Parameter 2329581 2329599 + Identifier 2329581 2329587 + TypeReference 2329588 2329599 + Identifier 2329588 2329599 + Parameter 2329600 2329615 + Identifier 2329600 2329609 + TypeReference 2329610 2329615 + Identifier 2329610 2329615 + Parameter 2329616 2329632 + Identifier 2329616 2329626 + TypeReference 2329627 2329632 + Identifier 2329627 2329632 + TypeReference 2329634 2329639 + Identifier 2329634 2329639 + Block 2329639 2331797 + IfStatement 2329641 2329767 + BinaryExpression 2329655 2329716 + BinaryExpression 2329655 2329683 + Identifier 2329655 2329663 + EqualsEqualsEqualsToken 2329663 2329667 + Identifier 2329667 2329683 + BarBarToken 2329683 2329686 + BinaryExpression 2329686 2329716 + Identifier 2329686 2329696 + EqualsEqualsEqualsToken 2329696 2329700 + Identifier 2329700 2329716 + Block 2329717 2329767 + ReturnStatement 2329719 2329756 + Identifier 2329739 2329755 + IfStatement 2329767 2330887 + CallExpression 2329781 2329806 + Identifier 2329781 2329800 + Identifier 2329801 2329805 + Block 2329807 2330667 + IfStatement 2329809 2330189 + BinaryExpression 2329827 2330067 + BinaryExpression 2329827 2330022 + BinaryExpression 2329827 2329924 + Identifier 2329827 2329860 + LessThanToken 2329860 2329862 + PropertyAccessExpression 2329862 2329924 + Identifier 2329862 2329891 + Identifier 2329892 2329924 + BarBarToken 2329924 2329927 + BinaryExpression 2329927 2330022 + Identifier 2329927 2329960 + LessThanToken 2329960 2329962 + PropertyAccessExpression 2329962 2330022 + Identifier 2329962 2329991 + Identifier 2329992 2330022 + BarBarToken 2330022 2330025 + PrefixUnaryExpression 2330025 2330067 + Identifier 2330044 2330067 + Block 2330082 2330189 + ExpressionStatement 2330084 2330174 + CallExpression 2330084 2330173 + Identifier 2330084 2330126 + Identifier 2330127 2330131 + PropertyAccessExpression 2330132 2330172 + Identifier 2330132 2330152 + Identifier 2330153 2330172 + IfStatement 2330189 2330656 + BinaryExpression 2330387 2330449 + PrefixUnaryExpression 2330387 2330421 + PropertyAccessExpression 2330388 2330421 + CallExpression 2330388 2330406 + Identifier 2330388 2330400 + Identifier 2330401 2330405 + Identifier 2330407 2330421 + AmpersandAmpersandToken 2330421 2330424 + CallExpression 2330424 2330449 + Identifier 2330424 2330443 + Identifier 2330444 2330448 + Block 2330450 2330656 + VariableStatement 2330452 2330565 + VariableDeclarationList 2330452 2330564 + VariableDeclaration 2330475 2330564 + Identifier 2330475 2330489 + CallExpression 2330491 2330564 + Identifier 2330491 2330515 + Identifier 2330516 2330520 + PropertyAccessExpression 2330521 2330538 + Identifier 2330521 2330531 + Identifier 2330532 2330538 + TrueKeyword 2330539 2330563 + ExpressionStatement 2330565 2330641 + CallExpression 2330565 2330640 + Identifier 2330565 2330608 + Identifier 2330609 2330613 + Identifier 2330614 2330624 + Identifier 2330625 2330639 + Block 2330681 2330887 + ExpressionStatement 2330683 2330876 + CallExpression 2330683 2330875 + Identifier 2330683 2330811 + CallExpression 2330812 2330844 + Identifier 2330812 2330828 + Identifier 2330829 2330837 + Identifier 2330838 2330843 + Identifier 2330845 2330868 + Identifier 2330869 2330874 + IfStatement 2330887 2331697 + CallExpression 2330975 2331057 + Identifier 2330975 2330996 + CallExpression 2330997 2331031 + Identifier 2330997 2331013 + Identifier 2331014 2331023 + Identifier 2331024 2331030 + Identifier 2331032 2331049 + Identifier 2331050 2331056 + Block 2331058 2331697 + IfStatement 2331060 2331686 + CallExpression 2331460 2331497 + Identifier 2331460 2331486 + Identifier 2331487 2331496 + Block 2331498 2331686 + ExpressionStatement 2331500 2331671 + CallExpression 2331500 2331670 + Identifier 2331500 2331523 + Identifier 2331524 2331529 + PropertyAccessExpression 2331530 2331644 + Identifier 2331530 2331542 + Identifier 2331543 2331644 + CallExpression 2331645 2331669 + Identifier 2331645 2331658 + Identifier 2331659 2331668 + ReturnStatement 2331697 2331790 + Identifier 2331777 2331789 + FunctionDeclaration 2331797 2332305 + Identifier 2331813 2331842 + Parameter 2331843 2331872 + Identifier 2331843 2331847 + TypeReference 2331848 2331872 + Identifier 2331848 2331872 + Parameter 2331873 2331890 + Identifier 2331873 2331884 + TypeReference 2331885 2331890 + Identifier 2331885 2331890 + Parameter 2331891 2331913 + Identifier 2331891 2331903 + QuestionToken 2331903 2331904 + BooleanKeyword 2331905 2331913 + TypeReference 2331915 2331920 + Identifier 2331915 2331920 + Block 2331920 2332305 + VariableStatement 2331922 2331967 + VariableDeclarationList 2331922 2331966 + VariableDeclaration 2331937 2331966 + Identifier 2331937 2331948 + PropertyAccessExpression 2331950 2331966 + Identifier 2331950 2331955 + Identifier 2331956 2331966 + IfStatement 2331967 2332094 + BinaryExpression 2331981 2332024 + Identifier 2331981 2331997 + AmpersandAmpersandToken 2331997 2332000 + BinaryExpression 2332000 2332024 + PropertyAccessExpression 2332000 2332018 + Identifier 2332000 2332011 + Identifier 2332012 2332018 + EqualsEqualsEqualsToken 2332018 2332022 + NumericLiteral 2332022 2332024 + Block 2332025 2332094 + ReturnStatement 2332027 2332083 + CallExpression 2332047 2332082 + Identifier 2332047 2332064 + Identifier 2332065 2332075 + Identifier 2332076 2332081 + ForStatement 2332094 2332270 + VariableDeclarationList 2332109 2332118 + VariableDeclaration 2332112 2332118 + Identifier 2332112 2332114 + NumericLiteral 2332116 2332118 + BinaryExpression 2332119 2332141 + Identifier 2332119 2332121 + LessThanToken 2332121 2332123 + PropertyAccessExpression 2332123 2332141 + Identifier 2332123 2332134 + Identifier 2332135 2332141 + PostfixUnaryExpression 2332142 2332146 + Identifier 2332142 2332144 + Block 2332147 2332270 + ExpressionStatement 2332149 2332259 + CallExpression 2332149 2332258 + Identifier 2332149 2332212 + Identifier 2332213 2332217 + Identifier 2332218 2332229 + Identifier 2332230 2332232 + Identifier 2332233 2332244 + Identifier 2332245 2332257 + ReturnStatement 2332270 2332298 + Identifier 2332286 2332297 + FunctionDeclaration 2332305 2335124 + Identifier 2332429 2332479 + Parameter 2332480 2332509 + Identifier 2332480 2332484 + TypeReference 2332485 2332509 + Identifier 2332485 2332509 + Parameter 2332510 2332534 + Identifier 2332510 2332528 + TypeReference 2332529 2332534 + Identifier 2332529 2332534 + Parameter 2332535 2332557 + Identifier 2332535 2332549 + NumberKeyword 2332550 2332557 + Parameter 2332558 2332610 + Identifier 2332558 2332572 + QuestionToken 2332572 2332573 + TypeReference 2332574 2332610 + Identifier 2332574 2332584 + TypeReference 2332585 2332609 + Identifier 2332585 2332609 + Parameter 2332611 2332631 + Identifier 2332611 2332623 + FalseKeyword 2332625 2332631 + Block 2332632 2335124 + VariableStatement 2332634 2332679 + VariableDeclarationList 2332634 2332678 + VariableDeclaration 2332649 2332678 + Identifier 2332649 2332660 + PropertyAccessExpression 2332662 2332678 + Identifier 2332662 2332667 + Identifier 2332668 2332678 + VariableStatement 2332679 2332732 + VariableDeclarationList 2332679 2332731 + VariableDeclaration 2332694 2332731 + Identifier 2332694 2332703 + ElementAccessExpression 2332705 2332731 + Identifier 2332705 2332716 + Identifier 2332717 2332730 + IfStatement 2332732 2335117 + BinaryExpression 2332746 2332853 + BinaryExpression 2332746 2332793 + PropertyAccessExpression 2332746 2332759 + Identifier 2332746 2332754 + Identifier 2332755 2332759 + EqualsEqualsEqualsToken 2332759 2332763 + PropertyAccessExpression 2332763 2332793 + Identifier 2332763 2332774 + Identifier 2332775 2332793 + BarBarToken 2332793 2332796 + BinaryExpression 2332796 2332853 + PropertyAccessExpression 2332796 2332810 + Identifier 2332796 2332805 + Identifier 2332806 2332810 + EqualsEqualsEqualsToken 2332810 2332814 + PropertyAccessExpression 2332814 2332853 + Identifier 2332814 2332825 + Identifier 2332826 2332853 + Block 2332854 2333840 + VariableStatement 2332856 2332897 + VariableDeclarationList 2332856 2332896 + VariableDeclaration 2332875 2332896 + Identifier 2332875 2332880 + PropertyAccessExpression 2332882 2332896 + Identifier 2332882 2332891 + Identifier 2332892 2332896 + VariableStatement 2332897 2332965 + VariableDeclarationList 2332897 2332964 + VariableDeclaration 2332916 2332964 + Identifier 2332916 2332925 + CallExpression 2332927 2332964 + Identifier 2332927 2332958 + Identifier 2332959 2332963 + IfStatement 2332965 2333421 + CallExpression 2332983 2333019 + Identifier 2332983 2333009 + Identifier 2333010 2333018 + Block 2333020 2333421 + VariableStatement 2333022 2333087 + VariableDeclarationList 2333022 2333086 + VariableDeclaration 2333045 2333086 + Identifier 2333045 2333050 + CallExpression 2333052 2333086 + Identifier 2333052 2333076 + Identifier 2333077 2333085 + VariableStatement 2333087 2333161 + VariableDeclarationList 2333087 2333160 + VariableDeclaration 2333110 2333160 + Identifier 2333110 2333115 + CallExpression 2333117 2333160 + Identifier 2333117 2333135 + Identifier 2333136 2333153 + Identifier 2333154 2333159 + IfStatement 2333161 2333406 + Identifier 2333183 2333187 + Block 2333188 2333406 + ExpressionStatement 2333190 2333266 + CallExpression 2333190 2333265 + Identifier 2333190 2333236 + Identifier 2333237 2333241 + Identifier 2333242 2333251 + Identifier 2333252 2333264 + ExpressionStatement 2333266 2333387 + CallExpression 2333266 2333386 + Identifier 2333266 2333314 + Identifier 2333315 2333323 + FalseKeyword 2333324 2333342 + TrueKeyword 2333343 2333360 + Identifier 2333361 2333379 + Identifier 2333380 2333385 + VariableStatement 2333421 2333604 + VariableDeclarationList 2333421 2333603 + VariableDeclaration 2333440 2333603 + Identifier 2333440 2333452 + CallExpression 2333454 2333603 + Identifier 2333454 2333475 + Identifier 2333476 2333493 + Identifier 2333494 2333503 + BinaryExpression 2333504 2333596 + PropertyAccessExpression 2333504 2333535 + Identifier 2333504 2333516 + Identifier 2333517 2333535 + BarToken 2333535 2333537 + ParenthesizedExpression 2333537 2333596 + ConditionalExpression 2333539 2333595 + CallExpression 2333539 2333564 + Identifier 2333539 2333554 + Identifier 2333555 2333563 + QuestionToken 2333564 2333566 + PropertyAccessExpression 2333566 2333591 + Identifier 2333566 2333578 + Identifier 2333579 2333591 + ColonToken 2333591 2333593 + NumericLiteral 2333593 2333595 + Identifier 2333597 2333602 + VariableStatement 2333604 2333681 + VariableDeclarationList 2333604 2333680 + VariableDeclaration 2333623 2333680 + Identifier 2333623 2333628 + CallExpression 2333630 2333680 + Identifier 2333630 2333657 + Identifier 2333658 2333666 + Identifier 2333667 2333679 + ReturnStatement 2333681 2333829 + CallExpression 2333701 2333828 + Identifier 2333701 2333730 + ConditionalExpression 2333731 2333821 + BinaryExpression 2333731 2333787 + PropertyAccessExpression 2333731 2333744 + Identifier 2333731 2333739 + Identifier 2333740 2333744 + EqualsEqualsEqualsToken 2333744 2333748 + PropertyAccessExpression 2333748 2333787 + Identifier 2333748 2333759 + Identifier 2333760 2333787 + QuestionToken 2333787 2333789 + Identifier 2333789 2333798 + ColonToken 2333798 2333800 + PropertyAccessExpression 2333800 2333821 + Identifier 2333800 2333809 + Identifier 2333810 2333821 + Identifier 2333822 2333827 + IfStatement 2333854 2335117 + BinaryExpression 2333859 2333904 + PropertyAccessExpression 2333859 2333872 + Identifier 2333859 2333867 + Identifier 2333868 2333872 + EqualsEqualsEqualsToken 2333872 2333876 + PropertyAccessExpression 2333876 2333904 + Identifier 2333876 2333887 + Identifier 2333888 2333904 + Block 2333905 2335018 + IfStatement 2333907 2335007 + BinaryExpression 2333925 2333962 + Identifier 2333925 2333938 + LessThanToken 2333938 2333940 + BinaryExpression 2333940 2333962 + PropertyAccessExpression 2333940 2333958 + Identifier 2333940 2333951 + Identifier 2333952 2333958 + MinusToken 2333958 2333960 + NumericLiteral 2333960 2333962 + Block 2333963 2334082 + ExpressionStatement 2333965 2334067 + CallExpression 2333965 2334066 + Identifier 2333965 2333988 + Identifier 2333989 2333997 + PropertyAccessExpression 2333998 2334065 + Identifier 2333998 2334010 + Identifier 2334011 2334065 + Block 2334100 2335007 + IfStatement 2334102 2334292 + BinaryExpression 2334124 2334187 + Identifier 2334124 2334139 + LessThanToken 2334139 2334141 + PropertyAccessExpression 2334141 2334187 + Identifier 2334141 2334170 + Identifier 2334171 2334187 + Block 2334188 2334292 + ExpressionStatement 2334190 2334273 + CallExpression 2334190 2334272 + Identifier 2334190 2334236 + Identifier 2334237 2334245 + PropertyAccessExpression 2334246 2334271 + Identifier 2334246 2334266 + Identifier 2334267 2334271 + VariableStatement 2334292 2334350 + VariableDeclarationList 2334292 2334349 + VariableDeclaration 2334315 2334349 + Identifier 2334315 2334328 + ArrayType 2334329 2334344 + TypeReference 2334329 2334342 + Identifier 2334329 2334342 + ArrayLiteralExpression 2334346 2334349 + IfStatement 2334350 2334658 + Identifier 2334372 2334385 + Block 2334386 2334658 + ForOfStatement 2334388 2334639 + VariableDeclarationList 2334415 2334434 + VariableDeclaration 2334420 2334434 + Identifier 2334420 2334434 + Identifier 2334437 2334451 + Block 2334452 2334639 + IfStatement 2334454 2334616 + PrefixUnaryExpression 2334484 2334518 + CallExpression 2334485 2334518 + Identifier 2334485 2334503 + Identifier 2334504 2334517 + Block 2334519 2334616 + ExpressionStatement 2334521 2334589 + CallExpression 2334521 2334588 + PropertyAccessExpression 2334521 2334568 + Identifier 2334521 2334563 + Identifier 2334564 2334568 + PropertyAccessExpression 2334569 2334587 + Identifier 2334569 2334582 + Identifier 2334583 2334587 + VariableStatement 2334658 2334760 + VariableDeclarationList 2334658 2334759 + VariableDeclaration 2334681 2334759 + Identifier 2334681 2334686 + CallExpression 2334688 2334759 + Identifier 2334688 2334700 + Identifier 2334701 2334718 + Identifier 2334719 2334732 + PropertyAccessExpression 2334733 2334758 + Identifier 2334733 2334751 + Identifier 2334752 2334758 + ExpressionStatement 2334760 2334911 + CallExpression 2334760 2334910 + Identifier 2334760 2334816 + Identifier 2334817 2334830 + PropertyAccessExpression 2334831 2334909 + Identifier 2334831 2334843 + Identifier 2334844 2334909 + ReturnStatement 2334911 2334992 + CallExpression 2334935 2334991 + Identifier 2334935 2334964 + PropertyAccessExpression 2334965 2334984 + Identifier 2334965 2334973 + Identifier 2334974 2334984 + Identifier 2334985 2334990 + Block 2335032 2335117 + ExpressionStatement 2335034 2335106 + CallExpression 2335034 2335105 + Identifier 2335034 2335053 + Identifier 2335054 2335062 + PropertyAccessExpression 2335063 2335104 + Identifier 2335063 2335075 + Identifier 2335076 2335104 + FunctionDeclaration 2335124 2336574 + Identifier 2335140 2335168 + Parameter 2335169 2335197 + Identifier 2335169 2335173 + TypeReference 2335174 2335197 + Identifier 2335174 2335197 + Parameter 2335198 2335215 + Identifier 2335198 2335209 + TypeReference 2335210 2335215 + Identifier 2335210 2335215 + Parameter 2335216 2335238 + Identifier 2335216 2335226 + QuestionToken 2335226 2335227 + TypeReference 2335228 2335238 + Identifier 2335228 2335238 + TypeReference 2335240 2335245 + Identifier 2335240 2335245 + Block 2335245 2336574 + VariableStatement 2335247 2335288 + VariableDeclarationList 2335247 2335287 + VariableDeclaration 2335262 2335287 + Identifier 2335262 2335271 + PropertyAccessExpression 2335273 2335287 + Identifier 2335273 2335278 + Identifier 2335279 2335287 + IfStatement 2335288 2335495 + BinaryExpression 2335302 2335410 + BinaryExpression 2335302 2335372 + Identifier 2335302 2335317 + LessThanToken 2335317 2335319 + PropertyAccessExpression 2335319 2335372 + Identifier 2335319 2335348 + Identifier 2335349 2335372 + AmpersandAmpersandToken 2335372 2335375 + PropertyAccessExpression 2335375 2335410 + Identifier 2335375 2335391 + Identifier 2335392 2335410 + Block 2335411 2335495 + ExpressionStatement 2335413 2335484 + CallExpression 2335413 2335483 + Identifier 2335413 2335451 + Identifier 2335452 2335456 + PropertyAccessExpression 2335457 2335482 + Identifier 2335457 2335477 + Identifier 2335478 2335482 + VariableStatement 2335495 2335951 + VariableDeclarationList 2335495 2335950 + VariableDeclaration 2335784 2335950 + Identifier 2335784 2335808 + BinaryExpression 2335810 2335950 + CallExpression 2335810 2335937 + Identifier 2335810 2335841 + BinaryExpression 2335842 2335903 + PropertyAccessExpression 2335842 2335868 + Identifier 2335842 2335854 + Identifier 2335855 2335868 + BarToken 2335868 2335870 + PropertyAccessExpression 2335870 2335903 + Identifier 2335870 2335883 + Identifier 2335884 2335903 + Identifier 2335904 2335915 + Identifier 2335916 2335930 + Identifier 2335931 2335936 + BarBarToken 2335937 2335940 + Identifier 2335940 2335950 + VariableStatement 2335951 2336077 + VariableDeclarationList 2335951 2336076 + VariableDeclaration 2335964 2336076 + Identifier 2335964 2335977 + UnionType 2335978 2335995 + TypeReference 2335978 2335983 + Identifier 2335978 2335983 + UndefinedKeyword 2335985 2335995 + ConditionalExpression 2335997 2336076 + PropertyAccessExpression 2335997 2336038 + Identifier 2335997 2336013 + Identifier 2336014 2336038 + QuestionToken 2336038 2336040 + Identifier 2336040 2336050 + ColonToken 2336050 2336052 + Identifier 2336052 2336076 + ForStatement 2336077 2336539 + VariableDeclarationList 2336092 2336101 + VariableDeclaration 2336095 2336101 + Identifier 2336095 2336097 + NumericLiteral 2336099 2336101 + BinaryExpression 2336102 2336122 + Identifier 2336102 2336104 + LessThanToken 2336104 2336106 + PropertyAccessExpression 2336106 2336122 + Identifier 2336106 2336115 + Identifier 2336116 2336122 + PostfixUnaryExpression 2336123 2336127 + Identifier 2336123 2336125 + Block 2336128 2336539 + VariableStatement 2336130 2336179 + VariableDeclarationList 2336130 2336178 + VariableDeclaration 2336147 2336178 + Identifier 2336147 2336152 + Identifier 2336154 2336178 + IfStatement 2336179 2336428 + BinaryExpression 2336197 2336247 + PropertyAccessExpression 2336197 2336218 + ElementAccessExpression 2336197 2336213 + PropertyAccessExpression 2336197 2336210 + Identifier 2336197 2336201 + Identifier 2336202 2336210 + Identifier 2336211 2336212 + Identifier 2336214 2336218 + EqualsEqualsEqualsToken 2336218 2336222 + PropertyAccessExpression 2336222 2336247 + Identifier 2336222 2336233 + Identifier 2336234 2336247 + Block 2336248 2336428 + ExpressionStatement 2336250 2336413 + BinaryExpression 2336250 2336412 + Identifier 2336250 2336272 + EqualsToken 2336272 2336274 + BinaryExpression 2336274 2336412 + Identifier 2336274 2336287 + EqualsToken 2336287 2336289 + BinaryExpression 2336289 2336412 + Identifier 2336289 2336302 + QuestionQuestionToken 2336302 2336305 + ParenthesizedExpression 2336305 2336412 + BinaryExpression 2336307 2336411 + CallExpression 2336307 2336398 + Identifier 2336307 2336337 + PropertyAccessExpression 2336338 2336364 + Identifier 2336338 2336350 + Identifier 2336351 2336364 + Identifier 2336365 2336376 + Identifier 2336377 2336391 + Identifier 2336392 2336397 + BarBarToken 2336398 2336401 + Identifier 2336401 2336411 + ExpressionStatement 2336428 2336528 + CallExpression 2336428 2336527 + Identifier 2336428 2336489 + Identifier 2336490 2336494 + Identifier 2336495 2336506 + Identifier 2336507 2336509 + Identifier 2336510 2336515 + Identifier 2336516 2336526 + ReturnStatement 2336539 2336567 + Identifier 2336555 2336566 + FunctionDeclaration 2336574 2339176 + Identifier 2336590 2336638 + Parameter 2336639 2336667 + Identifier 2336639 2336643 + TypeReference 2336644 2336667 + Identifier 2336644 2336667 + Parameter 2336668 2336685 + Identifier 2336668 2336679 + TypeReference 2336680 2336685 + Identifier 2336680 2336685 + Parameter 2336686 2336707 + Identifier 2336686 2336699 + NumberKeyword 2336700 2336707 + Parameter 2336708 2336726 + Identifier 2336708 2336720 + TypeReference 2336721 2336726 + Identifier 2336721 2336726 + Parameter 2336727 2336749 + Identifier 2336727 2336737 + QuestionToken 2336737 2336738 + TypeReference 2336739 2336749 + Identifier 2336739 2336749 + Block 2336750 2339176 + VariableStatement 2336752 2336793 + VariableDeclarationList 2336752 2336792 + VariableDeclaration 2336767 2336792 + Identifier 2336767 2336776 + PropertyAccessExpression 2336778 2336792 + Identifier 2336778 2336783 + Identifier 2336784 2336792 + VariableStatement 2336793 2336842 + VariableDeclarationList 2336793 2336841 + VariableDeclaration 2336808 2336841 + Identifier 2336808 2336816 + ElementAccessExpression 2336818 2336841 + Identifier 2336818 2336827 + Identifier 2336828 2336840 + IfStatement 2336842 2339142 + BinaryExpression 2336856 2336901 + PropertyAccessExpression 2336856 2336868 + Identifier 2336856 2336863 + Identifier 2336864 2336868 + ExclamationEqualsEqualsToken 2336868 2336872 + PropertyAccessExpression 2336872 2336901 + Identifier 2336872 2336883 + Identifier 2336884 2336901 + Block 2336902 2339142 + IfStatement 2336904 2338008 + BinaryExpression 2336922 2336963 + PropertyAccessExpression 2336922 2336934 + Identifier 2336922 2336929 + Identifier 2336930 2336934 + ExclamationEqualsEqualsToken 2336934 2336938 + PropertyAccessExpression 2336938 2336963 + Identifier 2336938 2336949 + Identifier 2336950 2336963 + Block 2336964 2338008 + VariableStatement 2336966 2337037 + VariableDeclarationList 2336966 2337036 + VariableDeclaration 2336989 2337036 + Identifier 2336989 2336999 + CallExpression 2337001 2337036 + Identifier 2337001 2337022 + Identifier 2337023 2337035 + IfStatement 2337037 2337906 + CallExpression 2337059 2337086 + Identifier 2337059 2337074 + Identifier 2337075 2337085 + Block 2337087 2337906 + VariableStatement 2337089 2337411 + VariableDeclarationList 2337089 2337410 + VariableDeclaration 2337305 2337410 + Identifier 2337305 2337317 + BinaryExpression 2337319 2337410 + PropertyAccessExpression 2337319 2337350 + Identifier 2337319 2337331 + Identifier 2337332 2337350 + BarToken 2337350 2337352 + ParenthesizedExpression 2337352 2337410 + ConditionalExpression 2337354 2337409 + CallExpression 2337354 2337378 + Identifier 2337354 2337369 + Identifier 2337370 2337377 + QuestionToken 2337378 2337380 + PropertyAccessExpression 2337380 2337405 + Identifier 2337380 2337392 + Identifier 2337393 2337405 + ColonToken 2337405 2337407 + NumericLiteral 2337407 2337409 + VariableStatement 2337411 2337581 + VariableDeclarationList 2337411 2337580 + VariableDeclaration 2337438 2337580 + Identifier 2337438 2337450 + BinaryExpression 2337452 2337580 + CallExpression 2337452 2337567 + Identifier 2337452 2337484 + Identifier 2337485 2337495 + Identifier 2337496 2337506 + Identifier 2337507 2337519 + CallExpression 2337520 2337566 + Identifier 2337520 2337546 + Identifier 2337547 2337554 + Identifier 2337555 2337565 + BarBarToken 2337567 2337570 + Identifier 2337570 2337580 + VariableStatement 2337581 2337718 + VariableDeclarationList 2337581 2337717 + VariableDeclaration 2337608 2337717 + Identifier 2337608 2337621 + ConditionalExpression 2337623 2337717 + CallExpression 2337623 2337648 + Identifier 2337623 2337639 + Identifier 2337640 2337647 + QuestionToken 2337648 2337650 + CallExpression 2337650 2337703 + Identifier 2337650 2337667 + Identifier 2337668 2337679 + PropertyAccessExpression 2337680 2337702 + Identifier 2337680 2337690 + Identifier 2337691 2337702 + ColonToken 2337703 2337705 + Identifier 2337705 2337717 + VariableStatement 2337718 2337803 + VariableDeclarationList 2337718 2337802 + VariableDeclaration 2337745 2337802 + Identifier 2337745 2337750 + CallExpression 2337752 2337802 + Identifier 2337752 2337779 + Identifier 2337780 2337787 + Identifier 2337788 2337801 + ReturnStatement 2337803 2337887 + CallExpression 2337831 2337886 + Identifier 2337831 2337860 + Identifier 2337861 2337868 + Identifier 2337869 2337874 + Identifier 2337875 2337885 + ReturnStatement 2337906 2337993 + CallExpression 2337930 2337992 + Identifier 2337930 2337959 + Identifier 2337960 2337967 + Identifier 2337968 2337980 + Identifier 2337981 2337991 + IfStatement 2338008 2339131 + BinaryExpression 2338026 2338060 + Identifier 2338026 2338038 + LessThanToken 2338038 2338040 + BinaryExpression 2338040 2338060 + PropertyAccessExpression 2338040 2338056 + Identifier 2338040 2338049 + Identifier 2338050 2338056 + MinusToken 2338056 2338058 + NumericLiteral 2338058 2338060 + Block 2338061 2338179 + ExpressionStatement 2338063 2338164 + CallExpression 2338063 2338163 + Identifier 2338063 2338086 + Identifier 2338087 2338094 + PropertyAccessExpression 2338095 2338162 + Identifier 2338095 2338107 + Identifier 2338108 2338162 + Block 2338197 2339131 + VariableStatement 2338199 2338278 + VariableDeclarationList 2338199 2338277 + VariableDeclaration 2338222 2338277 + Identifier 2338222 2338237 + PropertyAccessExpression 2338239 2338277 + ParenthesizedExpression 2338239 2338266 + AsExpression 2338241 2338265 + Identifier 2338241 2338248 + TypeReference 2338251 2338265 + Identifier 2338251 2338265 + Identifier 2338267 2338277 + IfStatement 2338278 2339116 + BinaryExpression 2338300 2338437 + BinaryExpression 2338300 2338351 + PropertyAccessExpression 2338300 2338319 + Identifier 2338300 2338314 + Identifier 2338315 2338319 + EqualsEqualsEqualsToken 2338319 2338323 + PropertyAccessExpression 2338323 2338351 + Identifier 2338323 2338334 + Identifier 2338335 2338351 + AmpersandAmpersandToken 2338351 2338354 + BinaryExpression 2338354 2338437 + PropertyAccessExpression 2338354 2338410 + PropertyAccessExpression 2338354 2338405 + ParenthesizedExpression 2338354 2338391 + AsExpression 2338356 2338390 + Identifier 2338356 2338370 + TypeReference 2338373 2338390 + Identifier 2338373 2338390 + Identifier 2338392 2338405 + Identifier 2338406 2338410 + EqualsEqualsEqualsToken 2338410 2338414 + PropertyAccessExpression 2338414 2338437 + Identifier 2338414 2338425 + Identifier 2338426 2338437 + Block 2338438 2338594 + ExpressionStatement 2338440 2338575 + CallExpression 2338440 2338574 + Identifier 2338440 2338467 + PropertyAccessExpression 2338468 2338518 + ParenthesizedExpression 2338468 2338504 + AsExpression 2338469 2338503 + Identifier 2338469 2338483 + TypeReference 2338486 2338503 + Identifier 2338486 2338503 + Identifier 2338505 2338518 + PropertyAccessExpression 2338519 2338573 + Identifier 2338519 2338531 + Identifier 2338532 2338573 + Block 2338616 2339116 + ExpressionStatement 2338618 2338773 + CallExpression 2338618 2338772 + Identifier 2338618 2338678 + PropertyAccessExpression 2338679 2338692 + Identifier 2338679 2338683 + Identifier 2338684 2338692 + PropertyAccessExpression 2338693 2338771 + Identifier 2338693 2338705 + Identifier 2338706 2338771 + VariableStatement 2338773 2339006 + VariableDeclarationList 2338773 2339005 + VariableDeclaration 2338800 2339005 + Identifier 2338800 2338805 + ConditionalExpression 2338807 2339005 + CallExpression 2338807 2338842 + Identifier 2338807 2338817 + Identifier 2338818 2338828 + Identifier 2338829 2338841 + QuestionToken 2338842 2338844 + CallExpression 2338844 2338949 + Identifier 2338844 2338877 + Identifier 2338878 2338888 + ArrowFunction 2338889 2338948 + Parameter 2338889 2338891 + Identifier 2338889 2338891 + EqualsGreaterThanToken 2338891 2338894 + CallExpression 2338894 2338948 + Identifier 2338894 2338909 + AsExpression 2338910 2338933 + Identifier 2338910 2338911 + TypeReference 2338914 2338933 + Identifier 2338914 2338933 + Identifier 2338934 2338947 + ColonToken 2338949 2338951 + CallExpression 2338951 2339005 + Identifier 2338951 2338992 + Identifier 2338993 2339004 + ReturnStatement 2339006 2339097 + CallExpression 2339034 2339096 + Identifier 2339034 2339063 + Identifier 2339064 2339078 + Identifier 2339079 2339084 + Identifier 2339085 2339095 + ReturnStatement 2339142 2339169 + Identifier 2339158 2339168 + FunctionDeclaration 2339176 2341307 + Identifier 2339192 2339221 + Parameter 2339222 2339280 + Identifier 2339222 2339238 + UnionType 2339239 2339280 + TypeReference 2339239 2339250 + Identifier 2339239 2339250 + TypeReference 2339252 2339280 + Identifier 2339252 2339280 + Parameter 2339281 2339298 + Identifier 2339281 2339292 + TypeReference 2339293 2339298 + Identifier 2339293 2339298 + Parameter 2339299 2339321 + Identifier 2339299 2339309 + QuestionToken 2339309 2339310 + TypeReference 2339311 2339321 + Identifier 2339311 2339321 + Parameter 2339322 2339344 + Identifier 2339322 2339334 + QuestionToken 2339334 2339335 + BooleanKeyword 2339336 2339344 + TypeReference 2339346 2339351 + Identifier 2339346 2339351 + Block 2339351 2341307 + VariableStatement 2339353 2339386 + VariableDeclarationList 2339353 2339385 + VariableDeclaration 2339366 2339385 + Identifier 2339366 2339373 + TypeReference 2339374 2339385 + Identifier 2339374 2339385 + IfStatement 2339386 2340351 + BinaryExpression 2339400 2339464 + PropertyAccessExpression 2339400 2339421 + Identifier 2339400 2339416 + Identifier 2339417 2339421 + EqualsEqualsEqualsToken 2339421 2339425 + PropertyAccessExpression 2339425 2339464 + Identifier 2339425 2339436 + Identifier 2339437 2339464 + Block 2339465 2340284 + VariableStatement 2339467 2339542 + VariableDeclarationList 2339467 2339541 + VariableDeclaration 2339486 2339541 + Identifier 2339486 2339491 + AsExpression 2339493 2339541 + Identifier 2339493 2339510 + TypeReference 2339513 2339541 + Identifier 2339513 2339541 + IfStatement 2339542 2340195 + PropertyAccessExpression 2339560 2339592 + Identifier 2339560 2339564 + Identifier 2339565 2339592 + Block 2339593 2340195 + IfStatement 2339595 2340061 + BinaryExpression 2339782 2339934 + Identifier 2339782 2339820 + AmpersandAmpersandToken 2339820 2339823 + PrefixUnaryExpression 2339823 2339934 + ParenthesizedExpression 2339846 2339934 + CallExpression 2339847 2339933 + Identifier 2339847 2339859 + CallExpression 2339860 2339909 + Identifier 2339860 2339875 + PropertyAccessExpression 2339876 2339908 + Identifier 2339876 2339880 + Identifier 2339881 2339908 + PropertyAccessExpression 2339910 2339932 + Identifier 2339910 2339920 + Identifier 2339921 2339932 + Block 2339953 2340061 + ExpressionStatement 2339955 2340042 + BinaryExpression 2339955 2340041 + Identifier 2339955 2339987 + EqualsToken 2339987 2339989 + CallExpression 2339989 2340041 + Identifier 2339989 2340006 + Identifier 2340007 2340017 + PropertyAccessExpression 2340018 2340040 + Identifier 2340018 2340028 + Identifier 2340029 2340040 + ExpressionStatement 2340061 2340180 + CallExpression 2340061 2340179 + Identifier 2340061 2340104 + PropertyAccessExpression 2340105 2340114 + Identifier 2340105 2340109 + Identifier 2340110 2340114 + NonNullExpression 2340115 2340133 + PropertyAccessExpression 2340115 2340132 + Identifier 2340115 2340120 + Identifier 2340121 2340132 + PropertyAccessExpression 2340134 2340167 + Identifier 2340134 2340139 + Identifier 2340140 2340167 + Identifier 2340168 2340178 + ExpressionStatement 2340195 2340273 + BinaryExpression 2340195 2340272 + Identifier 2340195 2340215 + EqualsToken 2340215 2340217 + PropertyAccessExpression 2340217 2340272 + ParenthesizedExpression 2340217 2340267 + AsExpression 2340219 2340266 + Identifier 2340219 2340235 + TypeReference 2340238 2340266 + Identifier 2340238 2340266 + Identifier 2340268 2340272 + Block 2340298 2340351 + ExpressionStatement 2340300 2340340 + BinaryExpression 2340300 2340339 + Identifier 2340300 2340320 + EqualsToken 2340320 2340322 + Identifier 2340322 2340339 + IfStatement 2340351 2340856 + BinaryExpression 2340367 2340488 + BinaryExpression 2340367 2340410 + PropertyAccessExpression 2340367 2340378 + Identifier 2340367 2340373 + Identifier 2340374 2340378 + EqualsEqualsEqualsToken 2340378 2340382 + PropertyAccessExpression 2340382 2340410 + Identifier 2340382 2340393 + Identifier 2340394 2340410 + AmpersandAmpersandToken 2340410 2340413 + BinaryExpression 2340413 2340488 + PropertyAccessExpression 2340413 2340461 + PropertyAccessExpression 2340413 2340456 + ParenthesizedExpression 2340413 2340442 + AsExpression 2340415 2340441 + Identifier 2340415 2340421 + TypeReference 2340424 2340441 + Identifier 2340424 2340441 + Identifier 2340443 2340456 + Identifier 2340457 2340461 + EqualsEqualsEqualsToken 2340461 2340465 + PropertyAccessExpression 2340465 2340488 + Identifier 2340465 2340476 + Identifier 2340477 2340488 + Block 2340489 2340856 + ExpressionStatement 2340491 2340566 + CallExpression 2340491 2340565 + Identifier 2340491 2340526 + AsExpression 2340527 2340553 + Identifier 2340527 2340533 + TypeReference 2340536 2340553 + Identifier 2340536 2340553 + Identifier 2340554 2340564 + ExpressionStatement 2340566 2340623 + BinaryExpression 2340566 2340622 + Identifier 2340566 2340586 + EqualsToken 2340586 2340588 + PropertyAccessExpression 2340588 2340622 + ParenthesizedExpression 2340588 2340617 + AsExpression 2340590 2340616 + Identifier 2340590 2340596 + TypeReference 2340599 2340616 + Identifier 2340599 2340616 + Identifier 2340618 2340622 + IfStatement 2340623 2340845 + Identifier 2340728 2340744 + Block 2340745 2340845 + ExpressionStatement 2340747 2340830 + BinaryExpression 2340747 2340829 + Identifier 2340747 2340775 + EqualsToken 2340775 2340777 + CallExpression 2340777 2340829 + Identifier 2340777 2340794 + Identifier 2340795 2340805 + PropertyAccessExpression 2340806 2340828 + Identifier 2340806 2340816 + Identifier 2340817 2340828 + IfStatement 2340856 2341044 + BinaryExpression 2340870 2340920 + PropertyAccessExpression 2340870 2340881 + Identifier 2340870 2340876 + Identifier 2340877 2340881 + EqualsEqualsEqualsToken 2340881 2340885 + PropertyAccessExpression 2340885 2340920 + Identifier 2340885 2340896 + Identifier 2340897 2340920 + Block 2340921 2341044 + ReturnStatement 2340923 2341033 + CallExpression 2340943 2341032 + Identifier 2340943 2340972 + AsExpression 2340973 2341006 + Identifier 2340973 2340979 + TypeReference 2340982 2341006 + Identifier 2340982 2341006 + Identifier 2341007 2341018 + Identifier 2341019 2341031 + IfStatement 2341044 2341227 + BinaryExpression 2341058 2341107 + PropertyAccessExpression 2341058 2341069 + Identifier 2341058 2341064 + Identifier 2341065 2341069 + EqualsEqualsEqualsToken 2341069 2341073 + PropertyAccessExpression 2341073 2341107 + Identifier 2341073 2341084 + Identifier 2341085 2341107 + Block 2341108 2341227 + ReturnStatement 2341110 2341216 + CallExpression 2341130 2341215 + Identifier 2341130 2341158 + AsExpression 2341159 2341191 + Identifier 2341159 2341165 + TypeReference 2341168 2341191 + Identifier 2341168 2341191 + Identifier 2341192 2341203 + Identifier 2341204 2341214 + ReturnStatement 2341227 2341300 + CallExpression 2341243 2341299 + Identifier 2341243 2341268 + Identifier 2341269 2341275 + Identifier 2341276 2341287 + Identifier 2341288 2341298 + FunctionDeclaration 2341307 2342607 + Identifier 2341323 2341348 + Parameter 2341349 2341367 + Identifier 2341349 2341355 + TypeReference 2341356 2341367 + Identifier 2341356 2341367 + Parameter 2341368 2341385 + Identifier 2341368 2341379 + TypeReference 2341380 2341385 + Identifier 2341380 2341385 + Parameter 2341386 2341408 + Identifier 2341386 2341396 + QuestionToken 2341396 2341397 + TypeReference 2341398 2341408 + Identifier 2341398 2341408 + TypeReference 2341410 2341415 + Identifier 2341410 2341415 + Block 2341415 2342607 + VariableStatement 2341417 2341481 + VariableDeclarationList 2341417 2341480 + VariableDeclaration 2341432 2341480 + Identifier 2341432 2341443 + CallExpression 2341445 2341480 + Identifier 2341445 2341461 + Identifier 2341462 2341468 + Identifier 2341469 2341479 + VariableStatement 2341481 2341777 + VariableDeclarationList 2341481 2341776 + VariableDeclaration 2341496 2341776 + Identifier 2341496 2341502 + ConditionalExpression 2341504 2341776 + BinaryExpression 2341504 2341555 + PropertyAccessExpression 2341504 2341523 + PropertyAccessExpression 2341504 2341518 + Identifier 2341504 2341511 + Identifier 2341512 2341518 + Identifier 2341519 2341523 + EqualsEqualsEqualsToken 2341523 2341527 + PropertyAccessExpression 2341527 2341555 + Identifier 2341527 2341538 + Identifier 2341539 2341555 + QuestionToken 2341555 2341557 + PropertyAccessExpression 2341557 2341662 + Identifier 2341557 2341582 + Identifier 2341583 2341662 + ColonToken 2341662 2341664 + PropertyAccessExpression 2341664 2341776 + Identifier 2341664 2341689 + Identifier 2341690 2341776 + VariableStatement 2341777 2342079 + VariableDeclarationList 2341777 2342078 + VariableDeclaration 2341792 2342078 + Identifier 2341792 2341806 + ConditionalExpression 2341808 2342078 + BinaryExpression 2341808 2341859 + PropertyAccessExpression 2341808 2341827 + PropertyAccessExpression 2341808 2341822 + Identifier 2341808 2341815 + Identifier 2341816 2341822 + Identifier 2341823 2341827 + EqualsEqualsEqualsToken 2341827 2341831 + PropertyAccessExpression 2341831 2341859 + Identifier 2341831 2341842 + Identifier 2341843 2341859 + QuestionToken 2341859 2341861 + PropertyAccessExpression 2341861 2341965 + Identifier 2341861 2341886 + Identifier 2341887 2341965 + ColonToken 2341965 2341967 + PropertyAccessExpression 2341967 2342078 + Identifier 2341967 2341992 + Identifier 2341993 2342078 + IfStatement 2342079 2342259 + CallExpression 2342093 2342147 + Identifier 2342093 2342117 + Identifier 2342118 2342124 + Identifier 2342125 2342131 + Identifier 2342132 2342146 + Block 2342148 2342259 + ExpressionStatement 2342150 2342248 + CallExpression 2342150 2342247 + Identifier 2342150 2342207 + Identifier 2342208 2342218 + Identifier 2342219 2342230 + Identifier 2342231 2342238 + Identifier 2342239 2342246 + IfStatement 2342259 2342572 + CallExpression 2342273 2342324 + Identifier 2342273 2342316 + Identifier 2342317 2342323 + Block 2342325 2342572 + ExpressionStatement 2342327 2342561 + CallExpression 2342327 2342560 + Identifier 2342327 2342503 + PropertyAccessExpression 2342504 2342517 + Identifier 2342504 2342510 + Identifier 2342511 2342517 + PropertyAccessExpression 2342518 2342559 + Identifier 2342518 2342538 + Identifier 2342539 2342559 + ReturnStatement 2342572 2342600 + Identifier 2342588 2342599 + FunctionDeclaration 2342607 2345724 + Identifier 2343062 2343079 + Parameter 2343080 2343090 + Identifier 2343080 2343084 + TypeReference 2343085 2343090 + Identifier 2343085 2343090 + BooleanKeyword 2343092 2343100 + Block 2343100 2345724 + ExpressionStatement 2343102 2343141 + BinaryExpression 2343102 2343140 + Identifier 2343102 2343116 + EqualsToken 2343116 2343118 + CallExpression 2343118 2343140 + Identifier 2343118 2343134 + Identifier 2343135 2343139 + SwitchStatement 2343141 2345717 + PropertyAccessExpression 2343159 2343168 + Identifier 2343159 2343163 + Identifier 2343164 2343168 + CaseBlock 2343169 2345717 + CaseClause 2343171 2343212 + PropertyAccessExpression 2343189 2343211 + Identifier 2343189 2343200 + Identifier 2343201 2343211 + CaseClause 2343212 2343256 + PropertyAccessExpression 2343230 2343255 + Identifier 2343230 2343241 + Identifier 2343242 2343255 + CaseClause 2343256 2343311 + PropertyAccessExpression 2343274 2343310 + Identifier 2343274 2343285 + Identifier 2343286 2343310 + CaseClause 2343311 2343366 + PropertyAccessExpression 2343329 2343365 + Identifier 2343329 2343340 + Identifier 2343341 2343365 + CaseClause 2343366 2343415 + PropertyAccessExpression 2343384 2343414 + Identifier 2343384 2343395 + Identifier 2343396 2343414 + CaseClause 2343415 2343475 + PropertyAccessExpression 2343433 2343474 + Identifier 2343433 2343444 + Identifier 2343445 2343474 + CaseClause 2343475 2343520 + PropertyAccessExpression 2343493 2343519 + Identifier 2343493 2343504 + Identifier 2343505 2343519 + CaseClause 2343520 2343564 + PropertyAccessExpression 2343538 2343563 + Identifier 2343538 2343549 + Identifier 2343550 2343563 + CaseClause 2343564 2343606 + PropertyAccessExpression 2343582 2343605 + Identifier 2343582 2343593 + Identifier 2343594 2343605 + CaseClause 2343606 2343649 + PropertyAccessExpression 2343624 2343648 + Identifier 2343624 2343635 + Identifier 2343636 2343648 + CaseClause 2343649 2343691 + PropertyAccessExpression 2343667 2343690 + Identifier 2343667 2343678 + Identifier 2343679 2343690 + CaseClause 2343691 2343738 + PropertyAccessExpression 2343709 2343737 + Identifier 2343709 2343720 + Identifier 2343721 2343737 + CaseClause 2343738 2343787 + PropertyAccessExpression 2343756 2343786 + Identifier 2343756 2343767 + Identifier 2343768 2343786 + CaseClause 2343787 2343833 + PropertyAccessExpression 2343805 2343832 + Identifier 2343805 2343816 + Identifier 2343817 2343832 + CaseClause 2343833 2343877 + PropertyAccessExpression 2343851 2343876 + Identifier 2343851 2343862 + Identifier 2343863 2343876 + CaseClause 2343877 2343930 + PropertyAccessExpression 2343895 2343929 + Identifier 2343895 2343906 + Identifier 2343907 2343929 + CaseClause 2343930 2343984 + PropertyAccessExpression 2343948 2343983 + Identifier 2343948 2343959 + Identifier 2343960 2343983 + CaseClause 2343984 2344031 + PropertyAccessExpression 2344002 2344030 + Identifier 2344002 2344013 + Identifier 2344014 2344030 + CaseClause 2344031 2344079 + PropertyAccessExpression 2344049 2344078 + Identifier 2344049 2344060 + Identifier 2344061 2344078 + CaseClause 2344079 2344131 + PropertyAccessExpression 2344097 2344130 + Identifier 2344097 2344108 + Identifier 2344109 2344130 + CaseClause 2344131 2344202 + PropertyAccessExpression 2344149 2344171 + Identifier 2344149 2344160 + Identifier 2344161 2344171 + ReturnStatement 2344172 2344202 + TrueKeyword 2344196 2344201 + CaseClause 2344202 2344424 + PropertyAccessExpression 2344222 2344255 + Identifier 2344222 2344233 + Identifier 2344234 2344255 + ReturnStatement 2344256 2344424 + BinaryExpression 2344280 2344423 + CallExpression 2344280 2344339 + Identifier 2344280 2344297 + PropertyAccessExpression 2344298 2344338 + ParenthesizedExpression 2344298 2344329 + AsExpression 2344299 2344328 + Identifier 2344299 2344303 + TypeReference 2344306 2344328 + Identifier 2344306 2344328 + Identifier 2344330 2344338 + AmpersandAmpersandToken 2344339 2344342 + CallExpression 2344342 2344423 + Identifier 2344342 2344380 + PropertyAccessExpression 2344381 2344422 + ParenthesizedExpression 2344381 2344412 + AsExpression 2344382 2344411 + Identifier 2344382 2344386 + TypeReference 2344389 2344411 + Identifier 2344389 2344411 + Identifier 2344413 2344422 + CaseClause 2344424 2344769 + PropertyAccessExpression 2344444 2344472 + Identifier 2344444 2344455 + Identifier 2344456 2344472 + IfStatement 2344473 2344619 + CallExpression 2344495 2344562 + Identifier 2344495 2344515 + PropertyAccessExpression 2344516 2344561 + PropertyAccessExpression 2344516 2344556 + ParenthesizedExpression 2344516 2344542 + AsExpression 2344517 2344541 + Identifier 2344517 2344521 + TypeReference 2344524 2344541 + Identifier 2344524 2344541 + Identifier 2344543 2344556 + Identifier 2344557 2344561 + Block 2344563 2344619 + ReturnStatement 2344565 2344600 + FalseKeyword 2344593 2344599 + ReturnStatement 2344619 2344769 + BinaryExpression 2344643 2344768 + CallExpression 2344643 2344693 + Identifier 2344643 2344660 + PropertyAccessExpression 2344661 2344692 + ParenthesizedExpression 2344661 2344687 + AsExpression 2344662 2344686 + Identifier 2344662 2344666 + TypeReference 2344669 2344686 + Identifier 2344669 2344686 + Identifier 2344688 2344692 + AmpersandAmpersandToken 2344693 2344696 + CallExpression 2344696 2344768 + Identifier 2344696 2344734 + PropertyAccessExpression 2344735 2344767 + ParenthesizedExpression 2344735 2344761 + AsExpression 2344736 2344760 + Identifier 2344736 2344740 + TypeReference 2344743 2344760 + Identifier 2344743 2344760 + Identifier 2344762 2344767 + CaseClause 2344769 2344823 + PropertyAccessExpression 2344789 2344822 + Identifier 2344789 2344800 + Identifier 2344801 2344822 + CaseClause 2344823 2345340 + PropertyAccessExpression 2344841 2344875 + Identifier 2344841 2344852 + Identifier 2344853 2344875 + SwitchStatement 2344876 2345309 + PropertyAccessExpression 2345008 2345048 + ParenthesizedExpression 2345008 2345039 + AsExpression 2345009 2345038 + Identifier 2345009 2345013 + TypeReference 2345016 2345038 + Identifier 2345016 2345038 + Identifier 2345040 2345048 + CaseBlock 2345049 2345309 + CaseClause 2345051 2345106 + PropertyAccessExpression 2345077 2345105 + Identifier 2345077 2345088 + Identifier 2345089 2345105 + CaseClause 2345106 2345154 + PropertyAccessExpression 2345132 2345153 + Identifier 2345132 2345143 + Identifier 2345144 2345153 + CaseClause 2345154 2345203 + PropertyAccessExpression 2345180 2345202 + Identifier 2345180 2345191 + Identifier 2345192 2345202 + CaseClause 2345203 2345290 + PropertyAccessExpression 2345229 2345251 + Identifier 2345229 2345240 + Identifier 2345241 2345251 + ReturnStatement 2345252 2345290 + TrueKeyword 2345284 2345289 + ReturnStatement 2345309 2345340 + FalseKeyword 2345333 2345339 + CaseClause 2345340 2345438 + PropertyAccessExpression 2345411 2345437 + Identifier 2345411 2345422 + Identifier 2345423 2345437 + CaseClause 2345438 2345512 + PropertyAccessExpression 2345476 2345511 + Identifier 2345476 2345487 + Identifier 2345488 2345511 + CaseClause 2345512 2345604 + PropertyAccessExpression 2345579 2345603 + Identifier 2345579 2345590 + Identifier 2345591 2345603 + DefaultClause 2345604 2345706 + ReturnStatement 2345675 2345706 + FalseKeyword 2345699 2345705 + FunctionDeclaration 2345724 2345901 + Identifier 2345740 2345767 + Parameter 2345768 2345780 + Identifier 2345768 2345774 + TypeReference 2345775 2345780 + Identifier 2345775 2345780 + Parameter 2345781 2345794 + Identifier 2345781 2345788 + TypeReference 2345789 2345794 + Identifier 2345789 2345794 + Block 2345795 2345901 + ReturnStatement 2345797 2345894 + BinaryExpression 2345813 2345893 + BinaryExpression 2345813 2345855 + ParenthesizedExpression 2345813 2345849 + BinaryExpression 2345815 2345848 + PropertyAccessExpression 2345815 2345827 + Identifier 2345815 2345821 + Identifier 2345822 2345827 + AmpersandToken 2345827 2345829 + PropertyAccessExpression 2345829 2345848 + Identifier 2345829 2345839 + Identifier 2345840 2345848 + ExclamationEqualsEqualsToken 2345849 2345853 + NumericLiteral 2345853 2345855 + BarBarToken 2345855 2345858 + CallExpression 2345858 2345893 + Identifier 2345858 2345877 + Identifier 2345878 2345884 + Identifier 2345885 2345892 + FunctionDeclaration 2345901 2351951 + Identifier 2345917 2345945 + Block 2345947 2351951 + InterfaceDeclaration 2345949 2346474 + Identifier 2345968 2345977 + PropertySignature 2345979 2346035 + ReadonlyKeyword 2345979 2346001 + Identifier 2346001 2346011 + UnionType 2346012 2346034 + TypeReference 2346012 2346022 + Identifier 2346012 2346022 + UndefinedKeyword 2346024 2346034 + PropertySignature 2346035 2346063 + Identifier 2346035 2346053 + BooleanKeyword 2346054 2346062 + PropertySignature 2346063 2346096 + Identifier 2346063 2346087 + NumberKeyword 2346088 2346095 + PropertySignature 2346096 2346463 + Identifier 2346096 2346440 + ArrayType 2346441 2346462 + ParenthesizedType 2346441 2346460 + UnionType 2346443 2346459 + TypeReference 2346443 2346447 + Identifier 2346443 2346447 + UndefinedKeyword 2346449 2346459 + VariableStatement 2346474 2346595 + VariableDeclarationList 2346474 2346594 + VariableDeclaration 2346491 2346594 + Identifier 2346491 2346502 + CallExpression 2346504 2346594 + Identifier 2346504 2346537 + Identifier 2346538 2346545 + Identifier 2346546 2346553 + Identifier 2346554 2346565 + Identifier 2346566 2346574 + Identifier 2346575 2346582 + Identifier 2346583 2346593 + ReturnStatement 2346595 2346818 + ArrowFunction 2346613 2346817 + Parameter 2346615 2346637 + Identifier 2346615 2346619 + TypeReference 2346620 2346637 + Identifier 2346620 2346637 + Parameter 2346638 2346671 + Identifier 2346638 2346648 + UnionType 2346649 2346671 + TypeReference 2346649 2346659 + Identifier 2346649 2346659 + UndefinedKeyword 2346661 2346671 + EqualsGreaterThanToken 2346672 2346675 + Block 2346675 2346817 + VariableStatement 2346677 2346734 + VariableDeclarationList 2346677 2346733 + VariableDeclaration 2346696 2346733 + Identifier 2346696 2346703 + CallExpression 2346705 2346733 + Identifier 2346705 2346716 + Identifier 2346717 2346721 + Identifier 2346722 2346732 + ExpressionStatement 2346734 2346778 + CallExpression 2346734 2346777 + PropertyAccessExpression 2346734 2346769 + Identifier 2346734 2346753 + Identifier 2346754 2346769 + Identifier 2346770 2346776 + ReturnStatement 2346778 2346806 + Identifier 2346798 2346805 + FunctionDeclaration 2346818 2348221 + Identifier 2346838 2346846 + Parameter 2346847 2346869 + Identifier 2346847 2346851 + TypeReference 2346852 2346869 + Identifier 2346852 2346869 + Parameter 2346870 2346898 + Identifier 2346870 2346876 + UnionType 2346877 2346898 + TypeReference 2346877 2346886 + Identifier 2346877 2346886 + UndefinedKeyword 2346888 2346898 + Parameter 2346899 2346932 + Identifier 2346899 2346909 + UnionType 2346910 2346932 + TypeReference 2346910 2346920 + Identifier 2346910 2346920 + UndefinedKeyword 2346922 2346932 + Block 2346933 2348221 + IfStatement 2346935 2347406 + Identifier 2346953 2346958 + Block 2346959 2347166 + ExpressionStatement 2346961 2346998 + PostfixUnaryExpression 2346961 2346997 + PropertyAccessExpression 2346961 2346995 + Identifier 2346961 2346984 + Identifier 2346985 2346995 + ExpressionStatement 2346998 2347035 + BinaryExpression 2346998 2347034 + PropertyAccessExpression 2346998 2347026 + Identifier 2346998 2347021 + Identifier 2347022 2347026 + EqualsToken 2347026 2347028 + FalseKeyword 2347028 2347034 + ExpressionStatement 2347035 2347092 + CallExpression 2347035 2347091 + Identifier 2347035 2347064 + Identifier 2347065 2347070 + Identifier 2347071 2347090 + ExpressionStatement 2347092 2347151 + CallExpression 2347092 2347150 + Identifier 2347092 2347123 + Identifier 2347124 2347129 + Identifier 2347130 2347149 + Block 2347184 2347406 + ExpressionStatement 2347186 2347391 + BinaryExpression 2347186 2347390 + Identifier 2347186 2347209 + EqualsToken 2347209 2347211 + ObjectLiteralExpression 2347211 2347390 + ShorthandPropertyAssignment 2347213 2347244 + Identifier 2347213 2347244 + PropertyAssignment 2347245 2347278 + Identifier 2347245 2347271 + FalseKeyword 2347272 2347278 + PropertyAssignment 2347279 2347314 + Identifier 2347279 2347311 + NumericLiteral 2347312 2347314 + PropertyAssignment 2347315 2347370 + Identifier 2347315 2347346 + ArrayLiteralExpression 2347347 2347370 + Identifier 2347349 2347358 + Identifier 2347359 2347369 + IfStatement 2347406 2347645 + BinaryExpression 2347426 2347481 + CallExpression 2347426 2347442 + Identifier 2347426 2347436 + Identifier 2347437 2347441 + AmpersandAmpersandToken 2347442 2347445 + CallExpression 2347445 2347481 + Identifier 2347445 2347475 + Identifier 2347476 2347480 + Block 2347482 2347645 + ExpressionStatement 2347484 2347520 + BinaryExpression 2347484 2347519 + PropertyAccessExpression 2347484 2347512 + Identifier 2347484 2347507 + Identifier 2347508 2347512 + EqualsToken 2347512 2347514 + TrueKeyword 2347514 2347519 + ExpressionStatement 2347520 2347599 + CallExpression 2347520 2347598 + Identifier 2347520 2347551 + Identifier 2347552 2347557 + CallExpression 2347558 2347597 + Identifier 2347558 2347574 + PropertyAccessExpression 2347575 2347585 + Identifier 2347575 2347579 + Identifier 2347580 2347585 + Identifier 2347586 2347596 + ReturnStatement 2347599 2347630 + Identifier 2347623 2347629 + ExpressionStatement 2347645 2347696 + CallExpression 2347645 2347695 + Identifier 2347645 2347689 + Identifier 2347690 2347694 + VariableStatement 2347696 2347753 + VariableDeclarationList 2347696 2347752 + VariableDeclaration 2347717 2347752 + Identifier 2347717 2347726 + PropertyAccessExpression 2347728 2347752 + PropertyAccessExpression 2347728 2347747 + Identifier 2347728 2347733 + Identifier 2347734 2347747 + Identifier 2347748 2347752 + IfStatement 2347753 2348181 + BinaryExpression 2347771 2347921 + BinaryExpression 2347771 2347806 + Identifier 2347771 2347779 + EqualsEqualsEqualsToken 2347779 2347783 + PropertyAccessExpression 2347783 2347806 + Identifier 2347783 2347794 + Identifier 2347795 2347806 + AmpersandAmpersandToken 2347806 2347809 + ParenthesizedExpression 2347809 2347921 + BinaryExpression 2347811 2347920 + BinaryExpression 2347811 2347864 + PropertyAccessExpression 2347811 2347825 + PropertyAccessExpression 2347811 2347820 + Identifier 2347811 2347815 + Identifier 2347816 2347820 + Identifier 2347821 2347825 + EqualsEqualsEqualsToken 2347825 2347829 + PropertyAccessExpression 2347829 2347864 + Identifier 2347829 2347840 + Identifier 2347841 2347864 + BarBarToken 2347864 2347867 + BinaryExpression 2347867 2347920 + PropertyAccessExpression 2347867 2347882 + PropertyAccessExpression 2347867 2347877 + Identifier 2347867 2347872 + Identifier 2347873 2347877 + Identifier 2347878 2347882 + EqualsEqualsEqualsToken 2347882 2347886 + PropertyAccessExpression 2347886 2347920 + Identifier 2347886 2347897 + Identifier 2347898 2347920 + Block 2347922 2348181 + ExpressionStatement 2347924 2347960 + BinaryExpression 2347924 2347959 + PropertyAccessExpression 2347924 2347952 + Identifier 2347924 2347947 + Identifier 2347948 2347952 + EqualsToken 2347952 2347954 + TrueKeyword 2347954 2347959 + ExpressionStatement 2347960 2348135 + CallExpression 2347960 2348134 + Identifier 2347960 2347991 + Identifier 2347992 2347997 + CallExpression 2347998 2348133 + Identifier 2347998 2348027 + PropertyAccessExpression 2348028 2348037 + Identifier 2348028 2348032 + Identifier 2348033 2348037 + CallExpression 2348038 2348077 + Identifier 2348038 2348054 + PropertyAccessExpression 2348055 2348065 + Identifier 2348055 2348059 + Identifier 2348060 2348065 + Identifier 2348066 2348076 + Identifier 2348078 2348088 + BinaryExpression 2348089 2348132 + PropertyAccessExpression 2348089 2348105 + PropertyAccessExpression 2348089 2348100 + Identifier 2348089 2348094 + Identifier 2348095 2348100 + Identifier 2348101 2348105 + EqualsEqualsEqualsToken 2348105 2348109 + PropertyAccessExpression 2348109 2348132 + Identifier 2348109 2348120 + Identifier 2348121 2348132 + ReturnStatement 2348135 2348166 + Identifier 2348159 2348165 + ReturnStatement 2348181 2348210 + Identifier 2348203 2348209 + FunctionDeclaration 2348221 2348427 + Identifier 2348241 2348248 + Parameter 2348249 2348265 + Identifier 2348249 2348253 + TypeReference 2348254 2348265 + Identifier 2348254 2348265 + Parameter 2348266 2348282 + Identifier 2348266 2348272 + TypeReference 2348273 2348282 + Identifier 2348273 2348282 + Parameter 2348283 2348307 + Identifier 2348283 2348289 + TypeReference 2348290 2348307 + Identifier 2348290 2348307 + Block 2348308 2348427 + IfStatement 2348310 2348416 + PrefixUnaryExpression 2348328 2348339 + PropertyAccessExpression 2348329 2348339 + Identifier 2348329 2348334 + Identifier 2348335 2348339 + Block 2348340 2348416 + ReturnStatement 2348342 2348401 + CallExpression 2348366 2348400 + Identifier 2348366 2348387 + Identifier 2348388 2348393 + Identifier 2348394 2348399 + FunctionDeclaration 2348427 2349642 + Identifier 2348447 2348458 + Parameter 2348459 2348493 + Identifier 2348459 2348472 + TypeReference 2348473 2348493 + Identifier 2348473 2348493 + Parameter 2348494 2348510 + Identifier 2348494 2348500 + TypeReference 2348501 2348510 + Identifier 2348501 2348510 + Parameter 2348511 2348534 + Identifier 2348511 2348516 + TypeReference 2348517 2348534 + Identifier 2348517 2348534 + Block 2348535 2349642 + IfStatement 2348537 2349631 + PrefixUnaryExpression 2348555 2348566 + PropertyAccessExpression 2348556 2348566 + Identifier 2348556 2348561 + Identifier 2348562 2348566 + Block 2348567 2349631 + VariableStatement 2348569 2348625 + VariableDeclarationList 2348569 2348624 + VariableDeclaration 2348592 2348624 + Identifier 2348592 2348601 + CallExpression 2348603 2348624 + Identifier 2348603 2348617 + Identifier 2348618 2348623 + ExpressionStatement 2348625 2348675 + CallExpression 2348625 2348674 + PropertyAccessExpression 2348625 2348664 + Identifier 2348625 2348648 + Identifier 2348649 2348664 + Identifier 2348665 2348673 + ExpressionStatement 2348675 2348722 + CallExpression 2348675 2348721 + Identifier 2348675 2348704 + Identifier 2348705 2348710 + Identifier 2348711 2348720 + ExpressionStatement 2348722 2348781 + CallExpression 2348722 2348780 + Identifier 2348722 2348753 + Identifier 2348754 2348759 + Identifier 2348760 2348779 + VariableStatement 2348781 2348835 + VariableDeclarationList 2348781 2348834 + VariableDeclaration 2348804 2348834 + Identifier 2348804 2348813 + PropertyAccessExpression 2348815 2348834 + Identifier 2348815 2348829 + Identifier 2348830 2348834 + IfStatement 2348835 2349616 + CallExpression 2348857 2348902 + Identifier 2348857 2348892 + Identifier 2348893 2348901 + Block 2348903 2349616 + VariableStatement 2348905 2348952 + VariableDeclarationList 2348905 2348951 + VariableDeclaration 2348930 2348951 + Identifier 2348930 2348937 + PropertyAccessExpression 2348939 2348951 + Identifier 2348939 2348944 + Identifier 2348945 2348951 + WhileStatement 2348952 2349155 + BinaryExpression 2348981 2349080 + BinaryExpression 2348981 2349031 + PropertyAccessExpression 2348981 2348992 + Identifier 2348981 2348987 + Identifier 2348988 2348992 + EqualsEqualsEqualsToken 2348992 2348996 + PropertyAccessExpression 2348996 2349031 + Identifier 2348996 2349007 + Identifier 2349008 2349031 + BarBarToken 2349031 2349034 + CallExpression 2349034 2349080 + Identifier 2349034 2349072 + Identifier 2349073 2349079 + Block 2349081 2349155 + ExpressionStatement 2349083 2349132 + BinaryExpression 2349083 2349131 + Identifier 2349083 2349115 + EqualsToken 2349115 2349117 + PropertyAccessExpression 2349117 2349131 + Identifier 2349117 2349124 + Identifier 2349125 2349131 + IfStatement 2349155 2349443 + BinaryExpression 2349181 2349253 + BinaryExpression 2349181 2349228 + Identifier 2349181 2349189 + EqualsEqualsEqualsToken 2349189 2349193 + PropertyAccessExpression 2349193 2349228 + Identifier 2349193 2349204 + Identifier 2349205 2349228 + BarBarToken 2349228 2349231 + CallExpression 2349231 2349253 + Identifier 2349231 2349245 + Identifier 2349246 2349252 + Block 2349254 2349443 + ExpressionStatement 2349256 2349420 + CallExpression 2349256 2349419 + Identifier 2349256 2349340 + PropertyAccessExpression 2349341 2349350 + Identifier 2349341 2349345 + Identifier 2349346 2349350 + Identifier 2349351 2349360 + ConditionalExpression 2349361 2349418 + CallExpression 2349361 2349383 + Identifier 2349361 2349375 + Identifier 2349376 2349382 + QuestionToken 2349383 2349385 + PropertyAccessExpression 2349385 2349406 + Identifier 2349385 2349392 + Identifier 2349393 2349406 + ColonToken 2349406 2349408 + Identifier 2349408 2349418 + IfStatement 2349443 2349597 + CallExpression 2349469 2349502 + Identifier 2349469 2349492 + Identifier 2349493 2349501 + Block 2349503 2349597 + ExpressionStatement 2349505 2349574 + CallExpression 2349505 2349573 + Identifier 2349505 2349552 + Identifier 2349553 2349561 + PropertyAccessExpression 2349562 2349572 + Identifier 2349562 2349567 + Identifier 2349568 2349572 + FunctionDeclaration 2349642 2349851 + Identifier 2349662 2349670 + Parameter 2349671 2349688 + Identifier 2349671 2349676 + TypeReference 2349677 2349688 + Identifier 2349677 2349688 + Parameter 2349689 2349705 + Identifier 2349689 2349695 + TypeReference 2349696 2349705 + Identifier 2349696 2349705 + Parameter 2349706 2349730 + Identifier 2349706 2349712 + TypeReference 2349713 2349730 + Identifier 2349713 2349730 + Block 2349731 2349851 + IfStatement 2349733 2349840 + PrefixUnaryExpression 2349751 2349762 + PropertyAccessExpression 2349752 2349762 + Identifier 2349752 2349757 + Identifier 2349758 2349762 + Block 2349763 2349840 + ReturnStatement 2349765 2349825 + CallExpression 2349789 2349824 + Identifier 2349789 2349810 + Identifier 2349811 2349816 + Identifier 2349817 2349823 + FunctionDeclaration 2349851 2350688 + Identifier 2349871 2349878 + Parameter 2349879 2349901 + Identifier 2349879 2349883 + TypeReference 2349884 2349901 + Identifier 2349884 2349901 + Parameter 2349902 2349918 + Identifier 2349902 2349908 + TypeReference 2349909 2349918 + Identifier 2349909 2349918 + UnionType 2349920 2349937 + TypeReference 2349920 2349925 + Identifier 2349920 2349925 + UndefinedKeyword 2349927 2349937 + Block 2349937 2350688 + VariableStatement 2349939 2349982 + VariableDeclarationList 2349939 2349981 + VariableDeclaration 2349956 2349981 + Identifier 2349956 2349963 + UnionType 2349964 2349981 + TypeReference 2349964 2349969 + Identifier 2349964 2349969 + UndefinedKeyword 2349971 2349981 + IfStatement 2349982 2350473 + PropertyAccessExpression 2350000 2350010 + Identifier 2350000 2350005 + Identifier 2350006 2350010 + Block 2350011 2350076 + ExpressionStatement 2350013 2350061 + BinaryExpression 2350013 2350060 + Identifier 2350013 2350037 + EqualsToken 2350037 2350039 + CallExpression 2350039 2350060 + Identifier 2350039 2350053 + Identifier 2350054 2350059 + Block 2350094 2350473 + VariableStatement 2350096 2350150 + VariableDeclarationList 2350096 2350149 + VariableDeclaration 2350119 2350149 + Identifier 2350119 2350128 + CallExpression 2350130 2350149 + Identifier 2350130 2350142 + Identifier 2350143 2350148 + ExpressionStatement 2350150 2350200 + CallExpression 2350150 2350199 + PropertyAccessExpression 2350150 2350189 + Identifier 2350150 2350173 + Identifier 2350174 2350189 + Identifier 2350190 2350198 + VariableStatement 2350200 2350259 + VariableDeclarationList 2350200 2350258 + VariableDeclaration 2350225 2350258 + Identifier 2350225 2350235 + CallExpression 2350237 2350258 + Identifier 2350237 2350251 + Identifier 2350252 2350257 + ExpressionStatement 2350259 2350310 + CallExpression 2350259 2350309 + PropertyAccessExpression 2350259 2350298 + Identifier 2350259 2350282 + Identifier 2350283 2350298 + Identifier 2350299 2350308 + ExpressionStatement 2350310 2350458 + BinaryExpression 2350310 2350457 + Identifier 2350310 2350336 + EqualsToken 2350336 2350338 + CallExpression 2350338 2350457 + Identifier 2350338 2350370 + PropertyAccessExpression 2350371 2350380 + Identifier 2350371 2350375 + Identifier 2350376 2350380 + PropertyAccessExpression 2350381 2350400 + Identifier 2350381 2350386 + Identifier 2350387 2350400 + PropertyAccessExpression 2350401 2350412 + Identifier 2350401 2350406 + Identifier 2350407 2350412 + Identifier 2350413 2350422 + Identifier 2350423 2350433 + PropertyAccessExpression 2350434 2350450 + Identifier 2350434 2350440 + Identifier 2350441 2350450 + Identifier 2350451 2350456 + ExpressionStatement 2350473 2350508 + BinaryExpression 2350473 2350507 + PropertyAccessExpression 2350473 2350499 + Identifier 2350473 2350494 + Identifier 2350495 2350499 + EqualsToken 2350499 2350501 + FalseKeyword 2350501 2350507 + ExpressionStatement 2350508 2350561 + CallExpression 2350508 2350560 + Identifier 2350508 2350533 + Identifier 2350534 2350539 + Identifier 2350540 2350559 + ExpressionStatement 2350561 2350616 + CallExpression 2350561 2350615 + Identifier 2350561 2350588 + Identifier 2350589 2350594 + Identifier 2350595 2350614 + ExpressionStatement 2350616 2350649 + PostfixUnaryExpression 2350616 2350648 + PropertyAccessExpression 2350616 2350646 + Identifier 2350616 2350635 + Identifier 2350636 2350646 + ReturnStatement 2350649 2350677 + Identifier 2350669 2350676 + FunctionDeclaration 2350688 2350869 + Identifier 2350708 2350718 + Parameter 2350719 2350734 + Identifier 2350719 2350724 + TypeReference 2350725 2350734 + Identifier 2350725 2350734 + Parameter 2350735 2350760 + Identifier 2350735 2350742 + UnionType 2350743 2350760 + TypeReference 2350743 2350748 + Identifier 2350743 2350748 + UndefinedKeyword 2350750 2350760 + Parameter 2350761 2350785 + Identifier 2350761 2350767 + UnionType 2350768 2350785 + LiteralType 2350768 2350775 + StringLiteral 2350768 2350775 + LiteralType 2350777 2350785 + StringLiteral 2350777 2350785 + Block 2350786 2350869 + ExpressionStatement 2350788 2350831 + CallExpression 2350788 2350830 + Identifier 2350788 2350815 + Identifier 2350816 2350821 + Identifier 2350822 2350829 + ReturnStatement 2350831 2350858 + Identifier 2350851 2350857 + FunctionDeclaration 2350869 2351153 + Identifier 2350889 2350910 + Parameter 2350911 2350926 + Identifier 2350911 2350916 + TypeReference 2350917 2350926 + Identifier 2350917 2350926 + Parameter 2350927 2350944 + Identifier 2350927 2350932 + TypeReference 2350933 2350944 + Identifier 2350933 2350944 + UnionType 2350946 2350975 + TypeReference 2350946 2350963 + Identifier 2350946 2350963 + UndefinedKeyword 2350965 2350975 + Block 2350975 2351153 + IfStatement 2350977 2351067 + CallExpression 2350995 2351019 + Identifier 2350995 2351013 + Identifier 2351014 2351018 + Block 2351020 2351067 + ReturnStatement 2351022 2351052 + Identifier 2351046 2351051 + ExpressionStatement 2351067 2351142 + CallExpression 2351067 2351141 + Identifier 2351067 2351094 + Identifier 2351095 2351100 + CallExpression 2351101 2351140 + Identifier 2351101 2351117 + Identifier 2351118 2351122 + PropertyAccessExpression 2351123 2351139 + Identifier 2351123 2351129 + Identifier 2351130 2351139 + FunctionDeclaration 2351153 2351270 + Identifier 2351173 2351185 + Parameter 2351186 2351201 + Identifier 2351186 2351191 + TypeReference 2351192 2351201 + Identifier 2351192 2351201 + Block 2351202 2351270 + ReturnStatement 2351204 2351259 + ElementAccessExpression 2351224 2351258 + PropertyAccessExpression 2351224 2351240 + Identifier 2351224 2351230 + Identifier 2351231 2351240 + PropertyAccessExpression 2351241 2351257 + Identifier 2351241 2351246 + Identifier 2351247 2351257 + FunctionDeclaration 2351270 2351411 + Identifier 2351290 2351302 + Parameter 2351303 2351318 + Identifier 2351303 2351308 + TypeReference 2351309 2351318 + Identifier 2351309 2351318 + Parameter 2351319 2351342 + Identifier 2351319 2351324 + UnionType 2351325 2351342 + TypeReference 2351325 2351330 + Identifier 2351325 2351330 + UndefinedKeyword 2351332 2351342 + Block 2351343 2351411 + ExpressionStatement 2351345 2351400 + BinaryExpression 2351345 2351399 + ElementAccessExpression 2351345 2351392 + PropertyAccessExpression 2351345 2351374 + Identifier 2351345 2351364 + Identifier 2351365 2351374 + PropertyAccessExpression 2351375 2351391 + Identifier 2351375 2351380 + Identifier 2351381 2351391 + EqualsToken 2351392 2351394 + Identifier 2351394 2351399 + FunctionDeclaration 2351411 2351534 + Identifier 2351431 2351445 + Parameter 2351446 2351461 + Identifier 2351446 2351451 + TypeReference 2351452 2351461 + Identifier 2351452 2351461 + Block 2351462 2351534 + ReturnStatement 2351464 2351523 + ElementAccessExpression 2351484 2351522 + PropertyAccessExpression 2351484 2351500 + Identifier 2351484 2351490 + Identifier 2351491 2351500 + BinaryExpression 2351501 2351521 + PropertyAccessExpression 2351501 2351517 + Identifier 2351501 2351506 + Identifier 2351507 2351517 + PlusToken 2351517 2351519 + NumericLiteral 2351519 2351521 + FunctionDeclaration 2351534 2351944 + Identifier 2351554 2351568 + Parameter 2351569 2351584 + Identifier 2351569 2351574 + TypeReference 2351575 2351584 + Identifier 2351575 2351584 + Parameter 2351585 2351608 + Identifier 2351585 2351590 + UnionType 2351591 2351608 + TypeReference 2351591 2351596 + Identifier 2351591 2351596 + UndefinedKeyword 2351598 2351608 + Block 2351609 2351944 + ExpressionStatement 2351611 2351933 + BinaryExpression 2351611 2351932 + ElementAccessExpression 2351611 2351925 + PropertyAccessExpression 2351611 2351903 + Identifier 2351611 2351893 + Identifier 2351894 2351903 + BinaryExpression 2351904 2351924 + PropertyAccessExpression 2351904 2351920 + Identifier 2351904 2351909 + Identifier 2351910 2351920 + PlusToken 2351920 2351922 + NumericLiteral 2351922 2351924 + EqualsToken 2351925 2351927 + Identifier 2351927 2351932 + FunctionDeclaration 2351951 2353016 + Identifier 2351967 2351996 + Parameter 2351997 2352019 + Identifier 2351997 2352001 + TypeReference 2352002 2352019 + Identifier 2352002 2352019 + Block 2352020 2353016 + VariableStatement 2352022 2352076 + VariableDeclarationList 2352022 2352075 + VariableDeclaration 2352037 2352075 + ObjectBindingPattern 2352037 2352068 + BindingElement 2352039 2352044 + Identifier 2352039 2352044 + BindingElement 2352045 2352059 + Identifier 2352045 2352059 + BindingElement 2352060 2352066 + Identifier 2352060 2352066 + Identifier 2352070 2352075 + IfStatement 2352076 2353009 + BinaryExpression 2352090 2352145 + PropertyAccessExpression 2352090 2352108 + Identifier 2352090 2352103 + Identifier 2352104 2352108 + EqualsEqualsEqualsToken 2352108 2352112 + PropertyAccessExpression 2352112 2352145 + Identifier 2352112 2352123 + Identifier 2352124 2352145 + Block 2352146 2353009 + IfStatement 2352148 2352517 + BinaryExpression 2352166 2352312 + CallExpression 2352166 2352190 + Identifier 2352166 2352184 + Identifier 2352185 2352189 + AmpersandAmpersandToken 2352190 2352193 + ParenthesizedExpression 2352193 2352312 + BinaryExpression 2352195 2352311 + BinaryExpression 2352195 2352245 + PropertyAccessExpression 2352195 2352218 + PropertyAccessExpression 2352195 2352213 + Identifier 2352195 2352199 + Identifier 2352200 2352213 + Identifier 2352214 2352218 + EqualsEqualsEqualsToken 2352218 2352222 + PropertyAccessExpression 2352222 2352245 + Identifier 2352222 2352233 + Identifier 2352234 2352245 + BarBarToken 2352245 2352248 + BinaryExpression 2352248 2352311 + PropertyAccessExpression 2352248 2352272 + PropertyAccessExpression 2352248 2352267 + Identifier 2352248 2352253 + Identifier 2352254 2352267 + Identifier 2352268 2352272 + EqualsEqualsEqualsToken 2352272 2352276 + PropertyAccessExpression 2352276 2352311 + Identifier 2352276 2352287 + Identifier 2352288 2352311 + Block 2352313 2352517 + ExpressionStatement 2352315 2352502 + CallExpression 2352315 2352501 + Identifier 2352315 2352351 + Identifier 2352352 2352356 + PropertyAccessExpression 2352357 2352425 + Identifier 2352357 2352369 + Identifier 2352370 2352425 + CallExpression 2352426 2352465 + Identifier 2352426 2352440 + PropertyAccessExpression 2352441 2352464 + PropertyAccessExpression 2352441 2352459 + Identifier 2352441 2352445 + Identifier 2352446 2352459 + Identifier 2352460 2352464 + CallExpression 2352466 2352500 + Identifier 2352466 2352480 + PropertyAccessExpression 2352481 2352499 + Identifier 2352481 2352494 + Identifier 2352495 2352499 + IfStatement 2352517 2352891 + BinaryExpression 2352535 2352684 + CallExpression 2352535 2352560 + Identifier 2352535 2352553 + Identifier 2352554 2352559 + AmpersandAmpersandToken 2352560 2352563 + ParenthesizedExpression 2352563 2352684 + BinaryExpression 2352565 2352683 + BinaryExpression 2352565 2352616 + PropertyAccessExpression 2352565 2352589 + PropertyAccessExpression 2352565 2352584 + Identifier 2352565 2352570 + Identifier 2352571 2352584 + Identifier 2352585 2352589 + EqualsEqualsEqualsToken 2352589 2352593 + PropertyAccessExpression 2352593 2352616 + Identifier 2352593 2352604 + Identifier 2352605 2352616 + BarBarToken 2352616 2352619 + BinaryExpression 2352619 2352683 + PropertyAccessExpression 2352619 2352644 + PropertyAccessExpression 2352619 2352639 + Identifier 2352619 2352625 + Identifier 2352626 2352639 + Identifier 2352640 2352644 + EqualsEqualsEqualsToken 2352644 2352648 + PropertyAccessExpression 2352648 2352683 + Identifier 2352648 2352659 + Identifier 2352660 2352683 + Block 2352685 2352891 + ExpressionStatement 2352687 2352876 + CallExpression 2352687 2352875 + Identifier 2352687 2352723 + Identifier 2352724 2352729 + PropertyAccessExpression 2352730 2352798 + Identifier 2352730 2352742 + Identifier 2352743 2352798 + CallExpression 2352799 2352839 + Identifier 2352799 2352813 + PropertyAccessExpression 2352814 2352838 + PropertyAccessExpression 2352814 2352833 + Identifier 2352814 2352819 + Identifier 2352820 2352833 + Identifier 2352834 2352838 + CallExpression 2352840 2352874 + Identifier 2352840 2352854 + PropertyAccessExpression 2352855 2352873 + Identifier 2352855 2352868 + Identifier 2352869 2352873 + ExpressionStatement 2352891 2352945 + CallExpression 2352891 2352944 + Identifier 2352891 2352938 + Identifier 2352939 2352943 + ExpressionStatement 2352945 2352998 + CallExpression 2352945 2352997 + Identifier 2352945 2352991 + Identifier 2352992 2352996 + FunctionDeclaration 2353016 2353666 + Identifier 2353032 2353064 + Parameter 2353065 2353087 + Identifier 2353065 2353069 + TypeReference 2353070 2353087 + Identifier 2353070 2353087 + Block 2353088 2353666 + VariableStatement 2353090 2353177 + VariableDeclarationList 2353090 2353176 + VariableDeclaration 2353105 2353176 + Identifier 2353105 2353116 + CallExpression 2353118 2353176 + Identifier 2353118 2353139 + PropertyAccessExpression 2353140 2353149 + Identifier 2353140 2353144 + Identifier 2353145 2353149 + PropertyAccessExpression 2353150 2353175 + Identifier 2353150 2353171 + Identifier 2353172 2353175 + VariableStatement 2353177 2353259 + VariableDeclarationList 2353177 2353258 + VariableDeclaration 2353194 2353258 + Identifier 2353194 2353211 + CallExpression 2353213 2353258 + Identifier 2353213 2353246 + Identifier 2353247 2353257 + IfStatement 2353259 2353659 + BinaryExpression 2353273 2353322 + Identifier 2353273 2353289 + ExclamationEqualsEqualsToken 2353289 2353293 + PropertyAccessExpression 2353293 2353322 + Identifier 2353293 2353312 + Identifier 2353313 2353322 + Block 2353323 2353659 + IfStatement 2353325 2353648 + BinaryExpression 2353343 2353389 + Identifier 2353343 2353359 + EqualsEqualsEqualsToken 2353359 2353363 + PropertyAccessExpression 2353363 2353389 + Identifier 2353363 2353382 + Identifier 2353383 2353389 + Block 2353390 2353490 + ExpressionStatement 2353392 2353475 + CallExpression 2353392 2353474 + Identifier 2353392 2353415 + Identifier 2353416 2353426 + PropertyAccessExpression 2353427 2353473 + Identifier 2353427 2353439 + Identifier 2353440 2353473 + Block 2353508 2353648 + ExpressionStatement 2353510 2353633 + CallExpression 2353510 2353632 + Identifier 2353510 2353533 + Identifier 2353534 2353544 + PropertyAccessExpression 2353545 2353631 + Identifier 2353545 2353557 + Identifier 2353558 2353631 + FunctionDeclaration 2353666 2354322 + Identifier 2353682 2353715 + Parameter 2353716 2353738 + Identifier 2353716 2353720 + TypeReference 2353721 2353738 + Identifier 2353721 2353738 + Block 2353739 2354322 + VariableStatement 2353741 2353830 + VariableDeclarationList 2353741 2353829 + VariableDeclaration 2353756 2353829 + Identifier 2353756 2353768 + CallExpression 2353770 2353829 + Identifier 2353770 2353791 + PropertyAccessExpression 2353792 2353802 + Identifier 2353792 2353796 + Identifier 2353797 2353802 + PropertyAccessExpression 2353803 2353828 + Identifier 2353803 2353824 + Identifier 2353825 2353828 + VariableStatement 2353830 2353911 + VariableDeclarationList 2353830 2353910 + VariableDeclaration 2353845 2353910 + Identifier 2353845 2353862 + CallExpression 2353864 2353910 + Identifier 2353864 2353897 + Identifier 2353898 2353909 + IfStatement 2353911 2354002 + CallExpression 2353925 2353967 + Identifier 2353925 2353961 + Identifier 2353962 2353966 + Block 2353968 2354002 + ReturnStatement 2353970 2353991 + IfStatement 2354002 2354315 + BinaryExpression 2354018 2354064 + Identifier 2354018 2354034 + EqualsEqualsEqualsToken 2354034 2354038 + PropertyAccessExpression 2354038 2354064 + Identifier 2354038 2354057 + Identifier 2354058 2354064 + Block 2354065 2354158 + ExpressionStatement 2354067 2354147 + CallExpression 2354067 2354146 + Identifier 2354067 2354086 + Identifier 2354087 2354098 + PropertyAccessExpression 2354099 2354145 + Identifier 2354099 2354111 + Identifier 2354112 2354145 + IfStatement 2354172 2354315 + BinaryExpression 2354177 2354222 + Identifier 2354177 2354193 + EqualsEqualsEqualsToken 2354193 2354197 + PropertyAccessExpression 2354197 2354222 + Identifier 2354197 2354216 + Identifier 2354217 2354222 + Block 2354223 2354315 + ExpressionStatement 2354225 2354304 + CallExpression 2354225 2354303 + Identifier 2354225 2354244 + Identifier 2354245 2354256 + PropertyAccessExpression 2354257 2354302 + Identifier 2354257 2354269 + Identifier 2354270 2354302 + FunctionDeclaration 2354322 2354529 + Identifier 2354338 2354375 + Parameter 2354376 2354398 + Identifier 2354376 2354380 + TypeReference 2354381 2354398 + Identifier 2354381 2354398 + Block 2354399 2354529 + ReturnStatement 2354401 2354522 + BinaryExpression 2354417 2354521 + PrefixUnaryExpression 2354417 2354450 + CallExpression 2354419 2354450 + Identifier 2354419 2354437 + PropertyAccessExpression 2354438 2354449 + Identifier 2354438 2354442 + Identifier 2354443 2354449 + BarBarToken 2354450 2354453 + BinaryExpression 2354453 2354521 + PropertyAccessExpression 2354453 2354484 + PropertyAccessExpression 2354453 2354479 + PropertyAccessExpression 2354453 2354465 + Identifier 2354453 2354458 + Identifier 2354459 2354465 + Identifier 2354466 2354479 + Identifier 2354480 2354484 + ExclamationEqualsEqualsToken 2354484 2354488 + PropertyAccessExpression 2354488 2354521 + Identifier 2354488 2354499 + Identifier 2354500 2354521 + FunctionDeclaration 2354529 2356731 + Identifier 2354545 2354578 + Parameter 2354579 2354589 + Identifier 2354579 2354583 + TypeReference 2354584 2354589 + Identifier 2354584 2354589 + TypeReference 2354591 2354610 + Identifier 2354591 2354610 + Block 2354610 2356731 + ExpressionStatement 2354612 2354656 + BinaryExpression 2354612 2354655 + Identifier 2354612 2354626 + EqualsToken 2354626 2354628 + CallExpression 2354628 2354655 + Identifier 2354628 2354649 + Identifier 2354650 2354654 + SwitchStatement 2354656 2356682 + PropertyAccessExpression 2354674 2354683 + Identifier 2354674 2354678 + Identifier 2354679 2354683 + CaseBlock 2354684 2356682 + CaseClause 2354686 2354732 + PropertyAccessExpression 2354704 2354731 + Identifier 2354704 2354715 + Identifier 2354716 2354731 + CaseClause 2354732 2354777 + PropertyAccessExpression 2354750 2354776 + Identifier 2354750 2354761 + Identifier 2354762 2354776 + CaseClause 2354777 2354832 + PropertyAccessExpression 2354795 2354831 + Identifier 2354795 2354806 + Identifier 2354807 2354831 + CaseClause 2354832 2354886 + PropertyAccessExpression 2354850 2354885 + Identifier 2354850 2354861 + Identifier 2354862 2354885 + CaseClause 2354886 2354929 + PropertyAccessExpression 2354904 2354928 + Identifier 2354904 2354915 + Identifier 2354916 2354928 + CaseClause 2354929 2354973 + PropertyAccessExpression 2354947 2354972 + Identifier 2354947 2354958 + Identifier 2354959 2354972 + CaseClause 2354973 2355028 + PropertyAccessExpression 2354991 2355027 + Identifier 2354991 2355002 + Identifier 2355003 2355027 + CaseClause 2355028 2355074 + PropertyAccessExpression 2355046 2355073 + Identifier 2355046 2355057 + Identifier 2355058 2355073 + CaseClause 2355074 2355170 + PropertyAccessExpression 2355092 2355115 + Identifier 2355092 2355103 + Identifier 2355104 2355115 + ReturnStatement 2355116 2355170 + PropertyAccessExpression 2355140 2355169 + Identifier 2355140 2355159 + Identifier 2355160 2355169 + CaseClause 2355170 2356097 + PropertyAccessExpression 2355188 2355216 + Identifier 2355188 2355199 + Identifier 2355200 2355216 + SwitchStatement 2355217 2356047 + PropertyAccessExpression 2355357 2355402 + PropertyAccessExpression 2355357 2355397 + ParenthesizedExpression 2355357 2355383 + AsExpression 2355358 2355382 + Identifier 2355358 2355362 + TypeReference 2355365 2355382 + Identifier 2355365 2355382 + Identifier 2355384 2355397 + Identifier 2355398 2355402 + CaseBlock 2355403 2356047 + CaseClause 2355405 2355455 + PropertyAccessExpression 2355431 2355454 + Identifier 2355431 2355442 + Identifier 2355443 2355454 + CaseClause 2355455 2355515 + PropertyAccessExpression 2355481 2355514 + Identifier 2355481 2355492 + Identifier 2355493 2355514 + CaseClause 2355515 2355581 + PropertyAccessExpression 2355541 2355580 + Identifier 2355541 2355552 + Identifier 2355553 2355580 + CaseClause 2355581 2355631 + PropertyAccessExpression 2355607 2355630 + Identifier 2355607 2355618 + Identifier 2355619 2355630 + CaseClause 2355631 2355687 + PropertyAccessExpression 2355657 2355686 + Identifier 2355657 2355668 + Identifier 2355669 2355686 + CaseClause 2355687 2355749 + PropertyAccessExpression 2355713 2355748 + Identifier 2355713 2355724 + Identifier 2355725 2355748 + CaseClause 2355749 2355879 + PropertyAccessExpression 2355775 2355816 + Identifier 2355775 2355786 + Identifier 2355787 2355816 + ReturnStatement 2355817 2355879 + PropertyAccessExpression 2355849 2355878 + Identifier 2355849 2355868 + Identifier 2355869 2355878 + CaseClause 2355879 2356028 + PropertyAccessExpression 2355905 2355927 + Identifier 2355905 2355916 + Identifier 2355917 2355927 + ReturnStatement 2355928 2356028 + CallExpression 2355960 2356027 + Identifier 2355960 2355993 + PropertyAccessExpression 2355994 2356026 + ParenthesizedExpression 2355994 2356020 + AsExpression 2355995 2356019 + Identifier 2355995 2355999 + TypeReference 2356002 2356019 + Identifier 2356002 2356019 + Identifier 2356021 2356026 + ReturnStatement 2356047 2356097 + PropertyAccessExpression 2356071 2356096 + Identifier 2356071 2356090 + Identifier 2356091 2356096 + CaseClause 2356097 2356327 + PropertyAccessExpression 2356115 2356148 + Identifier 2356115 2356126 + Identifier 2356127 2356148 + ReturnStatement 2356149 2356327 + BinaryExpression 2356173 2356326 + CallExpression 2356173 2356248 + Identifier 2356173 2356206 + PropertyAccessExpression 2356207 2356247 + ParenthesizedExpression 2356207 2356238 + AsExpression 2356208 2356237 + Identifier 2356208 2356212 + TypeReference 2356215 2356237 + Identifier 2356215 2356237 + Identifier 2356239 2356247 + BarToken 2356248 2356250 + CallExpression 2356250 2356326 + Identifier 2356250 2356283 + PropertyAccessExpression 2356284 2356325 + ParenthesizedExpression 2356284 2356315 + AsExpression 2356285 2356314 + Identifier 2356285 2356289 + TypeReference 2356292 2356314 + Identifier 2356292 2356314 + Identifier 2356316 2356325 + CaseClause 2356327 2356420 + PropertyAccessExpression 2356345 2356368 + Identifier 2356345 2356356 + Identifier 2356357 2356368 + ReturnStatement 2356369 2356420 + PropertyAccessExpression 2356393 2356419 + Identifier 2356393 2356412 + Identifier 2356413 2356419 + CaseClause 2356420 2356671 + PropertyAccessExpression 2356438 2356460 + Identifier 2356438 2356449 + Identifier 2356450 2356460 + IfStatement 2356461 2356617 + BinaryExpression 2356483 2356540 + CallExpression 2356483 2356520 + Identifier 2356483 2356500 + AsExpression 2356501 2356519 + Identifier 2356501 2356505 + TypeReference 2356508 2356519 + Identifier 2356508 2356519 + EqualsEqualsEqualsToken 2356520 2356524 + Identifier 2356524 2356540 + Block 2356541 2356617 + ReturnStatement 2356543 2356598 + PropertyAccessExpression 2356571 2356597 + Identifier 2356571 2356590 + Identifier 2356591 2356597 + ReturnStatement 2356617 2356671 + PropertyAccessExpression 2356641 2356670 + Identifier 2356641 2356660 + Identifier 2356661 2356670 + ReturnStatement 2356682 2356724 + PropertyAccessExpression 2356698 2356723 + Identifier 2356698 2356717 + Identifier 2356718 2356723 + FunctionDeclaration 2356731 2357921 + Identifier 2356984 2357010 + Parameter 2357011 2357027 + Identifier 2357011 2357015 + TypeReference 2357016 2357027 + Identifier 2357016 2357027 + Parameter 2357028 2357063 + Identifier 2357028 2357042 + TypeReference 2357043 2357063 + Identifier 2357043 2357063 + Parameter 2357064 2357082 + Identifier 2357064 2357070 + TypeReference 2357071 2357082 + Identifier 2357071 2357082 + Parameter 2357083 2357105 + Identifier 2357083 2357093 + QuestionToken 2357093 2357094 + TypeReference 2357095 2357105 + Identifier 2357095 2357105 + Parameter 2357106 2357123 + Identifier 2357106 2357116 + QuestionToken 2357116 2357117 + TypeReference 2357118 2357123 + Identifier 2357118 2357123 + TypeReference 2357125 2357130 + Identifier 2357125 2357130 + Block 2357130 2357921 + VariableStatement 2357132 2357178 + VariableDeclarationList 2357132 2357177 + VariableDeclaration 2357147 2357177 + Identifier 2357147 2357156 + PropertyAccessExpression 2357158 2357177 + Identifier 2357158 2357172 + Identifier 2357173 2357177 + IfStatement 2357178 2357487 + BinaryExpression 2357192 2357332 + BinaryExpression 2357192 2357227 + Identifier 2357192 2357200 + EqualsEqualsEqualsToken 2357200 2357204 + PropertyAccessExpression 2357204 2357227 + Identifier 2357204 2357215 + Identifier 2357216 2357227 + AmpersandAmpersandToken 2357227 2357230 + ParenthesizedExpression 2357230 2357332 + BinaryExpression 2357232 2357331 + BinaryExpression 2357232 2357280 + PropertyAccessExpression 2357232 2357241 + Identifier 2357232 2357236 + Identifier 2357237 2357241 + EqualsEqualsEqualsToken 2357241 2357245 + PropertyAccessExpression 2357245 2357280 + Identifier 2357245 2357256 + Identifier 2357257 2357280 + BarBarToken 2357280 2357283 + BinaryExpression 2357283 2357331 + PropertyAccessExpression 2357283 2357293 + Identifier 2357283 2357288 + Identifier 2357289 2357293 + EqualsEqualsEqualsToken 2357293 2357297 + PropertyAccessExpression 2357297 2357331 + Identifier 2357297 2357308 + Identifier 2357309 2357331 + Block 2357333 2357487 + ReturnStatement 2357335 2357476 + CallExpression 2357355 2357475 + Identifier 2357355 2357384 + Identifier 2357385 2357389 + CallExpression 2357390 2357424 + Identifier 2357390 2357406 + Identifier 2357407 2357412 + Identifier 2357413 2357423 + Identifier 2357425 2357435 + BinaryExpression 2357436 2357474 + PropertyAccessExpression 2357436 2357447 + Identifier 2357436 2357442 + Identifier 2357443 2357447 + EqualsEqualsEqualsToken 2357447 2357451 + PropertyAccessExpression 2357451 2357474 + Identifier 2357451 2357462 + Identifier 2357463 2357474 + VariableStatement 2357487 2357516 + VariableDeclarationList 2357487 2357515 + VariableDeclaration 2357500 2357515 + Identifier 2357500 2357509 + TypeReference 2357510 2357515 + Identifier 2357510 2357515 + IfStatement 2357516 2357730 + CallExpression 2357530 2357563 + Identifier 2357530 2357553 + Identifier 2357554 2357562 + Block 2357564 2357645 + ExpressionStatement 2357566 2357634 + BinaryExpression 2357566 2357633 + Identifier 2357566 2357588 + EqualsToken 2357588 2357590 + CallExpression 2357590 2357633 + Identifier 2357590 2357616 + Identifier 2357617 2357621 + Identifier 2357622 2357632 + Block 2357659 2357730 + ExpressionStatement 2357661 2357719 + BinaryExpression 2357661 2357718 + Identifier 2357661 2357683 + EqualsToken 2357683 2357685 + CallExpression 2357685 2357718 + Identifier 2357685 2357701 + Identifier 2357702 2357706 + Identifier 2357707 2357717 + VariableStatement 2357730 2357794 + VariableDeclarationList 2357730 2357793 + VariableDeclaration 2357747 2357793 + Identifier 2357747 2357757 + CallExpression 2357759 2357793 + Identifier 2357759 2357775 + Identifier 2357776 2357781 + Identifier 2357782 2357792 + ReturnStatement 2357794 2357914 + CallExpression 2357810 2357913 + Identifier 2357810 2357842 + Identifier 2357843 2357847 + Identifier 2357848 2357862 + Identifier 2357863 2357869 + Identifier 2357870 2357879 + Identifier 2357880 2357890 + Identifier 2357891 2357901 + Identifier 2357902 2357912 + FunctionDeclaration 2357921 2385763 + Identifier 2357937 2357969 + Parameter 2357970 2357996 + Identifier 2357970 2357984 + TypeReference 2357985 2357996 + Identifier 2357985 2357996 + Parameter 2357997 2358041 + Identifier 2357997 2358020 + TypeReference 2358021 2358041 + Identifier 2358021 2358041 + Parameter 2358042 2358069 + Identifier 2358042 2358057 + TypeReference 2358058 2358069 + Identifier 2358058 2358069 + Parameter 2358070 2358094 + Identifier 2358070 2358088 + TypeReference 2358089 2358094 + Identifier 2358089 2358094 + Parameter 2358095 2358120 + Identifier 2358095 2358114 + TypeReference 2358115 2358120 + Identifier 2358115 2358120 + Parameter 2358121 2358152 + Identifier 2358121 2358140 + QuestionToken 2358140 2358141 + TypeReference 2358142 2358152 + Identifier 2358142 2358152 + Parameter 2358153 2358179 + Identifier 2358153 2358172 + QuestionToken 2358172 2358173 + TypeReference 2358174 2358179 + Identifier 2358174 2358179 + TypeReference 2358188 2358193 + Identifier 2358188 2358193 + Block 2358193 2385763 + VariableStatement 2358195 2358241 + VariableDeclarationList 2358195 2358240 + VariableDeclaration 2358210 2358240 + Identifier 2358210 2358219 + PropertyAccessExpression 2358221 2358240 + Identifier 2358221 2358235 + Identifier 2358236 2358240 + SwitchStatement 2358241 2374832 + Identifier 2358259 2358267 + CaseBlock 2358268 2374832 + CaseClause 2358270 2358314 + PropertyAccessExpression 2358288 2358313 + Identifier 2358288 2358299 + Identifier 2358300 2358313 + CaseClause 2358314 2358366 + PropertyAccessExpression 2358332 2358365 + Identifier 2358332 2358343 + Identifier 2358344 2358365 + CaseClause 2358366 2358416 + PropertyAccessExpression 2358384 2358415 + Identifier 2358384 2358395 + Identifier 2358396 2358415 + CaseClause 2358416 2358474 + PropertyAccessExpression 2358434 2358473 + Identifier 2358434 2358445 + Identifier 2358446 2358473 + CaseClause 2358474 2358515 + PropertyAccessExpression 2358492 2358514 + Identifier 2358492 2358503 + Identifier 2358504 2358514 + CaseClause 2358515 2358562 + PropertyAccessExpression 2358533 2358561 + Identifier 2358533 2358544 + Identifier 2358545 2358561 + CaseClause 2358562 2358605 + PropertyAccessExpression 2358580 2358604 + Identifier 2358580 2358591 + Identifier 2358592 2358604 + CaseClause 2358605 2358654 + PropertyAccessExpression 2358623 2358653 + Identifier 2358623 2358634 + Identifier 2358635 2358653 + CaseClause 2358654 2358695 + PropertyAccessExpression 2358672 2358694 + Identifier 2358672 2358683 + Identifier 2358684 2358694 + CaseClause 2358695 2358742 + PropertyAccessExpression 2358713 2358741 + Identifier 2358713 2358724 + Identifier 2358725 2358741 + CaseClause 2358742 2358794 + PropertyAccessExpression 2358760 2358793 + Identifier 2358760 2358771 + Identifier 2358772 2358793 + CaseClause 2358794 2358852 + PropertyAccessExpression 2358812 2358851 + Identifier 2358812 2358823 + Identifier 2358824 2358851 + CaseClause 2358852 2358910 + PropertyAccessExpression 2358870 2358909 + Identifier 2358870 2358881 + Identifier 2358882 2358909 + CaseClause 2358910 2358974 + PropertyAccessExpression 2358928 2358973 + Identifier 2358928 2358939 + Identifier 2358940 2358973 + CaseClause 2358974 2359043 + PropertyAccessExpression 2358992 2359042 + Identifier 2358992 2359003 + Identifier 2359004 2359042 + CaseClause 2359043 2359118 + PropertyAccessExpression 2359061 2359117 + Identifier 2359061 2359072 + Identifier 2359073 2359117 + CaseClause 2359118 2359157 + PropertyAccessExpression 2359136 2359156 + Identifier 2359136 2359147 + Identifier 2359148 2359156 + CaseClause 2359157 2359202 + PropertyAccessExpression 2359175 2359201 + Identifier 2359175 2359186 + Identifier 2359187 2359201 + CaseClause 2359202 2359243 + PropertyAccessExpression 2359220 2359242 + Identifier 2359220 2359231 + Identifier 2359232 2359242 + CaseClause 2359243 2359290 + PropertyAccessExpression 2359261 2359289 + Identifier 2359261 2359272 + Identifier 2359273 2359289 + CaseClause 2359290 2359335 + PropertyAccessExpression 2359308 2359334 + Identifier 2359308 2359319 + Identifier 2359320 2359334 + CaseClause 2359335 2364584 + PropertyAccessExpression 2359353 2359385 + Identifier 2359353 2359364 + Identifier 2359365 2359385 + IfStatement 2359386 2359536 + BinaryExpression 2359408 2359469 + BinaryExpression 2359408 2359436 + Identifier 2359408 2359416 + EqualsEqualsEqualsToken 2359416 2359420 + Identifier 2359420 2359436 + BarBarToken 2359436 2359439 + BinaryExpression 2359439 2359469 + Identifier 2359439 2359449 + EqualsEqualsEqualsToken 2359449 2359453 + Identifier 2359453 2359469 + Block 2359470 2359536 + ReturnStatement 2359472 2359517 + Identifier 2359500 2359516 + ExpressionStatement 2359536 2359600 + BinaryExpression 2359536 2359599 + Identifier 2359536 2359564 + EqualsToken 2359564 2359566 + CallExpression 2359566 2359599 + Identifier 2359566 2359583 + Identifier 2359584 2359592 + Identifier 2359593 2359598 + ExpressionStatement 2359600 2359665 + BinaryExpression 2359600 2359664 + Identifier 2359600 2359627 + EqualsToken 2359627 2359629 + CallExpression 2359629 2359664 + Identifier 2359629 2359646 + Identifier 2359647 2359656 + Identifier 2359657 2359663 + VariableStatement 2359665 2359742 + VariableDeclarationList 2359665 2359741 + VariableDeclaration 2359688 2359741 + Identifier 2359688 2359706 + UnionType 2359707 2359741 + TypeReference 2359707 2359729 + Identifier 2359707 2359729 + UndefinedKeyword 2359731 2359741 + IfStatement 2359742 2364584 + BinaryExpression 2359911 2360147 + BinaryExpression 2359911 2360039 + ParenthesizedExpression 2359911 2359973 + BinaryExpression 2359934 2359972 + PropertyAccessExpression 2359934 2359948 + Identifier 2359934 2359942 + Identifier 2359943 2359948 + AmpersandToken 2359948 2359950 + PropertyAccessExpression 2359950 2359972 + Identifier 2359950 2359960 + Identifier 2359961 2359972 + AmpersandAmpersandToken 2359973 2359976 + ParenthesizedExpression 2359976 2360039 + BinaryExpression 2359999 2360038 + PropertyAccessExpression 2359999 2360014 + Identifier 2359999 2360008 + Identifier 2360009 2360014 + AmpersandToken 2360014 2360016 + PropertyAccessExpression 2360016 2360038 + Identifier 2360016 2360026 + Identifier 2360027 2360038 + AmpersandAmpersandToken 2360039 2360042 + BinaryExpression 2360042 2360147 + ParenthesizedExpression 2360042 2360133 + BinaryExpression 2360065 2360132 + Identifier 2360065 2360082 + EqualsToken 2360082 2360084 + CallExpression 2360084 2360132 + Identifier 2360084 2360112 + PropertyAccessExpression 2360113 2360131 + Identifier 2360113 2360126 + Identifier 2360127 2360131 + ExclamationEqualsEqualsToken 2360133 2360137 + Identifier 2360137 2360147 + Block 2360166 2360438 + ExpressionStatement 2360168 2360379 + CallExpression 2360168 2360378 + Identifier 2360168 2360195 + BinaryExpression 2360196 2360222 + Identifier 2360196 2360205 + BarBarToken 2360205 2360208 + Identifier 2360208 2360222 + PropertyAccessExpression 2360223 2360308 + Identifier 2360223 2360235 + Identifier 2360236 2360308 + CallExpression 2360309 2360343 + Identifier 2360309 2360323 + PropertyAccessExpression 2360324 2360342 + Identifier 2360324 2360337 + Identifier 2360338 2360342 + CallExpression 2360344 2360377 + Identifier 2360344 2360358 + Identifier 2360359 2360376 + ReturnStatement 2360379 2360419 + Identifier 2360407 2360418 + Block 2360460 2364584 + VariableStatement 2360462 2360771 + VariableDeclarationList 2360462 2360770 + VariableDeclaration 2360586 2360770 + Identifier 2360586 2360593 + CallExpression 2360595 2360770 + Identifier 2360595 2360622 + Identifier 2360623 2360627 + Identifier 2360628 2360637 + PropertyAccessExpression 2360638 2360746 + Identifier 2360638 2360650 + Identifier 2360651 2360746 + TrueKeyword 2360747 2360769 + VariableStatement 2360771 2360987 + VariableDeclarationList 2360771 2360986 + VariableDeclaration 2360798 2360986 + Identifier 2360798 2360806 + CallExpression 2360808 2360986 + Identifier 2360808 2360835 + Identifier 2360836 2360841 + Identifier 2360842 2360852 + PropertyAccessExpression 2360853 2360962 + Identifier 2360853 2360865 + Identifier 2360866 2360962 + TrueKeyword 2360963 2360985 + VariableStatement 2360987 2361030 + VariableDeclarationList 2360987 2361029 + VariableDeclaration 2361012 2361029 + Identifier 2361012 2361023 + TypeReference 2361024 2361029 + Identifier 2361024 2361029 + IfStatement 2361030 2362884 + BinaryExpression 2361158 2361539 + ParenthesizedExpression 2361158 2361303 + BinaryExpression 2361185 2361302 + CallExpression 2361185 2361241 + Identifier 2361185 2361207 + Identifier 2361208 2361216 + PropertyAccessExpression 2361217 2361240 + Identifier 2361217 2361227 + Identifier 2361228 2361240 + AmpersandAmpersandToken 2361241 2361244 + CallExpression 2361244 2361302 + Identifier 2361244 2361267 + Identifier 2361268 2361277 + PropertyAccessExpression 2361278 2361301 + Identifier 2361278 2361288 + Identifier 2361289 2361301 + BarBarToken 2361303 2361306 + PrefixUnaryExpression 2361306 2361539 + ParenthesizedExpression 2361438 2361539 + BinaryExpression 2361439 2361538 + CallExpression 2361439 2361486 + Identifier 2361439 2361454 + Identifier 2361455 2361463 + PropertyAccessExpression 2361464 2361485 + Identifier 2361464 2361474 + Identifier 2361475 2361485 + BarBarToken 2361486 2361489 + CallExpression 2361489 2361538 + Identifier 2361489 2361505 + Identifier 2361506 2361515 + PropertyAccessExpression 2361516 2361537 + Identifier 2361516 2361526 + Identifier 2361527 2361537 + Block 2361562 2361637 + ExpressionStatement 2361564 2361614 + BinaryExpression 2361564 2361613 + Identifier 2361564 2361600 + EqualsToken 2361600 2361602 + Identifier 2361602 2361613 + IfStatement 2361748 2362884 + CallExpression 2361753 2361791 + Identifier 2361753 2361770 + Identifier 2361771 2361779 + Identifier 2361780 2361790 + Block 2361792 2362637 + SwitchStatement 2361794 2362564 + Identifier 2361828 2361836 + CaseBlock 2361837 2362564 + CaseClause 2361839 2361924 + PropertyAccessExpression 2361873 2361923 + Identifier 2361873 2361884 + Identifier 2361885 2361923 + CaseClause 2361924 2362111 + PropertyAccessExpression 2361958 2362014 + Identifier 2361958 2361969 + Identifier 2361970 2362014 + ExpressionStatement 2362015 2362071 + CallExpression 2362015 2362070 + Identifier 2362015 2362068 + BreakStatement 2362071 2362111 + CaseClause 2362111 2362179 + PropertyAccessExpression 2362145 2362178 + Identifier 2362145 2362156 + Identifier 2362157 2362178 + CaseClause 2362179 2362537 + PropertyAccessExpression 2362213 2362252 + Identifier 2362213 2362224 + Identifier 2362225 2362252 + IfStatement 2362253 2362537 + BinaryExpression 2362291 2362328 + Identifier 2362291 2362306 + LessThanToken 2362306 2362308 + PropertyAccessExpression 2362308 2362328 + Identifier 2362308 2362321 + Identifier 2362322 2362328 + Block 2362329 2362537 + ExpressionStatement 2362331 2362502 + CallExpression 2362331 2362501 + Identifier 2362331 2362374 + Identifier 2362375 2362384 + PropertyAccessExpression 2362385 2362500 + Identifier 2362385 2362397 + Identifier 2362398 2362500 + ExpressionStatement 2362564 2362614 + BinaryExpression 2362564 2362613 + Identifier 2362564 2362600 + EqualsToken 2362600 2362602 + Identifier 2362602 2362613 + Block 2362745 2362884 + ExpressionStatement 2362747 2362812 + CallExpression 2362747 2362811 + Identifier 2362747 2362792 + Identifier 2362793 2362810 + ExpressionStatement 2362812 2362861 + BinaryExpression 2362812 2362860 + Identifier 2362812 2362848 + EqualsToken 2362848 2362850 + Identifier 2362850 2362860 + IfStatement 2362884 2364525 + BinaryExpression 2362910 2362927 + Identifier 2362910 2362916 + AmpersandAmpersandToken 2362916 2362919 + Identifier 2362919 2362927 + Block 2362928 2364525 + ExpressionStatement 2362930 2362992 + CallExpression 2362930 2362991 + Identifier 2362930 2362979 + Identifier 2362980 2362990 + SwitchStatement 2362992 2364502 + Identifier 2363026 2363034 + CaseBlock 2363035 2364502 + CaseClause 2363037 2363105 + PropertyAccessExpression 2363071 2363104 + Identifier 2363071 2363082 + Identifier 2363083 2363104 + CaseClause 2363105 2363179 + PropertyAccessExpression 2363139 2363178 + Identifier 2363139 2363150 + Identifier 2363151 2363178 + CaseClause 2363179 2363253 + PropertyAccessExpression 2363213 2363252 + Identifier 2363213 2363224 + Identifier 2363225 2363252 + CaseClause 2363253 2363333 + PropertyAccessExpression 2363287 2363332 + Identifier 2363287 2363298 + Identifier 2363299 2363332 + CaseClause 2363333 2363418 + PropertyAccessExpression 2363367 2363417 + Identifier 2363367 2363378 + Identifier 2363379 2363417 + CaseClause 2363418 2364397 + PropertyAccessExpression 2363452 2363508 + Identifier 2363452 2363463 + Identifier 2363464 2363508 + VariableStatement 2363509 2363575 + VariableDeclarationList 2363509 2363574 + VariableDeclaration 2363548 2363574 + Identifier 2363548 2363556 + CallExpression 2363558 2363574 + Identifier 2363558 2363567 + Identifier 2363568 2363573 + IfStatement 2363575 2364357 + BinaryExpression 2363613 2363679 + BinaryExpression 2363613 2363646 + TypeOfExpression 2363613 2363633 + PropertyAccessExpression 2363619 2363633 + Identifier 2363619 2363627 + Identifier 2363628 2363633 + EqualsEqualsEqualsToken 2363633 2363637 + StringLiteral 2363637 2363646 + AmpersandAmpersandToken 2363646 2363649 + BinaryExpression 2363649 2363679 + CallExpression 2363649 2363673 + PropertyAccessExpression 2363649 2363658 + Identifier 2363649 2363654 + Identifier 2363655 2363658 + PropertyAccessExpression 2363659 2363672 + Identifier 2363659 2363666 + Identifier 2363667 2363672 + GreaterThanEqualsToken 2363673 2363676 + NumericLiteral 2363676 2363679 + Block 2363680 2364357 + ExpressionStatement 2363682 2364322 + CallExpression 2363682 2364321 + Identifier 2363682 2363737 + CallExpression 2363738 2363845 + Identifier 2363738 2363792 + CallExpression 2363793 2363844 + Identifier 2363793 2363823 + PropertyAccessExpression 2363824 2363843 + PropertyAccessExpression 2363824 2363836 + Identifier 2363824 2363829 + Identifier 2363830 2363836 + Identifier 2363837 2363843 + BinaryExpression 2363846 2363972 + Identifier 2363846 2363955 + BarBarToken 2363955 2363958 + Identifier 2363958 2363972 + PropertyAccessExpression 2363973 2364092 + Identifier 2363973 2364026 + Identifier 2364027 2364092 + CallExpression 2364093 2364154 + Identifier 2364093 2364148 + Identifier 2364149 2364153 + CallExpression 2364155 2364220 + Identifier 2364155 2364210 + Identifier 2364211 2364219 + BinaryExpression 2364221 2364281 + PropertyAccessExpression 2364221 2364276 + Identifier 2364221 2364270 + Identifier 2364271 2364276 + PercentToken 2364276 2364278 + NumericLiteral 2364278 2364281 + BreakStatement 2364357 2364397 + DefaultClause 2364397 2364475 + BreakStatement 2364435 2364475 + ReturnStatement 2364525 2364565 + Identifier 2364553 2364564 + CaseClause 2364584 2364624 + PropertyAccessExpression 2364602 2364623 + Identifier 2364602 2364613 + Identifier 2364614 2364623 + CaseClause 2364624 2367973 + PropertyAccessExpression 2364642 2364669 + Identifier 2364642 2364653 + Identifier 2364654 2364669 + IfStatement 2364670 2364820 + BinaryExpression 2364692 2364753 + BinaryExpression 2364692 2364720 + Identifier 2364692 2364700 + EqualsEqualsEqualsToken 2364700 2364704 + Identifier 2364704 2364720 + BarBarToken 2364720 2364723 + BinaryExpression 2364723 2364753 + Identifier 2364723 2364733 + EqualsEqualsEqualsToken 2364733 2364737 + Identifier 2364737 2364753 + Block 2364754 2364820 + ReturnStatement 2364756 2364801 + Identifier 2364784 2364800 + IfStatement 2364820 2365116 + BinaryExpression 2364844 2364959 + PrefixUnaryExpression 2364844 2364899 + CallExpression 2364845 2364899 + Identifier 2364845 2364867 + Identifier 2364868 2364876 + PropertyAccessExpression 2364877 2364898 + Identifier 2364877 2364887 + Identifier 2364888 2364898 + AmpersandAmpersandToken 2364899 2364902 + PrefixUnaryExpression 2364902 2364959 + CallExpression 2364904 2364959 + Identifier 2364904 2364926 + Identifier 2364927 2364936 + PropertyAccessExpression 2364937 2364958 + Identifier 2364937 2364947 + Identifier 2364948 2364958 + Block 2364960 2365116 + ExpressionStatement 2364962 2365028 + BinaryExpression 2364962 2365027 + Identifier 2364962 2364992 + EqualsToken 2364992 2364994 + CallExpression 2364994 2365027 + Identifier 2364994 2365011 + Identifier 2365012 2365020 + Identifier 2365021 2365026 + ExpressionStatement 2365028 2365097 + BinaryExpression 2365028 2365096 + Identifier 2365028 2365059 + EqualsToken 2365059 2365061 + CallExpression 2365061 2365096 + Identifier 2365061 2365078 + Identifier 2365079 2365088 + Identifier 2365089 2365095 + VariableStatement 2365116 2365169 + VariableDeclarationList 2365116 2365168 + VariableDeclaration 2365139 2365168 + Identifier 2365139 2365150 + UnionType 2365151 2365168 + TypeReference 2365151 2365156 + Identifier 2365151 2365156 + UndefinedKeyword 2365158 2365168 + IfStatement 2365169 2366732 + BinaryExpression 2365191 2365338 + CallExpression 2365191 2365262 + Identifier 2365191 2365213 + Identifier 2365214 2365222 + PropertyAccessExpression 2365223 2365244 + Identifier 2365223 2365233 + Identifier 2365234 2365244 + TrueKeyword 2365245 2365261 + AmpersandAmpersandToken 2365262 2365265 + CallExpression 2365265 2365338 + Identifier 2365265 2365288 + Identifier 2365289 2365298 + PropertyAccessExpression 2365299 2365320 + Identifier 2365299 2365309 + Identifier 2365310 2365320 + TrueKeyword 2365321 2365337 + Block 2365339 2365623 + ExpressionStatement 2365341 2365604 + BinaryExpression 2365341 2365603 + Identifier 2365341 2365590 + EqualsToken 2365590 2365592 + Identifier 2365592 2365603 + IfStatement 2365645 2366732 + BinaryExpression 2365650 2365797 + CallExpression 2365650 2365721 + Identifier 2365650 2365672 + Identifier 2365673 2365681 + PropertyAccessExpression 2365682 2365703 + Identifier 2365682 2365692 + Identifier 2365693 2365703 + TrueKeyword 2365704 2365720 + AmpersandAmpersandToken 2365721 2365724 + CallExpression 2365724 2365797 + Identifier 2365724 2365747 + Identifier 2365748 2365757 + PropertyAccessExpression 2365758 2365779 + Identifier 2365758 2365768 + Identifier 2365769 2365779 + TrueKeyword 2365780 2365796 + Block 2365798 2365984 + ExpressionStatement 2365800 2365965 + BinaryExpression 2365800 2365964 + Identifier 2365800 2365951 + EqualsToken 2365951 2365953 + Identifier 2365953 2365964 + IfStatement 2366006 2366732 + BinaryExpression 2366011 2366158 + CallExpression 2366011 2366082 + Identifier 2366011 2366033 + Identifier 2366034 2366042 + PropertyAccessExpression 2366043 2366064 + Identifier 2366043 2366053 + Identifier 2366054 2366064 + TrueKeyword 2366065 2366081 + BarBarToken 2366082 2366085 + CallExpression 2366085 2366158 + Identifier 2366085 2366108 + Identifier 2366109 2366118 + PropertyAccessExpression 2366119 2366140 + Identifier 2366119 2366129 + Identifier 2366130 2366140 + TrueKeyword 2366141 2366157 + Block 2366159 2366352 + ExpressionStatement 2366161 2366333 + BinaryExpression 2366161 2366332 + Identifier 2366161 2366319 + EqualsToken 2366319 2366321 + Identifier 2366321 2366332 + IfStatement 2366374 2366732 + BinaryExpression 2366379 2366422 + CallExpression 2366379 2366398 + Identifier 2366379 2366388 + Identifier 2366389 2366397 + BarBarToken 2366398 2366401 + CallExpression 2366401 2366422 + Identifier 2366401 2366411 + Identifier 2366412 2366421 + Block 2366423 2366732 + ExpressionStatement 2366425 2366713 + BinaryExpression 2366425 2366712 + Identifier 2366425 2366640 + EqualsToken 2366640 2366642 + ConditionalExpression 2366642 2366712 + BinaryExpression 2366642 2366690 + CallExpression 2366642 2366664 + Identifier 2366642 2366654 + Identifier 2366655 2366663 + BarBarToken 2366664 2366667 + CallExpression 2366667 2366690 + Identifier 2366667 2366679 + Identifier 2366680 2366689 + QuestionToken 2366690 2366692 + Identifier 2366692 2366702 + ColonToken 2366702 2366704 + Identifier 2366704 2366712 + IfStatement 2366732 2366953 + BinaryExpression 2366833 2366891 + Identifier 2366833 2366843 + AmpersandAmpersandToken 2366843 2366846 + PrefixUnaryExpression 2366846 2366891 + CallExpression 2366848 2366891 + Identifier 2366848 2366881 + Identifier 2366882 2366890 + Block 2366892 2366953 + ReturnStatement 2366894 2366934 + Identifier 2366922 2366933 + IfStatement 2366953 2367794 + PrefixUnaryExpression 2366977 2366988 + Identifier 2366978 2366988 + Block 2366989 2367794 + VariableStatement 2366991 2367510 + VariableDeclarationList 2366991 2367509 + VariableDeclaration 2367399 2367509 + Identifier 2367399 2367415 + BinaryExpression 2367417 2367509 + BinaryExpression 2367417 2367484 + BinaryExpression 2367417 2367461 + PropertyAccessExpression 2367417 2367438 + Identifier 2367417 2367427 + Identifier 2367428 2367438 + BarToken 2367438 2367440 + PropertyAccessExpression 2367440 2367461 + Identifier 2367440 2367450 + Identifier 2367451 2367461 + BarToken 2367461 2367463 + PropertyAccessExpression 2367463 2367484 + Identifier 2367463 2367473 + Identifier 2367474 2367484 + BarToken 2367484 2367486 + PropertyAccessExpression 2367486 2367509 + Identifier 2367486 2367496 + Identifier 2367497 2367509 + ExpressionStatement 2367510 2367738 + CallExpression 2367510 2367737 + Identifier 2367510 2367551 + ArrowFunction 2367552 2367714 + Parameter 2367553 2367557 + Identifier 2367553 2367557 + Parameter 2367558 2367564 + Identifier 2367558 2367564 + EqualsGreaterThanToken 2367565 2367568 + BinaryExpression 2367568 2367714 + CallExpression 2367568 2367639 + Identifier 2367568 2367616 + Identifier 2367617 2367621 + Identifier 2367622 2367638 + AmpersandAmpersandToken 2367639 2367642 + CallExpression 2367642 2367714 + Identifier 2367642 2367690 + Identifier 2367691 2367696 + Identifier 2367697 2367713 + ReturnStatement 2367738 2367775 + Identifier 2367766 2367774 + IfStatement 2367794 2367937 + BinaryExpression 2367818 2367857 + Identifier 2367818 2367826 + EqualsEqualsEqualsToken 2367826 2367830 + PropertyAccessExpression 2367830 2367857 + Identifier 2367830 2367841 + Identifier 2367842 2367857 + Block 2367858 2367937 + ExpressionStatement 2367860 2367918 + CallExpression 2367860 2367917 + Identifier 2367860 2367905 + Identifier 2367906 2367916 + ReturnStatement 2367937 2367973 + Identifier 2367961 2367972 + CaseClause 2367973 2368017 + PropertyAccessExpression 2367991 2368016 + Identifier 2367991 2368002 + Identifier 2368003 2368016 + CaseClause 2368017 2368064 + PropertyAccessExpression 2368035 2368063 + Identifier 2368035 2368046 + Identifier 2368047 2368063 + CaseClause 2368064 2368114 + PropertyAccessExpression 2368082 2368113 + Identifier 2368082 2368093 + Identifier 2368094 2368113 + CaseClause 2368114 2369140 + PropertyAccessExpression 2368132 2368166 + Identifier 2368132 2368143 + Identifier 2368144 2368166 + IfStatement 2368167 2369103 + CallExpression 2368189 2368232 + Identifier 2368189 2368222 + Identifier 2368223 2368231 + Block 2368233 2369103 + ExpressionStatement 2368235 2368340 + BinaryExpression 2368235 2368339 + Identifier 2368235 2368265 + EqualsToken 2368265 2368267 + CallExpression 2368267 2368339 + Identifier 2368267 2368305 + CallExpression 2368306 2368338 + Identifier 2368306 2368322 + Identifier 2368323 2368331 + Identifier 2368332 2368337 + ExpressionStatement 2368340 2368448 + BinaryExpression 2368340 2368447 + Identifier 2368340 2368371 + EqualsToken 2368371 2368373 + CallExpression 2368373 2368447 + Identifier 2368373 2368411 + CallExpression 2368412 2368446 + Identifier 2368412 2368428 + Identifier 2368429 2368438 + Identifier 2368439 2368445 + ExpressionStatement 2368448 2369084 + CallExpression 2368448 2369083 + Identifier 2368448 2368495 + ArrowFunction 2368496 2369082 + Parameter 2368497 2368501 + Identifier 2368497 2368501 + Parameter 2368502 2368508 + Identifier 2368502 2368508 + EqualsGreaterThanToken 2368509 2368512 + Block 2368512 2369082 + IfStatement 2368514 2368651 + BinaryExpression 2368544 2368579 + CallExpression 2368544 2368559 + Identifier 2368544 2368553 + Identifier 2368554 2368558 + BarBarToken 2368559 2368562 + CallExpression 2368562 2368579 + Identifier 2368562 2368572 + Identifier 2368573 2368578 + Block 2368580 2368651 + ReturnStatement 2368582 2368624 + TrueKeyword 2368618 2368623 + VariableStatement 2368651 2368753 + VariableDeclarationList 2368651 2368752 + VariableDeclaration 2368682 2368752 + Identifier 2368682 2368705 + CallExpression 2368707 2368752 + Identifier 2368707 2368726 + Identifier 2368727 2368731 + Identifier 2368732 2368751 + VariableStatement 2368753 2368857 + VariableDeclarationList 2368753 2368856 + VariableDeclaration 2368784 2368856 + Identifier 2368784 2368808 + CallExpression 2368810 2368856 + Identifier 2368810 2368829 + Identifier 2368830 2368835 + Identifier 2368836 2368855 + ReturnStatement 2368857 2369059 + BinaryExpression 2368889 2369058 + BinaryExpression 2368889 2368939 + Identifier 2368889 2368912 + AmpersandAmpersandToken 2368912 2368915 + Identifier 2368915 2368939 + BarBarToken 2368939 2368942 + BinaryExpression 2368942 2369058 + BinaryExpression 2368942 2369023 + PrefixUnaryExpression 2368942 2368995 + Identifier 2368973 2368995 + AmpersandAmpersandToken 2368995 2368998 + PrefixUnaryExpression 2368998 2369023 + Identifier 2369000 2369023 + AmpersandAmpersandToken 2369023 2369026 + CallExpression 2369026 2369058 + Identifier 2369026 2369045 + Identifier 2369046 2369050 + Identifier 2369051 2369057 + ReturnStatement 2369103 2369140 + Identifier 2369127 2369139 + CaseClause 2369140 2369188 + PropertyAccessExpression 2369158 2369187 + Identifier 2369158 2369169 + Identifier 2369170 2369187 + CaseClause 2369188 2369241 + PropertyAccessExpression 2369206 2369240 + Identifier 2369206 2369217 + Identifier 2369218 2369240 + CaseClause 2369241 2369295 + PropertyAccessExpression 2369259 2369294 + Identifier 2369259 2369270 + Identifier 2369271 2369294 + CaseClause 2369295 2370788 + PropertyAccessExpression 2369313 2369353 + Identifier 2369313 2369324 + Identifier 2369325 2369353 + IfStatement 2369354 2370751 + PrefixUnaryExpression 2369745 2369791 + ParenthesizedExpression 2369746 2369791 + BinaryExpression 2369747 2369790 + Identifier 2369747 2369756 + AmpersandAmpersandToken 2369756 2369759 + BinaryExpression 2369759 2369790 + Identifier 2369759 2369769 + AmpersandToken 2369769 2369771 + PropertyAccessExpression 2369771 2369790 + Identifier 2369771 2369781 + Identifier 2369782 2369790 + Block 2369792 2370751 + IfStatement 2369794 2370510 + BinaryExpression 2369820 2370152 + ParenthesizedExpression 2369820 2369919 + BinaryExpression 2369847 2369918 + CallExpression 2369847 2369880 + Identifier 2369847 2369874 + Identifier 2369875 2369879 + BarBarToken 2369880 2369883 + CallExpression 2369883 2369918 + Identifier 2369883 2369911 + Identifier 2369912 2369917 + AmpersandAmpersandToken 2369919 2369922 + ParenthesizedExpression 2369922 2370152 + BinaryExpression 2370025 2370151 + PrefixUnaryExpression 2370025 2370042 + CallExpression 2370026 2370042 + Identifier 2370026 2370036 + Identifier 2370037 2370041 + BarBarToken 2370042 2370045 + ParenthesizedExpression 2370045 2370151 + BinaryExpression 2370047 2370150 + BinaryExpression 2370047 2370094 + Identifier 2370047 2370055 + EqualsEqualsEqualsToken 2370055 2370059 + PropertyAccessExpression 2370059 2370094 + Identifier 2370059 2370070 + Identifier 2370071 2370094 + BarBarToken 2370094 2370097 + BinaryExpression 2370097 2370150 + Identifier 2370097 2370106 + EqualsEqualsEqualsToken 2370106 2370110 + PropertyAccessExpression 2370110 2370150 + Identifier 2370110 2370121 + Identifier 2370122 2370150 + Block 2370175 2370510 + VariableStatement 2370177 2370311 + VariableDeclarationList 2370177 2370310 + VariableDeclaration 2370208 2370310 + Identifier 2370208 2370215 + BinaryExpression 2370217 2370310 + BinaryExpression 2370217 2370259 + Identifier 2370217 2370226 + EqualsEqualsEqualsToken 2370226 2370230 + PropertyAccessExpression 2370230 2370259 + Identifier 2370230 2370241 + Identifier 2370242 2370259 + BarBarToken 2370259 2370262 + BinaryExpression 2370262 2370310 + Identifier 2370262 2370271 + EqualsEqualsEqualsToken 2370271 2370275 + PropertyAccessExpression 2370275 2370310 + Identifier 2370275 2370286 + Identifier 2370287 2370310 + ExpressionStatement 2370311 2370487 + CallExpression 2370311 2370486 + Identifier 2370311 2370342 + Identifier 2370343 2370352 + PropertyAccessExpression 2370353 2370458 + Identifier 2370353 2370365 + Identifier 2370366 2370458 + ConditionalExpression 2370459 2370485 + Identifier 2370459 2370466 + QuestionToken 2370466 2370468 + StringLiteral 2370468 2370476 + ColonToken 2370476 2370478 + StringLiteral 2370478 2370485 + ExpressionStatement 2370510 2370583 + CallExpression 2370510 2370582 + Identifier 2370510 2370548 + Identifier 2370549 2370558 + Identifier 2370559 2370568 + Identifier 2370569 2370574 + Identifier 2370575 2370581 + ExpressionStatement 2370583 2370732 + CallExpression 2370583 2370731 + Identifier 2370583 2370630 + ArrowFunction 2370631 2370730 + Parameter 2370632 2370636 + Identifier 2370632 2370636 + Parameter 2370637 2370643 + Identifier 2370637 2370643 + EqualsGreaterThanToken 2370644 2370647 + BinaryExpression 2370647 2370730 + CallExpression 2370647 2370687 + Identifier 2370647 2370674 + Identifier 2370675 2370679 + Identifier 2370680 2370686 + BarBarToken 2370687 2370690 + CallExpression 2370690 2370730 + Identifier 2370690 2370717 + Identifier 2370718 2370723 + Identifier 2370724 2370729 + ReturnStatement 2370751 2370788 + Identifier 2370775 2370787 + CaseClause 2370788 2370932 + PropertyAccessExpression 2370806 2370835 + Identifier 2370806 2370817 + Identifier 2370818 2370835 + ReturnStatement 2370836 2370932 + CallExpression 2370860 2370931 + Identifier 2370860 2370886 + Identifier 2370887 2370891 + Identifier 2370892 2370898 + Identifier 2370899 2370908 + Identifier 2370909 2370919 + Identifier 2370920 2370930 + CaseClause 2370932 2371049 + PropertyAccessExpression 2370950 2370971 + Identifier 2370950 2370961 + Identifier 2370962 2370971 + ReturnStatement 2370972 2371049 + CallExpression 2370996 2371048 + Identifier 2370996 2371014 + Identifier 2371015 2371019 + Identifier 2371020 2371026 + Identifier 2371027 2371036 + Identifier 2371037 2371047 + CaseClause 2371049 2371103 + PropertyAccessExpression 2371067 2371102 + Identifier 2371067 2371078 + Identifier 2371079 2371102 + CaseClause 2371103 2371625 + PropertyAccessExpression 2371121 2371162 + Identifier 2371121 2371132 + Identifier 2371133 2371162 + Block 2371163 2371625 + VariableStatement 2371165 2371420 + VariableDeclarationList 2371165 2371419 + VariableDeclaration 2371188 2371419 + Identifier 2371188 2371199 + ConditionalExpression 2371201 2371419 + CallExpression 2371201 2371242 + Identifier 2371201 2371214 + Identifier 2371215 2371223 + PropertyAccessExpression 2371224 2371241 + Identifier 2371224 2371234 + Identifier 2371235 2371241 + QuestionToken 2371242 2371244 + CallExpression 2371244 2371387 + Identifier 2371244 2371278 + ArrayLiteralExpression 2371279 2371386 + CallExpression 2371280 2371374 + Identifier 2371280 2371307 + ConditionalExpression 2371308 2371373 + Identifier 2371308 2371324 + QuestionToken 2371324 2371326 + Identifier 2371326 2371335 + ColonToken 2371335 2371337 + CallExpression 2371337 2371373 + Identifier 2371337 2371362 + Identifier 2371363 2371372 + Identifier 2371375 2371385 + ColonToken 2371387 2371389 + Identifier 2371389 2371419 + IfStatement 2371420 2371574 + BinaryExpression 2371442 2371495 + Identifier 2371442 2371450 + EqualsEqualsEqualsToken 2371450 2371454 + PropertyAccessExpression 2371454 2371495 + Identifier 2371454 2371465 + Identifier 2371466 2371495 + Block 2371496 2371574 + ExpressionStatement 2371498 2371555 + CallExpression 2371498 2371554 + Identifier 2371498 2371543 + Identifier 2371544 2371553 + ReturnStatement 2371574 2371610 + Identifier 2371598 2371609 + CaseClause 2371625 2371667 + PropertyAccessExpression 2371643 2371666 + Identifier 2371643 2371654 + Identifier 2371655 2371666 + CaseClause 2371667 2372150 + PropertyAccessExpression 2371685 2371714 + Identifier 2371685 2371696 + Identifier 2371697 2371714 + Block 2371715 2372150 + VariableStatement 2371717 2371957 + VariableDeclarationList 2371717 2371956 + VariableDeclaration 2371740 2371956 + Identifier 2371740 2371751 + ConditionalExpression 2371753 2371956 + CallExpression 2371753 2371793 + Identifier 2371753 2371766 + Identifier 2371767 2371775 + PropertyAccessExpression 2371776 2371792 + Identifier 2371776 2371786 + Identifier 2371787 2371792 + QuestionToken 2371793 2371795 + CallExpression 2371795 2371924 + Identifier 2371795 2371829 + ArrayLiteralExpression 2371830 2371899 + CallExpression 2371831 2371887 + Identifier 2371831 2371849 + CallExpression 2371850 2371886 + Identifier 2371850 2371876 + Identifier 2371877 2371885 + Identifier 2371888 2371898 + PropertyAccessExpression 2371900 2371923 + Identifier 2371900 2371915 + Identifier 2371916 2371923 + ColonToken 2371924 2371926 + Identifier 2371926 2371956 + IfStatement 2371957 2372099 + BinaryExpression 2371979 2372020 + Identifier 2371979 2371987 + EqualsEqualsEqualsToken 2371987 2371991 + PropertyAccessExpression 2371991 2372020 + Identifier 2371991 2372002 + Identifier 2372003 2372020 + Block 2372021 2372099 + ExpressionStatement 2372023 2372080 + CallExpression 2372023 2372079 + Identifier 2372023 2372068 + Identifier 2372069 2372078 + ReturnStatement 2372099 2372135 + Identifier 2372123 2372134 + CaseClause 2372150 2372202 + PropertyAccessExpression 2372168 2372201 + Identifier 2372168 2372179 + Identifier 2372180 2372201 + CaseClause 2372202 2372689 + PropertyAccessExpression 2372220 2372259 + Identifier 2372220 2372231 + Identifier 2372232 2372259 + Block 2372260 2372689 + VariableStatement 2372262 2372486 + VariableDeclarationList 2372262 2372485 + VariableDeclaration 2372285 2372485 + Identifier 2372285 2372296 + ConditionalExpression 2372298 2372485 + CallExpression 2372298 2372350 + Identifier 2372298 2372311 + Identifier 2372312 2372320 + PropertyAccessExpression 2372321 2372349 + Identifier 2372321 2372331 + Identifier 2372332 2372349 + QuestionToken 2372350 2372352 + CallExpression 2372352 2372453 + Identifier 2372352 2372386 + ArrayLiteralExpression 2372387 2372428 + CallExpression 2372388 2372416 + Identifier 2372388 2372406 + Identifier 2372407 2372415 + Identifier 2372417 2372427 + PropertyAccessExpression 2372429 2372452 + Identifier 2372429 2372444 + Identifier 2372445 2372452 + ColonToken 2372453 2372455 + Identifier 2372455 2372485 + IfStatement 2372486 2372638 + BinaryExpression 2372508 2372559 + Identifier 2372508 2372516 + EqualsEqualsEqualsToken 2372516 2372520 + PropertyAccessExpression 2372520 2372559 + Identifier 2372520 2372531 + Identifier 2372532 2372559 + Block 2372560 2372638 + ExpressionStatement 2372562 2372619 + CallExpression 2372562 2372618 + Identifier 2372562 2372607 + Identifier 2372608 2372617 + ReturnStatement 2372638 2372674 + Identifier 2372662 2372673 + CaseClause 2372689 2373926 + PropertyAccessExpression 2372707 2372730 + Identifier 2372707 2372718 + Identifier 2372719 2372730 + VariableStatement 2372731 2372875 + VariableDeclarationList 2372731 2372874 + VariableDeclaration 2372754 2372874 + Identifier 2372754 2372763 + ConditionalExpression 2372765 2372874 + CallExpression 2372765 2372797 + Identifier 2372765 2372784 + PropertyAccessExpression 2372785 2372796 + Identifier 2372785 2372789 + Identifier 2372790 2372796 + QuestionToken 2372797 2372799 + CallExpression 2372799 2372841 + Identifier 2372799 2372828 + PropertyAccessExpression 2372829 2372840 + Identifier 2372829 2372833 + Identifier 2372834 2372840 + ColonToken 2372841 2372843 + PropertyAccessExpression 2372843 2372874 + Identifier 2372843 2372869 + Identifier 2372870 2372874 + ExpressionStatement 2372875 2372941 + CallExpression 2372875 2372940 + Identifier 2372875 2372919 + Identifier 2372920 2372928 + Identifier 2372929 2372939 + IfStatement 2372941 2373926 + CallExpression 2372963 2372996 + Identifier 2372963 2372986 + Identifier 2372987 2372995 + Block 2372997 2373787 + IfStatement 2372999 2373730 + BinaryExpression 2373025 2373472 + PrefixUnaryExpression 2373025 2373088 + ParenthesizedExpression 2373052 2373088 + BinaryExpression 2373053 2373087 + PropertyAccessExpression 2373053 2373068 + Identifier 2373053 2373062 + Identifier 2373063 2373068 + AmpersandToken 2373068 2373070 + PropertyAccessExpression 2373070 2373087 + Identifier 2373070 2373080 + Identifier 2373081 2373087 + BarBarToken 2373088 2373091 + BinaryExpression 2373091 2373472 + BinaryExpression 2373091 2373391 + BinaryExpression 2373091 2373312 + BinaryExpression 2373091 2373250 + BinaryExpression 2373091 2373169 + Identifier 2373091 2373125 + ExclamationEqualsEqualsToken 2373125 2373129 + PropertyAccessExpression 2373129 2373169 + Identifier 2373129 2373155 + Identifier 2373156 2373169 + AmpersandAmpersandToken 2373169 2373172 + BinaryExpression 2373172 2373250 + Identifier 2373172 2373210 + ExclamationEqualsEqualsToken 2373210 2373214 + PropertyAccessExpression 2373214 2373250 + Identifier 2373214 2373240 + Identifier 2373241 2373250 + AmpersandAmpersandToken 2373250 2373253 + PrefixUnaryExpression 2373253 2373312 + CallExpression 2373284 2373312 + Identifier 2373284 2373301 + Identifier 2373302 2373311 + AmpersandAmpersandToken 2373312 2373315 + PrefixUnaryExpression 2373315 2373391 + CallExpression 2373346 2373391 + Identifier 2373346 2373366 + AsExpression 2373367 2373390 + Identifier 2373367 2373376 + TypeReference 2373379 2373390 + Identifier 2373379 2373390 + AmpersandAmpersandToken 2373391 2373394 + PrefixUnaryExpression 2373394 2373472 + ParenthesizedExpression 2373425 2373472 + BinaryExpression 2373426 2373471 + CallExpression 2373426 2373451 + Identifier 2373426 2373440 + Identifier 2373441 2373450 + AmpersandToken 2373451 2373453 + PropertyAccessExpression 2373453 2373471 + Identifier 2373453 2373465 + Identifier 2373466 2373471 + Block 2373495 2373730 + ExpressionStatement 2373497 2373707 + CallExpression 2373497 2373706 + Identifier 2373497 2373695 + Identifier 2373696 2373705 + ReturnStatement 2373730 2373768 + Identifier 2373758 2373767 + Block 2373809 2373926 + ExpressionStatement 2373811 2373868 + CallExpression 2373811 2373867 + Identifier 2373811 2373856 + Identifier 2373857 2373866 + ReturnStatement 2373868 2373907 + Identifier 2373896 2373906 + CaseClause 2373926 2374759 + PropertyAccessExpression 2373944 2373966 + Identifier 2373944 2373955 + Identifier 2373956 2373966 + IfStatement 2373967 2374724 + BinaryExpression 2373989 2374104 + BinaryExpression 2373989 2374052 + PrefixUnaryExpression 2373989 2374026 + PropertyAccessExpression 2373990 2374026 + Identifier 2373990 2374005 + Identifier 2374006 2374026 + AmpersandAmpersandToken 2374026 2374029 + CallExpression 2374029 2374052 + Identifier 2374029 2374046 + Identifier 2374047 2374051 + AmpersandAmpersandToken 2374052 2374055 + PrefixUnaryExpression 2374055 2374104 + CallExpression 2374057 2374104 + Identifier 2374057 2374071 + AsExpression 2374072 2374103 + PropertyAccessExpression 2374072 2374083 + Identifier 2374072 2374076 + Identifier 2374077 2374083 + TypeReference 2374086 2374103 + Identifier 2374086 2374103 + Block 2374105 2374724 + VariableStatement 2374107 2374166 + VariableDeclarationList 2374107 2374165 + VariableDeclaration 2374134 2374165 + Identifier 2374134 2374137 + CallExpression 2374139 2374165 + Identifier 2374139 2374159 + Identifier 2374160 2374164 + VariableStatement 2374166 2374215 + VariableDeclarationList 2374166 2374214 + VariableDeclaration 2374193 2374214 + Identifier 2374193 2374204 + PropertyAccessExpression 2374206 2374214 + Identifier 2374206 2374209 + Identifier 2374210 2374214 + VariableStatement 2374215 2374284 + VariableDeclarationList 2374215 2374283 + VariableDeclaration 2374242 2374283 + Identifier 2374242 2374248 + CallExpression 2374250 2374283 + Identifier 2374250 2374261 + Identifier 2374262 2374272 + PropertyAccessExpression 2374273 2374282 + Identifier 2374273 2374278 + Identifier 2374279 2374282 + VariableStatement 2374284 2374577 + VariableDeclarationList 2374284 2374576 + VariableDeclaration 2374311 2374576 + Identifier 2374311 2374324 + CallExpression 2374326 2374576 + PropertyAccessExpression 2374326 2374351 + PropertyAccessExpression 2374326 2374346 + Identifier 2374326 2374329 + Identifier 2374330 2374346 + Identifier 2374347 2374351 + ArrowFunction 2374352 2374575 + Parameter 2374352 2374356 + Identifier 2374352 2374356 + EqualsGreaterThanToken 2374356 2374359 + Block 2374359 2374575 + IfStatement 2374361 2374481 + BinaryExpression 2374391 2374466 + PropertyAccessExpression 2374391 2374400 + Identifier 2374391 2374395 + Identifier 2374396 2374400 + ExclamationEqualsEqualsToken 2374400 2374404 + PropertyAccessExpression 2374404 2374466 + PropertyAccessExpression 2374404 2374461 + Identifier 2374404 2374416 + Identifier 2374417 2374461 + Identifier 2374462 2374466 + ReturnStatement 2374467 2374481 + FalseKeyword 2374474 2374480 + ReturnStatement 2374481 2374552 + CallExpression 2374513 2374551 + Identifier 2374513 2374538 + Identifier 2374539 2374543 + Identifier 2374544 2374550 + IfStatement 2374577 2374705 + PrefixUnaryExpression 2374603 2374616 + Identifier 2374604 2374616 + ExpressionStatement 2374617 2374705 + CallExpression 2374617 2374704 + Identifier 2374617 2374623 + Identifier 2374624 2374628 + PropertyAccessExpression 2374629 2374703 + Identifier 2374629 2374641 + Identifier 2374642 2374703 + ReturnStatement 2374724 2374759 + Identifier 2374748 2374758 + DefaultClause 2374759 2374821 + ReturnStatement 2374783 2374821 + CallExpression 2374807 2374820 + PropertyAccessExpression 2374807 2374818 + Identifier 2374807 2374813 + Identifier 2374814 2374818 + FunctionDeclaration 2374832 2375044 + Identifier 2374852 2374870 + Parameter 2374871 2374881 + Identifier 2374871 2374875 + TypeReference 2374876 2374881 + Identifier 2374876 2374881 + Parameter 2374882 2374894 + Identifier 2374882 2374888 + TypeReference 2374889 2374894 + Identifier 2374889 2374894 + BooleanKeyword 2374896 2374904 + Block 2374904 2375044 + ReturnStatement 2374906 2375033 + BinaryExpression 2374926 2375032 + CallExpression 2374926 2374977 + Identifier 2374926 2374949 + Identifier 2374950 2374954 + PropertyAccessExpression 2374955 2374976 + Identifier 2374955 2374965 + Identifier 2374966 2374976 + AmpersandAmpersandToken 2374977 2374980 + CallExpression 2374980 2375032 + Identifier 2374980 2375003 + Identifier 2375004 2375009 + PropertyAccessExpression 2375010 2375031 + Identifier 2375010 2375020 + Identifier 2375021 2375031 + FunctionDeclaration 2375044 2376149 + Identifier 2375064 2375091 + Parameter 2375092 2375123 + Identifier 2375092 2375096 + TypeReference 2375097 2375123 + Identifier 2375097 2375123 + Parameter 2375124 2375140 + Identifier 2375124 2375134 + TypeReference 2375135 2375140 + Identifier 2375135 2375140 + Block 2375141 2376149 + IfStatement 2375143 2376138 + BinaryExpression 2375161 2375209 + Identifier 2375161 2375165 + EqualsEqualsEqualsToken 2375165 2375169 + PropertyAccessExpression 2375169 2375209 + Identifier 2375169 2375195 + Identifier 2375196 2375209 + Block 2375210 2376138 + ForOfStatement 2375212 2376123 + VariableDeclarationList 2375235 2375245 + VariableDeclaration 2375240 2375245 + Identifier 2375240 2375245 + CallExpression 2375248 2375285 + Identifier 2375248 2375274 + Identifier 2375275 2375284 + Block 2375286 2376123 + VariableStatement 2375288 2375349 + VariableDeclarationList 2375288 2375348 + VariableDeclaration 2375315 2375348 + Identifier 2375315 2375324 + CallExpression 2375326 2375348 + Identifier 2375326 2375342 + Identifier 2375343 2375347 + IfStatement 2375349 2376104 + BinaryExpression 2375375 2375435 + PropertyAccessExpression 2375375 2375390 + Identifier 2375375 2375383 + Identifier 2375384 2375390 + AmpersandAmpersandToken 2375390 2375393 + BinaryExpression 2375393 2375435 + PropertyAccessExpression 2375393 2375415 + PropertyAccessExpression 2375393 2375409 + Identifier 2375393 2375402 + Identifier 2375403 2375409 + Identifier 2375410 2375415 + AmpersandToken 2375415 2375417 + PropertyAccessExpression 2375417 2375435 + Identifier 2375417 2375429 + Identifier 2375430 2375435 + Block 2375436 2376104 + VariableStatement 2375438 2375494 + VariableDeclarationList 2375438 2375493 + VariableDeclaration 2375469 2375493 + Identifier 2375469 2375474 + PropertyAccessExpression 2375476 2375493 + Identifier 2375476 2375481 + Identifier 2375482 2375493 + VariableStatement 2375494 2375646 + VariableDeclarationList 2375494 2375645 + VariableDeclaration 2375525 2375645 + Identifier 2375525 2375532 + CallExpression 2375534 2375645 + Identifier 2375534 2375546 + PropertyAccessExpression 2375547 2375568 + Identifier 2375547 2375551 + Identifier 2375552 2375568 + Identifier 2375569 2375574 + PropertyAccessExpression 2375575 2375592 + Identifier 2375575 2375587 + Identifier 2375588 2375592 + Identifier 2375593 2375627 + FalseKeyword 2375628 2375644 + IfStatement 2375646 2376081 + BinaryExpression 2375676 2375743 + PropertyAccessExpression 2375676 2375696 + Identifier 2375676 2375682 + QuestionDotToken 2375682 2375684 + Identifier 2375684 2375696 + AmpersandAmpersandToken 2375696 2375699 + CallExpression 2375699 2375743 + PropertyAccessExpression 2375699 2375724 + PropertyAccessExpression 2375699 2375719 + Identifier 2375699 2375706 + Identifier 2375707 2375719 + Identifier 2375720 2375724 + Identifier 2375725 2375742 + Block 2375744 2376081 + ExpressionStatement 2375746 2375900 + CallExpression 2375746 2375899 + Identifier 2375746 2375815 + Identifier 2375816 2375822 + PropertyAccessExpression 2375823 2375858 + Identifier 2375823 2375835 + Identifier 2375836 2375858 + CallExpression 2375859 2375892 + Identifier 2375859 2375886 + Identifier 2375887 2375891 + Identifier 2375893 2375898 + ExpressionStatement 2375900 2376054 + CallExpression 2375900 2376053 + Identifier 2375900 2375969 + Identifier 2375970 2375974 + PropertyAccessExpression 2375975 2376010 + Identifier 2375975 2375987 + Identifier 2375988 2376010 + CallExpression 2376011 2376044 + Identifier 2376011 2376038 + Identifier 2376039 2376043 + Identifier 2376045 2376052 + FunctionDeclaration 2376149 2376944 + Identifier 2376290 2376305 + Parameter 2376306 2376328 + Identifier 2376306 2376310 + TypeReference 2376311 2376328 + Identifier 2376311 2376328 + BooleanKeyword 2376330 2376338 + Block 2376338 2376944 + ReturnStatement 2376340 2376933 + BinaryExpression 2376360 2376932 + BinaryExpression 2376360 2376682 + BinaryExpression 2376360 2376507 + BinaryExpression 2376360 2376464 + BinaryExpression 2376360 2376416 + PropertyAccessExpression 2376360 2376377 + PropertyAccessExpression 2376360 2376372 + Identifier 2376360 2376365 + Identifier 2376366 2376372 + Identifier 2376373 2376377 + EqualsEqualsEqualsToken 2376377 2376381 + PropertyAccessExpression 2376381 2376416 + Identifier 2376381 2376392 + Identifier 2376393 2376416 + AmpersandAmpersandToken 2376416 2376419 + CallExpression 2376419 2376464 + Identifier 2376419 2376453 + PropertyAccessExpression 2376454 2376463 + Identifier 2376454 2376458 + Identifier 2376459 2376463 + AmpersandAmpersandToken 2376464 2376467 + BinaryExpression 2376467 2376507 + PropertyAccessExpression 2376467 2376499 + PropertyAccessExpression 2376467 2376494 + Identifier 2376467 2376489 + Identifier 2376490 2376494 + Identifier 2376495 2376499 + EqualsEqualsEqualsToken 2376499 2376503 + StringLiteral 2376503 2376507 + AmpersandAmpersandToken 2376507 2376510 + ParenthesizedExpression 2376510 2376682 + BinaryExpression 2376529 2376681 + BinaryExpression 2376529 2376614 + CallExpression 2376529 2376565 + Identifier 2376529 2376545 + PropertyAccessExpression 2376546 2376564 + PropertyAccessExpression 2376546 2376557 + Identifier 2376546 2376550 + Identifier 2376551 2376557 + Identifier 2376558 2376564 + AmpersandAmpersandToken 2376565 2376568 + BinaryExpression 2376568 2376614 + PropertyAccessExpression 2376568 2376598 + PropertyAccessExpression 2376568 2376587 + PropertyAccessExpression 2376568 2376580 + Identifier 2376568 2376573 + Identifier 2376574 2376580 + Identifier 2376581 2376587 + Identifier 2376588 2376598 + EqualsEqualsEqualsToken 2376598 2376602 + PropertyAccessExpression 2376602 2376614 + Identifier 2376602 2376607 + Identifier 2376608 2376614 + BarBarToken 2376614 2376617 + BinaryExpression 2376617 2376681 + PropertyAccessExpression 2376617 2376641 + PropertyAccessExpression 2376617 2376636 + PropertyAccessExpression 2376617 2376629 + Identifier 2376617 2376622 + Identifier 2376623 2376629 + Identifier 2376630 2376636 + Identifier 2376637 2376641 + EqualsEqualsEqualsToken 2376641 2376645 + PropertyAccessExpression 2376645 2376681 + Identifier 2376645 2376656 + Identifier 2376657 2376681 + AmpersandAmpersandToken 2376682 2376685 + ParenthesizedExpression 2376685 2376932 + BinaryExpression 2376836 2376931 + CallExpression 2376836 2376866 + Identifier 2376836 2376854 + PropertyAccessExpression 2376855 2376865 + Identifier 2376855 2376859 + Identifier 2376860 2376865 + BarBarToken 2376866 2376869 + BinaryExpression 2376869 2376931 + CallExpression 2376869 2376894 + Identifier 2376869 2376882 + PropertyAccessExpression 2376883 2376893 + Identifier 2376883 2376887 + Identifier 2376888 2376893 + AmpersandAmpersandToken 2376894 2376897 + BinaryExpression 2376897 2376931 + PropertyAccessExpression 2376897 2376920 + PropertyAccessExpression 2376897 2376908 + Identifier 2376897 2376902 + Identifier 2376903 2376908 + Identifier 2376909 2376920 + EqualsEqualsEqualsToken 2376920 2376924 + StringLiteral 2376924 2376931 + FunctionDeclaration 2376944 2377641 + Identifier 2377040 2377074 + Parameter 2377075 2377106 + Identifier 2377075 2377083 + TypeReference 2377084 2377106 + Identifier 2377084 2377106 + BooleanKeyword 2377108 2377116 + Block 2377116 2377641 + VariableStatement 2377118 2377377 + VariableDeclarationList 2377118 2377376 + VariableDeclaration 2377137 2377376 + Identifier 2377137 2377160 + ConditionalExpression 2377162 2377376 + CallExpression 2377162 2377237 + Identifier 2377162 2377203 + Identifier 2377204 2377212 + PropertyAccessExpression 2377213 2377236 + Identifier 2377213 2377223 + Identifier 2377224 2377236 + QuestionToken 2377237 2377239 + Identifier 2377239 2377244 + ColonToken 2377244 2377246 + ConditionalExpression 2377246 2377376 + CallExpression 2377246 2377339 + Identifier 2377246 2377304 + Identifier 2377305 2377314 + PropertyAccessExpression 2377315 2377338 + Identifier 2377315 2377325 + Identifier 2377326 2377338 + QuestionToken 2377339 2377341 + Identifier 2377341 2377347 + ColonToken 2377347 2377349 + Identifier 2377349 2377376 + IfStatement 2377377 2377602 + Identifier 2377397 2377419 + Block 2377420 2377602 + ExpressionStatement 2377422 2377556 + CallExpression 2377422 2377555 + Identifier 2377422 2377445 + Identifier 2377446 2377468 + PropertyAccessExpression 2377469 2377529 + Identifier 2377469 2377481 + Identifier 2377482 2377529 + CallExpression 2377530 2377554 + Identifier 2377530 2377544 + Identifier 2377545 2377553 + ReturnStatement 2377556 2377587 + FalseKeyword 2377580 2377586 + ReturnStatement 2377602 2377630 + TrueKeyword 2377624 2377629 + FunctionDeclaration 2377641 2378349 + Identifier 2377661 2377689 + Parameter 2377690 2377710 + Identifier 2377690 2377698 + TypeReference 2377699 2377710 + Identifier 2377699 2377710 + UnionType 2377712 2377746 + TypeReference 2377712 2377734 + Identifier 2377712 2377734 + UndefinedKeyword 2377736 2377746 + Block 2377746 2378349 + SwitchStatement 2377748 2378338 + Identifier 2377770 2377778 + CaseBlock 2377779 2378338 + CaseClause 2377781 2377824 + PropertyAccessExpression 2377803 2377823 + Identifier 2377803 2377814 + Identifier 2377815 2377823 + CaseClause 2377824 2377925 + PropertyAccessExpression 2377846 2377872 + Identifier 2377846 2377857 + Identifier 2377858 2377872 + ReturnStatement 2377873 2377925 + PropertyAccessExpression 2377901 2377924 + Identifier 2377901 2377912 + Identifier 2377913 2377924 + CaseClause 2377925 2377970 + PropertyAccessExpression 2377947 2377969 + Identifier 2377947 2377958 + Identifier 2377959 2377969 + CaseClause 2377970 2378090 + PropertyAccessExpression 2377992 2378020 + Identifier 2377992 2378003 + Identifier 2378004 2378020 + ReturnStatement 2378021 2378090 + PropertyAccessExpression 2378049 2378089 + Identifier 2378049 2378060 + Identifier 2378061 2378089 + CaseClause 2378090 2378139 + PropertyAccessExpression 2378112 2378138 + Identifier 2378112 2378123 + Identifier 2378124 2378138 + CaseClause 2378139 2378258 + PropertyAccessExpression 2378161 2378193 + Identifier 2378161 2378172 + Identifier 2378173 2378193 + ReturnStatement 2378194 2378258 + PropertyAccessExpression 2378222 2378257 + Identifier 2378222 2378233 + Identifier 2378234 2378257 + DefaultClause 2378258 2378323 + ReturnStatement 2378284 2378323 + Identifier 2378312 2378322 + FunctionDeclaration 2378349 2380710 + Identifier 2378369 2378393 + Parameter 2378394 2378409 + Identifier 2378394 2378403 + TypeReference 2378404 2378409 + Identifier 2378404 2378409 + VoidKeyword 2378411 2378416 + Block 2378416 2380710 + IfStatement 2378418 2378551 + CallExpression 2378436 2378466 + Identifier 2378436 2378456 + Identifier 2378457 2378465 + Block 2378467 2378551 + ExpressionStatement 2378469 2378536 + CallExpression 2378469 2378535 + Identifier 2378469 2378504 + Identifier 2378505 2378534 + FunctionDeclaration 2378551 2380699 + Identifier 2378575 2378605 + Block 2378607 2380699 + VariableStatement 2378609 2378655 + VariableDeclarationList 2378609 2378654 + VariableDeclaration 2378630 2378654 + Identifier 2378630 2378643 + Identifier 2378645 2378654 + IfStatement 2378655 2379060 + BinaryExpression 2378799 2378892 + CallExpression 2378799 2378839 + Identifier 2378799 2378819 + PropertyAccessExpression 2378820 2378838 + Identifier 2378820 2378833 + Identifier 2378834 2378838 + AmpersandAmpersandToken 2378839 2378842 + BinaryExpression 2378842 2378892 + PropertyAccessExpression 2378842 2378852 + Identifier 2378842 2378847 + Identifier 2378848 2378852 + EqualsEqualsEqualsToken 2378852 2378856 + PropertyAccessExpression 2378856 2378892 + Identifier 2378856 2378867 + Identifier 2378868 2378892 + Block 2378893 2379060 + ExpressionStatement 2378895 2379041 + BinaryExpression 2378895 2379040 + Identifier 2378895 2378929 + EqualsToken 2378929 2378931 + CallExpression 2378931 2379040 + Identifier 2378931 2378961 + AsExpression 2378962 2378994 + Identifier 2378962 2378966 + TypeReference 2378969 2378994 + Identifier 2378969 2378994 + Identifier 2378995 2379019 + TrueKeyword 2379020 2379039 + IfStatement 2379060 2380684 + CallExpression 2379524 2379753 + Identifier 2379524 2379548 + Identifier 2379549 2379553 + PropertyAccessExpression 2379554 2379653 + Identifier 2379554 2379566 + Identifier 2379567 2379653 + PropertyAccessExpression 2379654 2379752 + Identifier 2379654 2379666 + Identifier 2379667 2379752 + Block 2379754 2380684 + VariableStatement 2379756 2379825 + VariableDeclarationList 2379756 2379824 + VariableDeclaration 2379781 2379824 + Identifier 2379781 2379793 + UnionType 2379794 2379824 + TypeReference 2379794 2379812 + Identifier 2379794 2379812 + UndefinedKeyword 2379814 2379824 + IfStatement 2379825 2380412 + BinaryExpression 2379851 2379964 + BinaryExpression 2379851 2379913 + Identifier 2379851 2379877 + AmpersandAmpersandToken 2379877 2379880 + CallExpression 2379880 2379913 + Identifier 2379880 2379907 + Identifier 2379908 2379912 + AmpersandAmpersandToken 2379913 2379916 + CallExpression 2379916 2379964 + Identifier 2379916 2379932 + Identifier 2379933 2379942 + PropertyAccessExpression 2379943 2379963 + Identifier 2379943 2379953 + Identifier 2379954 2379963 + Block 2379965 2380412 + VariableStatement 2379967 2380093 + VariableDeclarationList 2379967 2380092 + VariableDeclaration 2379998 2380092 + Identifier 2379998 2380005 + CallExpression 2380007 2380092 + Identifier 2380007 2380031 + CallExpression 2380032 2380068 + Identifier 2380032 2380051 + PropertyAccessExpression 2380052 2380067 + Identifier 2380052 2380056 + Identifier 2380057 2380067 + PropertyAccessExpression 2380069 2380091 + PropertyAccessExpression 2380069 2380079 + Identifier 2380069 2380074 + Identifier 2380075 2380079 + Identifier 2380080 2380091 + IfStatement 2380093 2380389 + CallExpression 2380123 2380173 + Identifier 2380123 2380154 + Identifier 2380155 2380164 + Identifier 2380165 2380172 + Block 2380174 2380389 + ExpressionStatement 2380176 2380362 + BinaryExpression 2380176 2380361 + Identifier 2380176 2380217 + EqualsToken 2380217 2380219 + PropertyAccessExpression 2380219 2380361 + Identifier 2380219 2380231 + Identifier 2380232 2380361 + ExpressionStatement 2380412 2380665 + CallExpression 2380412 2380664 + Identifier 2380412 2380613 + Identifier 2380614 2380623 + Identifier 2380624 2380637 + Identifier 2380638 2380643 + Identifier 2380644 2380650 + Identifier 2380651 2380663 + FunctionDeclaration 2380710 2381567 + Identifier 2380730 2380754 + Parameter 2380755 2380786 + Identifier 2380755 2380759 + TypeReference 2380760 2380786 + Identifier 2380760 2380786 + Block 2380787 2381567 + SwitchStatement 2380789 2381556 + Identifier 2380811 2380815 + CaseBlock 2380816 2381556 + CaseClause 2380818 2380915 + PropertyAccessExpression 2380840 2380880 + Identifier 2380840 2380866 + Identifier 2380867 2380880 + ReturnStatement 2380881 2380915 + TrueKeyword 2380909 2380914 + CaseClause 2380915 2380980 + PropertyAccessExpression 2380937 2380979 + Identifier 2380937 2380963 + Identifier 2380964 2380979 + CaseClause 2380980 2381038 + PropertyAccessExpression 2381002 2381037 + Identifier 2381002 2381028 + Identifier 2381029 2381037 + CaseClause 2381038 2381097 + PropertyAccessExpression 2381060 2381096 + Identifier 2381060 2381086 + Identifier 2381087 2381096 + CaseClause 2381097 2381164 + PropertyAccessExpression 2381119 2381163 + Identifier 2381119 2381145 + Identifier 2381146 2381163 + CaseClause 2381164 2381480 + PropertyAccessExpression 2381186 2381225 + Identifier 2381186 2381212 + Identifier 2381213 2381225 + VariableStatement 2381226 2381285 + VariableDeclarationList 2381226 2381284 + VariableDeclaration 2381253 2381284 + Identifier 2381253 2381260 + CallExpression 2381262 2381284 + Identifier 2381262 2381278 + Identifier 2381279 2381283 + VariableStatement 2381285 2381357 + VariableDeclarationList 2381285 2381356 + VariableDeclaration 2381312 2381356 + Identifier 2381312 2381317 + CallExpression 2381319 2381356 + Identifier 2381319 2381349 + Identifier 2381350 2381355 + ReturnStatement 2381357 2381480 + BinaryExpression 2381385 2381479 + BinaryExpression 2381385 2381427 + PrefixUnaryExpression 2381385 2381392 + PrefixUnaryExpression 2381387 2381392 + Identifier 2381388 2381392 + AmpersandAmpersandToken 2381392 2381395 + CallExpression 2381395 2381427 + Identifier 2381395 2381421 + Identifier 2381422 2381426 + AmpersandAmpersandToken 2381427 2381430 + PrefixUnaryExpression 2381430 2381479 + PrefixUnaryExpression 2381457 2381479 + PropertyAccessExpression 2381458 2381479 + PropertyAccessExpression 2381458 2381473 + Identifier 2381458 2381464 + QuestionDotToken 2381464 2381466 + Identifier 2381466 2381473 + QuestionDotToken 2381473 2381475 + Identifier 2381475 2381479 + DefaultClause 2381480 2381541 + ReturnStatement 2381506 2381541 + FalseKeyword 2381534 2381540 + FunctionDeclaration 2381567 2381959 + Identifier 2381662 2381688 + Parameter 2381689 2381745 + Identifier 2381689 2381707 + FunctionType 2381708 2381745 + Parameter 2381710 2381720 + Identifier 2381710 2381714 + TypeReference 2381715 2381720 + Identifier 2381715 2381720 + Parameter 2381721 2381733 + Identifier 2381721 2381727 + TypeReference 2381728 2381733 + Identifier 2381728 2381733 + BooleanKeyword 2381737 2381745 + BooleanKeyword 2381747 2381755 + Block 2381755 2381959 + IfStatement 2381757 2381921 + PrefixUnaryExpression 2381775 2381815 + CallExpression 2381776 2381815 + Identifier 2381776 2381794 + Identifier 2381795 2381803 + Identifier 2381804 2381814 + Block 2381816 2381921 + ExpressionStatement 2381818 2381876 + CallExpression 2381818 2381875 + Identifier 2381818 2381855 + Identifier 2381856 2381874 + ReturnStatement 2381876 2381906 + TrueKeyword 2381900 2381905 + ReturnStatement 2381921 2381948 + FalseKeyword 2381941 2381947 + FunctionDeclaration 2381959 2383406 + Identifier 2381979 2381999 + Parameter 2382000 2382048 + Identifier 2382000 2382009 + QuestionToken 2382009 2382010 + FunctionType 2382011 2382048 + Parameter 2382013 2382023 + Identifier 2382013 2382017 + TypeReference 2382018 2382023 + Identifier 2382018 2382023 + Parameter 2382024 2382036 + Identifier 2382024 2382030 + TypeReference 2382031 2382036 + Identifier 2382031 2382036 + BooleanKeyword 2382040 2382048 + Block 2382049 2383406 + VariableStatement 2382051 2382096 + VariableDeclarationList 2382051 2382095 + VariableDeclaration 2382068 2382095 + Identifier 2382068 2382087 + FalseKeyword 2382089 2382095 + VariableStatement 2382096 2382153 + VariableDeclarationList 2382096 2382152 + VariableDeclaration 2382115 2382152 + Identifier 2382115 2382123 + BinaryExpression 2382125 2382152 + Identifier 2382125 2382135 + BarBarToken 2382135 2382138 + Identifier 2382138 2382152 + IfStatement 2382153 2382586 + Identifier 2382171 2382180 + Block 2382181 2382586 + VariableStatement 2382183 2382257 + VariableDeclarationList 2382183 2382256 + VariableDeclaration 2382206 2382256 + Identifier 2382206 2382222 + CallExpression 2382224 2382256 + Identifier 2382224 2382246 + Identifier 2382247 2382255 + VariableStatement 2382257 2382333 + VariableDeclarationList 2382257 2382332 + VariableDeclaration 2382280 2382332 + Identifier 2382280 2382297 + CallExpression 2382299 2382332 + Identifier 2382299 2382321 + Identifier 2382322 2382331 + ExpressionStatement 2382333 2382571 + BinaryExpression 2382333 2382570 + Identifier 2382333 2382369 + EqualsToken 2382369 2382371 + BinaryExpression 2382371 2382570 + BinaryExpression 2382371 2382501 + PrefixUnaryExpression 2382371 2382437 + ParenthesizedExpression 2382373 2382437 + BinaryExpression 2382374 2382436 + BinaryExpression 2382374 2382402 + Identifier 2382374 2382389 + EqualsEqualsEqualsToken 2382389 2382393 + Identifier 2382393 2382402 + AmpersandAmpersandToken 2382402 2382405 + BinaryExpression 2382405 2382436 + Identifier 2382405 2382422 + EqualsEqualsEqualsToken 2382422 2382426 + Identifier 2382426 2382436 + AmpersandAmpersandToken 2382437 2382461 + PrefixUnaryExpression 2382461 2382501 + PrefixUnaryExpression 2382463 2382501 + ParenthesizedExpression 2382464 2382501 + BinaryExpression 2382465 2382500 + Identifier 2382465 2382480 + AmpersandAmpersandToken 2382480 2382483 + Identifier 2382483 2382500 + AmpersandAmpersandToken 2382501 2382525 + CallExpression 2382525 2382570 + Identifier 2382525 2382535 + Identifier 2382536 2382551 + Identifier 2382552 2382569 + VariableStatement 2382586 2382631 + VariableDeclarationList 2382586 2382630 + VariableDeclaration 2382605 2382630 + Identifier 2382605 2382619 + Identifier 2382621 2382630 + VariableStatement 2382631 2382676 + VariableDeclarationList 2382631 2382675 + VariableDeclaration 2382648 2382675 + Identifier 2382648 2382663 + Identifier 2382665 2382675 + IfStatement 2382676 2382852 + BinaryExpression 2382694 2382726 + PrefixUnaryExpression 2382694 2382713 + Identifier 2382695 2382713 + AmpersandAmpersandToken 2382713 2382716 + Identifier 2382716 2382726 + Block 2382727 2382852 + ExpressionStatement 2382729 2382837 + BinaryExpression 2382729 2382836 + ArrayLiteralExpression 2382729 2382778 + Identifier 2382748 2382761 + Identifier 2382762 2382777 + EqualsToken 2382778 2382780 + CallExpression 2382780 2382836 + Identifier 2382780 2382804 + Identifier 2382805 2382813 + Identifier 2382814 2382824 + Identifier 2382825 2382835 + VariableStatement 2382852 2382953 + VariableDeclarationList 2382852 2382952 + VariableDeclaration 2382871 2382952 + ArrayBindingPattern 2382871 2382891 + BindingElement 2382873 2382880 + Identifier 2382873 2382880 + BindingElement 2382881 2382890 + Identifier 2382881 2382890 + CallExpression 2382893 2382952 + Identifier 2382893 2382921 + Identifier 2382922 2382935 + Identifier 2382936 2382951 + IfStatement 2382953 2383395 + PrefixUnaryExpression 2382971 2383045 + CallExpression 2382972 2383045 + Identifier 2382972 2382997 + Identifier 2382998 2383005 + Identifier 2383006 2383025 + Identifier 2383026 2383034 + Identifier 2383035 2383044 + Block 2383046 2383395 + ExpressionStatement 2383048 2383380 + CallExpression 2383048 2383379 + Identifier 2383048 2383091 + Identifier 2383092 2383121 + Identifier 2383122 2383162 + PropertyAccessExpression 2383163 2383242 + Identifier 2383163 2383196 + Identifier 2383197 2383242 + CallExpression 2383243 2383298 + Identifier 2383243 2383278 + PropertyAccessExpression 2383279 2383297 + Identifier 2383279 2383292 + Identifier 2383293 2383297 + Identifier 2383299 2383328 + Identifier 2383329 2383359 + FunctionDeclaration 2383406 2384246 + Identifier 2383426 2383452 + Parameter 2383453 2383466 + Identifier 2383453 2383460 + TypeReference 2383461 2383466 + Identifier 2383461 2383466 + Parameter 2383467 2383494 + Identifier 2383467 2383485 + BooleanKeyword 2383486 2383494 + Parameter 2383495 2383511 + Identifier 2383495 2383503 + StringKeyword 2383504 2383511 + Parameter 2383512 2383529 + Identifier 2383512 2383521 + StringKeyword 2383522 2383529 + Block 2383530 2384246 + SwitchStatement 2383532 2384235 + PropertyAccessExpression 2383554 2383572 + Identifier 2383554 2383567 + Identifier 2383568 2383572 + CaseBlock 2383573 2384235 + CaseClause 2383575 2383633 + PropertyAccessExpression 2383597 2383632 + Identifier 2383597 2383608 + Identifier 2383609 2383632 + CaseClause 2383633 2383685 + PropertyAccessExpression 2383655 2383684 + Identifier 2383655 2383666 + Identifier 2383667 2383684 + CaseClause 2383685 2383748 + PropertyAccessExpression 2383707 2383747 + Identifier 2383707 2383718 + Identifier 2383719 2383747 + CaseClause 2383748 2384155 + PropertyAccessExpression 2383770 2383804 + Identifier 2383770 2383781 + Identifier 2383782 2383804 + ReturnStatement 2383805 2384155 + CallExpression 2383833 2384154 + Identifier 2383833 2383859 + Identifier 2383860 2383893 + Identifier 2383894 2383937 + PropertyAccessExpression 2383938 2384061 + Identifier 2383938 2383975 + Identifier 2383976 2384061 + Identifier 2384062 2384095 + Identifier 2384096 2384130 + DefaultClause 2384155 2384220 + ReturnStatement 2384181 2384220 + Identifier 2384209 2384219 + FunctionDeclaration 2384246 2385420 + Identifier 2384266 2384283 + Parameter 2384284 2384311 + Identifier 2384284 2384293 + UnionType 2384294 2384311 + TypeReference 2384294 2384299 + Identifier 2384294 2384299 + UndefinedKeyword 2384301 2384311 + Parameter 2384312 2384333 + Identifier 2384312 2384321 + TypeReference 2384322 2384333 + Identifier 2384322 2384333 + Parameter 2384334 2384351 + Identifier 2384334 2384339 + TypeReference 2384340 2384351 + Identifier 2384340 2384351 + Parameter 2384352 2384370 + Identifier 2384352 2384358 + TypeReference 2384359 2384370 + Identifier 2384359 2384370 + Block 2384371 2385420 + VariableStatement 2384373 2384440 + VariableDeclarationList 2384373 2384439 + VariableDeclaration 2384392 2384439 + Identifier 2384392 2384402 + CallExpression 2384404 2384439 + Identifier 2384404 2384416 + CallExpression 2384417 2384438 + Identifier 2384417 2384432 + Identifier 2384433 2384437 + VariableStatement 2384440 2384509 + VariableDeclarationList 2384440 2384508 + VariableDeclaration 2384459 2384508 + Identifier 2384459 2384470 + CallExpression 2384472 2384508 + Identifier 2384472 2384484 + CallExpression 2384485 2384507 + Identifier 2384485 2384500 + Identifier 2384501 2384506 + IfStatement 2384509 2385409 + BinaryExpression 2384527 2384550 + Identifier 2384527 2384536 + BarBarToken 2384536 2384539 + Identifier 2384539 2384550 + Block 2384551 2385409 + VariableStatement 2384553 2384809 + VariableDeclarationList 2384553 2384808 + VariableDeclaration 2384576 2384808 + Identifier 2384576 2384580 + CallExpression 2384582 2384808 + Identifier 2384582 2384588 + Identifier 2384589 2384598 + PropertyAccessExpression 2384599 2384647 + Identifier 2384599 2384611 + Identifier 2384612 2384647 + CallExpression 2384648 2384807 + Identifier 2384648 2384662 + ConditionalExpression 2384663 2384806 + BinaryExpression 2384663 2384755 + BinaryExpression 2384663 2384710 + Identifier 2384663 2384671 + EqualsEqualsEqualsToken 2384671 2384675 + PropertyAccessExpression 2384675 2384710 + Identifier 2384675 2384686 + Identifier 2384687 2384710 + BarBarToken 2384710 2384713 + BinaryExpression 2384713 2384755 + Identifier 2384713 2384722 + EqualsEqualsEqualsToken 2384722 2384726 + PropertyAccessExpression 2384726 2384755 + Identifier 2384726 2384737 + Identifier 2384738 2384755 + QuestionToken 2384755 2384757 + PropertyAccessExpression 2384757 2384781 + Identifier 2384757 2384768 + Identifier 2384769 2384781 + ColonToken 2384781 2384783 + PropertyAccessExpression 2384783 2384806 + Identifier 2384783 2384794 + Identifier 2384795 2384806 + IfStatement 2384809 2384863 + BinaryExpression 2384831 2384854 + Identifier 2384831 2384840 + AmpersandAmpersandToken 2384840 2384843 + Identifier 2384843 2384854 + ReturnStatement 2384855 2384863 + VariableStatement 2384863 2385057 + VariableDeclarationList 2384863 2385056 + VariableDeclaration 2384886 2385056 + Identifier 2384886 2384901 + ConditionalExpression 2384903 2385056 + BinaryExpression 2384903 2385006 + BinaryExpression 2384903 2384956 + Identifier 2384903 2384912 + EqualsEqualsEqualsToken 2384912 2384916 + PropertyAccessExpression 2384916 2384956 + Identifier 2384916 2384927 + Identifier 2384928 2384956 + BarBarToken 2384956 2384959 + BinaryExpression 2384959 2385006 + Identifier 2384959 2384968 + EqualsEqualsEqualsToken 2384968 2384972 + PropertyAccessExpression 2384972 2385006 + Identifier 2384972 2384983 + Identifier 2384984 2385006 + QuestionToken 2385006 2385008 + CallExpression 2385008 2385051 + Identifier 2385008 2385022 + PropertyAccessExpression 2385023 2385050 + Identifier 2385023 2385033 + Identifier 2385034 2385050 + ColonToken 2385051 2385053 + StringLiteral 2385053 2385056 + VariableStatement 2385057 2385117 + VariableDeclarationList 2385057 2385116 + VariableDeclaration 2385080 2385116 + Identifier 2385080 2385089 + ConditionalExpression 2385091 2385116 + Identifier 2385091 2385101 + QuestionToken 2385101 2385103 + Identifier 2385103 2385109 + ColonToken 2385109 2385111 + Identifier 2385111 2385116 + VariableStatement 2385117 2385180 + VariableDeclarationList 2385117 2385179 + VariableDeclaration 2385140 2385179 + Identifier 2385140 2385151 + CallExpression 2385153 2385179 + Identifier 2385153 2385169 + Identifier 2385170 2385178 + ExpressionStatement 2385180 2385394 + CallExpression 2385180 2385393 + Identifier 2385180 2385212 + Identifier 2385213 2385216 + CallExpression 2385217 2385392 + Identifier 2385217 2385241 + Identifier 2385242 2385250 + PropertyAccessExpression 2385251 2385278 + Identifier 2385251 2385263 + Identifier 2385264 2385278 + TemplateExpression 2385279 2385391 + TemplateHead 2385279 2385283 + TemplateSpan 2385283 2385313 + Identifier 2385283 2385297 + TemplateMiddle 2385297 2385313 + TemplateSpan 2385313 2385391 + ConditionalExpression 2385313 2385388 + CallExpression 2385313 2385347 + Identifier 2385313 2385335 + Identifier 2385336 2385346 + QuestionToken 2385347 2385349 + CallExpression 2385349 2385380 + Identifier 2385349 2385368 + Identifier 2385369 2385379 + ColonToken 2385380 2385382 + StringLiteral 2385382 2385388 + TemplateTail 2385388 2385391 + FunctionDeclaration 2385420 2385756 + Identifier 2385440 2385452 + Parameter 2385453 2385469 + Identifier 2385453 2385457 + TypeReference 2385458 2385469 + Identifier 2385458 2385469 + BooleanKeyword 2385471 2385479 + Block 2385479 2385756 + IfStatement 2385481 2385718 + BinaryExpression 2385499 2385547 + CallExpression 2385499 2385517 + Identifier 2385499 2385511 + Identifier 2385512 2385516 + AmpersandAmpersandToken 2385517 2385520 + BinaryExpression 2385520 2385547 + PropertyAccessExpression 2385520 2385537 + Identifier 2385520 2385525 + Identifier 2385526 2385537 + EqualsEqualsEqualsToken 2385537 2385541 + StringLiteral 2385541 2385547 + Block 2385548 2385718 + VariableStatement 2385550 2385613 + VariableDeclarationList 2385550 2385612 + VariableDeclaration 2385573 2385612 + Identifier 2385573 2385589 + CallExpression 2385591 2385612 + Identifier 2385591 2385610 + ReturnStatement 2385613 2385703 + BinaryExpression 2385637 2385702 + PrefixUnaryExpression 2385637 2385655 + PrefixUnaryExpression 2385639 2385655 + Identifier 2385640 2385655 + AmpersandAmpersandToken 2385655 2385658 + BinaryExpression 2385658 2385702 + Identifier 2385658 2385674 + EqualsEqualsEqualsToken 2385674 2385678 + CallExpression 2385678 2385702 + Identifier 2385678 2385696 + Identifier 2385697 2385701 + ReturnStatement 2385718 2385745 + FalseKeyword 2385738 2385744 + FunctionDeclaration 2385763 2386302 + Identifier 2385779 2385803 + Parameter 2385804 2385818 + Identifier 2385804 2385812 + TypeReference 2385813 2385818 + Identifier 2385813 2385818 + Parameter 2385819 2385835 + Identifier 2385819 2385829 + TypeReference 2385830 2385835 + Identifier 2385830 2385835 + Parameter 2385836 2385884 + Identifier 2385836 2385846 + FunctionType 2385847 2385884 + Parameter 2385849 2385859 + Identifier 2385849 2385853 + TypeReference 2385854 2385859 + Identifier 2385854 2385859 + Parameter 2385860 2385872 + Identifier 2385860 2385866 + TypeReference 2385867 2385872 + Identifier 2385867 2385872 + BooleanKeyword 2385876 2385884 + TupleType 2385886 2385899 + TypeReference 2385888 2385892 + Identifier 2385888 2385892 + TypeReference 2385893 2385898 + Identifier 2385893 2385898 + Block 2385899 2386302 + VariableStatement 2385901 2385940 + VariableDeclarationList 2385901 2385939 + VariableDeclaration 2385914 2385939 + Identifier 2385914 2385928 + Identifier 2385930 2385939 + VariableStatement 2385940 2385981 + VariableDeclarationList 2385940 2385980 + VariableDeclaration 2385953 2385980 + Identifier 2385953 2385968 + Identifier 2385970 2385980 + VariableStatement 2385981 2386043 + VariableDeclarationList 2385981 2386042 + VariableDeclaration 2385996 2386042 + Identifier 2385996 2386005 + CallExpression 2386007 2386042 + Identifier 2386007 2386032 + Identifier 2386033 2386041 + VariableStatement 2386043 2386107 + VariableDeclarationList 2386043 2386106 + VariableDeclaration 2386058 2386106 + Identifier 2386058 2386068 + CallExpression 2386070 2386106 + Identifier 2386070 2386095 + Identifier 2386096 2386105 + IfStatement 2386107 2386246 + PrefixUnaryExpression 2386121 2386152 + CallExpression 2386122 2386152 + Identifier 2386122 2386131 + Identifier 2386132 2386140 + Identifier 2386141 2386151 + Block 2386153 2386246 + ExpressionStatement 2386155 2386194 + BinaryExpression 2386155 2386193 + Identifier 2386155 2386182 + EqualsToken 2386182 2386184 + Identifier 2386184 2386193 + ExpressionStatement 2386194 2386235 + BinaryExpression 2386194 2386234 + Identifier 2386194 2386222 + EqualsToken 2386222 2386224 + Identifier 2386224 2386234 + ReturnStatement 2386246 2386295 + ArrayLiteralExpression 2386262 2386294 + Identifier 2386264 2386277 + Identifier 2386278 2386293 + FunctionDeclaration 2386302 2390363 + Identifier 2386318 2386339 + Parameter 2386340 2386361 + Identifier 2386340 2386344 + TypeReference 2386345 2386361 + Identifier 2386345 2386361 + TypeReference 2386363 2386368 + Identifier 2386363 2386368 + Block 2386368 2390363 + ExpressionStatement 2386370 2386427 + CallExpression 2386370 2386426 + Identifier 2386370 2386397 + Identifier 2386398 2386425 + VariableStatement 2386427 2386480 + VariableDeclarationList 2386427 2386479 + VariableDeclaration 2386444 2386479 + Identifier 2386444 2386449 + CallExpression 2386451 2386479 + Identifier 2386451 2386473 + Identifier 2386474 2386478 + IfStatement 2386480 2386516 + PrefixUnaryExpression 2386494 2386499 + Identifier 2386495 2386499 + ReturnStatement 2386500 2386516 + Identifier 2386507 2386515 + VariableStatement 2386516 2386571 + VariableDeclarationList 2386516 2386570 + VariableDeclaration 2386531 2386570 + Identifier 2386531 2386545 + CallExpression 2386547 2386570 + Identifier 2386547 2386564 + Identifier 2386565 2386569 + IfStatement 2386571 2386807 + PrefixUnaryExpression 2386587 2386629 + ParenthesizedExpression 2386588 2386629 + BinaryExpression 2386589 2386628 + Identifier 2386589 2386602 + AmpersandToken 2386602 2386604 + PropertyAccessExpression 2386604 2386628 + Identifier 2386604 2386618 + Identifier 2386619 2386628 + Block 2386630 2386807 + ReturnStatement 2386632 2386796 + Identifier 2386787 2386795 + VariableStatement 2386807 2386879 + VariableDeclarationList 2386807 2386878 + VariableDeclaration 2386824 2386878 + Identifier 2386824 2386832 + BinaryExpression 2386834 2386878 + ParenthesizedExpression 2386834 2386872 + BinaryExpression 2386836 2386871 + Identifier 2386836 2386849 + AmpersandToken 2386849 2386851 + PropertyAccessExpression 2386851 2386871 + Identifier 2386851 2386865 + Identifier 2386866 2386871 + ExclamationEqualsEqualsToken 2386872 2386876 + NumericLiteral 2386876 2386878 + IfStatement 2386879 2387568 + PropertyAccessExpression 2386893 2386911 + Identifier 2386893 2386897 + Identifier 2386898 2386911 + Block 2386912 2387568 + IfStatement 2386914 2387255 + BinaryExpression 2387071 2387144 + Identifier 2387071 2387078 + AmpersandAmpersandToken 2387078 2387081 + BinaryExpression 2387081 2387144 + Identifier 2387081 2387097 + LessThanToken 2387097 2387099 + PropertyAccessExpression 2387099 2387144 + Identifier 2387099 2387128 + Identifier 2387129 2387144 + Block 2387145 2387255 + ExpressionStatement 2387147 2387240 + CallExpression 2387147 2387239 + Identifier 2387147 2387189 + Identifier 2387190 2387194 + PropertyAccessExpression 2387195 2387238 + Identifier 2387195 2387215 + Identifier 2387216 2387238 + IfStatement 2387255 2387557 + BinaryExpression 2387355 2387462 + BinaryExpression 2387355 2387424 + PrefixUnaryExpression 2387355 2387363 + Identifier 2387356 2387363 + AmpersandAmpersandToken 2387363 2387366 + BinaryExpression 2387366 2387424 + Identifier 2387366 2387382 + LessThanToken 2387382 2387384 + PropertyAccessExpression 2387384 2387424 + Identifier 2387384 2387413 + Identifier 2387414 2387424 + AmpersandAmpersandToken 2387424 2387427 + PropertyAccessExpression 2387427 2387462 + Identifier 2387427 2387443 + Identifier 2387444 2387462 + Block 2387463 2387557 + ExpressionStatement 2387465 2387542 + CallExpression 2387465 2387541 + Identifier 2387465 2387507 + Identifier 2387508 2387512 + PropertyAccessExpression 2387513 2387540 + Identifier 2387513 2387533 + Identifier 2387534 2387540 + VariableStatement 2387568 2387834 + VariableDeclarationList 2387568 2387833 + VariableDeclaration 2387786 2387833 + Identifier 2387786 2387797 + CallExpression 2387799 2387833 + Identifier 2387799 2387827 + Identifier 2387828 2387832 + IfStatement 2387834 2388062 + BinaryExpression 2387848 2387896 + Identifier 2387848 2387858 + AmpersandAmpersandToken 2387858 2387861 + BinaryExpression 2387861 2387896 + PropertyAccessExpression 2387861 2387878 + Identifier 2387861 2387872 + Identifier 2387873 2387878 + AmpersandToken 2387878 2387880 + PropertyAccessExpression 2387880 2387896 + Identifier 2387880 2387890 + Identifier 2387891 2387896 + Block 2387897 2388062 + ExpressionStatement 2387899 2388051 + BinaryExpression 2387899 2388050 + Identifier 2387899 2387923 + EqualsToken 2387923 2387925 + CallExpression 2387925 2388050 + Identifier 2387925 2387936 + Identifier 2387937 2387947 + ArrowFunction 2387948 2388049 + Parameter 2387948 2387950 + Identifier 2387948 2387950 + EqualsGreaterThanToken 2387950 2387953 + CallExpression 2387953 2388049 + Identifier 2387953 2388006 + Identifier 2388007 2388008 + Identifier 2388009 2388023 + Identifier 2388024 2388048 + VariableStatement 2388062 2388177 + VariableDeclarationList 2388062 2388176 + VariableDeclaration 2388077 2388176 + Identifier 2388077 2388092 + BinaryExpression 2388094 2388176 + Identifier 2388094 2388105 + AmpersandAmpersandToken 2388105 2388108 + CallExpression 2388108 2388176 + Identifier 2388108 2388155 + Identifier 2388156 2388166 + Identifier 2388167 2388175 + VariableStatement 2388177 2388268 + VariableDeclarationList 2388177 2388267 + VariableDeclaration 2388192 2388267 + Identifier 2388192 2388211 + BinaryExpression 2388213 2388267 + BinaryExpression 2388213 2388256 + Identifier 2388213 2388228 + AmpersandAmpersandToken 2388228 2388231 + PropertyAccessExpression 2388231 2388256 + Identifier 2388231 2388246 + Identifier 2388247 2388256 + BarBarToken 2388256 2388259 + Identifier 2388259 2388267 + VariableStatement 2388268 2388357 + VariableDeclarationList 2388268 2388356 + VariableDeclaration 2388283 2388356 + Identifier 2388283 2388301 + BinaryExpression 2388303 2388356 + BinaryExpression 2388303 2388345 + Identifier 2388303 2388318 + AmpersandAmpersandToken 2388318 2388321 + PropertyAccessExpression 2388321 2388345 + Identifier 2388321 2388336 + Identifier 2388337 2388345 + BarBarToken 2388345 2388348 + Identifier 2388348 2388356 + VariableStatement 2388357 2388470 + VariableDeclarationList 2388357 2388469 + VariableDeclaration 2388372 2388469 + Identifier 2388372 2388392 + ConditionalExpression 2388394 2388469 + PropertyAccessExpression 2388394 2388410 + Identifier 2388394 2388399 + Identifier 2388400 2388410 + QuestionToken 2388410 2388412 + CallExpression 2388412 2388445 + Identifier 2388412 2388428 + PropertyAccessExpression 2388429 2388444 + Identifier 2388429 2388433 + Identifier 2388434 2388444 + ColonToken 2388445 2388447 + Identifier 2388447 2388469 + VariableStatement 2388470 2388587 + VariableDeclarationList 2388470 2388586 + VariableDeclaration 2388485 2388586 + Identifier 2388485 2388497 + CallExpression 2388499 2388586 + Identifier 2388499 2388531 + Identifier 2388532 2388536 + Identifier 2388537 2388557 + Identifier 2388558 2388576 + Identifier 2388577 2388585 + IfStatement 2388587 2388773 + BinaryExpression 2388601 2388626 + Identifier 2388601 2388611 + AmpersandAmpersandToken 2388611 2388614 + Identifier 2388614 2388626 + Block 2388627 2388773 + ExpressionStatement 2388629 2388762 + CallExpression 2388629 2388761 + Identifier 2388629 2388686 + Identifier 2388687 2388698 + Identifier 2388699 2388718 + BinaryExpression 2388719 2388743 + PropertyAccessExpression 2388719 2388735 + Identifier 2388719 2388724 + Identifier 2388725 2388735 + BarBarToken 2388735 2388738 + Identifier 2388738 2388743 + PropertyAccessExpression 2388744 2388760 + Identifier 2388744 2388749 + Identifier 2388750 2388760 + IfStatement 2388773 2389238 + PropertyAccessExpression 2388789 2388807 + Identifier 2388789 2388793 + Identifier 2388794 2388807 + Block 2388808 2389055 + VariableStatement 2388810 2388899 + VariableDeclarationList 2388810 2388898 + VariableDeclaration 2388829 2388898 + Identifier 2388829 2388833 + ConditionalExpression 2388835 2388898 + Identifier 2388835 2388843 + QuestionToken 2388843 2388845 + PropertyAccessExpression 2388845 2388873 + Identifier 2388845 2388858 + Identifier 2388859 2388873 + ColonToken 2388873 2388875 + PropertyAccessExpression 2388875 2388898 + Identifier 2388875 2388888 + Identifier 2388889 2388898 + ReturnStatement 2388899 2389044 + BinaryExpression 2388919 2389043 + CallExpression 2388919 2389015 + Identifier 2388919 2388946 + Identifier 2388947 2388950 + PropertyAccessExpression 2388951 2388976 + Identifier 2388951 2388969 + Identifier 2388970 2388976 + Identifier 2388977 2388997 + PropertyAccessExpression 2388998 2389014 + Identifier 2388998 2389003 + Identifier 2389004 2389014 + BarBarToken 2389015 2389035 + Identifier 2389035 2389043 + IfStatement 2389069 2389238 + Identifier 2389074 2389084 + Block 2389085 2389238 + ReturnStatement 2389087 2389227 + BinaryExpression 2389107 2389226 + CallExpression 2389107 2389198 + Identifier 2389107 2389153 + PropertyAccessExpression 2389154 2389176 + Identifier 2389154 2389171 + Identifier 2389172 2389176 + Identifier 2389177 2389188 + Identifier 2389189 2389197 + BarBarToken 2389198 2389218 + Identifier 2389218 2389226 + VariableStatement 2389238 2389316 + VariableDeclarationList 2389238 2389315 + VariableDeclaration 2389251 2389315 + Identifier 2389251 2389256 + CallExpression 2389258 2389315 + Identifier 2389258 2389285 + PropertyAccessExpression 2389286 2389308 + Identifier 2389286 2389303 + Identifier 2389304 2389308 + Identifier 2389309 2389314 + IfStatement 2389316 2389885 + PrefixUnaryExpression 2389330 2389335 + Identifier 2389331 2389335 + Block 2389336 2389885 + ExpressionStatement 2389338 2389367 + BinaryExpression 2389338 2389366 + Identifier 2389338 2389356 + EqualsToken 2389356 2389358 + Identifier 2389358 2389366 + ExpressionStatement 2389367 2389874 + CallExpression 2389367 2389873 + Identifier 2389367 2389398 + ArrowFunction 2389399 2389872 + EqualsGreaterThanToken 2389401 2389404 + Block 2389404 2389872 + IfStatement 2389406 2389857 + BinaryExpression 2389428 2389476 + Identifier 2389428 2389441 + AmpersandAmpersandToken 2389441 2389444 + PrefixUnaryExpression 2389444 2389476 + CallExpression 2389446 2389476 + Identifier 2389446 2389470 + Identifier 2389471 2389475 + Block 2389477 2389857 + VariableStatement 2389479 2389576 + VariableDeclarationList 2389479 2389575 + VariableDeclaration 2389506 2389575 + Identifier 2389506 2389521 + CallExpression 2389523 2389575 + Identifier 2389523 2389541 + Identifier 2389542 2389546 + Identifier 2389547 2389574 + IfStatement 2389576 2389838 + BinaryExpression 2389602 2389646 + PrefixUnaryExpression 2389602 2389617 + Identifier 2389603 2389617 + BarBarToken 2389617 2389620 + CallExpression 2389620 2389646 + Identifier 2389620 2389630 + Identifier 2389631 2389645 + Block 2389647 2389838 + ExpressionStatement 2389649 2389815 + CallExpression 2389649 2389814 + Identifier 2389649 2389680 + Identifier 2389681 2389685 + PropertyAccessExpression 2389686 2389813 + Identifier 2389686 2389698 + Identifier 2389699 2389813 + ReturnStatement 2389885 2389907 + Identifier 2389901 2389906 + FunctionDeclaration 2389907 2390356 + Identifier 2389927 2389955 + Block 2389957 2390356 + IfStatement 2389959 2390150 + PrefixUnaryExpression 2389977 2390015 + ParenthesizedExpression 2389978 2390015 + BinaryExpression 2389979 2390014 + PropertyAccessExpression 2389979 2389989 + Identifier 2389979 2389983 + Identifier 2389984 2389989 + AmpersandToken 2389989 2389991 + PropertyAccessExpression 2389991 2390014 + Identifier 2389991 2390001 + Identifier 2390002 2390014 + Block 2390016 2390150 + ExpressionStatement 2390018 2390135 + CallExpression 2390018 2390134 + Identifier 2390018 2390060 + Identifier 2390061 2390065 + PropertyAccessExpression 2390066 2390133 + Identifier 2390066 2390078 + Identifier 2390079 2390133 + IfStatement 2390150 2390345 + CallExpression 2390170 2390224 + Identifier 2390170 2390218 + Identifier 2390219 2390223 + Block 2390225 2390345 + ExpressionStatement 2390227 2390330 + CallExpression 2390227 2390329 + Identifier 2390227 2390250 + Identifier 2390251 2390255 + PropertyAccessExpression 2390256 2390328 + Identifier 2390256 2390268 + Identifier 2390269 2390328 + FunctionDeclaration 2390363 2390858 + Identifier 2390379 2390406 + Parameter 2390407 2390434 + Identifier 2390407 2390411 + TypeReference 2390412 2390434 + Identifier 2390412 2390434 + Parameter 2390435 2390457 + Identifier 2390435 2390445 + QuestionToken 2390445 2390446 + TypeReference 2390447 2390457 + Identifier 2390447 2390457 + TypeReference 2390459 2390464 + Identifier 2390459 2390464 + Block 2390464 2390858 + VariableStatement 2390466 2390542 + VariableDeclarationList 2390466 2390541 + VariableDeclaration 2390481 2390541 + Identifier 2390481 2390486 + CallExpression 2390488 2390541 + Identifier 2390488 2390514 + PropertyAccessExpression 2390515 2390529 + Identifier 2390515 2390519 + Identifier 2390520 2390529 + Identifier 2390530 2390540 + ExpressionStatement 2390542 2390648 + CallExpression 2390542 2390647 + Identifier 2390542 2390610 + PropertyAccessExpression 2390611 2390625 + Identifier 2390611 2390615 + Identifier 2390616 2390625 + Identifier 2390626 2390631 + PropertyAccessExpression 2390632 2390646 + Identifier 2390632 2390637 + Identifier 2390638 2390646 + VariableStatement 2390648 2390714 + VariableDeclarationList 2390648 2390713 + VariableDeclaration 2390663 2390713 + Identifier 2390663 2390669 + CallExpression 2390671 2390713 + Identifier 2390671 2390687 + PropertyAccessExpression 2390688 2390701 + Identifier 2390688 2390692 + Identifier 2390693 2390701 + Identifier 2390702 2390712 + VariableStatement 2390714 2390781 + VariableDeclarationList 2390714 2390780 + VariableDeclaration 2390729 2390780 + Identifier 2390729 2390735 + CallExpression 2390737 2390780 + Identifier 2390737 2390753 + PropertyAccessExpression 2390754 2390768 + Identifier 2390754 2390758 + Identifier 2390759 2390768 + Identifier 2390769 2390779 + ReturnStatement 2390781 2390851 + CallExpression 2390797 2390850 + Identifier 2390797 2390810 + ArrayLiteralExpression 2390811 2390825 + Identifier 2390812 2390817 + Identifier 2390818 2390824 + PropertyAccessExpression 2390826 2390849 + Identifier 2390826 2390841 + Identifier 2390842 2390849 + FunctionDeclaration 2390858 2391141 + Identifier 2390874 2390899 + Parameter 2390900 2390910 + Identifier 2390900 2390904 + TypeReference 2390905 2390910 + Identifier 2390905 2390910 + BooleanKeyword 2390912 2390920 + Block 2390920 2391141 + VariableStatement 2390922 2390959 + VariableDeclarationList 2390922 2390958 + VariableDeclaration 2390937 2390958 + Identifier 2390937 2390944 + PropertyAccessExpression 2390946 2390958 + Identifier 2390946 2390951 + Identifier 2390952 2390958 + ReturnStatement 2390959 2391134 + BinaryExpression 2390975 2391133 + BinaryExpression 2390975 2391045 + CallExpression 2390975 2391009 + Identifier 2390975 2391001 + Identifier 2391002 2391008 + AmpersandAmpersandToken 2391009 2391012 + CallExpression 2391012 2391045 + Identifier 2391012 2391037 + Identifier 2391038 2391044 + BarBarToken 2391045 2391048 + BinaryExpression 2391048 2391133 + CallExpression 2391048 2391095 + Identifier 2391048 2391087 + Identifier 2391088 2391094 + AmpersandAmpersandToken 2391095 2391098 + BinaryExpression 2391098 2391133 + PropertyAccessExpression 2391098 2391124 + Identifier 2391098 2391105 + Identifier 2391106 2391124 + EqualsEqualsEqualsToken 2391124 2391128 + Identifier 2391128 2391133 + FunctionDeclaration 2391141 2392326 + Identifier 2391157 2391181 + Parameter 2391182 2391206 + Identifier 2391182 2391186 + TypeReference 2391187 2391206 + Identifier 2391187 2391206 + TypeReference 2391208 2391213 + Identifier 2391208 2391213 + Block 2391213 2392326 + VariableStatement 2391215 2391256 + VariableDeclarationList 2391215 2391255 + VariableDeclaration 2391230 2391255 + Identifier 2391230 2391236 + ArrayLiteralExpression 2391238 2391255 + PropertyAccessExpression 2391240 2391254 + PropertyAccessExpression 2391240 2391249 + Identifier 2391240 2391244 + Identifier 2391245 2391249 + Identifier 2391250 2391254 + VariableStatement 2391256 2391283 + VariableDeclarationList 2391256 2391282 + VariableDeclaration 2391271 2391282 + Identifier 2391271 2391277 + ArrayLiteralExpression 2391279 2391282 + ForOfStatement 2391283 2391812 + VariableDeclarationList 2391298 2391308 + VariableDeclaration 2391303 2391308 + Identifier 2391303 2391308 + PropertyAccessExpression 2391311 2391330 + Identifier 2391311 2391316 + Identifier 2391317 2391330 + Block 2391331 2391812 + VariableStatement 2391333 2391393 + VariableDeclarationList 2391333 2391392 + VariableDeclaration 2391352 2391392 + Identifier 2391352 2391357 + CallExpression 2391359 2391392 + Identifier 2391359 2391375 + PropertyAccessExpression 2391376 2391391 + Identifier 2391376 2391380 + Identifier 2391381 2391391 + IfStatement 2391393 2391662 + CallExpression 2391411 2391481 + Identifier 2391411 2391451 + Identifier 2391452 2391456 + PropertyAccessExpression 2391457 2391480 + Identifier 2391457 2391467 + Identifier 2391468 2391480 + Block 2391482 2391662 + ExpressionStatement 2391484 2391647 + CallExpression 2391484 2391646 + Identifier 2391484 2391507 + PropertyAccessExpression 2391508 2391523 + Identifier 2391508 2391512 + Identifier 2391513 2391523 + PropertyAccessExpression 2391524 2391645 + Identifier 2391524 2391536 + Identifier 2391537 2391645 + ExpressionStatement 2391662 2391706 + CallExpression 2391662 2391705 + PropertyAccessExpression 2391662 2391686 + Identifier 2391662 2391681 + Identifier 2391682 2391686 + PropertyAccessExpression 2391687 2391704 + PropertyAccessExpression 2391687 2391699 + Identifier 2391687 2391691 + Identifier 2391692 2391699 + Identifier 2391700 2391704 + ExpressionStatement 2391706 2391801 + CallExpression 2391706 2391800 + PropertyAccessExpression 2391706 2391730 + Identifier 2391706 2391725 + Identifier 2391726 2391730 + ConditionalExpression 2391731 2391799 + CallExpression 2391731 2391779 + Identifier 2391731 2391749 + Identifier 2391750 2391754 + Identifier 2391755 2391778 + QuestionToken 2391779 2391781 + Identifier 2391781 2391786 + ColonToken 2391786 2391788 + Identifier 2391788 2391799 + VariableStatement 2391812 2391921 + VariableDeclarationList 2391812 2391920 + VariableDeclaration 2391827 2391920 + Identifier 2391827 2391837 + BinaryExpression 2391839 2391920 + BinaryExpression 2391839 2391896 + PropertyAccessExpression 2391839 2391856 + PropertyAccessExpression 2391839 2391851 + Identifier 2391839 2391844 + Identifier 2391845 2391851 + Identifier 2391852 2391856 + ExclamationEqualsEqualsToken 2391856 2391860 + PropertyAccessExpression 2391860 2391896 + Identifier 2391860 2391871 + Identifier 2391872 2391896 + AmpersandAmpersandToken 2391896 2391899 + PropertyAccessExpression 2391899 2391920 + CallExpression 2391899 2391914 + Identifier 2391899 2391908 + Identifier 2391909 2391913 + Identifier 2391915 2391920 + IfStatement 2391921 2392038 + Identifier 2391935 2391944 + Block 2391945 2392038 + ReturnStatement 2391947 2392027 + CallExpression 2391967 2392026 + Identifier 2391967 2391993 + CallExpression 2391994 2392025 + Identifier 2391994 2392014 + Identifier 2392015 2392024 + IfStatement 2392038 2392291 + BinaryExpression 2392052 2392219 + BinaryExpression 2392052 2392106 + CallExpression 2392052 2392072 + Identifier 2392052 2392066 + Identifier 2392067 2392071 + BarBarToken 2392072 2392075 + CallExpression 2392075 2392106 + Identifier 2392075 2392100 + Identifier 2392101 2392105 + BarBarToken 2392106 2392109 + CallExpression 2392109 2392219 + Identifier 2392109 2392118 + BinaryExpression 2392119 2392185 + CallExpression 2392119 2392170 + Identifier 2392119 2392136 + Identifier 2392137 2392141 + Identifier 2392142 2392169 + BarBarToken 2392170 2392173 + Identifier 2392173 2392185 + Identifier 2392186 2392218 + Block 2392220 2392291 + ReturnStatement 2392222 2392280 + CallExpression 2392242 2392279 + Identifier 2392242 2392265 + Identifier 2392266 2392271 + Identifier 2392272 2392278 + ReturnStatement 2392291 2392319 + Identifier 2392307 2392318 + FunctionDeclaration 2392326 2392643 + Identifier 2392342 2392374 + Parameter 2392375 2392385 + Identifier 2392375 2392379 + TypeReference 2392380 2392385 + Identifier 2392380 2392385 + BooleanKeyword 2392387 2392395 + Block 2392395 2392643 + ReturnStatement 2392397 2392636 + PrefixUnaryExpression 2392413 2392635 + PrefixUnaryExpression 2392415 2392635 + ParenthesizedExpression 2392416 2392635 + BinaryExpression 2392417 2392634 + BinaryExpression 2392417 2392483 + PropertyAccessExpression 2392417 2392427 + Identifier 2392417 2392421 + Identifier 2392422 2392427 + AmpersandToken 2392427 2392429 + ParenthesizedExpression 2392429 2392483 + BinaryExpression 2392431 2392482 + PropertyAccessExpression 2392431 2392454 + Identifier 2392431 2392440 + Identifier 2392441 2392454 + BarToken 2392454 2392456 + PropertyAccessExpression 2392456 2392482 + Identifier 2392456 2392466 + Identifier 2392467 2392482 + BarBarToken 2392483 2392486 + BinaryExpression 2392486 2392634 + BinaryExpression 2392486 2392547 + PropertyAccessExpression 2392486 2392510 + Identifier 2392486 2392504 + Identifier 2392505 2392510 + AmpersandToken 2392510 2392512 + PropertyAccessExpression 2392512 2392547 + Identifier 2392512 2392522 + Identifier 2392523 2392547 + AmpersandAmpersandToken 2392547 2392550 + CallExpression 2392550 2392634 + Identifier 2392550 2392566 + BinaryExpression 2392567 2392611 + CallExpression 2392567 2392596 + Identifier 2392567 2392590 + Identifier 2392591 2392595 + BarBarToken 2392596 2392599 + Identifier 2392599 2392611 + PropertyAccessExpression 2392612 2392633 + Identifier 2392612 2392622 + Identifier 2392623 2392633 + FunctionDeclaration 2392643 2393000 + Identifier 2392659 2392674 + Parameter 2392675 2392691 + Identifier 2392675 2392679 + TypeReference 2392680 2392691 + Identifier 2392680 2392691 + TypeReference 2392693 2392704 + Identifier 2392693 2392704 + Block 2392704 2393000 + IfStatement 2392706 2392971 + BinaryExpression 2392720 2392782 + CallExpression 2392720 2392741 + Identifier 2392720 2392735 + Identifier 2392736 2392740 + AmpersandAmpersandToken 2392741 2392744 + PrefixUnaryExpression 2392744 2392782 + CallExpression 2392746 2392782 + Identifier 2392746 2392769 + PropertyAccessExpression 2392770 2392781 + Identifier 2392770 2392774 + Identifier 2392775 2392781 + Block 2392783 2392971 + ReturnStatement 2392785 2392825 + PropertyAccessExpression 2392805 2392824 + PropertyAccessExpression 2392805 2392817 + Identifier 2392805 2392810 + Identifier 2392811 2392817 + Identifier 2392818 2392824 + ReturnStatement 2392971 2392993 + Identifier 2392987 2392992 + FunctionDeclaration 2393000 2394525 + Identifier 2393016 2393050 + Parameter 2393051 2393067 + Identifier 2393051 2393055 + TypeReference 2393056 2393067 + Identifier 2393056 2393067 + Parameter 2393068 2393089 + Identifier 2393068 2393083 + TypeReference 2393084 2393089 + Identifier 2393084 2393089 + Parameter 2393090 2393137 + Identifier 2393090 2393107 + UnionType 2393108 2393137 + TypeReference 2393108 2393125 + Identifier 2393108 2393125 + UndefinedKeyword 2393127 2393137 + Parameter 2393138 2393159 + Identifier 2393138 2393148 + TypeReference 2393149 2393159 + Identifier 2393149 2393159 + TypeReference 2393161 2393166 + Identifier 2393161 2393166 + Block 2393166 2394525 + VariableStatement 2393168 2393219 + VariableDeclarationList 2393168 2393218 + VariableDeclaration 2393183 2393218 + Identifier 2393183 2393195 + CallExpression 2393197 2393218 + Identifier 2393197 2393212 + Identifier 2393213 2393217 + ExpressionStatement 2393219 2393296 + CallExpression 2393219 2393295 + Identifier 2393219 2393247 + Identifier 2393248 2393259 + Identifier 2393260 2393275 + FalseKeyword 2393276 2393294 + ExpressionStatement 2393296 2393358 + CallExpression 2393296 2393357 + Identifier 2393296 2393326 + Identifier 2393327 2393338 + Identifier 2393339 2393356 + VariableStatement 2393358 2393486 + VariableDeclarationList 2393358 2393485 + VariableDeclaration 2393373 2393485 + Identifier 2393373 2393378 + CallExpression 2393380 2393485 + Identifier 2393380 2393396 + Identifier 2393397 2393401 + BinaryExpression 2393402 2393484 + BinaryExpression 2393402 2393435 + Identifier 2393402 2393412 + BarToken 2393412 2393414 + PropertyAccessExpression 2393414 2393435 + Identifier 2393414 2393424 + Identifier 2393425 2393435 + BarToken 2393435 2393437 + ParenthesizedExpression 2393437 2393484 + ConditionalExpression 2393439 2393483 + Identifier 2393439 2393455 + QuestionToken 2393455 2393457 + PropertyAccessExpression 2393457 2393479 + Identifier 2393457 2393467 + Identifier 2393468 2393479 + ColonToken 2393479 2393481 + NumericLiteral 2393481 2393483 + IfStatement 2393486 2393864 + BinaryExpression 2393711 2393777 + Identifier 2393711 2393727 + AmpersandAmpersandToken 2393727 2393730 + PropertyAccessExpression 2393730 2393777 + Identifier 2393730 2393747 + Identifier 2393748 2393777 + Block 2393778 2393864 + ExpressionStatement 2393780 2393853 + BinaryExpression 2393780 2393852 + PropertyAccessExpression 2393780 2393840 + Identifier 2393780 2393810 + Identifier 2393811 2393840 + EqualsToken 2393840 2393842 + Identifier 2393842 2393852 + VariableStatement 2393864 2394432 + VariableDeclarationList 2393864 2394431 + VariableDeclaration 2394213 2394431 + Identifier 2394213 2394220 + ConditionalExpression 2394222 2394431 + BinaryExpression 2394222 2394375 + CallExpression 2394222 2394263 + Identifier 2394222 2394238 + Identifier 2394239 2394243 + PropertyAccessExpression 2394244 2394262 + Identifier 2394244 2394254 + Identifier 2394255 2394262 + AmpersandAmpersandToken 2394263 2394266 + CallExpression 2394266 2394375 + Identifier 2394266 2394292 + Identifier 2394293 2394297 + CallExpression 2394298 2394374 + Identifier 2394298 2394324 + Identifier 2394325 2394339 + Identifier 2394340 2394345 + Identifier 2394346 2394373 + QuestionToken 2394375 2394377 + CallExpression 2394377 2394424 + Identifier 2394377 2394418 + Identifier 2394419 2394423 + ColonToken 2394424 2394426 + Identifier 2394426 2394431 + ExpressionStatement 2394432 2394464 + CallExpression 2394432 2394463 + Identifier 2394432 2394461 + ExpressionStatement 2394464 2394494 + CallExpression 2394464 2394493 + Identifier 2394464 2394491 + ReturnStatement 2394494 2394518 + Identifier 2394510 2394517 + FunctionDeclaration 2394525 2395532 + Identifier 2394541 2394563 + Parameter 2394564 2394596 + Identifier 2394564 2394568 + UnionType 2394569 2394596 + TypeReference 2394569 2394580 + Identifier 2394569 2394580 + TypeReference 2394582 2394596 + Identifier 2394582 2394596 + Parameter 2394597 2394619 + Identifier 2394597 2394607 + QuestionToken 2394607 2394608 + TypeReference 2394609 2394619 + Identifier 2394609 2394619 + TypeReference 2394621 2394626 + Identifier 2394621 2394626 + Block 2394626 2395532 + IfStatement 2394628 2394719 + Identifier 2394642 2394651 + Block 2394652 2394719 + ReturnStatement 2394654 2394708 + CallExpression 2394674 2394707 + Identifier 2394674 2394690 + Identifier 2394691 2394695 + Identifier 2394696 2394706 + VariableStatement 2394719 2394762 + VariableDeclarationList 2394719 2394761 + VariableDeclaration 2394734 2394761 + Identifier 2394734 2394740 + CallExpression 2394742 2394761 + Identifier 2394742 2394755 + Identifier 2394756 2394760 + IfStatement 2394762 2395489 + PrefixUnaryExpression 2394776 2394795 + PropertyAccessExpression 2394777 2394795 + Identifier 2394777 2394782 + Identifier 2394783 2394795 + Block 2394796 2395489 + VariableStatement 2394798 2395176 + VariableDeclarationList 2394798 2395175 + VariableDeclaration 2395141 2395175 + Identifier 2395141 2395159 + Identifier 2395161 2395175 + VariableStatement 2395176 2395230 + VariableDeclarationList 2395176 2395229 + VariableDeclaration 2395195 2395229 + Identifier 2395195 2395213 + Identifier 2395215 2395229 + ExpressionStatement 2395230 2395274 + BinaryExpression 2395230 2395273 + Identifier 2395230 2395257 + EqualsToken 2395257 2395259 + Identifier 2395259 2395273 + ExpressionStatement 2395274 2395314 + BinaryExpression 2395274 2395313 + Identifier 2395274 2395301 + EqualsToken 2395301 2395303 + Identifier 2395303 2395313 + ExpressionStatement 2395314 2395382 + BinaryExpression 2395314 2395381 + PropertyAccessExpression 2395314 2395346 + Identifier 2395314 2395333 + Identifier 2395334 2395346 + EqualsToken 2395346 2395348 + CallExpression 2395348 2395381 + Identifier 2395348 2395364 + Identifier 2395365 2395369 + Identifier 2395370 2395380 + ExpressionStatement 2395382 2395430 + BinaryExpression 2395382 2395429 + Identifier 2395382 2395409 + EqualsToken 2395409 2395411 + Identifier 2395411 2395429 + ExpressionStatement 2395430 2395478 + BinaryExpression 2395430 2395477 + Identifier 2395430 2395457 + EqualsToken 2395457 2395459 + Identifier 2395459 2395477 + ReturnStatement 2395489 2395525 + PropertyAccessExpression 2395505 2395524 + Identifier 2395505 2395511 + Identifier 2395512 2395524 + FunctionDeclaration 2395532 2395830 + Identifier 2395548 2395564 + Parameter 2395565 2395581 + Identifier 2395565 2395569 + TypeReference 2395570 2395581 + Identifier 2395570 2395581 + Block 2395582 2395830 + ExpressionStatement 2395584 2395660 + BinaryExpression 2395584 2395659 + Identifier 2395584 2395598 + EqualsToken 2395598 2395600 + CallExpression 2395600 2395659 + Identifier 2395600 2395616 + Identifier 2395617 2395621 + TrueKeyword 2395622 2395658 + ReturnStatement 2395660 2395823 + BinaryExpression 2395676 2395822 + BinaryExpression 2395676 2395779 + BinaryExpression 2395676 2395725 + PropertyAccessExpression 2395676 2395686 + Identifier 2395676 2395681 + Identifier 2395682 2395686 + EqualsEqualsEqualsToken 2395686 2395690 + PropertyAccessExpression 2395690 2395725 + Identifier 2395690 2395701 + Identifier 2395702 2395725 + BarBarToken 2395725 2395728 + BinaryExpression 2395728 2395779 + PropertyAccessExpression 2395728 2395751 + Identifier 2395728 2395746 + Identifier 2395747 2395751 + EqualsEqualsEqualsToken 2395751 2395755 + PropertyAccessExpression 2395755 2395779 + Identifier 2395755 2395766 + Identifier 2395767 2395779 + BarBarToken 2395779 2395782 + CallExpression 2395782 2395822 + Identifier 2395782 2395816 + Identifier 2395817 2395821 + FunctionDeclaration 2395830 2397158 + Identifier 2395846 2395874 + Parameter 2395875 2395922 + Identifier 2395875 2395896 + TypeReference 2395897 2395922 + Identifier 2395897 2395922 + Parameter 2395923 2395953 + Identifier 2395923 2395942 + TypeReference 2395943 2395953 + Identifier 2395943 2395953 + Parameter 2395954 2395997 + Identifier 2395954 2395978 + QuestionToken 2395978 2395979 + UnionType 2395980 2395997 + TypeReference 2395980 2395985 + Identifier 2395980 2395985 + UndefinedKeyword 2395987 2395997 + Block 2396005 2397158 + VariableStatement 2396007 2396075 + VariableDeclarationList 2396007 2396074 + VariableDeclaration 2396022 2396074 + Identifier 2396022 2396034 + NonNullExpression 2396036 2396074 + CallExpression 2396036 2396073 + Identifier 2396036 2396060 + Identifier 2396061 2396072 + IfStatement 2396075 2396333 + CallExpression 2396089 2396112 + Identifier 2396089 2396099 + Identifier 2396100 2396111 + Block 2396113 2396333 + VariableStatement 2396115 2396188 + VariableDeclarationList 2396115 2396187 + VariableDeclaration 2396134 2396187 + Identifier 2396134 2396143 + CallExpression 2396145 2396187 + Identifier 2396145 2396174 + Identifier 2396175 2396186 + IfStatement 2396188 2396322 + Identifier 2396206 2396214 + Block 2396215 2396322 + ReturnStatement 2396217 2396307 + CallExpression 2396241 2396306 + Identifier 2396241 2396272 + Identifier 2396273 2396284 + Identifier 2396285 2396294 + Identifier 2396295 2396305 + VariableStatement 2396333 2396616 + VariableDeclarationList 2396333 2396615 + VariableDeclaration 2396348 2396615 + Identifier 2396348 2396353 + BinaryExpression 2396355 2396615 + CallExpression 2396355 2396393 + Identifier 2396355 2396380 + Identifier 2396381 2396392 + BarBarToken 2396393 2396396 + ParenthesizedExpression 2396396 2396615 + ConditionalExpression 2396398 2396614 + Identifier 2396398 2396412 + QuestionToken 2396412 2396414 + CallExpression 2396414 2396553 + Identifier 2396414 2396461 + Identifier 2396462 2396473 + Identifier 2396474 2396489 + Identifier 2396490 2396521 + BinaryExpression 2396522 2396552 + Identifier 2396522 2396532 + BarBarToken 2396532 2396535 + PropertyAccessExpression 2396535 2396552 + Identifier 2396535 2396545 + Identifier 2396546 2396552 + ColonToken 2396553 2396555 + CallExpression 2396555 2396614 + Identifier 2396555 2396590 + Identifier 2396591 2396602 + Identifier 2396603 2396613 + IfStatement 2396616 2397129 + CallExpression 2396630 2396734 + Identifier 2396630 2396641 + ConditionalExpression 2396642 2396733 + CallExpression 2396642 2396671 + Identifier 2396642 2396658 + Identifier 2396659 2396670 + QuestionToken 2396671 2396673 + CallExpression 2396673 2396719 + Identifier 2396673 2396706 + Identifier 2396707 2396718 + ColonToken 2396719 2396721 + Identifier 2396721 2396733 + Block 2396735 2397129 + IfStatement 2396737 2396943 + BinaryExpression 2396755 2396841 + BinaryExpression 2396755 2396812 + PropertyAccessExpression 2396755 2396776 + PropertyAccessExpression 2396755 2396771 + Identifier 2396755 2396766 + Identifier 2396767 2396771 + Identifier 2396772 2396776 + EqualsEqualsEqualsToken 2396776 2396780 + PropertyAccessExpression 2396780 2396812 + Identifier 2396780 2396791 + Identifier 2396792 2396812 + AmpersandAmpersandToken 2396812 2396815 + CallExpression 2396815 2396841 + Identifier 2396815 2396835 + Identifier 2396836 2396840 + Block 2396842 2396943 + ReturnStatement 2396844 2396928 + CallExpression 2396868 2396927 + Identifier 2396868 2396889 + AsExpression 2396890 2396908 + Identifier 2396890 2396894 + TypeReference 2396897 2396908 + Identifier 2396897 2396908 + PropertyAccessExpression 2396909 2396926 + Identifier 2396909 2396921 + Identifier 2396922 2396926 + IfStatement 2396943 2397118 + BinaryExpression 2396961 2397038 + BinaryExpression 2396961 2397017 + PropertyAccessExpression 2396961 2396982 + PropertyAccessExpression 2396961 2396977 + Identifier 2396961 2396972 + Identifier 2396973 2396977 + Identifier 2396978 2396982 + EqualsEqualsEqualsToken 2396982 2396986 + PropertyAccessExpression 2396986 2397017 + Identifier 2396986 2396997 + Identifier 2396998 2397017 + AmpersandAmpersandToken 2397017 2397020 + CallExpression 2397020 2397038 + Identifier 2397020 2397032 + Identifier 2397033 2397037 + Block 2397039 2397118 + ReturnStatement 2397041 2397103 + CallExpression 2397065 2397102 + Identifier 2397065 2397078 + Identifier 2397079 2397083 + PropertyAccessExpression 2397084 2397101 + Identifier 2397084 2397096 + Identifier 2397097 2397101 + ReturnStatement 2397129 2397151 + Identifier 2397145 2397150 + FunctionDeclaration 2397158 2398425 + Identifier 2397174 2397195 + Parameter 2397196 2397212 + Identifier 2397196 2397200 + TypeReference 2397201 2397212 + Identifier 2397201 2397212 + Parameter 2397213 2397243 + Identifier 2397213 2397221 + TypeReference 2397222 2397243 + Identifier 2397222 2397243 + TypeReference 2397245 2397250 + Identifier 2397245 2397250 + Block 2397250 2398425 + VariableStatement 2397252 2397312 + VariableDeclarationList 2397252 2397311 + VariableDeclaration 2397265 2397311 + Identifier 2397265 2397281 + UnionType 2397282 2397311 + ArrayType 2397282 2397299 + TypeReference 2397282 2397297 + Identifier 2397282 2397297 + UndefinedKeyword 2397301 2397311 + ForOfStatement 2397312 2397634 + VariableDeclarationList 2397327 2397334 + VariableDeclaration 2397332 2397334 + Identifier 2397332 2397334 + PropertyAccessExpression 2397337 2397354 + Identifier 2397337 2397345 + Identifier 2397346 2397354 + Block 2397355 2397634 + IfStatement 2397357 2397623 + PropertyAccessExpression 2397375 2397388 + Identifier 2397375 2397376 + Identifier 2397377 2397388 + Block 2397389 2397623 + VariableStatement 2397391 2397459 + VariableDeclarationList 2397391 2397458 + VariableDeclaration 2397414 2397458 + Identifier 2397414 2397419 + CallExpression 2397421 2397458 + Identifier 2397421 2397455 + Identifier 2397456 2397457 + IfStatement 2397459 2397608 + BinaryExpression 2397481 2397519 + Identifier 2397481 2397485 + AmpersandAmpersandToken 2397485 2397488 + PrefixUnaryExpression 2397488 2397519 + CallExpression 2397490 2397519 + Identifier 2397490 2397507 + Identifier 2397508 2397512 + Identifier 2397513 2397518 + Block 2397520 2397608 + ExpressionStatement 2397522 2397589 + BinaryExpression 2397522 2397588 + Identifier 2397522 2397559 + EqualsToken 2397559 2397561 + CallExpression 2397561 2397588 + Identifier 2397561 2397568 + Identifier 2397569 2397584 + Identifier 2397585 2397587 + IfStatement 2397634 2397704 + PrefixUnaryExpression 2397648 2397664 + Identifier 2397649 2397664 + Block 2397665 2397704 + ReturnStatement 2397667 2397693 + Identifier 2397687 2397692 + VariableStatement 2397704 2397750 + VariableDeclarationList 2397704 2397749 + VariableDeclaration 2397719 2397749 + Identifier 2397719 2397727 + CallExpression 2397729 2397749 + Identifier 2397729 2397747 + ForOfStatement 2397750 2397874 + VariableDeclarationList 2397765 2397775 + VariableDeclaration 2397770 2397775 + Identifier 2397770 2397775 + CallExpression 2397778 2397810 + Identifier 2397778 2397804 + Identifier 2397805 2397809 + Block 2397811 2397874 + ExpressionStatement 2397813 2397863 + CallExpression 2397813 2397862 + PropertyAccessExpression 2397813 2397838 + Identifier 2397813 2397834 + Identifier 2397835 2397838 + PropertyAccessExpression 2397839 2397855 + Identifier 2397839 2397843 + Identifier 2397844 2397855 + Identifier 2397856 2397861 + ForOfStatement 2397874 2398228 + VariableDeclarationList 2397889 2397896 + VariableDeclaration 2397894 2397896 + Identifier 2397894 2397896 + Identifier 2397899 2397915 + Block 2397916 2398228 + VariableStatement 2397918 2398044 + VariableDeclarationList 2397918 2398043 + VariableDeclaration 2397937 2398043 + Identifier 2397937 2397944 + CallExpression 2397946 2398043 + Identifier 2397946 2397959 + BinaryExpression 2397960 2398003 + PropertyAccessExpression 2397960 2397980 + Identifier 2397960 2397971 + Identifier 2397972 2397980 + BarToken 2397980 2397982 + PropertyAccessExpression 2397982 2398003 + Identifier 2397982 2397994 + Identifier 2397995 2398003 + NonNullExpression 2398004 2398042 + CallExpression 2398004 2398041 + Identifier 2398004 2398038 + Identifier 2398039 2398040 + ExpressionStatement 2398044 2398163 + BinaryExpression 2398044 2398162 + PropertyAccessExpression 2398044 2398075 + PropertyAccessExpression 2398044 2398070 + Identifier 2398044 2398064 + Identifier 2398065 2398070 + Identifier 2398071 2398075 + EqualsToken 2398075 2398077 + CallExpression 2398077 2398162 + Identifier 2398077 2398103 + Identifier 2398104 2398105 + FalseKeyword 2398106 2398137 + FalseKeyword 2398138 2398161 + ExpressionStatement 2398163 2398217 + CallExpression 2398163 2398216 + PropertyAccessExpression 2398163 2398188 + Identifier 2398163 2398184 + Identifier 2398185 2398188 + PropertyAccessExpression 2398189 2398207 + Identifier 2398189 2398195 + Identifier 2398196 2398207 + Identifier 2398208 2398215 + VariableStatement 2398228 2398346 + VariableDeclarationList 2398228 2398345 + VariableDeclaration 2398243 2398345 + Identifier 2398243 2398250 + CallExpression 2398252 2398345 + Identifier 2398252 2398272 + PropertyAccessExpression 2398273 2398284 + Identifier 2398273 2398277 + Identifier 2398278 2398284 + Identifier 2398285 2398293 + Identifier 2398294 2398305 + Identifier 2398306 2398317 + CallExpression 2398318 2398344 + Identifier 2398318 2398338 + Identifier 2398339 2398343 + ExpressionStatement 2398346 2398394 + BinaryExpression 2398346 2398393 + PropertyAccessExpression 2398346 2398374 + Identifier 2398346 2398362 + Identifier 2398363 2398374 + EqualsToken 2398374 2398376 + PropertyAccessExpression 2398376 2398393 + Identifier 2398376 2398381 + Identifier 2398382 2398393 + ReturnStatement 2398394 2398418 + Identifier 2398410 2398417 + FunctionDeclaration 2398425 2398703 + Identifier 2398441 2398475 + Parameter 2398476 2398493 + Identifier 2398476 2398477 + TypeReference 2398478 2398493 + Identifier 2398478 2398493 + Block 2398494 2398703 + VariableStatement 2398496 2398594 + VariableDeclarationList 2398496 2398593 + VariableDeclaration 2398511 2398593 + Identifier 2398511 2398520 + CallExpression 2398522 2398593 + Identifier 2398522 2398553 + BinaryExpression 2398554 2398592 + PropertyAccessExpression 2398554 2398568 + Identifier 2398554 2398555 + Identifier 2398556 2398568 + BarBarToken 2398568 2398571 + AsExpression 2398571 2398592 + PropertyAccessExpression 2398571 2398578 + Identifier 2398571 2398573 + Identifier 2398574 2398578 + TypeReference 2398581 2398592 + Identifier 2398581 2398592 + ReturnStatement 2398594 2398696 + ConditionalExpression 2398610 2398695 + CallExpression 2398610 2398647 + Identifier 2398610 2398637 + Identifier 2398638 2398646 + QuestionToken 2398647 2398649 + CallExpression 2398649 2398683 + Identifier 2398649 2398673 + Identifier 2398674 2398682 + ColonToken 2398683 2398685 + Identifier 2398685 2398695 + FunctionDeclaration 2398703 2399867 + Identifier 2398719 2398732 + Parameter 2398733 2398757 + Identifier 2398733 2398737 + TypeReference 2398738 2398757 + Identifier 2398738 2398757 + Parameter 2398758 2398787 + Identifier 2398758 2398766 + TypeReference 2398767 2398787 + Identifier 2398767 2398787 + Block 2398788 2399867 + IfStatement 2398790 2398951 + BinaryExpression 2398804 2398911 + BinaryExpression 2398804 2398853 + PropertyAccessExpression 2398804 2398829 + PropertyAccessExpression 2398804 2398815 + Identifier 2398804 2398808 + Identifier 2398809 2398815 + Identifier 2398816 2398829 + AmpersandToken 2398829 2398831 + PropertyAccessExpression 2398831 2398853 + Identifier 2398831 2398844 + Identifier 2398845 2398853 + BarBarToken 2398853 2398856 + BinaryExpression 2398856 2398911 + CallExpression 2398856 2398884 + Identifier 2398856 2398878 + Identifier 2398879 2398883 + GreaterThanEqualsToken 2398884 2398887 + PropertyAccessExpression 2398887 2398911 + PropertyAccessExpression 2398887 2398904 + Identifier 2398887 2398895 + Identifier 2398896 2398904 + Identifier 2398905 2398911 + Block 2398912 2398951 + ReturnStatement 2398914 2398940 + Identifier 2398934 2398939 + VariableStatement 2398951 2399002 + VariableDeclarationList 2398951 2399001 + VariableDeclaration 2398966 2399001 + Identifier 2398966 2398982 + PropertyAccessExpression 2398984 2399001 + Identifier 2398984 2398992 + Identifier 2398993 2399001 + VariableStatement 2399002 2399063 + VariableDeclarationList 2399002 2399062 + VariableDeclaration 2399017 2399062 + Identifier 2399017 2399030 + CallExpression 2399032 2399062 + PropertyAccessExpression 2399032 2399060 + CallExpression 2399032 2399054 + Identifier 2399032 2399048 + Identifier 2399049 2399053 + Identifier 2399055 2399060 + VariableStatement 2399063 2399127 + VariableDeclarationList 2399063 2399126 + VariableDeclaration 2399078 2399126 + Identifier 2399078 2399091 + CallExpression 2399093 2399126 + PropertyAccessExpression 2399093 2399124 + PropertyAccessExpression 2399093 2399118 + PropertyAccessExpression 2399093 2399105 + Identifier 2399093 2399098 + Identifier 2399099 2399105 + Identifier 2399106 2399118 + Identifier 2399119 2399124 + ForStatement 2399127 2399777 + VariableDeclarationList 2399142 2399177 + VariableDeclaration 2399145 2399177 + Identifier 2399145 2399147 + CallExpression 2399149 2399177 + Identifier 2399149 2399171 + Identifier 2399172 2399176 + BinaryExpression 2399178 2399205 + Identifier 2399178 2399180 + LessThanToken 2399180 2399182 + PropertyAccessExpression 2399182 2399205 + Identifier 2399182 2399198 + Identifier 2399199 2399205 + PostfixUnaryExpression 2399206 2399210 + Identifier 2399206 2399208 + Block 2399211 2399777 + VariableStatement 2399213 2399256 + VariableDeclarationList 2399213 2399255 + VariableDeclaration 2399232 2399255 + Identifier 2399232 2399234 + ElementAccessExpression 2399236 2399255 + Identifier 2399236 2399252 + Identifier 2399253 2399254 + IfStatement 2399256 2399766 + BinaryExpression 2399274 2399367 + BinaryExpression 2399274 2399304 + Identifier 2399274 2399275 + LessThanToken 2399275 2399277 + BinaryExpression 2399277 2399304 + PropertyAccessExpression 2399277 2399300 + Identifier 2399277 2399293 + Identifier 2399294 2399300 + MinusToken 2399300 2399302 + NumericLiteral 2399302 2399304 + BarBarToken 2399304 2399307 + PrefixUnaryExpression 2399307 2399367 + ParenthesizedExpression 2399309 2399367 + BinaryExpression 2399310 2399366 + BinaryExpression 2399310 2399346 + PropertyAccessExpression 2399310 2399316 + Identifier 2399310 2399311 + Identifier 2399312 2399316 + EqualsEqualsEqualsToken 2399316 2399320 + PropertyAccessExpression 2399320 2399346 + Identifier 2399320 2399331 + Identifier 2399332 2399346 + AmpersandAmpersandToken 2399346 2399349 + PropertyAccessExpression 2399349 2399366 + Identifier 2399349 2399351 + Identifier 2399352 2399366 + Block 2399368 2399766 + ExpressionStatement 2399370 2399550 + CallExpression 2399370 2399549 + PropertyAccessExpression 2399370 2399405 + Identifier 2399370 2399400 + Identifier 2399401 2399405 + ConditionalExpression 2399406 2399548 + BinaryExpression 2399406 2399451 + PrefixUnaryExpression 2399406 2399429 + CallExpression 2399407 2399429 + Identifier 2399407 2399426 + Identifier 2399427 2399428 + AmpersandAmpersandToken 2399429 2399432 + CallExpression 2399432 2399451 + Identifier 2399432 2399448 + Identifier 2399449 2399450 + QuestionToken 2399451 2399453 + CallExpression 2399453 2399538 + Identifier 2399453 2399479 + Identifier 2399480 2399481 + FalseKeyword 2399482 2399513 + FalseKeyword 2399514 2399537 + ColonToken 2399538 2399540 + Identifier 2399540 2399548 + ExpressionStatement 2399550 2399609 + CallExpression 2399550 2399608 + PropertyAccessExpression 2399550 2399585 + Identifier 2399550 2399580 + Identifier 2399581 2399585 + PropertyAccessExpression 2399586 2399607 + Identifier 2399586 2399598 + Identifier 2399599 2399607 + IfStatement 2399609 2399751 + BinaryExpression 2399631 2399677 + PrefixUnaryExpression 2399631 2399654 + CallExpression 2399632 2399654 + Identifier 2399632 2399651 + Identifier 2399652 2399653 + AmpersandAmpersandToken 2399654 2399657 + PrefixUnaryExpression 2399657 2399677 + CallExpression 2399659 2399677 + Identifier 2399659 2399674 + Identifier 2399675 2399676 + Block 2399678 2399751 + ExpressionStatement 2399680 2399732 + CallExpression 2399680 2399731 + Identifier 2399680 2399719 + Identifier 2399720 2399721 + Identifier 2399722 2399730 + ReturnStatement 2399777 2399860 + CallExpression 2399793 2399859 + Identifier 2399793 2399809 + Identifier 2399810 2399822 + Identifier 2399823 2399836 + PropertyAccessExpression 2399837 2399858 + PropertyAccessExpression 2399837 2399849 + Identifier 2399837 2399842 + Identifier 2399843 2399849 + Identifier 2399850 2399858 + FunctionDeclaration 2399867 2400461 + Identifier 2399883 2399916 + Parameter 2399917 2399954 + Identifier 2399917 2399928 + TypeReference 2399929 2399954 + Identifier 2399929 2399954 + Parameter 2399955 2399966 + Identifier 2399955 2399960 + TypeReference 2399961 2399966 + Identifier 2399961 2399966 + Block 2399967 2400461 + VariableStatement 2399969 2400050 + VariableDeclarationList 2399969 2400049 + VariableDeclaration 2399984 2400049 + Identifier 2399984 2399992 + CallExpression 2399994 2400049 + Identifier 2399994 2400030 + Identifier 2400031 2400042 + Identifier 2400043 2400048 + IfStatement 2400050 2400429 + CallExpression 2400064 2400087 + Identifier 2400064 2400074 + Identifier 2400075 2400086 + Block 2400088 2400429 + IfStatement 2400090 2400418 + CallExpression 2400108 2400135 + Identifier 2400108 2400126 + Identifier 2400127 2400134 + Block 2400136 2400244 + ExpressionStatement 2400138 2400196 + CallExpression 2400138 2400195 + Identifier 2400138 2400173 + Identifier 2400174 2400185 + Identifier 2400186 2400194 + ReturnStatement 2400196 2400229 + Identifier 2400220 2400228 + IfStatement 2400262 2400418 + CallExpression 2400267 2400299 + Identifier 2400267 2400290 + Identifier 2400291 2400298 + Block 2400300 2400418 + ExpressionStatement 2400302 2400365 + CallExpression 2400302 2400364 + Identifier 2400302 2400337 + Identifier 2400338 2400349 + Identifier 2400350 2400363 + ReturnStatement 2400365 2400403 + Identifier 2400389 2400402 + ReturnStatement 2400429 2400454 + Identifier 2400445 2400453 + FunctionDeclaration 2400461 2400726 + Identifier 2400477 2400513 + Parameter 2400514 2400551 + Identifier 2400514 2400525 + TypeReference 2400526 2400551 + Identifier 2400526 2400551 + Parameter 2400552 2400563 + Identifier 2400552 2400557 + TypeReference 2400558 2400563 + Identifier 2400558 2400563 + Block 2400564 2400726 + ReturnStatement 2400566 2400719 + ConditionalExpression 2400582 2400718 + BinaryExpression 2400582 2400681 + BinaryExpression 2400582 2400643 + CallExpression 2400582 2400622 + Identifier 2400582 2400609 + Identifier 2400610 2400621 + AmpersandToken 2400622 2400624 + PropertyAccessExpression 2400624 2400643 + Identifier 2400624 2400634 + Identifier 2400635 2400643 + BarBarToken 2400643 2400646 + CallExpression 2400646 2400681 + Identifier 2400646 2400668 + Identifier 2400669 2400680 + QuestionToken 2400681 2400683 + Identifier 2400683 2400688 + ColonToken 2400688 2400690 + CallExpression 2400690 2400718 + Identifier 2400690 2400712 + Identifier 2400713 2400717 + FunctionDeclaration 2400726 2403114 + Identifier 2400742 2400768 + Parameter 2400769 2400788 + Identifier 2400769 2400782 + TypeReference 2400783 2400788 + Identifier 2400783 2400788 + Parameter 2400789 2400822 + Identifier 2400789 2400804 + UnionType 2400805 2400822 + TypeReference 2400805 2400810 + Identifier 2400805 2400810 + UndefinedKeyword 2400812 2400822 + BooleanKeyword 2400824 2400832 + Block 2400832 2403114 + IfStatement 2400834 2403084 + Identifier 2400848 2400862 + Block 2400863 2403084 + IfStatement 2400865 2401108 + BinaryExpression 2400883 2400935 + PropertyAccessExpression 2400883 2400903 + Identifier 2400883 2400897 + Identifier 2400898 2400903 + AmpersandToken 2400903 2400905 + PropertyAccessExpression 2400905 2400935 + Identifier 2400905 2400915 + Identifier 2400916 2400935 + Block 2400936 2401108 + VariableStatement 2400938 2401006 + VariableDeclarationList 2400938 2401005 + VariableDeclaration 2400961 2401005 + Identifier 2400961 2400967 + PropertyAccessExpression 2400969 2401005 + ParenthesizedExpression 2400969 2400999 + AsExpression 2400971 2400998 + Identifier 2400971 2400985 + TypeReference 2400988 2400998 + Identifier 2400988 2400998 + Identifier 2401000 2401005 + ReturnStatement 2401006 2401093 + CallExpression 2401030 2401092 + Identifier 2401030 2401035 + Identifier 2401036 2401041 + ArrowFunction 2401042 2401091 + Parameter 2401042 2401044 + Identifier 2401042 2401044 + EqualsGreaterThanToken 2401044 2401047 + CallExpression 2401047 2401091 + Identifier 2401047 2401073 + Identifier 2401074 2401087 + Identifier 2401088 2401090 + IfStatement 2401108 2402184 + BinaryExpression 2401126 2401183 + PropertyAccessExpression 2401126 2401146 + Identifier 2401126 2401140 + Identifier 2401141 2401146 + AmpersandToken 2401146 2401148 + PropertyAccessExpression 2401148 2401183 + Identifier 2401148 2401158 + Identifier 2401159 2401183 + Block 2401184 2402184 + VariableStatement 2401186 2401572 + VariableDeclarationList 2401186 2401571 + VariableDeclaration 2401503 2401571 + Identifier 2401503 2401514 + BinaryExpression 2401516 2401571 + CallExpression 2401516 2401556 + Identifier 2401516 2401540 + Identifier 2401541 2401555 + BarBarToken 2401556 2401559 + Identifier 2401559 2401571 + ReturnStatement 2401572 2402169 + BinaryExpression 2401596 2402168 + BinaryExpression 2401596 2402091 + BinaryExpression 2401596 2401959 + BinaryExpression 2401596 2401830 + BinaryExpression 2401596 2401701 + CallExpression 2401596 2401642 + Identifier 2401596 2401612 + Identifier 2401613 2401623 + PropertyAccessExpression 2401624 2401641 + Identifier 2401624 2401634 + Identifier 2401635 2401641 + AmpersandAmpersandToken 2401642 2401645 + CallExpression 2401645 2401701 + Identifier 2401645 2401661 + Identifier 2401662 2401675 + PropertyAccessExpression 2401676 2401700 + Identifier 2401676 2401686 + Identifier 2401687 2401700 + BarBarToken 2401701 2401704 + BinaryExpression 2401704 2401830 + CallExpression 2401704 2401771 + Identifier 2401704 2401741 + Identifier 2401742 2401752 + PropertyAccessExpression 2401753 2401770 + Identifier 2401753 2401763 + Identifier 2401764 2401770 + AmpersandAmpersandToken 2401771 2401774 + CallExpression 2401774 2401830 + Identifier 2401774 2401790 + Identifier 2401791 2401804 + PropertyAccessExpression 2401805 2401829 + Identifier 2401805 2401815 + Identifier 2401816 2401829 + BarBarToken 2401830 2401833 + BinaryExpression 2401833 2401959 + CallExpression 2401833 2401900 + Identifier 2401833 2401870 + Identifier 2401871 2401881 + PropertyAccessExpression 2401882 2401899 + Identifier 2401882 2401892 + Identifier 2401893 2401899 + AmpersandAmpersandToken 2401900 2401903 + CallExpression 2401903 2401959 + Identifier 2401903 2401919 + Identifier 2401920 2401933 + PropertyAccessExpression 2401934 2401958 + Identifier 2401934 2401944 + Identifier 2401945 2401958 + BarBarToken 2401959 2401962 + BinaryExpression 2401962 2402091 + CallExpression 2401962 2402031 + Identifier 2401962 2401999 + Identifier 2402000 2402010 + PropertyAccessExpression 2402011 2402030 + Identifier 2402011 2402021 + Identifier 2402022 2402030 + AmpersandAmpersandToken 2402031 2402034 + CallExpression 2402034 2402091 + Identifier 2402034 2402050 + Identifier 2402051 2402064 + PropertyAccessExpression 2402065 2402090 + Identifier 2402065 2402075 + Identifier 2402076 2402090 + BarBarToken 2402091 2402094 + CallExpression 2402094 2402168 + Identifier 2402094 2402141 + Identifier 2402142 2402155 + Identifier 2402156 2402167 + ReturnStatement 2402184 2403073 + PrefixUnaryExpression 2402380 2403072 + PrefixUnaryExpression 2402382 2403072 + ParenthesizedExpression 2402383 2403072 + BinaryExpression 2402384 2403071 + BinaryExpression 2402384 2402943 + BinaryExpression 2402384 2402815 + BinaryExpression 2402384 2402689 + BinaryExpression 2402384 2402563 + BinaryExpression 2402384 2402504 + PropertyAccessExpression 2402384 2402404 + Identifier 2402384 2402398 + Identifier 2402399 2402404 + AmpersandToken 2402404 2402406 + ParenthesizedExpression 2402406 2402504 + BinaryExpression 2402408 2402503 + BinaryExpression 2402408 2402477 + BinaryExpression 2402408 2402449 + PropertyAccessExpression 2402408 2402431 + Identifier 2402408 2402417 + Identifier 2402418 2402431 + BarToken 2402431 2402433 + PropertyAccessExpression 2402433 2402449 + Identifier 2402433 2402443 + Identifier 2402444 2402449 + BarToken 2402449 2402451 + PropertyAccessExpression 2402451 2402477 + Identifier 2402451 2402461 + Identifier 2402462 2402477 + BarToken 2402477 2402479 + PropertyAccessExpression 2402479 2402503 + Identifier 2402479 2402489 + Identifier 2402490 2402503 + AmpersandAmpersandToken 2402504 2402507 + CallExpression 2402507 2402563 + Identifier 2402507 2402523 + Identifier 2402524 2402537 + PropertyAccessExpression 2402538 2402562 + Identifier 2402538 2402548 + Identifier 2402549 2402562 + BarBarToken 2402563 2402566 + BinaryExpression 2402566 2402689 + BinaryExpression 2402566 2402630 + PropertyAccessExpression 2402566 2402604 + Identifier 2402566 2402598 + Identifier 2402599 2402604 + AmpersandToken 2402604 2402606 + PropertyAccessExpression 2402606 2402630 + Identifier 2402606 2402616 + Identifier 2402617 2402630 + AmpersandAmpersandToken 2402630 2402633 + CallExpression 2402633 2402689 + Identifier 2402633 2402649 + Identifier 2402650 2402663 + PropertyAccessExpression 2402664 2402688 + Identifier 2402664 2402674 + Identifier 2402675 2402688 + BarBarToken 2402689 2402692 + BinaryExpression 2402692 2402815 + BinaryExpression 2402692 2402756 + PropertyAccessExpression 2402692 2402730 + Identifier 2402692 2402724 + Identifier 2402725 2402730 + AmpersandToken 2402730 2402732 + PropertyAccessExpression 2402732 2402756 + Identifier 2402732 2402742 + Identifier 2402743 2402756 + AmpersandAmpersandToken 2402756 2402759 + CallExpression 2402759 2402815 + Identifier 2402759 2402775 + Identifier 2402776 2402789 + PropertyAccessExpression 2402790 2402814 + Identifier 2402790 2402800 + Identifier 2402801 2402814 + BarBarToken 2402815 2402818 + BinaryExpression 2402818 2402943 + BinaryExpression 2402818 2402883 + PropertyAccessExpression 2402818 2402856 + Identifier 2402818 2402850 + Identifier 2402851 2402856 + AmpersandToken 2402856 2402858 + PropertyAccessExpression 2402858 2402883 + Identifier 2402858 2402868 + Identifier 2402869 2402883 + AmpersandAmpersandToken 2402883 2402886 + CallExpression 2402886 2402943 + Identifier 2402886 2402902 + Identifier 2402903 2402916 + PropertyAccessExpression 2402917 2402942 + Identifier 2402917 2402927 + Identifier 2402928 2402942 + BarBarToken 2402943 2402946 + BinaryExpression 2402946 2403071 + BinaryExpression 2402946 2403011 + PropertyAccessExpression 2402946 2402984 + Identifier 2402946 2402978 + Identifier 2402979 2402984 + AmpersandToken 2402984 2402986 + PropertyAccessExpression 2402986 2403011 + Identifier 2402986 2402996 + Identifier 2402997 2403011 + AmpersandAmpersandToken 2403011 2403014 + CallExpression 2403014 2403071 + Identifier 2403014 2403030 + Identifier 2403031 2403044 + PropertyAccessExpression 2403045 2403070 + Identifier 2403045 2403055 + Identifier 2403056 2403070 + ReturnStatement 2403084 2403107 + FalseKeyword 2403100 2403106 + FunctionDeclaration 2403114 2403813 + Identifier 2403130 2403145 + Parameter 2403146 2403162 + Identifier 2403146 2403150 + TypeReference 2403151 2403162 + Identifier 2403151 2403162 + BooleanKeyword 2403164 2403172 + Block 2403172 2403813 + VariableStatement 2403174 2403211 + VariableDeclarationList 2403174 2403210 + VariableDeclaration 2403189 2403210 + Identifier 2403189 2403196 + PropertyAccessExpression 2403198 2403210 + Identifier 2403198 2403203 + Identifier 2403204 2403210 + ReturnStatement 2403211 2403806 + BinaryExpression 2403227 2403805 + BinaryExpression 2403227 2403658 + BinaryExpression 2403227 2403517 + BinaryExpression 2403227 2403398 + BinaryExpression 2403227 2403294 + CallExpression 2403227 2403257 + Identifier 2403227 2403249 + Identifier 2403250 2403256 + AmpersandAmpersandToken 2403257 2403260 + CallExpression 2403260 2403294 + Identifier 2403260 2403281 + PropertyAccessExpression 2403282 2403293 + Identifier 2403282 2403288 + Identifier 2403289 2403293 + BarBarToken 2403294 2403297 + BinaryExpression 2403297 2403398 + CallExpression 2403297 2403339 + Identifier 2403297 2403331 + Identifier 2403332 2403338 + AmpersandAmpersandToken 2403339 2403342 + CallExpression 2403342 2403398 + Identifier 2403342 2403363 + CallExpression 2403364 2403397 + Identifier 2403364 2403389 + Identifier 2403390 2403396 + BarBarToken 2403398 2403401 + BinaryExpression 2403401 2403517 + CallExpression 2403401 2403450 + Identifier 2403401 2403444 + Identifier 2403445 2403449 + AmpersandAmpersandToken 2403450 2403453 + CallExpression 2403453 2403517 + Identifier 2403453 2403473 + CallExpression 2403474 2403516 + Identifier 2403474 2403491 + Identifier 2403492 2403496 + PropertyAccessExpression 2403497 2403515 + Identifier 2403497 2403510 + Identifier 2403511 2403515 + BarBarToken 2403517 2403520 + BinaryExpression 2403520 2403658 + ParenthesizedExpression 2403520 2403632 + BinaryExpression 2403535 2403631 + BinaryExpression 2403535 2403604 + CallExpression 2403535 2403568 + Identifier 2403535 2403560 + Identifier 2403561 2403567 + BarBarToken 2403568 2403571 + CallExpression 2403571 2403604 + Identifier 2403571 2403596 + Identifier 2403597 2403603 + BarBarToken 2403604 2403607 + CallExpression 2403607 2403631 + Identifier 2403607 2403623 + Identifier 2403624 2403630 + AmpersandAmpersandToken 2403632 2403635 + CallExpression 2403635 2403658 + Identifier 2403635 2403650 + Identifier 2403651 2403657 + BarBarToken 2403658 2403661 + BinaryExpression 2403661 2403805 + ParenthesizedExpression 2403661 2403772 + BinaryExpression 2403676 2403771 + BinaryExpression 2403676 2403745 + CallExpression 2403676 2403704 + Identifier 2403676 2403696 + Identifier 2403697 2403703 + BarBarToken 2403704 2403707 + CallExpression 2403707 2403745 + Identifier 2403707 2403737 + Identifier 2403738 2403744 + BarBarToken 2403745 2403748 + CallExpression 2403748 2403771 + Identifier 2403748 2403763 + Identifier 2403764 2403770 + AmpersandAmpersandToken 2403772 2403775 + CallExpression 2403775 2403805 + Identifier 2403775 2403790 + PropertyAccessExpression 2403791 2403804 + Identifier 2403791 2403797 + Identifier 2403798 2403804 + FunctionDeclaration 2403813 2404354 + Identifier 2403829 2403863 + Parameter 2403864 2403880 + Identifier 2403864 2403868 + TypeReference 2403869 2403880 + Identifier 2403869 2403880 + Parameter 2403881 2403914 + Identifier 2403881 2403891 + UnionType 2403892 2403914 + TypeReference 2403892 2403902 + Identifier 2403892 2403902 + UndefinedKeyword 2403904 2403914 + Parameter 2403915 2403936 + Identifier 2403915 2403926 + QuestionToken 2403926 2403927 + BooleanKeyword 2403928 2403936 + TypeReference 2403938 2403943 + Identifier 2403938 2403943 + Block 2403943 2404354 + VariableStatement 2403945 2404013 + VariableDeclarationList 2403945 2404012 + VariableDeclaration 2403960 2404012 + Identifier 2403960 2403965 + CallExpression 2403967 2404012 + Identifier 2403967 2403983 + Identifier 2403984 2403988 + Identifier 2403989 2403999 + Identifier 2404000 2404011 + ReturnStatement 2404013 2404347 + ConditionalExpression 2404029 2404346 + BinaryExpression 2404029 2404088 + CallExpression 2404029 2404050 + Identifier 2404029 2404044 + Identifier 2404045 2404049 + BarBarToken 2404050 2404053 + CallExpression 2404053 2404088 + Identifier 2404053 2404082 + Identifier 2404083 2404087 + QuestionToken 2404088 2404090 + CallExpression 2404090 2404124 + Identifier 2404090 2404118 + Identifier 2404119 2404123 + ColonToken 2404124 2404126 + ConditionalExpression 2404126 2404346 + CallExpression 2404126 2404161 + Identifier 2404126 2404155 + Identifier 2404156 2404160 + QuestionToken 2404161 2404163 + Identifier 2404163 2404168 + ColonToken 2404168 2404170 + CallExpression 2404170 2404346 + Identifier 2404170 2404226 + Identifier 2404227 2404231 + CallExpression 2404232 2404345 + Identifier 2404232 2404258 + CallExpression 2404259 2404310 + Identifier 2404259 2404276 + Identifier 2404277 2404281 + Identifier 2404282 2404309 + Identifier 2404311 2404316 + Identifier 2404317 2404344 + FunctionDeclaration 2404354 2404892 + Identifier 2404370 2404394 + Parameter 2404395 2404419 + Identifier 2404395 2404399 + TypeReference 2404400 2404419 + Identifier 2404400 2404419 + Parameter 2404420 2404442 + Identifier 2404420 2404430 + QuestionToken 2404430 2404431 + TypeReference 2404432 2404442 + Identifier 2404432 2404442 + TypeReference 2404444 2404449 + Identifier 2404444 2404449 + Block 2404449 2404892 + IfStatement 2404451 2404803 + BinaryExpression 2404688 2404738 + PropertyAccessExpression 2404688 2404702 + PropertyAccessExpression 2404688 2404697 + Identifier 2404688 2404692 + Identifier 2404693 2404697 + Identifier 2404698 2404702 + EqualsEqualsEqualsToken 2404702 2404706 + PropertyAccessExpression 2404706 2404738 + Identifier 2404706 2404717 + Identifier 2404718 2404738 + Block 2404739 2404803 + ExpressionStatement 2404741 2404792 + CallExpression 2404741 2404791 + Identifier 2404741 2404780 + PropertyAccessExpression 2404781 2404790 + Identifier 2404781 2404785 + Identifier 2404786 2404790 + ReturnStatement 2404803 2404885 + CallExpression 2404821 2404884 + Identifier 2404821 2404855 + PropertyAccessExpression 2404856 2404872 + Identifier 2404856 2404860 + Identifier 2404861 2404872 + Identifier 2404873 2404883 + FunctionDeclaration 2404892 2405615 + Identifier 2404908 2404933 + Parameter 2404934 2404957 + Identifier 2404934 2404938 + TypeReference 2404939 2404957 + Identifier 2404939 2404957 + Parameter 2404958 2404980 + Identifier 2404958 2404968 + QuestionToken 2404968 2404969 + TypeReference 2404970 2404980 + Identifier 2404970 2404980 + TypeReference 2404982 2404987 + Identifier 2404982 2404987 + Block 2404987 2405615 + ExpressionStatement 2404989 2405053 + CallExpression 2404989 2405052 + Identifier 2404989 2405046 + Identifier 2405047 2405051 + IfStatement 2405053 2405407 + BinaryExpression 2405292 2405342 + PropertyAccessExpression 2405292 2405306 + PropertyAccessExpression 2405292 2405301 + Identifier 2405292 2405296 + Identifier 2405297 2405301 + Identifier 2405302 2405306 + EqualsEqualsEqualsToken 2405306 2405310 + PropertyAccessExpression 2405310 2405342 + Identifier 2405310 2405321 + Identifier 2405322 2405342 + Block 2405343 2405407 + ExpressionStatement 2405345 2405396 + CallExpression 2405345 2405395 + Identifier 2405345 2405384 + PropertyAccessExpression 2405385 2405394 + Identifier 2405385 2405389 + Identifier 2405390 2405394 + VariableStatement 2405407 2405508 + VariableDeclarationList 2405407 2405507 + VariableDeclaration 2405424 2405507 + Identifier 2405424 2405443 + CallExpression 2405445 2405507 + Identifier 2405445 2405490 + Identifier 2405491 2405495 + Identifier 2405496 2405506 + ReturnStatement 2405508 2405608 + CallExpression 2405524 2405607 + Identifier 2405524 2405570 + Identifier 2405571 2405575 + Identifier 2405576 2405595 + Identifier 2405596 2405606 + FunctionDeclaration 2405615 2411361 + Identifier 2405631 2405677 + Parameter 2405678 2405730 + Identifier 2405678 2405682 + UnionType 2405683 2405730 + TypeReference 2405683 2405694 + Identifier 2405683 2405694 + TypeReference 2405696 2405714 + Identifier 2405696 2405714 + TypeReference 2405716 2405730 + Identifier 2405716 2405730 + Parameter 2405731 2405742 + Identifier 2405731 2405736 + TypeReference 2405737 2405742 + Identifier 2405737 2405742 + Parameter 2405743 2405765 + Identifier 2405743 2405753 + QuestionToken 2405753 2405754 + TypeReference 2405755 2405765 + Identifier 2405755 2405765 + Block 2405766 2411361 + IfStatement 2405768 2411332 + BinaryExpression 2405782 2405863 + Identifier 2405782 2405791 + AmpersandAmpersandToken 2405791 2405794 + BinaryExpression 2405794 2405863 + Identifier 2405794 2405804 + AmpersandToken 2405804 2405806 + ParenthesizedExpression 2405806 2405863 + BinaryExpression 2405808 2405862 + PropertyAccessExpression 2405808 2405829 + Identifier 2405808 2405817 + Identifier 2405818 2405829 + BarToken 2405829 2405831 + PropertyAccessExpression 2405831 2405862 + Identifier 2405831 2405841 + Identifier 2405842 2405862 + Block 2405864 2411332 + VariableStatement 2405866 2405970 + VariableDeclarationList 2405866 2405969 + VariableDeclaration 2405885 2405969 + Identifier 2405885 2405899 + CallExpression 2405901 2405969 + Identifier 2405901 2405920 + Identifier 2405921 2405925 + PropertyAccessExpression 2405926 2405945 + Identifier 2405926 2405940 + Identifier 2405941 2405945 + TrueKeyword 2405946 2405968 + VariableStatement 2405970 2406084 + VariableDeclarationList 2405970 2406083 + VariableDeclaration 2405989 2406083 + Identifier 2405989 2406008 + CallExpression 2406010 2406083 + Identifier 2406010 2406029 + Identifier 2406030 2406034 + PropertyAccessExpression 2406035 2406059 + Identifier 2406035 2406049 + Identifier 2406050 2406059 + TrueKeyword 2406060 2406082 + VariableStatement 2406084 2406152 + VariableDeclarationList 2406084 2406151 + VariableDeclaration 2406103 2406151 + Identifier 2406103 2406113 + BinaryExpression 2406115 2406151 + Identifier 2406115 2406129 + BarBarToken 2406129 2406132 + Identifier 2406132 2406151 + IfStatement 2406152 2411321 + BinaryExpression 2406170 2406207 + Identifier 2406170 2406179 + AmpersandAmpersandToken 2406179 2406182 + PropertyAccessExpression 2406182 2406207 + Identifier 2406182 2406192 + Identifier 2406193 2406207 + Block 2406208 2411321 + VariableStatement 2406210 2406331 + VariableDeclarationList 2406210 2406330 + VariableDeclaration 2406233 2406330 + Identifier 2406233 2406248 + CallExpression 2406250 2406330 + Identifier 2406250 2406282 + AsExpression 2406283 2406301 + Identifier 2406283 2406287 + TypeReference 2406290 2406301 + Identifier 2406290 2406301 + PropertyAccessExpression 2406302 2406329 + Identifier 2406302 2406315 + Identifier 2406316 2406329 + IfStatement 2406331 2411306 + Identifier 2406353 2406367 + Block 2406368 2411306 + VariableStatement 2406370 2406561 + VariableDeclarationList 2406370 2406560 + VariableDeclaration 2406397 2406560 + Identifier 2406397 2406417 + CallExpression 2406419 2406560 + Identifier 2406419 2406438 + CallExpression 2406439 2406473 + Identifier 2406439 2406457 + Identifier 2406458 2406472 + ConditionalExpression 2406474 2406535 + Identifier 2406474 2406488 + QuestionToken 2406488 2406490 + PropertyAccessExpression 2406490 2406509 + Identifier 2406490 2406504 + Identifier 2406505 2406509 + ColonToken 2406509 2406511 + PropertyAccessExpression 2406511 2406535 + Identifier 2406511 2406525 + Identifier 2406526 2406535 + FalseKeyword 2406536 2406559 + IfStatement 2406561 2411287 + BinaryExpression 2406587 2406645 + Identifier 2406587 2406606 + AmpersandAmpersandToken 2406606 2406609 + PrefixUnaryExpression 2406609 2406645 + PropertyAccessExpression 2406611 2406645 + Identifier 2406611 2406630 + Identifier 2406631 2406645 + Block 2406646 2411287 + IfStatement 2406648 2406873 + BinaryExpression 2406678 2406720 + Identifier 2406678 2406687 + AmpersandToken 2406687 2406689 + PropertyAccessExpression 2406689 2406720 + Identifier 2406689 2406699 + Identifier 2406700 2406720 + Block 2406721 2406873 + ExpressionStatement 2406723 2406793 + CallExpression 2406723 2406792 + Identifier 2406723 2406775 + Identifier 2406776 2406780 + Identifier 2406781 2406791 + ReturnStatement 2406793 2406846 + Identifier 2406829 2406845 + VariableStatement 2406873 2406942 + VariableDeclarationList 2406873 2406941 + VariableDeclaration 2406904 2406941 + Identifier 2406904 2406912 + NonNullExpression 2406914 2406941 + CallExpression 2406914 2406940 + Identifier 2406914 2406934 + Identifier 2406935 2406939 + VariableStatement 2406942 2407748 + VariableDeclarationList 2406942 2407747 + VariableDeclaration 2407669 2407747 + Identifier 2407669 2407680 + BinaryExpression 2407682 2407747 + PropertyAccessExpression 2407682 2407700 + Identifier 2407682 2407690 + Identifier 2407691 2407700 + AmpersandAmpersandToken 2407700 2407703 + CallExpression 2407703 2407747 + Identifier 2407703 2407728 + PropertyAccessExpression 2407729 2407746 + Identifier 2407729 2407736 + Identifier 2407737 2407746 + VariableStatement 2407748 2407858 + VariableDeclarationList 2407748 2407857 + VariableDeclaration 2407779 2407857 + Identifier 2407779 2407795 + BinaryExpression 2407797 2407857 + Identifier 2407797 2407808 + AmpersandAmpersandToken 2407808 2407811 + CallExpression 2407811 2407857 + Identifier 2407811 2407845 + Identifier 2407846 2407856 + IfStatement 2407858 2410504 + BinaryExpression 2407888 2407992 + BinaryExpression 2407888 2407938 + Identifier 2407888 2407903 + AmpersandAmpersandToken 2407903 2407906 + PrefixUnaryExpression 2407906 2407938 + PropertyAccessExpression 2407908 2407938 + Identifier 2407908 2407923 + Identifier 2407924 2407938 + AmpersandAmpersandToken 2407938 2407941 + PrefixUnaryExpression 2407941 2407992 + CallExpression 2407943 2407992 + Identifier 2407943 2407948 + PropertyAccessExpression 2407949 2407967 + Identifier 2407949 2407956 + Identifier 2407957 2407967 + Identifier 2407968 2407991 + Block 2407993 2410504 + VariableStatement 2407995 2408323 + VariableDeclarationList 2407995 2408322 + VariableDeclaration 2408240 2408322 + Identifier 2408240 2408261 + CallExpression 2408263 2408322 + Identifier 2408263 2408287 + Identifier 2408288 2408295 + PropertyAccessExpression 2408296 2408321 + Identifier 2408296 2408306 + Identifier 2408307 2408321 + VariableStatement 2408323 2408471 + VariableDeclarationList 2408323 2408470 + VariableDeclaration 2408358 2408470 + Identifier 2408358 2408380 + CallExpression 2408382 2408470 + Identifier 2408382 2408437 + Identifier 2408438 2408447 + Identifier 2408448 2408469 + VariableStatement 2408471 2408811 + VariableDeclarationList 2408471 2408810 + VariableDeclaration 2408724 2408810 + Identifier 2408724 2408735 + CallExpression 2408737 2408810 + Identifier 2408737 2408741 + PropertyAccessExpression 2408742 2408760 + Identifier 2408742 2408749 + Identifier 2408750 2408760 + ArrowFunction 2408761 2408809 + Parameter 2408761 2408766 + Identifier 2408761 2408766 + EqualsGreaterThanToken 2408766 2408769 + CallExpression 2408769 2408809 + Identifier 2408769 2408789 + PropertyAccessExpression 2408790 2408808 + Identifier 2408790 2408794 + Identifier 2408795 2408808 + ExpressionStatement 2408811 2409074 + CallExpression 2408811 2409073 + Identifier 2408811 2408862 + Identifier 2408863 2408884 + Identifier 2408885 2408905 + ArrowFunction 2408906 2409072 + Parameter 2408908 2408914 + Identifier 2408908 2408914 + Parameter 2408915 2408922 + Identifier 2408915 2408922 + EqualsGreaterThanToken 2408923 2408926 + Block 2408926 2409072 + ExpressionStatement 2408928 2409041 + CallExpression 2408928 2409040 + Identifier 2408928 2408972 + Identifier 2408973 2408983 + Identifier 2408984 2408991 + Identifier 2408992 2408999 + NumericLiteral 2409000 2409015 + TrueKeyword 2409016 2409039 + IfStatement 2409074 2410477 + CallExpression 2409108 2409148 + Identifier 2409108 2409112 + Identifier 2409113 2409123 + Identifier 2409124 2409147 + Block 2409149 2410477 + ExpressionStatement 2409151 2409633 + CallExpression 2409151 2409632 + Identifier 2409151 2409453 + Identifier 2409454 2409475 + Identifier 2409476 2409496 + ArrowFunction 2409497 2409631 + Parameter 2409499 2409505 + Identifier 2409499 2409505 + Parameter 2409506 2409513 + Identifier 2409506 2409513 + EqualsGreaterThanToken 2409514 2409517 + Block 2409517 2409631 + ExpressionStatement 2409519 2409596 + CallExpression 2409519 2409595 + Identifier 2409519 2409567 + Identifier 2409568 2409578 + Identifier 2409579 2409586 + Identifier 2409587 2409594 + IfStatement 2409633 2410446 + PrefixUnaryExpression 2410031 2410088 + CallExpression 2410032 2410088 + Identifier 2410032 2410056 + PropertyAccessExpression 2410057 2410075 + Identifier 2410057 2410064 + Identifier 2410065 2410075 + Identifier 2410076 2410087 + Block 2410089 2410446 + ExpressionStatement 2410091 2410177 + CallExpression 2410091 2410176 + Identifier 2410091 2410144 + PropertyAccessExpression 2410145 2410163 + Identifier 2410145 2410152 + Identifier 2410153 2410163 + Identifier 2410164 2410175 + ExpressionStatement 2410177 2410314 + BinaryExpression 2410177 2410313 + PropertyAccessExpression 2410177 2410245 + Identifier 2410177 2410222 + Identifier 2410223 2410245 + EqualsToken 2410245 2410247 + CallExpression 2410247 2410313 + Identifier 2410247 2410259 + PropertyAccessExpression 2410260 2410290 + Identifier 2410260 2410267 + Identifier 2410268 2410290 + Identifier 2410291 2410312 + ReturnStatement 2410314 2410411 + CallExpression 2410358 2410410 + Identifier 2410358 2410387 + Identifier 2410388 2410409 + ReturnStatement 2410504 2411264 + CallExpression 2411073 2411263 + Identifier 2411073 2411102 + CallExpression 2411103 2411175 + Identifier 2411103 2411134 + Identifier 2411135 2411144 + Identifier 2411145 2411165 + Identifier 2411166 2411174 + CallExpression 2411176 2411262 + PropertyAccessExpression 2411176 2411260 + CallExpression 2411176 2411254 + Identifier 2411176 2411184 + Identifier 2411185 2411202 + ArrowFunction 2411203 2411253 + Parameter 2411203 2411205 + Identifier 2411203 2411205 + EqualsGreaterThanToken 2411205 2411208 + BinaryExpression 2411208 2411253 + Identifier 2411208 2411210 + AmpersandAmpersandToken 2411210 2411213 + CallExpression 2411213 2411253 + Identifier 2411213 2411217 + PropertyAccessExpression 2411218 2411230 + Identifier 2411218 2411219 + Identifier 2411220 2411230 + ArrowFunction 2411231 2411252 + Parameter 2411231 2411233 + Identifier 2411231 2411233 + EqualsGreaterThanToken 2411233 2411236 + PropertyAccessExpression 2411236 2411252 + Identifier 2411236 2411238 + Identifier 2411239 2411252 + Identifier 2411255 2411260 + ReturnStatement 2411332 2411354 + Identifier 2411348 2411353 + FunctionDeclaration 2411361 2411843 + Identifier 2411377 2411400 + Parameter 2411401 2411411 + Identifier 2411401 2411405 + TypeReference 2411406 2411411 + Identifier 2411406 2411411 + Parameter 2411412 2411433 + Identifier 2411412 2411422 + TypeReference 2411423 2411433 + Identifier 2411423 2411433 + Block 2411434 2411843 + IfStatement 2411436 2411836 + BinaryExpression 2411450 2411483 + Identifier 2411450 2411459 + AmpersandToken 2411459 2411461 + PropertyAccessExpression 2411461 2411483 + Identifier 2411461 2411471 + Identifier 2411472 2411483 + Block 2411484 2411836 + VariableStatement 2411486 2411756 + VariableDeclarationList 2411486 2411755 + VariableDeclaration 2411718 2411755 + Identifier 2411718 2411726 + NonNullExpression 2411728 2411755 + CallExpression 2411728 2411754 + Identifier 2411728 2411748 + Identifier 2411749 2411753 + ExpressionStatement 2411756 2411825 + BinaryExpression 2411756 2411824 + PropertyAccessExpression 2411756 2411783 + Identifier 2411756 2411777 + Identifier 2411778 2411783 + BarEqualsToken 2411783 2411786 + PropertyAccessExpression 2411786 2411824 + Identifier 2411786 2411801 + Identifier 2411802 2411824 + FunctionDeclaration 2411843 2411974 + Identifier 2411859 2411882 + Parameter 2411883 2411902 + Identifier 2411883 2411887 + TypeReference 2411888 2411902 + Identifier 2411888 2411902 + Block 2411903 2411974 + ReturnStatement 2411905 2411967 + PrefixUnaryExpression 2411921 2411966 + PrefixUnaryExpression 2411923 2411966 + ParenthesizedExpression 2411924 2411966 + BinaryExpression 2411925 2411965 + PropertyAccessExpression 2411925 2411940 + Identifier 2411925 2411929 + Identifier 2411930 2411940 + BarBarToken 2411940 2411943 + PropertyAccessExpression 2411943 2411965 + Identifier 2411943 2411948 + Identifier 2411949 2411965 + FunctionDeclaration 2411974 2412161 + Identifier 2411990 2412022 + Parameter 2412023 2412042 + Identifier 2412023 2412027 + TypeReference 2412028 2412042 + Identifier 2412028 2412042 + Block 2412043 2412161 + ReturnStatement 2412045 2412154 + PrefixUnaryExpression 2412061 2412153 + PrefixUnaryExpression 2412063 2412153 + ParenthesizedExpression 2412064 2412153 + BinaryExpression 2412065 2412152 + BinaryExpression 2412065 2412105 + PropertyAccessExpression 2412065 2412080 + Identifier 2412065 2412069 + Identifier 2412070 2412080 + BarBarToken 2412080 2412083 + PropertyAccessExpression 2412083 2412105 + Identifier 2412083 2412088 + Identifier 2412089 2412105 + BarBarToken 2412105 2412108 + CallExpression 2412108 2412152 + Identifier 2412108 2412132 + PropertyAccessExpression 2412133 2412151 + Identifier 2412133 2412137 + Identifier 2412138 2412151 + FunctionDeclaration 2412161 2412457 + Identifier 2412177 2412202 + Parameter 2412203 2412221 + Identifier 2412203 2412204 + ArrayType 2412205 2412221 + TypeReference 2412205 2412219 + Identifier 2412205 2412219 + Parameter 2412222 2412241 + Identifier 2412222 2412224 + ArrayType 2412225 2412241 + TypeReference 2412225 2412239 + Identifier 2412225 2412239 + Block 2412242 2412457 + ForStatement 2412244 2412427 + VariableDeclarationList 2412259 2412268 + VariableDeclaration 2412262 2412268 + Identifier 2412262 2412264 + NumericLiteral 2412266 2412268 + BinaryExpression 2412269 2412282 + Identifier 2412269 2412271 + LessThanToken 2412271 2412273 + PropertyAccessExpression 2412273 2412282 + Identifier 2412273 2412275 + Identifier 2412276 2412282 + PostfixUnaryExpression 2412283 2412287 + Identifier 2412283 2412285 + Block 2412288 2412427 + IfStatement 2412290 2412416 + BinaryExpression 2412308 2412368 + CallExpression 2412308 2412336 + Identifier 2412308 2412330 + ElementAccessExpression 2412331 2412335 + Identifier 2412331 2412332 + Identifier 2412333 2412334 + AmpersandAmpersandToken 2412336 2412339 + CallExpression 2412339 2412368 + Identifier 2412339 2412362 + ElementAccessExpression 2412363 2412367 + Identifier 2412363 2412364 + Identifier 2412365 2412366 + Block 2412369 2412416 + ReturnStatement 2412371 2412401 + TrueKeyword 2412395 2412400 + ReturnStatement 2412427 2412450 + FalseKeyword 2412443 2412449 + FunctionDeclaration 2412457 2412757 + Identifier 2412473 2412489 + Parameter 2412490 2412513 + Identifier 2412490 2412496 + ArrayType 2412497 2412513 + TypeReference 2412497 2412511 + Identifier 2412497 2412511 + Parameter 2412514 2412538 + Identifier 2412514 2412521 + ArrayType 2412522 2412538 + TypeReference 2412522 2412536 + Identifier 2412522 2412536 + Block 2412539 2412757 + ForStatement 2412541 2412750 + VariableDeclarationList 2412556 2412565 + VariableDeclaration 2412559 2412565 + Identifier 2412559 2412561 + NumericLiteral 2412563 2412565 + BinaryExpression 2412566 2412584 + Identifier 2412566 2412568 + LessThanToken 2412568 2412570 + PropertyAccessExpression 2412570 2412584 + Identifier 2412570 2412577 + Identifier 2412578 2412584 + PostfixUnaryExpression 2412585 2412589 + Identifier 2412585 2412587 + Block 2412590 2412750 + IfStatement 2412592 2412739 + BinaryExpression 2412610 2412681 + PrefixUnaryExpression 2412610 2412644 + CallExpression 2412611 2412644 + Identifier 2412611 2412633 + ElementAccessExpression 2412634 2412643 + Identifier 2412634 2412640 + Identifier 2412641 2412642 + AmpersandAmpersandToken 2412644 2412647 + CallExpression 2412647 2412681 + Identifier 2412647 2412670 + ElementAccessExpression 2412671 2412680 + Identifier 2412671 2412677 + Identifier 2412678 2412679 + Block 2412682 2412739 + ExpressionStatement 2412684 2412724 + BinaryExpression 2412684 2412723 + ElementAccessExpression 2412684 2412711 + Identifier 2412684 2412708 + Identifier 2412709 2412710 + EqualsToken 2412711 2412713 + ElementAccessExpression 2412713 2412723 + Identifier 2412713 2412720 + Identifier 2412721 2412722 + FunctionDeclaration 2412757 2414152 + Identifier 2412773 2412797 + Parameter 2412798 2412823 + Identifier 2412798 2412805 + TypeReference 2412806 2412823 + Identifier 2412806 2412823 + Parameter 2412824 2412865 + Identifier 2412824 2412839 + TypeOperator 2412840 2412865 + ArrayType 2412849 2412865 + TypeReference 2412849 2412863 + Identifier 2412849 2412863 + TypeOperator 2412867 2412892 + ArrayType 2412876 2412892 + TypeReference 2412876 2412890 + Identifier 2412876 2412890 + Block 2412892 2414152 + VariableStatement 2412894 2412939 + VariableDeclarationList 2412894 2412938 + VariableDeclaration 2412909 2412938 + Identifier 2412909 2412916 + ArrayType 2412917 2412933 + TypeReference 2412917 2412931 + Identifier 2412917 2412931 + ArrayLiteralExpression 2412935 2412938 + VariableStatement 2412939 2413000 + VariableDeclarationList 2412939 2412999 + VariableDeclaration 2412952 2412999 + Identifier 2412952 2412970 + UnionType 2412971 2412999 + ArrayType 2412971 2412987 + TypeReference 2412971 2412985 + Identifier 2412971 2412985 + UndefinedKeyword 2412989 2412999 + VariableStatement 2413000 2413061 + VariableDeclarationList 2413000 2413060 + VariableDeclaration 2413013 2413060 + Identifier 2413013 2413031 + UnionType 2413032 2413060 + ArrayType 2413032 2413048 + TypeReference 2413032 2413046 + Identifier 2413032 2413046 + UndefinedKeyword 2413050 2413060 + ForOfStatement 2413061 2413888 + VariableDeclarationList 2413076 2413084 + VariableDeclaration 2413081 2413084 + Identifier 2413081 2413084 + Identifier 2413087 2413102 + Block 2413103 2413888 + VariableStatement 2413105 2413154 + VariableDeclarationList 2413105 2413153 + VariableDeclaration 2413124 2413153 + Identifier 2413124 2413129 + PropertyAccessExpression 2413131 2413153 + PropertyAccessExpression 2413131 2413141 + Identifier 2413131 2413134 + Identifier 2413135 2413141 + Identifier 2413142 2413153 + IfStatement 2413154 2413877 + BinaryExpression 2413172 2413272 + CallExpression 2413172 2413232 + Identifier 2413172 2413194 + PropertyAccessExpression 2413195 2413225 + Identifier 2413195 2413202 + Identifier 2413203 2413225 + Identifier 2413226 2413231 + BarBarToken 2413232 2413235 + CallExpression 2413235 2413272 + Identifier 2413235 2413258 + Identifier 2413259 2413265 + Identifier 2413266 2413271 + Block 2413273 2413808 + VariableStatement 2413275 2413395 + VariableDeclarationList 2413275 2413394 + VariableDeclaration 2413298 2413394 + Identifier 2413298 2413306 + CallExpression 2413308 2413394 + Identifier 2413308 2413335 + CallExpression 2413336 2413387 + Identifier 2413336 2413347 + PropertyAccessExpression 2413348 2413378 + Identifier 2413348 2413355 + Identifier 2413356 2413378 + Identifier 2413379 2413386 + Identifier 2413388 2413393 + VariableStatement 2413395 2413477 + VariableDeclarationList 2413395 2413476 + VariableDeclaration 2413418 2413476 + Identifier 2413418 2413425 + CallExpression 2413427 2413476 + Identifier 2413427 2413440 + PropertyAccessExpression 2413441 2413466 + Identifier 2413441 2413452 + Identifier 2413453 2413466 + Identifier 2413467 2413475 + VariableStatement 2413477 2413548 + VariableDeclarationList 2413477 2413547 + VariableDeclaration 2413500 2413547 + Identifier 2413500 2413517 + CallExpression 2413519 2413547 + Identifier 2413519 2413539 + Identifier 2413540 2413546 + ExpressionStatement 2413548 2413595 + BinaryExpression 2413548 2413594 + PropertyAccessExpression 2413548 2413589 + Identifier 2413548 2413582 + Identifier 2413583 2413589 + EqualsToken 2413589 2413591 + Identifier 2413591 2413594 + ExpressionStatement 2413595 2413663 + BinaryExpression 2413595 2413662 + Identifier 2413595 2413630 + EqualsToken 2413630 2413632 + CallExpression 2413632 2413662 + Identifier 2413632 2413639 + Identifier 2413640 2413657 + Identifier 2413658 2413661 + ExpressionStatement 2413663 2413745 + BinaryExpression 2413663 2413744 + Identifier 2413663 2413698 + EqualsToken 2413698 2413700 + CallExpression 2413700 2413744 + Identifier 2413700 2413707 + Identifier 2413708 2413725 + Identifier 2413726 2413743 + ExpressionStatement 2413745 2413793 + CallExpression 2413745 2413792 + PropertyAccessExpression 2413745 2413774 + Identifier 2413745 2413769 + Identifier 2413770 2413774 + Identifier 2413775 2413791 + Block 2413826 2413877 + ExpressionStatement 2413828 2413862 + CallExpression 2413828 2413861 + PropertyAccessExpression 2413828 2413857 + Identifier 2413828 2413852 + Identifier 2413853 2413857 + Identifier 2413858 2413860 + IfStatement 2413888 2414121 + Identifier 2413902 2413919 + Block 2413920 2414121 + VariableStatement 2413922 2414007 + VariableDeclarationList 2413922 2414006 + VariableDeclaration 2413941 2414006 + Identifier 2413941 2413948 + CallExpression 2413950 2414006 + Identifier 2413950 2413967 + NonNullExpression 2413968 2413986 + Identifier 2413968 2413985 + Identifier 2413987 2414005 + ForOfStatement 2414007 2414110 + VariableDeclarationList 2414026 2414034 + VariableDeclaration 2414031 2414034 + Identifier 2414031 2414034 + Identifier 2414037 2414055 + Block 2414056 2414110 + ExpressionStatement 2414058 2414095 + BinaryExpression 2414058 2414094 + PropertyAccessExpression 2414058 2414085 + Identifier 2414058 2414078 + Identifier 2414079 2414085 + EqualsToken 2414085 2414087 + Identifier 2414087 2414094 + ReturnStatement 2414121 2414145 + Identifier 2414137 2414144 + FunctionDeclaration 2414152 2414346 + Identifier 2414168 2414191 + Parameter 2414192 2414244 + Identifier 2414192 2414206 + UnionType 2414207 2414244 + TypeOperator 2414207 2414232 + ArrayType 2414216 2414232 + TypeReference 2414216 2414230 + Identifier 2414216 2414230 + UndefinedKeyword 2414234 2414244 + Parameter 2414245 2414260 + Identifier 2414245 2414250 + TypeReference 2414251 2414260 + Identifier 2414251 2414260 + Block 2414261 2414346 + ReturnStatement 2414263 2414339 + CallExpression 2414279 2414338 + Identifier 2414279 2414284 + Identifier 2414285 2414299 + ArrowFunction 2414300 2414337 + Parameter 2414300 2414303 + Identifier 2414300 2414303 + EqualsGreaterThanToken 2414303 2414306 + BinaryExpression 2414306 2414337 + PropertyAccessExpression 2414306 2414328 + PropertyAccessExpression 2414306 2414316 + Identifier 2414306 2414309 + Identifier 2414310 2414316 + Identifier 2414317 2414328 + EqualsEqualsEqualsToken 2414328 2414332 + Identifier 2414332 2414337 + FunctionDeclaration 2414346 2414969 + Identifier 2414362 2414389 + Parameter 2414390 2414430 + Identifier 2414390 2414404 + TypeOperator 2414405 2414430 + ArrayType 2414414 2414430 + TypeReference 2414414 2414428 + Identifier 2414414 2414428 + Parameter 2414431 2414450 + Identifier 2414431 2414440 + TypeReference 2414441 2414450 + Identifier 2414441 2414450 + Block 2414451 2414969 + VariableStatement 2414453 2414501 + VariableDeclarationList 2414453 2414500 + VariableDeclaration 2414466 2414500 + Identifier 2414466 2414470 + PropertyAccessExpression 2414472 2414500 + ParenthesizedExpression 2414472 2414493 + AsExpression 2414474 2414492 + Identifier 2414474 2414482 + StringKeyword 2414485 2414492 + Identifier 2414494 2414500 + WhileStatement 2414501 2414663 + BinaryExpression 2414518 2414655 + BinaryExpression 2414518 2414590 + BinaryExpression 2414518 2414525 + Identifier 2414518 2414521 + GreaterThanToken 2414521 2414523 + NumericLiteral 2414523 2414525 + AmpersandAmpersandToken 2414525 2414528 + BinaryExpression 2414528 2414590 + CallExpression 2414528 2414569 + PropertyAccessExpression 2414528 2414560 + ParenthesizedExpression 2414528 2414549 + AsExpression 2414530 2414548 + Identifier 2414530 2414538 + StringKeyword 2414541 2414548 + Identifier 2414550 2414560 + BinaryExpression 2414561 2414568 + Identifier 2414561 2414564 + MinusToken 2414564 2414566 + NumericLiteral 2414566 2414568 + GreaterThanEqualsToken 2414569 2414572 + PropertyAccessExpression 2414572 2414590 + Identifier 2414572 2414587 + Identifier 2414588 2414590 + AmpersandAmpersandToken 2414590 2414593 + BinaryExpression 2414593 2414655 + CallExpression 2414593 2414634 + PropertyAccessExpression 2414593 2414625 + ParenthesizedExpression 2414593 2414614 + AsExpression 2414595 2414613 + Identifier 2414595 2414603 + StringKeyword 2414606 2414613 + Identifier 2414615 2414625 + BinaryExpression 2414626 2414633 + Identifier 2414626 2414629 + MinusToken 2414629 2414631 + NumericLiteral 2414631 2414633 + LessThanEqualsToken 2414634 2414637 + PropertyAccessExpression 2414637 2414655 + Identifier 2414637 2414652 + Identifier 2414653 2414655 + ExpressionStatement 2414656 2414663 + PostfixUnaryExpression 2414656 2414662 + Identifier 2414656 2414660 + VariableStatement 2414663 2414718 + VariableDeclarationList 2414663 2414717 + VariableDeclaration 2414678 2414717 + Identifier 2414678 2414680 + CallExpression 2414682 2414717 + PropertyAccessExpression 2414682 2414709 + ParenthesizedExpression 2414682 2414703 + AsExpression 2414684 2414702 + Identifier 2414684 2414692 + StringKeyword 2414695 2414702 + Identifier 2414704 2414709 + NumericLiteral 2414710 2414711 + Identifier 2414712 2414716 + ForStatement 2414718 2414962 + VariableDeclarationList 2414733 2414746 + VariableDeclaration 2414736 2414746 + Identifier 2414736 2414742 + NumericLiteral 2414744 2414746 + TrueKeyword 2414747 2414752 + PostfixUnaryExpression 2414753 2414761 + Identifier 2414753 2414759 + Block 2414762 2414962 + VariableStatement 2414764 2414822 + VariableDeclarationList 2414764 2414821 + VariableDeclaration 2414783 2414821 + Identifier 2414783 2414797 + AsExpression 2414799 2414821 + BinaryExpression 2414799 2414809 + Identifier 2414799 2414801 + PlusToken 2414801 2414803 + Identifier 2414803 2414809 + TypeReference 2414812 2414821 + Identifier 2414812 2414821 + IfStatement 2414822 2414951 + PrefixUnaryExpression 2414840 2414894 + CallExpression 2414841 2414894 + Identifier 2414841 2414863 + Identifier 2414864 2414878 + Identifier 2414879 2414893 + Block 2414895 2414951 + ReturnStatement 2414897 2414936 + Identifier 2414921 2414935 + FunctionDeclaration 2414969 2415239 + Identifier 2414985 2415030 + Parameter 2415031 2415045 + Identifier 2415031 2415039 + TypeReference 2415040 2415045 + Identifier 2415040 2415045 + Block 2415046 2415239 + VariableStatement 2415048 2415109 + VariableDeclarationList 2415048 2415108 + VariableDeclaration 2415063 2415108 + Identifier 2415063 2415073 + CallExpression 2415075 2415108 + Identifier 2415075 2415098 + Identifier 2415099 2415107 + IfStatement 2415109 2415232 + BinaryExpression 2415123 2415161 + Identifier 2415123 2415132 + AmpersandAmpersandToken 2415132 2415135 + PrefixUnaryExpression 2415135 2415161 + PropertyAccessExpression 2415137 2415161 + Identifier 2415137 2415146 + Identifier 2415147 2415161 + Block 2415162 2415232 + ReturnStatement 2415164 2415221 + CallExpression 2415184 2415220 + Identifier 2415184 2415209 + Identifier 2415210 2415219 + FunctionDeclaration 2415239 2415671 + Identifier 2415255 2415307 + Parameter 2415308 2415323 + Identifier 2415308 2415312 + TypeReference 2415313 2415323 + Identifier 2415313 2415323 + Block 2415324 2415671 + VariableStatement 2415326 2415386 + VariableDeclarationList 2415326 2415385 + VariableDeclaration 2415341 2415385 + Identifier 2415341 2415350 + CallExpression 2415352 2415385 + Identifier 2415352 2415368 + PropertyAccessExpression 2415369 2415384 + Identifier 2415369 2415373 + Identifier 2415374 2415384 + VariableStatement 2415386 2415473 + VariableDeclarationList 2415386 2415472 + VariableDeclaration 2415401 2415472 + Identifier 2415401 2415417 + CallExpression 2415419 2415472 + Identifier 2415419 2415445 + Identifier 2415446 2415454 + PropertyAccessExpression 2415455 2415471 + Identifier 2415455 2415460 + Identifier 2415461 2415471 + VariableStatement 2415473 2415557 + VariableDeclarationList 2415473 2415556 + VariableDeclaration 2415488 2415556 + Identifier 2415488 2415499 + CallExpression 2415501 2415556 + Identifier 2415501 2415546 + Identifier 2415547 2415555 + ReturnStatement 2415557 2415664 + BinaryExpression 2415573 2415663 + Identifier 2415573 2415584 + AmpersandAmpersandToken 2415584 2415587 + CallExpression 2415587 2415663 + Identifier 2415587 2415615 + Identifier 2415616 2415626 + Identifier 2415627 2415632 + BinaryExpression 2415633 2415662 + Identifier 2415633 2415649 + ExclamationEqualsEqualsToken 2415649 2415653 + Identifier 2415653 2415662 + FunctionDeclaration 2415671 2416950 + Identifier 2415904 2415924 + Parameter 2415925 2415941 + Identifier 2415925 2415929 + TypeReference 2415930 2415941 + Identifier 2415930 2415941 + Block 2415942 2416950 + VariableStatement 2415944 2416098 + VariableDeclarationList 2415944 2416097 + VariableDeclaration 2416054 2416097 + Identifier 2416054 2416064 + CallExpression 2416066 2416097 + Identifier 2416066 2416091 + Identifier 2416092 2416096 + IfStatement 2416098 2416166 + Identifier 2416112 2416121 + Block 2416122 2416166 + ReturnStatement 2416124 2416155 + Identifier 2416144 2416154 + IfStatement 2416166 2416453 + BinaryExpression 2416243 2416293 + BinaryExpression 2416243 2416276 + PropertyAccessExpression 2416243 2416253 + Identifier 2416243 2416247 + Identifier 2416248 2416253 + AmpersandToken 2416253 2416255 + PropertyAccessExpression 2416255 2416276 + Identifier 2416255 2416265 + Identifier 2416266 2416276 + AmpersandAmpersandToken 2416276 2416279 + Identifier 2416279 2416293 + Block 2416294 2416453 + VariableStatement 2416296 2416360 + VariableDeclarationList 2416296 2416359 + VariableDeclaration 2416315 2416359 + Identifier 2416315 2416326 + ElementAccessExpression 2416328 2416359 + Identifier 2416328 2416342 + CallExpression 2416343 2416358 + Identifier 2416343 2416352 + Identifier 2416353 2416357 + IfStatement 2416360 2416442 + Identifier 2416378 2416388 + Block 2416389 2416442 + ReturnStatement 2416391 2416427 + Identifier 2416415 2416426 + VariableStatement 2416453 2416512 + VariableDeclarationList 2416453 2416511 + VariableDeclaration 2416468 2416511 + Identifier 2416468 2416489 + Identifier 2416491 2416511 + VariableStatement 2416512 2416577 + VariableDeclarationList 2416512 2416576 + VariableDeclaration 2416527 2416576 + Identifier 2416527 2416532 + CallExpression 2416534 2416576 + Identifier 2416534 2416550 + Identifier 2416551 2416555 + PropertyAccessExpression 2416556 2416575 + Identifier 2416556 2416566 + Identifier 2416567 2416575 + IfStatement 2416577 2416921 + BinaryExpression 2416685 2416729 + Identifier 2416685 2416704 + ExclamationEqualsEqualsToken 2416704 2416708 + Identifier 2416708 2416729 + Block 2416730 2416921 + VariableStatement 2416732 2416798 + VariableDeclarationList 2416732 2416797 + VariableDeclaration 2416751 2416797 + Identifier 2416751 2416757 + BinaryExpression 2416759 2416797 + Identifier 2416759 2416773 + BarBarToken 2416773 2416776 + ParenthesizedExpression 2416776 2416797 + BinaryExpression 2416778 2416796 + Identifier 2416778 2416791 + EqualsToken 2416791 2416793 + ArrayLiteralExpression 2416793 2416796 + ExpressionStatement 2416798 2416842 + BinaryExpression 2416798 2416841 + ElementAccessExpression 2416798 2416834 + Identifier 2416798 2416817 + CallExpression 2416818 2416833 + Identifier 2416818 2416827 + Identifier 2416828 2416832 + EqualsToken 2416834 2416836 + Identifier 2416836 2416841 + ExpressionStatement 2416842 2416910 + CallExpression 2416842 2416909 + Identifier 2416842 2416868 + Identifier 2416869 2416873 + BinaryExpression 2416874 2416908 + PropertyAccessExpression 2416874 2416885 + Identifier 2416874 2416879 + Identifier 2416880 2416885 + BarToken 2416885 2416887 + PropertyAccessExpression 2416887 2416908 + Identifier 2416887 2416897 + Identifier 2416898 2416908 + ReturnStatement 2416921 2416943 + Identifier 2416937 2416942 + FunctionDeclaration 2416950 2418481 + Identifier 2416966 2416991 + Parameter 2416992 2417008 + Identifier 2416992 2416996 + TypeReference 2416997 2417008 + Identifier 2416997 2417008 + UnionType 2417010 2417027 + TypeReference 2417010 2417015 + Identifier 2417010 2417015 + UndefinedKeyword 2417017 2417027 + Block 2417027 2418481 + VariableStatement 2417029 2417109 + VariableDeclarationList 2417029 2417108 + VariableDeclaration 2417042 2417108 + Identifier 2417042 2417047 + CallExpression 2417049 2417108 + Identifier 2417049 2417065 + Identifier 2417066 2417070 + TrueKeyword 2417071 2417107 + IfStatement 2417109 2417336 + CallExpression 2417123 2417149 + Identifier 2417123 2417143 + Identifier 2417144 2417148 + Block 2417150 2417336 + VariableStatement 2417152 2417211 + VariableDeclarationList 2417152 2417210 + VariableDeclaration 2417171 2417210 + Identifier 2417171 2417176 + CallExpression 2417178 2417210 + Identifier 2417178 2417204 + Identifier 2417205 2417209 + IfStatement 2417211 2417325 + PrefixUnaryExpression 2417229 2417256 + CallExpression 2417230 2417256 + Identifier 2417230 2417250 + Identifier 2417251 2417255 + Block 2417257 2417325 + ReturnStatement 2417259 2417310 + CallExpression 2417283 2417309 + Identifier 2417283 2417303 + Identifier 2417304 2417308 + ExpressionStatement 2417336 2417375 + BinaryExpression 2417336 2417374 + Identifier 2417336 2417350 + EqualsToken 2417350 2417352 + CallExpression 2417352 2417374 + Identifier 2417352 2417368 + Identifier 2417369 2417373 + IfStatement 2417375 2417556 + CallExpression 2417389 2417412 + Identifier 2417389 2417406 + Identifier 2417407 2417411 + Block 2417413 2417556 + VariableStatement 2417415 2417484 + VariableDeclarationList 2417415 2417483 + VariableDeclaration 2417434 2417483 + Identifier 2417434 2417439 + CallExpression 2417441 2417483 + Identifier 2417441 2417466 + PropertyAccessExpression 2417467 2417482 + Identifier 2417467 2417471 + Identifier 2417472 2417482 + ReturnStatement 2417484 2417545 + ConditionalExpression 2417504 2417544 + Identifier 2417504 2417509 + QuestionToken 2417509 2417511 + CallExpression 2417511 2417532 + Identifier 2417511 2417526 + Identifier 2417527 2417531 + ColonToken 2417532 2417534 + Identifier 2417534 2417544 + IfStatement 2417556 2418447 + BinaryExpression 2417760 2417935 + BinaryExpression 2417760 2417901 + BinaryExpression 2417760 2417834 + CallExpression 2417760 2417782 + Identifier 2417760 2417776 + Identifier 2417777 2417781 + AmpersandAmpersandToken 2417782 2417785 + BinaryExpression 2417785 2417834 + PropertyAccessExpression 2417785 2417806 + PropertyAccessExpression 2417785 2417801 + Identifier 2417785 2417790 + Identifier 2417791 2417801 + Identifier 2417802 2417806 + ExclamationEqualsEqualsToken 2417806 2417810 + PropertyAccessExpression 2417810 2417834 + Identifier 2417810 2417821 + Identifier 2417822 2417834 + AmpersandAmpersandToken 2417834 2417837 + PrefixUnaryExpression 2417837 2417901 + CallExpression 2417839 2417901 + Identifier 2417839 2417852 + Identifier 2417853 2417857 + TrueKeyword 2417858 2417900 + AmpersandAmpersandToken 2417901 2417904 + PrefixUnaryExpression 2417904 2417935 + CallExpression 2417906 2417935 + Identifier 2417906 2417929 + Identifier 2417930 2417934 + Block 2417936 2418153 + ReturnStatement 2417938 2418142 + ConditionalExpression 2417958 2418141 + CallExpression 2417958 2417976 + Identifier 2417958 2417970 + Identifier 2417971 2417975 + QuestionToken 2417976 2417978 + CallExpression 2417978 2418036 + Identifier 2417978 2418030 + Identifier 2418031 2418035 + ColonToken 2418036 2418038 + CallExpression 2418038 2418141 + Identifier 2418038 2418100 + CallExpression 2418101 2418140 + Identifier 2418101 2418123 + PropertyAccessExpression 2418124 2418139 + Identifier 2418124 2418128 + Identifier 2418129 2418139 + IfStatement 2418167 2418447 + BinaryExpression 2418172 2418235 + CallExpression 2418172 2418199 + Identifier 2418172 2418193 + Identifier 2418194 2418198 + AmpersandAmpersandToken 2418199 2418202 + PrefixUnaryExpression 2418202 2418235 + CallExpression 2418204 2418235 + Identifier 2418204 2418224 + PropertyAccessExpression 2418225 2418234 + Identifier 2418225 2418229 + Identifier 2418230 2418234 + Block 2418236 2418320 + ReturnStatement 2418238 2418309 + CallExpression 2418258 2418308 + Identifier 2418258 2418278 + PropertyAccessExpression 2418279 2418307 + ParenthesizedExpression 2418279 2418302 + AsExpression 2418280 2418301 + Identifier 2418280 2418284 + TypeReference 2418287 2418301 + Identifier 2418287 2418301 + Identifier 2418303 2418307 + IfStatement 2418334 2418447 + BinaryExpression 2418339 2418390 + CallExpression 2418339 2418364 + Identifier 2418339 2418358 + Identifier 2418359 2418363 + BarBarToken 2418364 2418367 + CallExpression 2418367 2418390 + Identifier 2418367 2418384 + Identifier 2418385 2418389 + Block 2418391 2418447 + ReturnStatement 2418393 2418436 + CallExpression 2418413 2418435 + Identifier 2418413 2418429 + Identifier 2418430 2418434 + ReturnStatement 2418447 2418474 + Identifier 2418463 2418473 + FunctionDeclaration 2418481 2419383 + Identifier 2418974 2419005 + Parameter 2419006 2419022 + Identifier 2419006 2419010 + TypeReference 2419011 2419022 + Identifier 2419011 2419022 + Block 2419023 2419383 + VariableStatement 2419025 2419068 + VariableDeclarationList 2419025 2419067 + VariableDeclaration 2419040 2419067 + Identifier 2419040 2419046 + CallExpression 2419048 2419067 + Identifier 2419048 2419061 + Identifier 2419062 2419066 + IfStatement 2419068 2419160 + PropertyAccessExpression 2419082 2419103 + Identifier 2419082 2419087 + Identifier 2419088 2419103 + Block 2419104 2419160 + ReturnStatement 2419106 2419149 + PropertyAccessExpression 2419126 2419148 + Identifier 2419126 2419132 + Identifier 2419133 2419148 + ExpressionStatement 2419160 2419223 + CallExpression 2419160 2419222 + Identifier 2419160 2419188 + Identifier 2419189 2419193 + Identifier 2419194 2419202 + FalseKeyword 2419203 2419221 + VariableStatement 2419223 2419324 + VariableDeclarationList 2419223 2419323 + VariableDeclaration 2419238 2419323 + Identifier 2419238 2419243 + BinaryExpression 2419245 2419323 + PropertyAccessExpression 2419245 2419267 + Identifier 2419245 2419251 + Identifier 2419252 2419267 + EqualsToken 2419267 2419269 + CallExpression 2419269 2419323 + Identifier 2419269 2419285 + Identifier 2419286 2419290 + PropertyAccessExpression 2419291 2419322 + Identifier 2419291 2419301 + Identifier 2419302 2419322 + ExpressionStatement 2419324 2419354 + CallExpression 2419324 2419353 + Identifier 2419324 2419351 + ReturnStatement 2419354 2419376 + Identifier 2419370 2419375 + FunctionDeclaration 2419383 2420156 + Identifier 2419399 2419415 + Parameter 2419416 2419448 + Identifier 2419416 2419420 + UnionType 2419421 2419448 + TypeReference 2419421 2419432 + Identifier 2419421 2419432 + TypeReference 2419434 2419448 + Identifier 2419434 2419448 + Parameter 2419449 2419471 + Identifier 2419449 2419459 + QuestionToken 2419459 2419460 + TypeReference 2419461 2419471 + Identifier 2419461 2419471 + Parameter 2419472 2419493 + Identifier 2419472 2419483 + QuestionToken 2419483 2419484 + BooleanKeyword 2419485 2419493 + TypeReference 2419495 2419500 + Identifier 2419495 2419500 + Block 2419500 2420156 + ExpressionStatement 2419502 2419658 + CallExpression 2419502 2419657 + PropertyAccessExpression 2419502 2419525 + Identifier 2419502 2419519 + QuestionDotToken 2419519 2419521 + Identifier 2419521 2419525 + PropertyAccessExpression 2419526 2419545 + PropertyAccessExpression 2419526 2419539 + Identifier 2419526 2419533 + Identifier 2419534 2419539 + Identifier 2419540 2419545 + StringLiteral 2419546 2419564 + ObjectLiteralExpression 2419565 2419656 + PropertyAssignment 2419567 2419583 + Identifier 2419567 2419572 + PropertyAccessExpression 2419573 2419583 + Identifier 2419573 2419578 + Identifier 2419579 2419583 + PropertyAssignment 2419584 2419598 + Identifier 2419584 2419588 + PropertyAccessExpression 2419589 2419598 + Identifier 2419589 2419594 + Identifier 2419595 2419598 + PropertyAssignment 2419599 2419613 + Identifier 2419599 2419603 + PropertyAccessExpression 2419604 2419613 + Identifier 2419604 2419609 + Identifier 2419610 2419613 + PropertyAssignment 2419614 2419654 + Identifier 2419614 2419619 + PropertyAccessExpression 2419620 2419654 + ParenthesizedExpression 2419620 2419642 + AsExpression 2419622 2419641 + Identifier 2419622 2419626 + TypeReference 2419629 2419641 + Identifier 2419629 2419641 + Identifier 2419643 2419654 + VariableStatement 2419658 2419704 + VariableDeclarationList 2419658 2419703 + VariableDeclaration 2419673 2419703 + Identifier 2419673 2419689 + Identifier 2419691 2419703 + ExpressionStatement 2419704 2419733 + BinaryExpression 2419704 2419732 + Identifier 2419704 2419725 + EqualsToken 2419725 2419727 + Identifier 2419727 2419732 + ExpressionStatement 2419733 2419766 + BinaryExpression 2419733 2419765 + Identifier 2419733 2419761 + EqualsToken 2419761 2419763 + NumericLiteral 2419763 2419765 + VariableStatement 2419766 2419854 + VariableDeclarationList 2419766 2419853 + VariableDeclaration 2419781 2419853 + Identifier 2419781 2419800 + CallExpression 2419802 2419853 + Identifier 2419802 2419824 + Identifier 2419825 2419829 + Identifier 2419830 2419840 + Identifier 2419841 2419852 + VariableStatement 2419854 2419960 + VariableDeclarationList 2419854 2419959 + VariableDeclaration 2419869 2419959 + Identifier 2419869 2419874 + CallExpression 2419876 2419959 + Identifier 2419876 2419922 + Identifier 2419923 2419927 + Identifier 2419928 2419947 + Identifier 2419948 2419958 + IfStatement 2419960 2420062 + CallExpression 2419974 2420001 + Identifier 2419974 2419995 + Identifier 2419996 2420000 + Block 2420002 2420062 + ExpressionStatement 2420004 2420051 + CallExpression 2420004 2420050 + Identifier 2420004 2420038 + Identifier 2420039 2420043 + Identifier 2420044 2420049 + ExpressionStatement 2420062 2420102 + BinaryExpression 2420062 2420101 + Identifier 2420062 2420083 + EqualsToken 2420083 2420085 + Identifier 2420085 2420101 + ExpressionStatement 2420102 2420127 + CallExpression 2420102 2420126 + PropertyAccessExpression 2420102 2420124 + Identifier 2420102 2420119 + QuestionDotToken 2420119 2420121 + Identifier 2420121 2420124 + ReturnStatement 2420127 2420149 + Identifier 2420143 2420148 + FunctionDeclaration 2420156 2422681 + Identifier 2420172 2420193 + Parameter 2420194 2420226 + Identifier 2420194 2420198 + UnionType 2420199 2420226 + TypeReference 2420199 2420210 + Identifier 2420199 2420210 + TypeReference 2420212 2420226 + Identifier 2420212 2420226 + Parameter 2420227 2420238 + Identifier 2420227 2420232 + TypeReference 2420233 2420238 + Identifier 2420233 2420238 + Block 2420239 2422681 + VariableStatement 2420241 2421064 + VariableDeclarationList 2420241 2421063 + VariableDeclaration 2420453 2421063 + Identifier 2420453 2420456 + BinaryExpression 2420458 2421063 + BinaryExpression 2420458 2420997 + BinaryExpression 2420458 2420720 + ParenthesizedExpression 2420458 2420582 + BinaryExpression 2420460 2420581 + BinaryExpression 2420460 2420516 + PropertyAccessExpression 2420460 2420476 + PropertyAccessExpression 2420460 2420471 + Identifier 2420460 2420464 + Identifier 2420465 2420471 + Identifier 2420472 2420476 + EqualsEqualsEqualsToken 2420476 2420480 + PropertyAccessExpression 2420480 2420516 + Identifier 2420480 2420491 + Identifier 2420492 2420516 + AmpersandAmpersandToken 2420516 2420519 + BinaryExpression 2420519 2420581 + PropertyAccessExpression 2420519 2420572 + ParenthesizedExpression 2420519 2420561 + AsExpression 2420521 2420560 + PropertyAccessExpression 2420521 2420532 + Identifier 2420521 2420525 + Identifier 2420526 2420532 + TypeReference 2420535 2420560 + Identifier 2420535 2420560 + Identifier 2420562 2420572 + EqualsEqualsEqualsToken 2420572 2420576 + Identifier 2420576 2420581 + BarBarToken 2420582 2420585 + ParenthesizedExpression 2420585 2420720 + BinaryExpression 2420600 2420719 + BinaryExpression 2420600 2420655 + PropertyAccessExpression 2420600 2420616 + PropertyAccessExpression 2420600 2420611 + Identifier 2420600 2420604 + Identifier 2420605 2420611 + Identifier 2420612 2420616 + EqualsEqualsEqualsToken 2420616 2420620 + PropertyAccessExpression 2420620 2420655 + Identifier 2420620 2420631 + Identifier 2420632 2420655 + AmpersandAmpersandToken 2420655 2420658 + BinaryExpression 2420658 2420719 + PropertyAccessExpression 2420658 2420710 + ParenthesizedExpression 2420658 2420699 + AsExpression 2420660 2420698 + PropertyAccessExpression 2420660 2420671 + Identifier 2420660 2420664 + Identifier 2420665 2420671 + TypeReference 2420674 2420698 + Identifier 2420674 2420698 + Identifier 2420700 2420710 + EqualsEqualsEqualsToken 2420710 2420714 + Identifier 2420714 2420719 + BarBarToken 2420720 2420723 + ParenthesizedExpression 2420723 2420997 + BinaryExpression 2420738 2420996 + BinaryExpression 2420738 2420880 + ParenthesizedExpression 2420738 2420817 + BinaryExpression 2420739 2420816 + BinaryExpression 2420739 2420774 + PropertyAccessExpression 2420739 2420748 + Identifier 2420739 2420743 + Identifier 2420744 2420748 + EqualsEqualsEqualsToken 2420748 2420752 + PropertyAccessExpression 2420752 2420774 + Identifier 2420752 2420763 + Identifier 2420764 2420774 + BarBarToken 2420774 2420777 + BinaryExpression 2420777 2420816 + PropertyAccessExpression 2420777 2420787 + Identifier 2420777 2420782 + Identifier 2420783 2420787 + EqualsEqualsEqualsToken 2420787 2420791 + PropertyAccessExpression 2420791 2420816 + Identifier 2420791 2420802 + Identifier 2420803 2420816 + AmpersandAmpersandToken 2420817 2420820 + CallExpression 2420820 2420880 + Identifier 2420820 2420860 + AsExpression 2420861 2420879 + Identifier 2420861 2420865 + TypeReference 2420868 2420879 + Identifier 2420868 2420879 + BarBarToken 2420880 2420883 + ParenthesizedExpression 2420883 2420996 + BinaryExpression 2420902 2420995 + BinaryExpression 2420902 2420943 + PropertyAccessExpression 2420902 2420918 + PropertyAccessExpression 2420902 2420913 + Identifier 2420902 2420906 + Identifier 2420907 2420913 + Identifier 2420914 2420918 + EqualsEqualsEqualsToken 2420918 2420922 + PropertyAccessExpression 2420922 2420943 + Identifier 2420922 2420933 + Identifier 2420934 2420943 + AmpersandAmpersandToken 2420943 2420946 + BinaryExpression 2420946 2420995 + PropertyAccessExpression 2420946 2420986 + ParenthesizedExpression 2420946 2420977 + AsExpression 2420948 2420976 + PropertyAccessExpression 2420948 2420959 + Identifier 2420948 2420952 + Identifier 2420953 2420959 + TypeReference 2420962 2420976 + Identifier 2420962 2420976 + Identifier 2420978 2420986 + EqualsEqualsEqualsToken 2420986 2420990 + Identifier 2420990 2420995 + BarBarToken 2420997 2421000 + ParenthesizedExpression 2421000 2421063 + BinaryExpression 2421015 2421062 + PropertyAccessExpression 2421015 2421031 + PropertyAccessExpression 2421015 2421026 + Identifier 2421015 2421019 + Identifier 2421020 2421026 + Identifier 2421027 2421031 + EqualsEqualsEqualsToken 2421031 2421035 + PropertyAccessExpression 2421035 2421062 + Identifier 2421035 2421046 + Identifier 2421047 2421062 + IfStatement 2421064 2421324 + PrefixUnaryExpression 2421116 2421119 + Identifier 2421117 2421119 + Block 2421120 2421324 + ExpressionStatement 2421122 2421313 + CallExpression 2421122 2421312 + Identifier 2421122 2421141 + Identifier 2421142 2421146 + PropertyAccessExpression 2421147 2421311 + Identifier 2421147 2421159 + Identifier 2421160 2421311 + IfStatement 2421324 2422674 + BinaryExpression 2421558 2422022 + PropertyAccessExpression 2421558 2421603 + Identifier 2421558 2421587 + Identifier 2421588 2421603 + BarBarToken 2421603 2421619 + BinaryExpression 2421619 2422022 + BinaryExpression 2421619 2421679 + PropertyAccessExpression 2421619 2421656 + Identifier 2421619 2421635 + Identifier 2421636 2421656 + AmpersandAmpersandToken 2421656 2421676 + Identifier 2421676 2421679 + AmpersandAmpersandToken 2421679 2421699 + PrefixUnaryExpression 2421699 2422022 + CallExpression 2421701 2422022 + Identifier 2421701 2421712 + Identifier 2421713 2421739 + CallExpression 2421740 2421822 + Identifier 2421740 2421780 + AsExpression 2421781 2421821 + Identifier 2421781 2421785 + TypeReference 2421788 2421821 + Identifier 2421788 2421821 + PropertyAccessExpression 2421823 2421862 + Identifier 2421823 2421856 + Identifier 2421857 2421862 + Identifier 2421863 2421918 + FalseKeyword 2421919 2421956 + TrueKeyword 2421957 2422002 + Block 2422033 2422674 + ExpressionStatement 2422035 2422109 + CallExpression 2422035 2422108 + PropertyAccessExpression 2422035 2422061 + Identifier 2422035 2422054 + Identifier 2422055 2422061 + PrefixUnaryExpression 2422062 2422107 + PrefixUnaryExpression 2422063 2422107 + ParenthesizedExpression 2422064 2422107 + BinaryExpression 2422065 2422106 + PropertyAccessExpression 2422065 2422082 + PropertyAccessExpression 2422065 2422076 + Identifier 2422065 2422069 + Identifier 2422070 2422076 + Identifier 2422077 2422082 + AmpersandToken 2422082 2422084 + PropertyAccessExpression 2422084 2422106 + Identifier 2422084 2422096 + Identifier 2422097 2422106 + VariableStatement 2422109 2422200 + VariableDeclarationList 2422109 2422199 + VariableDeclaration 2422128 2422199 + Identifier 2422128 2422149 + AsExpression 2422151 2422199 + PropertyAccessExpression 2422151 2422180 + PropertyAccessExpression 2422151 2422163 + Identifier 2422151 2422156 + Identifier 2422157 2422163 + Identifier 2422164 2422180 + TypeReference 2422183 2422199 + Identifier 2422183 2422199 + VariableStatement 2422200 2422345 + VariableDeclarationList 2422200 2422344 + VariableDeclaration 2422219 2422344 + Identifier 2422219 2422228 + CallExpression 2422230 2422344 + PropertyAccessExpression 2422230 2422288 + Identifier 2422230 2422235 + Identifier 2422236 2422288 + PropertyAccessExpression 2422289 2422343 + CallExpression 2422289 2422330 + Identifier 2422289 2422308 + Identifier 2422309 2422329 + Identifier 2422331 2422343 + IfStatement 2422345 2422663 + BinaryExpression 2422363 2422521 + BinaryExpression 2422363 2422447 + BinaryExpression 2422363 2422409 + PropertyAccessExpression 2422363 2422389 + Identifier 2422363 2422383 + Identifier 2422384 2422389 + AmpersandToken 2422389 2422391 + PropertyAccessExpression 2422391 2422409 + Identifier 2422391 2422401 + Identifier 2422402 2422409 + AmpersandAmpersandToken 2422409 2422412 + PrefixUnaryExpression 2422412 2422447 + CallExpression 2422414 2422447 + Identifier 2422414 2422441 + Identifier 2422442 2422446 + AmpersandAmpersandToken 2422447 2422450 + ParenthesizedExpression 2422450 2422521 + BinaryExpression 2422452 2422520 + PrefixUnaryExpression 2422452 2422461 + Identifier 2422453 2422461 + BarBarToken 2422461 2422464 + PrefixUnaryExpression 2422464 2422520 + CallExpression 2422466 2422520 + Identifier 2422466 2422490 + PropertyAccessExpression 2422491 2422519 + PropertyAccessExpression 2422491 2422511 + Identifier 2422491 2422499 + Identifier 2422500 2422511 + Identifier 2422512 2422519 + Block 2422522 2422663 + ExpressionStatement 2422524 2422648 + CallExpression 2422524 2422647 + Identifier 2422524 2422547 + Identifier 2422548 2422552 + PropertyAccessExpression 2422553 2422617 + Identifier 2422553 2422565 + Identifier 2422566 2422617 + Identifier 2422618 2422646 + FunctionDeclaration 2422681 2423219 + Identifier 2422697 2422726 + Parameter 2422727 2422756 + Identifier 2422727 2422731 + TypeReference 2422732 2422756 + Identifier 2422732 2422756 + Parameter 2422757 2422779 + Identifier 2422757 2422767 + QuestionToken 2422767 2422768 + TypeReference 2422769 2422779 + Identifier 2422769 2422779 + TypeReference 2422781 2422786 + Identifier 2422781 2422786 + Block 2422786 2423219 + IfStatement 2422788 2423151 + CallExpression 2422802 2422821 + Identifier 2422802 2422815 + Identifier 2422816 2422820 + Block 2422822 2423151 + IfStatement 2422824 2423015 + CallExpression 2422842 2422874 + Identifier 2422842 2422868 + Identifier 2422869 2422873 + Block 2422875 2423015 + ReturnStatement 2422877 2423000 + CallExpression 2422901 2422999 + Identifier 2422901 2422932 + PropertyAccessExpression 2422933 2422948 + Identifier 2422933 2422937 + Identifier 2422938 2422948 + CallExpression 2422949 2422987 + Identifier 2422949 2422981 + Identifier 2422982 2422986 + Identifier 2422988 2422998 + IfStatement 2423015 2423140 + CallExpression 2423033 2423059 + Identifier 2423033 2423053 + Identifier 2423054 2423058 + Block 2423060 2423140 + ReturnStatement 2423062 2423125 + CallExpression 2423086 2423124 + Identifier 2423086 2423107 + Identifier 2423108 2423112 + Identifier 2423113 2423123 + ReturnStatement 2423151 2423212 + CallExpression 2423167 2423211 + Identifier 2423167 2423183 + PropertyAccessExpression 2423184 2423199 + Identifier 2423184 2423188 + Identifier 2423189 2423199 + Identifier 2423200 2423210 + FunctionDeclaration 2423219 2430380 + Identifier 2423235 2423257 + Parameter 2423258 2423290 + Identifier 2423258 2423262 + UnionType 2423263 2423290 + TypeReference 2423263 2423274 + Identifier 2423263 2423274 + TypeReference 2423276 2423290 + Identifier 2423276 2423290 + Parameter 2423291 2423324 + Identifier 2423291 2423301 + UnionType 2423302 2423324 + TypeReference 2423302 2423312 + Identifier 2423302 2423312 + UndefinedKeyword 2423314 2423324 + Parameter 2423325 2423346 + Identifier 2423325 2423336 + QuestionToken 2423336 2423337 + BooleanKeyword 2423338 2423346 + TypeReference 2423348 2423353 + Identifier 2423348 2423353 + Block 2423353 2430380 + VariableStatement 2423355 2423388 + VariableDeclarationList 2423355 2423387 + VariableDeclaration 2423370 2423387 + Identifier 2423370 2423375 + PropertyAccessExpression 2423377 2423387 + Identifier 2423377 2423382 + Identifier 2423383 2423387 + IfStatement 2423388 2423866 + Identifier 2423402 2423419 + Block 2423420 2423866 + SwitchStatement 2423422 2423855 + Identifier 2423611 2423615 + CaseBlock 2423616 2423855 + CaseClause 2423618 2423668 + PropertyAccessExpression 2423640 2423667 + Identifier 2423640 2423651 + Identifier 2423652 2423667 + CaseClause 2423668 2423721 + PropertyAccessExpression 2423690 2423720 + Identifier 2423690 2423701 + Identifier 2423702 2423720 + CaseClause 2423721 2423840 + PropertyAccessExpression 2423743 2423768 + Identifier 2423743 2423754 + Identifier 2423755 2423768 + ExpressionStatement 2423769 2423840 + CallExpression 2423769 2423839 + PropertyAccessExpression 2423769 2423837 + Identifier 2423769 2423808 + Identifier 2423809 2423837 + SwitchStatement 2423866 2430346 + Identifier 2423884 2423888 + CaseBlock 2423889 2430346 + CaseClause 2423891 2424004 + PropertyAccessExpression 2423909 2423931 + Identifier 2423909 2423920 + Identifier 2423921 2423931 + ReturnStatement 2423932 2424004 + CallExpression 2423956 2424003 + Identifier 2423956 2423972 + AsExpression 2423973 2423991 + Identifier 2423973 2423977 + TypeReference 2423980 2423991 + Identifier 2423980 2423991 + Identifier 2423992 2424002 + CaseClause 2424004 2424137 + PropertyAccessExpression 2424022 2424051 + Identifier 2424022 2424033 + Identifier 2424034 2424051 + ReturnStatement 2424052 2424137 + CallExpression 2424076 2424136 + Identifier 2424076 2424109 + AsExpression 2424110 2424135 + Identifier 2424110 2424114 + TypeReference 2424117 2424135 + Identifier 2424117 2424135 + CaseClause 2424137 2424230 + PropertyAccessExpression 2424155 2424178 + Identifier 2424155 2424166 + Identifier 2424167 2424178 + ReturnStatement 2424179 2424230 + CallExpression 2424203 2424229 + Identifier 2424203 2424223 + Identifier 2424224 2424228 + CaseClause 2424230 2424325 + PropertyAccessExpression 2424248 2424272 + Identifier 2424248 2424259 + Identifier 2424260 2424272 + ReturnStatement 2424273 2424325 + CallExpression 2424297 2424324 + Identifier 2424297 2424318 + Identifier 2424319 2424323 + CaseClause 2424325 2424409 + PropertyAccessExpression 2424343 2424366 + Identifier 2424343 2424354 + Identifier 2424355 2424366 + ReturnStatement 2424367 2424409 + Identifier 2424391 2424408 + CaseClause 2424409 2424469 + PropertyAccessExpression 2424427 2424468 + Identifier 2424427 2424438 + Identifier 2424439 2424468 + CaseClause 2424469 2424717 + PropertyAccessExpression 2424487 2424512 + Identifier 2424487 2424498 + Identifier 2424499 2424512 + ReturnStatement 2424513 2424717 + ConditionalExpression 2424537 2424716 + CallExpression 2424537 2424570 + Identifier 2424537 2424564 + Identifier 2424565 2424569 + QuestionToken 2424570 2424572 + Identifier 2424572 2424611 + ColonToken 2424611 2424613 + CallExpression 2424613 2424716 + Identifier 2424613 2424660 + CallExpression 2424661 2424715 + Identifier 2424661 2424681 + PropertyAccessExpression 2424682 2424714 + ParenthesizedExpression 2424682 2424709 + AsExpression 2424683 2424708 + Identifier 2424683 2424687 + TypeReference 2424690 2424708 + Identifier 2424690 2424708 + Identifier 2424710 2424714 + CaseClause 2424717 2424936 + PropertyAccessExpression 2424735 2424761 + Identifier 2424735 2424746 + Identifier 2424747 2424761 + ExpressionStatement 2424762 2424831 + CallExpression 2424762 2424830 + Identifier 2424762 2424806 + AsExpression 2424807 2424829 + Identifier 2424807 2424811 + TypeReference 2424814 2424829 + Identifier 2424814 2424829 + ReturnStatement 2424831 2424936 + CallExpression 2424855 2424935 + Identifier 2424855 2424881 + CallExpression 2424882 2424934 + Identifier 2424882 2424902 + PrefixUnaryExpression 2424903 2424933 + PropertyAccessExpression 2424904 2424933 + ParenthesizedExpression 2424904 2424928 + AsExpression 2424905 2424927 + Identifier 2424905 2424909 + TypeReference 2424912 2424927 + Identifier 2424912 2424927 + Identifier 2424929 2424933 + CaseClause 2424936 2425263 + PropertyAccessExpression 2424954 2424979 + Identifier 2424954 2424965 + Identifier 2424966 2424979 + ExpressionStatement 2424980 2425047 + CallExpression 2424980 2425046 + Identifier 2424980 2425023 + AsExpression 2425024 2425045 + Identifier 2425024 2425028 + TypeReference 2425031 2425045 + Identifier 2425031 2425045 + ReturnStatement 2425047 2425263 + CallExpression 2425071 2425262 + Identifier 2425071 2425097 + CallExpression 2425098 2425261 + Identifier 2425098 2425118 + ObjectLiteralExpression 2425119 2425260 + PropertyAssignment 2425120 2425157 + Identifier 2425120 2425150 + FalseKeyword 2425151 2425157 + PropertyAssignment 2425158 2425240 + Identifier 2425158 2425191 + CallExpression 2425192 2425240 + Identifier 2425192 2425210 + PropertyAccessExpression 2425211 2425239 + ParenthesizedExpression 2425211 2425234 + AsExpression 2425212 2425233 + Identifier 2425212 2425216 + TypeReference 2425219 2425233 + Identifier 2425219 2425233 + Identifier 2425235 2425239 + CaseClause 2425263 2425339 + PropertyAccessExpression 2425281 2425304 + Identifier 2425281 2425292 + Identifier 2425293 2425304 + ReturnStatement 2425305 2425339 + Identifier 2425329 2425338 + CaseClause 2425339 2425417 + PropertyAccessExpression 2425357 2425381 + Identifier 2425357 2425368 + Identifier 2425369 2425381 + ReturnStatement 2425382 2425417 + Identifier 2425406 2425416 + CaseClause 2425417 2425543 + PropertyAccessExpression 2425435 2425465 + Identifier 2425435 2425446 + Identifier 2425447 2425465 + ReturnStatement 2425466 2425543 + CallExpression 2425490 2425542 + Identifier 2425490 2425514 + AsExpression 2425515 2425541 + Identifier 2425515 2425519 + TypeReference 2425522 2425541 + Identifier 2425522 2425541 + CaseClause 2425543 2425687 + PropertyAccessExpression 2425561 2425597 + Identifier 2425561 2425572 + Identifier 2425573 2425597 + ReturnStatement 2425598 2425687 + CallExpression 2425622 2425686 + Identifier 2425622 2425652 + AsExpression 2425653 2425685 + Identifier 2425653 2425657 + TypeReference 2425660 2425685 + Identifier 2425660 2425685 + CaseClause 2425687 2425838 + PropertyAccessExpression 2425705 2425739 + Identifier 2425705 2425716 + Identifier 2425717 2425739 + ReturnStatement 2425740 2425838 + CallExpression 2425764 2425837 + Identifier 2425764 2425782 + AsExpression 2425783 2425813 + Identifier 2425783 2425787 + TypeReference 2425790 2425813 + Identifier 2425790 2425813 + Identifier 2425814 2425824 + Identifier 2425825 2425836 + CaseClause 2425838 2425980 + PropertyAccessExpression 2425856 2425891 + Identifier 2425856 2425867 + Identifier 2425868 2425891 + ReturnStatement 2425892 2425980 + CallExpression 2425916 2425979 + Identifier 2425916 2425935 + AsExpression 2425936 2425967 + Identifier 2425936 2425940 + TypeReference 2425943 2425967 + Identifier 2425943 2425967 + Identifier 2425968 2425978 + CaseClause 2425980 2426135 + PropertyAccessExpression 2425998 2426034 + Identifier 2425998 2426009 + Identifier 2426010 2426034 + ReturnStatement 2426035 2426135 + CallExpression 2426059 2426134 + Identifier 2426059 2426089 + AsExpression 2426090 2426122 + Identifier 2426090 2426094 + TypeReference 2426097 2426122 + Identifier 2426097 2426122 + Identifier 2426123 2426133 + CaseClause 2426135 2426257 + PropertyAccessExpression 2426153 2426178 + Identifier 2426153 2426164 + Identifier 2426165 2426178 + ReturnStatement 2426179 2426257 + CallExpression 2426203 2426256 + Identifier 2426203 2426222 + AsExpression 2426223 2426244 + Identifier 2426223 2426227 + TypeReference 2426230 2426244 + Identifier 2426230 2426244 + Identifier 2426245 2426255 + CaseClause 2426257 2426399 + PropertyAccessExpression 2426275 2426310 + Identifier 2426275 2426286 + Identifier 2426287 2426310 + ReturnStatement 2426311 2426399 + CallExpression 2426335 2426398 + Identifier 2426335 2426354 + AsExpression 2426355 2426386 + Identifier 2426355 2426359 + TypeReference 2426362 2426386 + Identifier 2426362 2426386 + Identifier 2426387 2426397 + CaseClause 2426399 2426632 + PropertyAccessExpression 2426417 2426443 + Identifier 2426417 2426428 + Identifier 2426429 2426443 + IfStatement 2426444 2426632 + BinaryExpression 2426466 2426535 + PropertyAccessExpression 2426466 2426506 + PropertyAccessExpression 2426466 2426501 + ParenthesizedExpression 2426466 2426490 + AsExpression 2426467 2426489 + Identifier 2426467 2426471 + TypeReference 2426474 2426489 + Identifier 2426474 2426489 + Identifier 2426491 2426501 + Identifier 2426502 2426506 + EqualsEqualsEqualsToken 2426506 2426510 + PropertyAccessExpression 2426510 2426535 + Identifier 2426510 2426521 + Identifier 2426522 2426535 + Block 2426536 2426632 + ReturnStatement 2426538 2426613 + CallExpression 2426566 2426612 + Identifier 2426566 2426592 + AsExpression 2426593 2426611 + Identifier 2426593 2426597 + TypeReference 2426600 2426611 + Identifier 2426600 2426611 + CaseClause 2426632 2426790 + PropertyAccessExpression 2426684 2426709 + Identifier 2426684 2426695 + Identifier 2426696 2426709 + ReturnStatement 2426710 2426790 + CallExpression 2426734 2426789 + Identifier 2426734 2426754 + AsExpression 2426755 2426777 + Identifier 2426755 2426759 + TypeReference 2426762 2426777 + Identifier 2426762 2426777 + Identifier 2426778 2426788 + CaseClause 2426790 2426934 + PropertyAccessExpression 2426808 2426844 + Identifier 2426808 2426819 + Identifier 2426820 2426844 + ReturnStatement 2426845 2426934 + CallExpression 2426869 2426933 + Identifier 2426869 2426899 + AsExpression 2426900 2426932 + Identifier 2426900 2426904 + TypeReference 2426907 2426932 + Identifier 2426907 2426932 + CaseClause 2426934 2427086 + PropertyAccessExpression 2426952 2426987 + Identifier 2426952 2426963 + Identifier 2426964 2426987 + ReturnStatement 2426988 2427086 + CallExpression 2427012 2427085 + Identifier 2427012 2427041 + AsExpression 2427042 2427073 + Identifier 2427042 2427046 + TypeReference 2427049 2427073 + Identifier 2427049 2427073 + Identifier 2427074 2427084 + CaseClause 2427086 2427203 + PropertyAccessExpression 2427104 2427131 + Identifier 2427104 2427115 + Identifier 2427116 2427131 + ReturnStatement 2427132 2427203 + CallExpression 2427156 2427202 + Identifier 2427156 2427177 + AsExpression 2427178 2427201 + Identifier 2427178 2427182 + TypeReference 2427185 2427201 + Identifier 2427185 2427201 + CaseClause 2427203 2427252 + PropertyAccessExpression 2427221 2427251 + Identifier 2427221 2427232 + Identifier 2427233 2427251 + CaseClause 2427252 2427421 + PropertyAccessExpression 2427270 2427295 + Identifier 2427270 2427281 + Identifier 2427282 2427295 + ReturnStatement 2427296 2427421 + CallExpression 2427320 2427420 + Identifier 2427320 2427365 + AsExpression 2427366 2427408 + Identifier 2427366 2427370 + UnionType 2427373 2427408 + TypeReference 2427373 2427392 + Identifier 2427373 2427392 + TypeReference 2427394 2427408 + Identifier 2427394 2427408 + Identifier 2427409 2427419 + CaseClause 2427421 2427541 + PropertyAccessExpression 2427439 2427467 + Identifier 2427439 2427450 + Identifier 2427451 2427467 + ReturnStatement 2427468 2427541 + CallExpression 2427492 2427540 + Identifier 2427492 2427514 + AsExpression 2427515 2427539 + Identifier 2427515 2427519 + TypeReference 2427522 2427539 + Identifier 2427522 2427539 + CaseClause 2427541 2427595 + PropertyAccessExpression 2427559 2427594 + Identifier 2427559 2427570 + Identifier 2427571 2427594 + CaseClause 2427595 2427718 + PropertyAccessExpression 2427613 2427637 + Identifier 2427613 2427624 + Identifier 2427625 2427637 + ReturnStatement 2427638 2427718 + CallExpression 2427662 2427717 + Identifier 2427662 2427677 + AsExpression 2427678 2427705 + Identifier 2427678 2427682 + TypeReference 2427685 2427705 + Identifier 2427685 2427705 + Identifier 2427706 2427716 + CaseClause 2427718 2427840 + PropertyAccessExpression 2427736 2427765 + Identifier 2427736 2427747 + Identifier 2427748 2427765 + ReturnStatement 2427766 2427840 + CallExpression 2427790 2427839 + Identifier 2427790 2427812 + AsExpression 2427813 2427838 + Identifier 2427813 2427817 + TypeReference 2427820 2427838 + Identifier 2427820 2427838 + CaseClause 2427840 2427993 + PropertyAccessExpression 2427858 2427897 + Identifier 2427858 2427869 + Identifier 2427870 2427897 + ReturnStatement 2427898 2427993 + CallExpression 2427922 2427992 + Identifier 2427922 2427955 + AsExpression 2427956 2427991 + Identifier 2427956 2427960 + TypeReference 2427963 2427991 + Identifier 2427963 2427991 + CaseClause 2427993 2428122 + PropertyAccessExpression 2428011 2428042 + Identifier 2428011 2428022 + Identifier 2428023 2428042 + ReturnStatement 2428043 2428122 + CallExpression 2428067 2428121 + Identifier 2428067 2428092 + AsExpression 2428093 2428120 + Identifier 2428093 2428097 + TypeReference 2428100 2428120 + Identifier 2428100 2428120 + CaseClause 2428122 2428230 + PropertyAccessExpression 2428140 2428164 + Identifier 2428140 2428151 + Identifier 2428152 2428164 + ReturnStatement 2428165 2428230 + CallExpression 2428189 2428229 + Identifier 2428189 2428207 + AsExpression 2428208 2428228 + Identifier 2428208 2428212 + TypeReference 2428215 2428228 + Identifier 2428215 2428228 + CaseClause 2428230 2428350 + PropertyAccessExpression 2428248 2428276 + Identifier 2428248 2428259 + Identifier 2428260 2428276 + ReturnStatement 2428277 2428350 + CallExpression 2428301 2428349 + Identifier 2428301 2428323 + AsExpression 2428324 2428348 + Identifier 2428324 2428328 + TypeReference 2428331 2428348 + Identifier 2428331 2428348 + CaseClause 2428350 2428464 + PropertyAccessExpression 2428368 2428394 + Identifier 2428368 2428379 + Identifier 2428380 2428394 + ReturnStatement 2428395 2428464 + CallExpression 2428419 2428463 + Identifier 2428419 2428439 + AsExpression 2428440 2428462 + Identifier 2428440 2428444 + TypeReference 2428447 2428462 + Identifier 2428447 2428462 + CaseClause 2428464 2428581 + PropertyAccessExpression 2428482 2428509 + Identifier 2428482 2428493 + Identifier 2428494 2428509 + ReturnStatement 2428510 2428581 + CallExpression 2428534 2428580 + Identifier 2428534 2428555 + AsExpression 2428556 2428579 + Identifier 2428556 2428560 + TypeReference 2428563 2428579 + Identifier 2428563 2428579 + CaseClause 2428581 2428716 + PropertyAccessExpression 2428599 2428632 + Identifier 2428599 2428610 + Identifier 2428611 2428632 + ReturnStatement 2428633 2428716 + CallExpression 2428657 2428715 + Identifier 2428657 2428684 + AsExpression 2428685 2428714 + Identifier 2428685 2428689 + TypeReference 2428692 2428714 + Identifier 2428692 2428714 + CaseClause 2428716 2428854 + PropertyAccessExpression 2428734 2428768 + Identifier 2428734 2428745 + Identifier 2428746 2428768 + ReturnStatement 2428769 2428854 + CallExpression 2428793 2428853 + Identifier 2428793 2428821 + AsExpression 2428822 2428852 + Identifier 2428822 2428826 + TypeReference 2428829 2428852 + Identifier 2428829 2428852 + CaseClause 2428854 2428985 + PropertyAccessExpression 2428872 2428900 + Identifier 2428872 2428883 + Identifier 2428884 2428900 + ReturnStatement 2428901 2428985 + CallExpression 2428925 2428984 + Identifier 2428925 2428947 + AsExpression 2428948 2428972 + Identifier 2428948 2428952 + TypeReference 2428955 2428972 + Identifier 2428955 2428972 + Identifier 2428973 2428983 + CaseClause 2428985 2429131 + PropertyAccessExpression 2429003 2429036 + Identifier 2429003 2429014 + Identifier 2429015 2429036 + ReturnStatement 2429037 2429131 + CallExpression 2429061 2429130 + Identifier 2429061 2429088 + AsExpression 2429089 2429118 + Identifier 2429089 2429093 + TypeReference 2429096 2429118 + Identifier 2429096 2429118 + Identifier 2429119 2429129 + CaseClause 2429131 2429256 + PropertyAccessExpression 2429149 2429174 + Identifier 2429149 2429160 + Identifier 2429161 2429174 + ReturnStatement 2429175 2429256 + CallExpression 2429199 2429255 + Identifier 2429199 2429221 + AsExpression 2429222 2429243 + Identifier 2429222 2429226 + TypeReference 2429229 2429243 + Identifier 2429229 2429243 + Identifier 2429244 2429254 + CaseClause 2429256 2429351 + PropertyAccessExpression 2429274 2429303 + Identifier 2429274 2429285 + Identifier 2429286 2429303 + ReturnStatement 2429304 2429351 + Identifier 2429328 2429350 + CaseClause 2429351 2429468 + PropertyAccessExpression 2429369 2429396 + Identifier 2429369 2429380 + Identifier 2429381 2429396 + ReturnStatement 2429397 2429468 + CallExpression 2429421 2429467 + Identifier 2429421 2429442 + AsExpression 2429443 2429466 + Identifier 2429443 2429447 + TypeReference 2429450 2429466 + Identifier 2429450 2429466 + CaseClause 2429468 2429597 + PropertyAccessExpression 2429486 2429517 + Identifier 2429486 2429497 + Identifier 2429498 2429517 + ReturnStatement 2429518 2429597 + CallExpression 2429542 2429596 + Identifier 2429542 2429567 + AsExpression 2429568 2429595 + Identifier 2429568 2429572 + TypeReference 2429575 2429595 + Identifier 2429575 2429595 + CaseClause 2429597 2429719 + PropertyAccessExpression 2429615 2429640 + Identifier 2429615 2429626 + Identifier 2429627 2429640 + ReturnStatement 2429641 2429719 + CallExpression 2429665 2429718 + Identifier 2429665 2429684 + AsExpression 2429685 2429706 + Identifier 2429685 2429689 + TypeReference 2429692 2429706 + Identifier 2429692 2429706 + Identifier 2429707 2429717 + CaseClause 2429719 2429832 + PropertyAccessExpression 2429737 2429759 + Identifier 2429737 2429748 + Identifier 2429749 2429759 + ReturnStatement 2429760 2429832 + CallExpression 2429784 2429831 + Identifier 2429784 2429800 + AsExpression 2429801 2429819 + Identifier 2429801 2429805 + TypeReference 2429808 2429819 + Identifier 2429808 2429819 + Identifier 2429820 2429830 + CaseClause 2429832 2429978 + PropertyAccessExpression 2429850 2429883 + Identifier 2429850 2429861 + Identifier 2429862 2429883 + ReturnStatement 2429884 2429978 + CallExpression 2429908 2429977 + Identifier 2429908 2429935 + AsExpression 2429936 2429965 + Identifier 2429936 2429940 + TypeReference 2429943 2429965 + Identifier 2429943 2429965 + Identifier 2429966 2429976 + CaseClause 2429978 2430083 + PropertyAccessExpression 2429996 2430019 + Identifier 2429996 2430007 + Identifier 2430008 2430019 + ReturnStatement 2430020 2430083 + CallExpression 2430044 2430082 + Identifier 2430044 2430061 + AsExpression 2430062 2430081 + Identifier 2430062 2430066 + TypeReference 2430069 2430081 + Identifier 2430069 2430081 + CaseClause 2430083 2430205 + PropertyAccessExpression 2430101 2430126 + Identifier 2430101 2430112 + Identifier 2430113 2430126 + ReturnStatement 2430127 2430205 + CallExpression 2430151 2430204 + Identifier 2430151 2430170 + AsExpression 2430171 2430192 + Identifier 2430171 2430175 + TypeReference 2430178 2430192 + Identifier 2430178 2430192 + Identifier 2430193 2430203 + CaseClause 2430205 2430335 + PropertyAccessExpression 2430223 2430252 + Identifier 2430223 2430234 + Identifier 2430235 2430252 + ExpressionStatement 2430253 2430335 + CallExpression 2430253 2430334 + PropertyAccessExpression 2430253 2430281 + Identifier 2430253 2430276 + Identifier 2430277 2430281 + StringLiteral 2430282 2430333 + ReturnStatement 2430346 2430373 + Identifier 2430362 2430372 + FunctionDeclaration 2430380 2431784 + Identifier 2430446 2430465 + Parameter 2430466 2430496 + Identifier 2430466 2430470 + TypeReference 2430471 2430496 + Identifier 2430471 2430496 + Block 2430497 2431784 + ExpressionStatement 2430499 2430566 + CallExpression 2430499 2430565 + Identifier 2430499 2430559 + Identifier 2430560 2430564 + IfStatement 2430566 2430692 + PropertyAccessExpression 2430580 2430595 + Identifier 2430580 2430584 + Identifier 2430585 2430595 + Block 2430596 2430692 + ExpressionStatement 2430598 2430681 + CallExpression 2430598 2430680 + Identifier 2430598 2430636 + PropertyAccessExpression 2430637 2430652 + Identifier 2430637 2430641 + Identifier 2430642 2430652 + PropertyAccessExpression 2430653 2430679 + Identifier 2430653 2430665 + Identifier 2430666 2430679 + ExpressionStatement 2430692 2430740 + CallExpression 2430692 2430739 + Identifier 2430692 2430722 + PropertyAccessExpression 2430723 2430738 + Identifier 2430723 2430727 + Identifier 2430728 2430738 + ExpressionStatement 2430740 2430783 + CallExpression 2430740 2430782 + Identifier 2430740 2430768 + PropertyAccessExpression 2430769 2430781 + Identifier 2430769 2430773 + Identifier 2430774 2430781 + VariableStatement 2430783 2430876 + VariableDeclarationList 2430783 2430875 + VariableDeclaration 2430798 2430875 + Identifier 2430798 2430812 + CallExpression 2430814 2430875 + Identifier 2430814 2430845 + CallExpression 2430846 2430874 + Identifier 2430846 2430868 + Identifier 2430869 2430873 + ExpressionStatement 2430876 2430990 + CallExpression 2430876 2430989 + Identifier 2430876 2430974 + Identifier 2430975 2430988 + IfStatement 2430990 2431184 + PrefixUnaryExpression 2431004 2431054 + CallExpression 2431005 2431054 + Identifier 2431005 2431039 + Identifier 2431040 2431053 + Block 2431055 2431184 + ExpressionStatement 2431057 2431173 + CallExpression 2431057 2431172 + Identifier 2431057 2431076 + PropertyAccessExpression 2431077 2431089 + Identifier 2431077 2431081 + Identifier 2431082 2431089 + PropertyAccessExpression 2431090 2431142 + Identifier 2431090 2431102 + Identifier 2431103 2431142 + CallExpression 2431143 2431171 + Identifier 2431143 2431156 + Identifier 2431157 2431170 + VariableStatement 2431184 2431261 + VariableDeclarationList 2431184 2431260 + VariableDeclaration 2431199 2431260 + Identifier 2431199 2431214 + CallExpression 2431216 2431260 + Identifier 2431216 2431245 + Identifier 2431246 2431259 + VariableStatement 2431261 2431334 + VariableDeclarationList 2431261 2431333 + VariableDeclaration 2431276 2431333 + Identifier 2431276 2431288 + CallExpression 2431290 2431333 + Identifier 2431290 2431318 + Identifier 2431319 2431332 + IfStatement 2431334 2431628 + BinaryExpression 2431348 2431377 + Identifier 2431348 2431362 + AmpersandAmpersandToken 2431362 2431365 + Identifier 2431365 2431377 + Block 2431378 2431628 + ExpressionStatement 2431380 2431617 + CallExpression 2431380 2431616 + Identifier 2431380 2431415 + Identifier 2431416 2431427 + CallExpression 2431428 2431547 + Identifier 2431428 2431452 + CallExpression 2431453 2431533 + Identifier 2431453 2431468 + Identifier 2431469 2431483 + CallExpression 2431484 2431532 + Identifier 2431484 2431504 + Identifier 2431505 2431518 + Identifier 2431519 2431531 + Identifier 2431534 2431546 + PropertyAccessExpression 2431548 2431561 + Identifier 2431548 2431553 + Identifier 2431554 2431561 + PropertyAccessExpression 2431562 2431615 + Identifier 2431562 2431574 + Identifier 2431575 2431615 + ExpressionStatement 2431628 2431662 + CallExpression 2431628 2431661 + Identifier 2431628 2431655 + Identifier 2431656 2431660 + ExpressionStatement 2431662 2431777 + CallExpression 2431662 2431776 + Identifier 2431662 2431689 + ArrowFunction 2431690 2431775 + EqualsGreaterThanToken 2431692 2431695 + CallExpression 2431695 2431775 + Identifier 2431695 2431719 + PropertyAccessExpression 2431720 2431729 + Identifier 2431720 2431724 + Identifier 2431725 2431729 + PropertyAccessExpression 2431730 2431774 + Identifier 2431730 2431742 + Identifier 2431743 2431774 + FunctionDeclaration 2431784 2433654 + Identifier 2431800 2431827 + Parameter 2431828 2431858 + Identifier 2431828 2431832 + TypeReference 2431833 2431858 + Identifier 2431833 2431858 + Block 2431859 2433654 + IfStatement 2431861 2433647 + BinaryExpression 2431875 2431977 + BinaryExpression 2431875 2431938 + CallExpression 2431875 2431910 + Identifier 2431875 2431897 + PropertyAccessExpression 2431898 2431909 + Identifier 2431898 2431902 + Identifier 2431903 2431909 + BarBarToken 2431910 2431913 + CallExpression 2431913 2431938 + Identifier 2431913 2431925 + PropertyAccessExpression 2431926 2431937 + Identifier 2431926 2431930 + Identifier 2431931 2431937 + BarBarToken 2431938 2431941 + CallExpression 2431941 2431977 + Identifier 2431941 2431964 + PropertyAccessExpression 2431965 2431976 + Identifier 2431965 2431969 + Identifier 2431970 2431976 + Block 2431978 2433647 + VariableStatement 2431980 2432077 + VariableDeclarationList 2431980 2432076 + VariableDeclaration 2431999 2432076 + Identifier 2431999 2432013 + CallExpression 2432015 2432076 + Identifier 2432015 2432046 + CallExpression 2432047 2432075 + Identifier 2432047 2432069 + Identifier 2432070 2432074 + VariableStatement 2432077 2432191 + VariableDeclarationList 2432077 2432190 + VariableDeclaration 2432096 2432190 + Identifier 2432096 2432106 + BinaryExpression 2432108 2432190 + CallExpression 2432108 2432149 + Identifier 2432108 2432134 + Identifier 2432135 2432148 + AmpersandToken 2432149 2432151 + ParenthesizedExpression 2432151 2432190 + BinaryExpression 2432153 2432189 + PropertyAccessExpression 2432153 2432169 + Identifier 2432153 2432166 + Identifier 2432167 2432169 + BarToken 2432169 2432171 + PropertyAccessExpression 2432171 2432189 + Identifier 2432171 2432185 + Identifier 2432186 2432189 + IfStatement 2432191 2433636 + Identifier 2432209 2432218 + Block 2432219 2433636 + VariableStatement 2432221 2432290 + VariableDeclarationList 2432221 2432289 + VariableDeclaration 2432244 2432289 + Identifier 2432244 2432251 + CallExpression 2432253 2432289 + Identifier 2432253 2432276 + PropertyAccessExpression 2432277 2432288 + Identifier 2432277 2432281 + Identifier 2432282 2432288 + IfStatement 2432290 2433621 + BinaryExpression 2432312 2432448 + CallExpression 2432312 2432347 + Identifier 2432312 2432334 + PropertyAccessExpression 2432335 2432346 + Identifier 2432335 2432339 + Identifier 2432340 2432346 + AmpersandAmpersandToken 2432347 2432350 + PrefixUnaryExpression 2432350 2432448 + ParenthesizedExpression 2432352 2432448 + BinaryExpression 2432353 2432447 + CallExpression 2432353 2432400 + Identifier 2432353 2432367 + CallExpression 2432368 2432399 + Identifier 2432368 2432391 + Identifier 2432392 2432398 + AmpersandToken 2432400 2432402 + ParenthesizedExpression 2432402 2432447 + BinaryExpression 2432404 2432446 + PropertyAccessExpression 2432404 2432425 + Identifier 2432404 2432415 + Identifier 2432416 2432425 + BarToken 2432425 2432427 + PropertyAccessExpression 2432427 2432446 + Identifier 2432427 2432439 + Identifier 2432440 2432446 + Block 2432449 2432622 + ExpressionStatement 2432451 2432603 + CallExpression 2432451 2432602 + Identifier 2432451 2432478 + Identifier 2432479 2432483 + PropertyAccessExpression 2432484 2432601 + Identifier 2432484 2432496 + Identifier 2432497 2432601 + IfStatement 2432644 2433621 + BinaryExpression 2432649 2432714 + BinaryExpression 2432649 2432679 + Identifier 2432649 2432658 + EqualsEqualsEqualsToken 2432658 2432662 + PropertyAccessExpression 2432662 2432679 + Identifier 2432662 2432676 + Identifier 2432677 2432679 + BarBarToken 2432679 2432682 + BinaryExpression 2432682 2432714 + Identifier 2432682 2432692 + EqualsEqualsEqualsToken 2432692 2432696 + PropertyAccessExpression 2432696 2432714 + Identifier 2432696 2432710 + Identifier 2432711 2432714 + Block 2432715 2433621 + ExpressionStatement 2432717 2432895 + CallExpression 2432717 2432894 + PropertyAccessExpression 2432717 2432752 + Identifier 2432717 2432746 + QuestionDotToken 2432746 2432748 + Identifier 2432748 2432752 + PropertyAccessExpression 2432753 2432777 + PropertyAccessExpression 2432753 2432766 + Identifier 2432753 2432760 + Identifier 2432761 2432766 + Identifier 2432767 2432777 + StringLiteral 2432778 2432807 + ObjectLiteralExpression 2432808 2432893 + PropertyAssignment 2432810 2432861 + Identifier 2432810 2432817 + CallExpression 2432818 2432861 + Identifier 2432818 2432828 + CallExpression 2432829 2432860 + Identifier 2432829 2432852 + Identifier 2432853 2432859 + PropertyAssignment 2432862 2432891 + Identifier 2432862 2432865 + CallExpression 2432866 2432891 + Identifier 2432866 2432876 + Identifier 2432877 2432890 + VariableStatement 2432895 2433055 + VariableDeclarationList 2432895 2433054 + VariableDeclaration 2432922 2433054 + Identifier 2432922 2432929 + CallExpression 2432931 2433054 + Identifier 2432931 2432948 + Identifier 2432949 2432955 + Identifier 2432956 2432970 + ConditionalExpression 2432971 2433053 + BinaryExpression 2432971 2433003 + Identifier 2432971 2432981 + EqualsEqualsEqualsToken 2432981 2432985 + PropertyAccessExpression 2432985 2433003 + Identifier 2432985 2432999 + Identifier 2433000 2433003 + QuestionToken 2433003 2433005 + Identifier 2433005 2433027 + ColonToken 2433027 2433029 + Identifier 2433029 2433053 + VariableStatement 2433055 2433215 + VariableDeclarationList 2433055 2433214 + VariableDeclaration 2433082 2433214 + Identifier 2433082 2433089 + CallExpression 2433091 2433214 + Identifier 2433091 2433108 + Identifier 2433109 2433115 + Identifier 2433116 2433130 + ConditionalExpression 2433131 2433213 + BinaryExpression 2433131 2433163 + Identifier 2433131 2433141 + EqualsEqualsEqualsToken 2433141 2433145 + PropertyAccessExpression 2433145 2433163 + Identifier 2433145 2433159 + Identifier 2433160 2433163 + QuestionToken 2433163 2433165 + Identifier 2433165 2433189 + ColonToken 2433189 2433191 + Identifier 2433191 2433213 + VariableStatement 2433215 2433285 + VariableDeclarationList 2433215 2433284 + VariableDeclaration 2433242 2433284 + Identifier 2433242 2433268 + Identifier 2433270 2433284 + ExpressionStatement 2433285 2433345 + BinaryExpression 2433285 2433344 + Identifier 2433285 2433328 + EqualsToken 2433328 2433330 + Identifier 2433330 2433344 + ExpressionStatement 2433345 2433493 + CallExpression 2433345 2433492 + Identifier 2433345 2433388 + Identifier 2433389 2433395 + Identifier 2433396 2433403 + Identifier 2433404 2433409 + PropertyAccessExpression 2433410 2433491 + Identifier 2433410 2433422 + Identifier 2433423 2433491 + ExpressionStatement 2433493 2433565 + BinaryExpression 2433493 2433564 + Identifier 2433493 2433536 + EqualsToken 2433536 2433538 + Identifier 2433538 2433564 + ExpressionStatement 2433565 2433602 + CallExpression 2433565 2433601 + PropertyAccessExpression 2433565 2433599 + Identifier 2433565 2433594 + QuestionDotToken 2433594 2433596 + Identifier 2433596 2433599 + FunctionDeclaration 2433654 2436558 + Identifier 2433670 2433685 + Parameter 2433686 2433712 + Identifier 2433686 2433690 + TypeReference 2433691 2433712 + Identifier 2433691 2433712 + Block 2433713 2436558 + ExpressionStatement 2433715 2434052 + CallExpression 2433715 2434051 + Identifier 2433715 2434045 + Identifier 2434046 2434050 + ExpressionStatement 2434052 2434099 + CallExpression 2434052 2434098 + Identifier 2434052 2434092 + Identifier 2434093 2434097 + VariableStatement 2434099 2434151 + VariableDeclarationList 2434099 2434150 + VariableDeclaration 2434114 2434150 + Identifier 2434114 2434119 + NonNullExpression 2434121 2434150 + CallExpression 2434121 2434149 + Identifier 2434121 2434143 + Identifier 2434144 2434148 + IfStatement 2434151 2434882 + CallExpression 2434165 2434232 + Identifier 2434165 2434185 + Identifier 2434186 2434190 + PropertyAccessExpression 2434191 2434231 + Identifier 2434191 2434205 + Identifier 2434206 2434231 + Block 2434233 2434882 + IfStatement 2434235 2434410 + PropertyAccessExpression 2434253 2434287 + Identifier 2434253 2434268 + Identifier 2434269 2434287 + Block 2434288 2434410 + ExpressionStatement 2434290 2434395 + CallExpression 2434290 2434394 + Identifier 2434290 2434313 + Identifier 2434314 2434318 + PropertyAccessExpression 2434319 2434393 + Identifier 2434319 2434331 + Identifier 2434332 2434393 + IfStatement 2434410 2434625 + PrefixUnaryExpression 2434428 2434495 + ParenthesizedExpression 2434429 2434495 + BinaryExpression 2434430 2434494 + BinaryExpression 2434430 2434466 + PropertyAccessExpression 2434430 2434439 + Identifier 2434430 2434434 + Identifier 2434435 2434439 + EqualsEqualsEqualsToken 2434439 2434443 + PropertyAccessExpression 2434443 2434466 + Identifier 2434443 2434454 + Identifier 2434455 2434466 + AmpersandAmpersandToken 2434466 2434469 + CallExpression 2434469 2434494 + Identifier 2434469 2434483 + PropertyAccessExpression 2434484 2434493 + Identifier 2434484 2434488 + Identifier 2434489 2434493 + Block 2434496 2434625 + ExpressionStatement 2434498 2434610 + CallExpression 2434498 2434609 + Identifier 2434498 2434521 + Identifier 2434522 2434526 + PropertyAccessExpression 2434527 2434608 + Identifier 2434527 2434539 + Identifier 2434540 2434608 + IfStatement 2434625 2434871 + BinaryExpression 2434643 2434749 + BinaryExpression 2434643 2434706 + BinaryExpression 2434643 2434679 + PropertyAccessExpression 2434643 2434652 + Identifier 2434643 2434647 + Identifier 2434648 2434652 + EqualsEqualsEqualsToken 2434652 2434656 + PropertyAccessExpression 2434656 2434679 + Identifier 2434656 2434667 + Identifier 2434668 2434679 + AmpersandAmpersandToken 2434679 2434682 + CallExpression 2434682 2434706 + Identifier 2434682 2434695 + PropertyAccessExpression 2434696 2434705 + Identifier 2434696 2434700 + Identifier 2434701 2434705 + AmpersandAmpersandToken 2434706 2434709 + BinaryExpression 2434709 2434749 + PropertyAccessExpression 2434709 2434731 + PropertyAccessExpression 2434709 2434719 + Identifier 2434709 2434714 + Identifier 2434715 2434719 + Identifier 2434720 2434731 + EqualsEqualsEqualsToken 2434731 2434735 + StringLiteral 2434735 2434749 + Block 2434750 2434871 + ExpressionStatement 2434752 2434856 + CallExpression 2434752 2434855 + Identifier 2434752 2434775 + PropertyAccessExpression 2434776 2434785 + Identifier 2434776 2434780 + Identifier 2434781 2434785 + PropertyAccessExpression 2434786 2434854 + Identifier 2434786 2434798 + Identifier 2434799 2434854 + IfStatement 2434882 2435148 + BinaryExpression 2434896 2435017 + BinaryExpression 2434896 2434975 + BinaryExpression 2434896 2434944 + PrefixUnaryExpression 2434896 2434913 + PropertyAccessExpression 2434897 2434913 + Identifier 2434897 2434901 + Identifier 2434902 2434913 + AmpersandAmpersandToken 2434913 2434916 + CallExpression 2434916 2434944 + Identifier 2434916 2434938 + Identifier 2434939 2434943 + AmpersandAmpersandToken 2434944 2434947 + CallExpression 2434947 2434975 + Identifier 2434947 2434964 + PropertyAccessExpression 2434965 2434974 + Identifier 2434965 2434969 + Identifier 2434970 2434974 + AmpersandAmpersandToken 2434975 2434978 + PropertyAccessExpression 2434978 2435017 + ParenthesizedExpression 2434978 2435012 + AsExpression 2434980 2435011 + Identifier 2434980 2434984 + TypeReference 2434987 2435011 + Identifier 2434987 2435011 + Identifier 2435013 2435017 + Block 2435018 2435148 + ExpressionStatement 2435020 2435137 + CallExpression 2435020 2435136 + Identifier 2435020 2435039 + Identifier 2435040 2435044 + PropertyAccessExpression 2435045 2435135 + Identifier 2435045 2435057 + Identifier 2435058 2435135 + IfStatement 2435148 2436095 + BinaryExpression 2435162 2435271 + BinaryExpression 2435162 2435198 + PropertyAccessExpression 2435162 2435171 + Identifier 2435162 2435166 + Identifier 2435167 2435171 + AmpersandAmpersandToken 2435171 2435174 + CallExpression 2435174 2435198 + Identifier 2435174 2435187 + PropertyAccessExpression 2435188 2435197 + Identifier 2435188 2435192 + Identifier 2435193 2435197 + AmpersandAmpersandToken 2435198 2435201 + ParenthesizedExpression 2435201 2435271 + BinaryExpression 2435203 2435270 + BinaryExpression 2435203 2435235 + PropertyAccessExpression 2435203 2435224 + PropertyAccessExpression 2435203 2435212 + Identifier 2435203 2435207 + Identifier 2435208 2435212 + Identifier 2435213 2435224 + EqualsEqualsEqualsToken 2435224 2435228 + StringLiteral 2435228 2435235 + BarBarToken 2435235 2435238 + BinaryExpression 2435238 2435270 + PropertyAccessExpression 2435238 2435260 + PropertyAccessExpression 2435238 2435248 + Identifier 2435238 2435243 + Identifier 2435244 2435248 + Identifier 2435249 2435260 + EqualsEqualsEqualsToken 2435260 2435264 + StringLiteral 2435264 2435270 + Block 2435272 2436095 + IfStatement 2435274 2435463 + BinaryExpression 2435292 2435327 + CallExpression 2435292 2435321 + PropertyAccessExpression 2435292 2435315 + PropertyAccessExpression 2435292 2435307 + Identifier 2435292 2435296 + Identifier 2435297 2435307 + Identifier 2435308 2435315 + Identifier 2435316 2435320 + ExclamationEqualsEqualsToken 2435321 2435325 + NumericLiteral 2435325 2435327 + Block 2435328 2435463 + ExpressionStatement 2435330 2435448 + CallExpression 2435330 2435447 + Identifier 2435330 2435353 + Identifier 2435354 2435358 + PropertyAccessExpression 2435359 2435413 + Identifier 2435359 2435371 + Identifier 2435372 2435413 + AsExpression 2435414 2435446 + PropertyAccessExpression 2435414 2435436 + PropertyAccessExpression 2435414 2435424 + Identifier 2435414 2435419 + Identifier 2435420 2435424 + Identifier 2435425 2435436 + StringKeyword 2435439 2435446 + IfStatement 2435463 2435712 + BinaryExpression 2435481 2435608 + BinaryExpression 2435481 2435564 + BinaryExpression 2435481 2435517 + PropertyAccessExpression 2435481 2435490 + Identifier 2435481 2435485 + Identifier 2435486 2435490 + EqualsEqualsEqualsToken 2435490 2435494 + PropertyAccessExpression 2435494 2435517 + Identifier 2435494 2435505 + Identifier 2435506 2435517 + BarBarToken 2435517 2435520 + BinaryExpression 2435520 2435564 + PropertyAccessExpression 2435520 2435530 + Identifier 2435520 2435525 + Identifier 2435526 2435530 + EqualsEqualsEqualsToken 2435530 2435534 + PropertyAccessExpression 2435534 2435564 + Identifier 2435534 2435545 + Identifier 2435546 2435564 + BarBarToken 2435564 2435567 + BinaryExpression 2435567 2435608 + PropertyAccessExpression 2435567 2435577 + Identifier 2435567 2435572 + Identifier 2435573 2435577 + EqualsEqualsEqualsToken 2435577 2435581 + PropertyAccessExpression 2435581 2435608 + Identifier 2435581 2435592 + Identifier 2435593 2435608 + Block 2435609 2435712 + ExpressionStatement 2435611 2435697 + CallExpression 2435611 2435696 + Identifier 2435611 2435634 + Identifier 2435635 2435639 + PropertyAccessExpression 2435640 2435695 + Identifier 2435640 2435652 + Identifier 2435653 2435695 + IfStatement 2435712 2435876 + BinaryExpression 2435730 2435768 + PropertyAccessExpression 2435730 2435739 + Identifier 2435730 2435734 + Identifier 2435735 2435739 + EqualsEqualsEqualsToken 2435739 2435743 + PropertyAccessExpression 2435743 2435768 + Identifier 2435743 2435754 + Identifier 2435755 2435768 + Block 2435769 2435876 + ExpressionStatement 2435771 2435861 + CallExpression 2435771 2435860 + Identifier 2435771 2435794 + Identifier 2435795 2435799 + PropertyAccessExpression 2435800 2435859 + Identifier 2435800 2435812 + Identifier 2435813 2435859 + IfStatement 2435876 2436084 + BinaryExpression 2435894 2435970 + BinaryExpression 2435894 2435930 + PropertyAccessExpression 2435894 2435903 + Identifier 2435894 2435898 + Identifier 2435899 2435903 + EqualsEqualsEqualsToken 2435903 2435907 + PropertyAccessExpression 2435907 2435930 + Identifier 2435907 2435918 + Identifier 2435919 2435930 + BarBarToken 2435930 2435933 + BinaryExpression 2435933 2435970 + PropertyAccessExpression 2435933 2435943 + Identifier 2435933 2435938 + Identifier 2435939 2435943 + EqualsEqualsEqualsToken 2435943 2435947 + PropertyAccessExpression 2435947 2435970 + Identifier 2435947 2435958 + Identifier 2435959 2435970 + Block 2435971 2436084 + ExpressionStatement 2435973 2436069 + CallExpression 2435973 2436068 + Identifier 2435973 2435996 + Identifier 2435997 2436001 + PropertyAccessExpression 2436002 2436067 + Identifier 2436002 2436014 + Identifier 2436015 2436067 + IfStatement 2436095 2436551 + BinaryExpression 2436314 2436456 + BinaryExpression 2436314 2436365 + PropertyAccessExpression 2436314 2436333 + Identifier 2436314 2436318 + Identifier 2436319 2436333 + AmpersandAmpersandToken 2436333 2436336 + PrefixUnaryExpression 2436336 2436365 + CallExpression 2436338 2436365 + Identifier 2436338 2436354 + PropertyAccessExpression 2436355 2436364 + Identifier 2436355 2436359 + Identifier 2436360 2436364 + AmpersandAmpersandToken 2436365 2436368 + PrefixUnaryExpression 2436368 2436456 + CallExpression 2436370 2436456 + Identifier 2436370 2436388 + CallExpression 2436389 2436433 + Identifier 2436389 2436403 + CallExpression 2436404 2436432 + Identifier 2436404 2436419 + PropertyAccessExpression 2436420 2436431 + Identifier 2436420 2436424 + Identifier 2436425 2436431 + Identifier 2436434 2436455 + Block 2436457 2436551 + ExpressionStatement 2436459 2436540 + CallExpression 2436459 2436539 + Identifier 2436459 2436478 + Identifier 2436479 2436483 + PropertyAccessExpression 2436484 2436538 + Identifier 2436484 2436496 + Identifier 2436497 2436538 + FunctionDeclaration 2436558 2438824 + Identifier 2436574 2436593 + Parameter 2436594 2436617 + Identifier 2436594 2436598 + TypeReference 2436599 2436617 + Identifier 2436599 2436617 + VoidKeyword 2436619 2436624 + Block 2436624 2438824 + VariableStatement 2436626 2436680 + VariableDeclarationList 2436626 2436679 + VariableDeclaration 2436641 2436679 + Identifier 2436641 2436648 + CallExpression 2436650 2436679 + Identifier 2436650 2436673 + Identifier 2436674 2436678 + IfStatement 2436680 2436904 + PrefixUnaryExpression 2436694 2436701 + Identifier 2436695 2436701 + Block 2436702 2436904 + ExpressionStatement 2436704 2436872 + CallExpression 2436704 2436871 + Identifier 2436704 2436769 + Identifier 2436770 2436774 + PropertyAccessExpression 2436775 2436870 + Identifier 2436775 2436787 + Identifier 2436788 2436870 + ReturnStatement 2436872 2436893 + VariableStatement 2436904 2436970 + VariableDeclarationList 2436904 2436969 + VariableDeclaration 2436921 2436969 + Identifier 2436921 2436931 + CallExpression 2436933 2436969 + Identifier 2436933 2436961 + Identifier 2436962 2436968 + VariableStatement 2436970 2437041 + VariableDeclarationList 2436970 2437040 + VariableDeclaration 2436985 2437040 + Identifier 2436985 2436999 + CallExpression 2437001 2437040 + Identifier 2437001 2437029 + Identifier 2437030 2437039 + IfStatement 2437041 2437104 + PrefixUnaryExpression 2437055 2437069 + Identifier 2437056 2437069 + Block 2437070 2437104 + ReturnStatement 2437072 2437093 + ExpressionStatement 2437104 2437146 + CallExpression 2437104 2437145 + Identifier 2437104 2437134 + PropertyAccessExpression 2437135 2437144 + Identifier 2437135 2437139 + Identifier 2437140 2437144 + VariableStatement 2437146 2437189 + VariableDeclarationList 2437146 2437188 + VariableDeclaration 2437163 2437188 + ObjectBindingPattern 2437163 2437181 + BindingElement 2437165 2437179 + Identifier 2437165 2437179 + Identifier 2437183 2437188 + IfStatement 2437189 2438817 + BinaryExpression 2437203 2437304 + BinaryExpression 2437203 2437248 + PropertyAccessExpression 2437203 2437221 + Identifier 2437203 2437216 + Identifier 2437217 2437221 + ExclamationEqualsEqualsToken 2437221 2437225 + PropertyAccessExpression 2437225 2437248 + Identifier 2437225 2437243 + Identifier 2437244 2437248 + AmpersandAmpersandToken 2437248 2437251 + BinaryExpression 2437251 2437304 + PropertyAccessExpression 2437251 2437270 + Identifier 2437251 2437265 + Identifier 2437266 2437270 + ExclamationEqualsEqualsToken 2437270 2437274 + PropertyAccessExpression 2437274 2437304 + Identifier 2437274 2437292 + Identifier 2437293 2437304 + Block 2437305 2438817 + IfStatement 2437307 2438806 + BinaryExpression 2437325 2437358 + PropertyAccessExpression 2437325 2437353 + Identifier 2437325 2437338 + Identifier 2437339 2437353 + GreaterThanEqualsToken 2437353 2437356 + NumericLiteral 2437356 2437358 + Block 2437359 2438113 + IfStatement 2437361 2438098 + BinaryExpression 2437383 2437487 + CallExpression 2437383 2437419 + Identifier 2437383 2437408 + Identifier 2437409 2437418 + AmpersandAmpersandToken 2437419 2437422 + BinaryExpression 2437422 2437487 + PropertyAccessExpression 2437422 2437451 + Identifier 2437422 2437436 + Identifier 2437437 2437451 + EqualsEqualsEqualsToken 2437451 2437455 + BinaryExpression 2437455 2437487 + PropertyAccessExpression 2437455 2437483 + PropertyAccessExpression 2437455 2437476 + Identifier 2437455 2437465 + Identifier 2437466 2437476 + Identifier 2437477 2437483 + MinusToken 2437483 2437485 + NumericLiteral 2437485 2437487 + Block 2437488 2437616 + ExpressionStatement 2437490 2437597 + CallExpression 2437490 2437596 + Identifier 2437490 2437517 + Identifier 2437518 2437531 + PropertyAccessExpression 2437532 2437595 + Identifier 2437532 2437544 + Identifier 2437545 2437595 + Block 2437638 2438098 + IfStatement 2437640 2438079 + PropertyAccessExpression 2437666 2437684 + Identifier 2437666 2437679 + Identifier 2437680 2437684 + Block 2437685 2438079 + VariableStatement 2437687 2437867 + VariableDeclarationList 2437687 2437866 + VariableDeclaration 2437718 2437866 + Identifier 2437718 2437731 + ArrowFunction 2437733 2437866 + EqualsGreaterThanToken 2437736 2437739 + CallExpression 2437739 2437866 + Identifier 2437739 2437763 + Identifier 2437764 2437785 + PropertyAccessExpression 2437786 2437865 + Identifier 2437786 2437798 + Identifier 2437799 2437865 + ExpressionStatement 2437867 2438056 + CallExpression 2437867 2438055 + Identifier 2437867 2437914 + PropertyAccessExpression 2437915 2437933 + Identifier 2437915 2437928 + Identifier 2437929 2437933 + CallExpression 2437934 2438002 + Identifier 2437934 2437950 + ElementAccessExpression 2437951 2438001 + PropertyAccessExpression 2437951 2437971 + Identifier 2437951 2437960 + Identifier 2437961 2437971 + PropertyAccessExpression 2437972 2438000 + Identifier 2437972 2437985 + Identifier 2437986 2438000 + PropertyAccessExpression 2438003 2438013 + Identifier 2438003 2438008 + Identifier 2438009 2438013 + Identifier 2438014 2438040 + Identifier 2438041 2438054 + IfStatement 2438131 2438806 + Identifier 2438136 2438149 + Block 2438150 2438806 + VariableStatement 2438152 2438199 + VariableDeclarationList 2438152 2438198 + VariableDeclaration 2438173 2438198 + Identifier 2438173 2438190 + FalseKeyword 2438192 2438198 + ForOfStatement 2438199 2438616 + VariableDeclarationList 2438222 2438236 + VariableDeclaration 2438227 2438236 + ObjectBindingPattern 2438227 2438236 + BindingElement 2438229 2438234 + Identifier 2438229 2438234 + PropertyAccessExpression 2438239 2438257 + Identifier 2438239 2438246 + Identifier 2438247 2438257 + Block 2438258 2438616 + IfStatement 2438260 2438597 + BinaryExpression 2438286 2438467 + CallExpression 2438286 2438334 + Identifier 2438286 2438328 + Identifier 2438329 2438333 + AmpersandAmpersandToken 2438334 2438337 + CallExpression 2438337 2438467 + Identifier 2438337 2438417 + Identifier 2438418 2438422 + Identifier 2438423 2438437 + PropertyAccessExpression 2438438 2438466 + Identifier 2438438 2438452 + Identifier 2438453 2438466 + Block 2438490 2438597 + ExpressionStatement 2438492 2438542 + BinaryExpression 2438492 2438541 + Identifier 2438492 2438534 + EqualsToken 2438534 2438536 + TrueKeyword 2438536 2438541 + BreakStatement 2438542 2438574 + IfStatement 2438616 2438791 + PrefixUnaryExpression 2438638 2438655 + Identifier 2438639 2438655 + Block 2438656 2438791 + ExpressionStatement 2438658 2438772 + CallExpression 2438658 2438771 + Identifier 2438658 2438685 + PropertyAccessExpression 2438686 2438704 + Identifier 2438686 2438690 + Identifier 2438691 2438704 + PropertyAccessExpression 2438705 2438741 + Identifier 2438705 2438717 + Identifier 2438718 2438741 + PropertyAccessExpression 2438742 2438770 + Identifier 2438742 2438756 + Identifier 2438757 2438770 + FunctionDeclaration 2438824 2439459 + Identifier 2438840 2438863 + Parameter 2438864 2438874 + Identifier 2438864 2438868 + TypeReference 2438869 2438874 + Identifier 2438869 2438874 + UnionType 2438876 2438909 + TypeReference 2438876 2438897 + Identifier 2438876 2438897 + UndefinedKeyword 2438899 2438909 + Block 2438909 2439459 + SwitchStatement 2438911 2439452 + PropertyAccessExpression 2438929 2438945 + PropertyAccessExpression 2438929 2438940 + Identifier 2438929 2438933 + Identifier 2438934 2438940 + Identifier 2438941 2438945 + CaseBlock 2438946 2439452 + CaseClause 2438948 2438992 + PropertyAccessExpression 2438966 2438991 + Identifier 2438966 2438977 + Identifier 2438978 2438991 + CaseClause 2438992 2439036 + PropertyAccessExpression 2439010 2439035 + Identifier 2439010 2439021 + Identifier 2439022 2439035 + CaseClause 2439036 2439086 + PropertyAccessExpression 2439054 2439085 + Identifier 2439054 2439065 + Identifier 2439066 2439085 + CaseClause 2439086 2439135 + PropertyAccessExpression 2439104 2439134 + Identifier 2439104 2439115 + Identifier 2439116 2439134 + CaseClause 2439135 2439178 + PropertyAccessExpression 2439153 2439177 + Identifier 2439153 2439164 + Identifier 2439165 2439177 + CaseClause 2439178 2439226 + PropertyAccessExpression 2439196 2439225 + Identifier 2439196 2439207 + Identifier 2439208 2439225 + CaseClause 2439226 2439441 + PropertyAccessExpression 2439244 2439271 + Identifier 2439244 2439255 + Identifier 2439256 2439271 + VariableStatement 2439272 2439341 + VariableDeclarationList 2439272 2439340 + VariableDeclaration 2439295 2439340 + Identifier 2439295 2439302 + AsExpression 2439304 2439340 + PropertyAccessExpression 2439304 2439316 + Identifier 2439304 2439309 + Identifier 2439310 2439316 + TypeReference 2439319 2439340 + Identifier 2439319 2439340 + IfStatement 2439341 2439441 + BinaryExpression 2439363 2439383 + Identifier 2439363 2439367 + EqualsEqualsEqualsToken 2439367 2439371 + PropertyAccessExpression 2439371 2439383 + Identifier 2439371 2439378 + Identifier 2439379 2439383 + Block 2439384 2439441 + ReturnStatement 2439386 2439422 + Identifier 2439414 2439421 + FunctionDeclaration 2439459 2440606 + Identifier 2439475 2439530 + Parameter 2439531 2439564 + Identifier 2439531 2439548 + TypeReference 2439549 2439564 + Identifier 2439549 2439564 + Parameter 2439565 2439602 + Identifier 2439565 2439596 + TypeReference 2439597 2439602 + Identifier 2439597 2439602 + Parameter 2439603 2439642 + Identifier 2439603 2439634 + StringKeyword 2439635 2439642 + Block 2439650 2440606 + ForOfStatement 2439652 2440599 + VariableDeclarationList 2439667 2439680 + VariableDeclaration 2439672 2439680 + Identifier 2439672 2439680 + PropertyAccessExpression 2439683 2439700 + Identifier 2439683 2439691 + Identifier 2439692 2439700 + Block 2439701 2440599 + IfStatement 2439703 2439794 + CallExpression 2439721 2439749 + Identifier 2439721 2439740 + Identifier 2439741 2439748 + Block 2439750 2439794 + ContinueStatement 2439752 2439779 + VariableStatement 2439794 2439836 + VariableDeclarationList 2439794 2439835 + VariableDeclaration 2439815 2439835 + Identifier 2439815 2439820 + PropertyAccessExpression 2439822 2439835 + Identifier 2439822 2439830 + Identifier 2439831 2439835 + IfStatement 2439836 2440588 + BinaryExpression 2439854 2439935 + BinaryExpression 2439854 2439889 + PropertyAccessExpression 2439854 2439863 + Identifier 2439854 2439858 + Identifier 2439859 2439863 + EqualsEqualsEqualsToken 2439863 2439867 + PropertyAccessExpression 2439867 2439889 + Identifier 2439867 2439878 + Identifier 2439879 2439889 + AmpersandAmpersandToken 2439889 2439892 + BinaryExpression 2439892 2439935 + PropertyAccessExpression 2439892 2439909 + Identifier 2439892 2439897 + Identifier 2439898 2439909 + EqualsEqualsEqualsToken 2439909 2439913 + Identifier 2439913 2439935 + Block 2439936 2440131 + ExpressionStatement 2439938 2440086 + CallExpression 2439938 2440085 + Identifier 2439938 2439961 + Identifier 2439962 2439983 + PropertyAccessExpression 2439984 2440061 + Identifier 2439984 2439996 + Identifier 2439997 2440061 + Identifier 2440062 2440084 + ReturnStatement 2440086 2440116 + TrueKeyword 2440110 2440115 + IfStatement 2440149 2440588 + BinaryExpression 2440154 2440247 + BinaryExpression 2440154 2440198 + PropertyAccessExpression 2440154 2440163 + Identifier 2440154 2440158 + Identifier 2440159 2440163 + EqualsEqualsEqualsToken 2440163 2440167 + PropertyAccessExpression 2440167 2440198 + Identifier 2440167 2440178 + Identifier 2440179 2440198 + BarBarToken 2440198 2440201 + BinaryExpression 2440201 2440247 + PropertyAccessExpression 2440201 2440211 + Identifier 2440201 2440206 + Identifier 2440207 2440211 + EqualsEqualsEqualsToken 2440211 2440215 + PropertyAccessExpression 2440215 2440247 + Identifier 2440215 2440226 + Identifier 2440227 2440247 + Block 2440248 2440588 + IfStatement 2440250 2440573 + CallExpression 2440272 2440499 + Identifier 2440272 2440348 + Identifier 2440349 2440379 + Identifier 2440380 2440427 + Identifier 2440428 2440475 + Block 2440518 2440573 + ReturnStatement 2440520 2440554 + TrueKeyword 2440548 2440553 + FunctionDeclaration 2440606 2445638 + Identifier 2440622 2440648 + Parameter 2440649 2440675 + Identifier 2440649 2440653 + TypeReference 2440654 2440675 + Identifier 2440654 2440675 + Block 2440676 2445638 + IfStatement 2440678 2441366 + BinaryExpression 2440721 2440760 + PropertyAccessExpression 2440721 2440730 + Identifier 2440721 2440725 + Identifier 2440726 2440730 + EqualsEqualsEqualsToken 2440730 2440734 + PropertyAccessExpression 2440734 2440760 + Identifier 2440734 2440745 + Identifier 2440746 2440760 + Block 2440761 2440821 + ExpressionStatement 2440763 2440810 + CallExpression 2440763 2440809 + Identifier 2440763 2440803 + Identifier 2440804 2440808 + IfStatement 2440956 2441366 + BinaryExpression 2440961 2441259 + BinaryExpression 2440961 2441199 + BinaryExpression 2440961 2441159 + BinaryExpression 2440961 2441104 + BinaryExpression 2440961 2441060 + BinaryExpression 2440961 2441012 + PropertyAccessExpression 2440961 2440984 + Identifier 2440961 2440979 + Identifier 2440980 2440984 + EqualsEqualsEqualsToken 2440984 2440988 + PropertyAccessExpression 2440988 2441012 + Identifier 2440988 2440999 + Identifier 2441000 2441012 + BarBarToken 2441012 2441015 + BinaryExpression 2441015 2441060 + PropertyAccessExpression 2441015 2441025 + Identifier 2441015 2441020 + Identifier 2441021 2441025 + EqualsEqualsEqualsToken 2441025 2441029 + PropertyAccessExpression 2441029 2441060 + Identifier 2441029 2441040 + Identifier 2441041 2441060 + BarBarToken 2441060 2441063 + BinaryExpression 2441063 2441104 + PropertyAccessExpression 2441063 2441073 + Identifier 2441063 2441068 + Identifier 2441069 2441073 + EqualsEqualsEqualsToken 2441073 2441077 + PropertyAccessExpression 2441077 2441104 + Identifier 2441077 2441088 + Identifier 2441089 2441104 + BarBarToken 2441104 2441107 + BinaryExpression 2441107 2441159 + PropertyAccessExpression 2441107 2441130 + Identifier 2441107 2441125 + Identifier 2441126 2441130 + EqualsEqualsEqualsToken 2441130 2441134 + PropertyAccessExpression 2441134 2441159 + Identifier 2441134 2441145 + Identifier 2441146 2441159 + BarBarToken 2441159 2441162 + BinaryExpression 2441162 2441199 + PropertyAccessExpression 2441162 2441172 + Identifier 2441162 2441167 + Identifier 2441168 2441172 + EqualsEqualsEqualsToken 2441172 2441176 + PropertyAccessExpression 2441176 2441199 + Identifier 2441176 2441187 + Identifier 2441188 2441199 + BarBarToken 2441199 2441202 + BinaryExpression 2441202 2441259 + PropertyAccessExpression 2441202 2441225 + Identifier 2441202 2441220 + Identifier 2441221 2441225 + EqualsEqualsEqualsToken 2441225 2441229 + PropertyAccessExpression 2441229 2441259 + Identifier 2441229 2441240 + Identifier 2441241 2441259 + Block 2441270 2441366 + ExpressionStatement 2441272 2441355 + CallExpression 2441272 2441354 + Identifier 2441272 2441321 + AsExpression 2441322 2441353 + Identifier 2441322 2441326 + TypeReference 2441329 2441353 + Identifier 2441329 2441353 + VariableStatement 2441366 2441450 + VariableDeclarationList 2441366 2441449 + VariableDeclaration 2441383 2441449 + Identifier 2441383 2441397 + CallExpression 2441399 2441449 + Identifier 2441399 2441416 + AsExpression 2441417 2441448 + Identifier 2441417 2441421 + TypeReference 2441424 2441448 + Identifier 2441424 2441448 + IfStatement 2441450 2442615 + PrefixUnaryExpression 2441464 2441504 + ParenthesizedExpression 2441465 2441504 + BinaryExpression 2441466 2441503 + Identifier 2441466 2441479 + AmpersandToken 2441479 2441481 + PropertyAccessExpression 2441481 2441503 + Identifier 2441481 2441495 + Identifier 2441496 2441503 + Block 2441505 2442615 + IfStatement 2441507 2441879 + BinaryExpression 2441623 2441768 + BinaryExpression 2441623 2441702 + ParenthesizedExpression 2441623 2441669 + BinaryExpression 2441624 2441668 + Identifier 2441624 2441637 + AmpersandToken 2441637 2441639 + PropertyAccessExpression 2441639 2441668 + Identifier 2441639 2441653 + Identifier 2441654 2441668 + EqualsEqualsEqualsToken 2441669 2441673 + PropertyAccessExpression 2441673 2441702 + Identifier 2441673 2441687 + Identifier 2441688 2441702 + AmpersandAmpersandToken 2441702 2441705 + BinaryExpression 2441705 2441768 + Identifier 2441705 2441721 + LessThanToken 2441721 2441723 + PropertyAccessExpression 2441723 2441768 + Identifier 2441723 2441752 + Identifier 2441753 2441768 + Block 2441769 2441879 + ExpressionStatement 2441771 2441864 + CallExpression 2441771 2441863 + Identifier 2441771 2441813 + Identifier 2441814 2441818 + PropertyAccessExpression 2441819 2441862 + Identifier 2441819 2441839 + Identifier 2441840 2441862 + IfStatement 2441879 2442207 + BinaryExpression 2441976 2442111 + BinaryExpression 2441976 2442046 + ParenthesizedExpression 2441976 2442022 + BinaryExpression 2441977 2442021 + Identifier 2441977 2441990 + AmpersandToken 2441990 2441992 + PropertyAccessExpression 2441992 2442021 + Identifier 2441992 2442006 + Identifier 2442007 2442021 + EqualsEqualsEqualsToken 2442022 2442026 + PropertyAccessExpression 2442026 2442046 + Identifier 2442026 2442040 + Identifier 2442041 2442046 + AmpersandAmpersandToken 2442046 2442049 + BinaryExpression 2442049 2442111 + Identifier 2442049 2442065 + LessThanToken 2442065 2442067 + PropertyAccessExpression 2442067 2442111 + Identifier 2442067 2442096 + Identifier 2442097 2442111 + Block 2442112 2442207 + ExpressionStatement 2442114 2442192 + CallExpression 2442114 2442191 + Identifier 2442114 2442156 + Identifier 2442157 2442161 + PropertyAccessExpression 2442162 2442190 + Identifier 2442162 2442182 + Identifier 2442183 2442190 + IfStatement 2442207 2442604 + BinaryExpression 2442374 2442506 + BinaryExpression 2442374 2442445 + ParenthesizedExpression 2442374 2442420 + BinaryExpression 2442375 2442419 + Identifier 2442375 2442388 + AmpersandToken 2442388 2442390 + PropertyAccessExpression 2442390 2442419 + Identifier 2442390 2442404 + Identifier 2442405 2442419 + ExclamationEqualsEqualsToken 2442420 2442424 + PropertyAccessExpression 2442424 2442445 + Identifier 2442424 2442438 + Identifier 2442439 2442445 + AmpersandAmpersandToken 2442445 2442448 + BinaryExpression 2442448 2442506 + Identifier 2442448 2442464 + LessThanToken 2442464 2442466 + PropertyAccessExpression 2442466 2442506 + Identifier 2442466 2442495 + Identifier 2442496 2442506 + Block 2442507 2442604 + ExpressionStatement 2442509 2442589 + CallExpression 2442509 2442588 + Identifier 2442509 2442551 + Identifier 2442552 2442556 + PropertyAccessExpression 2442557 2442587 + Identifier 2442557 2442577 + Identifier 2442578 2442587 + ExpressionStatement 2442615 2442692 + CallExpression 2442615 2442691 + Identifier 2442615 2442646 + CallExpression 2442647 2442690 + Identifier 2442647 2442684 + Identifier 2442685 2442689 + ExpressionStatement 2442692 2442738 + CallExpression 2442692 2442737 + Identifier 2442692 2442731 + Identifier 2442732 2442736 + ExpressionStatement 2442738 2442791 + CallExpression 2442738 2442790 + Identifier 2442738 2442757 + PropertyAccessExpression 2442758 2442773 + Identifier 2442758 2442762 + Identifier 2442763 2442773 + Identifier 2442774 2442789 + IfStatement 2442791 2442940 + PropertyAccessExpression 2442873 2442882 + Identifier 2442873 2442877 + Identifier 2442878 2442882 + Block 2442883 2442940 + ExpressionStatement 2442885 2442929 + CallExpression 2442885 2442928 + Identifier 2442885 2442917 + PropertyAccessExpression 2442918 2442927 + Identifier 2442918 2442922 + Identifier 2442923 2442927 + ExpressionStatement 2442940 2443008 + CallExpression 2442940 2443007 + Identifier 2442940 2442969 + Identifier 2442970 2443006 + FunctionDeclaration 2443008 2445631 + Identifier 2443028 2443065 + Block 2443067 2445631 + ExpressionStatement 2443069 2443132 + CallExpression 2443069 2443131 + Identifier 2443069 2443125 + Identifier 2443126 2443130 + VariableStatement 2443132 2443202 + VariableDeclarationList 2443132 2443201 + VariableDeclaration 2443151 2443201 + Identifier 2443151 2443166 + CallExpression 2443168 2443201 + Identifier 2443168 2443195 + Identifier 2443196 2443200 + VariableStatement 2443202 2443261 + VariableDeclarationList 2443202 2443260 + VariableDeclaration 2443219 2443260 + Identifier 2443219 2443243 + Identifier 2443245 2443260 + IfStatement 2443261 2443867 + CallExpression 2443281 2443297 + Identifier 2443281 2443291 + Identifier 2443292 2443296 + Block 2443298 2443867 + VariableStatement 2443300 2443356 + VariableDeclarationList 2443300 2443355 + VariableDeclaration 2443323 2443355 + Identifier 2443323 2443331 + CallExpression 2443333 2443355 + Identifier 2443333 2443349 + Identifier 2443350 2443354 + IfStatement 2443356 2443852 + BinaryExpression 2443378 2443463 + BinaryExpression 2443378 2443411 + Identifier 2443378 2443385 + AmpersandAmpersandToken 2443385 2443388 + PropertyAccessExpression 2443388 2443411 + Identifier 2443388 2443396 + Identifier 2443397 2443411 + AmpersandAmpersandToken 2443411 2443414 + CallExpression 2443414 2443463 + Identifier 2443414 2443434 + PropertyAccessExpression 2443435 2443462 + PropertyAccessExpression 2443435 2443457 + Identifier 2443435 2443442 + Identifier 2443443 2443457 + Identifier 2443458 2443462 + Block 2443464 2443852 + VariableStatement 2443466 2443574 + VariableDeclarationList 2443466 2443573 + VariableDeclaration 2443493 2443573 + Identifier 2443493 2443503 + CallExpression 2443505 2443573 + Identifier 2443505 2443528 + CallExpression 2443529 2443572 + Identifier 2443529 2443548 + PropertyAccessExpression 2443549 2443571 + Identifier 2443549 2443556 + Identifier 2443557 2443571 + IfStatement 2443574 2443833 + BinaryExpression 2443600 2443634 + Identifier 2443600 2443609 + AmpersandAmpersandToken 2443609 2443612 + PropertyAccessExpression 2443612 2443634 + Identifier 2443612 2443622 + Identifier 2443623 2443634 + Block 2443635 2443833 + ExpressionStatement 2443637 2443730 + BinaryExpression 2443637 2443729 + Identifier 2443637 2443677 + EqualsToken 2443677 2443679 + CallExpression 2443679 2443729 + Identifier 2443679 2443706 + PropertyAccessExpression 2443707 2443728 + Identifier 2443707 2443716 + Identifier 2443717 2443728 + ExpressionStatement 2443730 2443810 + BinaryExpression 2443730 2443809 + Identifier 2443730 2443779 + EqualsToken 2443779 2443781 + PropertyAccessExpression 2443781 2443809 + PropertyAccessExpression 2443781 2443804 + Identifier 2443781 2443789 + Identifier 2443790 2443804 + Identifier 2443805 2443809 + IfStatement 2443867 2444442 + BinaryExpression 2443887 2443919 + Identifier 2443887 2443900 + AmpersandAmpersandToken 2443900 2443903 + PrefixUnaryExpression 2443903 2443919 + Identifier 2443905 2443919 + Block 2443920 2444442 + SwitchStatement 2443922 2444427 + PropertyAccessExpression 2443948 2443957 + Identifier 2443948 2443952 + Identifier 2443953 2443957 + CaseBlock 2443958 2444427 + CaseClause 2443960 2444189 + PropertyAccessExpression 2443986 2444016 + Identifier 2443986 2443997 + Identifier 2443998 2444016 + ExpressionStatement 2444017 2444157 + CallExpression 2444017 2444156 + Identifier 2444017 2444048 + Identifier 2444049 2444053 + PropertyAccessExpression 2444054 2444155 + Identifier 2444054 2444066 + Identifier 2444067 2444155 + BreakStatement 2444157 2444189 + CaseClause 2444189 2444408 + PropertyAccessExpression 2444215 2444240 + Identifier 2444215 2444226 + Identifier 2444227 2444240 + ExpressionStatement 2444241 2444376 + CallExpression 2444241 2444375 + Identifier 2444241 2444272 + Identifier 2444273 2444277 + PropertyAccessExpression 2444278 2444374 + Identifier 2444278 2444290 + Identifier 2444291 2444374 + BreakStatement 2444376 2444408 + IfStatement 2444442 2445441 + BinaryExpression 2444462 2444503 + Identifier 2444462 2444476 + AmpersandAmpersandToken 2444476 2444479 + Identifier 2444479 2444503 + Block 2444504 2445441 + VariableStatement 2444506 2444592 + VariableDeclarationList 2444506 2444591 + VariableDeclaration 2444529 2444591 + Identifier 2444529 2444543 + CallExpression 2444545 2444591 + Identifier 2444545 2444562 + AsExpression 2444563 2444590 + Identifier 2444563 2444567 + TypeReference 2444570 2444590 + Identifier 2444570 2444590 + IfStatement 2444592 2445426 + BinaryExpression 2444614 2444709 + ParenthesizedExpression 2444614 2444681 + BinaryExpression 2444615 2444680 + Identifier 2444615 2444628 + AmpersandToken 2444628 2444630 + ParenthesizedExpression 2444630 2444680 + BinaryExpression 2444632 2444679 + PropertyAccessExpression 2444632 2444653 + Identifier 2444632 2444645 + Identifier 2444646 2444653 + BarToken 2444653 2444655 + PropertyAccessExpression 2444655 2444679 + Identifier 2444655 2444669 + Identifier 2444670 2444679 + EqualsEqualsEqualsToken 2444681 2444685 + PropertyAccessExpression 2444685 2444709 + Identifier 2444685 2444699 + Identifier 2444700 2444709 + Block 2444710 2445182 + VariableStatement 2444712 2444789 + VariableDeclarationList 2444712 2444788 + VariableDeclaration 2444739 2444788 + Identifier 2444739 2444750 + CallExpression 2444752 2444788 + Identifier 2444752 2444772 + Identifier 2444773 2444787 + IfStatement 2444789 2445163 + BinaryExpression 2444815 2444838 + Identifier 2444815 2444825 + EqualsEqualsEqualsToken 2444825 2444829 + Identifier 2444829 2444838 + Block 2444839 2444981 + ExpressionStatement 2444841 2444958 + CallExpression 2444841 2444957 + Identifier 2444841 2444872 + Identifier 2444873 2444896 + PropertyAccessExpression 2444897 2444956 + Identifier 2444897 2444909 + Identifier 2444910 2444956 + Block 2445007 2445163 + ExpressionStatement 2445009 2445140 + CallExpression 2445009 2445139 + Identifier 2445009 2445087 + Identifier 2445088 2445098 + Identifier 2445099 2445113 + Identifier 2445114 2445138 + IfStatement 2445204 2445426 + BinaryExpression 2445209 2445279 + ParenthesizedExpression 2445209 2445255 + BinaryExpression 2445210 2445254 + Identifier 2445210 2445223 + AmpersandToken 2445223 2445225 + PropertyAccessExpression 2445225 2445254 + Identifier 2445225 2445239 + Identifier 2445240 2445254 + EqualsEqualsEqualsToken 2445255 2445259 + PropertyAccessExpression 2445259 2445279 + Identifier 2445259 2445273 + Identifier 2445274 2445279 + Block 2445280 2445426 + ExpressionStatement 2445282 2445407 + CallExpression 2445282 2445406 + Identifier 2445282 2445332 + AsExpression 2445333 2445364 + Identifier 2445333 2445337 + TypeReference 2445340 2445364 + Identifier 2445340 2445364 + Identifier 2445365 2445380 + Identifier 2445381 2445405 + IfStatement 2445441 2445620 + BinaryExpression 2445459 2445544 + BinaryExpression 2445459 2445498 + PropertyAccessExpression 2445459 2445468 + Identifier 2445459 2445463 + Identifier 2445464 2445468 + ExclamationEqualsEqualsToken 2445468 2445472 + PropertyAccessExpression 2445472 2445498 + Identifier 2445472 2445483 + Identifier 2445484 2445498 + AmpersandAmpersandToken 2445498 2445501 + BinaryExpression 2445501 2445544 + PropertyAccessExpression 2445501 2445511 + Identifier 2445501 2445506 + Identifier 2445507 2445511 + ExclamationEqualsEqualsToken 2445511 2445515 + PropertyAccessExpression 2445515 2445544 + Identifier 2445515 2445526 + Identifier 2445527 2445544 + Block 2445545 2445620 + ExpressionStatement 2445547 2445605 + CallExpression 2445547 2445604 + Identifier 2445547 2445598 + Identifier 2445599 2445603 + FunctionDeclaration 2445638 2446969 + Identifier 2445654 2445707 + Parameter 2445708 2445724 + Identifier 2445708 2445718 + TypeReference 2445719 2445724 + Identifier 2445719 2445724 + Parameter 2445725 2445754 + Identifier 2445725 2445739 + TypeReference 2445740 2445754 + Identifier 2445740 2445754 + Parameter 2445755 2445776 + Identifier 2445755 2445765 + QuestionToken 2445765 2445766 + TypeReference 2445767 2445776 + Identifier 2445767 2445776 + Block 2445777 2446969 + VariableStatement 2445779 2446345 + VariableDeclarationList 2445779 2446344 + VariableDeclaration 2446184 2446344 + Identifier 2446184 2446203 + BinaryExpression 2446205 2446344 + CallExpression 2446205 2446333 + Identifier 2446205 2446251 + PropertyAccessExpression 2446252 2446275 + Identifier 2446252 2446269 + Identifier 2446270 2446275 + Identifier 2446276 2446287 + BinaryExpression 2446288 2446332 + ParenthesizedExpression 2446288 2446326 + BinaryExpression 2446290 2446325 + Identifier 2446290 2446303 + AmpersandToken 2446303 2446305 + PropertyAccessExpression 2446305 2446325 + Identifier 2446305 2446319 + Identifier 2446320 2446325 + ExclamationEqualsEqualsToken 2446326 2446330 + NumericLiteral 2446330 2446332 + BarBarToken 2446333 2446336 + Identifier 2446336 2446344 + VariableStatement 2446345 2446534 + VariableDeclarationList 2446345 2446533 + VariableDeclaration 2446360 2446533 + Identifier 2446360 2446380 + BinaryExpression 2446382 2446533 + CallExpression 2446382 2446511 + Identifier 2446382 2446428 + PropertyAccessExpression 2446429 2446453 + Identifier 2446429 2446446 + Identifier 2446447 2446453 + Identifier 2446454 2446465 + BinaryExpression 2446466 2446510 + ParenthesizedExpression 2446466 2446504 + BinaryExpression 2446468 2446503 + Identifier 2446468 2446481 + AmpersandToken 2446481 2446483 + PropertyAccessExpression 2446483 2446503 + Identifier 2446483 2446497 + Identifier 2446498 2446503 + ExclamationEqualsEqualsToken 2446504 2446508 + NumericLiteral 2446508 2446510 + BarBarToken 2446511 2446514 + Identifier 2446514 2446533 + VariableStatement 2446534 2446712 + VariableDeclarationList 2446534 2446711 + VariableDeclaration 2446549 2446711 + Identifier 2446549 2446567 + BinaryExpression 2446569 2446711 + CallExpression 2446569 2446696 + Identifier 2446569 2446615 + PropertyAccessExpression 2446616 2446638 + Identifier 2446616 2446633 + Identifier 2446634 2446638 + Identifier 2446639 2446650 + BinaryExpression 2446651 2446695 + ParenthesizedExpression 2446651 2446689 + BinaryExpression 2446653 2446688 + Identifier 2446653 2446666 + AmpersandToken 2446666 2446668 + PropertyAccessExpression 2446668 2446688 + Identifier 2446668 2446682 + Identifier 2446683 2446688 + ExclamationEqualsEqualsToken 2446689 2446693 + NumericLiteral 2446693 2446695 + BarBarToken 2446696 2446699 + Identifier 2446699 2446711 + VariableStatement 2446712 2446874 + VariableDeclarationList 2446712 2446873 + VariableDeclaration 2446727 2446873 + Identifier 2446727 2446750 + CallExpression 2446752 2446873 + Identifier 2446752 2446772 + Identifier 2446773 2446791 + Identifier 2446792 2446812 + Identifier 2446813 2446831 + PrefixUnaryExpression 2446832 2446872 + PrefixUnaryExpression 2446834 2446872 + ParenthesizedExpression 2446835 2446872 + BinaryExpression 2446836 2446871 + Identifier 2446836 2446849 + AmpersandToken 2446849 2446851 + PropertyAccessExpression 2446851 2446871 + Identifier 2446851 2446865 + Identifier 2446866 2446871 + ReturnStatement 2446874 2446962 + CallExpression 2446892 2446961 + Identifier 2446892 2446914 + Identifier 2446915 2446937 + Identifier 2446938 2446949 + Identifier 2446950 2446960 + FunctionDeclaration 2446969 2451093 + Identifier 2446985 2447020 + Parameter 2447021 2447047 + Identifier 2447021 2447025 + TypeReference 2447026 2447047 + Identifier 2447026 2447047 + Block 2447048 2451093 + VariableStatement 2447050 2447122 + VariableDeclarationList 2447050 2447121 + VariableDeclaration 2447065 2447121 + Identifier 2447065 2447079 + NewExpression 2447081 2447121 + Identifier 2447085 2447089 + TypeReference 2447090 2447098 + Identifier 2447090 2447098 + TypeReference 2447099 2447118 + Identifier 2447099 2447118 + VariableStatement 2447122 2447192 + VariableDeclarationList 2447122 2447191 + VariableDeclaration 2447137 2447191 + Identifier 2447137 2447149 + NewExpression 2447151 2447191 + Identifier 2447155 2447159 + TypeReference 2447160 2447168 + Identifier 2447160 2447168 + TypeReference 2447169 2447188 + Identifier 2447169 2447188 + VariableStatement 2447192 2447342 + VariableDeclarationList 2447192 2447341 + VariableDeclaration 2447280 2447341 + Identifier 2447280 2447299 + NewExpression 2447301 2447341 + Identifier 2447305 2447309 + TypeReference 2447310 2447318 + Identifier 2447310 2447318 + TypeReference 2447319 2447338 + Identifier 2447319 2447338 + ForOfStatement 2447342 2449434 + VariableDeclarationList 2447357 2447369 + VariableDeclaration 2447362 2447369 + Identifier 2447362 2447369 + PropertyAccessExpression 2447372 2447385 + Identifier 2447372 2447377 + Identifier 2447378 2447385 + Block 2447386 2449434 + IfStatement 2447388 2449423 + BinaryExpression 2447406 2447444 + PropertyAccessExpression 2447406 2447417 + Identifier 2447406 2447412 + Identifier 2447413 2447417 + EqualsEqualsEqualsToken 2447417 2447421 + PropertyAccessExpression 2447421 2447444 + Identifier 2447421 2447432 + Identifier 2447433 2447444 + Block 2447445 2447819 + ForOfStatement 2447447 2447804 + VariableDeclarationList 2447470 2447481 + VariableDeclaration 2447475 2447481 + Identifier 2447475 2447481 + PropertyAccessExpression 2447484 2447530 + ParenthesizedExpression 2447484 2447519 + AsExpression 2447486 2447518 + Identifier 2447486 2447492 + TypeReference 2447495 2447518 + Identifier 2447495 2447518 + Identifier 2447520 2447530 + Block 2447531 2447804 + IfStatement 2447533 2447785 + BinaryExpression 2447559 2447637 + CallExpression 2447559 2447604 + Identifier 2447559 2447589 + Identifier 2447590 2447595 + Identifier 2447596 2447603 + AmpersandAmpersandToken 2447604 2447607 + PrefixUnaryExpression 2447607 2447637 + CallExpression 2447609 2447637 + Identifier 2447609 2447625 + PropertyAccessExpression 2447626 2447636 + Identifier 2447626 2447631 + Identifier 2447632 2447636 + Block 2447638 2447785 + ExpressionStatement 2447640 2447762 + CallExpression 2447640 2447761 + Identifier 2447640 2447673 + Identifier 2447674 2447687 + PropertyAccessExpression 2447688 2447699 + Identifier 2447688 2447694 + Identifier 2447695 2447699 + PropertyAccessExpression 2447700 2447723 + PropertyAccessExpression 2447700 2447711 + Identifier 2447700 2447706 + Identifier 2447707 2447711 + Identifier 2447712 2447723 + PropertyAccessExpression 2447724 2447760 + Identifier 2447724 2447743 + Identifier 2447744 2447760 + Block 2447837 2449423 + VariableStatement 2447839 2447897 + VariableDeclarationList 2447839 2447896 + VariableDeclaration 2447862 2447896 + Identifier 2447862 2447877 + CallExpression 2447879 2447896 + Identifier 2447879 2447888 + Identifier 2447889 2447895 + VariableStatement 2447897 2447940 + VariableDeclarationList 2447897 2447939 + VariableDeclaration 2447920 2447939 + Identifier 2447920 2447925 + PropertyAccessExpression 2447927 2447939 + Identifier 2447927 2447934 + Identifier 2447935 2447939 + IfStatement 2447940 2448020 + PrefixUnaryExpression 2447962 2447967 + Identifier 2447963 2447967 + Block 2447968 2448020 + ContinueStatement 2447970 2448001 + VariableStatement 2448020 2448082 + VariableDeclarationList 2448020 2448081 + VariableDeclaration 2448043 2448081 + Identifier 2448043 2448053 + CallExpression 2448055 2448081 + Identifier 2448055 2448075 + Identifier 2448076 2448080 + VariableStatement 2448082 2448194 + VariableDeclarationList 2448082 2448193 + VariableDeclaration 2448105 2448193 + Identifier 2448105 2448124 + ConditionalExpression 2448126 2448193 + BinaryExpression 2448126 2448154 + Identifier 2448126 2448136 + AmpersandAmpersandToken 2448136 2448139 + Identifier 2448139 2448154 + QuestionToken 2448154 2448156 + PropertyAccessExpression 2448156 2448189 + Identifier 2448156 2448175 + Identifier 2448176 2448189 + ColonToken 2448189 2448191 + NumericLiteral 2448191 2448193 + VariableStatement 2448194 2448346 + VariableDeclarationList 2448194 2448345 + VariableDeclaration 2448217 2448345 + Identifier 2448217 2448223 + ConditionalExpression 2448225 2448345 + Identifier 2448225 2448235 + QuestionToken 2448235 2448237 + Identifier 2448237 2448256 + ColonToken 2448256 2448258 + ConditionalExpression 2448258 2448345 + Identifier 2448258 2448294 + QuestionToken 2448294 2448296 + Identifier 2448296 2448308 + ColonToken 2448308 2448310 + Identifier 2448310 2448345 + VariableStatement 2448346 2448443 + VariableDeclarationList 2448346 2448442 + VariableDeclaration 2448371 2448442 + Identifier 2448371 2448382 + BinaryExpression 2448384 2448442 + Identifier 2448384 2448389 + AmpersandAmpersandToken 2448389 2448392 + CallExpression 2448392 2448442 + Identifier 2448392 2448436 + Identifier 2448437 2448441 + IfStatement 2448443 2449408 + Identifier 2448465 2448475 + Block 2448476 2449408 + SwitchStatement 2448478 2449389 + PropertyAccessExpression 2448508 2448519 + Identifier 2448508 2448514 + Identifier 2448515 2448519 + CaseBlock 2448520 2449389 + CaseClause 2448522 2448728 + PropertyAccessExpression 2448552 2448575 + Identifier 2448552 2448563 + Identifier 2448564 2448575 + ExpressionStatement 2448576 2448692 + CallExpression 2448576 2448691 + Identifier 2448576 2448613 + Identifier 2448614 2448619 + Identifier 2448620 2448625 + Identifier 2448626 2448637 + BinaryExpression 2448638 2448690 + PropertyAccessExpression 2448638 2448669 + Identifier 2448638 2448657 + Identifier 2448658 2448669 + BarToken 2448669 2448671 + Identifier 2448671 2448690 + BreakStatement 2448692 2448728 + CaseClause 2448728 2448936 + PropertyAccessExpression 2448760 2448783 + Identifier 2448760 2448771 + Identifier 2448772 2448783 + ExpressionStatement 2448784 2448900 + CallExpression 2448784 2448899 + Identifier 2448784 2448821 + Identifier 2448822 2448827 + Identifier 2448828 2448833 + Identifier 2448834 2448845 + BinaryExpression 2448846 2448898 + PropertyAccessExpression 2448846 2448877 + Identifier 2448846 2448865 + Identifier 2448866 2448877 + BarToken 2448877 2448879 + Identifier 2448879 2448898 + BreakStatement 2448900 2448936 + CaseClause 2448936 2449157 + PropertyAccessExpression 2448968 2448999 + Identifier 2448968 2448979 + Identifier 2448980 2448999 + ExpressionStatement 2449000 2449121 + CallExpression 2449000 2449120 + Identifier 2449000 2449037 + Identifier 2449038 2449043 + Identifier 2449044 2449049 + Identifier 2449050 2449061 + BinaryExpression 2449062 2449119 + PropertyAccessExpression 2449062 2449098 + Identifier 2449062 2449081 + Identifier 2449082 2449098 + BarToken 2449098 2449100 + Identifier 2449100 2449119 + BreakStatement 2449121 2449157 + CaseClause 2449157 2449366 + PropertyAccessExpression 2449189 2449218 + Identifier 2449189 2449200 + Identifier 2449201 2449218 + ExpressionStatement 2449219 2449330 + CallExpression 2449219 2449329 + Identifier 2449219 2449256 + Identifier 2449257 2449262 + Identifier 2449263 2449268 + Identifier 2449269 2449280 + BinaryExpression 2449281 2449328 + PropertyAccessExpression 2449281 2449307 + Identifier 2449281 2449300 + Identifier 2449301 2449307 + BarToken 2449307 2449309 + Identifier 2449309 2449328 + BreakStatement 2449330 2449366 + FunctionDeclaration 2449434 2451086 + Identifier 2449454 2449462 + Parameter 2449463 2449503 + Identifier 2449463 2449468 + TypeReference 2449469 2449503 + Identifier 2449469 2449473 + TypeReference 2449474 2449482 + Identifier 2449474 2449482 + TypeReference 2449483 2449502 + Identifier 2449483 2449502 + Parameter 2449504 2449519 + Identifier 2449504 2449513 + TypeReference 2449514 2449519 + Identifier 2449514 2449519 + Parameter 2449520 2449535 + Identifier 2449520 2449525 + TypeReference 2449526 2449535 + Identifier 2449526 2449535 + Parameter 2449536 2449564 + Identifier 2449536 2449544 + TypeReference 2449545 2449564 + Identifier 2449545 2449564 + Block 2449565 2451086 + VariableStatement 2449567 2449610 + VariableDeclarationList 2449567 2449609 + VariableDeclaration 2449586 2449609 + Identifier 2449586 2449591 + CallExpression 2449593 2449609 + PropertyAccessExpression 2449593 2449603 + Identifier 2449593 2449599 + Identifier 2449600 2449603 + Identifier 2449604 2449608 + IfStatement 2449610 2451075 + Identifier 2449628 2449632 + Block 2449633 2450997 + IfStatement 2449635 2450982 + BinaryExpression 2449772 2449862 + ParenthesizedExpression 2449772 2449813 + BinaryExpression 2449773 2449812 + Identifier 2449773 2449777 + AmpersandToken 2449777 2449779 + PropertyAccessExpression 2449779 2449812 + Identifier 2449779 2449798 + Identifier 2449799 2449812 + ExclamationEqualsEqualsToken 2449813 2449817 + ParenthesizedExpression 2449817 2449862 + BinaryExpression 2449819 2449861 + Identifier 2449819 2449826 + AmpersandToken 2449826 2449828 + PropertyAccessExpression 2449828 2449861 + Identifier 2449828 2449847 + Identifier 2449848 2449861 + Block 2449863 2450047 + ExpressionStatement 2449865 2450028 + CallExpression 2449865 2450027 + Identifier 2449865 2449892 + Identifier 2449893 2449901 + PropertyAccessExpression 2449902 2450001 + Identifier 2449902 2449914 + Identifier 2449915 2450001 + CallExpression 2450002 2450026 + Identifier 2450002 2450016 + Identifier 2450017 2450025 + Block 2450069 2450982 + VariableStatement 2450071 2450151 + VariableDeclarationList 2450071 2450150 + VariableDeclaration 2450098 2450150 + Identifier 2450098 2450111 + PrefixUnaryExpression 2450113 2450150 + PrefixUnaryExpression 2450115 2450150 + ParenthesizedExpression 2450116 2450150 + BinaryExpression 2450117 2450149 + Identifier 2450117 2450121 + AmpersandToken 2450121 2450123 + PropertyAccessExpression 2450123 2450149 + Identifier 2450123 2450142 + Identifier 2450143 2450149 + VariableStatement 2450151 2450230 + VariableDeclarationList 2450151 2450229 + VariableDeclaration 2450178 2450229 + Identifier 2450178 2450187 + PrefixUnaryExpression 2450189 2450229 + PrefixUnaryExpression 2450191 2450229 + ParenthesizedExpression 2450192 2450229 + BinaryExpression 2450193 2450228 + Identifier 2450193 2450200 + AmpersandToken 2450200 2450202 + PropertyAccessExpression 2450202 2450228 + Identifier 2450202 2450221 + Identifier 2450222 2450228 + IfStatement 2450230 2450963 + BinaryExpression 2450256 2450280 + Identifier 2450256 2450268 + BarBarToken 2450268 2450271 + Identifier 2450271 2450280 + Block 2450281 2450644 + IfStatement 2450283 2450475 + BinaryExpression 2450313 2450338 + Identifier 2450313 2450325 + ExclamationEqualsEqualsToken 2450325 2450329 + Identifier 2450329 2450338 + Block 2450339 2450475 + ExpressionStatement 2450341 2450448 + CallExpression 2450341 2450447 + Identifier 2450341 2450376 + Identifier 2450377 2450385 + PropertyAccessExpression 2450386 2450421 + Identifier 2450386 2450398 + Identifier 2450399 2450421 + CallExpression 2450422 2450446 + Identifier 2450422 2450436 + Identifier 2450437 2450445 + IfStatement 2450670 2450963 + BinaryExpression 2450675 2450725 + BinaryExpression 2450675 2450689 + Identifier 2450675 2450679 + AmpersandToken 2450679 2450681 + Identifier 2450681 2450689 + AmpersandToken 2450689 2450691 + PrefixUnaryExpression 2450691 2450725 + PropertyAccessExpression 2450693 2450725 + Identifier 2450693 2450711 + Identifier 2450712 2450725 + Block 2450726 2450854 + ExpressionStatement 2450728 2450831 + CallExpression 2450728 2450830 + Identifier 2450728 2450759 + Identifier 2450760 2450768 + PropertyAccessExpression 2450769 2450804 + Identifier 2450769 2450781 + Identifier 2450782 2450804 + CallExpression 2450805 2450829 + Identifier 2450805 2450819 + Identifier 2450820 2450828 + Block 2450880 2450963 + ExpressionStatement 2450882 2450940 + CallExpression 2450882 2450939 + PropertyAccessExpression 2450882 2450917 + Identifier 2450882 2450913 + Identifier 2450914 2450917 + Identifier 2450918 2450922 + BinaryExpression 2450923 2450938 + Identifier 2450923 2450928 + BarToken 2450928 2450930 + Identifier 2450930 2450938 + Block 2451015 2451075 + ExpressionStatement 2451017 2451060 + CallExpression 2451017 2451059 + PropertyAccessExpression 2451017 2451044 + Identifier 2451017 2451040 + Identifier 2451041 2451044 + Identifier 2451045 2451049 + Identifier 2451050 2451058 + FunctionDeclaration 2451093 2452970 + Identifier 2451812 2451853 + Parameter 2451854 2451880 + Identifier 2451854 2451858 + TypeReference 2451859 2451880 + Identifier 2451859 2451880 + Block 2451881 2452970 + ForOfStatement 2451883 2452963 + VariableDeclarationList 2451898 2451910 + VariableDeclaration 2451903 2451910 + Identifier 2451903 2451910 + PropertyAccessExpression 2451913 2451926 + Identifier 2451913 2451918 + Identifier 2451919 2451926 + Block 2451927 2452963 + VariableStatement 2451929 2451978 + VariableDeclarationList 2451929 2451977 + VariableDeclaration 2451948 2451977 + Identifier 2451948 2451963 + PropertyAccessExpression 2451965 2451977 + Identifier 2451965 2451972 + Identifier 2451973 2451977 + VariableStatement 2451978 2452032 + VariableDeclarationList 2451978 2452031 + VariableDeclaration 2451997 2452031 + Identifier 2451997 2452012 + CallExpression 2452014 2452031 + Identifier 2452014 2452023 + Identifier 2452024 2452030 + IfStatement 2452032 2452952 + BinaryExpression 2452050 2452082 + Identifier 2452050 2452064 + AmpersandAmpersandToken 2452064 2452067 + Identifier 2452067 2452082 + Block 2452083 2452952 + VariableStatement 2452085 2452182 + VariableDeclarationList 2452085 2452181 + VariableDeclaration 2452108 2452181 + Identifier 2452108 2452119 + CallExpression 2452121 2452181 + Identifier 2452121 2452165 + Identifier 2452166 2452180 + SwitchStatement 2452182 2452937 + Identifier 2452208 2452218 + CaseBlock 2452219 2452937 + CaseClause 2452221 2452255 + StringLiteral 2452247 2452254 + CaseClause 2452255 2452291 + StringLiteral 2452281 2452290 + CaseClause 2452291 2452327 + StringLiteral 2452317 2452326 + CaseClause 2452327 2452485 + StringLiteral 2452353 2452365 + IfStatement 2452366 2452485 + Identifier 2452396 2452419 + Block 2452420 2452485 + BreakStatement 2452422 2452458 + CaseClause 2452485 2452918 + StringLiteral 2452552 2452564 + VariableStatement 2452565 2452707 + VariableDeclarationList 2452565 2452706 + VariableDeclaration 2452596 2452706 + Identifier 2452596 2452604 + PropertyAccessExpression 2452606 2452706 + Identifier 2452606 2452618 + Identifier 2452619 2452706 + VariableStatement 2452707 2452806 + VariableDeclarationList 2452707 2452805 + VariableDeclaration 2452738 2452805 + Identifier 2452738 2452748 + CallExpression 2452750 2452805 + Identifier 2452750 2452775 + CallExpression 2452776 2452804 + Identifier 2452776 2452798 + Identifier 2452799 2452803 + ExpressionStatement 2452806 2452886 + CallExpression 2452806 2452885 + Identifier 2452806 2452837 + Identifier 2452838 2452852 + Identifier 2452853 2452861 + Identifier 2452862 2452873 + Identifier 2452874 2452884 + BreakStatement 2452886 2452918 + FunctionDeclaration 2452970 2454174 + Identifier 2452986 2453026 + Parameter 2453027 2453071 + Identifier 2453027 2453031 + UnionType 2453032 2453071 + TypeReference 2453032 2453048 + Identifier 2453032 2453048 + TypeReference 2453050 2453071 + Identifier 2453050 2453071 + Block 2453072 2454174 + VariableStatement 2453074 2453125 + VariableDeclarationList 2453074 2453124 + VariableDeclaration 2453089 2453124 + Identifier 2453089 2453095 + NewExpression 2453097 2453124 + Identifier 2453101 2453105 + StringKeyword 2453106 2453112 + BooleanKeyword 2453113 2453121 + ForOfStatement 2453125 2454167 + VariableDeclarationList 2453140 2453152 + VariableDeclaration 2453145 2453152 + Identifier 2453145 2453152 + PropertyAccessExpression 2453155 2453168 + Identifier 2453155 2453160 + Identifier 2453161 2453168 + Block 2453169 2454167 + IfStatement 2453171 2454156 + BinaryExpression 2453189 2453233 + PropertyAccessExpression 2453189 2453200 + Identifier 2453189 2453195 + Identifier 2453196 2453200 + EqualsEqualsEqualsToken 2453200 2453204 + PropertyAccessExpression 2453204 2453233 + Identifier 2453204 2453215 + Identifier 2453216 2453233 + Block 2453234 2454156 + VariableStatement 2453236 2453277 + VariableDeclarationList 2453236 2453276 + VariableDeclaration 2453257 2453276 + Identifier 2453257 2453268 + StringKeyword 2453269 2453276 + VariableStatement 2453277 2453321 + VariableDeclarationList 2453277 2453320 + VariableDeclaration 2453300 2453320 + Identifier 2453300 2453305 + NonNullExpression 2453307 2453320 + PropertyAccessExpression 2453307 2453319 + Identifier 2453307 2453314 + Identifier 2453315 2453319 + SwitchStatement 2453321 2453762 + PropertyAccessExpression 2453347 2453356 + Identifier 2453347 2453351 + Identifier 2453352 2453356 + CaseBlock 2453357 2453762 + CaseClause 2453359 2453411 + PropertyAccessExpression 2453385 2453410 + Identifier 2453385 2453396 + Identifier 2453397 2453410 + CaseClause 2453411 2453545 + PropertyAccessExpression 2453437 2453463 + Identifier 2453437 2453448 + Identifier 2453449 2453463 + ExpressionStatement 2453464 2453513 + BinaryExpression 2453464 2453512 + Identifier 2453464 2453500 + EqualsToken 2453500 2453502 + PropertyAccessExpression 2453502 2453512 + Identifier 2453502 2453507 + Identifier 2453508 2453512 + BreakStatement 2453513 2453545 + CaseClause 2453545 2453678 + PropertyAccessExpression 2453571 2453593 + Identifier 2453571 2453582 + Identifier 2453583 2453593 + ExpressionStatement 2453594 2453646 + BinaryExpression 2453594 2453645 + Identifier 2453594 2453630 + EqualsToken 2453630 2453632 + CallExpression 2453632 2453645 + Identifier 2453632 2453639 + Identifier 2453640 2453644 + BreakStatement 2453646 2453678 + DefaultClause 2453678 2453743 + ContinueStatement 2453708 2453743 + IfStatement 2453762 2454141 + CallExpression 2453786 2453807 + PropertyAccessExpression 2453786 2453795 + Identifier 2453786 2453791 + Identifier 2453792 2453795 + Identifier 2453796 2453806 + Block 2453808 2454048 + ExpressionStatement 2453810 2453940 + CallExpression 2453810 2453939 + Identifier 2453810 2453837 + CallExpression 2453838 2453890 + Identifier 2453838 2453858 + PropertyAccessExpression 2453859 2453889 + PropertyAccessExpression 2453859 2453872 + Identifier 2453859 2453865 + Identifier 2453866 2453872 + Identifier 2453873 2453889 + PropertyAccessExpression 2453891 2453926 + Identifier 2453891 2453903 + Identifier 2453904 2453926 + Identifier 2453927 2453938 + ExpressionStatement 2453940 2454029 + CallExpression 2453940 2454028 + Identifier 2453940 2453967 + PropertyAccessExpression 2453968 2453979 + Identifier 2453968 2453974 + Identifier 2453975 2453979 + PropertyAccessExpression 2453980 2454015 + Identifier 2453980 2453992 + Identifier 2453993 2454015 + Identifier 2454016 2454027 + Block 2454070 2454141 + ExpressionStatement 2454072 2454122 + CallExpression 2454072 2454121 + PropertyAccessExpression 2454072 2454103 + Identifier 2454072 2454099 + Identifier 2454100 2454103 + Identifier 2454104 2454114 + TrueKeyword 2454115 2454120 + FunctionDeclaration 2454174 2456671 + Identifier 2454190 2454227 + Parameter 2454228 2454295 + Identifier 2454228 2454232 + UnionType 2454233 2454295 + TypeReference 2454233 2454254 + Identifier 2454233 2454254 + TypeReference 2454256 2454277 + Identifier 2454256 2454277 + TypeReference 2454279 2454295 + Identifier 2454279 2454295 + Block 2454296 2456671 + IfStatement 2454298 2454829 + BinaryExpression 2454312 2454357 + PropertyAccessExpression 2454312 2454321 + Identifier 2454312 2454316 + Identifier 2454317 2454321 + EqualsEqualsEqualsToken 2454321 2454325 + PropertyAccessExpression 2454325 2454357 + Identifier 2454325 2454336 + Identifier 2454337 2454357 + Block 2454358 2454829 + VariableStatement 2454360 2454422 + VariableDeclarationList 2454360 2454421 + VariableDeclaration 2454379 2454421 + Identifier 2454379 2454390 + CallExpression 2454392 2454421 + Identifier 2454392 2454415 + Identifier 2454416 2454420 + IfStatement 2454422 2454818 + BinaryExpression 2454675 2454775 + BinaryExpression 2454675 2454736 + PropertyAccessExpression 2454675 2454698 + Identifier 2454675 2454685 + Identifier 2454686 2454698 + AmpersandAmpersandToken 2454698 2454701 + BinaryExpression 2454701 2454736 + PropertyAccessExpression 2454701 2454732 + PropertyAccessExpression 2454701 2454725 + Identifier 2454701 2454712 + Identifier 2454713 2454725 + Identifier 2454726 2454732 + GreaterThanToken 2454732 2454734 + NumericLiteral 2454734 2454736 + AmpersandAmpersandToken 2454736 2454739 + BinaryExpression 2454739 2454775 + ElementAccessExpression 2454739 2454766 + PropertyAccessExpression 2454739 2454763 + Identifier 2454739 2454750 + Identifier 2454751 2454763 + NumericLiteral 2454764 2454765 + ExclamationEqualsEqualsToken 2454766 2454770 + Identifier 2454770 2454775 + Block 2454776 2454818 + ReturnStatement 2454778 2454803 + VariableStatement 2454829 2455196 + VariableDeclarationList 2454829 2455195 + VariableDeclaration 2455136 2455195 + Identifier 2455136 2455148 + CallExpression 2455150 2455195 + Identifier 2455150 2455165 + CallExpression 2455166 2455194 + Identifier 2455166 2455188 + Identifier 2455189 2455193 + IfStatement 2455196 2456664 + PropertyAccessExpression 2455210 2455235 + Identifier 2455210 2455221 + QuestionDotToken 2455221 2455223 + Identifier 2455223 2455235 + Block 2455236 2456664 + VariableStatement 2455238 2455356 + VariableDeclarationList 2455238 2455355 + VariableDeclaration 2455257 2455355 + Identifier 2455257 2455275 + NewExpression 2455277 2455355 + Identifier 2455281 2455285 + TypeReference 2455286 2455292 + Identifier 2455286 2455292 + TypeLiteral 2455293 2455352 + PropertySignature 2455295 2455307 + Identifier 2455295 2455300 + TypeReference 2455301 2455306 + Identifier 2455301 2455306 + PropertySignature 2455307 2455350 + Identifier 2455307 2455320 + ArrayType 2455321 2455349 + TypeReference 2455321 2455347 + Identifier 2455321 2455347 + ForOfStatement 2455356 2456300 + VariableDeclarationList 2455375 2455392 + VariableDeclaration 2455380 2455392 + Identifier 2455380 2455392 + PropertyAccessExpression 2455395 2455420 + Identifier 2455395 2455407 + Identifier 2455408 2455420 + Block 2455421 2456300 + IfStatement 2455423 2456163 + CallExpression 2455445 2455485 + Identifier 2455445 2455472 + Identifier 2455473 2455484 + Block 2455486 2456163 + IfStatement 2455488 2456144 + BinaryExpression 2455514 2455583 + BinaryExpression 2455514 2455549 + PropertyAccessExpression 2455514 2455543 + PropertyAccessExpression 2455514 2455536 + Identifier 2455514 2455525 + Identifier 2455526 2455536 + Identifier 2455537 2455543 + EqualsEqualsEqualsToken 2455543 2455547 + NumericLiteral 2455547 2455549 + AmpersandAmpersandToken 2455549 2455552 + PropertyAccessExpression 2455552 2455583 + ElementAccessExpression 2455552 2455578 + PropertyAccessExpression 2455552 2455575 + Identifier 2455552 2455564 + Identifier 2455565 2455575 + NumericLiteral 2455576 2455577 + Identifier 2455579 2455583 + Block 2455584 2456144 + ExpressionStatement 2455586 2456121 + CallExpression 2455586 2456120 + Identifier 2455586 2455623 + CallExpression 2455624 2455675 + Identifier 2455624 2455643 + PropertyAccessExpression 2455644 2455674 + ElementAccessExpression 2455644 2455669 + PropertyAccessExpression 2455644 2455666 + Identifier 2455644 2455655 + Identifier 2455656 2455666 + NumericLiteral 2455667 2455668 + Identifier 2455670 2455674 + ArrowFunction 2455676 2456119 + Parameter 2455676 2455681 + Identifier 2455676 2455681 + EqualsGreaterThanToken 2455681 2455684 + Block 2455684 2456119 + VariableStatement 2455686 2455769 + VariableDeclarationList 2455686 2455768 + VariableDeclaration 2455721 2455768 + Identifier 2455721 2455727 + CallExpression 2455729 2455768 + PropertyAccessExpression 2455729 2455751 + Identifier 2455729 2455747 + Identifier 2455748 2455751 + CallExpression 2455752 2455767 + Identifier 2455752 2455761 + Identifier 2455762 2455766 + IfStatement 2455769 2456092 + Identifier 2455803 2455808 + Block 2455809 2455913 + ExpressionStatement 2455811 2455882 + CallExpression 2455811 2455881 + PropertyAccessExpression 2455811 2455868 + PropertyAccessExpression 2455811 2455863 + Identifier 2455811 2455850 + Identifier 2455851 2455863 + Identifier 2455864 2455868 + Identifier 2455869 2455880 + Block 2455947 2456092 + ExpressionStatement 2455949 2456061 + CallExpression 2455949 2456060 + PropertyAccessExpression 2455949 2456004 + Identifier 2455949 2456000 + Identifier 2456001 2456004 + CallExpression 2456005 2456020 + Identifier 2456005 2456014 + Identifier 2456015 2456019 + ObjectLiteralExpression 2456021 2456059 + ShorthandPropertyAssignment 2456023 2456028 + Identifier 2456023 2456028 + PropertyAssignment 2456029 2456057 + Identifier 2456029 2456042 + ArrayLiteralExpression 2456043 2456057 + Identifier 2456045 2456056 + ExpressionStatement 2456300 2456653 + CallExpression 2456300 2456652 + PropertyAccessExpression 2456300 2456339 + Identifier 2456300 2456331 + Identifier 2456332 2456339 + ArrowFunction 2456340 2456651 + Parameter 2456340 2456345 + Identifier 2456340 2456345 + EqualsGreaterThanToken 2456345 2456348 + Block 2456348 2456651 + IfStatement 2456350 2456636 + BinaryExpression 2456372 2456401 + PropertyAccessExpression 2456372 2456397 + PropertyAccessExpression 2456372 2456390 + Identifier 2456372 2456377 + Identifier 2456378 2456390 + Identifier 2456391 2456397 + GreaterThanToken 2456397 2456399 + NumericLiteral 2456399 2456401 + Block 2456402 2456636 + ForOfStatement 2456404 2456617 + VariableDeclarationList 2456431 2456448 + VariableDeclaration 2456436 2456448 + Identifier 2456436 2456448 + PropertyAccessExpression 2456451 2456470 + Identifier 2456451 2456457 + Identifier 2456458 2456470 + Block 2456471 2456617 + ExpressionStatement 2456473 2456594 + CallExpression 2456473 2456593 + Identifier 2456473 2456504 + Identifier 2456505 2456516 + PropertyAccessExpression 2456517 2456566 + Identifier 2456517 2456529 + Identifier 2456530 2456566 + CallExpression 2456567 2456592 + Identifier 2456567 2456580 + PropertyAccessExpression 2456581 2456591 + Identifier 2456581 2456586 + Identifier 2456587 2456591 + FunctionDeclaration 2456671 2457410 + Identifier 2456687 2456712 + Parameter 2456713 2456758 + Identifier 2456713 2456717 + UnionType 2456718 2456758 + TypeReference 2456718 2456738 + Identifier 2456718 2456738 + TypeReference 2456740 2456758 + Identifier 2456740 2456758 + Block 2456759 2457410 + IfStatement 2456761 2456909 + BinaryExpression 2456804 2456863 + PrefixUnaryExpression 2456804 2456832 + CallExpression 2456805 2456832 + Identifier 2456805 2456826 + Identifier 2456827 2456831 + AmpersandAmpersandToken 2456832 2456835 + PrefixUnaryExpression 2456835 2456863 + CallExpression 2456837 2456863 + Identifier 2456837 2456857 + Identifier 2456858 2456862 + ExpressionStatement 2456864 2456909 + CallExpression 2456864 2456908 + Identifier 2456864 2456897 + PropertyAccessExpression 2456898 2456907 + Identifier 2456898 2456902 + Identifier 2456903 2456907 + ExpressionStatement 2456909 2456954 + CallExpression 2456909 2456953 + Identifier 2456909 2456947 + Identifier 2456948 2456952 + ExpressionStatement 2456954 2457010 + CallExpression 2456954 2457009 + Identifier 2456954 2457003 + Identifier 2457004 2457008 + IfStatement 2457010 2457403 + BinaryExpression 2457128 2457246 + BinaryExpression 2457128 2457226 + CallExpression 2457128 2457178 + Identifier 2457128 2457148 + Identifier 2457149 2457153 + PropertyAccessExpression 2457154 2457177 + Identifier 2457154 2457168 + Identifier 2457169 2457177 + AmpersandAmpersandToken 2457178 2457181 + BinaryExpression 2457181 2457226 + PropertyAccessExpression 2457181 2457191 + Identifier 2457181 2457186 + Identifier 2457187 2457191 + EqualsEqualsEqualsToken 2457191 2457195 + PropertyAccessExpression 2457195 2457226 + Identifier 2457195 2457206 + Identifier 2457207 2457226 + AmpersandAmpersandToken 2457226 2457229 + PropertyAccessExpression 2457229 2457246 + Identifier 2457229 2457234 + Identifier 2457235 2457246 + Block 2457247 2457403 + ExpressionStatement 2457249 2457392 + CallExpression 2457249 2457391 + Identifier 2457249 2457268 + Identifier 2457269 2457273 + PropertyAccessExpression 2457274 2457354 + Identifier 2457274 2457286 + Identifier 2457287 2457354 + CallExpression 2457355 2457390 + Identifier 2457355 2457379 + PropertyAccessExpression 2457380 2457389 + Identifier 2457380 2457384 + Identifier 2457385 2457389 + FunctionDeclaration 2457410 2457685 + Identifier 2457426 2457449 + Parameter 2457450 2457473 + Identifier 2457450 2457454 + TypeReference 2457455 2457473 + Identifier 2457455 2457473 + Block 2457474 2457685 + IfStatement 2457476 2457630 + CallExpression 2457490 2457520 + Identifier 2457490 2457509 + PropertyAccessExpression 2457510 2457519 + Identifier 2457510 2457514 + Identifier 2457515 2457519 + Block 2457521 2457630 + ExpressionStatement 2457523 2457619 + CallExpression 2457523 2457618 + Identifier 2457523 2457542 + Identifier 2457543 2457547 + PropertyAccessExpression 2457548 2457617 + Identifier 2457548 2457560 + Identifier 2457561 2457617 + ReturnStatement 2457630 2457678 + CallExpression 2457646 2457677 + Identifier 2457646 2457671 + Identifier 2457672 2457676 + FunctionDeclaration 2457685 2458976 + Identifier 2457701 2457724 + Parameter 2457725 2457766 + Identifier 2457725 2457729 + UnionType 2457730 2457766 + TypeReference 2457730 2457748 + Identifier 2457730 2457748 + TypeReference 2457750 2457766 + Identifier 2457750 2457766 + Block 2457767 2458976 + IfStatement 2457769 2457883 + PrefixUnaryExpression 2457812 2457837 + CallExpression 2457813 2457837 + Identifier 2457813 2457831 + Identifier 2457832 2457836 + ExpressionStatement 2457838 2457883 + CallExpression 2457838 2457882 + Identifier 2457838 2457871 + PropertyAccessExpression 2457872 2457881 + Identifier 2457872 2457876 + Identifier 2457877 2457881 + IfStatement 2457883 2458111 + BinaryExpression 2457899 2458012 + BinaryExpression 2457899 2457973 + BinaryExpression 2457899 2457946 + CallExpression 2457899 2457924 + Identifier 2457899 2457918 + Identifier 2457919 2457923 + AmpersandAmpersandToken 2457924 2457927 + PropertyAccessExpression 2457927 2457946 + Identifier 2457927 2457932 + Identifier 2457933 2457946 + AmpersandAmpersandToken 2457946 2457949 + CallExpression 2457949 2457973 + Identifier 2457949 2457962 + PropertyAccessExpression 2457963 2457972 + Identifier 2457963 2457967 + Identifier 2457968 2457972 + AmpersandAmpersandToken 2457973 2457976 + BinaryExpression 2457976 2458012 + CallExpression 2457976 2457994 + Identifier 2457976 2457983 + PropertyAccessExpression 2457984 2457993 + Identifier 2457984 2457988 + Identifier 2457989 2457993 + EqualsEqualsEqualsToken 2457994 2457998 + StringLiteral 2457998 2458012 + Block 2458013 2458111 + ExpressionStatement 2458015 2458100 + CallExpression 2458015 2458099 + Identifier 2458015 2458034 + PropertyAccessExpression 2458035 2458044 + Identifier 2458035 2458039 + Identifier 2458040 2458044 + PropertyAccessExpression 2458045 2458098 + Identifier 2458045 2458057 + Identifier 2458058 2458098 + ExpressionStatement 2458111 2458269 + CallExpression 2458111 2458268 + Identifier 2458111 2458262 + Identifier 2458263 2458267 + IfStatement 2458269 2458655 + BinaryExpression 2458388 2458497 + BinaryExpression 2458388 2458484 + CallExpression 2458388 2458438 + Identifier 2458388 2458408 + Identifier 2458409 2458413 + PropertyAccessExpression 2458414 2458437 + Identifier 2458414 2458428 + Identifier 2458429 2458437 + AmpersandAmpersandToken 2458438 2458441 + BinaryExpression 2458441 2458484 + PropertyAccessExpression 2458441 2458451 + Identifier 2458441 2458446 + Identifier 2458447 2458451 + EqualsEqualsEqualsToken 2458451 2458455 + PropertyAccessExpression 2458455 2458484 + Identifier 2458455 2458466 + Identifier 2458467 2458484 + AmpersandAmpersandToken 2458484 2458487 + PropertyAccessExpression 2458487 2458497 + Identifier 2458487 2458492 + Identifier 2458493 2458497 + Block 2458498 2458655 + ExpressionStatement 2458500 2458644 + CallExpression 2458500 2458643 + Identifier 2458500 2458519 + Identifier 2458520 2458524 + PropertyAccessExpression 2458525 2458606 + Identifier 2458525 2458537 + Identifier 2458538 2458606 + CallExpression 2458607 2458642 + Identifier 2458607 2458631 + PropertyAccessExpression 2458632 2458641 + Identifier 2458632 2458636 + Identifier 2458637 2458641 + IfStatement 2458655 2458913 + BinaryExpression 2458744 2458803 + CallExpression 2458744 2458774 + Identifier 2458744 2458763 + PropertyAccessExpression 2458764 2458773 + Identifier 2458764 2458768 + Identifier 2458769 2458773 + AmpersandAmpersandToken 2458774 2458777 + PrefixUnaryExpression 2458777 2458803 + CallExpression 2458779 2458803 + Identifier 2458779 2458797 + Identifier 2458798 2458802 + Block 2458804 2458913 + ExpressionStatement 2458806 2458902 + CallExpression 2458806 2458901 + Identifier 2458806 2458825 + Identifier 2458826 2458830 + PropertyAccessExpression 2458831 2458900 + Identifier 2458831 2458843 + Identifier 2458844 2458900 + ExpressionStatement 2458913 2458969 + CallExpression 2458913 2458968 + Identifier 2458913 2458962 + Identifier 2458963 2458967 + FunctionDeclaration 2458976 2460517 + Identifier 2458992 2459030 + Parameter 2459031 2459136 + Identifier 2459031 2459035 + UnionType 2459036 2459136 + TypeReference 2459036 2459056 + Identifier 2459036 2459056 + TypeReference 2459058 2459076 + Identifier 2459058 2459076 + TypeReference 2459078 2459096 + Identifier 2459078 2459096 + TypeReference 2459098 2459114 + Identifier 2459098 2459114 + TypeReference 2459116 2459136 + Identifier 2459116 2459136 + Block 2459137 2460517 + IfStatement 2459139 2460510 + CallExpression 2459153 2459183 + Identifier 2459153 2459172 + PropertyAccessExpression 2459173 2459182 + Identifier 2459173 2459177 + Identifier 2459178 2459182 + Block 2459184 2460510 + IfStatement 2459186 2460499 + BinaryExpression 2459204 2459444 + BinaryExpression 2459204 2459399 + BinaryExpression 2459204 2459301 + Identifier 2459204 2459237 + LessThanToken 2459237 2459239 + PropertyAccessExpression 2459239 2459301 + Identifier 2459239 2459268 + Identifier 2459269 2459301 + BarBarToken 2459301 2459304 + BinaryExpression 2459304 2459399 + Identifier 2459304 2459337 + LessThanToken 2459337 2459339 + PropertyAccessExpression 2459339 2459399 + Identifier 2459339 2459368 + Identifier 2459369 2459399 + BarBarToken 2459399 2459402 + PrefixUnaryExpression 2459402 2459444 + Identifier 2459421 2459444 + Block 2459459 2460499 + ForStatement 2459461 2459749 + VariableDeclarationList 2459484 2459540 + VariableDeclaration 2459487 2459540 + Identifier 2459487 2459500 + CallExpression 2459502 2459540 + Identifier 2459502 2459534 + Identifier 2459535 2459539 + PrefixUnaryExpression 2459541 2459556 + PrefixUnaryExpression 2459543 2459556 + Identifier 2459544 2459556 + BinaryExpression 2459557 2459618 + Identifier 2459557 2459570 + EqualsToken 2459570 2459572 + CallExpression 2459572 2459618 + Identifier 2459572 2459604 + Identifier 2459605 2459617 + Block 2459619 2459749 + ExpressionStatement 2459621 2459730 + BinaryExpression 2459621 2459729 + PropertyAccessExpression 2459621 2459675 + CallExpression 2459621 2459669 + Identifier 2459621 2459655 + Identifier 2459656 2459668 + Identifier 2459670 2459675 + BarEqualsToken 2459675 2459678 + PropertyAccessExpression 2459678 2459729 + Identifier 2459678 2459693 + Identifier 2459694 2459729 + IfStatement 2459749 2460484 + CallExpression 2460025 2460055 + Identifier 2460025 2460042 + PropertyAccessExpression 2460043 2460054 + Identifier 2460043 2460047 + Identifier 2460048 2460054 + Block 2460056 2460484 + VariableStatement 2460058 2460160 + VariableDeclarationList 2460058 2460159 + VariableDeclaration 2460085 2460159 + Identifier 2460085 2460113 + CallExpression 2460115 2460159 + Identifier 2460115 2460146 + PropertyAccessExpression 2460147 2460158 + Identifier 2460147 2460151 + Identifier 2460152 2460158 + IfStatement 2460160 2460465 + Identifier 2460186 2460213 + Block 2460214 2460465 + ExpressionStatement 2460216 2460315 + BinaryExpression 2460216 2460314 + PropertyAccessExpression 2460216 2460271 + CallExpression 2460216 2460265 + Identifier 2460216 2460254 + PropertyAccessExpression 2460255 2460264 + Identifier 2460255 2460259 + Identifier 2460260 2460264 + Identifier 2460266 2460271 + BarEqualsToken 2460271 2460274 + PropertyAccessExpression 2460274 2460314 + Identifier 2460274 2460289 + Identifier 2460290 2460314 + ExpressionStatement 2460315 2460442 + BinaryExpression 2460315 2460441 + PropertyAccessExpression 2460315 2460388 + CallExpression 2460315 2460382 + Identifier 2460315 2460353 + Identifier 2460354 2460381 + Identifier 2460383 2460388 + BarEqualsToken 2460388 2460391 + PropertyAccessExpression 2460391 2460441 + Identifier 2460391 2460406 + Identifier 2460407 2460441 + FunctionDeclaration 2460517 2460699 + Identifier 2460533 2460566 + Parameter 2460567 2460600 + Identifier 2460567 2460571 + TypeReference 2460572 2460600 + Identifier 2460572 2460600 + Block 2460601 2460699 + ExpressionStatement 2460603 2460641 + CallExpression 2460603 2460640 + Identifier 2460603 2460634 + Identifier 2460635 2460639 + ExpressionStatement 2460641 2460692 + CallExpression 2460641 2460691 + Identifier 2460641 2460665 + Identifier 2460666 2460670 + Identifier 2460671 2460690 + FunctionDeclaration 2460699 2465891 + Identifier 2460715 2460743 + Parameter 2460744 2460772 + Identifier 2460744 2460748 + TypeReference 2460749 2460772 + Identifier 2460749 2460772 + Block 2460773 2465891 + ExpressionStatement 2460775 2460950 + CallExpression 2460775 2460949 + Identifier 2460775 2460943 + Identifier 2460944 2460948 + IfStatement 2460950 2461132 + PrefixUnaryExpression 2461042 2461086 + CallExpression 2461043 2461086 + Identifier 2461043 2461080 + Identifier 2461081 2461085 + ExpressionStatement 2461087 2461132 + CallExpression 2461087 2461131 + Identifier 2461087 2461125 + Identifier 2461126 2461130 + ExpressionStatement 2461132 2461174 + CallExpression 2461132 2461173 + Identifier 2461132 2461162 + PropertyAccessExpression 2461163 2461172 + Identifier 2461163 2461167 + Identifier 2461168 2461172 + VariableStatement 2461174 2461230 + VariableDeclarationList 2461174 2461229 + VariableDeclaration 2461191 2461229 + Identifier 2461191 2461198 + CallExpression 2461200 2461229 + Identifier 2461200 2461223 + Identifier 2461224 2461228 + VariableStatement 2461230 2461305 + VariableDeclarationList 2461230 2461304 + VariableDeclaration 2461245 2461304 + Identifier 2461245 2461262 + CallExpression 2461264 2461304 + Identifier 2461264 2461285 + Identifier 2461286 2461292 + PropertyAccessExpression 2461293 2461303 + Identifier 2461293 2461298 + Identifier 2461299 2461303 + IfStatement 2461305 2461459 + BinaryExpression 2461365 2461390 + Identifier 2461365 2461369 + EqualsEqualsEqualsToken 2461369 2461373 + Identifier 2461373 2461390 + Block 2461391 2461459 + ExpressionStatement 2461393 2461448 + CallExpression 2461393 2461447 + Identifier 2461393 2461439 + Identifier 2461440 2461446 + IfStatement 2461459 2461622 + CallExpression 2461563 2461587 + Identifier 2461563 2461576 + PropertyAccessExpression 2461577 2461586 + Identifier 2461577 2461581 + Identifier 2461582 2461586 + Block 2461588 2461622 + ReturnStatement 2461590 2461611 + ExpressionStatement 2461622 2461692 + CallExpression 2461622 2461691 + Identifier 2461622 2461651 + Identifier 2461652 2461690 + ReturnStatement 2461692 2461711 + FunctionDeclaration 2461711 2462091 + Identifier 2461731 2461792 + Parameter 2461793 2461800 + Identifier 2461793 2461794 + TypeReference 2461795 2461800 + Identifier 2461795 2461800 + BooleanKeyword 2461802 2461810 + Block 2461810 2462091 + IfStatement 2461812 2461923 + CallExpression 2461830 2461875 + Identifier 2461830 2461872 + Identifier 2461873 2461874 + Block 2461876 2461923 + ReturnStatement 2461878 2461908 + TrueKeyword 2461902 2461907 + ReturnStatement 2461923 2462080 + BinaryExpression 2461943 2462079 + BinaryExpression 2461943 2462018 + BinaryExpression 2461943 2461985 + PropertyAccessExpression 2461943 2461950 + Identifier 2461943 2461945 + Identifier 2461946 2461950 + EqualsEqualsEqualsToken 2461950 2461954 + PropertyAccessExpression 2461954 2461985 + Identifier 2461954 2461965 + Identifier 2461966 2461985 + AmpersandAmpersandToken 2461985 2461988 + PrefixUnaryExpression 2461988 2462018 + CallExpression 2462007 2462018 + Identifier 2462007 2462015 + Identifier 2462016 2462017 + AmpersandAmpersandToken 2462018 2462021 + PrefixUnaryExpression 2462021 2462079 + PrefixUnaryExpression 2462040 2462079 + PropertyAccessExpression 2462041 2462079 + ParenthesizedExpression 2462041 2462067 + AsExpression 2462042 2462066 + Identifier 2462042 2462043 + TypeReference 2462046 2462066 + Identifier 2462046 2462066 + Identifier 2462068 2462079 + FunctionDeclaration 2462091 2465884 + Identifier 2462111 2462150 + Block 2462152 2465884 + VariableStatement 2462154 2462475 + VariableDeclarationList 2462154 2462474 + VariableDeclaration 2462440 2462474 + Identifier 2462440 2462460 + PropertyAccessExpression 2462462 2462474 + Identifier 2462462 2462467 + Identifier 2462468 2462474 + IfStatement 2462475 2465873 + CallExpression 2462493 2462544 + Identifier 2462493 2462523 + Identifier 2462524 2462543 + Block 2462545 2465873 + ExpressionStatement 2462547 2462618 + CallExpression 2462547 2462617 + Identifier 2462547 2462583 + PropertyAccessExpression 2462584 2462595 + Identifier 2462584 2462588 + Identifier 2462589 2462595 + Identifier 2462596 2462616 + VariableStatement 2462618 2462710 + VariableDeclarationList 2462618 2462709 + VariableDeclaration 2462641 2462709 + Identifier 2462641 2462658 + CallExpression 2462660 2462709 + Identifier 2462660 2462688 + Identifier 2462689 2462708 + VariableStatement 2462710 2462777 + VariableDeclarationList 2462710 2462776 + VariableDeclaration 2462733 2462776 + Identifier 2462733 2462743 + CallExpression 2462745 2462776 + Identifier 2462745 2462764 + NonNullExpression 2462765 2462775 + PropertyAccessExpression 2462765 2462774 + Identifier 2462765 2462769 + Identifier 2462770 2462774 + IfStatement 2462777 2465858 + Identifier 2462799 2462808 + Block 2462809 2465686 + IfStatement 2462811 2463005 + Identifier 2462837 2462853 + Block 2462854 2463005 + ExpressionStatement 2462856 2462982 + CallExpression 2462856 2462981 + Identifier 2462856 2462887 + Identifier 2462888 2462897 + PropertyAccessExpression 2462898 2462980 + Identifier 2462898 2462910 + Identifier 2462911 2462980 + VariableStatement 2463005 2463685 + VariableDeclarationList 2463005 2463684 + VariableDeclaration 2463387 2463684 + Identifier 2463387 2463414 + BinaryExpression 2463416 2463684 + PrefixUnaryExpression 2463416 2463441 + Identifier 2463418 2463441 + AmpersandAmpersandToken 2463441 2463444 + ParenthesizedExpression 2463444 2463684 + BinaryExpression 2463471 2463683 + CallExpression 2463471 2463558 + Identifier 2463471 2463475 + PropertyAccessExpression 2463476 2463495 + PropertyAccessExpression 2463476 2463487 + Identifier 2463476 2463480 + Identifier 2463481 2463487 + Identifier 2463488 2463495 + Identifier 2463496 2463557 + BarBarToken 2463558 2463561 + CallExpression 2463561 2463683 + Identifier 2463561 2463595 + PropertyAccessExpression 2463596 2463611 + Identifier 2463596 2463600 + Identifier 2463601 2463611 + ArrowFunction 2463612 2463682 + Parameter 2463612 2463614 + Identifier 2463612 2463614 + EqualsGreaterThanToken 2463614 2463617 + CallExpression 2463617 2463682 + Identifier 2463617 2463638 + Identifier 2463639 2463640 + PropertyAccessExpression 2463641 2463681 + Identifier 2463641 2463655 + Identifier 2463656 2463681 + IfStatement 2463685 2465667 + Identifier 2463713 2463739 + Block 2463740 2465667 + IfStatement 2463742 2465644 + PrefixUnaryExpression 2463956 2464013 + CallExpression 2463957 2464013 + Identifier 2463957 2463990 + Identifier 2463991 2464000 + NonNullExpression 2464001 2464012 + PropertyAccessExpression 2464001 2464011 + Identifier 2464001 2464006 + Identifier 2464007 2464011 + Block 2464014 2464268 + ExpressionStatement 2464016 2464241 + CallExpression 2464016 2464240 + Identifier 2464016 2464051 + Identifier 2464052 2464061 + PropertyAccessExpression 2464062 2464239 + Identifier 2464062 2464074 + Identifier 2464075 2464239 + Block 2464435 2465644 + VariableStatement 2464437 2464523 + VariableDeclarationList 2464437 2464522 + VariableDeclaration 2464470 2464522 + Identifier 2464470 2464489 + UnionType 2464490 2464522 + TypeReference 2464490 2464510 + Identifier 2464490 2464510 + UndefinedKeyword 2464512 2464522 + ForOfStatement 2464523 2465081 + VariableDeclarationList 2464560 2464575 + VariableDeclaration 2464565 2464575 + Identifier 2464565 2464575 + PropertyAccessExpression 2464578 2464600 + NonNullExpression 2464578 2464589 + PropertyAccessExpression 2464578 2464588 + Identifier 2464578 2464583 + Identifier 2464584 2464588 + Identifier 2464590 2464600 + Block 2464601 2465081 + IfStatement 2464603 2464883 + BinaryExpression 2464641 2464732 + CallExpression 2464641 2464673 + Identifier 2464641 2464662 + Identifier 2464663 2464672 + AmpersandAmpersandToken 2464673 2464676 + CallExpression 2464676 2464732 + Identifier 2464676 2464688 + CallExpression 2464689 2464731 + Identifier 2464689 2464709 + PropertyAccessExpression 2464710 2464730 + Identifier 2464710 2464719 + Identifier 2464720 2464730 + Block 2464733 2464883 + ExpressionStatement 2464735 2464804 + BinaryExpression 2464735 2464803 + Identifier 2464735 2464791 + EqualsToken 2464791 2464793 + Identifier 2464793 2464803 + BreakStatement 2464804 2464848 + IfStatement 2464883 2465050 + CallExpression 2464921 2464968 + Identifier 2464921 2464957 + Identifier 2464958 2464967 + Block 2464969 2465050 + BreakStatement 2464971 2465015 + IfStatement 2465081 2465617 + BinaryExpression 2465309 2465341 + Identifier 2465309 2465327 + EqualsEqualsEqualsToken 2465327 2465331 + Identifier 2465331 2465341 + Block 2465342 2465617 + ExpressionStatement 2465344 2465586 + CallExpression 2465344 2465585 + Identifier 2465344 2465383 + Identifier 2465384 2465388 + PropertyAccessExpression 2465389 2465584 + Identifier 2465389 2465401 + Identifier 2465402 2465584 + IfStatement 2465708 2465858 + PrefixUnaryExpression 2465713 2465730 + Identifier 2465714 2465730 + Block 2465731 2465858 + ExpressionStatement 2465733 2465839 + CallExpression 2465733 2465838 + Identifier 2465733 2465760 + Identifier 2465761 2465765 + PropertyAccessExpression 2465766 2465837 + Identifier 2465766 2465778 + Identifier 2465779 2465837 + FunctionDeclaration 2465891 2466154 + Identifier 2465907 2465941 + Parameter 2465942 2465957 + Identifier 2465942 2465951 + TypeReference 2465952 2465957 + Identifier 2465952 2465957 + Parameter 2465958 2465970 + Identifier 2465958 2465963 + TypeReference 2465964 2465970 + Identifier 2465964 2465970 + Block 2465971 2466154 + VariableStatement 2465973 2466056 + VariableDeclarationList 2465973 2466055 + VariableDeclaration 2465988 2466055 + Identifier 2465988 2466004 + CallExpression 2466006 2466055 + Identifier 2466006 2466037 + PropertyAccessExpression 2466038 2466054 + Identifier 2466038 2466047 + Identifier 2466048 2466054 + ReturnStatement 2466056 2466147 + BinaryExpression 2466072 2466146 + CallExpression 2466072 2466111 + Identifier 2466072 2466094 + Identifier 2466095 2466110 + AmpersandAmpersandToken 2466111 2466114 + BinaryExpression 2466114 2466146 + PropertyAccessExpression 2466114 2466137 + Identifier 2466114 2466130 + Identifier 2466131 2466137 + EqualsEqualsEqualsToken 2466137 2466141 + Identifier 2466141 2466146 + FunctionDeclaration 2466154 2466539 + Identifier 2466170 2466207 + Parameter 2466208 2466218 + Identifier 2466208 2466212 + TypeReference 2466213 2466218 + Identifier 2466213 2466218 + BooleanKeyword 2466220 2466228 + Block 2466228 2466539 + IfStatement 2466230 2466361 + BinaryExpression 2466244 2466321 + BinaryExpression 2466244 2466281 + PropertyAccessExpression 2466244 2466253 + Identifier 2466244 2466248 + Identifier 2466249 2466253 + EqualsEqualsEqualsToken 2466253 2466257 + PropertyAccessExpression 2466257 2466281 + Identifier 2466257 2466268 + Identifier 2466269 2466281 + BarBarToken 2466281 2466284 + BinaryExpression 2466284 2466321 + PropertyAccessExpression 2466284 2466294 + Identifier 2466284 2466289 + Identifier 2466290 2466294 + EqualsEqualsEqualsToken 2466294 2466298 + PropertyAccessExpression 2466298 2466321 + Identifier 2466298 2466309 + Identifier 2466310 2466321 + Block 2466322 2466361 + ReturnStatement 2466324 2466350 + TrueKeyword 2466344 2466349 + IfStatement 2466361 2466454 + CallExpression 2466377 2466413 + Identifier 2466377 2466407 + Identifier 2466408 2466412 + Block 2466414 2466454 + ReturnStatement 2466416 2466443 + FalseKeyword 2466436 2466442 + ReturnStatement 2466454 2466532 + PrefixUnaryExpression 2466472 2466531 + PrefixUnaryExpression 2466474 2466531 + CallExpression 2466475 2466531 + Identifier 2466475 2466487 + Identifier 2466488 2466492 + Identifier 2466493 2466530 + FunctionDeclaration 2466539 2470077 + Identifier 2466555 2466580 + Parameter 2466581 2466606 + Identifier 2466581 2466585 + TypeReference 2466586 2466606 + Identifier 2466586 2466606 + Block 2466607 2470077 + IfStatement 2466609 2466812 + BinaryExpression 2466623 2466713 + BinaryExpression 2466623 2466685 + CallExpression 2466623 2466646 + Identifier 2466623 2466635 + PropertyAccessExpression 2466636 2466645 + Identifier 2466636 2466640 + Identifier 2466641 2466645 + AmpersandAmpersandToken 2466646 2466649 + BinaryExpression 2466649 2466685 + CallExpression 2466649 2466667 + Identifier 2466649 2466656 + PropertyAccessExpression 2466657 2466666 + Identifier 2466657 2466661 + Identifier 2466662 2466666 + EqualsEqualsEqualsToken 2466667 2466671 + StringLiteral 2466671 2466685 + AmpersandAmpersandToken 2466685 2466688 + CallExpression 2466688 2466713 + Identifier 2466688 2466700 + PropertyAccessExpression 2466701 2466712 + Identifier 2466701 2466705 + Identifier 2466706 2466712 + Block 2466714 2466812 + ExpressionStatement 2466716 2466801 + CallExpression 2466716 2466800 + Identifier 2466716 2466735 + PropertyAccessExpression 2466736 2466745 + Identifier 2466736 2466740 + Identifier 2466741 2466745 + PropertyAccessExpression 2466746 2466799 + Identifier 2466746 2466758 + Identifier 2466759 2466799 + ExpressionStatement 2466812 2466877 + CallExpression 2466812 2466876 + Identifier 2466812 2466839 + Identifier 2466840 2466875 + ExpressionStatement 2466877 2466917 + CallExpression 2466877 2466916 + Identifier 2466877 2466905 + PropertyAccessExpression 2466906 2466915 + Identifier 2466906 2466910 + Identifier 2466911 2466915 + ExpressionStatement 2466917 2466971 + CallExpression 2466917 2466970 + Identifier 2466917 2466964 + Identifier 2466965 2466969 + FunctionDeclaration 2466971 2470070 + Identifier 2466991 2467027 + Block 2467029 2470070 + IfStatement 2467031 2467211 + BinaryExpression 2467092 2467165 + PrefixUnaryExpression 2467092 2467134 + CallExpression 2467093 2467134 + Identifier 2467093 2467128 + Identifier 2467129 2467133 + AmpersandAmpersandToken 2467134 2467137 + PrefixUnaryExpression 2467137 2467165 + CallExpression 2467139 2467165 + Identifier 2467139 2467159 + Identifier 2467160 2467164 + ExpressionStatement 2467166 2467211 + CallExpression 2467166 2467210 + Identifier 2467166 2467199 + PropertyAccessExpression 2467200 2467209 + Identifier 2467200 2467204 + Identifier 2467205 2467209 + ExpressionStatement 2467211 2467249 + CallExpression 2467211 2467248 + Identifier 2467211 2467242 + Identifier 2467243 2467247 + ExpressionStatement 2467249 2467295 + CallExpression 2467249 2467294 + Identifier 2467249 2467288 + Identifier 2467289 2467293 + IfStatement 2467295 2467704 + BinaryExpression 2467313 2467349 + PropertyAccessExpression 2467313 2467322 + Identifier 2467313 2467317 + Identifier 2467318 2467322 + EqualsEqualsEqualsToken 2467322 2467326 + PropertyAccessExpression 2467326 2467349 + Identifier 2467326 2467337 + Identifier 2467338 2467349 + Block 2467350 2467704 + IfStatement 2467352 2467689 + BinaryExpression 2467374 2467481 + BinaryExpression 2467374 2467435 + PrefixUnaryExpression 2467374 2467407 + ParenthesizedExpression 2467375 2467407 + BinaryExpression 2467376 2467406 + PropertyAccessExpression 2467376 2467386 + Identifier 2467376 2467380 + Identifier 2467381 2467386 + AmpersandToken 2467386 2467388 + PropertyAccessExpression 2467388 2467406 + Identifier 2467388 2467398 + Identifier 2467399 2467406 + AmpersandAmpersandToken 2467407 2467410 + CallExpression 2467410 2467435 + Identifier 2467410 2467424 + PropertyAccessExpression 2467425 2467434 + Identifier 2467425 2467429 + Identifier 2467430 2467434 + AmpersandAmpersandToken 2467435 2467438 + ParenthesizedExpression 2467438 2467481 + BinaryExpression 2467440 2467480 + PropertyAccessExpression 2467440 2467450 + Identifier 2467440 2467444 + Identifier 2467445 2467450 + AmpersandToken 2467450 2467452 + PropertyAccessExpression 2467452 2467480 + Identifier 2467452 2467462 + Identifier 2467463 2467480 + Block 2467482 2467689 + IfStatement 2467484 2467670 + PrefixUnaryExpression 2467510 2467553 + ParenthesizedExpression 2467511 2467553 + BinaryExpression 2467512 2467552 + PropertyAccessExpression 2467512 2467522 + Identifier 2467512 2467516 + Identifier 2467517 2467522 + AmpersandToken 2467522 2467524 + PropertyAccessExpression 2467524 2467552 + Identifier 2467524 2467534 + Identifier 2467535 2467552 + Block 2467554 2467670 + ExpressionStatement 2467556 2467647 + CallExpression 2467556 2467646 + Identifier 2467556 2467587 + PropertyAccessExpression 2467588 2467597 + Identifier 2467588 2467592 + Identifier 2467593 2467597 + PropertyAccessExpression 2467598 2467645 + Identifier 2467598 2467610 + Identifier 2467611 2467645 + IfStatement 2467704 2468080 + BinaryExpression 2467957 2468007 + PropertyAccessExpression 2467957 2467971 + PropertyAccessExpression 2467957 2467966 + Identifier 2467957 2467961 + Identifier 2467962 2467966 + Identifier 2467967 2467971 + EqualsEqualsEqualsToken 2467971 2467975 + PropertyAccessExpression 2467975 2468007 + Identifier 2467975 2467986 + Identifier 2467987 2468007 + Block 2468008 2468080 + ExpressionStatement 2468010 2468065 + CallExpression 2468010 2468064 + Identifier 2468010 2468053 + PropertyAccessExpression 2468054 2468063 + Identifier 2468054 2468058 + Identifier 2468059 2468063 + IfStatement 2468080 2469821 + CallExpression 2468100 2468121 + Identifier 2468100 2468115 + Identifier 2468116 2468120 + Block 2468122 2469821 + VariableStatement 2468124 2468338 + VariableDeclarationList 2468124 2468337 + VariableDeclaration 2468299 2468337 + Identifier 2468299 2468306 + CallExpression 2468308 2468337 + Identifier 2468308 2468331 + Identifier 2468332 2468336 + VariableStatement 2468338 2468445 + VariableDeclarationList 2468338 2468444 + VariableDeclaration 2468361 2468444 + Identifier 2468361 2468368 + CallExpression 2468370 2468444 + Identifier 2468370 2468391 + TypeReference 2468392 2468411 + Identifier 2468392 2468411 + Identifier 2468413 2468419 + PropertyAccessExpression 2468420 2468443 + Identifier 2468420 2468431 + Identifier 2468432 2468443 + VariableStatement 2468445 2468552 + VariableDeclarationList 2468445 2468551 + VariableDeclaration 2468468 2468551 + Identifier 2468468 2468475 + CallExpression 2468477 2468551 + Identifier 2468477 2468498 + TypeReference 2468499 2468518 + Identifier 2468499 2468518 + Identifier 2468520 2468526 + PropertyAccessExpression 2468527 2468550 + Identifier 2468527 2468538 + Identifier 2468539 2468550 + IfStatement 2468552 2469806 + BinaryExpression 2468574 2468651 + BinaryExpression 2468574 2468590 + Identifier 2468574 2468580 + AmpersandAmpersandToken 2468580 2468583 + Identifier 2468583 2468590 + AmpersandAmpersandToken 2468590 2468593 + PrefixUnaryExpression 2468593 2468651 + ParenthesizedExpression 2468595 2468651 + BinaryExpression 2468596 2468650 + CallExpression 2468596 2468621 + Identifier 2468596 2468613 + Identifier 2468614 2468620 + AmpersandToken 2468621 2468623 + PropertyAccessExpression 2468623 2468650 + Identifier 2468623 2468638 + Identifier 2468639 2468650 + Block 2468652 2469806 + ExpressionStatement 2468654 2468733 + BinaryExpression 2468654 2468732 + PropertyAccessExpression 2468654 2468702 + CallExpression 2468654 2468696 + Identifier 2468654 2468688 + Identifier 2468689 2468695 + Identifier 2468697 2468702 + BarEqualsToken 2468702 2468705 + PropertyAccessExpression 2468705 2468732 + Identifier 2468705 2468720 + Identifier 2468721 2468732 + VariableStatement 2468733 2468809 + VariableDeclarationList 2468733 2468808 + VariableDeclaration 2468760 2468808 + Identifier 2468760 2468772 + CallExpression 2468774 2468808 + Identifier 2468774 2468800 + Identifier 2468801 2468807 + VariableStatement 2468809 2468885 + VariableDeclarationList 2468809 2468884 + VariableDeclaration 2468836 2468884 + Identifier 2468836 2468848 + CallExpression 2468850 2468884 + Identifier 2468850 2468876 + Identifier 2468877 2468883 + IfStatement 2468885 2469230 + BinaryExpression 2468911 2468992 + ParenthesizedExpression 2468911 2468949 + BinaryExpression 2468912 2468948 + Identifier 2468912 2468923 + AmpersandToken 2468923 2468925 + PropertyAccessExpression 2468925 2468948 + Identifier 2468925 2468939 + Identifier 2468940 2468948 + ExclamationEqualsEqualsToken 2468949 2468953 + ParenthesizedExpression 2468953 2468992 + BinaryExpression 2468955 2468991 + Identifier 2468955 2468966 + AmpersandToken 2468966 2468968 + PropertyAccessExpression 2468968 2468991 + Identifier 2468968 2468982 + Identifier 2468983 2468991 + Block 2468993 2469230 + ExpressionStatement 2468995 2469101 + CallExpression 2468995 2469100 + Identifier 2468995 2469026 + PropertyAccessExpression 2469027 2469038 + Identifier 2469027 2469033 + Identifier 2469034 2469038 + PropertyAccessExpression 2469039 2469099 + Identifier 2469039 2469051 + Identifier 2469052 2469099 + ExpressionStatement 2469101 2469207 + CallExpression 2469101 2469206 + Identifier 2469101 2469132 + PropertyAccessExpression 2469133 2469144 + Identifier 2469133 2469139 + Identifier 2469140 2469144 + PropertyAccessExpression 2469145 2469205 + Identifier 2469145 2469157 + Identifier 2469158 2469205 + IfStatement 2469230 2469787 + BinaryExpression 2469256 2469503 + ParenthesizedExpression 2469256 2469393 + BinaryExpression 2469283 2469392 + ParenthesizedExpression 2469283 2469322 + BinaryExpression 2469284 2469321 + Identifier 2469284 2469295 + AmpersandToken 2469295 2469297 + PropertyAccessExpression 2469297 2469321 + Identifier 2469297 2469311 + Identifier 2469312 2469321 + AmpersandAmpersandToken 2469322 2469325 + PrefixUnaryExpression 2469325 2469392 + ParenthesizedExpression 2469327 2469392 + BinaryExpression 2469328 2469391 + Identifier 2469328 2469339 + AmpersandToken 2469339 2469341 + ParenthesizedExpression 2469341 2469391 + BinaryExpression 2469343 2469390 + PropertyAccessExpression 2469343 2469366 + Identifier 2469343 2469356 + Identifier 2469357 2469366 + BarToken 2469366 2469368 + PropertyAccessExpression 2469368 2469390 + Identifier 2469368 2469382 + Identifier 2469383 2469390 + BarBarToken 2469393 2469396 + ParenthesizedExpression 2469396 2469503 + BinaryExpression 2469423 2469502 + ParenthesizedExpression 2469423 2469460 + BinaryExpression 2469424 2469459 + Identifier 2469424 2469435 + AmpersandToken 2469435 2469437 + PropertyAccessExpression 2469437 2469459 + Identifier 2469437 2469451 + Identifier 2469452 2469459 + AmpersandAmpersandToken 2469460 2469463 + PrefixUnaryExpression 2469463 2469502 + ParenthesizedExpression 2469465 2469502 + BinaryExpression 2469466 2469501 + Identifier 2469466 2469477 + AmpersandToken 2469477 2469479 + PropertyAccessExpression 2469479 2469501 + Identifier 2469479 2469493 + Identifier 2469494 2469501 + Block 2469526 2469787 + ExpressionStatement 2469528 2469646 + CallExpression 2469528 2469645 + Identifier 2469528 2469559 + PropertyAccessExpression 2469560 2469571 + Identifier 2469560 2469566 + Identifier 2469567 2469571 + PropertyAccessExpression 2469572 2469644 + Identifier 2469572 2469584 + Identifier 2469585 2469644 + ExpressionStatement 2469646 2469764 + CallExpression 2469646 2469763 + Identifier 2469646 2469677 + PropertyAccessExpression 2469678 2469689 + Identifier 2469678 2469684 + Identifier 2469685 2469689 + PropertyAccessExpression 2469690 2469762 + Identifier 2469690 2469702 + Identifier 2469703 2469762 + VariableStatement 2469821 2469903 + VariableDeclarationList 2469821 2469902 + VariableDeclaration 2469840 2469902 + Identifier 2469840 2469851 + CallExpression 2469853 2469902 + Identifier 2469853 2469872 + CallExpression 2469873 2469901 + Identifier 2469873 2469895 + Identifier 2469896 2469900 + IfStatement 2469903 2470059 + BinaryExpression 2469921 2469957 + PropertyAccessExpression 2469921 2469930 + Identifier 2469921 2469925 + Identifier 2469926 2469930 + EqualsEqualsEqualsToken 2469930 2469934 + PropertyAccessExpression 2469934 2469957 + Identifier 2469934 2469945 + Identifier 2469946 2469957 + Block 2469958 2470059 + ExpressionStatement 2469960 2470044 + CallExpression 2469960 2470043 + Identifier 2469960 2470025 + Identifier 2470026 2470030 + Identifier 2470031 2470042 + FunctionDeclaration 2470077 2470170 + Identifier 2470093 2470117 + Parameter 2470118 2470128 + Identifier 2470118 2470122 + TypeReference 2470123 2470128 + Identifier 2470123 2470128 + Block 2470129 2470170 + ExpressionStatement 2470131 2470163 + CallExpression 2470131 2470162 + Identifier 2470131 2470156 + Identifier 2470157 2470161 + FunctionDeclaration 2470170 2470568 + Identifier 2470186 2470218 + Parameter 2470219 2470272 + Identifier 2470219 2470223 + UnionType 2470224 2470272 + TypeReference 2470224 2470242 + Identifier 2470224 2470242 + TypeReference 2470244 2470272 + Identifier 2470244 2470272 + Parameter 2470273 2470314 + Identifier 2470273 2470288 + TypeOperator 2470289 2470314 + ArrayType 2470298 2470314 + TypeReference 2470298 2470312 + Identifier 2470298 2470312 + Parameter 2470315 2470329 + Identifier 2470315 2470321 + NumberKeyword 2470322 2470329 + TypeReference 2470331 2470336 + Identifier 2470331 2470336 + Block 2470336 2470568 + IfStatement 2470338 2470489 + BinaryExpression 2470352 2470407 + PropertyAccessExpression 2470352 2470370 + Identifier 2470352 2470356 + Identifier 2470357 2470370 + AmpersandAmpersandToken 2470370 2470373 + BinaryExpression 2470373 2470407 + Identifier 2470373 2470379 + LessThanToken 2470379 2470381 + PropertyAccessExpression 2470381 2470407 + PropertyAccessExpression 2470381 2470400 + Identifier 2470381 2470386 + Identifier 2470387 2470400 + Identifier 2470401 2470407 + Block 2470408 2470489 + ReturnStatement 2470410 2470478 + CallExpression 2470430 2470477 + Identifier 2470430 2470450 + ElementAccessExpression 2470451 2470476 + PropertyAccessExpression 2470451 2470469 + Identifier 2470451 2470455 + Identifier 2470456 2470469 + Identifier 2470470 2470475 + ReturnStatement 2470489 2470561 + ElementAccessExpression 2470505 2470560 + CallExpression 2470505 2470553 + Identifier 2470505 2470531 + Identifier 2470532 2470536 + Identifier 2470537 2470552 + Identifier 2470554 2470559 + FunctionDeclaration 2470568 2470912 + Identifier 2470584 2470610 + Parameter 2470611 2470688 + Identifier 2470611 2470615 + UnionType 2470616 2470688 + TypeReference 2470616 2470634 + Identifier 2470616 2470634 + TypeReference 2470636 2470664 + Identifier 2470636 2470664 + TypeReference 2470666 2470688 + Identifier 2470666 2470688 + Parameter 2470689 2470730 + Identifier 2470689 2470704 + TypeOperator 2470705 2470730 + ArrayType 2470714 2470730 + TypeReference 2470714 2470728 + Identifier 2470714 2470728 + ArrayType 2470732 2470739 + TypeReference 2470732 2470737 + Identifier 2470732 2470737 + Block 2470739 2470912 + ReturnStatement 2470741 2470905 + CallExpression 2470757 2470904 + Identifier 2470757 2470782 + CallExpression 2470783 2470828 + Identifier 2470783 2470786 + NonNullExpression 2470787 2470806 + PropertyAccessExpression 2470787 2470805 + Identifier 2470787 2470791 + Identifier 2470792 2470805 + Identifier 2470807 2470827 + Identifier 2470829 2470844 + CallExpression 2470845 2470885 + Identifier 2470845 2470869 + Identifier 2470870 2470884 + CallExpression 2470886 2470903 + Identifier 2470886 2470897 + Identifier 2470898 2470902 + FunctionDeclaration 2470912 2471957 + Identifier 2470928 2470957 + Parameter 2470958 2471035 + Identifier 2470958 2470962 + UnionType 2470963 2471035 + TypeReference 2470963 2470981 + Identifier 2470963 2470981 + TypeReference 2470983 2471011 + Identifier 2470983 2471011 + TypeReference 2471013 2471035 + Identifier 2471013 2471035 + Parameter 2471036 2471077 + Identifier 2471036 2471051 + TypeOperator 2471052 2471077 + ArrayType 2471061 2471077 + TypeReference 2471061 2471075 + Identifier 2471061 2471075 + BooleanKeyword 2471079 2471087 + Block 2471087 2471957 + VariableStatement 2471089 2471137 + VariableDeclarationList 2471089 2471136 + VariableDeclaration 2471102 2471136 + Identifier 2471102 2471116 + UnionType 2471117 2471136 + ArrayType 2471117 2471124 + TypeReference 2471117 2471122 + Identifier 2471117 2471122 + UndefinedKeyword 2471126 2471136 + VariableStatement 2471137 2471182 + VariableDeclarationList 2471137 2471181 + VariableDeclaration 2471150 2471181 + Identifier 2471150 2471157 + UnionType 2471158 2471181 + TypeReference 2471158 2471169 + Identifier 2471158 2471169 + UndefinedKeyword 2471171 2471181 + VariableStatement 2471182 2471210 + VariableDeclarationList 2471182 2471209 + VariableDeclaration 2471195 2471209 + Identifier 2471195 2471202 + TrueKeyword 2471204 2471209 + ForStatement 2471210 2471926 + VariableDeclarationList 2471225 2471234 + VariableDeclaration 2471228 2471234 + Identifier 2471228 2471230 + NumericLiteral 2471232 2471234 + BinaryExpression 2471235 2471261 + Identifier 2471235 2471237 + LessThanToken 2471237 2471239 + PropertyAccessExpression 2471239 2471261 + Identifier 2471239 2471254 + Identifier 2471255 2471261 + PostfixUnaryExpression 2471262 2471266 + Identifier 2471262 2471264 + Block 2471267 2471926 + VariableStatement 2471269 2471350 + VariableDeclarationList 2471269 2471349 + VariableDeclaration 2471288 2471349 + Identifier 2471288 2471299 + CallExpression 2471301 2471349 + Identifier 2471301 2471330 + ElementAccessExpression 2471331 2471348 + Identifier 2471331 2471345 + Identifier 2471346 2471347 + IfStatement 2471350 2471915 + Identifier 2471368 2471378 + Block 2471379 2471915 + IfStatement 2471381 2471604 + PrefixUnaryExpression 2471403 2471417 + Identifier 2471404 2471417 + Block 2471418 2471604 + ExpressionStatement 2471420 2471506 + BinaryExpression 2471420 2471505 + Identifier 2471420 2471455 + EqualsToken 2471455 2471457 + CallExpression 2471457 2471505 + Identifier 2471457 2471483 + Identifier 2471484 2471488 + Identifier 2471489 2471504 + ExpressionStatement 2471506 2471585 + BinaryExpression 2471506 2471584 + Identifier 2471506 2471534 + EqualsToken 2471534 2471536 + CallExpression 2471536 2471584 + Identifier 2471536 2471553 + Identifier 2471554 2471568 + Identifier 2471569 2471583 + ExpressionStatement 2471604 2471900 + BinaryExpression 2471604 2471899 + Identifier 2471604 2471628 + EqualsToken 2471628 2471630 + BinaryExpression 2471630 2471899 + Identifier 2471630 2471637 + AmpersandAmpersandToken 2471637 2471640 + CallExpression 2471640 2471899 + Identifier 2471640 2471662 + ElementAccessExpression 2471663 2471701 + Identifier 2471663 2471698 + Identifier 2471699 2471700 + CallExpression 2471702 2471759 + Identifier 2471702 2471739 + Identifier 2471740 2471750 + Identifier 2471751 2471758 + ElementAccessExpression 2471760 2471804 + NonNullExpression 2471760 2471801 + PropertyAccessExpression 2471760 2471800 + Identifier 2471760 2471786 + Identifier 2471787 2471800 + Identifier 2471802 2471803 + PropertyAccessExpression 2471805 2471879 + Identifier 2471805 2471838 + Identifier 2471839 2471879 + ReturnStatement 2471926 2471950 + Identifier 2471942 2471949 + FunctionDeclaration 2471957 2472348 + Identifier 2471973 2472007 + Parameter 2472008 2472018 + Identifier 2472008 2472012 + TypeReference 2472013 2472018 + Identifier 2472013 2472018 + Parameter 2472019 2472034 + Identifier 2472019 2472026 + TypeReference 2472027 2472034 + Identifier 2472027 2472034 + Block 2472035 2472348 + IfStatement 2472037 2472314 + PrefixUnaryExpression 2472051 2472069 + CallExpression 2472052 2472069 + Identifier 2472052 2472063 + Identifier 2472064 2472068 + Block 2472070 2472314 + ReturnStatement 2472072 2472303 + BinaryExpression 2472092 2472302 + BinaryExpression 2472092 2472170 + BinaryExpression 2472092 2472129 + PropertyAccessExpression 2472092 2472105 + Identifier 2472092 2472099 + Identifier 2472100 2472105 + AmpersandToken 2472105 2472107 + PropertyAccessExpression 2472107 2472129 + Identifier 2472107 2472119 + Identifier 2472120 2472129 + AmpersandAmpersandToken 2472129 2472132 + PropertyAccessExpression 2472132 2472170 + CallExpression 2472132 2472155 + Identifier 2472132 2472147 + Identifier 2472148 2472154 + Identifier 2472156 2472170 + BarBarToken 2472170 2472173 + ParenthesizedExpression 2472173 2472302 + ConditionalExpression 2472192 2472301 + BinaryExpression 2472192 2472236 + CallExpression 2472192 2472212 + Identifier 2472192 2472206 + Identifier 2472207 2472211 + AmpersandToken 2472212 2472214 + PropertyAccessExpression 2472214 2472236 + Identifier 2472214 2472226 + Identifier 2472227 2472236 + QuestionToken 2472236 2472238 + PropertyAccessExpression 2472238 2472289 + PropertyAccessExpression 2472238 2472269 + ParenthesizedExpression 2472238 2472262 + AsExpression 2472240 2472261 + Identifier 2472240 2472244 + TypeReference 2472247 2472261 + Identifier 2472247 2472261 + Identifier 2472263 2472269 + Identifier 2472270 2472289 + ColonToken 2472289 2472291 + Identifier 2472291 2472301 + ReturnStatement 2472314 2472341 + Identifier 2472330 2472340 + FunctionDeclaration 2472348 2472787 + Identifier 2472364 2472406 + Parameter 2472407 2472477 + Identifier 2472407 2472411 + UnionType 2472412 2472477 + TypeReference 2472412 2472430 + Identifier 2472412 2472430 + TypeReference 2472432 2472460 + Identifier 2472432 2472460 + TypeReference 2472462 2472477 + Identifier 2472462 2472477 + Block 2472478 2472787 + VariableStatement 2472480 2472529 + VariableDeclarationList 2472480 2472528 + VariableDeclaration 2472495 2472528 + Identifier 2472495 2472500 + CallExpression 2472502 2472528 + Identifier 2472502 2472522 + Identifier 2472523 2472527 + IfStatement 2472529 2472753 + PrefixUnaryExpression 2472543 2472561 + CallExpression 2472544 2472561 + Identifier 2472544 2472555 + Identifier 2472556 2472560 + Block 2472562 2472753 + VariableStatement 2472564 2472627 + VariableDeclarationList 2472564 2472626 + VariableDeclaration 2472583 2472626 + Identifier 2472583 2472590 + PropertyAccessExpression 2472592 2472626 + CallExpression 2472592 2472611 + Identifier 2472592 2472605 + Identifier 2472606 2472610 + Identifier 2472612 2472626 + IfStatement 2472627 2472742 + Identifier 2472645 2472651 + Block 2472652 2472742 + ReturnStatement 2472654 2472727 + CallExpression 2472678 2472726 + Identifier 2472678 2472712 + Identifier 2472713 2472717 + Identifier 2472718 2472725 + ReturnStatement 2472753 2472780 + Identifier 2472769 2472779 + FunctionDeclaration 2472787 2473674 + Identifier 2472803 2472826 + Parameter 2472827 2472880 + Identifier 2472827 2472831 + UnionType 2472832 2472880 + TypeReference 2472832 2472850 + Identifier 2472832 2472850 + TypeReference 2472852 2472880 + Identifier 2472852 2472880 + Block 2472881 2473674 + ExpressionStatement 2472883 2472945 + CallExpression 2472883 2472944 + Identifier 2472883 2472918 + Identifier 2472919 2472923 + PropertyAccessExpression 2472924 2472943 + Identifier 2472924 2472929 + Identifier 2472930 2472943 + IfStatement 2472945 2473566 + BinaryExpression 2472959 2473108 + BinaryExpression 2472959 2473060 + BinaryExpression 2472959 2473038 + BinaryExpression 2472959 2473018 + BinaryExpression 2472959 2472997 + PropertyAccessExpression 2472959 2472968 + Identifier 2472959 2472963 + Identifier 2472964 2472968 + EqualsEqualsEqualsToken 2472968 2472972 + PropertyAccessExpression 2472972 2472997 + Identifier 2472972 2472983 + Identifier 2472984 2472997 + AmpersandAmpersandToken 2472997 2473000 + PrefixUnaryExpression 2473000 2473018 + CallExpression 2473002 2473018 + Identifier 2473002 2473012 + Identifier 2473013 2473017 + AmpersandAmpersandToken 2473018 2473021 + PrefixUnaryExpression 2473021 2473038 + CallExpression 2473023 2473038 + Identifier 2473023 2473032 + Identifier 2473033 2473037 + AmpersandAmpersandToken 2473038 2473041 + PropertyAccessExpression 2473041 2473060 + Identifier 2473041 2473046 + Identifier 2473047 2473060 + AmpersandAmpersandToken 2473060 2473063 + BinaryExpression 2473063 2473108 + PropertyAccessExpression 2473063 2473081 + PropertyAccessExpression 2473063 2473077 + Identifier 2473063 2473068 + Identifier 2473069 2473077 + Identifier 2473078 2473081 + ExclamationEqualsEqualsToken 2473081 2473085 + PropertyAccessExpression 2473085 2473108 + PropertyAccessExpression 2473085 2473104 + Identifier 2473085 2473090 + Identifier 2473091 2473104 + Identifier 2473105 2473108 + Block 2473109 2473566 + VariableStatement 2473111 2473280 + VariableDeclarationList 2473111 2473279 + VariableDeclaration 2473240 2473279 + Identifier 2473240 2473251 + CallExpression 2473253 2473279 + Identifier 2473253 2473273 + Identifier 2473274 2473278 + IfStatement 2473280 2473555 + BinaryExpression 2473298 2473372 + CallExpression 2473298 2473348 + Identifier 2473298 2473317 + Identifier 2473318 2473328 + PropertyAccessExpression 2473329 2473347 + PropertyAccessExpression 2473329 2473343 + Identifier 2473329 2473334 + Identifier 2473335 2473343 + Identifier 2473344 2473347 + EqualsEqualsEqualsToken 2473348 2473352 + PropertyAccessExpression 2473352 2473372 + Identifier 2473352 2473363 + Identifier 2473364 2473372 + Block 2473373 2473555 + ExpressionStatement 2473375 2473540 + CallExpression 2473375 2473539 + Identifier 2473375 2473410 + Identifier 2473411 2473415 + CallExpression 2473416 2473463 + Identifier 2473416 2473427 + PropertyAccessExpression 2473428 2473443 + Identifier 2473428 2473438 + Identifier 2473439 2473443 + PropertyAccessExpression 2473444 2473462 + PropertyAccessExpression 2473444 2473458 + Identifier 2473444 2473449 + Identifier 2473450 2473458 + Identifier 2473459 2473462 + NumericLiteral 2473464 2473466 + PropertyAccessExpression 2473467 2473538 + Identifier 2473467 2473479 + Identifier 2473480 2473538 + ExpressionStatement 2473566 2473624 + CallExpression 2473566 2473623 + Identifier 2473566 2473583 + PropertyAccessExpression 2473584 2473602 + Identifier 2473584 2473588 + Identifier 2473589 2473602 + Identifier 2473603 2473622 + ExpressionStatement 2473624 2473667 + CallExpression 2473624 2473666 + Identifier 2473624 2473660 + Identifier 2473661 2473665 + FunctionDeclaration 2473674 2474718 + Identifier 2473690 2473717 + Parameter 2473718 2473788 + Identifier 2473718 2473722 + UnionType 2473723 2473788 + TypeReference 2473723 2473741 + Identifier 2473723 2473741 + TypeReference 2473743 2473771 + Identifier 2473743 2473771 + TypeReference 2473773 2473788 + Identifier 2473773 2473788 + Block 2473789 2474718 + VariableStatement 2473791 2473840 + VariableDeclarationList 2473791 2473839 + VariableDeclaration 2473806 2473839 + Identifier 2473806 2473811 + CallExpression 2473813 2473839 + Identifier 2473813 2473833 + Identifier 2473834 2473838 + IfStatement 2473840 2474711 + PrefixUnaryExpression 2473854 2473872 + CallExpression 2473855 2473872 + Identifier 2473855 2473866 + Identifier 2473867 2473871 + Block 2473873 2474711 + IfStatement 2473875 2474229 + PropertyAccessExpression 2473893 2473911 + Identifier 2473893 2473897 + Identifier 2473898 2473911 + Block 2473912 2474229 + ExpressionStatement 2473914 2474214 + CallExpression 2473914 2474213 + Identifier 2473914 2473949 + ArrowFunction 2473950 2474212 + EqualsGreaterThanToken 2473952 2473955 + Block 2473955 2474212 + VariableStatement 2473957 2474050 + VariableDeclarationList 2473957 2474049 + VariableDeclaration 2473984 2474049 + Identifier 2473984 2473999 + CallExpression 2474001 2474049 + Identifier 2474001 2474043 + Identifier 2474044 2474048 + IfStatement 2474050 2474193 + Identifier 2474076 2474090 + Block 2474091 2474193 + ExpressionStatement 2474093 2474170 + CallExpression 2474093 2474169 + Identifier 2474093 2474147 + Identifier 2474148 2474152 + Identifier 2474153 2474168 + VariableStatement 2474229 2474292 + VariableDeclarationList 2474229 2474291 + VariableDeclaration 2474248 2474291 + Identifier 2474248 2474255 + PropertyAccessExpression 2474257 2474291 + CallExpression 2474257 2474276 + Identifier 2474257 2474270 + Identifier 2474271 2474275 + Identifier 2474277 2474291 + IfStatement 2474292 2474700 + Identifier 2474310 2474316 + Block 2474317 2474700 + IfStatement 2474319 2474685 + CallExpression 2474341 2474431 + Identifier 2474341 2474345 + PropertyAccessExpression 2474346 2474365 + Identifier 2474346 2474352 + Identifier 2474353 2474365 + ArrowFunction 2474366 2474430 + Parameter 2474366 2474368 + Identifier 2474366 2474368 + EqualsGreaterThanToken 2474368 2474371 + BinaryExpression 2474371 2474430 + CallExpression 2474371 2474392 + Identifier 2474371 2474389 + Identifier 2474390 2474391 + AmpersandAmpersandToken 2474392 2474395 + PrefixUnaryExpression 2474395 2474430 + PrefixUnaryExpression 2474397 2474430 + ParenthesizedExpression 2474398 2474430 + BinaryExpression 2474399 2474429 + PropertyAccessExpression 2474399 2474406 + Identifier 2474399 2474400 + Identifier 2474401 2474406 + AmpersandToken 2474406 2474408 + PropertyAccessExpression 2474408 2474429 + Identifier 2474408 2474418 + Identifier 2474419 2474429 + Block 2474432 2474685 + ExpressionStatement 2474434 2474666 + CallExpression 2474434 2474665 + Identifier 2474434 2474479 + CallExpression 2474480 2474539 + Identifier 2474480 2474533 + Identifier 2474534 2474538 + NonNullExpression 2474540 2474586 + PropertyAccessExpression 2474540 2474585 + Identifier 2474540 2474572 + Identifier 2474573 2474585 + AsExpression 2474587 2474641 + PropertyAccessExpression 2474587 2474631 + Identifier 2474587 2474619 + Identifier 2474620 2474631 + StringKeyword 2474634 2474641 + FunctionDeclaration 2474718 2475351 + Identifier 2474734 2474760 + Parameter 2474761 2474775 + Identifier 2474761 2474765 + TypeReference 2474766 2474775 + Identifier 2474766 2474775 + UnionType 2474777 2474794 + TypeReference 2474777 2474782 + Identifier 2474777 2474782 + UndefinedKeyword 2474784 2474794 + Block 2474794 2475351 + VariableStatement 2474796 2474874 + VariableDeclarationList 2474796 2474873 + VariableDeclaration 2474811 2474873 + Identifier 2474811 2474829 + CallExpression 2474831 2474873 + Identifier 2474831 2474839 + PropertyAccessExpression 2474840 2474851 + Identifier 2474840 2474844 + Identifier 2474845 2474851 + Identifier 2474852 2474872 + IfStatement 2474874 2474925 + PrefixUnaryExpression 2474888 2474906 + Identifier 2474889 2474906 + ReturnStatement 2474907 2474925 + Identifier 2474914 2474924 + VariableStatement 2474925 2475019 + VariableDeclarationList 2474925 2475018 + VariableDeclaration 2474940 2475018 + Identifier 2474940 2474955 + CallExpression 2474957 2475018 + Identifier 2474957 2474999 + Identifier 2475000 2475017 + IfStatement 2475019 2475067 + PrefixUnaryExpression 2475033 2475048 + Identifier 2475034 2475048 + ReturnStatement 2475049 2475067 + Identifier 2475056 2475066 + VariableStatement 2475067 2475189 + VariableDeclarationList 2475067 2475188 + VariableDeclaration 2475082 2475188 + Identifier 2475082 2475093 + CallExpression 2475095 2475188 + Identifier 2475095 2475124 + ElementAccessExpression 2475125 2475187 + Identifier 2475125 2475139 + CallExpression 2475140 2475186 + PropertyAccessExpression 2475140 2475180 + NonNullExpression 2475140 2475172 + PropertyAccessExpression 2475140 2475171 + Identifier 2475140 2475157 + Identifier 2475158 2475171 + Identifier 2475173 2475180 + Identifier 2475181 2475185 + ReturnStatement 2475189 2475344 + BinaryExpression 2475205 2475343 + Identifier 2475205 2475216 + AmpersandAmpersandToken 2475216 2475219 + CallExpression 2475219 2475343 + Identifier 2475219 2475235 + Identifier 2475236 2475246 + CallExpression 2475247 2475342 + Identifier 2475247 2475264 + Identifier 2475265 2475279 + CallExpression 2475280 2475341 + Identifier 2475280 2475306 + Identifier 2475307 2475324 + Identifier 2475325 2475340 + FunctionDeclaration 2475351 2475453 + Identifier 2475367 2475382 + Parameter 2475383 2475402 + Identifier 2475383 2475387 + TypeReference 2475388 2475402 + Identifier 2475388 2475402 + Block 2475403 2475453 + ExpressionStatement 2475405 2475446 + CallExpression 2475405 2475445 + Identifier 2475405 2475439 + Identifier 2475440 2475444 + FunctionDeclaration 2475453 2475949 + Identifier 2475469 2475486 + Parameter 2475487 2475508 + Identifier 2475487 2475491 + TypeReference 2475492 2475508 + Identifier 2475492 2475508 + Block 2475509 2475949 + ExpressionStatement 2475511 2475563 + CallExpression 2475511 2475562 + Identifier 2475511 2475528 + PropertyAccessExpression 2475529 2475541 + Identifier 2475529 2475533 + Identifier 2475534 2475541 + Identifier 2475542 2475561 + ExpressionStatement 2475563 2475620 + CallExpression 2475563 2475619 + Identifier 2475563 2475590 + Identifier 2475591 2475618 + FunctionDeclaration 2475620 2475942 + Identifier 2475640 2475668 + Block 2475670 2475942 + VariableStatement 2475672 2475759 + VariableDeclarationList 2475672 2475758 + VariableDeclaration 2475691 2475758 + Identifier 2475691 2475696 + CallExpression 2475698 2475758 + Identifier 2475698 2475752 + Identifier 2475753 2475757 + ExpressionStatement 2475759 2475814 + CallExpression 2475759 2475813 + Identifier 2475759 2475794 + Identifier 2475795 2475799 + PropertyAccessExpression 2475800 2475812 + Identifier 2475800 2475805 + Identifier 2475806 2475812 + ExpressionStatement 2475814 2475871 + CallExpression 2475814 2475870 + Identifier 2475814 2475864 + Identifier 2475865 2475869 + ExpressionStatement 2475871 2475931 + CallExpression 2475871 2475930 + Identifier 2475871 2475924 + Identifier 2475925 2475929 + FunctionDeclaration 2475949 2476057 + Identifier 2475965 2475980 + Parameter 2475981 2476000 + Identifier 2475981 2475985 + TypeReference 2475986 2476000 + Identifier 2475986 2476000 + Block 2476001 2476057 + ExpressionStatement 2476003 2476050 + CallExpression 2476003 2476049 + Identifier 2476003 2476031 + PropertyAccessExpression 2476032 2476048 + Identifier 2476032 2476036 + Identifier 2476037 2476048 + FunctionDeclaration 2476057 2477738 + Identifier 2476073 2476088 + Parameter 2476089 2476108 + Identifier 2476089 2476093 + TypeReference 2476094 2476108 + Identifier 2476094 2476108 + Block 2476109 2477738 + VariableStatement 2476111 2476153 + VariableDeclarationList 2476111 2476152 + VariableDeclaration 2476124 2476152 + Identifier 2476124 2476144 + FalseKeyword 2476146 2476152 + VariableStatement 2476153 2476191 + VariableDeclarationList 2476153 2476190 + VariableDeclaration 2476166 2476190 + Identifier 2476166 2476182 + FalseKeyword 2476184 2476190 + ForOfStatement 2476191 2477642 + VariableDeclarationList 2476206 2476213 + VariableDeclaration 2476211 2476213 + Identifier 2476211 2476213 + PropertyAccessExpression 2476216 2476230 + Identifier 2476216 2476221 + Identifier 2476222 2476230 + Block 2476231 2477642 + VariableStatement 2476233 2476283 + VariableDeclarationList 2476233 2476282 + VariableDeclaration 2476250 2476282 + Identifier 2476250 2476256 + CallExpression 2476258 2476282 + Identifier 2476258 2476279 + Identifier 2476280 2476281 + IfStatement 2476283 2476804 + BinaryExpression 2476301 2476330 + Identifier 2476301 2476306 + AmpersandToken 2476306 2476308 + PropertyAccessExpression 2476308 2476330 + Identifier 2476308 2476321 + Identifier 2476322 2476330 + Block 2476331 2476804 + VariableStatement 2476333 2476429 + VariableDeclarationList 2476333 2476428 + VariableDeclaration 2476356 2476428 + Identifier 2476356 2476361 + CallExpression 2476363 2476428 + Identifier 2476363 2476383 + PropertyAccessExpression 2476384 2476427 + ParenthesizedExpression 2476384 2476422 + AsExpression 2476385 2476421 + Identifier 2476385 2476386 + UnionType 2476389 2476421 + TypeReference 2476389 2476402 + Identifier 2476389 2476402 + TypeReference 2476404 2476421 + Identifier 2476404 2476421 + Identifier 2476423 2476427 + IfStatement 2476429 2476609 + PrefixUnaryExpression 2476451 2476473 + CallExpression 2476452 2476473 + Identifier 2476452 2476467 + Identifier 2476468 2476472 + Block 2476474 2476609 + ExpressionStatement 2476476 2476562 + CallExpression 2476476 2476561 + Identifier 2476476 2476503 + Identifier 2476504 2476505 + PropertyAccessExpression 2476506 2476560 + Identifier 2476506 2476518 + Identifier 2476519 2476560 + BreakStatement 2476562 2476590 + IfStatement 2476609 2476789 + BinaryExpression 2476631 2476718 + CallExpression 2476631 2476648 + Identifier 2476631 2476642 + Identifier 2476643 2476647 + BarBarToken 2476648 2476651 + BinaryExpression 2476651 2476718 + CallExpression 2476651 2476669 + Identifier 2476651 2476663 + Identifier 2476664 2476668 + AmpersandAmpersandToken 2476669 2476672 + BinaryExpression 2476672 2476718 + PropertyAccessExpression 2476672 2476698 + PropertyAccessExpression 2476672 2476684 + Identifier 2476672 2476677 + Identifier 2476678 2476684 + Identifier 2476685 2476698 + AmpersandToken 2476698 2476700 + PropertyAccessExpression 2476700 2476718 + Identifier 2476700 2476713 + Identifier 2476714 2476718 + Block 2476719 2476789 + ExpressionStatement 2476721 2476770 + BinaryExpression 2476721 2476769 + Identifier 2476721 2476748 + BarEqualsToken 2476748 2476751 + PropertyAccessExpression 2476751 2476769 + Identifier 2476751 2476764 + Identifier 2476765 2476769 + IfStatement 2476804 2477631 + BinaryExpression 2476822 2476847 + Identifier 2476822 2476827 + AmpersandToken 2476827 2476829 + PropertyAccessExpression 2476829 2476847 + Identifier 2476829 2476842 + Identifier 2476843 2476847 + Block 2476848 2477100 + IfStatement 2476850 2477044 + Identifier 2476872 2476887 + Block 2476888 2477044 + ExpressionStatement 2476890 2476997 + CallExpression 2476890 2476996 + Identifier 2476890 2476930 + Identifier 2476931 2476932 + PropertyAccessExpression 2476933 2476995 + Identifier 2476933 2476945 + Identifier 2476946 2476995 + BreakStatement 2476997 2477025 + ExpressionStatement 2477044 2477085 + BinaryExpression 2477044 2477084 + Identifier 2477044 2477077 + EqualsToken 2477077 2477079 + TrueKeyword 2477079 2477084 + IfStatement 2477118 2477631 + BinaryExpression 2477123 2477152 + Identifier 2477123 2477128 + AmpersandToken 2477128 2477130 + PropertyAccessExpression 2477130 2477152 + Identifier 2477130 2477143 + Identifier 2477144 2477152 + Block 2477153 2477408 + IfStatement 2477155 2477348 + Identifier 2477177 2477192 + Block 2477193 2477348 + ExpressionStatement 2477195 2477301 + CallExpression 2477195 2477300 + Identifier 2477195 2477235 + Identifier 2477236 2477237 + PropertyAccessExpression 2477238 2477299 + Identifier 2477238 2477250 + Identifier 2477251 2477299 + BreakStatement 2477301 2477329 + ExpressionStatement 2477348 2477393 + BinaryExpression 2477348 2477392 + Identifier 2477348 2477385 + EqualsToken 2477385 2477387 + TrueKeyword 2477387 2477392 + IfStatement 2477426 2477631 + BinaryExpression 2477431 2477483 + BinaryExpression 2477431 2477460 + Identifier 2477431 2477436 + AmpersandToken 2477436 2477438 + PropertyAccessExpression 2477438 2477460 + Identifier 2477438 2477451 + Identifier 2477452 2477460 + AmpersandAmpersandToken 2477460 2477463 + Identifier 2477463 2477483 + Block 2477484 2477631 + ExpressionStatement 2477486 2477592 + CallExpression 2477486 2477591 + Identifier 2477486 2477522 + Identifier 2477523 2477524 + PropertyAccessExpression 2477525 2477590 + Identifier 2477525 2477537 + Identifier 2477538 2477590 + BreakStatement 2477592 2477616 + ExpressionStatement 2477642 2477695 + CallExpression 2477642 2477694 + Identifier 2477642 2477659 + PropertyAccessExpression 2477660 2477673 + Identifier 2477660 2477664 + Identifier 2477665 2477673 + Identifier 2477674 2477693 + ExpressionStatement 2477695 2477731 + CallExpression 2477695 2477730 + Identifier 2477695 2477724 + Identifier 2477725 2477729 + FunctionDeclaration 2477738 2477913 + Identifier 2477754 2477783 + Parameter 2477784 2477817 + Identifier 2477784 2477788 + TypeReference 2477789 2477817 + Identifier 2477789 2477817 + Block 2477818 2477913 + ExpressionStatement 2477820 2477870 + CallExpression 2477820 2477869 + Identifier 2477820 2477837 + PropertyAccessExpression 2477838 2477848 + Identifier 2477838 2477842 + Identifier 2477843 2477848 + Identifier 2477849 2477868 + ExpressionStatement 2477870 2477906 + CallExpression 2477870 2477905 + Identifier 2477870 2477899 + Identifier 2477900 2477904 + FunctionDeclaration 2477913 2480218 + Identifier 2477929 2477957 + Parameter 2477958 2477968 + Identifier 2477958 2477962 + TypeReference 2477963 2477968 + Identifier 2477963 2477968 + Parameter 2477969 2478029 + Identifier 2477969 2477980 + UnionType 2477981 2478029 + TypeReference 2477981 2478003 + Identifier 2477981 2478003 + TypeReference 2478005 2478029 + Identifier 2478005 2478029 + Block 2478030 2480218 + IfStatement 2478032 2478125 + PrefixUnaryExpression 2478046 2478085 + ParenthesizedExpression 2478047 2478085 + BinaryExpression 2478048 2478084 + PropertyAccessExpression 2478048 2478058 + Identifier 2478048 2478052 + Identifier 2478053 2478058 + AmpersandToken 2478058 2478060 + PropertyAccessExpression 2478060 2478084 + Identifier 2478060 2478070 + Identifier 2478071 2478084 + Block 2478086 2478125 + ReturnStatement 2478088 2478114 + Identifier 2478108 2478113 + VariableStatement 2478125 2478277 + VariableDeclarationList 2478125 2478276 + VariableDeclaration 2478224 2478276 + Identifier 2478224 2478235 + PropertyAccessExpression 2478237 2478276 + ParenthesizedExpression 2478237 2478265 + AsExpression 2478239 2478264 + Identifier 2478239 2478243 + TypeReference 2478246 2478264 + Identifier 2478246 2478264 + Identifier 2478266 2478276 + VariableStatement 2478277 2478343 + VariableDeclarationList 2478277 2478342 + VariableDeclaration 2478292 2478342 + Identifier 2478292 2478302 + PropertyAccessExpression 2478304 2478342 + ParenthesizedExpression 2478304 2478332 + AsExpression 2478306 2478331 + Identifier 2478306 2478310 + TypeReference 2478313 2478331 + Identifier 2478313 2478331 + Identifier 2478333 2478342 + VariableStatement 2478343 2478677 + VariableDeclarationList 2478343 2478676 + VariableDeclaration 2478421 2478676 + Identifier 2478421 2478437 + ConditionalExpression 2478439 2478676 + BinaryExpression 2478439 2478549 + CallExpression 2478439 2478471 + Identifier 2478439 2478459 + Identifier 2478460 2478470 + AmpersandAmpersandToken 2478471 2478474 + BinaryExpression 2478474 2478549 + CallExpression 2478474 2478512 + Identifier 2478474 2478500 + Identifier 2478501 2478511 + EqualsEqualsEqualsToken 2478512 2478516 + PropertyAccessExpression 2478516 2478549 + Identifier 2478516 2478539 + Identifier 2478540 2478549 + QuestionToken 2478549 2478564 + CallExpression 2478564 2478619 + Identifier 2478564 2478590 + Identifier 2478591 2478601 + PropertyAccessExpression 2478602 2478618 + Identifier 2478602 2478613 + Identifier 2478614 2478618 + ColonToken 2478619 2478634 + CallExpression 2478634 2478676 + Identifier 2478634 2478647 + Identifier 2478648 2478658 + PropertyAccessExpression 2478659 2478675 + Identifier 2478659 2478670 + Identifier 2478671 2478675 + VariableStatement 2478677 2478759 + VariableDeclarationList 2478677 2478758 + VariableDeclaration 2478692 2478758 + Identifier 2478692 2478711 + PrefixUnaryExpression 2478713 2478758 + PrefixUnaryExpression 2478715 2478758 + CallExpression 2478716 2478758 + Identifier 2478716 2478734 + Identifier 2478735 2478745 + Identifier 2478746 2478757 + IfStatement 2478759 2479376 + CallExpression 2478773 2478900 + Identifier 2478773 2478782 + Identifier 2478783 2478792 + ArrowFunction 2478793 2478899 + Parameter 2478793 2478795 + Identifier 2478793 2478795 + EqualsGreaterThanToken 2478795 2478798 + BinaryExpression 2478798 2478899 + CallExpression 2478798 2478837 + Identifier 2478798 2478817 + Identifier 2478818 2478819 + Identifier 2478820 2478836 + BarBarToken 2478837 2478840 + BinaryExpression 2478840 2478899 + Identifier 2478840 2478859 + AmpersandAmpersandToken 2478859 2478862 + CallExpression 2478862 2478899 + Identifier 2478862 2478884 + Identifier 2478885 2478886 + Identifier 2478887 2478898 + Block 2478901 2479376 + IfStatement 2478903 2479339 + BinaryExpression 2478921 2479185 + BinaryExpression 2478921 2479095 + BinaryExpression 2478921 2479027 + BinaryExpression 2478921 2478993 + PropertyAccessExpression 2478921 2478954 + Identifier 2478921 2478949 + Identifier 2478950 2478954 + EqualsEqualsEqualsToken 2478954 2478958 + PropertyAccessExpression 2478958 2478993 + Identifier 2478958 2478969 + Identifier 2478970 2478993 + AmpersandAmpersandToken 2478993 2478996 + CallExpression 2478996 2479027 + Identifier 2478996 2479015 + Identifier 2479016 2479026 + AmpersandAmpersandToken 2479027 2479030 + BinaryExpression 2479030 2479095 + CallExpression 2479030 2479074 + Identifier 2479030 2479062 + Identifier 2479063 2479073 + AmpersandToken 2479074 2479076 + PropertyAccessExpression 2479076 2479095 + Identifier 2479076 2479088 + Identifier 2479089 2479095 + AmpersandAmpersandToken 2479095 2479098 + BinaryExpression 2479098 2479185 + CallExpression 2479098 2479147 + Identifier 2479098 2479121 + AsExpression 2479122 2479146 + Identifier 2479122 2479132 + TypeReference 2479135 2479146 + Identifier 2479135 2479146 + AmpersandToken 2479147 2479149 + PropertyAccessExpression 2479149 2479185 + Identifier 2479149 2479169 + Identifier 2479170 2479185 + Block 2479200 2479339 + ExpressionStatement 2479202 2479324 + CallExpression 2479202 2479323 + Identifier 2479202 2479225 + Identifier 2479226 2479236 + PropertyAccessExpression 2479237 2479296 + Identifier 2479237 2479249 + Identifier 2479250 2479296 + CallExpression 2479297 2479322 + Identifier 2479297 2479310 + Identifier 2479311 2479321 + ReturnStatement 2479339 2479365 + Identifier 2479359 2479364 + IfStatement 2479376 2480054 + CallExpression 2479390 2479421 + Identifier 2479390 2479409 + Identifier 2479410 2479420 + Block 2479422 2480054 + VariableStatement 2479424 2479507 + VariableDeclarationList 2479424 2479506 + VariableDeclaration 2479443 2479506 + Identifier 2479443 2479456 + CallExpression 2479458 2479506 + Identifier 2479458 2479483 + Identifier 2479484 2479493 + Identifier 2479494 2479505 + IfStatement 2479507 2480043 + Identifier 2479525 2479537 + Block 2479538 2480043 + VariableStatement 2479540 2479663 + VariableDeclarationList 2479540 2479662 + VariableDeclaration 2479563 2479662 + Identifier 2479563 2479578 + CallExpression 2479580 2479662 + Identifier 2479580 2479592 + CallExpression 2479593 2479620 + Identifier 2479593 2479608 + Identifier 2479609 2479619 + ArrowFunction 2479621 2479661 + Parameter 2479621 2479623 + Identifier 2479621 2479623 + EqualsGreaterThanToken 2479623 2479626 + CallExpression 2479626 2479661 + Identifier 2479626 2479644 + Identifier 2479645 2479646 + Identifier 2479647 2479660 + IfStatement 2479663 2480028 + BinaryExpression 2479685 2479803 + Identifier 2479685 2479699 + AmpersandAmpersandToken 2479699 2479702 + BinaryExpression 2479702 2479803 + CallExpression 2479702 2479756 + Identifier 2479702 2479740 + Identifier 2479741 2479755 + AmpersandToken 2479756 2479758 + PropertyAccessExpression 2479758 2479803 + Identifier 2479758 2479772 + Identifier 2479773 2479803 + Block 2479804 2480028 + ExpressionStatement 2479806 2479970 + CallExpression 2479806 2479969 + Identifier 2479806 2479833 + Identifier 2479834 2479844 + PropertyAccessExpression 2479845 2479926 + Identifier 2479845 2479857 + Identifier 2479858 2479926 + CallExpression 2479927 2479968 + Identifier 2479927 2479954 + Identifier 2479955 2479967 + ReturnStatement 2479970 2480009 + Identifier 2479998 2480008 + ExpressionStatement 2480054 2480184 + CallExpression 2480054 2480183 + Identifier 2480054 2480069 + Identifier 2480070 2480080 + PropertyAccessExpression 2480081 2480131 + Identifier 2480081 2480093 + Identifier 2480094 2480131 + CallExpression 2480132 2480156 + Identifier 2480132 2480145 + Identifier 2480146 2480155 + CallExpression 2480157 2480182 + Identifier 2480157 2480170 + Identifier 2480171 2480181 + ReturnStatement 2480184 2480211 + Identifier 2480200 2480210 + FunctionDeclaration 2480218 2480470 + Identifier 2480234 2480257 + Parameter 2480258 2480285 + Identifier 2480258 2480262 + TypeReference 2480263 2480285 + Identifier 2480263 2480285 + Block 2480286 2480470 + ExpressionStatement 2480288 2480334 + CallExpression 2480288 2480333 + Identifier 2480288 2480316 + PropertyAccessExpression 2480317 2480332 + Identifier 2480317 2480321 + Identifier 2480322 2480332 + ExpressionStatement 2480334 2480379 + CallExpression 2480334 2480378 + Identifier 2480334 2480362 + PropertyAccessExpression 2480363 2480377 + Identifier 2480363 2480367 + Identifier 2480368 2480377 + ExpressionStatement 2480379 2480463 + CallExpression 2480379 2480462 + Identifier 2480379 2480416 + CallExpression 2480417 2480455 + Identifier 2480417 2480449 + Identifier 2480450 2480454 + Identifier 2480456 2480461 + FunctionDeclaration 2480470 2481280 + Identifier 2480486 2480502 + Parameter 2480503 2480523 + Identifier 2480503 2480507 + TypeReference 2480508 2480523 + Identifier 2480508 2480523 + Block 2480524 2481280 + ExpressionStatement 2480526 2480565 + CallExpression 2480526 2480564 + Identifier 2480526 2480558 + Identifier 2480559 2480563 + ExpressionStatement 2480565 2480614 + CallExpression 2480565 2480613 + Identifier 2480565 2480593 + PropertyAccessExpression 2480594 2480612 + Identifier 2480594 2480598 + Identifier 2480599 2480612 + ExpressionStatement 2480614 2480658 + CallExpression 2480614 2480657 + Identifier 2480614 2480642 + PropertyAccessExpression 2480643 2480656 + Identifier 2480643 2480647 + Identifier 2480648 2480656 + ExpressionStatement 2480658 2480698 + CallExpression 2480658 2480697 + Identifier 2480658 2480686 + PropertyAccessExpression 2480687 2480696 + Identifier 2480687 2480691 + Identifier 2480692 2480696 + IfStatement 2480698 2480785 + PrefixUnaryExpression 2480714 2480724 + PropertyAccessExpression 2480715 2480724 + Identifier 2480715 2480719 + Identifier 2480720 2480724 + Block 2480725 2480785 + ExpressionStatement 2480727 2480774 + CallExpression 2480727 2480773 + Identifier 2480727 2480758 + Identifier 2480759 2480763 + Identifier 2480764 2480772 + VariableStatement 2480785 2480856 + VariableDeclarationList 2480785 2480855 + VariableDeclaration 2480802 2480855 + Identifier 2480802 2480807 + AsExpression 2480809 2480855 + CallExpression 2480809 2480841 + Identifier 2480809 2480835 + Identifier 2480836 2480840 + TypeReference 2480844 2480855 + Identifier 2480844 2480855 + VariableStatement 2480856 2480915 + VariableDeclarationList 2480856 2480914 + VariableDeclaration 2480871 2480914 + Identifier 2480871 2480880 + CallExpression 2480882 2480914 + Identifier 2480882 2480908 + Identifier 2480909 2480913 + IfStatement 2480915 2481273 + Identifier 2480929 2480937 + Block 2480938 2481036 + ExpressionStatement 2480940 2481025 + CallExpression 2480940 2481024 + Identifier 2480940 2480975 + Identifier 2480976 2480984 + Identifier 2480985 2481008 + PropertyAccessExpression 2481009 2481023 + Identifier 2481009 2481014 + Identifier 2481015 2481023 + Block 2481050 2481273 + VariableStatement 2481052 2481127 + VariableDeclarationList 2481052 2481126 + VariableDeclaration 2481071 2481126 + Identifier 2481071 2481086 + CallExpression 2481088 2481126 + Identifier 2481088 2481120 + Identifier 2481121 2481125 + ExpressionStatement 2481127 2481262 + CallExpression 2481127 2481261 + Identifier 2481127 2481162 + Identifier 2481163 2481177 + Identifier 2481178 2481201 + CallExpression 2481202 2481260 + Identifier 2481202 2481240 + PropertyAccessExpression 2481241 2481259 + Identifier 2481241 2481245 + Identifier 2481246 2481259 + FunctionDeclaration 2481280 2481520 + Identifier 2481296 2481319 + Parameter 2481320 2481340 + Identifier 2481320 2481324 + TypeReference 2481325 2481340 + Identifier 2481325 2481340 + Block 2481341 2481520 + IfStatement 2481343 2481513 + PropertyAccessExpression 2481357 2481377 + PropertyAccessExpression 2481357 2481369 + Identifier 2481357 2481361 + Identifier 2481362 2481369 + QuestionDotToken 2481369 2481371 + Identifier 2481371 2481377 + Block 2481378 2481513 + ReturnStatement 2481380 2481502 + CallExpression 2481400 2481501 + Identifier 2481400 2481419 + ElementAccessExpression 2481420 2481435 + PropertyAccessExpression 2481420 2481432 + Identifier 2481420 2481424 + Identifier 2481425 2481432 + NumericLiteral 2481433 2481434 + PropertyAccessExpression 2481436 2481500 + Identifier 2481436 2481448 + Identifier 2481449 2481500 + FunctionDeclaration 2481520 2481619 + Identifier 2481536 2481550 + Parameter 2481551 2481569 + Identifier 2481551 2481555 + TypeReference 2481556 2481569 + Identifier 2481556 2481569 + Block 2481570 2481619 + ExpressionStatement 2481572 2481612 + CallExpression 2481572 2481611 + Identifier 2481572 2481605 + Identifier 2481606 2481610 + FunctionDeclaration 2481619 2481771 + Identifier 2481635 2481653 + Parameter 2481654 2481676 + Identifier 2481654 2481658 + TypeReference 2481659 2481676 + Identifier 2481659 2481676 + Block 2481677 2481771 + ExpressionStatement 2481679 2481724 + CallExpression 2481679 2481723 + Identifier 2481679 2481717 + Identifier 2481718 2481722 + ExpressionStatement 2481724 2481764 + CallExpression 2481724 2481763 + Identifier 2481724 2481752 + PropertyAccessExpression 2481753 2481762 + Identifier 2481753 2481757 + Identifier 2481758 2481762 + FunctionDeclaration 2481771 2481893 + Identifier 2481787 2481808 + Parameter 2481809 2481834 + Identifier 2481809 2481813 + TypeReference 2481814 2481834 + Identifier 2481814 2481834 + Block 2481835 2481893 + ExpressionStatement 2481837 2481886 + CallExpression 2481837 2481885 + Identifier 2481837 2481859 + Identifier 2481860 2481864 + Identifier 2481865 2481884 + FunctionDeclaration 2481893 2483330 + Identifier 2481909 2481924 + Parameter 2481925 2481944 + Identifier 2481925 2481929 + TypeReference 2481930 2481944 + Identifier 2481930 2481944 + Block 2481945 2483330 + IfStatement 2481947 2482246 + PrefixUnaryExpression 2481961 2482098 + CallExpression 2481962 2482098 + Identifier 2481962 2481974 + Identifier 2481975 2481979 + ArrowFunction 2481980 2482097 + Parameter 2481980 2481982 + Identifier 2481980 2481982 + EqualsGreaterThanToken 2481982 2481985 + BinaryExpression 2481985 2482097 + BinaryExpression 2481985 2482042 + PropertyAccessExpression 2481985 2481994 + Identifier 2481985 2481987 + Identifier 2481988 2481994 + AmpersandAmpersandToken 2481994 2481997 + BinaryExpression 2481997 2482042 + PropertyAccessExpression 2481997 2482011 + PropertyAccessExpression 2481997 2482006 + Identifier 2481997 2481999 + Identifier 2482000 2482006 + Identifier 2482007 2482011 + EqualsEqualsEqualsToken 2482011 2482015 + PropertyAccessExpression 2482015 2482042 + Identifier 2482015 2482026 + Identifier 2482027 2482042 + AmpersandAmpersandToken 2482042 2482045 + BinaryExpression 2482045 2482097 + PropertyAccessExpression 2482045 2482091 + ParenthesizedExpression 2482045 2482079 + AsExpression 2482047 2482078 + PropertyAccessExpression 2482047 2482055 + Identifier 2482047 2482048 + Identifier 2482049 2482055 + TypeReference 2482058 2482078 + Identifier 2482058 2482078 + Identifier 2482080 2482091 + EqualsEqualsEqualsToken 2482091 2482095 + Identifier 2482095 2482097 + Block 2482099 2482246 + ExpressionStatement 2482101 2482235 + CallExpression 2482101 2482234 + Identifier 2482101 2482133 + Identifier 2482134 2482138 + PropertyAccessExpression 2482139 2482233 + Identifier 2482139 2482151 + Identifier 2482152 2482233 + ExpressionStatement 2482246 2482295 + CallExpression 2482246 2482294 + Identifier 2482246 2482274 + PropertyAccessExpression 2482275 2482293 + Identifier 2482275 2482279 + Identifier 2482280 2482293 + VariableStatement 2482295 2482363 + VariableDeclarationList 2482295 2482362 + VariableDeclaration 2482310 2482362 + Identifier 2482310 2482317 + CallExpression 2482319 2482362 + Identifier 2482319 2482342 + PropertyAccessExpression 2482343 2482361 + Identifier 2482343 2482347 + Identifier 2482348 2482361 + IfStatement 2482363 2483273 + BinaryExpression 2482377 2482430 + PropertyAccessExpression 2482377 2482396 + Identifier 2482377 2482383 + Identifier 2482384 2482396 + AmpersandAmpersandToken 2482396 2482399 + BinaryExpression 2482399 2482430 + PropertyAccessExpression 2482399 2482426 + PropertyAccessExpression 2482399 2482419 + Identifier 2482399 2482406 + Identifier 2482407 2482419 + Identifier 2482420 2482426 + GreaterThanToken 2482426 2482428 + NumericLiteral 2482428 2482430 + Block 2482431 2483273 + VariableStatement 2482433 2482484 + VariableDeclarationList 2482433 2482483 + VariableDeclaration 2482452 2482483 + Identifier 2482452 2482458 + CallExpression 2482460 2482483 + Identifier 2482460 2482475 + Identifier 2482476 2482482 + IfStatement 2482484 2483262 + PrefixUnaryExpression 2482502 2482530 + PropertyAccessExpression 2482503 2482530 + Identifier 2482503 2482508 + Identifier 2482509 2482530 + Block 2482531 2483262 + ExpressionStatement 2482533 2482586 + BinaryExpression 2482533 2482585 + PropertyAccessExpression 2482533 2482578 + Identifier 2482533 2482556 + Identifier 2482557 2482578 + EqualsToken 2482578 2482580 + TrueKeyword 2482580 2482585 + VariableStatement 2482586 2482665 + VariableDeclarationList 2482586 2482664 + VariableDeclaration 2482609 2482664 + Identifier 2482609 2482623 + CallExpression 2482625 2482664 + Identifier 2482625 2482656 + Identifier 2482657 2482663 + VariableStatement 2482665 2482788 + VariableDeclarationList 2482665 2482787 + VariableDeclaration 2482688 2482787 + Identifier 2482688 2482701 + ArrayType 2482702 2482729 + TypeReference 2482702 2482727 + Identifier 2482702 2482727 + CallExpression 2482731 2482787 + Identifier 2482731 2482753 + Identifier 2482754 2482760 + PropertyAccessExpression 2482761 2482786 + Identifier 2482761 2482772 + Identifier 2482773 2482786 + IfStatement 2482788 2483247 + PrefixUnaryExpression 2482810 2482884 + CallExpression 2482811 2482884 + Identifier 2482811 2482837 + Identifier 2482838 2482850 + ArrayLiteralExpression 2482851 2482867 + Identifier 2482853 2482866 + ArrowFunction 2482868 2482883 + Parameter 2482868 2482873 + Identifier 2482868 2482873 + EqualsGreaterThanToken 2482873 2482876 + ArrayLiteralExpression 2482876 2482883 + Identifier 2482878 2482882 + Block 2482885 2483247 + VariableStatement 2482887 2483019 + VariableDeclarationList 2482887 2483018 + VariableDeclaration 2482988 2483018 + Identifier 2482988 2482993 + CallExpression 2482995 2483018 + Identifier 2482995 2483010 + Identifier 2483011 2483017 + ForOfStatement 2483019 2483228 + VariableDeclarationList 2483046 2483063 + VariableDeclaration 2483051 2483063 + Identifier 2483051 2483063 + Identifier 2483066 2483079 + Block 2483080 2483228 + ExpressionStatement 2483082 2483205 + CallExpression 2483082 2483204 + Identifier 2483082 2483113 + PropertyAccessExpression 2483114 2483130 + Identifier 2483114 2483125 + Identifier 2483126 2483130 + PropertyAccessExpression 2483131 2483197 + Identifier 2483131 2483143 + Identifier 2483144 2483197 + Identifier 2483198 2483203 + ExpressionStatement 2483273 2483323 + CallExpression 2483273 2483322 + Identifier 2483273 2483316 + Identifier 2483317 2483321 + FunctionDeclaration 2483330 2483687 + Identifier 2483346 2483371 + Parameter 2483372 2483401 + Identifier 2483372 2483376 + TypeReference 2483377 2483401 + Identifier 2483377 2483401 + Block 2483402 2483687 + ForOfStatement 2483404 2483644 + VariableDeclarationList 2483419 2483429 + VariableDeclaration 2483424 2483429 + Identifier 2483424 2483429 + PropertyAccessExpression 2483432 2483451 + Identifier 2483432 2483437 + Identifier 2483438 2483451 + Block 2483452 2483644 + ExpressionStatement 2483454 2483498 + CallExpression 2483454 2483497 + Identifier 2483454 2483486 + PropertyAccessExpression 2483487 2483496 + Identifier 2483487 2483491 + Identifier 2483492 2483496 + VariableStatement 2483498 2483556 + VariableDeclarationList 2483498 2483555 + VariableDeclaration 2483517 2483555 + Identifier 2483517 2483522 + CallExpression 2483524 2483555 + Identifier 2483524 2483544 + PropertyAccessExpression 2483545 2483554 + Identifier 2483545 2483549 + Identifier 2483550 2483554 + ExpressionStatement 2483556 2483633 + CallExpression 2483556 2483632 + Identifier 2483556 2483591 + Identifier 2483592 2483596 + Identifier 2483597 2483620 + PropertyAccessExpression 2483621 2483631 + Identifier 2483621 2483626 + Identifier 2483627 2483631 + ExpressionStatement 2483644 2483680 + CallExpression 2483644 2483679 + Identifier 2483644 2483673 + Identifier 2483674 2483678 + FunctionDeclaration 2483687 2483959 + Identifier 2483703 2483719 + Parameter 2483720 2483740 + Identifier 2483720 2483724 + TypeReference 2483725 2483740 + Identifier 2483725 2483740 + Block 2483741 2483959 + ExpressionStatement 2483743 2483787 + CallExpression 2483743 2483786 + Identifier 2483743 2483771 + PropertyAccessExpression 2483772 2483785 + Identifier 2483772 2483776 + Identifier 2483777 2483785 + IfStatement 2483787 2483909 + PropertyAccessExpression 2483803 2483818 + Identifier 2483803 2483807 + Identifier 2483808 2483818 + Block 2483819 2483909 + ExpressionStatement 2483821 2483898 + CallExpression 2483821 2483897 + Identifier 2483821 2483860 + PropertyAccessExpression 2483861 2483876 + Identifier 2483861 2483865 + Identifier 2483866 2483876 + Identifier 2483877 2483896 + ExpressionStatement 2483909 2483952 + CallExpression 2483909 2483951 + Identifier 2483909 2483945 + Identifier 2483946 2483950 + FunctionDeclaration 2483959 2484752 + Identifier 2483975 2483997 + Parameter 2483998 2484020 + Identifier 2483998 2484002 + TypeReference 2484003 2484020 + Identifier 2484003 2484020 + Block 2484021 2484752 + IfStatement 2484023 2484192 + BinaryExpression 2484037 2484078 + PropertyAccessExpression 2484037 2484056 + Identifier 2484037 2484041 + Identifier 2484042 2484056 + AmpersandAmpersandToken 2484056 2484059 + PropertyAccessExpression 2484059 2484078 + Identifier 2484059 2484064 + Identifier 2484065 2484078 + Block 2484079 2484192 + ExpressionStatement 2484081 2484181 + CallExpression 2484081 2484180 + Identifier 2484081 2484113 + Identifier 2484114 2484118 + PropertyAccessExpression 2484119 2484179 + Identifier 2484119 2484131 + Identifier 2484132 2484179 + IfStatement 2484192 2484451 + BinaryExpression 2484206 2484248 + PropertyAccessExpression 2484206 2484220 + PropertyAccessExpression 2484206 2484215 + Identifier 2484206 2484210 + Identifier 2484211 2484215 + Identifier 2484216 2484220 + EqualsEqualsEqualsToken 2484220 2484224 + PropertyAccessExpression 2484224 2484248 + Identifier 2484224 2484235 + Identifier 2484236 2484248 + Block 2484249 2484451 + ExpressionStatement 2484251 2484440 + CallExpression 2484251 2484439 + Identifier 2484251 2484283 + PropertyAccessExpression 2484284 2484293 + Identifier 2484284 2484288 + Identifier 2484289 2484293 + PropertyAccessExpression 2484294 2484438 + Identifier 2484294 2484306 + Identifier 2484307 2484438 + IfStatement 2484451 2484669 + BinaryExpression 2484465 2484503 + PropertyAccessExpression 2484465 2484479 + PropertyAccessExpression 2484465 2484474 + Identifier 2484465 2484469 + Identifier 2484470 2484474 + Identifier 2484475 2484479 + EqualsEqualsEqualsToken 2484479 2484483 + PropertyAccessExpression 2484483 2484503 + Identifier 2484483 2484494 + Identifier 2484495 2484503 + Block 2484504 2484669 + ExpressionStatement 2484506 2484658 + CallExpression 2484506 2484657 + Identifier 2484506 2484538 + PropertyAccessExpression 2484539 2484548 + Identifier 2484539 2484543 + Identifier 2484544 2484548 + PropertyAccessExpression 2484549 2484656 + Identifier 2484549 2484561 + Identifier 2484562 2484656 + ExpressionStatement 2484669 2484709 + CallExpression 2484669 2484708 + Identifier 2484669 2484697 + PropertyAccessExpression 2484698 2484707 + Identifier 2484698 2484702 + Identifier 2484703 2484707 + ExpressionStatement 2484709 2484745 + CallExpression 2484709 2484744 + Identifier 2484709 2484738 + Identifier 2484739 2484743 + FunctionDeclaration 2484752 2484980 + Identifier 2484768 2484791 + Parameter 2484792 2484802 + Identifier 2484792 2484796 + TypeReference 2484797 2484802 + Identifier 2484797 2484802 + BooleanKeyword 2484804 2484812 + Block 2484812 2484980 + ReturnStatement 2484814 2484973 + BinaryExpression 2484830 2484972 + ParenthesizedExpression 2484830 2484934 + BinaryExpression 2484832 2484933 + CallExpression 2484832 2484881 + Identifier 2484832 2484852 + Identifier 2484853 2484857 + PropertyAccessExpression 2484858 2484880 + Identifier 2484858 2484872 + Identifier 2484873 2484880 + BarBarToken 2484881 2484884 + CallExpression 2484884 2484933 + Identifier 2484884 2484927 + Identifier 2484928 2484932 + AmpersandAmpersandToken 2484934 2484937 + PrefixUnaryExpression 2484937 2484972 + PrefixUnaryExpression 2484939 2484972 + ParenthesizedExpression 2484940 2484972 + BinaryExpression 2484941 2484971 + PropertyAccessExpression 2484941 2484951 + Identifier 2484941 2484945 + Identifier 2484946 2484951 + AmpersandToken 2484951 2484953 + PropertyAccessExpression 2484953 2484971 + Identifier 2484953 2484963 + Identifier 2484964 2484971 + FunctionDeclaration 2484980 2486119 + Identifier 2484996 2485025 + Parameter 2485026 2485040 + Identifier 2485026 2485027 + TypeReference 2485028 2485040 + Identifier 2485028 2485040 + Parameter 2485041 2485069 + Identifier 2485041 2485054 + TypeReference 2485055 2485069 + Identifier 2485055 2485069 + TypeReference 2485071 2485085 + Identifier 2485071 2485085 + Block 2485085 2486119 + VariableStatement 2485087 2485143 + VariableDeclarationList 2485087 2485142 + VariableDeclaration 2485100 2485142 + Identifier 2485100 2485106 + CallExpression 2485108 2485142 + Identifier 2485108 2485139 + Identifier 2485140 2485141 + IfStatement 2485143 2486072 + BinaryExpression 2485320 2485550 + BinaryExpression 2485320 2485506 + BinaryExpression 2485320 2485445 + BinaryExpression 2485320 2485383 + PropertyAccessExpression 2485320 2485347 + PropertyAccessExpression 2485320 2485342 + Identifier 2485320 2485335 + Identifier 2485336 2485342 + Identifier 2485343 2485347 + ExclamationEqualsEqualsToken 2485347 2485351 + PropertyAccessExpression 2485351 2485383 + Identifier 2485351 2485362 + Identifier 2485363 2485383 + AmpersandAmpersandToken 2485383 2485386 + BinaryExpression 2485386 2485445 + PropertyAccessExpression 2485386 2485413 + PropertyAccessExpression 2485386 2485408 + Identifier 2485386 2485401 + Identifier 2485402 2485408 + Identifier 2485409 2485413 + ExclamationEqualsEqualsToken 2485413 2485417 + PropertyAccessExpression 2485417 2485445 + Identifier 2485417 2485428 + Identifier 2485429 2485445 + AmpersandAmpersandToken 2485445 2485448 + BinaryExpression 2485448 2485506 + PropertyAccessExpression 2485448 2485475 + PropertyAccessExpression 2485448 2485470 + Identifier 2485448 2485463 + Identifier 2485464 2485470 + Identifier 2485471 2485475 + ExclamationEqualsEqualsToken 2485475 2485479 + PropertyAccessExpression 2485479 2485506 + Identifier 2485479 2485490 + Identifier 2485491 2485506 + AmpersandAmpersandToken 2485506 2485509 + BinaryExpression 2485509 2485550 + PropertyAccessExpression 2485509 2485530 + Identifier 2485509 2485524 + Identifier 2485525 2485530 + AmpersandToken 2485530 2485532 + PropertyAccessExpression 2485532 2485550 + Identifier 2485532 2485542 + Identifier 2485543 2485550 + Block 2485561 2486072 + VariableStatement 2485563 2485620 + VariableDeclarationList 2485563 2485619 + VariableDeclaration 2485582 2485619 + Identifier 2485582 2485592 + CallExpression 2485594 2485619 + Identifier 2485594 2485616 + Identifier 2485617 2485618 + IfStatement 2485620 2486016 + BinaryExpression 2485638 2485846 + BinaryExpression 2485638 2485730 + ParenthesizedExpression 2485638 2485694 + BinaryExpression 2485639 2485693 + Identifier 2485639 2485648 + AmpersandAmpersandToken 2485648 2485651 + BinaryExpression 2485651 2485693 + PropertyAccessExpression 2485651 2485667 + Identifier 2485651 2485661 + Identifier 2485662 2485667 + AmpersandToken 2485667 2485669 + PropertyAccessExpression 2485669 2485693 + Identifier 2485669 2485679 + Identifier 2485680 2485693 + AmpersandAmpersandToken 2485694 2485697 + PrefixUnaryExpression 2485697 2485730 + ParenthesizedExpression 2485699 2485730 + BinaryExpression 2485700 2485729 + Identifier 2485700 2485705 + AmpersandToken 2485705 2485707 + PropertyAccessExpression 2485707 2485729 + Identifier 2485707 2485721 + Identifier 2485722 2485729 + AmpersandAmpersandToken 2485730 2485733 + PrefixUnaryExpression 2485733 2485846 + ParenthesizedExpression 2485735 2485846 + BinaryExpression 2485736 2485845 + BinaryExpression 2485736 2485799 + CallExpression 2485736 2485759 + Identifier 2485736 2485749 + PropertyAccessExpression 2485750 2485758 + Identifier 2485750 2485751 + Identifier 2485752 2485758 + AmpersandAmpersandToken 2485759 2485762 + CallExpression 2485762 2485799 + Identifier 2485762 2485782 + PropertyAccessExpression 2485783 2485798 + PropertyAccessExpression 2485783 2485791 + Identifier 2485783 2485784 + Identifier 2485785 2485791 + Identifier 2485792 2485798 + AmpersandAmpersandToken 2485799 2485802 + CallExpression 2485802 2485845 + Identifier 2485802 2485828 + PropertyAccessExpression 2485829 2485844 + PropertyAccessExpression 2485829 2485837 + Identifier 2485829 2485830 + Identifier 2485831 2485837 + Identifier 2485838 2485844 + Block 2485847 2486016 + ExpressionStatement 2485849 2486001 + BinaryExpression 2485849 2486000 + Identifier 2485849 2485976 + BarEqualsToken 2485976 2485979 + PropertyAccessExpression 2485979 2486000 + Identifier 2485979 2485993 + Identifier 2485994 2486000 + ExpressionStatement 2486016 2486061 + BinaryExpression 2486016 2486060 + Identifier 2486016 2486035 + BarEqualsToken 2486035 2486038 + PropertyAccessExpression 2486038 2486060 + Identifier 2486038 2486052 + Identifier 2486053 2486060 + ReturnStatement 2486072 2486112 + BinaryExpression 2486090 2486111 + Identifier 2486090 2486096 + AmpersandToken 2486096 2486098 + Identifier 2486098 2486111 + FunctionDeclaration 2486119 2486281 + Identifier 2486135 2486168 + Parameter 2486169 2486183 + Identifier 2486169 2486175 + TypeReference 2486176 2486183 + Identifier 2486176 2486183 + VoidKeyword 2486185 2486190 + Block 2486190 2486281 + ExpressionStatement 2486192 2486274 + CallExpression 2486192 2486273 + Identifier 2486192 2486219 + ArrowFunction 2486220 2486272 + EqualsGreaterThanToken 2486222 2486225 + CallExpression 2486225 2486272 + Identifier 2486225 2486264 + Identifier 2486265 2486271 + FunctionDeclaration 2486281 2502850 + Identifier 2486297 2486336 + Parameter 2486337 2486351 + Identifier 2486337 2486343 + TypeReference 2486344 2486351 + Identifier 2486344 2486351 + VoidKeyword 2486353 2486358 + Block 2486358 2502850 + FunctionDeclaration 2486360 2487242 + Identifier 2486378 2486399 + Parameter 2486400 2486433 + Identifier 2486400 2486409 + TypeOperator 2486410 2486433 + ArrayType 2486419 2486433 + TypeReference 2486419 2486431 + Identifier 2486419 2486431 + Parameter 2486434 2486486 + Identifier 2486434 2486449 + UnionType 2486450 2486486 + TypeReference 2486450 2486474 + Identifier 2486450 2486474 + UndefinedKeyword 2486476 2486486 + TypeReference 2486488 2486500 + Identifier 2486488 2486500 + Block 2486500 2487242 + VariableStatement 2486502 2487131 + VariableDeclarationList 2486502 2487130 + VariableDeclaration 2487003 2487130 + Identifier 2487003 2487050 + BinaryExpression 2487052 2487130 + BinaryExpression 2487052 2487081 + Identifier 2487052 2487067 + ExclamationEqualsEqualsToken 2487067 2487071 + Identifier 2487071 2487081 + AmpersandAmpersandToken 2487081 2487084 + BinaryExpression 2487084 2487130 + PropertyAccessExpression 2487084 2487106 + Identifier 2487084 2487099 + Identifier 2487100 2487106 + EqualsEqualsEqualsToken 2487106 2487110 + PropertyAccessExpression 2487110 2487130 + ElementAccessExpression 2487110 2487123 + Identifier 2487110 2487120 + NumericLiteral 2487121 2487122 + Identifier 2487124 2487130 + ReturnStatement 2487131 2487231 + ConditionalExpression 2487151 2487230 + Identifier 2487151 2487198 + QuestionToken 2487198 2487200 + Identifier 2487200 2487215 + ColonToken 2487215 2487217 + ElementAccessExpression 2487217 2487230 + Identifier 2487217 2487227 + NumericLiteral 2487228 2487229 + FunctionDeclaration 2487242 2490293 + Identifier 2487262 2487297 + Parameter 2487298 2487322 + Identifier 2487298 2487307 + ArrayType 2487308 2487322 + TypeReference 2487308 2487320 + Identifier 2487308 2487320 + Parameter 2487323 2487375 + Identifier 2487323 2487338 + UnionType 2487339 2487375 + TypeReference 2487339 2487363 + Identifier 2487339 2487363 + UndefinedKeyword 2487365 2487375 + Parameter 2487376 2487404 + Identifier 2487376 2487389 + TypeReference 2487390 2487404 + Identifier 2487390 2487404 + Parameter 2487405 2487438 + Identifier 2487405 2487423 + TypeReference 2487424 2487438 + Identifier 2487424 2487438 + Parameter 2487439 2487471 + Identifier 2487439 2487456 + TypeReference 2487457 2487471 + Identifier 2487457 2487471 + VoidKeyword 2487473 2487478 + Block 2487478 2490293 + VariableStatement 2487480 2487742 + VariableDeclarationList 2487480 2487741 + VariableDeclaration 2487675 2487741 + Identifier 2487675 2487702 + BinaryExpression 2487704 2487741 + Identifier 2487704 2487722 + CaretToken 2487722 2487724 + Identifier 2487724 2487741 + IfStatement 2487742 2490282 + BinaryExpression 2487760 2487792 + Identifier 2487760 2487786 + ExclamationEqualsEqualsToken 2487786 2487790 + NumericLiteral 2487790 2487792 + Block 2487793 2490282 + VariableStatement 2487795 2487928 + VariableDeclarationList 2487795 2487927 + VariableDeclaration 2487818 2487927 + Identifier 2487818 2487833 + CallExpression 2487835 2487927 + Identifier 2487835 2487864 + CallExpression 2487865 2487912 + Identifier 2487865 2487885 + Identifier 2487886 2487895 + Identifier 2487896 2487911 + Identifier 2487913 2487926 + ExpressionStatement 2487928 2490267 + CallExpression 2487928 2490266 + PropertyAccessExpression 2487928 2488008 + CallExpression 2487928 2488000 + Identifier 2487928 2487951 + Identifier 2487952 2487961 + ArrowFunction 2487962 2487999 + Parameter 2487962 2487964 + Identifier 2487962 2487964 + EqualsGreaterThanToken 2487964 2487967 + PropertyAccessExpression 2487967 2487999 + CallExpression 2487967 2487990 + Identifier 2487967 2487987 + Identifier 2487988 2487989 + Identifier 2487991 2487999 + Identifier 2488001 2488008 + ArrowFunction 2488009 2490265 + Parameter 2488009 2488024 + Identifier 2488009 2488024 + EqualsGreaterThanToken 2488024 2488027 + Block 2488027 2490265 + VariableStatement 2488029 2488179 + VariableDeclarationList 2488029 2488178 + VariableDeclaration 2488056 2488178 + Identifier 2488056 2488078 + CallExpression 2488080 2488178 + Identifier 2488080 2488109 + CallExpression 2488110 2488163 + Identifier 2488110 2488130 + Identifier 2488131 2488146 + Identifier 2488147 2488162 + Identifier 2488164 2488177 + ForOfStatement 2488179 2490246 + VariableDeclarationList 2488206 2488213 + VariableDeclaration 2488211 2488213 + Identifier 2488211 2488213 + Identifier 2488216 2488232 + Block 2488233 2490246 + VariableStatement 2488235 2488342 + VariableDeclarationList 2488235 2488341 + VariableDeclaration 2488266 2488341 + Identifier 2488266 2488276 + BinaryExpression 2488278 2488341 + CallExpression 2488278 2488324 + Identifier 2488278 2488307 + Identifier 2488308 2488309 + Identifier 2488310 2488323 + CaretToken 2488324 2488326 + Identifier 2488326 2488341 + VariableStatement 2488342 2488462 + VariableDeclarationList 2488342 2488461 + VariableDeclaration 2488373 2488461 + Identifier 2488373 2488389 + BinaryExpression 2488391 2488461 + CallExpression 2488391 2488437 + Identifier 2488391 2488420 + Identifier 2488421 2488422 + Identifier 2488423 2488436 + CaretToken 2488437 2488439 + Identifier 2488439 2488461 + IfStatement 2488462 2490223 + BinaryExpression 2488492 2488530 + Identifier 2488492 2488507 + AmpersandToken 2488507 2488509 + PropertyAccessExpression 2488509 2488530 + Identifier 2488509 2488523 + Identifier 2488524 2488530 + Block 2488531 2489293 + ExpressionStatement 2488533 2489266 + CallExpression 2488533 2489265 + Identifier 2488533 2489170 + CallExpression 2489171 2489194 + Identifier 2489171 2489191 + Identifier 2489192 2489193 + PropertyAccessExpression 2489195 2489264 + Identifier 2489195 2489207 + Identifier 2489208 2489264 + IfStatement 2489323 2490223 + BinaryExpression 2489328 2489367 + Identifier 2489328 2489343 + AmpersandToken 2489343 2489345 + PropertyAccessExpression 2489345 2489367 + Identifier 2489345 2489359 + Identifier 2489360 2489367 + Block 2489368 2489728 + ExpressionStatement 2489370 2489701 + CallExpression 2489370 2489700 + Identifier 2489370 2489607 + CallExpression 2489608 2489631 + Identifier 2489608 2489628 + Identifier 2489629 2489630 + PropertyAccessExpression 2489632 2489699 + Identifier 2489632 2489644 + Identifier 2489645 2489699 + IfStatement 2489758 2490223 + BinaryExpression 2489763 2489824 + Identifier 2489763 2489772 + AmpersandToken 2489772 2489774 + ParenthesizedExpression 2489774 2489824 + BinaryExpression 2489776 2489823 + PropertyAccessExpression 2489776 2489797 + Identifier 2489776 2489789 + Identifier 2489790 2489797 + BarToken 2489797 2489799 + PropertyAccessExpression 2489799 2489823 + Identifier 2489799 2489813 + Identifier 2489814 2489823 + Block 2489825 2489993 + ExpressionStatement 2489827 2489966 + CallExpression 2489827 2489965 + Identifier 2489827 2489862 + BinaryExpression 2489863 2489891 + CallExpression 2489863 2489886 + Identifier 2489863 2489883 + Identifier 2489884 2489885 + BarBarToken 2489886 2489889 + Identifier 2489889 2489891 + PropertyAccessExpression 2489892 2489964 + Identifier 2489892 2489904 + Identifier 2489905 2489964 + IfStatement 2490023 2490223 + BinaryExpression 2490028 2490062 + Identifier 2490028 2490037 + AmpersandToken 2490037 2490039 + PropertyAccessExpression 2490039 2490062 + Identifier 2490039 2490053 + Identifier 2490054 2490062 + Block 2490063 2490223 + ExpressionStatement 2490065 2490196 + CallExpression 2490065 2490195 + Identifier 2490065 2490100 + CallExpression 2490101 2490124 + Identifier 2490101 2490121 + Identifier 2490122 2490123 + PropertyAccessExpression 2490125 2490194 + Identifier 2490125 2490137 + Identifier 2490138 2490194 + FunctionDeclaration 2490293 2491056 + Identifier 2490313 2490357 + Parameter 2490358 2490382 + Identifier 2490358 2490367 + ArrayType 2490368 2490382 + TypeReference 2490368 2490380 + Identifier 2490368 2490380 + Parameter 2490383 2490435 + Identifier 2490383 2490398 + UnionType 2490399 2490435 + TypeReference 2490399 2490423 + Identifier 2490399 2490423 + UndefinedKeyword 2490425 2490435 + Parameter 2490436 2490467 + Identifier 2490436 2490458 + BooleanKeyword 2490459 2490467 + Parameter 2490468 2490498 + Identifier 2490468 2490489 + BooleanKeyword 2490490 2490498 + VoidKeyword 2490500 2490505 + Block 2490505 2491056 + IfStatement 2490507 2491045 + BinaryExpression 2490525 2490571 + Identifier 2490525 2490546 + ExclamationEqualsEqualsToken 2490546 2490550 + Identifier 2490550 2490571 + Block 2490572 2491045 + VariableStatement 2490574 2490692 + VariableDeclarationList 2490574 2490691 + VariableDeclaration 2490597 2490691 + Identifier 2490597 2490623 + CallExpression 2490625 2490691 + Identifier 2490625 2490642 + CallExpression 2490643 2490690 + Identifier 2490643 2490663 + Identifier 2490664 2490673 + Identifier 2490674 2490689 + ExpressionStatement 2490692 2491030 + CallExpression 2490692 2491029 + Identifier 2490692 2490717 + Identifier 2490718 2490727 + ArrowFunction 2490728 2491028 + Parameter 2490728 2490730 + Identifier 2490728 2490730 + EqualsGreaterThanToken 2490730 2490733 + Block 2490733 2491028 + VariableStatement 2490735 2490825 + VariableDeclarationList 2490735 2490824 + VariableDeclaration 2490762 2490824 + Identifier 2490762 2490772 + BinaryExpression 2490774 2490824 + CallExpression 2490774 2490794 + Identifier 2490774 2490791 + Identifier 2490792 2490793 + ExclamationEqualsEqualsToken 2490794 2490798 + Identifier 2490798 2490824 + IfStatement 2490825 2491009 + Identifier 2490851 2490860 + Block 2490861 2491009 + ExpressionStatement 2490863 2490986 + CallExpression 2490863 2490985 + Identifier 2490863 2490894 + CallExpression 2490895 2490918 + Identifier 2490895 2490915 + Identifier 2490916 2490917 + PropertyAccessExpression 2490919 2490984 + Identifier 2490919 2490931 + Identifier 2490932 2490984 + VariableStatement 2491056 2491224 + VariableDeclarationList 2491056 2491223 + VariableDeclaration 2491073 2491223 + Identifier 2491073 2491086 + TypeReference 2491087 2491101 + Identifier 2491087 2491101 + BinaryExpression 2491103 2491223 + BinaryExpression 2491103 2491198 + BinaryExpression 2491103 2491172 + BinaryExpression 2491103 2491148 + PropertyAccessExpression 2491103 2491124 + Identifier 2491103 2491117 + Identifier 2491118 2491124 + BarToken 2491124 2491126 + PropertyAccessExpression 2491126 2491148 + Identifier 2491126 2491140 + Identifier 2491141 2491148 + BarToken 2491148 2491150 + PropertyAccessExpression 2491150 2491172 + Identifier 2491150 2491164 + Identifier 2491165 2491172 + BarToken 2491172 2491174 + PropertyAccessExpression 2491174 2491198 + Identifier 2491174 2491188 + Identifier 2491189 2491198 + BarToken 2491198 2491200 + PropertyAccessExpression 2491200 2491223 + Identifier 2491200 2491214 + Identifier 2491215 2491223 + VariableStatement 2491224 2491288 + VariableDeclarationList 2491224 2491287 + VariableDeclaration 2491237 2491287 + Identifier 2491237 2491251 + TypeReference 2491252 2491266 + Identifier 2491252 2491266 + PropertyAccessExpression 2491268 2491287 + Identifier 2491268 2491282 + Identifier 2491283 2491287 + VariableStatement 2491288 2491330 + VariableDeclarationList 2491288 2491329 + VariableDeclaration 2491301 2491329 + Identifier 2491301 2491314 + Identifier 2491316 2491329 + VariableStatement 2491330 2491374 + VariableDeclarationList 2491330 2491373 + VariableDeclaration 2491343 2491373 + Identifier 2491343 2491365 + FalseKeyword 2491367 2491373 + VariableStatement 2491374 2491416 + VariableDeclarationList 2491374 2491415 + VariableDeclaration 2491387 2491415 + Identifier 2491387 2491408 + TrueKeyword 2491410 2491415 + VariableStatement 2491416 2491451 + VariableDeclarationList 2491416 2491450 + VariableDeclaration 2491429 2491450 + Identifier 2491429 2491442 + FalseKeyword 2491444 2491450 + VariableStatement 2491451 2491518 + VariableDeclarationList 2491451 2491517 + VariableDeclaration 2491464 2491517 + Identifier 2491464 2491480 + UnionType 2491481 2491517 + TypeReference 2491481 2491505 + Identifier 2491481 2491505 + UndefinedKeyword 2491507 2491517 + VariableStatement 2491518 2491599 + VariableDeclarationList 2491518 2491598 + VariableDeclaration 2491531 2491598 + Identifier 2491531 2491561 + UnionType 2491562 2491598 + TypeReference 2491562 2491586 + Identifier 2491562 2491586 + UndefinedKeyword 2491588 2491598 + VariableStatement 2491599 2491667 + VariableDeclarationList 2491599 2491666 + VariableDeclaration 2491612 2491666 + Identifier 2491612 2491632 + UnionType 2491633 2491666 + TypeReference 2491633 2491654 + Identifier 2491633 2491654 + UndefinedKeyword 2491656 2491666 + VariableStatement 2491667 2491720 + VariableDeclarationList 2491667 2491719 + VariableDeclaration 2491684 2491719 + Identifier 2491684 2491697 + PropertyAccessExpression 2491699 2491719 + Identifier 2491699 2491706 + Identifier 2491707 2491719 + VariableStatement 2491720 2491799 + VariableDeclarationList 2491720 2491798 + VariableDeclaration 2491735 2491798 + Identifier 2491735 2491749 + BinaryExpression 2491751 2491798 + ParenthesizedExpression 2491751 2491792 + BinaryExpression 2491753 2491791 + PropertyAccessExpression 2491753 2491765 + Identifier 2491753 2491759 + Identifier 2491760 2491765 + AmpersandToken 2491765 2491767 + PropertyAccessExpression 2491767 2491791 + Identifier 2491767 2491779 + Identifier 2491780 2491791 + ExclamationEqualsEqualsToken 2491792 2491796 + NumericLiteral 2491796 2491798 + FunctionDeclaration 2491799 2495854 + Identifier 2491819 2491853 + Parameter 2491854 2491880 + Identifier 2491854 2491858 + TypeReference 2491859 2491880 + Identifier 2491859 2491880 + VoidKeyword 2491882 2491887 + Block 2491887 2495854 + IfStatement 2491889 2491987 + BinaryExpression 2491907 2491944 + PropertyAccessExpression 2491907 2491916 + Identifier 2491907 2491911 + Identifier 2491912 2491916 + AmpersandAmpersandToken 2491916 2491919 + CallExpression 2491919 2491944 + Identifier 2491919 2491933 + PropertyAccessExpression 2491934 2491943 + Identifier 2491934 2491938 + Identifier 2491939 2491943 + Block 2491945 2491987 + ReturnStatement 2491947 2491972 + VariableStatement 2491987 2492020 + VariableDeclarationList 2491987 2492019 + VariableDeclaration 2492006 2492019 + Identifier 2492006 2492011 + FalseKeyword 2492013 2492019 + VariableStatement 2492020 2492268 + VariableDeclarationList 2492020 2492267 + VariableDeclaration 2492039 2492267 + Identifier 2492039 2492054 + CallExpression 2492056 2492267 + Identifier 2492056 2492069 + PropertyAccessExpression 2492070 2492081 + Identifier 2492070 2492074 + Identifier 2492075 2492081 + ArrowFunction 2492082 2492266 + Parameter 2492082 2492084 + Identifier 2492082 2492084 + EqualsGreaterThanToken 2492084 2492087 + Block 2492087 2492266 + IfStatement 2492089 2492251 + Identifier 2492111 2492115 + Block 2492116 2492168 + ReturnStatement 2492118 2492149 + Identifier 2492146 2492148 + Block 2492190 2492251 + ExpressionStatement 2492192 2492232 + BinaryExpression 2492192 2492231 + Identifier 2492192 2492218 + EqualsToken 2492218 2492220 + BinaryExpression 2492220 2492231 + Identifier 2492220 2492222 + EqualsEqualsEqualsToken 2492222 2492226 + Identifier 2492226 2492231 + IfStatement 2492268 2495069 + BinaryExpression 2492531 2492580 + Identifier 2492531 2492545 + AmpersandAmpersandToken 2492545 2492548 + BinaryExpression 2492548 2492580 + PropertyAccessExpression 2492548 2492567 + Identifier 2492548 2492563 + Identifier 2492564 2492567 + EqualsEqualsEqualsToken 2492567 2492571 + PropertyAccessExpression 2492571 2492580 + Identifier 2492571 2492576 + Identifier 2492577 2492580 + Block 2492581 2495069 + IfStatement 2492583 2495054 + BinaryExpression 2492605 2492638 + PropertyAccessExpression 2492605 2492624 + Identifier 2492605 2492619 + Identifier 2492620 2492624 + EqualsEqualsEqualsToken 2492624 2492628 + PropertyAccessExpression 2492628 2492638 + Identifier 2492628 2492633 + Identifier 2492634 2492638 + Block 2492639 2495054 + VariableStatement 2492641 2492754 + VariableDeclarationList 2492641 2492753 + VariableDeclaration 2492668 2492753 + Identifier 2492668 2492678 + TypeReference 2492679 2492684 + Identifier 2492679 2492684 + BinaryExpression 2492686 2492753 + PropertyAccessExpression 2492686 2492735 + ParenthesizedExpression 2492686 2492730 + AsExpression 2492688 2492729 + Identifier 2492688 2492702 + TypeReference 2492705 2492729 + Identifier 2492705 2492729 + Identifier 2492731 2492735 + BarBarToken 2492735 2492738 + Identifier 2492738 2492753 + VariableStatement 2492754 2492848 + VariableDeclarationList 2492754 2492847 + VariableDeclaration 2492781 2492847 + Identifier 2492781 2492796 + PropertyAccessExpression 2492798 2492847 + ParenthesizedExpression 2492798 2492842 + AsExpression 2492800 2492841 + Identifier 2492800 2492814 + TypeReference 2492817 2492841 + Identifier 2492817 2492841 + Identifier 2492843 2492847 + IfStatement 2492848 2494756 + BinaryExpression 2492874 2493778 + BinaryExpression 2492874 2492927 + PropertyAccessExpression 2492874 2492909 + Identifier 2492874 2492904 + Identifier 2492905 2492909 + AmpersandAmpersandToken 2492909 2492912 + Identifier 2492912 2492927 + AmpersandAmpersandToken 2492927 2492930 + ParenthesizedExpression 2492930 2493778 + BinaryExpression 2492932 2493751 + BinaryExpression 2492932 2493423 + BinaryExpression 2492932 2493148 + BinaryExpression 2492932 2493092 + CallExpression 2492932 2493053 + Identifier 2492932 2493042 + PropertyAccessExpression 2493043 2493052 + Identifier 2493043 2493047 + Identifier 2493048 2493052 + AmpersandAmpersandToken 2493053 2493056 + CallExpression 2493056 2493092 + Identifier 2493056 2493076 + Identifier 2493077 2493091 + AmpersandAmpersandToken 2493092 2493095 + BinaryExpression 2493095 2493148 + PropertyAccessExpression 2493095 2493117 + PropertyAccessExpression 2493095 2493105 + Identifier 2493095 2493100 + Identifier 2493101 2493105 + Identifier 2493106 2493117 + EqualsEqualsEqualsToken 2493117 2493121 + PropertyAccessExpression 2493121 2493148 + Identifier 2493121 2493136 + Identifier 2493137 2493148 + BarBarToken 2493148 2493151 + BinaryExpression 2493151 2493423 + BinaryExpression 2493151 2493321 + CallExpression 2493151 2493279 + Identifier 2493151 2493268 + PropertyAccessExpression 2493269 2493278 + Identifier 2493269 2493273 + Identifier 2493274 2493278 + AmpersandAmpersandToken 2493279 2493282 + CallExpression 2493282 2493321 + Identifier 2493282 2493305 + Identifier 2493306 2493320 + AmpersandAmpersandToken 2493321 2493324 + CallExpression 2493324 2493423 + Identifier 2493324 2493342 + CallExpression 2493343 2493379 + Identifier 2493343 2493368 + PropertyAccessExpression 2493369 2493378 + Identifier 2493369 2493373 + Identifier 2493374 2493378 + CallExpression 2493380 2493422 + Identifier 2493380 2493406 + Identifier 2493407 2493421 + BarBarToken 2493423 2493426 + BinaryExpression 2493426 2493751 + BinaryExpression 2493426 2493612 + CallExpression 2493426 2493571 + Identifier 2493426 2493560 + PropertyAccessExpression 2493561 2493570 + Identifier 2493561 2493565 + Identifier 2493566 2493570 + AmpersandAmpersandToken 2493571 2493574 + CallExpression 2493574 2493612 + Identifier 2493574 2493596 + Identifier 2493597 2493611 + AmpersandAmpersandToken 2493612 2493615 + BinaryExpression 2493615 2493751 + CallExpression 2493615 2493695 + Identifier 2493615 2493684 + PropertyAccessExpression 2493685 2493694 + Identifier 2493685 2493689 + Identifier 2493690 2493694 + EqualsEqualsEqualsToken 2493695 2493699 + CallExpression 2493699 2493751 + Identifier 2493699 2493735 + Identifier 2493736 2493750 + Block 2493801 2494756 + VariableStatement 2493803 2494014 + VariableDeclarationList 2493803 2494013 + VariableDeclaration 2493834 2494013 + Identifier 2493834 2493846 + BinaryExpression 2493848 2494013 + ParenthesizedExpression 2493848 2493937 + BinaryExpression 2493850 2493936 + BinaryExpression 2493850 2493892 + PropertyAccessExpression 2493850 2493859 + Identifier 2493850 2493854 + Identifier 2493855 2493859 + EqualsEqualsEqualsToken 2493859 2493863 + PropertyAccessExpression 2493863 2493892 + Identifier 2493863 2493874 + Identifier 2493875 2493892 + BarBarToken 2493892 2493895 + BinaryExpression 2493895 2493936 + PropertyAccessExpression 2493895 2493905 + Identifier 2493895 2493900 + Identifier 2493901 2493905 + EqualsEqualsEqualsToken 2493905 2493909 + PropertyAccessExpression 2493909 2493936 + Identifier 2493909 2493920 + Identifier 2493921 2493936 + AmpersandAmpersandToken 2493937 2493940 + BinaryExpression 2493940 2494013 + CallExpression 2493940 2493984 + Identifier 2493940 2493978 + Identifier 2493979 2493983 + ExclamationEqualsEqualsToken 2493984 2493988 + CallExpression 2493988 2494013 + Identifier 2493988 2493997 + Identifier 2493998 2494012 + IfStatement 2494014 2494700 + Identifier 2494438 2494449 + Block 2494450 2494700 + VariableStatement 2494452 2494614 + VariableDeclarationList 2494452 2494613 + VariableDeclaration 2494487 2494613 + Identifier 2494487 2494498 + ConditionalExpression 2494500 2494613 + CallExpression 2494500 2494515 + Identifier 2494500 2494509 + Identifier 2494510 2494514 + QuestionToken 2494515 2494517 + PropertyAccessExpression 2494517 2494562 + Identifier 2494517 2494529 + Identifier 2494530 2494562 + ColonToken 2494562 2494564 + PropertyAccessExpression 2494564 2494613 + Identifier 2494564 2494576 + Identifier 2494577 2494613 + ExpressionStatement 2494614 2494673 + CallExpression 2494614 2494672 + Identifier 2494614 2494649 + Identifier 2494650 2494659 + Identifier 2494660 2494671 + ReturnStatement 2494700 2494733 + IfStatement 2494756 2495035 + CallExpression 2494782 2494845 + Identifier 2494782 2494795 + PropertyAccessExpression 2494796 2494844 + ParenthesizedExpression 2494796 2494839 + AsExpression 2494797 2494838 + Identifier 2494797 2494811 + TypeReference 2494814 2494838 + Identifier 2494814 2494838 + Identifier 2494840 2494844 + Block 2494846 2495035 + ExpressionStatement 2494848 2494979 + CallExpression 2494848 2494978 + Identifier 2494848 2494879 + Identifier 2494880 2494889 + PropertyAccessExpression 2494890 2494941 + Identifier 2494890 2494902 + Identifier 2494903 2494941 + CallExpression 2494942 2494977 + Identifier 2494942 2494966 + PropertyAccessExpression 2494967 2494976 + Identifier 2494967 2494971 + Identifier 2494972 2494976 + ReturnStatement 2494979 2495012 + VariableStatement 2495069 2495125 + VariableDeclarationList 2495069 2495124 + VariableDeclaration 2495088 2495124 + Identifier 2495088 2495098 + TypeReference 2495099 2495104 + Identifier 2495099 2495104 + BinaryExpression 2495106 2495124 + PropertyAccessExpression 2495106 2495116 + Identifier 2495106 2495111 + Identifier 2495112 2495116 + BarBarToken 2495116 2495119 + Identifier 2495119 2495124 + IfStatement 2495125 2495843 + Identifier 2495143 2495156 + Block 2495157 2495260 + ExpressionStatement 2495159 2495245 + CallExpression 2495159 2495244 + Identifier 2495159 2495182 + Identifier 2495183 2495192 + PropertyAccessExpression 2495193 2495243 + Identifier 2495193 2495205 + Identifier 2495206 2495243 + Block 2495278 2495843 + IfStatement 2495280 2495828 + CallExpression 2495470 2495520 + Identifier 2495470 2495490 + Identifier 2495491 2495495 + PropertyAccessExpression 2495496 2495519 + Identifier 2495496 2495510 + Identifier 2495511 2495519 + Block 2495521 2495653 + ExpressionStatement 2495523 2495634 + CallExpression 2495523 2495633 + Identifier 2495523 2495550 + Identifier 2495551 2495560 + PropertyAccessExpression 2495561 2495632 + Identifier 2495561 2495573 + Identifier 2495574 2495632 + Block 2495675 2495828 + ExpressionStatement 2495677 2495809 + CallExpression 2495677 2495808 + Identifier 2495677 2495704 + Identifier 2495705 2495714 + PropertyAccessExpression 2495715 2495807 + Identifier 2495715 2495727 + Identifier 2495728 2495807 + VariableStatement 2495854 2495907 + VariableDeclarationList 2495854 2495906 + VariableDeclaration 2495869 2495906 + Identifier 2495869 2495898 + FalseKeyword 2495900 2495906 + VariableStatement 2495907 2495963 + VariableDeclarationList 2495907 2495962 + VariableDeclaration 2495920 2495962 + Identifier 2495920 2495954 + FalseKeyword 2495956 2495962 + VariableStatement 2495963 2496004 + VariableDeclarationList 2495963 2496003 + VariableDeclaration 2495976 2496003 + Identifier 2495976 2495995 + FalseKeyword 2495997 2496003 + VariableStatement 2496004 2496063 + VariableDeclarationList 2496004 2496062 + VariableDeclaration 2496019 2496062 + Identifier 2496019 2496040 + AsExpression 2496042 2496062 + ArrayLiteralExpression 2496042 2496045 + ArrayType 2496048 2496062 + TypeReference 2496048 2496060 + Identifier 2496048 2496060 + IfStatement 2496063 2499438 + Identifier 2496077 2496089 + Block 2496090 2499438 + ForOfStatement 2496092 2499427 + VariableDeclarationList 2496111 2496124 + VariableDeclaration 2496116 2496124 + Identifier 2496116 2496124 + Identifier 2496127 2496140 + Block 2496141 2499427 + VariableStatement 2496143 2496243 + VariableDeclarationList 2496143 2496242 + VariableDeclaration 2496166 2496242 + Identifier 2496166 2496171 + AsExpression 2496173 2496242 + Identifier 2496173 2496181 + UnionType 2496184 2496242 + TypeReference 2496184 2496205 + Identifier 2496184 2496205 + TypeReference 2496207 2496224 + Identifier 2496207 2496224 + TypeReference 2496226 2496242 + Identifier 2496226 2496242 + VariableStatement 2496243 2496317 + VariableDeclarationList 2496243 2496316 + VariableDeclaration 2496266 2496316 + Identifier 2496266 2496283 + BinaryExpression 2496285 2496316 + PropertyAccessExpression 2496285 2496296 + Identifier 2496285 2496290 + Identifier 2496291 2496296 + AmpersandToken 2496296 2496298 + PropertyAccessExpression 2496298 2496316 + Identifier 2496298 2496308 + Identifier 2496309 2496316 + VariableStatement 2496317 2496508 + VariableDeclarationList 2496317 2496507 + VariableDeclaration 2496340 2496507 + Identifier 2496340 2496368 + BinaryExpression 2496370 2496507 + BinaryExpression 2496370 2496487 + PropertyAccessExpression 2496370 2496382 + Identifier 2496370 2496375 + Identifier 2496376 2496382 + AmpersandAmpersandToken 2496382 2496385 + ParenthesizedExpression 2496385 2496487 + BinaryExpression 2496387 2496486 + BinaryExpression 2496387 2496439 + PropertyAccessExpression 2496387 2496403 + PropertyAccessExpression 2496387 2496398 + Identifier 2496387 2496391 + Identifier 2496392 2496398 + Identifier 2496399 2496403 + EqualsEqualsEqualsToken 2496403 2496407 + PropertyAccessExpression 2496407 2496439 + Identifier 2496407 2496418 + Identifier 2496419 2496439 + BarBarToken 2496439 2496442 + BinaryExpression 2496442 2496486 + PropertyAccessExpression 2496442 2496459 + PropertyAccessExpression 2496442 2496454 + Identifier 2496442 2496447 + Identifier 2496448 2496454 + Identifier 2496455 2496459 + EqualsEqualsEqualsToken 2496459 2496463 + PropertyAccessExpression 2496463 2496486 + Identifier 2496463 2496474 + Identifier 2496475 2496486 + BarBarToken 2496487 2496490 + Identifier 2496490 2496507 + IfStatement 2496508 2497140 + Identifier 2496530 2496557 + Block 2496558 2497140 + ExpressionStatement 2496560 2497121 + BinaryExpression 2496560 2497120 + Identifier 2496560 2497108 + EqualsToken 2497108 2497110 + Identifier 2497110 2497120 + IfStatement 2497140 2497342 + BinaryExpression 2497164 2497272 + ParenthesizedExpression 2497164 2497251 + BinaryExpression 2497165 2497250 + BinaryExpression 2497165 2497206 + PropertyAccessExpression 2497165 2497174 + Identifier 2497165 2497169 + Identifier 2497170 2497174 + EqualsEqualsEqualsToken 2497174 2497178 + PropertyAccessExpression 2497178 2497206 + Identifier 2497178 2497189 + Identifier 2497190 2497206 + BarBarToken 2497206 2497209 + BinaryExpression 2497209 2497250 + PropertyAccessExpression 2497209 2497219 + Identifier 2497209 2497214 + Identifier 2497215 2497219 + EqualsEqualsEqualsToken 2497219 2497223 + PropertyAccessExpression 2497223 2497250 + Identifier 2497223 2497234 + Identifier 2497235 2497250 + AmpersandAmpersandToken 2497251 2497254 + PrefixUnaryExpression 2497254 2497272 + Identifier 2497256 2497272 + Block 2497273 2497342 + ExpressionStatement 2497275 2497323 + BinaryExpression 2497275 2497322 + Identifier 2497275 2497315 + EqualsToken 2497315 2497317 + TrueKeyword 2497317 2497322 + IfStatement 2497342 2499226 + BinaryExpression 2497366 2497540 + BinaryExpression 2497366 2497500 + BinaryExpression 2497366 2497456 + BinaryExpression 2497366 2497410 + PropertyAccessExpression 2497366 2497375 + Identifier 2497366 2497370 + Identifier 2497371 2497375 + EqualsEqualsEqualsToken 2497375 2497379 + PropertyAccessExpression 2497379 2497410 + Identifier 2497379 2497390 + Identifier 2497391 2497410 + BarBarToken 2497410 2497413 + BinaryExpression 2497413 2497456 + PropertyAccessExpression 2497413 2497423 + Identifier 2497413 2497418 + Identifier 2497419 2497423 + EqualsEqualsEqualsToken 2497423 2497427 + PropertyAccessExpression 2497427 2497456 + Identifier 2497427 2497438 + Identifier 2497439 2497456 + BarBarToken 2497456 2497459 + BinaryExpression 2497459 2497500 + PropertyAccessExpression 2497459 2497469 + Identifier 2497459 2497464 + Identifier 2497465 2497469 + EqualsEqualsEqualsToken 2497469 2497473 + PropertyAccessExpression 2497473 2497500 + Identifier 2497473 2497484 + Identifier 2497485 2497500 + BarBarToken 2497500 2497503 + BinaryExpression 2497503 2497540 + PropertyAccessExpression 2497503 2497513 + Identifier 2497503 2497508 + Identifier 2497509 2497513 + EqualsEqualsEqualsToken 2497513 2497517 + PropertyAccessExpression 2497517 2497540 + Identifier 2497517 2497528 + Identifier 2497529 2497540 + Block 2497541 2499226 + ExpressionStatement 2497543 2497597 + CallExpression 2497543 2497596 + PropertyAccessExpression 2497543 2497590 + Identifier 2497543 2497585 + Identifier 2497586 2497590 + Identifier 2497591 2497595 + VariableStatement 2497597 2497693 + VariableDeclarationList 2497597 2497692 + VariableDeclaration 2497624 2497692 + Identifier 2497624 2497641 + CallExpression 2497643 2497692 + Identifier 2497643 2497672 + Identifier 2497673 2497677 + Identifier 2497678 2497691 + ExpressionStatement 2497693 2497749 + BinaryExpression 2497693 2497748 + Identifier 2497693 2497728 + BarEqualsToken 2497728 2497731 + Identifier 2497731 2497748 + ExpressionStatement 2497749 2497804 + BinaryExpression 2497749 2497803 + Identifier 2497749 2497783 + AmpersandEqualsToken 2497783 2497786 + Identifier 2497786 2497803 + ExpressionStatement 2497804 2497898 + BinaryExpression 2497804 2497897 + Identifier 2497804 2497847 + EqualsToken 2497847 2497849 + BinaryExpression 2497849 2497897 + Identifier 2497849 2497871 + BarBarToken 2497871 2497874 + CallExpression 2497874 2497897 + Identifier 2497874 2497891 + Identifier 2497892 2497896 + ExpressionStatement 2497898 2497990 + BinaryExpression 2497898 2497989 + Identifier 2497898 2497940 + EqualsToken 2497940 2497942 + BinaryExpression 2497942 2497989 + Identifier 2497942 2497963 + AmpersandAmpersandToken 2497963 2497966 + CallExpression 2497966 2497989 + Identifier 2497966 2497983 + Identifier 2497984 2497988 + VariableStatement 2497990 2498088 + VariableDeclarationList 2497990 2498087 + VariableDeclaration 2498017 2498087 + Identifier 2498017 2498031 + CallExpression 2498033 2498087 + Identifier 2498033 2498047 + PropertyAccessExpression 2498048 2498086 + ParenthesizedExpression 2498048 2498081 + AsExpression 2498049 2498080 + Identifier 2498049 2498053 + TypeReference 2498056 2498080 + Identifier 2498056 2498080 + Identifier 2498082 2498086 + IfStatement 2498088 2498664 + BinaryExpression 2498116 2498148 + Identifier 2498116 2498129 + AmpersandAmpersandToken 2498129 2498132 + Identifier 2498132 2498148 + Block 2498149 2498443 + IfStatement 2498151 2498420 + Identifier 2498181 2498194 + Block 2498195 2498295 + ExpressionStatement 2498197 2498268 + BinaryExpression 2498197 2498267 + Identifier 2498197 2498260 + EqualsToken 2498260 2498262 + TrueKeyword 2498262 2498267 + Block 2498325 2498420 + ExpressionStatement 2498327 2498393 + BinaryExpression 2498327 2498392 + Identifier 2498327 2498385 + EqualsToken 2498385 2498387 + TrueKeyword 2498387 2498392 + IfStatement 2498469 2498664 + BinaryExpression 2498474 2498557 + BinaryExpression 2498474 2498517 + PropertyAccessExpression 2498474 2498501 + Identifier 2498474 2498493 + QuestionDotToken 2498493 2498495 + Identifier 2498495 2498501 + EqualsEqualsEqualsToken 2498501 2498505 + PropertyAccessExpression 2498505 2498517 + Identifier 2498505 2498510 + Identifier 2498511 2498517 + AmpersandAmpersandToken 2498517 2498520 + BinaryExpression 2498520 2498557 + PropertyAccessExpression 2498520 2498544 + Identifier 2498520 2498540 + Identifier 2498541 2498544 + ExclamationEqualsEqualsToken 2498544 2498548 + PropertyAccessExpression 2498548 2498557 + Identifier 2498548 2498553 + Identifier 2498554 2498557 + Block 2498558 2498664 + ExpressionStatement 2498560 2498641 + CallExpression 2498560 2498640 + Identifier 2498560 2498619 + Identifier 2498620 2498639 + IfStatement 2498664 2498984 + Identifier 2498692 2498705 + Block 2498706 2498887 + IfStatement 2498708 2498864 + PrefixUnaryExpression 2498738 2498754 + Identifier 2498739 2498754 + Block 2498755 2498864 + ExpressionStatement 2498757 2498837 + BinaryExpression 2498757 2498836 + Identifier 2498757 2498802 + EqualsToken 2498802 2498804 + AsExpression 2498804 2498836 + Identifier 2498804 2498809 + TypeReference 2498812 2498836 + Identifier 2498812 2498836 + Block 2498913 2498984 + ExpressionStatement 2498915 2498961 + BinaryExpression 2498915 2498960 + Identifier 2498915 2498953 + EqualsToken 2498953 2498955 + TrueKeyword 2498955 2498960 + ExpressionStatement 2498984 2499035 + BinaryExpression 2498984 2499034 + Identifier 2498984 2499027 + EqualsToken 2499027 2499029 + Identifier 2499029 2499034 + IfStatement 2499035 2499207 + PrefixUnaryExpression 2499063 2499091 + Identifier 2499064 2499091 + Block 2499092 2499207 + ExpressionStatement 2499094 2499184 + BinaryExpression 2499094 2499183 + Identifier 2499094 2499149 + EqualsToken 2499149 2499151 + AsExpression 2499151 2499183 + Identifier 2499151 2499156 + TypeReference 2499159 2499183 + Identifier 2499159 2499183 + IfStatement 2499226 2499412 + BinaryExpression 2499248 2499311 + BinaryExpression 2499248 2499294 + CallExpression 2499248 2499267 + Identifier 2499248 2499258 + Identifier 2499259 2499266 + AmpersandAmpersandToken 2499267 2499270 + CallExpression 2499270 2499294 + Identifier 2499270 2499285 + Identifier 2499286 2499293 + AmpersandAmpersandToken 2499294 2499297 + PropertyAccessExpression 2499297 2499311 + Identifier 2499297 2499305 + Identifier 2499306 2499311 + Block 2499312 2499412 + ExpressionStatement 2499314 2499393 + BinaryExpression 2499314 2499392 + Identifier 2499314 2499348 + EqualsToken 2499348 2499350 + BinaryExpression 2499350 2499392 + CallExpression 2499350 2499388 + Identifier 2499350 2499357 + CallExpression 2499358 2499387 + Identifier 2499358 2499378 + Identifier 2499379 2499386 + GreaterThanToken 2499388 2499390 + NumericLiteral 2499390 2499392 + IfStatement 2499438 2499681 + Identifier 2499454 2499487 + Block 2499488 2499681 + ExpressionStatement 2499490 2499670 + CallExpression 2499490 2499669 + Identifier 2499490 2499511 + Identifier 2499512 2499532 + ArrowFunction 2499533 2499668 + Parameter 2499533 2499545 + Identifier 2499533 2499545 + EqualsGreaterThanToken 2499545 2499548 + Block 2499548 2499668 + ExpressionStatement 2499550 2499653 + CallExpression 2499550 2499652 + Identifier 2499550 2499573 + Identifier 2499574 2499585 + PropertyAccessExpression 2499586 2499651 + Identifier 2499586 2499598 + Identifier 2499599 2499651 + IfStatement 2499681 2499937 + Identifier 2499697 2499725 + Block 2499726 2499937 + ExpressionStatement 2499728 2499926 + CallExpression 2499728 2499925 + Identifier 2499728 2499749 + Identifier 2499750 2499770 + ArrowFunction 2499771 2499924 + Parameter 2499771 2499783 + Identifier 2499771 2499783 + EqualsGreaterThanToken 2499783 2499786 + Block 2499786 2499924 + ExpressionStatement 2499788 2499909 + CallExpression 2499788 2499908 + Identifier 2499788 2499811 + BinaryExpression 2499812 2499860 + CallExpression 2499812 2499845 + Identifier 2499812 2499832 + Identifier 2499833 2499844 + BarBarToken 2499845 2499848 + Identifier 2499848 2499860 + PropertyAccessExpression 2499861 2499907 + Identifier 2499861 2499873 + Identifier 2499874 2499907 + IfStatement 2499937 2501015 + BinaryExpression 2499953 2500044 + BinaryExpression 2499953 2500028 + BinaryExpression 2499953 2499989 + Identifier 2499953 2499971 + AmpersandAmpersandToken 2499971 2499974 + PrefixUnaryExpression 2499974 2499989 + Identifier 2499976 2499989 + AmpersandAmpersandToken 2499989 2499992 + BinaryExpression 2499992 2500028 + PropertyAccessExpression 2499992 2500005 + Identifier 2499992 2499999 + Identifier 2500000 2500005 + AmpersandToken 2500005 2500007 + PropertyAccessExpression 2500007 2500028 + Identifier 2500007 2500019 + Identifier 2500020 2500028 + AmpersandAmpersandToken 2500028 2500031 + Identifier 2500031 2500044 + Block 2500045 2501015 + VariableStatement 2500047 2500271 + VariableDeclarationList 2500047 2500270 + VariableDeclaration 2500066 2500270 + Identifier 2500066 2500085 + CallExpression 2500087 2500270 + PropertyAccessExpression 2500087 2500175 + CallExpression 2500087 2500153 + Identifier 2500087 2500094 + Identifier 2500095 2500107 + ArrowFunction 2500108 2500152 + Parameter 2500108 2500110 + Identifier 2500108 2500110 + EqualsGreaterThanToken 2500110 2500113 + BinaryExpression 2500113 2500152 + PropertyAccessExpression 2500113 2500120 + Identifier 2500113 2500115 + Identifier 2500116 2500120 + EqualsEqualsEqualsToken 2500120 2500124 + PropertyAccessExpression 2500124 2500152 + Identifier 2500124 2500135 + Identifier 2500136 2500152 + Identifier 2500172 2500175 + ArrowFunction 2500176 2500269 + Parameter 2500176 2500177 + Identifier 2500176 2500177 + EqualsGreaterThanToken 2500177 2500180 + CallExpression 2500180 2500269 + Identifier 2500180 2500204 + Identifier 2500205 2500206 + PropertyAccessExpression 2500207 2500268 + Identifier 2500207 2500219 + Identifier 2500220 2500268 + ExpressionStatement 2500271 2501004 + CallExpression 2500271 2501003 + Identifier 2500271 2500294 + Identifier 2500295 2500307 + ArrowFunction 2500308 2501002 + Parameter 2500308 2500320 + Identifier 2500308 2500320 + EqualsGreaterThanToken 2500320 2500323 + Block 2500323 2501002 + VariableStatement 2500325 2500710 + VariableDeclarationList 2500325 2500709 + VariableDeclaration 2500348 2500709 + Identifier 2500348 2500359 + ConditionalExpression 2500361 2500709 + BinaryExpression 2500361 2500410 + PropertyAccessExpression 2500361 2500378 + Identifier 2500361 2500373 + Identifier 2500374 2500378 + EqualsEqualsEqualsToken 2500378 2500382 + PropertyAccessExpression 2500382 2500410 + Identifier 2500382 2500393 + Identifier 2500394 2500410 + QuestionToken 2500410 2500433 + PropertyAccessExpression 2500433 2500500 + Identifier 2500433 2500445 + Identifier 2500446 2500500 + ColonToken 2500500 2500523 + ConditionalExpression 2500523 2500709 + BinaryExpression 2500523 2500575 + PropertyAccessExpression 2500523 2500540 + Identifier 2500523 2500535 + Identifier 2500536 2500540 + EqualsEqualsEqualsToken 2500540 2500544 + PropertyAccessExpression 2500544 2500575 + Identifier 2500544 2500555 + Identifier 2500556 2500575 + QuestionToken 2500575 2500598 + PropertyAccessExpression 2500598 2500676 + Identifier 2500598 2500610 + Identifier 2500611 2500676 + ColonToken 2500676 2500699 + Identifier 2500699 2500709 + IfStatement 2500710 2500987 + Identifier 2500732 2500742 + Block 2500743 2500987 + ExpressionStatement 2500745 2500968 + CallExpression 2500745 2500967 + Identifier 2500745 2500781 + CallExpression 2500782 2500895 + Identifier 2500782 2500813 + BinaryExpression 2500814 2500862 + CallExpression 2500814 2500847 + Identifier 2500814 2500834 + Identifier 2500835 2500846 + BarBarToken 2500847 2500850 + Identifier 2500850 2500862 + Identifier 2500863 2500874 + CallExpression 2500875 2500894 + Identifier 2500875 2500886 + Identifier 2500887 2500893 + SpreadElement 2500896 2500943 + Identifier 2500925 2500943 + IfStatement 2501015 2501454 + BinaryExpression 2501128 2501351 + BinaryExpression 2501128 2501303 + BinaryExpression 2501128 2501210 + Identifier 2501128 2501171 + AmpersandAmpersandToken 2501171 2501174 + PrefixUnaryExpression 2501174 2501210 + PropertyAccessExpression 2501176 2501210 + Identifier 2501176 2501205 + Identifier 2501206 2501210 + AmpersandAmpersandToken 2501210 2501213 + PrefixUnaryExpression 2501213 2501303 + CallExpression 2501228 2501303 + Identifier 2501228 2501248 + Identifier 2501249 2501278 + PropertyAccessExpression 2501279 2501302 + Identifier 2501279 2501293 + Identifier 2501294 2501302 + AmpersandAmpersandToken 2501303 2501306 + PrefixUnaryExpression 2501306 2501351 + PropertyAccessExpression 2501308 2501351 + Identifier 2501308 2501337 + Identifier 2501338 2501351 + Block 2501362 2501454 + ExpressionStatement 2501364 2501443 + CallExpression 2501364 2501442 + Identifier 2501364 2501411 + Identifier 2501412 2501441 + IfStatement 2501454 2502843 + Identifier 2501470 2501482 + Block 2501483 2502843 + IfStatement 2501485 2501798 + Identifier 2501503 2501515 + Block 2501516 2501798 + ExpressionStatement 2501518 2501645 + CallExpression 2501518 2501644 + Identifier 2501518 2501570 + Identifier 2501571 2501583 + Identifier 2501584 2501600 + Identifier 2501601 2501614 + Identifier 2501615 2501629 + Identifier 2501630 2501643 + ExpressionStatement 2501645 2501783 + CallExpression 2501645 2501782 + Identifier 2501645 2501706 + Identifier 2501707 2501719 + Identifier 2501720 2501736 + Identifier 2501737 2501759 + Identifier 2501760 2501781 + IfStatement 2501798 2502832 + Identifier 2501818 2501833 + Block 2501834 2502832 + VariableStatement 2501836 2501903 + VariableDeclarationList 2501836 2501902 + VariableDeclaration 2501859 2501902 + Identifier 2501859 2501870 + CallExpression 2501872 2501902 + Identifier 2501872 2501894 + Identifier 2501895 2501901 + VariableStatement 2501903 2501988 + VariableDeclarationList 2501903 2501987 + VariableDeclaration 2501926 2501987 + Identifier 2501926 2501940 + CallExpression 2501942 2501987 + Identifier 2501942 2501970 + Identifier 2501971 2501986 + ForOfStatement 2501988 2502817 + VariableDeclarationList 2502011 2502026 + VariableDeclaration 2502016 2502026 + Identifier 2502016 2502026 + Identifier 2502029 2502040 + Block 2502041 2502817 + IfStatement 2502043 2502798 + PrefixUnaryExpression 2502069 2502134 + CallExpression 2502070 2502134 + Identifier 2502070 2502108 + Identifier 2502109 2502122 + Identifier 2502123 2502133 + Block 2502135 2502798 + VariableStatement 2502137 2502408 + VariableDeclarationList 2502137 2502407 + VariableDeclaration 2502168 2502407 + Identifier 2502168 2502178 + ConditionalExpression 2502180 2502407 + BinaryExpression 2502180 2502245 + PropertyAccessExpression 2502180 2502202 + Identifier 2502180 2502190 + Identifier 2502191 2502202 + AmpersandAmpersandToken 2502202 2502205 + CallExpression 2502205 2502245 + Identifier 2502205 2502222 + PropertyAccessExpression 2502223 2502244 + Identifier 2502223 2502232 + Identifier 2502233 2502244 + QuestionToken 2502245 2502276 + PropertyAccessExpression 2502276 2502354 + ParenthesizedExpression 2502276 2502346 + AsExpression 2502278 2502345 + PropertyAccessExpression 2502278 2502306 + PropertyAccessExpression 2502278 2502299 + Identifier 2502278 2502287 + Identifier 2502288 2502299 + Identifier 2502300 2502306 + UnionType 2502309 2502345 + TypeReference 2502309 2502326 + Identifier 2502309 2502326 + TypeReference 2502328 2502345 + Identifier 2502328 2502345 + Identifier 2502347 2502354 + ColonToken 2502354 2502385 + PropertyAccessExpression 2502385 2502407 + Identifier 2502385 2502395 + Identifier 2502396 2502407 + ExpressionStatement 2502408 2502743 + CallExpression 2502408 2502742 + Identifier 2502408 2502448 + CallExpression 2502449 2502584 + Identifier 2502449 2502484 + Identifier 2502485 2502494 + PropertyAccessExpression 2502495 2502583 + Identifier 2502495 2502507 + Identifier 2502508 2502583 + CallExpression 2502585 2502714 + Identifier 2502585 2502638 + Identifier 2502639 2502654 + PropertyAccessExpression 2502655 2502713 + Identifier 2502655 2502667 + Identifier 2502668 2502713 + BreakStatement 2502743 2502775 + FunctionDeclaration 2502850 2503013 + Identifier 2502866 2502899 + Parameter 2502900 2502917 + Identifier 2502900 2502904 + TypeReference 2502905 2502917 + Identifier 2502905 2502917 + VoidKeyword 2502919 2502924 + Block 2502924 2503013 + ExpressionStatement 2502926 2503006 + CallExpression 2502926 2503005 + Identifier 2502926 2502953 + ArrowFunction 2502954 2503004 + EqualsGreaterThanToken 2502956 2502959 + CallExpression 2502959 2503004 + Identifier 2502959 2502998 + Identifier 2502999 2503003 + FunctionDeclaration 2503013 2510292 + Identifier 2503029 2503068 + Parameter 2503069 2503086 + Identifier 2503069 2503073 + TypeReference 2503074 2503086 + Identifier 2503074 2503086 + VoidKeyword 2503088 2503093 + Block 2503093 2510292 + VariableStatement 2503095 2503230 + VariableDeclarationList 2503095 2503229 + VariableDeclaration 2503203 2503229 + Identifier 2503203 2503210 + PropertyAccessExpression 2503212 2503229 + Identifier 2503212 2503217 + Identifier 2503218 2503229 + IfStatement 2503230 2503672 + PrefixUnaryExpression 2503244 2503251 + Identifier 2503245 2503251 + Block 2503252 2503672 + ExpressionStatement 2503254 2503468 + BinaryExpression 2503254 2503467 + Identifier 2503254 2503435 + EqualsToken 2503435 2503437 + NonNullExpression 2503437 2503467 + CallExpression 2503437 2503466 + Identifier 2503437 2503460 + Identifier 2503461 2503465 + IfStatement 2503468 2503661 + PrefixUnaryExpression 2503486 2503506 + PropertyAccessExpression 2503487 2503506 + Identifier 2503487 2503493 + Identifier 2503494 2503506 + Block 2503507 2503661 + ReturnStatement 2503509 2503646 + IfStatement 2503672 2503840 + BinaryExpression 2503757 2503805 + CallExpression 2503757 2503796 + Identifier 2503757 2503777 + Identifier 2503778 2503784 + PropertyAccessExpression 2503785 2503795 + Identifier 2503785 2503790 + Identifier 2503791 2503795 + ExclamationEqualsEqualsToken 2503796 2503800 + Identifier 2503800 2503805 + Block 2503806 2503840 + ReturnStatement 2503808 2503829 + VariableStatement 2503840 2503907 + VariableDeclarationList 2503840 2503906 + VariableDeclaration 2503855 2503906 + Identifier 2503855 2503881 + PropertyAccessExpression 2503883 2503906 + Identifier 2503883 2503901 + Identifier 2503902 2503906 + VariableStatement 2503907 2503975 + VariableDeclarationList 2503907 2503974 + VariableDeclaration 2503920 2503974 + Identifier 2503920 2503949 + PropertyAccessExpression 2503951 2503974 + Identifier 2503951 2503969 + Identifier 2503970 2503974 + VariableStatement 2503975 2504047 + VariableDeclarationList 2503975 2504046 + VariableDeclaration 2503988 2504046 + Identifier 2503988 2504021 + PropertyAccessExpression 2504023 2504046 + Identifier 2504023 2504041 + Identifier 2504042 2504046 + ForOfStatement 2504047 2504767 + VariableDeclarationList 2504062 2504069 + VariableDeclaration 2504067 2504069 + Identifier 2504067 2504069 + NonNullExpression 2504072 2504093 + PropertyAccessExpression 2504072 2504092 + Identifier 2504072 2504079 + Identifier 2504080 2504092 + Block 2504094 2504767 + VariableStatement 2504096 2504160 + VariableDeclarationList 2504096 2504159 + VariableDeclaration 2504115 2504159 + Identifier 2504115 2504133 + CallExpression 2504135 2504159 + Identifier 2504135 2504156 + Identifier 2504157 2504158 + VariableStatement 2504160 2504286 + VariableDeclarationList 2504160 2504285 + VariableDeclaration 2504179 2504285 + Identifier 2504179 2504205 + CallExpression 2504207 2504285 + Identifier 2504207 2504236 + Identifier 2504237 2504238 + BinaryExpression 2504239 2504284 + PropertyAccessExpression 2504239 2504260 + Identifier 2504239 2504253 + Identifier 2504254 2504260 + BarToken 2504260 2504262 + PropertyAccessExpression 2504262 2504284 + Identifier 2504262 2504276 + Identifier 2504277 2504284 + IfStatement 2504286 2504756 + BinaryExpression 2504306 2504354 + Identifier 2504306 2504331 + AmpersandToken 2504331 2504333 + PropertyAccessExpression 2504333 2504354 + Identifier 2504333 2504347 + Identifier 2504348 2504354 + Block 2504355 2504653 + IfStatement 2504357 2504638 + BinaryExpression 2504379 2504428 + Identifier 2504379 2504404 + AmpersandToken 2504404 2504406 + PropertyAccessExpression 2504406 2504428 + Identifier 2504406 2504420 + Identifier 2504421 2504428 + Block 2504429 2504526 + ExpressionStatement 2504431 2504507 + BinaryExpression 2504431 2504506 + Identifier 2504431 2504485 + BarEqualsToken 2504485 2504488 + Identifier 2504488 2504506 + Block 2504548 2504638 + ExpressionStatement 2504550 2504619 + BinaryExpression 2504550 2504618 + Identifier 2504550 2504597 + BarEqualsToken 2504597 2504600 + Identifier 2504600 2504618 + Block 2504671 2504756 + ExpressionStatement 2504673 2504741 + BinaryExpression 2504673 2504740 + Identifier 2504673 2504719 + BarEqualsToken 2504719 2504722 + Identifier 2504722 2504740 + VariableStatement 2504767 2504945 + VariableDeclarationList 2504767 2504944 + VariableDeclaration 2504849 2504944 + Identifier 2504849 2504885 + BinaryExpression 2504887 2504944 + Identifier 2504887 2504913 + BarToken 2504913 2504915 + Identifier 2504915 2504944 + VariableStatement 2504945 2505065 + VariableDeclarationList 2504945 2505064 + VariableDeclaration 2504962 2505064 + Identifier 2504962 2505005 + BinaryExpression 2505007 2505064 + Identifier 2505007 2505033 + AmpersandToken 2505033 2505035 + Identifier 2505035 2505064 + VariableStatement 2505065 2505201 + VariableDeclarationList 2505065 2505200 + VariableDeclaration 2505080 2505200 + Identifier 2505080 2505127 + BinaryExpression 2505129 2505200 + Identifier 2505129 2505162 + AmpersandToken 2505162 2505164 + Identifier 2505164 2505200 + IfStatement 2505201 2506288 + BinaryExpression 2505217 2505309 + Identifier 2505217 2505259 + BarBarToken 2505259 2505262 + Identifier 2505262 2505309 + Block 2505310 2506288 + ForOfStatement 2505312 2506277 + VariableDeclarationList 2505419 2505426 + VariableDeclaration 2505424 2505426 + Identifier 2505424 2505426 + NonNullExpression 2505429 2505450 + PropertyAccessExpression 2505429 2505449 + Identifier 2505429 2505436 + Identifier 2505437 2505449 + Block 2505451 2506277 + VariableStatement 2505453 2505521 + VariableDeclarationList 2505453 2505520 + VariableDeclaration 2505476 2505520 + Identifier 2505476 2505494 + CallExpression 2505496 2505520 + Identifier 2505496 2505517 + Identifier 2505518 2505519 + VariableStatement 2505521 2505578 + VariableDeclarationList 2505521 2505577 + VariableDeclaration 2505546 2505577 + Identifier 2505546 2505551 + CallExpression 2505553 2505577 + Identifier 2505553 2505574 + Identifier 2505575 2505576 + IfStatement 2505578 2506262 + BinaryExpression 2505696 2505762 + Identifier 2505696 2505713 + AmpersandToken 2505713 2505715 + Identifier 2505715 2505762 + Block 2505763 2505991 + ExpressionStatement 2505765 2505972 + CallExpression 2505765 2505971 + Identifier 2505765 2505792 + Identifier 2505793 2505797 + PropertyAccessExpression 2505798 2505939 + Identifier 2505798 2505810 + Identifier 2505811 2505939 + CallExpression 2505940 2505970 + Identifier 2505940 2505964 + Identifier 2505965 2505969 + IfStatement 2506013 2506262 + BinaryExpression 2506018 2506080 + Identifier 2506018 2506035 + AmpersandToken 2506035 2506037 + Identifier 2506037 2506080 + Block 2506081 2506262 + ExpressionStatement 2506083 2506243 + CallExpression 2506083 2506242 + Identifier 2506083 2506110 + Identifier 2506111 2506115 + PropertyAccessExpression 2506116 2506210 + Identifier 2506116 2506128 + Identifier 2506129 2506210 + CallExpression 2506211 2506241 + Identifier 2506211 2506235 + Identifier 2506236 2506240 + FunctionDeclaration 2506288 2510285 + Identifier 2506308 2506329 + Parameter 2506330 2506347 + Identifier 2506330 2506334 + TypeReference 2506335 2506347 + Identifier 2506335 2506347 + TypeReference 2506349 2506367 + Identifier 2506349 2506367 + Block 2506367 2510285 + VariableStatement 2506369 2506404 + VariableDeclarationList 2506369 2506403 + VariableDeclaration 2506386 2506403 + Identifier 2506386 2506388 + AsExpression 2506390 2506403 + Identifier 2506390 2506395 + TypeReference 2506398 2506403 + Identifier 2506398 2506403 + SwitchStatement 2506404 2510274 + PropertyAccessExpression 2506426 2506432 + Identifier 2506426 2506427 + Identifier 2506428 2506432 + CaseBlock 2506433 2510274 + CaseClause 2506435 2506490 + PropertyAccessExpression 2506457 2506489 + Identifier 2506457 2506468 + Identifier 2506469 2506489 + CaseClause 2506490 2506545 + PropertyAccessExpression 2506512 2506544 + Identifier 2506512 2506523 + Identifier 2506524 2506544 + CaseClause 2506545 2506714 + PropertyAccessExpression 2506686 2506713 + Identifier 2506686 2506697 + Identifier 2506698 2506713 + CaseClause 2506714 2506765 + PropertyAccessExpression 2506736 2506764 + Identifier 2506736 2506747 + Identifier 2506748 2506764 + CaseClause 2506765 2506870 + PropertyAccessExpression 2506787 2506811 + Identifier 2506787 2506798 + Identifier 2506799 2506811 + ReturnStatement 2506812 2506870 + PropertyAccessExpression 2506840 2506869 + Identifier 2506840 2506858 + Identifier 2506859 2506869 + CaseClause 2506870 2507235 + PropertyAccessExpression 2506892 2506921 + Identifier 2506892 2506903 + Identifier 2506904 2506921 + ReturnStatement 2506922 2507235 + ConditionalExpression 2506950 2507234 + BinaryExpression 2506950 2507080 + CallExpression 2506950 2506990 + Identifier 2506950 2506966 + AsExpression 2506967 2506989 + Identifier 2506967 2506968 + TypeReference 2506971 2506989 + Identifier 2506971 2506989 + BarBarToken 2506990 2506993 + BinaryExpression 2506993 2507080 + CallExpression 2506993 2507040 + Identifier 2506993 2507016 + AsExpression 2507017 2507039 + Identifier 2507017 2507018 + TypeReference 2507021 2507039 + Identifier 2507021 2507039 + ExclamationEqualsEqualsToken 2507040 2507044 + PropertyAccessExpression 2507044 2507080 + Identifier 2507044 2507064 + Identifier 2507065 2507080 + QuestionToken 2507080 2507107 + BinaryExpression 2507107 2507173 + PropertyAccessExpression 2507107 2507141 + Identifier 2507107 2507125 + Identifier 2507126 2507141 + BarToken 2507141 2507143 + PropertyAccessExpression 2507143 2507173 + Identifier 2507143 2507161 + Identifier 2507162 2507173 + ColonToken 2507173 2507200 + PropertyAccessExpression 2507200 2507234 + Identifier 2507200 2507218 + Identifier 2507219 2507234 + CaseClause 2507235 2507286 + PropertyAccessExpression 2507257 2507285 + Identifier 2507257 2507268 + Identifier 2507269 2507285 + CaseClause 2507286 2507336 + PropertyAccessExpression 2507308 2507335 + Identifier 2507308 2507319 + Identifier 2507320 2507335 + CaseClause 2507336 2507471 + PropertyAccessExpression 2507358 2507380 + Identifier 2507358 2507369 + Identifier 2507370 2507380 + ReturnStatement 2507381 2507471 + BinaryExpression 2507409 2507470 + PropertyAccessExpression 2507409 2507438 + Identifier 2507409 2507427 + Identifier 2507428 2507438 + BarToken 2507438 2507440 + PropertyAccessExpression 2507440 2507470 + Identifier 2507440 2507458 + Identifier 2507459 2507470 + CaseClause 2507471 2507642 + PropertyAccessExpression 2507493 2507515 + Identifier 2507493 2507504 + Identifier 2507505 2507515 + ReturnStatement 2507516 2507642 + BinaryExpression 2507544 2507641 + BinaryExpression 2507544 2507605 + PropertyAccessExpression 2507544 2507573 + Identifier 2507544 2507562 + Identifier 2507563 2507573 + BarToken 2507573 2507575 + PropertyAccessExpression 2507575 2507605 + Identifier 2507575 2507593 + Identifier 2507594 2507605 + BarToken 2507605 2507607 + PropertyAccessExpression 2507607 2507641 + Identifier 2507607 2507625 + Identifier 2507626 2507641 + CaseClause 2507642 2507693 + PropertyAccessExpression 2507664 2507692 + Identifier 2507664 2507675 + Identifier 2507676 2507692 + CaseClause 2507693 2508237 + PropertyAccessExpression 2507715 2507743 + Identifier 2507715 2507726 + Identifier 2507727 2507743 + VariableStatement 2507744 2507820 + VariableDeclarationList 2507744 2507819 + VariableDeclaration 2507771 2507819 + Identifier 2507771 2507776 + AsExpression 2507778 2507819 + Identifier 2507778 2507780 + UnionType 2507783 2507819 + TypeReference 2507783 2507800 + Identifier 2507783 2507800 + TypeReference 2507802 2507819 + Identifier 2507802 2507819 + VariableStatement 2507820 2507917 + VariableDeclarationList 2507820 2507916 + VariableDeclaration 2507847 2507916 + Identifier 2507847 2507858 + ConditionalExpression 2507860 2507916 + CallExpression 2507860 2507885 + Identifier 2507860 2507879 + Identifier 2507880 2507884 + QuestionToken 2507885 2507887 + PropertyAccessExpression 2507887 2507903 + Identifier 2507887 2507892 + Identifier 2507893 2507903 + ColonToken 2507903 2507905 + PropertyAccessExpression 2507905 2507916 + Identifier 2507905 2507910 + Identifier 2507911 2507916 + IfStatement 2507917 2508200 + PrefixUnaryExpression 2508076 2508111 + CallExpression 2508077 2508111 + Identifier 2508077 2508099 + Identifier 2508100 2508110 + Block 2508112 2508200 + ReturnStatement 2508114 2508177 + PropertyAccessExpression 2508146 2508176 + Identifier 2508146 2508164 + Identifier 2508165 2508176 + ExpressionStatement 2508200 2508237 + BinaryExpression 2508200 2508236 + Identifier 2508200 2508223 + EqualsToken 2508223 2508225 + Identifier 2508225 2508236 + CaseClause 2508237 2508464 + PropertyAccessExpression 2508428 2508463 + Identifier 2508428 2508439 + Identifier 2508440 2508463 + CaseClause 2508464 2508514 + PropertyAccessExpression 2508486 2508513 + Identifier 2508486 2508497 + Identifier 2508498 2508513 + CaseClause 2508514 2508972 + PropertyAccessExpression 2508536 2508560 + Identifier 2508536 2508547 + Identifier 2508548 2508560 + VariableStatement 2508561 2508619 + VariableDeclarationList 2508561 2508618 + VariableDeclaration 2508586 2508618 + Identifier 2508586 2508593 + PropertyAccessExpression 2508595 2508618 + Identifier 2508595 2508613 + Identifier 2508614 2508618 + VariableStatement 2508619 2508794 + VariableDeclarationList 2508619 2508793 + VariableDeclaration 2508646 2508793 + Identifier 2508646 2508653 + CallExpression 2508655 2508793 + Identifier 2508655 2508668 + CallExpression 2508669 2508792 + Identifier 2508669 2508691 + AsExpression 2508692 2508791 + Identifier 2508692 2508693 + UnionType 2508696 2508791 + TypeReference 2508696 2508720 + Identifier 2508696 2508720 + TypeReference 2508722 2508738 + Identifier 2508722 2508738 + TypeReference 2508740 2508753 + Identifier 2508740 2508753 + TypeReference 2508755 2508772 + Identifier 2508755 2508772 + TypeReference 2508774 2508791 + Identifier 2508774 2508791 + ExpressionStatement 2508794 2508936 + CallExpression 2508794 2508935 + Identifier 2508794 2508823 + PropertyAccessExpression 2508824 2508843 + Identifier 2508824 2508830 + Identifier 2508831 2508843 + ArrowFunction 2508844 2508934 + Parameter 2508844 2508846 + Identifier 2508844 2508846 + EqualsGreaterThanToken 2508846 2508849 + Block 2508849 2508934 + ExpressionStatement 2508851 2508911 + BinaryExpression 2508851 2508910 + Identifier 2508851 2508883 + BarEqualsToken 2508883 2508886 + CallExpression 2508886 2508910 + Identifier 2508886 2508907 + Identifier 2508908 2508909 + ReturnStatement 2508936 2508972 + Identifier 2508964 2508971 + CaseClause 2508972 2509026 + PropertyAccessExpression 2508994 2509025 + Identifier 2508994 2509005 + Identifier 2509006 2509025 + CaseClause 2509026 2509075 + PropertyAccessExpression 2509048 2509074 + Identifier 2509048 2509059 + Identifier 2509060 2509074 + CaseClause 2509075 2509129 + PropertyAccessExpression 2509097 2509128 + Identifier 2509097 2509108 + Identifier 2509109 2509128 + CaseClause 2509129 2509179 + PropertyAccessExpression 2509151 2509178 + Identifier 2509151 2509162 + Identifier 2509163 2509178 + CaseClause 2509179 2510017 + PropertyAccessExpression 2509254 2509276 + Identifier 2509254 2509265 + Identifier 2509266 2509276 + ReturnStatement 2509277 2510017 + PropertyAccessExpression 2509986 2510016 + Identifier 2509986 2510004 + Identifier 2510005 2510016 + CaseClause 2510017 2510067 + PropertyAccessExpression 2510039 2510066 + Identifier 2510039 2510050 + Identifier 2510051 2510066 + CaseClause 2510067 2510177 + PropertyAccessExpression 2510089 2510118 + Identifier 2510089 2510100 + Identifier 2510101 2510118 + ReturnStatement 2510119 2510177 + PropertyAccessExpression 2510147 2510176 + Identifier 2510147 2510165 + Identifier 2510166 2510176 + DefaultClause 2510177 2510259 + ReturnStatement 2510203 2510259 + CallExpression 2510231 2510258 + PropertyAccessExpression 2510231 2510255 + Identifier 2510231 2510237 + Identifier 2510238 2510255 + Identifier 2510256 2510257 + FunctionDeclaration 2510292 2510632 + Identifier 2510308 2510332 + Parameter 2510333 2510343 + Identifier 2510333 2510337 + TypeReference 2510338 2510343 + Identifier 2510338 2510343 + Parameter 2510344 2510361 + Identifier 2510344 2510354 + QuestionToken 2510354 2510355 + TypeReference 2510356 2510361 + Identifier 2510356 2510361 + Parameter 2510362 2510400 + Identifier 2510362 2510380 + QuestionToken 2510380 2510381 + TypeReference 2510382 2510400 + Identifier 2510382 2510400 + Parameter 2510401 2510430 + DotDotDotToken 2510401 2510405 + Identifier 2510405 2510409 + TypeReference 2510410 2510430 + Identifier 2510410 2510430 + UnionType 2510432 2510449 + TypeReference 2510432 2510437 + Identifier 2510432 2510437 + UndefinedKeyword 2510439 2510449 + Block 2510449 2510632 + VariableStatement 2510451 2510524 + VariableDeclarationList 2510451 2510523 + VariableDeclaration 2510466 2510523 + Identifier 2510466 2510479 + CallExpression 2510481 2510523 + Identifier 2510481 2510506 + Identifier 2510507 2510511 + Identifier 2510512 2510522 + ReturnStatement 2510524 2510625 + BinaryExpression 2510540 2510624 + Identifier 2510540 2510553 + AmpersandAmpersandToken 2510553 2510556 + CallExpression 2510556 2510624 + Identifier 2510556 2510571 + Identifier 2510572 2510584 + Identifier 2510585 2510595 + Identifier 2510596 2510614 + SpreadElement 2510615 2510623 + Identifier 2510619 2510623 + FunctionDeclaration 2510632 2514239 + Identifier 2510873 2510898 + Parameter 2510899 2510909 + Identifier 2510899 2510903 + TypeReference 2510904 2510909 + Identifier 2510904 2510909 + Parameter 2510910 2510927 + Identifier 2510910 2510920 + QuestionToken 2510920 2510921 + TypeReference 2510922 2510927 + Identifier 2510922 2510927 + Parameter 2510928 2510968 + Identifier 2510928 2510948 + QuestionToken 2510948 2510949 + TypeLiteral 2510950 2510968 + PropertySignature 2510952 2510966 + Identifier 2510952 2510958 + QuestionToken 2510958 2510959 + TypeReference 2510960 2510965 + Identifier 2510960 2510965 + UnionType 2510970 2510987 + TypeReference 2510970 2510975 + Identifier 2510970 2510975 + UndefinedKeyword 2510977 2510987 + Block 2510987 2514239 + IfStatement 2510989 2511341 + CallExpression 2511281 2511296 + Identifier 2511281 2511290 + Identifier 2511291 2511295 + Block 2511297 2511341 + ReturnStatement 2511299 2511330 + Identifier 2511319 2511329 + VariableStatement 2511341 2511406 + VariableDeclarationList 2511341 2511405 + VariableDeclaration 2511358 2511405 + Identifier 2511358 2511372 + AsExpression 2511374 2511405 + Identifier 2511374 2511379 + TypeReference 2511382 2511405 + Identifier 2511382 2511405 + IfStatement 2511406 2511526 + PropertyAccessExpression 2511420 2511455 + Identifier 2511420 2511433 + Identifier 2511434 2511455 + Block 2511456 2511526 + ReturnStatement 2511458 2511515 + PropertyAccessExpression 2511478 2511514 + Identifier 2511478 2511492 + Identifier 2511493 2511514 + IfStatement 2511526 2511725 + CallExpression 2511542 2511611 + Identifier 2511542 2511559 + Identifier 2511560 2511564 + CallExpression 2511565 2511610 + Identifier 2511565 2511586 + FalseKeyword 2511587 2511609 + Block 2511612 2511725 + ReturnStatement 2511614 2511714 + BinaryExpression 2511634 2511713 + PropertyAccessExpression 2511634 2511670 + Identifier 2511634 2511648 + Identifier 2511649 2511670 + EqualsToken 2511670 2511672 + ElementAccessExpression 2511672 2511713 + CallExpression 2511672 2511710 + Identifier 2511672 2511689 + AsExpression 2511690 2511709 + Identifier 2511690 2511694 + TypeReference 2511697 2511709 + Identifier 2511697 2511709 + NumericLiteral 2511711 2511712 + IfStatement 2511725 2511951 + CallExpression 2511812 2511906 + Identifier 2511812 2511836 + CallExpression 2511837 2511866 + Identifier 2511837 2511860 + Identifier 2511861 2511865 + BinaryExpression 2511867 2511905 + PropertyAccessExpression 2511867 2511887 + Identifier 2511867 2511877 + Identifier 2511878 2511887 + BarToken 2511887 2511889 + PropertyAccessExpression 2511889 2511905 + Identifier 2511889 2511899 + Identifier 2511900 2511905 + Block 2511907 2511951 + ReturnStatement 2511909 2511940 + Identifier 2511929 2511939 + VariableStatement 2511951 2512035 + VariableDeclarationList 2511951 2512034 + VariableDeclaration 2511968 2512034 + Identifier 2511968 2511981 + NonNullExpression 2511983 2512034 + CallExpression 2511983 2512033 + Identifier 2511983 2512007 + Identifier 2512008 2512012 + AsExpression 2512013 2512032 + StringLiteral 2512013 2512020 + TypeReference 2512023 2512032 + Identifier 2512023 2512032 + IfStatement 2512035 2512135 + CallExpression 2512067 2512090 + Identifier 2512067 2512076 + Identifier 2512077 2512089 + Block 2512091 2512135 + ReturnStatement 2512093 2512124 + Identifier 2512113 2512123 + VariableStatement 2512135 2512252 + VariableDeclarationList 2512135 2512251 + VariableDeclaration 2512152 2512251 + Identifier 2512152 2512167 + ConditionalExpression 2512169 2512251 + Identifier 2512169 2512182 + QuestionToken 2512182 2512184 + CallExpression 2512184 2512238 + Identifier 2512184 2512204 + Identifier 2512205 2512217 + PropertyAccessExpression 2512218 2512237 + Identifier 2512218 2512232 + Identifier 2512233 2512237 + ColonToken 2512238 2512240 + Identifier 2512240 2512251 + IfStatement 2512252 2512465 + BinaryExpression 2512266 2512293 + PropertyAccessExpression 2512266 2512287 + Identifier 2512266 2512280 + Identifier 2512281 2512287 + EqualsEqualsEqualsToken 2512287 2512291 + NumericLiteral 2512291 2512293 + Block 2512294 2512465 + IfStatement 2512296 2512423 + Identifier 2512314 2512323 + Block 2512324 2512423 + ExpressionStatement 2512326 2512408 + CallExpression 2512326 2512407 + Identifier 2512326 2512349 + Identifier 2512350 2512359 + PropertyAccessExpression 2512360 2512406 + Identifier 2512360 2512372 + Identifier 2512373 2512406 + ReturnStatement 2512423 2512454 + Identifier 2512443 2512453 + VariableStatement 2512465 2512516 + VariableDeclarationList 2512465 2512515 + VariableDeclaration 2512480 2512515 + Identifier 2512480 2512497 + UnionType 2512498 2512515 + TypeReference 2512498 2512503 + Identifier 2512498 2512503 + UndefinedKeyword 2512505 2512515 + VariableStatement 2512516 2512566 + VariableDeclarationList 2512516 2512565 + VariableDeclaration 2512529 2512565 + Identifier 2512529 2512540 + UnionType 2512541 2512565 + ArrayType 2512541 2512553 + TypeReference 2512541 2512551 + Identifier 2512541 2512551 + UndefinedKeyword 2512555 2512565 + ForOfStatement 2512566 2512969 + VariableDeclarationList 2512581 2512600 + VariableDeclaration 2512586 2512600 + Identifier 2512586 2512600 + Identifier 2512603 2512618 + Block 2512619 2512969 + VariableStatement 2512621 2512690 + VariableDeclarationList 2512621 2512689 + VariableDeclaration 2512640 2512689 + Identifier 2512640 2512649 + CallExpression 2512651 2512689 + Identifier 2512651 2512674 + Identifier 2512675 2512688 + IfStatement 2512690 2512958 + BinaryExpression 2512708 2512794 + BinaryExpression 2512708 2512741 + Identifier 2512708 2512716 + AmpersandAmpersandToken 2512716 2512719 + BinaryExpression 2512719 2512741 + Identifier 2512719 2512728 + ExclamationEqualsEqualsToken 2512728 2512732 + Identifier 2512732 2512741 + AmpersandAmpersandToken 2512741 2512744 + PrefixUnaryExpression 2512744 2512794 + CallExpression 2512746 2512794 + Identifier 2512746 2512761 + Identifier 2512762 2512766 + Identifier 2512767 2512776 + Identifier 2512777 2512793 + Block 2512795 2512858 + ExpressionStatement 2512797 2512843 + BinaryExpression 2512797 2512842 + Identifier 2512797 2512831 + EqualsToken 2512831 2512833 + Identifier 2512833 2512842 + Block 2512876 2512958 + ExpressionStatement 2512878 2512943 + BinaryExpression 2512878 2512942 + Identifier 2512878 2512906 + EqualsToken 2512906 2512908 + CallExpression 2512908 2512942 + Identifier 2512908 2512915 + Identifier 2512916 2512926 + Identifier 2512927 2512941 + IfStatement 2512969 2513430 + PrefixUnaryExpression 2512985 2512996 + Identifier 2512986 2512996 + Block 2512997 2513430 + ExpressionStatement 2512999 2513053 + CallExpression 2512999 2513052 + PropertyAccessExpression 2512999 2513034 + Identifier 2512999 2513018 + Identifier 2513019 2513034 + Identifier 2513035 2513051 + IfStatement 2513053 2513171 + Identifier 2513071 2513090 + Block 2513091 2513171 + ExpressionStatement 2513093 2513156 + BinaryExpression 2513093 2513155 + PropertyAccessExpression 2513093 2513136 + Identifier 2513093 2513130 + Identifier 2513131 2513136 + EqualsToken 2513136 2513138 + Identifier 2513138 2513155 + IfStatement 2513171 2513388 + Identifier 2513189 2513198 + Block 2513199 2513388 + ExpressionStatement 2513201 2513373 + CallExpression 2513201 2513372 + Identifier 2513201 2513224 + Identifier 2513225 2513234 + PropertyAccessExpression 2513235 2513319 + Identifier 2513235 2513247 + Identifier 2513248 2513319 + CallExpression 2513320 2513339 + Identifier 2513320 2513333 + Identifier 2513334 2513338 + CallExpression 2513340 2513371 + Identifier 2513340 2513353 + Identifier 2513354 2513370 + ReturnStatement 2513388 2513419 + Identifier 2513408 2513418 + VariableStatement 2513430 2513588 + VariableDeclarationList 2513430 2513587 + VariableDeclaration 2513447 2513587 + Identifier 2513447 2513472 + CallExpression 2513474 2513587 + Identifier 2513474 2513491 + CallExpression 2513492 2513557 + Identifier 2513492 2513504 + CallExpression 2513505 2513556 + Identifier 2513505 2513508 + Identifier 2513509 2513519 + Identifier 2513520 2513555 + PropertyAccessExpression 2513558 2513586 + Identifier 2513558 2513568 + Identifier 2513569 2513586 + IfStatement 2513588 2513682 + CallExpression 2513602 2513637 + Identifier 2513602 2513611 + Identifier 2513612 2513636 + Block 2513638 2513682 + ReturnStatement 2513640 2513671 + Identifier 2513660 2513670 + VariableStatement 2513682 2513799 + VariableDeclarationList 2513682 2513798 + VariableDeclaration 2513699 2513798 + Identifier 2513699 2513730 + CallExpression 2513732 2513798 + Identifier 2513732 2513752 + Identifier 2513753 2513777 + PropertyAccessExpression 2513778 2513797 + Identifier 2513778 2513792 + Identifier 2513793 2513797 + IfStatement 2513799 2514065 + BinaryExpression 2513813 2513856 + PropertyAccessExpression 2513813 2513850 + Identifier 2513813 2513843 + Identifier 2513844 2513850 + EqualsEqualsEqualsToken 2513850 2513854 + NumericLiteral 2513854 2513856 + Block 2513857 2514065 + IfStatement 2513859 2514023 + Identifier 2513877 2513886 + Block 2513887 2514023 + ExpressionStatement 2513889 2514008 + CallExpression 2513889 2514007 + Identifier 2513889 2513912 + Identifier 2513913 2513922 + PropertyAccessExpression 2513923 2514006 + Identifier 2513923 2513935 + Identifier 2513936 2514006 + ReturnStatement 2514023 2514054 + Identifier 2514043 2514053 + ReturnStatement 2514065 2514232 + BinaryExpression 2514083 2514231 + PropertyAccessExpression 2514083 2514119 + Identifier 2514083 2514097 + Identifier 2514098 2514119 + EqualsToken 2514119 2514121 + CallExpression 2514121 2514231 + Identifier 2514121 2514134 + CallExpression 2514135 2514206 + Identifier 2514135 2514138 + Identifier 2514139 2514169 + Identifier 2514170 2514205 + PropertyAccessExpression 2514207 2514230 + Identifier 2514207 2514222 + Identifier 2514223 2514230 + FunctionDeclaration 2514239 2515081 + Identifier 2514693 2514710 + Parameter 2514711 2514721 + Identifier 2514711 2514715 + TypeReference 2514716 2514721 + Identifier 2514716 2514721 + Parameter 2514722 2514741 + Identifier 2514722 2514732 + BooleanKeyword 2514733 2514741 + Parameter 2514742 2514758 + Identifier 2514742 2514752 + TypeReference 2514753 2514758 + Identifier 2514753 2514758 + Parameter 2514759 2514796 + Identifier 2514759 2514777 + TypeReference 2514778 2514796 + Identifier 2514778 2514796 + Parameter 2514797 2514826 + DotDotDotToken 2514797 2514801 + Identifier 2514801 2514805 + TypeReference 2514806 2514826 + Identifier 2514806 2514826 + TypeReference 2514828 2514833 + Identifier 2514828 2514833 + Block 2514833 2515081 + VariableStatement 2514835 2515032 + VariableDeclarationList 2514835 2515031 + VariableDeclaration 2514850 2515031 + Identifier 2514850 2514862 + ConditionalExpression 2514864 2515031 + Identifier 2514864 2514874 + QuestionToken 2514874 2514876 + CallExpression 2514876 2514949 + Identifier 2514876 2514904 + Identifier 2514905 2514909 + Identifier 2514910 2514920 + Identifier 2514921 2514939 + SpreadElement 2514940 2514948 + Identifier 2514944 2514948 + ColonToken 2514949 2514951 + CallExpression 2514951 2515031 + Identifier 2514951 2514986 + Identifier 2514987 2514991 + Identifier 2514992 2515002 + Identifier 2515003 2515021 + SpreadElement 2515022 2515030 + Identifier 2515026 2515030 + ReturnStatement 2515032 2515074 + BinaryExpression 2515048 2515073 + Identifier 2515048 2515060 + BarBarToken 2515060 2515063 + Identifier 2515063 2515073 + FunctionDeclaration 2515081 2515709 + Identifier 2515193 2515208 + Parameter 2515209 2515219 + Identifier 2515209 2515213 + TypeReference 2515214 2515219 + Identifier 2515214 2515219 + BooleanKeyword 2515221 2515229 + Block 2515229 2515709 + IfStatement 2515231 2515472 + CallExpression 2515245 2515339 + Identifier 2515245 2515269 + CallExpression 2515270 2515299 + Identifier 2515270 2515293 + Identifier 2515294 2515298 + BinaryExpression 2515300 2515338 + PropertyAccessExpression 2515300 2515320 + Identifier 2515300 2515310 + Identifier 2515311 2515320 + BarToken 2515320 2515322 + PropertyAccessExpression 2515322 2515338 + Identifier 2515322 2515332 + Identifier 2515333 2515338 + Block 2515340 2515472 + ReturnStatement 2515342 2515461 + FalseKeyword 2515454 2515460 + VariableStatement 2515472 2515555 + VariableDeclarationList 2515472 2515554 + VariableDeclaration 2515489 2515554 + Identifier 2515489 2515502 + CallExpression 2515504 2515554 + Identifier 2515504 2515528 + Identifier 2515529 2515533 + AsExpression 2515534 2515553 + StringLiteral 2515534 2515541 + TypeReference 2515544 2515553 + Identifier 2515544 2515553 + ReturnStatement 2515555 2515702 + BinaryExpression 2515571 2515701 + PrefixUnaryExpression 2515571 2515586 + PrefixUnaryExpression 2515573 2515586 + Identifier 2515574 2515586 + AmpersandAmpersandToken 2515586 2515589 + BinaryExpression 2515589 2515701 + PropertyAccessExpression 2515589 2515697 + CallExpression 2515589 2515690 + Identifier 2515589 2515609 + CallExpression 2515610 2515669 + Identifier 2515610 2515626 + Identifier 2515627 2515639 + PropertyAccessExpression 2515640 2515668 + Identifier 2515640 2515650 + Identifier 2515651 2515668 + PropertyAccessExpression 2515670 2515689 + Identifier 2515670 2515684 + Identifier 2515685 2515689 + Identifier 2515691 2515697 + GreaterThanToken 2515697 2515699 + NumericLiteral 2515699 2515701 + InterfaceDeclaration 2515709 2515884 + Identifier 2515726 2515751 + HeritageClause 2515751 2515764 + ExpressionWithTypeArguments 2515759 2515764 + Identifier 2515759 2515764 + PropertySignature 2515766 2515801 + Identifier 2515766 2515793 + NeverKeyword 2515794 2515800 + PropertySignature 2515801 2515831 + Identifier 2515801 2515822 + TypeReference 2515823 2515830 + Identifier 2515823 2515830 + PropertySignature 2515831 2515877 + Identifier 2515831 2515859 + TypeOperator 2515860 2515876 + ArrayType 2515869 2515876 + TypeReference 2515869 2515874 + Identifier 2515869 2515874 + FunctionDeclaration 2515884 2516266 + Identifier 2515900 2515927 + Parameter 2515928 2515938 + Identifier 2515928 2515932 + TypeReference 2515933 2515938 + Identifier 2515933 2515938 + TypePredicate 2515940 2515973 + Identifier 2515940 2515945 + TypeReference 2515948 2515973 + Identifier 2515948 2515973 + Block 2515973 2516266 + IfStatement 2515975 2516236 + BinaryExpression 2515989 2516023 + PropertyAccessExpression 2515989 2515999 + Identifier 2515989 2515993 + Identifier 2515994 2515999 + AmpersandToken 2515999 2516001 + PropertyAccessExpression 2516001 2516023 + Identifier 2516001 2516011 + Identifier 2516012 2516023 + Block 2516024 2516236 + VariableStatement 2516026 2516109 + VariableDeclarationList 2516026 2516108 + VariableDeclaration 2516045 2516108 + Identifier 2516045 2516059 + CallExpression 2516061 2516108 + Identifier 2516061 2516084 + FalseKeyword 2516085 2516107 + ReturnStatement 2516109 2516225 + BinaryExpression 2516129 2516224 + BinaryExpression 2516129 2516183 + PrefixUnaryExpression 2516129 2516145 + PrefixUnaryExpression 2516131 2516145 + Identifier 2516132 2516145 + AmpersandAmpersandToken 2516145 2516148 + BinaryExpression 2516148 2516183 + PropertyAccessExpression 2516148 2516165 + Identifier 2516148 2516153 + Identifier 2516154 2516165 + EqualsEqualsEqualsToken 2516165 2516169 + Identifier 2516169 2516183 + AmpersandAmpersandToken 2516183 2516186 + BinaryExpression 2516186 2516224 + PropertyAccessExpression 2516186 2516218 + PropertyAccessExpression 2516186 2516210 + Identifier 2516186 2516191 + Identifier 2516192 2516210 + QuestionDotToken 2516210 2516212 + Identifier 2516212 2516218 + EqualsEqualsEqualsToken 2516218 2516222 + NumericLiteral 2516222 2516224 + ReturnStatement 2516236 2516259 + FalseKeyword 2516252 2516258 + FunctionDeclaration 2516266 2516563 + Identifier 2516346 2516364 + Parameter 2516365 2516375 + Identifier 2516365 2516369 + TypeReference 2516370 2516375 + Identifier 2516370 2516375 + Block 2516376 2516563 + ReturnStatement 2516378 2516556 + ConditionalExpression 2516394 2516555 + BinaryExpression 2516394 2516423 + PropertyAccessExpression 2516394 2516405 + Identifier 2516394 2516399 + Identifier 2516400 2516405 + AmpersandToken 2516405 2516407 + PropertyAccessExpression 2516407 2516423 + Identifier 2516407 2516417 + Identifier 2516418 2516423 + QuestionToken 2516423 2516425 + CallExpression 2516425 2516458 + Identifier 2516425 2516433 + Identifier 2516434 2516438 + Identifier 2516439 2516457 + ColonToken 2516458 2516460 + ConditionalExpression 2516460 2516555 + CallExpression 2516460 2516506 + Identifier 2516460 2516500 + Identifier 2516501 2516505 + QuestionToken 2516506 2516508 + ElementAccessExpression 2516508 2516535 + PropertyAccessExpression 2516508 2516532 + Identifier 2516508 2516513 + Identifier 2516514 2516532 + NumericLiteral 2516533 2516534 + ColonToken 2516535 2516537 + Identifier 2516537 2516555 + FunctionDeclaration 2516563 2517617 + Identifier 2516579 2516599 + Parameter 2516600 2516610 + Identifier 2516600 2516604 + TypeReference 2516605 2516610 + Identifier 2516605 2516610 + Block 2516611 2517617 + IfStatement 2516613 2516848 + BinaryExpression 2516756 2516807 + CallExpression 2516756 2516771 + Identifier 2516756 2516765 + Identifier 2516766 2516770 + BarBarToken 2516771 2516774 + CallExpression 2516774 2516807 + Identifier 2516774 2516801 + Identifier 2516802 2516806 + Block 2516808 2516848 + ReturnStatement 2516810 2516837 + FalseKeyword 2516830 2516836 + IfStatement 2516848 2517585 + CallExpression 2516948 2516973 + Identifier 2516948 2516967 + Identifier 2516968 2516972 + Block 2516974 2517585 + VariableStatement 2516976 2517043 + VariableDeclarationList 2516976 2517042 + VariableDeclaration 2516995 2517042 + Identifier 2516995 2517010 + CallExpression 2517012 2517042 + Identifier 2517012 2517036 + Identifier 2517037 2517041 + IfStatement 2517043 2517574 + ConditionalExpression 2517261 2517512 + Identifier 2517261 2517293 + QuestionToken 2517293 2517295 + BinaryExpression 2517295 2517443 + BinaryExpression 2517295 2517399 + BinaryExpression 2517295 2517362 + PropertyAccessExpression 2517295 2517337 + Identifier 2517295 2517331 + Identifier 2517332 2517337 + AmpersandToken 2517337 2517339 + PropertyAccessExpression 2517339 2517362 + Identifier 2517339 2517349 + Identifier 2517350 2517362 + BarBarToken 2517362 2517365 + CallExpression 2517365 2517399 + Identifier 2517365 2517383 + Identifier 2517384 2517398 + BarBarToken 2517399 2517402 + CallExpression 2517402 2517443 + Identifier 2517402 2517411 + Identifier 2517412 2517426 + Identifier 2517427 2517442 + ColonToken 2517443 2517445 + CallExpression 2517445 2517512 + Identifier 2517445 2517482 + Identifier 2517483 2517487 + PropertyAccessExpression 2517488 2517511 + Identifier 2517488 2517498 + Identifier 2517499 2517511 + Block 2517527 2517574 + ReturnStatement 2517529 2517559 + TrueKeyword 2517553 2517558 + ReturnStatement 2517585 2517610 + FalseKeyword 2517603 2517609 + FunctionDeclaration 2517617 2518171 + Identifier 2517633 2517654 + Parameter 2517655 2517665 + Identifier 2517655 2517659 + TypeReference 2517660 2517665 + Identifier 2517660 2517665 + UnionType 2517667 2517684 + TypeReference 2517667 2517672 + Identifier 2517667 2517672 + UndefinedKeyword 2517674 2517684 + Block 2517684 2518171 + VariableStatement 2517686 2517820 + VariableDeclarationList 2517686 2517819 + VariableDeclaration 2517757 2517819 + Identifier 2517757 2517771 + CallExpression 2517773 2517819 + Identifier 2517773 2517796 + TrueKeyword 2517797 2517818 + IfStatement 2517820 2518135 + Identifier 2517834 2517847 + Block 2517848 2518135 + ReturnStatement 2517850 2518124 + CallExpression 2518055 2518123 + Identifier 2518055 2518081 + Identifier 2518082 2518095 + ArrayLiteralExpression 2518096 2518122 + CallExpression 2518098 2518121 + Identifier 2518098 2518115 + Identifier 2518116 2518120 + ReturnStatement 2518135 2518164 + Identifier 2518153 2518163 + FunctionDeclaration 2518171 2518978 + Identifier 2518187 2518213 + Parameter 2518214 2518224 + Identifier 2518214 2518218 + TypeReference 2518219 2518224 + Identifier 2518219 2518224 + TypeReference 2518226 2518231 + Identifier 2518226 2518231 + Block 2518231 2518978 + IfStatement 2518233 2518781 + CallExpression 2518686 2518711 + Identifier 2518686 2518705 + Identifier 2518706 2518710 + Block 2518712 2518781 + ReturnStatement 2518714 2518770 + BinaryExpression 2518734 2518769 + CallExpression 2518734 2518761 + Identifier 2518734 2518755 + Identifier 2518756 2518760 + QuestionQuestionToken 2518761 2518764 + Identifier 2518764 2518769 + ExpressionStatement 2518781 2518949 + CallExpression 2518781 2518948 + PropertyAccessExpression 2518781 2518805 + Identifier 2518781 2518798 + Identifier 2518799 2518805 + BinaryExpression 2518806 2518886 + CallExpression 2518806 2518838 + Identifier 2518806 2518832 + Identifier 2518833 2518837 + BarBarToken 2518838 2518841 + BinaryExpression 2518841 2518886 + CallExpression 2518841 2518872 + Identifier 2518841 2518866 + Identifier 2518867 2518871 + EqualsEqualsEqualsToken 2518872 2518876 + Identifier 2518876 2518886 + StringLiteral 2518887 2518947 + ReturnStatement 2518949 2518971 + Identifier 2518965 2518970 + FunctionDeclaration 2518978 2519764 + Identifier 2519455 2519470 + Parameter 2519471 2519481 + Identifier 2519471 2519475 + TypeReference 2519476 2519481 + Identifier 2519476 2519481 + Parameter 2519482 2519499 + Identifier 2519482 2519492 + QuestionToken 2519492 2519493 + TypeReference 2519494 2519499 + Identifier 2519494 2519499 + Parameter 2519500 2519538 + Identifier 2519500 2519518 + QuestionToken 2519518 2519519 + TypeReference 2519520 2519538 + Identifier 2519520 2519538 + Parameter 2519539 2519568 + DotDotDotToken 2519539 2519543 + Identifier 2519543 2519547 + TypeReference 2519548 2519568 + Identifier 2519548 2519568 + UnionType 2519570 2519587 + TypeReference 2519570 2519575 + Identifier 2519570 2519575 + UndefinedKeyword 2519577 2519587 + Block 2519587 2519764 + VariableStatement 2519589 2519686 + VariableDeclarationList 2519589 2519685 + VariableDeclaration 2519604 2519685 + Identifier 2519604 2519616 + CallExpression 2519618 2519685 + Identifier 2519618 2519640 + Identifier 2519641 2519645 + Identifier 2519646 2519656 + Identifier 2519657 2519675 + SpreadElement 2519676 2519684 + Identifier 2519680 2519684 + ReturnStatement 2519686 2519757 + BinaryExpression 2519702 2519756 + Identifier 2519702 2519714 + AmpersandAmpersandToken 2519714 2519717 + CallExpression 2519717 2519756 + Identifier 2519717 2519743 + Identifier 2519744 2519755 + FunctionDeclaration 2519764 2526158 + Identifier 2519929 2519951 + Parameter 2519952 2519962 + Identifier 2519952 2519956 + TypeReference 2519957 2519962 + Identifier 2519957 2519962 + Parameter 2519963 2519980 + Identifier 2519963 2519973 + QuestionToken 2519973 2519974 + TypeReference 2519975 2519980 + Identifier 2519975 2519980 + Parameter 2519981 2520019 + Identifier 2519981 2519999 + QuestionToken 2519999 2520000 + TypeReference 2520001 2520019 + Identifier 2520001 2520019 + Parameter 2520020 2520049 + DotDotDotToken 2520020 2520024 + Identifier 2520024 2520028 + TypeReference 2520029 2520049 + Identifier 2520029 2520049 + UnionType 2520051 2520068 + TypeReference 2520051 2520056 + Identifier 2520051 2520056 + UndefinedKeyword 2520058 2520068 + Block 2520068 2526158 + IfStatement 2520070 2520139 + CallExpression 2520084 2520099 + Identifier 2520084 2520093 + Identifier 2520094 2520098 + Block 2520100 2520139 + ReturnStatement 2520102 2520128 + Identifier 2520122 2520127 + IfStatement 2520139 2520341 + CallExpression 2520269 2520301 + Identifier 2520269 2520295 + Identifier 2520296 2520300 + Block 2520302 2520341 + ReturnStatement 2520304 2520330 + Identifier 2520324 2520329 + VariableStatement 2520341 2520500 + VariableDeclarationList 2520341 2520499 + VariableDeclaration 2520450 2520499 + Identifier 2520450 2520466 + AsExpression 2520468 2520499 + Identifier 2520468 2520473 + TypeReference 2520476 2520499 + Identifier 2520476 2520499 + IfStatement 2520500 2520616 + PropertyAccessExpression 2520514 2520547 + Identifier 2520514 2520529 + Identifier 2520530 2520547 + Block 2520548 2520616 + ReturnStatement 2520550 2520605 + PropertyAccessExpression 2520570 2520604 + Identifier 2520570 2520586 + Identifier 2520587 2520604 + IfStatement 2520616 2521437 + BinaryExpression 2520711 2520739 + PropertyAccessExpression 2520711 2520721 + Identifier 2520711 2520715 + Identifier 2520716 2520721 + AmpersandToken 2520721 2520723 + PropertyAccessExpression 2520723 2520739 + Identifier 2520723 2520733 + Identifier 2520734 2520739 + Block 2520740 2521437 + IfStatement 2520742 2521053 + BinaryExpression 2520760 2520802 + CallExpression 2520760 2520797 + PropertyAccessExpression 2520760 2520788 + Identifier 2520760 2520776 + Identifier 2520777 2520788 + PropertyAccessExpression 2520789 2520796 + Identifier 2520789 2520793 + Identifier 2520794 2520796 + GreaterThanEqualsToken 2520797 2520800 + NumericLiteral 2520800 2520802 + Block 2520803 2521053 + IfStatement 2520805 2521003 + Identifier 2520827 2520836 + Block 2520837 2521003 + ExpressionStatement 2520839 2520984 + CallExpression 2520839 2520983 + Identifier 2520839 2520866 + Identifier 2520867 2520876 + PropertyAccessExpression 2520877 2520982 + Identifier 2520877 2520889 + Identifier 2520890 2520982 + ReturnStatement 2521003 2521038 + Identifier 2521027 2521037 + VariableStatement 2521053 2521225 + VariableDeclarationList 2521053 2521224 + VariableDeclaration 2521074 2521224 + Identifier 2521074 2521081 + ConditionalExpression 2521083 2521224 + Identifier 2521083 2521093 + QuestionToken 2521093 2521095 + ArrowFunction 2521095 2521200 + Parameter 2521097 2521118 + Identifier 2521097 2521112 + TypeReference 2521113 2521118 + Identifier 2521113 2521118 + EqualsGreaterThanToken 2521119 2521122 + CallExpression 2521122 2521200 + Identifier 2521122 2521144 + Identifier 2521145 2521160 + Identifier 2521161 2521171 + Identifier 2521172 2521190 + SpreadElement 2521191 2521199 + Identifier 2521195 2521199 + ColonToken 2521200 2521202 + Identifier 2521202 2521224 + ExpressionStatement 2521225 2521272 + CallExpression 2521225 2521271 + PropertyAccessExpression 2521225 2521262 + Identifier 2521225 2521257 + Identifier 2521258 2521262 + PropertyAccessExpression 2521263 2521270 + Identifier 2521263 2521267 + Identifier 2521268 2521270 + VariableStatement 2521272 2521323 + VariableDeclarationList 2521272 2521322 + VariableDeclaration 2521291 2521322 + Identifier 2521291 2521298 + CallExpression 2521300 2521322 + Identifier 2521300 2521308 + Identifier 2521309 2521313 + Identifier 2521314 2521321 + ExpressionStatement 2521323 2521360 + CallExpression 2521323 2521359 + PropertyAccessExpression 2521323 2521357 + Identifier 2521323 2521353 + Identifier 2521354 2521357 + ReturnStatement 2521360 2521426 + BinaryExpression 2521382 2521425 + PropertyAccessExpression 2521382 2521416 + Identifier 2521382 2521398 + Identifier 2521399 2521416 + EqualsToken 2521416 2521418 + Identifier 2521418 2521425 + IfStatement 2521437 2521637 + CallExpression 2521536 2521561 + Identifier 2521536 2521555 + Identifier 2521556 2521560 + Block 2521562 2521637 + ReturnStatement 2521564 2521626 + BinaryExpression 2521584 2521625 + PropertyAccessExpression 2521584 2521618 + Identifier 2521584 2521600 + Identifier 2521601 2521618 + EqualsToken 2521618 2521620 + Identifier 2521620 2521625 + VariableStatement 2521637 2521728 + VariableDeclarationList 2521637 2521727 + VariableDeclaration 2521654 2521727 + Identifier 2521654 2521674 + TypeLiteral 2521675 2521704 + PropertySignature 2521677 2521702 + Identifier 2521677 2521683 + UnionType 2521684 2521701 + TypeReference 2521684 2521689 + Identifier 2521684 2521689 + UndefinedKeyword 2521691 2521701 + ObjectLiteralExpression 2521706 2521727 + PropertyAssignment 2521708 2521725 + Identifier 2521708 2521714 + Identifier 2521715 2521725 + VariableStatement 2521728 2521836 + VariableDeclarationList 2521728 2521835 + VariableDeclaration 2521743 2521835 + Identifier 2521743 2521756 + CallExpression 2521758 2521835 + Identifier 2521758 2521783 + Identifier 2521784 2521788 + Identifier 2521789 2521813 + Identifier 2521814 2521834 + IfStatement 2521836 2524451 + Identifier 2521850 2521862 + Block 2521863 2524451 + IfStatement 2521865 2523931 + BinaryExpression 2521883 2521964 + BinaryExpression 2521883 2521910 + PropertyAccessExpression 2521883 2521890 + Identifier 2521883 2521887 + Identifier 2521888 2521890 + EqualsEqualsEqualsToken 2521890 2521894 + PropertyAccessExpression 2521894 2521910 + Identifier 2521894 2521907 + Identifier 2521908 2521910 + BarBarToken 2521910 2521913 + BinaryExpression 2521913 2521964 + CallExpression 2521913 2521959 + PropertyAccessExpression 2521913 2521942 + Identifier 2521913 2521930 + Identifier 2521931 2521942 + PropertyAccessExpression 2521943 2521958 + Identifier 2521943 2521955 + Identifier 2521956 2521958 + GreaterThanEqualsToken 2521959 2521962 + NumericLiteral 2521962 2521964 + Block 2521965 2523931 + IfStatement 2521967 2523881 + Identifier 2523705 2523714 + Block 2523715 2523881 + ExpressionStatement 2523717 2523862 + CallExpression 2523717 2523861 + Identifier 2523717 2523744 + Identifier 2523745 2523754 + PropertyAccessExpression 2523755 2523860 + Identifier 2523755 2523767 + Identifier 2523768 2523860 + ReturnStatement 2523881 2523916 + Identifier 2523905 2523915 + ExpressionStatement 2523931 2524138 + CallExpression 2523931 2524137 + PropertyAccessExpression 2523931 2524128 + Identifier 2523931 2524123 + Identifier 2524124 2524128 + PropertyAccessExpression 2524129 2524136 + Identifier 2524129 2524133 + Identifier 2524134 2524136 + VariableStatement 2524138 2524247 + VariableDeclarationList 2524138 2524246 + VariableDeclaration 2524157 2524246 + Identifier 2524157 2524169 + CallExpression 2524171 2524246 + Identifier 2524171 2524193 + Identifier 2524194 2524206 + Identifier 2524207 2524217 + Identifier 2524218 2524236 + SpreadElement 2524237 2524245 + Identifier 2524241 2524245 + ExpressionStatement 2524247 2524284 + CallExpression 2524247 2524283 + PropertyAccessExpression 2524247 2524281 + Identifier 2524247 2524277 + Identifier 2524278 2524281 + IfStatement 2524284 2524369 + PrefixUnaryExpression 2524304 2524316 + Identifier 2524305 2524316 + Block 2524317 2524369 + ReturnStatement 2524319 2524354 + Identifier 2524343 2524353 + ReturnStatement 2524369 2524440 + BinaryExpression 2524391 2524439 + PropertyAccessExpression 2524391 2524425 + Identifier 2524391 2524407 + Identifier 2524408 2524425 + EqualsToken 2524425 2524427 + Identifier 2524427 2524439 + IfStatement 2524451 2526091 + CallExpression 2525372 2525392 + Identifier 2525372 2525386 + Identifier 2525387 2525391 + Block 2525393 2526091 + IfStatement 2525395 2526049 + Identifier 2525413 2525422 + Block 2525423 2526049 + ExpressionStatement 2525425 2525484 + CallExpression 2525425 2525483 + PropertyAccessExpression 2525425 2525464 + Identifier 2525425 2525448 + Identifier 2525449 2525464 + Identifier 2525465 2525482 + VariableStatement 2525484 2525548 + VariableDeclarationList 2525484 2525547 + VariableDeclaration 2525505 2525547 + Identifier 2525505 2525511 + UnionType 2525512 2525547 + TypeReference 2525512 2525535 + Identifier 2525512 2525535 + UndefinedKeyword 2525537 2525547 + IfStatement 2525548 2525824 + PropertyAccessExpression 2525570 2525595 + Identifier 2525570 2525589 + Identifier 2525590 2525595 + Block 2525596 2525824 + ExpressionStatement 2525598 2525805 + BinaryExpression 2525598 2525804 + Identifier 2525598 2525625 + EqualsToken 2525625 2525627 + CallExpression 2525627 2525804 + Identifier 2525627 2525651 + Identifier 2525652 2525657 + PropertyAccessExpression 2525658 2525742 + Identifier 2525658 2525670 + Identifier 2525671 2525742 + CallExpression 2525743 2525762 + Identifier 2525743 2525756 + Identifier 2525757 2525761 + CallExpression 2525763 2525803 + Identifier 2525763 2525776 + PropertyAccessExpression 2525777 2525802 + Identifier 2525777 2525796 + Identifier 2525797 2525802 + ExpressionStatement 2525824 2525909 + BinaryExpression 2525824 2525908 + Identifier 2525824 2525847 + EqualsToken 2525847 2525849 + CallExpression 2525849 2525908 + Identifier 2525849 2525873 + Identifier 2525874 2525879 + Identifier 2525880 2525898 + SpreadElement 2525899 2525907 + Identifier 2525903 2525907 + ExpressionStatement 2525909 2526034 + CallExpression 2525909 2526033 + PropertyAccessExpression 2525909 2525942 + Identifier 2525909 2525938 + Identifier 2525939 2525942 + CallExpression 2525943 2526032 + Identifier 2525943 2525982 + CallExpression 2525983 2526013 + Identifier 2525983 2526002 + Identifier 2526003 2526012 + Identifier 2526014 2526024 + Identifier 2526025 2526031 + ReturnStatement 2526049 2526080 + Identifier 2526069 2526079 + ReturnStatement 2526091 2526151 + BinaryExpression 2526109 2526150 + PropertyAccessExpression 2526109 2526143 + Identifier 2526109 2526125 + Identifier 2526126 2526143 + EqualsToken 2526143 2526145 + Identifier 2526145 2526150 + FunctionDeclaration 2526158 2533398 + Identifier 2526777 2526806 + Parameter 2526807 2526854 + Identifier 2526807 2526811 + UnionType 2526812 2526854 + TypeReference 2526812 2526836 + Identifier 2526812 2526836 + TypeReference 2526838 2526854 + Identifier 2526838 2526854 + Parameter 2526855 2526880 + Identifier 2526855 2526870 + TypeReference 2526871 2526880 + Identifier 2526871 2526880 + Parameter 2526881 2526915 + Identifier 2526881 2526905 + TypeReference 2526906 2526915 + Identifier 2526906 2526915 + Block 2526916 2533398 + VariableStatement 2526918 2528084 + VariableDeclarationList 2526918 2528083 + VariableDeclaration 2528034 2528083 + Identifier 2528034 2528045 + CallExpression 2528047 2528083 + Identifier 2528047 2528067 + Identifier 2528068 2528082 + IfStatement 2528084 2532591 + BinaryExpression 2528098 2528136 + Identifier 2528098 2528113 + GreaterThanEqualsToken 2528113 2528116 + PropertyAccessExpression 2528116 2528136 + Identifier 2528116 2528129 + Identifier 2528130 2528136 + Block 2528137 2528915 + IfStatement 2528139 2528223 + CallExpression 2528157 2528180 + Identifier 2528157 2528168 + Identifier 2528169 2528179 + Block 2528181 2528223 + ReturnStatement 2528183 2528208 + VariableStatement 2528223 2528307 + VariableDeclarationList 2528223 2528306 + VariableDeclaration 2528242 2528306 + Identifier 2528242 2528260 + CallExpression 2528262 2528306 + Identifier 2528262 2528283 + TrueKeyword 2528284 2528305 + IfStatement 2528307 2528904 + BinaryExpression 2528325 2528416 + BinaryExpression 2528325 2528363 + Identifier 2528325 2528342 + ExclamationEqualsEqualsToken 2528342 2528346 + Identifier 2528346 2528363 + AmpersandAmpersandToken 2528363 2528366 + PrefixUnaryExpression 2528366 2528416 + CallExpression 2528368 2528416 + Identifier 2528368 2528385 + Identifier 2528386 2528396 + Identifier 2528397 2528415 + Block 2528417 2528904 + ExpressionStatement 2528419 2528864 + CallExpression 2528419 2528863 + Identifier 2528419 2528635 + PropertyAccessExpression 2528636 2528760 + Identifier 2528636 2528647 + Identifier 2528648 2528760 + Identifier 2528761 2528776 + Identifier 2528777 2528801 + CallExpression 2528802 2528862 + Identifier 2528802 2528815 + BinaryExpression 2528816 2528861 + CallExpression 2528816 2528849 + Identifier 2528816 2528837 + Identifier 2528838 2528848 + BarBarToken 2528849 2528852 + Identifier 2528852 2528861 + ReturnStatement 2528864 2528889 + Block 2528929 2532591 + ExpressionStatement 2528931 2529081 + CallExpression 2528931 2529080 + Identifier 2528931 2529045 + Identifier 2529046 2529050 + PropertyAccessExpression 2529051 2529079 + Identifier 2529051 2529065 + Identifier 2529066 2529079 + IfStatement 2529081 2529165 + CallExpression 2529099 2529122 + Identifier 2529099 2529110 + Identifier 2529111 2529121 + Block 2529123 2529165 + ReturnStatement 2529125 2529150 + VariableStatement 2529165 2529254 + VariableDeclarationList 2529165 2529253 + VariableDeclaration 2529186 2529253 + Identifier 2529186 2529209 + CallExpression 2529211 2529253 + Identifier 2529211 2529237 + Identifier 2529238 2529252 + IfStatement 2529254 2529605 + BinaryExpression 2529272 2529308 + Identifier 2529272 2529294 + EqualsEqualsEqualsToken 2529294 2529298 + Identifier 2529298 2529308 + Block 2529309 2529605 + ExpressionStatement 2529311 2529565 + CallExpression 2529311 2529564 + Identifier 2529311 2529360 + PropertyAccessExpression 2529361 2529496 + Identifier 2529361 2529372 + Identifier 2529373 2529496 + Identifier 2529497 2529512 + Identifier 2529513 2529537 + CallExpression 2529538 2529563 + Identifier 2529538 2529551 + Identifier 2529552 2529562 + ReturnStatement 2529565 2529590 + VariableStatement 2529605 2529738 + VariableDeclarationList 2529605 2529737 + VariableDeclaration 2529626 2529737 + Identifier 2529626 2529651 + CallExpression 2529653 2529737 + Identifier 2529653 2529671 + Identifier 2529672 2529694 + PropertyAccessExpression 2529695 2529713 + Identifier 2529695 2529707 + Identifier 2529708 2529713 + TrueKeyword 2529714 2529736 + VariableStatement 2529738 2529864 + VariableDeclarationList 2529738 2529863 + VariableDeclaration 2529757 2529863 + Identifier 2529757 2529780 + ConditionalExpression 2529782 2529863 + Identifier 2529782 2529807 + QuestionToken 2529807 2529809 + CallExpression 2529809 2529851 + Identifier 2529809 2529825 + Identifier 2529826 2529850 + ColonToken 2529851 2529853 + Identifier 2529853 2529863 + IfStatement 2529864 2530738 + CallExpression 2529882 2529917 + Identifier 2529882 2529893 + Identifier 2529894 2529916 + Block 2529918 2530738 + IfStatement 2529920 2530698 + BinaryExpression 2529942 2530125 + BinaryExpression 2529942 2530047 + BinaryExpression 2529942 2529995 + PropertyAccessExpression 2529942 2529969 + Identifier 2529942 2529964 + Identifier 2529965 2529969 + EqualsEqualsEqualsToken 2529969 2529973 + PropertyAccessExpression 2529973 2529995 + Identifier 2529973 2529984 + Identifier 2529985 2529995 + AmpersandAmpersandToken 2529995 2529998 + BinaryExpression 2529998 2530047 + PropertyAccessExpression 2529998 2530033 + Identifier 2529998 2530021 + Identifier 2530022 2530033 + EqualsEqualsEqualsToken 2530033 2530037 + StringLiteral 2530037 2530047 + AmpersandAmpersandToken 2530047 2530050 + BinaryExpression 2530050 2530125 + CallExpression 2530050 2530076 + Identifier 2530050 2530064 + Identifier 2530065 2530075 + EqualsEqualsEqualsToken 2530076 2530080 + CallExpression 2530080 2530125 + Identifier 2530080 2530101 + FalseKeyword 2530102 2530124 + Block 2530126 2530379 + ExpressionStatement 2530128 2530360 + CallExpression 2530128 2530359 + Identifier 2530128 2530155 + Identifier 2530156 2530179 + PropertyAccessExpression 2530180 2530358 + Identifier 2530180 2530192 + Identifier 2530193 2530358 + Block 2530401 2530698 + ExpressionStatement 2530403 2530679 + CallExpression 2530403 2530678 + Identifier 2530403 2530456 + PropertyAccessExpression 2530457 2530592 + Identifier 2530457 2530468 + Identifier 2530469 2530592 + Identifier 2530593 2530608 + Identifier 2530609 2530633 + CallExpression 2530634 2530677 + Identifier 2530634 2530653 + Identifier 2530654 2530676 + ReturnStatement 2530698 2530723 + VariableStatement 2530738 2530854 + VariableDeclarationList 2530738 2530853 + VariableDeclaration 2530759 2530853 + Identifier 2530759 2530792 + CallExpression 2530794 2530853 + Identifier 2530794 2530830 + TrueKeyword 2530831 2530852 + IfStatement 2530854 2531388 + BinaryExpression 2530872 2530924 + Identifier 2530872 2530904 + EqualsEqualsEqualsToken 2530904 2530908 + Identifier 2530908 2530924 + Block 2530925 2531388 + ExpressionStatement 2530927 2531348 + CallExpression 2530927 2531347 + Identifier 2530927 2531125 + PropertyAccessExpression 2531126 2531261 + Identifier 2531126 2531137 + Identifier 2531138 2531261 + Identifier 2531262 2531277 + Identifier 2531278 2531302 + CallExpression 2531303 2531346 + Identifier 2531303 2531322 + Identifier 2531323 2531345 + ReturnStatement 2531348 2531373 + VariableStatement 2531388 2531560 + VariableDeclarationList 2531388 2531559 + VariableDeclaration 2531409 2531559 + Identifier 2531409 2531421 + PropertyAccessExpression 2531423 2531559 + Identifier 2531423 2531435 + Identifier 2531436 2531559 + VariableStatement 2531560 2531796 + VariableDeclarationList 2531560 2531795 + VariableDeclaration 2531579 2531795 + Identifier 2531579 2531589 + ArrowFunction 2531591 2531795 + EqualsGreaterThanToken 2531594 2531597 + ConditionalExpression 2531597 2531795 + BinaryExpression 2531597 2531640 + Identifier 2531597 2531612 + EqualsEqualsEqualsToken 2531612 2531616 + Identifier 2531616 2531640 + QuestionToken 2531640 2531642 + Identifier 2531642 2531652 + ColonToken 2531652 2531654 + CallExpression 2531654 2531795 + Identifier 2531654 2531678 + Identifier 2531679 2531700 + PropertyAccessExpression 2531701 2531794 + Identifier 2531701 2531713 + Identifier 2531714 2531794 + IfStatement 2531796 2531986 + PrefixUnaryExpression 2531814 2531943 + CallExpression 2531815 2531943 + Identifier 2531815 2531836 + Identifier 2531837 2531859 + Identifier 2531860 2531893 + Identifier 2531894 2531918 + Identifier 2531919 2531931 + Identifier 2531932 2531942 + Block 2531944 2531986 + ReturnStatement 2531946 2531971 + VariableStatement 2531986 2532190 + VariableDeclarationList 2531986 2532189 + VariableDeclaration 2532109 2532189 + Identifier 2532109 2532118 + BinaryExpression 2532120 2532189 + Identifier 2532120 2532143 + AmpersandAmpersandToken 2532143 2532146 + CallExpression 2532146 2532189 + Identifier 2532146 2532165 + Identifier 2532166 2532188 + VariableStatement 2532190 2532293 + VariableDeclarationList 2532190 2532292 + VariableDeclaration 2532209 2532292 + Identifier 2532209 2532225 + CallExpression 2532227 2532292 + Identifier 2532227 2532237 + NonNullExpression 2532238 2532250 + PropertyAccessExpression 2532238 2532249 + Identifier 2532238 2532242 + Identifier 2532243 2532249 + PropertyAccessExpression 2532251 2532272 + Identifier 2532251 2532260 + Identifier 2532261 2532272 + PropertyAccessExpression 2532273 2532291 + Identifier 2532273 2532285 + Identifier 2532286 2532291 + IfStatement 2532293 2532580 + Identifier 2532311 2532326 + Block 2532327 2532580 + ExpressionStatement 2532329 2532540 + CallExpression 2532329 2532539 + Identifier 2532329 2532352 + PropertyAccessExpression 2532353 2532385 + Identifier 2532353 2532368 + Identifier 2532369 2532385 + PropertyAccessExpression 2532386 2532476 + Identifier 2532386 2532398 + Identifier 2532399 2532476 + CallExpression 2532477 2532494 + Identifier 2532477 2532484 + Identifier 2532485 2532493 + CallExpression 2532495 2532538 + Identifier 2532495 2532514 + Identifier 2532515 2532537 + ReturnStatement 2532540 2532565 + ExpressionStatement 2532591 2532783 + CallExpression 2532591 2532782 + Identifier 2532591 2532619 + Identifier 2532620 2532630 + FalseKeyword 2532631 2532651 + Identifier 2532652 2532657 + PropertyAccessExpression 2532658 2532781 + Identifier 2532658 2532670 + Identifier 2532671 2532781 + FunctionDeclaration 2532783 2533391 + Identifier 2532803 2532835 + Parameter 2532836 2532862 + Identifier 2532836 2532843 + TypeReference 2532844 2532862 + Identifier 2532844 2532862 + Parameter 2532863 2532888 + Identifier 2532863 2532878 + TypeReference 2532879 2532888 + Identifier 2532879 2532888 + Parameter 2532889 2532923 + Identifier 2532889 2532913 + TypeReference 2532914 2532923 + Identifier 2532914 2532923 + Parameter 2532924 2532941 + Identifier 2532924 2532933 + StringKeyword 2532934 2532941 + Block 2532942 2533391 + IfStatement 2532944 2533380 + BinaryExpression 2532962 2533004 + Identifier 2532962 2532976 + EqualsEqualsEqualsToken 2532976 2532980 + Identifier 2532980 2533004 + Block 2533005 2533090 + ExpressionStatement 2533007 2533075 + CallExpression 2533007 2533074 + Identifier 2533007 2533030 + Identifier 2533031 2533054 + Identifier 2533055 2533063 + Identifier 2533064 2533073 + Block 2533108 2533380 + VariableStatement 2533110 2533266 + VariableDeclarationList 2533110 2533265 + VariableDeclaration 2533133 2533265 + Identifier 2533133 2533138 + CallExpression 2533140 2533265 + Identifier 2533140 2533146 + Identifier 2533147 2533170 + PropertyAccessExpression 2533171 2533264 + Identifier 2533171 2533183 + Identifier 2533184 2533264 + ExpressionStatement 2533266 2533365 + CallExpression 2533266 2533364 + Identifier 2533266 2533298 + Identifier 2533299 2533303 + CallExpression 2533304 2533363 + Identifier 2533304 2533328 + Identifier 2533329 2533343 + Identifier 2533344 2533352 + Identifier 2533353 2533362 + FunctionDeclaration 2533398 2536237 + Identifier 2533414 2533436 + Parameter 2533437 2533457 + Identifier 2533437 2533446 + TypeReference 2533447 2533457 + Identifier 2533447 2533457 + BooleanKeyword 2533459 2533467 + Block 2533467 2536237 + VariableStatement 2533469 2533529 + VariableDeclarationList 2533469 2533528 + VariableDeclaration 2533484 2533528 + Identifier 2533484 2533495 + CallExpression 2533497 2533528 + Identifier 2533497 2533517 + Identifier 2533518 2533527 + IfStatement 2533529 2536205 + PrefixUnaryExpression 2533543 2533575 + CallExpression 2533544 2533575 + Identifier 2533544 2533563 + Identifier 2533564 2533574 + Block 2533576 2536205 + VariableStatement 2533578 2533636 + VariableDeclarationList 2533578 2533635 + VariableDeclaration 2533595 2533635 + Identifier 2533595 2533600 + TypeReference 2533601 2533612 + Identifier 2533601 2533612 + PropertyAccessExpression 2533614 2533635 + Identifier 2533614 2533624 + Identifier 2533625 2533635 + IfStatement 2533636 2533826 + CallExpression 2533746 2533777 + Identifier 2533746 2533771 + Identifier 2533772 2533776 + Block 2533778 2533826 + ReturnStatement 2533780 2533811 + FalseKeyword 2533804 2533810 + VariableStatement 2533826 2533875 + VariableDeclarationList 2533826 2533874 + VariableDeclaration 2533845 2533874 + Identifier 2533845 2533867 + TrueKeyword 2533869 2533874 + VariableStatement 2533875 2533921 + VariableDeclarationList 2533875 2533920 + VariableDeclaration 2533892 2533920 + Identifier 2533892 2533902 + UnionType 2533903 2533920 + TypeReference 2533903 2533908 + Identifier 2533903 2533908 + UndefinedKeyword 2533910 2533920 + WhileStatement 2533921 2535834 + TrueKeyword 2533942 2533946 + Block 2533947 2535834 + IfStatement 2533949 2534227 + BinaryExpression 2534065 2534129 + CallExpression 2534065 2534100 + Identifier 2534065 2534094 + Identifier 2534095 2534099 + BarBarToken 2534100 2534103 + CallExpression 2534103 2534129 + Identifier 2534103 2534123 + Identifier 2534124 2534128 + Block 2534130 2534227 + ExpressionStatement 2534132 2534177 + BinaryExpression 2534132 2534176 + Identifier 2534132 2534158 + EqualsToken 2534158 2534160 + PropertyAccessExpression 2534160 2534176 + Identifier 2534160 2534165 + Identifier 2534166 2534176 + ContinueStatement 2534177 2534208 + IfStatement 2534227 2534896 + CallExpression 2534357 2534379 + Identifier 2534357 2534373 + Identifier 2534374 2534378 + Block 2534380 2534896 + IfStatement 2534382 2534499 + PrefixUnaryExpression 2534408 2534430 + Identifier 2534409 2534430 + Block 2534431 2534499 + ExpressionStatement 2534433 2534476 + BinaryExpression 2534433 2534475 + Identifier 2534433 2534468 + EqualsToken 2534468 2534470 + Identifier 2534470 2534475 + IfStatement 2534499 2534749 + PropertyAccessExpression 2534525 2534546 + Identifier 2534525 2534529 + Identifier 2534530 2534546 + Block 2534547 2534749 + ExpressionStatement 2534549 2534726 + BinaryExpression 2534549 2534725 + Identifier 2534549 2534701 + EqualsToken 2534701 2534703 + PropertyAccessExpression 2534703 2534725 + Identifier 2534703 2534708 + Identifier 2534709 2534725 + ExpressionStatement 2534749 2534794 + BinaryExpression 2534749 2534793 + Identifier 2534749 2534775 + EqualsToken 2534775 2534777 + PropertyAccessExpression 2534777 2534793 + Identifier 2534777 2534782 + Identifier 2534783 2534793 + ExpressionStatement 2534794 2534846 + BinaryExpression 2534794 2534845 + Identifier 2534794 2534837 + EqualsToken 2534837 2534839 + FalseKeyword 2534839 2534845 + ContinueStatement 2534846 2534877 + IfStatement 2534896 2535581 + CallExpression 2535149 2535181 + Identifier 2535149 2535175 + Identifier 2535176 2535180 + Block 2535182 2535581 + IfStatement 2535184 2535434 + PropertyAccessExpression 2535210 2535231 + Identifier 2535210 2535214 + Identifier 2535215 2535231 + Block 2535232 2535434 + ExpressionStatement 2535234 2535411 + BinaryExpression 2535234 2535410 + Identifier 2535234 2535386 + EqualsToken 2535386 2535388 + PropertyAccessExpression 2535388 2535410 + Identifier 2535388 2535393 + Identifier 2535394 2535410 + ExpressionStatement 2535434 2535479 + BinaryExpression 2535434 2535478 + Identifier 2535434 2535460 + EqualsToken 2535460 2535462 + PropertyAccessExpression 2535462 2535478 + Identifier 2535462 2535467 + Identifier 2535468 2535478 + ExpressionStatement 2535479 2535531 + BinaryExpression 2535479 2535530 + Identifier 2535479 2535522 + EqualsToken 2535522 2535524 + FalseKeyword 2535524 2535530 + ContinueStatement 2535531 2535562 + IfStatement 2535581 2535793 + PrefixUnaryExpression 2535605 2535624 + CallExpression 2535606 2535624 + Identifier 2535606 2535618 + Identifier 2535619 2535623 + Block 2535625 2535793 + ExpressionStatement 2535627 2535774 + BinaryExpression 2535627 2535773 + Identifier 2535627 2535766 + EqualsToken 2535766 2535768 + Identifier 2535768 2535773 + BreakStatement 2535793 2535819 + IfStatement 2535834 2536194 + Identifier 2535854 2535863 + Block 2535864 2536194 + ExpressionStatement 2535866 2536149 + CallExpression 2535866 2536148 + Identifier 2535866 2535898 + CallExpression 2535899 2536030 + Identifier 2535899 2535926 + PropertyAccessExpression 2535927 2535947 + Identifier 2535927 2535936 + Identifier 2535937 2535947 + PropertyAccessExpression 2535948 2536029 + Identifier 2535948 2535960 + Identifier 2535961 2536029 + CallExpression 2536031 2536128 + Identifier 2536031 2536076 + Identifier 2536077 2536086 + PropertyAccessExpression 2536087 2536127 + Identifier 2536087 2536099 + Identifier 2536100 2536127 + ReturnStatement 2536149 2536179 + TrueKeyword 2536173 2536178 + ReturnStatement 2536205 2536230 + FalseKeyword 2536223 2536229 + FunctionDeclaration 2536237 2538189 + Identifier 2536283 2536298 + Parameter 2536299 2536314 + Identifier 2536299 2536303 + TypeReference 2536304 2536314 + Identifier 2536304 2536314 + VoidKeyword 2536316 2536321 + Block 2536321 2538189 + ExpressionStatement 2536323 2536361 + CallExpression 2536323 2536360 + Identifier 2536323 2536354 + Identifier 2536355 2536359 + VariableStatement 2536361 2536418 + VariableDeclarationList 2536361 2536417 + VariableDeclaration 2536378 2536417 + Identifier 2536378 2536388 + CallExpression 2536390 2536417 + Identifier 2536390 2536411 + Identifier 2536412 2536416 + ExpressionStatement 2536418 2536470 + CallExpression 2536418 2536469 + Identifier 2536418 2536452 + Identifier 2536453 2536462 + Identifier 2536463 2536468 + VariableStatement 2536470 2536535 + VariableDeclarationList 2536470 2536534 + VariableDeclaration 2536485 2536534 + Identifier 2536485 2536496 + CallExpression 2536498 2536534 + Identifier 2536498 2536523 + Identifier 2536524 2536533 + IfStatement 2536535 2536616 + BinaryExpression 2536549 2536581 + PropertyAccessExpression 2536549 2536565 + Identifier 2536549 2536559 + Identifier 2536560 2536565 + AmpersandToken 2536565 2536567 + PropertyAccessExpression 2536567 2536581 + Identifier 2536567 2536577 + Identifier 2536578 2536581 + Block 2536582 2536616 + ReturnStatement 2536584 2536605 + VariableStatement 2536616 2536819 + VariableDeclarationList 2536616 2536818 + VariableDeclaration 2536765 2536818 + Identifier 2536765 2536784 + CallExpression 2536786 2536818 + Identifier 2536786 2536812 + Identifier 2536813 2536817 + IfStatement 2536819 2536881 + PrefixUnaryExpression 2536833 2536872 + PropertyAccessExpression 2536834 2536872 + Identifier 2536834 2536852 + QuestionDotToken 2536852 2536854 + Identifier 2536854 2536872 + ReturnStatement 2536873 2536881 + VariableStatement 2536881 2536928 + VariableDeclarationList 2536881 2536927 + VariableDeclaration 2536896 2536927 + Identifier 2536896 2536908 + TypeReference 2536909 2536927 + Identifier 2536909 2536927 + VariableStatement 2536928 2537003 + VariableDeclarationList 2536928 2537002 + VariableDeclaration 2536943 2537002 + Identifier 2536943 2536962 + PropertyAccessExpression 2536964 2537002 + Identifier 2536964 2536983 + Identifier 2536984 2537002 + SwitchStatement 2537003 2538086 + PropertyAccessExpression 2537021 2537037 + PropertyAccessExpression 2537021 2537032 + Identifier 2537021 2537025 + Identifier 2537026 2537032 + Identifier 2537033 2537037 + CaseBlock 2537038 2538086 + CaseClause 2537040 2537087 + PropertyAccessExpression 2537058 2537086 + Identifier 2537058 2537069 + Identifier 2537070 2537086 + CaseClause 2537087 2537262 + PropertyAccessExpression 2537105 2537132 + Identifier 2537105 2537116 + Identifier 2537117 2537132 + ExpressionStatement 2537133 2537238 + BinaryExpression 2537133 2537237 + Identifier 2537133 2537162 + EqualsToken 2537162 2537164 + PropertyAccessExpression 2537164 2537237 + Identifier 2537164 2537176 + Identifier 2537177 2537237 + BreakStatement 2537238 2537262 + CaseClause 2537262 2537512 + PropertyAccessExpression 2537282 2537313 + Identifier 2537282 2537293 + Identifier 2537294 2537313 + IfStatement 2537314 2537512 + PrefixUnaryExpression 2537336 2537353 + Identifier 2537337 2537353 + Block 2537354 2537512 + ExpressionStatement 2537356 2537465 + BinaryExpression 2537356 2537464 + Identifier 2537356 2537389 + EqualsToken 2537389 2537391 + PropertyAccessExpression 2537391 2537464 + Identifier 2537391 2537403 + Identifier 2537404 2537464 + BreakStatement 2537465 2537493 + CaseClause 2537512 2537726 + PropertyAccessExpression 2537566 2537587 + Identifier 2537566 2537577 + Identifier 2537578 2537587 + ExpressionStatement 2537588 2537702 + BinaryExpression 2537588 2537701 + Identifier 2537588 2537617 + EqualsToken 2537617 2537619 + PropertyAccessExpression 2537619 2537701 + Identifier 2537619 2537631 + Identifier 2537632 2537701 + BreakStatement 2537702 2537726 + CaseClause 2537726 2537776 + PropertyAccessExpression 2537746 2537775 + Identifier 2537746 2537757 + Identifier 2537758 2537775 + CaseClause 2537776 2537818 + PropertyAccessExpression 2537794 2537817 + Identifier 2537794 2537805 + Identifier 2537806 2537817 + CaseClause 2537818 2537989 + PropertyAccessExpression 2537836 2537859 + Identifier 2537836 2537847 + Identifier 2537848 2537859 + ExpressionStatement 2537860 2537965 + BinaryExpression 2537860 2537964 + Identifier 2537860 2537889 + EqualsToken 2537889 2537891 + PropertyAccessExpression 2537891 2537964 + Identifier 2537891 2537903 + Identifier 2537904 2537964 + BreakStatement 2537965 2537989 + DefaultClause 2537989 2538075 + ReturnStatement 2538013 2538075 + CallExpression 2538037 2538074 + PropertyAccessExpression 2538037 2538061 + Identifier 2538037 2538043 + Identifier 2538044 2538061 + PropertyAccessExpression 2538062 2538073 + Identifier 2538062 2538066 + Identifier 2538067 2538073 + ExpressionStatement 2538086 2538182 + CallExpression 2538086 2538181 + Identifier 2538086 2538119 + Identifier 2538120 2538130 + Identifier 2538131 2538150 + PropertyAccessExpression 2538151 2538167 + Identifier 2538151 2538156 + Identifier 2538157 2538167 + Identifier 2538168 2538180 + FunctionDeclaration 2538189 2538942 + Identifier 2538298 2538318 + Parameter 2538319 2538381 + Identifier 2538319 2538343 + UnionType 2538344 2538381 + TypeOperator 2538344 2538369 + ArrayType 2538353 2538369 + TypeReference 2538353 2538367 + Identifier 2538353 2538367 + UndefinedKeyword 2538371 2538381 + Parameter 2538382 2538425 + Identifier 2538382 2538405 + UnionType 2538406 2538425 + TypeReference 2538406 2538413 + Identifier 2538406 2538413 + UndefinedKeyword 2538415 2538425 + Parameter 2538426 2538465 + Identifier 2538426 2538446 + TypeOperator 2538447 2538465 + ArrayType 2538456 2538465 + TypeReference 2538456 2538463 + Identifier 2538456 2538463 + Parameter 2538466 2538492 + Identifier 2538466 2538486 + TypeReference 2538487 2538492 + Identifier 2538487 2538492 + Parameter 2538493 2538532 + Identifier 2538493 2538516 + QuestionToken 2538516 2538517 + TypeReference 2538518 2538532 + Identifier 2538518 2538532 + Parameter 2538533 2538587 + Identifier 2538533 2538559 + NumberKeyword 2538560 2538567 + PropertyAccessExpression 2538569 2538587 + Identifier 2538569 2538580 + Identifier 2538581 2538587 + Parameter 2538588 2538641 + Identifier 2538588 2538603 + TypeReference 2538604 2538619 + Identifier 2538604 2538619 + PropertyAccessExpression 2538621 2538641 + Identifier 2538621 2538636 + Identifier 2538637 2538641 + Block 2538649 2538942 + VariableStatement 2538651 2538801 + VariableDeclarationList 2538651 2538800 + VariableDeclaration 2538666 2538800 + Identifier 2538666 2538671 + CallExpression 2538673 2538800 + PropertyAccessExpression 2538673 2538704 + Identifier 2538673 2538681 + Identifier 2538682 2538704 + Identifier 2538705 2538733 + Identifier 2538734 2538745 + CallExpression 2538746 2538799 + PropertyAccessExpression 2538746 2538776 + Identifier 2538746 2538754 + Identifier 2538755 2538776 + PropertyAccessExpression 2538777 2538798 + Identifier 2538777 2538787 + Identifier 2538788 2538798 + ReturnStatement 2538801 2538935 + CallExpression 2538817 2538934 + Identifier 2538817 2538833 + Identifier 2538834 2538838 + Identifier 2538839 2538854 + Identifier 2538855 2538869 + Identifier 2538870 2538881 + Identifier 2538882 2538893 + Identifier 2538894 2538908 + Identifier 2538909 2538926 + Identifier 2538927 2538933 + FunctionDeclaration 2538942 2539538 + Identifier 2539019 2539038 + Parameter 2539039 2539101 + Identifier 2539039 2539063 + UnionType 2539064 2539101 + TypeOperator 2539064 2539089 + ArrayType 2539073 2539089 + TypeReference 2539073 2539087 + Identifier 2539073 2539087 + UndefinedKeyword 2539091 2539101 + Parameter 2539102 2539145 + Identifier 2539102 2539125 + UnionType 2539126 2539145 + TypeReference 2539126 2539133 + Identifier 2539126 2539133 + UndefinedKeyword 2539135 2539145 + Parameter 2539146 2539185 + Identifier 2539146 2539166 + TypeOperator 2539167 2539185 + ArrayType 2539176 2539185 + TypeReference 2539176 2539183 + Identifier 2539176 2539183 + Parameter 2539186 2539212 + Identifier 2539186 2539206 + TypeReference 2539207 2539212 + Identifier 2539207 2539212 + Parameter 2539213 2539252 + Identifier 2539213 2539236 + QuestionToken 2539236 2539237 + TypeReference 2539238 2539252 + Identifier 2539238 2539252 + Parameter 2539253 2539288 + Identifier 2539253 2539279 + QuestionToken 2539279 2539280 + NumberKeyword 2539281 2539288 + Parameter 2539289 2539321 + Identifier 2539289 2539304 + QuestionToken 2539304 2539305 + TypeReference 2539306 2539321 + Identifier 2539306 2539321 + Block 2539329 2539538 + VariableStatement 2539331 2539474 + VariableDeclarationList 2539331 2539473 + VariableDeclaration 2539346 2539473 + Identifier 2539346 2539356 + CallExpression 2539358 2539473 + Identifier 2539358 2539378 + Identifier 2539379 2539393 + Identifier 2539394 2539408 + Identifier 2539409 2539420 + Identifier 2539421 2539432 + Identifier 2539433 2539447 + Identifier 2539448 2539465 + Identifier 2539466 2539472 + ReturnStatement 2539474 2539531 + CallExpression 2539490 2539530 + Identifier 2539490 2539519 + Identifier 2539520 2539529 + FunctionDeclaration 2539538 2539713 + Identifier 2539554 2539579 + Parameter 2539580 2539590 + Identifier 2539580 2539584 + TypeReference 2539585 2539590 + Identifier 2539585 2539590 + Block 2539591 2539713 + ReturnStatement 2539593 2539706 + CallExpression 2539609 2539705 + Identifier 2539609 2539628 + Identifier 2539629 2539657 + Identifier 2539658 2539686 + Identifier 2539687 2539698 + Identifier 2539699 2539704 + FunctionDeclaration 2539713 2539966 + Identifier 2539729 2539754 + Parameter 2539755 2539765 + Identifier 2539755 2539759 + TypeReference 2539760 2539765 + Identifier 2539760 2539765 + Block 2539766 2539966 + VariableStatement 2539768 2539840 + VariableDeclarationList 2539768 2539839 + VariableDeclaration 2539783 2539839 + Identifier 2539783 2539794 + CallExpression 2539796 2539839 + Identifier 2539796 2539812 + AsExpression 2539813 2539832 + StringLiteral 2539813 2539820 + TypeReference 2539823 2539832 + Identifier 2539823 2539832 + Identifier 2539833 2539838 + ReturnStatement 2539840 2539959 + CallExpression 2539856 2539958 + Identifier 2539856 2539875 + Identifier 2539876 2539904 + Identifier 2539905 2539933 + ArrayLiteralExpression 2539934 2539947 + Identifier 2539936 2539946 + Identifier 2539948 2539957 + FunctionDeclaration 2539966 2540905 + Identifier 2539982 2540016 + Parameter 2540017 2540043 + Identifier 2540017 2540021 + UnionType 2540022 2540043 + TypeReference 2540022 2540031 + Identifier 2540022 2540031 + UndefinedKeyword 2540033 2540043 + UnionType 2540045 2540068 + TypeReference 2540045 2540056 + Identifier 2540045 2540056 + UndefinedKeyword 2540058 2540068 + Block 2540068 2540905 + IfStatement 2540070 2540898 + Identifier 2540084 2540088 + Block 2540089 2540898 + SwitchStatement 2540091 2540887 + PropertyAccessExpression 2540113 2540122 + Identifier 2540113 2540117 + Identifier 2540118 2540122 + CaseBlock 2540123 2540887 + CaseClause 2540125 2540176 + PropertyAccessExpression 2540147 2540175 + Identifier 2540147 2540158 + Identifier 2540159 2540175 + CaseClause 2540176 2540340 + PropertyAccessExpression 2540198 2540219 + Identifier 2540198 2540209 + Identifier 2540210 2540219 + ReturnStatement 2540220 2540340 + CallExpression 2540248 2540339 + Identifier 2540248 2540294 + PropertyAccessExpression 2540295 2540338 + ParenthesizedExpression 2540295 2540332 + AsExpression 2540296 2540331 + Identifier 2540296 2540300 + TypeReference 2540303 2540331 + Identifier 2540303 2540331 + Identifier 2540333 2540338 + CaseClause 2540340 2540550 + PropertyAccessExpression 2540364 2540391 + Identifier 2540364 2540375 + Identifier 2540376 2540391 + ReturnStatement 2540392 2540550 + CallExpression 2540420 2540549 + Identifier 2540420 2540466 + ArrayLiteralExpression 2540467 2540548 + PropertyAccessExpression 2540468 2540506 + ParenthesizedExpression 2540468 2540497 + AsExpression 2540469 2540496 + Identifier 2540469 2540473 + TypeReference 2540476 2540496 + Identifier 2540476 2540496 + Identifier 2540498 2540506 + PropertyAccessExpression 2540507 2540547 + ParenthesizedExpression 2540507 2540537 + AsExpression 2540509 2540536 + Identifier 2540509 2540513 + TypeReference 2540516 2540536 + Identifier 2540516 2540536 + Identifier 2540538 2540547 + CaseClause 2540550 2540604 + PropertyAccessExpression 2540574 2540603 + Identifier 2540574 2540585 + Identifier 2540586 2540603 + CaseClause 2540604 2540756 + PropertyAccessExpression 2540626 2540654 + Identifier 2540626 2540637 + Identifier 2540638 2540654 + ReturnStatement 2540655 2540756 + CallExpression 2540683 2540755 + Identifier 2540683 2540717 + PropertyAccessExpression 2540718 2540754 + ParenthesizedExpression 2540718 2540749 + AsExpression 2540719 2540748 + Identifier 2540719 2540723 + TypeReference 2540726 2540748 + Identifier 2540726 2540748 + Identifier 2540750 2540754 + CaseClause 2540756 2540872 + PropertyAccessExpression 2540780 2540805 + Identifier 2540780 2540791 + Identifier 2540792 2540805 + ReturnStatement 2540806 2540872 + PropertyAccessExpression 2540834 2540871 + ParenthesizedExpression 2540834 2540862 + AsExpression 2540836 2540861 + Identifier 2540836 2540840 + TypeReference 2540843 2540861 + Identifier 2540843 2540861 + Identifier 2540863 2540871 + FunctionDeclaration 2540905 2543095 + Identifier 2540921 2540967 + Parameter 2540968 2540994 + Identifier 2540968 2540973 + TypeOperator 2540974 2540994 + ArrayType 2540983 2540994 + TypeReference 2540983 2540992 + Identifier 2540983 2540992 + UnionType 2540996 2541019 + TypeReference 2540996 2541007 + Identifier 2540996 2541007 + UndefinedKeyword 2541009 2541019 + Block 2541019 2543095 + VariableStatement 2541021 2541076 + VariableDeclarationList 2541021 2541075 + VariableDeclaration 2541034 2541075 + Identifier 2541034 2541051 + UnionType 2541052 2541075 + TypeReference 2541052 2541063 + Identifier 2541052 2541063 + UndefinedKeyword 2541065 2541075 + ForOfStatement 2541076 2543054 + VariableDeclarationList 2541091 2541103 + VariableDeclaration 2541094 2541103 + Identifier 2541094 2541103 + Identifier 2541106 2541112 + Block 2541113 2543054 + WhileStatement 2541115 2541364 + BinaryExpression 2541136 2541231 + BinaryExpression 2541136 2541182 + PropertyAccessExpression 2541136 2541149 + Identifier 2541136 2541144 + Identifier 2541145 2541149 + EqualsEqualsEqualsToken 2541149 2541153 + PropertyAccessExpression 2541153 2541182 + Identifier 2541153 2541164 + Identifier 2541165 2541182 + BarBarToken 2541182 2541185 + BinaryExpression 2541185 2541231 + PropertyAccessExpression 2541185 2541199 + Identifier 2541185 2541194 + Identifier 2541195 2541199 + EqualsEqualsEqualsToken 2541199 2541203 + PropertyAccessExpression 2541203 2541231 + Identifier 2541203 2541214 + Identifier 2541215 2541231 + Block 2541232 2541364 + ExpressionStatement 2541234 2541323 + BinaryExpression 2541234 2541322 + Identifier 2541234 2541260 + EqualsToken 2541260 2541262 + PropertyAccessExpression 2541262 2541322 + ParenthesizedExpression 2541262 2541317 + AsExpression 2541264 2541316 + Identifier 2541264 2541272 + UnionType 2541275 2541316 + TypeReference 2541275 2541297 + Identifier 2541275 2541297 + TypeReference 2541299 2541316 + Identifier 2541299 2541316 + Identifier 2541318 2541322 + IfStatement 2541364 2541532 + BinaryExpression 2541382 2541423 + PropertyAccessExpression 2541382 2541395 + Identifier 2541382 2541390 + Identifier 2541391 2541395 + EqualsEqualsEqualsToken 2541395 2541399 + PropertyAccessExpression 2541399 2541423 + Identifier 2541399 2541410 + Identifier 2541411 2541423 + Block 2541424 2541532 + ContinueStatement 2541426 2541453 + IfStatement 2541532 2541906 + BinaryExpression 2541550 2541735 + PrefixUnaryExpression 2541550 2541567 + Identifier 2541551 2541567 + AmpersandAmpersandToken 2541567 2541570 + ParenthesizedExpression 2541570 2541735 + BinaryExpression 2541572 2541734 + BinaryExpression 2541572 2541685 + BinaryExpression 2541572 2541612 + PropertyAccessExpression 2541572 2541585 + Identifier 2541572 2541580 + Identifier 2541581 2541585 + EqualsEqualsEqualsToken 2541585 2541589 + PropertyAccessExpression 2541589 2541612 + Identifier 2541589 2541600 + Identifier 2541601 2541612 + AmpersandAmpersandToken 2541612 2541615 + BinaryExpression 2541615 2541685 + PropertyAccessExpression 2541615 2541658 + PropertyAccessExpression 2541615 2541653 + ParenthesizedExpression 2541615 2541645 + AsExpression 2541617 2541644 + Identifier 2541617 2541625 + TypeReference 2541628 2541644 + Identifier 2541628 2541644 + Identifier 2541646 2541653 + Identifier 2541654 2541658 + EqualsEqualsEqualsToken 2541658 2541662 + PropertyAccessExpression 2541662 2541685 + Identifier 2541662 2541673 + Identifier 2541674 2541685 + BarBarToken 2541685 2541688 + BinaryExpression 2541688 2541734 + PropertyAccessExpression 2541688 2541702 + Identifier 2541688 2541697 + Identifier 2541698 2541702 + EqualsEqualsEqualsToken 2541702 2541706 + PropertyAccessExpression 2541706 2541734 + Identifier 2541706 2541717 + Identifier 2541718 2541734 + Block 2541736 2541906 + ContinueStatement 2541738 2541765 + VariableStatement 2541906 2541993 + VariableDeclarationList 2541906 2541992 + VariableDeclaration 2541925 2541992 + Identifier 2541925 2541946 + CallExpression 2541948 2541992 + Identifier 2541948 2541982 + Identifier 2541983 2541991 + IfStatement 2541993 2542264 + PrefixUnaryExpression 2542011 2542032 + Identifier 2542012 2542032 + Block 2542033 2542264 + ReturnStatement 2542035 2542249 + Identifier 2542238 2542248 + IfStatement 2542264 2543043 + Identifier 2542284 2542300 + Block 2542301 2542950 + IfStatement 2542303 2542935 + BinaryExpression 2542653 2542856 + BinaryExpression 2542653 2542766 + PrefixUnaryExpression 2542653 2542706 + CallExpression 2542676 2542706 + Identifier 2542676 2542688 + Identifier 2542689 2542705 + BarBarToken 2542706 2542709 + PrefixUnaryExpression 2542709 2542766 + CallExpression 2542732 2542766 + Identifier 2542732 2542744 + Identifier 2542745 2542765 + BarBarToken 2542766 2542769 + BinaryExpression 2542769 2542856 + PropertyAccessExpression 2542769 2542819 + Identifier 2542769 2542807 + Identifier 2542808 2542819 + ExclamationEqualsEqualsToken 2542819 2542823 + PropertyAccessExpression 2542823 2542856 + Identifier 2542823 2542844 + Identifier 2542845 2542856 + Block 2542875 2542935 + ReturnStatement 2542877 2542916 + Identifier 2542905 2542915 + Block 2542968 2543043 + ExpressionStatement 2542970 2543028 + BinaryExpression 2542970 2543027 + Identifier 2542970 2543004 + EqualsToken 2543004 2543006 + Identifier 2543006 2543027 + ReturnStatement 2543054 2543088 + Identifier 2543070 2543087 + FunctionDeclaration 2543095 2543362 + Identifier 2543111 2543149 + Parameter 2543150 2543176 + Identifier 2543150 2543154 + TypeReference 2543155 2543176 + Identifier 2543155 2543176 + UnionType 2543178 2543199 + TypeReference 2543178 2543187 + Identifier 2543178 2543187 + UndefinedKeyword 2543189 2543199 + Block 2543199 2543362 + VariableStatement 2543201 2543265 + VariableDeclarationList 2543201 2543264 + VariableDeclaration 2543216 2543264 + Identifier 2543216 2543225 + CallExpression 2543227 2543264 + Identifier 2543227 2543258 + Identifier 2543259 2543263 + ReturnStatement 2543265 2543355 + ConditionalExpression 2543281 2543354 + CallExpression 2543281 2543303 + Identifier 2543281 2543297 + Identifier 2543298 2543302 + QuestionToken 2543303 2543305 + CallExpression 2543305 2543343 + Identifier 2543305 2543333 + Identifier 2543334 2543342 + ColonToken 2543343 2543345 + Identifier 2543345 2543354 + FunctionDeclaration 2543362 2545679 + Identifier 2543421 2543437 + Parameter 2543438 2543448 + Identifier 2543438 2543442 + TypeReference 2543443 2543448 + Identifier 2543443 2543448 + VoidKeyword 2543450 2543455 + Block 2543455 2545679 + IfStatement 2543457 2543806 + BinaryExpression 2543624 2543771 + BinaryExpression 2543624 2543691 + BinaryExpression 2543624 2543672 + PrefixUnaryExpression 2543624 2543648 + CallExpression 2543625 2543648 + Identifier 2543625 2543642 + Identifier 2543643 2543647 + BarBarToken 2543648 2543651 + PrefixUnaryExpression 2543651 2543672 + CallExpression 2543653 2543672 + Identifier 2543653 2543666 + Identifier 2543667 2543671 + BarBarToken 2543672 2543675 + PrefixUnaryExpression 2543675 2543691 + PropertyAccessExpression 2543677 2543691 + Identifier 2543677 2543681 + Identifier 2543682 2543691 + BarBarToken 2543691 2543694 + PrefixUnaryExpression 2543694 2543771 + CallExpression 2543696 2543771 + Identifier 2543696 2543714 + Identifier 2543715 2543731 + Identifier 2543732 2543737 + PropertyAccessExpression 2543738 2543750 + Identifier 2543738 2543743 + Identifier 2543744 2543750 + PropertyAccessExpression 2543751 2543770 + PropertyAccessExpression 2543751 2543763 + Identifier 2543751 2543756 + Identifier 2543757 2543763 + Identifier 2543764 2543770 + Block 2543772 2543806 + ReturnStatement 2543774 2543795 + VariableStatement 2543806 2543875 + VariableDeclarationList 2543806 2543874 + VariableDeclaration 2543823 2543874 + Identifier 2543823 2543838 + CallExpression 2543840 2543874 + Identifier 2543840 2543845 + PropertyAccessExpression 2543846 2543860 + Identifier 2543846 2543850 + Identifier 2543851 2543860 + Identifier 2543861 2543873 + IfStatement 2543875 2543939 + PrefixUnaryExpression 2543889 2543904 + Identifier 2543890 2543904 + Block 2543905 2543939 + ReturnStatement 2543907 2543928 + IfStatement 2543939 2545445 + Identifier 2543955 2543971 + Block 2543972 2544226 + ExpressionStatement 2543974 2544059 + CallExpression 2543974 2544058 + Identifier 2543974 2544012 + Identifier 2544013 2544027 + PropertyAccessExpression 2544028 2544057 + Identifier 2544028 2544048 + Identifier 2544049 2544057 + IfStatement 2544059 2544215 + BinaryExpression 2544077 2544111 + PropertyAccessExpression 2544077 2544086 + Identifier 2544077 2544081 + Identifier 2544082 2544086 + EqualsEqualsEqualsToken 2544086 2544090 + PropertyAccessExpression 2544090 2544111 + Identifier 2544090 2544101 + Identifier 2544102 2544111 + Block 2544112 2544215 + ExpressionStatement 2544114 2544200 + CallExpression 2544114 2544199 + Identifier 2544114 2544156 + Identifier 2544157 2544171 + PropertyAccessExpression 2544172 2544198 + Identifier 2544172 2544192 + Identifier 2544193 2544198 + IfStatement 2544240 2545445 + BinaryExpression 2544245 2544322 + Identifier 2544245 2544260 + LessThanToken 2544260 2544262 + PropertyAccessExpression 2544262 2544322 + Identifier 2544262 2544291 + Identifier 2544292 2544322 + Block 2544323 2545445 + ExpressionStatement 2544325 2544430 + CallExpression 2544325 2544429 + Identifier 2544325 2544363 + Identifier 2544364 2544378 + PropertyAccessExpression 2544379 2544428 + Identifier 2544379 2544399 + Identifier 2544400 2544428 + IfStatement 2544430 2545434 + CallExpression 2544448 2544472 + Identifier 2544448 2544466 + Identifier 2544467 2544471 + Block 2544473 2544932 + IfStatement 2544475 2544917 + PrefixUnaryExpression 2544497 2544507 + PropertyAccessExpression 2544498 2544507 + Identifier 2544498 2544502 + Identifier 2544503 2544507 + Block 2544508 2544629 + ExpressionStatement 2544510 2544610 + CallExpression 2544510 2544609 + Identifier 2544510 2544556 + Identifier 2544557 2544571 + PropertyAccessExpression 2544572 2544608 + Identifier 2544572 2544592 + Identifier 2544593 2544608 + Block 2544651 2544917 + VariableStatement 2544653 2544736 + VariableDeclarationList 2544653 2544735 + VariableDeclaration 2544680 2544735 + Identifier 2544680 2544687 + CallExpression 2544689 2544735 + Identifier 2544689 2544729 + Identifier 2544730 2544734 + IfStatement 2544736 2544898 + Identifier 2544762 2544768 + Block 2544769 2544898 + ExpressionStatement 2544771 2544875 + CallExpression 2544771 2544874 + Identifier 2544771 2544821 + Identifier 2544822 2544836 + PropertyAccessExpression 2544837 2544873 + Identifier 2544837 2544857 + Identifier 2544858 2544873 + IfStatement 2544950 2545434 + PrefixUnaryExpression 2544955 2544979 + CallExpression 2544956 2544979 + Identifier 2544956 2544973 + Identifier 2544974 2544978 + Block 2544980 2545434 + IfStatement 2544982 2545250 + BinaryExpression 2545004 2545128 + CallExpression 2545004 2545034 + Identifier 2545004 2545023 + PropertyAccessExpression 2545024 2545033 + Identifier 2545024 2545028 + Identifier 2545029 2545033 + AmpersandAmpersandToken 2545034 2545037 + ParenthesizedExpression 2545037 2545128 + BinaryExpression 2545039 2545127 + BinaryExpression 2545039 2545084 + CallExpression 2545039 2545064 + Identifier 2545039 2545058 + Identifier 2545059 2545063 + BarBarToken 2545064 2545067 + CallExpression 2545067 2545084 + Identifier 2545067 2545078 + Identifier 2545079 2545083 + BarBarToken 2545084 2545087 + CallExpression 2545087 2545127 + Identifier 2545087 2545121 + Identifier 2545122 2545126 + Block 2545129 2545250 + ExpressionStatement 2545131 2545231 + CallExpression 2545131 2545230 + Identifier 2545131 2545177 + Identifier 2545178 2545192 + PropertyAccessExpression 2545193 2545229 + Identifier 2545193 2545213 + Identifier 2545214 2545229 + IfStatement 2545250 2545419 + CallExpression 2545272 2545305 + Identifier 2545272 2545294 + PropertyAccessExpression 2545295 2545304 + Identifier 2545295 2545299 + Identifier 2545300 2545304 + Block 2545306 2545419 + ExpressionStatement 2545308 2545400 + CallExpression 2545308 2545399 + Identifier 2545308 2545354 + Identifier 2545355 2545369 + PropertyAccessExpression 2545370 2545398 + Identifier 2545370 2545390 + Identifier 2545391 2545398 + ExpressionStatement 2545445 2545509 + CallExpression 2545445 2545508 + Identifier 2545445 2545477 + Identifier 2545478 2545482 + PropertyAccessExpression 2545483 2545507 + Identifier 2545483 2545497 + Identifier 2545498 2545507 + ForOfStatement 2545509 2545672 + VariableDeclarationList 2545526 2545540 + VariableDeclaration 2545531 2545540 + Identifier 2545531 2545540 + PropertyAccessExpression 2545543 2545558 + Identifier 2545543 2545548 + Identifier 2545549 2545558 + Block 2545559 2545672 + IfStatement 2545561 2545661 + CallExpression 2545579 2545600 + Identifier 2545579 2545590 + Identifier 2545591 2545599 + Block 2545601 2545661 + ExpressionStatement 2545603 2545646 + CallExpression 2545603 2545645 + Identifier 2545603 2545635 + Identifier 2545636 2545644 + FunctionDeclaration 2545679 2546061 + Identifier 2545695 2545720 + Parameter 2545721 2545746 + Identifier 2545721 2545725 + TypeReference 2545726 2545746 + Identifier 2545726 2545746 + VoidKeyword 2545748 2545753 + Block 2545753 2546061 + ExpressionStatement 2545755 2545820 + CallExpression 2545755 2545819 + Identifier 2545755 2545782 + Identifier 2545783 2545818 + FunctionDeclaration 2545820 2546054 + Identifier 2545840 2545876 + Block 2545878 2546054 + ExpressionStatement 2545880 2545933 + CallExpression 2545880 2545932 + Identifier 2545880 2545926 + Identifier 2545927 2545931 + ExpressionStatement 2545933 2545978 + CallExpression 2545933 2545977 + Identifier 2545933 2545971 + Identifier 2545972 2545976 + ExpressionStatement 2545978 2546043 + CallExpression 2545978 2546042 + Identifier 2545978 2546025 + Identifier 2546026 2546030 + PropertyAccessExpression 2546031 2546041 + Identifier 2546031 2546036 + Identifier 2546037 2546041 + FunctionDeclaration 2546061 2546708 + Identifier 2546077 2546100 + Parameter 2546101 2546141 + Identifier 2546101 2546105 + UnionType 2546106 2546141 + TypeReference 2546106 2546122 + Identifier 2546106 2546122 + TypeReference 2546124 2546141 + Identifier 2546124 2546141 + Block 2546142 2546708 + IfStatement 2546144 2546447 + PrefixUnaryExpression 2546158 2546178 + PropertyAccessExpression 2546159 2546178 + Identifier 2546159 2546163 + Identifier 2546164 2546178 + Block 2546179 2546447 + ExpressionStatement 2546181 2546436 + CallExpression 2546181 2546435 + Identifier 2546181 2546314 + PropertyAccessExpression 2546315 2546324 + Identifier 2546315 2546319 + Identifier 2546320 2546324 + PropertyAccessExpression 2546325 2546434 + Identifier 2546325 2546337 + Identifier 2546338 2546434 + IfStatement 2546447 2546576 + PropertyAccessExpression 2546463 2546472 + Identifier 2546463 2546467 + Identifier 2546468 2546472 + Block 2546473 2546576 + ExpressionStatement 2546475 2546565 + CallExpression 2546475 2546564 + Identifier 2546475 2546512 + PropertyAccessExpression 2546513 2546522 + Identifier 2546513 2546517 + Identifier 2546518 2546522 + PropertyAccessExpression 2546523 2546563 + Identifier 2546523 2546535 + Identifier 2546536 2546563 + ExpressionStatement 2546576 2546626 + CallExpression 2546576 2546625 + Identifier 2546576 2546604 + PropertyAccessExpression 2546605 2546624 + Identifier 2546605 2546609 + Identifier 2546610 2546624 + ExpressionStatement 2546626 2546701 + CallExpression 2546626 2546700 + Identifier 2546626 2546655 + CallExpression 2546656 2546699 + Identifier 2546656 2546693 + Identifier 2546694 2546698 + FunctionDeclaration 2546708 2546928 + Identifier 2546724 2546746 + Parameter 2546747 2546769 + Identifier 2546747 2546751 + TypeReference 2546752 2546769 + Identifier 2546752 2546769 + VoidKeyword 2546771 2546776 + Block 2546776 2546928 + ExpressionStatement 2546778 2546824 + CallExpression 2546778 2546823 + Identifier 2546778 2546806 + PropertyAccessExpression 2546807 2546822 + Identifier 2546807 2546811 + Identifier 2546812 2546822 + ForOfStatement 2546824 2546921 + VariableDeclarationList 2546839 2546847 + VariableDeclaration 2546844 2546847 + Identifier 2546844 2546847 + PropertyAccessExpression 2546850 2546870 + Identifier 2546850 2546855 + Identifier 2546856 2546870 + Block 2546871 2546921 + ExpressionStatement 2546873 2546910 + CallExpression 2546873 2546909 + Identifier 2546873 2546905 + Identifier 2546906 2546908 + FunctionDeclaration 2546928 2547041 + Identifier 2546944 2546962 + Parameter 2546963 2546981 + Identifier 2546963 2546967 + TypeReference 2546968 2546981 + Identifier 2546968 2546981 + Block 2546982 2547041 + ExpressionStatement 2546984 2547034 + CallExpression 2546984 2547033 + Identifier 2546984 2547012 + PropertyAccessExpression 2547013 2547032 + Identifier 2547013 2547017 + Identifier 2547018 2547032 + FunctionDeclaration 2547041 2547592 + Identifier 2547057 2547080 + Parameter 2547081 2547104 + Identifier 2547081 2547085 + TypeReference 2547086 2547104 + Identifier 2547086 2547104 + Block 2547105 2547592 + ExpressionStatement 2547107 2547157 + CallExpression 2547107 2547156 + Identifier 2547107 2547135 + PropertyAccessExpression 2547136 2547155 + Identifier 2547136 2547140 + Identifier 2547141 2547155 + VariableStatement 2547157 2547208 + VariableDeclarationList 2547157 2547207 + VariableDeclaration 2547172 2547207 + Identifier 2547172 2547177 + CallExpression 2547179 2547207 + Identifier 2547179 2547201 + Identifier 2547202 2547206 + IfStatement 2547208 2547585 + Identifier 2547222 2547226 + Block 2547227 2547585 + VariableStatement 2547229 2547299 + VariableDeclarationList 2547229 2547298 + VariableDeclaration 2547248 2547298 + Identifier 2547248 2547253 + CallExpression 2547255 2547298 + Identifier 2547255 2547271 + Identifier 2547272 2547276 + Identifier 2547277 2547297 + IfStatement 2547299 2547574 + BinaryExpression 2547317 2547333 + CallExpression 2547317 2547329 + Identifier 2547317 2547323 + Identifier 2547324 2547328 + GreaterThanToken 2547329 2547331 + NumericLiteral 2547331 2547333 + Block 2547334 2547574 + ForStatement 2547336 2547559 + VariableDeclarationList 2547359 2547368 + VariableDeclaration 2547362 2547368 + Identifier 2547362 2547364 + NumericLiteral 2547366 2547368 + BinaryExpression 2547369 2547386 + Identifier 2547369 2547371 + LessThanToken 2547371 2547373 + CallExpression 2547373 2547386 + Identifier 2547373 2547380 + Identifier 2547381 2547385 + PostfixUnaryExpression 2547387 2547391 + Identifier 2547387 2547389 + Block 2547392 2547559 + VariableStatement 2547394 2547448 + VariableDeclarationList 2547394 2547447 + VariableDeclaration 2547421 2547447 + Identifier 2547421 2547429 + PropertyAccessExpression 2547431 2547447 + ElementAccessExpression 2547431 2547439 + Identifier 2547431 2547436 + Identifier 2547437 2547438 + Identifier 2547440 2547447 + ExpressionStatement 2547448 2547540 + CallExpression 2547448 2547539 + Identifier 2547448 2547475 + Identifier 2547476 2547483 + PropertyAccessExpression 2547484 2547521 + Identifier 2547484 2547496 + Identifier 2547497 2547521 + CallExpression 2547522 2547538 + Identifier 2547522 2547529 + Identifier 2547530 2547537 + FunctionDeclaration 2547592 2547797 + Identifier 2547608 2547630 + Parameter 2547631 2547679 + Identifier 2547631 2547635 + UnionType 2547636 2547679 + TypeReference 2547636 2547646 + Identifier 2547636 2547646 + TypeReference 2547648 2547662 + Identifier 2547648 2547662 + TypeReference 2547664 2547679 + Identifier 2547664 2547679 + Block 2547680 2547797 + IfStatement 2547682 2547790 + PropertyAccessExpression 2547696 2547705 + Identifier 2547696 2547700 + Identifier 2547701 2547705 + Block 2547706 2547790 + ExpressionStatement 2547708 2547779 + CallExpression 2547708 2547778 + Identifier 2547708 2547744 + PropertyAccessExpression 2547745 2547754 + Identifier 2547745 2547749 + Identifier 2547750 2547754 + TrueKeyword 2547755 2547777 + FunctionDeclaration 2547797 2547920 + Identifier 2547813 2547836 + Parameter 2547837 2547860 + Identifier 2547837 2547841 + TypeReference 2547842 2547860 + Identifier 2547842 2547860 + Block 2547861 2547920 + ExpressionStatement 2547863 2547913 + CallExpression 2547863 2547912 + Identifier 2547863 2547891 + PropertyAccessExpression 2547892 2547911 + Identifier 2547892 2547896 + Identifier 2547897 2547911 + FunctionDeclaration 2547920 2548041 + Identifier 2547936 2547958 + Parameter 2547959 2547981 + Identifier 2547959 2547963 + TypeReference 2547964 2547981 + Identifier 2547964 2547981 + Block 2547982 2548041 + ExpressionStatement 2547984 2548034 + CallExpression 2547984 2548033 + Identifier 2547984 2548012 + PropertyAccessExpression 2548013 2548032 + Identifier 2548013 2548017 + Identifier 2548018 2548032 + FunctionDeclaration 2548041 2548427 + Identifier 2548057 2548080 + Parameter 2548081 2548104 + Identifier 2548081 2548085 + TypeReference 2548086 2548104 + Identifier 2548086 2548104 + VoidKeyword 2548106 2548111 + Block 2548111 2548427 + ExpressionStatement 2548113 2548176 + CallExpression 2548113 2548175 + Identifier 2548113 2548140 + Identifier 2548141 2548174 + ExpressionStatement 2548176 2548218 + CallExpression 2548176 2548217 + Identifier 2548176 2548211 + Identifier 2548212 2548216 + FunctionDeclaration 2548218 2548420 + Identifier 2548238 2548272 + Block 2548274 2548420 + IfStatement 2548276 2548409 + BinaryExpression 2548294 2548340 + PrefixUnaryExpression 2548294 2548304 + PropertyAccessExpression 2548295 2548304 + Identifier 2548295 2548299 + Identifier 2548300 2548304 + AmpersandAmpersandToken 2548304 2548307 + PrefixUnaryExpression 2548307 2548340 + CallExpression 2548309 2548340 + Identifier 2548309 2548334 + Identifier 2548335 2548339 + Block 2548341 2548409 + ExpressionStatement 2548343 2548394 + CallExpression 2548343 2548393 + Identifier 2548343 2548378 + Identifier 2548379 2548383 + Identifier 2548384 2548392 + FunctionDeclaration 2548427 2548692 + Identifier 2548443 2548461 + Parameter 2548462 2548480 + Identifier 2548462 2548466 + TypeReference 2548467 2548480 + Identifier 2548467 2548480 + Block 2548481 2548692 + VariableStatement 2548483 2548534 + VariableDeclarationList 2548483 2548533 + VariableDeclaration 2548498 2548533 + Identifier 2548498 2548503 + CallExpression 2548505 2548533 + Identifier 2548505 2548527 + Identifier 2548528 2548532 + IfStatement 2548534 2548685 + BinaryExpression 2548548 2548577 + Identifier 2548548 2548552 + AmpersandAmpersandToken 2548552 2548555 + CallExpression 2548555 2548577 + Identifier 2548555 2548571 + Identifier 2548572 2548576 + Block 2548578 2548685 + ExpressionStatement 2548580 2548674 + CallExpression 2548580 2548673 + Identifier 2548580 2548599 + PropertyAccessExpression 2548600 2548612 + Identifier 2548600 2548604 + Identifier 2548605 2548612 + PropertyAccessExpression 2548613 2548672 + Identifier 2548613 2548625 + Identifier 2548626 2548672 + FunctionDeclaration 2548692 2548797 + Identifier 2548708 2548728 + Parameter 2548729 2548749 + Identifier 2548729 2548733 + TypeReference 2548734 2548749 + Identifier 2548734 2548749 + Block 2548750 2548797 + ExpressionStatement 2548752 2548790 + CallExpression 2548752 2548789 + Identifier 2548752 2548783 + Identifier 2548784 2548788 + FunctionDeclaration 2548797 2549140 + Identifier 2548813 2548837 + Parameter 2548838 2548862 + Identifier 2548838 2548842 + TypeReference 2548843 2548862 + Identifier 2548843 2548862 + VoidKeyword 2548864 2548869 + Block 2548869 2549140 + VariableStatement 2548871 2548927 + VariableDeclarationList 2548871 2548926 + VariableDeclaration 2548886 2548926 + Identifier 2548886 2548896 + CallExpression 2548898 2548926 + Identifier 2548898 2548920 + Identifier 2548921 2548925 + IfStatement 2548927 2549133 + BinaryExpression 2548941 2549018 + PrefixUnaryExpression 2548941 2548951 + Identifier 2548942 2548951 + BarBarToken 2548951 2548954 + BinaryExpression 2548954 2549018 + PrefixUnaryExpression 2548954 2548985 + CallExpression 2548956 2548985 + Identifier 2548956 2548974 + Identifier 2548975 2548984 + AmpersandAmpersandToken 2548985 2548988 + PrefixUnaryExpression 2548988 2549018 + CallExpression 2548990 2549018 + Identifier 2548990 2549007 + Identifier 2549008 2549017 + Block 2549019 2549133 + ExpressionStatement 2549021 2549122 + CallExpression 2549021 2549121 + Identifier 2549021 2549040 + Identifier 2549041 2549050 + PropertyAccessExpression 2549051 2549098 + Identifier 2549051 2549063 + Identifier 2549064 2549098 + CallExpression 2549099 2549120 + Identifier 2549099 2549106 + PropertyAccessExpression 2549107 2549119 + Identifier 2549107 2549111 + Identifier 2549112 2549119 + FunctionDeclaration 2549140 2550313 + Identifier 2549156 2549178 + Parameter 2549179 2549201 + Identifier 2549179 2549183 + TypeReference 2549184 2549201 + Identifier 2549184 2549201 + VoidKeyword 2549203 2549208 + Block 2549208 2550313 + VariableStatement 2549210 2549266 + VariableDeclarationList 2549210 2549265 + VariableDeclaration 2549225 2549265 + Identifier 2549225 2549235 + CallExpression 2549237 2549265 + Identifier 2549237 2549259 + Identifier 2549260 2549264 + IfStatement 2549266 2549493 + BinaryExpression 2549280 2549357 + PrefixUnaryExpression 2549280 2549290 + Identifier 2549281 2549290 + BarBarToken 2549290 2549293 + BinaryExpression 2549293 2549357 + PrefixUnaryExpression 2549293 2549324 + CallExpression 2549295 2549324 + Identifier 2549295 2549313 + Identifier 2549314 2549323 + AmpersandAmpersandToken 2549324 2549327 + PrefixUnaryExpression 2549327 2549357 + CallExpression 2549329 2549357 + Identifier 2549329 2549346 + Identifier 2549347 2549356 + Block 2549358 2549493 + ExpressionStatement 2549360 2549461 + CallExpression 2549360 2549460 + Identifier 2549360 2549379 + Identifier 2549380 2549389 + PropertyAccessExpression 2549390 2549437 + Identifier 2549390 2549402 + Identifier 2549403 2549437 + CallExpression 2549438 2549459 + Identifier 2549438 2549445 + PropertyAccessExpression 2549446 2549458 + Identifier 2549446 2549450 + Identifier 2549451 2549458 + ReturnStatement 2549461 2549482 + VariableStatement 2549493 2549577 + VariableDeclarationList 2549493 2549576 + VariableDeclaration 2549510 2549576 + Identifier 2549510 2549523 + CallExpression 2549525 2549576 + PropertyAccessExpression 2549525 2549556 + CallExpression 2549525 2549549 + Identifier 2549525 2549538 + Identifier 2549539 2549548 + Identifier 2549550 2549556 + Identifier 2549557 2549575 + ExpressionStatement 2549577 2549625 + CallExpression 2549577 2549624 + PropertyAccessExpression 2549577 2549599 + Identifier 2549577 2549592 + Identifier 2549593 2549599 + BinaryExpression 2549600 2549623 + PropertyAccessExpression 2549600 2549619 + Identifier 2549600 2549612 + Identifier 2549613 2549619 + GreaterThanToken 2549619 2549621 + NumericLiteral 2549621 2549623 + IfStatement 2549625 2549795 + BinaryExpression 2549639 2549662 + PropertyAccessExpression 2549639 2549658 + Identifier 2549639 2549651 + Identifier 2549652 2549658 + GreaterThanToken 2549658 2549660 + NumericLiteral 2549660 2549662 + Block 2549663 2549795 + ExpressionStatement 2549665 2549784 + CallExpression 2549665 2549783 + Identifier 2549665 2549684 + ElementAccessExpression 2549685 2549700 + Identifier 2549685 2549697 + NumericLiteral 2549698 2549699 + PropertyAccessExpression 2549701 2549782 + Identifier 2549701 2549713 + Identifier 2549714 2549782 + VariableStatement 2549795 2549881 + VariableDeclarationList 2549795 2549880 + VariableDeclaration 2549812 2549880 + Identifier 2549812 2549817 + CallExpression 2549819 2549880 + Identifier 2549819 2549857 + PropertyAccessExpression 2549858 2549879 + PropertyAccessExpression 2549858 2549868 + Identifier 2549858 2549862 + Identifier 2549863 2549868 + Identifier 2549869 2549879 + VariableStatement 2549881 2549948 + VariableDeclarationList 2549881 2549947 + VariableDeclaration 2549896 2549947 + Identifier 2549896 2549903 + CallExpression 2549905 2549947 + Identifier 2549905 2549936 + Identifier 2549937 2549946 + IfStatement 2549948 2550306 + Identifier 2549962 2549968 + Block 2549969 2550306 + VariableStatement 2549971 2550060 + VariableDeclarationList 2549971 2550059 + VariableDeclaration 2549990 2550059 + Identifier 2549990 2550000 + CallExpression 2550002 2550059 + Identifier 2550002 2550040 + PropertyAccessExpression 2550041 2550058 + Identifier 2550041 2550047 + Identifier 2550048 2550058 + IfStatement 2550060 2550295 + BinaryExpression 2550078 2550133 + Identifier 2550078 2550087 + AmpersandAmpersandToken 2550087 2550090 + BinaryExpression 2550090 2550133 + PropertyAccessExpression 2550090 2550107 + Identifier 2550090 2550095 + Identifier 2550096 2550107 + ExclamationEqualsEqualsToken 2550107 2550111 + PropertyAccessExpression 2550111 2550133 + Identifier 2550111 2550121 + Identifier 2550122 2550133 + Block 2550134 2550295 + ExpressionStatement 2550136 2550280 + CallExpression 2550136 2550279 + Identifier 2550136 2550159 + Identifier 2550160 2550164 + PropertyAccessExpression 2550165 2550223 + Identifier 2550165 2550177 + Identifier 2550178 2550223 + CallExpression 2550224 2550245 + Identifier 2550224 2550231 + PropertyAccessExpression 2550232 2550244 + Identifier 2550232 2550236 + Identifier 2550237 2550244 + CallExpression 2550246 2550259 + Identifier 2550246 2550253 + Identifier 2550254 2550258 + CallExpression 2550260 2550278 + Identifier 2550260 2550267 + Identifier 2550268 2550277 + FunctionDeclaration 2550313 2550669 + Identifier 2550329 2550362 + Parameter 2550363 2550421 + Identifier 2550363 2550367 + UnionType 2550368 2550421 + TypeReference 2550368 2550383 + Identifier 2550368 2550383 + TypeReference 2550385 2550403 + Identifier 2550385 2550403 + TypeReference 2550405 2550421 + Identifier 2550405 2550421 + VoidKeyword 2550423 2550428 + Block 2550428 2550669 + VariableStatement 2550430 2550472 + VariableDeclarationList 2550430 2550471 + VariableDeclaration 2550445 2550471 + Identifier 2550445 2550450 + CallExpression 2550452 2550471 + Identifier 2550452 2550465 + Identifier 2550466 2550470 + IfStatement 2550472 2550662 + BinaryExpression 2550486 2550542 + Identifier 2550486 2550490 + AmpersandAmpersandToken 2550490 2550493 + CallExpression 2550493 2550542 + Identifier 2550493 2550536 + Identifier 2550537 2550541 + Block 2550543 2550662 + ExpressionStatement 2550545 2550651 + CallExpression 2550545 2550650 + Identifier 2550545 2550564 + Identifier 2550565 2550569 + PropertyAccessExpression 2550570 2550649 + Identifier 2550570 2550582 + Identifier 2550583 2550649 + FunctionDeclaration 2550669 2550801 + Identifier 2550685 2550723 + Parameter 2550724 2550767 + Identifier 2550724 2550728 + UnionType 2550729 2550767 + TypeReference 2550729 2550740 + Identifier 2550729 2550740 + TypeReference 2550742 2550767 + Identifier 2550742 2550767 + UnionType 2550769 2550800 + TypeReference 2550769 2550780 + Identifier 2550769 2550780 + TypeReference 2550782 2550800 + Identifier 2550782 2550800 + FunctionDeclaration 2550801 2550916 + Identifier 2550815 2550853 + Parameter 2550854 2550870 + Identifier 2550854 2550858 + TypeReference 2550859 2550870 + Identifier 2550859 2550870 + UnionType 2550872 2550915 + TypeReference 2550872 2550883 + Identifier 2550872 2550883 + TypeReference 2550885 2550903 + Identifier 2550885 2550903 + UndefinedKeyword 2550905 2550915 + FunctionDeclaration 2550916 2551342 + Identifier 2550930 2550968 + Parameter 2550969 2550985 + Identifier 2550969 2550973 + TypeReference 2550974 2550985 + Identifier 2550974 2550985 + UnionType 2550987 2551030 + TypeReference 2550987 2550998 + Identifier 2550987 2550998 + TypeReference 2551000 2551018 + Identifier 2551000 2551018 + UndefinedKeyword 2551020 2551030 + Block 2551030 2551342 + SwitchStatement 2551032 2551335 + PropertyAccessExpression 2551050 2551059 + Identifier 2551050 2551054 + Identifier 2551055 2551059 + CaseBlock 2551060 2551335 + CaseClause 2551062 2551147 + PropertyAccessExpression 2551080 2551102 + Identifier 2551080 2551091 + Identifier 2551092 2551102 + ReturnStatement 2551103 2551147 + AsExpression 2551127 2551146 + Identifier 2551127 2551132 + TypeReference 2551135 2551146 + Identifier 2551135 2551146 + CaseClause 2551147 2551267 + PropertyAccessExpression 2551165 2551201 + Identifier 2551165 2551176 + Identifier 2551177 2551201 + ReturnStatement 2551202 2551267 + PropertyAccessExpression 2551226 2551266 + ParenthesizedExpression 2551226 2551261 + AsExpression 2551228 2551260 + Identifier 2551228 2551232 + TypeReference 2551235 2551260 + Identifier 2551235 2551260 + Identifier 2551262 2551266 + DefaultClause 2551267 2551324 + ReturnStatement 2551289 2551324 + Identifier 2551313 2551323 + FunctionDeclaration 2551342 2555420 + Identifier 2551358 2551391 + Parameter 2551392 2551455 + Identifier 2551392 2551396 + UnionType 2551397 2551455 + TypeReference 2551397 2551417 + Identifier 2551397 2551417 + TypeReference 2551419 2551437 + Identifier 2551419 2551437 + TypeReference 2551439 2551455 + Identifier 2551439 2551455 + VoidKeyword 2551457 2551462 + Block 2551462 2555420 + ExpressionStatement 2551464 2551496 + CallExpression 2551464 2551495 + Identifier 2551464 2551489 + Identifier 2551490 2551494 + ExpressionStatement 2551496 2551538 + CallExpression 2551496 2551537 + Identifier 2551496 2551531 + Identifier 2551532 2551536 + VariableStatement 2551538 2551593 + VariableDeclarationList 2551538 2551592 + VariableDeclaration 2551553 2551592 + Identifier 2551553 2551567 + CallExpression 2551569 2551592 + Identifier 2551569 2551586 + Identifier 2551587 2551591 + IfStatement 2551593 2552109 + BinaryExpression 2551832 2551895 + PropertyAccessExpression 2551832 2551841 + Identifier 2551832 2551836 + Identifier 2551837 2551841 + AmpersandAmpersandToken 2551841 2551844 + BinaryExpression 2551844 2551895 + PropertyAccessExpression 2551844 2551859 + PropertyAccessExpression 2551844 2551854 + Identifier 2551844 2551849 + Identifier 2551850 2551854 + Identifier 2551855 2551859 + EqualsEqualsEqualsToken 2551859 2551863 + PropertyAccessExpression 2551863 2551895 + Identifier 2551863 2551874 + Identifier 2551875 2551895 + Block 2551896 2552109 + ExpressionStatement 2551898 2552098 + CallExpression 2551898 2552097 + Identifier 2551898 2552086 + PropertyAccessExpression 2552087 2552096 + Identifier 2552087 2552091 + Identifier 2552092 2552096 + IfStatement 2552109 2553595 + CallExpression 2552125 2552146 + Identifier 2552125 2552140 + Identifier 2552141 2552145 + Block 2552147 2553595 + VariableStatement 2552149 2552560 + VariableDeclarationList 2552149 2552559 + VariableDeclaration 2552521 2552559 + Identifier 2552521 2552528 + CallExpression 2552530 2552559 + Identifier 2552530 2552553 + Identifier 2552554 2552558 + VariableStatement 2552560 2552621 + VariableDeclarationList 2552560 2552620 + VariableDeclaration 2552579 2552620 + Identifier 2552579 2552591 + BinaryExpression 2552593 2552620 + PropertyAccessExpression 2552593 2552610 + Identifier 2552593 2552598 + Identifier 2552599 2552610 + BarBarToken 2552610 2552613 + Identifier 2552613 2552620 + VariableStatement 2552621 2553189 + VariableDeclarationList 2552621 2553188 + VariableDeclaration 2552941 2553188 + Identifier 2552941 2552958 + CallExpression 2552960 2553188 + PropertyAccessExpression 2552960 2552991 + PropertyAccessExpression 2552960 2552985 + Identifier 2552960 2552972 + Identifier 2552973 2552985 + QuestionDotToken 2552985 2552987 + Identifier 2552987 2552991 + ArrowFunction 2552992 2553172 + Parameter 2552992 2553087 + Identifier 2552992 2553087 + EqualsGreaterThanToken 2553087 2553090 + BinaryExpression 2553090 2553172 + BinaryExpression 2553090 2553121 + PropertyAccessExpression 2553090 2553107 + Identifier 2553090 2553102 + Identifier 2553103 2553107 + EqualsEqualsEqualsToken 2553107 2553111 + PropertyAccessExpression 2553111 2553121 + Identifier 2553111 2553116 + Identifier 2553117 2553121 + AmpersandAmpersandToken 2553121 2553124 + PrefixUnaryExpression 2553124 2553172 + ParenthesizedExpression 2553126 2553172 + BinaryExpression 2553127 2553171 + PropertyAccessExpression 2553127 2553144 + Identifier 2553127 2553138 + Identifier 2553139 2553144 + AmpersandToken 2553144 2553146 + PropertyAccessExpression 2553146 2553171 + Identifier 2553146 2553156 + Identifier 2553157 2553171 + IfStatement 2553189 2553364 + BinaryExpression 2553257 2553282 + Identifier 2553257 2553261 + EqualsEqualsEqualsToken 2553261 2553265 + Identifier 2553265 2553282 + Block 2553283 2553364 + ExpressionStatement 2553285 2553349 + CallExpression 2553285 2553348 + Identifier 2553285 2553335 + Identifier 2553336 2553347 + IfStatement 2553364 2553584 + PropertyAccessExpression 2553384 2553397 + Identifier 2553384 2553390 + Identifier 2553391 2553397 + Block 2553398 2553584 + ExpressionStatement 2553400 2553569 + CallExpression 2553400 2553568 + Identifier 2553400 2553560 + Identifier 2553561 2553567 + VariableStatement 2553595 2553685 + VariableDeclarationList 2553595 2553684 + VariableDeclaration 2553612 2553684 + Identifier 2553612 2553617 + ConditionalExpression 2553619 2553684 + BinaryExpression 2553619 2553660 + PropertyAccessExpression 2553619 2553629 + Identifier 2553619 2553624 + Identifier 2553625 2553629 + EqualsEqualsEqualsToken 2553629 2553633 + PropertyAccessExpression 2553633 2553660 + Identifier 2553633 2553644 + Identifier 2553645 2553660 + QuestionToken 2553660 2553662 + Identifier 2553662 2553672 + ColonToken 2553672 2553674 + PropertyAccessExpression 2553674 2553684 + Identifier 2553674 2553679 + Identifier 2553680 2553684 + ExpressionStatement 2553685 2553720 + CallExpression 2553685 2553719 + Identifier 2553685 2553713 + Identifier 2553714 2553718 + ExpressionStatement 2553720 2553819 + CallExpression 2553720 2553818 + Identifier 2553720 2553777 + Identifier 2553778 2553782 + CallExpression 2553783 2553817 + Identifier 2553783 2553811 + Identifier 2553812 2553816 + ExpressionStatement 2553819 2553894 + CallExpression 2553819 2553893 + Identifier 2553819 2553848 + Identifier 2553849 2553892 + IfStatement 2553894 2554411 + CallExpression 2554041 2554057 + Identifier 2554041 2554051 + Identifier 2554052 2554056 + Block 2554058 2554411 + VariableStatement 2554060 2554112 + VariableDeclarationList 2554060 2554111 + VariableDeclaration 2554079 2554111 + Identifier 2554079 2554087 + CallExpression 2554089 2554111 + Identifier 2554089 2554105 + Identifier 2554106 2554110 + IfStatement 2554112 2554400 + BinaryExpression 2554130 2554245 + BinaryExpression 2554130 2554163 + Identifier 2554130 2554137 + AmpersandAmpersandToken 2554137 2554140 + PropertyAccessExpression 2554140 2554163 + Identifier 2554140 2554148 + Identifier 2554149 2554163 + AmpersandAmpersandToken 2554163 2554166 + PrefixUnaryExpression 2554166 2554245 + CallExpression 2554168 2554245 + Identifier 2554168 2554194 + CallExpression 2554195 2554238 + Identifier 2554195 2554214 + PropertyAccessExpression 2554215 2554237 + Identifier 2554215 2554222 + Identifier 2554223 2554237 + Identifier 2554239 2554244 + Block 2554246 2554400 + ExpressionStatement 2554248 2554385 + CallExpression 2554248 2554384 + Identifier 2554248 2554271 + PropertyAccessExpression 2554272 2554299 + PropertyAccessExpression 2554272 2554294 + Identifier 2554272 2554279 + Identifier 2554280 2554294 + Identifier 2554295 2554299 + PropertyAccessExpression 2554300 2554383 + Identifier 2554300 2554312 + Identifier 2554313 2554383 + FunctionDeclaration 2554411 2555413 + Identifier 2554431 2554475 + Block 2554477 2555413 + IfStatement 2554479 2555402 + PrefixUnaryExpression 2554497 2554530 + CallExpression 2554498 2554530 + Identifier 2554498 2554524 + Identifier 2554525 2554529 + Block 2554531 2555402 + IfStatement 2554533 2554854 + BinaryExpression 2554725 2554777 + CallExpression 2554725 2554744 + Identifier 2554725 2554738 + Identifier 2554739 2554743 + AmpersandAmpersandToken 2554744 2554747 + PrefixUnaryExpression 2554747 2554777 + CallExpression 2554749 2554777 + Identifier 2554749 2554771 + Identifier 2554772 2554776 + Block 2554778 2554854 + ExpressionStatement 2554780 2554835 + CallExpression 2554780 2554834 + Identifier 2554780 2554819 + Identifier 2554820 2554824 + Identifier 2554825 2554833 + IfStatement 2554854 2555387 + BinaryExpression 2554878 2554940 + BinaryExpression 2554878 2554917 + Identifier 2554878 2554891 + AmpersandToken 2554891 2554893 + PropertyAccessExpression 2554893 2554917 + Identifier 2554893 2554907 + Identifier 2554908 2554917 + AmpersandAmpersandToken 2554917 2554920 + CallExpression 2554920 2554940 + Identifier 2554920 2554934 + Identifier 2554935 2554939 + Block 2554941 2555387 + ExpressionStatement 2554943 2555368 + CallExpression 2554943 2555367 + Identifier 2554943 2555332 + CallExpression 2555333 2555366 + Identifier 2555333 2555360 + Identifier 2555361 2555365 + FunctionDeclaration 2555420 2556443 + Identifier 2555436 2555470 + Parameter 2555471 2555504 + Identifier 2555471 2555475 + TypeReference 2555476 2555504 + Identifier 2555476 2555504 + VoidKeyword 2555506 2555511 + Block 2555511 2556443 + ExpressionStatement 2555513 2555587 + CallExpression 2555513 2555586 + Identifier 2555513 2555540 + Identifier 2555541 2555585 + FunctionDeclaration 2555587 2556436 + Identifier 2555607 2555652 + Block 2555654 2556436 + VariableStatement 2555656 2555882 + VariableDeclarationList 2555656 2555881 + VariableDeclaration 2555842 2555881 + Identifier 2555842 2555853 + CallExpression 2555855 2555881 + Identifier 2555855 2555875 + Identifier 2555876 2555880 + VariableStatement 2555882 2555984 + VariableDeclarationList 2555882 2555983 + VariableDeclaration 2555899 2555983 + Identifier 2555899 2555928 + CallExpression 2555930 2555983 + PropertyAccessExpression 2555930 2555966 + Identifier 2555930 2555962 + Identifier 2555963 2555966 + PropertyAccessExpression 2555967 2555982 + Identifier 2555967 2555977 + Identifier 2555978 2555982 + IfStatement 2555984 2556202 + PrefixUnaryExpression 2556002 2556031 + Identifier 2556003 2556031 + Block 2556032 2556202 + ExpressionStatement 2556034 2556086 + BinaryExpression 2556034 2556085 + Identifier 2556034 2556080 + EqualsToken 2556080 2556082 + ArrayLiteralExpression 2556082 2556085 + ExpressionStatement 2556086 2556187 + CallExpression 2556086 2556186 + PropertyAccessExpression 2556086 2556139 + Identifier 2556086 2556135 + Identifier 2556136 2556139 + PropertyAccessExpression 2556140 2556155 + Identifier 2556140 2556150 + Identifier 2556151 2556155 + Identifier 2556156 2556185 + ExpressionStatement 2556202 2556425 + CallExpression 2556202 2556424 + PropertyAccessExpression 2556202 2556418 + Identifier 2556202 2556413 + Identifier 2556414 2556418 + Identifier 2556419 2556423 + TypeAliasDeclaration 2556443 2556750 + Identifier 2556455 2556483 + UnionType 2556485 2556749 + TypeReference 2556485 2556496 + Identifier 2556485 2556496 + TypeReference 2556498 2556516 + Identifier 2556498 2556516 + TypeReference 2556518 2556539 + Identifier 2556518 2556539 + TypeReference 2556541 2556562 + Identifier 2556541 2556562 + TypeReference 2556564 2556570 + Identifier 2556564 2556570 + TypeReference 2556572 2556582 + Identifier 2556572 2556582 + TypeReference 2556584 2556597 + Identifier 2556584 2556597 + TypeReference 2556599 2556614 + Identifier 2556599 2556614 + TypeReference 2556616 2556631 + Identifier 2556616 2556631 + TypeReference 2556633 2556710 + Identifier 2556633 2556641 + TypeReference 2556642 2556662 + Identifier 2556642 2556662 + UnionType 2556663 2556709 + TypeReference 2556663 2556689 + Identifier 2556663 2556689 + TypeReference 2556691 2556709 + Identifier 2556691 2556709 + TypeReference 2556712 2556733 + Identifier 2556712 2556733 + TypeReference 2556735 2556749 + Identifier 2556735 2556749 + FunctionDeclaration 2556750 2559131 + Identifier 2556766 2556789 + Parameter 2556790 2556858 + Identifier 2556790 2556818 + TypeOperator 2556819 2556858 + ArrayType 2556828 2556858 + TypeReference 2556828 2556856 + Identifier 2556828 2556856 + Parameter 2556859 2556894 + Identifier 2556859 2556873 + TypeReference 2556874 2556894 + Identifier 2556874 2556894 + Block 2556895 2559131 + ForOfStatement 2556897 2559124 + VariableDeclarationList 2556912 2556922 + VariableDeclaration 2556917 2556922 + Identifier 2556917 2556922 + Identifier 2556925 2556954 + Block 2556955 2559124 + SwitchStatement 2556957 2559113 + PropertyAccessExpression 2556979 2556988 + Identifier 2556979 2556983 + Identifier 2556984 2556988 + CaseBlock 2556989 2559113 + CaseClause 2556991 2557042 + PropertyAccessExpression 2557013 2557041 + Identifier 2557013 2557024 + Identifier 2557025 2557041 + CaseClause 2557042 2557256 + PropertyAccessExpression 2557064 2557091 + Identifier 2557064 2557075 + Identifier 2557076 2557091 + ExpressionStatement 2557092 2557159 + CallExpression 2557092 2557158 + Identifier 2557092 2557137 + Identifier 2557138 2557142 + Identifier 2557143 2557157 + ExpressionStatement 2557159 2557228 + CallExpression 2557159 2557227 + Identifier 2557159 2557206 + Identifier 2557207 2557211 + Identifier 2557212 2557226 + BreakStatement 2557228 2557256 + CaseClause 2557256 2557301 + PropertyAccessExpression 2557278 2557300 + Identifier 2557278 2557289 + Identifier 2557290 2557300 + CaseClause 2557301 2557353 + PropertyAccessExpression 2557323 2557352 + Identifier 2557323 2557334 + Identifier 2557335 2557352 + CaseClause 2557353 2557393 + PropertyAccessExpression 2557375 2557392 + Identifier 2557375 2557386 + Identifier 2557387 2557392 + CaseClause 2557393 2557437 + PropertyAccessExpression 2557415 2557436 + Identifier 2557415 2557426 + Identifier 2557427 2557436 + CaseClause 2557437 2557484 + PropertyAccessExpression 2557459 2557483 + Identifier 2557459 2557470 + Identifier 2557471 2557483 + CaseClause 2557484 2557533 + PropertyAccessExpression 2557506 2557532 + Identifier 2557506 2557517 + Identifier 2557518 2557532 + CaseClause 2557533 2557684 + PropertyAccessExpression 2557555 2557581 + Identifier 2557555 2557566 + Identifier 2557567 2557581 + ExpressionStatement 2557582 2557656 + CallExpression 2557582 2557655 + Identifier 2557582 2557634 + Identifier 2557635 2557639 + Identifier 2557640 2557654 + BreakStatement 2557656 2557684 + CaseClause 2557684 2557730 + PropertyAccessExpression 2557706 2557729 + Identifier 2557706 2557717 + Identifier 2557718 2557729 + CaseClause 2557730 2557783 + PropertyAccessExpression 2557752 2557782 + Identifier 2557752 2557763 + Identifier 2557764 2557782 + CaseClause 2557783 2557837 + PropertyAccessExpression 2557805 2557836 + Identifier 2557805 2557816 + Identifier 2557817 2557836 + CaseClause 2557837 2557885 + PropertyAccessExpression 2557859 2557884 + Identifier 2557859 2557870 + Identifier 2557871 2557884 + CaseClause 2557885 2557937 + PropertyAccessExpression 2557907 2557936 + Identifier 2557907 2557918 + Identifier 2557919 2557936 + CaseClause 2557937 2557983 + PropertyAccessExpression 2557959 2557982 + Identifier 2557959 2557970 + Identifier 2557971 2557982 + CaseClause 2557983 2558357 + PropertyAccessExpression 2558005 2558028 + Identifier 2558005 2558016 + Identifier 2558017 2558028 + IfStatement 2558029 2558260 + PropertyAccessExpression 2558147 2558156 + Identifier 2558147 2558151 + Identifier 2558152 2558156 + Block 2558157 2558260 + ExpressionStatement 2558159 2558237 + CallExpression 2558159 2558236 + Identifier 2558159 2558215 + Identifier 2558216 2558220 + Identifier 2558221 2558235 + ExpressionStatement 2558260 2558329 + CallExpression 2558260 2558328 + Identifier 2558260 2558307 + Identifier 2558308 2558312 + Identifier 2558313 2558327 + BreakStatement 2558329 2558357 + CaseClause 2558357 2558407 + PropertyAccessExpression 2558379 2558406 + Identifier 2558379 2558390 + Identifier 2558391 2558406 + CaseClause 2558407 2558455 + PropertyAccessExpression 2558429 2558454 + Identifier 2558429 2558440 + Identifier 2558441 2558454 + CaseClause 2558455 2558508 + PropertyAccessExpression 2558477 2558507 + Identifier 2558477 2558488 + Identifier 2558489 2558507 + CaseClause 2558508 2558555 + PropertyAccessExpression 2558530 2558554 + Identifier 2558530 2558541 + Identifier 2558542 2558554 + CaseClause 2558555 2558605 + PropertyAccessExpression 2558577 2558604 + Identifier 2558577 2558588 + Identifier 2558589 2558604 + CaseClause 2558605 2558660 + PropertyAccessExpression 2558627 2558659 + Identifier 2558627 2558638 + Identifier 2558639 2558659 + CaseClause 2558660 2558812 + PropertyAccessExpression 2558682 2558714 + Identifier 2558682 2558693 + Identifier 2558694 2558714 + ExpressionStatement 2558715 2558784 + CallExpression 2558715 2558783 + Identifier 2558715 2558762 + Identifier 2558763 2558767 + Identifier 2558768 2558782 + BreakStatement 2558784 2558812 + CaseClause 2558812 2558957 + PropertyAccessExpression 2558834 2558855 + Identifier 2558834 2558845 + Identifier 2558846 2558855 + ExpressionStatement 2558856 2558929 + CallExpression 2558856 2558928 + Identifier 2558856 2558907 + Identifier 2558908 2558912 + Identifier 2558913 2558927 + BreakStatement 2558929 2558957 + DefaultClause 2558957 2559098 + ExpressionStatement 2558983 2559098 + CallExpression 2558983 2559097 + PropertyAccessExpression 2558983 2559022 + Identifier 2558983 2559010 + Identifier 2559011 2559022 + Identifier 2559023 2559027 + StringLiteral 2559028 2559096 + FunctionDeclaration 2559131 2559580 + Identifier 2559147 2559164 + Parameter 2559165 2559189 + Identifier 2559165 2559176 + TypeReference 2559177 2559189 + Identifier 2559177 2559189 + Parameter 2559190 2559203 + Identifier 2559190 2559195 + StringKeyword 2559196 2559203 + Parameter 2559204 2559239 + Identifier 2559204 2559218 + TypeReference 2559219 2559239 + Identifier 2559219 2559239 + Block 2559240 2559580 + VariableStatement 2559242 2559314 + VariableDeclarationList 2559242 2559313 + VariableDeclaration 2559257 2559313 + Identifier 2559257 2559262 + BinaryExpression 2559264 2559313 + CallExpression 2559264 2559298 + Identifier 2559264 2559285 + Identifier 2559286 2559297 + BarBarToken 2559298 2559301 + Identifier 2559301 2559313 + VariableStatement 2559314 2559472 + VariableDeclarationList 2559314 2559471 + VariableDeclaration 2559329 2559471 + Identifier 2559329 2559337 + ConditionalExpression 2559339 2559471 + CallExpression 2559339 2559370 + Identifier 2559339 2559357 + Identifier 2559358 2559369 + QuestionToken 2559370 2559372 + PropertyAccessExpression 2559372 2559414 + Identifier 2559372 2559384 + Identifier 2559385 2559414 + ColonToken 2559414 2559416 + PropertyAccessExpression 2559416 2559471 + Identifier 2559416 2559428 + Identifier 2559429 2559471 + ExpressionStatement 2559472 2559573 + CallExpression 2559472 2559572 + Identifier 2559472 2559495 + Identifier 2559496 2559507 + PropertyAccessExpression 2559508 2559525 + Identifier 2559508 2559519 + Identifier 2559520 2559525 + CallExpression 2559526 2559571 + Identifier 2559526 2559550 + Identifier 2559551 2559555 + Identifier 2559556 2559564 + Identifier 2559565 2559570 + FunctionDeclaration 2559580 2559741 + Identifier 2559596 2559633 + Parameter 2559634 2559644 + Identifier 2559634 2559638 + TypeReference 2559639 2559644 + Identifier 2559639 2559644 + Block 2559645 2559741 + ReturnStatement 2559647 2559734 + BinaryExpression 2559663 2559733 + CallExpression 2559663 2559682 + Identifier 2559663 2559676 + Identifier 2559677 2559681 + AmpersandAmpersandToken 2559682 2559685 + BinaryExpression 2559685 2559733 + CallExpression 2559685 2559712 + PropertyAccessExpression 2559685 2559709 + CallExpression 2559685 2559698 + Identifier 2559685 2559692 + Identifier 2559693 2559697 + Identifier 2559699 2559709 + NumericLiteral 2559710 2559711 + EqualsEqualsEqualsToken 2559712 2559716 + PropertyAccessExpression 2559716 2559733 + Identifier 2559716 2559731 + Identifier 2559732 2559733 + FunctionDeclaration 2559741 2561913 + Identifier 2559757 2559781 + Parameter 2559782 2559822 + Identifier 2559782 2559786 + UnionType 2559787 2559822 + TypeReference 2559787 2559804 + Identifier 2559787 2559804 + TypeReference 2559806 2559822 + Identifier 2559806 2559822 + Parameter 2559823 2559858 + Identifier 2559823 2559837 + TypeReference 2559838 2559858 + Identifier 2559838 2559858 + VoidKeyword 2559860 2559865 + Block 2559865 2561913 + ForOfStatement 2559867 2561906 + VariableDeclarationList 2559882 2559894 + VariableDeclaration 2559887 2559894 + Identifier 2559887 2559894 + PropertyAccessExpression 2559897 2559910 + Identifier 2559897 2559902 + Identifier 2559903 2559910 + Block 2559911 2561906 + SwitchStatement 2559913 2561895 + PropertyAccessExpression 2559935 2559946 + Identifier 2559935 2559941 + Identifier 2559942 2559946 + CaseBlock 2559947 2561895 + CaseClause 2559949 2560001 + PropertyAccessExpression 2559971 2560000 + Identifier 2559971 2559982 + Identifier 2559983 2560000 + CaseClause 2560001 2560055 + PropertyAccessExpression 2560023 2560054 + Identifier 2560023 2560034 + Identifier 2560035 2560054 + CaseClause 2560055 2560101 + PropertyAccessExpression 2560077 2560100 + Identifier 2560077 2560088 + Identifier 2560089 2560100 + CaseClause 2560101 2561011 + PropertyAccessExpression 2560123 2560146 + Identifier 2560123 2560134 + Identifier 2560135 2560146 + IfStatement 2560147 2560398 + BinaryExpression 2560173 2560260 + BinaryExpression 2560173 2560211 + PropertyAccessExpression 2560173 2560184 + Identifier 2560173 2560179 + Identifier 2560180 2560184 + EqualsEqualsEqualsToken 2560184 2560188 + PropertyAccessExpression 2560188 2560211 + Identifier 2560188 2560199 + Identifier 2560200 2560211 + AmpersandAmpersandToken 2560211 2560214 + BinaryExpression 2560214 2560260 + PropertyAccessExpression 2560214 2560234 + PropertyAccessExpression 2560214 2560228 + Identifier 2560214 2560221 + Identifier 2560222 2560228 + Identifier 2560229 2560234 + AmpersandToken 2560234 2560236 + PropertyAccessExpression 2560236 2560260 + Identifier 2560236 2560248 + Identifier 2560249 2560260 + Block 2560261 2560398 + BreakStatement 2560263 2560375 + VariableStatement 2560398 2560466 + VariableDeclarationList 2560398 2560465 + VariableDeclaration 2560425 2560465 + Identifier 2560425 2560432 + CallExpression 2560434 2560465 + Identifier 2560434 2560457 + Identifier 2560458 2560464 + IfStatement 2560466 2560983 + BinaryExpression 2560492 2560750 + BinaryExpression 2560492 2560686 + PrefixUnaryExpression 2560492 2560538 + PropertyAccessExpression 2560519 2560538 + Identifier 2560519 2560525 + Identifier 2560526 2560538 + AmpersandAmpersandToken 2560538 2560566 + ParenthesizedExpression 2560566 2560686 + BinaryExpression 2560568 2560685 + CallExpression 2560568 2560619 + Identifier 2560568 2560588 + Identifier 2560589 2560595 + PropertyAccessExpression 2560596 2560618 + Identifier 2560596 2560610 + Identifier 2560611 2560618 + BarBarToken 2560619 2560622 + BinaryExpression 2560622 2560685 + CallExpression 2560622 2560649 + Identifier 2560622 2560641 + Identifier 2560642 2560648 + AmpersandAmpersandToken 2560649 2560652 + CallExpression 2560652 2560685 + Identifier 2560652 2560672 + PropertyAccessExpression 2560673 2560684 + Identifier 2560673 2560679 + Identifier 2560680 2560684 + AmpersandAmpersandToken 2560686 2560714 + PrefixUnaryExpression 2560714 2560750 + ParenthesizedExpression 2560716 2560750 + BinaryExpression 2560717 2560749 + PropertyAccessExpression 2560717 2560729 + Identifier 2560717 2560723 + Identifier 2560724 2560729 + AmpersandToken 2560729 2560731 + PropertyAccessExpression 2560731 2560749 + Identifier 2560731 2560741 + Identifier 2560742 2560749 + Block 2560773 2560983 + ExpressionStatement 2560775 2560960 + CallExpression 2560775 2560959 + Identifier 2560775 2560814 + Identifier 2560815 2560821 + PropertyAccessExpression 2560822 2560839 + Identifier 2560822 2560833 + Identifier 2560834 2560839 + CallExpression 2560840 2560958 + Identifier 2560840 2560864 + NonNullExpression 2560865 2560877 + PropertyAccessExpression 2560865 2560876 + Identifier 2560865 2560871 + Identifier 2560872 2560876 + PropertyAccessExpression 2560878 2560933 + Identifier 2560878 2560890 + Identifier 2560891 2560933 + CallExpression 2560934 2560957 + Identifier 2560934 2560949 + Identifier 2560950 2560956 + BreakStatement 2560983 2561011 + CaseClause 2561011 2561558 + PropertyAccessExpression 2561033 2561056 + Identifier 2561033 2561044 + Identifier 2561045 2561056 + ForOfStatement 2561057 2561530 + VariableDeclarationList 2561084 2561099 + VariableDeclaration 2561089 2561099 + Identifier 2561089 2561099 + PropertyAccessExpression 2561102 2561148 + ParenthesizedExpression 2561102 2561137 + AsExpression 2561104 2561136 + Identifier 2561104 2561110 + TypeReference 2561113 2561136 + Identifier 2561113 2561136 + Identifier 2561138 2561148 + Block 2561149 2561530 + IfStatement 2561151 2561507 + BinaryExpression 2561181 2561269 + PrefixUnaryExpression 2561181 2561211 + PropertyAccessExpression 2561182 2561211 + PropertyAccessExpression 2561182 2561198 + Identifier 2561182 2561191 + Identifier 2561192 2561198 + Identifier 2561199 2561211 + AmpersandAmpersandToken 2561211 2561214 + CallExpression 2561214 2561269 + Identifier 2561214 2561235 + Identifier 2561236 2561245 + PropertyAccessExpression 2561246 2561268 + Identifier 2561246 2561260 + Identifier 2561261 2561268 + Block 2561270 2561507 + ExpressionStatement 2561272 2561480 + CallExpression 2561272 2561479 + Identifier 2561272 2561315 + Identifier 2561316 2561325 + PropertyAccessExpression 2561326 2561343 + Identifier 2561326 2561337 + Identifier 2561338 2561343 + CallExpression 2561344 2561478 + Identifier 2561344 2561368 + PropertyAccessExpression 2561369 2561383 + Identifier 2561369 2561378 + Identifier 2561379 2561383 + PropertyAccessExpression 2561384 2561447 + Identifier 2561384 2561396 + Identifier 2561397 2561447 + CallExpression 2561448 2561477 + Identifier 2561448 2561459 + PropertyAccessExpression 2561460 2561476 + Identifier 2561460 2561469 + Identifier 2561470 2561476 + BreakStatement 2561530 2561558 + CaseClause 2561558 2561607 + PropertyAccessExpression 2561580 2561606 + Identifier 2561580 2561591 + Identifier 2561592 2561606 + CaseClause 2561607 2561663 + PropertyAccessExpression 2561629 2561662 + Identifier 2561629 2561640 + Identifier 2561641 2561662 + CaseClause 2561663 2561794 + PropertyAccessExpression 2561685 2561724 + Identifier 2561685 2561696 + Identifier 2561697 2561724 + BreakStatement 2561725 2561794 + DefaultClause 2561794 2561880 + ExpressionStatement 2561820 2561880 + CallExpression 2561820 2561879 + PropertyAccessExpression 2561820 2561852 + Identifier 2561820 2561847 + Identifier 2561848 2561852 + StringLiteral 2561853 2561878 + FunctionDeclaration 2561913 2562307 + Identifier 2561929 2561959 + Parameter 2561960 2561979 + Identifier 2561960 2561964 + TypeReference 2561965 2561979 + Identifier 2561965 2561979 + Parameter 2561980 2562015 + Identifier 2561980 2561994 + TypeReference 2561995 2562015 + Identifier 2561995 2562015 + VoidKeyword 2562017 2562022 + Block 2562022 2562307 + VariableStatement 2562024 2562065 + VariableDeclarationList 2562024 2562064 + VariableDeclaration 2562039 2562064 + ObjectBindingPattern 2562039 2562057 + BindingElement 2562041 2562055 + Identifier 2562041 2562055 + Identifier 2562059 2562064 + IfStatement 2562065 2562300 + CallExpression 2562079 2562115 + Identifier 2562079 2562100 + Identifier 2562101 2562114 + Block 2562116 2562300 + ExpressionStatement 2562118 2562289 + CallExpression 2562118 2562288 + Identifier 2562118 2562145 + Identifier 2562146 2562150 + PropertyAccessExpression 2562151 2562172 + Identifier 2562151 2562162 + Identifier 2562163 2562172 + CallExpression 2562173 2562287 + Identifier 2562173 2562197 + Identifier 2562198 2562202 + PropertyAccessExpression 2562203 2562258 + Identifier 2562203 2562215 + Identifier 2562216 2562258 + CallExpression 2562259 2562286 + Identifier 2562259 2562266 + PropertyAccessExpression 2562267 2562285 + Identifier 2562267 2562280 + Identifier 2562281 2562285 + FunctionDeclaration 2562307 2564688 + Identifier 2562323 2562349 + Parameter 2562350 2562445 + Identifier 2562350 2562354 + UnionType 2562355 2562445 + TypeReference 2562355 2562376 + Identifier 2562355 2562376 + TypeReference 2562378 2562399 + Identifier 2562378 2562399 + TypeReference 2562401 2562422 + Identifier 2562401 2562422 + TypeReference 2562424 2562445 + Identifier 2562424 2562445 + Parameter 2562446 2562481 + Identifier 2562446 2562460 + TypeReference 2562461 2562481 + Identifier 2562461 2562481 + VoidKeyword 2562483 2562488 + Block 2562488 2564688 + VariableStatement 2562490 2562716 + VariableDeclarationList 2562490 2562715 + VariableDeclaration 2562658 2562715 + Identifier 2562658 2562671 + PropertyAccessExpression 2562673 2562715 + CallExpression 2562673 2562702 + Identifier 2562673 2562696 + Identifier 2562697 2562701 + Identifier 2562703 2562715 + IfStatement 2562716 2562783 + BinaryExpression 2562730 2562774 + PrefixUnaryExpression 2562730 2562743 + Identifier 2562731 2562743 + BarBarToken 2562743 2562746 + BinaryExpression 2562746 2562774 + CallExpression 2562746 2562765 + Identifier 2562746 2562751 + Identifier 2562752 2562764 + ExclamationEqualsEqualsToken 2562765 2562769 + Identifier 2562769 2562774 + ReturnStatement 2562775 2562783 + VariableStatement 2562783 2562862 + VariableDeclarationList 2562783 2562861 + VariableDeclaration 2562800 2562861 + Identifier 2562800 2562815 + CallExpression 2562817 2562861 + Identifier 2562817 2562855 + Identifier 2562856 2562860 + VariableStatement 2562862 2562955 + VariableDeclarationList 2562862 2562954 + VariableDeclaration 2562877 2562954 + Identifier 2562877 2562904 + NewExpression 2562906 2562954 + Identifier 2562910 2562914 + TypeReference 2562915 2562951 + Identifier 2562915 2562951 + ForOfStatement 2562955 2564681 + VariableDeclarationList 2562972 2562991 + VariableDeclaration 2562977 2562991 + Identifier 2562977 2562991 + Identifier 2562994 2563009 + Block 2563010 2564681 + IfStatement 2563012 2563078 + PrefixUnaryExpression 2563030 2563067 + CallExpression 2563031 2563067 + Identifier 2563031 2563052 + Identifier 2563053 2563066 + ContinueStatement 2563068 2563078 + VariableStatement 2563078 2563134 + VariableDeclarationList 2563078 2563133 + VariableDeclaration 2563099 2563133 + Identifier 2563099 2563104 + CallExpression 2563106 2563133 + Identifier 2563106 2563113 + PropertyAccessExpression 2563114 2563132 + Identifier 2563114 2563127 + Identifier 2563128 2563132 + VariableStatement 2563134 2563181 + VariableDeclarationList 2563134 2563180 + VariableDeclaration 2563153 2563180 + ObjectBindingPattern 2563153 2563164 + BindingElement 2563155 2563162 + Identifier 2563155 2563162 + Identifier 2563166 2563180 + IfStatement 2563181 2564670 + BinaryExpression 2563199 2563290 + BinaryExpression 2563199 2563235 + PropertyAccessExpression 2563199 2563210 + Identifier 2563199 2563205 + Identifier 2563206 2563210 + ExclamationEqualsEqualsToken 2563210 2563214 + PropertyAccessExpression 2563214 2563235 + Identifier 2563214 2563225 + Identifier 2563226 2563235 + AmpersandAmpersandToken 2563235 2563238 + CallExpression 2563238 2563290 + PropertyAccessExpression 2563238 2563267 + NonNullExpression 2563238 2563261 + PropertyAccessExpression 2563238 2563260 + Identifier 2563238 2563245 + Identifier 2563246 2563260 + Identifier 2563262 2563267 + Identifier 2563268 2563289 + Block 2563291 2564355 + IfStatement 2563293 2564340 + CallExpression 2563315 2563362 + Identifier 2563315 2563326 + Identifier 2563327 2563353 + Identifier 2563354 2563361 + Block 2563363 2564340 + VariableStatement 2563365 2563434 + VariableDeclarationList 2563365 2563433 + VariableDeclaration 2563392 2563433 + Identifier 2563392 2563403 + CallExpression 2563405 2563433 + Identifier 2563405 2563425 + Identifier 2563426 2563432 + VariableStatement 2563434 2563743 + VariableDeclarationList 2563434 2563742 + VariableDeclaration 2563461 2563742 + Identifier 2563461 2563467 + ConditionalExpression 2563469 2563742 + CallExpression 2563469 2563496 + Identifier 2563469 2563488 + Identifier 2563489 2563495 + QuestionToken 2563496 2563571 + CallExpression 2563571 2563591 + Identifier 2563571 2563583 + Identifier 2563584 2563590 + ColonToken 2563591 2563684 + CallExpression 2563684 2563742 + Identifier 2563684 2563706 + Identifier 2563707 2563717 + NonNullExpression 2563718 2563741 + PropertyAccessExpression 2563718 2563740 + Identifier 2563718 2563725 + Identifier 2563726 2563740 + VariableStatement 2563743 2563814 + VariableDeclarationList 2563743 2563813 + VariableDeclaration 2563770 2563813 + Identifier 2563770 2563775 + BinaryExpression 2563777 2563813 + PropertyAccessExpression 2563777 2563807 + NonNullExpression 2563777 2563800 + PropertyAccessExpression 2563777 2563799 + Identifier 2563777 2563784 + Identifier 2563785 2563799 + Identifier 2563801 2563807 + EqualsEqualsEqualsToken 2563807 2563811 + NumericLiteral 2563811 2563813 + VariableStatement 2563814 2564162 + VariableDeclarationList 2563814 2564161 + VariableDeclaration 2563954 2564161 + Identifier 2563954 2563968 + TypeReference 2563969 2563992 + Identifier 2563969 2563992 + ConditionalExpression 2563994 2564161 + Identifier 2563994 2563999 + QuestionToken 2563999 2564026 + ArrayLiteralExpression 2564026 2564089 + PropertyAccessExpression 2564028 2564082 + Identifier 2564028 2564039 + Identifier 2564040 2564082 + Identifier 2564083 2564088 + ColonToken 2564089 2564116 + ArrayLiteralExpression 2564116 2564161 + PropertyAccessExpression 2564118 2564160 + Identifier 2564118 2564129 + Identifier 2564130 2564160 + ExpressionStatement 2564162 2564321 + CallExpression 2564162 2564320 + Identifier 2564162 2564197 + Identifier 2564198 2564211 + PropertyAccessExpression 2564212 2564233 + Identifier 2564212 2564223 + Identifier 2564224 2564233 + CallExpression 2564234 2564319 + Identifier 2564234 2564255 + Identifier 2564256 2564266 + PropertyAccessExpression 2564267 2564277 + Identifier 2564267 2564273 + Identifier 2564274 2564277 + BinaryExpression 2564278 2564300 + PropertyAccessExpression 2564278 2564288 + Identifier 2564278 2564284 + Identifier 2564285 2564288 + MinusToken 2564288 2564290 + PropertyAccessExpression 2564290 2564300 + Identifier 2564290 2564296 + Identifier 2564297 2564300 + SpreadElement 2564301 2564318 + Identifier 2564305 2564318 + Block 2564373 2564670 + ExpressionStatement 2564375 2564655 + CallExpression 2564375 2564654 + Identifier 2564375 2564515 + Identifier 2564516 2564529 + PropertyAccessExpression 2564530 2564551 + Identifier 2564530 2564541 + Identifier 2564542 2564551 + CallExpression 2564552 2564653 + Identifier 2564552 2564576 + Identifier 2564577 2564590 + PropertyAccessExpression 2564591 2564646 + Identifier 2564591 2564603 + Identifier 2564604 2564646 + Identifier 2564647 2564652 + FunctionDeclaration 2564688 2564944 + Identifier 2564702 2564724 + Parameter 2564725 2564764 + Identifier 2564725 2564738 + TypeReference 2564739 2564764 + Identifier 2564739 2564764 + BooleanKeyword 2564766 2564774 + Block 2564774 2564944 + ReturnStatement 2564776 2564937 + BinaryExpression 2564792 2564936 + PrefixUnaryExpression 2564792 2564875 + ParenthesizedExpression 2564794 2564875 + BinaryExpression 2564795 2564874 + NonNullExpression 2564795 2564846 + PropertyAccessExpression 2564795 2564845 + CallExpression 2564795 2564832 + Identifier 2564795 2564810 + PropertyAccessExpression 2564811 2564831 + Identifier 2564811 2564824 + Identifier 2564825 2564831 + Identifier 2564833 2564845 + AmpersandToken 2564846 2564848 + PropertyAccessExpression 2564848 2564874 + Identifier 2564848 2564860 + Identifier 2564861 2564874 + AmpersandAmpersandToken 2564875 2564878 + PrefixUnaryExpression 2564878 2564936 + CallExpression 2564880 2564936 + Identifier 2564880 2564916 + PropertyAccessExpression 2564917 2564935 + Identifier 2564917 2564930 + Identifier 2564931 2564935 + FunctionDeclaration 2564944 2565310 + Identifier 2564960 2564971 + TypeParameter 2564972 2564973 + Identifier 2564972 2564973 + TypeParameter 2564974 2564976 + Identifier 2564974 2564976 + Parameter 2564978 2565004 + Identifier 2564978 2564981 + TypeReference 2564982 2565004 + Identifier 2564982 2564986 + StringKeyword 2564987 2564993 + TupleType 2564994 2565003 + TypeReference 2564996 2564997 + Identifier 2564996 2564997 + ArrayType 2564998 2565002 + TypeReference 2564998 2565000 + Identifier 2564998 2565000 + Parameter 2565005 2565012 + Identifier 2565005 2565009 + TypeReference 2565010 2565012 + Identifier 2565010 2565012 + Parameter 2565013 2565022 + Identifier 2565013 2565019 + TypeReference 2565020 2565022 + Identifier 2565020 2565022 + Parameter 2565023 2565059 + Identifier 2565023 2565030 + FunctionType 2565031 2565059 + Parameter 2565033 2565039 + Identifier 2565033 2565036 + TypeReference 2565037 2565039 + Identifier 2565037 2565039 + UnionType 2565043 2565059 + NumberKeyword 2565043 2565050 + StringKeyword 2565052 2565059 + VoidKeyword 2565061 2565066 + Block 2565066 2565310 + VariableStatement 2565068 2565116 + VariableDeclarationList 2565068 2565115 + VariableDeclaration 2565083 2565115 + Identifier 2565083 2565093 + CallExpression 2565095 2565115 + Identifier 2565095 2565102 + CallExpression 2565103 2565114 + Identifier 2565103 2565109 + Identifier 2565110 2565113 + VariableStatement 2565116 2565159 + VariableDeclarationList 2565116 2565158 + VariableDeclaration 2565131 2565158 + Identifier 2565131 2565137 + CallExpression 2565139 2565158 + PropertyAccessExpression 2565139 2565147 + Identifier 2565139 2565143 + Identifier 2565144 2565147 + Identifier 2565148 2565157 + IfStatement 2565159 2565303 + Identifier 2565173 2565178 + Block 2565179 2565227 + ExpressionStatement 2565181 2565216 + CallExpression 2565181 2565215 + PropertyAccessExpression 2565181 2565208 + ElementAccessExpression 2565181 2565203 + Identifier 2565181 2565200 + NumericLiteral 2565201 2565202 + Identifier 2565204 2565208 + Identifier 2565209 2565214 + Block 2565241 2565303 + ExpressionStatement 2565243 2565292 + CallExpression 2565243 2565291 + PropertyAccessExpression 2565243 2565264 + Identifier 2565243 2565260 + Identifier 2565261 2565264 + Identifier 2565265 2565274 + ArrayLiteralExpression 2565275 2565290 + Identifier 2565277 2565280 + ArrayLiteralExpression 2565281 2565289 + Identifier 2565283 2565288 + FunctionDeclaration 2565310 2565476 + Identifier 2565326 2565357 + Parameter 2565358 2565368 + Identifier 2565358 2565362 + TypeReference 2565363 2565368 + Identifier 2565363 2565368 + UnionType 2565370 2565403 + TypeReference 2565370 2565391 + Identifier 2565370 2565391 + UndefinedKeyword 2565393 2565403 + Block 2565403 2565476 + ReturnStatement 2565405 2565469 + CallExpression 2565421 2565468 + Identifier 2565421 2565429 + CallExpression 2565430 2565454 + Identifier 2565430 2565448 + Identifier 2565449 2565453 + Identifier 2565455 2565467 + FunctionDeclaration 2565476 2566283 + Identifier 2565492 2565522 + Parameter 2565523 2565547 + Identifier 2565523 2565534 + TypeReference 2565535 2565547 + Identifier 2565535 2565547 + BooleanKeyword 2565549 2565557 + Block 2565557 2566283 + IfStatement 2565559 2566029 + CallExpression 2565573 2565602 + Identifier 2565573 2565589 + Identifier 2565590 2565601 + Block 2565603 2566029 + IfStatement 2565605 2565942 + CallExpression 2565623 2565665 + Identifier 2565623 2565645 + PropertyAccessExpression 2565646 2565664 + Identifier 2565646 2565657 + Identifier 2565658 2565664 + Block 2565666 2565942 + ReturnStatement 2565668 2565927 + PrefixUnaryExpression 2565839 2565926 + PrefixUnaryExpression 2565841 2565926 + ParenthesizedExpression 2565842 2565926 + BinaryExpression 2565843 2565925 + PropertyAccessExpression 2565843 2565867 + Identifier 2565843 2565854 + Identifier 2565855 2565867 + AmpersandAmpersandToken 2565867 2565870 + CallExpression 2565870 2565925 + Identifier 2565870 2565907 + PropertyAccessExpression 2565908 2565924 + Identifier 2565908 2565919 + Identifier 2565920 2565924 + ReturnStatement 2565942 2566018 + CallExpression 2565962 2566017 + Identifier 2565962 2565999 + PropertyAccessExpression 2566000 2566016 + Identifier 2566000 2566011 + Identifier 2566012 2566016 + ReturnStatement 2566029 2566276 + BinaryExpression 2566045 2566275 + CallExpression 2566045 2566074 + Identifier 2566045 2566061 + Identifier 2566062 2566073 + BarBarToken 2566074 2566077 + BinaryExpression 2566077 2566275 + ParenthesizedExpression 2566077 2566216 + BinaryExpression 2566092 2566215 + BinaryExpression 2566092 2566177 + CallExpression 2566092 2566126 + Identifier 2566092 2566113 + Identifier 2566114 2566125 + AmpersandAmpersandToken 2566126 2566129 + CallExpression 2566129 2566177 + Identifier 2566129 2566150 + PropertyAccessExpression 2566151 2566176 + PropertyAccessExpression 2566151 2566169 + Identifier 2566151 2566162 + Identifier 2566163 2566169 + Identifier 2566170 2566176 + BarBarToken 2566177 2566180 + CallExpression 2566180 2566215 + Identifier 2566180 2566202 + Identifier 2566203 2566214 + AmpersandAmpersandToken 2566216 2566219 + CallExpression 2566219 2566275 + Identifier 2566219 2566256 + NonNullExpression 2566257 2566274 + PropertyAccessExpression 2566257 2566273 + Identifier 2566257 2566268 + Identifier 2566269 2566273 + FunctionDeclaration 2566283 2573716 + Identifier 2566299 2566330 + Parameter 2566331 2566356 + Identifier 2566331 2566345 + TypeReference 2566346 2566356 + Identifier 2566346 2566356 + Parameter 2566357 2566392 + Identifier 2566357 2566371 + TypeReference 2566372 2566392 + Identifier 2566372 2566392 + VoidKeyword 2566394 2566399 + Block 2566399 2573716 + VariableStatement 2566401 2566638 + VariableDeclarationList 2566401 2566637 + VariableDeclaration 2566564 2566637 + Identifier 2566564 2566578 + NewExpression 2566580 2566637 + Identifier 2566584 2566588 + StringKeyword 2566589 2566595 + TupleType 2566596 2566634 + TypeReference 2566598 2566610 + Identifier 2566598 2566610 + ArrayType 2566611 2566633 + TypeReference 2566611 2566631 + Identifier 2566611 2566631 + VariableStatement 2566638 2566729 + VariableDeclarationList 2566638 2566728 + VariableDeclaration 2566653 2566728 + Identifier 2566653 2566672 + NewExpression 2566674 2566728 + Identifier 2566678 2566682 + StringKeyword 2566683 2566689 + TupleType 2566690 2566725 + TypeReference 2566692 2566706 + Identifier 2566692 2566706 + ArrayType 2566707 2566724 + TypeReference 2566707 2566722 + Identifier 2566707 2566722 + VariableStatement 2566729 2566831 + VariableDeclarationList 2566729 2566830 + VariableDeclaration 2566744 2566830 + Identifier 2566744 2566760 + NewExpression 2566762 2566830 + Identifier 2566766 2566770 + StringKeyword 2566771 2566777 + TupleType 2566778 2566827 + TypeReference 2566780 2566803 + Identifier 2566780 2566803 + ArrayType 2566804 2566826 + TypeReference 2566804 2566824 + Identifier 2566804 2566824 + ExpressionStatement 2566831 2570232 + CallExpression 2566831 2570231 + PropertyAccessExpression 2566831 2566871 + NonNullExpression 2566831 2566863 + PropertyAccessExpression 2566831 2566862 + Identifier 2566831 2566855 + Identifier 2566856 2566862 + Identifier 2566864 2566871 + ArrowFunction 2566872 2570230 + Parameter 2566872 2566877 + Identifier 2566872 2566877 + EqualsGreaterThanToken 2566877 2566880 + Block 2566880 2570230 + IfStatement 2566882 2567322 + ConditionalExpression 2567108 2567279 + BinaryExpression 2567108 2567147 + PropertyAccessExpression 2567108 2567119 + Identifier 2567108 2567113 + Identifier 2567114 2567119 + AmpersandToken 2567119 2567121 + PropertyAccessExpression 2567121 2567147 + Identifier 2567121 2567133 + Identifier 2567134 2567147 + QuestionToken 2567147 2567149 + PrefixUnaryExpression 2567149 2567236 + ParenthesizedExpression 2567151 2567236 + BinaryExpression 2567152 2567235 + BinaryExpression 2567152 2567186 + PropertyAccessExpression 2567152 2567163 + Identifier 2567152 2567157 + Identifier 2567158 2567163 + AmpersandToken 2567163 2567165 + PropertyAccessExpression 2567165 2567186 + Identifier 2567165 2567177 + Identifier 2567178 2567186 + AmpersandAmpersandToken 2567186 2567189 + PrefixUnaryExpression 2567189 2567235 + ParenthesizedExpression 2567191 2567235 + BinaryExpression 2567192 2567234 + NonNullExpression 2567192 2567211 + PropertyAccessExpression 2567192 2567210 + Identifier 2567192 2567197 + Identifier 2567198 2567210 + AmpersandToken 2567211 2567213 + PropertyAccessExpression 2567213 2567234 + Identifier 2567213 2567225 + Identifier 2567226 2567234 + ColonToken 2567236 2567238 + BinaryExpression 2567238 2567279 + PropertyAccessExpression 2567238 2567257 + Identifier 2567238 2567244 + Identifier 2567245 2567257 + BarBarToken 2567257 2567260 + PropertyAccessExpression 2567260 2567279 + Identifier 2567260 2567266 + Identifier 2567267 2567279 + Block 2567280 2567322 + ReturnStatement 2567282 2567307 + IfStatement 2567322 2570219 + PropertyAccessExpression 2567342 2567360 + Identifier 2567342 2567347 + Identifier 2567348 2567360 + Block 2567361 2570219 + ForOfStatement 2567363 2570204 + VariableDeclarationList 2567386 2567403 + VariableDeclaration 2567391 2567403 + Identifier 2567391 2567403 + PropertyAccessExpression 2567406 2567425 + Identifier 2567406 2567412 + Identifier 2567413 2567425 + Block 2567426 2570204 + IfStatement 2567428 2567557 + CallExpression 2567454 2567496 + Identifier 2567454 2567483 + Identifier 2567484 2567495 + Block 2567497 2567557 + ContinueStatement 2567499 2567534 + IfStatement 2567557 2570185 + CallExpression 2567585 2567619 + Identifier 2567585 2567606 + Identifier 2567607 2567618 + Block 2567620 2567760 + ExpressionStatement 2567622 2567737 + CallExpression 2567622 2567736 + Identifier 2567622 2567658 + Identifier 2567659 2567672 + CallExpression 2567673 2567711 + Identifier 2567673 2567698 + Identifier 2567699 2567710 + Identifier 2567712 2567724 + Identifier 2567725 2567735 + IfStatement 2567786 2570185 + BinaryExpression 2567791 2567866 + CallExpression 2567791 2567820 + Identifier 2567791 2567807 + Identifier 2567808 2567819 + AmpersandAmpersandToken 2567820 2567823 + CallExpression 2567823 2567866 + Identifier 2567823 2567846 + PropertyAccessExpression 2567847 2567865 + Identifier 2567847 2567858 + Identifier 2567859 2567865 + Block 2567867 2568355 + VariableStatement 2567869 2568087 + VariableDeclarationList 2567869 2568086 + VariableDeclaration 2568038 2568086 + Identifier 2568038 2568050 + CallExpression 2568052 2568086 + Identifier 2568052 2568057 + PropertyAccessExpression 2568058 2568085 + PropertyAccessExpression 2568058 2568076 + Identifier 2568058 2568069 + Identifier 2568070 2568076 + Identifier 2568077 2568085 + IfStatement 2568087 2568332 + BinaryExpression 2568117 2568197 + BinaryExpression 2568117 2568144 + Identifier 2568117 2568128 + EqualsEqualsEqualsToken 2568128 2568132 + Identifier 2568132 2568144 + BarBarToken 2568144 2568147 + PrefixUnaryExpression 2568147 2568197 + PropertyAccessExpression 2568149 2568197 + CallExpression 2568149 2568182 + Identifier 2568149 2568153 + PropertyAccessExpression 2568154 2568181 + PropertyAccessExpression 2568154 2568172 + Identifier 2568154 2568165 + Identifier 2568166 2568172 + Identifier 2568173 2568181 + Identifier 2568183 2568197 + Block 2568198 2568332 + ExpressionStatement 2568200 2568305 + CallExpression 2568200 2568304 + Identifier 2568200 2568240 + Identifier 2568241 2568259 + PropertyAccessExpression 2568260 2568279 + Identifier 2568260 2568272 + Identifier 2568273 2568279 + Identifier 2568280 2568292 + Identifier 2568293 2568303 + IfStatement 2568381 2570185 + CallExpression 2568386 2568420 + Identifier 2568386 2568407 + Identifier 2568408 2568419 + Block 2568421 2568927 + VariableStatement 2568423 2568536 + VariableDeclarationList 2568423 2568535 + VariableDeclaration 2568454 2568535 + Identifier 2568454 2568469 + BinaryExpression 2568471 2568535 + CallExpression 2568471 2568511 + Identifier 2568471 2568498 + Identifier 2568499 2568510 + AmpersandToken 2568511 2568513 + PropertyAccessExpression 2568513 2568535 + Identifier 2568513 2568523 + Identifier 2568524 2568535 + VariableStatement 2568536 2568609 + VariableDeclarationList 2568536 2568608 + VariableDeclaration 2568567 2568608 + Identifier 2568567 2568572 + CallExpression 2568574 2568608 + Identifier 2568574 2568595 + Identifier 2568596 2568607 + IfStatement 2568609 2568904 + BinaryExpression 2568639 2568772 + BinaryExpression 2568639 2568725 + BinaryExpression 2568639 2568716 + BinaryExpression 2568639 2568673 + Identifier 2568639 2568653 + ExclamationEqualsEqualsToken 2568653 2568657 + PropertyAccessExpression 2568657 2568673 + Identifier 2568657 2568667 + Identifier 2568668 2568673 + AmpersandAmpersandToken 2568673 2568676 + BinaryExpression 2568676 2568716 + Identifier 2568676 2568691 + ExclamationEqualsEqualsToken 2568691 2568695 + PropertyAccessExpression 2568695 2568716 + Identifier 2568695 2568705 + Identifier 2568706 2568716 + BarBarToken 2568716 2568719 + PrefixUnaryExpression 2568719 2568725 + Identifier 2568721 2568725 + BarBarToken 2568725 2568728 + PrefixUnaryExpression 2568728 2568772 + CallExpression 2568730 2568772 + Identifier 2568730 2568766 + Identifier 2568767 2568771 + Block 2568773 2568904 + ExpressionStatement 2568775 2568877 + CallExpression 2568775 2568876 + Identifier 2568775 2568815 + Identifier 2568816 2568831 + PropertyAccessExpression 2568832 2568851 + Identifier 2568832 2568844 + Identifier 2568845 2568851 + Identifier 2568852 2568864 + Identifier 2568865 2568875 + Block 2568953 2570185 + VariableStatement 2568955 2569080 + VariableDeclarationList 2568955 2569079 + VariableDeclaration 2568986 2569079 + Identifier 2568986 2568996 + BinaryExpression 2568998 2569079 + PropertyAccessExpression 2568998 2569021 + Identifier 2568998 2569004 + Identifier 2569005 2569021 + AmpersandAmpersandToken 2569021 2569024 + CallExpression 2569024 2569079 + Identifier 2569024 2569055 + PropertyAccessExpression 2569056 2569078 + Identifier 2569056 2569061 + Identifier 2569062 2569078 + VariableStatement 2569080 2569190 + VariableDeclarationList 2569080 2569189 + VariableDeclaration 2569111 2569189 + Identifier 2569111 2569116 + BinaryExpression 2569118 2569189 + PropertyAccessExpression 2569118 2569141 + Identifier 2569118 2569124 + Identifier 2569125 2569141 + AmpersandAmpersandToken 2569141 2569144 + CallExpression 2569144 2569189 + Identifier 2569144 2569165 + PropertyAccessExpression 2569166 2569188 + Identifier 2569166 2569171 + Identifier 2569172 2569188 + IfStatement 2569190 2570162 + BinaryExpression 2569220 2569237 + Identifier 2569220 2569229 + AmpersandAmpersandToken 2569229 2569232 + Identifier 2569232 2569237 + Block 2569238 2570009 + IfStatement 2569240 2569982 + BinaryExpression 2569274 2569419 + BinaryExpression 2569274 2569372 + PrefixUnaryExpression 2569274 2569334 + CallExpression 2569275 2569334 + Identifier 2569275 2569305 + Identifier 2569306 2569315 + PropertyAccessExpression 2569316 2569333 + Identifier 2569316 2569326 + Identifier 2569327 2569333 + AmpersandAmpersandToken 2569334 2569337 + PrefixUnaryExpression 2569337 2569372 + CallExpression 2569339 2569372 + Identifier 2569339 2569361 + Identifier 2569362 2569371 + AmpersandAmpersandToken 2569372 2569375 + PrefixUnaryExpression 2569375 2569419 + CallExpression 2569377 2569419 + Identifier 2569377 2569413 + Identifier 2569414 2569418 + Block 2569420 2569982 + IfStatement 2569422 2569951 + BinaryExpression 2569460 2569534 + CallExpression 2569460 2569489 + Identifier 2569460 2569476 + Identifier 2569477 2569488 + AmpersandAmpersandToken 2569489 2569492 + CallExpression 2569492 2569534 + Identifier 2569492 2569514 + PropertyAccessExpression 2569515 2569533 + Identifier 2569515 2569526 + Identifier 2569527 2569533 + Block 2569535 2569685 + ExpressionStatement 2569537 2569650 + CallExpression 2569537 2569649 + Identifier 2569537 2569585 + Identifier 2569586 2569604 + PropertyAccessExpression 2569605 2569624 + Identifier 2569605 2569617 + Identifier 2569618 2569624 + Identifier 2569625 2569637 + Identifier 2569638 2569648 + Block 2569723 2569951 + ExpressionStatement 2569725 2569916 + CallExpression 2569725 2569915 + Identifier 2569725 2569776 + Identifier 2569777 2569786 + PropertyAccessExpression 2569787 2569808 + Identifier 2569787 2569798 + Identifier 2569799 2569808 + CallExpression 2569809 2569914 + Identifier 2569809 2569833 + Identifier 2569834 2569838 + PropertyAccessExpression 2569839 2569894 + Identifier 2569839 2569851 + Identifier 2569852 2569894 + CallExpression 2569895 2569913 + Identifier 2569895 2569906 + Identifier 2569907 2569912 + Block 2570039 2570162 + ExpressionStatement 2570041 2570135 + CallExpression 2570041 2570134 + Identifier 2570041 2570087 + Identifier 2570088 2570099 + CallExpression 2570100 2570118 + Identifier 2570100 2570111 + Identifier 2570112 2570117 + Identifier 2570119 2570133 + ExpressionStatement 2570232 2571284 + CallExpression 2570232 2571283 + PropertyAccessExpression 2570232 2570263 + Identifier 2570232 2570255 + Identifier 2570256 2570263 + ArrowFunction 2570264 2571282 + Parameter 2570265 2570288 + ArrayBindingPattern 2570265 2570288 + BindingElement 2570266 2570278 + Identifier 2570266 2570278 + BindingElement 2570279 2570287 + Identifier 2570279 2570287 + EqualsGreaterThanToken 2570289 2570292 + Block 2570292 2571282 + VariableStatement 2570294 2570347 + VariableDeclarationList 2570294 2570346 + VariableDeclaration 2570313 2570346 + Identifier 2570313 2570324 + PropertyAccessExpression 2570326 2570346 + Identifier 2570326 2570339 + Identifier 2570340 2570346 + VariableStatement 2570347 2570621 + VariableDeclarationList 2570347 2570620 + VariableDeclaration 2570366 2570620 + Identifier 2570366 2570380 + BinaryExpression 2570382 2570620 + ParenthesizedExpression 2570382 2570410 + ConditionalExpression 2570384 2570409 + PropertyAccessExpression 2570384 2570401 + Identifier 2570384 2570396 + Identifier 2570397 2570401 + QuestionToken 2570401 2570403 + NumericLiteral 2570403 2570405 + ColonToken 2570405 2570407 + NumericLiteral 2570407 2570409 + PlusToken 2570410 2570412 + ParenthesizedExpression 2570412 2570620 + ConditionalExpression 2570431 2570619 + PropertyAccessExpression 2570431 2570457 + Identifier 2570431 2570443 + Identifier 2570444 2570457 + QuestionToken 2570457 2570459 + ParenthesizedExpression 2570459 2570594 + ConditionalExpression 2570482 2570593 + BinaryExpression 2570482 2570544 + PropertyAccessExpression 2570482 2570513 + PropertyAccessExpression 2570482 2570508 + Identifier 2570482 2570494 + Identifier 2570495 2570508 + Identifier 2570509 2570513 + EqualsEqualsEqualsToken 2570513 2570517 + PropertyAccessExpression 2570517 2570544 + Identifier 2570517 2570528 + Identifier 2570529 2570544 + QuestionToken 2570544 2570546 + NumericLiteral 2570546 2570548 + ColonToken 2570548 2570550 + PropertyAccessExpression 2570550 2570593 + PropertyAccessExpression 2570550 2570586 + PropertyAccessExpression 2570550 2570577 + Identifier 2570550 2570563 + Identifier 2570564 2570577 + Identifier 2570578 2570586 + Identifier 2570587 2570593 + ColonToken 2570594 2570617 + NumericLiteral 2570617 2570619 + IfStatement 2570621 2571271 + BinaryExpression 2570639 2570671 + Identifier 2570639 2570652 + EqualsEqualsEqualsToken 2570652 2570656 + PropertyAccessExpression 2570656 2570671 + Identifier 2570656 2570664 + Identifier 2570665 2570671 + Block 2570672 2571126 + ExpressionStatement 2570674 2571111 + CallExpression 2570674 2571110 + Identifier 2570674 2570705 + Identifier 2570706 2570738 + PropertyAccessExpression 2570739 2570777 + Identifier 2570739 2570771 + Identifier 2570772 2570777 + ConditionalExpression 2570778 2571090 + BinaryExpression 2570778 2570820 + PropertyAccessExpression 2570778 2570814 + Identifier 2570778 2570807 + Identifier 2570808 2570814 + EqualsEqualsEqualsToken 2570814 2570818 + NumericLiteral 2570818 2570820 + QuestionToken 2570820 2570847 + CallExpression 2570847 2570969 + Identifier 2570847 2570871 + Identifier 2570872 2570882 + PropertyAccessExpression 2570883 2570938 + Identifier 2570883 2570895 + Identifier 2570896 2570938 + CallExpression 2570939 2570968 + Identifier 2570939 2570946 + NonNullExpression 2570947 2570967 + PropertyAccessExpression 2570947 2570966 + CallExpression 2570947 2570961 + Identifier 2570947 2570952 + Identifier 2570953 2570960 + Identifier 2570962 2570966 + ColonToken 2570969 2570996 + CallExpression 2570996 2571090 + Identifier 2570996 2571020 + Identifier 2571021 2571031 + PropertyAccessExpression 2571032 2571089 + Identifier 2571032 2571044 + Identifier 2571045 2571089 + Block 2571144 2571271 + ForOfStatement 2571146 2571256 + VariableDeclarationList 2571169 2571181 + VariableDeclaration 2571174 2571181 + Identifier 2571174 2571181 + Identifier 2571184 2571192 + ExpressionStatement 2571193 2571256 + CallExpression 2571193 2571255 + Identifier 2571193 2571210 + Identifier 2571211 2571217 + CallExpression 2571218 2571239 + Identifier 2571218 2571225 + NonNullExpression 2571226 2571238 + PropertyAccessExpression 2571226 2571237 + Identifier 2571226 2571232 + Identifier 2571233 2571237 + Identifier 2571240 2571254 + ExpressionStatement 2571284 2572701 + CallExpression 2571284 2572700 + PropertyAccessExpression 2571284 2571320 + Identifier 2571284 2571312 + Identifier 2571313 2571320 + ArrowFunction 2571321 2572699 + Parameter 2571322 2571355 + ArrayBindingPattern 2571322 2571355 + BindingElement 2571323 2571337 + Identifier 2571323 2571337 + BindingElement 2571338 2571354 + Identifier 2571338 2571354 + EqualsGreaterThanToken 2571356 2571359 + Block 2571359 2572699 + VariableStatement 2571361 2571484 + VariableDeclarationList 2571361 2571483 + VariableDeclaration 2571380 2571483 + Identifier 2571380 2571385 + ConditionalExpression 2571387 2571483 + CallExpression 2571387 2571441 + Identifier 2571387 2571418 + PropertyAccessExpression 2571419 2571440 + Identifier 2571419 2571433 + Identifier 2571434 2571440 + QuestionToken 2571441 2571443 + PropertyAccessExpression 2571443 2571464 + Identifier 2571443 2571454 + Identifier 2571455 2571464 + ColonToken 2571464 2571466 + PropertyAccessExpression 2571466 2571483 + Identifier 2571466 2571477 + Identifier 2571478 2571483 + IfStatement 2571484 2572688 + BinaryExpression 2571502 2571559 + PropertyAccessExpression 2571502 2571532 + PropertyAccessExpression 2571502 2571525 + Identifier 2571502 2571516 + Identifier 2571517 2571525 + Identifier 2571526 2571532 + EqualsEqualsEqualsToken 2571532 2571536 + PropertyAccessExpression 2571536 2571559 + Identifier 2571536 2571552 + Identifier 2571553 2571559 + Block 2571560 2572428 + IfStatement 2571562 2572413 + BinaryExpression 2571584 2571753 + BinaryExpression 2571584 2571677 + BinaryExpression 2571584 2571612 + PropertyAccessExpression 2571584 2571606 + Identifier 2571584 2571599 + Identifier 2571600 2571606 + EqualsEqualsEqualsToken 2571606 2571610 + NumericLiteral 2571610 2571612 + AmpersandAmpersandToken 2571612 2571615 + BinaryExpression 2571615 2571677 + PropertyAccessExpression 2571615 2571642 + PropertyAccessExpression 2571615 2571637 + Identifier 2571615 2571630 + Identifier 2571631 2571637 + Identifier 2571638 2571642 + EqualsEqualsEqualsToken 2571642 2571646 + PropertyAccessExpression 2571646 2571677 + Identifier 2571646 2571657 + Identifier 2571658 2571677 + AmpersandAmpersandToken 2571677 2571680 + BinaryExpression 2571680 2571753 + PropertyAccessExpression 2571680 2571714 + PropertyAccessExpression 2571680 2571709 + PropertyAccessExpression 2571680 2571702 + Identifier 2571680 2571695 + Identifier 2571696 2571702 + Identifier 2571703 2571709 + Identifier 2571710 2571714 + EqualsEqualsEqualsToken 2571714 2571718 + PropertyAccessExpression 2571718 2571753 + Identifier 2571718 2571729 + Identifier 2571730 2571753 + Block 2571754 2571889 + ExpressionStatement 2571756 2571870 + CallExpression 2571756 2571869 + Identifier 2571756 2571788 + Identifier 2571789 2571804 + PropertyAccessExpression 2571805 2571834 + PropertyAccessExpression 2571805 2571827 + Identifier 2571805 2571820 + Identifier 2571821 2571827 + Identifier 2571828 2571834 + PropertyAccessExpression 2571835 2571857 + Identifier 2571835 2571850 + Identifier 2571851 2571857 + Identifier 2571858 2571868 + Block 2571911 2572413 + ExpressionStatement 2571913 2572394 + CallExpression 2571913 2572393 + Identifier 2571913 2571948 + Identifier 2571949 2571989 + Identifier 2571990 2572020 + ConditionalExpression 2572021 2572369 + BinaryExpression 2572021 2572075 + PropertyAccessExpression 2572021 2572069 + Identifier 2572021 2572062 + Identifier 2572063 2572069 + EqualsEqualsEqualsToken 2572069 2572073 + NumericLiteral 2572073 2572075 + QuestionToken 2572075 2572106 + CallExpression 2572106 2572248 + Identifier 2572106 2572130 + Identifier 2572131 2572145 + PropertyAccessExpression 2572146 2572201 + Identifier 2572146 2572158 + Identifier 2572159 2572201 + CallExpression 2572202 2572247 + Identifier 2572202 2572218 + PropertyAccessExpression 2572219 2572246 + CallExpression 2572219 2572241 + Identifier 2572219 2572224 + Identifier 2572225 2572240 + Identifier 2572242 2572246 + ColonToken 2572248 2572279 + CallExpression 2572279 2572369 + Identifier 2572279 2572303 + Identifier 2572304 2572318 + PropertyAccessExpression 2572319 2572368 + Identifier 2572319 2572331 + Identifier 2572332 2572368 + Block 2572446 2572688 + ForOfStatement 2572448 2572673 + VariableDeclarationList 2572471 2572478 + VariableDeclaration 2572476 2572478 + Identifier 2572476 2572478 + Identifier 2572481 2572497 + Block 2572498 2572673 + ExpressionStatement 2572500 2572654 + CallExpression 2572500 2572653 + Identifier 2572500 2572535 + Identifier 2572536 2572537 + Identifier 2572538 2572543 + CallExpression 2572544 2572652 + Identifier 2572544 2572568 + Identifier 2572569 2572570 + PropertyAccessExpression 2572571 2572626 + Identifier 2572571 2572583 + Identifier 2572584 2572626 + CallExpression 2572627 2572651 + Identifier 2572627 2572643 + PropertyAccessExpression 2572644 2572650 + Identifier 2572644 2572645 + Identifier 2572646 2572650 + ExpressionStatement 2572701 2573709 + CallExpression 2572701 2573708 + PropertyAccessExpression 2572701 2572734 + Identifier 2572701 2572726 + Identifier 2572727 2572734 + ArrowFunction 2572735 2573707 + Parameter 2572736 2572767 + ArrayBindingPattern 2572736 2572767 + BindingElement 2572737 2572752 + Identifier 2572737 2572752 + BindingElement 2572753 2572766 + Identifier 2572753 2572766 + EqualsGreaterThanToken 2572768 2572771 + Block 2572771 2573707 + IfStatement 2572773 2573696 + BinaryExpression 2572791 2572850 + PropertyAccessExpression 2572791 2572826 + PropertyAccessExpression 2572791 2572819 + Identifier 2572791 2572806 + Identifier 2572807 2572819 + Identifier 2572820 2572826 + EqualsEqualsEqualsToken 2572826 2572830 + PropertyAccessExpression 2572830 2572850 + Identifier 2572830 2572843 + Identifier 2572844 2572850 + Block 2572851 2573415 + ExpressionStatement 2572853 2573400 + CallExpression 2572853 2573399 + Identifier 2572853 2572884 + Identifier 2572885 2572922 + PropertyAccessExpression 2572923 2572961 + Identifier 2572923 2572955 + Identifier 2572956 2572961 + ConditionalExpression 2572962 2573379 + BinaryExpression 2572962 2573009 + PropertyAccessExpression 2572962 2573003 + Identifier 2572962 2572996 + Identifier 2572997 2573003 + EqualsEqualsEqualsToken 2573003 2573007 + NumericLiteral 2573007 2573009 + QuestionToken 2573009 2573036 + CallExpression 2573036 2573185 + Identifier 2573036 2573060 + PropertyAccessExpression 2573061 2573085 + CallExpression 2573061 2573080 + Identifier 2573061 2573066 + Identifier 2573067 2573079 + Identifier 2573081 2573085 + PropertyAccessExpression 2573086 2573141 + Identifier 2573086 2573098 + Identifier 2573099 2573141 + CallExpression 2573142 2573184 + Identifier 2573142 2573158 + PropertyAccessExpression 2573159 2573183 + CallExpression 2573159 2573178 + Identifier 2573159 2573164 + Identifier 2573165 2573177 + Identifier 2573179 2573183 + ColonToken 2573185 2573212 + CallExpression 2573212 2573379 + Identifier 2573212 2573236 + ConditionalExpression 2573237 2573340 + BinaryExpression 2573237 2573297 + PropertyAccessExpression 2573237 2573264 + PropertyAccessExpression 2573237 2573259 + Identifier 2573237 2573252 + Identifier 2573253 2573259 + Identifier 2573260 2573264 + EqualsEqualsEqualsToken 2573264 2573268 + PropertyAccessExpression 2573268 2573297 + Identifier 2573268 2573279 + Identifier 2573280 2573297 + QuestionToken 2573297 2573299 + PropertyAccessExpression 2573299 2573322 + Identifier 2573299 2573315 + Identifier 2573316 2573322 + ColonToken 2573322 2573324 + Identifier 2573324 2573340 + PropertyAccessExpression 2573341 2573378 + Identifier 2573341 2573353 + Identifier 2573354 2573378 + Block 2573433 2573696 + ForOfStatement 2573435 2573681 + VariableDeclarationList 2573458 2573468 + VariableDeclaration 2573463 2573468 + Identifier 2573463 2573468 + Identifier 2573471 2573484 + Block 2573485 2573681 + ExpressionStatement 2573487 2573662 + CallExpression 2573487 2573661 + Identifier 2573487 2573522 + Identifier 2573523 2573527 + PropertyAccessExpression 2573528 2573545 + Identifier 2573528 2573539 + Identifier 2573540 2573545 + CallExpression 2573546 2573660 + Identifier 2573546 2573570 + Identifier 2573571 2573575 + PropertyAccessExpression 2573576 2573631 + Identifier 2573576 2573588 + Identifier 2573589 2573631 + CallExpression 2573632 2573659 + Identifier 2573632 2573648 + PropertyAccessExpression 2573649 2573658 + Identifier 2573649 2573653 + Identifier 2573654 2573658 + FunctionDeclaration 2573716 2574989 + Identifier 2573732 2573785 + Block 2573787 2574989 + ForOfStatement 2573789 2574982 + VariableDeclarationList 2573804 2573814 + VariableDeclaration 2573809 2573814 + Identifier 2573809 2573814 + Identifier 2573817 2573862 + Block 2573863 2574982 + IfStatement 2573865 2574971 + PrefixUnaryExpression 2573883 2573926 + PropertyAccessExpression 2573884 2573926 + CallExpression 2573884 2573912 + Identifier 2573884 2573906 + Identifier 2573907 2573911 + QuestionDotToken 2573912 2573914 + Identifier 2573914 2573926 + Block 2573927 2574971 + VariableStatement 2573929 2574014 + VariableDeclarationList 2573929 2574013 + VariableDeclaration 2573952 2574013 + Identifier 2573952 2573972 + CallExpression 2573974 2574013 + Identifier 2573974 2574007 + Identifier 2574008 2574012 + ExpressionStatement 2574014 2574149 + CallExpression 2574014 2574148 + PropertyAccessExpression 2574014 2574044 + Identifier 2574014 2574037 + Identifier 2574038 2574044 + CallExpression 2574045 2574094 + Identifier 2574045 2574073 + Identifier 2574074 2574093 + StringLiteral 2574095 2574147 + VariableStatement 2574149 2574390 + VariableDeclarationList 2574149 2574389 + VariableDeclaration 2574172 2574389 + Identifier 2574172 2574183 + CallExpression 2574185 2574389 + Identifier 2574185 2574209 + PropertyAccessExpression 2574210 2574219 + Identifier 2574210 2574214 + Identifier 2574215 2574219 + PropertyAccessExpression 2574220 2574308 + Identifier 2574220 2574232 + Identifier 2574233 2574308 + CallExpression 2574309 2574344 + Identifier 2574309 2574333 + PropertyAccessExpression 2574334 2574343 + Identifier 2574334 2574338 + Identifier 2574339 2574343 + CallExpression 2574345 2574388 + Identifier 2574345 2574369 + PropertyAccessExpression 2574370 2574387 + Identifier 2574370 2574374 + Identifier 2574375 2574387 + IfStatement 2574390 2574910 + PrefixUnaryExpression 2574412 2574437 + PropertyAccessExpression 2574413 2574437 + Identifier 2574413 2574432 + Identifier 2574433 2574437 + Block 2574438 2574910 + ExpressionStatement 2574440 2574891 + CallExpression 2574440 2574890 + Identifier 2574440 2574577 + Identifier 2574578 2574614 + CallExpression 2574615 2574866 + Identifier 2574615 2574661 + CallExpression 2574662 2574702 + Identifier 2574662 2574681 + Identifier 2574682 2574701 + PropertyAccessExpression 2574703 2574727 + Identifier 2574703 2574723 + Identifier 2574724 2574727 + NumericLiteral 2574728 2574730 + PropertyAccessExpression 2574731 2574821 + Identifier 2574731 2574743 + Identifier 2574744 2574821 + CallExpression 2574822 2574865 + Identifier 2574822 2574846 + PropertyAccessExpression 2574847 2574864 + Identifier 2574847 2574851 + Identifier 2574852 2574864 + ExpressionStatement 2574910 2574956 + CallExpression 2574910 2574955 + PropertyAccessExpression 2574910 2574943 + Identifier 2574910 2574939 + Identifier 2574940 2574943 + Identifier 2574944 2574954 + FunctionDeclaration 2574989 2575441 + Identifier 2575005 2575021 + Parameter 2575022 2575039 + Identifier 2575022 2575026 + TypeReference 2575027 2575039 + Identifier 2575027 2575039 + StringKeyword 2575041 2575048 + Block 2575048 2575441 + SwitchStatement 2575050 2575434 + PropertyAccessExpression 2575068 2575077 + Identifier 2575068 2575072 + Identifier 2575073 2575077 + CaseBlock 2575078 2575434 + CaseClause 2575080 2575159 + PropertyAccessExpression 2575098 2575120 + Identifier 2575098 2575109 + Identifier 2575110 2575120 + ReturnStatement 2575121 2575159 + CallExpression 2575145 2575158 + Identifier 2575145 2575152 + Identifier 2575153 2575157 + CaseClause 2575159 2575209 + PropertyAccessExpression 2575177 2575208 + Identifier 2575177 2575188 + Identifier 2575189 2575208 + CaseClause 2575209 2575352 + PropertyAccessExpression 2575227 2575259 + Identifier 2575227 2575238 + Identifier 2575239 2575259 + ReturnStatement 2575260 2575352 + CallExpression 2575284 2575351 + Identifier 2575284 2575300 + PropertyAccessExpression 2575301 2575350 + CallExpression 2575301 2575345 + Identifier 2575301 2575305 + CallExpression 2575306 2575326 + Identifier 2575306 2575311 + PropertyAccessExpression 2575312 2575325 + Identifier 2575312 2575316 + Identifier 2575317 2575325 + Identifier 2575327 2575344 + Identifier 2575346 2575350 + DefaultClause 2575352 2575423 + ReturnStatement 2575374 2575423 + CallExpression 2575398 2575422 + PropertyAccessExpression 2575398 2575416 + Identifier 2575398 2575404 + Identifier 2575405 2575416 + Identifier 2575417 2575421 + TypeAliasDeclaration 2575441 2575525 + Identifier 2575453 2575473 + UnionType 2575475 2575524 + TypeReference 2575475 2575488 + Identifier 2575475 2575488 + TypeReference 2575490 2575506 + Identifier 2575490 2575506 + TypeReference 2575508 2575524 + Identifier 2575508 2575524 + FunctionDeclaration 2575525 2575754 + Identifier 2575539 2575561 + Parameter 2575562 2575572 + Identifier 2575562 2575566 + TypeReference 2575567 2575572 + Identifier 2575567 2575572 + TypePredicate 2575574 2575602 + Identifier 2575574 2575579 + TypeReference 2575582 2575602 + Identifier 2575582 2575602 + Block 2575602 2575754 + ReturnStatement 2575604 2575747 + BinaryExpression 2575620 2575746 + BinaryExpression 2575620 2575702 + BinaryExpression 2575620 2575658 + PropertyAccessExpression 2575620 2575630 + Identifier 2575620 2575625 + Identifier 2575626 2575630 + EqualsEqualsEqualsToken 2575630 2575634 + PropertyAccessExpression 2575634 2575658 + Identifier 2575634 2575645 + Identifier 2575646 2575658 + BarBarToken 2575658 2575661 + BinaryExpression 2575661 2575702 + PropertyAccessExpression 2575661 2575671 + Identifier 2575661 2575666 + Identifier 2575667 2575671 + EqualsEqualsEqualsToken 2575671 2575675 + PropertyAccessExpression 2575675 2575702 + Identifier 2575675 2575686 + Identifier 2575687 2575702 + BarBarToken 2575702 2575705 + BinaryExpression 2575705 2575746 + PropertyAccessExpression 2575705 2575715 + Identifier 2575705 2575710 + Identifier 2575711 2575715 + EqualsEqualsEqualsToken 2575715 2575719 + PropertyAccessExpression 2575719 2575746 + Identifier 2575719 2575730 + Identifier 2575731 2575746 + FunctionDeclaration 2575754 2575983 + Identifier 2575768 2575793 + Parameter 2575794 2575819 + Identifier 2575794 2575798 + TypeReference 2575799 2575819 + Identifier 2575799 2575819 + TypeReference 2575821 2575834 + Identifier 2575821 2575834 + Block 2575834 2575983 + ReturnStatement 2575836 2575976 + ConditionalExpression 2575852 2575975 + BinaryExpression 2575852 2575890 + PropertyAccessExpression 2575852 2575862 + Identifier 2575852 2575857 + Identifier 2575858 2575862 + EqualsEqualsEqualsToken 2575862 2575866 + PropertyAccessExpression 2575866 2575890 + Identifier 2575866 2575877 + Identifier 2575878 2575890 + QuestionToken 2575890 2575892 + Identifier 2575892 2575897 + ColonToken 2575897 2575899 + ConditionalExpression 2575899 2575975 + BinaryExpression 2575899 2575940 + PropertyAccessExpression 2575899 2575909 + Identifier 2575899 2575904 + Identifier 2575905 2575909 + EqualsEqualsEqualsToken 2575909 2575913 + PropertyAccessExpression 2575913 2575940 + Identifier 2575913 2575924 + Identifier 2575925 2575940 + QuestionToken 2575940 2575942 + PropertyAccessExpression 2575942 2575954 + Identifier 2575942 2575947 + Identifier 2575948 2575954 + ColonToken 2575954 2575956 + PropertyAccessExpression 2575956 2575975 + PropertyAccessExpression 2575956 2575968 + Identifier 2575956 2575961 + Identifier 2575962 2575968 + Identifier 2575969 2575975 + FunctionDeclaration 2575983 2576623 + Identifier 2575999 2576010 + Parameter 2576011 2576022 + Identifier 2576011 2576015 + TypeReference 2576016 2576022 + Identifier 2576016 2576022 + Block 2576023 2576623 + IfStatement 2576025 2576191 + BinaryExpression 2576089 2576119 + PropertyAccessExpression 2576089 2576098 + Identifier 2576089 2576093 + Identifier 2576094 2576098 + EqualsEqualsEqualsToken 2576098 2576102 + PropertyAccessExpression 2576102 2576119 + Identifier 2576102 2576113 + Identifier 2576114 2576119 + Block 2576120 2576191 + ExpressionStatement 2576122 2576180 + CallExpression 2576122 2576179 + Identifier 2576122 2576173 + Identifier 2576174 2576178 + IfStatement 2576191 2576523 + CallExpression 2576205 2576234 + Identifier 2576205 2576228 + Identifier 2576229 2576233 + Block 2576235 2576437 + VariableStatement 2576237 2576305 + VariableDeclarationList 2576237 2576304 + VariableDeclaration 2576256 2576304 + Identifier 2576256 2576281 + Identifier 2576283 2576304 + ExpressionStatement 2576305 2576364 + CallExpression 2576305 2576363 + Identifier 2576305 2576326 + PropertyAccessExpression 2576327 2576342 + Identifier 2576327 2576331 + Identifier 2576332 2576342 + Identifier 2576343 2576362 + ExpressionStatement 2576364 2576426 + BinaryExpression 2576364 2576425 + Identifier 2576364 2576398 + EqualsToken 2576398 2576400 + Identifier 2576400 2576425 + Block 2576451 2576523 + ExpressionStatement 2576453 2576512 + CallExpression 2576453 2576511 + Identifier 2576453 2576474 + PropertyAccessExpression 2576475 2576490 + Identifier 2576475 2576479 + Identifier 2576480 2576490 + Identifier 2576491 2576510 + IfStatement 2576523 2576616 + PropertyAccessExpression 2576537 2576548 + Identifier 2576537 2576541 + Identifier 2576542 2576548 + Block 2576549 2576616 + ExpressionStatement 2576551 2576605 + CallExpression 2576551 2576604 + Identifier 2576551 2576598 + Identifier 2576599 2576603 + FunctionDeclaration 2576623 2577333 + Identifier 2576639 2576682 + Parameter 2576683 2576709 + Identifier 2576683 2576687 + TypeReference 2576688 2576709 + Identifier 2576688 2576709 + Block 2576710 2577333 + IfStatement 2576712 2577001 + BinaryExpression 2576810 2576966 + BinaryExpression 2576810 2576909 + BinaryExpression 2576810 2576875 + BinaryExpression 2576810 2576848 + Identifier 2576810 2576825 + GreaterThanEqualsToken 2576825 2576828 + PropertyAccessExpression 2576828 2576848 + Identifier 2576828 2576841 + Identifier 2576842 2576848 + BarBarToken 2576848 2576851 + PrefixUnaryExpression 2576851 2576875 + CallExpression 2576853 2576875 + Identifier 2576853 2576869 + Identifier 2576870 2576874 + BarBarToken 2576875 2576878 + BinaryExpression 2576878 2576909 + PropertyAccessExpression 2576878 2576889 + Identifier 2576878 2576883 + Identifier 2576884 2576889 + AmpersandToken 2576889 2576891 + PropertyAccessExpression 2576891 2576909 + Identifier 2576891 2576901 + Identifier 2576902 2576909 + BarBarToken 2576909 2576912 + CallExpression 2576912 2576966 + Identifier 2576912 2576926 + PropertyAccessExpression 2576927 2576965 + ParenthesizedExpression 2576927 2576960 + AsExpression 2576928 2576959 + Identifier 2576928 2576932 + TypeReference 2576935 2576959 + Identifier 2576935 2576959 + Identifier 2576961 2576965 + Block 2576967 2577001 + ReturnStatement 2576969 2576990 + ExpressionStatement 2577001 2577326 + CallExpression 2577001 2577325 + Identifier 2577001 2577020 + PropertyAccessExpression 2577021 2577036 + Identifier 2577021 2577025 + Identifier 2577026 2577036 + ArrowFunction 2577037 2577324 + Parameter 2577037 2577039 + Identifier 2577037 2577039 + EqualsGreaterThanToken 2577039 2577042 + Block 2577042 2577324 + IfStatement 2577044 2577313 + BinaryExpression 2577062 2577151 + BinaryExpression 2577062 2577097 + PropertyAccessExpression 2577062 2577068 + Identifier 2577062 2577063 + Identifier 2577064 2577068 + AmpersandAmpersandToken 2577068 2577071 + PrefixUnaryExpression 2577071 2577097 + CallExpression 2577073 2577097 + Identifier 2577073 2577089 + PropertyAccessExpression 2577090 2577096 + Identifier 2577090 2577091 + Identifier 2577092 2577096 + AmpersandAmpersandToken 2577097 2577100 + BinaryExpression 2577100 2577151 + PropertyAccessExpression 2577100 2577119 + PropertyAccessExpression 2577100 2577107 + Identifier 2577100 2577102 + Identifier 2577103 2577107 + Identifier 2577108 2577119 + EqualsEqualsEqualsToken 2577119 2577123 + PropertyAccessExpression 2577123 2577151 + Identifier 2577123 2577139 + Identifier 2577140 2577151 + Block 2577152 2577313 + ExpressionStatement 2577154 2577298 + CallExpression 2577154 2577297 + Identifier 2577154 2577186 + StringLiteral 2577187 2577195 + Identifier 2577196 2577198 + PropertyAccessExpression 2577199 2577296 + Identifier 2577199 2577211 + Identifier 2577212 2577296 + FunctionDeclaration 2577333 2579183 + Identifier 2577689 2577721 + Parameter 2577722 2577732 + Identifier 2577722 2577726 + TypeReference 2577727 2577732 + Identifier 2577727 2577732 + Parameter 2577733 2577768 + Identifier 2577733 2577744 + UnionType 2577745 2577768 + TypeReference 2577745 2577756 + Identifier 2577745 2577756 + UndefinedKeyword 2577758 2577768 + Parameter 2577769 2577782 + Identifier 2577769 2577774 + StringKeyword 2577775 2577782 + BooleanKeyword 2577784 2577792 + Block 2577792 2579183 + IfStatement 2577794 2577881 + BinaryExpression 2577808 2577840 + PropertyAccessExpression 2577808 2577831 + Identifier 2577808 2577818 + QuestionDotToken 2577818 2577820 + Identifier 2577820 2577831 + ExclamationEqualsEqualsToken 2577831 2577835 + Identifier 2577835 2577840 + Block 2577841 2577881 + ReturnStatement 2577843 2577870 + FalseKeyword 2577863 2577869 + IfStatement 2577881 2578464 + BinaryExpression 2577897 2578296 + BinaryExpression 2577897 2578236 + BinaryExpression 2577897 2578183 + BinaryExpression 2577897 2578130 + BinaryExpression 2577897 2578073 + BinaryExpression 2577897 2578014 + BinaryExpression 2577897 2577955 + PropertyAccessExpression 2577897 2577920 + Identifier 2577897 2577915 + Identifier 2577916 2577920 + EqualsEqualsEqualsToken 2577920 2577924 + PropertyAccessExpression 2577924 2577955 + Identifier 2577924 2577935 + Identifier 2577936 2577955 + BarBarToken 2577955 2577958 + BinaryExpression 2577958 2578014 + PropertyAccessExpression 2577958 2577981 + Identifier 2577958 2577976 + Identifier 2577977 2577981 + EqualsEqualsEqualsToken 2577981 2577985 + PropertyAccessExpression 2577985 2578014 + Identifier 2577985 2577996 + Identifier 2577997 2578014 + BarBarToken 2578014 2578017 + BinaryExpression 2578017 2578073 + PropertyAccessExpression 2578017 2578040 + Identifier 2578017 2578035 + Identifier 2578036 2578040 + EqualsEqualsEqualsToken 2578040 2578044 + PropertyAccessExpression 2578044 2578073 + Identifier 2578044 2578055 + Identifier 2578056 2578073 + BarBarToken 2578073 2578076 + BinaryExpression 2578076 2578130 + PropertyAccessExpression 2578076 2578099 + Identifier 2578076 2578094 + Identifier 2578095 2578099 + EqualsEqualsEqualsToken 2578099 2578103 + PropertyAccessExpression 2578103 2578130 + Identifier 2578103 2578114 + Identifier 2578115 2578130 + BarBarToken 2578130 2578133 + BinaryExpression 2578133 2578183 + PropertyAccessExpression 2578133 2578156 + Identifier 2578133 2578151 + Identifier 2578152 2578156 + EqualsEqualsEqualsToken 2578156 2578160 + PropertyAccessExpression 2578160 2578183 + Identifier 2578160 2578171 + Identifier 2578172 2578183 + BarBarToken 2578183 2578186 + BinaryExpression 2578186 2578236 + PropertyAccessExpression 2578186 2578209 + Identifier 2578186 2578204 + Identifier 2578205 2578209 + EqualsEqualsEqualsToken 2578209 2578213 + PropertyAccessExpression 2578213 2578236 + Identifier 2578213 2578224 + Identifier 2578225 2578236 + BarBarToken 2578236 2578239 + BinaryExpression 2578239 2578296 + PropertyAccessExpression 2578239 2578262 + Identifier 2578239 2578257 + Identifier 2578258 2578262 + EqualsEqualsEqualsToken 2578262 2578266 + PropertyAccessExpression 2578266 2578296 + Identifier 2578266 2578277 + Identifier 2578278 2578296 + Block 2578307 2578464 + ReturnStatement 2578309 2578453 + FalseKeyword 2578446 2578452 + IfStatement 2578464 2578603 + BinaryExpression 2578480 2578510 + PropertyAccessExpression 2578480 2578490 + Identifier 2578480 2578484 + Identifier 2578485 2578490 + AmpersandToken 2578490 2578492 + PropertyAccessExpression 2578492 2578510 + Identifier 2578492 2578502 + Identifier 2578503 2578510 + Block 2578511 2578603 + ReturnStatement 2578513 2578592 + FalseKeyword 2578585 2578591 + IfStatement 2578603 2578913 + BinaryExpression 2578619 2578701 + BinaryExpression 2578619 2578674 + CallExpression 2578619 2578639 + Identifier 2578619 2578633 + Identifier 2578634 2578638 + BarBarToken 2578639 2578642 + CallExpression 2578642 2578674 + Identifier 2578642 2578668 + Identifier 2578669 2578673 + BarBarToken 2578674 2578677 + CallExpression 2578677 2578701 + Identifier 2578677 2578695 + Identifier 2578696 2578700 + Block 2578702 2578913 + IfStatement 2578704 2578902 + CallExpression 2578812 2578853 + Identifier 2578812 2578847 + Identifier 2578848 2578852 + Block 2578854 2578902 + ReturnStatement 2578856 2578887 + FalseKeyword 2578880 2578886 + VariableStatement 2578913 2578963 + VariableDeclarationList 2578913 2578962 + VariableDeclaration 2578930 2578962 + Identifier 2578930 2578935 + CallExpression 2578937 2578962 + Identifier 2578937 2578956 + Identifier 2578957 2578961 + IfStatement 2578963 2579152 + BinaryExpression 2578977 2579058 + CallExpression 2578977 2578994 + Identifier 2578977 2578988 + Identifier 2578989 2578993 + AmpersandAmpersandToken 2578994 2578997 + CallExpression 2578997 2579058 + Identifier 2578997 2579011 + PropertyAccessExpression 2579012 2579057 + ParenthesizedExpression 2579012 2579052 + AsExpression 2579013 2579051 + PropertyAccessExpression 2579013 2579024 + Identifier 2579013 2579017 + Identifier 2579018 2579024 + TypeReference 2579027 2579051 + Identifier 2579027 2579051 + Identifier 2579053 2579057 + Block 2579059 2579152 + ReturnStatement 2579061 2579141 + FalseKeyword 2579134 2579140 + ReturnStatement 2579152 2579176 + TrueKeyword 2579170 2579175 + FunctionDeclaration 2579183 2580063 + Identifier 2579303 2579341 + Parameter 2579342 2579352 + Identifier 2579342 2579346 + TypeReference 2579347 2579352 + Identifier 2579347 2579352 + VoidKeyword 2579354 2579359 + Block 2579359 2580063 + ExpressionStatement 2579361 2580056 + CallExpression 2579361 2580055 + Identifier 2579361 2579383 + Identifier 2579384 2579388 + ArrowFunction 2579389 2580054 + Parameter 2579389 2579397 + Identifier 2579389 2579397 + EqualsGreaterThanToken 2579397 2579400 + Block 2579400 2580054 + IfStatement 2579402 2580016 + BinaryExpression 2579420 2579475 + CallExpression 2579420 2579446 + Identifier 2579420 2579437 + Identifier 2579438 2579445 + AmpersandToken 2579446 2579448 + PropertyAccessExpression 2579448 2579475 + Identifier 2579448 2579463 + Identifier 2579464 2579475 + Block 2579476 2580016 + VariableStatement 2579478 2579554 + VariableDeclarationList 2579478 2579553 + VariableDeclaration 2579501 2579553 + Identifier 2579501 2579515 + BinaryExpression 2579517 2579553 + PropertyAccessExpression 2579517 2579527 + Identifier 2579517 2579522 + Identifier 2579523 2579527 + ExclamationEqualsEqualsToken 2579527 2579531 + PropertyAccessExpression 2579531 2579553 + Identifier 2579531 2579542 + Identifier 2579543 2579553 + IfStatement 2579554 2579971 + Identifier 2579576 2579589 + Block 2579590 2579787 + ExpressionStatement 2579592 2579768 + CallExpression 2579592 2579767 + Identifier 2579592 2579619 + CallExpression 2579620 2579661 + Identifier 2579620 2579640 + AsExpression 2579641 2579660 + Identifier 2579641 2579645 + TypeReference 2579648 2579660 + Identifier 2579648 2579660 + PropertyAccessExpression 2579662 2579766 + Identifier 2579662 2579674 + Identifier 2579675 2579766 + Block 2579809 2579971 + ExpressionStatement 2579811 2579952 + CallExpression 2579811 2579951 + Identifier 2579811 2579838 + Identifier 2579839 2579843 + PropertyAccessExpression 2579844 2579950 + Identifier 2579844 2579856 + Identifier 2579857 2579950 + ReturnStatement 2579971 2580001 + TrueKeyword 2579995 2580000 + ReturnStatement 2580016 2580043 + FalseKeyword 2580036 2580042 + FunctionDeclaration 2580063 2580904 + Identifier 2580079 2580122 + Parameter 2580123 2580133 + Identifier 2580123 2580127 + TypeReference 2580128 2580133 + Identifier 2580128 2580133 + VoidKeyword 2580135 2580140 + Block 2580140 2580904 + ExpressionStatement 2580142 2580897 + CallExpression 2580142 2580896 + Identifier 2580142 2580164 + Identifier 2580165 2580169 + ArrowFunction 2580170 2580895 + Parameter 2580170 2580178 + Identifier 2580170 2580178 + EqualsGreaterThanToken 2580178 2580181 + Block 2580181 2580895 + IfStatement 2580183 2580857 + BinaryExpression 2580201 2580261 + CallExpression 2580201 2580227 + Identifier 2580201 2580218 + Identifier 2580219 2580226 + AmpersandToken 2580227 2580229 + PropertyAccessExpression 2580229 2580261 + Identifier 2580229 2580244 + Identifier 2580245 2580261 + Block 2580262 2580857 + VariableStatement 2580264 2580340 + VariableDeclarationList 2580264 2580339 + VariableDeclaration 2580287 2580339 + Identifier 2580287 2580301 + BinaryExpression 2580303 2580339 + PropertyAccessExpression 2580303 2580313 + Identifier 2580303 2580308 + Identifier 2580309 2580313 + ExclamationEqualsEqualsToken 2580313 2580317 + PropertyAccessExpression 2580317 2580339 + Identifier 2580317 2580328 + Identifier 2580329 2580339 + IfStatement 2580340 2580812 + Identifier 2580362 2580375 + Block 2580376 2580603 + ExpressionStatement 2580378 2580584 + CallExpression 2580378 2580583 + Identifier 2580378 2580405 + CallExpression 2580406 2580447 + Identifier 2580406 2580426 + AsExpression 2580427 2580446 + Identifier 2580427 2580431 + TypeReference 2580434 2580446 + Identifier 2580434 2580446 + PropertyAccessExpression 2580448 2580582 + Identifier 2580448 2580460 + Identifier 2580461 2580582 + Block 2580625 2580812 + ExpressionStatement 2580627 2580793 + CallExpression 2580627 2580792 + Identifier 2580627 2580654 + Identifier 2580655 2580659 + PropertyAccessExpression 2580660 2580791 + Identifier 2580660 2580672 + Identifier 2580673 2580791 + ReturnStatement 2580812 2580842 + TrueKeyword 2580836 2580841 + ReturnStatement 2580857 2580884 + FalseKeyword 2580877 2580883 + FunctionDeclaration 2580904 2582225 + Identifier 2580920 2580968 + Parameter 2580969 2580979 + Identifier 2580969 2580973 + TypeReference 2580974 2580979 + Identifier 2580974 2580979 + Parameter 2580980 2581009 + Identifier 2580980 2580985 + UnionType 2580986 2581009 + TypeReference 2580986 2580997 + Identifier 2580986 2580997 + UndefinedKeyword 2580999 2581009 + Block 2581010 2582225 + IfStatement 2581012 2581217 + BinaryExpression 2581104 2581182 + CallExpression 2581104 2581161 + PropertyAccessExpression 2581104 2581134 + Identifier 2581104 2581108 + Identifier 2581109 2581134 + CallExpression 2581135 2581160 + Identifier 2581135 2581154 + Identifier 2581155 2581159 + GreaterThanEqualsToken 2581161 2581164 + PropertyAccessExpression 2581164 2581182 + Identifier 2581164 2581175 + Identifier 2581176 2581182 + Block 2581183 2581217 + ReturnStatement 2581185 2581206 + IfStatement 2581217 2581391 + BinaryExpression 2581233 2581356 + PrefixUnaryExpression 2581233 2581238 + Identifier 2581234 2581238 + BarBarToken 2581238 2581241 + BinaryExpression 2581241 2581356 + PrefixUnaryExpression 2581241 2581297 + CallExpression 2581243 2581297 + Identifier 2581243 2581274 + Identifier 2581275 2581279 + Identifier 2581280 2581285 + StringLiteral 2581286 2581296 + AmpersandAmpersandToken 2581297 2581300 + PrefixUnaryExpression 2581300 2581356 + CallExpression 2581302 2581356 + Identifier 2581302 2581333 + Identifier 2581334 2581338 + Identifier 2581339 2581344 + StringLiteral 2581345 2581355 + Block 2581357 2581391 + ReturnStatement 2581359 2581380 + IfStatement 2581391 2581594 + BinaryExpression 2581465 2581559 + CallExpression 2581465 2581490 + Identifier 2581465 2581484 + Identifier 2581485 2581489 + AmpersandAmpersandToken 2581490 2581493 + BinaryExpression 2581493 2581559 + CallExpression 2581493 2581522 + Identifier 2581493 2581516 + Identifier 2581517 2581521 + ExclamationEqualsEqualsToken 2581522 2581526 + PropertyAccessExpression 2581526 2581559 + Identifier 2581526 2581546 + Identifier 2581547 2581559 + Block 2581560 2581594 + ReturnStatement 2581562 2581583 + VariableStatement 2581594 2581773 + VariableDeclarationList 2581594 2581772 + VariableDeclaration 2581733 2581772 + Identifier 2581733 2581740 + CallExpression 2581742 2581772 + Identifier 2581742 2581766 + Identifier 2581767 2581771 + IfStatement 2581773 2582218 + BinaryExpression 2581787 2581876 + BinaryExpression 2581787 2581824 + PropertyAccessExpression 2581787 2581798 + Identifier 2581787 2581793 + Identifier 2581794 2581798 + EqualsEqualsEqualsToken 2581798 2581802 + PropertyAccessExpression 2581802 2581824 + Identifier 2581802 2581813 + Identifier 2581814 2581824 + AmpersandAmpersandToken 2581824 2581827 + CallExpression 2581827 2581876 + Identifier 2581827 2581854 + AsExpression 2581855 2581875 + Identifier 2581855 2581861 + TypeReference 2581864 2581875 + Identifier 2581864 2581875 + Block 2581877 2582218 + ExpressionStatement 2581879 2582207 + CallExpression 2581879 2582206 + Identifier 2581879 2582036 + StringLiteral 2582037 2582045 + Identifier 2582046 2582051 + PropertyAccessExpression 2582052 2582143 + Identifier 2582052 2582064 + Identifier 2582065 2582143 + CallExpression 2582144 2582174 + Identifier 2582144 2582168 + Identifier 2582169 2582173 + CallExpression 2582175 2582205 + Identifier 2582175 2582199 + Identifier 2582200 2582204 + FunctionDeclaration 2582225 2583392 + Identifier 2582241 2582288 + Parameter 2582289 2582299 + Identifier 2582289 2582293 + TypeReference 2582294 2582299 + Identifier 2582294 2582299 + Parameter 2582300 2582329 + Identifier 2582300 2582305 + UnionType 2582306 2582329 + TypeReference 2582306 2582317 + Identifier 2582306 2582317 + UndefinedKeyword 2582319 2582329 + VoidKeyword 2582331 2582336 + Block 2582336 2583392 + IfStatement 2582338 2582493 + BinaryExpression 2582352 2582458 + BinaryExpression 2582352 2582399 + PrefixUnaryExpression 2582352 2582357 + Identifier 2582353 2582357 + BarBarToken 2582357 2582360 + BinaryExpression 2582360 2582399 + Identifier 2582360 2582376 + GreaterThanEqualsToken 2582376 2582379 + PropertyAccessExpression 2582379 2582399 + Identifier 2582379 2582392 + Identifier 2582393 2582399 + BarBarToken 2582399 2582402 + PrefixUnaryExpression 2582402 2582458 + CallExpression 2582404 2582458 + Identifier 2582404 2582435 + Identifier 2582436 2582440 + Identifier 2582441 2582446 + StringLiteral 2582447 2582457 + Block 2582459 2582493 + ReturnStatement 2582461 2582482 + IfStatement 2582493 2582696 + BinaryExpression 2582567 2582661 + CallExpression 2582567 2582592 + Identifier 2582567 2582586 + Identifier 2582587 2582591 + AmpersandAmpersandToken 2582592 2582595 + BinaryExpression 2582595 2582661 + CallExpression 2582595 2582624 + Identifier 2582595 2582618 + Identifier 2582619 2582623 + ExclamationEqualsEqualsToken 2582624 2582628 + PropertyAccessExpression 2582628 2582661 + Identifier 2582628 2582648 + Identifier 2582649 2582661 + Block 2582662 2582696 + ReturnStatement 2582664 2582685 + VariableStatement 2582696 2582875 + VariableDeclarationList 2582696 2582874 + VariableDeclaration 2582835 2582874 + Identifier 2582835 2582842 + CallExpression 2582844 2582874 + Identifier 2582844 2582868 + Identifier 2582869 2582873 + IfStatement 2582875 2583385 + BinaryExpression 2582889 2583024 + BinaryExpression 2582889 2582978 + BinaryExpression 2582889 2582926 + PropertyAccessExpression 2582889 2582900 + Identifier 2582889 2582895 + Identifier 2582896 2582900 + EqualsEqualsEqualsToken 2582900 2582904 + PropertyAccessExpression 2582904 2582926 + Identifier 2582904 2582915 + Identifier 2582916 2582926 + AmpersandAmpersandToken 2582926 2582929 + CallExpression 2582929 2582978 + Identifier 2582929 2582956 + AsExpression 2582957 2582977 + Identifier 2582957 2582963 + TypeReference 2582966 2582977 + Identifier 2582966 2582977 + AmpersandAmpersandToken 2582978 2582981 + BinaryExpression 2582981 2583024 + PropertyAccessExpression 2582981 2582994 + Identifier 2582981 2582988 + Identifier 2582989 2582994 + AmpersandToken 2582994 2582996 + PropertyAccessExpression 2582996 2583024 + Identifier 2582996 2583006 + Identifier 2583007 2583024 + Block 2583025 2583385 + ExpressionStatement 2583027 2583374 + CallExpression 2583027 2583373 + Identifier 2583027 2583176 + StringLiteral 2583177 2583185 + Identifier 2583186 2583191 + PropertyAccessExpression 2583192 2583310 + Identifier 2583192 2583204 + Identifier 2583205 2583310 + CallExpression 2583311 2583341 + Identifier 2583311 2583335 + Identifier 2583336 2583340 + CallExpression 2583342 2583372 + Identifier 2583342 2583366 + Identifier 2583367 2583371 + FunctionDeclaration 2583392 2583783 + Identifier 2583408 2583462 + Parameter 2583463 2583473 + Identifier 2583463 2583467 + TypeReference 2583468 2583473 + Identifier 2583468 2583473 + Parameter 2583474 2583491 + Identifier 2583474 2583479 + TypeReference 2583480 2583491 + Identifier 2583480 2583491 + VoidKeyword 2583493 2583498 + Block 2583498 2583783 + IfStatement 2583500 2583776 + BinaryExpression 2583514 2583697 + BinaryExpression 2583514 2583566 + Identifier 2583514 2583543 + LessThanEqualsToken 2583543 2583546 + PropertyAccessExpression 2583546 2583566 + Identifier 2583546 2583559 + Identifier 2583560 2583566 + AmpersandAmpersandToken 2583566 2583582 + ParenthesizedExpression 2583582 2583697 + BinaryExpression 2583584 2583696 + CallExpression 2583584 2583638 + Identifier 2583584 2583615 + Identifier 2583616 2583620 + Identifier 2583621 2583626 + StringLiteral 2583627 2583637 + BarBarToken 2583638 2583641 + CallExpression 2583641 2583696 + Identifier 2583641 2583673 + Identifier 2583674 2583678 + Identifier 2583679 2583684 + StringLiteral 2583685 2583695 + Block 2583708 2583776 + ExpressionStatement 2583710 2583765 + CallExpression 2583710 2583764 + PropertyAccessExpression 2583710 2583758 + Identifier 2583710 2583753 + Identifier 2583754 2583758 + Identifier 2583759 2583763 + FunctionDeclaration 2583783 2584389 + Identifier 2583799 2583824 + Parameter 2583825 2583835 + Identifier 2583825 2583829 + TypeReference 2583830 2583835 + Identifier 2583830 2583835 + Block 2583836 2584389 + VariableStatement 2583838 2583914 + VariableDeclarationList 2583838 2583913 + VariableDeclaration 2583853 2583913 + Identifier 2583853 2583873 + CallExpression 2583875 2583913 + Identifier 2583875 2583907 + Identifier 2583908 2583912 + IfStatement 2583914 2584382 + BinaryExpression 2583928 2584019 + CallExpression 2583928 2583966 + Identifier 2583928 2583945 + Identifier 2583946 2583965 + AmpersandToken 2583966 2583968 + PropertyAccessExpression 2583968 2584019 + Identifier 2583968 2583983 + Identifier 2583984 2584019 + Block 2584020 2584382 + ExpressionStatement 2584022 2584222 + CallExpression 2584022 2584221 + PropertyAccessExpression 2584022 2584048 + Identifier 2584022 2584041 + Identifier 2584042 2584048 + BinaryExpression 2584049 2584145 + BinaryExpression 2584049 2584100 + CallExpression 2584049 2584073 + Identifier 2584049 2584067 + Identifier 2584068 2584072 + AmpersandAmpersandToken 2584073 2584076 + CallExpression 2584076 2584100 + Identifier 2584076 2584089 + PropertyAccessExpression 2584090 2584099 + Identifier 2584090 2584094 + Identifier 2584095 2584099 + AmpersandAmpersandToken 2584100 2584103 + BinaryExpression 2584103 2584145 + TypeOfExpression 2584103 2584132 + PropertyAccessExpression 2584110 2584132 + PropertyAccessExpression 2584110 2584120 + Identifier 2584110 2584115 + Identifier 2584116 2584120 + Identifier 2584121 2584132 + EqualsEqualsEqualsToken 2584132 2584136 + StringLiteral 2584136 2584145 + StringLiteral 2584146 2584220 + ExpressionStatement 2584222 2584371 + CallExpression 2584222 2584370 + Identifier 2584222 2584250 + StringLiteral 2584251 2584259 + Identifier 2584260 2584265 + PropertyAccessExpression 2584266 2584346 + Identifier 2584266 2584278 + Identifier 2584279 2584346 + PropertyAccessExpression 2584347 2584369 + PropertyAccessExpression 2584347 2584357 + Identifier 2584347 2584352 + Identifier 2584353 2584357 + Identifier 2584358 2584369 + FunctionDeclaration 2584389 2584776 + Identifier 2584405 2584456 + Parameter 2584457 2584467 + Identifier 2584457 2584461 + TypeReference 2584462 2584467 + Identifier 2584462 2584467 + Parameter 2584468 2584497 + Identifier 2584468 2584473 + UnionType 2584474 2584497 + TypeReference 2584474 2584485 + Identifier 2584474 2584485 + UndefinedKeyword 2584487 2584497 + VoidKeyword 2584499 2584504 + Block 2584504 2584776 + IfStatement 2584506 2584769 + BinaryExpression 2584520 2584693 + BinaryExpression 2584520 2584622 + BinaryExpression 2584520 2584580 + Identifier 2584520 2584538 + AmpersandAmpersandToken 2584538 2584541 + BinaryExpression 2584541 2584580 + Identifier 2584541 2584557 + GreaterThanEqualsToken 2584557 2584560 + PropertyAccessExpression 2584560 2584580 + Identifier 2584560 2584573 + Identifier 2584574 2584580 + AmpersandAmpersandToken 2584580 2584583 + BinaryExpression 2584583 2584622 + Identifier 2584583 2584599 + LessThanEqualsToken 2584599 2584602 + PropertyAccessExpression 2584602 2584622 + Identifier 2584602 2584615 + Identifier 2584616 2584622 + AmpersandAmpersandToken 2584622 2584638 + CallExpression 2584638 2584693 + Identifier 2584638 2584670 + Identifier 2584671 2584675 + Identifier 2584676 2584681 + StringLiteral 2584682 2584692 + Block 2584704 2584769 + ExpressionStatement 2584706 2584758 + CallExpression 2584706 2584757 + PropertyAccessExpression 2584706 2584751 + Identifier 2584706 2584746 + Identifier 2584747 2584751 + Identifier 2584752 2584756 + FunctionDeclaration 2584776 2586302 + Identifier 2584792 2584814 + Parameter 2584815 2584825 + Identifier 2584815 2584819 + TypeReference 2584820 2584825 + Identifier 2584820 2584825 + Block 2584826 2586302 + VariableStatement 2584828 2584863 + VariableDeclarationList 2584828 2584862 + VariableDeclaration 2584841 2584862 + Identifier 2584841 2584854 + FalseKeyword 2584856 2584862 + IfStatement 2584863 2585901 + CallExpression 2584877 2584900 + Identifier 2584877 2584894 + Identifier 2584895 2584899 + Block 2584901 2585305 + ForOfStatement 2584903 2585294 + VariableDeclarationList 2585051 2585063 + VariableDeclaration 2585056 2585063 + Identifier 2585056 2585063 + PropertyAccessExpression 2585066 2585079 + Identifier 2585066 2585071 + Identifier 2585072 2585079 + Block 2585080 2585294 + IfStatement 2585082 2585279 + BinaryExpression 2585104 2585187 + CallExpression 2585104 2585129 + Identifier 2585104 2585121 + Identifier 2585122 2585128 + AmpersandToken 2585129 2585131 + PropertyAccessExpression 2585131 2585187 + Identifier 2585131 2585146 + Identifier 2585147 2585187 + Block 2585188 2585279 + ExpressionStatement 2585190 2585232 + BinaryExpression 2585190 2585231 + Identifier 2585190 2585224 + EqualsToken 2585224 2585226 + TrueKeyword 2585226 2585231 + BreakStatement 2585232 2585260 + IfStatement 2585319 2585901 + CallExpression 2585324 2585350 + Identifier 2585324 2585344 + Identifier 2585345 2585349 + Block 2585351 2585631 + IfStatement 2585353 2585620 + BinaryExpression 2585483 2585564 + CallExpression 2585483 2585506 + Identifier 2585483 2585500 + Identifier 2585501 2585505 + AmpersandToken 2585506 2585508 + PropertyAccessExpression 2585508 2585564 + Identifier 2585508 2585523 + Identifier 2585524 2585564 + Block 2585565 2585620 + ExpressionStatement 2585567 2585605 + BinaryExpression 2585567 2585604 + Identifier 2585567 2585597 + EqualsToken 2585597 2585599 + TrueKeyword 2585599 2585604 + Block 2585645 2585901 + VariableStatement 2585647 2585717 + VariableDeclarationList 2585647 2585716 + VariableDeclaration 2585666 2585716 + Identifier 2585666 2585676 + CallExpression 2585678 2585716 + Identifier 2585678 2585710 + Identifier 2585711 2585715 + IfStatement 2585717 2585890 + BinaryExpression 2585735 2585834 + Identifier 2585735 2585744 + AmpersandAmpersandToken 2585744 2585747 + BinaryExpression 2585747 2585834 + CallExpression 2585747 2585776 + Identifier 2585747 2585765 + Identifier 2585766 2585775 + AmpersandToken 2585776 2585778 + PropertyAccessExpression 2585778 2585834 + Identifier 2585778 2585793 + Identifier 2585794 2585834 + Block 2585835 2585890 + ExpressionStatement 2585837 2585875 + BinaryExpression 2585837 2585874 + Identifier 2585837 2585867 + EqualsToken 2585867 2585869 + TrueKeyword 2585869 2585874 + IfStatement 2585901 2586295 + Identifier 2585915 2585927 + Block 2585928 2586295 + ExpressionStatement 2585930 2586077 + CallExpression 2585930 2586076 + PropertyAccessExpression 2585930 2585956 + Identifier 2585930 2585949 + Identifier 2585950 2585956 + BinaryExpression 2585957 2586008 + CallExpression 2585957 2585981 + Identifier 2585957 2585975 + Identifier 2585976 2585980 + AmpersandAmpersandToken 2585981 2585984 + CallExpression 2585984 2586008 + Identifier 2585984 2585997 + PropertyAccessExpression 2585998 2586007 + Identifier 2585998 2586002 + Identifier 2586003 2586007 + StringLiteral 2586009 2586075 + ExpressionStatement 2586077 2586284 + CallExpression 2586077 2586283 + Identifier 2586077 2586105 + StringLiteral 2586106 2586114 + Identifier 2586115 2586120 + PropertyAccessExpression 2586121 2586235 + Identifier 2586121 2586133 + Identifier 2586134 2586235 + CallExpression 2586236 2586271 + Identifier 2586236 2586260 + PropertyAccessExpression 2586261 2586270 + Identifier 2586261 2586265 + Identifier 2586266 2586270 + StringLiteral 2586272 2586282 + FunctionDeclaration 2586302 2587106 + Identifier 2586318 2586352 + Parameter 2586353 2586363 + Identifier 2586353 2586357 + TypeReference 2586358 2586363 + Identifier 2586358 2586363 + Parameter 2586364 2586393 + Identifier 2586364 2586369 + UnionType 2586370 2586393 + TypeReference 2586370 2586381 + Identifier 2586370 2586381 + UndefinedKeyword 2586383 2586393 + Block 2586394 2587106 + IfStatement 2586396 2586424 + PrefixUnaryExpression 2586410 2586415 + Identifier 2586411 2586415 + ReturnStatement 2586416 2586424 + ExpressionStatement 2586424 2586494 + CallExpression 2586424 2586493 + Identifier 2586424 2586481 + Identifier 2586482 2586486 + Identifier 2586487 2586492 + ExpressionStatement 2586494 2586563 + CallExpression 2586494 2586562 + Identifier 2586494 2586550 + Identifier 2586551 2586555 + Identifier 2586556 2586561 + ExpressionStatement 2586563 2586639 + CallExpression 2586563 2586638 + Identifier 2586563 2586626 + Identifier 2586627 2586631 + Identifier 2586632 2586637 + ExpressionStatement 2586639 2586712 + CallExpression 2586639 2586711 + Identifier 2586639 2586699 + Identifier 2586700 2586704 + Identifier 2586705 2586710 + IfStatement 2586712 2587099 + CallExpression 2586726 2586743 + Identifier 2586726 2586737 + Identifier 2586738 2586742 + Block 2586744 2586964 + ExpressionStatement 2586746 2586826 + CallExpression 2586746 2586825 + Identifier 2586746 2586783 + Identifier 2586784 2586788 + PropertyAccessExpression 2586789 2586824 + Identifier 2586789 2586801 + Identifier 2586802 2586824 + IfStatement 2586826 2586953 + PrefixUnaryExpression 2586844 2586877 + ParenthesizedExpression 2586845 2586877 + BinaryExpression 2586846 2586876 + PropertyAccessExpression 2586846 2586856 + Identifier 2586846 2586850 + Identifier 2586851 2586856 + AmpersandToken 2586856 2586858 + PropertyAccessExpression 2586858 2586876 + Identifier 2586858 2586868 + Identifier 2586869 2586876 + Block 2586878 2586953 + ExpressionStatement 2586880 2586938 + CallExpression 2586880 2586937 + Identifier 2586880 2586931 + Identifier 2586932 2586936 + IfStatement 2586978 2587099 + CallExpression 2586983 2587006 + Identifier 2586983 2587000 + Identifier 2587001 2587005 + Block 2587007 2587099 + ExpressionStatement 2587009 2587088 + CallExpression 2587009 2587087 + Identifier 2587009 2587046 + Identifier 2587047 2587051 + PropertyAccessExpression 2587052 2587086 + Identifier 2587052 2587064 + Identifier 2587065 2587086 + FunctionDeclaration 2587106 2591412 + Identifier 2587122 2587155 + Parameter 2587156 2587198 + Identifier 2587156 2587160 + UnionType 2587161 2587198 + TypeReference 2587161 2587181 + Identifier 2587161 2587181 + TypeReference 2587183 2587198 + Identifier 2587183 2587198 + Block 2587199 2591412 + IfStatement 2587201 2589033 + BinaryExpression 2588896 2588998 + BinaryExpression 2588896 2588960 + ParenthesizedExpression 2588896 2588954 + BinaryExpression 2588897 2588953 + CallExpression 2588897 2588929 + Identifier 2588897 2588923 + Identifier 2588924 2588928 + AmpersandToken 2588929 2588931 + PropertyAccessExpression 2588931 2588953 + Identifier 2588931 2588941 + Identifier 2588942 2588953 + ExclamationEqualsEqualsToken 2588954 2588958 + NumericLiteral 2588958 2588960 + BarBarToken 2588960 2588963 + CallExpression 2588963 2588998 + Identifier 2588963 2588992 + Identifier 2588993 2588997 + Block 2588999 2589033 + ReturnStatement 2589001 2589022 + VariableStatement 2589033 2589266 + VariableDeclarationList 2589033 2589265 + VariableDeclaration 2589227 2589265 + Identifier 2589227 2589234 + CallExpression 2589236 2589265 + Identifier 2589236 2589259 + Identifier 2589260 2589264 + IfStatement 2589266 2591405 + BinaryExpression 2589280 2589329 + PropertyAccessExpression 2589280 2589292 + Identifier 2589280 2589286 + Identifier 2589287 2589292 + AmpersandToken 2589292 2589294 + PropertyAccessExpression 2589294 2589329 + Identifier 2589294 2589306 + Identifier 2589307 2589329 + Block 2589330 2591405 + IfStatement 2589332 2589396 + PrefixUnaryExpression 2589350 2589374 + CallExpression 2589351 2589374 + Identifier 2589351 2589363 + PropertyAccessExpression 2589364 2589373 + Identifier 2589364 2589368 + Identifier 2589369 2589373 + ReturnStatement 2589375 2589396 + CallExpression 2589382 2589395 + PropertyAccessExpression 2589382 2589393 + Identifier 2589382 2589388 + Identifier 2589389 2589393 + VariableStatement 2589396 2589556 + VariableDeclarationList 2589396 2589555 + VariableDeclaration 2589415 2589555 + Identifier 2589415 2589438 + CallExpression 2589440 2589555 + Identifier 2589440 2589452 + Identifier 2589453 2589457 + PropertyAccessExpression 2589458 2589480 + PropertyAccessExpression 2589458 2589468 + Identifier 2589458 2589463 + Identifier 2589464 2589468 + Identifier 2589469 2589480 + PropertyAccessExpression 2589481 2589502 + Identifier 2589481 2589493 + Identifier 2589494 2589502 + Identifier 2589503 2589537 + FalseKeyword 2589538 2589554 + IfStatement 2589556 2591394 + BinaryExpression 2589574 2589751 + BinaryExpression 2589574 2589668 + Identifier 2589574 2589614 + AmpersandAmpersandToken 2589614 2589617 + BinaryExpression 2589617 2589668 + Identifier 2589617 2589657 + ExclamationEqualsEqualsToken 2589657 2589661 + Identifier 2589661 2589668 + AmpersandAmpersandToken 2589668 2589671 + BinaryExpression 2589671 2589751 + PropertyAccessExpression 2589671 2589717 + Identifier 2589671 2589711 + Identifier 2589712 2589717 + AmpersandToken 2589717 2589719 + PropertyAccessExpression 2589719 2589751 + Identifier 2589719 2589731 + Identifier 2589732 2589751 + Block 2589766 2591394 + IfStatement 2589768 2591379 + BinaryExpression 2589790 2589871 + CallExpression 2589790 2589847 + Identifier 2589790 2589823 + Identifier 2589824 2589846 + AmpersandToken 2589847 2589849 + PropertyAccessExpression 2589849 2589871 + Identifier 2589849 2589859 + Identifier 2589860 2589871 + Block 2589872 2591379 + VariableStatement 2589874 2590006 + VariableDeclarationList 2589874 2590005 + VariableDeclaration 2589901 2590005 + Identifier 2589901 2589913 + NonNullExpression 2589915 2590005 + CallExpression 2589915 2590004 + Identifier 2589915 2589927 + PropertyAccessExpression 2589928 2589967 + Identifier 2589928 2589950 + Identifier 2589951 2589967 + PropertyAccessExpression 2589968 2590003 + Identifier 2589968 2589979 + Identifier 2589980 2590003 + VariableStatement 2590006 2590222 + VariableDeclarationList 2590006 2590221 + VariableDeclaration 2590033 2590221 + Identifier 2590033 2590043 + ConditionalExpression 2590045 2590221 + BinaryExpression 2590045 2590131 + BinaryExpression 2590045 2590102 + PropertyAccessExpression 2590045 2590069 + PropertyAccessExpression 2590045 2590064 + Identifier 2590045 2590057 + Identifier 2590058 2590064 + Identifier 2590065 2590069 + EqualsEqualsEqualsToken 2590069 2590073 + PropertyAccessExpression 2590073 2590102 + Identifier 2590073 2590084 + Identifier 2590085 2590102 + AmpersandAmpersandToken 2590102 2590105 + PropertyAccessExpression 2590105 2590131 + PropertyAccessExpression 2590105 2590124 + Identifier 2590105 2590117 + Identifier 2590118 2590124 + Identifier 2590125 2590131 + QuestionToken 2590131 2590158 + PropertyAccessExpression 2590158 2590184 + PropertyAccessExpression 2590158 2590177 + Identifier 2590158 2590170 + Identifier 2590171 2590177 + Identifier 2590178 2590184 + ColonToken 2590184 2590211 + Identifier 2590211 2590221 + VariableStatement 2590222 2590834 + VariableDeclarationList 2590222 2590833 + VariableDeclaration 2590476 2590833 + Identifier 2590476 2590492 + BinaryExpression 2590494 2590833 + Identifier 2590494 2590504 + AmpersandAmpersandToken 2590504 2590507 + ParenthesizedExpression 2590507 2590833 + BinaryExpression 2590534 2590832 + BinaryExpression 2590534 2590759 + BinaryExpression 2590534 2590679 + BinaryExpression 2590534 2590605 + BinaryExpression 2590534 2590569 + PropertyAccessExpression 2590534 2590548 + Identifier 2590534 2590543 + Identifier 2590544 2590548 + EqualsEqualsEqualsToken 2590548 2590552 + PropertyAccessExpression 2590552 2590569 + Identifier 2590552 2590563 + Identifier 2590564 2590569 + AmpersandAmpersandToken 2590569 2590572 + CallExpression 2590572 2590605 + Identifier 2590572 2590587 + PropertyAccessExpression 2590588 2590604 + Identifier 2590588 2590597 + Identifier 2590598 2590604 + BarBarToken 2590605 2590608 + BinaryExpression 2590608 2590679 + PropertyAccessExpression 2590608 2590652 + Identifier 2590608 2590647 + Identifier 2590648 2590652 + EqualsEqualsEqualsToken 2590652 2590656 + PropertyAccessExpression 2590656 2590679 + Identifier 2590656 2590667 + Identifier 2590668 2590679 + BarBarToken 2590679 2590682 + BinaryExpression 2590682 2590759 + PropertyAccessExpression 2590682 2590726 + Identifier 2590682 2590721 + Identifier 2590722 2590726 + EqualsEqualsEqualsToken 2590726 2590730 + PropertyAccessExpression 2590730 2590759 + Identifier 2590730 2590741 + Identifier 2590742 2590759 + BarBarToken 2590759 2590762 + BinaryExpression 2590762 2590832 + PropertyAccessExpression 2590762 2590806 + Identifier 2590762 2590801 + Identifier 2590802 2590806 + EqualsEqualsEqualsToken 2590806 2590810 + PropertyAccessExpression 2590810 2590832 + Identifier 2590810 2590821 + Identifier 2590822 2590832 + IfStatement 2590834 2591360 + PrefixUnaryExpression 2591087 2591103 + Identifier 2591088 2591103 + Block 2591104 2591360 + VariableStatement 2591106 2591184 + VariableDeclarationList 2591106 2591183 + VariableDeclaration 2591137 2591183 + Identifier 2591137 2591142 + CallExpression 2591144 2591183 + Identifier 2591144 2591159 + Identifier 2591160 2591182 + ExpressionStatement 2591184 2591337 + CallExpression 2591184 2591336 + Identifier 2591184 2591215 + Identifier 2591216 2591220 + PropertyAccessExpression 2591221 2591323 + Identifier 2591221 2591233 + Identifier 2591234 2591323 + Identifier 2591324 2591329 + Identifier 2591330 2591335 + FunctionDeclaration 2591412 2591558 + Identifier 2591428 2591445 + Parameter 2591446 2591456 + Identifier 2591446 2591450 + TypeReference 2591451 2591456 + Identifier 2591451 2591456 + Block 2591457 2591558 + ReturnStatement 2591459 2591551 + ConditionalExpression 2591475 2591550 + BinaryExpression 2591475 2591493 + Identifier 2591475 2591480 + EqualsEqualsEqualsToken 2591480 2591484 + Identifier 2591484 2591493 + QuestionToken 2591493 2591495 + Identifier 2591495 2591503 + ColonToken 2591503 2591505 + ConditionalExpression 2591505 2591550 + BinaryExpression 2591505 2591528 + Identifier 2591505 2591510 + EqualsEqualsEqualsToken 2591510 2591514 + Identifier 2591514 2591528 + QuestionToken 2591528 2591530 + Identifier 2591530 2591543 + ColonToken 2591543 2591545 + Identifier 2591545 2591550 + FunctionDeclaration 2591558 2602973 + Identifier 2591633 2591662 + Parameter 2591663 2591770 + Identifier 2591663 2591667 + UnionType 2591668 2591770 + TypeReference 2591668 2591689 + Identifier 2591668 2591689 + TypeReference 2591691 2591711 + Identifier 2591691 2591711 + TypeReference 2591713 2591731 + Identifier 2591713 2591731 + TypeReference 2591733 2591753 + Identifier 2591733 2591753 + TypeReference 2591755 2591770 + Identifier 2591755 2591770 + Block 2591771 2602973 + ExpressionStatement 2591773 2591805 + CallExpression 2591773 2591804 + Identifier 2591773 2591798 + Identifier 2591799 2591803 + IfStatement 2591805 2591900 + PrefixUnaryExpression 2591819 2591842 + CallExpression 2591820 2591842 + Identifier 2591820 2591836 + Identifier 2591837 2591841 + Block 2591843 2591900 + ExpressionStatement 2591845 2591889 + CallExpression 2591845 2591888 + Identifier 2591845 2591877 + PropertyAccessExpression 2591878 2591887 + Identifier 2591878 2591882 + Identifier 2591883 2591887 + IfStatement 2591900 2592056 + PrefixUnaryExpression 2592011 2592021 + PropertyAccessExpression 2592012 2592021 + Identifier 2592012 2592016 + Identifier 2592017 2592021 + Block 2592022 2592056 + ReturnStatement 2592024 2592045 + IfStatement 2592056 2592631 + BinaryExpression 2592368 2592418 + PropertyAccessExpression 2592368 2592382 + PropertyAccessExpression 2592368 2592377 + Identifier 2592368 2592372 + Identifier 2592373 2592377 + Identifier 2592378 2592382 + EqualsEqualsEqualsToken 2592382 2592386 + PropertyAccessExpression 2592386 2592418 + Identifier 2592386 2592397 + Identifier 2592398 2592418 + Block 2592419 2592631 + ExpressionStatement 2592421 2592472 + CallExpression 2592421 2592471 + Identifier 2592421 2592460 + PropertyAccessExpression 2592461 2592470 + Identifier 2592461 2592465 + Identifier 2592466 2592470 + IfStatement 2592472 2592620 + BinaryExpression 2592490 2592544 + CallExpression 2592490 2592524 + Identifier 2592490 2592518 + Identifier 2592519 2592523 + AmpersandAmpersandToken 2592524 2592527 + PropertyAccessExpression 2592527 2592544 + Identifier 2592527 2592532 + Identifier 2592533 2592544 + Block 2592545 2592620 + ExpressionStatement 2592547 2592605 + CallExpression 2592547 2592604 + Identifier 2592547 2592586 + PropertyAccessExpression 2592587 2592603 + Identifier 2592587 2592591 + Identifier 2592592 2592603 + IfStatement 2592631 2594961 + CallExpression 2592647 2592669 + Identifier 2592647 2592663 + Identifier 2592664 2592668 + Block 2592670 2594961 + IfStatement 2592672 2593297 + BinaryExpression 2592690 2592921 + BinaryExpression 2592690 2592824 + BinaryExpression 2592690 2592769 + PropertyAccessExpression 2592690 2592725 + Identifier 2592690 2592712 + Identifier 2592713 2592725 + AmpersandAmpersandToken 2592725 2592728 + CallExpression 2592728 2592769 + Identifier 2592728 2592758 + PropertyAccessExpression 2592759 2592768 + Identifier 2592759 2592763 + Identifier 2592764 2592768 + AmpersandAmpersandToken 2592769 2592772 + CallExpression 2592772 2592824 + Identifier 2592772 2592818 + Identifier 2592819 2592823 + AmpersandAmpersandToken 2592824 2592827 + CallExpression 2592827 2592921 + Identifier 2592827 2592858 + PropertyAccessExpression 2592859 2592920 + ParenthesizedExpression 2592859 2592915 + AsExpression 2592860 2592914 + CallExpression 2592860 2592887 + Identifier 2592860 2592881 + Identifier 2592882 2592886 + TypeReference 2592890 2592914 + Identifier 2592890 2592914 + Identifier 2592916 2592920 + Block 2592936 2593297 + ExpressionStatement 2592938 2593257 + CallExpression 2592938 2593256 + PropertyAccessExpression 2592938 2593250 + Identifier 2592938 2593245 + Identifier 2593246 2593250 + Identifier 2593251 2593255 + ReturnStatement 2593257 2593282 + IfStatement 2593297 2593535 + BinaryExpression 2593317 2593442 + BinaryExpression 2593317 2593375 + CallExpression 2593317 2593352 + Identifier 2593317 2593339 + PropertyAccessExpression 2593340 2593351 + Identifier 2593340 2593344 + Identifier 2593345 2593351 + AmpersandAmpersandToken 2593352 2593355 + PropertyAccessExpression 2593355 2593375 + Identifier 2593355 2593360 + Identifier 2593361 2593375 + AmpersandAmpersandToken 2593375 2593378 + BinaryExpression 2593378 2593442 + Identifier 2593378 2593394 + LessThanToken 2593394 2593396 + PropertyAccessExpression 2593396 2593442 + Identifier 2593396 2593425 + Identifier 2593426 2593442 + Block 2593443 2593535 + ExpressionStatement 2593445 2593520 + CallExpression 2593445 2593519 + Identifier 2593445 2593487 + Identifier 2593488 2593492 + PropertyAccessExpression 2593493 2593518 + Identifier 2593493 2593513 + Identifier 2593514 2593518 + IfStatement 2593535 2593797 + BinaryExpression 2593637 2593716 + PropertyAccessExpression 2593637 2593654 + Identifier 2593637 2593641 + Identifier 2593642 2593654 + AmpersandAmpersandToken 2593654 2593657 + BinaryExpression 2593657 2593716 + PropertyAccessExpression 2593657 2593680 + PropertyAccessExpression 2593657 2593675 + Identifier 2593657 2593662 + Identifier 2593663 2593675 + Identifier 2593676 2593680 + EqualsEqualsEqualsToken 2593680 2593684 + PropertyAccessExpression 2593684 2593716 + Identifier 2593684 2593695 + Identifier 2593696 2593716 + Block 2593717 2593797 + ExpressionStatement 2593719 2593782 + CallExpression 2593719 2593781 + Identifier 2593719 2593762 + PropertyAccessExpression 2593763 2593780 + Identifier 2593763 2593767 + Identifier 2593768 2593780 + VariableStatement 2593797 2593903 + VariableDeclarationList 2593797 2593902 + VariableDeclaration 2593874 2593902 + Identifier 2593874 2593881 + PropertyAccessExpression 2593883 2593902 + PropertyAccessExpression 2593883 2593895 + Identifier 2593883 2593888 + Identifier 2593889 2593895 + Identifier 2593896 2593902 + VariableStatement 2593903 2594011 + VariableDeclarationList 2593903 2594010 + VariableDeclaration 2593922 2594010 + Identifier 2593922 2593938 + ConditionalExpression 2593940 2594010 + PropertyAccessExpression 2593940 2593960 + Identifier 2593940 2593945 + Identifier 2593946 2593960 + QuestionToken 2593960 2593962 + PropertyAccessExpression 2593962 2593991 + Identifier 2593962 2593972 + Identifier 2593973 2593991 + ColonToken 2593991 2593993 + PropertyAccessExpression 2593993 2594010 + Identifier 2593993 2594003 + Identifier 2594004 2594010 + VariableStatement 2594011 2594100 + VariableDeclarationList 2594011 2594099 + VariableDeclaration 2594030 2594099 + Identifier 2594030 2594041 + CallExpression 2594043 2594099 + Identifier 2594043 2594074 + Identifier 2594075 2594081 + Identifier 2594082 2594098 + VariableStatement 2594100 2594158 + VariableDeclarationList 2594100 2594157 + VariableDeclaration 2594119 2594157 + Identifier 2594119 2594124 + BinaryExpression 2594126 2594157 + PropertyAccessExpression 2594126 2594144 + Identifier 2594126 2594131 + Identifier 2594132 2594144 + BarBarToken 2594144 2594147 + PropertyAccessExpression 2594147 2594157 + Identifier 2594147 2594152 + Identifier 2594153 2594157 + IfStatement 2594158 2594950 + BinaryExpression 2594176 2594213 + Identifier 2594176 2594186 + AmpersandAmpersandToken 2594186 2594189 + PrefixUnaryExpression 2594189 2594213 + CallExpression 2594191 2594213 + Identifier 2594191 2594207 + Identifier 2594208 2594212 + Block 2594214 2594950 + VariableStatement 2594216 2594288 + VariableDeclarationList 2594216 2594287 + VariableDeclaration 2594239 2594287 + Identifier 2594239 2594248 + CallExpression 2594250 2594287 + Identifier 2594250 2594281 + Identifier 2594282 2594286 + IfStatement 2594288 2594935 + CallExpression 2594310 2594346 + Identifier 2594310 2594336 + Identifier 2594337 2594345 + Block 2594347 2594935 + VariableStatement 2594349 2594422 + VariableDeclarationList 2594349 2594421 + VariableDeclaration 2594376 2594421 + Identifier 2594376 2594385 + CallExpression 2594387 2594421 + Identifier 2594387 2594411 + Identifier 2594412 2594420 + VariableStatement 2594422 2594501 + VariableDeclarationList 2594422 2594500 + VariableDeclaration 2594449 2594500 + Identifier 2594449 2594458 + CallExpression 2594460 2594500 + Identifier 2594460 2594478 + Identifier 2594479 2594489 + Identifier 2594490 2594499 + IfStatement 2594501 2594916 + Identifier 2594527 2594535 + Block 2594536 2594916 + ExpressionStatement 2594538 2594664 + CallExpression 2594538 2594663 + Identifier 2594538 2594588 + Identifier 2594589 2594597 + Identifier 2594598 2594634 + FalseKeyword 2594635 2594662 + ExpressionStatement 2594664 2594893 + CallExpression 2594664 2594892 + Identifier 2594664 2594768 + Identifier 2594769 2594773 + BinaryExpression 2594774 2594850 + PrefixUnaryExpression 2594774 2594795 + PrefixUnaryExpression 2594776 2594795 + PropertyAccessExpression 2594777 2594795 + Identifier 2594777 2594783 + Identifier 2594784 2594795 + AmpersandAmpersandToken 2594795 2594798 + BinaryExpression 2594798 2594850 + PropertyAccessExpression 2594798 2594822 + PropertyAccessExpression 2594798 2594817 + Identifier 2594798 2594805 + Identifier 2594806 2594817 + Identifier 2594818 2594822 + EqualsEqualsEqualsToken 2594822 2594826 + PropertyAccessExpression 2594826 2594850 + Identifier 2594826 2594837 + Identifier 2594838 2594850 + FalseKeyword 2594851 2594869 + Identifier 2594870 2594881 + Identifier 2594882 2594891 + IfStatement 2594961 2595414 + CallExpression 2595045 2595072 + Identifier 2595045 2595061 + PropertyAccessExpression 2595062 2595071 + Identifier 2595062 2595066 + Identifier 2595067 2595071 + Block 2595073 2595414 + IfStatement 2595075 2595339 + BinaryExpression 2595093 2595246 + BinaryExpression 2595093 2595208 + BinaryExpression 2595093 2595142 + PropertyAccessExpression 2595093 2595107 + PropertyAccessExpression 2595093 2595102 + Identifier 2595093 2595097 + Identifier 2595098 2595102 + Identifier 2595103 2595107 + EqualsEqualsEqualsToken 2595107 2595111 + PropertyAccessExpression 2595111 2595142 + Identifier 2595111 2595122 + Identifier 2595123 2595142 + AmpersandAmpersandToken 2595142 2595145 + BinaryExpression 2595145 2595208 + Identifier 2595145 2595161 + LessThanToken 2595161 2595163 + PropertyAccessExpression 2595163 2595208 + Identifier 2595163 2595192 + Identifier 2595193 2595208 + AmpersandAmpersandToken 2595208 2595211 + PropertyAccessExpression 2595211 2595246 + Identifier 2595211 2595227 + Identifier 2595228 2595246 + Block 2595247 2595339 + ExpressionStatement 2595249 2595324 + CallExpression 2595249 2595323 + Identifier 2595249 2595291 + Identifier 2595292 2595296 + PropertyAccessExpression 2595297 2595322 + Identifier 2595297 2595317 + Identifier 2595318 2595322 + ExpressionStatement 2595339 2595403 + CallExpression 2595339 2595402 + Identifier 2595339 2595362 + PropertyAccessExpression 2595363 2595381 + PropertyAccessExpression 2595363 2595372 + Identifier 2595363 2595367 + Identifier 2595368 2595372 + Identifier 2595373 2595381 + Identifier 2595382 2595401 + IfStatement 2595414 2595843 + BinaryExpression 2595551 2595685 + BinaryExpression 2595551 2595605 + PropertyAccessExpression 2595551 2595567 + Identifier 2595551 2595555 + Identifier 2595556 2595567 + AmpersandAmpersandToken 2595567 2595570 + CallExpression 2595570 2595605 + Identifier 2595570 2595599 + Identifier 2595600 2595604 + AmpersandAmpersandToken 2595605 2595608 + CallExpression 2595608 2595685 + Identifier 2595608 2595622 + PropertyAccessExpression 2595623 2595684 + ParenthesizedExpression 2595623 2595679 + AsExpression 2595624 2595678 + CallExpression 2595624 2595651 + Identifier 2595624 2595645 + Identifier 2595646 2595650 + TypeReference 2595654 2595678 + Identifier 2595654 2595678 + Identifier 2595680 2595684 + Block 2595686 2595843 + ExpressionStatement 2595688 2595811 + CallExpression 2595688 2595810 + Identifier 2595688 2595707 + Identifier 2595708 2595712 + PropertyAccessExpression 2595713 2595809 + Identifier 2595713 2595725 + Identifier 2595726 2595809 + ReturnStatement 2595811 2595832 + IfStatement 2595843 2597571 + CallExpression 2595926 2595953 + Identifier 2595926 2595942 + PropertyAccessExpression 2595943 2595952 + Identifier 2595943 2595947 + Identifier 2595948 2595952 + Block 2595954 2597571 + IfStatement 2595956 2596044 + CallExpression 2595974 2596001 + Identifier 2595974 2595995 + Identifier 2595996 2596000 + Block 2596002 2596044 + ReturnStatement 2596004 2596029 + VariableStatement 2596044 2596199 + VariableDeclarationList 2596044 2596198 + VariableDeclaration 2596063 2596198 + Identifier 2596063 2596084 + BinaryExpression 2596086 2596198 + BinaryExpression 2596086 2596141 + CallExpression 2596086 2596121 + Identifier 2596086 2596115 + Identifier 2596116 2596120 + AmpersandAmpersandToken 2596121 2596124 + PropertyAccessExpression 2596124 2596141 + Identifier 2596124 2596129 + Identifier 2596130 2596141 + AmpersandAmpersandToken 2596141 2596144 + BinaryExpression 2596144 2596198 + PropertyAccessExpression 2596144 2596168 + PropertyAccessExpression 2596144 2596163 + PropertyAccessExpression 2596144 2596156 + Identifier 2596144 2596149 + Identifier 2596150 2596156 + Identifier 2596157 2596163 + Identifier 2596164 2596168 + ExclamationEqualsEqualsToken 2596168 2596172 + PropertyAccessExpression 2596172 2596198 + Identifier 2596172 2596183 + Identifier 2596184 2596198 + VariableStatement 2596199 2596294 + VariableDeclarationList 2596199 2596293 + VariableDeclaration 2596218 2596293 + Identifier 2596218 2596239 + PrefixUnaryExpression 2596241 2596293 + CallExpression 2596243 2596293 + Identifier 2596243 2596247 + PropertyAccessExpression 2596248 2596266 + PropertyAccessExpression 2596248 2596257 + Identifier 2596248 2596252 + Identifier 2596253 2596257 + Identifier 2596258 2596266 + CallExpression 2596267 2596292 + Identifier 2596267 2596271 + Identifier 2596272 2596291 + IfStatement 2596294 2597539 + BinaryExpression 2596312 2596356 + Identifier 2596312 2596332 + BarBarToken 2596332 2596335 + Identifier 2596335 2596356 + Block 2596357 2597539 + VariableStatement 2596359 2596524 + VariableDeclarationList 2596359 2596523 + VariableDeclaration 2596462 2596523 + Identifier 2596462 2596474 + CallExpression 2596476 2596523 + Identifier 2596476 2596517 + Identifier 2596518 2596522 + IfStatement 2596524 2597049 + Identifier 2596546 2596566 + Block 2596567 2597049 + VariableStatement 2596569 2596655 + VariableDeclarationList 2596569 2596654 + VariableDeclaration 2596596 2596654 + Identifier 2596596 2596612 + CallExpression 2596614 2596654 + Identifier 2596614 2596636 + PropertyAccessExpression 2596637 2596653 + Identifier 2596637 2596641 + Identifier 2596642 2596653 + IfStatement 2596655 2597030 + BinaryExpression 2596681 2596721 + Identifier 2596681 2596697 + AmpersandAmpersandToken 2596697 2596700 + Identifier 2596700 2596721 + Block 2596722 2596820 + ExpressionStatement 2596724 2596797 + CallExpression 2596724 2596796 + Identifier 2596724 2596773 + Identifier 2596774 2596789 + Identifier 2596790 2596795 + Block 2596846 2597030 + ExpressionStatement 2596848 2597007 + CallExpression 2596848 2597006 + Identifier 2596848 2596917 + Identifier 2596918 2596933 + CallExpression 2596934 2596981 + Identifier 2596934 2596975 + Identifier 2596976 2596980 + Identifier 2596982 2596987 + PropertyAccessExpression 2596988 2597005 + Identifier 2596988 2596993 + Identifier 2596994 2597005 + IfStatement 2597049 2597524 + Identifier 2597137 2597157 + Block 2597158 2597524 + IfStatement 2597160 2597505 + CallExpression 2597186 2597218 + Identifier 2597186 2597207 + PropertyAccessExpression 2597208 2597217 + Identifier 2597208 2597212 + Identifier 2597213 2597217 + Block 2597219 2597363 + ExpressionStatement 2597221 2597340 + CallExpression 2597221 2597339 + Identifier 2597221 2597277 + PropertyAccessExpression 2597278 2597304 + Identifier 2597278 2597290 + Identifier 2597291 2597304 + Identifier 2597305 2597317 + Identifier 2597318 2597332 + Identifier 2597333 2597338 + IfStatement 2597389 2597505 + Identifier 2597394 2597410 + Block 2597411 2597505 + ExpressionStatement 2597413 2597482 + CallExpression 2597413 2597481 + Identifier 2597413 2597462 + Identifier 2597463 2597474 + Identifier 2597475 2597480 + ReturnStatement 2597539 2597560 + VariableStatement 2597571 2597701 + VariableDeclarationList 2597571 2597700 + VariableDeclaration 2597662 2597700 + Identifier 2597662 2597669 + CallExpression 2597671 2597700 + Identifier 2597671 2597694 + Identifier 2597695 2597699 + IfStatement 2597701 2597935 + BinaryExpression 2597715 2597863 + BinaryExpression 2597715 2597747 + PropertyAccessExpression 2597715 2597727 + Identifier 2597715 2597721 + Identifier 2597722 2597727 + AmpersandToken 2597727 2597729 + PropertyAccessExpression 2597729 2597747 + Identifier 2597729 2597741 + Identifier 2597742 2597747 + AmpersandAmpersandToken 2597747 2597750 + ParenthesizedExpression 2597750 2597863 + BinaryExpression 2597752 2597862 + CallExpression 2597752 2597813 + Identifier 2597752 2597807 + Identifier 2597808 2597812 + BarBarToken 2597813 2597816 + CallExpression 2597816 2597862 + Identifier 2597816 2597856 + Identifier 2597857 2597861 + Block 2597864 2597935 + ExpressionStatement 2597866 2597903 + CallExpression 2597866 2597902 + Identifier 2597866 2597896 + Identifier 2597897 2597901 + ReturnStatement 2597903 2597924 + IfStatement 2597935 2598103 + BinaryExpression 2597951 2597994 + PropertyAccessExpression 2597951 2597965 + PropertyAccessExpression 2597951 2597960 + Identifier 2597951 2597955 + Identifier 2597956 2597960 + Identifier 2597961 2597965 + EqualsEqualsEqualsToken 2597965 2597969 + PropertyAccessExpression 2597969 2597994 + Identifier 2597969 2597980 + Identifier 2597981 2597994 + Block 2597995 2598103 + ExpressionStatement 2597997 2598092 + CallExpression 2597997 2598091 + Identifier 2597997 2598016 + PropertyAccessExpression 2598017 2598026 + Identifier 2598017 2598021 + Identifier 2598022 2598026 + PropertyAccessExpression 2598027 2598090 + Identifier 2598027 2598039 + Identifier 2598040 2598090 + VariableStatement 2598103 2598170 + VariableDeclarationList 2598103 2598169 + VariableDeclaration 2598120 2598169 + Identifier 2598120 2598125 + CallExpression 2598127 2598169 + Identifier 2598127 2598144 + CallExpression 2598145 2598168 + Identifier 2598145 2598160 + Identifier 2598161 2598167 + IfStatement 2598170 2602472 + BinaryExpression 2598184 2598216 + Identifier 2598184 2598188 + EqualsEqualsEqualsToken 2598188 2598192 + PropertyAccessExpression 2598192 2598216 + Identifier 2598192 2598199 + Identifier 2598200 2598216 + Block 2598217 2601258 + VariableStatement 2598219 2598490 + VariableDeclarationList 2598219 2598489 + VariableDeclaration 2598407 2598489 + Identifier 2598407 2598419 + BinaryExpression 2598421 2598489 + CallExpression 2598421 2598456 + Identifier 2598421 2598450 + Identifier 2598451 2598455 + AmpersandAmpersandToken 2598456 2598459 + CallExpression 2598459 2598489 + Identifier 2598459 2598483 + Identifier 2598484 2598488 + IfStatement 2598490 2600869 + Identifier 2598508 2598519 + Block 2598520 2600869 + VariableStatement 2598522 2598798 + VariableDeclarationList 2598522 2598797 + VariableDeclaration 2598545 2598797 + Identifier 2598545 2598574 + BinaryExpression 2598576 2598797 + BinaryExpression 2598576 2598750 + BinaryExpression 2598576 2598656 + CallExpression 2598576 2598593 + Identifier 2598576 2598587 + Identifier 2598588 2598592 + AmpersandAmpersandToken 2598593 2598596 + CallExpression 2598596 2598656 + Identifier 2598596 2598643 + Identifier 2598644 2598655 + AmpersandAmpersandToken 2598656 2598659 + ParenthesizedExpression 2598659 2598750 + BinaryExpression 2598682 2598749 + BinaryExpression 2598682 2598717 + PropertyAccessExpression 2598682 2598711 + PropertyAccessExpression 2598682 2598704 + Identifier 2598682 2598693 + Identifier 2598694 2598704 + Identifier 2598705 2598711 + EqualsEqualsEqualsToken 2598711 2598715 + NumericLiteral 2598715 2598717 + BarBarToken 2598717 2598720 + CallExpression 2598720 2598749 + Identifier 2598720 2598738 + PropertyAccessExpression 2598739 2598748 + Identifier 2598739 2598743 + Identifier 2598744 2598748 + AmpersandAmpersandToken 2598750 2598753 + PrefixUnaryExpression 2598753 2598797 + PrefixUnaryExpression 2598776 2598797 + PropertyAccessExpression 2598777 2598797 + PropertyAccessExpression 2598777 2598791 + Identifier 2598777 2598783 + Identifier 2598784 2598791 + QuestionDotToken 2598791 2598793 + Identifier 2598793 2598797 + IfStatement 2598798 2600854 + BinaryExpression 2598820 2598906 + PrefixUnaryExpression 2598820 2598849 + Identifier 2598821 2598849 + AmpersandAmpersandToken 2598849 2598852 + BinaryExpression 2598852 2598906 + PropertyAccessExpression 2598852 2598876 + PropertyAccessExpression 2598852 2598871 + PropertyAccessExpression 2598852 2598864 + Identifier 2598852 2598857 + Identifier 2598858 2598864 + Identifier 2598865 2598871 + Identifier 2598872 2598876 + ExclamationEqualsEqualsToken 2598876 2598880 + PropertyAccessExpression 2598880 2598906 + Identifier 2598880 2598891 + Identifier 2598892 2598906 + Block 2598907 2600854 + VariableStatement 2598909 2598990 + VariableDeclarationList 2598909 2598989 + VariableDeclaration 2598936 2598989 + Identifier 2598936 2598952 + CallExpression 2598954 2598989 + Identifier 2598954 2598976 + Identifier 2598977 2598988 + ExpressionStatement 2598990 2599125 + CallExpression 2598990 2599124 + Identifier 2598990 2599055 + Identifier 2599056 2599071 + Identifier 2599072 2599077 + Identifier 2599078 2599083 + Identifier 2599084 2599096 + Identifier 2599097 2599123 + VariableStatement 2599125 2599227 + VariableDeclarationList 2599125 2599226 + VariableDeclaration 2599152 2599226 + Identifier 2599152 2599167 + BinaryExpression 2599169 2599226 + CallExpression 2599169 2599202 + Identifier 2599169 2599196 + Identifier 2599197 2599201 + AmpersandToken 2599202 2599204 + PropertyAccessExpression 2599204 2599226 + Identifier 2599204 2599214 + Identifier 2599215 2599226 + IfStatement 2599227 2600835 + BinaryExpression 2599253 2599292 + Identifier 2599253 2599267 + EqualsEqualsEqualsToken 2599267 2599271 + PropertyAccessExpression 2599271 2599292 + Identifier 2599271 2599281 + Identifier 2599282 2599292 + Block 2599293 2600140 + VariableStatement 2599295 2599407 + VariableDeclarationList 2599295 2599406 + VariableDeclaration 2599326 2599406 + Identifier 2599326 2599352 + CallExpression 2599354 2599406 + Identifier 2599354 2599383 + TrueKeyword 2599384 2599405 + VariableStatement 2599407 2599509 + VariableDeclarationList 2599407 2599508 + VariableDeclaration 2599438 2599508 + Identifier 2599438 2599459 + CallExpression 2599461 2599508 + Identifier 2599461 2599485 + TrueKeyword 2599486 2599507 + IfStatement 2599509 2600117 + BinaryExpression 2599539 2599628 + BinaryExpression 2599539 2599584 + Identifier 2599539 2599564 + ExclamationEqualsEqualsToken 2599564 2599568 + Identifier 2599568 2599584 + AmpersandAmpersandToken 2599584 2599587 + BinaryExpression 2599587 2599628 + Identifier 2599587 2599608 + ExclamationEqualsEqualsToken 2599608 2599612 + Identifier 2599612 2599628 + Block 2599629 2600117 + VariableStatement 2599631 2599781 + VariableDeclarationList 2599631 2599780 + VariableDeclaration 2599666 2599780 + Identifier 2599666 2599689 + CallExpression 2599691 2599780 + Identifier 2599691 2599704 + ArrayLiteralExpression 2599705 2599779 + Identifier 2599706 2599731 + Identifier 2599732 2599753 + Identifier 2599754 2599763 + Identifier 2599764 2599778 + ExpressionStatement 2599781 2600090 + CallExpression 2599781 2600089 + Identifier 2599781 2599832 + CallExpression 2599833 2599891 + Identifier 2599833 2599868 + Identifier 2599869 2599884 + Identifier 2599885 2599890 + Identifier 2599892 2599915 + Identifier 2599916 2599928 + PropertyAccessExpression 2599929 2600088 + Identifier 2599929 2599941 + Identifier 2599942 2600088 + IfStatement 2600166 2600835 + BinaryExpression 2600171 2600205 + Identifier 2600171 2600185 + EqualsEqualsEqualsToken 2600185 2600189 + PropertyAccessExpression 2600189 2600205 + Identifier 2600189 2600199 + Identifier 2600200 2600205 + Block 2600206 2600835 + VariableStatement 2600208 2600310 + VariableDeclarationList 2600208 2600309 + VariableDeclaration 2600239 2600309 + Identifier 2600239 2600260 + CallExpression 2600262 2600309 + Identifier 2600262 2600286 + TrueKeyword 2600287 2600308 + IfStatement 2600310 2600812 + BinaryExpression 2600340 2600380 + Identifier 2600340 2600360 + ExclamationEqualsEqualsToken 2600360 2600364 + Identifier 2600364 2600380 + Block 2600381 2600812 + VariableStatement 2600383 2600506 + VariableDeclarationList 2600383 2600505 + VariableDeclaration 2600418 2600505 + Identifier 2600418 2600441 + CallExpression 2600443 2600505 + Identifier 2600443 2600456 + ArrayLiteralExpression 2600457 2600504 + Identifier 2600458 2600478 + Identifier 2600479 2600488 + Identifier 2600489 2600503 + ExpressionStatement 2600506 2600785 + CallExpression 2600506 2600784 + Identifier 2600506 2600557 + CallExpression 2600558 2600616 + Identifier 2600558 2600593 + Identifier 2600594 2600609 + Identifier 2600610 2600615 + Identifier 2600617 2600640 + Identifier 2600641 2600653 + PropertyAccessExpression 2600654 2600783 + Identifier 2600654 2600666 + Identifier 2600667 2600783 + IfStatement 2600869 2601247 + BinaryExpression 2600887 2600940 + PropertyAccessExpression 2600887 2600906 + Identifier 2600887 2600893 + Identifier 2600894 2600906 + AmpersandAmpersandToken 2600906 2600909 + BinaryExpression 2600909 2600940 + PropertyAccessExpression 2600909 2600936 + PropertyAccessExpression 2600909 2600929 + Identifier 2600909 2600916 + Identifier 2600917 2600929 + Identifier 2600930 2600936 + GreaterThanToken 2600936 2600938 + NumericLiteral 2600938 2600940 + Block 2600941 2601247 + IfStatement 2600943 2601232 + CallExpression 2600965 2601070 + Identifier 2600965 2600969 + PropertyAccessExpression 2600970 2600989 + Identifier 2600970 2600976 + Identifier 2600977 2600989 + ArrowFunction 2600990 2601069 + Parameter 2600990 2600992 + Identifier 2600990 2600992 + EqualsGreaterThanToken 2600992 2600995 + BinaryExpression 2600995 2601069 + BinaryExpression 2600995 2601027 + BinaryExpression 2600995 2601006 + Identifier 2600995 2600997 + ExclamationEqualsEqualsToken 2600997 2601001 + Identifier 2601001 2601006 + AmpersandAmpersandToken 2601006 2601009 + CallExpression 2601009 2601027 + Identifier 2601009 2601024 + Identifier 2601025 2601026 + AmpersandAmpersandToken 2601027 2601030 + PrefixUnaryExpression 2601030 2601069 + CallExpression 2601032 2601069 + Identifier 2601032 2601060 + Identifier 2601061 2601062 + Identifier 2601063 2601068 + Block 2601071 2601232 + ExpressionStatement 2601073 2601213 + CallExpression 2601073 2601212 + Identifier 2601073 2601100 + PropertyAccessExpression 2601101 2601110 + Identifier 2601101 2601105 + Identifier 2601106 2601110 + PropertyAccessExpression 2601111 2601175 + Identifier 2601111 2601123 + Identifier 2601124 2601175 + CallExpression 2601176 2601211 + Identifier 2601176 2601200 + PropertyAccessExpression 2601201 2601210 + Identifier 2601201 2601205 + Identifier 2601206 2601210 + Block 2601272 2602472 + VariableStatement 2601274 2601570 + VariableDeclarationList 2601274 2601569 + VariableDeclaration 2601486 2601569 + Identifier 2601486 2601502 + CallExpression 2601504 2601569 + Identifier 2601504 2601521 + CallExpression 2601522 2601568 + Identifier 2601522 2601562 + Identifier 2601563 2601567 + IfStatement 2601570 2601941 + BinaryExpression 2601590 2601782 + BinaryExpression 2601590 2601721 + BinaryExpression 2601590 2601659 + PrefixUnaryExpression 2601590 2601626 + CallExpression 2601609 2601626 + Identifier 2601609 2601620 + Identifier 2601621 2601625 + AmpersandAmpersandToken 2601626 2601629 + PrefixUnaryExpression 2601629 2601659 + CallExpression 2601631 2601659 + Identifier 2601631 2601642 + Identifier 2601643 2601658 + AmpersandAmpersandToken 2601659 2601662 + PrefixUnaryExpression 2601662 2601721 + CallExpression 2601681 2601721 + Identifier 2601681 2601698 + Identifier 2601699 2601703 + Identifier 2601704 2601720 + AmpersandAmpersandToken 2601721 2601724 + PrefixUnaryExpression 2601724 2601782 + ParenthesizedExpression 2601743 2601782 + BinaryExpression 2601744 2601781 + PropertyAccessExpression 2601744 2601756 + Identifier 2601744 2601750 + Identifier 2601751 2601756 + AmpersandToken 2601756 2601758 + PropertyAccessExpression 2601758 2601781 + Identifier 2601758 2601770 + Identifier 2601771 2601781 + Block 2601797 2601941 + ExpressionStatement 2601799 2601926 + CallExpression 2601799 2601925 + Identifier 2601799 2601871 + PropertyAccessExpression 2601872 2601895 + Identifier 2601872 2601878 + Identifier 2601879 2601895 + Identifier 2601896 2601901 + Identifier 2601902 2601907 + Identifier 2601908 2601924 + IfStatement 2601941 2602202 + BinaryExpression 2601959 2602013 + CallExpression 2601959 2601993 + Identifier 2601959 2601987 + Identifier 2601988 2601992 + AmpersandAmpersandToken 2601993 2601996 + PropertyAccessExpression 2601996 2602013 + Identifier 2601996 2602001 + Identifier 2602002 2602013 + Block 2602014 2602202 + ExpressionStatement 2602016 2602187 + CallExpression 2602016 2602186 + Identifier 2602016 2602077 + CallExpression 2602078 2602117 + Identifier 2602078 2602099 + PropertyAccessExpression 2602100 2602116 + Identifier 2602100 2602104 + Identifier 2602105 2602116 + Identifier 2602118 2602134 + Identifier 2602135 2602140 + PropertyAccessExpression 2602141 2602158 + Identifier 2602141 2602146 + Identifier 2602147 2602158 + Identifier 2602159 2602185 + IfStatement 2602202 2602461 + BinaryExpression 2602220 2602307 + PropertyAccessExpression 2602220 2602243 + Identifier 2602220 2602226 + Identifier 2602227 2602243 + AmpersandAmpersandToken 2602243 2602246 + PrefixUnaryExpression 2602246 2602307 + CallExpression 2602248 2602307 + Identifier 2602248 2602276 + Identifier 2602277 2602281 + PropertyAccessExpression 2602282 2602306 + Identifier 2602282 2602289 + Identifier 2602290 2602306 + Block 2602308 2602461 + ExpressionStatement 2602310 2602446 + CallExpression 2602310 2602445 + Identifier 2602310 2602333 + PropertyAccessExpression 2602334 2602343 + Identifier 2602334 2602338 + Identifier 2602339 2602343 + PropertyAccessExpression 2602344 2602408 + Identifier 2602344 2602356 + Identifier 2602357 2602408 + CallExpression 2602409 2602444 + Identifier 2602409 2602433 + PropertyAccessExpression 2602434 2602443 + Identifier 2602434 2602438 + Identifier 2602439 2602443 + IfStatement 2602472 2602966 + BinaryExpression 2602486 2602576 + BinaryExpression 2602486 2602530 + PropertyAccessExpression 2602486 2602495 + Identifier 2602486 2602490 + Identifier 2602491 2602495 + ExclamationEqualsEqualsToken 2602495 2602499 + PropertyAccessExpression 2602499 2602530 + Identifier 2602499 2602510 + Identifier 2602511 2602530 + AmpersandAmpersandToken 2602530 2602533 + BinaryExpression 2602533 2602576 + PropertyAccessExpression 2602533 2602543 + Identifier 2602533 2602538 + Identifier 2602539 2602543 + ExclamationEqualsEqualsToken 2602543 2602547 + PropertyAccessExpression 2602547 2602576 + Identifier 2602547 2602558 + Identifier 2602559 2602576 + Block 2602577 2602966 + ExpressionStatement 2602579 2602710 + CallExpression 2602579 2602709 + Identifier 2602579 2602703 + Identifier 2602704 2602708 + IfStatement 2602710 2602890 + BinaryExpression 2602728 2602815 + BinaryExpression 2602728 2602772 + PropertyAccessExpression 2602728 2602737 + Identifier 2602728 2602732 + Identifier 2602733 2602737 + EqualsEqualsEqualsToken 2602737 2602741 + PropertyAccessExpression 2602741 2602772 + Identifier 2602741 2602752 + Identifier 2602753 2602772 + BarBarToken 2602772 2602775 + BinaryExpression 2602775 2602815 + PropertyAccessExpression 2602775 2602785 + Identifier 2602775 2602780 + Identifier 2602781 2602785 + EqualsEqualsEqualsToken 2602785 2602789 + PropertyAccessExpression 2602789 2602815 + Identifier 2602789 2602800 + Identifier 2602801 2602815 + Block 2602816 2602890 + ExpressionStatement 2602818 2602875 + CallExpression 2602818 2602874 + Identifier 2602818 2602868 + Identifier 2602869 2602873 + ExpressionStatement 2602890 2602955 + CallExpression 2602890 2602954 + Identifier 2602890 2602937 + Identifier 2602938 2602942 + PropertyAccessExpression 2602943 2602953 + Identifier 2602943 2602948 + Identifier 2602949 2602953 + FunctionDeclaration 2602973 2604082 + Identifier 2602989 2603044 + Parameter 2603045 2603086 + Identifier 2603045 2603061 + UnionType 2603062 2603086 + TypeReference 2603062 2603074 + Identifier 2603062 2603074 + UndefinedKeyword 2603076 2603086 + Parameter 2603087 2603103 + Identifier 2603087 2603097 + TypeReference 2603098 2603103 + Identifier 2603098 2603103 + Parameter 2603104 2603133 + Identifier 2603104 2603120 + TypeReference 2603121 2603133 + Identifier 2603121 2603133 + Parameter 2603134 2603149 + Identifier 2603134 2603143 + TypeReference 2603144 2603149 + Identifier 2603144 2603149 + VoidKeyword 2603151 2603156 + Block 2603156 2604082 + VariableStatement 2603158 2603234 + VariableDeclarationList 2603158 2603233 + VariableDeclaration 2603173 2603233 + Identifier 2603173 2603193 + CallExpression 2603195 2603233 + Identifier 2603195 2603216 + Identifier 2603217 2603232 + VariableStatement 2603234 2603639 + VariableDeclarationList 2603234 2603638 + VariableDeclaration 2603249 2603638 + Identifier 2603249 2603257 + ConditionalExpression 2603259 2603638 + BinaryExpression 2603259 2603372 + BinaryExpression 2603259 2603315 + PropertyAccessExpression 2603259 2603280 + Identifier 2603259 2603275 + Identifier 2603276 2603280 + EqualsEqualsEqualsToken 2603280 2603284 + PropertyAccessExpression 2603284 2603315 + Identifier 2603284 2603295 + Identifier 2603296 2603315 + BarBarToken 2603315 2603318 + BinaryExpression 2603318 2603372 + PropertyAccessExpression 2603318 2603339 + Identifier 2603318 2603334 + Identifier 2603335 2603339 + EqualsEqualsEqualsToken 2603339 2603343 + PropertyAccessExpression 2603343 2603372 + Identifier 2603343 2603354 + Identifier 2603355 2603372 + QuestionToken 2603372 2603387 + PropertyAccessExpression 2603387 2603505 + Identifier 2603387 2603399 + Identifier 2603400 2603505 + ColonToken 2603505 2603520 + PropertyAccessExpression 2603520 2603638 + Identifier 2603520 2603532 + Identifier 2603533 2603638 + VariableStatement 2603639 2603711 + VariableDeclarationList 2603639 2603710 + VariableDeclaration 2603654 2603710 + Identifier 2603654 2603663 + CallExpression 2603665 2603710 + Identifier 2603665 2603689 + Identifier 2603690 2603709 + VariableStatement 2603711 2603905 + VariableDeclarationList 2603711 2603904 + VariableDeclaration 2603726 2603904 + Identifier 2603726 2603730 + CallExpression 2603732 2603904 + Identifier 2603732 2603738 + Identifier 2603739 2603772 + Identifier 2603773 2603794 + Identifier 2603795 2603817 + CallExpression 2603818 2603855 + Identifier 2603818 2603844 + Identifier 2603845 2603854 + CallExpression 2603856 2603892 + Identifier 2603856 2603882 + Identifier 2603883 2603891 + IfStatement 2603905 2604075 + Identifier 2603919 2603935 + Block 2603936 2604075 + ExpressionStatement 2603938 2604064 + CallExpression 2603938 2604063 + Identifier 2603938 2603966 + Identifier 2603967 2603970 + CallExpression 2603971 2604062 + Identifier 2603971 2603995 + Identifier 2603996 2604012 + PropertyAccessExpression 2604013 2604051 + Identifier 2604013 2604025 + Identifier 2604026 2604051 + Identifier 2604052 2604061 + FunctionDeclaration 2604082 2605021 + Identifier 2604098 2604127 + Parameter 2604128 2604145 + Identifier 2604128 2604132 + TypeReference 2604133 2604145 + Identifier 2604133 2604145 + Parameter 2604146 2604165 + Identifier 2604146 2604152 + TypeReference 2604153 2604165 + Identifier 2604153 2604165 + Block 2604166 2605021 + IfStatement 2604168 2604522 + BinaryExpression 2604182 2604383 + ParenthesizedExpression 2604182 2604281 + BinaryExpression 2604197 2604280 + BinaryExpression 2604197 2604231 + PropertyAccessExpression 2604197 2604206 + Identifier 2604197 2604201 + Identifier 2604202 2604206 + EqualsEqualsEqualsToken 2604206 2604210 + PropertyAccessExpression 2604210 2604231 + Identifier 2604210 2604221 + Identifier 2604222 2604231 + AmpersandAmpersandToken 2604231 2604234 + BinaryExpression 2604234 2604280 + PropertyAccessExpression 2604234 2604245 + Identifier 2604234 2604240 + Identifier 2604241 2604245 + EqualsEqualsEqualsToken 2604245 2604249 + PropertyAccessExpression 2604249 2604280 + Identifier 2604249 2604260 + Identifier 2604261 2604280 + BarBarToken 2604281 2604284 + ParenthesizedExpression 2604284 2604383 + BinaryExpression 2604299 2604382 + BinaryExpression 2604299 2604343 + PropertyAccessExpression 2604299 2604308 + Identifier 2604299 2604303 + Identifier 2604304 2604308 + EqualsEqualsEqualsToken 2604308 2604312 + PropertyAccessExpression 2604312 2604343 + Identifier 2604312 2604323 + Identifier 2604324 2604343 + AmpersandAmpersandToken 2604343 2604346 + BinaryExpression 2604346 2604382 + PropertyAccessExpression 2604346 2604357 + Identifier 2604346 2604352 + Identifier 2604353 2604357 + EqualsEqualsEqualsToken 2604357 2604361 + PropertyAccessExpression 2604361 2604382 + Identifier 2604361 2604372 + Identifier 2604373 2604382 + Block 2604394 2604522 + ReturnStatement 2604396 2604511 + TrueKeyword 2604505 2604510 + IfStatement 2604522 2604629 + BinaryExpression 2604538 2604588 + CallExpression 2604538 2604560 + Identifier 2604538 2604554 + Identifier 2604555 2604559 + ExclamationEqualsEqualsToken 2604560 2604564 + CallExpression 2604564 2604588 + Identifier 2604564 2604581 + Identifier 2604582 2604587 + Block 2604589 2604629 + ReturnStatement 2604591 2604618 + FalseKeyword 2604611 2604617 + VariableStatement 2604629 2604874 + VariableDeclarationList 2604629 2604873 + VariableDeclaration 2604646 2604873 + Identifier 2604646 2604663 + BinaryExpression 2604665 2604873 + BinaryExpression 2604665 2604837 + BinaryExpression 2604665 2604799 + BinaryExpression 2604665 2604761 + BinaryExpression 2604665 2604726 + PropertyAccessExpression 2604665 2604687 + Identifier 2604665 2604679 + Identifier 2604680 2604687 + BarToken 2604687 2604689 + PropertyAccessExpression 2604689 2604726 + Identifier 2604689 2604716 + Identifier 2604717 2604726 + BarToken 2604726 2604728 + PropertyAccessExpression 2604728 2604761 + Identifier 2604728 2604755 + Identifier 2604756 2604761 + BarToken 2604761 2604763 + PropertyAccessExpression 2604763 2604799 + Identifier 2604763 2604790 + Identifier 2604791 2604799 + BarToken 2604799 2604801 + PropertyAccessExpression 2604801 2604837 + Identifier 2604801 2604828 + Identifier 2604829 2604837 + BarToken 2604837 2604839 + PropertyAccessExpression 2604839 2604873 + Identifier 2604839 2604866 + Identifier 2604867 2604873 + ReturnStatement 2604874 2605014 + BinaryExpression 2604892 2605013 + CallExpression 2604892 2604950 + Identifier 2604892 2604926 + Identifier 2604927 2604931 + Identifier 2604932 2604949 + EqualsEqualsEqualsToken 2604950 2604954 + CallExpression 2604954 2605013 + Identifier 2604954 2604988 + Identifier 2604989 2604994 + Identifier 2604995 2605012 + FunctionDeclaration 2605021 2605381 + Identifier 2605037 2605062 + Parameter 2605063 2605088 + Identifier 2605063 2605067 + TypeReference 2605068 2605088 + Identifier 2605068 2605088 + Block 2605089 2605381 + ExpressionStatement 2605091 2605256 + CallExpression 2605091 2605255 + PropertyAccessExpression 2605091 2605114 + Identifier 2605091 2605108 + QuestionDotToken 2605108 2605110 + Identifier 2605110 2605114 + PropertyAccessExpression 2605115 2605134 + PropertyAccessExpression 2605115 2605128 + Identifier 2605115 2605122 + Identifier 2605123 2605128 + Identifier 2605129 2605134 + StringLiteral 2605135 2605162 + ObjectLiteralExpression 2605163 2605254 + PropertyAssignment 2605165 2605181 + Identifier 2605165 2605170 + PropertyAccessExpression 2605171 2605181 + Identifier 2605171 2605176 + Identifier 2605177 2605181 + PropertyAssignment 2605182 2605196 + Identifier 2605182 2605186 + PropertyAccessExpression 2605187 2605196 + Identifier 2605187 2605192 + Identifier 2605193 2605196 + PropertyAssignment 2605197 2605211 + Identifier 2605197 2605201 + PropertyAccessExpression 2605202 2605211 + Identifier 2605202 2605207 + Identifier 2605208 2605211 + PropertyAssignment 2605212 2605252 + Identifier 2605212 2605217 + PropertyAccessExpression 2605218 2605252 + ParenthesizedExpression 2605218 2605240 + AsExpression 2605220 2605239 + Identifier 2605220 2605224 + TypeReference 2605227 2605239 + Identifier 2605227 2605239 + Identifier 2605241 2605252 + ExpressionStatement 2605256 2605304 + CallExpression 2605256 2605303 + Identifier 2605256 2605297 + Identifier 2605298 2605302 + ExpressionStatement 2605304 2605349 + CallExpression 2605304 2605348 + Identifier 2605304 2605342 + Identifier 2605343 2605347 + ExpressionStatement 2605349 2605374 + CallExpression 2605349 2605373 + PropertyAccessExpression 2605349 2605371 + Identifier 2605349 2605366 + QuestionDotToken 2605366 2605368 + Identifier 2605368 2605371 + FunctionDeclaration 2605381 2605543 + Identifier 2605397 2605417 + Parameter 2605418 2605438 + Identifier 2605418 2605422 + TypeReference 2605423 2605438 + Identifier 2605423 2605438 + Block 2605439 2605543 + ExpressionStatement 2605441 2605484 + CallExpression 2605441 2605483 + Identifier 2605441 2605477 + Identifier 2605478 2605482 + ReturnStatement 2605484 2605536 + CallExpression 2605500 2605535 + Identifier 2605500 2605529 + Identifier 2605530 2605534 + FunctionDeclaration 2605543 2606054 + Identifier 2605559 2605588 + Parameter 2605589 2605618 + Identifier 2605589 2605593 + TypeReference 2605594 2605618 + Identifier 2605594 2605618 + Block 2605619 2606054 + VariableStatement 2605621 2605705 + VariableDeclarationList 2605621 2605704 + VariableDeclaration 2605636 2605704 + Identifier 2605636 2605651 + BinaryExpression 2605653 2605704 + CallExpression 2605653 2605680 + Identifier 2605653 2605674 + Identifier 2605675 2605679 + AmpersandToken 2605680 2605682 + PropertyAccessExpression 2605682 2605704 + Identifier 2605682 2605692 + Identifier 2605693 2605704 + IfStatement 2605705 2605988 + BinaryExpression 2605719 2605867 + ParenthesizedExpression 2605719 2605798 + BinaryExpression 2605720 2605797 + BinaryExpression 2605720 2605754 + Identifier 2605720 2605734 + EqualsEqualsEqualsToken 2605734 2605738 + PropertyAccessExpression 2605738 2605754 + Identifier 2605738 2605748 + Identifier 2605749 2605754 + BarBarToken 2605754 2605757 + BinaryExpression 2605757 2605797 + Identifier 2605757 2605772 + EqualsEqualsEqualsToken 2605772 2605776 + PropertyAccessExpression 2605776 2605797 + Identifier 2605776 2605786 + Identifier 2605787 2605797 + AmpersandAmpersandToken 2605798 2605801 + BinaryExpression 2605801 2605867 + Identifier 2605801 2605817 + LessThanToken 2605817 2605819 + PropertyAccessExpression 2605819 2605867 + Identifier 2605819 2605848 + Identifier 2605849 2605867 + Block 2605868 2605988 + ExpressionStatement 2605870 2605977 + CallExpression 2605870 2605976 + Identifier 2605870 2605908 + Identifier 2605909 2605913 + PropertyAccessExpression 2605914 2605975 + Identifier 2605914 2605934 + Identifier 2605935 2605975 + ExpressionStatement 2605988 2606047 + CallExpression 2605988 2606046 + Identifier 2605988 2606007 + PropertyAccessExpression 2606008 2606025 + Identifier 2606008 2606012 + Identifier 2606013 2606025 + Identifier 2606026 2606045 + FunctionDeclaration 2606054 2606383 + Identifier 2606070 2606093 + Parameter 2606094 2606117 + Identifier 2606094 2606098 + TypeReference 2606099 2606117 + Identifier 2606099 2606117 + Block 2606118 2606383 + IfStatement 2606120 2606315 + BinaryExpression 2606163 2606253 + PrefixUnaryExpression 2606163 2606191 + CallExpression 2606164 2606191 + Identifier 2606164 2606185 + Identifier 2606186 2606190 + AmpersandAmpersandToken 2606191 2606194 + PrefixUnaryExpression 2606194 2606253 + CallExpression 2606196 2606253 + Identifier 2606196 2606231 + PropertyAccessExpression 2606232 2606252 + Identifier 2606232 2606236 + Identifier 2606237 2606252 + ExpressionStatement 2606254 2606315 + CallExpression 2606254 2606314 + Identifier 2606254 2606308 + Identifier 2606309 2606313 + ExpressionStatement 2606315 2606376 + CallExpression 2606315 2606375 + Identifier 2606315 2606353 + PropertyAccessExpression 2606354 2606374 + Identifier 2606354 2606358 + Identifier 2606359 2606374 + FunctionDeclaration 2606383 2606588 + Identifier 2606399 2606424 + Parameter 2606425 2606450 + Identifier 2606425 2606429 + TypeReference 2606430 2606450 + Identifier 2606430 2606450 + Block 2606451 2606588 + ExpressionStatement 2606453 2606536 + CallExpression 2606453 2606535 + Identifier 2606453 2606529 + Identifier 2606530 2606534 + ExpressionStatement 2606536 2606581 + CallExpression 2606536 2606580 + Identifier 2606536 2606563 + PropertyAccessExpression 2606564 2606579 + Identifier 2606564 2606568 + Identifier 2606569 2606579 + FunctionDeclaration 2606588 2607204 + Identifier 2606604 2606621 + Parameter 2606622 2606639 + Identifier 2606622 2606626 + TypeReference 2606627 2606639 + Identifier 2606627 2606639 + Block 2606640 2607204 + ExpressionStatement 2606642 2606725 + CallExpression 2606642 2606724 + Identifier 2606642 2606718 + Identifier 2606719 2606723 + VariableStatement 2606725 2606791 + VariableDeclarationList 2606725 2606790 + VariableDeclaration 2606740 2606790 + Identifier 2606740 2606745 + CallExpression 2606747 2606790 + Identifier 2606747 2606773 + PropertyAccessExpression 2606774 2606789 + Identifier 2606774 2606778 + Identifier 2606779 2606789 + ExpressionStatement 2606791 2606903 + CallExpression 2606791 2606902 + Identifier 2606791 2606859 + PropertyAccessExpression 2606860 2606875 + Identifier 2606860 2606864 + Identifier 2606865 2606875 + Identifier 2606876 2606881 + PropertyAccessExpression 2606882 2606901 + Identifier 2606882 2606887 + Identifier 2606888 2606901 + ExpressionStatement 2606903 2606952 + CallExpression 2606903 2606951 + Identifier 2606903 2606931 + PropertyAccessExpression 2606932 2606950 + Identifier 2606932 2606936 + Identifier 2606937 2606950 + IfStatement 2606952 2607146 + BinaryExpression 2606968 2607021 + PropertyAccessExpression 2606968 2606991 + PropertyAccessExpression 2606968 2606986 + Identifier 2606968 2606972 + Identifier 2606973 2606986 + Identifier 2606987 2606991 + EqualsEqualsEqualsToken 2606991 2606995 + PropertyAccessExpression 2606995 2607021 + Identifier 2606995 2607006 + Identifier 2607007 2607021 + Block 2607022 2607146 + ExpressionStatement 2607024 2607135 + CallExpression 2607024 2607134 + Identifier 2607024 2607043 + PropertyAccessExpression 2607044 2607062 + Identifier 2607044 2607048 + Identifier 2607049 2607062 + PropertyAccessExpression 2607063 2607133 + Identifier 2607063 2607075 + Identifier 2607076 2607133 + ExpressionStatement 2607146 2607197 + CallExpression 2607146 2607196 + Identifier 2607146 2607176 + PropertyAccessExpression 2607177 2607195 + Identifier 2607177 2607181 + Identifier 2607182 2607195 + FunctionDeclaration 2607204 2611066 + Identifier 2607220 2607279 + Parameter 2607280 2607300 + Identifier 2607280 2607288 + TypeReference 2607289 2607300 + Identifier 2607289 2607300 + Parameter 2607301 2607316 + Identifier 2607301 2607310 + TypeReference 2607311 2607316 + Identifier 2607311 2607316 + Parameter 2607317 2607347 + Identifier 2607317 2607322 + QuestionToken 2607322 2607323 + UnionType 2607324 2607347 + TypeReference 2607324 2607334 + Identifier 2607324 2607334 + TypeReference 2607336 2607347 + Identifier 2607336 2607347 + Block 2607348 2611066 + IfStatement 2607350 2607390 + PrefixUnaryExpression 2607364 2607381 + Identifier 2607365 2607381 + ReturnStatement 2607382 2607390 + ExpressionStatement 2607390 2607427 + CallExpression 2607390 2607426 + Identifier 2607390 2607410 + Identifier 2607411 2607419 + Identifier 2607420 2607425 + FunctionDeclaration 2607427 2607923 + Identifier 2607447 2607458 + Parameter 2607459 2607479 + Identifier 2607459 2607467 + TypeReference 2607468 2607479 + Identifier 2607468 2607479 + Parameter 2607480 2607521 + Identifier 2607480 2607485 + UnionType 2607486 2607521 + TypeReference 2607486 2607497 + Identifier 2607486 2607497 + TypeReference 2607499 2607509 + Identifier 2607499 2607509 + UndefinedKeyword 2607511 2607521 + Block 2607522 2607923 + ExpressionStatement 2607524 2607575 + BinaryExpression 2607524 2607574 + Identifier 2607524 2607546 + EqualsToken 2607546 2607548 + CallExpression 2607548 2607574 + Identifier 2607548 2607564 + Identifier 2607565 2607573 + ExpressionStatement 2607575 2607614 + CallExpression 2607575 2607613 + Identifier 2607575 2607597 + Identifier 2607598 2607606 + Identifier 2607607 2607612 + WhileStatement 2607614 2607912 + BinaryExpression 2607637 2607793 + CallExpression 2607637 2607665 + Identifier 2607637 2607655 + Identifier 2607656 2607664 + AmpersandAmpersandToken 2607665 2607668 + ParenthesizedExpression 2607668 2607793 + BinaryExpression 2607670 2607792 + BinaryExpression 2607670 2607724 + PropertyAccessExpression 2607670 2607697 + PropertyAccessExpression 2607670 2607692 + Identifier 2607670 2607678 + Identifier 2607679 2607692 + Identifier 2607693 2607697 + EqualsEqualsEqualsToken 2607697 2607701 + PropertyAccessExpression 2607701 2607724 + Identifier 2607701 2607712 + Identifier 2607713 2607724 + BarBarToken 2607724 2607727 + BinaryExpression 2607727 2607792 + PropertyAccessExpression 2607727 2607755 + PropertyAccessExpression 2607727 2607750 + Identifier 2607727 2607736 + Identifier 2607737 2607750 + Identifier 2607751 2607755 + EqualsEqualsEqualsToken 2607755 2607759 + PropertyAccessExpression 2607759 2607792 + Identifier 2607759 2607770 + Identifier 2607771 2607792 + Block 2607794 2607912 + ExpressionStatement 2607796 2607856 + BinaryExpression 2607796 2607855 + Identifier 2607796 2607822 + EqualsToken 2607822 2607824 + CallExpression 2607824 2607855 + Identifier 2607824 2607840 + PropertyAccessExpression 2607841 2607854 + Identifier 2607841 2607849 + Identifier 2607850 2607854 + ExpressionStatement 2607856 2607897 + CallExpression 2607856 2607896 + Identifier 2607856 2607880 + Identifier 2607881 2607889 + Identifier 2607890 2607895 + FunctionDeclaration 2607923 2611059 + Identifier 2607943 2607950 + Parameter 2607951 2607971 + Identifier 2607951 2607959 + TypeReference 2607960 2607971 + Identifier 2607960 2607971 + Parameter 2607972 2608013 + Identifier 2607972 2607977 + UnionType 2607978 2608013 + TypeReference 2607978 2607989 + Identifier 2607978 2607989 + TypeReference 2607991 2608001 + Identifier 2607991 2608001 + UndefinedKeyword 2608003 2608013 + Block 2608014 2611059 + VariableStatement 2608016 2608140 + VariableDeclarationList 2608016 2608139 + VariableDeclaration 2608035 2608139 + Identifier 2608035 2608044 + ConditionalExpression 2608046 2608139 + CallExpression 2608046 2608094 + Identifier 2608046 2608084 + Identifier 2608085 2608093 + QuestionToken 2608094 2608096 + CallExpression 2608096 2608128 + Identifier 2608096 2608112 + PropertyAccessExpression 2608113 2608127 + Identifier 2608113 2608121 + Identifier 2608122 2608127 + ColonToken 2608128 2608130 + Identifier 2608130 2608139 + IfStatement 2608140 2608242 + CallExpression 2608158 2608199 + Identifier 2608158 2608189 + Identifier 2608190 2608198 + Block 2608200 2608242 + ReturnStatement 2608202 2608227 + IfStatement 2608242 2608395 + CallExpression 2608260 2608307 + Identifier 2608260 2608297 + Identifier 2608298 2608306 + Block 2608308 2608395 + ExpressionStatement 2608310 2608355 + CallExpression 2608310 2608354 + Identifier 2608310 2608338 + Identifier 2608339 2608347 + Identifier 2608348 2608353 + ReturnStatement 2608355 2608380 + VariableStatement 2608395 2608483 + VariableDeclarationList 2608395 2608482 + VariableDeclaration 2608414 2608482 + Identifier 2608414 2608419 + ConditionalExpression 2608421 2608482 + BinaryExpression 2608421 2608443 + Identifier 2608421 2608430 + EqualsEqualsEqualsToken 2608430 2608434 + Identifier 2608434 2608443 + QuestionToken 2608443 2608445 + Identifier 2608445 2608454 + ColonToken 2608454 2608456 + CallExpression 2608456 2608482 + Identifier 2608456 2608472 + Identifier 2608473 2608481 + IfStatement 2608483 2608964 + BinaryExpression 2608501 2608671 + BinaryExpression 2608501 2608575 + BinaryExpression 2608501 2608535 + PropertyAccessExpression 2608501 2608511 + Identifier 2608501 2608505 + Identifier 2608506 2608511 + AmpersandToken 2608511 2608513 + PropertyAccessExpression 2608513 2608535 + Identifier 2608513 2608523 + Identifier 2608524 2608535 + AmpersandAmpersandToken 2608535 2608538 + CallExpression 2608538 2608575 + Identifier 2608538 2608565 + Identifier 2608566 2608574 + AmpersandAmpersandToken 2608575 2608578 + BinaryExpression 2608578 2608671 + PropertyAccessExpression 2608578 2608652 + ParenthesizedExpression 2608578 2608646 + BinaryExpression 2608580 2608645 + PropertyAccessExpression 2608580 2608628 + CallExpression 2608580 2608613 + Identifier 2608580 2608592 + PropertyAccessExpression 2608593 2608612 + Identifier 2608593 2608601 + Identifier 2608602 2608612 + Identifier 2608614 2608628 + QuestionQuestionToken 2608628 2608631 + Identifier 2608631 2608645 + Identifier 2608647 2608652 + AmpersandToken 2608652 2608654 + PropertyAccessExpression 2608654 2608671 + Identifier 2608654 2608666 + Identifier 2608667 2608671 + Block 2608672 2608964 + ExpressionStatement 2608674 2608924 + CallExpression 2608674 2608923 + Identifier 2608674 2608814 + Identifier 2608815 2608823 + PropertyAccessExpression 2608824 2608872 + Identifier 2608824 2608836 + Identifier 2608837 2608872 + ConditionalExpression 2608873 2608922 + PrefixUnaryExpression 2608873 2608903 + PrefixUnaryExpression 2608875 2608903 + PropertyAccessExpression 2608876 2608903 + ParenthesizedExpression 2608876 2608897 + AsExpression 2608877 2608896 + Identifier 2608877 2608881 + TypeReference 2608884 2608896 + Identifier 2608884 2608896 + Identifier 2608898 2608903 + QuestionToken 2608903 2608905 + StringLiteral 2608905 2608912 + ColonToken 2608912 2608914 + StringLiteral 2608914 2608922 + ReturnStatement 2608924 2608949 + VariableStatement 2608964 2609088 + VariableDeclarationList 2608964 2609087 + VariableDeclaration 2608983 2609087 + Identifier 2608983 2609008 + BinaryExpression 2609010 2609087 + CallExpression 2609010 2609047 + Identifier 2609010 2609037 + Identifier 2609038 2609046 + AmpersandAmpersandToken 2609047 2609050 + CallExpression 2609050 2609087 + Identifier 2609050 2609066 + PropertyAccessExpression 2609067 2609086 + Identifier 2609067 2609075 + Identifier 2609076 2609086 + IfStatement 2609088 2609180 + BinaryExpression 2609106 2609171 + PrefixUnaryExpression 2609106 2609143 + CallExpression 2609107 2609143 + Identifier 2609107 2609119 + Identifier 2609120 2609124 + PropertyAccessExpression 2609125 2609142 + Identifier 2609125 2609135 + Identifier 2609136 2609142 + BarBarToken 2609143 2609146 + Identifier 2609146 2609171 + ReturnStatement 2609172 2609180 + VariableStatement 2609180 2609650 + VariableDeclarationList 2609180 2609649 + VariableDeclaration 2609586 2609649 + Identifier 2609586 2609601 + CallExpression 2609603 2609649 + Identifier 2609603 2609623 + Identifier 2609624 2609628 + PropertyAccessExpression 2609629 2609648 + Identifier 2609629 2609643 + Identifier 2609644 2609648 + VariableStatement 2609650 2609714 + VariableDeclarationList 2609650 2609713 + VariableDeclaration 2609669 2609713 + Identifier 2609669 2609679 + PrefixUnaryExpression 2609681 2609713 + PrefixUnaryExpression 2609683 2609713 + CallExpression 2609684 2609713 + Identifier 2609684 2609707 + Identifier 2609708 2609712 + IfStatement 2609714 2609816 + BinaryExpression 2609732 2609773 + BinaryExpression 2609732 2609759 + PropertyAccessExpression 2609732 2609753 + Identifier 2609732 2609746 + Identifier 2609747 2609753 + EqualsEqualsEqualsToken 2609753 2609757 + NumericLiteral 2609757 2609759 + AmpersandAmpersandToken 2609759 2609762 + PrefixUnaryExpression 2609762 2609773 + Identifier 2609764 2609773 + Block 2609774 2609816 + ReturnStatement 2609776 2609801 + VariableStatement 2609816 2609986 + VariableDeclarationList 2609816 2609985 + VariableDeclaration 2609837 2609985 + Identifier 2609837 2609848 + ConditionalExpression 2609850 2609985 + CallExpression 2609850 2609873 + Identifier 2609850 2609863 + Identifier 2609864 2609872 + QuestionToken 2609873 2609875 + Identifier 2609875 2609884 + ColonToken 2609884 2609903 + ConditionalExpression 2609903 2609985 + CallExpression 2609903 2609940 + Identifier 2609903 2609930 + Identifier 2609931 2609939 + QuestionToken 2609940 2609942 + PropertyAccessExpression 2609942 2609956 + Identifier 2609942 2609951 + Identifier 2609952 2609956 + ColonToken 2609956 2609975 + Identifier 2609975 2609985 + VariableStatement 2609986 2610067 + VariableDeclarationList 2609986 2610066 + VariableDeclaration 2610005 2610066 + Identifier 2610005 2610018 + BinaryExpression 2610020 2610066 + Identifier 2610020 2610031 + AmpersandAmpersandToken 2610031 2610034 + CallExpression 2610034 2610066 + Identifier 2610034 2610054 + Identifier 2610055 2610065 + IfStatement 2610067 2610155 + BinaryExpression 2610085 2610112 + PrefixUnaryExpression 2610085 2610098 + Identifier 2610086 2610098 + AmpersandAmpersandToken 2610098 2610101 + PrefixUnaryExpression 2610101 2610112 + Identifier 2610103 2610112 + Block 2610113 2610155 + ReturnStatement 2610115 2610140 + VariableStatement 2610155 2610422 + VariableDeclarationList 2610155 2610421 + VariableDeclaration 2610176 2610421 + Identifier 2610176 2610183 + BinaryExpression 2610185 2610421 + BinaryExpression 2610185 2610307 + BinaryExpression 2610185 2610237 + Identifier 2610185 2610198 + AmpersandAmpersandToken 2610198 2610201 + CallExpression 2610201 2610237 + Identifier 2610201 2610220 + PropertyAccessExpression 2610221 2610236 + Identifier 2610221 2610229 + Identifier 2610230 2610236 + AmpersandAmpersandToken 2610237 2610240 + CallExpression 2610240 2610307 + Identifier 2610240 2610276 + PropertyAccessExpression 2610277 2610292 + Identifier 2610277 2610285 + Identifier 2610286 2610292 + Identifier 2610293 2610306 + BarBarToken 2610307 2610327 + BinaryExpression 2610327 2610421 + BinaryExpression 2610327 2610348 + Identifier 2610327 2610340 + AmpersandAmpersandToken 2610340 2610343 + Identifier 2610343 2610348 + AmpersandAmpersandToken 2610348 2610351 + CallExpression 2610351 2610421 + Identifier 2610351 2610379 + Identifier 2610380 2610388 + Identifier 2610389 2610394 + Identifier 2610395 2610406 + Identifier 2610407 2610420 + IfStatement 2610422 2611048 + PrefixUnaryExpression 2610440 2610447 + Identifier 2610441 2610447 + Block 2610448 2611048 + IfStatement 2610450 2611033 + Identifier 2610472 2610481 + Block 2610482 2610830 + ExpressionStatement 2610484 2610811 + CallExpression 2610484 2610810 + Identifier 2610484 2610531 + Identifier 2610532 2610566 + TrueKeyword 2610567 2610619 + PropertyAccessExpression 2610620 2610727 + Identifier 2610620 2610657 + Identifier 2610658 2610727 + CallExpression 2610728 2610786 + Identifier 2610728 2610780 + Identifier 2610781 2610785 + Block 2610852 2611033 + ExpressionStatement 2610854 2611014 + CallExpression 2610854 2611013 + Identifier 2610854 2610881 + Identifier 2610882 2610890 + PropertyAccessExpression 2610891 2611012 + Identifier 2610891 2610903 + Identifier 2610904 2611012 + FunctionDeclaration 2611066 2613484 + Identifier 2611082 2611110 + Parameter 2611111 2611127 + Identifier 2611111 2611115 + TypeReference 2611116 2611127 + Identifier 2611116 2611127 + Parameter 2611128 2611157 + Identifier 2611128 2611133 + UnionType 2611134 2611157 + TypeReference 2611134 2611144 + Identifier 2611134 2611144 + TypeReference 2611146 2611157 + Identifier 2611146 2611157 + Parameter 2611158 2611175 + Identifier 2611158 2611169 + TypeReference 2611170 2611175 + Identifier 2611170 2611175 + Parameter 2611176 2611197 + Identifier 2611176 2611189 + TypeReference 2611190 2611197 + Identifier 2611190 2611197 + BooleanKeyword 2611199 2611207 + Block 2611207 2613484 + ReturnStatement 2611209 2613477 + PrefixUnaryExpression 2611225 2613476 + PrefixUnaryExpression 2611227 2613476 + CallExpression 2611228 2613476 + Identifier 2611228 2611240 + Identifier 2611241 2611245 + FunctionExpression 2611246 2613475 + Identifier 2611255 2611261 + Parameter 2611262 2611271 + Identifier 2611262 2611271 + UnionType 2611273 2611293 + BooleanKeyword 2611273 2611281 + UndefinedKeyword 2611283 2611293 + Block 2611293 2613475 + IfStatement 2611295 2613412 + CallExpression 2611313 2611336 + Identifier 2611313 2611325 + Identifier 2611326 2611335 + Block 2611337 2613412 + VariableStatement 2611339 2611408 + VariableDeclarationList 2611339 2611407 + VariableDeclaration 2611362 2611407 + Identifier 2611362 2611374 + CallExpression 2611376 2611407 + Identifier 2611376 2611396 + Identifier 2611397 2611406 + IfStatement 2611408 2613397 + BinaryExpression 2611430 2611473 + Identifier 2611430 2611441 + AmpersandAmpersandToken 2611441 2611444 + BinaryExpression 2611444 2611473 + Identifier 2611444 2611456 + EqualsEqualsEqualsToken 2611456 2611460 + Identifier 2611460 2611473 + Block 2611474 2613397 + IfStatement 2611476 2611744 + BinaryExpression 2611593 2611680 + CallExpression 2611593 2611611 + Identifier 2611593 2611605 + Identifier 2611606 2611610 + BarBarToken 2611611 2611614 + BinaryExpression 2611614 2611680 + CallExpression 2611614 2611639 + Identifier 2611614 2611627 + Identifier 2611628 2611638 + AmpersandAmpersandToken 2611639 2611642 + CallExpression 2611642 2611680 + Identifier 2611642 2611661 + PropertyAccessExpression 2611662 2611679 + Identifier 2611662 2611672 + Identifier 2611673 2611679 + Block 2611681 2611744 + ReturnStatement 2611683 2611721 + TrueKeyword 2611715 2611720 + VariableStatement 2611744 2611899 + VariableDeclarationList 2611744 2611898 + VariableDeclaration 2611861 2611898 + Identifier 2611861 2611878 + PropertyAccessExpression 2611880 2611898 + Identifier 2611880 2611891 + Identifier 2611892 2611898 + VariableStatement 2611899 2611960 + VariableDeclarationList 2611899 2611959 + VariableDeclaration 2611924 2611959 + Identifier 2611924 2611940 + PropertyAccessExpression 2611942 2611959 + Identifier 2611942 2611952 + Identifier 2611953 2611959 + WhileStatement 2611960 2613378 + BinaryExpression 2611989 2612024 + Identifier 2611989 2612005 + AmpersandAmpersandToken 2612005 2612008 + Identifier 2612008 2612024 + Block 2612025 2613378 + IfStatement 2612027 2613355 + BinaryExpression 2612057 2612282 + BinaryExpression 2612057 2612150 + CallExpression 2612057 2612117 + Identifier 2612057 2612099 + Identifier 2612100 2612116 + AmpersandAmpersandToken 2612117 2612120 + CallExpression 2612120 2612150 + Identifier 2612120 2612133 + Identifier 2612134 2612149 + BarBarToken 2612150 2612153 + BinaryExpression 2612153 2612282 + BinaryExpression 2612153 2612231 + PropertyAccessExpression 2612153 2612204 + Identifier 2612153 2612199 + Identifier 2612200 2612204 + EqualsEqualsEqualsToken 2612204 2612208 + PropertyAccessExpression 2612208 2612231 + Identifier 2612208 2612219 + Identifier 2612220 2612231 + AmpersandAmpersandToken 2612231 2612234 + BinaryExpression 2612234 2612282 + PropertyAccessExpression 2612234 2612255 + Identifier 2612234 2612250 + Identifier 2612251 2612255 + EqualsEqualsEqualsToken 2612255 2612259 + PropertyAccessExpression 2612259 2612282 + Identifier 2612259 2612270 + Identifier 2612271 2612282 + Block 2612309 2612454 + ReturnStatement 2612311 2612427 + BinaryExpression 2612347 2612426 + CallExpression 2612347 2612385 + Identifier 2612347 2612367 + Identifier 2612368 2612384 + EqualsEqualsEqualsToken 2612385 2612389 + CallExpression 2612389 2612426 + Identifier 2612389 2612409 + Identifier 2612410 2612425 + IfStatement 2612484 2613355 + BinaryExpression 2612489 2612580 + CallExpression 2612489 2612533 + Identifier 2612489 2612515 + Identifier 2612516 2612532 + AmpersandAmpersandToken 2612533 2612536 + CallExpression 2612536 2612580 + Identifier 2612536 2612563 + Identifier 2612564 2612579 + Block 2612581 2612965 + IfStatement 2612583 2612786 + BinaryExpression 2612617 2612705 + CallExpression 2612617 2612659 + Identifier 2612617 2612636 + PropertyAccessExpression 2612637 2612658 + Identifier 2612637 2612653 + Identifier 2612654 2612658 + ExclamationEqualsEqualsToken 2612659 2612663 + CallExpression 2612663 2612705 + Identifier 2612663 2612683 + PropertyAccessExpression 2612684 2612704 + Identifier 2612684 2612699 + Identifier 2612700 2612704 + Block 2612706 2612786 + ReturnStatement 2612708 2612755 + FalseKeyword 2612748 2612754 + ExpressionStatement 2612786 2612861 + BinaryExpression 2612786 2612860 + Identifier 2612786 2612831 + EqualsToken 2612831 2612833 + PropertyAccessExpression 2612833 2612860 + Identifier 2612833 2612849 + Identifier 2612850 2612860 + ExpressionStatement 2612861 2612938 + BinaryExpression 2612861 2612937 + Identifier 2612861 2612907 + EqualsToken 2612907 2612909 + PropertyAccessExpression 2612909 2612937 + Identifier 2612909 2612926 + Identifier 2612927 2612937 + IfStatement 2612995 2613355 + BinaryExpression 2613000 2613071 + CallExpression 2613000 2613034 + Identifier 2613000 2613016 + Identifier 2613017 2613033 + AmpersandAmpersandToken 2613034 2613037 + CallExpression 2613037 2613071 + Identifier 2613037 2613054 + Identifier 2613055 2613070 + Block 2613072 2613253 + ExpressionStatement 2613074 2613149 + BinaryExpression 2613074 2613148 + Identifier 2613074 2613119 + EqualsToken 2613119 2613121 + PropertyAccessExpression 2613121 2613148 + Identifier 2613121 2613137 + Identifier 2613138 2613148 + ExpressionStatement 2613149 2613226 + BinaryExpression 2613149 2613225 + Identifier 2613149 2613195 + EqualsToken 2613195 2613197 + PropertyAccessExpression 2613197 2613225 + Identifier 2613197 2613214 + Identifier 2613215 2613225 + Block 2613283 2613355 + ReturnStatement 2613285 2613328 + FalseKeyword 2613321 2613327 + ReturnStatement 2613412 2613464 + CallExpression 2613432 2613463 + Identifier 2613432 2613445 + Identifier 2613446 2613455 + Identifier 2613456 2613462 + FunctionDeclaration 2613484 2614254 + Identifier 2613500 2613536 + Parameter 2613537 2613547 + Identifier 2613537 2613541 + TypeReference 2613542 2613547 + Identifier 2613542 2613547 + Parameter 2613548 2613569 + Identifier 2613548 2613561 + TypeReference 2613562 2613569 + Identifier 2613562 2613569 + BooleanKeyword 2613571 2613579 + Block 2613579 2614254 + WhileStatement 2613581 2614224 + BinaryExpression 2613598 2613688 + CallExpression 2613598 2613622 + Identifier 2613598 2613616 + Identifier 2613617 2613621 + AmpersandAmpersandToken 2613622 2613625 + BinaryExpression 2613625 2613688 + PropertyAccessExpression 2613625 2613649 + PropertyAccessExpression 2613625 2613644 + Identifier 2613625 2613630 + Identifier 2613631 2613644 + Identifier 2613645 2613649 + EqualsEqualsEqualsToken 2613649 2613653 + PropertyAccessExpression 2613653 2613688 + Identifier 2613653 2613664 + Identifier 2613665 2613688 + Block 2613689 2614224 + VariableStatement 2613691 2614108 + VariableDeclarationList 2613691 2614107 + VariableDeclaration 2613710 2614107 + Identifier 2613710 2613717 + CallExpression 2613719 2614107 + Identifier 2613719 2613732 + PropertyAccessExpression 2613733 2613743 + Identifier 2613733 2613737 + Identifier 2613738 2613743 + FunctionExpression 2613744 2614106 + Identifier 2613753 2613759 + Parameter 2613760 2613765 + Identifier 2613760 2613765 + UnionType 2613767 2613787 + BooleanKeyword 2613767 2613775 + UndefinedKeyword 2613777 2613787 + Block 2613787 2614106 + IfStatement 2613789 2614039 + CallExpression 2613811 2613830 + Identifier 2613811 2613823 + Identifier 2613824 2613829 + Block 2613831 2614039 + VariableStatement 2613833 2613897 + VariableDeclarationList 2613833 2613896 + VariableDeclaration 2613860 2613896 + Identifier 2613860 2613867 + CallExpression 2613869 2613896 + Identifier 2613869 2613889 + Identifier 2613890 2613895 + IfStatement 2613897 2614020 + BinaryExpression 2613923 2613956 + Identifier 2613923 2613929 + AmpersandAmpersandToken 2613929 2613932 + BinaryExpression 2613932 2613956 + Identifier 2613932 2613939 + EqualsEqualsEqualsToken 2613939 2613943 + Identifier 2613943 2613956 + Block 2613957 2614020 + ReturnStatement 2613959 2613997 + TrueKeyword 2613991 2613996 + ReturnStatement 2614039 2614091 + CallExpression 2614063 2614090 + Identifier 2614063 2614076 + Identifier 2614077 2614082 + Identifier 2614083 2614089 + IfStatement 2614108 2614180 + Identifier 2614126 2614132 + Block 2614133 2614180 + ReturnStatement 2614135 2614165 + TrueKeyword 2614159 2614164 + ExpressionStatement 2614180 2614213 + BinaryExpression 2614180 2614212 + Identifier 2614180 2614198 + EqualsToken 2614198 2614200 + PropertyAccessExpression 2614200 2614212 + Identifier 2614200 2614205 + Identifier 2614206 2614212 + ReturnStatement 2614224 2614247 + FalseKeyword 2614240 2614246 + FunctionDeclaration 2614254 2614498 + Identifier 2614270 2614287 + Parameter 2614288 2614305 + Identifier 2614288 2614292 + TypeReference 2614293 2614305 + Identifier 2614293 2614305 + Block 2614306 2614498 + ExpressionStatement 2614308 2614391 + CallExpression 2614308 2614390 + Identifier 2614308 2614384 + Identifier 2614385 2614389 + ExpressionStatement 2614391 2614438 + CallExpression 2614391 2614437 + Identifier 2614391 2614421 + PropertyAccessExpression 2614422 2614436 + Identifier 2614422 2614426 + Identifier 2614427 2614436 + ExpressionStatement 2614438 2614491 + CallExpression 2614438 2614490 + Identifier 2614438 2614473 + PropertyAccessExpression 2614474 2614489 + Identifier 2614474 2614478 + Identifier 2614479 2614489 + FunctionDeclaration 2614498 2614748 + Identifier 2614514 2614534 + Parameter 2614535 2614555 + Identifier 2614535 2614539 + TypeReference 2614540 2614555 + Identifier 2614540 2614555 + Block 2614556 2614748 + ExpressionStatement 2614558 2614641 + CallExpression 2614558 2614640 + Identifier 2614558 2614634 + Identifier 2614635 2614639 + ExpressionStatement 2614641 2614696 + CallExpression 2614641 2614695 + Identifier 2614641 2614678 + PropertyAccessExpression 2614679 2614694 + Identifier 2614679 2614683 + Identifier 2614684 2614694 + ExpressionStatement 2614696 2614741 + CallExpression 2614696 2614740 + Identifier 2614696 2614724 + PropertyAccessExpression 2614725 2614739 + Identifier 2614725 2614729 + Identifier 2614730 2614739 + FunctionDeclaration 2614748 2615459 + Identifier 2614764 2614786 + Parameter 2614787 2614797 + Identifier 2614787 2614791 + TypeReference 2614792 2614797 + Identifier 2614792 2614797 + Parameter 2614798 2614809 + Identifier 2614798 2614803 + TypeReference 2614804 2614809 + Identifier 2614804 2614809 + Block 2614810 2615459 + IfStatement 2614812 2615428 + BinaryExpression 2614826 2614853 + PropertyAccessExpression 2614826 2614836 + Identifier 2614826 2614830 + Identifier 2614831 2614836 + AmpersandToken 2614836 2614838 + PropertyAccessExpression 2614838 2614853 + Identifier 2614838 2614848 + Identifier 2614849 2614853 + Block 2614854 2614965 + ExpressionStatement 2614856 2614954 + CallExpression 2614856 2614953 + Identifier 2614856 2614875 + Identifier 2614876 2614880 + PropertyAccessExpression 2614881 2614952 + Identifier 2614881 2614893 + Identifier 2614894 2614952 + Block 2614979 2615428 + VariableStatement 2614981 2615047 + VariableDeclarationList 2614981 2615046 + VariableDeclaration 2615000 2615046 + Identifier 2615000 2615010 + CallExpression 2615012 2615046 + Identifier 2615012 2615040 + Identifier 2615041 2615045 + IfStatement 2615047 2615417 + BinaryExpression 2615065 2615107 + Identifier 2615065 2615074 + ExclamationEqualsEqualsToken 2615074 2615078 + PropertyAccessExpression 2615078 2615107 + Identifier 2615078 2615097 + Identifier 2615098 2615107 + Block 2615108 2615417 + ExpressionStatement 2615110 2615402 + CallExpression 2615110 2615401 + Identifier 2615110 2615133 + Identifier 2615134 2615160 + ConditionalExpression 2615161 2615381 + BinaryExpression 2615161 2615222 + Identifier 2615161 2615192 + EqualsEqualsEqualsToken 2615192 2615196 + PropertyAccessExpression 2615196 2615222 + Identifier 2615196 2615215 + Identifier 2615216 2615222 + QuestionToken 2615222 2615224 + PropertyAccessExpression 2615224 2615302 + Identifier 2615224 2615261 + Identifier 2615262 2615302 + ColonToken 2615302 2615304 + PropertyAccessExpression 2615304 2615381 + Identifier 2615304 2615341 + Identifier 2615342 2615381 + ReturnStatement 2615428 2615452 + Identifier 2615446 2615451 + FunctionDeclaration 2615459 2617345 + Identifier 2615475 2615503 + Parameter 2615504 2615514 + Identifier 2615504 2615508 + TypeReference 2615509 2615514 + Identifier 2615509 2615514 + TypeReference 2615516 2615535 + Identifier 2615516 2615535 + Block 2615535 2617345 + ExpressionStatement 2615537 2615581 + BinaryExpression 2615537 2615580 + Identifier 2615537 2615551 + EqualsToken 2615551 2615553 + CallExpression 2615553 2615580 + Identifier 2615553 2615574 + Identifier 2615575 2615579 + SwitchStatement 2615581 2617292 + PropertyAccessExpression 2615599 2615608 + Identifier 2615599 2615603 + Identifier 2615604 2615608 + CaseBlock 2615609 2617292 + CaseClause 2615611 2615938 + PropertyAccessExpression 2615629 2615655 + Identifier 2615629 2615640 + Identifier 2615641 2615655 + IfStatement 2615656 2615887 + BinaryExpression 2615729 2615807 + BinaryExpression 2615729 2615766 + PropertyAccessExpression 2615729 2615758 + ParenthesizedExpression 2615729 2615753 + AsExpression 2615730 2615752 + Identifier 2615730 2615734 + TypeReference 2615737 2615752 + Identifier 2615737 2615752 + Identifier 2615754 2615758 + EqualsEqualsEqualsToken 2615758 2615762 + StringLiteral 2615762 2615766 + BarBarToken 2615766 2615769 + BinaryExpression 2615769 2615807 + PropertyAccessExpression 2615769 2615799 + ParenthesizedExpression 2615769 2615794 + AsExpression 2615771 2615793 + Identifier 2615771 2615775 + TypeReference 2615778 2615793 + Identifier 2615778 2615793 + Identifier 2615795 2615799 + EqualsEqualsEqualsToken 2615799 2615803 + StringLiteral 2615803 2615807 + Block 2615808 2615887 + ReturnStatement 2615810 2615868 + PropertyAccessExpression 2615838 2615867 + Identifier 2615838 2615857 + Identifier 2615858 2615867 + ReturnStatement 2615887 2615938 + PropertyAccessExpression 2615911 2615937 + Identifier 2615911 2615930 + Identifier 2615931 2615937 + CaseClause 2615938 2615991 + PropertyAccessExpression 2615956 2615990 + Identifier 2615956 2615967 + Identifier 2615968 2615990 + CaseClause 2615991 2616035 + PropertyAccessExpression 2616009 2616034 + Identifier 2616009 2616020 + Identifier 2616021 2616034 + CaseClause 2616035 2616079 + PropertyAccessExpression 2616053 2616078 + Identifier 2616053 2616064 + Identifier 2616065 2616078 + CaseClause 2616079 2616125 + PropertyAccessExpression 2616097 2616124 + Identifier 2616097 2616108 + Identifier 2616109 2616124 + CaseClause 2616125 2616174 + PropertyAccessExpression 2616143 2616173 + Identifier 2616143 2616154 + Identifier 2616155 2616173 + CaseClause 2616174 2616215 + PropertyAccessExpression 2616192 2616214 + Identifier 2616192 2616203 + Identifier 2616204 2616214 + CaseClause 2616215 2616267 + PropertyAccessExpression 2616233 2616266 + Identifier 2616233 2616244 + Identifier 2616245 2616266 + CaseClause 2616267 2616321 + PropertyAccessExpression 2616285 2616320 + Identifier 2616285 2616296 + Identifier 2616297 2616320 + CaseClause 2616321 2616427 + PropertyAccessExpression 2616339 2616375 + Identifier 2616339 2616350 + Identifier 2616351 2616375 + ReturnStatement 2616376 2616427 + PropertyAccessExpression 2616400 2616426 + Identifier 2616400 2616419 + Identifier 2616420 2616426 + CaseClause 2616427 2616472 + PropertyAccessExpression 2616445 2616471 + Identifier 2616445 2616456 + Identifier 2616457 2616471 + CaseClause 2616472 2616564 + PropertyAccessExpression 2616490 2616513 + Identifier 2616490 2616501 + Identifier 2616502 2616513 + ReturnStatement 2616514 2616564 + PropertyAccessExpression 2616538 2616563 + Identifier 2616538 2616557 + Identifier 2616558 2616563 + CaseClause 2616564 2616624 + PropertyAccessExpression 2616582 2616623 + Identifier 2616582 2616593 + Identifier 2616594 2616623 + CaseClause 2616624 2616811 + PropertyAccessExpression 2616642 2616667 + Identifier 2616642 2616653 + Identifier 2616654 2616667 + ReturnStatement 2616668 2616811 + ConditionalExpression 2616692 2616810 + PrefixUnaryExpression 2616692 2616755 + PrefixUnaryExpression 2616694 2616755 + PropertyAccessExpression 2616695 2616755 + ParenthesizedExpression 2616695 2616750 + AsExpression 2616696 2616749 + Identifier 2616696 2616700 + UnionType 2616703 2616749 + TypeReference 2616703 2616717 + Identifier 2616703 2616717 + TypeReference 2616719 2616749 + Identifier 2616719 2616749 + Identifier 2616751 2616755 + QuestionToken 2616755 2616757 + PropertyAccessExpression 2616757 2616783 + Identifier 2616757 2616776 + Identifier 2616777 2616783 + ColonToken 2616783 2616785 + PropertyAccessExpression 2616785 2616810 + Identifier 2616785 2616804 + Identifier 2616805 2616810 + CaseClause 2616811 2617031 + PropertyAccessExpression 2616829 2616862 + Identifier 2616829 2616840 + Identifier 2616841 2616862 + ReturnStatement 2616863 2617031 + BinaryExpression 2616887 2617030 + CallExpression 2616887 2616957 + Identifier 2616887 2616915 + PropertyAccessExpression 2616916 2616956 + ParenthesizedExpression 2616916 2616947 + AsExpression 2616917 2616946 + Identifier 2616917 2616921 + TypeReference 2616924 2616946 + Identifier 2616924 2616946 + Identifier 2616948 2616956 + BarToken 2616957 2616959 + CallExpression 2616959 2617030 + Identifier 2616959 2616987 + PropertyAccessExpression 2616988 2617029 + ParenthesizedExpression 2616988 2617019 + AsExpression 2616989 2617018 + Identifier 2616989 2616993 + TypeReference 2616996 2617018 + Identifier 2616996 2617018 + Identifier 2617020 2617029 + CaseClause 2617031 2617281 + PropertyAccessExpression 2617049 2617071 + Identifier 2617049 2617060 + Identifier 2617061 2617071 + IfStatement 2617072 2617227 + BinaryExpression 2617094 2617151 + CallExpression 2617094 2617131 + Identifier 2617094 2617111 + AsExpression 2617112 2617130 + Identifier 2617112 2617116 + TypeReference 2617119 2617130 + Identifier 2617119 2617130 + EqualsEqualsEqualsToken 2617131 2617135 + Identifier 2617135 2617151 + Block 2617152 2617227 + ReturnStatement 2617154 2617208 + PropertyAccessExpression 2617182 2617207 + Identifier 2617182 2617201 + Identifier 2617202 2617207 + ReturnStatement 2617227 2617281 + PropertyAccessExpression 2617251 2617280 + Identifier 2617251 2617270 + Identifier 2617271 2617280 + ReturnStatement 2617292 2617338 + PropertyAccessExpression 2617308 2617337 + Identifier 2617308 2617327 + Identifier 2617328 2617337 + FunctionDeclaration 2617345 2617516 + Identifier 2617361 2617387 + Parameter 2617388 2617404 + Identifier 2617388 2617392 + TypeReference 2617393 2617404 + Identifier 2617393 2617404 + Parameter 2617405 2617427 + Identifier 2617405 2617415 + QuestionToken 2617415 2617416 + TypeReference 2617417 2617427 + Identifier 2617417 2617427 + Block 2617428 2617516 + ReturnStatement 2617430 2617509 + CallExpression 2617446 2617508 + Identifier 2617446 2617468 + CallExpression 2617469 2617501 + Identifier 2617469 2617484 + Identifier 2617485 2617489 + Identifier 2617490 2617500 + Identifier 2617502 2617507 + FunctionDeclaration 2617516 2618494 + Identifier 2617532 2617550 + Parameter 2617551 2617569 + Identifier 2617551 2617555 + TypeReference 2617556 2617569 + Identifier 2617556 2617569 + Block 2617570 2618494 + IfStatement 2617572 2617888 + PrefixUnaryExpression 2617615 2617659 + CallExpression 2617616 2617659 + Identifier 2617616 2617653 + Identifier 2617654 2617658 + Block 2617660 2617888 + IfStatement 2617662 2617877 + BinaryExpression 2617680 2617760 + PropertyAccessExpression 2617680 2617696 + Identifier 2617680 2617684 + Identifier 2617685 2617696 + AmpersandAmpersandToken 2617696 2617699 + BinaryExpression 2617699 2617760 + PropertyAccessExpression 2617699 2617721 + PropertyAccessExpression 2617699 2617716 + Identifier 2617699 2617704 + Identifier 2617705 2617716 + Identifier 2617717 2617721 + EqualsEqualsEqualsToken 2617721 2617725 + PropertyAccessExpression 2617725 2617760 + Identifier 2617725 2617736 + Identifier 2617737 2617760 + Block 2617761 2617877 + ExpressionStatement 2617763 2617862 + CallExpression 2617763 2617861 + Identifier 2617763 2617816 + AsExpression 2617817 2617860 + PropertyAccessExpression 2617817 2617833 + Identifier 2617817 2617821 + Identifier 2617822 2617833 + TypeReference 2617836 2617860 + Identifier 2617836 2617860 + IfStatement 2617888 2618209 + PropertyAccessExpression 2617904 2617920 + Identifier 2617904 2617908 + Identifier 2617909 2617920 + Block 2617921 2618209 + IfStatement 2617923 2618198 + BinaryExpression 2617941 2618001 + PropertyAccessExpression 2617941 2617962 + PropertyAccessExpression 2617941 2617957 + Identifier 2617941 2617945 + Identifier 2617946 2617957 + Identifier 2617958 2617962 + EqualsEqualsEqualsToken 2617962 2617966 + PropertyAccessExpression 2617966 2618001 + Identifier 2617966 2617977 + Identifier 2617978 2618001 + Block 2618002 2618111 + ExpressionStatement 2618004 2618096 + CallExpression 2618004 2618095 + Identifier 2618004 2618050 + AsExpression 2618051 2618094 + PropertyAccessExpression 2618051 2618067 + Identifier 2618051 2618055 + Identifier 2618056 2618067 + TypeReference 2618070 2618094 + Identifier 2618070 2618094 + Block 2618129 2618198 + ExpressionStatement 2618131 2618183 + CallExpression 2618131 2618182 + Identifier 2618131 2618164 + PropertyAccessExpression 2618165 2618181 + Identifier 2618165 2618169 + Identifier 2618170 2618181 + IfStatement 2618209 2618283 + PropertyAccessExpression 2618225 2618239 + Identifier 2618225 2618229 + Identifier 2618230 2618239 + ExpressionStatement 2618240 2618283 + CallExpression 2618240 2618282 + Identifier 2618240 2618266 + PropertyAccessExpression 2618267 2618281 + Identifier 2618267 2618271 + Identifier 2618272 2618281 + IfStatement 2618283 2618349 + PropertyAccessExpression 2618297 2618313 + Identifier 2618297 2618301 + Identifier 2618302 2618313 + ExpressionStatement 2618314 2618349 + CallExpression 2618314 2618348 + Identifier 2618314 2618330 + PropertyAccessExpression 2618331 2618347 + Identifier 2618331 2618335 + Identifier 2618336 2618347 + ExpressionStatement 2618349 2618394 + CallExpression 2618349 2618393 + Identifier 2618349 2618377 + PropertyAccessExpression 2618378 2618392 + Identifier 2618378 2618382 + Identifier 2618383 2618392 + IfStatement 2618394 2618487 + PropertyAccessExpression 2618408 2618419 + Identifier 2618408 2618412 + Identifier 2618413 2618419 + Block 2618420 2618487 + ExpressionStatement 2618422 2618476 + CallExpression 2618422 2618475 + Identifier 2618422 2618469 + Identifier 2618470 2618474 + FunctionDeclaration 2618494 2622167 + Identifier 2618510 2618530 + Parameter 2618531 2618551 + Identifier 2618531 2618535 + TypeReference 2618536 2618551 + Identifier 2618536 2618551 + VoidKeyword 2618553 2618558 + Block 2618558 2622167 + ExpressionStatement 2618560 2618610 + CallExpression 2618560 2618609 + Identifier 2618560 2618603 + Identifier 2618604 2618608 + VariableStatement 2618610 2618686 + VariableDeclarationList 2618610 2618685 + VariableDeclaration 2618627 2618685 + Identifier 2618627 2618637 + CallExpression 2618639 2618685 + Identifier 2618639 2618679 + Identifier 2618680 2618684 + IfStatement 2618686 2619783 + PropertyAccessExpression 2618700 2618718 + Identifier 2618700 2618704 + Identifier 2618705 2618718 + Block 2618719 2619476 + IfStatement 2618721 2619465 + BinaryExpression 2618739 2618792 + Identifier 2618739 2618748 + AmpersandAmpersandToken 2618748 2618751 + CallExpression 2618751 2618792 + Identifier 2618751 2618781 + Identifier 2618782 2618791 + Block 2618793 2618939 + ExpressionStatement 2618795 2618924 + CallExpression 2618795 2618923 + Identifier 2618795 2618831 + PropertyAccessExpression 2618832 2618850 + Identifier 2618832 2618836 + Identifier 2618837 2618850 + PropertyAccessExpression 2618851 2618922 + Identifier 2618851 2618863 + Identifier 2618864 2618922 + Block 2618957 2619465 + VariableStatement 2618959 2619027 + VariableDeclarationList 2618959 2619026 + VariableDeclaration 2618982 2619026 + Identifier 2618982 2618996 + CallExpression 2618998 2619026 + Identifier 2618998 2619015 + Identifier 2619016 2619025 + IfStatement 2619027 2619450 + BinaryExpression 2619049 2619197 + BinaryExpression 2619049 2619136 + ParenthesizedExpression 2619049 2619112 + BinaryExpression 2619050 2619111 + Identifier 2619050 2619063 + AmpersandToken 2619063 2619065 + ParenthesizedExpression 2619065 2619111 + BinaryExpression 2619067 2619110 + PropertyAccessExpression 2619067 2619088 + Identifier 2619067 2619080 + Identifier 2619081 2619088 + BarToken 2619088 2619090 + PropertyAccessExpression 2619090 2619110 + Identifier 2619090 2619104 + Identifier 2619105 2619110 + EqualsEqualsEqualsToken 2619112 2619116 + PropertyAccessExpression 2619116 2619136 + Identifier 2619116 2619130 + Identifier 2619131 2619136 + AmpersandAmpersandToken 2619136 2619139 + BinaryExpression 2619139 2619197 + Identifier 2619139 2619155 + LessThanToken 2619155 2619157 + PropertyAccessExpression 2619157 2619197 + Identifier 2619157 2619186 + Identifier 2619187 2619197 + Block 2619198 2619450 + ExpressionStatement 2619200 2619431 + CallExpression 2619200 2619430 + Identifier 2619200 2619384 + Identifier 2619385 2619389 + PropertyAccessExpression 2619390 2619429 + Identifier 2619390 2619410 + Identifier 2619411 2619429 + IfStatement 2619490 2619783 + BinaryExpression 2619495 2619585 + PropertyAccessExpression 2619495 2619529 + Identifier 2619495 2619510 + Identifier 2619511 2619529 + AmpersandAmpersandToken 2619529 2619532 + BinaryExpression 2619532 2619585 + Identifier 2619532 2619548 + LessThanToken 2619548 2619550 + PropertyAccessExpression 2619550 2619585 + Identifier 2619550 2619579 + Identifier 2619580 2619585 + Block 2619586 2619783 + ExpressionStatement 2619588 2619772 + CallExpression 2619588 2619771 + Identifier 2619588 2619730 + Identifier 2619731 2619735 + PropertyAccessExpression 2619736 2619770 + Identifier 2619736 2619756 + Identifier 2619757 2619770 + IfStatement 2619783 2622020 + BinaryExpression 2620153 2620213 + PropertyAccessExpression 2620153 2620174 + PropertyAccessExpression 2620153 2620169 + Identifier 2620153 2620157 + Identifier 2620158 2620169 + Identifier 2620170 2620174 + EqualsEqualsEqualsToken 2620174 2620178 + PropertyAccessExpression 2620178 2620213 + Identifier 2620178 2620189 + Identifier 2620190 2620213 + Block 2620214 2620315 + ExpressionStatement 2620216 2620304 + CallExpression 2620216 2620303 + Identifier 2620216 2620258 + AsExpression 2620259 2620302 + PropertyAccessExpression 2620259 2620275 + Identifier 2620259 2620263 + Identifier 2620264 2620275 + TypeReference 2620278 2620302 + Identifier 2620278 2620302 + Block 2620329 2622020 + VariableStatement 2620331 2620378 + VariableDeclarationList 2620331 2620377 + VariableDeclaration 2620350 2620377 + Identifier 2620350 2620358 + PropertyAccessExpression 2620360 2620377 + Identifier 2620360 2620365 + Identifier 2620366 2620377 + VariableStatement 2620378 2620445 + VariableDeclarationList 2620378 2620444 + VariableDeclaration 2620397 2620444 + Identifier 2620397 2620410 + CallExpression 2620412 2620444 + Identifier 2620412 2620438 + Identifier 2620439 2620443 + IfStatement 2620445 2622009 + BinaryExpression 2620538 2620643 + BinaryExpression 2620538 2620588 + PropertyAccessExpression 2620538 2620550 + Identifier 2620538 2620545 + Identifier 2620546 2620550 + EqualsEqualsEqualsToken 2620550 2620554 + PropertyAccessExpression 2620554 2620588 + Identifier 2620554 2620565 + Identifier 2620566 2620588 + BarBarToken 2620588 2620591 + BinaryExpression 2620591 2620643 + PropertyAccessExpression 2620591 2620604 + Identifier 2620591 2620599 + Identifier 2620600 2620604 + EqualsEqualsEqualsToken 2620604 2620608 + PropertyAccessExpression 2620608 2620643 + Identifier 2620608 2620619 + Identifier 2620620 2620643 + Block 2620644 2621068 + ExpressionStatement 2620646 2621053 + CallExpression 2620646 2621052 + Identifier 2620646 2621016 + Identifier 2621017 2621024 + BinaryExpression 2621025 2621051 + Identifier 2621025 2621038 + BarBarToken 2621038 2621041 + Identifier 2621041 2621051 + Block 2621086 2622009 + VariableStatement 2621088 2621148 + VariableDeclarationList 2621088 2621147 + VariableDeclaration 2621111 2621147 + Identifier 2621111 2621120 + CallExpression 2621122 2621147 + Identifier 2621122 2621138 + Identifier 2621139 2621146 + ExpressionStatement 2621148 2621470 + CallExpression 2621148 2621469 + Identifier 2621148 2621190 + Identifier 2621191 2621220 + PropertyAccessExpression 2621221 2621335 + Identifier 2621221 2621254 + Identifier 2621255 2621335 + PropertyAccessExpression 2621336 2621449 + Identifier 2621336 2621369 + Identifier 2621370 2621449 + IfStatement 2621470 2621994 + Identifier 2621844 2621856 + Block 2621857 2621994 + ExpressionStatement 2621859 2621975 + CallExpression 2621859 2621974 + Identifier 2621859 2621924 + Identifier 2621925 2621937 + Identifier 2621938 2621947 + Identifier 2621948 2621956 + PropertyAccessExpression 2621957 2621973 + Identifier 2621957 2621962 + Identifier 2621963 2621973 + ExpressionStatement 2622020 2622067 + CallExpression 2622020 2622066 + Identifier 2622020 2622050 + PropertyAccessExpression 2622051 2622065 + Identifier 2622051 2622055 + Identifier 2622056 2622065 + IfStatement 2622067 2622160 + PropertyAccessExpression 2622081 2622092 + Identifier 2622081 2622085 + Identifier 2622086 2622092 + Block 2622093 2622160 + ExpressionStatement 2622095 2622149 + CallExpression 2622095 2622148 + Identifier 2622095 2622142 + Identifier 2622143 2622147 + FunctionDeclaration 2622167 2625291 + Identifier 2622183 2622203 + Parameter 2622204 2622224 + Identifier 2622204 2622208 + TypeReference 2622209 2622224 + Identifier 2622209 2622224 + Block 2622225 2625291 + ExpressionStatement 2622227 2622306 + CallExpression 2622227 2622305 + Identifier 2622227 2622299 + Identifier 2622300 2622304 + VariableStatement 2622306 2622397 + VariableDeclarationList 2622306 2622396 + VariableDeclaration 2622323 2622396 + Identifier 2622323 2622333 + CallExpression 2622335 2622396 + Identifier 2622335 2622362 + CallExpression 2622363 2622395 + Identifier 2622363 2622378 + PropertyAccessExpression 2622379 2622394 + Identifier 2622379 2622383 + Identifier 2622384 2622394 + IfStatement 2622397 2624600 + BinaryExpression 2622774 2622834 + PropertyAccessExpression 2622774 2622795 + PropertyAccessExpression 2622774 2622790 + Identifier 2622774 2622778 + Identifier 2622779 2622790 + Identifier 2622791 2622795 + EqualsEqualsEqualsToken 2622795 2622799 + PropertyAccessExpression 2622799 2622834 + Identifier 2622799 2622810 + Identifier 2622811 2622834 + Block 2622835 2623235 + VariableStatement 2622837 2622930 + VariableDeclarationList 2622837 2622929 + VariableDeclaration 2622856 2622929 + Identifier 2622856 2622865 + ElementAccessExpression 2622867 2622929 + PropertyAccessExpression 2622867 2622926 + ParenthesizedExpression 2622867 2622913 + AsExpression 2622869 2622912 + PropertyAccessExpression 2622869 2622885 + Identifier 2622869 2622873 + Identifier 2622874 2622885 + TypeReference 2622888 2622912 + Identifier 2622888 2622912 + Identifier 2622914 2622926 + NumericLiteral 2622927 2622928 + IfStatement 2622930 2623136 + BinaryExpression 2622948 2622991 + Identifier 2622948 2622956 + AmpersandAmpersandToken 2622956 2622959 + CallExpression 2622959 2622991 + Identifier 2622959 2622976 + PropertyAccessExpression 2622977 2622990 + Identifier 2622977 2622985 + Identifier 2622986 2622990 + Block 2622992 2623136 + ExpressionStatement 2622994 2623121 + CallExpression 2622994 2623120 + Identifier 2622994 2623017 + PropertyAccessExpression 2623018 2623031 + Identifier 2623018 2623026 + Identifier 2623027 2623031 + PropertyAccessExpression 2623032 2623119 + Identifier 2623032 2623044 + Identifier 2623045 2623119 + ExpressionStatement 2623136 2623224 + CallExpression 2623136 2623223 + Identifier 2623136 2623178 + AsExpression 2623179 2623222 + PropertyAccessExpression 2623179 2623195 + Identifier 2623179 2623183 + Identifier 2623184 2623195 + TypeReference 2623198 2623222 + Identifier 2623198 2623222 + Block 2623249 2624600 + VariableStatement 2623251 2623610 + VariableDeclarationList 2623251 2623609 + VariableDeclaration 2623582 2623609 + Identifier 2623582 2623590 + PropertyAccessExpression 2623592 2623609 + Identifier 2623592 2623597 + Identifier 2623598 2623609 + VariableStatement 2623610 2623666 + VariableDeclarationList 2623610 2623665 + VariableDeclaration 2623629 2623665 + Identifier 2623629 2623638 + CallExpression 2623640 2623665 + Identifier 2623640 2623656 + Identifier 2623657 2623664 + IfStatement 2623666 2624589 + BinaryExpression 2623684 2623789 + BinaryExpression 2623684 2623734 + PropertyAccessExpression 2623684 2623696 + Identifier 2623684 2623691 + Identifier 2623692 2623696 + EqualsEqualsEqualsToken 2623696 2623700 + PropertyAccessExpression 2623700 2623734 + Identifier 2623700 2623711 + Identifier 2623712 2623734 + BarBarToken 2623734 2623737 + BinaryExpression 2623737 2623789 + PropertyAccessExpression 2623737 2623750 + Identifier 2623737 2623745 + Identifier 2623746 2623750 + EqualsEqualsEqualsToken 2623750 2623754 + PropertyAccessExpression 2623754 2623789 + Identifier 2623754 2623765 + Identifier 2623766 2623789 + Block 2623790 2623928 + ExpressionStatement 2623792 2623913 + CallExpression 2623792 2623912 + Identifier 2623792 2623815 + Identifier 2623816 2623823 + PropertyAccessExpression 2623824 2623911 + Identifier 2623824 2623836 + Identifier 2623837 2623911 + IfStatement 2623946 2624589 + PrefixUnaryExpression 2623951 2624013 + CallExpression 2623952 2624013 + Identifier 2623952 2623970 + CallExpression 2623971 2624002 + Identifier 2623971 2623991 + Identifier 2623992 2624001 + Identifier 2624003 2624012 + Block 2624014 2624148 + ExpressionStatement 2624016 2624133 + CallExpression 2624016 2624132 + Identifier 2624016 2624039 + Identifier 2624040 2624047 + PropertyAccessExpression 2624048 2624131 + Identifier 2624048 2624060 + Identifier 2624061 2624131 + Block 2624166 2624589 + ExpressionStatement 2624168 2624574 + CallExpression 2624168 2624573 + Identifier 2624168 2624294 + Identifier 2624295 2624324 + PropertyAccessExpression 2624325 2624439 + Identifier 2624325 2624358 + Identifier 2624359 2624439 + PropertyAccessExpression 2624440 2624553 + Identifier 2624440 2624473 + Identifier 2624474 2624553 + IfStatement 2624600 2625144 + BinaryExpression 2624816 2624938 + BinaryExpression 2624816 2624839 + Identifier 2624816 2624825 + EqualsEqualsEqualsToken 2624825 2624829 + Identifier 2624829 2624839 + BarBarToken 2624839 2624842 + PrefixUnaryExpression 2624842 2624938 + CallExpression 2624844 2624938 + Identifier 2624844 2624866 + Identifier 2624867 2624876 + BinaryExpression 2624877 2624937 + PropertyAccessExpression 2624877 2624900 + Identifier 2624877 2624887 + Identifier 2624888 2624900 + BarToken 2624900 2624902 + PropertyAccessExpression 2624902 2624937 + Identifier 2624902 2624912 + Identifier 2624913 2624937 + Block 2624939 2625144 + ExpressionStatement 2624941 2625133 + CallExpression 2624941 2625132 + Identifier 2624941 2624960 + PropertyAccessExpression 2624961 2624976 + Identifier 2624961 2624965 + Identifier 2624966 2624976 + PropertyAccessExpression 2624977 2625106 + Identifier 2624977 2624989 + Identifier 2624990 2625106 + CallExpression 2625107 2625131 + Identifier 2625107 2625120 + Identifier 2625121 2625130 + ExpressionStatement 2625144 2625191 + CallExpression 2625144 2625190 + Identifier 2625144 2625174 + PropertyAccessExpression 2625175 2625189 + Identifier 2625175 2625179 + Identifier 2625180 2625189 + IfStatement 2625191 2625284 + PropertyAccessExpression 2625205 2625216 + Identifier 2625205 2625209 + Identifier 2625210 2625216 + Block 2625217 2625284 + ExpressionStatement 2625219 2625273 + CallExpression 2625219 2625272 + Identifier 2625219 2625266 + Identifier 2625267 2625271 + FunctionDeclaration 2625291 2625604 + Identifier 2625307 2625333 + Parameter 2625334 2625359 + Identifier 2625334 2625343 + TypeReference 2625344 2625359 + Identifier 2625344 2625359 + TypeReference 2625361 2625366 + Identifier 2625361 2625366 + Block 2625366 2625604 + VariableStatement 2625368 2625461 + VariableDeclarationList 2625368 2625460 + VariableDeclaration 2625383 2625460 + Identifier 2625383 2625387 + ConditionalExpression 2625389 2625460 + PropertyAccessExpression 2625389 2625413 + Identifier 2625389 2625399 + Identifier 2625400 2625413 + QuestionToken 2625413 2625415 + PropertyAccessExpression 2625415 2625439 + Identifier 2625415 2625428 + Identifier 2625429 2625439 + ColonToken 2625439 2625441 + PropertyAccessExpression 2625441 2625460 + Identifier 2625441 2625454 + Identifier 2625455 2625460 + ReturnStatement 2625461 2625597 + CallExpression 2625477 2625596 + Identifier 2625477 2625508 + Identifier 2625509 2625512 + CallExpression 2625513 2625558 + Identifier 2625513 2625536 + PropertyAccessExpression 2625537 2625557 + Identifier 2625537 2625546 + Identifier 2625547 2625557 + Identifier 2625559 2625573 + PropertyAccessExpression 2625574 2625595 + Identifier 2625574 2625584 + Identifier 2625585 2625595 + FunctionDeclaration 2625604 2625949 + Identifier 2625620 2625651 + Parameter 2625652 2625669 + Identifier 2625652 2625655 + TypeReference 2625656 2625669 + Identifier 2625656 2625669 + Parameter 2625670 2625686 + Identifier 2625670 2625680 + TypeReference 2625681 2625686 + Identifier 2625681 2625686 + Parameter 2625687 2625702 + Identifier 2625687 2625696 + TypeReference 2625697 2625702 + Identifier 2625697 2625702 + Parameter 2625703 2625731 + Identifier 2625703 2625713 + UnionType 2625714 2625731 + TypeReference 2625714 2625719 + Identifier 2625714 2625719 + UndefinedKeyword 2625721 2625731 + TypeReference 2625733 2625738 + Identifier 2625733 2625738 + Block 2625738 2625949 + IfStatement 2625740 2625819 + CallExpression 2625754 2625774 + Identifier 2625754 2625763 + Identifier 2625764 2625773 + Block 2625775 2625819 + ReturnStatement 2625777 2625808 + Identifier 2625797 2625807 + ReturnStatement 2625819 2625942 + BinaryExpression 2625835 2625941 + CallExpression 2625835 2625930 + Identifier 2625835 2625864 + Identifier 2625865 2625868 + Identifier 2625869 2625879 + Identifier 2625880 2625889 + Identifier 2625890 2625900 + TrueKeyword 2625901 2625929 + BarBarToken 2625930 2625933 + Identifier 2625933 2625941 + FunctionDeclaration 2625949 2633648 + Identifier 2626280 2626309 + Parameter 2626310 2626327 + Identifier 2626310 2626313 + TypeReference 2626314 2626327 + Identifier 2626314 2626327 + Parameter 2626328 2626344 + Identifier 2626328 2626338 + TypeReference 2626339 2626344 + Identifier 2626339 2626344 + Parameter 2626345 2626360 + Identifier 2626345 2626354 + TypeReference 2626355 2626360 + Identifier 2626355 2626360 + Parameter 2626361 2626389 + Identifier 2626361 2626371 + UnionType 2626372 2626389 + TypeReference 2626372 2626377 + Identifier 2626372 2626377 + UndefinedKeyword 2626379 2626389 + Parameter 2626390 2626418 + Identifier 2626390 2626409 + BooleanKeyword 2626410 2626418 + UnionType 2626420 2626437 + TypeReference 2626420 2626425 + Identifier 2626420 2626425 + UndefinedKeyword 2626427 2626437 + Block 2626437 2633648 + VariableStatement 2626439 2626529 + VariableDeclarationList 2626439 2626528 + VariableDeclaration 2626454 2626528 + Identifier 2626454 2626474 + BinaryExpression 2626476 2626528 + ParenthesizedExpression 2626476 2626522 + BinaryExpression 2626478 2626521 + Identifier 2626478 2626481 + AmpersandToken 2626481 2626483 + PropertyAccessExpression 2626483 2626521 + Identifier 2626483 2626496 + Identifier 2626497 2626521 + ExclamationEqualsEqualsToken 2626522 2626526 + NumericLiteral 2626526 2626528 + IfStatement 2626529 2626744 + BinaryExpression 2626543 2626566 + Identifier 2626543 2626552 + EqualsEqualsEqualsToken 2626552 2626556 + Identifier 2626556 2626566 + Block 2626567 2626744 + IfStatement 2626569 2626702 + Identifier 2626587 2626596 + Block 2626597 2626702 + ExpressionStatement 2626599 2626687 + CallExpression 2626599 2626686 + Identifier 2626599 2626643 + Identifier 2626644 2626653 + Identifier 2626654 2626664 + Identifier 2626665 2626685 + ReturnStatement 2626702 2626733 + Identifier 2626722 2626732 + VariableStatement 2626744 2626820 + VariableDeclarationList 2626744 2626819 + VariableDeclaration 2626761 2626819 + Identifier 2626761 2626778 + BinaryExpression 2626780 2626819 + Identifier 2626780 2626796 + GreaterThanEqualsToken 2626796 2626799 + PropertyAccessExpression 2626799 2626819 + Identifier 2626799 2626812 + Identifier 2626813 2626819 + VariableStatement 2626820 2626913 + VariableDeclarationList 2626820 2626912 + VariableDeclaration 2626835 2626912 + Identifier 2626835 2626854 + BinaryExpression 2626856 2626912 + PrefixUnaryExpression 2626856 2626874 + Identifier 2626858 2626874 + AmpersandAmpersandToken 2626874 2626877 + PropertyAccessExpression 2626877 2626912 + Identifier 2626877 2626893 + Identifier 2626894 2626912 + VariableStatement 2626913 2627038 + VariableDeclarationList 2626913 2627037 + VariableDeclaration 2626928 2627037 + Identifier 2626928 2626948 + BinaryExpression 2626950 2627037 + PropertyAccessExpression 2626950 2626991 + Identifier 2626950 2626966 + Identifier 2626967 2626991 + AmpersandAmpersandToken 2626991 2626994 + PrefixUnaryExpression 2626994 2627037 + PrefixUnaryExpression 2626996 2627037 + ParenthesizedExpression 2626997 2627037 + BinaryExpression 2626998 2627036 + Identifier 2626998 2627001 + AmpersandToken 2627001 2627003 + PropertyAccessExpression 2627003 2627036 + Identifier 2627003 2627016 + Identifier 2627017 2627036 + IfStatement 2627038 2628901 + BinaryExpression 2627275 2627336 + BinaryExpression 2627275 2627313 + Identifier 2627275 2627291 + BarBarToken 2627291 2627294 + Identifier 2627294 2627313 + BarBarToken 2627313 2627316 + Identifier 2627316 2627336 + Block 2627337 2628901 + VariableStatement 2627339 2627550 + VariableDeclarationList 2627339 2627549 + VariableDeclaration 2627446 2627549 + Identifier 2627446 2627461 + CallExpression 2627463 2627549 + Identifier 2627463 2627491 + Identifier 2627492 2627501 + Identifier 2627502 2627506 + ConditionalExpression 2627507 2627548 + Identifier 2627507 2627524 + QuestionToken 2627524 2627526 + Identifier 2627526 2627536 + ColonToken 2627536 2627538 + Identifier 2627538 2627548 + IfStatement 2627550 2628649 + Identifier 2627568 2627586 + Block 2627587 2628649 + IfStatement 2627589 2628634 + Identifier 2627611 2627625 + Block 2627626 2628634 + VariableStatement 2627628 2628447 + VariableDeclarationList 2627628 2628446 + VariableDeclaration 2627655 2628446 + Identifier 2627655 2627666 + ConditionalExpression 2627668 2628446 + BinaryExpression 2627668 2627697 + Identifier 2627668 2627672 + AmpersandToken 2627672 2627674 + PropertyAccessExpression 2627674 2627697 + Identifier 2627674 2627687 + Identifier 2627688 2627697 + QuestionToken 2627697 2627699 + PropertyAccessExpression 2627699 2627817 + Identifier 2627699 2627711 + Identifier 2627712 2627817 + ColonToken 2627817 2627819 + ConditionalExpression 2627819 2628446 + BinaryExpression 2627819 2627874 + Identifier 2627819 2627848 + AmpersandToken 2627848 2627850 + PropertyAccessExpression 2627850 2627874 + Identifier 2627850 2627863 + Identifier 2627864 2627874 + QuestionToken 2627874 2627876 + PropertyAccessExpression 2627876 2628000 + Identifier 2627876 2627888 + Identifier 2627889 2628000 + ColonToken 2628000 2628002 + ConditionalExpression 2628002 2628446 + BinaryExpression 2628002 2628064 + Identifier 2628002 2628031 + AmpersandToken 2628031 2628033 + PropertyAccessExpression 2628033 2628064 + Identifier 2628033 2628046 + Identifier 2628047 2628064 + QuestionToken 2628064 2628066 + PropertyAccessExpression 2628066 2628197 + Identifier 2628066 2628078 + Identifier 2628079 2628197 + ColonToken 2628197 2628199 + ConditionalExpression 2628199 2628446 + BinaryExpression 2628199 2628257 + Identifier 2628199 2628228 + AmpersandToken 2628228 2628230 + PropertyAccessExpression 2628230 2628257 + Identifier 2628230 2628243 + Identifier 2628244 2628257 + QuestionToken 2628257 2628259 + PropertyAccessExpression 2628259 2628409 + Identifier 2628259 2628271 + Identifier 2628272 2628409 + ColonToken 2628409 2628411 + Identifier 2628411 2628446 + IfStatement 2628447 2628615 + Identifier 2628473 2628483 + Block 2628484 2628615 + ExpressionStatement 2628486 2628592 + CallExpression 2628486 2628591 + Identifier 2628486 2628533 + Identifier 2628534 2628542 + PropertyAccessExpression 2628543 2628567 + Identifier 2628543 2628558 + Identifier 2628559 2628567 + Identifier 2628568 2628578 + Identifier 2628579 2628590 + IfStatement 2628649 2628890 + BinaryExpression 2628667 2628701 + Identifier 2628667 2628681 + BarBarToken 2628681 2628684 + Identifier 2628684 2628701 + Block 2628702 2628890 + ReturnStatement 2628704 2628875 + ConditionalExpression 2628728 2628874 + Identifier 2628728 2628748 + QuestionToken 2628748 2628750 + CallExpression 2628750 2628827 + Identifier 2628750 2628783 + BinaryExpression 2628784 2628826 + Identifier 2628784 2628798 + AmpersandAmpersandToken 2628798 2628801 + PropertyAccessExpression 2628801 2628826 + Identifier 2628801 2628816 + Identifier 2628817 2628826 + ColonToken 2628827 2628829 + ParenthesizedExpression 2628829 2628874 + BinaryExpression 2628831 2628873 + Identifier 2628831 2628845 + AmpersandAmpersandToken 2628845 2628848 + PropertyAccessExpression 2628848 2628873 + Identifier 2628848 2628863 + Identifier 2628864 2628873 + VariableStatement 2628901 2628939 + VariableDeclarationList 2628901 2628938 + VariableDeclaration 2628916 2628938 + Identifier 2628916 2628926 + Identifier 2628928 2628938 + VariableStatement 2628939 2628982 + VariableDeclarationList 2628939 2628981 + VariableDeclaration 2628952 2628981 + Identifier 2628952 2628973 + FalseKeyword 2628975 2628981 + IfStatement 2628982 2630432 + BinaryExpression 2629208 2629248 + Identifier 2629208 2629211 + AmpersandToken 2629211 2629213 + PropertyAccessExpression 2629213 2629248 + Identifier 2629213 2629226 + Identifier 2629227 2629248 + Block 2629249 2630432 + IfStatement 2629251 2629952 + BinaryExpression 2629269 2629302 + PropertyAccessExpression 2629269 2629284 + Identifier 2629269 2629278 + Identifier 2629279 2629284 + AmpersandToken 2629284 2629286 + PropertyAccessExpression 2629286 2629302 + Identifier 2629286 2629296 + Identifier 2629297 2629302 + Block 2629303 2629833 + VariableStatement 2629305 2629561 + VariableDeclarationList 2629305 2629560 + VariableDeclaration 2629516 2629560 + Identifier 2629516 2629527 + PropertyAccessExpression 2629529 2629560 + ParenthesizedExpression 2629529 2629554 + AsExpression 2629531 2629553 + Identifier 2629531 2629540 + TypeReference 2629543 2629553 + Identifier 2629543 2629553 + Identifier 2629555 2629560 + VariableStatement 2629561 2629660 + VariableDeclarationList 2629561 2629659 + VariableDeclaration 2629584 2629659 + Identifier 2629584 2629598 + CallExpression 2629600 2629659 + Identifier 2629600 2629607 + Identifier 2629608 2629618 + ArrowFunction 2629619 2629658 + Parameter 2629619 2629621 + Identifier 2629619 2629621 + EqualsGreaterThanToken 2629621 2629624 + PrefixUnaryExpression 2629624 2629658 + ParenthesizedExpression 2629626 2629658 + BinaryExpression 2629627 2629657 + PropertyAccessExpression 2629627 2629634 + Identifier 2629627 2629628 + Identifier 2629629 2629634 + AmpersandToken 2629634 2629636 + PropertyAccessExpression 2629636 2629657 + Identifier 2629636 2629646 + Identifier 2629647 2629657 + IfStatement 2629660 2629818 + BinaryExpression 2629682 2629710 + Identifier 2629682 2629695 + ExclamationEqualsEqualsToken 2629695 2629699 + Identifier 2629699 2629710 + Block 2629711 2629818 + ExpressionStatement 2629713 2629799 + BinaryExpression 2629713 2629798 + Identifier 2629713 2629744 + EqualsToken 2629744 2629746 + CallExpression 2629746 2629798 + Identifier 2629746 2629759 + Identifier 2629760 2629773 + PropertyAccessExpression 2629774 2629797 + Identifier 2629774 2629789 + Identifier 2629790 2629797 + IfStatement 2629851 2629952 + BinaryExpression 2629856 2629894 + PropertyAccessExpression 2629856 2629871 + Identifier 2629856 2629865 + Identifier 2629866 2629871 + AmpersandToken 2629871 2629873 + PropertyAccessExpression 2629873 2629894 + Identifier 2629873 2629883 + Identifier 2629884 2629894 + Block 2629895 2629952 + ExpressionStatement 2629897 2629937 + BinaryExpression 2629897 2629936 + Identifier 2629897 2629924 + EqualsToken 2629924 2629926 + Identifier 2629926 2629936 + ExpressionStatement 2629952 2630015 + BinaryExpression 2629952 2630014 + Identifier 2629952 2629988 + EqualsToken 2629988 2629990 + BinaryExpression 2629990 2630014 + Identifier 2629990 2630000 + ExclamationEqualsEqualsToken 2630000 2630004 + Identifier 2630004 2630014 + IfStatement 2630015 2630421 + Identifier 2630033 2630053 + Block 2630054 2630421 + IfStatement 2630056 2630406 + BinaryExpression 2630242 2630275 + PropertyAccessExpression 2630242 2630257 + Identifier 2630242 2630251 + Identifier 2630252 2630257 + AmpersandToken 2630257 2630259 + PropertyAccessExpression 2630259 2630275 + Identifier 2630259 2630269 + Identifier 2630270 2630275 + Block 2630276 2630406 + ReturnStatement 2630278 2630387 + ConditionalExpression 2630306 2630386 + Identifier 2630306 2630326 + QuestionToken 2630326 2630328 + CallExpression 2630328 2630373 + Identifier 2630328 2630361 + Identifier 2630362 2630372 + ColonToken 2630373 2630375 + Identifier 2630375 2630386 + IfStatement 2630432 2631596 + PrefixUnaryExpression 2630448 2630475 + CallExpression 2630449 2630475 + Identifier 2630449 2630464 + Identifier 2630465 2630474 + Block 2630476 2631596 + IfStatement 2630478 2631449 + Identifier 2630496 2630505 + Block 2630506 2631449 + VariableStatement 2630508 2631042 + VariableDeclarationList 2630508 2631041 + VariableDeclaration 2630955 2631041 + Identifier 2630955 2630969 + BinaryExpression 2630971 2631041 + PrefixUnaryExpression 2630971 2631016 + PrefixUnaryExpression 2630973 2631016 + ParenthesizedExpression 2630974 2631016 + BinaryExpression 2630975 2631015 + Identifier 2630975 2630978 + AmpersandToken 2630978 2630980 + PropertyAccessExpression 2630980 2631015 + Identifier 2630980 2630993 + Identifier 2630994 2631015 + AmpersandAmpersandToken 2631016 2631019 + PrefixUnaryExpression 2631019 2631041 + Identifier 2631021 2631041 + VariableStatement 2631042 2631172 + VariableDeclarationList 2631042 2631171 + VariableDeclaration 2631065 2631171 + ArrayBindingPattern 2631065 2631104 + BindingElement 2631067 2631084 + Identifier 2631067 2631084 + BindingElement 2631085 2631103 + Identifier 2631085 2631103 + CallExpression 2631106 2631171 + Identifier 2631106 2631136 + Identifier 2631137 2631150 + Identifier 2631151 2631170 + ExpressionStatement 2631172 2631434 + CallExpression 2631172 2631433 + Identifier 2631172 2631215 + Identifier 2631216 2631247 + BinaryExpression 2631248 2631327 + Identifier 2631248 2631287 + AmpersandAmpersandToken 2631287 2631290 + PrefixUnaryExpression 2631290 2631327 + PrefixUnaryExpression 2631292 2631327 + CallExpression 2631293 2631327 + Identifier 2631293 2631316 + Identifier 2631317 2631326 + Identifier 2631328 2631367 + CallExpression 2631368 2631413 + Identifier 2631368 2631402 + Identifier 2631403 2631412 + ReturnStatement 2631449 2631585 + ConditionalExpression 2631469 2631584 + Identifier 2631469 2631490 + QuestionToken 2631490 2631492 + ConditionalExpression 2631492 2631572 + Identifier 2631492 2631512 + QuestionToken 2631512 2631514 + CallExpression 2631514 2631559 + Identifier 2631514 2631547 + Identifier 2631548 2631558 + ColonToken 2631559 2631561 + Identifier 2631561 2631572 + ColonToken 2631572 2631574 + Identifier 2631574 2631584 + VariableStatement 2631596 2631675 + VariableDeclarationList 2631596 2631674 + VariableDeclaration 2631613 2631674 + Identifier 2631613 2631630 + CallExpression 2631632 2631674 + Identifier 2631632 2631651 + Identifier 2631652 2631661 + Identifier 2631662 2631673 + IfStatement 2631675 2632170 + BinaryExpression 2631689 2631729 + Identifier 2631689 2631709 + AmpersandAmpersandToken 2631709 2631712 + Identifier 2631712 2631729 + Block 2631730 2632170 + IfStatement 2631732 2631997 + BinaryExpression 2631853 2631943 + BinaryExpression 2631853 2631898 + PropertyAccessExpression 2631853 2631875 + Identifier 2631853 2631869 + Identifier 2631870 2631875 + AmpersandToken 2631875 2631877 + PropertyAccessExpression 2631877 2631898 + Identifier 2631877 2631887 + Identifier 2631888 2631898 + AmpersandAmpersandToken 2631898 2631901 + PrefixUnaryExpression 2631901 2631943 + PropertyAccessExpression 2631903 2631943 + Identifier 2631903 2631918 + Identifier 2631919 2631943 + Block 2631944 2631997 + ReturnStatement 2631946 2631982 + Identifier 2631970 2631981 + ReturnStatement 2631997 2632159 + CallExpression 2632019 2632158 + Identifier 2632019 2632032 + ConditionalExpression 2632033 2632133 + Identifier 2632033 2632052 + QuestionToken 2632052 2632054 + ArrayLiteralExpression 2632054 2632100 + Identifier 2632056 2632072 + Identifier 2632073 2632084 + Identifier 2632085 2632099 + ColonToken 2632100 2632102 + ArrayLiteralExpression 2632102 2632133 + Identifier 2632104 2632120 + Identifier 2632121 2632132 + PropertyAccessExpression 2632134 2632157 + Identifier 2632134 2632149 + Identifier 2632150 2632157 + ReturnStatement 2632170 2632302 + ConditionalExpression 2632188 2632301 + ParenthesizedExpression 2632188 2632229 + BinaryExpression 2632190 2632228 + Identifier 2632190 2632193 + AmpersandToken 2632193 2632195 + PropertyAccessExpression 2632195 2632228 + Identifier 2632195 2632208 + Identifier 2632209 2632228 + QuestionToken 2632229 2632231 + CallExpression 2632231 2632282 + Identifier 2632231 2632264 + Identifier 2632265 2632281 + ColonToken 2632282 2632284 + Identifier 2632284 2632301 + FunctionDeclaration 2632302 2633641 + Identifier 2632322 2632352 + Parameter 2632353 2632375 + Identifier 2632353 2632366 + BooleanKeyword 2632367 2632375 + Parameter 2632376 2632416 + Identifier 2632376 2632395 + UnionType 2632396 2632416 + BooleanKeyword 2632396 2632404 + UndefinedKeyword 2632406 2632416 + TupleType 2632418 2632473 + NamedTupleMember 2632420 2632444 + Identifier 2632420 2632425 + TypeReference 2632426 2632444 + Identifier 2632426 2632444 + NamedTupleMember 2632445 2632472 + Identifier 2632445 2632463 + BooleanKeyword 2632464 2632472 + Block 2632473 2633641 + IfStatement 2632475 2632861 + Identifier 2632493 2632511 + Block 2632512 2632861 + ReturnStatement 2632514 2632846 + ConditionalExpression 2632538 2632845 + Identifier 2632538 2632552 + QuestionToken 2632552 2632575 + ArrayLiteralExpression 2632575 2632707 + PropertyAccessExpression 2632577 2632700 + Identifier 2632577 2632588 + Identifier 2632589 2632700 + TrueKeyword 2632701 2632706 + ColonToken 2632707 2632730 + ArrayLiteralExpression 2632730 2632845 + PropertyAccessExpression 2632732 2632838 + Identifier 2632732 2632743 + Identifier 2632744 2632838 + TrueKeyword 2632839 2632844 + VariableStatement 2632861 2632988 + VariableDeclarationList 2632861 2632987 + VariableDeclaration 2632882 2632987 + Identifier 2632882 2632892 + CallExpression 2632894 2632987 + Identifier 2632894 2632921 + Identifier 2632922 2632925 + PropertyAccessExpression 2632926 2632950 + Identifier 2632926 2632944 + Identifier 2632945 2632950 + Identifier 2632951 2632961 + Identifier 2632962 2632986 + IfStatement 2632988 2633193 + Identifier 2633008 2633017 + Block 2633018 2633193 + ReturnStatement 2633020 2633178 + ArrayLiteralExpression 2633044 2633177 + PropertyAccessExpression 2633046 2633169 + Identifier 2633046 2633057 + Identifier 2633058 2633169 + FalseKeyword 2633170 2633176 + IfStatement 2633193 2633442 + CallExpression 2633213 2633267 + Identifier 2633213 2633236 + PropertyAccessExpression 2633237 2633266 + PropertyAccessExpression 2633237 2633253 + Identifier 2633237 2633246 + Identifier 2633247 2633253 + QuestionDotToken 2633253 2633255 + Identifier 2633255 2633266 + Block 2633268 2633442 + ReturnStatement 2633270 2633427 + ArrayLiteralExpression 2633294 2633426 + PropertyAccessExpression 2633296 2633419 + Identifier 2633296 2633307 + Identifier 2633308 2633419 + TrueKeyword 2633420 2633425 + ReturnStatement 2633442 2633630 + ConditionalExpression 2633464 2633629 + Identifier 2633464 2633478 + QuestionToken 2633478 2633497 + ArrayLiteralExpression 2633497 2633562 + PropertyAccessExpression 2633499 2633555 + Identifier 2633499 2633510 + Identifier 2633511 2633555 + TrueKeyword 2633556 2633561 + ColonToken 2633562 2633581 + ArrayLiteralExpression 2633581 2633629 + PropertyAccessExpression 2633583 2633622 + Identifier 2633583 2633594 + Identifier 2633595 2633622 + TrueKeyword 2633623 2633628 + FunctionDeclaration 2633648 2634126 + Identifier 2633664 2633688 + Parameter 2633689 2633700 + Identifier 2633689 2633690 + TypeReference 2633691 2633700 + Identifier 2633691 2633700 + Block 2633701 2634126 + SwitchStatement 2633703 2634096 + Identifier 2633721 2633722 + CaseBlock 2633723 2634096 + CaseClause 2633725 2633759 + StringLiteral 2633743 2633758 + CaseClause 2633759 2633793 + StringLiteral 2633777 2633792 + CaseClause 2633793 2633825 + StringLiteral 2633811 2633824 + CaseClause 2633825 2633857 + StringLiteral 2633843 2633856 + CaseClause 2633857 2633888 + StringLiteral 2633875 2633887 + CaseClause 2633888 2633918 + StringLiteral 2633906 2633917 + CaseClause 2633918 2633951 + StringLiteral 2633936 2633950 + CaseClause 2633951 2633984 + StringLiteral 2633969 2633983 + CaseClause 2633984 2634016 + StringLiteral 2634002 2634015 + CaseClause 2634016 2634085 + StringLiteral 2634034 2634054 + ReturnStatement 2634055 2634085 + TrueKeyword 2634079 2634084 + ReturnStatement 2634096 2634119 + FalseKeyword 2634112 2634118 + FunctionDeclaration 2634126 2634678 + Identifier 2634258 2634285 + Parameter 2634286 2634303 + Identifier 2634286 2634289 + TypeReference 2634290 2634303 + Identifier 2634290 2634303 + Parameter 2634304 2634332 + Identifier 2634304 2634313 + TypeReference 2634314 2634332 + Identifier 2634314 2634332 + Parameter 2634333 2634349 + Identifier 2634333 2634343 + TypeReference 2634344 2634349 + Identifier 2634344 2634349 + Parameter 2634350 2634378 + Identifier 2634350 2634360 + UnionType 2634361 2634378 + TypeReference 2634361 2634366 + Identifier 2634361 2634366 + UndefinedKeyword 2634368 2634378 + UnionType 2634380 2634397 + TypeReference 2634380 2634385 + Identifier 2634380 2634385 + UndefinedKeyword 2634387 2634397 + Block 2634397 2634678 + IfStatement 2634399 2634478 + CallExpression 2634413 2634433 + Identifier 2634413 2634422 + Identifier 2634423 2634432 + Block 2634434 2634478 + ReturnStatement 2634436 2634467 + Identifier 2634456 2634466 + VariableStatement 2634478 2634568 + VariableDeclarationList 2634478 2634567 + VariableDeclaration 2634495 2634567 + Identifier 2634495 2634510 + CallExpression 2634512 2634567 + Identifier 2634512 2634540 + Identifier 2634541 2634550 + Identifier 2634551 2634555 + Identifier 2634556 2634566 + ReturnStatement 2634568 2634671 + BinaryExpression 2634584 2634670 + Identifier 2634584 2634599 + AmpersandAmpersandToken 2634599 2634602 + ElementAccessExpression 2634602 2634670 + Identifier 2634602 2634617 + CallExpression 2634618 2634669 + Identifier 2634618 2634659 + Identifier 2634660 2634668 + FunctionDeclaration 2634678 2636205 + Identifier 2634694 2634715 + Parameter 2634716 2634743 + Identifier 2634716 2634725 + TypeReference 2634726 2634731 + Identifier 2634726 2634731 + Identifier 2634733 2634743 + Parameter 2634744 2634773 + Identifier 2634744 2634755 + TypeReference 2634756 2634761 + Identifier 2634756 2634761 + Identifier 2634763 2634773 + Parameter 2634774 2634803 + Identifier 2634774 2634783 + TypeReference 2634784 2634789 + Identifier 2634784 2634789 + Identifier 2634791 2634803 + TypeReference 2634805 2634820 + Identifier 2634805 2634820 + Block 2634820 2636205 + IfStatement 2634822 2636145 + BinaryExpression 2635459 2635764 + BinaryExpression 2635459 2635638 + BinaryExpression 2635459 2635510 + PropertyAccessExpression 2635459 2635488 + Identifier 2635459 2635482 + Identifier 2635483 2635488 + AmpersandToken 2635488 2635490 + PropertyAccessExpression 2635490 2635510 + Identifier 2635490 2635500 + Identifier 2635501 2635510 + AmpersandAmpersandToken 2635510 2635513 + BinaryExpression 2635513 2635638 + PropertyAccessExpression 2635513 2635543 + Identifier 2635513 2635537 + Identifier 2635538 2635543 + AmpersandToken 2635543 2635545 + ParenthesizedExpression 2635545 2635638 + BinaryExpression 2635547 2635637 + BinaryExpression 2635547 2635615 + BinaryExpression 2635547 2635598 + BinaryExpression 2635547 2635578 + PropertyAccessExpression 2635547 2635560 + Identifier 2635547 2635556 + Identifier 2635557 2635560 + BarToken 2635560 2635562 + PropertyAccessExpression 2635562 2635578 + Identifier 2635562 2635572 + Identifier 2635573 2635578 + BarToken 2635578 2635580 + PropertyAccessExpression 2635580 2635598 + Identifier 2635580 2635590 + Identifier 2635591 2635598 + BarToken 2635598 2635600 + PropertyAccessExpression 2635600 2635615 + Identifier 2635600 2635610 + Identifier 2635611 2635615 + BarToken 2635615 2635617 + PropertyAccessExpression 2635617 2635637 + Identifier 2635617 2635627 + Identifier 2635628 2635637 + AmpersandAmpersandToken 2635638 2635641 + BinaryExpression 2635641 2635764 + PropertyAccessExpression 2635641 2635669 + Identifier 2635641 2635663 + Identifier 2635664 2635669 + AmpersandToken 2635669 2635671 + ParenthesizedExpression 2635671 2635764 + BinaryExpression 2635673 2635763 + BinaryExpression 2635673 2635741 + BinaryExpression 2635673 2635724 + BinaryExpression 2635673 2635704 + PropertyAccessExpression 2635673 2635686 + Identifier 2635673 2635682 + Identifier 2635683 2635686 + BarToken 2635686 2635688 + PropertyAccessExpression 2635688 2635704 + Identifier 2635688 2635698 + Identifier 2635699 2635704 + BarToken 2635704 2635706 + PropertyAccessExpression 2635706 2635724 + Identifier 2635706 2635716 + Identifier 2635717 2635724 + BarToken 2635724 2635726 + PropertyAccessExpression 2635726 2635741 + Identifier 2635726 2635736 + Identifier 2635737 2635741 + BarToken 2635741 2635743 + PropertyAccessExpression 2635743 2635763 + Identifier 2635743 2635753 + Identifier 2635754 2635763 + Block 2635775 2636145 + VariableStatement 2635777 2635851 + VariableDeclarationList 2635777 2635850 + VariableDeclaration 2635796 2635850 + Identifier 2635796 2635799 + CallExpression 2635801 2635850 + Identifier 2635801 2635815 + ArrayLiteralExpression 2635816 2635849 + Identifier 2635817 2635826 + Identifier 2635827 2635838 + Identifier 2635839 2635848 + VariableStatement 2635851 2635914 + VariableDeclarationList 2635851 2635913 + VariableDeclaration 2635868 2635913 + Identifier 2635868 2635883 + CallExpression 2635885 2635913 + PropertyAccessExpression 2635885 2635909 + Identifier 2635885 2635905 + Identifier 2635906 2635909 + Identifier 2635910 2635912 + IfStatement 2635914 2636098 + PrefixUnaryExpression 2635932 2635947 + Identifier 2635933 2635947 + Block 2635948 2636098 + ExpressionStatement 2635950 2636021 + BinaryExpression 2635950 2636020 + Identifier 2635950 2635982 + EqualsToken 2635982 2635984 + ObjectLiteralExpression 2635984 2636020 + ShorthandPropertyAssignment 2635986 2635996 + Identifier 2635986 2635996 + ShorthandPropertyAssignment 2635997 2636008 + Identifier 2635997 2636008 + ShorthandPropertyAssignment 2636009 2636018 + Identifier 2636009 2636018 + ExpressionStatement 2636021 2636083 + CallExpression 2636021 2636082 + PropertyAccessExpression 2636021 2636062 + Identifier 2636021 2636058 + Identifier 2636059 2636062 + Identifier 2636063 2636065 + Identifier 2636066 2636081 + ReturnStatement 2636098 2636134 + Identifier 2636118 2636133 + ReturnStatement 2636145 2636198 + ObjectLiteralExpression 2636161 2636197 + ShorthandPropertyAssignment 2636163 2636173 + Identifier 2636163 2636173 + ShorthandPropertyAssignment 2636174 2636185 + Identifier 2636174 2636185 + ShorthandPropertyAssignment 2636186 2636195 + Identifier 2636186 2636195 + FunctionDeclaration 2636205 2637593 + Identifier 2636533 2636555 + Parameter 2636556 2636593 + Identifier 2636556 2636561 + ArrayType 2636562 2636593 + ParenthesizedType 2636562 2636591 + UnionType 2636564 2636590 + TypeReference 2636564 2636578 + Identifier 2636564 2636578 + UndefinedKeyword 2636580 2636590 + Block 2636594 2637593 + VariableStatement 2636596 2636641 + VariableDeclarationList 2636596 2636640 + VariableDeclaration 2636609 2636640 + Identifier 2636609 2636620 + UnionType 2636621 2636640 + ArrayType 2636621 2636628 + TypeReference 2636621 2636626 + Identifier 2636621 2636626 + UndefinedKeyword 2636630 2636640 + VariableStatement 2636641 2636687 + VariableDeclarationList 2636641 2636686 + VariableDeclaration 2636654 2636686 + Identifier 2636654 2636666 + UnionType 2636667 2636686 + ArrayType 2636667 2636674 + TypeReference 2636667 2636672 + Identifier 2636667 2636672 + UndefinedKeyword 2636676 2636686 + VariableStatement 2636687 2636731 + VariableDeclarationList 2636687 2636730 + VariableDeclaration 2636700 2636730 + Identifier 2636700 2636710 + UnionType 2636711 2636730 + ArrayType 2636711 2636718 + TypeReference 2636711 2636716 + Identifier 2636711 2636716 + UndefinedKeyword 2636720 2636730 + ForOfStatement 2636731 2637250 + VariableDeclarationList 2636746 2636766 + VariableDeclaration 2636751 2636766 + Identifier 2636751 2636766 + Identifier 2636769 2636775 + Block 2636776 2637250 + IfStatement 2636778 2636908 + BinaryExpression 2636796 2636863 + BinaryExpression 2636796 2636824 + Identifier 2636796 2636810 + EqualsEqualsEqualsToken 2636810 2636814 + Identifier 2636814 2636824 + BarBarToken 2636824 2636827 + BinaryExpression 2636827 2636863 + Identifier 2636827 2636842 + EqualsEqualsEqualsToken 2636842 2636846 + Identifier 2636846 2636863 + Block 2636864 2636908 + ContinueStatement 2636866 2636893 + IfStatement 2636908 2637023 + BinaryExpression 2636926 2636962 + Identifier 2636926 2636940 + EqualsEqualsEqualsToken 2636940 2636944 + Identifier 2636944 2636962 + Block 2636963 2637023 + ReturnStatement 2636965 2637008 + Identifier 2636989 2637007 + ExpressionStatement 2637023 2637095 + BinaryExpression 2637023 2637094 + Identifier 2637023 2637047 + EqualsToken 2637047 2637049 + CallExpression 2637049 2637094 + Identifier 2637049 2637056 + Identifier 2637057 2637067 + PropertyAccessExpression 2637068 2637093 + Identifier 2637068 2637083 + Identifier 2637084 2637093 + ExpressionStatement 2637095 2637170 + BinaryExpression 2637095 2637169 + Identifier 2637095 2637120 + EqualsToken 2637120 2637122 + CallExpression 2637122 2637169 + Identifier 2637122 2637129 + Identifier 2637130 2637141 + PropertyAccessExpression 2637142 2637168 + Identifier 2637142 2637157 + Identifier 2637158 2637168 + ExpressionStatement 2637170 2637239 + BinaryExpression 2637170 2637238 + Identifier 2637170 2637193 + EqualsToken 2637193 2637195 + CallExpression 2637195 2637238 + Identifier 2637195 2637202 + Identifier 2637203 2637212 + PropertyAccessExpression 2637213 2637237 + Identifier 2637213 2637228 + Identifier 2637229 2637237 + IfStatement 2637250 2637552 + BinaryExpression 2637264 2637302 + BinaryExpression 2637264 2637289 + Identifier 2637264 2637274 + BarBarToken 2637274 2637277 + Identifier 2637277 2637289 + BarBarToken 2637289 2637292 + Identifier 2637292 2637302 + Block 2637303 2637552 + ReturnStatement 2637305 2637541 + CallExpression 2637325 2637540 + Identifier 2637325 2637346 + BinaryExpression 2637347 2637403 + Identifier 2637347 2637375 + AmpersandAmpersandToken 2637375 2637378 + CallExpression 2637378 2637403 + Identifier 2637378 2637391 + Identifier 2637392 2637402 + BinaryExpression 2637404 2637462 + Identifier 2637404 2637433 + AmpersandAmpersandToken 2637433 2637436 + CallExpression 2637436 2637462 + Identifier 2637436 2637449 + Identifier 2637450 2637461 + BinaryExpression 2637463 2637524 + Identifier 2637463 2637490 + AmpersandAmpersandToken 2637490 2637493 + CallExpression 2637493 2637524 + Identifier 2637493 2637513 + Identifier 2637514 2637523 + ReturnStatement 2637552 2637586 + Identifier 2637568 2637585 + FunctionDeclaration 2637593 2637790 + Identifier 2637609 2637633 + Parameter 2637634 2637644 + Identifier 2637634 2637638 + TypeReference 2637639 2637644 + Identifier 2637639 2637644 + Parameter 2637645 2637720 + Identifier 2637645 2637654 + TypeReference 2637655 2637720 + Identifier 2637655 2637668 + TypeReference 2637669 2637691 + Identifier 2637669 2637691 + UnionType 2637692 2637719 + TypeReference 2637692 2637707 + Identifier 2637692 2637707 + UndefinedKeyword 2637709 2637719 + Block 2637721 2637790 + ReturnStatement 2637723 2637783 + ElementAccessExpression 2637739 2637782 + ParenthesizedExpression 2637739 2637772 + AsExpression 2637741 2637771 + Identifier 2637741 2637745 + TypeReference 2637748 2637771 + Identifier 2637748 2637771 + Identifier 2637773 2637781 + FunctionDeclaration 2637790 2638030 + Identifier 2637806 2637830 + Parameter 2637831 2637841 + Identifier 2637831 2637835 + TypeReference 2637836 2637841 + Identifier 2637836 2637841 + Parameter 2637842 2637917 + Identifier 2637842 2637851 + TypeReference 2637852 2637917 + Identifier 2637852 2637865 + TypeReference 2637866 2637888 + Identifier 2637866 2637888 + UnionType 2637889 2637916 + TypeReference 2637889 2637904 + Identifier 2637889 2637904 + UndefinedKeyword 2637906 2637916 + Parameter 2637918 2637946 + Identifier 2637918 2637930 + TypeReference 2637931 2637946 + Identifier 2637931 2637946 + Block 2637947 2638030 + ReturnStatement 2637949 2638023 + BinaryExpression 2637965 2638022 + ElementAccessExpression 2637965 2638008 + ParenthesizedExpression 2637965 2637998 + AsExpression 2637967 2637997 + Identifier 2637967 2637971 + TypeReference 2637974 2637997 + Identifier 2637974 2637997 + Identifier 2637999 2638007 + EqualsToken 2638008 2638010 + Identifier 2638010 2638022 + FunctionDeclaration 2638030 2642296 + Identifier 2639341 2639369 + Parameter 2639370 2639380 + Identifier 2639370 2639374 + TypeReference 2639375 2639380 + Identifier 2639375 2639380 + Parameter 2639381 2639399 + Identifier 2639381 2639385 + TypeReference 2639386 2639399 + Identifier 2639386 2639399 + Parameter 2639400 2639428 + Identifier 2639400 2639410 + UnionType 2639411 2639428 + TypeReference 2639411 2639416 + Identifier 2639411 2639416 + UndefinedKeyword 2639418 2639428 + Block 2639429 2642296 + IfStatement 2639431 2639513 + CallExpression 2639445 2639460 + Identifier 2639445 2639454 + Identifier 2639455 2639459 + Block 2639461 2639513 + ReturnStatement 2639463 2639502 + Identifier 2639483 2639501 + IfStatement 2639513 2640528 + PrefixUnaryExpression 2639529 2639560 + ParenthesizedExpression 2639530 2639560 + BinaryExpression 2639531 2639559 + PropertyAccessExpression 2639531 2639541 + Identifier 2639531 2639535 + Identifier 2639536 2639541 + AmpersandToken 2639541 2639543 + PropertyAccessExpression 2639543 2639559 + Identifier 2639543 2639553 + Identifier 2639554 2639559 + Block 2639561 2640528 + VariableStatement 2639563 2639705 + VariableDeclarationList 2639563 2639704 + VariableDeclaration 2639582 2639704 + Identifier 2639582 2639603 + UnionType 2639604 2639637 + TypeReference 2639604 2639625 + Identifier 2639604 2639625 + UndefinedKeyword 2639627 2639637 + ConditionalExpression 2639639 2639704 + Identifier 2639639 2639649 + QuestionToken 2639649 2639651 + ObjectLiteralExpression 2639651 2639692 + PropertyAssignment 2639653 2639671 + Identifier 2639653 2639660 + Identifier 2639661 2639671 + PropertyAssignment 2639672 2639690 + Identifier 2639672 2639684 + TrueKeyword 2639685 2639690 + ColonToken 2639692 2639694 + Identifier 2639694 2639704 + VariableStatement 2639705 2639820 + VariableDeclarationList 2639705 2639819 + VariableDeclaration 2639724 2639819 + Identifier 2639724 2639739 + CallExpression 2639741 2639819 + Identifier 2639741 2639775 + Identifier 2639776 2639780 + Identifier 2639781 2639785 + Identifier 2639786 2639796 + Identifier 2639797 2639818 + IfStatement 2639820 2640481 + BinaryExpression 2639838 2639873 + Identifier 2639838 2639852 + EqualsEqualsEqualsToken 2639852 2639856 + Identifier 2639856 2639873 + Block 2639874 2640274 + IfStatement 2639876 2640224 + Identifier 2639898 2639907 + Block 2639908 2640224 + VariableStatement 2639910 2640042 + VariableDeclarationList 2639910 2640041 + VariableDeclaration 2639937 2640041 + Identifier 2639937 2639946 + CallExpression 2639948 2640041 + Identifier 2639948 2639975 + Identifier 2639976 2639985 + Identifier 2639986 2639991 + PrefixUnaryExpression 2639992 2640040 + PrefixUnaryExpression 2639994 2640040 + ParenthesizedExpression 2639995 2640040 + BinaryExpression 2639996 2640039 + Identifier 2639996 2639999 + AmpersandToken 2639999 2640001 + PropertyAccessExpression 2640001 2640039 + Identifier 2640001 2640014 + Identifier 2640015 2640039 + IfStatement 2640042 2640205 + PropertyAccessExpression 2640068 2640096 + Identifier 2640068 2640088 + QuestionDotToken 2640088 2640090 + Identifier 2640090 2640096 + Block 2640097 2640205 + ExpressionStatement 2640099 2640182 + CallExpression 2640099 2640181 + Identifier 2640099 2640139 + Identifier 2640140 2640148 + SpreadElement 2640149 2640180 + PropertyAccessExpression 2640153 2640180 + Identifier 2640153 2640173 + Identifier 2640174 2640180 + ReturnStatement 2640224 2640259 + Identifier 2640248 2640258 + IfStatement 2640292 2640481 + PropertyAccessExpression 2640297 2640333 + PropertyAccessExpression 2640297 2640325 + Identifier 2640297 2640317 + QuestionDotToken 2640317 2640319 + Identifier 2640319 2640325 + QuestionDotToken 2640325 2640327 + Identifier 2640327 2640333 + Block 2640334 2640481 + ForOfStatement 2640336 2640466 + VariableDeclarationList 2640359 2640369 + VariableDeclaration 2640364 2640369 + Identifier 2640364 2640369 + PropertyAccessExpression 2640372 2640400 + Identifier 2640372 2640393 + Identifier 2640394 2640400 + Block 2640401 2640466 + ExpressionStatement 2640403 2640447 + CallExpression 2640403 2640446 + PropertyAccessExpression 2640403 2640440 + Identifier 2640403 2640436 + Identifier 2640437 2640440 + Identifier 2640441 2640445 + ReturnStatement 2640481 2640517 + Identifier 2640501 2640516 + VariableStatement 2640528 2640664 + VariableDeclarationList 2640528 2640663 + VariableDeclaration 2640545 2640663 + Identifier 2640545 2640554 + ConditionalExpression 2640556 2640663 + BinaryExpression 2640556 2640600 + Identifier 2640556 2640560 + AmpersandToken 2640560 2640562 + PropertyAccessExpression 2640562 2640600 + Identifier 2640562 2640575 + Identifier 2640576 2640600 + QuestionToken 2640600 2640602 + StringLiteral 2640602 2640634 + ColonToken 2640634 2640636 + StringLiteral 2640636 2640663 + VariableStatement 2640664 2640734 + VariableDeclarationList 2640664 2640733 + VariableDeclaration 2640679 2640733 + Identifier 2640679 2640691 + CallExpression 2640693 2640733 + Identifier 2640693 2640717 + Identifier 2640718 2640722 + Identifier 2640723 2640732 + IfStatement 2640734 2640827 + Identifier 2640748 2640759 + ReturnStatement 2640760 2640827 + ConditionalExpression 2640767 2640826 + BinaryExpression 2640767 2640800 + Identifier 2640767 2640779 + EqualsEqualsEqualsToken 2640779 2640783 + Identifier 2640783 2640800 + QuestionToken 2640800 2640802 + Identifier 2640802 2640812 + ColonToken 2640812 2640814 + Identifier 2640814 2640826 + VariableStatement 2640827 2640891 + VariableDeclarationList 2640827 2640890 + VariableDeclaration 2640842 2640890 + Identifier 2640842 2640860 + UnionType 2640861 2640890 + ArrayType 2640861 2640878 + TypeReference 2640861 2640876 + Identifier 2640861 2640876 + UndefinedKeyword 2640880 2640890 + ForOfStatement 2640891 2642026 + VariableDeclarationList 2640906 2640923 + VariableDeclaration 2640911 2640923 + Identifier 2640911 2640923 + PropertyAccessExpression 2640926 2640952 + ParenthesizedExpression 2640926 2640946 + AsExpression 2640928 2640945 + Identifier 2640928 2640932 + TypeReference 2640935 2640945 + Identifier 2640935 2640945 + Identifier 2640947 2640952 + Block 2640953 2642026 + VariableStatement 2640955 2641078 + VariableDeclarationList 2640955 2641077 + VariableDeclaration 2640974 2641077 + Identifier 2640974 2640995 + UnionType 2640996 2641029 + TypeReference 2640996 2641017 + Identifier 2640996 2641017 + UndefinedKeyword 2641019 2641029 + ConditionalExpression 2641031 2641077 + Identifier 2641031 2641041 + QuestionToken 2641041 2641043 + ObjectLiteralExpression 2641043 2641065 + PropertyAssignment 2641045 2641063 + Identifier 2641045 2641052 + Identifier 2641053 2641063 + ColonToken 2641065 2641067 + Identifier 2641067 2641077 + VariableStatement 2641078 2641200 + VariableDeclarationList 2641078 2641199 + VariableDeclaration 2641097 2641199 + Identifier 2641097 2641112 + CallExpression 2641114 2641199 + Identifier 2641114 2641148 + Identifier 2641149 2641160 + Identifier 2641161 2641165 + Identifier 2641166 2641176 + Identifier 2641177 2641198 + IfStatement 2641200 2641937 + BinaryExpression 2641218 2641253 + Identifier 2641218 2641232 + EqualsEqualsEqualsToken 2641232 2641236 + Identifier 2641236 2641253 + Block 2641254 2641730 + IfStatement 2641256 2641604 + Identifier 2641278 2641287 + Block 2641288 2641604 + VariableStatement 2641290 2641422 + VariableDeclarationList 2641290 2641421 + VariableDeclaration 2641317 2641421 + Identifier 2641317 2641326 + CallExpression 2641328 2641421 + Identifier 2641328 2641355 + Identifier 2641356 2641365 + Identifier 2641366 2641371 + PrefixUnaryExpression 2641372 2641420 + PrefixUnaryExpression 2641374 2641420 + ParenthesizedExpression 2641375 2641420 + BinaryExpression 2641376 2641419 + Identifier 2641376 2641379 + AmpersandToken 2641379 2641381 + PropertyAccessExpression 2641381 2641419 + Identifier 2641381 2641394 + Identifier 2641395 2641419 + IfStatement 2641422 2641585 + PropertyAccessExpression 2641448 2641476 + Identifier 2641448 2641468 + QuestionDotToken 2641468 2641470 + Identifier 2641470 2641476 + Block 2641477 2641585 + ExpressionStatement 2641479 2641562 + CallExpression 2641479 2641561 + Identifier 2641479 2641519 + Identifier 2641520 2641528 + SpreadElement 2641529 2641560 + PropertyAccessExpression 2641533 2641560 + Identifier 2641533 2641553 + Identifier 2641554 2641560 + ExpressionStatement 2641604 2641680 + CallExpression 2641604 2641679 + Identifier 2641604 2641645 + Identifier 2641646 2641650 + Identifier 2641651 2641660 + Identifier 2641661 2641678 + ReturnStatement 2641680 2641715 + Identifier 2641704 2641714 + IfStatement 2641748 2641937 + PropertyAccessExpression 2641753 2641789 + PropertyAccessExpression 2641753 2641781 + Identifier 2641753 2641773 + QuestionDotToken 2641773 2641775 + Identifier 2641775 2641781 + QuestionDotToken 2641781 2641783 + Identifier 2641783 2641789 + Block 2641790 2641937 + ForOfStatement 2641792 2641922 + VariableDeclarationList 2641815 2641825 + VariableDeclaration 2641820 2641825 + Identifier 2641820 2641825 + PropertyAccessExpression 2641828 2641856 + Identifier 2641828 2641849 + Identifier 2641850 2641856 + Block 2641857 2641922 + ExpressionStatement 2641859 2641903 + CallExpression 2641859 2641902 + PropertyAccessExpression 2641859 2641896 + Identifier 2641859 2641892 + Identifier 2641893 2641896 + Identifier 2641897 2641901 + ExpressionStatement 2641937 2642015 + BinaryExpression 2641937 2642014 + Identifier 2641937 2641970 + EqualsToken 2641970 2641972 + CallExpression 2641972 2642014 + Identifier 2641972 2641979 + Identifier 2641980 2641997 + Identifier 2641998 2642013 + VariableStatement 2642026 2642141 + VariableDeclarationList 2642026 2642140 + VariableDeclaration 2642043 2642140 + Identifier 2642043 2642058 + ConditionalExpression 2642060 2642140 + Identifier 2642060 2642078 + QuestionToken 2642078 2642080 + CallExpression 2642080 2642121 + Identifier 2642080 2642102 + Identifier 2642103 2642120 + ColonToken 2642121 2642123 + Identifier 2642123 2642140 + ExpressionStatement 2642141 2642207 + CallExpression 2642141 2642206 + Identifier 2642141 2642174 + Identifier 2642175 2642179 + Identifier 2642180 2642189 + Identifier 2642190 2642205 + ReturnStatement 2642207 2642289 + ConditionalExpression 2642223 2642288 + BinaryExpression 2642223 2642259 + Identifier 2642223 2642238 + EqualsEqualsEqualsToken 2642238 2642242 + Identifier 2642242 2642259 + QuestionToken 2642259 2642261 + Identifier 2642261 2642271 + ColonToken 2642271 2642273 + Identifier 2642273 2642288 + FunctionDeclaration 2642296 2643016 + Identifier 2642312 2642343 + Parameter 2642344 2642374 + Identifier 2642344 2642358 + TypeReference 2642359 2642374 + Identifier 2642359 2642374 + Parameter 2642375 2642403 + Identifier 2642375 2642385 + UnionType 2642386 2642403 + TypeReference 2642386 2642391 + Identifier 2642386 2642391 + UndefinedKeyword 2642393 2642403 + Block 2642404 2643016 + IfStatement 2642406 2642481 + BinaryExpression 2642420 2642455 + Identifier 2642420 2642434 + EqualsEqualsEqualsToken 2642434 2642438 + Identifier 2642438 2642455 + ReturnStatement 2642456 2642481 + Identifier 2642463 2642480 + IfStatement 2642481 2642558 + BinaryExpression 2642495 2642531 + Identifier 2642495 2642509 + EqualsEqualsEqualsToken 2642509 2642513 + Identifier 2642513 2642531 + ReturnStatement 2642532 2642558 + Identifier 2642539 2642557 + VariableStatement 2642558 2642627 + VariableDeclarationList 2642558 2642626 + VariableDeclaration 2642573 2642626 + ObjectBindingPattern 2642573 2642609 + BindingElement 2642575 2642585 + Identifier 2642575 2642585 + BindingElement 2642586 2642597 + Identifier 2642586 2642597 + BindingElement 2642598 2642607 + Identifier 2642598 2642607 + Identifier 2642611 2642626 + IfStatement 2642627 2642811 + Identifier 2642728 2642737 + Block 2642738 2642811 + ExpressionStatement 2642740 2642800 + CallExpression 2642740 2642799 + Identifier 2642740 2642776 + TrueKeyword 2642777 2642798 + ReturnStatement 2642811 2643009 + CallExpression 2642827 2643008 + Identifier 2642827 2642848 + BinaryExpression 2642849 2642910 + CallExpression 2642849 2642899 + Identifier 2642849 2642877 + Identifier 2642878 2642887 + Identifier 2642888 2642898 + BarBarToken 2642899 2642902 + Identifier 2642902 2642910 + BinaryExpression 2642911 2642973 + CallExpression 2642911 2642962 + Identifier 2642911 2642939 + Identifier 2642940 2642950 + Identifier 2642951 2642961 + BarBarToken 2642962 2642965 + Identifier 2642965 2642973 + Identifier 2642974 2642996 + FunctionDeclaration 2643016 2646966 + Identifier 2643501 2643535 + Parameter 2643536 2643546 + Identifier 2643536 2643540 + TypeReference 2643541 2643546 + Identifier 2643541 2643546 + Parameter 2643547 2643565 + Identifier 2643547 2643551 + TypeReference 2643552 2643565 + Identifier 2643552 2643565 + Parameter 2643566 2643594 + Identifier 2643566 2643576 + UnionType 2643577 2643594 + TypeReference 2643577 2643582 + Identifier 2643577 2643582 + UndefinedKeyword 2643584 2643594 + Parameter 2643595 2643650 + Identifier 2643595 2643616 + UnionType 2643617 2643650 + TypeReference 2643617 2643638 + Identifier 2643617 2643638 + UndefinedKeyword 2643640 2643650 + Block 2643651 2646966 + IfStatement 2643653 2643735 + CallExpression 2643667 2643682 + Identifier 2643667 2643676 + Identifier 2643677 2643681 + Block 2643683 2643735 + ReturnStatement 2643685 2643724 + Identifier 2643705 2643723 + VariableStatement 2643735 2643998 + VariableDeclarationList 2643735 2643997 + VariableDeclaration 2643981 2643997 + Identifier 2643981 2643989 + FalseKeyword 2643991 2643997 + IfStatement 2643998 2644719 + BinaryExpression 2644014 2644057 + Identifier 2644014 2644017 + AmpersandToken 2644017 2644019 + PropertyAccessExpression 2644019 2644057 + Identifier 2644019 2644032 + Identifier 2644033 2644057 + Block 2644058 2644719 + VariableStatement 2644060 2644253 + VariableDeclarationList 2644060 2644252 + VariableDeclaration 2644079 2644252 + Identifier 2644079 2644094 + BinaryExpression 2644096 2644252 + CallExpression 2644096 2644165 + Identifier 2644096 2644130 + Identifier 2644131 2644135 + Identifier 2644136 2644164 + BarBarToken 2644165 2644168 + CallExpression 2644168 2644252 + Identifier 2644168 2644217 + Identifier 2644218 2644222 + Identifier 2644223 2644251 + IfStatement 2644253 2644708 + Identifier 2644271 2644285 + Block 2644286 2644708 + IfStatement 2644288 2644693 + BinaryExpression 2644310 2644358 + BinaryExpression 2644310 2644345 + Identifier 2644310 2644324 + EqualsEqualsEqualsToken 2644324 2644328 + Identifier 2644328 2644345 + AmpersandAmpersandToken 2644345 2644348 + Identifier 2644348 2644358 + Block 2644359 2644465 + ExpressionStatement 2644361 2644446 + BinaryExpression 2644361 2644445 + Identifier 2644361 2644438 + EqualsToken 2644438 2644440 + TrueKeyword 2644440 2644445 + Block 2644487 2644693 + ReturnStatement 2644489 2644674 + ConditionalExpression 2644517 2644673 + BinaryExpression 2644517 2644546 + Identifier 2644517 2644521 + AmpersandToken 2644521 2644523 + PropertyAccessExpression 2644523 2644546 + Identifier 2644523 2644536 + Identifier 2644537 2644546 + QuestionToken 2644546 2644548 + CallExpression 2644548 2644631 + Identifier 2644548 2644604 + Identifier 2644605 2644619 + Identifier 2644620 2644630 + ColonToken 2644631 2644633 + Identifier 2644633 2644673 + IfStatement 2644719 2645901 + BinaryExpression 2644735 2644777 + Identifier 2644735 2644738 + AmpersandToken 2644738 2644740 + PropertyAccessExpression 2644740 2644777 + Identifier 2644740 2644753 + Identifier 2644754 2644777 + Block 2644778 2645901 + VariableStatement 2644780 2644969 + VariableDeclarationList 2644780 2644968 + VariableDeclaration 2644797 2644968 + Identifier 2644797 2644812 + BinaryExpression 2644814 2644968 + CallExpression 2644814 2644882 + Identifier 2644814 2644848 + Identifier 2644849 2644853 + Identifier 2644854 2644881 + BarBarToken 2644882 2644885 + CallExpression 2644885 2644968 + Identifier 2644885 2644934 + Identifier 2644935 2644939 + Identifier 2644940 2644967 + IfStatement 2644969 2645890 + Identifier 2644987 2645001 + Block 2645002 2645890 + IfStatement 2645004 2645875 + BinaryExpression 2645026 2645074 + BinaryExpression 2645026 2645061 + Identifier 2645026 2645040 + EqualsEqualsEqualsToken 2645040 2645044 + Identifier 2645044 2645061 + AmpersandAmpersandToken 2645061 2645064 + Identifier 2645064 2645074 + Block 2645075 2645181 + ExpressionStatement 2645077 2645162 + BinaryExpression 2645077 2645161 + Identifier 2645077 2645154 + EqualsToken 2645154 2645156 + TrueKeyword 2645156 2645161 + Block 2645203 2645875 + IfStatement 2645205 2645856 + BinaryExpression 2645231 2645274 + Identifier 2645231 2645234 + AmpersandToken 2645234 2645236 + PropertyAccessExpression 2645236 2645274 + Identifier 2645236 2645249 + Identifier 2645250 2645274 + Block 2645275 2645757 + IfStatement 2645277 2645734 + BinaryExpression 2645421 2645456 + Identifier 2645421 2645435 + ExclamationEqualsEqualsToken 2645435 2645439 + Identifier 2645439 2645456 + Block 2645457 2645734 + ExpressionStatement 2645459 2645564 + BinaryExpression 2645459 2645563 + Identifier 2645459 2645503 + EqualsToken 2645503 2645505 + CallExpression 2645505 2645563 + Identifier 2645505 2645536 + Identifier 2645537 2645551 + Identifier 2645552 2645562 + ReturnStatement 2645564 2645707 + ConditionalExpression 2645600 2645706 + Identifier 2645600 2645608 + QuestionToken 2645608 2645610 + Identifier 2645610 2645625 + ColonToken 2645625 2645627 + CallExpression 2645627 2645706 + Identifier 2645627 2645651 + Identifier 2645652 2645656 + StringLiteral 2645657 2645689 + Identifier 2645690 2645705 + Block 2645783 2645856 + ReturnStatement 2645785 2645833 + Identifier 2645817 2645832 + IfStatement 2645901 2646231 + BinaryExpression 2645917 2645960 + Identifier 2645917 2645920 + AmpersandToken 2645920 2645922 + PropertyAccessExpression 2645922 2645960 + Identifier 2645922 2645935 + Identifier 2645936 2645960 + Block 2645961 2646231 + VariableStatement 2645963 2646109 + VariableDeclarationList 2645963 2646108 + VariableDeclaration 2645982 2646108 + Identifier 2645982 2645997 + CallExpression 2645999 2646108 + Identifier 2645999 2646031 + Identifier 2646032 2646036 + Identifier 2646037 2646065 + Identifier 2646066 2646076 + Identifier 2646077 2646098 + Identifier 2646099 2646107 + IfStatement 2646109 2646220 + BinaryExpression 2646127 2646162 + Identifier 2646127 2646141 + ExclamationEqualsEqualsToken 2646141 2646145 + Identifier 2646145 2646162 + Block 2646163 2646220 + ReturnStatement 2646165 2646205 + Identifier 2646189 2646204 + IfStatement 2646231 2646923 + BinaryExpression 2646247 2646289 + Identifier 2646247 2646250 + AmpersandToken 2646250 2646252 + PropertyAccessExpression 2646252 2646289 + Identifier 2646252 2646265 + Identifier 2646266 2646289 + Block 2646290 2646923 + VariableStatement 2646292 2646435 + VariableDeclarationList 2646292 2646434 + VariableDeclaration 2646309 2646434 + Identifier 2646309 2646324 + CallExpression 2646326 2646434 + Identifier 2646326 2646358 + Identifier 2646359 2646363 + Identifier 2646364 2646391 + Identifier 2646392 2646402 + Identifier 2646403 2646424 + Identifier 2646425 2646433 + IfStatement 2646435 2646912 + BinaryExpression 2646453 2646488 + Identifier 2646453 2646467 + ExclamationEqualsEqualsToken 2646467 2646471 + Identifier 2646471 2646488 + Block 2646489 2646912 + IfStatement 2646491 2646897 + BinaryExpression 2646513 2646556 + Identifier 2646513 2646516 + AmpersandToken 2646516 2646518 + PropertyAccessExpression 2646518 2646556 + Identifier 2646518 2646531 + Identifier 2646532 2646556 + Block 2646557 2646810 + ExpressionStatement 2646559 2646656 + BinaryExpression 2646559 2646655 + Identifier 2646559 2646595 + EqualsToken 2646595 2646597 + CallExpression 2646597 2646655 + Identifier 2646597 2646628 + Identifier 2646629 2646643 + Identifier 2646644 2646654 + ReturnStatement 2646656 2646791 + ConditionalExpression 2646684 2646790 + Identifier 2646684 2646692 + QuestionToken 2646692 2646694 + Identifier 2646694 2646709 + ColonToken 2646709 2646711 + CallExpression 2646711 2646790 + Identifier 2646711 2646735 + Identifier 2646736 2646740 + StringLiteral 2646741 2646773 + Identifier 2646774 2646789 + Block 2646832 2646897 + ReturnStatement 2646834 2646878 + Identifier 2646862 2646877 + ReturnStatement 2646923 2646959 + Identifier 2646941 2646958 + FunctionDeclaration 2646966 2647428 + Identifier 2647265 2647299 + Parameter 2647300 2647310 + Identifier 2647300 2647304 + TypeReference 2647305 2647310 + Identifier 2647305 2647310 + Parameter 2647311 2647344 + Identifier 2647311 2647320 + TypeReference 2647321 2647344 + Identifier 2647321 2647344 + Block 2647345 2647428 + ReturnStatement 2647347 2647421 + CallExpression 2647363 2647420 + Identifier 2647363 2647387 + Identifier 2647388 2647392 + PropertyAccessExpression 2647393 2647419 + Identifier 2647393 2647402 + Identifier 2647403 2647419 + FunctionDeclaration 2647428 2650328 + Identifier 2648052 2648084 + Parameter 2648085 2648095 + Identifier 2648085 2648089 + TypeReference 2648090 2648095 + Identifier 2648090 2648095 + Parameter 2648096 2648129 + Identifier 2648096 2648105 + TypeReference 2648106 2648129 + Identifier 2648106 2648129 + Block 2648130 2650328 + IfStatement 2648132 2649439 + BinaryExpression 2648653 2649049 + BinaryExpression 2648653 2648952 + BinaryExpression 2648653 2648848 + CallExpression 2648653 2648746 + Identifier 2648653 2648684 + Identifier 2648685 2648689 + CallExpression 2648690 2648745 + PropertyAccessExpression 2648690 2648721 + Identifier 2648690 2648699 + Identifier 2648700 2648721 + FalseKeyword 2648722 2648744 + BarBarToken 2648746 2648749 + CallExpression 2648749 2648848 + Identifier 2648749 2648780 + Identifier 2648781 2648785 + CallExpression 2648786 2648847 + PropertyAccessExpression 2648786 2648823 + Identifier 2648786 2648795 + Identifier 2648796 2648823 + FalseKeyword 2648824 2648846 + BarBarToken 2648848 2648851 + CallExpression 2648851 2648952 + Identifier 2648851 2648882 + Identifier 2648883 2648887 + CallExpression 2648888 2648951 + PropertyAccessExpression 2648888 2648927 + Identifier 2648888 2648897 + Identifier 2648898 2648927 + FalseKeyword 2648928 2648950 + BarBarToken 2648952 2648955 + CallExpression 2648955 2649049 + Identifier 2648955 2648986 + Identifier 2648987 2648991 + CallExpression 2648992 2649048 + PropertyAccessExpression 2648992 2649024 + Identifier 2648992 2649001 + Identifier 2649002 2649024 + FalseKeyword 2649025 2649047 + Block 2649060 2649439 + VariableStatement 2649062 2649156 + VariableDeclarationList 2649062 2649155 + VariableDeclaration 2649081 2649155 + ArrayBindingPattern 2649081 2649115 + BindingElement 2649083 2649092 + Identifier 2649083 2649092 + BindingElement 2649093 2649104 + Identifier 2649093 2649104 + BindingElement 2649105 2649114 + Identifier 2649105 2649114 + CallExpression 2649117 2649155 + Identifier 2649117 2649134 + AsExpression 2649135 2649154 + Identifier 2649135 2649139 + TypeReference 2649142 2649154 + Identifier 2649142 2649154 + ReturnStatement 2649156 2649428 + CallExpression 2649176 2649427 + Identifier 2649176 2649200 + Identifier 2649201 2649205 + PropertyAccessExpression 2649206 2649232 + Identifier 2649206 2649215 + Identifier 2649216 2649232 + CallExpression 2649233 2649426 + Identifier 2649233 2649254 + BinaryExpression 2649255 2649333 + CallExpression 2649255 2649320 + PropertyAccessExpression 2649255 2649284 + Identifier 2649255 2649263 + Identifier 2649264 2649284 + Identifier 2649285 2649294 + Identifier 2649295 2649319 + BarBarToken 2649320 2649323 + Identifier 2649323 2649333 + BinaryExpression 2649334 2649415 + CallExpression 2649334 2649401 + PropertyAccessExpression 2649334 2649364 + Identifier 2649334 2649343 + Identifier 2649344 2649364 + Identifier 2649365 2649375 + Identifier 2649376 2649400 + BarBarToken 2649401 2649404 + Identifier 2649404 2649415 + Identifier 2649416 2649425 + IfStatement 2649439 2650321 + CallExpression 2649787 2649856 + Identifier 2649787 2649808 + Identifier 2649809 2649813 + CallExpression 2649814 2649855 + PropertyAccessExpression 2649814 2649853 + Identifier 2649814 2649823 + Identifier 2649824 2649853 + Block 2649857 2650321 + VariableStatement 2649859 2649931 + VariableDeclarationList 2649859 2649930 + VariableDeclaration 2649878 2649930 + ArrayBindingPattern 2649878 2649890 + BindingElement 2649880 2649889 + Identifier 2649880 2649889 + CallExpression 2649892 2649930 + Identifier 2649892 2649909 + AsExpression 2649910 2649929 + Identifier 2649910 2649914 + TypeReference 2649917 2649929 + Identifier 2649917 2649929 + VariableStatement 2649931 2649995 + VariableDeclarationList 2649931 2649994 + VariableDeclaration 2649950 2649994 + Identifier 2649950 2649961 + CallExpression 2649963 2649994 + Identifier 2649963 2649992 + VariableStatement 2649995 2650038 + VariableDeclarationList 2649995 2650037 + VariableDeclaration 2650014 2650037 + Identifier 2650014 2650023 + Identifier 2650025 2650037 + ReturnStatement 2650038 2650310 + CallExpression 2650058 2650309 + Identifier 2650058 2650082 + Identifier 2650083 2650087 + PropertyAccessExpression 2650088 2650114 + Identifier 2650088 2650097 + Identifier 2650098 2650114 + CallExpression 2650115 2650308 + Identifier 2650115 2650136 + BinaryExpression 2650137 2650215 + CallExpression 2650137 2650202 + PropertyAccessExpression 2650137 2650166 + Identifier 2650137 2650145 + Identifier 2650146 2650166 + Identifier 2650167 2650176 + Identifier 2650177 2650201 + BarBarToken 2650202 2650205 + Identifier 2650205 2650215 + BinaryExpression 2650216 2650297 + CallExpression 2650216 2650283 + PropertyAccessExpression 2650216 2650246 + Identifier 2650216 2650225 + Identifier 2650226 2650246 + Identifier 2650247 2650257 + Identifier 2650258 2650282 + BarBarToken 2650283 2650286 + Identifier 2650286 2650297 + Identifier 2650298 2650307 + FunctionDeclaration 2650328 2650774 + Identifier 2650344 2650378 + Parameter 2650379 2650397 + Identifier 2650379 2650389 + StringKeyword 2650390 2650397 + TypeReference 2650399 2650408 + Identifier 2650399 2650408 + Block 2650408 2650774 + VariableStatement 2650410 2650496 + VariableDeclarationList 2650410 2650495 + VariableDeclaration 2650425 2650495 + Identifier 2650425 2650434 + CallExpression 2650436 2650495 + Identifier 2650436 2650471 + FalseKeyword 2650472 2650494 + VariableStatement 2650496 2650626 + VariableDeclarationList 2650496 2650625 + VariableDeclaration 2650511 2650625 + Identifier 2650511 2650522 + BinaryExpression 2650524 2650625 + Identifier 2650524 2650533 + AmpersandAmpersandToken 2650533 2650536 + CallExpression 2650536 2650625 + Identifier 2650536 2650560 + CallExpression 2650561 2650586 + Identifier 2650561 2650576 + Identifier 2650577 2650585 + CallExpression 2650587 2650624 + Identifier 2650587 2650612 + Identifier 2650613 2650623 + ReturnStatement 2650626 2650767 + ConditionalExpression 2650642 2650766 + BinaryExpression 2650642 2650695 + Identifier 2650642 2650653 + AmpersandAmpersandToken 2650653 2650656 + CallExpression 2650656 2650695 + Identifier 2650656 2650683 + Identifier 2650684 2650694 + QuestionToken 2650695 2650697 + CallExpression 2650697 2650733 + Identifier 2650697 2650721 + Identifier 2650722 2650732 + ColonToken 2650733 2650735 + AsExpression 2650735 2650766 + TemplateExpression 2650735 2650754 + TemplateHead 2650735 2650742 + TemplateSpan 2650742 2650754 + Identifier 2650742 2650752 + TemplateTail 2650752 2650754 + TypeReference 2650757 2650766 + Identifier 2650757 2650766 + FunctionDeclaration 2650774 2652862 + Identifier 2651248 2651280 + Parameter 2651281 2651291 + Identifier 2651281 2651285 + TypeReference 2651286 2651291 + Identifier 2651286 2651291 + Parameter 2651292 2651325 + Identifier 2651292 2651301 + TypeReference 2651302 2651325 + Identifier 2651302 2651325 + Parameter 2651326 2651354 + Identifier 2651326 2651336 + UnionType 2651337 2651354 + TypeReference 2651337 2651342 + Identifier 2651337 2651342 + UndefinedKeyword 2651344 2651354 + Parameter 2651355 2651410 + Identifier 2651355 2651376 + UnionType 2651377 2651410 + TypeReference 2651377 2651398 + Identifier 2651377 2651398 + UndefinedKeyword 2651400 2651410 + Parameter 2651411 2651428 + Identifier 2651411 2651419 + BooleanKeyword 2651420 2651428 + Block 2651429 2652862 + VariableStatement 2651431 2651544 + VariableDeclarationList 2651431 2651543 + VariableDeclaration 2651446 2651543 + Identifier 2651446 2651453 + CallExpression 2651455 2651543 + Identifier 2651455 2651473 + Identifier 2651474 2651478 + CallExpression 2651479 2651542 + Identifier 2651479 2651513 + PropertyAccessExpression 2651514 2651541 + Identifier 2651514 2651522 + Identifier 2651523 2651541 + VariableStatement 2651544 2651660 + VariableDeclarationList 2651544 2651659 + VariableDeclaration 2651559 2651659 + Identifier 2651559 2651570 + ConditionalExpression 2651572 2651659 + BinaryExpression 2651572 2651621 + Identifier 2651572 2651579 + AmpersandAmpersandToken 2651579 2651582 + PrefixUnaryExpression 2651582 2651621 + ParenthesizedExpression 2651584 2651621 + BinaryExpression 2651585 2651620 + PropertyAccessExpression 2651585 2651597 + Identifier 2651585 2651591 + Identifier 2651592 2651597 + AmpersandToken 2651597 2651599 + PropertyAccessExpression 2651599 2651620 + Identifier 2651599 2651611 + Identifier 2651612 2651620 + QuestionToken 2651621 2651623 + CallExpression 2651623 2651647 + Identifier 2651623 2651639 + Identifier 2651640 2651646 + ColonToken 2651647 2651649 + Identifier 2651649 2651659 + IfStatement 2651660 2651836 + CallExpression 2651674 2651695 + Identifier 2651674 2651683 + Identifier 2651684 2651694 + Block 2651696 2651836 + ReturnStatement 2651698 2651825 + ConditionalExpression 2651718 2651824 + Identifier 2651718 2651726 + QuestionToken 2651726 2651728 + Identifier 2651728 2651746 + ColonToken 2651746 2651748 + CallExpression 2651748 2651824 + Identifier 2651748 2651772 + Identifier 2651773 2651777 + PropertyAccessExpression 2651778 2651804 + Identifier 2651778 2651787 + Identifier 2651788 2651804 + Identifier 2651805 2651823 + VariableStatement 2651836 2651947 + VariableDeclarationList 2651836 2651946 + VariableDeclaration 2651853 2651946 + Identifier 2651853 2651867 + ConditionalExpression 2651869 2651946 + Identifier 2651869 2651880 + QuestionToken 2651880 2651882 + CallExpression 2651882 2651934 + Identifier 2651882 2651902 + Identifier 2651903 2651913 + PropertyAccessExpression 2651914 2651933 + Identifier 2651914 2651928 + Identifier 2651929 2651933 + ColonToken 2651934 2651936 + Identifier 2651936 2651946 + VariableStatement 2651947 2652042 + VariableDeclarationList 2651947 2652041 + VariableDeclaration 2651962 2652041 + Identifier 2651962 2651978 + CallExpression 2651980 2652041 + Identifier 2651980 2651987 + Identifier 2651988 2652001 + ArrowFunction 2652002 2652040 + Parameter 2652002 2652006 + Identifier 2652002 2652006 + EqualsGreaterThanToken 2652006 2652009 + BinaryExpression 2652009 2652040 + CallExpression 2652009 2652034 + Identifier 2652009 2652029 + Identifier 2652030 2652033 + EqualsEqualsEqualsToken 2652034 2652038 + NumericLiteral 2652038 2652040 + IfStatement 2652042 2652484 + PrefixUnaryExpression 2652056 2652078 + CallExpression 2652057 2652078 + Identifier 2652057 2652061 + Identifier 2652062 2652077 + Block 2652079 2652484 + IfStatement 2652081 2652348 + BinaryExpression 2652099 2652131 + Identifier 2652099 2652108 + AmpersandAmpersandToken 2652108 2652111 + CallExpression 2652111 2652131 + Identifier 2652111 2652116 + Identifier 2652117 2652130 + Block 2652132 2652348 + ExpressionStatement 2652134 2652333 + CallExpression 2652134 2652332 + Identifier 2652134 2652173 + Identifier 2652174 2652178 + CallExpression 2652179 2652233 + PropertyAccessExpression 2652179 2652210 + Identifier 2652179 2652188 + Identifier 2652189 2652210 + TrueKeyword 2652211 2652232 + Identifier 2652234 2652244 + Identifier 2652245 2652271 + Identifier 2652272 2652309 + Identifier 2652310 2652331 + ReturnStatement 2652348 2652473 + ConditionalExpression 2652368 2652472 + Identifier 2652368 2652376 + QuestionToken 2652376 2652378 + Identifier 2652378 2652395 + ColonToken 2652395 2652397 + CallExpression 2652397 2652472 + Identifier 2652397 2652421 + Identifier 2652422 2652426 + PropertyAccessExpression 2652427 2652453 + Identifier 2652427 2652436 + Identifier 2652437 2652453 + Identifier 2652454 2652471 + VariableStatement 2652484 2652585 + VariableDeclarationList 2652484 2652584 + VariableDeclaration 2652501 2652584 + Identifier 2652501 2652514 + CallExpression 2652516 2652584 + Identifier 2652516 2652536 + CallExpression 2652537 2652583 + Identifier 2652537 2652540 + Identifier 2652541 2652556 + Identifier 2652557 2652582 + VariableStatement 2652585 2652738 + VariableDeclarationList 2652585 2652737 + VariableDeclaration 2652600 2652737 + Identifier 2652600 2652615 + BinaryExpression 2652617 2652737 + CallExpression 2652617 2652717 + Identifier 2652617 2652651 + Identifier 2652652 2652664 + Identifier 2652665 2652674 + Identifier 2652675 2652685 + Identifier 2652686 2652707 + Identifier 2652708 2652716 + QuestionQuestionToken 2652717 2652720 + Identifier 2652720 2652737 + ReturnStatement 2652738 2652855 + ConditionalExpression 2652754 2652854 + Identifier 2652754 2652762 + QuestionToken 2652762 2652764 + Identifier 2652764 2652779 + ColonToken 2652779 2652781 + CallExpression 2652781 2652854 + Identifier 2652781 2652805 + Identifier 2652806 2652810 + PropertyAccessExpression 2652811 2652837 + Identifier 2652811 2652820 + Identifier 2652821 2652837 + Identifier 2652838 2652853 + FunctionDeclaration 2652862 2653961 + Identifier 2652878 2652905 + Parameter 2652906 2652921 + Identifier 2652906 2652915 + TypeReference 2652916 2652921 + Identifier 2652916 2652921 + Parameter 2652922 2652933 + Identifier 2652922 2652927 + TypeReference 2652928 2652933 + Identifier 2652928 2652933 + Parameter 2652934 2652963 + Identifier 2652934 2652954 + BooleanKeyword 2652955 2652963 + TypeReference 2652965 2652976 + Identifier 2652965 2652976 + Block 2652976 2653961 + VariableStatement 2652978 2653223 + VariableDeclarationList 2652978 2653222 + VariableDeclaration 2652993 2653222 + Identifier 2652993 2653001 + ConditionalExpression 2653003 2653222 + Identifier 2653003 2653023 + QuestionToken 2653023 2653038 + PropertyAccessExpression 2653038 2653128 + Identifier 2653038 2653050 + Identifier 2653051 2653128 + ColonToken 2653128 2653143 + PropertyAccessExpression 2653143 2653222 + Identifier 2653143 2653155 + Identifier 2653156 2653222 + VariableStatement 2653223 2653857 + VariableDeclarationList 2653223 2653856 + VariableDeclaration 2653238 2653856 + Identifier 2653238 2653251 + BinaryExpression 2653253 2653856 + PrefixUnaryExpression 2653253 2653365 + PrefixUnaryExpression 2653335 2653365 + CallExpression 2653336 2653365 + Identifier 2653336 2653359 + Identifier 2653360 2653364 + BarBarToken 2653365 2653433 + ParenthesizedExpression 2653433 2653856 + BinaryExpression 2653435 2653841 + BinaryExpression 2653435 2653682 + BinaryExpression 2653435 2653590 + BinaryExpression 2653435 2653528 + PrefixUnaryExpression 2653435 2653473 + Identifier 2653454 2653473 + AmpersandAmpersandToken 2653473 2653476 + CallExpression 2653476 2653528 + Identifier 2653476 2653510 + PropertyAccessExpression 2653511 2653527 + Identifier 2653511 2653520 + Identifier 2653521 2653527 + AmpersandAmpersandToken 2653528 2653531 + BinaryExpression 2653531 2653590 + PropertyAccessExpression 2653531 2653576 + PropertyAccessExpression 2653531 2653565 + Identifier 2653531 2653558 + Identifier 2653559 2653565 + Identifier 2653566 2653576 + EqualsEqualsEqualsToken 2653576 2653580 + Identifier 2653580 2653590 + AmpersandAmpersandToken 2653590 2653593 + BinaryExpression 2653593 2653682 + CallExpression 2653593 2653661 + Identifier 2653593 2653637 + FalseKeyword 2653638 2653660 + ExclamationEqualsEqualsToken 2653661 2653665 + Identifier 2653665 2653682 + AmpersandAmpersandToken 2653682 2653685 + CallExpression 2653685 2653841 + Identifier 2653685 2653721 + Identifier 2653722 2653726 + CallExpression 2653727 2653840 + Identifier 2653727 2653759 + CallExpression 2653760 2653810 + Identifier 2653760 2653786 + FalseKeyword 2653787 2653809 + ArrayLiteralExpression 2653811 2653839 + Identifier 2653813 2653820 + Identifier 2653821 2653829 + Identifier 2653830 2653838 + ReturnStatement 2653857 2653954 + CallExpression 2653873 2653953 + Identifier 2653873 2653899 + Identifier 2653900 2653909 + Identifier 2653910 2653923 + Identifier 2653924 2653932 + CallExpression 2653933 2653952 + Identifier 2653933 2653946 + Identifier 2653947 2653951 + FunctionDeclaration 2653961 2654555 + Identifier 2654268 2654296 + Parameter 2654297 2654307 + Identifier 2654297 2654301 + TypeReference 2654302 2654307 + Identifier 2654302 2654307 + Parameter 2654308 2654341 + Identifier 2654308 2654317 + TypeReference 2654318 2654341 + Identifier 2654318 2654341 + Parameter 2654342 2654370 + Identifier 2654342 2654352 + UnionType 2654353 2654370 + TypeReference 2654353 2654358 + Identifier 2654353 2654358 + UndefinedKeyword 2654360 2654370 + Parameter 2654371 2654426 + Identifier 2654371 2654392 + UnionType 2654393 2654426 + TypeReference 2654393 2654414 + Identifier 2654393 2654414 + UndefinedKeyword 2654416 2654426 + Block 2654427 2654555 + ReturnStatement 2654429 2654548 + CallExpression 2654445 2654547 + Identifier 2654445 2654479 + Identifier 2654480 2654484 + Identifier 2654485 2654494 + Identifier 2654495 2654505 + Identifier 2654506 2654527 + FalseKeyword 2654528 2654546 + FunctionDeclaration 2654555 2655771 + Identifier 2654999 2655033 + Parameter 2655034 2655044 + Identifier 2655034 2655038 + TypeReference 2655039 2655044 + Identifier 2655039 2655044 + Parameter 2655045 2655078 + Identifier 2655045 2655054 + TypeReference 2655055 2655078 + Identifier 2655055 2655078 + Parameter 2655079 2655107 + Identifier 2655079 2655089 + UnionType 2655090 2655107 + TypeReference 2655090 2655095 + Identifier 2655090 2655095 + UndefinedKeyword 2655097 2655107 + Parameter 2655108 2655163 + Identifier 2655108 2655129 + UnionType 2655130 2655163 + TypeReference 2655130 2655151 + Identifier 2655130 2655151 + UndefinedKeyword 2655153 2655163 + Parameter 2655164 2655181 + Identifier 2655164 2655172 + BooleanKeyword 2655173 2655181 + Block 2655182 2655771 + IfStatement 2655184 2655266 + CallExpression 2655198 2655213 + Identifier 2655198 2655207 + Identifier 2655208 2655212 + Block 2655214 2655266 + ReturnStatement 2655216 2655255 + Identifier 2655236 2655254 + VariableStatement 2655266 2655413 + VariableDeclarationList 2655266 2655412 + VariableDeclaration 2655281 2655412 + Identifier 2655281 2655296 + BinaryExpression 2655298 2655412 + CallExpression 2655298 2655348 + Identifier 2655298 2655332 + Identifier 2655333 2655337 + Identifier 2655338 2655347 + BarBarToken 2655348 2655351 + CallExpression 2655351 2655412 + Identifier 2655351 2655396 + Identifier 2655397 2655401 + Identifier 2655402 2655411 + IfStatement 2655413 2655561 + BinaryExpression 2655429 2655477 + BinaryExpression 2655429 2655464 + Identifier 2655429 2655443 + EqualsEqualsEqualsToken 2655443 2655447 + Identifier 2655447 2655464 + AmpersandAmpersandToken 2655464 2655467 + Identifier 2655467 2655477 + Block 2655478 2655561 + ExpressionStatement 2655480 2655521 + BinaryExpression 2655480 2655520 + Identifier 2655480 2655508 + EqualsToken 2655508 2655510 + Identifier 2655510 2655520 + ExpressionStatement 2655521 2655550 + BinaryExpression 2655521 2655549 + Identifier 2655521 2655542 + EqualsToken 2655542 2655544 + TrueKeyword 2655544 2655549 + ExpressionStatement 2655561 2655682 + BinaryExpression 2655561 2655681 + Identifier 2655561 2655587 + QuestionQuestionEqualsToken 2655587 2655591 + CallExpression 2655591 2655681 + Identifier 2655591 2655623 + Identifier 2655624 2655628 + Identifier 2655629 2655638 + Identifier 2655639 2655649 + Identifier 2655650 2655671 + Identifier 2655672 2655680 + ReturnStatement 2655682 2655764 + ConditionalExpression 2655698 2655763 + BinaryExpression 2655698 2655734 + Identifier 2655698 2655713 + EqualsEqualsEqualsToken 2655713 2655717 + Identifier 2655717 2655734 + QuestionToken 2655734 2655736 + Identifier 2655736 2655746 + ColonToken 2655746 2655748 + Identifier 2655748 2655763 + FunctionDeclaration 2655771 2656213 + Identifier 2656050 2656084 + Parameter 2656085 2656095 + Identifier 2656085 2656089 + TypeReference 2656090 2656095 + Identifier 2656090 2656095 + Parameter 2656096 2656129 + Identifier 2656096 2656105 + TypeReference 2656106 2656129 + Identifier 2656106 2656129 + Block 2656130 2656213 + ReturnStatement 2656132 2656206 + CallExpression 2656148 2656205 + Identifier 2656148 2656172 + Identifier 2656173 2656177 + PropertyAccessExpression 2656178 2656204 + Identifier 2656178 2656187 + Identifier 2656188 2656204 + FunctionDeclaration 2656213 2658836 + Identifier 2656830 2656862 + Parameter 2656863 2656873 + Identifier 2656863 2656867 + TypeReference 2656868 2656873 + Identifier 2656868 2656873 + Parameter 2656874 2656907 + Identifier 2656874 2656883 + TypeReference 2656884 2656907 + Identifier 2656884 2656907 + Block 2656908 2658836 + IfStatement 2656910 2658086 + BinaryExpression 2657439 2657835 + BinaryExpression 2657439 2657738 + BinaryExpression 2657439 2657636 + CallExpression 2657439 2657540 + Identifier 2657439 2657470 + Identifier 2657471 2657475 + CallExpression 2657476 2657539 + PropertyAccessExpression 2657476 2657515 + Identifier 2657476 2657485 + Identifier 2657486 2657515 + FalseKeyword 2657516 2657538 + BarBarToken 2657540 2657543 + CallExpression 2657543 2657636 + Identifier 2657543 2657574 + Identifier 2657575 2657579 + CallExpression 2657580 2657635 + PropertyAccessExpression 2657580 2657611 + Identifier 2657580 2657589 + Identifier 2657590 2657611 + FalseKeyword 2657612 2657634 + BarBarToken 2657636 2657639 + CallExpression 2657639 2657738 + Identifier 2657639 2657670 + Identifier 2657671 2657675 + CallExpression 2657676 2657737 + PropertyAccessExpression 2657676 2657713 + Identifier 2657676 2657685 + Identifier 2657686 2657713 + FalseKeyword 2657714 2657736 + BarBarToken 2657738 2657741 + CallExpression 2657741 2657835 + Identifier 2657741 2657772 + Identifier 2657773 2657777 + CallExpression 2657778 2657834 + PropertyAccessExpression 2657778 2657810 + Identifier 2657778 2657787 + Identifier 2657788 2657810 + FalseKeyword 2657811 2657833 + Block 2657846 2658086 + VariableStatement 2657848 2657942 + VariableDeclarationList 2657848 2657941 + VariableDeclaration 2657867 2657941 + ArrayBindingPattern 2657867 2657901 + BindingElement 2657869 2657878 + Identifier 2657869 2657878 + BindingElement 2657879 2657890 + Identifier 2657879 2657890 + BindingElement 2657891 2657900 + Identifier 2657891 2657900 + CallExpression 2657903 2657941 + Identifier 2657903 2657920 + AsExpression 2657921 2657940 + Identifier 2657921 2657925 + TypeReference 2657928 2657940 + Identifier 2657928 2657940 + ReturnStatement 2657942 2658075 + CallExpression 2657962 2658074 + Identifier 2657962 2657986 + Identifier 2657987 2657991 + PropertyAccessExpression 2657992 2658018 + Identifier 2657992 2658001 + Identifier 2658002 2658018 + CallExpression 2658019 2658073 + Identifier 2658019 2658040 + Identifier 2658041 2658050 + Identifier 2658051 2658062 + Identifier 2658063 2658072 + IfStatement 2658086 2658829 + CallExpression 2658434 2658503 + Identifier 2658434 2658455 + Identifier 2658456 2658460 + CallExpression 2658461 2658502 + PropertyAccessExpression 2658461 2658500 + Identifier 2658461 2658470 + Identifier 2658471 2658500 + Block 2658504 2658829 + VariableStatement 2658506 2658578 + VariableDeclarationList 2658506 2658577 + VariableDeclaration 2658525 2658577 + ArrayBindingPattern 2658525 2658537 + BindingElement 2658527 2658536 + Identifier 2658527 2658536 + CallExpression 2658539 2658577 + Identifier 2658539 2658556 + AsExpression 2658557 2658576 + Identifier 2658557 2658561 + TypeReference 2658564 2658576 + Identifier 2658564 2658576 + VariableStatement 2658578 2658642 + VariableDeclarationList 2658578 2658641 + VariableDeclaration 2658597 2658641 + Identifier 2658597 2658608 + CallExpression 2658610 2658641 + Identifier 2658610 2658639 + VariableStatement 2658642 2658685 + VariableDeclarationList 2658642 2658684 + VariableDeclaration 2658661 2658684 + Identifier 2658661 2658670 + Identifier 2658672 2658684 + ReturnStatement 2658685 2658818 + CallExpression 2658705 2658817 + Identifier 2658705 2658729 + Identifier 2658730 2658734 + PropertyAccessExpression 2658735 2658761 + Identifier 2658735 2658744 + Identifier 2658745 2658761 + CallExpression 2658762 2658816 + Identifier 2658762 2658783 + Identifier 2658784 2658793 + Identifier 2658794 2658805 + Identifier 2658806 2658815 + FunctionDeclaration 2658836 2659558 + Identifier 2658852 2658869 + Parameter 2658870 2658880 + Identifier 2658870 2658874 + TypeReference 2658875 2658880 + Identifier 2658875 2658880 + Parameter 2658881 2658938 + Identifier 2658881 2658886 + UnionType 2658887 2658938 + TypeReference 2658887 2658911 + QualifiedName 2658887 2658911 + Identifier 2658887 2658905 + Identifier 2658906 2658911 + TypeReference 2658913 2658938 + QualifiedName 2658913 2658938 + Identifier 2658913 2658931 + Identifier 2658932 2658938 + Block 2658939 2659558 + VariableStatement 2658941 2659448 + VariableDeclarationList 2658941 2659447 + VariableDeclaration 2659373 2659447 + Identifier 2659373 2659382 + BinaryExpression 2659384 2659447 + CallExpression 2659384 2659434 + Identifier 2659384 2659408 + Identifier 2659409 2659413 + AsExpression 2659414 2659433 + StringLiteral 2659414 2659421 + TypeReference 2659424 2659433 + Identifier 2659424 2659433 + BarBarToken 2659434 2659437 + Identifier 2659437 2659447 + ReturnStatement 2659448 2659551 + CallExpression 2659464 2659550 + Identifier 2659464 2659483 + ConditionalExpression 2659484 2659539 + BinaryExpression 2659484 2659516 + Identifier 2659484 2659488 + EqualsEqualsEqualsToken 2659488 2659492 + PropertyAccessExpression 2659492 2659516 + Identifier 2659492 2659510 + Identifier 2659511 2659516 + QuestionToken 2659516 2659518 + Identifier 2659518 2659528 + ColonToken 2659528 2659530 + Identifier 2659530 2659539 + Identifier 2659540 2659549 + FunctionDeclaration 2659558 2659682 + Identifier 2659574 2659596 + Parameter 2659597 2659607 + Identifier 2659597 2659601 + TypeReference 2659602 2659607 + Identifier 2659602 2659607 + Block 2659608 2659682 + ReturnStatement 2659610 2659675 + CallExpression 2659626 2659674 + Identifier 2659626 2659643 + Identifier 2659644 2659648 + PropertyAccessExpression 2659649 2659673 + Identifier 2659649 2659667 + Identifier 2659668 2659673 + FunctionDeclaration 2659682 2659808 + Identifier 2659698 2659721 + Parameter 2659722 2659732 + Identifier 2659722 2659726 + TypeReference 2659727 2659732 + Identifier 2659727 2659732 + Block 2659733 2659808 + ReturnStatement 2659735 2659801 + CallExpression 2659751 2659800 + Identifier 2659751 2659768 + Identifier 2659769 2659773 + PropertyAccessExpression 2659774 2659799 + Identifier 2659774 2659792 + Identifier 2659793 2659799 + FunctionDeclaration 2659808 2662537 + Identifier 2660153 2660187 + Parameter 2660188 2660198 + Identifier 2660188 2660192 + TypeReference 2660193 2660198 + Identifier 2660193 2660198 + Block 2660199 2662537 + IfStatement 2660201 2660283 + CallExpression 2660215 2660230 + Identifier 2660215 2660224 + Identifier 2660225 2660229 + Block 2660231 2660283 + ReturnStatement 2660233 2660272 + Identifier 2660253 2660271 + VariableStatement 2660283 2660379 + VariableDeclarationList 2660283 2660378 + VariableDeclaration 2660300 2660378 + Identifier 2660300 2660312 + CallExpression 2660314 2660378 + Identifier 2660314 2660338 + Identifier 2660339 2660343 + StringLiteral 2660344 2660377 + IfStatement 2660379 2660451 + Identifier 2660393 2660404 + Block 2660405 2660451 + ReturnStatement 2660407 2660440 + Identifier 2660427 2660439 + IfStatement 2660451 2661001 + CallExpression 2660665 2660746 + Identifier 2660665 2660682 + Identifier 2660683 2660687 + CallExpression 2660688 2660745 + Identifier 2660688 2660721 + FalseKeyword 2660722 2660744 + Block 2660747 2661001 + VariableStatement 2660749 2660822 + VariableDeclarationList 2660749 2660821 + VariableDeclaration 2660768 2660821 + Identifier 2660768 2660778 + ElementAccessExpression 2660780 2660821 + CallExpression 2660780 2660818 + Identifier 2660780 2660797 + AsExpression 2660798 2660817 + Identifier 2660798 2660802 + TypeReference 2660805 2660817 + Identifier 2660805 2660817 + NumericLiteral 2660819 2660820 + ReturnStatement 2660822 2660990 + CallExpression 2660842 2660989 + Identifier 2660842 2660866 + Identifier 2660867 2660871 + StringLiteral 2660872 2660905 + CallExpression 2660906 2660988 + Identifier 2660906 2660927 + Identifier 2660928 2660937 + Identifier 2660938 2660963 + Identifier 2660964 2660987 + IfStatement 2661001 2661353 + CallExpression 2661015 2661097 + Identifier 2661015 2661032 + Identifier 2661033 2661037 + CallExpression 2661038 2661096 + Identifier 2661038 2661072 + FalseKeyword 2661073 2661095 + Block 2661098 2661353 + VariableStatement 2661100 2661174 + VariableDeclarationList 2661100 2661173 + VariableDeclaration 2661119 2661173 + Identifier 2661119 2661130 + ElementAccessExpression 2661132 2661173 + CallExpression 2661132 2661170 + Identifier 2661132 2661149 + AsExpression 2661150 2661169 + Identifier 2661150 2661154 + TypeReference 2661157 2661169 + Identifier 2661157 2661169 + NumericLiteral 2661171 2661172 + ReturnStatement 2661174 2661342 + CallExpression 2661194 2661341 + Identifier 2661194 2661218 + Identifier 2661219 2661223 + StringLiteral 2661224 2661257 + CallExpression 2661258 2661340 + Identifier 2661258 2661279 + Identifier 2661280 2661303 + Identifier 2661304 2661315 + Identifier 2661316 2661339 + VariableStatement 2661353 2661516 + VariableDeclarationList 2661353 2661515 + VariableDeclaration 2661453 2661515 + Identifier 2661453 2661473 + CallExpression 2661475 2661515 + Identifier 2661475 2661486 + Identifier 2661487 2661491 + Identifier 2661492 2661514 + VariableStatement 2661516 2661658 + VariableDeclarationList 2661516 2661657 + VariableDeclaration 2661531 2661657 + Identifier 2661531 2661541 + ConditionalExpression 2661543 2661657 + BinaryExpression 2661543 2661577 + Identifier 2661543 2661563 + ExclamationEqualsEqualsToken 2661563 2661567 + Identifier 2661567 2661577 + QuestionToken 2661577 2661579 + CallExpression 2661579 2661645 + Identifier 2661579 2661603 + Identifier 2661604 2661623 + AsExpression 2661624 2661644 + StringLiteral 2661624 2661632 + TypeReference 2661635 2661644 + Identifier 2661635 2661644 + ColonToken 2661645 2661647 + Identifier 2661647 2661657 + VariableStatement 2661658 2661740 + VariableDeclarationList 2661658 2661739 + VariableDeclaration 2661675 2661739 + Identifier 2661675 2661696 + CallExpression 2661698 2661739 + Identifier 2661698 2661709 + Identifier 2661710 2661714 + Identifier 2661715 2661738 + VariableStatement 2661740 2661885 + VariableDeclarationList 2661740 2661884 + VariableDeclaration 2661755 2661884 + Identifier 2661755 2661766 + ConditionalExpression 2661768 2661884 + BinaryExpression 2661768 2661803 + Identifier 2661768 2661789 + ExclamationEqualsEqualsToken 2661789 2661793 + Identifier 2661793 2661803 + QuestionToken 2661803 2661805 + CallExpression 2661805 2661872 + Identifier 2661805 2661829 + Identifier 2661830 2661850 + AsExpression 2661851 2661871 + StringLiteral 2661851 2661859 + TypeReference 2661862 2661871 + Identifier 2661862 2661871 + ColonToken 2661872 2661874 + Identifier 2661874 2661884 + IfStatement 2661885 2662043 + BinaryExpression 2661901 2661926 + PrefixUnaryExpression 2661901 2661911 + Identifier 2661902 2661911 + AmpersandAmpersandToken 2661911 2661914 + PrefixUnaryExpression 2661914 2661926 + Identifier 2661916 2661926 + Block 2661927 2662043 + ReturnStatement 2661929 2662032 + CallExpression 2661949 2662031 + Identifier 2661949 2661973 + Identifier 2661974 2661978 + StringLiteral 2661979 2662012 + Identifier 2662013 2662030 + ReturnStatement 2662043 2662530 + CallExpression 2662384 2662529 + Identifier 2662384 2662408 + Identifier 2662409 2662413 + StringLiteral 2662414 2662447 + CallExpression 2662448 2662528 + Identifier 2662448 2662469 + Identifier 2662470 2662479 + BinaryExpression 2662480 2662503 + Identifier 2662480 2662491 + BarBarToken 2662491 2662494 + Identifier 2662494 2662503 + Identifier 2662504 2662527 + FunctionDeclaration 2662537 2669152 + Identifier 2662899 2662925 + Parameter 2662926 2662936 + Identifier 2662926 2662930 + TypeReference 2662931 2662936 + Identifier 2662931 2662936 + Parameter 2662937 2662970 + Identifier 2662937 2662946 + TypeReference 2662947 2662970 + Identifier 2662947 2662970 + Parameter 2662971 2663011 + Identifier 2662971 2662982 + UnionType 2662983 2663011 + LiteralType 2662983 2662990 + StringLiteral 2662983 2662990 + LiteralType 2662992 2663001 + StringLiteral 2662992 2663001 + LiteralType 2663003 2663011 + StringLiteral 2663003 2663011 + Parameter 2663012 2663040 + Identifier 2663012 2663022 + UnionType 2663023 2663040 + TypeReference 2663023 2663028 + Identifier 2663023 2663028 + UndefinedKeyword 2663030 2663040 + Parameter 2663041 2663096 + Identifier 2663041 2663062 + UnionType 2663063 2663096 + TypeReference 2663063 2663084 + Identifier 2663063 2663084 + UndefinedKeyword 2663086 2663096 + UnionType 2663098 2663125 + TypeReference 2663098 2663113 + Identifier 2663098 2663113 + UndefinedKeyword 2663115 2663125 + Block 2663125 2669152 + VariableStatement 2663127 2663200 + VariableDeclarationList 2663127 2663199 + VariableDeclaration 2663142 2663199 + Identifier 2663142 2663149 + CallExpression 2663151 2663199 + Identifier 2663151 2663169 + Identifier 2663170 2663174 + AsExpression 2663175 2663198 + Identifier 2663175 2663186 + TypeReference 2663189 2663198 + Identifier 2663189 2663198 + IfStatement 2663200 2663353 + BinaryExpression 2663276 2663308 + PrefixUnaryExpression 2663276 2663283 + Identifier 2663277 2663283 + AmpersandAmpersandToken 2663283 2663286 + BinaryExpression 2663286 2663308 + Identifier 2663286 2663297 + ExclamationEqualsEqualsToken 2663297 2663301 + StringLiteral 2663301 2663308 + Block 2663309 2663353 + ReturnStatement 2663311 2663342 + Identifier 2663331 2663341 + VariableStatement 2663353 2663621 + VariableDeclarationList 2663353 2663620 + VariableDeclaration 2663370 2663620 + Identifier 2663370 2663381 + ConditionalExpression 2663383 2663620 + BinaryExpression 2663383 2663459 + Identifier 2663383 2663390 + AmpersandAmpersandToken 2663390 2663393 + PrefixUnaryExpression 2663393 2663459 + ParenthesizedExpression 2663395 2663459 + BinaryExpression 2663396 2663458 + BinaryExpression 2663396 2663417 + Identifier 2663396 2663406 + EqualsEqualsEqualsToken 2663406 2663410 + StringLiteral 2663410 2663417 + AmpersandAmpersandToken 2663417 2663420 + ParenthesizedExpression 2663420 2663458 + BinaryExpression 2663422 2663457 + PropertyAccessExpression 2663422 2663434 + Identifier 2663422 2663428 + Identifier 2663429 2663434 + AmpersandToken 2663434 2663436 + PropertyAccessExpression 2663436 2663457 + Identifier 2663436 2663448 + Identifier 2663449 2663457 + QuestionToken 2663459 2663474 + ConditionalExpression 2663474 2663595 + BinaryExpression 2663474 2663496 + Identifier 2663474 2663485 + EqualsEqualsEqualsToken 2663485 2663489 + StringLiteral 2663489 2663496 + QuestionToken 2663496 2663498 + CallExpression 2663498 2663522 + Identifier 2663498 2663514 + Identifier 2663515 2663521 + ColonToken 2663522 2663524 + CallExpression 2663524 2663595 + Identifier 2663524 2663541 + CallExpression 2663542 2663565 + Identifier 2663542 2663557 + Identifier 2663558 2663564 + PropertyAccessExpression 2663566 2663594 + Identifier 2663566 2663576 + Identifier 2663577 2663594 + ColonToken 2663595 2663610 + Identifier 2663610 2663620 + IfStatement 2663621 2663711 + CallExpression 2663637 2663658 + Identifier 2663637 2663646 + Identifier 2663647 2663657 + Block 2663659 2663711 + ReturnStatement 2663661 2663700 + Identifier 2663681 2663699 + VariableStatement 2663711 2663902 + VariableDeclarationList 2663711 2663901 + VariableDeclaration 2663804 2663901 + Identifier 2663804 2663821 + ConditionalExpression 2663823 2663901 + Identifier 2663823 2663834 + QuestionToken 2663834 2663836 + CallExpression 2663836 2663888 + Identifier 2663836 2663856 + Identifier 2663857 2663867 + PropertyAccessExpression 2663868 2663887 + Identifier 2663868 2663882 + Identifier 2663883 2663887 + ColonToken 2663888 2663890 + Identifier 2663890 2663901 + IfStatement 2663902 2664597 + BinaryExpression 2663916 2663945 + PropertyAccessExpression 2663916 2663939 + Identifier 2663916 2663932 + Identifier 2663933 2663939 + EqualsEqualsEqualsToken 2663939 2663943 + NumericLiteral 2663943 2663945 + Block 2663946 2664597 + IfStatement 2663948 2664512 + Identifier 2663966 2663975 + Block 2663976 2664512 + VariableStatement 2663978 2664155 + VariableDeclarationList 2663978 2664154 + VariableDeclaration 2664001 2664154 + Identifier 2664001 2664012 + ConditionalExpression 2664014 2664154 + BinaryExpression 2664014 2664036 + Identifier 2664014 2664025 + EqualsEqualsEqualsToken 2664025 2664029 + StringLiteral 2664029 2664036 + QuestionToken 2664036 2664059 + PropertyAccessExpression 2664059 2664098 + Identifier 2664059 2664068 + Identifier 2664069 2664098 + ColonToken 2664098 2664121 + PropertyAccessExpression 2664121 2664154 + Identifier 2664121 2664130 + Identifier 2664131 2664154 + IfStatement 2664155 2664497 + Identifier 2664177 2664197 + Block 2664198 2664391 + ExpressionStatement 2664200 2664257 + BinaryExpression 2664200 2664256 + PropertyAccessExpression 2664200 2664249 + Identifier 2664200 2664242 + Identifier 2664243 2664249 + QuestionQuestionEqualsToken 2664249 2664253 + ArrayLiteralExpression 2664253 2664256 + ExpressionStatement 2664257 2664372 + CallExpression 2664257 2664371 + PropertyAccessExpression 2664257 2664311 + PropertyAccessExpression 2664257 2664306 + Identifier 2664257 2664299 + Identifier 2664300 2664306 + Identifier 2664307 2664311 + CallExpression 2664312 2664370 + Identifier 2664312 2664335 + Identifier 2664336 2664345 + Identifier 2664346 2664357 + Identifier 2664358 2664369 + Block 2664413 2664497 + ExpressionStatement 2664415 2664478 + CallExpression 2664415 2664477 + Identifier 2664415 2664442 + Identifier 2664443 2664452 + Identifier 2664453 2664464 + Identifier 2664465 2664476 + ReturnStatement 2664512 2664586 + ConditionalExpression 2664532 2664585 + BinaryExpression 2664532 2664554 + Identifier 2664532 2664543 + EqualsEqualsEqualsToken 2664543 2664547 + StringLiteral 2664547 2664554 + QuestionToken 2664554 2664556 + Identifier 2664556 2664573 + ColonToken 2664573 2664575 + Identifier 2664575 2664585 + IfStatement 2664597 2666395 + BinaryExpression 2665296 2665347 + PropertyAccessExpression 2665296 2665314 + Identifier 2665296 2665306 + QuestionDotToken 2665306 2665308 + Identifier 2665308 2665314 + AmpersandAmpersandToken 2665314 2665317 + BinaryExpression 2665317 2665347 + PropertyAccessExpression 2665317 2665341 + Identifier 2665317 2665334 + Identifier 2665335 2665341 + EqualsEqualsEqualsToken 2665341 2665345 + NumericLiteral 2665345 2665347 + Block 2665348 2666395 + VariableStatement 2665350 2665448 + VariableDeclarationList 2665350 2665447 + VariableDeclaration 2665369 2665447 + Identifier 2665369 2665389 + CallExpression 2665391 2665447 + PropertyAccessExpression 2665391 2665423 + Identifier 2665391 2665400 + Identifier 2665401 2665423 + FalseKeyword 2665424 2665446 + VariableStatement 2665448 2665544 + VariableDeclarationList 2665448 2665543 + VariableDeclaration 2665467 2665543 + Identifier 2665467 2665486 + CallExpression 2665488 2665543 + PropertyAccessExpression 2665488 2665519 + Identifier 2665488 2665497 + Identifier 2665498 2665519 + FalseKeyword 2665520 2665542 + VariableStatement 2665544 2665671 + VariableDeclarationList 2665544 2665670 + VariableDeclaration 2665563 2665670 + Identifier 2665563 2665581 + BinaryExpression 2665583 2665670 + CallExpression 2665583 2665648 + PropertyAccessExpression 2665583 2665624 + PropertyAccessExpression 2665583 2665619 + PropertyAccessExpression 2665583 2665610 + Identifier 2665583 2665603 + Identifier 2665604 2665610 + QuestionDotToken 2665610 2665612 + Identifier 2665612 2665619 + QuestionDotToken 2665619 2665621 + Identifier 2665621 2665624 + AsExpression 2665625 2665647 + Identifier 2665625 2665635 + TypeReference 2665638 2665647 + Identifier 2665638 2665647 + EqualsEqualsEqualsToken 2665648 2665652 + PropertyAccessExpression 2665652 2665670 + Identifier 2665652 2665663 + Identifier 2665664 2665670 + VariableStatement 2665671 2665818 + VariableDeclarationList 2665671 2665817 + VariableDeclaration 2665690 2665817 + Identifier 2665690 2665707 + BinaryExpression 2665709 2665817 + PrefixUnaryExpression 2665709 2665728 + Identifier 2665711 2665728 + AmpersandAmpersandToken 2665728 2665731 + BinaryExpression 2665731 2665817 + CallExpression 2665731 2665795 + PropertyAccessExpression 2665731 2665771 + PropertyAccessExpression 2665731 2665766 + PropertyAccessExpression 2665731 2665757 + Identifier 2665731 2665750 + Identifier 2665751 2665757 + QuestionDotToken 2665757 2665759 + Identifier 2665759 2665766 + QuestionDotToken 2665766 2665768 + Identifier 2665768 2665771 + AsExpression 2665772 2665794 + Identifier 2665772 2665782 + TypeReference 2665785 2665794 + Identifier 2665785 2665794 + EqualsEqualsEqualsToken 2665795 2665799 + PropertyAccessExpression 2665799 2665817 + Identifier 2665799 2665810 + Identifier 2665811 2665817 + IfStatement 2665818 2666384 + BinaryExpression 2665836 2665873 + Identifier 2665836 2665853 + BarBarToken 2665853 2665856 + Identifier 2665856 2665873 + Block 2665874 2666384 + VariableStatement 2665876 2665974 + VariableDeclarationList 2665876 2665973 + VariableDeclaration 2665899 2665973 + Identifier 2665899 2665910 + ConditionalExpression 2665912 2665973 + Identifier 2665912 2665930 + QuestionToken 2665930 2665932 + Identifier 2665932 2665952 + ColonToken 2665952 2665954 + Identifier 2665954 2665973 + VariableStatement 2665974 2666039 + VariableDeclarationList 2665974 2666038 + VariableDeclaration 2665997 2666038 + ObjectBindingPattern 2665997 2666008 + BindingElement 2665999 2666006 + Identifier 2665999 2666006 + AsExpression 2666010 2666038 + Identifier 2666010 2666021 + TypeReference 2666024 2666038 + Identifier 2666024 2666038 + ReturnStatement 2666039 2666369 + CallExpression 2666063 2666368 + Identifier 2666063 2666084 + CallExpression 2666085 2666160 + Identifier 2666085 2666120 + ElementAccessExpression 2666121 2666150 + NonNullExpression 2666121 2666147 + PropertyAccessExpression 2666121 2666146 + Identifier 2666121 2666131 + Identifier 2666132 2666146 + NumericLiteral 2666148 2666149 + NonNullExpression 2666151 2666159 + Identifier 2666151 2666158 + CallExpression 2666161 2666236 + Identifier 2666161 2666196 + ElementAccessExpression 2666197 2666226 + NonNullExpression 2666197 2666223 + PropertyAccessExpression 2666197 2666222 + Identifier 2666197 2666207 + Identifier 2666208 2666222 + NumericLiteral 2666224 2666225 + NonNullExpression 2666227 2666235 + Identifier 2666227 2666234 + ConditionalExpression 2666237 2666348 + BinaryExpression 2666237 2666280 + Identifier 2666237 2666269 + EqualsEqualsEqualsToken 2666269 2666273 + StringLiteral 2666273 2666280 + QuestionToken 2666280 2666282 + CallExpression 2666282 2666336 + Identifier 2666282 2666296 + ElementAccessExpression 2666297 2666326 + NonNullExpression 2666297 2666323 + PropertyAccessExpression 2666297 2666322 + Identifier 2666297 2666307 + Identifier 2666308 2666322 + NumericLiteral 2666324 2666325 + NonNullExpression 2666327 2666335 + Identifier 2666327 2666334 + ColonToken 2666336 2666338 + Identifier 2666338 2666348 + VariableStatement 2666395 2666527 + VariableDeclarationList 2666395 2666526 + VariableDeclaration 2666485 2666526 + Identifier 2666485 2666506 + UnionType 2666507 2666526 + ArrayType 2666507 2666514 + TypeReference 2666507 2666512 + Identifier 2666507 2666512 + UndefinedKeyword 2666516 2666526 + VariableStatement 2666527 2666579 + VariableDeclarationList 2666527 2666578 + VariableDeclaration 2666540 2666578 + Identifier 2666540 2666558 + UnionType 2666559 2666578 + ArrayType 2666559 2666566 + TypeReference 2666559 2666564 + Identifier 2666559 2666564 + UndefinedKeyword 2666568 2666578 + ForOfStatement 2666579 2666931 + VariableDeclarationList 2666594 2666609 + VariableDeclaration 2666599 2666609 + Identifier 2666599 2666609 + Identifier 2666612 2666629 + Block 2666630 2666931 + IfStatement 2666632 2666823 + BinaryExpression 2666650 2666702 + BinaryExpression 2666650 2666672 + Identifier 2666650 2666660 + ExclamationEqualsEqualsToken 2666660 2666664 + StringLiteral 2666664 2666672 + AmpersandAmpersandToken 2666672 2666675 + CallExpression 2666675 2666702 + Identifier 2666675 2666680 + PropertyAccessExpression 2666681 2666701 + Identifier 2666681 2666690 + Identifier 2666691 2666701 + Block 2666703 2666823 + ExpressionStatement 2666705 2666808 + BinaryExpression 2666705 2666807 + Identifier 2666705 2666743 + EqualsToken 2666743 2666745 + CallExpression 2666745 2666807 + Identifier 2666745 2666752 + Identifier 2666753 2666773 + CallExpression 2666774 2666806 + Identifier 2666774 2666792 + Identifier 2666793 2666802 + NumericLiteral 2666803 2666805 + ExpressionStatement 2666823 2666920 + BinaryExpression 2666823 2666919 + Identifier 2666823 2666854 + EqualsToken 2666854 2666856 + CallExpression 2666856 2666919 + Identifier 2666856 2666863 + Identifier 2666864 2666881 + CallExpression 2666882 2666918 + Identifier 2666882 2666907 + Identifier 2666908 2666917 + VariableStatement 2666931 2667114 + VariableDeclarationList 2666931 2667113 + VariableDeclaration 2667081 2667113 + Identifier 2667081 2667093 + UnionType 2667094 2667113 + ArrayType 2667094 2667101 + TypeReference 2667094 2667099 + Identifier 2667094 2667099 + UndefinedKeyword 2667103 2667113 + VariableStatement 2667114 2667155 + VariableDeclarationList 2667114 2667154 + VariableDeclaration 2667127 2667154 + Identifier 2667127 2667136 + UnionType 2667137 2667154 + TypeReference 2667137 2667142 + Identifier 2667137 2667142 + UndefinedKeyword 2667144 2667154 + IfStatement 2667155 2667863 + BinaryExpression 2667169 2667191 + Identifier 2667169 2667179 + ExclamationEqualsEqualsToken 2667179 2667183 + StringLiteral 2667183 2667191 + Block 2667192 2667863 + VariableStatement 2667194 2667308 + VariableDeclarationList 2667194 2667307 + VariableDeclaration 2667213 2667307 + Identifier 2667213 2667233 + ConditionalExpression 2667235 2667307 + Identifier 2667235 2667256 + QuestionToken 2667256 2667258 + CallExpression 2667258 2667293 + Identifier 2667258 2667271 + Identifier 2667272 2667292 + ColonToken 2667293 2667295 + Identifier 2667295 2667307 + IfStatement 2667308 2667852 + BinaryExpression 2667326 2667347 + Identifier 2667326 2667336 + EqualsEqualsEqualsToken 2667336 2667340 + StringLiteral 2667340 2667347 + Block 2667348 2667498 + ExpressionStatement 2667350 2667483 + BinaryExpression 2667350 2667482 + Identifier 2667350 2667460 + EqualsToken 2667460 2667462 + Identifier 2667462 2667482 + IfStatement 2667516 2667852 + BinaryExpression 2667521 2667544 + Identifier 2667521 2667531 + EqualsEqualsEqualsToken 2667531 2667535 + StringLiteral 2667535 2667544 + Block 2667545 2667852 + VariableStatement 2667547 2667756 + VariableDeclarationList 2667547 2667755 + VariableDeclaration 2667652 2667755 + Identifier 2667652 2667680 + BinaryExpression 2667682 2667755 + CallExpression 2667682 2667744 + PropertyAccessExpression 2667682 2667712 + Identifier 2667682 2667691 + Identifier 2667692 2667712 + Identifier 2667713 2667732 + Identifier 2667733 2667743 + BarBarToken 2667744 2667747 + Identifier 2667747 2667755 + ExpressionStatement 2667756 2667837 + BinaryExpression 2667756 2667836 + Identifier 2667756 2667785 + EqualsToken 2667785 2667787 + CallExpression 2667787 2667836 + Identifier 2667787 2667794 + Identifier 2667795 2667806 + Identifier 2667807 2667835 + VariableStatement 2667863 2668005 + VariableDeclarationList 2667863 2668004 + VariableDeclaration 2667988 2668004 + Identifier 2667988 2667998 + TypeReference 2667999 2668004 + Identifier 2667999 2668004 + VariableStatement 2668005 2668111 + VariableDeclarationList 2668005 2668110 + VariableDeclaration 2668020 2668110 + Identifier 2668020 2668037 + ConditionalExpression 2668039 2668110 + Identifier 2668039 2668057 + QuestionToken 2668057 2668059 + CallExpression 2668059 2668098 + Identifier 2668059 2668079 + Identifier 2668080 2668097 + ColonToken 2668098 2668100 + Identifier 2668100 2668110 + VariableStatement 2668111 2668224 + VariableDeclarationList 2668111 2668223 + VariableDeclaration 2668126 2668223 + Identifier 2668126 2668151 + BinaryExpression 2668153 2668223 + CallExpression 2668153 2668212 + PropertyAccessExpression 2668153 2668183 + Identifier 2668153 2668162 + Identifier 2668163 2668183 + Identifier 2668184 2668200 + Identifier 2668201 2668211 + BarBarToken 2668212 2668215 + Identifier 2668215 2668223 + VariableStatement 2668224 2668317 + VariableDeclarationList 2668224 2668316 + VariableDeclaration 2668239 2668316 + Identifier 2668239 2668254 + CallExpression 2668256 2668316 + Identifier 2668256 2668290 + Identifier 2668291 2668315 + IfStatement 2668317 2669057 + BinaryExpression 2668331 2668366 + Identifier 2668331 2668345 + EqualsEqualsEqualsToken 2668345 2668349 + Identifier 2668349 2668366 + Block 2668367 2668904 + IfStatement 2668369 2668802 + Identifier 2668387 2668396 + Block 2668397 2668802 + IfStatement 2668399 2668787 + Identifier 2668421 2668441 + Block 2668442 2668658 + ExpressionStatement 2668444 2668501 + BinaryExpression 2668444 2668500 + PropertyAccessExpression 2668444 2668493 + Identifier 2668444 2668486 + Identifier 2668487 2668493 + QuestionQuestionEqualsToken 2668493 2668497 + ArrayLiteralExpression 2668497 2668500 + ExpressionStatement 2668501 2668639 + CallExpression 2668501 2668638 + PropertyAccessExpression 2668501 2668555 + PropertyAccessExpression 2668501 2668550 + Identifier 2668501 2668543 + Identifier 2668544 2668550 + Identifier 2668551 2668555 + CallExpression 2668556 2668637 + Identifier 2668556 2668579 + Identifier 2668580 2668589 + PropertyAccessExpression 2668590 2668624 + Identifier 2668590 2668599 + Identifier 2668600 2668624 + Identifier 2668625 2668636 + Block 2668680 2668787 + ExpressionStatement 2668682 2668768 + CallExpression 2668682 2668767 + Identifier 2668682 2668709 + Identifier 2668710 2668719 + PropertyAccessExpression 2668720 2668754 + Identifier 2668720 2668729 + Identifier 2668730 2668754 + Identifier 2668755 2668766 + ExpressionStatement 2668802 2668836 + BinaryExpression 2668802 2668835 + Identifier 2668802 2668825 + EqualsToken 2668825 2668827 + Identifier 2668827 2668835 + ExpressionStatement 2668836 2668893 + BinaryExpression 2668836 2668892 + Identifier 2668836 2668861 + EqualsToken 2668861 2668863 + CallExpression 2668863 2668892 + Identifier 2668863 2668870 + Identifier 2668871 2668882 + Identifier 2668883 2668891 + Block 2668918 2669057 + ExpressionStatement 2668920 2668971 + BinaryExpression 2668920 2668970 + Identifier 2668920 2668943 + EqualsToken 2668943 2668945 + PropertyAccessExpression 2668945 2668970 + Identifier 2668945 2668960 + Identifier 2668961 2668970 + ExpressionStatement 2668971 2669046 + BinaryExpression 2668971 2669045 + Identifier 2668971 2668996 + EqualsToken 2668996 2668998 + CallExpression 2668998 2669045 + Identifier 2668998 2669005 + Identifier 2669006 2669017 + PropertyAccessExpression 2669018 2669044 + Identifier 2669018 2669033 + Identifier 2669034 2669044 + ReturnStatement 2669057 2669145 + CallExpression 2669075 2669144 + Identifier 2669075 2669096 + Identifier 2669097 2669106 + CallExpression 2669107 2669133 + Identifier 2669107 2669120 + Identifier 2669121 2669132 + Identifier 2669134 2669143 + FunctionDeclaration 2669152 2670296 + Identifier 2669626 2669658 + Parameter 2669659 2669669 + Identifier 2669659 2669663 + TypeReference 2669664 2669669 + Identifier 2669664 2669669 + Parameter 2669670 2669703 + Identifier 2669670 2669679 + TypeReference 2669680 2669703 + Identifier 2669680 2669703 + Parameter 2669704 2669732 + Identifier 2669704 2669714 + UnionType 2669715 2669732 + TypeReference 2669715 2669720 + Identifier 2669715 2669720 + UndefinedKeyword 2669722 2669732 + Parameter 2669733 2669788 + Identifier 2669733 2669754 + UnionType 2669755 2669788 + TypeReference 2669755 2669776 + Identifier 2669755 2669776 + UndefinedKeyword 2669778 2669788 + Parameter 2669789 2669806 + Identifier 2669789 2669797 + BooleanKeyword 2669798 2669806 + Block 2669807 2670296 + VariableStatement 2669809 2670172 + VariableDeclarationList 2669809 2670171 + VariableDeclaration 2669824 2670171 + Identifier 2669824 2669839 + CallExpression 2669841 2670171 + Identifier 2669841 2669863 + ArrayLiteralExpression 2669864 2670170 + CallExpression 2669865 2669961 + Identifier 2669865 2669904 + Identifier 2669905 2669909 + Identifier 2669910 2669919 + StringLiteral 2669920 2669927 + Identifier 2669928 2669938 + Identifier 2669939 2669960 + CallExpression 2669962 2670060 + Identifier 2669962 2670001 + Identifier 2670002 2670006 + Identifier 2670007 2670016 + StringLiteral 2670017 2670026 + Identifier 2670027 2670037 + Identifier 2670038 2670059 + CallExpression 2670061 2670158 + Identifier 2670061 2670100 + Identifier 2670101 2670105 + Identifier 2670106 2670115 + StringLiteral 2670116 2670124 + Identifier 2670125 2670135 + Identifier 2670136 2670157 + ReturnStatement 2670172 2670289 + ConditionalExpression 2670188 2670288 + Identifier 2670188 2670196 + QuestionToken 2670196 2670198 + Identifier 2670198 2670213 + ColonToken 2670213 2670215 + CallExpression 2670215 2670288 + Identifier 2670215 2670239 + Identifier 2670240 2670244 + PropertyAccessExpression 2670245 2670271 + Identifier 2670245 2670254 + Identifier 2670255 2670271 + Identifier 2670272 2670287 + FunctionDeclaration 2670296 2671087 + Identifier 2670653 2670699 + Parameter 2670700 2670723 + Identifier 2670700 2670704 + TypeReference 2670705 2670723 + Identifier 2670705 2670723 + Parameter 2670724 2670741 + Identifier 2670724 2670735 + TypeReference 2670736 2670741 + Identifier 2670736 2670741 + Parameter 2670742 2670768 + Identifier 2670742 2670759 + BooleanKeyword 2670760 2670768 + UnionType 2670770 2670787 + TypeReference 2670770 2670775 + Identifier 2670770 2670775 + UndefinedKeyword 2670777 2670787 + Block 2670787 2671087 + IfStatement 2670789 2670869 + CallExpression 2670803 2670824 + Identifier 2670803 2670812 + Identifier 2670813 2670823 + Block 2670825 2670869 + ReturnStatement 2670827 2670858 + Identifier 2670847 2670857 + VariableStatement 2670869 2670981 + VariableDeclarationList 2670869 2670980 + VariableDeclaration 2670886 2670980 + Identifier 2670886 2670901 + CallExpression 2670903 2670980 + Identifier 2670903 2670950 + Identifier 2670951 2670961 + Identifier 2670962 2670979 + ReturnStatement 2670981 2671080 + BinaryExpression 2670997 2671079 + Identifier 2670997 2671012 + AmpersandAmpersandToken 2671012 2671015 + ElementAccessExpression 2671015 2671079 + Identifier 2671015 2671030 + CallExpression 2671031 2671078 + Identifier 2671031 2671072 + Identifier 2671073 2671077 + FunctionDeclaration 2671087 2671701 + Identifier 2671103 2671150 + Parameter 2671151 2671161 + Identifier 2671151 2671155 + TypeReference 2671156 2671161 + Identifier 2671156 2671161 + Parameter 2671162 2671188 + Identifier 2671162 2671179 + BooleanKeyword 2671180 2671188 + Block 2671189 2671701 + IfStatement 2671191 2671273 + CallExpression 2671205 2671220 + Identifier 2671205 2671214 + Identifier 2671215 2671219 + Block 2671221 2671273 + ReturnStatement 2671223 2671262 + Identifier 2671243 2671261 + VariableStatement 2671273 2671389 + VariableDeclarationList 2671273 2671388 + VariableDeclaration 2671290 2671388 + Identifier 2671290 2671294 + ConditionalExpression 2671296 2671388 + Identifier 2671296 2671313 + QuestionToken 2671313 2671315 + PropertyAccessExpression 2671315 2671353 + Identifier 2671315 2671328 + Identifier 2671329 2671353 + ColonToken 2671353 2671355 + PropertyAccessExpression 2671355 2671388 + Identifier 2671355 2671368 + Identifier 2671369 2671388 + VariableStatement 2671389 2671492 + VariableDeclarationList 2671389 2671491 + VariableDeclaration 2671404 2671491 + Identifier 2671404 2671413 + ConditionalExpression 2671415 2671491 + Identifier 2671415 2671432 + QuestionToken 2671432 2671434 + Identifier 2671434 2671462 + ColonToken 2671462 2671464 + Identifier 2671464 2671491 + ReturnStatement 2671492 2671694 + BinaryExpression 2671508 2671693 + CallExpression 2671508 2671572 + Identifier 2671508 2671536 + Identifier 2671537 2671541 + Identifier 2671542 2671546 + Identifier 2671547 2671571 + BarBarToken 2671572 2671575 + CallExpression 2671575 2671693 + Identifier 2671575 2671616 + Identifier 2671617 2671621 + Identifier 2671622 2671631 + Identifier 2671632 2671656 + Identifier 2671657 2671692 + FunctionDeclaration 2671701 2671973 + Identifier 2671717 2671747 + Parameter 2671748 2671778 + Identifier 2671748 2671752 + TypeReference 2671753 2671778 + Identifier 2671753 2671778 + Block 2671779 2671973 + IfStatement 2671781 2671913 + PrefixUnaryExpression 2671824 2671868 + CallExpression 2671825 2671868 + Identifier 2671825 2671862 + Identifier 2671863 2671867 + ExpressionStatement 2671869 2671913 + CallExpression 2671869 2671912 + Identifier 2671869 2671906 + Identifier 2671907 2671911 + FunctionDeclaration 2671973 2672670 + Identifier 2671989 2672006 + Parameter 2672007 2672023 + Identifier 2672007 2672017 + TypeReference 2672018 2672023 + Identifier 2672018 2672023 + Parameter 2672024 2672053 + Identifier 2672024 2672038 + TypeReference 2672039 2672053 + Identifier 2672039 2672053 + Block 2672054 2672670 + VariableStatement 2672056 2672130 + VariableDeclarationList 2672056 2672129 + VariableDeclaration 2672071 2672129 + Identifier 2672071 2672083 + PrefixUnaryExpression 2672085 2672129 + PrefixUnaryExpression 2672087 2672129 + ParenthesizedExpression 2672088 2672129 + BinaryExpression 2672089 2672128 + Identifier 2672089 2672102 + AmpersandToken 2672102 2672104 + PropertyAccessExpression 2672104 2672128 + Identifier 2672104 2672118 + Identifier 2672119 2672128 + VariableStatement 2672130 2672196 + VariableDeclarationList 2672130 2672195 + VariableDeclaration 2672145 2672195 + Identifier 2672145 2672153 + PrefixUnaryExpression 2672155 2672195 + PrefixUnaryExpression 2672157 2672195 + ParenthesizedExpression 2672158 2672195 + BinaryExpression 2672159 2672194 + Identifier 2672159 2672172 + AmpersandToken 2672172 2672174 + PropertyAccessExpression 2672174 2672194 + Identifier 2672174 2672188 + Identifier 2672189 2672194 + IfStatement 2672196 2672576 + Identifier 2672210 2672221 + Block 2672222 2672576 + VariableStatement 2672224 2672359 + VariableDeclarationList 2672224 2672358 + VariableDeclaration 2672243 2672358 + Identifier 2672243 2672263 + CallExpression 2672265 2672358 + Identifier 2672265 2672311 + PropertyAccessExpression 2672312 2672336 + Identifier 2672312 2672329 + Identifier 2672330 2672336 + Identifier 2672337 2672348 + Identifier 2672349 2672357 + IfStatement 2672359 2672450 + PrefixUnaryExpression 2672377 2672397 + Identifier 2672378 2672397 + Block 2672398 2672450 + ReturnStatement 2672400 2672435 + Identifier 2672424 2672434 + ReturnStatement 2672450 2672565 + ConditionalExpression 2672470 2672564 + Identifier 2672470 2672478 + QuestionToken 2672478 2672480 + CallExpression 2672480 2672542 + Identifier 2672480 2672502 + CallExpression 2672503 2672541 + Identifier 2672503 2672520 + Identifier 2672521 2672540 + ColonToken 2672542 2672544 + Identifier 2672544 2672564 + ReturnStatement 2672576 2672663 + ConditionalExpression 2672592 2672662 + Identifier 2672592 2672600 + QuestionToken 2672600 2672602 + BinaryExpression 2672602 2672649 + CallExpression 2672602 2672636 + Identifier 2672602 2672624 + Identifier 2672625 2672635 + BarBarToken 2672636 2672639 + Identifier 2672639 2672649 + ColonToken 2672649 2672651 + Identifier 2672651 2672662 + FunctionDeclaration 2672670 2672989 + Identifier 2672686 2672726 + Parameter 2672727 2672753 + Identifier 2672727 2672731 + TypeReference 2672732 2672753 + Identifier 2672732 2672753 + Parameter 2672754 2672771 + Identifier 2672754 2672765 + TypeReference 2672766 2672771 + Identifier 2672766 2672771 + BooleanKeyword 2672773 2672781 + Block 2672781 2672989 + VariableStatement 2672783 2672859 + VariableDeclarationList 2672783 2672858 + VariableDeclaration 2672798 2672858 + Identifier 2672798 2672803 + CallExpression 2672805 2672858 + Identifier 2672805 2672822 + Identifier 2672823 2672833 + CallExpression 2672834 2672857 + Identifier 2672834 2672851 + Identifier 2672852 2672856 + ReturnStatement 2672859 2672982 + PrefixUnaryExpression 2672875 2672981 + PrefixUnaryExpression 2672877 2672981 + ParenthesizedExpression 2672878 2672981 + BinaryExpression 2672879 2672980 + Identifier 2672879 2672883 + AmpersandAmpersandToken 2672883 2672886 + ParenthesizedExpression 2672886 2672980 + BinaryExpression 2672888 2672979 + CallExpression 2672888 2672925 + Identifier 2672888 2672903 + Identifier 2672904 2672908 + PropertyAccessExpression 2672909 2672924 + Identifier 2672909 2672919 + Identifier 2672920 2672924 + BarBarToken 2672925 2672928 + BinaryExpression 2672928 2672979 + PropertyAccessExpression 2672928 2672939 + Identifier 2672928 2672933 + Identifier 2672934 2672939 + AmpersandToken 2672939 2672941 + ParenthesizedExpression 2672941 2672979 + BinaryExpression 2672943 2672978 + PropertyAccessExpression 2672943 2672956 + Identifier 2672943 2672952 + Identifier 2672953 2672956 + BarToken 2672956 2672958 + PropertyAccessExpression 2672958 2672978 + Identifier 2672958 2672968 + Identifier 2672969 2672978 + FunctionDeclaration 2672989 2675340 + Identifier 2673005 2673026 + Parameter 2673027 2673048 + Identifier 2673027 2673031 + TypeReference 2673032 2673048 + Identifier 2673032 2673048 + Block 2673049 2675340 + IfStatement 2673051 2673172 + CallExpression 2673094 2673137 + Identifier 2673094 2673131 + Identifier 2673132 2673136 + Block 2673138 2673172 + ReturnStatement 2673140 2673161 + VariableStatement 2673172 2673248 + VariableDeclarationList 2673172 2673247 + VariableDeclaration 2673189 2673247 + Identifier 2673189 2673199 + CallExpression 2673201 2673247 + Identifier 2673201 2673241 + Identifier 2673242 2673246 + IfStatement 2673248 2673470 + BinaryExpression 2673262 2673315 + Identifier 2673262 2673271 + AmpersandAmpersandToken 2673271 2673274 + CallExpression 2673274 2673315 + Identifier 2673274 2673304 + Identifier 2673305 2673314 + Block 2673316 2673470 + ExpressionStatement 2673318 2673438 + CallExpression 2673318 2673437 + Identifier 2673318 2673356 + Identifier 2673357 2673361 + PropertyAccessExpression 2673362 2673436 + Identifier 2673362 2673374 + Identifier 2673375 2673436 + ReturnStatement 2673438 2673459 + IfStatement 2673470 2673648 + PrefixUnaryExpression 2673486 2673496 + Identifier 2673487 2673496 + Block 2673497 2673648 + ExpressionStatement 2673499 2673616 + CallExpression 2673499 2673615 + Identifier 2673499 2673537 + Identifier 2673538 2673542 + PropertyAccessExpression 2673543 2673614 + Identifier 2673543 2673555 + Identifier 2673556 2673614 + ReturnStatement 2673616 2673637 + VariableStatement 2673648 2673717 + VariableDeclarationList 2673648 2673716 + VariableDeclaration 2673665 2673716 + Identifier 2673665 2673675 + CallExpression 2673677 2673716 + Identifier 2673677 2673705 + Identifier 2673706 2673715 + VariableStatement 2673717 2673782 + VariableDeclarationList 2673717 2673781 + VariableDeclaration 2673732 2673781 + Identifier 2673732 2673743 + CallExpression 2673745 2673781 + Identifier 2673745 2673770 + Identifier 2673771 2673780 + IfStatement 2673782 2675333 + BinaryExpression 2673796 2673869 + BinaryExpression 2673796 2673831 + Identifier 2673796 2673812 + BarBarToken 2673812 2673815 + PropertyAccessExpression 2673815 2673831 + Identifier 2673815 2673820 + Identifier 2673821 2673831 + BarBarToken 2673831 2673834 + BinaryExpression 2673834 2673869 + PropertyAccessExpression 2673834 2673851 + Identifier 2673834 2673845 + Identifier 2673846 2673851 + AmpersandToken 2673851 2673853 + PropertyAccessExpression 2673853 2673869 + Identifier 2673853 2673863 + Identifier 2673864 2673869 + Block 2673870 2674981 + VariableStatement 2673872 2673976 + VariableDeclarationList 2673872 2673975 + VariableDeclaration 2673891 2673975 + Identifier 2673891 2673900 + ConditionalExpression 2673902 2673975 + PropertyAccessExpression 2673902 2673918 + Identifier 2673902 2673907 + Identifier 2673908 2673918 + QuestionToken 2673918 2673920 + CallExpression 2673920 2673959 + Identifier 2673920 2673942 + PropertyAccessExpression 2673943 2673958 + Identifier 2673943 2673947 + Identifier 2673948 2673958 + ColonToken 2673959 2673961 + Identifier 2673961 2673975 + IfStatement 2673976 2674970 + BinaryExpression 2673994 2674035 + PropertyAccessExpression 2673994 2674008 + Identifier 2673994 2674003 + Identifier 2674004 2674008 + EqualsEqualsEqualsToken 2674008 2674012 + PropertyAccessExpression 2674012 2674035 + Identifier 2674012 2674023 + Identifier 2674024 2674035 + Block 2674036 2674189 + IfStatement 2674038 2674174 + PropertyAccessExpression 2674060 2674075 + Identifier 2674060 2674064 + Identifier 2674065 2674075 + Block 2674076 2674174 + ExpressionStatement 2674078 2674155 + CallExpression 2674078 2674154 + Identifier 2674078 2674105 + Identifier 2674106 2674110 + PropertyAccessExpression 2674111 2674153 + Identifier 2674111 2674123 + Identifier 2674124 2674153 + IfStatement 2674207 2674970 + BinaryExpression 2674212 2674253 + PropertyAccessExpression 2674212 2674226 + Identifier 2674212 2674221 + Identifier 2674222 2674226 + EqualsEqualsEqualsToken 2674226 2674230 + PropertyAccessExpression 2674230 2674253 + Identifier 2674230 2674241 + Identifier 2674242 2674253 + Block 2674254 2674668 + VariableStatement 2674256 2674364 + VariableDeclarationList 2674256 2674363 + VariableDeclaration 2674279 2674363 + Identifier 2674279 2674288 + ConditionalExpression 2674290 2674363 + PropertyAccessExpression 2674290 2674306 + Identifier 2674290 2674295 + Identifier 2674296 2674306 + QuestionToken 2674306 2674308 + CallExpression 2674308 2674347 + Identifier 2674308 2674330 + PropertyAccessExpression 2674331 2674346 + Identifier 2674331 2674335 + Identifier 2674336 2674346 + ColonToken 2674347 2674349 + Identifier 2674349 2674363 + IfStatement 2674364 2674653 + BinaryExpression 2674386 2674494 + PropertyAccessExpression 2674386 2674401 + Identifier 2674386 2674390 + Identifier 2674391 2674401 + AmpersandAmpersandToken 2674401 2674404 + PrefixUnaryExpression 2674404 2674494 + CallExpression 2674406 2674494 + Identifier 2674406 2674449 + Identifier 2674450 2674458 + Identifier 2674459 2674470 + Identifier 2674471 2674476 + PropertyAccessExpression 2674477 2674493 + Identifier 2674477 2674482 + Identifier 2674483 2674493 + Block 2674495 2674653 + ExpressionStatement 2674497 2674634 + CallExpression 2674497 2674633 + Identifier 2674497 2674524 + Identifier 2674525 2674529 + PropertyAccessExpression 2674530 2674632 + Identifier 2674530 2674542 + Identifier 2674543 2674632 + IfStatement 2674686 2674970 + CallExpression 2674691 2674729 + Identifier 2674691 2674718 + Identifier 2674719 2674728 + Block 2674730 2674970 + VariableStatement 2674732 2674850 + VariableDeclarationList 2674732 2674849 + VariableDeclaration 2674755 2674849 + Identifier 2674755 2674775 + BinaryExpression 2674777 2674849 + CallExpression 2674777 2674835 + Identifier 2674777 2674794 + Identifier 2674795 2674805 + CallExpression 2674806 2674834 + Identifier 2674806 2674823 + Identifier 2674824 2674833 + QuestionQuestionToken 2674835 2674838 + Identifier 2674838 2674849 + ExpressionStatement 2674850 2674955 + CallExpression 2674850 2674954 + Identifier 2674850 2674889 + Identifier 2674890 2674899 + Identifier 2674900 2674920 + Identifier 2674921 2674926 + PropertyAccessExpression 2674927 2674943 + Identifier 2674927 2674932 + Identifier 2674933 2674943 + Identifier 2674944 2674953 + IfStatement 2674995 2675333 + BinaryExpression 2675000 2675145 + BinaryExpression 2675000 2675078 + BinaryExpression 2675000 2675041 + PropertyAccessExpression 2675000 2675014 + Identifier 2675000 2675009 + Identifier 2675010 2675014 + ExclamationEqualsEqualsToken 2675014 2675018 + PropertyAccessExpression 2675018 2675041 + Identifier 2675018 2675029 + Identifier 2675030 2675041 + AmpersandAmpersandToken 2675041 2675044 + PropertyAccessExpression 2675044 2675078 + Identifier 2675044 2675060 + Identifier 2675061 2675078 + AmpersandAmpersandToken 2675078 2675081 + PrefixUnaryExpression 2675081 2675145 + CallExpression 2675083 2675145 + Identifier 2675083 2675122 + Identifier 2675123 2675132 + Identifier 2675133 2675144 + Block 2675146 2675333 + ExpressionStatement 2675148 2675322 + CallExpression 2675148 2675321 + Identifier 2675148 2675268 + Identifier 2675269 2675273 + PropertyAccessExpression 2675274 2675320 + Identifier 2675274 2675286 + Identifier 2675287 2675320 + FunctionDeclaration 2675340 2677270 + Identifier 2675506 2675528 + Parameter 2675529 2675570 + Identifier 2675529 2675548 + TypeReference 2675549 2675570 + Identifier 2675549 2675570 + Parameter 2675571 2675606 + Identifier 2675571 2675600 + TypeReference 2675601 2675606 + Identifier 2675601 2675606 + Parameter 2675607 2675651 + Identifier 2675607 2675621 + UnionType 2675622 2675651 + TypeReference 2675622 2675638 + Identifier 2675622 2675638 + TypeReference 2675640 2675651 + Identifier 2675640 2675651 + Parameter 2675652 2675690 + Identifier 2675652 2675666 + UnionType 2675667 2675690 + TypeReference 2675667 2675678 + Identifier 2675667 2675678 + UndefinedKeyword 2675680 2675690 + Parameter 2675691 2675715 + Identifier 2675691 2675709 + TypeReference 2675710 2675715 + Identifier 2675710 2675715 + Parameter 2675716 2675757 + Identifier 2675716 2675749 + FalseKeyword 2675751 2675757 + VoidKeyword 2675766 2675771 + Block 2675771 2677270 + VariableStatement 2675773 2675835 + VariableDeclarationList 2675773 2675834 + VariableDeclaration 2675788 2675834 + Identifier 2675788 2675815 + CallExpression 2675817 2675834 + Identifier 2675817 2675828 + Identifier 2675829 2675833 + VariableStatement 2675835 2675895 + VariableDeclarationList 2675835 2675894 + VariableDeclaration 2675850 2675894 + Identifier 2675850 2675864 + CallExpression 2675866 2675894 + Identifier 2675866 2675883 + Identifier 2675884 2675893 + IfStatement 2675895 2676468 + Identifier 2675909 2675913 + Block 2675914 2676468 + VariableStatement 2675916 2676002 + VariableDeclarationList 2675916 2676001 + VariableDeclaration 2675935 2676001 + Identifier 2675935 2675949 + CallExpression 2675951 2676001 + Identifier 2675951 2675967 + Identifier 2675968 2675972 + Identifier 2675973 2676000 + IfStatement 2676002 2676457 + CallExpression 2676020 2676058 + Identifier 2676020 2676043 + Identifier 2676044 2676057 + Block 2676059 2676457 + ExpressionStatement 2676061 2676238 + CallExpression 2676061 2676237 + Identifier 2676061 2676100 + Identifier 2676101 2676110 + Identifier 2676111 2676131 + Identifier 2676132 2676137 + PropertyAccessExpression 2676138 2676161 + Identifier 2676138 2676152 + Identifier 2676153 2676161 + CallExpression 2676162 2676202 + Identifier 2676162 2676178 + PropertyAccessExpression 2676179 2676201 + Identifier 2676179 2676192 + Identifier 2676193 2676201 + TrueKeyword 2676203 2676236 + ExpressionStatement 2676238 2676417 + CallExpression 2676238 2676416 + Identifier 2676238 2676277 + Identifier 2676278 2676287 + Identifier 2676288 2676308 + Identifier 2676309 2676314 + PropertyAccessExpression 2676315 2676339 + Identifier 2676315 2676329 + Identifier 2676330 2676339 + CallExpression 2676340 2676381 + Identifier 2676340 2676356 + PropertyAccessExpression 2676357 2676380 + Identifier 2676357 2676370 + Identifier 2676371 2676380 + TrueKeyword 2676382 2676415 + ReturnStatement 2676417 2676442 + VariableStatement 2676468 2676547 + VariableDeclarationList 2676468 2676546 + VariableDeclaration 2676485 2676546 + Identifier 2676485 2676503 + BinaryExpression 2676505 2676546 + PropertyAccessExpression 2676505 2676515 + Identifier 2676505 2676510 + Identifier 2676511 2676515 + EqualsEqualsEqualsToken 2676515 2676519 + PropertyAccessExpression 2676519 2676546 + Identifier 2676519 2676530 + Identifier 2676531 2676546 + VariableStatement 2676547 2676920 + VariableDeclarationList 2676547 2676919 + VariableDeclaration 2676562 2676919 + Identifier 2676562 2676580 + ConditionalExpression 2676582 2676919 + BinaryExpression 2676582 2676618 + Identifier 2676582 2676596 + AmpersandToken 2676596 2676598 + PropertyAccessExpression 2676598 2676618 + Identifier 2676598 2676612 + Identifier 2676613 2676618 + QuestionToken 2676618 2676633 + CallExpression 2676633 2676895 + Identifier 2676633 2676650 + Identifier 2676651 2676677 + FalseKeyword 2676678 2676715 + Identifier 2676716 2676738 + PropertyAccessExpression 2676739 2676879 + Identifier 2676739 2676768 + Identifier 2676769 2676879 + ColonToken 2676895 2676910 + Identifier 2676910 2676919 + VariableStatement 2676920 2676990 + VariableDeclarationList 2676920 2676989 + VariableDeclaration 2676937 2676989 + Identifier 2676937 2676951 + BinaryExpression 2676953 2676989 + Identifier 2676953 2676958 + AmpersandAmpersandToken 2676958 2676961 + CallExpression 2676961 2676989 + Identifier 2676961 2676983 + Identifier 2676984 2676988 + VariableStatement 2676990 2677141 + VariableDeclarationList 2676990 2677140 + VariableDeclaration 2677059 2677140 + Identifier 2677059 2677069 + ConditionalExpression 2677071 2677140 + BinaryExpression 2677071 2677117 + Identifier 2677071 2677089 + AmpersandAmpersandToken 2677089 2677092 + PrefixUnaryExpression 2677092 2677117 + Identifier 2677094 2677117 + QuestionToken 2677117 2677119 + Identifier 2677119 2677124 + ColonToken 2677124 2677126 + Identifier 2677126 2677140 + ExpressionStatement 2677141 2677263 + CallExpression 2677141 2677262 + Identifier 2677141 2677196 + Identifier 2677197 2677214 + Identifier 2677215 2677235 + Identifier 2677236 2677246 + Identifier 2677247 2677261 + FunctionDeclaration 2677270 2678094 + Identifier 2677286 2677305 + Parameter 2677306 2677325 + Identifier 2677306 2677310 + TypeReference 2677311 2677325 + Identifier 2677311 2677325 + Block 2677326 2678094 + IfStatement 2677328 2677639 + PrefixUnaryExpression 2677389 2677433 + CallExpression 2677390 2677433 + Identifier 2677390 2677427 + Identifier 2677428 2677432 + Block 2677434 2677639 + IfStatement 2677436 2677628 + BinaryExpression 2677454 2677489 + PropertyAccessExpression 2677454 2677464 + Identifier 2677454 2677458 + Identifier 2677459 2677464 + AmpersandToken 2677464 2677466 + PropertyAccessExpression 2677466 2677489 + Identifier 2677466 2677476 + Identifier 2677477 2677489 + Block 2677490 2677628 + ExpressionStatement 2677492 2677613 + CallExpression 2677492 2677612 + Identifier 2677492 2677534 + Identifier 2677535 2677539 + PropertyAccessExpression 2677540 2677611 + Identifier 2677540 2677552 + Identifier 2677553 2677611 + ExpressionStatement 2677639 2677684 + CallExpression 2677639 2677683 + Identifier 2677639 2677666 + PropertyAccessExpression 2677667 2677682 + Identifier 2677667 2677671 + Identifier 2677672 2677682 + VariableStatement 2677684 2677741 + VariableDeclarationList 2677684 2677740 + VariableDeclaration 2677701 2677740 + Identifier 2677701 2677712 + CallExpression 2677714 2677740 + Identifier 2677714 2677734 + Identifier 2677735 2677739 + IfStatement 2677741 2678087 + PrefixUnaryExpression 2677755 2677787 + CallExpression 2677756 2677787 + Identifier 2677756 2677775 + Identifier 2677776 2677786 + Block 2677788 2678087 + VariableStatement 2677790 2677871 + VariableDeclarationList 2677790 2677870 + VariableDeclaration 2677809 2677870 + Identifier 2677809 2677815 + PropertyAccessExpression 2677817 2677870 + CallExpression 2677817 2677864 + Identifier 2677817 2677842 + Identifier 2677843 2677853 + PropertyAccessExpression 2677854 2677863 + Identifier 2677854 2677859 + Identifier 2677860 2677863 + Identifier 2677865 2677870 + VariableStatement 2677871 2677916 + VariableDeclarationList 2677871 2677915 + VariableDeclaration 2677890 2677915 + Identifier 2677890 2677894 + PropertyAccessExpression 2677896 2677915 + PropertyAccessExpression 2677896 2677911 + Identifier 2677896 2677901 + Identifier 2677902 2677911 + Identifier 2677912 2677915 + ExpressionStatement 2677916 2678076 + CallExpression 2677916 2678075 + Identifier 2677916 2677947 + Identifier 2677948 2677958 + Identifier 2677959 2677965 + BinaryExpression 2677966 2677978 + Identifier 2677966 2677970 + MinusToken 2677970 2677972 + Identifier 2677972 2677978 + PropertyAccessExpression 2677979 2678074 + Identifier 2677979 2677991 + Identifier 2677992 2678074 + FunctionDeclaration 2678094 2680431 + Identifier 2678110 2678131 + Parameter 2678132 2678153 + Identifier 2678132 2678136 + TypeReference 2678137 2678153 + Identifier 2678137 2678153 + Block 2678154 2680431 + ExpressionStatement 2678156 2678239 + CallExpression 2678156 2678238 + Identifier 2678156 2678232 + Identifier 2678233 2678237 + VariableStatement 2678239 2678295 + VariableDeclarationList 2678239 2678294 + VariableDeclaration 2678254 2678294 + Identifier 2678254 2678273 + TypeReference 2678274 2678294 + Identifier 2678274 2678294 + VariableStatement 2678295 2678343 + VariableDeclarationList 2678295 2678342 + VariableDeclaration 2678308 2678342 + Identifier 2678308 2678334 + FalseKeyword 2678336 2678342 + VariableStatement 2678343 2678411 + VariableDeclarationList 2678343 2678410 + VariableDeclaration 2678360 2678410 + Identifier 2678360 2678375 + CallExpression 2678377 2678410 + Identifier 2678377 2678393 + PropertyAccessExpression 2678394 2678409 + Identifier 2678394 2678398 + Identifier 2678399 2678409 + ExpressionStatement 2678411 2680311 + CallExpression 2678411 2680310 + Identifier 2678411 2678430 + PropertyAccessExpression 2678431 2678453 + PropertyAccessExpression 2678431 2678445 + Identifier 2678431 2678435 + Identifier 2678436 2678445 + Identifier 2678446 2678453 + ArrowFunction 2678454 2680309 + Parameter 2678454 2678461 + Identifier 2678454 2678461 + EqualsGreaterThanToken 2678461 2678464 + Block 2678464 2680309 + IfStatement 2678466 2679038 + BinaryExpression 2678596 2678666 + BinaryExpression 2678596 2678636 + PropertyAccessExpression 2678596 2678607 + Identifier 2678596 2678602 + Identifier 2678603 2678607 + EqualsEqualsEqualsToken 2678607 2678611 + PropertyAccessExpression 2678611 2678636 + Identifier 2678611 2678622 + Identifier 2678623 2678636 + AmpersandAmpersandToken 2678636 2678639 + PrefixUnaryExpression 2678639 2678666 + Identifier 2678641 2678666 + Block 2678667 2679038 + IfStatement 2678669 2679023 + BinaryExpression 2678691 2678723 + Identifier 2678691 2678709 + EqualsEqualsEqualsToken 2678709 2678713 + Identifier 2678713 2678723 + Block 2678724 2678795 + ExpressionStatement 2678726 2678776 + BinaryExpression 2678726 2678775 + Identifier 2678726 2678766 + EqualsToken 2678766 2678768 + Identifier 2678768 2678775 + Block 2678817 2679023 + ExpressionStatement 2678819 2678949 + CallExpression 2678819 2678948 + Identifier 2678819 2678859 + Identifier 2678860 2678866 + PropertyAccessExpression 2678867 2678947 + Identifier 2678867 2678879 + Identifier 2678880 2678947 + ExpressionStatement 2678949 2679004 + BinaryExpression 2678949 2679003 + Identifier 2678949 2678996 + EqualsToken 2678996 2678998 + TrueKeyword 2678998 2679003 + IfStatement 2679038 2679190 + BinaryExpression 2679058 2679095 + PropertyAccessExpression 2679058 2679069 + Identifier 2679058 2679064 + Identifier 2679065 2679069 + EqualsEqualsEqualsToken 2679069 2679073 + PropertyAccessExpression 2679073 2679095 + Identifier 2679073 2679084 + Identifier 2679085 2679095 + Block 2679096 2679190 + ExpressionStatement 2679098 2679175 + CallExpression 2679098 2679174 + Identifier 2679098 2679133 + CallExpression 2679134 2679173 + Identifier 2679134 2679165 + Identifier 2679166 2679172 + ExpressionStatement 2679190 2679251 + CallExpression 2679190 2679250 + Identifier 2679190 2679211 + PropertyAccessExpression 2679212 2679229 + Identifier 2679212 2679218 + Identifier 2679219 2679229 + Identifier 2679230 2679249 + IfStatement 2679251 2679482 + BinaryExpression 2679269 2679392 + BinaryExpression 2679269 2679341 + PropertyAccessExpression 2679269 2679311 + Identifier 2679269 2679284 + Identifier 2679285 2679311 + AmpersandAmpersandToken 2679311 2679314 + PropertyAccessExpression 2679314 2679341 + Identifier 2679314 2679321 + Identifier 2679322 2679341 + AmpersandAmpersandToken 2679341 2679344 + CallExpression 2679344 2679392 + Identifier 2679344 2679364 + PropertyAccessExpression 2679365 2679391 + Identifier 2679365 2679371 + Identifier 2679372 2679391 + Block 2679393 2679482 + ExpressionStatement 2679395 2679467 + CallExpression 2679395 2679466 + Identifier 2679395 2679418 + Identifier 2679419 2679425 + PropertyAccessExpression 2679426 2679465 + Identifier 2679426 2679438 + Identifier 2679439 2679465 + FunctionDeclaration 2679482 2680298 + Identifier 2679506 2679538 + Parameter 2679539 2679557 + Identifier 2679539 2679545 + TypeReference 2679546 2679557 + Identifier 2679546 2679557 + Block 2679558 2680298 + ReturnStatement 2679560 2680283 + ArrowFunction 2679584 2680282 + EqualsGreaterThanToken 2679587 2679590 + Block 2679590 2680282 + VariableStatement 2679592 2679909 + VariableDeclarationList 2679592 2679908 + VariableDeclaration 2679862 2679908 + Identifier 2679862 2679871 + CallExpression 2679873 2679908 + Identifier 2679873 2679889 + PropertyAccessExpression 2679890 2679907 + Identifier 2679890 2679896 + Identifier 2679897 2679907 + IfStatement 2679909 2680263 + PrefixUnaryExpression 2679937 2679990 + CallExpression 2679938 2679990 + Identifier 2679938 2679964 + Identifier 2679965 2679979 + Identifier 2679980 2679989 + Block 2679991 2680263 + ExpressionStatement 2679993 2680240 + CallExpression 2679993 2680239 + Identifier 2679993 2680167 + Identifier 2680168 2680176 + Identifier 2680177 2680192 + PropertyAccessExpression 2680193 2680211 + Identifier 2680193 2680200 + Identifier 2680201 2680211 + Identifier 2680212 2680238 + IfStatement 2680311 2680424 + PropertyAccessExpression 2680325 2680346 + PropertyAccessExpression 2680325 2680339 + Identifier 2680325 2680329 + Identifier 2680330 2680339 + Identifier 2680340 2680346 + Block 2680347 2680424 + ExpressionStatement 2680349 2680413 + CallExpression 2680349 2680412 + Identifier 2680349 2680396 + PropertyAccessExpression 2680397 2680411 + Identifier 2680397 2680401 + Identifier 2680402 2680411 + FunctionDeclaration 2680431 2681204 + Identifier 2680447 2680469 + Parameter 2680470 2680492 + Identifier 2680470 2680474 + TypeReference 2680475 2680492 + Identifier 2680475 2680492 + Block 2680493 2681204 + IfStatement 2680495 2681110 + PrefixUnaryExpression 2680538 2680582 + CallExpression 2680539 2680582 + Identifier 2680539 2680576 + Identifier 2680577 2680581 + Block 2680583 2681110 + ExpressionStatement 2680585 2681099 + CallExpression 2680585 2681098 + Identifier 2680585 2680611 + PropertyAccessExpression 2680612 2680623 + Identifier 2680612 2680616 + Identifier 2680617 2680623 + ArrowFunction 2680624 2681097 + Parameter 2680624 2680632 + Identifier 2680624 2680632 + EqualsGreaterThanToken 2680632 2680635 + Block 2680635 2681097 + IfStatement 2680637 2680740 + CallExpression 2680659 2680682 + Identifier 2680659 2680673 + Identifier 2680674 2680681 + Block 2680683 2680740 + ReturnStatement 2680685 2680721 + StringLiteral 2680713 2680720 + IfStatement 2680740 2681051 + BinaryExpression 2680762 2680884 + BinaryExpression 2680762 2680806 + PropertyAccessExpression 2680762 2680774 + Identifier 2680762 2680769 + Identifier 2680770 2680774 + EqualsEqualsEqualsToken 2680774 2680778 + PropertyAccessExpression 2680778 2680806 + Identifier 2680778 2680789 + Identifier 2680790 2680806 + AmpersandAmpersandToken 2680806 2680809 + BinaryExpression 2680809 2680884 + PropertyAccessExpression 2680809 2680857 + PropertyAccessExpression 2680809 2680845 + ParenthesizedExpression 2680809 2680839 + AsExpression 2680811 2680838 + Identifier 2680811 2680818 + TypeReference 2680821 2680838 + Identifier 2680821 2680838 + Identifier 2680840 2680845 + Identifier 2680846 2680857 + EqualsEqualsEqualsToken 2680857 2680861 + PropertyAccessExpression 2680861 2680884 + PropertyAccessExpression 2680861 2680872 + Identifier 2680861 2680866 + Identifier 2680867 2680872 + Identifier 2680873 2680884 + Block 2680885 2681051 + ExpressionStatement 2680887 2680998 + CallExpression 2680887 2680997 + Identifier 2680887 2680927 + PropertyAccessExpression 2680928 2680938 + Identifier 2680928 2680932 + Identifier 2680933 2680938 + PropertyAccessExpression 2680939 2680969 + Identifier 2680939 2680951 + Identifier 2680952 2680969 + CallExpression 2680970 2680996 + Identifier 2680970 2680984 + PropertyAccessExpression 2680985 2680995 + Identifier 2680985 2680989 + Identifier 2680990 2680995 + ReturnStatement 2680998 2681032 + TrueKeyword 2681026 2681031 + ReturnStatement 2681051 2681082 + FalseKeyword 2681075 2681081 + ExpressionStatement 2681110 2681197 + CallExpression 2681110 2681196 + Identifier 2681110 2681180 + PropertyAccessExpression 2681181 2681195 + Identifier 2681181 2681185 + Identifier 2681186 2681195 + FunctionDeclaration 2681204 2681656 + Identifier 2681220 2681240 + Parameter 2681241 2681261 + Identifier 2681241 2681245 + TypeReference 2681246 2681261 + Identifier 2681246 2681261 + Block 2681262 2681656 + IfStatement 2681264 2681557 + PrefixUnaryExpression 2681307 2681351 + CallExpression 2681308 2681351 + Identifier 2681308 2681345 + Identifier 2681346 2681350 + Block 2681352 2681557 + IfStatement 2681354 2681546 + BinaryExpression 2681372 2681433 + CallExpression 2681372 2681401 + Identifier 2681372 2681384 + PropertyAccessExpression 2681385 2681400 + Identifier 2681385 2681389 + Identifier 2681390 2681400 + AmpersandAmpersandToken 2681401 2681404 + PrefixUnaryExpression 2681404 2681433 + PropertyAccessExpression 2681406 2681433 + PropertyAccessExpression 2681406 2681421 + Identifier 2681406 2681410 + Identifier 2681411 2681421 + Identifier 2681422 2681433 + Block 2681434 2681546 + ExpressionStatement 2681436 2681531 + CallExpression 2681436 2681530 + Identifier 2681436 2681481 + Identifier 2681482 2681486 + PropertyAccessExpression 2681487 2681529 + Identifier 2681487 2681499 + Identifier 2681500 2681529 + IfStatement 2681557 2681649 + PropertyAccessExpression 2681573 2681588 + Identifier 2681573 2681577 + Identifier 2681578 2681588 + Block 2681589 2681649 + ExpressionStatement 2681591 2681638 + CallExpression 2681591 2681637 + Identifier 2681591 2681620 + PropertyAccessExpression 2681621 2681636 + Identifier 2681621 2681625 + Identifier 2681626 2681636 + FunctionDeclaration 2681656 2683632 + Identifier 2681672 2681690 + Parameter 2681691 2681709 + Identifier 2681691 2681695 + TypeReference 2681696 2681709 + Identifier 2681696 2681709 + Block 2681710 2683632 + ExpressionStatement 2681712 2681795 + CallExpression 2681712 2681794 + Identifier 2681712 2681788 + Identifier 2681789 2681793 + ExpressionStatement 2681795 2681833 + CallExpression 2681795 2681832 + Identifier 2681795 2681817 + PropertyAccessExpression 2681818 2681831 + Identifier 2681818 2681822 + Identifier 2681823 2681831 + VariableStatement 2681833 2681880 + VariableDeclarationList 2681833 2681879 + VariableDeclaration 2681848 2681879 + Identifier 2681848 2681860 + PropertyAccessExpression 2681862 2681879 + Identifier 2681862 2681867 + Identifier 2681868 2681879 + IfStatement 2681880 2683534 + Identifier 2681894 2681905 + Block 2681906 2683534 + IfStatement 2681908 2683477 + PropertyAccessExpression 2681959 2681990 + Identifier 2681959 2681970 + Identifier 2681971 2681990 + Block 2681991 2683477 + VariableStatement 2681993 2682063 + VariableDeclarationList 2681993 2682062 + VariableDeclaration 2682016 2682062 + Identifier 2682016 2682028 + PropertyAccessExpression 2682030 2682062 + Identifier 2682030 2682042 + Identifier 2682043 2682062 + ExpressionStatement 2682063 2682123 + CallExpression 2682063 2682122 + Identifier 2682063 2682109 + Identifier 2682110 2682121 + VariableStatement 2682123 2682202 + VariableDeclarationList 2682123 2682201 + VariableDeclaration 2682146 2682201 + Identifier 2682146 2682155 + CallExpression 2682157 2682201 + Identifier 2682157 2682188 + Identifier 2682189 2682200 + IfStatement 2682202 2683462 + Identifier 2682224 2682232 + Block 2682233 2682565 + VariableStatement 2682235 2682300 + VariableDeclarationList 2682235 2682299 + VariableDeclaration 2682262 2682299 + Identifier 2682262 2682267 + CallExpression 2682269 2682299 + Identifier 2682269 2682289 + Identifier 2682290 2682298 + IfStatement 2682300 2682546 + BinaryExpression 2682326 2682372 + Identifier 2682326 2682330 + AmpersandAmpersandToken 2682330 2682333 + PrefixUnaryExpression 2682333 2682372 + ParenthesizedExpression 2682335 2682372 + BinaryExpression 2682336 2682371 + PropertyAccessExpression 2682336 2682346 + Identifier 2682336 2682340 + Identifier 2682341 2682346 + AmpersandToken 2682346 2682348 + PropertyAccessExpression 2682348 2682371 + Identifier 2682348 2682358 + Identifier 2682359 2682371 + Block 2682373 2682546 + ExpressionStatement 2682375 2682523 + CallExpression 2682375 2682522 + Identifier 2682375 2682425 + Identifier 2682426 2682434 + PropertyAccessExpression 2682435 2682521 + Identifier 2682435 2682447 + Identifier 2682448 2682521 + IfStatement 2682587 2683462 + PropertyAccessExpression 2682592 2682615 + Identifier 2682592 2682603 + Identifier 2682604 2682615 + Block 2682616 2682771 + ExpressionStatement 2682618 2682752 + CallExpression 2682618 2682751 + Identifier 2682618 2682664 + PropertyAccessExpression 2682665 2682688 + Identifier 2682665 2682676 + Identifier 2682677 2682688 + PropertyAccessExpression 2682689 2682750 + Identifier 2682689 2682701 + Identifier 2682702 2682750 + Block 2682793 2683462 + VariableStatement 2682795 2682862 + VariableDeclarationList 2682795 2682861 + VariableDeclaration 2682822 2682861 + Identifier 2682822 2682834 + PropertyAccessExpression 2682836 2682861 + PropertyAccessExpression 2682836 2682854 + Identifier 2682836 2682848 + Identifier 2682849 2682854 + Identifier 2682855 2682861 + IfStatement 2682862 2683443 + Identifier 2682888 2682899 + Block 2682900 2683443 + ExpressionStatement 2682902 2683420 + CallExpression 2682902 2683419 + Identifier 2682902 2682938 + NonNullExpression 2682939 2682958 + PropertyAccessExpression 2682939 2682957 + Identifier 2682939 2682950 + Identifier 2682951 2682957 + ArrowFunction 2682959 2683418 + Parameter 2682959 2682970 + Identifier 2682959 2682970 + EqualsGreaterThanToken 2682970 2682973 + Block 2682973 2683418 + VariableStatement 2682975 2683052 + VariableDeclarationList 2682975 2683051 + VariableDeclaration 2683010 2683051 + Identifier 2683010 2683021 + CallExpression 2683023 2683051 + PropertyAccessExpression 2683023 2683039 + Identifier 2683023 2683035 + Identifier 2683036 2683039 + Identifier 2683040 2683050 + IfStatement 2683052 2683391 + BinaryExpression 2683086 2683176 + PropertyAccessExpression 2683086 2683114 + Identifier 2683086 2683096 + QuestionDotToken 2683096 2683098 + Identifier 2683098 2683114 + AmpersandAmpersandToken 2683114 2683117 + BinaryExpression 2683117 2683176 + ParenthesizedExpression 2683117 2683170 + BinaryExpression 2683119 2683169 + PropertyAccessExpression 2683119 2683135 + Identifier 2683119 2683129 + Identifier 2683130 2683135 + AmpersandToken 2683135 2683137 + PropertyAccessExpression 2683137 2683169 + Identifier 2683137 2683149 + Identifier 2683150 2683169 + ExclamationEqualsEqualsToken 2683170 2683174 + NumericLiteral 2683174 2683176 + Block 2683177 2683391 + ExpressionStatement 2683179 2683360 + CallExpression 2683179 2683359 + Identifier 2683179 2683231 + PropertyAccessExpression 2683232 2683259 + Identifier 2683232 2683242 + Identifier 2683243 2683259 + PropertyAccessExpression 2683260 2683318 + Identifier 2683260 2683272 + Identifier 2683273 2683318 + CallExpression 2683319 2683358 + Identifier 2683319 2683346 + Identifier 2683347 2683357 + ExpressionStatement 2683477 2683523 + CallExpression 2683477 2683522 + Identifier 2683477 2683503 + PropertyAccessExpression 2683504 2683521 + Identifier 2683504 2683515 + Identifier 2683516 2683521 + IfStatement 2683534 2683625 + PropertyAccessExpression 2683550 2683567 + Identifier 2683550 2683554 + Identifier 2683555 2683567 + Block 2683568 2683625 + ExpressionStatement 2683570 2683614 + CallExpression 2683570 2683613 + Identifier 2683570 2683594 + PropertyAccessExpression 2683595 2683612 + Identifier 2683595 2683599 + Identifier 2683600 2683612 + FunctionDeclaration 2683632 2685256 + Identifier 2683648 2683670 + Parameter 2683671 2683681 + Identifier 2683671 2683675 + TypeReference 2683676 2683681 + Identifier 2683676 2683681 + Parameter 2683682 2683697 + Identifier 2683682 2683689 + TypeReference 2683690 2683697 + Identifier 2683690 2683697 + Parameter 2683698 2683722 + Identifier 2683698 2683712 + QuestionToken 2683712 2683713 + BooleanKeyword 2683714 2683722 + Block 2683723 2685256 + VariableStatement 2683725 2683780 + VariableDeclarationList 2683725 2683779 + VariableDeclaration 2683740 2683779 + Identifier 2683740 2683751 + CallExpression 2683753 2683779 + Identifier 2683753 2683773 + Identifier 2683774 2683778 + IfStatement 2683780 2683852 + BinaryExpression 2683794 2683817 + PropertyAccessExpression 2683794 2683811 + Identifier 2683794 2683804 + Identifier 2683805 2683811 + EqualsEqualsEqualsToken 2683811 2683815 + NumericLiteral 2683815 2683817 + Block 2683818 2683852 + ReturnStatement 2683820 2683841 + ForOfStatement 2683852 2684213 + VariableDeclarationList 2683867 2683877 + VariableDeclaration 2683872 2683877 + Identifier 2683872 2683877 + CallExpression 2683880 2683912 + Identifier 2683880 2683906 + Identifier 2683907 2683911 + Block 2683913 2684213 + IfStatement 2683915 2684202 + PrefixUnaryExpression 2683933 2683987 + ParenthesizedExpression 2683934 2683987 + BinaryExpression 2683935 2683986 + Identifier 2683935 2683948 + AmpersandAmpersandToken 2683948 2683951 + BinaryExpression 2683951 2683986 + PropertyAccessExpression 2683951 2683962 + Identifier 2683951 2683956 + Identifier 2683957 2683962 + AmpersandToken 2683962 2683964 + PropertyAccessExpression 2683964 2683986 + Identifier 2683964 2683976 + Identifier 2683977 2683986 + Block 2683988 2684202 + ExpressionStatement 2683990 2684187 + CallExpression 2683990 2684186 + Identifier 2683990 2684039 + Identifier 2684040 2684044 + Identifier 2684045 2684050 + CallExpression 2684051 2684152 + Identifier 2684051 2684078 + Identifier 2684079 2684083 + PropertyAccessExpression 2684084 2684124 + Identifier 2684084 2684094 + Identifier 2684095 2684124 + TrueKeyword 2684125 2684151 + CallExpression 2684153 2684185 + Identifier 2684153 2684179 + Identifier 2684180 2684184 + VariableStatement 2684213 2684271 + VariableDeclarationList 2684213 2684270 + VariableDeclaration 2684228 2684270 + Identifier 2684228 2684244 + PropertyAccessExpression 2684246 2684270 + Identifier 2684246 2684253 + Identifier 2684254 2684270 + IfStatement 2684271 2685071 + BinaryExpression 2684285 2684332 + Identifier 2684285 2684300 + AmpersandAmpersandToken 2684300 2684303 + CallExpression 2684303 2684332 + Identifier 2684303 2684315 + Identifier 2684316 2684331 + Block 2684333 2685071 + ForOfStatement 2684335 2685060 + VariableDeclarationList 2684354 2684366 + VariableDeclaration 2684359 2684366 + Identifier 2684359 2684366 + PropertyAccessExpression 2684369 2684393 + Identifier 2684369 2684385 + Identifier 2684386 2684393 + Block 2684394 2685060 + IfStatement 2684396 2685045 + BinaryExpression 2684559 2684760 + ParenthesizedExpression 2684559 2684732 + BinaryExpression 2684582 2684709 + ParenthesizedExpression 2684582 2684645 + BinaryExpression 2684609 2684644 + PrefixUnaryExpression 2684609 2684623 + Identifier 2684610 2684623 + AmpersandAmpersandToken 2684623 2684626 + PrefixUnaryExpression 2684626 2684644 + CallExpression 2684628 2684644 + Identifier 2684628 2684636 + Identifier 2684637 2684643 + BarBarToken 2684645 2684648 + ParenthesizedExpression 2684648 2684709 + BinaryExpression 2684675 2684708 + Identifier 2684675 2684688 + AmpersandAmpersandToken 2684688 2684691 + CallExpression 2684691 2684708 + Identifier 2684691 2684700 + Identifier 2684701 2684707 + AmpersandAmpersandToken 2684732 2684735 + PrefixUnaryExpression 2684735 2684760 + CallExpression 2684737 2684760 + Identifier 2684737 2684752 + Identifier 2684753 2684759 + Block 2684779 2685045 + VariableStatement 2684781 2684849 + VariableDeclarationList 2684781 2684848 + VariableDeclaration 2684808 2684848 + Identifier 2684808 2684815 + CallExpression 2684817 2684848 + Identifier 2684817 2684840 + Identifier 2684841 2684847 + ExpressionStatement 2684849 2685026 + CallExpression 2684849 2685025 + Identifier 2684849 2684902 + Identifier 2684903 2684907 + Identifier 2684908 2684915 + CallExpression 2684916 2684989 + Identifier 2684916 2684936 + PropertyAccessExpression 2684937 2684988 + PropertyAccessExpression 2684937 2684977 + ParenthesizedExpression 2684937 2684972 + AsExpression 2684938 2684971 + Identifier 2684938 2684944 + TypeReference 2684947 2684971 + Identifier 2684947 2684971 + Identifier 2684973 2684977 + Identifier 2684978 2684988 + CallExpression 2684990 2685024 + Identifier 2684990 2685016 + Identifier 2685017 2685023 + IfStatement 2685071 2685249 + BinaryExpression 2685085 2685106 + PropertyAccessExpression 2685085 2685102 + Identifier 2685085 2685095 + Identifier 2685096 2685102 + GreaterThanToken 2685102 2685104 + NumericLiteral 2685104 2685106 + Block 2685107 2685249 + ForOfStatement 2685109 2685238 + VariableDeclarationList 2685128 2685138 + VariableDeclaration 2685133 2685138 + Identifier 2685133 2685138 + Identifier 2685141 2685152 + Block 2685153 2685238 + ExpressionStatement 2685155 2685223 + CallExpression 2685155 2685222 + Identifier 2685155 2685210 + Identifier 2685211 2685215 + Identifier 2685216 2685221 + FunctionDeclaration 2685256 2687631 + Identifier 2685272 2685304 + Parameter 2685305 2685315 + Identifier 2685305 2685309 + TypeReference 2685310 2685315 + Identifier 2685310 2685315 + Parameter 2685316 2685329 + Identifier 2685316 2685321 + TypeReference 2685322 2685329 + Identifier 2685322 2685329 + Parameter 2685330 2685349 + Identifier 2685330 2685343 + TypeReference 2685344 2685349 + Identifier 2685344 2685349 + Parameter 2685350 2685365 + Identifier 2685350 2685359 + TypeReference 2685360 2685365 + Identifier 2685360 2685365 + Block 2685366 2687631 + VariableStatement 2685368 2685420 + VariableDeclarationList 2685368 2685419 + VariableDeclaration 2685383 2685419 + Identifier 2685383 2685395 + PropertyAccessExpression 2685397 2685419 + Identifier 2685397 2685402 + Identifier 2685403 2685419 + VariableStatement 2685420 2685477 + VariableDeclarationList 2685420 2685476 + VariableDeclaration 2685435 2685476 + Identifier 2685435 2685440 + CallExpression 2685442 2685476 + Identifier 2685442 2685463 + Identifier 2685464 2685475 + IfStatement 2685477 2685559 + BinaryExpression 2685491 2685524 + Identifier 2685491 2685495 + AmpersandAmpersandToken 2685495 2685498 + CallExpression 2685498 2685524 + Identifier 2685498 2685518 + Identifier 2685519 2685523 + Block 2685525 2685559 + ReturnStatement 2685527 2685548 + VariableStatement 2685559 2685632 + VariableDeclarationList 2685559 2685631 + VariableDeclaration 2685574 2685631 + Identifier 2685574 2685585 + CallExpression 2685587 2685631 + Identifier 2685587 2685611 + Identifier 2685612 2685616 + Identifier 2685617 2685630 + VariableStatement 2685632 2685797 + VariableDeclarationList 2685632 2685796 + VariableDeclaration 2685647 2685796 + Identifier 2685647 2685668 + ConditionalExpression 2685670 2685796 + BinaryExpression 2685670 2685715 + CallExpression 2685670 2685691 + Identifier 2685670 2685685 + Identifier 2685686 2685690 + AmpersandToken 2685691 2685693 + PropertyAccessExpression 2685693 2685715 + Identifier 2685693 2685705 + Identifier 2685706 2685715 + QuestionToken 2685715 2685717 + CallExpression 2685717 2685784 + Identifier 2685717 2685738 + PropertyAccessExpression 2685739 2685750 + Identifier 2685739 2685743 + Identifier 2685744 2685750 + PropertyAccessExpression 2685751 2685783 + Identifier 2685751 2685762 + Identifier 2685763 2685783 + ColonToken 2685784 2685786 + Identifier 2685786 2685796 + VariableStatement 2685797 2685995 + VariableDeclarationList 2685797 2685994 + VariableDeclaration 2685812 2685994 + Identifier 2685812 2685828 + ConditionalExpression 2685830 2685994 + BinaryExpression 2685830 2685968 + BinaryExpression 2685830 2685894 + Identifier 2685830 2685842 + AmpersandAmpersandToken 2685842 2685845 + BinaryExpression 2685845 2685894 + PropertyAccessExpression 2685845 2685862 + Identifier 2685845 2685857 + Identifier 2685858 2685862 + EqualsEqualsEqualsToken 2685862 2685866 + PropertyAccessExpression 2685866 2685894 + Identifier 2685866 2685877 + Identifier 2685878 2685894 + BarBarToken 2685894 2685897 + BinaryExpression 2685897 2685968 + Identifier 2685897 2685919 + AmpersandAmpersandToken 2685919 2685922 + BinaryExpression 2685922 2685968 + PropertyAccessExpression 2685922 2685932 + Identifier 2685922 2685927 + Identifier 2685928 2685932 + EqualsEqualsEqualsToken 2685932 2685936 + PropertyAccessExpression 2685936 2685968 + Identifier 2685936 2685947 + Identifier 2685948 2685968 + QuestionToken 2685968 2685970 + Identifier 2685970 2685982 + ColonToken 2685982 2685984 + Identifier 2685984 2685994 + VariableStatement 2685995 2686100 + VariableDeclarationList 2685995 2686099 + VariableDeclaration 2686010 2686099 + Identifier 2686010 2686031 + ConditionalExpression 2686033 2686099 + BinaryExpression 2686033 2686073 + CallExpression 2686033 2686057 + Identifier 2686033 2686051 + Identifier 2686052 2686056 + EqualsEqualsEqualsToken 2686057 2686061 + PropertyAccessExpression 2686061 2686073 + Identifier 2686061 2686066 + Identifier 2686067 2686073 + QuestionToken 2686073 2686075 + Identifier 2686075 2686087 + ColonToken 2686087 2686089 + Identifier 2686089 2686099 + ForOfStatement 2686100 2687624 + VariableDeclarationList 2686115 2686125 + VariableDeclaration 2686120 2686125 + Identifier 2686120 2686125 + Identifier 2686128 2686139 + Block 2686140 2687624 + VariableStatement 2686142 2686313 + VariableDeclarationList 2686142 2686312 + VariableDeclaration 2686161 2686312 + Identifier 2686161 2686183 + ConditionalExpression 2686185 2686312 + BinaryExpression 2686185 2686281 + PropertyAccessExpression 2686185 2686202 + Identifier 2686185 2686190 + Identifier 2686191 2686202 + AmpersandAmpersandToken 2686202 2686205 + BinaryExpression 2686205 2686281 + CallExpression 2686205 2686265 + Identifier 2686205 2686223 + CallExpression 2686224 2686264 + Identifier 2686224 2686246 + PropertyAccessExpression 2686247 2686263 + Identifier 2686247 2686251 + Identifier 2686252 2686263 + EqualsEqualsEqualsToken 2686265 2686269 + PropertyAccessExpression 2686269 2686281 + Identifier 2686269 2686274 + Identifier 2686275 2686281 + QuestionToken 2686281 2686283 + PropertyAccessExpression 2686283 2686300 + Identifier 2686283 2686288 + Identifier 2686289 2686300 + ColonToken 2686300 2686302 + Identifier 2686302 2686312 + VariableStatement 2686313 2687011 + VariableDeclarationList 2686313 2687010 + VariableDeclaration 2686725 2687010 + Identifier 2686725 2686735 + BinaryExpression 2686737 2687010 + BinaryExpression 2686737 2686783 + Identifier 2686737 2686758 + BarBarToken 2686758 2686761 + Identifier 2686761 2686783 + BarBarToken 2686783 2686786 + ParenthesizedExpression 2686786 2687010 + ConditionalExpression 2686805 2687009 + BinaryExpression 2686805 2686974 + Identifier 2686805 2686825 + AmpersandAmpersandToken 2686825 2686828 + PrefixUnaryExpression 2686828 2686974 + CallExpression 2686830 2686974 + Identifier 2686830 2686834 + CallExpression 2686835 2686870 + Identifier 2686835 2686847 + AsExpression 2686848 2686869 + Identifier 2686848 2686852 + TypeReference 2686855 2686869 + Identifier 2686855 2686869 + ArrowFunction 2686871 2686973 + Parameter 2686871 2686876 + Identifier 2686871 2686876 + EqualsGreaterThanToken 2686876 2686879 + BinaryExpression 2686879 2686973 + PrefixUnaryExpression 2686879 2686929 + PrefixUnaryExpression 2686881 2686929 + CallExpression 2686882 2686929 + Identifier 2686882 2686905 + Identifier 2686906 2686910 + PropertyAccessExpression 2686911 2686928 + Identifier 2686911 2686916 + Identifier 2686917 2686928 + AmpersandAmpersandToken 2686929 2686932 + PrefixUnaryExpression 2686932 2686973 + PrefixUnaryExpression 2686934 2686973 + CallExpression 2686935 2686973 + Identifier 2686935 2686953 + Identifier 2686954 2686958 + PropertyAccessExpression 2686959 2686972 + Identifier 2686959 2686964 + Identifier 2686965 2686972 + QuestionToken 2686974 2686976 + Identifier 2686976 2686997 + ColonToken 2686997 2686999 + Identifier 2686999 2687009 + IfStatement 2687011 2687613 + BinaryExpression 2687029 2687082 + Identifier 2687029 2687038 + AmpersandAmpersandToken 2687038 2687041 + PrefixUnaryExpression 2687041 2687082 + CallExpression 2687043 2687082 + Identifier 2687043 2687061 + Identifier 2687062 2687070 + PropertyAccessExpression 2687071 2687081 + Identifier 2687071 2687076 + Identifier 2687077 2687081 + Block 2687083 2687613 + VariableStatement 2687085 2687314 + VariableDeclarationList 2687085 2687313 + VariableDeclaration 2687108 2687313 + Identifier 2687108 2687119 + CallExpression 2687121 2687313 + Identifier 2687121 2687133 + Identifier 2687134 2687143 + PropertyAccessExpression 2687144 2687213 + Identifier 2687144 2687156 + Identifier 2687157 2687213 + CallExpression 2687214 2687235 + Identifier 2687214 2687229 + Identifier 2687230 2687234 + CallExpression 2687236 2687259 + Identifier 2687236 2687249 + Identifier 2687250 2687258 + CallExpression 2687260 2687287 + Identifier 2687260 2687273 + PropertyAccessExpression 2687274 2687286 + Identifier 2687274 2687278 + Identifier 2687279 2687286 + CallExpression 2687288 2687312 + Identifier 2687288 2687301 + PropertyAccessExpression 2687302 2687311 + Identifier 2687302 2687306 + Identifier 2687307 2687311 + IfStatement 2687314 2687552 + BinaryExpression 2687336 2687384 + Identifier 2687336 2687351 + AmpersandAmpersandToken 2687351 2687354 + BinaryExpression 2687354 2687384 + Identifier 2687354 2687364 + ExclamationEqualsEqualsToken 2687364 2687368 + Identifier 2687368 2687384 + Block 2687385 2687552 + ExpressionStatement 2687387 2687533 + CallExpression 2687387 2687532 + Identifier 2687387 2687423 + Identifier 2687424 2687434 + CallExpression 2687435 2687531 + Identifier 2687435 2687459 + Identifier 2687460 2687475 + PropertyAccessExpression 2687476 2687508 + Identifier 2687476 2687488 + Identifier 2687489 2687508 + CallExpression 2687509 2687530 + Identifier 2687509 2687524 + Identifier 2687525 2687529 + ExpressionStatement 2687552 2687598 + CallExpression 2687552 2687597 + PropertyAccessExpression 2687552 2687585 + Identifier 2687552 2687581 + Identifier 2687582 2687585 + Identifier 2687586 2687596 + FunctionDeclaration 2687631 2689437 + Identifier 2687647 2687685 + Parameter 2687686 2687696 + Identifier 2687686 2687690 + TypeReference 2687691 2687696 + Identifier 2687691 2687696 + Parameter 2687697 2687718 + Identifier 2687697 2687707 + TypeReference 2687708 2687718 + Identifier 2687708 2687718 + Block 2687719 2689437 + VariableStatement 2687721 2687773 + VariableDeclarationList 2687721 2687772 + VariableDeclaration 2687736 2687772 + Identifier 2687736 2687748 + PropertyAccessExpression 2687750 2687772 + Identifier 2687750 2687760 + Identifier 2687761 2687772 + VariableStatement 2687773 2687851 + VariableDeclarationList 2687773 2687850 + VariableDeclaration 2687788 2687850 + Identifier 2687788 2687799 + CallExpression 2687801 2687850 + Identifier 2687801 2687825 + Identifier 2687826 2687830 + PropertyAccessExpression 2687831 2687849 + Identifier 2687831 2687841 + Identifier 2687842 2687849 + VariableStatement 2687851 2688016 + VariableDeclarationList 2687851 2688015 + VariableDeclaration 2687866 2688015 + Identifier 2687866 2687887 + ConditionalExpression 2687889 2688015 + BinaryExpression 2687889 2687934 + CallExpression 2687889 2687910 + Identifier 2687889 2687904 + Identifier 2687905 2687909 + AmpersandToken 2687910 2687912 + PropertyAccessExpression 2687912 2687934 + Identifier 2687912 2687924 + Identifier 2687925 2687934 + QuestionToken 2687934 2687936 + CallExpression 2687936 2688003 + Identifier 2687936 2687957 + PropertyAccessExpression 2687958 2687969 + Identifier 2687958 2687962 + Identifier 2687963 2687969 + PropertyAccessExpression 2687970 2688002 + Identifier 2687970 2687981 + Identifier 2687982 2688002 + ColonToken 2688003 2688005 + Identifier 2688005 2688015 + VariableStatement 2688016 2688168 + VariableDeclarationList 2688016 2688167 + VariableDeclaration 2688031 2688167 + Identifier 2688031 2688053 + ConditionalExpression 2688055 2688167 + BinaryExpression 2688055 2688141 + Identifier 2688055 2688067 + AmpersandAmpersandToken 2688067 2688070 + BinaryExpression 2688070 2688141 + CallExpression 2688070 2688125 + Identifier 2688070 2688088 + CallExpression 2688089 2688124 + Identifier 2688089 2688111 + Identifier 2688112 2688123 + EqualsEqualsEqualsToken 2688125 2688129 + PropertyAccessExpression 2688129 2688141 + Identifier 2688129 2688134 + Identifier 2688135 2688141 + QuestionToken 2688141 2688143 + Identifier 2688143 2688155 + ColonToken 2688155 2688157 + Identifier 2688157 2688167 + ForOfStatement 2688168 2689430 + VariableDeclarationList 2688183 2688193 + VariableDeclaration 2688188 2688193 + Identifier 2688188 2688193 + Identifier 2688196 2688207 + Block 2688208 2689430 + IfStatement 2688210 2688257 + BinaryExpression 2688228 2688246 + Identifier 2688228 2688232 + EqualsEqualsEqualsToken 2688232 2688236 + Identifier 2688236 2688246 + ContinueStatement 2688247 2688257 + VariableStatement 2688257 2688428 + VariableDeclarationList 2688257 2688427 + VariableDeclaration 2688276 2688427 + Identifier 2688276 2688298 + ConditionalExpression 2688300 2688427 + BinaryExpression 2688300 2688396 + PropertyAccessExpression 2688300 2688317 + Identifier 2688300 2688305 + Identifier 2688306 2688317 + AmpersandAmpersandToken 2688317 2688320 + BinaryExpression 2688320 2688396 + CallExpression 2688320 2688380 + Identifier 2688320 2688338 + CallExpression 2688339 2688379 + Identifier 2688339 2688361 + PropertyAccessExpression 2688362 2688378 + Identifier 2688362 2688366 + Identifier 2688367 2688378 + EqualsEqualsEqualsToken 2688380 2688384 + PropertyAccessExpression 2688384 2688396 + Identifier 2688384 2688389 + Identifier 2688390 2688396 + QuestionToken 2688396 2688398 + PropertyAccessExpression 2688398 2688415 + Identifier 2688398 2688403 + Identifier 2688404 2688415 + ColonToken 2688415 2688417 + Identifier 2688417 2688427 + VariableStatement 2688428 2689108 + VariableDeclarationList 2688428 2689107 + VariableDeclaration 2688825 2689107 + Identifier 2688825 2688835 + BinaryExpression 2688837 2689107 + BinaryExpression 2688837 2688884 + Identifier 2688837 2688859 + BarBarToken 2688859 2688862 + Identifier 2688862 2688884 + BarBarToken 2688884 2688887 + ParenthesizedExpression 2688887 2689107 + ConditionalExpression 2688906 2689106 + BinaryExpression 2688906 2689071 + Identifier 2688906 2688926 + AmpersandAmpersandToken 2688926 2688929 + PrefixUnaryExpression 2688929 2689071 + CallExpression 2688931 2689071 + Identifier 2688931 2688935 + CallExpression 2688936 2688971 + Identifier 2688936 2688948 + AsExpression 2688949 2688970 + Identifier 2688949 2688953 + TypeReference 2688956 2688970 + Identifier 2688956 2688970 + ArrowFunction 2688972 2689070 + Parameter 2688972 2688977 + Identifier 2688972 2688977 + EqualsGreaterThanToken 2688977 2688980 + BinaryExpression 2688980 2689070 + PrefixUnaryExpression 2688980 2689026 + PrefixUnaryExpression 2688982 2689026 + CallExpression 2688983 2689026 + Identifier 2688983 2689001 + Identifier 2689002 2689006 + PropertyAccessExpression 2689007 2689025 + Identifier 2689007 2689017 + Identifier 2689018 2689025 + AmpersandAmpersandToken 2689026 2689029 + PrefixUnaryExpression 2689029 2689070 + PrefixUnaryExpression 2689031 2689070 + CallExpression 2689032 2689070 + Identifier 2689032 2689050 + Identifier 2689051 2689055 + PropertyAccessExpression 2689056 2689069 + Identifier 2689056 2689061 + Identifier 2689062 2689069 + QuestionToken 2689071 2689073 + Identifier 2689073 2689094 + ColonToken 2689094 2689096 + Identifier 2689096 2689106 + IfStatement 2689108 2689419 + BinaryExpression 2689126 2689185 + Identifier 2689126 2689135 + AmpersandAmpersandToken 2689135 2689138 + PrefixUnaryExpression 2689138 2689185 + CallExpression 2689140 2689185 + Identifier 2689140 2689158 + PropertyAccessExpression 2689159 2689173 + Identifier 2689159 2689168 + Identifier 2689169 2689173 + PropertyAccessExpression 2689174 2689184 + Identifier 2689174 2689179 + Identifier 2689180 2689184 + Block 2689186 2689419 + ExpressionStatement 2689188 2689404 + CallExpression 2689188 2689403 + Identifier 2689188 2689211 + Identifier 2689212 2689221 + PropertyAccessExpression 2689222 2689286 + Identifier 2689222 2689234 + Identifier 2689235 2689286 + CallExpression 2689287 2689319 + Identifier 2689287 2689300 + PropertyAccessExpression 2689301 2689318 + Identifier 2689301 2689310 + Identifier 2689311 2689318 + CallExpression 2689320 2689349 + Identifier 2689320 2689333 + PropertyAccessExpression 2689334 2689348 + Identifier 2689334 2689343 + Identifier 2689344 2689348 + CallExpression 2689350 2689377 + Identifier 2689350 2689363 + PropertyAccessExpression 2689364 2689376 + Identifier 2689364 2689368 + Identifier 2689369 2689376 + CallExpression 2689378 2689402 + Identifier 2689378 2689391 + PropertyAccessExpression 2689392 2689401 + Identifier 2689392 2689396 + Identifier 2689397 2689401 + FunctionDeclaration 2689437 2690109 + Identifier 2689453 2689477 + Parameter 2689478 2689494 + Identifier 2689478 2689482 + TypeReference 2689483 2689494 + Identifier 2689483 2689494 + Parameter 2689495 2689522 + Identifier 2689495 2689503 + TypeReference 2689504 2689522 + Identifier 2689504 2689522 + VoidKeyword 2689524 2689529 + Block 2689529 2690109 + SwitchStatement 2689531 2690102 + PropertyAccessExpression 2689698 2689714 + Identifier 2689698 2689702 + Identifier 2689703 2689714 + CaseBlock 2689715 2690102 + CaseClause 2689717 2689742 + StringLiteral 2689735 2689741 + CaseClause 2689742 2689771 + StringLiteral 2689760 2689770 + CaseClause 2689771 2689798 + StringLiteral 2689789 2689797 + CaseClause 2689798 2689826 + StringLiteral 2689816 2689825 + CaseClause 2689826 2689854 + StringLiteral 2689844 2689853 + CaseClause 2689854 2689883 + StringLiteral 2689872 2689882 + CaseClause 2689883 2689911 + StringLiteral 2689901 2689910 + CaseClause 2689911 2689939 + StringLiteral 2689929 2689938 + CaseClause 2689939 2689965 + StringLiteral 2689957 2689964 + CaseClause 2689965 2689993 + StringLiteral 2689983 2689992 + CaseClause 2689993 2690091 + StringLiteral 2690011 2690023 + ExpressionStatement 2690024 2690091 + CallExpression 2690024 2690090 + Identifier 2690024 2690047 + Identifier 2690048 2690052 + Identifier 2690053 2690061 + AsExpression 2690062 2690089 + PropertyAccessExpression 2690062 2690079 + Identifier 2690062 2690067 + Identifier 2690068 2690079 + StringKeyword 2690082 2690089 + FunctionDeclaration 2690109 2690691 + Identifier 2690230 2690264 + Parameter 2690265 2690281 + Identifier 2690265 2690269 + TypeReference 2690270 2690281 + Identifier 2690270 2690281 + VoidKeyword 2690283 2690288 + Block 2690288 2690691 + IfStatement 2690290 2690684 + BinaryExpression 2690304 2690480 + BinaryExpression 2690304 2690386 + BinaryExpression 2690304 2690353 + Identifier 2690304 2690333 + GreaterThanEqualsToken 2690333 2690336 + PropertyAccessExpression 2690336 2690353 + Identifier 2690336 2690349 + Identifier 2690350 2690353 + AmpersandAmpersandToken 2690353 2690356 + BinaryExpression 2690356 2690386 + PropertyAccessExpression 2690356 2690373 + Identifier 2690356 2690361 + Identifier 2690362 2690373 + EqualsEqualsEqualsToken 2690373 2690377 + StringLiteral 2690377 2690386 + AmpersandAmpersandToken 2690386 2690402 + BinaryExpression 2690402 2690480 + CallExpression 2690402 2690460 + PropertyAccessExpression 2690402 2690433 + Identifier 2690402 2690407 + Identifier 2690408 2690433 + CallExpression 2690434 2690459 + Identifier 2690434 2690453 + Identifier 2690454 2690458 + LessThanToken 2690460 2690462 + PropertyAccessExpression 2690462 2690480 + Identifier 2690462 2690473 + Identifier 2690474 2690480 + Block 2690491 2690684 + ExpressionStatement 2690493 2690617 + CallExpression 2690493 2690616 + Identifier 2690493 2690512 + Identifier 2690513 2690517 + PropertyAccessExpression 2690518 2690591 + Identifier 2690518 2690530 + Identifier 2690531 2690591 + ElementAccessExpression 2690592 2690615 + Identifier 2690592 2690603 + Identifier 2690604 2690614 + FunctionDeclaration 2690691 2693011 + Identifier 2690707 2690737 + Parameter 2690738 2690764 + Identifier 2690738 2690742 + TypeReference 2690743 2690764 + Identifier 2690743 2690764 + Block 2690765 2693011 + VariableStatement 2690767 2690849 + VariableDeclarationList 2690767 2690848 + VariableDeclaration 2690782 2690848 + Identifier 2690782 2690798 + CallExpression 2690800 2690848 + Identifier 2690800 2690807 + CallExpression 2690808 2690826 + Identifier 2690808 2690820 + Identifier 2690821 2690825 + Identifier 2690827 2690847 + IfStatement 2690849 2690896 + PrefixUnaryExpression 2690863 2690887 + CallExpression 2690864 2690887 + Identifier 2690864 2690870 + Identifier 2690871 2690886 + ReturnStatement 2690888 2690896 + VariableStatement 2690896 2690938 + VariableDeclarationList 2690896 2690937 + VariableDeclaration 2690913 2690937 + Identifier 2690913 2690918 + CallExpression 2690920 2690937 + Identifier 2690920 2690931 + Identifier 2690932 2690936 + VariableStatement 2690938 2690987 + VariableDeclarationList 2690938 2690986 + VariableDeclaration 2690953 2690986 + Identifier 2690953 2690964 + NewExpression 2690966 2690986 + Identifier 2690970 2690974 + TypeReference 2690975 2690983 + Identifier 2690975 2690983 + VariableStatement 2690987 2691042 + VariableDeclarationList 2690987 2691041 + VariableDeclaration 2691002 2691041 + Identifier 2691002 2691021 + NewExpression 2691023 2691041 + Identifier 2691027 2691031 + NumberKeyword 2691032 2691038 + ExpressionStatement 2691042 2691323 + CallExpression 2691042 2691322 + Identifier 2691042 2691059 + PropertyAccessExpression 2691060 2691075 + Identifier 2691060 2691064 + Identifier 2691065 2691075 + ArrowFunction 2691076 2691321 + Parameter 2691078 2691086 + ObjectBindingPattern 2691078 2691086 + BindingElement 2691079 2691084 + Identifier 2691079 2691084 + Parameter 2691087 2691093 + Identifier 2691087 2691093 + EqualsGreaterThanToken 2691094 2691097 + Block 2691097 2691321 + IfStatement 2691099 2691204 + CallExpression 2691117 2691135 + Identifier 2691117 2691129 + Identifier 2691130 2691134 + Block 2691136 2691204 + ExpressionStatement 2691138 2691189 + CallExpression 2691138 2691188 + PropertyAccessExpression 2691138 2691170 + Identifier 2691138 2691166 + Identifier 2691167 2691170 + PropertyAccessExpression 2691171 2691187 + Identifier 2691171 2691175 + Identifier 2691176 2691187 + IfStatement 2691204 2691310 + CallExpression 2691222 2691244 + Identifier 2691222 2691238 + Identifier 2691239 2691243 + Block 2691245 2691310 + ExpressionStatement 2691247 2691295 + CallExpression 2691247 2691294 + PropertyAccessExpression 2691247 2691287 + Identifier 2691247 2691283 + Identifier 2691284 2691287 + Identifier 2691288 2691293 + VariableStatement 2691323 2691394 + VariableDeclarationList 2691323 2691393 + VariableDeclaration 2691340 2691393 + Identifier 2691340 2691358 + CallExpression 2691360 2691393 + Identifier 2691360 2691387 + Identifier 2691388 2691392 + IfStatement 2691394 2693004 + Identifier 2691408 2691425 + Block 2691426 2692174 + VariableStatement 2691428 2691497 + VariableDeclarationList 2691428 2691496 + VariableDeclaration 2691447 2691496 + Identifier 2691447 2691467 + BinaryExpression 2691469 2691496 + PropertyAccessExpression 2691469 2691492 + Identifier 2691469 2691485 + Identifier 2691486 2691492 + MinusToken 2691492 2691494 + NumericLiteral 2691494 2691496 + VariableStatement 2691497 2691571 + VariableDeclarationList 2691497 2691570 + VariableDeclaration 2691516 2691570 + Identifier 2691516 2691531 + ElementAccessExpression 2691533 2691570 + Identifier 2691533 2691549 + Identifier 2691550 2691569 + IfStatement 2691571 2692163 + BinaryExpression 2691589 2691927 + BinaryExpression 2691589 2691854 + BinaryExpression 2691589 2691806 + BinaryExpression 2691589 2691754 + BinaryExpression 2691589 2691699 + BinaryExpression 2691589 2691666 + BinaryExpression 2691589 2691629 + Identifier 2691589 2691611 + AmpersandAmpersandToken 2691611 2691614 + Identifier 2691614 2691629 + AmpersandAmpersandToken 2691629 2691632 + CallExpression 2691632 2691666 + Identifier 2691632 2691645 + PropertyAccessExpression 2691646 2691665 + Identifier 2691646 2691660 + Identifier 2691661 2691665 + AmpersandAmpersandToken 2691666 2691669 + PropertyAccessExpression 2691669 2691699 + Identifier 2691669 2691684 + Identifier 2691685 2691699 + AmpersandAmpersandToken 2691699 2691702 + PropertyAccessExpression 2691702 2691754 + PropertyAccessExpression 2691702 2691749 + Identifier 2691702 2691734 + Identifier 2691735 2691749 + Identifier 2691750 2691754 + AmpersandAmpersandToken 2691754 2691757 + PrefixUnaryExpression 2691757 2691806 + CallExpression 2691759 2691806 + PropertyAccessExpression 2691759 2691773 + Identifier 2691759 2691769 + Identifier 2691770 2691773 + PropertyAccessExpression 2691774 2691805 + PropertyAccessExpression 2691774 2691793 + Identifier 2691774 2691788 + Identifier 2691789 2691793 + Identifier 2691794 2691805 + AmpersandAmpersandToken 2691806 2691809 + PrefixUnaryExpression 2691809 2691854 + CallExpression 2691811 2691854 + PropertyAccessExpression 2691811 2691833 + Identifier 2691811 2691829 + Identifier 2691830 2691833 + Identifier 2691834 2691853 + AmpersandAmpersandToken 2691854 2691857 + PrefixUnaryExpression 2691857 2691927 + CallExpression 2691859 2691927 + Identifier 2691859 2691870 + CallExpression 2691871 2691926 + Identifier 2691871 2691890 + PropertyAccessExpression 2691891 2691925 + PropertyAccessExpression 2691891 2691920 + Identifier 2691891 2691905 + Identifier 2691906 2691920 + Identifier 2691921 2691925 + Block 2691942 2692163 + ExpressionStatement 2691944 2692148 + CallExpression 2691944 2692147 + Identifier 2691944 2691967 + PropertyAccessExpression 2691968 2691987 + Identifier 2691968 2691982 + Identifier 2691983 2691987 + PropertyAccessExpression 2691988 2692117 + Identifier 2691988 2692000 + Identifier 2692001 2692117 + CallExpression 2692118 2692146 + Identifier 2692118 2692125 + PropertyAccessExpression 2692126 2692145 + Identifier 2692126 2692140 + Identifier 2692141 2692145 + Block 2692188 2693004 + ExpressionStatement 2692190 2692993 + CallExpression 2692190 2692992 + Identifier 2692190 2692211 + Identifier 2692212 2692227 + ArrowFunction 2692228 2692991 + Parameter 2692230 2692251 + ObjectBindingPattern 2692230 2692251 + BindingElement 2692231 2692236 + Identifier 2692231 2692236 + BindingElement 2692237 2692249 + Identifier 2692237 2692249 + Parameter 2692252 2692258 + Identifier 2692252 2692258 + EqualsGreaterThanToken 2692259 2692262 + Block 2692262 2692991 + IfStatement 2692264 2692424 + BinaryExpression 2692286 2692373 + CallExpression 2692286 2692315 + PropertyAccessExpression 2692286 2692308 + Identifier 2692286 2692304 + Identifier 2692305 2692308 + Identifier 2692309 2692314 + BarBarToken 2692315 2692318 + BinaryExpression 2692318 2692373 + CallExpression 2692318 2692337 + Identifier 2692318 2692331 + Identifier 2692332 2692336 + AmpersandAmpersandToken 2692337 2692340 + CallExpression 2692340 2692373 + PropertyAccessExpression 2692340 2692355 + Identifier 2692340 2692351 + Identifier 2692352 2692355 + PropertyAccessExpression 2692356 2692372 + Identifier 2692356 2692360 + Identifier 2692361 2692372 + Block 2692374 2692424 + ReturnStatement 2692376 2692405 + IfStatement 2692424 2692976 + CallExpression 2692446 2692467 + Identifier 2692446 2692461 + Identifier 2692462 2692466 + Block 2692468 2692718 + IfStatement 2692470 2692699 + Identifier 2692496 2692500 + Block 2692501 2692699 + ExpressionStatement 2692503 2692676 + CallExpression 2692503 2692675 + Identifier 2692503 2692534 + Identifier 2692535 2692539 + PropertyAccessExpression 2692540 2692617 + Identifier 2692540 2692552 + Identifier 2692553 2692617 + CallExpression 2692618 2692643 + Identifier 2692618 2692637 + Identifier 2692638 2692642 + CallExpression 2692644 2692674 + Identifier 2692644 2692663 + PropertyAccessExpression 2692664 2692673 + Identifier 2692664 2692668 + Identifier 2692669 2692673 + Block 2692740 2692976 + IfStatement 2692742 2692957 + PrefixUnaryExpression 2692768 2692780 + Identifier 2692769 2692780 + Block 2692781 2692957 + ExpressionStatement 2692783 2692934 + CallExpression 2692783 2692933 + Identifier 2692783 2692826 + Identifier 2692827 2692831 + Identifier 2692832 2692837 + PropertyAccessExpression 2692838 2692918 + Identifier 2692838 2692850 + Identifier 2692851 2692918 + CallExpression 2692919 2692932 + Identifier 2692919 2692926 + Identifier 2692927 2692931 + FunctionDeclaration 2693011 2694432 + Identifier 2693156 2693176 + Parameter 2693177 2693251 + Identifier 2693177 2693202 + UnionType 2693203 2693251 + TypeOperator 2693203 2693239 + ArrayType 2693212 2693239 + TypeReference 2693212 2693237 + Identifier 2693212 2693237 + UndefinedKeyword 2693241 2693251 + Block 2693252 2694432 + VariableStatement 2693254 2693288 + VariableDeclarationList 2693254 2693287 + VariableDeclaration 2693267 2693287 + Identifier 2693267 2693279 + FalseKeyword 2693281 2693287 + IfStatement 2693288 2693616 + Identifier 2693302 2693327 + Block 2693328 2693616 + ForStatement 2693330 2693605 + VariableDeclarationList 2693349 2693358 + VariableDeclaration 2693352 2693358 + Identifier 2693352 2693354 + NumericLiteral 2693356 2693358 + BinaryExpression 2693359 2693396 + Identifier 2693359 2693361 + LessThanToken 2693361 2693363 + PropertyAccessExpression 2693363 2693396 + Identifier 2693363 2693389 + Identifier 2693390 2693396 + PostfixUnaryExpression 2693397 2693401 + Identifier 2693397 2693399 + Block 2693402 2693605 + VariableStatement 2693404 2693464 + VariableDeclarationList 2693404 2693463 + VariableDeclaration 2693427 2693463 + Identifier 2693427 2693432 + ElementAccessExpression 2693434 2693463 + Identifier 2693434 2693460 + Identifier 2693461 2693462 + ExpressionStatement 2693464 2693507 + CallExpression 2693464 2693506 + Identifier 2693464 2693500 + Identifier 2693501 2693505 + ExpressionStatement 2693507 2693590 + CallExpression 2693507 2693589 + Identifier 2693507 2693544 + CallExpression 2693545 2693588 + Identifier 2693545 2693579 + Identifier 2693580 2693584 + Identifier 2693585 2693587 + FunctionDeclaration 2693616 2694425 + Identifier 2693636 2693671 + Parameter 2693672 2693702 + Identifier 2693672 2693676 + TypeReference 2693677 2693702 + Identifier 2693677 2693702 + Parameter 2693703 2693713 + Identifier 2693703 2693705 + NumberKeyword 2693706 2693713 + Block 2693714 2694425 + ReturnStatement 2693716 2694414 + ArrowFunction 2693736 2694413 + EqualsGreaterThanToken 2693739 2693742 + Block 2693742 2694413 + IfStatement 2693744 2694113 + PropertyAccessExpression 2693766 2693778 + Identifier 2693766 2693770 + Identifier 2693771 2693778 + Block 2693779 2693941 + ExpressionStatement 2693781 2693822 + BinaryExpression 2693781 2693821 + Identifier 2693781 2693814 + EqualsToken 2693814 2693816 + TrueKeyword 2693816 2693821 + ExpressionStatement 2693822 2693922 + CallExpression 2693822 2693921 + Identifier 2693822 2693876 + PropertyAccessExpression 2693877 2693889 + Identifier 2693877 2693881 + Identifier 2693882 2693889 + NonNullExpression 2693890 2693917 + Identifier 2693890 2693916 + Identifier 2693918 2693920 + IfStatement 2693963 2694113 + Identifier 2693968 2693979 + Block 2693980 2694113 + ExpressionStatement 2693982 2694094 + CallExpression 2693982 2694093 + Identifier 2693982 2694009 + Identifier 2694010 2694014 + PropertyAccessExpression 2694015 2694092 + Identifier 2694015 2694027 + Identifier 2694028 2694092 + ForStatement 2694113 2694398 + VariableDeclarationList 2694136 2694145 + VariableDeclaration 2694139 2694145 + Identifier 2694139 2694141 + NumericLiteral 2694143 2694145 + BinaryExpression 2694146 2694152 + Identifier 2694146 2694148 + LessThanToken 2694148 2694150 + Identifier 2694150 2694152 + PostfixUnaryExpression 2694153 2694157 + Identifier 2694153 2694155 + Block 2694158 2694398 + IfStatement 2694160 2694379 + BinaryExpression 2694186 2694238 + PropertyAccessExpression 2694186 2694222 + ElementAccessExpression 2694186 2694215 + NonNullExpression 2694186 2694212 + Identifier 2694186 2694211 + Identifier 2694213 2694214 + Identifier 2694216 2694222 + EqualsEqualsEqualsToken 2694222 2694226 + PropertyAccessExpression 2694226 2694238 + Identifier 2694226 2694231 + Identifier 2694232 2694238 + Block 2694239 2694379 + ExpressionStatement 2694241 2694356 + CallExpression 2694241 2694355 + Identifier 2694241 2694272 + PropertyAccessExpression 2694273 2694282 + Identifier 2694273 2694277 + Identifier 2694278 2694282 + PropertyAccessExpression 2694283 2694318 + Identifier 2694283 2694295 + Identifier 2694296 2694318 + CallExpression 2694319 2694354 + Identifier 2694319 2694343 + PropertyAccessExpression 2694344 2694353 + Identifier 2694344 2694348 + Identifier 2694349 2694353 + FunctionDeclaration 2694432 2695369 + Identifier 2694546 2694579 + Parameter 2694580 2694594 + Identifier 2694580 2694584 + TypeReference 2694585 2694594 + Identifier 2694585 2694594 + Parameter 2694595 2694647 + Identifier 2694595 2694610 + TypeOperator 2694611 2694647 + ArrayType 2694620 2694647 + TypeReference 2694620 2694645 + Identifier 2694620 2694645 + Parameter 2694648 2694662 + Identifier 2694648 2694654 + NumberKeyword 2694655 2694662 + Block 2694663 2695369 + ExpressionStatement 2694665 2694687 + CallExpression 2694665 2694686 + Identifier 2694665 2694680 + Identifier 2694681 2694685 + FunctionDeclaration 2694687 2695362 + Identifier 2694705 2694711 + Parameter 2694712 2694722 + Identifier 2694712 2694716 + TypeReference 2694717 2694722 + Identifier 2694717 2694722 + Block 2694723 2695362 + IfStatement 2694725 2695311 + BinaryExpression 2694743 2694781 + PropertyAccessExpression 2694743 2694752 + Identifier 2694743 2694747 + Identifier 2694748 2694752 + EqualsEqualsEqualsToken 2694752 2694756 + PropertyAccessExpression 2694756 2694781 + Identifier 2694756 2694767 + Identifier 2694768 2694781 + Block 2694782 2695311 + VariableStatement 2694784 2694867 + VariableDeclarationList 2694784 2694866 + VariableDeclaration 2694807 2694866 + Identifier 2694807 2694812 + CallExpression 2694814 2694866 + Identifier 2694814 2694839 + AsExpression 2694840 2694865 + Identifier 2694840 2694844 + TypeReference 2694847 2694865 + Identifier 2694847 2694865 + IfStatement 2694867 2695296 + BinaryExpression 2694889 2694925 + PropertyAccessExpression 2694889 2694899 + Identifier 2694889 2694893 + Identifier 2694894 2694899 + AmpersandToken 2694899 2694901 + PropertyAccessExpression 2694901 2694925 + Identifier 2694901 2694911 + Identifier 2694912 2694925 + Block 2694926 2695296 + ForStatement 2694928 2695277 + VariableDeclarationList 2694955 2694968 + VariableDeclaration 2694958 2694968 + Identifier 2694958 2694960 + Identifier 2694962 2694968 + BinaryExpression 2694969 2694995 + Identifier 2694969 2694971 + LessThanToken 2694971 2694973 + PropertyAccessExpression 2694973 2694995 + Identifier 2694973 2694988 + Identifier 2694989 2694995 + PostfixUnaryExpression 2694996 2695000 + Identifier 2694996 2694998 + Block 2695001 2695277 + IfStatement 2695003 2695254 + BinaryExpression 2695033 2695090 + PropertyAccessExpression 2695033 2695044 + Identifier 2695033 2695037 + Identifier 2695038 2695044 + EqualsEqualsEqualsToken 2695044 2695048 + CallExpression 2695048 2695090 + Identifier 2695048 2695071 + ElementAccessExpression 2695072 2695089 + Identifier 2695072 2695086 + Identifier 2695087 2695088 + Block 2695091 2695254 + ExpressionStatement 2695093 2695227 + CallExpression 2695093 2695226 + Identifier 2695093 2695128 + Identifier 2695129 2695133 + PropertyAccessExpression 2695134 2695225 + Identifier 2695134 2695146 + Identifier 2695147 2695225 + ExpressionStatement 2695311 2695351 + CallExpression 2695311 2695350 + Identifier 2695311 2695337 + Identifier 2695338 2695342 + Identifier 2695343 2695349 + FunctionDeclaration 2695369 2696519 + Identifier 2695472 2695505 + Parameter 2695506 2695520 + Identifier 2695506 2695512 + TypeReference 2695513 2695520 + Identifier 2695513 2695520 + Block 2695521 2696519 + IfStatement 2695523 2695627 + BinaryExpression 2695537 2695592 + PropertyAccessExpression 2695537 2695556 + Identifier 2695537 2695543 + Identifier 2695544 2695556 + AmpersandAmpersandToken 2695556 2695559 + BinaryExpression 2695559 2695592 + PropertyAccessExpression 2695559 2695586 + PropertyAccessExpression 2695559 2695579 + Identifier 2695559 2695566 + Identifier 2695567 2695579 + Identifier 2695580 2695586 + EqualsEqualsEqualsToken 2695586 2695590 + NumericLiteral 2695590 2695592 + Block 2695593 2695627 + ReturnStatement 2695595 2695616 + VariableStatement 2695627 2695676 + VariableDeclarationList 2695627 2695675 + VariableDeclaration 2695644 2695675 + Identifier 2695644 2695650 + CallExpression 2695652 2695675 + Identifier 2695652 2695667 + Identifier 2695668 2695674 + IfStatement 2695676 2696512 + PrefixUnaryExpression 2695690 2695718 + PropertyAccessExpression 2695691 2695718 + Identifier 2695691 2695696 + Identifier 2695697 2695718 + Block 2695719 2696512 + ExpressionStatement 2695721 2695770 + BinaryExpression 2695721 2695769 + PropertyAccessExpression 2695721 2695762 + Identifier 2695721 2695740 + Identifier 2695741 2695762 + EqualsToken 2695762 2695764 + TrueKeyword 2695764 2695769 + VariableStatement 2695770 2695853 + VariableDeclarationList 2695770 2695852 + VariableDeclaration 2695789 2695852 + Identifier 2695789 2695802 + CallExpression 2695804 2695852 + Identifier 2695804 2695844 + Identifier 2695845 2695851 + IfStatement 2695853 2695955 + BinaryExpression 2695871 2695912 + PrefixUnaryExpression 2695871 2695884 + Identifier 2695872 2695884 + BarBarToken 2695884 2695887 + BinaryExpression 2695887 2695912 + PropertyAccessExpression 2695887 2695907 + Identifier 2695887 2695900 + Identifier 2695901 2695907 + LessThanEqualsToken 2695907 2695910 + NumericLiteral 2695910 2695912 + Block 2695913 2695955 + ReturnStatement 2695915 2695940 + VariableStatement 2695955 2696033 + VariableDeclarationList 2695955 2696032 + VariableDeclaration 2695976 2696032 + Identifier 2695976 2695981 + AsExpression 2695983 2696032 + CallExpression 2695983 2696015 + Identifier 2695983 2696007 + Identifier 2696008 2696014 + TypeReference 2696018 2696032 + Identifier 2696018 2696032 + IfStatement 2696033 2696501 + PrefixUnaryExpression 2696051 2696158 + CallExpression 2696052 2696158 + Identifier 2696052 2696078 + Identifier 2696079 2696091 + NonNullExpression 2696092 2696118 + PropertyAccessExpression 2696092 2696117 + Identifier 2696092 2696097 + Identifier 2696098 2696117 + Identifier 2696119 2696157 + Block 2696159 2696501 + VariableStatement 2696161 2696285 + VariableDeclarationList 2696161 2696284 + VariableDeclaration 2696254 2696284 + Identifier 2696254 2696259 + CallExpression 2696261 2696284 + Identifier 2696261 2696276 + Identifier 2696277 2696283 + ForOfStatement 2696285 2696486 + VariableDeclarationList 2696308 2696325 + VariableDeclaration 2696313 2696325 + Identifier 2696313 2696325 + Identifier 2696328 2696341 + Block 2696342 2696486 + ExpressionStatement 2696344 2696467 + CallExpression 2696344 2696466 + Identifier 2696344 2696371 + PropertyAccessExpression 2696372 2696388 + Identifier 2696372 2696383 + Identifier 2696384 2696388 + PropertyAccessExpression 2696389 2696459 + Identifier 2696389 2696401 + Identifier 2696402 2696459 + Identifier 2696460 2696465 + FunctionDeclaration 2696519 2699250 + Identifier 2696535 2696562 + TypeParameter 2696563 2696629 + Identifier 2696563 2696564 + UnionType 2696572 2696629 + TypeReference 2696572 2696602 + Identifier 2696572 2696602 + TypeReference 2696604 2696629 + Identifier 2696604 2696629 + Parameter 2696631 2696657 + Identifier 2696631 2696643 + TypeOperator 2696644 2696657 + ArrayType 2696653 2696657 + TypeReference 2696653 2696655 + Identifier 2696653 2696655 + Parameter 2696658 2696692 + Identifier 2696658 2696675 + ArrayType 2696676 2696692 + TypeReference 2696676 2696690 + Identifier 2696676 2696690 + Parameter 2696693 2696772 + Identifier 2696693 2696722 + FunctionType 2696723 2696772 + Parameter 2696725 2696732 + Identifier 2696725 2696729 + TypeReference 2696730 2696732 + Identifier 2696730 2696732 + TypeOperator 2696736 2696772 + ArrayType 2696745 2696772 + TypeReference 2696745 2696770 + Identifier 2696745 2696770 + Block 2696773 2699250 + VariableStatement 2696775 2696839 + VariableDeclarationList 2696775 2696838 + VariableDeclaration 2696790 2696838 + Identifier 2696790 2696811 + CallExpression 2696813 2696838 + Identifier 2696813 2696820 + Identifier 2696821 2696837 + VariableStatement 2696839 2696920 + VariableDeclarationList 2696839 2696919 + VariableDeclaration 2696854 2696919 + Identifier 2696854 2696875 + CallExpression 2696877 2696919 + Identifier 2696877 2696901 + Identifier 2696902 2696918 + ForOfStatement 2696920 2699219 + VariableDeclarationList 2696937 2696954 + VariableDeclaration 2696942 2696954 + Identifier 2696942 2696954 + Identifier 2696957 2696970 + Block 2696971 2699219 + VariableStatement 2696973 2697150 + VariableDeclarationList 2696973 2697149 + VariableDeclaration 2697088 2697149 + Identifier 2697088 2697105 + CallExpression 2697107 2697149 + Identifier 2697107 2697136 + Identifier 2697137 2697148 + VariableStatement 2697150 2697214 + VariableDeclarationList 2697150 2697213 + VariableDeclaration 2697169 2697213 + Identifier 2697169 2697187 + PropertyAccessExpression 2697189 2697213 + Identifier 2697189 2697206 + Identifier 2697207 2697213 + IfStatement 2697214 2697365 + BinaryExpression 2697232 2697316 + BinaryExpression 2697232 2697272 + Identifier 2697232 2697249 + LessThanToken 2697249 2697251 + Identifier 2697251 2697272 + BarBarToken 2697272 2697275 + BinaryExpression 2697275 2697316 + Identifier 2697275 2697293 + GreaterThanToken 2697293 2697295 + Identifier 2697295 2697316 + Block 2697317 2697365 + ReturnStatement 2697319 2697350 + FalseKeyword 2697343 2697349 + ForStatement 2697365 2699208 + VariableDeclarationList 2697386 2697395 + VariableDeclaration 2697389 2697395 + Identifier 2697389 2697391 + NumericLiteral 2697393 2697395 + BinaryExpression 2697396 2697418 + Identifier 2697396 2697398 + LessThanToken 2697398 2697400 + Identifier 2697400 2697418 + PostfixUnaryExpression 2697419 2697423 + Identifier 2697419 2697421 + Block 2697424 2699208 + VariableStatement 2697426 2697479 + VariableDeclarationList 2697426 2697478 + VariableDeclaration 2697449 2697478 + Identifier 2697449 2697456 + ElementAccessExpression 2697458 2697478 + Identifier 2697458 2697475 + Identifier 2697476 2697477 + VariableStatement 2697479 2697532 + VariableDeclarationList 2697479 2697531 + VariableDeclaration 2697502 2697531 + Identifier 2697502 2697509 + ElementAccessExpression 2697511 2697531 + Identifier 2697511 2697528 + Identifier 2697529 2697530 + IfStatement 2697532 2697825 + BinaryExpression 2697715 2697768 + PropertyAccessExpression 2697715 2697738 + PropertyAccessExpression 2697715 2697726 + Identifier 2697715 2697721 + Identifier 2697722 2697726 + Identifier 2697727 2697738 + ExclamationEqualsEqualsToken 2697738 2697742 + PropertyAccessExpression 2697742 2697768 + PropertyAccessExpression 2697742 2697756 + Identifier 2697742 2697749 + Identifier 2697750 2697756 + Identifier 2697757 2697768 + Block 2697769 2697825 + ReturnStatement 2697771 2697806 + FalseKeyword 2697799 2697805 + VariableStatement 2697825 2698084 + VariableDeclarationList 2697825 2698083 + VariableDeclaration 2698024 2698083 + Identifier 2698024 2698035 + CallExpression 2698037 2698083 + Identifier 2698037 2698075 + Identifier 2698076 2698082 + VariableStatement 2698084 2698173 + VariableDeclarationList 2698084 2698172 + VariableDeclaration 2698107 2698172 + Identifier 2698107 2698124 + BinaryExpression 2698126 2698172 + Identifier 2698126 2698137 + AmpersandAmpersandToken 2698137 2698140 + CallExpression 2698140 2698172 + Identifier 2698140 2698160 + Identifier 2698161 2698171 + VariableStatement 2698173 2698253 + VariableDeclarationList 2698173 2698252 + VariableDeclaration 2698196 2698252 + Identifier 2698196 2698213 + CallExpression 2698215 2698252 + Identifier 2698215 2698244 + Identifier 2698245 2698251 + IfStatement 2698253 2698679 + BinaryExpression 2698528 2698622 + BinaryExpression 2698528 2698564 + Identifier 2698528 2698544 + AmpersandAmpersandToken 2698544 2698547 + Identifier 2698547 2698564 + AmpersandAmpersandToken 2698564 2698567 + PrefixUnaryExpression 2698567 2698622 + CallExpression 2698569 2698622 + Identifier 2698569 2698586 + Identifier 2698587 2698603 + Identifier 2698604 2698621 + Block 2698623 2698679 + ReturnStatement 2698625 2698660 + FalseKeyword 2698653 2698659 + VariableStatement 2698679 2698956 + VariableDeclarationList 2698679 2698955 + VariableDeclaration 2698885 2698955 + Identifier 2698885 2698899 + BinaryExpression 2698901 2698955 + PropertyAccessExpression 2698901 2698916 + Identifier 2698901 2698908 + Identifier 2698909 2698916 + AmpersandAmpersandToken 2698916 2698919 + CallExpression 2698919 2698955 + Identifier 2698919 2698939 + PropertyAccessExpression 2698940 2698954 + Identifier 2698940 2698946 + Identifier 2698947 2698954 + VariableStatement 2698956 2699032 + VariableDeclarationList 2698956 2699031 + VariableDeclaration 2698979 2699031 + Identifier 2698979 2698993 + CallExpression 2698995 2699031 + Identifier 2698995 2699023 + Identifier 2699024 2699030 + IfStatement 2699032 2699193 + BinaryExpression 2699054 2699136 + BinaryExpression 2699054 2699084 + Identifier 2699054 2699067 + AmpersandAmpersandToken 2699067 2699070 + Identifier 2699070 2699084 + AmpersandAmpersandToken 2699084 2699087 + PrefixUnaryExpression 2699087 2699136 + CallExpression 2699089 2699136 + Identifier 2699089 2699106 + Identifier 2699107 2699120 + Identifier 2699121 2699135 + Block 2699137 2699193 + ReturnStatement 2699139 2699174 + FalseKeyword 2699167 2699173 + ReturnStatement 2699219 2699243 + TrueKeyword 2699237 2699242 + FunctionDeclaration 2699250 2700948 + Identifier 2699266 2699306 + Parameter 2699307 2699333 + Identifier 2699307 2699311 + TypeReference 2699312 2699333 + Identifier 2699312 2699333 + Block 2699334 2700948 + VariableStatement 2699336 2699589 + VariableDeclarationList 2699336 2699588 + VariableDeclaration 2699351 2699588 + Identifier 2699351 2699395 + BinaryExpression 2699397 2699588 + BinaryExpression 2699397 2699496 + PrefixUnaryExpression 2699397 2699415 + Identifier 2699399 2699415 + AmpersandAmpersandToken 2699415 2699418 + BinaryExpression 2699418 2699496 + Identifier 2699418 2699434 + LessThanToken 2699434 2699436 + PropertyAccessExpression 2699436 2699496 + Identifier 2699436 2699465 + Identifier 2699466 2699496 + AmpersandAmpersandToken 2699496 2699499 + CallExpression 2699499 2699588 + Identifier 2699499 2699551 + FalseKeyword 2699552 2699581 + Identifier 2699582 2699587 + VariableStatement 2699589 2699829 + VariableDeclarationList 2699589 2699828 + VariableDeclaration 2699604 2699828 + Identifier 2699604 2699652 + BinaryExpression 2699654 2699828 + BinaryExpression 2699654 2699734 + Identifier 2699654 2699670 + LessThanToken 2699670 2699672 + PropertyAccessExpression 2699672 2699734 + Identifier 2699672 2699701 + Identifier 2699702 2699734 + BarBarToken 2699734 2699737 + BinaryExpression 2699737 2699828 + Identifier 2699737 2699766 + LessThanToken 2699766 2699768 + PropertyAccessExpression 2699768 2699828 + Identifier 2699768 2699797 + Identifier 2699798 2699828 + VariableStatement 2699829 2699898 + VariableDeclarationList 2699829 2699897 + VariableDeclaration 2699844 2699897 + Identifier 2699844 2699870 + PrefixUnaryExpression 2699872 2699897 + Identifier 2699874 2699897 + IfStatement 2699898 2700941 + BinaryExpression 2699912 2700006 + Identifier 2699912 2699955 + BarBarToken 2699955 2699958 + Identifier 2699958 2700006 + Block 2700007 2700941 + ForOfStatement 2700009 2700930 + VariableDeclarationList 2700028 2700040 + VariableDeclaration 2700033 2700040 + Identifier 2700033 2700040 + PropertyAccessExpression 2700043 2700056 + Identifier 2700043 2700048 + Identifier 2700049 2700056 + Block 2700057 2700930 + IfStatement 2700059 2700915 + BinaryExpression 2700081 2700219 + Identifier 2700081 2700124 + AmpersandAmpersandToken 2700124 2700127 + CallExpression 2700127 2700219 + Identifier 2700127 2700174 + FalseKeyword 2700175 2700204 + Identifier 2700205 2700212 + Identifier 2700213 2700218 + Block 2700220 2700316 + ReturnStatement 2700222 2700297 + BinaryExpression 2700250 2700296 + CallExpression 2700250 2700288 + Identifier 2700250 2700267 + CallExpression 2700268 2700287 + Identifier 2700268 2700281 + Identifier 2700282 2700286 + QuestionQuestionToken 2700288 2700291 + Identifier 2700291 2700296 + IfStatement 2700338 2700915 + Identifier 2700343 2700390 + Block 2700391 2700915 + IfStatement 2700393 2700896 + CallExpression 2700419 2700456 + Identifier 2700419 2700448 + Identifier 2700449 2700455 + Block 2700457 2700522 + ReturnStatement 2700459 2700499 + Identifier 2700491 2700498 + IfStatement 2700548 2700896 + CallExpression 2700553 2700569 + Identifier 2700553 2700561 + Identifier 2700562 2700568 + Block 2700570 2700896 + IfStatement 2700572 2700873 + BinaryExpression 2700602 2700773 + CallExpression 2700602 2700682 + Identifier 2700602 2700674 + Identifier 2700675 2700681 + BarBarToken 2700682 2700685 + BinaryExpression 2700685 2700773 + Identifier 2700685 2700740 + AmpersandAmpersandToken 2700740 2700743 + CallExpression 2700743 2700773 + Identifier 2700743 2700765 + Identifier 2700766 2700772 + Block 2700800 2700873 + ReturnStatement 2700802 2700846 + Identifier 2700838 2700845 + FunctionDeclaration 2700948 2702034 + Identifier 2700964 2701000 + Parameter 2701001 2701022 + Identifier 2701001 2701005 + TypeReference 2701006 2701022 + Identifier 2701006 2701022 + Block 2701023 2702034 + IfStatement 2701025 2701057 + PropertyAccessExpression 2701039 2701048 + Identifier 2701039 2701043 + Identifier 2701044 2701048 + ReturnStatement 2701049 2701057 + VariableStatement 2701057 2701113 + VariableDeclarationList 2701057 2701112 + VariableDeclaration 2701074 2701112 + Identifier 2701074 2701081 + CallExpression 2701083 2701112 + Identifier 2701083 2701106 + Identifier 2701107 2701111 + IfStatement 2701113 2701168 + PrefixUnaryExpression 2701127 2701159 + CallExpression 2701128 2701159 + Identifier 2701128 2701151 + Identifier 2701152 2701158 + ReturnStatement 2701160 2701168 + VariableStatement 2701168 2701313 + VariableDeclarationList 2701168 2701312 + VariableDeclaration 2701185 2701312 + Identifier 2701185 2701211 + BinaryExpression 2701213 2701312 + PrefixUnaryExpression 2701213 2701231 + Identifier 2701215 2701231 + AmpersandAmpersandToken 2701231 2701234 + BinaryExpression 2701234 2701312 + Identifier 2701234 2701250 + LessThanToken 2701250 2701252 + PropertyAccessExpression 2701252 2701312 + Identifier 2701252 2701281 + Identifier 2701282 2701312 + VariableStatement 2701313 2701354 + VariableDeclarationList 2701313 2701353 + VariableDeclaration 2701326 2701353 + Identifier 2701326 2701335 + UnionType 2701336 2701353 + TypeReference 2701336 2701341 + Identifier 2701336 2701341 + UndefinedKeyword 2701343 2701353 + IfStatement 2701354 2701655 + BinaryExpression 2701368 2701472 + Identifier 2701368 2701393 + AmpersandAmpersandToken 2701393 2701396 + CallExpression 2701396 2701472 + Identifier 2701396 2701435 + FalseKeyword 2701436 2701465 + Identifier 2701466 2701471 + Block 2701473 2701557 + ExpressionStatement 2701475 2701546 + BinaryExpression 2701475 2701545 + Identifier 2701475 2701497 + EqualsToken 2701497 2701499 + BinaryExpression 2701499 2701545 + CallExpression 2701499 2701537 + Identifier 2701499 2701516 + CallExpression 2701517 2701536 + Identifier 2701517 2701530 + Identifier 2701531 2701535 + QuestionQuestionToken 2701537 2701540 + Identifier 2701540 2701545 + Block 2701571 2701655 + ExpressionStatement 2701573 2701644 + BinaryExpression 2701573 2701643 + Identifier 2701573 2701595 + EqualsToken 2701595 2701597 + CallExpression 2701597 2701643 + Identifier 2701597 2701637 + Identifier 2701638 2701642 + IfStatement 2701655 2702027 + Identifier 2701671 2701679 + Block 2701680 2702027 + ExpressionStatement 2701682 2701768 + CallExpression 2701682 2701767 + Identifier 2701682 2701720 + Identifier 2701721 2701729 + PropertyAccessExpression 2701730 2701766 + Identifier 2701730 2701750 + Identifier 2701751 2701766 + IfStatement 2701768 2702016 + BinaryExpression 2701786 2701916 + ParenthesizedExpression 2701786 2701877 + BinaryExpression 2701787 2701876 + BinaryExpression 2701787 2701848 + CallExpression 2701787 2701815 + Identifier 2701787 2701807 + Identifier 2701808 2701814 + BarBarToken 2701815 2701818 + CallExpression 2701818 2701848 + Identifier 2701818 2701840 + Identifier 2701841 2701847 + BarBarToken 2701848 2701851 + CallExpression 2701851 2701876 + Identifier 2701851 2701868 + Identifier 2701869 2701875 + AmpersandAmpersandToken 2701877 2701880 + CallExpression 2701880 2701916 + Identifier 2701880 2701903 + PropertyAccessExpression 2701904 2701915 + Identifier 2701904 2701910 + Identifier 2701911 2701915 + Block 2701917 2702016 + ExpressionStatement 2701919 2702001 + CallExpression 2701919 2702000 + Identifier 2701919 2701961 + Identifier 2701962 2701970 + PropertyAccessExpression 2701971 2701999 + Identifier 2701971 2701991 + Identifier 2701992 2701999 + FunctionDeclaration 2702034 2702300 + Identifier 2702050 2702071 + Parameter 2702072 2702093 + Identifier 2702072 2702076 + TypeReference 2702077 2702093 + Identifier 2702077 2702093 + TypeReference 2702095 2702100 + Identifier 2702095 2702100 + Block 2702100 2702300 + ExpressionStatement 2702102 2702144 + CallExpression 2702102 2702143 + Identifier 2702102 2702137 + Identifier 2702138 2702142 + ExpressionStatement 2702144 2702178 + CallExpression 2702144 2702177 + Identifier 2702144 2702171 + Identifier 2702172 2702176 + ExpressionStatement 2702178 2702230 + CallExpression 2702178 2702229 + Identifier 2702178 2702223 + Identifier 2702224 2702228 + ReturnStatement 2702230 2702293 + CallExpression 2702246 2702292 + Identifier 2702246 2702262 + CallExpression 2702263 2702291 + Identifier 2702263 2702285 + Identifier 2702286 2702290 + FunctionDeclaration 2702300 2702479 + Identifier 2702316 2702345 + Parameter 2702346 2702367 + Identifier 2702346 2702350 + TypeReference 2702351 2702367 + Identifier 2702351 2702367 + Block 2702368 2702479 + ExpressionStatement 2702370 2702422 + CallExpression 2702370 2702421 + Identifier 2702370 2702387 + PropertyAccessExpression 2702388 2702400 + Identifier 2702388 2702392 + Identifier 2702393 2702400 + Identifier 2702401 2702420 + ExpressionStatement 2702422 2702472 + CallExpression 2702422 2702471 + Identifier 2702422 2702465 + Identifier 2702466 2702470 + FunctionDeclaration 2702479 2703308 + Identifier 2702495 2702517 + Parameter 2702518 2702540 + Identifier 2702518 2702522 + TypeReference 2702523 2702540 + Identifier 2702523 2702540 + Block 2702541 2703308 + VariableStatement 2702543 2702610 + VariableDeclarationList 2702543 2702609 + VariableDeclaration 2702558 2702609 + Identifier 2702558 2702573 + CallExpression 2702575 2702609 + Identifier 2702575 2702580 + PropertyAccessExpression 2702581 2702595 + Identifier 2702581 2702585 + Identifier 2702586 2702595 + Identifier 2702596 2702608 + IfStatement 2702610 2702939 + BinaryExpression 2702624 2702756 + BinaryExpression 2702624 2702658 + Identifier 2702624 2702640 + AmpersandAmpersandToken 2702640 2702643 + Identifier 2702643 2702658 + AmpersandAmpersandToken 2702658 2702661 + CallExpression 2702661 2702756 + Identifier 2702661 2702666 + PropertyAccessExpression 2702667 2702679 + Identifier 2702667 2702671 + Identifier 2702672 2702679 + ArrowFunction 2702680 2702755 + Parameter 2702680 2702682 + Identifier 2702680 2702682 + EqualsGreaterThanToken 2702682 2702685 + BinaryExpression 2702685 2702755 + CallExpression 2702685 2702706 + Identifier 2702685 2702703 + Identifier 2702704 2702705 + AmpersandAmpersandToken 2702706 2702709 + CallExpression 2702709 2702755 + Identifier 2702709 2702752 + Identifier 2702753 2702754 + Block 2702757 2702939 + ExpressionStatement 2702759 2702928 + CallExpression 2702759 2702927 + Identifier 2702759 2702791 + Identifier 2702792 2702806 + PropertyAccessExpression 2702807 2702926 + Identifier 2702807 2702819 + Identifier 2702820 2702926 + IfStatement 2702939 2703155 + BinaryExpression 2702953 2703017 + PrefixUnaryExpression 2702953 2702963 + PropertyAccessExpression 2702954 2702963 + Identifier 2702954 2702958 + Identifier 2702959 2702963 + AmpersandAmpersandToken 2702963 2702966 + PrefixUnaryExpression 2702966 2703017 + CallExpression 2702968 2703017 + Identifier 2702968 2702988 + Identifier 2702989 2702993 + PropertyAccessExpression 2702994 2703016 + Identifier 2702994 2703008 + Identifier 2703009 2703016 + Block 2703018 2703155 + ExpressionStatement 2703020 2703144 + CallExpression 2703020 2703143 + Identifier 2703020 2703058 + Identifier 2703059 2703063 + PropertyAccessExpression 2703064 2703142 + Identifier 2703064 2703076 + Identifier 2703077 2703142 + ExpressionStatement 2703155 2703197 + CallExpression 2703155 2703196 + Identifier 2703155 2703190 + Identifier 2703191 2703195 + ExpressionStatement 2703197 2703249 + CallExpression 2703197 2703248 + Identifier 2703197 2703214 + PropertyAccessExpression 2703215 2703227 + Identifier 2703215 2703219 + Identifier 2703220 2703227 + Identifier 2703228 2703247 + ExpressionStatement 2703249 2703301 + CallExpression 2703249 2703300 + Identifier 2703249 2703294 + Identifier 2703295 2703299 + FunctionDeclaration 2703308 2710797 + Identifier 2703324 2703350 + Parameter 2703351 2703377 + Identifier 2703351 2703355 + TypeReference 2703356 2703377 + Identifier 2703356 2703377 + Block 2703378 2710797 + ExpressionStatement 2703380 2703429 + CallExpression 2703380 2703428 + Identifier 2703380 2703422 + Identifier 2703423 2703427 + ExpressionStatement 2703429 2703461 + CallExpression 2703429 2703460 + Identifier 2703429 2703454 + Identifier 2703455 2703459 + ExpressionStatement 2703461 2703522 + CallExpression 2703461 2703521 + Identifier 2703461 2703504 + Identifier 2703505 2703509 + PropertyAccessExpression 2703510 2703520 + Identifier 2703510 2703515 + Identifier 2703516 2703520 + ExpressionStatement 2703522 2703597 + CallExpression 2703522 2703596 + Identifier 2703522 2703551 + CallExpression 2703552 2703595 + Identifier 2703552 2703589 + Identifier 2703590 2703594 + ExpressionStatement 2703597 2703646 + CallExpression 2703597 2703645 + Identifier 2703597 2703639 + Identifier 2703640 2703644 + VariableStatement 2703646 2703700 + VariableDeclarationList 2703646 2703699 + VariableDeclaration 2703661 2703699 + Identifier 2703661 2703668 + CallExpression 2703670 2703699 + Identifier 2703670 2703693 + Identifier 2703694 2703698 + VariableStatement 2703700 2703772 + VariableDeclarationList 2703700 2703771 + VariableDeclaration 2703715 2703771 + Identifier 2703715 2703720 + AsExpression 2703722 2703771 + CallExpression 2703722 2703754 + Identifier 2703722 2703746 + Identifier 2703747 2703753 + TypeReference 2703757 2703771 + Identifier 2703757 2703771 + VariableStatement 2703772 2703833 + VariableDeclarationList 2703772 2703832 + VariableDeclaration 2703787 2703832 + Identifier 2703787 2703800 + CallExpression 2703802 2703832 + Identifier 2703802 2703826 + Identifier 2703827 2703831 + VariableStatement 2703833 2703900 + VariableDeclarationList 2703833 2703899 + VariableDeclaration 2703848 2703899 + Identifier 2703848 2703859 + AsExpression 2703861 2703899 + CallExpression 2703861 2703885 + Identifier 2703861 2703877 + Identifier 2703878 2703884 + TypeReference 2703888 2703899 + Identifier 2703888 2703899 + ExpressionStatement 2703900 2703951 + CallExpression 2703900 2703950 + Identifier 2703900 2703942 + Identifier 2703943 2703949 + ExpressionStatement 2703951 2704002 + CallExpression 2703951 2704001 + Identifier 2703951 2703993 + Identifier 2703994 2704000 + ExpressionStatement 2704002 2704053 + CallExpression 2704002 2704052 + Identifier 2704002 2704046 + Identifier 2704047 2704051 + VariableStatement 2704053 2704208 + VariableDeclarationList 2704053 2704207 + VariableDeclaration 2704149 2704207 + Identifier 2704149 2704170 + PrefixUnaryExpression 2704172 2704207 + PrefixUnaryExpression 2704174 2704207 + ParenthesizedExpression 2704175 2704207 + BinaryExpression 2704176 2704206 + PropertyAccessExpression 2704176 2704186 + Identifier 2704176 2704180 + Identifier 2704181 2704186 + AmpersandToken 2704186 2704188 + PropertyAccessExpression 2704188 2704206 + Identifier 2704188 2704198 + Identifier 2704199 2704206 + IfStatement 2704208 2704318 + PrefixUnaryExpression 2704222 2704243 + Identifier 2704223 2704243 + Block 2704244 2704318 + ExpressionStatement 2704246 2704307 + CallExpression 2704246 2704306 + Identifier 2704246 2704300 + Identifier 2704301 2704305 + VariableStatement 2704318 2704382 + VariableDeclarationList 2704318 2704381 + VariableDeclaration 2704335 2704381 + Identifier 2704335 2704348 + CallExpression 2704350 2704381 + Identifier 2704350 2704375 + Identifier 2704376 2704380 + IfStatement 2704382 2708581 + Identifier 2704396 2704408 + Block 2704409 2708581 + ExpressionStatement 2704411 2704481 + CallExpression 2704411 2704480 + Identifier 2704411 2704432 + PropertyAccessExpression 2704433 2704459 + Identifier 2704433 2704445 + Identifier 2704446 2704459 + Identifier 2704460 2704479 + IfStatement 2704481 2704664 + BinaryExpression 2704499 2704553 + Identifier 2704499 2704514 + LessThanToken 2704514 2704516 + PropertyAccessExpression 2704516 2704553 + Identifier 2704516 2704545 + Identifier 2704546 2704553 + Block 2704554 2704664 + ExpressionStatement 2704556 2704649 + CallExpression 2704556 2704648 + Identifier 2704556 2704598 + PropertyAccessExpression 2704599 2704618 + Identifier 2704599 2704611 + Identifier 2704612 2704618 + PropertyAccessExpression 2704619 2704647 + Identifier 2704619 2704639 + Identifier 2704640 2704647 + VariableStatement 2704664 2704806 + VariableDeclarationList 2704664 2704805 + VariableDeclaration 2704754 2704805 + Identifier 2704754 2704766 + CallExpression 2704768 2704805 + Identifier 2704768 2704799 + Identifier 2704800 2704804 + IfStatement 2704806 2704943 + BinaryExpression 2704824 2704867 + Identifier 2704824 2704835 + AmpersandAmpersandToken 2704835 2704838 + BinaryExpression 2704838 2704867 + Identifier 2704838 2704850 + ExclamationEqualsEqualsToken 2704850 2704854 + Identifier 2704854 2704867 + Block 2704868 2704943 + ExpressionStatement 2704870 2704928 + CallExpression 2704870 2704927 + Identifier 2704870 2704903 + PropertyAccessExpression 2704904 2704926 + Identifier 2704904 2704915 + Identifier 2704916 2704926 + VariableStatement 2704943 2704996 + VariableDeclarationList 2704943 2704995 + VariableDeclaration 2704964 2704995 + Identifier 2704964 2704974 + CallExpression 2704976 2704995 + Identifier 2704976 2704989 + Identifier 2704990 2704994 + IfStatement 2704996 2708570 + PropertyAccessExpression 2705014 2705030 + Identifier 2705014 2705023 + Identifier 2705024 2705030 + Block 2705031 2708570 + ExpressionStatement 2705033 2708555 + CallExpression 2705033 2708554 + Identifier 2705033 2705068 + ArrowFunction 2705069 2708553 + EqualsGreaterThanToken 2705071 2705074 + Block 2705074 2708553 + VariableStatement 2705076 2705128 + VariableDeclarationList 2705076 2705127 + VariableDeclaration 2705103 2705127 + Identifier 2705103 2705112 + ElementAccessExpression 2705114 2705127 + Identifier 2705114 2705124 + NumericLiteral 2705125 2705126 + VariableStatement 2705128 2705214 + VariableDeclarationList 2705128 2705213 + VariableDeclaration 2705155 2705213 + Identifier 2705155 2705175 + CallExpression 2705177 2705213 + Identifier 2705177 2705207 + Identifier 2705208 2705212 + VariableStatement 2705214 2705296 + VariableDeclarationList 2705214 2705295 + VariableDeclaration 2705241 2705295 + Identifier 2705241 2705256 + CallExpression 2705258 2705295 + Identifier 2705258 2705274 + Identifier 2705275 2705294 + ExpressionStatement 2705296 2705375 + CallExpression 2705296 2705374 + Identifier 2705296 2705344 + Identifier 2705345 2705359 + Identifier 2705360 2705373 + ExpressionStatement 2705375 2705441 + CallExpression 2705375 2705440 + Identifier 2705375 2705415 + PropertyAccessExpression 2705416 2705439 + Identifier 2705416 2705428 + Identifier 2705429 2705439 + IfStatement 2705441 2705958 + CallExpression 2705467 2705499 + Identifier 2705467 2705471 + PropertyAccessExpression 2705472 2705498 + Identifier 2705472 2705484 + Identifier 2705485 2705498 + Block 2705500 2705958 + ExpressionStatement 2705502 2705584 + CallExpression 2705502 2705583 + Identifier 2705502 2705535 + PropertyAccessExpression 2705536 2705562 + Identifier 2705536 2705548 + Identifier 2705549 2705562 + Identifier 2705563 2705582 + ForOfStatement 2705584 2705935 + VariableDeclarationList 2705615 2705632 + VariableDeclaration 2705620 2705632 + Identifier 2705620 2705632 + CallExpression 2705635 2705725 + Identifier 2705635 2705667 + Identifier 2705668 2705682 + PropertyAccessExpression 2705683 2705710 + Identifier 2705683 2705696 + Identifier 2705697 2705710 + Identifier 2705711 2705724 + Block 2705726 2705935 + IfStatement 2705728 2705908 + PrefixUnaryExpression 2705762 2705834 + CallExpression 2705763 2705834 + Identifier 2705763 2705791 + Identifier 2705792 2705804 + NonNullExpression 2705805 2705833 + PropertyAccessExpression 2705805 2705832 + Identifier 2705805 2705817 + Identifier 2705818 2705832 + Block 2705835 2705908 + BreakStatement 2705837 2705877 + VariableStatement 2705958 2706050 + VariableDeclarationList 2705958 2706049 + VariableDeclaration 2705985 2706049 + Identifier 2705985 2705998 + CallExpression 2706000 2706049 + Identifier 2706000 2706024 + Identifier 2706025 2706033 + PropertyAccessExpression 2706034 2706048 + Identifier 2706034 2706039 + Identifier 2706040 2706048 + IfStatement 2706050 2706657 + PrefixUnaryExpression 2706076 2706151 + CallExpression 2706077 2706151 + Identifier 2706077 2706098 + Identifier 2706099 2706111 + Identifier 2706112 2706125 + Identifier 2706126 2706150 + Block 2706152 2706316 + ExpressionStatement 2706154 2706293 + CallExpression 2706154 2706292 + Identifier 2706154 2706204 + Identifier 2706205 2706209 + Identifier 2706210 2706223 + Identifier 2706224 2706237 + PropertyAccessExpression 2706238 2706291 + Identifier 2706238 2706250 + Identifier 2706251 2706291 + Block 2706342 2706657 + ExpressionStatement 2706344 2706634 + CallExpression 2706344 2706633 + Identifier 2706344 2706482 + Identifier 2706483 2706493 + CallExpression 2706494 2706535 + Identifier 2706494 2706519 + Identifier 2706520 2706534 + BinaryExpression 2706536 2706554 + PropertyAccessExpression 2706536 2706546 + Identifier 2706536 2706541 + Identifier 2706542 2706546 + BarBarToken 2706546 2706549 + Identifier 2706549 2706554 + PropertyAccessExpression 2706555 2706632 + Identifier 2706555 2706567 + Identifier 2706568 2706632 + IfStatement 2706657 2707581 + BinaryExpression 2706683 2706733 + PropertyAccessExpression 2706683 2706708 + Identifier 2706683 2706702 + Identifier 2706703 2706708 + AmpersandToken 2706708 2706710 + PropertyAccessExpression 2706710 2706733 + Identifier 2706710 2706720 + Identifier 2706721 2706733 + Block 2706734 2707581 + IfStatement 2706736 2707558 + PrefixUnaryExpression 2706766 2706801 + CallExpression 2706767 2706801 + Identifier 2706767 2706789 + Identifier 2706790 2706800 + Block 2706802 2706978 + ExpressionStatement 2706804 2706951 + CallExpression 2706804 2706950 + Identifier 2706804 2706839 + BinaryExpression 2706840 2706857 + PropertyAccessExpression 2706840 2706849 + Identifier 2706840 2706844 + Identifier 2706845 2706849 + BarBarToken 2706849 2706852 + Identifier 2706852 2706857 + PropertyAccessExpression 2706858 2706949 + Identifier 2706858 2706870 + Identifier 2706871 2706949 + Block 2707008 2707558 + VariableStatement 2707010 2707134 + VariableDeclarationList 2707010 2707133 + VariableDeclaration 2707045 2707133 + Identifier 2707045 2707065 + CallExpression 2707067 2707133 + Identifier 2707067 2707087 + Identifier 2707088 2707107 + PropertyAccessExpression 2707108 2707132 + Identifier 2707108 2707122 + Identifier 2707123 2707132 + IfStatement 2707134 2707531 + BinaryExpression 2707168 2707303 + CallExpression 2707168 2707248 + PropertyAccessExpression 2707168 2707192 + Identifier 2707168 2707187 + Identifier 2707188 2707192 + ArrowFunction 2707193 2707247 + Parameter 2707193 2707202 + Identifier 2707193 2707202 + EqualsGreaterThanToken 2707202 2707205 + BinaryExpression 2707205 2707247 + PropertyAccessExpression 2707205 2707221 + Identifier 2707205 2707215 + Identifier 2707216 2707221 + AmpersandToken 2707221 2707223 + PropertyAccessExpression 2707223 2707247 + Identifier 2707223 2707238 + Identifier 2707239 2707247 + AmpersandAmpersandToken 2707248 2707251 + PrefixUnaryExpression 2707251 2707303 + CallExpression 2707253 2707303 + Identifier 2707253 2707273 + Identifier 2707274 2707278 + PropertyAccessExpression 2707279 2707302 + Identifier 2707279 2707293 + Identifier 2707294 2707302 + Block 2707304 2707531 + ExpressionStatement 2707306 2707500 + CallExpression 2707306 2707499 + Identifier 2707306 2707345 + BinaryExpression 2707346 2707363 + PropertyAccessExpression 2707346 2707355 + Identifier 2707346 2707350 + Identifier 2707351 2707355 + BarBarToken 2707355 2707358 + Identifier 2707358 2707363 + PropertyAccessExpression 2707364 2707498 + Identifier 2707364 2707376 + Identifier 2707377 2707498 + IfStatement 2707581 2708460 + BinaryExpression 2707609 2707741 + PrefixUnaryExpression 2707609 2707684 + ParenthesizedExpression 2707610 2707684 + BinaryExpression 2707611 2707683 + PropertyAccessExpression 2707611 2707632 + Identifier 2707611 2707625 + Identifier 2707626 2707632 + AmpersandAmpersandToken 2707632 2707635 + BinaryExpression 2707635 2707683 + PropertyAccessExpression 2707635 2707663 + PropertyAccessExpression 2707635 2707657 + Identifier 2707635 2707650 + Identifier 2707651 2707657 + Identifier 2707658 2707663 + AmpersandToken 2707663 2707665 + PropertyAccessExpression 2707665 2707683 + Identifier 2707665 2707677 + Identifier 2707678 2707683 + AmpersandAmpersandToken 2707684 2707687 + PrefixUnaryExpression 2707687 2707741 + ParenthesizedExpression 2707689 2707741 + BinaryExpression 2707690 2707740 + PropertyAccessExpression 2707690 2707715 + Identifier 2707690 2707709 + Identifier 2707710 2707715 + AmpersandToken 2707715 2707717 + PropertyAccessExpression 2707717 2707740 + Identifier 2707717 2707727 + Identifier 2707728 2707740 + Block 2707742 2708460 + VariableStatement 2707744 2708124 + VariableDeclarationList 2707744 2708123 + VariableDeclaration 2708006 2708123 + Identifier 2708006 2708019 + CallExpression 2708021 2708123 + Identifier 2708021 2708065 + Identifier 2708066 2708080 + PropertyAccessExpression 2708081 2708108 + Identifier 2708081 2708094 + Identifier 2708095 2708108 + Identifier 2708109 2708122 + IfStatement 2708124 2708437 + CallExpression 2708154 2708280 + Identifier 2708154 2708161 + Identifier 2708162 2708174 + ArrowFunction 2708175 2708279 + Parameter 2708175 2708179 + Identifier 2708175 2708179 + EqualsGreaterThanToken 2708179 2708182 + BinaryExpression 2708182 2708279 + PrefixUnaryExpression 2708182 2708216 + CallExpression 2708184 2708216 + Identifier 2708184 2708199 + PropertyAccessExpression 2708200 2708215 + Identifier 2708200 2708203 + Identifier 2708204 2708215 + AmpersandAmpersandToken 2708216 2708219 + PrefixUnaryExpression 2708219 2708279 + CallExpression 2708221 2708279 + Identifier 2708221 2708238 + CallExpression 2708239 2708268 + Identifier 2708239 2708263 + Identifier 2708264 2708267 + Identifier 2708269 2708278 + Block 2708281 2708437 + ExpressionStatement 2708283 2708410 + CallExpression 2708283 2708409 + Identifier 2708283 2708318 + PropertyAccessExpression 2708319 2708342 + Identifier 2708319 2708331 + Identifier 2708332 2708342 + PropertyAccessExpression 2708343 2708408 + Identifier 2708343 2708355 + Identifier 2708356 2708408 + ExpressionStatement 2708460 2708534 + CallExpression 2708460 2708533 + Identifier 2708460 2708517 + Identifier 2708518 2708522 + Identifier 2708523 2708532 + ExpressionStatement 2708581 2708663 + CallExpression 2708581 2708662 + Identifier 2708581 2708624 + Identifier 2708625 2708629 + Identifier 2708630 2708635 + Identifier 2708636 2708649 + Identifier 2708650 2708661 + VariableStatement 2708663 2708742 + VariableDeclarationList 2708663 2708741 + VariableDeclaration 2708680 2708741 + Identifier 2708680 2708701 + CallExpression 2708703 2708741 + Identifier 2708703 2708735 + Identifier 2708736 2708740 + IfStatement 2708742 2709289 + Identifier 2708756 2708776 + Block 2708777 2709289 + ForOfStatement 2708779 2709278 + VariableDeclarationList 2708798 2708815 + VariableDeclaration 2708803 2708815 + Identifier 2708803 2708815 + Identifier 2708818 2708839 + Block 2708840 2709278 + IfStatement 2708842 2709131 + BinaryExpression 2708864 2708954 + PrefixUnaryExpression 2708864 2708911 + CallExpression 2708865 2708911 + Identifier 2708865 2708887 + PropertyAccessExpression 2708888 2708910 + Identifier 2708888 2708899 + Identifier 2708900 2708910 + BarBarToken 2708911 2708914 + CallExpression 2708914 2708954 + Identifier 2708914 2708930 + PropertyAccessExpression 2708931 2708953 + Identifier 2708931 2708942 + Identifier 2708943 2708953 + Block 2708955 2709131 + ExpressionStatement 2708957 2709112 + CallExpression 2708957 2709111 + Identifier 2708957 2708984 + PropertyAccessExpression 2708985 2709007 + Identifier 2708985 2708996 + Identifier 2708997 2709007 + PropertyAccessExpression 2709008 2709110 + Identifier 2709008 2709020 + Identifier 2709021 2709110 + ExpressionStatement 2709131 2709185 + CallExpression 2709131 2709184 + Identifier 2709131 2709171 + Identifier 2709172 2709183 + ExpressionStatement 2709185 2709263 + CallExpression 2709185 2709262 + Identifier 2709185 2709220 + CallExpression 2709221 2709261 + Identifier 2709221 2709248 + Identifier 2709249 2709260 + ExpressionStatement 2709289 2709574 + CallExpression 2709289 2709573 + Identifier 2709289 2709318 + ArrowFunction 2709319 2709572 + EqualsGreaterThanToken 2709321 2709324 + Block 2709324 2709572 + ExpressionStatement 2709326 2709376 + CallExpression 2709326 2709375 + Identifier 2709326 2709361 + Identifier 2709362 2709366 + Identifier 2709367 2709374 + ExpressionStatement 2709376 2709456 + CallExpression 2709376 2709455 + Identifier 2709376 2709411 + Identifier 2709412 2709422 + Identifier 2709423 2709430 + TrueKeyword 2709431 2709454 + ExpressionStatement 2709456 2709513 + CallExpression 2709456 2709512 + Identifier 2709456 2709506 + Identifier 2709507 2709511 + ExpressionStatement 2709513 2709561 + CallExpression 2709513 2709560 + Identifier 2709513 2709554 + Identifier 2709555 2709559 + FunctionDeclaration 2709574 2710790 + Identifier 2709594 2709622 + Parameter 2709623 2709663 + Identifier 2709623 2709634 + TypeReference 2709635 2709663 + Identifier 2709635 2709663 + Block 2709664 2710790 + ReturnStatement 2709666 2710779 + ArrowFunction 2709686 2710778 + EqualsGreaterThanToken 2709689 2709692 + Block 2709692 2710778 + VariableStatement 2709694 2709771 + VariableDeclarationList 2709694 2709770 + VariableDeclaration 2709717 2709770 + Identifier 2709717 2709719 + CallExpression 2709721 2709770 + Identifier 2709721 2709736 + CallExpression 2709737 2709769 + Identifier 2709737 2709756 + Identifier 2709757 2709768 + IfStatement 2709771 2710763 + PrefixUnaryExpression 2709793 2709808 + CallExpression 2709794 2709808 + Identifier 2709794 2709805 + Identifier 2709806 2709807 + Block 2709809 2710763 + IfStatement 2709811 2710744 + CallExpression 2709837 2709855 + Identifier 2709837 2709852 + Identifier 2709853 2709854 + Block 2709856 2710531 + VariableStatement 2709858 2710182 + VariableDeclarationList 2709858 2710181 + VariableDeclaration 2709889 2710181 + Identifier 2709889 2709901 + ConditionalExpression 2709903 2710181 + BinaryExpression 2709903 2709950 + PropertyAccessExpression 2709903 2709912 + Identifier 2709903 2709905 + Identifier 2709906 2709912 + AmpersandAmpersandToken 2709912 2709915 + BinaryExpression 2709915 2709950 + PropertyAccessExpression 2709915 2709930 + PropertyAccessExpression 2709915 2709924 + Identifier 2709915 2709917 + Identifier 2709918 2709924 + Identifier 2709925 2709930 + AmpersandToken 2709930 2709932 + PropertyAccessExpression 2709932 2709950 + Identifier 2709932 2709944 + Identifier 2709945 2709950 + QuestionToken 2709950 2709952 + PropertyAccessExpression 2709952 2710095 + Identifier 2709952 2709993 + Identifier 2709994 2710095 + ColonToken 2710095 2710097 + PropertyAccessExpression 2710097 2710181 + Identifier 2710097 2710138 + Identifier 2710139 2710181 + VariableStatement 2710182 2710271 + VariableDeclarationList 2710182 2710270 + VariableDeclaration 2710213 2710270 + Identifier 2710213 2710226 + CallExpression 2710228 2710270 + Identifier 2710228 2710252 + Identifier 2710253 2710254 + PropertyAccessExpression 2710255 2710269 + Identifier 2710255 2710260 + Identifier 2710261 2710269 + IfStatement 2710271 2710508 + PrefixUnaryExpression 2710301 2710376 + CallExpression 2710302 2710376 + Identifier 2710302 2710323 + Identifier 2710324 2710336 + Identifier 2710337 2710350 + Identifier 2710351 2710375 + Block 2710377 2710508 + ExpressionStatement 2710379 2710481 + CallExpression 2710379 2710480 + Identifier 2710379 2710433 + Identifier 2710434 2710438 + Identifier 2710439 2710452 + Identifier 2710453 2710466 + Identifier 2710467 2710479 + Block 2710557 2710744 + ExpressionStatement 2710559 2710721 + CallExpression 2710559 2710720 + Identifier 2710559 2710590 + Identifier 2710591 2710602 + PropertyAccessExpression 2710603 2710719 + Identifier 2710603 2710615 + Identifier 2710616 2710719 + FunctionDeclaration 2710797 2712406 + Identifier 2710813 2710845 + Parameter 2710846 2710872 + Identifier 2710846 2710850 + TypeReference 2710851 2710872 + Identifier 2710851 2710872 + Parameter 2710873 2710893 + Identifier 2710873 2710878 + TypeReference 2710879 2710893 + Identifier 2710879 2710893 + Parameter 2710894 2710913 + Identifier 2710894 2710907 + TypeReference 2710908 2710913 + Identifier 2710908 2710913 + Parameter 2710914 2710937 + Identifier 2710914 2710925 + TypeReference 2710926 2710937 + Identifier 2710926 2710937 + Block 2710938 2712406 + VariableStatement 2710940 2711002 + VariableDeclarationList 2710940 2711001 + VariableDeclaration 2710955 2711001 + Identifier 2710955 2710968 + CallExpression 2710970 2711001 + Identifier 2710970 2710995 + Identifier 2710996 2711000 + VariableStatement 2711002 2711065 + VariableDeclarationList 2711002 2711064 + VariableDeclaration 2711017 2711064 + Identifier 2711017 2711027 + BinaryExpression 2711029 2711064 + Identifier 2711029 2711042 + AmpersandAmpersandToken 2711042 2711045 + CallExpression 2711045 2711064 + Identifier 2711045 2711058 + Identifier 2711059 2711063 + VariableStatement 2711065 2711185 + VariableDeclarationList 2711065 2711184 + VariableDeclaration 2711080 2711184 + Identifier 2711080 2711093 + ConditionalExpression 2711095 2711184 + PropertyAccessExpression 2711095 2711113 + Identifier 2711095 2711105 + QuestionDotToken 2711105 2711107 + Identifier 2711107 2711113 + QuestionToken 2711113 2711115 + CallExpression 2711115 2711172 + Identifier 2711115 2711139 + CallExpression 2711140 2711156 + Identifier 2711140 2711145 + Identifier 2711146 2711155 + PropertyAccessExpression 2711157 2711171 + Identifier 2711157 2711162 + Identifier 2711163 2711171 + ColonToken 2711172 2711174 + Identifier 2711174 2711184 + VariableStatement 2711185 2711254 + VariableDeclarationList 2711185 2711253 + VariableDeclaration 2711200 2711253 + Identifier 2711200 2711215 + CallExpression 2711217 2711253 + Identifier 2711217 2711247 + Identifier 2711248 2711252 + ForOfStatement 2711254 2712399 + VariableDeclarationList 2711271 2711283 + VariableDeclaration 2711276 2711283 + Identifier 2711276 2711283 + PropertyAccessExpression 2711286 2711299 + Identifier 2711286 2711291 + Identifier 2711292 2711299 + Block 2711300 2712399 + IfStatement 2711302 2711391 + CallExpression 2711320 2711346 + Identifier 2711320 2711338 + Identifier 2711339 2711345 + Block 2711347 2711391 + ContinueStatement 2711349 2711376 + IfStatement 2711391 2712070 + CallExpression 2711411 2711443 + Identifier 2711411 2711435 + Identifier 2711436 2711442 + Block 2711444 2712070 + ExpressionStatement 2711446 2712055 + CallExpression 2711446 2712054 + Identifier 2711446 2711471 + PropertyAccessExpression 2711472 2711489 + Identifier 2711472 2711478 + Identifier 2711479 2711489 + ArrowFunction 2711490 2712053 + Parameter 2711490 2711496 + Identifier 2711490 2711496 + EqualsGreaterThanToken 2711496 2711499 + Block 2711499 2712053 + IfStatement 2711501 2712034 + CallExpression 2711527 2711572 + Identifier 2711527 2711557 + Identifier 2711558 2711563 + Identifier 2711564 2711571 + Block 2711573 2712034 + ExpressionStatement 2711575 2712011 + CallExpression 2711575 2712010 + Identifier 2711575 2711639 + Identifier 2711640 2711674 + Identifier 2711675 2711715 + Identifier 2711716 2711760 + Identifier 2711761 2711803 + Identifier 2711804 2711838 + Identifier 2711839 2711881 + Identifier 2711882 2711917 + TrueKeyword 2711918 2711982 + ExpressionStatement 2712070 2712388 + CallExpression 2712070 2712387 + Identifier 2712070 2712122 + Identifier 2712123 2712145 + Identifier 2712146 2712174 + Identifier 2712175 2712207 + Identifier 2712208 2712238 + Identifier 2712239 2712261 + Identifier 2712262 2712292 + Identifier 2712293 2712317 + FalseKeyword 2712318 2712371 + FunctionDeclaration 2712406 2713629 + Identifier 2712549 2712588 + Parameter 2712589 2712625 + Identifier 2712589 2712603 + TypeReference 2712604 2712625 + Identifier 2712604 2712625 + Parameter 2712626 2712658 + Identifier 2712626 2712646 + TypeReference 2712647 2712658 + Identifier 2712647 2712658 + Parameter 2712659 2712689 + Identifier 2712659 2712683 + TypeReference 2712684 2712689 + Identifier 2712684 2712689 + Parameter 2712690 2712730 + Identifier 2712690 2712712 + UnionType 2712713 2712730 + TypeReference 2712713 2712718 + Identifier 2712713 2712718 + UndefinedKeyword 2712720 2712730 + Parameter 2712731 2712760 + Identifier 2712731 2712745 + TypeReference 2712746 2712760 + Identifier 2712746 2712760 + Parameter 2712761 2712789 + Identifier 2712761 2712783 + TypeReference 2712784 2712789 + Identifier 2712784 2712789 + Parameter 2712790 2712851 + Identifier 2712790 2712806 + UnionType 2712807 2712851 + TypeReference 2712807 2712820 + Identifier 2712807 2712820 + TypeReference 2712822 2712851 + Identifier 2712822 2712851 + Parameter 2712852 2712896 + Identifier 2712852 2712887 + BooleanKeyword 2712888 2712896 + Parameter 2712897 2712926 + Identifier 2712897 2712919 + TrueKeyword 2712921 2712926 + TypeReference 2712935 2712956 + Identifier 2712935 2712956 + Block 2712956 2713629 + VariableStatement 2712958 2713098 + VariableDeclarationList 2712958 2713097 + VariableDeclaration 2712973 2713097 + Identifier 2712973 2712986 + BinaryExpression 2712988 2713097 + BinaryExpression 2712988 2713053 + PropertyAccessExpression 2712988 2713000 + Identifier 2712988 2712995 + Identifier 2712996 2713000 + AmpersandAmpersandToken 2713000 2713020 + CallExpression 2713020 2713053 + Identifier 2713020 2713040 + PropertyAccessExpression 2713041 2713052 + Identifier 2713041 2713047 + Identifier 2713048 2713052 + BarBarToken 2713053 2713069 + CallExpression 2713069 2713097 + Identifier 2713069 2713089 + Identifier 2713090 2713096 + IfStatement 2713098 2713184 + PrefixUnaryExpression 2713112 2713125 + Identifier 2713113 2713125 + Block 2713126 2713184 + ReturnStatement 2713128 2713173 + PropertyAccessExpression 2713148 2713172 + Identifier 2713148 2713169 + Identifier 2713170 2713172 + ReturnStatement 2713184 2713622 + CallExpression 2713202 2713621 + Identifier 2713202 2713233 + Identifier 2713234 2713252 + Identifier 2713253 2713277 + Identifier 2713278 2713306 + Identifier 2713307 2713333 + Identifier 2713334 2713352 + Identifier 2713353 2713379 + CallExpression 2713380 2713421 + Identifier 2713380 2713413 + Identifier 2713414 2713420 + CallExpression 2713422 2713463 + Identifier 2713422 2713455 + Identifier 2713456 2713462 + CallExpression 2713464 2713494 + Identifier 2713464 2713486 + Identifier 2713487 2713493 + Identifier 2713495 2713534 + Identifier 2713535 2713561 + ConditionalExpression 2713562 2713609 + Identifier 2713562 2713588 + QuestionToken 2713588 2713590 + Identifier 2713590 2713597 + ColonToken 2713597 2713599 + Identifier 2713599 2713609 + FunctionDeclaration 2713629 2719744 + Identifier 2714153 2714184 + Parameter 2714185 2714221 + Identifier 2714185 2714199 + TypeReference 2714200 2714221 + Identifier 2714200 2714221 + Parameter 2714222 2714254 + Identifier 2714222 2714242 + TypeReference 2714243 2714254 + Identifier 2714243 2714254 + Parameter 2714255 2714285 + Identifier 2714255 2714279 + TypeReference 2714280 2714285 + Identifier 2714280 2714285 + Parameter 2714286 2714326 + Identifier 2714286 2714308 + UnionType 2714309 2714326 + TypeReference 2714309 2714314 + Identifier 2714309 2714314 + UndefinedKeyword 2714316 2714326 + Parameter 2714327 2714356 + Identifier 2714327 2714341 + TypeReference 2714342 2714356 + Identifier 2714342 2714356 + Parameter 2714357 2714385 + Identifier 2714357 2714379 + TypeReference 2714380 2714385 + Identifier 2714380 2714385 + Parameter 2714386 2714430 + Identifier 2714386 2714421 + BooleanKeyword 2714422 2714430 + Parameter 2714431 2714475 + Identifier 2714431 2714466 + BooleanKeyword 2714467 2714475 + Parameter 2714476 2714509 + Identifier 2714476 2714500 + BooleanKeyword 2714501 2714509 + Parameter 2714510 2714554 + Identifier 2714510 2714545 + BooleanKeyword 2714546 2714554 + Parameter 2714555 2714579 + Identifier 2714555 2714571 + TypeReference 2714572 2714579 + Identifier 2714572 2714579 + Parameter 2714580 2714606 + Identifier 2714580 2714599 + QuestionToken 2714599 2714600 + TypeReference 2714601 2714606 + Identifier 2714601 2714606 + TypeReference 2714615 2714636 + Identifier 2714615 2714636 + Block 2714636 2719744 + VariableStatement 2714638 2714678 + VariableDeclarationList 2714638 2714677 + VariableDeclaration 2714653 2714677 + Identifier 2714653 2714658 + CallExpression 2714660 2714677 + Identifier 2714660 2714671 + Identifier 2714672 2714676 + VariableStatement 2714678 2714752 + VariableDeclarationList 2714678 2714751 + VariableDeclaration 2714693 2714751 + Identifier 2714693 2714714 + PrefixUnaryExpression 2714716 2714751 + PrefixUnaryExpression 2714718 2714751 + ParenthesizedExpression 2714719 2714751 + BinaryExpression 2714720 2714750 + PropertyAccessExpression 2714720 2714730 + Identifier 2714720 2714724 + Identifier 2714725 2714730 + AmpersandToken 2714730 2714732 + PropertyAccessExpression 2714732 2714750 + Identifier 2714732 2714742 + Identifier 2714743 2714750 + IfStatement 2714752 2715346 + BinaryExpression 2714766 2714952 + BinaryExpression 2714766 2714894 + BinaryExpression 2714766 2714862 + BinaryExpression 2714766 2714819 + Identifier 2714766 2714791 + AmpersandAmpersandToken 2714791 2714794 + PropertyAccessExpression 2714794 2714819 + Identifier 2714794 2714801 + QuestionDotToken 2714801 2714803 + Identifier 2714803 2714819 + AmpersandAmpersandToken 2714819 2714822 + CallExpression 2714822 2714862 + Identifier 2714822 2714837 + PropertyAccessExpression 2714838 2714861 + Identifier 2714838 2714844 + Identifier 2714845 2714861 + AmpersandAmpersandToken 2714862 2714865 + PropertyAccessExpression 2714865 2714894 + PropertyAccessExpression 2714865 2714889 + Identifier 2714865 2714872 + Identifier 2714873 2714889 + Identifier 2714890 2714894 + AmpersandAmpersandToken 2714894 2714897 + CallExpression 2714897 2714952 + Identifier 2714897 2714922 + PropertyAccessExpression 2714923 2714951 + PropertyAccessExpression 2714923 2714946 + Identifier 2714923 2714929 + Identifier 2714930 2714946 + Identifier 2714947 2714951 + Block 2714953 2715346 + ExpressionStatement 2714955 2715274 + CallExpression 2714955 2715273 + Identifier 2714955 2714974 + Identifier 2714975 2715002 + ConditionalExpression 2715003 2715257 + Identifier 2715003 2715025 + QuestionToken 2715025 2715027 + PropertyAccessExpression 2715027 2715149 + Identifier 2715027 2715060 + Identifier 2715061 2715149 + ColonToken 2715149 2715151 + PropertyAccessExpression 2715151 2715257 + Identifier 2715151 2715184 + Identifier 2715185 2715257 + ReturnStatement 2715274 2715335 + PropertyAccessExpression 2715294 2715334 + Identifier 2715294 2715315 + Identifier 2715316 2715334 + IfStatement 2715346 2719694 + BinaryExpression 2715360 2715441 + Identifier 2715360 2715372 + AmpersandAmpersandToken 2715372 2715375 + ParenthesizedExpression 2715375 2715441 + BinaryExpression 2715377 2715440 + Identifier 2715377 2715402 + BarBarToken 2715402 2715405 + PropertyAccessExpression 2715405 2715440 + Identifier 2715405 2715421 + Identifier 2715422 2715440 + Block 2715442 2719034 + VariableStatement 2715444 2715518 + VariableDeclarationList 2715444 2715517 + VariableDeclaration 2715463 2715517 + Identifier 2715463 2715472 + ConditionalExpression 2715474 2715517 + Identifier 2715474 2715489 + QuestionToken 2715489 2715491 + Identifier 2715491 2715502 + ColonToken 2715502 2715504 + Identifier 2715504 2715517 + VariableStatement 2715518 2715596 + VariableDeclarationList 2715518 2715595 + VariableDeclaration 2715537 2715595 + Identifier 2715537 2715546 + ConditionalExpression 2715548 2715595 + Identifier 2715548 2715563 + QuestionToken 2715563 2715565 + Identifier 2715565 2715580 + ColonToken 2715580 2715582 + Identifier 2715582 2715595 + VariableStatement 2715596 2715671 + VariableDeclarationList 2715596 2715670 + VariableDeclaration 2715615 2715670 + Identifier 2715615 2715620 + CallExpression 2715622 2715670 + Identifier 2715622 2715640 + Identifier 2715641 2715649 + PropertyAccessExpression 2715650 2715669 + Identifier 2715650 2715657 + Identifier 2715658 2715669 + VariableStatement 2715671 2715750 + VariableDeclarationList 2715671 2715749 + VariableDeclaration 2715690 2715749 + Identifier 2715690 2715699 + CallExpression 2715701 2715749 + Identifier 2715701 2715719 + Identifier 2715720 2715728 + PropertyAccessExpression 2715729 2715748 + Identifier 2715729 2715736 + Identifier 2715737 2715748 + VariableStatement 2715750 2715815 + VariableDeclarationList 2715750 2715814 + VariableDeclaration 2715771 2715814 + Identifier 2715771 2715785 + CallExpression 2715787 2715814 + Identifier 2715787 2715800 + Identifier 2715801 2715813 + IfStatement 2715815 2719023 + BinaryExpression 2715833 2715879 + BinaryExpression 2715833 2715850 + Identifier 2715833 2715837 + AmpersandAmpersandToken 2715837 2715840 + PrefixUnaryExpression 2715840 2715850 + Identifier 2715842 2715850 + AmpersandAmpersandToken 2715850 2715853 + Identifier 2715853 2715879 + Block 2715880 2717275 + IfStatement 2715882 2717195 + Identifier 2715904 2715913 + Block 2715914 2717195 + VariableStatement 2715916 2716031 + VariableDeclarationList 2715916 2716030 + VariableDeclaration 2715943 2716030 + Identifier 2715943 2715954 + CallExpression 2715956 2716030 + Identifier 2715956 2716000 + CallExpression 2716001 2716019 + Identifier 2716001 2716011 + Identifier 2716012 2716018 + Identifier 2716020 2716029 + ExpressionStatement 2716031 2717176 + ConditionalExpression 2716031 2717175 + Identifier 2716031 2716140 + QuestionToken 2716140 2716142 + CallExpression 2716142 2716701 + Identifier 2716142 2716173 + Identifier 2716174 2716213 + ConditionalExpression 2716214 2716572 + Identifier 2716214 2716248 + QuestionToken 2716248 2716250 + PropertyAccessExpression 2716250 2716418 + Identifier 2716250 2716295 + Identifier 2716296 2716418 + ColonToken 2716418 2716420 + PropertyAccessExpression 2716420 2716572 + Identifier 2716420 2716465 + Identifier 2716466 2716572 + Identifier 2716573 2716616 + CallExpression 2716617 2716673 + Identifier 2716617 2716661 + Identifier 2716662 2716672 + ColonToken 2716701 2716703 + CallExpression 2716703 2717175 + Identifier 2716703 2716734 + Identifier 2716735 2716774 + ConditionalExpression 2716775 2717103 + Identifier 2716775 2716809 + QuestionToken 2716809 2716811 + PropertyAccessExpression 2716811 2716964 + Identifier 2716811 2716856 + Identifier 2716857 2716964 + ColonToken 2716964 2716966 + PropertyAccessExpression 2716966 2717103 + Identifier 2716966 2717011 + Identifier 2717012 2717103 + Identifier 2717104 2717147 + ReturnStatement 2717195 2717260 + PropertyAccessExpression 2717219 2717259 + Identifier 2717219 2717240 + Identifier 2717241 2717259 + IfStatement 2717293 2719023 + BinaryExpression 2717298 2717391 + BinaryExpression 2717298 2717366 + BinaryExpression 2717298 2717328 + Identifier 2717298 2717302 + AmpersandAmpersandToken 2717302 2717305 + PropertyAccessExpression 2717305 2717328 + Identifier 2717305 2717314 + QuestionDotToken 2717314 2717316 + Identifier 2717316 2717328 + AmpersandAmpersandToken 2717328 2717331 + PropertyAccessExpression 2717331 2717366 + Identifier 2717331 2717347 + Identifier 2717348 2717366 + AmpersandAmpersandToken 2717366 2717369 + PrefixUnaryExpression 2717369 2717391 + Identifier 2717371 2717391 + Block 2717392 2719023 + VariableStatement 2717394 2717485 + VariableDeclarationList 2717394 2717484 + VariableDeclaration 2717417 2717484 + Identifier 2717417 2717433 + CallExpression 2717435 2717484 + Identifier 2717435 2717440 + PropertyAccessExpression 2717441 2717462 + Identifier 2717441 2717449 + Identifier 2717450 2717462 + Identifier 2717463 2717483 + IfStatement 2717485 2717607 + Identifier 2717507 2717532 + Block 2717533 2717607 + ReturnStatement 2717535 2717588 + PropertyAccessExpression 2717563 2717587 + Identifier 2717563 2717584 + Identifier 2717585 2717587 + IfStatement 2717607 2719008 + PrefixUnaryExpression 2717631 2717647 + Identifier 2717632 2717647 + Block 2717648 2718599 + IfStatement 2717650 2718516 + Identifier 2717676 2717685 + Block 2717686 2718516 + VariableStatement 2717688 2718429 + VariableDeclarationList 2717688 2718428 + VariableDeclaration 2717719 2718428 + Identifier 2717719 2717724 + ConditionalExpression 2717726 2718428 + Identifier 2717726 2717752 + QuestionToken 2717752 2717754 + ConditionalExpression 2717754 2718104 + Identifier 2717754 2717788 + QuestionToken 2717788 2717790 + PropertyAccessExpression 2717790 2717956 + Identifier 2717790 2717835 + Identifier 2717836 2717956 + ColonToken 2717956 2717958 + PropertyAccessExpression 2717958 2718104 + Identifier 2717958 2718003 + Identifier 2718004 2718104 + ColonToken 2718104 2718106 + ConditionalExpression 2718106 2718428 + Identifier 2718106 2718140 + QuestionToken 2718140 2718142 + PropertyAccessExpression 2718142 2718292 + Identifier 2718142 2718183 + Identifier 2718184 2718292 + ColonToken 2718292 2718294 + PropertyAccessExpression 2718294 2718428 + Identifier 2718294 2718335 + Identifier 2718336 2718428 + ExpressionStatement 2718429 2718493 + CallExpression 2718429 2718492 + Identifier 2718429 2718460 + Identifier 2718461 2718470 + Identifier 2718471 2718476 + Identifier 2718477 2718491 + ReturnStatement 2718516 2718580 + PropertyAccessExpression 2718544 2718579 + Identifier 2718544 2718565 + Identifier 2718566 2718579 + IfStatement 2718621 2719008 + BinaryExpression 2718626 2718670 + Identifier 2718626 2718651 + AmpersandAmpersandToken 2718651 2718654 + Identifier 2718654 2718670 + Block 2718671 2719008 + IfStatement 2718673 2718925 + Identifier 2718699 2718708 + Block 2718709 2718925 + ExpressionStatement 2718711 2718902 + CallExpression 2718711 2718901 + Identifier 2718711 2718742 + Identifier 2718743 2718752 + PropertyAccessExpression 2718753 2718885 + Identifier 2718753 2718765 + Identifier 2718766 2718885 + Identifier 2718886 2718900 + ReturnStatement 2718925 2718989 + PropertyAccessExpression 2718953 2718988 + Identifier 2718953 2718974 + Identifier 2718975 2718988 + IfStatement 2719048 2719694 + Identifier 2719053 2719078 + Block 2719079 2719694 + IfStatement 2719081 2719622 + Identifier 2719099 2719108 + Block 2719109 2719622 + VariableStatement 2719111 2719166 + VariableDeclarationList 2719111 2719165 + VariableDeclaration 2719134 2719165 + Identifier 2719134 2719144 + CallExpression 2719146 2719165 + Identifier 2719146 2719159 + Identifier 2719160 2719164 + ExpressionStatement 2719166 2719607 + CallExpression 2719166 2719606 + Identifier 2719166 2719189 + Identifier 2719190 2719221 + ConditionalExpression 2719222 2719554 + Identifier 2719222 2719248 + QuestionToken 2719248 2719250 + PropertyAccessExpression 2719250 2719409 + Identifier 2719250 2719287 + Identifier 2719288 2719409 + ColonToken 2719409 2719411 + PropertyAccessExpression 2719411 2719554 + Identifier 2719411 2719448 + Identifier 2719449 2719554 + Identifier 2719555 2719586 + ReturnStatement 2719622 2719683 + PropertyAccessExpression 2719642 2719682 + Identifier 2719642 2719663 + Identifier 2719664 2719682 + ReturnStatement 2719694 2719737 + PropertyAccessExpression 2719712 2719736 + Identifier 2719712 2719733 + Identifier 2719734 2719736 + FunctionDeclaration 2719744 2721543 + Identifier 2719760 2719785 + Parameter 2719786 2719812 + Identifier 2719786 2719790 + TypeReference 2719791 2719812 + Identifier 2719791 2719812 + Parameter 2719813 2719832 + Identifier 2719813 2719826 + TypeReference 2719827 2719832 + Identifier 2719827 2719832 + Parameter 2719833 2719852 + Identifier 2719833 2719846 + TypeReference 2719847 2719852 + Identifier 2719847 2719852 + Parameter 2719853 2719882 + Identifier 2719853 2719863 + TypeReference 2719864 2719882 + Identifier 2719864 2719882 + Block 2719883 2721543 + VariableStatement 2719885 2720076 + VariableDeclarationList 2719885 2720075 + VariableDeclaration 2720049 2720075 + Identifier 2720049 2720067 + FalseKeyword 2720069 2720075 + ForOfStatement 2720076 2721317 + VariableDeclarationList 2720091 2720103 + VariableDeclaration 2720096 2720103 + Identifier 2720096 2720103 + PropertyAccessExpression 2720106 2720119 + Identifier 2720106 2720111 + Identifier 2720112 2720119 + Block 2720120 2721317 + IfStatement 2720122 2720201 + CallExpression 2720140 2720156 + Identifier 2720140 2720148 + Identifier 2720149 2720155 + Block 2720157 2720201 + ContinueStatement 2720159 2720186 + VariableStatement 2720201 2720315 + VariableDeclarationList 2720201 2720314 + VariableDeclaration 2720220 2720314 + Identifier 2720220 2720233 + BinaryExpression 2720235 2720314 + BinaryExpression 2720235 2720283 + PropertyAccessExpression 2720235 2720247 + Identifier 2720235 2720242 + Identifier 2720243 2720247 + AmpersandAmpersandToken 2720247 2720250 + CallExpression 2720250 2720283 + Identifier 2720250 2720270 + PropertyAccessExpression 2720271 2720282 + Identifier 2720271 2720277 + Identifier 2720278 2720282 + BarBarToken 2720283 2720286 + CallExpression 2720286 2720314 + Identifier 2720286 2720306 + Identifier 2720307 2720313 + IfStatement 2720315 2721306 + Identifier 2720333 2720345 + Block 2720346 2721306 + VariableStatement 2720348 2720437 + VariableDeclarationList 2720348 2720436 + VariableDeclaration 2720371 2720436 + Identifier 2720371 2720376 + CallExpression 2720378 2720436 + Identifier 2720378 2720396 + Identifier 2720397 2720409 + PropertyAccessExpression 2720410 2720435 + Identifier 2720410 2720423 + Identifier 2720424 2720435 + VariableStatement 2720437 2720530 + VariableDeclarationList 2720437 2720529 + VariableDeclaration 2720460 2720529 + Identifier 2720460 2720469 + CallExpression 2720471 2720529 + Identifier 2720471 2720489 + Identifier 2720490 2720502 + PropertyAccessExpression 2720503 2720528 + Identifier 2720503 2720516 + Identifier 2720517 2720528 + IfStatement 2720530 2721291 + BinaryExpression 2720552 2720568 + Identifier 2720552 2720556 + AmpersandAmpersandToken 2720556 2720559 + Identifier 2720559 2720568 + Block 2720569 2721291 + VariableStatement 2720571 2721036 + VariableDeclarationList 2720571 2721035 + VariableDeclaration 2720598 2721035 + Identifier 2720598 2720608 + ArrowFunction 2720610 2721035 + EqualsGreaterThanToken 2720613 2720616 + CallExpression 2720616 2721035 + Identifier 2720616 2720665 + Identifier 2720666 2720717 + PropertyAccessExpression 2720718 2720834 + Identifier 2720718 2720759 + Identifier 2720760 2720834 + CallExpression 2720835 2720893 + Identifier 2720835 2720879 + Identifier 2720880 2720892 + CallExpression 2720894 2720950 + Identifier 2720894 2720936 + Identifier 2720937 2720949 + CallExpression 2720951 2721007 + Identifier 2720951 2720993 + Identifier 2720994 2721006 + IfStatement 2721036 2721272 + PrefixUnaryExpression 2721062 2721195 + CallExpression 2721063 2721195 + Identifier 2721063 2721084 + CallExpression 2721085 2721106 + Identifier 2721085 2721100 + Identifier 2721101 2721105 + CallExpression 2721107 2721133 + Identifier 2721107 2721123 + Identifier 2721124 2721132 + BinaryExpression 2721134 2721156 + PropertyAccessExpression 2721134 2721146 + Identifier 2721134 2721141 + Identifier 2721142 2721146 + BarBarToken 2721146 2721149 + Identifier 2721149 2721156 + Identifier 2721157 2721183 + Identifier 2721184 2721194 + Block 2721196 2721272 + ExpressionStatement 2721198 2721249 + BinaryExpression 2721198 2721248 + Identifier 2721198 2721241 + EqualsToken 2721241 2721243 + TrueKeyword 2721243 2721248 + IfStatement 2721317 2721536 + PrefixUnaryExpression 2721331 2721349 + Identifier 2721332 2721349 + Block 2721350 2721536 + ExpressionStatement 2721352 2721525 + CallExpression 2721352 2721524 + Identifier 2721352 2721466 + Identifier 2721467 2721479 + Identifier 2721480 2721493 + BinaryExpression 2721494 2721512 + PropertyAccessExpression 2721494 2721504 + Identifier 2721494 2721499 + Identifier 2721500 2721504 + BarBarToken 2721504 2721507 + Identifier 2721507 2721512 + Identifier 2721513 2721523 + FunctionDeclaration 2721543 2722263 + Identifier 2721559 2721586 + Parameter 2721587 2721597 + Identifier 2721587 2721591 + TypeReference 2721592 2721597 + Identifier 2721592 2721597 + Parameter 2721598 2721632 + Identifier 2721598 2721603 + TypeReference 2721604 2721632 + Identifier 2721604 2721632 + Block 2721633 2722263 + VariableStatement 2721635 2721715 + VariableDeclarationList 2721635 2721714 + VariableDeclaration 2721650 2721714 + Identifier 2721650 2721661 + CallExpression 2721663 2721714 + Identifier 2721663 2721683 + Identifier 2721684 2721688 + PropertyAccessExpression 2721689 2721713 + Identifier 2721689 2721703 + Identifier 2721704 2721713 + IfStatement 2721715 2722256 + PropertyAccessExpression 2721729 2721746 + Identifier 2721729 2721739 + Identifier 2721740 2721746 + Block 2721747 2722256 + VariableStatement 2721749 2721809 + VariableDeclarationList 2721749 2721808 + VariableDeclaration 2721768 2721808 + Identifier 2721768 2721780 + PropertyAccessExpression 2721782 2721808 + ElementAccessExpression 2721782 2721796 + Identifier 2721782 2721793 + NumericLiteral 2721794 2721795 + Identifier 2721797 2721808 + IfStatement 2721809 2722245 + BinaryExpression 2721827 2721898 + Identifier 2721827 2721838 + AmpersandAmpersandToken 2721838 2721841 + CallExpression 2721841 2721898 + Identifier 2721841 2721862 + Identifier 2721863 2721874 + PropertyAccessExpression 2721875 2721897 + Identifier 2721875 2721889 + Identifier 2721890 2721897 + Block 2721899 2722245 + VariableStatement 2721901 2721994 + VariableDeclarationList 2721901 2721993 + VariableDeclaration 2721924 2721993 + Identifier 2721924 2721945 + NonNullExpression 2721947 2721993 + CallExpression 2721947 2721992 + Identifier 2721947 2721979 + PropertyAccessExpression 2721980 2721991 + Identifier 2721980 2721984 + Identifier 2721985 2721991 + IfStatement 2721994 2722230 + PrefixUnaryExpression 2722016 2722062 + CallExpression 2722017 2722062 + Identifier 2722017 2722034 + Identifier 2722035 2722039 + Identifier 2722040 2722061 + Block 2722063 2722230 + ExpressionStatement 2722065 2722211 + CallExpression 2722065 2722210 + Identifier 2722065 2722092 + Identifier 2722093 2722097 + PropertyAccessExpression 2722098 2722173 + Identifier 2722098 2722110 + Identifier 2722111 2722173 + CallExpression 2722174 2722209 + Identifier 2722174 2722196 + PropertyAccessExpression 2722197 2722208 + Identifier 2722197 2722201 + Identifier 2722202 2722208 + FunctionDeclaration 2722263 2723991 + Identifier 2722615 2722647 + Parameter 2722648 2722674 + Identifier 2722648 2722652 + TypeReference 2722653 2722674 + Identifier 2722653 2722674 + Parameter 2722675 2722696 + Identifier 2722675 2722682 + TypeReference 2722683 2722696 + Identifier 2722683 2722696 + Parameter 2722697 2722718 + Identifier 2722697 2722710 + TypeReference 2722711 2722718 + Identifier 2722711 2722718 + TypeReference 2722720 2722741 + Identifier 2722720 2722741 + Block 2722741 2723991 + IfStatement 2722743 2722828 + PrefixUnaryExpression 2722757 2722769 + PropertyAccessExpression 2722758 2722769 + Identifier 2722758 2722764 + Identifier 2722765 2722769 + Block 2722770 2722828 + ReturnStatement 2722772 2722817 + PropertyAccessExpression 2722792 2722816 + Identifier 2722792 2722813 + Identifier 2722814 2722816 + VariableStatement 2722828 2722889 + VariableDeclarationList 2722828 2722888 + VariableDeclaration 2722845 2722888 + Identifier 2722845 2722857 + CallExpression 2722859 2722888 + Identifier 2722859 2722882 + Identifier 2722883 2722887 + VariableStatement 2722889 2722966 + VariableDeclarationList 2722889 2722965 + VariableDeclaration 2722904 2722965 + Identifier 2722904 2722909 + AsExpression 2722911 2722965 + CallExpression 2722911 2722948 + Identifier 2722911 2722935 + Identifier 2722936 2722947 + TypeReference 2722951 2722965 + Identifier 2722951 2722965 + VariableStatement 2722966 2723027 + VariableDeclarationList 2722966 2723026 + VariableDeclaration 2722981 2723026 + Identifier 2722981 2722994 + CallExpression 2722996 2723026 + Identifier 2722996 2723020 + Identifier 2723021 2723025 + VariableStatement 2723027 2723099 + VariableDeclarationList 2723027 2723098 + VariableDeclaration 2723042 2723098 + Identifier 2723042 2723053 + AsExpression 2723055 2723098 + CallExpression 2723055 2723084 + Identifier 2723055 2723071 + Identifier 2723072 2723083 + TypeReference 2723087 2723098 + Identifier 2723087 2723098 + VariableStatement 2723099 2723163 + VariableDeclarationList 2723099 2723162 + VariableDeclaration 2723116 2723162 + Identifier 2723116 2723129 + CallExpression 2723131 2723162 + Identifier 2723131 2723156 + Identifier 2723157 2723161 + VariableStatement 2723163 2723226 + VariableDeclarationList 2723163 2723225 + VariableDeclaration 2723178 2723225 + Identifier 2723178 2723188 + BinaryExpression 2723190 2723225 + Identifier 2723190 2723203 + AmpersandAmpersandToken 2723203 2723206 + CallExpression 2723206 2723225 + Identifier 2723206 2723219 + Identifier 2723220 2723224 + VariableStatement 2723226 2723346 + VariableDeclarationList 2723226 2723345 + VariableDeclaration 2723241 2723345 + Identifier 2723241 2723254 + ConditionalExpression 2723256 2723345 + PropertyAccessExpression 2723256 2723274 + Identifier 2723256 2723266 + QuestionDotToken 2723266 2723268 + Identifier 2723268 2723274 + QuestionToken 2723274 2723276 + CallExpression 2723276 2723333 + Identifier 2723276 2723300 + CallExpression 2723301 2723317 + Identifier 2723301 2723306 + Identifier 2723307 2723316 + PropertyAccessExpression 2723318 2723332 + Identifier 2723318 2723323 + Identifier 2723324 2723332 + ColonToken 2723333 2723335 + Identifier 2723335 2723345 + VariableStatement 2723346 2723415 + VariableDeclarationList 2723346 2723414 + VariableDeclaration 2723361 2723414 + Identifier 2723361 2723376 + CallExpression 2723378 2723414 + Identifier 2723378 2723408 + Identifier 2723409 2723413 + VariableStatement 2723415 2723586 + VariableDeclarationList 2723415 2723585 + VariableDeclaration 2723432 2723585 + Identifier 2723432 2723458 + ConditionalExpression 2723460 2723585 + PropertyAccessExpression 2723460 2723474 + Identifier 2723460 2723467 + Identifier 2723468 2723474 + QuestionToken 2723474 2723489 + CallExpression 2723489 2723517 + Identifier 2723489 2723509 + Identifier 2723510 2723516 + ColonToken 2723517 2723532 + CallExpression 2723532 2723585 + Identifier 2723532 2723553 + Identifier 2723554 2723560 + PropertyAccessExpression 2723561 2723584 + Identifier 2723561 2723575 + Identifier 2723576 2723584 + ReturnStatement 2723586 2723984 + CallExpression 2723604 2723983 + Identifier 2723604 2723635 + Identifier 2723636 2723654 + Identifier 2723655 2723679 + Identifier 2723680 2723708 + Identifier 2723709 2723735 + Identifier 2723736 2723754 + Identifier 2723755 2723781 + Identifier 2723782 2723821 + CallExpression 2723822 2723863 + Identifier 2723822 2723855 + Identifier 2723856 2723862 + CallExpression 2723864 2723894 + Identifier 2723864 2723886 + Identifier 2723887 2723893 + FalseKeyword 2723895 2723944 + Identifier 2723945 2723971 + FunctionDeclaration 2723991 2724440 + Identifier 2724007 2724023 + Parameter 2724024 2724033 + Identifier 2724024 2724025 + TypeReference 2724026 2724033 + Identifier 2724026 2724033 + Block 2724034 2724440 + ReturnStatement 2724036 2724433 + ConditionalExpression 2724346 2724432 + BinaryExpression 2724346 2724389 + CallExpression 2724346 2724363 + Identifier 2724346 2724360 + Identifier 2724361 2724362 + AmpersandToken 2724363 2724365 + PropertyAccessExpression 2724365 2724389 + Identifier 2724365 2724376 + Identifier 2724377 2724389 + QuestionToken 2724389 2724391 + NonNullExpression 2724391 2724428 + PropertyAccessExpression 2724391 2724427 + PropertyAccessExpression 2724391 2724420 + ParenthesizedExpression 2724391 2724414 + AsExpression 2724393 2724413 + Identifier 2724393 2724394 + TypeReference 2724397 2724413 + Identifier 2724397 2724413 + Identifier 2724415 2724420 + Identifier 2724421 2724427 + ColonToken 2724428 2724430 + Identifier 2724430 2724432 + FunctionDeclaration 2724440 2724718 + Identifier 2724456 2724496 + Parameter 2724497 2724511 + Identifier 2724497 2724503 + TypeReference 2724504 2724511 + Identifier 2724504 2724511 + Block 2724512 2724718 + ReturnStatement 2724514 2724711 + CallExpression 2724530 2724710 + Identifier 2724530 2724537 + PropertyAccessExpression 2724538 2724557 + Identifier 2724538 2724544 + Identifier 2724545 2724557 + ArrowFunction 2724558 2724709 + Parameter 2724560 2724574 + Identifier 2724560 2724561 + TypeReference 2724562 2724574 + Identifier 2724562 2724574 + TypePredicate 2724576 2724621 + Identifier 2724576 2724578 + UnionType 2724581 2724621 + TypeReference 2724581 2724598 + Identifier 2724581 2724598 + TypeReference 2724600 2724621 + Identifier 2724600 2724621 + EqualsGreaterThanToken 2724621 2724624 + BinaryExpression 2724624 2724709 + BinaryExpression 2724624 2724663 + PropertyAccessExpression 2724624 2724631 + Identifier 2724624 2724626 + Identifier 2724627 2724631 + EqualsEqualsEqualsToken 2724631 2724635 + PropertyAccessExpression 2724635 2724663 + Identifier 2724635 2724646 + Identifier 2724647 2724663 + BarBarToken 2724663 2724666 + BinaryExpression 2724666 2724709 + PropertyAccessExpression 2724666 2724673 + Identifier 2724666 2724668 + Identifier 2724669 2724673 + EqualsEqualsEqualsToken 2724673 2724677 + PropertyAccessExpression 2724677 2724709 + Identifier 2724677 2724688 + Identifier 2724689 2724709 + FunctionDeclaration 2724718 2737262 + Identifier 2724734 2724770 + Parameter 2724771 2724790 + Identifier 2724771 2724775 + TypeReference 2724776 2724790 + Identifier 2724776 2724790 + Parameter 2724791 2724810 + Identifier 2724791 2724800 + TypeReference 2724801 2724810 + Identifier 2724801 2724810 + VoidKeyword 2724812 2724817 + Block 2724817 2737262 + VariableStatement 2724819 2726116 + VariableDeclarationList 2724819 2726115 + VariableDeclaration 2726068 2726115 + Identifier 2726068 2726083 + CallExpression 2726085 2726115 + Identifier 2726085 2726105 + Identifier 2726106 2726114 + InterfaceDeclaration 2726116 2726268 + Identifier 2726137 2726148 + PropertySignature 2726150 2726191 + Identifier 2726150 2726180 + ArrayType 2726181 2726190 + StringKeyword 2726181 2726188 + PropertySignature 2726191 2726226 + Identifier 2726191 2726217 + StringKeyword 2726218 2726225 + PropertySignature 2726226 2726257 + Identifier 2726226 2726248 + StringKeyword 2726249 2726256 + VariableStatement 2726268 2726349 + VariableDeclarationList 2726268 2726348 + VariableDeclaration 2726283 2726348 + Identifier 2726283 2726302 + NewExpression 2726304 2726348 + Identifier 2726308 2726312 + TypeReference 2726313 2726333 + Identifier 2726313 2726333 + TypeReference 2726334 2726345 + Identifier 2726334 2726345 + LabeledStatement 2726349 2735034 + Identifier 2726349 2726378 + ForOfStatement 2726379 2735034 + VariableDeclarationList 2726385 2726403 + VariableDeclaration 2726390 2726403 + Identifier 2726390 2726403 + Identifier 2726406 2726421 + Block 2726422 2735034 + VariableStatement 2726424 2726481 + VariableDeclarationList 2726424 2726480 + VariableDeclaration 2726443 2726480 + Identifier 2726443 2726448 + CallExpression 2726450 2726480 + Identifier 2726450 2726466 + Identifier 2726467 2726479 + IfStatement 2726481 2726580 + BinaryExpression 2726501 2726535 + PropertyAccessExpression 2726501 2726511 + Identifier 2726501 2726505 + Identifier 2726506 2726511 + AmpersandToken 2726511 2726513 + PropertyAccessExpression 2726513 2726535 + Identifier 2726513 2726525 + Identifier 2726526 2726535 + Block 2726536 2726580 + ContinueStatement 2726538 2726565 + VariableStatement 2726580 2726661 + VariableDeclarationList 2726580 2726660 + VariableDeclaration 2726599 2726660 + Identifier 2726599 2726610 + CallExpression 2726612 2726660 + Identifier 2726612 2726636 + Identifier 2726637 2726641 + PropertyAccessExpression 2726642 2726659 + Identifier 2726642 2726647 + Identifier 2726648 2726659 + IfStatement 2726661 2726735 + PrefixUnaryExpression 2726679 2726690 + Identifier 2726680 2726690 + Block 2726691 2726735 + ContinueStatement 2726693 2726720 + VariableStatement 2726735 2726793 + VariableDeclarationList 2726735 2726792 + VariableDeclaration 2726754 2726792 + Identifier 2726754 2726762 + CallExpression 2726764 2726792 + Identifier 2726764 2726780 + Identifier 2726781 2726791 + VariableStatement 2726793 2726880 + VariableDeclarationList 2726793 2726879 + VariableDeclaration 2726812 2726879 + Identifier 2726812 2726833 + CallExpression 2726835 2726879 + Identifier 2726835 2726873 + Identifier 2726874 2726878 + ExpressionStatement 2726880 2727001 + CallExpression 2726880 2727000 + PropertyAccessExpression 2726880 2726908 + Identifier 2726880 2726901 + Identifier 2726902 2726908 + PrefixUnaryExpression 2726909 2726918 + PrefixUnaryExpression 2726910 2726918 + Identifier 2726911 2726918 + StringLiteral 2726919 2726999 + IfStatement 2727001 2735023 + BinaryExpression 2727356 2727372 + Identifier 2727356 2727363 + EqualsEqualsEqualsToken 2727363 2727367 + Identifier 2727367 2727372 + Block 2727373 2729260 + VariableStatement 2727375 2727543 + VariableDeclarationList 2727375 2727542 + VariableDeclaration 2727477 2727542 + Identifier 2727477 2727494 + NonNullExpression 2727496 2727542 + CallExpression 2727496 2727541 + Identifier 2727496 2727528 + PropertyAccessExpression 2727529 2727540 + Identifier 2727529 2727533 + Identifier 2727534 2727540 + IfStatement 2727543 2729245 + BinaryExpression 2727856 2727991 + BinaryExpression 2727856 2727901 + Identifier 2727856 2727876 + AmpersandToken 2727876 2727878 + PropertyAccessExpression 2727878 2727901 + Identifier 2727878 2727892 + Identifier 2727893 2727901 + AmpersandAmpersandToken 2727901 2727904 + ParenthesizedExpression 2727904 2727991 + BinaryExpression 2727906 2727990 + PrefixUnaryExpression 2727906 2727923 + Identifier 2727907 2727923 + BarBarToken 2727923 2727926 + PrefixUnaryExpression 2727926 2727990 + CallExpression 2727928 2727990 + Identifier 2727928 2727948 + Identifier 2727949 2727965 + PropertyAccessExpression 2727966 2727989 + Identifier 2727966 2727980 + Identifier 2727981 2727989 + Block 2727992 2729245 + ForOfStatement 2727994 2728785 + VariableDeclarationList 2728294 2728313 + VariableDeclaration 2728299 2728313 + Identifier 2728299 2728313 + CallExpression 2728316 2728335 + Identifier 2728316 2728329 + Identifier 2728330 2728334 + Block 2728336 2728785 + IfStatement 2728338 2728405 + BinaryExpression 2728368 2728394 + Identifier 2728368 2728381 + EqualsEqualsEqualsToken 2728381 2728385 + Identifier 2728385 2728394 + ContinueStatement 2728395 2728405 + VariableStatement 2728405 2728507 + VariableDeclarationList 2728405 2728506 + VariableDeclaration 2728436 2728506 + Identifier 2728436 2728447 + CallExpression 2728449 2728506 + Identifier 2728449 2728473 + Identifier 2728474 2728487 + PropertyAccessExpression 2728488 2728505 + Identifier 2728488 2728493 + Identifier 2728494 2728505 + VariableStatement 2728507 2728600 + VariableDeclarationList 2728507 2728599 + VariableDeclaration 2728538 2728599 + Identifier 2728538 2728555 + BinaryExpression 2728557 2728599 + Identifier 2728557 2728568 + AmpersandAmpersandToken 2728568 2728571 + CallExpression 2728571 2728599 + Identifier 2728571 2728587 + Identifier 2728588 2728598 + IfStatement 2728600 2728762 + BinaryExpression 2728630 2728675 + Identifier 2728630 2728646 + AmpersandAmpersandToken 2728646 2728649 + BinaryExpression 2728649 2728675 + Identifier 2728649 2728666 + ExclamationEqualsEqualsToken 2728666 2728670 + Identifier 2728670 2728675 + Block 2728676 2728762 + ContinueStatement 2728678 2728735 + Identifier 2728716 2728734 + VariableStatement 2728785 2728851 + VariableDeclarationList 2728785 2728850 + VariableDeclaration 2728812 2728850 + Identifier 2728812 2728825 + CallExpression 2728827 2728850 + Identifier 2728827 2728840 + Identifier 2728841 2728849 + VariableStatement 2728851 2728909 + VariableDeclarationList 2728851 2728908 + VariableDeclaration 2728878 2728908 + Identifier 2728878 2728887 + CallExpression 2728889 2728908 + Identifier 2728889 2728902 + Identifier 2728903 2728907 + VariableStatement 2728909 2728985 + VariableDeclarationList 2728909 2728984 + VariableDeclaration 2728936 2728984 + Identifier 2728936 2728953 + CallExpression 2728955 2728984 + Identifier 2728955 2728970 + Identifier 2728971 2728983 + VariableStatement 2728985 2729117 + VariableDeclarationList 2728985 2729116 + VariableDeclaration 2729012 2729116 + Identifier 2729012 2729029 + CallExpression 2729031 2729116 + Identifier 2729031 2729038 + PropertyAccessExpression 2729039 2729097 + CallExpression 2729039 2729079 + PropertyAccessExpression 2729039 2729061 + Identifier 2729039 2729057 + Identifier 2729058 2729061 + Identifier 2729062 2729078 + QuestionDotToken 2729079 2729081 + Identifier 2729081 2729097 + Identifier 2729098 2729115 + ExpressionStatement 2729117 2729226 + CallExpression 2729117 2729225 + PropertyAccessExpression 2729117 2729161 + Identifier 2729117 2729157 + Identifier 2729158 2729161 + Identifier 2729162 2729178 + ObjectLiteralExpression 2729179 2729224 + ShorthandPropertyAssignment 2729181 2729194 + Identifier 2729181 2729194 + ShorthandPropertyAssignment 2729195 2729204 + Identifier 2729195 2729204 + ShorthandPropertyAssignment 2729205 2729222 + Identifier 2729205 2729222 + Block 2729278 2735023 + VariableStatement 2729280 2729421 + VariableDeclarationList 2729280 2729420 + VariableDeclaration 2729347 2729420 + Identifier 2729347 2729371 + CallExpression 2729373 2729420 + Identifier 2729373 2729411 + Identifier 2729412 2729419 + IfStatement 2729421 2729682 + BinaryExpression 2729443 2729538 + BinaryExpression 2729443 2729487 + Identifier 2729443 2729463 + AmpersandToken 2729463 2729465 + PropertyAccessExpression 2729465 2729487 + Identifier 2729465 2729479 + Identifier 2729480 2729487 + BarBarToken 2729487 2729490 + BinaryExpression 2729490 2729538 + Identifier 2729490 2729514 + AmpersandToken 2729514 2729516 + PropertyAccessExpression 2729516 2729538 + Identifier 2729516 2729530 + Identifier 2729531 2729538 + Block 2729539 2729682 + ContinueStatement 2729541 2729663 + VariableStatement 2729682 2729738 + VariableDeclarationList 2729682 2729737 + VariableDeclaration 2729705 2729737 + Identifier 2729705 2729718 + TypeReference 2729719 2729737 + Identifier 2729719 2729737 + VariableStatement 2729738 2729826 + VariableDeclarationList 2729738 2729825 + VariableDeclaration 2729761 2729825 + Identifier 2729761 2729779 + BinaryExpression 2729781 2729825 + PropertyAccessExpression 2729781 2729792 + Identifier 2729781 2729786 + Identifier 2729787 2729792 + AmpersandToken 2729792 2729794 + PropertyAccessExpression 2729794 2729825 + Identifier 2729794 2729806 + Identifier 2729807 2729825 + VariableStatement 2729826 2729920 + VariableDeclarationList 2729826 2729919 + VariableDeclaration 2729849 2729919 + Identifier 2729849 2729870 + BinaryExpression 2729872 2729919 + PropertyAccessExpression 2729872 2729886 + Identifier 2729872 2729880 + Identifier 2729881 2729886 + AmpersandToken 2729886 2729888 + PropertyAccessExpression 2729888 2729919 + Identifier 2729888 2729900 + Identifier 2729901 2729919 + IfStatement 2729920 2734826 + BinaryExpression 2729942 2729983 + Identifier 2729942 2729959 + AmpersandAmpersandToken 2729959 2729962 + Identifier 2729962 2729983 + Block 2729984 2733791 + IfStatement 2729986 2730992 + BinaryExpression 2730091 2730563 + BinaryExpression 2730091 2730462 + ParenthesizedExpression 2730091 2730394 + ConditionalExpression 2730118 2730393 + BinaryExpression 2730118 2730160 + CallExpression 2730118 2730137 + Identifier 2730118 2730131 + Identifier 2730132 2730136 + AmpersandToken 2730137 2730139 + PropertyAccessExpression 2730139 2730160 + Identifier 2730139 2730150 + Identifier 2730151 2730160 + QuestionToken 2730160 2730191 + CallExpression 2730191 2730276 + PropertyAccessExpression 2730191 2730215 + PropertyAccessExpression 2730191 2730209 + Identifier 2730191 2730196 + Identifier 2730197 2730209 + QuestionDotToken 2730209 2730211 + Identifier 2730211 2730215 + ArrowFunction 2730216 2730275 + Parameter 2730216 2730217 + Identifier 2730216 2730217 + EqualsGreaterThanToken 2730217 2730220 + CallExpression 2730220 2730275 + Identifier 2730220 2730250 + Identifier 2730251 2730252 + Identifier 2730253 2730274 + ColonToken 2730276 2730307 + CallExpression 2730307 2730393 + PropertyAccessExpression 2730307 2730332 + PropertyAccessExpression 2730307 2730325 + Identifier 2730307 2730312 + Identifier 2730313 2730325 + QuestionDotToken 2730325 2730327 + Identifier 2730327 2730332 + ArrowFunction 2730333 2730392 + Parameter 2730333 2730334 + Identifier 2730333 2730334 + EqualsGreaterThanToken 2730334 2730337 + CallExpression 2730337 2730392 + Identifier 2730337 2730367 + Identifier 2730368 2730369 + Identifier 2730370 2730391 + BarBarToken 2730394 2730422 + BinaryExpression 2730422 2730462 + CallExpression 2730422 2730442 + Identifier 2730422 2730436 + Identifier 2730437 2730441 + AmpersandToken 2730442 2730444 + PropertyAccessExpression 2730444 2730462 + Identifier 2730444 2730455 + Identifier 2730456 2730462 + BarBarToken 2730462 2730490 + BinaryExpression 2730490 2730563 + PropertyAccessExpression 2730490 2730515 + Identifier 2730490 2730498 + Identifier 2730499 2730515 + AmpersandAmpersandToken 2730515 2730518 + CallExpression 2730518 2730563 + Identifier 2730518 2730537 + PropertyAccessExpression 2730538 2730562 + Identifier 2730538 2730545 + Identifier 2730546 2730562 + Block 2730586 2730992 + ContinueStatement 2730588 2730969 + VariableStatement 2730992 2731143 + VariableDeclarationList 2730992 2731142 + VariableDeclaration 2731021 2731142 + Identifier 2731021 2731048 + BinaryExpression 2731050 2731142 + BinaryExpression 2731050 2731093 + Identifier 2731050 2731068 + ExclamationEqualsEqualsToken 2731068 2731072 + PropertyAccessExpression 2731072 2731093 + Identifier 2731072 2731084 + Identifier 2731085 2731093 + AmpersandAmpersandToken 2731093 2731096 + BinaryExpression 2731096 2731142 + Identifier 2731096 2731117 + EqualsEqualsEqualsToken 2731117 2731121 + PropertyAccessExpression 2731121 2731142 + Identifier 2731121 2731133 + Identifier 2731134 2731142 + VariableStatement 2731143 2731292 + VariableDeclarationList 2731143 2731291 + VariableDeclaration 2731170 2731291 + Identifier 2731170 2731197 + BinaryExpression 2731199 2731291 + BinaryExpression 2731199 2731242 + Identifier 2731199 2731217 + EqualsEqualsEqualsToken 2731217 2731221 + PropertyAccessExpression 2731221 2731242 + Identifier 2731221 2731233 + Identifier 2731234 2731242 + AmpersandAmpersandToken 2731242 2731245 + BinaryExpression 2731245 2731291 + Identifier 2731245 2731266 + ExclamationEqualsEqualsToken 2731266 2731270 + PropertyAccessExpression 2731270 2731291 + Identifier 2731270 2731282 + Identifier 2731283 2731291 + IfStatement 2731292 2733702 + BinaryExpression 2731318 2731374 + Identifier 2731318 2731344 + BarBarToken 2731344 2731347 + Identifier 2731347 2731374 + Block 2731375 2731922 + VariableStatement 2731377 2731711 + VariableDeclarationList 2731377 2731710 + VariableDeclaration 2731408 2731710 + Identifier 2731408 2731421 + ConditionalExpression 2731423 2731710 + Identifier 2731423 2731450 + QuestionToken 2731450 2731452 + PropertyAccessExpression 2731452 2731585 + Identifier 2731452 2731493 + Identifier 2731494 2731585 + ColonToken 2731585 2731587 + PropertyAccessExpression 2731587 2731710 + Identifier 2731587 2731628 + Identifier 2731629 2731710 + ExpressionStatement 2731711 2731899 + CallExpression 2731711 2731898 + Identifier 2731711 2731742 + BinaryExpression 2731743 2731817 + CallExpression 2731743 2731789 + Identifier 2731743 2731763 + PropertyAccessExpression 2731764 2731788 + Identifier 2731764 2731771 + Identifier 2731772 2731788 + BarBarToken 2731789 2731792 + PropertyAccessExpression 2731792 2731817 + Identifier 2731792 2731800 + Identifier 2731801 2731817 + Identifier 2731818 2731831 + CallExpression 2731832 2731853 + Identifier 2731832 2731847 + Identifier 2731848 2731852 + CallExpression 2731854 2731877 + Identifier 2731854 2731867 + Identifier 2731868 2731876 + CallExpression 2731878 2731897 + Identifier 2731878 2731891 + Identifier 2731892 2731896 + IfStatement 2731948 2733702 + Identifier 2731953 2731976 + Block 2731977 2733702 + VariableStatement 2731979 2732145 + VariableDeclarationList 2731979 2732144 + VariableDeclaration 2732010 2732144 + Identifier 2732010 2732024 + CallExpression 2732026 2732144 + PropertyAccessExpression 2732026 2732053 + PropertyAccessExpression 2732026 2732047 + Identifier 2732026 2732034 + Identifier 2732035 2732047 + QuestionDotToken 2732047 2732049 + Identifier 2732049 2732053 + ArrowFunction 2732054 2732143 + Parameter 2732054 2732055 + Identifier 2732054 2732055 + EqualsGreaterThanToken 2732055 2732058 + BinaryExpression 2732058 2732143 + BinaryExpression 2732058 2732100 + PropertyAccessExpression 2732058 2732065 + Identifier 2732058 2732060 + Identifier 2732061 2732065 + EqualsEqualsEqualsToken 2732065 2732069 + PropertyAccessExpression 2732069 2732100 + Identifier 2732069 2732080 + Identifier 2732081 2732100 + AmpersandAmpersandToken 2732100 2732103 + PrefixUnaryExpression 2732103 2732143 + PropertyAccessExpression 2732105 2732143 + ParenthesizedExpression 2732105 2732131 + AsExpression 2732106 2732130 + Identifier 2732106 2732107 + TypeReference 2732110 2732130 + Identifier 2732110 2732130 + Identifier 2732132 2732143 + IfStatement 2732145 2733679 + BinaryExpression 2732175 2732554 + BinaryExpression 2732175 2732456 + BinaryExpression 2732175 2732372 + BinaryExpression 2732175 2732291 + Identifier 2732175 2732218 + AmpersandAmpersandToken 2732218 2732250 + PrefixUnaryExpression 2732250 2732291 + ParenthesizedExpression 2732252 2732291 + BinaryExpression 2732253 2732290 + PropertyAccessExpression 2732253 2732266 + Identifier 2732253 2732260 + Identifier 2732261 2732266 + AmpersandToken 2732266 2732268 + PropertyAccessExpression 2732268 2732290 + Identifier 2732268 2732280 + Identifier 2732281 2732290 + AmpersandAmpersandToken 2732291 2732323 + PrefixUnaryExpression 2732323 2732372 + ParenthesizedExpression 2732325 2732372 + BinaryExpression 2732326 2732371 + Identifier 2732326 2732346 + AmpersandToken 2732346 2732348 + PropertyAccessExpression 2732348 2732371 + Identifier 2732348 2732362 + Identifier 2732363 2732371 + AmpersandAmpersandToken 2732372 2732404 + PrefixUnaryExpression 2732404 2732456 + ParenthesizedExpression 2732406 2732456 + BinaryExpression 2732407 2732455 + Identifier 2732407 2732430 + AmpersandToken 2732430 2732432 + PropertyAccessExpression 2732432 2732455 + Identifier 2732432 2732446 + Identifier 2732447 2732455 + AmpersandAmpersandToken 2732456 2732488 + PrefixUnaryExpression 2732488 2732554 + CallExpression 2732490 2732554 + PropertyAccessExpression 2732490 2732516 + PropertyAccessExpression 2732490 2732510 + Identifier 2732490 2732497 + Identifier 2732498 2732510 + QuestionDotToken 2732510 2732512 + Identifier 2732512 2732516 + ArrowFunction 2732517 2732553 + Parameter 2732517 2732518 + Identifier 2732517 2732518 + EqualsGreaterThanToken 2732518 2732521 + PrefixUnaryExpression 2732521 2732553 + PrefixUnaryExpression 2732523 2732553 + ParenthesizedExpression 2732524 2732553 + BinaryExpression 2732525 2732552 + PropertyAccessExpression 2732525 2732532 + Identifier 2732525 2732526 + Identifier 2732527 2732532 + AmpersandToken 2732532 2732534 + PropertyAccessExpression 2732534 2732552 + Identifier 2732534 2732544 + Identifier 2732545 2732552 + Block 2732581 2733679 + VariableStatement 2732583 2732707 + VariableDeclarationList 2732583 2732706 + VariableDeclaration 2732618 2732706 + Identifier 2732618 2732630 + CallExpression 2732632 2732706 + Identifier 2732632 2732659 + NonNullExpression 2732660 2732705 + CallExpression 2732660 2732704 + Identifier 2732660 2732691 + PropertyAccessExpression 2732692 2732703 + Identifier 2732692 2732696 + Identifier 2732697 2732703 + VariableStatement 2732707 2732798 + VariableDeclarationList 2732707 2732797 + VariableDeclaration 2732742 2732797 + Identifier 2732742 2732751 + PropertyAccessExpression 2732753 2732797 + ParenthesizedExpression 2732753 2732792 + AsExpression 2732755 2732791 + Identifier 2732755 2732768 + TypeReference 2732771 2732791 + Identifier 2732771 2732791 + Identifier 2732793 2732797 + IfStatement 2732798 2733652 + BinaryExpression 2732832 2733185 + BinaryExpression 2732832 2733084 + BinaryExpression 2732832 2733030 + BinaryExpression 2732832 2732970 + PropertyAccessExpression 2732832 2732921 + ParenthesizedExpression 2732832 2732904 + AsExpression 2732867 2732903 + Identifier 2732867 2732880 + TypeReference 2732883 2732903 + Identifier 2732883 2732903 + Identifier 2732905 2732921 + BarBarToken 2732921 2732957 + PrefixUnaryExpression 2732957 2732970 + Identifier 2732959 2732970 + BarBarToken 2732970 2733006 + PrefixUnaryExpression 2733006 2733030 + CallExpression 2733008 2733030 + Identifier 2733008 2733020 + Identifier 2733021 2733029 + BarBarToken 2733030 2733066 + PrefixUnaryExpression 2733066 2733084 + Identifier 2733068 2733084 + BarBarToken 2733084 2733120 + PrefixUnaryExpression 2733120 2733185 + CallExpression 2733122 2733185 + Identifier 2733122 2733156 + Identifier 2733157 2733165 + Identifier 2733166 2733171 + Identifier 2733172 2733184 + Block 2733216 2733652 + VariableStatement 2733218 2733445 + VariableDeclarationList 2733218 2733444 + VariableDeclaration 2733257 2733444 + Identifier 2733257 2733270 + PropertyAccessExpression 2733272 2733444 + Identifier 2733272 2733284 + Identifier 2733285 2733444 + ExpressionStatement 2733445 2733621 + CallExpression 2733445 2733620 + Identifier 2733445 2733484 + BinaryExpression 2733485 2733559 + CallExpression 2733485 2733531 + Identifier 2733485 2733505 + PropertyAccessExpression 2733506 2733530 + Identifier 2733506 2733513 + Identifier 2733514 2733530 + BarBarToken 2733531 2733534 + PropertyAccessExpression 2733534 2733559 + Identifier 2733534 2733542 + Identifier 2733543 2733559 + Identifier 2733560 2733573 + CallExpression 2733574 2733595 + Identifier 2733574 2733589 + Identifier 2733590 2733594 + CallExpression 2733596 2733619 + Identifier 2733596 2733609 + Identifier 2733610 2733618 + ContinueStatement 2733702 2733772 + IfStatement 2733813 2734826 + CallExpression 2733818 2733843 + Identifier 2733818 2733837 + Identifier 2733838 2733842 + Block 2733844 2734397 + IfStatement 2733846 2734378 + BinaryExpression 2733872 2733940 + CallExpression 2733872 2733900 + Identifier 2733872 2733891 + Identifier 2733892 2733899 + BarBarToken 2733900 2733903 + BinaryExpression 2733903 2733940 + PropertyAccessExpression 2733903 2733917 + Identifier 2733903 2733911 + Identifier 2733912 2733917 + AmpersandToken 2733917 2733919 + PropertyAccessExpression 2733919 2733940 + Identifier 2733919 2733931 + Identifier 2733932 2733940 + Block 2733941 2734090 + ContinueStatement 2733943 2734067 + Block 2734116 2734378 + ExpressionStatement 2734118 2734199 + CallExpression 2734118 2734198 + PropertyAccessExpression 2734118 2734156 + Identifier 2734118 2734149 + Identifier 2734150 2734156 + PrefixUnaryExpression 2734157 2734197 + PrefixUnaryExpression 2734158 2734197 + ParenthesizedExpression 2734159 2734197 + BinaryExpression 2734160 2734196 + PropertyAccessExpression 2734160 2734173 + Identifier 2734160 2734167 + Identifier 2734168 2734173 + AmpersandToken 2734173 2734175 + PropertyAccessExpression 2734175 2734196 + Identifier 2734175 2734187 + Identifier 2734188 2734196 + ExpressionStatement 2734199 2734355 + BinaryExpression 2734199 2734354 + Identifier 2734199 2734237 + EqualsToken 2734237 2734239 + PropertyAccessExpression 2734239 2734354 + Identifier 2734239 2734251 + Identifier 2734252 2734354 + IfStatement 2734419 2734826 + BinaryExpression 2734424 2734457 + PropertyAccessExpression 2734424 2734434 + Identifier 2734424 2734428 + Identifier 2734429 2734434 + AmpersandToken 2734434 2734436 + PropertyAccessExpression 2734436 2734457 + Identifier 2734436 2734448 + Identifier 2734449 2734457 + Block 2734458 2734631 + ExpressionStatement 2734460 2734612 + BinaryExpression 2734460 2734611 + Identifier 2734460 2734494 + EqualsToken 2734494 2734496 + PropertyAccessExpression 2734496 2734611 + Identifier 2734496 2734508 + Identifier 2734509 2734611 + Block 2734653 2734826 + ExpressionStatement 2734655 2734807 + BinaryExpression 2734655 2734806 + Identifier 2734655 2734689 + EqualsToken 2734689 2734691 + PropertyAccessExpression 2734691 2734806 + Identifier 2734691 2734703 + Identifier 2734704 2734806 + ExpressionStatement 2734826 2735008 + CallExpression 2734826 2735007 + Identifier 2734826 2734851 + BinaryExpression 2734852 2734926 + CallExpression 2734852 2734898 + Identifier 2734852 2734872 + PropertyAccessExpression 2734873 2734897 + Identifier 2734873 2734880 + Identifier 2734881 2734897 + BarBarToken 2734898 2734901 + PropertyAccessExpression 2734901 2734926 + Identifier 2734901 2734909 + Identifier 2734910 2734926 + Identifier 2734927 2734940 + CallExpression 2734941 2734964 + Identifier 2734941 2734954 + Identifier 2734955 2734963 + CallExpression 2734965 2734986 + Identifier 2734965 2734980 + Identifier 2734981 2734985 + CallExpression 2734987 2735006 + Identifier 2734987 2735000 + Identifier 2735001 2735005 + ForOfStatement 2735034 2737255 + VariableDeclarationList 2735051 2735080 + VariableDeclaration 2735056 2735080 + ArrayBindingPattern 2735056 2735080 + BindingElement 2735058 2735067 + Identifier 2735058 2735067 + BindingElement 2735068 2735079 + Identifier 2735068 2735079 + Identifier 2735083 2735102 + Block 2735103 2737255 + IfStatement 2735105 2737244 + BinaryExpression 2735123 2735164 + CallExpression 2735123 2735158 + Identifier 2735123 2735129 + PropertyAccessExpression 2735130 2735157 + Identifier 2735130 2735140 + Identifier 2735141 2735157 + EqualsEqualsEqualsToken 2735158 2735162 + NumericLiteral 2735162 2735164 + Block 2735165 2735715 + IfStatement 2735167 2735700 + CallExpression 2735189 2735217 + Identifier 2735189 2735206 + Identifier 2735207 2735216 + Block 2735218 2735442 + ExpressionStatement 2735220 2735423 + CallExpression 2735220 2735422 + Identifier 2735220 2735247 + Identifier 2735248 2735257 + PropertyAccessExpression 2735258 2735360 + Identifier 2735258 2735270 + Identifier 2735271 2735360 + CallExpression 2735361 2735396 + Identifier 2735361 2735367 + PropertyAccessExpression 2735368 2735395 + Identifier 2735368 2735378 + Identifier 2735379 2735395 + PropertyAccessExpression 2735397 2735421 + Identifier 2735397 2735408 + Identifier 2735409 2735421 + Block 2735464 2735700 + ExpressionStatement 2735466 2735681 + CallExpression 2735466 2735680 + Identifier 2735466 2735493 + Identifier 2735494 2735503 + PropertyAccessExpression 2735504 2735597 + Identifier 2735504 2735516 + Identifier 2735517 2735597 + PropertyAccessExpression 2735598 2735618 + Identifier 2735598 2735609 + Identifier 2735610 2735618 + CallExpression 2735619 2735654 + Identifier 2735619 2735625 + PropertyAccessExpression 2735626 2735653 + Identifier 2735626 2735636 + Identifier 2735637 2735653 + PropertyAccessExpression 2735655 2735679 + Identifier 2735655 2735666 + Identifier 2735667 2735679 + IfStatement 2735733 2737244 + BinaryExpression 2735738 2735777 + CallExpression 2735738 2735773 + Identifier 2735738 2735744 + PropertyAccessExpression 2735745 2735772 + Identifier 2735745 2735755 + Identifier 2735756 2735772 + GreaterThanToken 2735773 2735775 + NumericLiteral 2735775 2735777 + Block 2735778 2736592 + VariableStatement 2735780 2735900 + VariableDeclarationList 2735780 2735899 + VariableDeclaration 2735803 2735899 + Identifier 2735803 2735820 + CallExpression 2735822 2735899 + PropertyAccessExpression 2735822 2735893 + CallExpression 2735822 2735888 + Identifier 2735822 2735826 + CallExpression 2735827 2735866 + PropertyAccessExpression 2735827 2735860 + PropertyAccessExpression 2735827 2735854 + Identifier 2735827 2735837 + Identifier 2735838 2735854 + Identifier 2735855 2735860 + NumericLiteral 2735861 2735862 + NumericLiteral 2735863 2735865 + ArrowFunction 2735867 2735887 + Parameter 2735867 2735872 + Identifier 2735867 2735872 + EqualsGreaterThanToken 2735872 2735875 + TemplateExpression 2735875 2735887 + TemplateHead 2735875 2735880 + TemplateSpan 2735880 2735887 + Identifier 2735880 2735884 + TemplateTail 2735884 2735887 + Identifier 2735889 2735893 + StringLiteral 2735894 2735898 + VariableStatement 2735900 2735992 + VariableDeclarationList 2735900 2735991 + VariableDeclaration 2735923 2735991 + Identifier 2735923 2735949 + BinaryExpression 2735951 2735991 + CallExpression 2735951 2735987 + Identifier 2735951 2735958 + PropertyAccessExpression 2735959 2735986 + Identifier 2735959 2735969 + Identifier 2735970 2735986 + MinusToken 2735987 2735989 + NumericLiteral 2735989 2735991 + IfStatement 2735992 2736577 + CallExpression 2736014 2736042 + Identifier 2736014 2736031 + Identifier 2736032 2736041 + Block 2736043 2736293 + ExpressionStatement 2736045 2736274 + CallExpression 2736045 2736273 + Identifier 2736045 2736072 + Identifier 2736073 2736082 + PropertyAccessExpression 2736083 2736202 + Identifier 2736083 2736095 + Identifier 2736096 2736202 + PropertyAccessExpression 2736203 2736227 + Identifier 2736203 2736214 + Identifier 2736215 2736227 + Identifier 2736228 2736245 + Identifier 2736246 2736272 + Block 2736315 2736577 + ExpressionStatement 2736317 2736558 + CallExpression 2736317 2736557 + Identifier 2736317 2736344 + Identifier 2736345 2736354 + PropertyAccessExpression 2736355 2736465 + Identifier 2736355 2736367 + Identifier 2736368 2736465 + PropertyAccessExpression 2736466 2736486 + Identifier 2736466 2736477 + Identifier 2736478 2736486 + PropertyAccessExpression 2736487 2736511 + Identifier 2736487 2736498 + Identifier 2736499 2736511 + Identifier 2736512 2736529 + Identifier 2736530 2736556 + Block 2736610 2737244 + VariableStatement 2736612 2736720 + VariableDeclarationList 2736612 2736719 + VariableDeclaration 2736635 2736719 + Identifier 2736635 2736652 + CallExpression 2736654 2736719 + PropertyAccessExpression 2736654 2736713 + CallExpression 2736654 2736708 + Identifier 2736654 2736658 + PropertyAccessExpression 2736659 2736686 + Identifier 2736659 2736669 + Identifier 2736670 2736686 + ArrowFunction 2736687 2736707 + Parameter 2736687 2736692 + Identifier 2736687 2736692 + EqualsGreaterThanToken 2736692 2736695 + TemplateExpression 2736695 2736707 + TemplateHead 2736695 2736700 + TemplateSpan 2736700 2736707 + Identifier 2736700 2736704 + TemplateTail 2736704 2736707 + Identifier 2736709 2736713 + StringLiteral 2736714 2736718 + IfStatement 2736720 2737229 + CallExpression 2736742 2736770 + Identifier 2736742 2736759 + Identifier 2736760 2736769 + Block 2736771 2736983 + ExpressionStatement 2736773 2736964 + CallExpression 2736773 2736963 + Identifier 2736773 2736800 + Identifier 2736801 2736810 + PropertyAccessExpression 2736811 2736919 + Identifier 2736811 2736823 + Identifier 2736824 2736919 + PropertyAccessExpression 2736920 2736944 + Identifier 2736920 2736931 + Identifier 2736932 2736944 + Identifier 2736945 2736962 + Block 2737005 2737229 + ExpressionStatement 2737007 2737210 + CallExpression 2737007 2737209 + Identifier 2737007 2737034 + Identifier 2737035 2737044 + PropertyAccessExpression 2737045 2737144 + Identifier 2737045 2737057 + Identifier 2737058 2737144 + PropertyAccessExpression 2737145 2737165 + Identifier 2737145 2737156 + Identifier 2737157 2737165 + PropertyAccessExpression 2737166 2737190 + Identifier 2737166 2737177 + Identifier 2737178 2737190 + Identifier 2737191 2737208 + FunctionDeclaration 2737262 2737571 + Identifier 2737278 2737308 + Parameter 2737309 2737333 + Identifier 2737309 2737320 + TypeReference 2737321 2737333 + Identifier 2737321 2737333 + Parameter 2737334 2737370 + Identifier 2737334 2737355 + TypeReference 2737356 2737370 + Identifier 2737356 2737370 + Block 2737371 2737571 + ReturnStatement 2737373 2737564 + BinaryExpression 2737389 2737563 + BinaryExpression 2737389 2737504 + BinaryExpression 2737389 2737435 + Identifier 2737389 2737410 + AmpersandToken 2737410 2737412 + PropertyAccessExpression 2737412 2737435 + Identifier 2737412 2737426 + Identifier 2737427 2737435 + AmpersandAmpersandToken 2737435 2737438 + ParenthesizedExpression 2737438 2737504 + BinaryExpression 2737440 2737503 + PrefixUnaryExpression 2737440 2737475 + CallExpression 2737441 2737475 + Identifier 2737441 2737462 + Identifier 2737463 2737474 + BarBarToken 2737475 2737478 + PrefixUnaryExpression 2737478 2737503 + PropertyAccessExpression 2737480 2737503 + Identifier 2737480 2737491 + Identifier 2737492 2737503 + BarBarToken 2737504 2737520 + CallExpression 2737520 2737563 + Identifier 2737520 2737543 + PropertyAccessExpression 2737544 2737562 + Identifier 2737544 2737555 + Identifier 2737556 2737562 + FunctionDeclaration 2737571 2738366 + Identifier 2737587 2737613 + Parameter 2737614 2737633 + Identifier 2737614 2737618 + TypeReference 2737619 2737633 + Identifier 2737619 2737633 + Parameter 2737634 2737656 + Identifier 2737634 2737644 + ArrayType 2737645 2737656 + TypeReference 2737645 2737654 + Identifier 2737645 2737654 + Parameter 2737657 2737678 + Identifier 2737657 2737668 + ArrayType 2737669 2737678 + TypeReference 2737669 2737676 + Identifier 2737669 2737676 + Block 2737679 2738366 + IfStatement 2737681 2737759 + PrefixUnaryExpression 2737695 2737713 + CallExpression 2737696 2737713 + Identifier 2737696 2737702 + Identifier 2737703 2737712 + Block 2737714 2737759 + ReturnStatement 2737716 2737748 + Identifier 2737736 2737747 + VariableStatement 2737759 2737810 + VariableDeclarationList 2737759 2737809 + VariableDeclaration 2737774 2737809 + Identifier 2737774 2737779 + NewExpression 2737781 2737809 + Identifier 2737785 2737789 + TypeReference 2737790 2737798 + Identifier 2737790 2737798 + TypeReference 2737799 2737806 + Identifier 2737799 2737806 + ExpressionStatement 2737810 2737900 + CallExpression 2737810 2737899 + Identifier 2737810 2737827 + Identifier 2737828 2737838 + ArrowFunction 2737839 2737898 + Parameter 2737839 2737841 + Identifier 2737839 2737841 + EqualsGreaterThanToken 2737841 2737844 + Block 2737844 2737898 + ExpressionStatement 2737846 2737887 + CallExpression 2737846 2737886 + PropertyAccessExpression 2737846 2737868 + Identifier 2737846 2737864 + Identifier 2737865 2737868 + PropertyAccessExpression 2737869 2737882 + Identifier 2737869 2737870 + Identifier 2737871 2737882 + Identifier 2737883 2737885 + ForOfStatement 2737900 2738315 + VariableDeclarationList 2737917 2737927 + VariableDeclaration 2737922 2737927 + Identifier 2737922 2737927 + Identifier 2737930 2737940 + Block 2737941 2738315 + VariableStatement 2737943 2738042 + VariableDeclarationList 2737943 2738041 + VariableDeclaration 2737962 2738041 + Identifier 2737962 2737973 + CallExpression 2737975 2738041 + Identifier 2737975 2737995 + CallExpression 2737996 2738040 + Identifier 2737996 2738019 + Identifier 2738020 2738024 + PropertyAccessExpression 2738025 2738039 + Identifier 2738025 2738030 + Identifier 2738031 2738039 + ForOfStatement 2738042 2738304 + VariableDeclarationList 2738061 2738071 + VariableDeclaration 2738066 2738071 + Identifier 2738066 2738071 + Identifier 2738074 2738085 + Block 2738086 2738304 + VariableStatement 2738088 2738150 + VariableDeclarationList 2738088 2738149 + VariableDeclaration 2738111 2738149 + Identifier 2738111 2738120 + CallExpression 2738122 2738149 + PropertyAccessExpression 2738122 2738131 + Identifier 2738122 2738127 + Identifier 2738128 2738131 + PropertyAccessExpression 2738132 2738148 + Identifier 2738132 2738136 + Identifier 2738137 2738148 + IfStatement 2738150 2738289 + BinaryExpression 2738172 2738215 + Identifier 2738172 2738180 + AmpersandAmpersandToken 2738180 2738183 + BinaryExpression 2738183 2738215 + PropertyAccessExpression 2738183 2738195 + Identifier 2738183 2738188 + Identifier 2738189 2738195 + EqualsEqualsEqualsToken 2738195 2738199 + PropertyAccessExpression 2738199 2738215 + Identifier 2738199 2738208 + Identifier 2738209 2738215 + Block 2738216 2738289 + ExpressionStatement 2738218 2738270 + CallExpression 2738218 2738269 + PropertyAccessExpression 2738218 2738251 + Identifier 2738218 2738244 + Identifier 2738245 2738251 + PropertyAccessExpression 2738252 2738268 + Identifier 2738252 2738256 + Identifier 2738257 2738268 + ReturnStatement 2738315 2738359 + CallExpression 2738333 2738358 + Identifier 2738333 2738343 + CallExpression 2738344 2738357 + PropertyAccessExpression 2738344 2738355 + Identifier 2738344 2738348 + Identifier 2738349 2738355 + FunctionDeclaration 2738366 2740334 + Identifier 2738382 2738419 + Parameter 2738420 2738439 + Identifier 2738420 2738424 + TypeReference 2738425 2738439 + Identifier 2738425 2738439 + Parameter 2738440 2738455 + Identifier 2738440 2738449 + TypeReference 2738450 2738455 + Identifier 2738450 2738455 + BooleanKeyword 2738457 2738465 + Block 2738465 2740334 + VariableStatement 2738467 2738514 + VariableDeclarationList 2738467 2738513 + VariableDeclaration 2738482 2738513 + Identifier 2738482 2738492 + CallExpression 2738494 2738513 + Identifier 2738494 2738507 + Identifier 2738508 2738512 + IfStatement 2738514 2738588 + BinaryExpression 2738528 2738548 + PropertyAccessExpression 2738528 2738544 + Identifier 2738528 2738537 + Identifier 2738538 2738544 + LessThanToken 2738544 2738546 + NumericLiteral 2738546 2738548 + Block 2738549 2738588 + ReturnStatement 2738551 2738577 + TrueKeyword 2738571 2738576 + InterfaceDeclaration 2738588 2738703 + Identifier 2738609 2738628 + PropertySignature 2738630 2738657 + Identifier 2738630 2738648 + TypeReference 2738649 2738656 + Identifier 2738649 2738656 + PropertySignature 2738657 2738692 + Identifier 2738657 2738685 + TypeReference 2738686 2738691 + Identifier 2738686 2738691 + VariableStatement 2738703 2738766 + VariableDeclarationList 2738703 2738765 + VariableDeclaration 2738718 2738765 + Identifier 2738718 2738723 + NewExpression 2738725 2738765 + Identifier 2738729 2738733 + TypeReference 2738734 2738742 + Identifier 2738734 2738742 + TypeReference 2738743 2738762 + Identifier 2738743 2738762 + ExpressionStatement 2738766 2738925 + CallExpression 2738766 2738924 + Identifier 2738766 2738783 + PropertyAccessExpression 2738784 2738831 + CallExpression 2738784 2738812 + Identifier 2738784 2738806 + Identifier 2738807 2738811 + Identifier 2738813 2738831 + ArrowFunction 2738832 2738923 + Parameter 2738832 2738834 + Identifier 2738832 2738834 + EqualsGreaterThanToken 2738834 2738837 + Block 2738837 2738923 + ExpressionStatement 2738839 2738912 + CallExpression 2738839 2738911 + PropertyAccessExpression 2738839 2738861 + Identifier 2738839 2738857 + Identifier 2738858 2738861 + PropertyAccessExpression 2738862 2738875 + Identifier 2738862 2738863 + Identifier 2738864 2738875 + ObjectLiteralExpression 2738876 2738910 + PropertyAssignment 2738878 2738886 + Identifier 2738878 2738883 + Identifier 2738884 2738886 + PropertyAssignment 2738887 2738908 + Identifier 2738887 2738902 + Identifier 2738903 2738908 + VariableStatement 2738925 2738949 + VariableDeclarationList 2738925 2738948 + VariableDeclaration 2738938 2738948 + Identifier 2738938 2738941 + TrueKeyword 2738943 2738948 + ForOfStatement 2738949 2740305 + VariableDeclarationList 2738966 2738976 + VariableDeclaration 2738971 2738976 + Identifier 2738971 2738976 + Identifier 2738979 2738989 + Block 2738990 2740305 + VariableStatement 2738992 2739091 + VariableDeclarationList 2738992 2739090 + VariableDeclaration 2739011 2739090 + Identifier 2739011 2739022 + CallExpression 2739024 2739090 + Identifier 2739024 2739044 + CallExpression 2739045 2739089 + Identifier 2739045 2739068 + Identifier 2739069 2739073 + PropertyAccessExpression 2739074 2739088 + Identifier 2739074 2739079 + Identifier 2739080 2739088 + ForOfStatement 2739091 2740294 + VariableDeclarationList 2739110 2739120 + VariableDeclaration 2739115 2739120 + Identifier 2739115 2739120 + Identifier 2739123 2739134 + Block 2739135 2740294 + VariableStatement 2739137 2739199 + VariableDeclarationList 2739137 2739198 + VariableDeclaration 2739160 2739198 + Identifier 2739160 2739169 + CallExpression 2739171 2739198 + PropertyAccessExpression 2739171 2739180 + Identifier 2739171 2739176 + Identifier 2739177 2739180 + PropertyAccessExpression 2739181 2739197 + Identifier 2739181 2739185 + Identifier 2739186 2739197 + IfStatement 2739199 2740279 + PrefixUnaryExpression 2739221 2739230 + Identifier 2739222 2739230 + Block 2739231 2739333 + ExpressionStatement 2739233 2739314 + CallExpression 2739233 2739313 + PropertyAccessExpression 2739233 2739263 + Identifier 2739233 2739259 + Identifier 2739260 2739263 + PropertyAccessExpression 2739264 2739280 + Identifier 2739264 2739268 + Identifier 2739269 2739280 + ObjectLiteralExpression 2739281 2739312 + ShorthandPropertyAssignment 2739283 2739288 + Identifier 2739283 2739288 + PropertyAssignment 2739289 2739310 + Identifier 2739289 2739304 + Identifier 2739305 2739310 + Block 2739355 2740279 + VariableStatement 2739357 2739440 + VariableDeclarationList 2739357 2739439 + VariableDeclaration 2739384 2739439 + Identifier 2739384 2739404 + BinaryExpression 2739406 2739439 + PropertyAccessExpression 2739406 2739430 + Identifier 2739406 2739415 + Identifier 2739416 2739430 + ExclamationEqualsEqualsToken 2739430 2739434 + Identifier 2739434 2739439 + IfStatement 2739440 2740260 + BinaryExpression 2739466 2739532 + Identifier 2739466 2739485 + AmpersandAmpersandToken 2739485 2739488 + PrefixUnaryExpression 2739488 2739532 + CallExpression 2739490 2739532 + Identifier 2739490 2739511 + PropertyAccessExpression 2739512 2739525 + Identifier 2739512 2739520 + Identifier 2739521 2739525 + Identifier 2739526 2739531 + Block 2739533 2740260 + ExpressionStatement 2739535 2739572 + BinaryExpression 2739535 2739571 + Identifier 2739535 2739563 + EqualsToken 2739563 2739565 + FalseKeyword 2739565 2739571 + VariableStatement 2739572 2739656 + VariableDeclarationList 2739572 2739655 + VariableDeclaration 2739605 2739655 + Identifier 2739605 2739615 + CallExpression 2739617 2739655 + Identifier 2739617 2739630 + PropertyAccessExpression 2739631 2739654 + Identifier 2739631 2739639 + Identifier 2739640 2739654 + VariableStatement 2739656 2739719 + VariableDeclarationList 2739656 2739718 + VariableDeclaration 2739687 2739718 + Identifier 2739687 2739697 + CallExpression 2739699 2739718 + Identifier 2739699 2739712 + Identifier 2739713 2739717 + VariableStatement 2739719 2739919 + VariableDeclarationList 2739719 2739918 + VariableDeclaration 2739750 2739918 + Identifier 2739750 2739760 + CallExpression 2739762 2739918 + Identifier 2739762 2739786 + Identifier 2739787 2739808 + PropertyAccessExpression 2739809 2739873 + Identifier 2739809 2739821 + Identifier 2739822 2739873 + CallExpression 2739874 2739895 + Identifier 2739874 2739889 + Identifier 2739890 2739894 + Identifier 2739896 2739906 + Identifier 2739907 2739917 + ExpressionStatement 2739919 2740102 + BinaryExpression 2739919 2740101 + Identifier 2739919 2739954 + EqualsToken 2739954 2739956 + CallExpression 2739956 2740101 + Identifier 2739956 2739980 + Identifier 2739981 2739990 + PropertyAccessExpression 2739991 2740058 + Identifier 2739991 2740003 + Identifier 2740004 2740058 + CallExpression 2740059 2740078 + Identifier 2740059 2740072 + Identifier 2740073 2740077 + Identifier 2740079 2740089 + Identifier 2740090 2740100 + ExpressionStatement 2740102 2740237 + CallExpression 2740102 2740236 + PropertyAccessExpression 2740102 2740143 + Identifier 2740102 2740139 + Identifier 2740140 2740143 + CallExpression 2740144 2740235 + Identifier 2740144 2740183 + CallExpression 2740184 2740213 + Identifier 2740184 2740203 + Identifier 2740204 2740212 + Identifier 2740214 2740223 + Identifier 2740224 2740234 + ReturnStatement 2740305 2740327 + Identifier 2740323 2740326 + FunctionDeclaration 2740334 2741609 + Identifier 2740350 2740378 + Parameter 2740379 2740405 + Identifier 2740379 2740383 + TypeReference 2740384 2740405 + Identifier 2740384 2740405 + Block 2740406 2741609 + IfStatement 2740408 2740541 + BinaryExpression 2740422 2740506 + BinaryExpression 2740422 2740472 + PrefixUnaryExpression 2740422 2740439 + Identifier 2740423 2740439 + BarBarToken 2740439 2740442 + PrefixUnaryExpression 2740442 2740472 + Identifier 2740444 2740472 + BarBarToken 2740472 2740475 + BinaryExpression 2740475 2740506 + PropertyAccessExpression 2740475 2740486 + Identifier 2740475 2740480 + Identifier 2740481 2740486 + AmpersandToken 2740486 2740488 + PropertyAccessExpression 2740488 2740506 + Identifier 2740488 2740498 + Identifier 2740499 2740506 + Block 2740507 2740541 + ReturnStatement 2740509 2740530 + VariableStatement 2740541 2740604 + VariableDeclarationList 2740541 2740603 + VariableDeclaration 2740556 2740603 + Identifier 2740556 2740568 + CallExpression 2740570 2740603 + Identifier 2740570 2740597 + Identifier 2740598 2740602 + ForOfStatement 2740604 2741602 + VariableDeclarationList 2740619 2740631 + VariableDeclaration 2740624 2740631 + Identifier 2740624 2740631 + PropertyAccessExpression 2740634 2740647 + Identifier 2740634 2740639 + Identifier 2740640 2740647 + Block 2740648 2741602 + IfStatement 2740650 2740770 + BinaryExpression 2740668 2740725 + CallExpression 2740668 2740701 + Identifier 2740668 2740693 + Identifier 2740694 2740700 + AmpersandToken 2740701 2740703 + PropertyAccessExpression 2740703 2740725 + Identifier 2740703 2740717 + Identifier 2740718 2740725 + Block 2740726 2740770 + ContinueStatement 2740728 2740755 + IfStatement 2740770 2741591 + BinaryExpression 2740788 2740845 + PrefixUnaryExpression 2740788 2740805 + CallExpression 2740789 2740805 + Identifier 2740789 2740797 + Identifier 2740798 2740804 + AmpersandAmpersandToken 2740805 2740808 + CallExpression 2740808 2740845 + Identifier 2740808 2740837 + Identifier 2740838 2740844 + Block 2740846 2741591 + VariableStatement 2740848 2740920 + VariableDeclarationList 2740848 2740919 + VariableDeclaration 2740871 2740919 + Identifier 2740871 2740880 + PropertyAccessExpression 2740882 2740919 + ParenthesizedExpression 2740882 2740914 + AsExpression 2740884 2740913 + Identifier 2740884 2740890 + TypeReference 2740893 2740913 + Identifier 2740893 2740913 + Identifier 2740915 2740919 + IfStatement 2740920 2741576 + BinaryExpression 2740942 2741033 + BinaryExpression 2740942 2740997 + CallExpression 2740942 2740964 + Identifier 2740942 2740954 + Identifier 2740955 2740963 + BarBarToken 2740964 2740967 + CallExpression 2740967 2740997 + Identifier 2740967 2740987 + Identifier 2740988 2740996 + BarBarToken 2740997 2741000 + CallExpression 2741000 2741033 + Identifier 2741000 2741023 + Identifier 2741024 2741032 + Block 2741034 2741576 + VariableStatement 2741036 2741119 + VariableDeclarationList 2741036 2741118 + VariableDeclaration 2741063 2741118 + Identifier 2741063 2741068 + CallExpression 2741070 2741118 + Identifier 2741070 2741086 + CallExpression 2741087 2741117 + Identifier 2741087 2741109 + Identifier 2741110 2741116 + IfStatement 2741119 2741557 + PrefixUnaryExpression 2741145 2741214 + ParenthesizedExpression 2741146 2741214 + BinaryExpression 2741147 2741213 + BinaryExpression 2741147 2741182 + PropertyAccessExpression 2741147 2741157 + Identifier 2741147 2741151 + Identifier 2741152 2741157 + AmpersandToken 2741157 2741159 + PropertyAccessExpression 2741159 2741182 + Identifier 2741159 2741169 + Identifier 2741170 2741182 + BarBarToken 2741182 2741185 + CallExpression 2741185 2741213 + Identifier 2741185 2741207 + Identifier 2741208 2741212 + Block 2741215 2741557 + IfStatement 2741217 2741534 + BinaryExpression 2741247 2741327 + PrefixUnaryExpression 2741247 2741259 + Identifier 2741248 2741259 + BarBarToken 2741259 2741262 + PrefixUnaryExpression 2741262 2741327 + CallExpression 2741264 2741327 + Identifier 2741264 2741298 + Identifier 2741299 2741307 + Identifier 2741308 2741313 + Identifier 2741314 2741326 + Block 2741328 2741534 + ExpressionStatement 2741330 2741507 + CallExpression 2741330 2741506 + Identifier 2741330 2741365 + PropertyAccessExpression 2741366 2741377 + Identifier 2741366 2741372 + Identifier 2741373 2741377 + PropertyAccessExpression 2741378 2741470 + Identifier 2741378 2741390 + Identifier 2741391 2741470 + CallExpression 2741471 2741505 + Identifier 2741471 2741495 + Identifier 2741496 2741504 + FunctionDeclaration 2741609 2741903 + Identifier 2741625 2741654 + Parameter 2741655 2741665 + Identifier 2741655 2741659 + TypeReference 2741660 2741665 + Identifier 2741660 2741665 + Block 2741666 2741903 + ReturnStatement 2741668 2741896 + BinaryExpression 2741684 2741895 + BinaryExpression 2741684 2741836 + BinaryExpression 2741684 2741772 + BinaryExpression 2741684 2741729 + PropertyAccessExpression 2741684 2741694 + Identifier 2741684 2741689 + Identifier 2741690 2741694 + EqualsEqualsEqualsToken 2741694 2741698 + PropertyAccessExpression 2741698 2741729 + Identifier 2741698 2741709 + Identifier 2741710 2741729 + AmpersandAmpersandToken 2741729 2741732 + PrefixUnaryExpression 2741732 2741772 + CallExpression 2741747 2741772 + Identifier 2741747 2741766 + Identifier 2741767 2741771 + AmpersandAmpersandToken 2741772 2741775 + PrefixUnaryExpression 2741775 2741836 + PropertyAccessExpression 2741790 2741836 + ParenthesizedExpression 2741790 2741819 + AsExpression 2741791 2741818 + Identifier 2741791 2741795 + TypeReference 2741798 2741818 + Identifier 2741798 2741818 + Identifier 2741820 2741836 + AmpersandAmpersandToken 2741836 2741839 + PrefixUnaryExpression 2741839 2741895 + PropertyAccessExpression 2741854 2741895 + ParenthesizedExpression 2741854 2741883 + AsExpression 2741855 2741882 + Identifier 2741855 2741859 + TypeReference 2741862 2741882 + Identifier 2741862 2741882 + Identifier 2741884 2741895 + FunctionDeclaration 2741903 2742914 + Identifier 2741919 2741955 + Parameter 2741956 2741996 + Identifier 2741956 2741964 + UnionType 2741965 2741996 + TypeReference 2741965 2741976 + Identifier 2741965 2741976 + TypeReference 2741978 2741996 + Identifier 2741978 2741996 + Parameter 2741997 2742012 + Identifier 2741997 2742006 + TypeReference 2742007 2742012 + Identifier 2742007 2742012 + Parameter 2742013 2742066 + Identifier 2742013 2742026 + TypeOperator 2742027 2742066 + ArrayType 2742036 2742066 + TypeReference 2742036 2742064 + Identifier 2742036 2742064 + Parameter 2742067 2742084 + Identifier 2742067 2742076 + NumberKeyword 2742077 2742084 + Parameter 2742085 2742100 + Identifier 2742085 2742092 + NumberKeyword 2742093 2742100 + Block 2742101 2742914 + ForOfStatement 2742103 2742884 + VariableDeclarationList 2742118 2742135 + VariableDeclaration 2742123 2742135 + Identifier 2742123 2742135 + Identifier 2742138 2742151 + Block 2742152 2742884 + IfStatement 2742154 2742873 + BinaryExpression 2742297 2742353 + BinaryExpression 2742297 2742324 + PropertyAccessExpression 2742297 2742312 + Identifier 2742297 2742308 + Identifier 2742309 2742312 + GreaterThanEqualsToken 2742312 2742315 + Identifier 2742315 2742324 + AmpersandAmpersandToken 2742324 2742327 + BinaryExpression 2742327 2742353 + PropertyAccessExpression 2742327 2742343 + Identifier 2742327 2742339 + Identifier 2742340 2742343 + LessThanEqualsToken 2742343 2742346 + Identifier 2742346 2742353 + Block 2742354 2742873 + VariableStatement 2742356 2742463 + VariableDeclarationList 2742356 2742462 + VariableDeclaration 2742379 2742462 + Identifier 2742379 2742389 + CallExpression 2742391 2742462 + PropertyAccessExpression 2742391 2742430 + Identifier 2742391 2742399 + Identifier 2742400 2742430 + CallExpression 2742431 2742451 + PropertyAccessExpression 2742431 2742449 + Identifier 2742431 2742438 + Identifier 2742439 2742449 + Identifier 2742452 2742461 + ExpressionStatement 2742463 2742524 + CallExpression 2742463 2742523 + Identifier 2742463 2742490 + PropertyAccessExpression 2742491 2742511 + Identifier 2742491 2742500 + Identifier 2742501 2742511 + Identifier 2742512 2742522 + ExpressionStatement 2742524 2742576 + CallExpression 2742524 2742575 + Identifier 2742524 2742551 + Identifier 2742552 2742561 + Identifier 2742562 2742574 + ExpressionStatement 2742576 2742642 + BinaryExpression 2742576 2742641 + PropertyAccessExpression 2742576 2742612 + Identifier 2742576 2742603 + Identifier 2742604 2742612 + EqualsToken 2742612 2742614 + PropertyAccessExpression 2742614 2742641 + Identifier 2742614 2742626 + Identifier 2742627 2742641 + VariableStatement 2742642 2742748 + VariableDeclarationList 2742642 2742747 + VariableDeclaration 2742665 2742747 + Identifier 2742665 2742674 + CallExpression 2742676 2742747 + Identifier 2742676 2742699 + Identifier 2742700 2742709 + Identifier 2742710 2742719 + CallExpression 2742720 2742746 + Identifier 2742720 2742736 + Identifier 2742737 2742745 + IfStatement 2742748 2742858 + PrefixUnaryExpression 2742770 2742802 + CallExpression 2742771 2742802 + Identifier 2742771 2742792 + Identifier 2742793 2742801 + Block 2742803 2742858 + ReturnStatement 2742805 2742839 + TrueKeyword 2742833 2742838 + ReturnStatement 2742884 2742907 + FalseKeyword 2742900 2742906 + FunctionDeclaration 2742914 2743638 + Identifier 2742930 2742965 + Parameter 2742966 2743029 + Identifier 2742966 2742974 + UnionType 2742975 2743029 + TypeReference 2742975 2742986 + Identifier 2742975 2742986 + TypeReference 2742988 2743006 + Identifier 2742988 2743006 + TypeReference 2743008 2743029 + Identifier 2743008 2743029 + Parameter 2743030 2743045 + Identifier 2743030 2743039 + TypeReference 2743040 2743045 + Identifier 2743040 2743045 + Parameter 2743046 2743082 + Identifier 2743046 2743058 + TypeReference 2743059 2743082 + Identifier 2743059 2743082 + Block 2743083 2743638 + VariableStatement 2743085 2743328 + VariableDeclarationList 2743085 2743327 + VariableDeclaration 2743100 2743327 + Identifier 2743100 2743110 + ConditionalExpression 2743112 2743327 + CallExpression 2743112 2743145 + Identifier 2743112 2743135 + Identifier 2743136 2743144 + QuestionToken 2743145 2743160 + CallExpression 2743160 2743241 + PropertyAccessExpression 2743160 2743198 + Identifier 2743160 2743168 + Identifier 2743169 2743198 + CallExpression 2743199 2743219 + PropertyAccessExpression 2743199 2743217 + Identifier 2743199 2743206 + Identifier 2743207 2743217 + PropertyAccessExpression 2743220 2743240 + Identifier 2743220 2743229 + Identifier 2743230 2743240 + ColonToken 2743241 2743256 + CallExpression 2743256 2743327 + PropertyAccessExpression 2743256 2743295 + Identifier 2743256 2743264 + Identifier 2743265 2743295 + CallExpression 2743296 2743316 + PropertyAccessExpression 2743296 2743314 + Identifier 2743296 2743303 + Identifier 2743304 2743314 + Identifier 2743317 2743326 + ExpressionStatement 2743328 2743381 + CallExpression 2743328 2743380 + Identifier 2743328 2743347 + PropertyAccessExpression 2743348 2743368 + Identifier 2743348 2743357 + Identifier 2743358 2743368 + Identifier 2743369 2743379 + ExpressionStatement 2743381 2743425 + CallExpression 2743381 2743424 + Identifier 2743381 2743400 + Identifier 2743401 2743410 + Identifier 2743411 2743423 + ExpressionStatement 2743425 2743483 + BinaryExpression 2743425 2743482 + PropertyAccessExpression 2743425 2743453 + Identifier 2743425 2743444 + Identifier 2743445 2743453 + EqualsToken 2743453 2743455 + PropertyAccessExpression 2743455 2743482 + Identifier 2743455 2743467 + Identifier 2743468 2743482 + VariableStatement 2743483 2743581 + VariableDeclarationList 2743483 2743580 + VariableDeclaration 2743498 2743580 + Identifier 2743498 2743507 + CallExpression 2743509 2743580 + Identifier 2743509 2743532 + Identifier 2743533 2743542 + Identifier 2743543 2743552 + CallExpression 2743553 2743579 + Identifier 2743553 2743569 + Identifier 2743570 2743578 + ReturnStatement 2743581 2743631 + PrefixUnaryExpression 2743597 2743630 + CallExpression 2743599 2743630 + Identifier 2743599 2743620 + Identifier 2743621 2743629 + FunctionDeclaration 2743638 2745949 + Identifier 2743654 2743680 + Parameter 2743681 2743707 + Identifier 2743681 2743685 + TypeReference 2743686 2743707 + Identifier 2743686 2743707 + Block 2743708 2745949 + IfStatement 2743710 2743822 + PrefixUnaryExpression 2743753 2743781 + CallExpression 2743754 2743781 + Identifier 2743754 2743775 + Identifier 2743776 2743780 + ExpressionStatement 2743782 2743822 + CallExpression 2743782 2743821 + Identifier 2743782 2743815 + Identifier 2743816 2743820 + IfStatement 2743822 2744003 + PrefixUnaryExpression 2743836 2743872 + CallExpression 2743837 2743872 + Identifier 2743837 2743859 + PropertyAccessExpression 2743860 2743871 + Identifier 2743860 2743864 + Identifier 2743865 2743871 + Block 2743873 2744003 + ExpressionStatement 2743875 2743992 + CallExpression 2743875 2743991 + Identifier 2743875 2743907 + Identifier 2743908 2743912 + PropertyAccessExpression 2743913 2743977 + Identifier 2743913 2743925 + Identifier 2743926 2743977 + StringLiteral 2743978 2743990 + ExpressionStatement 2744003 2744056 + CallExpression 2744003 2744055 + Identifier 2744003 2744034 + PropertyAccessExpression 2744035 2744054 + Identifier 2744035 2744039 + Identifier 2744040 2744054 + ExpressionStatement 2744056 2745298 + CallExpression 2744056 2745297 + Identifier 2744056 2744083 + ArrowFunction 2744084 2745296 + EqualsGreaterThanToken 2744086 2744089 + Block 2744089 2745296 + ExpressionStatement 2744091 2744180 + CallExpression 2744091 2744179 + Identifier 2744091 2744128 + PropertyAccessExpression 2744129 2744138 + Identifier 2744129 2744133 + Identifier 2744134 2744138 + PropertyAccessExpression 2744139 2744178 + Identifier 2744139 2744151 + Identifier 2744152 2744178 + ExpressionStatement 2744180 2744235 + CallExpression 2744180 2744234 + Identifier 2744180 2744228 + Identifier 2744229 2744233 + VariableStatement 2744235 2744293 + VariableDeclarationList 2744235 2744292 + VariableDeclaration 2744254 2744292 + Identifier 2744254 2744261 + CallExpression 2744263 2744292 + Identifier 2744263 2744286 + Identifier 2744287 2744291 + ExpressionStatement 2744293 2744348 + CallExpression 2744293 2744347 + Identifier 2744293 2744339 + Identifier 2744340 2744346 + VariableStatement 2744348 2744519 + VariableDeclarationList 2744348 2744518 + VariableDeclaration 2744413 2744518 + Identifier 2744413 2744432 + CallExpression 2744434 2744518 + Identifier 2744434 2744455 + TypeReference 2744456 2744476 + Identifier 2744456 2744476 + Identifier 2744478 2744484 + PropertyAccessExpression 2744485 2744517 + Identifier 2744485 2744496 + Identifier 2744497 2744517 + IfStatement 2744519 2745225 + BinaryExpression 2744537 2744564 + Identifier 2744537 2744541 + EqualsEqualsEqualsToken 2744541 2744545 + Identifier 2744545 2744564 + Block 2744565 2745225 + VariableStatement 2744567 2744647 + VariableDeclarationList 2744567 2744646 + VariableDeclaration 2744590 2744646 + Identifier 2744590 2744595 + AsExpression 2744597 2744646 + CallExpression 2744597 2744629 + Identifier 2744597 2744621 + Identifier 2744622 2744628 + TypeReference 2744632 2744646 + Identifier 2744632 2744646 + VariableStatement 2744647 2744716 + VariableDeclarationList 2744647 2744715 + VariableDeclaration 2744670 2744715 + Identifier 2744670 2744683 + CallExpression 2744685 2744715 + Identifier 2744685 2744709 + Identifier 2744710 2744714 + IfStatement 2744716 2745210 + CallExpression 2744808 2744861 + Identifier 2744808 2744844 + Identifier 2744845 2744849 + PropertyAccessExpression 2744850 2744860 + Identifier 2744850 2744855 + Identifier 2744856 2744860 + Block 2744862 2745210 + ForOfStatement 2744864 2745133 + VariableDeclarationList 2744891 2744905 + VariableDeclaration 2744896 2744905 + Identifier 2744896 2744905 + CallExpression 2744908 2744927 + Identifier 2744908 2744921 + Identifier 2744922 2744926 + Block 2744928 2745133 + ExpressionStatement 2744930 2745110 + CallExpression 2744930 2745109 + Identifier 2744930 2744977 + Identifier 2744978 2744990 + CallExpression 2744991 2745040 + Identifier 2744991 2745015 + Identifier 2745016 2745024 + PropertyAccessExpression 2745025 2745039 + Identifier 2745025 2745030 + Identifier 2745031 2745039 + PropertyAccessExpression 2745041 2745051 + Identifier 2745041 2745046 + Identifier 2745047 2745051 + PropertyAccessExpression 2745052 2745108 + Identifier 2745052 2745064 + Identifier 2745065 2745108 + ExpressionStatement 2745133 2745191 + CallExpression 2745133 2745190 + Identifier 2745133 2745176 + Identifier 2745177 2745181 + Identifier 2745182 2745189 + ExpressionStatement 2745225 2745285 + CallExpression 2745225 2745284 + Identifier 2745225 2745278 + Identifier 2745279 2745283 + ExpressionStatement 2745298 2745727 + CallExpression 2745298 2745726 + Identifier 2745298 2745315 + CallExpression 2745316 2745347 + Identifier 2745316 2745341 + Identifier 2745342 2745346 + ArrowFunction 2745348 2745725 + Parameter 2745348 2745364 + Identifier 2745348 2745364 + EqualsGreaterThanToken 2745364 2745367 + Block 2745367 2745725 + IfStatement 2745369 2745660 + BinaryExpression 2745387 2745485 + PrefixUnaryExpression 2745387 2745438 + CallExpression 2745388 2745438 + Identifier 2745388 2745410 + PropertyAccessExpression 2745411 2745437 + Identifier 2745411 2745426 + Identifier 2745427 2745437 + BarBarToken 2745438 2745441 + CallExpression 2745441 2745485 + Identifier 2745441 2745457 + PropertyAccessExpression 2745458 2745484 + Identifier 2745458 2745473 + Identifier 2745474 2745484 + Block 2745486 2745660 + ExpressionStatement 2745488 2745645 + CallExpression 2745488 2745644 + Identifier 2745488 2745511 + PropertyAccessExpression 2745512 2745538 + Identifier 2745512 2745527 + Identifier 2745528 2745538 + PropertyAccessExpression 2745539 2745643 + Identifier 2745539 2745551 + Identifier 2745552 2745643 + ExpressionStatement 2745660 2745714 + CallExpression 2745660 2745713 + Identifier 2745660 2745696 + Identifier 2745697 2745712 + ExpressionStatement 2745727 2745781 + CallExpression 2745727 2745780 + Identifier 2745727 2745746 + PropertyAccessExpression 2745747 2745759 + Identifier 2745747 2745751 + Identifier 2745752 2745759 + Identifier 2745760 2745779 + ExpressionStatement 2745781 2745942 + CallExpression 2745781 2745941 + Identifier 2745781 2745810 + ArrowFunction 2745811 2745940 + EqualsGreaterThanToken 2745813 2745816 + Block 2745816 2745940 + ExpressionStatement 2745818 2745875 + CallExpression 2745818 2745874 + Identifier 2745818 2745868 + Identifier 2745869 2745873 + ExpressionStatement 2745875 2745929 + CallExpression 2745875 2745928 + Identifier 2745875 2745922 + Identifier 2745923 2745927 + FunctionDeclaration 2745949 2747107 + Identifier 2745965 2745991 + Parameter 2745992 2746018 + Identifier 2745992 2745996 + TypeReference 2745997 2746018 + Identifier 2745997 2746018 + Block 2746019 2747107 + ExpressionStatement 2746021 2746088 + CallExpression 2746021 2746087 + Identifier 2746021 2746081 + Identifier 2746082 2746086 + ExpressionStatement 2746088 2746174 + CallExpression 2746088 2746173 + Identifier 2746088 2746121 + PropertyAccessExpression 2746122 2746131 + Identifier 2746122 2746126 + Identifier 2746127 2746131 + PropertyAccessExpression 2746132 2746172 + Identifier 2746132 2746144 + Identifier 2746145 2746172 + IfStatement 2746174 2746350 + PrefixUnaryExpression 2746188 2746224 + CallExpression 2746189 2746224 + Identifier 2746189 2746211 + PropertyAccessExpression 2746212 2746223 + Identifier 2746212 2746216 + Identifier 2746217 2746223 + Block 2746225 2746350 + ExpressionStatement 2746227 2746339 + CallExpression 2746227 2746338 + Identifier 2746227 2746259 + Identifier 2746260 2746264 + PropertyAccessExpression 2746265 2746329 + Identifier 2746265 2746277 + Identifier 2746278 2746329 + StringLiteral 2746330 2746337 + ExpressionStatement 2746350 2746399 + CallExpression 2746350 2746398 + Identifier 2746350 2746392 + Identifier 2746393 2746397 + ExpressionStatement 2746399 2746450 + CallExpression 2746399 2746449 + Identifier 2746399 2746428 + PropertyAccessExpression 2746429 2746448 + Identifier 2746429 2746433 + Identifier 2746434 2746448 + IfStatement 2746450 2747100 + BinaryExpression 2746464 2746510 + PropertyAccessExpression 2746464 2746478 + PropertyAccessExpression 2746464 2746473 + Identifier 2746464 2746468 + Identifier 2746469 2746473 + Identifier 2746474 2746478 + EqualsEqualsEqualsToken 2746478 2746482 + PropertyAccessExpression 2746482 2746510 + Identifier 2746482 2746493 + Identifier 2746494 2746510 + Block 2746511 2746975 + VariableStatement 2746513 2746582 + VariableDeclarationList 2746513 2746581 + VariableDeclaration 2746532 2746581 + Identifier 2746532 2746551 + CallExpression 2746553 2746581 + Identifier 2746553 2746560 + PropertyAccessExpression 2746561 2746580 + Identifier 2746561 2746565 + Identifier 2746566 2746580 + VariableStatement 2746582 2746790 + VariableDeclarationList 2746582 2746789 + VariableDeclaration 2746601 2746789 + Identifier 2746601 2746607 + ConditionalExpression 2746609 2746789 + BinaryExpression 2746609 2746634 + Identifier 2746609 2746628 + EqualsEqualsEqualsToken 2746628 2746632 + NumericLiteral 2746632 2746634 + QuestionToken 2746634 2746636 + BinaryExpression 2746636 2746686 + PropertyAccessExpression 2746636 2746658 + PropertyAccessExpression 2746636 2746646 + Identifier 2746636 2746641 + Identifier 2746642 2746646 + Identifier 2746647 2746658 + EqualsEqualsEqualsToken 2746658 2746662 + StringLiteral 2746662 2746686 + ColonToken 2746686 2746688 + BinaryExpression 2746688 2746789 + BinaryExpression 2746688 2746730 + Identifier 2746688 2746724 + EqualsEqualsEqualsToken 2746724 2746728 + NumericLiteral 2746728 2746730 + AmpersandAmpersandToken 2746730 2746733 + CallExpression 2746733 2746789 + PropertyAccessExpression 2746733 2746756 + Identifier 2746733 2746752 + Identifier 2746753 2746756 + AsExpression 2746757 2746788 + PropertyAccessExpression 2746757 2746778 + PropertyAccessExpression 2746757 2746766 + Identifier 2746757 2746761 + Identifier 2746762 2746766 + Identifier 2746767 2746778 + StringKeyword 2746781 2746788 + IfStatement 2746790 2746964 + PrefixUnaryExpression 2746808 2746814 + Identifier 2746809 2746814 + Block 2746815 2746964 + ExpressionStatement 2746817 2746949 + CallExpression 2746817 2746948 + Identifier 2746817 2746840 + PropertyAccessExpression 2746841 2746850 + Identifier 2746841 2746845 + Identifier 2746846 2746850 + PropertyAccessExpression 2746851 2746947 + Identifier 2746851 2746863 + Identifier 2746864 2746947 + Block 2746989 2747100 + ExpressionStatement 2746991 2747035 + CallExpression 2746991 2747034 + Identifier 2746991 2747023 + PropertyAccessExpression 2747024 2747033 + Identifier 2747024 2747028 + Identifier 2747029 2747033 + ExpressionStatement 2747035 2747089 + CallExpression 2747035 2747088 + Identifier 2747035 2747082 + Identifier 2747083 2747087 + FunctionDeclaration 2747107 2747822 + Identifier 2747123 2747147 + Parameter 2747148 2747169 + Identifier 2747148 2747152 + TypeReference 2747153 2747169 + Identifier 2747153 2747169 + Block 2747170 2747822 + VariableStatement 2747172 2747219 + VariableDeclarationList 2747172 2747218 + VariableDeclaration 2747187 2747218 + Identifier 2747187 2747197 + CallExpression 2747199 2747218 + Identifier 2747199 2747212 + Identifier 2747213 2747217 + IfStatement 2747219 2747815 + PrefixUnaryExpression 2747233 2747287 + ParenthesizedExpression 2747234 2747287 + BinaryExpression 2747235 2747286 + PropertyAccessExpression 2747235 2747250 + Identifier 2747235 2747244 + Identifier 2747245 2747250 + AmpersandToken 2747250 2747252 + PropertyAccessExpression 2747252 2747286 + Identifier 2747252 2747267 + Identifier 2747268 2747286 + Block 2747288 2747815 + ExpressionStatement 2747290 2747357 + BinaryExpression 2747290 2747356 + PropertyAccessExpression 2747290 2747319 + Identifier 2747290 2747313 + Identifier 2747314 2747319 + BarEqualsToken 2747319 2747322 + PropertyAccessExpression 2747322 2747356 + Identifier 2747322 2747337 + Identifier 2747338 2747356 + VariableStatement 2747357 2747409 + VariableDeclarationList 2747357 2747408 + VariableDeclaration 2747374 2747408 + Identifier 2747374 2747384 + UnionType 2747385 2747404 + NumberKeyword 2747385 2747392 + UndefinedKeyword 2747394 2747404 + NumericLiteral 2747406 2747408 + VariableStatement 2747409 2747460 + VariableDeclarationList 2747409 2747459 + VariableDeclaration 2747426 2747459 + Identifier 2747426 2747435 + UnionType 2747436 2747459 + TypeReference 2747436 2747447 + Identifier 2747436 2747447 + UndefinedKeyword 2747449 2747459 + ForOfStatement 2747460 2747804 + VariableDeclarationList 2747479 2747491 + VariableDeclaration 2747484 2747491 + Identifier 2747484 2747491 + PropertyAccessExpression 2747494 2747507 + Identifier 2747494 2747499 + Identifier 2747500 2747507 + Block 2747508 2747804 + VariableStatement 2747510 2747595 + VariableDeclarationList 2747510 2747594 + VariableDeclaration 2747533 2747594 + Identifier 2747533 2747540 + CallExpression 2747542 2747594 + Identifier 2747542 2747565 + Identifier 2747566 2747572 + Identifier 2747573 2747583 + Identifier 2747584 2747593 + ExpressionStatement 2747595 2747659 + BinaryExpression 2747595 2747658 + PropertyAccessExpression 2747595 2747649 + CallExpression 2747595 2747633 + Identifier 2747595 2747625 + Identifier 2747626 2747632 + Identifier 2747634 2747649 + EqualsToken 2747649 2747651 + Identifier 2747651 2747658 + ExpressionStatement 2747659 2747753 + BinaryExpression 2747659 2747752 + Identifier 2747659 2747686 + EqualsToken 2747686 2747688 + ConditionalExpression 2747688 2747752 + BinaryExpression 2747688 2747721 + TypeOfExpression 2747688 2747708 + PropertyAccessExpression 2747695 2747708 + Identifier 2747695 2747702 + Identifier 2747703 2747708 + EqualsEqualsEqualsToken 2747708 2747712 + StringLiteral 2747712 2747721 + QuestionToken 2747721 2747723 + BinaryExpression 2747723 2747740 + PropertyAccessExpression 2747723 2747736 + Identifier 2747723 2747730 + Identifier 2747731 2747736 + PlusToken 2747736 2747738 + NumericLiteral 2747738 2747740 + ColonToken 2747740 2747742 + Identifier 2747742 2747752 + ExpressionStatement 2747753 2747789 + BinaryExpression 2747753 2747788 + Identifier 2747753 2747779 + EqualsToken 2747779 2747781 + Identifier 2747781 2747788 + FunctionDeclaration 2747822 2749966 + Identifier 2747838 2747861 + Parameter 2747862 2747880 + Identifier 2747862 2747868 + TypeReference 2747869 2747880 + Identifier 2747869 2747880 + Parameter 2747881 2747911 + Identifier 2747881 2747891 + UnionType 2747892 2747911 + NumberKeyword 2747892 2747899 + UndefinedKeyword 2747901 2747911 + Parameter 2747912 2747945 + Identifier 2747912 2747921 + UnionType 2747922 2747945 + TypeReference 2747922 2747933 + Identifier 2747922 2747933 + UndefinedKeyword 2747935 2747945 + TypeReference 2747947 2747963 + Identifier 2747947 2747963 + Block 2747963 2749966 + IfStatement 2747965 2748400 + CallExpression 2747979 2748016 + Identifier 2747979 2748003 + PropertyAccessExpression 2748004 2748015 + Identifier 2748004 2748010 + Identifier 2748011 2748015 + Block 2748017 2748125 + ExpressionStatement 2748019 2748114 + CallExpression 2748019 2748113 + Identifier 2748019 2748038 + PropertyAccessExpression 2748039 2748050 + Identifier 2748039 2748045 + Identifier 2748046 2748050 + PropertyAccessExpression 2748051 2748112 + Identifier 2748051 2748063 + Identifier 2748064 2748112 + Block 2748139 2748400 + VariableStatement 2748141 2748203 + VariableDeclarationList 2748141 2748202 + VariableDeclaration 2748160 2748202 + Identifier 2748160 2748165 + CallExpression 2748167 2748202 + Identifier 2748167 2748189 + PropertyAccessExpression 2748190 2748201 + Identifier 2748190 2748196 + Identifier 2748197 2748201 + IfStatement 2748203 2748389 + BinaryExpression 2748221 2748279 + CallExpression 2748221 2748247 + Identifier 2748221 2748241 + Identifier 2748242 2748246 + AmpersandAmpersandToken 2748247 2748250 + PrefixUnaryExpression 2748250 2748279 + CallExpression 2748252 2748279 + Identifier 2748252 2748273 + Identifier 2748274 2748278 + Block 2748280 2748389 + ExpressionStatement 2748282 2748374 + CallExpression 2748282 2748373 + Identifier 2748282 2748305 + PropertyAccessExpression 2748306 2748317 + Identifier 2748306 2748312 + Identifier 2748313 2748317 + PropertyAccessExpression 2748318 2748372 + Identifier 2748318 2748330 + Identifier 2748331 2748372 + IfStatement 2748400 2748506 + PropertyAccessExpression 2748414 2748432 + Identifier 2748414 2748420 + Identifier 2748421 2748432 + Block 2748433 2748506 + ReturnStatement 2748435 2748495 + CallExpression 2748455 2748494 + Identifier 2748455 2748486 + Identifier 2748487 2748493 + IfStatement 2748506 2748848 + BinaryExpression 2748706 2748776 + BinaryExpression 2748706 2748745 + PropertyAccessExpression 2748706 2748725 + PropertyAccessExpression 2748706 2748719 + Identifier 2748706 2748712 + Identifier 2748713 2748719 + Identifier 2748720 2748725 + AmpersandToken 2748725 2748727 + PropertyAccessExpression 2748727 2748745 + Identifier 2748727 2748737 + Identifier 2748738 2748745 + AmpersandAmpersandToken 2748745 2748748 + PrefixUnaryExpression 2748748 2748776 + CallExpression 2748750 2748776 + Identifier 2748750 2748761 + PropertyAccessExpression 2748762 2748775 + Identifier 2748762 2748768 + Identifier 2748769 2748775 + Block 2748777 2748848 + ReturnStatement 2748779 2748837 + CallExpression 2748799 2748836 + Identifier 2748799 2748815 + Identifier 2748816 2748835 + IfStatement 2748848 2749439 + BinaryExpression 2749264 2749287 + Identifier 2749264 2749273 + EqualsEqualsEqualsToken 2749273 2749277 + Identifier 2749277 2749287 + Block 2749288 2749439 + ExpressionStatement 2749290 2749370 + CallExpression 2749290 2749369 + Identifier 2749290 2749309 + PropertyAccessExpression 2749310 2749321 + Identifier 2749310 2749316 + Identifier 2749317 2749321 + PropertyAccessExpression 2749322 2749368 + Identifier 2749322 2749334 + Identifier 2749335 2749368 + ReturnStatement 2749370 2749428 + CallExpression 2749390 2749427 + Identifier 2749390 2749406 + Identifier 2749407 2749426 + IfStatement 2749439 2749915 + BinaryExpression 2749453 2749513 + CallExpression 2749453 2749488 + Identifier 2749453 2749471 + Identifier 2749472 2749487 + AmpersandAmpersandToken 2749488 2749491 + PropertyAccessExpression 2749491 2749513 + Identifier 2749491 2749500 + QuestionDotToken 2749500 2749502 + Identifier 2749502 2749513 + Block 2749514 2749915 + VariableStatement 2749516 2749577 + VariableDeclarationList 2749516 2749576 + VariableDeclaration 2749535 2749576 + Identifier 2749535 2749545 + CallExpression 2749547 2749576 + Identifier 2749547 2749566 + Identifier 2749567 2749575 + IfStatement 2749577 2749904 + PrefixUnaryExpression 2749595 2749666 + ParenthesizedExpression 2749596 2749666 + BinaryExpression 2749597 2749665 + BinaryExpression 2749597 2749632 + TypeOfExpression 2749597 2749619 + PropertyAccessExpression 2749603 2749619 + Identifier 2749603 2749613 + Identifier 2749614 2749619 + EqualsEqualsEqualsToken 2749619 2749623 + StringLiteral 2749623 2749632 + AmpersandAmpersandToken 2749632 2749635 + PrefixUnaryExpression 2749635 2749665 + PropertyAccessExpression 2749637 2749665 + Identifier 2749637 2749646 + Identifier 2749647 2749665 + Block 2749667 2749904 + ExpressionStatement 2749669 2749889 + CallExpression 2749669 2749888 + Identifier 2749669 2749692 + PropertyAccessExpression 2749693 2749726 + Identifier 2749693 2749721 + Identifier 2749722 2749726 + PropertyAccessExpression 2749727 2749868 + Identifier 2749727 2749760 + Identifier 2749761 2749868 + ReturnStatement 2749915 2749959 + CallExpression 2749931 2749958 + Identifier 2749931 2749947 + Identifier 2749948 2749957 + FunctionDeclaration 2749966 2751752 + Identifier 2749982 2750013 + Parameter 2750014 2750032 + Identifier 2750014 2750020 + TypeReference 2750021 2750032 + Identifier 2750021 2750032 + TypeReference 2750034 2750050 + Identifier 2750034 2750050 + Block 2750050 2751752 + VariableStatement 2750052 2750109 + VariableDeclarationList 2750052 2750108 + VariableDeclaration 2750067 2750108 + Identifier 2750067 2750079 + CallExpression 2750081 2750108 + Identifier 2750081 2750093 + PropertyAccessExpression 2750094 2750107 + Identifier 2750094 2750100 + Identifier 2750101 2750107 + VariableStatement 2750109 2750159 + VariableDeclarationList 2750109 2750158 + VariableDeclaration 2750124 2750158 + Identifier 2750124 2750136 + NonNullExpression 2750138 2750158 + PropertyAccessExpression 2750138 2750157 + Identifier 2750138 2750145 + Identifier 2750146 2750157 + VariableStatement 2750159 2750214 + VariableDeclarationList 2750159 2750213 + VariableDeclaration 2750174 2750213 + Identifier 2750174 2750181 + CallExpression 2750183 2750213 + Identifier 2750183 2750192 + Identifier 2750193 2750204 + Identifier 2750205 2750212 + IfStatement 2750214 2751721 + BinaryExpression 2750228 2750254 + PropertyAccessExpression 2750228 2750240 + Identifier 2750228 2750234 + Identifier 2750235 2750240 + ExclamationEqualsEqualsToken 2750240 2750244 + Identifier 2750244 2750254 + Block 2750255 2751167 + IfStatement 2750257 2751156 + BinaryExpression 2750275 2750349 + BinaryExpression 2750275 2750322 + Identifier 2750275 2750286 + AmpersandAmpersandToken 2750286 2750289 + BinaryExpression 2750289 2750322 + TypeOfExpression 2750289 2750309 + PropertyAccessExpression 2750296 2750309 + Identifier 2750296 2750303 + Identifier 2750304 2750309 + EqualsEqualsEqualsToken 2750309 2750313 + StringLiteral 2750313 2750322 + AmpersandAmpersandToken 2750322 2750325 + PrefixUnaryExpression 2750325 2750349 + CallExpression 2750327 2750349 + Identifier 2750327 2750335 + PropertyAccessExpression 2750336 2750348 + Identifier 2750336 2750342 + Identifier 2750343 2750348 + Block 2750350 2750699 + ExpressionStatement 2750352 2750684 + CallExpression 2750352 2750683 + Identifier 2750352 2750375 + Identifier 2750376 2750409 + ConditionalExpression 2750410 2750663 + CallExpression 2750410 2750451 + Identifier 2750410 2750437 + PropertyAccessExpression 2750438 2750450 + Identifier 2750438 2750444 + Identifier 2750445 2750450 + QuestionToken 2750451 2750453 + PropertyAccessExpression 2750453 2750558 + Identifier 2750453 2750490 + Identifier 2750491 2750558 + ColonToken 2750558 2750560 + PropertyAccessExpression 2750560 2750663 + Identifier 2750560 2750597 + Identifier 2750598 2750663 + IfStatement 2750717 2751156 + BinaryExpression 2750722 2750826 + BinaryExpression 2750722 2750793 + CallExpression 2750722 2750757 + Identifier 2750722 2750740 + Identifier 2750741 2750756 + AmpersandAmpersandToken 2750757 2750760 + BinaryExpression 2750760 2750793 + TypeOfExpression 2750760 2750780 + PropertyAccessExpression 2750767 2750780 + Identifier 2750767 2750774 + Identifier 2750775 2750780 + EqualsEqualsEqualsToken 2750780 2750784 + StringLiteral 2750784 2750793 + AmpersandAmpersandToken 2750793 2750796 + PrefixUnaryExpression 2750796 2750826 + PropertyAccessExpression 2750798 2750826 + Identifier 2750798 2750804 + Identifier 2750805 2750826 + Block 2750827 2751156 + ExpressionStatement 2750829 2751141 + CallExpression 2750829 2751140 + Identifier 2750829 2750852 + Identifier 2750853 2750886 + PropertyAccessExpression 2750887 2751028 + Identifier 2750887 2750920 + Identifier 2750921 2751028 + TemplateExpression 2751029 2751120 + TemplateHead 2751029 2751054 + TemplateSpan 2751054 2751084 + CallExpression 2751054 2751080 + Identifier 2751054 2751060 + PropertyAccessExpression 2751061 2751079 + PropertyAccessExpression 2751061 2751074 + Identifier 2751061 2751067 + Identifier 2751068 2751074 + Identifier 2751075 2751079 + TemplateMiddle 2751080 2751084 + TemplateSpan 2751084 2751120 + CallExpression 2751084 2751118 + Identifier 2751084 2751105 + PropertyAccessExpression 2751106 2751117 + Identifier 2751106 2751112 + Identifier 2751113 2751117 + TemplateTail 2751118 2751120 + IfStatement 2751181 2751721 + Identifier 2751186 2751197 + Block 2751198 2751317 + ExpressionStatement 2751200 2751306 + CallExpression 2751200 2751305 + Identifier 2751200 2751219 + Identifier 2751220 2751231 + PropertyAccessExpression 2751232 2751304 + Identifier 2751232 2751244 + Identifier 2751245 2751304 + IfStatement 2751331 2751721 + BinaryExpression 2751336 2751375 + PropertyAccessExpression 2751336 2751355 + PropertyAccessExpression 2751336 2751349 + Identifier 2751336 2751342 + Identifier 2751343 2751349 + Identifier 2751350 2751355 + AmpersandToken 2751355 2751357 + PropertyAccessExpression 2751357 2751375 + Identifier 2751357 2751367 + Identifier 2751368 2751375 + Block 2751376 2751511 + ExpressionStatement 2751378 2751500 + CallExpression 2751378 2751499 + Identifier 2751378 2751397 + Identifier 2751398 2751409 + PropertyAccessExpression 2751410 2751498 + Identifier 2751410 2751422 + Identifier 2751423 2751498 + Block 2751525 2751721 + ExpressionStatement 2751527 2751710 + CallExpression 2751527 2751709 + Identifier 2751527 2751562 + CallExpression 2751563 2751591 + Identifier 2751563 2751578 + Identifier 2751579 2751590 + Identifier 2751592 2751603 + Identifier 2751604 2751616 + PropertyAccessExpression 2751617 2751708 + Identifier 2751617 2751629 + Identifier 2751630 2751708 + ReturnStatement 2751721 2751745 + Identifier 2751737 2751744 + FunctionDeclaration 2751752 2753943 + Identifier 2751768 2751797 + Parameter 2751798 2751824 + Identifier 2751798 2751802 + TypeReference 2751803 2751824 + Identifier 2751803 2751824 + Parameter 2751825 2751848 + Identifier 2751825 2751834 + QuestionToken 2751834 2751835 + TypeReference 2751836 2751848 + Identifier 2751836 2751848 + Block 2751849 2753943 + VariableStatement 2751851 2751942 + VariableDeclarationList 2751851 2751941 + VariableDeclaration 2751866 2751941 + Identifier 2751866 2751873 + CallExpression 2751875 2751941 + Identifier 2751875 2751893 + Identifier 2751894 2751898 + PropertyAccessExpression 2751899 2751917 + Identifier 2751899 2751911 + Identifier 2751912 2751917 + TrueKeyword 2751918 2751940 + IfStatement 2751942 2752009 + PrefixUnaryExpression 2751956 2751963 + Identifier 2751957 2751963 + ReturnStatement 2751964 2752009 + CallExpression 2751971 2752008 + Identifier 2751971 2751987 + Identifier 2751988 2752007 + IfStatement 2752009 2752708 + BinaryExpression 2752025 2752060 + PropertyAccessExpression 2752025 2752034 + Identifier 2752025 2752029 + Identifier 2752030 2752034 + EqualsEqualsEqualsToken 2752034 2752038 + PropertyAccessExpression 2752038 2752060 + Identifier 2752038 2752049 + Identifier 2752050 2752060 + Block 2752061 2752708 + VariableStatement 2752063 2752101 + VariableDeclarationList 2752063 2752100 + VariableDeclaration 2752082 2752100 + Identifier 2752082 2752093 + Identifier 2752095 2752100 + IfStatement 2752101 2752697 + BinaryExpression 2752119 2752265 + CallExpression 2752119 2752164 + Identifier 2752119 2752140 + PropertyAccessExpression 2752141 2752163 + Identifier 2752141 2752151 + Identifier 2752152 2752163 + AmpersandAmpersandToken 2752164 2752167 + ParenthesizedExpression 2752167 2752265 + BinaryExpression 2752169 2752264 + Identifier 2752169 2752175 + EqualsEqualsEqualsToken 2752175 2752179 + CallExpression 2752179 2752264 + Identifier 2752179 2752195 + PropertyAccessExpression 2752196 2752218 + Identifier 2752196 2752206 + Identifier 2752207 2752218 + PropertyAccessExpression 2752219 2752237 + Identifier 2752219 2752231 + Identifier 2752232 2752237 + Identifier 2752238 2752263 + Block 2752266 2752697 + ReturnStatement 2752268 2752682 + CallExpression 2752605 2752681 + Identifier 2752605 2752621 + PrefixUnaryExpression 2752622 2752647 + ParenthesizedExpression 2752623 2752647 + PropertyAccessExpression 2752624 2752646 + Identifier 2752624 2752634 + Identifier 2752635 2752646 + FalseKeyword 2752648 2752680 + IfStatement 2752708 2752910 + BinaryExpression 2752724 2752761 + PropertyAccessExpression 2752724 2752736 + Identifier 2752724 2752730 + Identifier 2752731 2752736 + AmpersandToken 2752736 2752738 + PropertyAccessExpression 2752738 2752761 + Identifier 2752738 2752750 + Identifier 2752751 2752761 + Block 2752762 2752910 + ReturnStatement 2752764 2752899 + ConditionalExpression 2752784 2752898 + Identifier 2752784 2752793 + QuestionToken 2752793 2752795 + CallExpression 2752795 2752838 + Identifier 2752795 2752814 + Identifier 2752815 2752819 + Identifier 2752820 2752827 + Identifier 2752828 2752837 + ColonToken 2752838 2752840 + CallExpression 2752840 2752898 + Identifier 2752840 2752859 + AsExpression 2752860 2752897 + PropertyAccessExpression 2752860 2752883 + Identifier 2752860 2752866 + Identifier 2752867 2752883 + TypeReference 2752886 2752897 + Identifier 2752886 2752897 + IfStatement 2752910 2753882 + CallExpression 2752924 2752950 + Identifier 2752924 2752942 + Identifier 2752943 2752949 + Block 2752951 2753882 + VariableStatement 2752953 2753011 + VariableDeclarationList 2752953 2753010 + VariableDeclaration 2752972 2753010 + Identifier 2752972 2752984 + PropertyAccessExpression 2752986 2753010 + Identifier 2752986 2752993 + Identifier 2752994 2753010 + IfStatement 2753011 2753871 + BinaryExpression 2753029 2753230 + BinaryExpression 2753029 2753126 + BinaryExpression 2753029 2753099 + BinaryExpression 2753029 2753078 + Identifier 2753029 2753040 + AmpersandAmpersandToken 2753040 2753043 + CallExpression 2753043 2753078 + Identifier 2753043 2753065 + Identifier 2753066 2753077 + AmpersandAmpersandToken 2753078 2753081 + PrefixUnaryExpression 2753081 2753099 + PropertyAccessExpression 2753083 2753099 + Identifier 2753083 2753094 + Identifier 2753095 2753099 + AmpersandAmpersandToken 2753099 2753102 + PropertyAccessExpression 2753102 2753126 + Identifier 2753102 2753114 + Identifier 2753115 2753126 + AmpersandAmpersandToken 2753126 2753129 + ParenthesizedExpression 2753129 2753230 + BinaryExpression 2753131 2753229 + PrefixUnaryExpression 2753131 2753140 + Identifier 2753132 2753140 + BarBarToken 2753140 2753143 + BinaryExpression 2753143 2753229 + BinaryExpression 2753143 2753168 + Identifier 2753143 2753155 + ExclamationEqualsEqualsToken 2753155 2753159 + Identifier 2753159 2753168 + AmpersandAmpersandToken 2753168 2753171 + CallExpression 2753171 2753229 + Identifier 2753171 2753206 + Identifier 2753207 2753218 + Identifier 2753219 2753228 + Block 2753231 2753871 + VariableStatement 2753233 2753313 + VariableDeclarationList 2753233 2753312 + VariableDeclaration 2753256 2753312 + Identifier 2753256 2753263 + CallExpression 2753265 2753312 + Identifier 2753265 2753274 + PropertyAccessExpression 2753275 2753298 + Identifier 2753275 2753286 + Identifier 2753287 2753298 + Identifier 2753299 2753311 + IfStatement 2753313 2753712 + BinaryExpression 2753335 2753413 + Identifier 2753335 2753343 + AmpersandAmpersandToken 2753343 2753346 + BinaryExpression 2753346 2753413 + CallExpression 2753346 2753376 + Identifier 2753346 2753366 + Identifier 2753367 2753375 + ExclamationEqualsEqualsToken 2753376 2753380 + CallExpression 2753380 2753413 + Identifier 2753380 2753400 + Identifier 2753401 2753412 + Block 2753414 2753712 + ReturnStatement 2753416 2753693 + CallExpression 2753444 2753692 + Identifier 2753444 2753460 + PropertyAccessExpression 2753461 2753499 + Identifier 2753461 2753493 + Identifier 2753494 2753499 + FalseKeyword 2753500 2753557 + TrueKeyword 2753558 2753611 + TrueKeyword 2753612 2753668 + ReturnStatement 2753712 2753856 + CallExpression 2753736 2753855 + Identifier 2753736 2753752 + PropertyAccessExpression 2753753 2753765 + Identifier 2753753 2753759 + Identifier 2753760 2753765 + PropertyAccessExpression 2753766 2753795 + Identifier 2753766 2753773 + Identifier 2753774 2753795 + PropertyAccessExpression 2753796 2753822 + Identifier 2753796 2753803 + Identifier 2753804 2753822 + TrueKeyword 2753823 2753854 + ReturnStatement 2753882 2753936 + CallExpression 2753898 2753935 + Identifier 2753898 2753914 + Identifier 2753915 2753934 + FunctionDeclaration 2753943 2754912 + Identifier 2753959 2753991 + Parameter 2753992 2754021 + Identifier 2753992 2753996 + TypeReference 2753997 2754021 + Identifier 2753997 2754021 + Parameter 2754022 2754045 + Identifier 2754022 2754031 + QuestionToken 2754031 2754032 + TypeReference 2754033 2754045 + Identifier 2754033 2754045 + Block 2754046 2754912 + VariableStatement 2754048 2754087 + VariableDeclarationList 2754048 2754086 + VariableDeclaration 2754063 2754086 + Identifier 2754063 2754068 + PropertyAccessExpression 2754070 2754086 + Identifier 2754070 2754075 + Identifier 2754076 2754086 + IfStatement 2754087 2754851 + BinaryExpression 2754101 2754177 + CallExpression 2754101 2754129 + Identifier 2754101 2754123 + Identifier 2754124 2754128 + AmpersandAmpersandToken 2754129 2754132 + CallExpression 2754132 2754177 + Identifier 2754132 2754152 + PropertyAccessExpression 2754153 2754176 + Identifier 2754153 2754157 + Identifier 2754158 2754176 + Block 2754178 2754851 + VariableStatement 2754180 2754279 + VariableDeclarationList 2754180 2754278 + VariableDeclaration 2754199 2754278 + Identifier 2754199 2754210 + CallExpression 2754212 2754278 + Identifier 2754212 2754230 + Identifier 2754231 2754235 + PropertyAccessExpression 2754236 2754254 + Identifier 2754236 2754248 + Identifier 2754249 2754254 + TrueKeyword 2754255 2754277 + IfStatement 2754279 2754840 + BinaryExpression 2754297 2754346 + Identifier 2754297 2754307 + AmpersandAmpersandToken 2754307 2754310 + BinaryExpression 2754310 2754346 + PropertyAccessExpression 2754310 2754327 + Identifier 2754310 2754321 + Identifier 2754322 2754327 + AmpersandToken 2754327 2754329 + PropertyAccessExpression 2754329 2754346 + Identifier 2754329 2754341 + Identifier 2754342 2754346 + Block 2754347 2754840 + VariableStatement 2754349 2754435 + VariableDeclarationList 2754349 2754434 + VariableDeclaration 2754372 2754434 + Identifier 2754372 2754377 + CallExpression 2754379 2754434 + Identifier 2754379 2754404 + PropertyAccessExpression 2754405 2754433 + PropertyAccessExpression 2754405 2754428 + Identifier 2754405 2754409 + Identifier 2754410 2754428 + Identifier 2754429 2754433 + VariableStatement 2754435 2754498 + VariableDeclarationList 2754435 2754497 + VariableDeclaration 2754458 2754497 + Identifier 2754458 2754465 + CallExpression 2754467 2754497 + PropertyAccessExpression 2754467 2754491 + NonNullExpression 2754467 2754487 + PropertyAccessExpression 2754467 2754486 + Identifier 2754467 2754478 + Identifier 2754479 2754486 + Identifier 2754488 2754491 + Identifier 2754492 2754496 + IfStatement 2754498 2754825 + Identifier 2754520 2754526 + Block 2754527 2754825 + ExpressionStatement 2754529 2754663 + CallExpression 2754529 2754662 + PropertyAccessExpression 2754529 2754563 + Identifier 2754529 2754556 + Identifier 2754557 2754563 + BinaryExpression 2754564 2754661 + CallExpression 2754564 2754608 + Identifier 2754564 2754583 + PropertyAccessExpression 2754584 2754607 + Identifier 2754584 2754590 + Identifier 2754591 2754607 + EqualsEqualsEqualsToken 2754608 2754612 + CallExpression 2754612 2754661 + Identifier 2754612 2754632 + PropertyAccessExpression 2754633 2754660 + Identifier 2754633 2754643 + Identifier 2754644 2754660 + ReturnStatement 2754663 2754806 + ConditionalExpression 2754691 2754805 + Identifier 2754691 2754700 + QuestionToken 2754700 2754702 + CallExpression 2754702 2754745 + Identifier 2754702 2754721 + Identifier 2754722 2754726 + Identifier 2754727 2754734 + Identifier 2754735 2754744 + ColonToken 2754745 2754747 + CallExpression 2754747 2754805 + Identifier 2754747 2754766 + AsExpression 2754767 2754804 + PropertyAccessExpression 2754767 2754790 + Identifier 2754767 2754773 + Identifier 2754774 2754790 + TypeReference 2754793 2754804 + Identifier 2754793 2754804 + ReturnStatement 2754851 2754905 + CallExpression 2754867 2754904 + Identifier 2754867 2754883 + Identifier 2754884 2754903 + FunctionDeclaration 2754912 2755895 + Identifier 2754928 2754947 + Parameter 2754948 2754964 + Identifier 2754948 2754952 + TypeReference 2754953 2754964 + Identifier 2754953 2754964 + Parameter 2754965 2754980 + Identifier 2754965 2754972 + TypeReference 2754973 2754980 + Identifier 2754973 2754980 + Parameter 2754981 2755003 + Identifier 2754981 2754990 + TypeReference 2754991 2755003 + Identifier 2754991 2755003 + Block 2755004 2755895 + VariableStatement 2755006 2755060 + VariableDeclarationList 2755006 2755059 + VariableDeclaration 2755021 2755059 + Identifier 2755021 2755033 + PropertyAccessExpression 2755035 2755059 + Identifier 2755035 2755042 + Identifier 2755043 2755059 + IfStatement 2755060 2755290 + BinaryExpression 2755074 2755114 + PrefixUnaryExpression 2755074 2755086 + Identifier 2755075 2755086 + BarBarToken 2755086 2755089 + BinaryExpression 2755089 2755114 + Identifier 2755089 2755101 + EqualsEqualsEqualsToken 2755101 2755105 + Identifier 2755105 2755114 + Block 2755115 2755290 + ExpressionStatement 2755117 2755221 + CallExpression 2755117 2755220 + Identifier 2755117 2755136 + Identifier 2755137 2755141 + PropertyAccessExpression 2755142 2755195 + Identifier 2755142 2755154 + Identifier 2755155 2755195 + CallExpression 2755196 2755219 + Identifier 2755196 2755211 + Identifier 2755212 2755218 + ReturnStatement 2755221 2755279 + CallExpression 2755241 2755278 + Identifier 2755241 2755257 + Identifier 2755258 2755277 + IfStatement 2755290 2755592 + PrefixUnaryExpression 2755304 2755362 + CallExpression 2755305 2755362 + Identifier 2755305 2755339 + Identifier 2755340 2755351 + Identifier 2755352 2755361 + Block 2755363 2755592 + ExpressionStatement 2755365 2755531 + CallExpression 2755365 2755530 + Identifier 2755365 2755384 + Identifier 2755385 2755389 + PropertyAccessExpression 2755390 2755529 + Identifier 2755390 2755402 + Identifier 2755403 2755529 + ReturnStatement 2755531 2755581 + CallExpression 2755551 2755580 + Identifier 2755551 2755567 + NumericLiteral 2755568 2755579 + VariableStatement 2755592 2755662 + VariableDeclarationList 2755592 2755661 + VariableDeclaration 2755607 2755661 + Identifier 2755607 2755613 + CallExpression 2755615 2755661 + Identifier 2755615 2755634 + AsExpression 2755635 2755660 + Identifier 2755635 2755646 + TypeReference 2755649 2755660 + Identifier 2755649 2755660 + IfStatement 2755662 2755865 + BinaryExpression 2755676 2755714 + PropertyAccessExpression 2755676 2755691 + Identifier 2755676 2755684 + Identifier 2755685 2755691 + ExclamationEqualsEqualsToken 2755691 2755695 + PropertyAccessExpression 2755695 2755714 + Identifier 2755695 2755707 + Identifier 2755708 2755714 + Block 2755715 2755865 + ReturnStatement 2755717 2755854 + CallExpression 2755737 2755853 + Identifier 2755737 2755753 + PropertyAccessExpression 2755754 2755765 + Identifier 2755754 2755759 + Identifier 2755760 2755765 + PropertyAccessExpression 2755766 2755794 + Identifier 2755766 2755772 + Identifier 2755773 2755794 + PropertyAccessExpression 2755795 2755820 + Identifier 2755795 2755801 + Identifier 2755802 2755820 + TrueKeyword 2755821 2755852 + ReturnStatement 2755865 2755888 + Identifier 2755881 2755887 + FunctionDeclaration 2755895 2756032 + Identifier 2755911 2755932 + Parameter 2755933 2755954 + Identifier 2755933 2755937 + TypeReference 2755938 2755954 + Identifier 2755938 2755954 + Block 2755955 2756032 + ExpressionStatement 2755957 2756025 + CallExpression 2755957 2756024 + Identifier 2755957 2755984 + ArrowFunction 2755985 2756023 + EqualsGreaterThanToken 2755987 2755990 + CallExpression 2755990 2756023 + Identifier 2755990 2756017 + Identifier 2756018 2756022 + FunctionDeclaration 2756032 2758738 + Identifier 2756048 2756075 + Parameter 2756076 2756097 + Identifier 2756076 2756080 + TypeReference 2756081 2756097 + Identifier 2756081 2756097 + Block 2756098 2758738 + ExpressionStatement 2756100 2756167 + CallExpression 2756100 2756166 + Identifier 2756100 2756160 + Identifier 2756161 2756165 + ExpressionStatement 2756167 2756230 + CallExpression 2756167 2756229 + Identifier 2756167 2756212 + Identifier 2756213 2756217 + PropertyAccessExpression 2756218 2756228 + Identifier 2756218 2756223 + Identifier 2756224 2756228 + ExpressionStatement 2756230 2756279 + CallExpression 2756230 2756278 + Identifier 2756230 2756272 + Identifier 2756273 2756277 + ExpressionStatement 2756279 2756330 + CallExpression 2756279 2756329 + PropertyAccessExpression 2756279 2756309 + PropertyAccessExpression 2756279 2756301 + Identifier 2756279 2756293 + Identifier 2756294 2756301 + Identifier 2756302 2756309 + Identifier 2756310 2756328 + IfStatement 2756330 2756532 + BinaryExpression 2756346 2756417 + PropertyAccessExpression 2756346 2756380 + Identifier 2756346 2756361 + Identifier 2756362 2756380 + AmpersandAmpersandToken 2756380 2756383 + PrefixUnaryExpression 2756383 2756417 + ParenthesizedExpression 2756385 2756417 + BinaryExpression 2756386 2756416 + PropertyAccessExpression 2756386 2756396 + Identifier 2756386 2756390 + Identifier 2756391 2756396 + AmpersandToken 2756396 2756398 + PropertyAccessExpression 2756398 2756416 + Identifier 2756398 2756408 + Identifier 2756409 2756416 + Block 2756418 2756532 + ExpressionStatement 2756420 2756521 + CallExpression 2756420 2756520 + Identifier 2756420 2756439 + Identifier 2756440 2756444 + PropertyAccessExpression 2756445 2756519 + Identifier 2756445 2756457 + Identifier 2756458 2756519 + ExpressionStatement 2756532 2756574 + CallExpression 2756532 2756573 + Identifier 2756532 2756567 + Identifier 2756568 2756572 + VariableStatement 2756574 2756992 + VariableDeclarationList 2756574 2756991 + VariableDeclaration 2756949 2756991 + Identifier 2756949 2756960 + CallExpression 2756962 2756991 + Identifier 2756962 2756985 + Identifier 2756986 2756990 + VariableStatement 2756992 2757071 + VariableDeclarationList 2756992 2757070 + VariableDeclaration 2757007 2757070 + Identifier 2757007 2757024 + CallExpression 2757026 2757070 + Identifier 2757026 2757047 + Identifier 2757048 2757058 + PropertyAccessExpression 2757059 2757069 + Identifier 2757059 2757064 + Identifier 2757065 2757069 + IfStatement 2757071 2758731 + BinaryExpression 2757085 2757110 + Identifier 2757085 2757089 + EqualsEqualsEqualsToken 2757089 2757093 + Identifier 2757093 2757110 + Block 2757111 2758731 + IfStatement 2757113 2757661 + BinaryExpression 2757131 2757192 + PropertyAccessExpression 2757131 2757154 + Identifier 2757131 2757141 + Identifier 2757142 2757154 + AmpersandAmpersandToken 2757154 2757157 + BinaryExpression 2757157 2757192 + PropertyAccessExpression 2757157 2757188 + PropertyAccessExpression 2757157 2757181 + Identifier 2757157 2757168 + Identifier 2757169 2757181 + Identifier 2757182 2757188 + GreaterThanToken 2757188 2757190 + NumericLiteral 2757190 2757192 + Block 2757193 2757661 + VariableStatement 2757195 2757251 + VariableDeclarationList 2757195 2757250 + VariableDeclaration 2757218 2757250 + Identifier 2757218 2757230 + CallExpression 2757232 2757250 + Identifier 2757232 2757244 + Identifier 2757245 2757249 + ExpressionStatement 2757251 2757646 + CallExpression 2757251 2757645 + Identifier 2757251 2757356 + PropertyAccessExpression 2757357 2757380 + Identifier 2757357 2757367 + Identifier 2757368 2757380 + ArrowFunction 2757381 2757644 + Parameter 2757381 2757386 + Identifier 2757381 2757386 + EqualsGreaterThanToken 2757386 2757389 + Block 2757389 2757644 + IfStatement 2757391 2757625 + BinaryExpression 2757417 2757477 + CallExpression 2757417 2757440 + Identifier 2757417 2757434 + Identifier 2757435 2757439 + AmpersandAmpersandToken 2757440 2757443 + BinaryExpression 2757443 2757477 + CallExpression 2757443 2757461 + Identifier 2757443 2757455 + Identifier 2757456 2757460 + ExclamationEqualsEqualsToken 2757461 2757465 + Identifier 2757465 2757477 + Block 2757478 2757625 + ExpressionStatement 2757480 2757602 + CallExpression 2757480 2757601 + Identifier 2757480 2757511 + CallExpression 2757512 2757538 + Identifier 2757512 2757532 + Identifier 2757533 2757537 + PropertyAccessExpression 2757539 2757600 + Identifier 2757539 2757551 + Identifier 2757552 2757600 + VariableStatement 2757661 2757723 + VariableDeclarationList 2757661 2757722 + VariableDeclaration 2757680 2757722 + Identifier 2757680 2757714 + FalseKeyword 2757716 2757722 + ExpressionStatement 2757723 2758720 + CallExpression 2757723 2758719 + Identifier 2757723 2757744 + PropertyAccessExpression 2757745 2757768 + Identifier 2757745 2757755 + Identifier 2757756 2757768 + ArrowFunction 2757769 2758718 + Parameter 2757769 2757781 + Identifier 2757769 2757781 + EqualsGreaterThanToken 2757781 2757784 + Block 2757784 2758718 + IfStatement 2757786 2757995 + BinaryExpression 2757891 2757938 + PropertyAccessExpression 2757891 2757907 + Identifier 2757891 2757902 + Identifier 2757903 2757907 + ExclamationEqualsEqualsToken 2757907 2757911 + PropertyAccessExpression 2757911 2757938 + Identifier 2757911 2757922 + Identifier 2757923 2757938 + Block 2757939 2757995 + ReturnStatement 2757941 2757976 + FalseKeyword 2757969 2757975 + VariableStatement 2757995 2758070 + VariableDeclarationList 2757995 2758069 + VariableDeclaration 2758020 2758069 + Identifier 2758020 2758036 + AsExpression 2758038 2758069 + Identifier 2758038 2758050 + TypeReference 2758053 2758069 + Identifier 2758053 2758069 + IfStatement 2758070 2758180 + PrefixUnaryExpression 2758092 2758123 + PropertyAccessExpression 2758093 2758123 + PropertyAccessExpression 2758093 2758116 + Identifier 2758093 2758108 + Identifier 2758109 2758116 + Identifier 2758117 2758123 + Block 2758124 2758180 + ReturnStatement 2758126 2758161 + FalseKeyword 2758154 2758160 + VariableStatement 2758180 2758251 + VariableDeclarationList 2758180 2758250 + VariableDeclaration 2758205 2758250 + Identifier 2758205 2758221 + ElementAccessExpression 2758223 2758250 + PropertyAccessExpression 2758223 2758247 + Identifier 2758223 2758239 + Identifier 2758240 2758247 + NumericLiteral 2758248 2758249 + IfStatement 2758251 2758703 + PrefixUnaryExpression 2758273 2758301 + PropertyAccessExpression 2758274 2758301 + Identifier 2758274 2758289 + Identifier 2758290 2758301 + Block 2758302 2758703 + IfStatement 2758304 2758684 + Identifier 2758330 2758363 + Block 2758364 2758566 + ExpressionStatement 2758366 2758543 + CallExpression 2758366 2758542 + Identifier 2758366 2758397 + PropertyAccessExpression 2758398 2758418 + Identifier 2758398 2758413 + Identifier 2758414 2758418 + PropertyAccessExpression 2758419 2758541 + Identifier 2758419 2758431 + Identifier 2758432 2758541 + Block 2758592 2758684 + ExpressionStatement 2758594 2758661 + BinaryExpression 2758594 2758660 + Identifier 2758594 2758653 + EqualsToken 2758653 2758655 + TrueKeyword 2758655 2758660 + FunctionDeclaration 2758738 2759043 + Identifier 2758754 2758770 + Parameter 2758771 2758787 + Identifier 2758771 2758775 + TypeReference 2758776 2758787 + Identifier 2758776 2758787 + Block 2758788 2759043 + IfStatement 2758790 2758944 + CallExpression 2758804 2758834 + Identifier 2758804 2758823 + PropertyAccessExpression 2758824 2758833 + Identifier 2758824 2758828 + Identifier 2758829 2758833 + Block 2758835 2758944 + ExpressionStatement 2758837 2758933 + CallExpression 2758837 2758932 + Identifier 2758837 2758856 + Identifier 2758857 2758861 + PropertyAccessExpression 2758862 2758931 + Identifier 2758862 2758874 + Identifier 2758875 2758931 + IfStatement 2758944 2759036 + PropertyAccessExpression 2758958 2758974 + Identifier 2758958 2758962 + Identifier 2758963 2758974 + Block 2758975 2759036 + ExpressionStatement 2758977 2759025 + CallExpression 2758977 2759024 + Identifier 2758977 2759006 + PropertyAccessExpression 2759007 2759023 + Identifier 2759007 2759011 + Identifier 2759012 2759023 + FunctionDeclaration 2759043 2759728 + Identifier 2759059 2759104 + Parameter 2759105 2759119 + Identifier 2759105 2759111 + TypeReference 2759112 2759119 + Identifier 2759112 2759119 + UnionType 2759121 2759145 + TypeReference 2759121 2759133 + Identifier 2759121 2759133 + UndefinedKeyword 2759135 2759145 + Block 2759145 2759728 + VariableStatement 2759147 2759198 + VariableDeclarationList 2759147 2759197 + VariableDeclaration 2759162 2759197 + Identifier 2759162 2759175 + PropertyAccessExpression 2759177 2759197 + Identifier 2759177 2759184 + Identifier 2759185 2759197 + IfStatement 2759198 2759694 + Identifier 2759212 2759224 + Block 2759225 2759694 + ForOfStatement 2759227 2759683 + VariableDeclarationList 2759246 2759263 + VariableDeclaration 2759251 2759263 + Identifier 2759251 2759263 + Identifier 2759266 2759279 + Block 2759280 2759683 + IfStatement 2759282 2759668 + BinaryExpression 2759304 2759587 + ParenthesizedExpression 2759304 2759522 + BinaryExpression 2759327 2759521 + BinaryExpression 2759327 2759375 + PropertyAccessExpression 2759327 2759343 + Identifier 2759327 2759338 + Identifier 2759339 2759343 + EqualsEqualsEqualsToken 2759343 2759347 + PropertyAccessExpression 2759347 2759375 + Identifier 2759347 2759358 + Identifier 2759359 2759375 + BarBarToken 2759375 2759378 + ParenthesizedExpression 2759378 2759521 + BinaryExpression 2759405 2759520 + BinaryExpression 2759405 2759456 + PropertyAccessExpression 2759405 2759421 + Identifier 2759405 2759416 + Identifier 2759417 2759421 + EqualsEqualsEqualsToken 2759421 2759425 + PropertyAccessExpression 2759425 2759456 + Identifier 2759425 2759436 + Identifier 2759437 2759456 + AmpersandAmpersandToken 2759456 2759459 + CallExpression 2759459 2759520 + Identifier 2759459 2759473 + PropertyAccessExpression 2759474 2759519 + ParenthesizedExpression 2759474 2759514 + AsExpression 2759475 2759513 + Identifier 2759475 2759486 + TypeReference 2759489 2759513 + Identifier 2759489 2759513 + Identifier 2759515 2759519 + AmpersandAmpersandToken 2759522 2759525 + PrefixUnaryExpression 2759525 2759587 + ParenthesizedExpression 2759548 2759587 + BinaryExpression 2759549 2759586 + PropertyAccessExpression 2759549 2759566 + Identifier 2759549 2759560 + Identifier 2759561 2759566 + AmpersandToken 2759566 2759568 + PropertyAccessExpression 2759568 2759586 + Identifier 2759568 2759578 + Identifier 2759579 2759586 + Block 2759606 2759668 + ReturnStatement 2759608 2759649 + Identifier 2759636 2759648 + ReturnStatement 2759694 2759721 + Identifier 2759710 2759720 + FunctionDeclaration 2759728 2760208 + Identifier 2759744 2759763 + Parameter 2759764 2759775 + Identifier 2759764 2759769 + TypeReference 2759770 2759775 + Identifier 2759770 2759775 + Parameter 2759776 2759788 + Identifier 2759776 2759782 + TypeReference 2759783 2759788 + Identifier 2759783 2759788 + Block 2759789 2760208 + VariableStatement 2759791 2759859 + VariableDeclarationList 2759791 2759858 + VariableDeclaration 2759806 2759858 + Identifier 2759806 2759817 + CallExpression 2759819 2759858 + Identifier 2759819 2759851 + Identifier 2759852 2759857 + VariableStatement 2759859 2759927 + VariableDeclarationList 2759859 2759926 + VariableDeclaration 2759874 2759926 + Identifier 2759874 2759885 + CallExpression 2759887 2759926 + Identifier 2759887 2759919 + Identifier 2759920 2759925 + IfStatement 2759927 2760201 + CallExpression 2759941 2759971 + Identifier 2759941 2759959 + Identifier 2759960 2759970 + Block 2759972 2760037 + ReturnStatement 2759974 2760026 + CallExpression 2759994 2760025 + Identifier 2759994 2760013 + Identifier 2760014 2760024 + IfStatement 2760051 2760201 + CallExpression 2760056 2760086 + Identifier 2760056 2760074 + Identifier 2760075 2760085 + Block 2760087 2760127 + ReturnStatement 2760089 2760116 + FalseKeyword 2760109 2760115 + Block 2760141 2760201 + ReturnStatement 2760143 2760190 + BinaryExpression 2760163 2760189 + Identifier 2760163 2760174 + EqualsEqualsEqualsToken 2760174 2760178 + Identifier 2760178 2760189 + FunctionDeclaration 2760208 2768418 + Identifier 2760224 2760247 + Parameter 2760248 2760271 + Identifier 2760248 2760252 + TypeReference 2760253 2760271 + Identifier 2760253 2760271 + Block 2760272 2768418 + IfStatement 2760274 2760481 + PropertyAccessExpression 2760288 2760297 + Identifier 2760288 2760292 + Identifier 2760293 2760297 + Block 2760298 2760481 + ExpressionStatement 2760300 2760344 + CallExpression 2760300 2760343 + Identifier 2760300 2760332 + PropertyAccessExpression 2760333 2760342 + Identifier 2760333 2760337 + Identifier 2760338 2760342 + IfStatement 2760344 2760470 + PrefixUnaryExpression 2760362 2760394 + CallExpression 2760363 2760394 + Identifier 2760363 2760388 + Identifier 2760389 2760393 + Block 2760395 2760470 + ExpressionStatement 2760397 2760455 + CallExpression 2760397 2760454 + Identifier 2760397 2760448 + Identifier 2760449 2760453 + ExpressionStatement 2760481 2760546 + CallExpression 2760481 2760545 + Identifier 2760481 2760510 + Identifier 2760511 2760544 + FunctionDeclaration 2760546 2768411 + Identifier 2760566 2760600 + Block 2760602 2768411 + VariableStatement 2760604 2760712 + VariableDeclarationList 2760604 2760711 + VariableDeclaration 2760656 2760711 + Identifier 2760656 2760677 + CallExpression 2760679 2760711 + Identifier 2760679 2760705 + Identifier 2760706 2760710 + VariableStatement 2760712 2760782 + VariableDeclarationList 2760712 2760781 + VariableDeclaration 2760731 2760781 + Identifier 2760731 2760748 + BinaryExpression 2760750 2760781 + PropertyAccessExpression 2760750 2760761 + Identifier 2760750 2760755 + Identifier 2760756 2760761 + AmpersandToken 2760761 2760763 + PropertyAccessExpression 2760763 2760781 + Identifier 2760763 2760773 + Identifier 2760774 2760781 + IfStatement 2760782 2761017 + BinaryExpression 2760800 2760841 + Identifier 2760800 2760820 + AmpersandAmpersandToken 2760820 2760823 + PrefixUnaryExpression 2760823 2760841 + Identifier 2760825 2760841 + Block 2760842 2761017 + ExpressionStatement 2760844 2761002 + CallExpression 2760844 2761001 + Identifier 2760844 2760867 + PropertyAccessExpression 2760868 2760877 + Identifier 2760868 2760872 + Identifier 2760873 2760877 + PropertyAccessExpression 2760878 2761000 + Identifier 2760878 2760890 + Identifier 2760891 2761000 + VariableStatement 2761017 2761096 + VariableDeclarationList 2761017 2761095 + VariableDeclaration 2761038 2761095 + Identifier 2761038 2761062 + BooleanKeyword 2761063 2761071 + CallExpression 2761073 2761095 + Identifier 2761073 2761089 + Identifier 2761090 2761094 + VariableStatement 2761096 2761379 + VariableDeclarationList 2761096 2761378 + VariableDeclaration 2761115 2761378 + Identifier 2761115 2761135 + ConditionalExpression 2761137 2761378 + Identifier 2761137 2761161 + QuestionToken 2761161 2761180 + PropertyAccessExpression 2761180 2761265 + Identifier 2761180 2761192 + Identifier 2761193 2761265 + ColonToken 2761265 2761284 + PropertyAccessExpression 2761284 2761378 + Identifier 2761284 2761296 + Identifier 2761297 2761378 + IfStatement 2761379 2761614 + CallExpression 2761397 2761456 + Identifier 2761397 2761429 + Identifier 2761430 2761434 + Identifier 2761435 2761455 + Block 2761457 2761614 + ReturnStatement 2761459 2761599 + IfStatement 2761614 2761895 + PrefixUnaryExpression 2761634 2761662 + CallExpression 2761635 2761662 + Identifier 2761635 2761656 + Identifier 2761657 2761661 + Block 2761663 2761895 + IfStatement 2761665 2761880 + BinaryExpression 2761687 2761751 + PrefixUnaryExpression 2761687 2761704 + Identifier 2761688 2761704 + AmpersandAmpersandToken 2761704 2761707 + BinaryExpression 2761707 2761751 + PropertyAccessExpression 2761707 2761722 + PropertyAccessExpression 2761707 2761717 + Identifier 2761707 2761712 + Identifier 2761713 2761717 + Identifier 2761718 2761722 + EqualsEqualsEqualsToken 2761722 2761726 + PropertyAccessExpression 2761726 2761751 + Identifier 2761726 2761737 + Identifier 2761738 2761751 + Block 2761752 2761880 + ExpressionStatement 2761754 2761861 + CallExpression 2761754 2761860 + Identifier 2761754 2761794 + PropertyAccessExpression 2761795 2761804 + Identifier 2761795 2761799 + Identifier 2761800 2761804 + PropertyAccessExpression 2761805 2761859 + Identifier 2761805 2761817 + Identifier 2761818 2761859 + IfStatement 2761895 2762632 + CallExpression 2761915 2761938 + Identifier 2761915 2761927 + PropertyAccessExpression 2761928 2761937 + Identifier 2761928 2761932 + Identifier 2761933 2761937 + Block 2761939 2762632 + ExpressionStatement 2761941 2762010 + CallExpression 2761941 2762009 + Identifier 2761941 2761992 + Identifier 2761993 2761997 + PropertyAccessExpression 2761998 2762008 + Identifier 2761998 2762003 + Identifier 2762004 2762008 + IfStatement 2762010 2762617 + PrefixUnaryExpression 2762032 2762100 + ParenthesizedExpression 2762033 2762100 + BinaryExpression 2762034 2762099 + PropertyAccessExpression 2762034 2762044 + Identifier 2762034 2762038 + Identifier 2762039 2762044 + AmpersandToken 2762044 2762046 + ParenthesizedExpression 2762046 2762099 + BinaryExpression 2762048 2762098 + PropertyAccessExpression 2762048 2762067 + Identifier 2762048 2762057 + Identifier 2762058 2762067 + BarToken 2762067 2762069 + PropertyAccessExpression 2762069 2762098 + Identifier 2762069 2762079 + Identifier 2762080 2762098 + Block 2762101 2762617 + VariableStatement 2762103 2762170 + VariableDeclarationList 2762103 2762169 + VariableDeclaration 2762130 2762169 + Identifier 2762130 2762141 + CallExpression 2762143 2762169 + Identifier 2762143 2762163 + Identifier 2762164 2762168 + VariableStatement 2762170 2762239 + VariableDeclarationList 2762170 2762238 + VariableDeclaration 2762197 2762238 + Identifier 2762197 2762201 + CallExpression 2762203 2762238 + Identifier 2762203 2762232 + Identifier 2762233 2762237 + VariableStatement 2762239 2762316 + VariableDeclarationList 2762239 2762315 + VariableDeclaration 2762266 2762315 + Identifier 2762266 2762271 + CallExpression 2762273 2762315 + Identifier 2762273 2762298 + Identifier 2762299 2762309 + Identifier 2762310 2762314 + ExpressionStatement 2762316 2762598 + CallExpression 2762316 2762597 + PropertyAccessExpression 2762316 2762363 + Identifier 2762316 2762359 + Identifier 2762360 2762363 + CallExpression 2762364 2762573 + Identifier 2762364 2762410 + Identifier 2762411 2762421 + PropertyAccessExpression 2762422 2762433 + Identifier 2762422 2762427 + Identifier 2762428 2762433 + PropertyAccessExpression 2762434 2762446 + Identifier 2762434 2762439 + Identifier 2762440 2762446 + PropertyAccessExpression 2762447 2762572 + Identifier 2762447 2762459 + Identifier 2762460 2762572 + ExpressionStatement 2762632 2762687 + CallExpression 2762632 2762686 + Identifier 2762632 2762680 + Identifier 2762681 2762685 + VariableStatement 2762687 2762745 + VariableDeclarationList 2762687 2762744 + VariableDeclaration 2762706 2762744 + Identifier 2762706 2762713 + CallExpression 2762715 2762744 + Identifier 2762715 2762738 + Identifier 2762739 2762743 + IfStatement 2762745 2766052 + BinaryExpression 2762863 2763047 + BinaryExpression 2762863 2762957 + BinaryExpression 2762863 2762919 + PropertyAccessExpression 2762863 2762893 + Identifier 2762863 2762887 + Identifier 2762888 2762893 + AmpersandToken 2762893 2762895 + PropertyAccessExpression 2762895 2762919 + Identifier 2762895 2762907 + Identifier 2762908 2762919 + AmpersandAmpersandToken 2762919 2762939 + PrefixUnaryExpression 2762939 2762957 + Identifier 2762941 2762957 + AmpersandAmpersandToken 2762957 2762977 + CallExpression 2762977 2763047 + Identifier 2762977 2762998 + Identifier 2762999 2763003 + CallExpression 2763004 2763046 + Identifier 2763004 2763029 + Identifier 2763030 2763045 + Block 2763062 2766052 + IfStatement 2763064 2763256 + PropertyAccessExpression 2763086 2763120 + Identifier 2763086 2763101 + Identifier 2763102 2763120 + Block 2763121 2763256 + ExpressionStatement 2763123 2763237 + CallExpression 2763123 2763236 + Identifier 2763123 2763150 + PropertyAccessExpression 2763151 2763160 + Identifier 2763151 2763155 + Identifier 2763156 2763160 + PropertyAccessExpression 2763161 2763235 + Identifier 2763161 2763173 + Identifier 2763174 2763235 + IfStatement 2763256 2764027 + BinaryExpression 2763280 2763369 + CallExpression 2763280 2763315 + Identifier 2763280 2763298 + Identifier 2763299 2763314 + AmpersandAmpersandToken 2763315 2763318 + PrefixUnaryExpression 2763318 2763369 + PropertyAccessExpression 2763320 2763369 + CallExpression 2763320 2763345 + Identifier 2763320 2763339 + Identifier 2763340 2763344 + Identifier 2763346 2763369 + Block 2763370 2764027 + ExpressionStatement 2763372 2764008 + CallExpression 2763372 2764007 + Identifier 2763372 2763773 + PropertyAccessExpression 2763774 2763783 + Identifier 2763774 2763778 + Identifier 2763779 2763783 + PropertyAccessExpression 2763784 2763977 + Identifier 2763784 2763796 + Identifier 2763797 2763977 + Identifier 2763978 2764006 + IfStatement 2764027 2765400 + BinaryExpression 2764049 2764081 + NonNullExpression 2764049 2764077 + PropertyAccessExpression 2764049 2764076 + PropertyAccessExpression 2764049 2764068 + Identifier 2764049 2764055 + Identifier 2764056 2764068 + QuestionDotToken 2764068 2764070 + Identifier 2764070 2764076 + GreaterThanToken 2764077 2764079 + NumericLiteral 2764079 2764081 + Block 2764082 2765400 + VariableStatement 2764084 2764194 + VariableDeclarationList 2764084 2764193 + VariableDeclaration 2764111 2764193 + Identifier 2764111 2764138 + CallExpression 2764140 2764193 + Identifier 2764140 2764185 + Identifier 2764186 2764192 + IfStatement 2764194 2764833 + Identifier 2764220 2764246 + Block 2764247 2764833 + IfStatement 2764249 2764810 + BinaryExpression 2764279 2764356 + CallExpression 2764279 2764304 + Identifier 2764279 2764298 + Identifier 2764299 2764303 + ExclamationEqualsEqualsToken 2764304 2764308 + CallExpression 2764308 2764356 + Identifier 2764308 2764328 + Identifier 2764329 2764355 + Block 2764357 2764549 + ExpressionStatement 2764359 2764522 + CallExpression 2764359 2764521 + Identifier 2764359 2764394 + PropertyAccessExpression 2764395 2764404 + Identifier 2764395 2764399 + Identifier 2764400 2764404 + PropertyAccessExpression 2764405 2764520 + Identifier 2764405 2764417 + Identifier 2764418 2764520 + IfStatement 2764579 2764810 + BinaryExpression 2764584 2764625 + PropertyAccessExpression 2764584 2764592 + Identifier 2764584 2764588 + Identifier 2764589 2764592 + LessThanToken 2764592 2764594 + PropertyAccessExpression 2764594 2764625 + Identifier 2764594 2764621 + Identifier 2764622 2764625 + Block 2764626 2764810 + ExpressionStatement 2764628 2764783 + CallExpression 2764628 2764782 + Identifier 2764628 2764663 + PropertyAccessExpression 2764664 2764673 + Identifier 2764664 2764668 + Identifier 2764669 2764673 + PropertyAccessExpression 2764674 2764781 + Identifier 2764674 2764686 + Identifier 2764687 2764781 + VariableStatement 2764833 2765106 + VariableDeclarationList 2764833 2765105 + VariableDeclaration 2765033 2765105 + Identifier 2765033 2765045 + CallExpression 2765047 2765105 + Identifier 2765047 2765068 + Identifier 2765069 2765075 + PropertyAccessExpression 2765076 2765104 + Identifier 2765076 2765087 + Identifier 2765088 2765104 + IfStatement 2765106 2765381 + BinaryExpression 2765132 2765235 + Identifier 2765132 2765169 + AmpersandAmpersandToken 2765169 2765172 + CallExpression 2765172 2765235 + Identifier 2765172 2765216 + Identifier 2765217 2765221 + Identifier 2765222 2765234 + Block 2765258 2765381 + ExpressionStatement 2765260 2765358 + BinaryExpression 2765260 2765357 + PropertyAccessExpression 2765260 2765310 + CallExpression 2765260 2765304 + Identifier 2765260 2765298 + Identifier 2765299 2765303 + Identifier 2765305 2765310 + BarEqualsToken 2765310 2765313 + PropertyAccessExpression 2765313 2765357 + Identifier 2765313 2765328 + Identifier 2765329 2765357 + IfStatement 2765400 2766037 + BinaryExpression 2765422 2765639 + BinaryExpression 2765422 2765547 + PropertyAccessExpression 2765422 2765480 + Identifier 2765422 2765459 + Identifier 2765460 2765480 + AmpersandAmpersandToken 2765480 2765483 + BinaryExpression 2765483 2765547 + PropertyAccessExpression 2765483 2765521 + PropertyAccessExpression 2765483 2765516 + Identifier 2765483 2765509 + Identifier 2765510 2765516 + Identifier 2765517 2765521 + EqualsEqualsEqualsToken 2765521 2765525 + PropertyAccessExpression 2765525 2765547 + Identifier 2765525 2765536 + Identifier 2765537 2765547 + AmpersandAmpersandToken 2765547 2765550 + BinaryExpression 2765550 2765639 + CallExpression 2765550 2765615 + PropertyAccessExpression 2765550 2765602 + Identifier 2765550 2765576 + Identifier 2765577 2765602 + PropertyAccessExpression 2765603 2765614 + Identifier 2765603 2765607 + Identifier 2765608 2765614 + EqualsEqualsEqualsToken 2765615 2765619 + PropertyAccessExpression 2765619 2765639 + Identifier 2765619 2765630 + Identifier 2765631 2765639 + Block 2765658 2766037 + VariableStatement 2765660 2765768 + VariableDeclarationList 2765660 2765767 + VariableDeclaration 2765687 2765767 + Identifier 2765687 2765702 + CallExpression 2765704 2765767 + PropertyAccessExpression 2765704 2765725 + PropertyAccessExpression 2765704 2765719 + Identifier 2765704 2765709 + Identifier 2765710 2765719 + QuestionDotToken 2765719 2765721 + Identifier 2765721 2765725 + ArrowFunction 2765726 2765766 + Parameter 2765726 2765727 + Identifier 2765726 2765727 + EqualsGreaterThanToken 2765727 2765730 + BinaryExpression 2765730 2765766 + PropertyAccessExpression 2765730 2765737 + Identifier 2765730 2765732 + Identifier 2765733 2765737 + EqualsEqualsEqualsToken 2765737 2765741 + PropertyAccessExpression 2765741 2765766 + Identifier 2765741 2765752 + Identifier 2765753 2765766 + IfStatement 2765768 2766018 + Identifier 2765794 2765808 + Block 2765809 2766018 + ExpressionStatement 2765811 2765995 + CallExpression 2765811 2765994 + Identifier 2765811 2765842 + Identifier 2765843 2765857 + PropertyAccessExpression 2765858 2765993 + Identifier 2765858 2765870 + Identifier 2765871 2765993 + IfStatement 2766052 2768400 + Identifier 2766072 2766095 + Block 2766096 2768400 + IfStatement 2766098 2768385 + CallExpression 2766120 2766154 + Identifier 2766120 2766148 + Identifier 2766149 2766153 + Block 2766155 2767118 + VariableStatement 2766157 2766831 + VariableDeclarationList 2766157 2766830 + VariableDeclaration 2766733 2766830 + Identifier 2766733 2766743 + BinaryExpression 2766745 2766830 + Identifier 2766745 2766766 + BarBarToken 2766766 2766769 + ParenthesizedExpression 2766769 2766830 + BinaryExpression 2766771 2766829 + PropertyAccessExpression 2766771 2766805 + CallExpression 2766771 2766799 + Identifier 2766771 2766793 + Identifier 2766794 2766798 + Identifier 2766800 2766805 + AmpersandToken 2766805 2766807 + PropertyAccessExpression 2766807 2766829 + Identifier 2766807 2766819 + Identifier 2766820 2766829 + IfStatement 2766831 2767099 + BinaryExpression 2766857 2766879 + Identifier 2766857 2766866 + AmpersandAmpersandToken 2766866 2766869 + PropertyAccessExpression 2766869 2766879 + Identifier 2766869 2766874 + Identifier 2766875 2766879 + Block 2766880 2767099 + ForOfStatement 2766882 2767076 + VariableDeclarationList 2766913 2766928 + VariableDeclaration 2766918 2766928 + Identifier 2766918 2766928 + PropertyAccessExpression 2766931 2766952 + PropertyAccessExpression 2766931 2766941 + Identifier 2766931 2766936 + Identifier 2766937 2766941 + Identifier 2766942 2766952 + Block 2766953 2767076 + ExpressionStatement 2766955 2767049 + CallExpression 2766955 2767048 + Identifier 2766955 2767015 + Identifier 2767016 2767025 + Identifier 2767026 2767047 + IfStatement 2767140 2768385 + CallExpression 2767145 2767176 + Identifier 2767145 2767163 + PropertyAccessExpression 2767164 2767175 + Identifier 2767164 2767168 + Identifier 2767169 2767175 + Block 2767177 2767685 + IfStatement 2767179 2767666 + Identifier 2767205 2767225 + Block 2767226 2767421 + ExpressionStatement 2767228 2767398 + CallExpression 2767228 2767397 + Identifier 2767228 2767259 + PropertyAccessExpression 2767260 2767269 + Identifier 2767260 2767264 + Identifier 2767265 2767269 + PropertyAccessExpression 2767270 2767396 + Identifier 2767270 2767282 + Identifier 2767283 2767396 + IfStatement 2767447 2767666 + CallExpression 2767452 2767521 + Identifier 2767452 2767480 + CallExpression 2767481 2767520 + Identifier 2767481 2767509 + PropertyAccessExpression 2767510 2767519 + Identifier 2767510 2767514 + Identifier 2767515 2767519 + Block 2767522 2767666 + ExpressionStatement 2767524 2767643 + CallExpression 2767524 2767642 + Identifier 2767524 2767555 + PropertyAccessExpression 2767556 2767565 + Identifier 2767556 2767560 + Identifier 2767561 2767565 + PropertyAccessExpression 2767566 2767641 + Identifier 2767566 2767578 + Identifier 2767579 2767641 + Block 2767707 2768385 + IfStatement 2767709 2768366 + Identifier 2767735 2767755 + Block 2767756 2767951 + ExpressionStatement 2767758 2767928 + CallExpression 2767758 2767927 + Identifier 2767758 2767789 + PropertyAccessExpression 2767790 2767799 + Identifier 2767790 2767794 + Identifier 2767795 2767799 + PropertyAccessExpression 2767800 2767926 + Identifier 2767800 2767812 + Identifier 2767813 2767926 + Block 2767977 2768366 + ExpressionStatement 2767979 2768343 + CallExpression 2767979 2768342 + Identifier 2767979 2768254 + PropertyAccessExpression 2768255 2768264 + Identifier 2768255 2768259 + Identifier 2768260 2768264 + PropertyAccessExpression 2768265 2768341 + Identifier 2768265 2768277 + Identifier 2768278 2768341 + FunctionDeclaration 2768418 2770649 + Identifier 2768434 2768465 + Parameter 2768466 2768476 + Identifier 2768466 2768470 + TypeReference 2768471 2768476 + Identifier 2768471 2768476 + Parameter 2768477 2768507 + Identifier 2768477 2768498 + BooleanKeyword 2768499 2768507 + VoidKeyword 2768509 2768514 + Block 2768514 2770649 + SwitchStatement 2768516 2770642 + PropertyAccessExpression 2768534 2768543 + Identifier 2768534 2768538 + Identifier 2768539 2768543 + CaseBlock 2768544 2770642 + CaseClause 2768546 2768932 + PropertyAccessExpression 2768564 2768593 + Identifier 2768564 2768575 + Identifier 2768576 2768593 + ForOfStatement 2768594 2768908 + VariableDeclarationList 2768735 2768745 + VariableDeclaration 2768740 2768745 + Identifier 2768740 2768745 + PropertyAccessExpression 2768748 2768805 + PropertyAccessExpression 2768748 2768792 + ParenthesizedExpression 2768748 2768776 + AsExpression 2768750 2768775 + Identifier 2768750 2768754 + TypeReference 2768757 2768775 + Identifier 2768757 2768775 + Identifier 2768777 2768792 + Identifier 2768793 2768805 + Block 2768806 2768908 + ExpressionStatement 2768808 2768889 + CallExpression 2768808 2768888 + Identifier 2768808 2768860 + Identifier 2768861 2768865 + Identifier 2768866 2768887 + BreakStatement 2768908 2768932 + CaseClause 2768932 2768979 + PropertyAccessExpression 2768950 2768978 + Identifier 2768950 2768961 + Identifier 2768962 2768978 + CaseClause 2768979 2769186 + PropertyAccessExpression 2768997 2769026 + Identifier 2768997 2769008 + Identifier 2769009 2769026 + ExpressionStatement 2769027 2769162 + CallExpression 2769027 2769161 + Identifier 2769027 2769069 + Identifier 2769070 2769074 + PropertyAccessExpression 2769075 2769160 + Identifier 2769075 2769087 + Identifier 2769088 2769160 + BreakStatement 2769162 2769186 + CaseClause 2769186 2769413 + PropertyAccessExpression 2769204 2769239 + Identifier 2769204 2769215 + Identifier 2769216 2769239 + IfStatement 2769240 2769413 + CallExpression 2769360 2769405 + Identifier 2769360 2769399 + Identifier 2769400 2769404 + BreakStatement 2769406 2769413 + CaseClause 2769413 2769685 + PropertyAccessExpression 2769465 2769494 + Identifier 2769465 2769476 + Identifier 2769477 2769494 + ExpressionStatement 2769495 2769661 + CallExpression 2769495 2769660 + Identifier 2769495 2769537 + Identifier 2769538 2769542 + PropertyAccessExpression 2769543 2769659 + Identifier 2769543 2769555 + Identifier 2769556 2769659 + BreakStatement 2769661 2769685 + CaseClause 2769685 2769730 + PropertyAccessExpression 2769703 2769729 + Identifier 2769703 2769714 + Identifier 2769715 2769729 + CaseClause 2769730 2770187 + PropertyAccessExpression 2769748 2769779 + Identifier 2769748 2769759 + Identifier 2769760 2769779 + VariableStatement 2769780 2769863 + VariableDeclarationList 2769780 2769862 + VariableDeclaration 2769803 2769862 + Identifier 2769803 2769808 + PropertyAccessExpression 2769810 2769862 + ParenthesizedExpression 2769810 2769857 + AsExpression 2769812 2769856 + Identifier 2769812 2769816 + UnionType 2769819 2769856 + TypeReference 2769819 2769839 + Identifier 2769819 2769839 + TypeReference 2769841 2769856 + Identifier 2769841 2769856 + Identifier 2769858 2769862 + IfStatement 2769863 2770187 + CallExpression 2769885 2769907 + Identifier 2769885 2769901 + Identifier 2769902 2769906 + Block 2769908 2770187 + ForOfStatement 2769910 2770140 + VariableDeclarationList 2769937 2769945 + VariableDeclaration 2769942 2769945 + Identifier 2769942 2769945 + PropertyAccessExpression 2769948 2769962 + Identifier 2769948 2769953 + Identifier 2769954 2769962 + Block 2769963 2770140 + ExpressionStatement 2769965 2770117 + CallExpression 2769965 2770116 + Identifier 2769965 2770090 + Identifier 2770091 2770093 + Identifier 2770094 2770115 + BreakStatement 2770140 2770168 + CaseClause 2770187 2770268 + PropertyAccessExpression 2770239 2770267 + Identifier 2770239 2770250 + Identifier 2770251 2770267 + CaseClause 2770268 2770314 + PropertyAccessExpression 2770286 2770313 + Identifier 2770286 2770297 + Identifier 2770298 2770313 + CaseClause 2770314 2770364 + PropertyAccessExpression 2770332 2770363 + Identifier 2770332 2770343 + Identifier 2770344 2770363 + CaseClause 2770364 2770415 + PropertyAccessExpression 2770382 2770414 + Identifier 2770382 2770393 + Identifier 2770394 2770414 + CaseClause 2770415 2770463 + PropertyAccessExpression 2770433 2770462 + Identifier 2770433 2770444 + Identifier 2770445 2770462 + CaseClause 2770463 2770631 + PropertyAccessExpression 2770481 2770513 + Identifier 2770481 2770492 + Identifier 2770493 2770513 + IfStatement 2770514 2770607 + Identifier 2770536 2770556 + Block 2770557 2770607 + ReturnStatement 2770559 2770588 + BreakStatement 2770607 2770631 + FunctionDeclaration 2770649 2771500 + Identifier 2770665 2770700 + Parameter 2770701 2770739 + Identifier 2770701 2770705 + TypeReference 2770706 2770739 + Identifier 2770706 2770739 + TypeReference 2770741 2770752 + Identifier 2770741 2770752 + Block 2770752 2771500 + SwitchStatement 2770754 2771493 + PropertyAccessExpression 2770772 2770781 + Identifier 2770772 2770776 + Identifier 2770777 2770781 + CaseBlock 2770782 2771493 + CaseClause 2770784 2770855 + PropertyAccessExpression 2770802 2770824 + Identifier 2770802 2770813 + Identifier 2770814 2770824 + ReturnStatement 2770825 2770855 + Identifier 2770849 2770854 + CaseClause 2770855 2771071 + PropertyAccessExpression 2770873 2770898 + Identifier 2770873 2770884 + Identifier 2770885 2770898 + DoStatement 2770899 2771041 + Block 2770919 2770979 + ExpressionStatement 2770921 2770960 + BinaryExpression 2770921 2770959 + Identifier 2770921 2770947 + EqualsToken 2770947 2770949 + PropertyAccessExpression 2770949 2770959 + Identifier 2770949 2770954 + Identifier 2770955 2770959 + BinaryExpression 2771004 2771039 + PropertyAccessExpression 2771004 2771013 + Identifier 2771004 2771008 + Identifier 2771009 2771013 + ExclamationEqualsEqualsToken 2771013 2771017 + PropertyAccessExpression 2771017 2771039 + Identifier 2771017 2771028 + Identifier 2771029 2771039 + ReturnStatement 2771041 2771071 + Identifier 2771065 2771070 + CaseClause 2771071 2771482 + PropertyAccessExpression 2771089 2771125 + Identifier 2771089 2771100 + Identifier 2771101 2771125 + DoStatement 2771126 2771452 + Block 2771146 2771390 + IfStatement 2771148 2771326 + BinaryExpression 2771174 2771257 + CallExpression 2771174 2771222 + Identifier 2771174 2771205 + PropertyAccessExpression 2771206 2771221 + Identifier 2771206 2771210 + Identifier 2771211 2771221 + AmpersandAmpersandToken 2771222 2771225 + PrefixUnaryExpression 2771225 2771257 + CallExpression 2771227 2771257 + Identifier 2771227 2771246 + PropertyAccessExpression 2771247 2771256 + Identifier 2771247 2771251 + Identifier 2771252 2771256 + Block 2771258 2771326 + ReturnStatement 2771260 2771303 + PropertyAccessExpression 2771292 2771302 + Identifier 2771292 2771297 + Identifier 2771298 2771302 + ExpressionStatement 2771326 2771371 + BinaryExpression 2771326 2771370 + Identifier 2771326 2771352 + EqualsToken 2771352 2771354 + PropertyAccessExpression 2771354 2771370 + Identifier 2771354 2771359 + Identifier 2771360 2771370 + BinaryExpression 2771415 2771450 + PropertyAccessExpression 2771415 2771424 + Identifier 2771415 2771419 + Identifier 2771420 2771424 + ExclamationEqualsEqualsToken 2771424 2771428 + PropertyAccessExpression 2771428 2771450 + Identifier 2771428 2771439 + Identifier 2771440 2771450 + ReturnStatement 2771452 2771482 + Identifier 2771476 2771481 + FunctionDeclaration 2771500 2774053 + Identifier 2771516 2771555 + Parameter 2771556 2771625 + Identifier 2771556 2771560 + UnionType 2771561 2771625 + TypeReference 2771561 2771579 + Identifier 2771561 2771579 + TypeReference 2771581 2771605 + Identifier 2771581 2771605 + TypeReference 2771607 2771625 + Identifier 2771607 2771625 + BooleanKeyword 2771627 2771635 + Block 2771635 2774053 + VariableStatement 2771637 2771694 + VariableDeclarationList 2771637 2771693 + VariableDeclaration 2771652 2771693 + Identifier 2771652 2771663 + CallExpression 2771665 2771693 + Identifier 2771665 2771687 + Identifier 2771688 2771692 + IfStatement 2771694 2771830 + BinaryExpression 2771708 2771748 + PrefixUnaryExpression 2771708 2771719 + Identifier 2771709 2771719 + BarBarToken 2771719 2771722 + CallExpression 2771722 2771748 + Identifier 2771722 2771736 + Identifier 2771737 2771747 + Block 2771749 2771830 + ReturnStatement 2771751 2771819 + FalseKeyword 2771812 2771818 + IfStatement 2771830 2771982 + PrefixUnaryExpression 2771844 2771872 + CallExpression 2771845 2771872 + Identifier 2771845 2771860 + Identifier 2771861 2771871 + Block 2771873 2771982 + ExpressionStatement 2771875 2771944 + CallExpression 2771875 2771943 + Identifier 2771875 2771894 + Identifier 2771895 2771905 + PropertyAccessExpression 2771906 2771942 + Identifier 2771906 2771918 + Identifier 2771919 2771942 + ReturnStatement 2771944 2771971 + FalseKeyword 2771964 2771970 + VariableStatement 2771982 2772107 + VariableDeclarationList 2771982 2772106 + VariableDeclaration 2771997 2772106 + Identifier 2771997 2772021 + BinaryExpression 2772023 2772106 + BinaryExpression 2772023 2772067 + PropertyAccessExpression 2772023 2772040 + PropertyAccessExpression 2772023 2772035 + Identifier 2772023 2772028 + Identifier 2772029 2772035 + Identifier 2772036 2772040 + EqualsEqualsEqualsToken 2772040 2772044 + PropertyAccessExpression 2772044 2772067 + Identifier 2772044 2772055 + Identifier 2772056 2772067 + AmpersandAmpersandToken 2772067 2772070 + CallExpression 2772070 2772106 + Identifier 2772070 2772086 + PropertyAccessExpression 2772087 2772105 + PropertyAccessExpression 2772087 2772098 + Identifier 2772087 2772091 + Identifier 2772092 2772098 + Identifier 2772099 2772105 + IfStatement 2772107 2772542 + BinaryExpression 2772121 2772191 + BinaryExpression 2772121 2772163 + PropertyAccessExpression 2772121 2772137 + PropertyAccessExpression 2772121 2772132 + Identifier 2772121 2772125 + Identifier 2772126 2772132 + Identifier 2772133 2772137 + ExclamationEqualsEqualsToken 2772137 2772141 + PropertyAccessExpression 2772141 2772163 + Identifier 2772141 2772152 + Identifier 2772153 2772163 + AmpersandAmpersandToken 2772163 2772166 + PrefixUnaryExpression 2772166 2772191 + Identifier 2772168 2772191 + Block 2772192 2772542 + ExpressionStatement 2772194 2772504 + CallExpression 2772194 2772503 + Identifier 2772194 2772213 + Identifier 2772214 2772242 + ConditionalExpression 2772243 2772487 + BinaryExpression 2772243 2772303 + PropertyAccessExpression 2772243 2772270 + Identifier 2772243 2772265 + Identifier 2772266 2772270 + EqualsEqualsEqualsToken 2772270 2772274 + PropertyAccessExpression 2772274 2772303 + Identifier 2772274 2772285 + Identifier 2772286 2772303 + QuestionToken 2772303 2772305 + PropertyAccessExpression 2772305 2772391 + Identifier 2772305 2772338 + Identifier 2772339 2772391 + ColonToken 2772391 2772393 + PropertyAccessExpression 2772393 2772487 + Identifier 2772393 2772426 + Identifier 2772427 2772487 + ReturnStatement 2772504 2772531 + FalseKeyword 2772524 2772530 + IfStatement 2772542 2773414 + BinaryExpression 2772556 2772628 + Identifier 2772556 2772579 + AmpersandAmpersandToken 2772579 2772582 + CallExpression 2772582 2772628 + Identifier 2772582 2772611 + PropertyAccessExpression 2772612 2772627 + Identifier 2772612 2772622 + Identifier 2772623 2772627 + Block 2772629 2773414 + IfStatement 2772631 2773403 + PrefixUnaryExpression 2772827 2772872 + CallExpression 2772828 2772872 + Identifier 2772828 2772866 + Identifier 2772867 2772871 + Block 2772873 2773403 + ExpressionStatement 2772875 2773357 + CallExpression 2772875 2773356 + Identifier 2772875 2773222 + Identifier 2773223 2773227 + PropertyAccessExpression 2773228 2773355 + Identifier 2773228 2773240 + Identifier 2773241 2773355 + ReturnStatement 2773357 2773388 + FalseKeyword 2773381 2773387 + IfStatement 2773414 2774024 + BinaryExpression 2773428 2773479 + PrefixUnaryExpression 2773428 2773460 + CallExpression 2773429 2773460 + Identifier 2773429 2773454 + Identifier 2773455 2773459 + AmpersandAmpersandToken 2773460 2773463 + PropertyAccessExpression 2773463 2773479 + Identifier 2773463 2773468 + Identifier 2773469 2773479 + Block 2773480 2774024 + VariableStatement 2773482 2773710 + VariableDeclarationList 2773482 2773709 + VariableDeclaration 2773501 2773709 + Identifier 2773501 2773512 + ConditionalExpression 2773514 2773709 + BinaryExpression 2773514 2773563 + PropertyAccessExpression 2773514 2773536 + PropertyAccessExpression 2773514 2773530 + Identifier 2773514 2773519 + Identifier 2773520 2773530 + Identifier 2773531 2773536 + EqualsEqualsEqualsToken 2773536 2773540 + PropertyAccessExpression 2773540 2773563 + Identifier 2773540 2773551 + Identifier 2773552 2773563 + QuestionToken 2773563 2773565 + PropertyAccessExpression 2773565 2773636 + Identifier 2773565 2773577 + Identifier 2773578 2773636 + ColonToken 2773636 2773638 + PropertyAccessExpression 2773638 2773709 + Identifier 2773638 2773650 + Identifier 2773651 2773709 + VariableStatement 2773710 2773745 + VariableDeclarationList 2773710 2773744 + VariableDeclaration 2773727 2773744 + Identifier 2773727 2773736 + FalseKeyword 2773738 2773744 + ForOfStatement 2773745 2773982 + VariableDeclarationList 2773764 2773774 + VariableDeclaration 2773769 2773774 + Identifier 2773769 2773774 + PropertyAccessExpression 2773777 2773802 + PropertyAccessExpression 2773777 2773793 + Identifier 2773777 2773782 + Identifier 2773783 2773793 + Identifier 2773794 2773802 + Block 2773803 2773982 + IfStatement 2773805 2773967 + PrefixUnaryExpression 2773827 2773855 + CallExpression 2773828 2773855 + Identifier 2773828 2773843 + PropertyAccessExpression 2773844 2773854 + Identifier 2773844 2773848 + Identifier 2773849 2773854 + Block 2773856 2773967 + ExpressionStatement 2773858 2773896 + BinaryExpression 2773858 2773895 + Identifier 2773858 2773888 + EqualsToken 2773888 2773890 + TrueKeyword 2773890 2773895 + ExpressionStatement 2773896 2773948 + CallExpression 2773896 2773947 + Identifier 2773896 2773923 + PropertyAccessExpression 2773924 2773934 + Identifier 2773924 2773928 + Identifier 2773929 2773934 + Identifier 2773935 2773946 + ReturnStatement 2773982 2774013 + PrefixUnaryExpression 2774002 2774012 + Identifier 2774004 2774012 + ReturnStatement 2774024 2774046 + TrueKeyword 2774040 2774045 + FunctionDeclaration 2774053 2774649 + Identifier 2774069 2774091 + Parameter 2774092 2774126 + Identifier 2774092 2774096 + UnionType 2774097 2774126 + TypeReference 2774097 2774114 + Identifier 2774097 2774114 + UndefinedKeyword 2774116 2774126 + Parameter 2774127 2774153 + Identifier 2774127 2774146 + TrueKeyword 2774148 2774153 + Block 2774154 2774649 + IfStatement 2774156 2774265 + BinaryExpression 2774170 2774230 + BinaryExpression 2774170 2774188 + Identifier 2774170 2774174 + EqualsEqualsEqualsToken 2774174 2774178 + Identifier 2774178 2774188 + BarBarToken 2774188 2774191 + BinaryExpression 2774191 2774230 + PropertyAccessExpression 2774191 2774201 + Identifier 2774191 2774196 + Identifier 2774197 2774201 + ExclamationEqualsEqualsToken 2774201 2774205 + PropertyAccessExpression 2774205 2774230 + Identifier 2774205 2774216 + Identifier 2774217 2774230 + Block 2774231 2774265 + ReturnStatement 2774233 2774254 + IfStatement 2774265 2774642 + PrefixUnaryExpression 2774279 2774298 + Identifier 2774280 2774298 + Block 2774299 2774384 + ExpressionStatement 2774301 2774373 + CallExpression 2774301 2774372 + Identifier 2774301 2774333 + Identifier 2774334 2774338 + PropertyAccessExpression 2774339 2774371 + Identifier 2774339 2774351 + Identifier 2774352 2774371 + IfStatement 2774398 2774642 + BinaryExpression 2774403 2774471 + BinaryExpression 2774403 2774435 + Identifier 2774403 2774413 + EqualsEqualsEqualsToken 2774413 2774417 + PropertyAccessExpression 2774417 2774435 + Identifier 2774417 2774428 + Identifier 2774429 2774435 + BarBarToken 2774435 2774438 + BinaryExpression 2774438 2774471 + Identifier 2774438 2774449 + EqualsEqualsEqualsToken 2774449 2774453 + PropertyAccessExpression 2774453 2774471 + Identifier 2774453 2774464 + Identifier 2774465 2774471 + Block 2774472 2774642 + ExpressionStatement 2774474 2774631 + CallExpression 2774474 2774630 + Identifier 2774474 2774506 + Identifier 2774507 2774511 + PropertyAccessExpression 2774512 2774629 + Identifier 2774512 2774524 + Identifier 2774525 2774629 + FunctionDeclaration 2774649 2786207 + Identifier 2774665 2774682 + Parameter 2774683 2774709 + Identifier 2774683 2774687 + TypeReference 2774688 2774709 + Identifier 2774688 2774709 + Block 2774710 2786207 + VariableStatement 2774712 2774764 + VariableDeclarationList 2774712 2774763 + VariableDeclaration 2774725 2774763 + Identifier 2774725 2774732 + CallExpression 2774734 2774763 + Identifier 2774734 2774757 + Identifier 2774758 2774762 + VariableStatement 2774764 2774810 + VariableDeclarationList 2774764 2774809 + VariableDeclaration 2774779 2774809 + Identifier 2774779 2774786 + CallExpression 2774788 2774809 + Identifier 2774788 2774801 + Identifier 2774802 2774808 + IfStatement 2774810 2786200 + BinaryExpression 2774826 2774850 + Identifier 2774826 2774832 + ExclamationEqualsEqualsToken 2774832 2774836 + Identifier 2774836 2774850 + Block 2774851 2786200 + ExpressionStatement 2774853 2775636 + BinaryExpression 2774853 2775635 + Identifier 2774853 2775586 + EqualsToken 2775586 2775588 + CallExpression 2775588 2775635 + Identifier 2775588 2775604 + BinaryExpression 2775605 2775634 + PropertyAccessExpression 2775605 2775624 + Identifier 2775605 2775611 + Identifier 2775612 2775624 + BarBarToken 2775624 2775627 + Identifier 2775627 2775634 + IfStatement 2775636 2778159 + BinaryExpression 2775785 2775886 + BinaryExpression 2775785 2775840 + CallExpression 2775785 2775801 + Identifier 2775785 2775795 + Identifier 2775796 2775800 + AmpersandAmpersandToken 2775801 2775804 + PrefixUnaryExpression 2775804 2775840 + ParenthesizedExpression 2775806 2775840 + BinaryExpression 2775807 2775839 + PropertyAccessExpression 2775807 2775819 + Identifier 2775807 2775813 + Identifier 2775814 2775819 + AmpersandToken 2775819 2775821 + PropertyAccessExpression 2775821 2775839 + Identifier 2775821 2775833 + Identifier 2775834 2775839 + AmpersandAmpersandToken 2775840 2775843 + PrefixUnaryExpression 2775843 2775886 + CallExpression 2775845 2775886 + Identifier 2775845 2775880 + Identifier 2775881 2775885 + Block 2775887 2778159 + VariableStatement 2775889 2776078 + VariableDeclarationList 2775889 2776077 + VariableDeclaration 2775912 2776077 + Identifier 2775912 2775922 + ConditionalExpression 2775924 2776077 + CallExpression 2775924 2775956 + Identifier 2775924 2775950 + Identifier 2775951 2775955 + QuestionToken 2775956 2775958 + BinaryExpression 2775958 2775989 + PropertyAccessExpression 2775958 2775976 + Identifier 2775958 2775963 + Identifier 2775964 2775976 + BarBarToken 2775976 2775979 + PropertyAccessExpression 2775979 2775989 + Identifier 2775979 2775984 + Identifier 2775985 2775989 + ColonToken 2775989 2775991 + ConditionalExpression 2775991 2776077 + CallExpression 2775991 2776037 + Identifier 2775991 2776031 + Identifier 2776032 2776036 + QuestionToken 2776037 2776039 + PropertyAccessExpression 2776039 2776049 + Identifier 2776039 2776044 + Identifier 2776045 2776049 + ColonToken 2776049 2776051 + Identifier 2776051 2776077 + ExpressionStatement 2776078 2776153 + CallExpression 2776078 2776152 + PropertyAccessExpression 2776078 2776110 + Identifier 2776078 2776103 + Identifier 2776104 2776110 + BinaryExpression 2776111 2776151 + PropertyAccessExpression 2776111 2776120 + Identifier 2776111 2776115 + Identifier 2776116 2776120 + ExclamationEqualsEqualsToken 2776120 2776124 + PropertyAccessExpression 2776124 2776151 + Identifier 2776124 2776135 + Identifier 2776136 2776151 + IfStatement 2776153 2778119 + BinaryExpression 2776175 2776215 + PropertyAccessExpression 2776175 2776184 + Identifier 2776175 2776179 + Identifier 2776180 2776184 + EqualsEqualsEqualsToken 2776184 2776188 + PropertyAccessExpression 2776188 2776215 + Identifier 2776188 2776199 + Identifier 2776200 2776215 + Block 2776216 2777251 + VariableStatement 2776218 2776346 + VariableDeclarationList 2776218 2776345 + VariableDeclaration 2776245 2776345 + Identifier 2776245 2776250 + CallExpression 2776252 2776345 + Identifier 2776252 2776258 + Identifier 2776259 2776268 + PropertyAccessExpression 2776269 2776344 + Identifier 2776269 2776281 + Identifier 2776282 2776344 + VariableStatement 2776346 2776506 + VariableDeclarationList 2776346 2776505 + VariableDeclaration 2776373 2776505 + Identifier 2776373 2776395 + CallExpression 2776397 2776505 + PropertyAccessExpression 2776397 2776444 + PropertyAccessExpression 2776397 2776439 + PropertyAccessExpression 2776397 2776430 + CallExpression 2776397 2776423 + Identifier 2776397 2776417 + Identifier 2776418 2776422 + Identifier 2776424 2776430 + QuestionDotToken 2776430 2776432 + Identifier 2776432 2776439 + QuestionDotToken 2776439 2776441 + Identifier 2776441 2776444 + CallExpression 2776445 2776504 + Identifier 2776445 2776472 + BinaryExpression 2776473 2776503 + PropertyAccessExpression 2776473 2776490 + Identifier 2776473 2776477 + Identifier 2776478 2776490 + BarBarToken 2776490 2776493 + PropertyAccessExpression 2776493 2776503 + Identifier 2776493 2776498 + Identifier 2776499 2776503 + IfStatement 2776506 2777232 + BinaryExpression 2776532 2776564 + Identifier 2776532 2776553 + EqualsEqualsEqualsToken 2776553 2776557 + Identifier 2776557 2776564 + Block 2776565 2777232 + VariableStatement 2776567 2776676 + VariableDeclarationList 2776567 2776675 + VariableDeclaration 2776598 2776675 + Identifier 2776598 2776619 + CallExpression 2776621 2776675 + PropertyAccessExpression 2776621 2776662 + PropertyAccessExpression 2776621 2776656 + Identifier 2776621 2776643 + Identifier 2776644 2776656 + QuestionDotToken 2776656 2776658 + Identifier 2776658 2776662 + Identifier 2776663 2776674 + IfStatement 2776676 2777209 + Identifier 2776706 2776726 + Block 2776727 2777209 + ExpressionStatement 2776729 2777182 + CallExpression 2776729 2777181 + Identifier 2776729 2776773 + Identifier 2776774 2776812 + CallExpression 2776813 2777149 + Identifier 2776813 2776870 + Identifier 2776871 2776929 + PropertyAccessExpression 2776930 2777013 + Identifier 2776930 2776979 + Identifier 2776980 2777013 + CallExpression 2777014 2777113 + Identifier 2777014 2777078 + PropertyAccessExpression 2777079 2777112 + Identifier 2777079 2777100 + Identifier 2777101 2777112 + Block 2777273 2778119 + ExpressionStatement 2777275 2777356 + CallExpression 2777275 2777355 + PropertyAccessExpression 2777275 2777309 + Identifier 2777275 2777302 + Identifier 2777303 2777309 + BinaryExpression 2777310 2777354 + PropertyAccessExpression 2777310 2777319 + Identifier 2777310 2777314 + Identifier 2777315 2777319 + ExclamationEqualsEqualsToken 2777319 2777323 + PropertyAccessExpression 2777323 2777354 + Identifier 2777323 2777334 + Identifier 2777335 2777354 + VariableStatement 2777356 2777475 + VariableDeclarationList 2777356 2777474 + VariableDeclaration 2777383 2777474 + Identifier 2777383 2777401 + CallExpression 2777403 2777474 + Identifier 2777403 2777416 + Identifier 2777417 2777421 + CallExpression 2777422 2777473 + Identifier 2777422 2777425 + Identifier 2777426 2777445 + Identifier 2777446 2777472 + VariableStatement 2777475 2777615 + VariableDeclarationList 2777475 2777614 + VariableDeclaration 2777502 2777614 + Identifier 2777502 2777518 + BinaryExpression 2777520 2777614 + ParenthesizedExpression 2777520 2777605 + BinaryExpression 2777522 2777604 + Identifier 2777522 2777539 + AmpersandAmpersandToken 2777539 2777542 + PropertyAccessExpression 2777542 2777604 + CallExpression 2777542 2777598 + Identifier 2777542 2777579 + Identifier 2777580 2777597 + QuestionDotToken 2777598 2777600 + Identifier 2777600 2777604 + QuestionQuestionToken 2777605 2777608 + StringLiteral 2777608 2777614 + VariableStatement 2777615 2777761 + VariableDeclarationList 2777615 2777760 + VariableDeclaration 2777642 2777760 + Identifier 2777642 2777661 + CallExpression 2777663 2777760 + Identifier 2777663 2777690 + ConditionalExpression 2777691 2777759 + CallExpression 2777691 2777714 + Identifier 2777691 2777703 + Identifier 2777704 2777713 + QuestionToken 2777714 2777716 + PropertyAccessExpression 2777716 2777738 + Identifier 2777716 2777726 + Identifier 2777727 2777738 + ColonToken 2777738 2777740 + PropertyAccessExpression 2777740 2777759 + Identifier 2777740 2777747 + Identifier 2777748 2777759 + ExpressionStatement 2777761 2778100 + CallExpression 2777761 2778099 + Identifier 2777761 2777788 + Identifier 2777789 2777824 + PropertyAccessExpression 2777825 2777951 + Identifier 2777825 2777862 + Identifier 2777863 2777951 + Identifier 2777952 2777996 + TemplateExpression 2777997 2778075 + TemplateHead 2777997 2778034 + TemplateSpan 2778034 2778055 + Identifier 2778034 2778049 + TemplateMiddle 2778049 2778055 + TemplateSpan 2778055 2778075 + Identifier 2778055 2778073 + TemplateTail 2778073 2778075 + ReturnStatement 2778119 2778144 + VariableStatement 2778159 2778218 + VariableDeclarationList 2778159 2778217 + VariableDeclaration 2778180 2778217 + Identifier 2778180 2778192 + CallExpression 2778194 2778217 + Identifier 2778194 2778209 + Identifier 2778210 2778216 + VariableStatement 2778218 2778506 + VariableDeclarationList 2778218 2778505 + VariableDeclaration 2778237 2778505 + Identifier 2778237 2778254 + BinaryExpression 2778256 2778505 + BinaryExpression 2778256 2778419 + ParenthesizedExpression 2778256 2778343 + ConditionalExpression 2778258 2778342 + BinaryExpression 2778258 2778318 + PropertyAccessExpression 2778258 2778270 + Identifier 2778258 2778264 + Identifier 2778265 2778270 + AmpersandToken 2778270 2778272 + ParenthesizedExpression 2778272 2778318 + BinaryExpression 2778274 2778317 + PropertyAccessExpression 2778274 2778291 + Identifier 2778274 2778285 + Identifier 2778286 2778291 + BarToken 2778291 2778293 + PropertyAccessExpression 2778293 2778317 + Identifier 2778293 2778305 + Identifier 2778306 2778317 + QuestionToken 2778318 2778320 + PropertyAccessExpression 2778320 2778338 + Identifier 2778320 2778332 + Identifier 2778333 2778338 + ColonToken 2778338 2778340 + NumericLiteral 2778340 2778342 + BarToken 2778343 2778345 + ParenthesizedExpression 2778345 2778419 + ConditionalExpression 2778364 2778418 + BinaryExpression 2778364 2778395 + PropertyAccessExpression 2778364 2778376 + Identifier 2778364 2778370 + Identifier 2778371 2778376 + AmpersandToken 2778376 2778378 + PropertyAccessExpression 2778378 2778395 + Identifier 2778378 2778390 + Identifier 2778391 2778395 + QuestionToken 2778395 2778397 + PropertyAccessExpression 2778397 2778414 + Identifier 2778397 2778409 + Identifier 2778410 2778414 + ColonToken 2778414 2778416 + NumericLiteral 2778416 2778418 + BarToken 2778419 2778421 + ParenthesizedExpression 2778421 2778505 + ConditionalExpression 2778440 2778504 + BinaryExpression 2778440 2778476 + PropertyAccessExpression 2778440 2778452 + Identifier 2778440 2778446 + Identifier 2778447 2778452 + AmpersandToken 2778452 2778454 + PropertyAccessExpression 2778454 2778476 + Identifier 2778454 2778466 + Identifier 2778467 2778476 + QuestionToken 2778476 2778478 + PropertyAccessExpression 2778478 2778500 + Identifier 2778478 2778490 + Identifier 2778491 2778500 + ColonToken 2778500 2778502 + NumericLiteral 2778502 2778504 + IfStatement 2778506 2779855 + BinaryExpression 2778524 2778554 + Identifier 2778524 2778535 + AmpersandToken 2778535 2778537 + Identifier 2778537 2778554 + Block 2778555 2778897 + VariableStatement 2778557 2778819 + VariableDeclarationList 2778557 2778818 + VariableDeclaration 2778580 2778818 + Identifier 2778580 2778588 + ConditionalExpression 2778590 2778818 + BinaryExpression 2778590 2778631 + PropertyAccessExpression 2778590 2778600 + Identifier 2778590 2778595 + Identifier 2778596 2778600 + EqualsEqualsEqualsToken 2778600 2778604 + PropertyAccessExpression 2778604 2778631 + Identifier 2778604 2778615 + Identifier 2778616 2778631 + QuestionToken 2778631 2778633 + PropertyAccessExpression 2778633 2778726 + Identifier 2778633 2778666 + Identifier 2778667 2778726 + ColonToken 2778726 2778728 + PropertyAccessExpression 2778728 2778818 + Identifier 2778728 2778761 + Identifier 2778762 2778818 + ExpressionStatement 2778819 2778882 + CallExpression 2778819 2778881 + Identifier 2778819 2778842 + Identifier 2778843 2778847 + Identifier 2778848 2778856 + CallExpression 2778857 2778880 + Identifier 2778857 2778872 + Identifier 2778873 2778879 + IfStatement 2778915 2779855 + BinaryExpression 2778920 2778960 + PropertyAccessExpression 2778920 2778929 + Identifier 2778920 2778924 + Identifier 2778925 2778929 + ExclamationEqualsEqualsToken 2778929 2778933 + PropertyAccessExpression 2778933 2778960 + Identifier 2778933 2778944 + Identifier 2778945 2778960 + Block 2778961 2779855 + VariableStatement 2778963 2779371 + VariableDeclarationList 2778963 2779370 + VariableDeclaration 2779250 2779370 + Identifier 2779250 2779276 + BinaryExpression 2779278 2779370 + PropertyAccessExpression 2779278 2779310 + Identifier 2779278 2779294 + Identifier 2779295 2779310 + AmpersandAmpersandToken 2779310 2779313 + PrefixUnaryExpression 2779313 2779370 + CallExpression 2779315 2779370 + Identifier 2779315 2779327 + Identifier 2779328 2779332 + Identifier 2779333 2779369 + IfStatement 2779371 2779840 + BinaryExpression 2779393 2779482 + Identifier 2779393 2779418 + AmpersandAmpersandToken 2779418 2779421 + BinaryExpression 2779421 2779482 + PropertyAccessExpression 2779421 2779434 + Identifier 2779421 2779428 + Identifier 2779429 2779434 + AmpersandToken 2779434 2779436 + ParenthesizedExpression 2779436 2779482 + BinaryExpression 2779438 2779481 + PropertyAccessExpression 2779438 2779455 + Identifier 2779438 2779449 + Identifier 2779450 2779455 + BarToken 2779455 2779457 + PropertyAccessExpression 2779457 2779481 + Identifier 2779457 2779469 + Identifier 2779470 2779481 + Block 2779483 2779840 + ExpressionStatement 2779485 2779821 + CallExpression 2779485 2779820 + Identifier 2779485 2779512 + Identifier 2779513 2779543 + PropertyAccessExpression 2779544 2779693 + Identifier 2779544 2779581 + Identifier 2779582 2779693 + CallExpression 2779694 2779742 + Identifier 2779694 2779734 + Identifier 2779735 2779741 + Identifier 2779743 2779796 + IfStatement 2779855 2785822 + BinaryExpression 2779875 2780045 + BinaryExpression 2779875 2779991 + CallExpression 2779875 2779928 + Identifier 2779875 2779911 + Identifier 2779912 2779927 + AmpersandAmpersandToken 2779928 2779948 + PrefixUnaryExpression 2779948 2779991 + CallExpression 2779950 2779991 + Identifier 2779950 2779985 + Identifier 2779986 2779990 + AmpersandAmpersandToken 2779991 2780011 + PrefixUnaryExpression 2780011 2780045 + ParenthesizedExpression 2780013 2780045 + BinaryExpression 2780014 2780044 + PropertyAccessExpression 2780014 2780024 + Identifier 2780014 2780018 + Identifier 2780019 2780024 + AmpersandToken 2780024 2780026 + PropertyAccessExpression 2780026 2780044 + Identifier 2780026 2780036 + Identifier 2780037 2780044 + Block 2780060 2785822 + VariableStatement 2780062 2780138 + VariableDeclarationList 2780062 2780137 + VariableDeclaration 2780085 2780137 + Identifier 2780085 2780099 + CallExpression 2780101 2780137 + Identifier 2780101 2780129 + Identifier 2780130 2780136 + VariableStatement 2780138 2780206 + VariableDeclarationList 2780138 2780205 + VariableDeclaration 2780161 2780205 + Identifier 2780161 2780168 + PrefixUnaryExpression 2780170 2780205 + ParenthesizedExpression 2780172 2780205 + BinaryExpression 2780173 2780204 + Identifier 2780173 2780184 + AmpersandToken 2780184 2780186 + PropertyAccessExpression 2780186 2780204 + Identifier 2780186 2780198 + Identifier 2780199 2780204 + IfStatement 2780206 2783548 + BinaryExpression 2780228 2780251 + Identifier 2780228 2780234 + BarBarToken 2780234 2780237 + Identifier 2780237 2780251 + Block 2780252 2783548 + SwitchStatement 2780254 2783529 + PropertyAccessExpression 2780284 2780293 + Identifier 2780284 2780288 + Identifier 2780289 2780293 + CaseBlock 2780294 2783529 + CaseClause 2780296 2780351 + PropertyAccessExpression 2780326 2780350 + Identifier 2780326 2780337 + Identifier 2780338 2780350 + CaseClause 2780351 2780409 + PropertyAccessExpression 2780381 2780408 + Identifier 2780381 2780392 + Identifier 2780393 2780408 + CaseClause 2780409 2782210 + PropertyAccessExpression 2780439 2780474 + Identifier 2780439 2780450 + Identifier 2780451 2780474 + Block 2780475 2782210 + IfStatement 2780477 2781805 + PropertyAccessExpression 2780511 2780547 + Identifier 2780511 2780526 + Identifier 2780527 2780547 + Block 2780548 2781805 + ExpressionStatement 2780550 2780669 + CallExpression 2780550 2780668 + PropertyAccessExpression 2780550 2780605 + Identifier 2780550 2780589 + Identifier 2780590 2780605 + PropertyAccessExpression 2780606 2780615 + Identifier 2780606 2780610 + Identifier 2780611 2780615 + StringLiteral 2780616 2780667 + VariableStatement 2780669 2781325 + VariableDeclarationList 2780669 2781324 + VariableDeclaration 2780708 2781324 + Identifier 2780708 2780716 + ConditionalExpression 2780718 2781324 + BinaryExpression 2780718 2780804 + PropertyAccessExpression 2780718 2780755 + Identifier 2780718 2780734 + Identifier 2780735 2780755 + AmpersandAmpersandToken 2780755 2780758 + CallExpression 2780758 2780804 + Identifier 2780758 2780798 + Identifier 2780799 2780803 + QuestionToken 2780804 2780843 + PropertyAccessExpression 2780843 2780958 + Identifier 2780843 2780855 + Identifier 2780856 2780958 + ColonToken 2780958 2780997 + ConditionalExpression 2780997 2781324 + Identifier 2780997 2781004 + QuestionToken 2781004 2781043 + PropertyAccessExpression 2781043 2781151 + Identifier 2781043 2781055 + Identifier 2781056 2781151 + ColonToken 2781151 2781190 + PropertyAccessExpression 2781190 2781324 + Identifier 2781190 2781202 + Identifier 2781203 2781324 + VariableStatement 2781325 2781489 + VariableDeclarationList 2781325 2781488 + VariableDeclaration 2781364 2781488 + Identifier 2781364 2781369 + CallExpression 2781371 2781488 + Identifier 2781371 2781401 + ConditionalExpression 2781402 2781487 + BinaryExpression 2781402 2781442 + PropertyAccessExpression 2781402 2781411 + Identifier 2781402 2781406 + Identifier 2781407 2781411 + EqualsEqualsEqualsToken 2781411 2781415 + PropertyAccessExpression 2781415 2781442 + Identifier 2781415 2781426 + Identifier 2781427 2781442 + QuestionToken 2781442 2781444 + BinaryExpression 2781444 2781475 + PropertyAccessExpression 2781444 2781462 + Identifier 2781444 2781449 + Identifier 2781450 2781462 + BarBarToken 2781462 2781465 + PropertyAccessExpression 2781465 2781475 + Identifier 2781465 2781470 + Identifier 2781471 2781475 + ColonToken 2781475 2781477 + PropertyAccessExpression 2781477 2781487 + Identifier 2781477 2781482 + Identifier 2781483 2781487 + ExpressionStatement 2781489 2781774 + CallExpression 2781489 2781773 + Identifier 2781489 2781556 + CallExpression 2781557 2781621 + Identifier 2781557 2781600 + Identifier 2781601 2781605 + Identifier 2781606 2781614 + Identifier 2781615 2781620 + ConditionalExpression 2781622 2781694 + Identifier 2781622 2781666 + QuestionToken 2781666 2781668 + Identifier 2781668 2781678 + ColonToken 2781678 2781680 + Identifier 2781680 2781694 + Identifier 2781695 2781737 + IfStatement 2781805 2782147 + BinaryExpression 2781839 2781949 + BinaryExpression 2781839 2781897 + Identifier 2781839 2781845 + AmpersandAmpersandToken 2781845 2781848 + BinaryExpression 2781848 2781897 + PropertyAccessExpression 2781848 2781858 + Identifier 2781848 2781853 + Identifier 2781854 2781858 + EqualsEqualsEqualsToken 2781858 2781862 + PropertyAccessExpression 2781862 2781897 + Identifier 2781862 2781873 + Identifier 2781874 2781897 + AmpersandAmpersandToken 2781897 2781900 + CallExpression 2781900 2781949 + Identifier 2781900 2781921 + Identifier 2781922 2781926 + PropertyAccessExpression 2781927 2781948 + Identifier 2781927 2781941 + Identifier 2781942 2781948 + Block 2781950 2782147 + ExpressionStatement 2781952 2782116 + CallExpression 2781952 2782115 + Identifier 2781952 2781991 + Identifier 2781992 2781996 + PropertyAccessExpression 2781997 2782085 + Identifier 2781997 2782009 + Identifier 2782010 2782085 + Identifier 2782086 2782114 + BreakStatement 2782147 2782183 + CaseClause 2782210 2783506 + PropertyAccessExpression 2782240 2782267 + Identifier 2782240 2782251 + Identifier 2782252 2782267 + Block 2782268 2783506 + IfStatement 2782270 2783479 + BinaryExpression 2782644 2782748 + PropertyAccessExpression 2782644 2782680 + Identifier 2782644 2782659 + Identifier 2782660 2782680 + BarBarToken 2782680 2782683 + BinaryExpression 2782683 2782748 + CallExpression 2782683 2782718 + Identifier 2782683 2782703 + Identifier 2782704 2782717 + ExclamationEqualsEqualsToken 2782718 2782722 + CallExpression 2782722 2782748 + Identifier 2782722 2782742 + Identifier 2782743 2782747 + Block 2782749 2783479 + VariableStatement 2782751 2782860 + VariableDeclarationList 2782751 2782859 + VariableDeclaration 2782790 2782859 + Identifier 2782790 2782795 + CallExpression 2782797 2782859 + Identifier 2782797 2782827 + BinaryExpression 2782828 2782858 + PropertyAccessExpression 2782828 2782845 + Identifier 2782828 2782832 + Identifier 2782833 2782845 + BarBarToken 2782845 2782848 + PropertyAccessExpression 2782848 2782858 + Identifier 2782848 2782853 + Identifier 2782854 2782858 + VariableStatement 2782860 2783286 + VariableDeclarationList 2782860 2783285 + VariableDeclaration 2782899 2783285 + Identifier 2782899 2782910 + ConditionalExpression 2782912 2783285 + Identifier 2782912 2782919 + QuestionToken 2782919 2782958 + CallExpression 2782958 2783077 + Identifier 2782958 2782964 + Identifier 2782965 2782969 + PropertyAccessExpression 2782970 2783047 + Identifier 2782970 2782982 + Identifier 2782983 2783047 + Identifier 2783048 2783076 + ColonToken 2783077 2783116 + CallExpression 2783116 2783285 + Identifier 2783116 2783122 + Identifier 2783123 2783127 + PropertyAccessExpression 2783128 2783249 + Identifier 2783128 2783140 + Identifier 2783141 2783249 + Identifier 2783250 2783255 + Identifier 2783256 2783284 + ExpressionStatement 2783286 2783408 + CallExpression 2783286 2783407 + Identifier 2783286 2783353 + Identifier 2783354 2783364 + ConditionalExpression 2783365 2783400 + Identifier 2783365 2783372 + QuestionToken 2783372 2783374 + Identifier 2783374 2783384 + ColonToken 2783384 2783386 + Identifier 2783386 2783400 + Identifier 2783401 2783406 + BreakStatement 2783408 2783448 + IfStatement 2783548 2784949 + BinaryExpression 2783572 2783851 + BinaryExpression 2783572 2783745 + BinaryExpression 2783572 2783703 + PropertyAccessExpression 2783572 2783630 + Identifier 2783572 2783609 + Identifier 2783610 2783630 + AmpersandAmpersandToken 2783630 2783633 + BinaryExpression 2783633 2783703 + PropertyAccessExpression 2783633 2783664 + Identifier 2783633 2783659 + Identifier 2783660 2783664 + ExclamationEqualsEqualsToken 2783664 2783668 + PropertyAccessExpression 2783668 2783703 + Identifier 2783668 2783679 + Identifier 2783680 2783703 + AmpersandAmpersandToken 2783703 2783706 + PrefixUnaryExpression 2783706 2783745 + CallExpression 2783729 2783745 + Identifier 2783729 2783739 + Identifier 2783740 2783744 + AmpersandAmpersandToken 2783745 2783748 + BinaryExpression 2783748 2783851 + CallExpression 2783748 2783827 + PropertyAccessExpression 2783748 2783800 + Identifier 2783748 2783774 + Identifier 2783775 2783800 + CallExpression 2783801 2783826 + Identifier 2783801 2783820 + Identifier 2783821 2783825 + EqualsEqualsEqualsToken 2783827 2783831 + PropertyAccessExpression 2783831 2783851 + Identifier 2783831 2783842 + Identifier 2783843 2783851 + Block 2783870 2784022 + ExpressionStatement 2783872 2784003 + CallExpression 2783872 2784002 + Identifier 2783872 2783899 + Identifier 2783900 2783904 + PropertyAccessExpression 2783905 2784001 + Identifier 2783905 2783917 + Identifier 2783918 2784001 + IfStatement 2784044 2784949 + BinaryExpression 2784049 2784353 + BinaryExpression 2784049 2784247 + BinaryExpression 2784049 2784178 + BinaryExpression 2784049 2784105 + Identifier 2784049 2784081 + EqualsEqualsEqualsToken 2784081 2784085 + PropertyAccessExpression 2784085 2784105 + Identifier 2784085 2784096 + Identifier 2784097 2784105 + AmpersandAmpersandToken 2784105 2784108 + BinaryExpression 2784108 2784178 + PropertyAccessExpression 2784108 2784139 + Identifier 2784108 2784134 + Identifier 2784135 2784139 + ExclamationEqualsEqualsToken 2784139 2784143 + PropertyAccessExpression 2784143 2784178 + Identifier 2784143 2784154 + Identifier 2784155 2784178 + AmpersandAmpersandToken 2784178 2784181 + BinaryExpression 2784181 2784247 + PropertyAccessExpression 2784181 2784212 + Identifier 2784181 2784207 + Identifier 2784208 2784212 + ExclamationEqualsEqualsToken 2784212 2784216 + PropertyAccessExpression 2784216 2784247 + Identifier 2784216 2784227 + Identifier 2784228 2784247 + AmpersandAmpersandToken 2784247 2784250 + BinaryExpression 2784250 2784353 + CallExpression 2784250 2784329 + PropertyAccessExpression 2784250 2784302 + Identifier 2784250 2784276 + Identifier 2784277 2784302 + CallExpression 2784303 2784328 + Identifier 2784303 2784322 + Identifier 2784323 2784327 + EqualsEqualsEqualsToken 2784329 2784333 + PropertyAccessExpression 2784333 2784353 + Identifier 2784333 2784344 + Identifier 2784345 2784353 + Block 2784372 2784949 + ExpressionStatement 2784374 2784930 + CallExpression 2784374 2784929 + Identifier 2784374 2784832 + Identifier 2784833 2784837 + PropertyAccessExpression 2784838 2784928 + Identifier 2784838 2784850 + Identifier 2784851 2784928 + IfStatement 2784949 2785807 + BinaryExpression 2784973 2785216 + BinaryExpression 2784973 2785156 + BinaryExpression 2784973 2785098 + PropertyAccessExpression 2784973 2785031 + Identifier 2784973 2785010 + Identifier 2785011 2785031 + AmpersandAmpersandToken 2785031 2785034 + PrefixUnaryExpression 2785034 2785098 + CallExpression 2785057 2785098 + Identifier 2785057 2785092 + Identifier 2785093 2785097 + AmpersandAmpersandToken 2785098 2785101 + PrefixUnaryExpression 2785101 2785156 + ParenthesizedExpression 2785124 2785156 + BinaryExpression 2785125 2785155 + PropertyAccessExpression 2785125 2785135 + Identifier 2785125 2785129 + Identifier 2785130 2785135 + AmpersandToken 2785135 2785137 + PropertyAccessExpression 2785137 2785155 + Identifier 2785137 2785147 + Identifier 2785148 2785155 + AmpersandAmpersandToken 2785156 2785159 + BinaryExpression 2785159 2785216 + Identifier 2785159 2785192 + AmpersandToken 2785192 2785194 + PropertyAccessExpression 2785194 2785216 + Identifier 2785194 2785206 + Identifier 2785207 2785216 + Block 2785235 2785807 + VariableStatement 2785237 2785331 + VariableDeclarationList 2785237 2785330 + VariableDeclaration 2785264 2785330 + Identifier 2785264 2785285 + AsExpression 2785287 2785330 + PropertyAccessExpression 2785287 2785311 + Identifier 2785287 2785294 + Identifier 2785295 2785311 + TypeReference 2785314 2785330 + Identifier 2785314 2785330 + VariableStatement 2785331 2785484 + VariableDeclarationList 2785331 2785483 + VariableDeclaration 2785358 2785483 + Identifier 2785358 2785367 + CallExpression 2785369 2785483 + PropertyAccessExpression 2785369 2785427 + Identifier 2785369 2785374 + Identifier 2785375 2785427 + PropertyAccessExpression 2785428 2785482 + CallExpression 2785428 2785469 + Identifier 2785428 2785447 + Identifier 2785448 2785468 + Identifier 2785470 2785482 + IfStatement 2785484 2785788 + BinaryExpression 2785510 2785630 + BinaryExpression 2785510 2785556 + PropertyAccessExpression 2785510 2785536 + Identifier 2785510 2785530 + Identifier 2785531 2785536 + AmpersandToken 2785536 2785538 + PropertyAccessExpression 2785538 2785556 + Identifier 2785538 2785548 + Identifier 2785549 2785556 + AmpersandAmpersandToken 2785556 2785559 + ParenthesizedExpression 2785559 2785630 + BinaryExpression 2785561 2785629 + PrefixUnaryExpression 2785561 2785570 + Identifier 2785562 2785570 + BarBarToken 2785570 2785573 + PrefixUnaryExpression 2785573 2785629 + CallExpression 2785575 2785629 + Identifier 2785575 2785599 + PropertyAccessExpression 2785600 2785628 + PropertyAccessExpression 2785600 2785620 + Identifier 2785600 2785608 + Identifier 2785609 2785620 + Identifier 2785621 2785628 + Block 2785631 2785788 + ExpressionStatement 2785633 2785765 + CallExpression 2785633 2785764 + Identifier 2785633 2785664 + Identifier 2785665 2785669 + PropertyAccessExpression 2785670 2785734 + Identifier 2785670 2785682 + Identifier 2785683 2785734 + Identifier 2785735 2785763 + IfStatement 2785822 2786189 + CallExpression 2785842 2785865 + Identifier 2785842 2785859 + Identifier 2785860 2785864 + Block 2785866 2786189 + VariableStatement 2785868 2785954 + VariableDeclarationList 2785868 2785953 + VariableDeclaration 2785891 2785953 + Identifier 2785891 2785904 + CallExpression 2785906 2785953 + Identifier 2785906 2785939 + Identifier 2785940 2785946 + Identifier 2785947 2785952 + IfStatement 2785954 2786174 + BinaryExpression 2785976 2786037 + CallExpression 2785976 2786008 + Identifier 2785976 2785994 + Identifier 2785995 2786007 + AmpersandAmpersandToken 2786008 2786011 + PropertyAccessExpression 2786011 2786037 + Identifier 2786011 2786024 + Identifier 2786025 2786037 + Block 2786038 2786174 + ExpressionStatement 2786040 2786155 + CallExpression 2786040 2786154 + Identifier 2786040 2786085 + Identifier 2786086 2786090 + PropertyAccessExpression 2786091 2786117 + Identifier 2786091 2786104 + Identifier 2786105 2786117 + AsExpression 2786118 2786153 + PropertyAccessExpression 2786118 2786143 + Identifier 2786118 2786131 + Identifier 2786132 2786143 + StringKeyword 2786146 2786153 + FunctionDeclaration 2786207 2787359 + Identifier 2786223 2786256 + Parameter 2786257 2786271 + Identifier 2786257 2786263 + TypeReference 2786264 2786271 + Identifier 2786264 2786271 + Parameter 2786272 2786287 + Identifier 2786272 2786281 + TypeReference 2786282 2786287 + Identifier 2786282 2786287 + Block 2786288 2787359 + IfStatement 2786290 2786451 + BinaryExpression 2786304 2786409 + BinaryExpression 2786304 2786369 + PrefixUnaryExpression 2786304 2786339 + ParenthesizedExpression 2786305 2786339 + BinaryExpression 2786306 2786338 + PropertyAccessExpression 2786306 2786318 + Identifier 2786306 2786312 + Identifier 2786313 2786318 + AmpersandToken 2786318 2786320 + PropertyAccessExpression 2786320 2786338 + Identifier 2786320 2786332 + Identifier 2786333 2786338 + BarBarToken 2786339 2786342 + CallExpression 2786342 2786369 + Identifier 2786342 2786361 + Identifier 2786362 2786368 + BarBarToken 2786369 2786372 + PrefixUnaryExpression 2786372 2786409 + CallExpression 2786374 2786409 + Identifier 2786374 2786401 + Identifier 2786402 2786408 + Block 2786410 2786451 + ReturnStatement 2786412 2786440 + Identifier 2786432 2786439 + VariableStatement 2786451 2786505 + VariableDeclarationList 2786451 2786504 + VariableDeclaration 2786468 2786504 + Identifier 2786468 2786481 + CallExpression 2786483 2786504 + Identifier 2786483 2786496 + Identifier 2786497 2786503 + IfStatement 2786505 2786571 + BinaryExpression 2786519 2786549 + Identifier 2786519 2786531 + EqualsEqualsEqualsToken 2786531 2786535 + Identifier 2786535 2786549 + ReturnStatement 2786550 2786571 + Identifier 2786557 2786570 + WhileStatement 2786571 2787322 + BinaryExpression 2786590 2786622 + PropertyAccessExpression 2786590 2786602 + Identifier 2786590 2786596 + Identifier 2786597 2786602 + AmpersandToken 2786602 2786604 + PropertyAccessExpression 2786604 2786622 + Identifier 2786604 2786616 + Identifier 2786617 2786622 + Block 2786623 2787322 + VariableStatement 2786625 2786688 + VariableDeclarationList 2786625 2786687 + VariableDeclaration 2786644 2786687 + Identifier 2786644 2786651 + CallExpression 2786653 2786687 + Identifier 2786653 2786679 + Identifier 2786680 2786686 + IfStatement 2786688 2787311 + Identifier 2786706 2786712 + Block 2786713 2787252 + IfStatement 2786715 2786768 + BinaryExpression 2786737 2786760 + Identifier 2786737 2786743 + EqualsEqualsEqualsToken 2786743 2786747 + Identifier 2786747 2786760 + BreakStatement 2786761 2786768 + IfStatement 2786768 2787237 + BinaryExpression 2786790 2786840 + PropertyAccessExpression 2786790 2786809 + Identifier 2786790 2786796 + Identifier 2786797 2786809 + AmpersandAmpersandToken 2786809 2786812 + CallExpression 2786812 2786840 + Identifier 2786812 2786819 + PropertyAccessExpression 2786820 2786839 + Identifier 2786820 2786826 + Identifier 2786827 2786839 + Block 2786841 2787237 + IfStatement 2786843 2787218 + CallExpression 2786869 2786895 + Identifier 2786869 2786887 + Identifier 2786888 2786894 + Block 2786896 2787064 + ExpressionStatement 2786898 2787009 + CallExpression 2786898 2787008 + Identifier 2786898 2786947 + Identifier 2786948 2786956 + PropertyAccessExpression 2786957 2786977 + Identifier 2786957 2786964 + Identifier 2786965 2786977 + AsExpression 2786978 2787007 + PropertyAccessExpression 2786978 2786997 + Identifier 2786978 2786985 + Identifier 2786986 2786997 + StringKeyword 2787000 2787007 + BreakStatement 2787009 2787041 + Block 2787090 2787218 + IfStatement 2787092 2787153 + BinaryExpression 2787122 2787145 + Identifier 2787122 2787128 + EqualsEqualsEqualsToken 2787128 2787132 + Identifier 2787132 2787145 + BreakStatement 2787146 2787153 + ExpressionStatement 2787153 2787195 + BinaryExpression 2787153 2787194 + Identifier 2787153 2787185 + EqualsToken 2787185 2787187 + Identifier 2787187 2787194 + Block 2787270 2787311 + BreakStatement 2787272 2787296 + ReturnStatement 2787322 2787352 + Identifier 2787338 2787351 + FunctionDeclaration 2787359 2788065 + Identifier 2787375 2787394 + Parameter 2787395 2787475 + Identifier 2787395 2787399 + UnionType 2787400 2787475 + TypeReference 2787400 2787424 + Identifier 2787400 2787424 + TypeReference 2787426 2787439 + Identifier 2787426 2787439 + TypeReference 2787441 2787457 + Identifier 2787441 2787457 + TypeReference 2787459 2787475 + Identifier 2787459 2787475 + Block 2787476 2788065 + ExpressionStatement 2787478 2787539 + CallExpression 2787478 2787538 + Identifier 2787478 2787521 + Identifier 2787522 2787526 + PropertyAccessExpression 2787527 2787537 + Identifier 2787527 2787532 + Identifier 2787533 2787537 + ExpressionStatement 2787539 2787572 + CallExpression 2787539 2787571 + Identifier 2787539 2787565 + Identifier 2787566 2787570 + IfStatement 2787572 2788058 + BinaryExpression 2787586 2787626 + PropertyAccessExpression 2787586 2787595 + Identifier 2787586 2787590 + Identifier 2787591 2787595 + EqualsEqualsEqualsToken 2787595 2787599 + PropertyAccessExpression 2787599 2787626 + Identifier 2787599 2787610 + Identifier 2787611 2787626 + Block 2787627 2788058 + ExpressionStatement 2787629 2787684 + CallExpression 2787629 2787683 + Identifier 2787629 2787664 + PropertyAccessExpression 2787665 2787682 + Identifier 2787665 2787669 + Identifier 2787670 2787682 + IfStatement 2787684 2788047 + BinaryExpression 2787702 2787931 + BinaryExpression 2787702 2787833 + CallExpression 2787702 2787777 + Identifier 2787702 2787745 + BinaryExpression 2787746 2787776 + PropertyAccessExpression 2787746 2787763 + Identifier 2787746 2787750 + Identifier 2787751 2787763 + BarBarToken 2787763 2787766 + PropertyAccessExpression 2787766 2787776 + Identifier 2787766 2787771 + Identifier 2787772 2787776 + AmpersandAmpersandToken 2787777 2787780 + CallExpression 2787780 2787833 + Identifier 2787780 2787816 + Identifier 2787817 2787832 + AmpersandAmpersandToken 2787833 2787836 + BinaryExpression 2787836 2787931 + CallExpression 2787836 2787911 + PropertyAccessExpression 2787836 2787884 + Identifier 2787836 2787858 + Identifier 2787859 2787884 + CallExpression 2787885 2787910 + Identifier 2787885 2787904 + Identifier 2787905 2787909 + LessThanToken 2787911 2787913 + PropertyAccessExpression 2787913 2787931 + Identifier 2787913 2787924 + Identifier 2787925 2787931 + Block 2787946 2788047 + ExpressionStatement 2787948 2788032 + CallExpression 2787948 2788031 + Identifier 2787948 2787990 + Identifier 2787991 2787995 + PropertyAccessExpression 2787996 2788030 + Identifier 2787996 2788016 + Identifier 2788017 2788030 + FunctionDeclaration 2788065 2790975 + Identifier 2788081 2788103 + Parameter 2788104 2788171 + Identifier 2788104 2788115 + UnionType 2788116 2788171 + TypeReference 2788116 2788134 + Identifier 2788116 2788134 + TypeReference 2788136 2788154 + Identifier 2788136 2788154 + TypeReference 2788156 2788171 + Identifier 2788156 2788171 + Block 2788172 2790975 + VariableStatement 2788174 2788220 + VariableDeclarationList 2788174 2788219 + VariableDeclaration 2788189 2788219 + Identifier 2788189 2788194 + PropertyAccessExpression 2788196 2788219 + Identifier 2788196 2788208 + Identifier 2788209 2788219 + IfStatement 2788220 2790968 + Identifier 2788234 2788238 + Block 2788239 2790968 + VariableStatement 2788241 2788337 + VariableDeclarationList 2788241 2788336 + VariableDeclaration 2788260 2788336 + Identifier 2788260 2788281 + CallExpression 2788283 2788336 + Identifier 2788283 2788313 + TrueKeyword 2788314 2788335 + IfStatement 2788337 2788554 + BinaryExpression 2788355 2788395 + Identifier 2788355 2788375 + ExclamationEqualsEqualsToken 2788375 2788379 + Identifier 2788379 2788395 + Block 2788396 2788554 + ExpressionStatement 2788398 2788539 + CallExpression 2788398 2788538 + Identifier 2788398 2788437 + CallExpression 2788438 2788471 + Identifier 2788438 2788465 + Identifier 2788466 2788470 + CallExpression 2788472 2788531 + Identifier 2788472 2788488 + Identifier 2788489 2788509 + PropertyAccessExpression 2788510 2788530 + Identifier 2788510 2788520 + Identifier 2788521 2788530 + Identifier 2788532 2788537 + VariableStatement 2788554 2788650 + VariableDeclarationList 2788554 2788649 + VariableDeclaration 2788575 2788649 + Identifier 2788575 2788598 + CallExpression 2788600 2788649 + Identifier 2788600 2788636 + Identifier 2788637 2788648 + VariableStatement 2788650 2788770 + VariableDeclarationList 2788650 2788769 + VariableDeclaration 2788669 2788769 + Identifier 2788669 2788678 + CallExpression 2788680 2788769 + Identifier 2788680 2788706 + Identifier 2788707 2788711 + ConditionalExpression 2788712 2788768 + Identifier 2788712 2788735 + QuestionToken 2788735 2788737 + Identifier 2788737 2788756 + ColonToken 2788756 2788758 + Identifier 2788758 2788768 + VariableStatement 2788770 2788867 + VariableDeclarationList 2788770 2788866 + VariableDeclaration 2788789 2788866 + Identifier 2788789 2788808 + BinaryExpression 2788810 2788866 + PropertyAccessExpression 2788810 2788839 + PropertyAccessExpression 2788810 2788833 + Identifier 2788810 2788822 + Identifier 2788823 2788833 + Identifier 2788834 2788839 + EqualsEqualsEqualsToken 2788839 2788843 + PropertyAccessExpression 2788843 2788866 + Identifier 2788843 2788854 + Identifier 2788855 2788866 + IfStatement 2788867 2789052 + BinaryExpression 2788885 2788919 + Identifier 2788885 2788907 + AmpersandAmpersandToken 2788907 2788910 + Identifier 2788910 2788919 + Block 2788920 2789052 + ReturnStatement 2788922 2788947 + IfStatement 2789052 2789553 + PrefixUnaryExpression 2789072 2789115 + CallExpression 2789073 2789115 + Identifier 2789073 2789103 + Identifier 2789104 2789114 + Block 2789116 2789553 + ReturnStatement 2789118 2789538 + CallExpression 2789142 2789537 + Identifier 2789142 2789161 + Identifier 2789162 2789188 + ConditionalExpression 2789189 2789517 + Identifier 2789189 2789229 + QuestionToken 2789229 2789256 + PropertyAccessExpression 2789256 2789373 + Identifier 2789256 2789268 + Identifier 2789269 2789373 + ColonToken 2789373 2789400 + PropertyAccessExpression 2789400 2789517 + Identifier 2789400 2789412 + Identifier 2789413 2789517 + IfStatement 2789553 2789802 + BinaryExpression 2789573 2789630 + BinaryExpression 2789573 2789607 + Identifier 2789573 2789583 + EqualsEqualsEqualsToken 2789583 2789587 + PropertyAccessExpression 2789587 2789607 + Identifier 2789587 2789598 + Identifier 2789599 2789607 + AmpersandAmpersandToken 2789607 2789610 + PrefixUnaryExpression 2789610 2789630 + Identifier 2789612 2789630 + Block 2789631 2789802 + ReturnStatement 2789633 2789787 + CallExpression 2789657 2789786 + Identifier 2789657 2789682 + Identifier 2789683 2789687 + PropertyAccessExpression 2789688 2789785 + Identifier 2789688 2789700 + Identifier 2789701 2789785 + IfStatement 2789802 2790349 + BinaryExpression 2789822 2789947 + PropertyAccessExpression 2789822 2789849 + Identifier 2789822 2789833 + Identifier 2789834 2789849 + AmpersandAmpersandToken 2789849 2789852 + BinaryExpression 2789852 2789947 + CallExpression 2789852 2789923 + Identifier 2789852 2789894 + PropertyAccessExpression 2789895 2789922 + Identifier 2789895 2789906 + Identifier 2789907 2789922 + EqualsEqualsEqualsToken 2789923 2789927 + PropertyAccessExpression 2789927 2789947 + Identifier 2789927 2789938 + Identifier 2789939 2789947 + Block 2789948 2790349 + ReturnStatement 2789950 2790334 + CallExpression 2789974 2790333 + Identifier 2789974 2789993 + Identifier 2789994 2790020 + ConditionalExpression 2790021 2790313 + Identifier 2790021 2790061 + QuestionToken 2790061 2790088 + PropertyAccessExpression 2790088 2790187 + Identifier 2790088 2790100 + Identifier 2790101 2790187 + ColonToken 2790187 2790214 + PropertyAccessExpression 2790214 2790313 + Identifier 2790214 2790226 + Identifier 2790227 2790313 + VariableStatement 2790349 2790516 + VariableDeclarationList 2790349 2790515 + VariableDeclaration 2790370 2790515 + Identifier 2790370 2790381 + BinaryExpression 2790383 2790515 + CallExpression 2790383 2790413 + Identifier 2790383 2790400 + Identifier 2790401 2790412 + BarBarToken 2790413 2790416 + ParenthesizedExpression 2790416 2790515 + ConditionalExpression 2790418 2790514 + CallExpression 2790418 2790450 + Identifier 2790418 2790437 + Identifier 2790438 2790449 + QuestionToken 2790450 2790452 + PropertyAccessExpression 2790452 2790489 + PropertyAccessExpression 2790452 2790477 + Identifier 2790452 2790464 + Identifier 2790465 2790477 + QuestionDotToken 2790477 2790479 + Identifier 2790479 2790489 + ColonToken 2790489 2790491 + PropertyAccessExpression 2790491 2790514 + Identifier 2790491 2790503 + Identifier 2790504 2790514 + IfStatement 2790516 2790794 + Identifier 2790534 2790544 + Block 2790545 2790794 + ReturnStatement 2790547 2790779 + CallExpression 2790571 2790778 + Identifier 2790571 2790590 + Identifier 2790591 2790595 + ConditionalExpression 2790596 2790777 + Identifier 2790596 2790615 + QuestionToken 2790615 2790617 + PropertyAccessExpression 2790617 2790696 + Identifier 2790617 2790629 + Identifier 2790630 2790696 + ColonToken 2790696 2790698 + PropertyAccessExpression 2790698 2790777 + Identifier 2790698 2790710 + Identifier 2790711 2790777 + IfStatement 2790794 2790957 + Identifier 2790814 2790822 + Block 2790823 2790957 + ReturnStatement 2790825 2790942 + CallExpression 2790849 2790941 + Identifier 2790849 2790868 + Identifier 2790869 2790873 + PropertyAccessExpression 2790874 2790940 + Identifier 2790874 2790886 + Identifier 2790887 2790940 + FunctionDeclaration 2790975 2791124 + Identifier 2790991 2791012 + Parameter 2791013 2791034 + Identifier 2791013 2791017 + TypeReference 2791018 2791034 + Identifier 2791018 2791034 + Block 2791035 2791124 + ReturnStatement 2791037 2791117 + CallExpression 2791053 2791116 + Identifier 2791053 2791081 + CallExpression 2791082 2791115 + Identifier 2791082 2791103 + PropertyAccessExpression 2791104 2791114 + Identifier 2791104 2791108 + Identifier 2791109 2791114 + FunctionDeclaration 2791124 2793801 + Identifier 2791140 2791163 + Parameter 2791164 2791187 + Identifier 2791164 2791168 + TypeReference 2791169 2791187 + Identifier 2791169 2791187 + Block 2791188 2793801 + IfStatement 2791190 2791584 + CallExpression 2791204 2791437 + Identifier 2791204 2791236 + Identifier 2791237 2791241 + ConditionalExpression 2791242 2791436 + CallExpression 2791242 2791259 + Identifier 2791242 2791253 + Identifier 2791254 2791258 + QuestionToken 2791259 2791261 + PropertyAccessExpression 2791261 2791341 + Identifier 2791261 2791273 + Identifier 2791274 2791341 + ColonToken 2791341 2791343 + PropertyAccessExpression 2791343 2791436 + Identifier 2791343 2791355 + Identifier 2791356 2791436 + Block 2791438 2791584 + ReturnStatement 2791440 2791573 + IfStatement 2791584 2791760 + BinaryExpression 2791598 2791644 + PrefixUnaryExpression 2791598 2791626 + CallExpression 2791599 2791626 + Identifier 2791599 2791620 + Identifier 2791621 2791625 + AmpersandAmpersandToken 2791626 2791629 + PropertyAccessExpression 2791629 2791644 + Identifier 2791629 2791634 + Identifier 2791635 2791644 + Block 2791645 2791760 + ExpressionStatement 2791647 2791749 + CallExpression 2791647 2791748 + Identifier 2791647 2791685 + Identifier 2791686 2791690 + PropertyAccessExpression 2791691 2791747 + Identifier 2791691 2791703 + Identifier 2791704 2791747 + IfStatement 2791760 2793756 + CallExpression 2791774 2791818 + Identifier 2791774 2791812 + Identifier 2791813 2791817 + Block 2791819 2793756 + VariableStatement 2791821 2791854 + VariableDeclarationList 2791821 2791853 + VariableDeclaration 2791838 2791853 + Identifier 2791838 2791853 + VariableStatement 2791854 2791907 + VariableDeclarationList 2791854 2791906 + VariableDeclaration 2791873 2791906 + Identifier 2791873 2791886 + PropertyAccessExpression 2791888 2791906 + Identifier 2791888 2791893 + Identifier 2791894 2791906 + IfStatement 2791907 2793745 + BinaryExpression 2791925 2791980 + Identifier 2791925 2791937 + AmpersandAmpersandToken 2791937 2791940 + PrefixUnaryExpression 2791940 2791980 + CallExpression 2791942 2791980 + Identifier 2791942 2791966 + Identifier 2791967 2791979 + Block 2791981 2793582 + IfStatement 2791983 2792099 + PropertyAccessExpression 2792005 2792022 + Identifier 2792005 2792017 + Identifier 2792018 2792022 + Block 2792023 2792099 + ExpressionStatement 2792025 2792080 + CallExpression 2792025 2792079 + Identifier 2792025 2792065 + Identifier 2792066 2792078 + IfStatement 2792099 2793001 + PropertyAccessExpression 2792121 2792147 + Identifier 2792121 2792133 + Identifier 2792134 2792147 + Block 2792148 2793001 + IfStatement 2792150 2792982 + BinaryExpression 2792176 2792238 + PropertyAccessExpression 2792176 2792207 + PropertyAccessExpression 2792176 2792202 + Identifier 2792176 2792188 + Identifier 2792189 2792202 + Identifier 2792203 2792207 + EqualsEqualsEqualsToken 2792207 2792211 + PropertyAccessExpression 2792211 2792238 + Identifier 2792211 2792222 + Identifier 2792223 2792238 + Block 2792239 2792665 + ExpressionStatement 2792241 2792314 + CallExpression 2792241 2792313 + Identifier 2792241 2792285 + PropertyAccessExpression 2792286 2792312 + Identifier 2792286 2792298 + Identifier 2792299 2792312 + IfStatement 2792314 2792642 + BinaryExpression 2792344 2792460 + BinaryExpression 2792344 2792421 + CallExpression 2792344 2792401 + PropertyAccessExpression 2792344 2792374 + Identifier 2792344 2792348 + Identifier 2792349 2792374 + CallExpression 2792375 2792400 + Identifier 2792375 2792394 + Identifier 2792395 2792399 + LessThanToken 2792401 2792403 + PropertyAccessExpression 2792403 2792421 + Identifier 2792403 2792414 + Identifier 2792415 2792421 + AmpersandAmpersandToken 2792421 2792424 + CallExpression 2792424 2792460 + Identifier 2792424 2792443 + Identifier 2792444 2792459 + Block 2792461 2792642 + ExpressionStatement 2792463 2792615 + CallExpression 2792463 2792614 + Identifier 2792463 2792576 + Identifier 2792577 2792581 + PropertyAccessExpression 2792582 2792613 + Identifier 2792582 2792602 + Identifier 2792603 2792613 + Block 2792691 2792982 + ExpressionStatement 2792693 2792790 + BinaryExpression 2792693 2792789 + Identifier 2792693 2792733 + EqualsToken 2792733 2792735 + CallExpression 2792735 2792789 + Identifier 2792735 2792761 + Identifier 2792762 2792766 + PropertyAccessExpression 2792767 2792788 + Identifier 2792767 2792772 + Identifier 2792773 2792788 + IfStatement 2792790 2792959 + Identifier 2792820 2792834 + Block 2792835 2792959 + ExpressionStatement 2792837 2792932 + CallExpression 2792837 2792931 + Identifier 2792837 2792874 + PropertyAccessExpression 2792875 2792910 + PropertyAccessExpression 2792875 2792901 + Identifier 2792875 2792887 + Identifier 2792888 2792901 + Identifier 2792902 2792910 + Identifier 2792911 2792930 + IfStatement 2793001 2793567 + BinaryExpression 2793025 2793225 + BinaryExpression 2793025 2793188 + BinaryExpression 2793025 2793121 + BinaryExpression 2793025 2793084 + PrefixUnaryExpression 2793025 2793049 + PropertyAccessExpression 2793026 2793049 + Identifier 2793026 2793038 + Identifier 2793039 2793049 + AmpersandAmpersandToken 2793049 2793052 + BinaryExpression 2793052 2793084 + PropertyAccessExpression 2793052 2793070 + Identifier 2793052 2793063 + Identifier 2793064 2793070 + LessThanEqualsToken 2793070 2793073 + Identifier 2793073 2793084 + AmpersandAmpersandToken 2793084 2793087 + BinaryExpression 2793087 2793121 + Identifier 2793087 2793098 + LessThanEqualsToken 2793098 2793101 + PropertyAccessExpression 2793101 2793121 + Identifier 2793101 2793112 + Identifier 2793113 2793121 + AmpersandAmpersandToken 2793121 2793124 + CallExpression 2793124 2793188 + Identifier 2793124 2793150 + PropertyAccessExpression 2793151 2793171 + Identifier 2793151 2793155 + Identifier 2793156 2793171 + Identifier 2793172 2793187 + AmpersandAmpersandToken 2793188 2793191 + PrefixUnaryExpression 2793191 2793225 + CallExpression 2793193 2793225 + Identifier 2793193 2793219 + Identifier 2793220 2793224 + Block 2793226 2793567 + ExpressionStatement 2793228 2793548 + CallExpression 2793228 2793547 + Identifier 2793228 2793372 + PropertyAccessExpression 2793373 2793393 + Identifier 2793373 2793377 + Identifier 2793378 2793393 + PropertyAccessExpression 2793394 2793522 + Identifier 2793394 2793406 + Identifier 2793407 2793522 + ElementAccessExpression 2793523 2793546 + Identifier 2793523 2793534 + Identifier 2793535 2793545 + IfStatement 2793600 2793745 + BinaryExpression 2793605 2793650 + Identifier 2793605 2793633 + AmpersandAmpersandToken 2793633 2793636 + PrefixUnaryExpression 2793636 2793650 + Identifier 2793638 2793650 + Block 2793651 2793745 + ExpressionStatement 2793653 2793730 + VoidExpression 2793653 2793729 + CallExpression 2793675 2793729 + Identifier 2793675 2793701 + Identifier 2793702 2793706 + PropertyAccessExpression 2793707 2793728 + Identifier 2793707 2793712 + Identifier 2793713 2793728 + ExpressionStatement 2793756 2793794 + CallExpression 2793756 2793793 + Identifier 2793756 2793787 + Identifier 2793788 2793792 + FunctionDeclaration 2793801 2794067 + Identifier 2793817 2793844 + Parameter 2793845 2793868 + Identifier 2793845 2793849 + TypeReference 2793850 2793868 + Identifier 2793850 2793868 + Block 2793869 2794067 + ReturnStatement 2793871 2794060 + BinaryExpression 2793887 2794059 + PrefixUnaryExpression 2793887 2793905 + PrefixUnaryExpression 2793889 2793905 + PropertyAccessExpression 2793890 2793905 + Identifier 2793890 2793894 + Identifier 2793895 2793905 + AmpersandAmpersandToken 2793905 2793908 + CallExpression 2793908 2794059 + PropertyAccessExpression 2793908 2793938 + PropertyAccessExpression 2793908 2793933 + PropertyAccessExpression 2793908 2793924 + Identifier 2793908 2793913 + Identifier 2793914 2793924 + Identifier 2793925 2793933 + Identifier 2793934 2793938 + ArrowFunction 2793939 2794058 + Parameter 2793939 2793943 + Identifier 2793939 2793943 + EqualsGreaterThanToken 2793943 2793946 + BinaryExpression 2793946 2794058 + BinaryExpression 2793946 2793997 + CallExpression 2793946 2793986 + Identifier 2793946 2793975 + PropertyAccessExpression 2793976 2793985 + Identifier 2793976 2793980 + Identifier 2793981 2793985 + EqualsEqualsEqualsToken 2793986 2793990 + StringLiteral 2793990 2793997 + AmpersandAmpersandToken 2793997 2794000 + BinaryExpression 2794000 2794058 + PropertyAccessExpression 2794000 2794047 + CallExpression 2794000 2794041 + Identifier 2794000 2794008 + PropertyAccessExpression 2794009 2794019 + Identifier 2794009 2794013 + Identifier 2794014 2794019 + Identifier 2794020 2794040 + QuestionDotToken 2794041 2794043 + Identifier 2794043 2794047 + EqualsEqualsEqualsToken 2794047 2794051 + StringLiteral 2794051 2794058 + FunctionDeclaration 2794067 2796805 + Identifier 2794083 2794112 + Parameter 2794113 2794142 + Identifier 2794113 2794117 + TypeReference 2794118 2794142 + Identifier 2794118 2794142 + Block 2794143 2796805 + IfStatement 2794145 2794539 + CallExpression 2794159 2794392 + Identifier 2794159 2794191 + Identifier 2794192 2794196 + ConditionalExpression 2794197 2794391 + CallExpression 2794197 2794214 + Identifier 2794197 2794208 + Identifier 2794209 2794213 + QuestionToken 2794214 2794216 + PropertyAccessExpression 2794216 2794296 + Identifier 2794216 2794228 + Identifier 2794229 2794296 + ColonToken 2794296 2794298 + PropertyAccessExpression 2794298 2794391 + Identifier 2794298 2794310 + Identifier 2794311 2794391 + Block 2794393 2794539 + ReturnStatement 2794395 2794528 + ExpressionStatement 2794539 2794579 + CallExpression 2794539 2794578 + Identifier 2794539 2794572 + Identifier 2794573 2794577 + IfStatement 2794579 2794779 + BinaryExpression 2794593 2794664 + PropertyAccessExpression 2794593 2794627 + Identifier 2794593 2794608 + Identifier 2794609 2794627 + AmpersandAmpersandToken 2794627 2794630 + PrefixUnaryExpression 2794630 2794664 + ParenthesizedExpression 2794632 2794664 + BinaryExpression 2794633 2794663 + PropertyAccessExpression 2794633 2794643 + Identifier 2794633 2794637 + Identifier 2794638 2794643 + AmpersandToken 2794643 2794645 + PropertyAccessExpression 2794645 2794663 + Identifier 2794645 2794655 + Identifier 2794656 2794663 + Block 2794665 2794779 + ExpressionStatement 2794667 2794768 + CallExpression 2794667 2794767 + Identifier 2794667 2794686 + Identifier 2794687 2794691 + PropertyAccessExpression 2794692 2794766 + Identifier 2794692 2794704 + Identifier 2794705 2794766 + IfStatement 2794779 2796798 + BinaryExpression 2794793 2794886 + CallExpression 2794793 2794838 + Identifier 2794793 2794832 + Identifier 2794833 2794837 + BarBarToken 2794838 2794841 + CallExpression 2794841 2794886 + Identifier 2794841 2794880 + Identifier 2794881 2794885 + Block 2794887 2796798 + ExpressionStatement 2794889 2794928 + CallExpression 2794889 2794927 + Identifier 2794889 2794921 + Identifier 2794922 2794926 + ExpressionStatement 2794928 2795003 + CallExpression 2794928 2795002 + Identifier 2794928 2794962 + Identifier 2794963 2794967 + PropertyAccessExpression 2794968 2795001 + Identifier 2794968 2794982 + Identifier 2794983 2795001 + IfStatement 2795003 2796787 + BinaryExpression 2795021 2795085 + PropertyAccessExpression 2795021 2795046 + PropertyAccessExpression 2795021 2795041 + Identifier 2795021 2795025 + Identifier 2795026 2795041 + Identifier 2795042 2795046 + ExclamationEqualsEqualsToken 2795046 2795050 + PropertyAccessExpression 2795050 2795085 + Identifier 2795050 2795061 + Identifier 2795062 2795085 + Block 2795086 2796268 + VariableStatement 2795088 2795164 + VariableDeclarationList 2795088 2795163 + VariableDeclaration 2795111 2795163 + Identifier 2795111 2795118 + CallExpression 2795120 2795163 + Identifier 2795120 2795133 + CallExpression 2795134 2795162 + Identifier 2795134 2795156 + Identifier 2795157 2795161 + IfStatement 2795164 2796095 + BinaryExpression 2795186 2795210 + Identifier 2795186 2795192 + ExclamationEqualsEqualsToken 2795192 2795196 + Identifier 2795196 2795210 + Block 2795211 2796095 + VariableStatement 2795213 2795278 + VariableDeclarationList 2795213 2795277 + VariableDeclaration 2795240 2795277 + Identifier 2795240 2795252 + CallExpression 2795254 2795277 + Identifier 2795254 2795269 + Identifier 2795270 2795276 + IfStatement 2795278 2795896 + BinaryExpression 2795304 2795335 + Identifier 2795304 2795315 + AmpersandToken 2795315 2795317 + PropertyAccessExpression 2795317 2795335 + Identifier 2795317 2795329 + Identifier 2795330 2795335 + Block 2795336 2795896 + VariableStatement 2795338 2795548 + VariableDeclarationList 2795338 2795547 + VariableDeclaration 2795493 2795547 + Identifier 2795493 2795504 + CallExpression 2795506 2795547 + Identifier 2795506 2795525 + PropertyAccessExpression 2795526 2795546 + Identifier 2795526 2795530 + Identifier 2795531 2795546 + IfStatement 2795548 2795873 + PrefixUnaryExpression 2795578 2795684 + ParenthesizedExpression 2795579 2795684 + BinaryExpression 2795580 2795683 + PropertyAccessExpression 2795580 2795659 + NonNullExpression 2795580 2795653 + CallExpression 2795580 2795652 + Identifier 2795580 2795597 + Identifier 2795598 2795608 + BinaryExpression 2795609 2795651 + PropertyAccessExpression 2795609 2795627 + Identifier 2795609 2795621 + Identifier 2795622 2795627 + BarToken 2795627 2795629 + PropertyAccessExpression 2795629 2795651 + Identifier 2795629 2795641 + Identifier 2795642 2795651 + Identifier 2795654 2795659 + AmpersandToken 2795659 2795661 + PropertyAccessExpression 2795661 2795683 + Identifier 2795661 2795673 + Identifier 2795674 2795683 + Block 2795685 2795873 + ExpressionStatement 2795687 2795846 + CallExpression 2795687 2795845 + Identifier 2795687 2795722 + Identifier 2795723 2795733 + PropertyAccessExpression 2795734 2795807 + Identifier 2795734 2795746 + Identifier 2795747 2795807 + CallExpression 2795808 2795844 + Identifier 2795808 2795832 + Identifier 2795833 2795843 + IfStatement 2795896 2796076 + BinaryExpression 2795922 2795952 + Identifier 2795922 2795933 + AmpersandToken 2795933 2795935 + PropertyAccessExpression 2795935 2795952 + Identifier 2795935 2795947 + Identifier 2795948 2795952 + Block 2795953 2796076 + ExpressionStatement 2795955 2796053 + CallExpression 2795955 2796052 + Identifier 2795955 2796004 + PropertyAccessExpression 2796005 2796014 + Identifier 2796005 2796009 + Identifier 2796010 2796014 + PropertyAccessExpression 2796015 2796051 + Identifier 2796015 2796027 + Identifier 2796028 2796051 + IfStatement 2796095 2796253 + PropertyAccessExpression 2796117 2796132 + Identifier 2796117 2796121 + Identifier 2796122 2796132 + Block 2796133 2796253 + ExpressionStatement 2796135 2796234 + CallExpression 2796135 2796233 + Identifier 2796135 2796175 + Identifier 2796176 2796180 + PropertyAccessExpression 2796181 2796232 + Identifier 2796181 2796193 + Identifier 2796194 2796232 + Block 2796286 2796787 + IfStatement 2796288 2796772 + BinaryExpression 2796310 2796433 + BinaryExpression 2796310 2796396 + BinaryExpression 2796310 2796376 + BinaryExpression 2796310 2796341 + PropertyAccessExpression 2796310 2796327 + Identifier 2796310 2796320 + Identifier 2796321 2796327 + LessThanEqualsToken 2796327 2796330 + Identifier 2796330 2796341 + AmpersandAmpersandToken 2796341 2796344 + BinaryExpression 2796344 2796376 + Identifier 2796344 2796355 + LessThanEqualsToken 2796355 2796358 + PropertyAccessExpression 2796358 2796376 + Identifier 2796358 2796369 + Identifier 2796370 2796376 + AmpersandAmpersandToken 2796376 2796379 + PrefixUnaryExpression 2796379 2796396 + PropertyAccessExpression 2796381 2796396 + Identifier 2796381 2796385 + Identifier 2796386 2796396 + AmpersandAmpersandToken 2796396 2796399 + PrefixUnaryExpression 2796399 2796433 + ParenthesizedExpression 2796401 2796433 + BinaryExpression 2796402 2796432 + PropertyAccessExpression 2796402 2796412 + Identifier 2796402 2796406 + Identifier 2796407 2796412 + AmpersandToken 2796412 2796414 + PropertyAccessExpression 2796414 2796432 + Identifier 2796414 2796424 + Identifier 2796425 2796432 + Block 2796434 2796772 + ExpressionStatement 2796436 2796753 + CallExpression 2796436 2796752 + Identifier 2796436 2796551 + Identifier 2796552 2796556 + PropertyAccessExpression 2796557 2796751 + Identifier 2796557 2796569 + Identifier 2796570 2796751 + FunctionDeclaration 2796805 2799981 + Identifier 2796821 2796844 + Parameter 2796845 2796868 + Identifier 2796845 2796849 + TypeReference 2796850 2796868 + Identifier 2796850 2796868 + Block 2796869 2799981 + IfStatement 2796871 2797253 + CallExpression 2796885 2797118 + Identifier 2796885 2796917 + Identifier 2796918 2796922 + ConditionalExpression 2796923 2797117 + CallExpression 2796923 2796940 + Identifier 2796923 2796934 + Identifier 2796935 2796939 + QuestionToken 2796940 2796942 + PropertyAccessExpression 2796942 2797022 + Identifier 2796942 2796954 + Identifier 2796955 2797022 + ColonToken 2797022 2797024 + PropertyAccessExpression 2797024 2797117 + Identifier 2797024 2797036 + Identifier 2797037 2797117 + Block 2797119 2797253 + ReturnStatement 2797121 2797242 + IfStatement 2797253 2797444 + BinaryExpression 2797269 2797328 + PrefixUnaryExpression 2797269 2797297 + CallExpression 2797270 2797297 + Identifier 2797270 2797291 + Identifier 2797292 2797296 + AmpersandAmpersandToken 2797297 2797300 + CallExpression 2797300 2797328 + Identifier 2797300 2797322 + Identifier 2797323 2797327 + Block 2797329 2797444 + ExpressionStatement 2797331 2797433 + CallExpression 2797331 2797432 + Identifier 2797331 2797369 + Identifier 2797370 2797374 + PropertyAccessExpression 2797375 2797431 + Identifier 2797375 2797387 + Identifier 2797388 2797431 + ExpressionStatement 2797444 2797492 + CallExpression 2797444 2797491 + Identifier 2797444 2797485 + Identifier 2797486 2797490 + IfStatement 2797492 2799936 + BinaryExpression 2797506 2797575 + PrefixUnaryExpression 2797506 2797527 + PropertyAccessExpression 2797507 2797527 + Identifier 2797507 2797511 + Identifier 2797512 2797527 + BarBarToken 2797527 2797530 + CallExpression 2797530 2797575 + Identifier 2797530 2797569 + Identifier 2797570 2797574 + Block 2797576 2799936 + IfStatement 2797578 2799925 + BinaryExpression 2797596 2797654 + PropertyAccessExpression 2797596 2797613 + Identifier 2797596 2797600 + Identifier 2797601 2797613 + AmpersandAmpersandToken 2797613 2797616 + PrefixUnaryExpression 2797616 2797654 + CallExpression 2797618 2797654 + Identifier 2797618 2797635 + PropertyAccessExpression 2797636 2797653 + Identifier 2797636 2797640 + Identifier 2797641 2797653 + Block 2797655 2798420 + ExpressionStatement 2797657 2797816 + CallExpression 2797657 2797815 + Identifier 2797657 2797765 + PropertyAccessExpression 2797766 2797792 + PropertyAccessExpression 2797766 2797783 + Identifier 2797766 2797770 + Identifier 2797771 2797783 + Identifier 2797784 2797792 + Identifier 2797793 2797814 + VariableStatement 2797816 2797949 + VariableDeclarationList 2797816 2797948 + VariableDeclaration 2797839 2797948 + Identifier 2797839 2797863 + BinaryExpression 2797865 2797948 + BinaryExpression 2797865 2797909 + PropertyAccessExpression 2797865 2797882 + PropertyAccessExpression 2797865 2797877 + Identifier 2797865 2797870 + Identifier 2797871 2797877 + Identifier 2797878 2797882 + EqualsEqualsEqualsToken 2797882 2797886 + PropertyAccessExpression 2797886 2797909 + Identifier 2797886 2797897 + Identifier 2797898 2797909 + AmpersandAmpersandToken 2797909 2797912 + CallExpression 2797912 2797948 + Identifier 2797912 2797928 + PropertyAccessExpression 2797929 2797947 + PropertyAccessExpression 2797929 2797940 + Identifier 2797929 2797933 + Identifier 2797934 2797940 + Identifier 2797941 2797947 + VariableStatement 2797949 2798157 + VariableDeclarationList 2797949 2798156 + VariableDeclaration 2797972 2798156 + Identifier 2797972 2798002 + BinaryExpression 2798004 2798156 + BinaryExpression 2798004 2798122 + BinaryExpression 2798004 2798076 + PrefixUnaryExpression 2798004 2798029 + Identifier 2798006 2798029 + AmpersandAmpersandToken 2798029 2798032 + BinaryExpression 2798032 2798076 + PropertyAccessExpression 2798032 2798049 + PropertyAccessExpression 2798032 2798044 + Identifier 2798032 2798037 + Identifier 2798038 2798044 + Identifier 2798045 2798049 + EqualsEqualsEqualsToken 2798049 2798053 + PropertyAccessExpression 2798053 2798076 + Identifier 2798053 2798064 + Identifier 2798065 2798076 + AmpersandAmpersandToken 2798076 2798079 + PrefixUnaryExpression 2798079 2798122 + PropertyAccessExpression 2798102 2798122 + Identifier 2798102 2798106 + Identifier 2798107 2798122 + AmpersandAmpersandToken 2798122 2798125 + BinaryExpression 2798125 2798156 + PropertyAccessExpression 2798125 2798136 + Identifier 2798125 2798130 + Identifier 2798131 2798136 + AmpersandToken 2798136 2798138 + PropertyAccessExpression 2798138 2798156 + Identifier 2798138 2798148 + Identifier 2798149 2798156 + IfStatement 2798157 2798405 + BinaryExpression 2798179 2798283 + BinaryExpression 2798179 2798249 + BinaryExpression 2798179 2798221 + PropertyAccessExpression 2798179 2798195 + PropertyAccessExpression 2798179 2798190 + Identifier 2798179 2798183 + Identifier 2798184 2798190 + Identifier 2798191 2798195 + ExclamationEqualsEqualsToken 2798195 2798199 + PropertyAccessExpression 2798199 2798221 + Identifier 2798199 2798210 + Identifier 2798211 2798221 + AmpersandAmpersandToken 2798221 2798224 + PrefixUnaryExpression 2798224 2798249 + Identifier 2798226 2798249 + AmpersandAmpersandToken 2798249 2798252 + PrefixUnaryExpression 2798252 2798283 + Identifier 2798254 2798283 + Block 2798284 2798405 + ExpressionStatement 2798286 2798386 + CallExpression 2798286 2798385 + Identifier 2798286 2798313 + Identifier 2798314 2798318 + PropertyAccessExpression 2798319 2798384 + Identifier 2798319 2798331 + Identifier 2798332 2798384 + Block 2798438 2799925 + VariableStatement 2798440 2798621 + VariableDeclarationList 2798440 2798620 + VariableDeclaration 2798550 2798620 + Identifier 2798550 2798563 + CallExpression 2798565 2798620 + Identifier 2798565 2798591 + Identifier 2798592 2798596 + NonNullExpression 2798597 2798619 + PropertyAccessExpression 2798597 2798618 + Identifier 2798597 2798602 + Identifier 2798603 2798618 + IfStatement 2798621 2799066 + BinaryExpression 2798643 2798698 + Identifier 2798643 2798655 + AmpersandAmpersandToken 2798655 2798658 + CallExpression 2798658 2798698 + Identifier 2798658 2798684 + Identifier 2798685 2798697 + Block 2798699 2798874 + ExpressionStatement 2798701 2798855 + CallExpression 2798701 2798854 + Identifier 2798701 2798728 + PropertyAccessExpression 2798729 2798749 + Identifier 2798729 2798733 + Identifier 2798734 2798749 + PropertyAccessExpression 2798750 2798823 + Identifier 2798750 2798762 + Identifier 2798763 2798823 + CallExpression 2798824 2798853 + Identifier 2798824 2798839 + Identifier 2798840 2798852 + IfStatement 2798896 2799066 + PropertyAccessExpression 2798901 2798918 + Identifier 2798901 2798905 + Identifier 2798906 2798918 + Block 2798919 2799066 + ExpressionStatement 2798921 2798979 + CallExpression 2798921 2798978 + Identifier 2798921 2798959 + PropertyAccessExpression 2798960 2798977 + Identifier 2798960 2798964 + Identifier 2798965 2798977 + ExpressionStatement 2798979 2799047 + CallExpression 2798979 2799046 + Identifier 2798979 2799022 + PropertyAccessExpression 2799023 2799045 + PropertyAccessExpression 2799023 2799040 + Identifier 2799023 2799027 + Identifier 2799028 2799040 + Identifier 2799041 2799045 + IfStatement 2799066 2799910 + BinaryExpression 2799088 2799165 + CallExpression 2799088 2799145 + PropertyAccessExpression 2799088 2799118 + Identifier 2799088 2799092 + Identifier 2799093 2799118 + CallExpression 2799119 2799144 + Identifier 2799119 2799138 + Identifier 2799139 2799143 + LessThanToken 2799145 2799147 + PropertyAccessExpression 2799147 2799165 + Identifier 2799147 2799158 + Identifier 2799159 2799165 + Block 2799166 2799910 + IfStatement 2799168 2799891 + PropertyAccessExpression 2799194 2799211 + Identifier 2799194 2799198 + Identifier 2799199 2799211 + Block 2799212 2799703 + IfStatement 2799214 2799680 + CallExpression 2799522 2799557 + Identifier 2799522 2799540 + Identifier 2799541 2799556 + Block 2799558 2799680 + ExpressionStatement 2799560 2799653 + CallExpression 2799560 2799652 + Identifier 2799560 2799614 + Identifier 2799615 2799619 + PropertyAccessExpression 2799620 2799651 + Identifier 2799620 2799640 + Identifier 2799641 2799651 + Block 2799729 2799891 + ExpressionStatement 2799731 2799868 + CallExpression 2799731 2799867 + Identifier 2799731 2799829 + Identifier 2799830 2799834 + PropertyAccessExpression 2799835 2799866 + Identifier 2799835 2799855 + Identifier 2799856 2799866 + ExpressionStatement 2799936 2799974 + CallExpression 2799936 2799973 + Identifier 2799936 2799967 + Identifier 2799968 2799972 + FunctionDeclaration 2799981 2800265 + Identifier 2799997 2800027 + Parameter 2800028 2800051 + Identifier 2800028 2800032 + TypeReference 2800033 2800051 + Identifier 2800033 2800051 + BooleanKeyword 2800053 2800061 + Block 2800061 2800265 + IfStatement 2800063 2800235 + BinaryExpression 2800077 2800147 + PropertyAccessExpression 2800077 2800092 + Identifier 2800077 2800081 + Identifier 2800082 2800092 + AmpersandAmpersandToken 2800092 2800095 + BinaryExpression 2800095 2800147 + PropertyAccessExpression 2800095 2800119 + PropertyAccessExpression 2800095 2800113 + Identifier 2800095 2800100 + Identifier 2800101 2800113 + QuestionDotToken 2800113 2800115 + Identifier 2800115 2800119 + EqualsEqualsEqualsToken 2800119 2800123 + PropertyAccessExpression 2800123 2800147 + Identifier 2800123 2800134 + Identifier 2800135 2800147 + Block 2800148 2800235 + ReturnStatement 2800150 2800224 + CallExpression 2800170 2800223 + Identifier 2800170 2800204 + PropertyAccessExpression 2800205 2800222 + Identifier 2800205 2800209 + Identifier 2800210 2800222 + ReturnStatement 2800235 2800258 + FalseKeyword 2800251 2800257 + FunctionDeclaration 2800265 2800717 + Identifier 2800281 2800314 + Parameter 2800315 2800330 + Identifier 2800315 2800319 + TypeReference 2800320 2800330 + Identifier 2800320 2800330 + Parameter 2800331 2800363 + Identifier 2800331 2800344 + TypeReference 2800345 2800363 + Identifier 2800345 2800363 + BooleanKeyword 2800365 2800373 + Block 2800373 2800717 + VariableStatement 2800375 2800559 + VariableDeclarationList 2800375 2800558 + VariableDeclaration 2800390 2800558 + Identifier 2800390 2800413 + BinaryExpression 2800415 2800558 + BinaryExpression 2800415 2800505 + BinaryExpression 2800415 2800458 + PropertyAccessExpression 2800415 2800432 + PropertyAccessExpression 2800415 2800427 + Identifier 2800415 2800420 + Identifier 2800421 2800427 + Identifier 2800428 2800432 + EqualsEqualsEqualsToken 2800432 2800436 + PropertyAccessExpression 2800436 2800458 + Identifier 2800436 2800447 + Identifier 2800448 2800458 + BarBarToken 2800458 2800461 + BinaryExpression 2800461 2800505 + PropertyAccessExpression 2800461 2800478 + PropertyAccessExpression 2800461 2800473 + Identifier 2800461 2800466 + Identifier 2800467 2800473 + Identifier 2800474 2800478 + EqualsEqualsEqualsToken 2800478 2800482 + PropertyAccessExpression 2800482 2800505 + Identifier 2800482 2800493 + Identifier 2800494 2800505 + BarBarToken 2800505 2800508 + BinaryExpression 2800508 2800558 + PropertyAccessExpression 2800508 2800525 + PropertyAccessExpression 2800508 2800520 + Identifier 2800508 2800513 + Identifier 2800514 2800520 + Identifier 2800521 2800525 + EqualsEqualsEqualsToken 2800525 2800529 + PropertyAccessExpression 2800529 2800558 + Identifier 2800529 2800540 + Identifier 2800541 2800558 + IfStatement 2800559 2800669 + PrefixUnaryExpression 2800573 2800596 + Identifier 2800574 2800596 + Block 2800597 2800669 + ExpressionStatement 2800599 2800658 + CallExpression 2800599 2800657 + Identifier 2800599 2800637 + Identifier 2800638 2800642 + Identifier 2800643 2800656 + ReturnStatement 2800669 2800710 + PrefixUnaryExpression 2800685 2800709 + Identifier 2800687 2800709 + FunctionDeclaration 2800717 2802627 + Identifier 2800733 2800754 + Parameter 2800755 2800776 + Identifier 2800755 2800759 + TypeReference 2800760 2800776 + Identifier 2800760 2800776 + Block 2800777 2802627 + ExpressionStatement 2800779 2800812 + CallExpression 2800779 2800811 + Identifier 2800779 2800805 + Identifier 2800806 2800810 + VariableStatement 2800812 2800898 + VariableDeclarationList 2800812 2800897 + VariableDeclaration 2800827 2800897 + Identifier 2800827 2800846 + BinaryExpression 2800848 2800897 + PropertyAccessExpression 2800848 2800883 + PropertyAccessExpression 2800848 2800867 + PropertyAccessExpression 2800848 2800860 + Identifier 2800848 2800853 + Identifier 2800854 2800860 + Identifier 2800861 2800867 + Identifier 2800868 2800883 + ExclamationEqualsEqualsToken 2800883 2800887 + Identifier 2800887 2800897 + ExpressionStatement 2800898 2800969 + CallExpression 2800898 2800968 + Identifier 2800898 2800929 + PropertyAccessExpression 2800930 2800947 + Identifier 2800930 2800934 + Identifier 2800935 2800947 + Identifier 2800948 2800967 + ExpressionStatement 2800969 2801012 + CallExpression 2800969 2801011 + Identifier 2800969 2801000 + PropertyAccessExpression 2801001 2801010 + Identifier 2801001 2801005 + Identifier 2801006 2801010 + IfStatement 2801012 2801167 + CallExpression 2801026 2801062 + Identifier 2801026 2801045 + Identifier 2801046 2801061 + Block 2801063 2801167 + ExpressionStatement 2801065 2801156 + CallExpression 2801065 2801155 + Identifier 2801065 2801099 + BinaryExpression 2801100 2801130 + PropertyAccessExpression 2801100 2801117 + Identifier 2801100 2801104 + Identifier 2801105 2801117 + BarBarToken 2801117 2801120 + PropertyAccessExpression 2801120 2801130 + Identifier 2801120 2801125 + Identifier 2801126 2801130 + TrueKeyword 2801131 2801154 + IfStatement 2801167 2802620 + PrefixUnaryExpression 2801181 2801200 + Identifier 2801182 2801200 + Block 2801201 2802230 + VariableStatement 2801203 2801269 + VariableDeclarationList 2801203 2801268 + VariableDeclaration 2801222 2801268 + Identifier 2801222 2801235 + BinaryExpression 2801237 2801268 + PropertyAccessExpression 2801237 2801255 + Identifier 2801237 2801242 + Identifier 2801243 2801255 + BarBarToken 2801255 2801258 + PropertyAccessExpression 2801258 2801268 + Identifier 2801258 2801263 + Identifier 2801264 2801268 + IfStatement 2801269 2801429 + BinaryExpression 2801287 2801333 + PropertyAccessExpression 2801287 2801304 + Identifier 2801287 2801299 + Identifier 2801300 2801304 + EqualsEqualsEqualsToken 2801304 2801308 + PropertyAccessExpression 2801308 2801333 + Identifier 2801308 2801319 + Identifier 2801320 2801333 + Block 2801334 2801429 + ReturnStatement 2801336 2801361 + VariableStatement 2801429 2801766 + VariableDeclarationList 2801429 2801765 + VariableDeclaration 2801571 2801765 + Identifier 2801571 2801578 + CallExpression 2801580 2801765 + Identifier 2801580 2801592 + Identifier 2801593 2801605 + PropertyAccessExpression 2801606 2801631 + Identifier 2801606 2801619 + Identifier 2801620 2801631 + BinaryExpression 2801632 2801713 + BinaryExpression 2801632 2801693 + BinaryExpression 2801632 2801669 + PropertyAccessExpression 2801632 2801650 + Identifier 2801632 2801644 + Identifier 2801645 2801650 + BarToken 2801650 2801652 + PropertyAccessExpression 2801652 2801669 + Identifier 2801652 2801664 + Identifier 2801665 2801669 + BarToken 2801669 2801671 + PropertyAccessExpression 2801671 2801693 + Identifier 2801671 2801683 + Identifier 2801684 2801693 + BarToken 2801693 2801695 + PropertyAccessExpression 2801695 2801713 + Identifier 2801695 2801707 + Identifier 2801708 2801713 + Identifier 2801714 2801748 + TrueKeyword 2801749 2801764 + IfStatement 2801766 2802219 + BinaryExpression 2801784 2801947 + Identifier 2801784 2801790 + AmpersandAmpersandToken 2801790 2801793 + ParenthesizedExpression 2801793 2801947 + BinaryExpression 2801795 2801946 + BinaryExpression 2801795 2801852 + BinaryExpression 2801795 2801821 + Identifier 2801795 2801801 + EqualsEqualsEqualsToken 2801801 2801805 + Identifier 2801805 2801821 + BarBarToken 2801821 2801824 + BinaryExpression 2801824 2801852 + Identifier 2801824 2801831 + EqualsEqualsEqualsToken 2801831 2801835 + Identifier 2801835 2801852 + BarBarToken 2801852 2801855 + BinaryExpression 2801855 2801946 + PropertyAccessExpression 2801855 2801875 + Identifier 2801855 2801862 + Identifier 2801863 2801875 + AmpersandAmpersandToken 2801875 2801878 + CallExpression 2801878 2801946 + Identifier 2801878 2801897 + CallExpression 2801898 2801945 + Identifier 2801898 2801921 + ElementAccessExpression 2801922 2801944 + PropertyAccessExpression 2801922 2801941 + Identifier 2801922 2801928 + Identifier 2801929 2801941 + NumericLiteral 2801942 2801943 + Block 2801948 2802108 + ExpressionStatement 2801950 2802093 + CallExpression 2801950 2802092 + Identifier 2801950 2801973 + Identifier 2801974 2801986 + PropertyAccessExpression 2801987 2802069 + Identifier 2801987 2801999 + Identifier 2802000 2802069 + CallExpression 2802070 2802091 + Identifier 2802070 2802077 + Identifier 2802078 2802090 + Block 2802126 2802219 + ExpressionStatement 2802128 2802204 + CallExpression 2802128 2802203 + Identifier 2802128 2802166 + Identifier 2802167 2802171 + PropertyAccessExpression 2802172 2802202 + Identifier 2802172 2802186 + Identifier 2802187 2802202 + Block 2802244 2802620 + IfStatement 2802246 2802609 + BinaryExpression 2802264 2802493 + BinaryExpression 2802264 2802415 + CallExpression 2802264 2802317 + Identifier 2802264 2802300 + Identifier 2802301 2802316 + AmpersandAmpersandToken 2802317 2802320 + BinaryExpression 2802320 2802415 + CallExpression 2802320 2802395 + PropertyAccessExpression 2802320 2802368 + Identifier 2802320 2802342 + Identifier 2802343 2802368 + CallExpression 2802369 2802394 + Identifier 2802369 2802388 + Identifier 2802389 2802393 + LessThanToken 2802395 2802397 + PropertyAccessExpression 2802397 2802415 + Identifier 2802397 2802408 + Identifier 2802409 2802415 + AmpersandAmpersandToken 2802415 2802418 + CallExpression 2802418 2802493 + Identifier 2802418 2802461 + BinaryExpression 2802462 2802492 + PropertyAccessExpression 2802462 2802479 + Identifier 2802462 2802466 + Identifier 2802467 2802479 + BarBarToken 2802479 2802482 + PropertyAccessExpression 2802482 2802492 + Identifier 2802482 2802487 + Identifier 2802488 2802492 + Block 2802508 2802609 + ExpressionStatement 2802510 2802594 + CallExpression 2802510 2802593 + Identifier 2802510 2802552 + Identifier 2802553 2802557 + PropertyAccessExpression 2802558 2802592 + Identifier 2802558 2802578 + Identifier 2802579 2802592 + FunctionDeclaration 2802627 2811615 + Identifier 2802643 2802665 + Parameter 2802666 2802688 + Identifier 2802666 2802670 + TypeReference 2802671 2802688 + Identifier 2802671 2802688 + Block 2802689 2811615 + VariableStatement 2802691 2802957 + VariableDeclarationList 2802691 2802956 + VariableDeclaration 2802706 2802956 + Identifier 2802706 2802728 + ConditionalExpression 2802730 2802956 + PropertyAccessExpression 2802730 2802750 + Identifier 2802730 2802735 + Identifier 2802736 2802750 + QuestionToken 2802750 2802765 + PropertyAccessExpression 2802765 2802855 + Identifier 2802765 2802777 + Identifier 2802778 2802855 + ColonToken 2802855 2802870 + PropertyAccessExpression 2802870 2802956 + Identifier 2802870 2802882 + Identifier 2802883 2802956 + IfStatement 2802957 2803178 + CallExpression 2802971 2803032 + Identifier 2802971 2803003 + Identifier 2803004 2803008 + Identifier 2803009 2803031 + Block 2803033 2803178 + ReturnStatement 2803035 2803167 + IfStatement 2803178 2803403 + BinaryExpression 2803194 2803288 + BinaryExpression 2803194 2803251 + PropertyAccessExpression 2803194 2803228 + Identifier 2803194 2803209 + Identifier 2803210 2803228 + AmpersandAmpersandToken 2803228 2803231 + PropertyAccessExpression 2803231 2803251 + Identifier 2803231 2803236 + Identifier 2803237 2803251 + AmpersandAmpersandToken 2803251 2803254 + PrefixUnaryExpression 2803254 2803288 + ParenthesizedExpression 2803256 2803288 + BinaryExpression 2803257 2803287 + PropertyAccessExpression 2803257 2803267 + Identifier 2803257 2803261 + Identifier 2803262 2803267 + AmpersandToken 2803267 2803269 + PropertyAccessExpression 2803269 2803287 + Identifier 2803269 2803279 + Identifier 2803280 2803287 + Block 2803289 2803403 + ExpressionStatement 2803291 2803392 + CallExpression 2803291 2803391 + Identifier 2803291 2803310 + Identifier 2803311 2803315 + PropertyAccessExpression 2803316 2803390 + Identifier 2803316 2803328 + Identifier 2803329 2803390 + VariableStatement 2803403 2803530 + VariableDeclarationList 2803403 2803529 + VariableDeclaration 2803418 2803529 + Identifier 2803418 2803428 + ConditionalExpression 2803430 2803529 + BinaryExpression 2803430 2803473 + PropertyAccessExpression 2803430 2803447 + PropertyAccessExpression 2803430 2803442 + Identifier 2803430 2803435 + Identifier 2803436 2803442 + Identifier 2803443 2803447 + EqualsEqualsEqualsToken 2803447 2803451 + PropertyAccessExpression 2803451 2803473 + Identifier 2803451 2803462 + Identifier 2803463 2803473 + QuestionToken 2803473 2803475 + PropertyAccessExpression 2803475 2803487 + Identifier 2803475 2803480 + Identifier 2803481 2803487 + ColonToken 2803487 2803489 + AsExpression 2803489 2803529 + PropertyAccessExpression 2803489 2803508 + PropertyAccessExpression 2803489 2803501 + Identifier 2803489 2803494 + Identifier 2803495 2803501 + Identifier 2803502 2803508 + TypeReference 2803511 2803529 + Identifier 2803511 2803529 + IfStatement 2803530 2803950 + BinaryExpression 2803544 2803622 + BinaryExpression 2803544 2803591 + PropertyAccessExpression 2803544 2803558 + Identifier 2803544 2803553 + Identifier 2803554 2803558 + EqualsEqualsEqualsToken 2803558 2803562 + PropertyAccessExpression 2803562 2803591 + Identifier 2803562 2803573 + Identifier 2803574 2803591 + AmpersandAmpersandToken 2803591 2803594 + PrefixUnaryExpression 2803594 2803622 + CallExpression 2803596 2803622 + Identifier 2803596 2803611 + Identifier 2803612 2803621 + Block 2803623 2803950 + IfStatement 2803625 2803916 + PropertyAccessExpression 2803643 2803662 + Identifier 2803643 2803647 + Identifier 2803648 2803662 + Block 2803663 2803774 + ExpressionStatement 2803665 2803759 + CallExpression 2803665 2803758 + Identifier 2803665 2803688 + Identifier 2803689 2803693 + PropertyAccessExpression 2803694 2803757 + Identifier 2803694 2803706 + Identifier 2803707 2803757 + Block 2803792 2803916 + ExpressionStatement 2803794 2803901 + CallExpression 2803794 2803900 + Identifier 2803794 2803817 + Identifier 2803818 2803822 + PropertyAccessExpression 2803823 2803899 + Identifier 2803823 2803835 + Identifier 2803836 2803899 + ReturnStatement 2803916 2803939 + IfStatement 2803950 2804167 + BinaryExpression 2803993 2804052 + PrefixUnaryExpression 2803993 2804021 + CallExpression 2803994 2804021 + Identifier 2803994 2804015 + Identifier 2804016 2804020 + AmpersandAmpersandToken 2804021 2804024 + CallExpression 2804024 2804052 + Identifier 2804024 2804046 + Identifier 2804047 2804051 + Block 2804053 2804167 + ExpressionStatement 2804055 2804156 + CallExpression 2804055 2804155 + Identifier 2804055 2804093 + Identifier 2804094 2804098 + PropertyAccessExpression 2804099 2804154 + Identifier 2804099 2804111 + Identifier 2804112 2804154 + VariableStatement 2804167 2804243 + VariableDeclarationList 2804167 2804242 + VariableDeclaration 2804184 2804242 + Identifier 2804184 2804203 + CallExpression 2804205 2804242 + Identifier 2804205 2804236 + Identifier 2804237 2804241 + IfStatement 2804243 2804423 + Identifier 2804257 2804275 + Block 2804276 2804423 + ExpressionStatement 2804278 2804412 + CallExpression 2804278 2804411 + Identifier 2804278 2804313 + CallExpression 2804314 2804352 + Identifier 2804314 2804335 + PropertyAccessExpression 2804336 2804351 + Identifier 2804336 2804340 + Identifier 2804341 2804351 + CallExpression 2804353 2804393 + Identifier 2804353 2804373 + Identifier 2804374 2804392 + PropertyAccessExpression 2804394 2804410 + Identifier 2804394 2804399 + Identifier 2804400 2804410 + VariableStatement 2804423 2804693 + VariableDeclarationList 2804423 2804692 + VariableDeclaration 2804440 2804692 + Identifier 2804440 2804468 + BinaryExpression 2804470 2804692 + BinaryExpression 2804470 2804594 + BinaryExpression 2804470 2804541 + PrefixUnaryExpression 2804470 2804491 + PropertyAccessExpression 2804472 2804491 + Identifier 2804472 2804476 + Identifier 2804477 2804491 + AmpersandAmpersandToken 2804491 2804494 + PrefixUnaryExpression 2804494 2804541 + ParenthesizedExpression 2804509 2804541 + BinaryExpression 2804510 2804540 + PropertyAccessExpression 2804510 2804520 + Identifier 2804510 2804514 + Identifier 2804515 2804520 + AmpersandToken 2804520 2804522 + PropertyAccessExpression 2804522 2804540 + Identifier 2804522 2804532 + Identifier 2804533 2804540 + AmpersandAmpersandToken 2804541 2804544 + PropertyAccessExpression 2804544 2804594 + Identifier 2804544 2804573 + Identifier 2804574 2804594 + AmpersandAmpersandToken 2804594 2804597 + BinaryExpression 2804597 2804692 + CallExpression 2804597 2804668 + PropertyAccessExpression 2804597 2804641 + Identifier 2804597 2804615 + Identifier 2804616 2804641 + CallExpression 2804642 2804667 + Identifier 2804642 2804661 + Identifier 2804662 2804666 + EqualsEqualsEqualsToken 2804668 2804672 + PropertyAccessExpression 2804672 2804692 + Identifier 2804672 2804683 + Identifier 2804684 2804692 + IfStatement 2804693 2809973 + BinaryExpression 2804709 2804755 + PropertyAccessExpression 2804709 2804729 + PropertyAccessExpression 2804709 2804724 + Identifier 2804709 2804713 + Identifier 2804714 2804724 + Identifier 2804725 2804729 + EqualsEqualsEqualsToken 2804729 2804733 + PropertyAccessExpression 2804733 2804755 + Identifier 2804733 2804744 + Identifier 2804745 2804755 + Block 2804756 2809893 + VariableStatement 2804758 2804813 + VariableDeclarationList 2804758 2804812 + VariableDeclaration 2804777 2804812 + Identifier 2804777 2804780 + AsExpression 2804782 2804812 + PropertyAccessExpression 2804782 2804798 + Identifier 2804782 2804787 + Identifier 2804788 2804798 + TypeReference 2804801 2804812 + Identifier 2804801 2804812 + VariableStatement 2804813 2804974 + VariableDeclarationList 2804813 2804973 + VariableDeclaration 2804832 2804973 + Identifier 2804832 2804836 + CallExpression 2804838 2804973 + Identifier 2804838 2804877 + CallExpression 2804878 2804972 + Identifier 2804878 2804895 + Identifier 2804896 2804898 + PropertyAccessExpression 2804899 2804915 + Identifier 2804899 2804911 + Identifier 2804912 2804915 + TrueKeyword 2804916 2804938 + TrueKeyword 2804939 2804965 + Identifier 2804966 2804971 + IfStatement 2804974 2809741 + Identifier 2804992 2804995 + Block 2804996 2809605 + ExpressionStatement 2804998 2805075 + CallExpression 2804998 2805074 + Identifier 2804998 2805036 + Identifier 2805037 2805041 + PropertyAccessExpression 2805042 2805073 + Identifier 2805042 2805056 + Identifier 2805057 2805073 + VariableStatement 2805075 2805173 + VariableDeclarationList 2805075 2805172 + VariableDeclaration 2805098 2805172 + Identifier 2805098 2805118 + CallExpression 2805120 2805172 + Identifier 2805120 2805148 + Identifier 2805149 2805152 + PropertyAccessExpression 2805153 2805171 + Identifier 2805153 2805165 + Identifier 2805166 2805171 + IfStatement 2805173 2806865 + BinaryExpression 2805331 2805370 + CallExpression 2805331 2805350 + Identifier 2805331 2805345 + Identifier 2805346 2805349 + AmpersandToken 2805350 2805352 + PropertyAccessExpression 2805352 2805370 + Identifier 2805352 2805364 + Identifier 2805365 2805370 + Block 2805371 2806245 + ExpressionStatement 2805373 2805514 + CallExpression 2805373 2805513 + Identifier 2805373 2805509 + Identifier 2805510 2805512 + IfStatement 2805514 2806226 + BinaryExpression 2805540 2805668 + BinaryExpression 2805540 2805645 + BinaryExpression 2805540 2805605 + PrefixUnaryExpression 2805540 2805568 + Identifier 2805541 2805568 + AmpersandAmpersandToken 2805568 2805571 + PrefixUnaryExpression 2805571 2805605 + ParenthesizedExpression 2805573 2805605 + BinaryExpression 2805574 2805604 + PropertyAccessExpression 2805574 2805584 + Identifier 2805574 2805578 + Identifier 2805579 2805584 + AmpersandToken 2805584 2805586 + PropertyAccessExpression 2805586 2805604 + Identifier 2805586 2805596 + Identifier 2805597 2805604 + AmpersandAmpersandToken 2805605 2805608 + PropertyAccessExpression 2805608 2805645 + Identifier 2805608 2805624 + Identifier 2805625 2805645 + AmpersandAmpersandToken 2805645 2805648 + Identifier 2805648 2805668 + Block 2805669 2806226 + ExpressionStatement 2805671 2806203 + CallExpression 2805671 2806202 + Identifier 2805671 2805702 + Identifier 2805703 2805735 + ConditionalExpression 2805736 2806133 + PropertyAccessExpression 2805736 2805785 + Identifier 2805736 2805770 + Identifier 2805771 2805785 + QuestionToken 2805785 2805820 + PropertyAccessExpression 2805820 2805961 + Identifier 2805820 2805832 + Identifier 2805833 2805961 + ColonToken 2805961 2805996 + PropertyAccessExpression 2805996 2806133 + Identifier 2805996 2806008 + Identifier 2806009 2806133 + CallExpression 2806134 2806174 + Identifier 2806134 2806170 + Identifier 2806171 2806173 + IfStatement 2806267 2806865 + BinaryExpression 2806272 2806377 + BinaryExpression 2806272 2806337 + PrefixUnaryExpression 2806272 2806300 + Identifier 2806273 2806300 + AmpersandAmpersandToken 2806300 2806303 + PrefixUnaryExpression 2806303 2806337 + ParenthesizedExpression 2806305 2806337 + BinaryExpression 2806306 2806336 + PropertyAccessExpression 2806306 2806316 + Identifier 2806306 2806310 + Identifier 2806311 2806316 + AmpersandToken 2806316 2806318 + PropertyAccessExpression 2806318 2806336 + Identifier 2806318 2806328 + Identifier 2806329 2806336 + AmpersandAmpersandToken 2806337 2806340 + PropertyAccessExpression 2806340 2806377 + Identifier 2806340 2806356 + Identifier 2806357 2806377 + Block 2806378 2806865 + ExpressionStatement 2806380 2806846 + CallExpression 2806380 2806845 + Identifier 2806380 2806407 + Identifier 2806408 2806436 + ConditionalExpression 2806437 2806784 + PropertyAccessExpression 2806437 2806482 + Identifier 2806437 2806467 + Identifier 2806468 2806482 + QuestionToken 2806482 2806513 + PropertyAccessExpression 2806513 2806635 + Identifier 2806513 2806525 + Identifier 2806526 2806635 + ColonToken 2806635 2806666 + PropertyAccessExpression 2806666 2806784 + Identifier 2806666 2806678 + Identifier 2806679 2806784 + CallExpression 2806785 2806821 + Identifier 2806785 2806817 + Identifier 2806818 2806820 + IfStatement 2806865 2809590 + BinaryExpression 2806889 2807029 + BinaryExpression 2806889 2806993 + BinaryExpression 2806889 2806954 + PrefixUnaryExpression 2806889 2806917 + Identifier 2806890 2806917 + AmpersandAmpersandToken 2806917 2806920 + PrefixUnaryExpression 2806920 2806954 + ParenthesizedExpression 2806922 2806954 + BinaryExpression 2806923 2806953 + PropertyAccessExpression 2806923 2806933 + Identifier 2806923 2806927 + Identifier 2806928 2806933 + AmpersandToken 2806933 2806935 + PropertyAccessExpression 2806935 2806953 + Identifier 2806935 2806945 + Identifier 2806946 2806953 + AmpersandAmpersandToken 2806954 2806957 + CallExpression 2806957 2806993 + Identifier 2806957 2806976 + Identifier 2806977 2806992 + AmpersandAmpersandToken 2806993 2806996 + PrefixUnaryExpression 2806996 2807029 + ParenthesizedExpression 2806998 2807029 + BinaryExpression 2806999 2807028 + PropertyAccessExpression 2806999 2807008 + Identifier 2806999 2807002 + Identifier 2807003 2807008 + AmpersandToken 2807008 2807010 + PropertyAccessExpression 2807010 2807028 + Identifier 2807010 2807022 + Identifier 2807023 2807028 + Block 2807030 2809590 + VariableStatement 2807032 2807165 + VariableDeclarationList 2807032 2807164 + VariableDeclaration 2807059 2807164 + Identifier 2807059 2807076 + CallExpression 2807078 2807164 + Identifier 2807078 2807093 + Identifier 2807094 2807097 + FalseKeyword 2807098 2807132 + TrueKeyword 2807133 2807163 + IfStatement 2807165 2809571 + BinaryExpression 2807191 2807503 + BinaryExpression 2807191 2807378 + BinaryExpression 2807191 2807310 + BinaryExpression 2807191 2807246 + PropertyAccessExpression 2807191 2807226 + Identifier 2807191 2807220 + Identifier 2807221 2807226 + AmpersandToken 2807226 2807228 + PropertyAccessExpression 2807228 2807246 + Identifier 2807228 2807240 + Identifier 2807241 2807246 + AmpersandAmpersandToken 2807246 2807274 + BinaryExpression 2807274 2807310 + Identifier 2807274 2807291 + AmpersandToken 2807291 2807293 + PropertyAccessExpression 2807293 2807310 + Identifier 2807293 2807305 + Identifier 2807306 2807310 + AmpersandAmpersandToken 2807310 2807338 + PrefixUnaryExpression 2807338 2807378 + ParenthesizedExpression 2807340 2807378 + BinaryExpression 2807341 2807377 + Identifier 2807341 2807357 + AmpersandToken 2807357 2807359 + PropertyAccessExpression 2807359 2807377 + Identifier 2807359 2807371 + Identifier 2807372 2807377 + AmpersandAmpersandToken 2807378 2807406 + ParenthesizedExpression 2807406 2807503 + BinaryExpression 2807408 2807502 + PrefixUnaryExpression 2807408 2807428 + Identifier 2807409 2807428 + BarBarToken 2807428 2807431 + BinaryExpression 2807431 2807502 + CallExpression 2807431 2807472 + Identifier 2807431 2807451 + Identifier 2807452 2807471 + ExclamationEqualsEqualsToken 2807472 2807476 + CallExpression 2807476 2807502 + Identifier 2807476 2807496 + Identifier 2807497 2807501 + Block 2807526 2808350 + ExpressionStatement 2807528 2808327 + CallExpression 2807528 2808326 + Identifier 2807528 2807731 + Identifier 2807732 2807764 + ConditionalExpression 2807765 2808199 + PropertyAccessExpression 2807765 2807814 + Identifier 2807765 2807799 + Identifier 2807800 2807814 + QuestionToken 2807814 2807816 + PropertyAccessExpression 2807816 2808010 + Identifier 2807816 2807861 + Identifier 2807862 2808010 + ColonToken 2808010 2808045 + PropertyAccessExpression 2808045 2808199 + Identifier 2808045 2808057 + Identifier 2808058 2808199 + CallExpression 2808200 2808240 + Identifier 2808200 2808236 + Identifier 2808237 2808239 + Identifier 2808241 2808298 + IfStatement 2808376 2809571 + BinaryExpression 2808381 2808474 + Identifier 2808381 2808400 + AmpersandAmpersandToken 2808400 2808403 + BinaryExpression 2808403 2808474 + CallExpression 2808403 2808444 + Identifier 2808403 2808423 + Identifier 2808424 2808443 + ExclamationEqualsEqualsToken 2808444 2808448 + CallExpression 2808448 2808474 + Identifier 2808448 2808468 + Identifier 2808469 2808473 + Block 2808475 2809571 + ExpressionStatement 2808477 2809548 + CallExpression 2808477 2809547 + Identifier 2808477 2808735 + CallExpression 2808736 2809428 + Identifier 2808736 2808771 + Identifier 2808772 2808808 + ConditionalExpression 2808809 2809289 + PropertyAccessExpression 2808809 2808862 + Identifier 2808809 2808847 + Identifier 2808848 2808862 + QuestionToken 2808862 2808864 + PropertyAccessExpression 2808864 2809079 + Identifier 2808864 2808913 + Identifier 2808914 2809079 + ColonToken 2809079 2809118 + PropertyAccessExpression 2809118 2809289 + Identifier 2809118 2809130 + Identifier 2809131 2809289 + CallExpression 2809290 2809334 + Identifier 2809290 2809330 + Identifier 2809331 2809333 + Identifier 2809335 2809396 + Identifier 2809429 2809478 + CallExpression 2809479 2809519 + Identifier 2809479 2809515 + Identifier 2809516 2809518 + Block 2809623 2809741 + ExpressionStatement 2809625 2809669 + CallExpression 2809625 2809668 + Identifier 2809625 2809664 + Identifier 2809665 2809667 + IfStatement 2809741 2809882 + CallExpression 2809761 2809797 + Identifier 2809761 2809780 + Identifier 2809781 2809796 + Block 2809798 2809882 + ExpressionStatement 2809800 2809867 + CallExpression 2809800 2809866 + Identifier 2809800 2809838 + Identifier 2809839 2809841 + TrueKeyword 2809842 2809865 + Block 2809907 2809973 + ExpressionStatement 2809909 2809962 + CallExpression 2809909 2809961 + Identifier 2809909 2809944 + PropertyAccessExpression 2809945 2809960 + Identifier 2809945 2809949 + Identifier 2809950 2809960 + IfStatement 2809973 2810153 + Identifier 2809989 2810016 + Block 2810017 2810153 + ExpressionStatement 2810019 2810142 + CallExpression 2810019 2810141 + Identifier 2810019 2810038 + Identifier 2810039 2810043 + PropertyAccessExpression 2810044 2810140 + Identifier 2810044 2810056 + Identifier 2810057 2810140 + ExpressionStatement 2810153 2810203 + CallExpression 2810153 2810202 + Identifier 2810153 2810191 + Identifier 2810192 2810201 + IfStatement 2810203 2810473 + BinaryExpression 2810219 2810295 + ParenthesizedExpression 2810219 2810251 + BinaryExpression 2810220 2810250 + PropertyAccessExpression 2810220 2810230 + Identifier 2810220 2810224 + Identifier 2810225 2810230 + AmpersandToken 2810230 2810232 + PropertyAccessExpression 2810232 2810250 + Identifier 2810232 2810242 + Identifier 2810243 2810250 + AmpersandAmpersandToken 2810251 2810254 + PrefixUnaryExpression 2810254 2810295 + CallExpression 2810256 2810295 + Identifier 2810256 2810278 + PropertyAccessExpression 2810279 2810294 + Identifier 2810279 2810283 + Identifier 2810284 2810294 + Block 2810296 2810473 + ExpressionStatement 2810298 2810462 + CallExpression 2810298 2810461 + Identifier 2810298 2810330 + PropertyAccessExpression 2810331 2810346 + Identifier 2810331 2810335 + Identifier 2810336 2810346 + PropertyAccessExpression 2810347 2810460 + Identifier 2810347 2810359 + Identifier 2810360 2810460 + IfStatement 2810473 2811608 + PropertyAccessExpression 2810489 2810508 + Identifier 2810489 2810493 + Identifier 2810494 2810508 + Block 2810509 2811608 + IfStatement 2810511 2811597 + BinaryExpression 2810620 2811011 + BinaryExpression 2810620 2810724 + BinaryExpression 2810620 2810669 + Identifier 2810620 2810648 + GreaterThanEqualsToken 2810648 2810651 + PropertyAccessExpression 2810651 2810669 + Identifier 2810651 2810662 + Identifier 2810663 2810669 + AmpersandAmpersandToken 2810669 2810672 + BinaryExpression 2810672 2810724 + Identifier 2810672 2810700 + ExclamationEqualsEqualsToken 2810700 2810704 + PropertyAccessExpression 2810704 2810724 + Identifier 2810704 2810715 + Identifier 2810716 2810724 + AmpersandAmpersandToken 2810724 2810727 + ParenthesizedExpression 2810727 2811011 + BinaryExpression 2810746 2811010 + ParenthesizedExpression 2810746 2810863 + BinaryExpression 2810747 2810862 + BinaryExpression 2810747 2810777 + PropertyAccessExpression 2810747 2810757 + Identifier 2810747 2810751 + Identifier 2810752 2810757 + AmpersandToken 2810757 2810759 + PropertyAccessExpression 2810759 2810777 + Identifier 2810759 2810769 + Identifier 2810770 2810777 + AmpersandAmpersandToken 2810777 2810780 + BinaryExpression 2810780 2810862 + CallExpression 2810780 2810840 + PropertyAccessExpression 2810780 2810813 + Identifier 2810780 2810785 + Identifier 2810786 2810813 + CallExpression 2810814 2810839 + Identifier 2810814 2810833 + Identifier 2810834 2810838 + EqualsEqualsEqualsToken 2810840 2810844 + PropertyAccessExpression 2810844 2810862 + Identifier 2810844 2810855 + Identifier 2810856 2810862 + BarBarToken 2810863 2810866 + ParenthesizedExpression 2810866 2811010 + BinaryExpression 2810889 2811009 + PrefixUnaryExpression 2810889 2810922 + ParenthesizedExpression 2810890 2810922 + BinaryExpression 2810891 2810921 + PropertyAccessExpression 2810891 2810901 + Identifier 2810891 2810895 + Identifier 2810896 2810901 + AmpersandToken 2810901 2810903 + PropertyAccessExpression 2810903 2810921 + Identifier 2810903 2810913 + Identifier 2810914 2810921 + AmpersandAmpersandToken 2810922 2810925 + BinaryExpression 2810925 2811009 + CallExpression 2810925 2810985 + PropertyAccessExpression 2810925 2810958 + Identifier 2810925 2810930 + Identifier 2810931 2810958 + CallExpression 2810959 2810984 + Identifier 2810959 2810978 + Identifier 2810979 2810983 + ExclamationEqualsEqualsToken 2810985 2810989 + PropertyAccessExpression 2810989 2811009 + Identifier 2810989 2811000 + Identifier 2811001 2811009 + Block 2811026 2811299 + ExpressionStatement 2811028 2811284 + CallExpression 2811028 2811283 + Identifier 2811028 2811134 + Identifier 2811135 2811139 + PropertyAccessExpression 2811140 2811282 + Identifier 2811140 2811152 + Identifier 2811153 2811282 + IfStatement 2811317 2811597 + BinaryExpression 2811322 2811391 + BinaryExpression 2811322 2811354 + Identifier 2811322 2811332 + EqualsEqualsEqualsToken 2811332 2811336 + PropertyAccessExpression 2811336 2811354 + Identifier 2811336 2811347 + Identifier 2811348 2811354 + AmpersandAmpersandToken 2811354 2811357 + PrefixUnaryExpression 2811357 2811391 + ParenthesizedExpression 2811359 2811391 + BinaryExpression 2811360 2811390 + PropertyAccessExpression 2811360 2811370 + Identifier 2811360 2811364 + Identifier 2811365 2811370 + AmpersandToken 2811370 2811372 + PropertyAccessExpression 2811372 2811390 + Identifier 2811372 2811382 + Identifier 2811383 2811390 + Block 2811392 2811597 + ExpressionStatement 2811394 2811582 + CallExpression 2811394 2811581 + Identifier 2811394 2811500 + Identifier 2811501 2811505 + PropertyAccessExpression 2811506 2811580 + Identifier 2811506 2811518 + Identifier 2811519 2811580 + FunctionDeclaration 2811615 2811763 + Identifier 2811631 2811650 + Parameter 2811651 2811671 + Identifier 2811651 2811663 + TypeReference 2811664 2811671 + Identifier 2811664 2811671 + Block 2811672 2811763 + ReturnStatement 2811674 2811756 + CallExpression 2811690 2811755 + Identifier 2811690 2811703 + NonNullExpression 2811704 2811725 + PropertyAccessExpression 2811704 2811724 + Identifier 2811704 2811716 + Identifier 2811717 2811724 + ArrowFunction 2811726 2811754 + Parameter 2811728 2811729 + Identifier 2811728 2811729 + Parameter 2811730 2811733 + Identifier 2811730 2811733 + EqualsGreaterThanToken 2811734 2811737 + BinaryExpression 2811737 2811754 + Identifier 2811737 2811740 + ExclamationEqualsEqualsToken 2811740 2811744 + StringLiteral 2811744 2811754 + FunctionDeclaration 2811763 2814377 + Identifier 2811779 2811806 + Parameter 2811807 2811843 + Identifier 2811807 2811811 + UnionType 2811812 2811843 + TypeReference 2811812 2811823 + Identifier 2811812 2811823 + TypeReference 2811825 2811843 + Identifier 2811825 2811843 + Block 2811844 2814377 + VariableStatement 2811846 2811906 + VariableDeclarationList 2811846 2811905 + VariableDeclaration 2811861 2811905 + Identifier 2811861 2811874 + CallExpression 2811876 2811905 + Identifier 2811876 2811899 + Identifier 2811900 2811904 + VariableStatement 2811906 2811959 + VariableDeclarationList 2811906 2811958 + VariableDeclaration 2811921 2811958 + Identifier 2811921 2811927 + CallExpression 2811929 2811958 + Identifier 2811929 2811944 + Identifier 2811945 2811957 + IfStatement 2811959 2814370 + PrefixUnaryExpression 2811973 2811994 + PropertyAccessExpression 2811974 2811994 + Identifier 2811974 2811979 + Identifier 2811980 2811994 + Block 2811995 2814370 + VariableStatement 2811997 2812087 + VariableDeclarationList 2811997 2812086 + VariableDeclaration 2812016 2812086 + Identifier 2812016 2812035 + CallExpression 2812037 2812086 + PropertyAccessExpression 2812037 2812063 + NonNullExpression 2812037 2812059 + PropertyAccessExpression 2812037 2812058 + Identifier 2812037 2812050 + Identifier 2812051 2812058 + Identifier 2812060 2812063 + AsExpression 2812064 2812085 + StringLiteral 2812064 2812073 + TypeReference 2812076 2812085 + Identifier 2812076 2812085 + IfStatement 2812087 2812572 + BinaryExpression 2812105 2812159 + Identifier 2812105 2812123 + AmpersandAmpersandToken 2812123 2812126 + CallExpression 2812126 2812159 + Identifier 2812126 2812145 + Identifier 2812146 2812158 + Block 2812160 2812572 + VariableStatement 2812162 2812287 + VariableDeclarationList 2812162 2812286 + VariableDeclaration 2812185 2812286 + Identifier 2812185 2812197 + BinaryExpression 2812199 2812286 + CallExpression 2812199 2812247 + Identifier 2812199 2812227 + Identifier 2812228 2812246 + BarBarToken 2812247 2812250 + PropertyAccessExpression 2812250 2812286 + Identifier 2812250 2812269 + Identifier 2812270 2812286 + IfStatement 2812287 2812557 + BinaryExpression 2812309 2812404 + BinaryExpression 2812309 2812376 + Identifier 2812309 2812320 + AmpersandAmpersandToken 2812320 2812323 + PrefixUnaryExpression 2812323 2812376 + CallExpression 2812325 2812376 + Identifier 2812325 2812363 + Identifier 2812364 2812375 + AmpersandAmpersandToken 2812376 2812379 + PrefixUnaryExpression 2812379 2812404 + CallExpression 2812381 2812404 + Identifier 2812381 2812391 + Identifier 2812392 2812403 + Block 2812405 2812557 + ExpressionStatement 2812407 2812538 + CallExpression 2812407 2812537 + Identifier 2812407 2812434 + Identifier 2812435 2812446 + PropertyAccessExpression 2812447 2812536 + Identifier 2812447 2812459 + Identifier 2812460 2812536 + VariableStatement 2812572 2812681 + VariableDeclarationList 2812572 2812680 + VariableDeclaration 2812637 2812680 + Identifier 2812637 2812645 + CallExpression 2812647 2812680 + Identifier 2812647 2812666 + Identifier 2812667 2812679 + IfStatement 2812681 2814317 + Identifier 2812699 2812706 + Block 2812707 2814317 + ExpressionStatement 2812709 2814302 + CallExpression 2812709 2814301 + PropertyAccessExpression 2812709 2812742 + Identifier 2812709 2812734 + Identifier 2812735 2812742 + ArrowFunction 2812743 2814300 + Parameter 2812744 2812767 + ObjectBindingPattern 2812744 2812767 + BindingElement 2812745 2812758 + Identifier 2812745 2812758 + BindingElement 2812759 2812765 + Identifier 2812759 2812765 + Parameter 2812768 2812771 + Identifier 2812768 2812771 + EqualsGreaterThanToken 2812772 2812775 + Block 2812775 2814300 + IfStatement 2812777 2812879 + BinaryExpression 2812803 2812820 + Identifier 2812803 2812805 + EqualsEqualsEqualsToken 2812805 2812809 + StringLiteral 2812809 2812820 + Block 2812821 2812879 + ReturnStatement 2812823 2812856 + IfStatement 2812879 2813243 + BinaryExpression 2813134 2813184 + Identifier 2813134 2813139 + AmpersandToken 2813139 2813141 + ParenthesizedExpression 2813141 2813184 + BinaryExpression 2813143 2813183 + PropertyAccessExpression 2813143 2813164 + Identifier 2813143 2813154 + Identifier 2813155 2813164 + BarToken 2813164 2813166 + PropertyAccessExpression 2813166 2813183 + Identifier 2813166 2813178 + Identifier 2813179 2813183 + Block 2813185 2813243 + ReturnStatement 2813187 2813220 + VariableStatement 2813243 2813387 + VariableDeclarationList 2813243 2813386 + VariableDeclaration 2813270 2813386 + Identifier 2813270 2813296 + CallExpression 2813298 2813386 + Identifier 2813298 2813309 + Identifier 2813310 2813322 + CallExpression 2813323 2813385 + Identifier 2813323 2813327 + Identifier 2813328 2813355 + CallExpression 2813356 2813384 + Identifier 2813356 2813360 + Identifier 2813361 2813383 + IfStatement 2813387 2813720 + BinaryExpression 2813413 2813476 + BinaryExpression 2813413 2813442 + Identifier 2813413 2813418 + AmpersandToken 2813418 2813420 + PropertyAccessExpression 2813420 2813442 + Identifier 2813420 2813432 + Identifier 2813433 2813442 + AmpersandAmpersandToken 2813442 2813445 + BinaryExpression 2813445 2813476 + Identifier 2813445 2813471 + LessThanEqualsToken 2813471 2813474 + NumericLiteral 2813474 2813476 + Block 2813477 2813720 + ReturnStatement 2813479 2813697 + IfStatement 2813720 2814281 + BinaryExpression 2813746 2813775 + Identifier 2813746 2813771 + GreaterThanToken 2813771 2813773 + NumericLiteral 2813773 2813775 + Block 2813776 2814281 + IfStatement 2813778 2814258 + PrefixUnaryExpression 2813808 2813849 + CallExpression 2813809 2813849 + Identifier 2813809 2813835 + Identifier 2813836 2813848 + Block 2813850 2814258 + ForOfStatement 2813852 2814231 + VariableDeclarationList 2813887 2813904 + VariableDeclaration 2813892 2813904 + Identifier 2813892 2813904 + NonNullExpression 2813907 2813921 + Identifier 2813907 2813920 + Block 2813922 2814231 + IfStatement 2813924 2814200 + CallExpression 2813962 2813988 + Identifier 2813962 2813975 + Identifier 2813976 2813987 + Block 2813989 2814200 + ExpressionStatement 2813991 2814165 + CallExpression 2813991 2814164 + PropertyAccessExpression 2813991 2814044 + Identifier 2813991 2814040 + Identifier 2814041 2814044 + CallExpression 2814045 2814163 + Identifier 2814045 2814068 + Identifier 2814069 2814080 + PropertyAccessExpression 2814081 2814130 + Identifier 2814081 2814093 + Identifier 2814094 2814130 + CallExpression 2814131 2814162 + Identifier 2814131 2814158 + Identifier 2814159 2814161 + ExpressionStatement 2814317 2814359 + BinaryExpression 2814317 2814358 + PropertyAccessExpression 2814317 2814351 + Identifier 2814317 2814336 + Identifier 2814337 2814351 + EqualsToken 2814351 2814353 + TrueKeyword 2814353 2814358 + FunctionDeclaration 2814377 2814708 + Identifier 2814393 2814420 + Parameter 2814421 2814460 + Identifier 2814421 2814433 + UnionType 2814434 2814460 + ArrayType 2814434 2814448 + TypeReference 2814434 2814446 + Identifier 2814434 2814446 + UndefinedKeyword 2814450 2814460 + Block 2814461 2814708 + ReturnStatement 2814463 2814701 + BinaryExpression 2814479 2814700 + BinaryExpression 2814479 2814532 + Identifier 2814479 2814492 + AmpersandAmpersandToken 2814492 2814508 + BinaryExpression 2814508 2814532 + PropertyAccessExpression 2814508 2814528 + Identifier 2814508 2814521 + Identifier 2814522 2814528 + GreaterThanToken 2814528 2814530 + NumericLiteral 2814530 2814532 + AmpersandAmpersandToken 2814532 2814548 + CallExpression 2814548 2814700 + PropertyAccessExpression 2814548 2814567 + Identifier 2814548 2814561 + Identifier 2814562 2814567 + ArrowFunction 2814568 2814699 + Parameter 2814568 2814569 + Identifier 2814568 2814569 + EqualsGreaterThanToken 2814569 2814572 + BinaryExpression 2814572 2814699 + BinaryExpression 2814572 2814611 + CallExpression 2814572 2814586 + Identifier 2814572 2814583 + Identifier 2814584 2814585 + AmpersandAmpersandToken 2814586 2814589 + CallExpression 2814589 2814611 + Identifier 2814589 2814608 + Identifier 2814609 2814610 + AmpersandAmpersandToken 2814611 2814614 + ParenthesizedExpression 2814614 2814699 + BinaryExpression 2814616 2814698 + CallExpression 2814616 2814649 + Identifier 2814616 2814635 + PropertyAccessExpression 2814636 2814648 + Identifier 2814636 2814637 + Identifier 2814638 2814648 + BarBarToken 2814649 2814652 + CallExpression 2814652 2814698 + Identifier 2814652 2814684 + PropertyAccessExpression 2814685 2814697 + Identifier 2814685 2814686 + Identifier 2814687 2814697 + FunctionDeclaration 2814708 2815023 + Identifier 2814724 2814743 + Parameter 2814744 2814766 + Identifier 2814744 2814748 + UnionType 2814749 2814766 + TypeReference 2814749 2814754 + Identifier 2814749 2814754 + UndefinedKeyword 2814756 2814766 + VoidKeyword 2814768 2814773 + Block 2814773 2815023 + IfStatement 2814775 2815016 + Identifier 2814789 2814793 + Block 2814794 2815016 + VariableStatement 2814796 2814846 + VariableDeclarationList 2814796 2814845 + VariableDeclaration 2814815 2814845 + Identifier 2814815 2814831 + Identifier 2814833 2814845 + ExpressionStatement 2814846 2814879 + BinaryExpression 2814846 2814878 + Identifier 2814846 2814871 + EqualsToken 2814871 2814873 + Identifier 2814873 2814878 + ExpressionStatement 2814879 2814916 + BinaryExpression 2814879 2814915 + Identifier 2814879 2814911 + EqualsToken 2814911 2814913 + NumericLiteral 2814913 2814915 + ExpressionStatement 2814916 2814961 + CallExpression 2814916 2814960 + Identifier 2814916 2814954 + Identifier 2814955 2814959 + ExpressionStatement 2814961 2815005 + BinaryExpression 2814961 2815004 + Identifier 2814961 2814986 + EqualsToken 2814986 2814988 + Identifier 2814988 2815004 + FunctionDeclaration 2815023 2826476 + Identifier 2815039 2815064 + Parameter 2815065 2815075 + Identifier 2815065 2815069 + TypeReference 2815070 2815075 + Identifier 2815070 2815075 + VoidKeyword 2815077 2815082 + Block 2815082 2826476 + IfStatement 2815084 2815194 + BinaryExpression 2815098 2815159 + CallExpression 2815098 2815121 + Identifier 2815098 2815115 + Identifier 2815116 2815120 + AmpersandToken 2815121 2815123 + PropertyAccessExpression 2815123 2815159 + Identifier 2815123 2815138 + Identifier 2815139 2815159 + Block 2815160 2815194 + ReturnStatement 2815162 2815183 + IfStatement 2815194 2815606 + CallExpression 2815210 2815228 + Identifier 2815210 2815222 + Identifier 2815223 2815227 + Block 2815229 2815606 + ExpressionStatement 2815231 2815595 + CallExpression 2815231 2815594 + Identifier 2815231 2815252 + PropertyAccessExpression 2815253 2815263 + Identifier 2815253 2815257 + Identifier 2815258 2815263 + ArrowFunction 2815264 2815593 + Parameter 2815266 2815283 + ObjectBindingPattern 2815266 2815283 + BindingElement 2815267 2815275 + Identifier 2815267 2815275 + BindingElement 2815276 2815281 + Identifier 2815276 2815281 + EqualsGreaterThanToken 2815284 2815287 + Block 2815287 2815593 + ExpressionStatement 2815289 2815340 + CallExpression 2815289 2815339 + Identifier 2815289 2815330 + Identifier 2815331 2815338 + ExpressionStatement 2815340 2815578 + CallExpression 2815340 2815577 + Identifier 2815340 2815365 + Identifier 2815366 2815370 + ArrowFunction 2815371 2815576 + Parameter 2815371 2815375 + Identifier 2815371 2815375 + EqualsGreaterThanToken 2815375 2815378 + Block 2815378 2815576 + ExpressionStatement 2815380 2815439 + CallExpression 2815380 2815438 + Identifier 2815380 2815425 + PropertyAccessExpression 2815426 2815437 + Identifier 2815426 2815429 + Identifier 2815430 2815437 + IfStatement 2815439 2815557 + CallExpression 2815465 2815481 + Identifier 2815465 2815475 + Identifier 2815476 2815480 + Block 2815482 2815557 + ExpressionStatement 2815484 2815534 + CallExpression 2815484 2815533 + Identifier 2815484 2815528 + Identifier 2815529 2815532 + VariableStatement 2815606 2815641 + VariableDeclarationList 2815606 2815640 + VariableDeclaration 2815623 2815640 + Identifier 2815623 2815628 + PropertyAccessExpression 2815630 2815640 + Identifier 2815630 2815635 + Identifier 2815636 2815640 + IfStatement 2815641 2816180 + Identifier 2815655 2815672 + Block 2815673 2816180 + SwitchStatement 2815675 2816169 + Identifier 2815864 2815868 + CaseBlock 2815869 2816169 + CaseClause 2815871 2815923 + PropertyAccessExpression 2815893 2815922 + Identifier 2815893 2815904 + Identifier 2815905 2815922 + CaseClause 2815923 2815974 + PropertyAccessExpression 2815945 2815973 + Identifier 2815945 2815956 + Identifier 2815957 2815973 + CaseClause 2815974 2816029 + PropertyAccessExpression 2815996 2816028 + Identifier 2815996 2816007 + Identifier 2816008 2816028 + CaseClause 2816029 2816154 + PropertyAccessExpression 2816051 2816082 + Identifier 2816051 2816062 + Identifier 2816063 2816082 + ExpressionStatement 2816083 2816154 + CallExpression 2816083 2816153 + PropertyAccessExpression 2816083 2816151 + Identifier 2816083 2816122 + Identifier 2816123 2816151 + IfStatement 2816180 2816483 + BinaryExpression 2816194 2816344 + BinaryExpression 2816194 2816305 + BinaryExpression 2816194 2816288 + BinaryExpression 2816194 2816263 + BinaryExpression 2816194 2816227 + Identifier 2816194 2816198 + GreaterThanEqualsToken 2816198 2816201 + PropertyAccessExpression 2816201 2816227 + Identifier 2816201 2816212 + Identifier 2816213 2816227 + AmpersandAmpersandToken 2816227 2816230 + BinaryExpression 2816230 2816263 + Identifier 2816230 2816235 + LessThanEqualsToken 2816235 2816238 + PropertyAccessExpression 2816238 2816263 + Identifier 2816238 2816249 + Identifier 2816250 2816263 + AmpersandAmpersandToken 2816263 2816266 + CallExpression 2816266 2816288 + Identifier 2816266 2816282 + Identifier 2816283 2816287 + AmpersandAmpersandToken 2816288 2816291 + PropertyAccessExpression 2816291 2816305 + Identifier 2816291 2816296 + Identifier 2816297 2816305 + AmpersandAmpersandToken 2816305 2816308 + PrefixUnaryExpression 2816308 2816344 + CallExpression 2816310 2816344 + Identifier 2816310 2816329 + PropertyAccessExpression 2816330 2816343 + Identifier 2816330 2816334 + Identifier 2816335 2816343 + Block 2816345 2816483 + ExpressionStatement 2816347 2816472 + CallExpression 2816347 2816471 + Identifier 2816347 2816378 + BinaryExpression 2816379 2816425 + PropertyAccessExpression 2816379 2816415 + Identifier 2816379 2816394 + Identifier 2816395 2816415 + EqualsEqualsEqualsToken 2816415 2816419 + FalseKeyword 2816419 2816425 + Identifier 2816426 2816431 + PropertyAccessExpression 2816432 2816470 + Identifier 2816432 2816444 + Identifier 2816445 2816470 + SwitchStatement 2816483 2826469 + Identifier 2816580 2816584 + CaseBlock 2816585 2826469 + CaseClause 2816587 2816709 + PropertyAccessExpression 2816605 2816630 + Identifier 2816605 2816616 + Identifier 2816617 2816630 + ReturnStatement 2816631 2816709 + CallExpression 2816655 2816708 + Identifier 2816655 2816674 + AsExpression 2816675 2816707 + Identifier 2816675 2816679 + TypeReference 2816682 2816707 + Identifier 2816682 2816707 + CaseClause 2816709 2816819 + PropertyAccessExpression 2816727 2816748 + Identifier 2816727 2816738 + Identifier 2816739 2816748 + ReturnStatement 2816749 2816819 + CallExpression 2816773 2816818 + Identifier 2816773 2816788 + AsExpression 2816789 2816817 + Identifier 2816789 2816793 + TypeReference 2816796 2816817 + Identifier 2816796 2816817 + CaseClause 2816819 2816948 + PropertyAccessExpression 2816837 2816868 + Identifier 2816837 2816848 + Identifier 2816849 2816868 + ReturnStatement 2816869 2816948 + CallExpression 2816893 2816947 + Identifier 2816893 2816918 + AsExpression 2816919 2816946 + Identifier 2816919 2816923 + TypeReference 2816926 2816946 + Identifier 2816926 2816946 + CaseClause 2816948 2817071 + PropertyAccessExpression 2816966 2816995 + Identifier 2816966 2816977 + Identifier 2816978 2816995 + ReturnStatement 2816996 2817071 + CallExpression 2817020 2817070 + Identifier 2817020 2817043 + AsExpression 2817044 2817069 + Identifier 2817044 2817048 + TypeReference 2817051 2817069 + Identifier 2817051 2817069 + CaseClause 2817071 2817117 + PropertyAccessExpression 2817089 2817116 + Identifier 2817089 2817100 + Identifier 2817101 2817116 + CaseClause 2817117 2817160 + PropertyAccessExpression 2817135 2817159 + Identifier 2817135 2817146 + Identifier 2817147 2817159 + CaseClause 2817160 2817204 + PropertyAccessExpression 2817178 2817203 + Identifier 2817178 2817189 + Identifier 2817190 2817203 + CaseClause 2817204 2817253 + PropertyAccessExpression 2817222 2817252 + Identifier 2817222 2817233 + Identifier 2817234 2817252 + CaseClause 2817253 2817379 + PropertyAccessExpression 2817271 2817297 + Identifier 2817271 2817282 + Identifier 2817283 2817297 + ReturnStatement 2817298 2817379 + CallExpression 2817322 2817378 + Identifier 2817322 2817348 + AsExpression 2817349 2817377 + Identifier 2817349 2817353 + TypeReference 2817356 2817377 + Identifier 2817356 2817377 + CaseClause 2817379 2817427 + PropertyAccessExpression 2817397 2817426 + Identifier 2817397 2817408 + Identifier 2817409 2817426 + CaseClause 2817427 2817566 + PropertyAccessExpression 2817445 2817472 + Identifier 2817445 2817456 + Identifier 2817457 2817472 + ReturnStatement 2817473 2817566 + CallExpression 2817497 2817565 + Identifier 2817497 2817520 + AsExpression 2817521 2817564 + Identifier 2817521 2817525 + UnionType 2817528 2817564 + TypeReference 2817528 2817546 + Identifier 2817528 2817546 + TypeReference 2817548 2817564 + Identifier 2817548 2817564 + CaseClause 2817566 2817719 + PropertyAccessExpression 2817584 2817623 + Identifier 2817584 2817595 + Identifier 2817596 2817623 + ReturnStatement 2817624 2817719 + CallExpression 2817648 2817718 + Identifier 2817648 2817681 + AsExpression 2817682 2817717 + Identifier 2817682 2817686 + TypeReference 2817689 2817717 + Identifier 2817689 2817717 + CaseClause 2817719 2817846 + PropertyAccessExpression 2817737 2817760 + Identifier 2817737 2817748 + Identifier 2817749 2817760 + ReturnStatement 2817761 2817846 + CallExpression 2817785 2817845 + Identifier 2817785 2817813 + AsExpression 2817814 2817844 + Identifier 2817814 2817818 + TypeReference 2817821 2817844 + Identifier 2817821 2817844 + CaseClause 2817846 2817888 + PropertyAccessExpression 2817864 2817887 + Identifier 2817864 2817875 + Identifier 2817876 2817887 + CaseClause 2817888 2818009 + PropertyAccessExpression 2817906 2817929 + Identifier 2817906 2817917 + Identifier 2817918 2817929 + ReturnStatement 2817930 2818009 + CallExpression 2817954 2818008 + Identifier 2817954 2817979 + AsExpression 2817980 2818007 + Identifier 2817980 2817984 + TypeReference 2817987 2818007 + Identifier 2817987 2818007 + CaseClause 2818009 2818128 + PropertyAccessExpression 2818027 2818052 + Identifier 2818027 2818038 + Identifier 2818039 2818052 + ReturnStatement 2818053 2818128 + CallExpression 2818077 2818127 + Identifier 2818077 2818100 + AsExpression 2818101 2818126 + Identifier 2818101 2818105 + TypeReference 2818108 2818126 + Identifier 2818108 2818126 + CaseClause 2818128 2818243 + PropertyAccessExpression 2818146 2818171 + Identifier 2818146 2818157 + Identifier 2818158 2818171 + ReturnStatement 2818172 2818243 + CallExpression 2818196 2818242 + Identifier 2818196 2818215 + AsExpression 2818216 2818241 + Identifier 2818216 2818220 + TypeReference 2818223 2818241 + Identifier 2818223 2818241 + CaseClause 2818243 2818346 + PropertyAccessExpression 2818261 2818282 + Identifier 2818261 2818272 + Identifier 2818273 2818282 + ReturnStatement 2818283 2818346 + CallExpression 2818307 2818345 + Identifier 2818307 2818322 + AsExpression 2818323 2818344 + Identifier 2818323 2818327 + TypeReference 2818330 2818344 + Identifier 2818330 2818344 + CaseClause 2818346 2818455 + PropertyAccessExpression 2818364 2818387 + Identifier 2818364 2818375 + Identifier 2818376 2818387 + ReturnStatement 2818388 2818455 + CallExpression 2818412 2818454 + Identifier 2818412 2818429 + AsExpression 2818430 2818453 + Identifier 2818430 2818434 + TypeReference 2818437 2818453 + Identifier 2818437 2818453 + CaseClause 2818455 2818558 + PropertyAccessExpression 2818473 2818494 + Identifier 2818473 2818484 + Identifier 2818485 2818494 + ReturnStatement 2818495 2818558 + CallExpression 2818519 2818557 + Identifier 2818519 2818534 + AsExpression 2818535 2818556 + Identifier 2818535 2818539 + TypeReference 2818542 2818556 + Identifier 2818542 2818556 + CaseClause 2818558 2818661 + PropertyAccessExpression 2818576 2818597 + Identifier 2818576 2818587 + Identifier 2818588 2818597 + ReturnStatement 2818598 2818661 + CallExpression 2818622 2818660 + Identifier 2818622 2818637 + AsExpression 2818638 2818659 + Identifier 2818638 2818642 + TypeReference 2818645 2818659 + Identifier 2818645 2818659 + CaseClause 2818661 2818701 + PropertyAccessExpression 2818679 2818700 + Identifier 2818679 2818690 + Identifier 2818691 2818700 + CaseClause 2818701 2818839 + PropertyAccessExpression 2818719 2818747 + Identifier 2818719 2818730 + Identifier 2818731 2818747 + ReturnStatement 2818748 2818839 + CallExpression 2818772 2818838 + Identifier 2818772 2818801 + AsExpression 2818802 2818837 + Identifier 2818802 2818806 + TypeReference 2818809 2818837 + Identifier 2818809 2818837 + CaseClause 2818839 2818887 + PropertyAccessExpression 2818857 2818886 + Identifier 2818857 2818868 + Identifier 2818869 2818886 + CaseClause 2818887 2818930 + PropertyAccessExpression 2818905 2818929 + Identifier 2818905 2818916 + Identifier 2818917 2818929 + CaseClause 2818930 2819085 + PropertyAccessExpression 2818948 2818968 + Identifier 2818948 2818959 + Identifier 2818960 2818968 + ReturnStatement 2818969 2819085 + CallExpression 2818993 2819084 + Identifier 2818993 2819012 + PropertyAccessExpression 2819013 2819083 + ParenthesizedExpression 2819013 2819078 + AsExpression 2819014 2819077 + Identifier 2819014 2819018 + UnionType 2819021 2819077 + TypeReference 2819021 2819043 + Identifier 2819021 2819043 + TypeReference 2819045 2819062 + Identifier 2819045 2819062 + TypeReference 2819064 2819077 + Identifier 2819064 2819077 + Identifier 2819079 2819083 + CaseClause 2819085 2819185 + PropertyAccessExpression 2819103 2819123 + Identifier 2819103 2819114 + Identifier 2819115 2819123 + ReturnStatement 2819124 2819185 + CallExpression 2819148 2819184 + Identifier 2819148 2819162 + AsExpression 2819163 2819183 + Identifier 2819163 2819167 + TypeReference 2819170 2819183 + Identifier 2819170 2819183 + CaseClause 2819185 2819297 + PropertyAccessExpression 2819203 2819227 + Identifier 2819203 2819214 + Identifier 2819215 2819227 + ReturnStatement 2819228 2819297 + CallExpression 2819252 2819296 + Identifier 2819252 2819270 + AsExpression 2819271 2819295 + Identifier 2819271 2819275 + TypeReference 2819278 2819295 + Identifier 2819278 2819295 + CaseClause 2819297 2819418 + PropertyAccessExpression 2819315 2819342 + Identifier 2819315 2819326 + Identifier 2819327 2819342 + ReturnStatement 2819343 2819418 + CallExpression 2819367 2819417 + Identifier 2819367 2819388 + AsExpression 2819389 2819416 + Identifier 2819389 2819393 + TypeReference 2819396 2819416 + Identifier 2819396 2819416 + CaseClause 2819418 2819521 + PropertyAccessExpression 2819436 2819457 + Identifier 2819436 2819447 + Identifier 2819448 2819457 + ReturnStatement 2819458 2819521 + CallExpression 2819482 2819520 + Identifier 2819482 2819497 + AsExpression 2819498 2819519 + Identifier 2819498 2819502 + TypeReference 2819505 2819519 + Identifier 2819505 2819519 + CaseClause 2819521 2819654 + PropertyAccessExpression 2819539 2819570 + Identifier 2819539 2819550 + Identifier 2819551 2819570 + ReturnStatement 2819571 2819654 + CallExpression 2819595 2819653 + Identifier 2819595 2819620 + AsExpression 2819621 2819652 + Identifier 2819621 2819625 + TypeReference 2819628 2819652 + Identifier 2819628 2819652 + CaseClause 2819654 2819760 + PropertyAccessExpression 2819672 2819694 + Identifier 2819672 2819683 + Identifier 2819684 2819694 + ReturnStatement 2819695 2819760 + CallExpression 2819719 2819759 + Identifier 2819719 2819735 + AsExpression 2819736 2819758 + Identifier 2819736 2819740 + TypeReference 2819743 2819758 + Identifier 2819743 2819758 + CaseClause 2819760 2819880 + PropertyAccessExpression 2819778 2819806 + Identifier 2819778 2819789 + Identifier 2819790 2819806 + ReturnStatement 2819807 2819880 + CallExpression 2819831 2819879 + Identifier 2819831 2819853 + AsExpression 2819854 2819878 + Identifier 2819854 2819858 + TypeReference 2819861 2819878 + Identifier 2819861 2819878 + CaseClause 2819880 2820000 + PropertyAccessExpression 2819898 2819926 + Identifier 2819898 2819909 + Identifier 2819910 2819926 + ReturnStatement 2819927 2820000 + CallExpression 2819951 2819999 + Identifier 2819951 2819973 + AsExpression 2819974 2819998 + Identifier 2819974 2819978 + TypeReference 2819981 2819998 + Identifier 2819981 2819998 + CaseClause 2820000 2820126 + PropertyAccessExpression 2820018 2820048 + Identifier 2820018 2820029 + Identifier 2820030 2820048 + ReturnStatement 2820049 2820126 + CallExpression 2820073 2820125 + Identifier 2820073 2820097 + AsExpression 2820098 2820124 + Identifier 2820098 2820102 + TypeReference 2820105 2820124 + Identifier 2820105 2820124 + CaseClause 2820126 2820172 + PropertyAccessExpression 2820144 2820171 + Identifier 2820144 2820155 + Identifier 2820156 2820171 + CaseClause 2820172 2820219 + PropertyAccessExpression 2820190 2820218 + Identifier 2820190 2820201 + Identifier 2820202 2820218 + CaseClause 2820219 2820335 + PropertyAccessExpression 2820237 2820261 + Identifier 2820237 2820248 + Identifier 2820249 2820261 + ReturnStatement 2820262 2820335 + CallExpression 2820286 2820334 + Identifier 2820286 2820309 + AsExpression 2820310 2820333 + Identifier 2820310 2820314 + TypeReference 2820317 2820333 + Identifier 2820317 2820333 + CaseClause 2820335 2820455 + PropertyAccessExpression 2820353 2820381 + Identifier 2820353 2820364 + Identifier 2820365 2820381 + ReturnStatement 2820382 2820455 + CallExpression 2820406 2820454 + Identifier 2820406 2820428 + AsExpression 2820429 2820453 + Identifier 2820429 2820433 + TypeReference 2820436 2820453 + Identifier 2820436 2820453 + CaseClause 2820455 2820563 + PropertyAccessExpression 2820473 2820497 + Identifier 2820473 2820484 + Identifier 2820485 2820497 + ReturnStatement 2820498 2820563 + CallExpression 2820522 2820562 + Identifier 2820522 2820540 + AsExpression 2820541 2820561 + Identifier 2820541 2820545 + TypeReference 2820548 2820561 + Identifier 2820548 2820561 + CaseClause 2820563 2820603 + PropertyAccessExpression 2820581 2820602 + Identifier 2820581 2820592 + Identifier 2820593 2820602 + CaseClause 2820603 2820647 + PropertyAccessExpression 2820621 2820646 + Identifier 2820621 2820632 + Identifier 2820633 2820646 + CaseClause 2820647 2820791 + PropertyAccessExpression 2820665 2820691 + Identifier 2820665 2820676 + Identifier 2820677 2820691 + ReturnStatement 2820692 2820791 + CallExpression 2820716 2820790 + Identifier 2820716 2820738 + AsExpression 2820739 2820789 + Identifier 2820739 2820743 + UnionType 2820746 2820789 + TypeReference 2820746 2820756 + Identifier 2820746 2820756 + TypeReference 2820758 2820772 + Identifier 2820758 2820772 + TypeReference 2820774 2820789 + Identifier 2820774 2820789 + CaseClause 2820791 2820914 + PropertyAccessExpression 2820809 2820838 + Identifier 2820809 2820820 + Identifier 2820821 2820838 + ReturnStatement 2820839 2820914 + CallExpression 2820863 2820913 + Identifier 2820863 2820886 + AsExpression 2820887 2820912 + Identifier 2820887 2820891 + TypeReference 2820894 2820912 + Identifier 2820894 2820912 + CaseClause 2820914 2821034 + PropertyAccessExpression 2820932 2820960 + Identifier 2820932 2820943 + Identifier 2820944 2820960 + ReturnStatement 2820961 2821034 + CallExpression 2820985 2821033 + Identifier 2820985 2821007 + AsExpression 2821008 2821032 + Identifier 2821008 2821012 + TypeReference 2821015 2821032 + Identifier 2821015 2821032 + CaseClause 2821034 2821150 + PropertyAccessExpression 2821052 2821081 + Identifier 2821052 2821063 + Identifier 2821064 2821081 + ExpressionStatement 2821082 2821150 + CallExpression 2821082 2821149 + Identifier 2821082 2821122 + AsExpression 2821123 2821148 + Identifier 2821123 2821127 + TypeReference 2821130 2821148 + Identifier 2821130 2821148 + CaseClause 2821150 2821235 + PropertyAccessExpression 2821202 2821234 + Identifier 2821202 2821213 + Identifier 2821214 2821234 + CaseClause 2821235 2821283 + PropertyAccessExpression 2821253 2821282 + Identifier 2821253 2821264 + Identifier 2821265 2821282 + CaseClause 2821283 2821326 + PropertyAccessExpression 2821301 2821325 + Identifier 2821301 2821312 + Identifier 2821313 2821325 + CaseClause 2821326 2821373 + PropertyAccessExpression 2821344 2821372 + Identifier 2821344 2821355 + Identifier 2821356 2821372 + CaseClause 2821373 2821551 + PropertyAccessExpression 2821391 2821419 + Identifier 2821391 2821402 + Identifier 2821403 2821419 + ExpressionStatement 2821420 2821469 + CallExpression 2821420 2821468 + Identifier 2821420 2821462 + Identifier 2821463 2821467 + ExpressionStatement 2821469 2821526 + CallExpression 2821469 2821525 + Identifier 2821469 2821499 + Identifier 2821500 2821504 + Identifier 2821505 2821524 + ReturnStatement 2821526 2821551 + CaseClause 2821551 2821692 + PropertyAccessExpression 2821569 2821598 + Identifier 2821569 2821580 + Identifier 2821581 2821598 + ExpressionStatement 2821599 2821667 + CallExpression 2821599 2821666 + Identifier 2821599 2821639 + AsExpression 2821640 2821665 + Identifier 2821640 2821644 + TypeReference 2821647 2821665 + Identifier 2821647 2821665 + ReturnStatement 2821667 2821692 + CaseClause 2821692 2821822 + PropertyAccessExpression 2821710 2821741 + Identifier 2821710 2821721 + Identifier 2821722 2821741 + ReturnStatement 2821742 2821822 + CallExpression 2821766 2821821 + Identifier 2821766 2821785 + PropertyAccessExpression 2821786 2821820 + ParenthesizedExpression 2821786 2821815 + AsExpression 2821787 2821814 + Identifier 2821787 2821791 + TypeReference 2821794 2821814 + Identifier 2821794 2821814 + Identifier 2821816 2821820 + CaseClause 2821822 2821867 + PropertyAccessExpression 2821840 2821866 + Identifier 2821840 2821851 + Identifier 2821852 2821866 + CaseClause 2821867 2821915 + PropertyAccessExpression 2821885 2821914 + Identifier 2821885 2821896 + Identifier 2821897 2821914 + CaseClause 2821915 2822081 + PropertyAccessExpression 2821933 2821960 + Identifier 2821933 2821944 + Identifier 2821945 2821960 + ReturnStatement 2821961 2822081 + CallExpression 2821985 2822080 + Identifier 2821985 2822018 + AsExpression 2822019 2822079 + Identifier 2822019 2822023 + UnionType 2822026 2822079 + TypeReference 2822026 2822041 + Identifier 2822026 2822041 + TypeReference 2822043 2822061 + Identifier 2822043 2822061 + TypeReference 2822063 2822079 + Identifier 2822063 2822079 + CaseClause 2822081 2822204 + PropertyAccessExpression 2822099 2822128 + Identifier 2822099 2822110 + Identifier 2822111 2822128 + ReturnStatement 2822129 2822204 + CallExpression 2822153 2822203 + Identifier 2822153 2822176 + AsExpression 2822177 2822202 + Identifier 2822177 2822181 + TypeReference 2822184 2822202 + Identifier 2822184 2822202 + CaseClause 2822204 2822312 + PropertyAccessExpression 2822222 2822246 + Identifier 2822222 2822233 + Identifier 2822234 2822246 + ReturnStatement 2822247 2822312 + CallExpression 2822271 2822311 + Identifier 2822271 2822289 + AsExpression 2822290 2822310 + Identifier 2822290 2822294 + TypeReference 2822297 2822310 + Identifier 2822297 2822310 + CaseClause 2822312 2822426 + PropertyAccessExpression 2822330 2822356 + Identifier 2822330 2822341 + Identifier 2822342 2822356 + ReturnStatement 2822357 2822426 + CallExpression 2822381 2822425 + Identifier 2822381 2822401 + AsExpression 2822402 2822424 + Identifier 2822402 2822406 + TypeReference 2822409 2822424 + Identifier 2822409 2822424 + CaseClause 2822426 2822553 + PropertyAccessExpression 2822444 2822473 + Identifier 2822444 2822455 + Identifier 2822456 2822473 + ReturnStatement 2822474 2822553 + CallExpression 2822498 2822552 + Identifier 2822498 2822521 + AsExpression 2822522 2822551 + Identifier 2822522 2822526 + TypeReference 2822529 2822551 + Identifier 2822529 2822551 + CaseClause 2822553 2822659 + PropertyAccessExpression 2822571 2822593 + Identifier 2822571 2822582 + Identifier 2822583 2822593 + ReturnStatement 2822594 2822659 + CallExpression 2822618 2822658 + Identifier 2822618 2822634 + AsExpression 2822635 2822657 + Identifier 2822635 2822639 + TypeReference 2822642 2822657 + Identifier 2822642 2822657 + CaseClause 2822659 2822788 + PropertyAccessExpression 2822677 2822708 + Identifier 2822677 2822688 + Identifier 2822689 2822708 + ReturnStatement 2822709 2822788 + CallExpression 2822733 2822787 + Identifier 2822733 2822758 + AsExpression 2822759 2822786 + Identifier 2822759 2822763 + TypeReference 2822766 2822786 + Identifier 2822766 2822786 + CaseClause 2822788 2822824 + PropertyAccessExpression 2822806 2822823 + Identifier 2822806 2822817 + Identifier 2822818 2822823 + CaseClause 2822824 2822917 + PropertyAccessExpression 2822842 2822865 + Identifier 2822842 2822853 + Identifier 2822854 2822865 + ReturnStatement 2822866 2822917 + CallExpression 2822890 2822916 + Identifier 2822890 2822901 + AsExpression 2822902 2822915 + Identifier 2822902 2822906 + TypeReference 2822909 2822915 + Identifier 2822909 2822915 + CaseClause 2822917 2823040 + PropertyAccessExpression 2822935 2822964 + Identifier 2822935 2822946 + Identifier 2822947 2822964 + ReturnStatement 2822965 2823040 + CallExpression 2822989 2823039 + Identifier 2822989 2823012 + AsExpression 2823013 2823038 + Identifier 2823013 2823017 + TypeReference 2823020 2823038 + Identifier 2823020 2823038 + CaseClause 2823040 2823169 + PropertyAccessExpression 2823058 2823089 + Identifier 2823058 2823069 + Identifier 2823070 2823089 + ReturnStatement 2823090 2823169 + CallExpression 2823114 2823168 + Identifier 2823114 2823139 + AsExpression 2823140 2823167 + Identifier 2823140 2823144 + TypeReference 2823147 2823167 + Identifier 2823147 2823167 + CaseClause 2823169 2823274 + PropertyAccessExpression 2823187 2823210 + Identifier 2823187 2823198 + Identifier 2823199 2823210 + ReturnStatement 2823211 2823274 + CallExpression 2823235 2823273 + Identifier 2823235 2823252 + AsExpression 2823253 2823272 + Identifier 2823253 2823257 + TypeReference 2823260 2823272 + Identifier 2823260 2823272 + CaseClause 2823274 2823379 + PropertyAccessExpression 2823292 2823315 + Identifier 2823292 2823303 + Identifier 2823304 2823315 + ReturnStatement 2823316 2823379 + CallExpression 2823340 2823378 + Identifier 2823340 2823357 + AsExpression 2823358 2823377 + Identifier 2823358 2823362 + TypeReference 2823365 2823377 + Identifier 2823365 2823377 + CaseClause 2823379 2823493 + PropertyAccessExpression 2823397 2823423 + Identifier 2823397 2823408 + Identifier 2823409 2823423 + ReturnStatement 2823424 2823493 + CallExpression 2823448 2823492 + Identifier 2823448 2823468 + AsExpression 2823469 2823491 + Identifier 2823469 2823473 + TypeReference 2823476 2823491 + Identifier 2823476 2823491 + CaseClause 2823493 2823601 + PropertyAccessExpression 2823511 2823535 + Identifier 2823511 2823522 + Identifier 2823523 2823535 + ReturnStatement 2823536 2823601 + CallExpression 2823560 2823600 + Identifier 2823560 2823578 + AsExpression 2823579 2823599 + Identifier 2823579 2823583 + TypeReference 2823586 2823599 + Identifier 2823586 2823599 + CaseClause 2823601 2823715 + PropertyAccessExpression 2823619 2823645 + Identifier 2823619 2823630 + Identifier 2823631 2823645 + ReturnStatement 2823646 2823715 + CallExpression 2823670 2823714 + Identifier 2823670 2823690 + AsExpression 2823691 2823713 + Identifier 2823691 2823695 + TypeReference 2823698 2823713 + Identifier 2823698 2823713 + CaseClause 2823715 2823829 + PropertyAccessExpression 2823733 2823759 + Identifier 2823733 2823744 + Identifier 2823745 2823759 + ReturnStatement 2823760 2823829 + CallExpression 2823784 2823828 + Identifier 2823784 2823804 + AsExpression 2823805 2823827 + Identifier 2823805 2823809 + TypeReference 2823812 2823827 + Identifier 2823812 2823827 + CaseClause 2823829 2823877 + PropertyAccessExpression 2823847 2823876 + Identifier 2823847 2823858 + Identifier 2823859 2823876 + CaseClause 2823877 2824011 + PropertyAccessExpression 2823895 2823921 + Identifier 2823895 2823906 + Identifier 2823907 2823921 + ReturnStatement 2823922 2824011 + CallExpression 2823946 2824010 + Identifier 2823946 2823976 + AsExpression 2823977 2824009 + Identifier 2823977 2823981 + TypeReference 2823984 2824009 + Identifier 2823984 2824009 + CaseClause 2824011 2824128 + PropertyAccessExpression 2824029 2824056 + Identifier 2824029 2824040 + Identifier 2824041 2824056 + ReturnStatement 2824057 2824128 + CallExpression 2824081 2824127 + Identifier 2824081 2824102 + AsExpression 2824103 2824126 + Identifier 2824103 2824107 + TypeReference 2824110 2824126 + Identifier 2824110 2824126 + CaseClause 2824128 2824239 + PropertyAccessExpression 2824146 2824171 + Identifier 2824146 2824157 + Identifier 2824158 2824171 + ReturnStatement 2824172 2824239 + CallExpression 2824196 2824238 + Identifier 2824196 2824215 + AsExpression 2824216 2824237 + Identifier 2824216 2824220 + TypeReference 2824223 2824237 + Identifier 2824223 2824237 + CaseClause 2824239 2824356 + PropertyAccessExpression 2824257 2824284 + Identifier 2824257 2824268 + Identifier 2824269 2824284 + ReturnStatement 2824285 2824356 + CallExpression 2824309 2824355 + Identifier 2824309 2824330 + AsExpression 2824331 2824354 + Identifier 2824331 2824335 + TypeReference 2824338 2824354 + Identifier 2824338 2824354 + CaseClause 2824356 2824476 + PropertyAccessExpression 2824374 2824402 + Identifier 2824374 2824385 + Identifier 2824386 2824402 + ReturnStatement 2824403 2824476 + CallExpression 2824427 2824475 + Identifier 2824427 2824449 + AsExpression 2824450 2824474 + Identifier 2824450 2824454 + TypeReference 2824457 2824474 + Identifier 2824457 2824474 + CaseClause 2824476 2824590 + PropertyAccessExpression 2824494 2824520 + Identifier 2824494 2824505 + Identifier 2824506 2824520 + ReturnStatement 2824521 2824590 + CallExpression 2824545 2824589 + Identifier 2824545 2824565 + AsExpression 2824566 2824588 + Identifier 2824566 2824570 + TypeReference 2824573 2824588 + Identifier 2824573 2824588 + CaseClause 2824590 2824698 + PropertyAccessExpression 2824608 2824632 + Identifier 2824608 2824619 + Identifier 2824620 2824632 + ReturnStatement 2824633 2824698 + CallExpression 2824657 2824697 + Identifier 2824657 2824675 + AsExpression 2824676 2824696 + Identifier 2824676 2824680 + TypeReference 2824683 2824696 + Identifier 2824683 2824696 + CaseClause 2824698 2824827 + PropertyAccessExpression 2824716 2824747 + Identifier 2824716 2824727 + Identifier 2824728 2824747 + ReturnStatement 2824748 2824827 + CallExpression 2824772 2824826 + Identifier 2824772 2824797 + AsExpression 2824798 2824825 + Identifier 2824798 2824802 + TypeReference 2824805 2824825 + Identifier 2824805 2824825 + CaseClause 2824827 2824941 + PropertyAccessExpression 2824845 2824871 + Identifier 2824845 2824856 + Identifier 2824857 2824871 + ReturnStatement 2824872 2824941 + CallExpression 2824896 2824940 + Identifier 2824896 2824916 + AsExpression 2824917 2824939 + Identifier 2824917 2824921 + TypeReference 2824924 2824939 + Identifier 2824924 2824939 + CaseClause 2824941 2825061 + PropertyAccessExpression 2824959 2824987 + Identifier 2824959 2824970 + Identifier 2824971 2824987 + ReturnStatement 2824988 2825061 + CallExpression 2825012 2825060 + Identifier 2825012 2825034 + AsExpression 2825035 2825059 + Identifier 2825035 2825039 + TypeReference 2825042 2825059 + Identifier 2825042 2825059 + CaseClause 2825061 2825193 + PropertyAccessExpression 2825079 2825111 + Identifier 2825079 2825090 + Identifier 2825091 2825111 + ReturnStatement 2825112 2825193 + CallExpression 2825136 2825192 + Identifier 2825136 2825162 + AsExpression 2825163 2825191 + Identifier 2825163 2825167 + TypeReference 2825170 2825191 + Identifier 2825170 2825191 + CaseClause 2825193 2825325 + PropertyAccessExpression 2825211 2825243 + Identifier 2825211 2825222 + Identifier 2825223 2825243 + ReturnStatement 2825244 2825325 + CallExpression 2825268 2825324 + Identifier 2825268 2825294 + AsExpression 2825295 2825323 + Identifier 2825295 2825299 + TypeReference 2825302 2825323 + Identifier 2825302 2825323 + CaseClause 2825325 2825442 + PropertyAccessExpression 2825343 2825370 + Identifier 2825343 2825354 + Identifier 2825355 2825370 + ReturnStatement 2825371 2825442 + CallExpression 2825395 2825441 + Identifier 2825395 2825416 + AsExpression 2825417 2825440 + Identifier 2825417 2825421 + TypeReference 2825424 2825440 + Identifier 2825424 2825440 + CaseClause 2825442 2825544 + PropertyAccessExpression 2825460 2825482 + Identifier 2825460 2825471 + Identifier 2825472 2825482 + ReturnStatement 2825483 2825544 + CallExpression 2825507 2825543 + Identifier 2825507 2825523 + AsExpression 2825524 2825542 + Identifier 2825524 2825528 + TypeReference 2825531 2825542 + Identifier 2825531 2825542 + CaseClause 2825544 2825667 + PropertyAccessExpression 2825562 2825591 + Identifier 2825562 2825573 + Identifier 2825574 2825591 + ReturnStatement 2825592 2825667 + CallExpression 2825616 2825666 + Identifier 2825616 2825639 + AsExpression 2825640 2825665 + Identifier 2825640 2825644 + TypeReference 2825647 2825665 + Identifier 2825647 2825665 + CaseClause 2825667 2825790 + PropertyAccessExpression 2825685 2825714 + Identifier 2825685 2825696 + Identifier 2825697 2825714 + ReturnStatement 2825715 2825790 + CallExpression 2825739 2825789 + Identifier 2825739 2825762 + AsExpression 2825763 2825788 + Identifier 2825763 2825767 + TypeReference 2825770 2825788 + Identifier 2825770 2825788 + CaseClause 2825790 2825931 + PropertyAccessExpression 2825808 2825843 + Identifier 2825808 2825819 + Identifier 2825820 2825843 + ReturnStatement 2825844 2825931 + CallExpression 2825868 2825930 + Identifier 2825868 2825897 + AsExpression 2825898 2825929 + Identifier 2825898 2825902 + TypeReference 2825905 2825929 + Identifier 2825905 2825929 + CaseClause 2825931 2826054 + PropertyAccessExpression 2825949 2825978 + Identifier 2825949 2825960 + Identifier 2825961 2825978 + ReturnStatement 2825979 2826054 + CallExpression 2826003 2826053 + Identifier 2826003 2826026 + AsExpression 2826027 2826052 + Identifier 2826027 2826031 + TypeReference 2826034 2826052 + Identifier 2826034 2826052 + CaseClause 2826054 2826174 + PropertyAccessExpression 2826072 2826100 + Identifier 2826072 2826083 + Identifier 2826084 2826100 + ReturnStatement 2826101 2826174 + CallExpression 2826125 2826173 + Identifier 2826125 2826147 + AsExpression 2826148 2826172 + Identifier 2826148 2826152 + TypeReference 2826155 2826172 + Identifier 2826155 2826172 + CaseClause 2826174 2826219 + PropertyAccessExpression 2826192 2826218 + Identifier 2826192 2826203 + Identifier 2826204 2826218 + CaseClause 2826219 2826354 + PropertyAccessExpression 2826237 2826266 + Identifier 2826237 2826248 + Identifier 2826249 2826266 + ExpressionStatement 2826267 2826329 + CallExpression 2826267 2826328 + Identifier 2826267 2826322 + Identifier 2826323 2826327 + ReturnStatement 2826329 2826354 + CaseClause 2826354 2826458 + PropertyAccessExpression 2826372 2826402 + Identifier 2826372 2826383 + Identifier 2826384 2826402 + ReturnStatement 2826403 2826458 + CallExpression 2826427 2826457 + Identifier 2826427 2826451 + Identifier 2826452 2826456 + FunctionDeclaration 2826476 2826781 + Identifier 2826492 2826516 + Parameter 2826517 2826567 + Identifier 2826517 2826521 + UnionType 2826522 2826567 + StringKeyword 2826522 2826529 + TypeOperator 2826531 2826555 + ArrayType 2826540 2826555 + TypeReference 2826540 2826553 + Identifier 2826540 2826553 + UndefinedKeyword 2826557 2826567 + Block 2826568 2826781 + IfStatement 2826570 2826774 + CallExpression 2826584 2826597 + Identifier 2826584 2826591 + Identifier 2826592 2826596 + Block 2826598 2826774 + ExpressionStatement 2826600 2826763 + CallExpression 2826600 2826762 + Identifier 2826600 2826621 + Identifier 2826622 2826626 + ArrowFunction 2826627 2826761 + Parameter 2826627 2826631 + Identifier 2826627 2826631 + EqualsGreaterThanToken 2826631 2826634 + Block 2826634 2826761 + IfStatement 2826636 2826746 + CallExpression 2826658 2826678 + Identifier 2826658 2826673 + Identifier 2826674 2826677 + Block 2826679 2826746 + ExpressionStatement 2826681 2826727 + CallExpression 2826681 2826726 + Identifier 2826681 2826721 + Identifier 2826722 2826725 + FunctionDeclaration 2826781 2828077 + Identifier 2826797 2826822 + Parameter 2826823 2826833 + Identifier 2826823 2826827 + TypeReference 2826828 2826833 + Identifier 2826828 2826833 + VoidKeyword 2826835 2826840 + Block 2826840 2828077 + IfStatement 2826842 2828070 + PrefixUnaryExpression 2826856 2826873 + CallExpression 2826857 2826873 + Identifier 2826857 2826867 + Identifier 2826868 2826872 + Block 2826874 2828070 + IfStatement 2826876 2828059 + BinaryExpression 2826894 2826951 + CallExpression 2826894 2826922 + Identifier 2826894 2826916 + Identifier 2826917 2826921 + BarBarToken 2826922 2826925 + CallExpression 2826925 2826951 + Identifier 2826925 2826945 + Identifier 2826946 2826950 + Block 2826952 2827909 + VariableStatement 2826954 2827087 + VariableDeclarationList 2826954 2827086 + VariableDeclaration 2826977 2827086 + Identifier 2826977 2826983 + CallExpression 2826985 2827086 + Identifier 2826985 2826999 + ConditionalExpression 2827000 2827085 + CallExpression 2827000 2827028 + Identifier 2827000 2827022 + Identifier 2827023 2827027 + QuestionToken 2827028 2827030 + PropertyAccessExpression 2827030 2827058 + Identifier 2827030 2827041 + Identifier 2827042 2827058 + ColonToken 2827058 2827060 + PropertyAccessExpression 2827060 2827085 + Identifier 2827060 2827071 + Identifier 2827072 2827085 + VariableStatement 2827087 2827367 + VariableDeclarationList 2827087 2827366 + VariableDeclaration 2827110 2827366 + Identifier 2827110 2827121 + ConditionalExpression 2827123 2827366 + PropertyAccessExpression 2827123 2827136 + Identifier 2827123 2827128 + Identifier 2827129 2827136 + QuestionToken 2827136 2827159 + PropertyAccessExpression 2827159 2827250 + Identifier 2827159 2827171 + Identifier 2827172 2827250 + ColonToken 2827250 2827273 + PropertyAccessExpression 2827273 2827366 + Identifier 2827273 2827285 + Identifier 2827286 2827366 + VariableStatement 2827367 2827412 + VariableDeclarationList 2827367 2827411 + VariableDeclaration 2827390 2827411 + Identifier 2827390 2827399 + PropertyAccessExpression 2827401 2827411 + Identifier 2827401 2827406 + Identifier 2827407 2827411 + VariableStatement 2827412 2827473 + VariableDeclarationList 2827412 2827472 + VariableDeclaration 2827435 2827472 + Identifier 2827435 2827440 + CallExpression 2827442 2827472 + Identifier 2827442 2827462 + Identifier 2827463 2827471 + ExpressionStatement 2827473 2827894 + CallExpression 2827473 2827893 + Identifier 2827473 2827509 + Identifier 2827510 2827536 + Identifier 2827537 2827569 + Identifier 2827570 2827597 + CallExpression 2827598 2827873 + Identifier 2827598 2827632 + ConditionalExpression 2827633 2827849 + BinaryExpression 2827633 2827730 + CallExpression 2827633 2827684 + Identifier 2827633 2827678 + Identifier 2827679 2827683 + AmpersandAmpersandToken 2827684 2827687 + PrefixUnaryExpression 2827687 2827730 + ParenthesizedExpression 2827689 2827730 + BinaryExpression 2827690 2827729 + BinaryExpression 2827690 2827708 + Identifier 2827690 2827694 + EqualsEqualsEqualsToken 2827694 2827698 + Identifier 2827698 2827708 + BarBarToken 2827708 2827711 + BinaryExpression 2827711 2827729 + Identifier 2827711 2827716 + EqualsEqualsEqualsToken 2827716 2827720 + Identifier 2827720 2827729 + QuestionToken 2827730 2827761 + CallExpression 2827761 2827842 + Identifier 2827761 2827774 + CallExpression 2827775 2827841 + Identifier 2827775 2827781 + ArrayLiteralExpression 2827782 2827803 + Identifier 2827783 2827787 + Identifier 2827788 2827802 + ConditionalExpression 2827804 2827840 + PropertyAccessExpression 2827804 2827817 + Identifier 2827804 2827809 + Identifier 2827810 2827817 + QuestionToken 2827817 2827819 + Identifier 2827819 2827829 + ColonToken 2827829 2827831 + Identifier 2827831 2827840 + ColonToken 2827842 2827844 + Identifier 2827844 2827849 + Block 2827927 2828059 + ExpressionStatement 2827929 2828044 + CallExpression 2827929 2828043 + Identifier 2827929 2827965 + Identifier 2827966 2827970 + PropertyAccessExpression 2827971 2828042 + Identifier 2827971 2827983 + Identifier 2827984 2828042 + FunctionDeclaration 2828077 2829437 + Identifier 2828093 2828116 + Parameter 2828117 2828140 + Identifier 2828117 2828121 + TypeReference 2828122 2828140 + Identifier 2828122 2828140 + VoidKeyword 2828142 2828147 + Block 2828147 2829437 + ExpressionStatement 2828149 2828190 + CallExpression 2828149 2828189 + Identifier 2828149 2828183 + Identifier 2828184 2828188 + ExpressionStatement 2828190 2828230 + CallExpression 2828190 2828229 + Identifier 2828190 2828218 + PropertyAccessExpression 2828219 2828228 + Identifier 2828219 2828223 + Identifier 2828224 2828228 + VariableStatement 2828230 2828368 + VariableDeclarationList 2828230 2828367 + VariableDeclaration 2828349 2828367 + ObjectBindingPattern 2828349 2828360 + BindingElement 2828351 2828358 + Identifier 2828351 2828358 + Identifier 2828362 2828367 + IfStatement 2828368 2828644 + BinaryExpression 2828382 2828439 + CallExpression 2828382 2828401 + Identifier 2828382 2828393 + Identifier 2828394 2828400 + AmpersandAmpersandToken 2828401 2828404 + CallExpression 2828404 2828439 + Identifier 2828404 2828424 + PropertyAccessExpression 2828425 2828438 + Identifier 2828425 2828431 + Identifier 2828432 2828438 + Block 2828440 2828644 + IfStatement 2828442 2828612 + BinaryExpression 2828460 2828501 + CallExpression 2828460 2828490 + Identifier 2828460 2828464 + PropertyAccessExpression 2828465 2828489 + PropertyAccessExpression 2828465 2828478 + Identifier 2828465 2828471 + Identifier 2828472 2828478 + Identifier 2828479 2828489 + ExclamationEqualsEqualsToken 2828490 2828494 + Identifier 2828494 2828501 + Block 2828502 2828612 + ExpressionStatement 2828504 2828597 + CallExpression 2828504 2828596 + Identifier 2828504 2828527 + Identifier 2828528 2828532 + PropertyAccessExpression 2828533 2828595 + Identifier 2828533 2828545 + Identifier 2828546 2828595 + ReturnStatement 2828612 2828633 + IfStatement 2828644 2828802 + PrefixUnaryExpression 2828660 2828690 + CallExpression 2828661 2828690 + Identifier 2828661 2828682 + Identifier 2828683 2828689 + Block 2828691 2828802 + ExpressionStatement 2828693 2828791 + CallExpression 2828693 2828790 + Identifier 2828693 2828712 + Identifier 2828713 2828717 + PropertyAccessExpression 2828718 2828789 + Identifier 2828718 2828730 + Identifier 2828731 2828789 + VariableStatement 2828802 2828850 + VariableDeclarationList 2828802 2828849 + VariableDeclaration 2828819 2828849 + Identifier 2828819 2828828 + PropertyAccessExpression 2828830 2828849 + PropertyAccessExpression 2828830 2828842 + Identifier 2828830 2828835 + Identifier 2828836 2828842 + Identifier 2828843 2828849 + IfStatement 2828850 2829027 + PrefixUnaryExpression 2828864 2828894 + CallExpression 2828865 2828894 + Identifier 2828865 2828884 + Identifier 2828885 2828893 + Block 2828895 2829027 + ExpressionStatement 2828897 2828995 + CallExpression 2828897 2828994 + Identifier 2828897 2828916 + Identifier 2828917 2828921 + PropertyAccessExpression 2828922 2828993 + Identifier 2828922 2828934 + Identifier 2828935 2828993 + ReturnStatement 2828995 2829016 + VariableStatement 2829027 2829091 + VariableDeclarationList 2829027 2829090 + VariableDeclaration 2829044 2829090 + Identifier 2829044 2829050 + CallExpression 2829052 2829090 + Identifier 2829052 2829080 + Identifier 2829081 2829089 + IfStatement 2829091 2829205 + PrefixUnaryExpression 2829105 2829111 + Identifier 2829106 2829111 + Block 2829112 2829205 + ReturnStatement 2829114 2829194 + VariableStatement 2829205 2829266 + VariableDeclarationList 2829205 2829265 + VariableDeclaration 2829222 2829265 + Identifier 2829222 2829227 + CallExpression 2829229 2829265 + Identifier 2829229 2829255 + Identifier 2829256 2829264 + IfStatement 2829266 2829430 + BinaryExpression 2829280 2829327 + PrefixUnaryExpression 2829280 2829285 + Identifier 2829281 2829285 + BarBarToken 2829285 2829288 + BinaryExpression 2829288 2829327 + PropertyAccessExpression 2829288 2829317 + CallExpression 2829288 2829310 + Identifier 2829288 2829293 + PropertyAccessExpression 2829294 2829309 + Identifier 2829294 2829298 + Identifier 2829299 2829309 + Identifier 2829311 2829317 + ExclamationEqualsEqualsToken 2829317 2829321 + Identifier 2829321 2829327 + Block 2829328 2829430 + ExpressionStatement 2829330 2829419 + CallExpression 2829330 2829418 + Identifier 2829330 2829349 + Identifier 2829350 2829354 + PropertyAccessExpression 2829355 2829417 + Identifier 2829355 2829367 + Identifier 2829368 2829417 + FunctionDeclaration 2829437 2831265 + Identifier 2829453 2829482 + Parameter 2829483 2829506 + Identifier 2829483 2829487 + TypeReference 2829488 2829506 + Identifier 2829488 2829506 + TypeReference 2829508 2829513 + Identifier 2829508 2829513 + Block 2829513 2831265 + VariableStatement 2829515 2829569 + VariableDeclarationList 2829515 2829568 + VariableDeclaration 2829530 2829568 + Identifier 2829530 2829535 + CallExpression 2829537 2829568 + Identifier 2829537 2829557 + PropertyAccessExpression 2829558 2829567 + Identifier 2829558 2829562 + Identifier 2829563 2829567 + VariableStatement 2829569 2829603 + VariableDeclarationList 2829569 2829602 + VariableDeclaration 2829584 2829602 + ObjectBindingPattern 2829584 2829595 + BindingElement 2829586 2829593 + Identifier 2829586 2829593 + Identifier 2829597 2829602 + VariableStatement 2829603 2829649 + VariableDeclarationList 2829603 2829648 + VariableDeclaration 2829618 2829648 + Identifier 2829618 2829627 + PropertyAccessExpression 2829629 2829648 + PropertyAccessExpression 2829629 2829641 + Identifier 2829629 2829634 + Identifier 2829635 2829641 + Identifier 2829642 2829648 + IfStatement 2829649 2831092 + BinaryExpression 2829663 2829730 + CallExpression 2829663 2829697 + Identifier 2829663 2829684 + PropertyAccessExpression 2829685 2829696 + Identifier 2829685 2829689 + Identifier 2829690 2829696 + AmpersandAmpersandToken 2829697 2829700 + CallExpression 2829700 2829730 + Identifier 2829700 2829720 + Identifier 2829721 2829729 + Block 2829731 2831092 + VariableStatement 2829733 2829873 + VariableDeclarationList 2829733 2829872 + VariableDeclaration 2829829 2829872 + Identifier 2829829 2829834 + CallExpression 2829836 2829872 + Identifier 2829836 2829862 + Identifier 2829863 2829871 + VariableStatement 2829873 2829952 + VariableDeclarationList 2829873 2829951 + VariableDeclaration 2829892 2829951 + Identifier 2829892 2829906 + CallExpression 2829908 2829951 + Identifier 2829908 2829927 + PropertyAccessExpression 2829928 2829950 + PropertyAccessExpression 2829928 2829943 + Identifier 2829928 2829936 + Identifier 2829937 2829943 + Identifier 2829944 2829950 + IfStatement 2829952 2831081 + BinaryExpression 2829970 2829991 + Identifier 2829970 2829974 + BarBarToken 2829974 2829977 + Identifier 2829977 2829991 + Block 2829992 2831081 + VariableStatement 2829994 2830725 + VariableDeclarationList 2829994 2830724 + VariableDeclaration 2830508 2830724 + Identifier 2830508 2830529 + ConditionalExpression 2830531 2830724 + Identifier 2830531 2830545 + QuestionToken 2830545 2830568 + CallExpression 2830568 2830667 + Identifier 2830568 2830584 + PropertyAccessExpression 2830585 2830666 + PropertyAccessExpression 2830585 2830655 + ParenthesizedExpression 2830585 2830640 + AsExpression 2830586 2830639 + AsExpression 2830586 2830619 + PropertyAccessExpression 2830586 2830608 + PropertyAccessExpression 2830586 2830601 + Identifier 2830586 2830594 + Identifier 2830595 2830601 + Identifier 2830602 2830608 + UnknownKeyword 2830611 2830619 + TypeReference 2830622 2830639 + Identifier 2830622 2830639 + Identifier 2830641 2830655 + Identifier 2830656 2830666 + ColonToken 2830667 2830690 + CallExpression 2830690 2830724 + Identifier 2830690 2830706 + PropertyAccessExpression 2830707 2830723 + NonNullExpression 2830707 2830712 + Identifier 2830707 2830711 + Identifier 2830713 2830723 + VariableStatement 2830725 2830796 + VariableDeclarationList 2830725 2830795 + VariableDeclaration 2830748 2830795 + Identifier 2830748 2830755 + CallExpression 2830757 2830795 + Identifier 2830757 2830785 + Identifier 2830786 2830794 + IfStatement 2830796 2831066 + BinaryExpression 2830818 2830975 + PrefixUnaryExpression 2830818 2830861 + Identifier 2830841 2830861 + BarBarToken 2830861 2830864 + BinaryExpression 2830864 2830975 + BinaryExpression 2830864 2830934 + Identifier 2830864 2830892 + AmpersandAmpersandToken 2830892 2830895 + BinaryExpression 2830895 2830934 + PropertyAccessExpression 2830895 2830923 + Identifier 2830895 2830916 + Identifier 2830917 2830923 + EqualsEqualsEqualsToken 2830923 2830927 + Identifier 2830927 2830934 + AmpersandAmpersandToken 2830934 2830937 + CallExpression 2830937 2830975 + Identifier 2830937 2830953 + Identifier 2830954 2830974 + Block 2830994 2831066 + ReturnStatement 2830996 2831047 + CallExpression 2831024 2831046 + Identifier 2831024 2831040 + Identifier 2831041 2831045 + IfStatement 2831092 2831220 + BinaryExpression 2831106 2831163 + CallExpression 2831106 2831125 + Identifier 2831106 2831117 + Identifier 2831118 2831124 + AmpersandAmpersandToken 2831125 2831128 + CallExpression 2831128 2831163 + Identifier 2831128 2831148 + PropertyAccessExpression 2831149 2831162 + Identifier 2831149 2831155 + Identifier 2831156 2831162 + Block 2831164 2831220 + ReturnStatement 2831166 2831209 + CallExpression 2831186 2831208 + Identifier 2831186 2831202 + Identifier 2831203 2831207 + ReturnStatement 2831220 2831258 + CallExpression 2831236 2831257 + Identifier 2831236 2831251 + Identifier 2831252 2831256 + FunctionDeclaration 2831265 2832308 + Identifier 2831866 2831884 + Parameter 2831885 2831895 + Identifier 2831885 2831889 + TypeReference 2831890 2831895 + Identifier 2831890 2831895 + Block 2831896 2832308 + VariableStatement 2831898 2831956 + VariableDeclarationList 2831898 2831955 + VariableDeclaration 2831913 2831955 + Identifier 2831913 2831927 + CallExpression 2831929 2831955 + Identifier 2831929 2831949 + Identifier 2831950 2831954 + VariableStatement 2831956 2832008 + VariableDeclarationList 2831956 2832007 + VariableDeclaration 2831971 2832007 + Identifier 2831971 2831977 + CallExpression 2831979 2832007 + Identifier 2831979 2831992 + Identifier 2831993 2832006 + IfStatement 2832008 2832301 + PrefixUnaryExpression 2832022 2832065 + ParenthesizedExpression 2832023 2832065 + BinaryExpression 2832024 2832064 + PropertyAccessExpression 2832024 2832035 + Identifier 2832024 2832029 + Identifier 2832030 2832035 + AmpersandToken 2832035 2832037 + PropertyAccessExpression 2832037 2832064 + Identifier 2832037 2832052 + Identifier 2832053 2832064 + Block 2832066 2832171 + ExpressionStatement 2832068 2832116 + BinaryExpression 2832068 2832115 + PropertyAccessExpression 2832068 2832101 + Identifier 2832068 2832087 + Identifier 2832088 2832101 + BarBarEqualsToken 2832101 2832105 + NewExpression 2832105 2832115 + Identifier 2832109 2832113 + ExpressionStatement 2832116 2832160 + CallExpression 2832116 2832159 + PropertyAccessExpression 2832116 2832153 + PropertyAccessExpression 2832116 2832149 + Identifier 2832116 2832135 + Identifier 2832136 2832149 + Identifier 2832150 2832153 + Identifier 2832154 2832158 + Block 2832185 2832301 + ExpressionStatement 2832187 2832290 + CallExpression 2832187 2832289 + PropertyAccessExpression 2832187 2832213 + Identifier 2832187 2832206 + Identifier 2832207 2832213 + PrefixUnaryExpression 2832214 2832234 + PropertyAccessExpression 2832215 2832234 + Identifier 2832215 2832220 + Identifier 2832221 2832234 + StringLiteral 2832235 2832288 + FunctionDeclaration 2832308 2832569 + Identifier 2832324 2832343 + Parameter 2832344 2832363 + Identifier 2832344 2832351 + TypeReference 2832352 2832363 + Identifier 2832352 2832363 + Block 2832364 2832569 + VariableStatement 2832366 2832412 + VariableDeclarationList 2832366 2832411 + VariableDeclaration 2832381 2832411 + Identifier 2832381 2832387 + CallExpression 2832389 2832411 + Identifier 2832389 2832402 + Identifier 2832403 2832410 + IfStatement 2832412 2832520 + PropertyAccessExpression 2832426 2832445 + Identifier 2832426 2832431 + Identifier 2832432 2832445 + Block 2832446 2832520 + ExpressionStatement 2832448 2832509 + CallExpression 2832448 2832508 + PropertyAccessExpression 2832448 2832489 + PropertyAccessExpression 2832448 2832481 + Identifier 2832448 2832467 + Identifier 2832468 2832481 + Identifier 2832482 2832489 + Identifier 2832490 2832507 + ExpressionStatement 2832520 2832562 + BinaryExpression 2832520 2832561 + PropertyAccessExpression 2832520 2832549 + Identifier 2832520 2832535 + Identifier 2832536 2832549 + EqualsToken 2832549 2832551 + Identifier 2832551 2832561 + FunctionDeclaration 2832569 2835190 + Identifier 2832585 2832603 + Parameter 2832604 2832614 + Identifier 2832604 2832608 + TypeReference 2832609 2832614 + Identifier 2832609 2832614 + Block 2832615 2835190 + ExpressionStatement 2832617 2832775 + CallExpression 2832617 2832774 + PropertyAccessExpression 2832617 2832640 + Identifier 2832617 2832634 + QuestionDotToken 2832634 2832636 + Identifier 2832636 2832640 + PropertyAccessExpression 2832641 2832660 + PropertyAccessExpression 2832641 2832654 + Identifier 2832641 2832648 + Identifier 2832649 2832654 + Identifier 2832655 2832660 + StringLiteral 2832661 2832681 + ObjectLiteralExpression 2832682 2832773 + PropertyAssignment 2832684 2832700 + Identifier 2832684 2832689 + PropertyAccessExpression 2832690 2832700 + Identifier 2832690 2832695 + Identifier 2832696 2832700 + PropertyAssignment 2832701 2832715 + Identifier 2832701 2832705 + PropertyAccessExpression 2832706 2832715 + Identifier 2832706 2832711 + Identifier 2832712 2832715 + PropertyAssignment 2832716 2832730 + Identifier 2832716 2832720 + PropertyAccessExpression 2832721 2832730 + Identifier 2832721 2832726 + Identifier 2832727 2832730 + PropertyAssignment 2832731 2832771 + Identifier 2832731 2832736 + PropertyAccessExpression 2832737 2832771 + ParenthesizedExpression 2832737 2832759 + AsExpression 2832739 2832758 + Identifier 2832739 2832743 + TypeReference 2832746 2832758 + Identifier 2832746 2832758 + Identifier 2832760 2832771 + VariableStatement 2832775 2832821 + VariableDeclarationList 2832775 2832820 + VariableDeclaration 2832790 2832820 + Identifier 2832790 2832806 + Identifier 2832808 2832820 + ExpressionStatement 2832821 2832850 + BinaryExpression 2832821 2832849 + Identifier 2832821 2832842 + EqualsToken 2832842 2832844 + Identifier 2832844 2832849 + ExpressionStatement 2832850 2832883 + BinaryExpression 2832850 2832882 + Identifier 2832850 2832878 + EqualsToken 2832878 2832880 + NumericLiteral 2832880 2832882 + SwitchStatement 2832883 2835118 + PropertyAccessExpression 2832901 2832910 + Identifier 2832901 2832905 + Identifier 2832906 2832910 + CaseBlock 2832911 2835118 + CaseClause 2832913 2832958 + PropertyAccessExpression 2832931 2832957 + Identifier 2832931 2832942 + Identifier 2832943 2832957 + CaseClause 2832958 2833002 + PropertyAccessExpression 2832976 2833001 + Identifier 2832976 2832987 + Identifier 2832988 2833001 + CaseClause 2833002 2833057 + PropertyAccessExpression 2833020 2833056 + Identifier 2833020 2833031 + Identifier 2833032 2833056 + CaseClause 2833057 2833097 + PropertyAccessExpression 2833075 2833096 + Identifier 2833075 2833086 + Identifier 2833087 2833096 + CaseClause 2833097 2833445 + PropertyAccessExpression 2833115 2833144 + Identifier 2833115 2833126 + Identifier 2833127 2833144 + ExpressionStatement 2833145 2833421 + CallExpression 2833145 2833420 + Identifier 2833145 2833392 + AsExpression 2833393 2833419 + Identifier 2833393 2833397 + TypeReference 2833400 2833419 + Identifier 2833400 2833419 + BreakStatement 2833421 2833445 + CaseClause 2833445 2833494 + PropertyAccessExpression 2833463 2833493 + Identifier 2833463 2833474 + Identifier 2833475 2833493 + CaseClause 2833494 2833538 + PropertyAccessExpression 2833512 2833537 + Identifier 2833512 2833523 + Identifier 2833524 2833537 + CaseClause 2833538 2833586 + PropertyAccessExpression 2833556 2833585 + Identifier 2833556 2833567 + Identifier 2833568 2833585 + CaseClause 2833586 2833755 + PropertyAccessExpression 2833604 2833631 + Identifier 2833604 2833615 + Identifier 2833616 2833631 + ExpressionStatement 2833632 2833731 + CallExpression 2833632 2833730 + Identifier 2833632 2833702 + AsExpression 2833703 2833729 + Identifier 2833703 2833707 + TypeReference 2833710 2833729 + Identifier 2833710 2833729 + BreakStatement 2833731 2833755 + CaseClause 2833755 2833797 + PropertyAccessExpression 2833773 2833796 + Identifier 2833773 2833784 + Identifier 2833785 2833796 + CaseClause 2833797 2833935 + PropertyAccessExpression 2833815 2833838 + Identifier 2833815 2833826 + Identifier 2833827 2833838 + ExpressionStatement 2833839 2833911 + CallExpression 2833839 2833910 + Identifier 2833839 2833881 + AsExpression 2833882 2833909 + Identifier 2833882 2833886 + TypeReference 2833889 2833909 + Identifier 2833889 2833909 + BreakStatement 2833911 2833935 + CaseClause 2833935 2834077 + PropertyAccessExpression 2833953 2833980 + Identifier 2833953 2833964 + Identifier 2833965 2833980 + ExpressionStatement 2833981 2834053 + CallExpression 2833981 2834052 + Identifier 2833981 2834027 + AsExpression 2834028 2834051 + Identifier 2834028 2834032 + TypeReference 2834035 2834051 + Identifier 2834035 2834051 + BreakStatement 2834053 2834077 + CaseClause 2834077 2834224 + PropertyAccessExpression 2834095 2834120 + Identifier 2834095 2834106 + Identifier 2834107 2834120 + ExpressionStatement 2834121 2834200 + CallExpression 2834121 2834199 + Identifier 2834121 2834165 + AsExpression 2834166 2834198 + Identifier 2834166 2834170 + TypeReference 2834173 2834198 + Identifier 2834173 2834198 + BreakStatement 2834200 2834224 + CaseClause 2834224 2834384 + PropertyAccessExpression 2834242 2834275 + Identifier 2834242 2834253 + Identifier 2834254 2834275 + ExpressionStatement 2834276 2834360 + CallExpression 2834276 2834359 + Identifier 2834276 2834328 + AsExpression 2834329 2834358 + Identifier 2834329 2834333 + TypeReference 2834336 2834358 + Identifier 2834336 2834358 + BreakStatement 2834360 2834384 + CaseClause 2834384 2834511 + PropertyAccessExpression 2834402 2834424 + Identifier 2834402 2834413 + Identifier 2834414 2834424 + ExpressionStatement 2834425 2834487 + CallExpression 2834425 2834486 + Identifier 2834425 2834466 + AsExpression 2834467 2834485 + Identifier 2834467 2834471 + TypeReference 2834474 2834485 + Identifier 2834474 2834485 + BreakStatement 2834487 2834511 + CaseClause 2834511 2834565 + PropertyAccessExpression 2834529 2834564 + Identifier 2834529 2834540 + Identifier 2834541 2834564 + CaseClause 2834565 2834608 + PropertyAccessExpression 2834583 2834607 + Identifier 2834583 2834594 + Identifier 2834595 2834607 + CaseClause 2834608 2834777 + PropertyAccessExpression 2834626 2834661 + Identifier 2834626 2834637 + Identifier 2834638 2834661 + ExpressionStatement 2834662 2834753 + CallExpression 2834662 2834752 + Identifier 2834662 2834702 + AsExpression 2834703 2834751 + Identifier 2834703 2834707 + UnionType 2834710 2834751 + TypeReference 2834710 2834730 + Identifier 2834710 2834730 + TypeReference 2834732 2834751 + Identifier 2834732 2834751 + BreakStatement 2834753 2834777 + CaseClause 2834777 2834917 + PropertyAccessExpression 2834795 2834821 + Identifier 2834795 2834806 + Identifier 2834807 2834821 + ExpressionStatement 2834822 2834893 + CallExpression 2834822 2834892 + Identifier 2834822 2834855 + PropertyAccessExpression 2834856 2834891 + ParenthesizedExpression 2834856 2834880 + AsExpression 2834857 2834879 + Identifier 2834857 2834861 + TypeReference 2834864 2834879 + Identifier 2834864 2834879 + Identifier 2834881 2834891 + BreakStatement 2834893 2834917 + CaseClause 2834917 2835107 + PropertyAccessExpression 2834935 2834963 + Identifier 2834935 2834946 + Identifier 2834947 2834963 + IfStatement 2834964 2835083 + CallExpression 2834986 2835014 + Identifier 2834986 2835008 + Identifier 2835009 2835013 + Block 2835015 2835083 + ExpressionStatement 2835017 2835064 + CallExpression 2835017 2835063 + Identifier 2835017 2835057 + Identifier 2835058 2835062 + BreakStatement 2835083 2835107 + ExpressionStatement 2835118 2835158 + BinaryExpression 2835118 2835157 + Identifier 2835118 2835139 + EqualsToken 2835139 2835141 + Identifier 2835141 2835157 + ExpressionStatement 2835158 2835183 + CallExpression 2835158 2835182 + PropertyAccessExpression 2835158 2835180 + Identifier 2835158 2835175 + QuestionDotToken 2835175 2835177 + Identifier 2835177 2835180 + FunctionDeclaration 2835190 2835859 + Identifier 2835206 2835222 + Parameter 2835223 2835239 + Identifier 2835223 2835227 + TypeReference 2835228 2835239 + Identifier 2835228 2835239 + Parameter 2835240 2835273 + Identifier 2835240 2835253 + UnionType 2835254 2835273 + ArrayType 2835254 2835261 + TypeReference 2835254 2835259 + Identifier 2835254 2835259 + UndefinedKeyword 2835263 2835273 + Block 2835274 2835859 + ExpressionStatement 2835276 2835431 + CallExpression 2835276 2835430 + PropertyAccessExpression 2835276 2835299 + Identifier 2835276 2835293 + QuestionDotToken 2835293 2835295 + Identifier 2835295 2835299 + PropertyAccessExpression 2835300 2835319 + PropertyAccessExpression 2835300 2835313 + Identifier 2835300 2835307 + Identifier 2835308 2835313 + Identifier 2835314 2835319 + ConditionalExpression 2835320 2835378 + Identifier 2835320 2835333 + QuestionToken 2835333 2835335 + StringLiteral 2835335 2835358 + ColonToken 2835358 2835360 + StringLiteral 2835360 2835378 + ObjectLiteralExpression 2835379 2835399 + PropertyAssignment 2835381 2835397 + Identifier 2835381 2835386 + PropertyAccessExpression 2835387 2835397 + Identifier 2835387 2835392 + Identifier 2835393 2835397 + TrueKeyword 2835400 2835429 + VariableStatement 2835431 2835510 + VariableDeclarationList 2835431 2835509 + VariableDeclaration 2835446 2835509 + Identifier 2835446 2835457 + ConditionalExpression 2835459 2835509 + Identifier 2835459 2835472 + QuestionToken 2835472 2835474 + StringLiteral 2835474 2835493 + ColonToken 2835493 2835495 + StringLiteral 2835495 2835509 + VariableStatement 2835510 2835586 + VariableDeclarationList 2835510 2835585 + VariableDeclaration 2835525 2835585 + Identifier 2835525 2835535 + ConditionalExpression 2835537 2835585 + Identifier 2835537 2835550 + QuestionToken 2835550 2835552 + StringLiteral 2835552 2835570 + ColonToken 2835570 2835572 + StringLiteral 2835572 2835585 + ExpressionStatement 2835586 2835625 + CallExpression 2835586 2835624 + PropertyAccessExpression 2835586 2835612 + Identifier 2835586 2835607 + Identifier 2835608 2835612 + Identifier 2835613 2835623 + ExpressionStatement 2835625 2835727 + ConditionalExpression 2835625 2835726 + Identifier 2835625 2835647 + QuestionToken 2835647 2835649 + CallExpression 2835649 2835696 + Identifier 2835649 2835676 + Identifier 2835677 2835681 + Identifier 2835682 2835695 + ColonToken 2835696 2835698 + CallExpression 2835698 2835726 + Identifier 2835698 2835720 + Identifier 2835721 2835725 + ExpressionStatement 2835727 2835765 + CallExpression 2835727 2835764 + PropertyAccessExpression 2835727 2835753 + Identifier 2835727 2835748 + Identifier 2835749 2835753 + Identifier 2835754 2835763 + ExpressionStatement 2835765 2835827 + CallExpression 2835765 2835826 + PropertyAccessExpression 2835765 2835794 + Identifier 2835765 2835786 + Identifier 2835787 2835794 + StringLiteral 2835795 2835802 + Identifier 2835803 2835814 + Identifier 2835815 2835825 + ExpressionStatement 2835827 2835852 + CallExpression 2835827 2835851 + PropertyAccessExpression 2835827 2835849 + Identifier 2835827 2835844 + QuestionDotToken 2835844 2835846 + Identifier 2835846 2835849 + FunctionDeclaration 2835859 2836312 + Identifier 2835875 2835889 + Parameter 2835890 2835906 + Identifier 2835890 2835894 + TypeReference 2835895 2835906 + Identifier 2835895 2835906 + Parameter 2835907 2835926 + Identifier 2835907 2835917 + BooleanKeyword 2835918 2835926 + BooleanKeyword 2835928 2835936 + Block 2835936 2836312 + IfStatement 2835938 2836002 + Identifier 2835952 2835961 + Block 2835962 2836002 + ReturnStatement 2835964 2835991 + FalseKeyword 2835984 2835990 + SwitchStatement 2836002 2836305 + Identifier 2836020 2836024 + CaseBlock 2836025 2836305 + CaseClause 2836027 2836121 + PropertyAccessExpression 2836045 2836062 + Identifier 2836045 2836056 + Identifier 2836057 2836062 + ReturnStatement 2836063 2836121 + PrefixUnaryExpression 2836087 2836120 + PrefixUnaryExpression 2836089 2836120 + PropertyAccessExpression 2836090 2836120 + Identifier 2836090 2836105 + Identifier 2836106 2836120 + CaseClause 2836121 2836223 + PropertyAccessExpression 2836139 2836160 + Identifier 2836139 2836150 + Identifier 2836151 2836160 + ReturnStatement 2836161 2836223 + PrefixUnaryExpression 2836185 2836222 + PrefixUnaryExpression 2836187 2836222 + PropertyAccessExpression 2836188 2836222 + Identifier 2836188 2836203 + Identifier 2836204 2836222 + DefaultClause 2836223 2836294 + ReturnStatement 2836245 2836294 + CallExpression 2836269 2836293 + PropertyAccessExpression 2836269 2836287 + Identifier 2836269 2836275 + Identifier 2836276 2836287 + Identifier 2836288 2836292 + FunctionDeclaration 2836312 2836517 + Identifier 2836328 2836360 + Parameter 2836361 2836383 + Identifier 2836361 2836371 + TypeReference 2836372 2836383 + Identifier 2836372 2836383 + TypeOperator 2836385 2836424 + ArrayType 2836394 2836424 + TypeReference 2836394 2836422 + Identifier 2836394 2836422 + Block 2836424 2836517 + ReturnStatement 2836426 2836510 + BinaryExpression 2836442 2836509 + CallExpression 2836442 2836495 + PropertyAccessExpression 2836442 2836478 + Identifier 2836442 2836474 + Identifier 2836475 2836478 + PropertyAccessExpression 2836479 2836494 + Identifier 2836479 2836489 + Identifier 2836490 2836494 + BarBarToken 2836495 2836498 + Identifier 2836498 2836509 + FunctionDeclaration 2836517 2839866 + Identifier 2836610 2836632 + Parameter 2836633 2836649 + Identifier 2836633 2836637 + TypeReference 2836638 2836649 + Identifier 2836638 2836649 + Block 2836650 2839866 + VariableStatement 2836652 2836695 + VariableDeclarationList 2836652 2836694 + VariableDeclaration 2836667 2836694 + Identifier 2836667 2836673 + CallExpression 2836675 2836694 + Identifier 2836675 2836688 + Identifier 2836689 2836693 + IfStatement 2836695 2839859 + PrefixUnaryExpression 2836709 2836752 + ParenthesizedExpression 2836710 2836752 + BinaryExpression 2836711 2836751 + PropertyAccessExpression 2836711 2836722 + Identifier 2836711 2836716 + Identifier 2836717 2836722 + AmpersandToken 2836722 2836724 + PropertyAccessExpression 2836724 2836751 + Identifier 2836724 2836739 + Identifier 2836740 2836751 + Block 2836753 2839859 + IfStatement 2836755 2836861 + CallExpression 2836773 2836818 + Identifier 2836773 2836789 + Identifier 2836790 2836794 + Identifier 2836795 2836811 + Identifier 2836812 2836817 + Block 2836819 2836861 + ReturnStatement 2836821 2836846 + ExpressionStatement 2836861 2836939 + CallExpression 2836861 2836938 + Identifier 2836861 2836932 + Identifier 2836933 2836937 + ExpressionStatement 2836939 2836986 + CallExpression 2836939 2836985 + Identifier 2836939 2836960 + Identifier 2836961 2836984 + ExpressionStatement 2836986 2837036 + CallExpression 2836986 2837035 + Identifier 2836986 2837005 + Identifier 2837006 2837034 + ExpressionStatement 2837036 2837087 + CallExpression 2837036 2837086 + Identifier 2837036 2837055 + Identifier 2837056 2837085 + ExpressionStatement 2837087 2837135 + CallExpression 2837087 2837134 + Identifier 2837087 2837106 + Identifier 2837107 2837133 + ExpressionStatement 2837135 2837201 + CallExpression 2837135 2837200 + Identifier 2837135 2837154 + Identifier 2837155 2837199 + IfStatement 2837201 2837733 + BinaryExpression 2837221 2837270 + PropertyAccessExpression 2837221 2837232 + Identifier 2837221 2837226 + Identifier 2837227 2837232 + AmpersandToken 2837232 2837234 + PropertyAccessExpression 2837234 2837270 + Identifier 2837234 2837249 + Identifier 2837250 2837270 + Block 2837271 2837733 + ExpressionStatement 2837273 2837348 + BinaryExpression 2837273 2837347 + Identifier 2837273 2837314 + EqualsToken 2837314 2837316 + NonNullExpression 2837316 2837347 + PropertyAccessExpression 2837316 2837346 + Identifier 2837316 2837322 + Identifier 2837323 2837346 + ExpressionStatement 2837348 2837433 + BinaryExpression 2837348 2837432 + Identifier 2837348 2837394 + EqualsToken 2837394 2837396 + NonNullExpression 2837396 2837432 + PropertyAccessExpression 2837396 2837431 + Identifier 2837396 2837402 + Identifier 2837403 2837431 + ExpressionStatement 2837433 2837520 + BinaryExpression 2837433 2837519 + Identifier 2837433 2837480 + EqualsToken 2837480 2837482 + NonNullExpression 2837482 2837519 + PropertyAccessExpression 2837482 2837518 + Identifier 2837482 2837488 + Identifier 2837489 2837518 + ExpressionStatement 2837520 2837601 + BinaryExpression 2837520 2837600 + Identifier 2837520 2837564 + EqualsToken 2837564 2837566 + NonNullExpression 2837566 2837600 + PropertyAccessExpression 2837566 2837599 + Identifier 2837566 2837572 + Identifier 2837573 2837599 + ExpressionStatement 2837601 2837718 + BinaryExpression 2837601 2837717 + Identifier 2837601 2837663 + EqualsToken 2837663 2837665 + NonNullExpression 2837665 2837717 + PropertyAccessExpression 2837665 2837716 + Identifier 2837665 2837671 + Identifier 2837672 2837716 + ExpressionStatement 2837733 2837794 + CallExpression 2837733 2837793 + Identifier 2837733 2837756 + PropertyAccessExpression 2837757 2837772 + Identifier 2837757 2837761 + Identifier 2837762 2837772 + Identifier 2837773 2837792 + ExpressionStatement 2837794 2837848 + CallExpression 2837794 2837847 + Identifier 2837794 2837826 + PropertyAccessExpression 2837827 2837846 + Identifier 2837827 2837831 + Identifier 2837832 2837846 + ExpressionStatement 2837848 2837889 + CallExpression 2837848 2837888 + Identifier 2837848 2837882 + Identifier 2837883 2837887 + IfStatement 2837889 2838017 + CallExpression 2837909 2837941 + Identifier 2837909 2837935 + Identifier 2837936 2837940 + Block 2837942 2838017 + ExpressionStatement 2837944 2838002 + CallExpression 2837944 2838001 + Identifier 2837944 2837995 + Identifier 2837996 2838000 + ExpressionStatement 2838017 2838823 + CallExpression 2838017 2838822 + Identifier 2838017 2838050 + ArrowFunction 2838051 2838821 + EqualsGreaterThanToken 2838053 2838056 + Block 2838056 2838821 + IfStatement 2838058 2838662 + BinaryExpression 2838185 2838282 + PrefixUnaryExpression 2838185 2838208 + PropertyAccessExpression 2838186 2838208 + Identifier 2838186 2838190 + Identifier 2838191 2838208 + AmpersandAmpersandToken 2838208 2838211 + ParenthesizedExpression 2838211 2838282 + BinaryExpression 2838213 2838281 + PropertyAccessExpression 2838213 2838243 + Identifier 2838213 2838228 + Identifier 2838229 2838243 + BarBarToken 2838243 2838246 + PropertyAccessExpression 2838246 2838281 + Identifier 2838246 2838262 + Identifier 2838263 2838281 + Block 2838283 2838662 + ExpressionStatement 2838285 2838643 + CallExpression 2838285 2838642 + Identifier 2838285 2838329 + CallExpression 2838330 2838367 + Identifier 2838330 2838361 + Identifier 2838362 2838366 + ArrowFunction 2838368 2838641 + Parameter 2838370 2838384 + Identifier 2838370 2838384 + Parameter 2838385 2838390 + Identifier 2838385 2838390 + Parameter 2838391 2838396 + Identifier 2838391 2838396 + EqualsGreaterThanToken 2838397 2838400 + Block 2838400 2838641 + IfStatement 2838402 2838618 + BinaryExpression 2838432 2838536 + PrefixUnaryExpression 2838432 2838467 + CallExpression 2838433 2838467 + Identifier 2838433 2838451 + Identifier 2838452 2838466 + AmpersandAmpersandToken 2838467 2838470 + CallExpression 2838470 2838536 + Identifier 2838470 2838484 + Identifier 2838485 2838489 + PrefixUnaryExpression 2838490 2838535 + PrefixUnaryExpression 2838492 2838535 + ParenthesizedExpression 2838493 2838535 + BinaryExpression 2838494 2838534 + PropertyAccessExpression 2838494 2838514 + Identifier 2838494 2838508 + Identifier 2838509 2838514 + AmpersandToken 2838514 2838516 + PropertyAccessExpression 2838516 2838534 + Identifier 2838516 2838526 + Identifier 2838527 2838534 + Block 2838537 2838618 + ExpressionStatement 2838539 2838591 + CallExpression 2838539 2838590 + PropertyAccessExpression 2838539 2838584 + Identifier 2838539 2838580 + Identifier 2838581 2838584 + Identifier 2838585 2838589 + IfStatement 2838662 2838806 + PrefixUnaryExpression 2838684 2838707 + PropertyAccessExpression 2838685 2838707 + Identifier 2838685 2838689 + Identifier 2838690 2838707 + Block 2838708 2838806 + ExpressionStatement 2838710 2838787 + CallExpression 2838710 2838786 + Identifier 2838710 2838784 + IfStatement 2838823 2838944 + CallExpression 2838843 2838875 + Identifier 2838843 2838869 + Identifier 2838870 2838874 + Block 2838876 2838944 + ExpressionStatement 2838878 2838929 + CallExpression 2838878 2838928 + Identifier 2838878 2838922 + Identifier 2838923 2838927 + IfStatement 2838944 2839151 + PropertyAccessExpression 2838964 2838994 + Identifier 2838964 2838987 + Identifier 2838988 2838994 + Block 2838995 2839151 + ExpressionStatement 2838997 2839087 + CallExpression 2838997 2839086 + Identifier 2838997 2839022 + Identifier 2839023 2839046 + Identifier 2839047 2839085 + ExpressionStatement 2839087 2839136 + CallExpression 2839087 2839135 + Identifier 2839087 2839110 + Identifier 2839111 2839134 + IfStatement 2839151 2839378 + PropertyAccessExpression 2839171 2839206 + Identifier 2839171 2839199 + Identifier 2839200 2839206 + Block 2839207 2839378 + ExpressionStatement 2839209 2839309 + CallExpression 2839209 2839308 + Identifier 2839209 2839234 + Identifier 2839235 2839263 + Identifier 2839264 2839307 + ExpressionStatement 2839309 2839363 + CallExpression 2839309 2839362 + Identifier 2839309 2839332 + Identifier 2839333 2839361 + IfStatement 2839378 2839590 + PropertyAccessExpression 2839398 2839434 + Identifier 2839398 2839427 + Identifier 2839428 2839434 + Block 2839435 2839590 + ExpressionStatement 2839437 2839520 + CallExpression 2839437 2839519 + Identifier 2839437 2839462 + Identifier 2839463 2839492 + Identifier 2839493 2839518 + ExpressionStatement 2839520 2839575 + CallExpression 2839520 2839574 + Identifier 2839520 2839543 + Identifier 2839544 2839573 + IfStatement 2839590 2839790 + PropertyAccessExpression 2839610 2839643 + Identifier 2839610 2839636 + Identifier 2839637 2839643 + Block 2839644 2839790 + ExpressionStatement 2839646 2839723 + CallExpression 2839646 2839722 + Identifier 2839646 2839671 + Identifier 2839672 2839698 + Identifier 2839699 2839721 + ExpressionStatement 2839723 2839775 + CallExpression 2839723 2839774 + Identifier 2839723 2839746 + Identifier 2839747 2839773 + ExpressionStatement 2839790 2839848 + BinaryExpression 2839790 2839847 + PropertyAccessExpression 2839790 2839817 + Identifier 2839790 2839811 + Identifier 2839812 2839817 + BarEqualsToken 2839817 2839820 + PropertyAccessExpression 2839820 2839847 + Identifier 2839820 2839835 + Identifier 2839836 2839847 + FunctionDeclaration 2839866 2841598 + Identifier 2839882 2839909 + Parameter 2839910 2839926 + Identifier 2839910 2839914 + TypeReference 2839915 2839926 + Identifier 2839915 2839926 + Parameter 2839927 2839950 + Identifier 2839927 2839933 + TypeOperator 2839934 2839950 + ArrayType 2839943 2839950 + TypeReference 2839943 2839948 + Identifier 2839943 2839948 + Block 2839951 2841598 + VariableStatement 2839953 2839996 + VariableDeclarationList 2839953 2839995 + VariableDeclaration 2839968 2839995 + Identifier 2839968 2839974 + CallExpression 2839976 2839995 + Identifier 2839976 2839989 + Identifier 2839990 2839994 + IfStatement 2839996 2841591 + PrefixUnaryExpression 2840010 2840053 + ParenthesizedExpression 2840011 2840053 + BinaryExpression 2840012 2840052 + PropertyAccessExpression 2840012 2840023 + Identifier 2840012 2840017 + Identifier 2840018 2840023 + AmpersandToken 2840023 2840025 + PropertyAccessExpression 2840025 2840052 + Identifier 2840025 2840040 + Identifier 2840041 2840052 + Block 2840054 2841591 + IfStatement 2840056 2840162 + CallExpression 2840074 2840119 + Identifier 2840074 2840090 + Identifier 2840091 2840095 + Identifier 2840096 2840112 + Identifier 2840113 2840118 + Block 2840120 2840162 + ReturnStatement 2840122 2840147 + ExpressionStatement 2840162 2840240 + CallExpression 2840162 2840239 + Identifier 2840162 2840233 + Identifier 2840234 2840238 + ExpressionStatement 2840240 2840287 + CallExpression 2840240 2840286 + Identifier 2840240 2840261 + Identifier 2840262 2840285 + ExpressionStatement 2840287 2840337 + CallExpression 2840287 2840336 + Identifier 2840287 2840306 + Identifier 2840307 2840335 + ExpressionStatement 2840337 2840388 + CallExpression 2840337 2840387 + Identifier 2840337 2840356 + Identifier 2840357 2840386 + ExpressionStatement 2840388 2840436 + CallExpression 2840388 2840435 + Identifier 2840388 2840407 + Identifier 2840408 2840434 + ExpressionStatement 2840436 2840502 + CallExpression 2840436 2840501 + Identifier 2840436 2840455 + Identifier 2840456 2840500 + ExpressionStatement 2840502 2840553 + CallExpression 2840502 2840552 + Identifier 2840502 2840525 + Identifier 2840526 2840531 + Identifier 2840532 2840551 + ExpressionStatement 2840553 2840594 + CallExpression 2840553 2840593 + Identifier 2840553 2840587 + Identifier 2840588 2840592 + ExpressionStatement 2840594 2840715 + CallExpression 2840594 2840714 + PropertyAccessExpression 2840594 2840686 + ParenthesizedExpression 2840594 2840681 + BinaryExpression 2840611 2840680 + PropertyAccessExpression 2840611 2840640 + Identifier 2840611 2840616 + Identifier 2840617 2840640 + BarBarToken 2840640 2840643 + ParenthesizedExpression 2840643 2840680 + BinaryExpression 2840645 2840679 + PropertyAccessExpression 2840645 2840674 + Identifier 2840645 2840650 + Identifier 2840651 2840674 + EqualsToken 2840674 2840676 + ArrayLiteralExpression 2840676 2840679 + Identifier 2840682 2840686 + SpreadElement 2840687 2840713 + Identifier 2840690 2840713 + ExpressionStatement 2840715 2840849 + CallExpression 2840715 2840848 + PropertyAccessExpression 2840715 2840815 + ParenthesizedExpression 2840715 2840810 + BinaryExpression 2840730 2840809 + PropertyAccessExpression 2840730 2840764 + Identifier 2840730 2840735 + Identifier 2840736 2840764 + BarBarToken 2840764 2840767 + ParenthesizedExpression 2840767 2840809 + BinaryExpression 2840769 2840808 + PropertyAccessExpression 2840769 2840803 + Identifier 2840769 2840774 + Identifier 2840775 2840803 + EqualsToken 2840803 2840805 + ArrayLiteralExpression 2840805 2840808 + Identifier 2840811 2840815 + SpreadElement 2840816 2840847 + Identifier 2840819 2840847 + ExpressionStatement 2840849 2840986 + CallExpression 2840849 2840985 + PropertyAccessExpression 2840849 2840951 + ParenthesizedExpression 2840849 2840946 + BinaryExpression 2840864 2840945 + PropertyAccessExpression 2840864 2840899 + Identifier 2840864 2840869 + Identifier 2840870 2840899 + BarBarToken 2840899 2840902 + ParenthesizedExpression 2840902 2840945 + BinaryExpression 2840904 2840944 + PropertyAccessExpression 2840904 2840939 + Identifier 2840904 2840909 + Identifier 2840910 2840939 + EqualsToken 2840939 2840941 + ArrayLiteralExpression 2840941 2840944 + Identifier 2840947 2840951 + SpreadElement 2840952 2840984 + Identifier 2840955 2840984 + ExpressionStatement 2840986 2841114 + CallExpression 2840986 2841113 + PropertyAccessExpression 2840986 2841082 + ParenthesizedExpression 2840986 2841077 + BinaryExpression 2841001 2841076 + PropertyAccessExpression 2841001 2841033 + Identifier 2841001 2841006 + Identifier 2841007 2841033 + BarBarToken 2841033 2841036 + ParenthesizedExpression 2841036 2841076 + BinaryExpression 2841038 2841075 + PropertyAccessExpression 2841038 2841070 + Identifier 2841038 2841043 + Identifier 2841044 2841070 + EqualsToken 2841070 2841072 + ArrayLiteralExpression 2841072 2841075 + Identifier 2841078 2841082 + SpreadElement 2841083 2841112 + Identifier 2841086 2841112 + ExpressionStatement 2841114 2841329 + CallExpression 2841114 2841328 + PropertyAccessExpression 2841114 2841246 + ParenthesizedExpression 2841114 2841241 + BinaryExpression 2841129 2841240 + PropertyAccessExpression 2841129 2841179 + Identifier 2841129 2841134 + Identifier 2841135 2841179 + BarBarToken 2841179 2841182 + ParenthesizedExpression 2841182 2841240 + BinaryExpression 2841184 2841239 + PropertyAccessExpression 2841184 2841234 + Identifier 2841184 2841189 + Identifier 2841190 2841234 + EqualsToken 2841234 2841236 + ArrayLiteralExpression 2841236 2841239 + Identifier 2841242 2841246 + SpreadElement 2841247 2841312 + Identifier 2841268 2841312 + ExpressionStatement 2841329 2841396 + BinaryExpression 2841329 2841395 + PropertyAccessExpression 2841329 2841356 + Identifier 2841329 2841350 + Identifier 2841351 2841356 + BarEqualsToken 2841356 2841359 + PropertyAccessExpression 2841359 2841395 + Identifier 2841359 2841374 + Identifier 2841375 2841395 + ForOfStatement 2841396 2841580 + VariableDeclarationList 2841415 2841425 + VariableDeclaration 2841420 2841425 + Identifier 2841420 2841425 + Identifier 2841428 2841434 + Block 2841435 2841580 + VariableStatement 2841437 2841492 + VariableDeclarationList 2841437 2841491 + VariableDeclaration 2841460 2841491 + Identifier 2841460 2841470 + CallExpression 2841472 2841491 + Identifier 2841472 2841485 + Identifier 2841486 2841490 + ExpressionStatement 2841492 2841565 + BinaryExpression 2841492 2841564 + PropertyAccessExpression 2841492 2841525 + Identifier 2841492 2841519 + Identifier 2841520 2841525 + BarEqualsToken 2841525 2841528 + PropertyAccessExpression 2841528 2841564 + Identifier 2841528 2841543 + Identifier 2841544 2841564 + FunctionDeclaration 2841598 2842166 + Identifier 2841614 2841629 + Parameter 2841630 2841652 + Identifier 2841630 2841640 + TypeReference 2841641 2841652 + Identifier 2841641 2841652 + Parameter 2841653 2841675 + Identifier 2841653 2841656 + TypeReference 2841657 2841675 + Identifier 2841657 2841675 + Parameter 2841676 2841698 + Identifier 2841676 2841689 + QuestionToken 2841689 2841690 + ArrayType 2841691 2841698 + TypeReference 2841691 2841696 + Identifier 2841691 2841696 + ArrayType 2841700 2841713 + TypeReference 2841700 2841711 + Identifier 2841700 2841711 + Block 2841713 2842166 + TryStatement 2841715 2842159 + Block 2841728 2842085 + ExpressionStatement 2841730 2842006 + BinaryExpression 2841730 2842005 + Identifier 2841730 2842000 + EqualsToken 2842000 2842002 + Identifier 2842002 2842005 + ReturnStatement 2842006 2842074 + CallExpression 2842026 2842073 + Identifier 2842026 2842047 + Identifier 2842048 2842058 + Identifier 2842059 2842072 + Block 2842102 2842159 + ExpressionStatement 2842104 2842148 + BinaryExpression 2842104 2842147 + Identifier 2842104 2842135 + EqualsToken 2842135 2842137 + Identifier 2842137 2842147 + FunctionDeclaration 2842166 2842456 + Identifier 2842182 2842218 + Block 2842220 2842456 + ForOfStatement 2842222 2842405 + VariableDeclarationList 2842332 2842340 + VariableDeclaration 2842337 2842340 + Identifier 2842337 2842340 + Identifier 2842343 2842372 + Block 2842373 2842405 + ExpressionStatement 2842375 2842394 + CallExpression 2842375 2842393 + Identifier 2842375 2842391 + ExpressionStatement 2842405 2842449 + BinaryExpression 2842405 2842448 + Identifier 2842405 2842443 + EqualsToken 2842443 2842445 + ArrayLiteralExpression 2842445 2842448 + FunctionDeclaration 2842456 2843340 + Identifier 2842472 2842508 + Parameter 2842509 2842531 + Identifier 2842509 2842519 + TypeReference 2842520 2842531 + Identifier 2842520 2842531 + Parameter 2842532 2842554 + Identifier 2842532 2842545 + QuestionToken 2842545 2842546 + ArrayType 2842547 2842554 + TypeReference 2842547 2842552 + Identifier 2842547 2842552 + Block 2842555 2843340 + ExpressionStatement 2842557 2842605 + CallExpression 2842557 2842604 + Identifier 2842557 2842602 + VariableStatement 2842605 2843188 + VariableDeclarationList 2842605 2843187 + VariableDeclaration 2843145 2843187 + Identifier 2843145 2843167 + Identifier 2843169 2843187 + ExpressionStatement 2843188 2843229 + BinaryExpression 2843188 2843228 + Identifier 2843188 2843215 + EqualsToken 2843215 2843217 + ArrowFunction 2843217 2843228 + Parameter 2843217 2843220 + Identifier 2843217 2843220 + EqualsGreaterThanToken 2843220 2843223 + CallExpression 2843223 2843228 + Identifier 2843223 2843226 + ExpressionStatement 2843229 2843281 + CallExpression 2843229 2843280 + Identifier 2843229 2843254 + Identifier 2843255 2843265 + Identifier 2843266 2843279 + ExpressionStatement 2843281 2843333 + BinaryExpression 2843281 2843332 + Identifier 2843281 2843308 + EqualsToken 2843308 2843310 + Identifier 2843310 2843332 + FunctionDeclaration 2843340 2845450 + Identifier 2843356 2843377 + Parameter 2843378 2843400 + Identifier 2843378 2843388 + TypeReference 2843389 2843400 + Identifier 2843389 2843400 + Parameter 2843401 2843434 + Identifier 2843401 2843414 + UnionType 2843415 2843434 + ArrayType 2843415 2843422 + TypeReference 2843415 2843420 + Identifier 2843415 2843420 + UndefinedKeyword 2843424 2843434 + ArrayType 2843436 2843449 + TypeReference 2843436 2843447 + Identifier 2843436 2843447 + Block 2843449 2845450 + IfStatement 2843451 2845197 + Identifier 2843465 2843475 + Block 2843476 2845197 + ExpressionStatement 2843478 2843530 + CallExpression 2843478 2843529 + Identifier 2843478 2843527 + VariableStatement 2843530 2843834 + VariableDeclarationList 2843530 2843833 + VariableDeclaration 2843770 2843833 + Identifier 2843770 2843796 + CallExpression 2843798 2843833 + PropertyAccessExpression 2843798 2843831 + Identifier 2843798 2843810 + Identifier 2843811 2843831 + VariableStatement 2843834 2843919 + VariableDeclarationList 2843834 2843918 + VariableDeclaration 2843853 2843918 + Identifier 2843853 2843883 + PropertyAccessExpression 2843885 2843918 + Identifier 2843885 2843911 + Identifier 2843912 2843918 + ExpressionStatement 2843919 2843997 + CallExpression 2843919 2843996 + Identifier 2843919 2843970 + Identifier 2843971 2843981 + Identifier 2843982 2843995 + VariableStatement 2843997 2844087 + VariableDeclarationList 2843997 2844086 + VariableDeclaration 2844016 2844086 + Identifier 2844016 2844036 + CallExpression 2844038 2844086 + PropertyAccessExpression 2844038 2844065 + Identifier 2844038 2844050 + Identifier 2844051 2844065 + PropertyAccessExpression 2844066 2844085 + Identifier 2844066 2844076 + Identifier 2844077 2844085 + IfStatement 2844087 2844235 + Identifier 2844105 2844117 + Block 2844118 2844235 + ReturnStatement 2844120 2844220 + Identifier 2844199 2844219 + VariableStatement 2844235 2844317 + VariableDeclarationList 2844235 2844316 + VariableDeclaration 2844254 2844316 + Identifier 2844254 2844279 + CallExpression 2844281 2844316 + PropertyAccessExpression 2844281 2844314 + Identifier 2844281 2844293 + Identifier 2844294 2844314 + IfStatement 2844317 2845143 + BinaryExpression 2844335 2844389 + Identifier 2844335 2844359 + ExclamationEqualsEqualsToken 2844359 2844363 + Identifier 2844363 2844389 + Block 2844390 2844726 + VariableStatement 2844392 2844626 + VariableDeclarationList 2844392 2844625 + VariableDeclaration 2844505 2844625 + Identifier 2844505 2844531 + CallExpression 2844533 2844625 + Identifier 2844533 2844552 + Identifier 2844553 2844578 + Identifier 2844579 2844604 + Identifier 2844605 2844624 + ReturnStatement 2844626 2844711 + CallExpression 2844650 2844710 + Identifier 2844650 2844662 + Identifier 2844663 2844688 + Identifier 2844689 2844709 + IfStatement 2844744 2845143 + BinaryExpression 2844749 2844823 + BinaryExpression 2844749 2844784 + Identifier 2844749 2844778 + EqualsEqualsEqualsToken 2844778 2844782 + NumericLiteral 2844782 2844784 + AmpersandAmpersandToken 2844784 2844787 + BinaryExpression 2844787 2844823 + PropertyAccessExpression 2844787 2844819 + Identifier 2844787 2844812 + Identifier 2844813 2844819 + GreaterThanToken 2844819 2844821 + NumericLiteral 2844821 2844823 + Block 2844824 2845143 + ReturnStatement 2844826 2845128 + CallExpression 2845068 2845127 + Identifier 2845068 2845080 + Identifier 2845081 2845105 + Identifier 2845106 2845126 + ReturnStatement 2845143 2845186 + Identifier 2845165 2845185 + ExpressionStatement 2845197 2845397 + CallExpression 2845197 2845396 + Identifier 2845197 2845322 + CallExpression 2845323 2845344 + PropertyAccessExpression 2845323 2845342 + Identifier 2845323 2845327 + Identifier 2845328 2845342 + ArrowFunction 2845345 2845395 + Parameter 2845345 2845350 + Identifier 2845345 2845350 + EqualsGreaterThanToken 2845350 2845353 + CallExpression 2845353 2845395 + Identifier 2845353 2845389 + Identifier 2845390 2845394 + ReturnStatement 2845397 2845443 + CallExpression 2845413 2845442 + PropertyAccessExpression 2845413 2845440 + Identifier 2845413 2845425 + Identifier 2845426 2845440 + FunctionDeclaration 2845450 2845612 + Identifier 2845466 2845487 + ArrayType 2845490 2845503 + TypeReference 2845490 2845501 + Identifier 2845490 2845501 + Block 2845503 2845612 + ExpressionStatement 2845505 2845553 + CallExpression 2845505 2845552 + Identifier 2845505 2845550 + ReturnStatement 2845553 2845605 + CallExpression 2845569 2845604 + PropertyAccessExpression 2845569 2845602 + Identifier 2845569 2845581 + Identifier 2845582 2845602 + FunctionDeclaration 2845612 2850918 + Identifier 2845663 2845681 + Parameter 2845682 2845696 + Identifier 2845682 2845690 + TypeReference 2845691 2845696 + Identifier 2845691 2845696 + Parameter 2845697 2845718 + Identifier 2845697 2845705 + TypeReference 2845706 2845718 + Identifier 2845706 2845718 + ArrayType 2845720 2845729 + TypeReference 2845720 2845727 + Identifier 2845720 2845727 + Block 2845729 2850918 + IfStatement 2845731 2845925 + BinaryExpression 2845745 2845787 + PropertyAccessExpression 2845745 2845759 + Identifier 2845745 2845753 + Identifier 2845754 2845759 + AmpersandToken 2845759 2845761 + PropertyAccessExpression 2845761 2845787 + Identifier 2845761 2845771 + Identifier 2845772 2845787 + Block 2845788 2845925 + ReturnStatement 2845790 2845914 + ArrayLiteralExpression 2845910 2845913 + VariableStatement 2845925 2845973 + VariableDeclarationList 2845925 2845972 + VariableDeclaration 2845942 2845972 + Identifier 2845942 2845950 + CallExpression 2845952 2845972 + Identifier 2845952 2845970 + VariableStatement 2845973 2846010 + VariableDeclarationList 2845973 2846009 + VariableDeclaration 2845986 2846009 + Identifier 2845986 2846001 + FalseKeyword 2846003 2846009 + ExpressionStatement 2846010 2846040 + CallExpression 2846010 2846039 + Identifier 2846010 2846037 + ExpressionStatement 2846040 2846092 + CallExpression 2846040 2846091 + PropertyAccessExpression 2846040 2846066 + Identifier 2846040 2846059 + Identifier 2846060 2846066 + PropertyAccessExpression 2846067 2846090 + Identifier 2846067 2846085 + Identifier 2846086 2846090 + ReturnStatement 2846092 2846160 + CallExpression 2846135 2846159 + Identifier 2846135 2846150 + Identifier 2846151 2846158 + FunctionDeclaration 2846160 2849094 + Identifier 2846180 2846196 + Block 2846198 2849094 + WhileStatement 2846200 2849037 + Identifier 2846221 2846229 + Block 2846230 2849037 + IfStatement 2846232 2846411 + BinaryExpression 2846254 2846329 + BinaryExpression 2846254 2846296 + CallExpression 2846254 2846277 + Identifier 2846254 2846267 + Identifier 2846268 2846276 + AmpersandAmpersandToken 2846277 2846280 + PropertyAccessExpression 2846280 2846296 + Identifier 2846280 2846289 + Identifier 2846290 2846296 + AmpersandAmpersandToken 2846296 2846299 + PrefixUnaryExpression 2846299 2846329 + CallExpression 2846301 2846329 + Identifier 2846301 2846319 + Identifier 2846320 2846328 + Block 2846330 2846411 + ExpressionStatement 2846332 2846392 + CallExpression 2846332 2846391 + Identifier 2846332 2846365 + PropertyAccessExpression 2846366 2846381 + Identifier 2846366 2846374 + Identifier 2846375 2846381 + Identifier 2846382 2846390 + SwitchStatement 2846411 2848775 + PropertyAccessExpression 2846439 2846452 + Identifier 2846439 2846447 + Identifier 2846448 2846452 + CaseBlock 2846453 2848775 + CaseClause 2846455 2846583 + PropertyAccessExpression 2846481 2846503 + Identifier 2846481 2846492 + Identifier 2846493 2846503 + IfStatement 2846504 2846583 + PrefixUnaryExpression 2846534 2846575 + CallExpression 2846535 2846575 + Identifier 2846535 2846551 + AsExpression 2846552 2846574 + Identifier 2846552 2846560 + TypeReference 2846563 2846574 + Identifier 2846563 2846574 + BreakStatement 2846576 2846583 + CaseClause 2846583 2846884 + PropertyAccessExpression 2846651 2846680 + Identifier 2846651 2846662 + Identifier 2846663 2846680 + ExpressionStatement 2846681 2846852 + CallExpression 2846681 2846851 + Identifier 2846681 2846738 + NonNullExpression 2846739 2846814 + PropertyAccessExpression 2846739 2846813 + CallExpression 2846739 2846805 + Identifier 2846739 2846761 + AsExpression 2846762 2846804 + Identifier 2846762 2846770 + UnionType 2846773 2846804 + TypeReference 2846773 2846791 + Identifier 2846773 2846791 + TypeReference 2846793 2846804 + Identifier 2846793 2846804 + Identifier 2846806 2846813 + BinaryExpression 2846815 2846850 + Identifier 2846815 2846823 + AmpersandToken 2846823 2846825 + PropertyAccessExpression 2846825 2846850 + Identifier 2846825 2846837 + Identifier 2846838 2846850 + BreakStatement 2846852 2846884 + CaseClause 2846884 2847104 + PropertyAccessExpression 2846910 2846937 + Identifier 2846910 2846921 + Identifier 2846922 2846937 + ExpressionStatement 2846938 2847072 + CallExpression 2846938 2847071 + Identifier 2846938 2846975 + NonNullExpression 2846976 2847036 + PropertyAccessExpression 2846976 2847035 + CallExpression 2846976 2847027 + Identifier 2846976 2846998 + AsExpression 2846999 2847026 + Identifier 2846999 2847007 + TypeReference 2847010 2847026 + Identifier 2847010 2847026 + Identifier 2847028 2847035 + BinaryExpression 2847037 2847070 + Identifier 2847037 2847045 + AmpersandToken 2847045 2847047 + PropertyAccessExpression 2847047 2847070 + Identifier 2847047 2847059 + Identifier 2847060 2847070 + BreakStatement 2847072 2847104 + CaseClause 2847104 2847394 + PropertyAccessExpression 2847130 2847157 + Identifier 2847130 2847141 + Identifier 2847142 2847157 + VariableStatement 2847158 2847237 + VariableDeclarationList 2847158 2847236 + VariableDeclaration 2847189 2847236 + Identifier 2847189 2847199 + PropertyAccessExpression 2847201 2847236 + ParenthesizedExpression 2847201 2847231 + AsExpression 2847203 2847230 + Identifier 2847203 2847211 + TypeReference 2847214 2847230 + Identifier 2847214 2847230 + Identifier 2847232 2847236 + IfStatement 2847237 2847394 + Identifier 2847267 2847276 + Block 2847277 2847394 + ExpressionStatement 2847279 2847367 + CallExpression 2847279 2847366 + Identifier 2847279 2847319 + PropertyAccessExpression 2847320 2847356 + ParenthesizedExpression 2847320 2847349 + AsExpression 2847321 2847348 + Identifier 2847321 2847329 + TypeReference 2847332 2847348 + Identifier 2847332 2847348 + Identifier 2847350 2847356 + Identifier 2847357 2847365 + CaseClause 2847394 2847714 + PropertyAccessExpression 2847685 2847713 + Identifier 2847685 2847696 + Identifier 2847697 2847713 + CaseClause 2847714 2848427 + PropertyAccessExpression 2847740 2847772 + Identifier 2847740 2847751 + Identifier 2847752 2847772 + IfStatement 2847773 2848395 + PrefixUnaryExpression 2848183 2848198 + Identifier 2848184 2848198 + Block 2848199 2848395 + ExpressionStatement 2848201 2848368 + CallExpression 2848201 2848367 + Identifier 2848201 2848242 + CallExpression 2848243 2848338 + Identifier 2848243 2848261 + CallExpression 2848262 2848337 + Identifier 2848262 2848284 + AsExpression 2848285 2848336 + Identifier 2848285 2848293 + UnionType 2848296 2848336 + TypeReference 2848296 2848313 + Identifier 2848296 2848313 + TypeReference 2848315 2848336 + Identifier 2848315 2848336 + BinaryExpression 2848339 2848366 + Identifier 2848339 2848347 + AmpersandToken 2848347 2848349 + PropertyAccessExpression 2848349 2848366 + Identifier 2848349 2848361 + Identifier 2848362 2848366 + BreakStatement 2848395 2848427 + CaseClause 2848427 2848756 + PropertyAccessExpression 2848453 2848483 + Identifier 2848453 2848464 + Identifier 2848465 2848483 + VariableStatement 2848484 2848565 + VariableDeclarationList 2848484 2848564 + VariableDeclaration 2848515 2848564 + Identifier 2848515 2848524 + PropertyAccessExpression 2848526 2848564 + ParenthesizedExpression 2848526 2848559 + AsExpression 2848528 2848558 + Identifier 2848528 2848536 + TypeReference 2848539 2848558 + Identifier 2848539 2848558 + Identifier 2848560 2848564 + IfStatement 2848565 2848724 + Identifier 2848595 2848603 + Block 2848604 2848724 + ExpressionStatement 2848606 2848697 + CallExpression 2848606 2848696 + Identifier 2848606 2848646 + PropertyAccessExpression 2848647 2848686 + ParenthesizedExpression 2848647 2848679 + AsExpression 2848648 2848678 + Identifier 2848648 2848656 + TypeReference 2848659 2848678 + Identifier 2848659 2848678 + Identifier 2848680 2848686 + Identifier 2848687 2848695 + BreakStatement 2848724 2848756 + IfStatement 2848775 2848921 + CallExpression 2848799 2848840 + Identifier 2848799 2848830 + Identifier 2848831 2848839 + Block 2848841 2848921 + ExpressionStatement 2848843 2848902 + CallExpression 2848843 2848901 + Identifier 2848843 2848875 + Identifier 2848876 2848891 + Identifier 2848892 2848900 + ExpressionStatement 2848921 2848977 + BinaryExpression 2848921 2848976 + Identifier 2848921 2848955 + EqualsToken 2848955 2848957 + CallExpression 2848957 2848976 + Identifier 2848957 2848966 + Identifier 2848967 2848975 + ExpressionStatement 2848977 2849022 + BinaryExpression 2848977 2849021 + Identifier 2848977 2849003 + EqualsToken 2849003 2849005 + PropertyAccessExpression 2849005 2849021 + Identifier 2849005 2849014 + Identifier 2849015 2849021 + ExpressionStatement 2849037 2849083 + CallExpression 2849037 2849082 + Identifier 2849037 2849064 + Identifier 2849065 2849072 + Identifier 2849073 2849081 + FunctionDeclaration 2849094 2850092 + Identifier 2849535 2849546 + Parameter 2849547 2849561 + Identifier 2849547 2849553 + TypeReference 2849554 2849561 + Identifier 2849554 2849561 + Parameter 2849562 2849583 + Identifier 2849562 2849570 + TypeReference 2849571 2849583 + Identifier 2849571 2849583 + VoidKeyword 2849585 2849590 + Block 2849590 2850092 + IfStatement 2849592 2850081 + BinaryExpression 2849610 2849664 + CallExpression 2849610 2849654 + Identifier 2849610 2849646 + Identifier 2849647 2849653 + AmpersandToken 2849654 2849656 + Identifier 2849656 2849664 + Block 2849665 2850081 + VariableStatement 2849667 2849715 + VariableDeclarationList 2849667 2849714 + VariableDeclaration 2849690 2849714 + Identifier 2849690 2849693 + PropertyAccessExpression 2849695 2849714 + Identifier 2849695 2849702 + Identifier 2849703 2849714 + IfStatement 2849715 2850066 + PrefixUnaryExpression 2849982 2849998 + CallExpression 2849983 2849998 + PropertyAccessExpression 2849983 2849994 + Identifier 2849983 2849990 + Identifier 2849991 2849994 + Identifier 2849995 2849997 + Block 2849999 2850066 + ExpressionStatement 2850001 2850047 + CallExpression 2850001 2850046 + PropertyAccessExpression 2850001 2850034 + Identifier 2850001 2850030 + Identifier 2850031 2850034 + Identifier 2850035 2850037 + Identifier 2850038 2850045 + FunctionDeclaration 2850092 2850344 + Identifier 2850112 2850124 + Parameter 2850125 2850144 + Identifier 2850125 2850131 + TypeReference 2850132 2850144 + Identifier 2850132 2850144 + Parameter 2850145 2850166 + Identifier 2850145 2850153 + TypeReference 2850154 2850166 + Identifier 2850154 2850166 + VoidKeyword 2850168 2850173 + Block 2850173 2850344 + IfStatement 2850175 2850333 + Identifier 2850193 2850200 + Block 2850201 2850333 + ExpressionStatement 2850203 2850318 + CallExpression 2850203 2850317 + PropertyAccessExpression 2850203 2850235 + Identifier 2850203 2850227 + Identifier 2850228 2850235 + ArrowFunction 2850236 2850316 + Parameter 2850236 2850242 + Identifier 2850236 2850242 + EqualsGreaterThanToken 2850242 2850245 + Block 2850245 2850316 + ExpressionStatement 2850247 2850297 + CallExpression 2850247 2850296 + Identifier 2850247 2850279 + Identifier 2850280 2850286 + Identifier 2850287 2850295 + FunctionDeclaration 2850344 2850911 + Identifier 2850364 2850396 + Parameter 2850397 2850416 + Identifier 2850397 2850403 + TypeReference 2850404 2850416 + Identifier 2850404 2850416 + Parameter 2850417 2850438 + Identifier 2850417 2850425 + TypeReference 2850426 2850438 + Identifier 2850426 2850438 + VoidKeyword 2850440 2850445 + Block 2850445 2850911 + IfStatement 2850447 2850900 + Identifier 2850465 2850472 + Block 2850473 2850900 + ExpressionStatement 2850475 2850885 + CallExpression 2850475 2850884 + PropertyAccessExpression 2850475 2850507 + Identifier 2850475 2850499 + Identifier 2850500 2850507 + ArrowFunction 2850508 2850883 + Parameter 2850508 2850514 + Identifier 2850508 2850514 + EqualsGreaterThanToken 2850514 2850517 + Block 2850517 2850883 + IfStatement 2850519 2850864 + BinaryExpression 2850613 2850784 + BinaryExpression 2850613 2850731 + PrefixUnaryExpression 2850613 2850670 + CallExpression 2850614 2850670 + Identifier 2850614 2850634 + Identifier 2850635 2850641 + PropertyAccessExpression 2850642 2850669 + Identifier 2850642 2850653 + Identifier 2850654 2850669 + AmpersandAmpersandToken 2850670 2850673 + PrefixUnaryExpression 2850673 2850731 + CallExpression 2850675 2850731 + Identifier 2850675 2850695 + Identifier 2850696 2850702 + PropertyAccessExpression 2850703 2850730 + Identifier 2850703 2850714 + Identifier 2850715 2850730 + AmpersandAmpersandToken 2850731 2850734 + BinaryExpression 2850734 2850784 + PropertyAccessExpression 2850734 2850753 + Identifier 2850734 2850741 + Identifier 2850742 2850753 + ExclamationEqualsEqualsToken 2850753 2850757 + PropertyAccessExpression 2850757 2850784 + Identifier 2850757 2850776 + Identifier 2850777 2850784 + Block 2850785 2850864 + ExpressionStatement 2850787 2850841 + CallExpression 2850787 2850840 + Identifier 2850787 2850823 + Identifier 2850824 2850830 + Identifier 2850831 2850839 + FunctionDeclaration 2850918 2851145 + Identifier 2850934 2850956 + Parameter 2850957 2850967 + Identifier 2850957 2850961 + TypeReference 2850962 2850967 + Identifier 2850962 2850967 + BooleanKeyword 2850969 2850977 + Block 2850977 2851145 + ReturnStatement 2850979 2851138 + BinaryExpression 2850995 2851137 + BinaryExpression 2850995 2851078 + BinaryExpression 2850995 2851031 + PropertyAccessExpression 2850995 2851005 + Identifier 2850995 2851000 + Identifier 2851001 2851005 + EqualsEqualsEqualsToken 2851005 2851009 + PropertyAccessExpression 2851009 2851031 + Identifier 2851009 2851020 + Identifier 2851021 2851031 + AmpersandAmpersandToken 2851031 2851034 + CallExpression 2851034 2851078 + Identifier 2851034 2851065 + PropertyAccessExpression 2851066 2851077 + Identifier 2851066 2851070 + Identifier 2851071 2851077 + AmpersandAmpersandToken 2851078 2851081 + BinaryExpression 2851081 2851137 + CallExpression 2851081 2851128 + Identifier 2851081 2851115 + PropertyAccessExpression 2851116 2851127 + Identifier 2851116 2851120 + Identifier 2851121 2851127 + EqualsEqualsEqualsToken 2851128 2851132 + Identifier 2851132 2851137 + FunctionDeclaration 2851145 2851479 + Identifier 2851226 2851252 + Parameter 2851253 2851269 + Identifier 2851253 2851257 + TypeReference 2851258 2851269 + Identifier 2851258 2851269 + BooleanKeyword 2851271 2851279 + Block 2851279 2851479 + WhileStatement 2851281 2851407 + BinaryExpression 2851298 2851343 + PropertyAccessExpression 2851298 2851314 + PropertyAccessExpression 2851298 2851309 + Identifier 2851298 2851302 + Identifier 2851303 2851309 + Identifier 2851310 2851314 + EqualsEqualsEqualsToken 2851314 2851318 + PropertyAccessExpression 2851318 2851343 + Identifier 2851318 2851329 + Identifier 2851330 2851343 + Block 2851344 2851407 + ExpressionStatement 2851346 2851396 + BinaryExpression 2851346 2851395 + Identifier 2851346 2851364 + EqualsToken 2851364 2851366 + AsExpression 2851366 2851395 + PropertyAccessExpression 2851366 2851378 + Identifier 2851366 2851371 + Identifier 2851372 2851378 + TypeReference 2851381 2851395 + Identifier 2851381 2851395 + ReturnStatement 2851407 2851472 + BinaryExpression 2851425 2851471 + PropertyAccessExpression 2851425 2851442 + PropertyAccessExpression 2851425 2851437 + Identifier 2851425 2851430 + Identifier 2851431 2851437 + Identifier 2851438 2851442 + EqualsEqualsEqualsToken 2851442 2851446 + PropertyAccessExpression 2851446 2851471 + Identifier 2851446 2851457 + Identifier 2851458 2851471 + FunctionDeclaration 2851479 2851762 + Identifier 2851495 2851533 + Parameter 2851534 2851544 + Identifier 2851534 2851538 + TypeReference 2851539 2851544 + Identifier 2851539 2851544 + BooleanKeyword 2851546 2851554 + Block 2851554 2851762 + WhileStatement 2851556 2851676 + BinaryExpression 2851573 2851629 + PropertyAccessExpression 2851573 2851589 + PropertyAccessExpression 2851573 2851584 + Identifier 2851573 2851577 + Identifier 2851578 2851584 + Identifier 2851585 2851589 + EqualsEqualsEqualsToken 2851589 2851593 + PropertyAccessExpression 2851593 2851629 + Identifier 2851593 2851604 + Identifier 2851605 2851629 + Block 2851630 2851676 + ExpressionStatement 2851632 2851665 + BinaryExpression 2851632 2851664 + Identifier 2851632 2851650 + EqualsToken 2851650 2851652 + PropertyAccessExpression 2851652 2851664 + Identifier 2851652 2851657 + Identifier 2851658 2851664 + ReturnStatement 2851676 2851755 + BinaryExpression 2851694 2851754 + PropertyAccessExpression 2851694 2851711 + PropertyAccessExpression 2851694 2851706 + Identifier 2851694 2851699 + Identifier 2851700 2851706 + Identifier 2851707 2851711 + EqualsEqualsEqualsToken 2851711 2851715 + PropertyAccessExpression 2851715 2851754 + Identifier 2851715 2851726 + Identifier 2851727 2851754 + FunctionDeclaration 2851762 2852189 + Identifier 2851778 2851800 + TypeParameter 2851801 2851802 + Identifier 2851801 2851802 + Parameter 2851804 2851814 + Identifier 2851804 2851808 + TypeReference 2851809 2851814 + Identifier 2851809 2851814 + Parameter 2851815 2851871 + Identifier 2851815 2851824 + FunctionType 2851825 2851871 + Parameter 2851827 2851853 + Identifier 2851827 2851831 + TypeReference 2851832 2851853 + Identifier 2851832 2851853 + UnionType 2851857 2851871 + TypeReference 2851857 2851859 + Identifier 2851857 2851859 + UndefinedKeyword 2851861 2851871 + UnionType 2851873 2851887 + TypeReference 2851873 2851875 + Identifier 2851873 2851875 + UndefinedKeyword 2851877 2851887 + Block 2851887 2852189 + VariableStatement 2851889 2851925 + VariableDeclarationList 2851889 2851924 + VariableDeclaration 2851902 2851924 + Identifier 2851902 2851909 + UnionType 2851910 2851924 + TypeReference 2851910 2851912 + Identifier 2851910 2851912 + UndefinedKeyword 2851914 2851924 + VariableStatement 2851925 2851982 + VariableDeclarationList 2851925 2851981 + VariableDeclaration 2851938 2851981 + Identifier 2851938 2851954 + CallExpression 2851956 2851981 + Identifier 2851956 2851975 + Identifier 2851976 2851980 + WhileStatement 2851982 2852156 + Identifier 2851999 2852014 + Block 2852015 2852156 + IfStatement 2852017 2852077 + BinaryExpression 2852035 2852069 + Identifier 2852035 2852041 + EqualsToken 2852041 2852043 + CallExpression 2852043 2852069 + Identifier 2852043 2852052 + Identifier 2852053 2852068 + BreakStatement 2852070 2852077 + ExpressionStatement 2852077 2852145 + BinaryExpression 2852077 2852144 + Identifier 2852077 2852106 + EqualsToken 2852106 2852108 + CallExpression 2852108 2852144 + Identifier 2852108 2852127 + Identifier 2852128 2852143 + ReturnStatement 2852156 2852182 + Identifier 2852174 2852181 + FunctionDeclaration 2852189 2852649 + Identifier 2852205 2852241 + Parameter 2852242 2852252 + Identifier 2852242 2852246 + TypeReference 2852247 2852252 + Identifier 2852247 2852252 + Block 2852253 2852649 + ReturnStatement 2852255 2852642 + PrefixUnaryExpression 2852271 2852641 + PrefixUnaryExpression 2852273 2852641 + CallExpression 2852274 2852641 + Identifier 2852274 2852286 + Identifier 2852287 2852291 + ArrowFunction 2852292 2852640 + Parameter 2852292 2852300 + Identifier 2852292 2852300 + EqualsGreaterThanToken 2852300 2852303 + Block 2852303 2852640 + IfStatement 2852305 2852600 + BinaryExpression 2852323 2852421 + BinaryExpression 2852323 2852387 + CallExpression 2852323 2852356 + Identifier 2852323 2852347 + Identifier 2852348 2852355 + AmpersandAmpersandToken 2852356 2852359 + CallExpression 2852359 2852387 + Identifier 2852359 2852373 + PropertyAccessExpression 2852374 2852386 + Identifier 2852374 2852381 + Identifier 2852382 2852386 + BarBarToken 2852387 2852390 + CallExpression 2852390 2852421 + Identifier 2852390 2852412 + Identifier 2852413 2852420 + Block 2852422 2852469 + ReturnStatement 2852424 2852454 + TrueKeyword 2852448 2852453 + IfStatement 2852487 2852600 + BinaryExpression 2852492 2852550 + CallExpression 2852492 2852512 + Identifier 2852492 2852503 + Identifier 2852504 2852511 + BarBarToken 2852512 2852515 + CallExpression 2852515 2852550 + Identifier 2852515 2852541 + Identifier 2852542 2852549 + Block 2852551 2852600 + ReturnStatement 2852553 2852585 + StringLiteral 2852577 2852584 + ReturnStatement 2852600 2852629 + FalseKeyword 2852622 2852628 + FunctionDeclaration 2852649 2852820 + Identifier 2852665 2852683 + Parameter 2852684 2852694 + Identifier 2852684 2852688 + TypeReference 2852689 2852694 + Identifier 2852689 2852694 + Parameter 2852695 2852734 + Identifier 2852695 2852712 + TypeReference 2852713 2852734 + Identifier 2852713 2852734 + Block 2852735 2852820 + ReturnStatement 2852737 2852813 + PrefixUnaryExpression 2852753 2852812 + PrefixUnaryExpression 2852755 2852812 + CallExpression 2852756 2852812 + Identifier 2852756 2852777 + Identifier 2852778 2852782 + ArrowFunction 2852783 2852811 + Parameter 2852783 2852785 + Identifier 2852783 2852785 + EqualsGreaterThanToken 2852785 2852788 + BinaryExpression 2852788 2852811 + Identifier 2852788 2852790 + EqualsEqualsEqualsToken 2852790 2852794 + Identifier 2852794 2852811 + FunctionDeclaration 2852820 2853682 + Identifier 2852836 2852880 + Parameter 2852881 2852908 + Identifier 2852881 2852896 + TypeReference 2852897 2852908 + Identifier 2852897 2852908 + UnionType 2852910 2852965 + TypeReference 2852910 2852934 + Identifier 2852910 2852934 + TypeReference 2852936 2852953 + Identifier 2852936 2852953 + UndefinedKeyword 2852955 2852965 + Block 2852965 2853682 + WhileStatement 2852967 2853126 + BinaryExpression 2852984 2853040 + PropertyAccessExpression 2852984 2853011 + PropertyAccessExpression 2852984 2853006 + Identifier 2852984 2852999 + Identifier 2853000 2853006 + Identifier 2853007 2853011 + EqualsEqualsEqualsToken 2853011 2853015 + PropertyAccessExpression 2853015 2853040 + Identifier 2853015 2853026 + Identifier 2853027 2853040 + Block 2853041 2853126 + ExpressionStatement 2853043 2853115 + BinaryExpression 2853043 2853114 + Identifier 2853043 2853072 + EqualsToken 2853072 2853074 + AsExpression 2853074 2853114 + PropertyAccessExpression 2853074 2853097 + Identifier 2853074 2853090 + Identifier 2853091 2853097 + TypeReference 2853100 2853114 + Identifier 2853100 2853114 + IfStatement 2853126 2853395 + BinaryExpression 2853142 2853208 + PropertyAccessExpression 2853142 2853169 + PropertyAccessExpression 2853142 2853164 + Identifier 2853142 2853157 + Identifier 2853158 2853164 + Identifier 2853165 2853169 + EqualsEqualsEqualsToken 2853169 2853173 + PropertyAccessExpression 2853173 2853208 + Identifier 2853173 2853184 + Identifier 2853185 2853208 + Block 2853209 2853395 + ReturnStatement 2853211 2853384 + ConditionalExpression 2853231 2853383 + BinaryExpression 2853231 2853319 + PropertyAccessExpression 2853231 2853299 + ParenthesizedExpression 2853231 2853283 + AsExpression 2853233 2853282 + PropertyAccessExpression 2853233 2853255 + Identifier 2853233 2853248 + Identifier 2853249 2853255 + TypeReference 2853258 2853282 + Identifier 2853258 2853282 + Identifier 2853284 2853299 + EqualsEqualsEqualsToken 2853299 2853303 + Identifier 2853303 2853319 + QuestionToken 2853319 2853321 + AsExpression 2853321 2853371 + PropertyAccessExpression 2853321 2853344 + Identifier 2853321 2853337 + Identifier 2853338 2853344 + TypeReference 2853347 2853371 + Identifier 2853347 2853371 + ColonToken 2853371 2853373 + Identifier 2853373 2853383 + IfStatement 2853395 2853646 + BinaryExpression 2853411 2853470 + PropertyAccessExpression 2853411 2853438 + PropertyAccessExpression 2853411 2853433 + Identifier 2853411 2853426 + Identifier 2853427 2853433 + Identifier 2853434 2853438 + EqualsEqualsEqualsToken 2853438 2853442 + PropertyAccessExpression 2853442 2853470 + Identifier 2853442 2853453 + Identifier 2853454 2853470 + Block 2853471 2853646 + ReturnStatement 2853473 2853635 + ConditionalExpression 2853493 2853634 + BinaryExpression 2853493 2853577 + PropertyAccessExpression 2853493 2853549 + ParenthesizedExpression 2853493 2853538 + AsExpression 2853495 2853537 + PropertyAccessExpression 2853495 2853517 + Identifier 2853495 2853510 + Identifier 2853511 2853517 + TypeReference 2853520 2853537 + Identifier 2853520 2853537 + Identifier 2853539 2853549 + EqualsEqualsEqualsToken 2853549 2853553 + AsExpression 2853553 2853577 + Identifier 2853553 2853569 + TypeReference 2853572 2853577 + Identifier 2853572 2853577 + QuestionToken 2853577 2853579 + AsExpression 2853579 2853622 + PropertyAccessExpression 2853579 2853602 + Identifier 2853579 2853595 + Identifier 2853596 2853602 + TypeReference 2853605 2853622 + Identifier 2853605 2853622 + ColonToken 2853622 2853624 + Identifier 2853624 2853634 + ReturnStatement 2853646 2853675 + Identifier 2853664 2853674 + FunctionDeclaration 2853682 2853846 + Identifier 2853698 2853738 + Parameter 2853739 2853755 + Identifier 2853739 2853743 + TypeReference 2853744 2853755 + Identifier 2853744 2853755 + Block 2853756 2853846 + ReturnStatement 2853758 2853839 + BinaryExpression 2853774 2853838 + CallExpression 2853774 2853824 + Identifier 2853774 2853818 + Identifier 2853819 2853823 + ExclamationEqualsEqualsToken 2853824 2853828 + Identifier 2853828 2853838 + FunctionDeclaration 2853846 2854831 + Identifier 2853862 2853911 + Parameter 2853912 2853961 + Identifier 2853912 2853922 + UnionType 2853923 2853961 + TypeReference 2853923 2853934 + Identifier 2853923 2853934 + TypeReference 2853936 2853961 + Identifier 2853936 2853961 + Block 2853962 2854831 + VariableStatement 2853964 2854087 + VariableDeclarationList 2853964 2854086 + VariableDeclaration 2853979 2854086 + Identifier 2853979 2854009 + CallExpression 2854011 2854086 + Identifier 2854011 2854040 + AsExpression 2854041 2854085 + PropertyAccessExpression 2854041 2854065 + PropertyAccessExpression 2854041 2854058 + Identifier 2854041 2854051 + Identifier 2854052 2854058 + Identifier 2854059 2854065 + TypeReference 2854068 2854085 + Identifier 2854068 2854085 + SwitchStatement 2854087 2854824 + Identifier 2854105 2854134 + CaseBlock 2854135 2854824 + CaseClause 2854137 2854198 + PropertyAccessExpression 2854155 2854197 + Identifier 2854155 2854181 + Identifier 2854182 2854197 + CaseClause 2854198 2854321 + PropertyAccessExpression 2854216 2854260 + Identifier 2854216 2854242 + Identifier 2854243 2854260 + ReturnStatement 2854261 2854321 + CallExpression 2854285 2854320 + Identifier 2854285 2854301 + PropertyAccessExpression 2854302 2854319 + Identifier 2854302 2854312 + Identifier 2854313 2854319 + CaseClause 2854321 2854568 + PropertyAccessExpression 2854339 2854374 + Identifier 2854339 2854365 + Identifier 2854366 2854374 + IfStatement 2854375 2854568 + BinaryExpression 2854397 2854507 + CallExpression 2854397 2854442 + Identifier 2854397 2854423 + PropertyAccessExpression 2854424 2854441 + Identifier 2854424 2854434 + Identifier 2854435 2854441 + AmpersandAmpersandToken 2854442 2854445 + BinaryExpression 2854445 2854507 + CallExpression 2854445 2854492 + Identifier 2854445 2854473 + PropertyAccessExpression 2854474 2854491 + Identifier 2854474 2854484 + Identifier 2854485 2854491 + EqualsEqualsEqualsToken 2854492 2854496 + Identifier 2854496 2854507 + Block 2854508 2854568 + ReturnStatement 2854510 2854549 + Identifier 2854538 2854548 + CaseClause 2854568 2854660 + PropertyAccessExpression 2854620 2854659 + Identifier 2854620 2854646 + Identifier 2854647 2854659 + CaseClause 2854660 2854813 + PropertyAccessExpression 2854678 2854718 + Identifier 2854678 2854704 + Identifier 2854705 2854718 + ReturnStatement 2854719 2854813 + CallExpression 2854743 2854812 + Identifier 2854743 2854766 + AsExpression 2854767 2854811 + PropertyAccessExpression 2854767 2854791 + PropertyAccessExpression 2854767 2854784 + Identifier 2854767 2854777 + Identifier 2854778 2854784 + Identifier 2854785 2854791 + TypeReference 2854794 2854811 + Identifier 2854794 2854811 + FunctionDeclaration 2854831 2855279 + Identifier 2854847 2854873 + Parameter 2854874 2854890 + Identifier 2854874 2854878 + TypeReference 2854879 2854890 + Identifier 2854879 2854890 + UnionType 2854892 2854919 + TypeReference 2854892 2854907 + Identifier 2854892 2854907 + UndefinedKeyword 2854909 2854919 + Block 2854919 2855279 + VariableStatement 2854921 2854956 + VariableDeclarationList 2854921 2854955 + VariableDeclaration 2854934 2854955 + Identifier 2854934 2854941 + PropertyAccessExpression 2854943 2854955 + Identifier 2854943 2854948 + Identifier 2854949 2854955 + WhileStatement 2854956 2855075 + CallExpression 2854973 2854996 + Identifier 2854973 2854988 + Identifier 2854989 2854995 + Block 2854997 2855075 + ExpressionStatement 2854999 2855027 + BinaryExpression 2854999 2855026 + Identifier 2854999 2855017 + EqualsToken 2855017 2855019 + Identifier 2855019 2855026 + ExpressionStatement 2855027 2855064 + BinaryExpression 2855027 2855063 + Identifier 2855027 2855047 + EqualsToken 2855047 2855049 + PropertyAccessExpression 2855049 2855063 + Identifier 2855049 2855056 + Identifier 2855057 2855063 + IfStatement 2855075 2855245 + BinaryExpression 2855089 2855185 + BinaryExpression 2855089 2855136 + Identifier 2855089 2855095 + AmpersandAmpersandToken 2855095 2855098 + BinaryExpression 2855098 2855136 + PropertyAccessExpression 2855098 2855110 + Identifier 2855098 2855105 + Identifier 2855106 2855110 + EqualsEqualsEqualsToken 2855110 2855114 + PropertyAccessExpression 2855114 2855136 + Identifier 2855114 2855125 + Identifier 2855126 2855136 + AmpersandAmpersandToken 2855136 2855139 + BinaryExpression 2855139 2855185 + PropertyAccessExpression 2855139 2855176 + ParenthesizedExpression 2855139 2855166 + AsExpression 2855141 2855165 + Identifier 2855141 2855147 + TypeReference 2855150 2855165 + Identifier 2855150 2855165 + Identifier 2855167 2855176 + EqualsEqualsEqualsToken 2855176 2855180 + Identifier 2855180 2855185 + Block 2855186 2855245 + ReturnStatement 2855188 2855234 + AsExpression 2855208 2855233 + Identifier 2855208 2855215 + TypeReference 2855218 2855233 + Identifier 2855218 2855233 + ReturnStatement 2855245 2855272 + Identifier 2855261 2855271 + FunctionDeclaration 2855279 2856067 + Identifier 2855295 2855322 + Parameter 2855323 2855353 + Identifier 2855323 2855327 + TypeReference 2855328 2855353 + Identifier 2855328 2855353 + Block 2855354 2856067 + IfStatement 2855356 2856060 + BinaryExpression 2855370 2855417 + PropertyAccessExpression 2855370 2855390 + PropertyAccessExpression 2855370 2855385 + Identifier 2855370 2855374 + Identifier 2855375 2855385 + Identifier 2855386 2855390 + EqualsEqualsEqualsToken 2855390 2855394 + PropertyAccessExpression 2855394 2855417 + Identifier 2855394 2855405 + Identifier 2855406 2855417 + Block 2855418 2856060 + VariableStatement 2855420 2855552 + VariableDeclarationList 2855420 2855551 + VariableDeclaration 2855439 2855551 + Identifier 2855439 2855449 + CallExpression 2855451 2855551 + Identifier 2855451 2855468 + Identifier 2855469 2855473 + FalseKeyword 2855474 2855506 + FalseKeyword 2855507 2855550 + IfStatement 2855552 2856049 + CallExpression 2855570 2855595 + Identifier 2855570 2855584 + Identifier 2855585 2855594 + Block 2855596 2856049 + VariableStatement 2855598 2855680 + VariableDeclarationList 2855598 2855679 + VariableDeclaration 2855621 2855679 + Identifier 2855621 2855639 + CallExpression 2855641 2855679 + Identifier 2855641 2855668 + Identifier 2855669 2855678 + IfStatement 2855680 2856034 + Identifier 2855702 2855719 + Block 2855720 2856034 + VariableStatement 2855722 2855846 + VariableDeclarationList 2855722 2855845 + VariableDeclaration 2855749 2855845 + Identifier 2855749 2855764 + CallExpression 2855766 2855845 + Identifier 2855766 2855798 + Identifier 2855799 2855816 + Identifier 2855817 2855844 + VariableStatement 2855846 2855961 + VariableDeclarationList 2855846 2855960 + VariableDeclaration 2855873 2855960 + Identifier 2855873 2855878 + CallExpression 2855880 2855960 + Identifier 2855880 2855925 + Identifier 2855926 2855943 + Identifier 2855944 2855959 + ReturnStatement 2855961 2856015 + BinaryExpression 2855989 2856014 + Identifier 2855989 2855994 + AmpersandAmpersandToken 2855994 2855997 + PrefixUnaryExpression 2855997 2856014 + CallExpression 2855999 2856014 + Identifier 2855999 2856008 + Identifier 2856009 2856013 + FunctionDeclaration 2856067 2863911 + Identifier 2856083 2856125 + Parameter 2856126 2856207 + Identifier 2856126 2856130 + UnionType 2856131 2856207 + TypeReference 2856131 2856142 + Identifier 2856131 2856142 + TypeReference 2856144 2856162 + Identifier 2856144 2856162 + TypeReference 2856164 2856189 + Identifier 2856164 2856189 + TypeReference 2856191 2856207 + Identifier 2856191 2856207 + UnionType 2856209 2856228 + TypeReference 2856209 2856216 + Identifier 2856209 2856216 + UndefinedKeyword 2856218 2856228 + Block 2856228 2863911 + IfStatement 2856230 2856331 + CallExpression 2856244 2856267 + Identifier 2856244 2856261 + Identifier 2856262 2856266 + Block 2856268 2856331 + ReturnStatement 2856270 2856320 + CallExpression 2856290 2856319 + Identifier 2856290 2856306 + PropertyAccessExpression 2856307 2856318 + Identifier 2856307 2856311 + Identifier 2856312 2856318 + IfStatement 2856331 2857026 + BinaryExpression 2856347 2856528 + BinaryExpression 2856347 2856450 + CallExpression 2856347 2856377 + Identifier 2856347 2856371 + Identifier 2856372 2856376 + AmpersandAmpersandToken 2856377 2856380 + BinaryExpression 2856380 2856450 + PropertyAccessExpression 2856380 2856410 + PropertyAccessExpression 2856380 2856405 + Identifier 2856380 2856398 + Identifier 2856399 2856405 + Identifier 2856406 2856410 + EqualsEqualsEqualsToken 2856410 2856414 + PropertyAccessExpression 2856414 2856450 + Identifier 2856414 2856425 + Identifier 2856426 2856450 + AmpersandAmpersandToken 2856450 2856453 + BinaryExpression 2856453 2856528 + PropertyAccessExpression 2856453 2856478 + Identifier 2856453 2856471 + Identifier 2856472 2856478 + EqualsEqualsEqualsToken 2856478 2856482 + PropertyAccessExpression 2856482 2856528 + ParenthesizedExpression 2856482 2856523 + AsExpression 2856484 2856522 + PropertyAccessExpression 2856484 2856502 + PropertyAccessExpression 2856484 2856495 + Identifier 2856484 2856488 + Identifier 2856489 2856495 + Identifier 2856496 2856502 + TypeReference 2856505 2856522 + Identifier 2856505 2856522 + Identifier 2856524 2856528 + Block 2856539 2857026 + IfStatement 2856541 2857015 + BinaryExpression 2856622 2856748 + BinaryExpression 2856622 2856676 + PrefixUnaryExpression 2856622 2856648 + CallExpression 2856623 2856648 + Identifier 2856623 2856642 + Identifier 2856643 2856647 + AmpersandAmpersandToken 2856648 2856651 + PrefixUnaryExpression 2856651 2856676 + CallExpression 2856653 2856676 + Identifier 2856653 2856670 + Identifier 2856671 2856675 + AmpersandAmpersandToken 2856676 2856679 + PrefixUnaryExpression 2856679 2856748 + CallExpression 2856681 2856748 + Identifier 2856681 2856707 + AsExpression 2856708 2856747 + PropertyAccessExpression 2856708 2856719 + Identifier 2856708 2856712 + Identifier 2856713 2856719 + TypeReference 2856722 2856747 + Identifier 2856722 2856747 + Block 2856749 2857015 + VariableStatement 2856751 2856864 + VariableDeclarationList 2856751 2856863 + VariableDeclaration 2856774 2856863 + Identifier 2856774 2856806 + CallExpression 2856808 2856863 + Identifier 2856808 2856857 + Identifier 2856858 2856862 + IfStatement 2856864 2857000 + Identifier 2856886 2856917 + Block 2856918 2857000 + ReturnStatement 2856920 2856981 + Identifier 2856948 2856980 + IfStatement 2857026 2858018 + BinaryExpression 2857042 2857122 + BinaryExpression 2857042 2857090 + PropertyAccessExpression 2857042 2857058 + PropertyAccessExpression 2857042 2857053 + Identifier 2857042 2857046 + Identifier 2857047 2857053 + Identifier 2857054 2857058 + EqualsEqualsEqualsToken 2857058 2857062 + PropertyAccessExpression 2857062 2857090 + Identifier 2857062 2857073 + Identifier 2857074 2857090 + AmpersandAmpersandToken 2857090 2857093 + CallExpression 2857093 2857122 + Identifier 2857093 2857116 + Identifier 2857117 2857121 + Block 2857123 2857554 + VariableStatement 2857125 2857438 + VariableDeclarationList 2857125 2857437 + VariableDeclaration 2857281 2857437 + Identifier 2857281 2857289 + CallExpression 2857291 2857437 + Identifier 2857291 2857309 + Identifier 2857310 2857314 + BinaryExpression 2857315 2857413 + BinaryExpression 2857315 2857393 + BinaryExpression 2857315 2857369 + PropertyAccessExpression 2857315 2857350 + Identifier 2857315 2857344 + Identifier 2857345 2857350 + BarToken 2857350 2857352 + PropertyAccessExpression 2857352 2857369 + Identifier 2857352 2857364 + Identifier 2857365 2857369 + BarToken 2857369 2857371 + PropertyAccessExpression 2857371 2857393 + Identifier 2857371 2857383 + Identifier 2857384 2857393 + BarToken 2857393 2857395 + PropertyAccessExpression 2857395 2857413 + Identifier 2857395 2857407 + Identifier 2857408 2857413 + TrueKeyword 2857414 2857436 + IfStatement 2857438 2857543 + BinaryExpression 2857456 2857492 + Identifier 2857456 2857463 + AmpersandAmpersandToken 2857463 2857466 + BinaryExpression 2857466 2857492 + Identifier 2857466 2857474 + ExclamationEqualsEqualsToken 2857474 2857478 + Identifier 2857478 2857492 + Block 2857493 2857543 + ReturnStatement 2857495 2857528 + Identifier 2857519 2857527 + IfStatement 2857568 2858018 + BinaryExpression 2857573 2857640 + CallExpression 2857573 2857591 + Identifier 2857573 2857585 + Identifier 2857586 2857590 + AmpersandAmpersandToken 2857591 2857594 + CallExpression 2857594 2857640 + Identifier 2857594 2857634 + Identifier 2857635 2857639 + Block 2857641 2858018 + VariableStatement 2857643 2857842 + VariableDeclarationList 2857643 2857841 + VariableDeclaration 2857761 2857841 + Identifier 2857761 2857785 + CallExpression 2857787 2857841 + Identifier 2857787 2857799 + Identifier 2857800 2857804 + PropertyAccessExpression 2857805 2857840 + Identifier 2857805 2857816 + Identifier 2857817 2857840 + ExpressionStatement 2857842 2857908 + CallExpression 2857842 2857907 + PropertyAccessExpression 2857842 2857868 + Identifier 2857842 2857861 + Identifier 2857862 2857868 + BinaryExpression 2857869 2857906 + Identifier 2857869 2857892 + ExclamationEqualsEqualsToken 2857892 2857896 + Identifier 2857896 2857906 + ReturnStatement 2857908 2858007 + CallExpression 2857928 2858006 + Identifier 2857928 2857973 + Identifier 2857974 2857978 + TrueKeyword 2857979 2858005 + IfStatement 2858018 2858380 + CallExpression 2858034 2858052 + Identifier 2858034 2858046 + Identifier 2858047 2858051 + Block 2858053 2858380 + VariableStatement 2858055 2858128 + VariableDeclarationList 2858055 2858127 + VariableDeclaration 2858074 2858127 + Identifier 2858074 2858093 + CallExpression 2858095 2858127 + Identifier 2858095 2858121 + Identifier 2858122 2858126 + IfStatement 2858128 2858369 + Identifier 2858146 2858164 + Block 2858165 2858369 + ExpressionStatement 2858167 2858225 + CallExpression 2858167 2858224 + Identifier 2858167 2858204 + Identifier 2858205 2858223 + VariableStatement 2858225 2858289 + VariableDeclarationList 2858225 2858288 + VariableDeclaration 2858248 2858288 + Identifier 2858248 2858252 + PropertyAccessExpression 2858254 2858288 + CallExpression 2858254 2858273 + Identifier 2858254 2858267 + Identifier 2858268 2858272 + Identifier 2858274 2858288 + ReturnStatement 2858289 2858354 + ConditionalExpression 2858313 2858353 + BinaryExpression 2858313 2858335 + Identifier 2858313 2858317 + EqualsEqualsEqualsToken 2858317 2858321 + Identifier 2858321 2858335 + QuestionToken 2858335 2858337 + Identifier 2858337 2858347 + ColonToken 2858347 2858349 + Identifier 2858349 2858353 + WhileStatement 2858380 2858583 + CallExpression 2858399 2858464 + Identifier 2858399 2858458 + Identifier 2858459 2858463 + Block 2858465 2858583 + ExpressionStatement 2858467 2858572 + BinaryExpression 2858467 2858571 + Identifier 2858467 2858485 + EqualsToken 2858485 2858487 + AsExpression 2858487 2858571 + PropertyAccessExpression 2858487 2858499 + Identifier 2858487 2858492 + Identifier 2858493 2858499 + UnionType 2858502 2858571 + TypeReference 2858502 2858516 + Identifier 2858502 2858516 + TypeReference 2858518 2858553 + Identifier 2858518 2858553 + TypeReference 2858555 2858571 + Identifier 2858555 2858571 + IfStatement 2858583 2859710 + CallExpression 2858599 2858642 + Identifier 2858599 2858636 + Identifier 2858637 2858641 + Block 2858643 2859710 + VariableStatement 2858645 2858690 + VariableDeclarationList 2858645 2858689 + VariableDeclaration 2858662 2858689 + Identifier 2858662 2858670 + PropertyAccessExpression 2858672 2858689 + Identifier 2858672 2858684 + Identifier 2858685 2858689 + IfStatement 2858690 2859422 + BinaryExpression 2858708 2858767 + PropertyAccessExpression 2858708 2858724 + PropertyAccessExpression 2858708 2858719 + Identifier 2858708 2858712 + Identifier 2858713 2858719 + Identifier 2858720 2858724 + EqualsEqualsEqualsToken 2858724 2858728 + PropertyAccessExpression 2858728 2858767 + Identifier 2858728 2858739 + Identifier 2858740 2858767 + Block 2858768 2859337 + ExpressionStatement 2858770 2859082 + BinaryExpression 2858770 2859081 + Identifier 2858770 2859017 + EqualsToken 2859017 2859019 + ConditionalExpression 2859019 2859081 + CallExpression 2859019 2859042 + Identifier 2859019 2859036 + Identifier 2859037 2859041 + QuestionToken 2859042 2859044 + PropertyAccessExpression 2859044 2859061 + Identifier 2859044 2859056 + Identifier 2859057 2859061 + ColonToken 2859061 2859063 + PropertyAccessExpression 2859063 2859081 + Identifier 2859063 2859075 + Identifier 2859076 2859081 + IfStatement 2859082 2859322 + CallExpression 2859187 2859249 + Identifier 2859187 2859236 + PropertyAccessExpression 2859237 2859248 + Identifier 2859237 2859241 + Identifier 2859242 2859248 + Block 2859250 2859322 + ExpressionStatement 2859252 2859303 + BinaryExpression 2859252 2859302 + Identifier 2859252 2859281 + BarEqualsToken 2859281 2859284 + PropertyAccessExpression 2859284 2859302 + Identifier 2859284 2859296 + Identifier 2859297 2859302 + Block 2859355 2859422 + ExpressionStatement 2859357 2859407 + BinaryExpression 2859357 2859406 + Identifier 2859357 2859382 + EqualsToken 2859382 2859384 + PropertyAccessExpression 2859384 2859406 + Identifier 2859384 2859396 + Identifier 2859397 2859406 + ExpressionStatement 2859422 2859467 + BinaryExpression 2859422 2859466 + Identifier 2859422 2859445 + BarEqualsToken 2859445 2859448 + PropertyAccessExpression 2859448 2859466 + Identifier 2859448 2859460 + Identifier 2859461 2859466 + VariableStatement 2859467 2859605 + VariableDeclarationList 2859467 2859604 + VariableDeclaration 2859486 2859604 + Identifier 2859486 2859503 + ConditionalExpression 2859505 2859604 + CallExpression 2859505 2859534 + Identifier 2859505 2859528 + Identifier 2859529 2859533 + QuestionToken 2859534 2859536 + CallExpression 2859536 2859592 + Identifier 2859536 2859554 + Identifier 2859555 2859559 + Identifier 2859560 2859568 + TrueKeyword 2859569 2859591 + ColonToken 2859592 2859594 + Identifier 2859594 2859604 + IfStatement 2859605 2859699 + Identifier 2859623 2859639 + Block 2859640 2859699 + ReturnStatement 2859642 2859684 + Identifier 2859666 2859683 + IfStatement 2859710 2859872 + BinaryExpression 2859726 2859775 + PropertyAccessExpression 2859726 2859742 + PropertyAccessExpression 2859726 2859737 + Identifier 2859726 2859730 + Identifier 2859731 2859737 + Identifier 2859738 2859742 + EqualsEqualsEqualsToken 2859742 2859746 + PropertyAccessExpression 2859746 2859775 + Identifier 2859746 2859757 + Identifier 2859758 2859775 + Block 2859776 2859872 + ReturnStatement 2859778 2859861 + CallExpression 2859798 2859860 + Identifier 2859798 2859826 + AsExpression 2859827 2859859 + PropertyAccessExpression 2859827 2859838 + Identifier 2859827 2859831 + Identifier 2859832 2859838 + TypeReference 2859841 2859859 + Identifier 2859841 2859859 + IfStatement 2859872 2860301 + BinaryExpression 2859888 2859992 + BinaryExpression 2859888 2859933 + PropertyAccessExpression 2859888 2859904 + PropertyAccessExpression 2859888 2859899 + Identifier 2859888 2859892 + Identifier 2859893 2859899 + Identifier 2859900 2859904 + EqualsEqualsEqualsToken 2859904 2859908 + PropertyAccessExpression 2859908 2859933 + Identifier 2859908 2859919 + Identifier 2859920 2859933 + AmpersandAmpersandToken 2859933 2859936 + BinaryExpression 2859936 2859992 + PropertyAccessExpression 2859936 2859960 + PropertyAccessExpression 2859936 2859955 + PropertyAccessExpression 2859936 2859948 + Identifier 2859936 2859941 + Identifier 2859942 2859948 + Identifier 2859949 2859955 + Identifier 2859956 2859960 + EqualsEqualsEqualsToken 2859960 2859964 + PropertyAccessExpression 2859964 2859992 + Identifier 2859964 2859975 + Identifier 2859976 2859992 + Block 2859993 2860301 + ExpressionStatement 2859995 2860041 + CallExpression 2859995 2860040 + PropertyAccessExpression 2859995 2860021 + Identifier 2859995 2860014 + Identifier 2860015 2860021 + PrefixUnaryExpression 2860022 2860039 + CallExpression 2860023 2860039 + Identifier 2860023 2860033 + Identifier 2860034 2860038 + VariableStatement 2860041 2860231 + VariableDeclarationList 2860041 2860230 + VariableDeclaration 2860115 2860230 + Identifier 2860115 2860129 + CallExpression 2860131 2860230 + Identifier 2860131 2860157 + AsExpression 2860158 2860229 + PropertyAccessExpression 2860158 2860169 + Identifier 2860158 2860162 + Identifier 2860163 2860169 + IntersectionType 2860172 2860229 + TypeReference 2860172 2860197 + Identifier 2860172 2860197 + TypeLiteral 2860199 2860229 + PropertySignature 2860201 2860227 + Identifier 2860201 2860208 + TypeReference 2860209 2860226 + Identifier 2860209 2860226 + ReturnStatement 2860231 2860290 + BinaryExpression 2860251 2860289 + Identifier 2860251 2860265 + AmpersandAmpersandToken 2860265 2860268 + PropertyAccessExpression 2860268 2860289 + Identifier 2860268 2860282 + Identifier 2860283 2860289 + IfStatement 2860301 2863674 + CallExpression 2860317 2860339 + Identifier 2860317 2860333 + Identifier 2860334 2860338 + Block 2860340 2863251 + IfStatement 2860342 2860473 + CallExpression 2860360 2860379 + Identifier 2860360 2860373 + Identifier 2860374 2860378 + Block 2860380 2860473 + ReturnStatement 2860382 2860458 + Identifier 2860447 2860457 + VariableStatement 2860473 2860586 + VariableDeclarationList 2860473 2860585 + VariableDeclaration 2860494 2860585 + Identifier 2860494 2860502 + CallExpression 2860504 2860585 + Identifier 2860504 2860517 + Identifier 2860518 2860522 + CallExpression 2860523 2860584 + Identifier 2860523 2860526 + Identifier 2860527 2860542 + Identifier 2860543 2860564 + Identifier 2860565 2860583 + VariableStatement 2860586 2860707 + VariableDeclarationList 2860586 2860706 + VariableDeclaration 2860605 2860706 + Identifier 2860605 2860613 + ConditionalExpression 2860615 2860706 + Identifier 2860615 2860623 + QuestionToken 2860623 2860625 + BinaryExpression 2860625 2860686 + BinaryExpression 2860625 2860666 + PropertyAccessExpression 2860625 2860642 + Identifier 2860625 2860637 + Identifier 2860638 2860642 + BarToken 2860642 2860644 + PropertyAccessExpression 2860644 2860666 + Identifier 2860644 2860656 + Identifier 2860657 2860666 + BarToken 2860666 2860668 + PropertyAccessExpression 2860668 2860686 + Identifier 2860668 2860680 + Identifier 2860681 2860686 + ColonToken 2860686 2860688 + PropertyAccessExpression 2860688 2860706 + Identifier 2860688 2860700 + Identifier 2860701 2860706 + IfStatement 2860707 2863240 + BinaryExpression 2860725 2860760 + PropertyAccessExpression 2860725 2860734 + Identifier 2860725 2860729 + Identifier 2860730 2860734 + EqualsEqualsEqualsToken 2860734 2860738 + PropertyAccessExpression 2860738 2860760 + Identifier 2860738 2860749 + Identifier 2860750 2860760 + Block 2860761 2861974 + IfStatement 2860763 2861028 + BinaryExpression 2860785 2860834 + CallExpression 2860785 2860803 + Identifier 2860785 2860797 + Identifier 2860798 2860802 + AmpersandAmpersandToken 2860803 2860806 + CallExpression 2860806 2860834 + Identifier 2860806 2860828 + Identifier 2860829 2860833 + Block 2860835 2861028 + VariableStatement 2860837 2860934 + VariableDeclarationList 2860837 2860933 + VariableDeclaration 2860864 2860933 + Identifier 2860864 2860871 + CallExpression 2860873 2860933 + Identifier 2860873 2860895 + AsExpression 2860896 2860932 + PropertyAccessExpression 2860896 2860907 + Identifier 2860896 2860900 + Identifier 2860901 2860907 + TypeReference 2860910 2860932 + Identifier 2860910 2860932 + ReturnStatement 2860934 2861009 + ConditionalExpression 2860962 2861008 + BinaryExpression 2860962 2860987 + Identifier 2860962 2860969 + EqualsEqualsEqualsToken 2860969 2860973 + Identifier 2860973 2860987 + QuestionToken 2860987 2860989 + Identifier 2860989 2860999 + ColonToken 2860999 2861001 + Identifier 2861001 2861008 + VariableStatement 2861028 2861177 + VariableDeclarationList 2861028 2861176 + VariableDeclaration 2861051 2861176 + Identifier 2861051 2861058 + CallExpression 2861060 2861176 + Identifier 2861060 2861078 + Identifier 2861079 2861083 + Identifier 2861084 2861092 + TrueKeyword 2861093 2861115 + TrueKeyword 2861116 2861142 + CallExpression 2861143 2861175 + Identifier 2861143 2861169 + Identifier 2861170 2861174 + IfStatement 2861177 2861520 + BinaryExpression 2861199 2861217 + PrefixUnaryExpression 2861199 2861206 + Identifier 2861200 2861206 + AmpersandAmpersandToken 2861206 2861209 + Identifier 2861209 2861217 + Block 2861218 2861520 + VariableStatement 2861220 2861320 + VariableDeclarationList 2861220 2861319 + VariableDeclaration 2861247 2861319 + Identifier 2861247 2861257 + CallExpression 2861259 2861319 + Identifier 2861259 2861272 + Identifier 2861273 2861277 + CallExpression 2861278 2861318 + Identifier 2861278 2861281 + Identifier 2861282 2861293 + Identifier 2861294 2861317 + IfStatement 2861320 2861501 + Identifier 2861346 2861355 + Block 2861356 2861501 + ReturnStatement 2861358 2861478 + CallExpression 2861390 2861477 + Identifier 2861390 2861413 + Identifier 2861414 2861418 + TrueKeyword 2861419 2861441 + CallExpression 2861442 2861476 + Identifier 2861442 2861465 + Identifier 2861466 2861475 + IfStatement 2861520 2861927 + BinaryExpression 2861542 2861559 + Identifier 2861542 2861548 + AmpersandAmpersandToken 2861548 2861551 + Identifier 2861551 2861559 + Block 2861560 2861927 + VariableStatement 2861562 2861621 + VariableDeclarationList 2861562 2861620 + VariableDeclaration 2861589 2861620 + Identifier 2861589 2861599 + CallExpression 2861601 2861620 + Identifier 2861601 2861614 + Identifier 2861615 2861619 + IfStatement 2861621 2861908 + BinaryExpression 2861647 2861724 + BinaryExpression 2861647 2861683 + Identifier 2861647 2861656 + AmpersandAmpersandToken 2861656 2861659 + CallExpression 2861659 2861683 + Identifier 2861659 2861672 + Identifier 2861673 2861682 + AmpersandAmpersandToken 2861683 2861686 + BinaryExpression 2861686 2861724 + Identifier 2861686 2861696 + EqualsEqualsEqualsToken 2861696 2861700 + PropertyAccessExpression 2861700 2861724 + Identifier 2861700 2861707 + Identifier 2861708 2861724 + Block 2861725 2861908 + ReturnStatement 2861727 2861885 + BinaryExpression 2861759 2861884 + CallExpression 2861759 2861874 + Identifier 2861759 2861777 + Identifier 2861778 2861782 + Identifier 2861783 2861791 + TrueKeyword 2861792 2861814 + TrueKeyword 2861815 2861841 + CallExpression 2861842 2861873 + Identifier 2861842 2861862 + Identifier 2861863 2861872 + BarBarToken 2861874 2861877 + Identifier 2861877 2861884 + ReturnStatement 2861927 2861959 + Identifier 2861951 2861958 + IfStatement 2861992 2863240 + CallExpression 2861997 2862022 + Identifier 2861997 2862016 + Identifier 2862017 2862021 + Block 2862023 2862111 + ReturnStatement 2862025 2862096 + CallExpression 2862049 2862095 + Identifier 2862049 2862089 + Identifier 2862090 2862094 + IfStatement 2862129 2863240 + BinaryExpression 2862134 2862225 + BinaryExpression 2862134 2862183 + PropertyAccessExpression 2862134 2862143 + Identifier 2862134 2862138 + Identifier 2862139 2862143 + EqualsEqualsEqualsToken 2862143 2862147 + PropertyAccessExpression 2862147 2862183 + Identifier 2862147 2862158 + Identifier 2862159 2862183 + BarBarToken 2862183 2862186 + BinaryExpression 2862186 2862225 + PropertyAccessExpression 2862186 2862196 + Identifier 2862186 2862191 + Identifier 2862192 2862196 + EqualsEqualsEqualsToken 2862196 2862200 + PropertyAccessExpression 2862200 2862225 + Identifier 2862200 2862211 + Identifier 2862212 2862225 + Block 2862226 2863122 + VariableStatement 2862228 2862279 + VariableDeclarationList 2862228 2862278 + VariableDeclaration 2862251 2862278 + Identifier 2862251 2862257 + CallExpression 2862259 2862278 + Identifier 2862259 2862272 + Identifier 2862273 2862277 + IfStatement 2862279 2862393 + PropertyAccessExpression 2862301 2862321 + Identifier 2862301 2862306 + Identifier 2862307 2862321 + Block 2862322 2862393 + ReturnStatement 2862324 2862374 + PropertyAccessExpression 2862352 2862373 + Identifier 2862352 2862358 + Identifier 2862359 2862373 + IfStatement 2862393 2862902 + BinaryExpression 2862417 2862466 + PropertyAccessExpression 2862417 2862426 + Identifier 2862417 2862421 + Identifier 2862422 2862426 + EqualsEqualsEqualsToken 2862426 2862430 + PropertyAccessExpression 2862430 2862466 + Identifier 2862430 2862441 + Identifier 2862442 2862466 + Block 2862467 2862794 + ExpressionStatement 2862469 2862545 + CallExpression 2862469 2862544 + Identifier 2862469 2862520 + Identifier 2862521 2862525 + PropertyAccessExpression 2862526 2862543 + Identifier 2862526 2862536 + Identifier 2862537 2862543 + IfStatement 2862545 2862775 + PrefixUnaryExpression 2862571 2862592 + PropertyAccessExpression 2862572 2862592 + Identifier 2862572 2862577 + Identifier 2862578 2862592 + Block 2862593 2862775 + ExpressionStatement 2862595 2862752 + BinaryExpression 2862595 2862751 + PropertyAccessExpression 2862595 2862641 + Identifier 2862595 2862626 + Identifier 2862627 2862641 + EqualsToken 2862641 2862643 + CallExpression 2862643 2862751 + Identifier 2862643 2862668 + CallExpression 2862669 2862707 + Identifier 2862669 2862690 + PropertyAccessExpression 2862691 2862706 + Identifier 2862691 2862695 + Identifier 2862696 2862706 + CallExpression 2862708 2862750 + Identifier 2862708 2862739 + PropertyAccessExpression 2862740 2862749 + Identifier 2862740 2862744 + Identifier 2862745 2862749 + Block 2862816 2862902 + ExpressionStatement 2862818 2862883 + CallExpression 2862818 2862882 + Identifier 2862818 2862858 + Identifier 2862859 2862863 + PropertyAccessExpression 2862864 2862881 + Identifier 2862864 2862874 + Identifier 2862875 2862881 + IfStatement 2862902 2863061 + BinaryExpression 2862924 2862981 + BinaryExpression 2862924 2862956 + PrefixUnaryExpression 2862924 2862945 + PropertyAccessExpression 2862925 2862945 + Identifier 2862925 2862930 + Identifier 2862931 2862945 + AmpersandAmpersandToken 2862945 2862948 + Identifier 2862948 2862956 + AmpersandAmpersandToken 2862956 2862959 + CallExpression 2862959 2862981 + Identifier 2862959 2862975 + Identifier 2862976 2862980 + Block 2862982 2863061 + ReturnStatement 2862984 2863042 + CallExpression 2863012 2863041 + Identifier 2863012 2863035 + Identifier 2863036 2863040 + ReturnStatement 2863061 2863107 + PropertyAccessExpression 2863085 2863106 + Identifier 2863085 2863091 + Identifier 2863092 2863106 + IfStatement 2863140 2863240 + CallExpression 2863145 2863168 + Identifier 2863145 2863162 + Identifier 2863163 2863167 + Block 2863169 2863240 + ReturnStatement 2863171 2863225 + CallExpression 2863195 2863224 + Identifier 2863195 2863218 + Identifier 2863219 2863223 + IfStatement 2863265 2863674 + BinaryExpression 2863270 2863323 + CallExpression 2863270 2863288 + Identifier 2863270 2863282 + Identifier 2863283 2863287 + AmpersandAmpersandToken 2863288 2863291 + CallExpression 2863291 2863323 + Identifier 2863291 2863317 + Identifier 2863318 2863322 + Block 2863324 2863674 + VariableStatement 2863326 2863445 + VariableDeclarationList 2863326 2863444 + VariableDeclaration 2863345 2863444 + Identifier 2863345 2863353 + ConditionalExpression 2863355 2863444 + BinaryExpression 2863355 2863401 + PropertyAccessExpression 2863355 2863372 + PropertyAccessExpression 2863355 2863367 + Identifier 2863355 2863360 + Identifier 2863361 2863367 + Identifier 2863368 2863372 + EqualsEqualsEqualsToken 2863372 2863376 + PropertyAccessExpression 2863376 2863401 + Identifier 2863376 2863387 + Identifier 2863388 2863401 + QuestionToken 2863401 2863403 + PropertyAccessExpression 2863403 2863420 + Identifier 2863403 2863415 + Identifier 2863416 2863420 + ColonToken 2863420 2863422 + PropertyAccessExpression 2863422 2863444 + Identifier 2863422 2863434 + Identifier 2863435 2863444 + VariableStatement 2863445 2863557 + VariableDeclarationList 2863445 2863556 + VariableDeclaration 2863464 2863556 + Identifier 2863464 2863471 + CallExpression 2863473 2863556 + Identifier 2863473 2863491 + Identifier 2863492 2863496 + Identifier 2863497 2863505 + TrueKeyword 2863506 2863528 + TrueKeyword 2863529 2863555 + ReturnStatement 2863557 2863663 + ConditionalExpression 2863577 2863662 + BinaryExpression 2863577 2863612 + Identifier 2863577 2863584 + AmpersandAmpersandToken 2863584 2863587 + BinaryExpression 2863587 2863612 + Identifier 2863587 2863594 + ExclamationEqualsEqualsToken 2863594 2863598 + Identifier 2863598 2863612 + QuestionToken 2863612 2863614 + Identifier 2863614 2863621 + ColonToken 2863621 2863623 + CallExpression 2863623 2863662 + Identifier 2863623 2863656 + Identifier 2863657 2863661 + IfStatement 2863674 2863877 + BinaryExpression 2863688 2863733 + PropertyAccessExpression 2863688 2863704 + PropertyAccessExpression 2863688 2863699 + Identifier 2863688 2863692 + Identifier 2863693 2863699 + Identifier 2863700 2863704 + EqualsEqualsEqualsToken 2863704 2863708 + PropertyAccessExpression 2863708 2863733 + Identifier 2863708 2863719 + Identifier 2863720 2863733 + Block 2863734 2863877 + ReturnStatement 2863736 2863866 + CallExpression 2863756 2863865 + Identifier 2863756 2863774 + AsExpression 2863775 2863793 + Identifier 2863775 2863779 + TypeReference 2863782 2863793 + Identifier 2863782 2863793 + PropertyAccessExpression 2863794 2863841 + Identifier 2863794 2863818 + Identifier 2863819 2863841 + TrueKeyword 2863842 2863864 + ReturnStatement 2863877 2863904 + Identifier 2863893 2863903 + FunctionDeclaration 2863911 2865427 + Identifier 2863927 2863952 + Parameter 2863953 2863963 + Identifier 2863953 2863957 + TypeReference 2863958 2863963 + Identifier 2863958 2863963 + Parameter 2863964 2863978 + Identifier 2863964 2863972 + TypeReference 2863973 2863978 + Identifier 2863973 2863978 + Block 2863979 2865427 + VariableStatement 2863981 2864044 + VariableDeclarationList 2863981 2864043 + VariableDeclaration 2863996 2864043 + Identifier 2863996 2864002 + CallExpression 2864004 2864043 + Identifier 2864004 2864028 + Identifier 2864029 2864033 + Identifier 2864034 2864042 + IfStatement 2864044 2865420 + BinaryExpression 2864058 2864102 + PropertyAccessExpression 2864058 2864070 + Identifier 2864058 2864063 + Identifier 2864064 2864070 + AmpersandAmpersandToken 2864070 2864073 + PropertyAccessExpression 2864073 2864102 + ParenthesizedExpression 2864073 2864094 + AsExpression 2864075 2864093 + Identifier 2864075 2864079 + TypeReference 2864082 2864093 + Identifier 2864082 2864093 + Identifier 2864095 2864102 + Block 2864103 2865420 + VariableStatement 2864105 2864222 + VariableDeclarationList 2864105 2864221 + VariableDeclaration 2864124 2864221 + Identifier 2864124 2864131 + CallExpression 2864133 2864221 + Identifier 2864133 2864163 + PropertyAccessExpression 2864164 2864220 + CallExpression 2864164 2864212 + Identifier 2864164 2864192 + AsExpression 2864193 2864211 + Identifier 2864193 2864197 + TypeReference 2864200 2864211 + Identifier 2864200 2864211 + Identifier 2864213 2864220 + IfStatement 2864222 2865409 + BinaryExpression 2864240 2864275 + Identifier 2864240 2864245 + EqualsEqualsEqualsToken 2864245 2864249 + CallExpression 2864249 2864275 + Identifier 2864249 2864269 + Identifier 2864270 2864274 + Block 2864276 2864325 + ReturnStatement 2864278 2864310 + Identifier 2864302 2864309 + IfStatement 2864343 2865409 + Identifier 2864348 2864354 + Block 2864355 2865409 + VariableStatement 2864357 2864418 + VariableDeclarationList 2864357 2864417 + VariableDeclaration 2864380 2864417 + Identifier 2864380 2864392 + CallExpression 2864394 2864417 + Identifier 2864394 2864409 + Identifier 2864410 2864416 + VariableStatement 2864418 2864498 + VariableDeclarationList 2864418 2864497 + VariableDeclaration 2864441 2864497 + Identifier 2864441 2864457 + CallExpression 2864459 2864497 + Identifier 2864459 2864470 + Identifier 2864471 2864476 + ArrowFunction 2864477 2864496 + Parameter 2864477 2864479 + Identifier 2864477 2864479 + EqualsGreaterThanToken 2864479 2864482 + PropertyAccessExpression 2864482 2864496 + Identifier 2864482 2864484 + Identifier 2864485 2864496 + VariableStatement 2864498 2864577 + VariableDeclarationList 2864498 2864576 + VariableDeclaration 2864521 2864576 + Identifier 2864521 2864532 + CallExpression 2864534 2864576 + PropertyAccessExpression 2864534 2864571 + CallExpression 2864534 2864566 + Identifier 2864534 2864538 + Identifier 2864539 2864554 + Identifier 2864555 2864565 + Identifier 2864567 2864571 + StringLiteral 2864572 2864575 + IfStatement 2864577 2864729 + PrefixUnaryExpression 2864599 2864636 + PropertyAccessExpression 2864600 2864636 + Identifier 2864600 2864611 + Identifier 2864612 2864636 + Block 2864637 2864729 + ExpressionStatement 2864639 2864710 + BinaryExpression 2864639 2864709 + PropertyAccessExpression 2864639 2864697 + Identifier 2864639 2864672 + Identifier 2864673 2864697 + EqualsToken 2864697 2864699 + NewExpression 2864699 2864709 + Identifier 2864703 2864707 + IfStatement 2864729 2865394 + CallExpression 2864751 2864803 + PropertyAccessExpression 2864751 2864791 + PropertyAccessExpression 2864751 2864787 + Identifier 2864751 2864762 + Identifier 2864763 2864787 + Identifier 2864788 2864791 + Identifier 2864792 2864802 + Block 2864804 2864908 + ReturnStatement 2864806 2864889 + NonNullExpression 2864834 2864888 + CallExpression 2864834 2864887 + PropertyAccessExpression 2864834 2864875 + PropertyAccessExpression 2864834 2864871 + Identifier 2864834 2864846 + Identifier 2864847 2864871 + Identifier 2864872 2864875 + Identifier 2864876 2864886 + Block 2864930 2865394 + VariableStatement 2864932 2865029 + VariableDeclarationList 2864932 2865028 + VariableDeclaration 2864959 2865028 + Identifier 2864959 2864964 + CallExpression 2864966 2865028 + Identifier 2864966 2864979 + PropertyAccessExpression 2864980 2865001 + Identifier 2864980 2864991 + Identifier 2864992 2865001 + PropertyAccessExpression 2865002 2865027 + Identifier 2865002 2865021 + Identifier 2865022 2865027 + ExpressionStatement 2865029 2865109 + BinaryExpression 2865029 2865108 + PropertyAccessExpression 2865029 2865068 + Identifier 2865029 2865055 + Identifier 2865056 2865068 + EqualsToken 2865068 2865070 + CallExpression 2865070 2865108 + Identifier 2865070 2865081 + Identifier 2865082 2865087 + ArrowFunction 2865088 2865107 + Parameter 2865088 2865090 + Identifier 2865088 2865090 + EqualsGreaterThanToken 2865090 2865093 + PropertyAccessExpression 2865093 2865107 + Identifier 2865093 2865095 + Identifier 2865096 2865107 + ExpressionStatement 2865109 2865260 + BinaryExpression 2865109 2865259 + PropertyAccessExpression 2865109 2865142 + Identifier 2865109 2865135 + Identifier 2865136 2865142 + EqualsToken 2865142 2865144 + ConditionalExpression 2865144 2865259 + PropertyAccessExpression 2865144 2865161 + Identifier 2865144 2865149 + Identifier 2865150 2865161 + QuestionToken 2865161 2865163 + PropertyAccessExpression 2865163 2865180 + Identifier 2865163 2865168 + Identifier 2865169 2865180 + ColonToken 2865180 2865182 + ConditionalExpression 2865182 2865259 + PropertyAccessExpression 2865182 2865194 + Identifier 2865182 2865187 + Identifier 2865188 2865194 + QuestionToken 2865194 2865196 + PropertyAccessExpression 2865196 2865208 + Identifier 2865196 2865201 + Identifier 2865202 2865208 + ColonToken 2865208 2865210 + CallExpression 2865210 2865259 + Identifier 2865210 2865230 + PropertyAccessExpression 2865231 2865258 + ElementAccessExpression 2865231 2865251 + PropertyAccessExpression 2865231 2865248 + Identifier 2865231 2865235 + Identifier 2865236 2865248 + NumericLiteral 2865249 2865250 + Identifier 2865252 2865258 + ExpressionStatement 2865260 2865341 + CallExpression 2865260 2865340 + PropertyAccessExpression 2865260 2865322 + PropertyAccessExpression 2865260 2865318 + Identifier 2865260 2865293 + Identifier 2865294 2865318 + Identifier 2865319 2865322 + Identifier 2865323 2865333 + Identifier 2865334 2865339 + ReturnStatement 2865341 2865375 + Identifier 2865369 2865374 + FunctionDeclaration 2865427 2867017 + Identifier 2865808 2865831 + Parameter 2865832 2865866 + Identifier 2865832 2865836 + UnionType 2865837 2865866 + TypeReference 2865837 2865848 + Identifier 2865837 2865848 + TypeReference 2865850 2865866 + Identifier 2865850 2865866 + Parameter 2865867 2865890 + Identifier 2865867 2865880 + QuestionToken 2865880 2865881 + BooleanKeyword 2865882 2865890 + Parameter 2865891 2865910 + Identifier 2865891 2865901 + QuestionToken 2865901 2865902 + TypeReference 2865903 2865910 + Identifier 2865903 2865910 + UnionType 2865912 2865931 + TypeReference 2865912 2865919 + Identifier 2865912 2865919 + UndefinedKeyword 2865921 2865931 + Block 2865931 2867017 + IfStatement 2865933 2866512 + CallExpression 2865947 2865965 + Identifier 2865947 2865959 + Identifier 2865960 2865964 + Block 2865966 2866512 + VariableStatement 2865968 2866103 + VariableDeclarationList 2865968 2866102 + VariableDeclaration 2866031 2866102 + Identifier 2866031 2866039 + BinaryExpression 2866041 2866102 + BinaryExpression 2866041 2866082 + PropertyAccessExpression 2866041 2866058 + Identifier 2866041 2866053 + Identifier 2866054 2866058 + BarToken 2866058 2866060 + PropertyAccessExpression 2866060 2866082 + Identifier 2866060 2866072 + Identifier 2866073 2866082 + BarToken 2866082 2866084 + PropertyAccessExpression 2866084 2866102 + Identifier 2866084 2866096 + Identifier 2866097 2866102 + VariableStatement 2866103 2866237 + VariableDeclarationList 2866103 2866236 + VariableDeclaration 2866120 2866236 + Identifier 2866120 2866127 + CallExpression 2866129 2866236 + Identifier 2866129 2866147 + Identifier 2866148 2866152 + Identifier 2866153 2866161 + Identifier 2866162 2866175 + TrueKeyword 2866176 2866202 + CallExpression 2866203 2866235 + Identifier 2866203 2866229 + Identifier 2866230 2866234 + IfStatement 2866237 2866427 + BinaryExpression 2866255 2866297 + BinaryExpression 2866255 2866284 + PrefixUnaryExpression 2866255 2866262 + Identifier 2866256 2866262 + AmpersandAmpersandToken 2866262 2866265 + CallExpression 2866265 2866284 + Identifier 2866265 2866278 + Identifier 2866279 2866283 + AmpersandAmpersandToken 2866284 2866287 + Identifier 2866287 2866297 + Block 2866298 2866427 + ExpressionStatement 2866300 2866412 + BinaryExpression 2866300 2866411 + Identifier 2866300 2866324 + EqualsToken 2866324 2866326 + CallExpression 2866326 2866411 + Identifier 2866326 2866342 + CallExpression 2866343 2866410 + Identifier 2866343 2866352 + CallExpression 2866353 2866382 + Identifier 2866353 2866371 + Identifier 2866372 2866381 + PropertyAccessExpression 2866383 2866400 + Identifier 2866383 2866388 + Identifier 2866389 2866400 + Identifier 2866401 2866409 + IfStatement 2866427 2866501 + Identifier 2866445 2866451 + Block 2866452 2866501 + ReturnStatement 2866454 2866486 + Identifier 2866478 2866485 + VariableStatement 2866512 2866627 + VariableDeclarationList 2866512 2866626 + VariableDeclaration 2866527 2866626 + Identifier 2866527 2866532 + ConditionalExpression 2866534 2866626 + CallExpression 2866534 2866553 + Identifier 2866534 2866547 + Identifier 2866548 2866552 + QuestionToken 2866553 2866555 + Identifier 2866555 2866565 + ColonToken 2866565 2866567 + CallExpression 2866567 2866626 + Identifier 2866567 2866590 + PropertyAccessExpression 2866591 2866600 + Identifier 2866591 2866595 + Identifier 2866596 2866600 + Identifier 2866601 2866614 + Identifier 2866615 2866625 + VariableStatement 2866627 2866714 + VariableDeclarationList 2866627 2866713 + VariableDeclaration 2866642 2866713 + Identifier 2866642 2866648 + ConditionalExpression 2866650 2866713 + CallExpression 2866650 2866669 + Identifier 2866650 2866663 + Identifier 2866664 2866668 + QuestionToken 2866669 2866671 + PropertyAccessExpression 2866671 2866688 + Identifier 2866671 2866676 + Identifier 2866677 2866688 + ColonToken 2866688 2866690 + PropertyAccessExpression 2866690 2866713 + PropertyAccessExpression 2866690 2866701 + Identifier 2866690 2866695 + Identifier 2866696 2866701 + Identifier 2866702 2866713 + IfStatement 2866714 2867010 + Identifier 2866728 2866732 + Block 2866733 2867010 + VariableStatement 2866735 2866863 + VariableDeclarationList 2866735 2866862 + VariableDeclaration 2866754 2866862 + Identifier 2866754 2866760 + BinaryExpression 2866762 2866862 + BinaryExpression 2866762 2866793 + PropertyAccessExpression 2866762 2866773 + Identifier 2866762 2866767 + Identifier 2866768 2866773 + AmpersandToken 2866773 2866775 + PropertyAccessExpression 2866775 2866793 + Identifier 2866775 2866787 + Identifier 2866788 2866793 + AmpersandAmpersandToken 2866793 2866796 + CallExpression 2866796 2866862 + Identifier 2866796 2866814 + CallExpression 2866815 2866836 + Identifier 2866815 2866830 + Identifier 2866831 2866835 + AsExpression 2866837 2866861 + StringLiteral 2866837 2866849 + TypeReference 2866852 2866861 + Identifier 2866852 2866861 + VariableStatement 2866863 2866950 + VariableDeclarationList 2866863 2866949 + VariableDeclaration 2866882 2866949 + Identifier 2866882 2866884 + ConditionalExpression 2866886 2866949 + Identifier 2866886 2866892 + QuestionToken 2866892 2866894 + CallExpression 2866894 2866917 + Identifier 2866894 2866910 + Identifier 2866911 2866916 + ColonToken 2866917 2866919 + CallExpression 2866919 2866949 + Identifier 2866919 2866943 + Identifier 2866944 2866948 + ReturnStatement 2866950 2866999 + CallExpression 2866970 2866998 + Identifier 2866970 2866988 + Identifier 2866989 2866990 + Identifier 2866991 2866997 + FunctionDeclaration 2867017 2875645 + Identifier 2867033 2867053 + Parameter 2867054 2867064 + Identifier 2867054 2867058 + TypeReference 2867059 2867064 + Identifier 2867059 2867064 + Parameter 2867065 2867088 + Identifier 2867065 2867078 + QuestionToken 2867078 2867079 + BooleanKeyword 2867080 2867088 + UnionType 2867090 2867109 + TypeReference 2867090 2867097 + Identifier 2867090 2867097 + UndefinedKeyword 2867099 2867109 + Block 2867109 2875645 + IfStatement 2867111 2867244 + CallExpression 2867125 2867143 + Identifier 2867125 2867137 + Identifier 2867138 2867142 + Block 2867144 2867244 + ReturnStatement 2867146 2867233 + ConditionalExpression 2867166 2867232 + CallExpression 2867166 2867189 + Identifier 2867166 2867183 + Identifier 2867184 2867188 + QuestionToken 2867189 2867191 + CallExpression 2867191 2867220 + Identifier 2867191 2867207 + PropertyAccessExpression 2867208 2867219 + Identifier 2867208 2867212 + Identifier 2867213 2867219 + ColonToken 2867220 2867222 + Identifier 2867222 2867232 + VariableStatement 2867244 2867278 + VariableDeclarationList 2867244 2867277 + VariableDeclaration 2867259 2867277 + ObjectBindingPattern 2867259 2867270 + BindingElement 2867261 2867268 + Identifier 2867261 2867268 + Identifier 2867272 2867277 + VariableStatement 2867278 2867322 + VariableDeclarationList 2867278 2867321 + VariableDeclaration 2867293 2867321 + Identifier 2867293 2867305 + PropertyAccessExpression 2867307 2867321 + Identifier 2867307 2867314 + Identifier 2867315 2867321 + IfStatement 2867322 2867521 + BinaryExpression 2867338 2867376 + PropertyAccessExpression 2867338 2867348 + Identifier 2867338 2867342 + Identifier 2867343 2867348 + AmpersandToken 2867348 2867350 + PropertyAccessExpression 2867350 2867376 + Identifier 2867350 2867360 + Identifier 2867361 2867376 + Block 2867377 2867521 + ReturnStatement 2867379 2867510 + Identifier 2867499 2867509 + IfStatement 2867521 2868076 + CallExpression 2867537 2867580 + Identifier 2867537 2867574 + Identifier 2867575 2867579 + Block 2867581 2867923 + VariableStatement 2867583 2867724 + VariableDeclarationList 2867583 2867723 + VariableDeclaration 2867662 2867723 + Identifier 2867662 2867675 + CallExpression 2867677 2867723 + Identifier 2867677 2867700 + AsExpression 2867701 2867722 + Identifier 2867701 2867707 + TypeReference 2867710 2867722 + Identifier 2867710 2867722 + ReturnStatement 2867724 2867912 + ConditionalExpression 2867744 2867911 + BinaryExpression 2867744 2867820 + CallExpression 2867744 2867783 + Identifier 2867744 2867770 + PropertyAccessExpression 2867771 2867782 + Identifier 2867771 2867775 + Identifier 2867776 2867782 + AmpersandAmpersandToken 2867783 2867786 + BinaryExpression 2867786 2867820 + PropertyAccessExpression 2867786 2867811 + PropertyAccessExpression 2867786 2867798 + Identifier 2867786 2867791 + Identifier 2867792 2867798 + Identifier 2867799 2867811 + EqualsEqualsEqualsToken 2867811 2867815 + Identifier 2867815 2867820 + QuestionToken 2867820 2867839 + CallExpression 2867839 2867879 + Identifier 2867839 2867865 + Identifier 2867866 2867878 + ColonToken 2867879 2867898 + Identifier 2867898 2867911 + IfStatement 2867937 2868076 + CallExpression 2867942 2867988 + Identifier 2867942 2867982 + Identifier 2867983 2867987 + Block 2867989 2868076 + ReturnStatement 2867991 2868065 + CallExpression 2868011 2868064 + Identifier 2868011 2868034 + AsExpression 2868035 2868063 + PropertyAccessExpression 2868035 2868048 + Identifier 2868035 2868041 + Identifier 2868042 2868048 + TypeReference 2868051 2868063 + Identifier 2868051 2868063 + IfStatement 2868076 2869989 + BinaryExpression 2868092 2868127 + PropertyAccessExpression 2868092 2868101 + Identifier 2868092 2868096 + Identifier 2868097 2868101 + EqualsEqualsEqualsToken 2868101 2868105 + PropertyAccessExpression 2868105 2868127 + Identifier 2868105 2868116 + Identifier 2868117 2868127 + Block 2868128 2869989 + IfStatement 2868130 2869978 + CallExpression 2868148 2868207 + Identifier 2868148 2868187 + AsExpression 2868188 2868206 + Identifier 2868188 2868192 + TypeReference 2868195 2868206 + Identifier 2868195 2868206 + Block 2868208 2868312 + ReturnStatement 2868210 2868297 + CallExpression 2868234 2868296 + Identifier 2868234 2868276 + AsExpression 2868277 2868295 + Identifier 2868277 2868281 + TypeReference 2868284 2868295 + Identifier 2868284 2868295 + IfStatement 2868330 2869978 + BinaryExpression 2868335 2868536 + BinaryExpression 2868335 2868467 + BinaryExpression 2868335 2868394 + PropertyAccessExpression 2868335 2868364 + Identifier 2868335 2868359 + Identifier 2868360 2868364 + EqualsEqualsEqualsToken 2868364 2868368 + PropertyAccessExpression 2868368 2868394 + Identifier 2868368 2868379 + Identifier 2868380 2868394 + AmpersandAmpersandToken 2868394 2868397 + BinaryExpression 2868397 2868467 + PropertyAccessExpression 2868397 2868431 + Identifier 2868397 2868426 + Identifier 2868427 2868431 + EqualsEqualsEqualsToken 2868431 2868435 + PropertyAccessExpression 2868435 2868467 + Identifier 2868435 2868446 + Identifier 2868447 2868467 + AmpersandAmpersandToken 2868467 2868470 + BinaryExpression 2868470 2868536 + Identifier 2868470 2868492 + EqualsEqualsEqualsToken 2868492 2868496 + PropertyAccessExpression 2868496 2868536 + ParenthesizedExpression 2868496 2868523 + AsExpression 2868498 2868522 + Identifier 2868498 2868504 + TypeReference 2868507 2868522 + Identifier 2868507 2868522 + Identifier 2868524 2868536 + Block 2868551 2868862 + VariableStatement 2868553 2868620 + VariableDeclarationList 2868553 2868619 + VariableDeclaration 2868576 2868619 + Identifier 2868576 2868590 + CallExpression 2868592 2868619 + Identifier 2868592 2868606 + Identifier 2868607 2868618 + VariableStatement 2868620 2868733 + VariableDeclarationList 2868620 2868732 + VariableDeclaration 2868643 2868732 + Identifier 2868643 2868663 + CallExpression 2868665 2868732 + Identifier 2868665 2868683 + Identifier 2868684 2868697 + PropertyAccessExpression 2868698 2868731 + ParenthesizedExpression 2868698 2868719 + AsExpression 2868700 2868718 + Identifier 2868700 2868704 + TypeReference 2868707 2868718 + Identifier 2868707 2868718 + Identifier 2868720 2868731 + IfStatement 2868733 2868847 + Identifier 2868757 2868776 + Block 2868777 2868847 + ReturnStatement 2868779 2868828 + Identifier 2868807 2868827 + IfStatement 2868880 2869978 + BinaryExpression 2868885 2868931 + CallExpression 2868885 2868907 + Identifier 2868885 2868899 + Identifier 2868900 2868906 + AmpersandAmpersandToken 2868907 2868910 + BinaryExpression 2868910 2868931 + PropertyAccessExpression 2868910 2868922 + Identifier 2868910 2868917 + Identifier 2868918 2868922 + EqualsEqualsEqualsToken 2868922 2868926 + Identifier 2868926 2868931 + Block 2868932 2869978 + IfStatement 2868934 2869186 + BinaryExpression 2868956 2869044 + BinaryExpression 2868956 2869001 + PropertyAccessExpression 2868956 2868975 + Identifier 2868956 2868962 + Identifier 2868963 2868975 + EqualsEqualsEqualsToken 2868975 2868979 + PropertyAccessExpression 2868979 2869001 + Identifier 2868979 2868990 + Identifier 2868991 2869001 + AmpersandAmpersandToken 2869001 2869004 + BinaryExpression 2869004 2869044 + CallExpression 2869004 2869031 + Identifier 2869004 2869011 + AsExpression 2869012 2869030 + Identifier 2869012 2869016 + TypeReference 2869019 2869030 + Identifier 2869019 2869030 + EqualsEqualsEqualsToken 2869031 2869035 + StringLiteral 2869035 2869044 + Block 2869045 2869186 + ReturnStatement 2869047 2869167 + PropertyAccessExpression 2869124 2869166 + CallExpression 2869124 2869159 + Identifier 2869124 2869151 + Identifier 2869152 2869158 + Identifier 2869160 2869166 + IfStatement 2869186 2869830 + BinaryExpression 2869621 2869710 + BinaryExpression 2869621 2869669 + PropertyAccessExpression 2869621 2869640 + Identifier 2869621 2869627 + Identifier 2869628 2869640 + EqualsEqualsEqualsToken 2869640 2869644 + PropertyAccessExpression 2869644 2869669 + Identifier 2869644 2869655 + Identifier 2869656 2869669 + AmpersandAmpersandToken 2869669 2869672 + BinaryExpression 2869672 2869710 + CallExpression 2869672 2869699 + Identifier 2869672 2869679 + AsExpression 2869680 2869698 + Identifier 2869680 2869684 + TypeReference 2869687 2869698 + Identifier 2869687 2869698 + EqualsEqualsEqualsToken 2869699 2869703 + StringLiteral 2869703 2869710 + Block 2869711 2869830 + ReturnStatement 2869713 2869811 + CallExpression 2869741 2869810 + PropertyAccessExpression 2869741 2869790 + NonNullExpression 2869741 2869786 + PropertyAccessExpression 2869741 2869785 + CallExpression 2869741 2869777 + Identifier 2869741 2869775 + Identifier 2869778 2869785 + Identifier 2869787 2869790 + AsExpression 2869791 2869809 + StringLiteral 2869791 2869797 + TypeReference 2869800 2869809 + Identifier 2869800 2869809 + ReturnStatement 2869830 2869963 + Identifier 2869952 2869962 + SwitchStatement 2869989 2875638 + PropertyAccessExpression 2870009 2870018 + Identifier 2870009 2870013 + Identifier 2870014 2870018 + CaseBlock 2870019 2875638 + CaseClause 2870021 2870062 + PropertyAccessExpression 2870039 2870061 + Identifier 2870039 2870050 + Identifier 2870051 2870061 + CaseClause 2870062 2870110 + PropertyAccessExpression 2870080 2870109 + Identifier 2870080 2870091 + Identifier 2870092 2870109 + CaseClause 2870110 2870165 + PropertyAccessExpression 2870128 2870164 + Identifier 2870128 2870139 + Identifier 2870140 2870164 + CaseClause 2870165 2870415 + PropertyAccessExpression 2870183 2870208 + Identifier 2870183 2870194 + Identifier 2870195 2870208 + IfStatement 2870209 2870415 + PrefixUnaryExpression 2870231 2870255 + CallExpression 2870232 2870255 + Identifier 2870232 2870249 + Identifier 2870250 2870254 + Block 2870256 2870415 + ReturnStatement 2870258 2870396 + CallExpression 2870286 2870395 + Identifier 2870286 2870328 + AsExpression 2870329 2870394 + Identifier 2870329 2870333 + UnionType 2870336 2870394 + TypeReference 2870336 2870347 + Identifier 2870336 2870347 + TypeReference 2870349 2870367 + Identifier 2870349 2870367 + TypeReference 2870369 2870394 + Identifier 2870369 2870394 + CaseClause 2870415 2871034 + PropertyAccessExpression 2870469 2870492 + Identifier 2870469 2870480 + Identifier 2870481 2870492 + VariableStatement 2870493 2870629 + VariableDeclarationList 2870493 2870628 + VariableDeclaration 2870516 2870628 + Identifier 2870516 2870526 + CallExpression 2870528 2870628 + Identifier 2870528 2870545 + Identifier 2870546 2870550 + FalseKeyword 2870551 2870583 + FalseKeyword 2870584 2870627 + IfStatement 2870629 2870891 + CallExpression 2870651 2870676 + Identifier 2870651 2870665 + Identifier 2870666 2870675 + Block 2870677 2870891 + VariableStatement 2870679 2870752 + VariableDeclarationList 2870679 2870751 + VariableDeclaration 2870706 2870751 + Identifier 2870706 2870710 + CallExpression 2870712 2870751 + Identifier 2870712 2870740 + Identifier 2870741 2870750 + IfStatement 2870752 2870872 + PropertyAccessExpression 2870778 2870795 + Identifier 2870778 2870781 + Identifier 2870782 2870795 + Block 2870796 2870872 + ReturnStatement 2870798 2870849 + PropertyAccessExpression 2870830 2870848 + Identifier 2870830 2870834 + Identifier 2870835 2870848 + IfStatement 2870891 2871034 + CallExpression 2870913 2870940 + Identifier 2870913 2870934 + Identifier 2870935 2870939 + Block 2870941 2871034 + ReturnStatement 2870943 2871015 + PropertyAccessExpression 2870971 2871014 + CallExpression 2870971 2871007 + Identifier 2870971 2870987 + AsExpression 2870988 2871006 + Identifier 2870988 2870992 + TypeReference 2870995 2871006 + Identifier 2870995 2871006 + Identifier 2871008 2871014 + CaseClause 2871034 2871204 + PropertyAccessExpression 2871088 2871108 + Identifier 2871088 2871099 + Identifier 2871100 2871108 + ReturnStatement 2871109 2871204 + PropertyAccessExpression 2871133 2871203 + CallExpression 2871133 2871196 + Identifier 2871133 2871157 + AsExpression 2871158 2871195 + Identifier 2871158 2871162 + UnionType 2871165 2871195 + TypeReference 2871165 2871180 + Identifier 2871165 2871180 + TypeReference 2871182 2871195 + Identifier 2871182 2871195 + Identifier 2871197 2871203 + CaseClause 2871204 2871317 + PropertyAccessExpression 2871224 2871248 + Identifier 2871224 2871235 + Identifier 2871236 2871248 + ReturnStatement 2871249 2871317 + PropertyAccessExpression 2871273 2871316 + CallExpression 2871273 2871309 + Identifier 2871273 2871289 + AsExpression 2871290 2871308 + Identifier 2871290 2871294 + TypeReference 2871297 2871308 + Identifier 2871297 2871308 + Identifier 2871310 2871316 + CaseClause 2871317 2871778 + PropertyAccessExpression 2871337 2871367 + Identifier 2871337 2871348 + Identifier 2871349 2871367 + VariableStatement 2871368 2871531 + VariableDeclarationList 2871368 2871530 + VariableDeclaration 2871493 2871530 + Identifier 2871493 2871516 + PropertyAccessExpression 2871518 2871530 + Identifier 2871518 2871523 + Identifier 2871524 2871530 + IfStatement 2871531 2871743 + BinaryExpression 2871553 2871633 + Identifier 2871553 2871575 + AmpersandAmpersandToken 2871575 2871578 + BinaryExpression 2871578 2871633 + PropertyAccessExpression 2871578 2871606 + Identifier 2871578 2871601 + Identifier 2871602 2871606 + EqualsEqualsEqualsToken 2871606 2871610 + PropertyAccessExpression 2871610 2871633 + Identifier 2871610 2871621 + Identifier 2871622 2871633 + Block 2871634 2871743 + ReturnStatement 2871636 2871724 + PropertyAccessExpression 2871664 2871723 + ParenthesizedExpression 2871664 2871716 + AsExpression 2871666 2871715 + PropertyAccessExpression 2871666 2871695 + Identifier 2871666 2871688 + Identifier 2871689 2871695 + TypeReference 2871698 2871715 + Identifier 2871698 2871715 + Identifier 2871717 2871723 + ReturnStatement 2871743 2871778 + Identifier 2871767 2871777 + CaseClause 2871778 2871824 + PropertyAccessExpression 2871798 2871823 + Identifier 2871798 2871809 + Identifier 2871810 2871823 + CaseClause 2871824 2873315 + PropertyAccessExpression 2871842 2871883 + Identifier 2871842 2871853 + Identifier 2871854 2871883 + IfStatement 2871884 2873109 + BinaryExpression 2872192 2872967 + BinaryExpression 2872192 2872816 + BinaryExpression 2872192 2872668 + BinaryExpression 2872192 2872552 + ParenthesizedExpression 2872192 2872358 + BinaryExpression 2872215 2872357 + CallExpression 2872215 2872274 + Identifier 2872215 2872254 + PropertyAccessExpression 2872255 2872273 + PropertyAccessExpression 2872255 2872266 + Identifier 2872255 2872259 + Identifier 2872260 2872266 + Identifier 2872267 2872273 + AmpersandAmpersandToken 2872274 2872277 + BinaryExpression 2872277 2872357 + CallExpression 2872277 2872348 + Identifier 2872277 2872328 + PropertyAccessExpression 2872329 2872347 + PropertyAccessExpression 2872329 2872340 + Identifier 2872329 2872333 + Identifier 2872334 2872340 + Identifier 2872341 2872347 + EqualsEqualsEqualsToken 2872348 2872352 + Identifier 2872352 2872357 + BarBarToken 2872358 2872361 + ParenthesizedExpression 2872361 2872552 + BinaryExpression 2872384 2872551 + ParenthesizedExpression 2872384 2872488 + BinaryExpression 2872385 2872487 + BinaryExpression 2872385 2872434 + PropertyAccessExpression 2872385 2872401 + PropertyAccessExpression 2872385 2872396 + Identifier 2872385 2872389 + Identifier 2872390 2872396 + Identifier 2872397 2872401 + EqualsEqualsEqualsToken 2872401 2872405 + PropertyAccessExpression 2872405 2872434 + Identifier 2872405 2872416 + Identifier 2872417 2872434 + BarBarToken 2872434 2872437 + BinaryExpression 2872437 2872487 + PropertyAccessExpression 2872437 2872454 + PropertyAccessExpression 2872437 2872449 + Identifier 2872437 2872442 + Identifier 2872443 2872449 + Identifier 2872450 2872454 + EqualsEqualsEqualsToken 2872454 2872458 + PropertyAccessExpression 2872458 2872487 + Identifier 2872458 2872469 + Identifier 2872470 2872487 + AmpersandAmpersandToken 2872488 2872491 + BinaryExpression 2872491 2872551 + PropertyAccessExpression 2872491 2872542 + ParenthesizedExpression 2872491 2872526 + AsExpression 2872493 2872525 + PropertyAccessExpression 2872493 2872504 + Identifier 2872493 2872497 + Identifier 2872498 2872504 + TypeReference 2872507 2872525 + Identifier 2872507 2872525 + Identifier 2872527 2872542 + EqualsEqualsEqualsToken 2872542 2872546 + Identifier 2872546 2872551 + BarBarToken 2872552 2872555 + ParenthesizedExpression 2872555 2872668 + BinaryExpression 2872578 2872667 + BinaryExpression 2872578 2872627 + CallExpression 2872578 2872594 + Identifier 2872578 2872588 + Identifier 2872589 2872593 + AmpersandAmpersandToken 2872594 2872597 + CallExpression 2872597 2872627 + Identifier 2872597 2872614 + PropertyAccessExpression 2872615 2872626 + Identifier 2872615 2872619 + Identifier 2872620 2872626 + AmpersandAmpersandToken 2872627 2872630 + BinaryExpression 2872630 2872667 + PropertyAccessExpression 2872630 2872658 + PropertyAccessExpression 2872630 2872642 + Identifier 2872630 2872635 + Identifier 2872636 2872642 + Identifier 2872643 2872658 + EqualsEqualsEqualsToken 2872658 2872662 + Identifier 2872662 2872667 + BarBarToken 2872668 2872671 + ParenthesizedExpression 2872671 2872816 + BinaryExpression 2872694 2872815 + ParenthesizedExpression 2872694 2872786 + BinaryExpression 2872695 2872785 + CallExpression 2872695 2872711 + Identifier 2872695 2872705 + Identifier 2872706 2872710 + AmpersandAmpersandToken 2872711 2872714 + CallExpression 2872714 2872785 + Identifier 2872714 2872728 + PropertyAccessExpression 2872729 2872740 + Identifier 2872729 2872733 + Identifier 2872734 2872740 + FalseKeyword 2872741 2872784 + BarBarToken 2872786 2872789 + CallExpression 2872789 2872815 + Identifier 2872789 2872802 + PropertyAccessExpression 2872803 2872814 + Identifier 2872803 2872807 + Identifier 2872808 2872814 + BarBarToken 2872816 2872819 + ParenthesizedExpression 2872819 2872967 + BinaryExpression 2872842 2872966 + BinaryExpression 2872842 2872919 + CallExpression 2872842 2872872 + Identifier 2872842 2872859 + PropertyAccessExpression 2872860 2872871 + Identifier 2872860 2872864 + Identifier 2872865 2872871 + AmpersandAmpersandToken 2872872 2872875 + CallExpression 2872875 2872919 + Identifier 2872875 2872899 + PropertyAccessExpression 2872900 2872918 + PropertyAccessExpression 2872900 2872911 + Identifier 2872900 2872904 + Identifier 2872905 2872911 + Identifier 2872912 2872918 + AmpersandAmpersandToken 2872919 2872922 + BinaryExpression 2872922 2872966 + PropertyAccessExpression 2872922 2872950 + PropertyAccessExpression 2872922 2872941 + PropertyAccessExpression 2872922 2872934 + Identifier 2872922 2872927 + Identifier 2872928 2872934 + Identifier 2872935 2872941 + Identifier 2872942 2872950 + EqualsEqualsEqualsToken 2872950 2872954 + PropertyAccessExpression 2872954 2872966 + Identifier 2872954 2872959 + Identifier 2872960 2872966 + Block 2872986 2873109 + ReturnStatement 2872988 2873090 + CallExpression 2873016 2873089 + Identifier 2873016 2873042 + Identifier 2873043 2873047 + AsExpression 2873048 2873074 + Identifier 2873048 2873053 + TypeReference 2873056 2873074 + Identifier 2873056 2873074 + Identifier 2873075 2873088 + IfStatement 2873109 2873315 + BinaryExpression 2873131 2873233 + BinaryExpression 2873131 2873201 + CallExpression 2873131 2873155 + Identifier 2873131 2873147 + Identifier 2873148 2873154 + AmpersandAmpersandToken 2873155 2873158 + CallExpression 2873158 2873201 + Identifier 2873158 2873193 + Identifier 2873194 2873200 + AmpersandAmpersandToken 2873201 2873204 + BinaryExpression 2873204 2873233 + ElementAccessExpression 2873204 2873224 + PropertyAccessExpression 2873204 2873221 + Identifier 2873204 2873211 + Identifier 2873212 2873221 + NumericLiteral 2873222 2873223 + EqualsEqualsEqualsToken 2873224 2873228 + Identifier 2873228 2873233 + Block 2873234 2873315 + ReturnStatement 2873236 2873296 + CallExpression 2873264 2873295 + Identifier 2873264 2873287 + Identifier 2873288 2873294 + CaseClause 2873315 2873942 + PropertyAccessExpression 2873369 2873395 + Identifier 2873369 2873380 + Identifier 2873381 2873395 + VariableStatement 2873396 2873800 + VariableDeclarationList 2873396 2873799 + VariableDeclaration 2873452 2873799 + Identifier 2873452 2873463 + ConditionalExpression 2873465 2873799 + CallExpression 2873465 2873499 + Identifier 2873465 2873491 + Identifier 2873492 2873498 + QuestionToken 2873499 2873522 + ConditionalExpression 2873522 2873610 + BinaryExpression 2873522 2873557 + PropertyAccessExpression 2873522 2873548 + Identifier 2873522 2873529 + Identifier 2873530 2873548 + EqualsEqualsEqualsToken 2873548 2873552 + Identifier 2873552 2873557 + QuestionToken 2873557 2873559 + CallExpression 2873559 2873598 + Identifier 2873559 2873579 + PropertyAccessExpression 2873580 2873597 + Identifier 2873580 2873586 + Identifier 2873587 2873597 + ColonToken 2873598 2873600 + Identifier 2873600 2873610 + ColonToken 2873610 2873633 + ConditionalExpression 2873633 2873799 + BinaryExpression 2873633 2873699 + CallExpression 2873633 2873659 + Identifier 2873633 2873651 + Identifier 2873652 2873658 + AmpersandAmpersandToken 2873659 2873662 + CallExpression 2873662 2873699 + Identifier 2873662 2873686 + Identifier 2873687 2873698 + QuestionToken 2873699 2873722 + CallExpression 2873722 2873766 + Identifier 2873722 2873742 + PropertyAccessExpression 2873743 2873765 + Identifier 2873743 2873754 + Identifier 2873755 2873765 + ColonToken 2873766 2873789 + Identifier 2873789 2873799 + ReturnStatement 2873800 2873942 + BinaryExpression 2873824 2873941 + Identifier 2873824 2873835 + AmpersandAmpersandToken 2873835 2873838 + CallExpression 2873838 2873941 + Identifier 2873838 2873856 + Identifier 2873857 2873867 + CallExpression 2873868 2873940 + Identifier 2873868 2873893 + PropertyAccessExpression 2873894 2873939 + ParenthesizedExpression 2873894 2873934 + AsExpression 2873895 2873933 + Identifier 2873895 2873899 + UnionType 2873902 2873933 + TypeReference 2873902 2873916 + Identifier 2873902 2873916 + TypeReference 2873918 2873933 + Identifier 2873918 2873933 + Identifier 2873935 2873939 + CaseClause 2873942 2873989 + PropertyAccessExpression 2873962 2873988 + Identifier 2873962 2873973 + Identifier 2873974 2873988 + CaseClause 2873989 2874035 + PropertyAccessExpression 2874007 2874034 + Identifier 2874007 2874018 + Identifier 2874019 2874034 + CaseClause 2874035 2874088 + PropertyAccessExpression 2874053 2874087 + Identifier 2874053 2874064 + Identifier 2874065 2874087 + CaseClause 2874088 2874185 + PropertyAccessExpression 2874106 2874130 + Identifier 2874106 2874117 + Identifier 2874118 2874130 + ReturnStatement 2874131 2874185 + CallExpression 2874155 2874184 + Identifier 2874155 2874171 + PropertyAccessExpression 2874172 2874183 + Identifier 2874172 2874176 + Identifier 2874177 2874183 + CaseClause 2874185 2874352 + PropertyAccessExpression 2874203 2874225 + Identifier 2874203 2874214 + Identifier 2874215 2874225 + ReturnStatement 2874226 2874352 + ConditionalExpression 2874250 2874351 + CallExpression 2874250 2874280 + Identifier 2874250 2874274 + Identifier 2874275 2874279 + QuestionToken 2874280 2874282 + CallExpression 2874282 2874339 + Identifier 2874282 2874302 + PropertyAccessExpression 2874303 2874324 + PropertyAccessExpression 2874303 2874316 + Identifier 2874303 2874307 + Identifier 2874308 2874316 + Identifier 2874317 2874324 + Identifier 2874325 2874338 + ColonToken 2874339 2874341 + Identifier 2874341 2874351 + CaseClause 2874352 2874508 + PropertyAccessExpression 2874372 2874397 + Identifier 2874372 2874383 + Identifier 2874384 2874397 + ReturnStatement 2874398 2874508 + ConditionalExpression 2874422 2874507 + CallExpression 2874422 2874454 + Identifier 2874422 2874441 + PropertyAccessExpression 2874442 2874453 + Identifier 2874442 2874446 + Identifier 2874447 2874453 + QuestionToken 2874454 2874456 + CallExpression 2874456 2874495 + PropertyAccessExpression 2874456 2874475 + Identifier 2874456 2874462 + Identifier 2874463 2874475 + PropertyAccessExpression 2874476 2874494 + PropertyAccessExpression 2874476 2874487 + Identifier 2874476 2874480 + Identifier 2874481 2874487 + Identifier 2874488 2874494 + ColonToken 2874495 2874497 + Identifier 2874497 2874507 + CaseClause 2874508 2874554 + PropertyAccessExpression 2874528 2874553 + Identifier 2874528 2874539 + Identifier 2874540 2874553 + CaseClause 2874554 2874707 + PropertyAccessExpression 2874572 2874594 + Identifier 2874572 2874583 + Identifier 2874584 2874594 + ReturnStatement 2874595 2874707 + ConditionalExpression 2874619 2874706 + CallExpression 2874619 2874647 + Identifier 2874619 2874634 + PropertyAccessExpression 2874635 2874646 + Identifier 2874635 2874639 + Identifier 2874640 2874646 + QuestionToken 2874647 2874649 + PropertyAccessExpression 2874649 2874694 + CallExpression 2874649 2874687 + Identifier 2874649 2874674 + PropertyAccessExpression 2874675 2874686 + Identifier 2874675 2874679 + Identifier 2874680 2874686 + Identifier 2874688 2874694 + ColonToken 2874694 2874696 + Identifier 2874696 2874706 + CaseClause 2874707 2875110 + PropertyAccessExpression 2874725 2874754 + Identifier 2874725 2874736 + Identifier 2874737 2874754 + IfStatement 2874755 2875075 + CallExpression 2874777 2874808 + Identifier 2874777 2874795 + PropertyAccessExpression 2874796 2874807 + Identifier 2874796 2874800 + Identifier 2874801 2874807 + Block 2874809 2875075 + VariableStatement 2874811 2874885 + VariableDeclarationList 2874811 2874884 + VariableDeclaration 2874838 2874884 + Identifier 2874838 2874843 + CallExpression 2874845 2874884 + Identifier 2874845 2874865 + PropertyAccessExpression 2874866 2874883 + PropertyAccessExpression 2874866 2874877 + Identifier 2874866 2874870 + Identifier 2874871 2874877 + Identifier 2874878 2874883 + VariableStatement 2874885 2874982 + VariableDeclarationList 2874885 2874981 + VariableDeclaration 2874912 2874981 + Identifier 2874912 2874934 + CallExpression 2874936 2874981 + Identifier 2874936 2874975 + Identifier 2874976 2874980 + ReturnStatement 2874982 2875056 + BinaryExpression 2875010 2875055 + PropertyAccessExpression 2875010 2875040 + Identifier 2875010 2875032 + QuestionDotToken 2875032 2875034 + Identifier 2875034 2875040 + QuestionQuestionToken 2875040 2875043 + PropertyAccessExpression 2875043 2875055 + Identifier 2875043 2875048 + Identifier 2875049 2875055 + ReturnStatement 2875075 2875110 + Identifier 2875099 2875109 + CaseClause 2875110 2875221 + PropertyAccessExpression 2875128 2875152 + Identifier 2875128 2875139 + Identifier 2875140 2875152 + ReturnStatement 2875153 2875221 + PropertyAccessExpression 2875177 2875220 + CallExpression 2875177 2875213 + Identifier 2875177 2875193 + AsExpression 2875194 2875212 + Identifier 2875194 2875198 + TypeReference 2875201 2875212 + Identifier 2875201 2875212 + Identifier 2875214 2875220 + CaseClause 2875221 2875534 + PropertyAccessExpression 2875239 2875268 + Identifier 2875239 2875250 + Identifier 2875251 2875268 + IfStatement 2875269 2875534 + BinaryExpression 2875291 2875340 + CallExpression 2875291 2875309 + Identifier 2875291 2875303 + Identifier 2875304 2875308 + AmpersandAmpersandToken 2875309 2875312 + CallExpression 2875312 2875340 + Identifier 2875312 2875334 + Identifier 2875335 2875339 + Block 2875341 2875534 + VariableStatement 2875343 2875440 + VariableDeclarationList 2875343 2875439 + VariableDeclaration 2875370 2875439 + Identifier 2875370 2875377 + CallExpression 2875379 2875439 + Identifier 2875379 2875401 + AsExpression 2875402 2875438 + PropertyAccessExpression 2875402 2875413 + Identifier 2875402 2875406 + Identifier 2875407 2875413 + TypeReference 2875416 2875438 + Identifier 2875416 2875438 + ReturnStatement 2875440 2875515 + ConditionalExpression 2875468 2875514 + BinaryExpression 2875468 2875493 + Identifier 2875468 2875475 + EqualsEqualsEqualsToken 2875475 2875479 + Identifier 2875479 2875493 + QuestionToken 2875493 2875495 + Identifier 2875495 2875505 + ColonToken 2875505 2875507 + Identifier 2875507 2875514 + DefaultClause 2875534 2875627 + ReturnStatement 2875592 2875627 + Identifier 2875616 2875626 + FunctionDeclaration 2875645 2876280 + Identifier 2875661 2875685 + Parameter 2875686 2875696 + Identifier 2875686 2875690 + TypeReference 2875691 2875696 + Identifier 2875691 2875696 + UnionType 2875698 2875731 + TypeOperator 2875698 2875719 + ArrayType 2875707 2875719 + TypeReference 2875707 2875717 + Identifier 2875707 2875717 + UndefinedKeyword 2875721 2875731 + Block 2875731 2876280 + IfStatement 2875733 2876246 + BinaryExpression 2875747 2875837 + BinaryExpression 2875747 2875808 + CallExpression 2875747 2875765 + Identifier 2875747 2875759 + Identifier 2875760 2875764 + AmpersandAmpersandToken 2875765 2875768 + CallExpression 2875768 2875808 + Identifier 2875768 2875795 + PropertyAccessExpression 2875796 2875807 + Identifier 2875796 2875800 + Identifier 2875801 2875807 + AmpersandAmpersandToken 2875808 2875811 + BinaryExpression 2875811 2875837 + PropertyAccessExpression 2875811 2875828 + PropertyAccessExpression 2875811 2875823 + Identifier 2875811 2875816 + Identifier 2875817 2875823 + Identifier 2875824 2875828 + EqualsEqualsEqualsToken 2875828 2875832 + Identifier 2875832 2875837 + Block 2875838 2876246 + VariableStatement 2875840 2875907 + VariableDeclarationList 2875840 2875906 + VariableDeclaration 2875859 2875906 + Identifier 2875859 2875867 + CallExpression 2875869 2875906 + Identifier 2875869 2875900 + Identifier 2875901 2875905 + VariableStatement 2875907 2875984 + VariableDeclarationList 2875907 2875983 + VariableDeclaration 2875926 2875983 + Identifier 2875926 2875937 + CallExpression 2875939 2875983 + Identifier 2875939 2875959 + PropertyAccessExpression 2875960 2875982 + PropertyAccessExpression 2875960 2875971 + Identifier 2875960 2875964 + Identifier 2875965 2875971 + Identifier 2875972 2875982 + VariableStatement 2875984 2876102 + VariableDeclarationList 2875984 2876101 + VariableDeclaration 2876003 2876101 + Identifier 2876003 2876015 + ConditionalExpression 2876017 2876101 + BinaryExpression 2876017 2876052 + PropertyAccessExpression 2876017 2876034 + Identifier 2876017 2876028 + Identifier 2876029 2876034 + AmpersandToken 2876034 2876036 + PropertyAccessExpression 2876036 2876052 + Identifier 2876036 2876046 + Identifier 2876047 2876052 + QuestionToken 2876052 2876054 + PropertyAccessExpression 2876054 2876086 + ParenthesizedExpression 2876054 2876080 + AsExpression 2876056 2876079 + Identifier 2876056 2876066 + TypeReference 2876069 2876079 + Identifier 2876069 2876079 + Identifier 2876081 2876086 + ColonToken 2876086 2876088 + ArrayLiteralExpression 2876088 2876101 + Identifier 2876090 2876100 + ReturnStatement 2876102 2876235 + CallExpression 2876122 2876234 + Identifier 2876122 2876130 + Identifier 2876131 2876142 + ArrowFunction 2876143 2876233 + Parameter 2876143 2876145 + Identifier 2876143 2876145 + EqualsGreaterThanToken 2876145 2876148 + CallExpression 2876148 2876233 + Identifier 2876148 2876155 + CallExpression 2876156 2876178 + Identifier 2876156 2876175 + Identifier 2876176 2876177 + ArrowFunction 2876179 2876232 + Parameter 2876179 2876184 + Identifier 2876179 2876184 + EqualsGreaterThanToken 2876184 2876187 + CallExpression 2876187 2876232 + Identifier 2876187 2876209 + Identifier 2876210 2876217 + PropertyAccessExpression 2876218 2876231 + Identifier 2876218 2876223 + Identifier 2876224 2876231 + ReturnStatement 2876246 2876273 + Identifier 2876262 2876272 + FunctionDeclaration 2876280 2876659 + Identifier 2876296 2876330 + Parameter 2876331 2876357 + Identifier 2876331 2876339 + UnionType 2876340 2876357 + TypeReference 2876340 2876345 + Identifier 2876340 2876345 + UndefinedKeyword 2876347 2876357 + UnionType 2876359 2876378 + TypeReference 2876359 2876366 + Identifier 2876359 2876366 + UndefinedKeyword 2876368 2876378 + Block 2876378 2876659 + IfStatement 2876380 2876625 + BinaryExpression 2876394 2876462 + Identifier 2876394 2876402 + AmpersandAmpersandToken 2876402 2876405 + BinaryExpression 2876405 2876462 + PropertyAccessExpression 2876405 2876419 + Identifier 2876405 2876414 + Identifier 2876415 2876419 + EqualsEqualsEqualsToken 2876419 2876423 + PropertyAccessExpression 2876423 2876462 + Identifier 2876423 2876434 + Identifier 2876435 2876462 + Block 2876463 2876625 + ReturnStatement 2876465 2876614 + CallExpression 2876485 2876613 + Identifier 2876485 2876503 + PropertyAccessExpression 2876504 2876550 + ParenthesizedExpression 2876504 2876545 + AsExpression 2876505 2876544 + Identifier 2876505 2876513 + TypeReference 2876516 2876544 + Identifier 2876516 2876544 + Identifier 2876546 2876550 + BinaryExpression 2876551 2876589 + PropertyAccessExpression 2876551 2876569 + Identifier 2876551 2876563 + Identifier 2876564 2876569 + BarToken 2876569 2876571 + PropertyAccessExpression 2876571 2876589 + Identifier 2876571 2876583 + Identifier 2876584 2876589 + TrueKeyword 2876590 2876612 + ReturnStatement 2876625 2876652 + Identifier 2876641 2876651 + FunctionDeclaration 2876659 2877538 + Identifier 2876755 2876791 + Parameter 2876792 2876826 + Identifier 2876792 2876796 + UnionType 2876797 2876826 + TypeReference 2876797 2876813 + Identifier 2876797 2876813 + TypeReference 2876815 2876826 + Identifier 2876815 2876826 + UnionType 2876828 2876847 + TypeReference 2876828 2876835 + Identifier 2876828 2876835 + UndefinedKeyword 2876837 2876847 + Block 2876847 2877538 + IfStatement 2876849 2877531 + CallExpression 2876863 2876886 + Identifier 2876863 2876880 + Identifier 2876881 2876885 + Block 2876887 2877354 + VariableStatement 2876889 2876947 + VariableDeclarationList 2876889 2876946 + VariableDeclaration 2876908 2876946 + Identifier 2876908 2876913 + BinaryExpression 2876915 2876946 + PropertyAccessExpression 2876915 2876933 + Identifier 2876915 2876920 + Identifier 2876921 2876933 + BarBarToken 2876933 2876936 + PropertyAccessExpression 2876936 2876946 + Identifier 2876936 2876941 + Identifier 2876942 2876946 + ReturnStatement 2876947 2877343 + ConditionalExpression 2876967 2877342 + PropertyAccessExpression 2876967 2877002 + PropertyAccessExpression 2876967 2876986 + PropertyAccessExpression 2876967 2876979 + Identifier 2876967 2876972 + Identifier 2876973 2876979 + Identifier 2876980 2876986 + Identifier 2876987 2877002 + QuestionToken 2877002 2877004 + CallExpression 2877004 2877071 + Identifier 2877004 2877045 + PropertyAccessExpression 2877046 2877064 + PropertyAccessExpression 2877046 2877057 + Identifier 2877046 2877050 + Identifier 2877051 2877057 + Identifier 2877058 2877064 + Identifier 2877065 2877070 + ColonToken 2877071 2877073 + ConditionalExpression 2877073 2877342 + BinaryExpression 2877073 2877129 + PropertyAccessExpression 2877073 2877100 + Identifier 2877073 2877095 + Identifier 2877096 2877100 + EqualsEqualsEqualsToken 2877100 2877104 + PropertyAccessExpression 2877104 2877129 + Identifier 2877104 2877115 + Identifier 2877116 2877129 + QuestionToken 2877129 2877131 + Identifier 2877131 2877141 + ColonToken 2877141 2877143 + CallExpression 2877143 2877342 + Identifier 2877143 2877231 + Identifier 2877232 2877236 + BinaryExpression 2877237 2877318 + BinaryExpression 2877237 2877298 + BinaryExpression 2877237 2877274 + PropertyAccessExpression 2877237 2877255 + Identifier 2877237 2877249 + Identifier 2877250 2877255 + BarToken 2877255 2877257 + PropertyAccessExpression 2877257 2877274 + Identifier 2877257 2877269 + Identifier 2877270 2877274 + BarToken 2877274 2877276 + PropertyAccessExpression 2877276 2877298 + Identifier 2877276 2877288 + Identifier 2877289 2877298 + BarToken 2877298 2877300 + PropertyAccessExpression 2877300 2877318 + Identifier 2877300 2877312 + Identifier 2877313 2877318 + TrueKeyword 2877319 2877341 + Block 2877368 2877531 + ReturnStatement 2877370 2877520 + CallExpression 2877390 2877519 + Identifier 2877390 2877408 + Identifier 2877409 2877413 + BinaryExpression 2877414 2877495 + BinaryExpression 2877414 2877475 + BinaryExpression 2877414 2877451 + PropertyAccessExpression 2877414 2877432 + Identifier 2877414 2877426 + Identifier 2877427 2877432 + BarToken 2877432 2877434 + PropertyAccessExpression 2877434 2877451 + Identifier 2877434 2877446 + Identifier 2877447 2877451 + BarToken 2877451 2877453 + PropertyAccessExpression 2877453 2877475 + Identifier 2877453 2877465 + Identifier 2877466 2877475 + BarToken 2877475 2877477 + PropertyAccessExpression 2877477 2877495 + Identifier 2877477 2877489 + Identifier 2877490 2877495 + TrueKeyword 2877496 2877518 + FunctionDeclaration 2877538 2880910 + Identifier 2877554 2877568 + Parameter 2877569 2877579 + Identifier 2877569 2877573 + TypeReference 2877574 2877579 + Identifier 2877574 2877579 + TypeReference 2877581 2877586 + Identifier 2877581 2877586 + Block 2877586 2880910 + IfStatement 2877588 2877692 + BinaryExpression 2877602 2877647 + CallExpression 2877602 2877620 + Identifier 2877602 2877614 + Identifier 2877615 2877619 + AmpersandAmpersandToken 2877620 2877623 + PrefixUnaryExpression 2877623 2877647 + CallExpression 2877625 2877647 + Identifier 2877625 2877641 + Identifier 2877642 2877646 + Block 2877648 2877692 + ReturnStatement 2877650 2877681 + Identifier 2877670 2877680 + IfStatement 2877692 2877891 + BinaryExpression 2877708 2877746 + PropertyAccessExpression 2877708 2877718 + Identifier 2877708 2877712 + Identifier 2877713 2877718 + AmpersandToken 2877718 2877720 + PropertyAccessExpression 2877720 2877746 + Identifier 2877720 2877730 + Identifier 2877731 2877746 + Block 2877747 2877891 + ReturnStatement 2877749 2877880 + Identifier 2877869 2877879 + VariableStatement 2877891 2877989 + VariableDeclarationList 2877891 2877988 + VariableDeclaration 2877908 2877988 + Identifier 2877908 2877918 + CallExpression 2877920 2877988 + Identifier 2877920 2877982 + Identifier 2877983 2877987 + VariableStatement 2877989 2878105 + VariableDeclarationList 2877989 2878104 + VariableDeclaration 2878004 2878104 + Identifier 2878004 2878014 + BinaryExpression 2878016 2878104 + Identifier 2878016 2878026 + AmpersandAmpersandToken 2878026 2878029 + CallExpression 2878029 2878104 + Identifier 2878029 2878063 + CallExpression 2878064 2878103 + Identifier 2878064 2878086 + PropertyAccessExpression 2878087 2878102 + Identifier 2878087 2878096 + Identifier 2878097 2878102 + IfStatement 2878105 2878346 + CallExpression 2878119 2878141 + Identifier 2878119 2878135 + Identifier 2878136 2878140 + Block 2878142 2878346 + VariableStatement 2878144 2878221 + VariableDeclarationList 2878144 2878220 + VariableDeclaration 2878163 2878220 + Identifier 2878163 2878180 + CallExpression 2878182 2878220 + Identifier 2878182 2878202 + AsExpression 2878203 2878219 + Identifier 2878203 2878207 + TypeReference 2878210 2878219 + Identifier 2878210 2878219 + ReturnStatement 2878221 2878335 + ConditionalExpression 2878241 2878334 + Identifier 2878241 2878251 + QuestionToken 2878251 2878253 + CallExpression 2878253 2878315 + Identifier 2878253 2878277 + Identifier 2878278 2878294 + PropertyAccessExpression 2878295 2878314 + Identifier 2878295 2878305 + Identifier 2878306 2878314 + ColonToken 2878315 2878317 + Identifier 2878317 2878334 + IfStatement 2878346 2878466 + CallExpression 2878362 2878384 + Identifier 2878362 2878378 + Identifier 2878379 2878383 + Block 2878385 2878466 + ReturnStatement 2878387 2878455 + CallExpression 2878407 2878454 + Identifier 2878407 2878434 + AsExpression 2878435 2878453 + Identifier 2878435 2878439 + TypeReference 2878442 2878453 + Identifier 2878442 2878453 + IfStatement 2878466 2878885 + BinaryExpression 2878482 2878518 + Identifier 2878482 2878491 + AmpersandAmpersandToken 2878491 2878494 + PrefixUnaryExpression 2878494 2878518 + PropertyAccessExpression 2878496 2878518 + Identifier 2878496 2878505 + Identifier 2878506 2878518 + Block 2878519 2878885 + VariableStatement 2878521 2878776 + VariableDeclarationList 2878521 2878775 + VariableDeclaration 2878722 2878775 + Identifier 2878722 2878731 + CallExpression 2878733 2878775 + Identifier 2878733 2878750 + CallExpression 2878751 2878774 + Identifier 2878751 2878763 + Identifier 2878764 2878773 + ReturnStatement 2878776 2878874 + ConditionalExpression 2878796 2878873 + Identifier 2878796 2878805 + QuestionToken 2878805 2878807 + CallExpression 2878807 2878861 + Identifier 2878807 2878831 + Identifier 2878832 2878840 + PropertyAccessExpression 2878841 2878860 + Identifier 2878841 2878851 + Identifier 2878852 2878860 + ColonToken 2878861 2878863 + Identifier 2878863 2878873 + IfStatement 2878885 2879162 + CallExpression 2878901 2878924 + Identifier 2878901 2878918 + Identifier 2878919 2878923 + Block 2878925 2879162 + VariableStatement 2878927 2879098 + VariableDeclarationList 2878927 2879097 + VariableDeclaration 2879059 2879097 + Identifier 2879059 2879066 + CallExpression 2879068 2879097 + Identifier 2879068 2879091 + Identifier 2879092 2879096 + ReturnStatement 2879098 2879151 + CallExpression 2879118 2879150 + Identifier 2879118 2879142 + Identifier 2879143 2879149 + IfStatement 2879162 2879348 + CallExpression 2879178 2879205 + Identifier 2879178 2879199 + Identifier 2879200 2879204 + Block 2879206 2879348 + VariableStatement 2879208 2879263 + VariableDeclarationList 2879208 2879262 + VariableDeclaration 2879227 2879262 + Identifier 2879227 2879234 + CallExpression 2879236 2879262 + Identifier 2879236 2879256 + Identifier 2879257 2879261 + ReturnStatement 2879263 2879337 + ConditionalExpression 2879283 2879336 + Identifier 2879283 2879290 + QuestionToken 2879290 2879292 + CallExpression 2879292 2879324 + Identifier 2879292 2879316 + Identifier 2879317 2879323 + ColonToken 2879324 2879326 + Identifier 2879326 2879336 + IfStatement 2879348 2879521 + CallExpression 2879364 2879386 + Identifier 2879364 2879380 + Identifier 2879381 2879385 + Block 2879387 2879521 + ReturnStatement 2879389 2879510 + BinaryExpression 2879409 2879509 + CallExpression 2879409 2879496 + Identifier 2879409 2879443 + Identifier 2879444 2879448 + TrueKeyword 2879449 2879477 + PropertyAccessExpression 2879478 2879495 + Identifier 2879478 2879488 + Identifier 2879489 2879495 + BarBarToken 2879496 2879499 + Identifier 2879499 2879509 + IfStatement 2879521 2879807 + CallExpression 2879537 2879556 + Identifier 2879537 2879550 + Identifier 2879551 2879555 + Block 2879557 2879807 + VariableStatement 2879559 2879730 + VariableDeclarationList 2879559 2879729 + VariableDeclaration 2879691 2879729 + Identifier 2879691 2879698 + CallExpression 2879700 2879729 + Identifier 2879700 2879723 + Identifier 2879724 2879728 + ReturnStatement 2879730 2879796 + ConditionalExpression 2879750 2879795 + Identifier 2879750 2879757 + QuestionToken 2879757 2879759 + CallExpression 2879759 2879783 + Identifier 2879759 2879775 + Identifier 2879776 2879782 + ColonToken 2879783 2879785 + Identifier 2879785 2879795 + IfStatement 2879807 2880057 + CallExpression 2879823 2879866 + Identifier 2879823 2879860 + Identifier 2879861 2879865 + Block 2879867 2880057 + VariableStatement 2879869 2879924 + VariableDeclarationList 2879869 2879923 + VariableDeclaration 2879888 2879923 + Identifier 2879888 2879895 + CallExpression 2879897 2879923 + Identifier 2879897 2879917 + Identifier 2879918 2879922 + IfStatement 2879924 2880015 + Identifier 2879942 2879948 + Block 2879949 2880015 + ReturnStatement 2879951 2880000 + CallExpression 2879975 2879999 + Identifier 2879975 2879991 + Identifier 2879992 2879998 + ReturnStatement 2880015 2880046 + Identifier 2880035 2880045 + IfStatement 2880057 2880237 + CallExpression 2880073 2880095 + Identifier 2880073 2880089 + Identifier 2880090 2880094 + Block 2880096 2880237 + ReturnStatement 2880098 2880226 + BinaryExpression 2880118 2880225 + CallExpression 2880118 2880212 + Identifier 2880118 2880152 + PropertyAccessExpression 2880153 2880164 + Identifier 2880153 2880157 + Identifier 2880158 2880164 + TrueKeyword 2880165 2880193 + PropertyAccessExpression 2880194 2880211 + Identifier 2880194 2880204 + Identifier 2880205 2880211 + BarBarToken 2880212 2880215 + Identifier 2880215 2880225 + IfStatement 2880237 2880587 + CallExpression 2880253 2880312 + Identifier 2880253 2880292 + AsExpression 2880293 2880311 + Identifier 2880293 2880297 + TypeReference 2880300 2880311 + Identifier 2880300 2880311 + Block 2880313 2880587 + VariableStatement 2880315 2880370 + VariableDeclarationList 2880315 2880369 + VariableDeclaration 2880334 2880369 + Identifier 2880334 2880341 + CallExpression 2880343 2880369 + Identifier 2880343 2880363 + Identifier 2880364 2880368 + IfStatement 2880370 2880576 + Identifier 2880388 2880394 + Block 2880395 2880576 + VariableStatement 2880397 2880468 + VariableDeclarationList 2880397 2880467 + VariableDeclaration 2880420 2880467 + Identifier 2880420 2880433 + CallExpression 2880435 2880467 + Identifier 2880435 2880459 + Identifier 2880460 2880466 + ReturnStatement 2880468 2880561 + ConditionalExpression 2880492 2880560 + PrefixUnaryExpression 2880492 2880519 + CallExpression 2880494 2880519 + Identifier 2880494 2880505 + Identifier 2880506 2880518 + QuestionToken 2880519 2880521 + Identifier 2880521 2880534 + ColonToken 2880534 2880536 + CallExpression 2880536 2880560 + Identifier 2880536 2880552 + Identifier 2880553 2880559 + IfStatement 2880587 2880745 + BinaryExpression 2880603 2880672 + CallExpression 2880603 2880630 + Identifier 2880603 2880617 + PropertyAccessExpression 2880618 2880629 + Identifier 2880618 2880622 + Identifier 2880623 2880629 + AmpersandAmpersandToken 2880630 2880633 + BinaryExpression 2880633 2880672 + PropertyAccessExpression 2880633 2880658 + PropertyAccessExpression 2880633 2880645 + Identifier 2880633 2880638 + Identifier 2880639 2880645 + Identifier 2880646 2880658 + EqualsEqualsEqualsToken 2880658 2880662 + PropertyAccessExpression 2880662 2880672 + Identifier 2880662 2880667 + Identifier 2880668 2880672 + Block 2880673 2880745 + ReturnStatement 2880675 2880734 + CallExpression 2880695 2880733 + Identifier 2880695 2880720 + PropertyAccessExpression 2880721 2880732 + Identifier 2880721 2880725 + Identifier 2880726 2880732 + IfStatement 2880745 2880874 + CallExpression 2880761 2880785 + Identifier 2880761 2880779 + Identifier 2880780 2880784 + Block 2880786 2880874 + ReturnStatement 2880788 2880863 + CallExpression 2880808 2880862 + Identifier 2880808 2880838 + FalseKeyword 2880839 2880861 + ReturnStatement 2880874 2880903 + Identifier 2880892 2880902 + FunctionDeclaration 2880910 2883184 + Identifier 2881136 2881163 + Parameter 2881164 2881187 + Identifier 2881164 2881168 + TypeReference 2881169 2881187 + Identifier 2881169 2881187 + UnionType 2881189 2881206 + TypeReference 2881189 2881194 + Identifier 2881189 2881194 + UndefinedKeyword 2881196 2881206 + Block 2881206 2883184 + ExpressionStatement 2881208 2881332 + CallExpression 2881208 2881331 + PropertyAccessExpression 2881208 2881230 + Identifier 2881208 2881223 + Identifier 2881224 2881230 + BinaryExpression 2881231 2881330 + BinaryExpression 2881231 2881279 + PropertyAccessExpression 2881231 2881240 + Identifier 2881231 2881235 + Identifier 2881236 2881240 + EqualsEqualsEqualsToken 2881240 2881244 + PropertyAccessExpression 2881244 2881279 + Identifier 2881244 2881255 + Identifier 2881256 2881279 + BarBarToken 2881279 2881282 + BinaryExpression 2881282 2881330 + PropertyAccessExpression 2881282 2881292 + Identifier 2881282 2881287 + Identifier 2881288 2881292 + EqualsEqualsEqualsToken 2881292 2881296 + PropertyAccessExpression 2881296 2881330 + Identifier 2881296 2881307 + Identifier 2881308 2881330 + IfStatement 2881332 2881676 + BinaryExpression 2881441 2881487 + PropertyAccessExpression 2881441 2881457 + PropertyAccessExpression 2881441 2881452 + Identifier 2881441 2881445 + Identifier 2881446 2881452 + Identifier 2881453 2881457 + EqualsEqualsEqualsToken 2881457 2881461 + PropertyAccessExpression 2881461 2881487 + Identifier 2881461 2881472 + Identifier 2881473 2881487 + Block 2881488 2881676 + VariableStatement 2881490 2881582 + VariableDeclarationList 2881490 2881581 + VariableDeclaration 2881509 2881581 + Identifier 2881509 2881522 + CallExpression 2881524 2881581 + Identifier 2881524 2881550 + AsExpression 2881551 2881580 + PropertyAccessExpression 2881551 2881562 + Identifier 2881551 2881555 + Identifier 2881556 2881562 + TypeReference 2881565 2881580 + Identifier 2881565 2881580 + ReturnStatement 2881582 2881665 + CallExpression 2881602 2881664 + Identifier 2881602 2881631 + Identifier 2881632 2881636 + BinaryExpression 2881637 2881663 + Identifier 2881637 2881650 + BarBarToken 2881650 2881653 + Identifier 2881653 2881663 + IfStatement 2881676 2882025 + BinaryExpression 2881784 2881832 + PropertyAccessExpression 2881784 2881800 + PropertyAccessExpression 2881784 2881795 + Identifier 2881784 2881788 + Identifier 2881789 2881795 + Identifier 2881796 2881800 + EqualsEqualsEqualsToken 2881800 2881804 + PropertyAccessExpression 2881804 2881832 + Identifier 2881804 2881815 + Identifier 2881816 2881832 + Block 2881833 2882025 + VariableStatement 2881835 2881931 + VariableDeclarationList 2881835 2881930 + VariableDeclaration 2881854 2881930 + Identifier 2881854 2881867 + CallExpression 2881869 2881930 + Identifier 2881869 2881889 + PropertyAccessExpression 2881890 2881929 + ParenthesizedExpression 2881890 2881923 + AsExpression 2881891 2881922 + PropertyAccessExpression 2881891 2881902 + Identifier 2881891 2881895 + Identifier 2881896 2881902 + TypeReference 2881905 2881922 + Identifier 2881905 2881922 + Identifier 2881924 2881929 + ReturnStatement 2881931 2882014 + CallExpression 2881951 2882013 + Identifier 2881951 2881980 + Identifier 2881981 2881985 + BinaryExpression 2881986 2882012 + Identifier 2881986 2881999 + BarBarToken 2881999 2882002 + Identifier 2882002 2882012 + IfStatement 2882025 2882622 + BinaryExpression 2882188 2882238 + PropertyAccessExpression 2882188 2882204 + PropertyAccessExpression 2882188 2882199 + Identifier 2882188 2882192 + Identifier 2882193 2882199 + Identifier 2882200 2882204 + EqualsEqualsEqualsToken 2882204 2882208 + PropertyAccessExpression 2882208 2882238 + Identifier 2882208 2882219 + Identifier 2882220 2882238 + Block 2882239 2882622 + VariableStatement 2882241 2882320 + VariableDeclarationList 2882241 2882319 + VariableDeclaration 2882260 2882319 + Identifier 2882260 2882265 + CallExpression 2882267 2882319 + Identifier 2882267 2882272 + PropertyAccessExpression 2882273 2882291 + PropertyAccessExpression 2882273 2882284 + Identifier 2882273 2882277 + Identifier 2882278 2882284 + Identifier 2882285 2882291 + Identifier 2882292 2882318 + VariableStatement 2882320 2882414 + VariableDeclarationList 2882320 2882413 + VariableDeclaration 2882339 2882413 + Identifier 2882339 2882365 + BinaryExpression 2882367 2882413 + CallExpression 2882367 2882400 + Identifier 2882367 2882394 + Identifier 2882395 2882399 + BarBarToken 2882400 2882403 + Identifier 2882403 2882413 + VariableStatement 2882414 2882492 + VariableDeclarationList 2882414 2882491 + VariableDeclaration 2882433 2882491 + Identifier 2882433 2882447 + CallExpression 2882449 2882491 + Identifier 2882449 2882461 + PropertyAccessExpression 2882462 2882477 + Identifier 2882462 2882466 + Identifier 2882467 2882477 + PropertyAccessExpression 2882478 2882490 + Identifier 2882478 2882483 + Identifier 2882484 2882490 + ReturnStatement 2882492 2882611 + CallExpression 2882512 2882610 + Identifier 2882512 2882562 + Identifier 2882563 2882567 + Identifier 2882568 2882594 + Identifier 2882595 2882609 + VariableStatement 2882622 2882756 + VariableDeclarationList 2882622 2882755 + VariableDeclaration 2882704 2882755 + Identifier 2882704 2882709 + CallExpression 2882711 2882755 + Identifier 2882711 2882716 + PropertyAccessExpression 2882717 2882728 + Identifier 2882717 2882721 + Identifier 2882722 2882728 + Identifier 2882729 2882754 + VariableStatement 2882756 2882894 + VariableDeclarationList 2882756 2882893 + VariableDeclaration 2882826 2882893 + Identifier 2882826 2882845 + BinaryExpression 2882847 2882893 + CallExpression 2882847 2882880 + Identifier 2882847 2882874 + Identifier 2882875 2882879 + BarBarToken 2882880 2882883 + Identifier 2882883 2882893 + VariableStatement 2882894 2883044 + VariableDeclarationList 2882894 2883043 + VariableDeclaration 2882909 2883043 + Identifier 2882909 2882921 + BinaryExpression 2882923 2883043 + CallExpression 2882923 2883030 + Identifier 2882923 2882954 + PropertyAccessExpression 2882955 2882981 + Identifier 2882955 2882967 + Identifier 2882968 2882981 + Identifier 2882982 2883001 + Identifier 2883002 2883016 + PropertyAccessExpression 2883017 2883029 + Identifier 2883017 2883022 + Identifier 2883023 2883029 + BarBarToken 2883030 2883033 + Identifier 2883033 2883043 + ReturnStatement 2883044 2883177 + CallExpression 2883060 2883176 + Identifier 2883060 2883108 + Identifier 2883109 2883113 + Identifier 2883114 2883133 + CallExpression 2883134 2883162 + PropertyAccessExpression 2883134 2883156 + PropertyAccessExpression 2883134 2883148 + Identifier 2883134 2883139 + Identifier 2883140 2883148 + Identifier 2883149 2883156 + Identifier 2883157 2883161 + Identifier 2883163 2883175 + FunctionDeclaration 2883184 2883862 + Identifier 2883462 2883505 + Parameter 2883506 2883526 + Identifier 2883506 2883514 + TypeReference 2883515 2883526 + Identifier 2883515 2883526 + Block 2883527 2883862 + VariableStatement 2883529 2883754 + VariableDeclarationList 2883529 2883753 + VariableDeclaration 2883653 2883753 + Identifier 2883653 2883673 + CallExpression 2883675 2883753 + Identifier 2883675 2883702 + CallExpression 2883703 2883752 + Identifier 2883703 2883707 + PropertyAccessExpression 2883708 2883730 + PropertyAccessExpression 2883708 2883723 + Identifier 2883708 2883716 + Identifier 2883717 2883723 + Identifier 2883724 2883730 + Identifier 2883731 2883751 + ReturnStatement 2883754 2883855 + BinaryExpression 2883770 2883854 + Identifier 2883770 2883790 + AmpersandAmpersandToken 2883790 2883793 + CallExpression 2883793 2883854 + Identifier 2883793 2883811 + Identifier 2883812 2883831 + PropertyAccessExpression 2883832 2883853 + Identifier 2883832 2883841 + Identifier 2883842 2883853 + FunctionDeclaration 2883862 2884133 + Identifier 2883878 2883905 + Parameter 2883906 2883922 + Identifier 2883906 2883910 + TypeReference 2883911 2883922 + Identifier 2883911 2883922 + TypeReference 2883924 2883929 + Identifier 2883924 2883929 + Block 2883929 2884133 + IfStatement 2883931 2884054 + CallExpression 2883945 2883993 + Identifier 2883945 2883987 + Identifier 2883988 2883992 + Block 2883994 2884054 + ExpressionStatement 2883996 2884043 + BinaryExpression 2883996 2884042 + Identifier 2883996 2884014 + EqualsToken 2884014 2884016 + AsExpression 2884016 2884042 + PropertyAccessExpression 2884016 2884028 + Identifier 2884016 2884021 + Identifier 2884022 2884028 + TypeReference 2884031 2884042 + Identifier 2884031 2884042 + ReturnStatement 2884054 2884126 + CallExpression 2884070 2884125 + Identifier 2884070 2884098 + CallExpression 2884099 2884124 + Identifier 2884099 2884118 + Identifier 2884119 2884123 + FunctionDeclaration 2884133 2884542 + Identifier 2884297 2884325 + Parameter 2884326 2884344 + Identifier 2884326 2884330 + TypeReference 2884331 2884344 + Identifier 2884331 2884344 + Block 2884345 2884542 + VariableStatement 2884347 2884407 + VariableDeclarationList 2884347 2884406 + VariableDeclaration 2884362 2884406 + Identifier 2884362 2884374 + NonNullExpression 2884376 2884406 + CallExpression 2884376 2884405 + Identifier 2884376 2884392 + PropertyAccessExpression 2884393 2884404 + Identifier 2884393 2884397 + Identifier 2884398 2884404 + ReturnStatement 2884407 2884535 + ConditionalExpression 2884423 2884534 + CallExpression 2884423 2884438 + Identifier 2884423 2884432 + Identifier 2884433 2884437 + QuestionToken 2884438 2884453 + CallExpression 2884453 2884482 + Identifier 2884453 2884469 + Identifier 2884470 2884481 + ColonToken 2884482 2884497 + CallExpression 2884497 2884534 + Identifier 2884497 2884521 + Identifier 2884522 2884533 + FunctionDeclaration 2884542 2885258 + Identifier 2884558 2884589 + Parameter 2884590 2884611 + Identifier 2884590 2884597 + TypeReference 2884598 2884611 + Identifier 2884598 2884611 + Block 2884612 2885258 + VariableStatement 2884614 2884651 + VariableDeclarationList 2884614 2884650 + VariableDeclaration 2884629 2884650 + Identifier 2884629 2884634 + NonNullExpression 2884636 2884650 + PropertyAccessExpression 2884636 2884649 + Identifier 2884636 2884644 + Identifier 2884645 2884649 + SwitchStatement 2884651 2885251 + PropertyAccessExpression 2884669 2884678 + Identifier 2884669 2884673 + Identifier 2884674 2884678 + CaseBlock 2884679 2885251 + CaseClause 2884681 2884782 + PropertyAccessExpression 2884699 2884721 + Identifier 2884699 2884710 + Identifier 2884711 2884721 + ReturnStatement 2884722 2884782 + CallExpression 2884746 2884781 + Identifier 2884746 2884767 + CallExpression 2884768 2884780 + Identifier 2884768 2884774 + Identifier 2884775 2884779 + CaseClause 2884782 2884827 + PropertyAccessExpression 2884800 2884826 + Identifier 2884800 2884811 + Identifier 2884812 2884826 + CaseClause 2884827 2884928 + PropertyAccessExpression 2884845 2884870 + Identifier 2884845 2884856 + Identifier 2884857 2884870 + ReturnStatement 2884871 2884928 + CallExpression 2884895 2884927 + Identifier 2884895 2884916 + PropertyAccessExpression 2884917 2884926 + Identifier 2884917 2884921 + Identifier 2884922 2884926 + CaseClause 2884928 2885152 + PropertyAccessExpression 2884946 2884978 + Identifier 2884946 2884957 + Identifier 2884958 2884978 + VariableStatement 2884979 2885046 + VariableDeclarationList 2884979 2885045 + VariableDeclaration 2885002 2885045 + Identifier 2885002 2885011 + CallExpression 2885013 2885045 + Identifier 2885013 2885039 + Identifier 2885040 2885044 + ReturnStatement 2885046 2885152 + ConditionalExpression 2885070 2885151 + CallExpression 2885070 2885127 + Identifier 2885070 2885093 + Identifier 2885094 2885102 + PropertyAccessExpression 2885103 2885126 + Identifier 2885103 2885113 + Identifier 2885114 2885126 + QuestionToken 2885127 2885129 + Identifier 2885129 2885138 + ColonToken 2885138 2885140 + Identifier 2885140 2885151 + DefaultClause 2885152 2885240 + ReturnStatement 2885174 2885240 + CallExpression 2885198 2885239 + PropertyAccessExpression 2885198 2885209 + Identifier 2885198 2885204 + Identifier 2885205 2885209 + StringLiteral 2885210 2885238 + FunctionDeclaration 2885258 2886134 + Identifier 2885424 2885453 + Parameter 2885454 2885464 + Identifier 2885454 2885458 + TypeReference 2885459 2885464 + Identifier 2885459 2885464 + ArrayType 2885466 2885475 + TypeReference 2885466 2885473 + Identifier 2885466 2885473 + Block 2885475 2886134 + ExpressionStatement 2885477 2885516 + BinaryExpression 2885477 2885515 + Identifier 2885477 2885491 + EqualsToken 2885491 2885493 + CallExpression 2885493 2885515 + Identifier 2885493 2885509 + Identifier 2885510 2885514 + VariableStatement 2885516 2885591 + VariableDeclarationList 2885516 2885590 + VariableDeclaration 2885531 2885590 + Identifier 2885531 2885543 + CallExpression 2885545 2885590 + Identifier 2885545 2885563 + CallExpression 2885564 2885589 + Identifier 2885564 2885583 + Identifier 2885584 2885588 + VariableStatement 2885591 2885830 + VariableDeclarationList 2885591 2885829 + VariableDeclaration 2885606 2885829 + Identifier 2885606 2885619 + ConditionalExpression 2885621 2885829 + PropertyAccessExpression 2885621 2885674 + CallExpression 2885621 2885667 + Identifier 2885621 2885641 + Identifier 2885642 2885646 + PropertyAccessExpression 2885647 2885666 + Identifier 2885647 2885661 + Identifier 2885662 2885666 + Identifier 2885668 2885674 + QuestionToken 2885674 2885676 + Identifier 2885676 2885703 + ColonToken 2885703 2885705 + ConditionalExpression 2885705 2885829 + PropertyAccessExpression 2885705 2885776 + CallExpression 2885705 2885769 + Identifier 2885705 2885738 + Identifier 2885739 2885743 + PropertyAccessExpression 2885744 2885768 + Identifier 2885744 2885758 + Identifier 2885759 2885768 + Identifier 2885770 2885776 + QuestionToken 2885776 2885778 + Identifier 2885778 2885804 + ColonToken 2885804 2885806 + Identifier 2885806 2885829 + IfStatement 2885830 2886081 + Identifier 2885844 2885856 + Block 2885857 2886081 + ExpressionStatement 2885859 2886070 + CallExpression 2885859 2886069 + Identifier 2885859 2885880 + CallExpression 2885881 2885914 + Identifier 2885881 2885900 + Identifier 2885901 2885913 + ArrowFunction 2885915 2886068 + Parameter 2885915 2885917 + Identifier 2885915 2885917 + EqualsGreaterThanToken 2885917 2885920 + Block 2885920 2886068 + IfStatement 2885922 2886053 + PrefixUnaryExpression 2885944 2885975 + CallExpression 2885945 2885975 + PropertyAccessExpression 2885945 2885960 + Identifier 2885945 2885956 + Identifier 2885957 2885960 + PropertyAccessExpression 2885961 2885974 + Identifier 2885961 2885962 + Identifier 2885963 2885974 + Block 2885976 2886053 + ExpressionStatement 2885978 2886034 + CallExpression 2885978 2886033 + PropertyAccessExpression 2885978 2886015 + Identifier 2885978 2886011 + Identifier 2886012 2886015 + PropertyAccessExpression 2886016 2886029 + Identifier 2886016 2886017 + Identifier 2886018 2886029 + Identifier 2886030 2886032 + ReturnStatement 2886081 2886127 + CallExpression 2886097 2886126 + Identifier 2886097 2886113 + Identifier 2886114 2886125 + FunctionDeclaration 2886134 2886356 + Identifier 2886150 2886183 + Parameter 2886184 2886194 + Identifier 2886184 2886188 + TypeReference 2886189 2886194 + Identifier 2886189 2886194 + BooleanKeyword 2886196 2886204 + Block 2886204 2886356 + ReturnStatement 2886206 2886349 + BinaryExpression 2886222 2886348 + BinaryExpression 2886222 2886281 + PropertyAccessExpression 2886222 2886275 + CallExpression 2886222 2886268 + Identifier 2886222 2886242 + Identifier 2886243 2886247 + PropertyAccessExpression 2886248 2886267 + Identifier 2886248 2886262 + Identifier 2886263 2886267 + Identifier 2886269 2886275 + ExclamationEqualsEqualsToken 2886275 2886279 + NumericLiteral 2886279 2886281 + BarBarToken 2886281 2886284 + BinaryExpression 2886284 2886348 + PropertyAccessExpression 2886284 2886342 + CallExpression 2886284 2886335 + Identifier 2886284 2886304 + Identifier 2886305 2886309 + PropertyAccessExpression 2886310 2886334 + Identifier 2886310 2886324 + Identifier 2886325 2886334 + Identifier 2886336 2886342 + ExclamationEqualsEqualsToken 2886342 2886346 + NumericLiteral 2886346 2886348 + FunctionDeclaration 2886356 2886554 + Identifier 2886372 2886387 + Parameter 2886388 2886402 + Identifier 2886388 2886394 + TypeReference 2886395 2886402 + Identifier 2886395 2886402 + TypeOperator 2886404 2886422 + ArrayType 2886413 2886422 + TypeReference 2886413 2886420 + Identifier 2886413 2886420 + Block 2886422 2886554 + VariableStatement 2886424 2886480 + VariableDeclarationList 2886424 2886479 + VariableDeclaration 2886439 2886479 + Identifier 2886439 2886445 + CallExpression 2886447 2886479 + Identifier 2886447 2886471 + Identifier 2886472 2886478 + ReturnStatement 2886480 2886547 + ConditionalExpression 2886496 2886546 + Identifier 2886496 2886502 + QuestionToken 2886502 2886504 + CallExpression 2886504 2886535 + Identifier 2886504 2886512 + Identifier 2886513 2886518 + Identifier 2886519 2886534 + ColonToken 2886535 2886537 + ArrayLiteralExpression 2886537 2886546 + Identifier 2886539 2886545 + FunctionDeclaration 2886554 2887227 + Identifier 2886568 2886592 + Parameter 2886593 2886607 + Identifier 2886593 2886599 + TypeReference 2886600 2886607 + Identifier 2886600 2886607 + UnionType 2886609 2886639 + TypeOperator 2886609 2886627 + ArrayType 2886618 2886627 + TypeReference 2886618 2886625 + Identifier 2886618 2886625 + UndefinedKeyword 2886629 2886639 + Block 2886639 2887227 + IfStatement 2886641 2887193 + BinaryExpression 2886655 2886699 + CallExpression 2886655 2886676 + Identifier 2886655 2886668 + Identifier 2886669 2886675 + AmpersandToken 2886676 2886678 + PropertyAccessExpression 2886678 2886699 + Identifier 2886678 2886689 + Identifier 2886690 2886699 + Block 2886700 2886844 + ReturnStatement 2886702 2886833 + CallExpression 2886722 2886832 + Identifier 2886722 2886733 + PropertyAccessExpression 2886734 2886778 + NonNullExpression 2886734 2886772 + PropertyAccessExpression 2886734 2886771 + CallExpression 2886734 2886756 + Identifier 2886734 2886748 + Identifier 2886749 2886755 + Identifier 2886757 2886771 + Identifier 2886773 2886778 + ArrowFunction 2886779 2886831 + Parameter 2886779 2886784 + Identifier 2886779 2886784 + EqualsGreaterThanToken 2886784 2886787 + CallExpression 2886787 2886831 + Identifier 2886787 2886805 + Identifier 2886806 2886810 + PropertyAccessExpression 2886811 2886830 + Identifier 2886811 2886818 + Identifier 2886819 2886830 + IfStatement 2886858 2887193 + BinaryExpression 2886863 2886899 + PropertyAccessExpression 2886863 2886875 + Identifier 2886863 2886869 + Identifier 2886870 2886875 + AmpersandToken 2886875 2886877 + PropertyAccessExpression 2886877 2886899 + Identifier 2886877 2886889 + Identifier 2886890 2886899 + Block 2886900 2887193 + VariableStatement 2886902 2887006 + VariableDeclarationList 2886902 2887005 + VariableDeclaration 2886921 2887005 + ObjectBindingPattern 2886921 2886977 + BindingElement 2886923 2886975 + Identifier 2886923 2886929 + ObjectBindingPattern 2886930 2886975 + BindingElement 2886932 2886943 + Identifier 2886932 2886943 + BindingElement 2886944 2886956 + Identifier 2886944 2886956 + BindingElement 2886957 2886973 + Identifier 2886957 2886973 + AsExpression 2886979 2887005 + Identifier 2886979 2886986 + TypeReference 2886989 2887005 + Identifier 2886989 2887005 + ReturnStatement 2887006 2887182 + ConditionalExpression 2887026 2887181 + Identifier 2887026 2887037 + QuestionToken 2887037 2887039 + ArrayLiteralExpression 2887039 2887066 + Identifier 2887041 2887051 + NonNullExpression 2887052 2887065 + Identifier 2887052 2887064 + ColonToken 2887066 2887085 + ConditionalExpression 2887085 2887181 + Identifier 2887085 2887101 + QuestionToken 2887101 2887103 + ArrayLiteralExpression 2887103 2887121 + Identifier 2887105 2887120 + ColonToken 2887121 2887140 + CallExpression 2887140 2887181 + Identifier 2887140 2887159 + CallExpression 2887160 2887180 + Identifier 2887160 2887172 + Identifier 2887173 2887179 + ReturnStatement 2887193 2887220 + Identifier 2887209 2887219 + FunctionDeclaration 2887227 2887505 + Identifier 2887241 2887254 + Parameter 2887255 2887269 + Identifier 2887255 2887261 + TypeReference 2887262 2887269 + Identifier 2887262 2887269 + UnionType 2887271 2887290 + TypeReference 2887271 2887278 + Identifier 2887271 2887278 + UndefinedKeyword 2887280 2887290 + Block 2887290 2887505 + VariableStatement 2887292 2887333 + VariableDeclarationList 2887292 2887332 + VariableDeclaration 2887305 2887332 + Identifier 2887305 2887312 + UnionType 2887313 2887332 + TypeReference 2887313 2887320 + Identifier 2887313 2887320 + UndefinedKeyword 2887322 2887332 + VariableStatement 2887333 2887381 + VariableDeclarationList 2887333 2887380 + VariableDeclaration 2887346 2887380 + Identifier 2887346 2887351 + UnionType 2887352 2887371 + TypeReference 2887352 2887359 + Identifier 2887352 2887359 + UndefinedKeyword 2887361 2887371 + Identifier 2887373 2887380 + WhileStatement 2887381 2887474 + BinaryExpression 2887398 2887432 + Identifier 2887398 2887402 + EqualsToken 2887402 2887404 + PropertyAccessExpression 2887404 2887432 + CallExpression 2887404 2887425 + Identifier 2887404 2887419 + Identifier 2887420 2887424 + Identifier 2887426 2887432 + Block 2887433 2887474 + ExpressionStatement 2887435 2887463 + BinaryExpression 2887435 2887462 + Identifier 2887435 2887455 + EqualsToken 2887455 2887457 + Identifier 2887457 2887462 + ReturnStatement 2887474 2887498 + Identifier 2887490 2887497 + FunctionDeclaration 2887505 2888165 + Identifier 2887547 2887571 + Parameter 2887572 2887590 + Identifier 2887572 2887578 + TypeReference 2887579 2887590 + Identifier 2887579 2887590 + BooleanKeyword 2887592 2887600 + Block 2887600 2888165 + IfStatement 2887602 2887750 + CallExpression 2887706 2887735 + Identifier 2887706 2887727 + Identifier 2887728 2887734 + ReturnStatement 2887736 2887750 + FalseKeyword 2887743 2887749 + VariableStatement 2887750 2887812 + VariableDeclarationList 2887750 2887811 + VariableDeclaration 2887765 2887811 + Identifier 2887765 2887770 + CallExpression 2887772 2887811 + Identifier 2887772 2887789 + Identifier 2887790 2887796 + Identifier 2887797 2887810 + IfStatement 2887812 2887846 + PrefixUnaryExpression 2887826 2887831 + Identifier 2887827 2887831 + ReturnStatement 2887832 2887846 + FalseKeyword 2887839 2887845 + VariableStatement 2887846 2887883 + VariableDeclarationList 2887846 2887882 + VariableDeclaration 2887861 2887882 + Identifier 2887861 2887868 + PropertyAccessExpression 2887870 2887882 + Identifier 2887870 2887875 + Identifier 2887876 2887882 + IfStatement 2887883 2887919 + PrefixUnaryExpression 2887897 2887904 + Identifier 2887898 2887904 + ReturnStatement 2887905 2887919 + FalseKeyword 2887912 2887918 + VariableStatement 2887919 2888071 + VariableDeclarationList 2887919 2888070 + VariableDeclaration 2887934 2888070 + Identifier 2887934 2887949 + BinaryExpression 2887951 2888070 + ParenthesizedExpression 2887951 2888033 + BinaryExpression 2887953 2888032 + CallExpression 2887953 2887987 + Identifier 2887953 2887979 + Identifier 2887980 2887986 + BarBarToken 2887987 2888003 + CallExpression 2888003 2888032 + Identifier 2888003 2888024 + Identifier 2888025 2888031 + AmpersandAmpersandToken 2888033 2888049 + BinaryExpression 2888049 2888070 + PropertyAccessExpression 2888049 2888061 + Identifier 2888049 2888056 + Identifier 2888057 2888061 + EqualsEqualsEqualsToken 2888061 2888065 + Identifier 2888065 2888070 + ReturnStatement 2888071 2888158 + BinaryExpression 2888087 2888157 + PrefixUnaryExpression 2888087 2888103 + Identifier 2888089 2888103 + AmpersandAmpersandToken 2888103 2888106 + BinaryExpression 2888106 2888157 + CallExpression 2888106 2888137 + Identifier 2888106 2888131 + Identifier 2888132 2888136 + EqualsEqualsEqualsToken 2888137 2888141 + Identifier 2888141 2888157 + FunctionDeclaration 2888165 2888325 + Identifier 2888181 2888213 + Parameter 2888214 2888230 + Identifier 2888214 2888218 + TypeReference 2888219 2888230 + Identifier 2888219 2888230 + Block 2888231 2888325 + ReturnStatement 2888233 2888318 + BinaryExpression 2888249 2888317 + CallExpression 2888249 2888288 + Identifier 2888249 2888275 + PropertyAccessExpression 2888276 2888287 + Identifier 2888276 2888280 + Identifier 2888281 2888287 + AmpersandAmpersandToken 2888288 2888291 + BinaryExpression 2888291 2888317 + Identifier 2888291 2888296 + EqualsEqualsEqualsToken 2888296 2888300 + PropertyAccessExpression 2888300 2888317 + PropertyAccessExpression 2888300 2888312 + Identifier 2888300 2888305 + Identifier 2888306 2888312 + Identifier 2888313 2888317 + FunctionDeclaration 2888325 2890913 + Identifier 2888542 2888571 + Parameter 2888572 2888590 + Identifier 2888572 2888578 + TypeReference 2888579 2888590 + Identifier 2888579 2888590 + Parameter 2888591 2888614 + Identifier 2888591 2888604 + QuestionToken 2888604 2888605 + BooleanKeyword 2888606 2888614 + UnionType 2888616 2888677 + TypeReference 2888616 2888627 + Identifier 2888616 2888627 + TypeReference 2888629 2888647 + Identifier 2888629 2888647 + TypeReference 2888649 2888665 + Identifier 2888649 2888665 + UndefinedKeyword 2888667 2888677 + Block 2888677 2890913 + VariableStatement 2888679 2888741 + VariableDeclarationList 2888679 2888740 + VariableDeclaration 2888694 2888740 + Identifier 2888694 2888699 + CallExpression 2888701 2888740 + Identifier 2888701 2888718 + Identifier 2888719 2888725 + Identifier 2888726 2888739 + IfStatement 2888741 2890906 + Identifier 2888755 2888759 + Block 2888760 2890906 + VariableStatement 2888762 2889231 + VariableDeclarationList 2888762 2889230 + VariableDeclaration 2889119 2889230 + Identifier 2889119 2889126 + CallExpression 2889128 2889230 + Identifier 2889128 2889153 + Identifier 2889154 2889158 + CallExpression 2889159 2889229 + Identifier 2889159 2889223 + Identifier 2889224 2889228 + IfStatement 2889231 2890895 + Identifier 2889249 2889255 + Block 2889256 2890895 + IfStatement 2889258 2889945 + BinaryExpression 2889280 2889318 + PropertyAccessExpression 2889280 2889292 + Identifier 2889280 2889286 + Identifier 2889287 2889292 + AmpersandToken 2889292 2889294 + PropertyAccessExpression 2889294 2889318 + Identifier 2889294 2889306 + Identifier 2889307 2889318 + Block 2889319 2889945 + VariableStatement 2889321 2889675 + VariableDeclarationList 2889321 2889674 + VariableDeclaration 2889621 2889674 + Identifier 2889621 2889634 + CallExpression 2889636 2889674 + Identifier 2889636 2889652 + NonNullExpression 2889653 2889673 + PropertyAccessExpression 2889653 2889672 + Identifier 2889653 2889659 + Identifier 2889660 2889672 + IfStatement 2889675 2889882 + BinaryExpression 2889701 2889813 + BinaryExpression 2889701 2889765 + PrefixUnaryExpression 2889701 2889714 + Identifier 2889702 2889714 + AmpersandAmpersandToken 2889714 2889717 + BinaryExpression 2889717 2889765 + PropertyAccessExpression 2889717 2889736 + Identifier 2889717 2889730 + Identifier 2889731 2889736 + AmpersandToken 2889736 2889738 + PropertyAccessExpression 2889738 2889765 + Identifier 2889738 2889750 + Identifier 2889751 2889765 + AmpersandAmpersandToken 2889765 2889768 + PrefixUnaryExpression 2889768 2889813 + ParenthesizedExpression 2889770 2889813 + BinaryExpression 2889771 2889812 + PropertyAccessExpression 2889771 2889789 + Identifier 2889771 2889783 + Identifier 2889784 2889789 + AmpersandToken 2889789 2889791 + PropertyAccessExpression 2889791 2889812 + Identifier 2889791 2889803 + Identifier 2889804 2889812 + Block 2889814 2889882 + ReturnStatement 2889816 2889859 + Identifier 2889848 2889858 + ExpressionStatement 2889882 2889926 + BinaryExpression 2889882 2889925 + Identifier 2889882 2889910 + EqualsToken 2889910 2889912 + Identifier 2889912 2889925 + VariableStatement 2889945 2890010 + VariableDeclarationList 2889945 2890009 + VariableDeclaration 2889968 2890009 + Identifier 2889968 2889981 + CallExpression 2889983 2890009 + Identifier 2889983 2890001 + Identifier 2890002 2890008 + IfStatement 2890010 2890880 + Identifier 2890032 2890044 + Block 2890045 2890880 + IfStatement 2890047 2890681 + BinaryExpression 2890073 2890182 + BinaryExpression 2890073 2890117 + PropertyAccessExpression 2890073 2890091 + Identifier 2890073 2890085 + Identifier 2890086 2890091 + AmpersandToken 2890091 2890093 + PropertyAccessExpression 2890093 2890117 + Identifier 2890093 2890105 + Identifier 2890106 2890117 + AmpersandAmpersandToken 2890117 2890120 + BinaryExpression 2890120 2890182 + PropertyAccessExpression 2890120 2890156 + PropertyAccessExpression 2890120 2890150 + Identifier 2890120 2890133 + Identifier 2890134 2890150 + QuestionDotToken 2890150 2890152 + Identifier 2890152 2890156 + EqualsEqualsEqualsToken 2890156 2890160 + PropertyAccessExpression 2890160 2890182 + Identifier 2890160 2890171 + Identifier 2890172 2890182 + Block 2890183 2890681 + VariableStatement 2890185 2890274 + VariableDeclarationList 2890185 2890273 + VariableDeclaration 2890216 2890273 + Identifier 2890216 2890227 + AsExpression 2890229 2890273 + PropertyAccessExpression 2890229 2890259 + Identifier 2890229 2890242 + Identifier 2890243 2890259 + TypeReference 2890262 2890273 + Identifier 2890262 2890273 + VariableStatement 2890274 2890348 + VariableDeclarationList 2890274 2890347 + VariableDeclaration 2890305 2890347 + Identifier 2890305 2890319 + CallExpression 2890321 2890347 + Identifier 2890321 2890341 + Identifier 2890342 2890346 + VariableStatement 2890348 2890582 + VariableDeclarationList 2890348 2890581 + VariableDeclaration 2890532 2890581 + Identifier 2890532 2890550 + BinaryExpression 2890552 2890581 + Identifier 2890552 2890563 + ExclamationEqualsEqualsToken 2890563 2890567 + Identifier 2890567 2890581 + ReturnStatement 2890582 2890658 + ConditionalExpression 2890614 2890657 + Identifier 2890614 2890632 + QuestionToken 2890632 2890634 + Identifier 2890634 2890644 + ColonToken 2890644 2890646 + Identifier 2890646 2890657 + ReturnStatement 2890681 2890861 + CallExpression 2890709 2890860 + Identifier 2890709 2890722 + PropertyAccessExpression 2890723 2890734 + Identifier 2890723 2890727 + Identifier 2890728 2890734 + ArrowFunction 2890735 2890859 + Parameter 2890737 2890738 + Identifier 2890737 2890738 + TypePredicate 2890740 2890781 + Identifier 2890740 2890742 + UnionType 2890745 2890781 + TypeReference 2890745 2890763 + Identifier 2890745 2890763 + TypeReference 2890765 2890781 + Identifier 2890765 2890781 + EqualsGreaterThanToken 2890781 2890784 + BinaryExpression 2890784 2890859 + CallExpression 2890784 2890813 + Identifier 2890784 2890810 + Identifier 2890811 2890812 + AmpersandAmpersandToken 2890813 2890816 + BinaryExpression 2890816 2890859 + CallExpression 2890816 2890842 + Identifier 2890816 2890839 + Identifier 2890840 2890841 + EqualsEqualsEqualsToken 2890842 2890846 + Identifier 2890846 2890859 + FunctionDeclaration 2890913 2891861 + Identifier 2891096 2891127 + Parameter 2891128 2891146 + Identifier 2891128 2891134 + TypeReference 2891135 2891146 + Identifier 2891135 2891146 + UnionType 2891148 2891172 + TypeReference 2891148 2891160 + Identifier 2891148 2891160 + UndefinedKeyword 2891162 2891172 + Block 2891172 2891861 + VariableStatement 2891174 2891248 + VariableDeclarationList 2891174 2891247 + VariableDeclaration 2891189 2891247 + Identifier 2891189 2891199 + CallExpression 2891201 2891247 + Identifier 2891201 2891239 + Identifier 2891240 2891246 + IfStatement 2891248 2891316 + Identifier 2891262 2891271 + Block 2891272 2891316 + ReturnStatement 2891274 2891305 + Identifier 2891294 2891304 + VariableStatement 2891316 2891378 + VariableDeclarationList 2891316 2891377 + VariableDeclaration 2891331 2891377 + Identifier 2891331 2891336 + CallExpression 2891338 2891377 + Identifier 2891338 2891355 + Identifier 2891356 2891362 + Identifier 2891363 2891376 + IfStatement 2891378 2891825 + Identifier 2891392 2891396 + Block 2891397 2891825 + VariableStatement 2891399 2891466 + VariableDeclarationList 2891399 2891465 + VariableDeclaration 2891418 2891465 + Identifier 2891418 2891425 + CallExpression 2891427 2891465 + Identifier 2891427 2891459 + Identifier 2891460 2891464 + IfStatement 2891466 2891814 + BinaryExpression 2891621 2891735 + CallExpression 2891621 2891676 + Identifier 2891621 2891636 + Identifier 2891637 2891643 + PropertyAccessExpression 2891644 2891675 + Identifier 2891644 2891669 + Identifier 2891670 2891675 + AmpersandAmpersandToken 2891676 2891679 + PrefixUnaryExpression 2891679 2891735 + CallExpression 2891681 2891735 + Identifier 2891681 2891708 + Identifier 2891709 2891715 + PropertyAccessExpression 2891716 2891734 + Identifier 2891716 2891728 + Identifier 2891729 2891734 + Block 2891736 2891814 + ReturnStatement 2891738 2891799 + CallExpression 2891762 2891798 + Identifier 2891762 2891790 + Identifier 2891791 2891797 + ReturnStatement 2891825 2891854 + Identifier 2891843 2891853 + FunctionDeclaration 2891861 2892158 + Identifier 2891877 2891921 + Parameter 2891922 2891936 + Identifier 2891922 2891928 + TypeReference 2891929 2891936 + Identifier 2891929 2891936 + Block 2891937 2892158 + ReturnStatement 2891939 2892151 + BinaryExpression 2891955 2892150 + BinaryExpression 2891955 2892037 + PropertyAccessExpression 2891955 2891979 + Identifier 2891955 2891962 + Identifier 2891963 2891979 + AmpersandAmpersandToken 2891979 2891995 + CallExpression 2891995 2892037 + Identifier 2891995 2892012 + PropertyAccessExpression 2892013 2892036 + Identifier 2892013 2892019 + Identifier 2892020 2892036 + AmpersandAmpersandToken 2892037 2892053 + BinaryExpression 2892053 2892150 + PropertyAccessExpression 2892053 2892123 + PropertyAccessExpression 2892053 2892118 + CallExpression 2892053 2892111 + Identifier 2892053 2892086 + PropertyAccessExpression 2892087 2892110 + Identifier 2892087 2892093 + Identifier 2892094 2892110 + Identifier 2892112 2892118 + Identifier 2892119 2892123 + EqualsEqualsEqualsToken 2892123 2892127 + PropertyAccessExpression 2892127 2892150 + Identifier 2892127 2892138 + Identifier 2892139 2892150 + FunctionDeclaration 2892158 2895211 + Identifier 2892174 2892213 + Parameter 2892214 2892228 + Identifier 2892214 2892220 + TypeReference 2892221 2892228 + Identifier 2892221 2892228 + BooleanKeyword 2892230 2892238 + Block 2892238 2895211 + IfStatement 2892240 2895181 + BinaryExpression 2892254 2892361 + BinaryExpression 2892254 2892319 + BinaryExpression 2892254 2892292 + PropertyAccessExpression 2892254 2892266 + Identifier 2892254 2892260 + Identifier 2892261 2892266 + AmpersandToken 2892266 2892268 + PropertyAccessExpression 2892268 2892292 + Identifier 2892268 2892280 + Identifier 2892281 2892292 + AmpersandAmpersandToken 2892292 2892295 + PropertyAccessExpression 2892295 2892319 + Identifier 2892295 2892302 + Identifier 2892303 2892319 + AmpersandAmpersandToken 2892319 2892322 + PrefixUnaryExpression 2892322 2892361 + CallExpression 2892324 2892361 + Identifier 2892324 2892336 + PropertyAccessExpression 2892337 2892360 + Identifier 2892337 2892343 + Identifier 2892344 2892360 + Block 2892362 2895181 + VariableStatement 2892364 2892415 + VariableDeclarationList 2892364 2892414 + VariableDeclaration 2892383 2892414 + Identifier 2892383 2892389 + CallExpression 2892391 2892414 + Identifier 2892391 2892406 + Identifier 2892407 2892413 + IfStatement 2892415 2895111 + BinaryExpression 2892433 2892483 + PropertyAccessExpression 2892433 2892469 + Identifier 2892433 2892438 + Identifier 2892439 2892469 + EqualsEqualsEqualsToken 2892469 2892473 + Identifier 2892473 2892483 + Block 2892484 2895111 + VariableStatement 2892486 2892579 + VariableDeclarationList 2892486 2892578 + VariableDeclaration 2892509 2892578 + Identifier 2892509 2892519 + CallExpression 2892521 2892578 + Identifier 2892521 2892553 + PropertyAccessExpression 2892554 2892577 + Identifier 2892554 2892560 + Identifier 2892561 2892577 + IfStatement 2892579 2895096 + BinaryExpression 2892601 2892688 + CallExpression 2892601 2892633 + Identifier 2892601 2892622 + Identifier 2892623 2892632 + BarBarToken 2892633 2892636 + CallExpression 2892636 2892688 + Identifier 2892636 2892680 + Identifier 2892681 2892687 + Block 2892689 2895096 + IfStatement 2892691 2895077 + CallExpression 2892717 2892837 + Identifier 2892717 2892728 + PropertyAccessExpression 2892729 2892745 + Identifier 2892729 2892738 + Identifier 2892739 2892745 + PropertyAccessExpression 2892746 2892765 + Identifier 2892746 2892753 + Identifier 2892754 2892765 + PropertyAccessExpression 2892766 2892784 + Identifier 2892766 2892778 + Identifier 2892779 2892784 + Identifier 2892785 2892819 + FalseKeyword 2892820 2892836 + Block 2892838 2893002 + ExpressionStatement 2892840 2892979 + BinaryExpression 2892840 2892978 + PropertyAccessExpression 2892840 2892971 + Identifier 2892840 2892940 + Identifier 2892941 2892971 + EqualsToken 2892971 2892973 + TrueKeyword 2892973 2892978 + IfStatement 2893028 2895077 + CallExpression 2893033 2893117 + Identifier 2893033 2893049 + PropertyAccessExpression 2893050 2893073 + Identifier 2893050 2893056 + Identifier 2893057 2893073 + PropertyAccessExpression 2893074 2893116 + Identifier 2893074 2893089 + Identifier 2893090 2893116 + Block 2893118 2894955 + VariableStatement 2893120 2894473 + VariableDeclarationList 2893120 2894472 + VariableDeclaration 2894370 2894472 + Identifier 2894370 2894387 + CallExpression 2894389 2894472 + Identifier 2894389 2894406 + PropertyAccessExpression 2894407 2894430 + Identifier 2894407 2894413 + Identifier 2894414 2894430 + PropertyAccessExpression 2894431 2894471 + Identifier 2894431 2894446 + Identifier 2894447 2894471 + VariableStatement 2894473 2894592 + VariableDeclarationList 2894473 2894591 + VariableDeclaration 2894504 2894591 + Identifier 2894504 2894522 + CallExpression 2894524 2894591 + Identifier 2894524 2894545 + Identifier 2894546 2894555 + FalseKeyword 2894556 2894590 + VariableStatement 2894592 2894755 + VariableDeclarationList 2894592 2894754 + VariableDeclaration 2894623 2894754 + Identifier 2894623 2894639 + BinaryExpression 2894641 2894754 + BinaryExpression 2894641 2894677 + PropertyAccessExpression 2894641 2894656 + Identifier 2894641 2894651 + Identifier 2894652 2894656 + EqualsEqualsEqualsToken 2894656 2894660 + PropertyAccessExpression 2894660 2894677 + Identifier 2894660 2894671 + Identifier 2894672 2894677 + AmpersandAmpersandToken 2894677 2894680 + CallExpression 2894680 2894754 + Identifier 2894680 2894701 + PropertyAccessExpression 2894702 2894718 + Identifier 2894702 2894711 + Identifier 2894712 2894718 + FalseKeyword 2894719 2894753 + ExpressionStatement 2894755 2894932 + BinaryExpression 2894755 2894931 + PropertyAccessExpression 2894755 2894819 + Identifier 2894755 2894788 + Identifier 2894789 2894819 + EqualsToken 2894819 2894821 + BinaryExpression 2894821 2894931 + PrefixUnaryExpression 2894821 2894864 + CallExpression 2894823 2894864 + Identifier 2894823 2894853 + Identifier 2894854 2894863 + AmpersandAmpersandToken 2894864 2894867 + ParenthesizedExpression 2894867 2894931 + BinaryExpression 2894869 2894930 + PrefixUnaryExpression 2894869 2894886 + Identifier 2894870 2894886 + BarBarToken 2894886 2894889 + ParenthesizedExpression 2894889 2894930 + BinaryExpression 2894891 2894929 + PrefixUnaryExpression 2894891 2894909 + Identifier 2894892 2894909 + AmpersandAmpersandToken 2894909 2894912 + PrefixUnaryExpression 2894912 2894929 + Identifier 2894914 2894929 + Block 2894981 2895077 + ExpressionStatement 2894983 2895054 + BinaryExpression 2894983 2895053 + PropertyAccessExpression 2894983 2895045 + Identifier 2894983 2895014 + Identifier 2895015 2895045 + EqualsToken 2895045 2895047 + FalseKeyword 2895047 2895053 + ReturnStatement 2895111 2895170 + NonNullExpression 2895131 2895169 + PropertyAccessExpression 2895131 2895168 + Identifier 2895131 2895137 + Identifier 2895138 2895168 + ReturnStatement 2895181 2895204 + FalseKeyword 2895197 2895203 + FunctionDeclaration 2895211 2896015 + Identifier 2895509 2895551 + Parameter 2895552 2895570 + Identifier 2895552 2895558 + TypeReference 2895559 2895570 + Identifier 2895559 2895570 + UnionType 2895572 2895596 + TypeReference 2895572 2895584 + Identifier 2895572 2895584 + UndefinedKeyword 2895586 2895596 + Block 2895596 2896015 + IfStatement 2895598 2895979 + PrefixUnaryExpression 2895612 2895642 + CallExpression 2895613 2895642 + Identifier 2895613 2895634 + Identifier 2895635 2895641 + Block 2895643 2895979 + VariableStatement 2895645 2895711 + VariableDeclarationList 2895645 2895710 + VariableDeclaration 2895664 2895710 + Identifier 2895664 2895669 + CallExpression 2895671 2895710 + Identifier 2895671 2895688 + Identifier 2895689 2895695 + Identifier 2895696 2895709 + IfStatement 2895711 2895968 + Identifier 2895729 2895733 + Block 2895734 2895968 + VariableStatement 2895736 2895800 + VariableDeclarationList 2895736 2895799 + VariableDeclaration 2895759 2895799 + Identifier 2895759 2895766 + CallExpression 2895768 2895799 + Identifier 2895768 2895793 + Identifier 2895794 2895798 + IfStatement 2895800 2895953 + BinaryExpression 2895822 2895878 + Identifier 2895822 2895828 + AmpersandAmpersandToken 2895828 2895831 + CallExpression 2895831 2895878 + Identifier 2895831 2895870 + Identifier 2895871 2895877 + Block 2895879 2895953 + ReturnStatement 2895881 2895934 + PropertyAccessExpression 2895909 2895933 + Identifier 2895909 2895916 + Identifier 2895917 2895933 + ReturnStatement 2895979 2896008 + Identifier 2895997 2896007 + FunctionDeclaration 2896015 2896580 + Identifier 2896218 2896249 + Parameter 2896250 2896269 + Identifier 2896250 2896256 + TypeReference 2896257 2896269 + Identifier 2896257 2896269 + BooleanKeyword 2896271 2896279 + Block 2896279 2896580 + VariableStatement 2896281 2896344 + VariableDeclarationList 2896281 2896343 + VariableDeclaration 2896296 2896343 + Identifier 2896296 2896301 + CallExpression 2896303 2896343 + Identifier 2896303 2896320 + Identifier 2896321 2896327 + Identifier 2896328 2896342 + IfStatement 2896344 2896548 + Identifier 2896358 2896362 + Block 2896363 2896548 + VariableStatement 2896365 2896423 + VariableDeclarationList 2896365 2896422 + VariableDeclaration 2896384 2896422 + Identifier 2896384 2896391 + CallExpression 2896393 2896422 + Identifier 2896393 2896416 + Identifier 2896417 2896421 + IfStatement 2896423 2896537 + Identifier 2896441 2896447 + Block 2896448 2896537 + ReturnStatement 2896450 2896522 + CallExpression 2896474 2896521 + Identifier 2896474 2896513 + Identifier 2896514 2896520 + ReturnStatement 2896548 2896573 + FalseKeyword 2896566 2896572 + FunctionDeclaration 2896580 2898009 + Identifier 2896596 2896620 + Parameter 2896621 2896631 + Identifier 2896621 2896625 + TypeReference 2896626 2896631 + Identifier 2896626 2896631 + BooleanKeyword 2896633 2896641 + Block 2896641 2898009 + ExpressionStatement 2896643 2896706 + CallExpression 2896643 2896705 + PropertyAccessExpression 2896643 2896665 + Identifier 2896643 2896658 + Identifier 2896659 2896665 + Identifier 2896666 2896704 + SwitchStatement 2896706 2897979 + PropertyAccessExpression 2896724 2896733 + Identifier 2896724 2896728 + Identifier 2896729 2896733 + CaseBlock 2896734 2897979 + CaseClause 2896736 2896895 + PropertyAccessExpression 2896754 2896789 + Identifier 2896754 2896765 + Identifier 2896766 2896789 + ReturnStatement 2896790 2896895 + CallExpression 2896814 2896894 + Identifier 2896814 2896837 + CallExpression 2896838 2896893 + Identifier 2896838 2896860 + AsExpression 2896861 2896892 + Identifier 2896861 2896865 + TypeReference 2896868 2896892 + Identifier 2896868 2896892 + CaseClause 2896895 2896938 + PropertyAccessExpression 2896913 2896937 + Identifier 2896913 2896924 + Identifier 2896925 2896937 + CaseClause 2896938 2896984 + PropertyAccessExpression 2896956 2896983 + Identifier 2896956 2896967 + Identifier 2896968 2896983 + CaseClause 2896984 2897030 + PropertyAccessExpression 2897002 2897029 + Identifier 2897002 2897013 + Identifier 2897014 2897029 + CaseClause 2897030 2897308 + PropertyAccessExpression 2897048 2897075 + Identifier 2897048 2897059 + Identifier 2897060 2897075 + VariableStatement 2897076 2897208 + VariableDeclarationList 2897076 2897207 + VariableDeclaration 2897099 2897207 + Identifier 2897099 2897106 + CallExpression 2897108 2897207 + Identifier 2897108 2897131 + AsExpression 2897132 2897206 + Identifier 2897132 2897136 + UnionType 2897139 2897206 + TypeReference 2897139 2897152 + Identifier 2897139 2897152 + TypeReference 2897154 2897170 + Identifier 2897154 2897170 + TypeReference 2897172 2897188 + Identifier 2897172 2897188 + TypeReference 2897190 2897206 + Identifier 2897190 2897206 + ReturnStatement 2897208 2897308 + BinaryExpression 2897232 2897307 + PrefixUnaryExpression 2897232 2897241 + PrefixUnaryExpression 2897234 2897241 + Identifier 2897235 2897241 + AmpersandAmpersandToken 2897241 2897244 + CallExpression 2897244 2897307 + Identifier 2897244 2897267 + Identifier 2897268 2897274 + TrueKeyword 2897275 2897306 + CaseClause 2897308 2897630 + PropertyAccessExpression 2897326 2897355 + Identifier 2897326 2897337 + Identifier 2897338 2897355 + VariableStatement 2897356 2897436 + VariableDeclarationList 2897356 2897435 + VariableDeclaration 2897379 2897435 + Identifier 2897379 2897392 + PropertyAccessExpression 2897394 2897435 + ParenthesizedExpression 2897394 2897422 + AsExpression 2897396 2897421 + Identifier 2897396 2897400 + TypeReference 2897403 2897421 + Identifier 2897403 2897421 + Identifier 2897423 2897435 + ReturnStatement 2897436 2897630 + BinaryExpression 2897460 2897629 + PrefixUnaryExpression 2897460 2897475 + PrefixUnaryExpression 2897462 2897475 + Identifier 2897463 2897475 + AmpersandAmpersandToken 2897475 2897478 + ParenthesizedExpression 2897478 2897629 + BinaryExpression 2897480 2897610 + CallExpression 2897480 2897533 + Identifier 2897480 2897519 + Identifier 2897520 2897532 + BarBarToken 2897533 2897536 + CallExpression 2897536 2897610 + Identifier 2897536 2897562 + PropertyAccessExpression 2897563 2897584 + Identifier 2897563 2897575 + Identifier 2897576 2897584 + Identifier 2897585 2897609 + CaseClause 2897630 2897968 + PropertyAccessExpression 2897648 2897676 + Identifier 2897648 2897659 + Identifier 2897660 2897676 + ReturnStatement 2897677 2897968 + ConditionalExpression 2897701 2897967 + BinaryExpression 2897701 2897811 + PropertyAccessExpression 2897701 2897739 + ParenthesizedExpression 2897701 2897728 + AsExpression 2897703 2897727 + Identifier 2897703 2897707 + TypeReference 2897710 2897727 + Identifier 2897710 2897727 + Identifier 2897729 2897739 + AmpersandAmpersandToken 2897739 2897742 + BinaryExpression 2897742 2897811 + PropertyAccessExpression 2897742 2897785 + PropertyAccessExpression 2897742 2897780 + ParenthesizedExpression 2897742 2897769 + AsExpression 2897744 2897768 + Identifier 2897744 2897748 + TypeReference 2897751 2897768 + Identifier 2897751 2897768 + Identifier 2897770 2897780 + Identifier 2897781 2897785 + EqualsEqualsEqualsToken 2897785 2897789 + PropertyAccessExpression 2897789 2897811 + Identifier 2897789 2897800 + Identifier 2897801 2897811 + QuestionToken 2897811 2897813 + CallExpression 2897813 2897939 + Identifier 2897813 2897857 + CallExpression 2897858 2897906 + Identifier 2897858 2897880 + AsExpression 2897881 2897905 + Identifier 2897881 2897885 + TypeReference 2897888 2897905 + Identifier 2897888 2897905 + TrueKeyword 2897907 2897938 + ColonToken 2897939 2897941 + TrueKeyword 2897941 2897967 + ReturnStatement 2897979 2898002 + FalseKeyword 2897995 2898001 + FunctionDeclaration 2898009 2898616 + Identifier 2898025 2898067 + Parameter 2898068 2898099 + Identifier 2898068 2898074 + TypeReference 2898075 2898099 + Identifier 2898075 2898099 + BooleanKeyword 2898101 2898109 + Block 2898109 2898616 + VariableStatement 2898111 2898186 + VariableDeclarationList 2898111 2898185 + VariableDeclaration 2898126 2898185 + Identifier 2898126 2898131 + CallExpression 2898133 2898185 + Identifier 2898133 2898150 + Identifier 2898151 2898157 + Identifier 2898158 2898184 + IfStatement 2898186 2898439 + BinaryExpression 2898200 2898314 + BinaryExpression 2898200 2898264 + BinaryExpression 2898200 2898218 + Identifier 2898200 2898204 + EqualsEqualsEqualsToken 2898204 2898208 + Identifier 2898208 2898218 + BarBarToken 2898218 2898221 + BinaryExpression 2898221 2898264 + PropertyAccessExpression 2898221 2898238 + PropertyAccessExpression 2898221 2898233 + Identifier 2898221 2898226 + Identifier 2898227 2898233 + Identifier 2898234 2898238 + ExclamationEqualsEqualsToken 2898238 2898242 + PropertyAccessExpression 2898242 2898264 + Identifier 2898242 2898253 + Identifier 2898254 2898264 + BarBarToken 2898264 2898267 + PrefixUnaryExpression 2898267 2898314 + CallExpression 2898269 2898314 + Identifier 2898269 2898308 + Identifier 2898309 2898313 + Block 2898315 2898439 + ReturnStatement 2898317 2898428 + FalseKeyword 2898421 2898427 + VariableStatement 2898439 2898520 + VariableDeclarationList 2898439 2898519 + VariableDeclaration 2898456 2898519 + Identifier 2898456 2898464 + CallExpression 2898466 2898519 + Identifier 2898466 2898489 + CallExpression 2898490 2898518 + Identifier 2898490 2898512 + Identifier 2898513 2898517 + ReturnStatement 2898520 2898609 + BinaryExpression 2898536 2898608 + BinaryExpression 2898536 2898568 + Identifier 2898536 2898544 + AmpersandAmpersandToken 2898544 2898547 + PropertyAccessExpression 2898547 2898568 + Identifier 2898547 2898552 + Identifier 2898553 2898568 + AmpersandAmpersandToken 2898568 2898571 + PrefixUnaryExpression 2898571 2898608 + CallExpression 2898573 2898608 + Identifier 2898573 2898586 + PropertyAccessExpression 2898587 2898607 + Identifier 2898587 2898591 + Identifier 2898592 2898607 + FunctionDeclaration 2898616 2899904 + Identifier 2898632 2898655 + Parameter 2898656 2898682 + Identifier 2898656 2898662 + UnionType 2898663 2898682 + TypeReference 2898663 2898670 + Identifier 2898663 2898670 + UndefinedKeyword 2898672 2898682 + Parameter 2898683 2898715 + Identifier 2898683 2898705 + QuestionToken 2898705 2898706 + BooleanKeyword 2898707 2898715 + BooleanKeyword 2898717 2898725 + Block 2898725 2899904 + IfStatement 2898727 2898789 + PrefixUnaryExpression 2898741 2898748 + Identifier 2898742 2898748 + Block 2898749 2898789 + ReturnStatement 2898751 2898778 + FalseKeyword 2898771 2898777 + VariableStatement 2898789 2898862 + VariableDeclarationList 2898789 2898861 + VariableDeclaration 2898804 2898861 + Identifier 2898804 2898814 + CallExpression 2898816 2898861 + Identifier 2898816 2898836 + PropertyAccessExpression 2898837 2898860 + Identifier 2898837 2898843 + Identifier 2898844 2898860 + VariableStatement 2898862 2898938 + VariableDeclarationList 2898862 2898937 + VariableDeclaration 2898877 2898937 + Identifier 2898877 2898888 + BinaryExpression 2898890 2898937 + Identifier 2898890 2898900 + AmpersandAmpersandToken 2898900 2898903 + CallExpression 2898903 2898937 + Identifier 2898903 2898926 + Identifier 2898927 2898936 + ExpressionStatement 2898938 2899272 + VoidExpression 2898938 2899271 + CallExpression 2899231 2899271 + Identifier 2899231 2899259 + Identifier 2899260 2899270 + VariableStatement 2899272 2899358 + VariableDeclarationList 2899272 2899357 + VariableDeclaration 2899287 2899357 + Identifier 2899287 2899294 + CallExpression 2899296 2899357 + Identifier 2899296 2899335 + CallExpression 2899336 2899356 + Identifier 2899336 2899348 + Identifier 2899349 2899355 + IfStatement 2899358 2899494 + BinaryExpression 2899372 2899396 + Identifier 2899372 2899378 + EqualsEqualsEqualsToken 2899378 2899382 + Identifier 2899382 2899396 + Block 2899397 2899494 + ReturnStatement 2899399 2899483 + BinaryExpression 2899419 2899482 + PrefixUnaryExpression 2899419 2899442 + Identifier 2899421 2899442 + BarBarToken 2899442 2899445 + PrefixUnaryExpression 2899445 2899482 + CallExpression 2899447 2899482 + Identifier 2899447 2899474 + Identifier 2899475 2899481 + ReturnStatement 2899494 2899897 + BinaryExpression 2899690 2899896 + PrefixUnaryExpression 2899690 2899791 + PrefixUnaryExpression 2899692 2899791 + ParenthesizedExpression 2899693 2899791 + BinaryExpression 2899694 2899790 + CallExpression 2899694 2899770 + Identifier 2899694 2899708 + Identifier 2899709 2899715 + Identifier 2899716 2899738 + TrueKeyword 2899739 2899769 + AmpersandToken 2899770 2899772 + PropertyAccessExpression 2899772 2899790 + Identifier 2899772 2899784 + Identifier 2899785 2899790 + AmpersandAmpersandToken 2899791 2899794 + ParenthesizedExpression 2899794 2899896 + BinaryExpression 2899809 2899895 + CallExpression 2899809 2899850 + Identifier 2899809 2899833 + Identifier 2899834 2899849 + BarBarToken 2899850 2899853 + PrefixUnaryExpression 2899853 2899895 + CallExpression 2899855 2899895 + Identifier 2899855 2899887 + Identifier 2899888 2899894 + FunctionDeclaration 2899904 2900047 + Identifier 2899920 2899953 + Parameter 2899954 2899963 + Identifier 2899954 2899955 + TypeReference 2899956 2899963 + Identifier 2899956 2899963 + BooleanKeyword 2899965 2899973 + Block 2899973 2900047 + ReturnStatement 2899975 2900040 + BinaryExpression 2899991 2900039 + CallExpression 2899991 2900012 + Identifier 2899991 2900009 + Identifier 2900010 2900011 + BarBarToken 2900012 2900015 + PrefixUnaryExpression 2900015 2900039 + PrefixUnaryExpression 2900017 2900039 + PropertyAccessExpression 2900018 2900039 + Identifier 2900018 2900019 + Identifier 2900020 2900039 + FunctionDeclaration 2900047 2901145 + Identifier 2900063 2900092 + Parameter 2900093 2900103 + Identifier 2900093 2900097 + TypeReference 2900098 2900103 + Identifier 2900098 2900103 + Parameter 2900104 2900128 + Identifier 2900104 2900118 + QuestionToken 2900118 2900119 + BooleanKeyword 2900120 2900128 + BooleanKeyword 2900130 2900138 + Block 2900138 2901145 + ExpressionStatement 2900140 2900203 + CallExpression 2900140 2900202 + PropertyAccessExpression 2900140 2900162 + Identifier 2900140 2900155 + Identifier 2900156 2900162 + Identifier 2900163 2900201 + IfStatement 2900203 2900971 + CallExpression 2900217 2900247 + Identifier 2900217 2900241 + Identifier 2900242 2900246 + Block 2900248 2900971 + VariableStatement 2900250 2900323 + VariableDeclarationList 2900250 2900322 + VariableDeclaration 2900269 2900322 + Identifier 2900269 2900276 + CallExpression 2900278 2900322 + Identifier 2900278 2900301 + AsExpression 2900302 2900321 + Identifier 2900302 2900306 + TypeReference 2900309 2900321 + Identifier 2900309 2900321 + VariableStatement 2900323 2900384 + VariableDeclarationList 2900323 2900383 + VariableDeclaration 2900342 2900383 + Identifier 2900342 2900348 + BinaryExpression 2900350 2900383 + Identifier 2900350 2900357 + AmpersandAmpersandToken 2900357 2900360 + CallExpression 2900360 2900383 + Identifier 2900360 2900375 + Identifier 2900376 2900382 + IfStatement 2900384 2900467 + PropertyAccessExpression 2900402 2900419 + Identifier 2900402 2900407 + QuestionDotToken 2900407 2900409 + Identifier 2900409 2900419 + Block 2900420 2900467 + ReturnStatement 2900422 2900452 + TrueKeyword 2900446 2900451 + VariableStatement 2900467 2900531 + VariableDeclarationList 2900467 2900530 + VariableDeclaration 2900486 2900530 + Identifier 2900486 2900493 + PropertyAccessExpression 2900495 2900530 + CallExpression 2900495 2900518 + Identifier 2900495 2900510 + Identifier 2900511 2900517 + Identifier 2900519 2900530 + IfStatement 2900531 2900960 + BinaryExpression 2900549 2900803 + BinaryExpression 2900549 2900694 + BinaryExpression 2900549 2900631 + Identifier 2900549 2900573 + AmpersandAmpersandToken 2900573 2900576 + BinaryExpression 2900576 2900631 + CallExpression 2900576 2900608 + Identifier 2900576 2900602 + Identifier 2900603 2900607 + AmpersandToken 2900608 2900610 + PropertyAccessExpression 2900610 2900631 + Identifier 2900610 2900624 + Identifier 2900625 2900631 + AmpersandAmpersandToken 2900631 2900634 + BinaryExpression 2900634 2900694 + CallExpression 2900634 2900674 + Identifier 2900634 2900666 + Identifier 2900667 2900673 + AmpersandToken 2900674 2900676 + PropertyAccessExpression 2900676 2900694 + Identifier 2900676 2900688 + Identifier 2900689 2900694 + AmpersandAmpersandToken 2900694 2900697 + ParenthesizedExpression 2900697 2900803 + BinaryExpression 2900716 2900802 + CallExpression 2900716 2900757 + Identifier 2900716 2900740 + Identifier 2900741 2900756 + BarBarToken 2900757 2900760 + PrefixUnaryExpression 2900760 2900802 + CallExpression 2900762 2900802 + Identifier 2900762 2900794 + Identifier 2900795 2900801 + Block 2900818 2900960 + ReturnStatement 2900820 2900945 + TrueKeyword 2900939 2900944 + IfStatement 2900971 2901115 + Identifier 2900987 2901000 + Block 2901001 2901115 + ReturnStatement 2901003 2901104 + PrefixUnaryExpression 2901023 2901103 + PrefixUnaryExpression 2901025 2901103 + CallExpression 2901026 2901103 + Identifier 2901026 2901038 + Identifier 2901039 2901043 + ArrowFunction 2901044 2901102 + Parameter 2901044 2901049 + Identifier 2901044 2901049 + EqualsGreaterThanToken 2901049 2901052 + CallExpression 2901052 2901102 + Identifier 2901052 2901081 + Identifier 2901082 2901086 + Identifier 2901087 2901101 + ReturnStatement 2901115 2901138 + FalseKeyword 2901131 2901137 + FunctionDeclaration 2901145 2902501 + Identifier 2901161 2901188 + Parameter 2901189 2901215 + Identifier 2901189 2901193 + TypeReference 2901194 2901215 + Identifier 2901194 2901215 + Block 2901216 2902501 + IfStatement 2901218 2902471 + CallExpression 2901232 2901285 + Identifier 2901232 2901245 + PropertyAccessExpression 2901246 2901284 + ParenthesizedExpression 2901246 2901279 + AsExpression 2901247 2901278 + Identifier 2901247 2901251 + TypeReference 2901254 2901278 + Identifier 2901254 2901278 + Identifier 2901280 2901284 + Block 2901286 2902471 + IfStatement 2901288 2901363 + BinaryExpression 2901306 2901348 + CallExpression 2901306 2901325 + Identifier 2901306 2901319 + Identifier 2901320 2901324 + BarBarToken 2901325 2901328 + CallExpression 2901328 2901348 + Identifier 2901328 2901342 + Identifier 2901343 2901347 + ReturnStatement 2901349 2901363 + FalseKeyword 2901356 2901362 + VariableStatement 2901363 2901516 + VariableDeclarationList 2901363 2901515 + VariableDeclaration 2901477 2901515 + Identifier 2901477 2901484 + CallExpression 2901486 2901515 + Identifier 2901486 2901509 + Identifier 2901510 2901514 + VariableStatement 2901516 2901587 + VariableDeclarationList 2901516 2901586 + VariableDeclaration 2901535 2901586 + Identifier 2901535 2901554 + CallExpression 2901556 2901586 + Identifier 2901556 2901578 + Identifier 2901579 2901585 + ReturnStatement 2901587 2902460 + BinaryExpression 2901985 2902459 + BinaryExpression 2901985 2902015 + PropertyAccessExpression 2901985 2902011 + Identifier 2901985 2902004 + Identifier 2902005 2902011 + GreaterThanToken 2902011 2902013 + NumericLiteral 2902013 2902015 + BarBarToken 2902015 2902018 + ParenthesizedExpression 2902018 2902459 + BinaryExpression 2902381 2902458 + BinaryExpression 2902381 2902412 + PropertyAccessExpression 2902381 2902406 + Identifier 2902381 2902399 + Identifier 2902400 2902406 + EqualsEqualsEqualsToken 2902406 2902410 + NumericLiteral 2902410 2902412 + AmpersandAmpersandToken 2902412 2902415 + BinaryExpression 2902415 2902458 + PropertyAccessExpression 2902415 2902449 + ElementAccessExpression 2902415 2902437 + Identifier 2902415 2902434 + NumericLiteral 2902435 2902436 + Identifier 2902438 2902449 + ExclamationEqualsEqualsToken 2902449 2902453 + Identifier 2902453 2902458 + ReturnStatement 2902471 2902494 + FalseKeyword 2902487 2902493 + FunctionDeclaration 2902501 2903070 + Identifier 2902517 2902556 + Parameter 2902557 2902608 + Identifier 2902557 2902566 + UnionType 2902567 2902608 + TypeReference 2902567 2902588 + Identifier 2902567 2902588 + TypeReference 2902590 2902608 + Identifier 2902590 2902608 + Block 2902609 2903070 + VariableStatement 2902611 2902688 + VariableDeclarationList 2902611 2902687 + VariableDeclaration 2902626 2902687 + Identifier 2902626 2902635 + CallExpression 2902637 2902687 + Identifier 2902637 2902676 + Identifier 2902677 2902686 + IfStatement 2902688 2902726 + PrefixUnaryExpression 2902702 2902711 + Identifier 2902703 2902711 + ReturnStatement 2902712 2902726 + FalseKeyword 2902719 2902725 + VariableStatement 2902726 2902779 + VariableDeclarationList 2902726 2902778 + VariableDeclaration 2902741 2902778 + Identifier 2902741 2902746 + CallExpression 2902748 2902778 + Identifier 2902748 2902768 + Identifier 2902769 2902777 + ReturnStatement 2902779 2903063 + BinaryExpression 2903013 2903062 + CallExpression 2903013 2903031 + Identifier 2903013 2903025 + Identifier 2903026 2903030 + BarBarToken 2903031 2903034 + CallExpression 2903034 2903062 + Identifier 2903034 2903056 + Identifier 2903057 2903061 + FunctionDeclaration 2903070 2903412 + Identifier 2903086 2903118 + Parameter 2903119 2903170 + Identifier 2903119 2903128 + UnionType 2903129 2903170 + TypeReference 2903129 2903150 + Identifier 2903129 2903150 + TypeReference 2903152 2903170 + Identifier 2903152 2903170 + Parameter 2903171 2903210 + Identifier 2903171 2903192 + UnionType 2903193 2903210 + TypeReference 2903193 2903198 + Identifier 2903193 2903198 + UndefinedKeyword 2903200 2903210 + Block 2903211 2903412 + ReturnStatement 2903213 2903405 + BinaryExpression 2903229 2903404 + ParenthesizedExpression 2903229 2903350 + BinaryExpression 2903231 2903349 + CallExpression 2903231 2903294 + Identifier 2903231 2903261 + Identifier 2903262 2903271 + Identifier 2903272 2903293 + BarBarToken 2903294 2903297 + CallExpression 2903297 2903349 + Identifier 2903297 2903338 + Identifier 2903339 2903348 + AmpersandAmpersandToken 2903350 2903353 + PrefixUnaryExpression 2903353 2903404 + CallExpression 2903355 2903404 + Identifier 2903355 2903393 + Identifier 2903394 2903403 + FunctionDeclaration 2903412 2903953 + Identifier 2903428 2903459 + Parameter 2903460 2903511 + Identifier 2903460 2903469 + UnionType 2903470 2903511 + TypeReference 2903470 2903491 + Identifier 2903470 2903491 + TypeReference 2903493 2903511 + Identifier 2903493 2903511 + Parameter 2903512 2903551 + Identifier 2903512 2903533 + UnionType 2903534 2903551 + TypeReference 2903534 2903539 + Identifier 2903534 2903539 + UndefinedKeyword 2903541 2903551 + BooleanKeyword 2903553 2903561 + Block 2903561 2903953 + IfStatement 2903563 2903729 + BinaryExpression 2903577 2903688 + BinaryExpression 2903577 2903662 + BinaryExpression 2903577 2903628 + PrefixUnaryExpression 2903577 2903594 + Identifier 2903578 2903594 + BarBarToken 2903594 2903597 + CallExpression 2903597 2903628 + Identifier 2903597 2903617 + Identifier 2903618 2903627 + BarBarToken 2903628 2903631 + CallExpression 2903631 2903662 + Identifier 2903631 2903651 + Identifier 2903652 2903661 + BarBarToken 2903662 2903665 + PrefixUnaryExpression 2903665 2903688 + PropertyAccessExpression 2903667 2903688 + Identifier 2903667 2903676 + Identifier 2903677 2903688 + Block 2903689 2903729 + ReturnStatement 2903691 2903718 + FalseKeyword 2903711 2903717 + IfStatement 2903729 2903924 + CallExpression 2903743 2903815 + Identifier 2903743 2903763 + Identifier 2903764 2903773 + PropertyAccessExpression 2903774 2903814 + Identifier 2903774 2903788 + Identifier 2903789 2903814 + Block 2903816 2903924 + ReturnStatement 2903818 2903913 + BinaryExpression 2903838 2903912 + PrefixUnaryExpression 2903838 2903861 + PrefixUnaryExpression 2903840 2903861 + Identifier 2903841 2903861 + AmpersandAmpersandToken 2903861 2903864 + CallExpression 2903864 2903912 + Identifier 2903864 2903890 + Identifier 2903891 2903911 + ReturnStatement 2903924 2903946 + TrueKeyword 2903940 2903945 + FunctionDeclaration 2903953 2904317 + Identifier 2903969 2904010 + Parameter 2904011 2904062 + Identifier 2904011 2904020 + UnionType 2904021 2904062 + TypeReference 2904021 2904042 + Identifier 2904021 2904042 + TypeReference 2904044 2904062 + Identifier 2904044 2904062 + Block 2904063 2904317 + ReturnStatement 2904065 2904310 + BinaryExpression 2904081 2904309 + BinaryExpression 2904081 2904220 + BinaryExpression 2904081 2904145 + Identifier 2904081 2904098 + AmpersandAmpersandToken 2904098 2904101 + CallExpression 2904101 2904145 + Identifier 2904101 2904134 + Identifier 2904135 2904144 + AmpersandAmpersandToken 2904145 2904148 + ParenthesizedExpression 2904148 2904220 + BinaryExpression 2904163 2904219 + CallExpression 2904163 2904193 + Identifier 2904163 2904182 + Identifier 2904183 2904192 + BarBarToken 2904193 2904196 + PrefixUnaryExpression 2904196 2904219 + PropertyAccessExpression 2904198 2904219 + Identifier 2904198 2904207 + Identifier 2904208 2904219 + AmpersandAmpersandToken 2904220 2904223 + CallExpression 2904223 2904309 + Identifier 2904223 2904257 + Identifier 2904258 2904267 + PropertyAccessExpression 2904268 2904308 + Identifier 2904268 2904282 + Identifier 2904283 2904308 + FunctionDeclaration 2904317 2905481 + Identifier 2904333 2904362 + Parameter 2904363 2904380 + Identifier 2904363 2904367 + TypeReference 2904368 2904380 + Identifier 2904368 2904380 + BooleanKeyword 2904382 2904390 + Block 2904390 2905481 + VariableStatement 2904392 2904554 + VariableDeclarationList 2904392 2904553 + VariableDeclaration 2904407 2904553 + Identifier 2904407 2904419 + CallExpression 2904421 2904553 + Identifier 2904421 2904438 + Identifier 2904439 2904443 + ArrowFunction 2904444 2904552 + Parameter 2904446 2904447 + Identifier 2904446 2904447 + TypePredicate 2904449 2904496 + Identifier 2904449 2904451 + UnionType 2904454 2904496 + TypeReference 2904454 2904474 + Identifier 2904454 2904474 + TypeReference 2904476 2904496 + Identifier 2904476 2904496 + EqualsGreaterThanToken 2904496 2904499 + BinaryExpression 2904499 2904552 + CallExpression 2904499 2904524 + Identifier 2904499 2904521 + Identifier 2904522 2904523 + BarBarToken 2904524 2904527 + CallExpression 2904527 2904552 + Identifier 2904527 2904549 + Identifier 2904550 2904551 + IfStatement 2904554 2904621 + PrefixUnaryExpression 2904568 2904580 + Identifier 2904569 2904580 + Block 2904581 2904621 + ReturnStatement 2904583 2904610 + FalseKeyword 2904603 2904609 + VariableStatement 2904621 2904662 + VariableDeclarationList 2904621 2904661 + VariableDeclaration 2904634 2904661 + Identifier 2904634 2904641 + UnionType 2904642 2904661 + TypeReference 2904642 2904649 + Identifier 2904642 2904649 + UndefinedKeyword 2904651 2904661 + IfStatement 2904662 2905201 + CallExpression 2904676 2904710 + Identifier 2904676 2904697 + Identifier 2904698 2904709 + Block 2904711 2905115 + IfStatement 2904713 2904858 + BinaryExpression 2904731 2904809 + PropertyAccessExpression 2904731 2904747 + Identifier 2904731 2904742 + Identifier 2904743 2904747 + BarBarToken 2904747 2904750 + ParenthesizedExpression 2904750 2904809 + BinaryExpression 2904752 2904808 + PrefixUnaryExpression 2904752 2904776 + CallExpression 2904753 2904776 + Identifier 2904753 2904763 + Identifier 2904764 2904775 + AmpersandAmpersandToken 2904776 2904779 + PrefixUnaryExpression 2904779 2904808 + CallExpression 2904781 2904808 + Identifier 2904781 2904795 + Identifier 2904796 2904807 + Block 2904810 2904858 + ReturnStatement 2904812 2904843 + FalseKeyword 2904836 2904842 + VariableStatement 2904858 2904935 + VariableDeclarationList 2904858 2904934 + VariableDeclaration 2904877 2904934 + Identifier 2904877 2904889 + CallExpression 2904891 2904934 + Identifier 2904891 2904921 + Identifier 2904922 2904933 + IfStatement 2904935 2905045 + BinaryExpression 2904953 2904996 + PrefixUnaryExpression 2904953 2904965 + Identifier 2904954 2904965 + BarBarToken 2904965 2904968 + PrefixUnaryExpression 2904968 2904996 + CallExpression 2904970 2904996 + Identifier 2904970 2904983 + Identifier 2904984 2904995 + Block 2904997 2905045 + ReturnStatement 2904999 2905030 + FalseKeyword 2905023 2905029 + ExpressionStatement 2905045 2905104 + BinaryExpression 2905045 2905103 + Identifier 2905045 2905065 + EqualsToken 2905065 2905067 + CallExpression 2905067 2905103 + Identifier 2905067 2905090 + Identifier 2905091 2905102 + Block 2905129 2905201 + ExpressionStatement 2905131 2905190 + BinaryExpression 2905131 2905189 + Identifier 2905131 2905151 + EqualsToken 2905151 2905153 + CallExpression 2905153 2905189 + Identifier 2905153 2905176 + Identifier 2905177 2905188 + IfStatement 2905201 2905328 + BinaryExpression 2905215 2905287 + PrefixUnaryExpression 2905215 2905222 + Identifier 2905216 2905222 + BarBarToken 2905222 2905225 + PrefixUnaryExpression 2905225 2905287 + ParenthesizedExpression 2905227 2905287 + BinaryExpression 2905228 2905286 + BinaryExpression 2905228 2905263 + PropertyAccessExpression 2905228 2905240 + Identifier 2905228 2905234 + Identifier 2905235 2905240 + AmpersandToken 2905240 2905242 + PropertyAccessExpression 2905242 2905263 + Identifier 2905242 2905254 + Identifier 2905255 2905263 + BarToken 2905263 2905265 + PropertyAccessExpression 2905265 2905286 + Identifier 2905265 2905277 + Identifier 2905278 2905286 + Block 2905288 2905328 + ReturnStatement 2905290 2905317 + FalseKeyword 2905310 2905316 + ReturnStatement 2905328 2905474 + PrefixUnaryExpression 2905344 2905473 + PrefixUnaryExpression 2905346 2905473 + CallExpression 2905347 2905473 + Identifier 2905347 2905359 + CallExpression 2905360 2905386 + Identifier 2905360 2905378 + Identifier 2905379 2905385 + ArrowFunction 2905387 2905472 + Parameter 2905387 2905389 + Identifier 2905387 2905389 + EqualsGreaterThanToken 2905389 2905392 + BinaryExpression 2905392 2905472 + BinaryExpression 2905392 2905420 + PropertyAccessExpression 2905392 2905400 + Identifier 2905392 2905394 + Identifier 2905395 2905400 + AmpersandToken 2905400 2905402 + PropertyAccessExpression 2905402 2905420 + Identifier 2905402 2905414 + Identifier 2905415 2905420 + AmpersandAmpersandToken 2905420 2905423 + CallExpression 2905423 2905472 + Identifier 2905423 2905452 + PropertyAccessExpression 2905453 2905471 + Identifier 2905453 2905454 + Identifier 2905455 2905471 + FunctionDeclaration 2905481 2905863 + Identifier 2905497 2905530 + Parameter 2905531 2905548 + Identifier 2905531 2905535 + TypeReference 2905536 2905548 + Identifier 2905536 2905548 + ArrayType 2905550 2905559 + TypeReference 2905550 2905557 + Identifier 2905550 2905557 + Block 2905559 2905863 + VariableStatement 2905561 2905637 + VariableDeclarationList 2905561 2905636 + VariableDeclaration 2905576 2905636 + Identifier 2905576 2905588 + CallExpression 2905590 2905636 + Identifier 2905590 2905607 + Identifier 2905608 2905612 + Identifier 2905613 2905635 + IfStatement 2905637 2905709 + PrefixUnaryExpression 2905651 2905663 + Identifier 2905652 2905663 + Block 2905664 2905709 + ReturnStatement 2905666 2905698 + Identifier 2905686 2905697 + VariableStatement 2905709 2905770 + VariableDeclarationList 2905709 2905769 + VariableDeclaration 2905724 2905769 + Identifier 2905724 2905731 + CallExpression 2905733 2905769 + Identifier 2905733 2905756 + Identifier 2905757 2905768 + ReturnStatement 2905770 2905856 + BinaryExpression 2905786 2905855 + BinaryExpression 2905786 2905841 + Identifier 2905786 2905793 + AmpersandAmpersandToken 2905793 2905796 + CallExpression 2905796 2905841 + Identifier 2905796 2905816 + CallExpression 2905817 2905840 + Identifier 2905817 2905832 + Identifier 2905833 2905839 + BarBarToken 2905841 2905844 + Identifier 2905844 2905855 + FunctionDeclaration 2905863 2906084 + Identifier 2905879 2905897 + Parameter 2905898 2905908 + Identifier 2905898 2905902 + TypeReference 2905903 2905908 + Identifier 2905903 2905908 + TypeReference 2905910 2905925 + Identifier 2905910 2905925 + Block 2905925 2906084 + VariableStatement 2905927 2905965 + VariableDeclarationList 2905927 2905964 + VariableDeclaration 2905942 2905964 + Identifier 2905942 2905949 + BinaryExpression 2905951 2905964 + PropertyAccessExpression 2905951 2905959 + Identifier 2905951 2905956 + Identifier 2905957 2905959 + BarBarToken 2905959 2905962 + NumericLiteral 2905962 2905964 + IfStatement 2905965 2906030 + BinaryExpression 2905979 2906019 + BinaryExpression 2905979 2905989 + Identifier 2905979 2905985 + LessThanToken 2905985 2905987 + NumericLiteral 2905987 2905989 + BarBarToken 2905989 2905992 + BinaryExpression 2905992 2906019 + Identifier 2905992 2905999 + GreaterThanEqualsToken 2905999 2906002 + PropertyAccessExpression 2906002 2906019 + Identifier 2906002 2906012 + Identifier 2906013 2906019 + ReturnStatement 2906020 2906030 + NumericLiteral 2906027 2906029 + ReturnStatement 2906030 2906077 + BinaryExpression 2906046 2906076 + PropertyAccessExpression 2906046 2906071 + ElementAccessExpression 2906046 2906064 + Identifier 2906046 2906056 + Identifier 2906057 2906063 + QuestionDotToken 2906064 2906066 + Identifier 2906066 2906071 + BarBarToken 2906071 2906074 + NumericLiteral 2906074 2906076 + FunctionDeclaration 2906084 2906267 + Identifier 2906100 2906117 + Parameter 2906118 2906128 + Identifier 2906118 2906122 + TypeReference 2906123 2906128 + Identifier 2906123 2906128 + Parameter 2906129 2906154 + Identifier 2906129 2906134 + TypeReference 2906135 2906154 + Identifier 2906135 2906154 + Block 2906155 2906267 + ExpressionStatement 2906157 2906208 + CallExpression 2906157 2906207 + Identifier 2906157 2906195 + Identifier 2906196 2906200 + Identifier 2906201 2906206 + ReturnStatement 2906208 2906260 + PrefixUnaryExpression 2906224 2906259 + PrefixUnaryExpression 2906226 2906259 + ParenthesizedExpression 2906227 2906259 + BinaryExpression 2906228 2906258 + CallExpression 2906228 2906251 + Identifier 2906228 2906245 + Identifier 2906246 2906250 + AmpersandToken 2906251 2906253 + Identifier 2906253 2906258 + FunctionDeclaration 2906267 2913784 + Identifier 2906283 2906312 + Parameter 2906313 2906323 + Identifier 2906313 2906317 + TypeReference 2906318 2906323 + Identifier 2906318 2906323 + Parameter 2906324 2906349 + Identifier 2906324 2906329 + TypeReference 2906330 2906349 + Identifier 2906330 2906349 + Block 2906350 2913784 + IfStatement 2906352 2907743 + BinaryExpression 2906366 2906471 + PrefixUnaryExpression 2906366 2906390 + PropertyAccessExpression 2906367 2906390 + Identifier 2906367 2906382 + Identifier 2906383 2906390 + AmpersandAmpersandToken 2906390 2906393 + CallExpression 2906393 2906471 + Identifier 2906393 2906427 + CallExpression 2906428 2906453 + Identifier 2906428 2906447 + Identifier 2906448 2906452 + Identifier 2906454 2906470 + Block 2906472 2907743 + ReturnStatement 2906474 2907732 + VariableStatement 2907743 2907786 + VariableDeclarationList 2907743 2907785 + VariableDeclaration 2907758 2907785 + Identifier 2907758 2907764 + CallExpression 2907766 2907785 + Identifier 2907766 2907779 + Identifier 2907780 2907784 + IfStatement 2907786 2907863 + BinaryExpression 2907800 2907828 + PropertyAccessExpression 2907800 2907821 + Identifier 2907800 2907805 + Identifier 2907806 2907821 + AmpersandToken 2907821 2907823 + Identifier 2907823 2907828 + Block 2907829 2907863 + ReturnStatement 2907831 2907852 + SwitchStatement 2907863 2909236 + Identifier 2907982 2907986 + CaseBlock 2907987 2909236 + CaseClause 2907989 2908037 + PropertyAccessExpression 2908007 2908036 + Identifier 2908007 2908022 + Identifier 2908023 2908036 + CaseClause 2908037 2908141 + PropertyAccessExpression 2908055 2908082 + Identifier 2908055 2908070 + Identifier 2908071 2908082 + ReturnStatement 2908083 2908141 + CallExpression 2908107 2908140 + Identifier 2908107 2908134 + Identifier 2908135 2908139 + CaseClause 2908141 2908212 + PropertyAccessExpression 2908159 2908211 + Identifier 2908159 2908174 + Identifier 2908175 2908211 + CaseClause 2908212 2908287 + PropertyAccessExpression 2908230 2908286 + Identifier 2908230 2908245 + Identifier 2908246 2908286 + CaseClause 2908287 2908420 + PropertyAccessExpression 2908305 2908361 + Identifier 2908305 2908320 + Identifier 2908321 2908361 + ReturnStatement 2908362 2908420 + CallExpression 2908386 2908419 + Identifier 2908386 2908413 + Identifier 2908414 2908418 + CaseClause 2908420 2908471 + PropertyAccessExpression 2908438 2908470 + Identifier 2908438 2908453 + Identifier 2908454 2908470 + CaseClause 2908471 2908539 + PropertyAccessExpression 2908489 2908538 + Identifier 2908489 2908504 + Identifier 2908505 2908538 + CaseClause 2908539 2908595 + PropertyAccessExpression 2908557 2908594 + Identifier 2908557 2908572 + Identifier 2908573 2908594 + CaseClause 2908595 2908711 + PropertyAccessExpression 2908613 2908657 + Identifier 2908613 2908628 + Identifier 2908629 2908657 + ReturnStatement 2908658 2908711 + CallExpression 2908682 2908710 + Identifier 2908682 2908704 + Identifier 2908705 2908709 + CaseClause 2908711 2908819 + PropertyAccessExpression 2908729 2908765 + Identifier 2908729 2908744 + Identifier 2908745 2908765 + ReturnStatement 2908766 2908819 + CallExpression 2908790 2908818 + Identifier 2908790 2908812 + Identifier 2908813 2908817 + CaseClause 2908819 2908888 + PropertyAccessExpression 2908837 2908887 + Identifier 2908837 2908852 + Identifier 2908853 2908887 + CaseClause 2908888 2908947 + PropertyAccessExpression 2908906 2908946 + Identifier 2908906 2908921 + Identifier 2908922 2908946 + CaseClause 2908947 2909076 + PropertyAccessExpression 2908965 2909007 + Identifier 2908965 2908980 + Identifier 2908981 2909007 + ReturnStatement 2909008 2909076 + CallExpression 2909032 2909075 + Identifier 2909032 2909069 + Identifier 2909070 2909074 + DefaultClause 2909076 2909225 + ReturnStatement 2909098 2909225 + CallExpression 2909122 2909224 + PropertyAccessExpression 2909122 2909140 + Identifier 2909122 2909128 + Identifier 2909129 2909140 + Identifier 2909141 2909145 + TemplateExpression 2909146 2909223 + TemplateHead 2909146 2909189 + TemplateSpan 2909189 2909223 + CallExpression 2909189 2909221 + PropertyAccessExpression 2909189 2909215 + Identifier 2909189 2909194 + Identifier 2909195 2909215 + Identifier 2909216 2909220 + TemplateTail 2909221 2909223 + FunctionDeclaration 2909236 2909596 + Identifier 2909256 2909279 + TypeParameter 2909280 2909281 + Identifier 2909280 2909281 + Parameter 2909283 2909293 + Identifier 2909283 2909287 + TypeReference 2909288 2909293 + Identifier 2909288 2909293 + Parameter 2909294 2909351 + Identifier 2909294 2909297 + FunctionType 2909298 2909351 + Parameter 2909300 2909310 + Identifier 2909300 2909304 + TypeReference 2909305 2909310 + Identifier 2909305 2909310 + Parameter 2909311 2909324 + Identifier 2909311 2909318 + TypeReference 2909319 2909324 + Identifier 2909319 2909324 + UnionType 2909328 2909351 + TypeReference 2909328 2909330 + Identifier 2909328 2909330 + LiteralType 2909332 2909339 + StringLiteral 2909332 2909339 + UndefinedKeyword 2909341 2909351 + UnionType 2909353 2909367 + TypeReference 2909353 2909355 + Identifier 2909353 2909355 + UndefinedKeyword 2909357 2909367 + Block 2909367 2909596 + VariableStatement 2909369 2909424 + VariableDeclarationList 2909369 2909423 + VariableDeclaration 2909388 2909423 + Identifier 2909388 2909399 + CallExpression 2909401 2909423 + Identifier 2909401 2909404 + Identifier 2909405 2909409 + PropertyAccessExpression 2909410 2909422 + Identifier 2909410 2909415 + Identifier 2909416 2909422 + IfStatement 2909424 2909482 + BinaryExpression 2909442 2909463 + Identifier 2909442 2909452 + EqualsEqualsEqualsToken 2909452 2909456 + StringLiteral 2909456 2909463 + ReturnStatement 2909464 2909482 + Identifier 2909471 2909481 + IfStatement 2909482 2909530 + Identifier 2909500 2909510 + ReturnStatement 2909511 2909530 + Identifier 2909518 2909529 + ReturnStatement 2909530 2909585 + CallExpression 2909550 2909584 + Identifier 2909550 2909574 + Identifier 2909575 2909579 + Identifier 2909580 2909583 + FunctionDeclaration 2909596 2910057 + Identifier 2909616 2909638 + Parameter 2909639 2909649 + Identifier 2909639 2909643 + TypeReference 2909644 2909649 + Identifier 2909644 2909649 + Block 2909650 2910057 + VariableStatement 2909652 2909699 + VariableDeclarationList 2909652 2909698 + VariableDeclaration 2909671 2909698 + Identifier 2909671 2909677 + CallExpression 2909679 2909698 + Identifier 2909679 2909692 + Identifier 2909693 2909697 + IfStatement 2909699 2909761 + BinaryExpression 2909717 2909745 + PropertyAccessExpression 2909717 2909738 + Identifier 2909717 2909722 + Identifier 2909723 2909738 + AmpersandToken 2909738 2909740 + Identifier 2909740 2909745 + ReturnStatement 2909746 2909761 + StringLiteral 2909753 2909760 + ExpressionStatement 2909761 2909968 + BinaryExpression 2909761 2909967 + PropertyAccessExpression 2909761 2909796 + Identifier 2909761 2909780 + Identifier 2909781 2909796 + BarEqualsToken 2909796 2909799 + BinaryExpression 2909799 2909967 + BinaryExpression 2909799 2909909 + PropertyAccessExpression 2909799 2909851 + Identifier 2909799 2909814 + Identifier 2909815 2909851 + BarToken 2909851 2909853 + PropertyAccessExpression 2909853 2909909 + Identifier 2909853 2909868 + Identifier 2909869 2909909 + BarToken 2909909 2909911 + PropertyAccessExpression 2909911 2909967 + Identifier 2909911 2909926 + Identifier 2909927 2909967 + ExpressionStatement 2909968 2910015 + CallExpression 2909968 2910014 + Identifier 2909968 2910008 + Identifier 2910009 2910013 + ReturnStatement 2910015 2910046 + Identifier 2910035 2910045 + FunctionDeclaration 2910057 2910195 + Identifier 2910077 2910104 + Parameter 2910105 2910115 + Identifier 2910105 2910109 + TypeReference 2910110 2910115 + Identifier 2910110 2910115 + Block 2910116 2910195 + ExpressionStatement 2910118 2910184 + CallExpression 2910118 2910183 + Identifier 2910118 2910154 + Identifier 2910155 2910159 + Identifier 2910160 2910182 + FunctionDeclaration 2910195 2910745 + Identifier 2910215 2910242 + Parameter 2910243 2910253 + Identifier 2910243 2910247 + TypeReference 2910248 2910253 + Identifier 2910248 2910253 + Block 2910254 2910745 + VariableStatement 2910256 2910307 + VariableDeclarationList 2910256 2910306 + VariableDeclaration 2910275 2910306 + Identifier 2910275 2910285 + CallExpression 2910287 2910306 + Identifier 2910287 2910300 + Identifier 2910301 2910305 + ExpressionStatement 2910307 2910517 + BinaryExpression 2910307 2910516 + PropertyAccessExpression 2910307 2910455 + Identifier 2910307 2910439 + Identifier 2910440 2910455 + BarEqualsToken 2910455 2910458 + BinaryExpression 2910458 2910516 + PropertyAccessExpression 2910458 2910487 + Identifier 2910458 2910473 + Identifier 2910474 2910487 + BarToken 2910487 2910489 + PropertyAccessExpression 2910489 2910516 + Identifier 2910489 2910504 + Identifier 2910505 2910516 + IfStatement 2910517 2910734 + BinaryExpression 2910634 2910671 + PropertyAccessExpression 2910634 2910643 + Identifier 2910634 2910638 + Identifier 2910639 2910643 + EqualsEqualsEqualsToken 2910643 2910647 + PropertyAccessExpression 2910647 2910671 + Identifier 2910647 2910658 + Identifier 2910659 2910671 + Block 2910672 2910734 + ExpressionStatement 2910674 2910719 + CallExpression 2910674 2910718 + Identifier 2910674 2910712 + Identifier 2910713 2910717 + FunctionDeclaration 2910745 2911196 + Identifier 2910765 2910782 + Parameter 2910783 2910793 + Identifier 2910783 2910787 + TypeReference 2910788 2910793 + Identifier 2910788 2910793 + Block 2910794 2911196 + VariableStatement 2910796 2910843 + VariableDeclarationList 2910796 2910842 + VariableDeclaration 2910815 2910842 + Identifier 2910815 2910821 + CallExpression 2910823 2910842 + Identifier 2910823 2910836 + Identifier 2910837 2910841 + IfStatement 2910843 2910905 + BinaryExpression 2910861 2910889 + PropertyAccessExpression 2910861 2910882 + Identifier 2910861 2910866 + Identifier 2910867 2910882 + AmpersandToken 2910882 2910884 + Identifier 2910884 2910889 + ReturnStatement 2910890 2910905 + StringLiteral 2910897 2910904 + ExpressionStatement 2910905 2911112 + BinaryExpression 2910905 2911111 + PropertyAccessExpression 2910905 2910940 + Identifier 2910905 2910924 + Identifier 2910925 2910940 + BarEqualsToken 2910940 2910943 + BinaryExpression 2910943 2911111 + BinaryExpression 2910943 2911065 + BinaryExpression 2910943 2911026 + PropertyAccessExpression 2910943 2910975 + Identifier 2910943 2910958 + Identifier 2910959 2910975 + BarToken 2910975 2910977 + PropertyAccessExpression 2910977 2911026 + Identifier 2910977 2910992 + Identifier 2910993 2911026 + BarToken 2911026 2911028 + PropertyAccessExpression 2911028 2911065 + Identifier 2911028 2911043 + Identifier 2911044 2911065 + BarToken 2911065 2911067 + PropertyAccessExpression 2911067 2911111 + Identifier 2911067 2911082 + Identifier 2911083 2911111 + ExpressionStatement 2911112 2911154 + CallExpression 2911112 2911153 + Identifier 2911112 2911147 + Identifier 2911148 2911152 + ReturnStatement 2911154 2911185 + Identifier 2911174 2911184 + FunctionDeclaration 2911196 2911324 + Identifier 2911216 2911238 + Parameter 2911239 2911249 + Identifier 2911239 2911243 + TypeReference 2911244 2911249 + Identifier 2911244 2911249 + Block 2911250 2911324 + ExpressionStatement 2911252 2911313 + CallExpression 2911252 2911312 + Identifier 2911252 2911288 + Identifier 2911289 2911293 + Identifier 2911294 2911311 + FunctionDeclaration 2911324 2911723 + Identifier 2911344 2911394 + Parameter 2911395 2911411 + Identifier 2911395 2911399 + TypeReference 2911400 2911411 + Identifier 2911400 2911411 + Block 2911412 2911723 + ReturnStatement 2911414 2911712 + BinaryExpression 2911551 2911711 + CallExpression 2911551 2911574 + Identifier 2911551 2911568 + Identifier 2911569 2911573 + BarBarToken 2911574 2911594 + BinaryExpression 2911594 2911711 + CallExpression 2911594 2911637 + Identifier 2911594 2911624 + PropertyAccessExpression 2911625 2911636 + Identifier 2911625 2911629 + Identifier 2911630 2911636 + AmpersandAmpersandToken 2911637 2911640 + BinaryExpression 2911640 2911711 + ParenthesizedExpression 2911640 2911702 + BinaryExpression 2911642 2911701 + PropertyAccessExpression 2911642 2911681 + PropertyAccessExpression 2911642 2911653 + Identifier 2911642 2911646 + Identifier 2911647 2911653 + Identifier 2911654 2911681 + QuestionQuestionToken 2911681 2911684 + PropertyAccessExpression 2911684 2911701 + PropertyAccessExpression 2911684 2911696 + Identifier 2911684 2911689 + Identifier 2911690 2911696 + Identifier 2911697 2911701 + EqualsEqualsEqualsToken 2911702 2911706 + Identifier 2911706 2911711 + FunctionDeclaration 2911723 2912593 + Identifier 2911743 2911765 + Parameter 2911766 2911776 + Identifier 2911766 2911770 + TypeReference 2911771 2911776 + Identifier 2911771 2911776 + Block 2911777 2912593 + VariableStatement 2911779 2911830 + VariableDeclarationList 2911779 2911829 + VariableDeclaration 2911798 2911829 + Identifier 2911798 2911808 + CallExpression 2911810 2911829 + Identifier 2911810 2911823 + Identifier 2911824 2911828 + ExpressionStatement 2911830 2911909 + BinaryExpression 2911830 2911908 + PropertyAccessExpression 2911830 2911869 + Identifier 2911830 2911853 + Identifier 2911854 2911869 + BarEqualsToken 2911869 2911872 + PropertyAccessExpression 2911872 2911908 + Identifier 2911872 2911887 + Identifier 2911888 2911908 + IfStatement 2911909 2912582 + CallExpression 2911927 2911945 + Identifier 2911927 2911939 + Identifier 2911940 2911944 + Block 2911946 2912582 + ExpressionStatement 2911948 2912079 + BinaryExpression 2911948 2912078 + PropertyAccessExpression 2911948 2911991 + Identifier 2911948 2911975 + Identifier 2911976 2911991 + BarEqualsToken 2911991 2911994 + BinaryExpression 2911994 2912078 + PropertyAccessExpression 2911994 2912034 + Identifier 2911994 2912009 + Identifier 2912010 2912034 + BarToken 2912034 2912036 + PropertyAccessExpression 2912036 2912078 + Identifier 2912036 2912051 + Identifier 2912052 2912078 + IfStatement 2912079 2912567 + BinaryExpression 2912209 2912339 + CallExpression 2912209 2912264 + Identifier 2912209 2912258 + Identifier 2912259 2912263 + AmpersandAmpersandToken 2912264 2912267 + PrefixUnaryExpression 2912267 2912339 + ParenthesizedExpression 2912269 2912339 + BinaryExpression 2912270 2912338 + CallExpression 2912270 2912309 + Identifier 2912270 2912296 + PropertyAccessExpression 2912297 2912308 + Identifier 2912297 2912301 + Identifier 2912302 2912308 + AmpersandAmpersandToken 2912309 2912312 + BinaryExpression 2912312 2912338 + PropertyAccessExpression 2912312 2912329 + PropertyAccessExpression 2912312 2912324 + Identifier 2912312 2912317 + Identifier 2912318 2912324 + Identifier 2912325 2912329 + EqualsEqualsEqualsToken 2912329 2912333 + Identifier 2912333 2912338 + Block 2912340 2912567 + VariableStatement 2912342 2912398 + VariableDeclarationList 2912342 2912397 + VariableDeclaration 2912369 2912397 + Identifier 2912369 2912371 + CallExpression 2912373 2912397 + Identifier 2912373 2912391 + Identifier 2912392 2912396 + IfStatement 2912398 2912548 + BinaryExpression 2912424 2912448 + Identifier 2912424 2912425 + AmpersandAmpersandToken 2912425 2912428 + BinaryExpression 2912428 2912448 + Identifier 2912428 2912430 + ExclamationEqualsEqualsToken 2912430 2912434 + Identifier 2912434 2912448 + Block 2912449 2912548 + ExpressionStatement 2912451 2912525 + CallExpression 2912451 2912524 + Identifier 2912451 2912515 + Identifier 2912516 2912520 + Identifier 2912521 2912523 + FunctionDeclaration 2912593 2913026 + Identifier 2912613 2912637 + Parameter 2912638 2912648 + Identifier 2912638 2912642 + TypeReference 2912643 2912648 + Identifier 2912643 2912648 + Block 2912649 2913026 + VariableStatement 2912651 2912698 + VariableDeclarationList 2912651 2912697 + VariableDeclaration 2912670 2912697 + Identifier 2912670 2912676 + CallExpression 2912678 2912697 + Identifier 2912678 2912691 + Identifier 2912692 2912696 + IfStatement 2912698 2912760 + BinaryExpression 2912716 2912744 + PropertyAccessExpression 2912716 2912737 + Identifier 2912716 2912721 + Identifier 2912722 2912737 + AmpersandToken 2912737 2912739 + Identifier 2912739 2912744 + ReturnStatement 2912745 2912760 + StringLiteral 2912752 2912759 + ExpressionStatement 2912760 2912935 + BinaryExpression 2912760 2912934 + PropertyAccessExpression 2912760 2912795 + Identifier 2912760 2912779 + Identifier 2912780 2912795 + BarEqualsToken 2912795 2912798 + BinaryExpression 2912798 2912934 + BinaryExpression 2912798 2912890 + PropertyAccessExpression 2912798 2912848 + Identifier 2912798 2912813 + Identifier 2912814 2912848 + BarToken 2912848 2912850 + PropertyAccessExpression 2912850 2912890 + Identifier 2912850 2912865 + Identifier 2912866 2912890 + BarToken 2912890 2912892 + PropertyAccessExpression 2912892 2912934 + Identifier 2912892 2912907 + Identifier 2912908 2912934 + ExpressionStatement 2912935 2912984 + CallExpression 2912935 2912983 + Identifier 2912935 2912977 + Identifier 2912978 2912982 + ReturnStatement 2912984 2913015 + Identifier 2913004 2913014 + FunctionDeclaration 2913026 2913283 + Identifier 2913046 2913083 + Parameter 2913084 2913094 + Identifier 2913084 2913088 + TypeReference 2913089 2913094 + Identifier 2913089 2913094 + Block 2913095 2913283 + VariableStatement 2913097 2913203 + VariableDeclarationList 2913097 2913202 + VariableDeclaration 2913116 2913202 + Identifier 2913116 2913122 + CallExpression 2913124 2913202 + Identifier 2913124 2913156 + ConditionalExpression 2913157 2913201 + CallExpression 2913157 2913180 + Identifier 2913157 2913174 + Identifier 2913175 2913179 + QuestionToken 2913180 2913182 + PropertyAccessExpression 2913182 2913194 + Identifier 2913182 2913187 + Identifier 2913188 2913194 + ColonToken 2913194 2913196 + Identifier 2913196 2913201 + ExpressionStatement 2913203 2913272 + CallExpression 2913203 2913271 + Identifier 2913203 2913239 + Identifier 2913240 2913245 + Identifier 2913246 2913270 + FunctionDeclaration 2913283 2913777 + Identifier 2913303 2913332 + Parameter 2913333 2913343 + Identifier 2913333 2913337 + TypeReference 2913338 2913343 + Identifier 2913338 2913343 + Block 2913344 2913777 + ExpressionStatement 2913346 2913388 + CallExpression 2913346 2913387 + Identifier 2913346 2913381 + Identifier 2913382 2913386 + IfStatement 2913388 2913502 + CallExpression 2913406 2913434 + Identifier 2913406 2913428 + Identifier 2913429 2913433 + Block 2913435 2913502 + ExpressionStatement 2913437 2913487 + CallExpression 2913437 2913486 + Identifier 2913437 2913480 + Identifier 2913481 2913485 + IfStatement 2913502 2913766 + BinaryExpression 2913520 2913576 + CallExpression 2913520 2913545 + Identifier 2913520 2913539 + Identifier 2913540 2913544 + AmpersandAmpersandToken 2913545 2913548 + CallExpression 2913548 2913576 + Identifier 2913548 2913563 + PropertyAccessExpression 2913564 2913575 + Identifier 2913564 2913568 + Identifier 2913569 2913575 + Block 2913577 2913766 + ExpressionStatement 2913579 2913751 + CallExpression 2913579 2913750 + Identifier 2913579 2913634 + AsExpression 2913635 2913749 + PropertyAccessExpression 2913635 2913646 + Identifier 2913635 2913639 + Identifier 2913640 2913646 + UnionType 2913649 2913749 + TypeReference 2913649 2913669 + Identifier 2913649 2913669 + TypeReference 2913671 2913689 + Identifier 2913671 2913689 + TypeReference 2913691 2913709 + Identifier 2913691 2913709 + TypeReference 2913711 2913727 + Identifier 2913711 2913727 + TypeReference 2913729 2913749 + Identifier 2913729 2913749 + FunctionDeclaration 2913784 2914002 + Identifier 2913800 2913819 + Parameter 2913820 2913836 + Identifier 2913820 2913824 + TypeReference 2913825 2913836 + Identifier 2913825 2913836 + TypeReference 2913838 2913854 + Identifier 2913838 2913854 + Block 2913854 2914002 + ExpressionStatement 2913856 2913903 + CallExpression 2913856 2913902 + Identifier 2913856 2913889 + PropertyAccessExpression 2913890 2913901 + Identifier 2913890 2913894 + Identifier 2913895 2913901 + ReturnStatement 2913903 2913995 + BinaryExpression 2913919 2913994 + PropertyAccessExpression 2913919 2913954 + CallExpression 2913919 2913938 + Identifier 2913919 2913932 + Identifier 2913933 2913937 + Identifier 2913939 2913954 + QuestionQuestionToken 2913954 2913957 + CallExpression 2913957 2913994 + Identifier 2913957 2913973 + Identifier 2913974 2913993 + FunctionDeclaration 2914002 2914343 + Identifier 2914018 2914039 + Parameter 2914040 2914050 + Identifier 2914040 2914044 + TypeReference 2914045 2914050 + Identifier 2914045 2914050 + TypePredicate 2914052 2914090 + Identifier 2914052 2914057 + UnionType 2914060 2914090 + TypeReference 2914060 2914071 + Identifier 2914060 2914071 + TypeReference 2914073 2914090 + Identifier 2914073 2914090 + Block 2914090 2914343 + SwitchStatement 2914092 2914313 + PropertyAccessExpression 2914110 2914119 + Identifier 2914110 2914114 + Identifier 2914115 2914119 + CaseBlock 2914120 2914313 + CaseClause 2914122 2914163 + PropertyAccessExpression 2914140 2914162 + Identifier 2914140 2914151 + Identifier 2914152 2914162 + CaseClause 2914163 2914218 + PropertyAccessExpression 2914181 2914217 + Identifier 2914181 2914192 + Identifier 2914193 2914217 + CaseClause 2914218 2914302 + PropertyAccessExpression 2914236 2914271 + Identifier 2914236 2914247 + Identifier 2914248 2914271 + ReturnStatement 2914272 2914302 + TrueKeyword 2914296 2914301 + ReturnStatement 2914313 2914336 + FalseKeyword 2914329 2914335 + FunctionDeclaration 2914343 2915251 + Identifier 2914359 2914376 + Parameter 2914377 2914412 + Identifier 2914377 2914381 + UnionType 2914382 2914412 + TypeReference 2914382 2914393 + Identifier 2914382 2914393 + TypeReference 2914395 2914412 + Identifier 2914395 2914412 + UnionType 2914414 2914442 + StringKeyword 2914414 2914421 + NumberKeyword 2914423 2914430 + UndefinedKeyword 2914432 2914442 + Block 2914442 2915251 + IfStatement 2914444 2914559 + BinaryExpression 2914458 2914493 + PropertyAccessExpression 2914458 2914467 + Identifier 2914458 2914462 + Identifier 2914463 2914467 + EqualsEqualsEqualsToken 2914467 2914471 + PropertyAccessExpression 2914471 2914493 + Identifier 2914471 2914482 + Identifier 2914483 2914493 + Block 2914494 2914559 + ReturnStatement 2914496 2914548 + PropertyAccessExpression 2914516 2914547 + CallExpression 2914516 2914541 + Identifier 2914516 2914535 + Identifier 2914536 2914540 + Identifier 2914542 2914547 + IfStatement 2914559 2914710 + PrefixUnaryExpression 2914575 2914609 + PropertyAccessExpression 2914576 2914609 + CallExpression 2914576 2914594 + Identifier 2914576 2914588 + Identifier 2914589 2914593 + Identifier 2914595 2914609 + Block 2914610 2914710 + ExpressionStatement 2914612 2914659 + VoidExpression 2914612 2914658 + CallExpression 2914630 2914658 + Identifier 2914630 2914652 + Identifier 2914653 2914657 + VariableStatement 2914710 2914883 + VariableDeclarationList 2914710 2914882 + VariableDeclaration 2914725 2914882 + Identifier 2914725 2914732 + BinaryExpression 2914734 2914882 + PropertyAccessExpression 2914734 2914768 + CallExpression 2914734 2914753 + Identifier 2914734 2914747 + Identifier 2914748 2914752 + Identifier 2914754 2914768 + BarBarToken 2914768 2914771 + ParenthesizedExpression 2914771 2914882 + ConditionalExpression 2914773 2914881 + CallExpression 2914773 2914801 + Identifier 2914773 2914795 + Identifier 2914796 2914800 + QuestionToken 2914801 2914803 + CallExpression 2914803 2914869 + Identifier 2914803 2914821 + Identifier 2914822 2914826 + PropertyAccessExpression 2914827 2914845 + Identifier 2914827 2914839 + Identifier 2914840 2914845 + TrueKeyword 2914846 2914868 + ColonToken 2914869 2914871 + Identifier 2914871 2914881 + IfStatement 2914883 2915215 + BinaryExpression 2914897 2914946 + Identifier 2914897 2914903 + AmpersandAmpersandToken 2914903 2914906 + ParenthesizedExpression 2914906 2914946 + BinaryExpression 2914908 2914945 + PropertyAccessExpression 2914908 2914920 + Identifier 2914908 2914914 + Identifier 2914915 2914920 + AmpersandToken 2914920 2914922 + PropertyAccessExpression 2914922 2914945 + Identifier 2914922 2914934 + Identifier 2914935 2914945 + Block 2914947 2915215 + VariableStatement 2914949 2915084 + VariableDeclarationList 2914949 2915083 + VariableDeclaration 2915036 2915083 + Identifier 2915036 2915043 + AsExpression 2915045 2915083 + PropertyAccessExpression 2915045 2915069 + Identifier 2915045 2915052 + Identifier 2915053 2915069 + TypeReference 2915072 2915083 + Identifier 2915072 2915083 + IfStatement 2915084 2915204 + CallExpression 2915102 2915128 + Identifier 2915102 2915113 + PropertyAccessExpression 2915114 2915127 + Identifier 2915114 2915120 + Identifier 2915121 2915127 + Block 2915129 2915204 + ReturnStatement 2915131 2915189 + PropertyAccessExpression 2915155 2915188 + CallExpression 2915155 2915182 + Identifier 2915155 2915174 + Identifier 2915175 2915181 + Identifier 2915183 2915188 + ReturnStatement 2915215 2915244 + Identifier 2915233 2915243 + FunctionDeclaration 2915251 2915423 + Identifier 2915267 2915282 + Parameter 2915283 2915293 + Identifier 2915283 2915287 + TypeReference 2915288 2915293 + Identifier 2915288 2915293 + BooleanKeyword 2915295 2915303 + Block 2915303 2915423 + ReturnStatement 2915305 2915416 + BinaryExpression 2915321 2915415 + PrefixUnaryExpression 2915321 2915355 + PrefixUnaryExpression 2915323 2915355 + ParenthesizedExpression 2915324 2915355 + BinaryExpression 2915325 2915354 + PropertyAccessExpression 2915325 2915335 + Identifier 2915325 2915329 + Identifier 2915330 2915335 + AmpersandToken 2915335 2915337 + PropertyAccessExpression 2915337 2915354 + Identifier 2915337 2915347 + Identifier 2915348 2915354 + AmpersandAmpersandToken 2915355 2915358 + BinaryExpression 2915358 2915415 + PropertyAccessExpression 2915358 2915411 + CallExpression 2915358 2915404 + Identifier 2915358 2915378 + Identifier 2915379 2915383 + PropertyAccessExpression 2915384 2915403 + Identifier 2915384 2915398 + Identifier 2915399 2915403 + Identifier 2915405 2915411 + GreaterThanToken 2915411 2915413 + NumericLiteral 2915413 2915415 + FunctionDeclaration 2915423 2920124 + Identifier 2915439 2915473 + Parameter 2915474 2915496 + Identifier 2915474 2915484 + TypeReference 2915485 2915496 + Identifier 2915485 2915496 + Parameter 2915497 2915513 + Identifier 2915497 2915506 + QuestionToken 2915506 2915507 + TypeReference 2915508 2915513 + Identifier 2915508 2915513 + TypeReference 2915515 2915546 + Identifier 2915515 2915546 + Block 2915546 2920124 + VariableStatement 2915548 2915690 + VariableDeclarationList 2915548 2915689 + VariableDeclaration 2915635 2915689 + Identifier 2915635 2915644 + CallExpression 2915646 2915689 + Identifier 2915646 2915663 + Identifier 2915664 2915674 + Identifier 2915675 2915688 + IfStatement 2915690 2915761 + PrefixUnaryExpression 2915704 2915713 + Identifier 2915705 2915713 + ReturnStatement 2915714 2915761 + PropertyAccessExpression 2915721 2915760 + Identifier 2915721 2915752 + Identifier 2915753 2915760 + IfStatement 2915761 2915926 + Identifier 2915777 2915785 + Block 2915786 2915926 + ExpressionStatement 2915788 2915840 + BinaryExpression 2915788 2915839 + Identifier 2915788 2915810 + EqualsToken 2915810 2915812 + CallExpression 2915812 2915839 + Identifier 2915812 2915829 + Identifier 2915830 2915838 + IfStatement 2915840 2915915 + PrefixUnaryExpression 2915858 2915867 + Identifier 2915859 2915867 + ReturnStatement 2915868 2915915 + PropertyAccessExpression 2915875 2915914 + Identifier 2915875 2915906 + Identifier 2915907 2915914 + VariableStatement 2915926 2916061 + VariableDeclarationList 2915926 2916060 + VariableDeclaration 2916041 2916060 + Identifier 2916041 2916052 + FalseKeyword 2916054 2916060 + IfStatement 2916061 2916382 + CallExpression 2916075 2916100 + Identifier 2916075 2916090 + Identifier 2916091 2916099 + Block 2916101 2916382 + VariableStatement 2916103 2916268 + VariableDeclarationList 2916103 2916267 + VariableDeclaration 2916122 2916267 + Identifier 2916122 2916138 + CallExpression 2916140 2916267 + Identifier 2916140 2916158 + CallExpression 2916159 2916187 + Identifier 2916159 2916177 + Identifier 2916178 2916186 + PropertyAccessExpression 2916188 2916206 + Identifier 2916188 2916200 + Identifier 2916201 2916206 + TrueKeyword 2916207 2916229 + TrueKeyword 2916230 2916256 + Identifier 2916257 2916266 + ExpressionStatement 2916268 2916371 + BinaryExpression 2916268 2916370 + Identifier 2916268 2916292 + EqualsToken 2916292 2916294 + PrefixUnaryExpression 2916294 2916370 + PrefixUnaryExpression 2916296 2916370 + CallExpression 2916297 2916370 + PropertyAccessExpression 2916297 2916333 + PropertyAccessExpression 2916297 2916326 + Identifier 2916297 2916312 + QuestionDotToken 2916312 2916314 + Identifier 2916314 2916326 + QuestionDotToken 2916326 2916328 + Identifier 2916328 2916333 + Identifier 2916334 2916369 + VariableStatement 2916382 2916519 + VariableDeclarationList 2916382 2916518 + VariableDeclaration 2916397 2916518 + Identifier 2916397 2916409 + CallExpression 2916411 2916518 + Identifier 2916411 2916429 + Identifier 2916430 2916438 + PropertyAccessExpression 2916439 2916457 + Identifier 2916439 2916451 + Identifier 2916452 2916457 + TrueKeyword 2916458 2916480 + TrueKeyword 2916481 2916507 + Identifier 2916508 2916517 + VariableStatement 2916519 2916652 + VariableDeclarationList 2916519 2916651 + VariableDeclaration 2916534 2916651 + Identifier 2916534 2916554 + ConditionalExpression 2916556 2916651 + BinaryExpression 2916556 2916609 + Identifier 2916556 2916568 + AmpersandAmpersandToken 2916568 2916571 + BinaryExpression 2916571 2916609 + PropertyAccessExpression 2916571 2916589 + Identifier 2916571 2916583 + Identifier 2916584 2916589 + AmpersandToken 2916589 2916591 + PropertyAccessExpression 2916591 2916609 + Identifier 2916591 2916603 + Identifier 2916604 2916609 + QuestionToken 2916609 2916611 + CallExpression 2916611 2916637 + Identifier 2916611 2916624 + Identifier 2916625 2916636 + ColonToken 2916637 2916639 + Identifier 2916639 2916651 + ExpressionStatement 2916652 2916756 + BinaryExpression 2916652 2916755 + Identifier 2916652 2916672 + BarBarEqualsToken 2916672 2916676 + PrefixUnaryExpression 2916676 2916755 + PrefixUnaryExpression 2916678 2916755 + ParenthesizedExpression 2916679 2916755 + BinaryExpression 2916680 2916754 + Identifier 2916680 2916691 + AmpersandAmpersandToken 2916691 2916694 + CallExpression 2916694 2916754 + Identifier 2916694 2916722 + Identifier 2916723 2916734 + PropertyAccessExpression 2916735 2916753 + Identifier 2916735 2916747 + Identifier 2916748 2916753 + VariableStatement 2916756 2917001 + VariableDeclarationList 2916756 2917000 + VariableDeclaration 2916881 2917000 + Identifier 2916881 2916892 + CallExpression 2916894 2917000 + Identifier 2916894 2916912 + Identifier 2916913 2916921 + PropertyAccessExpression 2916922 2916939 + Identifier 2916922 2916934 + Identifier 2916935 2916939 + TrueKeyword 2916940 2916962 + TrueKeyword 2916963 2916989 + Identifier 2916990 2916999 + VariableStatement 2917001 2917129 + VariableDeclarationList 2917001 2917128 + VariableDeclaration 2917016 2917128 + Identifier 2917016 2917035 + ConditionalExpression 2917037 2917128 + BinaryExpression 2917037 2917088 + Identifier 2917037 2917048 + AmpersandAmpersandToken 2917048 2917051 + BinaryExpression 2917051 2917088 + PropertyAccessExpression 2917051 2917068 + Identifier 2917051 2917062 + Identifier 2917063 2917068 + AmpersandToken 2917068 2917070 + PropertyAccessExpression 2917070 2917088 + Identifier 2917070 2917082 + Identifier 2917083 2917088 + QuestionToken 2917088 2917090 + CallExpression 2917090 2917115 + Identifier 2917090 2917103 + Identifier 2917104 2917114 + ColonToken 2917115 2917117 + Identifier 2917117 2917128 + IfStatement 2917129 2917411 + PrefixUnaryExpression 2917280 2917292 + Identifier 2917281 2917292 + Block 2917293 2917411 + ExpressionStatement 2917295 2917400 + BinaryExpression 2917295 2917399 + Identifier 2917295 2917319 + BarBarEqualsToken 2917319 2917323 + PrefixUnaryExpression 2917323 2917399 + PrefixUnaryExpression 2917325 2917399 + ParenthesizedExpression 2917326 2917399 + BinaryExpression 2917327 2917398 + Identifier 2917327 2917337 + AmpersandAmpersandToken 2917337 2917340 + CallExpression 2917340 2917398 + Identifier 2917340 2917368 + Identifier 2917369 2917379 + PropertyAccessExpression 2917380 2917397 + Identifier 2917380 2917392 + Identifier 2917393 2917397 + IfStatement 2917411 2918097 + BinaryExpression 2917427 2917492 + Identifier 2917427 2917446 + AmpersandAmpersandToken 2917446 2917449 + BinaryExpression 2917449 2917492 + Identifier 2917449 2917469 + EqualsEqualsEqualsToken 2917469 2917473 + Identifier 2917473 2917492 + Block 2917493 2918097 + VariableStatement 2917495 2917595 + VariableDeclarationList 2917495 2917594 + VariableDeclaration 2917514 2917594 + Identifier 2917514 2917534 + CallExpression 2917536 2917594 + Identifier 2917536 2917570 + FalseKeyword 2917571 2917593 + IfStatement 2917595 2917761 + BinaryExpression 2917613 2917679 + Identifier 2917613 2917632 + AmpersandAmpersandToken 2917632 2917635 + BinaryExpression 2917635 2917679 + Identifier 2917635 2917655 + EqualsEqualsEqualsToken 2917655 2917659 + Identifier 2917659 2917679 + Block 2917680 2917761 + ReturnStatement 2917682 2917746 + PropertyAccessExpression 2917706 2917745 + Identifier 2917706 2917737 + Identifier 2917738 2917745 + VariableStatement 2917761 2917838 + VariableDeclarationList 2917761 2917837 + VariableDeclaration 2917782 2917837 + Identifier 2917782 2917798 + CallExpression 2917800 2917837 + Identifier 2917800 2917816 + Identifier 2917817 2917836 + IfStatement 2917838 2918086 + BinaryExpression 2917856 2917909 + Identifier 2917856 2917871 + AmpersandAmpersandToken 2917871 2917874 + CallExpression 2917874 2917909 + Identifier 2917874 2917892 + Identifier 2917893 2917908 + Block 2917910 2918086 + ReturnStatement 2917912 2918071 + ConditionalExpression 2917936 2918070 + Identifier 2917936 2917947 + QuestionToken 2917947 2917949 + PropertyAccessExpression 2917949 2918002 + Identifier 2917949 2917980 + Identifier 2917981 2918002 + ColonToken 2918002 2918004 + PropertyAccessExpression 2918004 2918070 + Identifier 2918004 2918035 + Identifier 2918036 2918070 + IfStatement 2918097 2918368 + PrefixUnaryExpression 2918218 2918237 + Identifier 2918219 2918237 + Block 2918238 2918368 + ReturnStatement 2918240 2918357 + ConditionalExpression 2918260 2918356 + Identifier 2918260 2918271 + QuestionToken 2918271 2918273 + PropertyAccessExpression 2918273 2918315 + Identifier 2918273 2918304 + Identifier 2918305 2918315 + ColonToken 2918315 2918317 + PropertyAccessExpression 2918317 2918356 + Identifier 2918317 2918348 + Identifier 2918349 2918356 + VariableStatement 2918368 2918435 + VariableDeclarationList 2918368 2918434 + VariableDeclaration 2918383 2918434 + Identifier 2918383 2918388 + CallExpression 2918390 2918434 + Identifier 2918390 2918414 + Identifier 2918415 2918433 + IfStatement 2918435 2920117 + CallExpression 2918449 2918466 + Identifier 2918449 2918460 + Identifier 2918461 2918465 + Block 2918467 2918597 + ReturnStatement 2918469 2918586 + ConditionalExpression 2918489 2918585 + Identifier 2918489 2918500 + QuestionToken 2918500 2918502 + PropertyAccessExpression 2918502 2918544 + Identifier 2918502 2918533 + Identifier 2918534 2918544 + ColonToken 2918544 2918546 + PropertyAccessExpression 2918546 2918585 + Identifier 2918546 2918577 + Identifier 2918578 2918585 + IfStatement 2918611 2920117 + BinaryExpression 2918616 2918651 + PropertyAccessExpression 2918616 2918626 + Identifier 2918616 2918620 + Identifier 2918621 2918626 + AmpersandToken 2918626 2918628 + PropertyAccessExpression 2918628 2918651 + Identifier 2918628 2918638 + Identifier 2918639 2918651 + Block 2918652 2918728 + ReturnStatement 2918654 2918717 + PropertyAccessExpression 2918674 2918716 + Identifier 2918674 2918705 + Identifier 2918706 2918716 + IfStatement 2918742 2920117 + CallExpression 2918747 2918830 + Identifier 2918747 2918769 + Identifier 2918770 2918774 + BinaryExpression 2918775 2918829 + BinaryExpression 2918775 2918811 + PropertyAccessExpression 2918775 2918790 + Identifier 2918775 2918785 + Identifier 2918786 2918790 + BarToken 2918790 2918792 + PropertyAccessExpression 2918792 2918811 + Identifier 2918792 2918802 + Identifier 2918803 2918811 + BarToken 2918811 2918813 + PropertyAccessExpression 2918813 2918829 + Identifier 2918813 2918823 + Identifier 2918824 2918829 + Block 2918831 2918920 + ReturnStatement 2918833 2918909 + PropertyAccessExpression 2918853 2918908 + Identifier 2918853 2918884 + Identifier 2918885 2918908 + IfStatement 2918934 2920117 + CallExpression 2918939 2918990 + Identifier 2918939 2918961 + Identifier 2918962 2918966 + PropertyAccessExpression 2918967 2918989 + Identifier 2918967 2918977 + Identifier 2918978 2918989 + Block 2918991 2919068 + ReturnStatement 2918993 2919057 + PropertyAccessExpression 2919013 2919056 + Identifier 2919013 2919044 + Identifier 2919045 2919056 + IfStatement 2919082 2920117 + CallExpression 2919087 2919137 + Identifier 2919087 2919109 + Identifier 2919110 2919114 + PropertyAccessExpression 2919115 2919136 + Identifier 2919115 2919125 + Identifier 2919126 2919136 + Block 2919138 2919218 + ReturnStatement 2919140 2919207 + PropertyAccessExpression 2919160 2919206 + Identifier 2919160 2919191 + Identifier 2919192 2919206 + IfStatement 2919232 2920117 + CallExpression 2919237 2919287 + Identifier 2919237 2919259 + Identifier 2919260 2919264 + PropertyAccessExpression 2919265 2919286 + Identifier 2919265 2919275 + Identifier 2919276 2919286 + Block 2919288 2919368 + ReturnStatement 2919290 2919357 + PropertyAccessExpression 2919310 2919356 + Identifier 2919310 2919341 + Identifier 2919342 2919356 + IfStatement 2919382 2920117 + CallExpression 2919387 2919437 + Identifier 2919387 2919409 + Identifier 2919410 2919414 + PropertyAccessExpression 2919415 2919436 + Identifier 2919415 2919425 + Identifier 2919426 2919436 + Block 2919438 2919518 + ReturnStatement 2919440 2919507 + PropertyAccessExpression 2919460 2919506 + Identifier 2919460 2919491 + Identifier 2919492 2919506 + IfStatement 2919532 2920117 + CallExpression 2919537 2919554 + Identifier 2919537 2919548 + Identifier 2919549 2919553 + Block 2919555 2919634 + ReturnStatement 2919557 2919623 + PropertyAccessExpression 2919577 2919622 + Identifier 2919577 2919608 + Identifier 2919609 2919622 + IfStatement 2919648 2920117 + CallExpression 2919653 2919705 + Identifier 2919653 2919675 + Identifier 2919676 2919680 + PropertyAccessExpression 2919681 2919704 + Identifier 2919681 2919691 + Identifier 2919692 2919704 + Block 2919706 2919784 + ReturnStatement 2919708 2919773 + PropertyAccessExpression 2919728 2919772 + Identifier 2919728 2919759 + Identifier 2919760 2919772 + IfStatement 2919798 2920117 + CallExpression 2919803 2919823 + Identifier 2919803 2919817 + Identifier 2919818 2919822 + Block 2919824 2919911 + ReturnStatement 2919826 2919900 + PropertyAccessExpression 2919846 2919899 + Identifier 2919846 2919877 + Identifier 2919878 2919899 + IfStatement 2919925 2920117 + CallExpression 2919930 2919947 + Identifier 2919930 2919941 + Identifier 2919942 2919946 + Block 2919948 2920027 + ReturnStatement 2919950 2920016 + PropertyAccessExpression 2919970 2920015 + Identifier 2919970 2920001 + Identifier 2920002 2920015 + Block 2920041 2920117 + ReturnStatement 2920043 2920106 + PropertyAccessExpression 2920063 2920105 + Identifier 2920063 2920094 + Identifier 2920095 2920105 + FunctionDeclaration 2920124 2920854 + Identifier 2920140 2920164 + Parameter 2920165 2920195 + Identifier 2920165 2920178 + TypeReference 2920179 2920195 + Identifier 2920179 2920195 + Parameter 2920196 2920223 + Identifier 2920196 2920217 + TypeReference 2920218 2920223 + Identifier 2920218 2920223 + Parameter 2920224 2920248 + Identifier 2920224 2920230 + TypeReference 2920231 2920248 + Identifier 2920231 2920248 + Parameter 2920249 2920289 + Identifier 2920249 2920263 + TypeReference 2920264 2920289 + Identifier 2920264 2920289 + Parameter 2920290 2920313 + Identifier 2920290 2920298 + TypeReference 2920299 2920313 + Identifier 2920299 2920313 + Block 2920314 2920854 + VariableStatement 2920316 2920395 + VariableDeclarationList 2920316 2920394 + VariableDeclaration 2920331 2920394 + Identifier 2920331 2920343 + CallExpression 2920345 2920394 + Identifier 2920345 2920362 + Identifier 2920363 2920376 + Identifier 2920377 2920393 + IfStatement 2920395 2920518 + PrefixUnaryExpression 2920409 2920421 + Identifier 2920410 2920421 + Block 2920422 2920518 + ReturnStatement 2920424 2920507 + AsExpression 2920444 2920506 + CallExpression 2920444 2920487 + PropertyAccessExpression 2920444 2920464 + Identifier 2920444 2920452 + Identifier 2920453 2920464 + PropertyAccessExpression 2920465 2920486 + Identifier 2920465 2920475 + Identifier 2920476 2920486 + TypeReference 2920490 2920506 + Identifier 2920490 2920506 + VariableStatement 2920518 2920673 + VariableDeclarationList 2920518 2920672 + VariableDeclaration 2920627 2920672 + Identifier 2920627 2920634 + CallExpression 2920636 2920672 + Identifier 2920636 2920659 + Identifier 2920660 2920671 + ReturnStatement 2920673 2920847 + CallExpression 2920689 2920846 + PropertyAccessExpression 2920689 2920729 + Identifier 2920689 2920701 + Identifier 2920702 2920729 + Identifier 2920730 2920741 + Identifier 2920742 2920749 + Identifier 2920750 2920771 + BinaryExpression 2920772 2920821 + Identifier 2920772 2920778 + BarToken 2920778 2920780 + PropertyAccessExpression 2920780 2920821 + Identifier 2920780 2920797 + Identifier 2920798 2920821 + Identifier 2920822 2920836 + Identifier 2920837 2920845 + FunctionDeclaration 2920854 2921922 + Identifier 2920870 2920911 + Parameter 2920912 2920941 + Identifier 2920912 2920920 + TypeReference 2920921 2920941 + Identifier 2920921 2920941 + TypeReference 2920943 2920967 + Identifier 2920943 2920967 + Block 2920967 2921922 + ExpressionStatement 2920969 2921049 + BinaryExpression 2920969 2921048 + Identifier 2920969 2920987 + EqualsToken 2920987 2920989 + NonNullExpression 2920989 2921048 + CallExpression 2920989 2921047 + Identifier 2920989 2921006 + Identifier 2921007 2921015 + Identifier 2921016 2921046 + VariableStatement 2921049 2921186 + VariableDeclarationList 2921049 2921185 + VariableDeclaration 2921082 2921185 + Identifier 2921082 2921092 + ConditionalExpression 2921094 2921185 + BinaryExpression 2921094 2921135 + PropertyAccessExpression 2921094 2921108 + Identifier 2921094 2921103 + Identifier 2921104 2921108 + EqualsEqualsEqualsToken 2921108 2921112 + PropertyAccessExpression 2921112 2921135 + Identifier 2921112 2921123 + Identifier 2921124 2921135 + QuestionToken 2921135 2921137 + PropertyAccessExpression 2921137 2921160 + Identifier 2921137 2921148 + Identifier 2921149 2921160 + ColonToken 2921160 2921162 + PropertyAccessExpression 2921162 2921185 + Identifier 2921162 2921173 + Identifier 2921174 2921185 + VariableStatement 2921186 2921305 + VariableDeclarationList 2921186 2921304 + VariableDeclaration 2921201 2921304 + Identifier 2921201 2921215 + CallExpression 2921217 2921304 + Identifier 2921217 2921238 + TypeReference 2921239 2921258 + Identifier 2921239 2921258 + CallExpression 2921260 2921292 + Identifier 2921260 2921282 + Identifier 2921283 2921291 + Identifier 2921293 2921303 + VariableStatement 2921305 2921416 + VariableDeclarationList 2921305 2921415 + VariableDeclaration 2921320 2921415 + Identifier 2921320 2921334 + ConditionalExpression 2921336 2921415 + BinaryExpression 2921336 2921388 + Identifier 2921336 2921350 + AmpersandAmpersandToken 2921350 2921353 + ParenthesizedExpression 2921353 2921388 + BinaryExpression 2921355 2921387 + PropertyAccessExpression 2921355 2921372 + Identifier 2921355 2921368 + Identifier 2921369 2921372 + LessThanToken 2921372 2921374 + PropertyAccessExpression 2921374 2921387 + Identifier 2921374 2921383 + Identifier 2921384 2921387 + QuestionToken 2921388 2921390 + Identifier 2921390 2921404 + ColonToken 2921404 2921406 + Identifier 2921406 2921415 + VariableStatement 2921416 2921528 + VariableDeclarationList 2921416 2921527 + VariableDeclaration 2921431 2921527 + Identifier 2921431 2921446 + ConditionalExpression 2921448 2921527 + BinaryExpression 2921448 2921500 + Identifier 2921448 2921462 + AmpersandAmpersandToken 2921462 2921465 + ParenthesizedExpression 2921465 2921500 + BinaryExpression 2921467 2921499 + PropertyAccessExpression 2921467 2921484 + Identifier 2921467 2921480 + Identifier 2921481 2921484 + LessThanToken 2921484 2921486 + PropertyAccessExpression 2921486 2921499 + Identifier 2921486 2921495 + Identifier 2921496 2921499 + QuestionToken 2921500 2921502 + Identifier 2921502 2921511 + ColonToken 2921511 2921513 + Identifier 2921513 2921527 + VariableStatement 2921528 2921652 + VariableDeclarationList 2921528 2921651 + VariableDeclaration 2921543 2921651 + Identifier 2921543 2921555 + ConditionalExpression 2921557 2921651 + BinaryExpression 2921557 2921598 + PropertyAccessExpression 2921557 2921571 + Identifier 2921557 2921566 + Identifier 2921567 2921571 + EqualsEqualsEqualsToken 2921571 2921575 + PropertyAccessExpression 2921575 2921598 + Identifier 2921575 2921586 + Identifier 2921587 2921598 + QuestionToken 2921598 2921600 + Identifier 2921600 2921609 + ColonToken 2921609 2921611 + AsExpression 2921611 2921651 + Identifier 2921611 2921625 + TypeReference 2921628 2921651 + Identifier 2921628 2921651 + VariableStatement 2921652 2921776 + VariableDeclarationList 2921652 2921775 + VariableDeclaration 2921667 2921775 + Identifier 2921667 2921679 + ConditionalExpression 2921681 2921775 + BinaryExpression 2921681 2921722 + PropertyAccessExpression 2921681 2921695 + Identifier 2921681 2921690 + Identifier 2921691 2921695 + EqualsEqualsEqualsToken 2921695 2921699 + PropertyAccessExpression 2921699 2921722 + Identifier 2921699 2921710 + Identifier 2921711 2921722 + QuestionToken 2921722 2921724 + Identifier 2921724 2921733 + ColonToken 2921733 2921735 + AsExpression 2921735 2921775 + Identifier 2921735 2921749 + TypeReference 2921752 2921775 + Identifier 2921752 2921775 + ReturnStatement 2921776 2921915 + ObjectLiteralExpression 2921792 2921914 + ShorthandPropertyAssignment 2921794 2921821 + Identifier 2921794 2921821 + ShorthandPropertyAssignment 2921822 2921850 + Identifier 2921822 2921850 + ShorthandPropertyAssignment 2921851 2921876 + Identifier 2921851 2921876 + ShorthandPropertyAssignment 2921877 2921902 + Identifier 2921877 2921902 + FunctionDeclaration 2921922 2922555 + Identifier 2921936 2921975 + Parameter 2921976 2922020 + Identifier 2921976 2921998 + TypeReference 2921999 2922020 + Identifier 2921999 2922020 + Parameter 2922021 2922048 + Identifier 2922021 2922042 + TypeReference 2922043 2922048 + Identifier 2922043 2922048 + Parameter 2922049 2922073 + Identifier 2922049 2922055 + TypeReference 2922056 2922073 + Identifier 2922056 2922073 + Parameter 2922074 2922114 + Identifier 2922074 2922088 + TypeReference 2922089 2922114 + Identifier 2922089 2922114 + Parameter 2922115 2922138 + Identifier 2922115 2922123 + TypeReference 2922124 2922138 + Identifier 2922124 2922138 + Block 2922139 2922555 + VariableStatement 2922141 2922237 + VariableDeclarationList 2922141 2922236 + VariableDeclaration 2922156 2922236 + Identifier 2922156 2922177 + CallExpression 2922179 2922236 + Identifier 2922179 2922196 + Identifier 2922197 2922219 + Identifier 2922220 2922235 + IfStatement 2922237 2922369 + PrefixUnaryExpression 2922251 2922272 + Identifier 2922252 2922272 + Block 2922273 2922369 + ReturnStatement 2922275 2922358 + AsExpression 2922295 2922357 + CallExpression 2922295 2922338 + PropertyAccessExpression 2922295 2922315 + Identifier 2922295 2922303 + Identifier 2922304 2922315 + PropertyAccessExpression 2922316 2922337 + Identifier 2922316 2922326 + Identifier 2922327 2922337 + TypeReference 2922341 2922357 + Identifier 2922341 2922357 + ReturnStatement 2922369 2922548 + CallExpression 2922385 2922547 + PropertyAccessExpression 2922385 2922429 + Identifier 2922385 2922397 + Identifier 2922398 2922429 + Identifier 2922430 2922450 + Identifier 2922451 2922472 + BinaryExpression 2922473 2922522 + Identifier 2922473 2922479 + BarToken 2922479 2922481 + PropertyAccessExpression 2922481 2922522 + Identifier 2922481 2922498 + Identifier 2922499 2922522 + Identifier 2922523 2922537 + Identifier 2922538 2922546 + FunctionDeclaration 2922555 2923077 + Identifier 2922571 2922594 + Parameter 2922595 2922613 + Identifier 2922595 2922601 + TypeReference 2922602 2922613 + Identifier 2922602 2922613 + Parameter 2922614 2922641 + Identifier 2922614 2922635 + TypeReference 2922636 2922641 + Identifier 2922636 2922641 + Parameter 2922642 2922666 + Identifier 2922642 2922648 + TypeReference 2922649 2922666 + Identifier 2922649 2922666 + Parameter 2922667 2922707 + Identifier 2922667 2922681 + TypeReference 2922682 2922707 + Identifier 2922682 2922707 + Parameter 2922708 2922731 + Identifier 2922708 2922716 + TypeReference 2922717 2922731 + Identifier 2922717 2922731 + Block 2922732 2923077 + VariableStatement 2922734 2922796 + VariableDeclarationList 2922734 2922795 + VariableDeclaration 2922749 2922795 + Identifier 2922749 2922754 + CallExpression 2922756 2922795 + Identifier 2922756 2922773 + Identifier 2922774 2922780 + Identifier 2922781 2922794 + IfStatement 2922796 2922912 + PrefixUnaryExpression 2922810 2922815 + Identifier 2922811 2922815 + Block 2922816 2922912 + ReturnStatement 2922818 2922901 + AsExpression 2922838 2922900 + CallExpression 2922838 2922881 + PropertyAccessExpression 2922838 2922858 + Identifier 2922838 2922846 + Identifier 2922847 2922858 + PropertyAccessExpression 2922859 2922880 + Identifier 2922859 2922869 + Identifier 2922870 2922880 + TypeReference 2922884 2922900 + Identifier 2922884 2922900 + ReturnStatement 2922912 2923070 + CallExpression 2922928 2923069 + PropertyAccessExpression 2922928 2922967 + Identifier 2922928 2922940 + Identifier 2922941 2922967 + Identifier 2922968 2922972 + Identifier 2922973 2922994 + BinaryExpression 2922995 2923044 + Identifier 2922995 2923001 + BarToken 2923001 2923003 + PropertyAccessExpression 2923003 2923044 + Identifier 2923003 2923020 + Identifier 2923021 2923044 + Identifier 2923045 2923059 + Identifier 2923060 2923068 + FunctionDeclaration 2923077 2923200 + Identifier 2923093 2923107 + Parameter 2923108 2923120 + Identifier 2923108 2923112 + StringKeyword 2923113 2923120 + BooleanKeyword 2923122 2923130 + Block 2923130 2923200 + ReturnStatement 2923132 2923193 + CallExpression 2923148 2923192 + PropertyAccessExpression 2923148 2923160 + Identifier 2923148 2923156 + Identifier 2923157 2923160 + CallExpression 2923161 2923191 + Identifier 2923161 2923185 + Identifier 2923186 2923190 + FunctionDeclaration 2923200 2924105 + Identifier 2923216 2923241 + Parameter 2923242 2923263 + Identifier 2923242 2923251 + TypeReference 2923252 2923263 + Identifier 2923252 2923263 + Parameter 2923264 2923302 + Identifier 2923264 2923292 + QuestionToken 2923292 2923293 + BooleanKeyword 2923294 2923302 + UnionType 2923304 2923323 + TypeReference 2923304 2923311 + Identifier 2923304 2923311 + UndefinedKeyword 2923313 2923323 + Block 2923323 2924105 + VariableStatement 2923325 2923397 + VariableDeclarationList 2923325 2923396 + VariableDeclaration 2923340 2923396 + Identifier 2923340 2923355 + PropertyAccessExpression 2923357 2923396 + CallExpression 2923357 2923381 + Identifier 2923357 2923370 + Identifier 2923371 2923380 + Identifier 2923382 2923396 + IfStatement 2923397 2923475 + Identifier 2923411 2923425 + Block 2923426 2923475 + ReturnStatement 2923428 2923464 + Identifier 2923448 2923463 + VariableStatement 2923475 2923518 + VariableDeclarationList 2923475 2923517 + VariableDeclaration 2923490 2923517 + Identifier 2923490 2923499 + TypeReference 2923500 2923505 + Identifier 2923500 2923505 + Identifier 2923507 2923517 + IfStatement 2923518 2923918 + Identifier 2923532 2923559 + Block 2923560 2923918 + VariableStatement 2923562 2923760 + VariableDeclarationList 2923562 2923759 + VariableDeclaration 2923733 2923759 + Identifier 2923733 2923740 + PropertyAccessExpression 2923742 2923759 + Identifier 2923742 2923752 + Identifier 2923753 2923759 + IfStatement 2923760 2923907 + BinaryExpression 2923778 2923828 + CallExpression 2923778 2923799 + Identifier 2923778 2923791 + Identifier 2923792 2923798 + AmpersandAmpersandToken 2923799 2923802 + BinaryExpression 2923802 2923828 + Identifier 2923802 2923812 + EqualsEqualsEqualsToken 2923812 2923816 + PropertyAccessExpression 2923816 2923828 + Identifier 2923816 2923823 + Identifier 2923824 2923828 + Block 2923829 2923907 + ExpressionStatement 2923831 2923892 + BinaryExpression 2923831 2923891 + Identifier 2923831 2923857 + EqualsToken 2923857 2923859 + CallExpression 2923859 2923891 + Identifier 2923859 2923883 + Identifier 2923884 2923890 + ReturnStatement 2923918 2924098 + CallExpression 2923936 2924097 + Identifier 2923936 2923948 + Identifier 2923949 2923957 + PropertyAccessExpression 2923958 2923980 + Identifier 2923958 2923968 + Identifier 2923969 2923980 + BinaryExpression 2923981 2924045 + BinaryExpression 2923981 2924025 + PropertyAccessExpression 2923981 2923999 + Identifier 2923981 2923993 + Identifier 2923994 2923999 + BarToken 2923999 2924001 + PropertyAccessExpression 2924001 2924025 + Identifier 2924001 2924013 + Identifier 2924014 2924025 + BarToken 2924025 2924027 + PropertyAccessExpression 2924027 2924045 + Identifier 2924027 2924039 + Identifier 2924040 2924045 + Identifier 2924046 2924080 + TrueKeyword 2924081 2924096 + FunctionDeclaration 2924105 2925074 + Identifier 2924503 2924535 + Parameter 2924536 2924557 + Identifier 2924536 2924545 + TypeReference 2924546 2924557 + Identifier 2924546 2924557 + UnionType 2924559 2924578 + TypeReference 2924559 2924566 + Identifier 2924559 2924566 + UndefinedKeyword 2924568 2924578 + Block 2924578 2925074 + VariableStatement 2924580 2924652 + VariableDeclarationList 2924580 2924651 + VariableDeclaration 2924595 2924651 + Identifier 2924595 2924610 + PropertyAccessExpression 2924612 2924651 + CallExpression 2924612 2924636 + Identifier 2924612 2924625 + Identifier 2924626 2924635 + Identifier 2924637 2924651 + IfStatement 2924652 2924766 + BinaryExpression 2924666 2924716 + Identifier 2924666 2924680 + AmpersandAmpersandToken 2924680 2924683 + BinaryExpression 2924683 2924716 + Identifier 2924683 2924698 + ExclamationEqualsEqualsToken 2924698 2924702 + Identifier 2924702 2924716 + Block 2924717 2924766 + ReturnStatement 2924719 2924755 + Identifier 2924739 2924754 + ReturnStatement 2924766 2925067 + CallExpression 2924784 2925066 + Identifier 2924784 2924796 + Identifier 2924797 2924820 + PropertyAccessExpression 2924821 2924856 + Identifier 2924821 2924844 + Identifier 2924845 2924856 + BinaryExpression 2924857 2924934 + BinaryExpression 2924857 2924914 + PropertyAccessExpression 2924857 2924888 + Identifier 2924857 2924882 + Identifier 2924883 2924888 + BarToken 2924888 2924890 + PropertyAccessExpression 2924890 2924914 + Identifier 2924890 2924902 + Identifier 2924903 2924914 + BarToken 2924914 2924916 + PropertyAccessExpression 2924916 2924934 + Identifier 2924916 2924928 + Identifier 2924929 2924934 + Identifier 2924935 2924982 + TrueKeyword 2924983 2925011 + Identifier 2925012 2925054 + FunctionDeclaration 2925074 2925604 + Identifier 2925090 2925120 + Parameter 2925121 2925144 + Identifier 2925121 2925132 + TypeReference 2925133 2925144 + Identifier 2925133 2925144 + UnionType 2925146 2925170 + TypeReference 2925146 2925158 + Identifier 2925146 2925158 + UndefinedKeyword 2925160 2925170 + Block 2925170 2925604 + IfStatement 2925172 2925568 + PrefixUnaryExpression 2925186 2925221 + CallExpression 2925187 2925221 + Identifier 2925187 2925208 + Identifier 2925209 2925220 + Block 2925222 2925568 + VariableStatement 2925224 2925300 + VariableDeclarationList 2925224 2925299 + VariableDeclaration 2925243 2925299 + Identifier 2925243 2925253 + CallExpression 2925255 2925299 + Identifier 2925255 2925272 + Identifier 2925273 2925284 + Identifier 2925285 2925298 + IfStatement 2925300 2925557 + Identifier 2925318 2925327 + Block 2925328 2925557 + VariableStatement 2925330 2925399 + VariableDeclarationList 2925330 2925398 + VariableDeclaration 2925353 2925398 + Identifier 2925353 2925360 + CallExpression 2925362 2925398 + Identifier 2925362 2925387 + Identifier 2925388 2925397 + IfStatement 2925399 2925542 + Identifier 2925421 2925427 + Block 2925428 2925542 + ReturnStatement 2925430 2925523 + PropertyAccessExpression 2925458 2925522 + CallExpression 2925458 2925505 + Identifier 2925458 2925497 + Identifier 2925498 2925504 + Identifier 2925506 2925522 + ReturnStatement 2925568 2925597 + Identifier 2925586 2925596 + FunctionDeclaration 2925604 2927484 + Identifier 2925620 2925651 + Parameter 2925652 2925675 + Identifier 2925652 2925663 + TypeReference 2925664 2925675 + Identifier 2925664 2925675 + UnionType 2925677 2925703 + ArrayType 2925677 2925691 + TypeReference 2925677 2925689 + Identifier 2925677 2925689 + UndefinedKeyword 2925693 2925703 + Block 2925703 2927484 + IfStatement 2925705 2927448 + PrefixUnaryExpression 2925719 2925754 + CallExpression 2925720 2925754 + Identifier 2925720 2925741 + Identifier 2925742 2925753 + Block 2925755 2927448 + VariableStatement 2925757 2925833 + VariableDeclarationList 2925757 2925832 + VariableDeclaration 2925776 2925832 + Identifier 2925776 2925786 + CallExpression 2925788 2925832 + Identifier 2925788 2925805 + Identifier 2925806 2925817 + Identifier 2925818 2925831 + IfStatement 2925833 2927437 + Identifier 2925851 2925860 + Block 2925861 2927437 + VariableStatement 2925863 2925932 + VariableDeclarationList 2925863 2925931 + VariableDeclaration 2925886 2925931 + Identifier 2925886 2925893 + CallExpression 2925895 2925931 + Identifier 2925895 2925920 + Identifier 2925921 2925930 + IfStatement 2925932 2927422 + Identifier 2925954 2925960 + Block 2925961 2927422 + ReturnStatement 2925963 2927403 + CallExpression 2925991 2927402 + Identifier 2925991 2925998 + PropertyAccessExpression 2925999 2926058 + CallExpression 2925999 2926045 + Identifier 2925999 2926037 + Identifier 2926038 2926044 + Identifier 2926046 2926058 + ArrowFunction 2926059 2927401 + Parameter 2926059 2926071 + Identifier 2926059 2926071 + EqualsGreaterThanToken 2926071 2926074 + Block 2926074 2927401 + SwitchStatement 2926076 2927339 + PropertyAccessExpression 2926110 2926126 + Identifier 2926110 2926121 + Identifier 2926122 2926126 + CaseBlock 2926127 2927339 + CaseClause 2926129 2926195 + PropertyAccessExpression 2926163 2926194 + Identifier 2926163 2926174 + Identifier 2926175 2926194 + CaseClause 2926195 2926251 + PropertyAccessExpression 2926229 2926250 + Identifier 2926229 2926240 + Identifier 2926241 2926250 + CaseClause 2926251 2926312 + PropertyAccessExpression 2926285 2926311 + Identifier 2926285 2926296 + Identifier 2926297 2926311 + CaseClause 2926312 2926378 + PropertyAccessExpression 2926346 2926377 + Identifier 2926346 2926357 + Identifier 2926358 2926377 + CaseClause 2926378 2926443 + PropertyAccessExpression 2926412 2926442 + Identifier 2926412 2926423 + Identifier 2926424 2926442 + CaseClause 2926443 2926517 + PropertyAccessExpression 2926477 2926516 + Identifier 2926477 2926488 + Identifier 2926489 2926516 + CaseClause 2926517 2926574 + PropertyAccessExpression 2926551 2926573 + Identifier 2926551 2926562 + Identifier 2926563 2926573 + CaseClause 2926574 2926644 + PropertyAccessExpression 2926608 2926643 + Identifier 2926608 2926619 + Identifier 2926620 2926643 + CaseClause 2926644 2926710 + PropertyAccessExpression 2926678 2926709 + Identifier 2926678 2926689 + Identifier 2926690 2926709 + CaseClause 2926710 2926775 + PropertyAccessExpression 2926744 2926774 + Identifier 2926744 2926755 + Identifier 2926756 2926774 + CaseClause 2926775 2926835 + PropertyAccessExpression 2926809 2926834 + Identifier 2926809 2926820 + Identifier 2926821 2926834 + CaseClause 2926835 2926898 + PropertyAccessExpression 2926869 2926897 + Identifier 2926869 2926880 + Identifier 2926881 2926897 + CaseClause 2926898 2926960 + PropertyAccessExpression 2926932 2926959 + Identifier 2926932 2926943 + Identifier 2926944 2926959 + CaseClause 2926960 2927022 + PropertyAccessExpression 2926994 2927021 + Identifier 2926994 2927005 + Identifier 2927006 2927021 + CaseClause 2927022 2927086 + PropertyAccessExpression 2927056 2927085 + Identifier 2927056 2927067 + Identifier 2927068 2927085 + CaseClause 2927086 2927144 + PropertyAccessExpression 2927120 2927143 + Identifier 2927120 2927131 + Identifier 2927132 2927143 + CaseClause 2927144 2927202 + PropertyAccessExpression 2927178 2927201 + Identifier 2927178 2927189 + Identifier 2927190 2927201 + CaseClause 2927202 2927312 + PropertyAccessExpression 2927236 2927265 + Identifier 2927236 2927247 + Identifier 2927248 2927265 + ReturnStatement 2927266 2927312 + TrueKeyword 2927306 2927311 + ReturnStatement 2927339 2927378 + FalseKeyword 2927371 2927377 + ReturnStatement 2927448 2927477 + Identifier 2927466 2927476 + FunctionDeclaration 2927484 2927856 + Identifier 2927500 2927526 + Parameter 2927527 2927617 + Identifier 2927527 2927531 + UnionType 2927532 2927617 + TypeReference 2927532 2927552 + Identifier 2927532 2927552 + TypeReference 2927554 2927574 + Identifier 2927554 2927574 + TypeReference 2927576 2927594 + Identifier 2927576 2927594 + TypeReference 2927596 2927617 + Identifier 2927596 2927617 + BooleanKeyword 2927619 2927627 + Block 2927627 2927856 + IfStatement 2927629 2927826 + BinaryExpression 2927643 2927725 + CallExpression 2927643 2927670 + Identifier 2927643 2927664 + Identifier 2927665 2927669 + BarBarToken 2927670 2927673 + BinaryExpression 2927673 2927725 + CallExpression 2927673 2927701 + Identifier 2927673 2927695 + Identifier 2927696 2927700 + AmpersandAmpersandToken 2927701 2927704 + CallExpression 2927704 2927725 + Identifier 2927704 2927719 + Identifier 2927720 2927724 + Block 2927726 2927826 + ReturnStatement 2927728 2927815 + CallExpression 2927748 2927814 + Identifier 2927748 2927767 + CallExpression 2927768 2927813 + Identifier 2927768 2927783 + CallExpression 2927784 2927812 + Identifier 2927784 2927806 + Identifier 2927807 2927811 + ReturnStatement 2927826 2927849 + FalseKeyword 2927842 2927848 + FunctionDeclaration 2927856 2928756 + Identifier 2927872 2927890 + Parameter 2927891 2927910 + Identifier 2927891 2927895 + TypeReference 2927896 2927910 + Identifier 2927896 2927910 + Parameter 2927911 2927927 + Identifier 2927911 2927921 + TypeReference 2927922 2927927 + Identifier 2927922 2927927 + Parameter 2927928 2927951 + Identifier 2927928 2927936 + TypeReference 2927937 2927951 + Identifier 2927937 2927951 + TypeReference 2927953 2927964 + Identifier 2927953 2927964 + Block 2927964 2928756 + VariableStatement 2927966 2928264 + VariableDeclarationList 2927966 2928263 + VariableDeclaration 2927981 2928263 + Identifier 2927981 2927992 + ConditionalExpression 2927994 2928263 + BinaryExpression 2927994 2928026 + PropertyAccessExpression 2927994 2928005 + Identifier 2927994 2927999 + Identifier 2928000 2928005 + AmpersandToken 2928005 2928007 + PropertyAccessExpression 2928007 2928026 + Identifier 2928007 2928017 + Identifier 2928018 2928026 + QuestionToken 2928026 2928028 + CallExpression 2928028 2928161 + PropertyAccessExpression 2928028 2928059 + Identifier 2928028 2928040 + Identifier 2928041 2928059 + PropertyAccessExpression 2928060 2928071 + Identifier 2928060 2928064 + Identifier 2928065 2928071 + PropertyAccessExpression 2928072 2928090 + Identifier 2928072 2928084 + Identifier 2928085 2928090 + Identifier 2928091 2928101 + Identifier 2928102 2928122 + Identifier 2928123 2928151 + Identifier 2928152 2928160 + ColonToken 2928161 2928176 + ConditionalExpression 2928176 2928263 + BinaryExpression 2928176 2928194 + Identifier 2928176 2928181 + EqualsEqualsEqualsToken 2928181 2928185 + Identifier 2928185 2928194 + QuestionToken 2928194 2928196 + CallExpression 2928196 2928217 + PropertyAccessExpression 2928196 2928215 + Identifier 2928196 2928204 + Identifier 2928205 2928215 + ColonToken 2928217 2928219 + BinaryExpression 2928219 2928263 + BinaryExpression 2928219 2928238 + Identifier 2928219 2928224 + EqualsEqualsEqualsToken 2928224 2928228 + Identifier 2928228 2928238 + AmpersandAmpersandToken 2928238 2928241 + CallExpression 2928241 2928263 + PropertyAccessExpression 2928241 2928261 + Identifier 2928241 2928249 + Identifier 2928250 2928261 + IfStatement 2928264 2928308 + Identifier 2928278 2928288 + ReturnStatement 2928289 2928308 + Identifier 2928296 2928307 + VariableStatement 2928308 2928367 + VariableDeclarationList 2928308 2928366 + VariableDeclaration 2928323 2928366 + Identifier 2928323 2928336 + PropertyAccessExpression 2928338 2928366 + ParenthesizedExpression 2928338 2928360 + AsExpression 2928340 2928359 + Identifier 2928340 2928344 + TypeReference 2928347 2928359 + Identifier 2928347 2928359 + Identifier 2928361 2928366 + ReturnStatement 2928367 2928749 + ConditionalExpression 2928383 2928748 + BinaryExpression 2928383 2928416 + TypeOfExpression 2928383 2928403 + Identifier 2928390 2928403 + EqualsEqualsEqualsToken 2928403 2928407 + StringLiteral 2928407 2928416 + QuestionToken 2928416 2928418 + CallExpression 2928418 2928460 + PropertyAccessExpression 2928418 2928446 + Identifier 2928418 2928426 + Identifier 2928427 2928446 + Identifier 2928447 2928459 + ColonToken 2928460 2928462 + ConditionalExpression 2928462 2928748 + BinaryExpression 2928462 2928508 + TypeOfExpression 2928462 2928495 + Identifier 2928482 2928495 + EqualsEqualsEqualsToken 2928495 2928499 + StringLiteral 2928499 2928508 + QuestionToken 2928508 2928510 + CallExpression 2928510 2928552 + PropertyAccessExpression 2928510 2928538 + Identifier 2928510 2928518 + Identifier 2928519 2928538 + Identifier 2928539 2928551 + ColonToken 2928552 2928554 + ConditionalExpression 2928554 2928748 + BinaryExpression 2928554 2928584 + Identifier 2928554 2928580 + LessThanToken 2928580 2928582 + NumericLiteral 2928582 2928584 + QuestionToken 2928584 2928586 + CallExpression 2928586 2928690 + PropertyAccessExpression 2928586 2928622 + Identifier 2928586 2928594 + Identifier 2928595 2928622 + PropertyAccessExpression 2928623 2928644 + Identifier 2928623 2928633 + Identifier 2928634 2928644 + CallExpression 2928645 2928689 + PropertyAccessExpression 2928645 2928674 + Identifier 2928645 2928653 + Identifier 2928654 2928674 + PrefixUnaryExpression 2928675 2928688 + Identifier 2928676 2928688 + ColonToken 2928690 2928692 + CallExpression 2928692 2928748 + PropertyAccessExpression 2928692 2928734 + Identifier 2928692 2928713 + Identifier 2928714 2928734 + Identifier 2928735 2928747 + FunctionDeclaration 2928756 2929063 + Identifier 2928772 2928796 + Parameter 2928797 2928887 + Identifier 2928797 2928801 + UnionType 2928802 2928887 + TypeReference 2928802 2928822 + Identifier 2928802 2928822 + TypeReference 2928824 2928844 + Identifier 2928824 2928844 + TypeReference 2928846 2928864 + Identifier 2928846 2928864 + TypeReference 2928866 2928887 + Identifier 2928866 2928887 + Parameter 2928888 2928911 + Identifier 2928888 2928896 + TypeReference 2928897 2928911 + Identifier 2928897 2928911 + Block 2928912 2929063 + VariableStatement 2928914 2928983 + VariableDeclarationList 2928914 2928982 + VariableDeclaration 2928929 2928982 + Identifier 2928929 2928934 + CallExpression 2928936 2928982 + Identifier 2928936 2928952 + CallExpression 2928953 2928981 + Identifier 2928953 2928975 + Identifier 2928976 2928980 + ReturnStatement 2928983 2929056 + CallExpression 2928999 2929055 + Identifier 2928999 2929017 + AsExpression 2929018 2929039 + Identifier 2929018 2929022 + TypeReference 2929025 2929039 + Identifier 2929025 2929039 + Identifier 2929040 2929045 + Identifier 2929046 2929054 + FunctionDeclaration 2929063 2929294 + Identifier 2929079 2929099 + Parameter 2929100 2929114 + Identifier 2929100 2929108 + TypeReference 2929109 2929114 + Identifier 2929109 2929114 + UnionType 2929116 2929139 + TypeReference 2929116 2929127 + Identifier 2929116 2929127 + UndefinedKeyword 2929129 2929139 + Block 2929139 2929294 + ReturnStatement 2929141 2929287 + ConditionalExpression 2929157 2929286 + Identifier 2929157 2929166 + QuestionToken 2929166 2929168 + ParenthesizedExpression 2929168 2929266 + BinaryExpression 2929170 2929265 + CallExpression 2929170 2929195 + Identifier 2929170 2929185 + Identifier 2929186 2929194 + CommaToken 2929195 2929196 + ParenthesizedExpression 2929196 2929265 + BinaryExpression 2929198 2929264 + PropertyAccessExpression 2929198 2929243 + CallExpression 2929198 2929227 + Identifier 2929198 2929217 + Identifier 2929218 2929226 + Identifier 2929228 2929243 + BarBarToken 2929243 2929246 + Identifier 2929246 2929264 + ColonToken 2929266 2929268 + Identifier 2929268 2929286 + FunctionDeclaration 2929294 2930224 + Identifier 2929310 2929338 + Parameter 2929339 2929353 + Identifier 2929339 2929347 + TypeReference 2929348 2929353 + Identifier 2929348 2929353 + UnionType 2929355 2929378 + TypeReference 2929355 2929366 + Identifier 2929355 2929366 + UndefinedKeyword 2929368 2929378 + Block 2929378 2930224 + IfStatement 2929380 2930055 + Identifier 2929394 2929402 + Block 2929403 2930055 + VariableStatement 2929405 2929462 + VariableDeclarationList 2929405 2929461 + VariableDeclaration 2929424 2929461 + Identifier 2929424 2929429 + CallExpression 2929431 2929461 + Identifier 2929431 2929451 + Identifier 2929452 2929460 + IfStatement 2929462 2930044 + Identifier 2929480 2929484 + Block 2929485 2930044 + IfStatement 2929487 2929617 + PropertyAccessExpression 2929509 2929537 + Identifier 2929509 2929513 + Identifier 2929514 2929537 + Block 2929538 2929617 + ReturnStatement 2929540 2929598 + PropertyAccessExpression 2929568 2929597 + Identifier 2929568 2929573 + Identifier 2929574 2929597 + VariableStatement 2929617 2929686 + VariableDeclarationList 2929617 2929685 + VariableDeclaration 2929640 2929685 + Identifier 2929640 2929655 + CallExpression 2929657 2929685 + PropertyAccessExpression 2929657 2929674 + PropertyAccessExpression 2929657 2929670 + Identifier 2929657 2929662 + Identifier 2929663 2929670 + Identifier 2929671 2929674 + StringLiteral 2929675 2929684 + VariableStatement 2929686 2929787 + VariableDeclarationList 2929686 2929786 + VariableDeclaration 2929709 2929786 + Identifier 2929709 2929723 + ConditionalExpression 2929725 2929786 + CallExpression 2929725 2929749 + Identifier 2929725 2929733 + Identifier 2929734 2929748 + QuestionToken 2929749 2929751 + ElementAccessExpression 2929751 2929769 + Identifier 2929751 2929766 + NumericLiteral 2929767 2929768 + ColonToken 2929769 2929771 + Identifier 2929771 2929786 + IfStatement 2929787 2930029 + Identifier 2929809 2929822 + Block 2929823 2930029 + ExpressionStatement 2929825 2929952 + BinaryExpression 2929825 2929951 + PropertyAccessExpression 2929825 2929875 + Identifier 2929825 2929851 + Identifier 2929852 2929875 + EqualsToken 2929875 2929877 + CallExpression 2929877 2929951 + Identifier 2929877 2929901 + PropertyAccessExpression 2929902 2929933 + PropertyAccessExpression 2929902 2929925 + Identifier 2929902 2929915 + Identifier 2929916 2929925 + Identifier 2929926 2929933 + Identifier 2929934 2929950 + ReturnStatement 2929952 2930010 + PropertyAccessExpression 2929980 2930009 + Identifier 2929980 2929985 + Identifier 2929986 2930009 + IfStatement 2930055 2930217 + PropertyAccessExpression 2930071 2930105 + Identifier 2930071 2930086 + Identifier 2930087 2930105 + Block 2930106 2930217 + ReturnStatement 2930108 2930206 + CallExpression 2930128 2930205 + Identifier 2930128 2930152 + PropertyAccessExpression 2930153 2930187 + Identifier 2930153 2930168 + Identifier 2930169 2930187 + Identifier 2930188 2930204 + FunctionDeclaration 2930224 2930780 + Identifier 2930240 2930279 + Parameter 2930280 2930290 + Identifier 2930280 2930284 + TypeReference 2930285 2930290 + Identifier 2930285 2930290 + Block 2930291 2930780 + VariableStatement 2930293 2930355 + VariableDeclarationList 2930293 2930354 + VariableDeclaration 2930308 2930354 + Identifier 2930308 2930315 + CallExpression 2930317 2930354 + Identifier 2930317 2930348 + Identifier 2930349 2930353 + IfStatement 2930355 2930417 + Identifier 2930369 2930375 + Block 2930376 2930417 + ReturnStatement 2930378 2930406 + Identifier 2930398 2930405 + IfStatement 2930417 2930746 + BinaryExpression 2930431 2930512 + BinaryExpression 2930431 2930465 + PropertyAccessExpression 2930431 2930440 + Identifier 2930431 2930435 + Identifier 2930436 2930440 + EqualsEqualsEqualsToken 2930440 2930444 + PropertyAccessExpression 2930444 2930465 + Identifier 2930444 2930455 + Identifier 2930456 2930465 + AmpersandAmpersandToken 2930465 2930468 + BinaryExpression 2930468 2930512 + PropertyAccessExpression 2930468 2930485 + PropertyAccessExpression 2930468 2930480 + Identifier 2930468 2930473 + Identifier 2930474 2930480 + Identifier 2930481 2930485 + EqualsEqualsEqualsToken 2930485 2930489 + PropertyAccessExpression 2930489 2930512 + Identifier 2930489 2930500 + Identifier 2930501 2930512 + Block 2930513 2930746 + VariableStatement 2930515 2930635 + VariableDeclarationList 2930515 2930634 + VariableDeclaration 2930534 2930634 + Identifier 2930534 2930540 + PropertyAccessExpression 2930542 2930634 + CallExpression 2930542 2930622 + Identifier 2930542 2930583 + AsExpression 2930584 2930621 + PropertyAccessExpression 2930584 2930595 + Identifier 2930584 2930588 + Identifier 2930589 2930595 + TypeReference 2930598 2930621 + Identifier 2930598 2930621 + Identifier 2930623 2930634 + IfStatement 2930635 2930735 + Identifier 2930653 2930658 + Block 2930659 2930735 + ReturnStatement 2930661 2930720 + CallExpression 2930685 2930719 + Identifier 2930685 2930712 + Identifier 2930713 2930718 + ReturnStatement 2930746 2930773 + Identifier 2930762 2930772 + FunctionDeclaration 2930780 2940563 + Identifier 2930796 2930811 + TypeReference 2930814 2930827 + Identifier 2930814 2930827 + Block 2930827 2940563 + ReturnStatement 2930829 2939547 + ObjectLiteralExpression 2930845 2939546 + ShorthandPropertyAssignment 2930847 2930889 + Identifier 2930847 2930889 + ShorthandPropertyAssignment 2930890 2930934 + Identifier 2930890 2930934 + ShorthandPropertyAssignment 2930935 2930990 + Identifier 2930935 2930990 + ShorthandPropertyAssignment 2930991 2931035 + Identifier 2930991 2931035 + PropertyAssignment 2931036 2931338 + Identifier 2931036 2931073 + ArrowFunction 2931074 2931338 + Parameter 2931074 2931081 + Identifier 2931074 2931081 + EqualsGreaterThanToken 2931081 2931084 + Block 2931084 2931338 + VariableStatement 2931086 2931142 + VariableDeclarationList 2931086 2931141 + VariableDeclaration 2931109 2931141 + Identifier 2931109 2931114 + CallExpression 2931116 2931141 + Identifier 2931116 2931133 + Identifier 2931134 2931140 + ReturnStatement 2931142 2931323 + ConditionalExpression 2931236 2931322 + BinaryExpression 2931236 2931283 + Identifier 2931236 2931241 + AmpersandAmpersandToken 2931241 2931244 + Identifier 2931244 2931283 + QuestionToken 2931283 2931285 + CallExpression 2931285 2931315 + Identifier 2931285 2931309 + Identifier 2931310 2931314 + ColonToken 2931315 2931317 + TrueKeyword 2931317 2931322 + ShorthandPropertyAssignment 2931339 2931366 + Identifier 2931339 2931366 + PropertyAssignment 2931367 2931714 + Identifier 2931367 2931409 + ArrowFunction 2931410 2931714 + Parameter 2931412 2931418 + Identifier 2931412 2931418 + Parameter 2931419 2931434 + Identifier 2931419 2931433 + QuestionToken 2931433 2931434 + EqualsGreaterThanToken 2931435 2931438 + Block 2931438 2931714 + VariableStatement 2931440 2931496 + VariableDeclarationList 2931440 2931495 + VariableDeclaration 2931463 2931495 + Identifier 2931463 2931468 + CallExpression 2931470 2931495 + Identifier 2931470 2931487 + Identifier 2931488 2931494 + ReturnStatement 2931496 2931699 + ConditionalExpression 2931592 2931698 + BinaryExpression 2931592 2931639 + Identifier 2931592 2931597 + AmpersandAmpersandToken 2931597 2931600 + Identifier 2931600 2931639 + QuestionToken 2931639 2931641 + CallExpression 2931641 2931691 + Identifier 2931641 2931670 + Identifier 2931671 2931675 + Identifier 2931676 2931690 + ColonToken 2931691 2931693 + TrueKeyword 2931693 2931698 + PropertyAssignment 2931715 2931933 + Identifier 2931715 2931745 + ArrowFunction 2931746 2931933 + Parameter 2931748 2931754 + Identifier 2931748 2931754 + Parameter 2931755 2931760 + Identifier 2931755 2931760 + EqualsGreaterThanToken 2931761 2931764 + Block 2931764 2931933 + VariableStatement 2931766 2931822 + VariableDeclarationList 2931766 2931821 + VariableDeclaration 2931789 2931821 + Identifier 2931789 2931794 + CallExpression 2931796 2931821 + Identifier 2931796 2931813 + Identifier 2931814 2931820 + IfStatement 2931822 2931864 + PrefixUnaryExpression 2931844 2931849 + Identifier 2931845 2931849 + ReturnStatement 2931850 2931864 + FalseKeyword 2931857 2931863 + ReturnStatement 2931864 2931918 + CallExpression 2931888 2931917 + Identifier 2931888 2931905 + Identifier 2931906 2931910 + Identifier 2931911 2931916 + ShorthandPropertyAssignment 2931934 2931989 + Identifier 2931934 2931989 + ShorthandPropertyAssignment 2931990 2932024 + Identifier 2931990 2932024 + ShorthandPropertyAssignment 2932025 2932065 + Identifier 2932025 2932065 + ShorthandPropertyAssignment 2932066 2932111 + Identifier 2932066 2932111 + ShorthandPropertyAssignment 2932112 2932154 + Identifier 2932112 2932154 + ShorthandPropertyAssignment 2932155 2932201 + Identifier 2932155 2932201 + ShorthandPropertyAssignment 2932202 2932239 + Identifier 2932202 2932239 + ShorthandPropertyAssignment 2932240 2932292 + Identifier 2932240 2932292 + ShorthandPropertyAssignment 2932293 2932329 + Identifier 2932293 2932329 + ShorthandPropertyAssignment 2932330 2932367 + Identifier 2932330 2932367 + ShorthandPropertyAssignment 2932368 2932400 + Identifier 2932368 2932400 + ShorthandPropertyAssignment 2932401 2932434 + Identifier 2932401 2932434 + PropertyAssignment 2932435 2932638 + Identifier 2932435 2932465 + ArrowFunction 2932466 2932638 + Parameter 2932466 2932473 + Identifier 2932466 2932473 + EqualsGreaterThanToken 2932473 2932476 + Block 2932476 2932638 + VariableStatement 2932478 2932556 + VariableDeclarationList 2932478 2932555 + VariableDeclaration 2932501 2932555 + Identifier 2932501 2932506 + CallExpression 2932508 2932555 + Identifier 2932508 2932525 + Identifier 2932526 2932532 + Identifier 2932533 2932554 + ReturnStatement 2932556 2932623 + ConditionalExpression 2932580 2932622 + Identifier 2932580 2932585 + QuestionToken 2932585 2932587 + CallExpression 2932587 2932610 + Identifier 2932587 2932604 + Identifier 2932605 2932609 + ColonToken 2932610 2932612 + Identifier 2932612 2932622 + PropertyAssignment 2932639 2932838 + Identifier 2932639 2932671 + ArrowFunction 2932672 2932838 + Parameter 2932672 2932679 + Identifier 2932672 2932679 + EqualsGreaterThanToken 2932679 2932682 + Block 2932682 2932838 + VariableStatement 2932684 2932754 + VariableDeclarationList 2932684 2932753 + VariableDeclaration 2932707 2932753 + Identifier 2932707 2932712 + CallExpression 2932714 2932753 + Identifier 2932714 2932731 + Identifier 2932732 2932738 + Identifier 2932739 2932752 + ReturnStatement 2932754 2932823 + ConditionalExpression 2932778 2932822 + Identifier 2932778 2932783 + QuestionToken 2932783 2932785 + CallExpression 2932785 2932810 + Identifier 2932785 2932804 + Identifier 2932805 2932809 + ColonToken 2932810 2932812 + Identifier 2932812 2932822 + ShorthandPropertyAssignment 2932839 2932873 + Identifier 2932839 2932873 + PropertyAssignment 2932874 2933079 + Identifier 2932874 2932908 + ArrowFunction 2932909 2933079 + Parameter 2932909 2932916 + Identifier 2932909 2932916 + EqualsGreaterThanToken 2932916 2932919 + Block 2932919 2933079 + VariableStatement 2932921 2932977 + VariableDeclarationList 2932921 2932976 + VariableDeclaration 2932944 2932976 + Identifier 2932944 2932949 + CallExpression 2932951 2932976 + Identifier 2932951 2932968 + Identifier 2932969 2932975 + ReturnStatement 2932977 2933064 + BinaryExpression 2933001 2933063 + Identifier 2933001 2933006 + AmpersandAmpersandToken 2933006 2933009 + CallExpression 2933009 2933063 + Identifier 2933009 2933030 + Identifier 2933031 2933035 + PropertyAccessExpression 2933036 2933062 + Identifier 2933036 2933050 + Identifier 2933051 2933062 + ShorthandPropertyAssignment 2933080 2933123 + Identifier 2933080 2933123 + ShorthandPropertyAssignment 2933124 2933168 + Identifier 2933124 2933168 + ShorthandPropertyAssignment 2933169 2933216 + Identifier 2933169 2933216 + ShorthandPropertyAssignment 2933217 2933250 + Identifier 2933217 2933250 + ShorthandPropertyAssignment 2933251 2933288 + Identifier 2933251 2933288 + PropertyAssignment 2933289 2933535 + Identifier 2933289 2933339 + ArrowFunction 2933340 2933535 + Parameter 2933340 2933347 + Identifier 2933340 2933347 + EqualsGreaterThanToken 2933347 2933350 + Block 2933350 2933535 + VariableStatement 2933352 2933444 + VariableDeclarationList 2933352 2933443 + VariableDeclaration 2933375 2933443 + Identifier 2933375 2933380 + CallExpression 2933382 2933443 + Identifier 2933382 2933399 + Identifier 2933400 2933406 + Identifier 2933407 2933442 + ReturnStatement 2933444 2933520 + BinaryExpression 2933468 2933519 + Identifier 2933468 2933473 + AmpersandAmpersandToken 2933473 2933476 + CallExpression 2933476 2933519 + Identifier 2933476 2933513 + Identifier 2933514 2933518 + ShorthandPropertyAssignment 2933536 2933575 + Identifier 2933536 2933575 + PropertyAssignment 2933576 2933896 + Identifier 2933576 2933601 + ArrowFunction 2933602 2933896 + Parameter 2933604 2933623 + Identifier 2933604 2933610 + TypeReference 2933611 2933623 + Identifier 2933611 2933623 + TypePredicate 2933625 2933656 + Identifier 2933625 2933632 + TypeReference 2933635 2933656 + Identifier 2933635 2933656 + EqualsGreaterThanToken 2933656 2933659 + Block 2933659 2933896 + VariableStatement 2933661 2933732 + VariableDeclarationList 2933661 2933731 + VariableDeclaration 2933684 2933731 + Identifier 2933684 2933689 + CallExpression 2933691 2933731 + Identifier 2933691 2933708 + Identifier 2933709 2933715 + Identifier 2933716 2933730 + VariableStatement 2933732 2933802 + VariableDeclarationList 2933732 2933801 + VariableDeclaration 2933755 2933801 + Identifier 2933755 2933762 + BinaryExpression 2933764 2933801 + Identifier 2933764 2933769 + AmpersandAmpersandToken 2933769 2933772 + CallExpression 2933772 2933801 + Identifier 2933772 2933795 + Identifier 2933796 2933800 + ReturnStatement 2933802 2933881 + PrefixUnaryExpression 2933826 2933880 + PrefixUnaryExpression 2933828 2933880 + ParenthesizedExpression 2933829 2933880 + BinaryExpression 2933830 2933879 + Identifier 2933830 2933836 + AmpersandAmpersandToken 2933836 2933839 + BinaryExpression 2933839 2933879 + CallExpression 2933839 2933861 + Identifier 2933839 2933853 + Identifier 2933854 2933860 + AmpersandToken 2933861 2933863 + PropertyAccessExpression 2933863 2933879 + Identifier 2933863 2933874 + Identifier 2933875 2933879 + ShorthandPropertyAssignment 2933897 2933930 + Identifier 2933897 2933930 + ShorthandPropertyAssignment 2933931 2933972 + Identifier 2933931 2933972 + PropertyAssignment 2933973 2934332 + Identifier 2933973 2934010 + ArrowFunction 2934011 2934332 + Parameter 2934013 2934017 + Identifier 2934013 2934017 + Parameter 2934018 2934023 + Identifier 2934018 2934023 + EqualsGreaterThanToken 2934024 2934027 + Block 2934027 2934332 + VariableStatement 2934029 2934088 + VariableDeclarationList 2934029 2934087 + VariableDeclaration 2934052 2934087 + Identifier 2934052 2934062 + CallExpression 2934064 2934087 + Identifier 2934064 2934081 + Identifier 2934082 2934086 + VariableStatement 2934088 2934147 + VariableDeclarationList 2934088 2934146 + VariableDeclaration 2934111 2934146 + Identifier 2934111 2934121 + CallExpression 2934123 2934146 + Identifier 2934123 2934140 + Identifier 2934141 2934145 + ReturnStatement 2934147 2934317 + BinaryExpression 2934171 2934316 + BinaryExpression 2934171 2934267 + BinaryExpression 2934171 2934198 + PrefixUnaryExpression 2934171 2934183 + PrefixUnaryExpression 2934173 2934183 + Identifier 2934174 2934183 + AmpersandAmpersandToken 2934183 2934186 + PrefixUnaryExpression 2934186 2934198 + PrefixUnaryExpression 2934188 2934198 + Identifier 2934189 2934198 + AmpersandAmpersandToken 2934198 2934201 + ParenthesizedExpression 2934201 2934267 + BinaryExpression 2934203 2934266 + CallExpression 2934203 2934235 + Identifier 2934203 2934224 + Identifier 2934225 2934234 + BarBarToken 2934235 2934238 + CallExpression 2934238 2934266 + Identifier 2934238 2934255 + Identifier 2934256 2934265 + AmpersandAmpersandToken 2934267 2934270 + CallExpression 2934270 2934316 + Identifier 2934270 2934294 + Identifier 2934295 2934304 + Identifier 2934305 2934315 + PropertyAssignment 2934333 2935130 + Identifier 2934333 2934384 + ArrowFunction 2934385 2935130 + Parameter 2934387 2934391 + Identifier 2934387 2934391 + Parameter 2934392 2934398 + Identifier 2934392 2934398 + Parameter 2934399 2934413 + Identifier 2934399 2934413 + Parameter 2934414 2934422 + Identifier 2934414 2934422 + EqualsGreaterThanToken 2934423 2934426 + Block 2934426 2935130 + VariableStatement 2934428 2934493 + VariableDeclarationList 2934428 2934492 + VariableDeclaration 2934451 2934492 + Identifier 2934451 2934453 + AsExpression 2934455 2934492 + CallExpression 2934455 2934478 + Identifier 2934455 2934472 + Identifier 2934473 2934477 + TypeReference 2934481 2934492 + Identifier 2934481 2934492 + ExpressionStatement 2934493 2934627 + CallExpression 2934493 2934626 + PropertyAccessExpression 2934493 2934523 + Identifier 2934493 2934516 + Identifier 2934517 2934523 + BinaryExpression 2934524 2934561 + Identifier 2934524 2934525 + AmpersandAmpersandToken 2934525 2934528 + BinaryExpression 2934528 2934561 + PropertyAccessExpression 2934528 2934535 + Identifier 2934528 2934530 + Identifier 2934531 2934535 + EqualsEqualsEqualsToken 2934535 2934539 + PropertyAccessExpression 2934539 2934561 + Identifier 2934539 2934550 + Identifier 2934551 2934561 + StringLiteral 2934562 2934625 + VariableStatement 2934627 2934686 + VariableDeclarationList 2934627 2934685 + VariableDeclaration 2934650 2934685 + Identifier 2934650 2934654 + CallExpression 2934656 2934685 + Identifier 2934656 2934679 + Identifier 2934680 2934684 + IfStatement 2934686 2934880 + PrefixUnaryExpression 2934708 2934712 + Identifier 2934709 2934712 + Block 2934713 2934880 + ReturnStatement 2934715 2934861 + ConditionalExpression 2934743 2934860 + PrefixUnaryExpression 2934743 2934756 + PropertyAccessExpression 2934745 2934756 + Identifier 2934745 2934749 + Identifier 2934750 2934756 + QuestionToken 2934756 2934758 + ArrayLiteralExpression 2934758 2934761 + ColonToken 2934761 2934763 + CallExpression 2934763 2934860 + PropertyAccessExpression 2934763 2934810 + Identifier 2934763 2934775 + Identifier 2934776 2934810 + PropertyAccessExpression 2934811 2934822 + Identifier 2934811 2934815 + Identifier 2934816 2934822 + Identifier 2934823 2934828 + Identifier 2934829 2934835 + Identifier 2934836 2934850 + Identifier 2934851 2934859 + ExpressionStatement 2934880 2934931 + CallExpression 2934880 2934930 + Identifier 2934880 2934925 + Identifier 2934926 2934929 + ReturnStatement 2934931 2935115 + ConditionalExpression 2934997 2935114 + PrefixUnaryExpression 2934997 2935010 + PropertyAccessExpression 2934999 2935010 + Identifier 2934999 2935002 + Identifier 2935003 2935010 + QuestionToken 2935010 2935012 + ArrayLiteralExpression 2935012 2935015 + ColonToken 2935015 2935017 + CallExpression 2935017 2935114 + PropertyAccessExpression 2935017 2935064 + Identifier 2935017 2935029 + Identifier 2935030 2935064 + PropertyAccessExpression 2935065 2935076 + Identifier 2935065 2935068 + Identifier 2935069 2935076 + Identifier 2935077 2935082 + Identifier 2935083 2935089 + Identifier 2935090 2935104 + Identifier 2935105 2935113 + ShorthandPropertyAssignment 2935131 2935175 + Identifier 2935131 2935175 + ShorthandPropertyAssignment 2935176 2935231 + Identifier 2935176 2935231 + PropertyAssignment 2935232 2939534 + Identifier 2935232 2935276 + ArrowFunction 2935277 2939534 + Parameter 2935279 2935282 + Identifier 2935279 2935282 + Parameter 2935283 2935293 + Identifier 2935283 2935293 + Parameter 2935294 2935300 + Identifier 2935294 2935300 + Parameter 2935301 2935315 + Identifier 2935301 2935315 + Parameter 2935316 2935324 + Identifier 2935316 2935324 + EqualsGreaterThanToken 2935325 2935328 + Block 2935328 2939534 + VariableStatement 2935330 2935371 + VariableDeclarationList 2935330 2935370 + VariableDeclaration 2935353 2935370 + Identifier 2935353 2935357 + PropertyAccessExpression 2935359 2935370 + Identifier 2935359 2935363 + Identifier 2935364 2935370 + VariableStatement 2935371 2935451 + VariableDeclarationList 2935371 2935450 + VariableDeclaration 2935394 2935450 + Identifier 2935394 2935406 + CallExpression 2935408 2935450 + Identifier 2935408 2935428 + CallExpression 2935429 2935449 + Identifier 2935429 2935444 + Identifier 2935445 2935448 + VariableStatement 2935451 2935517 + VariableDeclarationList 2935451 2935516 + VariableDeclaration 2935474 2935516 + Identifier 2935474 2935494 + CallExpression 2935496 2935516 + Identifier 2935496 2935511 + Identifier 2935512 2935515 + VariableStatement 2935517 2935673 + VariableDeclarationList 2935517 2935672 + VariableDeclaration 2935540 2935672 + Identifier 2935540 2935554 + BinaryExpression 2935556 2935672 + Identifier 2935556 2935576 + AmpersandAmpersandToken 2935576 2935579 + CallExpression 2935579 2935672 + Identifier 2935579 2935606 + Identifier 2935607 2935626 + CallExpression 2935627 2935671 + Identifier 2935627 2935637 + CallExpression 2935638 2935670 + PropertyAccessExpression 2935638 2935668 + CallExpression 2935638 2935661 + Identifier 2935638 2935656 + Identifier 2935657 2935660 + Identifier 2935662 2935668 + VariableStatement 2935673 2935702 + VariableDeclarationList 2935673 2935701 + VariableDeclaration 2935694 2935701 + Identifier 2935694 2935701 + ForOfStatement 2935702 2938826 + VariableDeclarationList 2935725 2935739 + VariableDeclaration 2935730 2935739 + Identifier 2935730 2935739 + ArrayLiteralExpression 2935742 2935771 + Identifier 2935744 2935755 + Identifier 2935756 2935770 + Block 2935772 2938826 + IfStatement 2935774 2935828 + PrefixUnaryExpression 2935800 2935817 + CallExpression 2935801 2935817 + Identifier 2935801 2935807 + Identifier 2935808 2935816 + ContinueStatement 2935818 2935828 + ExpressionStatement 2935828 2935864 + BinaryExpression 2935828 2935863 + Identifier 2935828 2935856 + BarBarEqualsToken 2935856 2935860 + ArrayLiteralExpression 2935860 2935863 + ForOfStatement 2935864 2938807 + VariableDeclarationList 2935891 2935901 + VariableDeclaration 2935896 2935901 + Identifier 2935896 2935901 + NonNullExpression 2935904 2935914 + Identifier 2935904 2935913 + Block 2935915 2938807 + IfStatement 2935917 2935974 + PropertyAccessExpression 2935947 2935963 + Identifier 2935947 2935951 + Identifier 2935952 2935963 + ContinueStatement 2935964 2935974 + IfStatement 2935974 2936044 + BinaryExpression 2936004 2936033 + Identifier 2936004 2936008 + EqualsEqualsEqualsToken 2936008 2936012 + Identifier 2936012 2936033 + ContinueStatement 2936034 2936044 + IfStatement 2936044 2938251 + PropertyAccessExpression 2936157 2936172 + Identifier 2936157 2936161 + Identifier 2936162 2936172 + Block 2936173 2938251 + VariableStatement 2936175 2936603 + VariableDeclarationList 2936175 2936602 + VariableDeclaration 2936210 2936602 + Identifier 2936210 2936248 + CallExpression 2936250 2936602 + Identifier 2936250 2936256 + PropertyAccessExpression 2936257 2936272 + Identifier 2936257 2936261 + Identifier 2936262 2936272 + ArrowFunction 2936273 2936601 + Parameter 2936273 2936275 + Identifier 2936273 2936275 + EqualsGreaterThanToken 2936275 2936278 + Block 2936278 2936601 + ReturnStatement 2936280 2936570 + PrefixUnaryExpression 2936320 2936569 + PrefixUnaryExpression 2936322 2936569 + ParenthesizedExpression 2936323 2936569 + BinaryExpression 2936324 2936568 + BinaryExpression 2936324 2936422 + BinaryExpression 2936324 2936409 + BinaryExpression 2936324 2936364 + PropertyAccessExpression 2936324 2936330 + Identifier 2936324 2936325 + Identifier 2936326 2936330 + AmpersandAmpersandToken 2936330 2936333 + CallExpression 2936333 2936364 + Identifier 2936333 2936356 + PropertyAccessExpression 2936357 2936363 + Identifier 2936357 2936358 + Identifier 2936359 2936363 + AmpersandAmpersandToken 2936364 2936367 + CallExpression 2936367 2936409 + Identifier 2936367 2936390 + PropertyAccessExpression 2936391 2936408 + PropertyAccessExpression 2936391 2936397 + Identifier 2936391 2936392 + Identifier 2936393 2936397 + Identifier 2936398 2936408 + AmpersandAmpersandToken 2936409 2936412 + Identifier 2936412 2936422 + AmpersandAmpersandToken 2936422 2936425 + BinaryExpression 2936425 2936568 + PropertyAccessExpression 2936425 2936533 + CallExpression 2936425 2936518 + Identifier 2936425 2936445 + PropertyAccessExpression 2936446 2936463 + PropertyAccessExpression 2936446 2936452 + Identifier 2936446 2936447 + Identifier 2936448 2936452 + Identifier 2936453 2936463 + Identifier 2936464 2936474 + FalseKeyword 2936475 2936517 + QuestionDotToken 2936518 2936520 + Identifier 2936520 2936533 + EqualsEqualsEqualsToken 2936533 2936537 + PropertyAccessExpression 2936537 2936568 + Identifier 2936537 2936557 + Identifier 2936558 2936568 + IfStatement 2936603 2938224 + Identifier 2936637 2936674 + Block 2936675 2938224 + VariableStatement 2936677 2937009 + VariableDeclarationList 2936677 2937008 + VariableDeclaration 2936716 2937008 + Identifier 2936716 2936730 + CallExpression 2936732 2937008 + Identifier 2936732 2936739 + PropertyAccessExpression 2936740 2936755 + Identifier 2936740 2936744 + Identifier 2936745 2936755 + ArrowFunction 2936756 2937007 + Parameter 2936756 2936758 + Identifier 2936756 2936758 + EqualsGreaterThanToken 2936758 2936761 + Block 2936761 2937007 + ReturnStatement 2936763 2936972 + PrefixUnaryExpression 2936947 2936971 + CallExpression 2936949 2936971 + Identifier 2936949 2936968 + Identifier 2936969 2936970 + ExpressionStatement 2937009 2938150 + CallExpression 2937009 2938149 + PropertyAccessExpression 2937009 2937054 + Identifier 2937009 2937049 + Identifier 2937050 2937054 + SpreadElement 2937055 2938148 + CallExpression 2937058 2938148 + Identifier 2937058 2937061 + Identifier 2937062 2937075 + ArrowFunction 2937076 2938147 + Parameter 2937076 2937078 + Identifier 2937076 2937078 + EqualsGreaterThanToken 2937078 2937081 + Block 2937081 2938147 + ExpressionStatement 2937083 2937182 + CallExpression 2937083 2937181 + Identifier 2937083 2937138 + AsExpression 2937139 2937180 + PropertyAccessExpression 2937139 2937156 + PropertyAccessExpression 2937139 2937145 + Identifier 2937139 2937140 + Identifier 2937141 2937145 + Identifier 2937146 2937156 + TypeReference 2937159 2937180 + Identifier 2937159 2937180 + VariableStatement 2937182 2937337 + VariableDeclarationList 2937182 2937336 + VariableDeclaration 2937225 2937336 + Identifier 2937225 2937230 + ConditionalExpression 2937232 2937336 + BinaryExpression 2937232 2937257 + Identifier 2937232 2937241 + EqualsEqualsEqualsToken 2937241 2937245 + Identifier 2937245 2937257 + QuestionToken 2937257 2937259 + AsExpression 2937259 2937324 + ArrayLiteralExpression 2937259 2937310 + CallExpression 2937261 2937309 + PropertyAccessExpression 2937261 2937283 + Identifier 2937261 2937268 + Identifier 2937269 2937283 + PropertyAccessExpression 2937284 2937308 + Identifier 2937284 2937294 + Identifier 2937295 2937308 + ArrayType 2937313 2937324 + TypeReference 2937313 2937322 + Identifier 2937313 2937322 + ColonToken 2937324 2937326 + Identifier 2937326 2937336 + ReturnStatement 2937337 2938112 + CallExpression 2937381 2938111 + PropertyAccessExpression 2937381 2937415 + Identifier 2937381 2937389 + Identifier 2937390 2937415 + CallExpression 2937416 2937552 + Identifier 2937416 2937464 + Identifier 2937465 2937469 + ConditionalExpression 2937470 2937551 + PropertyAccessExpression 2937470 2937486 + Identifier 2937470 2937475 + Identifier 2937476 2937486 + QuestionToken 2937486 2937488 + CallExpression 2937488 2937539 + PropertyAccessExpression 2937488 2937511 + Identifier 2937488 2937496 + Identifier 2937497 2937511 + PropertyAccessExpression 2937512 2937538 + Identifier 2937512 2937522 + Identifier 2937523 2937538 + ColonToken 2937539 2937541 + Identifier 2937541 2937551 + PropertyAccessExpression 2937553 2937601 + Identifier 2937553 2937596 + Identifier 2937597 2937601 + ConditionalExpression 2937602 2937865 + BinaryExpression 2937602 2937805 + ParenthesizedExpression 2937602 2937786 + BinaryExpression 2937645 2937785 + BinaryExpression 2937645 2937765 + BinaryExpression 2937645 2937745 + BinaryExpression 2937645 2937719 + BinaryExpression 2937645 2937695 + CallExpression 2937645 2937667 + Identifier 2937645 2937664 + Identifier 2937665 2937666 + BarBarToken 2937667 2937670 + CallExpression 2937670 2937695 + Identifier 2937670 2937692 + Identifier 2937693 2937694 + BarBarToken 2937695 2937698 + CallExpression 2937698 2937719 + Identifier 2937698 2937716 + Identifier 2937717 2937718 + BarBarToken 2937719 2937722 + CallExpression 2937722 2937745 + Identifier 2937722 2937742 + Identifier 2937743 2937744 + BarBarToken 2937745 2937748 + CallExpression 2937748 2937765 + Identifier 2937748 2937762 + Identifier 2937763 2937764 + BarBarToken 2937765 2937768 + CallExpression 2937768 2937785 + Identifier 2937768 2937782 + Identifier 2937783 2937784 + AmpersandAmpersandToken 2937786 2937789 + PropertyAccessExpression 2937789 2937805 + Identifier 2937789 2937791 + Identifier 2937792 2937805 + QuestionToken 2937805 2937807 + CallExpression 2937807 2937853 + PropertyAccessExpression 2937807 2937827 + Identifier 2937807 2937815 + Identifier 2937816 2937827 + PropertyAccessExpression 2937828 2937852 + Identifier 2937828 2937838 + Identifier 2937839 2937852 + ColonToken 2937853 2937855 + Identifier 2937855 2937865 + CallExpression 2937866 2938003 + PropertyAccessExpression 2937866 2937934 + Identifier 2937866 2937919 + Identifier 2937920 2937934 + CallExpression 2937935 2937960 + Identifier 2937935 2937950 + PropertyAccessExpression 2937951 2937959 + Identifier 2937951 2937952 + Identifier 2937953 2937959 + Identifier 2937961 2937971 + Identifier 2937972 2937978 + Identifier 2937979 2937993 + Identifier 2937994 2938002 + Identifier 2938004 2938071 + ContinueStatement 2938150 2938193 + VariableStatement 2938251 2938387 + VariableDeclarationList 2938251 2938386 + VariableDeclaration 2938282 2938386 + Identifier 2938282 2938287 + CallExpression 2938289 2938386 + PropertyAccessExpression 2938289 2938338 + Identifier 2938289 2938301 + Identifier 2938302 2938338 + Identifier 2938339 2938343 + Identifier 2938344 2938354 + Identifier 2938355 2938361 + Identifier 2938362 2938376 + Identifier 2938377 2938385 + IfStatement 2938387 2938672 + BinaryExpression 2938417 2938449 + Identifier 2938417 2938421 + AmpersandAmpersandToken 2938421 2938424 + BinaryExpression 2938424 2938449 + Identifier 2938424 2938433 + EqualsEqualsEqualsToken 2938433 2938437 + Identifier 2938437 2938449 + Block 2938450 2938672 + ExpressionStatement 2938452 2938645 + CallExpression 2938452 2938644 + PropertyAccessExpression 2938452 2938594 + ParenthesizedExpression 2938452 2938586 + AsExpression 2938483 2938585 + ParenthesizedExpression 2938483 2938555 + BinaryExpression 2938484 2938554 + PropertyAccessExpression 2938484 2938524 + ParenthesizedExpression 2938484 2938514 + AsExpression 2938485 2938513 + Identifier 2938485 2938489 + TypeReference 2938492 2938513 + Identifier 2938492 2938500 + TypeQuery 2938501 2938512 + Identifier 2938507 2938512 + Identifier 2938515 2938524 + BarBarEqualsToken 2938524 2938528 + CallExpression 2938528 2938554 + PropertyAccessExpression 2938528 2938552 + Identifier 2938528 2938536 + Identifier 2938537 2938552 + TypeReference 2938558 2938585 + Identifier 2938558 2938575 + TypeReference 2938576 2938584 + Identifier 2938576 2938584 + Identifier 2938587 2938594 + CallExpression 2938595 2938643 + PropertyAccessExpression 2938595 2938617 + Identifier 2938595 2938602 + Identifier 2938603 2938617 + PropertyAccessExpression 2938618 2938642 + Identifier 2938618 2938628 + Identifier 2938629 2938642 + IfStatement 2938672 2938784 + Identifier 2938702 2938706 + Block 2938707 2938784 + ExpressionStatement 2938709 2938757 + CallExpression 2938709 2938756 + PropertyAccessExpression 2938709 2938750 + Identifier 2938709 2938745 + Identifier 2938746 2938750 + Identifier 2938751 2938755 + ReturnStatement 2938826 2938858 + Identifier 2938850 2938857 + FunctionDeclaration 2938858 2939519 + Identifier 2938886 2938904 + Parameter 2938905 2938955 + Identifier 2938905 2938921 + TypeReference 2938922 2938955 + Identifier 2938922 2938955 + Block 2938956 2939519 + IfStatement 2938958 2939013 + PrefixUnaryExpression 2938984 2939004 + PropertyAccessExpression 2938985 2939004 + Identifier 2938985 2938992 + Identifier 2938993 2939004 + ReturnStatement 2939005 2939013 + VariableStatement 2939013 2939173 + VariableDeclarationList 2939013 2939172 + VariableDeclaration 2939117 2939172 + Identifier 2939117 2939133 + CallExpression 2939135 2939172 + Identifier 2939135 2939154 + Identifier 2939155 2939171 + VariableStatement 2939173 2939362 + VariableDeclarationList 2939173 2939361 + VariableDeclaration 2939200 2939361 + Identifier 2939200 2939205 + CallExpression 2939207 2939361 + Identifier 2939207 2939219 + Identifier 2939220 2939235 + PropertyAccessExpression 2939236 2939264 + Identifier 2939236 2939252 + Identifier 2939253 2939264 + BinaryExpression 2939265 2939309 + PropertyAccessExpression 2939265 2939283 + Identifier 2939265 2939277 + Identifier 2939278 2939283 + BarToken 2939283 2939285 + PropertyAccessExpression 2939285 2939309 + Identifier 2939285 2939297 + Identifier 2939298 2939309 + Identifier 2939310 2939344 + TrueKeyword 2939345 2939360 + IfStatement 2939362 2939500 + Identifier 2939388 2939392 + Block 2939393 2939500 + ExpressionStatement 2939395 2939477 + CallExpression 2939395 2939476 + PropertyAccessExpression 2939395 2939440 + Identifier 2939395 2939428 + Identifier 2939429 2939440 + Identifier 2939441 2939445 + Identifier 2939446 2939456 + PropertyAccessExpression 2939457 2939475 + Identifier 2939457 2939469 + Identifier 2939470 2939475 + FunctionDeclaration 2939547 2940556 + Identifier 2939567 2939598 + Parameter 2939599 2939622 + Identifier 2939599 2939603 + TypeReference 2939604 2939622 + Identifier 2939604 2939622 + Block 2939623 2940556 + VariableStatement 2939625 2939678 + VariableDeclarationList 2939625 2939677 + VariableDeclaration 2939644 2939677 + Identifier 2939644 2939649 + CallExpression 2939651 2939677 + Identifier 2939651 2939671 + Identifier 2939672 2939676 + IfStatement 2939678 2939723 + PrefixUnaryExpression 2939696 2939708 + PropertyAccessExpression 2939697 2939708 + Identifier 2939697 2939701 + Identifier 2939702 2939708 + ReturnStatement 2939709 2939723 + FalseKeyword 2939716 2939722 + VariableStatement 2939723 2939801 + VariableDeclarationList 2939723 2939800 + VariableDeclaration 2939742 2939800 + Identifier 2939742 2939755 + CallExpression 2939757 2939800 + Identifier 2939757 2939794 + Identifier 2939795 2939799 + IfStatement 2939801 2939847 + PrefixUnaryExpression 2939819 2939832 + Identifier 2939820 2939832 + ReturnStatement 2939833 2939847 + FalseKeyword 2939840 2939846 + IfStatement 2939847 2939901 + BinaryExpression 2939865 2939886 + Identifier 2939865 2939877 + EqualsEqualsEqualsToken 2939877 2939881 + Identifier 2939881 2939886 + ReturnStatement 2939887 2939901 + FalseKeyword 2939894 2939900 + VariableStatement 2939901 2939963 + VariableDeclarationList 2939901 2939962 + VariableDeclaration 2939920 2939962 + Identifier 2939920 2939928 + CallExpression 2939930 2939962 + Identifier 2939930 2939949 + PropertyAccessExpression 2939950 2939961 + Identifier 2939950 2939954 + Identifier 2939955 2939961 + ForOfStatement 2939963 2940518 + VariableDeclarationList 2939982 2939989 + VariableDeclaration 2939987 2939989 + Identifier 2939987 2939989 + CallExpression 2939992 2940020 + Identifier 2939992 2940002 + CallExpression 2940003 2940019 + PropertyAccessExpression 2940003 2940017 + Identifier 2940003 2940010 + Identifier 2940011 2940017 + Block 2940021 2940518 + IfStatement 2940023 2940503 + PropertyAccessExpression 2940045 2940054 + Identifier 2940045 2940046 + Identifier 2940047 2940054 + Block 2940055 2940503 + VariableStatement 2940057 2940113 + VariableDeclarationList 2940057 2940112 + VariableDeclaration 2940084 2940112 + Identifier 2940084 2940091 + CallExpression 2940093 2940112 + Identifier 2940093 2940109 + Identifier 2940110 2940111 + IfStatement 2940113 2940484 + PropertyAccessExpression 2940139 2940158 + Identifier 2940139 2940145 + Identifier 2940146 2940158 + Block 2940159 2940484 + ForOfStatement 2940161 2940461 + VariableDeclarationList 2940192 2940199 + VariableDeclaration 2940197 2940199 + Identifier 2940197 2940199 + PropertyAccessExpression 2940202 2940222 + Identifier 2940202 2940209 + Identifier 2940210 2940222 + Block 2940223 2940461 + VariableStatement 2940225 2940295 + VariableDeclarationList 2940225 2940294 + VariableDeclaration 2940260 2940294 + Identifier 2940260 2940269 + CallExpression 2940271 2940294 + Identifier 2940271 2940291 + Identifier 2940292 2940293 + IfStatement 2940295 2940434 + BinaryExpression 2940329 2940354 + Identifier 2940329 2940337 + EqualsEqualsEqualsToken 2940337 2940341 + Identifier 2940341 2940354 + Block 2940355 2940434 + ReturnStatement 2940357 2940403 + TrueKeyword 2940397 2940402 + ReturnStatement 2940518 2940545 + FalseKeyword 2940538 2940544 + FunctionDeclaration 2940563 2941180 + Identifier 2940579 2940616 + Parameter 2940617 2940699 + Identifier 2940617 2940628 + UnionType 2940629 2940699 + TypeReference 2940629 2940649 + Identifier 2940629 2940649 + TypeReference 2940651 2940669 + Identifier 2940651 2940669 + TypeReference 2940671 2940686 + Identifier 2940671 2940686 + TypeReference 2940688 2940699 + Identifier 2940688 2940699 + UnionType 2940701 2940724 + TypeReference 2940701 2940712 + Identifier 2940701 2940712 + UndefinedKeyword 2940714 2940724 + Block 2940724 2941180 + VariableStatement 2940726 2940886 + VariableDeclarationList 2940726 2940885 + VariableDeclaration 2940741 2940885 + Identifier 2940741 2940751 + ConditionalExpression 2940753 2940885 + BinaryExpression 2940753 2940803 + PropertyAccessExpression 2940753 2940770 + Identifier 2940753 2940765 + Identifier 2940766 2940770 + EqualsEqualsEqualsToken 2940770 2940774 + PropertyAccessExpression 2940774 2940803 + Identifier 2940774 2940785 + Identifier 2940786 2940803 + QuestionToken 2940803 2940805 + CallExpression 2940805 2940848 + Identifier 2940805 2940813 + PropertyAccessExpression 2940814 2940830 + Identifier 2940814 2940825 + Identifier 2940826 2940830 + Identifier 2940831 2940847 + ColonToken 2940848 2940850 + CallExpression 2940850 2940885 + Identifier 2940850 2940872 + Identifier 2940873 2940884 + VariableStatement 2940886 2941008 + VariableDeclarationList 2940886 2941007 + VariableDeclaration 2940901 2941007 + Identifier 2940901 2940914 + CallExpression 2940916 2941007 + Identifier 2940916 2940948 + NonNullExpression 2940949 2940959 + Identifier 2940949 2940958 + NonNullExpression 2940960 2940971 + Identifier 2940960 2940970 + Identifier 2940972 2941006 + IfStatement 2941008 2941098 + PrefixUnaryExpression 2941040 2941053 + Identifier 2941041 2941053 + Block 2941054 2941098 + ReturnStatement 2941056 2941087 + Identifier 2941076 2941086 + ReturnStatement 2941098 2941173 + CallExpression 2941114 2941172 + Identifier 2941114 2941135 + Identifier 2941136 2941148 + PropertyAccessExpression 2941149 2941171 + Identifier 2941149 2941160 + Identifier 2941161 2941171 + FunctionDeclaration 2941180 2949182 + Identifier 2941196 2941218 + Block 2941220 2949182 + ForOfStatement 2941222 2941393 + VariableDeclarationList 2941292 2941302 + VariableDeclaration 2941297 2941302 + Identifier 2941297 2941302 + CallExpression 2941305 2941327 + PropertyAccessExpression 2941305 2941325 + Identifier 2941305 2941310 + Identifier 2941311 2941325 + Block 2941328 2941393 + ExpressionStatement 2941330 2941382 + CallExpression 2941330 2941381 + Identifier 2941330 2941358 + Identifier 2941359 2941363 + Identifier 2941364 2941380 + ExpressionStatement 2941393 2941439 + BinaryExpression 2941393 2941438 + Identifier 2941393 2941426 + EqualsToken 2941426 2941428 + NewExpression 2941428 2941438 + Identifier 2941432 2941436 + VariableStatement 2941439 2941569 + VariableDeclarationList 2941439 2941568 + VariableDeclaration 2941497 2941568 + Identifier 2941497 2941511 + UnionType 2941512 2941568 + ArrayType 2941512 2941556 + ParenthesizedType 2941512 2941554 + TypeOperator 2941514 2941553 + ArrayType 2941522 2941553 + ParenthesizedType 2941522 2941551 + UnionType 2941524 2941550 + TypeReference 2941524 2941537 + Identifier 2941524 2941537 + TypeReference 2941539 2941550 + Identifier 2941539 2941550 + UndefinedKeyword 2941558 2941568 + ForOfStatement 2941569 2943303 + VariableDeclarationList 2941584 2941594 + VariableDeclaration 2941589 2941594 + Identifier 2941589 2941594 + CallExpression 2941597 2941619 + PropertyAccessExpression 2941597 2941617 + Identifier 2941597 2941602 + Identifier 2941603 2941617 + Block 2941620 2943303 + IfStatement 2941622 2941702 + PropertyAccessExpression 2941640 2941657 + Identifier 2941640 2941644 + Identifier 2941645 2941657 + Block 2941658 2941702 + ContinueStatement 2941660 2941687 + IfStatement 2941702 2942380 + PrefixUnaryExpression 2941720 2941753 + CallExpression 2941721 2941753 + Identifier 2941721 2941747 + Identifier 2941748 2941752 + Block 2941754 2942380 + VariableStatement 2941756 2941954 + VariableDeclarationList 2941756 2941953 + VariableDeclaration 2941887 2941953 + Identifier 2941887 2941908 + CallExpression 2941910 2941953 + PropertyAccessExpression 2941910 2941927 + NonNullExpression 2941910 2941923 + PropertyAccessExpression 2941910 2941922 + Identifier 2941910 2941915 + Identifier 2941916 2941922 + Identifier 2941924 2941927 + AsExpression 2941928 2941952 + StringLiteral 2941928 2941940 + TypeReference 2941943 2941952 + Identifier 2941943 2941952 + IfStatement 2941954 2942307 + PropertyAccessExpression 2941976 2942010 + Identifier 2941976 2941996 + QuestionDotToken 2941996 2941998 + Identifier 2941998 2942010 + Block 2942011 2942307 + ForOfStatement 2942013 2942288 + VariableDeclarationList 2942040 2942057 + VariableDeclaration 2942045 2942057 + Identifier 2942045 2942057 + PropertyAccessExpression 2942060 2942094 + Identifier 2942060 2942081 + Identifier 2942082 2942094 + Block 2942095 2942288 + ExpressionStatement 2942097 2942265 + CallExpression 2942097 2942264 + PropertyAccessExpression 2942097 2942138 + Identifier 2942097 2942134 + Identifier 2942135 2942138 + CallExpression 2942139 2942263 + Identifier 2942139 2942162 + Identifier 2942163 2942174 + PropertyAccessExpression 2942175 2942248 + Identifier 2942175 2942187 + Identifier 2942188 2942248 + StringLiteral 2942249 2942262 + ExpressionStatement 2942307 2942365 + CallExpression 2942307 2942364 + Identifier 2942307 2942341 + Identifier 2942342 2942349 + NonNullExpression 2942350 2942363 + PropertyAccessExpression 2942350 2942362 + Identifier 2942350 2942355 + Identifier 2942356 2942362 + IfStatement 2942380 2942514 + PropertyAccessExpression 2942398 2942424 + Identifier 2942398 2942402 + Identifier 2942403 2942424 + Block 2942425 2942514 + ExpressionStatement 2942427 2942499 + CallExpression 2942427 2942498 + Identifier 2942427 2942461 + Identifier 2942462 2942469 + PropertyAccessExpression 2942470 2942497 + Identifier 2942470 2942475 + Identifier 2942476 2942497 + IfStatement 2942514 2942718 + BinaryExpression 2942532 2942595 + PropertyAccessExpression 2942532 2942558 + Identifier 2942532 2942536 + Identifier 2942537 2942558 + AmpersandAmpersandToken 2942558 2942561 + PropertyAccessExpression 2942561 2942595 + PropertyAccessExpression 2942561 2942588 + Identifier 2942561 2942566 + Identifier 2942567 2942588 + Identifier 2942589 2942595 + Block 2942596 2942718 + ExpressionStatement 2942598 2942703 + BinaryExpression 2942598 2942702 + Identifier 2942598 2942637 + EqualsToken 2942637 2942639 + CallExpression 2942639 2942702 + Identifier 2942639 2942651 + Identifier 2942652 2942673 + PropertyAccessExpression 2942674 2942701 + Identifier 2942674 2942679 + Identifier 2942680 2942701 + IfStatement 2942718 2942874 + PropertyAccessExpression 2942736 2942767 + PropertyAccessExpression 2942736 2942760 + Identifier 2942736 2942740 + Identifier 2942741 2942760 + Identifier 2942761 2942767 + Block 2942768 2942874 + ExpressionStatement 2942770 2942859 + CallExpression 2942770 2942858 + PropertyAccessExpression 2942770 2942832 + ParenthesizedExpression 2942770 2942827 + BinaryExpression 2942789 2942826 + Identifier 2942789 2942802 + BarBarToken 2942802 2942805 + ParenthesizedExpression 2942805 2942826 + BinaryExpression 2942807 2942825 + Identifier 2942807 2942820 + EqualsToken 2942820 2942822 + ArrayLiteralExpression 2942822 2942825 + Identifier 2942828 2942832 + PropertyAccessExpression 2942833 2942857 + Identifier 2942833 2942837 + Identifier 2942838 2942857 + IfStatement 2942874 2943292 + BinaryExpression 2942892 2942932 + PropertyAccessExpression 2942892 2942903 + Identifier 2942892 2942896 + Identifier 2942897 2942903 + AmpersandAmpersandToken 2942903 2942906 + PropertyAccessExpression 2942906 2942932 + PropertyAccessExpression 2942906 2942918 + Identifier 2942906 2942911 + Identifier 2942912 2942918 + Identifier 2942919 2942932 + Block 2942933 2943292 + VariableStatement 2942935 2943076 + VariableDeclarationList 2942935 2943075 + VariableDeclaration 2943040 2943075 + Identifier 2943040 2943047 + PropertyAccessExpression 2943049 2943075 + PropertyAccessExpression 2943049 2943061 + Identifier 2943049 2943054 + Identifier 2943055 2943061 + Identifier 2943062 2943075 + ExpressionStatement 2943076 2943277 + CallExpression 2943076 2943276 + PropertyAccessExpression 2943076 2943108 + Identifier 2943076 2943100 + Identifier 2943101 2943108 + ArrowFunction 2943109 2943275 + Parameter 2943110 2943122 + Identifier 2943110 2943122 + Parameter 2943123 2943126 + Identifier 2943123 2943126 + EqualsGreaterThanToken 2943127 2943130 + Block 2943130 2943275 + IfStatement 2943132 2943256 + PrefixUnaryExpression 2943158 2943174 + CallExpression 2943159 2943174 + PropertyAccessExpression 2943159 2943170 + Identifier 2943159 2943166 + Identifier 2943167 2943170 + Identifier 2943171 2943173 + Block 2943175 2943256 + ExpressionStatement 2943177 2943233 + CallExpression 2943177 2943232 + PropertyAccessExpression 2943177 2943214 + Identifier 2943177 2943210 + Identifier 2943211 2943214 + Identifier 2943215 2943217 + Identifier 2943218 2943231 + IfStatement 2943303 2944512 + Identifier 2944003 2944016 + Block 2944017 2944512 + ForOfStatement 2944019 2944501 + VariableDeclarationList 2944220 2944230 + VariableDeclaration 2944225 2944230 + Identifier 2944225 2944230 + Identifier 2944233 2944247 + Block 2944248 2944501 + ForOfStatement 2944250 2944486 + VariableDeclarationList 2944273 2944291 + VariableDeclaration 2944278 2944291 + Identifier 2944278 2944291 + Identifier 2944294 2944299 + Block 2944300 2944486 + IfStatement 2944302 2944407 + PrefixUnaryExpression 2944328 2944396 + CallExpression 2944329 2944396 + Identifier 2944329 2944354 + AsExpression 2944355 2944395 + PropertyAccessExpression 2944355 2944374 + Identifier 2944355 2944367 + Identifier 2944368 2944374 + TypeReference 2944377 2944395 + Identifier 2944377 2944395 + ContinueStatement 2944397 2944407 + ExpressionStatement 2944407 2944467 + CallExpression 2944407 2944466 + Identifier 2944407 2944452 + Identifier 2944453 2944465 + ExpressionStatement 2944512 2944570 + CallExpression 2944512 2944569 + Identifier 2944512 2944567 + ExpressionStatement 2944570 2944643 + BinaryExpression 2944570 2944642 + PropertyAccessExpression 2944570 2944618 + CallExpression 2944570 2944613 + Identifier 2944570 2944596 + Identifier 2944597 2944612 + Identifier 2944614 2944618 + EqualsToken 2944618 2944620 + Identifier 2944620 2944642 + ExpressionStatement 2944643 2944768 + BinaryExpression 2944643 2944767 + PropertyAccessExpression 2944643 2944689 + CallExpression 2944643 2944684 + Identifier 2944643 2944667 + Identifier 2944668 2944683 + Identifier 2944685 2944689 + EqualsToken 2944689 2944691 + CallExpression 2944691 2944767 + Identifier 2944691 2944705 + AsExpression 2944706 2944730 + StringLiteral 2944706 2944718 + TypeReference 2944721 2944730 + Identifier 2944721 2944730 + NumericLiteral 2944731 2944743 + TrueKeyword 2944744 2944766 + ExpressionStatement 2944768 2944825 + BinaryExpression 2944768 2944824 + PropertyAccessExpression 2944768 2944812 + CallExpression 2944768 2944807 + Identifier 2944768 2944792 + Identifier 2944793 2944806 + Identifier 2944808 2944812 + EqualsToken 2944812 2944814 + Identifier 2944814 2944824 + ExpressionStatement 2944825 2944933 + BinaryExpression 2944825 2944932 + PropertyAccessExpression 2944825 2944872 + CallExpression 2944825 2944867 + Identifier 2944825 2944849 + Identifier 2944850 2944866 + Identifier 2944868 2944872 + EqualsToken 2944872 2944874 + CallExpression 2944874 2944932 + Identifier 2944874 2944891 + PropertyAccessExpression 2944892 2944913 + Identifier 2944892 2944903 + Identifier 2944904 2944913 + Identifier 2944914 2944931 + ExpressionStatement 2944933 2945071 + BinaryExpression 2944933 2945070 + Identifier 2944933 2944997 + EqualsToken 2944997 2944999 + CallExpression 2944999 2945070 + Identifier 2944999 2945013 + AsExpression 2945014 2945033 + StringLiteral 2945014 2945021 + TypeReference 2945024 2945033 + Identifier 2945024 2945033 + NumericLiteral 2945034 2945046 + TrueKeyword 2945047 2945069 + ExpressionStatement 2945071 2945172 + BinaryExpression 2945071 2945171 + Identifier 2945071 2945097 + EqualsToken 2945097 2945099 + CallExpression 2945099 2945171 + Identifier 2945099 2945113 + AsExpression 2945114 2945134 + StringLiteral 2945114 2945122 + TypeReference 2945125 2945134 + Identifier 2945125 2945134 + NumericLiteral 2945135 2945147 + TrueKeyword 2945148 2945170 + ExpressionStatement 2945172 2945277 + BinaryExpression 2945172 2945276 + Identifier 2945172 2945200 + EqualsToken 2945200 2945202 + CallExpression 2945202 2945276 + Identifier 2945202 2945216 + AsExpression 2945217 2945239 + StringLiteral 2945217 2945227 + TypeReference 2945230 2945239 + Identifier 2945230 2945239 + NumericLiteral 2945240 2945252 + TrueKeyword 2945253 2945275 + ExpressionStatement 2945277 2945443 + BinaryExpression 2945277 2945442 + Identifier 2945277 2945313 + EqualsToken 2945313 2945315 + BinaryExpression 2945315 2945442 + BinaryExpression 2945315 2945420 + Identifier 2945315 2945335 + AmpersandAmpersandToken 2945335 2945338 + CallExpression 2945338 2945420 + Identifier 2945338 2945352 + AsExpression 2945353 2945383 + StringLiteral 2945353 2945371 + TypeReference 2945374 2945383 + Identifier 2945374 2945383 + NumericLiteral 2945384 2945396 + TrueKeyword 2945397 2945419 + BarBarToken 2945420 2945423 + Identifier 2945423 2945442 + ExpressionStatement 2945443 2945607 + BinaryExpression 2945443 2945606 + Identifier 2945443 2945478 + EqualsToken 2945478 2945480 + BinaryExpression 2945480 2945606 + BinaryExpression 2945480 2945584 + Identifier 2945480 2945500 + AmpersandAmpersandToken 2945500 2945503 + CallExpression 2945503 2945584 + Identifier 2945503 2945517 + AsExpression 2945518 2945547 + StringLiteral 2945518 2945535 + TypeReference 2945538 2945547 + Identifier 2945538 2945547 + NumericLiteral 2945548 2945560 + TrueKeyword 2945561 2945583 + BarBarToken 2945584 2945587 + Identifier 2945587 2945606 + ExpressionStatement 2945607 2945708 + BinaryExpression 2945607 2945707 + Identifier 2945607 2945633 + EqualsToken 2945633 2945635 + CallExpression 2945635 2945707 + Identifier 2945635 2945649 + AsExpression 2945650 2945670 + StringLiteral 2945650 2945658 + TypeReference 2945661 2945670 + Identifier 2945661 2945670 + NumericLiteral 2945671 2945683 + TrueKeyword 2945684 2945706 + ExpressionStatement 2945708 2945809 + BinaryExpression 2945708 2945808 + Identifier 2945708 2945734 + EqualsToken 2945734 2945736 + CallExpression 2945736 2945808 + Identifier 2945736 2945750 + AsExpression 2945751 2945771 + StringLiteral 2945751 2945759 + TypeReference 2945762 2945771 + Identifier 2945762 2945771 + NumericLiteral 2945772 2945784 + TrueKeyword 2945785 2945807 + ExpressionStatement 2945809 2945912 + BinaryExpression 2945809 2945911 + Identifier 2945809 2945836 + EqualsToken 2945836 2945838 + CallExpression 2945838 2945911 + Identifier 2945838 2945852 + AsExpression 2945853 2945874 + StringLiteral 2945853 2945862 + TypeReference 2945865 2945874 + Identifier 2945865 2945874 + NumericLiteral 2945875 2945887 + TrueKeyword 2945888 2945910 + ExpressionStatement 2945912 2946013 + BinaryExpression 2945912 2946012 + Identifier 2945912 2945938 + EqualsToken 2945938 2945940 + CallExpression 2945940 2946012 + Identifier 2945940 2945954 + AsExpression 2945955 2945975 + StringLiteral 2945955 2945963 + TypeReference 2945966 2945975 + Identifier 2945966 2945975 + NumericLiteral 2945976 2945988 + TrueKeyword 2945989 2946011 + ExpressionStatement 2946013 2946063 + BinaryExpression 2946013 2946062 + Identifier 2946013 2946035 + EqualsToken 2946035 2946037 + CallExpression 2946037 2946062 + Identifier 2946037 2946053 + Identifier 2946054 2946061 + ExpressionStatement 2946063 2946117 + BinaryExpression 2946063 2946116 + Identifier 2946063 2946088 + EqualsToken 2946088 2946090 + CallExpression 2946090 2946116 + Identifier 2946090 2946106 + Identifier 2946107 2946115 + IfStatement 2946117 2946425 + BinaryExpression 2946131 2946164 + Identifier 2946131 2946144 + EqualsEqualsEqualsToken 2946144 2946148 + Identifier 2946148 2946164 + Block 2946165 2946425 + ExpressionStatement 2946167 2946414 + BinaryExpression 2946167 2946413 + Identifier 2946167 2946319 + EqualsToken 2946319 2946321 + CallExpression 2946321 2946413 + Identifier 2946321 2946341 + Identifier 2946342 2946362 + Identifier 2946363 2946376 + Identifier 2946377 2946388 + Identifier 2946389 2946400 + Identifier 2946401 2946412 + ExpressionStatement 2946425 2946564 + BinaryExpression 2946425 2946563 + Identifier 2946425 2946460 + EqualsToken 2946460 2946462 + BinaryExpression 2946462 2946563 + AsExpression 2946462 2946544 + CallExpression 2946462 2946529 + Identifier 2946462 2946487 + AsExpression 2946488 2946515 + StringLiteral 2946488 2946503 + TypeReference 2946506 2946515 + Identifier 2946506 2946515 + NumericLiteral 2946516 2946528 + TypeReference 2946532 2946544 + Identifier 2946532 2946544 + BarBarToken 2946544 2946547 + Identifier 2946547 2946563 + ExpressionStatement 2946564 2946706 + BinaryExpression 2946564 2946705 + Identifier 2946564 2946594 + EqualsToken 2946594 2946596 + ConditionalExpression 2946596 2946705 + Identifier 2946596 2946620 + QuestionToken 2946620 2946622 + CallExpression 2946622 2946690 + Identifier 2946622 2946654 + Identifier 2946655 2946678 + ArrayLiteralExpression 2946679 2946689 + Identifier 2946681 2946688 + ColonToken 2946690 2946692 + Identifier 2946692 2946705 + ExpressionStatement 2946706 2946810 + BinaryExpression 2946706 2946809 + Identifier 2946706 2946730 + EqualsToken 2946730 2946732 + AsExpression 2946732 2946809 + CallExpression 2946732 2946794 + Identifier 2946732 2946757 + AsExpression 2946758 2946780 + StringLiteral 2946758 2946768 + TypeReference 2946771 2946780 + Identifier 2946771 2946780 + NumericLiteral 2946781 2946793 + TypeReference 2946797 2946809 + Identifier 2946797 2946809 + IfStatement 2946810 2947337 + Identifier 2946826 2946839 + Block 2946840 2947337 + ForOfStatement 2946842 2947326 + VariableDeclarationList 2947046 2947056 + VariableDeclaration 2947051 2947056 + Identifier 2947051 2947056 + Identifier 2947059 2947073 + Block 2947074 2947326 + ForOfStatement 2947076 2947311 + VariableDeclarationList 2947099 2947117 + VariableDeclaration 2947104 2947117 + Identifier 2947104 2947117 + Identifier 2947120 2947125 + Block 2947126 2947311 + IfStatement 2947128 2947232 + CallExpression 2947154 2947221 + Identifier 2947154 2947179 + AsExpression 2947180 2947220 + PropertyAccessExpression 2947180 2947199 + Identifier 2947180 2947192 + Identifier 2947193 2947199 + TypeReference 2947202 2947220 + Identifier 2947202 2947220 + ContinueStatement 2947222 2947232 + ExpressionStatement 2947232 2947292 + CallExpression 2947232 2947291 + Identifier 2947232 2947277 + Identifier 2947278 2947290 + ExpressionStatement 2947337 2949131 + CallExpression 2947337 2949130 + PropertyAccessExpression 2947337 2947378 + Identifier 2947337 2947370 + Identifier 2947371 2947378 + ArrowFunction 2947379 2949129 + Parameter 2947380 2947425 + ObjectBindingPattern 2947380 2947425 + BindingElement 2947381 2947391 + Identifier 2947381 2947391 + BindingElement 2947392 2947403 + Identifier 2947392 2947403 + BindingElement 2947404 2947423 + Identifier 2947404 2947423 + EqualsGreaterThanToken 2947426 2947429 + Block 2947429 2949129 + IfStatement 2947431 2949118 + BinaryExpression 2947518 2947545 + PropertyAccessExpression 2947518 2947541 + Identifier 2947518 2947536 + Identifier 2947537 2947541 + LessThanToken 2947541 2947543 + NumericLiteral 2947543 2947545 + Block 2947546 2948226 + ExpressionStatement 2947548 2948211 + CallExpression 2947548 2948210 + PropertyAccessExpression 2947548 2947592 + Identifier 2947548 2947584 + Identifier 2947585 2947592 + ArrowFunction 2947593 2948209 + Parameter 2947594 2947652 + ObjectBindingPattern 2947594 2947652 + BindingElement 2947595 2947609 + Identifier 2947595 2947609 + BindingElement 2947610 2947629 + Identifier 2947610 2947629 + BindingElement 2947630 2947650 + Identifier 2947630 2947650 + Parameter 2947653 2947664 + Identifier 2947653 2947664 + EqualsGreaterThanToken 2947665 2947668 + Block 2947668 2948209 + VariableStatement 2947670 2947814 + VariableDeclarationList 2947670 2947813 + VariableDeclaration 2947697 2947813 + Identifier 2947697 2947705 + ConditionalExpression 2947707 2947813 + Identifier 2947707 2947721 + QuestionToken 2947721 2947723 + PropertyAccessExpression 2947723 2947776 + Identifier 2947723 2947735 + Identifier 2947736 2947776 + ColonToken 2947776 2947778 + PropertyAccessExpression 2947778 2947813 + Identifier 2947778 2947790 + Identifier 2947791 2947813 + ForOfStatement 2947814 2948002 + VariableDeclarationList 2947841 2947851 + VariableDeclaration 2947846 2947851 + Identifier 2947846 2947851 + Identifier 2947854 2947873 + Block 2947874 2948002 + ExpressionStatement 2947876 2947979 + CallExpression 2947876 2947978 + Identifier 2947876 2947930 + Identifier 2947931 2947935 + Identifier 2947936 2947944 + Identifier 2947945 2947956 + Identifier 2947957 2947977 + ForOfStatement 2948002 2948190 + VariableDeclarationList 2948029 2948039 + VariableDeclaration 2948034 2948039 + Identifier 2948034 2948039 + Identifier 2948042 2948062 + Block 2948063 2948190 + ExpressionStatement 2948065 2948167 + CallExpression 2948065 2948166 + Identifier 2948065 2948119 + Identifier 2948120 2948124 + Identifier 2948125 2948133 + Identifier 2948134 2948145 + Identifier 2948146 2948165 + Block 2948244 2949118 + VariableStatement 2948246 2948445 + VariableDeclarationList 2948246 2948444 + VariableDeclaration 2948389 2948444 + Identifier 2948389 2948394 + CallExpression 2948396 2948444 + PropertyAccessExpression 2948396 2948438 + CallExpression 2948396 2948433 + Identifier 2948396 2948406 + CallExpression 2948407 2948432 + PropertyAccessExpression 2948407 2948430 + Identifier 2948407 2948425 + Identifier 2948426 2948430 + Identifier 2948434 2948438 + StringLiteral 2948439 2948443 + ExpressionStatement 2948445 2948774 + CallExpression 2948445 2948773 + PropertyAccessExpression 2948445 2948478 + Identifier 2948445 2948474 + Identifier 2948475 2948478 + CallExpression 2948479 2948772 + Identifier 2948479 2948493 + CallExpression 2948494 2948654 + Identifier 2948494 2948539 + Identifier 2948540 2948549 + PropertyAccessExpression 2948550 2948647 + Identifier 2948550 2948562 + Identifier 2948563 2948647 + Identifier 2948648 2948653 + CallExpression 2948655 2948752 + Identifier 2948655 2948700 + Identifier 2948701 2948711 + PropertyAccessExpression 2948712 2948751 + Identifier 2948712 2948724 + Identifier 2948725 2948751 + ExpressionStatement 2948774 2949103 + CallExpression 2948774 2949102 + PropertyAccessExpression 2948774 2948807 + Identifier 2948774 2948803 + Identifier 2948804 2948807 + CallExpression 2948808 2949101 + Identifier 2948808 2948822 + CallExpression 2948823 2948984 + Identifier 2948823 2948868 + Identifier 2948869 2948879 + PropertyAccessExpression 2948880 2948977 + Identifier 2948880 2948892 + Identifier 2948893 2948977 + Identifier 2948978 2948983 + CallExpression 2948985 2949081 + Identifier 2948985 2949030 + Identifier 2949031 2949040 + PropertyAccessExpression 2949041 2949080 + Identifier 2949041 2949053 + Identifier 2949054 2949080 + ExpressionStatement 2949131 2949175 + BinaryExpression 2949131 2949174 + Identifier 2949131 2949162 + EqualsToken 2949162 2949164 + Identifier 2949164 2949174 + FunctionDeclaration 2949182 2952673 + Identifier 2949198 2949223 + Parameter 2949224 2949238 + Identifier 2949224 2949232 + TypeReference 2949233 2949238 + Identifier 2949233 2949238 + Parameter 2949239 2949268 + Identifier 2949239 2949247 + TypeReference 2949248 2949268 + Identifier 2949248 2949268 + Block 2949269 2952673 + IfStatement 2949271 2952666 + PropertyAccessExpression 2949285 2949314 + Identifier 2949285 2949300 + Identifier 2949301 2949314 + Block 2949315 2952666 + VariableStatement 2949317 2949380 + VariableDeclarationList 2949317 2949379 + VariableDeclaration 2949336 2949379 + Identifier 2949336 2949347 + CallExpression 2949349 2949379 + Identifier 2949349 2949369 + Identifier 2949370 2949378 + IfStatement 2949380 2952655 + BinaryExpression 2949398 2949493 + CallExpression 2949398 2949452 + Identifier 2949398 2949423 + Identifier 2949424 2949434 + Identifier 2949435 2949451 + AmpersandAmpersandToken 2949452 2949455 + PrefixUnaryExpression 2949455 2949493 + ParenthesizedExpression 2949457 2949493 + BinaryExpression 2949458 2949492 + PropertyAccessExpression 2949458 2949472 + Identifier 2949458 2949466 + Identifier 2949467 2949472 + AmpersandToken 2949472 2949474 + PropertyAccessExpression 2949474 2949492 + Identifier 2949474 2949484 + Identifier 2949485 2949492 + Block 2949494 2952655 + VariableStatement 2949496 2949579 + VariableDeclarationList 2949496 2949578 + VariableDeclaration 2949519 2949578 + Identifier 2949519 2949533 + CallExpression 2949535 2949578 + Identifier 2949535 2949556 + Identifier 2949557 2949567 + Identifier 2949568 2949577 + IfStatement 2949579 2952640 + BinaryExpression 2949601 2949632 + Identifier 2949601 2949614 + ExclamationEqualsEqualsToken 2949614 2949618 + Identifier 2949618 2949632 + Block 2949633 2952640 + VariableStatement 2949635 2949701 + VariableDeclarationList 2949635 2949700 + VariableDeclaration 2949662 2949700 + Identifier 2949662 2949668 + CallExpression 2949670 2949700 + Identifier 2949670 2949685 + Identifier 2949686 2949699 + ExpressionStatement 2949701 2949787 + BinaryExpression 2949701 2949786 + PropertyAccessExpression 2949701 2949757 + Identifier 2949701 2949728 + Identifier 2949729 2949757 + QuestionQuestionEqualsToken 2949757 2949761 + AsExpression 2949761 2949786 + NumericLiteral 2949761 2949763 + TypeReference 2949766 2949786 + Identifier 2949766 2949786 + IfStatement 2949787 2952553 + BinaryExpression 2949813 2949871 + ParenthesizedExpression 2949813 2949859 + BinaryExpression 2949814 2949858 + PropertyAccessExpression 2949814 2949848 + Identifier 2949814 2949819 + Identifier 2949820 2949848 + AmpersandToken 2949848 2949850 + Identifier 2949850 2949858 + ExclamationEqualsEqualsToken 2949859 2949863 + Identifier 2949863 2949871 + Block 2949872 2952553 + VariableStatement 2949874 2949971 + VariableDeclarationList 2949874 2949970 + VariableDeclaration 2949905 2949970 + Identifier 2949905 2949922 + BinaryExpression 2949924 2949970 + Identifier 2949924 2949932 + AmpersandToken 2949932 2949934 + PrefixUnaryExpression 2949934 2949970 + PropertyAccessExpression 2949936 2949970 + Identifier 2949936 2949941 + Identifier 2949942 2949970 + ForStatement 2949971 2952530 + VariableDeclarationList 2950002 2950050 + VariableDeclaration 2950005 2950050 + Identifier 2950005 2950012 + PropertyAccessExpression 2950014 2950050 + Identifier 2950014 2950034 + Identifier 2950035 2950050 + BinaryExpression 2950051 2950096 + Identifier 2950051 2950058 + LessThanEqualsToken 2950058 2950061 + PropertyAccessExpression 2950061 2950096 + Identifier 2950061 2950081 + Identifier 2950082 2950096 + BinaryExpression 2950097 2950110 + Identifier 2950097 2950104 + LessThanLessThanEqualsToken 2950104 2950108 + NumericLiteral 2950108 2950110 + Block 2950111 2952530 + IfStatement 2950113 2952503 + BinaryExpression 2950147 2950172 + Identifier 2950147 2950163 + AmpersandToken 2950163 2950165 + Identifier 2950165 2950172 + Block 2950173 2952503 + ForOfStatement 2950175 2952472 + VariableDeclarationList 2950214 2950224 + VariableDeclaration 2950219 2950224 + Identifier 2950219 2950224 + CallExpression 2950227 2950250 + Identifier 2950227 2950242 + Identifier 2950243 2950249 + Block 2950251 2952472 + VariableStatement 2950253 2950417 + VariableDeclarationList 2950253 2950416 + VariableDeclaration 2950296 2950416 + Identifier 2950296 2950303 + CallExpression 2950305 2950416 + Identifier 2950305 2950319 + CallExpression 2950320 2950415 + Identifier 2950320 2950329 + CallExpression 2950330 2950363 + Identifier 2950330 2950348 + Identifier 2950349 2950362 + CallExpression 2950364 2950395 + Identifier 2950364 2950389 + Identifier 2950390 2950394 + PropertyAccessExpression 2950396 2950414 + Identifier 2950396 2950408 + Identifier 2950409 2950414 + IfStatement 2950417 2952437 + PrefixUnaryExpression 2950459 2950466 + Identifier 2950460 2950466 + Block 2950467 2950727 + ExpressionStatement 2950469 2950688 + CallExpression 2950469 2950687 + Identifier 2950469 2950516 + Identifier 2950517 2950525 + PropertyAccessExpression 2950526 2950649 + Identifier 2950526 2950538 + Identifier 2950539 2950649 + Identifier 2950650 2950680 + Identifier 2950681 2950686 + IfStatement 2950769 2952437 + BinaryExpression 2950774 2950823 + Identifier 2950774 2950780 + AmpersandToken 2950780 2950782 + PropertyAccessExpression 2950782 2950823 + Identifier 2950782 2950802 + Identifier 2950803 2950823 + Block 2950824 2951300 + IfStatement 2950826 2951261 + PrefixUnaryExpression 2950872 2950955 + CallExpression 2950873 2950955 + Identifier 2950873 2950877 + CallExpression 2950878 2950907 + Identifier 2950878 2950899 + Identifier 2950900 2950906 + ArrowFunction 2950908 2950954 + Parameter 2950908 2950918 + Identifier 2950908 2950918 + EqualsGreaterThanToken 2950918 2950921 + BinaryExpression 2950921 2950954 + CallExpression 2950921 2950950 + Identifier 2950921 2950939 + Identifier 2950940 2950949 + GreaterThanToken 2950950 2950952 + NumericLiteral 2950952 2950954 + Block 2950956 2951261 + ExpressionStatement 2950958 2951218 + CallExpression 2950958 2951217 + Identifier 2950958 2951009 + Identifier 2951010 2951018 + PropertyAccessExpression 2951019 2951176 + Identifier 2951019 2951031 + Identifier 2951032 2951176 + Identifier 2951177 2951207 + Identifier 2951208 2951213 + NumericLiteral 2951214 2951216 + IfStatement 2951342 2952437 + BinaryExpression 2951347 2951396 + Identifier 2951347 2951353 + AmpersandToken 2951353 2951355 + PropertyAccessExpression 2951355 2951396 + Identifier 2951355 2951375 + Identifier 2951376 2951396 + Block 2951397 2951873 + IfStatement 2951399 2951834 + PrefixUnaryExpression 2951445 2951528 + CallExpression 2951446 2951528 + Identifier 2951446 2951450 + CallExpression 2951451 2951480 + Identifier 2951451 2951472 + Identifier 2951473 2951479 + ArrowFunction 2951481 2951527 + Parameter 2951481 2951491 + Identifier 2951481 2951491 + EqualsGreaterThanToken 2951491 2951494 + BinaryExpression 2951494 2951527 + CallExpression 2951494 2951523 + Identifier 2951494 2951512 + Identifier 2951513 2951522 + GreaterThanToken 2951523 2951525 + NumericLiteral 2951525 2951527 + Block 2951529 2951834 + ExpressionStatement 2951531 2951791 + CallExpression 2951531 2951790 + Identifier 2951531 2951582 + Identifier 2951583 2951591 + PropertyAccessExpression 2951592 2951749 + Identifier 2951592 2951604 + Identifier 2951605 2951749 + Identifier 2951750 2951780 + Identifier 2951781 2951786 + NumericLiteral 2951787 2951789 + IfStatement 2951915 2952437 + BinaryExpression 2951920 2951960 + Identifier 2951920 2951926 + AmpersandToken 2951926 2951928 + PropertyAccessExpression 2951928 2951960 + Identifier 2951928 2951948 + Identifier 2951949 2951960 + Block 2951961 2952437 + IfStatement 2951963 2952398 + PrefixUnaryExpression 2952009 2952092 + CallExpression 2952010 2952092 + Identifier 2952010 2952014 + CallExpression 2952015 2952044 + Identifier 2952015 2952036 + Identifier 2952037 2952043 + ArrowFunction 2952045 2952091 + Parameter 2952045 2952055 + Identifier 2952045 2952055 + EqualsGreaterThanToken 2952055 2952058 + BinaryExpression 2952058 2952091 + CallExpression 2952058 2952087 + Identifier 2952058 2952076 + Identifier 2952077 2952086 + GreaterThanToken 2952087 2952089 + NumericLiteral 2952089 2952091 + Block 2952093 2952398 + ExpressionStatement 2952095 2952355 + CallExpression 2952095 2952354 + Identifier 2952095 2952146 + Identifier 2952147 2952155 + PropertyAccessExpression 2952156 2952313 + Identifier 2952156 2952168 + Identifier 2952169 2952313 + Identifier 2952314 2952344 + Identifier 2952345 2952350 + NumericLiteral 2952351 2952353 + ExpressionStatement 2952553 2952621 + BinaryExpression 2952553 2952620 + PropertyAccessExpression 2952553 2952609 + Identifier 2952553 2952580 + Identifier 2952581 2952609 + BarEqualsToken 2952609 2952612 + Identifier 2952612 2952620 + FunctionDeclaration 2952673 2955437 + Identifier 2952689 2952704 + Parameter 2952705 2952732 + Identifier 2952705 2952711 + TypeReference 2952712 2952732 + Identifier 2952712 2952732 + Block 2952733 2955437 + SwitchStatement 2952735 2955430 + Identifier 2952753 2952759 + CaseBlock 2952760 2955430 + CaseClause 2952762 2952848 + PropertyAccessExpression 2952780 2952808 + Identifier 2952780 2952800 + Identifier 2952801 2952808 + ReturnStatement 2952809 2952848 + ArrayLiteralExpression 2952833 2952847 + StringLiteral 2952835 2952846 + CaseClause 2952848 2952932 + PropertyAccessExpression 2952866 2952893 + Identifier 2952866 2952886 + Identifier 2952887 2952893 + ReturnStatement 2952894 2952932 + ArrayLiteralExpression 2952918 2952931 + StringLiteral 2952920 2952930 + CaseClause 2952932 2953012 + PropertyAccessExpression 2952950 2952975 + Identifier 2952950 2952970 + Identifier 2952971 2952975 + ReturnStatement 2952976 2953012 + ArrayLiteralExpression 2953000 2953011 + StringLiteral 2953002 2953010 + CaseClause 2953012 2953159 + PropertyAccessExpression 2953030 2953059 + Identifier 2953030 2953050 + Identifier 2953051 2953059 + ReturnStatement 2953060 2953159 + ConditionalExpression 2953084 2953158 + Identifier 2953084 2953101 + QuestionToken 2953101 2953103 + ArrayLiteralExpression 2953103 2953118 + StringLiteral 2953105 2953117 + ColonToken 2953118 2953120 + ArrayLiteralExpression 2953120 2953158 + StringLiteral 2953122 2953136 + StringLiteral 2953137 2953157 + CaseClause 2953159 2953247 + PropertyAccessExpression 2953177 2953206 + Identifier 2953177 2953197 + Identifier 2953198 2953206 + ReturnStatement 2953207 2953247 + ArrayLiteralExpression 2953231 2953246 + StringLiteral 2953233 2953245 + CaseClause 2953247 2953329 + PropertyAccessExpression 2953265 2953291 + Identifier 2953265 2953285 + Identifier 2953286 2953291 + ReturnStatement 2953292 2953329 + ArrayLiteralExpression 2953316 2953328 + StringLiteral 2953318 2953327 + CaseClause 2953329 2953415 + PropertyAccessExpression 2953347 2953375 + Identifier 2953347 2953367 + Identifier 2953368 2953375 + ReturnStatement 2953376 2953415 + ArrayLiteralExpression 2953400 2953414 + StringLiteral 2953402 2953413 + CaseClause 2953415 2953505 + PropertyAccessExpression 2953433 2953463 + Identifier 2953433 2953453 + Identifier 2953454 2953463 + ReturnStatement 2953464 2953505 + ArrayLiteralExpression 2953488 2953504 + StringLiteral 2953490 2953503 + CaseClause 2953505 2953589 + PropertyAccessExpression 2953523 2953550 + Identifier 2953523 2953543 + Identifier 2953544 2953550 + ReturnStatement 2953551 2953589 + ArrayLiteralExpression 2953575 2953588 + StringLiteral 2953577 2953587 + CaseClause 2953589 2953669 + PropertyAccessExpression 2953607 2953632 + Identifier 2953607 2953627 + Identifier 2953628 2953632 + ReturnStatement 2953633 2953669 + ArrayLiteralExpression 2953657 2953668 + StringLiteral 2953659 2953667 + CaseClause 2953669 2953763 + PropertyAccessExpression 2953687 2953719 + Identifier 2953687 2953707 + Identifier 2953708 2953719 + ReturnStatement 2953720 2953763 + ArrayLiteralExpression 2953744 2953762 + StringLiteral 2953746 2953761 + CaseClause 2953763 2953845 + PropertyAccessExpression 2953781 2953807 + Identifier 2953781 2953801 + Identifier 2953802 2953807 + ReturnStatement 2953808 2953845 + ArrayLiteralExpression 2953832 2953844 + StringLiteral 2953834 2953843 + CaseClause 2953845 2953945 + PropertyAccessExpression 2953863 2953898 + Identifier 2953863 2953883 + Identifier 2953884 2953898 + ReturnStatement 2953899 2953945 + ArrayLiteralExpression 2953923 2953944 + StringLiteral 2953925 2953943 + CaseClause 2953945 2954045 + PropertyAccessExpression 2953963 2953998 + Identifier 2953963 2953983 + Identifier 2953984 2953998 + ReturnStatement 2953999 2954045 + ArrayLiteralExpression 2954023 2954044 + StringLiteral 2954025 2954043 + CaseClause 2954045 2954139 + PropertyAccessExpression 2954063 2954095 + Identifier 2954063 2954083 + Identifier 2954084 2954095 + ReturnStatement 2954096 2954139 + ArrayLiteralExpression 2954120 2954138 + StringLiteral 2954122 2954137 + CaseClause 2954139 2954231 + PropertyAccessExpression 2954157 2954188 + Identifier 2954157 2954177 + Identifier 2954178 2954188 + ReturnStatement 2954189 2954231 + ArrayLiteralExpression 2954213 2954230 + StringLiteral 2954215 2954229 + CaseClause 2954231 2954323 + PropertyAccessExpression 2954249 2954280 + Identifier 2954249 2954269 + Identifier 2954270 2954280 + ReturnStatement 2954281 2954323 + ArrayLiteralExpression 2954305 2954322 + StringLiteral 2954307 2954321 + CaseClause 2954323 2954421 + PropertyAccessExpression 2954341 2954375 + Identifier 2954341 2954361 + Identifier 2954362 2954375 + ReturnStatement 2954376 2954421 + ArrayLiteralExpression 2954400 2954420 + StringLiteral 2954402 2954419 + CaseClause 2954421 2954529 + PropertyAccessExpression 2954439 2954478 + Identifier 2954439 2954459 + Identifier 2954460 2954478 + ReturnStatement 2954479 2954529 + ArrayLiteralExpression 2954503 2954528 + StringLiteral 2954505 2954527 + CaseClause 2954529 2954641 + PropertyAccessExpression 2954547 2954588 + Identifier 2954547 2954567 + Identifier 2954568 2954588 + ReturnStatement 2954589 2954641 + ArrayLiteralExpression 2954613 2954640 + StringLiteral 2954615 2954639 + CaseClause 2954641 2954753 + PropertyAccessExpression 2954659 2954700 + Identifier 2954659 2954679 + Identifier 2954680 2954700 + ReturnStatement 2954701 2954753 + ArrayLiteralExpression 2954725 2954752 + StringLiteral 2954727 2954751 + CaseClause 2954753 2954863 + PropertyAccessExpression 2954771 2954811 + Identifier 2954771 2954791 + Identifier 2954792 2954811 + ReturnStatement 2954812 2954863 + ArrayLiteralExpression 2954836 2954862 + StringLiteral 2954838 2954861 + CaseClause 2954863 2954965 + PropertyAccessExpression 2954881 2954917 + Identifier 2954881 2954901 + Identifier 2954902 2954917 + ReturnStatement 2954918 2954965 + ArrayLiteralExpression 2954942 2954964 + StringLiteral 2954944 2954963 + CaseClause 2954965 2955051 + PropertyAccessExpression 2954983 2955011 + Identifier 2954983 2955003 + Identifier 2955004 2955011 + ReturnStatement 2955012 2955051 + ArrayLiteralExpression 2955036 2955050 + StringLiteral 2955038 2955049 + CaseClause 2955051 2955206 + PropertyAccessExpression 2955069 2955130 + Identifier 2955069 2955089 + Identifier 2955090 2955130 + ReturnStatement 2955131 2955206 + ArrayLiteralExpression 2955155 2955205 + StringLiteral 2955157 2955182 + StringLiteral 2955183 2955204 + CaseClause 2955206 2955338 + PropertyAccessExpression 2955224 2955275 + Identifier 2955224 2955244 + Identifier 2955245 2955275 + ReturnStatement 2955276 2955338 + ArrayLiteralExpression 2955300 2955337 + StringLiteral 2955302 2955336 + DefaultClause 2955338 2955419 + ReturnStatement 2955360 2955419 + CallExpression 2955384 2955418 + PropertyAccessExpression 2955384 2955395 + Identifier 2955384 2955390 + Identifier 2955391 2955395 + StringLiteral 2955396 2955417 + FunctionDeclaration 2955437 2955908 + Identifier 2955453 2955474 + Parameter 2955475 2955491 + Identifier 2955475 2955479 + TypeReference 2955480 2955491 + Identifier 2955480 2955491 + Parameter 2955492 2955508 + Identifier 2955492 2955502 + TypeReference 2955503 2955508 + Identifier 2955503 2955508 + Block 2955509 2955908 + VariableStatement 2955511 2955554 + VariableDeclarationList 2955511 2955553 + VariableDeclaration 2955526 2955553 + Identifier 2955526 2955532 + CallExpression 2955534 2955553 + Identifier 2955534 2955547 + Identifier 2955548 2955552 + IfStatement 2955554 2955856 + PrefixUnaryExpression 2955568 2955596 + PropertyAccessExpression 2955569 2955596 + Identifier 2955569 2955574 + Identifier 2955575 2955596 + Block 2955597 2955856 + ExpressionStatement 2955599 2955845 + BinaryExpression 2955599 2955844 + PropertyAccessExpression 2955599 2955640 + Identifier 2955599 2955618 + Identifier 2955619 2955640 + EqualsToken 2955640 2955642 + BinaryExpression 2955642 2955844 + CallExpression 2955642 2955827 + Identifier 2955642 2955664 + CallExpression 2955665 2955702 + Identifier 2955665 2955696 + Identifier 2955697 2955701 + Identifier 2955703 2955733 + PropertyAccessExpression 2955734 2955815 + Identifier 2955734 2955746 + Identifier 2955747 2955815 + Identifier 2955816 2955826 + BarBarToken 2955827 2955830 + Identifier 2955830 2955844 + ReturnStatement 2955856 2955901 + PropertyAccessExpression 2955872 2955900 + Identifier 2955872 2955878 + Identifier 2955879 2955900 + FunctionDeclaration 2955908 2985468 + Identifier 2955951 2955973 + Parameter 2955974 2956053 + Identifier 2955974 2955978 + UnionType 2955979 2956053 + TypeReference 2955979 2955992 + Identifier 2955979 2955992 + TypeReference 2955994 2956008 + Identifier 2955994 2956008 + TypeReference 2956010 2956030 + Identifier 2956010 2956030 + TypeReference 2956032 2956053 + Identifier 2956032 2956053 + BooleanKeyword 2956055 2956063 + Block 2956063 2985468 + VariableStatement 2956065 2956167 + VariableDeclarationList 2956065 2956166 + VariableDeclaration 2956080 2956166 + Identifier 2956080 2956092 + BinaryExpression 2956094 2956166 + CallExpression 2956094 2956129 + Identifier 2956094 2956123 + Identifier 2956124 2956128 + BarBarToken 2956129 2956132 + CallExpression 2956132 2956166 + Identifier 2956132 2956160 + Identifier 2956161 2956165 + IfStatement 2956167 2956253 + BinaryExpression 2956181 2956206 + Identifier 2956181 2956192 + ExclamationEqualsEqualsToken 2956192 2956196 + Identifier 2956196 2956206 + Block 2956207 2956253 + ReturnStatement 2956209 2956242 + Identifier 2956229 2956241 + IfStatement 2956253 2956464 + BinaryExpression 2956269 2956318 + CallExpression 2956269 2956286 + Identifier 2956269 2956280 + Identifier 2956281 2956285 + AmpersandAmpersandToken 2956286 2956289 + CallExpression 2956289 2956318 + Identifier 2956289 2956312 + Identifier 2956313 2956317 + Block 2956319 2956464 + ReturnStatement 2956321 2956453 + CallExpression 2956341 2956452 + Identifier 2956341 2956366 + Identifier 2956367 2956371 + PropertyAccessExpression 2956372 2956451 + Identifier 2956372 2956384 + Identifier 2956385 2956451 + VariableStatement 2956464 2956595 + VariableDeclarationList 2956464 2956594 + VariableDeclaration 2956481 2956594 + Identifier 2956481 2956496 + ConditionalExpression 2956498 2956594 + CallExpression 2956498 2956524 + Identifier 2956498 2956518 + Identifier 2956519 2956523 + QuestionToken 2956524 2956526 + BinaryExpression 2956526 2956577 + PropertyAccessExpression 2956526 2956553 + PropertyAccessExpression 2956526 2956547 + Identifier 2956526 2956531 + Identifier 2956532 2956547 + Identifier 2956548 2956553 + AmpersandToken 2956553 2956555 + PropertyAccessExpression 2956555 2956577 + Identifier 2956555 2956565 + Identifier 2956566 2956577 + ColonToken 2956577 2956579 + PropertyAccessExpression 2956579 2956594 + Identifier 2956579 2956589 + Identifier 2956590 2956594 + VariableStatement 2956595 2956769 + VariableDeclarationList 2956595 2956768 + VariableDeclaration 2956608 2956637 + Identifier 2956608 2956619 + UnionType 2956620 2956637 + TypeReference 2956620 2956625 + Identifier 2956620 2956625 + UndefinedKeyword 2956627 2956637 + VariableDeclaration 2956638 2956668 + Identifier 2956638 2956650 + UnionType 2956651 2956668 + TypeReference 2956651 2956656 + Identifier 2956651 2956656 + UndefinedKeyword 2956658 2956668 + VariableDeclaration 2956669 2956697 + Identifier 2956669 2956679 + UnionType 2956680 2956697 + TypeReference 2956680 2956685 + Identifier 2956680 2956685 + UndefinedKeyword 2956687 2956697 + VariableDeclaration 2956698 2956729 + Identifier 2956698 2956711 + UnionType 2956712 2956729 + TypeReference 2956712 2956717 + Identifier 2956712 2956717 + UndefinedKeyword 2956719 2956729 + VariableDeclaration 2956730 2956768 + Identifier 2956730 2956745 + UnionType 2956746 2956768 + TypeReference 2956746 2956756 + Identifier 2956746 2956756 + UndefinedKeyword 2956758 2956768 + VariableStatement 2956769 2956810 + VariableDeclarationList 2956769 2956809 + VariableDeclaration 2956782 2956809 + Identifier 2956782 2956788 + PropertyAccessExpression 2956790 2956809 + Identifier 2956790 2956804 + Identifier 2956805 2956809 + VariableStatement 2956810 2956858 + VariableDeclarationList 2956810 2956857 + VariableDeclaration 2956823 2956857 + Identifier 2956823 2956849 + FalseKeyword 2956851 2956857 + VariableStatement 2956858 2957149 + VariableDeclarationList 2956858 2957148 + VariableDeclaration 2957119 2957148 + Identifier 2957119 2957140 + FalseKeyword 2957142 2957148 + ForOfStatement 2957149 2983772 + VariableDeclarationList 2957164 2957178 + VariableDeclaration 2957169 2957178 + Identifier 2957169 2957178 + NonNullExpression 2957181 2957215 + PropertyAccessExpression 2957181 2957214 + ParenthesizedExpression 2957181 2957204 + AsExpression 2957183 2957203 + Identifier 2957183 2957187 + TypeReference 2957190 2957203 + Identifier 2957190 2957203 + Identifier 2957205 2957214 + Block 2957216 2983772 + IfStatement 2957218 2983761 + CallExpression 2957236 2957257 + Identifier 2957236 2957247 + Identifier 2957248 2957256 + Block 2957258 2960020 + IfStatement 2957260 2958350 + PrefixUnaryExpression 2957282 2957358 + CallExpression 2957283 2957358 + Identifier 2957283 2957301 + Identifier 2957302 2957318 + Identifier 2957319 2957324 + PropertyAccessExpression 2957325 2957337 + Identifier 2957325 2957330 + Identifier 2957331 2957337 + PropertyAccessExpression 2957338 2957357 + PropertyAccessExpression 2957338 2957350 + Identifier 2957338 2957343 + Identifier 2957344 2957350 + Identifier 2957351 2957357 + Block 2957359 2957808 + IfStatement 2957361 2957789 + BinaryExpression 2957387 2957458 + BinaryExpression 2957387 2957429 + PropertyAccessExpression 2957387 2957396 + Identifier 2957387 2957391 + Identifier 2957392 2957396 + EqualsEqualsEqualsToken 2957396 2957400 + PropertyAccessExpression 2957400 2957429 + Identifier 2957400 2957411 + Identifier 2957412 2957429 + AmpersandAmpersandToken 2957429 2957432 + PrefixUnaryExpression 2957432 2957458 + CallExpression 2957434 2957458 + Identifier 2957434 2957447 + PropertyAccessExpression 2957448 2957457 + Identifier 2957448 2957452 + Identifier 2957453 2957457 + Block 2957459 2957631 + ReturnStatement 2957461 2957608 + CallExpression 2957493 2957607 + Identifier 2957493 2957518 + Identifier 2957519 2957523 + PropertyAccessExpression 2957524 2957606 + Identifier 2957524 2957536 + Identifier 2957537 2957606 + Block 2957657 2957789 + ReturnStatement 2957659 2957766 + CallExpression 2957691 2957765 + Identifier 2957691 2957716 + Identifier 2957717 2957721 + PropertyAccessExpression 2957722 2957764 + Identifier 2957722 2957734 + Identifier 2957735 2957764 + IfStatement 2957830 2958350 + BinaryExpression 2957835 2957933 + Identifier 2957835 2957851 + AmpersandAmpersandToken 2957851 2957854 + ParenthesizedExpression 2957854 2957933 + BinaryExpression 2957856 2957932 + BinaryExpression 2957856 2957892 + PropertyAccessExpression 2957856 2957865 + Identifier 2957856 2957860 + Identifier 2957861 2957865 + EqualsEqualsEqualsToken 2957865 2957869 + PropertyAccessExpression 2957869 2957892 + Identifier 2957869 2957880 + Identifier 2957881 2957892 + BarBarToken 2957892 2957895 + BinaryExpression 2957895 2957932 + PropertyAccessExpression 2957895 2957905 + Identifier 2957895 2957900 + Identifier 2957901 2957905 + EqualsEqualsEqualsToken 2957905 2957909 + PropertyAccessExpression 2957909 2957932 + Identifier 2957909 2957920 + Identifier 2957921 2957932 + Block 2957934 2958350 + VariableStatement 2957936 2958046 + VariableDeclarationList 2957936 2958045 + VariableDeclaration 2957963 2958045 + Identifier 2957963 2957973 + CallExpression 2957975 2958045 + Identifier 2957975 2958016 + AsExpression 2958017 2958044 + Identifier 2958017 2958021 + TypeReference 2958024 2958044 + Identifier 2958024 2958044 + IfStatement 2958046 2958331 + BinaryExpression 2958072 2958147 + CallExpression 2958072 2958110 + Identifier 2958072 2958085 + PropertyAccessExpression 2958086 2958109 + Identifier 2958086 2958095 + Identifier 2958096 2958109 + AmpersandAmpersandToken 2958110 2958113 + BinaryExpression 2958113 2958147 + Identifier 2958113 2958118 + EqualsEqualsEqualsToken 2958118 2958122 + PropertyAccessExpression 2958122 2958147 + Identifier 2958122 2958132 + Identifier 2958133 2958147 + Block 2958148 2958331 + ReturnStatement 2958150 2958308 + CallExpression 2958182 2958307 + Identifier 2958182 2958207 + Identifier 2958208 2958212 + PropertyAccessExpression 2958213 2958306 + Identifier 2958213 2958225 + Identifier 2958226 2958306 + IfStatement 2958350 2958696 + BinaryExpression 2958509 2958573 + Identifier 2958509 2958514 + AmpersandToken 2958514 2958516 + PrefixUnaryExpression 2958516 2958573 + ParenthesizedExpression 2958518 2958573 + BinaryExpression 2958519 2958572 + PropertyAccessExpression 2958519 2958546 + Identifier 2958519 2958532 + Identifier 2958533 2958546 + BarToken 2958546 2958548 + PropertyAccessExpression 2958548 2958572 + Identifier 2958548 2958562 + Identifier 2958563 2958572 + Block 2958574 2958696 + ReturnStatement 2958576 2958677 + CallExpression 2958604 2958676 + Identifier 2958604 2958623 + Identifier 2958624 2958632 + PropertyAccessExpression 2958633 2958675 + Identifier 2958633 2958645 + Identifier 2958646 2958675 + IfStatement 2958696 2959553 + BinaryExpression 2958853 2958907 + Identifier 2958853 2958873 + AmpersandAmpersandToken 2958873 2958876 + BinaryExpression 2958876 2958907 + Identifier 2958876 2958882 + AmpersandToken 2958882 2958884 + PropertyAccessExpression 2958884 2958907 + Identifier 2958884 2958898 + Identifier 2958899 2958907 + Block 2958908 2959553 + ExpressionStatement 2958910 2958970 + CallExpression 2958910 2958969 + PropertyAccessExpression 2958910 2958953 + Identifier 2958910 2958937 + Identifier 2958938 2958953 + Identifier 2958954 2958968 + VariableStatement 2958970 2959041 + VariableDeclarationList 2958970 2959040 + VariableDeclaration 2958997 2959040 + Identifier 2958997 2959008 + CallExpression 2959010 2959040 + Identifier 2959010 2959030 + Identifier 2959031 2959039 + IfStatement 2959041 2959499 + PrefixUnaryExpression 2959067 2959099 + CallExpression 2959068 2959099 + Identifier 2959068 2959087 + Identifier 2959088 2959098 + Block 2959100 2959499 + ExpressionStatement 2959102 2959438 + CallExpression 2959102 2959437 + Identifier 2959102 2959142 + CallExpression 2959143 2959292 + Identifier 2959143 2959178 + Identifier 2959179 2959187 + PropertyAccessExpression 2959188 2959291 + Identifier 2959188 2959200 + Identifier 2959201 2959291 + CallExpression 2959293 2959409 + Identifier 2959293 2959346 + Identifier 2959347 2959361 + PropertyAccessExpression 2959362 2959408 + Identifier 2959362 2959374 + Identifier 2959375 2959408 + ReturnStatement 2959438 2959476 + TrueKeyword 2959470 2959475 + ReturnStatement 2959499 2959534 + FalseKeyword 2959527 2959533 + ExpressionStatement 2959553 2959606 + BinaryExpression 2959553 2959605 + Identifier 2959553 2959578 + BarEqualsToken 2959578 2959581 + PropertyAccessExpression 2959581 2959605 + Identifier 2959581 2959595 + Identifier 2959596 2959605 + IfStatement 2959606 2959957 + PrefixUnaryExpression 2959720 2959753 + ParenthesizedExpression 2959721 2959753 + BinaryExpression 2959722 2959752 + Identifier 2959722 2959727 + AmpersandToken 2959727 2959729 + PropertyAccessExpression 2959729 2959752 + Identifier 2959729 2959743 + Identifier 2959744 2959752 + Block 2959754 2959825 + ExpressionStatement 2959756 2959806 + BinaryExpression 2959756 2959805 + Identifier 2959756 2959798 + EqualsToken 2959798 2959800 + TrueKeyword 2959800 2959805 + IfStatement 2959847 2959957 + BinaryExpression 2959852 2959880 + Identifier 2959852 2959857 + AmpersandToken 2959857 2959859 + PropertyAccessExpression 2959859 2959880 + Identifier 2959859 2959873 + Identifier 2959874 2959880 + Block 2959881 2959957 + ExpressionStatement 2959883 2959938 + BinaryExpression 2959883 2959937 + Identifier 2959883 2959930 + EqualsToken 2959930 2959932 + TrueKeyword 2959932 2959937 + ExpressionStatement 2959957 2960005 + BinaryExpression 2959957 2960004 + Identifier 2959957 2959991 + QuestionQuestionEqualsToken 2959991 2959995 + Identifier 2959995 2960004 + Block 2960038 2983761 + IfStatement 2960040 2960735 + BinaryExpression 2960062 2960106 + PropertyAccessExpression 2960062 2960075 + Identifier 2960062 2960070 + Identifier 2960071 2960075 + ExclamationEqualsEqualsToken 2960075 2960079 + PropertyAccessExpression 2960079 2960106 + Identifier 2960079 2960090 + Identifier 2960091 2960106 + Block 2960107 2960735 + IfStatement 2960109 2960395 + BinaryExpression 2960135 2960221 + BinaryExpression 2960135 2960177 + PropertyAccessExpression 2960135 2960144 + Identifier 2960135 2960139 + Identifier 2960140 2960144 + EqualsEqualsEqualsToken 2960144 2960148 + PropertyAccessExpression 2960148 2960177 + Identifier 2960148 2960159 + Identifier 2960160 2960177 + BarBarToken 2960177 2960180 + BinaryExpression 2960180 2960221 + PropertyAccessExpression 2960180 2960190 + Identifier 2960180 2960185 + Identifier 2960186 2960190 + EqualsEqualsEqualsToken 2960190 2960194 + PropertyAccessExpression 2960194 2960221 + Identifier 2960194 2960205 + Identifier 2960206 2960221 + Block 2960222 2960395 + ReturnStatement 2960224 2960372 + CallExpression 2960256 2960371 + Identifier 2960256 2960275 + Identifier 2960276 2960284 + PropertyAccessExpression 2960285 2960340 + Identifier 2960285 2960297 + Identifier 2960298 2960340 + CallExpression 2960341 2960370 + Identifier 2960341 2960355 + PropertyAccessExpression 2960356 2960369 + Identifier 2960356 2960364 + Identifier 2960365 2960369 + IfStatement 2960395 2960716 + BinaryExpression 2960421 2960537 + BinaryExpression 2960421 2960460 + PropertyAccessExpression 2960421 2960430 + Identifier 2960421 2960425 + Identifier 2960426 2960430 + EqualsEqualsEqualsToken 2960430 2960434 + PropertyAccessExpression 2960434 2960460 + Identifier 2960434 2960445 + Identifier 2960446 2960460 + AmpersandAmpersandToken 2960460 2960463 + ParenthesizedExpression 2960463 2960537 + BinaryExpression 2960465 2960536 + BinaryExpression 2960465 2960507 + PropertyAccessExpression 2960465 2960478 + Identifier 2960465 2960473 + Identifier 2960474 2960478 + ExclamationEqualsEqualsToken 2960478 2960482 + PropertyAccessExpression 2960482 2960507 + Identifier 2960482 2960493 + Identifier 2960494 2960507 + BarBarToken 2960507 2960510 + PrefixUnaryExpression 2960510 2960536 + CallExpression 2960512 2960536 + Identifier 2960512 2960523 + PropertyAccessExpression 2960524 2960535 + Identifier 2960524 2960528 + Identifier 2960529 2960535 + Block 2960538 2960716 + ReturnStatement 2960540 2960693 + CallExpression 2960572 2960692 + Identifier 2960572 2960591 + Identifier 2960592 2960600 + PropertyAccessExpression 2960601 2960661 + Identifier 2960601 2960613 + Identifier 2960614 2960661 + CallExpression 2960662 2960691 + Identifier 2960662 2960676 + PropertyAccessExpression 2960677 2960690 + Identifier 2960677 2960685 + Identifier 2960686 2960690 + IfStatement 2960735 2961146 + BinaryExpression 2960757 2960883 + BinaryExpression 2960757 2960838 + BinaryExpression 2960757 2960795 + PropertyAccessExpression 2960757 2960770 + Identifier 2960757 2960765 + Identifier 2960766 2960770 + ExclamationEqualsEqualsToken 2960770 2960774 + PropertyAccessExpression 2960774 2960795 + Identifier 2960774 2960785 + Identifier 2960786 2960795 + AmpersandAmpersandToken 2960795 2960798 + BinaryExpression 2960798 2960838 + PropertyAccessExpression 2960798 2960812 + Identifier 2960798 2960807 + Identifier 2960808 2960812 + ExclamationEqualsEqualsToken 2960812 2960816 + PropertyAccessExpression 2960816 2960838 + Identifier 2960816 2960827 + Identifier 2960828 2960838 + AmpersandAmpersandToken 2960838 2960841 + BinaryExpression 2960841 2960883 + PropertyAccessExpression 2960841 2960855 + Identifier 2960841 2960850 + Identifier 2960851 2960855 + ExclamationEqualsEqualsToken 2960855 2960859 + PropertyAccessExpression 2960859 2960883 + Identifier 2960859 2960870 + Identifier 2960871 2960883 + Block 2960884 2961146 + IfStatement 2960886 2961127 + BinaryExpression 2960912 2960950 + PropertyAccessExpression 2960912 2960921 + Identifier 2960912 2960916 + Identifier 2960917 2960921 + EqualsEqualsEqualsToken 2960921 2960925 + PropertyAccessExpression 2960925 2960950 + Identifier 2960925 2960936 + Identifier 2960937 2960950 + Block 2960951 2961127 + ReturnStatement 2960953 2961104 + CallExpression 2960985 2961103 + Identifier 2960985 2961004 + Identifier 2961005 2961013 + PropertyAccessExpression 2961014 2961072 + Identifier 2961014 2961026 + Identifier 2961027 2961072 + CallExpression 2961073 2961102 + Identifier 2961073 2961087 + PropertyAccessExpression 2961088 2961101 + Identifier 2961088 2961096 + Identifier 2961097 2961101 + SwitchStatement 2961146 2983746 + PropertyAccessExpression 2961172 2961185 + Identifier 2961172 2961180 + Identifier 2961181 2961185 + CaseBlock 2961186 2983746 + CaseClause 2961188 2962332 + PropertyAccessExpression 2961214 2961238 + Identifier 2961214 2961225 + Identifier 2961226 2961238 + Block 2961239 2962332 + IfStatement 2961241 2961539 + BinaryExpression 2961271 2961353 + BinaryExpression 2961271 2961311 + PropertyAccessExpression 2961271 2961280 + Identifier 2961271 2961275 + Identifier 2961276 2961280 + ExclamationEqualsEqualsToken 2961280 2961284 + PropertyAccessExpression 2961284 2961311 + Identifier 2961284 2961295 + Identifier 2961296 2961311 + AmpersandAmpersandToken 2961311 2961314 + BinaryExpression 2961314 2961353 + PropertyAccessExpression 2961314 2961324 + Identifier 2961314 2961319 + Identifier 2961320 2961324 + ExclamationEqualsEqualsToken 2961324 2961328 + PropertyAccessExpression 2961328 2961353 + Identifier 2961328 2961339 + Identifier 2961340 2961353 + Block 2961354 2961539 + ReturnStatement 2961356 2961512 + CallExpression 2961392 2961511 + Identifier 2961392 2961411 + Identifier 2961412 2961416 + PropertyAccessExpression 2961417 2961470 + Identifier 2961417 2961429 + Identifier 2961430 2961470 + CallExpression 2961471 2961510 + Identifier 2961471 2961485 + PropertyAccessExpression 2961486 2961509 + Identifier 2961486 2961496 + Identifier 2961497 2961509 + VariableStatement 2961539 2961667 + VariableDeclarationList 2961539 2961666 + VariableDeclaration 2961570 2961666 + Identifier 2961570 2961577 + BinaryExpression 2961579 2961666 + ParenthesizedExpression 2961579 2961651 + BinaryExpression 2961581 2961650 + CallExpression 2961581 2961612 + Identifier 2961581 2961599 + PropertyAccessExpression 2961600 2961611 + Identifier 2961600 2961604 + Identifier 2961605 2961611 + AmpersandAmpersandToken 2961612 2961615 + CallExpression 2961615 2961650 + Identifier 2961615 2961637 + PropertyAccessExpression 2961638 2961649 + Identifier 2961638 2961642 + Identifier 2961643 2961649 + BarBarToken 2961651 2961654 + PropertyAccessExpression 2961654 2961666 + Identifier 2961654 2961659 + Identifier 2961660 2961666 + IfStatement 2961667 2962277 + BinaryExpression 2961697 2962034 + BinaryExpression 2961697 2961765 + PropertyAccessExpression 2961697 2961736 + Identifier 2961697 2961731 + Identifier 2961732 2961736 + EqualsEqualsEqualsToken 2961736 2961740 + PropertyAccessExpression 2961740 2961765 + Identifier 2961740 2961751 + Identifier 2961752 2961765 + AmpersandAmpersandToken 2961765 2961768 + PrefixUnaryExpression 2961768 2962034 + ParenthesizedExpression 2961770 2962034 + BinaryExpression 2961771 2962033 + BinaryExpression 2961771 2962004 + BinaryExpression 2961771 2961961 + BinaryExpression 2961771 2961923 + BinaryExpression 2961771 2961857 + BinaryExpression 2961771 2961827 + CallExpression 2961771 2961804 + Identifier 2961771 2961796 + Identifier 2961797 2961803 + BarBarToken 2961804 2961807 + CallExpression 2961807 2961827 + Identifier 2961807 2961819 + Identifier 2961820 2961826 + BarBarToken 2961827 2961830 + CallExpression 2961830 2961857 + Identifier 2961830 2961849 + Identifier 2961850 2961856 + BarBarToken 2961857 2961860 + CallExpression 2961860 2961923 + Identifier 2961860 2961915 + Identifier 2961916 2961922 + BarBarToken 2961923 2961926 + CallExpression 2961926 2961961 + Identifier 2961926 2961953 + Identifier 2961954 2961960 + BarBarToken 2961961 2961964 + CallExpression 2961964 2962004 + Identifier 2961964 2961996 + Identifier 2961997 2962003 + BarBarToken 2962004 2962007 + CallExpression 2962007 2962033 + Identifier 2962007 2962025 + Identifier 2962026 2962032 + Block 2962061 2962277 + ReturnStatement 2962063 2962250 + CallExpression 2962099 2962249 + Identifier 2962099 2962118 + Identifier 2962119 2962127 + PropertyAccessExpression 2962128 2962218 + Identifier 2962128 2962140 + Identifier 2962141 2962218 + CallExpression 2962219 2962248 + Identifier 2962219 2962233 + PropertyAccessExpression 2962234 2962247 + Identifier 2962234 2962242 + Identifier 2962243 2962247 + BreakStatement 2962277 2962309 + CaseClause 2962332 2963800 + PropertyAccessExpression 2962358 2962385 + Identifier 2962358 2962369 + Identifier 2962370 2962385 + IfStatement 2962386 2963660 + BinaryExpression 2962549 2962579 + Identifier 2962549 2962554 + AmpersandToken 2962554 2962556 + PropertyAccessExpression 2962556 2962579 + Identifier 2962556 2962570 + Identifier 2962571 2962579 + Block 2962580 2962725 + ReturnStatement 2962582 2962698 + CallExpression 2962618 2962697 + Identifier 2962618 2962637 + Identifier 2962638 2962646 + PropertyAccessExpression 2962647 2962684 + Identifier 2962647 2962659 + Identifier 2962660 2962684 + StringLiteral 2962685 2962696 + IfStatement 2962755 2963660 + BinaryExpression 2962760 2962789 + Identifier 2962760 2962765 + AmpersandToken 2962765 2962767 + PropertyAccessExpression 2962767 2962789 + Identifier 2962767 2962781 + Identifier 2962782 2962789 + Block 2962790 2962964 + ReturnStatement 2962792 2962937 + CallExpression 2962828 2962936 + Identifier 2962828 2962847 + Identifier 2962848 2962856 + PropertyAccessExpression 2962857 2962912 + Identifier 2962857 2962869 + Identifier 2962870 2962912 + StringLiteral 2962913 2962924 + StringLiteral 2962925 2962935 + IfStatement 2962994 2963660 + BinaryExpression 2962999 2963029 + Identifier 2962999 2963004 + AmpersandToken 2963004 2963006 + PropertyAccessExpression 2963006 2963029 + Identifier 2963006 2963020 + Identifier 2963021 2963029 + Block 2963030 2963198 + ReturnStatement 2963032 2963171 + CallExpression 2963068 2963170 + Identifier 2963068 2963087 + Identifier 2963088 2963096 + PropertyAccessExpression 2963097 2963145 + Identifier 2963097 2963109 + Identifier 2963110 2963145 + StringLiteral 2963146 2963157 + StringLiteral 2963158 2963169 + IfStatement 2963228 2963660 + BinaryExpression 2963233 2963263 + Identifier 2963233 2963238 + AmpersandToken 2963238 2963240 + PropertyAccessExpression 2963240 2963263 + Identifier 2963240 2963254 + Identifier 2963255 2963263 + Block 2963264 2963432 + ReturnStatement 2963266 2963405 + CallExpression 2963302 2963404 + Identifier 2963302 2963321 + Identifier 2963322 2963330 + PropertyAccessExpression 2963331 2963379 + Identifier 2963331 2963343 + Identifier 2963344 2963379 + StringLiteral 2963380 2963391 + StringLiteral 2963392 2963403 + IfStatement 2963462 2963660 + BinaryExpression 2963467 2963494 + Identifier 2963467 2963472 + AmpersandToken 2963472 2963474 + PropertyAccessExpression 2963474 2963494 + Identifier 2963474 2963488 + Identifier 2963489 2963494 + Block 2963495 2963660 + ReturnStatement 2963497 2963633 + CallExpression 2963533 2963632 + Identifier 2963533 2963552 + Identifier 2963553 2963561 + PropertyAccessExpression 2963562 2963610 + Identifier 2963562 2963574 + Identifier 2963575 2963610 + StringLiteral 2963611 2963622 + StringLiteral 2963623 2963631 + ExpressionStatement 2963660 2963718 + BinaryExpression 2963660 2963717 + Identifier 2963660 2963691 + BarEqualsToken 2963691 2963694 + PropertyAccessExpression 2963694 2963717 + Identifier 2963694 2963708 + Identifier 2963709 2963717 + ExpressionStatement 2963718 2963768 + BinaryExpression 2963718 2963767 + Identifier 2963718 2963756 + EqualsToken 2963756 2963758 + Identifier 2963758 2963767 + BreakStatement 2963768 2963800 + CaseClause 2963800 2963854 + PropertyAccessExpression 2963828 2963853 + Identifier 2963828 2963839 + Identifier 2963840 2963853 + CaseClause 2963854 2963909 + PropertyAccessExpression 2963880 2963908 + Identifier 2963880 2963891 + Identifier 2963892 2963908 + CaseClause 2963909 2966609 + PropertyAccessExpression 2963935 2963961 + Identifier 2963935 2963946 + Identifier 2963947 2963961 + VariableStatement 2963962 2964051 + VariableDeclarationList 2963962 2964050 + VariableDeclaration 2963993 2964050 + Identifier 2963993 2963998 + CallExpression 2964000 2964050 + Identifier 2964000 2964019 + CallExpression 2964020 2964049 + Identifier 2964020 2964034 + PropertyAccessExpression 2964035 2964048 + Identifier 2964035 2964043 + Identifier 2964044 2964048 + IfStatement 2964051 2966512 + BinaryExpression 2964083 2964126 + Identifier 2964083 2964088 + AmpersandToken 2964088 2964090 + PropertyAccessExpression 2964090 2964126 + Identifier 2964090 2964104 + Identifier 2964105 2964126 + Block 2964127 2964271 + ReturnStatement 2964129 2964244 + CallExpression 2964165 2964243 + Identifier 2964165 2964184 + Identifier 2964185 2964193 + PropertyAccessExpression 2964194 2964242 + Identifier 2964194 2964206 + Identifier 2964207 2964242 + IfStatement 2964301 2966512 + BinaryExpression 2964306 2964336 + Identifier 2964306 2964311 + AmpersandToken 2964311 2964313 + PropertyAccessExpression 2964313 2964336 + Identifier 2964313 2964327 + Identifier 2964328 2964336 + Block 2964337 2964499 + ReturnStatement 2964339 2964472 + CallExpression 2964375 2964471 + Identifier 2964375 2964394 + Identifier 2964395 2964403 + PropertyAccessExpression 2964404 2964452 + Identifier 2964404 2964416 + Identifier 2964417 2964452 + Identifier 2964453 2964458 + StringLiteral 2964459 2964470 + IfStatement 2964529 2966512 + BinaryExpression 2964534 2964562 + Identifier 2964534 2964539 + AmpersandToken 2964539 2964541 + PropertyAccessExpression 2964541 2964562 + Identifier 2964541 2964555 + Identifier 2964556 2964562 + Block 2964563 2964723 + ReturnStatement 2964565 2964696 + CallExpression 2964601 2964695 + Identifier 2964601 2964620 + Identifier 2964621 2964629 + PropertyAccessExpression 2964630 2964678 + Identifier 2964630 2964642 + Identifier 2964643 2964678 + Identifier 2964679 2964684 + StringLiteral 2964685 2964694 + IfStatement 2964753 2966512 + BinaryExpression 2964758 2964788 + Identifier 2964758 2964763 + AmpersandToken 2964763 2964765 + PropertyAccessExpression 2964765 2964788 + Identifier 2964765 2964779 + Identifier 2964780 2964788 + Block 2964789 2964951 + ReturnStatement 2964791 2964924 + CallExpression 2964827 2964923 + Identifier 2964827 2964846 + Identifier 2964847 2964855 + PropertyAccessExpression 2964856 2964904 + Identifier 2964856 2964868 + Identifier 2964869 2964904 + Identifier 2964905 2964910 + StringLiteral 2964911 2964922 + IfStatement 2964981 2966512 + BinaryExpression 2964986 2965016 + Identifier 2964986 2964991 + AmpersandToken 2964991 2964993 + PropertyAccessExpression 2964993 2965016 + Identifier 2964993 2965007 + Identifier 2965008 2965016 + Block 2965017 2965179 + ReturnStatement 2965019 2965152 + CallExpression 2965055 2965151 + Identifier 2965055 2965074 + Identifier 2965075 2965083 + PropertyAccessExpression 2965084 2965132 + Identifier 2965084 2965096 + Identifier 2965097 2965132 + Identifier 2965133 2965138 + StringLiteral 2965139 2965150 + IfStatement 2965209 2966512 + BinaryExpression 2965214 2965241 + Identifier 2965214 2965219 + AmpersandToken 2965219 2965221 + PropertyAccessExpression 2965221 2965241 + Identifier 2965221 2965235 + Identifier 2965236 2965241 + Block 2965242 2965401 + ReturnStatement 2965244 2965374 + CallExpression 2965280 2965373 + Identifier 2965280 2965299 + Identifier 2965300 2965308 + PropertyAccessExpression 2965309 2965357 + Identifier 2965309 2965321 + Identifier 2965322 2965357 + Identifier 2965358 2965363 + StringLiteral 2965364 2965372 + IfStatement 2965431 2966512 + BinaryExpression 2965436 2965525 + BinaryExpression 2965436 2965479 + PropertyAccessExpression 2965436 2965452 + PropertyAccessExpression 2965436 2965447 + Identifier 2965436 2965440 + Identifier 2965441 2965447 + Identifier 2965448 2965452 + EqualsEqualsEqualsToken 2965452 2965456 + PropertyAccessExpression 2965456 2965479 + Identifier 2965456 2965467 + Identifier 2965468 2965479 + BarBarToken 2965479 2965482 + BinaryExpression 2965482 2965525 + PropertyAccessExpression 2965482 2965499 + PropertyAccessExpression 2965482 2965494 + Identifier 2965482 2965487 + Identifier 2965488 2965494 + Identifier 2965495 2965499 + EqualsEqualsEqualsToken 2965499 2965503 + PropertyAccessExpression 2965503 2965525 + Identifier 2965503 2965514 + Identifier 2965515 2965525 + Block 2965526 2965699 + ReturnStatement 2965528 2965672 + CallExpression 2965564 2965671 + Identifier 2965564 2965583 + Identifier 2965584 2965592 + PropertyAccessExpression 2965593 2965664 + Identifier 2965593 2965605 + Identifier 2965606 2965664 + Identifier 2965665 2965670 + IfStatement 2965729 2966512 + BinaryExpression 2965734 2965764 + Identifier 2965734 2965739 + AmpersandToken 2965739 2965741 + PropertyAccessExpression 2965741 2965764 + Identifier 2965741 2965755 + Identifier 2965756 2965764 + Block 2965765 2966253 + IfStatement 2965767 2966226 + BinaryExpression 2965801 2965844 + PropertyAccessExpression 2965801 2965814 + Identifier 2965801 2965809 + Identifier 2965810 2965814 + EqualsEqualsEqualsToken 2965814 2965818 + PropertyAccessExpression 2965818 2965844 + Identifier 2965818 2965829 + Identifier 2965830 2965844 + Block 2965845 2966022 + ReturnStatement 2965847 2965991 + CallExpression 2965887 2965990 + Identifier 2965887 2965906 + Identifier 2965907 2965915 + PropertyAccessExpression 2965916 2965971 + Identifier 2965916 2965928 + Identifier 2965929 2965971 + Identifier 2965972 2965977 + StringLiteral 2965978 2965989 + Block 2966056 2966226 + ReturnStatement 2966058 2966195 + CallExpression 2966098 2966194 + Identifier 2966098 2966117 + Identifier 2966118 2966126 + PropertyAccessExpression 2966127 2966175 + Identifier 2966127 2966139 + Identifier 2966140 2966175 + Identifier 2966176 2966181 + StringLiteral 2966182 2966193 + IfStatement 2966283 2966512 + CallExpression 2966288 2966336 + Identifier 2966288 2966330 + Identifier 2966331 2966335 + Block 2966337 2966512 + ReturnStatement 2966339 2966485 + CallExpression 2966375 2966484 + Identifier 2966375 2966394 + Identifier 2966395 2966403 + PropertyAccessExpression 2966404 2966483 + Identifier 2966404 2966416 + Identifier 2966417 2966483 + ExpressionStatement 2966512 2966577 + BinaryExpression 2966512 2966576 + Identifier 2966512 2966543 + BarEqualsToken 2966543 2966546 + CallExpression 2966546 2966576 + Identifier 2966546 2966561 + PropertyAccessExpression 2966562 2966575 + Identifier 2966562 2966570 + Identifier 2966571 2966575 + BreakStatement 2966577 2966609 + CaseClause 2966609 2968693 + PropertyAccessExpression 2966637 2966662 + Identifier 2966637 2966648 + Identifier 2966649 2966662 + IfStatement 2966663 2968557 + BinaryExpression 2966693 2966721 + Identifier 2966693 2966698 + AmpersandToken 2966698 2966700 + PropertyAccessExpression 2966700 2966721 + Identifier 2966700 2966714 + Identifier 2966715 2966721 + Block 2966722 2966865 + ReturnStatement 2966724 2966838 + CallExpression 2966760 2966837 + Identifier 2966760 2966779 + Identifier 2966780 2966788 + PropertyAccessExpression 2966789 2966826 + Identifier 2966789 2966801 + Identifier 2966802 2966826 + StringLiteral 2966827 2966836 + IfStatement 2966895 2968557 + BinaryExpression 2966900 2966930 + Identifier 2966900 2966905 + AmpersandToken 2966905 2966907 + PropertyAccessExpression 2966907 2966930 + Identifier 2966907 2966921 + Identifier 2966922 2966930 + Block 2966931 2967097 + ReturnStatement 2966933 2967070 + CallExpression 2966969 2967069 + Identifier 2966969 2966988 + Identifier 2966989 2966997 + PropertyAccessExpression 2966998 2967046 + Identifier 2966998 2967010 + Identifier 2967011 2967046 + StringLiteral 2967047 2967056 + StringLiteral 2967057 2967068 + IfStatement 2967127 2968557 + BinaryExpression 2967132 2967159 + Identifier 2967132 2967137 + AmpersandToken 2967137 2967139 + PropertyAccessExpression 2967139 2967159 + Identifier 2967139 2967153 + Identifier 2967154 2967159 + Block 2967160 2967323 + ReturnStatement 2967162 2967296 + CallExpression 2967198 2967295 + Identifier 2967198 2967217 + Identifier 2967218 2967226 + PropertyAccessExpression 2967227 2967275 + Identifier 2967227 2967239 + Identifier 2967240 2967275 + StringLiteral 2967276 2967285 + StringLiteral 2967286 2967294 + IfStatement 2967353 2968557 + BinaryExpression 2967358 2967388 + Identifier 2967358 2967363 + AmpersandToken 2967363 2967365 + PropertyAccessExpression 2967365 2967388 + Identifier 2967365 2967379 + Identifier 2967380 2967388 + Block 2967389 2967555 + ReturnStatement 2967391 2967528 + CallExpression 2967427 2967527 + Identifier 2967427 2967446 + Identifier 2967447 2967455 + PropertyAccessExpression 2967456 2967504 + Identifier 2967456 2967468 + Identifier 2967469 2967504 + StringLiteral 2967505 2967514 + StringLiteral 2967515 2967526 + IfStatement 2967585 2968557 + BinaryExpression 2967590 2967679 + BinaryExpression 2967590 2967633 + PropertyAccessExpression 2967590 2967606 + PropertyAccessExpression 2967590 2967601 + Identifier 2967590 2967594 + Identifier 2967595 2967601 + Identifier 2967602 2967606 + EqualsEqualsEqualsToken 2967606 2967610 + PropertyAccessExpression 2967610 2967633 + Identifier 2967610 2967621 + Identifier 2967622 2967633 + BarBarToken 2967633 2967636 + BinaryExpression 2967636 2967679 + PropertyAccessExpression 2967636 2967653 + PropertyAccessExpression 2967636 2967648 + Identifier 2967636 2967641 + Identifier 2967642 2967648 + Identifier 2967649 2967653 + EqualsEqualsEqualsToken 2967653 2967657 + PropertyAccessExpression 2967657 2967679 + Identifier 2967657 2967668 + Identifier 2967669 2967679 + Block 2967680 2967857 + ReturnStatement 2967682 2967830 + CallExpression 2967718 2967829 + Identifier 2967718 2967737 + Identifier 2967738 2967746 + PropertyAccessExpression 2967747 2967818 + Identifier 2967747 2967759 + Identifier 2967760 2967818 + StringLiteral 2967819 2967828 + IfStatement 2967887 2968557 + BinaryExpression 2967892 2967926 + PropertyAccessExpression 2967892 2967901 + Identifier 2967892 2967896 + Identifier 2967897 2967901 + EqualsEqualsEqualsToken 2967901 2967905 + PropertyAccessExpression 2967905 2967926 + Identifier 2967905 2967916 + Identifier 2967917 2967926 + Block 2967927 2968086 + ReturnStatement 2967929 2968059 + CallExpression 2967965 2968058 + Identifier 2967965 2967984 + Identifier 2967985 2967993 + PropertyAccessExpression 2967994 2968047 + Identifier 2967994 2968006 + Identifier 2968007 2968047 + StringLiteral 2968048 2968057 + IfStatement 2968116 2968557 + BinaryExpression 2968121 2968151 + Identifier 2968121 2968126 + AmpersandToken 2968126 2968128 + PropertyAccessExpression 2968128 2968151 + Identifier 2968128 2968142 + Identifier 2968143 2968151 + Block 2968152 2968325 + ReturnStatement 2968154 2968298 + CallExpression 2968190 2968297 + Identifier 2968190 2968209 + Identifier 2968210 2968218 + PropertyAccessExpression 2968219 2968274 + Identifier 2968219 2968231 + Identifier 2968232 2968274 + StringLiteral 2968275 2968284 + StringLiteral 2968285 2968296 + IfStatement 2968355 2968557 + BinaryExpression 2968360 2968390 + Identifier 2968360 2968365 + AmpersandToken 2968365 2968367 + PropertyAccessExpression 2968367 2968390 + Identifier 2968367 2968381 + Identifier 2968382 2968390 + Block 2968391 2968557 + ReturnStatement 2968393 2968530 + CallExpression 2968429 2968529 + Identifier 2968429 2968448 + Identifier 2968449 2968457 + PropertyAccessExpression 2968458 2968506 + Identifier 2968458 2968470 + Identifier 2968471 2968506 + StringLiteral 2968507 2968516 + StringLiteral 2968517 2968528 + ExpressionStatement 2968557 2968613 + BinaryExpression 2968557 2968612 + Identifier 2968557 2968588 + BarEqualsToken 2968588 2968591 + PropertyAccessExpression 2968591 2968612 + Identifier 2968591 2968605 + Identifier 2968606 2968612 + ExpressionStatement 2968613 2968661 + BinaryExpression 2968613 2968660 + Identifier 2968613 2968649 + EqualsToken 2968649 2968651 + Identifier 2968651 2968660 + BreakStatement 2968661 2968693 + CaseClause 2968693 2969775 + PropertyAccessExpression 2968721 2968748 + Identifier 2968721 2968732 + Identifier 2968733 2968748 + IfStatement 2968749 2969683 + BinaryExpression 2968779 2968809 + Identifier 2968779 2968784 + AmpersandToken 2968784 2968786 + PropertyAccessExpression 2968786 2968809 + Identifier 2968786 2968800 + Identifier 2968801 2968809 + Block 2968810 2968955 + ReturnStatement 2968812 2968928 + CallExpression 2968848 2968927 + Identifier 2968848 2968867 + Identifier 2968868 2968876 + PropertyAccessExpression 2968877 2968914 + Identifier 2968877 2968889 + Identifier 2968890 2968914 + StringLiteral 2968915 2968926 + IfStatement 2968985 2969683 + BinaryExpression 2968990 2969020 + Identifier 2968990 2968995 + AmpersandToken 2968995 2968997 + PropertyAccessExpression 2968997 2969020 + Identifier 2968997 2969011 + Identifier 2969012 2969020 + Block 2969021 2969196 + ReturnStatement 2969023 2969169 + CallExpression 2969059 2969168 + Identifier 2969059 2969078 + Identifier 2969079 2969087 + PropertyAccessExpression 2969088 2969143 + Identifier 2969088 2969100 + Identifier 2969101 2969143 + StringLiteral 2969144 2969155 + StringLiteral 2969156 2969167 + IfStatement 2969226 2969683 + BinaryExpression 2969231 2969260 + Identifier 2969231 2969236 + AmpersandToken 2969236 2969238 + PropertyAccessExpression 2969238 2969260 + Identifier 2969238 2969252 + Identifier 2969253 2969260 + Block 2969261 2969435 + ReturnStatement 2969263 2969408 + CallExpression 2969299 2969407 + Identifier 2969299 2969318 + Identifier 2969319 2969327 + PropertyAccessExpression 2969328 2969383 + Identifier 2969328 2969340 + Identifier 2969341 2969383 + StringLiteral 2969384 2969395 + StringLiteral 2969396 2969406 + IfStatement 2969465 2969683 + BinaryExpression 2969470 2969514 + PropertyAccessExpression 2969470 2969479 + Identifier 2969470 2969474 + Identifier 2969475 2969479 + ExclamationEqualsEqualsToken 2969479 2969483 + PropertyAccessExpression 2969483 2969514 + Identifier 2969483 2969494 + Identifier 2969495 2969514 + Block 2969515 2969683 + ReturnStatement 2969517 2969656 + CallExpression 2969553 2969655 + Identifier 2969553 2969572 + Identifier 2969573 2969581 + PropertyAccessExpression 2969582 2969654 + Identifier 2969582 2969594 + Identifier 2969595 2969654 + ExpressionStatement 2969683 2969743 + BinaryExpression 2969683 2969742 + Identifier 2969683 2969716 + BarEqualsToken 2969716 2969719 + PropertyAccessExpression 2969719 2969742 + Identifier 2969719 2969733 + Identifier 2969734 2969742 + BreakStatement 2969743 2969775 + CaseClause 2969775 2970899 + PropertyAccessExpression 2969803 2969830 + Identifier 2969803 2969814 + Identifier 2969815 2969830 + IfStatement 2969831 2970809 + BinaryExpression 2969861 2969891 + Identifier 2969861 2969866 + AmpersandToken 2969866 2969868 + PropertyAccessExpression 2969868 2969891 + Identifier 2969868 2969882 + Identifier 2969883 2969891 + Block 2969892 2970037 + ReturnStatement 2969894 2970010 + CallExpression 2969930 2970009 + Identifier 2969930 2969949 + Identifier 2969950 2969958 + PropertyAccessExpression 2969959 2969996 + Identifier 2969959 2969971 + Identifier 2969972 2969996 + StringLiteral 2969997 2970008 + IfStatement 2970067 2970809 + BinaryExpression 2970072 2970243 + BinaryExpression 2970072 2970205 + BinaryExpression 2970072 2970162 + BinaryExpression 2970072 2970116 + PropertyAccessExpression 2970072 2970081 + Identifier 2970072 2970076 + Identifier 2970077 2970081 + ExclamationEqualsEqualsToken 2970081 2970085 + PropertyAccessExpression 2970085 2970116 + Identifier 2970085 2970096 + Identifier 2970097 2970116 + AmpersandAmpersandToken 2970116 2970119 + BinaryExpression 2970119 2970162 + PropertyAccessExpression 2970119 2970129 + Identifier 2970119 2970124 + Identifier 2970125 2970129 + ExclamationEqualsEqualsToken 2970129 2970133 + PropertyAccessExpression 2970133 2970162 + Identifier 2970133 2970144 + Identifier 2970145 2970162 + AmpersandAmpersandToken 2970162 2970165 + BinaryExpression 2970165 2970205 + PropertyAccessExpression 2970165 2970175 + Identifier 2970165 2970170 + Identifier 2970171 2970175 + ExclamationEqualsEqualsToken 2970175 2970179 + PropertyAccessExpression 2970179 2970205 + Identifier 2970179 2970190 + Identifier 2970191 2970205 + AmpersandAmpersandToken 2970205 2970208 + BinaryExpression 2970208 2970243 + PropertyAccessExpression 2970208 2970218 + Identifier 2970208 2970213 + Identifier 2970214 2970218 + ExclamationEqualsEqualsToken 2970218 2970222 + PropertyAccessExpression 2970222 2970243 + Identifier 2970222 2970233 + Identifier 2970234 2970243 + Block 2970244 2970568 + ReturnStatement 2970246 2970541 + CallExpression 2970419 2970540 + Identifier 2970419 2970438 + Identifier 2970439 2970447 + PropertyAccessExpression 2970448 2970539 + Identifier 2970448 2970460 + Identifier 2970461 2970539 + IfStatement 2970598 2970809 + BinaryExpression 2970603 2970633 + Identifier 2970603 2970608 + AmpersandToken 2970608 2970610 + PropertyAccessExpression 2970610 2970633 + Identifier 2970610 2970624 + Identifier 2970625 2970633 + Block 2970634 2970809 + ReturnStatement 2970636 2970782 + CallExpression 2970672 2970781 + Identifier 2970672 2970691 + Identifier 2970692 2970700 + PropertyAccessExpression 2970701 2970756 + Identifier 2970701 2970713 + Identifier 2970714 2970756 + StringLiteral 2970757 2970768 + StringLiteral 2970769 2970780 + ExpressionStatement 2970809 2970867 + BinaryExpression 2970809 2970866 + Identifier 2970809 2970840 + BarEqualsToken 2970840 2970843 + PropertyAccessExpression 2970843 2970866 + Identifier 2970843 2970857 + Identifier 2970858 2970866 + BreakStatement 2970867 2970899 + CaseClause 2970899 2973823 + PropertyAccessExpression 2970927 2970952 + Identifier 2970927 2970938 + Identifier 2970939 2970952 + IfStatement 2970953 2971895 + BinaryExpression 2970983 2971637 + BinaryExpression 2970983 2971523 + BinaryExpression 2970983 2971448 + BinaryExpression 2970983 2971271 + BinaryExpression 2970983 2971193 + BinaryExpression 2970983 2971115 + PropertyAccessExpression 2970983 2971049 + Identifier 2970983 2971028 + Identifier 2971029 2971049 + AmpersandAmpersandToken 2971049 2971052 + PrefixUnaryExpression 2971052 2971115 + ParenthesizedExpression 2971083 2971115 + BinaryExpression 2971084 2971114 + PropertyAccessExpression 2971084 2971094 + Identifier 2971084 2971088 + Identifier 2971089 2971094 + AmpersandToken 2971094 2971096 + PropertyAccessExpression 2971096 2971114 + Identifier 2971096 2971106 + Identifier 2971107 2971114 + AmpersandAmpersandToken 2971115 2971118 + BinaryExpression 2971118 2971193 + PropertyAccessExpression 2971118 2971157 + Identifier 2971118 2971152 + Identifier 2971153 2971157 + ExclamationEqualsEqualsToken 2971157 2971161 + PropertyAccessExpression 2971161 2971193 + Identifier 2971161 2971172 + Identifier 2971173 2971193 + AmpersandAmpersandToken 2971193 2971196 + BinaryExpression 2971196 2971271 + PropertyAccessExpression 2971196 2971235 + Identifier 2971196 2971230 + Identifier 2971231 2971235 + ExclamationEqualsEqualsToken 2971235 2971239 + PropertyAccessExpression 2971239 2971271 + Identifier 2971239 2971250 + Identifier 2971251 2971271 + AmpersandAmpersandToken 2971271 2971274 + BinaryExpression 2971274 2971448 + PropertyAccessExpression 2971274 2971415 + Identifier 2971274 2971410 + Identifier 2971411 2971415 + ExclamationEqualsEqualsToken 2971415 2971419 + PropertyAccessExpression 2971419 2971448 + Identifier 2971419 2971430 + Identifier 2971431 2971448 + AmpersandAmpersandToken 2971448 2971451 + BinaryExpression 2971451 2971523 + PropertyAccessExpression 2971451 2971497 + PropertyAccessExpression 2971451 2971492 + Identifier 2971451 2971485 + Identifier 2971486 2971492 + Identifier 2971493 2971497 + EqualsEqualsEqualsToken 2971497 2971501 + PropertyAccessExpression 2971501 2971523 + Identifier 2971501 2971512 + Identifier 2971513 2971523 + AmpersandAmpersandToken 2971523 2971526 + BinaryExpression 2971526 2971637 + CallExpression 2971526 2971613 + PropertyAccessExpression 2971526 2971586 + Identifier 2971526 2971560 + Identifier 2971561 2971586 + CallExpression 2971587 2971612 + Identifier 2971587 2971606 + Identifier 2971607 2971611 + EqualsEqualsEqualsToken 2971613 2971617 + PropertyAccessExpression 2971617 2971637 + Identifier 2971617 2971628 + Identifier 2971629 2971637 + Block 2971664 2971895 + ReturnStatement 2971666 2971868 + CallExpression 2971702 2971867 + Identifier 2971702 2971721 + Identifier 2971722 2971730 + PropertyAccessExpression 2971731 2971866 + Identifier 2971731 2971743 + Identifier 2971744 2971866 + IfStatement 2971895 2973735 + BinaryExpression 2971925 2971953 + Identifier 2971925 2971930 + AmpersandToken 2971930 2971932 + PropertyAccessExpression 2971932 2971953 + Identifier 2971932 2971946 + Identifier 2971947 2971953 + Block 2971954 2972097 + ReturnStatement 2971956 2972070 + CallExpression 2971992 2972069 + Identifier 2971992 2972011 + Identifier 2972012 2972020 + PropertyAccessExpression 2972021 2972058 + Identifier 2972021 2972033 + Identifier 2972034 2972058 + StringLiteral 2972059 2972068 + IfStatement 2972127 2973735 + BinaryExpression 2972132 2972161 + Identifier 2972132 2972137 + AmpersandToken 2972137 2972139 + PropertyAccessExpression 2972139 2972161 + Identifier 2972139 2972153 + Identifier 2972154 2972161 + Block 2972162 2972327 + ReturnStatement 2972164 2972300 + CallExpression 2972200 2972299 + Identifier 2972200 2972219 + Identifier 2972220 2972228 + PropertyAccessExpression 2972229 2972277 + Identifier 2972229 2972241 + Identifier 2972242 2972277 + StringLiteral 2972278 2972287 + StringLiteral 2972288 2972298 + IfStatement 2972357 2973735 + BinaryExpression 2972362 2972392 + Identifier 2972362 2972367 + AmpersandToken 2972367 2972369 + PropertyAccessExpression 2972369 2972392 + Identifier 2972369 2972383 + Identifier 2972384 2972392 + Block 2972393 2972559 + ReturnStatement 2972395 2972532 + CallExpression 2972431 2972531 + Identifier 2972431 2972450 + Identifier 2972451 2972459 + PropertyAccessExpression 2972460 2972508 + Identifier 2972460 2972472 + Identifier 2972473 2972508 + StringLiteral 2972509 2972518 + StringLiteral 2972519 2972530 + IfStatement 2972589 2973735 + BinaryExpression 2972594 2972621 + Identifier 2972594 2972599 + AmpersandToken 2972599 2972601 + PropertyAccessExpression 2972601 2972621 + Identifier 2972601 2972615 + Identifier 2972616 2972621 + Block 2972622 2972785 + ReturnStatement 2972624 2972758 + CallExpression 2972660 2972757 + Identifier 2972660 2972679 + Identifier 2972680 2972688 + PropertyAccessExpression 2972689 2972737 + Identifier 2972689 2972701 + Identifier 2972702 2972737 + StringLiteral 2972738 2972747 + StringLiteral 2972748 2972756 + IfStatement 2972815 2973735 + CallExpression 2972820 2972844 + Identifier 2972820 2972831 + PropertyAccessExpression 2972832 2972843 + Identifier 2972832 2972836 + Identifier 2972837 2972843 + Block 2972845 2973020 + ReturnStatement 2972847 2972993 + CallExpression 2972883 2972992 + Identifier 2972883 2972902 + Identifier 2972903 2972911 + PropertyAccessExpression 2972912 2972981 + Identifier 2972912 2972924 + Identifier 2972925 2972981 + StringLiteral 2972982 2972991 + IfStatement 2973050 2973735 + BinaryExpression 2973055 2973089 + PropertyAccessExpression 2973055 2973064 + Identifier 2973055 2973059 + Identifier 2973060 2973064 + EqualsEqualsEqualsToken 2973064 2973068 + PropertyAccessExpression 2973068 2973089 + Identifier 2973068 2973079 + Identifier 2973080 2973089 + Block 2973090 2973249 + ReturnStatement 2973092 2973222 + CallExpression 2973128 2973221 + Identifier 2973128 2973147 + Identifier 2973148 2973156 + PropertyAccessExpression 2973157 2973210 + Identifier 2973157 2973169 + Identifier 2973170 2973210 + StringLiteral 2973211 2973220 + IfStatement 2973279 2973735 + BinaryExpression 2973284 2973318 + Identifier 2973284 2973298 + EqualsEqualsEqualsToken 2973298 2973302 + PropertyAccessExpression 2973302 2973318 + Identifier 2973302 2973312 + Identifier 2973313 2973318 + Block 2973319 2973486 + ReturnStatement 2973321 2973459 + CallExpression 2973357 2973458 + Identifier 2973357 2973376 + Identifier 2973377 2973385 + PropertyAccessExpression 2973386 2973447 + Identifier 2973386 2973398 + Identifier 2973399 2973447 + StringLiteral 2973448 2973457 + IfStatement 2973516 2973735 + BinaryExpression 2973521 2973560 + Identifier 2973521 2973535 + EqualsEqualsEqualsToken 2973535 2973539 + PropertyAccessExpression 2973539 2973560 + Identifier 2973539 2973549 + Identifier 2973550 2973560 + Block 2973561 2973735 + ReturnStatement 2973563 2973708 + CallExpression 2973599 2973707 + Identifier 2973599 2973618 + Identifier 2973619 2973627 + PropertyAccessExpression 2973628 2973696 + Identifier 2973628 2973640 + Identifier 2973641 2973696 + StringLiteral 2973697 2973706 + ExpressionStatement 2973735 2973791 + BinaryExpression 2973735 2973790 + Identifier 2973735 2973766 + BarEqualsToken 2973766 2973769 + PropertyAccessExpression 2973769 2973790 + Identifier 2973769 2973783 + Identifier 2973784 2973790 + BreakStatement 2973791 2973823 + CaseClause 2973823 2975296 + PropertyAccessExpression 2973849 2973875 + Identifier 2973849 2973860 + Identifier 2973861 2973875 + VariableStatement 2973876 2973998 + VariableDeclarationList 2973876 2973997 + VariableDeclaration 2973907 2973997 + Identifier 2973907 2973917 + ConditionalExpression 2973919 2973997 + BinaryExpression 2973919 2973962 + PropertyAccessExpression 2973919 2973936 + PropertyAccessExpression 2973919 2973931 + Identifier 2973919 2973924 + Identifier 2973925 2973931 + Identifier 2973932 2973936 + EqualsEqualsEqualsToken 2973936 2973940 + PropertyAccessExpression 2973940 2973962 + Identifier 2973940 2973951 + Identifier 2973952 2973962 + QuestionToken 2973962 2973964 + PropertyAccessExpression 2973964 2973976 + Identifier 2973964 2973969 + Identifier 2973970 2973976 + ColonToken 2973976 2973978 + PropertyAccessExpression 2973978 2973997 + PropertyAccessExpression 2973978 2973990 + Identifier 2973978 2973983 + Identifier 2973984 2973990 + Identifier 2973991 2973997 + IfStatement 2973998 2975205 + BinaryExpression 2974028 2974106 + BinaryExpression 2974028 2974075 + PropertyAccessExpression 2974028 2974042 + Identifier 2974028 2974037 + Identifier 2974038 2974042 + EqualsEqualsEqualsToken 2974042 2974046 + PropertyAccessExpression 2974046 2974075 + Identifier 2974046 2974057 + Identifier 2974058 2974075 + AmpersandAmpersandToken 2974075 2974078 + PrefixUnaryExpression 2974078 2974106 + CallExpression 2974080 2974106 + Identifier 2974080 2974095 + Identifier 2974096 2974105 + Block 2974107 2974279 + ReturnStatement 2974109 2974252 + CallExpression 2974145 2974251 + Identifier 2974145 2974164 + Identifier 2974165 2974173 + PropertyAccessExpression 2974174 2974250 + Identifier 2974174 2974186 + Identifier 2974187 2974250 + IfStatement 2974309 2975205 + BinaryExpression 2974314 2974348 + Identifier 2974314 2974328 + EqualsEqualsEqualsToken 2974328 2974332 + PropertyAccessExpression 2974332 2974348 + Identifier 2974332 2974342 + Identifier 2974343 2974348 + Block 2974349 2974517 + ReturnStatement 2974351 2974490 + CallExpression 2974387 2974489 + Identifier 2974387 2974406 + Identifier 2974407 2974415 + PropertyAccessExpression 2974416 2974477 + Identifier 2974416 2974428 + Identifier 2974429 2974477 + StringLiteral 2974478 2974488 + IfStatement 2974547 2975205 + BinaryExpression 2974552 2974591 + Identifier 2974552 2974566 + EqualsEqualsEqualsToken 2974566 2974570 + PropertyAccessExpression 2974570 2974591 + Identifier 2974570 2974580 + Identifier 2974581 2974591 + Block 2974592 2974767 + ReturnStatement 2974594 2974740 + CallExpression 2974630 2974739 + Identifier 2974630 2974649 + Identifier 2974650 2974658 + PropertyAccessExpression 2974659 2974727 + Identifier 2974659 2974671 + Identifier 2974672 2974727 + StringLiteral 2974728 2974738 + IfStatement 2974797 2975205 + PrefixUnaryExpression 2974802 2974833 + ParenthesizedExpression 2974803 2974833 + BinaryExpression 2974804 2974832 + Identifier 2974804 2974809 + AmpersandToken 2974809 2974811 + PropertyAccessExpression 2974811 2974832 + Identifier 2974811 2974825 + Identifier 2974826 2974832 + Block 2974834 2974999 + ReturnStatement 2974836 2974972 + CallExpression 2974872 2974971 + Identifier 2974872 2974891 + Identifier 2974892 2974900 + PropertyAccessExpression 2974901 2974949 + Identifier 2974901 2974913 + Identifier 2974914 2974949 + StringLiteral 2974950 2974959 + StringLiteral 2974960 2974970 + IfStatement 2975029 2975205 + Identifier 2975034 2975059 + Block 2975060 2975205 + ReturnStatement 2975062 2975178 + CallExpression 2975098 2975177 + Identifier 2975098 2975117 + NonNullExpression 2975118 2975133 + Identifier 2975118 2975132 + PropertyAccessExpression 2975134 2975176 + Identifier 2975134 2975146 + Identifier 2975147 2975176 + ExpressionStatement 2975205 2975264 + BinaryExpression 2975205 2975263 + Identifier 2975205 2975238 + BarEqualsToken 2975238 2975241 + PropertyAccessExpression 2975241 2975263 + Identifier 2975241 2975255 + Identifier 2975256 2975263 + BreakStatement 2975264 2975296 + CaseClause 2975296 2977931 + PropertyAccessExpression 2975322 2975348 + Identifier 2975322 2975333 + Identifier 2975334 2975348 + IfStatement 2975349 2977793 + BinaryExpression 2975379 2975408 + Identifier 2975379 2975384 + AmpersandToken 2975384 2975386 + PropertyAccessExpression 2975386 2975408 + Identifier 2975386 2975400 + Identifier 2975401 2975408 + Block 2975409 2975553 + ReturnStatement 2975411 2975526 + CallExpression 2975447 2975525 + Identifier 2975447 2975466 + Identifier 2975467 2975475 + PropertyAccessExpression 2975476 2975513 + Identifier 2975476 2975488 + Identifier 2975489 2975513 + StringLiteral 2975514 2975524 + IfStatement 2975583 2977793 + BinaryExpression 2975588 2975615 + Identifier 2975588 2975593 + AmpersandToken 2975593 2975595 + PropertyAccessExpression 2975595 2975615 + Identifier 2975595 2975609 + Identifier 2975610 2975615 + Block 2975616 2975782 + ReturnStatement 2975618 2975755 + CallExpression 2975654 2975754 + Identifier 2975654 2975673 + Identifier 2975674 2975682 + PropertyAccessExpression 2975683 2975744 + Identifier 2975683 2975695 + Identifier 2975696 2975744 + StringLiteral 2975745 2975753 + IfStatement 2975812 2977793 + BinaryExpression 2975817 2975847 + Identifier 2975817 2975822 + AmpersandToken 2975822 2975824 + PropertyAccessExpression 2975824 2975847 + Identifier 2975824 2975838 + Identifier 2975839 2975847 + Block 2975848 2976017 + ReturnStatement 2975850 2975990 + CallExpression 2975886 2975989 + Identifier 2975886 2975905 + Identifier 2975906 2975914 + PropertyAccessExpression 2975915 2975976 + Identifier 2975915 2975927 + Identifier 2975928 2975976 + StringLiteral 2975977 2975988 + IfStatement 2976047 2977793 + BinaryExpression 2976052 2976108 + CallExpression 2976052 2976076 + Identifier 2976052 2976063 + PropertyAccessExpression 2976064 2976075 + Identifier 2976064 2976068 + Identifier 2976069 2976075 + AmpersandAmpersandToken 2976076 2976079 + PrefixUnaryExpression 2976079 2976108 + CallExpression 2976081 2976108 + Identifier 2976081 2976102 + Identifier 2976103 2976107 + Block 2976109 2976285 + ReturnStatement 2976111 2976258 + CallExpression 2976147 2976257 + Identifier 2976147 2976166 + Identifier 2976167 2976175 + PropertyAccessExpression 2976176 2976245 + Identifier 2976176 2976188 + Identifier 2976189 2976245 + StringLiteral 2976246 2976256 + IfStatement 2976315 2977793 + BinaryExpression 2976320 2976354 + PropertyAccessExpression 2976320 2976329 + Identifier 2976320 2976324 + Identifier 2976325 2976329 + EqualsEqualsEqualsToken 2976329 2976333 + PropertyAccessExpression 2976333 2976354 + Identifier 2976333 2976344 + Identifier 2976345 2976354 + Block 2976355 2976515 + ReturnStatement 2976357 2976488 + CallExpression 2976393 2976487 + Identifier 2976393 2976412 + Identifier 2976413 2976421 + PropertyAccessExpression 2976422 2976475 + Identifier 2976422 2976434 + Identifier 2976435 2976475 + StringLiteral 2976476 2976486 + IfStatement 2976545 2977793 + BinaryExpression 2976550 2976584 + Identifier 2976550 2976564 + EqualsEqualsEqualsToken 2976564 2976568 + PropertyAccessExpression 2976568 2976584 + Identifier 2976568 2976578 + Identifier 2976579 2976584 + Block 2976585 2976753 + ReturnStatement 2976587 2976726 + CallExpression 2976623 2976725 + Identifier 2976623 2976642 + Identifier 2976643 2976651 + PropertyAccessExpression 2976652 2976713 + Identifier 2976652 2976664 + Identifier 2976665 2976713 + StringLiteral 2976714 2976724 + IfStatement 2976783 2977793 + BinaryExpression 2976788 2976827 + Identifier 2976788 2976802 + EqualsEqualsEqualsToken 2976802 2976806 + PropertyAccessExpression 2976806 2976827 + Identifier 2976806 2976816 + Identifier 2976817 2976827 + Block 2976828 2977003 + ReturnStatement 2976830 2976976 + CallExpression 2976866 2976975 + Identifier 2976866 2976885 + Identifier 2976886 2976894 + PropertyAccessExpression 2976895 2976963 + Identifier 2976895 2976907 + Identifier 2976908 2976963 + StringLiteral 2976964 2976974 + IfStatement 2977033 2977793 + BinaryExpression 2977038 2977124 + ParenthesizedExpression 2977038 2977077 + BinaryExpression 2977039 2977076 + PropertyAccessExpression 2977039 2977056 + PropertyAccessExpression 2977039 2977050 + Identifier 2977039 2977043 + Identifier 2977044 2977050 + Identifier 2977051 2977056 + AmpersandToken 2977056 2977058 + PropertyAccessExpression 2977058 2977076 + Identifier 2977058 2977068 + Identifier 2977069 2977076 + AmpersandAmpersandToken 2977077 2977080 + BinaryExpression 2977080 2977124 + PropertyAccessExpression 2977080 2977097 + PropertyAccessExpression 2977080 2977092 + Identifier 2977080 2977085 + Identifier 2977086 2977092 + Identifier 2977093 2977097 + EqualsEqualsEqualsToken 2977097 2977101 + PropertyAccessExpression 2977101 2977124 + Identifier 2977101 2977112 + Identifier 2977113 2977124 + Block 2977125 2977297 + ReturnStatement 2977127 2977270 + CallExpression 2977163 2977269 + Identifier 2977163 2977182 + Identifier 2977183 2977191 + PropertyAccessExpression 2977192 2977268 + Identifier 2977192 2977204 + Identifier 2977205 2977268 + IfStatement 2977327 2977793 + CallExpression 2977332 2977380 + Identifier 2977332 2977374 + Identifier 2977375 2977379 + Block 2977381 2977553 + ReturnStatement 2977383 2977526 + CallExpression 2977419 2977525 + Identifier 2977419 2977438 + Identifier 2977439 2977447 + PropertyAccessExpression 2977448 2977513 + Identifier 2977448 2977460 + Identifier 2977461 2977513 + StringLiteral 2977514 2977524 + IfStatement 2977583 2977793 + BinaryExpression 2977588 2977618 + Identifier 2977588 2977593 + AmpersandToken 2977593 2977595 + PropertyAccessExpression 2977595 2977618 + Identifier 2977595 2977609 + Identifier 2977610 2977618 + Block 2977619 2977793 + ReturnStatement 2977621 2977766 + CallExpression 2977657 2977765 + Identifier 2977657 2977676 + Identifier 2977677 2977685 + PropertyAccessExpression 2977686 2977741 + Identifier 2977686 2977698 + Identifier 2977699 2977741 + StringLiteral 2977742 2977752 + StringLiteral 2977753 2977764 + ExpressionStatement 2977793 2977850 + BinaryExpression 2977793 2977849 + Identifier 2977793 2977824 + BarEqualsToken 2977824 2977827 + PropertyAccessExpression 2977827 2977849 + Identifier 2977827 2977841 + Identifier 2977842 2977849 + ExpressionStatement 2977850 2977899 + BinaryExpression 2977850 2977898 + Identifier 2977850 2977887 + EqualsToken 2977887 2977889 + Identifier 2977889 2977898 + BreakStatement 2977899 2977931 + CaseClause 2977931 2981157 + PropertyAccessExpression 2977959 2977986 + Identifier 2977959 2977970 + Identifier 2977971 2977986 + IfStatement 2977987 2978193 + BinaryExpression 2978017 2978047 + Identifier 2978017 2978022 + AmpersandToken 2978022 2978024 + PropertyAccessExpression 2978024 2978047 + Identifier 2978024 2978038 + Identifier 2978039 2978047 + Block 2978048 2978193 + ReturnStatement 2978050 2978166 + CallExpression 2978086 2978165 + Identifier 2978086 2978105 + Identifier 2978106 2978114 + PropertyAccessExpression 2978115 2978152 + Identifier 2978115 2978127 + Identifier 2978128 2978152 + StringLiteral 2978153 2978164 + IfStatement 2978193 2980786 + BinaryExpression 2978223 2978367 + BinaryExpression 2978223 2978294 + PropertyAccessExpression 2978223 2978262 + Identifier 2978223 2978257 + Identifier 2978258 2978262 + ExclamationEqualsEqualsToken 2978262 2978266 + PropertyAccessExpression 2978266 2978294 + Identifier 2978266 2978277 + Identifier 2978278 2978294 + AmpersandAmpersandToken 2978294 2978297 + BinaryExpression 2978297 2978367 + PropertyAccessExpression 2978297 2978336 + Identifier 2978297 2978331 + Identifier 2978332 2978336 + ExclamationEqualsEqualsToken 2978336 2978340 + PropertyAccessExpression 2978340 2978367 + Identifier 2978340 2978351 + Identifier 2978352 2978367 + Block 2978394 2980786 + IfStatement 2978396 2978956 + BinaryExpression 2978430 2978733 + BinaryExpression 2978430 2978660 + BinaryExpression 2978430 2978587 + BinaryExpression 2978430 2978506 + PropertyAccessExpression 2978430 2978473 + Identifier 2978430 2978468 + Identifier 2978469 2978473 + ExclamationEqualsEqualsToken 2978473 2978477 + PropertyAccessExpression 2978477 2978506 + Identifier 2978477 2978488 + Identifier 2978489 2978506 + AmpersandAmpersandToken 2978506 2978509 + BinaryExpression 2978509 2978587 + PropertyAccessExpression 2978509 2978552 + Identifier 2978509 2978547 + Identifier 2978548 2978552 + ExclamationEqualsEqualsToken 2978552 2978556 + PropertyAccessExpression 2978556 2978587 + Identifier 2978556 2978567 + Identifier 2978568 2978587 + AmpersandAmpersandToken 2978587 2978590 + BinaryExpression 2978590 2978660 + PropertyAccessExpression 2978590 2978633 + Identifier 2978590 2978628 + Identifier 2978629 2978633 + ExclamationEqualsEqualsToken 2978633 2978637 + PropertyAccessExpression 2978637 2978660 + Identifier 2978637 2978648 + Identifier 2978649 2978660 + AmpersandAmpersandToken 2978660 2978663 + BinaryExpression 2978663 2978733 + PropertyAccessExpression 2978663 2978706 + Identifier 2978663 2978701 + Identifier 2978702 2978706 + ExclamationEqualsEqualsToken 2978706 2978710 + PropertyAccessExpression 2978710 2978733 + Identifier 2978710 2978721 + Identifier 2978722 2978733 + Block 2978764 2978956 + ReturnStatement 2978766 2978925 + CallExpression 2978806 2978924 + Identifier 2978806 2978825 + Identifier 2978826 2978834 + PropertyAccessExpression 2978835 2978923 + Identifier 2978835 2978847 + Identifier 2978848 2978923 + IfStatement 2978956 2979531 + PrefixUnaryExpression 2978990 2979102 + ParenthesizedExpression 2978991 2979102 + BinaryExpression 2978992 2979101 + BinaryExpression 2978992 2979040 + PropertyAccessExpression 2978992 2979008 + PropertyAccessExpression 2978992 2979003 + Identifier 2978992 2978996 + Identifier 2978997 2979003 + Identifier 2979004 2979008 + EqualsEqualsEqualsToken 2979008 2979012 + PropertyAccessExpression 2979012 2979040 + Identifier 2979012 2979023 + Identifier 2979024 2979040 + AmpersandAmpersandToken 2979040 2979043 + CallExpression 2979043 2979101 + Identifier 2979043 2979064 + PropertyAccessExpression 2979065 2979076 + Identifier 2979065 2979069 + Identifier 2979070 2979076 + PropertyAccessExpression 2979077 2979100 + Identifier 2979077 2979091 + Identifier 2979092 2979100 + Block 2979103 2979531 + VariableStatement 2979105 2979421 + VariableDeclarationList 2979105 2979420 + VariableDeclaration 2979144 2979420 + Identifier 2979144 2979152 + ConditionalExpression 2979154 2979420 + BinaryExpression 2979154 2979199 + PropertyAccessExpression 2979154 2979164 + Identifier 2979154 2979159 + Identifier 2979160 2979164 + EqualsEqualsEqualsToken 2979164 2979168 + PropertyAccessExpression 2979168 2979199 + Identifier 2979168 2979179 + Identifier 2979180 2979199 + QuestionToken 2979199 2979238 + PropertyAccessExpression 2979238 2979311 + Identifier 2979238 2979250 + Identifier 2979251 2979311 + ColonToken 2979311 2979350 + PropertyAccessExpression 2979350 2979420 + Identifier 2979350 2979362 + Identifier 2979363 2979420 + ReturnStatement 2979421 2979500 + CallExpression 2979461 2979499 + Identifier 2979461 2979480 + Identifier 2979481 2979489 + Identifier 2979490 2979498 + IfStatement 2979531 2979775 + BinaryExpression 2979565 2979593 + Identifier 2979565 2979570 + AmpersandToken 2979570 2979572 + PropertyAccessExpression 2979572 2979593 + Identifier 2979572 2979586 + Identifier 2979587 2979593 + Block 2979594 2979775 + ReturnStatement 2979596 2979744 + CallExpression 2979636 2979743 + Identifier 2979636 2979655 + Identifier 2979656 2979664 + PropertyAccessExpression 2979665 2979720 + Identifier 2979665 2979677 + Identifier 2979678 2979720 + StringLiteral 2979721 2979730 + StringLiteral 2979731 2979742 + IfStatement 2979775 2980021 + BinaryExpression 2979809 2979838 + Identifier 2979809 2979814 + AmpersandToken 2979814 2979816 + PropertyAccessExpression 2979816 2979838 + Identifier 2979816 2979830 + Identifier 2979831 2979838 + Block 2979839 2980021 + ReturnStatement 2979841 2979990 + CallExpression 2979881 2979989 + Identifier 2979881 2979900 + Identifier 2979901 2979909 + PropertyAccessExpression 2979910 2979965 + Identifier 2979910 2979922 + Identifier 2979923 2979965 + StringLiteral 2979966 2979976 + StringLiteral 2979977 2979988 + IfStatement 2980021 2980277 + BinaryExpression 2980055 2980095 + BinaryExpression 2980055 2980082 + Identifier 2980055 2980060 + AmpersandToken 2980060 2980062 + PropertyAccessExpression 2980062 2980082 + Identifier 2980062 2980076 + Identifier 2980077 2980082 + AmpersandAmpersandToken 2980082 2980085 + Identifier 2980085 2980095 + Block 2980096 2980277 + ReturnStatement 2980098 2980246 + CallExpression 2980138 2980245 + Identifier 2980138 2980157 + Identifier 2980158 2980167 + PropertyAccessExpression 2980168 2980223 + Identifier 2980168 2980180 + Identifier 2980181 2980223 + StringLiteral 2980224 2980232 + StringLiteral 2980233 2980244 + IfStatement 2980277 2980518 + BinaryExpression 2980311 2980341 + Identifier 2980311 2980316 + AmpersandToken 2980316 2980318 + PropertyAccessExpression 2980318 2980341 + Identifier 2980318 2980332 + Identifier 2980333 2980341 + Block 2980342 2980518 + ReturnStatement 2980344 2980487 + CallExpression 2980384 2980486 + Identifier 2980384 2980403 + Identifier 2980404 2980412 + PropertyAccessExpression 2980413 2980461 + Identifier 2980413 2980425 + Identifier 2980426 2980461 + StringLiteral 2980462 2980473 + StringLiteral 2980474 2980485 + IfStatement 2980518 2980759 + BinaryExpression 2980552 2980582 + Identifier 2980552 2980557 + AmpersandToken 2980557 2980559 + PropertyAccessExpression 2980559 2980582 + Identifier 2980559 2980573 + Identifier 2980574 2980582 + Block 2980583 2980759 + ReturnStatement 2980585 2980728 + CallExpression 2980625 2980727 + Identifier 2980625 2980644 + Identifier 2980645 2980653 + PropertyAccessExpression 2980654 2980702 + Identifier 2980654 2980666 + Identifier 2980667 2980702 + StringLiteral 2980703 2980714 + StringLiteral 2980715 2980726 + IfStatement 2980786 2981065 + BinaryExpression 2980816 2980891 + CallExpression 2980816 2980840 + Identifier 2980816 2980834 + Identifier 2980835 2980839 + AmpersandAmpersandToken 2980840 2980843 + BinaryExpression 2980843 2980891 + PropertyAccessExpression 2980843 2980858 + PropertyAccessExpression 2980843 2980853 + Identifier 2980843 2980848 + Identifier 2980849 2980853 + Identifier 2980854 2980858 + EqualsEqualsEqualsToken 2980858 2980862 + PropertyAccessExpression 2980862 2980891 + Identifier 2980862 2980873 + Identifier 2980874 2980891 + Block 2980892 2981065 + ReturnStatement 2980894 2981038 + CallExpression 2980930 2981037 + Identifier 2980930 2980949 + Identifier 2980950 2980958 + PropertyAccessExpression 2980959 2981024 + Identifier 2980959 2980971 + Identifier 2980972 2981024 + StringLiteral 2981025 2981036 + ExpressionStatement 2981065 2981125 + BinaryExpression 2981065 2981124 + Identifier 2981065 2981098 + BarEqualsToken 2981098 2981101 + PropertyAccessExpression 2981101 2981124 + Identifier 2981101 2981115 + Identifier 2981116 2981124 + BreakStatement 2981125 2981157 + CaseClause 2981157 2982277 + PropertyAccessExpression 2981185 2981209 + Identifier 2981185 2981196 + Identifier 2981197 2981209 + IfStatement 2981210 2981910 + BinaryExpression 2981240 2981267 + Identifier 2981240 2981245 + AmpersandToken 2981245 2981247 + PropertyAccessExpression 2981247 2981267 + Identifier 2981247 2981261 + Identifier 2981262 2981267 + Block 2981268 2981410 + ReturnStatement 2981270 2981383 + CallExpression 2981306 2981382 + Identifier 2981306 2981325 + Identifier 2981326 2981334 + PropertyAccessExpression 2981335 2981372 + Identifier 2981335 2981347 + Identifier 2981348 2981372 + StringLiteral 2981373 2981381 + IfStatement 2981440 2981910 + BinaryExpression 2981445 2981515 + BinaryExpression 2981445 2981474 + Identifier 2981445 2981450 + AmpersandToken 2981450 2981452 + PropertyAccessExpression 2981452 2981474 + Identifier 2981452 2981466 + Identifier 2981467 2981474 + BarBarToken 2981474 2981477 + BinaryExpression 2981477 2981515 + PropertyAccessExpression 2981477 2981495 + PropertyAccessExpression 2981477 2981489 + Identifier 2981477 2981482 + Identifier 2981483 2981489 + Identifier 2981490 2981495 + AmpersandToken 2981495 2981497 + PropertyAccessExpression 2981497 2981515 + Identifier 2981497 2981507 + Identifier 2981508 2981515 + Block 2981516 2981682 + ReturnStatement 2981518 2981655 + CallExpression 2981554 2981654 + Identifier 2981554 2981573 + Identifier 2981574 2981582 + PropertyAccessExpression 2981583 2981644 + Identifier 2981583 2981595 + Identifier 2981596 2981644 + StringLiteral 2981645 2981653 + IfStatement 2981712 2981910 + BinaryExpression 2981717 2981751 + PropertyAccessExpression 2981717 2981726 + Identifier 2981717 2981721 + Identifier 2981722 2981726 + EqualsEqualsEqualsToken 2981726 2981730 + PropertyAccessExpression 2981730 2981751 + Identifier 2981730 2981741 + Identifier 2981742 2981751 + Block 2981752 2981910 + ReturnStatement 2981754 2981883 + CallExpression 2981790 2981882 + Identifier 2981790 2981809 + Identifier 2981810 2981818 + PropertyAccessExpression 2981819 2981872 + Identifier 2981819 2981831 + Identifier 2981832 2981872 + StringLiteral 2981873 2981881 + IfStatement 2981910 2982143 + BinaryExpression 2981940 2981970 + Identifier 2981940 2981945 + AmpersandToken 2981945 2981947 + PropertyAccessExpression 2981947 2981970 + Identifier 2981947 2981961 + Identifier 2981962 2981970 + Block 2981971 2982143 + ReturnStatement 2981973 2982116 + CallExpression 2982009 2982115 + Identifier 2982009 2982028 + Identifier 2982029 2982037 + PropertyAccessExpression 2982038 2982093 + Identifier 2982038 2982050 + Identifier 2982051 2982093 + StringLiteral 2982094 2982102 + StringLiteral 2982103 2982114 + ExpressionStatement 2982143 2982198 + BinaryExpression 2982143 2982197 + Identifier 2982143 2982174 + BarEqualsToken 2982174 2982177 + PropertyAccessExpression 2982177 2982197 + Identifier 2982177 2982191 + Identifier 2982192 2982197 + ExpressionStatement 2982198 2982245 + BinaryExpression 2982198 2982244 + Identifier 2982198 2982233 + EqualsToken 2982233 2982235 + Identifier 2982235 2982244 + BreakStatement 2982245 2982277 + CaseClause 2982277 2982327 + PropertyAccessExpression 2982305 2982326 + Identifier 2982305 2982316 + Identifier 2982317 2982326 + CaseClause 2982327 2983727 + PropertyAccessExpression 2982353 2982375 + Identifier 2982353 2982364 + Identifier 2982365 2982375 + Block 2982376 2983727 + VariableStatement 2982378 2982500 + VariableDeclarationList 2982378 2982499 + VariableDeclaration 2982409 2982499 + Identifier 2982409 2982419 + ConditionalExpression 2982421 2982499 + BinaryExpression 2982421 2982460 + PropertyAccessExpression 2982421 2982435 + Identifier 2982421 2982430 + Identifier 2982431 2982435 + EqualsEqualsEqualsToken 2982435 2982439 + PropertyAccessExpression 2982439 2982460 + Identifier 2982439 2982450 + Identifier 2982451 2982460 + QuestionToken 2982460 2982462 + PropertyAccessExpression 2982462 2982479 + Identifier 2982462 2982476 + Identifier 2982477 2982479 + ColonToken 2982479 2982481 + PropertyAccessExpression 2982481 2982499 + Identifier 2982481 2982495 + Identifier 2982496 2982499 + VariableStatement 2982500 2982598 + VariableDeclarationList 2982500 2982597 + VariableDeclaration 2982531 2982597 + Identifier 2982531 2982541 + ConditionalExpression 2982543 2982597 + BinaryExpression 2982543 2982582 + PropertyAccessExpression 2982543 2982557 + Identifier 2982543 2982552 + Identifier 2982553 2982557 + EqualsEqualsEqualsToken 2982557 2982561 + PropertyAccessExpression 2982561 2982582 + Identifier 2982561 2982572 + Identifier 2982573 2982582 + QuestionToken 2982582 2982584 + StringLiteral 2982584 2982589 + ColonToken 2982589 2982591 + StringLiteral 2982591 2982597 + VariableStatement 2982598 2982786 + VariableDeclarationList 2982598 2982785 + VariableDeclaration 2982629 2982785 + Identifier 2982629 2982636 + BinaryExpression 2982638 2982785 + BinaryExpression 2982638 2982770 + CallExpression 2982638 2982670 + Identifier 2982638 2982657 + PropertyAccessExpression 2982658 2982669 + Identifier 2982658 2982662 + Identifier 2982663 2982669 + AmpersandAmpersandToken 2982670 2982673 + ParenthesizedExpression 2982673 2982770 + BinaryExpression 2982675 2982769 + CallExpression 2982675 2982709 + Identifier 2982675 2982696 + PropertyAccessExpression 2982697 2982708 + Identifier 2982697 2982701 + Identifier 2982702 2982708 + BarBarToken 2982709 2982712 + CallExpression 2982712 2982769 + Identifier 2982712 2982717 + PropertyAccessExpression 2982718 2982749 + CallExpression 2982718 2982743 + Identifier 2982718 2982730 + PropertyAccessExpression 2982731 2982742 + Identifier 2982731 2982735 + Identifier 2982736 2982742 + QuestionDotToken 2982743 2982745 + Identifier 2982745 2982749 + Identifier 2982750 2982768 + BarBarToken 2982770 2982773 + PropertyAccessExpression 2982773 2982785 + Identifier 2982773 2982778 + Identifier 2982779 2982785 + IfStatement 2982786 2983190 + BinaryExpression 2982816 2982987 + BinaryExpression 2982816 2982854 + PropertyAccessExpression 2982816 2982825 + Identifier 2982816 2982820 + Identifier 2982821 2982825 + ExclamationEqualsEqualsToken 2982825 2982829 + PropertyAccessExpression 2982829 2982854 + Identifier 2982829 2982840 + Identifier 2982841 2982854 + BarBarToken 2982854 2982857 + BinaryExpression 2982857 2982987 + Identifier 2982857 2982864 + AmpersandAmpersandToken 2982864 2982867 + PrefixUnaryExpression 2982867 2982987 + ParenthesizedExpression 2982869 2982987 + BinaryExpression 2982870 2982986 + BinaryExpression 2982870 2982957 + BinaryExpression 2982870 2982923 + CallExpression 2982870 2982900 + Identifier 2982870 2982892 + Identifier 2982893 2982899 + BarBarToken 2982900 2982903 + CallExpression 2982903 2982923 + Identifier 2982903 2982915 + Identifier 2982916 2982922 + BarBarToken 2982923 2982926 + CallExpression 2982926 2982957 + Identifier 2982926 2982949 + Identifier 2982950 2982956 + BarBarToken 2982957 2982960 + CallExpression 2982960 2982986 + Identifier 2982960 2982978 + Identifier 2982979 2982985 + Block 2982988 2983190 + ReturnStatement 2982990 2983163 + CallExpression 2983026 2983162 + Identifier 2983026 2983045 + Identifier 2983046 2983054 + PropertyAccessExpression 2983055 2983150 + Identifier 2983055 2983067 + Identifier 2983068 2983150 + Identifier 2983151 2983161 + IfStatement 2983190 2983382 + BinaryExpression 2983220 2983237 + Identifier 2983220 2983225 + AmpersandToken 2983225 2983227 + Identifier 2983227 2983237 + Block 2983238 2983382 + ReturnStatement 2983240 2983355 + CallExpression 2983276 2983354 + Identifier 2983276 2983295 + Identifier 2983296 2983304 + PropertyAccessExpression 2983305 2983342 + Identifier 2983305 2983317 + Identifier 2983318 2983342 + Identifier 2983343 2983353 + IfStatement 2983382 2983627 + BinaryExpression 2983412 2983469 + BinaryExpression 2983412 2983440 + Identifier 2983412 2983421 + AmpersandToken 2983421 2983423 + PropertyAccessExpression 2983423 2983440 + Identifier 2983423 2983437 + Identifier 2983438 2983440 + AmpersandAmpersandToken 2983440 2983443 + BinaryExpression 2983443 2983469 + Identifier 2983443 2983449 + AmpersandToken 2983449 2983451 + PropertyAccessExpression 2983451 2983469 + Identifier 2983451 2983465 + Identifier 2983466 2983469 + Block 2983470 2983627 + ReturnStatement 2983472 2983600 + CallExpression 2983508 2983599 + Identifier 2983508 2983527 + Identifier 2983528 2983536 + PropertyAccessExpression 2983537 2983585 + Identifier 2983537 2983549 + Identifier 2983550 2983585 + StringLiteral 2983586 2983591 + StringLiteral 2983592 2983598 + ExpressionStatement 2983627 2983672 + BinaryExpression 2983627 2983671 + Identifier 2983627 2983658 + BarEqualsToken 2983658 2983661 + Identifier 2983661 2983671 + BreakStatement 2983672 2983704 + IfStatement 2983772 2985318 + BinaryExpression 2983788 2983824 + PropertyAccessExpression 2983788 2983797 + Identifier 2983788 2983792 + Identifier 2983793 2983797 + EqualsEqualsEqualsToken 2983797 2983801 + PropertyAccessExpression 2983801 2983824 + Identifier 2983801 2983812 + Identifier 2983813 2983824 + Block 2983825 2984483 + IfStatement 2983827 2984026 + BinaryExpression 2983845 2983873 + Identifier 2983845 2983850 + AmpersandToken 2983850 2983852 + PropertyAccessExpression 2983852 2983873 + Identifier 2983852 2983866 + Identifier 2983867 2983873 + Block 2983874 2984026 + ReturnStatement 2983876 2984011 + CallExpression 2983900 2984010 + Identifier 2983900 2983919 + NonNullExpression 2983920 2983931 + Identifier 2983920 2983930 + PropertyAccessExpression 2983932 2983999 + Identifier 2983932 2983944 + Identifier 2983945 2983999 + StringLiteral 2984000 2984009 + IfStatement 2984026 2984249 + BinaryExpression 2984044 2984074 + Identifier 2984044 2984049 + AmpersandToken 2984049 2984051 + PropertyAccessExpression 2984051 2984074 + Identifier 2984051 2984065 + Identifier 2984066 2984074 + Block 2984075 2984249 + ReturnStatement 2984077 2984216 + CallExpression 2984101 2984215 + Identifier 2984101 2984120 + NonNullExpression 2984121 2984134 + Identifier 2984121 2984133 + PropertyAccessExpression 2984135 2984202 + Identifier 2984135 2984147 + Identifier 2984148 2984202 + StringLiteral 2984203 2984214 + IfStatement 2984249 2984445 + BinaryExpression 2984267 2984294 + Identifier 2984267 2984272 + AmpersandToken 2984272 2984274 + PropertyAccessExpression 2984274 2984294 + Identifier 2984274 2984288 + Identifier 2984289 2984294 + Block 2984295 2984445 + ReturnStatement 2984297 2984430 + CallExpression 2984321 2984429 + Identifier 2984321 2984340 + NonNullExpression 2984341 2984351 + Identifier 2984341 2984350 + PropertyAccessExpression 2984352 2984419 + Identifier 2984352 2984364 + Identifier 2984365 2984419 + StringLiteral 2984420 2984428 + ReturnStatement 2984445 2984472 + FalseKeyword 2984465 2984471 + IfStatement 2984497 2985318 + BinaryExpression 2984502 2984631 + ParenthesizedExpression 2984502 2984598 + BinaryExpression 2984503 2984597 + BinaryExpression 2984503 2984545 + PropertyAccessExpression 2984503 2984512 + Identifier 2984503 2984507 + Identifier 2984508 2984512 + EqualsEqualsEqualsToken 2984512 2984516 + PropertyAccessExpression 2984516 2984545 + Identifier 2984516 2984527 + Identifier 2984528 2984545 + BarBarToken 2984545 2984548 + BinaryExpression 2984548 2984597 + PropertyAccessExpression 2984548 2984558 + Identifier 2984548 2984553 + Identifier 2984554 2984558 + EqualsEqualsEqualsToken 2984558 2984562 + PropertyAccessExpression 2984562 2984597 + Identifier 2984562 2984573 + Identifier 2984574 2984597 + AmpersandAmpersandToken 2984598 2984601 + BinaryExpression 2984601 2984631 + Identifier 2984601 2984607 + AmpersandToken 2984607 2984609 + PropertyAccessExpression 2984609 2984631 + Identifier 2984609 2984623 + Identifier 2984624 2984631 + Block 2984632 2984778 + ReturnStatement 2984634 2984767 + CallExpression 2984654 2984766 + Identifier 2984654 2984673 + NonNullExpression 2984674 2984686 + Identifier 2984674 2984685 + PropertyAccessExpression 2984687 2984754 + Identifier 2984687 2984699 + Identifier 2984700 2984754 + StringLiteral 2984755 2984765 + IfStatement 2984792 2985318 + BinaryExpression 2984797 2984915 + BinaryExpression 2984797 2984884 + BinaryExpression 2984797 2984831 + PropertyAccessExpression 2984797 2984806 + Identifier 2984797 2984801 + Identifier 2984802 2984806 + EqualsEqualsEqualsToken 2984806 2984810 + PropertyAccessExpression 2984810 2984831 + Identifier 2984810 2984821 + Identifier 2984822 2984831 + AmpersandAmpersandToken 2984831 2984834 + ParenthesizedExpression 2984834 2984884 + BinaryExpression 2984836 2984883 + Identifier 2984836 2984841 + AmpersandToken 2984841 2984843 + PropertyAccessExpression 2984843 2984883 + Identifier 2984843 2984857 + Identifier 2984858 2984883 + AmpersandAmpersandToken 2984884 2984887 + CallExpression 2984887 2984915 + Identifier 2984887 2984904 + PropertyAccessExpression 2984905 2984914 + Identifier 2984905 2984909 + Identifier 2984910 2984914 + Block 2984916 2985053 + ReturnStatement 2984918 2985042 + CallExpression 2984938 2985041 + Identifier 2984938 2984957 + Identifier 2984958 2984962 + PropertyAccessExpression 2984963 2985040 + Identifier 2984963 2984975 + Identifier 2984976 2985040 + IfStatement 2985067 2985318 + BinaryExpression 2985072 2985182 + BinaryExpression 2985072 2985159 + BinaryExpression 2985072 2985106 + PropertyAccessExpression 2985072 2985081 + Identifier 2985072 2985076 + Identifier 2985077 2985081 + EqualsEqualsEqualsToken 2985081 2985085 + PropertyAccessExpression 2985085 2985106 + Identifier 2985085 2985096 + Identifier 2985097 2985106 + AmpersandAmpersandToken 2985106 2985109 + ParenthesizedExpression 2985109 2985159 + BinaryExpression 2985111 2985158 + Identifier 2985111 2985116 + AmpersandToken 2985116 2985118 + PropertyAccessExpression 2985118 2985158 + Identifier 2985118 2985132 + Identifier 2985133 2985158 + AmpersandAmpersandToken 2985159 2985162 + PropertyAccessExpression 2985162 2985182 + Identifier 2985162 2985167 + Identifier 2985168 2985182 + Block 2985183 2985318 + ReturnStatement 2985185 2985307 + CallExpression 2985205 2985306 + Identifier 2985205 2985224 + Identifier 2985225 2985229 + PropertyAccessExpression 2985230 2985305 + Identifier 2985230 2985242 + Identifier 2985243 2985305 + IfStatement 2985318 2985438 + BinaryExpression 2985332 2985359 + Identifier 2985332 2985337 + AmpersandToken 2985337 2985339 + PropertyAccessExpression 2985339 2985359 + Identifier 2985339 2985353 + Identifier 2985354 2985359 + Block 2985360 2985438 + ReturnStatement 2985362 2985427 + CallExpression 2985382 2985426 + Identifier 2985382 2985408 + Identifier 2985409 2985413 + NonNullExpression 2985414 2985425 + Identifier 2985414 2985424 + ReturnStatement 2985438 2985461 + FalseKeyword 2985454 2985460 + FunctionDeclaration 2985468 2985948 + Identifier 2985638 2985666 + Parameter 2985667 2985707 + Identifier 2985667 2985671 + UnionType 2985672 2985707 + TypeReference 2985672 2985685 + Identifier 2985672 2985685 + TypeReference 2985687 2985707 + Identifier 2985687 2985707 + UnionType 2985709 2985729 + BooleanKeyword 2985709 2985717 + UndefinedKeyword 2985719 2985729 + Block 2985729 2985948 + IfStatement 2985731 2985775 + PrefixUnaryExpression 2985745 2985760 + PropertyAccessExpression 2985746 2985760 + Identifier 2985746 2985750 + Identifier 2985751 2985760 + ReturnStatement 2985761 2985775 + FalseKeyword 2985768 2985774 + VariableStatement 2985775 2985835 + VariableDeclarationList 2985775 2985834 + VariableDeclaration 2985792 2985834 + Identifier 2985792 2985801 + CallExpression 2985803 2985834 + Identifier 2985803 2985828 + Identifier 2985829 2985833 + ReturnStatement 2985835 2985941 + BinaryExpression 2985851 2985940 + Identifier 2985851 2985860 + AmpersandAmpersandToken 2985860 2985863 + CallExpression 2985863 2985940 + Identifier 2985863 2985888 + Identifier 2985889 2985897 + PropertyAccessExpression 2985898 2985939 + Identifier 2985898 2985910 + Identifier 2985911 2985939 + FunctionDeclaration 2985948 2986214 + Identifier 2985964 2985988 + Parameter 2985989 2986007 + Identifier 2985989 2985993 + TypeReference 2985994 2986007 + Identifier 2985994 2986007 + Parameter 2986008 2986036 + Identifier 2986008 2986024 + TypeReference 2986025 2986036 + Identifier 2986025 2986036 + UnionType 2986038 2986059 + TypeReference 2986038 2986047 + Identifier 2986038 2986047 + UndefinedKeyword 2986049 2986059 + Block 2986059 2986214 + VariableStatement 2986061 2986121 + VariableDeclarationList 2986061 2986120 + VariableDeclaration 2986076 2986120 + Identifier 2986076 2986085 + CallExpression 2986087 2986120 + Identifier 2986087 2986092 + PropertyAccessExpression 2986093 2986107 + Identifier 2986093 2986097 + Identifier 2986098 2986107 + Identifier 2986108 2986119 + ReturnStatement 2986121 2986207 + ConditionalExpression 2986137 2986206 + BinaryExpression 2986137 2986183 + Identifier 2986137 2986146 + AmpersandAmpersandToken 2986146 2986149 + BinaryExpression 2986149 2986183 + PropertyAccessExpression 2986149 2986163 + Identifier 2986149 2986158 + Identifier 2986159 2986163 + ExclamationEqualsEqualsToken 2986163 2986167 + Identifier 2986167 2986183 + QuestionToken 2986183 2986185 + Identifier 2986185 2986194 + ColonToken 2986194 2986196 + Identifier 2986196 2986206 + FunctionDeclaration 2986214 2988859 + Identifier 2986230 2986255 + Parameter 2986256 2986296 + Identifier 2986256 2986260 + UnionType 2986261 2986296 + TypeReference 2986261 2986274 + Identifier 2986261 2986274 + TypeReference 2986276 2986296 + Identifier 2986276 2986296 + UnionType 2986298 2986319 + TypeReference 2986298 2986307 + Identifier 2986298 2986307 + UndefinedKeyword 2986309 2986319 + Block 2986319 2988859 + SwitchStatement 2986321 2988852 + PropertyAccessExpression 2986339 2986348 + Identifier 2986339 2986343 + Identifier 2986344 2986348 + CaseBlock 2986349 2988852 + CaseClause 2986351 2986393 + PropertyAccessExpression 2986369 2986392 + Identifier 2986369 2986380 + Identifier 2986381 2986392 + CaseClause 2986393 2986435 + PropertyAccessExpression 2986411 2986434 + Identifier 2986411 2986422 + Identifier 2986423 2986434 + CaseClause 2986435 2986477 + PropertyAccessExpression 2986453 2986476 + Identifier 2986453 2986464 + Identifier 2986465 2986476 + CaseClause 2986477 2986527 + PropertyAccessExpression 2986495 2986526 + Identifier 2986495 2986506 + Identifier 2986507 2986526 + CaseClause 2986527 2986575 + PropertyAccessExpression 2986545 2986574 + Identifier 2986545 2986556 + Identifier 2986557 2986574 + CaseClause 2986575 2986623 + PropertyAccessExpression 2986593 2986622 + Identifier 2986593 2986604 + Identifier 2986605 2986622 + CaseClause 2986623 2986669 + PropertyAccessExpression 2986641 2986668 + Identifier 2986641 2986652 + Identifier 2986653 2986668 + CaseClause 2986669 2986714 + PropertyAccessExpression 2986687 2986713 + Identifier 2986687 2986698 + Identifier 2986699 2986713 + CaseClause 2986714 2986762 + PropertyAccessExpression 2986732 2986761 + Identifier 2986732 2986743 + Identifier 2986744 2986761 + CaseClause 2986762 2986810 + PropertyAccessExpression 2986780 2986809 + Identifier 2986780 2986791 + Identifier 2986792 2986809 + CaseClause 2986810 2986864 + PropertyAccessExpression 2986828 2986863 + Identifier 2986828 2986839 + Identifier 2986840 2986863 + CaseClause 2986864 2986912 + PropertyAccessExpression 2986882 2986911 + Identifier 2986882 2986893 + Identifier 2986894 2986911 + CaseClause 2986912 2986959 + PropertyAccessExpression 2986930 2986958 + Identifier 2986930 2986941 + Identifier 2986942 2986958 + CaseClause 2986959 2987008 + PropertyAccessExpression 2986977 2987007 + Identifier 2986977 2986988 + Identifier 2986989 2987007 + CaseClause 2987008 2987052 + PropertyAccessExpression 2987026 2987051 + Identifier 2987026 2987037 + Identifier 2987038 2987051 + CaseClause 2987052 2987092 + PropertyAccessExpression 2987070 2987091 + Identifier 2987070 2987081 + Identifier 2987082 2987091 + CaseClause 2987092 2987171 + PropertyAccessExpression 2987110 2987135 + Identifier 2987110 2987121 + Identifier 2987122 2987135 + ReturnStatement 2987136 2987171 + Identifier 2987160 2987170 + CaseClause 2987171 2987229 + PropertyAccessExpression 2987189 2987228 + Identifier 2987189 2987200 + Identifier 2987201 2987228 + CaseClause 2987229 2987278 + PropertyAccessExpression 2987247 2987277 + Identifier 2987247 2987258 + Identifier 2987259 2987277 + CaseClause 2987278 2987336 + PropertyAccessExpression 2987296 2987335 + Identifier 2987296 2987307 + Identifier 2987308 2987335 + CaseClause 2987336 2987393 + PropertyAccessExpression 2987354 2987392 + Identifier 2987354 2987365 + Identifier 2987366 2987392 + CaseClause 2987393 2987500 + PropertyAccessExpression 2987411 2987441 + Identifier 2987411 2987422 + Identifier 2987423 2987441 + ReturnStatement 2987442 2987500 + CallExpression 2987466 2987499 + Identifier 2987466 2987471 + PropertyAccessExpression 2987472 2987486 + Identifier 2987472 2987476 + Identifier 2987477 2987486 + Identifier 2987487 2987498 + DefaultClause 2987500 2988841 + IfStatement 2987522 2987694 + BinaryExpression 2987544 2987633 + BinaryExpression 2987544 2987587 + PropertyAccessExpression 2987544 2987560 + PropertyAccessExpression 2987544 2987555 + Identifier 2987544 2987548 + Identifier 2987549 2987555 + Identifier 2987556 2987560 + EqualsEqualsEqualsToken 2987560 2987564 + PropertyAccessExpression 2987564 2987587 + Identifier 2987564 2987575 + Identifier 2987576 2987587 + BarBarToken 2987587 2987590 + BinaryExpression 2987590 2987633 + PropertyAccessExpression 2987590 2987607 + PropertyAccessExpression 2987590 2987602 + Identifier 2987590 2987595 + Identifier 2987596 2987602 + Identifier 2987603 2987607 + EqualsEqualsEqualsToken 2987607 2987611 + PropertyAccessExpression 2987611 2987633 + Identifier 2987611 2987622 + Identifier 2987623 2987633 + Block 2987634 2987694 + ReturnStatement 2987636 2987675 + Identifier 2987664 2987674 + SwitchStatement 2987694 2988841 + PropertyAccessExpression 2987720 2987729 + Identifier 2987720 2987724 + Identifier 2987725 2987729 + CaseBlock 2987730 2988841 + CaseClause 2987732 2987878 + PropertyAccessExpression 2987758 2987789 + Identifier 2987758 2987769 + Identifier 2987770 2987789 + ReturnStatement 2987790 2987878 + CallExpression 2987822 2987877 + Identifier 2987822 2987846 + Identifier 2987847 2987851 + PropertyAccessExpression 2987852 2987876 + Identifier 2987852 2987863 + Identifier 2987864 2987876 + CaseClause 2987878 2987933 + PropertyAccessExpression 2987904 2987932 + Identifier 2987904 2987915 + Identifier 2987916 2987932 + CaseClause 2987933 2988078 + PropertyAccessExpression 2987959 2987986 + Identifier 2987959 2987970 + Identifier 2987971 2987986 + ReturnStatement 2987987 2988078 + CallExpression 2988019 2988077 + Identifier 2988019 2988043 + Identifier 2988044 2988048 + PropertyAccessExpression 2988049 2988076 + Identifier 2988049 2988060 + Identifier 2988061 2988076 + CaseClause 2988078 2988132 + PropertyAccessExpression 2988104 2988131 + Identifier 2988104 2988115 + Identifier 2988116 2988131 + CaseClause 2988132 2988191 + PropertyAccessExpression 2988158 2988190 + Identifier 2988158 2988169 + Identifier 2988170 2988190 + CaseClause 2988191 2988316 + PropertyAccessExpression 2988217 2988249 + Identifier 2988217 2988228 + Identifier 2988229 2988249 + ReturnStatement 2988250 2988316 + CallExpression 2988282 2988315 + Identifier 2988282 2988287 + PropertyAccessExpression 2988288 2988302 + Identifier 2988288 2988292 + Identifier 2988293 2988302 + Identifier 2988303 2988314 + CaseClause 2988316 2988600 + PropertyAccessExpression 2988342 2988371 + Identifier 2988342 2988353 + Identifier 2988354 2988371 + ReturnStatement 2988372 2988600 + ConditionalExpression 2988404 2988599 + BinaryExpression 2988404 2988449 + PropertyAccessExpression 2988404 2988431 + PropertyAccessExpression 2988404 2988425 + Identifier 2988404 2988409 + Identifier 2988410 2988425 + Identifier 2988426 2988431 + AmpersandToken 2988431 2988433 + PropertyAccessExpression 2988433 2988449 + Identifier 2988433 2988443 + Identifier 2988444 2988449 + QuestionToken 2988449 2988451 + CallExpression 2988451 2988535 + Identifier 2988451 2988504 + Identifier 2988505 2988509 + PropertyAccessExpression 2988510 2988534 + Identifier 2988510 2988521 + Identifier 2988522 2988534 + ColonToken 2988535 2988537 + CallExpression 2988537 2988599 + Identifier 2988537 2988571 + PropertyAccessExpression 2988572 2988586 + Identifier 2988572 2988576 + Identifier 2988577 2988586 + Identifier 2988587 2988598 + CaseClause 2988600 2988742 + PropertyAccessExpression 2988626 2988653 + Identifier 2988626 2988637 + Identifier 2988638 2988653 + ReturnStatement 2988654 2988742 + CallExpression 2988686 2988741 + Identifier 2988686 2988710 + Identifier 2988711 2988715 + PropertyAccessExpression 2988716 2988740 + Identifier 2988716 2988727 + Identifier 2988728 2988740 + DefaultClause 2988742 2988822 + ExpressionStatement 2988772 2988822 + CallExpression 2988772 2988821 + PropertyAccessExpression 2988772 2988815 + Identifier 2988772 2988803 + Identifier 2988804 2988815 + Identifier 2988816 2988820 + FunctionDeclaration 2988859 2989163 + Identifier 2988875 2988904 + Parameter 2988905 2988984 + Identifier 2988905 2988909 + UnionType 2988910 2988984 + TypeReference 2988910 2988923 + Identifier 2988910 2988923 + TypeReference 2988925 2988939 + Identifier 2988925 2988939 + TypeReference 2988941 2988961 + Identifier 2988941 2988961 + TypeReference 2988963 2988984 + Identifier 2988963 2988984 + Block 2988985 2989163 + VariableStatement 2988987 2989047 + VariableDeclarationList 2988987 2989046 + VariableDeclaration 2989002 2989046 + Identifier 2989002 2989012 + CallExpression 2989014 2989046 + Identifier 2989014 2989040 + Identifier 2989041 2989045 + ReturnStatement 2989047 2989156 + BinaryExpression 2989063 2989155 + Identifier 2989063 2989073 + AmpersandAmpersandToken 2989073 2989076 + CallExpression 2989076 2989155 + Identifier 2989076 2989101 + Identifier 2989102 2989111 + PropertyAccessExpression 2989112 2989154 + Identifier 2989112 2989124 + Identifier 2989125 2989154 + FunctionDeclaration 2989163 2989414 + Identifier 2989179 2989205 + Parameter 2989206 2989285 + Identifier 2989206 2989210 + UnionType 2989211 2989285 + TypeReference 2989211 2989224 + Identifier 2989211 2989224 + TypeReference 2989226 2989240 + Identifier 2989226 2989240 + TypeReference 2989242 2989262 + Identifier 2989242 2989262 + TypeReference 2989264 2989285 + Identifier 2989264 2989285 + UnionType 2989287 2989309 + TypeReference 2989287 2989297 + Identifier 2989287 2989297 + UndefinedKeyword 2989299 2989309 + Block 2989309 2989414 + ReturnStatement 2989311 2989407 + ConditionalExpression 2989327 2989406 + CallExpression 2989327 2989358 + Identifier 2989327 2989352 + Identifier 2989353 2989357 + QuestionToken 2989358 2989360 + CallExpression 2989360 2989394 + Identifier 2989360 2989365 + PropertyAccessExpression 2989366 2989380 + Identifier 2989366 2989370 + Identifier 2989371 2989380 + Identifier 2989381 2989393 + ColonToken 2989394 2989396 + Identifier 2989396 2989406 + FunctionDeclaration 2989414 2989877 + Identifier 2989430 2989456 + Parameter 2989457 2989467 + Identifier 2989457 2989461 + TypeReference 2989462 2989467 + Identifier 2989462 2989467 + Parameter 2989468 2989488 + Identifier 2989468 2989482 + TypeReference 2989483 2989488 + Identifier 2989483 2989488 + BooleanKeyword 2989490 2989498 + Block 2989498 2989877 + SwitchStatement 2989500 2989763 + PropertyAccessExpression 2989518 2989527 + Identifier 2989518 2989522 + Identifier 2989523 2989527 + CaseBlock 2989528 2989763 + CaseClause 2989530 2989578 + PropertyAccessExpression 2989548 2989577 + Identifier 2989548 2989559 + Identifier 2989560 2989577 + CaseClause 2989578 2989628 + PropertyAccessExpression 2989596 2989627 + Identifier 2989596 2989607 + Identifier 2989608 2989627 + CaseClause 2989628 2989677 + PropertyAccessExpression 2989646 2989676 + Identifier 2989646 2989657 + Identifier 2989658 2989676 + CaseClause 2989677 2989752 + PropertyAccessExpression 2989695 2989720 + Identifier 2989695 2989706 + Identifier 2989707 2989720 + ReturnStatement 2989721 2989752 + FalseKeyword 2989745 2989751 + ReturnStatement 2989763 2989870 + CallExpression 2989781 2989869 + Identifier 2989781 2989800 + Identifier 2989801 2989814 + PropertyAccessExpression 2989815 2989859 + Identifier 2989815 2989827 + Identifier 2989828 2989859 + StringLiteral 2989860 2989868 + FunctionDeclaration 2989877 2990201 + Identifier 2989893 2989932 + Parameter 2989933 2989966 + Identifier 2989933 2989937 + UnionType 2989938 2989966 + TypeReference 2989938 2989954 + Identifier 2989938 2989948 + TypeReference 2989949 2989953 + Identifier 2989949 2989953 + UndefinedKeyword 2989956 2989966 + Parameter 2989967 2990013 + Identifier 2989967 2989972 + PropertyAccessExpression 2989974 2990013 + Identifier 2989974 2989986 + Identifier 2989987 2990013 + BooleanKeyword 2990015 2990023 + Block 2990023 2990201 + IfStatement 2990025 2990171 + BinaryExpression 2990039 2990068 + Identifier 2990039 2990043 + AmpersandAmpersandToken 2990043 2990046 + PropertyAccessExpression 2990046 2990068 + Identifier 2990046 2990051 + Identifier 2990052 2990068 + Block 2990069 2990171 + ReturnStatement 2990071 2990160 + CallExpression 2990091 2990159 + Identifier 2990091 2990109 + ElementAccessExpression 2990110 2990117 + Identifier 2990110 2990114 + NumericLiteral 2990115 2990116 + BinaryExpression 2990118 2990140 + PropertyAccessExpression 2990118 2990127 + Identifier 2990118 2990123 + Identifier 2990124 2990127 + MinusToken 2990127 2990129 + PropertyAccessExpression 2990129 2990140 + StringLiteral 2990129 2990133 + Identifier 2990134 2990140 + PropertyAccessExpression 2990141 2990152 + StringLiteral 2990141 2990145 + Identifier 2990146 2990152 + Identifier 2990153 2990158 + ReturnStatement 2990171 2990194 + FalseKeyword 2990187 2990193 + FunctionDeclaration 2990201 2990699 + Identifier 2990217 2990247 + Parameter 2990248 2990311 + Identifier 2990248 2990262 + UnionType 2990263 2990311 + TypeReference 2990263 2990299 + Identifier 2990263 2990273 + TypeReference 2990274 2990298 + Identifier 2990274 2990298 + UndefinedKeyword 2990301 2990311 + Parameter 2990312 2990329 + Identifier 2990312 2990317 + TypeReference 2990318 2990329 + Identifier 2990318 2990329 + BooleanKeyword 2990331 2990339 + Block 2990339 2990699 + IfStatement 2990341 2990669 + BinaryExpression 2990355 2990400 + Identifier 2990355 2990369 + AmpersandAmpersandToken 2990369 2990372 + BinaryExpression 2990372 2990400 + PropertyAccessExpression 2990372 2990394 + Identifier 2990372 2990387 + Identifier 2990388 2990394 + EqualsEqualsEqualsToken 2990394 2990398 + NumericLiteral 2990398 2990400 + Block 2990401 2990669 + VariableStatement 2990403 2990463 + VariableDeclarationList 2990403 2990462 + VariableDeclaration 2990422 2990462 + Identifier 2990422 2990428 + BinaryExpression 2990430 2990462 + PropertyAccessExpression 2990430 2990449 + Identifier 2990430 2990445 + Identifier 2990446 2990449 + MinusToken 2990449 2990451 + PropertyAccessExpression 2990451 2990462 + StringLiteral 2990451 2990455 + Identifier 2990456 2990462 + VariableStatement 2990463 2990544 + VariableDeclarationList 2990463 2990543 + VariableDeclaration 2990482 2990543 + Identifier 2990482 2990486 + BinaryExpression 2990488 2990543 + CallExpression 2990488 2990530 + Identifier 2990488 2990499 + PropertyAccessExpression 2990500 2990509 + Identifier 2990500 2990504 + Identifier 2990505 2990509 + PropertyAccessExpression 2990510 2990529 + Identifier 2990510 2990525 + Identifier 2990526 2990529 + PlusToken 2990530 2990532 + PropertyAccessExpression 2990532 2990543 + StringLiteral 2990532 2990536 + Identifier 2990537 2990543 + ReturnStatement 2990544 2990658 + CallExpression 2990564 2990657 + Identifier 2990564 2990582 + Identifier 2990583 2990587 + Identifier 2990588 2990594 + BinaryExpression 2990595 2990607 + Identifier 2990595 2990599 + MinusToken 2990599 2990601 + Identifier 2990601 2990607 + PropertyAccessExpression 2990608 2990656 + Identifier 2990608 2990620 + Identifier 2990621 2990656 + ReturnStatement 2990669 2990692 + FalseKeyword 2990685 2990691 + FunctionDeclaration 2990699 2992501 + Identifier 2990715 2990741 + Parameter 2990742 2990785 + Identifier 2990742 2990752 + TypeReference 2990753 2990785 + Identifier 2990753 2990763 + TypeReference 2990764 2990784 + Identifier 2990764 2990784 + Block 2990786 2992501 + VariableStatement 2990788 2990832 + VariableDeclarationList 2990788 2990831 + VariableDeclaration 2990801 2990831 + Identifier 2990801 2990823 + FalseKeyword 2990825 2990831 + VariableStatement 2990832 2990883 + VariableDeclarationList 2990832 2990882 + VariableDeclaration 2990847 2990882 + Identifier 2990847 2990862 + PropertyAccessExpression 2990864 2990882 + Identifier 2990864 2990875 + Identifier 2990876 2990882 + ForStatement 2990883 2992494 + VariableDeclarationList 2990900 2990909 + VariableDeclaration 2990903 2990909 + Identifier 2990903 2990905 + NumericLiteral 2990907 2990909 + BinaryExpression 2990910 2990929 + Identifier 2990910 2990912 + LessThanToken 2990912 2990914 + Identifier 2990914 2990929 + PostfixUnaryExpression 2990930 2990934 + Identifier 2990930 2990932 + Block 2990935 2992494 + VariableStatement 2990937 2990983 + VariableDeclarationList 2990937 2990982 + VariableDeclaration 2990956 2990982 + Identifier 2990956 2990966 + ElementAccessExpression 2990968 2990982 + Identifier 2990968 2990979 + Identifier 2990980 2990981 + IfStatement 2990983 2992483 + PropertyAccessExpression 2991001 2991025 + Identifier 2991001 2991010 + Identifier 2991011 2991025 + Block 2991026 2991920 + IfStatement 2991028 2991235 + BinaryExpression 2991050 2991076 + Identifier 2991050 2991051 + ExclamationEqualsEqualsToken 2991051 2991055 + ParenthesizedExpression 2991055 2991076 + BinaryExpression 2991057 2991075 + Identifier 2991057 2991071 + MinusToken 2991071 2991073 + NumericLiteral 2991073 2991075 + Block 2991077 2991235 + ReturnStatement 2991079 2991216 + CallExpression 2991107 2991215 + Identifier 2991107 2991126 + PropertyAccessExpression 2991127 2991151 + Identifier 2991127 2991136 + Identifier 2991137 2991151 + PropertyAccessExpression 2991152 2991214 + Identifier 2991152 2991164 + Identifier 2991165 2991214 + IfStatement 2991235 2991526 + PrefixUnaryExpression 2991257 2991295 + ParenthesizedExpression 2991258 2991295 + BinaryExpression 2991259 2991294 + PropertyAccessExpression 2991259 2991274 + Identifier 2991259 2991268 + Identifier 2991269 2991274 + AmpersandToken 2991274 2991276 + PropertyAccessExpression 2991276 2991294 + Identifier 2991276 2991286 + Identifier 2991287 2991294 + Block 2991296 2991526 + ExpressionStatement 2991298 2991507 + CallExpression 2991298 2991506 + Identifier 2991298 2991415 + Identifier 2991416 2991426 + PropertyAccessExpression 2991427 2991505 + Identifier 2991427 2991439 + Identifier 2991440 2991505 + IfStatement 2991526 2991717 + PropertyAccessExpression 2991550 2991573 + Identifier 2991550 2991559 + Identifier 2991560 2991573 + Block 2991574 2991717 + ReturnStatement 2991576 2991698 + CallExpression 2991604 2991697 + Identifier 2991604 2991623 + PropertyAccessExpression 2991624 2991647 + Identifier 2991624 2991633 + Identifier 2991634 2991647 + PropertyAccessExpression 2991648 2991696 + Identifier 2991648 2991660 + Identifier 2991661 2991696 + IfStatement 2991717 2991905 + PropertyAccessExpression 2991741 2991762 + Identifier 2991741 2991750 + Identifier 2991751 2991762 + Block 2991763 2991905 + ReturnStatement 2991765 2991886 + CallExpression 2991793 2991885 + Identifier 2991793 2991812 + PropertyAccessExpression 2991813 2991827 + Identifier 2991813 2991822 + Identifier 2991823 2991827 + PropertyAccessExpression 2991828 2991884 + Identifier 2991828 2991840 + Identifier 2991841 2991884 + IfStatement 2991938 2992483 + CallExpression 2991943 2991979 + Identifier 2991943 2991968 + Identifier 2991969 2991978 + Block 2991980 2992265 + ExpressionStatement 2991982 2992029 + BinaryExpression 2991982 2992028 + Identifier 2991982 2992021 + EqualsToken 2992021 2992023 + TrueKeyword 2992023 2992028 + IfStatement 2992029 2992250 + BinaryExpression 2992051 2992099 + PropertyAccessExpression 2992051 2992074 + Identifier 2992051 2992060 + Identifier 2992061 2992074 + AmpersandAmpersandToken 2992074 2992077 + PropertyAccessExpression 2992077 2992099 + Identifier 2992077 2992087 + Identifier 2992088 2992099 + Block 2992100 2992250 + ReturnStatement 2992102 2992231 + CallExpression 2992130 2992230 + Identifier 2992130 2992149 + PropertyAccessExpression 2992150 2992164 + Identifier 2992150 2992159 + Identifier 2992160 2992164 + PropertyAccessExpression 2992165 2992229 + Identifier 2992165 2992177 + Identifier 2992178 2992229 + IfStatement 2992283 2992483 + BinaryExpression 2992288 2992335 + Identifier 2992288 2992309 + AmpersandAmpersandToken 2992309 2992312 + PrefixUnaryExpression 2992312 2992335 + PropertyAccessExpression 2992314 2992335 + Identifier 2992314 2992323 + Identifier 2992324 2992335 + Block 2992336 2992483 + ReturnStatement 2992338 2992468 + CallExpression 2992362 2992467 + Identifier 2992362 2992381 + PropertyAccessExpression 2992382 2992396 + Identifier 2992382 2992391 + Identifier 2992392 2992396 + PropertyAccessExpression 2992397 2992466 + Identifier 2992397 2992409 + Identifier 2992410 2992466 + FunctionDeclaration 2992501 2992767 + Identifier 2992517 2992540 + Parameter 2992541 2992584 + Identifier 2992541 2992551 + TypeOperator 2992552 2992584 + ArrayType 2992561 2992584 + TypeReference 2992561 2992582 + Identifier 2992561 2992582 + TypeOperator 2992586 2992618 + ArrayType 2992595 2992618 + TypeReference 2992595 2992616 + Identifier 2992595 2992616 + Block 2992618 2992767 + ReturnStatement 2992620 2992760 + CallExpression 2992636 2992759 + Identifier 2992636 2992643 + Identifier 2992644 2992654 + ArrowFunction 2992655 2992758 + Parameter 2992655 2992665 + Identifier 2992655 2992665 + EqualsGreaterThanToken 2992665 2992668 + BinaryExpression 2992668 2992758 + BinaryExpression 2992668 2992728 + PrefixUnaryExpression 2992668 2992692 + PrefixUnaryExpression 2992670 2992692 + PropertyAccessExpression 2992671 2992692 + Identifier 2992671 2992680 + Identifier 2992681 2992692 + BarBarToken 2992692 2992695 + CallExpression 2992695 2992728 + Identifier 2992695 2992712 + PropertyAccessExpression 2992713 2992727 + Identifier 2992713 2992722 + Identifier 2992723 2992727 + BarBarToken 2992728 2992731 + CallExpression 2992731 2992758 + Identifier 2992731 2992747 + Identifier 2992748 2992757 + FunctionDeclaration 2992767 2994237 + Identifier 2992783 2992827 + Parameter 2992828 2992857 + Identifier 2992828 2992832 + TypeReference 2992833 2992857 + Identifier 2992833 2992857 + BooleanKeyword 2992859 2992867 + Block 2992867 2994237 + IfStatement 2992869 2994207 + BinaryExpression 2992883 2992921 + Identifier 2992883 2992898 + GreaterThanEqualsToken 2992898 2992901 + PropertyAccessExpression 2992901 2992921 + Identifier 2992901 2992914 + Identifier 2992915 2992921 + Block 2992922 2994207 + VariableStatement 2992924 2993044 + VariableDeclarationList 2992924 2993043 + VariableDeclaration 2992943 2993043 + Identifier 2992943 2992962 + BinaryExpression 2992964 2993043 + BinaryExpression 2992964 2992996 + PropertyAccessExpression 2992964 2992974 + Identifier 2992964 2992969 + Identifier 2992970 2992974 + AmpersandAmpersandToken 2992974 2992977 + CallExpression 2992977 2992996 + Identifier 2992977 2992985 + PropertyAccessExpression 2992986 2992995 + Identifier 2992986 2992990 + Identifier 2992991 2992995 + AmpersandAmpersandToken 2992996 2992999 + CallExpression 2992999 2993043 + Identifier 2992999 2993021 + PropertyAccessExpression 2993022 2993042 + PropertyAccessExpression 2993022 2993031 + Identifier 2993022 2993026 + Identifier 2993027 2993031 + Identifier 2993032 2993042 + IfStatement 2993044 2994196 + Identifier 2993062 2993080 + Block 2993081 2994196 + VariableStatement 2993083 2993169 + VariableDeclarationList 2993083 2993168 + VariableDeclaration 2993106 2993168 + Identifier 2993106 2993126 + CallExpression 2993128 2993168 + Identifier 2993128 2993151 + PropertyAccessExpression 2993152 2993167 + Identifier 2993152 2993156 + Identifier 2993157 2993167 + IfStatement 2993169 2994181 + CallExpression 2993191 2993218 + Identifier 2993191 2993197 + Identifier 2993198 2993217 + Block 2993219 2994181 + ExpressionStatement 2993221 2993614 + CallExpression 2993221 2993613 + Identifier 2993221 2993250 + Identifier 2993251 2993270 + ArrowFunction 2993271 2993612 + Parameter 2993271 2993281 + Identifier 2993271 2993281 + EqualsGreaterThanToken 2993281 2993284 + Block 2993284 2993612 + ExpressionStatement 2993286 2993589 + CallExpression 2993286 2993588 + Identifier 2993286 2993326 + CallExpression 2993327 2993442 + Identifier 2993327 2993362 + Identifier 2993363 2993372 + PropertyAccessExpression 2993373 2993441 + Identifier 2993373 2993385 + Identifier 2993386 2993441 + CallExpression 2993443 2993560 + Identifier 2993443 2993496 + Identifier 2993497 2993515 + PropertyAccessExpression 2993516 2993559 + Identifier 2993516 2993528 + Identifier 2993529 2993559 + VariableStatement 2993614 2993968 + VariableDeclarationList 2993614 2993967 + VariableDeclaration 2993643 2993967 + Identifier 2993643 2993655 + AsExpression 2993657 2993967 + CallExpression 2993657 2993910 + PropertyAccessExpression 2993657 2993681 + Identifier 2993657 2993677 + Identifier 2993678 2993681 + ArrowFunction 2993682 2993909 + Parameter 2993683 2993692 + Identifier 2993683 2993692 + Parameter 2993693 2993699 + Identifier 2993693 2993699 + EqualsGreaterThanToken 2993700 2993703 + ParenthesizedExpression 2993703 2993909 + ConditionalExpression 2993705 2993886 + BinaryExpression 2993705 2993742 + Identifier 2993705 2993736 + EqualsEqualsEqualsToken 2993736 2993740 + NumericLiteral 2993740 2993742 + QuestionToken 2993742 2993744 + CallExpression 2993744 2993827 + Identifier 2993744 2993768 + Identifier 2993769 2993778 + PropertyAccessExpression 2993779 2993826 + Identifier 2993779 2993791 + Identifier 2993792 2993826 + ColonToken 2993827 2993829 + CallExpression 2993829 2993886 + Identifier 2993829 2993853 + Identifier 2993854 2993863 + PropertyAccessExpression 2993864 2993885 + Identifier 2993864 2993876 + Identifier 2993877 2993885 + TupleType 2993913 2993967 + TypeReference 2993915 2993937 + Identifier 2993915 2993937 + RestType 2993938 2993966 + ArrayType 2993942 2993966 + TypeReference 2993942 2993964 + Identifier 2993942 2993964 + ExpressionStatement 2993968 2994128 + CallExpression 2993968 2994127 + Identifier 2993968 2994004 + CallExpression 2994005 2994110 + Identifier 2994005 2994010 + Identifier 2994011 2994029 + PropertyAccessExpression 2994030 2994109 + Identifier 2994030 2994042 + Identifier 2994043 2994109 + SpreadElement 2994111 2994126 + Identifier 2994115 2994126 + ReturnStatement 2994128 2994162 + TrueKeyword 2994156 2994161 + ReturnStatement 2994207 2994230 + FalseKeyword 2994223 2994229 + FunctionDeclaration 2994237 2994792 + Identifier 2994253 2994289 + Parameter 2994290 2994337 + Identifier 2994290 2994294 + UnionType 2994295 2994337 + TypeReference 2994295 2994319 + Identifier 2994295 2994319 + TypeReference 2994321 2994337 + Identifier 2994321 2994337 + BooleanKeyword 2994339 2994347 + Block 2994347 2994792 + VariableStatement 2994349 2994451 + VariableDeclarationList 2994349 2994450 + VariableDeclaration 2994417 2994450 + Identifier 2994417 2994422 + CallExpression 2994424 2994450 + Identifier 2994424 2994444 + Identifier 2994445 2994449 + ReturnStatement 2994451 2994785 + BinaryExpression 2994467 2994784 + BinaryExpression 2994467 2994681 + BinaryExpression 2994467 2994627 + BinaryExpression 2994467 2994568 + CallExpression 2994467 2994495 + Identifier 2994467 2994489 + Identifier 2994490 2994494 + BarBarToken 2994495 2994498 + CallExpression 2994498 2994568 + Identifier 2994498 2994541 + PropertyAccessExpression 2994542 2994561 + Identifier 2994542 2994546 + Identifier 2994547 2994561 + Identifier 2994562 2994567 + BarBarToken 2994568 2994571 + CallExpression 2994571 2994627 + Identifier 2994571 2994610 + PropertyAccessExpression 2994611 2994626 + Identifier 2994611 2994615 + Identifier 2994616 2994626 + BarBarToken 2994627 2994630 + CallExpression 2994630 2994681 + Identifier 2994630 2994669 + Identifier 2994670 2994674 + Identifier 2994675 2994680 + BarBarToken 2994681 2994684 + ParenthesizedExpression 2994684 2994784 + BinaryExpression 2994699 2994783 + CallExpression 2994699 2994730 + Identifier 2994699 2994724 + Identifier 2994725 2994729 + AmpersandAmpersandToken 2994730 2994733 + CallExpression 2994733 2994783 + Identifier 2994733 2994777 + Identifier 2994778 2994782 + FunctionDeclaration 2994792 2995076 + Identifier 2994808 2994841 + Parameter 2994842 2994868 + Identifier 2994842 2994846 + TypeReference 2994847 2994868 + Identifier 2994847 2994868 + BooleanKeyword 2994870 2994878 + Block 2994878 2995076 + VariableStatement 2994880 2994929 + VariableDeclarationList 2994880 2994928 + VariableDeclaration 2994895 2994928 + Identifier 2994895 2994900 + CallExpression 2994902 2994928 + Identifier 2994902 2994922 + Identifier 2994923 2994927 + ReturnStatement 2994929 2995069 + BinaryExpression 2994945 2995068 + CallExpression 2994945 2994995 + Identifier 2994945 2994989 + Identifier 2994990 2994994 + BarBarToken 2994995 2994998 + CallExpression 2994998 2995068 + Identifier 2994998 2995041 + PropertyAccessExpression 2995042 2995061 + Identifier 2995042 2995046 + Identifier 2995047 2995061 + Identifier 2995062 2995067 + FunctionDeclaration 2995076 2996084 + Identifier 2995092 2995118 + Parameter 2995119 2995129 + Identifier 2995119 2995123 + TypeReference 2995124 2995129 + Identifier 2995124 2995129 + Parameter 2995130 2995147 + Identifier 2995130 2995135 + TypeReference 2995136 2995147 + Identifier 2995136 2995147 + BooleanKeyword 2995149 2995157 + Block 2995157 2996084 + IfStatement 2995159 2995236 + PrefixUnaryExpression 2995173 2995195 + CallExpression 2995174 2995195 + Identifier 2995174 2995189 + Identifier 2995190 2995194 + Block 2995196 2995236 + ReturnStatement 2995198 2995225 + FalseKeyword 2995218 2995224 + IfStatement 2995236 2995692 + BinaryExpression 2995252 2995386 + PropertyAccessExpression 2995252 2995271 + Identifier 2995252 2995256 + Identifier 2995257 2995271 + AmpersandAmpersandToken 2995271 2995274 + PrefixUnaryExpression 2995274 2995386 + ParenthesizedExpression 2995276 2995386 + BinaryExpression 2995277 2995385 + BinaryExpression 2995277 2995348 + BinaryExpression 2995277 2995308 + CallExpression 2995277 2995304 + Identifier 2995277 2995283 + PropertyAccessExpression 2995284 2995303 + Identifier 2995284 2995288 + Identifier 2995289 2995303 + GreaterThanToken 2995304 2995306 + NumericLiteral 2995306 2995308 + BarBarToken 2995308 2995311 + PropertyAccessExpression 2995311 2995348 + PropertyAccessExpression 2995311 2995331 + Identifier 2995311 2995316 + Identifier 2995317 2995331 + Identifier 2995332 2995348 + BarBarToken 2995348 2995351 + PropertyAccessExpression 2995351 2995385 + ElementAccessExpression 2995351 2995374 + PropertyAccessExpression 2995351 2995371 + Identifier 2995351 2995356 + Identifier 2995357 2995371 + NumericLiteral 2995372 2995373 + Identifier 2995375 2995385 + Block 2995387 2995692 + IfStatement 2995389 2995681 + BinaryExpression 2995407 2995482 + Identifier 2995407 2995411 + AmpersandAmpersandToken 2995411 2995414 + CallExpression 2995414 2995482 + Identifier 2995414 2995435 + PropertyAccessExpression 2995436 2995449 + Identifier 2995436 2995440 + Identifier 2995441 2995449 + ArrayLiteralExpression 2995450 2995481 + PropertyAccessExpression 2995452 2995465 + Identifier 2995452 2995461 + Identifier 2995462 2995465 + PropertyAccessExpression 2995466 2995480 + Identifier 2995466 2995476 + Identifier 2995477 2995480 + Block 2995483 2995681 + ExpressionStatement 2995485 2995666 + CallExpression 2995485 2995665 + Identifier 2995485 2995521 + ElementAccessExpression 2995522 2995544 + PropertyAccessExpression 2995522 2995541 + Identifier 2995522 2995526 + Identifier 2995527 2995541 + NumericLiteral 2995542 2995543 + PropertyAccessExpression 2995545 2995664 + Identifier 2995545 2995557 + Identifier 2995558 2995664 + VariableStatement 2995692 2995744 + VariableDeclarationList 2995692 2995743 + VariableDeclaration 2995709 2995743 + ObjectBindingPattern 2995709 2995736 + BindingElement 2995711 2995734 + Identifier 2995711 2995734 + Identifier 2995738 2995743 + VariableStatement 2995744 2995841 + VariableDeclarationList 2995744 2995840 + VariableDeclaration 2995759 2995840 + Identifier 2995759 2995769 + PropertyAccessExpression 2995771 2995840 + CallExpression 2995771 2995835 + Identifier 2995771 2995801 + Identifier 2995802 2995806 + PropertyAccessExpression 2995807 2995834 + Identifier 2995807 2995830 + Identifier 2995831 2995834 + Identifier 2995836 2995840 + VariableStatement 2995841 2995936 + VariableDeclarationList 2995841 2995935 + VariableDeclaration 2995856 2995935 + Identifier 2995856 2995864 + PropertyAccessExpression 2995866 2995935 + CallExpression 2995866 2995930 + Identifier 2995866 2995896 + Identifier 2995897 2995901 + PropertyAccessExpression 2995902 2995929 + Identifier 2995902 2995925 + Identifier 2995926 2995929 + Identifier 2995931 2995935 + ReturnStatement 2995936 2996077 + BinaryExpression 2995952 2996076 + BinaryExpression 2995952 2995974 + Identifier 2995952 2995962 + ExclamationEqualsEqualsToken 2995962 2995966 + Identifier 2995966 2995974 + AmpersandAmpersandToken 2995974 2995977 + CallExpression 2995977 2996076 + Identifier 2995977 2995996 + Identifier 2995997 2996019 + PropertyAccessExpression 2996020 2996075 + Identifier 2996020 2996032 + Identifier 2996033 2996075 + FunctionDeclaration 2996084 2998398 + Identifier 2996100 2996137 + Parameter 2996138 2996164 + Identifier 2996138 2996142 + TypeReference 2996143 2996164 + Identifier 2996143 2996164 + BooleanKeyword 2996166 2996174 + Block 2996174 2998398 + VariableStatement 2996176 2996223 + VariableDeclarationList 2996176 2996222 + VariableDeclaration 2996191 2996222 + Identifier 2996191 2996201 + ElementAccessExpression 2996203 2996222 + PropertyAccessExpression 2996203 2996219 + Identifier 2996203 2996208 + Identifier 2996209 2996219 + NumericLiteral 2996220 2996221 + IfStatement 2996223 2996597 + BinaryExpression 2996237 2996265 + PropertyAccessExpression 2996237 2996259 + PropertyAccessExpression 2996237 2996252 + Identifier 2996237 2996241 + Identifier 2996242 2996252 + Identifier 2996253 2996259 + ExclamationEqualsEqualsToken 2996259 2996263 + NumericLiteral 2996263 2996265 + Block 2996266 2996597 + IfStatement 2996268 2996586 + Identifier 2996286 2996295 + Block 2996296 2996437 + ReturnStatement 2996298 2996422 + CallExpression 2996322 2996421 + Identifier 2996322 2996341 + PropertyAccessExpression 2996342 2996356 + Identifier 2996342 2996351 + Identifier 2996352 2996356 + PropertyAccessExpression 2996357 2996420 + Identifier 2996357 2996369 + Identifier 2996370 2996420 + Block 2996455 2996586 + ReturnStatement 2996457 2996571 + CallExpression 2996481 2996570 + Identifier 2996481 2996500 + Identifier 2996501 2996505 + PropertyAccessExpression 2996506 2996569 + Identifier 2996506 2996518 + Identifier 2996519 2996569 + ExpressionStatement 2996597 2996724 + CallExpression 2996597 2996723 + Identifier 2996597 2996645 + PropertyAccessExpression 2996646 2996661 + Identifier 2996646 2996650 + Identifier 2996651 2996661 + PropertyAccessExpression 2996662 2996722 + Identifier 2996662 2996674 + Identifier 2996675 2996722 + IfStatement 2996724 2996903 + PropertyAccessExpression 2996738 2996762 + Identifier 2996738 2996747 + Identifier 2996748 2996762 + Block 2996763 2996903 + ReturnStatement 2996765 2996892 + CallExpression 2996785 2996891 + Identifier 2996785 2996804 + PropertyAccessExpression 2996805 2996829 + Identifier 2996805 2996814 + Identifier 2996815 2996829 + PropertyAccessExpression 2996830 2996890 + Identifier 2996830 2996842 + Identifier 2996843 2996890 + IfStatement 2996903 2997099 + CallExpression 2996917 2996949 + Identifier 2996917 2996938 + Identifier 2996939 2996948 + Block 2996950 2997099 + ReturnStatement 2996952 2997088 + CallExpression 2996972 2997087 + Identifier 2996972 2996991 + PropertyAccessExpression 2996992 2997006 + Identifier 2996992 2997001 + Identifier 2997002 2997006 + PropertyAccessExpression 2997007 2997086 + Identifier 2997007 2997019 + Identifier 2997020 2997086 + IfStatement 2997099 2997285 + PropertyAccessExpression 2997113 2997136 + Identifier 2997113 2997122 + Identifier 2997123 2997136 + Block 2997137 2997285 + ReturnStatement 2997139 2997274 + CallExpression 2997159 2997273 + Identifier 2997159 2997178 + PropertyAccessExpression 2997179 2997202 + Identifier 2997179 2997188 + Identifier 2997189 2997202 + PropertyAccessExpression 2997203 2997272 + Identifier 2997203 2997215 + Identifier 2997216 2997272 + IfStatement 2997285 2997459 + PropertyAccessExpression 2997299 2997320 + Identifier 2997299 2997308 + Identifier 2997309 2997320 + Block 2997321 2997459 + ReturnStatement 2997323 2997448 + CallExpression 2997343 2997447 + Identifier 2997343 2997362 + PropertyAccessExpression 2997363 2997377 + Identifier 2997363 2997372 + Identifier 2997373 2997377 + PropertyAccessExpression 2997378 2997446 + Identifier 2997378 2997390 + Identifier 2997391 2997446 + IfStatement 2997459 2997628 + PrefixUnaryExpression 2997473 2997488 + PropertyAccessExpression 2997474 2997488 + Identifier 2997474 2997483 + Identifier 2997484 2997488 + Block 2997489 2997628 + ReturnStatement 2997491 2997617 + CallExpression 2997511 2997616 + Identifier 2997511 2997530 + PropertyAccessExpression 2997531 2997545 + Identifier 2997531 2997540 + Identifier 2997541 2997545 + PropertyAccessExpression 2997546 2997615 + Identifier 2997546 2997558 + Identifier 2997559 2997615 + VariableStatement 2997628 2997687 + VariableDeclarationList 2997628 2997686 + VariableDeclaration 2997643 2997686 + Identifier 2997643 2997648 + CallExpression 2997650 2997686 + Identifier 2997650 2997670 + PropertyAccessExpression 2997671 2997685 + Identifier 2997671 2997680 + Identifier 2997681 2997685 + IfStatement 2997687 2998000 + BinaryExpression 2997701 2997798 + CallExpression 2997701 2997775 + Identifier 2997701 2997709 + Identifier 2997710 2997714 + ArrowFunction 2997715 2997774 + Parameter 2997715 2997717 + Identifier 2997715 2997717 + EqualsGreaterThanToken 2997717 2997720 + PrefixUnaryExpression 2997720 2997774 + PrefixUnaryExpression 2997722 2997774 + ParenthesizedExpression 2997723 2997774 + BinaryExpression 2997724 2997773 + PropertyAccessExpression 2997724 2997731 + Identifier 2997724 2997725 + Identifier 2997726 2997731 + AmpersandToken 2997731 2997733 + PropertyAccessExpression 2997733 2997773 + Identifier 2997733 2997743 + Identifier 2997744 2997773 + BarBarToken 2997775 2997778 + CallExpression 2997778 2997798 + Identifier 2997778 2997792 + Identifier 2997793 2997797 + Block 2997799 2998000 + ReturnStatement 2997801 2997989 + CallExpression 2997821 2997988 + Identifier 2997821 2997840 + PropertyAccessExpression 2997841 2997855 + Identifier 2997841 2997850 + Identifier 2997851 2997855 + PropertyAccessExpression 2997856 2997987 + Identifier 2997856 2997868 + Identifier 2997869 2997987 + IfStatement 2998000 2998224 + PrefixUnaryExpression 2998014 2998051 + CallExpression 2998015 2998051 + Identifier 2998015 2998024 + Identifier 2998025 2998029 + Identifier 2998030 2998050 + Block 2998052 2998224 + ReturnStatement 2998054 2998213 + CallExpression 2998074 2998212 + Identifier 2998074 2998093 + PropertyAccessExpression 2998094 2998108 + Identifier 2998094 2998103 + Identifier 2998104 2998108 + PropertyAccessExpression 2998109 2998211 + Identifier 2998109 2998121 + Identifier 2998122 2998211 + IfStatement 2998224 2998368 + PrefixUnaryExpression 2998238 2998248 + PropertyAccessExpression 2998239 2998248 + Identifier 2998239 2998243 + Identifier 2998244 2998248 + Block 2998249 2998368 + ReturnStatement 2998251 2998357 + CallExpression 2998271 2998356 + Identifier 2998271 2998290 + Identifier 2998291 2998295 + PropertyAccessExpression 2998296 2998355 + Identifier 2998296 2998308 + Identifier 2998309 2998355 + ReturnStatement 2998368 2998391 + FalseKeyword 2998384 2998390 + FunctionDeclaration 2998398 2998627 + Identifier 2998414 2998441 + Parameter 2998442 2998473 + Identifier 2998442 2998446 + TypeReference 2998447 2998473 + Identifier 2998447 2998473 + Block 2998474 2998627 + ReturnStatement 2998476 2998620 + BinaryExpression 2998545 2998619 + CallExpression 2998545 2998573 + Identifier 2998545 2998567 + Identifier 2998568 2998572 + BarBarToken 2998573 2998576 + CallExpression 2998576 2998619 + Identifier 2998576 2998613 + Identifier 2998614 2998618 + FunctionDeclaration 2998627 2999176 + Identifier 2998643 2998681 + Parameter 2998682 2998692 + Identifier 2998682 2998686 + TypeReference 2998687 2998692 + Identifier 2998687 2998692 + Parameter 2998693 2998740 + Identifier 2998693 2998707 + UnionType 2998708 2998740 + TypeReference 2998708 2998728 + Identifier 2998708 2998718 + TypeReference 2998719 2998727 + Identifier 2998719 2998727 + UndefinedKeyword 2998730 2998740 + BooleanKeyword 2998742 2998750 + Block 2998750 2999176 + IfStatement 2998752 2999146 + BinaryExpression 2998766 2998809 + Identifier 2998766 2998779 + AmpersandAmpersandToken 2998779 2998782 + BinaryExpression 2998782 2998809 + PropertyAccessExpression 2998782 2998803 + Identifier 2998782 2998796 + Identifier 2998797 2998803 + EqualsEqualsEqualsToken 2998803 2998807 + NumericLiteral 2998807 2998809 + Block 2998810 2999146 + VariableStatement 2998812 2998871 + VariableDeclarationList 2998812 2998870 + VariableDeclaration 2998831 2998870 + Identifier 2998831 2998842 + CallExpression 2998844 2998870 + Identifier 2998844 2998864 + Identifier 2998865 2998869 + VariableStatement 2998871 2998930 + VariableDeclarationList 2998871 2998929 + VariableDeclaration 2998890 2998929 + Identifier 2998890 2998896 + BinaryExpression 2998898 2998929 + PropertyAccessExpression 2998898 2998916 + Identifier 2998898 2998912 + Identifier 2998913 2998916 + MinusToken 2998916 2998918 + PropertyAccessExpression 2998918 2998929 + StringLiteral 2998918 2998922 + Identifier 2998923 2998929 + VariableStatement 2998930 2999016 + VariableDeclarationList 2998930 2999015 + VariableDeclaration 2998949 2999015 + Identifier 2998949 2998953 + BinaryExpression 2998955 2999015 + CallExpression 2998955 2999002 + Identifier 2998955 2998966 + PropertyAccessExpression 2998967 2998982 + Identifier 2998967 2998977 + Identifier 2998978 2998982 + PropertyAccessExpression 2998983 2999001 + Identifier 2998983 2998997 + Identifier 2998998 2999001 + PlusToken 2999002 2999004 + PropertyAccessExpression 2999004 2999015 + StringLiteral 2999004 2999008 + Identifier 2999009 2999015 + ReturnStatement 2999016 2999135 + CallExpression 2999036 2999134 + Identifier 2999036 2999054 + Identifier 2999055 2999065 + Identifier 2999066 2999072 + BinaryExpression 2999073 2999085 + Identifier 2999073 2999077 + MinusToken 2999077 2999079 + Identifier 2999079 2999085 + PropertyAccessExpression 2999086 2999133 + Identifier 2999086 2999098 + Identifier 2999099 2999133 + ReturnStatement 2999146 2999169 + FalseKeyword 2999162 2999168 + FunctionDeclaration 2999176 2999442 + Identifier 2999192 2999218 + Parameter 2999219 2999229 + Identifier 2999219 2999223 + TypeReference 2999224 2999229 + Identifier 2999224 2999229 + Parameter 2999230 2999277 + Identifier 2999230 2999244 + UnionType 2999245 2999277 + TypeReference 2999245 2999265 + Identifier 2999245 2999255 + TypeReference 2999256 2999264 + Identifier 2999256 2999264 + UndefinedKeyword 2999267 2999277 + BooleanKeyword 2999279 2999287 + Block 2999287 2999442 + ReturnStatement 2999289 2999435 + BinaryExpression 2999305 2999434 + CallExpression 2999305 2999359 + Identifier 2999305 2999344 + Identifier 2999345 2999358 + BarBarToken 2999359 2999362 + CallExpression 2999362 2999434 + Identifier 2999362 2999413 + Identifier 2999414 2999418 + Identifier 2999419 2999433 + FunctionDeclaration 2999442 2999787 + Identifier 2999458 2999490 + Parameter 2999491 2999521 + Identifier 2999491 2999495 + TypeReference 2999496 2999521 + Identifier 2999496 2999521 + BooleanKeyword 2999523 2999531 + Block 2999531 2999787 + IfStatement 2999533 2999757 + BinaryExpression 2999547 2999608 + PropertyAccessExpression 2999547 2999568 + Identifier 2999547 2999551 + Identifier 2999552 2999568 + BarBarToken 2999568 2999571 + BinaryExpression 2999571 2999608 + PropertyAccessExpression 2999571 2999582 + Identifier 2999571 2999576 + Identifier 2999577 2999582 + AmpersandToken 2999582 2999584 + PropertyAccessExpression 2999584 2999608 + Identifier 2999584 2999594 + Identifier 2999595 2999608 + Block 2999609 2999757 + ReturnStatement 2999611 2999746 + CallExpression 2999631 2999745 + Identifier 2999631 2999650 + PropertyAccessExpression 2999651 2999664 + Identifier 2999651 2999655 + Identifier 2999656 2999664 + PropertyAccessExpression 2999665 2999744 + Identifier 2999665 2999677 + Identifier 2999678 2999744 + ReturnStatement 2999757 2999780 + FalseKeyword 2999773 2999779 + FunctionDeclaration 2999787 3000292 + Identifier 2999803 2999830 + Parameter 2999831 2999851 + Identifier 2999831 2999835 + TypeReference 2999836 2999851 + Identifier 2999836 2999851 + BooleanKeyword 2999853 2999861 + Block 2999861 3000292 + VariableStatement 2999863 2999898 + VariableDeclarationList 2999863 2999897 + VariableDeclaration 2999878 2999897 + Identifier 2999878 2999884 + PropertyAccessExpression 2999886 2999897 + Identifier 2999886 2999891 + Identifier 2999892 2999897 + IfStatement 2999898 2999997 + CallExpression 2999912 2999957 + Identifier 2999912 2999950 + Identifier 2999951 2999956 + Block 2999958 2999997 + ReturnStatement 2999960 2999986 + TrueKeyword 2999980 2999985 + IfStatement 2999997 3000215 + BinaryExpression 3000011 3000038 + Identifier 3000011 3000016 + AmpersandAmpersandToken 3000016 3000019 + BinaryExpression 3000019 3000038 + PropertyAccessExpression 3000019 3000032 + Identifier 3000019 3000025 + Identifier 3000026 3000032 + EqualsEqualsEqualsToken 3000032 3000036 + NumericLiteral 3000036 3000038 + Block 3000039 3000215 + VariableStatement 3000041 3000098 + VariableDeclarationList 3000041 3000097 + VariableDeclaration 3000060 3000097 + Identifier 3000060 3000069 + CallExpression 3000071 3000097 + Identifier 3000071 3000085 + PropertyAccessExpression 3000086 3000096 + Identifier 3000086 3000090 + Identifier 3000091 3000096 + ReturnStatement 3000098 3000204 + CallExpression 3000118 3000203 + Identifier 3000118 3000136 + Identifier 3000137 3000141 + PropertyAccessExpression 3000142 3000152 + Identifier 3000142 3000148 + Identifier 3000149 3000152 + NumericLiteral 3000153 3000155 + PropertyAccessExpression 3000156 3000192 + Identifier 3000156 3000168 + Identifier 3000169 3000192 + Identifier 3000193 3000202 + ReturnStatement 3000215 3000285 + CallExpression 3000231 3000284 + Identifier 3000231 3000236 + Identifier 3000237 3000242 + Identifier 3000243 3000283 + FunctionDeclaration 3000292 3000777 + Identifier 3000308 3000348 + Parameter 3000349 3000398 + Identifier 3000349 3000353 + UnionType 3000354 3000398 + TypeReference 3000354 3000382 + Identifier 3000354 3000382 + TypeReference 3000384 3000398 + Identifier 3000384 3000398 + Block 3000399 3000777 + IfStatement 3000401 3000701 + BinaryExpression 3000415 3000508 + BinaryExpression 3000415 3000486 + CallExpression 3000415 3000450 + Identifier 3000415 3000444 + Identifier 3000445 3000449 + AmpersandAmpersandToken 3000450 3000453 + CallExpression 3000453 3000486 + Identifier 3000453 3000469 + PropertyAccessExpression 3000470 3000485 + Identifier 3000470 3000474 + Identifier 3000475 3000485 + AmpersandAmpersandToken 3000486 3000489 + PropertyAccessExpression 3000489 3000508 + Identifier 3000489 3000494 + Identifier 3000495 3000508 + Block 3000509 3000701 + ReturnStatement 3000511 3000690 + CallExpression 3000531 3000689 + Identifier 3000531 3000550 + Identifier 3000551 3000555 + PropertyAccessExpression 3000556 3000688 + Identifier 3000556 3000568 + Identifier 3000569 3000688 + ReturnStatement 3000701 3000770 + CallExpression 3000717 3000769 + Identifier 3000717 3000743 + Identifier 3000744 3000748 + PropertyAccessExpression 3000749 3000768 + Identifier 3000749 3000754 + Identifier 3000755 3000768 + FunctionDeclaration 3000777 3002389 + Identifier 3000793 3000837 + Parameter 3000838 3000864 + Identifier 3000838 3000842 + TypeReference 3000843 3000864 + Identifier 3000843 3000864 + Block 3000865 3002389 + VariableStatement 3000867 3000907 + VariableDeclarationList 3000867 3000906 + VariableDeclaration 3000880 3000906 + Identifier 3000880 3000898 + FalseKeyword 3000900 3000906 + VariableStatement 3000907 3000950 + VariableDeclarationList 3000907 3000949 + VariableDeclaration 3000920 3000949 + Identifier 3000920 3000941 + FalseKeyword 3000943 3000949 + IfStatement 3000950 3002382 + BinaryExpression 3000966 3001018 + PrefixUnaryExpression 3000966 3000994 + CallExpression 3000967 3000994 + Identifier 3000967 3000988 + Identifier 3000989 3000993 + AmpersandAmpersandToken 3000994 3000997 + PropertyAccessExpression 3000997 3001018 + Identifier 3000997 3001002 + Identifier 3001003 3001018 + Block 3001019 3002382 + ForOfStatement 3001021 3002371 + VariableDeclarationList 3001040 3001060 + VariableDeclaration 3001045 3001060 + Identifier 3001045 3001060 + PropertyAccessExpression 3001063 3001084 + Identifier 3001063 3001068 + Identifier 3001069 3001084 + Block 3001085 3002371 + IfStatement 3001087 3002216 + BinaryExpression 3001109 3001159 + PropertyAccessExpression 3001109 3001129 + Identifier 3001109 3001123 + Identifier 3001124 3001129 + EqualsEqualsEqualsToken 3001129 3001133 + PropertyAccessExpression 3001133 3001159 + Identifier 3001133 3001144 + Identifier 3001145 3001159 + Block 3001160 3001841 + IfStatement 3001162 3001346 + Identifier 3001188 3001205 + Block 3001206 3001346 + ReturnStatement 3001208 3001323 + CallExpression 3001240 3001322 + Identifier 3001240 3001265 + Identifier 3001266 3001280 + PropertyAccessExpression 3001281 3001321 + Identifier 3001281 3001293 + Identifier 3001294 3001321 + IfStatement 3001346 3001553 + Identifier 3001374 3001394 + Block 3001395 3001553 + ReturnStatement 3001397 3001530 + CallExpression 3001429 3001529 + Identifier 3001429 3001454 + Identifier 3001455 3001469 + PropertyAccessExpression 3001470 3001528 + Identifier 3001470 3001482 + Identifier 3001483 3001528 + IfStatement 3001553 3001773 + BinaryExpression 3001581 3001612 + PropertyAccessExpression 3001581 3001608 + PropertyAccessExpression 3001581 3001601 + Identifier 3001581 3001595 + Identifier 3001596 3001601 + Identifier 3001602 3001608 + GreaterThanToken 3001608 3001610 + NumericLiteral 3001610 3001612 + Block 3001613 3001773 + ReturnStatement 3001615 3001750 + CallExpression 3001647 3001749 + Identifier 3001647 3001672 + ElementAccessExpression 3001673 3001696 + PropertyAccessExpression 3001673 3001693 + Identifier 3001673 3001687 + Identifier 3001688 3001693 + NumericLiteral 3001694 3001695 + PropertyAccessExpression 3001697 3001748 + Identifier 3001697 3001709 + Identifier 3001710 3001748 + ExpressionStatement 3001773 3001822 + BinaryExpression 3001773 3001821 + Identifier 3001773 3001814 + EqualsToken 3001814 3001816 + TrueKeyword 3001816 3001821 + Block 3001863 3002216 + ExpressionStatement 3001865 3001955 + CallExpression 3001865 3001954 + PropertyAccessExpression 3001865 3001899 + Identifier 3001865 3001892 + Identifier 3001893 3001899 + BinaryExpression 3001900 3001953 + PropertyAccessExpression 3001900 3001920 + Identifier 3001900 3001914 + Identifier 3001915 3001920 + EqualsEqualsEqualsToken 3001920 3001924 + PropertyAccessExpression 3001924 3001953 + Identifier 3001924 3001935 + Identifier 3001936 3001953 + IfStatement 3001955 3002145 + Identifier 3001981 3002001 + Block 3002002 3002145 + ReturnStatement 3002004 3002122 + CallExpression 3002036 3002121 + Identifier 3002036 3002061 + Identifier 3002062 3002076 + PropertyAccessExpression 3002077 3002120 + Identifier 3002077 3002089 + Identifier 3002090 3002120 + ExpressionStatement 3002145 3002197 + BinaryExpression 3002145 3002196 + Identifier 3002145 3002189 + EqualsToken 3002189 3002191 + TrueKeyword 3002191 3002196 + ExpressionStatement 3002216 3002356 + CallExpression 3002216 3002355 + Identifier 3002216 3002339 + Identifier 3002340 3002354 + FunctionDeclaration 3002389 3003404 + Identifier 3002405 3002438 + Parameter 3002439 3002465 + Identifier 3002439 3002443 + TypeReference 3002444 3002465 + Identifier 3002444 3002465 + Block 3002466 3003404 + VariableStatement 3002468 3002508 + VariableDeclarationList 3002468 3002507 + VariableDeclaration 3002481 3002507 + Identifier 3002481 3002499 + FalseKeyword 3002501 3002507 + IfStatement 3002508 3003374 + PropertyAccessExpression 3002524 3002544 + Identifier 3002524 3002528 + Identifier 3002529 3002544 + Block 3002545 3003374 + ForOfStatement 3002547 3003363 + VariableDeclarationList 3002566 3002586 + VariableDeclaration 3002571 3002586 + Identifier 3002571 3002586 + PropertyAccessExpression 3002589 3002610 + Identifier 3002589 3002594 + Identifier 3002595 3002610 + Block 3002611 3003363 + IfStatement 3002613 3003208 + BinaryExpression 3002635 3002685 + PropertyAccessExpression 3002635 3002655 + Identifier 3002635 3002649 + Identifier 3002650 3002655 + EqualsEqualsEqualsToken 3002655 3002659 + PropertyAccessExpression 3002659 3002685 + Identifier 3002659 3002670 + Identifier 3002671 3002685 + Block 3002686 3002940 + IfStatement 3002688 3002872 + Identifier 3002714 3002731 + Block 3002732 3002872 + ReturnStatement 3002734 3002849 + CallExpression 3002766 3002848 + Identifier 3002766 3002791 + Identifier 3002792 3002806 + PropertyAccessExpression 3002807 3002847 + Identifier 3002807 3002819 + Identifier 3002820 3002847 + ExpressionStatement 3002872 3002921 + BinaryExpression 3002872 3002920 + Identifier 3002872 3002913 + EqualsToken 3002913 3002915 + TrueKeyword 3002915 3002920 + Block 3002962 3003208 + ExpressionStatement 3002964 3003054 + CallExpression 3002964 3003053 + PropertyAccessExpression 3002964 3002998 + Identifier 3002964 3002991 + Identifier 3002992 3002998 + BinaryExpression 3002999 3003052 + PropertyAccessExpression 3002999 3003019 + Identifier 3002999 3003013 + Identifier 3003014 3003019 + EqualsEqualsEqualsToken 3003019 3003023 + PropertyAccessExpression 3003023 3003052 + Identifier 3003023 3003034 + Identifier 3003035 3003052 + ReturnStatement 3003054 3003189 + CallExpression 3003082 3003188 + Identifier 3003082 3003107 + Identifier 3003108 3003122 + PropertyAccessExpression 3003123 3003187 + Identifier 3003123 3003135 + Identifier 3003136 3003187 + ExpressionStatement 3003208 3003348 + CallExpression 3003208 3003347 + Identifier 3003208 3003331 + Identifier 3003332 3003346 + ReturnStatement 3003374 3003397 + FalseKeyword 3003390 3003396 + FunctionDeclaration 3003404 3004104 + Identifier 3003420 3003453 + Parameter 3003454 3003464 + Identifier 3003454 3003458 + TypeReference 3003459 3003464 + Identifier 3003459 3003464 + BooleanKeyword 3003466 3003474 + Block 3003474 3004104 + IfStatement 3003476 3003658 + BinaryExpression 3003572 3003617 + PropertyAccessExpression 3003572 3003581 + Identifier 3003572 3003576 + Identifier 3003577 3003581 + ExclamationEqualsEqualsToken 3003581 3003585 + PropertyAccessExpression 3003585 3003617 + Identifier 3003585 3003596 + Identifier 3003597 3003617 + Block 3003618 3003658 + ReturnStatement 3003620 3003647 + FalseKeyword 3003640 3003646 + VariableStatement 3003658 3003728 + VariableDeclarationList 3003658 3003727 + VariableDeclaration 3003675 3003727 + Identifier 3003675 3003696 + AsExpression 3003698 3003727 + Identifier 3003698 3003703 + TypeReference 3003706 3003727 + Identifier 3003706 3003727 + IfStatement 3003728 3004074 + BinaryExpression 3003742 3003912 + BinaryExpression 3003742 3003810 + PropertyAccessExpression 3003742 3003778 + PropertyAccessExpression 3003742 3003773 + Identifier 3003742 3003762 + Identifier 3003763 3003773 + Identifier 3003774 3003778 + EqualsEqualsEqualsToken 3003778 3003782 + PropertyAccessExpression 3003782 3003810 + Identifier 3003782 3003793 + Identifier 3003794 3003810 + AmpersandAmpersandToken 3003810 3003813 + BinaryExpression 3003813 3003912 + PropertyAccessExpression 3003813 3003886 + PropertyAccessExpression 3003813 3003881 + ParenthesizedExpression 3003813 3003867 + AsExpression 3003815 3003866 + PropertyAccessExpression 3003815 3003846 + Identifier 3003815 3003835 + Identifier 3003836 3003846 + TypeReference 3003849 3003866 + Identifier 3003849 3003866 + Identifier 3003868 3003881 + Identifier 3003882 3003886 + EqualsEqualsEqualsToken 3003886 3003890 + PropertyAccessExpression 3003890 3003912 + Identifier 3003890 3003901 + Identifier 3003902 3003912 + Block 3003913 3004074 + ReturnStatement 3003915 3004063 + CallExpression 3003935 3004062 + Identifier 3003935 3003954 + PropertyAccessExpression 3003955 3003986 + Identifier 3003955 3003975 + Identifier 3003976 3003986 + PropertyAccessExpression 3003987 3004061 + Identifier 3003987 3003999 + Identifier 3004000 3004061 + ReturnStatement 3004074 3004097 + FalseKeyword 3004090 3004096 + FunctionDeclaration 3004104 3004843 + Identifier 3004120 3004145 + Parameter 3004146 3004175 + Identifier 3004146 3004150 + TypeReference 3004151 3004175 + Identifier 3004151 3004175 + Block 3004176 3004843 + IfStatement 3004178 3004836 + PropertyAccessExpression 3004192 3004210 + Identifier 3004192 3004196 + Identifier 3004197 3004210 + Block 3004211 3004836 + ExpressionStatement 3004213 3004454 + CallExpression 3004213 3004453 + PropertyAccessExpression 3004213 3004239 + Identifier 3004213 3004232 + Identifier 3004233 3004239 + BinaryExpression 3004240 3004437 + BinaryExpression 3004240 3004370 + BinaryExpression 3004240 3004302 + PropertyAccessExpression 3004240 3004267 + Identifier 3004240 3004262 + Identifier 3004263 3004267 + EqualsEqualsEqualsToken 3004267 3004271 + PropertyAccessExpression 3004271 3004302 + Identifier 3004271 3004282 + Identifier 3004283 3004302 + BarBarToken 3004302 3004305 + BinaryExpression 3004305 3004370 + PropertyAccessExpression 3004305 3004336 + Identifier 3004305 3004331 + Identifier 3004332 3004336 + EqualsEqualsEqualsToken 3004336 3004340 + PropertyAccessExpression 3004340 3004370 + Identifier 3004340 3004351 + Identifier 3004352 3004370 + BarBarToken 3004370 3004373 + BinaryExpression 3004373 3004437 + PropertyAccessExpression 3004373 3004404 + Identifier 3004373 3004399 + Identifier 3004400 3004404 + EqualsEqualsEqualsToken 3004404 3004408 + PropertyAccessExpression 3004408 3004437 + Identifier 3004408 3004419 + Identifier 3004420 3004437 + IfStatement 3004454 3004646 + BinaryExpression 3004472 3004502 + PropertyAccessExpression 3004472 3004482 + Identifier 3004472 3004476 + Identifier 3004477 3004482 + AmpersandToken 3004482 3004484 + PropertyAccessExpression 3004484 3004502 + Identifier 3004484 3004494 + Identifier 3004495 3004502 + Block 3004503 3004646 + ReturnStatement 3004505 3004631 + CallExpression 3004529 3004630 + Identifier 3004529 3004548 + PropertyAccessExpression 3004549 3004567 + Identifier 3004549 3004553 + Identifier 3004554 3004567 + PropertyAccessExpression 3004568 3004629 + Identifier 3004568 3004580 + Identifier 3004581 3004629 + IfStatement 3004646 3004825 + PrefixUnaryExpression 3004664 3004674 + PropertyAccessExpression 3004665 3004674 + Identifier 3004665 3004669 + Identifier 3004670 3004674 + Block 3004675 3004825 + ReturnStatement 3004677 3004810 + CallExpression 3004701 3004809 + Identifier 3004701 3004720 + PropertyAccessExpression 3004721 3004739 + Identifier 3004721 3004725 + Identifier 3004726 3004739 + PropertyAccessExpression 3004740 3004808 + Identifier 3004740 3004752 + Identifier 3004753 3004808 + FunctionDeclaration 3004843 3005061 + Identifier 3004859 3004894 + Parameter 3004895 3004935 + Identifier 3004895 3004908 + UnionType 3004909 3004935 + TypeReference 3004909 3004923 + Identifier 3004909 3004923 + UndefinedKeyword 3004925 3004935 + Parameter 3004936 3004963 + Identifier 3004936 3004944 + TypeReference 3004945 3004963 + Identifier 3004945 3004963 + BooleanKeyword 3004965 3004973 + Block 3004973 3005061 + ReturnStatement 3004975 3005054 + BinaryExpression 3004991 3005053 + PrefixUnaryExpression 3004991 3005007 + PrefixUnaryExpression 3004993 3005007 + Identifier 3004994 3005007 + AmpersandAmpersandToken 3005007 3005010 + CallExpression 3005010 3005053 + Identifier 3005010 3005029 + Identifier 3005030 3005043 + Identifier 3005044 3005052 + FunctionDeclaration 3005061 3005295 + Identifier 3005077 3005116 + Parameter 3005117 3005163 + Identifier 3005117 3005133 + UnionType 3005134 3005163 + TypeReference 3005134 3005151 + Identifier 3005134 3005151 + UndefinedKeyword 3005153 3005163 + Parameter 3005164 3005191 + Identifier 3005164 3005172 + TypeReference 3005173 3005191 + Identifier 3005173 3005191 + BooleanKeyword 3005193 3005201 + Block 3005201 3005295 + ReturnStatement 3005203 3005288 + BinaryExpression 3005219 3005287 + PrefixUnaryExpression 3005219 3005238 + PrefixUnaryExpression 3005221 3005238 + Identifier 3005222 3005238 + AmpersandAmpersandToken 3005238 3005241 + CallExpression 3005241 3005287 + Identifier 3005241 3005260 + Identifier 3005261 3005277 + Identifier 3005278 3005286 + FunctionDeclaration 3005295 3012251 + Identifier 3005311 3005347 + Parameter 3005348 3005377 + Identifier 3005348 3005352 + TypeReference 3005353 3005377 + Identifier 3005353 3005377 + Parameter 3005378 3005403 + Identifier 3005378 3005394 + BooleanKeyword 3005395 3005403 + Block 3005404 3012251 + VariableStatement 3005406 3005469 + VariableDeclarationList 3005406 3005468 + VariableDeclaration 3005421 3005468 + Identifier 3005421 3005426 + NewExpression 3005428 3005468 + Identifier 3005432 3005436 + TypeReference 3005437 3005445 + Identifier 3005437 3005445 + TypeReference 3005446 3005465 + Identifier 3005446 3005465 + ForOfStatement 3005469 3012244 + VariableDeclarationList 3005486 3005496 + VariableDeclaration 3005491 3005496 + Identifier 3005491 3005496 + PropertyAccessExpression 3005499 3005515 + Identifier 3005499 3005504 + Identifier 3005505 3005515 + Block 3005516 3012244 + IfStatement 3005518 3006089 + BinaryExpression 3005536 3005577 + PropertyAccessExpression 3005536 3005545 + Identifier 3005536 3005540 + Identifier 3005541 3005545 + EqualsEqualsEqualsToken 3005545 3005549 + PropertyAccessExpression 3005549 3005577 + Identifier 3005549 3005560 + Identifier 3005561 3005577 + Block 3005578 3006089 + IfStatement 3005580 3006047 + Identifier 3005602 3005617 + Block 3005618 3006047 + VariableStatement 3005620 3005769 + VariableDeclarationList 3005620 3005768 + VariableDeclaration 3005722 3005768 + Identifier 3005722 3005733 + CallExpression 3005735 3005768 + Identifier 3005735 3005751 + PropertyAccessExpression 3005752 3005767 + Identifier 3005752 3005756 + Identifier 3005757 3005767 + IfStatement 3005769 3006028 + BinaryExpression 3005795 3005872 + CallExpression 3005795 3005831 + Identifier 3005795 3005819 + Identifier 3005820 3005830 + BarBarToken 3005831 3005834 + CallExpression 3005834 3005872 + Identifier 3005834 3005860 + Identifier 3005861 3005871 + Block 3005873 3006028 + ReturnStatement 3005875 3006005 + CallExpression 3005907 3006004 + Identifier 3005907 3005926 + PropertyAccessExpression 3005927 3005942 + Identifier 3005927 3005931 + Identifier 3005932 3005942 + PropertyAccessExpression 3005943 3006003 + Identifier 3005943 3005955 + Identifier 3005956 3006003 + ContinueStatement 3006047 3006074 + VariableStatement 3006089 3006126 + VariableDeclarationList 3006089 3006125 + VariableDeclaration 3006108 3006125 + Identifier 3006108 3006113 + PropertyAccessExpression 3006115 3006125 + Identifier 3006115 3006120 + Identifier 3006121 3006125 + IfStatement 3006126 3006361 + BinaryExpression 3006144 3006189 + PropertyAccessExpression 3006144 3006153 + Identifier 3006144 3006148 + Identifier 3006149 3006153 + EqualsEqualsEqualsToken 3006153 3006157 + PropertyAccessExpression 3006157 3006189 + Identifier 3006157 3006168 + Identifier 3006169 3006189 + Block 3006190 3006361 + ExpressionStatement 3006192 3006346 + CallExpression 3006192 3006345 + Identifier 3006192 3006339 + Identifier 3006340 3006344 + IfStatement 3006361 3006871 + BinaryExpression 3006381 3006489 + BinaryExpression 3006381 3006453 + BinaryExpression 3006381 3006433 + PropertyAccessExpression 3006381 3006390 + Identifier 3006381 3006385 + Identifier 3006386 3006390 + EqualsEqualsEqualsToken 3006390 3006394 + PropertyAccessExpression 3006394 3006433 + Identifier 3006394 3006405 + Identifier 3006406 3006433 + AmpersandAmpersandToken 3006433 3006436 + PrefixUnaryExpression 3006436 3006453 + Identifier 3006438 3006453 + AmpersandAmpersandToken 3006453 3006456 + PropertyAccessExpression 3006456 3006489 + Identifier 3006456 3006461 + Identifier 3006462 3006489 + Block 3006490 3006871 + ExpressionStatement 3006492 3006856 + CallExpression 3006492 3006855 + Identifier 3006492 3006690 + NonNullExpression 3006691 3006708 + PropertyAccessExpression 3006691 3006707 + Identifier 3006691 3006695 + Identifier 3006696 3006707 + PropertyAccessExpression 3006709 3006854 + Identifier 3006709 3006721 + Identifier 3006722 3006854 + IfStatement 3006871 3007064 + BinaryExpression 3006891 3006933 + PropertyAccessExpression 3006891 3006900 + Identifier 3006891 3006895 + Identifier 3006896 3006900 + EqualsEqualsEqualsToken 3006900 3006904 + PropertyAccessExpression 3006904 3006933 + Identifier 3006904 3006915 + Identifier 3006916 3006933 + Block 3006934 3007064 + ExpressionStatement 3006936 3007049 + CallExpression 3006936 3007048 + Identifier 3006936 3006972 + Identifier 3006973 3006977 + PropertyAccessExpression 3006978 3007047 + Identifier 3006978 3006990 + Identifier 3006991 3007047 + IfStatement 3007064 3007927 + BinaryExpression 3007185 3007225 + CallExpression 3007185 3007207 + Identifier 3007185 3007201 + Identifier 3007202 3007206 + AmpersandAmpersandToken 3007207 3007210 + PropertyAccessExpression 3007210 3007225 + Identifier 3007210 3007215 + Identifier 3007216 3007225 + Block 3007226 3007585 + ForOfStatement 3007228 3007570 + VariableDeclarationList 3007251 3007260 + VariableDeclaration 3007256 3007260 + Identifier 3007256 3007260 + PropertyAccessExpression 3007263 3007278 + Identifier 3007263 3007268 + Identifier 3007269 3007278 + Block 3007279 3007570 + IfStatement 3007281 3007551 + BinaryExpression 3007307 3007410 + CallExpression 3007307 3007322 + Identifier 3007307 3007317 + Identifier 3007318 3007321 + AmpersandAmpersandToken 3007322 3007325 + ParenthesizedExpression 3007325 3007410 + BinaryExpression 3007327 3007409 + BinaryExpression 3007327 3007363 + PropertyAccessExpression 3007327 3007335 + Identifier 3007327 3007330 + Identifier 3007331 3007335 + ExclamationEqualsEqualsToken 3007335 3007339 + PropertyAccessExpression 3007339 3007363 + Identifier 3007339 3007350 + Identifier 3007351 3007363 + BarBarToken 3007363 3007366 + BinaryExpression 3007366 3007409 + PropertyAccessExpression 3007366 3007376 + Identifier 3007366 3007371 + Identifier 3007372 3007376 + ExclamationEqualsEqualsToken 3007376 3007380 + PropertyAccessExpression 3007380 3007409 + Identifier 3007380 3007391 + Identifier 3007392 3007409 + Block 3007411 3007551 + ExpressionStatement 3007413 3007528 + CallExpression 3007413 3007527 + Identifier 3007413 3007457 + Identifier 3007458 3007461 + PropertyAccessExpression 3007462 3007506 + Identifier 3007462 3007474 + Identifier 3007475 3007506 + CallExpression 3007507 3007526 + Identifier 3007507 3007521 + Identifier 3007522 3007525 + IfStatement 3007603 3007927 + BinaryExpression 3007608 3007655 + CallExpression 3007608 3007637 + Identifier 3007608 3007631 + Identifier 3007632 3007636 + AmpersandAmpersandToken 3007637 3007640 + PropertyAccessExpression 3007640 3007655 + Identifier 3007640 3007645 + Identifier 3007646 3007655 + Block 3007656 3007927 + ForOfStatement 3007658 3007912 + VariableDeclarationList 3007681 3007690 + VariableDeclaration 3007686 3007690 + Identifier 3007686 3007690 + PropertyAccessExpression 3007693 3007708 + Identifier 3007693 3007698 + Identifier 3007699 3007708 + Block 3007709 3007912 + IfStatement 3007711 3007893 + CallExpression 3007737 3007752 + Identifier 3007737 3007747 + Identifier 3007748 3007751 + Block 3007753 3007893 + ExpressionStatement 3007755 3007870 + CallExpression 3007755 3007869 + Identifier 3007755 3007799 + Identifier 3007800 3007803 + PropertyAccessExpression 3007804 3007848 + Identifier 3007804 3007816 + Identifier 3007817 3007848 + CallExpression 3007849 3007868 + Identifier 3007849 3007863 + Identifier 3007864 3007867 + VariableStatement 3007927 3008790 + VariableDeclarationList 3007927 3008789 + VariableDeclaration 3008757 3008789 + Identifier 3008757 3008769 + TypeReference 3008770 3008789 + Identifier 3008770 3008789 + SwitchStatement 3008790 3010396 + PropertyAccessExpression 3008812 3008821 + Identifier 3008812 3008816 + Identifier 3008817 3008821 + CaseBlock 3008822 3010396 + CaseClause 3008824 3008886 + PropertyAccessExpression 3008846 3008885 + Identifier 3008846 3008857 + Identifier 3008858 3008885 + CaseClause 3008886 3009836 + PropertyAccessExpression 3008908 3008938 + Identifier 3008908 3008919 + Identifier 3008920 3008938 + ExpressionStatement 3008939 3009199 + CallExpression 3008939 3009198 + Identifier 3008939 3009097 + PropertyAccessExpression 3009098 3009119 + Identifier 3009098 3009102 + Identifier 3009103 3009119 + PropertyAccessExpression 3009120 3009197 + Identifier 3009120 3009132 + Identifier 3009133 3009197 + ExpressionStatement 3009199 3009334 + CallExpression 3009199 3009333 + Identifier 3009199 3009255 + PropertyAccessExpression 3009256 3009274 + Identifier 3009256 3009260 + Identifier 3009261 3009274 + PropertyAccessExpression 3009275 3009332 + Identifier 3009275 3009287 + Identifier 3009288 3009332 + IfStatement 3009334 3009484 + BinaryExpression 3009360 3009399 + PropertyAccessExpression 3009360 3009369 + Identifier 3009360 3009364 + Identifier 3009365 3009369 + EqualsEqualsEqualsToken 3009369 3009373 + PropertyAccessExpression 3009373 3009399 + Identifier 3009373 3009384 + Identifier 3009385 3009399 + Block 3009400 3009484 + ExpressionStatement 3009402 3009461 + CallExpression 3009402 3009460 + Identifier 3009402 3009454 + Identifier 3009455 3009459 + IfStatement 3009484 3009734 + BinaryExpression 3009510 3009548 + PropertyAccessExpression 3009510 3009519 + Identifier 3009510 3009514 + Identifier 3009515 3009519 + EqualsEqualsEqualsToken 3009519 3009523 + PropertyAccessExpression 3009523 3009548 + Identifier 3009523 3009534 + Identifier 3009535 3009548 + Block 3009549 3009734 + ExpressionStatement 3009551 3009711 + CallExpression 3009551 3009710 + Identifier 3009551 3009597 + TrueKeyword 3009598 3009614 + CallExpression 3009615 3009709 + Identifier 3009615 3009639 + Identifier 3009640 3009644 + PropertyAccessExpression 3009645 3009708 + Identifier 3009645 3009657 + Identifier 3009658 3009708 + ExpressionStatement 3009734 3009808 + BinaryExpression 3009734 3009807 + Identifier 3009734 3009767 + EqualsToken 3009767 3009769 + PropertyAccessExpression 3009769 3009807 + Identifier 3009769 3009788 + Identifier 3009789 3009807 + BreakStatement 3009808 3009836 + CaseClause 3009836 3009978 + PropertyAccessExpression 3009858 3009887 + Identifier 3009858 3009869 + Identifier 3009870 3009887 + ExpressionStatement 3009888 3009950 + BinaryExpression 3009888 3009949 + Identifier 3009888 3009921 + EqualsToken 3009921 3009923 + PropertyAccessExpression 3009923 3009949 + Identifier 3009923 3009942 + Identifier 3009943 3009949 + BreakStatement 3009950 3009978 + CaseClause 3009978 3010119 + PropertyAccessExpression 3010000 3010023 + Identifier 3010000 3010011 + Identifier 3010012 3010023 + ExpressionStatement 3010024 3010091 + BinaryExpression 3010024 3010090 + Identifier 3010024 3010057 + EqualsToken 3010057 3010059 + PropertyAccessExpression 3010059 3010090 + Identifier 3010059 3010078 + Identifier 3010079 3010090 + BreakStatement 3010091 3010119 + CaseClause 3010119 3010260 + PropertyAccessExpression 3010141 3010164 + Identifier 3010141 3010152 + Identifier 3010153 3010164 + ExpressionStatement 3010165 3010232 + BinaryExpression 3010165 3010231 + Identifier 3010165 3010198 + EqualsToken 3010198 3010200 + PropertyAccessExpression 3010200 3010231 + Identifier 3010200 3010219 + Identifier 3010220 3010231 + BreakStatement 3010232 3010260 + DefaultClause 3010260 3010381 + ExpressionStatement 3010286 3010381 + CallExpression 3010286 3010380 + PropertyAccessExpression 3010286 3010325 + Identifier 3010286 3010313 + Identifier 3010314 3010325 + Identifier 3010326 3010330 + BinaryExpression 3010331 3010379 + StringLiteral 3010331 3010357 + PlusToken 3010357 3010359 + PropertyAccessExpression 3010359 3010379 + ParenthesizedExpression 3010359 3010374 + AsExpression 3010361 3010373 + Identifier 3010361 3010365 + TypeReference 3010368 3010373 + Identifier 3010368 3010373 + Identifier 3010375 3010379 + IfStatement 3010396 3012233 + PrefixUnaryExpression 3010416 3010432 + Identifier 3010417 3010432 + Block 3010433 3012233 + VariableStatement 3010435 3010525 + VariableDeclarationList 3010435 3010524 + VariableDeclaration 3010458 3010524 + Identifier 3010458 3010472 + CallExpression 3010474 3010524 + Identifier 3010474 3010518 + Identifier 3010519 3010523 + IfStatement 3010525 3010627 + BinaryExpression 3010547 3010574 + Identifier 3010547 3010560 + EqualsEqualsEqualsToken 3010560 3010564 + Identifier 3010564 3010574 + Block 3010575 3010627 + ContinueStatement 3010577 3010608 + VariableStatement 3010627 3010692 + VariableDeclarationList 3010627 3010691 + VariableDeclaration 3010652 3010691 + Identifier 3010652 3010665 + CallExpression 3010667 3010691 + PropertyAccessExpression 3010667 3010676 + Identifier 3010667 3010672 + Identifier 3010673 3010676 + Identifier 3010677 3010690 + IfStatement 3010692 3012218 + PrefixUnaryExpression 3010714 3010727 + Identifier 3010715 3010727 + Block 3010728 3010808 + ExpressionStatement 3010730 3010789 + CallExpression 3010730 3010788 + PropertyAccessExpression 3010730 3010760 + Identifier 3010730 3010756 + Identifier 3010757 3010760 + Identifier 3010761 3010774 + Identifier 3010775 3010787 + Block 3010830 3012218 + IfStatement 3010832 3012199 + BinaryExpression 3010858 3010945 + ParenthesizedExpression 3010858 3010899 + BinaryExpression 3010859 3010898 + Identifier 3010859 3010870 + AmpersandToken 3010870 3010872 + PropertyAccessExpression 3010872 3010898 + Identifier 3010872 3010891 + Identifier 3010892 3010898 + AmpersandAmpersandToken 3010899 3010902 + ParenthesizedExpression 3010902 3010945 + BinaryExpression 3010904 3010944 + Identifier 3010904 3010916 + AmpersandToken 3010916 3010918 + PropertyAccessExpression 3010918 3010944 + Identifier 3010918 3010937 + Identifier 3010938 3010944 + Block 3010946 3011079 + ExpressionStatement 3010948 3011056 + CallExpression 3010948 3011055 + Identifier 3010948 3010992 + Identifier 3010993 3010997 + PropertyAccessExpression 3010998 3011033 + Identifier 3010998 3011010 + Identifier 3011011 3011033 + CallExpression 3011034 3011054 + Identifier 3011034 3011048 + Identifier 3011049 3011053 + IfStatement 3011105 3012199 + BinaryExpression 3011110 3011221 + ParenthesizedExpression 3011110 3011163 + BinaryExpression 3011111 3011162 + Identifier 3011111 3011122 + AmpersandToken 3011122 3011124 + PropertyAccessExpression 3011124 3011162 + Identifier 3011124 3011143 + Identifier 3011144 3011162 + AmpersandAmpersandToken 3011163 3011166 + ParenthesizedExpression 3011166 3011221 + BinaryExpression 3011168 3011220 + Identifier 3011168 3011180 + AmpersandToken 3011180 3011182 + PropertyAccessExpression 3011182 3011220 + Identifier 3011182 3011201 + Identifier 3011202 3011220 + Block 3011222 3011401 + ExpressionStatement 3011224 3011378 + CallExpression 3011224 3011377 + Identifier 3011224 3011268 + Identifier 3011269 3011273 + PropertyAccessExpression 3011274 3011355 + Identifier 3011274 3011286 + Identifier 3011287 3011355 + CallExpression 3011356 3011376 + Identifier 3011356 3011370 + Identifier 3011371 3011375 + IfStatement 3011427 3012199 + BinaryExpression 3011432 3011539 + ParenthesizedExpression 3011432 3011483 + BinaryExpression 3011433 3011482 + Identifier 3011433 3011444 + AmpersandToken 3011444 3011446 + PropertyAccessExpression 3011446 3011482 + Identifier 3011446 3011465 + Identifier 3011466 3011482 + AmpersandAmpersandToken 3011483 3011486 + ParenthesizedExpression 3011486 3011539 + BinaryExpression 3011488 3011538 + Identifier 3011488 3011500 + AmpersandToken 3011500 3011502 + PropertyAccessExpression 3011502 3011538 + Identifier 3011502 3011521 + Identifier 3011522 3011538 + Block 3011540 3012006 + IfStatement 3011542 3011983 + BinaryExpression 3011572 3011656 + BinaryExpression 3011572 3011624 + Identifier 3011572 3011584 + ExclamationEqualsEqualsToken 3011584 3011588 + PropertyAccessExpression 3011588 3011624 + Identifier 3011588 3011607 + Identifier 3011608 3011624 + AmpersandAmpersandToken 3011624 3011627 + BinaryExpression 3011627 3011656 + Identifier 3011627 3011639 + ExclamationEqualsEqualsToken 3011639 3011643 + Identifier 3011643 3011656 + Block 3011657 3011768 + ExpressionStatement 3011659 3011741 + CallExpression 3011659 3011740 + PropertyAccessExpression 3011659 3011697 + Identifier 3011659 3011693 + Identifier 3011694 3011697 + Identifier 3011698 3011711 + BinaryExpression 3011712 3011739 + Identifier 3011712 3011724 + BarToken 3011724 3011726 + Identifier 3011726 3011739 + Block 3011798 3011983 + ReturnStatement 3011800 3011956 + CallExpression 3011836 3011955 + Identifier 3011836 3011855 + Identifier 3011856 3011860 + PropertyAccessExpression 3011861 3011954 + Identifier 3011861 3011873 + Identifier 3011874 3011954 + Block 3012032 3012199 + ReturnStatement 3012034 3012176 + CallExpression 3012066 3012175 + Identifier 3012066 3012085 + Identifier 3012086 3012090 + PropertyAccessExpression 3012091 3012174 + Identifier 3012091 3012103 + Identifier 3012104 3012174 + FunctionDeclaration 3012251 3013308 + Identifier 3012267 3012290 + Parameter 3012291 3012318 + Identifier 3012291 3012295 + TypeReference 3012296 3012318 + Identifier 3012296 3012318 + Block 3012319 3013308 + ExpressionStatement 3012321 3012365 + CallExpression 3012321 3012364 + Identifier 3012321 3012350 + PropertyAccessExpression 3012351 3012363 + Identifier 3012351 3012355 + Identifier 3012356 3012363 + ExpressionStatement 3012365 3012427 + CallExpression 3012365 3012426 + Identifier 3012365 3012400 + Identifier 3012401 3012405 + PropertyAccessExpression 3012406 3012425 + Identifier 3012406 3012411 + Identifier 3012412 3012425 + VariableStatement 3012427 3012479 + VariableDeclarationList 3012427 3012478 + VariableDeclaration 3012442 3012478 + Identifier 3012442 3012447 + NewExpression 3012449 3012478 + Identifier 3012453 3012457 + TypeReference 3012458 3012466 + Identifier 3012458 3012466 + BooleanKeyword 3012467 3012475 + ForOfStatement 3012479 3013301 + VariableDeclarationList 3012496 3012506 + VariableDeclaration 3012501 3012506 + Identifier 3012501 3012506 + PropertyAccessExpression 3012509 3012536 + PropertyAccessExpression 3012509 3012525 + Identifier 3012509 3012514 + Identifier 3012515 3012525 + Identifier 3012526 3012536 + Block 3012537 3013301 + IfStatement 3012539 3012645 + BinaryExpression 3012557 3012600 + PropertyAccessExpression 3012557 3012566 + Identifier 3012557 3012561 + Identifier 3012562 3012566 + EqualsEqualsEqualsToken 3012566 3012570 + PropertyAccessExpression 3012570 3012600 + Identifier 3012570 3012581 + Identifier 3012582 3012600 + Block 3012601 3012645 + ContinueStatement 3012603 3012630 + VariableStatement 3012645 3012696 + VariableDeclarationList 3012645 3012695 + VariableDeclaration 3012666 3012695 + ObjectBindingPattern 3012666 3012688 + BindingElement 3012668 3012673 + Identifier 3012668 3012673 + BindingElement 3012674 3012686 + Identifier 3012674 3012686 + Identifier 3012690 3012695 + VariableStatement 3012696 3012769 + VariableDeclarationList 3012696 3012768 + VariableDeclaration 3012715 3012768 + Identifier 3012715 3012727 + CallExpression 3012729 3012768 + Identifier 3012729 3012762 + Identifier 3012763 3012767 + IfStatement 3012769 3013035 + PrefixUnaryExpression 3012787 3012809 + CallExpression 3012788 3012809 + PropertyAccessExpression 3012788 3012796 + Identifier 3012788 3012792 + Identifier 3012793 3012796 + Identifier 3012797 3012808 + Block 3012810 3012873 + ExpressionStatement 3012812 3012858 + CallExpression 3012812 3012857 + PropertyAccessExpression 3012812 3012838 + Identifier 3012812 3012834 + Identifier 3012835 3012838 + Identifier 3012839 3012850 + TrueKeyword 3012851 3012856 + Block 3012891 3013035 + ReturnStatement 3012893 3013020 + CallExpression 3012917 3013019 + Identifier 3012917 3012936 + Identifier 3012937 3012941 + PropertyAccessExpression 3012942 3013018 + Identifier 3012942 3012954 + Identifier 3012955 3013018 + IfStatement 3013035 3013290 + BinaryExpression 3013055 3013142 + BinaryExpression 3013055 3013115 + Identifier 3013055 3013066 + AmpersandAmpersandToken 3013066 3013069 + BinaryExpression 3013069 3013115 + PropertyAccessExpression 3013069 3013086 + Identifier 3013069 3013081 + Identifier 3013082 3013086 + EqualsEqualsEqualsToken 3013086 3013090 + PropertyAccessExpression 3013090 3013115 + Identifier 3013090 3013101 + Identifier 3013102 3013115 + AmpersandAmpersandToken 3013115 3013118 + PrefixUnaryExpression 3013118 3013142 + PropertyAccessExpression 3013120 3013142 + Identifier 3013120 3013131 + Identifier 3013132 3013142 + Block 3013143 3013290 + ReturnStatement 3013145 3013275 + CallExpression 3013169 3013274 + Identifier 3013169 3013188 + Identifier 3013189 3013200 + PropertyAccessExpression 3013201 3013273 + Identifier 3013201 3013213 + Identifier 3013214 3013273 + FunctionDeclaration 3013308 3013876 + Identifier 3013324 3013344 + Parameter 3013345 3013371 + Identifier 3013345 3013349 + TypeReference 3013350 3013371 + Identifier 3013350 3013371 + Block 3013372 3013876 + IfStatement 3013374 3013611 + BinaryExpression 3013388 3013460 + CallExpression 3013388 3013420 + Identifier 3013388 3013414 + Identifier 3013415 3013419 + AmpersandAmpersandToken 3013420 3013423 + CallExpression 3013423 3013460 + Identifier 3013423 3013443 + PropertyAccessExpression 3013444 3013459 + Identifier 3013444 3013448 + Identifier 3013449 3013459 + Block 3013461 3013611 + ReturnStatement 3013463 3013600 + CallExpression 3013483 3013599 + Identifier 3013483 3013502 + PropertyAccessExpression 3013503 3013518 + Identifier 3013503 3013507 + Identifier 3013508 3013518 + PropertyAccessExpression 3013519 3013598 + Identifier 3013519 3013531 + Identifier 3013532 3013598 + IfStatement 3013611 3013869 + BinaryExpression 3013625 3013744 + BinaryExpression 3013625 3013693 + CallExpression 3013625 3013650 + Identifier 3013625 3013644 + Identifier 3013645 3013649 + AmpersandAmpersandToken 3013650 3013653 + CallExpression 3013653 3013693 + Identifier 3013653 3013676 + Identifier 3013677 3013692 + AmpersandAmpersandToken 3013693 3013696 + PrefixUnaryExpression 3013696 3013744 + CallExpression 3013698 3013744 + Identifier 3013698 3013716 + PropertyAccessExpression 3013717 3013743 + PropertyAccessExpression 3013717 3013731 + Identifier 3013717 3013721 + Identifier 3013722 3013731 + Identifier 3013732 3013743 + Block 3013745 3013869 + ReturnStatement 3013747 3013858 + CallExpression 3013767 3013857 + Identifier 3013767 3013786 + Identifier 3013787 3013791 + PropertyAccessExpression 3013792 3013856 + Identifier 3013792 3013804 + Identifier 3013805 3013856 + FunctionDeclaration 3013876 3014175 + Identifier 3013892 3013918 + Parameter 3013919 3013938 + Identifier 3013919 3013923 + TypeReference 3013924 3013938 + Identifier 3013924 3013938 + Block 3013939 3014175 + IfStatement 3013941 3014168 + BinaryExpression 3013955 3014006 + PropertyAccessExpression 3013955 3013970 + Identifier 3013955 3013959 + Identifier 3013960 3013970 + AmpersandAmpersandToken 3013970 3013973 + CallExpression 3013973 3014006 + Identifier 3013973 3013989 + PropertyAccessExpression 3013990 3014005 + Identifier 3013990 3013994 + Identifier 3013995 3014005 + Block 3014007 3014168 + ReturnStatement 3014009 3014157 + CallExpression 3014029 3014156 + Identifier 3014029 3014048 + PropertyAccessExpression 3014049 3014064 + Identifier 3014049 3014053 + Identifier 3014054 3014064 + PropertyAccessExpression 3014065 3014155 + Identifier 3014065 3014077 + Identifier 3014078 3014155 + FunctionDeclaration 3014175 3020841 + Identifier 3014191 3014225 + Parameter 3014226 3014264 + Identifier 3014226 3014244 + TypeReference 3014245 3014264 + Identifier 3014245 3014264 + BooleanKeyword 3014266 3014274 + Block 3014274 3020841 + IfStatement 3014276 3014387 + CallExpression 3014290 3014347 + Identifier 3014290 3014327 + Identifier 3014328 3014346 + Block 3014348 3014387 + ReturnStatement 3014350 3014376 + TrueKeyword 3014370 3014375 + IfStatement 3014387 3017907 + BinaryExpression 3014403 3014492 + BinaryExpression 3014403 3014456 + PropertyAccessExpression 3014403 3014426 + Identifier 3014403 3014421 + Identifier 3014422 3014426 + EqualsEqualsEqualsToken 3014426 3014430 + PropertyAccessExpression 3014430 3014456 + Identifier 3014430 3014441 + Identifier 3014442 3014456 + AmpersandAmpersandToken 3014456 3014459 + PropertyAccessExpression 3014459 3014492 + Identifier 3014459 3014478 + Identifier 3014479 3014492 + Block 3014493 3017907 + IfStatement 3014495 3017896 + PrefixUnaryExpression 3014513 3014565 + ParenthesizedExpression 3014514 3014565 + BinaryExpression 3014515 3014564 + PropertyAccessExpression 3014515 3014539 + Identifier 3014515 3014533 + Identifier 3014534 3014539 + AmpersandToken 3014539 3014541 + PropertyAccessExpression 3014541 3014564 + Identifier 3014541 3014551 + Identifier 3014552 3014564 + Block 3014566 3017896 + VariableStatement 3014568 3014645 + VariableDeclarationList 3014568 3014644 + VariableDeclaration 3014591 3014644 + Identifier 3014591 3014602 + CallExpression 3014604 3014644 + Identifier 3014604 3014624 + Identifier 3014625 3014643 + IfStatement 3014645 3017881 + CallExpression 3014667 3014706 + Identifier 3014667 3014686 + Identifier 3014687 3014705 + Block 3014707 3016843 + IfStatement 3014709 3016824 + PrefixUnaryExpression 3014735 3014767 + CallExpression 3014736 3014767 + Identifier 3014736 3014755 + Identifier 3014756 3014766 + Block 3014768 3016824 + IfStatement 3014770 3015189 + PrefixUnaryExpression 3014800 3014855 + CallExpression 3014801 3014855 + Identifier 3014801 3014826 + Identifier 3014827 3014837 + Identifier 3014838 3014854 + Block 3014856 3015189 + ExpressionStatement 3014858 3015162 + CallExpression 3014858 3015161 + PropertyAccessExpression 3014858 3014903 + Identifier 3014858 3014899 + Identifier 3014900 3014903 + CallExpression 3014904 3015160 + Identifier 3014904 3014927 + PropertyAccessExpression 3014928 3014960 + Identifier 3014928 3014946 + Identifier 3014947 3014960 + PropertyAccessExpression 3014961 3015159 + Identifier 3014961 3014973 + Identifier 3014974 3015159 + SwitchStatement 3015189 3016801 + Identifier 3015223 3015233 + CaseBlock 3015234 3016801 + CaseClause 3015236 3015289 + PropertyAccessExpression 3015270 3015288 + Identifier 3015270 3015281 + Identifier 3015282 3015288 + CaseClause 3015289 3015342 + PropertyAccessExpression 3015323 3015341 + Identifier 3015323 3015334 + Identifier 3015335 3015341 + CaseClause 3015342 3015852 + PropertyAccessExpression 3015376 3015396 + Identifier 3015376 3015387 + Identifier 3015388 3015396 + IfStatement 3015397 3015852 + BinaryExpression 3015435 3015487 + PropertyAccessExpression 3015435 3015463 + Identifier 3015435 3015445 + Identifier 3015446 3015463 + EqualsEqualsEqualsToken 3015463 3015467 + PropertyAccessExpression 3015467 3015487 + Identifier 3015467 3015478 + Identifier 3015479 3015487 + Block 3015488 3015852 + ExpressionStatement 3015490 3015773 + CallExpression 3015490 3015772 + PropertyAccessExpression 3015490 3015543 + Identifier 3015490 3015539 + Identifier 3015540 3015543 + CallExpression 3015544 3015732 + Identifier 3015544 3015609 + PropertyAccessExpression 3015610 3015642 + Identifier 3015610 3015628 + Identifier 3015629 3015642 + PropertyAccessExpression 3015643 3015731 + Identifier 3015643 3015655 + Identifier 3015656 3015731 + BreakStatement 3015773 3015817 + CaseClause 3015852 3015953 + PropertyAccessExpression 3015934 3015952 + Identifier 3015934 3015945 + Identifier 3015946 3015952 + CaseClause 3015953 3016006 + PropertyAccessExpression 3015987 3016005 + Identifier 3015987 3015998 + Identifier 3015999 3016005 + CaseClause 3016006 3016061 + PropertyAccessExpression 3016040 3016060 + Identifier 3016040 3016051 + Identifier 3016052 3016060 + CaseClause 3016061 3016272 + PropertyAccessExpression 3016095 3016113 + Identifier 3016095 3016106 + Identifier 3016107 3016113 + IfStatement 3016114 3016272 + BinaryExpression 3016152 3016190 + Identifier 3016152 3016167 + GreaterThanEqualsToken 3016167 3016170 + PropertyAccessExpression 3016170 3016190 + Identifier 3016170 3016183 + Identifier 3016184 3016190 + Block 3016191 3016272 + BreakStatement 3016193 3016237 + DefaultClause 3016272 3016774 + ExpressionStatement 3016358 3016734 + CallExpression 3016358 3016733 + PropertyAccessExpression 3016358 3016407 + Identifier 3016358 3016403 + Identifier 3016404 3016407 + CallExpression 3016408 3016697 + Identifier 3016408 3016469 + PropertyAccessExpression 3016470 3016502 + Identifier 3016470 3016488 + Identifier 3016489 3016502 + PropertyAccessExpression 3016503 3016696 + Identifier 3016503 3016515 + Identifier 3016516 3016696 + BreakStatement 3016734 3016774 + Block 3016865 3017881 + IfStatement 3016867 3017862 + PrefixUnaryExpression 3016961 3016993 + CallExpression 3016962 3016993 + Identifier 3016962 3016981 + Identifier 3016982 3016992 + Block 3016994 3017862 + VariableStatement 3016996 3017201 + VariableDeclarationList 3016996 3017200 + VariableDeclaration 3017027 3017200 + Identifier 3017027 3017038 + CallExpression 3017040 3017200 + Identifier 3017040 3017064 + PropertyAccessExpression 3017065 3017097 + Identifier 3017065 3017083 + Identifier 3017084 3017097 + PropertyAccessExpression 3017098 3017199 + Identifier 3017098 3017110 + Identifier 3017111 3017199 + VariableStatement 3017201 3017282 + VariableDeclarationList 3017201 3017281 + VariableDeclaration 3017232 3017281 + Identifier 3017232 3017237 + CallExpression 3017239 3017281 + Identifier 3017239 3017261 + Identifier 3017262 3017280 + IfStatement 3017282 3017747 + BinaryExpression 3017312 3017356 + Identifier 3017312 3017316 + AmpersandAmpersandToken 3017316 3017319 + BinaryExpression 3017319 3017356 + PropertyAccessExpression 3017319 3017329 + Identifier 3017319 3017324 + Identifier 3017325 3017329 + ExclamationEqualsEqualsToken 3017329 3017333 + PropertyAccessExpression 3017333 3017356 + Identifier 3017333 3017344 + Identifier 3017345 3017356 + Block 3017357 3017747 + ExpressionStatement 3017359 3017513 + CallExpression 3017359 3017512 + PropertyAccessExpression 3017359 3017401 + Identifier 3017359 3017394 + Identifier 3017395 3017401 + BinaryExpression 3017402 3017454 + ParenthesizedExpression 3017402 3017448 + BinaryExpression 3017403 3017447 + CallExpression 3017403 3017425 + Identifier 3017403 3017419 + Identifier 3017420 3017424 + AmpersandToken 3017425 3017427 + PropertyAccessExpression 3017427 3017447 + Identifier 3017427 3017441 + Identifier 3017442 3017447 + EqualsEqualsEqualsToken 3017448 3017452 + NumericLiteral 3017452 3017454 + StringLiteral 3017455 3017511 + VariableStatement 3017513 3017650 + VariableDeclarationList 3017513 3017649 + VariableDeclaration 3017548 3017649 + Identifier 3017548 3017560 + CallExpression 3017562 3017649 + Identifier 3017562 3017586 + Identifier 3017587 3017591 + PropertyAccessExpression 3017592 3017648 + Identifier 3017592 3017604 + Identifier 3017605 3017648 + ExpressionStatement 3017650 3017720 + CallExpression 3017650 3017719 + Identifier 3017650 3017694 + Identifier 3017695 3017705 + Identifier 3017706 3017718 + ExpressionStatement 3017747 3017801 + CallExpression 3017747 3017800 + PropertyAccessExpression 3017747 3017788 + Identifier 3017747 3017784 + Identifier 3017785 3017788 + Identifier 3017789 3017799 + ReturnStatement 3017801 3017839 + TrueKeyword 3017833 3017838 + IfStatement 3017907 3018335 + BinaryExpression 3017923 3018148 + BinaryExpression 3017923 3018090 + BinaryExpression 3017923 3018029 + CallExpression 3017923 3017973 + Identifier 3017923 3017953 + Identifier 3017954 3017972 + AmpersandAmpersandToken 3017973 3017976 + PrefixUnaryExpression 3017976 3018029 + ParenthesizedExpression 3017978 3018029 + BinaryExpression 3017979 3018028 + PropertyAccessExpression 3017979 3018003 + Identifier 3017979 3017997 + Identifier 3017998 3018003 + AmpersandToken 3018003 3018005 + PropertyAccessExpression 3018005 3018028 + Identifier 3018005 3018015 + Identifier 3018016 3018028 + AmpersandAmpersandToken 3018029 3018032 + CallExpression 3018032 3018090 + Identifier 3018032 3018058 + PropertyAccessExpression 3018059 3018089 + Identifier 3018059 3018077 + Identifier 3018078 3018089 + AmpersandAmpersandToken 3018090 3018093 + BinaryExpression 3018093 3018148 + PropertyAccessExpression 3018093 3018136 + PropertyAccessExpression 3018093 3018124 + Identifier 3018093 3018112 + Identifier 3018113 3018124 + Identifier 3018125 3018136 + EqualsEqualsEqualsToken 3018136 3018140 + StringLiteral 3018140 3018148 + Block 3018159 3018335 + ExpressionStatement 3018161 3018297 + CallExpression 3018161 3018296 + Identifier 3018161 3018193 + PropertyAccessExpression 3018194 3018224 + Identifier 3018194 3018212 + Identifier 3018213 3018224 + PropertyAccessExpression 3018225 3018295 + Identifier 3018225 3018237 + Identifier 3018238 3018295 + ReturnStatement 3018297 3018324 + FalseKeyword 3018317 3018323 + IfStatement 3018335 3020809 + BinaryExpression 3018351 3018425 + PropertyAccessExpression 3018351 3018386 + PropertyAccessExpression 3018351 3018381 + Identifier 3018351 3018369 + Identifier 3018370 3018381 + Identifier 3018382 3018386 + EqualsEqualsEqualsToken 3018386 3018390 + PropertyAccessExpression 3018390 3018425 + Identifier 3018390 3018401 + Identifier 3018402 3018425 + Block 3018426 3020809 + VariableStatement 3018428 3018521 + VariableDeclarationList 3018428 3018520 + VariableDeclaration 3018447 3018520 + Identifier 3018447 3018460 + AsExpression 3018462 3018520 + PropertyAccessExpression 3018462 3018493 + Identifier 3018462 3018481 + Identifier 3018482 3018493 + TypeReference 3018496 3018520 + Identifier 3018496 3018520 + IfStatement 3018521 3020798 + PrefixUnaryExpression 3018539 3018589 + CallExpression 3018540 3018589 + Identifier 3018540 3018575 + Identifier 3018576 3018588 + Block 3018590 3020798 + VariableStatement 3018592 3018657 + VariableDeclarationList 3018592 3018656 + VariableDeclaration 3018615 3018656 + Identifier 3018615 3018628 + PropertyAccessExpression 3018630 3018656 + Identifier 3018630 3018643 + Identifier 3018644 3018656 + IfStatement 3018657 3019316 + PrefixUnaryExpression 3019239 3019259 + PropertyAccessExpression 3019240 3019259 + Identifier 3019240 3019252 + Identifier 3019253 3019259 + Block 3019260 3019316 + ReturnStatement 3019262 3019297 + FalseKeyword 3019290 3019296 + IfStatement 3019316 3019790 + BinaryExpression 3019340 3019363 + PropertyAccessExpression 3019340 3019359 + Identifier 3019340 3019352 + Identifier 3019353 3019359 + GreaterThanToken 3019359 3019361 + NumericLiteral 3019361 3019363 + Block 3019364 3019790 + VariableStatement 3019366 3019675 + VariableDeclarationList 3019366 3019674 + VariableDeclaration 3019393 3019674 + Identifier 3019393 3019404 + ConditionalExpression 3019406 3019674 + BinaryExpression 3019406 3019460 + PropertyAccessExpression 3019406 3019430 + Identifier 3019406 3019425 + Identifier 3019426 3019430 + EqualsEqualsEqualsToken 3019430 3019434 + PropertyAccessExpression 3019434 3019460 + Identifier 3019434 3019445 + Identifier 3019446 3019460 + QuestionToken 3019460 3019487 + PropertyAccessExpression 3019487 3019567 + Identifier 3019487 3019499 + Identifier 3019500 3019567 + ColonToken 3019567 3019594 + PropertyAccessExpression 3019594 3019674 + Identifier 3019594 3019606 + Identifier 3019607 3019674 + ReturnStatement 3019675 3019771 + CallExpression 3019703 3019770 + Identifier 3019703 3019728 + ElementAccessExpression 3019729 3019757 + PropertyAccessExpression 3019729 3019754 + Identifier 3019729 3019741 + Identifier 3019742 3019754 + NumericLiteral 3019755 3019756 + Identifier 3019758 3019769 + VariableStatement 3019790 3019849 + VariableDeclarationList 3019790 3019848 + VariableDeclaration 3019813 3019848 + Identifier 3019813 3019830 + ElementAccessExpression 3019832 3019848 + Identifier 3019832 3019845 + NumericLiteral 3019846 3019847 + IfStatement 3019849 3020327 + PropertyAccessExpression 3019873 3019901 + Identifier 3019873 3019889 + Identifier 3019890 3019901 + Block 3019902 3020327 + VariableStatement 3019904 3020225 + VariableDeclarationList 3019904 3020224 + VariableDeclaration 3019931 3020224 + Identifier 3019931 3019942 + ConditionalExpression 3019944 3020224 + BinaryExpression 3019944 3019998 + PropertyAccessExpression 3019944 3019968 + Identifier 3019944 3019963 + Identifier 3019964 3019968 + EqualsEqualsEqualsToken 3019968 3019972 + PropertyAccessExpression 3019972 3019998 + Identifier 3019972 3019983 + Identifier 3019984 3019998 + QuestionToken 3019998 3020025 + PropertyAccessExpression 3020025 3020111 + Identifier 3020025 3020037 + Identifier 3020038 3020111 + ColonToken 3020111 3020138 + PropertyAccessExpression 3020138 3020224 + Identifier 3020138 3020150 + Identifier 3020151 3020224 + ReturnStatement 3020225 3020308 + CallExpression 3020253 3020307 + Identifier 3020253 3020272 + PropertyAccessExpression 3020273 3020294 + Identifier 3020273 3020289 + Identifier 3020290 3020294 + Identifier 3020295 3020306 + IfStatement 3020327 3020783 + PropertyAccessExpression 3020349 3020370 + Identifier 3020349 3020365 + Identifier 3020366 3020370 + Block 3020371 3020783 + VariableStatement 3020373 3020686 + VariableDeclarationList 3020373 3020685 + VariableDeclaration 3020400 3020685 + Identifier 3020400 3020411 + ConditionalExpression 3020413 3020685 + BinaryExpression 3020413 3020467 + PropertyAccessExpression 3020413 3020437 + Identifier 3020413 3020432 + Identifier 3020433 3020437 + EqualsEqualsEqualsToken 3020437 3020441 + PropertyAccessExpression 3020441 3020467 + Identifier 3020441 3020452 + Identifier 3020453 3020467 + QuestionToken 3020467 3020494 + PropertyAccessExpression 3020494 3020576 + Identifier 3020494 3020506 + Identifier 3020507 3020576 + ColonToken 3020576 3020603 + PropertyAccessExpression 3020603 3020685 + Identifier 3020603 3020615 + Identifier 3020616 3020685 + ReturnStatement 3020686 3020764 + CallExpression 3020714 3020763 + Identifier 3020714 3020733 + Identifier 3020734 3020750 + Identifier 3020751 3020762 + ReturnStatement 3020809 3020834 + FalseKeyword 3020827 3020833 + FunctionDeclaration 3020841 3023633 + Identifier 3020857 3020878 + Parameter 3020879 3020908 + Identifier 3020879 3020887 + TypeReference 3020888 3020908 + Identifier 3020888 3020908 + BooleanKeyword 3020910 3020918 + Block 3020918 3023633 + IfStatement 3020920 3021599 + BinaryExpression 3020934 3021086 + BinaryExpression 3020934 3021024 + PrefixUnaryExpression 3020934 3020971 + ParenthesizedExpression 3020935 3020971 + BinaryExpression 3020936 3020970 + PropertyAccessExpression 3020936 3020950 + Identifier 3020936 3020944 + Identifier 3020945 3020950 + AmpersandToken 3020950 3020952 + PropertyAccessExpression 3020952 3020970 + Identifier 3020952 3020962 + Identifier 3020963 3020970 + AmpersandAmpersandToken 3020971 3020974 + ParenthesizedExpression 3020974 3021024 + BinaryExpression 3020976 3021023 + PropertyAccessExpression 3020976 3020996 + PropertyAccessExpression 3020976 3020991 + Identifier 3020976 3020984 + Identifier 3020985 3020991 + Identifier 3020992 3020996 + ExclamationEqualsEqualsToken 3020996 3021000 + PropertyAccessExpression 3021000 3021023 + Identifier 3021000 3021011 + Identifier 3021012 3021023 + AmpersandAmpersandToken 3021024 3021027 + ParenthesizedExpression 3021027 3021086 + BinaryExpression 3021029 3021085 + PropertyAccessExpression 3021029 3021049 + PropertyAccessExpression 3021029 3021044 + Identifier 3021029 3021037 + Identifier 3021038 3021044 + Identifier 3021045 3021049 + ExclamationEqualsEqualsToken 3021049 3021053 + PropertyAccessExpression 3021053 3021085 + Identifier 3021053 3021064 + Identifier 3021065 3021085 + Block 3021087 3021599 + IfStatement 3021089 3021353 + BinaryExpression 3021107 3021182 + BinaryExpression 3021107 3021144 + Identifier 3021107 3021122 + LessThanToken 3021122 3021124 + PropertyAccessExpression 3021124 3021144 + Identifier 3021124 3021137 + Identifier 3021138 3021144 + AmpersandAmpersandToken 3021144 3021147 + CallExpression 3021147 3021182 + Identifier 3021147 3021167 + PropertyAccessExpression 3021168 3021181 + Identifier 3021168 3021176 + Identifier 3021177 3021181 + Block 3021183 3021353 + ReturnStatement 3021185 3021338 + CallExpression 3021209 3021337 + Identifier 3021209 3021228 + PropertyAccessExpression 3021229 3021242 + Identifier 3021229 3021237 + Identifier 3021238 3021242 + PropertyAccessExpression 3021243 3021336 + Identifier 3021243 3021255 + Identifier 3021256 3021336 + IfStatement 3021353 3021588 + BinaryExpression 3021371 3021457 + BinaryExpression 3021371 3021398 + PropertyAccessExpression 3021371 3021384 + Identifier 3021371 3021379 + Identifier 3021380 3021384 + EqualsEqualsEqualsToken 3021384 3021388 + Identifier 3021388 3021398 + AmpersandAmpersandToken 3021398 3021401 + PrefixUnaryExpression 3021401 3021457 + CallExpression 3021403 3021457 + Identifier 3021403 3021423 + Identifier 3021424 3021432 + PropertyAccessExpression 3021433 3021456 + Identifier 3021433 3021447 + Identifier 3021448 3021456 + Block 3021458 3021588 + ReturnStatement 3021460 3021573 + CallExpression 3021484 3021572 + Identifier 3021484 3021502 + Identifier 3021503 3021511 + BinaryExpression 3021512 3021529 + PropertyAccessExpression 3021512 3021525 + Identifier 3021512 3021521 + Identifier 3021522 3021525 + MinusToken 3021525 3021527 + NumericLiteral 3021527 3021529 + PropertyAccessExpression 3021530 3021541 + StringLiteral 3021530 3021534 + Identifier 3021535 3021541 + PropertyAccessExpression 3021542 3021566 + Identifier 3021542 3021554 + Identifier 3021555 3021566 + StringLiteral 3021567 3021571 + IfStatement 3021599 3022120 + PropertyAccessExpression 3021613 3021626 + Identifier 3021613 3021621 + Identifier 3021622 3021626 + Block 3021627 3022120 + IfStatement 3021629 3021837 + CallExpression 3021647 3021701 + Identifier 3021647 3021667 + Identifier 3021668 3021676 + PropertyAccessExpression 3021677 3021700 + Identifier 3021677 3021691 + Identifier 3021692 3021700 + Block 3021702 3021837 + ReturnStatement 3021704 3021822 + CallExpression 3021728 3021821 + Identifier 3021728 3021747 + Identifier 3021748 3021756 + PropertyAccessExpression 3021757 3021820 + Identifier 3021757 3021769 + Identifier 3021770 3021820 + IfStatement 3021837 3022109 + BinaryExpression 3021855 3021962 + BinaryExpression 3021855 3021902 + PropertyAccessExpression 3021855 3021875 + PropertyAccessExpression 3021855 3021870 + Identifier 3021855 3021863 + Identifier 3021864 3021870 + Identifier 3021871 3021875 + EqualsEqualsEqualsToken 3021875 3021879 + PropertyAccessExpression 3021879 3021902 + Identifier 3021879 3021890 + Identifier 3021891 3021902 + BarBarToken 3021902 3021905 + BinaryExpression 3021905 3021962 + PropertyAccessExpression 3021905 3021926 + PropertyAccessExpression 3021905 3021921 + Identifier 3021905 3021914 + Identifier 3021915 3021921 + Identifier 3021922 3021926 + EqualsEqualsEqualsToken 3021926 3021930 + PropertyAccessExpression 3021930 3021962 + Identifier 3021930 3021941 + Identifier 3021942 3021962 + Block 3021963 3022109 + ReturnStatement 3021965 3022094 + CallExpression 3021989 3022093 + Identifier 3021989 3022008 + PropertyAccessExpression 3022009 3022022 + Identifier 3022009 3022017 + Identifier 3022018 3022022 + PropertyAccessExpression 3022023 3022092 + Identifier 3022023 3022035 + Identifier 3022036 3022092 + IfStatement 3022120 3022279 + PropertyAccessExpression 3022134 3022157 + Identifier 3022134 3022142 + Identifier 3022143 3022157 + Block 3022158 3022279 + ReturnStatement 3022160 3022268 + CallExpression 3022180 3022267 + Identifier 3022180 3022199 + PropertyAccessExpression 3022200 3022213 + Identifier 3022200 3022208 + Identifier 3022209 3022213 + PropertyAccessExpression 3022214 3022266 + Identifier 3022214 3022226 + Identifier 3022227 3022266 + IfStatement 3022279 3022657 + PrefixUnaryExpression 3022293 3022341 + CallExpression 3022294 3022341 + Identifier 3022294 3022331 + Identifier 3022332 3022340 + Block 3022342 3022657 + ReturnStatement 3022344 3022646 + CallExpression 3022364 3022645 + Identifier 3022364 3022383 + PropertyAccessExpression 3022384 3022415 + Identifier 3022384 3022410 + Identifier 3022411 3022415 + ConditionalExpression 3022416 3022629 + BinaryExpression 3022416 3022474 + PropertyAccessExpression 3022416 3022447 + Identifier 3022416 3022442 + Identifier 3022443 3022447 + EqualsEqualsEqualsToken 3022447 3022451 + PropertyAccessExpression 3022451 3022474 + Identifier 3022451 3022462 + Identifier 3022463 3022474 + QuestionToken 3022474 3022476 + PropertyAccessExpression 3022476 3022547 + Identifier 3022476 3022509 + Identifier 3022510 3022547 + ColonToken 3022547 3022549 + PropertyAccessExpression 3022549 3022629 + Identifier 3022549 3022582 + Identifier 3022583 3022629 + IfStatement 3022657 3023603 + BinaryExpression 3022671 3022711 + PropertyAccessExpression 3022671 3022684 + Identifier 3022671 3022679 + Identifier 3022680 3022684 + EqualsEqualsEqualsToken 3022684 3022688 + PropertyAccessExpression 3022688 3022711 + Identifier 3022688 3022699 + Identifier 3022700 3022711 + Block 3022712 3023603 + IfStatement 3022714 3022887 + PropertyAccessExpression 3022732 3022745 + Identifier 3022732 3022740 + Identifier 3022741 3022745 + Block 3022746 3022887 + ReturnStatement 3022748 3022872 + CallExpression 3022772 3022871 + Identifier 3022772 3022791 + PropertyAccessExpression 3022792 3022805 + Identifier 3022792 3022800 + Identifier 3022801 3022805 + PropertyAccessExpression 3022806 3022870 + Identifier 3022806 3022818 + Identifier 3022819 3022870 + VariableStatement 3022887 3023036 + VariableDeclarationList 3022887 3023035 + VariableDeclaration 3022906 3023035 + Identifier 3022906 3022916 + CallExpression 3022918 3023035 + PropertyAccessExpression 3022918 3022937 + Identifier 3022918 3022924 + Identifier 3022925 3022937 + CallExpression 3022938 3022976 + Identifier 3022938 3022966 + Identifier 3022967 3022975 + StringLiteral 3022977 3023034 + IfStatement 3023036 3023221 + PropertyAccessExpression 3023054 3023078 + Identifier 3023054 3023063 + Identifier 3023064 3023078 + Block 3023079 3023221 + ReturnStatement 3023081 3023206 + CallExpression 3023105 3023205 + Identifier 3023105 3023124 + PropertyAccessExpression 3023125 3023149 + Identifier 3023125 3023134 + Identifier 3023135 3023149 + PropertyAccessExpression 3023150 3023204 + Identifier 3023150 3023162 + Identifier 3023163 3023204 + IfStatement 3023221 3023411 + PropertyAccessExpression 3023239 3023262 + Identifier 3023239 3023248 + Identifier 3023249 3023262 + Block 3023263 3023411 + ReturnStatement 3023265 3023396 + CallExpression 3023289 3023395 + Identifier 3023289 3023308 + PropertyAccessExpression 3023309 3023332 + Identifier 3023309 3023318 + Identifier 3023319 3023332 + PropertyAccessExpression 3023333 3023394 + Identifier 3023333 3023345 + Identifier 3023346 3023394 + IfStatement 3023411 3023592 + PropertyAccessExpression 3023429 3023450 + Identifier 3023429 3023438 + Identifier 3023439 3023450 + Block 3023451 3023592 + ReturnStatement 3023453 3023577 + CallExpression 3023477 3023576 + Identifier 3023477 3023496 + PropertyAccessExpression 3023497 3023510 + Identifier 3023497 3023505 + Identifier 3023506 3023510 + PropertyAccessExpression 3023511 3023575 + Identifier 3023511 3023523 + Identifier 3023524 3023575 + ReturnStatement 3023603 3023626 + FalseKeyword 3023619 3023625 + FunctionDeclaration 3023633 3024095 + Identifier 3023880 3023918 + Parameter 3023919 3023948 + Identifier 3023919 3023927 + TypeReference 3023928 3023948 + Identifier 3023928 3023948 + Block 3023949 3024095 + ReturnStatement 3023951 3024088 + BinaryExpression 3023967 3024087 + CallExpression 3023967 3024002 + Identifier 3023967 3023992 + Identifier 3023993 3024001 + BarBarToken 3024002 3024005 + BinaryExpression 3024005 3024087 + PropertyAccessExpression 3024005 3024032 + PropertyAccessExpression 3024005 3024025 + Identifier 3024005 3024014 + Identifier 3024015 3024025 + Identifier 3024026 3024032 + EqualsEqualsEqualsToken 3024032 3024036 + ParenthesizedExpression 3024036 3024087 + ConditionalExpression 3024038 3024086 + BinaryExpression 3024038 3024078 + PropertyAccessExpression 3024038 3024051 + Identifier 3024038 3024046 + Identifier 3024047 3024051 + EqualsEqualsEqualsToken 3024051 3024055 + PropertyAccessExpression 3024055 3024078 + Identifier 3024055 3024066 + Identifier 3024067 3024078 + QuestionToken 3024078 3024080 + NumericLiteral 3024080 3024082 + ColonToken 3024082 3024084 + NumericLiteral 3024084 3024086 + FunctionDeclaration 3024095 3024367 + Identifier 3024111 3024136 + Parameter 3024137 3024166 + Identifier 3024137 3024145 + TypeReference 3024146 3024166 + Identifier 3024146 3024166 + UnionType 3024168 3024201 + TypeReference 3024168 3024189 + Identifier 3024168 3024189 + UndefinedKeyword 3024191 3024201 + Block 3024201 3024367 + IfStatement 3024203 3024360 + BinaryExpression 3024217 3024298 + PropertyAccessExpression 3024217 3024243 + PropertyAccessExpression 3024217 3024236 + Identifier 3024217 3024225 + Identifier 3024226 3024236 + Identifier 3024237 3024243 + EqualsEqualsEqualsToken 3024243 3024247 + ParenthesizedExpression 3024247 3024298 + ConditionalExpression 3024249 3024297 + BinaryExpression 3024249 3024289 + PropertyAccessExpression 3024249 3024262 + Identifier 3024249 3024257 + Identifier 3024258 3024262 + EqualsEqualsEqualsToken 3024262 3024266 + PropertyAccessExpression 3024266 3024289 + Identifier 3024266 3024277 + Identifier 3024278 3024289 + QuestionToken 3024289 3024291 + NumericLiteral 3024291 3024293 + ColonToken 3024293 3024295 + NumericLiteral 3024295 3024297 + Block 3024299 3024360 + ReturnStatement 3024301 3024349 + CallExpression 3024321 3024348 + Identifier 3024321 3024338 + Identifier 3024339 3024347 + FunctionDeclaration 3024367 3027347 + Identifier 3024383 3024412 + Parameter 3024413 3024435 + Identifier 3024413 3024417 + TypeReference 3024418 3024435 + Identifier 3024418 3024435 + Block 3024436 3027347 + IfStatement 3024438 3027340 + BinaryExpression 3024452 3024494 + PropertyAccessExpression 3024452 3024465 + Identifier 3024452 3024456 + Identifier 3024457 3024465 + EqualsEqualsEqualsToken 3024465 3024469 + PropertyAccessExpression 3024469 3024494 + Identifier 3024469 3024480 + Identifier 3024481 3024494 + Block 3024495 3026961 + IfStatement 3024497 3024697 + BinaryExpression 3024515 3024558 + PropertyAccessExpression 3024515 3024529 + PropertyAccessExpression 3024515 3024524 + Identifier 3024515 3024519 + Identifier 3024520 3024524 + Identifier 3024525 3024529 + ExclamationEqualsEqualsToken 3024529 3024533 + PropertyAccessExpression 3024533 3024558 + Identifier 3024533 3024544 + Identifier 3024545 3024558 + Block 3024559 3024697 + ReturnStatement 3024561 3024682 + CallExpression 3024585 3024681 + Identifier 3024585 3024604 + PropertyAccessExpression 3024605 3024614 + Identifier 3024605 3024609 + Identifier 3024610 3024614 + PropertyAccessExpression 3024615 3024639 + Identifier 3024615 3024627 + Identifier 3024628 3024639 + CallExpression 3024640 3024680 + Identifier 3024640 3024654 + PropertyAccessExpression 3024655 3024679 + Identifier 3024655 3024665 + Identifier 3024666 3024679 + VariableStatement 3024697 3024762 + VariableDeclarationList 3024697 3024761 + VariableDeclaration 3024714 3024761 + Identifier 3024714 3024721 + CallExpression 3024723 3024761 + Identifier 3024723 3024748 + PropertyAccessExpression 3024749 3024760 + Identifier 3024749 3024753 + Identifier 3024754 3024760 + IfStatement 3024762 3025031 + BinaryExpression 3024780 3024831 + CallExpression 3024780 3024798 + Identifier 3024780 3024790 + Identifier 3024791 3024797 + AmpersandAmpersandToken 3024798 3024801 + CallExpression 3024801 3024831 + Identifier 3024801 3024823 + Identifier 3024824 3024830 + Block 3024832 3025031 + VariableStatement 3024834 3024886 + VariableDeclarationList 3024834 3024885 + VariableDeclaration 3024857 3024885 + Identifier 3024857 3024862 + CallExpression 3024864 3024885 + Identifier 3024864 3024877 + Identifier 3024878 3024884 + IfStatement 3024886 3025016 + Identifier 3024908 3024912 + Block 3024913 3025016 + ExpressionStatement 3024915 3024997 + BinaryExpression 3024915 3024996 + Identifier 3024915 3024943 + EqualsToken 3024943 3024945 + BinaryExpression 3024945 3024996 + CallExpression 3024945 3024988 + Identifier 3024945 3024982 + Identifier 3024983 3024987 + BarBarToken 3024988 3024991 + Identifier 3024991 3024996 + SwitchStatement 3025031 3026950 + PropertyAccessExpression 3025053 3025064 + Identifier 3025053 3025059 + Identifier 3025060 3025064 + CaseBlock 3025065 3026950 + CaseClause 3025067 3025956 + PropertyAccessExpression 3025089 3025120 + Identifier 3025089 3025100 + Identifier 3025101 3025120 + VariableStatement 3025121 3025186 + VariableDeclarationList 3025121 3025185 + VariableDeclaration 3025148 3025185 + Identifier 3025148 3025153 + AsExpression 3025155 3025185 + Identifier 3025155 3025162 + TypeReference 3025165 3025185 + Identifier 3025165 3025185 + IfStatement 3025186 3025431 + BinaryExpression 3025212 3025252 + PropertyAccessExpression 3025212 3025226 + PropertyAccessExpression 3025212 3025221 + Identifier 3025212 3025216 + Identifier 3025217 3025221 + Identifier 3025222 3025226 + ExclamationEqualsEqualsToken 3025226 3025230 + PropertyAccessExpression 3025230 3025252 + Identifier 3025230 3025241 + Identifier 3025242 3025252 + Block 3025253 3025431 + ReturnStatement 3025255 3025408 + CallExpression 3025287 3025407 + Identifier 3025287 3025306 + Identifier 3025307 3025311 + PropertyAccessExpression 3025312 3025406 + Identifier 3025312 3025324 + Identifier 3025325 3025406 + IfStatement 3025431 3025675 + PrefixUnaryExpression 3025457 3025504 + CallExpression 3025458 3025504 + Identifier 3025458 3025498 + Identifier 3025499 3025503 + Block 3025505 3025675 + ReturnStatement 3025507 3025652 + CallExpression 3025539 3025651 + Identifier 3025539 3025558 + Identifier 3025559 3025563 + PropertyAccessExpression 3025564 3025650 + Identifier 3025564 3025576 + Identifier 3025577 3025650 + IfStatement 3025675 3025928 + PrefixUnaryExpression 3025701 3025739 + ParenthesizedExpression 3025702 3025739 + BinaryExpression 3025703 3025738 + PropertyAccessExpression 3025703 3025720 + PropertyAccessExpression 3025703 3025714 + Identifier 3025703 3025707 + Identifier 3025708 3025714 + Identifier 3025715 3025720 + AmpersandToken 3025720 3025722 + PropertyAccessExpression 3025722 3025738 + Identifier 3025722 3025732 + Identifier 3025733 3025738 + Block 3025740 3025928 + ReturnStatement 3025742 3025905 + CallExpression 3025774 3025904 + Identifier 3025774 3025793 + PropertyAccessExpression 3025794 3025830 + ParenthesizedExpression 3025794 3025825 + AsExpression 3025795 3025824 + Identifier 3025795 3025801 + TypeReference 3025804 3025824 + Identifier 3025804 3025824 + Identifier 3025826 3025830 + PropertyAccessExpression 3025831 3025903 + Identifier 3025831 3025843 + Identifier 3025844 3025903 + BreakStatement 3025928 3025956 + CaseClause 3025956 3026416 + PropertyAccessExpression 3025980 3026011 + Identifier 3025980 3025991 + Identifier 3025992 3026011 + IfStatement 3026012 3026388 + BinaryExpression 3026038 3026147 + PrefixUnaryExpression 3026038 3026081 + CallExpression 3026065 3026081 + Identifier 3026065 3026073 + Identifier 3026074 3026080 + BarBarToken 3026081 3026084 + PrefixUnaryExpression 3026084 3026147 + CallExpression 3026111 3026147 + Identifier 3026111 3026139 + Identifier 3026140 3026146 + Block 3026170 3026388 + ReturnStatement 3026172 3026365 + CallExpression 3026204 3026364 + Identifier 3026204 3026223 + PropertyAccessExpression 3026224 3026260 + ParenthesizedExpression 3026224 3026255 + AsExpression 3026225 3026254 + Identifier 3026225 3026231 + TypeReference 3026234 3026254 + Identifier 3026234 3026254 + Identifier 3026256 3026260 + PropertyAccessExpression 3026261 3026363 + Identifier 3026261 3026273 + Identifier 3026274 3026363 + BreakStatement 3026388 3026416 + CaseClause 3026416 3026799 + PropertyAccessExpression 3026440 3026469 + Identifier 3026440 3026451 + Identifier 3026452 3026469 + IfStatement 3026470 3026771 + PrefixUnaryExpression 3026496 3026549 + CallExpression 3026497 3026549 + Identifier 3026497 3026517 + Identifier 3026518 3026524 + PropertyAccessExpression 3026525 3026548 + Identifier 3026525 3026539 + Identifier 3026540 3026548 + Block 3026550 3026771 + ReturnStatement 3026552 3026748 + CallExpression 3026584 3026747 + Identifier 3026584 3026603 + PropertyAccessExpression 3026604 3026638 + ParenthesizedExpression 3026604 3026633 + AsExpression 3026605 3026632 + Identifier 3026605 3026611 + TypeReference 3026614 3026632 + Identifier 3026614 3026632 + Identifier 3026634 3026638 + PropertyAccessExpression 3026639 3026746 + Identifier 3026639 3026651 + Identifier 3026652 3026746 + BreakStatement 3026771 3026799 + DefaultClause 3026799 3026935 + ReturnStatement 3026827 3026935 + CallExpression 3026855 3026934 + Identifier 3026855 3026874 + Identifier 3026875 3026879 + PropertyAccessExpression 3026880 3026933 + Identifier 3026880 3026892 + Identifier 3026893 3026933 + IfStatement 3026975 3027340 + BinaryExpression 3026980 3027024 + PropertyAccessExpression 3026980 3026993 + Identifier 3026980 3026984 + Identifier 3026985 3026993 + EqualsEqualsEqualsToken 3026993 3026997 + PropertyAccessExpression 3026997 3027024 + Identifier 3026997 3027008 + Identifier 3027009 3027024 + Block 3027025 3027340 + IfStatement 3027027 3027329 + BinaryExpression 3027045 3027127 + BinaryExpression 3027045 3027084 + PropertyAccessExpression 3027045 3027059 + PropertyAccessExpression 3027045 3027054 + Identifier 3027045 3027049 + Identifier 3027050 3027054 + Identifier 3027055 3027059 + ExclamationEqualsEqualsToken 3027059 3027063 + PropertyAccessExpression 3027063 3027084 + Identifier 3027063 3027074 + Identifier 3027075 3027084 + AmpersandAmpersandToken 3027084 3027087 + BinaryExpression 3027087 3027127 + PropertyAccessExpression 3027087 3027102 + PropertyAccessExpression 3027087 3027097 + Identifier 3027087 3027092 + Identifier 3027093 3027097 + Identifier 3027098 3027102 + ExclamationEqualsEqualsToken 3027102 3027106 + PropertyAccessExpression 3027106 3027127 + Identifier 3027106 3027117 + Identifier 3027118 3027127 + Block 3027128 3027329 + ReturnStatement 3027130 3027314 + CallExpression 3027154 3027313 + Identifier 3027154 3027179 + Identifier 3027180 3027184 + PropertyAccessExpression 3027185 3027271 + Identifier 3027185 3027197 + Identifier 3027198 3027271 + CallExpression 3027272 3027312 + Identifier 3027272 3027286 + PropertyAccessExpression 3027287 3027311 + Identifier 3027287 3027297 + Identifier 3027298 3027311 + FunctionDeclaration 3027347 3027865 + Identifier 3027363 3027397 + Parameter 3027398 3027419 + Identifier 3027398 3027402 + TypeReference 3027403 3027419 + Identifier 3027403 3027419 + Parameter 3027420 3027447 + Identifier 3027420 3027428 + TypeReference 3027429 3027447 + Identifier 3027429 3027447 + Block 3027448 3027865 + IfStatement 3027450 3027858 + BinaryExpression 3027612 3027789 + CallExpression 3027612 3027642 + Identifier 3027612 3027636 + Identifier 3027637 3027641 + AmpersandAmpersandToken 3027642 3027645 + PrefixUnaryExpression 3027645 3027789 + CallExpression 3027647 3027789 + Identifier 3027647 3027669 + ConditionalExpression 3027670 3027788 + CallExpression 3027670 3027701 + Identifier 3027670 3027695 + Identifier 3027696 3027700 + QuestionToken 3027701 3027703 + CallExpression 3027703 3027744 + Identifier 3027703 3027719 + PropertyAccessExpression 3027720 3027743 + Identifier 3027720 3027724 + Identifier 3027725 3027743 + ColonToken 3027744 3027746 + PropertyAccessExpression 3027746 3027788 + ParenthesizedExpression 3027746 3027777 + AsExpression 3027748 3027776 + Identifier 3027748 3027752 + TypeReference 3027755 3027776 + Identifier 3027755 3027776 + Identifier 3027778 3027788 + Block 3027790 3027858 + ReturnStatement 3027792 3027847 + CallExpression 3027812 3027846 + Identifier 3027812 3027831 + Identifier 3027832 3027836 + Identifier 3027837 3027845 + FunctionDeclaration 3027865 3031120 + Identifier 3027881 3027900 + Parameter 3027901 3027942 + Identifier 3027901 3027905 + UnionType 3027906 3027942 + TypeReference 3027906 3027924 + Identifier 3027906 3027924 + TypeReference 3027926 3027942 + Identifier 3027926 3027942 + Block 3027943 3031120 + IfStatement 3027945 3028040 + CallExpression 3027959 3028000 + Identifier 3027959 3027994 + Identifier 3027995 3027999 + Block 3028001 3028040 + ReturnStatement 3028003 3028029 + TrueKeyword 3028023 3028028 + IfStatement 3028040 3029268 + BinaryExpression 3028056 3028098 + PropertyAccessExpression 3028056 3028065 + Identifier 3028056 3028060 + Identifier 3028061 3028065 + EqualsEqualsEqualsToken 3028065 3028069 + PropertyAccessExpression 3028069 3028098 + Identifier 3028069 3028080 + Identifier 3028081 3028098 + Block 3028099 3029268 + IfStatement 3028101 3029161 + BinaryExpression 3028119 3028174 + PropertyAccessExpression 3028119 3028135 + PropertyAccessExpression 3028119 3028130 + Identifier 3028119 3028123 + Identifier 3028124 3028130 + Identifier 3028131 3028135 + EqualsEqualsEqualsToken 3028135 3028139 + PropertyAccessExpression 3028139 3028174 + Identifier 3028139 3028150 + Identifier 3028151 3028174 + Block 3028175 3029161 + IfStatement 3028177 3029146 + BinaryExpression 3028318 3028424 + PropertyAccessExpression 3028318 3028332 + Identifier 3028318 3028322 + Identifier 3028323 3028332 + AmpersandAmpersandToken 3028332 3028335 + PrefixUnaryExpression 3028335 3028424 + ParenthesizedExpression 3028337 3028424 + BinaryExpression 3028338 3028423 + BinaryExpression 3028338 3028365 + PropertyAccessExpression 3028338 3028359 + PropertyAccessExpression 3028338 3028352 + Identifier 3028338 3028342 + Identifier 3028343 3028352 + Identifier 3028353 3028359 + EqualsEqualsEqualsToken 3028359 3028363 + NumericLiteral 3028363 3028365 + AmpersandAmpersandToken 3028365 3028368 + BinaryExpression 3028368 3028423 + PropertyAccessExpression 3028368 3028395 + CallExpression 3028368 3028390 + Identifier 3028368 3028374 + PropertyAccessExpression 3028375 3028389 + Identifier 3028375 3028379 + Identifier 3028380 3028389 + Identifier 3028391 3028395 + EqualsEqualsEqualsToken 3028395 3028399 + PropertyAccessExpression 3028399 3028423 + Identifier 3028399 3028410 + Identifier 3028411 3028423 + Block 3028425 3028548 + ReturnStatement 3028427 3028529 + CallExpression 3028455 3028528 + Identifier 3028455 3028480 + Identifier 3028481 3028485 + PropertyAccessExpression 3028486 3028527 + Identifier 3028486 3028498 + Identifier 3028499 3028527 + IfStatement 3028570 3029146 + CallExpression 3028575 3028687 + Identifier 3028575 3028609 + PropertyAccessExpression 3028610 3028628 + Identifier 3028610 3028614 + Identifier 3028615 3028628 + PropertyAccessExpression 3028629 3028686 + Identifier 3028629 3028641 + Identifier 3028642 3028686 + Block 3028688 3028743 + ReturnStatement 3028690 3028724 + TrueKeyword 3028718 3028723 + IfStatement 3028765 3029146 + CallExpression 3028770 3028909 + Identifier 3028770 3028808 + PropertyAccessExpression 3028809 3028830 + Identifier 3028809 3028813 + Identifier 3028814 3028830 + PropertyAccessExpression 3028831 3028908 + Identifier 3028831 3028843 + Identifier 3028844 3028908 + Block 3028910 3028965 + ReturnStatement 3028912 3028946 + TrueKeyword 3028940 3028945 + IfStatement 3028987 3029146 + BinaryExpression 3028992 3029015 + PropertyAccessExpression 3028992 3029001 + Identifier 3028992 3028996 + Identifier 3028997 3029001 + EqualsEqualsEqualsToken 3029001 3029005 + Identifier 3029005 3029015 + Block 3029016 3029146 + ReturnStatement 3029018 3029127 + CallExpression 3029046 3029126 + Identifier 3029046 3029064 + Identifier 3029065 3029069 + BinaryExpression 3029070 3029083 + PropertyAccessExpression 3029070 3029079 + Identifier 3029070 3029075 + Identifier 3029076 3029079 + MinusToken 3029079 3029081 + NumericLiteral 3029081 3029083 + PropertyAccessExpression 3029084 3029095 + StringLiteral 3029084 3029088 + Identifier 3029089 3029095 + PropertyAccessExpression 3029096 3029120 + Identifier 3029096 3029108 + Identifier 3029109 3029120 + StringLiteral 3029121 3029125 + IfStatement 3029161 3029257 + CallExpression 3029179 3029209 + Identifier 3029179 3029203 + Identifier 3029204 3029208 + Block 3029210 3029257 + ReturnStatement 3029212 3029242 + TrueKeyword 3029236 3029241 + IfStatement 3029268 3031113 + CallExpression 3029284 3029308 + Identifier 3029284 3029295 + PropertyAccessExpression 3029296 3029307 + Identifier 3029296 3029300 + Identifier 3029301 3029307 + Block 3029309 3030548 + IfStatement 3029311 3029567 + BinaryExpression 3029329 3029400 + BinaryExpression 3029329 3029366 + Identifier 3029329 3029344 + LessThanToken 3029344 3029346 + PropertyAccessExpression 3029346 3029366 + Identifier 3029346 3029359 + Identifier 3029360 3029366 + AmpersandAmpersandToken 3029366 3029369 + CallExpression 3029369 3029400 + Identifier 3029369 3029389 + PropertyAccessExpression 3029390 3029399 + Identifier 3029390 3029394 + Identifier 3029395 3029399 + Block 3029401 3029567 + ReturnStatement 3029403 3029552 + CallExpression 3029427 3029551 + Identifier 3029427 3029446 + PropertyAccessExpression 3029447 3029456 + Identifier 3029447 3029451 + Identifier 3029452 3029456 + PropertyAccessExpression 3029457 3029550 + Identifier 3029457 3029469 + Identifier 3029470 3029550 + IfStatement 3029567 3030537 + BinaryExpression 3029971 3030001 + PropertyAccessExpression 3029971 3029981 + Identifier 3029971 3029975 + Identifier 3029976 3029981 + AmpersandToken 3029981 3029983 + PropertyAccessExpression 3029983 3030001 + Identifier 3029983 3029993 + Identifier 3029994 3030001 + Block 3030002 3030230 + ReturnStatement 3030004 3030215 + CallExpression 3030028 3030214 + Identifier 3030028 3030062 + PropertyAccessExpression 3030063 3030072 + Identifier 3030063 3030067 + Identifier 3030068 3030072 + PropertyAccessExpression 3030073 3030213 + Identifier 3030073 3030085 + Identifier 3030086 3030213 + IfStatement 3030248 3030537 + BinaryExpression 3030253 3030309 + BinaryExpression 3030253 3030295 + PropertyAccessExpression 3030253 3030262 + Identifier 3030253 3030257 + Identifier 3030258 3030262 + EqualsEqualsEqualsToken 3030262 3030266 + PropertyAccessExpression 3030266 3030295 + Identifier 3030266 3030277 + Identifier 3030278 3030295 + AmpersandAmpersandToken 3030295 3030298 + PrefixUnaryExpression 3030298 3030309 + PropertyAccessExpression 3030300 3030309 + Identifier 3030300 3030304 + Identifier 3030305 3030309 + Block 3030310 3030537 + ReturnStatement 3030312 3030522 + CallExpression 3030336 3030521 + Identifier 3030336 3030370 + PropertyAccessExpression 3030371 3030380 + Identifier 3030371 3030375 + Identifier 3030376 3030380 + PropertyAccessExpression 3030381 3030520 + Identifier 3030381 3030393 + Identifier 3030394 3030520 + IfStatement 3030562 3031113 + BinaryExpression 3030567 3030619 + PropertyAccessExpression 3030567 3030583 + PropertyAccessExpression 3030567 3030578 + Identifier 3030567 3030571 + Identifier 3030572 3030578 + Identifier 3030579 3030583 + EqualsEqualsEqualsToken 3030583 3030587 + PropertyAccessExpression 3030587 3030619 + Identifier 3030587 3030598 + Identifier 3030599 3030619 + Block 3030620 3030834 + ReturnStatement 3030622 3030823 + CallExpression 3030642 3030822 + Identifier 3030642 3030676 + PropertyAccessExpression 3030677 3030686 + Identifier 3030677 3030681 + Identifier 3030682 3030686 + PropertyAccessExpression 3030687 3030821 + Identifier 3030687 3030699 + Identifier 3030700 3030821 + IfStatement 3030848 3031113 + BinaryExpression 3030853 3030896 + PropertyAccessExpression 3030853 3030869 + PropertyAccessExpression 3030853 3030864 + Identifier 3030853 3030857 + Identifier 3030858 3030864 + Identifier 3030865 3030869 + EqualsEqualsEqualsToken 3030869 3030873 + PropertyAccessExpression 3030873 3030896 + Identifier 3030873 3030884 + Identifier 3030885 3030896 + Block 3030897 3031113 + ReturnStatement 3030899 3031102 + CallExpression 3030919 3031101 + Identifier 3030919 3030953 + PropertyAccessExpression 3030954 3030963 + Identifier 3030954 3030958 + Identifier 3030959 3030963 + PropertyAccessExpression 3030964 3031100 + Identifier 3030964 3030976 + Identifier 3030977 3031100 + FunctionDeclaration 3031120 3033863 + Identifier 3031136 3031173 + Parameter 3031174 3031204 + Identifier 3031174 3031178 + TypeReference 3031179 3031204 + Identifier 3031179 3031204 + BooleanKeyword 3031206 3031214 + Block 3031214 3033863 + VariableStatement 3031216 3031251 + VariableDeclarationList 3031216 3031250 + VariableDeclaration 3031229 3031250 + Identifier 3031229 3031237 + TypeReference 3031238 3031243 + Identifier 3031238 3031243 + Identifier 3031245 3031250 + WhileStatement 3031251 3033099 + Identifier 3031268 3031275 + Block 3031276 3033099 + IfStatement 3031278 3031472 + CallExpression 3031296 3031348 + Identifier 3031296 3031339 + Identifier 3031340 3031347 + Block 3031349 3031472 + ReturnStatement 3031351 3031457 + CallExpression 3031375 3031456 + Identifier 3031375 3031394 + Identifier 3031395 3031399 + PropertyAccessExpression 3031400 3031455 + Identifier 3031400 3031412 + Identifier 3031413 3031455 + SwitchStatement 3031472 3033047 + PropertyAccessExpression 3031496 3031508 + Identifier 3031496 3031503 + Identifier 3031504 3031508 + CaseBlock 3031509 3033047 + CaseClause 3031511 3032424 + PropertyAccessExpression 3031533 3031561 + Identifier 3031533 3031544 + Identifier 3031545 3031561 + IfStatement 3031562 3032396 + BinaryExpression 3031588 3031676 + PropertyAccessExpression 3031588 3031598 + Identifier 3031588 3031592 + Identifier 3031593 3031598 + AmpersandAmpersandToken 3031598 3031601 + BinaryExpression 3031601 3031676 + PropertyAccessExpression 3031601 3031649 + PropertyAccessExpression 3031601 3031637 + ParenthesizedExpression 3031601 3031631 + AsExpression 3031603 3031630 + Identifier 3031603 3031610 + TypeReference 3031613 3031630 + Identifier 3031613 3031630 + Identifier 3031632 3031637 + Identifier 3031638 3031649 + EqualsEqualsEqualsToken 3031649 3031653 + PropertyAccessExpression 3031653 3031676 + PropertyAccessExpression 3031653 3031664 + Identifier 3031653 3031658 + Identifier 3031659 3031664 + Identifier 3031665 3031676 + Block 3031677 3032396 + VariableStatement 3031679 3032089 + VariableDeclarationList 3031679 3032088 + VariableDeclaration 3031889 3032088 + Identifier 3031889 3031914 + BinaryExpression 3031916 3032088 + BinaryExpression 3031916 3031959 + PropertyAccessExpression 3031916 3031926 + Identifier 3031916 3031921 + Identifier 3031922 3031926 + EqualsEqualsEqualsToken 3031926 3031930 + PropertyAccessExpression 3031930 3031959 + Identifier 3031930 3031941 + Identifier 3031942 3031959 + AmpersandAmpersandToken 3031959 3031991 + PrefixUnaryExpression 3031991 3032088 + CallExpression 3031993 3032088 + Identifier 3031993 3032013 + PropertyAccessExpression 3032014 3032053 + ParenthesizedExpression 3032014 3032043 + AsExpression 3032015 3032042 + Identifier 3032015 3032022 + TypeReference 3032025 3032042 + Identifier 3032025 3032042 + Identifier 3032044 3032053 + TrueKeyword 3032054 3032087 + IfStatement 3032089 3032332 + Identifier 3032121 3032145 + Block 3032146 3032332 + ReturnStatement 3032148 3032305 + CallExpression 3032184 3032304 + Identifier 3032184 3032203 + Identifier 3032204 3032208 + PropertyAccessExpression 3032209 3032303 + Identifier 3032209 3032221 + Identifier 3032222 3032303 + ReturnStatement 3032332 3032373 + FalseKeyword 3032366 3032372 + BreakStatement 3032396 3032424 + CaseClause 3032424 3032720 + PropertyAccessExpression 3032446 3032473 + Identifier 3032446 3032457 + Identifier 3032458 3032473 + IfStatement 3032474 3032692 + BinaryExpression 3032500 3032554 + BinaryExpression 3032500 3032539 + PropertyAccessExpression 3032500 3032509 + Identifier 3032500 3032504 + Identifier 3032505 3032509 + EqualsEqualsEqualsToken 3032509 3032513 + PropertyAccessExpression 3032513 3032539 + Identifier 3032513 3032524 + Identifier 3032525 3032539 + AmpersandAmpersandToken 3032539 3032542 + PrefixUnaryExpression 3032542 3032554 + PropertyAccessExpression 3032544 3032554 + Identifier 3032544 3032548 + Identifier 3032549 3032554 + Block 3032555 3032692 + ReturnStatement 3032557 3032669 + FalseKeyword 3032662 3032668 + BreakStatement 3032692 3032720 + DefaultClause 3032720 3033032 + IfStatement 3032746 3033004 + BinaryExpression 3032772 3032851 + CallExpression 3032772 3032836 + Identifier 3032772 3032792 + Identifier 3032793 3032800 + FalseKeyword 3032801 3032835 + AmpersandAmpersandToken 3032836 3032839 + PrefixUnaryExpression 3032839 3032851 + PropertyAccessExpression 3032841 3032851 + Identifier 3032841 3032845 + Identifier 3032846 3032851 + Block 3032852 3033004 + ReturnStatement 3032854 3032981 + FalseKeyword 3032974 3032980 + BreakStatement 3033004 3033032 + ExpressionStatement 3033047 3033088 + BinaryExpression 3033047 3033087 + Identifier 3033047 3033070 + EqualsToken 3033070 3033072 + PropertyAccessExpression 3033072 3033087 + Identifier 3033072 3033080 + Identifier 3033081 3033087 + IfStatement 3033099 3033856 + PropertyAccessExpression 3033115 3033125 + Identifier 3033115 3033119 + Identifier 3033120 3033125 + Block 3033126 3033479 + VariableStatement 3033128 3033411 + VariableDeclarationList 3033128 3033410 + VariableDeclaration 3033147 3033410 + Identifier 3033147 3033155 + ConditionalExpression 3033157 3033410 + BinaryExpression 3033157 3033197 + PropertyAccessExpression 3033157 3033167 + Identifier 3033157 3033162 + Identifier 3033163 3033167 + EqualsEqualsEqualsToken 3033167 3033171 + PropertyAccessExpression 3033171 3033197 + Identifier 3033171 3033182 + Identifier 3033183 3033197 + QuestionToken 3033197 3033216 + PropertyAccessExpression 3033216 3033297 + Identifier 3033216 3033228 + Identifier 3033229 3033297 + ColonToken 3033297 3033316 + PropertyAccessExpression 3033316 3033410 + Identifier 3033316 3033328 + Identifier 3033329 3033410 + ReturnStatement 3033411 3033468 + CallExpression 3033433 3033467 + Identifier 3033433 3033452 + Identifier 3033453 3033457 + Identifier 3033458 3033466 + Block 3033493 3033856 + VariableStatement 3033495 3033790 + VariableDeclarationList 3033495 3033789 + VariableDeclaration 3033514 3033789 + Identifier 3033514 3033522 + ConditionalExpression 3033524 3033789 + BinaryExpression 3033524 3033564 + PropertyAccessExpression 3033524 3033534 + Identifier 3033524 3033529 + Identifier 3033530 3033534 + EqualsEqualsEqualsToken 3033534 3033538 + PropertyAccessExpression 3033538 3033564 + Identifier 3033538 3033549 + Identifier 3033550 3033564 + QuestionToken 3033564 3033583 + PropertyAccessExpression 3033583 3033680 + Identifier 3033583 3033595 + Identifier 3033596 3033680 + ColonToken 3033680 3033699 + PropertyAccessExpression 3033699 3033789 + Identifier 3033699 3033711 + Identifier 3033712 3033789 + ReturnStatement 3033790 3033845 + CallExpression 3033810 3033844 + Identifier 3033810 3033829 + Identifier 3033830 3033834 + Identifier 3033835 3033843 + FunctionDeclaration 3033863 3034800 + Identifier 3033879 3033906 + Parameter 3033907 3033927 + Identifier 3033907 3033911 + TypeReference 3033912 3033927 + Identifier 3033912 3033927 + Block 3033928 3034800 + IfStatement 3033930 3034514 + PropertyAccessExpression 3033944 3033963 + Identifier 3033944 3033948 + Identifier 3033949 3033963 + Block 3033964 3034514 + VariableStatement 3033966 3034018 + VariableDeclarationList 3033966 3034017 + VariableDeclaration 3033985 3034017 + Identifier 3033985 3033994 + PropertyAccessExpression 3033996 3034017 + PropertyAccessExpression 3033996 3034008 + Identifier 3033996 3034001 + Identifier 3034002 3034008 + Identifier 3034009 3034017 + IfStatement 3034018 3034195 + BinaryExpression 3034036 3034059 + Identifier 3034036 3034040 + ExclamationEqualsEqualsToken 3034040 3034044 + CallExpression 3034044 3034059 + Identifier 3034044 3034049 + Identifier 3034050 3034058 + Block 3034060 3034195 + ReturnStatement 3034062 3034180 + CallExpression 3034086 3034179 + Identifier 3034086 3034105 + Identifier 3034106 3034110 + PropertyAccessExpression 3034111 3034178 + Identifier 3034111 3034123 + Identifier 3034124 3034178 + ExpressionStatement 3034195 3034337 + CallExpression 3034195 3034336 + Identifier 3034195 3034247 + Identifier 3034248 3034256 + PropertyAccessExpression 3034257 3034335 + Identifier 3034257 3034269 + Identifier 3034270 3034335 + IfStatement 3034337 3034503 + PropertyAccessExpression 3034357 3034374 + Identifier 3034357 3034361 + Identifier 3034362 3034374 + Block 3034375 3034503 + ReturnStatement 3034377 3034488 + CallExpression 3034401 3034487 + Identifier 3034401 3034420 + PropertyAccessExpression 3034421 3034430 + Identifier 3034421 3034425 + Identifier 3034426 3034430 + PropertyAccessExpression 3034431 3034486 + Identifier 3034431 3034443 + Identifier 3034444 3034486 + IfStatement 3034514 3034793 + BinaryExpression 3034530 3034569 + PropertyAccessExpression 3034530 3034549 + Identifier 3034530 3034534 + Identifier 3034535 3034549 + AmpersandAmpersandToken 3034549 3034552 + PropertyAccessExpression 3034552 3034569 + Identifier 3034552 3034557 + Identifier 3034558 3034569 + Block 3034570 3034793 + ReturnStatement 3034572 3034782 + CallExpression 3034673 3034781 + Identifier 3034673 3034691 + Identifier 3034692 3034696 + BinaryExpression 3034697 3034722 + PropertyAccessExpression 3034697 3034718 + PropertyAccessExpression 3034697 3034714 + Identifier 3034697 3034702 + Identifier 3034703 3034714 + Identifier 3034715 3034718 + MinusToken 3034718 3034720 + NumericLiteral 3034720 3034722 + NumericLiteral 3034723 3034725 + PropertyAccessExpression 3034726 3034780 + Identifier 3034726 3034738 + Identifier 3034739 3034780 + FunctionDeclaration 3034800 3035157 + Identifier 3034816 3034850 + Parameter 3034851 3034867 + Identifier 3034851 3034855 + TypeReference 3034856 3034867 + Identifier 3034856 3034867 + Block 3034868 3035157 + ReturnStatement 3034870 3035150 + BinaryExpression 3034886 3035149 + CallExpression 3034886 3034921 + Identifier 3034886 3034915 + Identifier 3034916 3034920 + BarBarToken 3034921 3034924 + BinaryExpression 3034924 3035149 + BinaryExpression 3034924 3035054 + BinaryExpression 3034924 3034984 + PropertyAccessExpression 3034924 3034947 + Identifier 3034924 3034942 + Identifier 3034943 3034947 + EqualsEqualsEqualsToken 3034947 3034951 + PropertyAccessExpression 3034951 3034984 + Identifier 3034951 3034962 + Identifier 3034963 3034984 + AmpersandAmpersandToken 3034984 3034987 + BinaryExpression 3034987 3035054 + PropertyAccessExpression 3034987 3035028 + ParenthesizedExpression 3034987 3035019 + AsExpression 3034989 3035018 + Identifier 3034989 3034993 + TypeReference 3034996 3035018 + Identifier 3034996 3035018 + Identifier 3035020 3035028 + EqualsEqualsEqualsToken 3035028 3035032 + PropertyAccessExpression 3035032 3035054 + Identifier 3035032 3035043 + Identifier 3035044 3035054 + AmpersandAmpersandToken 3035054 3035057 + BinaryExpression 3035057 3035149 + PropertyAccessExpression 3035057 3035119 + PropertyAccessExpression 3035057 3035114 + ParenthesizedExpression 3035057 3035106 + AsExpression 3035076 3035105 + Identifier 3035076 3035080 + TypeReference 3035083 3035105 + Identifier 3035083 3035105 + Identifier 3035107 3035114 + Identifier 3035115 3035119 + EqualsEqualsEqualsToken 3035119 3035123 + PropertyAccessExpression 3035123 3035149 + Identifier 3035123 3035134 + Identifier 3035135 3035149 + FunctionDeclaration 3035157 3035509 + Identifier 3035173 3035199 + Parameter 3035200 3035216 + Identifier 3035200 3035204 + TypeReference 3035205 3035216 + Identifier 3035205 3035216 + Block 3035217 3035509 + ReturnStatement 3035219 3035502 + BinaryExpression 3035235 3035501 + BinaryExpression 3035235 3035274 + PropertyAccessExpression 3035235 3035245 + Identifier 3035235 3035240 + Identifier 3035241 3035245 + EqualsEqualsEqualsToken 3035245 3035249 + PropertyAccessExpression 3035249 3035274 + Identifier 3035249 3035260 + Identifier 3035261 3035274 + BarBarToken 3035274 3035277 + BinaryExpression 3035277 3035501 + BinaryExpression 3035277 3035407 + BinaryExpression 3035277 3035337 + PropertyAccessExpression 3035277 3035300 + Identifier 3035277 3035295 + Identifier 3035296 3035300 + EqualsEqualsEqualsToken 3035300 3035304 + PropertyAccessExpression 3035304 3035337 + Identifier 3035304 3035315 + Identifier 3035316 3035337 + AmpersandAmpersandToken 3035337 3035340 + BinaryExpression 3035340 3035407 + PropertyAccessExpression 3035340 3035381 + ParenthesizedExpression 3035340 3035372 + AsExpression 3035342 3035371 + Identifier 3035342 3035346 + TypeReference 3035349 3035371 + Identifier 3035349 3035371 + Identifier 3035373 3035381 + EqualsEqualsEqualsToken 3035381 3035385 + PropertyAccessExpression 3035385 3035407 + Identifier 3035385 3035396 + Identifier 3035397 3035407 + AmpersandAmpersandToken 3035407 3035410 + BinaryExpression 3035410 3035501 + PropertyAccessExpression 3035410 3035472 + PropertyAccessExpression 3035410 3035467 + ParenthesizedExpression 3035410 3035459 + AsExpression 3035429 3035458 + Identifier 3035429 3035433 + TypeReference 3035436 3035458 + Identifier 3035436 3035458 + Identifier 3035460 3035467 + Identifier 3035468 3035472 + EqualsEqualsEqualsToken 3035472 3035476 + PropertyAccessExpression 3035476 3035501 + Identifier 3035476 3035487 + Identifier 3035488 3035501 + FunctionDeclaration 3035509 3035902 + Identifier 3035525 3035554 + Parameter 3035555 3035571 + Identifier 3035555 3035559 + TypeReference 3035560 3035571 + Identifier 3035560 3035571 + Block 3035572 3035902 + IfStatement 3035574 3035895 + BinaryExpression 3035588 3035791 + ParenthesizedExpression 3035588 3035735 + BinaryExpression 3035603 3035734 + CallExpression 3035603 3035635 + Identifier 3035603 3035629 + Identifier 3035630 3035634 + BarBarToken 3035635 3035638 + ParenthesizedExpression 3035638 3035734 + BinaryExpression 3035640 3035733 + CallExpression 3035640 3035671 + Identifier 3035640 3035665 + Identifier 3035666 3035670 + AmpersandAmpersandToken 3035671 3035674 + CallExpression 3035674 3035733 + Identifier 3035674 3035708 + PropertyAccessExpression 3035709 3035732 + Identifier 3035709 3035713 + Identifier 3035714 3035732 + AmpersandAmpersandToken 3035735 3035738 + CallExpression 3035738 3035791 + Identifier 3035738 3035774 + PropertyAccessExpression 3035775 3035790 + Identifier 3035775 3035779 + Identifier 3035780 3035790 + Block 3035802 3035895 + ReturnStatement 3035804 3035884 + PrefixUnaryExpression 3035824 3035883 + PrefixUnaryExpression 3035826 3035883 + ParenthesizedExpression 3035827 3035883 + BinaryExpression 3035828 3035882 + PropertyAccessExpression 3035828 3035861 + CallExpression 3035828 3035855 + Identifier 3035828 3035849 + Identifier 3035850 3035854 + Identifier 3035856 3035861 + AmpersandToken 3035861 3035863 + PropertyAccessExpression 3035863 3035882 + Identifier 3035863 3035873 + Identifier 3035874 3035882 + FunctionDeclaration 3035902 3037052 + Identifier 3035918 3035942 + Parameter 3035943 3036010 + Identifier 3035943 3035947 + UnionType 3035948 3036010 + TypeReference 3035948 3035968 + Identifier 3035948 3035968 + TypeReference 3035970 3035990 + Identifier 3035970 3035990 + TypeReference 3035992 3036010 + Identifier 3035992 3036010 + Block 3036011 3037052 + VariableStatement 3036013 3036060 + VariableDeclarationList 3036013 3036059 + VariableDeclaration 3036028 3036059 + Identifier 3036028 3036040 + PropertyAccessExpression 3036042 3036059 + Identifier 3036042 3036047 + Identifier 3036048 3036059 + IfStatement 3036060 3037045 + Identifier 3036074 3036085 + Block 3036086 3037045 + VariableStatement 3036088 3036446 + VariableDeclarationList 3036088 3036445 + VariableDeclaration 3036107 3036445 + Identifier 3036107 3036128 + PrefixUnaryExpression 3036130 3036445 + ParenthesizedExpression 3036132 3036445 + BinaryExpression 3036133 3036430 + BinaryExpression 3036133 3036371 + BinaryExpression 3036133 3036323 + BinaryExpression 3036133 3036259 + CallExpression 3036133 3036197 + Identifier 3036133 3036184 + Identifier 3036185 3036196 + BarBarToken 3036197 3036200 + CallExpression 3036200 3036259 + Identifier 3036200 3036246 + Identifier 3036247 3036258 + BarBarToken 3036259 3036262 + BinaryExpression 3036262 3036323 + PropertyAccessExpression 3036262 3036296 + Identifier 3036262 3036291 + Identifier 3036292 3036296 + EqualsEqualsEqualsToken 3036296 3036300 + PropertyAccessExpression 3036300 3036323 + Identifier 3036300 3036311 + Identifier 3036312 3036323 + BarBarToken 3036323 3036326 + BinaryExpression 3036326 3036371 + PropertyAccessExpression 3036326 3036343 + Identifier 3036326 3036338 + Identifier 3036339 3036343 + EqualsEqualsEqualsToken 3036343 3036347 + PropertyAccessExpression 3036347 3036371 + Identifier 3036347 3036358 + Identifier 3036359 3036371 + BarBarToken 3036371 3036374 + CallExpression 3036374 3036430 + Identifier 3036374 3036417 + Identifier 3036418 3036429 + VariableStatement 3036446 3036571 + VariableDeclarationList 3036446 3036570 + VariableDeclaration 3036465 3036570 + Identifier 3036465 3036483 + BinaryExpression 3036485 3036570 + CallExpression 3036485 3036513 + Identifier 3036485 3036507 + Identifier 3036508 3036512 + BarBarToken 3036513 3036516 + BinaryExpression 3036516 3036570 + CallExpression 3036516 3036544 + Identifier 3036516 3036538 + Identifier 3036539 3036543 + AmpersandAmpersandToken 3036544 3036547 + ParenthesizedExpression 3036547 3036570 + CallExpression 3036549 3036569 + Identifier 3036549 3036563 + Identifier 3036564 3036568 + IfStatement 3036571 3037034 + BinaryExpression 3036589 3036620 + Identifier 3036589 3036606 + AmpersandAmpersandToken 3036606 3036609 + PrefixUnaryExpression 3036609 3036620 + PropertyAccessExpression 3036611 3036620 + Identifier 3036611 3036615 + Identifier 3036616 3036620 + Block 3036621 3036880 + IfStatement 3036623 3036865 + Identifier 3036645 3036665 + Block 3036666 3036865 + ReturnStatement 3036668 3036846 + CallExpression 3036696 3036845 + Identifier 3036696 3036715 + Identifier 3036716 3036727 + PropertyAccessExpression 3036728 3036844 + Identifier 3036728 3036740 + Identifier 3036741 3036844 + Block 3036898 3037034 + ReturnStatement 3036900 3037019 + CallExpression 3036924 3037018 + Identifier 3036924 3036943 + Identifier 3036944 3036955 + PropertyAccessExpression 3036956 3037017 + Identifier 3036956 3036968 + Identifier 3036969 3037017 + FunctionDeclaration 3037052 3040298 + Identifier 3037068 3037100 + Parameter 3037101 3037126 + Identifier 3037101 3037105 + TypeReference 3037106 3037126 + Identifier 3037106 3037126 + Block 3037127 3040298 + VariableStatement 3037129 3037190 + VariableDeclarationList 3037129 3037189 + VariableDeclaration 3037144 3037189 + Identifier 3037144 3037154 + CallExpression 3037156 3037189 + Identifier 3037156 3037183 + Identifier 3037184 3037188 + VariableStatement 3037190 3037257 + VariableDeclarationList 3037190 3037256 + VariableDeclaration 3037205 3037256 + Identifier 3037205 3037220 + BinaryExpression 3037222 3037256 + Identifier 3037222 3037232 + AmpersandToken 3037232 3037234 + PropertyAccessExpression 3037234 3037256 + Identifier 3037234 3037244 + Identifier 3037245 3037256 + IfStatement 3037257 3037699 + CallExpression 3037271 3037298 + Identifier 3037271 3037287 + PropertyAccessExpression 3037288 3037297 + Identifier 3037288 3037292 + Identifier 3037293 3037297 + Block 3037299 3037699 + SwitchStatement 3037301 3037688 + Identifier 3037323 3037337 + CaseBlock 3037338 3037688 + CaseClause 3037340 3037512 + PropertyAccessExpression 3037362 3037383 + Identifier 3037362 3037372 + Identifier 3037373 3037383 + ReturnStatement 3037384 3037512 + CallExpression 3037412 3037511 + Identifier 3037412 3037431 + Identifier 3037432 3037436 + PropertyAccessExpression 3037437 3037495 + Identifier 3037437 3037449 + Identifier 3037450 3037495 + StringLiteral 3037496 3037510 + CaseClause 3037512 3037673 + PropertyAccessExpression 3037534 3037550 + Identifier 3037534 3037544 + Identifier 3037545 3037550 + ReturnStatement 3037551 3037673 + CallExpression 3037579 3037672 + Identifier 3037579 3037598 + Identifier 3037599 3037603 + PropertyAccessExpression 3037604 3037662 + Identifier 3037604 3037616 + Identifier 3037617 3037662 + StringLiteral 3037663 3037671 + IfStatement 3037699 3038785 + BinaryExpression 3037715 3037825 + BinaryExpression 3037715 3037768 + PropertyAccessExpression 3037715 3037738 + PropertyAccessExpression 3037715 3037733 + PropertyAccessExpression 3037715 3037726 + Identifier 3037715 3037719 + Identifier 3037720 3037726 + Identifier 3037727 3037733 + Identifier 3037734 3037738 + ExclamationEqualsEqualsToken 3037738 3037742 + PropertyAccessExpression 3037742 3037768 + Identifier 3037742 3037753 + Identifier 3037754 3037768 + AmpersandAmpersandToken 3037768 3037771 + BinaryExpression 3037771 3037825 + PropertyAccessExpression 3037771 3037795 + PropertyAccessExpression 3037771 3037790 + PropertyAccessExpression 3037771 3037783 + Identifier 3037771 3037776 + Identifier 3037777 3037783 + Identifier 3037784 3037790 + Identifier 3037791 3037795 + ExclamationEqualsEqualsToken 3037795 3037799 + PropertyAccessExpression 3037799 3037825 + Identifier 3037799 3037810 + Identifier 3037811 3037825 + Block 3037826 3038785 + IfStatement 3037828 3038774 + BinaryExpression 3037846 3037875 + Identifier 3037846 3037855 + AmpersandToken 3037855 3037857 + PropertyAccessExpression 3037857 3037875 + Identifier 3037857 3037867 + Identifier 3037868 3037875 + Block 3037876 3037941 + ExpressionStatement 3037878 3037926 + CallExpression 3037878 3037925 + Identifier 3037878 3037919 + Identifier 3037920 3037924 + IfStatement 3037959 3038774 + PrefixUnaryExpression 3037964 3037981 + PropertyAccessExpression 3037965 3037981 + Identifier 3037965 3037969 + Identifier 3037970 3037981 + Block 3037982 3038774 + IfStatement 3037984 3038209 + BinaryExpression 3038006 3038067 + CallExpression 3038006 3038033 + Identifier 3038006 3038022 + PropertyAccessExpression 3038023 3038032 + Identifier 3038023 3038027 + Identifier 3038028 3038032 + AmpersandAmpersandToken 3038033 3038036 + PrefixUnaryExpression 3038036 3038067 + CallExpression 3038038 3038067 + Identifier 3038038 3038054 + PropertyAccessExpression 3038055 3038066 + Identifier 3038055 3038059 + Identifier 3038060 3038066 + Block 3038068 3038209 + ReturnStatement 3038070 3038190 + CallExpression 3038098 3038189 + Identifier 3038098 3038117 + Identifier 3038118 3038122 + PropertyAccessExpression 3038123 3038188 + Identifier 3038123 3038135 + Identifier 3038136 3038188 + SwitchStatement 3038209 3038759 + Identifier 3038235 3038249 + CaseBlock 3038250 3038759 + CaseClause 3038252 3038422 + PropertyAccessExpression 3038278 3038299 + Identifier 3038278 3038288 + Identifier 3038289 3038299 + ReturnStatement 3038300 3038422 + CallExpression 3038332 3038421 + Identifier 3038332 3038351 + Identifier 3038352 3038356 + PropertyAccessExpression 3038357 3038405 + Identifier 3038357 3038369 + Identifier 3038370 3038405 + StringLiteral 3038406 3038420 + CaseClause 3038422 3038581 + PropertyAccessExpression 3038448 3038464 + Identifier 3038448 3038458 + Identifier 3038459 3038464 + ReturnStatement 3038465 3038581 + CallExpression 3038497 3038580 + Identifier 3038497 3038516 + Identifier 3038517 3038521 + PropertyAccessExpression 3038522 3038570 + Identifier 3038522 3038534 + Identifier 3038535 3038570 + StringLiteral 3038571 3038579 + CaseClause 3038581 3038740 + PropertyAccessExpression 3038607 3038623 + Identifier 3038607 3038617 + Identifier 3038618 3038623 + ReturnStatement 3038624 3038740 + CallExpression 3038656 3038739 + Identifier 3038656 3038675 + Identifier 3038676 3038680 + PropertyAccessExpression 3038681 3038729 + Identifier 3038681 3038693 + Identifier 3038694 3038729 + StringLiteral 3038730 3038738 + IfStatement 3038785 3039432 + BinaryExpression 3038801 3038951 + PropertyAccessExpression 3038801 3038822 + Identifier 3038801 3038805 + Identifier 3038806 3038822 + AmpersandAmpersandToken 3038822 3038825 + ParenthesizedExpression 3038825 3038951 + BinaryExpression 3038827 3038950 + BinaryExpression 3038827 3038917 + BinaryExpression 3038827 3038897 + BinaryExpression 3038827 3038883 + PropertyAccessExpression 3038827 3038850 + PropertyAccessExpression 3038827 3038845 + PropertyAccessExpression 3038827 3038838 + Identifier 3038827 3038831 + Identifier 3038832 3038838 + Identifier 3038839 3038845 + Identifier 3038846 3038850 + ExclamationEqualsEqualsToken 3038850 3038854 + PropertyAccessExpression 3038854 3038883 + Identifier 3038854 3038865 + Identifier 3038866 3038883 + BarBarToken 3038883 3038886 + PrefixUnaryExpression 3038886 3038897 + PropertyAccessExpression 3038888 3038897 + Identifier 3038888 3038892 + Identifier 3038893 3038897 + BarBarToken 3038897 3038900 + PropertyAccessExpression 3038900 3038917 + Identifier 3038900 3038905 + Identifier 3038906 3038917 + BarBarToken 3038917 3038920 + BinaryExpression 3038920 3038950 + Identifier 3038920 3038930 + AmpersandToken 3038930 3038932 + PropertyAccessExpression 3038932 3038950 + Identifier 3038932 3038942 + Identifier 3038943 3038950 + Block 3038952 3039432 + VariableStatement 3038954 3039349 + VariableDeclarationList 3038954 3039348 + VariableDeclaration 3038973 3039348 + Identifier 3038973 3038981 + ConditionalExpression 3038983 3039348 + PropertyAccessExpression 3038983 3039000 + Identifier 3038983 3038988 + Identifier 3038989 3039000 + QuestionToken 3039000 3039019 + PropertyAccessExpression 3039019 3039110 + Identifier 3039019 3039031 + Identifier 3039032 3039110 + ColonToken 3039110 3039129 + ConditionalExpression 3039129 3039348 + PrefixUnaryExpression 3039129 3039140 + PropertyAccessExpression 3039131 3039140 + Identifier 3039131 3039135 + Identifier 3039136 3039140 + QuestionToken 3039140 3039159 + PropertyAccessExpression 3039159 3039252 + Identifier 3039159 3039171 + Identifier 3039172 3039252 + ColonToken 3039252 3039271 + PropertyAccessExpression 3039271 3039348 + Identifier 3039271 3039283 + Identifier 3039284 3039348 + ReturnStatement 3039349 3039421 + CallExpression 3039369 3039420 + Identifier 3039369 3039388 + PropertyAccessExpression 3039389 3039410 + Identifier 3039389 3039393 + Identifier 3039394 3039410 + Identifier 3039411 3039419 + IfStatement 3039432 3039738 + BinaryExpression 3039448 3039669 + BinaryExpression 3039448 3039603 + BinaryExpression 3039448 3039539 + CallExpression 3039448 3039519 + PropertyAccessExpression 3039448 3039492 + Identifier 3039448 3039466 + Identifier 3039467 3039492 + CallExpression 3039493 3039518 + Identifier 3039493 3039512 + Identifier 3039513 3039517 + LessThanToken 3039519 3039521 + PropertyAccessExpression 3039521 3039539 + Identifier 3039521 3039532 + Identifier 3039533 3039539 + AmpersandAmpersandToken 3039539 3039542 + PrefixUnaryExpression 3039542 3039603 + ParenthesizedExpression 3039557 3039603 + BinaryExpression 3039558 3039602 + PropertyAccessExpression 3039558 3039582 + PropertyAccessExpression 3039558 3039576 + PropertyAccessExpression 3039558 3039569 + Identifier 3039558 3039562 + Identifier 3039563 3039569 + Identifier 3039570 3039576 + Identifier 3039577 3039582 + AmpersandToken 3039582 3039584 + PropertyAccessExpression 3039584 3039602 + Identifier 3039584 3039594 + Identifier 3039595 3039602 + AmpersandAmpersandToken 3039603 3039606 + CallExpression 3039606 3039669 + Identifier 3039606 3039627 + PropertyAccessExpression 3039628 3039646 + PropertyAccessExpression 3039628 3039639 + Identifier 3039628 3039632 + Identifier 3039633 3039639 + Identifier 3039640 3039646 + PropertyAccessExpression 3039647 3039668 + Identifier 3039647 3039661 + Identifier 3039662 3039668 + Block 3039680 3039738 + ExpressionStatement 3039682 3039727 + CallExpression 3039682 3039726 + Identifier 3039682 3039715 + PropertyAccessExpression 3039716 3039725 + Identifier 3039716 3039720 + Identifier 3039721 3039725 + ReturnStatement 3039738 3040291 + BinaryExpression 3040218 3040290 + PrefixUnaryExpression 3040218 3040235 + PrefixUnaryExpression 3040220 3040235 + Identifier 3040221 3040235 + AmpersandAmpersandToken 3040235 3040238 + CallExpression 3040238 3040290 + Identifier 3040238 3040279 + PropertyAccessExpression 3040280 3040289 + Identifier 3040280 3040284 + Identifier 3040285 3040289 + FunctionDeclaration 3040298 3040990 + Identifier 3040314 3040334 + Parameter 3040335 3040368 + Identifier 3040335 3040339 + UnionType 3040340 3040368 + TypeReference 3040340 3040351 + Identifier 3040340 3040351 + TypeReference 3040353 3040368 + Identifier 3040353 3040368 + BooleanKeyword 3040370 3040378 + Block 3040378 3040990 + IfStatement 3040380 3040960 + BinaryExpression 3040394 3040429 + PropertyAccessExpression 3040394 3040403 + Identifier 3040394 3040398 + Identifier 3040399 3040403 + EqualsEqualsEqualsToken 3040403 3040407 + PropertyAccessExpression 3040407 3040429 + Identifier 3040407 3040418 + Identifier 3040419 3040429 + Block 3040430 3040690 + IfStatement 3040432 3040679 + BinaryExpression 3040450 3040479 + CallExpression 3040450 3040462 + Identifier 3040450 3040456 + Identifier 3040457 3040461 + EqualsEqualsEqualsToken 3040462 3040466 + StringLiteral 3040466 3040479 + Block 3040480 3040679 + ReturnStatement 3040482 3040664 + CallExpression 3040506 3040663 + Identifier 3040506 3040534 + StringLiteral 3040535 3040543 + Identifier 3040544 3040549 + PropertyAccessExpression 3040550 3040662 + Identifier 3040550 3040562 + Identifier 3040563 3040662 + Block 3040704 3040960 + VariableStatement 3040706 3040751 + VariableDeclarationList 3040706 3040750 + VariableDeclaration 3040725 3040750 + Identifier 3040725 3040734 + PropertyAccessExpression 3040736 3040750 + Identifier 3040736 3040741 + Identifier 3040742 3040750 + ForOfStatement 3040751 3040949 + VariableDeclarationList 3040770 3040783 + VariableDeclaration 3040775 3040783 + Identifier 3040775 3040783 + Identifier 3040786 3040795 + Block 3040796 3040949 + IfStatement 3040798 3040934 + PrefixUnaryExpression 3040820 3040849 + CallExpression 3040821 3040849 + Identifier 3040821 3040840 + Identifier 3040841 3040848 + Block 3040850 3040934 + ReturnStatement 3040852 3040915 + CallExpression 3040880 3040914 + Identifier 3040880 3040900 + PropertyAccessExpression 3040901 3040913 + Identifier 3040901 3040908 + Identifier 3040909 3040913 + ReturnStatement 3040960 3040983 + FalseKeyword 3040976 3040982 + FunctionDeclaration 3040990 3041664 + Identifier 3041006 3041047 + Parameter 3041048 3041081 + Identifier 3041048 3041052 + UnionType 3041053 3041081 + TypeReference 3041053 3041064 + Identifier 3041053 3041064 + TypeReference 3041066 3041081 + Identifier 3041066 3041081 + BooleanKeyword 3041083 3041091 + Block 3041091 3041664 + IfStatement 3041093 3041634 + BinaryExpression 3041107 3041142 + PropertyAccessExpression 3041107 3041116 + Identifier 3041107 3041111 + Identifier 3041112 3041116 + EqualsEqualsEqualsToken 3041116 3041120 + PropertyAccessExpression 3041120 3041142 + Identifier 3041120 3041131 + Identifier 3041132 3041142 + Block 3041143 3041350 + IfStatement 3041145 3041339 + BinaryExpression 3041163 3041189 + PropertyAccessExpression 3041163 3041179 + Identifier 3041163 3041167 + Identifier 3041168 3041179 + EqualsEqualsEqualsToken 3041179 3041183 + StringLiteral 3041183 3041189 + Block 3041190 3041339 + ReturnStatement 3041192 3041324 + CallExpression 3041216 3041323 + Identifier 3041216 3041235 + Identifier 3041236 3041240 + PropertyAccessExpression 3041241 3041322 + Identifier 3041241 3041253 + Identifier 3041254 3041322 + Block 3041364 3041634 + VariableStatement 3041366 3041411 + VariableDeclarationList 3041366 3041410 + VariableDeclaration 3041385 3041410 + Identifier 3041385 3041394 + PropertyAccessExpression 3041396 3041410 + Identifier 3041396 3041401 + Identifier 3041402 3041410 + ForOfStatement 3041411 3041623 + VariableDeclarationList 3041430 3041443 + VariableDeclaration 3041435 3041443 + Identifier 3041435 3041443 + Identifier 3041446 3041455 + Block 3041456 3041623 + IfStatement 3041458 3041608 + PrefixUnaryExpression 3041480 3041509 + CallExpression 3041481 3041509 + Identifier 3041481 3041500 + Identifier 3041501 3041508 + Block 3041510 3041608 + ExpressionStatement 3041512 3041589 + CallExpression 3041512 3041588 + Identifier 3041512 3041574 + PropertyAccessExpression 3041575 3041587 + Identifier 3041575 3041582 + Identifier 3041583 3041587 + ReturnStatement 3041634 3041657 + FalseKeyword 3041650 3041656 + FunctionDeclaration 3041664 3042939 + Identifier 3041680 3041716 + Parameter 3041717 3041757 + Identifier 3041717 3041732 + TypeReference 3041733 3041757 + Identifier 3041733 3041757 + BooleanKeyword 3041759 3041767 + Block 3041767 3042939 + VariableStatement 3041769 3041829 + VariableDeclarationList 3041769 3041828 + VariableDeclaration 3041784 3041828 + Identifier 3041784 3041797 + PropertyAccessExpression 3041799 3041828 + Identifier 3041799 3041815 + Identifier 3041816 3041828 + IfStatement 3041829 3041951 + CallExpression 3041843 3041911 + Identifier 3041843 3041881 + PropertyAccessExpression 3041882 3041910 + Identifier 3041882 3041897 + Identifier 3041898 3041910 + Block 3041912 3041951 + ReturnStatement 3041914 3041940 + TrueKeyword 3041934 3041939 + IfStatement 3041951 3042183 + PrefixUnaryExpression 3041967 3042003 + PropertyAccessExpression 3041968 3042003 + PropertyAccessExpression 3041968 3041996 + Identifier 3041968 3041983 + Identifier 3041984 3041996 + Identifier 3041997 3042003 + Block 3042004 3042183 + ReturnStatement 3042006 3042172 + CallExpression 3042026 3042171 + Identifier 3042026 3042044 + Identifier 3042045 3042060 + PropertyAccessExpression 3042061 3042078 + Identifier 3042061 3042074 + Identifier 3042075 3042078 + BinaryExpression 3042079 3042115 + PropertyAccessExpression 3042079 3042096 + Identifier 3042079 3042092 + Identifier 3042093 3042096 + MinusToken 3042096 3042098 + PropertyAccessExpression 3042098 3042115 + Identifier 3042098 3042111 + Identifier 3042112 3042115 + PropertyAccessExpression 3042116 3042170 + Identifier 3042116 3042128 + Identifier 3042129 3042170 + VariableStatement 3042183 3042265 + VariableDeclarationList 3042183 3042264 + VariableDeclaration 3042200 3042264 + Identifier 3042200 3042216 + BinaryExpression 3042218 3042264 + PropertyAccessExpression 3042218 3042240 + Identifier 3042218 3042234 + Identifier 3042235 3042240 + AmpersandToken 3042240 3042242 + PropertyAccessExpression 3042242 3042264 + Identifier 3042242 3042252 + Identifier 3042253 3042264 + IfStatement 3042265 3042781 + BinaryExpression 3042279 3042404 + ParenthesizedExpression 3042279 3042360 + BinaryExpression 3042280 3042359 + BinaryExpression 3042280 3042315 + Identifier 3042280 3042295 + EqualsEqualsEqualsToken 3042295 3042299 + PropertyAccessExpression 3042299 3042315 + Identifier 3042299 3042309 + Identifier 3042310 3042315 + BarBarToken 3042315 3042318 + BinaryExpression 3042318 3042359 + Identifier 3042318 3042334 + EqualsEqualsEqualsToken 3042334 3042338 + PropertyAccessExpression 3042338 3042359 + Identifier 3042338 3042348 + Identifier 3042349 3042359 + AmpersandAmpersandToken 3042360 3042363 + CallExpression 3042363 3042404 + Identifier 3042363 3042380 + PropertyAccessExpression 3042381 3042403 + Identifier 3042381 3042396 + Identifier 3042397 3042403 + Block 3042405 3042781 + ReturnStatement 3042407 3042770 + CallExpression 3042427 3042769 + Identifier 3042427 3042446 + Identifier 3042447 3042480 + ConditionalExpression 3042481 3042753 + BinaryExpression 3042481 3042534 + Identifier 3042481 3042514 + EqualsEqualsEqualsToken 3042514 3042518 + PropertyAccessExpression 3042518 3042534 + Identifier 3042518 3042528 + Identifier 3042529 3042534 + QuestionToken 3042534 3042536 + PropertyAccessExpression 3042536 3042640 + Identifier 3042536 3042569 + Identifier 3042570 3042640 + ColonToken 3042640 3042642 + PropertyAccessExpression 3042642 3042753 + Identifier 3042642 3042675 + Identifier 3042676 3042753 + IfStatement 3042781 3042907 + BinaryExpression 3042797 3042837 + Identifier 3042797 3042812 + EqualsEqualsEqualsToken 3042812 3042816 + PropertyAccessExpression 3042816 3042837 + Identifier 3042816 3042826 + Identifier 3042827 3042837 + Block 3042838 3042907 + ReturnStatement 3042840 3042896 + CallExpression 3042860 3042895 + Identifier 3042860 3042878 + Identifier 3042879 3042894 + ReturnStatement 3042907 3042932 + FalseKeyword 3042925 3042931 + FunctionDeclaration 3042939 3043524 + Identifier 3042955 3042978 + Parameter 3042979 3042991 + Identifier 3042979 3042985 + TypeReference 3042986 3042991 + Identifier 3042986 3042991 + BooleanKeyword 3042993 3043001 + Block 3043001 3043524 + SwitchStatement 3043003 3043493 + PropertyAccessExpression 3043021 3043032 + Identifier 3043021 3043027 + Identifier 3043028 3043032 + CaseBlock 3043033 3043493 + CaseClause 3043035 3043077 + PropertyAccessExpression 3043053 3043076 + Identifier 3043053 3043064 + Identifier 3043065 3043076 + CaseClause 3043077 3043119 + PropertyAccessExpression 3043095 3043118 + Identifier 3043095 3043106 + Identifier 3043107 3043118 + CaseClause 3043119 3043164 + PropertyAccessExpression 3043137 3043163 + Identifier 3043137 3043148 + Identifier 3043149 3043163 + CaseClause 3043164 3043208 + PropertyAccessExpression 3043182 3043207 + Identifier 3043182 3043193 + Identifier 3043194 3043207 + CaseClause 3043208 3043251 + PropertyAccessExpression 3043226 3043250 + Identifier 3043226 3043237 + Identifier 3043238 3043250 + CaseClause 3043251 3043296 + PropertyAccessExpression 3043269 3043295 + Identifier 3043269 3043280 + Identifier 3043281 3043295 + CaseClause 3043296 3043372 + PropertyAccessExpression 3043314 3043340 + Identifier 3043314 3043325 + Identifier 3043326 3043340 + ReturnStatement 3043341 3043372 + FalseKeyword 3043365 3043371 + CaseClause 3043372 3043482 + PropertyAccessExpression 3043390 3043418 + Identifier 3043390 3043401 + Identifier 3043402 3043418 + ReturnStatement 3043419 3043482 + CallExpression 3043443 3043481 + Identifier 3043443 3043466 + PropertyAccessExpression 3043467 3043480 + Identifier 3043467 3043473 + Identifier 3043474 3043480 + ReturnStatement 3043493 3043517 + TrueKeyword 3043511 3043516 + FunctionDeclaration 3043524 3044327 + Identifier 3043540 3043594 + Parameter 3043595 3043618 + Identifier 3043595 3043599 + TypeReference 3043600 3043618 + Identifier 3043600 3043618 + Block 3043619 3044327 + IfStatement 3043621 3044320 + PrefixUnaryExpression 3043635 3043671 + CallExpression 3043636 3043671 + Identifier 3043636 3043658 + PropertyAccessExpression 3043659 3043670 + Identifier 3043659 3043663 + Identifier 3043664 3043670 + Block 3043672 3044320 + VariableStatement 3043674 3043784 + VariableDeclarationList 3043674 3043783 + VariableDeclaration 3043693 3043783 + Identifier 3043693 3043708 + BinaryExpression 3043710 3043783 + CallExpression 3043710 3043759 + Identifier 3043710 3043737 + PropertyAccessExpression 3043738 3043758 + Identifier 3043738 3043742 + Identifier 3043743 3043758 + AmpersandToken 3043759 3043761 + PropertyAccessExpression 3043761 3043783 + Identifier 3043761 3043771 + Identifier 3043772 3043783 + IfStatement 3043784 3044309 + Identifier 3043802 3043816 + Block 3043817 3044309 + VariableStatement 3043819 3044170 + VariableDeclarationList 3043819 3044169 + VariableDeclaration 3043842 3044169 + Identifier 3043842 3043850 + ConditionalExpression 3043852 3044169 + BinaryExpression 3043852 3043885 + Identifier 3043852 3043867 + EqualsEqualsEqualsToken 3043867 3043871 + PropertyAccessExpression 3043871 3043885 + Identifier 3043871 3043881 + Identifier 3043882 3043885 + QuestionToken 3043885 3043887 + StringLiteral 3043887 3043893 + ColonToken 3043893 3043895 + ConditionalExpression 3043895 3044169 + BinaryExpression 3043895 3043951 + Identifier 3043895 3043931 + EqualsEqualsEqualsToken 3043931 3043935 + PropertyAccessExpression 3043935 3043951 + Identifier 3043935 3043945 + Identifier 3043946 3043951 + QuestionToken 3043951 3043953 + StringLiteral 3043953 3043961 + ColonToken 3043961 3043963 + ConditionalExpression 3043963 3044169 + BinaryExpression 3043963 3044019 + Identifier 3043963 3043999 + EqualsEqualsEqualsToken 3043999 3044003 + PropertyAccessExpression 3044003 3044019 + Identifier 3044003 3044013 + Identifier 3044014 3044019 + QuestionToken 3044019 3044021 + StringLiteral 3044021 3044029 + ColonToken 3044029 3044031 + ConditionalExpression 3044031 3044169 + BinaryExpression 3044031 3044092 + Identifier 3044031 3044067 + EqualsEqualsEqualsToken 3044067 3044071 + PropertyAccessExpression 3044071 3044092 + Identifier 3044071 3044081 + Identifier 3044082 3044092 + QuestionToken 3044092 3044094 + StringLiteral 3044094 3044108 + ColonToken 3044108 3044110 + CallExpression 3044110 3044169 + PropertyAccessExpression 3044110 3044142 + Identifier 3044110 3044137 + Identifier 3044138 3044142 + StringLiteral 3044143 3044168 + ReturnStatement 3044170 3044294 + CallExpression 3044194 3044293 + Identifier 3044194 3044213 + Identifier 3044214 3044218 + PropertyAccessExpression 3044219 3044283 + Identifier 3044219 3044231 + Identifier 3044232 3044283 + Identifier 3044284 3044292 + FunctionDeclaration 3044327 3045219 + Identifier 3044343 3044368 + Parameter 3044369 3044387 + Identifier 3044369 3044373 + TypeReference 3044374 3044387 + Identifier 3044374 3044387 + Block 3044388 3045219 + VariableStatement 3044390 3044442 + VariableDeclarationList 3044390 3044441 + VariableDeclaration 3044405 3044441 + Identifier 3044405 3044417 + PropertyAccessExpression 3044419 3044441 + PropertyAccessExpression 3044419 3044429 + Identifier 3044419 3044424 + Identifier 3044425 3044429 + Identifier 3044430 3044441 + SwitchStatement 3044442 3045212 + PropertyAccessExpression 3044460 3044477 + Identifier 3044460 3044464 + Identifier 3044465 3044477 + CaseBlock 3044478 3045212 + CaseClause 3044480 3044841 + PropertyAccessExpression 3044498 3044520 + Identifier 3044498 3044509 + Identifier 3044510 3044520 + IfStatement 3044521 3044817 + BinaryExpression 3044543 3044567 + Identifier 3044543 3044554 + ExclamationEqualsEqualsToken 3044554 3044558 + StringLiteral 3044558 3044567 + Block 3044568 3044817 + ReturnStatement 3044570 3044798 + CallExpression 3044598 3044797 + Identifier 3044598 3044617 + PropertyAccessExpression 3044618 3044627 + Identifier 3044618 3044622 + Identifier 3044623 3044627 + PropertyAccessExpression 3044628 3044701 + Identifier 3044628 3044640 + Identifier 3044641 3044701 + CallExpression 3044702 3044752 + Identifier 3044702 3044729 + PropertyAccessExpression 3044730 3044751 + PropertyAccessExpression 3044730 3044739 + Identifier 3044730 3044734 + Identifier 3044735 3044739 + Identifier 3044740 3044751 + CallExpression 3044753 3044786 + Identifier 3044753 3044767 + PropertyAccessExpression 3044768 3044785 + Identifier 3044768 3044772 + Identifier 3044773 3044785 + StringLiteral 3044787 3044796 + BreakStatement 3044817 3044841 + CaseClause 3044841 3045201 + PropertyAccessExpression 3044859 3044884 + Identifier 3044859 3044870 + Identifier 3044871 3044884 + IfStatement 3044885 3045177 + BinaryExpression 3044907 3044929 + Identifier 3044907 3044918 + ExclamationEqualsEqualsToken 3044918 3044922 + StringLiteral 3044922 3044929 + Block 3044930 3045177 + ReturnStatement 3044932 3045158 + CallExpression 3044960 3045157 + Identifier 3044960 3044979 + PropertyAccessExpression 3044980 3044989 + Identifier 3044980 3044984 + Identifier 3044985 3044989 + PropertyAccessExpression 3044990 3045063 + Identifier 3044990 3045002 + Identifier 3045003 3045063 + CallExpression 3045064 3045114 + Identifier 3045064 3045091 + PropertyAccessExpression 3045092 3045113 + PropertyAccessExpression 3045092 3045101 + Identifier 3045092 3045096 + Identifier 3045097 3045101 + Identifier 3045102 3045113 + CallExpression 3045115 3045148 + Identifier 3045115 3045129 + PropertyAccessExpression 3045130 3045147 + Identifier 3045130 3045134 + Identifier 3045135 3045147 + StringLiteral 3045149 3045156 + BreakStatement 3045177 3045201 + FunctionDeclaration 3045219 3045353 + Identifier 3045235 3045255 + Parameter 3045256 3045278 + Identifier 3045256 3045266 + TypeReference 3045267 3045278 + Identifier 3045267 3045278 + BooleanKeyword 3045280 3045288 + Block 3045288 3045353 + ReturnStatement 3045290 3045346 + BinaryExpression 3045306 3045345 + PropertyAccessExpression 3045306 3045341 + PropertyAccessExpression 3045306 3045334 + Identifier 3045306 3045317 + Identifier 3045318 3045334 + Identifier 3045335 3045341 + GreaterThanToken 3045341 3045343 + NumericLiteral 3045343 3045345 + FunctionDeclaration 3045353 3045827 + Identifier 3045369 3045394 + Parameter 3045395 3045405 + Identifier 3045395 3045399 + TypeReference 3045400 3045405 + Identifier 3045400 3045405 + Parameter 3045406 3045433 + Identifier 3045406 3045414 + TypeReference 3045415 3045433 + Identifier 3045415 3045433 + Parameter 3045434 3045463 + DotDotDotToken 3045434 3045438 + Identifier 3045438 3045442 + TypeReference 3045443 3045463 + Identifier 3045443 3045463 + BooleanKeyword 3045465 3045473 + Block 3045473 3045827 + VariableStatement 3045475 3045530 + VariableDeclarationList 3045475 3045529 + VariableDeclaration 3045490 3045529 + Identifier 3045490 3045501 + CallExpression 3045503 3045529 + Identifier 3045503 3045523 + Identifier 3045524 3045528 + IfStatement 3045530 3045797 + PrefixUnaryExpression 3045544 3045576 + CallExpression 3045545 3045576 + Identifier 3045545 3045564 + Identifier 3045565 3045575 + Block 3045577 3045797 + VariableStatement 3045579 3045653 + VariableDeclarationList 3045579 3045652 + VariableDeclaration 3045598 3045652 + Identifier 3045598 3045603 + CallExpression 3045605 3045652 + Identifier 3045605 3045630 + Identifier 3045631 3045641 + PropertyAccessExpression 3045642 3045651 + Identifier 3045642 3045647 + Identifier 3045648 3045651 + ExpressionStatement 3045653 3045760 + CallExpression 3045653 3045759 + PropertyAccessExpression 3045653 3045682 + Identifier 3045653 3045678 + Identifier 3045679 3045682 + CallExpression 3045683 3045758 + Identifier 3045683 3045703 + Identifier 3045704 3045714 + PropertyAccessExpression 3045715 3045726 + Identifier 3045715 3045720 + Identifier 3045721 3045726 + PropertyAccessExpression 3045727 3045739 + Identifier 3045727 3045732 + Identifier 3045733 3045739 + Identifier 3045740 3045748 + SpreadElement 3045749 3045757 + Identifier 3045753 3045757 + ReturnStatement 3045760 3045786 + TrueKeyword 3045780 3045785 + ReturnStatement 3045797 3045820 + FalseKeyword 3045813 3045819 + FunctionDeclaration 3045827 3046267 + Identifier 3045843 3045861 + Parameter 3045862 3045885 + Identifier 3045862 3045879 + TypeReference 3045880 3045885 + Identifier 3045880 3045885 + Parameter 3045886 3045900 + Identifier 3045886 3045892 + NumberKeyword 3045893 3045900 + Parameter 3045901 3045916 + Identifier 3045901 3045908 + NumberKeyword 3045909 3045916 + Parameter 3045917 3045944 + Identifier 3045917 3045925 + TypeReference 3045926 3045944 + Identifier 3045926 3045944 + Parameter 3045945 3045974 + DotDotDotToken 3045945 3045949 + Identifier 3045949 3045953 + TypeReference 3045954 3045974 + Identifier 3045954 3045974 + BooleanKeyword 3045976 3045984 + Block 3045984 3046267 + VariableStatement 3045986 3046054 + VariableDeclarationList 3045986 3046053 + VariableDeclaration 3046001 3046053 + Identifier 3046001 3046012 + CallExpression 3046014 3046053 + Identifier 3046014 3046034 + Identifier 3046035 3046052 + IfStatement 3046054 3046237 + PrefixUnaryExpression 3046068 3046100 + CallExpression 3046069 3046100 + Identifier 3046069 3046088 + Identifier 3046089 3046099 + Block 3046101 3046237 + ExpressionStatement 3046103 3046200 + CallExpression 3046103 3046199 + PropertyAccessExpression 3046103 3046132 + Identifier 3046103 3046128 + Identifier 3046129 3046132 + CallExpression 3046133 3046198 + Identifier 3046133 3046153 + Identifier 3046154 3046164 + Identifier 3046165 3046171 + Identifier 3046172 3046179 + Identifier 3046180 3046188 + SpreadElement 3046189 3046197 + Identifier 3046193 3046197 + ReturnStatement 3046200 3046226 + TrueKeyword 3046220 3046225 + ReturnStatement 3046237 3046260 + FalseKeyword 3046253 3046259 + FunctionDeclaration 3046267 3046649 + Identifier 3046283 3046311 + Parameter 3046312 3046338 + Identifier 3046312 3046315 + TypeOperator 3046316 3046338 + TypeReference 3046322 3046338 + Identifier 3046322 3046338 + Parameter 3046339 3046350 + Identifier 3046339 3046344 + TypeReference 3046345 3046350 + Identifier 3046345 3046350 + Parameter 3046351 3046378 + Identifier 3046351 3046359 + TypeReference 3046360 3046378 + Identifier 3046360 3046378 + Parameter 3046379 3046408 + DotDotDotToken 3046379 3046383 + Identifier 3046383 3046387 + TypeReference 3046388 3046408 + Identifier 3046388 3046408 + BooleanKeyword 3046410 3046418 + Block 3046418 3046649 + VariableStatement 3046420 3046475 + VariableDeclarationList 3046420 3046474 + VariableDeclaration 3046435 3046474 + Identifier 3046435 3046446 + CallExpression 3046448 3046474 + Identifier 3046448 3046468 + Identifier 3046469 3046473 + IfStatement 3046475 3046619 + PrefixUnaryExpression 3046489 3046521 + CallExpression 3046490 3046521 + Identifier 3046490 3046509 + Identifier 3046510 3046520 + Block 3046522 3046619 + ExpressionStatement 3046524 3046582 + CallExpression 3046524 3046581 + Identifier 3046524 3046552 + Identifier 3046553 3046556 + Identifier 3046557 3046562 + Identifier 3046563 3046571 + SpreadElement 3046572 3046580 + Identifier 3046576 3046580 + ReturnStatement 3046582 3046608 + TrueKeyword 3046602 3046607 + ReturnStatement 3046619 3046642 + FalseKeyword 3046635 3046641 + FunctionDeclaration 3046649 3047015 + Identifier 3046665 3046684 + Parameter 3046685 3046695 + Identifier 3046685 3046689 + TypeReference 3046690 3046695 + Identifier 3046690 3046695 + Parameter 3046696 3046723 + Identifier 3046696 3046704 + TypeReference 3046705 3046723 + Identifier 3046705 3046723 + Parameter 3046724 3046753 + DotDotDotToken 3046724 3046728 + Identifier 3046728 3046732 + TypeReference 3046733 3046753 + Identifier 3046733 3046753 + BooleanKeyword 3046755 3046763 + Block 3046763 3047015 + VariableStatement 3046765 3046820 + VariableDeclarationList 3046765 3046819 + VariableDeclaration 3046780 3046819 + Identifier 3046780 3046791 + CallExpression 3046793 3046819 + Identifier 3046793 3046813 + Identifier 3046814 3046818 + IfStatement 3046820 3046985 + PrefixUnaryExpression 3046834 3046866 + CallExpression 3046835 3046866 + Identifier 3046835 3046854 + Identifier 3046855 3046865 + Block 3046867 3046985 + ExpressionStatement 3046869 3046948 + CallExpression 3046869 3046947 + PropertyAccessExpression 3046869 3046898 + Identifier 3046869 3046894 + Identifier 3046895 3046898 + CallExpression 3046899 3046946 + Identifier 3046899 3046922 + Identifier 3046923 3046927 + Identifier 3046928 3046936 + SpreadElement 3046937 3046945 + Identifier 3046941 3046945 + ReturnStatement 3046948 3046974 + TrueKeyword 3046968 3046973 + ReturnStatement 3046985 3047008 + FalseKeyword 3047001 3047007 + FunctionDeclaration 3047015 3047615 + Identifier 3047031 3047069 + Parameter 3047070 3047098 + Identifier 3047070 3047074 + TypeReference 3047075 3047098 + Identifier 3047075 3047098 + Block 3047099 3047615 + VariableStatement 3047101 3047210 + VariableDeclarationList 3047101 3047209 + VariableDeclaration 3047116 3047209 + Identifier 3047116 3047136 + ConditionalExpression 3047138 3047209 + CallExpression 3047138 3047155 + Identifier 3047138 3047149 + Identifier 3047150 3047154 + QuestionToken 3047155 3047157 + CallExpression 3047157 3047197 + Identifier 3047157 3047191 + Identifier 3047192 3047196 + ColonToken 3047197 3047199 + Identifier 3047199 3047209 + VariableStatement 3047210 3047318 + VariableDeclarationList 3047210 3047317 + VariableDeclaration 3047225 3047317 + Identifier 3047225 3047231 + BinaryExpression 3047233 3047317 + PropertyAccessExpression 3047233 3047253 + Identifier 3047233 3047238 + Identifier 3047239 3047253 + BarBarToken 3047253 3047256 + BinaryExpression 3047256 3047317 + Identifier 3047256 3047276 + AmpersandAmpersandToken 3047276 3047279 + CallExpression 3047279 3047317 + Identifier 3047279 3047296 + Identifier 3047297 3047316 + IfStatement 3047318 3047608 + Identifier 3047332 3047337 + Block 3047338 3047608 + VariableStatement 3047340 3047458 + VariableDeclarationList 3047340 3047457 + VariableDeclaration 3047359 3047457 + Identifier 3047359 3047363 + ConditionalExpression 3047365 3047457 + BinaryExpression 3047365 3047389 + PropertyAccessExpression 3047365 3047375 + Identifier 3047365 3047371 + Identifier 3047372 3047375 + EqualsEqualsEqualsToken 3047375 3047379 + PropertyAccessExpression 3047379 3047389 + Identifier 3047379 3047385 + Identifier 3047386 3047389 + QuestionToken 3047389 3047391 + PropertyAccessExpression 3047391 3047401 + Identifier 3047391 3047397 + Identifier 3047398 3047401 + ColonToken 3047401 3047403 + CallExpression 3047403 3047457 + Identifier 3047403 3047414 + PropertyAccessExpression 3047415 3047445 + CallExpression 3047415 3047440 + Identifier 3047415 3047434 + Identifier 3047435 3047439 + Identifier 3047441 3047445 + PropertyAccessExpression 3047446 3047456 + Identifier 3047446 3047452 + Identifier 3047453 3047456 + ReturnStatement 3047458 3047597 + CallExpression 3047478 3047596 + Identifier 3047478 3047496 + Identifier 3047497 3047501 + Identifier 3047502 3047506 + BinaryExpression 3047507 3047523 + PropertyAccessExpression 3047507 3047517 + Identifier 3047507 3047513 + Identifier 3047514 3047517 + MinusToken 3047517 3047519 + Identifier 3047519 3047523 + PropertyAccessExpression 3047524 3047595 + Identifier 3047524 3047536 + Identifier 3047537 3047595 + FunctionDeclaration 3047615 3047927 + Identifier 3047631 3047669 + Parameter 3047670 3047698 + Identifier 3047670 3047674 + TypeReference 3047675 3047698 + Identifier 3047675 3047698 + Block 3047699 3047927 + VariableStatement 3047701 3047770 + VariableDeclarationList 3047701 3047769 + VariableDeclaration 3047716 3047769 + Identifier 3047716 3047721 + BinaryExpression 3047723 3047769 + PropertyAccessExpression 3047723 3047733 + Identifier 3047723 3047728 + Identifier 3047729 3047733 + BarBarToken 3047733 3047736 + CallExpression 3047736 3047769 + Identifier 3047736 3047763 + Identifier 3047764 3047768 + IfStatement 3047770 3047920 + Identifier 3047784 3047788 + Block 3047789 3047920 + ReturnStatement 3047791 3047909 + CallExpression 3047811 3047908 + Identifier 3047811 3047830 + Identifier 3047831 3047835 + PropertyAccessExpression 3047836 3047907 + Identifier 3047836 3047848 + Identifier 3047849 3047907 + FunctionDeclaration 3047927 3051670 + Identifier 3047943 3047964 + Parameter 3047965 3048010 + Identifier 3047965 3047969 + UnionType 3047970 3048010 + TypeReference 3047970 3047990 + Identifier 3047970 3047990 + TypeReference 3047992 3048010 + Identifier 3047992 3048010 + Block 3048011 3051670 + IfStatement 3048013 3048315 + BinaryExpression 3048027 3048172 + BinaryExpression 3048027 3048104 + CallExpression 3048027 3048060 + Identifier 3048027 3048049 + PropertyAccessExpression 3048050 3048059 + Identifier 3048050 3048054 + Identifier 3048055 3048059 + AmpersandAmpersandToken 3048060 3048063 + CallExpression 3048063 3048104 + Identifier 3048063 3048082 + PropertyAccessExpression 3048083 3048103 + PropertyAccessExpression 3048083 3048092 + Identifier 3048083 3048087 + Identifier 3048088 3048092 + Identifier 3048093 3048103 + AmpersandAmpersandToken 3048104 3048107 + BinaryExpression 3048107 3048172 + PropertyAccessExpression 3048107 3048147 + PropertyAccessExpression 3048107 3048142 + PropertyAccessExpression 3048107 3048128 + PropertyAccessExpression 3048107 3048117 + Identifier 3048107 3048112 + Identifier 3048113 3048117 + Identifier 3048118 3048128 + Identifier 3048129 3048142 + Identifier 3048143 3048147 + EqualsEqualsEqualsToken 3048147 3048151 + PropertyAccessExpression 3048151 3048172 + Identifier 3048151 3048162 + Identifier 3048163 3048172 + Block 3048173 3048315 + ReturnStatement 3048175 3048304 + CallExpression 3048195 3048303 + Identifier 3048195 3048214 + ElementAccessExpression 3048215 3048237 + PropertyAccessExpression 3048215 3048234 + PropertyAccessExpression 3048215 3048226 + Identifier 3048215 3048219 + Identifier 3048220 3048226 + Identifier 3048227 3048234 + NumericLiteral 3048235 3048236 + PropertyAccessExpression 3048238 3048302 + Identifier 3048238 3048250 + Identifier 3048251 3048302 + IfStatement 3048315 3050823 + CallExpression 3048329 3048353 + Identifier 3048329 3048340 + PropertyAccessExpression 3048341 3048352 + Identifier 3048341 3048345 + Identifier 3048346 3048352 + Block 3048354 3049580 + IfStatement 3048356 3048569 + BinaryExpression 3048374 3048436 + CallExpression 3048374 3048400 + Identifier 3048374 3048389 + PropertyAccessExpression 3048390 3048399 + Identifier 3048390 3048394 + Identifier 3048395 3048399 + AmpersandAmpersandToken 3048400 3048403 + BinaryExpression 3048403 3048436 + PropertyAccessExpression 3048403 3048418 + PropertyAccessExpression 3048403 3048413 + Identifier 3048403 3048408 + Identifier 3048409 3048413 + Identifier 3048414 3048418 + EqualsEqualsEqualsToken 3048418 3048422 + StringLiteral 3048422 3048436 + Block 3048437 3048569 + ReturnStatement 3048439 3048554 + CallExpression 3048463 3048553 + Identifier 3048463 3048482 + PropertyAccessExpression 3048483 3048492 + Identifier 3048483 3048487 + Identifier 3048488 3048492 + PropertyAccessExpression 3048493 3048552 + Identifier 3048493 3048505 + Identifier 3048506 3048552 + IfStatement 3048569 3048805 + CallExpression 3048587 3048757 + Identifier 3048587 3048620 + PropertyAccessExpression 3048621 3048630 + Identifier 3048621 3048625 + Identifier 3048626 3048630 + PropertyAccessExpression 3048631 3048756 + Identifier 3048631 3048643 + Identifier 3048644 3048756 + Block 3048758 3048805 + ReturnStatement 3048760 3048790 + TrueKeyword 3048784 3048789 + IfStatement 3048805 3049061 + BinaryExpression 3048823 3048894 + BinaryExpression 3048823 3048860 + Identifier 3048823 3048838 + LessThanToken 3048838 3048840 + PropertyAccessExpression 3048840 3048860 + Identifier 3048840 3048853 + Identifier 3048854 3048860 + AmpersandAmpersandToken 3048860 3048863 + CallExpression 3048863 3048894 + Identifier 3048863 3048883 + PropertyAccessExpression 3048884 3048893 + Identifier 3048884 3048888 + Identifier 3048889 3048893 + Block 3048895 3049061 + ReturnStatement 3048897 3049046 + CallExpression 3048921 3049045 + Identifier 3048921 3048940 + PropertyAccessExpression 3048941 3048950 + Identifier 3048941 3048945 + Identifier 3048946 3048950 + PropertyAccessExpression 3048951 3049044 + Identifier 3048951 3048963 + Identifier 3048964 3049044 + IfStatement 3049061 3049344 + BinaryExpression 3049079 3049159 + BinaryExpression 3049079 3049116 + Identifier 3049079 3049094 + LessThanToken 3049094 3049096 + PropertyAccessExpression 3049096 3049116 + Identifier 3049096 3049109 + Identifier 3049110 3049116 + AmpersandAmpersandToken 3049116 3049119 + CallExpression 3049119 3049159 + Identifier 3049119 3049153 + Identifier 3049154 3049158 + Block 3049160 3049344 + ReturnStatement 3049162 3049329 + CallExpression 3049186 3049328 + Identifier 3049186 3049205 + PropertyAccessExpression 3049206 3049215 + Identifier 3049206 3049210 + Identifier 3049211 3049215 + PropertyAccessExpression 3049216 3049327 + Identifier 3049216 3049228 + Identifier 3049229 3049327 + IfStatement 3049344 3049569 + BinaryExpression 3049362 3049521 + CallExpression 3049362 3049401 + Identifier 3049362 3049395 + Identifier 3049396 3049400 + AmpersandAmpersandToken 3049401 3049404 + CallExpression 3049404 3049521 + Identifier 3049404 3049439 + PropertyAccessExpression 3049440 3049458 + Identifier 3049440 3049444 + Identifier 3049445 3049458 + PropertyAccessExpression 3049459 3049520 + Identifier 3049459 3049471 + Identifier 3049472 3049520 + Block 3049522 3049569 + ReturnStatement 3049524 3049554 + TrueKeyword 3049548 3049553 + IfStatement 3049594 3050823 + BinaryExpression 3049599 3049651 + PropertyAccessExpression 3049599 3049615 + PropertyAccessExpression 3049599 3049610 + Identifier 3049599 3049603 + Identifier 3049604 3049610 + Identifier 3049611 3049615 + EqualsEqualsEqualsToken 3049615 3049619 + PropertyAccessExpression 3049619 3049651 + Identifier 3049619 3049630 + Identifier 3049631 3049651 + Block 3049652 3050210 + IfStatement 3049654 3049899 + CallExpression 3049672 3049851 + Identifier 3049672 3049705 + PropertyAccessExpression 3049706 3049715 + Identifier 3049706 3049710 + Identifier 3049711 3049715 + PropertyAccessExpression 3049716 3049850 + Identifier 3049716 3049728 + Identifier 3049729 3049850 + Block 3049852 3049899 + ReturnStatement 3049854 3049884 + TrueKeyword 3049878 3049883 + ExpressionStatement 3049899 3050023 + CallExpression 3049899 3050022 + PropertyAccessExpression 3049899 3049995 + Identifier 3049899 3049984 + Identifier 3049985 3049995 + Identifier 3049996 3050000 + Identifier 3050001 3050021 + IfStatement 3050023 3050199 + PropertyAccessExpression 3050041 3050057 + Identifier 3050041 3050045 + Identifier 3050046 3050057 + Block 3050058 3050199 + ReturnStatement 3050060 3050184 + CallExpression 3050084 3050183 + Identifier 3050084 3050103 + PropertyAccessExpression 3050104 3050120 + Identifier 3050104 3050108 + Identifier 3050109 3050120 + PropertyAccessExpression 3050121 3050182 + Identifier 3050121 3050133 + Identifier 3050134 3050182 + IfStatement 3050224 3050823 + CallExpression 3050229 3050259 + Identifier 3050229 3050246 + PropertyAccessExpression 3050247 3050258 + Identifier 3050247 3050251 + Identifier 3050252 3050258 + Block 3050260 3050823 + IfStatement 3050262 3050509 + CallExpression 3050280 3050461 + Identifier 3050280 3050313 + PropertyAccessExpression 3050314 3050323 + Identifier 3050314 3050318 + Identifier 3050319 3050323 + PropertyAccessExpression 3050324 3050460 + Identifier 3050324 3050336 + Identifier 3050337 3050460 + Block 3050462 3050509 + ReturnStatement 3050464 3050494 + TrueKeyword 3050488 3050493 + ExpressionStatement 3050509 3050634 + CallExpression 3050509 3050633 + PropertyAccessExpression 3050509 3050606 + Identifier 3050509 3050595 + Identifier 3050596 3050606 + Identifier 3050607 3050611 + Identifier 3050612 3050632 + IfStatement 3050634 3050812 + PropertyAccessExpression 3050652 3050668 + Identifier 3050652 3050656 + Identifier 3050657 3050668 + Block 3050669 3050812 + ReturnStatement 3050671 3050797 + CallExpression 3050695 3050796 + Identifier 3050695 3050714 + PropertyAccessExpression 3050715 3050731 + Identifier 3050715 3050719 + Identifier 3050720 3050731 + PropertyAccessExpression 3050732 3050795 + Identifier 3050732 3050744 + Identifier 3050745 3050795 + IfStatement 3050823 3050927 + BinaryExpression 3050839 3050869 + PropertyAccessExpression 3050839 3050849 + Identifier 3050839 3050843 + Identifier 3050844 3050849 + AmpersandToken 3050849 3050851 + PropertyAccessExpression 3050851 3050869 + Identifier 3050851 3050861 + Identifier 3050862 3050869 + Block 3050870 3050927 + ExpressionStatement 3050872 3050916 + CallExpression 3050872 3050915 + Identifier 3050872 3050909 + Identifier 3050910 3050914 + IfStatement 3050927 3051663 + BinaryExpression 3050943 3051172 + BinaryExpression 3050943 3051009 + CallExpression 3050943 3050984 + Identifier 3050943 3050978 + Identifier 3050979 3050983 + AmpersandAmpersandToken 3050984 3050987 + PropertyAccessExpression 3050987 3051009 + Identifier 3050987 3050992 + Identifier 3050993 3051009 + AmpersandAmpersandToken 3051009 3051012 + ParenthesizedExpression 3051012 3051172 + BinaryExpression 3051014 3051171 + BinaryExpression 3051014 3051142 + BinaryExpression 3051014 3051124 + BinaryExpression 3051014 3051073 + BinaryExpression 3051014 3051053 + PrefixUnaryExpression 3051014 3051039 + CallExpression 3051015 3051039 + Identifier 3051015 3051026 + PropertyAccessExpression 3051027 3051038 + Identifier 3051027 3051031 + Identifier 3051032 3051038 + BarBarToken 3051039 3051042 + PrefixUnaryExpression 3051042 3051053 + PropertyAccessExpression 3051044 3051053 + Identifier 3051044 3051048 + Identifier 3051049 3051053 + BarBarToken 3051053 3051056 + PropertyAccessExpression 3051056 3051073 + Identifier 3051056 3051061 + Identifier 3051062 3051073 + BarBarToken 3051073 3051076 + BinaryExpression 3051076 3051124 + PropertyAccessExpression 3051076 3051104 + Identifier 3051076 3051098 + Identifier 3051099 3051104 + AmpersandToken 3051104 3051106 + PropertyAccessExpression 3051106 3051124 + Identifier 3051106 3051116 + Identifier 3051117 3051124 + BarBarToken 3051124 3051127 + CallExpression 3051127 3051142 + Identifier 3051127 3051136 + Identifier 3051137 3051141 + BarBarToken 3051142 3051145 + CallExpression 3051145 3051171 + Identifier 3051145 3051165 + Identifier 3051166 3051170 + Block 3051183 3051663 + VariableStatement 3051185 3051580 + VariableDeclarationList 3051185 3051579 + VariableDeclaration 3051204 3051579 + Identifier 3051204 3051212 + ConditionalExpression 3051214 3051579 + PropertyAccessExpression 3051214 3051231 + Identifier 3051214 3051219 + Identifier 3051220 3051231 + QuestionToken 3051231 3051250 + PropertyAccessExpression 3051250 3051341 + Identifier 3051250 3051262 + Identifier 3051263 3051341 + ColonToken 3051341 3051360 + ConditionalExpression 3051360 3051579 + PrefixUnaryExpression 3051360 3051371 + PropertyAccessExpression 3051362 3051371 + Identifier 3051362 3051366 + Identifier 3051367 3051371 + QuestionToken 3051371 3051390 + PropertyAccessExpression 3051390 3051483 + Identifier 3051390 3051402 + Identifier 3051403 3051483 + ColonToken 3051483 3051502 + PropertyAccessExpression 3051502 3051579 + Identifier 3051502 3051514 + Identifier 3051515 3051579 + ReturnStatement 3051580 3051652 + CallExpression 3051600 3051651 + Identifier 3051600 3051619 + PropertyAccessExpression 3051620 3051641 + Identifier 3051620 3051624 + Identifier 3051625 3051641 + Identifier 3051642 3051650 + FunctionDeclaration 3051670 3053120 + Identifier 3051686 3051740 + Parameter 3051741 3051751 + Identifier 3051741 3051745 + TypeReference 3051746 3051751 + Identifier 3051746 3051751 + BooleanKeyword 3051753 3051761 + Block 3051761 3053120 + IfStatement 3051763 3052961 + BinaryExpression 3052367 3052910 + BinaryExpression 3052367 3052797 + BinaryExpression 3052367 3052729 + BinaryExpression 3052367 3052671 + BinaryExpression 3052367 3052612 + BinaryExpression 3052367 3052547 + BinaryExpression 3052367 3052488 + BinaryExpression 3052367 3052426 + PropertyAccessExpression 3052367 3052390 + Identifier 3052367 3052385 + Identifier 3052386 3052390 + EqualsEqualsEqualsToken 3052390 3052394 + PropertyAccessExpression 3052394 3052426 + Identifier 3052394 3052405 + Identifier 3052406 3052426 + BarBarToken 3052426 3052429 + BinaryExpression 3052429 3052488 + PropertyAccessExpression 3052429 3052452 + Identifier 3052429 3052447 + Identifier 3052448 3052452 + EqualsEqualsEqualsToken 3052452 3052456 + PropertyAccessExpression 3052456 3052488 + Identifier 3052456 3052467 + Identifier 3052468 3052488 + BarBarToken 3052488 3052491 + BinaryExpression 3052491 3052547 + PropertyAccessExpression 3052491 3052514 + Identifier 3052491 3052509 + Identifier 3052510 3052514 + EqualsEqualsEqualsToken 3052514 3052518 + PropertyAccessExpression 3052518 3052547 + Identifier 3052518 3052529 + Identifier 3052530 3052547 + BarBarToken 3052547 3052550 + BinaryExpression 3052550 3052612 + PropertyAccessExpression 3052550 3052573 + Identifier 3052550 3052568 + Identifier 3052569 3052573 + EqualsEqualsEqualsToken 3052573 3052577 + PropertyAccessExpression 3052577 3052612 + Identifier 3052577 3052588 + Identifier 3052589 3052612 + BarBarToken 3052612 3052615 + BinaryExpression 3052615 3052671 + PropertyAccessExpression 3052615 3052638 + Identifier 3052615 3052633 + Identifier 3052634 3052638 + EqualsEqualsEqualsToken 3052638 3052642 + PropertyAccessExpression 3052642 3052671 + Identifier 3052642 3052653 + Identifier 3052654 3052671 + BarBarToken 3052671 3052674 + BinaryExpression 3052674 3052729 + PropertyAccessExpression 3052674 3052697 + Identifier 3052674 3052692 + Identifier 3052693 3052697 + EqualsEqualsEqualsToken 3052697 3052701 + PropertyAccessExpression 3052701 3052729 + Identifier 3052701 3052712 + Identifier 3052713 3052729 + BarBarToken 3052729 3052732 + BinaryExpression 3052732 3052797 + PropertyAccessExpression 3052732 3052755 + Identifier 3052732 3052750 + Identifier 3052751 3052755 + EqualsEqualsEqualsToken 3052755 3052759 + PropertyAccessExpression 3052759 3052797 + Identifier 3052759 3052770 + Identifier 3052771 3052797 + BarBarToken 3052797 3052800 + CallExpression 3052800 3052910 + Identifier 3052800 3052834 + Identifier 3052835 3052839 + BinaryExpression 3052840 3052909 + BinaryExpression 3052840 3052885 + PropertyAccessExpression 3052840 3052862 + Identifier 3052840 3052854 + Identifier 3052855 3052862 + BarToken 3052862 3052864 + PropertyAccessExpression 3052864 3052885 + Identifier 3052864 3052878 + Identifier 3052879 3052885 + BarToken 3052885 3052887 + PropertyAccessExpression 3052887 3052909 + Identifier 3052887 3052901 + Identifier 3052902 3052909 + Block 3052921 3052961 + ReturnStatement 3052923 3052950 + FalseKeyword 3052943 3052949 + ReturnStatement 3052961 3053113 + CallExpression 3052979 3053112 + Identifier 3052979 3053004 + Identifier 3053005 3053009 + PropertyAccessExpression 3053010 3053111 + Identifier 3053010 3053022 + Identifier 3053023 3053111 + FunctionDeclaration 3053120 3053546 + Identifier 3053136 3053191 + Parameter 3053192 3053208 + Identifier 3053192 3053196 + TypeReference 3053197 3053208 + Identifier 3053197 3053208 + BooleanKeyword 3053210 3053218 + Block 3053218 3053546 + ForOfStatement 3053220 3053516 + VariableDeclarationList 3053235 3053245 + VariableDeclaration 3053240 3053245 + Identifier 3053240 3053245 + PropertyAccessExpression 3053248 3053264 + Identifier 3053248 3053253 + Identifier 3053254 3053264 + Block 3053265 3053516 + IfStatement 3053267 3053505 + BinaryExpression 3053285 3053350 + CallExpression 3053285 3053304 + Identifier 3053285 3053298 + Identifier 3053299 3053303 + BarBarToken 3053304 3053307 + BinaryExpression 3053307 3053350 + PropertyAccessExpression 3053307 3053317 + Identifier 3053307 3053312 + Identifier 3053313 3053317 + EqualsEqualsEqualsToken 3053317 3053321 + PropertyAccessExpression 3053321 3053350 + Identifier 3053321 3053332 + Identifier 3053333 3053350 + Block 3053351 3053505 + IfStatement 3053353 3053490 + CallExpression 3053375 3053434 + Identifier 3053375 3053428 + Identifier 3053429 3053433 + Block 3053435 3053490 + ReturnStatement 3053437 3053471 + TrueKeyword 3053465 3053470 + ReturnStatement 3053516 3053539 + FalseKeyword 3053532 3053538 + FunctionDeclaration 3053546 3053737 + Identifier 3053562 3053585 + Parameter 3053586 3053602 + Identifier 3053586 3053590 + TypeReference 3053591 3053602 + Identifier 3053591 3053602 + BooleanKeyword 3053604 3053612 + Block 3053612 3053737 + ReturnStatement 3053614 3053730 + BinaryExpression 3053630 3053729 + PrefixUnaryExpression 3053630 3053665 + PrefixUnaryExpression 3053632 3053665 + ParenthesizedExpression 3053633 3053665 + BinaryExpression 3053634 3053664 + PropertyAccessExpression 3053634 3053644 + Identifier 3053634 3053638 + Identifier 3053639 3053644 + AmpersandToken 3053644 3053646 + PropertyAccessExpression 3053646 3053664 + Identifier 3053646 3053656 + Identifier 3053657 3053664 + AmpersandAmpersandToken 3053665 3053668 + CallExpression 3053668 3053729 + Identifier 3053668 3053723 + Identifier 3053724 3053728 + FunctionDeclaration 3053737 3055501 + Identifier 3053753 3053791 + Parameter 3053792 3053802 + Identifier 3053792 3053796 + TypeReference 3053797 3053802 + Identifier 3053797 3053802 + BooleanKeyword 3053804 3053812 + Block 3053812 3055501 + IfStatement 3053814 3055471 + BinaryExpression 3053828 3053858 + PropertyAccessExpression 3053828 3053838 + Identifier 3053828 3053832 + Identifier 3053833 3053838 + AmpersandToken 3053838 3053840 + PropertyAccessExpression 3053840 3053858 + Identifier 3053840 3053850 + Identifier 3053851 3053858 + Block 3053859 3055471 + VariableStatement 3053861 3053993 + VariableDeclarationList 3053861 3053992 + VariableDeclaration 3053965 3053992 + Identifier 3053965 3053971 + CallExpression 3053973 3053992 + Identifier 3053973 3053986 + Identifier 3053987 3053991 + IfStatement 3053993 3054316 + BinaryExpression 3054011 3054114 + PrefixUnaryExpression 3054011 3054054 + PropertyAccessExpression 3054012 3054054 + Identifier 3054012 3054017 + Identifier 3054018 3054054 + AmpersandAmpersandToken 3054054 3054057 + ParenthesizedExpression 3054057 3054114 + BinaryExpression 3054059 3054113 + CallExpression 3054059 3054086 + Identifier 3054059 3054073 + PropertyAccessExpression 3054074 3054085 + Identifier 3054074 3054078 + Identifier 3054079 3054085 + BarBarToken 3054086 3054089 + CallExpression 3054089 3054113 + Identifier 3054089 3054100 + PropertyAccessExpression 3054101 3054112 + Identifier 3054101 3054105 + Identifier 3054106 3054112 + Block 3054115 3054316 + ReturnStatement 3054117 3054301 + BinaryExpression 3054141 3054300 + PropertyAccessExpression 3054141 3054197 + CallExpression 3054141 3054160 + Identifier 3054141 3054154 + Identifier 3054155 3054159 + Identifier 3054161 3054197 + EqualsToken 3054197 3054199 + CallExpression 3054199 3054300 + Identifier 3054199 3054224 + Identifier 3054225 3054229 + PropertyAccessExpression 3054230 3054299 + Identifier 3054230 3054242 + Identifier 3054243 3054299 + IfStatement 3054316 3055460 + BinaryExpression 3054673 3054803 + BinaryExpression 3054673 3054757 + BinaryExpression 3054673 3054710 + PropertyAccessExpression 3054673 3054689 + PropertyAccessExpression 3054673 3054684 + Identifier 3054673 3054677 + Identifier 3054678 3054684 + Identifier 3054685 3054689 + EqualsEqualsEqualsToken 3054689 3054693 + PropertyAccessExpression 3054693 3054710 + Identifier 3054693 3054704 + Identifier 3054705 3054710 + BarBarToken 3054710 3054713 + BinaryExpression 3054713 3054757 + PropertyAccessExpression 3054713 3054730 + PropertyAccessExpression 3054713 3054725 + Identifier 3054713 3054718 + Identifier 3054719 3054725 + Identifier 3054726 3054730 + EqualsEqualsEqualsToken 3054730 3054734 + PropertyAccessExpression 3054734 3054757 + Identifier 3054734 3054745 + Identifier 3054746 3054757 + BarBarToken 3054757 3054760 + BinaryExpression 3054760 3054803 + PropertyAccessExpression 3054760 3054777 + PropertyAccessExpression 3054760 3054772 + Identifier 3054760 3054765 + Identifier 3054766 3054772 + Identifier 3054773 3054777 + EqualsEqualsEqualsToken 3054777 3054781 + PropertyAccessExpression 3054781 3054803 + Identifier 3054781 3054792 + Identifier 3054793 3054803 + Block 3054804 3055204 + VariableStatement 3054806 3054864 + VariableDeclarationList 3054806 3054863 + VariableDeclaration 3054829 3054863 + Identifier 3054829 3054835 + CallExpression 3054837 3054863 + Identifier 3054837 3054850 + PropertyAccessExpression 3054851 3054862 + Identifier 3054851 3054855 + Identifier 3054856 3054862 + IfStatement 3054864 3055189 + PrefixUnaryExpression 3054959 3055002 + PropertyAccessExpression 3054960 3055002 + Identifier 3054960 3054965 + Identifier 3054966 3055002 + Block 3055003 3055189 + ReturnStatement 3055005 3055170 + BinaryExpression 3055033 3055169 + PropertyAccessExpression 3055033 3055076 + Identifier 3055033 3055039 + Identifier 3055040 3055076 + EqualsToken 3055076 3055078 + CallExpression 3055078 3055169 + Identifier 3055078 3055103 + Identifier 3055104 3055108 + PropertyAccessExpression 3055109 3055168 + Identifier 3055109 3055121 + Identifier 3055122 3055168 + Block 3055222 3055460 + ReturnStatement 3055471 3055494 + FalseKeyword 3055487 3055493 + FunctionDeclaration 3055501 3057209 + Identifier 3055517 3055544 + Parameter 3055545 3055565 + Identifier 3055545 3055549 + TypeReference 3055550 3055565 + Identifier 3055550 3055565 + Block 3055566 3057209 + VariableStatement 3055568 3055901 + VariableDeclarationList 3055568 3055900 + VariableDeclaration 3055851 3055900 + Identifier 3055851 3055864 + CallExpression 3055866 3055900 + PropertyAccessExpression 3055866 3055895 + CallExpression 3055866 3055886 + Identifier 3055866 3055880 + Identifier 3055881 3055885 + Identifier 3055887 3055895 + StringLiteral 3055896 3055899 + VariableStatement 3055901 3055981 + VariableDeclarationList 3055901 3055980 + VariableDeclaration 3055916 3055980 + Identifier 3055916 3055929 + BinaryExpression 3055931 3055980 + PropertyAccessExpression 3055931 3055956 + Identifier 3055931 3055936 + Identifier 3055937 3055956 + AmpersandToken 3055956 3055958 + PropertyAccessExpression 3055958 3055980 + Identifier 3055958 3055969 + Identifier 3055970 3055980 + IfStatement 3055981 3056242 + BinaryExpression 3056179 3056207 + Identifier 3056179 3056191 + BarBarToken 3056191 3056194 + Identifier 3056194 3056207 + Block 3056208 3056242 + ReturnStatement 3056210 3056231 + VariableStatement 3056242 3056919 + VariableDeclarationList 3056242 3056918 + VariableDeclaration 3056899 3056918 + Identifier 3056899 3056905 + PrefixUnaryExpression 3056907 3056918 + PropertyAccessExpression 3056909 3056918 + Identifier 3056909 3056913 + Identifier 3056914 3056918 + IfStatement 3056919 3056988 + BinaryExpression 3056933 3056953 + Identifier 3056933 3056938 + LessThanEqualsToken 3056938 3056941 + BinaryExpression 3056941 3056953 + BinaryExpression 3056941 3056949 + NumericLiteral 3056941 3056943 + AsteriskAsteriskToken 3056943 3056946 + NumericLiteral 3056946 3056949 + MinusToken 3056949 3056951 + NumericLiteral 3056951 3056953 + Block 3056954 3056988 + ReturnStatement 3056956 3056977 + ExpressionStatement 3056988 3057202 + CallExpression 3056988 3057201 + Identifier 3056988 3057020 + FalseKeyword 3057021 3057038 + CallExpression 3057039 3057200 + Identifier 3057039 3057063 + Identifier 3057064 3057068 + PropertyAccessExpression 3057069 3057199 + Identifier 3057069 3057081 + Identifier 3057082 3057199 + FunctionDeclaration 3057209 3057763 + Identifier 3057225 3057251 + Parameter 3057252 3057271 + Identifier 3057252 3057256 + TypeReference 3057257 3057271 + Identifier 3057257 3057271 + BooleanKeyword 3057273 3057281 + Block 3057281 3057763 + VariableStatement 3057283 3057438 + VariableDeclarationList 3057283 3057437 + VariableDeclaration 3057298 3057437 + Identifier 3057298 3057310 + BinaryExpression 3057312 3057437 + CallExpression 3057312 3057343 + Identifier 3057312 3057330 + PropertyAccessExpression 3057331 3057342 + Identifier 3057331 3057335 + Identifier 3057336 3057342 + BarBarToken 3057343 3057346 + BinaryExpression 3057346 3057437 + CallExpression 3057346 3057396 + Identifier 3057346 3057383 + PropertyAccessExpression 3057384 3057395 + Identifier 3057384 3057388 + Identifier 3057389 3057395 + AmpersandAmpersandToken 3057396 3057399 + CallExpression 3057399 3057437 + Identifier 3057399 3057417 + PropertyAccessExpression 3057418 3057436 + PropertyAccessExpression 3057418 3057429 + Identifier 3057418 3057422 + Identifier 3057423 3057429 + Identifier 3057430 3057436 + IfStatement 3057438 3057733 + PrefixUnaryExpression 3057452 3057464 + Identifier 3057453 3057464 + Block 3057465 3057733 + IfStatement 3057467 3057722 + BinaryExpression 3057485 3057522 + Identifier 3057485 3057500 + LessThanToken 3057500 3057502 + PropertyAccessExpression 3057502 3057522 + Identifier 3057502 3057515 + Identifier 3057516 3057522 + Block 3057523 3057722 + IfStatement 3057525 3057707 + CallExpression 3057547 3057651 + Identifier 3057547 3057565 + Identifier 3057566 3057570 + PropertyAccessExpression 3057571 3057650 + Identifier 3057571 3057583 + Identifier 3057584 3057650 + Block 3057652 3057707 + ReturnStatement 3057654 3057688 + TrueKeyword 3057682 3057687 + ReturnStatement 3057733 3057756 + FalseKeyword 3057749 3057755 + FunctionDeclaration 3057763 3058248 + Identifier 3057779 3057807 + Parameter 3057808 3057818 + Identifier 3057808 3057812 + TypeReference 3057813 3057818 + Identifier 3057813 3057818 + Parameter 3057819 3057846 + Identifier 3057819 3057827 + TypeReference 3057828 3057846 + Identifier 3057828 3057846 + Parameter 3057847 3057876 + DotDotDotToken 3057847 3057851 + Identifier 3057851 3057855 + TypeReference 3057856 3057876 + Identifier 3057856 3057876 + BooleanKeyword 3057878 3057886 + Block 3057886 3058248 + VariableStatement 3057888 3057943 + VariableDeclarationList 3057888 3057942 + VariableDeclaration 3057903 3057942 + Identifier 3057903 3057914 + CallExpression 3057916 3057942 + Identifier 3057916 3057936 + Identifier 3057937 3057941 + IfStatement 3057943 3058218 + PrefixUnaryExpression 3057957 3057989 + CallExpression 3057958 3057989 + Identifier 3057958 3057977 + Identifier 3057978 3057988 + Block 3057990 3058218 + VariableStatement 3057992 3058066 + VariableDeclarationList 3057992 3058065 + VariableDeclaration 3058011 3058065 + Identifier 3058011 3058016 + CallExpression 3058018 3058065 + Identifier 3058018 3058043 + Identifier 3058044 3058054 + PropertyAccessExpression 3058055 3058064 + Identifier 3058055 3058060 + Identifier 3058061 3058064 + ExpressionStatement 3058066 3058181 + CallExpression 3058066 3058180 + PropertyAccessExpression 3058066 3058095 + Identifier 3058066 3058091 + Identifier 3058092 3058095 + CallExpression 3058096 3058179 + Identifier 3058096 3058116 + Identifier 3058117 3058127 + CallExpression 3058128 3058146 + Identifier 3058128 3058140 + Identifier 3058141 3058145 + NumericLiteral 3058147 3058160 + Identifier 3058161 3058169 + SpreadElement 3058170 3058178 + Identifier 3058174 3058178 + ReturnStatement 3058181 3058207 + TrueKeyword 3058201 3058206 + ReturnStatement 3058218 3058241 + FalseKeyword 3058234 3058240 + FunctionDeclaration 3058248 3058743 + Identifier 3058264 3058282 + ArrayType 3058285 3058294 + TypeReference 3058285 3058292 + Identifier 3058285 3058292 + Block 3058294 3058743 + IfStatement 3058296 3058699 + PrefixUnaryExpression 3058310 3058330 + Identifier 3058311 3058330 + Block 3058331 3058699 + ExpressionStatement 3058333 3058372 + BinaryExpression 3058333 3058371 + Identifier 3058333 3058366 + EqualsToken 3058366 3058368 + ArrayLiteralExpression 3058368 3058371 + ExpressionStatement 3058372 3058688 + CallExpression 3058372 3058687 + PropertyAccessExpression 3058372 3058401 + Identifier 3058372 3058393 + Identifier 3058394 3058401 + ArrowFunction 3058402 3058686 + Parameter 3058403 3058409 + Identifier 3058403 3058409 + Parameter 3058410 3058414 + Identifier 3058410 3058414 + EqualsGreaterThanToken 3058415 3058418 + Block 3058418 3058686 + IfStatement 3058420 3058671 + CallExpression 3058549 3058593 + PropertyAccessExpression 3058549 3058578 + Identifier 3058549 3058573 + Identifier 3058574 3058578 + AsExpression 3058579 3058592 + Identifier 3058579 3058582 + StringKeyword 3058585 3058592 + Block 3058594 3058671 + ExpressionStatement 3058596 3058652 + CallExpression 3058596 3058651 + PropertyAccessExpression 3058596 3058643 + NonNullExpression 3058596 3058638 + Identifier 3058596 3058637 + Identifier 3058639 3058643 + Identifier 3058644 3058650 + ReturnStatement 3058699 3058736 + Identifier 3058715 3058735 + FunctionDeclaration 3058743 3059235 + Identifier 3058759 3058784 + Parameter 3058785 3058803 + Identifier 3058785 3058789 + TypeReference 3058790 3058803 + Identifier 3058790 3058803 + BooleanKeyword 3058805 3058813 + Block 3058813 3059235 + IfStatement 3058815 3059031 + BinaryExpression 3058829 3058879 + BinaryExpression 3058829 3058857 + PropertyAccessExpression 3058829 3058844 + Identifier 3058829 3058833 + Identifier 3058834 3058844 + AmpersandAmpersandToken 3058844 3058847 + PropertyAccessExpression 3058847 3058857 + Identifier 3058847 3058852 + Identifier 3058853 3058857 + AmpersandAmpersandToken 3058857 3058860 + PropertyAccessExpression 3058860 3058879 + Identifier 3058860 3058865 + Identifier 3058866 3058879 + Block 3058880 3059031 + ReturnStatement 3058882 3059020 + CallExpression 3058902 3059019 + Identifier 3058902 3058921 + Identifier 3058922 3058926 + PropertyAccessExpression 3058927 3059018 + Identifier 3058927 3058939 + Identifier 3058940 3059018 + IfStatement 3059031 3059205 + BinaryExpression 3059045 3059116 + PropertyAccessExpression 3059045 3059060 + Identifier 3059045 3059049 + Identifier 3059050 3059060 + AmpersandAmpersandToken 3059060 3059063 + BinaryExpression 3059063 3059116 + PropertyAccessExpression 3059063 3059088 + PropertyAccessExpression 3059063 3059082 + Identifier 3059063 3059068 + Identifier 3059069 3059082 + QuestionDotToken 3059082 3059084 + Identifier 3059084 3059088 + EqualsEqualsEqualsToken 3059088 3059092 + PropertyAccessExpression 3059092 3059116 + Identifier 3059092 3059103 + Identifier 3059104 3059116 + Block 3059117 3059205 + ReturnStatement 3059119 3059194 + CallExpression 3059139 3059193 + Identifier 3059139 3059173 + PropertyAccessExpression 3059174 3059192 + Identifier 3059174 3059178 + Identifier 3059179 3059192 + ReturnStatement 3059205 3059228 + FalseKeyword 3059221 3059227 + FunctionDeclaration 3059235 3059967 + Identifier 3059251 3059285 + Parameter 3059286 3059322 + Identifier 3059286 3059299 + TypeReference 3059300 3059322 + Identifier 3059300 3059322 + BooleanKeyword 3059324 3059332 + Block 3059332 3059967 + ReturnStatement 3059334 3059960 + PrefixUnaryExpression 3059350 3059959 + PrefixUnaryExpression 3059352 3059959 + CallExpression 3059353 3059959 + Identifier 3059353 3059360 + UnionType 3059361 3059394 + TypeReference 3059361 3059376 + Identifier 3059361 3059376 + TypeReference 3059378 3059394 + Identifier 3059378 3059394 + BooleanKeyword 3059395 3059403 + PropertyAccessExpression 3059405 3059427 + Identifier 3059405 3059418 + Identifier 3059419 3059427 + ArrowFunction 3059428 3059958 + Parameter 3059428 3059438 + Identifier 3059428 3059438 + EqualsGreaterThanToken 3059438 3059441 + Block 3059441 3059958 + IfStatement 3059443 3059947 + PropertyAccessExpression 3059461 3059481 + Identifier 3059461 3059470 + Identifier 3059471 3059481 + Block 3059482 3059947 + ReturnStatement 3059484 3059932 + CallExpression 3059508 3059931 + Identifier 3059508 3059533 + Identifier 3059534 3059565 + ConditionalExpression 3059566 3059911 + BinaryExpression 3059566 3059633 + PropertyAccessExpression 3059566 3059602 + Identifier 3059566 3059597 + Identifier 3059598 3059602 + EqualsEqualsEqualsToken 3059602 3059606 + PropertyAccessExpression 3059606 3059633 + Identifier 3059606 3059617 + Identifier 3059618 3059633 + QuestionToken 3059633 3059660 + PropertyAccessExpression 3059660 3059772 + Identifier 3059660 3059672 + Identifier 3059673 3059772 + ColonToken 3059772 3059799 + PropertyAccessExpression 3059799 3059911 + Identifier 3059799 3059811 + Identifier 3059812 3059911 + FunctionDeclaration 3059967 3062285 + Identifier 3059983 3060016 + Parameter 3060017 3060033 + Identifier 3060017 3060021 + TypeReference 3060022 3060033 + Identifier 3060022 3060033 + BooleanKeyword 3060035 3060043 + Block 3060043 3062285 + IfStatement 3060045 3060290 + BinaryExpression 3060059 3060133 + PropertyAccessExpression 3060059 3060095 + Identifier 3060059 3060074 + Identifier 3060075 3060095 + AmpersandAmpersandToken 3060095 3060098 + BinaryExpression 3060098 3060133 + Identifier 3060098 3060109 + EqualsEqualsEqualsToken 3060109 3060113 + PropertyAccessExpression 3060113 3060133 + Identifier 3060113 3060124 + Identifier 3060125 3060133 + Block 3060134 3060290 + ReturnStatement 3060136 3060279 + CallExpression 3060156 3060278 + Identifier 3060156 3060175 + Identifier 3060176 3060180 + PropertyAccessExpression 3060181 3060277 + Identifier 3060181 3060193 + Identifier 3060194 3060277 + IfStatement 3060290 3060548 + BinaryExpression 3060306 3060338 + Identifier 3060306 3060316 + EqualsEqualsEqualsToken 3060316 3060320 + PropertyAccessExpression 3060320 3060338 + Identifier 3060320 3060331 + Identifier 3060332 3060338 + Block 3060339 3060548 + ReturnStatement 3060341 3060537 + CallExpression 3060361 3060536 + Identifier 3060361 3060380 + Identifier 3060381 3060385 + PropertyAccessExpression 3060386 3060535 + Identifier 3060386 3060398 + Identifier 3060399 3060535 + IfStatement 3060548 3060775 + PropertyAccessExpression 3060564 3060582 + Identifier 3060564 3060568 + Identifier 3060569 3060582 + Block 3060583 3060775 + ReturnStatement 3060585 3060764 + CallExpression 3060605 3060763 + Identifier 3060605 3060624 + Identifier 3060625 3060629 + PropertyAccessExpression 3060630 3060762 + Identifier 3060630 3060642 + Identifier 3060643 3060762 + VariableStatement 3060775 3060824 + VariableDeclarationList 3060775 3060823 + VariableDeclaration 3060792 3060823 + Identifier 3060792 3060806 + PropertyAccessExpression 3060808 3060823 + Identifier 3060808 3060813 + Identifier 3060814 3060823 + IfStatement 3060824 3061480 + BinaryExpression 3060838 3060983 + BinaryExpression 3060838 3060945 + PrefixUnaryExpression 3060838 3060909 + ParenthesizedExpression 3060839 3060909 + BinaryExpression 3060840 3060908 + BinaryExpression 3060840 3060871 + PropertyAccessExpression 3060840 3060857 + Identifier 3060840 3060850 + Identifier 3060851 3060857 + LessThanEqualsToken 3060857 3060860 + Identifier 3060860 3060871 + AmpersandAmpersandToken 3060871 3060874 + BinaryExpression 3060874 3060908 + Identifier 3060874 3060885 + LessThanEqualsToken 3060885 3060888 + PropertyAccessExpression 3060888 3060908 + Identifier 3060888 3060899 + Identifier 3060900 3060908 + AmpersandAmpersandToken 3060909 3060912 + BinaryExpression 3060912 3060945 + Identifier 3060912 3060923 + ExclamationEqualsEqualsToken 3060923 3060927 + PropertyAccessExpression 3060927 3060945 + Identifier 3060927 3060938 + Identifier 3060939 3060945 + AmpersandAmpersandToken 3060945 3060948 + BinaryExpression 3060948 3060983 + Identifier 3060948 3060959 + ExclamationEqualsEqualsToken 3060959 3060963 + PropertyAccessExpression 3060963 3060983 + Identifier 3060963 3060974 + Identifier 3060975 3060983 + Block 3060984 3061480 + ExpressionStatement 3060986 3061134 + CallExpression 3060986 3061133 + Identifier 3060986 3061118 + Identifier 3061119 3061132 + IfStatement 3061134 3061469 + BinaryExpression 3061154 3061178 + PropertyAccessExpression 3061154 3061174 + Identifier 3061154 3061167 + Identifier 3061168 3061174 + GreaterThanToken 3061174 3061176 + NumericLiteral 3061176 3061178 + Block 3061179 3061469 + VariableStatement 3061181 3061249 + VariableDeclarationList 3061181 3061248 + VariableDeclaration 3061204 3061248 + Identifier 3061204 3061229 + ElementAccessExpression 3061231 3061248 + Identifier 3061231 3061245 + NumericLiteral 3061246 3061247 + ReturnStatement 3061249 3061454 + CallExpression 3061273 3061453 + Identifier 3061273 3061292 + Identifier 3061293 3061317 + PropertyAccessExpression 3061318 3061452 + Identifier 3061318 3061330 + Identifier 3061331 3061452 + IfStatement 3061480 3061721 + BinaryExpression 3061496 3061550 + BinaryExpression 3061496 3061522 + PropertyAccessExpression 3061496 3061516 + Identifier 3061496 3061509 + Identifier 3061510 3061516 + EqualsEqualsEqualsToken 3061516 3061520 + NumericLiteral 3061520 3061522 + BarBarToken 3061522 3061525 + BinaryExpression 3061525 3061550 + PropertyAccessExpression 3061525 3061546 + Identifier 3061525 3061539 + Identifier 3061540 3061546 + GreaterThanToken 3061546 3061548 + NumericLiteral 3061548 3061550 + Block 3061551 3061721 + ReturnStatement 3061553 3061710 + CallExpression 3061573 3061709 + Identifier 3061573 3061592 + Identifier 3061593 3061597 + PropertyAccessExpression 3061598 3061708 + Identifier 3061598 3061610 + Identifier 3061611 3061708 + VariableStatement 3061721 3062094 + VariableDeclarationList 3061721 3062093 + VariableDeclaration 3062040 3062093 + Identifier 3062040 3062054 + CallExpression 3062056 3062093 + Identifier 3062056 3062061 + Identifier 3062062 3062075 + Identifier 3062076 3062092 + IfStatement 3062094 3062255 + Identifier 3062108 3062121 + Block 3062122 3062255 + ReturnStatement 3062124 3062244 + CallExpression 3062144 3062243 + Identifier 3062144 3062163 + Identifier 3062164 3062177 + PropertyAccessExpression 3062178 3062242 + Identifier 3062178 3062190 + Identifier 3062191 3062242 + ReturnStatement 3062255 3062278 + FalseKeyword 3062271 3062277 + FunctionDeclaration 3062285 3063310 + Identifier 3062301 3062347 + Parameter 3062348 3062360 + Identifier 3062348 3062354 + TypeReference 3062355 3062360 + Identifier 3062355 3062360 + Parameter 3062361 3062398 + Identifier 3062361 3062373 + TypeReference 3062374 3062398 + Identifier 3062374 3062398 + Block 3062399 3063310 + VariableStatement 3062401 3062460 + VariableDeclarationList 3062401 3062459 + VariableDeclaration 3062416 3062459 + Identifier 3062416 3062434 + CallExpression 3062436 3062459 + Identifier 3062436 3062451 + Identifier 3062452 3062458 + IfStatement 3062460 3063303 + BinaryExpression 3062474 3062580 + BinaryExpression 3062474 3062541 + Identifier 3062474 3062491 + AmpersandToken 3062491 3062493 + ParenthesizedExpression 3062493 3062541 + BinaryExpression 3062495 3062540 + PropertyAccessExpression 3062495 3062516 + Identifier 3062495 3062506 + Identifier 3062507 3062516 + BarToken 3062516 3062518 + PropertyAccessExpression 3062518 3062540 + Identifier 3062518 3062530 + Identifier 3062531 3062540 + AmpersandAmpersandToken 3062541 3062544 + BinaryExpression 3062544 3062580 + PropertyAccessExpression 3062544 3062562 + Identifier 3062544 3062556 + Identifier 3062557 3062562 + AmpersandToken 3062562 3062564 + PropertyAccessExpression 3062564 3062580 + Identifier 3062564 3062574 + Identifier 3062575 3062580 + Block 3062581 3063303 + ReturnStatement 3062583 3063292 + CallExpression 3062603 3063291 + Identifier 3062603 3062608 + PropertyAccessExpression 3062609 3062626 + Identifier 3062609 3062620 + Identifier 3062621 3062626 + ArrowFunction 3062627 3063290 + Parameter 3062627 3062634 + Identifier 3062627 3062634 + EqualsGreaterThanToken 3062634 3062637 + Block 3062637 3063290 + IfStatement 3062639 3063244 + BinaryExpression 3062661 3062692 + PropertyAccessExpression 3062661 3062673 + Identifier 3062661 3062667 + Identifier 3062668 3062673 + AmpersandToken 3062673 3062675 + PropertyAccessExpression 3062675 3062692 + Identifier 3062675 3062685 + Identifier 3062686 3062692 + Block 3062693 3063244 + VariableStatement 3062695 3062784 + VariableDeclarationList 3062695 3062783 + VariableDeclaration 3062722 3062783 + Identifier 3062722 3062738 + BinaryExpression 3062740 3062783 + Identifier 3062740 3062758 + AmpersandToken 3062758 3062760 + CallExpression 3062760 3062783 + Identifier 3062760 3062775 + Identifier 3062776 3062782 + IfStatement 3062784 3062978 + BinaryExpression 3062810 3062849 + Identifier 3062810 3062825 + AmpersandToken 3062825 3062827 + PropertyAccessExpression 3062827 3062849 + Identifier 3062827 3062839 + Identifier 3062840 3062849 + Block 3062850 3062978 + ReturnStatement 3062852 3062955 + BinaryExpression 3062884 3062954 + PropertyAccessExpression 3062884 3062917 + ParenthesizedExpression 3062884 3062910 + AsExpression 3062886 3062909 + Identifier 3062886 3062892 + TypeReference 3062895 3062909 + Identifier 3062895 3062909 + Identifier 3062911 3062917 + EqualsEqualsEqualsToken 3062917 3062921 + PropertyAccessExpression 3062921 3062954 + ParenthesizedExpression 3062921 3062947 + AsExpression 3062923 3062946 + Identifier 3062923 3062929 + TypeReference 3062932 3062946 + Identifier 3062932 3062946 + Identifier 3062948 3062954 + IfStatement 3062978 3063225 + BinaryExpression 3063004 3063043 + Identifier 3063004 3063019 + AmpersandToken 3063019 3063021 + PropertyAccessExpression 3063021 3063043 + Identifier 3063021 3063033 + Identifier 3063034 3063043 + Block 3063044 3063225 + ReturnStatement 3063046 3063202 + BinaryExpression 3063078 3063201 + PrefixUnaryExpression 3063078 3063118 + PrefixUnaryExpression 3063080 3063118 + PropertyAccessExpression 3063081 3063118 + ParenthesizedExpression 3063081 3063106 + AsExpression 3063082 3063105 + Identifier 3063082 3063088 + TypeReference 3063091 3063105 + Identifier 3063091 3063105 + Identifier 3063107 3063118 + AmpersandAmpersandToken 3063118 3063121 + BinaryExpression 3063121 3063201 + PropertyAccessExpression 3063121 3063159 + ParenthesizedExpression 3063121 3063147 + AsExpression 3063123 3063146 + Identifier 3063123 3063129 + TypeReference 3063132 3063146 + Identifier 3063132 3063146 + Identifier 3063148 3063159 + EqualsEqualsEqualsToken 3063159 3063163 + PropertyAccessExpression 3063163 3063201 + ParenthesizedExpression 3063163 3063189 + AsExpression 3063165 3063188 + Identifier 3063165 3063171 + TypeReference 3063174 3063188 + Identifier 3063174 3063188 + Identifier 3063190 3063201 + ReturnStatement 3063244 3063275 + FalseKeyword 3063268 3063274 + FunctionDeclaration 3063310 3063607 + Identifier 3063326 3063355 + Parameter 3063356 3063368 + Identifier 3063356 3063362 + TypeReference 3063363 3063368 + Identifier 3063363 3063368 + Parameter 3063369 3063406 + Identifier 3063369 3063381 + TypeReference 3063382 3063406 + Identifier 3063382 3063406 + Block 3063407 3063607 + IfStatement 3063409 3063600 + BinaryExpression 3063423 3063515 + BinaryExpression 3063423 3063473 + CallExpression 3063423 3063445 + Identifier 3063423 3063437 + Identifier 3063438 3063444 + AmpersandToken 3063445 3063447 + PropertyAccessExpression 3063447 3063473 + Identifier 3063447 3063459 + Identifier 3063460 3063473 + AmpersandAmpersandToken 3063473 3063476 + CallExpression 3063476 3063515 + Identifier 3063476 3063485 + Identifier 3063486 3063497 + Identifier 3063498 3063514 + Block 3063516 3063600 + ReturnStatement 3063518 3063589 + CallExpression 3063538 3063588 + Identifier 3063538 3063543 + PropertyAccessExpression 3063544 3063561 + Identifier 3063544 3063555 + Identifier 3063556 3063561 + ArrowFunction 3063562 3063587 + Parameter 3063562 3063564 + Identifier 3063562 3063564 + EqualsGreaterThanToken 3063564 3063567 + PrefixUnaryExpression 3063567 3063587 + CallExpression 3063569 3063587 + Identifier 3063569 3063584 + Identifier 3063585 3063586 + FunctionDeclaration 3063607 3064098 + Identifier 3063623 3063648 + Parameter 3063649 3063661 + Identifier 3063649 3063655 + TypeReference 3063656 3063661 + Identifier 3063656 3063661 + Parameter 3063662 3063699 + Identifier 3063662 3063674 + TypeReference 3063675 3063699 + Identifier 3063675 3063699 + Block 3063700 3064098 + VariableStatement 3063702 3063751 + VariableDeclarationList 3063702 3063750 + VariableDeclaration 3063715 3063750 + Identifier 3063715 3063729 + PropertyAccessExpression 3063731 3063750 + Identifier 3063731 3063745 + Identifier 3063746 3063750 + VariableStatement 3063751 3063950 + VariableDeclarationList 3063751 3063949 + VariableDeclaration 3063766 3063949 + Identifier 3063766 3063780 + BinaryExpression 3063782 3063949 + BinaryExpression 3063782 3063836 + PropertyAccessExpression 3063782 3063832 + CallExpression 3063782 3063825 + Identifier 3063782 3063802 + Identifier 3063803 3063809 + Identifier 3063810 3063824 + Identifier 3063826 3063832 + GreaterThanToken 3063832 3063834 + NumericLiteral 3063834 3063836 + BarBarToken 3063836 3063839 + ParenthesizedExpression 3063839 3063949 + BinaryExpression 3063854 3063948 + BinaryExpression 3063854 3063893 + Identifier 3063854 3063867 + EqualsToken 3063867 3063869 + PropertyAccessExpression 3063869 3063893 + Identifier 3063869 3063883 + Identifier 3063884 3063893 + CommaToken 3063893 3063894 + BinaryExpression 3063894 3063948 + PropertyAccessExpression 3063894 3063944 + CallExpression 3063894 3063937 + Identifier 3063894 3063914 + Identifier 3063915 3063921 + Identifier 3063922 3063936 + Identifier 3063938 3063944 + GreaterThanToken 3063944 3063946 + NumericLiteral 3063946 3063948 + IfStatement 3063950 3064091 + Identifier 3063964 3063977 + Block 3063978 3064091 + ReturnStatement 3063980 3064080 + CallExpression 3064000 3064079 + Identifier 3064000 3064005 + PropertyAccessExpression 3064006 3064023 + Identifier 3064006 3064017 + Identifier 3064018 3064023 + ArrowFunction 3064024 3064078 + Parameter 3064024 3064026 + Identifier 3064024 3064026 + EqualsGreaterThanToken 3064026 3064029 + BinaryExpression 3064029 3064078 + PropertyAccessExpression 3064029 3064074 + CallExpression 3064029 3064067 + Identifier 3064029 3064049 + Identifier 3064050 3064051 + Identifier 3064052 3064066 + Identifier 3064068 3064074 + GreaterThanToken 3064074 3064076 + NumericLiteral 3064076 3064078 + FunctionDeclaration 3064098 3065545 + Identifier 3064114 3064136 + Parameter 3064137 3064149 + Identifier 3064137 3064143 + TypeReference 3064144 3064149 + Identifier 3064144 3064149 + Parameter 3064150 3064187 + Identifier 3064150 3064162 + TypeReference 3064163 3064187 + Identifier 3064163 3064187 + Block 3064188 3065545 + VariableStatement 3064190 3064232 + VariableDeclarationList 3064190 3064231 + VariableDeclaration 3064203 3064231 + Identifier 3064203 3064213 + UnionType 3064214 3064231 + TypeReference 3064214 3064219 + Identifier 3064214 3064219 + UndefinedKeyword 3064221 3064231 + IfStatement 3064232 3065511 + PrefixUnaryExpression 3064246 3064319 + ParenthesizedExpression 3064247 3064319 + BinaryExpression 3064248 3064318 + PropertyAccessExpression 3064248 3064260 + Identifier 3064248 3064254 + Identifier 3064255 3064260 + AmpersandToken 3064260 3064262 + ParenthesizedExpression 3064262 3064318 + BinaryExpression 3064264 3064317 + PropertyAccessExpression 3064264 3064283 + Identifier 3064264 3064273 + Identifier 3064274 3064283 + BarToken 3064283 3064285 + PropertyAccessExpression 3064285 3064317 + Identifier 3064285 3064295 + Identifier 3064296 3064317 + Block 3064320 3065511 + VariableStatement 3064322 3064358 + VariableDeclarationList 3064322 3064357 + VariableDeclaration 3064339 3064357 + Identifier 3064339 3064353 + NumericLiteral 3064355 3064357 + ForOfStatement 3064358 3065500 + VariableDeclarationList 3064377 3064389 + VariableDeclaration 3064382 3064389 + Identifier 3064382 3064389 + PropertyAccessExpression 3064392 3064410 + Identifier 3064392 3064404 + Identifier 3064405 3064410 + Block 3064411 3065500 + IfStatement 3064413 3065485 + PrefixUnaryExpression 3064435 3064508 + ParenthesizedExpression 3064436 3064508 + BinaryExpression 3064437 3064507 + PropertyAccessExpression 3064437 3064449 + Identifier 3064437 3064443 + Identifier 3064444 3064449 + AmpersandToken 3064449 3064451 + ParenthesizedExpression 3064451 3064507 + BinaryExpression 3064453 3064506 + PropertyAccessExpression 3064453 3064472 + Identifier 3064453 3064462 + Identifier 3064463 3064472 + BarToken 3064472 3064474 + PropertyAccessExpression 3064474 3064506 + Identifier 3064474 3064484 + Identifier 3064485 3064506 + Block 3064509 3065485 + VariableStatement 3064511 3064615 + VariableDeclarationList 3064511 3064614 + VariableDeclaration 3064538 3064614 + Identifier 3064538 3064546 + CallExpression 3064548 3064614 + Identifier 3064548 3064568 + ArrayLiteralExpression 3064569 3064613 + CallExpression 3064570 3064590 + Identifier 3064570 3064582 + Identifier 3064583 3064589 + CallExpression 3064591 3064612 + Identifier 3064591 3064604 + Identifier 3064605 3064611 + IfStatement 3064615 3065466 + BinaryExpression 3064641 3064672 + PropertyAccessExpression 3064641 3064654 + Identifier 3064641 3064648 + Identifier 3064649 3064654 + AmpersandToken 3064654 3064656 + PropertyAccessExpression 3064656 3064672 + Identifier 3064656 3064666 + Identifier 3064667 3064672 + Block 3064673 3064790 + ReturnStatement 3064675 3064767 + Identifier 3064759 3064766 + IfStatement 3064816 3065466 + BinaryExpression 3064821 3064875 + CallExpression 3064821 3064840 + Identifier 3064821 3064831 + Identifier 3064832 3064839 + BarBarToken 3064840 3064843 + BinaryExpression 3064843 3064875 + PropertyAccessExpression 3064843 3064857 + Identifier 3064843 3064851 + Identifier 3064852 3064857 + AmpersandToken 3064857 3064859 + PropertyAccessExpression 3064859 3064875 + Identifier 3064859 3064869 + Identifier 3064870 3064875 + Block 3064876 3065466 + VariableStatement 3064878 3065264 + VariableDeclarationList 3064878 3065263 + VariableDeclaration 3065166 3065263 + Identifier 3065166 3065170 + ConditionalExpression 3065172 3065263 + BinaryExpression 3065172 3065204 + PropertyAccessExpression 3065172 3065186 + Identifier 3065172 3065180 + Identifier 3065181 3065186 + AmpersandToken 3065186 3065188 + PropertyAccessExpression 3065188 3065204 + Identifier 3065188 3065198 + Identifier 3065199 3065204 + QuestionToken 3065204 3065206 + CallExpression 3065206 3065259 + Identifier 3065206 3065217 + PropertyAccessExpression 3065218 3065246 + ParenthesizedExpression 3065218 3065240 + AsExpression 3065219 3065239 + Identifier 3065219 3065226 + TypeReference 3065229 3065239 + Identifier 3065229 3065239 + Identifier 3065241 3065246 + Identifier 3065247 3065258 + ColonToken 3065259 3065261 + NumericLiteral 3065261 3065263 + IfStatement 3065264 3065443 + BinaryExpression 3065294 3065314 + Identifier 3065294 3065297 + GreaterThanEqualsToken 3065297 3065300 + Identifier 3065300 3065314 + Block 3065315 3065443 + ExpressionStatement 3065317 3065366 + BinaryExpression 3065317 3065365 + Identifier 3065317 3065356 + EqualsToken 3065356 3065358 + Identifier 3065358 3065365 + ExpressionStatement 3065366 3065416 + BinaryExpression 3065366 3065415 + Identifier 3065366 3065409 + EqualsToken 3065409 3065411 + Identifier 3065411 3065415 + ReturnStatement 3065511 3065538 + Identifier 3065527 3065537 + FunctionDeclaration 3065545 3065907 + Identifier 3065561 3065600 + Parameter 3065601 3065616 + Identifier 3065601 3065605 + TypeReference 3065606 3065616 + Identifier 3065606 3065616 + Block 3065617 3065907 + IfStatement 3065619 3065878 + CallExpression 3065633 3065678 + Identifier 3065633 3065648 + Identifier 3065649 3065653 + PropertyAccessExpression 3065654 3065677 + Identifier 3065654 3065664 + Identifier 3065665 3065677 + Block 3065679 3065878 + VariableStatement 3065681 3065766 + VariableDeclarationList 3065681 3065765 + VariableDeclaration 3065700 3065765 + Identifier 3065700 3065707 + CallExpression 3065709 3065765 + Identifier 3065709 3065720 + Identifier 3065721 3065725 + ArrowFunction 3065726 3065764 + Parameter 3065726 3065728 + Identifier 3065726 3065728 + EqualsGreaterThanToken 3065728 3065731 + PrefixUnaryExpression 3065731 3065764 + ParenthesizedExpression 3065733 3065764 + BinaryExpression 3065734 3065763 + PropertyAccessExpression 3065734 3065741 + Identifier 3065734 3065735 + Identifier 3065736 3065741 + AmpersandToken 3065741 3065743 + PropertyAccessExpression 3065743 3065763 + Identifier 3065743 3065753 + Identifier 3065754 3065763 + IfStatement 3065766 3065867 + PrefixUnaryExpression 3065784 3065817 + ParenthesizedExpression 3065785 3065817 + BinaryExpression 3065786 3065816 + PropertyAccessExpression 3065786 3065798 + Identifier 3065786 3065792 + Identifier 3065793 3065798 + AmpersandToken 3065798 3065800 + PropertyAccessExpression 3065800 3065816 + Identifier 3065800 3065810 + Identifier 3065811 3065816 + Block 3065818 3065867 + ReturnStatement 3065820 3065852 + Identifier 3065844 3065851 + ReturnStatement 3065878 3065900 + Identifier 3065894 3065899 + FunctionDeclaration 3065907 3067116 + Identifier 3066049 3066078 + Parameter 3066079 3066091 + Identifier 3066079 3066085 + TypeReference 3066086 3066091 + Identifier 3066086 3066091 + Parameter 3066092 3066105 + Identifier 3066092 3066099 + TypeReference 3066100 3066105 + Identifier 3066100 3066105 + Parameter 3066106 3066159 + Identifier 3066106 3066118 + FunctionType 3066119 3066159 + Parameter 3066121 3066133 + Identifier 3066121 3066127 + TypeReference 3066128 3066133 + Identifier 3066128 3066133 + Parameter 3066134 3066147 + Identifier 3066134 3066141 + TypeReference 3066142 3066147 + Identifier 3066142 3066147 + TypeReference 3066151 3066159 + Identifier 3066151 3066159 + Block 3066160 3067116 + IfStatement 3066162 3067082 + BinaryExpression 3066176 3066268 + BinaryExpression 3066176 3066206 + PropertyAccessExpression 3066176 3066188 + Identifier 3066176 3066182 + Identifier 3066183 3066188 + AmpersandToken 3066188 3066190 + PropertyAccessExpression 3066190 3066206 + Identifier 3066190 3066200 + Identifier 3066201 3066206 + AmpersandAmpersandToken 3066206 3066209 + BinaryExpression 3066209 3066268 + PropertyAccessExpression 3066209 3066222 + Identifier 3066209 3066216 + Identifier 3066217 3066222 + AmpersandToken 3066222 3066224 + ParenthesizedExpression 3066224 3066268 + BinaryExpression 3066226 3066267 + PropertyAccessExpression 3066226 3066248 + Identifier 3066226 3066235 + Identifier 3066236 3066248 + BarToken 3066248 3066250 + PropertyAccessExpression 3066250 3066267 + Identifier 3066250 3066260 + Identifier 3066261 3066267 + Block 3066269 3067082 + VariableStatement 3066271 3066363 + VariableDeclarationList 3066271 3066362 + VariableDeclaration 3066290 3066362 + Identifier 3066290 3066296 + CallExpression 3066298 3066362 + Identifier 3066298 3066333 + AsExpression 3066334 3066353 + Identifier 3066334 3066340 + TypeReference 3066343 3066353 + Identifier 3066343 3066353 + Identifier 3066354 3066361 + IfStatement 3066363 3066435 + Identifier 3066381 3066386 + Block 3066387 3066435 + ReturnStatement 3066389 3066420 + Identifier 3066413 3066419 + VariableStatement 3066435 3066502 + VariableDeclarationList 3066435 3066501 + VariableDeclaration 3066454 3066501 + Identifier 3066454 3066471 + CallExpression 3066473 3066501 + Identifier 3066473 3066493 + Identifier 3066494 3066500 + IfStatement 3066502 3067071 + Identifier 3066520 3066536 + Block 3066537 3067071 + VariableStatement 3066539 3066643 + VariableDeclarationList 3066539 3066642 + VariableDeclaration 3066562 3066642 + Identifier 3066562 3066587 + CallExpression 3066589 3066642 + Identifier 3066589 3066616 + Identifier 3066617 3066633 + Identifier 3066634 3066641 + IfStatement 3066643 3067056 + Identifier 3066665 3066689 + Block 3066690 3067056 + VariableStatement 3066692 3066914 + VariableDeclarationList 3066692 3066913 + VariableDeclaration 3066719 3066913 + Identifier 3066719 3066733 + CallExpression 3066735 3066913 + Identifier 3066735 3066772 + AsExpression 3066773 3066792 + Identifier 3066773 3066779 + TypeReference 3066782 3066792 + Identifier 3066782 3066792 + CallExpression 3066793 3066899 + Identifier 3066793 3066797 + Identifier 3066798 3066822 + ArrowFunction 3066823 3066898 + Parameter 3066823 3066825 + Identifier 3066823 3066825 + EqualsGreaterThanToken 3066825 3066828 + ParenthesizedExpression 3066828 3066898 + AsExpression 3066830 3066897 + ArrayLiteralExpression 3066830 3066871 + ArrowFunction 3066831 3066855 + EqualsGreaterThanToken 3066833 3066836 + CallExpression 3066836 3066855 + Identifier 3066836 3066852 + Identifier 3066853 3066854 + PropertyAccessExpression 3066856 3066870 + Identifier 3066856 3066858 + Identifier 3066859 3066870 + TupleType 3066874 3066897 + FunctionType 3066876 3066886 + TypeReference 3066881 3066886 + Identifier 3066881 3066886 + TypeReference 3066887 3066896 + Identifier 3066887 3066896 + Identifier 3066900 3066912 + IfStatement 3066914 3067037 + BinaryExpression 3066940 3066964 + Identifier 3066940 3066953 + ExclamationEqualsEqualsToken 3066953 3066957 + Identifier 3066957 3066964 + Block 3066965 3067037 + ReturnStatement 3066967 3067014 + Identifier 3066999 3067013 + ReturnStatement 3067082 3067109 + Identifier 3067098 3067108 + FunctionDeclaration 3067116 3067413 + Identifier 3067132 3067176 + Parameter 3067177 3067195 + Identifier 3067177 3067181 + TypeReference 3067182 3067195 + Identifier 3067182 3067195 + Block 3067196 3067413 + VariableStatement 3067198 3067262 + VariableDeclarationList 3067198 3067261 + VariableDeclaration 3067213 3067261 + Identifier 3067213 3067218 + CallExpression 3067220 3067261 + Identifier 3067220 3067255 + Identifier 3067256 3067260 + ReturnStatement 3067262 3067406 + ConditionalExpression 3067278 3067405 + Identifier 3067278 3067283 + QuestionToken 3067283 3067285 + Identifier 3067285 3067290 + ColonToken 3067290 3067292 + ConditionalExpression 3067292 3067405 + CallExpression 3067292 3067334 + Identifier 3067292 3067328 + Identifier 3067329 3067333 + QuestionToken 3067334 3067336 + CallExpression 3067336 3067393 + Identifier 3067336 3067355 + CallExpression 3067356 3067392 + Identifier 3067356 3067375 + PropertyAccessExpression 3067376 3067391 + Identifier 3067376 3067380 + Identifier 3067381 3067391 + ColonToken 3067393 3067395 + Identifier 3067395 3067405 + FunctionDeclaration 3067413 3067897 + Identifier 3067429 3067460 + Parameter 3067461 3067478 + Identifier 3067461 3067465 + TypeReference 3067466 3067478 + Identifier 3067466 3067478 + Block 3067479 3067897 + IfStatement 3067481 3067708 + BinaryExpression 3067597 3067638 + Identifier 3067597 3067629 + EqualsEqualsEqualsToken 3067629 3067633 + Identifier 3067633 3067638 + Block 3067639 3067708 + ReturnStatement 3067641 3067697 + Identifier 3067661 3067696 + ExpressionStatement 3067708 3067760 + BinaryExpression 3067708 3067759 + Identifier 3067708 3067752 + EqualsToken 3067752 3067754 + Identifier 3067754 3067759 + ExpressionStatement 3067760 3067838 + BinaryExpression 3067760 3067837 + Identifier 3067760 3067804 + EqualsToken 3067804 3067806 + CallExpression 3067806 3067837 + Identifier 3067806 3067831 + Identifier 3067832 3067836 + ReturnStatement 3067838 3067890 + Identifier 3067854 3067889 + FunctionDeclaration 3067897 3068344 + Identifier 3067913 3067940 + Parameter 3067941 3067951 + Identifier 3067941 3067945 + TypeReference 3067946 3067951 + Identifier 3067946 3067951 + Block 3067952 3068344 + IfStatement 3067954 3068173 + BinaryExpression 3068070 3068107 + Identifier 3068070 3068098 + EqualsEqualsEqualsToken 3068098 3068102 + Identifier 3068102 3068107 + Block 3068108 3068173 + ReturnStatement 3068110 3068162 + Identifier 3068130 3068161 + ExpressionStatement 3068173 3068219 + BinaryExpression 3068173 3068218 + Identifier 3068173 3068211 + EqualsToken 3068211 3068213 + Identifier 3068213 3068218 + ExpressionStatement 3068219 3068289 + BinaryExpression 3068219 3068288 + Identifier 3068219 3068259 + EqualsToken 3068259 3068261 + CallExpression 3068261 3068288 + Identifier 3068261 3068282 + Identifier 3068283 3068287 + ReturnStatement 3068289 3068337 + Identifier 3068305 3068336 + FunctionDeclaration 3068344 3068686 + Identifier 3068360 3068375 + Parameter 3068376 3068427 + Identifier 3068376 3068380 + UnionType 3068381 3068427 + TypeReference 3068381 3068401 + Identifier 3068381 3068401 + TypeReference 3068403 3068427 + Identifier 3068403 3068427 + Block 3068428 3068686 + VariableStatement 3068430 3068520 + VariableDeclarationList 3068430 3068519 + VariableDeclaration 3068445 3068519 + Identifier 3068445 3068460 + BinaryExpression 3068462 3068519 + CallExpression 3068462 3068495 + Identifier 3068462 3068489 + Identifier 3068490 3068494 + AmpersandToken 3068495 3068497 + PropertyAccessExpression 3068497 3068519 + Identifier 3068497 3068507 + Identifier 3068508 3068519 + ReturnStatement 3068520 3068679 + BinaryExpression 3068536 3068678 + BinaryExpression 3068536 3068622 + BinaryExpression 3068536 3068571 + Identifier 3068536 3068551 + EqualsEqualsEqualsToken 3068551 3068555 + PropertyAccessExpression 3068555 3068571 + Identifier 3068555 3068565 + Identifier 3068566 3068571 + BarBarToken 3068571 3068574 + BinaryExpression 3068574 3068622 + Identifier 3068574 3068602 + EqualsEqualsEqualsToken 3068602 3068606 + PropertyAccessExpression 3068606 3068622 + Identifier 3068606 3068616 + Identifier 3068617 3068622 + BarBarToken 3068622 3068625 + BinaryExpression 3068625 3068678 + Identifier 3068625 3068653 + EqualsEqualsEqualsToken 3068653 3068657 + PropertyAccessExpression 3068657 3068678 + Identifier 3068657 3068667 + Identifier 3068668 3068678 + FunctionDeclaration 3068686 3069236 + Identifier 3068702 3068731 + Parameter 3068732 3068760 + Identifier 3068732 3068736 + UnionType 3068737 3068760 + TypeReference 3068737 3068748 + Identifier 3068737 3068748 + UndefinedKeyword 3068750 3068760 + Parameter 3068761 3068783 + Identifier 3068761 3068775 + StringKeyword 3068776 3068783 + Block 3068784 3069236 + VariableStatement 3068786 3068923 + VariableDeclarationList 3068786 3068922 + VariableDeclaration 3068867 3068922 + Identifier 3068867 3068882 + ConditionalExpression 3068884 3068922 + PropertyAccessExpression 3068884 3068914 + Identifier 3068884 3068900 + Identifier 3068901 3068914 + QuestionToken 3068914 3068916 + NumericLiteral 3068916 3068918 + ColonToken 3068918 3068920 + NumericLiteral 3068920 3068922 + VariableStatement 3068923 3068981 + VariableDeclarationList 3068923 3068980 + VariableDeclaration 3068938 3068980 + Identifier 3068938 3068948 + ElementAccessExpression 3068950 3068980 + PropertyAccessExpression 3068950 3068964 + Identifier 3068950 3068955 + QuestionDotToken 3068955 3068957 + Identifier 3068957 3068964 + Identifier 3068965 3068979 + IfStatement 3068981 3069202 + Identifier 3068995 3069004 + Block 3069005 3069202 + ExpressionStatement 3069007 3069191 + CallExpression 3069007 3069190 + PropertyAccessExpression 3069007 3069033 + Identifier 3069007 3069026 + Identifier 3069027 3069033 + BinaryExpression 3069034 3069098 + CallExpression 3069034 3069062 + Identifier 3069034 3069051 + Identifier 3069052 3069061 + AmpersandAmpersandToken 3069062 3069065 + BinaryExpression 3069065 3069098 + PropertyAccessExpression 3069065 3069080 + Identifier 3069065 3069075 + Identifier 3069076 3069080 + EqualsEqualsEqualsToken 3069080 3069084 + Identifier 3069084 3069098 + TemplateExpression 3069099 3069189 + TemplateHead 3069099 3069131 + TemplateSpan 3069131 3069189 + Identifier 3069131 3069145 + TemplateTail 3069145 3069189 + ReturnStatement 3069202 3069229 + Identifier 3069218 3069228 + FunctionDeclaration 3069236 3069641 + Identifier 3069252 3069284 + Parameter 3069285 3069301 + Identifier 3069285 3069289 + TypeReference 3069290 3069301 + Identifier 3069290 3069301 + Block 3069302 3069641 + ExpressionStatement 3069304 3069398 + CallExpression 3069304 3069397 + PropertyAccessExpression 3069304 3069326 + Identifier 3069304 3069319 + Identifier 3069320 3069326 + PropertyAccessExpression 3069327 3069356 + Identifier 3069327 3069342 + Identifier 3069343 3069356 + StringLiteral 3069357 3069396 + VariableStatement 3069398 3069442 + VariableDeclarationList 3069398 3069441 + VariableDeclaration 3069413 3069441 + Identifier 3069413 3069423 + ElementAccessExpression 3069425 3069441 + PropertyAccessExpression 3069425 3069438 + Identifier 3069425 3069430 + Identifier 3069431 3069438 + NumericLiteral 3069439 3069440 + ExpressionStatement 3069442 3069607 + CallExpression 3069442 3069606 + PropertyAccessExpression 3069442 3069464 + Identifier 3069442 3069457 + Identifier 3069458 3069464 + BinaryExpression 3069465 3069536 + BinaryExpression 3069465 3069506 + Identifier 3069465 3069474 + AmpersandAmpersandToken 3069474 3069477 + CallExpression 3069477 3069506 + Identifier 3069477 3069495 + Identifier 3069496 3069505 + AmpersandAmpersandToken 3069506 3069509 + BinaryExpression 3069509 3069536 + PropertyAccessExpression 3069509 3069524 + Identifier 3069509 3069519 + Identifier 3069520 3069524 + EqualsEqualsEqualsToken 3069524 3069528 + StringLiteral 3069528 3069536 + NoSubstitutionTemplateLiteral 3069537 3069605 + ReturnStatement 3069607 3069634 + Identifier 3069623 3069633 + FunctionDeclaration 3069644 3069891 + Identifier 3069656 3069670 + Parameter 3069671 3069695 + Identifier 3069671 3069682 + TypeReference 3069683 3069695 + Identifier 3069683 3069695 + BooleanKeyword 3069697 3069705 + Block 3069705 3069891 + ReturnStatement 3069707 3069888 + PrefixUnaryExpression 3069862 3069887 + CallExpression 3069864 3069887 + Identifier 3069864 3069874 + Identifier 3069875 3069886 + FunctionDeclaration 3069891 3070133 + Identifier 3069903 3069917 + Parameter 3069918 3069942 + Identifier 3069918 3069929 + TypeReference 3069930 3069942 + Identifier 3069930 3069942 + BooleanKeyword 3069944 3069952 + Block 3069952 3070133 + ReturnStatement 3069954 3070130 + BinaryExpression 3069966 3070129 + ParenthesizedExpression 3069966 3070073 + BinaryExpression 3069968 3070072 + BinaryExpression 3069968 3070019 + PropertyAccessExpression 3069968 3069984 + Identifier 3069968 3069979 + Identifier 3069980 3069984 + ExclamationEqualsEqualsToken 3069984 3069988 + PropertyAccessExpression 3069988 3070019 + Identifier 3069988 3069999 + Identifier 3070000 3070019 + AmpersandAmpersandToken 3070019 3070022 + BinaryExpression 3070022 3070072 + PropertyAccessExpression 3070022 3070039 + Identifier 3070022 3070034 + Identifier 3070035 3070039 + ExclamationEqualsEqualsToken 3070039 3070043 + PropertyAccessExpression 3070043 3070072 + Identifier 3070043 3070054 + Identifier 3070055 3070072 + BarBarToken 3070073 3070076 + PrefixUnaryExpression 3070076 3070129 + PrefixUnaryExpression 3070087 3070129 + PropertyAccessExpression 3070088 3070129 + ParenthesizedExpression 3070088 3070124 + AsExpression 3070089 3070123 + Identifier 3070089 3070100 + TypeReference 3070103 3070123 + Identifier 3070103 3070123 + Identifier 3070125 3070129 + FunctionDeclaration 3070133 3070584 + Identifier 3070251 3070289 + Parameter 3070290 3070300 + Identifier 3070290 3070294 + TypeReference 3070295 3070300 + Identifier 3070295 3070300 + BooleanKeyword 3070302 3070310 + Block 3070310 3070584 + SwitchStatement 3070312 3070581 + PropertyAccessExpression 3070326 3070342 + PropertyAccessExpression 3070326 3070337 + Identifier 3070326 3070330 + Identifier 3070331 3070337 + Identifier 3070338 3070342 + CaseBlock 3070343 3070581 + CaseClause 3070345 3070387 + PropertyAccessExpression 3070359 3070386 + Identifier 3070359 3070370 + Identifier 3070371 3070386 + CaseClause 3070387 3070511 + PropertyAccessExpression 3070401 3070428 + Identifier 3070401 3070412 + Identifier 3070413 3070428 + ReturnStatement 3070429 3070511 + BinaryExpression 3070449 3070510 + CallExpression 3070449 3070468 + Identifier 3070449 3070462 + Identifier 3070463 3070467 + BarBarToken 3070468 3070471 + BinaryExpression 3070471 3070510 + PropertyAccessExpression 3070471 3070481 + Identifier 3070471 3070476 + Identifier 3070477 3070481 + EqualsEqualsEqualsToken 3070481 3070485 + PropertyAccessExpression 3070485 3070510 + Identifier 3070485 3070496 + Identifier 3070497 3070510 + DefaultClause 3070511 3070574 + ReturnStatement 3070529 3070574 + CallExpression 3070549 3070573 + Identifier 3070549 3070567 + Identifier 3070568 3070572 + ModuleDeclaration 3070584 3071377 + Identifier 3070597 3070606 + ModuleBlock 3070606 3071377 + VariableStatement 3070608 3070651 + ExportKeyword 3070608 3070620 + VariableDeclarationList 3070620 3070650 + VariableDeclaration 3070626 3070650 + Identifier 3070626 3070630 + AsExpression 3070632 3070650 + StringLiteral 3070632 3070638 + TypeReference 3070641 3070650 + Identifier 3070641 3070650 + VariableStatement 3070651 3070722 + ExportKeyword 3070651 3070663 + VariableDeclarationList 3070663 3070721 + VariableDeclaration 3070669 3070721 + Identifier 3070669 3070687 + AsExpression 3070689 3070721 + StringLiteral 3070689 3070709 + TypeReference 3070712 3070721 + Identifier 3070712 3070721 + VariableStatement 3070722 3070783 + ExportKeyword 3070722 3070734 + VariableDeclarationList 3070734 3070782 + VariableDeclaration 3070740 3070782 + Identifier 3070740 3070753 + AsExpression 3070755 3070782 + StringLiteral 3070755 3070770 + TypeReference 3070773 3070782 + Identifier 3070773 3070782 + VariableStatement 3070783 3070883 + ExportKeyword 3070783 3070795 + VariableDeclarationList 3070795 3070882 + VariableDeclaration 3070801 3070882 + Identifier 3070801 3070840 + AsExpression 3070842 3070882 + StringLiteral 3070842 3070870 + TypeReference 3070873 3070882 + Identifier 3070873 3070882 + VariableStatement 3070883 3071019 + ExportKeyword 3070883 3070933 + VariableDeclarationList 3070933 3071018 + VariableDeclaration 3070939 3071018 + Identifier 3070939 3070977 + AsExpression 3070979 3071018 + StringLiteral 3070979 3071006 + TypeReference 3071009 3071018 + Identifier 3071009 3071018 + VariableStatement 3071019 3071070 + ExportKeyword 3071019 3071031 + VariableDeclarationList 3071031 3071069 + VariableDeclaration 3071037 3071069 + Identifier 3071037 3071045 + AsExpression 3071047 3071069 + StringLiteral 3071047 3071057 + TypeReference 3071060 3071069 + Identifier 3071060 3071069 + VariableStatement 3071070 3071129 + ExportKeyword 3071070 3071082 + VariableDeclarationList 3071082 3071128 + VariableDeclaration 3071088 3071128 + Identifier 3071088 3071100 + AsExpression 3071102 3071128 + StringLiteral 3071102 3071116 + TypeReference 3071119 3071128 + Identifier 3071119 3071128 + VariableStatement 3071129 3071204 + ExportKeyword 3071129 3071141 + VariableDeclarationList 3071141 3071203 + VariableDeclaration 3071147 3071203 + Identifier 3071147 3071167 + AsExpression 3071169 3071203 + StringLiteral 3071169 3071191 + TypeReference 3071194 3071203 + Identifier 3071194 3071203 + VariableStatement 3071204 3071289 + ExportKeyword 3071204 3071216 + VariableDeclarationList 3071216 3071288 + VariableDeclaration 3071222 3071288 + Identifier 3071222 3071247 + AsExpression 3071249 3071288 + StringLiteral 3071249 3071276 + TypeReference 3071279 3071288 + Identifier 3071279 3071288 + VariableStatement 3071289 3071374 + ExportKeyword 3071289 3071301 + VariableDeclarationList 3071301 3071373 + VariableDeclaration 3071307 3071373 + Identifier 3071307 3071332 + AsExpression 3071334 3071373 + StringLiteral 3071334 3071361 + TypeReference 3071364 3071373 + Identifier 3071364 3071373 + ModuleDeclaration 3071377 3071459 + Identifier 3071390 3071401 + ModuleBlock 3071401 3071459 + VariableStatement 3071403 3071456 + ExportKeyword 3071403 3071415 + VariableDeclarationList 3071415 3071455 + VariableDeclaration 3071421 3071455 + Identifier 3071421 3071430 + AsExpression 3071432 3071455 + StringLiteral 3071432 3071443 + TypeReference 3071446 3071455 + Identifier 3071446 3071455 + FunctionDeclaration 3071459 3071795 + Identifier 3071471 3071513 + Parameter 3071514 3071541 + Identifier 3071514 3071522 + TypeReference 3071523 3071541 + Identifier 3071523 3071541 + Block 3071542 3071795 + SwitchStatement 3071544 3071792 + Identifier 3071558 3071566 + CaseBlock 3071567 3071792 + CaseClause 3071569 3071641 + PropertyAccessExpression 3071583 3071607 + Identifier 3071583 3071601 + Identifier 3071602 3071607 + ReturnStatement 3071608 3071641 + StringLiteral 3071628 3071640 + CaseClause 3071641 3071715 + PropertyAccessExpression 3071655 3071680 + Identifier 3071655 3071673 + Identifier 3071674 3071680 + ReturnStatement 3071681 3071715 + StringLiteral 3071701 3071714 + CaseClause 3071715 3071785 + PropertyAccessExpression 3071729 3071752 + Identifier 3071729 3071747 + Identifier 3071748 3071752 + ReturnStatement 3071753 3071785 + StringLiteral 3071773 3071784 + FunctionDeclaration 3071795 3071945 + ExportKeyword 3071795 3071823 + Identifier 3071832 3071858 + Parameter 3071859 3071871 + Identifier 3071859 3071860 + TypeReference 3071861 3071871 + Identifier 3071861 3071871 + BooleanKeyword 3071873 3071881 + Block 3071881 3071945 + ReturnStatement 3071883 3071942 + PrefixUnaryExpression 3071895 3071941 + PrefixUnaryExpression 3071897 3071941 + ParenthesizedExpression 3071898 3071941 + BinaryExpression 3071899 3071940 + PropertyAccessExpression 3071899 3071906 + Identifier 3071899 3071900 + Identifier 3071901 3071906 + AmpersandToken 3071906 3071908 + PropertyAccessExpression 3071908 3071940 + Identifier 3071908 3071923 + Identifier 3071924 3071940 + FunctionDeclaration 3071945 3072059 + Identifier 3071957 3071982 + Parameter 3071983 3071995 + Identifier 3071983 3071984 + TypeReference 3071985 3071995 + Identifier 3071985 3071995 + Block 3071996 3072059 + ReturnStatement 3071998 3072056 + PrefixUnaryExpression 3072010 3072055 + PrefixUnaryExpression 3072012 3072055 + ParenthesizedExpression 3072013 3072055 + BinaryExpression 3072014 3072054 + PropertyAccessExpression 3072014 3072021 + Identifier 3072014 3072015 + Identifier 3072016 3072021 + AmpersandToken 3072021 3072023 + PropertyAccessExpression 3072023 3072054 + Identifier 3072023 3072038 + Identifier 3072039 3072054 + FunctionDeclaration 3072059 3073388 + Identifier 3072071 3072123 + Parameter 3072124 3072145 + Identifier 3072124 3072128 + TypeReference 3072129 3072145 + Identifier 3072129 3072145 + TypeReference 3072147 3072177 + Identifier 3072147 3072177 + Block 3072177 3073388 + ReturnStatement 3072179 3073385 + ObjectLiteralExpression 3072191 3073384 + PropertyAssignment 3072193 3072337 + Identifier 3072193 3072227 + ConditionalExpression 3072228 3072337 + PrefixUnaryExpression 3072228 3072273 + PrefixUnaryExpression 3072230 3072273 + PropertyAccessExpression 3072231 3072273 + ParenthesizedExpression 3072231 3072248 + AsExpression 3072232 3072247 + Identifier 3072232 3072236 + TypeReference 3072239 3072247 + Identifier 3072239 3072247 + Identifier 3072249 3072273 + QuestionToken 3072273 3072275 + ArrowFunction 3072275 3072326 + EqualsGreaterThanToken 3072278 3072281 + CallExpression 3072281 3072326 + PropertyAccessExpression 3072281 3072324 + ParenthesizedExpression 3072281 3072299 + AsExpression 3072283 3072298 + Identifier 3072283 3072287 + TypeReference 3072290 3072298 + Identifier 3072290 3072298 + Identifier 3072300 3072324 + ColonToken 3072326 3072328 + ArrowFunction 3072328 3072337 + EqualsGreaterThanToken 3072331 3072334 + StringLiteral 3072334 3072337 + PropertyAssignment 3072338 3072401 + Identifier 3072338 3072367 + ArrowFunction 3072368 3072401 + EqualsGreaterThanToken 3072371 3072374 + CallExpression 3072374 3072401 + PropertyAccessExpression 3072374 3072399 + Identifier 3072374 3072379 + Identifier 3072380 3072399 + PropertyAssignment 3072402 3072466 + Identifier 3072402 3072427 + CallExpression 3072428 3072466 + Identifier 3072428 3072438 + Identifier 3072439 3072443 + PropertyAccessExpression 3072444 3072465 + Identifier 3072444 3072449 + Identifier 3072450 3072465 + PropertyAssignment 3072467 3072540 + Identifier 3072467 3072500 + ArrowFunction 3072501 3072540 + EqualsGreaterThanToken 3072504 3072507 + CallExpression 3072507 3072540 + PropertyAccessExpression 3072507 3072536 + Identifier 3072507 3072512 + Identifier 3072513 3072536 + QuestionDotToken 3072536 3072538 + PropertyAssignment 3072541 3072616 + Identifier 3072541 3072576 + ArrowFunction 3072577 3072616 + EqualsGreaterThanToken 3072580 3072583 + CallExpression 3072583 3072616 + PropertyAccessExpression 3072583 3072614 + Identifier 3072583 3072588 + Identifier 3072589 3072614 + PropertyAssignment 3072617 3072670 + Identifier 3072617 3072645 + PropertyAccessExpression 3072646 3072670 + Identifier 3072646 3072651 + Identifier 3072652 3072670 + PropertyAssignment 3072671 3072764 + Identifier 3072671 3072708 + ArrowFunction 3072709 3072764 + Parameter 3072709 3072718 + Identifier 3072709 3072718 + EqualsGreaterThanToken 3072718 3072721 + CallExpression 3072721 3072764 + PropertyAccessExpression 3072721 3072754 + Identifier 3072721 3072726 + Identifier 3072727 3072754 + Identifier 3072755 3072763 + PropertyAssignment 3072765 3072872 + Identifier 3072765 3072809 + ArrowFunction 3072810 3072872 + Parameter 3072810 3072819 + Identifier 3072810 3072819 + EqualsGreaterThanToken 3072819 3072822 + CallExpression 3072822 3072872 + PropertyAccessExpression 3072822 3072862 + Identifier 3072822 3072827 + Identifier 3072828 3072862 + Identifier 3072863 3072871 + PropertyAssignment 3072873 3072932 + Identifier 3072873 3072893 + ArrowFunction 3072894 3072932 + Parameter 3072894 3072903 + Identifier 3072894 3072903 + EqualsGreaterThanToken 3072903 3072906 + CallExpression 3072906 3072932 + PropertyAccessExpression 3072906 3072922 + Identifier 3072906 3072911 + Identifier 3072912 3072922 + Identifier 3072923 3072931 + PropertyAssignment 3072933 3073000 + Identifier 3072933 3072964 + ArrowFunction 3072965 3073000 + EqualsGreaterThanToken 3072968 3072971 + CallExpression 3072971 3073000 + PropertyAccessExpression 3072971 3072998 + Identifier 3072971 3072976 + Identifier 3072977 3072998 + PropertyAssignment 3073001 3073087 + Identifier 3073001 3073019 + ConditionalExpression 3073020 3073087 + PropertyAccessExpression 3073020 3073034 + Identifier 3073020 3073025 + Identifier 3073026 3073034 + QuestionToken 3073034 3073036 + ParenthesizedExpression 3073036 3073075 + ArrowFunction 3073038 3073074 + Parameter 3073038 3073046 + Identifier 3073038 3073046 + EqualsGreaterThanToken 3073046 3073049 + CallExpression 3073049 3073074 + NonNullExpression 3073049 3073064 + PropertyAccessExpression 3073049 3073063 + Identifier 3073049 3073054 + Identifier 3073055 3073063 + Identifier 3073065 3073073 + ColonToken 3073075 3073077 + Identifier 3073077 3073087 + PropertyAssignment 3073088 3073181 + Identifier 3073088 3073129 + ArrowFunction 3073130 3073181 + Parameter 3073130 3073135 + Identifier 3073130 3073135 + EqualsGreaterThanToken 3073135 3073138 + CallExpression 3073138 3073181 + PropertyAccessExpression 3073138 3073175 + Identifier 3073138 3073143 + Identifier 3073144 3073175 + Identifier 3073176 3073180 + PropertyAssignment 3073182 3073283 + Identifier 3073182 3073219 + ArrowFunction 3073220 3073283 + Parameter 3073222 3073226 + Identifier 3073222 3073226 + Parameter 3073227 3073233 + Identifier 3073227 3073233 + EqualsGreaterThanToken 3073234 3073237 + CallExpression 3073237 3073283 + PropertyAccessExpression 3073237 3073270 + Identifier 3073237 3073242 + Identifier 3073243 3073270 + Identifier 3073271 3073275 + Identifier 3073276 3073282 + PropertyAssignment 3073284 3073376 + Identifier 3073284 3073323 + CallExpression 3073324 3073376 + Identifier 3073324 3073334 + Identifier 3073335 3073339 + PropertyAccessExpression 3073340 3073375 + Identifier 3073340 3073345 + Identifier 3073346 3073375 + InterfaceDeclaration 3073388 3075342 + Identifier 3073401 3073420 + HeritageClause 3073420 3073460 + ExpressionWithTypeArguments 3073428 3073460 + Identifier 3073428 3073460 + PropertySignature 3073462 3073507 + Identifier 3073462 3073488 + UnionType 3073489 3073506 + TypeReference 3073489 3073494 + Identifier 3073489 3073494 + UndefinedKeyword 3073496 3073506 + PropertySignature 3073507 3074150 + Identifier 3073507 3074125 + UnionType 3074126 3074149 + TypeReference 3074126 3074137 + Identifier 3074126 3074137 + UndefinedKeyword 3074139 3074149 + PropertySignature 3074150 3074180 + Identifier 3074150 3074161 + TypeReference 3074162 3074179 + Identifier 3074162 3074179 + PropertySignature 3074180 3074226 + Identifier 3074180 3074199 + TypeReference 3074200 3074225 + Identifier 3074200 3074225 + PropertySignature 3074226 3074259 + Identifier 3074226 3074239 + TypeReference 3074240 3074258 + Identifier 3074240 3074258 + PropertySignature 3074259 3074307 + Identifier 3074259 3074297 + BooleanKeyword 3074298 3074306 + PropertySignature 3074307 3074341 + Identifier 3074307 3074331 + BooleanKeyword 3074332 3074340 + PropertySignature 3074341 3074391 + Identifier 3074341 3074361 + UnionType 3074362 3074390 + ArrayType 3074362 3074378 + TypeReference 3074362 3074376 + Identifier 3074362 3074376 + UndefinedKeyword 3074380 3074390 + PropertySignature 3074391 3074435 + Identifier 3074391 3074409 + UnionType 3074410 3074434 + TypeReference 3074410 3074422 + Identifier 3074410 3074414 + NumberKeyword 3074415 3074421 + UndefinedKeyword 3074424 3074434 + PropertySignature 3074435 3074486 + Identifier 3074435 3074452 + UnionType 3074453 3074485 + TypeReference 3074453 3074473 + Identifier 3074453 3074457 + StringKeyword 3074458 3074464 + NumberKeyword 3074465 3074472 + UndefinedKeyword 3074475 3074485 + PropertySignature 3074486 3074541 + Identifier 3074486 3074511 + UnionType 3074512 3074540 + ArrayType 3074512 3074528 + TypeReference 3074512 3074526 + Identifier 3074512 3074526 + UndefinedKeyword 3074530 3074540 + PropertySignature 3074541 3074573 + Identifier 3074541 3074564 + NumberKeyword 3074565 3074572 + PropertySignature 3074573 3074599 + Identifier 3074573 3074589 + BooleanKeyword 3074590 3074598 + PropertySignature 3074599 3074648 + Identifier 3074599 3074638 + BooleanKeyword 3074639 3074647 + PropertySignature 3074648 3074703 + Identifier 3074648 3074677 + UnionType 3074678 3074702 + TypeReference 3074678 3074690 + Identifier 3074678 3074682 + NumberKeyword 3074683 3074689 + UndefinedKeyword 3074692 3074702 + PropertySignature 3074703 3074755 + Identifier 3074703 3074745 + BooleanKeyword 3074746 3074754 + PropertySignature 3074755 3074817 + Identifier 3074755 3074779 + UnionType 3074780 3074816 + TypeReference 3074780 3074804 + Identifier 3074780 3074784 + TypeReference 3074785 3074791 + Identifier 3074785 3074791 + TypeReference 3074792 3074803 + Identifier 3074792 3074803 + UndefinedKeyword 3074806 3074816 + PropertySignature 3074817 3074873 + Identifier 3074817 3074847 + UnionType 3074848 3074872 + TypeReference 3074848 3074860 + Identifier 3074848 3074852 + StringKeyword 3074853 3074859 + UndefinedKeyword 3074862 3074872 + PropertySignature 3074873 3074950 + Identifier 3074873 3074916 + UnionType 3074917 3074949 + TypeReference 3074917 3074937 + Identifier 3074917 3074921 + StringKeyword 3074922 3074928 + NumberKeyword 3074929 3074936 + UndefinedKeyword 3074939 3074949 + PropertySignature 3074950 3074997 + Identifier 3074950 3074971 + UnionType 3074972 3074996 + TypeReference 3074972 3074984 + Identifier 3074972 3074976 + StringKeyword 3074977 3074983 + UndefinedKeyword 3074986 3074996 + PropertySignature 3074997 3075058 + Identifier 3074997 3075022 + UnionType 3075023 3075057 + TypeReference 3075023 3075045 + Identifier 3075023 3075027 + TypeReference 3075028 3075036 + Identifier 3075028 3075036 + StringKeyword 3075037 3075044 + UndefinedKeyword 3075047 3075057 + PropertySignature 3075058 3075124 + Identifier 3075058 3075088 + UnionType 3075089 3075123 + TypeReference 3075089 3075111 + Identifier 3075089 3075093 + TypeReference 3075094 3075102 + Identifier 3075094 3075102 + TypeReference 3075103 3075110 + Identifier 3075103 3075110 + UndefinedKeyword 3075113 3075123 + PropertySignature 3075124 3075172 + Identifier 3075124 3075150 + TypeReference 3075151 3075171 + Identifier 3075151 3075155 + TypeReference 3075156 3075164 + Identifier 3075156 3075164 + TypeReference 3075165 3075170 + Identifier 3075165 3075170 + PropertySignature 3075172 3075232 + Identifier 3075172 3075196 + UnionType 3075197 3075231 + ArrayType 3075197 3075219 + TypeReference 3075197 3075217 + Identifier 3075197 3075217 + UndefinedKeyword 3075221 3075231 + PropertySignature 3075232 3075255 + Identifier 3075232 3075245 + BooleanKeyword 3075246 3075254 + PropertySignature 3075255 3075292 + Identifier 3075255 3075267 + UnionType 3075268 3075291 + TypeReference 3075268 3075279 + Identifier 3075268 3075279 + UndefinedKeyword 3075281 3075291 + PropertySignature 3075292 3075339 + Identifier 3075292 3075329 + BooleanKeyword 3075330 3075338 + ClassDeclaration 3075342 3079402 + Identifier 3075351 3075369 + HeritageClause 3075369 3075394 + ExpressionWithTypeArguments 3075380 3075394 + Identifier 3075380 3075394 + PropertyDeclaration 3075396 3075518 + Identifier 3075396 3075420 + UnionType 3075421 3075505 + IntersectionType 3075421 3075493 + TypeReference 3075421 3075451 + Identifier 3075421 3075451 + TypeLiteral 3075453 3075493 + MethodSignature 3075455 3075491 + Identifier 3075455 3075480 + StringKeyword 3075483 3075490 + UndefinedKeyword 3075495 3075505 + Identifier 3075507 3075517 + PropertyDeclaration 3075518 3075552 + Identifier 3075518 3075531 + TypeReference 3075532 3075551 + Identifier 3075532 3075551 + PropertyDeclaration 3075552 3075614 + ReadonlyKeyword 3075552 3075568 + Identifier 3075568 3075574 + UnionType 3075575 3075601 + TypeReference 3075575 3075589 + Identifier 3075575 3075589 + UndefinedKeyword 3075591 3075601 + Identifier 3075603 3075613 + PropertyDeclaration 3075614 3075653 + ReadonlyKeyword 3075614 3075628 + Identifier 3075628 3075643 + BooleanKeyword 3075644 3075652 + PropertyDeclaration 3075653 3075686 + Identifier 3075653 3075677 + FalseKeyword 3075679 3075685 + Constructor 3075686 3076168 + Parameter 3075706 3075733 + Identifier 3075706 3075713 + TypeReference 3075714 3075733 + Identifier 3075714 3075733 + Parameter 3075734 3075769 + Identifier 3075734 3075742 + UnionType 3075743 3075769 + TypeReference 3075743 3075757 + Identifier 3075743 3075757 + UndefinedKeyword 3075759 3075769 + Parameter 3075770 3075874 + Identifier 3075770 3075789 + UnionType 3075790 3075874 + IntersectionType 3075790 3075862 + TypeReference 3075790 3075820 + Identifier 3075790 3075820 + TypeLiteral 3075822 3075862 + MethodSignature 3075824 3075860 + Identifier 3075824 3075849 + StringKeyword 3075852 3075859 + UndefinedKeyword 3075864 3075874 + Block 3075875 3076168 + WhileStatement 3075877 3075982 + BinaryExpression 3075894 3075930 + Identifier 3075894 3075901 + InstanceOfKeyword 3075901 3075912 + Identifier 3075912 3075930 + Block 3075931 3075982 + ExpressionStatement 3075933 3075971 + BinaryExpression 3075933 3075970 + Identifier 3075933 3075954 + EqualsToken 3075954 3075956 + PropertyAccessExpression 3075956 3075970 + Identifier 3075956 3075964 + Identifier 3075965 3075970 + ExpressionStatement 3075982 3076015 + BinaryExpression 3075982 3076014 + PropertyAccessExpression 3075982 3076004 + ThisKeyword 3075982 3075998 + Identifier 3075999 3076004 + EqualsToken 3076004 3076006 + Identifier 3076006 3076014 + ExpressionStatement 3076015 3076070 + BinaryExpression 3076015 3076069 + PropertyAccessExpression 3076015 3076048 + ThisKeyword 3076015 3076029 + Identifier 3076030 3076048 + EqualsToken 3076048 3076050 + Identifier 3076050 3076069 + ExpressionStatement 3076070 3076103 + BinaryExpression 3076070 3076102 + PropertyAccessExpression 3076070 3076092 + ThisKeyword 3076070 3076084 + Identifier 3076085 3076092 + EqualsToken 3076092 3076094 + Identifier 3076094 3076102 + ExpressionStatement 3076103 3076161 + BinaryExpression 3076103 3076160 + PropertyAccessExpression 3076103 3076132 + ThisKeyword 3076103 3076117 + Identifier 3076118 3076132 + EqualsToken 3076132 3076134 + PrefixUnaryExpression 3076134 3076160 + PrefixUnaryExpression 3076136 3076160 + PropertyAccessExpression 3076137 3076160 + PropertyAccessExpression 3076137 3076147 + ThisKeyword 3076137 3076141 + Identifier 3076142 3076147 + QuestionDotToken 3076147 3076149 + Identifier 3076149 3076160 + MethodDeclaration 3076168 3076802 + Identifier 3076168 3076187 + Parameter 3076188 3076202 + Identifier 3076188 3076194 + TypeReference 3076195 3076202 + Identifier 3076195 3076202 + Parameter 3076203 3076242 + Identifier 3076203 3076224 + UnionType 3076225 3076242 + TypeReference 3076225 3076230 + Identifier 3076225 3076230 + UndefinedKeyword 3076232 3076242 + Parameter 3076243 3076264 + Identifier 3076243 3076251 + TypeReference 3076252 3076264 + Identifier 3076252 3076264 + BooleanKeyword 3076266 3076274 + Block 3076274 3076802 + IfStatement 3076276 3076772 + BinaryExpression 3076290 3076341 + PropertyAccessExpression 3076290 3076313 + PropertyAccessExpression 3076290 3076300 + ThisKeyword 3076290 3076294 + Identifier 3076295 3076300 + QuestionDotToken 3076300 3076302 + Identifier 3076302 3076313 + AmpersandAmpersandToken 3076313 3076316 + PrefixUnaryExpression 3076316 3076341 + PropertyAccessExpression 3076318 3076341 + ThisKeyword 3076318 3076322 + Identifier 3076323 3076341 + Block 3076342 3076772 + IfStatement 3076344 3076517 + CallExpression 3076362 3076423 + PropertyAccessExpression 3076362 3076384 + PropertyAccessExpression 3076362 3076372 + ThisKeyword 3076362 3076366 + Identifier 3076367 3076372 + Identifier 3076373 3076384 + Identifier 3076385 3076391 + Identifier 3076392 3076413 + Identifier 3076414 3076422 + Block 3076424 3076517 + ExpressionStatement 3076426 3076472 + CallExpression 3076426 3076471 + PropertyAccessExpression 3076426 3076469 + ThisKeyword 3076426 3076448 + Identifier 3076449 3076469 + ReturnStatement 3076472 3076502 + TrueKeyword 3076496 3076501 + IfStatement 3076517 3076761 + PrefixUnaryExpression 3076633 3076676 + ParenthesizedExpression 3076634 3076676 + BinaryExpression 3076635 3076675 + PropertyAccessExpression 3076635 3076647 + Identifier 3076635 3076641 + Identifier 3076642 3076647 + AmpersandToken 3076647 3076649 + PropertyAccessExpression 3076649 3076675 + Identifier 3076649 3076661 + Identifier 3076662 3076675 + ExpressionStatement 3076677 3076761 + CallExpression 3076677 3076760 + PropertyAccessExpression 3076677 3076719 + ParenthesizedExpression 3076677 3076714 + BinaryExpression 3076679 3076713 + PropertyAccessExpression 3076679 3076706 + PropertyAccessExpression 3076679 3076691 + ThisKeyword 3076679 3076683 + Identifier 3076684 3076691 + Identifier 3076692 3076706 + QuestionQuestionEqualsToken 3076706 3076710 + ArrayLiteralExpression 3076710 3076713 + Identifier 3076715 3076719 + ArrayLiteralExpression 3076720 3076759 + Identifier 3076721 3076727 + Identifier 3076728 3076749 + Identifier 3076750 3076758 + ReturnStatement 3076772 3076795 + FalseKeyword 3076788 3076794 + MethodDeclaration 3076802 3077018 + Identifier 3076802 3076837 + VoidKeyword 3076840 3076845 + Block 3076845 3077018 + IfStatement 3076847 3077011 + PropertyAccessExpression 3076861 3076900 + PropertyAccessExpression 3076861 3076871 + ThisKeyword 3076861 3076865 + Identifier 3076866 3076871 + QuestionDotToken 3076871 3076873 + Identifier 3076873 3076900 + Block 3076901 3077011 + ExpressionStatement 3076903 3076945 + CallExpression 3076903 3076944 + PropertyAccessExpression 3076903 3076942 + ThisKeyword 3076903 3076921 + Identifier 3076922 3076942 + ExpressionStatement 3076945 3077000 + CallExpression 3076945 3076999 + PropertyAccessExpression 3076945 3076997 + PropertyAccessExpression 3076945 3076969 + ThisKeyword 3076945 3076963 + Identifier 3076964 3076969 + Identifier 3076970 3076997 + MethodDeclaration 3077018 3077293 + Identifier 3077018 3077062 + Parameter 3077063 3077083 + Identifier 3077063 3077075 + StringKeyword 3077076 3077083 + VoidKeyword 3077085 3077090 + Block 3077090 3077293 + IfStatement 3077092 3077286 + PropertyAccessExpression 3077106 3077154 + PropertyAccessExpression 3077106 3077116 + ThisKeyword 3077106 3077110 + Identifier 3077111 3077116 + QuestionDotToken 3077116 3077118 + Identifier 3077118 3077154 + Block 3077155 3077286 + ExpressionStatement 3077157 3077199 + CallExpression 3077157 3077198 + PropertyAccessExpression 3077157 3077196 + ThisKeyword 3077157 3077175 + Identifier 3077176 3077196 + ExpressionStatement 3077199 3077275 + CallExpression 3077199 3077274 + PropertyAccessExpression 3077199 3077260 + PropertyAccessExpression 3077199 3077223 + ThisKeyword 3077199 3077217 + Identifier 3077218 3077223 + Identifier 3077224 3077260 + Identifier 3077261 3077273 + MethodDeclaration 3077293 3077533 + Identifier 3077293 3077336 + VoidKeyword 3077339 3077344 + Block 3077344 3077533 + IfStatement 3077346 3077526 + PropertyAccessExpression 3077360 3077407 + PropertyAccessExpression 3077360 3077370 + ThisKeyword 3077360 3077364 + Identifier 3077365 3077370 + QuestionDotToken 3077370 3077372 + Identifier 3077372 3077407 + Block 3077408 3077526 + ExpressionStatement 3077410 3077452 + CallExpression 3077410 3077451 + PropertyAccessExpression 3077410 3077449 + ThisKeyword 3077410 3077428 + Identifier 3077429 3077449 + ExpressionStatement 3077452 3077515 + CallExpression 3077452 3077514 + PropertyAccessExpression 3077452 3077512 + PropertyAccessExpression 3077452 3077476 + ThisKeyword 3077452 3077470 + Identifier 3077471 3077476 + Identifier 3077477 3077512 + MethodDeclaration 3077533 3077746 + Identifier 3077533 3077567 + VoidKeyword 3077570 3077575 + Block 3077575 3077746 + IfStatement 3077577 3077739 + PropertyAccessExpression 3077591 3077629 + PropertyAccessExpression 3077591 3077601 + ThisKeyword 3077591 3077595 + Identifier 3077596 3077601 + QuestionDotToken 3077601 3077603 + Identifier 3077603 3077629 + Block 3077630 3077739 + ExpressionStatement 3077632 3077674 + CallExpression 3077632 3077673 + PropertyAccessExpression 3077632 3077671 + ThisKeyword 3077632 3077650 + Identifier 3077651 3077671 + ExpressionStatement 3077674 3077728 + CallExpression 3077674 3077727 + PropertyAccessExpression 3077674 3077725 + PropertyAccessExpression 3077674 3077698 + ThisKeyword 3077674 3077692 + Identifier 3077693 3077698 + Identifier 3077699 3077725 + MethodDeclaration 3077746 3078018 + Identifier 3077746 3077791 + Parameter 3077792 3077809 + Identifier 3077792 3077801 + StringKeyword 3077802 3077809 + VoidKeyword 3077811 3077816 + Block 3077816 3078018 + IfStatement 3077818 3078011 + PropertyAccessExpression 3077832 3077881 + PropertyAccessExpression 3077832 3077842 + ThisKeyword 3077832 3077836 + Identifier 3077837 3077842 + QuestionDotToken 3077842 3077844 + Identifier 3077844 3077881 + Block 3077882 3078011 + ExpressionStatement 3077884 3077926 + CallExpression 3077884 3077925 + PropertyAccessExpression 3077884 3077923 + ThisKeyword 3077884 3077902 + Identifier 3077903 3077923 + ExpressionStatement 3077926 3078000 + CallExpression 3077926 3077999 + PropertyAccessExpression 3077926 3077988 + PropertyAccessExpression 3077926 3077950 + ThisKeyword 3077926 3077944 + Identifier 3077945 3077950 + Identifier 3077951 3077988 + Identifier 3077989 3077998 + MethodDeclaration 3078018 3078216 + Identifier 3078018 3078047 + VoidKeyword 3078050 3078055 + Block 3078055 3078216 + IfStatement 3078057 3078209 + PropertyAccessExpression 3078071 3078104 + PropertyAccessExpression 3078071 3078081 + ThisKeyword 3078071 3078075 + Identifier 3078076 3078081 + QuestionDotToken 3078081 3078083 + Identifier 3078083 3078104 + Block 3078105 3078209 + ExpressionStatement 3078107 3078149 + CallExpression 3078107 3078148 + PropertyAccessExpression 3078107 3078146 + ThisKeyword 3078107 3078125 + Identifier 3078126 3078146 + ExpressionStatement 3078149 3078198 + CallExpression 3078149 3078197 + PropertyAccessExpression 3078149 3078195 + PropertyAccessExpression 3078149 3078173 + ThisKeyword 3078149 3078167 + Identifier 3078168 3078173 + Identifier 3078174 3078195 + MethodDeclaration 3078216 3078549 + Identifier 3078216 3078250 + Parameter 3078251 3078277 + Identifier 3078251 3078265 + TypeReference 3078266 3078277 + Identifier 3078266 3078277 + Parameter 3078278 3078299 + Identifier 3078278 3078291 + TypeReference 3078292 3078299 + Identifier 3078292 3078299 + Parameter 3078300 3078325 + Identifier 3078300 3078317 + TypeReference 3078318 3078325 + Identifier 3078318 3078325 + VoidKeyword 3078327 3078332 + Block 3078332 3078549 + IfStatement 3078334 3078542 + PropertyAccessExpression 3078348 3078386 + PropertyAccessExpression 3078348 3078358 + ThisKeyword 3078348 3078352 + Identifier 3078353 3078358 + QuestionDotToken 3078358 3078360 + Identifier 3078360 3078386 + Block 3078387 3078542 + ExpressionStatement 3078389 3078431 + CallExpression 3078389 3078430 + PropertyAccessExpression 3078389 3078428 + ThisKeyword 3078389 3078407 + Identifier 3078408 3078428 + ExpressionStatement 3078431 3078531 + CallExpression 3078431 3078530 + PropertyAccessExpression 3078431 3078482 + PropertyAccessExpression 3078431 3078455 + ThisKeyword 3078431 3078449 + Identifier 3078450 3078455 + Identifier 3078456 3078482 + Identifier 3078483 3078497 + Identifier 3078498 3078511 + Identifier 3078512 3078529 + MethodDeclaration 3078549 3078803 + Identifier 3078549 3078586 + Parameter 3078587 3078607 + Identifier 3078587 3078599 + StringKeyword 3078600 3078607 + VoidKeyword 3078609 3078614 + Block 3078614 3078803 + IfStatement 3078616 3078796 + PropertyAccessExpression 3078630 3078671 + PropertyAccessExpression 3078630 3078640 + ThisKeyword 3078630 3078634 + Identifier 3078635 3078640 + QuestionDotToken 3078640 3078642 + Identifier 3078642 3078671 + Block 3078672 3078796 + ExpressionStatement 3078674 3078716 + CallExpression 3078674 3078715 + PropertyAccessExpression 3078674 3078713 + ThisKeyword 3078674 3078692 + Identifier 3078693 3078713 + ExpressionStatement 3078716 3078785 + CallExpression 3078716 3078784 + PropertyAccessExpression 3078716 3078770 + PropertyAccessExpression 3078716 3078740 + ThisKeyword 3078716 3078734 + Identifier 3078735 3078740 + Identifier 3078741 3078770 + Identifier 3078771 3078783 + MethodDeclaration 3078803 3078899 + PrivateKeyword 3078803 3078818 + Identifier 3078818 3078839 + Block 3078841 3078899 + ExpressionStatement 3078843 3078892 + BinaryExpression 3078843 3078891 + PropertyAccessExpression 3078843 3078884 + PropertyAccessExpression 3078843 3078865 + ThisKeyword 3078843 3078857 + Identifier 3078858 3078865 + Identifier 3078866 3078884 + EqualsToken 3078884 3078886 + TrueKeyword 3078886 3078891 + MethodDeclaration 3078899 3079166 + Identifier 3078899 3078930 + Parameter 3078931 3078941 + Identifier 3078931 3078935 + TypeReference 3078936 3078941 + Identifier 3078936 3078941 + VoidKeyword 3078943 3078948 + Block 3078948 3079166 + IfStatement 3078950 3079159 + BinaryExpression 3078964 3079048 + PropertyAccessExpression 3078964 3078999 + PropertyAccessExpression 3078964 3078974 + ThisKeyword 3078964 3078968 + Identifier 3078969 3078974 + QuestionDotToken 3078974 3078976 + Identifier 3078976 3078999 + AmpersandAmpersandToken 3078999 3079002 + PrefixUnaryExpression 3079002 3079048 + PropertyAccessExpression 3079004 3079048 + PropertyAccessExpression 3079004 3079016 + ThisKeyword 3079004 3079008 + Identifier 3079009 3079016 + Identifier 3079017 3079048 + Block 3079049 3079159 + ExpressionStatement 3079051 3079093 + CallExpression 3079051 3079092 + PropertyAccessExpression 3079051 3079090 + ThisKeyword 3079051 3079069 + Identifier 3079070 3079090 + ExpressionStatement 3079093 3079148 + CallExpression 3079093 3079147 + PropertyAccessExpression 3079093 3079141 + PropertyAccessExpression 3079093 3079117 + ThisKeyword 3079093 3079111 + Identifier 3079112 3079117 + Identifier 3079118 3079141 + Identifier 3079142 3079146 + MethodDeclaration 3079166 3079300 + Identifier 3079166 3079195 + Parameter 3079196 3079225 + Identifier 3079196 3079200 + UnionType 3079201 3079225 + TypeReference 3079201 3079213 + Identifier 3079201 3079213 + UndefinedKeyword 3079215 3079225 + VoidKeyword 3079227 3079232 + Block 3079232 3079300 + ReturnStatement 3079234 3079293 + CallExpression 3079250 3079292 + PropertyAccessExpression 3079250 3079284 + PropertyAccessExpression 3079250 3079261 + ThisKeyword 3079250 3079255 + Identifier 3079256 3079261 + QuestionDotToken 3079261 3079263 + Identifier 3079263 3079284 + QuestionDotToken 3079284 3079286 + Identifier 3079287 3079291 + MethodDeclaration 3079300 3079399 + Identifier 3079300 3079328 + VoidKeyword 3079331 3079336 + Block 3079336 3079399 + ReturnStatement 3079338 3079392 + CallExpression 3079354 3079391 + PropertyAccessExpression 3079354 3079387 + PropertyAccessExpression 3079354 3079365 + ThisKeyword 3079354 3079359 + Identifier 3079360 3079365 + QuestionDotToken 3079365 3079367 + Identifier 3079367 3079387 + QuestionDotToken 3079387 3079389 diff --git a/internal/api/api.go b/internal/api/api.go index 659ab95790..b92540cd8a 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -116,6 +116,25 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) (a } } +func (api *API) HandleBinaryRequest(id int, method string, payload []byte) ([]byte, error) { + params, err := unmarshalPayload(method, payload) + if err != nil { + return nil, err + } + + switch Method(method) { + case MethodGetSourceFile: + params := params.(*GetSourceFileParams) + sourceFile, err := api.GetSourceFile(api.toPath(params.Project), params.FileName) + if err != nil { + return nil, err + } + return EncodeSourceFile(sourceFile) + default: + return nil, fmt.Errorf("unhandled API method %q", method) + } +} + func (api *API) Close() { // !!! } @@ -181,6 +200,18 @@ func (api *API) GetTypeOfSymbol(projectPath tspath.Path, symbolHandle Handle[ast return NewTypeData(t), nil } +func (api *API) GetSourceFile(projectPath tspath.Path, fileName string) (*ast.SourceFile, error) { + project, ok := api.projects[projectPath] + if !ok { + return nil, fmt.Errorf("project %q not found", projectPath) + } + sourceFile := project.GetProgram().GetSourceFile(fileName) + if sourceFile == nil { + return nil, nil + } + return sourceFile, nil +} + func (api *API) getOrCreateScriptInfo(fileName string, path tspath.Path, scriptKind core.ScriptKind) *project.ScriptInfo { api.scriptInfosMu.RLock() info, ok := api.scriptInfos[path] diff --git a/internal/api/encoder.go b/internal/api/encoder.go new file mode 100644 index 0000000000..10490386e9 --- /dev/null +++ b/internal/api/encoder.go @@ -0,0 +1,604 @@ +package api + +import ( + "encoding/binary" + "fmt" + "strings" + + "github.com/microsoft/typescript-go/internal/ast" +) + +// EncodedNodeLength is the number of int32 values that represent a single node in the encoded format. +const ( + EncodedKind = iota + EncodedPos + EncodedEnd + EncodedNext + EncodedParent + EncodedData + EncodedNodeLength +) + +const ( + NodeDataTypeChildren int32 = iota + NodeDataTypeStringIndex + NodeDataTypeExtendedDataIndex +) + +// EncodeSourceFile encodes a source file into a byte slice. +// The encoded format is a sequence of int32 values, where each node is represented by 5 values: +// - kind: the node kind +// - pos: the start position of the node +// - end: the end position of the node +// - next: the index of the next sibling node (0 if there is no next sibling) +// - parent: the index of the parent node (0 if there is no parent) +// The first encoded node is a zero element that is not part of the source file. +func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { + buf := make([]byte, 0, (sourceFile.NodeCount+1)*EncodedNodeLength*4) + + current := sourceFile.AsNode() + var currentNodeList *ast.NodeList + var err error + var parentIndex, nodeIndex, currentIndex int32 + + visitor := &ast.NodeVisitor{ + Hooks: ast.NodeVisitorHooks{ + VisitNodes: func(nodes *ast.NodeList, visitor *ast.NodeVisitor) *ast.NodeList { + if nodes == nil || len(nodes.Nodes) == 0 { + return nodes + } + + nodeIndex++ + if nodes.Nodes[0].Parent == current { + // this is the first child of the last node we visited + parentIndex = nodeIndex - 1 + } else if nodes.Nodes[0].Parent == current.Parent { + // this is the next sibling of `current` + b0, b1, b2, b3 := uint8(nodeIndex), uint8(nodeIndex>>8), uint8(nodeIndex>>16), uint8(nodeIndex>>24) + buf[currentIndex*EncodedNodeLength*4+EncodedNext*4] = b0 + buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+1] = b1 + buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+2] = b2 + buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+3] = b3 + } + + saveNodeList := currentNodeList + saveParentIndex := parentIndex + saveCurrent := current + saveCurrentIndex := currentIndex + + currentNodeList = nodes + currentIndex = nodeIndex + + if buf, err = appendInt32s(buf, int32(-1), int32(nodes.Pos()), int32(nodes.End()), 0, parentIndex, int32(len(nodes.Nodes))); err != nil { + return nil + } + + visitor.VisitSlice(nodes.Nodes) + + parentIndex = saveParentIndex + current = saveCurrent + currentIndex = saveCurrentIndex + currentNodeList = saveNodeList + return nodes + }, + VisitModifiers: func(modifiers *ast.ModifierList, visitor *ast.NodeVisitor) *ast.ModifierList { + if modifiers != nil && len(modifiers.Nodes) > 0 { + visitor.Hooks.VisitNodes(&modifiers.NodeList, visitor) + } + return modifiers + }, + }, + } + visitor.Visit = func(node *ast.Node) *ast.Node { + nodeIndex++ + if node.Parent != nil { + if node.Parent == current || currentNodeList != nil && currentNodeList.Nodes[0] == node { + // this is the first child of the last node we visited + parentIndex = nodeIndex - 1 + } else if node.Parent == current.Parent { + // this is the next sibling of `current` + b0, b1, b2, b3 := uint8(nodeIndex), uint8(nodeIndex>>8), uint8(nodeIndex>>16), uint8(nodeIndex>>24) + buf[currentIndex*EncodedNodeLength*4+EncodedNext*4] = b0 + buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+1] = b1 + buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+2] = b2 + buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+3] = b3 + } + } + current = node + currentIndex = nodeIndex + saveParentIndex := parentIndex + saveCurrentIndex := currentIndex + + if buf, err = appendInt32s(buf, int32(current.Kind), int32(current.Pos()), int32(current.End()), 0, parentIndex, getNodeData(current)); err != nil { + visitor.Visit = nil + return nil + } + + visitor.VisitEachChild(node) + parentIndex = saveParentIndex + current = node + currentIndex = saveCurrentIndex + return node + } + + // kind, pos, end, next, parent + if buf, err = appendInt32s(buf, 0, 0, 0, 0, 0, 0); err != nil { + return nil, err + } + + nodeIndex++ + parentIndex++ + if buf, err = appendInt32s(buf, int32(sourceFile.Kind), int32(sourceFile.Pos()), int32(sourceFile.End()), 0, 0, 0); err != nil { + return nil, err + } + + visitor.VisitEachChild(sourceFile.AsNode()) + if err != nil { + return nil, err + } + + return buf, nil +} + +func appendInt32s(buf []byte, values ...int32) ([]byte, error) { + for _, value := range values { + var err error + if buf, err = binary.Append(buf, binary.LittleEndian, value); err != nil { + return nil, err + } + } + return buf, nil +} + +func FormatEncodedSourceFile(encoded []int32) string { + var result strings.Builder + var getIndent func(parentIndex int32) string + getIndent = func(parentIndex int32) string { + if parentIndex == 0 { + return "" + } + return " " + getIndent(encoded[parentIndex*EncodedNodeLength+EncodedParent]) + } + for i := EncodedNodeLength; i < len(encoded); i += EncodedNodeLength { + kind := encoded[i+EncodedKind] + pos := encoded[i+EncodedPos] + end := encoded[i+EncodedEnd] + parentIndex := encoded[i+EncodedParent] + result.WriteString(getIndent(parentIndex)) + if kind == -1 { + result.WriteString("NodeList") + } else { + result.WriteString(ast.Kind(kind).String()) + } + fmt.Fprintf(&result, " [%d, %d), i=%d, next=%d", pos, end, i/EncodedNodeLength, encoded[i+EncodedNext]) + result.WriteString("\n") + } + return result.String() +} + +func getNodeData(node *ast.Node) int32 { + t := getNodeDataType(node) + switch t { + case NodeDataTypeChildren: + return t | getNodeDefinedData(node) | int32(getChildrenPropertyMask(node)) + case NodeDataTypeStringIndex: + return t | getNodeDefinedData(node) /* | TODO */ + case NodeDataTypeExtendedDataIndex: + return t | getNodeDefinedData(node) /* | TODO */ + default: + panic("unreachable") + } +} + +func getNodeDataType(node *ast.Node) int32 { + switch node.Kind { + case ast.KindJsxText, + ast.KindIdentifier, + ast.KindPrivateIdentifier, + ast.KindStringLiteral, + ast.KindNumericLiteral, + ast.KindBigIntLiteral, + ast.KindRegularExpressionLiteral, + ast.KindNoSubstitutionTemplateLiteral, + ast.KindJSDocText: + return NodeDataTypeStringIndex + case ast.KindTemplateHead, + ast.KindTemplateMiddle, + ast.KindTemplateTail: + return NodeDataTypeExtendedDataIndex + default: + return NodeDataTypeChildren + } +} + +// getChildrenPropertyMask returns a mask of which children properties are present in the node. +// It is defined for node kinds that have more than one property that is a pointer to a child node. +// Example: QualifiedName has two children properties: Left and Right, which are visited in that order. +// result&1 is non-zero if Left is present, and result&2 is non-zero if Right is present. If the client +// knows that QualifiedName has properties ["Left", "Right"] and sees an encoded node with only one +// child, it can use the mask to determine which property is present. +func getChildrenPropertyMask(node *ast.Node) uint8 { + switch node.Kind { + case ast.KindQualifiedName: + n := node.AsQualifiedName() + return (boolToByte(n.Left != nil) << 0) | (boolToByte(n.Right != nil) << 1) + case ast.KindTypeParameter: + n := node.AsTypeParameter() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.Constraint != nil) << 2) | (boolToByte(n.DefaultType != nil) << 3) + case ast.KindIfStatement: + n := node.AsIfStatement() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.ThenStatement != nil) << 1) | (boolToByte(n.ElseStatement != nil) << 2) + case ast.KindDoStatement: + n := node.AsDoStatement() + return (boolToByte(n.Statement != nil) << 0) | (boolToByte(n.Expression != nil) << 1) + case ast.KindWhileStatement: + n := node.AsWhileStatement() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.Statement != nil) << 1) + case ast.KindForStatement: + n := node.AsForStatement() + return (boolToByte(n.Initializer != nil) << 0) | (boolToByte(n.Condition != nil) << 1) | (boolToByte(n.Incrementor != nil) << 2) | (boolToByte(n.Statement != nil) << 3) + case ast.KindForInStatement, ast.KindForOfStatement: + n := node.AsForInOrOfStatement() + return (boolToByte(n.AwaitModifier != nil) << 0) | (boolToByte(n.Initializer != nil) << 1) | (boolToByte(n.Expression != nil) << 2) | (boolToByte(n.Statement != nil) << 3) + case ast.KindWithStatement: + n := node.AsWithStatement() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.Statement != nil) << 1) + case ast.KindSwitchStatement: + n := node.AsSwitchStatement() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.CaseBlock != nil) << 1) + case ast.KindCaseClause, ast.KindDefaultClause: + n := node.AsCaseOrDefaultClause() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.Statements != nil) << 1) + case ast.KindTryStatement: + n := node.AsTryStatement() + return (boolToByte(n.TryBlock != nil) << 0) | (boolToByte(n.CatchClause != nil) << 1) | (boolToByte(n.FinallyBlock != nil) << 2) + case ast.KindCatchClause: + n := node.AsCatchClause() + return (boolToByte(n.VariableDeclaration != nil) << 0) | (boolToByte(n.Block != nil) << 1) + case ast.KindLabeledStatement: + n := node.AsLabeledStatement() + return (boolToByte(n.Label != nil) << 0) | (boolToByte(n.Statement != nil) << 1) + case ast.KindVariableStatement: + n := node.AsVariableStatement() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.DeclarationList != nil) << 1) + case ast.KindVariableDeclaration: + n := node.AsVariableDeclaration() + return (boolToByte(n.Name() != nil) << 0) | (boolToByte(n.ExclamationToken != nil) << 1) | (boolToByte(n.Type != nil) << 2) | (boolToByte(n.Initializer != nil) << 3) + case ast.KindParameter: + n := node.AsParameterDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.DotDotDotToken != nil) << 1) | (boolToByte(n.Name() != nil) << 2) | (boolToByte(n.QuestionToken != nil) << 3) | (boolToByte(n.Type != nil) << 4) | (boolToByte(n.Initializer != nil) << 5) + case ast.KindBindingElement: + n := node.AsBindingElement() + return (boolToByte(n.DotDotDotToken != nil) << 0) | (boolToByte(n.PropertyName != nil) << 1) | (boolToByte(n.Name() != nil) << 2) | (boolToByte(n.Initializer != nil) << 3) + case ast.KindFunctionDeclaration: + n := node.AsFunctionDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.AsteriskToken != nil) << 1) | (boolToByte(n.Name() != nil) << 2) | (boolToByte(n.TypeParameters != nil) << 3) | (boolToByte(n.Parameters != nil) << 4) | (boolToByte(n.Type != nil) << 5) | (boolToByte(n.Body != nil) << 6) + case ast.KindInterfaceDeclaration: + n := node.AsInterfaceDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.TypeParameters != nil) << 2) | (boolToByte(n.HeritageClauses != nil) << 3) | (boolToByte(n.Members != nil) << 4) + case ast.KindTypeAliasDeclaration: + n := node.AsTypeAliasDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.TypeParameters != nil) << 2) | (boolToByte(n.Type != nil) << 3) + case ast.KindEnumMember: + n := node.AsEnumMember() + return (boolToByte(n.Name() != nil) << 0) | (boolToByte(n.Initializer != nil) << 1) + case ast.KindEnumDeclaration: + n := node.AsEnumDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.Members != nil) << 2) + case ast.KindModuleDeclaration: + n := node.AsModuleDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.Body != nil) << 2) + case ast.KindImportEqualsDeclaration: + n := node.AsImportEqualsDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.ModuleReference != nil) << 2) + case ast.KindImportDeclaration: + n := node.AsImportDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.ImportClause != nil) << 1) | (boolToByte(n.ModuleSpecifier != nil) << 2) | (boolToByte(n.Attributes != nil) << 3) + case ast.KindImportSpecifier: + n := node.AsImportSpecifier() + return (boolToByte(n.PropertyName != nil) << 0) | (boolToByte(n.Name() != nil) << 1) + case ast.KindImportClause: + n := node.AsImportClause() + return (boolToByte(n.Name() != nil) << 0) | (boolToByte(n.NamedBindings != nil) << 1) + case ast.KindExportAssignment: + n := node.AsExportAssignment() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Expression != nil) << 1) + case ast.KindNamespaceExportDeclaration: + n := node.AsNamespaceExportDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) + case ast.KindExportDeclaration: + n := node.AsExportDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.ExportClause != nil) << 1) | (boolToByte(n.ModuleSpecifier != nil) << 2) | (boolToByte(n.Attributes != nil) << 3) + case ast.KindExportSpecifier: + n := node.AsExportSpecifier() + return (boolToByte(n.PropertyName != nil) << 0) | (boolToByte(n.Name() != nil) << 1) + case ast.KindCallSignature: + n := node.AsCallSignatureDeclaration() + return (boolToByte(n.TypeParameters != nil) << 0) | (boolToByte(n.Parameters != nil) << 1) | (boolToByte(n.Type != nil) << 2) + case ast.KindConstructSignature: + n := node.AsConstructSignatureDeclaration() + return (boolToByte(n.TypeParameters != nil) << 0) | (boolToByte(n.Parameters != nil) << 1) | (boolToByte(n.Type != nil) << 2) + case ast.KindConstructor: + n := node.AsConstructorDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.TypeParameters != nil) << 1) | (boolToByte(n.Parameters != nil) << 2) | (boolToByte(n.Type != nil) << 3) | (boolToByte(n.Body != nil) << 4) + case ast.KindGetAccessor: + n := node.AsGetAccessorDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.TypeParameters != nil) << 2) | (boolToByte(n.Parameters != nil) << 3) | (boolToByte(n.Type != nil) << 4) | (boolToByte(n.Body != nil) << 5) + case ast.KindSetAccessor: + n := node.AsSetAccessorDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.TypeParameters != nil) << 2) | (boolToByte(n.Parameters != nil) << 3) | (boolToByte(n.Type != nil) << 4) | (boolToByte(n.Body != nil) << 5) + case ast.KindIndexSignature: + n := node.AsIndexSignatureDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Parameters != nil) << 1) | (boolToByte(n.Type != nil) << 2) + case ast.KindMethodSignature: + n := node.AsMethodSignatureDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.PostfixToken != nil) << 2) | (boolToByte(n.TypeParameters != nil) << 3) | (boolToByte(n.Parameters != nil) << 4) | (boolToByte(n.Type != nil) << 5) + case ast.KindMethodDeclaration: + n := node.AsMethodDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.AsteriskToken != nil) << 1) | (boolToByte(n.Name() != nil) << 2) | (boolToByte(n.PostfixToken != nil) << 3) | (boolToByte(n.TypeParameters != nil) << 4) | (boolToByte(n.Parameters != nil) << 5) | (boolToByte(n.Type != nil) << 6) | (boolToByte(n.Body != nil) << 7) + case ast.KindPropertySignature: + n := node.AsPropertySignatureDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.PostfixToken != nil) << 2) | (boolToByte(n.Type != nil) << 3) | (boolToByte(n.Initializer != nil) << 4) + case ast.KindPropertyDeclaration: + n := node.AsPropertyDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.PostfixToken != nil) << 2) | (boolToByte(n.Type != nil) << 3) | (boolToByte(n.Initializer != nil) << 4) + case ast.KindBinaryExpression: + n := node.AsBinaryExpression() + return (boolToByte(n.Left != nil) << 0) | (boolToByte(n.OperatorToken != nil) << 1) | (boolToByte(n.Right != nil) << 2) + case ast.KindYieldExpression: + n := node.AsYieldExpression() + return (boolToByte(n.AsteriskToken != nil) << 0) | (boolToByte(n.Expression != nil) << 1) + case ast.KindArrowFunction: + n := node.AsArrowFunction() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.TypeParameters != nil) << 1) | (boolToByte(n.Parameters != nil) << 2) | (boolToByte(n.Type != nil) << 3) | (boolToByte(n.EqualsGreaterThanToken != nil) << 4) | (boolToByte(n.Body != nil) << 5) + case ast.KindFunctionExpression: + n := node.AsFunctionExpression() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.AsteriskToken != nil) << 1) | (boolToByte(n.Name() != nil) << 2) | (boolToByte(n.TypeParameters != nil) << 3) | (boolToByte(n.Parameters != nil) << 4) | (boolToByte(n.Type != nil) << 5) | (boolToByte(n.Body != nil) << 6) + case ast.KindAsExpression: + n := node.AsAsExpression() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.Type != nil) << 1) + case ast.KindSatisfiesExpression: + n := node.AsSatisfiesExpression() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.Type != nil) << 1) + case ast.KindConditionalExpression: + n := node.AsConditionalExpression() + return (boolToByte(n.Condition != nil) << 0) | (boolToByte(n.QuestionToken != nil) << 1) | (boolToByte(n.WhenTrue != nil) << 2) | (boolToByte(n.ColonToken != nil) << 3) | (boolToByte(n.WhenFalse != nil) << 4) + case ast.KindPropertyAccessExpression: + n := node.AsPropertyAccessExpression() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.QuestionDotToken != nil) << 1) | (boolToByte(n.Name() != nil) << 2) + case ast.KindElementAccessExpression: + n := node.AsElementAccessExpression() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.QuestionDotToken != nil) << 1) | (boolToByte(n.ArgumentExpression != nil) << 2) + case ast.KindCallExpression: + n := node.AsCallExpression() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.QuestionDotToken != nil) << 1) | (boolToByte(n.TypeArguments != nil) << 2) | (boolToByte(n.Arguments != nil) << 3) + case ast.KindNewExpression: + n := node.AsNewExpression() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.TypeArguments != nil) << 1) | (boolToByte(n.Arguments != nil) << 2) + case ast.KindTemplateExpression: + n := node.AsTemplateExpression() + return (boolToByte(n.Head != nil) << 0) | (boolToByte(n.TemplateSpans != nil) << 1) + case ast.KindTemplateSpan: + n := node.AsTemplateSpan() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.Literal != nil) << 1) + case ast.KindTaggedTemplateExpression: + n := node.AsTaggedTemplateExpression() + return (boolToByte(n.Tag != nil) << 0) | (boolToByte(n.QuestionDotToken != nil) << 1) | (boolToByte(n.TypeArguments != nil) << 2) | (boolToByte(n.Template != nil) << 3) + case ast.KindPropertyAssignment: + n := node.AsPropertyAssignment() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.PostfixToken != nil) << 2) | (boolToByte(n.Initializer != nil) << 3) + case ast.KindShorthandPropertyAssignment: + n := node.AsShorthandPropertyAssignment() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.PostfixToken != nil) << 2) | (boolToByte(n.EqualsToken != nil) << 3) | (boolToByte(n.ObjectAssignmentInitializer != nil) << 4) + case ast.KindTypeAssertionExpression: + n := node.AsTypeAssertion() + return (boolToByte(n.Type != nil) << 0) | (boolToByte(n.Expression != nil) << 1) + case ast.KindConditionalType: + n := node.AsConditionalTypeNode() + return (boolToByte(n.CheckType != nil) << 0) | (boolToByte(n.ExtendsType != nil) << 1) | (boolToByte(n.TrueType != nil) << 2) | (boolToByte(n.FalseType != nil) << 3) + case ast.KindIndexedAccessType: + n := node.AsIndexedAccessTypeNode() + return (boolToByte(n.ObjectType != nil) << 0) | (boolToByte(n.IndexType != nil) << 1) + case ast.KindTypeReference: + n := node.AsTypeReferenceNode() + return (boolToByte(n.TypeName != nil) << 0) | (boolToByte(n.TypeArguments != nil) << 1) + case ast.KindExpressionWithTypeArguments: + n := node.AsExpressionWithTypeArguments() + return (boolToByte(n.Expression != nil) << 0) | (boolToByte(n.TypeArguments != nil) << 1) + case ast.KindTypePredicate: + n := node.AsTypePredicateNode() + return (boolToByte(n.AssertsModifier != nil) << 0) | (boolToByte(n.ParameterName != nil) << 1) | (boolToByte(n.Type != nil) << 2) + case ast.KindImportType: + n := node.AsImportTypeNode() + return (boolToByte(n.Argument != nil) << 0) | (boolToByte(n.Attributes != nil) << 1) | (boolToByte(n.Qualifier != nil) << 2) | (boolToByte(n.TypeArguments != nil) << 3) + case ast.KindImportAttribute: + n := node.AsImportAttribute() + return (boolToByte(n.Name() != nil) << 0) | (boolToByte(n.Value != nil) << 1) + case ast.KindTypeQuery: + n := node.AsTypeQueryNode() + return (boolToByte(n.ExprName != nil) << 0) | (boolToByte(n.TypeArguments != nil) << 1) + case ast.KindMappedType: + n := node.AsMappedTypeNode() + return (boolToByte(n.ReadonlyToken != nil) << 0) | (boolToByte(n.TypeParameter != nil) << 1) | (boolToByte(n.NameType != nil) << 2) | (boolToByte(n.QuestionToken != nil) << 3) | (boolToByte(n.Type != nil) << 4) | (boolToByte(n.Members != nil) << 5) + case ast.KindNamedTupleMember: + n := node.AsNamedTupleMember() + return (boolToByte(n.DotDotDotToken != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.QuestionToken != nil) << 2) | (boolToByte(n.Type != nil) << 3) + case ast.KindFunctionType: + n := node.AsFunctionTypeNode() + return (boolToByte(n.TypeParameters != nil) << 0) | (boolToByte(n.Parameters != nil) << 1) | (boolToByte(n.Type != nil) << 2) + case ast.KindConstructorType: + n := node.AsConstructorTypeNode() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.TypeParameters != nil) << 1) | (boolToByte(n.Parameters != nil) << 2) | (boolToByte(n.Type != nil) << 3) + case ast.KindTemplateLiteralType: + n := node.AsTemplateLiteralTypeNode() + return (boolToByte(n.Head != nil) << 0) | (boolToByte(n.TemplateSpans != nil) << 1) + case ast.KindTemplateLiteralTypeSpan: + n := node.AsTemplateLiteralTypeSpan() + return (boolToByte(n.Type != nil) << 0) | (boolToByte(n.Literal != nil) << 1) + case ast.KindJsxElement: + n := node.AsJsxElement() + return (boolToByte(n.OpeningElement != nil) << 0) | (boolToByte(n.Children != nil) << 1) | (boolToByte(n.ClosingElement != nil) << 2) + case ast.KindJsxNamespacedName: + n := node.AsJsxNamespacedName() + return (boolToByte(n.Name() != nil) << 0) | (boolToByte(n.Namespace != nil) << 1) + case ast.KindJsxOpeningElement: + n := node.AsJsxOpeningElement() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeArguments != nil) << 1) | (boolToByte(n.Attributes != nil) << 2) + case ast.KindJsxSelfClosingElement: + n := node.AsJsxSelfClosingElement() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeArguments != nil) << 1) | (boolToByte(n.Attributes != nil) << 2) + case ast.KindJsxFragment: + n := node.AsJsxFragment() + return (boolToByte(n.OpeningFragment != nil) << 0) | (boolToByte(n.Children != nil) << 1) | (boolToByte(n.ClosingFragment != nil) << 2) + case ast.KindJsxAttribute: + n := node.AsJsxAttribute() + return (boolToByte(n.Name() != nil) << 0) | (boolToByte(n.Initializer != nil) << 1) + case ast.KindJsxExpression: + n := node.AsJsxExpression() + return (boolToByte(n.DotDotDotToken != nil) << 0) | (boolToByte(n.Expression != nil) << 1) + case ast.KindJSDoc: + n := node.AsJSDoc() + return (boolToByte(n.Comment != nil) << 0) | (boolToByte(n.Tags != nil) << 1) + case ast.KindJSDocTypeTag: + n := node.AsJSDocTypeTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) | (boolToByte(n.Comment != nil) << 2) + case ast.KindJSDocTag: + n := node.AsJSDocUnknownTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Comment != nil) << 1) + case ast.KindJSDocTemplateTag: + n := node.AsJSDocTemplateTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Constraint != nil) << 1) | (boolToByte(n.TypeParameters() != nil) << 2) | (boolToByte(n.Comment != nil) << 3) + case ast.KindJSDocReturnTag: + n := node.AsJSDocReturnTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) | (boolToByte(n.Comment != nil) << 2) + case ast.KindJSDocPublicTag: + n := node.AsJSDocPublicTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Comment != nil) << 1) + case ast.KindJSDocPrivateTag: + n := node.AsJSDocPrivateTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Comment != nil) << 1) + case ast.KindJSDocProtectedTag: + n := node.AsJSDocProtectedTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Comment != nil) << 1) + case ast.KindJSDocReadonlyTag: + n := node.AsJSDocReadonlyTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Comment != nil) << 1) + case ast.KindJSDocOverrideTag: + n := node.AsJSDocOverrideTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Comment != nil) << 1) + case ast.KindJSDocDeprecatedTag: + n := node.AsJSDocDeprecatedTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Comment != nil) << 1) + case ast.KindJSDocSeeTag: + n := node.AsJSDocSeeTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.NameExpression != nil) << 1) | (boolToByte(n.Comment != nil) << 2) + case ast.KindJSDocImplementsTag: + n := node.AsJSDocImplementsTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.ClassName != nil) << 1) | (boolToByte(n.Comment != nil) << 2) + case ast.KindJSDocAugmentsTag: + n := node.AsJSDocAugmentsTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.ClassName != nil) << 1) | (boolToByte(n.Comment != nil) << 2) + case ast.KindJSDocSatisfiesTag: + n := node.AsJSDocSatisfiesTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) | (boolToByte(n.Comment != nil) << 2) + case ast.KindJSDocThisTag: + n := node.AsJSDocThisTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) | (boolToByte(n.Comment != nil) << 2) + case ast.KindJSDocImportTag: + n := node.AsJSDocImportTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.ImportClause != nil) << 1) | (boolToByte(n.ModuleSpecifier != nil) << 2) | (boolToByte(n.Attributes != nil) << 3) | (boolToByte(n.Comment != nil) << 4) + case ast.KindJSDocCallbackTag: + n := node.AsJSDocCallbackTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) | (boolToByte(n.FullName != nil) << 2) | (boolToByte(n.Comment != nil) << 3) + case ast.KindJSDocOverloadTag: + n := node.AsJSDocOverloadTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) | (boolToByte(n.Comment != nil) << 2) + case ast.KindJSDocTypedefTag: + n := node.AsJSDocTypedefTag() + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) | (boolToByte(n.FullName != nil) << 2) | (boolToByte(n.Comment != nil) << 3) + case ast.KindJSDocSignature: + n := node.AsJSDocSignature() + return (boolToByte(n.TypeParameters() != nil) << 0) | (boolToByte(n.Parameters != nil) << 1) | (boolToByte(n.Type != nil) << 2) + case ast.KindClassStaticBlockDeclaration: + n := node.AsClassStaticBlockDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Body != nil) << 1) + case ast.KindClassDeclaration: + n := node.AsClassDeclaration() + return (boolToByte(n.Modifiers() != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.TypeParameters != nil) << 2) | (boolToByte(n.HeritageClauses != nil) << 3) | (boolToByte(n.Members != nil) << 4) + case ast.KindJSDocPropertyTag: + n := node.AsJSDocPropertyTag() + if n.IsNameFirst { + return (boolToByte(n.Name() != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) + } + return (boolToByte(n.TypeExpression != nil) << 0) | (boolToByte(n.Name() != nil) << 1) + case ast.KindJSDocParameterTag: + n := node.AsJSDocParameterTag() + if n.IsNameFirst { + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.Name() != nil) << 1) | (boolToByte(n.TypeExpression != nil) << 2) | (boolToByte(n.Comment != nil) << 3) + } + return (boolToByte(n.TagName != nil) << 0) | (boolToByte(n.TypeExpression != nil) << 1) | (boolToByte(n.Name() != nil) << 2) | (boolToByte(n.Comment != nil) << 3) + default: + return 0 + } +} + +func getNodeDefinedData(node *ast.Node) int32 { + switch node.Kind { + case ast.KindJSDocTypeLiteral: + n := node.AsJSDocTypeLiteral() + return int32(boolToByte(n.IsArrayType)) << 24 + case ast.KindImportSpecifier: + n := node.AsImportSpecifier() + return int32(boolToByte(n.IsTypeOnly)) << 24 + case ast.KindImportClause: + n := node.AsImportClause() + return int32(boolToByte(n.IsTypeOnly)) << 24 + case ast.KindExportSpecifier: + n := node.AsExportSpecifier() + return int32(boolToByte(n.IsTypeOnly)) << 24 + case ast.KindImportType: + n := node.AsImportTypeNode() + return int32(boolToByte(n.IsTypeOf)) << 24 + case ast.KindBlock: + n := node.AsBlock() + return int32(boolToByte(n.Multiline)) << 24 + case ast.KindImportEqualsDeclaration: + n := node.AsImportEqualsDeclaration() + return int32(boolToByte(n.IsTypeOnly)) << 24 + case ast.KindExportAssignment: + n := node.AsExportAssignment() + return int32(boolToByte(n.IsExportEquals)) << 24 + case ast.KindExportDeclaration: + n := node.AsExportDeclaration() + return int32(boolToByte(n.IsTypeOnly)) << 24 + case ast.KindArrayLiteralExpression: + n := node.AsArrayLiteralExpression() + return int32(boolToByte(n.MultiLine)) << 24 + case ast.KindObjectLiteralExpression: + n := node.AsObjectLiteralExpression() + return int32(boolToByte(n.MultiLine)) << 24 + case ast.KindJSDocPropertyTag: + n := node.AsJSDocPropertyTag() + return int32(boolToByte(n.IsBracketed))<<24 | int32(boolToByte(n.IsNameFirst))<<25 + case ast.KindJSDocParameterTag: + n := node.AsJSDocParameterTag() + return int32(boolToByte(n.IsBracketed))<<24 | int32(boolToByte(n.IsNameFirst))<<25 + case ast.KindJsxText: + n := node.AsJsxText() + return int32(boolToByte(n.ContainsOnlyTriviaWhiteSpaces)) << 24 + case ast.KindVariableDeclarationList: + n := node.AsVariableDeclarationList() + return int32(n.Flags & (ast.NodeFlagsLet | ast.NodeFlagsConst) << 24) + case ast.KindImportAttributes: + n := node.AsImportAttributes() + return int32(boolToByte(n.MultiLine))<<24 | int32(boolToByte(n.Token == ast.KindAssertKeyword))<<25 + } + return 0 +} + +func boolToByte(b bool) byte { + if b { + return 1 + } + return 0 +} diff --git a/internal/api/encoder_test.go b/internal/api/encoder_test.go new file mode 100644 index 0000000000..e9be1c630f --- /dev/null +++ b/internal/api/encoder_test.go @@ -0,0 +1,96 @@ +package api_test + +import ( + "bytes" + "encoding/binary" + "os" + "path/filepath" + "testing" + + "github.com/microsoft/typescript-go/internal/api" + "github.com/microsoft/typescript-go/internal/ast" + "github.com/microsoft/typescript-go/internal/core" + "github.com/microsoft/typescript-go/internal/parser" + "github.com/microsoft/typescript-go/internal/repo" + "github.com/microsoft/typescript-go/internal/scanner" + "github.com/microsoft/typescript-go/internal/testutil/baseline" + "gotest.tools/v3/assert" +) + +func TestEncodeSourceFile(t *testing.T) { + t.Parallel() + sourceFile := parser.ParseSourceFile("/test.ts", "/test.ts", "export const x = 1; foo();", core.ScriptTargetESNext, scanner.JSDocParsingModeParseAll) + ast.SetParentInChildren(sourceFile.AsNode()) + + t.Run("baseline", func(t *testing.T) { + t.Parallel() + buf, err := api.EncodeSourceFile(sourceFile) + assert.NilError(t, err) + + decoded, err := decodeInt32s(buf) + assert.NilError(t, err) + + str := api.FormatEncodedSourceFile(decoded) + baseline.Run(t, "encodeSourceFile.txt", str, baseline.Options{ + Subfolder: "api", + }) + }) + + t.Run("verify next", func(t *testing.T) { + t.Parallel() + buf, err := api.EncodeSourceFile(sourceFile) + assert.NilError(t, err) + + decoded, err := decodeInt32s(buf) + assert.NilError(t, err) + + for i := api.EncodedNodeLength; i < len(decoded); i += api.EncodedNodeLength { + next := decoded[i+api.EncodedNext] + parent := decoded[i+api.EncodedParent] + if next != 0 { + for j := i + api.EncodedNodeLength; j < int(next)*api.EncodedNodeLength; j += api.EncodedNodeLength { + if j == int(next) { + // Ensure 'next' has the same parent + assert.Assert(t, decoded[j+api.EncodedParent] == parent) + } else { + // ...and no others on the way also do + assert.Assert(t, decoded[j+api.EncodedParent] != parent) + } + } + } else { + // No subsequent node should have the same parent + for j := i + api.EncodedNodeLength; j < len(decoded); j += api.EncodedNodeLength { + assert.Assert(t, decoded[j+api.EncodedParent] != parent) + } + } + } + }) +} + +func BenchmarkEncodeSourceFile(b *testing.B) { + repo.SkipIfNoTypeScriptSubmodule(b) + filePath := filepath.Join(repo.TypeScriptSubmodulePath, "src/compiler/checker.ts") + fileContent, err := os.ReadFile(filePath) + assert.NilError(b, err) + sourceFile := parser.ParseSourceFile( + "/checker.ts", + "/checker.ts", + string(fileContent), + core.ScriptTargetESNext, + scanner.JSDocParsingModeParseAll, + ) + + for b.Loop() { + _, err := api.EncodeSourceFile(sourceFile) + assert.NilError(b, err) + } +} + +func decodeInt32s(buf []byte) ([]int32, error) { + count := len(buf) / 4 + result := make([]int32, count) + if err := binary.Read(bytes.NewReader(buf), binary.LittleEndian, result); err != nil { + return nil, err + } + return result, nil +} diff --git a/internal/api/proto.go b/internal/api/proto.go index 71c08d8fbd..ef8e667cfc 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -30,6 +30,7 @@ const ( MethodLoadProject Method = "loadProject" MethodGetSymbolAtPosition Method = "getSymbolAtPosition" MethodGetTypeOfSymbol Method = "getTypeOfSymbol" + MethodGetSourceFile Method = "getSourceFile" ) var unmarshalers = map[Method]func([]byte) (any, error){ @@ -37,6 +38,7 @@ var unmarshalers = map[Method]func([]byte) (any, error){ MethodLoadProject: unmarshallerFor[LoadProjectParams], MethodGetSymbolAtPosition: unmarshallerFor[GetSymbolAtPositionParams], MethodGetTypeOfSymbol: unmarshallerFor[GetTypeOfSymbolParams], + MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], } type ParseConfigFileParams struct { @@ -100,6 +102,11 @@ func NewTypeData(t *checker.Type) *TypeData { } } +type GetSourceFileParams struct { + Project string `json:"project"` + FileName string `json:"fileName"` +} + func unmarshalPayload(method string, payload json.RawMessage) (any, error) { unmarshaler, ok := unmarshalers[Method(method)] if !ok { diff --git a/internal/api/server.go b/internal/api/server.go index 74c3bd1975..c222bada78 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -7,6 +7,7 @@ import ( "errors" "fmt" "io" + "strconv" "sync" "github.com/microsoft/typescript-go/internal/bundled" @@ -116,14 +117,23 @@ func (s *Server) Run() error { messageType := string(line[:index]) offset := index + 1 switch messageType { - case "request": + case "request", "request-bin": index = bytes.IndexByte(line[offset:], '\t') if index == -1 { return fmt.Errorf("%w: missing method or payload: %q", ErrInvalidRequest, line) } method := string(line[offset : offset+index]) payload := line[offset+index+1 : len(line)-1] - if result, err := s.handleRequest(method, payload); err != nil { + + var result any + var err error + if messageType == "request-bin" { + err = s.handleBinaryRequest(method, payload) + } else { + result, err = s.handleRequest(method, payload) + } + + if err != nil { if err := s.sendError(method, err); err != nil { return err } @@ -156,6 +166,36 @@ func (s *Server) enableCallback(callback string) error { return nil } +func (s *Server) handleBinaryRequest(method string, payload []byte) error { + s.requestId++ + data, err := s.api.HandleBinaryRequest(s.requestId, method, payload) + if err != nil { + return err + } + if _, err = s.w.WriteString("response-bin\t"); err != nil { + return err + } + if _, err = s.w.WriteString(method); err != nil { + return err + } + if err = s.w.WriteByte('\t'); err != nil { + return err + } + if _, err = s.w.WriteString(strconv.Itoa(len(data))); err != nil { + return err + } + if err = s.w.WriteByte('\n'); err != nil { + return err + } + if _, err = s.w.Write(data); err != nil { + return err + } + if err = s.w.WriteByte('\n'); err != nil { + return err + } + return s.w.Flush() +} + func (s *Server) handleRequest(method string, payload []byte) (any, error) { s.requestId++ if method == "registerCallback" { diff --git a/internal/ast/ast.go b/internal/ast/ast.go index 908e8bcf8b..f70bbdfa1a 100644 --- a/internal/ast/ast.go +++ b/internal/ast/ast.go @@ -71,6 +71,7 @@ type NodeFactory struct { variableDeclarationListPool core.Pool[VariableDeclarationList] variableDeclarationPool core.Pool[VariableDeclaration] variableStatementPool core.Pool[VariableStatement] + nodeCount int } func newNode(kind Kind, data nodeData) *Node { @@ -81,6 +82,15 @@ func newNode(kind Kind, data nodeData) *Node { return n } +func (f *NodeFactory) newNode(kind Kind, data nodeData) *Node { + f.nodeCount++ + return newNode(kind, data) +} + +func (f *NodeFactory) NodeCount() int { + return f.nodeCount +} + func updateNode(updated *Node, original *Node) *Node { if updated != original { updated.Loc = original.Loc @@ -1688,7 +1698,7 @@ type Token struct { } func (f *NodeFactory) NewToken(kind Kind) *Node { - return newNode(kind, f.tokenPool.New()) + return f.newNode(kind, f.tokenPool.New()) } func (node *Token) Clone(f *NodeFactory) *Node { @@ -1706,7 +1716,7 @@ type Identifier struct { func (f *NodeFactory) NewIdentifier(text string) *Node { data := f.identifierPool.New() data.Text = text - return newNode(KindIdentifier, data) + return f.newNode(KindIdentifier, data) } func (node *Identifier) Clone(f *NodeFactory) *Node { @@ -1727,7 +1737,7 @@ type PrivateIdentifier struct { func (f *NodeFactory) NewPrivateIdentifier(text string) *Node { data := &PrivateIdentifier{} data.Text = text - return newNode(KindPrivateIdentifier, data) + return f.newNode(KindPrivateIdentifier, data) } func (node *PrivateIdentifier) Clone(f *NodeFactory) *Node { @@ -1751,7 +1761,7 @@ func (f *NodeFactory) NewQualifiedName(left *EntityName, right *IdentifierNode) data := &QualifiedName{} data.Left = left data.Right = right - return newNode(KindQualifiedName, data) + return f.newNode(KindQualifiedName, data) } func (f *NodeFactory) UpdateQualifiedName(node *QualifiedName, left *EntityName, right *IdentifierNode) *Node { @@ -1795,7 +1805,7 @@ func (f *NodeFactory) NewTypeParameterDeclaration(modifiers *ModifierList, name data.name = name data.Constraint = constraint data.DefaultType = defaultType - return newNode(KindTypeParameter, data) + return f.newNode(KindTypeParameter, data) } func (f *NodeFactory) UpdateTypeParameterDeclaration(node *TypeParameterDeclaration, modifiers *ModifierList, name *IdentifierNode, constraint *TypeNode, defaultType *TypeNode) *Node { @@ -1835,7 +1845,7 @@ type ComputedPropertyName struct { func (f *NodeFactory) NewComputedPropertyName(expression *Expression) *Node { data := &ComputedPropertyName{} data.Expression = expression - return newNode(KindComputedPropertyName, data) + return f.newNode(KindComputedPropertyName, data) } func (f *NodeFactory) UpdateComputedPropertyName(node *ComputedPropertyName, expression *Expression) *Node { @@ -1877,7 +1887,7 @@ type Decorator struct { func (f *NodeFactory) NewDecorator(expression *LeftHandSideExpression) *Node { data := &Decorator{} data.Expression = expression - return newNode(KindDecorator, data) + return f.newNode(KindDecorator, data) } func (f *NodeFactory) UpdateDecorator(node *Decorator, expression *Expression) *Node { @@ -1917,7 +1927,7 @@ type EmptyStatement struct { } func (f *NodeFactory) NewEmptyStatement() *Node { - return newNode(KindEmptyStatement, &EmptyStatement{}) + return f.newNode(KindEmptyStatement, &EmptyStatement{}) } func (node *EmptyStatement) Clone(f *NodeFactory) *Node { @@ -1942,7 +1952,7 @@ func (f *NodeFactory) NewIfStatement(expression *Expression, thenStatement *Stat data.Expression = expression data.ThenStatement = thenStatement data.ElseStatement = elseStatement - return newNode(KindIfStatement, data) + return f.newNode(KindIfStatement, data) } func (f *NodeFactory) UpdateIfStatement(node *IfStatement, expression *Expression, thenStatement *Statement, elseStatement *Statement) *Node { @@ -1983,7 +1993,7 @@ func (f *NodeFactory) NewDoStatement(statement *Statement, expression *Expressio data := &DoStatement{} data.Statement = statement data.Expression = expression - return newNode(KindDoStatement, data) + return f.newNode(KindDoStatement, data) } func (node *DoStatement) VisitEachChild(v *NodeVisitor) *Node { @@ -2010,7 +2020,7 @@ func (f *NodeFactory) NewWhileStatement(expression *Expression, statement *State data := &WhileStatement{} data.Expression = expression data.Statement = statement - return newNode(KindWhileStatement, data) + return f.newNode(KindWhileStatement, data) } func (f *NodeFactory) UpdateWhileStatement(node *WhileStatement, expression *Expression, statement *Statement) *Node { @@ -2049,7 +2059,7 @@ func (f *NodeFactory) NewForStatement(initializer *ForInitializer, condition *Ex data.Condition = condition data.Incrementor = incrementor data.Statement = statement - return newNode(KindForStatement, data) + return f.newNode(KindForStatement, data) } func (f *NodeFactory) UpdateForStatement(node *ForStatement, initializer *ForInitializer, condition *Expression, incrementor *Expression, statement *Statement) *Node { @@ -2092,7 +2102,7 @@ func (f *NodeFactory) NewForInOrOfStatement(kind Kind, awaitModifier *TokenNode, data.Initializer = initializer data.Expression = expression data.Statement = statement - return newNode(kind, data) + return f.newNode(kind, data) } func (f *NodeFactory) UpdateForInOrOfStatement(node *ForInOrOfStatement, awaitModifier *TokenNode, initializer *ForInitializer, expression *Expression, statement *Statement) *Node { @@ -2136,7 +2146,7 @@ type BreakStatement struct { func (f *NodeFactory) NewBreakStatement(label *IdentifierNode) *Node { data := &BreakStatement{} data.Label = label - return newNode(KindBreakStatement, data) + return f.newNode(KindBreakStatement, data) } func (f *NodeFactory) UpdateBreakStatement(node *BreakStatement, label *IdentifierNode) *Node { @@ -2168,7 +2178,7 @@ type ContinueStatement struct { func (f *NodeFactory) NewContinueStatement(label *IdentifierNode) *Node { data := &ContinueStatement{} data.Label = label - return newNode(KindContinueStatement, data) + return f.newNode(KindContinueStatement, data) } func (f *NodeFactory) UpdateContinueStatement(node *ContinueStatement, label *IdentifierNode) *Node { @@ -2200,7 +2210,7 @@ type ReturnStatement struct { func (f *NodeFactory) NewReturnStatement(expression *Expression) *Node { data := f.returnStatementPool.New() data.Expression = expression - return newNode(KindReturnStatement, data) + return f.newNode(KindReturnStatement, data) } func (f *NodeFactory) UpdateReturnStatement(node *ReturnStatement, expression *Expression) *Node { @@ -2238,7 +2248,7 @@ func (f *NodeFactory) NewWithStatement(expression *Expression, statement *Statem data := &WithStatement{} data.Expression = expression data.Statement = statement - return newNode(KindWithStatement, data) + return f.newNode(KindWithStatement, data) } func (f *NodeFactory) UpdateWithStatement(node *WithStatement, expression *Expression, statement *Statement) *Node { @@ -2272,7 +2282,7 @@ func (f *NodeFactory) NewSwitchStatement(expression *Expression, caseBlock *Case data := &SwitchStatement{} data.Expression = expression data.CaseBlock = caseBlock - return newNode(KindSwitchStatement, data) + return f.newNode(KindSwitchStatement, data) } func (f *NodeFactory) UpdateSwitchStatement(node *SwitchStatement, expression *Expression, caseBlock *CaseBlockNode) *Node { @@ -2305,7 +2315,7 @@ type CaseBlock struct { func (f *NodeFactory) NewCaseBlock(clauses *NodeList) *Node { data := &CaseBlock{} data.Clauses = clauses - return newNode(KindCaseBlock, data) + return f.newNode(KindCaseBlock, data) } func (f *NodeFactory) UpdateCaseBlock(node *CaseBlock, clauses *CaseClausesList) *Node { @@ -2340,7 +2350,7 @@ func (f *NodeFactory) NewCaseOrDefaultClause(kind Kind, expression *Expression, data := &CaseOrDefaultClause{} data.Expression = expression data.Statements = statements - return newNode(kind, data) + return f.newNode(kind, data) } func (f *NodeFactory) UpdateCaseOrDefaultClause(node *CaseOrDefaultClause, expression *Expression, statements *StatementList) *Node { @@ -2380,7 +2390,7 @@ type ThrowStatement struct { func (f *NodeFactory) NewThrowStatement(expression *Expression) *Node { data := &ThrowStatement{} data.Expression = expression - return newNode(KindThrowStatement, data) + return f.newNode(KindThrowStatement, data) } func (f *NodeFactory) UpdateThrowStatement(node *ThrowStatement, expression *Expression) *Node { @@ -2416,7 +2426,7 @@ func (f *NodeFactory) NewTryStatement(tryBlock *BlockNode, catchClause *CatchCla data.TryBlock = tryBlock data.CatchClause = catchClause data.FinallyBlock = finallyBlock - return newNode(KindTryStatement, data) + return f.newNode(KindTryStatement, data) } func (f *NodeFactory) UpdateTryStatement(node *TryStatement, tryBlock *BlockNode, catchClause *CatchClauseNode, finallyBlock *BlockNode) *Node { @@ -2451,7 +2461,7 @@ func (f *NodeFactory) NewCatchClause(variableDeclaration *VariableDeclarationNod data := &CatchClause{} data.VariableDeclaration = variableDeclaration data.Block = block - return newNode(KindCatchClause, data) + return f.newNode(KindCatchClause, data) } func (f *NodeFactory) UpdateCatchClause(node *CatchClause, variableDeclaration *VariableDeclarationNode, block *BlockNode) *Node { @@ -2484,7 +2494,7 @@ type DebuggerStatement struct { } func (f *NodeFactory) NewDebuggerStatement() *Node { - return newNode(KindDebuggerStatement, &DebuggerStatement{}) + return f.newNode(KindDebuggerStatement, &DebuggerStatement{}) } func (node *DebuggerStatement) Clone(f *NodeFactory) *Node { @@ -2503,7 +2513,7 @@ func (f *NodeFactory) NewLabeledStatement(label *IdentifierNode, statement *Stat data := &LabeledStatement{} data.Label = label data.Statement = statement - return newNode(KindLabeledStatement, data) + return f.newNode(KindLabeledStatement, data) } func (f *NodeFactory) UpdateLabeledStatement(node *LabeledStatement, label *IdentifierNode, statement *Statement) *Node { @@ -2539,7 +2549,7 @@ type ExpressionStatement struct { func (f *NodeFactory) NewExpressionStatement(expression *Expression) *Node { data := f.expressionStatementPool.New() data.Expression = expression - return newNode(KindExpressionStatement, data) + return f.newNode(KindExpressionStatement, data) } func (f *NodeFactory) UpdateExpressionStatement(node *ExpressionStatement, expression *Expression) *Node { @@ -2578,7 +2588,7 @@ func (f *NodeFactory) NewBlock(statements *NodeList, multiline bool) *Node { data := f.blockPool.New() data.Statements = statements data.Multiline = multiline - return newNode(KindBlock, data) + return f.newNode(KindBlock, data) } func (f *NodeFactory) UpdateBlock(node *Block, statements *StatementList) *Node { @@ -2616,7 +2626,7 @@ func (f *NodeFactory) NewVariableStatement(modifiers *ModifierList, declarationL data := f.variableStatementPool.New() data.modifiers = modifiers data.DeclarationList = declarationList - return newNode(KindVariableStatement, data) + return f.newNode(KindVariableStatement, data) } func (f *NodeFactory) UpdateVariableStatement(node *VariableStatement, modifiers *ModifierList, declarationList *VariableDeclarationListNode) *Node { @@ -2660,7 +2670,7 @@ func (f *NodeFactory) NewVariableDeclaration(name *BindingName, exclamationToken data.ExclamationToken = exclamationToken data.Type = typeNode data.Initializer = initializer - return newNode(KindVariableDeclaration, data) + return f.newNode(KindVariableDeclaration, data) } func (f *NodeFactory) UpdateVariableDeclaration(node *VariableDeclaration, name *BindingName, exclamationToken *TokenNode, typeNode *TypeNode, initializer *Expression) *Node { @@ -2700,7 +2710,7 @@ type VariableDeclarationList struct { func (f *NodeFactory) NewVariableDeclarationList(flags NodeFlags, declarations *NodeList) *Node { data := f.variableDeclarationListPool.New() data.Declarations = declarations - node := newNode(KindVariableDeclarationList, data) + node := f.newNode(KindVariableDeclarationList, data) node.Flags = flags return node } @@ -2738,7 +2748,7 @@ type BindingPattern struct { func (f *NodeFactory) NewBindingPattern(kind Kind, elements *NodeList) *Node { data := &BindingPattern{} data.Elements = elements - return newNode(kind, data) + return f.newNode(kind, data) } func (f *NodeFactory) UpdateBindingPattern(node *BindingPattern, elements *BindingElementList) *Node { @@ -2793,7 +2803,7 @@ func (f *NodeFactory) NewParameterDeclaration(modifiers *ModifierList, dotDotDot data.QuestionToken = questionToken data.Type = typeNode data.Initializer = initializer - return newNode(KindParameter, data) + return f.newNode(KindParameter, data) } func (f *NodeFactory) UpdateParameterDeclaration(node *ParameterDeclaration, modifiers *ModifierList, dotDotDotToken *TokenNode, name *BindingName, questionToken *TokenNode, typeNode *TypeNode, initializer *Expression) *Node { @@ -2843,7 +2853,7 @@ func (f *NodeFactory) NewBindingElement(dotDotDotToken *TokenNode, propertyName data.PropertyName = propertyName data.name = name data.Initializer = initializer - return newNode(KindBindingElement, data) + return f.newNode(KindBindingElement, data) } func (f *NodeFactory) UpdateBindingElement(node *BindingElement, dotDotDotToken *TokenNode, propertyName *PropertyName, name *BindingName, initializer *Expression) *Node { @@ -2884,7 +2894,7 @@ type MissingDeclaration struct { func (f *NodeFactory) NewMissingDeclaration(modifiers *ModifierList) *Node { data := &MissingDeclaration{} data.modifiers = modifiers - return newNode(KindMissingDeclaration, data) + return f.newNode(KindMissingDeclaration, data) } func (f *NodeFactory) UpdateMissingDeclaration(node *MissingDeclaration, modifiers *ModifierList) *Node { @@ -2927,7 +2937,7 @@ func (f *NodeFactory) NewFunctionDeclaration(modifiers *ModifierList, asteriskTo data.Parameters = parameters data.Type = returnType data.Body = body - return newNode(KindFunctionDeclaration, data) + return f.newNode(KindFunctionDeclaration, data) } func (f *NodeFactory) UpdateFunctionDeclaration(node *FunctionDeclaration, modifiers *ModifierList, asteriskToken *TokenNode, name *IdentifierNode, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode, body *BlockNode) *Node { @@ -2999,7 +3009,7 @@ func (f *NodeFactory) NewClassDeclaration(modifiers *ModifierList, name *Identif data.TypeParameters = typeParameters data.HeritageClauses = heritageClauses data.Members = members - return newNode(KindClassDeclaration, data) + return f.newNode(KindClassDeclaration, data) } func (node *ClassDeclaration) VisitEachChild(v *NodeVisitor) *Node { @@ -3043,7 +3053,7 @@ func (f *NodeFactory) NewClassExpression(modifiers *ModifierList, name *Identifi data.TypeParameters = typeParameters data.HeritageClauses = heritageClauses data.Members = members - return newNode(KindClassExpression, data) + return f.newNode(KindClassExpression, data) } func (node *ClassExpression) VisitEachChild(v *NodeVisitor) *Node { @@ -3078,7 +3088,7 @@ func (f *NodeFactory) NewHeritageClause(token Kind, types *NodeList) *Node { data := &HeritageClause{} data.Token = token data.Types = types - return newNode(KindHeritageClause, data) + return f.newNode(KindHeritageClause, data) } func (f *NodeFactory) UpdateHeritageClause(node *HeritageClause, types *ExpressionWithTypeArgumentsList) *Node { @@ -3124,7 +3134,7 @@ func (f *NodeFactory) NewInterfaceDeclaration(modifiers *ModifierList, name *Ide data.TypeParameters = typeParameters data.HeritageClauses = heritageClauses data.Members = members - return newNode(KindInterfaceDeclaration, data) + return f.newNode(KindInterfaceDeclaration, data) } func (f *NodeFactory) UpdateInterfaceDeclaration(node *InterfaceDeclaration, modifiers *ModifierList, name *IdentifierNode, typeParameters *TypeParameterList, heritageClauses *HeritageClauseList, members *TypeElementList) *Node { @@ -3172,7 +3182,7 @@ func (f *NodeFactory) NewTypeAliasDeclaration(modifiers *ModifierList, name *Ide data.name = name data.TypeParameters = typeParameters data.Type = typeNode - return newNode(KindTypeAliasDeclaration, data) + return f.newNode(KindTypeAliasDeclaration, data) } func (f *NodeFactory) UpdateTypeAliasDeclaration(node *TypeAliasDeclaration, modifiers *ModifierList, name *IdentifierNode, typeParameters *TypeParameterList, typeNode *TypeNode) *Node { @@ -3212,7 +3222,7 @@ func (f *NodeFactory) NewEnumMember(name *PropertyName, initializer *Expression) data := &EnumMember{} data.name = name data.Initializer = initializer - return newNode(KindEnumMember, data) + return f.newNode(KindEnumMember, data) } func (f *NodeFactory) UpdateEnumMember(node *EnumMember, name *PropertyName, initializer *Expression) *Node { @@ -3258,7 +3268,7 @@ func (f *NodeFactory) NewEnumDeclaration(modifiers *ModifierList, name *Identifi data.modifiers = modifiers data.name = name data.Members = members - return newNode(KindEnumDeclaration, data) + return f.newNode(KindEnumDeclaration, data) } func (f *NodeFactory) UpdateEnumDeclaration(node *EnumDeclaration, modifiers *ModifierList, name *IdentifierNode, members *EnumMemberList) *Node { @@ -3298,7 +3308,7 @@ type ModuleBlock struct { func (f *NodeFactory) NewModuleBlock(statements *NodeList) *Node { data := &ModuleBlock{} data.Statements = statements - return newNode(KindModuleBlock, data) + return f.newNode(KindModuleBlock, data) } func (f *NodeFactory) UpdateModuleBlock(node *ModuleBlock, statements *StatementList) *Node { @@ -3341,7 +3351,7 @@ func (f *NodeFactory) NewModuleDeclaration(modifiers *ModifierList, name *Module data.modifiers = modifiers data.name = name data.Body = body - node := newNode(KindModuleDeclaration, data) + node := f.newNode(KindModuleDeclaration, data) node.Flags |= flags & (NodeFlagsNamespace | NodeFlagsNestedNamespace | NodeFlagsGlobalAugmentation) return node } @@ -3393,7 +3403,7 @@ func (f *NodeFactory) NewImportEqualsDeclaration(modifiers *ModifierList, isType data.IsTypeOnly = isTypeOnly data.name = name data.ModuleReference = moduleReference - return newNode(KindImportEqualsDeclaration, data) + return f.newNode(KindImportEqualsDeclaration, data) } func (f *NodeFactory) UpdateImportEqualsDeclaration(node *ImportEqualsDeclaration, modifiers *ModifierList, isTypeOnly bool, name *IdentifierNode, moduleReference *ModuleReference) *Node { @@ -3439,7 +3449,7 @@ func (f *NodeFactory) NewImportDeclaration(modifiers *ModifierList, importClause data.ImportClause = importClause data.ModuleSpecifier = moduleSpecifier data.Attributes = attributes - return newNode(KindImportDeclaration, data) + return f.newNode(KindImportDeclaration, data) } func (f *NodeFactory) UpdateImportDeclaration(node *ImportDeclaration, modifiers *ModifierList, importClause *ImportClauseNode, moduleSpecifier *Expression, attributes *ImportAttributesNode) *Node { @@ -3481,7 +3491,7 @@ func (f *NodeFactory) NewImportSpecifier(isTypeOnly bool, propertyName *ModuleEx data.IsTypeOnly = isTypeOnly data.PropertyName = propertyName data.name = name - return newNode(KindImportSpecifier, data) + return f.newNode(KindImportSpecifier, data) } func (f *NodeFactory) UpdateImportSpecifier(node *ImportSpecifier, isTypeOnly bool, propertyName *ModuleExportName, name *IdentifierNode) *Node { @@ -3521,7 +3531,7 @@ type ExternalModuleReference struct { func (f *NodeFactory) NewExternalModuleReference(expression *Expression) *Node { data := &ExternalModuleReference{} data.Expression = expression - return newNode(KindExternalModuleReference, data) + return f.newNode(KindExternalModuleReference, data) } func (f *NodeFactory) UpdateExternalModuleReference(node *ExternalModuleReference, expression *Expression) *Node { @@ -3563,7 +3573,7 @@ func (f *NodeFactory) NewImportClause(isTypeOnly bool, name *IdentifierNode, nam data.IsTypeOnly = isTypeOnly data.name = name data.NamedBindings = namedBindings - return newNode(KindImportClause, data) + return f.newNode(KindImportClause, data) } func (f *NodeFactory) UpdateImportClause(node *ImportClause, isTypeOnly bool, name *IdentifierNode, namedBindings *NamedImportBindings) *Node { @@ -3605,7 +3615,7 @@ type NamespaceImport struct { func (f *NodeFactory) NewNamespaceImport(name *IdentifierNode) *Node { data := &NamespaceImport{} data.name = name - return newNode(KindNamespaceImport, data) + return f.newNode(KindNamespaceImport, data) } func (f *NodeFactory) UpdateNamespaceImport(node *NamespaceImport, name *IdentifierNode) *Node { @@ -3645,7 +3655,7 @@ type NamedImports struct { func (f *NodeFactory) NewNamedImports(elements *ImportSpecifierList) *Node { data := &NamedImports{} data.Elements = elements - return newNode(KindNamedImports, data) + return f.newNode(KindNamedImports, data) } func (f *NodeFactory) UpdateNamedImports(node *NamedImports, elements *ImportSpecifierList) *Node { @@ -3688,7 +3698,7 @@ func (f *NodeFactory) NewExportAssignment(modifiers *ModifierList, isExportEqual data.modifiers = modifiers data.IsExportEquals = isExportEquals data.Expression = expression - return newNode(KindExportAssignment, data) + return f.newNode(KindExportAssignment, data) } func (f *NodeFactory) UpdateExportAssignment(node *ExportAssignment, modifiers *ModifierList, expression *Expression) *Node { @@ -3727,7 +3737,7 @@ func (f *NodeFactory) NewNamespaceExportDeclaration(modifiers *ModifierList, nam data := &NamespaceExportDeclaration{} data.modifiers = modifiers data.name = name - return newNode(KindNamespaceExportDeclaration, data) + return f.newNode(KindNamespaceExportDeclaration, data) } func (f *NodeFactory) UpdateNamespaceExportDeclaration(node *NamespaceExportDeclaration, modifiers *ModifierList, name *IdentifierNode) *Node { @@ -3776,7 +3786,7 @@ func (f *NodeFactory) NewExportDeclaration(modifiers *ModifierList, isTypeOnly b data.ExportClause = exportClause data.ModuleSpecifier = moduleSpecifier data.Attributes = attributes - return newNode(KindExportDeclaration, data) + return f.newNode(KindExportDeclaration, data) } func (f *NodeFactory) UpdateExportDeclaration(node *ExportDeclaration, modifiers *ModifierList, isTypeOnly bool, exportClause *NamedExportBindings, moduleSpecifier *Expression, attributes *ImportAttributesNode) *Node { @@ -3813,7 +3823,7 @@ type NamespaceExport struct { func (f *NodeFactory) NewNamespaceExport(name *ModuleExportName) *Node { data := &NamespaceExport{} data.name = name - return newNode(KindNamespaceExport, data) + return f.newNode(KindNamespaceExport, data) } func (f *NodeFactory) UpdateNamespaceExport(node *NamespaceExport, name *ModuleExportName) *Node { @@ -3853,7 +3863,7 @@ type NamedExports struct { func (f *NodeFactory) NewNamedExports(elements *NodeList) *Node { data := &NamedExports{} data.Elements = elements - return newNode(KindNamedExports, data) + return f.newNode(KindNamedExports, data) } func (f *NodeFactory) UpdateNamedExports(node *NamedExports, elements *ExportSpecifierList) *Node { @@ -3891,7 +3901,7 @@ func (f *NodeFactory) NewExportSpecifier(isTypeOnly bool, propertyName *ModuleEx data.IsTypeOnly = isTypeOnly data.PropertyName = propertyName data.name = name - return newNode(KindExportSpecifier, data) + return f.newNode(KindExportSpecifier, data) } func (f *NodeFactory) UpdateExportSpecifier(node *ExportSpecifier, isTypeOnly bool, propertyName *ModuleExportName, name *ModuleExportName) *Node { @@ -3956,7 +3966,7 @@ func (f *NodeFactory) NewCallSignatureDeclaration(typeParameters *NodeList, para data.TypeParameters = typeParameters data.Parameters = parameters data.Type = returnType - return newNode(KindCallSignature, data) + return f.newNode(KindCallSignature, data) } func (f *NodeFactory) UpdateCallSignatureDeclaration(node *CallSignatureDeclaration, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode) *Node { @@ -3996,7 +4006,7 @@ func (f *NodeFactory) NewConstructSignatureDeclaration(typeParameters *NodeList, data.TypeParameters = typeParameters data.Parameters = parameters data.Type = returnType - return newNode(KindConstructSignature, data) + return f.newNode(KindConstructSignature, data) } func (f *NodeFactory) UpdateConstructSignatureDeclaration(node *ConstructSignatureDeclaration, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode) *Node { @@ -4040,7 +4050,7 @@ func (f *NodeFactory) NewConstructorDeclaration(modifiers *ModifierList, typePar data.Parameters = parameters data.Type = returnType data.Body = body - return newNode(KindConstructor, data) + return f.newNode(KindConstructor, data) } func (f *NodeFactory) UpdateConstructorDeclaration(node *ConstructorDeclaration, modifiers *ModifierList, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode, body *BlockNode) *Node { @@ -4106,7 +4116,7 @@ func (f *NodeFactory) NewGetAccessorDeclaration(modifiers *ModifierList, name *P data.Parameters = parameters data.Type = returnType data.Body = body - return newNode(KindGetAccessor, data) + return f.newNode(KindGetAccessor, data) } func (node *GetAccessorDeclaration) VisitEachChild(v *NodeVisitor) *Node { @@ -4142,7 +4152,7 @@ func (f *NodeFactory) NewSetAccessorDeclaration(modifiers *ModifierList, name *P data.Parameters = parameters data.Type = returnType data.Body = body - return newNode(KindSetAccessor, data) + return f.newNode(KindSetAccessor, data) } func (node *SetAccessorDeclaration) VisitEachChild(v *NodeVisitor) *Node { @@ -4173,7 +4183,7 @@ func (f *NodeFactory) NewIndexSignatureDeclaration(modifiers *ModifierList, para data.modifiers = modifiers data.Parameters = parameters data.Type = returnType - return newNode(KindIndexSignature, data) + return f.newNode(KindIndexSignature, data) } func (f *NodeFactory) UpdateIndexSignatureDeclaration(node *IndexSignatureDeclaration, modifiers *ModifierList, parameters *ParameterList, returnType *TypeNode) *Node { @@ -4216,7 +4226,7 @@ func (f *NodeFactory) NewMethodSignatureDeclaration(modifiers *ModifierList, nam data.TypeParameters = typeParameters data.Parameters = parameters data.Type = returnType - return newNode(KindMethodSignature, data) + return f.newNode(KindMethodSignature, data) } func (f *NodeFactory) UpdateMethodSignatureDeclaration(node *MethodSignatureDeclaration, modifiers *ModifierList, name *PropertyName, postfixToken *TokenNode, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode) *Node { @@ -4264,7 +4274,7 @@ func (f *NodeFactory) NewMethodDeclaration(modifiers *ModifierList, asteriskToke data.Parameters = parameters data.Type = returnType data.Body = body - return newNode(KindMethodDeclaration, data) + return f.newNode(KindMethodDeclaration, data) } func (f *NodeFactory) UpdateMethodDeclaration(node *MethodDeclaration, modifiers *ModifierList, asteriskToken *TokenNode, name *PropertyName, postfixToken *TokenNode, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode, body *BlockNode) *Node { @@ -4308,7 +4318,7 @@ func (f *NodeFactory) NewPropertySignatureDeclaration(modifiers *ModifierList, n data.PostfixToken = postfixToken data.Type = typeNode data.Initializer = initializer - return newNode(KindPropertySignature, data) + return f.newNode(KindPropertySignature, data) } func (f *NodeFactory) UpdatePropertySignatureDeclaration(node *PropertySignatureDeclaration, modifiers *ModifierList, name *PropertyName, postfixToken *TokenNode, typeNode *TypeNode, initializer *Expression) *Node { @@ -4351,7 +4361,7 @@ func (f *NodeFactory) NewPropertyDeclaration(modifiers *ModifierList, name *Prop data.PostfixToken = postfixToken data.Type = typeNode data.Initializer = initializer - return newNode(KindPropertyDeclaration, data) + return f.newNode(KindPropertyDeclaration, data) } func (f *NodeFactory) UpdatePropertyDeclaration(node *PropertyDeclaration, modifiers *ModifierList, name *PropertyName, postfixToken *TokenNode, typeNode *TypeNode, initializer *Expression) *Node { @@ -4386,7 +4396,7 @@ type SemicolonClassElement struct { } func (f *NodeFactory) NewSemicolonClassElement() *Node { - return newNode(KindSemicolonClassElement, &SemicolonClassElement{}) + return f.newNode(KindSemicolonClassElement, &SemicolonClassElement{}) } func (node *SemicolonClassElement) Clone(f *NodeFactory) *Node { @@ -4409,7 +4419,7 @@ func (f *NodeFactory) NewClassStaticBlockDeclaration(modifiers *ModifierList, bo data := &ClassStaticBlockDeclaration{} data.modifiers = modifiers data.Body = body - return newNode(KindClassStaticBlockDeclaration, data) + return f.newNode(KindClassStaticBlockDeclaration, data) } func (f *NodeFactory) UpdateClassStaticBlockDeclaration(node *ClassStaticBlockDeclaration, modifiers *ModifierList, body *BlockNode) *Node { @@ -4451,7 +4461,7 @@ type OmittedExpression struct { } func (f *NodeFactory) NewOmittedExpression() *Node { - return newNode(KindOmittedExpression, &OmittedExpression{}) + return f.newNode(KindOmittedExpression, &OmittedExpression{}) } func (node *OmittedExpression) Clone(f *NodeFactory) *Node { @@ -4470,7 +4480,7 @@ type KeywordExpression struct { } func (f *NodeFactory) NewKeywordExpression(kind Kind) *Node { - return newNode(kind, &KeywordExpression{}) + return f.newNode(kind, &KeywordExpression{}) } func (node *KeywordExpression) Clone(f *NodeFactory) *Node { @@ -4496,7 +4506,7 @@ type StringLiteral struct { func (f *NodeFactory) NewStringLiteral(text string) *Node { data := f.stringLiteralPool.New() data.Text = text - return newNode(KindStringLiteral, data) + return f.newNode(KindStringLiteral, data) } func (node *StringLiteral) Clone(f *NodeFactory) *Node { @@ -4517,7 +4527,7 @@ type NumericLiteral struct { func (f *NodeFactory) NewNumericLiteral(text string) *Node { data := &NumericLiteral{} data.Text = text - return newNode(KindNumericLiteral, data) + return f.newNode(KindNumericLiteral, data) } func (node *NumericLiteral) Clone(f *NodeFactory) *Node { @@ -4538,7 +4548,7 @@ type BigIntLiteral struct { func (f *NodeFactory) NewBigIntLiteral(text string) *Node { data := &BigIntLiteral{} data.Text = text - return newNode(KindBigIntLiteral, data) + return f.newNode(KindBigIntLiteral, data) } func (node *BigIntLiteral) Clone(f *NodeFactory) *Node { @@ -4559,7 +4569,7 @@ type RegularExpressionLiteral struct { func (f *NodeFactory) NewRegularExpressionLiteral(text string) *Node { data := &RegularExpressionLiteral{} data.Text = text - return newNode(KindRegularExpressionLiteral, data) + return f.newNode(KindRegularExpressionLiteral, data) } func (node *RegularExpressionLiteral) Clone(f *NodeFactory) *Node { @@ -4576,7 +4586,7 @@ type NoSubstitutionTemplateLiteral struct { func (f *NodeFactory) NewNoSubstitutionTemplateLiteral(text string) *Node { data := &NoSubstitutionTemplateLiteral{} data.Text = text - return newNode(KindNoSubstitutionTemplateLiteral, data) + return f.newNode(KindNoSubstitutionTemplateLiteral, data) } func (node *NoSubstitutionTemplateLiteral) Clone(f *NodeFactory) *Node { @@ -4601,7 +4611,7 @@ func (f *NodeFactory) NewBinaryExpression(left *Expression, operatorToken *Token data.Left = left data.OperatorToken = operatorToken data.Right = right - return newNode(KindBinaryExpression, data) + return f.newNode(KindBinaryExpression, data) } func (f *NodeFactory) UpdateBinaryExpression(node *BinaryExpression, left *Expression, operatorToken *TokenNode, right *Expression) *Node { @@ -4639,7 +4649,7 @@ func (f *NodeFactory) NewPrefixUnaryExpression(operator Kind, operand *Expressio data := &PrefixUnaryExpression{} data.Operator = operator data.Operand = operand - return newNode(KindPrefixUnaryExpression, data) + return f.newNode(KindPrefixUnaryExpression, data) } func (f *NodeFactory) UpdatePrefixUnaryExpression(node *PrefixUnaryExpression, operand *Expression) *Node { @@ -4677,7 +4687,7 @@ func (f *NodeFactory) NewPostfixUnaryExpression(operand *Expression, operator Ki data := &PostfixUnaryExpression{} data.Operand = operand data.Operator = operator - return newNode(KindPostfixUnaryExpression, data) + return f.newNode(KindPostfixUnaryExpression, data) } func (f *NodeFactory) UpdatePostfixUnaryExpression(node *PostfixUnaryExpression, operand *Expression) *Node { @@ -4711,7 +4721,7 @@ func (f *NodeFactory) NewYieldExpression(asteriskToken *TokenNode, expression *E data := &YieldExpression{} data.AsteriskToken = asteriskToken data.Expression = expression - return newNode(KindYieldExpression, data) + return f.newNode(KindYieldExpression, data) } func (f *NodeFactory) UpdateYieldExpression(node *YieldExpression, asteriskToken *TokenNode, expression *Expression) *Node { @@ -4752,7 +4762,7 @@ func (f *NodeFactory) NewArrowFunction(modifiers *ModifierList, typeParameters * data.Type = returnType data.EqualsGreaterThanToken = equalsGreaterThanToken data.Body = body - return newNode(KindArrowFunction, data) + return f.newNode(KindArrowFunction, data) } func (f *NodeFactory) UpdateArrowFunction(node *ArrowFunction, modifiers *ModifierList, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode, equalsGreaterThanToken *TokenNode, body *BlockOrExpression) *Node { @@ -4804,7 +4814,7 @@ func (f *NodeFactory) NewFunctionExpression(modifiers *ModifierList, asteriskTok data.Parameters = parameters data.Type = returnType data.Body = body - return newNode(KindFunctionExpression, data) + return f.newNode(KindFunctionExpression, data) } func (f *NodeFactory) UpdateFunctionExpression(node *FunctionExpression, modifiers *ModifierList, asteriskToken *TokenNode, name *IdentifierNode, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode, body *BlockNode) *Node { @@ -4847,7 +4857,7 @@ func (f *NodeFactory) NewAsExpression(expression *Expression, typeNode *TypeNode data := &AsExpression{} data.Expression = expression data.Type = typeNode - return newNode(KindAsExpression, data) + return f.newNode(KindAsExpression, data) } func (f *NodeFactory) UpdateAsExpression(node *AsExpression, expression *Expression, typeNode *TypeNode) *Node { @@ -4881,7 +4891,7 @@ func (f *NodeFactory) NewSatisfiesExpression(expression *Expression, typeNode *T data := &SatisfiesExpression{} data.Expression = expression data.Type = typeNode - return newNode(KindSatisfiesExpression, data) + return f.newNode(KindSatisfiesExpression, data) } func (f *NodeFactory) UpdateSatisfiesExpression(node *SatisfiesExpression, expression *Expression, typeNode *TypeNode) *Node { @@ -4925,7 +4935,7 @@ func (f *NodeFactory) NewConditionalExpression(condition *Expression, questionTo data.WhenTrue = whenTrue data.ColonToken = colonToken data.WhenFalse = whenFalse - return newNode(KindConditionalExpression, data) + return f.newNode(KindConditionalExpression, data) } func (f *NodeFactory) UpdateConditionalExpression(node *ConditionalExpression, condition *Expression, questionToken *TokenNode, whenTrue *Expression, colonToken *TokenNode, whenFalse *Expression) *Node { @@ -4963,7 +4973,7 @@ func (f *NodeFactory) NewPropertyAccessExpression(expression *Expression, questi data.Expression = expression data.QuestionDotToken = questionDotToken data.name = name - node := newNode(KindPropertyAccessExpression, data) + node := f.newNode(KindPropertyAccessExpression, data) node.Flags |= flags & NodeFlagsOptionalChain return node } @@ -5008,7 +5018,7 @@ func (f *NodeFactory) NewElementAccessExpression(expression *Expression, questio data.Expression = expression data.QuestionDotToken = questionDotToken data.ArgumentExpression = argumentExpression - node := newNode(KindElementAccessExpression, data) + node := f.newNode(KindElementAccessExpression, data) node.Flags |= flags & NodeFlagsOptionalChain return node } @@ -5052,7 +5062,7 @@ func (f *NodeFactory) NewCallExpression(expression *Expression, questionDotToken data.QuestionDotToken = questionDotToken data.TypeArguments = typeArguments data.Arguments = arguments - node := newNode(KindCallExpression, data) + node := f.newNode(KindCallExpression, data) node.Flags |= flags & NodeFlagsOptionalChain return node } @@ -5101,7 +5111,7 @@ func (f *NodeFactory) NewNewExpression(expression *Expression, typeArguments *No data.Expression = expression data.TypeArguments = typeArguments data.Arguments = arguments - return newNode(KindNewExpression, data) + return f.newNode(KindNewExpression, data) } func (node *NewExpression) VisitEachChild(v *NodeVisitor) *Node { @@ -5133,7 +5143,7 @@ func (f *NodeFactory) NewMetaProperty(keywordToken Kind, name *IdentifierNode) * data := &MetaProperty{} data.KeywordToken = keywordToken data.name = name - return newNode(KindMetaProperty, data) + return f.newNode(KindMetaProperty, data) } func (f *NodeFactory) UpdateMetaProperty(node *MetaProperty, name *IdentifierNode) *Node { @@ -5174,7 +5184,7 @@ func (f *NodeFactory) NewNonNullExpression(expression *Expression, flags NodeFla data := &NonNullExpression{} data.Expression = expression data.Flags |= flags & NodeFlagsOptionalChain - return newNode(KindNonNullExpression, data) + return f.newNode(KindNonNullExpression, data) } func (f *NodeFactory) UpdateNonNullExpression(node *NonNullExpression, expression *Expression) *Node { @@ -5210,7 +5220,7 @@ type SpreadElement struct { func (f *NodeFactory) NewSpreadElement(expression *Expression) *Node { data := &SpreadElement{} data.Expression = expression - return newNode(KindSpreadElement, data) + return f.newNode(KindSpreadElement, data) } func (f *NodeFactory) UpdateSpreadElement(node *SpreadElement, expression *Expression) *Node { @@ -5248,7 +5258,7 @@ func (f *NodeFactory) NewTemplateExpression(head *TemplateHeadNode, templateSpan data := &TemplateExpression{} data.Head = head data.TemplateSpans = templateSpans - return newNode(KindTemplateExpression, data) + return f.newNode(KindTemplateExpression, data) } func (f *NodeFactory) UpdateTemplateExpression(node *TemplateExpression, head *TemplateHeadNode, templateSpans *TemplateSpanList) *Node { @@ -5286,7 +5296,7 @@ func (f *NodeFactory) NewTemplateSpan(expression *Expression, literal *TemplateM data := &TemplateSpan{} data.Expression = expression data.Literal = literal - return newNode(KindTemplateSpan, data) + return f.newNode(KindTemplateSpan, data) } func (f *NodeFactory) UpdateTemplateSpan(node *TemplateSpan, expression *Expression, literal *TemplateMiddleOrTail) *Node { @@ -5328,7 +5338,7 @@ func (f *NodeFactory) NewTaggedTemplateExpression(tag *Expression, questionDotTo data.QuestionDotToken = questionDotToken data.TypeArguments = typeArguments data.Template = template - node := newNode(KindTaggedTemplateExpression, data) + node := f.newNode(KindTaggedTemplateExpression, data) node.Flags |= flags & NodeFlagsOptionalChain return node } @@ -5366,7 +5376,7 @@ type ParenthesizedExpression struct { func (f *NodeFactory) NewParenthesizedExpression(expression *Expression) *Node { data := f.parenthesizedExpressionPool.New() data.Expression = expression - return newNode(KindParenthesizedExpression, data) + return f.newNode(KindParenthesizedExpression, data) } func (f *NodeFactory) UpdateParenthesizedExpression(node *ParenthesizedExpression, expression *Expression) *Node { @@ -5404,7 +5414,7 @@ func (f *NodeFactory) NewArrayLiteralExpression(elements *NodeList, multiLine bo data := &ArrayLiteralExpression{} data.Elements = elements data.MultiLine = multiLine - return newNode(KindArrayLiteralExpression, data) + return f.newNode(KindArrayLiteralExpression, data) } func (f *NodeFactory) UpdateArrayLiteralExpression(node *ArrayLiteralExpression, elements *ElementList) *Node { @@ -5443,7 +5453,7 @@ func (f *NodeFactory) NewObjectLiteralExpression(properties *NodeList, multiLine data := &ObjectLiteralExpression{} data.Properties = properties data.MultiLine = multiLine - return newNode(KindObjectLiteralExpression, data) + return f.newNode(KindObjectLiteralExpression, data) } func (f *NodeFactory) UpdateObjectLiteralExpression(node *ObjectLiteralExpression, properties *PropertyDefinitionList) *Node { @@ -5485,7 +5495,7 @@ type SpreadAssignment struct { func (f *NodeFactory) NewSpreadAssignment(expression *Expression) *Node { data := &SpreadAssignment{} data.Expression = expression - return newNode(KindSpreadAssignment, data) + return f.newNode(KindSpreadAssignment, data) } func (f *NodeFactory) UpdateSpreadAssignment(node *SpreadAssignment, expression *Expression) *Node { @@ -5526,7 +5536,7 @@ func (f *NodeFactory) NewPropertyAssignment(modifiers *ModifierList, name *Prope data.name = name data.PostfixToken = postfixToken data.Initializer = initializer - return newNode(KindPropertyAssignment, data) + return f.newNode(KindPropertyAssignment, data) } func (f *NodeFactory) UpdatePropertyAssignment(node *PropertyAssignment, modifiers *ModifierList, name *PropertyName, postfixToken *TokenNode, initializer *Expression) *Node { @@ -5569,7 +5579,7 @@ func (f *NodeFactory) NewShorthandPropertyAssignment(modifiers *ModifierList, na data.PostfixToken = postfixToken data.EqualsToken = equalsToken data.ObjectAssignmentInitializer = objectAssignmentInitializer - return newNode(KindShorthandPropertyAssignment, data) + return f.newNode(KindShorthandPropertyAssignment, data) } func (f *NodeFactory) UpdateShorthandPropertyAssignment(node *ShorthandPropertyAssignment, modifiers *ModifierList, name *PropertyName, postfixToken *TokenNode, equalsToken *TokenNode, objectAssignmentInitializer *Expression) *Node { @@ -5605,7 +5615,7 @@ type DeleteExpression struct { func (f *NodeFactory) NewDeleteExpression(expression *Expression) *Node { data := &DeleteExpression{} data.Expression = expression - return newNode(KindDeleteExpression, data) + return f.newNode(KindDeleteExpression, data) } func (f *NodeFactory) UpdateDeleteExpression(node *DeleteExpression, expression *Expression) *Node { @@ -5637,7 +5647,7 @@ type TypeOfExpression struct { func (f *NodeFactory) NewTypeOfExpression(expression *Expression) *Node { data := &TypeOfExpression{} data.Expression = expression - return newNode(KindTypeOfExpression, data) + return f.newNode(KindTypeOfExpression, data) } func (f *NodeFactory) UpdateTypeOfExpression(node *TypeOfExpression, expression *Expression) *Node { @@ -5673,7 +5683,7 @@ type VoidExpression struct { func (f *NodeFactory) NewVoidExpression(expression *Expression) *Node { data := &VoidExpression{} data.Expression = expression - return newNode(KindVoidExpression, data) + return f.newNode(KindVoidExpression, data) } func (f *NodeFactory) UpdateVoidExpression(node *VoidExpression, expression *Expression) *Node { @@ -5705,7 +5715,7 @@ type AwaitExpression struct { func (f *NodeFactory) NewAwaitExpression(expression *Expression) *Node { data := &AwaitExpression{} data.Expression = expression - return newNode(KindAwaitExpression, data) + return f.newNode(KindAwaitExpression, data) } func (f *NodeFactory) UpdateAwaitExpression(node *AwaitExpression, expression *Expression) *Node { @@ -5743,7 +5753,7 @@ func (f *NodeFactory) NewTypeAssertion(typeNode *TypeNode, expression *Expressio data := &TypeAssertion{} data.Type = typeNode data.Expression = expression - return newNode(KindTypeAssertionExpression, data) + return f.newNode(KindTypeAssertionExpression, data) } func (f *NodeFactory) UpdateTypeAssertion(node *TypeAssertion, typeNode *TypeNode, expression *Expression) *Node { @@ -5778,7 +5788,7 @@ type KeywordTypeNode struct { } func (f *NodeFactory) NewKeywordTypeNode(kind Kind) *Node { - return newNode(kind, f.keywordTypeNodePool.New()) + return f.newNode(kind, f.keywordTypeNodePool.New()) } func (node *KeywordTypeNode) Clone(f *NodeFactory) *Node { @@ -5812,7 +5822,7 @@ func (f *NodeFactory) UpdateUnionTypeNode(node *UnionTypeNode, types *TypeList) func (f *NodeFactory) NewUnionTypeNode(types *NodeList) *Node { data := &UnionTypeNode{} data.Types = types - return newNode(KindUnionType, data) + return f.newNode(KindUnionType, data) } func (node *UnionTypeNode) VisitEachChild(v *NodeVisitor) *Node { @@ -5839,7 +5849,7 @@ func (f *NodeFactory) UpdateIntersectionTypeNode(node *IntersectionTypeNode, typ func (f *NodeFactory) NewIntersectionTypeNode(types *NodeList) *Node { data := &IntersectionTypeNode{} data.Types = types - return newNode(KindIntersectionType, data) + return f.newNode(KindIntersectionType, data) } func (node *IntersectionTypeNode) VisitEachChild(v *NodeVisitor) *Node { @@ -5867,7 +5877,7 @@ func (f *NodeFactory) NewConditionalTypeNode(checkType *TypeNode, extendsType *T data.ExtendsType = extendsType data.TrueType = trueType data.FalseType = falseType - return newNode(KindConditionalType, data) + return f.newNode(KindConditionalType, data) } func (f *NodeFactory) UpdateConditionalTypeNode(node *ConditionalTypeNode, checkType *TypeNode, extendsType *TypeNode, trueType *TypeNode, falseType *TypeNode) *Node { @@ -5905,7 +5915,7 @@ func (f *NodeFactory) NewTypeOperatorNode(operator Kind, typeNode *TypeNode) *No data := &TypeOperatorNode{} data.Operator = operator data.Type = typeNode - return newNode(KindTypeOperator, data) + return f.newNode(KindTypeOperator, data) } func (f *NodeFactory) UpdateTypeOperatorNode(node *TypeOperatorNode, typeNode *TypeNode) *Node { @@ -5941,7 +5951,7 @@ type InferTypeNode struct { func (f *NodeFactory) NewInferTypeNode(typeParameter *TypeParameterDeclarationNode) *Node { data := &InferTypeNode{} data.TypeParameter = typeParameter - return newNode(KindInferType, data) + return f.newNode(KindInferType, data) } func (f *NodeFactory) UpdateInferTypeNode(node *InferTypeNode, typeParameter *TypeNode) *Node { @@ -5977,7 +5987,7 @@ type ArrayTypeNode struct { func (f *NodeFactory) NewArrayTypeNode(elementType *TypeNode) *Node { data := &ArrayTypeNode{} data.ElementType = elementType - return newNode(KindArrayType, data) + return f.newNode(KindArrayType, data) } func (f *NodeFactory) UpdateArrayTypeNode(node *ArrayTypeNode, elementType *TypeNode) *Node { @@ -6011,7 +6021,7 @@ func (f *NodeFactory) NewIndexedAccessTypeNode(objectType *TypeNode, indexType * data := &IndexedAccessTypeNode{} data.ObjectType = objectType data.IndexType = indexType - return newNode(KindIndexedAccessType, data) + return f.newNode(KindIndexedAccessType, data) } func (f *NodeFactory) UpdateIndexedAccessTypeNode(node *IndexedAccessTypeNode, objectType *TypeNode, indexType *TypeNode) *Node { @@ -6049,7 +6059,7 @@ func (f *NodeFactory) NewTypeReferenceNode(typeName *EntityName, typeArguments * data := f.typeReferenceNodePool.New() data.TypeName = typeName data.TypeArguments = typeArguments - return newNode(KindTypeReference, data) + return f.newNode(KindTypeReference, data) } func (f *NodeFactory) UpdateTypeReferenceNode(node *TypeReferenceNode, typeName *EntityName, typeArguments *TypeArgumentList) *Node { @@ -6087,7 +6097,7 @@ func (f *NodeFactory) NewExpressionWithTypeArguments(expression *Expression, typ data := &ExpressionWithTypeArguments{} data.Expression = expression data.TypeArguments = typeArguments - return newNode(KindExpressionWithTypeArguments, data) + return f.newNode(KindExpressionWithTypeArguments, data) } func (f *NodeFactory) UpdateExpressionWithTypeArguments(node *ExpressionWithTypeArguments, expression *Expression, typeArguments *TypeArgumentList) *Node { @@ -6123,7 +6133,7 @@ type LiteralTypeNode struct { func (f *NodeFactory) NewLiteralTypeNode(literal *Node) *Node { data := f.literalTypeNodePool.New() data.Literal = literal - return newNode(KindLiteralType, data) + return f.newNode(KindLiteralType, data) } func (f *NodeFactory) UpdateLiteralTypeNode(node *LiteralTypeNode, literal *Node) *Node { @@ -6156,7 +6166,7 @@ type ThisTypeNode struct { } func (f *NodeFactory) NewThisTypeNode() *Node { - return newNode(KindThisType, &ThisTypeNode{}) + return f.newNode(KindThisType, &ThisTypeNode{}) } func (node *ThisTypeNode) Clone(f *NodeFactory) *Node { @@ -6181,7 +6191,7 @@ func (f *NodeFactory) NewTypePredicateNode(assertsModifier *TokenNode, parameter data.AssertsModifier = assertsModifier data.ParameterName = parameterName data.Type = typeNode - return newNode(KindTypePredicate, data) + return f.newNode(KindTypePredicate, data) } func (f *NodeFactory) UpdateTypePredicateNode(node *TypePredicateNode, assertsModifier *TokenNode, parameterName *TypePredicateParameterName, typeNode *TypeNode) *Node { @@ -6225,7 +6235,7 @@ func (f *NodeFactory) NewImportTypeNode(isTypeOf bool, argument *TypeNode, attri data.Attributes = attributes data.Qualifier = qualifier data.TypeArguments = typeArguments - return newNode(KindImportType, data) + return f.newNode(KindImportType, data) } func (f *NodeFactory) UpdateImportTypeNode(node *ImportTypeNode, isTypeOf bool, argument *TypeNode, attributes *ImportAttributesNode, qualifier *EntityName, typeArguments *TypeArgumentList) *Node { @@ -6263,7 +6273,7 @@ func (f *NodeFactory) NewImportAttribute(name *ImportAttributeName, value *Expre data := &ImportAttribute{} data.name = name data.Value = value - return newNode(KindImportAttribute, data) + return f.newNode(KindImportAttribute, data) } func (f *NodeFactory) UpdateImportAttribute(node *ImportAttribute, name *ImportAttributeName, value *Expression) *Node { @@ -6303,7 +6313,7 @@ func (f *NodeFactory) NewImportAttributes(token Kind, attributes *NodeList, mult data.Token = token data.Attributes = attributes data.MultiLine = multiLine - return newNode(KindImportAttributes, data) + return f.newNode(KindImportAttributes, data) } func (f *NodeFactory) UpdateImportAttributes(node *ImportAttributes, attributes *ImportAttributeList) *Node { @@ -6341,7 +6351,7 @@ func (f *NodeFactory) NewTypeQueryNode(exprName *EntityName, typeArguments *Node data := &TypeQueryNode{} data.ExprName = exprName data.TypeArguments = typeArguments - return newNode(KindTypeQuery, data) + return f.newNode(KindTypeQuery, data) } func (f *NodeFactory) UpdateTypeQueryNode(node *TypeQueryNode, exprName *EntityName, typeArguments *TypeArgumentList) *Node { @@ -6389,7 +6399,7 @@ func (f *NodeFactory) NewMappedTypeNode(readonlyToken *TokenNode, typeParameter data.QuestionToken = questionToken data.Type = typeNode data.Members = members - return newNode(KindMappedType, data) + return f.newNode(KindMappedType, data) } func (f *NodeFactory) UpdateMappedTypeNode(node *MappedTypeNode, readonlyToken *TokenNode, typeParameter *TypeParameterDeclarationNode, nameType *TypeNode, questionToken *TokenNode, typeNode *TypeNode, members *TypeElementList) *Node { @@ -6427,7 +6437,7 @@ type TypeLiteralNode struct { func (f *NodeFactory) NewTypeLiteralNode(members *NodeList) *Node { data := &TypeLiteralNode{} data.Members = members - return newNode(KindTypeLiteral, data) + return f.newNode(KindTypeLiteral, data) } func (f *NodeFactory) UpdateTypeLiteralNode(node *TypeLiteralNode, members *TypeElementList) *Node { @@ -6463,7 +6473,7 @@ type TupleTypeNode struct { func (f *NodeFactory) NewTupleTypeNode(elements *NodeList) *Node { data := &TupleTypeNode{} data.Elements = elements - return newNode(KindTupleType, data) + return f.newNode(KindTupleType, data) } func (f *NodeFactory) UpdateTupleTypeNode(node *TupleTypeNode, elements *TypeList) *Node { @@ -6506,7 +6516,7 @@ func (f *NodeFactory) NewNamedTupleMember(dotDotDotToken *TokenNode, name *Ident data.name = name data.QuestionToken = questionToken data.Type = typeNode - return newNode(KindNamedTupleMember, data) + return f.newNode(KindNamedTupleMember, data) } func (f *NodeFactory) UpdateNamedTupleMember(node *NamedTupleMember, dotDotDotToken *TokenNode, name *IdentifierNode, questionToken *TokenNode, typeNode *TypeNode) *Node { @@ -6546,7 +6556,7 @@ type OptionalTypeNode struct { func (f *NodeFactory) NewOptionalTypeNode(typeNode *TypeNode) *Node { data := &OptionalTypeNode{} data.Type = typeNode - return newNode(KindOptionalType, data) + return f.newNode(KindOptionalType, data) } func (f *NodeFactory) UpdateOptionalTypeNode(node *OptionalTypeNode, typeNode *TypeNode) *Node { @@ -6582,7 +6592,7 @@ type RestTypeNode struct { func (f *NodeFactory) NewRestTypeNode(typeNode *TypeNode) *Node { data := &RestTypeNode{} data.Type = typeNode - return newNode(KindRestType, data) + return f.newNode(KindRestType, data) } func (f *NodeFactory) UpdateRestTypeNode(node *RestTypeNode, typeNode *TypeNode) *Node { @@ -6618,7 +6628,7 @@ type ParenthesizedTypeNode struct { func (f *NodeFactory) NewParenthesizedTypeNode(typeNode *TypeNode) *Node { data := &ParenthesizedTypeNode{} data.Type = typeNode - return newNode(KindParenthesizedType, data) + return f.newNode(KindParenthesizedType, data) } func (f *NodeFactory) UpdateParenthesizedTypeNode(node *ParenthesizedTypeNode, typeNode *TypeNode) *Node { @@ -6668,7 +6678,7 @@ func (f *NodeFactory) NewFunctionTypeNode(typeParameters *NodeList, parameters * data.TypeParameters = typeParameters data.Parameters = parameters data.Type = returnType - return newNode(KindFunctionType, data) + return f.newNode(KindFunctionType, data) } func (f *NodeFactory) UpdateFunctionTypeNode(node *FunctionTypeNode, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode) *Node { @@ -6702,7 +6712,7 @@ func (f *NodeFactory) NewConstructorTypeNode(modifiers *ModifierList, typeParame data.TypeParameters = typeParameters data.Parameters = parameters data.Type = returnType - return newNode(KindConstructorType, data) + return f.newNode(KindConstructorType, data) } func (f *NodeFactory) UpdateConstructorTypeNode(node *ConstructorTypeNode, modifiers *ModifierList, typeParameters *TypeParameterList, parameters *ParameterList, returnType *TypeNode) *Node { @@ -6747,7 +6757,7 @@ func (f *NodeFactory) NewTemplateHead(text string, rawText string, templateFlags data.Text = text data.RawText = rawText data.TemplateFlags = templateFlags - return newNode(KindTemplateHead, data) + return f.newNode(KindTemplateHead, data) } func (node *TemplateHead) Clone(f *NodeFactory) *Node { @@ -6766,7 +6776,7 @@ func (f *NodeFactory) NewTemplateMiddle(text string, rawText string, templateFla data.Text = text data.RawText = rawText data.TemplateFlags = templateFlags - return newNode(KindTemplateMiddle, data) + return f.newNode(KindTemplateMiddle, data) } func (node *TemplateMiddle) Clone(f *NodeFactory) *Node { @@ -6785,7 +6795,7 @@ func (f *NodeFactory) NewTemplateTail(text string, rawText string, templateFlags data.Text = text data.RawText = rawText data.TemplateFlags = templateFlags - return newNode(KindTemplateTail, data) + return f.newNode(KindTemplateTail, data) } func (node *TemplateTail) Clone(f *NodeFactory) *Node { @@ -6804,7 +6814,7 @@ func (f *NodeFactory) NewTemplateLiteralTypeNode(head *TemplateHeadNode, templat data := &TemplateLiteralTypeNode{} data.Head = head data.TemplateSpans = templateSpans - return newNode(KindTemplateLiteralType, data) + return f.newNode(KindTemplateLiteralType, data) } func (f *NodeFactory) UpdateTemplateLiteralTypeNode(node *TemplateLiteralTypeNode, head *TemplateHeadNode, templateSpans *TemplateLiteralTypeSpanList) *Node { @@ -6838,7 +6848,7 @@ func (f *NodeFactory) NewTemplateLiteralTypeSpan(typeNode *TypeNode, literal *Te data := &TemplateLiteralTypeSpan{} data.Type = typeNode data.Literal = literal - return newNode(KindTemplateLiteralTypeSpan, data) + return f.newNode(KindTemplateLiteralTypeSpan, data) } func (f *NodeFactory) UpdateTemplateLiteralTypeSpan(node *TemplateLiteralTypeSpan, typeNode *TypeNode, literal *TemplateMiddleOrTail) *Node { @@ -6878,7 +6888,7 @@ func (f *NodeFactory) NewSyntheticExpression(t any, isSpread bool, tupleNameSour data.Type = t data.IsSpread = isSpread data.TupleNameSource = tupleNameSource - return newNode(KindSyntheticExpression, data) + return f.newNode(KindSyntheticExpression, data) } func (node *SyntheticExpression) Clone(f *NodeFactory) *Node { @@ -6903,7 +6913,7 @@ func (f *NodeFactory) NewJsxElement(openingElement *JsxOpeningElementNode, child data.OpeningElement = openingElement data.Children = children data.ClosingElement = closingElement - return newNode(KindJsxElement, data) + return f.newNode(KindJsxElement, data) } func (f *NodeFactory) UpdateJsxElement(node *JsxElement, openingElement *JsxOpeningElementNode, children *JsxChildList, closingElement *JsxClosingElementNode) *Node { @@ -6935,7 +6945,7 @@ type JsxAttributes struct { func (f *NodeFactory) NewJsxAttributes(properties *NodeList) *Node { data := &JsxAttributes{} data.Properties = properties - return newNode(KindJsxAttributes, data) + return f.newNode(KindJsxAttributes, data) } func (f *NodeFactory) UpdateJsxAttributes(node *JsxAttributes, properties *JsxAttributeList) *Node { @@ -6973,7 +6983,7 @@ func (f *NodeFactory) NewJsxNamespacedName(namespace *IdentifierNode, name *Iden data := &JsxNamespacedName{} data.Namespace = namespace data.name = name - return newNode(KindJsxNamespacedName, data) + return f.newNode(KindJsxNamespacedName, data) } func (f *NodeFactory) UpdateJsxNamespacedName(node *JsxNamespacedName, name *IdentifierNode, namespace *IdentifierNode) *Node { @@ -7017,7 +7027,7 @@ func (f *NodeFactory) NewJsxOpeningElement(tagName *JsxTagNameExpression, typeAr data.TagName = tagName data.TypeArguments = typeArguments data.Attributes = attributes - return newNode(KindJsxOpeningElement, data) + return f.newNode(KindJsxOpeningElement, data) } func (f *NodeFactory) UpdateJsxOpeningElement(node *JsxOpeningElement, tagName *JsxTagNameExpression, typeArguments *TypeArgumentList, attributes *JsxAttributesNode) *Node { @@ -7057,7 +7067,7 @@ func (f *NodeFactory) NewJsxSelfClosingElement(tagName *JsxTagNameExpression, ty data.TagName = tagName data.TypeArguments = typeArguments data.Attributes = attributes - return newNode(KindJsxSelfClosingElement, data) + return f.newNode(KindJsxSelfClosingElement, data) } func (f *NodeFactory) UpdateJsxSelfClosingElement(node *JsxSelfClosingElement, tagName *JsxTagNameExpression, typeArguments *TypeArgumentList, attributes *JsxAttributesNode) *Node { @@ -7097,7 +7107,7 @@ func (f *NodeFactory) NewJsxFragment(openingFragment *JsxOpeningFragmentNode, ch data.OpeningFragment = openingFragment data.Children = children data.ClosingFragment = closingFragment - return newNode(KindJsxFragment, data) + return f.newNode(KindJsxFragment, data) } func (f *NodeFactory) UpdateJsxFragment(node *JsxFragment, openingFragment *JsxOpeningFragmentNode, children *JsxChildList, closingFragment *JsxClosingFragmentNode) *Node { @@ -7126,7 +7136,7 @@ type JsxOpeningFragment struct { } func (f *NodeFactory) NewJsxOpeningFragment() *Node { - return newNode(KindJsxOpeningFragment, &JsxOpeningFragment{}) + return f.newNode(KindJsxOpeningFragment, &JsxOpeningFragment{}) } func (node *JsxOpeningFragment) Clone(f *NodeFactory) *Node { @@ -7144,7 +7154,7 @@ type JsxClosingFragment struct { } func (f *NodeFactory) NewJsxClosingFragment() *Node { - return newNode(KindJsxClosingFragment, &JsxClosingFragment{}) + return f.newNode(KindJsxClosingFragment, &JsxClosingFragment{}) } func (node *JsxClosingFragment) Clone(f *NodeFactory) *Node { @@ -7164,7 +7174,7 @@ func (f *NodeFactory) NewJsxAttribute(name *JsxAttributeName, initializer *JsxAt data := &JsxAttribute{} data.name = name data.Initializer = initializer - return newNode(KindJsxAttribute, data) + return f.newNode(KindJsxAttribute, data) } func (node *JsxAttribute) Name() *JsxAttributeName { @@ -7204,7 +7214,7 @@ type JsxSpreadAttribute struct { func (f *NodeFactory) NewJsxSpreadAttribute(expression *Expression) *Node { data := &JsxSpreadAttribute{} data.Expression = expression - return newNode(KindJsxSpreadAttribute, data) + return f.newNode(KindJsxSpreadAttribute, data) } func (f *NodeFactory) UpdateJsxSpreadAttribute(node *JsxSpreadAttribute, expression *Expression) *Node { @@ -7236,7 +7246,7 @@ type JsxClosingElement struct { func (f *NodeFactory) NewJsxClosingElement(tagName *JsxTagNameExpression) *Node { data := &JsxClosingElement{} data.TagName = tagName - return newNode(KindJsxClosingElement, data) + return f.newNode(KindJsxClosingElement, data) } func (f *NodeFactory) UpdateJsxClosingElement(node *JsxClosingElement, tagName *JsxTagNameExpression) *Node { @@ -7274,7 +7284,7 @@ func (f *NodeFactory) NewJsxExpression(dotDotDotToken *TokenNode, expression *Ex data := &JsxExpression{} data.DotDotDotToken = dotDotDotToken data.Expression = expression - return newNode(KindJsxExpression, data) + return f.newNode(KindJsxExpression, data) } func (f *NodeFactory) UpdateJsxExpression(node *JsxExpression, dotDotDotToken *TokenNode, expression *Expression) *Node { @@ -7308,7 +7318,7 @@ func (f *NodeFactory) NewJsxText(text string, containsOnlyTriviaWhiteSpace bool) data := &JsxText{} data.Text = text data.ContainsOnlyTriviaWhiteSpaces = containsOnlyTriviaWhiteSpace - return newNode(KindJsxText, data) + return f.newNode(KindJsxText, data) } func (node *JsxText) Clone(f *NodeFactory) *Node { @@ -7325,7 +7335,7 @@ type SyntaxList struct { func (f *NodeFactory) NewSyntaxList(children []*Node) *Node { data := &SyntaxList{} data.Children = children - return newNode(KindSyntaxList, data) + return f.newNode(KindSyntaxList, data) } func (node *SyntaxList) ForEachChild(v Visitor) bool { @@ -7348,7 +7358,7 @@ func (f *NodeFactory) NewJSDoc(comment *NodeList, tags *NodeList) *Node { data := f.jsdocPool.New() data.Comment = comment data.Tags = tags - return newNode(KindJSDoc, data) + return f.newNode(KindJSDoc, data) } func (f *NodeFactory) UpdateJSDoc(node *JSDoc, comment *NodeList, tags *NodeList) *Node { @@ -7389,7 +7399,7 @@ type JSDocText struct { func (f *NodeFactory) NewJSDocText(text string) *Node { data := f.jsdocTextPool.New() data.Text = text - return newNode(KindJSDocText, data) + return f.newNode(KindJSDocText, data) } func (node *JSDocText) Clone(f *NodeFactory) *Node { @@ -7405,7 +7415,7 @@ func (f *NodeFactory) NewJSDocLink(name *Node, text string) *Node { data := &JSDocLink{} data.name = name data.Text = text - return newNode(KindJSDocLink, data) + return f.newNode(KindJSDocLink, data) } func (f *NodeFactory) UpdateJSDocLink(node *JSDocLink, name *Node, text string) *Node { @@ -7440,7 +7450,7 @@ func (f *NodeFactory) NewJSDocLinkPlain(name *Node, text string) *Node { data := &JSDocLinkPlain{} data.name = name data.Text = text - return newNode(KindJSDocLinkPlain, data) + return f.newNode(KindJSDocLinkPlain, data) } func (f *NodeFactory) UpdateJSDocLinkPlain(node *JSDocLinkPlain, name *Node, text string) *Node { @@ -7475,7 +7485,7 @@ func (f *NodeFactory) NewJSDocLinkCode(name *Node, text string) *Node { data := &JSDocLinkCode{} data.name = name data.Text = text - return newNode(KindJSDocLinkCode, data) + return f.newNode(KindJSDocLinkCode, data) } func (f *NodeFactory) UpdateJSDocLinkCode(node *JSDocLinkCode, name *Node, text string) *Node { @@ -7511,7 +7521,7 @@ type JSDocTypeExpression struct { func (f *NodeFactory) NewJSDocTypeExpression(typeNode *TypeNode) *Node { data := &JSDocTypeExpression{} data.Type = typeNode - return newNode(KindJSDocTypeExpression, data) + return f.newNode(KindJSDocTypeExpression, data) } func (f *NodeFactory) UpdateJSDocTypeExpression(node *JSDocTypeExpression, typeNode *TypeNode) *Node { @@ -7543,7 +7553,7 @@ type JSDocNonNullableType struct { func (f *NodeFactory) NewJSDocNonNullableType(typeNode *TypeNode) *Node { data := &JSDocNonNullableType{} data.Type = typeNode - return newNode(KindJSDocNonNullableType, data) + return f.newNode(KindJSDocNonNullableType, data) } func (f *NodeFactory) UpdateJSDocNonNullableType(node *JSDocNonNullableType, typeNode *TypeNode) *Node { @@ -7575,7 +7585,7 @@ type JSDocNullableType struct { func (f *NodeFactory) NewJSDocNullableType(typeNode *TypeNode) *Node { data := &JSDocNullableType{} data.Type = typeNode - return newNode(KindJSDocNullableType, data) + return f.newNode(KindJSDocNullableType, data) } func (f *NodeFactory) UpdateJSDocNullableType(node *JSDocNullableType, typeNode *TypeNode) *Node { @@ -7605,7 +7615,7 @@ type JSDocAllType struct { func (f *NodeFactory) NewJSDocAllType() *Node { data := &JSDocAllType{} - return newNode(KindJSDocAllType, data) + return f.newNode(KindJSDocAllType, data) } func (node *JSDocAllType) Clone(f *NodeFactory) *Node { @@ -7622,7 +7632,7 @@ type JSDocVariadicType struct { func (f *NodeFactory) NewJSDocVariadicType(typeNode *TypeNode) *Node { data := &JSDocVariadicType{} data.Type = typeNode - return newNode(KindJSDocVariadicType, data) + return f.newNode(KindJSDocVariadicType, data) } func (f *NodeFactory) UpdateJSDocVariadicType(node *JSDocVariadicType, typeNode *TypeNode) *Node { @@ -7654,7 +7664,7 @@ type JSDocOptionalType struct { func (f *NodeFactory) NewJSDocOptionalType(typeNode *TypeNode) *Node { data := &JSDocOptionalType{} data.Type = typeNode - return newNode(KindJSDocOptionalType, data) + return f.newNode(KindJSDocOptionalType, data) } func (f *NodeFactory) UpdateJSDocOptionalType(node *JSDocOptionalType, typeNode *TypeNode) *Node { @@ -7688,7 +7698,7 @@ func (f *NodeFactory) NewJSDocTypeTag(tagName *IdentifierNode, typeExpression *N data.TagName = tagName data.TypeExpression = typeExpression data.Comment = comment - return newNode(KindJSDocTypeTag, data) + return f.newNode(KindJSDocTypeTag, data) } func (f *NodeFactory) UpdateJSDocTypeTag(node *JSDocTypeTag, tagName *IdentifierNode, typeExpression *TypeNode, comment *NodeList) *Node { @@ -7723,7 +7733,7 @@ func (f *NodeFactory) NewJSDocUnknownTag(tagName *IdentifierNode, comment *NodeL data := &JSDocUnknownTag{} data.TagName = tagName data.Comment = comment - return newNode(KindJSDocTag, data) + return f.newNode(KindJSDocTag, data) } func (f *NodeFactory) UpdateJSDocUnknownTag(node *JSDocUnknownTag, tagName *IdentifierNode, comment *NodeList) *Node { @@ -7762,7 +7772,7 @@ func (f *NodeFactory) NewJSDocTemplateTag(tagName *IdentifierNode, constraint *N data.Constraint = constraint data.typeParameters = typeParameters data.Comment = comment - return newNode(KindJSDocTemplateTag, data) + return f.newNode(KindJSDocTemplateTag, data) } func (f *NodeFactory) UpdateJSDocTemplateTag(node *JSDocTemplateTag, tagName *IdentifierNode, constraint *Node, typeParameters *TypeParameterList, comment *NodeList) *Node { @@ -7804,7 +7814,7 @@ func (f *NodeFactory) NewJSDocPropertyTag(tagName *IdentifierNode, name *EntityN data.TypeExpression = typeExpression data.IsNameFirst = isNameFirst data.Comment = comment - return newNode(KindJSDocPropertyTag, data) + return f.newNode(KindJSDocPropertyTag, data) } func (f *NodeFactory) UpdateJSDocPropertyTag(node *JSDocPropertyTag, tagName *IdentifierNode, name *EntityName, isBracketed bool, typeExpression *TypeNode, isNameFirst bool, comment *NodeList) *Node { @@ -7855,7 +7865,7 @@ func (f *NodeFactory) NewJSDocParameterTag(tagName *IdentifierNode, name *Entity data.TypeExpression = typeExpression data.IsNameFirst = isNameFirst data.Comment = comment - return newNode(KindJSDocParameterTag, data) + return f.newNode(KindJSDocParameterTag, data) } func (f *NodeFactory) UpdateJSDocParameterTag(node *JSDocParameterTag, tagName *IdentifierNode, name *EntityName, isBracketed bool, typeExpression *TypeNode, isNameFirst bool, comment *NodeList) *Node { @@ -7904,7 +7914,7 @@ func (f *NodeFactory) NewJSDocReturnTag(tagName *IdentifierNode, typeExpression data.TagName = tagName data.TypeExpression = typeExpression data.Comment = comment - return newNode(KindJSDocReturnTag, data) + return f.newNode(KindJSDocReturnTag, data) } func (f *NodeFactory) UpdateJSDocReturnTag(node *JSDocReturnTag, tagName *IdentifierNode, typeExpression *TypeNode, comment *NodeList) *Node { @@ -7939,7 +7949,7 @@ func (f *NodeFactory) NewJSDocPublicTag(tagName *IdentifierNode, comment *NodeLi data := &JSDocPublicTag{} data.TagName = tagName data.Comment = comment - return newNode(KindJSDocPublicTag, data) + return f.newNode(KindJSDocPublicTag, data) } func (f *NodeFactory) UpdateJSDocPublicTag(node *JSDocPublicTag, tagName *IdentifierNode, comment *NodeList) *Node { @@ -7970,7 +7980,7 @@ func (f *NodeFactory) NewJSDocPrivateTag(tagName *IdentifierNode, comment *NodeL data := &JSDocPrivateTag{} data.TagName = tagName data.Comment = comment - return newNode(KindJSDocPrivateTag, data) + return f.newNode(KindJSDocPrivateTag, data) } func (f *NodeFactory) UpdateJSDocPrivateTag(node *JSDocPrivateTag, tagName *IdentifierNode, comment *NodeList) *Node { @@ -8001,7 +8011,7 @@ func (f *NodeFactory) NewJSDocProtectedTag(tagName *IdentifierNode, comment *Nod data := &JSDocProtectedTag{} data.TagName = tagName data.Comment = comment - return newNode(KindJSDocProtectedTag, data) + return f.newNode(KindJSDocProtectedTag, data) } func (f *NodeFactory) UpdateJSDocProtectedTag(node *JSDocProtectedTag, tagName *IdentifierNode, comment *NodeList) *Node { @@ -8032,7 +8042,7 @@ func (f *NodeFactory) NewJSDocReadonlyTag(tagName *IdentifierNode, comment *Node data := &JSDocReadonlyTag{} data.TagName = tagName data.Comment = comment - return newNode(KindJSDocReadonlyTag, data) + return f.newNode(KindJSDocReadonlyTag, data) } func (f *NodeFactory) UpdateJSDocReadonlyTag(node *JSDocReadonlyTag, tagName *IdentifierNode, comment *NodeList) *Node { @@ -8063,7 +8073,7 @@ func (f *NodeFactory) NewJSDocOverrideTag(tagName *IdentifierNode, comment *Node data := &JSDocOverrideTag{} data.TagName = tagName data.Comment = comment - return newNode(KindJSDocOverrideTag, data) + return f.newNode(KindJSDocOverrideTag, data) } func (f *NodeFactory) UpdateJSDocOverrideTag(node *JSDocOverrideTag, tagName *IdentifierNode, comment *NodeList) *Node { @@ -8094,7 +8104,7 @@ func (f *NodeFactory) NewJSDocDeprecatedTag(tagName *IdentifierNode, comment *No data := &JSDocDeprecatedTag{} data.TagName = tagName data.Comment = comment - return newNode(KindJSDocDeprecatedTag, data) + return f.newNode(KindJSDocDeprecatedTag, data) } func (f *NodeFactory) UpdateJSDocDeprecatedTag(node *JSDocDeprecatedTag, tagName *IdentifierNode, comment *NodeList) *Node { @@ -8127,7 +8137,7 @@ func (f *NodeFactory) NewJSDocSeeTag(tagName *IdentifierNode, nameExpression *Ty data.TagName = tagName data.NameExpression = nameExpression data.Comment = comment - return newNode(KindJSDocSeeTag, data) + return f.newNode(KindJSDocSeeTag, data) } func (f *NodeFactory) UpdateJSDocSeeTag(node *JSDocSeeTag, tagName *IdentifierNode, nameExpression *TypeNode, comment *NodeList) *Node { @@ -8160,7 +8170,7 @@ func (f *NodeFactory) NewJSDocImplementsTag(tagName *IdentifierNode, className * data.TagName = tagName data.ClassName = className data.Comment = comment - return newNode(KindJSDocImplementsTag, data) + return f.newNode(KindJSDocImplementsTag, data) } func (f *NodeFactory) UpdateJSDocImplementsTag(node *JSDocImplementsTag, tagName *IdentifierNode, className *Expression, comment *NodeList) *Node { @@ -8193,7 +8203,7 @@ func (f *NodeFactory) NewJSDocAugmentsTag(tagName *IdentifierNode, className *Ex data.TagName = tagName data.ClassName = className data.Comment = comment - return newNode(KindJSDocAugmentsTag, data) + return f.newNode(KindJSDocAugmentsTag, data) } func (f *NodeFactory) UpdateJSDocAugmentsTag(node *JSDocAugmentsTag, tagName *IdentifierNode, className *Expression, comment *NodeList) *Node { @@ -8226,7 +8236,7 @@ func (f *NodeFactory) NewJSDocSatisfiesTag(tagName *IdentifierNode, typeExpressi data.TagName = tagName data.TypeExpression = typeExpression data.Comment = comment - return newNode(KindJSDocSatisfiesTag, data) + return f.newNode(KindJSDocSatisfiesTag, data) } func (f *NodeFactory) UpdateJSDocSatisfiesTag(node *JSDocSatisfiesTag, tagName *IdentifierNode, typeExpression *TypeNode, comment *NodeList) *Node { @@ -8259,7 +8269,7 @@ func (f *NodeFactory) NewJSDocThisTag(tagName *IdentifierNode, typeExpression *T data.TagName = tagName data.TypeExpression = typeExpression data.Comment = comment - return newNode(KindJSDocThisTag, data) + return f.newNode(KindJSDocThisTag, data) } func (f *NodeFactory) UpdateJSDocThisTag(node *JSDocThisTag, tagName *IdentifierNode, typeExpression *TypeNode, comment *NodeList) *Node { @@ -8296,7 +8306,7 @@ func (f *NodeFactory) NewJSDocImportTag(tagName *IdentifierNode, importClause *D data.ModuleSpecifier = moduleSpecifier data.Attributes = attributes data.Comment = comment - return newNode(KindJSDocImportTag, data) + return f.newNode(KindJSDocImportTag, data) } func (f *NodeFactory) UpdateJSDocImportTag(node *JSDocImportTag, tagName *IdentifierNode, importClause *Declaration, moduleSpecifier *Node, attributes *Node, comment *NodeList) *Node { @@ -8331,7 +8341,7 @@ func (f *NodeFactory) NewJSDocCallbackTag(tagName *IdentifierNode, typeExpressio data.FullName = fullName data.TypeExpression = typeExpression data.Comment = comment - return newNode(KindJSDocCallbackTag, data) + return f.newNode(KindJSDocCallbackTag, data) } func (f *NodeFactory) UpdateJSDocCallbackTag(node *JSDocCallbackTag, tagName *IdentifierNode, typeExpression *TypeNode, fullName *Node, comment *NodeList) *Node { @@ -8364,7 +8374,7 @@ func (f *NodeFactory) NewJSDocOverloadTag(tagName *IdentifierNode, typeExpressio data.TagName = tagName data.TypeExpression = typeExpression data.Comment = comment - return newNode(KindJSDocOverloadTag, data) + return f.newNode(KindJSDocOverloadTag, data) } func (f *NodeFactory) UpdateJSDocOverloadTag(node *JSDocOverloadTag, tagName *IdentifierNode, typeExpression *TypeNode, comment *NodeList) *Node { @@ -8399,7 +8409,7 @@ func (f *NodeFactory) NewJSDocTypedefTag(tagName *IdentifierNode, typeExpression data.TypeExpression = typeExpression data.FullName = fullName data.Comment = comment - return newNode(KindJSDocTypedefTag, data) + return f.newNode(KindJSDocTypedefTag, data) } func (f *NodeFactory) UpdateJSDocTypedefTag(node *JSDocTypedefTag, tagName *IdentifierNode, typeExpression *Node, fullName *Node, comment *NodeList) *Node { @@ -8436,7 +8446,7 @@ func (f *NodeFactory) NewJSDocTypeLiteral(jsDocPropertyTags []*Node, isArrayType data := &JSDocTypeLiteral{} data.JsDocPropertyTags = jsDocPropertyTags data.IsArrayType = isArrayType - return newNode(KindJSDocTypeLiteral, data) + return f.newNode(KindJSDocTypeLiteral, data) } func (f *NodeFactory) UpdateJSDocTypeLiteral(node *JSDocTypeLiteral, jsDocPropertyTags []*Node, isArrayType bool) *Node { @@ -8472,7 +8482,7 @@ func (f *NodeFactory) NewJSDocSignature(typeParameters *TypeParameterList, param data.typeParameters = typeParameters data.Parameters = parameters data.Type = typeNode - return newNode(KindJSDocSignature, data) + return f.newNode(KindJSDocSignature, data) } func (f *NodeFactory) UpdateJSDocSignature(node *JSDocSignature, typeParameters *TypeParameterList, parameters *NodeList, typeNode *JSDocTag) *Node { @@ -8505,7 +8515,7 @@ type JSDocNameReference struct { func (f *NodeFactory) NewJSDocNameReference(name *EntityName) *Node { data := &JSDocNameReference{} data.name = name - return newNode(KindJSDocNameReference, data) + return f.newNode(KindJSDocNameReference, data) } func (f *NodeFactory) UpdateJSDocNameReference(node *JSDocNameReference, name *EntityName) *Node { @@ -8583,6 +8593,7 @@ type SourceFile struct { ReferencedFiles []*FileReference TypeReferenceDirectives []*FileReference LibReferenceDirectives []*FileReference + NodeCount int // Fields set by binder @@ -8628,7 +8639,7 @@ func (f *NodeFactory) NewSourceFile(text string, fileName string, path tspath.Pa data.path = path data.Statements = statements data.LanguageVersion = core.ScriptTargetLatest - return newNode(KindSourceFile, data) + return f.newNode(KindSourceFile, data) } func (node *SourceFile) FileName() string { diff --git a/internal/parser/parser.go b/internal/parser/parser.go index 5ee6839127..86a1fedab8 100644 --- a/internal/parser/parser.go +++ b/internal/parser/parser.go @@ -324,6 +324,7 @@ func (p *Parser) finishSourceFile(result *ast.SourceFile, isDeclarationFile bool result.ScriptKind = p.scriptKind result.Flags |= p.sourceFlags result.Identifiers = p.identifiers + result.NodeCount = p.factory.NodeCount() result.SetJSDocCache(p.jsdocCache) p.jsdocCache = nil p.identifiers = nil diff --git a/program.ast b/program.ast new file mode 100644 index 0000000000..e69de29bb2 From b6c10fe8449966d26f7b34bd65195ca4aa6d6ae1 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 10 Mar 2025 09:08:36 -0700 Subject: [PATCH 05/63] WIP --- _api/package.json | 5 +- _api/src/base/ast.ts | 2563 ++++++++++++++++++++++++++++++++++++++++ _api/src/syntaxKind.ts | 1058 ++++++----------- package-lock.json | 467 +++++++- 4 files changed, 3385 insertions(+), 708 deletions(-) create mode 100644 _api/src/base/ast.ts diff --git a/_api/package.json b/_api/package.json index f81dbd1e38..083de80d92 100644 --- a/_api/package.json +++ b/_api/package.json @@ -6,5 +6,8 @@ "dependencies": { "json-rpc-2.0": "^1.7.0", "libsyncrpc": "file:../../libsyncrpc" + }, + "devDependencies": { + "ts-morph": "^25.0.1" } -} \ No newline at end of file +} diff --git a/_api/src/base/ast.ts b/_api/src/base/ast.ts new file mode 100644 index 0000000000..f77e431082 --- /dev/null +++ b/_api/src/base/ast.ts @@ -0,0 +1,2563 @@ +import { SyntaxKind } from "../syntaxKind.ts"; + +export interface TextRange { + pos: number; + end: number; +} + +export interface Node extends ReadonlyTextRange { + readonly kind: SyntaxKind; + readonly parent: Node; +} + +export type TriviaSyntaxKind = + | SyntaxKind.SingleLineCommentTrivia + | SyntaxKind.MultiLineCommentTrivia + | SyntaxKind.NewLineTrivia + | SyntaxKind.WhitespaceTrivia + | SyntaxKind.ConflictMarkerTrivia; + +export type LiteralSyntaxKind = + | SyntaxKind.NumericLiteral + | SyntaxKind.BigIntLiteral + | SyntaxKind.StringLiteral + | SyntaxKind.JsxText + | SyntaxKind.JsxTextAllWhiteSpaces + | SyntaxKind.RegularExpressionLiteral + | SyntaxKind.NoSubstitutionTemplateLiteral; + +export type PseudoLiteralSyntaxKind = + | SyntaxKind.TemplateHead + | SyntaxKind.TemplateMiddle + | SyntaxKind.TemplateTail; + +export type PunctuationSyntaxKind = + | SyntaxKind.OpenBraceToken + | SyntaxKind.CloseBraceToken + | SyntaxKind.OpenParenToken + | SyntaxKind.CloseParenToken + | SyntaxKind.OpenBracketToken + | SyntaxKind.CloseBracketToken + | SyntaxKind.DotToken + | SyntaxKind.DotDotDotToken + | SyntaxKind.SemicolonToken + | SyntaxKind.CommaToken + | SyntaxKind.QuestionDotToken + | SyntaxKind.LessThanToken + | SyntaxKind.LessThanSlashToken + | SyntaxKind.GreaterThanToken + | SyntaxKind.LessThanEqualsToken + | SyntaxKind.GreaterThanEqualsToken + | SyntaxKind.EqualsEqualsToken + | SyntaxKind.ExclamationEqualsToken + | SyntaxKind.EqualsEqualsEqualsToken + | SyntaxKind.ExclamationEqualsEqualsToken + | SyntaxKind.EqualsGreaterThanToken + | SyntaxKind.PlusToken + | SyntaxKind.MinusToken + | SyntaxKind.AsteriskToken + | SyntaxKind.AsteriskAsteriskToken + | SyntaxKind.SlashToken + | SyntaxKind.PercentToken + | SyntaxKind.PlusPlusToken + | SyntaxKind.MinusMinusToken + | SyntaxKind.LessThanLessThanToken + | SyntaxKind.GreaterThanGreaterThanToken + | SyntaxKind.GreaterThanGreaterThanGreaterThanToken + | SyntaxKind.AmpersandToken + | SyntaxKind.BarToken + | SyntaxKind.CaretToken + | SyntaxKind.ExclamationToken + | SyntaxKind.TildeToken + | SyntaxKind.AmpersandAmpersandToken + | SyntaxKind.AmpersandAmpersandEqualsToken + | SyntaxKind.BarBarToken + | SyntaxKind.BarBarEqualsToken + | SyntaxKind.QuestionQuestionToken + | SyntaxKind.QuestionQuestionEqualsToken + | SyntaxKind.QuestionToken + | SyntaxKind.ColonToken + | SyntaxKind.AtToken + | SyntaxKind.BacktickToken + | SyntaxKind.HashToken + | SyntaxKind.EqualsToken + | SyntaxKind.PlusEqualsToken + | SyntaxKind.MinusEqualsToken + | SyntaxKind.AsteriskEqualsToken + | SyntaxKind.AsteriskAsteriskEqualsToken + | SyntaxKind.SlashEqualsToken + | SyntaxKind.PercentEqualsToken + | SyntaxKind.LessThanLessThanEqualsToken + | SyntaxKind.GreaterThanGreaterThanEqualsToken + | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken + | SyntaxKind.AmpersandEqualsToken + | SyntaxKind.BarEqualsToken + | SyntaxKind.CaretEqualsToken; + +/** @internal */ +export type PunctuationOrKeywordSyntaxKind = PunctuationSyntaxKind | KeywordSyntaxKind; + +export type KeywordSyntaxKind = + | SyntaxKind.AbstractKeyword + | SyntaxKind.AccessorKeyword + | SyntaxKind.AnyKeyword + | SyntaxKind.AsKeyword + | SyntaxKind.AssertsKeyword + | SyntaxKind.AssertKeyword + | SyntaxKind.AsyncKeyword + | SyntaxKind.AwaitKeyword + | SyntaxKind.BigIntKeyword + | SyntaxKind.BooleanKeyword + | SyntaxKind.BreakKeyword + | SyntaxKind.CaseKeyword + | SyntaxKind.CatchKeyword + | SyntaxKind.ClassKeyword + | SyntaxKind.ConstKeyword + | SyntaxKind.ConstructorKeyword + | SyntaxKind.ContinueKeyword + | SyntaxKind.DebuggerKeyword + | SyntaxKind.DeclareKeyword + | SyntaxKind.DefaultKeyword + | SyntaxKind.DeleteKeyword + | SyntaxKind.DoKeyword + | SyntaxKind.ElseKeyword + | SyntaxKind.EnumKeyword + | SyntaxKind.ExportKeyword + | SyntaxKind.ExtendsKeyword + | SyntaxKind.FalseKeyword + | SyntaxKind.FinallyKeyword + | SyntaxKind.ForKeyword + | SyntaxKind.FromKeyword + | SyntaxKind.FunctionKeyword + | SyntaxKind.GetKeyword + | SyntaxKind.GlobalKeyword + | SyntaxKind.IfKeyword + | SyntaxKind.ImplementsKeyword + | SyntaxKind.ImportKeyword + | SyntaxKind.InferKeyword + | SyntaxKind.InKeyword + | SyntaxKind.InstanceOfKeyword + | SyntaxKind.InterfaceKeyword + | SyntaxKind.IntrinsicKeyword + | SyntaxKind.IsKeyword + | SyntaxKind.KeyOfKeyword + | SyntaxKind.LetKeyword + | SyntaxKind.ModuleKeyword + | SyntaxKind.NamespaceKeyword + | SyntaxKind.NeverKeyword + | SyntaxKind.NewKeyword + | SyntaxKind.NullKeyword + | SyntaxKind.NumberKeyword + | SyntaxKind.ObjectKeyword + | SyntaxKind.OfKeyword + | SyntaxKind.PackageKeyword + | SyntaxKind.PrivateKeyword + | SyntaxKind.ProtectedKeyword + | SyntaxKind.PublicKeyword + | SyntaxKind.ReadonlyKeyword + | SyntaxKind.OutKeyword + | SyntaxKind.OverrideKeyword + | SyntaxKind.RequireKeyword + | SyntaxKind.ReturnKeyword + | SyntaxKind.SatisfiesKeyword + | SyntaxKind.SetKeyword + | SyntaxKind.StaticKeyword + | SyntaxKind.StringKeyword + | SyntaxKind.SuperKeyword + | SyntaxKind.SwitchKeyword + | SyntaxKind.SymbolKeyword + | SyntaxKind.ThisKeyword + | SyntaxKind.ThrowKeyword + | SyntaxKind.TrueKeyword + | SyntaxKind.TryKeyword + | SyntaxKind.TypeKeyword + | SyntaxKind.TypeOfKeyword + | SyntaxKind.UndefinedKeyword + | SyntaxKind.UniqueKeyword + | SyntaxKind.UnknownKeyword + | SyntaxKind.UsingKeyword + | SyntaxKind.VarKeyword + | SyntaxKind.VoidKeyword + | SyntaxKind.WhileKeyword + | SyntaxKind.WithKeyword + | SyntaxKind.YieldKeyword; + +export type ModifierSyntaxKind = + | SyntaxKind.AbstractKeyword + | SyntaxKind.AccessorKeyword + | SyntaxKind.AsyncKeyword + | SyntaxKind.ConstKeyword + | SyntaxKind.DeclareKeyword + | SyntaxKind.DefaultKeyword + | SyntaxKind.ExportKeyword + | SyntaxKind.InKeyword + | SyntaxKind.PrivateKeyword + | SyntaxKind.ProtectedKeyword + | SyntaxKind.PublicKeyword + | SyntaxKind.ReadonlyKeyword + | SyntaxKind.OutKeyword + | SyntaxKind.OverrideKeyword + | SyntaxKind.StaticKeyword; + +export type KeywordTypeSyntaxKind = + | SyntaxKind.AnyKeyword + | SyntaxKind.BigIntKeyword + | SyntaxKind.BooleanKeyword + | SyntaxKind.IntrinsicKeyword + | SyntaxKind.NeverKeyword + | SyntaxKind.NumberKeyword + | SyntaxKind.ObjectKeyword + | SyntaxKind.StringKeyword + | SyntaxKind.SymbolKeyword + | SyntaxKind.UndefinedKeyword + | SyntaxKind.UnknownKeyword + | SyntaxKind.VoidKeyword; + +/** @internal */ +export type TypeNodeSyntaxKind = + | KeywordTypeSyntaxKind + | SyntaxKind.TypePredicate + | SyntaxKind.TypeReference + | SyntaxKind.FunctionType + | SyntaxKind.ConstructorType + | SyntaxKind.TypeQuery + | SyntaxKind.TypeLiteral + | SyntaxKind.ArrayType + | SyntaxKind.TupleType + | SyntaxKind.NamedTupleMember + | SyntaxKind.OptionalType + | SyntaxKind.RestType + | SyntaxKind.UnionType + | SyntaxKind.IntersectionType + | SyntaxKind.ConditionalType + | SyntaxKind.InferType + | SyntaxKind.ParenthesizedType + | SyntaxKind.ThisType + | SyntaxKind.TypeOperator + | SyntaxKind.IndexedAccessType + | SyntaxKind.MappedType + | SyntaxKind.LiteralType + | SyntaxKind.TemplateLiteralType + | SyntaxKind.TemplateLiteralTypeSpan + | SyntaxKind.ImportType + | SyntaxKind.ExpressionWithTypeArguments + | SyntaxKind.JSDocTypeExpression + | SyntaxKind.JSDocAllType + | SyntaxKind.JSDocNonNullableType + | SyntaxKind.JSDocNullableType + | SyntaxKind.JSDocOptionalType + | SyntaxKind.JSDocVariadicType + | SyntaxKind.JSDocSignature + | SyntaxKind.JSDocTypeLiteral; + +export type TokenSyntaxKind = + | SyntaxKind.Unknown + | SyntaxKind.EndOfFile + | TriviaSyntaxKind + | LiteralSyntaxKind + | PseudoLiteralSyntaxKind + | PunctuationSyntaxKind + | SyntaxKind.Identifier + | KeywordSyntaxKind; + +export type JsxTokenSyntaxKind = + | SyntaxKind.LessThanSlashToken + | SyntaxKind.EndOfFile + | SyntaxKind.ConflictMarkerTrivia + | SyntaxKind.JsxText + | SyntaxKind.JsxTextAllWhiteSpaces + | SyntaxKind.OpenBraceToken + | SyntaxKind.LessThanToken; + +export type JSDocSyntaxKind = + | SyntaxKind.EndOfFile + | SyntaxKind.WhitespaceTrivia + | SyntaxKind.AtToken + | SyntaxKind.NewLineTrivia + | SyntaxKind.AsteriskToken + | SyntaxKind.OpenBraceToken + | SyntaxKind.CloseBraceToken + | SyntaxKind.LessThanToken + | SyntaxKind.GreaterThanToken + | SyntaxKind.OpenBracketToken + | SyntaxKind.CloseBracketToken + | SyntaxKind.OpenParenToken + | SyntaxKind.CloseParenToken + | SyntaxKind.EqualsToken + | SyntaxKind.CommaToken + | SyntaxKind.DotToken + | SyntaxKind.Identifier + | SyntaxKind.BacktickToken + | SyntaxKind.HashToken + | SyntaxKind.Unknown + | KeywordSyntaxKind; + +export interface ReadonlyTextRange { + readonly pos: number; + readonly end: number; +} + +export interface NodeArray extends ReadonlyTextRange, Iterable { + readonly hasTrailingComma: boolean; + readonly length: number; + readonly pos: number; + readonly end: number; + at(index: number): T; +} + +// TODO(rbuckton): Constraint 'TKind' to 'TokenSyntaxKind' +export interface Token extends Node { + readonly kind: TKind; +} + +export type EndOfFile = Token; + +// Punctuation +export interface PunctuationToken extends Token { +} + +export type DotToken = PunctuationToken; +export type DotDotDotToken = PunctuationToken; +export type QuestionToken = PunctuationToken; +export type ExclamationToken = PunctuationToken; +export type ColonToken = PunctuationToken; +export type EqualsToken = PunctuationToken; +export type AmpersandAmpersandEqualsToken = PunctuationToken; +export type BarBarEqualsToken = PunctuationToken; +export type QuestionQuestionEqualsToken = PunctuationToken; +export type AsteriskToken = PunctuationToken; +export type EqualsGreaterThanToken = PunctuationToken; +export type PlusToken = PunctuationToken; +export type MinusToken = PunctuationToken; +export type QuestionDotToken = PunctuationToken; + +// Keywords +export interface KeywordToken extends Token { +} + +export type AssertsKeyword = KeywordToken; +export type AssertKeyword = KeywordToken; +export type AwaitKeyword = KeywordToken; +export type CaseKeyword = KeywordToken; + +export interface ModifierToken extends KeywordToken { +} + +export type AbstractKeyword = ModifierToken; +export type AccessorKeyword = ModifierToken; +export type AsyncKeyword = ModifierToken; +export type ConstKeyword = ModifierToken; +export type DeclareKeyword = ModifierToken; +export type DefaultKeyword = ModifierToken; +export type ExportKeyword = ModifierToken; +export type InKeyword = ModifierToken; +export type PrivateKeyword = ModifierToken; +export type ProtectedKeyword = ModifierToken; +export type PublicKeyword = ModifierToken; +export type ReadonlyKeyword = ModifierToken; +export type OutKeyword = ModifierToken; +export type OverrideKeyword = ModifierToken; +export type StaticKeyword = ModifierToken; + +export type Modifier = + | AbstractKeyword + | AccessorKeyword + | AsyncKeyword + | ConstKeyword + | DeclareKeyword + | DefaultKeyword + | ExportKeyword + | InKeyword + | PrivateKeyword + | ProtectedKeyword + | PublicKeyword + | OutKeyword + | OverrideKeyword + | ReadonlyKeyword + | StaticKeyword; + +export type ModifierLike = Modifier | Decorator; + +export type AccessibilityModifier = + | PublicKeyword + | PrivateKeyword + | ProtectedKeyword; + +export type ParameterPropertyModifier = + | AccessibilityModifier + | ReadonlyKeyword; + +export type ClassMemberModifier = + | AccessibilityModifier + | ReadonlyKeyword + | StaticKeyword + | AccessorKeyword; + +export type ModifiersArray = NodeArray; + +export interface Identifier extends PrimaryExpression, Declaration { + readonly kind: SyntaxKind.Identifier; + /** + * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) + * Text of identifier, but if the identifier begins with two underscores, this will begin with three. + */ + readonly escapedText: string; +} + +export interface QualifiedName extends Node { + readonly kind: SyntaxKind.QualifiedName; + readonly left: EntityName; + readonly right: Identifier; +} + +export type EntityName = Identifier | QualifiedName; + +export type PropertyName = + | Identifier + | StringLiteral + | NoSubstitutionTemplateLiteral + | NumericLiteral + | ComputedPropertyName + | PrivateIdentifier + | BigIntLiteral; + +export type MemberName = Identifier | PrivateIdentifier; + +export type DeclarationName = + | PropertyName + | JsxAttributeName + | StringLiteralLike + | ElementAccessExpression + | BindingPattern + | EntityNameExpression; + +export interface Declaration extends Node { + _declarationBrand: any; + /** @internal */ symbol: Symbol; // Symbol declared by node (initialized by binding) + /** @internal */ localSymbol?: Symbol; // Local symbol declared by node (initialized by binding only for exported nodes) +} + +export interface NamedDeclaration extends Declaration { + readonly name?: DeclarationName; +} + +export interface DeclarationStatement extends NamedDeclaration, Statement { + readonly name?: Identifier | StringLiteral | NumericLiteral; +} + +export interface ComputedPropertyName extends Node { + readonly kind: SyntaxKind.ComputedPropertyName; + readonly parent: Declaration; + readonly expression: Expression; +} + +// Typed as a PrimaryExpression due to its presence in BinaryExpressions (#field in expr) +export interface PrivateIdentifier extends PrimaryExpression { + readonly kind: SyntaxKind.PrivateIdentifier; + // escaping not strictly necessary + // avoids gotchas in transforms and utils + readonly escapedText: string; +} + +export interface Decorator extends Node { + readonly kind: SyntaxKind.Decorator; + readonly parent: NamedDeclaration; + readonly expression: LeftHandSideExpression; +} + +export interface TypeParameterDeclaration extends NamedDeclaration { + readonly kind: SyntaxKind.TypeParameter; + readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode; + readonly modifiers?: NodeArray; + readonly name: Identifier; + /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ + readonly constraint?: TypeNode; + readonly default?: TypeNode; + + // For error recovery purposes (see `isGrammarError` in utilities.ts). + expression?: Expression; +} + +export interface SignatureDeclarationBase extends NamedDeclaration { + readonly kind: SignatureDeclaration["kind"]; + readonly name?: PropertyName; + readonly typeParameters?: NodeArray | undefined; + readonly parameters: NodeArray; + readonly type?: TypeNode | undefined; + /** @internal */ typeArguments?: NodeArray; // Used for quick info, replaces typeParameters for instantiated signatures +} + +export type SignatureDeclaration = + | CallSignatureDeclaration + | ConstructSignatureDeclaration + | MethodSignature + | IndexSignatureDeclaration + | FunctionTypeNode + | ConstructorTypeNode + | FunctionDeclaration + | MethodDeclaration + | ConstructorDeclaration + | AccessorDeclaration + | FunctionExpression + | ArrowFunction; + +export interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + readonly kind: SyntaxKind.CallSignature; +} + +export interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + readonly kind: SyntaxKind.ConstructSignature; +} + +export type BindingName = Identifier | BindingPattern; + +// dprint-ignore +export interface VariableDeclaration extends NamedDeclaration { + readonly kind: SyntaxKind.VariableDeclaration; + readonly parent: VariableDeclarationList | CatchClause; + readonly name: BindingName; // Declared variable name + readonly exclamationToken?: ExclamationToken; // Optional definite assignment assertion + readonly type?: TypeNode; // Optional type annotation + readonly initializer?: Expression; // Optional initializer +} + +export interface VariableDeclarationList extends Node { + readonly kind: SyntaxKind.VariableDeclarationList; + readonly parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + readonly declarations: NodeArray; +} + +// dprint-ignore +export interface ParameterDeclaration extends NamedDeclaration { + readonly kind: SyntaxKind.Parameter; + readonly parent: SignatureDeclaration; + readonly modifiers?: NodeArray; + readonly dotDotDotToken?: DotDotDotToken; // Present on rest parameter + readonly name: BindingName; // Declared parameter name. + readonly questionToken?: QuestionToken; // Present on optional parameter + readonly type?: TypeNode; // Optional type annotation + readonly initializer?: Expression; // Optional initializer +} + +// dprint-ignore +export interface BindingElement extends NamedDeclaration { + readonly kind: SyntaxKind.BindingElement; + readonly parent: BindingPattern; + readonly propertyName?: PropertyName; // Binding property name (in object binding pattern) + readonly dotDotDotToken?: DotDotDotToken; // Present on rest element (in object binding pattern) + readonly name: BindingName; // Declared binding element name + readonly initializer?: Expression; // Optional initializer +} +["parent"]; + +// dprint-ignore +export interface PropertySignature extends TypeElement { + readonly kind: SyntaxKind.PropertySignature; + readonly parent: TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; // Declared property name + readonly questionToken?: QuestionToken; // Present on optional property + readonly type?: TypeNode; // Optional type annotation + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly initializer?: Expression | undefined; // A property signature cannot have an initializer +} + +// dprint-ignore +export interface PropertyDeclaration extends ClassElement { + readonly kind: SyntaxKind.PropertyDeclaration; + readonly parent: ClassLikeDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; + readonly questionToken?: QuestionToken; // Present for use with reporting a grammar error for auto-accessors (see `isGrammarError` in utilities.ts) + readonly exclamationToken?: ExclamationToken; + readonly type?: TypeNode; + readonly initializer?: Expression; // Optional initializer +} + +export interface AutoAccessorPropertyDeclaration extends PropertyDeclaration { + _autoAccessorBrand: any; +} + +export interface ObjectLiteralElement extends NamedDeclaration { + _objectLiteralBrand: any; + readonly name?: PropertyName; +} + +/** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ +export type ObjectLiteralElementLike = + | PropertyAssignment + | ShorthandPropertyAssignment + | SpreadAssignment + | MethodDeclaration + | AccessorDeclaration; + +export interface PropertyAssignment extends ObjectLiteralElement { + readonly kind: SyntaxKind.PropertyAssignment; + readonly parent: ObjectLiteralExpression; + readonly name: PropertyName; + readonly initializer: Expression; + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly modifiers?: NodeArray | undefined; // property assignment cannot have decorators or modifiers + /** @internal */ readonly questionToken?: QuestionToken | undefined; // property assignment cannot have a question token + /** @internal */ readonly exclamationToken?: ExclamationToken | undefined; // property assignment cannot have an exclamation token +} + +export interface ShorthandPropertyAssignment extends ObjectLiteralElement { + readonly kind: SyntaxKind.ShorthandPropertyAssignment; + readonly parent: ObjectLiteralExpression; + readonly name: Identifier; + // used when ObjectLiteralExpression is used in ObjectAssignmentPattern + // it is a grammar error to appear in actual object initializer (see `isGrammarError` in utilities.ts): + readonly equalsToken?: EqualsToken; + readonly objectAssignmentInitializer?: Expression; + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly modifiers?: NodeArray | undefined; // shorthand property assignment cannot have decorators or modifiers + /** @internal */ readonly questionToken?: QuestionToken | undefined; // shorthand property assignment cannot have a question token + /** @internal */ readonly exclamationToken?: ExclamationToken | undefined; // shorthand property assignment cannot have an exclamation token +} + +export interface SpreadAssignment extends ObjectLiteralElement { + readonly kind: SyntaxKind.SpreadAssignment; + readonly parent: ObjectLiteralExpression; + readonly expression: Expression; +} + +export type VariableLikeDeclaration = + | VariableDeclaration + | ParameterDeclaration + | BindingElement + | PropertyDeclaration + | PropertyAssignment + | PropertySignature + | JsxAttribute + | ShorthandPropertyAssignment + | EnumMember + | JSDocPropertyTag + | JSDocParameterTag; + +export interface ObjectBindingPattern extends Node { + readonly kind: SyntaxKind.ObjectBindingPattern; + readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement; + readonly elements: NodeArray; +} + +export interface ArrayBindingPattern extends Node { + readonly kind: SyntaxKind.ArrayBindingPattern; + readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement; + readonly elements: NodeArray; +} + +export type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; + +export type ArrayBindingElement = BindingElement | OmittedExpression; + +/** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ +export interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { + _functionLikeDeclarationBrand: any; + + readonly asteriskToken?: AsteriskToken | undefined; + readonly questionToken?: QuestionToken | undefined; + readonly exclamationToken?: ExclamationToken | undefined; + readonly body?: Block | Expression | undefined; +} + +export type FunctionLikeDeclaration = + | FunctionDeclaration + | MethodDeclaration + | GetAccessorDeclaration + | SetAccessorDeclaration + | ConstructorDeclaration + | FunctionExpression + | ArrowFunction; +/** @deprecated Use SignatureDeclaration */ +export type FunctionLike = SignatureDeclaration; + +export interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { + readonly kind: SyntaxKind.FunctionDeclaration; + readonly modifiers?: NodeArray; + readonly name?: Identifier; + readonly body?: FunctionBody; +} + +export interface MethodSignature extends SignatureDeclarationBase, TypeElement { + readonly kind: SyntaxKind.MethodSignature; + readonly parent: TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; +} + +// Note that a MethodDeclaration is considered both a ClassElement and an ObjectLiteralElement. +// Both the grammars for ClassDeclaration and ObjectLiteralExpression allow for MethodDeclarations +// as child elements, and so a MethodDeclaration satisfies both interfaces. This avoids the +// alternative where we would need separate kinds/types for ClassMethodDeclaration and +// ObjectLiteralMethodDeclaration, which would look identical. +// +// Because of this, it may be necessary to determine what sort of MethodDeclaration you have +// at later stages of the compiler pipeline. In that case, you can either check the parent kind +// of the method, or use helpers like isObjectLiteralMethodDeclaration +export interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement { + readonly kind: SyntaxKind.MethodDeclaration; + readonly parent: ClassLikeDeclaration | ObjectLiteralExpression; + readonly modifiers?: NodeArray | undefined; + readonly name: PropertyName; + readonly body?: FunctionBody | undefined; + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly exclamationToken?: ExclamationToken | undefined; // A method cannot have an exclamation token +} + +export interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement { + readonly kind: SyntaxKind.Constructor; + readonly parent: ClassLikeDeclaration; + readonly modifiers?: NodeArray | undefined; + readonly body?: FunctionBody | undefined; + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly typeParameters?: NodeArray; // A constructor cannot have type parameters + /** @internal */ readonly type?: TypeNode; // A constructor cannot have a return type annotation +} + +/** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ +export interface SemicolonClassElement extends ClassElement { + readonly kind: SyntaxKind.SemicolonClassElement; + readonly parent: ClassLikeDeclaration; +} + +// See the comment on MethodDeclaration for the intuition behind GetAccessorDeclaration being a +// ClassElement and an ObjectLiteralElement. +export interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement { + readonly kind: SyntaxKind.GetAccessor; + readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; + readonly body?: FunctionBody; + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly typeParameters?: NodeArray | undefined; // A get accessor cannot have type parameters +} + +// See the comment on MethodDeclaration for the intuition behind SetAccessorDeclaration being a +// ClassElement and an ObjectLiteralElement. +export interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement { + readonly kind: SyntaxKind.SetAccessor; + readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; + readonly body?: FunctionBody; + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly typeParameters?: NodeArray | undefined; // A set accessor cannot have type parameters + /** @internal */ readonly type?: TypeNode | undefined; // A set accessor cannot have a return type +} + +export type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; + +export interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { + readonly kind: SyntaxKind.IndexSignature; + readonly parent: ObjectTypeDeclaration; + readonly modifiers?: NodeArray; + readonly type: TypeNode; +} + +export interface ClassStaticBlockDeclaration extends ClassElement { + readonly kind: SyntaxKind.ClassStaticBlockDeclaration; + readonly parent: ClassDeclaration | ClassExpression; + readonly body: Block; + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly modifiers?: NodeArray | undefined; +} + +export interface TypeNode extends Node { + _typeNodeBrand: any; +} + +export interface KeywordTypeNode extends KeywordToken, TypeNode { + readonly kind: TKind; +} + +export interface ImportTypeNode extends NodeWithTypeArguments { + readonly kind: SyntaxKind.ImportType; + readonly isTypeOf: boolean; + readonly argument: TypeNode; + readonly attributes?: ImportAttributes; + readonly qualifier?: EntityName; +} + +export interface ThisTypeNode extends TypeNode { + readonly kind: SyntaxKind.ThisType; +} + +export type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; + +export interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + readonly kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + readonly type: TypeNode; +} + +export interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { + readonly kind: SyntaxKind.FunctionType; + + // A function type cannot have modifiers + /** @internal */ readonly modifiers?: undefined; +} + +export interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { + readonly kind: SyntaxKind.ConstructorType; + readonly modifiers?: NodeArray; +} + +export interface NodeWithTypeArguments extends TypeNode { + readonly typeArguments?: NodeArray; +} + +export type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; + +export interface TypeReferenceNode extends NodeWithTypeArguments { + readonly kind: SyntaxKind.TypeReference; + readonly typeName: EntityName; +} + +export interface TypePredicateNode extends TypeNode { + readonly kind: SyntaxKind.TypePredicate; + readonly parent: SignatureDeclaration | JSDocTypeExpression; + readonly assertsModifier?: AssertsKeyword; + readonly parameterName: Identifier | ThisTypeNode; + readonly type?: TypeNode; +} + +export interface TypeQueryNode extends NodeWithTypeArguments { + readonly kind: SyntaxKind.TypeQuery; + readonly exprName: EntityName; +} + +// A TypeLiteral is the declaration node for an anonymous symbol. +export interface TypeLiteralNode extends TypeNode, Declaration { + readonly kind: SyntaxKind.TypeLiteral; + readonly members: NodeArray; +} + +export interface ArrayTypeNode extends TypeNode { + readonly kind: SyntaxKind.ArrayType; + readonly elementType: TypeNode; +} + +export interface TupleTypeNode extends TypeNode { + readonly kind: SyntaxKind.TupleType; + readonly elements: NodeArray; +} + +export interface NamedTupleMember extends TypeNode, Declaration { + readonly kind: SyntaxKind.NamedTupleMember; + readonly dotDotDotToken?: Token; + readonly name: Identifier; + readonly questionToken?: Token; + readonly type: TypeNode; +} + +export interface OptionalTypeNode extends TypeNode { + readonly kind: SyntaxKind.OptionalType; + readonly type: TypeNode; +} + +export interface RestTypeNode extends TypeNode { + readonly kind: SyntaxKind.RestType; + readonly type: TypeNode; +} + +export type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; + +export interface UnionTypeNode extends TypeNode { + readonly kind: SyntaxKind.UnionType; + readonly types: NodeArray; +} + +export interface IntersectionTypeNode extends TypeNode { + readonly kind: SyntaxKind.IntersectionType; + readonly types: NodeArray; +} + +export interface ConditionalTypeNode extends TypeNode { + readonly kind: SyntaxKind.ConditionalType; + readonly checkType: TypeNode; + readonly extendsType: TypeNode; + readonly trueType: TypeNode; + readonly falseType: TypeNode; +} + +export interface InferTypeNode extends TypeNode { + readonly kind: SyntaxKind.InferType; + readonly typeParameter: TypeParameterDeclaration; +} + +export interface ParenthesizedTypeNode extends TypeNode { + readonly kind: SyntaxKind.ParenthesizedType; + readonly type: TypeNode; +} + +export interface TypeOperatorNode extends TypeNode { + readonly kind: SyntaxKind.TypeOperator; + readonly operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.ReadonlyKeyword; + readonly type: TypeNode; +} + +/** @internal @knipignore */ +export interface UniqueTypeOperatorNode extends TypeOperatorNode { + readonly operator: SyntaxKind.UniqueKeyword; +} + +export interface IndexedAccessTypeNode extends TypeNode { + readonly kind: SyntaxKind.IndexedAccessType; + readonly objectType: TypeNode; + readonly indexType: TypeNode; +} + +export interface MappedTypeNode extends TypeNode, Declaration { + readonly kind: SyntaxKind.MappedType; + readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken; + readonly typeParameter: TypeParameterDeclaration; + readonly nameType?: TypeNode; + readonly questionToken?: QuestionToken | PlusToken | MinusToken; + readonly type?: TypeNode; + /** Used only to produce grammar errors */ + readonly members?: NodeArray; +} + +export interface LiteralTypeNode extends TypeNode { + readonly kind: SyntaxKind.LiteralType; + readonly literal: NullLiteral | BooleanLiteral | LiteralExpression | PrefixUnaryExpression; +} + +export interface StringLiteral extends LiteralExpression, Declaration { + readonly kind: SyntaxKind.StringLiteral; + /** @internal */ + readonly textSourceNode?: Identifier | StringLiteralLike | NumericLiteral | PrivateIdentifier | JsxNamespacedName | BigIntLiteral; // Allows a StringLiteral to get its text from another node (used by transforms). + /** + * Note: this is only set when synthesizing a node, not during parsing. + * + * @internal + */ + readonly singleQuote?: boolean; +} + +export type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; +export type PropertyNameLiteral = Identifier | StringLiteralLike | NumericLiteral | JsxNamespacedName | BigIntLiteral; + +export interface TemplateLiteralTypeNode extends TypeNode { + kind: SyntaxKind.TemplateLiteralType; + readonly head: TemplateHead; + readonly templateSpans: NodeArray; +} + +export interface TemplateLiteralTypeSpan extends TypeNode { + readonly kind: SyntaxKind.TemplateLiteralTypeSpan; + readonly parent: TemplateLiteralTypeNode; + readonly type: TypeNode; + readonly literal: TemplateMiddle | TemplateTail; +} + +// Note: 'brands' in our syntax nodes serve to give us a small amount of nominal typing. +// Consider 'Expression'. Without the brand, 'Expression' is actually no different +// (structurally) than 'Node'. Because of this you can pass any Node to a function that +// takes an Expression without any error. By using the 'brands' we ensure that the type +// checker actually thinks you have something of the right type. Note: the brands are +// never actually given values. At runtime they have zero cost. + +export interface Expression extends Node { + _expressionBrand: any; +} + +export interface OmittedExpression extends Expression { + readonly kind: SyntaxKind.OmittedExpression; +} + +// Represents an expression that is elided as part of a transformation to emit comments on a +// not-emitted node. The 'expression' property of a PartiallyEmittedExpression should be emitted. +export interface PartiallyEmittedExpression extends LeftHandSideExpression { + readonly kind: SyntaxKind.PartiallyEmittedExpression; + readonly expression: Expression; +} + +export interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; +} + +/** Deprecated, please use UpdateExpression */ +export type IncrementExpression = UpdateExpression; +export interface UpdateExpression extends UnaryExpression { + _updateExpressionBrand: any; +} + +// see: https://tc39.github.io/ecma262/#prod-UpdateExpression +// see: https://tc39.github.io/ecma262/#prod-UnaryExpression +export type PrefixUnaryOperator = + | SyntaxKind.PlusPlusToken + | SyntaxKind.MinusMinusToken + | SyntaxKind.PlusToken + | SyntaxKind.MinusToken + | SyntaxKind.TildeToken + | SyntaxKind.ExclamationToken; + +export interface PrefixUnaryExpression extends UpdateExpression { + readonly kind: SyntaxKind.PrefixUnaryExpression; + readonly operator: PrefixUnaryOperator; + readonly operand: UnaryExpression; +} + +// see: https://tc39.github.io/ecma262/#prod-UpdateExpression +export type PostfixUnaryOperator = + | SyntaxKind.PlusPlusToken + | SyntaxKind.MinusMinusToken; + +export interface PostfixUnaryExpression extends UpdateExpression { + readonly kind: SyntaxKind.PostfixUnaryExpression; + readonly operand: LeftHandSideExpression; + readonly operator: PostfixUnaryOperator; +} + +export interface LeftHandSideExpression extends UpdateExpression { + _leftHandSideExpressionBrand: any; +} + +export interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; +} + +export interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; +} + +export interface NullLiteral extends PrimaryExpression { + readonly kind: SyntaxKind.NullKeyword; +} + +export interface TrueLiteral extends PrimaryExpression { + readonly kind: SyntaxKind.TrueKeyword; +} + +export interface FalseLiteral extends PrimaryExpression { + readonly kind: SyntaxKind.FalseKeyword; +} + +export type BooleanLiteral = TrueLiteral | FalseLiteral; + +export interface ThisExpression extends PrimaryExpression { + readonly kind: SyntaxKind.ThisKeyword; +} + +export interface SuperExpression extends PrimaryExpression { + readonly kind: SyntaxKind.SuperKeyword; +} + +export interface ImportExpression extends PrimaryExpression { + readonly kind: SyntaxKind.ImportKeyword; +} + +export interface DeleteExpression extends UnaryExpression { + readonly kind: SyntaxKind.DeleteExpression; + readonly expression: UnaryExpression; +} + +export interface TypeOfExpression extends UnaryExpression { + readonly kind: SyntaxKind.TypeOfExpression; + readonly expression: UnaryExpression; +} + +export interface VoidExpression extends UnaryExpression { + readonly kind: SyntaxKind.VoidExpression; + readonly expression: UnaryExpression; +} + +export interface AwaitExpression extends UnaryExpression { + readonly kind: SyntaxKind.AwaitExpression; + readonly expression: UnaryExpression; +} + +export interface YieldExpression extends Expression { + readonly kind: SyntaxKind.YieldExpression; + readonly asteriskToken?: AsteriskToken; + readonly expression?: Expression; +} + +// see: https://tc39.github.io/ecma262/#prod-ExponentiationExpression +export type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; + +// see: https://tc39.github.io/ecma262/#prod-MultiplicativeOperator +export type MultiplicativeOperator = + | SyntaxKind.AsteriskToken + | SyntaxKind.SlashToken + | SyntaxKind.PercentToken; + +// see: https://tc39.github.io/ecma262/#prod-MultiplicativeExpression +export type MultiplicativeOperatorOrHigher = + | ExponentiationOperator + | MultiplicativeOperator; + +// see: https://tc39.github.io/ecma262/#prod-AdditiveExpression +export type AdditiveOperator = + | SyntaxKind.PlusToken + | SyntaxKind.MinusToken; + +// see: https://tc39.github.io/ecma262/#prod-AdditiveExpression +export type AdditiveOperatorOrHigher = + | MultiplicativeOperatorOrHigher + | AdditiveOperator; + +// see: https://tc39.github.io/ecma262/#prod-ShiftExpression +export type ShiftOperator = + | SyntaxKind.LessThanLessThanToken + | SyntaxKind.GreaterThanGreaterThanToken + | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; + +// see: https://tc39.github.io/ecma262/#prod-ShiftExpression +export type ShiftOperatorOrHigher = + | AdditiveOperatorOrHigher + | ShiftOperator; + +// see: https://tc39.github.io/ecma262/#prod-RelationalExpression +export type RelationalOperator = + | SyntaxKind.LessThanToken + | SyntaxKind.LessThanEqualsToken + | SyntaxKind.GreaterThanToken + | SyntaxKind.GreaterThanEqualsToken + | SyntaxKind.InstanceOfKeyword + | SyntaxKind.InKeyword; + +// see: https://tc39.github.io/ecma262/#prod-RelationalExpression +export type RelationalOperatorOrHigher = + | ShiftOperatorOrHigher + | RelationalOperator; + +// see: https://tc39.github.io/ecma262/#prod-EqualityExpression +export type EqualityOperator = + | SyntaxKind.EqualsEqualsToken + | SyntaxKind.EqualsEqualsEqualsToken + | SyntaxKind.ExclamationEqualsEqualsToken + | SyntaxKind.ExclamationEqualsToken; + +// see: https://tc39.github.io/ecma262/#prod-EqualityExpression +export type EqualityOperatorOrHigher = + | RelationalOperatorOrHigher + | EqualityOperator; + +// see: https://tc39.github.io/ecma262/#prod-BitwiseANDExpression +// see: https://tc39.github.io/ecma262/#prod-BitwiseXORExpression +// see: https://tc39.github.io/ecma262/#prod-BitwiseORExpression +export type BitwiseOperator = + | SyntaxKind.AmpersandToken + | SyntaxKind.BarToken + | SyntaxKind.CaretToken; + +// see: https://tc39.github.io/ecma262/#prod-BitwiseANDExpression +// see: https://tc39.github.io/ecma262/#prod-BitwiseXORExpression +// see: https://tc39.github.io/ecma262/#prod-BitwiseORExpression +export type BitwiseOperatorOrHigher = + | EqualityOperatorOrHigher + | BitwiseOperator; + +// see: https://tc39.github.io/ecma262/#prod-LogicalANDExpression +// see: https://tc39.github.io/ecma262/#prod-LogicalORExpression +export type LogicalOperator = + | SyntaxKind.AmpersandAmpersandToken + | SyntaxKind.BarBarToken; + +// see: https://tc39.github.io/ecma262/#prod-LogicalANDExpression +// see: https://tc39.github.io/ecma262/#prod-LogicalORExpression +export type LogicalOperatorOrHigher = + | BitwiseOperatorOrHigher + | LogicalOperator; + +// see: https://tc39.github.io/ecma262/#prod-AssignmentOperator +export type CompoundAssignmentOperator = + | SyntaxKind.PlusEqualsToken + | SyntaxKind.MinusEqualsToken + | SyntaxKind.AsteriskAsteriskEqualsToken + | SyntaxKind.AsteriskEqualsToken + | SyntaxKind.SlashEqualsToken + | SyntaxKind.PercentEqualsToken + | SyntaxKind.AmpersandEqualsToken + | SyntaxKind.BarEqualsToken + | SyntaxKind.CaretEqualsToken + | SyntaxKind.LessThanLessThanEqualsToken + | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken + | SyntaxKind.GreaterThanGreaterThanEqualsToken + | SyntaxKind.BarBarEqualsToken + | SyntaxKind.AmpersandAmpersandEqualsToken + | SyntaxKind.QuestionQuestionEqualsToken; + +// see: https://tc39.github.io/ecma262/#prod-AssignmentExpression +export type AssignmentOperator = + | SyntaxKind.EqualsToken + | CompoundAssignmentOperator; + +// see: https://tc39.github.io/ecma262/#prod-AssignmentExpression +export type AssignmentOperatorOrHigher = + | SyntaxKind.QuestionQuestionToken + | LogicalOperatorOrHigher + | AssignmentOperator; + +// see: https://tc39.github.io/ecma262/#prod-Expression +export type BinaryOperator = + | AssignmentOperatorOrHigher + | SyntaxKind.CommaToken; + +export type LogicalOrCoalescingAssignmentOperator = + | SyntaxKind.AmpersandAmpersandEqualsToken + | SyntaxKind.BarBarEqualsToken + | SyntaxKind.QuestionQuestionEqualsToken; + +export type BinaryOperatorToken = Token; + +export interface BinaryExpression extends Expression, Declaration { + readonly kind: SyntaxKind.BinaryExpression; + readonly left: Expression; + readonly operatorToken: BinaryOperatorToken; + readonly right: Expression; +} + +export type AssignmentOperatorToken = Token; + +export interface AssignmentExpression extends BinaryExpression { + readonly left: LeftHandSideExpression; + readonly operatorToken: TOperator; +} + +export interface ObjectDestructuringAssignment extends AssignmentExpression { + readonly left: ObjectLiteralExpression; +} + +export interface ArrayDestructuringAssignment extends AssignmentExpression { + readonly left: ArrayLiteralExpression; +} + +export type DestructuringAssignment = + | ObjectDestructuringAssignment + | ArrayDestructuringAssignment; + +export type BindingOrAssignmentElement = + | VariableDeclaration + | ParameterDeclaration + | ObjectBindingOrAssignmentElement + | ArrayBindingOrAssignmentElement; + +export type ObjectBindingOrAssignmentElement = + | BindingElement + | PropertyAssignment // AssignmentProperty + | ShorthandPropertyAssignment // AssignmentProperty + | SpreadAssignment // AssignmentRestProperty +; + +/** @internal @knipignore */ +export type ObjectAssignmentElement = Exclude; + +export type ArrayBindingOrAssignmentElement = + | BindingElement + | OmittedExpression // Elision + | SpreadElement // AssignmentRestElement + | ArrayLiteralExpression // ArrayAssignmentPattern + | ObjectLiteralExpression // ObjectAssignmentPattern + | AssignmentExpression // AssignmentElement + | Identifier // DestructuringAssignmentTarget + | PropertyAccessExpression // DestructuringAssignmentTarget + | ElementAccessExpression // DestructuringAssignmentTarget +; + +export type BindingOrAssignmentElementRestIndicator = + | DotDotDotToken // from BindingElement + | SpreadElement // AssignmentRestElement + | SpreadAssignment // AssignmentRestProperty +; + +export type BindingOrAssignmentElementTarget = + | BindingOrAssignmentPattern + | Identifier + | PropertyAccessExpression + | ElementAccessExpression + | OmittedExpression; + +/** @internal @knipignore */ +export type AssignmentElementTarget = Exclude; + +export type ObjectBindingOrAssignmentPattern = + | ObjectBindingPattern + | ObjectLiteralExpression // ObjectAssignmentPattern +; + +export type ArrayBindingOrAssignmentPattern = + | ArrayBindingPattern + | ArrayLiteralExpression // ArrayAssignmentPattern +; + +export type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; + +export type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; + +export interface ConditionalExpression extends Expression { + readonly kind: SyntaxKind.ConditionalExpression; + readonly condition: Expression; + readonly questionToken: QuestionToken; + readonly whenTrue: Expression; + readonly colonToken: ColonToken; + readonly whenFalse: Expression; +} + +export type FunctionBody = Block; +export type ConciseBody = FunctionBody | Expression; + +export interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase { + readonly kind: SyntaxKind.FunctionExpression; + readonly modifiers?: NodeArray; + readonly name?: Identifier; + readonly body: FunctionBody; // Required, whereas the member inherited from FunctionDeclaration is optional +} + +export interface ArrowFunction extends Expression, FunctionLikeDeclarationBase { + readonly kind: SyntaxKind.ArrowFunction; + readonly modifiers?: NodeArray; + readonly equalsGreaterThanToken: EqualsGreaterThanToken; + readonly body: ConciseBody; + readonly name: never; +} + +// The text property of a LiteralExpression stores the interpreted value of the literal in text form. For a StringLiteral, +// or any literal of a template, this means quotes have been removed and escapes have been converted to actual characters. +// For a NumericLiteral, the stored value is the toString() representation of the number. For example 1, 1.00, and 1e0 are all stored as just "1". +export interface LiteralLikeNode extends Node { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; +} + +export interface TemplateLiteralLikeNode extends LiteralLikeNode { + rawText?: string; + /** @internal */ + templateFlags?: TokenFlags; +} + +// The text property of a LiteralExpression stores the interpreted value of the literal in text form. For a StringLiteral, +// or any literal of a template, this means quotes have been removed and escapes have been converted to actual characters. +// For a NumericLiteral, the stored value is the toString() representation of the number. For example 1, 1.00, and 1e0 are all stored as just "1". +export interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { + _literalExpressionBrand: any; +} + +export interface RegularExpressionLiteral extends LiteralExpression { + readonly kind: SyntaxKind.RegularExpressionLiteral; +} + +// dprint-ignore + +export interface NoSubstitutionTemplateLiteral extends LiteralExpression, TemplateLiteralLikeNode, Declaration { + readonly kind: SyntaxKind.NoSubstitutionTemplateLiteral; + /** @internal */ + templateFlags?: TokenFlags; +} + +// dprint-ignore +export const enum TokenFlags { + None = 0, + /** @internal */ + PrecedingLineBreak = 1 << 0, + /** @internal */ + PrecedingJSDocComment = 1 << 1, + /** @internal */ + Unterminated = 1 << 2, + /** @internal */ + ExtendedUnicodeEscape = 1 << 3, // e.g. `\u{10ffff}` + Scientific = 1 << 4, // e.g. `10e2` + Octal = 1 << 5, // e.g. `0777` + HexSpecifier = 1 << 6, // e.g. `0x00000000` + BinarySpecifier = 1 << 7, // e.g. `0b0110010000000000` + OctalSpecifier = 1 << 8, // e.g. `0o777` + /** @internal */ + ContainsSeparator = 1 << 9, // e.g. `0b1100_0101` + /** @internal */ + UnicodeEscape = 1 << 10, // e.g. `\u00a0` + /** @internal */ + ContainsInvalidEscape = 1 << 11, // e.g. `\uhello` + /** @internal */ + HexEscape = 1 << 12, // e.g. `\xa0` + /** @internal */ + ContainsLeadingZero = 1 << 13, // e.g. `0888` + /** @internal */ + ContainsInvalidSeparator = 1 << 14, // e.g. `0_1` + /** @internal */ + PrecedingJSDocLeadingAsterisks = 1 << 15, + /** @internal */ + BinaryOrOctalSpecifier = BinarySpecifier | OctalSpecifier, + /** @internal */ + WithSpecifier = HexSpecifier | BinaryOrOctalSpecifier, + /** @internal */ + StringLiteralFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, + /** @internal */ + NumericLiteralFlags = Scientific | Octal | ContainsLeadingZero | WithSpecifier | ContainsSeparator | ContainsInvalidSeparator, + /** @internal */ + TemplateLiteralLikeFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, + /** @internal */ + IsInvalid = Octal | ContainsLeadingZero | ContainsInvalidSeparator | ContainsInvalidEscape, +} + +export interface NumericLiteral extends LiteralExpression, Declaration { + readonly kind: SyntaxKind.NumericLiteral; + /** @internal */ + readonly numericLiteralFlags: TokenFlags; +} + +export interface BigIntLiteral extends LiteralExpression { + readonly kind: SyntaxKind.BigIntLiteral; +} + +export type LiteralToken = + | NumericLiteral + | BigIntLiteral + | StringLiteral + | JsxText + | RegularExpressionLiteral + | NoSubstitutionTemplateLiteral; + +export interface TemplateHead extends TemplateLiteralLikeNode { + readonly kind: SyntaxKind.TemplateHead; + readonly parent: TemplateExpression | TemplateLiteralTypeNode; + /** @internal */ + templateFlags?: TokenFlags; +} + +export interface TemplateMiddle extends TemplateLiteralLikeNode { + readonly kind: SyntaxKind.TemplateMiddle; + readonly parent: TemplateSpan | TemplateLiteralTypeSpan; + /** @internal */ + templateFlags?: TokenFlags; +} + +export interface TemplateTail extends TemplateLiteralLikeNode { + readonly kind: SyntaxKind.TemplateTail; + readonly parent: TemplateSpan | TemplateLiteralTypeSpan; + /** @internal */ + templateFlags?: TokenFlags; +} + +export type PseudoLiteralToken = + | TemplateHead + | TemplateMiddle + | TemplateTail; + +export type TemplateLiteralToken = + | NoSubstitutionTemplateLiteral + | PseudoLiteralToken; + +export interface TemplateExpression extends PrimaryExpression { + readonly kind: SyntaxKind.TemplateExpression; + readonly head: TemplateHead; + readonly templateSpans: NodeArray; +} + +export type TemplateLiteral = + | TemplateExpression + | NoSubstitutionTemplateLiteral; + +// Each of these corresponds to a substitution expression and a template literal, in that order. +// The template literal must have kind TemplateMiddleLiteral or TemplateTailLiteral. +export interface TemplateSpan extends Node { + readonly kind: SyntaxKind.TemplateSpan; + readonly parent: TemplateExpression; + readonly expression: Expression; + readonly literal: TemplateMiddle | TemplateTail; +} + +export interface ParenthesizedExpression extends PrimaryExpression { + readonly kind: SyntaxKind.ParenthesizedExpression; + readonly expression: Expression; +} + +export interface ArrayLiteralExpression extends PrimaryExpression { + readonly kind: SyntaxKind.ArrayLiteralExpression; + readonly elements: NodeArray; + /** @internal */ + multiLine?: boolean; +} + +export interface SpreadElement extends Expression { + readonly kind: SyntaxKind.SpreadElement; + readonly parent: ArrayLiteralExpression | CallExpression | NewExpression; + readonly expression: Expression; +} + +/** + * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to + * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be + * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type + * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) + */ +export interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { + readonly properties: NodeArray; +} + +// An ObjectLiteralExpression is the declaration node for an anonymous symbol. +export interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { + readonly kind: SyntaxKind.ObjectLiteralExpression; + /** @internal */ + multiLine?: boolean; +} + +export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; +export type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; +export type AccessExpression = PropertyAccessExpression | ElementAccessExpression; + +export interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { + readonly kind: SyntaxKind.PropertyAccessExpression; + readonly expression: LeftHandSideExpression; + readonly questionDotToken?: QuestionDotToken; + readonly name: MemberName; +} + +export interface PropertyAccessChain extends PropertyAccessExpression { + _optionalChainBrand: any; + readonly name: MemberName; +} + +export interface SuperPropertyAccessExpression extends PropertyAccessExpression { + readonly expression: SuperExpression; +} + +/** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ +export interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + readonly expression: EntityNameExpression; + readonly name: Identifier; +} + +export interface ElementAccessExpression extends MemberExpression, Declaration { + readonly kind: SyntaxKind.ElementAccessExpression; + readonly expression: LeftHandSideExpression; + readonly questionDotToken?: QuestionDotToken; + readonly argumentExpression: Expression; +} + +export interface ElementAccessChain extends ElementAccessExpression { + _optionalChainBrand: any; +} + +export interface SuperElementAccessExpression extends ElementAccessExpression { + readonly expression: SuperExpression; +} + +// see: https://tc39.github.io/ecma262/#prod-SuperProperty +export type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; + +export interface CallExpression extends LeftHandSideExpression, Declaration { + readonly kind: SyntaxKind.CallExpression; + readonly expression: LeftHandSideExpression; + readonly questionDotToken?: QuestionDotToken; + readonly typeArguments?: NodeArray; + readonly arguments: NodeArray; +} + +export interface CallChain extends CallExpression { + _optionalChainBrand: any; +} + +export type OptionalChain = + | PropertyAccessChain + | ElementAccessChain + | CallChain + | NonNullChain; + +// see: https://tc39.github.io/ecma262/#prod-SuperCall +export interface SuperCall extends CallExpression { + readonly expression: SuperExpression; +} + +export interface ImportCall extends CallExpression { + readonly expression: ImportExpression; +} + +export interface ExpressionWithTypeArguments extends MemberExpression, NodeWithTypeArguments { + readonly kind: SyntaxKind.ExpressionWithTypeArguments; + readonly expression: LeftHandSideExpression; +} + +export interface NewExpression extends PrimaryExpression, Declaration { + readonly kind: SyntaxKind.NewExpression; + readonly expression: LeftHandSideExpression; + readonly typeArguments?: NodeArray; + readonly arguments?: NodeArray; +} + +export interface TaggedTemplateExpression extends MemberExpression { + readonly kind: SyntaxKind.TaggedTemplateExpression; + readonly tag: LeftHandSideExpression; + readonly typeArguments?: NodeArray; + readonly template: TemplateLiteral; + /** @internal */ questionDotToken?: QuestionDotToken; // NOTE: Invalid syntax, only used to report a grammar error. +} + +export interface InstanceofExpression extends BinaryExpression { + readonly operatorToken: Token; +} + +export type CallLikeExpression = + | CallExpression + | NewExpression + | TaggedTemplateExpression + | Decorator + | JsxOpeningLikeElement + | InstanceofExpression; + +export interface AsExpression extends Expression { + readonly kind: SyntaxKind.AsExpression; + readonly expression: Expression; + readonly type: TypeNode; +} + +export interface TypeAssertion extends UnaryExpression { + readonly kind: SyntaxKind.TypeAssertionExpression; + readonly type: TypeNode; + readonly expression: UnaryExpression; +} + +export interface SatisfiesExpression extends Expression { + readonly kind: SyntaxKind.SatisfiesExpression; + readonly expression: Expression; + readonly type: TypeNode; +} + +export type AssertionExpression = + | TypeAssertion + | AsExpression; + +export interface NonNullExpression extends LeftHandSideExpression { + readonly kind: SyntaxKind.NonNullExpression; + readonly expression: Expression; +} + +export interface NonNullChain extends NonNullExpression { + _optionalChainBrand: any; +} + +// NOTE: MetaProperty is really a MemberExpression, but we consider it a PrimaryExpression +// for the same reasons we treat NewExpression as a PrimaryExpression. +export interface MetaProperty extends PrimaryExpression { + readonly kind: SyntaxKind.MetaProperty; + readonly keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; + readonly name: Identifier; +} + +/// A JSX expression of the form ... +export interface JsxElement extends PrimaryExpression { + readonly kind: SyntaxKind.JsxElement; + readonly openingElement: JsxOpeningElement; + readonly children: NodeArray; + readonly closingElement: JsxClosingElement; +} + +/// Either the opening tag in a ... pair or the lone in a self-closing form +export type JsxOpeningLikeElement = + | JsxSelfClosingElement + | JsxOpeningElement; + +export type JsxAttributeLike = + | JsxAttribute + | JsxSpreadAttribute; + +export type JsxAttributeName = + | Identifier + | JsxNamespacedName; + +export type JsxTagNameExpression = + | Identifier + | ThisExpression + | JsxTagNamePropertyAccess + | JsxNamespacedName; + +export interface JsxTagNamePropertyAccess extends PropertyAccessExpression { + readonly expression: Identifier | ThisExpression | JsxTagNamePropertyAccess; +} + +export interface JsxAttributes extends PrimaryExpression, Declaration { + readonly properties: NodeArray; + readonly kind: SyntaxKind.JsxAttributes; + readonly parent: JsxOpeningLikeElement; +} + +export interface JsxNamespacedName extends Node { + readonly kind: SyntaxKind.JsxNamespacedName; + readonly name: Identifier; + readonly namespace: Identifier; +} + +/// The opening element of a ... JsxElement +export interface JsxOpeningElement extends Expression { + readonly kind: SyntaxKind.JsxOpeningElement; + readonly parent: JsxElement; + readonly tagName: JsxTagNameExpression; + readonly typeArguments?: NodeArray; + readonly attributes: JsxAttributes; +} + +/// A JSX expression of the form +export interface JsxSelfClosingElement extends PrimaryExpression { + readonly kind: SyntaxKind.JsxSelfClosingElement; + readonly tagName: JsxTagNameExpression; + readonly typeArguments?: NodeArray; + readonly attributes: JsxAttributes; +} + +/// A JSX expression of the form <>... +export interface JsxFragment extends PrimaryExpression { + readonly kind: SyntaxKind.JsxFragment; + readonly openingFragment: JsxOpeningFragment; + readonly children: NodeArray; + readonly closingFragment: JsxClosingFragment; +} + +/// The opening element of a <>... JsxFragment +export interface JsxOpeningFragment extends Expression { + readonly kind: SyntaxKind.JsxOpeningFragment; + readonly parent: JsxFragment; +} + +/// The closing element of a <>... JsxFragment +export interface JsxClosingFragment extends Expression { + readonly kind: SyntaxKind.JsxClosingFragment; + readonly parent: JsxFragment; +} + +export interface JsxAttribute extends Declaration { + readonly kind: SyntaxKind.JsxAttribute; + readonly parent: JsxAttributes; + readonly name: JsxAttributeName; + /// JSX attribute initializers are optional; is sugar for + readonly initializer?: JsxAttributeValue; +} + +export type JsxAttributeValue = + | StringLiteral + | JsxExpression + | JsxElement + | JsxSelfClosingElement + | JsxFragment; + +export interface JsxSpreadAttribute extends ObjectLiteralElement { + readonly kind: SyntaxKind.JsxSpreadAttribute; + readonly parent: JsxAttributes; + readonly expression: Expression; +} + +export interface JsxClosingElement extends Node { + readonly kind: SyntaxKind.JsxClosingElement; + readonly parent: JsxElement; + readonly tagName: JsxTagNameExpression; +} + +export interface JsxExpression extends Expression { + readonly kind: SyntaxKind.JsxExpression; + readonly parent: JsxElement | JsxFragment | JsxAttributeLike; + readonly dotDotDotToken?: Token; + readonly expression?: Expression; +} + +export interface JsxText extends LiteralLikeNode { + readonly kind: SyntaxKind.JsxText; + readonly parent: JsxElement | JsxFragment; + readonly containsOnlyTriviaWhiteSpaces: boolean; +} + +export type JsxChild = + | JsxText + | JsxExpression + | JsxElement + | JsxSelfClosingElement + | JsxFragment; + +export interface Statement extends Node { + _statementBrand: any; +} + +/** + * A list of comma-separated expressions. This node is only created by transformations. + */ +export interface CommaListExpression extends Expression { + readonly kind: SyntaxKind.CommaListExpression; + readonly elements: NodeArray; +} + +export interface EmptyStatement extends Statement { + readonly kind: SyntaxKind.EmptyStatement; +} + +export interface DebuggerStatement extends Statement { + readonly kind: SyntaxKind.DebuggerStatement; +} + +export interface Block extends Statement { + readonly kind: SyntaxKind.Block; + readonly statements: NodeArray; + /** @internal */ multiLine?: boolean; +} + +export interface VariableStatement extends Statement { + readonly kind: SyntaxKind.VariableStatement; + readonly modifiers?: NodeArray; + readonly declarationList: VariableDeclarationList; +} + +export interface ExpressionStatement extends Statement { + readonly kind: SyntaxKind.ExpressionStatement; + readonly expression: Expression; +} + +export interface IfStatement extends Statement { + readonly kind: SyntaxKind.IfStatement; + readonly expression: Expression; + readonly thenStatement: Statement; + readonly elseStatement?: Statement; +} + +export interface IterationStatement extends Statement { + readonly statement: Statement; +} + +export interface DoStatement extends IterationStatement { + readonly kind: SyntaxKind.DoStatement; + readonly expression: Expression; +} + +export interface WhileStatement extends IterationStatement { + readonly kind: SyntaxKind.WhileStatement; + readonly expression: Expression; +} + +export type ForInitializer = + | VariableDeclarationList + | Expression; + +export interface ForStatement extends IterationStatement { + readonly kind: SyntaxKind.ForStatement; + readonly initializer?: ForInitializer; + readonly condition?: Expression; + readonly incrementor?: Expression; +} + +export type ForInOrOfStatement = + | ForInStatement + | ForOfStatement; + +export interface ForInStatement extends IterationStatement { + readonly kind: SyntaxKind.ForInStatement; + readonly initializer: ForInitializer; + readonly expression: Expression; +} + +export interface ForOfStatement extends IterationStatement { + readonly kind: SyntaxKind.ForOfStatement; + readonly awaitModifier?: AwaitKeyword; + readonly initializer: ForInitializer; + readonly expression: Expression; +} + +export interface BreakStatement extends Statement { + readonly kind: SyntaxKind.BreakStatement; + readonly label?: Identifier; +} + +export interface ContinueStatement extends Statement { + readonly kind: SyntaxKind.ContinueStatement; + readonly label?: Identifier; +} + +export type BreakOrContinueStatement = + | BreakStatement + | ContinueStatement; + +export interface ReturnStatement extends Statement { + readonly kind: SyntaxKind.ReturnStatement; + readonly expression?: Expression; +} + +export interface WithStatement extends Statement { + readonly kind: SyntaxKind.WithStatement; + readonly expression: Expression; + readonly statement: Statement; +} + +export interface SwitchStatement extends Statement { + readonly kind: SyntaxKind.SwitchStatement; + readonly expression: Expression; + readonly caseBlock: CaseBlock; + possiblyExhaustive?: boolean; // initialized by binding +} + +export interface CaseBlock extends Node { + readonly kind: SyntaxKind.CaseBlock; + readonly parent: SwitchStatement; + readonly clauses: NodeArray; +} + +export interface CaseClause extends Node { + readonly kind: SyntaxKind.CaseClause; + readonly parent: CaseBlock; + readonly expression: Expression; + readonly statements: NodeArray; +} + +export interface DefaultClause extends Node { + readonly kind: SyntaxKind.DefaultClause; + readonly parent: CaseBlock; + readonly statements: NodeArray; +} + +export type CaseOrDefaultClause = + | CaseClause + | DefaultClause; + +export interface LabeledStatement extends Statement { + readonly kind: SyntaxKind.LabeledStatement; + readonly label: Identifier; + readonly statement: Statement; +} + +export interface ThrowStatement extends Statement { + readonly kind: SyntaxKind.ThrowStatement; + readonly expression: Expression; +} + +export interface TryStatement extends Statement { + readonly kind: SyntaxKind.TryStatement; + readonly tryBlock: Block; + readonly catchClause?: CatchClause; + readonly finallyBlock?: Block; +} + +export interface CatchClause extends Node { + readonly kind: SyntaxKind.CatchClause; + readonly parent: TryStatement; + readonly variableDeclaration?: VariableDeclaration; + readonly block: Block; +} + +export type ObjectTypeDeclaration = + | ClassLikeDeclaration + | InterfaceDeclaration + | TypeLiteralNode; + +export type DeclarationWithTypeParameters = + | DeclarationWithTypeParameterChildren + | JSDocTypedefTag + | JSDocCallbackTag + | JSDocSignature; + +export type DeclarationWithTypeParameterChildren = + | SignatureDeclaration + | ClassLikeDeclaration + | InterfaceDeclaration + | TypeAliasDeclaration + | JSDocTemplateTag; + +export interface ClassLikeDeclarationBase extends NamedDeclaration { + readonly kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; + readonly name?: Identifier; + readonly typeParameters?: NodeArray; + readonly heritageClauses?: NodeArray; + readonly members: NodeArray; +} + +export interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { + readonly kind: SyntaxKind.ClassDeclaration; + readonly modifiers?: NodeArray; + /** May be undefined in `export default class { ... }`. */ + readonly name?: Identifier; +} + +export interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { + readonly kind: SyntaxKind.ClassExpression; + readonly modifiers?: NodeArray; +} + +export type ClassLikeDeclaration = + | ClassDeclaration + | ClassExpression; + +export interface ClassElement extends NamedDeclaration { + _classElementBrand: any; + readonly name?: PropertyName; +} + +export interface TypeElement extends NamedDeclaration { + _typeElementBrand: any; + readonly name?: PropertyName; + readonly questionToken?: QuestionToken | undefined; +} + +export interface InterfaceDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: Identifier; + readonly typeParameters?: NodeArray; + readonly heritageClauses?: NodeArray; + readonly members: NodeArray; +} + +export interface HeritageClause extends Node { + readonly kind: SyntaxKind.HeritageClause; + readonly parent: InterfaceDeclaration | ClassLikeDeclaration; + readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; + readonly types: NodeArray; +} + +export interface TypeAliasDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.TypeAliasDeclaration; + readonly modifiers?: NodeArray; + readonly name: Identifier; + readonly typeParameters?: NodeArray; + readonly type: TypeNode; +} + +export interface EnumMember extends NamedDeclaration { + readonly kind: SyntaxKind.EnumMember; + readonly parent: EnumDeclaration; + // This does include ComputedPropertyName, but the parser will give an error + // if it parses a ComputedPropertyName in an EnumMember + readonly name: PropertyName; + readonly initializer?: Expression; +} + +export interface EnumDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.EnumDeclaration; + readonly modifiers?: NodeArray; + readonly name: Identifier; + readonly members: NodeArray; +} + +export type ModuleName = + | Identifier + | StringLiteral; + +export type ModuleBody = + | NamespaceBody + | JSDocNamespaceBody; + +export interface ModuleDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.ModuleDeclaration; + readonly parent: ModuleBody | SourceFile; + readonly modifiers?: NodeArray; + readonly name: ModuleName; + readonly body?: ModuleBody | JSDocNamespaceDeclaration; +} + +export type NamespaceBody = + | ModuleBlock + | NamespaceDeclaration; + +export interface NamespaceDeclaration extends ModuleDeclaration { + readonly name: Identifier; + readonly body: NamespaceBody; +} + +export type JSDocNamespaceBody = + | Identifier + | JSDocNamespaceDeclaration; + +export interface JSDocNamespaceDeclaration extends ModuleDeclaration { + readonly name: Identifier; + readonly body?: JSDocNamespaceBody; +} + +export interface ModuleBlock extends Node, Statement { + readonly kind: SyntaxKind.ModuleBlock; + readonly parent: ModuleDeclaration; + readonly statements: NodeArray; +} + +export type ModuleReference = + | EntityName + | ExternalModuleReference; + +/** + * One of: + * - import x = require("mod"); + * - import x = M.x; + */ +export interface ImportEqualsDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.ImportEqualsDeclaration; + readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; + readonly name: Identifier; + readonly isTypeOnly: boolean; + + // 'EntityName' for an internal module reference, 'ExternalModuleReference' for an external + // module reference. + readonly moduleReference: ModuleReference; +} + +export interface ExternalModuleReference extends Node { + readonly kind: SyntaxKind.ExternalModuleReference; + readonly parent: ImportEqualsDeclaration; + readonly expression: Expression; +} + +// In case of: +// import "mod" => importClause = undefined, moduleSpecifier = "mod" +// In rest of the cases, module specifier is string literal corresponding to module +// ImportClause information is shown at its declaration below. +export interface ImportDeclaration extends Statement { + readonly kind: SyntaxKind.ImportDeclaration; + readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; + readonly importClause?: ImportClause; + /** If this is not a StringLiteral it will be a grammar error. */ + readonly moduleSpecifier: Expression; + /** @deprecated */ readonly assertClause?: AssertClause; + readonly attributes?: ImportAttributes; +} + +export type NamedImportBindings = + | NamespaceImport + | NamedImports; + +export type NamedExportBindings = + | NamespaceExport + | NamedExports; + +// In case of: +// import d from "mod" => name = d, namedBinding = undefined +// import * as ns from "mod" => name = undefined, namedBinding: NamespaceImport = { name: ns } +// import d, * as ns from "mod" => name = d, namedBinding: NamespaceImport = { name: ns } +// import { a, b as x } from "mod" => name = undefined, namedBinding: NamedImports = { elements: [{ name: a }, { name: x, propertyName: b}]} +// import d, { a, b as x } from "mod" => name = d, namedBinding: NamedImports = { elements: [{ name: a }, { name: x, propertyName: b}]} +export interface ImportClause extends NamedDeclaration { + readonly kind: SyntaxKind.ImportClause; + readonly parent: ImportDeclaration | JSDocImportTag; + readonly isTypeOnly: boolean; + readonly name?: Identifier; // Default binding + readonly namedBindings?: NamedImportBindings; +} + +/** @deprecated */ +export type AssertionKey = ImportAttributeName; + +/** @deprecated */ +export interface AssertEntry extends ImportAttribute {} + +/** @deprecated */ +export interface AssertClause extends ImportAttributes {} + +export type ImportAttributeName = Identifier | StringLiteral; + +export interface ImportAttribute extends Node { + readonly kind: SyntaxKind.ImportAttribute; + readonly parent: ImportAttributes; + readonly name: ImportAttributeName; + readonly value: Expression; +} + +export interface ImportAttributes extends Node { + readonly token: SyntaxKind.WithKeyword | SyntaxKind.AssertKeyword; + readonly kind: SyntaxKind.ImportAttributes; + readonly parent: ImportDeclaration | ExportDeclaration; + readonly elements: NodeArray; + readonly multiLine?: boolean; +} + +export interface NamespaceImport extends NamedDeclaration { + readonly kind: SyntaxKind.NamespaceImport; + readonly parent: ImportClause; + readonly name: Identifier; +} + +export interface NamespaceExport extends NamedDeclaration { + readonly kind: SyntaxKind.NamespaceExport; + readonly parent: ExportDeclaration; + readonly name: ModuleExportName; +} + +export interface NamespaceExportDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.NamespaceExportDeclaration; + readonly name: Identifier; + + // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) + /** @internal */ readonly modifiers?: NodeArray | undefined; +} + +export interface ExportDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.ExportDeclaration; + readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; + readonly isTypeOnly: boolean; + /** Will not be assigned in the case of `export * from "foo";` */ + readonly exportClause?: NamedExportBindings; + /** If this is not a StringLiteral it will be a grammar error. */ + readonly moduleSpecifier?: Expression; + /** @deprecated */ readonly assertClause?: AssertClause; + readonly attributes?: ImportAttributes; +} + +export interface NamedImports extends Node { + readonly kind: SyntaxKind.NamedImports; + readonly parent: ImportClause; + readonly elements: NodeArray; +} + +export interface NamedExports extends Node { + readonly kind: SyntaxKind.NamedExports; + readonly parent: ExportDeclaration; + readonly elements: NodeArray; +} + +export type NamedImportsOrExports = NamedImports | NamedExports; + +export interface ImportSpecifier extends NamedDeclaration { + readonly kind: SyntaxKind.ImportSpecifier; + readonly parent: NamedImports; + readonly propertyName?: ModuleExportName; // Name preceding "as" keyword (or undefined when "as" is absent) + readonly name: Identifier; // Declared name + readonly isTypeOnly: boolean; +} + +export interface ExportSpecifier extends NamedDeclaration { + readonly kind: SyntaxKind.ExportSpecifier; + readonly parent: NamedExports; + readonly isTypeOnly: boolean; + readonly propertyName?: ModuleExportName; // Name preceding "as" keyword (or undefined when "as" is absent) + readonly name: ModuleExportName; // Declared name +} + +export type ModuleExportName = Identifier | StringLiteral; + +export type ImportOrExportSpecifier = + | ImportSpecifier + | ExportSpecifier; + +export type TypeOnlyCompatibleAliasDeclaration = + | ImportClause + | ImportEqualsDeclaration + | NamespaceImport + | ImportOrExportSpecifier + | ExportDeclaration + | NamespaceExport; + +export type TypeOnlyImportDeclaration = + | ImportClause & { readonly isTypeOnly: true; readonly name: Identifier; } + | ImportEqualsDeclaration & { readonly isTypeOnly: true; } + | NamespaceImport & { readonly parent: ImportClause & { readonly isTypeOnly: true; }; } + | ImportSpecifier & ({ readonly isTypeOnly: true; } | { readonly parent: NamedImports & { readonly parent: ImportClause & { readonly isTypeOnly: true; }; }; }); + +export type TypeOnlyExportDeclaration = + | ExportSpecifier & ({ readonly isTypeOnly: true; } | { readonly parent: NamedExports & { readonly parent: ExportDeclaration & { readonly isTypeOnly: true; }; }; }) + | ExportDeclaration & { readonly isTypeOnly: true; readonly moduleSpecifier: Expression; } // export * from "mod" + | NamespaceExport & { readonly parent: ExportDeclaration & { readonly isTypeOnly: true; readonly moduleSpecifier: Expression; }; } // export * as ns from "mod" +; + +export type TypeOnlyAliasDeclaration = TypeOnlyImportDeclaration | TypeOnlyExportDeclaration; + +/** + * This is either an `export =` or an `export default` declaration. + * Unless `isExportEquals` is set, this node was parsed as an `export default`. + */ +export interface ExportAssignment extends DeclarationStatement { + readonly kind: SyntaxKind.ExportAssignment; + readonly parent: SourceFile; + readonly modifiers?: NodeArray; + readonly isExportEquals?: boolean; + readonly expression: Expression; +} + +// represents a top level: { type } expression in a JSDoc comment. +export interface JSDocTypeExpression extends TypeNode { + readonly kind: SyntaxKind.JSDocTypeExpression; + readonly type: TypeNode; +} + +export interface JSDocNameReference extends Node { + readonly kind: SyntaxKind.JSDocNameReference; + readonly name: EntityName | JSDocMemberName; +} + +/** Class#method reference in JSDoc */ +export interface JSDocMemberName extends Node { + readonly kind: SyntaxKind.JSDocMemberName; + readonly left: EntityName | JSDocMemberName; + readonly right: Identifier; +} + +export interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; +} + +export interface JSDocAllType extends JSDocType { + readonly kind: SyntaxKind.JSDocAllType; +} + +export interface JSDocNonNullableType extends JSDocType { + readonly kind: SyntaxKind.JSDocNonNullableType; + readonly type: TypeNode; + readonly postfix: boolean; +} + +export interface JSDocNullableType extends JSDocType { + readonly kind: SyntaxKind.JSDocNullableType; + readonly type: TypeNode; + readonly postfix: boolean; +} + +export interface JSDocOptionalType extends JSDocType { + readonly kind: SyntaxKind.JSDocOptionalType; + readonly type: TypeNode; +} + +export interface JSDocVariadicType extends JSDocType { + readonly kind: SyntaxKind.JSDocVariadicType; + readonly type: TypeNode; +} + +export type JSDocTypeReferencingNode = + | JSDocVariadicType + | JSDocOptionalType + | JSDocNullableType + | JSDocNonNullableType; + +export interface JSDoc extends Node { + readonly kind: SyntaxKind.JSDoc; + readonly parent: HasJSDoc; + readonly tags?: NodeArray; + readonly comment?: string | NodeArray; +} + +export interface JSDocTag extends Node { + readonly parent: JSDoc | JSDocTypeLiteral; + readonly tagName: Identifier; + readonly comment?: string | NodeArray; +} + +export interface JSDocLink extends Node { + readonly kind: SyntaxKind.JSDocLink; + readonly name?: EntityName | JSDocMemberName; + text: string; +} + +export interface JSDocLinkCode extends Node { + readonly kind: SyntaxKind.JSDocLinkCode; + readonly name?: EntityName | JSDocMemberName; + text: string; +} + +export interface JSDocLinkPlain extends Node { + readonly kind: SyntaxKind.JSDocLinkPlain; + readonly name?: EntityName | JSDocMemberName; + text: string; +} + +export type JSDocComment = JSDocText | JSDocLink | JSDocLinkCode | JSDocLinkPlain; + +export interface JSDocText extends Node { + readonly kind: SyntaxKind.JSDocText; + text: string; +} + +export interface JSDocUnknownTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocTag; +} + +/** + * Note that `@extends` is a synonym of `@augments`. + * Both tags are represented by this interface. + */ +export interface JSDocAugmentsTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocAugmentsTag; + readonly class: ExpressionWithTypeArguments & { readonly expression: Identifier | PropertyAccessEntityNameExpression; }; +} + +export interface JSDocImplementsTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocImplementsTag; + readonly class: ExpressionWithTypeArguments & { readonly expression: Identifier | PropertyAccessEntityNameExpression; }; +} + +export interface JSDocDeprecatedTag extends JSDocTag { + kind: SyntaxKind.JSDocDeprecatedTag; +} + +export interface JSDocPublicTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocPublicTag; +} + +export interface JSDocPrivateTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocPrivateTag; +} + +export interface JSDocProtectedTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocProtectedTag; +} + +export interface JSDocReadonlyTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocReadonlyTag; +} + +export interface JSDocOverrideTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocOverrideTag; +} + +export interface JSDocThisTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocThisTag; + readonly typeExpression: JSDocTypeExpression; +} + +export interface JSDocTemplateTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocTemplateTag; + readonly constraint: JSDocTypeExpression | undefined; + readonly typeParameters: NodeArray; +} + +export interface JSDocSeeTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocSeeTag; + readonly name?: JSDocNameReference; +} + +export interface JSDocReturnTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocReturnTag; + readonly typeExpression?: JSDocTypeExpression; +} + +export interface JSDocTypeTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocTypeTag; + readonly typeExpression: JSDocTypeExpression; +} + +export interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { + readonly kind: SyntaxKind.JSDocTypedefTag; + readonly parent: JSDoc; + readonly fullName?: JSDocNamespaceDeclaration | Identifier; + readonly name?: Identifier; + readonly typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; +} + +export interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { + readonly kind: SyntaxKind.JSDocCallbackTag; + readonly parent: JSDoc; + readonly fullName?: JSDocNamespaceDeclaration | Identifier; + readonly name?: Identifier; + readonly typeExpression: JSDocSignature; +} + +export interface JSDocOverloadTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocOverloadTag; + readonly parent: JSDoc; + readonly typeExpression: JSDocSignature; +} + +export interface JSDocSignature extends JSDocType, Declaration { + readonly kind: SyntaxKind.JSDocSignature; + readonly typeParameters?: readonly JSDocTemplateTag[]; + readonly parameters: readonly JSDocParameterTag[]; + readonly type: JSDocReturnTag | undefined; +} + +export interface JSDocPropertyLikeTag extends JSDocTag, Declaration { + readonly parent: JSDoc; + readonly name: EntityName; + readonly typeExpression?: JSDocTypeExpression; + /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ + readonly isNameFirst: boolean; + readonly isBracketed: boolean; +} + +export interface JSDocPropertyTag extends JSDocPropertyLikeTag { + readonly kind: SyntaxKind.JSDocPropertyTag; +} + +export interface JSDocParameterTag extends JSDocPropertyLikeTag { + readonly kind: SyntaxKind.JSDocParameterTag; +} + +export interface JSDocTypeLiteral extends JSDocType, Declaration { + readonly kind: SyntaxKind.JSDocTypeLiteral; + readonly jsDocPropertyTags?: readonly JSDocPropertyLikeTag[]; + /** If true, then this type literal represents an *array* of its type. */ + readonly isArrayType: boolean; +} + +export interface JSDocSatisfiesTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocSatisfiesTag; + readonly typeExpression: JSDocTypeExpression; +} + +export interface JSDocImportTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocImportTag; + readonly parent: JSDoc; + readonly importClause?: ImportClause; + readonly moduleSpecifier: Expression; + readonly attributes?: ImportAttributes; +} + +export type HasJSDoc = + | AccessorDeclaration + | ArrowFunction + | BinaryExpression + | Block + | BreakStatement + | CallSignatureDeclaration + | CaseClause + | ClassLikeDeclaration + | ClassStaticBlockDeclaration + | ConstructorDeclaration + | ConstructorTypeNode + | ConstructSignatureDeclaration + | ContinueStatement + | DebuggerStatement + | DoStatement + | ElementAccessExpression + | EmptyStatement + | EndOfFile + | EnumDeclaration + | EnumMember + | ExportAssignment + | ExportDeclaration + | ExportSpecifier + | ExpressionStatement + | ForInStatement + | ForOfStatement + | ForStatement + | FunctionDeclaration + | FunctionExpression + | FunctionTypeNode + | Identifier + | IfStatement + | ImportDeclaration + | ImportEqualsDeclaration + | IndexSignatureDeclaration + | InterfaceDeclaration + | JSDocSignature + | LabeledStatement + | MethodDeclaration + | MethodSignature + | ModuleDeclaration + | NamedTupleMember + | NamespaceExportDeclaration + | ObjectLiteralExpression + | ParameterDeclaration + | ParenthesizedExpression + | PropertyAccessExpression + | PropertyAssignment + | PropertyDeclaration + | PropertySignature + | ReturnStatement + | SemicolonClassElement + | ShorthandPropertyAssignment + | SpreadAssignment + | SwitchStatement + | ThrowStatement + | TryStatement + | TypeAliasDeclaration + | TypeParameterDeclaration + | VariableDeclaration + | VariableStatement + | WhileStatement + | WithStatement; diff --git a/_api/src/syntaxKind.ts b/_api/src/syntaxKind.ts index babd694af4..88376a8aa7 100644 --- a/_api/src/syntaxKind.ts +++ b/_api/src/syntaxKind.ts @@ -1,706 +1,352 @@ -export type SyntaxKind = number; -const syntaxKind = { - Unknown: 0, - EndOfFile: 1, - SingleLineCommentTrivia: 2, - MultiLineCommentTrivia: 3, - NewLineTrivia: 4, - WhitespaceTrivia: 5, - ConflictMarkerTrivia: 6, - NonTextFileMarkerTrivia: 7, - NumericLiteral: 8, - BigIntLiteral: 9, - StringLiteral: 10, - JsxText: 11, - JsxTextAllWhiteSpaces: 12, - RegularExpressionLiteral: 13, - NoSubstitutionTemplateLiteral: 14, - TemplateHead: 15, - TemplateMiddle: 16, - TemplateTail: 17, - OpenBraceToken: 18, - CloseBraceToken: 19, - OpenParenToken: 20, - CloseParenToken: 21, - OpenBracketToken: 22, - CloseBracketToken: 23, - DotToken: 24, - DotDotDotToken: 25, - SemicolonToken: 26, - CommaToken: 27, - QuestionDotToken: 28, - LessThanToken: 29, - LessThanSlashToken: 30, - GreaterThanToken: 31, - LessThanEqualsToken: 32, - GreaterThanEqualsToken: 33, - EqualsEqualsToken: 34, - ExclamationEqualsToken: 35, - EqualsEqualsEqualsToken: 36, - ExclamationEqualsEqualsToken: 37, - EqualsGreaterThanToken: 38, - PlusToken: 39, - MinusToken: 40, - AsteriskToken: 41, - AsteriskAsteriskToken: 42, - SlashToken: 43, - PercentToken: 44, - PlusPlusToken: 45, - MinusMinusToken: 46, - LessThanLessThanToken: 47, - GreaterThanGreaterThanToken: 48, - GreaterThanGreaterThanGreaterThanToken: 49, - AmpersandToken: 50, - BarToken: 51, - CaretToken: 52, - ExclamationToken: 53, - TildeToken: 54, - AmpersandAmpersandToken: 55, - BarBarToken: 56, - QuestionToken: 57, - ColonToken: 58, - AtToken: 59, - QuestionQuestionToken: 60, - BacktickToken: 61, - HashToken: 62, - EqualsToken: 63, - PlusEqualsToken: 64, - MinusEqualsToken: 65, - AsteriskEqualsToken: 66, - AsteriskAsteriskEqualsToken: 67, - SlashEqualsToken: 68, - PercentEqualsToken: 69, - LessThanLessThanEqualsToken: 70, - GreaterThanGreaterThanEqualsToken: 71, - GreaterThanGreaterThanGreaterThanEqualsToken: 72, - AmpersandEqualsToken: 73, - BarEqualsToken: 74, - BarBarEqualsToken: 75, - AmpersandAmpersandEqualsToken: 76, - QuestionQuestionEqualsToken: 77, - CaretEqualsToken: 78, - Identifier: 79, - PrivateIdentifier: 80, - JSDocCommentTextToken: 81, - BreakKeyword: 82, - CaseKeyword: 83, - CatchKeyword: 84, - ClassKeyword: 85, - ConstKeyword: 86, - ContinueKeyword: 87, - DebuggerKeyword: 88, - DefaultKeyword: 89, - DeleteKeyword: 90, - DoKeyword: 91, - ElseKeyword: 92, - EnumKeyword: 93, - ExportKeyword: 94, - ExtendsKeyword: 95, - FalseKeyword: 96, - FinallyKeyword: 97, - ForKeyword: 98, - FunctionKeyword: 99, - IfKeyword: 100, - ImportKeyword: 101, - InKeyword: 102, - InstanceOfKeyword: 103, - NewKeyword: 104, - NullKeyword: 105, - ReturnKeyword: 106, - SuperKeyword: 107, - SwitchKeyword: 108, - ThisKeyword: 109, - ThrowKeyword: 110, - TrueKeyword: 111, - TryKeyword: 112, - TypeOfKeyword: 113, - VarKeyword: 114, - VoidKeyword: 115, - WhileKeyword: 116, - WithKeyword: 117, - ImplementsKeyword: 118, - InterfaceKeyword: 119, - LetKeyword: 120, - PackageKeyword: 121, - PrivateKeyword: 122, - ProtectedKeyword: 123, - PublicKeyword: 124, - StaticKeyword: 125, - YieldKeyword: 126, - AbstractKeyword: 127, - AccessorKeyword: 128, - AsKeyword: 129, - AssertsKeyword: 130, - AssertKeyword: 131, - AnyKeyword: 132, - AsyncKeyword: 133, - AwaitKeyword: 134, - BooleanKeyword: 135, - ConstructorKeyword: 136, - DeclareKeyword: 137, - GetKeyword: 138, - ImmediateKeyword: 139, - InferKeyword: 140, - IntrinsicKeyword: 141, - IsKeyword: 142, - KeyOfKeyword: 143, - ModuleKeyword: 144, - NamespaceKeyword: 145, - NeverKeyword: 146, - OutKeyword: 147, - ReadonlyKeyword: 148, - RequireKeyword: 149, - NumberKeyword: 150, - ObjectKeyword: 151, - SatisfiesKeyword: 152, - SetKeyword: 153, - StringKeyword: 154, - SymbolKeyword: 155, - TypeKeyword: 156, - UndefinedKeyword: 157, - UniqueKeyword: 158, - UnknownKeyword: 159, - UsingKeyword: 160, - FromKeyword: 161, - GlobalKeyword: 162, - BigIntKeyword: 163, - OverrideKeyword: 164, - OfKeyword: 165, - QualifiedName: 166, - ComputedPropertyName: 167, - TypeParameter: 168, - Parameter: 169, - Decorator: 170, - PropertySignature: 171, - PropertyDeclaration: 172, - MethodSignature: 173, - MethodDeclaration: 174, - ClassStaticBlockDeclaration: 175, - Constructor: 176, - GetAccessor: 177, - SetAccessor: 178, - CallSignature: 179, - ConstructSignature: 180, - IndexSignature: 181, - TypePredicate: 182, - TypeReference: 183, - FunctionType: 184, - ConstructorType: 185, - TypeQuery: 186, - TypeLiteral: 187, - ArrayType: 188, - TupleType: 189, - OptionalType: 190, - RestType: 191, - UnionType: 192, - IntersectionType: 193, - ConditionalType: 194, - InferType: 195, - ParenthesizedType: 196, - ThisType: 197, - TypeOperator: 198, - IndexedAccessType: 199, - MappedType: 200, - LiteralType: 201, - NamedTupleMember: 202, - TemplateLiteralType: 203, - TemplateLiteralTypeSpan: 204, - ImportType: 205, - ObjectBindingPattern: 206, - ArrayBindingPattern: 207, - BindingElement: 208, - ArrayLiteralExpression: 209, - ObjectLiteralExpression: 210, - PropertyAccessExpression: 211, - ElementAccessExpression: 212, - CallExpression: 213, - NewExpression: 214, - TaggedTemplateExpression: 215, - TypeAssertionExpression: 216, - ParenthesizedExpression: 217, - FunctionExpression: 218, - ArrowFunction: 219, - DeleteExpression: 220, - TypeOfExpression: 221, - VoidExpression: 222, - AwaitExpression: 223, - PrefixUnaryExpression: 224, - PostfixUnaryExpression: 225, - BinaryExpression: 226, - ConditionalExpression: 227, - TemplateExpression: 228, - YieldExpression: 229, - SpreadElement: 230, - ClassExpression: 231, - OmittedExpression: 232, - ExpressionWithTypeArguments: 233, - AsExpression: 234, - NonNullExpression: 235, - MetaProperty: 236, - SyntheticExpression: 237, - SatisfiesExpression: 238, - TemplateSpan: 239, - SemicolonClassElement: 240, - Block: 241, - EmptyStatement: 242, - VariableStatement: 243, - ExpressionStatement: 244, - IfStatement: 245, - DoStatement: 246, - WhileStatement: 247, - ForStatement: 248, - ForInStatement: 249, - ForOfStatement: 250, - ContinueStatement: 251, - BreakStatement: 252, - ReturnStatement: 253, - WithStatement: 254, - SwitchStatement: 255, - LabeledStatement: 256, - ThrowStatement: 257, - TryStatement: 258, - DebuggerStatement: 259, - VariableDeclaration: 260, - VariableDeclarationList: 261, - FunctionDeclaration: 262, - ClassDeclaration: 263, - InterfaceDeclaration: 264, - TypeAliasDeclaration: 265, - EnumDeclaration: 266, - ModuleDeclaration: 267, - ModuleBlock: 268, - CaseBlock: 269, - NamespaceExportDeclaration: 270, - ImportEqualsDeclaration: 271, - ImportDeclaration: 272, - ImportClause: 273, - NamespaceImport: 274, - NamedImports: 275, - ImportSpecifier: 276, - ExportAssignment: 277, - ExportDeclaration: 278, - NamedExports: 279, - NamespaceExport: 280, - ExportSpecifier: 281, - MissingDeclaration: 282, - ExternalModuleReference: 283, - JsxElement: 284, - JsxSelfClosingElement: 285, - JsxOpeningElement: 286, - JsxClosingElement: 287, - JsxFragment: 288, - JsxOpeningFragment: 289, - JsxClosingFragment: 290, - JsxAttribute: 291, - JsxAttributes: 292, - JsxSpreadAttribute: 293, - JsxExpression: 294, - JsxNamespacedName: 295, - CaseClause: 296, - DefaultClause: 297, - HeritageClause: 298, - CatchClause: 299, - ImportAttributes: 300, - ImportAttribute: 301, - PropertyAssignment: 302, - ShorthandPropertyAssignment: 303, - SpreadAssignment: 304, - EnumMember: 305, - SourceFile: 306, - Bundle: 307, - JSDocTypeExpression: 308, - JSDocNameReference: 309, - JSDocMemberName: 310, - JSDocAllType: 311, - JSDocNullableType: 312, - JSDocNonNullableType: 313, - JSDocOptionalType: 314, - JSDocVariadicType: 315, - JSDoc: 316, - JSDocText: 317, - JSDocTypeLiteral: 318, - JSDocSignature: 319, - JSDocLink: 320, - JSDocLinkCode: 321, - JSDocLinkPlain: 322, - JSDocTag: 323, - JSDocAugmentsTag: 324, - JSDocImplementsTag: 325, - JSDocDeprecatedTag: 326, - JSDocPublicTag: 327, - JSDocPrivateTag: 328, - JSDocProtectedTag: 329, - JSDocReadonlyTag: 330, - JSDocOverrideTag: 331, - JSDocCallbackTag: 332, - JSDocOverloadTag: 333, - JSDocParameterTag: 334, - JSDocReturnTag: 335, - JSDocThisTag: 336, - JSDocTypeTag: 337, - JSDocTemplateTag: 338, - JSDocTypedefTag: 339, - JSDocSeeTag: 340, - JSDocPropertyTag: 341, - JSDocSatisfiesTag: 342, - JSDocImportTag: 343, - SyntaxList: 344, - NotEmittedStatement: 345, - PartiallyEmittedExpression: 346, - CommaListExpression: 347, - SyntheticReferenceExpression: 348, - Count: 349, - - [0]: "Unknown", - [1]: "EndOfFile", - [2]: "SingleLineCommentTrivia", - [3]: "MultiLineCommentTrivia", - [4]: "NewLineTrivia", - [5]: "WhitespaceTrivia", - [6]: "ConflictMarkerTrivia", - [7]: "NonTextFileMarkerTrivia", - [8]: "NumericLiteral", - [9]: "BigIntLiteral", - [10]: "StringLiteral", - [11]: "JsxText", - [12]: "JsxTextAllWhiteSpaces", - [13]: "RegularExpressionLiteral", - [14]: "NoSubstitutionTemplateLiteral", - [15]: "TemplateHead", - [16]: "TemplateMiddle", - [17]: "TemplateTail", - [18]: "OpenBraceToken", - [19]: "CloseBraceToken", - [20]: "OpenParenToken", - [21]: "CloseParenToken", - [22]: "OpenBracketToken", - [23]: "CloseBracketToken", - [24]: "DotToken", - [25]: "DotDotDotToken", - [26]: "SemicolonToken", - [27]: "CommaToken", - [28]: "QuestionDotToken", - [29]: "LessThanToken", - [30]: "LessThanSlashToken", - [31]: "GreaterThanToken", - [32]: "LessThanEqualsToken", - [33]: "GreaterThanEqualsToken", - [34]: "EqualsEqualsToken", - [35]: "ExclamationEqualsToken", - [36]: "EqualsEqualsEqualsToken", - [37]: "ExclamationEqualsEqualsToken", - [38]: "EqualsGreaterThanToken", - [39]: "PlusToken", - [40]: "MinusToken", - [41]: "AsteriskToken", - [42]: "AsteriskAsteriskToken", - [43]: "SlashToken", - [44]: "PercentToken", - [45]: "PlusPlusToken", - [46]: "MinusMinusToken", - [47]: "LessThanLessThanToken", - [48]: "GreaterThanGreaterThanToken", - [49]: "GreaterThanGreaterThanGreaterThanToken", - [50]: "AmpersandToken", - [51]: "BarToken", - [52]: "CaretToken", - [53]: "ExclamationToken", - [54]: "TildeToken", - [55]: "AmpersandAmpersandToken", - [56]: "BarBarToken", - [57]: "QuestionToken", - [58]: "ColonToken", - [59]: "AtToken", - [60]: "QuestionQuestionToken", - [61]: "BacktickToken", - [62]: "HashToken", - [63]: "EqualsToken", - [64]: "PlusEqualsToken", - [65]: "MinusEqualsToken", - [66]: "AsteriskEqualsToken", - [67]: "AsteriskAsteriskEqualsToken", - [68]: "SlashEqualsToken", - [69]: "PercentEqualsToken", - [70]: "LessThanLessThanEqualsToken", - [71]: "GreaterThanGreaterThanEqualsToken", - [72]: "GreaterThanGreaterThanGreaterThanEqualsToken", - [73]: "AmpersandEqualsToken", - [74]: "BarEqualsToken", - [75]: "BarBarEqualsToken", - [76]: "AmpersandAmpersandEqualsToken", - [77]: "QuestionQuestionEqualsToken", - [78]: "CaretEqualsToken", - [79]: "Identifier", - [80]: "PrivateIdentifier", - [81]: "JSDocCommentTextToken", - [82]: "BreakKeyword", - [83]: "CaseKeyword", - [84]: "CatchKeyword", - [85]: "ClassKeyword", - [86]: "ConstKeyword", - [87]: "ContinueKeyword", - [88]: "DebuggerKeyword", - [89]: "DefaultKeyword", - [90]: "DeleteKeyword", - [91]: "DoKeyword", - [92]: "ElseKeyword", - [93]: "EnumKeyword", - [94]: "ExportKeyword", - [95]: "ExtendsKeyword", - [96]: "FalseKeyword", - [97]: "FinallyKeyword", - [98]: "ForKeyword", - [99]: "FunctionKeyword", - [100]: "IfKeyword", - [101]: "ImportKeyword", - [102]: "InKeyword", - [103]: "InstanceOfKeyword", - [104]: "NewKeyword", - [105]: "NullKeyword", - [106]: "ReturnKeyword", - [107]: "SuperKeyword", - [108]: "SwitchKeyword", - [109]: "ThisKeyword", - [110]: "ThrowKeyword", - [111]: "TrueKeyword", - [112]: "TryKeyword", - [113]: "TypeOfKeyword", - [114]: "VarKeyword", - [115]: "VoidKeyword", - [116]: "WhileKeyword", - [117]: "WithKeyword", - [118]: "ImplementsKeyword", - [119]: "InterfaceKeyword", - [120]: "LetKeyword", - [121]: "PackageKeyword", - [122]: "PrivateKeyword", - [123]: "ProtectedKeyword", - [124]: "PublicKeyword", - [125]: "StaticKeyword", - [126]: "YieldKeyword", - [127]: "AbstractKeyword", - [128]: "AccessorKeyword", - [129]: "AsKeyword", - [130]: "AssertsKeyword", - [131]: "AssertKeyword", - [132]: "AnyKeyword", - [133]: "AsyncKeyword", - [134]: "AwaitKeyword", - [135]: "BooleanKeyword", - [136]: "ConstructorKeyword", - [137]: "DeclareKeyword", - [138]: "GetKeyword", - [139]: "ImmediateKeyword", - [140]: "InferKeyword", - [141]: "IntrinsicKeyword", - [142]: "IsKeyword", - [143]: "KeyOfKeyword", - [144]: "ModuleKeyword", - [145]: "NamespaceKeyword", - [146]: "NeverKeyword", - [147]: "OutKeyword", - [148]: "ReadonlyKeyword", - [149]: "RequireKeyword", - [150]: "NumberKeyword", - [151]: "ObjectKeyword", - [152]: "SatisfiesKeyword", - [153]: "SetKeyword", - [154]: "StringKeyword", - [155]: "SymbolKeyword", - [156]: "TypeKeyword", - [157]: "UndefinedKeyword", - [158]: "UniqueKeyword", - [159]: "UnknownKeyword", - [160]: "UsingKeyword", - [161]: "FromKeyword", - [162]: "GlobalKeyword", - [163]: "BigIntKeyword", - [164]: "OverrideKeyword", - [165]: "OfKeyword", - [166]: "QualifiedName", - [167]: "ComputedPropertyName", - [168]: "TypeParameter", - [169]: "Parameter", - [170]: "Decorator", - [171]: "PropertySignature", - [172]: "PropertyDeclaration", - [173]: "MethodSignature", - [174]: "MethodDeclaration", - [175]: "ClassStaticBlockDeclaration", - [176]: "Constructor", - [177]: "GetAccessor", - [178]: "SetAccessor", - [179]: "CallSignature", - [180]: "ConstructSignature", - [181]: "IndexSignature", - [182]: "TypePredicate", - [183]: "TypeReference", - [184]: "FunctionType", - [185]: "ConstructorType", - [186]: "TypeQuery", - [187]: "TypeLiteral", - [188]: "ArrayType", - [189]: "TupleType", - [190]: "OptionalType", - [191]: "RestType", - [192]: "UnionType", - [193]: "IntersectionType", - [194]: "ConditionalType", - [195]: "InferType", - [196]: "ParenthesizedType", - [197]: "ThisType", - [198]: "TypeOperator", - [199]: "IndexedAccessType", - [200]: "MappedType", - [201]: "LiteralType", - [202]: "NamedTupleMember", - [203]: "TemplateLiteralType", - [204]: "TemplateLiteralTypeSpan", - [205]: "ImportType", - [206]: "ObjectBindingPattern", - [207]: "ArrayBindingPattern", - [208]: "BindingElement", - [209]: "ArrayLiteralExpression", - [210]: "ObjectLiteralExpression", - [211]: "PropertyAccessExpression", - [212]: "ElementAccessExpression", - [213]: "CallExpression", - [214]: "NewExpression", - [215]: "TaggedTemplateExpression", - [216]: "TypeAssertionExpression", - [217]: "ParenthesizedExpression", - [218]: "FunctionExpression", - [219]: "ArrowFunction", - [220]: "DeleteExpression", - [221]: "TypeOfExpression", - [222]: "VoidExpression", - [223]: "AwaitExpression", - [224]: "PrefixUnaryExpression", - [225]: "PostfixUnaryExpression", - [226]: "BinaryExpression", - [227]: "ConditionalExpression", - [228]: "TemplateExpression", - [229]: "YieldExpression", - [230]: "SpreadElement", - [231]: "ClassExpression", - [232]: "OmittedExpression", - [233]: "ExpressionWithTypeArguments", - [234]: "AsExpression", - [235]: "NonNullExpression", - [236]: "MetaProperty", - [237]: "SyntheticExpression", - [238]: "SatisfiesExpression", - [239]: "TemplateSpan", - [240]: "SemicolonClassElement", - [241]: "Block", - [242]: "EmptyStatement", - [243]: "VariableStatement", - [244]: "ExpressionStatement", - [245]: "IfStatement", - [246]: "DoStatement", - [247]: "WhileStatement", - [248]: "ForStatement", - [249]: "ForInStatement", - [250]: "ForOfStatement", - [251]: "ContinueStatement", - [252]: "BreakStatement", - [253]: "ReturnStatement", - [254]: "WithStatement", - [255]: "SwitchStatement", - [256]: "LabeledStatement", - [257]: "ThrowStatement", - [258]: "TryStatement", - [259]: "DebuggerStatement", - [260]: "VariableDeclaration", - [261]: "VariableDeclarationList", - [262]: "FunctionDeclaration", - [263]: "ClassDeclaration", - [264]: "InterfaceDeclaration", - [265]: "TypeAliasDeclaration", - [266]: "EnumDeclaration", - [267]: "ModuleDeclaration", - [268]: "ModuleBlock", - [269]: "CaseBlock", - [270]: "NamespaceExportDeclaration", - [271]: "ImportEqualsDeclaration", - [272]: "ImportDeclaration", - [273]: "ImportClause", - [274]: "NamespaceImport", - [275]: "NamedImports", - [276]: "ImportSpecifier", - [277]: "ExportAssignment", - [278]: "ExportDeclaration", - [279]: "NamedExports", - [280]: "NamespaceExport", - [281]: "ExportSpecifier", - [282]: "MissingDeclaration", - [283]: "ExternalModuleReference", - [284]: "JsxElement", - [285]: "JsxSelfClosingElement", - [286]: "JsxOpeningElement", - [287]: "JsxClosingElement", - [288]: "JsxFragment", - [289]: "JsxOpeningFragment", - [290]: "JsxClosingFragment", - [291]: "JsxAttribute", - [292]: "JsxAttributes", - [293]: "JsxSpreadAttribute", - [294]: "JsxExpression", - [295]: "JsxNamespacedName", - [296]: "CaseClause", - [297]: "DefaultClause", - [298]: "HeritageClause", - [299]: "CatchClause", - [300]: "ImportAttributes", - [301]: "ImportAttribute", - [302]: "PropertyAssignment", - [303]: "ShorthandPropertyAssignment", - [304]: "SpreadAssignment", - [305]: "EnumMember", - [306]: "SourceFile", - [307]: "Bundle", - [308]: "JSDocTypeExpression", - [309]: "JSDocNameReference", - [310]: "JSDocMemberName", - [311]: "JSDocAllType", - [312]: "JSDocNullableType", - [313]: "JSDocNonNullableType", - [314]: "JSDocOptionalType", - [315]: "JSDocVariadicType", - [316]: "JSDoc", - [317]: "JSDocText", - [318]: "JSDocTypeLiteral", - [319]: "JSDocSignature", - [320]: "JSDocLink", - [321]: "JSDocLinkCode", - [322]: "JSDocLinkPlain", - [323]: "JSDocTag", - [324]: "JSDocAugmentsTag", - [325]: "JSDocImplementsTag", - [326]: "JSDocDeprecatedTag", - [327]: "JSDocPublicTag", - [328]: "JSDocPrivateTag", - [329]: "JSDocProtectedTag", - [330]: "JSDocReadonlyTag", - [331]: "JSDocOverrideTag", - [332]: "JSDocCallbackTag", - [333]: "JSDocOverloadTag", - [334]: "JSDocParameterTag", - [335]: "JSDocReturnTag", - [336]: "JSDocThisTag", - [337]: "JSDocTypeTag", - [338]: "JSDocTemplateTag", - [339]: "JSDocTypedefTag", - [340]: "JSDocSeeTag", - [341]: "JSDocPropertyTag", - [342]: "JSDocSatisfiesTag", - [343]: "JSDocImportTag", - [344]: "SyntaxList", - [345]: "NotEmittedStatement", - [346]: "PartiallyEmittedExpression", - [347]: "CommaListExpression", - [348]: "SyntheticReferenceExpression", - [349]: "Count", -} as const; - -export const SyntaxKind = syntaxKind as typeof syntaxKind & { readonly [k: number]: string; }; +export enum SyntaxKind { + Unknown, + EndOfFile, + SingleLineCommentTrivia, + MultiLineCommentTrivia, + NewLineTrivia, + WhitespaceTrivia, + ConflictMarkerTrivia, + NonTextFileMarkerTrivia, + NumericLiteral, + BigIntLiteral, + StringLiteral, + JsxText, + JsxTextAllWhiteSpaces, + RegularExpressionLiteral, + NoSubstitutionTemplateLiteral, + TemplateHead, + TemplateMiddle, + TemplateTail, + OpenBraceToken, + CloseBraceToken, + OpenParenToken, + CloseParenToken, + OpenBracketToken, + CloseBracketToken, + DotToken, + DotDotDotToken, + SemicolonToken, + CommaToken, + QuestionDotToken, + LessThanToken, + LessThanSlashToken, + GreaterThanToken, + LessThanEqualsToken, + GreaterThanEqualsToken, + EqualsEqualsToken, + ExclamationEqualsToken, + EqualsEqualsEqualsToken, + ExclamationEqualsEqualsToken, + EqualsGreaterThanToken, + PlusToken, + MinusToken, + AsteriskToken, + AsteriskAsteriskToken, + SlashToken, + PercentToken, + PlusPlusToken, + MinusMinusToken, + LessThanLessThanToken, + GreaterThanGreaterThanToken, + GreaterThanGreaterThanGreaterThanToken, + AmpersandToken, + BarToken, + CaretToken, + ExclamationToken, + TildeToken, + AmpersandAmpersandToken, + BarBarToken, + QuestionToken, + ColonToken, + AtToken, + QuestionQuestionToken, + BacktickToken, + HashToken, + EqualsToken, + PlusEqualsToken, + MinusEqualsToken, + AsteriskEqualsToken, + AsteriskAsteriskEqualsToken, + SlashEqualsToken, + PercentEqualsToken, + LessThanLessThanEqualsToken, + GreaterThanGreaterThanEqualsToken, + GreaterThanGreaterThanGreaterThanEqualsToken, + AmpersandEqualsToken, + BarEqualsToken, + BarBarEqualsToken, + AmpersandAmpersandEqualsToken, + QuestionQuestionEqualsToken, + CaretEqualsToken, + Identifier, + PrivateIdentifier, + JSDocCommentTextToken, + BreakKeyword, + CaseKeyword, + CatchKeyword, + ClassKeyword, + ConstKeyword, + ContinueKeyword, + DebuggerKeyword, + DefaultKeyword, + DeleteKeyword, + DoKeyword, + ElseKeyword, + EnumKeyword, + ExportKeyword, + ExtendsKeyword, + FalseKeyword, + FinallyKeyword, + ForKeyword, + FunctionKeyword, + IfKeyword, + ImportKeyword, + InKeyword, + InstanceOfKeyword, + NewKeyword, + NullKeyword, + ReturnKeyword, + SuperKeyword, + SwitchKeyword, + ThisKeyword, + ThrowKeyword, + TrueKeyword, + TryKeyword, + TypeOfKeyword, + VarKeyword, + VoidKeyword, + WhileKeyword, + WithKeyword, + ImplementsKeyword, + InterfaceKeyword, + LetKeyword, + PackageKeyword, + PrivateKeyword, + ProtectedKeyword, + PublicKeyword, + StaticKeyword, + YieldKeyword, + AbstractKeyword, + AccessorKeyword, + AsKeyword, + AssertsKeyword, + AssertKeyword, + AnyKeyword, + AsyncKeyword, + AwaitKeyword, + BooleanKeyword, + ConstructorKeyword, + DeclareKeyword, + GetKeyword, + ImmediateKeyword, + InferKeyword, + IntrinsicKeyword, + IsKeyword, + KeyOfKeyword, + ModuleKeyword, + NamespaceKeyword, + NeverKeyword, + OutKeyword, + ReadonlyKeyword, + RequireKeyword, + NumberKeyword, + ObjectKeyword, + SatisfiesKeyword, + SetKeyword, + StringKeyword, + SymbolKeyword, + TypeKeyword, + UndefinedKeyword, + UniqueKeyword, + UnknownKeyword, + UsingKeyword, + FromKeyword, + GlobalKeyword, + BigIntKeyword, + OverrideKeyword, + OfKeyword, + QualifiedName, + ComputedPropertyName, + TypeParameter, + Parameter, + Decorator, + PropertySignature, + PropertyDeclaration, + MethodSignature, + MethodDeclaration, + ClassStaticBlockDeclaration, + Constructor, + GetAccessor, + SetAccessor, + CallSignature, + ConstructSignature, + IndexSignature, + TypePredicate, + TypeReference, + FunctionType, + ConstructorType, + TypeQuery, + TypeLiteral, + ArrayType, + TupleType, + OptionalType, + RestType, + UnionType, + IntersectionType, + ConditionalType, + InferType, + ParenthesizedType, + ThisType, + TypeOperator, + IndexedAccessType, + MappedType, + LiteralType, + NamedTupleMember, + TemplateLiteralType, + TemplateLiteralTypeSpan, + ImportType, + ObjectBindingPattern, + ArrayBindingPattern, + BindingElement, + ArrayLiteralExpression, + ObjectLiteralExpression, + PropertyAccessExpression, + ElementAccessExpression, + CallExpression, + NewExpression, + TaggedTemplateExpression, + TypeAssertionExpression, + ParenthesizedExpression, + FunctionExpression, + ArrowFunction, + DeleteExpression, + TypeOfExpression, + VoidExpression, + AwaitExpression, + PrefixUnaryExpression, + PostfixUnaryExpression, + BinaryExpression, + ConditionalExpression, + TemplateExpression, + YieldExpression, + SpreadElement, + ClassExpression, + OmittedExpression, + ExpressionWithTypeArguments, + AsExpression, + NonNullExpression, + MetaProperty, + SyntheticExpression, + SatisfiesExpression, + TemplateSpan, + SemicolonClassElement, + Block, + EmptyStatement, + VariableStatement, + ExpressionStatement, + IfStatement, + DoStatement, + WhileStatement, + ForStatement, + ForInStatement, + ForOfStatement, + ContinueStatement, + BreakStatement, + ReturnStatement, + WithStatement, + SwitchStatement, + LabeledStatement, + ThrowStatement, + TryStatement, + DebuggerStatement, + VariableDeclaration, + VariableDeclarationList, + FunctionDeclaration, + ClassDeclaration, + InterfaceDeclaration, + TypeAliasDeclaration, + EnumDeclaration, + ModuleDeclaration, + ModuleBlock, + CaseBlock, + NamespaceExportDeclaration, + ImportEqualsDeclaration, + ImportDeclaration, + ImportClause, + NamespaceImport, + NamedImports, + ImportSpecifier, + ExportAssignment, + ExportDeclaration, + NamedExports, + NamespaceExport, + ExportSpecifier, + MissingDeclaration, + ExternalModuleReference, + JsxElement, + JsxSelfClosingElement, + JsxOpeningElement, + JsxClosingElement, + JsxFragment, + JsxOpeningFragment, + JsxClosingFragment, + JsxAttribute, + JsxAttributes, + JsxSpreadAttribute, + JsxExpression, + JsxNamespacedName, + CaseClause, + DefaultClause, + HeritageClause, + CatchClause, + ImportAttributes, + ImportAttribute, + PropertyAssignment, + ShorthandPropertyAssignment, + SpreadAssignment, + EnumMember, + SourceFile, + Bundle, + JSDocTypeExpression, + JSDocNameReference, + JSDocMemberName, + JSDocAllType, + JSDocNullableType, + JSDocNonNullableType, + JSDocOptionalType, + JSDocVariadicType, + JSDoc, + JSDocText, + JSDocTypeLiteral, + JSDocSignature, + JSDocLink, + JSDocLinkCode, + JSDocLinkPlain, + JSDocTag, + JSDocAugmentsTag, + JSDocImplementsTag, + JSDocDeprecatedTag, + JSDocPublicTag, + JSDocPrivateTag, + JSDocProtectedTag, + JSDocReadonlyTag, + JSDocOverrideTag, + JSDocCallbackTag, + JSDocOverloadTag, + JSDocParameterTag, + JSDocReturnTag, + JSDocThisTag, + JSDocTypeTag, + JSDocTemplateTag, + JSDocTypedefTag, + JSDocSeeTag, + JSDocPropertyTag, + JSDocSatisfiesTag, + JSDocImportTag, + SyntaxList, + NotEmittedStatement, + PartiallyEmittedExpression, + CommaListExpression, + SyntheticReferenceExpression, + Count, +} diff --git a/package-lock.json b/package-lock.json index 69adcd57b7..05215a02f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,6 +33,9 @@ "dependencies": { "json-rpc-2.0": "^1.7.0", "libsyncrpc": "file:../../libsyncrpc" + }, + "devDependencies": { + "ts-morph": "^25.0.1" } }, "_extension": { @@ -217,6 +220,44 @@ "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", "dev": true }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -245,6 +286,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@ts-morph/common": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.26.1.tgz", + "integrity": "sha512-Sn28TGl/4cFpcM+jwsH1wLncYq3FtN/BIpem+HOygfBWPT5pAeS5dB4VFVzV8FbnOKHpDLZmvAl4AjPEev5idA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.3.2", + "minimatch": "^9.0.4", + "path-browserify": "^1.0.1" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -324,6 +377,19 @@ "balanced-match": "^1.0.0" } }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -353,6 +419,13 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/code-block-writer": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", + "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==", + "dev": true, + "license": "MIT" + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -495,6 +568,23 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -504,6 +594,16 @@ "node": ">= 4.9.1" } }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/figures": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", @@ -519,6 +619,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/foreground-child": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", @@ -571,6 +684,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -635,6 +761,16 @@ "node": ">=18.18.0" } }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -644,6 +780,29 @@ "node": ">=8" } }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -742,6 +901,30 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -821,6 +1004,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -852,6 +1042,19 @@ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/pretty-ms": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", @@ -867,6 +1070,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/readdirp": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", @@ -889,6 +1113,41 @@ "node": ">=6" } }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/semver": { "version": "7.7.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz", @@ -1068,6 +1327,30 @@ "node": ">=8.0.0" } }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-morph": { + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-25.0.1.tgz", + "integrity": "sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ts-morph/common": "~0.26.0", + "code-block-writer": "^13.0.3" + } + }, "node_modules/typescript": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", @@ -1420,6 +1703,32 @@ "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", "dev": true }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -1439,6 +1748,17 @@ "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true }, + "@ts-morph/common": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.26.1.tgz", + "integrity": "sha512-Sn28TGl/4cFpcM+jwsH1wLncYq3FtN/BIpem+HOygfBWPT5pAeS5dB4VFVzV8FbnOKHpDLZmvAl4AjPEev5idA==", + "dev": true, + "requires": { + "fast-glob": "^3.3.2", + "minimatch": "^9.0.4", + "path-browserify": "^1.0.1" + } + }, "@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -1506,6 +1826,15 @@ "balanced-match": "^1.0.0" } }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "requires": { + "fill-range": "^7.1.1" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -1526,6 +1855,12 @@ "readdirp": "^4.0.1" } }, + "code-block-writer": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", + "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==", + "dev": true + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1642,12 +1977,34 @@ "yoctocolors": "^2.0.0" } }, + "fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + } + }, "fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, + "fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "figures": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", @@ -1657,6 +2014,15 @@ "is-unicode-supported": "^2.0.0" } }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, "foreground-child": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", @@ -1691,6 +2057,15 @@ "path-scurry": "^1.11.1" } }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -1733,12 +2108,33 @@ "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", "dev": true }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, "is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -1811,6 +2207,22 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, "minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -1862,6 +2274,12 @@ "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", "dev": true }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -1884,6 +2302,12 @@ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, "pretty-ms": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", @@ -1893,6 +2317,12 @@ "parse-ms": "^4.0.0" } }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "readdirp": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", @@ -1905,6 +2335,21 @@ "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", "dev": true }, + "reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "semver": { "version": "7.7.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz", @@ -2029,6 +2474,25 @@ "wordwrapjs": "^4.0.0" } }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-morph": { + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-25.0.1.tgz", + "integrity": "sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==", + "dev": true, + "requires": { + "@ts-morph/common": "~0.26.0", + "code-block-writer": "^13.0.3" + } + }, "typescript": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", @@ -2039,7 +2503,8 @@ "version": "file:_api", "requires": { "json-rpc-2.0": "^1.7.0", - "libsyncrpc": "file:../../libsyncrpc" + "libsyncrpc": "file:../../libsyncrpc", + "ts-morph": "^25.0.1" } }, "typescript-lsp": { From 8ccc215d57e767f5724e0a1b254a22e0c21dbf71 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 11 Mar 2025 16:31:43 -0700 Subject: [PATCH 06/63] WIP --- _api/package.json | 12 +- _api/src/{base => ast}/ast.ts | 17 +- _api/src/{base => ast}/decode.ts | 9 +- _api/src/ast/node.ts | 657 ++++++++++ _api/src/ast/nodeTests.ts | 1127 +++++++++++++++++ .../{syntaxKind.ts => ast/syntaxKind.enum.ts} | 0 _api/src/ast/syntaxKind.js | 406 ++++++ _api/src/base/api.ts | 18 +- _api/src/base/node.ts | 552 -------- _api/src/base/symbolFlags.enum.ts | 75 ++ _api/src/base/symbolFlags.js | 91 ++ _api/src/bench.ts | 82 ++ _api/src/sf.ts | 26 - _api/src/sync/api.ts | 51 +- _api/src/sync/client.ts | 28 +- internal/api/api.go | 53 +- internal/api/encoder.go | 215 +++- internal/api/encoder_test.go | 48 +- internal/api/proto.go | 21 +- internal/api/server.go | 32 +- internal/ast/ast.go | 45 +- internal/lsp/server.go | 2 +- internal/parser/parser.go | 2 + internal/project/logger.go | 42 +- internal/project/service.go | 2 +- internal/project/service_test.go | 2 +- package-lock.json | 14 + package.json | 3 +- 28 files changed, 2855 insertions(+), 777 deletions(-) rename _api/src/{base => ast}/ast.ts (99%) rename _api/src/{base => ast}/decode.ts (96%) create mode 100644 _api/src/ast/node.ts create mode 100644 _api/src/ast/nodeTests.ts rename _api/src/{syntaxKind.ts => ast/syntaxKind.enum.ts} (100%) create mode 100644 _api/src/ast/syntaxKind.js delete mode 100644 _api/src/base/node.ts create mode 100644 _api/src/base/symbolFlags.enum.ts create mode 100644 _api/src/base/symbolFlags.js create mode 100644 _api/src/bench.ts delete mode 100644 _api/src/sf.ts diff --git a/_api/package.json b/_api/package.json index 083de80d92..ad20718d83 100644 --- a/_api/package.json +++ b/_api/package.json @@ -3,6 +3,16 @@ "name": "typescript-api", "version": "1.0.0", "type": "module", + "imports": { + "#ast/syntax": { + "types": "./src/ast/syntaxKind.enum.ts", + "default": "./src/ast/syntaxKind.js" + }, + "#symbolFlags": { + "types": "./src/base/symbolFlags.enum.ts", + "default": "./src/base/symbolFlags.js" + } + }, "dependencies": { "json-rpc-2.0": "^1.7.0", "libsyncrpc": "file:../../libsyncrpc" @@ -10,4 +20,4 @@ "devDependencies": { "ts-morph": "^25.0.1" } -} +} \ No newline at end of file diff --git a/_api/src/base/ast.ts b/_api/src/ast/ast.ts similarity index 99% rename from _api/src/base/ast.ts rename to _api/src/ast/ast.ts index f77e431082..badc7d995d 100644 --- a/_api/src/base/ast.ts +++ b/_api/src/ast/ast.ts @@ -1,4 +1,4 @@ -import { SyntaxKind } from "../syntaxKind.ts"; +import { SyntaxKind } from "#ast/syntax"; export interface TextRange { pos: number; @@ -8,6 +8,13 @@ export interface TextRange { export interface Node extends ReadonlyTextRange { readonly kind: SyntaxKind; readonly parent: Node; + + forEachChild(cbNode: (node: Node) => T | undefined): T | undefined; +} + +export interface SourceFile extends Node { + kind: SyntaxKind.SourceFile; + readonly statements: NodeArray; } export type TriviaSyntaxKind = @@ -297,8 +304,7 @@ export interface ReadonlyTextRange { readonly end: number; } -export interface NodeArray extends ReadonlyTextRange, Iterable { - readonly hasTrailingComma: boolean; +export interface NodeArray extends ReadonlyTextRange, ReadonlyArray { readonly length: number; readonly pos: number; readonly end: number; @@ -401,7 +407,7 @@ export interface Identifier extends PrimaryExpression, Declaration { * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) * Text of identifier, but if the identifier begins with two underscores, this will begin with three. */ - readonly escapedText: string; + readonly text: string; } export interface QualifiedName extends Node { @@ -432,9 +438,6 @@ export type DeclarationName = | EntityNameExpression; export interface Declaration extends Node { - _declarationBrand: any; - /** @internal */ symbol: Symbol; // Symbol declared by node (initialized by binding) - /** @internal */ localSymbol?: Symbol; // Local symbol declared by node (initialized by binding only for exported nodes) } export interface NamedDeclaration extends Declaration { diff --git a/_api/src/base/decode.ts b/_api/src/ast/decode.ts similarity index 96% rename from _api/src/base/decode.ts rename to _api/src/ast/decode.ts index 7a7c8a381c..17f7fabd13 100644 --- a/_api/src/base/decode.ts +++ b/_api/src/ast/decode.ts @@ -1,14 +1,15 @@ -import { SyntaxKind } from "../syntaxKind.ts"; +import { SyntaxKind } from "#ast/syntax"; export type NodeDataType = typeof NodeDataTypeChildren | typeof NodeDataTypeString | typeof NodeDataTypeExtended; -export const NodeDataTypeMask = 0xc0000000; export const NodeDataTypeChildren = 0x00000000; export const NodeDataTypeString = 0x40000000; export const NodeDataTypeExtended = 0x80000000; -export const NodeChildMask = 0xff; +export const NodeDataTypeMask = 0xc0_00_00_00; +export const NodeChildMask = 0x00_00_00_ff; +export const NodeStringIndexMask = 0x00_ff_ff_ff; -export const childProperties: Readonly> = { +export const childProperties: Readonly>> = { [SyntaxKind.QualifiedName]: ["left", "right"], [SyntaxKind.TypeParameter]: ["modifiers", "name", "constraint", "defaultType"], [SyntaxKind.IfStatement]: ["expression", "thenStatement", "elseStatement"], diff --git a/_api/src/ast/node.ts b/_api/src/ast/node.ts new file mode 100644 index 0000000000..a028bd80ff --- /dev/null +++ b/_api/src/ast/node.ts @@ -0,0 +1,657 @@ +import { SyntaxKind } from "#ast/syntax"; +import type { nodeModuleNameResolver } from "typescript"; +import type { + Node, + NodeArray, +} from "./ast.ts"; +import { + childProperties, + NodeChildMask, + type NodeDataType, + NodeDataTypeChildren, + NodeDataTypeMask, + NodeStringIndexMask, +} from "./decode.ts"; + +const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8]; + +const OFFSET_KIND = 0; +const OFFSET_POS = 1; +const OFFSET_END = 2; +const OFFSET_NEXT = 3; +const OFFSET_PARENT = 4; +const OFFSET_DATA = 5; +const NODE_LEN = 6; + +const KIND_NODE_LIST = 2 ** 32 - 1; + +export class RemoteNodeBase { + parent: RemoteNode; + protected view: DataView; + protected index: number; + /** Keys are positions */ + protected _children: Map | undefined; + + constructor(view: DataView, index: number, parent: RemoteNode) { + this.view = view; + this.index = index; + this.parent = parent; + } + + get kind(): SyntaxKind { + return this.view.getUint32(this.byteIndex + OFFSET_KIND * 4, true); + } + + get pos(): number { + return this.view.getUint32(this.byteIndex + OFFSET_POS * 4, true); + } + + get end(): number { + return this.view.getUint32(this.byteIndex + OFFSET_END * 4, true); + } + + get next(): number { + return this.view.getUint32(this.byteIndex + OFFSET_NEXT * 4, true); + } + + protected get byteIndex(): number { + return this.offsetNodes + this.index * NODE_LEN * 4; + } + + protected get offsetStringTableOffsets(): number { + return this.view.getUint32(4, true); + } + + protected get offsetStringTable(): number { + return this.view.getUint32(8, true); + } + + protected get offsetExtendedDataOffsets(): number { + return this.view.getUint32(12, true); + } + + protected get offsetExtendedData(): number { + return this.view.getUint32(16, true); + } + + protected get offsetNodes(): number { + return this.view.getUint32(20, true); + } + + protected get parentIndex(): number { + return this.view.getUint32(this.byteIndex + OFFSET_PARENT * 4, true); + } + + protected get data(): number { + return this.view.getUint32(this.byteIndex + OFFSET_DATA * 4, true); + } + + protected get dataType(): NodeDataType { + return (this.data & NodeDataTypeMask) as NodeDataType; + } + + protected get childMask(): number { + if (this.dataType !== NodeDataTypeChildren) { + return 0; + } + return this.data & NodeChildMask; + } +} + +export class RemoteNodeList extends Array implements NodeArray { + parent: RemoteNode; + protected view: DataView; + protected index: number; + /** Keys are positions */ + protected _children: Map | undefined; + + get pos(): number { + return this.view.getUint32(this.byteIndex + OFFSET_POS * 4, true); + } + + get end(): number { + return this.view.getUint32(this.byteIndex + OFFSET_END * 4, true); + } + + get next(): number { + return this.view.getUint32(this.byteIndex + OFFSET_NEXT * 4, true); + } + + private get data(): number { + return this.view.getUint32(this.byteIndex + OFFSET_DATA * 4, true); + } + + private get offsetNodes(): number { + return this.view.getUint32(20, true); + } + + private get byteIndex(): number { + return this.offsetNodes + this.index * NODE_LEN * 4; + } + + constructor(view: DataView, index: number, parent: RemoteNode) { + super(); + this.view = view; + this.index = index; + this.parent = parent; + this.length = this.data; + + const length = this.length; + for (let i = 0; i < length; i++) { + Object.defineProperty(this, i, { + get() { + return this.at(i); + }, + }); + } + } + + *[Symbol.iterator](): IterableIterator { + let next = this.index + 1; + while (next) { + const child = this.getOrCreateChildAtNodeIndex(next); + next = child.next; + yield child as RemoteNode; + } + } + + at(index: number): RemoteNode { + if (!Number.isInteger(index)) { + return undefined!; + } + if (index < 0) { + index = this.length - index; + } + let next = this.index + 1; + for (let i = 0; i < index; i++) { + const child = this.getOrCreateChildAtNodeIndex(next); + next = child.next; + } + return this.getOrCreateChildAtNodeIndex(next) as RemoteNode; + } + + private getOrCreateChildAtNodeIndex(index: number): RemoteNode | RemoteNodeList { + const pos = this.view.getUint32(this.offsetNodes + index * NODE_LEN * 4 + OFFSET_POS * 4, true); + let child = (this._children ??= new Map()).get(pos); + if (!child) { + const kind = this.view.getUint32(this.offsetNodes + index * NODE_LEN * 4 + OFFSET_KIND * 4, true); + if (kind === KIND_NODE_LIST) { + throw new Error("NodeList cannot directly contain another NodeList"); + } + child = new RemoteNode(this.view, index, this.parent); + this._children.set(pos, child); + } + return child; + } +} + +export class RemoteNode extends RemoteNodeBase implements Node { + protected static NODE_LEN: number = NODE_LEN; + + forEachChild(visitor: (node: Node) => T): T | undefined { + if (this.hasChildren()) { + let next = this.index + 1; + do { + const child = this.getOrCreateChildAtNodeIndex(next); + if (child instanceof RemoteNodeList) { + for (const node of child) { + const result = visitor(node); + if (result) { + return result; + } + } + } + else { + const result = visitor(child); + if (result) { + return result; + } + } + next = child.next; + } + while (next); + } + } + + private getString(index: number): string { + const start = this.view.getUint32(this.offsetStringTableOffsets + index * 4, true); + const end = this.offsetStringTableOffsets + (index + 1) * 4 === this.offsetStringTable + ? this.offsetNodes + : this.view.getUint32(this.offsetStringTableOffsets + (index + 1) * 4, true); + const text = new Uint8Array(this.view.buffer, this.offsetStringTable + start, end - start); + return new TextDecoder().decode(text); + } + + private getOrCreateChildAtNodeIndex(index: number): RemoteNode | RemoteNodeList { + const pos = this.view.getUint32(this.offsetNodes + index * NODE_LEN * 4 + OFFSET_POS * 4, true); + let child = (this._children ??= new Map()).get(pos); + if (!child) { + const kind = this.view.getUint32(this.offsetNodes + index * NODE_LEN * 4 + OFFSET_KIND * 4, true); + child = kind === KIND_NODE_LIST ? new RemoteNodeList(this.view, index, this) : new RemoteNode(this.view, index, this); + this._children.set(pos, child); + } + return child; + } + + private hasChildren(): boolean { + if (this._children) { + return true; + } + if (this.byteIndex >= this.view.byteLength - (NODE_LEN * 4)) { + return false; + } + const nextNodeParent = this.view.getUint32(this.offsetNodes + (this.index + 1) * NODE_LEN * 4 + OFFSET_PARENT * 4, true); + return nextNodeParent === this.index; + } + + private getNamedChild(propertyName: string): RemoteNode | RemoteNodeList | undefined { + const propertyNames = childProperties[this.kind]; + if (!propertyNames) { + // `childProperties` is only defined for nodes with more than one child property. + // Get the only child if it exists. + const child = this.getOrCreateChildAtNodeIndex(this.index + 1); + if (child.next !== 0) { + throw new Error("Expected only one child"); + } + return child; + } + + let order = propertyNames.indexOf(propertyName); + if (order === -1) { + // JSDocPropertyTag and JSDocParameterTag need special handling + // because they have a conditional property order + const kind = this.kind; + if (kind === SyntaxKind.JSDocPropertyTag) { + switch (propertyName) { + case "name": + order = this.isNameFirst ? 0 : 1; + break; + case "typeExpression": + order = this.isNameFirst ? 1 : 0; + break; + } + } + else if (kind === SyntaxKind.JSDocParameterTag) { + switch (propertyName) { + case "name": + order = this.isNameFirst ? 1 : 2; + case "typeExpression": + order = this.isNameFirst ? 2 : 1; + } + } + // Node kind does not have this property + return undefined; + } + const mask = this.childMask; + if (!(mask & (1 << order))) { + // Property is not present + return undefined; + } + + const propertyIndex = order - popcount8[mask & ((1 << order) - 1)]; + return this.getOrCreateChildAtNodeIndex(this.index + 1 + propertyIndex); + } + + // Boolean properties + get isArrayType(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocTypeLiteral: + return (this.data & 1 << 24) !== 0; + } + } + + get isTypeOnly(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ImportSpecifier: + case SyntaxKind.ImportClause: + case SyntaxKind.ExportSpecifier: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ExportDeclaration: + return (this.data & 1 << 24) !== 0; + } + } + + get isTypeOf(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ImportType: + return (this.data & 1 << 24) !== 0; + } + } + + get multiline(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.Block: + case SyntaxKind.ArrayLiteralExpression: + case SyntaxKind.ObjectLiteralExpression: + case SyntaxKind.ImportAttributes: + return (this.data & 1 << 24) !== 0; + } + } + + get isExportEquals(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ExportAssignment: + return (this.data & 1 << 24) !== 0; + } + } + + get isBracketed(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocPropertyTag: + case SyntaxKind.JSDocParameterTag: + return (this.data & 1 << 24) !== 0; + } + } + + get containsOnlyTriviaWhiteSpaces(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JsxText: + return (this.data & 1 << 24) !== 0; + } + } + + get isNameFirst(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocPropertyTag: + case SyntaxKind.JSDocParameterTag: + return (this.data & 1 << 25) !== 0; + } + } + + // Children properties + get argument(): RemoteNode | undefined { + return this.getNamedChild("argument") as RemoteNode; + } + get argumentExpression(): RemoteNode | undefined { + return this.getNamedChild("argumentExpression") as RemoteNode; + } + get arguments(): RemoteNodeList | undefined { + return this.getNamedChild("arguments") as RemoteNodeList; + } + get assertsModifier(): RemoteNode | undefined { + return this.getNamedChild("assertsModifier") as RemoteNode; + } + get asteriskToken(): RemoteNode | undefined { + return this.getNamedChild("asteriskToken") as RemoteNode; + } + get attributes(): RemoteNode | undefined { + return this.getNamedChild("attributes") as RemoteNode; + } + get awaitModifier(): RemoteNode | undefined { + return this.getNamedChild("awaitModifier") as RemoteNode; + } + get block(): RemoteNode | undefined { + return this.getNamedChild("block") as RemoteNode; + } + get body(): RemoteNode | undefined { + return this.getNamedChild("body") as RemoteNode; + } + get caseBlock(): RemoteNode | undefined { + return this.getNamedChild("caseBlock") as RemoteNode; + } + get catchClause(): RemoteNode | undefined { + return this.getNamedChild("catchClause") as RemoteNode; + } + get checkType(): RemoteNode | undefined { + return this.getNamedChild("checkType") as RemoteNode; + } + get children(): RemoteNodeList | undefined { + return this.getNamedChild("children") as RemoteNodeList; + } + get className(): RemoteNode | undefined { + return this.getNamedChild("className") as RemoteNode; + } + get closingElement(): RemoteNode | undefined { + return this.getNamedChild("closingElement") as RemoteNode; + } + get closingFragment(): RemoteNode | undefined { + return this.getNamedChild("closingFragment") as RemoteNode; + } + get colonToken(): RemoteNode | undefined { + return this.getNamedChild("colonToken") as RemoteNode; + } + get comment(): RemoteNode | undefined { + return this.getNamedChild("comment") as RemoteNode; + } + get condition(): RemoteNode | undefined { + return this.getNamedChild("condition") as RemoteNode; + } + get constraint(): RemoteNode | undefined { + return this.getNamedChild("constraint") as RemoteNode; + } + get declarationList(): RemoteNode | undefined { + return this.getNamedChild("declarationList") as RemoteNode; + } + get defaultType(): RemoteNode | undefined { + return this.getNamedChild("defaultType") as RemoteNode; + } + get dotDotDotToken(): RemoteNode | undefined { + return this.getNamedChild("dotDotDotToken") as RemoteNode; + } + get elseStatement(): RemoteNode | undefined { + return this.getNamedChild("elseStatement") as RemoteNode; + } + get equalsGreaterThanToken(): RemoteNode | undefined { + return this.getNamedChild("equalsGreaterThanToken") as RemoteNode; + } + get equalsToken(): RemoteNode | undefined { + return this.getNamedChild("equalsToken") as RemoteNode; + } + get exclamationToken(): RemoteNode | undefined { + return this.getNamedChild("exclamationToken") as RemoteNode; + } + get exportClause(): RemoteNode | undefined { + return this.getNamedChild("exportClause") as RemoteNode; + } + get expression(): RemoteNode | undefined { + return this.getNamedChild("expression") as RemoteNode; + } + get exprName(): RemoteNode | undefined { + return this.getNamedChild("exprName") as RemoteNode; + } + get extendsType(): RemoteNode | undefined { + return this.getNamedChild("extendsType") as RemoteNode; + } + get falseType(): RemoteNode | undefined { + return this.getNamedChild("falseType") as RemoteNode; + } + get finallyBlock(): RemoteNode | undefined { + return this.getNamedChild("finallyBlock") as RemoteNode; + } + get fullName(): RemoteNode | undefined { + return this.getNamedChild("fullName") as RemoteNode; + } + get head(): RemoteNode | undefined { + return this.getNamedChild("head") as RemoteNode; + } + get heritageClauses(): RemoteNodeList | undefined { + return this.getNamedChild("heritageClauses") as RemoteNodeList; + } + get importClause(): RemoteNode | undefined { + return this.getNamedChild("importClause") as RemoteNode; + } + get incrementor(): RemoteNode | undefined { + return this.getNamedChild("incrementor") as RemoteNode; + } + get indexType(): RemoteNode | undefined { + return this.getNamedChild("indexType") as RemoteNode; + } + get initializer(): RemoteNode | undefined { + return this.getNamedChild("initializer") as RemoteNode; + } + get label(): RemoteNode | undefined { + return this.getNamedChild("label") as RemoteNode; + } + get left(): RemoteNode | undefined { + return this.getNamedChild("left") as RemoteNode; + } + get literal(): RemoteNode | undefined { + return this.getNamedChild("literal") as RemoteNode; + } + get members(): RemoteNodeList | undefined { + return this.getNamedChild("members") as RemoteNodeList; + } + get modifiers(): RemoteNodeList | undefined { + return this.getNamedChild("modifiers") as RemoteNodeList; + } + get moduleReference(): RemoteNode | undefined { + return this.getNamedChild("moduleReference") as RemoteNode; + } + get moduleSpecifier(): RemoteNode | undefined { + return this.getNamedChild("moduleSpecifier") as RemoteNode; + } + get name(): RemoteNode | undefined { + return this.getNamedChild("name") as RemoteNode; + } + get namedBindings(): RemoteNode | undefined { + return this.getNamedChild("namedBindings") as RemoteNode; + } + get nameExpression(): RemoteNode | undefined { + return this.getNamedChild("nameExpression") as RemoteNode; + } + get namespace(): RemoteNode | undefined { + return this.getNamedChild("namespace") as RemoteNode; + } + get nameType(): RemoteNode | undefined { + return this.getNamedChild("nameType") as RemoteNode; + } + get objectAssignmentInitializer(): RemoteNode | undefined { + return this.getNamedChild("objectAssignmentInitializer") as RemoteNode; + } + get objectType(): RemoteNode | undefined { + return this.getNamedChild("objectType") as RemoteNode; + } + get openingElement(): RemoteNode | undefined { + return this.getNamedChild("openingElement") as RemoteNode; + } + get openingFragment(): RemoteNode | undefined { + return this.getNamedChild("openingFragment") as RemoteNode; + } + get operatorToken(): RemoteNode | undefined { + return this.getNamedChild("operatorToken") as RemoteNode; + } + get parameterName(): RemoteNode | undefined { + return this.getNamedChild("parameterName") as RemoteNode; + } + get parameters(): RemoteNodeList | undefined { + return this.getNamedChild("parameters") as RemoteNodeList; + } + get postfixToken(): RemoteNode | undefined { + return this.getNamedChild("postfixToken") as RemoteNode; + } + get propertyName(): RemoteNode | undefined { + return this.getNamedChild("propertyName") as RemoteNode; + } + get qualifier(): RemoteNode | undefined { + return this.getNamedChild("qualifier") as RemoteNode; + } + get questionDotToken(): RemoteNode | undefined { + return this.getNamedChild("questionDotToken") as RemoteNode; + } + get questionToken(): RemoteNode | undefined { + return this.getNamedChild("questionToken") as RemoteNode; + } + get readonlyToken(): RemoteNode | undefined { + return this.getNamedChild("readonlyToken") as RemoteNode; + } + get right(): RemoteNode | undefined { + return this.getNamedChild("right") as RemoteNode; + } + get statement(): RemoteNode | undefined { + return this.getNamedChild("statement") as RemoteNode; + } + get statements(): RemoteNodeList | undefined { + return this.getNamedChild("statements") as RemoteNodeList; + } + get tag(): RemoteNode | undefined { + return this.getNamedChild("tag") as RemoteNode; + } + get tagName(): RemoteNode | undefined { + return this.getNamedChild("tagName") as RemoteNode; + } + get tags(): RemoteNodeList | undefined { + return this.getNamedChild("tags") as RemoteNodeList; + } + get template(): RemoteNode | undefined { + return this.getNamedChild("template") as RemoteNode; + } + get templateSpans(): RemoteNodeList | undefined { + return this.getNamedChild("templateSpans") as RemoteNodeList; + } + get thenStatement(): RemoteNode | undefined { + return this.getNamedChild("thenStatement") as RemoteNode; + } + get trueType(): RemoteNode | undefined { + return this.getNamedChild("trueType") as RemoteNode; + } + get tryBlock(): RemoteNode | undefined { + return this.getNamedChild("tryBlock") as RemoteNode; + } + get type(): RemoteNode | undefined { + return this.getNamedChild("type") as RemoteNode; + } + get typeArguments(): RemoteNode | undefined { + return this.getNamedChild("typeArguments") as RemoteNode; + } + get typeExpression(): RemoteNode | undefined { + return this.getNamedChild("typeExpression") as RemoteNode; + } + get typeName(): RemoteNode | undefined { + return this.getNamedChild("typeName") as RemoteNode; + } + get typeParameter(): RemoteNode | undefined { + return this.getNamedChild("typeParameter") as RemoteNode; + } + get typeParameters(): RemoteNodeList | undefined { + return this.getNamedChild("typeParameters") as RemoteNodeList; + } + get value(): RemoteNode | undefined { + return this.getNamedChild("value") as RemoteNode; + } + get variableDeclaration(): RemoteNode | undefined { + return this.getNamedChild("variableDeclaration") as RemoteNode; + } + get whenFalse(): RemoteNode | undefined { + return this.getNamedChild("whenFalse") as RemoteNode; + } + get whenTrue(): RemoteNode | undefined { + return this.getNamedChild("whenTrue") as RemoteNode; + } + + // String properties + get text(): string | undefined { + switch (this.kind) { + case SyntaxKind.JsxText: + case SyntaxKind.Identifier: + case SyntaxKind.PrivateIdentifier: + case SyntaxKind.StringLiteral: + case SyntaxKind.NumericLiteral: + case SyntaxKind.BigIntLiteral: + case SyntaxKind.RegularExpressionLiteral: + case SyntaxKind.NoSubstitutionTemplateLiteral: + case SyntaxKind.JSDocText: + const stringIndex = this.data & NodeStringIndexMask; + return this.getString(stringIndex); + } + } + + // Other properties + get flags(): number { + switch (this.kind) { + case SyntaxKind.VariableDeclarationList: + return this.data & (1 << 24 | 1 << 25) >> 24; + default: + return 0; + } + } + + get token(): SyntaxKind | undefined { + switch (this.kind) { + case SyntaxKind.ImportAttributes: + if ((this.data & 1 << 25) !== 0) { + return SyntaxKind.AssertKeyword; + } + return SyntaxKind.WithKeyword; + } + } +} diff --git a/_api/src/ast/nodeTests.ts b/_api/src/ast/nodeTests.ts new file mode 100644 index 0000000000..95b9014a8b --- /dev/null +++ b/_api/src/ast/nodeTests.ts @@ -0,0 +1,1127 @@ +import { SyntaxKind } from "#ast/syntax"; +import type { + AbstractKeyword, + AccessorKeyword, + ArrayBindingPattern, + ArrayLiteralExpression, + ArrayTypeNode, + ArrowFunction, + AsExpression, + AssertClause, + AssertEntry, + AssertsKeyword, + AsteriskToken, + AsyncKeyword, + AwaitExpression, + AwaitKeyword, + BigIntLiteral, + BinaryExpression, + BindingElement, + Block, + BreakStatement, + CallExpression, + CallSignatureDeclaration, + CaseBlock, + CaseClause, + CaseKeyword, + CatchClause, + ClassDeclaration, + ClassExpression, + ClassStaticBlockDeclaration, + ColonToken, + CommaListExpression, + ComputedPropertyName, + ConditionalExpression, + ConditionalTypeNode, + ConstructorDeclaration, + ConstructorTypeNode, + ConstructSignatureDeclaration, + ContinueStatement, + DebuggerStatement, + Decorator, + DefaultClause, + DefaultKeyword, + DeleteExpression, + DoStatement, + DotDotDotToken, + ElementAccessExpression, + EmptyStatement, + EnumDeclaration, + EnumMember, + EqualsGreaterThanToken, + ExclamationToken, + ExportAssignment, + ExportDeclaration, + ExportKeyword, + ExportSpecifier, + ExpressionStatement, + ExpressionWithTypeArguments, + ExternalModuleReference, + ForInStatement, + ForOfStatement, + ForStatement, + FunctionDeclaration, + FunctionExpression, + FunctionTypeNode, + GetAccessorDeclaration, + HeritageClause, + Identifier, + IfStatement, + ImportAttribute, + ImportAttributes, + ImportClause, + ImportDeclaration, + ImportEqualsDeclaration, + ImportExpression, + ImportSpecifier, + ImportTypeNode, + IndexedAccessTypeNode, + IndexSignatureDeclaration, + InferTypeNode, + InterfaceDeclaration, + IntersectionTypeNode, + JSDoc, + JSDocAllType, + JSDocAugmentsTag, + JSDocCallbackTag, + JSDocDeprecatedTag, + JSDocImplementsTag, + JSDocImportTag, + JSDocLink, + JSDocLinkCode, + JSDocLinkPlain, + JSDocMemberName, + JSDocNameReference, + JSDocNonNullableType, + JSDocNullableType, + JSDocOptionalType, + JSDocOverloadTag, + JSDocOverrideTag, + JSDocParameterTag, + JSDocPrivateTag, + JSDocPropertyTag, + JSDocProtectedTag, + JSDocPublicTag, + JSDocReadonlyTag, + JSDocReturnTag, + JSDocSatisfiesTag, + JSDocSeeTag, + JSDocSignature, + JSDocTemplateTag, + JSDocThisTag, + JSDocTypedefTag, + JSDocTypeExpression, + JSDocTypeLiteral, + JSDocTypeTag, + JSDocUnknownTag, + JSDocVariadicType, + JsxAttribute, + JsxAttributes, + JsxClosingElement, + JsxClosingFragment, + JsxElement, + JsxExpression, + JsxFragment, + JsxNamespacedName, + JsxOpeningElement, + JsxOpeningFragment, + JsxSelfClosingElement, + JsxSpreadAttribute, + JsxText, + LabeledStatement, + LiteralTypeNode, + MappedTypeNode, + MetaProperty, + MethodDeclaration, + MethodSignature, + MinusToken, + ModuleBlock, + ModuleDeclaration, + ModuleExportName, + NamedExports, + NamedImports, + NamedTupleMember, + NamespaceExport, + NamespaceExportDeclaration, + NamespaceImport, + NewExpression, + Node, + NonNullExpression, + NoSubstitutionTemplateLiteral, + NumericLiteral, + ObjectBindingPattern, + ObjectLiteralExpression, + OmittedExpression, + OptionalTypeNode, + OverrideKeyword, + ParameterDeclaration, + ParenthesizedExpression, + ParenthesizedTypeNode, + PartiallyEmittedExpression, + PlusToken, + PostfixUnaryExpression, + PrefixUnaryExpression, + PrivateIdentifier, + PropertyAccessExpression, + PropertyAssignment, + PropertyDeclaration, + PropertySignature, + QualifiedName, + QuestionDotToken, + QuestionToken, + ReadonlyKeyword, + RegularExpressionLiteral, + RestTypeNode, + ReturnStatement, + SatisfiesExpression, + SemicolonClassElement, + SetAccessorDeclaration, + ShorthandPropertyAssignment, + SourceFile, + SpreadAssignment, + SpreadElement, + StaticKeyword, + StringLiteral, + SuperExpression, + SwitchStatement, + TaggedTemplateExpression, + TemplateExpression, + TemplateHead, + TemplateLiteralTypeNode, + TemplateLiteralTypeSpan, + TemplateMiddle, + TemplateSpan, + TemplateTail, + ThisTypeNode, + ThrowStatement, + Token, + TryStatement, + TupleTypeNode, + TypeAliasDeclaration, + TypeAssertion, + TypeLiteralNode, + TypeOfExpression, + TypeOperatorNode, + TypeParameterDeclaration, + TypePredicateNode, + TypeQueryNode, + TypeReferenceNode, + UnionTypeNode, + VariableDeclaration, + VariableDeclarationList, + VariableStatement, + VoidExpression, + WhileStatement, + WithStatement, + YieldExpression, +} from "./ast.ts"; + +export function tryCast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut | undefined { + return value !== undefined && test(value) ? value : undefined; +} + +export function cast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut { + if (value !== undefined && test(value)) return value; + + throw new Error(`Invalid cast. The supplied value ${value} did not pass the test '${test.name}'.`); +} + +// Literals + +export function isNumericLiteral(node: Node): node is NumericLiteral { + return node.kind === SyntaxKind.NumericLiteral; +} + +export function isBigIntLiteral(node: Node): node is BigIntLiteral { + return node.kind === SyntaxKind.BigIntLiteral; +} + +export function isStringLiteral(node: Node): node is StringLiteral { + return node.kind === SyntaxKind.StringLiteral; +} + +export function isJsxText(node: Node): node is JsxText { + return node.kind === SyntaxKind.JsxText; +} + +export function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral { + return node.kind === SyntaxKind.RegularExpressionLiteral; +} + +export function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral { + return node.kind === SyntaxKind.NoSubstitutionTemplateLiteral; +} + +// Pseudo-literals + +export function isTemplateHead(node: Node): node is TemplateHead { + return node.kind === SyntaxKind.TemplateHead; +} + +export function isTemplateMiddle(node: Node): node is TemplateMiddle { + return node.kind === SyntaxKind.TemplateMiddle; +} + +export function isTemplateTail(node: Node): node is TemplateTail { + return node.kind === SyntaxKind.TemplateTail; +} + +// Punctuation + +export function isDotDotDotToken(node: Node): node is DotDotDotToken { + return node.kind === SyntaxKind.DotDotDotToken; +} + +/** @internal */ +export function isCommaToken(node: Node): node is Token { + return node.kind === SyntaxKind.CommaToken; +} + +export function isPlusToken(node: Node): node is PlusToken { + return node.kind === SyntaxKind.PlusToken; +} + +export function isMinusToken(node: Node): node is MinusToken { + return node.kind === SyntaxKind.MinusToken; +} + +export function isAsteriskToken(node: Node): node is AsteriskToken { + return node.kind === SyntaxKind.AsteriskToken; +} + +export function isExclamationToken(node: Node): node is ExclamationToken { + return node.kind === SyntaxKind.ExclamationToken; +} + +export function isQuestionToken(node: Node): node is QuestionToken { + return node.kind === SyntaxKind.QuestionToken; +} + +export function isColonToken(node: Node): node is ColonToken { + return node.kind === SyntaxKind.ColonToken; +} + +export function isQuestionDotToken(node: Node): node is QuestionDotToken { + return node.kind === SyntaxKind.QuestionDotToken; +} + +export function isEqualsGreaterThanToken(node: Node): node is EqualsGreaterThanToken { + return node.kind === SyntaxKind.EqualsGreaterThanToken; +} + +// Identifiers + +export function isIdentifier(node: Node): node is Identifier { + return node.kind === SyntaxKind.Identifier; +} + +export function isPrivateIdentifier(node: Node): node is PrivateIdentifier { + return node.kind === SyntaxKind.PrivateIdentifier; +} + +// Reserved Words + +/** @internal */ +export function isExportModifier(node: Node): node is ExportKeyword { + return node.kind === SyntaxKind.ExportKeyword; +} + +/** @internal */ +export function isDefaultModifier(node: Node): node is DefaultKeyword { + return node.kind === SyntaxKind.DefaultKeyword; +} + +/** @internal */ +export function isAsyncModifier(node: Node): node is AsyncKeyword { + return node.kind === SyntaxKind.AsyncKeyword; +} + +export function isAssertsKeyword(node: Node): node is AssertsKeyword { + return node.kind === SyntaxKind.AssertsKeyword; +} + +export function isAwaitKeyword(node: Node): node is AwaitKeyword { + return node.kind === SyntaxKind.AwaitKeyword; +} + +/** @internal */ +export function isReadonlyKeyword(node: Node): node is ReadonlyKeyword { + return node.kind === SyntaxKind.ReadonlyKeyword; +} + +/** @internal */ +export function isStaticModifier(node: Node): node is StaticKeyword { + return node.kind === SyntaxKind.StaticKeyword; +} + +/** @internal */ +export function isAbstractModifier(node: Node): node is AbstractKeyword { + return node.kind === SyntaxKind.AbstractKeyword; +} + +/** @internal */ +export function isOverrideModifier(node: Node): node is OverrideKeyword { + return node.kind === SyntaxKind.OverrideKeyword; +} + +/** @internal */ +export function isAccessorModifier(node: Node): node is AccessorKeyword { + return node.kind === SyntaxKind.AccessorKeyword; +} + +/** @internal */ +export function isSuperKeyword(node: Node): node is SuperExpression { + return node.kind === SyntaxKind.SuperKeyword; +} + +/** @internal */ +export function isImportKeyword(node: Node): node is ImportExpression { + return node.kind === SyntaxKind.ImportKeyword; +} + +/** @internal */ +export function isCaseKeyword(node: Node): node is CaseKeyword { + return node.kind === SyntaxKind.CaseKeyword; +} + +// Names + +export function isQualifiedName(node: Node): node is QualifiedName { + return node.kind === SyntaxKind.QualifiedName; +} + +export function isComputedPropertyName(node: Node): node is ComputedPropertyName { + return node.kind === SyntaxKind.ComputedPropertyName; +} + +// Signature elements + +export function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration { + return node.kind === SyntaxKind.TypeParameter; +} + +// TODO(rbuckton): Rename to 'isParameterDeclaration' +export function isParameter(node: Node): node is ParameterDeclaration { + return node.kind === SyntaxKind.Parameter; +} + +export function isDecorator(node: Node): node is Decorator { + return node.kind === SyntaxKind.Decorator; +} + +// TypeMember + +export function isPropertySignature(node: Node): node is PropertySignature { + return node.kind === SyntaxKind.PropertySignature; +} + +export function isPropertyDeclaration(node: Node): node is PropertyDeclaration { + return node.kind === SyntaxKind.PropertyDeclaration; +} + +export function isMethodSignature(node: Node): node is MethodSignature { + return node.kind === SyntaxKind.MethodSignature; +} + +export function isMethodDeclaration(node: Node): node is MethodDeclaration { + return node.kind === SyntaxKind.MethodDeclaration; +} + +export function isClassStaticBlockDeclaration(node: Node): node is ClassStaticBlockDeclaration { + return node.kind === SyntaxKind.ClassStaticBlockDeclaration; +} + +export function isConstructorDeclaration(node: Node): node is ConstructorDeclaration { + return node.kind === SyntaxKind.Constructor; +} + +export function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration { + return node.kind === SyntaxKind.GetAccessor; +} + +export function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration { + return node.kind === SyntaxKind.SetAccessor; +} + +export function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration { + return node.kind === SyntaxKind.CallSignature; +} + +export function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration { + return node.kind === SyntaxKind.ConstructSignature; +} + +export function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration { + return node.kind === SyntaxKind.IndexSignature; +} + +// Type + +export function isTypePredicateNode(node: Node): node is TypePredicateNode { + return node.kind === SyntaxKind.TypePredicate; +} + +export function isTypeReferenceNode(node: Node): node is TypeReferenceNode { + return node.kind === SyntaxKind.TypeReference; +} + +export function isFunctionTypeNode(node: Node): node is FunctionTypeNode { + return node.kind === SyntaxKind.FunctionType; +} + +export function isConstructorTypeNode(node: Node): node is ConstructorTypeNode { + return node.kind === SyntaxKind.ConstructorType; +} + +export function isTypeQueryNode(node: Node): node is TypeQueryNode { + return node.kind === SyntaxKind.TypeQuery; +} + +export function isTypeLiteralNode(node: Node): node is TypeLiteralNode { + return node.kind === SyntaxKind.TypeLiteral; +} + +export function isArrayTypeNode(node: Node): node is ArrayTypeNode { + return node.kind === SyntaxKind.ArrayType; +} + +export function isTupleTypeNode(node: Node): node is TupleTypeNode { + return node.kind === SyntaxKind.TupleType; +} + +export function isNamedTupleMember(node: Node): node is NamedTupleMember { + return node.kind === SyntaxKind.NamedTupleMember; +} + +export function isOptionalTypeNode(node: Node): node is OptionalTypeNode { + return node.kind === SyntaxKind.OptionalType; +} + +export function isRestTypeNode(node: Node): node is RestTypeNode { + return node.kind === SyntaxKind.RestType; +} + +export function isUnionTypeNode(node: Node): node is UnionTypeNode { + return node.kind === SyntaxKind.UnionType; +} + +export function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode { + return node.kind === SyntaxKind.IntersectionType; +} + +export function isConditionalTypeNode(node: Node): node is ConditionalTypeNode { + return node.kind === SyntaxKind.ConditionalType; +} + +export function isInferTypeNode(node: Node): node is InferTypeNode { + return node.kind === SyntaxKind.InferType; +} + +export function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode { + return node.kind === SyntaxKind.ParenthesizedType; +} + +export function isThisTypeNode(node: Node): node is ThisTypeNode { + return node.kind === SyntaxKind.ThisType; +} + +export function isTypeOperatorNode(node: Node): node is TypeOperatorNode { + return node.kind === SyntaxKind.TypeOperator; +} + +export function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode { + return node.kind === SyntaxKind.IndexedAccessType; +} + +export function isMappedTypeNode(node: Node): node is MappedTypeNode { + return node.kind === SyntaxKind.MappedType; +} + +export function isLiteralTypeNode(node: Node): node is LiteralTypeNode { + return node.kind === SyntaxKind.LiteralType; +} + +export function isImportTypeNode(node: Node): node is ImportTypeNode { + return node.kind === SyntaxKind.ImportType; +} + +export function isTemplateLiteralTypeSpan(node: Node): node is TemplateLiteralTypeSpan { + return node.kind === SyntaxKind.TemplateLiteralTypeSpan; +} + +export function isTemplateLiteralTypeNode(node: Node): node is TemplateLiteralTypeNode { + return node.kind === SyntaxKind.TemplateLiteralType; +} + +// Binding patterns + +export function isObjectBindingPattern(node: Node): node is ObjectBindingPattern { + return node.kind === SyntaxKind.ObjectBindingPattern; +} + +export function isArrayBindingPattern(node: Node): node is ArrayBindingPattern { + return node.kind === SyntaxKind.ArrayBindingPattern; +} + +export function isBindingElement(node: Node): node is BindingElement { + return node.kind === SyntaxKind.BindingElement; +} + +// Expression + +export function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression { + return node.kind === SyntaxKind.ArrayLiteralExpression; +} + +export function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression { + return node.kind === SyntaxKind.ObjectLiteralExpression; +} + +export function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression { + return node.kind === SyntaxKind.PropertyAccessExpression; +} + +export function isElementAccessExpression(node: Node): node is ElementAccessExpression { + return node.kind === SyntaxKind.ElementAccessExpression; +} + +export function isCallExpression(node: Node): node is CallExpression { + return node.kind === SyntaxKind.CallExpression; +} + +export function isNewExpression(node: Node): node is NewExpression { + return node.kind === SyntaxKind.NewExpression; +} + +export function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression { + return node.kind === SyntaxKind.TaggedTemplateExpression; +} + +export function isTypeAssertionExpression(node: Node): node is TypeAssertion { + return node.kind === SyntaxKind.TypeAssertionExpression; +} + +export function isParenthesizedExpression(node: Node): node is ParenthesizedExpression { + return node.kind === SyntaxKind.ParenthesizedExpression; +} + +export function isFunctionExpression(node: Node): node is FunctionExpression { + return node.kind === SyntaxKind.FunctionExpression; +} + +export function isArrowFunction(node: Node): node is ArrowFunction { + return node.kind === SyntaxKind.ArrowFunction; +} + +export function isDeleteExpression(node: Node): node is DeleteExpression { + return node.kind === SyntaxKind.DeleteExpression; +} + +export function isTypeOfExpression(node: Node): node is TypeOfExpression { + return node.kind === SyntaxKind.TypeOfExpression; +} + +export function isVoidExpression(node: Node): node is VoidExpression { + return node.kind === SyntaxKind.VoidExpression; +} + +export function isAwaitExpression(node: Node): node is AwaitExpression { + return node.kind === SyntaxKind.AwaitExpression; +} + +export function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression { + return node.kind === SyntaxKind.PrefixUnaryExpression; +} + +export function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression { + return node.kind === SyntaxKind.PostfixUnaryExpression; +} + +export function isBinaryExpression(node: Node): node is BinaryExpression { + return node.kind === SyntaxKind.BinaryExpression; +} + +export function isConditionalExpression(node: Node): node is ConditionalExpression { + return node.kind === SyntaxKind.ConditionalExpression; +} + +export function isTemplateExpression(node: Node): node is TemplateExpression { + return node.kind === SyntaxKind.TemplateExpression; +} + +export function isYieldExpression(node: Node): node is YieldExpression { + return node.kind === SyntaxKind.YieldExpression; +} + +export function isSpreadElement(node: Node): node is SpreadElement { + return node.kind === SyntaxKind.SpreadElement; +} + +export function isClassExpression(node: Node): node is ClassExpression { + return node.kind === SyntaxKind.ClassExpression; +} + +export function isOmittedExpression(node: Node): node is OmittedExpression { + return node.kind === SyntaxKind.OmittedExpression; +} + +export function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments { + return node.kind === SyntaxKind.ExpressionWithTypeArguments; +} + +export function isAsExpression(node: Node): node is AsExpression { + return node.kind === SyntaxKind.AsExpression; +} + +export function isSatisfiesExpression(node: Node): node is SatisfiesExpression { + return node.kind === SyntaxKind.SatisfiesExpression; +} + +export function isNonNullExpression(node: Node): node is NonNullExpression { + return node.kind === SyntaxKind.NonNullExpression; +} + +export function isMetaProperty(node: Node): node is MetaProperty { + return node.kind === SyntaxKind.MetaProperty; +} + +export function isPartiallyEmittedExpression(node: Node): node is PartiallyEmittedExpression { + return node.kind === SyntaxKind.PartiallyEmittedExpression; +} + +export function isCommaListExpression(node: Node): node is CommaListExpression { + return node.kind === SyntaxKind.CommaListExpression; +} + +// Misc + +export function isTemplateSpan(node: Node): node is TemplateSpan { + return node.kind === SyntaxKind.TemplateSpan; +} + +export function isSemicolonClassElement(node: Node): node is SemicolonClassElement { + return node.kind === SyntaxKind.SemicolonClassElement; +} + +// Elements + +export function isBlock(node: Node): node is Block { + return node.kind === SyntaxKind.Block; +} + +export function isVariableStatement(node: Node): node is VariableStatement { + return node.kind === SyntaxKind.VariableStatement; +} + +export function isEmptyStatement(node: Node): node is EmptyStatement { + return node.kind === SyntaxKind.EmptyStatement; +} + +export function isExpressionStatement(node: Node): node is ExpressionStatement { + return node.kind === SyntaxKind.ExpressionStatement; +} + +export function isIfStatement(node: Node): node is IfStatement { + return node.kind === SyntaxKind.IfStatement; +} + +export function isDoStatement(node: Node): node is DoStatement { + return node.kind === SyntaxKind.DoStatement; +} + +export function isWhileStatement(node: Node): node is WhileStatement { + return node.kind === SyntaxKind.WhileStatement; +} + +export function isForStatement(node: Node): node is ForStatement { + return node.kind === SyntaxKind.ForStatement; +} + +export function isForInStatement(node: Node): node is ForInStatement { + return node.kind === SyntaxKind.ForInStatement; +} + +export function isForOfStatement(node: Node): node is ForOfStatement { + return node.kind === SyntaxKind.ForOfStatement; +} + +export function isContinueStatement(node: Node): node is ContinueStatement { + return node.kind === SyntaxKind.ContinueStatement; +} + +export function isBreakStatement(node: Node): node is BreakStatement { + return node.kind === SyntaxKind.BreakStatement; +} + +export function isReturnStatement(node: Node): node is ReturnStatement { + return node.kind === SyntaxKind.ReturnStatement; +} + +export function isWithStatement(node: Node): node is WithStatement { + return node.kind === SyntaxKind.WithStatement; +} + +export function isSwitchStatement(node: Node): node is SwitchStatement { + return node.kind === SyntaxKind.SwitchStatement; +} + +export function isLabeledStatement(node: Node): node is LabeledStatement { + return node.kind === SyntaxKind.LabeledStatement; +} + +export function isThrowStatement(node: Node): node is ThrowStatement { + return node.kind === SyntaxKind.ThrowStatement; +} + +export function isTryStatement(node: Node): node is TryStatement { + return node.kind === SyntaxKind.TryStatement; +} + +export function isDebuggerStatement(node: Node): node is DebuggerStatement { + return node.kind === SyntaxKind.DebuggerStatement; +} + +export function isVariableDeclaration(node: Node): node is VariableDeclaration { + return node.kind === SyntaxKind.VariableDeclaration; +} + +export function isVariableDeclarationList(node: Node): node is VariableDeclarationList { + return node.kind === SyntaxKind.VariableDeclarationList; +} + +export function isFunctionDeclaration(node: Node): node is FunctionDeclaration { + return node.kind === SyntaxKind.FunctionDeclaration; +} + +export function isClassDeclaration(node: Node): node is ClassDeclaration { + return node.kind === SyntaxKind.ClassDeclaration; +} + +export function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration { + return node.kind === SyntaxKind.InterfaceDeclaration; +} + +export function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration { + return node.kind === SyntaxKind.TypeAliasDeclaration; +} + +export function isEnumDeclaration(node: Node): node is EnumDeclaration { + return node.kind === SyntaxKind.EnumDeclaration; +} + +export function isModuleDeclaration(node: Node): node is ModuleDeclaration { + return node.kind === SyntaxKind.ModuleDeclaration; +} + +export function isModuleBlock(node: Node): node is ModuleBlock { + return node.kind === SyntaxKind.ModuleBlock; +} + +export function isCaseBlock(node: Node): node is CaseBlock { + return node.kind === SyntaxKind.CaseBlock; +} + +export function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration { + return node.kind === SyntaxKind.NamespaceExportDeclaration; +} + +export function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration { + return node.kind === SyntaxKind.ImportEqualsDeclaration; +} + +export function isImportDeclaration(node: Node): node is ImportDeclaration { + return node.kind === SyntaxKind.ImportDeclaration; +} + +export function isImportClause(node: Node): node is ImportClause { + return node.kind === SyntaxKind.ImportClause; +} + +export function isImportAttributes(node: Node): node is ImportAttributes { + return node.kind === SyntaxKind.ImportAttributes; +} + +export function isImportAttribute(node: Node): node is ImportAttribute { + return node.kind === SyntaxKind.ImportAttribute; +} + +export function isNamespaceImport(node: Node): node is NamespaceImport { + return node.kind === SyntaxKind.NamespaceImport; +} + +export function isNamespaceExport(node: Node): node is NamespaceExport { + return node.kind === SyntaxKind.NamespaceExport; +} + +export function isNamedImports(node: Node): node is NamedImports { + return node.kind === SyntaxKind.NamedImports; +} + +export function isImportSpecifier(node: Node): node is ImportSpecifier { + return node.kind === SyntaxKind.ImportSpecifier; +} + +export function isExportAssignment(node: Node): node is ExportAssignment { + return node.kind === SyntaxKind.ExportAssignment; +} + +export function isExportDeclaration(node: Node): node is ExportDeclaration { + return node.kind === SyntaxKind.ExportDeclaration; +} + +export function isNamedExports(node: Node): node is NamedExports { + return node.kind === SyntaxKind.NamedExports; +} + +export function isExportSpecifier(node: Node): node is ExportSpecifier { + return node.kind === SyntaxKind.ExportSpecifier; +} + +export function isModuleExportName(node: Node): node is ModuleExportName { + return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral; +} + +// Module References + +export function isExternalModuleReference(node: Node): node is ExternalModuleReference { + return node.kind === SyntaxKind.ExternalModuleReference; +} + +// JSX + +export function isJsxElement(node: Node): node is JsxElement { + return node.kind === SyntaxKind.JsxElement; +} + +export function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement { + return node.kind === SyntaxKind.JsxSelfClosingElement; +} + +export function isJsxOpeningElement(node: Node): node is JsxOpeningElement { + return node.kind === SyntaxKind.JsxOpeningElement; +} + +export function isJsxClosingElement(node: Node): node is JsxClosingElement { + return node.kind === SyntaxKind.JsxClosingElement; +} + +export function isJsxFragment(node: Node): node is JsxFragment { + return node.kind === SyntaxKind.JsxFragment; +} + +export function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment { + return node.kind === SyntaxKind.JsxOpeningFragment; +} + +export function isJsxClosingFragment(node: Node): node is JsxClosingFragment { + return node.kind === SyntaxKind.JsxClosingFragment; +} + +export function isJsxAttribute(node: Node): node is JsxAttribute { + return node.kind === SyntaxKind.JsxAttribute; +} + +export function isJsxAttributes(node: Node): node is JsxAttributes { + return node.kind === SyntaxKind.JsxAttributes; +} + +export function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute { + return node.kind === SyntaxKind.JsxSpreadAttribute; +} + +export function isJsxExpression(node: Node): node is JsxExpression { + return node.kind === SyntaxKind.JsxExpression; +} + +export function isJsxNamespacedName(node: Node): node is JsxNamespacedName { + return node.kind === SyntaxKind.JsxNamespacedName; +} + +// Clauses + +export function isCaseClause(node: Node): node is CaseClause { + return node.kind === SyntaxKind.CaseClause; +} + +export function isDefaultClause(node: Node): node is DefaultClause { + return node.kind === SyntaxKind.DefaultClause; +} + +export function isHeritageClause(node: Node): node is HeritageClause { + return node.kind === SyntaxKind.HeritageClause; +} + +export function isCatchClause(node: Node): node is CatchClause { + return node.kind === SyntaxKind.CatchClause; +} + +// Property assignments + +export function isPropertyAssignment(node: Node): node is PropertyAssignment { + return node.kind === SyntaxKind.PropertyAssignment; +} + +export function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment { + return node.kind === SyntaxKind.ShorthandPropertyAssignment; +} + +export function isSpreadAssignment(node: Node): node is SpreadAssignment { + return node.kind === SyntaxKind.SpreadAssignment; +} + +// Enum + +export function isEnumMember(node: Node): node is EnumMember { + return node.kind === SyntaxKind.EnumMember; +} + +// Top-level nodes +export function isSourceFile(node: Node): node is SourceFile { + return node.kind === SyntaxKind.SourceFile; +} + +// TODO(rbuckton): isInputFiles + +// JSDoc Elements + +export function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression { + return node.kind === SyntaxKind.JSDocTypeExpression; +} + +export function isJSDocNameReference(node: Node): node is JSDocNameReference { + return node.kind === SyntaxKind.JSDocNameReference; +} + +export function isJSDocMemberName(node: Node): node is JSDocMemberName { + return node.kind === SyntaxKind.JSDocMemberName; +} + +export function isJSDocLink(node: Node): node is JSDocLink { + return node.kind === SyntaxKind.JSDocLink; +} + +export function isJSDocLinkCode(node: Node): node is JSDocLinkCode { + return node.kind === SyntaxKind.JSDocLinkCode; +} + +export function isJSDocLinkPlain(node: Node): node is JSDocLinkPlain { + return node.kind === SyntaxKind.JSDocLinkPlain; +} + +export function isJSDocAllType(node: Node): node is JSDocAllType { + return node.kind === SyntaxKind.JSDocAllType; +} + +export function isJSDocNullableType(node: Node): node is JSDocNullableType { + return node.kind === SyntaxKind.JSDocNullableType; +} + +export function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType { + return node.kind === SyntaxKind.JSDocNonNullableType; +} + +export function isJSDocOptionalType(node: Node): node is JSDocOptionalType { + return node.kind === SyntaxKind.JSDocOptionalType; +} + +export function isJSDocVariadicType(node: Node): node is JSDocVariadicType { + return node.kind === SyntaxKind.JSDocVariadicType; +} + +export function isJSDoc(node: Node): node is JSDoc { + return node.kind === SyntaxKind.JSDoc; +} + +export function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral { + return node.kind === SyntaxKind.JSDocTypeLiteral; +} + +export function isJSDocSignature(node: Node): node is JSDocSignature { + return node.kind === SyntaxKind.JSDocSignature; +} + +// JSDoc Tags + +export function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag { + return node.kind === SyntaxKind.JSDocAugmentsTag; +} + +export function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag { + return node.kind === SyntaxKind.JSDocCallbackTag; +} + +export function isJSDocPublicTag(node: Node): node is JSDocPublicTag { + return node.kind === SyntaxKind.JSDocPublicTag; +} + +export function isJSDocPrivateTag(node: Node): node is JSDocPrivateTag { + return node.kind === SyntaxKind.JSDocPrivateTag; +} + +export function isJSDocProtectedTag(node: Node): node is JSDocProtectedTag { + return node.kind === SyntaxKind.JSDocProtectedTag; +} + +export function isJSDocReadonlyTag(node: Node): node is JSDocReadonlyTag { + return node.kind === SyntaxKind.JSDocReadonlyTag; +} + +export function isJSDocOverrideTag(node: Node): node is JSDocOverrideTag { + return node.kind === SyntaxKind.JSDocOverrideTag; +} + +export function isJSDocOverloadTag(node: Node): node is JSDocOverloadTag { + return node.kind === SyntaxKind.JSDocOverloadTag; +} + +export function isJSDocDeprecatedTag(node: Node): node is JSDocDeprecatedTag { + return node.kind === SyntaxKind.JSDocDeprecatedTag; +} + +export function isJSDocSeeTag(node: Node): node is JSDocSeeTag { + return node.kind === SyntaxKind.JSDocSeeTag; +} + +export function isJSDocParameterTag(node: Node): node is JSDocParameterTag { + return node.kind === SyntaxKind.JSDocParameterTag; +} + +export function isJSDocReturnTag(node: Node): node is JSDocReturnTag { + return node.kind === SyntaxKind.JSDocReturnTag; +} + +export function isJSDocThisTag(node: Node): node is JSDocThisTag { + return node.kind === SyntaxKind.JSDocThisTag; +} + +export function isJSDocTypeTag(node: Node): node is JSDocTypeTag { + return node.kind === SyntaxKind.JSDocTypeTag; +} + +export function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag { + return node.kind === SyntaxKind.JSDocTemplateTag; +} + +export function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag { + return node.kind === SyntaxKind.JSDocTypedefTag; +} + +export function isJSDocUnknownTag(node: Node): node is JSDocUnknownTag { + return node.kind === SyntaxKind.JSDocTag; +} + +export function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag { + return node.kind === SyntaxKind.JSDocPropertyTag; +} + +export function isJSDocImplementsTag(node: Node): node is JSDocImplementsTag { + return node.kind === SyntaxKind.JSDocImplementsTag; +} + +export function isJSDocSatisfiesTag(node: Node): node is JSDocSatisfiesTag { + return node.kind === SyntaxKind.JSDocSatisfiesTag; +} + +export function isJSDocImportTag(node: Node): node is JSDocImportTag { + return node.kind === SyntaxKind.JSDocImportTag; +} diff --git a/_api/src/syntaxKind.ts b/_api/src/ast/syntaxKind.enum.ts similarity index 100% rename from _api/src/syntaxKind.ts rename to _api/src/ast/syntaxKind.enum.ts diff --git a/_api/src/ast/syntaxKind.js b/_api/src/ast/syntaxKind.js new file mode 100644 index 0000000000..f669258b93 --- /dev/null +++ b/_api/src/ast/syntaxKind.js @@ -0,0 +1,406 @@ +export var SyntaxKind; +(function (SyntaxKind) { + SyntaxKind[(SyntaxKind["Unknown"] = 0)] = "Unknown"; + SyntaxKind[(SyntaxKind["EndOfFile"] = 1)] = "EndOfFile"; + SyntaxKind[(SyntaxKind["SingleLineCommentTrivia"] = 2)] = + "SingleLineCommentTrivia"; + SyntaxKind[(SyntaxKind["MultiLineCommentTrivia"] = 3)] = + "MultiLineCommentTrivia"; + SyntaxKind[(SyntaxKind["NewLineTrivia"] = 4)] = "NewLineTrivia"; + SyntaxKind[(SyntaxKind["WhitespaceTrivia"] = 5)] = "WhitespaceTrivia"; + SyntaxKind[(SyntaxKind["ConflictMarkerTrivia"] = 6)] = "ConflictMarkerTrivia"; + SyntaxKind[(SyntaxKind["NonTextFileMarkerTrivia"] = 7)] = + "NonTextFileMarkerTrivia"; + SyntaxKind[(SyntaxKind["NumericLiteral"] = 8)] = "NumericLiteral"; + SyntaxKind[(SyntaxKind["BigIntLiteral"] = 9)] = "BigIntLiteral"; + SyntaxKind[(SyntaxKind["StringLiteral"] = 10)] = "StringLiteral"; + SyntaxKind[(SyntaxKind["JsxText"] = 11)] = "JsxText"; + SyntaxKind[(SyntaxKind["JsxTextAllWhiteSpaces"] = 12)] = + "JsxTextAllWhiteSpaces"; + SyntaxKind[(SyntaxKind["RegularExpressionLiteral"] = 13)] = + "RegularExpressionLiteral"; + SyntaxKind[(SyntaxKind["NoSubstitutionTemplateLiteral"] = 14)] = + "NoSubstitutionTemplateLiteral"; + SyntaxKind[(SyntaxKind["TemplateHead"] = 15)] = "TemplateHead"; + SyntaxKind[(SyntaxKind["TemplateMiddle"] = 16)] = "TemplateMiddle"; + SyntaxKind[(SyntaxKind["TemplateTail"] = 17)] = "TemplateTail"; + SyntaxKind[(SyntaxKind["OpenBraceToken"] = 18)] = "OpenBraceToken"; + SyntaxKind[(SyntaxKind["CloseBraceToken"] = 19)] = "CloseBraceToken"; + SyntaxKind[(SyntaxKind["OpenParenToken"] = 20)] = "OpenParenToken"; + SyntaxKind[(SyntaxKind["CloseParenToken"] = 21)] = "CloseParenToken"; + SyntaxKind[(SyntaxKind["OpenBracketToken"] = 22)] = "OpenBracketToken"; + SyntaxKind[(SyntaxKind["CloseBracketToken"] = 23)] = "CloseBracketToken"; + SyntaxKind[(SyntaxKind["DotToken"] = 24)] = "DotToken"; + SyntaxKind[(SyntaxKind["DotDotDotToken"] = 25)] = "DotDotDotToken"; + SyntaxKind[(SyntaxKind["SemicolonToken"] = 26)] = "SemicolonToken"; + SyntaxKind[(SyntaxKind["CommaToken"] = 27)] = "CommaToken"; + SyntaxKind[(SyntaxKind["QuestionDotToken"] = 28)] = "QuestionDotToken"; + SyntaxKind[(SyntaxKind["LessThanToken"] = 29)] = "LessThanToken"; + SyntaxKind[(SyntaxKind["LessThanSlashToken"] = 30)] = "LessThanSlashToken"; + SyntaxKind[(SyntaxKind["GreaterThanToken"] = 31)] = "GreaterThanToken"; + SyntaxKind[(SyntaxKind["LessThanEqualsToken"] = 32)] = "LessThanEqualsToken"; + SyntaxKind[(SyntaxKind["GreaterThanEqualsToken"] = 33)] = + "GreaterThanEqualsToken"; + SyntaxKind[(SyntaxKind["EqualsEqualsToken"] = 34)] = "EqualsEqualsToken"; + SyntaxKind[(SyntaxKind["ExclamationEqualsToken"] = 35)] = + "ExclamationEqualsToken"; + SyntaxKind[(SyntaxKind["EqualsEqualsEqualsToken"] = 36)] = + "EqualsEqualsEqualsToken"; + SyntaxKind[(SyntaxKind["ExclamationEqualsEqualsToken"] = 37)] = + "ExclamationEqualsEqualsToken"; + SyntaxKind[(SyntaxKind["EqualsGreaterThanToken"] = 38)] = + "EqualsGreaterThanToken"; + SyntaxKind[(SyntaxKind["PlusToken"] = 39)] = "PlusToken"; + SyntaxKind[(SyntaxKind["MinusToken"] = 40)] = "MinusToken"; + SyntaxKind[(SyntaxKind["AsteriskToken"] = 41)] = "AsteriskToken"; + SyntaxKind[(SyntaxKind["AsteriskAsteriskToken"] = 42)] = + "AsteriskAsteriskToken"; + SyntaxKind[(SyntaxKind["SlashToken"] = 43)] = "SlashToken"; + SyntaxKind[(SyntaxKind["PercentToken"] = 44)] = "PercentToken"; + SyntaxKind[(SyntaxKind["PlusPlusToken"] = 45)] = "PlusPlusToken"; + SyntaxKind[(SyntaxKind["MinusMinusToken"] = 46)] = "MinusMinusToken"; + SyntaxKind[(SyntaxKind["LessThanLessThanToken"] = 47)] = + "LessThanLessThanToken"; + SyntaxKind[(SyntaxKind["GreaterThanGreaterThanToken"] = 48)] = + "GreaterThanGreaterThanToken"; + SyntaxKind[(SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 49)] = + "GreaterThanGreaterThanGreaterThanToken"; + SyntaxKind[(SyntaxKind["AmpersandToken"] = 50)] = "AmpersandToken"; + SyntaxKind[(SyntaxKind["BarToken"] = 51)] = "BarToken"; + SyntaxKind[(SyntaxKind["CaretToken"] = 52)] = "CaretToken"; + SyntaxKind[(SyntaxKind["ExclamationToken"] = 53)] = "ExclamationToken"; + SyntaxKind[(SyntaxKind["TildeToken"] = 54)] = "TildeToken"; + SyntaxKind[(SyntaxKind["AmpersandAmpersandToken"] = 55)] = + "AmpersandAmpersandToken"; + SyntaxKind[(SyntaxKind["BarBarToken"] = 56)] = "BarBarToken"; + SyntaxKind[(SyntaxKind["QuestionToken"] = 57)] = "QuestionToken"; + SyntaxKind[(SyntaxKind["ColonToken"] = 58)] = "ColonToken"; + SyntaxKind[(SyntaxKind["AtToken"] = 59)] = "AtToken"; + SyntaxKind[(SyntaxKind["QuestionQuestionToken"] = 60)] = + "QuestionQuestionToken"; + SyntaxKind[(SyntaxKind["BacktickToken"] = 61)] = "BacktickToken"; + SyntaxKind[(SyntaxKind["HashToken"] = 62)] = "HashToken"; + SyntaxKind[(SyntaxKind["EqualsToken"] = 63)] = "EqualsToken"; + SyntaxKind[(SyntaxKind["PlusEqualsToken"] = 64)] = "PlusEqualsToken"; + SyntaxKind[(SyntaxKind["MinusEqualsToken"] = 65)] = "MinusEqualsToken"; + SyntaxKind[(SyntaxKind["AsteriskEqualsToken"] = 66)] = "AsteriskEqualsToken"; + SyntaxKind[(SyntaxKind["AsteriskAsteriskEqualsToken"] = 67)] = + "AsteriskAsteriskEqualsToken"; + SyntaxKind[(SyntaxKind["SlashEqualsToken"] = 68)] = "SlashEqualsToken"; + SyntaxKind[(SyntaxKind["PercentEqualsToken"] = 69)] = "PercentEqualsToken"; + SyntaxKind[(SyntaxKind["LessThanLessThanEqualsToken"] = 70)] = + "LessThanLessThanEqualsToken"; + SyntaxKind[(SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 71)] = + "GreaterThanGreaterThanEqualsToken"; + SyntaxKind[ + (SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 72) + ] = "GreaterThanGreaterThanGreaterThanEqualsToken"; + SyntaxKind[(SyntaxKind["AmpersandEqualsToken"] = 73)] = + "AmpersandEqualsToken"; + SyntaxKind[(SyntaxKind["BarEqualsToken"] = 74)] = "BarEqualsToken"; + SyntaxKind[(SyntaxKind["BarBarEqualsToken"] = 75)] = "BarBarEqualsToken"; + SyntaxKind[(SyntaxKind["AmpersandAmpersandEqualsToken"] = 76)] = + "AmpersandAmpersandEqualsToken"; + SyntaxKind[(SyntaxKind["QuestionQuestionEqualsToken"] = 77)] = + "QuestionQuestionEqualsToken"; + SyntaxKind[(SyntaxKind["CaretEqualsToken"] = 78)] = "CaretEqualsToken"; + SyntaxKind[(SyntaxKind["Identifier"] = 79)] = "Identifier"; + SyntaxKind[(SyntaxKind["PrivateIdentifier"] = 80)] = "PrivateIdentifier"; + SyntaxKind[(SyntaxKind["JSDocCommentTextToken"] = 81)] = + "JSDocCommentTextToken"; + SyntaxKind[(SyntaxKind["BreakKeyword"] = 82)] = "BreakKeyword"; + SyntaxKind[(SyntaxKind["CaseKeyword"] = 83)] = "CaseKeyword"; + SyntaxKind[(SyntaxKind["CatchKeyword"] = 84)] = "CatchKeyword"; + SyntaxKind[(SyntaxKind["ClassKeyword"] = 85)] = "ClassKeyword"; + SyntaxKind[(SyntaxKind["ConstKeyword"] = 86)] = "ConstKeyword"; + SyntaxKind[(SyntaxKind["ContinueKeyword"] = 87)] = "ContinueKeyword"; + SyntaxKind[(SyntaxKind["DebuggerKeyword"] = 88)] = "DebuggerKeyword"; + SyntaxKind[(SyntaxKind["DefaultKeyword"] = 89)] = "DefaultKeyword"; + SyntaxKind[(SyntaxKind["DeleteKeyword"] = 90)] = "DeleteKeyword"; + SyntaxKind[(SyntaxKind["DoKeyword"] = 91)] = "DoKeyword"; + SyntaxKind[(SyntaxKind["ElseKeyword"] = 92)] = "ElseKeyword"; + SyntaxKind[(SyntaxKind["EnumKeyword"] = 93)] = "EnumKeyword"; + SyntaxKind[(SyntaxKind["ExportKeyword"] = 94)] = "ExportKeyword"; + SyntaxKind[(SyntaxKind["ExtendsKeyword"] = 95)] = "ExtendsKeyword"; + SyntaxKind[(SyntaxKind["FalseKeyword"] = 96)] = "FalseKeyword"; + SyntaxKind[(SyntaxKind["FinallyKeyword"] = 97)] = "FinallyKeyword"; + SyntaxKind[(SyntaxKind["ForKeyword"] = 98)] = "ForKeyword"; + SyntaxKind[(SyntaxKind["FunctionKeyword"] = 99)] = "FunctionKeyword"; + SyntaxKind[(SyntaxKind["IfKeyword"] = 100)] = "IfKeyword"; + SyntaxKind[(SyntaxKind["ImportKeyword"] = 101)] = "ImportKeyword"; + SyntaxKind[(SyntaxKind["InKeyword"] = 102)] = "InKeyword"; + SyntaxKind[(SyntaxKind["InstanceOfKeyword"] = 103)] = "InstanceOfKeyword"; + SyntaxKind[(SyntaxKind["NewKeyword"] = 104)] = "NewKeyword"; + SyntaxKind[(SyntaxKind["NullKeyword"] = 105)] = "NullKeyword"; + SyntaxKind[(SyntaxKind["ReturnKeyword"] = 106)] = "ReturnKeyword"; + SyntaxKind[(SyntaxKind["SuperKeyword"] = 107)] = "SuperKeyword"; + SyntaxKind[(SyntaxKind["SwitchKeyword"] = 108)] = "SwitchKeyword"; + SyntaxKind[(SyntaxKind["ThisKeyword"] = 109)] = "ThisKeyword"; + SyntaxKind[(SyntaxKind["ThrowKeyword"] = 110)] = "ThrowKeyword"; + SyntaxKind[(SyntaxKind["TrueKeyword"] = 111)] = "TrueKeyword"; + SyntaxKind[(SyntaxKind["TryKeyword"] = 112)] = "TryKeyword"; + SyntaxKind[(SyntaxKind["TypeOfKeyword"] = 113)] = "TypeOfKeyword"; + SyntaxKind[(SyntaxKind["VarKeyword"] = 114)] = "VarKeyword"; + SyntaxKind[(SyntaxKind["VoidKeyword"] = 115)] = "VoidKeyword"; + SyntaxKind[(SyntaxKind["WhileKeyword"] = 116)] = "WhileKeyword"; + SyntaxKind[(SyntaxKind["WithKeyword"] = 117)] = "WithKeyword"; + SyntaxKind[(SyntaxKind["ImplementsKeyword"] = 118)] = "ImplementsKeyword"; + SyntaxKind[(SyntaxKind["InterfaceKeyword"] = 119)] = "InterfaceKeyword"; + SyntaxKind[(SyntaxKind["LetKeyword"] = 120)] = "LetKeyword"; + SyntaxKind[(SyntaxKind["PackageKeyword"] = 121)] = "PackageKeyword"; + SyntaxKind[(SyntaxKind["PrivateKeyword"] = 122)] = "PrivateKeyword"; + SyntaxKind[(SyntaxKind["ProtectedKeyword"] = 123)] = "ProtectedKeyword"; + SyntaxKind[(SyntaxKind["PublicKeyword"] = 124)] = "PublicKeyword"; + SyntaxKind[(SyntaxKind["StaticKeyword"] = 125)] = "StaticKeyword"; + SyntaxKind[(SyntaxKind["YieldKeyword"] = 126)] = "YieldKeyword"; + SyntaxKind[(SyntaxKind["AbstractKeyword"] = 127)] = "AbstractKeyword"; + SyntaxKind[(SyntaxKind["AccessorKeyword"] = 128)] = "AccessorKeyword"; + SyntaxKind[(SyntaxKind["AsKeyword"] = 129)] = "AsKeyword"; + SyntaxKind[(SyntaxKind["AssertsKeyword"] = 130)] = "AssertsKeyword"; + SyntaxKind[(SyntaxKind["AssertKeyword"] = 131)] = "AssertKeyword"; + SyntaxKind[(SyntaxKind["AnyKeyword"] = 132)] = "AnyKeyword"; + SyntaxKind[(SyntaxKind["AsyncKeyword"] = 133)] = "AsyncKeyword"; + SyntaxKind[(SyntaxKind["AwaitKeyword"] = 134)] = "AwaitKeyword"; + SyntaxKind[(SyntaxKind["BooleanKeyword"] = 135)] = "BooleanKeyword"; + SyntaxKind[(SyntaxKind["ConstructorKeyword"] = 136)] = "ConstructorKeyword"; + SyntaxKind[(SyntaxKind["DeclareKeyword"] = 137)] = "DeclareKeyword"; + SyntaxKind[(SyntaxKind["GetKeyword"] = 138)] = "GetKeyword"; + SyntaxKind[(SyntaxKind["ImmediateKeyword"] = 139)] = "ImmediateKeyword"; + SyntaxKind[(SyntaxKind["InferKeyword"] = 140)] = "InferKeyword"; + SyntaxKind[(SyntaxKind["IntrinsicKeyword"] = 141)] = "IntrinsicKeyword"; + SyntaxKind[(SyntaxKind["IsKeyword"] = 142)] = "IsKeyword"; + SyntaxKind[(SyntaxKind["KeyOfKeyword"] = 143)] = "KeyOfKeyword"; + SyntaxKind[(SyntaxKind["ModuleKeyword"] = 144)] = "ModuleKeyword"; + SyntaxKind[(SyntaxKind["NamespaceKeyword"] = 145)] = "NamespaceKeyword"; + SyntaxKind[(SyntaxKind["NeverKeyword"] = 146)] = "NeverKeyword"; + SyntaxKind[(SyntaxKind["OutKeyword"] = 147)] = "OutKeyword"; + SyntaxKind[(SyntaxKind["ReadonlyKeyword"] = 148)] = "ReadonlyKeyword"; + SyntaxKind[(SyntaxKind["RequireKeyword"] = 149)] = "RequireKeyword"; + SyntaxKind[(SyntaxKind["NumberKeyword"] = 150)] = "NumberKeyword"; + SyntaxKind[(SyntaxKind["ObjectKeyword"] = 151)] = "ObjectKeyword"; + SyntaxKind[(SyntaxKind["SatisfiesKeyword"] = 152)] = "SatisfiesKeyword"; + SyntaxKind[(SyntaxKind["SetKeyword"] = 153)] = "SetKeyword"; + SyntaxKind[(SyntaxKind["StringKeyword"] = 154)] = "StringKeyword"; + SyntaxKind[(SyntaxKind["SymbolKeyword"] = 155)] = "SymbolKeyword"; + SyntaxKind[(SyntaxKind["TypeKeyword"] = 156)] = "TypeKeyword"; + SyntaxKind[(SyntaxKind["UndefinedKeyword"] = 157)] = "UndefinedKeyword"; + SyntaxKind[(SyntaxKind["UniqueKeyword"] = 158)] = "UniqueKeyword"; + SyntaxKind[(SyntaxKind["UnknownKeyword"] = 159)] = "UnknownKeyword"; + SyntaxKind[(SyntaxKind["UsingKeyword"] = 160)] = "UsingKeyword"; + SyntaxKind[(SyntaxKind["FromKeyword"] = 161)] = "FromKeyword"; + SyntaxKind[(SyntaxKind["GlobalKeyword"] = 162)] = "GlobalKeyword"; + SyntaxKind[(SyntaxKind["BigIntKeyword"] = 163)] = "BigIntKeyword"; + SyntaxKind[(SyntaxKind["OverrideKeyword"] = 164)] = "OverrideKeyword"; + SyntaxKind[(SyntaxKind["OfKeyword"] = 165)] = "OfKeyword"; + SyntaxKind[(SyntaxKind["QualifiedName"] = 166)] = "QualifiedName"; + SyntaxKind[(SyntaxKind["ComputedPropertyName"] = 167)] = + "ComputedPropertyName"; + SyntaxKind[(SyntaxKind["TypeParameter"] = 168)] = "TypeParameter"; + SyntaxKind[(SyntaxKind["Parameter"] = 169)] = "Parameter"; + SyntaxKind[(SyntaxKind["Decorator"] = 170)] = "Decorator"; + SyntaxKind[(SyntaxKind["PropertySignature"] = 171)] = "PropertySignature"; + SyntaxKind[(SyntaxKind["PropertyDeclaration"] = 172)] = "PropertyDeclaration"; + SyntaxKind[(SyntaxKind["MethodSignature"] = 173)] = "MethodSignature"; + SyntaxKind[(SyntaxKind["MethodDeclaration"] = 174)] = "MethodDeclaration"; + SyntaxKind[(SyntaxKind["ClassStaticBlockDeclaration"] = 175)] = + "ClassStaticBlockDeclaration"; + SyntaxKind[(SyntaxKind["Constructor"] = 176)] = "Constructor"; + SyntaxKind[(SyntaxKind["GetAccessor"] = 177)] = "GetAccessor"; + SyntaxKind[(SyntaxKind["SetAccessor"] = 178)] = "SetAccessor"; + SyntaxKind[(SyntaxKind["CallSignature"] = 179)] = "CallSignature"; + SyntaxKind[(SyntaxKind["ConstructSignature"] = 180)] = "ConstructSignature"; + SyntaxKind[(SyntaxKind["IndexSignature"] = 181)] = "IndexSignature"; + SyntaxKind[(SyntaxKind["TypePredicate"] = 182)] = "TypePredicate"; + SyntaxKind[(SyntaxKind["TypeReference"] = 183)] = "TypeReference"; + SyntaxKind[(SyntaxKind["FunctionType"] = 184)] = "FunctionType"; + SyntaxKind[(SyntaxKind["ConstructorType"] = 185)] = "ConstructorType"; + SyntaxKind[(SyntaxKind["TypeQuery"] = 186)] = "TypeQuery"; + SyntaxKind[(SyntaxKind["TypeLiteral"] = 187)] = "TypeLiteral"; + SyntaxKind[(SyntaxKind["ArrayType"] = 188)] = "ArrayType"; + SyntaxKind[(SyntaxKind["TupleType"] = 189)] = "TupleType"; + SyntaxKind[(SyntaxKind["OptionalType"] = 190)] = "OptionalType"; + SyntaxKind[(SyntaxKind["RestType"] = 191)] = "RestType"; + SyntaxKind[(SyntaxKind["UnionType"] = 192)] = "UnionType"; + SyntaxKind[(SyntaxKind["IntersectionType"] = 193)] = "IntersectionType"; + SyntaxKind[(SyntaxKind["ConditionalType"] = 194)] = "ConditionalType"; + SyntaxKind[(SyntaxKind["InferType"] = 195)] = "InferType"; + SyntaxKind[(SyntaxKind["ParenthesizedType"] = 196)] = "ParenthesizedType"; + SyntaxKind[(SyntaxKind["ThisType"] = 197)] = "ThisType"; + SyntaxKind[(SyntaxKind["TypeOperator"] = 198)] = "TypeOperator"; + SyntaxKind[(SyntaxKind["IndexedAccessType"] = 199)] = "IndexedAccessType"; + SyntaxKind[(SyntaxKind["MappedType"] = 200)] = "MappedType"; + SyntaxKind[(SyntaxKind["LiteralType"] = 201)] = "LiteralType"; + SyntaxKind[(SyntaxKind["NamedTupleMember"] = 202)] = "NamedTupleMember"; + SyntaxKind[(SyntaxKind["TemplateLiteralType"] = 203)] = "TemplateLiteralType"; + SyntaxKind[(SyntaxKind["TemplateLiteralTypeSpan"] = 204)] = + "TemplateLiteralTypeSpan"; + SyntaxKind[(SyntaxKind["ImportType"] = 205)] = "ImportType"; + SyntaxKind[(SyntaxKind["ObjectBindingPattern"] = 206)] = + "ObjectBindingPattern"; + SyntaxKind[(SyntaxKind["ArrayBindingPattern"] = 207)] = "ArrayBindingPattern"; + SyntaxKind[(SyntaxKind["BindingElement"] = 208)] = "BindingElement"; + SyntaxKind[(SyntaxKind["ArrayLiteralExpression"] = 209)] = + "ArrayLiteralExpression"; + SyntaxKind[(SyntaxKind["ObjectLiteralExpression"] = 210)] = + "ObjectLiteralExpression"; + SyntaxKind[(SyntaxKind["PropertyAccessExpression"] = 211)] = + "PropertyAccessExpression"; + SyntaxKind[(SyntaxKind["ElementAccessExpression"] = 212)] = + "ElementAccessExpression"; + SyntaxKind[(SyntaxKind["CallExpression"] = 213)] = "CallExpression"; + SyntaxKind[(SyntaxKind["NewExpression"] = 214)] = "NewExpression"; + SyntaxKind[(SyntaxKind["TaggedTemplateExpression"] = 215)] = + "TaggedTemplateExpression"; + SyntaxKind[(SyntaxKind["TypeAssertionExpression"] = 216)] = + "TypeAssertionExpression"; + SyntaxKind[(SyntaxKind["ParenthesizedExpression"] = 217)] = + "ParenthesizedExpression"; + SyntaxKind[(SyntaxKind["FunctionExpression"] = 218)] = "FunctionExpression"; + SyntaxKind[(SyntaxKind["ArrowFunction"] = 219)] = "ArrowFunction"; + SyntaxKind[(SyntaxKind["DeleteExpression"] = 220)] = "DeleteExpression"; + SyntaxKind[(SyntaxKind["TypeOfExpression"] = 221)] = "TypeOfExpression"; + SyntaxKind[(SyntaxKind["VoidExpression"] = 222)] = "VoidExpression"; + SyntaxKind[(SyntaxKind["AwaitExpression"] = 223)] = "AwaitExpression"; + SyntaxKind[(SyntaxKind["PrefixUnaryExpression"] = 224)] = + "PrefixUnaryExpression"; + SyntaxKind[(SyntaxKind["PostfixUnaryExpression"] = 225)] = + "PostfixUnaryExpression"; + SyntaxKind[(SyntaxKind["BinaryExpression"] = 226)] = "BinaryExpression"; + SyntaxKind[(SyntaxKind["ConditionalExpression"] = 227)] = + "ConditionalExpression"; + SyntaxKind[(SyntaxKind["TemplateExpression"] = 228)] = "TemplateExpression"; + SyntaxKind[(SyntaxKind["YieldExpression"] = 229)] = "YieldExpression"; + SyntaxKind[(SyntaxKind["SpreadElement"] = 230)] = "SpreadElement"; + SyntaxKind[(SyntaxKind["ClassExpression"] = 231)] = "ClassExpression"; + SyntaxKind[(SyntaxKind["OmittedExpression"] = 232)] = "OmittedExpression"; + SyntaxKind[(SyntaxKind["ExpressionWithTypeArguments"] = 233)] = + "ExpressionWithTypeArguments"; + SyntaxKind[(SyntaxKind["AsExpression"] = 234)] = "AsExpression"; + SyntaxKind[(SyntaxKind["NonNullExpression"] = 235)] = "NonNullExpression"; + SyntaxKind[(SyntaxKind["MetaProperty"] = 236)] = "MetaProperty"; + SyntaxKind[(SyntaxKind["SyntheticExpression"] = 237)] = "SyntheticExpression"; + SyntaxKind[(SyntaxKind["SatisfiesExpression"] = 238)] = "SatisfiesExpression"; + SyntaxKind[(SyntaxKind["TemplateSpan"] = 239)] = "TemplateSpan"; + SyntaxKind[(SyntaxKind["SemicolonClassElement"] = 240)] = + "SemicolonClassElement"; + SyntaxKind[(SyntaxKind["Block"] = 241)] = "Block"; + SyntaxKind[(SyntaxKind["EmptyStatement"] = 242)] = "EmptyStatement"; + SyntaxKind[(SyntaxKind["VariableStatement"] = 243)] = "VariableStatement"; + SyntaxKind[(SyntaxKind["ExpressionStatement"] = 244)] = "ExpressionStatement"; + SyntaxKind[(SyntaxKind["IfStatement"] = 245)] = "IfStatement"; + SyntaxKind[(SyntaxKind["DoStatement"] = 246)] = "DoStatement"; + SyntaxKind[(SyntaxKind["WhileStatement"] = 247)] = "WhileStatement"; + SyntaxKind[(SyntaxKind["ForStatement"] = 248)] = "ForStatement"; + SyntaxKind[(SyntaxKind["ForInStatement"] = 249)] = "ForInStatement"; + SyntaxKind[(SyntaxKind["ForOfStatement"] = 250)] = "ForOfStatement"; + SyntaxKind[(SyntaxKind["ContinueStatement"] = 251)] = "ContinueStatement"; + SyntaxKind[(SyntaxKind["BreakStatement"] = 252)] = "BreakStatement"; + SyntaxKind[(SyntaxKind["ReturnStatement"] = 253)] = "ReturnStatement"; + SyntaxKind[(SyntaxKind["WithStatement"] = 254)] = "WithStatement"; + SyntaxKind[(SyntaxKind["SwitchStatement"] = 255)] = "SwitchStatement"; + SyntaxKind[(SyntaxKind["LabeledStatement"] = 256)] = "LabeledStatement"; + SyntaxKind[(SyntaxKind["ThrowStatement"] = 257)] = "ThrowStatement"; + SyntaxKind[(SyntaxKind["TryStatement"] = 258)] = "TryStatement"; + SyntaxKind[(SyntaxKind["DebuggerStatement"] = 259)] = "DebuggerStatement"; + SyntaxKind[(SyntaxKind["VariableDeclaration"] = 260)] = "VariableDeclaration"; + SyntaxKind[(SyntaxKind["VariableDeclarationList"] = 261)] = + "VariableDeclarationList"; + SyntaxKind[(SyntaxKind["FunctionDeclaration"] = 262)] = "FunctionDeclaration"; + SyntaxKind[(SyntaxKind["ClassDeclaration"] = 263)] = "ClassDeclaration"; + SyntaxKind[(SyntaxKind["InterfaceDeclaration"] = 264)] = + "InterfaceDeclaration"; + SyntaxKind[(SyntaxKind["TypeAliasDeclaration"] = 265)] = + "TypeAliasDeclaration"; + SyntaxKind[(SyntaxKind["EnumDeclaration"] = 266)] = "EnumDeclaration"; + SyntaxKind[(SyntaxKind["ModuleDeclaration"] = 267)] = "ModuleDeclaration"; + SyntaxKind[(SyntaxKind["ModuleBlock"] = 268)] = "ModuleBlock"; + SyntaxKind[(SyntaxKind["CaseBlock"] = 269)] = "CaseBlock"; + SyntaxKind[(SyntaxKind["NamespaceExportDeclaration"] = 270)] = + "NamespaceExportDeclaration"; + SyntaxKind[(SyntaxKind["ImportEqualsDeclaration"] = 271)] = + "ImportEqualsDeclaration"; + SyntaxKind[(SyntaxKind["ImportDeclaration"] = 272)] = "ImportDeclaration"; + SyntaxKind[(SyntaxKind["ImportClause"] = 273)] = "ImportClause"; + SyntaxKind[(SyntaxKind["NamespaceImport"] = 274)] = "NamespaceImport"; + SyntaxKind[(SyntaxKind["NamedImports"] = 275)] = "NamedImports"; + SyntaxKind[(SyntaxKind["ImportSpecifier"] = 276)] = "ImportSpecifier"; + SyntaxKind[(SyntaxKind["ExportAssignment"] = 277)] = "ExportAssignment"; + SyntaxKind[(SyntaxKind["ExportDeclaration"] = 278)] = "ExportDeclaration"; + SyntaxKind[(SyntaxKind["NamedExports"] = 279)] = "NamedExports"; + SyntaxKind[(SyntaxKind["NamespaceExport"] = 280)] = "NamespaceExport"; + SyntaxKind[(SyntaxKind["ExportSpecifier"] = 281)] = "ExportSpecifier"; + SyntaxKind[(SyntaxKind["MissingDeclaration"] = 282)] = "MissingDeclaration"; + SyntaxKind[(SyntaxKind["ExternalModuleReference"] = 283)] = + "ExternalModuleReference"; + SyntaxKind[(SyntaxKind["JsxElement"] = 284)] = "JsxElement"; + SyntaxKind[(SyntaxKind["JsxSelfClosingElement"] = 285)] = + "JsxSelfClosingElement"; + SyntaxKind[(SyntaxKind["JsxOpeningElement"] = 286)] = "JsxOpeningElement"; + SyntaxKind[(SyntaxKind["JsxClosingElement"] = 287)] = "JsxClosingElement"; + SyntaxKind[(SyntaxKind["JsxFragment"] = 288)] = "JsxFragment"; + SyntaxKind[(SyntaxKind["JsxOpeningFragment"] = 289)] = "JsxOpeningFragment"; + SyntaxKind[(SyntaxKind["JsxClosingFragment"] = 290)] = "JsxClosingFragment"; + SyntaxKind[(SyntaxKind["JsxAttribute"] = 291)] = "JsxAttribute"; + SyntaxKind[(SyntaxKind["JsxAttributes"] = 292)] = "JsxAttributes"; + SyntaxKind[(SyntaxKind["JsxSpreadAttribute"] = 293)] = "JsxSpreadAttribute"; + SyntaxKind[(SyntaxKind["JsxExpression"] = 294)] = "JsxExpression"; + SyntaxKind[(SyntaxKind["JsxNamespacedName"] = 295)] = "JsxNamespacedName"; + SyntaxKind[(SyntaxKind["CaseClause"] = 296)] = "CaseClause"; + SyntaxKind[(SyntaxKind["DefaultClause"] = 297)] = "DefaultClause"; + SyntaxKind[(SyntaxKind["HeritageClause"] = 298)] = "HeritageClause"; + SyntaxKind[(SyntaxKind["CatchClause"] = 299)] = "CatchClause"; + SyntaxKind[(SyntaxKind["ImportAttributes"] = 300)] = "ImportAttributes"; + SyntaxKind[(SyntaxKind["ImportAttribute"] = 301)] = "ImportAttribute"; + SyntaxKind[(SyntaxKind["PropertyAssignment"] = 302)] = "PropertyAssignment"; + SyntaxKind[(SyntaxKind["ShorthandPropertyAssignment"] = 303)] = + "ShorthandPropertyAssignment"; + SyntaxKind[(SyntaxKind["SpreadAssignment"] = 304)] = "SpreadAssignment"; + SyntaxKind[(SyntaxKind["EnumMember"] = 305)] = "EnumMember"; + SyntaxKind[(SyntaxKind["SourceFile"] = 306)] = "SourceFile"; + SyntaxKind[(SyntaxKind["Bundle"] = 307)] = "Bundle"; + SyntaxKind[(SyntaxKind["JSDocTypeExpression"] = 308)] = "JSDocTypeExpression"; + SyntaxKind[(SyntaxKind["JSDocNameReference"] = 309)] = "JSDocNameReference"; + SyntaxKind[(SyntaxKind["JSDocMemberName"] = 310)] = "JSDocMemberName"; + SyntaxKind[(SyntaxKind["JSDocAllType"] = 311)] = "JSDocAllType"; + SyntaxKind[(SyntaxKind["JSDocNullableType"] = 312)] = "JSDocNullableType"; + SyntaxKind[(SyntaxKind["JSDocNonNullableType"] = 313)] = + "JSDocNonNullableType"; + SyntaxKind[(SyntaxKind["JSDocOptionalType"] = 314)] = "JSDocOptionalType"; + SyntaxKind[(SyntaxKind["JSDocVariadicType"] = 315)] = "JSDocVariadicType"; + SyntaxKind[(SyntaxKind["JSDoc"] = 316)] = "JSDoc"; + SyntaxKind[(SyntaxKind["JSDocText"] = 317)] = "JSDocText"; + SyntaxKind[(SyntaxKind["JSDocTypeLiteral"] = 318)] = "JSDocTypeLiteral"; + SyntaxKind[(SyntaxKind["JSDocSignature"] = 319)] = "JSDocSignature"; + SyntaxKind[(SyntaxKind["JSDocLink"] = 320)] = "JSDocLink"; + SyntaxKind[(SyntaxKind["JSDocLinkCode"] = 321)] = "JSDocLinkCode"; + SyntaxKind[(SyntaxKind["JSDocLinkPlain"] = 322)] = "JSDocLinkPlain"; + SyntaxKind[(SyntaxKind["JSDocTag"] = 323)] = "JSDocTag"; + SyntaxKind[(SyntaxKind["JSDocAugmentsTag"] = 324)] = "JSDocAugmentsTag"; + SyntaxKind[(SyntaxKind["JSDocImplementsTag"] = 325)] = "JSDocImplementsTag"; + SyntaxKind[(SyntaxKind["JSDocDeprecatedTag"] = 326)] = "JSDocDeprecatedTag"; + SyntaxKind[(SyntaxKind["JSDocPublicTag"] = 327)] = "JSDocPublicTag"; + SyntaxKind[(SyntaxKind["JSDocPrivateTag"] = 328)] = "JSDocPrivateTag"; + SyntaxKind[(SyntaxKind["JSDocProtectedTag"] = 329)] = "JSDocProtectedTag"; + SyntaxKind[(SyntaxKind["JSDocReadonlyTag"] = 330)] = "JSDocReadonlyTag"; + SyntaxKind[(SyntaxKind["JSDocOverrideTag"] = 331)] = "JSDocOverrideTag"; + SyntaxKind[(SyntaxKind["JSDocCallbackTag"] = 332)] = "JSDocCallbackTag"; + SyntaxKind[(SyntaxKind["JSDocOverloadTag"] = 333)] = "JSDocOverloadTag"; + SyntaxKind[(SyntaxKind["JSDocParameterTag"] = 334)] = "JSDocParameterTag"; + SyntaxKind[(SyntaxKind["JSDocReturnTag"] = 335)] = "JSDocReturnTag"; + SyntaxKind[(SyntaxKind["JSDocThisTag"] = 336)] = "JSDocThisTag"; + SyntaxKind[(SyntaxKind["JSDocTypeTag"] = 337)] = "JSDocTypeTag"; + SyntaxKind[(SyntaxKind["JSDocTemplateTag"] = 338)] = "JSDocTemplateTag"; + SyntaxKind[(SyntaxKind["JSDocTypedefTag"] = 339)] = "JSDocTypedefTag"; + SyntaxKind[(SyntaxKind["JSDocSeeTag"] = 340)] = "JSDocSeeTag"; + SyntaxKind[(SyntaxKind["JSDocPropertyTag"] = 341)] = "JSDocPropertyTag"; + SyntaxKind[(SyntaxKind["JSDocSatisfiesTag"] = 342)] = "JSDocSatisfiesTag"; + SyntaxKind[(SyntaxKind["JSDocImportTag"] = 343)] = "JSDocImportTag"; + SyntaxKind[(SyntaxKind["SyntaxList"] = 344)] = "SyntaxList"; + SyntaxKind[(SyntaxKind["NotEmittedStatement"] = 345)] = "NotEmittedStatement"; + SyntaxKind[(SyntaxKind["PartiallyEmittedExpression"] = 346)] = + "PartiallyEmittedExpression"; + SyntaxKind[(SyntaxKind["CommaListExpression"] = 347)] = "CommaListExpression"; + SyntaxKind[(SyntaxKind["SyntheticReferenceExpression"] = 348)] = + "SyntheticReferenceExpression"; + SyntaxKind[(SyntaxKind["Count"] = 349)] = "Count"; +})(SyntaxKind || (SyntaxKind = {})); diff --git a/_api/src/base/api.ts b/_api/src/base/api.ts index 0b7022ec4f..41ec37ebc0 100644 --- a/_api/src/base/api.ts +++ b/_api/src/base/api.ts @@ -1,3 +1,6 @@ +import { SymbolFlags } from "#symbolFlags"; +import type { SourceFile as SourceFileNode } from "../ast/ast.ts"; +import { RemoteNode } from "../ast/node.ts"; import type { MaybeAsync, ParsedCommandLine, @@ -5,12 +8,11 @@ import type { SymbolData, TypeData, } from "../types.ts"; -import { Node } from "./node.ts"; export interface APIOptions { tsserverPath: string; cwd?: string; - logServer?: (msg: string) => void; + logFile?: string; } export interface API { @@ -34,25 +36,23 @@ export abstract class Project { } abstract reload(): MaybeAsync; - abstract getSourceFile(fileName: string): MaybeAsync | undefined>; + abstract getSourceFile(fileName: string): MaybeAsync; abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync | undefined>; } -export abstract class SourceFile extends Node { +export abstract class SourceFile extends RemoteNode { constructor(data: Buffer) { const view = new DataView(data.buffer, data.byteOffset, data.byteLength); super(view, 1, undefined!); } - - nodeCount(): number { - return (this.view.byteLength / (Node.NODE_LEN * 4)) - 1; - } } +export { SymbolFlags }; + export abstract class Symbol { protected id: number; name: string; - flags: number; + flags: SymbolFlags; checkFlags: number; constructor(data: SymbolData) { diff --git a/_api/src/base/node.ts b/_api/src/base/node.ts deleted file mode 100644 index ba834e5805..0000000000 --- a/_api/src/base/node.ts +++ /dev/null @@ -1,552 +0,0 @@ -import { SyntaxKind } from "../syntaxKind.ts"; -import { - childProperties, - NodeChildMask, - type NodeDataType, - NodeDataTypeChildren, - NodeDataTypeMask, -} from "./decode.ts"; - -const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8]; - -const OFFSET_KIND = 0; -const OFFSET_POS = 1; -const OFFSET_END = 2; -const OFFSET_NEXT = 3; -const OFFSET_PARENT = 4; -const OFFSET_DATA = 5; -const NODE_LEN = 6; - -const KIND_NODE_LIST = 2 ** 32 - 1; - -export class NodeBase { - protected parent: Node; - protected view: DataView; - protected index: number; - /** Keys are positions */ - protected _children: Map | undefined; - - constructor(view: DataView, index: number, parent: Node) { - this.view = view; - this.index = index; - this.parent = parent; - } - - get kind(): SyntaxKind { - return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_KIND * 4, true); - } - - get pos(): number { - return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_POS * 4, true); - } - - get end(): number { - return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_END * 4, true); - } - - get next(): number { - return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_NEXT * 4, true); - } - - protected get parentIndex(): number { - return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_PARENT * 4, true); - } - - protected get data(): number { - return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_DATA * 4, true); - } - - protected get dataType(): NodeDataType { - return (this.data & NodeDataTypeMask) as NodeDataType; - } - - protected get childMask(): number { - if (this.dataType !== NodeDataTypeChildren) { - return 0; - } - return this.data & NodeChildMask; - } -} - -export class NodeList extends NodeBase implements Iterable { - get length(): number { - return this.view.getUint32(this.index * NODE_LEN * 4 + OFFSET_DATA * 4, true); - } - - *[Symbol.iterator](): IterableIterator { - let next = this.index + 1; - while (next) { - const child = this.getOrCreateChildAtNodeIndex(next); - next = child.next; - yield child as Node; - } - } - - at(index: number): Node { - let next = this.index + 1; - for (let i = 0; i < index; i++) { - const child = this.getOrCreateChildAtNodeIndex(next); - next = child.next; - } - return this.getOrCreateChildAtNodeIndex(next) as Node; - } - - private getOrCreateChildAtNodeIndex(index: number): Node | NodeList { - const pos = this.view.getUint32(index * NODE_LEN * 4 + OFFSET_POS * 4, true); - let child = (this._children ??= new Map()).get(pos); - if (!child) { - const kind = this.view.getUint32(index * NODE_LEN * 4 + OFFSET_KIND * 4, true); - if (kind === KIND_NODE_LIST) { - throw new Error("NodeList cannot directly contain another NodeList"); - } - child = new Node(this.view, index, this.parent); - this._children.set(pos, child); - } - return child; - } -} - -export class Node extends NodeBase { - protected static NODE_LEN: number = NODE_LEN; - - forEachChild(visitor: (node: Node) => T): T | undefined { - if (this.hasChildren()) { - let next = this.index + 1; - do { - const child = this.getOrCreateChildAtNodeIndex(next); - if (child instanceof NodeList) { - for (const node of child) { - const result = visitor(node); - if (result) { - return result; - } - } - } - else { - const result = visitor(child); - if (result) { - return result; - } - } - next = child.next; - } - while (next); - } - } - - private getOrCreateChildAtNodeIndex(index: number): Node | NodeList { - const pos = this.view.getUint32(index * NODE_LEN * 4 + OFFSET_POS * 4, true); - let child = (this._children ??= new Map()).get(pos); - if (!child) { - const kind = this.view.getUint32(index * NODE_LEN * 4 + OFFSET_KIND * 4, true); - child = kind === KIND_NODE_LIST ? new NodeList(this.view, index, this) : new Node(this.view, index, this); - this._children.set(pos, child); - } - return child; - } - - private hasChildren(): boolean { - if (this._children) { - return true; - } - if (this.index === this.view.byteLength / (NODE_LEN * 4) - 1) { - return false; - } - const nextNodeParent = this.view.getUint32((this.index + 1) * NODE_LEN * 4 + OFFSET_PARENT * 4, true); - return nextNodeParent === this.index; - } - - private getNamedChild(propertyName: string): Node | NodeList | undefined { - const propertyNames = childProperties[this.kind]; - if (!propertyNames) { - // `childProperties` is only defined for nodes with more than one child property. - // Get the only child if it exists. - const child = this.getOrCreateChildAtNodeIndex(this.index + 1); - if (child.next !== 0) { - throw new Error("Expected only one child"); - } - return child; - } - - let order = propertyNames.indexOf(propertyName); - if (order === -1) { - // JSDocPropertyTag and JSDocParameterTag need special handling - // because they have a conditional property order - const kind = this.kind; - if (kind === SyntaxKind.JSDocPropertyTag) { - switch (propertyName) { - case "name": - order = this.isNameFirst ? 0 : 1; - break; - case "typeExpression": - order = this.isNameFirst ? 1 : 0; - break; - } - } - else if (kind === SyntaxKind.JSDocParameterTag) { - switch (propertyName) { - case "name": - order = this.isNameFirst ? 1 : 2; - case "typeExpression": - order = this.isNameFirst ? 2 : 1; - } - } - // Node kind does not have this property - return undefined; - } - const mask = this.childMask; - if (!(mask & (1 << order))) { - // Property is not present - return undefined; - } - - const propertyIndex = order - popcount8[mask & ((1 << order) - 1)]; - return this.getOrCreateChildAtNodeIndex(this.index + 1 + propertyIndex); - } - - // Boolean properties - get isArrayType(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.JSDocTypeLiteral: - return (this.data & 1 << 24) !== 0; - } - } - - get isTypeOnly(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.ImportSpecifier: - case SyntaxKind.ImportClause: - case SyntaxKind.ExportSpecifier: - case SyntaxKind.ImportEqualsDeclaration: - case SyntaxKind.ExportDeclaration: - return (this.data & 1 << 24) !== 0; - } - } - - get isTypeOf(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.ImportType: - return (this.data & 1 << 24) !== 0; - } - } - - get multiline(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.Block: - case SyntaxKind.ArrayLiteralExpression: - case SyntaxKind.ObjectLiteralExpression: - case SyntaxKind.ImportAttributes: - return (this.data & 1 << 24) !== 0; - } - } - - get isExportEquals(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.ExportAssignment: - return (this.data & 1 << 24) !== 0; - } - } - - get isBracketed(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.JSDocPropertyTag: - case SyntaxKind.JSDocParameterTag: - return (this.data & 1 << 24) !== 0; - } - } - - get containsOnlyTriviaWhiteSpaces(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.JsxText: - return (this.data & 1 << 24) !== 0; - } - } - - get isNameFirst(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.JSDocPropertyTag: - case SyntaxKind.JSDocParameterTag: - return (this.data & 1 << 25) !== 0; - } - } - - // Children properties - get argument(): Node | undefined { - return this.getNamedChild("argument") as Node; - } - get argumentExpression(): Node | undefined { - return this.getNamedChild("argumentExpression") as Node; - } - get arguments(): NodeList | undefined { - return this.getNamedChild("arguments") as NodeList; - } - get assertsModifier(): Node | undefined { - return this.getNamedChild("assertsModifier") as Node; - } - get asteriskToken(): Node | undefined { - return this.getNamedChild("asteriskToken") as Node; - } - get attributes(): Node | undefined { - return this.getNamedChild("attributes") as Node; - } - get awaitModifier(): Node | undefined { - return this.getNamedChild("awaitModifier") as Node; - } - get block(): Node | undefined { - return this.getNamedChild("block") as Node; - } - get body(): Node | undefined { - return this.getNamedChild("body") as Node; - } - get caseBlock(): Node | undefined { - return this.getNamedChild("caseBlock") as Node; - } - get catchClause(): Node | undefined { - return this.getNamedChild("catchClause") as Node; - } - get checkType(): Node | undefined { - return this.getNamedChild("checkType") as Node; - } - get children(): NodeList | undefined { - return this.getNamedChild("children") as NodeList; - } - get className(): Node | undefined { - return this.getNamedChild("className") as Node; - } - get closingElement(): Node | undefined { - return this.getNamedChild("closingElement") as Node; - } - get closingFragment(): Node | undefined { - return this.getNamedChild("closingFragment") as Node; - } - get colonToken(): Node | undefined { - return this.getNamedChild("colonToken") as Node; - } - get comment(): Node | undefined { - return this.getNamedChild("comment") as Node; - } - get condition(): Node | undefined { - return this.getNamedChild("condition") as Node; - } - get constraint(): Node | undefined { - return this.getNamedChild("constraint") as Node; - } - get declarationList(): Node | undefined { - return this.getNamedChild("declarationList") as Node; - } - get defaultType(): Node | undefined { - return this.getNamedChild("defaultType") as Node; - } - get dotDotDotToken(): Node | undefined { - return this.getNamedChild("dotDotDotToken") as Node; - } - get elseStatement(): Node | undefined { - return this.getNamedChild("elseStatement") as Node; - } - get equalsGreaterThanToken(): Node | undefined { - return this.getNamedChild("equalsGreaterThanToken") as Node; - } - get equalsToken(): Node | undefined { - return this.getNamedChild("equalsToken") as Node; - } - get exclamationToken(): Node | undefined { - return this.getNamedChild("exclamationToken") as Node; - } - get exportClause(): Node | undefined { - return this.getNamedChild("exportClause") as Node; - } - get expression(): Node | undefined { - return this.getNamedChild("expression") as Node; - } - get exprName(): Node | undefined { - return this.getNamedChild("exprName") as Node; - } - get extendsType(): Node | undefined { - return this.getNamedChild("extendsType") as Node; - } - get falseType(): Node | undefined { - return this.getNamedChild("falseType") as Node; - } - get finallyBlock(): Node | undefined { - return this.getNamedChild("finallyBlock") as Node; - } - get fullName(): Node | undefined { - return this.getNamedChild("fullName") as Node; - } - get head(): Node | undefined { - return this.getNamedChild("head") as Node; - } - get heritageClauses(): NodeList | undefined { - return this.getNamedChild("heritageClauses") as NodeList; - } - get importClause(): Node | undefined { - return this.getNamedChild("importClause") as Node; - } - get incrementor(): Node | undefined { - return this.getNamedChild("incrementor") as Node; - } - get indexType(): Node | undefined { - return this.getNamedChild("indexType") as Node; - } - get initializer(): Node | undefined { - return this.getNamedChild("initializer") as Node; - } - get label(): Node | undefined { - return this.getNamedChild("label") as Node; - } - get left(): Node | undefined { - return this.getNamedChild("left") as Node; - } - get literal(): Node | undefined { - return this.getNamedChild("literal") as Node; - } - get members(): NodeList | undefined { - return this.getNamedChild("members") as NodeList; - } - get modifiers(): NodeList | undefined { - return this.getNamedChild("modifiers") as NodeList; - } - get moduleReference(): Node | undefined { - return this.getNamedChild("moduleReference") as Node; - } - get moduleSpecifier(): Node | undefined { - return this.getNamedChild("moduleSpecifier") as Node; - } - get name(): Node | undefined { - return this.getNamedChild("name") as Node; - } - get namedBindings(): Node | undefined { - return this.getNamedChild("namedBindings") as Node; - } - get nameExpression(): Node | undefined { - return this.getNamedChild("nameExpression") as Node; - } - get namespace(): Node | undefined { - return this.getNamedChild("namespace") as Node; - } - get nameType(): Node | undefined { - return this.getNamedChild("nameType") as Node; - } - get objectAssignmentInitializer(): Node | undefined { - return this.getNamedChild("objectAssignmentInitializer") as Node; - } - get objectType(): Node | undefined { - return this.getNamedChild("objectType") as Node; - } - get openingElement(): Node | undefined { - return this.getNamedChild("openingElement") as Node; - } - get openingFragment(): Node | undefined { - return this.getNamedChild("openingFragment") as Node; - } - get operatorToken(): Node | undefined { - return this.getNamedChild("operatorToken") as Node; - } - get parameterName(): Node | undefined { - return this.getNamedChild("parameterName") as Node; - } - get parameters(): NodeList | undefined { - return this.getNamedChild("parameters") as NodeList; - } - get postfixToken(): Node | undefined { - return this.getNamedChild("postfixToken") as Node; - } - get propertyName(): Node | undefined { - return this.getNamedChild("propertyName") as Node; - } - get qualifier(): Node | undefined { - return this.getNamedChild("qualifier") as Node; - } - get questionDotToken(): Node | undefined { - return this.getNamedChild("questionDotToken") as Node; - } - get questionToken(): Node | undefined { - return this.getNamedChild("questionToken") as Node; - } - get readonlyToken(): Node | undefined { - return this.getNamedChild("readonlyToken") as Node; - } - get right(): Node | undefined { - return this.getNamedChild("right") as Node; - } - get statement(): Node | undefined { - return this.getNamedChild("statement") as Node; - } - get statements(): NodeList | undefined { - return this.getNamedChild("statements") as NodeList; - } - get tag(): Node | undefined { - return this.getNamedChild("tag") as Node; - } - get tagName(): Node | undefined { - return this.getNamedChild("tagName") as Node; - } - get tags(): NodeList | undefined { - return this.getNamedChild("tags") as NodeList; - } - get template(): Node | undefined { - return this.getNamedChild("template") as Node; - } - get templateSpans(): NodeList | undefined { - return this.getNamedChild("templateSpans") as NodeList; - } - get thenStatement(): Node | undefined { - return this.getNamedChild("thenStatement") as Node; - } - get trueType(): Node | undefined { - return this.getNamedChild("trueType") as Node; - } - get tryBlock(): Node | undefined { - return this.getNamedChild("tryBlock") as Node; - } - get type(): Node | undefined { - return this.getNamedChild("type") as Node; - } - get typeArguments(): Node | undefined { - return this.getNamedChild("typeArguments") as Node; - } - get typeExpression(): Node | undefined { - return this.getNamedChild("typeExpression") as Node; - } - get typeName(): Node | undefined { - return this.getNamedChild("typeName") as Node; - } - get typeParameter(): Node | undefined { - return this.getNamedChild("typeParameter") as Node; - } - get typeParameters(): NodeList | undefined { - return this.getNamedChild("typeParameters") as NodeList; - } - get value(): Node | undefined { - return this.getNamedChild("value") as Node; - } - get variableDeclaration(): Node | undefined { - return this.getNamedChild("variableDeclaration") as Node; - } - get whenFalse(): Node | undefined { - return this.getNamedChild("whenFalse") as Node; - } - get whenTrue(): Node | undefined { - return this.getNamedChild("whenTrue") as Node; - } - - // Other properties - get flags(): number { - switch (this.kind) { - case SyntaxKind.VariableDeclarationList: - return this.data & (1 << 24 | 1 << 25) >> 24; - default: - return 0; - } - } - - get token(): SyntaxKind | undefined { - switch (this.kind) { - case SyntaxKind.ImportAttributes: - if ((this.data & 1 << 25) !== 0) { - return SyntaxKind.AssertKeyword; - } - return SyntaxKind.WithKeyword; - } - } -} diff --git a/_api/src/base/symbolFlags.enum.ts b/_api/src/base/symbolFlags.enum.ts new file mode 100644 index 0000000000..4cd7262f2c --- /dev/null +++ b/_api/src/base/symbolFlags.enum.ts @@ -0,0 +1,75 @@ +export enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1 << 0, + BlockScopedVariable = 1 << 1, + Property = 1 << 2, + EnumMember = 1 << 3, + Function = 1 << 4, + Class = 1 << 5, + Interface = 1 << 6, + ConstEnum = 1 << 7, + RegularEnum = 1 << 8, + ValueModule = 1 << 9, + NamespaceModule = 1 << 10, + TypeLiteral = 1 << 11, + ObjectLiteral = 1 << 12, + Method = 1 << 13, + Constructor = 1 << 14, + GetAccessor = 1 << 15, + SetAccessor = 1 << 16, + Signature = 1 << 17, + TypeParameter = 1 << 18, + TypeAlias = 1 << 19, + ExportValue = 1 << 20, + Alias = 1 << 21, + Prototype = 1 << 22, + ExportStar = 1 << 23, + Optional = 1 << 24, + Transient = 1 << 25, + Assignment = 1 << 26, + ModuleExports = 1 << 27, + ConstEnumOnlyModule = 1 << 28, + ReplaceableByMethod = 1 << 29, + GlobalLookup = 1 << 30, + All = 1 << 30 - 1, + + Enum = RegularEnum | ConstEnum, + Variable = FunctionScopedVariable | BlockScopedVariable, + Value = Variable | Property | EnumMember | ObjectLiteral | Function | Class | Enum | ValueModule | Method | GetAccessor | SetAccessor, + Type = Class | Interface | Enum | EnumMember | TypeLiteral | TypeParameter | TypeAlias, + Namespace = ValueModule | NamespaceModule | Enum, + Module = ValueModule | NamespaceModule, + Accessor = GetAccessor | SetAccessor, + + FunctionScopedVariableExcludes = Value & ~FunctionScopedVariable, + + BlockScopedVariableExcludes = Value, + + ParameterExcludes = Value, + PropertyExcludes = Value & ~Property, + EnumMemberExcludes = Value | Type, + FunctionExcludes = Value & ~(Function | ValueModule | Class), + ClassExcludes = (Value | Type) & ~(ValueModule | Interface | Function), + InterfaceExcludes = Type & ~(Interface | Class), + RegularEnumExcludes = (Value | Type) & ~(RegularEnum | ValueModule), + ConstEnumExcludes = (Value | Type) & ~ConstEnum, + ValueModuleExcludes = Value & ~(Function | Class | RegularEnum | ValueModule), + NamespaceModuleExcludes = None, + MethodExcludes = Value & ~Method, + GetAccessorExcludes = Value & ~SetAccessor, + SetAccessorExcludes = Value & ~GetAccessor, + AccessorExcludes = Value & ~Accessor, + TypeParameterExcludes = Type & ~TypeParameter, + TypeAliasExcludes = Type, + AliasExcludes = Alias, + ModuleMember = Variable | Function | Class | Interface | Enum | Module | TypeAlias | Alias, + ExportHasLocal = Function | Class | Enum | ValueModule, + BlockScoped = BlockScopedVariable | Class | Enum, + PropertyOrAccessor = Property | Accessor, + ClassMember = Method | Accessor | Property, + ExportSupportsDefaultModifier = Class | Function | Interface, + ExportDoesNotSupportDefaultModifier = ~ExportSupportsDefaultModifier, + + Classifiable = Class | Enum | TypeAlias | Interface | TypeParameter | Module | Alias, + LateBindingContainer = Class | Interface | TypeLiteral | ObjectLiteral | Function, +} diff --git a/_api/src/base/symbolFlags.js b/_api/src/base/symbolFlags.js new file mode 100644 index 0000000000..e8455c48aa --- /dev/null +++ b/_api/src/base/symbolFlags.js @@ -0,0 +1,91 @@ +export var SymbolFlags; +(function (SymbolFlags) { + SymbolFlags[(SymbolFlags["None"] = 0)] = "None"; + SymbolFlags[(SymbolFlags["FunctionScopedVariable"] = 1)] = + "FunctionScopedVariable"; + SymbolFlags[(SymbolFlags["BlockScopedVariable"] = 2)] = "BlockScopedVariable"; + SymbolFlags[(SymbolFlags["Property"] = 4)] = "Property"; + SymbolFlags[(SymbolFlags["EnumMember"] = 8)] = "EnumMember"; + SymbolFlags[(SymbolFlags["Function"] = 16)] = "Function"; + SymbolFlags[(SymbolFlags["Class"] = 32)] = "Class"; + SymbolFlags[(SymbolFlags["Interface"] = 64)] = "Interface"; + SymbolFlags[(SymbolFlags["ConstEnum"] = 128)] = "ConstEnum"; + SymbolFlags[(SymbolFlags["RegularEnum"] = 256)] = "RegularEnum"; + SymbolFlags[(SymbolFlags["ValueModule"] = 512)] = "ValueModule"; + SymbolFlags[(SymbolFlags["NamespaceModule"] = 1024)] = "NamespaceModule"; + SymbolFlags[(SymbolFlags["TypeLiteral"] = 2048)] = "TypeLiteral"; + SymbolFlags[(SymbolFlags["ObjectLiteral"] = 4096)] = "ObjectLiteral"; + SymbolFlags[(SymbolFlags["Method"] = 8192)] = "Method"; + SymbolFlags[(SymbolFlags["Constructor"] = 16384)] = "Constructor"; + SymbolFlags[(SymbolFlags["GetAccessor"] = 32768)] = "GetAccessor"; + SymbolFlags[(SymbolFlags["SetAccessor"] = 65536)] = "SetAccessor"; + SymbolFlags[(SymbolFlags["Signature"] = 131072)] = "Signature"; + SymbolFlags[(SymbolFlags["TypeParameter"] = 262144)] = "TypeParameter"; + SymbolFlags[(SymbolFlags["TypeAlias"] = 524288)] = "TypeAlias"; + SymbolFlags[(SymbolFlags["ExportValue"] = 1048576)] = "ExportValue"; + SymbolFlags[(SymbolFlags["Alias"] = 2097152)] = "Alias"; + SymbolFlags[(SymbolFlags["Prototype"] = 4194304)] = "Prototype"; + SymbolFlags[(SymbolFlags["ExportStar"] = 8388608)] = "ExportStar"; + SymbolFlags[(SymbolFlags["Optional"] = 16777216)] = "Optional"; + SymbolFlags[(SymbolFlags["Transient"] = 33554432)] = "Transient"; + SymbolFlags[(SymbolFlags["Assignment"] = 67108864)] = "Assignment"; + SymbolFlags[(SymbolFlags["ModuleExports"] = 134217728)] = "ModuleExports"; + SymbolFlags[(SymbolFlags["ConstEnumOnlyModule"] = 268435456)] = + "ConstEnumOnlyModule"; + SymbolFlags[(SymbolFlags["ReplaceableByMethod"] = 536870912)] = + "ReplaceableByMethod"; + SymbolFlags[(SymbolFlags["GlobalLookup"] = 1073741824)] = "GlobalLookup"; + SymbolFlags[(SymbolFlags["All"] = 536870912)] = "All"; + SymbolFlags[(SymbolFlags["Enum"] = 384)] = "Enum"; + SymbolFlags[(SymbolFlags["Variable"] = 3)] = "Variable"; + SymbolFlags[(SymbolFlags["Value"] = 111551)] = "Value"; + SymbolFlags[(SymbolFlags["Type"] = 788968)] = "Type"; + SymbolFlags[(SymbolFlags["Namespace"] = 1920)] = "Namespace"; + SymbolFlags[(SymbolFlags["Module"] = 1536)] = "Module"; + SymbolFlags[(SymbolFlags["Accessor"] = 98304)] = "Accessor"; + SymbolFlags[(SymbolFlags["FunctionScopedVariableExcludes"] = 111550)] = + "FunctionScopedVariableExcludes"; + SymbolFlags[(SymbolFlags["BlockScopedVariableExcludes"] = 111551)] = + "BlockScopedVariableExcludes"; + SymbolFlags[(SymbolFlags["ParameterExcludes"] = 111551)] = + "ParameterExcludes"; + SymbolFlags[(SymbolFlags["PropertyExcludes"] = 111547)] = "PropertyExcludes"; + SymbolFlags[(SymbolFlags["EnumMemberExcludes"] = 900095)] = + "EnumMemberExcludes"; + SymbolFlags[(SymbolFlags["FunctionExcludes"] = 110991)] = "FunctionExcludes"; + SymbolFlags[(SymbolFlags["ClassExcludes"] = 899503)] = "ClassExcludes"; + SymbolFlags[(SymbolFlags["InterfaceExcludes"] = 788872)] = + "InterfaceExcludes"; + SymbolFlags[(SymbolFlags["RegularEnumExcludes"] = 899327)] = + "RegularEnumExcludes"; + SymbolFlags[(SymbolFlags["ConstEnumExcludes"] = 899967)] = + "ConstEnumExcludes"; + SymbolFlags[(SymbolFlags["ValueModuleExcludes"] = 110735)] = + "ValueModuleExcludes"; + SymbolFlags[(SymbolFlags["NamespaceModuleExcludes"] = 0)] = + "NamespaceModuleExcludes"; + SymbolFlags[(SymbolFlags["MethodExcludes"] = 103359)] = "MethodExcludes"; + SymbolFlags[(SymbolFlags["GetAccessorExcludes"] = 46015)] = + "GetAccessorExcludes"; + SymbolFlags[(SymbolFlags["SetAccessorExcludes"] = 78783)] = + "SetAccessorExcludes"; + SymbolFlags[(SymbolFlags["AccessorExcludes"] = 13247)] = "AccessorExcludes"; + SymbolFlags[(SymbolFlags["TypeParameterExcludes"] = 526824)] = + "TypeParameterExcludes"; + SymbolFlags[(SymbolFlags["TypeAliasExcludes"] = 788968)] = + "TypeAliasExcludes"; + SymbolFlags[(SymbolFlags["AliasExcludes"] = 2097152)] = "AliasExcludes"; + SymbolFlags[(SymbolFlags["ModuleMember"] = 2623475)] = "ModuleMember"; + SymbolFlags[(SymbolFlags["ExportHasLocal"] = 944)] = "ExportHasLocal"; + SymbolFlags[(SymbolFlags["BlockScoped"] = 418)] = "BlockScoped"; + SymbolFlags[(SymbolFlags["PropertyOrAccessor"] = 98308)] = + "PropertyOrAccessor"; + SymbolFlags[(SymbolFlags["ClassMember"] = 106500)] = "ClassMember"; + SymbolFlags[(SymbolFlags["ExportSupportsDefaultModifier"] = 112)] = + "ExportSupportsDefaultModifier"; + SymbolFlags[(SymbolFlags["ExportDoesNotSupportDefaultModifier"] = -113)] = + "ExportDoesNotSupportDefaultModifier"; + SymbolFlags[(SymbolFlags["Classifiable"] = 2885600)] = "Classifiable"; + SymbolFlags[(SymbolFlags["LateBindingContainer"] = 6256)] = + "LateBindingContainer"; +})(SymbolFlags || (SymbolFlags = {})); diff --git a/_api/src/bench.ts b/_api/src/bench.ts new file mode 100644 index 0000000000..1d663061c3 --- /dev/null +++ b/_api/src/bench.ts @@ -0,0 +1,82 @@ +import { SyntaxKind } from "#ast/syntax"; +import { + bench, + run, +} from "mitata"; +import { readFileSync } from "node:fs"; +import { dirname } from "node:path"; +import ts from "typescript"; +import { isIdentifier } from "./ast/nodeTests.ts"; +import { SymbolFlags } from "./base/api.ts"; +import { API } from "./sync/api.ts"; +{ + const api = new API({ + tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, + cwd: dirname(new URL(import.meta.url).pathname), + logFile: "tsgo.log", + }); + const project = api.loadProject("../../../TypeScript/src/compiler/tsconfig.json"); + const file = project.getSourceFile("debug.ts")!; + // bench("native - batched", () => { + const symbolRequests: { fileName: string; position: number; }[] = []; + file.forEachChild(function visitNode(node) { + if (isIdentifier(node)) { + symbolRequests.push({ fileName: "debug.ts", position: node.pos }); + } + node.forEachChild(child => visitNode(child)); + }); + + project.getSymbolAtPosition(symbolRequests); + // }); + + // bench("native - many calls", () => { + // const symbolRequests: { fileName: string; position: number; }[] = []; + // file.forEachChild(function visitNode(node) { + // if (isIdentifier(node)) { + // project.getSymbolAtPosition("debug.ts", node.pos); + // } + // node.forEachChild(child => visitNode(child)); + // }); + // project.getSymbolAtPosition(symbolRequests); + // }); +} + +// { +// const configFilePath = new URL("../../../TypeScript/src/compiler/tsconfig.json", import.meta.url).pathname; +// const configFileText = readFileSync(configFilePath, "utf-8"); +// const jsonSourceFile = ts.parseJsonText(configFilePath, configFileText); + +// const parseConfigHost: ts.ParseConfigHost = { +// fileExists: ts.sys.fileExists, +// readFile: ts.sys.readFile, +// readDirectory: ts.sys.readDirectory, +// useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, +// }; + +// const parsedConfig = ts.parseJsonSourceFileConfigFileContent( +// jsonSourceFile, +// parseConfigHost, +// dirname(configFilePath), +// ); + +// const program = ts.createProgram({ +// rootNames: parsedConfig.fileNames, +// options: parsedConfig.options, +// }); + +// const checker = program.getTypeChecker(); +// const file = program.getSourceFile("/Users/andrew/Developer/microsoft/TypeScript/src/compiler/checker.ts")!; +// bench("js", () => { +// file.forEachChild(function visitNode(node) { +// if (ts.isIdentifier(node)) { +// const symbol = checker.getSymbolAtLocation(node); +// // if (symbol?.flags! & SymbolFlags.Value) { +// // counts.types++; +// // checker.getTypeOfSymbolAtLocation(symbol!, node); +// // } +// } +// node.forEachChild(child => visitNode(child)); +// }); +// }); +// } +// await run(); diff --git a/_api/src/sf.ts b/_api/src/sf.ts deleted file mode 100644 index 3d74e4923c..0000000000 --- a/_api/src/sf.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { dirname } from "node:path"; -import { API } from "./sync/api.ts"; -import { SyntaxKind } from "./syntaxKind.ts"; - -const api = new API({ - tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, - cwd: dirname(new URL(import.meta.url).pathname), -}); - -const project = api.loadProject("../../../TypeScript/src/compiler/tsconfig.json"); - -console.time("getSourceFile"); -const file = project.getSourceFile("corePublic.ts")!; -console.timeEnd("getSourceFile"); -console.log(""); - -console.log("node count:", file.nodeCount()); -console.log(); - -console.log(file.statements!.at(0).declarationList); - -// console.log(SyntaxKind[file.kind], file.pos, file.end); -// file.forEachChild(function visitNode(node, depth = 0) { -// console.log(" ".repeat(depth), SyntaxKind[node.kind] ?? "(NodeList)", node.pos, node.end); -// node.forEachChild(child => visitNode(child, depth + 1)); -// }); diff --git a/_api/src/sync/api.ts b/_api/src/sync/api.ts index 95286c8bf3..35b8d79a65 100644 --- a/_api/src/sync/api.ts +++ b/_api/src/sync/api.ts @@ -1,3 +1,4 @@ +import type { SourceFile as SourceFileNode } from "../ast/ast.ts"; import { type API as BaseAPI, type APIOptions as BaseAPIOptions, @@ -16,42 +17,12 @@ import type { import { Client } from "./client.ts"; export interface APIOptions extends BaseAPIOptions { - fs?: { - directoryExists?: (directoryName: string) => boolean | undefined; - fileExists?: (fileName: string) => boolean | undefined; - getAccessibleEntries?: (directoryName: string) => FileSystemEntries | undefined; - getEntries?: (directoryName: string) => FileSystemEntries | undefined; - readFile?: (fileName: string) => string | null | undefined; - realpath?: (path: string) => string | undefined; - }; } export class API implements BaseAPI { private client: Client; constructor(options: APIOptions) { this.client = new Client(options); - if (options.fs) { - if (options.fs) { - if (options.fs.directoryExists) { - this.client.registerCallback("directoryExists", options.fs.directoryExists); - } - if (options.fs.fileExists) { - this.client.registerCallback("fileExists", options.fs.fileExists); - } - if (options.fs.getAccessibleEntries) { - this.client.registerCallback("getAccessibleEntries", options.fs.getAccessibleEntries); - } - if (options.fs.getEntries) { - this.client.registerCallback("getEntries", options.fs.getEntries); - } - if (options.fs.readFile) { - this.client.registerCallback("readFile", options.fs.readFile); - } - if (options.fs.realpath) { - this.client.registerCallback("realpath", options.fs.realpath); - } - } - } } parseConfigFile(fileName: string): ParsedCommandLine { @@ -80,18 +51,26 @@ export class Project extends BaseProject { this.loadData(this.client.request("loadProject", { configFileName: this.configFileName })); } - getSourceFile(fileName: string): SourceFile | undefined { + getSourceFile(fileName: string): SourceFileNode | undefined { const data = this.client.requestBinary("getSourceFile", { project: this.configFileName, fileName }); - return data ? new SourceFile(this.client, this, data) : undefined; + return data ? new SourceFile(this.client, this, data) as unknown as SourceFileNode : undefined; } - getSymbolAtPosition(fileName: string, position: number): Symbol | undefined { - const data = this.client.request("getSymbolAtPosition", { project: this.configFileName, fileName, position }); - return data ? new Symbol(this.client, this, data) : undefined; + getSymbolAtPosition(requests: readonly { fileName: string; position: number; }[]): (Symbol | undefined)[]; + getSymbolAtPosition(fileName: string, position: number): Symbol | undefined; + getSymbolAtPosition(...params: [fileName: string, position: number] | [readonly { fileName: string; position: number; }[]]): Symbol | undefined | (Symbol | undefined)[] { + if (params.length === 2) { + const data = this.client.request("getSymbolAtPosition", { project: this.configFileName, fileName: params[0], position: params[1] }); + return data ? new Symbol(this.client, this, data) : undefined; + } + else { + const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.configFileName, fileName, position }))); + return data.map((d: SymbolData | null) => d ? new Symbol(this.client, this, d) : undefined); + } } } -export class SourceFile extends BaseSourceFile { +export class SourceFile extends BaseSourceFile { private client: Client; private project: Project; constructor(client: Client, project: Project, data: Buffer) { diff --git a/_api/src/sync/client.ts b/_api/src/sync/client.ts index 5951145fdb..1954ce3d9e 100644 --- a/_api/src/sync/client.ts +++ b/_api/src/sync/client.ts @@ -1,8 +1,17 @@ import { SyncRpcChannel } from "libsyncrpc"; +import type { FileSystemEntries } from "../types.ts"; export interface ClientOptions { tsserverPath: string; cwd?: string; + logFile?: string; + fs?: { + directoryExists?: (directoryName: string) => boolean | undefined; + fileExists?: (fileName: string) => boolean | undefined; + getAccessibleEntries?: (directoryName: string) => FileSystemEntries | undefined; + readFile?: (fileName: string) => string | null | undefined; + realpath?: (path: string) => string | undefined; + }; } export class Client { @@ -14,6 +23,14 @@ export class Client { "-cwd", options.cwd ?? process.cwd(), ]); + + this.channel.requestSync( + "configure", + JSON.stringify({ + logFile: options.logFile, + callbacks: Object.keys(options.fs ?? {}), + }), + ); } registerCallback(method: string, callback: (payload: any) => any): void { @@ -25,7 +42,16 @@ export class Client { } request(method: string, payload: any): any { - return JSON.parse(this.channel.requestSync(method, JSON.stringify(payload))); + console.time("encode payload"); + const encodedPayload = JSON.stringify(payload); + console.timeEnd("encode payload"); + console.time("request"); + const result = this.channel.requestSync(method, encodedPayload); + console.timeEnd("request"); + console.time("decode result"); + const decodedResult = JSON.parse(result); + console.timeEnd("decode result"); + return decodedResult; } requestBinary(method: string, payload: any): Buffer { diff --git a/internal/api/api.go b/internal/api/api.go index b92540cd8a..ba65254165 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -4,6 +4,7 @@ import ( "encoding/json" "fmt" "sync" + "time" "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/core" @@ -13,8 +14,6 @@ import ( "github.com/microsoft/typescript-go/internal/vfs" ) -type weakValuedMap[T any] map[Handle[T]]*T - type APIOptions struct { Logger *project.Logger } @@ -27,8 +26,9 @@ type API struct { scriptInfosMu sync.RWMutex scriptInfos map[tspath.Path]*project.ScriptInfo - projects map[tspath.Path]*project.Project - symbols weakValuedMap[ast.Symbol] + projects map[tspath.Path]*project.Project + symbolsMu sync.Mutex + symbols map[Handle[ast.Symbol]]*ast.Symbol } var _ project.ProjectHost = (*API)(nil) @@ -43,7 +43,7 @@ func NewAPI(host APIHost, options APIOptions) *API { }), scriptInfos: make(map[tspath.Path]*project.ScriptInfo), projects: make(map[tspath.Path]*project.Project), - symbols: make(weakValuedMap[ast.Symbol]), + symbols: make(map[Handle[ast.Symbol]]*ast.Symbol), } } @@ -95,10 +95,12 @@ func (api *API) NewLine() string { } func (api *API) HandleRequest(id int, method string, payload json.RawMessage) (any, error) { + now := time.Now() params, err := unmarshalPayload(method, payload) if err != nil { return nil, err } + api.options.Logger.PerfTrace(fmt.Sprintf("%s unmarshal - %s", method, time.Since(now))) switch Method(method) { case MethodParseConfigFile: @@ -106,11 +108,13 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) (a case MethodLoadProject: return api.LoadProject(params.(*LoadProjectParams).ConfigFileName) case MethodGetSymbolAtPosition: - params := params.(*GetSymbolAtPositionParams) - return api.GetSymbolAtPosition(api.toPath(params.Project), params.FileName, int(params.Position)) + return handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { + return api.GetSymbolAtPosition(api.toPath(params.Project), params.FileName, int(params.Position)) + }) case MethodGetTypeOfSymbol: - params := params.(*GetTypeOfSymbolParams) - return api.GetTypeOfSymbol(api.toPath(params.Project), params.Symbol) + return handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { + return api.GetTypeOfSymbol(api.toPath(params.Project), params.Symbol) + }) default: return nil, fmt.Errorf("unhandled API method %q", method) } @@ -136,7 +140,7 @@ func (api *API) HandleBinaryRequest(id int, method string, payload []byte) ([]by } func (api *API) Close() { - // !!! + api.options.Logger.Close() } func (api *API) ParseConfigFile(configFileName string) (*tsoptions.ParsedCommandLine, error) { @@ -166,6 +170,7 @@ func (api *API) LoadProject(configFileName string) (*ProjectData, error) { if err := project.LoadConfig(); err != nil { return nil, err } + project.GetProgram() api.projects[configFilePath] = project return NewProjectData(project), nil } @@ -180,6 +185,8 @@ func (api *API) GetSymbolAtPosition(projectPath tspath.Path, fileName string, po return nil, err } data := NewSymbolData(symbol, project.Version()) + api.symbolsMu.Lock() + defer api.symbolsMu.Unlock() api.symbols[data.Id] = symbol return data, nil } @@ -239,3 +246,29 @@ func (api *API) toAbsoluteFileName(fileName string) string { func (api *API) toPath(fileName string) tspath.Path { return tspath.ToPath(fileName, api.host.GetCurrentDirectory(), api.host.FS().UseCaseSensitiveFileNames()) } + +func handleBatchableRequest[T any](params any, executeRequest func(T) (any, error)) (any, error) { + if batchParams, ok := params.(*[]T); !ok { + return executeRequest(params.(T)) + } else { + var err error + batchParams := *batchParams + results := make([]any, len(batchParams)) + wg := core.NewWorkGroup(true /*singleThreaded*/) // !!! TODO: make GetSymbolAtLocation et al. concurrency-safe + for i, params := range batchParams { + wg.Queue(func() { + var result any + if err != nil { + return + } + result, err = executeRequest(params) + results[i] = result + }) + } + wg.RunAndWait() + if err != nil { + return nil, err + } + return results, nil + } +} diff --git a/internal/api/encoder.go b/internal/api/encoder.go index 10490386e9..4af88f8b9b 100644 --- a/internal/api/encoder.go +++ b/internal/api/encoder.go @@ -3,6 +3,7 @@ package api import ( "encoding/binary" "fmt" + "slices" "strings" "github.com/microsoft/typescript-go/internal/ast" @@ -25,6 +26,40 @@ const ( NodeDataTypeExtendedDataIndex ) +const ( + EncodedHeaderLength = 6 * 4 +) + +type stringTable struct { + data *strings.Builder + offsets []int32 +} + +func newStringTable(stringLength int, stringCount int) *stringTable { + builder := &strings.Builder{} + builder.Grow(stringLength) + return &stringTable{ + data: builder, + offsets: make([]int32, 0, stringCount), + } +} + +func (t *stringTable) add(s string) int32 { + offset := int32(t.data.Len()) + t.offsets = append(t.offsets, offset) + t.data.WriteString(s) + return int32(len(t.offsets) - 1) +} + +func (t *stringTable) encode() (result []byte, err error) { + result = make([]byte, 0, len(t.offsets)*4+t.data.Len()) + if result, err = appendInt32s(result, t.offsets...); err != nil { + return nil, err + } + result = append(result, t.data.String()...) + return result, nil +} + // EncodeSourceFile encodes a source file into a byte slice. // The encoded format is a sequence of int32 values, where each node is represented by 5 values: // - kind: the node kind @@ -34,52 +69,43 @@ const ( // - parent: the index of the parent node (0 if there is no parent) // The first encoded node is a zero element that is not part of the source file. func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { - buf := make([]byte, 0, (sourceFile.NodeCount+1)*EncodedNodeLength*4) - - current := sourceFile.AsNode() - var currentNodeList *ast.NodeList var err error - var parentIndex, nodeIndex, currentIndex int32 + var parentIndex, nodeCount, prevIndex int32 + + strs := newStringTable(sourceFile.TextLength, sourceFile.TextCount) + nodes := make([]byte, 0, (sourceFile.NodeCount+1)*EncodedNodeLength*4) visitor := &ast.NodeVisitor{ Hooks: ast.NodeVisitorHooks{ - VisitNodes: func(nodes *ast.NodeList, visitor *ast.NodeVisitor) *ast.NodeList { - if nodes == nil || len(nodes.Nodes) == 0 { - return nodes + VisitNodes: func(nodeList *ast.NodeList, visitor *ast.NodeVisitor) *ast.NodeList { + if nodeList == nil || len(nodeList.Nodes) == 0 { + return nodeList } - nodeIndex++ - if nodes.Nodes[0].Parent == current { - // this is the first child of the last node we visited - parentIndex = nodeIndex - 1 - } else if nodes.Nodes[0].Parent == current.Parent { - // this is the next sibling of `current` - b0, b1, b2, b3 := uint8(nodeIndex), uint8(nodeIndex>>8), uint8(nodeIndex>>16), uint8(nodeIndex>>24) - buf[currentIndex*EncodedNodeLength*4+EncodedNext*4] = b0 - buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+1] = b1 - buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+2] = b2 - buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+3] = b3 + nodeCount++ + if prevIndex != 0 { + // this is the next sibling of `prevNode` + b0, b1, b2, b3 := uint8(nodeCount), uint8(nodeCount>>8), uint8(nodeCount>>16), uint8(nodeCount>>24) + nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4] = b0 + nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+1] = b1 + nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+2] = b2 + nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+3] = b3 } - saveNodeList := currentNodeList - saveParentIndex := parentIndex - saveCurrent := current - saveCurrentIndex := currentIndex - - currentNodeList = nodes - currentIndex = nodeIndex - - if buf, err = appendInt32s(buf, int32(-1), int32(nodes.Pos()), int32(nodes.End()), 0, parentIndex, int32(len(nodes.Nodes))); err != nil { + if nodes, err = appendInt32s(nodes, int32(-1), int32(nodeList.Pos()), int32(nodeList.End()), 0, parentIndex, int32(len(nodeList.Nodes))); err != nil { return nil } - visitor.VisitSlice(nodes.Nodes) + saveParentIndex := parentIndex + currentIndex := nodeCount + prevIndex = 0 + parentIndex = currentIndex + visitor.VisitSlice(nodeList.Nodes) + prevIndex = currentIndex parentIndex = saveParentIndex - current = saveCurrent - currentIndex = saveCurrentIndex - currentNodeList = saveNodeList - return nodes + + return nodeList }, VisitModifiers: func(modifiers *ast.ModifierList, visitor *ast.NodeVisitor) *ast.ModifierList { if modifiers != nil && len(modifiers.Nodes) > 0 { @@ -90,45 +116,40 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { }, } visitor.Visit = func(node *ast.Node) *ast.Node { - nodeIndex++ - if node.Parent != nil { - if node.Parent == current || currentNodeList != nil && currentNodeList.Nodes[0] == node { - // this is the first child of the last node we visited - parentIndex = nodeIndex - 1 - } else if node.Parent == current.Parent { - // this is the next sibling of `current` - b0, b1, b2, b3 := uint8(nodeIndex), uint8(nodeIndex>>8), uint8(nodeIndex>>16), uint8(nodeIndex>>24) - buf[currentIndex*EncodedNodeLength*4+EncodedNext*4] = b0 - buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+1] = b1 - buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+2] = b2 - buf[currentIndex*EncodedNodeLength*4+EncodedNext*4+3] = b3 - } + nodeCount++ + if prevIndex != 0 { + // this is the next sibling of `prevNode` + b0, b1, b2, b3 := uint8(nodeCount), uint8(nodeCount>>8), uint8(nodeCount>>16), uint8(nodeCount>>24) + nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4] = b0 + nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+1] = b1 + nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+2] = b2 + nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+3] = b3 } - current = node - currentIndex = nodeIndex - saveParentIndex := parentIndex - saveCurrentIndex := currentIndex - if buf, err = appendInt32s(buf, int32(current.Kind), int32(current.Pos()), int32(current.End()), 0, parentIndex, getNodeData(current)); err != nil { + if nodes, err = appendInt32s(nodes, int32(node.Kind), int32(node.Pos()), int32(node.End()), 0, parentIndex, getNodeData(node, strs)); err != nil { visitor.Visit = nil return nil } + saveParentIndex := parentIndex + + currentIndex := nodeCount + prevIndex = 0 + parentIndex = currentIndex visitor.VisitEachChild(node) + prevIndex = currentIndex parentIndex = saveParentIndex - current = node - currentIndex = saveCurrentIndex return node } // kind, pos, end, next, parent - if buf, err = appendInt32s(buf, 0, 0, 0, 0, 0, 0); err != nil { + if nodes, err = appendInt32s(nodes, 0, 0, 0, 0, 0, 0); err != nil { return nil, err } - nodeIndex++ + nodeCount++ parentIndex++ - if buf, err = appendInt32s(buf, int32(sourceFile.Kind), int32(sourceFile.Pos()), int32(sourceFile.End()), 0, 0, 0); err != nil { + if nodes, err = appendInt32s(nodes, int32(sourceFile.Kind), int32(sourceFile.Pos()), int32(sourceFile.End()), 0, 0, 0); err != nil { return nil, err } @@ -137,7 +158,35 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { return nil, err } - return buf, nil + headerLength := EncodedHeaderLength + offsetStringTableOffsets := headerLength + offsetStringTableData := headerLength + len(strs.offsets)*4 + offsetNodes := offsetStringTableData + strs.data.Len() + offsetExtendedDataOffsets := 0 + offsetExtendedDataData := 0 + + header := []int32{ + 0, + int32(offsetStringTableOffsets), + int32(offsetStringTableData), + int32(offsetExtendedDataOffsets), + int32(offsetExtendedDataData), + int32(offsetNodes), + } + + var headerBytes, strsBytes []byte + if headerBytes, err = appendInt32s(nil, header...); err != nil { + return nil, err + } + if strsBytes, err = strs.encode(); err != nil { + return nil, err + } + + return slices.Concat( + headerBytes, + strsBytes, + nodes, + ), nil } func appendInt32s(buf []byte, values ...int32) ([]byte, error) { @@ -150,39 +199,46 @@ func appendInt32s(buf []byte, values ...int32) ([]byte, error) { return buf, nil } -func FormatEncodedSourceFile(encoded []int32) string { +func readInt32(buf []byte, offset int) int32 { + return int32(binary.LittleEndian.Uint32(buf[offset : offset+4])) +} + +func FormatEncodedSourceFile(encoded []byte) string { var result strings.Builder var getIndent func(parentIndex int32) string + offsetNodes := readInt32(encoded, 5*4) getIndent = func(parentIndex int32) string { if parentIndex == 0 { return "" } - return " " + getIndent(encoded[parentIndex*EncodedNodeLength+EncodedParent]) + return " " + getIndent(readInt32(encoded, int(offsetNodes)+int(parentIndex)*EncodedNodeLength*4+EncodedParent*4)) } - for i := EncodedNodeLength; i < len(encoded); i += EncodedNodeLength { - kind := encoded[i+EncodedKind] - pos := encoded[i+EncodedPos] - end := encoded[i+EncodedEnd] - parentIndex := encoded[i+EncodedParent] + j := 1 + for i := int(offsetNodes) + EncodedNodeLength*4; i < len(encoded); i += EncodedNodeLength * 4 { + kind := readInt32(encoded, i+EncodedKind*4) + pos := readInt32(encoded, i+EncodedPos*4) + end := readInt32(encoded, i+EncodedEnd*4) + parentIndex := readInt32(encoded, i+EncodedParent*4) result.WriteString(getIndent(parentIndex)) if kind == -1 { result.WriteString("NodeList") } else { result.WriteString(ast.Kind(kind).String()) } - fmt.Fprintf(&result, " [%d, %d), i=%d, next=%d", pos, end, i/EncodedNodeLength, encoded[i+EncodedNext]) + fmt.Fprintf(&result, " [%d, %d), i=%d, next=%d", pos, end, j, encoded[i+EncodedNext*4]) result.WriteString("\n") + j++ } return result.String() } -func getNodeData(node *ast.Node) int32 { +func getNodeData(node *ast.Node, strs *stringTable) int32 { t := getNodeDataType(node) switch t { case NodeDataTypeChildren: return t | getNodeDefinedData(node) | int32(getChildrenPropertyMask(node)) case NodeDataTypeStringIndex: - return t | getNodeDefinedData(node) /* | TODO */ + return t | getNodeDefinedData(node) | recordNodeStrings(node, strs) case NodeDataTypeExtendedDataIndex: return t | getNodeDefinedData(node) /* | TODO */ default: @@ -596,6 +652,31 @@ func getNodeDefinedData(node *ast.Node) int32 { return 0 } +func recordNodeStrings(node *ast.Node, strs *stringTable) int32 { + switch node.Kind { + case ast.KindJsxText: + return strs.add(node.AsJsxText().Text) + case ast.KindIdentifier: + return strs.add(node.AsIdentifier().Text) + case ast.KindPrivateIdentifier: + return strs.add(node.AsPrivateIdentifier().Text) + case ast.KindStringLiteral: + return strs.add(node.AsStringLiteral().Text) + case ast.KindNumericLiteral: + return strs.add(node.AsNumericLiteral().Text) + case ast.KindBigIntLiteral: + return strs.add(node.AsBigIntLiteral().Text) + case ast.KindRegularExpressionLiteral: + return strs.add(node.AsRegularExpressionLiteral().Text) + case ast.KindNoSubstitutionTemplateLiteral: + return strs.add(node.AsNoSubstitutionTemplateLiteral().Text) + case ast.KindJSDocText: + return strs.add(node.AsJSDocText().Text) + default: + panic(fmt.Sprintf("Unexpected node kind %v", node.Kind)) + } +} + func boolToByte(b bool) byte { if b { return 1 diff --git a/internal/api/encoder_test.go b/internal/api/encoder_test.go index e9be1c630f..2ae18ffa0b 100644 --- a/internal/api/encoder_test.go +++ b/internal/api/encoder_test.go @@ -1,8 +1,6 @@ package api_test import ( - "bytes" - "encoding/binary" "os" "path/filepath" "testing" @@ -19,7 +17,7 @@ import ( func TestEncodeSourceFile(t *testing.T) { t.Parallel() - sourceFile := parser.ParseSourceFile("/test.ts", "/test.ts", "export const x = 1; foo();", core.ScriptTargetESNext, scanner.JSDocParsingModeParseAll) + sourceFile := parser.ParseSourceFile("/test.ts", "/test.ts", "export function foo(a: string, b: string): any {}\nfoo();", core.ScriptTargetESNext, scanner.JSDocParsingModeParseAll) ast.SetParentInChildren(sourceFile.AsNode()) t.Run("baseline", func(t *testing.T) { @@ -27,44 +25,11 @@ func TestEncodeSourceFile(t *testing.T) { buf, err := api.EncodeSourceFile(sourceFile) assert.NilError(t, err) - decoded, err := decodeInt32s(buf) - assert.NilError(t, err) - - str := api.FormatEncodedSourceFile(decoded) + str := api.FormatEncodedSourceFile(buf) baseline.Run(t, "encodeSourceFile.txt", str, baseline.Options{ Subfolder: "api", }) }) - - t.Run("verify next", func(t *testing.T) { - t.Parallel() - buf, err := api.EncodeSourceFile(sourceFile) - assert.NilError(t, err) - - decoded, err := decodeInt32s(buf) - assert.NilError(t, err) - - for i := api.EncodedNodeLength; i < len(decoded); i += api.EncodedNodeLength { - next := decoded[i+api.EncodedNext] - parent := decoded[i+api.EncodedParent] - if next != 0 { - for j := i + api.EncodedNodeLength; j < int(next)*api.EncodedNodeLength; j += api.EncodedNodeLength { - if j == int(next) { - // Ensure 'next' has the same parent - assert.Assert(t, decoded[j+api.EncodedParent] == parent) - } else { - // ...and no others on the way also do - assert.Assert(t, decoded[j+api.EncodedParent] != parent) - } - } - } else { - // No subsequent node should have the same parent - for j := i + api.EncodedNodeLength; j < len(decoded); j += api.EncodedNodeLength { - assert.Assert(t, decoded[j+api.EncodedParent] != parent) - } - } - } - }) } func BenchmarkEncodeSourceFile(b *testing.B) { @@ -85,12 +50,3 @@ func BenchmarkEncodeSourceFile(b *testing.B) { assert.NilError(b, err) } } - -func decodeInt32s(buf []byte) ([]int32, error) { - count := len(buf) / 4 - result := make([]int32, count) - if err := binary.Read(bytes.NewReader(buf), binary.LittleEndian, result); err != nil { - return nil, err - } - return result, nil -} diff --git a/internal/api/proto.go b/internal/api/proto.go index ef8e667cfc..8b594c4ac8 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -26,6 +26,7 @@ func NewHandle[T any](v *T) Handle[T] { } const ( + MethodConfigure Method = "configure" MethodParseConfigFile Method = "parseConfigFile" MethodLoadProject Method = "loadProject" MethodGetSymbolAtPosition Method = "getSymbolAtPosition" @@ -36,9 +37,14 @@ const ( var unmarshalers = map[Method]func([]byte) (any, error){ MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], MethodLoadProject: unmarshallerFor[LoadProjectParams], - MethodGetSymbolAtPosition: unmarshallerFor[GetSymbolAtPositionParams], - MethodGetTypeOfSymbol: unmarshallerFor[GetTypeOfSymbolParams], MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], + MethodGetSymbolAtPosition: batchEnabledUnmarshallerFor[GetSymbolAtPositionParams], + MethodGetTypeOfSymbol: batchEnabledUnmarshallerFor[GetTypeOfSymbolParams], +} + +type ConfigureParams struct { + Callbacks []string `json:"callbacks"` + LogFile string `json:"logFile"` } type ParseConfigFileParams struct { @@ -115,6 +121,17 @@ func unmarshalPayload(method string, payload json.RawMessage) (any, error) { return unmarshaler(payload) } +func batchEnabledUnmarshallerFor[T any](data []byte) (any, error) { + if data[0] != '[' { + return unmarshallerFor[T](data) + } + var v []*T + if err := json.Unmarshal(data, &v); err != nil { + return nil, fmt.Errorf("failed to unmarshal %T: %w", (*T)(nil), err) + } + return &v, nil +} + func unmarshallerFor[T any](data []byte) (any, error) { var v T if err := json.Unmarshal(data, &v); err != nil { diff --git a/internal/api/server.go b/internal/api/server.go index c222bada78..5db17bddcb 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -9,6 +9,7 @@ import ( "io" "strconv" "sync" + "time" "github.com/microsoft/typescript-go/internal/bundled" "github.com/microsoft/typescript-go/internal/project" @@ -70,7 +71,7 @@ func NewServer(options *ServerOptions) *Server { fs: bundled.WrapFS(osvfs.FS()), defaultLibraryPath: options.DefaultLibraryPath, } - logger := project.NewLogger([]io.Writer{options.Err}, project.LogLevelVerbose) + logger := project.NewLogger([]io.Writer{options.Err}, "", project.LogLevelVerbose) api := NewAPI(server, APIOptions{ Logger: logger, }) @@ -124,7 +125,7 @@ func (s *Server) Run() error { } method := string(line[offset : offset+index]) payload := line[offset+index+1 : len(line)-1] - + now := time.Now() var result any var err error if messageType == "request-bin" { @@ -133,14 +134,17 @@ func (s *Server) Run() error { result, err = s.handleRequest(method, payload) } + s.logger.PerfTrace(fmt.Sprintf("%s handled - %s", method, time.Since(now))) + now = time.Now() if err != nil { if err := s.sendError(method, err); err != nil { return err } - } else { + } else if result != nil { if err := s.sendResponse(method, result); err != nil { return err } + s.logger.PerfTrace(fmt.Sprintf("%s sent - %s", method, time.Since(now))) } default: return fmt.Errorf("%w: expected request, recieved: %s", ErrInvalidRequest, messageType) @@ -198,12 +202,30 @@ func (s *Server) handleBinaryRequest(method string, payload []byte) error { func (s *Server) handleRequest(method string, payload []byte) (any, error) { s.requestId++ - if method == "registerCallback" { - return nil, s.enableCallback(string(payload)) + if method == "configure" { + return nil, s.handleConfigure(payload) } return s.api.HandleRequest(s.requestId, method, payload) } +func (s *Server) handleConfigure(payload []byte) error { + var params *ConfigureParams + if err := json.Unmarshal(payload, ¶ms); err != nil { + return fmt.Errorf("%w: %w", ErrInvalidRequest, err) + } + for _, callback := range params.Callbacks { + if err := s.enableCallback(callback); err != nil { + return err + } + } + if params.LogFile != "" { + s.logger.SetFile(params.LogFile) + } else { + s.logger.SetFile("") + } + return s.sendResponse("configure", nil) +} + func (s *Server) sendResponse(method string, result any) error { payload, err := json.Marshal(result) if err != nil { diff --git a/internal/ast/ast.go b/internal/ast/ast.go index f70bbdfa1a..19ea9f9146 100644 --- a/internal/ast/ast.go +++ b/internal/ast/ast.go @@ -71,7 +71,10 @@ type NodeFactory struct { variableDeclarationListPool core.Pool[VariableDeclarationList] variableDeclarationPool core.Pool[VariableDeclaration] variableStatementPool core.Pool[VariableStatement] - nodeCount int + + nodeCount int + textLength int + textCount int } func newNode(kind Kind, data nodeData) *Node { @@ -91,6 +94,14 @@ func (f *NodeFactory) NodeCount() int { return f.nodeCount } +func (f *NodeFactory) TextLength() int { + return f.textLength +} + +func (f *NodeFactory) TextCount() int { + return f.textCount +} + func updateNode(updated *Node, original *Node) *Node { if updated != original { updated.Loc = original.Loc @@ -1716,6 +1727,8 @@ type Identifier struct { func (f *NodeFactory) NewIdentifier(text string) *Node { data := f.identifierPool.New() data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindIdentifier, data) } @@ -1737,6 +1750,8 @@ type PrivateIdentifier struct { func (f *NodeFactory) NewPrivateIdentifier(text string) *Node { data := &PrivateIdentifier{} data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindPrivateIdentifier, data) } @@ -4506,6 +4521,8 @@ type StringLiteral struct { func (f *NodeFactory) NewStringLiteral(text string) *Node { data := f.stringLiteralPool.New() data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindStringLiteral, data) } @@ -4527,6 +4544,8 @@ type NumericLiteral struct { func (f *NodeFactory) NewNumericLiteral(text string) *Node { data := &NumericLiteral{} data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindNumericLiteral, data) } @@ -4548,6 +4567,8 @@ type BigIntLiteral struct { func (f *NodeFactory) NewBigIntLiteral(text string) *Node { data := &BigIntLiteral{} data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindBigIntLiteral, data) } @@ -4569,6 +4590,8 @@ type RegularExpressionLiteral struct { func (f *NodeFactory) NewRegularExpressionLiteral(text string) *Node { data := &RegularExpressionLiteral{} data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindRegularExpressionLiteral, data) } @@ -4586,6 +4609,8 @@ type NoSubstitutionTemplateLiteral struct { func (f *NodeFactory) NewNoSubstitutionTemplateLiteral(text string) *Node { data := &NoSubstitutionTemplateLiteral{} data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindNoSubstitutionTemplateLiteral, data) } @@ -6757,6 +6782,8 @@ func (f *NodeFactory) NewTemplateHead(text string, rawText string, templateFlags data.Text = text data.RawText = rawText data.TemplateFlags = templateFlags + f.textCount++ + f.textLength += len(text) + len(rawText) return f.newNode(KindTemplateHead, data) } @@ -6776,6 +6803,8 @@ func (f *NodeFactory) NewTemplateMiddle(text string, rawText string, templateFla data.Text = text data.RawText = rawText data.TemplateFlags = templateFlags + f.textCount++ + f.textLength += len(text) + len(rawText) return f.newNode(KindTemplateMiddle, data) } @@ -6795,6 +6824,8 @@ func (f *NodeFactory) NewTemplateTail(text string, rawText string, templateFlags data.Text = text data.RawText = rawText data.TemplateFlags = templateFlags + f.textCount++ + f.textLength += len(text) + len(rawText) return f.newNode(KindTemplateTail, data) } @@ -7318,6 +7349,8 @@ func (f *NodeFactory) NewJsxText(text string, containsOnlyTriviaWhiteSpace bool) data := &JsxText{} data.Text = text data.ContainsOnlyTriviaWhiteSpaces = containsOnlyTriviaWhiteSpace + f.textCount++ + f.textLength += len(text) return f.newNode(KindJsxText, data) } @@ -7399,6 +7432,8 @@ type JSDocText struct { func (f *NodeFactory) NewJSDocText(text string) *Node { data := f.jsdocTextPool.New() data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindJSDocText, data) } @@ -7415,6 +7450,8 @@ func (f *NodeFactory) NewJSDocLink(name *Node, text string) *Node { data := &JSDocLink{} data.name = name data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindJSDocLink, data) } @@ -7450,6 +7487,8 @@ func (f *NodeFactory) NewJSDocLinkPlain(name *Node, text string) *Node { data := &JSDocLinkPlain{} data.name = name data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindJSDocLinkPlain, data) } @@ -7485,6 +7524,8 @@ func (f *NodeFactory) NewJSDocLinkCode(name *Node, text string) *Node { data := &JSDocLinkCode{} data.name = name data.Text = text + f.textCount++ + f.textLength += len(text) return f.newNode(KindJSDocLinkCode, data) } @@ -8594,6 +8635,8 @@ type SourceFile struct { TypeReferenceDirectives []*FileReference LibReferenceDirectives []*FileReference NodeCount int + TextLength int + TextCount int // Fields set by binder diff --git a/internal/lsp/server.go b/internal/lsp/server.go index 79e96f8e51..0925f9aa1a 100644 --- a/internal/lsp/server.go +++ b/internal/lsp/server.go @@ -275,7 +275,7 @@ func (s *Server) handleInitialize(req *lsproto.RequestMessage) error { } func (s *Server) handleInitialized(req *lsproto.RequestMessage) error { - s.logger = project.NewLogger([]io.Writer{s.stderr}, project.LogLevelVerbose) + s.logger = project.NewLogger([]io.Writer{s.stderr}, "", project.LogLevelVerbose) if s.useAPI { s.api = api.NewAPI(s, api.APIOptions{ Logger: s.logger, diff --git a/internal/parser/parser.go b/internal/parser/parser.go index 86a1fedab8..655ccb5a20 100644 --- a/internal/parser/parser.go +++ b/internal/parser/parser.go @@ -325,6 +325,8 @@ func (p *Parser) finishSourceFile(result *ast.SourceFile, isDeclarationFile bool result.Flags |= p.sourceFlags result.Identifiers = p.identifiers result.NodeCount = p.factory.NodeCount() + result.TextLength = p.factory.TextLength() + result.TextCount = p.factory.TextCount() result.SetJSDocCache(p.jsdocCache) p.jsdocCache = nil p.identifiers = nil diff --git a/internal/project/logger.go b/internal/project/logger.go index 2269586926..42ef0fb785 100644 --- a/internal/project/logger.go +++ b/internal/project/logger.go @@ -4,6 +4,7 @@ import ( "bufio" "fmt" "io" + "os" "strings" "time" ) @@ -18,18 +19,38 @@ const ( ) type Logger struct { - outputs []*bufio.Writer - level LogLevel - inGroup bool - seq int + outputs []*bufio.Writer + fileHandle *os.File + level LogLevel + inGroup bool + seq int } -func NewLogger(outputs []io.Writer, level LogLevel) *Logger { +func NewLogger(outputs []io.Writer, file string, level LogLevel) *Logger { var o []*bufio.Writer for _, w := range outputs { o = append(o, bufio.NewWriter(w)) } - return &Logger{outputs: o, level: level} + logger := &Logger{outputs: o, level: level} + logger.SetFile(file) + return logger +} + +func (l *Logger) SetFile(file string) { + if l.fileHandle != nil { + oldWriter := l.outputs[len(l.outputs)-1] + l.outputs = l.outputs[:len(l.outputs)-1] + _ = oldWriter.Flush() + l.fileHandle.Close() + } + if file != "" { + f, err := os.OpenFile(file, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) + if err != nil { + panic(err) + } + l.fileHandle = f + l.outputs = append(l.outputs, bufio.NewWriter(f)) + } } func (l *Logger) PerfTrace(s string) { @@ -60,6 +81,15 @@ func (l *Logger) HasLevel(level LogLevel) bool { return l.LoggingEnabled() && l.level >= level } +func (l *Logger) Close() { + for _, output := range l.outputs { + _ = output.Flush() + } + if l.fileHandle != nil { + _ = l.fileHandle.Close() + } +} + func (l *Logger) msg(s string, messageType string) { for _, output := range l.outputs { header := fmt.Sprintf("%s %d", messageType, l.seq) diff --git a/internal/project/service.go b/internal/project/service.go index 78f2089116..e0cc31482b 100644 --- a/internal/project/service.go +++ b/internal/project/service.go @@ -198,7 +198,7 @@ func (s *Service) EnsureDefaultProjectForFile(fileName string) (*ScriptInfo, *Pr } func (s *Service) Close() { - // !!! + s.options.Logger.Close() } // SourceFileCount should only be used for testing. diff --git a/internal/project/service_test.go b/internal/project/service_test.go index f20b075787..59faf3566a 100644 --- a/internal/project/service_test.go +++ b/internal/project/service_test.go @@ -242,7 +242,7 @@ func newProjectServiceHost(files map[string]string) *projectServiceHost { fs: fs, defaultLibraryPath: bundled.LibPath(), } - host.logger = project.NewLogger([]io.Writer{&host.output}, project.LogLevelVerbose) + host.logger = project.NewLogger([]io.Writer{&host.output}, "", project.LogLevelVerbose) return host } diff --git a/package-lock.json b/package-lock.json index 05215a02f3..2b0218a2b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "glob": "^10.4.5", "hereby": "^1.10.0", "json-schema-to-typescript-lite": "^14.1.0", + "mitata": "^1.0.34", "picocolors": "^1.1.1", "typescript": "^5.7.3", "which": "^5.0.0" @@ -958,6 +959,13 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/mitata": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/mitata/-/mitata-1.0.34.tgz", + "integrity": "sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA==", + "dev": true, + "license": "MIT" + }, "node_modules/npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", @@ -2244,6 +2252,12 @@ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true }, + "mitata": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/mitata/-/mitata-1.0.34.tgz", + "integrity": "sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA==", + "dev": true + }, "npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", diff --git a/package.json b/package.json index 3175f9cf68..47902ac2af 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "glob": "^10.4.5", "hereby": "^1.10.0", "json-schema-to-typescript-lite": "^14.1.0", + "mitata": "^1.0.34", "picocolors": "^1.1.1", "typescript": "^5.7.3", "which": "^5.0.0" @@ -49,4 +50,4 @@ "node": "20.5.1", "npm": "8.19.4" } -} \ No newline at end of file +} From 75191c16e9d1b42acca52f588756f042996c96b2 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 12 Mar 2025 11:38:36 -0700 Subject: [PATCH 07/63] Switch to new libsyncrpc protocol --- _api/src/base/api.ts | 2 +- _api/src/bench.ts | 54 ++++++++++----------- _api/src/sync/api.ts | 2 +- _api/src/sync/client.ts | 14 ++---- internal/api/api.go | 45 ++++++++---------- internal/api/server.go | 101 ++++++++++++++-------------------------- 6 files changed, 89 insertions(+), 129 deletions(-) diff --git a/_api/src/base/api.ts b/_api/src/base/api.ts index 41ec37ebc0..57b658b6ef 100644 --- a/_api/src/base/api.ts +++ b/_api/src/base/api.ts @@ -41,7 +41,7 @@ export abstract class Project { } export abstract class SourceFile extends RemoteNode { - constructor(data: Buffer) { + constructor(data: Uint8Array) { const view = new DataView(data.buffer, data.byteOffset, data.byteLength); super(view, 1, undefined!); } diff --git a/_api/src/bench.ts b/_api/src/bench.ts index 1d663061c3..a08adbd074 100644 --- a/_api/src/bench.ts +++ b/_api/src/bench.ts @@ -10,35 +10,37 @@ import { isIdentifier } from "./ast/nodeTests.ts"; import { SymbolFlags } from "./base/api.ts"; import { API } from "./sync/api.ts"; { - const api = new API({ - tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, - cwd: dirname(new URL(import.meta.url).pathname), - logFile: "tsgo.log", - }); - const project = api.loadProject("../../../TypeScript/src/compiler/tsconfig.json"); - const file = project.getSourceFile("debug.ts")!; // bench("native - batched", () => { - const symbolRequests: { fileName: string; position: number; }[] = []; - file.forEachChild(function visitNode(node) { - if (isIdentifier(node)) { - symbolRequests.push({ fileName: "debug.ts", position: node.pos }); - } - node.forEachChild(child => visitNode(child)); - }); + // const symbolRequests: { fileName: string; position: number; }[] = []; + // file.forEachChild(function visitNode(node) { + // if (isIdentifier(node)) { + // symbolRequests.push({ fileName: "checker.ts", position: node.pos }); + // } + // node.forEachChild(child => visitNode(child)); + // }); - project.getSymbolAtPosition(symbolRequests); + // project.getSymbolAtPosition(symbolRequests); // }); - // bench("native - many calls", () => { - // const symbolRequests: { fileName: string; position: number; }[] = []; - // file.forEachChild(function visitNode(node) { - // if (isIdentifier(node)) { - // project.getSymbolAtPosition("debug.ts", node.pos); - // } - // node.forEachChild(child => visitNode(child)); - // }); - // project.getSymbolAtPosition(symbolRequests); - // }); + bench("native - many calls", () => { + const api = new API({ + tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, + cwd: dirname(new URL(import.meta.url).pathname), + // logFile: "tsgo.log", + }); + const project = api.loadProject("../../../TypeScript/src/compiler/tsconfig.json"); + const file = project.getSourceFile("checker.ts")!; + + file.forEachChild(function visitNode(node) { + if (isIdentifier(node)) { + const symbol = project.getSymbolAtPosition("checker.ts", node.pos); + if (symbol?.flags! & SymbolFlags.Value) { + symbol?.getType(); + } + } + node.forEachChild(child => visitNode(child)); + }); + }); } // { @@ -79,4 +81,4 @@ import { API } from "./sync/api.ts"; // }); // }); // } -// await run(); +await run(); diff --git a/_api/src/sync/api.ts b/_api/src/sync/api.ts index 35b8d79a65..a4612f08f4 100644 --- a/_api/src/sync/api.ts +++ b/_api/src/sync/api.ts @@ -73,7 +73,7 @@ export class Project extends BaseProject { export class SourceFile extends BaseSourceFile { private client: Client; private project: Project; - constructor(client: Client, project: Project, data: Buffer) { + constructor(client: Client, project: Project, data: Uint8Array) { super(data); this.client = client; this.project = project; diff --git a/_api/src/sync/client.ts b/_api/src/sync/client.ts index 1954ce3d9e..e76d8b13b0 100644 --- a/_api/src/sync/client.ts +++ b/_api/src/sync/client.ts @@ -16,6 +16,8 @@ export interface ClientOptions { export class Client { private channel: SyncRpcChannel; + private decoder = new TextDecoder(); + private encoder = new TextEncoder(); constructor(options: ClientOptions) { this.channel = new SyncRpcChannel(options.tsserverPath, [ @@ -35,27 +37,21 @@ export class Client { registerCallback(method: string, callback: (payload: any) => any): void { this.channel.registerCallback(method, (_, arg) => { - const result = callback(JSON.parse(arg)); + const result = callback(JSON.parse(this.decoder.decode(arg))); return JSON.stringify(result) ?? ""; }); this.channel.requestSync("registerCallback", method); } request(method: string, payload: any): any { - console.time("encode payload"); const encodedPayload = JSON.stringify(payload); - console.timeEnd("encode payload"); - console.time("request"); const result = this.channel.requestSync(method, encodedPayload); - console.timeEnd("request"); - console.time("decode result"); const decodedResult = JSON.parse(result); - console.timeEnd("decode result"); return decodedResult; } - requestBinary(method: string, payload: any): Buffer { - return this.channel.requestBinarySync(method, JSON.stringify(payload)); + requestBinary(method: string, payload: any): Uint8Array { + return this.channel.requestBinarySync(method, this.encoder.encode(JSON.stringify(payload))); } close(): void { diff --git a/internal/api/api.go b/internal/api/api.go index ba65254165..1908f71bda 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -94,7 +94,7 @@ func (api *API) NewLine() string { return api.host.NewLine() } -func (api *API) HandleRequest(id int, method string, payload json.RawMessage) (any, error) { +func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([]byte, error) { now := time.Now() params, err := unmarshalPayload(method, payload) if err != nil { @@ -102,30 +102,6 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) (a } api.options.Logger.PerfTrace(fmt.Sprintf("%s unmarshal - %s", method, time.Since(now))) - switch Method(method) { - case MethodParseConfigFile: - return api.ParseConfigFile(params.(*ParseConfigFileParams).FileName) - case MethodLoadProject: - return api.LoadProject(params.(*LoadProjectParams).ConfigFileName) - case MethodGetSymbolAtPosition: - return handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { - return api.GetSymbolAtPosition(api.toPath(params.Project), params.FileName, int(params.Position)) - }) - case MethodGetTypeOfSymbol: - return handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { - return api.GetTypeOfSymbol(api.toPath(params.Project), params.Symbol) - }) - default: - return nil, fmt.Errorf("unhandled API method %q", method) - } -} - -func (api *API) HandleBinaryRequest(id int, method string, payload []byte) ([]byte, error) { - params, err := unmarshalPayload(method, payload) - if err != nil { - return nil, err - } - switch Method(method) { case MethodGetSourceFile: params := params.(*GetSourceFileParams) @@ -134,6 +110,18 @@ func (api *API) HandleBinaryRequest(id int, method string, payload []byte) ([]by return nil, err } return EncodeSourceFile(sourceFile) + case MethodParseConfigFile: + return encodeJSON(api.ParseConfigFile(params.(*ParseConfigFileParams).FileName)) + case MethodLoadProject: + return encodeJSON(api.LoadProject(params.(*LoadProjectParams).ConfigFileName)) + case MethodGetSymbolAtPosition: + return encodeJSON(handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { + return api.GetSymbolAtPosition(api.toPath(params.Project), params.FileName, int(params.Position)) + })) + case MethodGetTypeOfSymbol: + return encodeJSON(handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { + return api.GetTypeOfSymbol(api.toPath(params.Project), params.Symbol) + })) default: return nil, fmt.Errorf("unhandled API method %q", method) } @@ -272,3 +260,10 @@ func handleBatchableRequest[T any](params any, executeRequest func(T) (any, erro return results, nil } } + +func encodeJSON(v any, err error) ([]byte, error) { + if err != nil { + return nil, err + } + return json.Marshal(v) +} diff --git a/internal/api/server.go b/internal/api/server.go index 5db17bddcb..4626d4cd60 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -3,11 +3,11 @@ package api import ( "bufio" "bytes" + "encoding/binary" "encoding/json" "errors" "fmt" "io" - "strconv" "sync" "time" @@ -102,46 +102,47 @@ func (s *Server) NewLine() string { func (s *Server) Run() error { for { - line, err := s.r.ReadBytes('\n') + messageType, err := s.r.ReadBytes('\t') if err != nil { if errors.Is(err, io.EOF) { return nil } return err } + method, err := s.r.ReadBytes('\t') + if err != nil { + return err + } - index := bytes.IndexByte(line, '\t') - if index == -1 { - return fmt.Errorf("%w: missing message type or method: %q", ErrInvalidRequest, line) + var size uint32 + if err = binary.Read(s.r, binary.LittleEndian, &size); err != nil { + return fmt.Errorf("%w: expected payload size: %w", ErrInvalidRequest, err) } + messageType = messageType[:len(messageType)-1] + method = method[:len(method)-1] - messageType := string(line[:index]) - offset := index + 1 - switch messageType { - case "request", "request-bin": - index = bytes.IndexByte(line[offset:], '\t') - if index == -1 { - return fmt.Errorf("%w: missing method or payload: %q", ErrInvalidRequest, line) - } - method := string(line[offset : offset+index]) - payload := line[offset+index+1 : len(line)-1] + payload := make([]byte, size) + bytesRead, err := io.ReadFull(s.r, payload) + if err != nil { + return err + } + if bytesRead != int(size) { + return fmt.Errorf("%w: expected %d bytes, read %d", ErrInvalidRequest, size, bytesRead) + } + + switch string(messageType) { + case "request": now := time.Now() - var result any - var err error - if messageType == "request-bin" { - err = s.handleBinaryRequest(method, payload) - } else { - result, err = s.handleRequest(method, payload) - } + result, err := s.handleRequest(string(method), payload) s.logger.PerfTrace(fmt.Sprintf("%s handled - %s", method, time.Since(now))) now = time.Now() if err != nil { - if err := s.sendError(method, err); err != nil { + if err := s.sendError(string(method), err); err != nil { return err } - } else if result != nil { - if err := s.sendResponse(method, result); err != nil { + } else { + if err := s.sendResponse(string(method), result); err != nil { return err } s.logger.PerfTrace(fmt.Sprintf("%s sent - %s", method, time.Since(now))) @@ -170,37 +171,7 @@ func (s *Server) enableCallback(callback string) error { return nil } -func (s *Server) handleBinaryRequest(method string, payload []byte) error { - s.requestId++ - data, err := s.api.HandleBinaryRequest(s.requestId, method, payload) - if err != nil { - return err - } - if _, err = s.w.WriteString("response-bin\t"); err != nil { - return err - } - if _, err = s.w.WriteString(method); err != nil { - return err - } - if err = s.w.WriteByte('\t'); err != nil { - return err - } - if _, err = s.w.WriteString(strconv.Itoa(len(data))); err != nil { - return err - } - if err = s.w.WriteByte('\n'); err != nil { - return err - } - if _, err = s.w.Write(data); err != nil { - return err - } - if err = s.w.WriteByte('\n'); err != nil { - return err - } - return s.w.Flush() -} - -func (s *Server) handleRequest(method string, payload []byte) (any, error) { +func (s *Server) handleRequest(method string, payload []byte) ([]byte, error) { s.requestId++ if method == "configure" { return nil, s.handleConfigure(payload) @@ -223,27 +194,23 @@ func (s *Server) handleConfigure(payload []byte) error { } else { s.logger.SetFile("") } - return s.sendResponse("configure", nil) + return nil } -func (s *Server) sendResponse(method string, result any) error { - payload, err := json.Marshal(result) - if err != nil { +func (s *Server) sendResponse(method string, result []byte) error { + if _, err := s.w.WriteString("response\t"); err != nil { return err } - if _, err = s.w.Write([]byte("response\t")); err != nil { - return err - } - if _, err = s.w.Write([]byte(method)); err != nil { + if _, err := s.w.WriteString(method); err != nil { return err } - if _, err = s.w.Write([]byte("\t")); err != nil { + if err := s.w.WriteByte('\t'); err != nil { return err } - if _, err = s.w.Write(payload); err != nil { + if err := binary.Write(s.w, binary.LittleEndian, uint32(len(result))); err != nil { return err } - if _, err = s.w.Write([]byte("\n")); err != nil { + if _, err := s.w.Write(result); err != nil { return err } return s.w.Flush() From 04b018127119f54dd46696475f42384a164f6d5f Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 12 Mar 2025 12:44:42 -0700 Subject: [PATCH 08/63] Switch to integer project ids --- _api/src/base/api.ts | 2 ++ _api/src/bench.ts | 16 ++++++++-------- _api/src/sync/api.ts | 8 ++++---- _api/src/types.ts | 1 + internal/api/api.go | 40 ++++++++++++++++++++-------------------- internal/api/proto.go | 10 ++++++---- 6 files changed, 41 insertions(+), 36 deletions(-) diff --git a/_api/src/base/api.ts b/_api/src/base/api.ts index 57b658b6ef..ca18e596b1 100644 --- a/_api/src/base/api.ts +++ b/_api/src/base/api.ts @@ -21,11 +21,13 @@ export interface API { } export abstract class Project { + id: number; configFileName!: string; compilerOptions!: Record; rootFiles!: readonly string[]; constructor(data: ProjectData) { + this.id = data.id; this.loadData(data); } diff --git a/_api/src/bench.ts b/_api/src/bench.ts index a08adbd074..28d3048bfb 100644 --- a/_api/src/bench.ts +++ b/_api/src/bench.ts @@ -10,6 +10,14 @@ import { isIdentifier } from "./ast/nodeTests.ts"; import { SymbolFlags } from "./base/api.ts"; import { API } from "./sync/api.ts"; { + const api = new API({ + tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, + cwd: dirname(new URL(import.meta.url).pathname), + // logFile: "tsgo.log", + }); + const project = api.loadProject("../../../TypeScript/src/compiler/tsconfig.json"); + const file = project.getSourceFile("checker.ts")!; + // bench("native - batched", () => { // const symbolRequests: { fileName: string; position: number; }[] = []; // file.forEachChild(function visitNode(node) { @@ -23,14 +31,6 @@ import { API } from "./sync/api.ts"; // }); bench("native - many calls", () => { - const api = new API({ - tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, - cwd: dirname(new URL(import.meta.url).pathname), - // logFile: "tsgo.log", - }); - const project = api.loadProject("../../../TypeScript/src/compiler/tsconfig.json"); - const file = project.getSourceFile("checker.ts")!; - file.forEachChild(function visitNode(node) { if (isIdentifier(node)) { const symbol = project.getSymbolAtPosition("checker.ts", node.pos); diff --git a/_api/src/sync/api.ts b/_api/src/sync/api.ts index a4612f08f4..cd8966ccf5 100644 --- a/_api/src/sync/api.ts +++ b/_api/src/sync/api.ts @@ -52,7 +52,7 @@ export class Project extends BaseProject { } getSourceFile(fileName: string): SourceFileNode | undefined { - const data = this.client.requestBinary("getSourceFile", { project: this.configFileName, fileName }); + const data = this.client.requestBinary("getSourceFile", { project: this.id, fileName }); return data ? new SourceFile(this.client, this, data) as unknown as SourceFileNode : undefined; } @@ -60,11 +60,11 @@ export class Project extends BaseProject { getSymbolAtPosition(fileName: string, position: number): Symbol | undefined; getSymbolAtPosition(...params: [fileName: string, position: number] | [readonly { fileName: string; position: number; }[]]): Symbol | undefined | (Symbol | undefined)[] { if (params.length === 2) { - const data = this.client.request("getSymbolAtPosition", { project: this.configFileName, fileName: params[0], position: params[1] }); + const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); return data ? new Symbol(this.client, this, data) : undefined; } else { - const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.configFileName, fileName, position }))); + const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); return data.map((d: SymbolData | null) => d ? new Symbol(this.client, this, d) : undefined); } } @@ -91,7 +91,7 @@ export class Symbol extends BaseSymbol { } getType(): Type | undefined { - const data = this.client.request("getTypeOfSymbol", { project: this.project.configFileName, symbol: this.id }); + const data = this.client.request("getTypeOfSymbol", { project: this.project.id, symbol: this.id }); return data ? new Type(this.client, data) : undefined; } } diff --git a/_api/src/types.ts b/_api/src/types.ts index c84eff1282..1fecce4729 100644 --- a/_api/src/types.ts +++ b/_api/src/types.ts @@ -11,6 +11,7 @@ export interface ParsedCommandLine { } export interface ProjectData { + id: number; configFileName: string; compilerOptions: Record; rootFiles: string[]; diff --git a/internal/api/api.go b/internal/api/api.go index 1908f71bda..9ac3e6583f 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -26,7 +26,7 @@ type API struct { scriptInfosMu sync.RWMutex scriptInfos map[tspath.Path]*project.ScriptInfo - projects map[tspath.Path]*project.Project + projects []*project.Project symbolsMu sync.Mutex symbols map[Handle[ast.Symbol]]*ast.Symbol } @@ -42,7 +42,6 @@ func NewAPI(host APIHost, options APIOptions) *API { CurrentDirectory: host.GetCurrentDirectory(), }), scriptInfos: make(map[tspath.Path]*project.ScriptInfo), - projects: make(map[tspath.Path]*project.Project), symbols: make(map[Handle[ast.Symbol]]*ast.Symbol), } } @@ -105,7 +104,7 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([ switch Method(method) { case MethodGetSourceFile: params := params.(*GetSourceFileParams) - sourceFile, err := api.GetSourceFile(api.toPath(params.Project), params.FileName) + sourceFile, err := api.GetSourceFile(params.Project, params.FileName) if err != nil { return nil, err } @@ -116,11 +115,11 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([ return encodeJSON(api.LoadProject(params.(*LoadProjectParams).ConfigFileName)) case MethodGetSymbolAtPosition: return encodeJSON(handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { - return api.GetSymbolAtPosition(api.toPath(params.Project), params.FileName, int(params.Position)) + return api.GetSymbolAtPosition(params.Project, params.FileName, int(params.Position)) })) case MethodGetTypeOfSymbol: return encodeJSON(handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { - return api.GetTypeOfSymbol(api.toPath(params.Project), params.Symbol) + return api.GetTypeOfSymbol(params.Project, params.Symbol) })) default: return nil, fmt.Errorf("unhandled API method %q", method) @@ -159,15 +158,16 @@ func (api *API) LoadProject(configFileName string) (*ProjectData, error) { return nil, err } project.GetProgram() - api.projects[configFilePath] = project - return NewProjectData(project), nil + id := len(api.projects) + api.projects = append(api.projects, project) + return NewProjectData(project, id), nil } -func (api *API) GetSymbolAtPosition(projectPath tspath.Path, fileName string, position int) (*SymbolData, error) { - project, ok := api.projects[projectPath] - if !ok { - return nil, fmt.Errorf("project %q not found", projectPath) +func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) (*SymbolData, error) { + if projectId >= len(api.projects) { + return nil, fmt.Errorf("project not found") } + project := api.projects[projectId] symbol, err := project.LanguageService().GetSymbolAtPosition(fileName, position) if err != nil || symbol == nil { return nil, err @@ -179,11 +179,11 @@ func (api *API) GetSymbolAtPosition(projectPath tspath.Path, fileName string, po return data, nil } -func (api *API) GetTypeOfSymbol(projectPath tspath.Path, symbolHandle Handle[ast.Symbol]) (*TypeData, error) { - project, ok := api.projects[projectPath] - if !ok { - return nil, fmt.Errorf("project %q not found", projectPath) +func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) (*TypeData, error) { + if projectId >= len(api.projects) { + return nil, fmt.Errorf("project not found") } + project := api.projects[projectId] symbol, ok := api.symbols[symbolHandle] if !ok { return nil, fmt.Errorf("symbol %q not found", symbolHandle) @@ -195,14 +195,14 @@ func (api *API) GetTypeOfSymbol(projectPath tspath.Path, symbolHandle Handle[ast return NewTypeData(t), nil } -func (api *API) GetSourceFile(projectPath tspath.Path, fileName string) (*ast.SourceFile, error) { - project, ok := api.projects[projectPath] - if !ok { - return nil, fmt.Errorf("project %q not found", projectPath) +func (api *API) GetSourceFile(projectId int, fileName string) (*ast.SourceFile, error) { + if projectId >= len(api.projects) { + return nil, fmt.Errorf("project not found") } + project := api.projects[projectId] sourceFile := project.GetProgram().GetSourceFile(fileName) if sourceFile == nil { - return nil, nil + return nil, fmt.Errorf("source file %q not found", fileName) } return sourceFile, nil } diff --git a/internal/api/proto.go b/internal/api/proto.go index 8b594c4ac8..ede3ff64bd 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -56,13 +56,15 @@ type LoadProjectParams struct { } type ProjectData struct { + Id int `json:"id"` ConfigFileName string `json:"configFileName"` RootFiles []string `json:"rootFiles"` CompilerOptions *core.CompilerOptions `json:"compilerOptions"` } -func NewProjectData(project *project.Project) *ProjectData { +func NewProjectData(project *project.Project, id int) *ProjectData { return &ProjectData{ + Id: id, ConfigFileName: project.Name(), RootFiles: project.GetRootFileNames(), CompilerOptions: project.GetCompilerOptions(), @@ -70,7 +72,7 @@ func NewProjectData(project *project.Project) *ProjectData { } type GetSymbolAtPositionParams struct { - Project string `json:"project"` + Project int `json:"project"` FileName string `json:"fileName"` Position uint32 `json:"position"` } @@ -92,7 +94,7 @@ func NewSymbolData(symbol *ast.Symbol, projectVersion int) *SymbolData { } type GetTypeOfSymbolParams struct { - Project string `json:"project"` + Project int `json:"project"` Symbol Handle[ast.Symbol] `json:"symbol"` } @@ -109,7 +111,7 @@ func NewTypeData(t *checker.Type) *TypeData { } type GetSourceFileParams struct { - Project string `json:"project"` + Project int `json:"project"` FileName string `json:"fileName"` } From 386fff288cf76579a328fe650eae6db257c2636d Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 12 Mar 2025 15:26:19 -0700 Subject: [PATCH 09/63] Custom binary encoding for symbols and types --- _api/src/async/api.ts | 14 ++++----- _api/src/base/api.ts | 68 +++++++++++++++++++++++++---------------- _api/src/base/binary.ts | 33 ++++++++++++++++++++ _api/src/base/proto.ts | 33 ++++++++++++++++++++ _api/src/bench.ts | 2 +- _api/src/sync/api.ts | 43 ++++++++++++-------------- _api/src/sync/client.ts | 26 +++++++++++----- _api/src/types.ts | 24 --------------- internal/api/api.go | 42 ++++++++++++++++--------- internal/api/encoder.go | 20 ++++++++++++ internal/api/proto.go | 44 ++++++++++++++++++++++---- internal/api/server.go | 34 ++++++++------------- 12 files changed, 252 insertions(+), 131 deletions(-) create mode 100644 _api/src/base/binary.ts create mode 100644 _api/src/base/proto.ts diff --git a/_api/src/async/api.ts b/_api/src/async/api.ts index 35015b8935..dc8a1fbb3b 100644 --- a/_api/src/async/api.ts +++ b/_api/src/async/api.ts @@ -8,10 +8,10 @@ import { Type as BaseType, } from "../base/api.ts"; import type { - ProjectData, - SymbolData, - TypeData, -} from "../types.ts"; + ProjectResponse, + SymbolResponse, + TypeResponse, +} from "../base/proto.ts"; import { Client } from "./client.ts"; import { startLSPServer } from "./lsp.ts"; @@ -50,7 +50,7 @@ export class API implements BaseAPI { export class Project extends BaseProject { private client: Client; - constructor(client: Client, data: ProjectData) { + constructor(client: Client, data: ProjectResponse) { super(data); this.client = client; } @@ -69,7 +69,7 @@ export class Symbol extends BaseSymbol { private client: Client; private project: Project; - constructor(client: Client, project: Project, data: SymbolData) { + constructor(client: Client, project: Project, data: SymbolResponse) { super(data); this.client = client; this.project = project; @@ -84,7 +84,7 @@ export class Symbol extends BaseSymbol { export class Type extends BaseType { private client: Client; - constructor(client: Client, data: TypeData) { + constructor(client: Client, data: TypeResponse) { super(data); this.client = client; } diff --git a/_api/src/base/api.ts b/_api/src/base/api.ts index ca18e596b1..dfb8c553ed 100644 --- a/_api/src/base/api.ts +++ b/_api/src/base/api.ts @@ -1,13 +1,11 @@ import { SymbolFlags } from "#symbolFlags"; import type { SourceFile as SourceFileNode } from "../ast/ast.ts"; import { RemoteNode } from "../ast/node.ts"; +import type { MaybeAsync } from "../types.ts"; import type { - MaybeAsync, - ParsedCommandLine, - ProjectData, - SymbolData, - TypeData, -} from "../types.ts"; + ConfigResponse, + ProjectResponse, +} from "./proto.ts"; export interface APIOptions { tsserverPath: string; @@ -16,7 +14,7 @@ export interface APIOptions { } export interface API { - parseConfigFile(fileName: string): MaybeAsync; + parseConfigFile(fileName: string): MaybeAsync; loadProject(configFileName: string): MaybeAsync>; } @@ -26,12 +24,12 @@ export abstract class Project { compilerOptions!: Record; rootFiles!: readonly string[]; - constructor(data: ProjectData) { + constructor(data: ProjectResponse) { this.id = data.id; this.loadData(data); } - loadData(data: ProjectData): void { + loadData(data: ProjectResponse): void { this.configFileName = data.configFileName; this.compilerOptions = data.compilerOptions; this.rootFiles = data.rootFiles; @@ -39,7 +37,7 @@ export abstract class Project { abstract reload(): MaybeAsync; abstract getSourceFile(fileName: string): MaybeAsync; - abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync | undefined>; + abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync; } export abstract class SourceFile extends RemoteNode { @@ -51,28 +49,46 @@ export abstract class SourceFile extends RemoteNode { export { SymbolFlags }; -export abstract class Symbol { - protected id: number; - name: string; - flags: SymbolFlags; - checkFlags: number; +export abstract class Symbol { + private data: Uint8Array; + private view: DataView; + private decoder: TextDecoder; - constructor(data: SymbolData) { - this.id = data.id; - this.name = data.name; - this.flags = data.flags; - this.checkFlags = data.checkFlags; + constructor(data: Uint8Array, decoder: TextDecoder) { + this.data = data; + this.view = new DataView(data.buffer, data.byteOffset, data.byteLength); + this.decoder = decoder; + } + + get id(): number { + return this.view.getUint32(0, true); + } + + get flags(): number { + return this.view.getUint32(4, true); + } + + get checkFlags(): number { + return this.view.getUint32(8, true); } - abstract getType(): MaybeAsync | undefined>; + get name(): string { + return this.decoder.decode(this.data.subarray(12)); + } } export abstract class Type { - protected id: number; - flags: number; + private view: DataView; - constructor(data: TypeData) { - this.id = data.id; - this.flags = data.flags; + constructor(data: Uint8Array) { + this.view = new DataView(data.buffer, data.byteOffset, data.byteLength); + } + + get id(): number { + return this.view.getUint32(0, true); + } + + get flags(): number { + return this.view.getUint32(4, true); } } diff --git a/_api/src/base/binary.ts b/_api/src/base/binary.ts new file mode 100644 index 0000000000..9ca1c44b1a --- /dev/null +++ b/_api/src/base/binary.ts @@ -0,0 +1,33 @@ +import type { + GetSymbolAtPositionRequest, + GetTypeOfSymbolRequest, + SymbolResponse, +} from "./proto.ts"; + +export function encodeGetSymbolAtPositionRequest(projectId: number, fileName: string, position: number, encoder: TextEncoder): Uint8Array { + // assume ASCII filename + const asciiLength = fileName.length; + const result = new Uint8Array(2 + 4 + asciiLength); + const view = new DataView(result.buffer); + view.setUint16(0, projectId, true); + view.setUint32(2, position, true); + const { read } = encoder.encodeInto(fileName, result.subarray(2 + 4)); + // check if ASCII assumption was correct + if (read !== asciiLength) { + const encodedFileName = encoder.encode(fileName); + const newResult = new Uint8Array(2 + 4 + encodedFileName.length); + newResult.set(result.subarray(0, 2 + 4)); + newResult.set(encodedFileName, 2 + 4); + return newResult; + } + + return result; +} + +export function encodeGetTypeOfSymbolRequest(projectId: number, symbolId: number): Uint8Array { + const result = new Uint8Array(6); + const view = new DataView(result.buffer); + view.setUint16(0, projectId, true); + view.setUint32(2, symbolId, true); + return result; +} diff --git a/_api/src/base/proto.ts b/_api/src/base/proto.ts new file mode 100644 index 0000000000..3ae9a4266b --- /dev/null +++ b/_api/src/base/proto.ts @@ -0,0 +1,33 @@ +export interface ConfigResponse { + options: Record; + fileNames: string[]; +} + +export interface ProjectResponse { + id: number; + configFileName: string; + compilerOptions: Record; + rootFiles: string[]; +} + +export interface GetSymbolAtPositionRequest { + project: number; + fileName: string; + position: number; +} + +export interface SymbolResponse { + id: number; + name: string; + flags: number; + checkFlags: number; +} + +export interface GetTypeOfSymbolRequest { + symbol: number; +} + +export interface TypeResponse { + id: number; + flags: number; +} diff --git a/_api/src/bench.ts b/_api/src/bench.ts index 28d3048bfb..e7b31fcd1b 100644 --- a/_api/src/bench.ts +++ b/_api/src/bench.ts @@ -35,7 +35,7 @@ import { API } from "./sync/api.ts"; if (isIdentifier(node)) { const symbol = project.getSymbolAtPosition("checker.ts", node.pos); if (symbol?.flags! & SymbolFlags.Value) { - symbol?.getType(); + project.getTypeOfSymbol(symbol!); } } node.forEachChild(child => visitNode(child)); diff --git a/_api/src/sync/api.ts b/_api/src/sync/api.ts index cd8966ccf5..ffffe1105a 100644 --- a/_api/src/sync/api.ts +++ b/_api/src/sync/api.ts @@ -8,12 +8,11 @@ import { Type as BaseType, } from "../base/api.ts"; import type { - FileSystemEntries, - ParsedCommandLine, - ProjectData, - SymbolData, - TypeData, -} from "../types.ts"; + ConfigResponse, + ProjectResponse, + SymbolResponse, + TypeResponse, +} from "../base/proto.ts"; import { Client } from "./client.ts"; export interface APIOptions extends BaseAPIOptions { @@ -25,7 +24,7 @@ export class API implements BaseAPI { this.client = new Client(options); } - parseConfigFile(fileName: string): ParsedCommandLine { + parseConfigFile(fileName: string): ConfigResponse { return this.client.request("parseConfigFile", { fileName }); } @@ -42,7 +41,7 @@ export class API implements BaseAPI { export class Project extends BaseProject { private client: Client; - constructor(client: Client, data: ProjectData) { + constructor(client: Client, data: ProjectResponse) { super(data); this.client = client; } @@ -60,14 +59,19 @@ export class Project extends BaseProject { getSymbolAtPosition(fileName: string, position: number): Symbol | undefined; getSymbolAtPosition(...params: [fileName: string, position: number] | [readonly { fileName: string; position: number; }[]]): Symbol | undefined | (Symbol | undefined)[] { if (params.length === 2) { - const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); - return data ? new Symbol(this.client, this, data) : undefined; + const data = this.client.getSymbolAtPosition(this.id, params[0], params[1]); + return data.length ? new Symbol(this.client, data) : undefined; } else { - const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); - return data.map((d: SymbolData | null) => d ? new Symbol(this.client, this, d) : undefined); + // const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); + // return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, this, d) : undefined); } } + + getTypeOfSymbol(symbol: Symbol): Type | undefined { + const data = this.client.getTypeOfSymbol(this.id, symbol.id); + return data ? new Type(this.client, data) : undefined; + } } export class SourceFile extends BaseSourceFile { @@ -80,25 +84,18 @@ export class SourceFile extends BaseSourceFile { } } -export class Symbol extends BaseSymbol { +export class Symbol extends BaseSymbol { private client: Client; - private project: Project; - constructor(client: Client, project: Project, data: SymbolData) { - super(data); + constructor(client: Client, data: Uint8Array) { + super(data, client.decoder); this.client = client; - this.project = project; - } - - getType(): Type | undefined { - const data = this.client.request("getTypeOfSymbol", { project: this.project.id, symbol: this.id }); - return data ? new Type(this.client, data) : undefined; } } export class Type extends BaseType { private client: Client; - constructor(client: Client, data: TypeData) { + constructor(client: Client, data: Uint8Array) { super(data); this.client = client; } diff --git a/_api/src/sync/client.ts b/_api/src/sync/client.ts index e76d8b13b0..7ebe87566c 100644 --- a/_api/src/sync/client.ts +++ b/_api/src/sync/client.ts @@ -1,4 +1,8 @@ import { SyncRpcChannel } from "libsyncrpc"; +import { + encodeGetSymbolAtPositionRequest, + encodeGetTypeOfSymbolRequest, +} from "../base/binary.ts"; import type { FileSystemEntries } from "../types.ts"; export interface ClientOptions { @@ -16,8 +20,8 @@ export interface ClientOptions { export class Client { private channel: SyncRpcChannel; - private decoder = new TextDecoder(); - private encoder = new TextEncoder(); + decoder: TextDecoder = new TextDecoder(); + encoder: TextEncoder = new TextEncoder(); constructor(options: ClientOptions) { this.channel = new SyncRpcChannel(options.tsserverPath, [ @@ -33,14 +37,20 @@ export class Client { callbacks: Object.keys(options.fs ?? {}), }), ); + for (const callback in options.fs) { + this.channel.registerCallback(callback, (_, arg) => { + const result = options.fs?.[callback as keyof typeof options.fs]?.(JSON.parse(this.decoder.decode(arg))); + return JSON.stringify(result) ?? ""; + }); + } } - registerCallback(method: string, callback: (payload: any) => any): void { - this.channel.registerCallback(method, (_, arg) => { - const result = callback(JSON.parse(this.decoder.decode(arg))); - return JSON.stringify(result) ?? ""; - }); - this.channel.requestSync("registerCallback", method); + getSymbolAtPosition(projectId: number, fileName: string, position: number): Uint8Array { + return this.channel.requestBinarySync("getSymbolAtPosition", encodeGetSymbolAtPositionRequest(projectId, fileName, position, this.encoder)); + } + + getTypeOfSymbol(projectId: number, symbolId: number): Uint8Array { + return this.channel.requestBinarySync("getTypeOfSymbol", encodeGetTypeOfSymbolRequest(projectId, symbolId)); } request(method: string, payload: any): any { diff --git a/_api/src/types.ts b/_api/src/types.ts index 1fecce4729..a7f202dca5 100644 --- a/_api/src/types.ts +++ b/_api/src/types.ts @@ -4,27 +4,3 @@ export interface FileSystemEntries { files: string[]; directories: string[]; } - -export interface ParsedCommandLine { - options: Record; - fileNames: string[]; -} - -export interface ProjectData { - id: number; - configFileName: string; - compilerOptions: Record; - rootFiles: string[]; -} - -export interface SymbolData { - id: number; - name: string; - flags: number; - checkFlags: number; -} - -export interface TypeData { - id: number; - flags: number; -} diff --git a/internal/api/api.go b/internal/api/api.go index 9ac3e6583f..016fbf2ae6 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -2,6 +2,7 @@ package api import ( "encoding/json" + "errors" "fmt" "sync" "time" @@ -93,7 +94,7 @@ func (api *API) NewLine() string { return api.host.NewLine() } -func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([]byte, error) { +func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, error) { now := time.Now() params, err := unmarshalPayload(method, payload) if err != nil { @@ -114,13 +115,15 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([ case MethodLoadProject: return encodeJSON(api.LoadProject(params.(*LoadProjectParams).ConfigFileName)) case MethodGetSymbolAtPosition: - return encodeJSON(handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { - return api.GetSymbolAtPosition(params.Project, params.FileName, int(params.Position)) - })) + params := params.(*GetSymbolAtPositionParams) + // return encodeJSON(handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { + return api.GetSymbolAtPosition(int(params.Project), params.FileName, int(params.Position)) + // })) case MethodGetTypeOfSymbol: - return encodeJSON(handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { - return api.GetTypeOfSymbol(params.Project, params.Symbol) - })) + params := params.(*GetTypeOfSymbolParams) + // return encodeJSON(handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { + return api.GetTypeOfSymbol(int(params.Project), params.Symbol) + // })) default: return nil, fmt.Errorf("unhandled API method %q", method) } @@ -163,25 +166,29 @@ func (api *API) LoadProject(configFileName string) (*ProjectData, error) { return NewProjectData(project, id), nil } -func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) (*SymbolData, error) { +func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) ([]byte, error) { if projectId >= len(api.projects) { - return nil, fmt.Errorf("project not found") + return nil, errors.New("project not found") } project := api.projects[projectId] symbol, err := project.LanguageService().GetSymbolAtPosition(fileName, position) if err != nil || symbol == nil { return nil, err } - data := NewSymbolData(symbol, project.Version()) + id := NewHandle(symbol) + data, err := EncodeSymbolResponse(symbol, id) + if err != nil { + return nil, err + } api.symbolsMu.Lock() defer api.symbolsMu.Unlock() - api.symbols[data.Id] = symbol + api.symbols[id] = symbol return data, nil } -func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) (*TypeData, error) { +func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) ([]byte, error) { if projectId >= len(api.projects) { - return nil, fmt.Errorf("project not found") + return nil, errors.New("project not found") } project := api.projects[projectId] symbol, ok := api.symbols[symbolHandle] @@ -192,12 +199,17 @@ func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) if t == nil { return nil, nil } - return NewTypeData(t), nil + // return NewTypeData(t), nil + data, err := EncodeTypeResponse(t, NewHandle(t)) + if err != nil { + return nil, err + } + return data, nil } func (api *API) GetSourceFile(projectId int, fileName string) (*ast.SourceFile, error) { if projectId >= len(api.projects) { - return nil, fmt.Errorf("project not found") + return nil, errors.New("project not found") } project := api.projects[projectId] sourceFile := project.GetProgram().GetSourceFile(fileName) diff --git a/internal/api/encoder.go b/internal/api/encoder.go index 4af88f8b9b..114cd1e605 100644 --- a/internal/api/encoder.go +++ b/internal/api/encoder.go @@ -7,6 +7,7 @@ import ( "strings" "github.com/microsoft/typescript-go/internal/ast" + "github.com/microsoft/typescript-go/internal/checker" ) // EncodedNodeLength is the number of int32 values that represent a single node in the encoded format. @@ -683,3 +684,22 @@ func boolToByte(b bool) byte { } return 0 } + +func EncodeSymbolResponse(symbol *ast.Symbol, handle Handle[ast.Symbol]) ([]byte, error) { + var err error + result := make([]byte, 0, 12+len(symbol.Name)) + if result, err = appendInt32s(result, int32(handle), int32(symbol.Flags), int32(symbol.CheckFlags)); err != nil { + return nil, err + } + result = append(result, symbol.Name...) + return result, nil +} + +func EncodeTypeResponse(t *checker.Type, handle Handle[checker.Type]) ([]byte, error) { + var err error + result := make([]byte, 0, 8) + if result, err = appendInt32s(result, int32(handle), int32(t.Flags())); err != nil { + return nil, err + } + return result, nil +} diff --git a/internal/api/proto.go b/internal/api/proto.go index ede3ff64bd..72110aca41 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -1,9 +1,12 @@ package api import ( + "bytes" + "encoding/binary" "encoding/json" "errors" "fmt" + "io" "unsafe" "github.com/microsoft/typescript-go/internal/ast" @@ -38,8 +41,8 @@ var unmarshalers = map[Method]func([]byte) (any, error){ MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], MethodLoadProject: unmarshallerFor[LoadProjectParams], MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], - MethodGetSymbolAtPosition: batchEnabledUnmarshallerFor[GetSymbolAtPositionParams], - MethodGetTypeOfSymbol: batchEnabledUnmarshallerFor[GetTypeOfSymbolParams], + MethodGetSymbolAtPosition: decodeGetSymbolAtPositionParams, + MethodGetTypeOfSymbol: decodeGetTypeOfSymbolParams, } type ConfigureParams struct { @@ -72,9 +75,9 @@ func NewProjectData(project *project.Project, id int) *ProjectData { } type GetSymbolAtPositionParams struct { - Project int `json:"project"` - FileName string `json:"fileName"` + Project uint16 `json:"project"` Position uint32 `json:"position"` + FileName string `json:"fileName"` } type SymbolData struct { @@ -84,7 +87,7 @@ type SymbolData struct { CheckFlags uint32 `json:"checkFlags"` } -func NewSymbolData(symbol *ast.Symbol, projectVersion int) *SymbolData { +func NewSymbolData(symbol *ast.Symbol) *SymbolData { return &SymbolData{ Id: NewHandle(symbol), Name: symbol.Name, @@ -93,11 +96,40 @@ func NewSymbolData(symbol *ast.Symbol, projectVersion int) *SymbolData { } } +func decodeGetSymbolAtPositionParams(data []byte) (any, error) { + var v GetSymbolAtPositionParams + reader := bytes.NewReader(data) + if err := binary.Read(reader, binary.LittleEndian, &v.Project); err != nil { + return nil, fmt.Errorf("failed to read Project: %w", err) + } + if err := binary.Read(reader, binary.LittleEndian, &v.Position); err != nil { + return nil, fmt.Errorf("failed to read Position: %w", err) + } + fileName, err := io.ReadAll(reader) + if err != nil { + return nil, fmt.Errorf("failed to read fileName: %w", err) + } + v.FileName = string(fileName) + return &v, nil +} + type GetTypeOfSymbolParams struct { - Project int `json:"project"` + Project uint16 `json:"project"` Symbol Handle[ast.Symbol] `json:"symbol"` } +func decodeGetTypeOfSymbolParams(data []byte) (any, error) { + var v GetTypeOfSymbolParams + reader := bytes.NewReader(data) + if err := binary.Read(reader, binary.LittleEndian, &v.Project); err != nil { + return nil, fmt.Errorf("failed to read Project: %w", err) + } + if err := binary.Read(reader, binary.LittleEndian, &v.Symbol); err != nil { + return nil, fmt.Errorf("failed to read Symbol: %w", err) + } + return &v, nil +} + type TypeData struct { Id Handle[checker.Type] `json:"id"` Flags uint32 `json:"flags"` diff --git a/internal/api/server.go b/internal/api/server.go index 4626d4cd60..43afe738b5 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -198,22 +198,7 @@ func (s *Server) handleConfigure(payload []byte) error { } func (s *Server) sendResponse(method string, result []byte) error { - if _, err := s.w.WriteString("response\t"); err != nil { - return err - } - if _, err := s.w.WriteString(method); err != nil { - return err - } - if err := s.w.WriteByte('\t'); err != nil { - return err - } - if err := binary.Write(s.w, binary.LittleEndian, uint32(len(result))); err != nil { - return err - } - if _, err := s.w.Write(result); err != nil { - return err - } - return s.w.Flush() + return s.write("response", method, result) } func (s *Server) sendError(method string, err error) error { @@ -221,19 +206,26 @@ func (s *Server) sendError(method string, err error) error { if err != nil { return err } - if _, err = s.w.Write([]byte("error\t")); err != nil { + return s.write("error", method, payload) +} + +func (s *Server) write(messageType, method string, payload []byte) error { + if _, err := s.w.WriteString(messageType); err != nil { return err } - if _, err = s.w.Write([]byte(method)); err != nil { + if _, err := s.w.WriteString("\t"); err != nil { return err } - if _, err = s.w.Write([]byte("\t")); err != nil { + if _, err := s.w.WriteString(method); err != nil { + return err + } + if err := s.w.WriteByte('\t'); err != nil { return err } - if _, err = s.w.Write(payload); err != nil { + if err := binary.Write(s.w, binary.LittleEndian, uint32(len(payload))); err != nil { return err } - if _, err = s.w.Write([]byte("\n")); err != nil { + if _, err := s.w.Write(payload); err != nil { return err } return s.w.Flush() From 29b04b6323f2acda74dc307d192a369c8ea6973f Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 12 Mar 2025 15:26:29 -0700 Subject: [PATCH 10/63] Revert "Custom binary encoding for symbols and types" This reverts commit 386fff288cf76579a328fe650eae6db257c2636d. --- _api/src/async/api.ts | 14 ++++----- _api/src/base/api.ts | 68 ++++++++++++++++------------------------- _api/src/base/binary.ts | 33 -------------------- _api/src/base/proto.ts | 33 -------------------- _api/src/bench.ts | 2 +- _api/src/sync/api.ts | 43 ++++++++++++++------------ _api/src/sync/client.ts | 26 +++++----------- _api/src/types.ts | 24 +++++++++++++++ internal/api/api.go | 42 +++++++++---------------- internal/api/encoder.go | 20 ------------ internal/api/proto.go | 44 ++++---------------------- internal/api/server.go | 34 +++++++++++++-------- 12 files changed, 131 insertions(+), 252 deletions(-) delete mode 100644 _api/src/base/binary.ts delete mode 100644 _api/src/base/proto.ts diff --git a/_api/src/async/api.ts b/_api/src/async/api.ts index dc8a1fbb3b..35015b8935 100644 --- a/_api/src/async/api.ts +++ b/_api/src/async/api.ts @@ -8,10 +8,10 @@ import { Type as BaseType, } from "../base/api.ts"; import type { - ProjectResponse, - SymbolResponse, - TypeResponse, -} from "../base/proto.ts"; + ProjectData, + SymbolData, + TypeData, +} from "../types.ts"; import { Client } from "./client.ts"; import { startLSPServer } from "./lsp.ts"; @@ -50,7 +50,7 @@ export class API implements BaseAPI { export class Project extends BaseProject { private client: Client; - constructor(client: Client, data: ProjectResponse) { + constructor(client: Client, data: ProjectData) { super(data); this.client = client; } @@ -69,7 +69,7 @@ export class Symbol extends BaseSymbol { private client: Client; private project: Project; - constructor(client: Client, project: Project, data: SymbolResponse) { + constructor(client: Client, project: Project, data: SymbolData) { super(data); this.client = client; this.project = project; @@ -84,7 +84,7 @@ export class Symbol extends BaseSymbol { export class Type extends BaseType { private client: Client; - constructor(client: Client, data: TypeResponse) { + constructor(client: Client, data: TypeData) { super(data); this.client = client; } diff --git a/_api/src/base/api.ts b/_api/src/base/api.ts index dfb8c553ed..ca18e596b1 100644 --- a/_api/src/base/api.ts +++ b/_api/src/base/api.ts @@ -1,11 +1,13 @@ import { SymbolFlags } from "#symbolFlags"; import type { SourceFile as SourceFileNode } from "../ast/ast.ts"; import { RemoteNode } from "../ast/node.ts"; -import type { MaybeAsync } from "../types.ts"; import type { - ConfigResponse, - ProjectResponse, -} from "./proto.ts"; + MaybeAsync, + ParsedCommandLine, + ProjectData, + SymbolData, + TypeData, +} from "../types.ts"; export interface APIOptions { tsserverPath: string; @@ -14,7 +16,7 @@ export interface APIOptions { } export interface API { - parseConfigFile(fileName: string): MaybeAsync; + parseConfigFile(fileName: string): MaybeAsync; loadProject(configFileName: string): MaybeAsync>; } @@ -24,12 +26,12 @@ export abstract class Project { compilerOptions!: Record; rootFiles!: readonly string[]; - constructor(data: ProjectResponse) { + constructor(data: ProjectData) { this.id = data.id; this.loadData(data); } - loadData(data: ProjectResponse): void { + loadData(data: ProjectData): void { this.configFileName = data.configFileName; this.compilerOptions = data.compilerOptions; this.rootFiles = data.rootFiles; @@ -37,7 +39,7 @@ export abstract class Project { abstract reload(): MaybeAsync; abstract getSourceFile(fileName: string): MaybeAsync; - abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync; + abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync | undefined>; } export abstract class SourceFile extends RemoteNode { @@ -49,46 +51,28 @@ export abstract class SourceFile extends RemoteNode { export { SymbolFlags }; -export abstract class Symbol { - private data: Uint8Array; - private view: DataView; - private decoder: TextDecoder; +export abstract class Symbol { + protected id: number; + name: string; + flags: SymbolFlags; + checkFlags: number; - constructor(data: Uint8Array, decoder: TextDecoder) { - this.data = data; - this.view = new DataView(data.buffer, data.byteOffset, data.byteLength); - this.decoder = decoder; - } - - get id(): number { - return this.view.getUint32(0, true); - } - - get flags(): number { - return this.view.getUint32(4, true); - } - - get checkFlags(): number { - return this.view.getUint32(8, true); + constructor(data: SymbolData) { + this.id = data.id; + this.name = data.name; + this.flags = data.flags; + this.checkFlags = data.checkFlags; } - get name(): string { - return this.decoder.decode(this.data.subarray(12)); - } + abstract getType(): MaybeAsync | undefined>; } export abstract class Type { - private view: DataView; - - constructor(data: Uint8Array) { - this.view = new DataView(data.buffer, data.byteOffset, data.byteLength); - } + protected id: number; + flags: number; - get id(): number { - return this.view.getUint32(0, true); - } - - get flags(): number { - return this.view.getUint32(4, true); + constructor(data: TypeData) { + this.id = data.id; + this.flags = data.flags; } } diff --git a/_api/src/base/binary.ts b/_api/src/base/binary.ts deleted file mode 100644 index 9ca1c44b1a..0000000000 --- a/_api/src/base/binary.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { - GetSymbolAtPositionRequest, - GetTypeOfSymbolRequest, - SymbolResponse, -} from "./proto.ts"; - -export function encodeGetSymbolAtPositionRequest(projectId: number, fileName: string, position: number, encoder: TextEncoder): Uint8Array { - // assume ASCII filename - const asciiLength = fileName.length; - const result = new Uint8Array(2 + 4 + asciiLength); - const view = new DataView(result.buffer); - view.setUint16(0, projectId, true); - view.setUint32(2, position, true); - const { read } = encoder.encodeInto(fileName, result.subarray(2 + 4)); - // check if ASCII assumption was correct - if (read !== asciiLength) { - const encodedFileName = encoder.encode(fileName); - const newResult = new Uint8Array(2 + 4 + encodedFileName.length); - newResult.set(result.subarray(0, 2 + 4)); - newResult.set(encodedFileName, 2 + 4); - return newResult; - } - - return result; -} - -export function encodeGetTypeOfSymbolRequest(projectId: number, symbolId: number): Uint8Array { - const result = new Uint8Array(6); - const view = new DataView(result.buffer); - view.setUint16(0, projectId, true); - view.setUint32(2, symbolId, true); - return result; -} diff --git a/_api/src/base/proto.ts b/_api/src/base/proto.ts deleted file mode 100644 index 3ae9a4266b..0000000000 --- a/_api/src/base/proto.ts +++ /dev/null @@ -1,33 +0,0 @@ -export interface ConfigResponse { - options: Record; - fileNames: string[]; -} - -export interface ProjectResponse { - id: number; - configFileName: string; - compilerOptions: Record; - rootFiles: string[]; -} - -export interface GetSymbolAtPositionRequest { - project: number; - fileName: string; - position: number; -} - -export interface SymbolResponse { - id: number; - name: string; - flags: number; - checkFlags: number; -} - -export interface GetTypeOfSymbolRequest { - symbol: number; -} - -export interface TypeResponse { - id: number; - flags: number; -} diff --git a/_api/src/bench.ts b/_api/src/bench.ts index e7b31fcd1b..28d3048bfb 100644 --- a/_api/src/bench.ts +++ b/_api/src/bench.ts @@ -35,7 +35,7 @@ import { API } from "./sync/api.ts"; if (isIdentifier(node)) { const symbol = project.getSymbolAtPosition("checker.ts", node.pos); if (symbol?.flags! & SymbolFlags.Value) { - project.getTypeOfSymbol(symbol!); + symbol?.getType(); } } node.forEachChild(child => visitNode(child)); diff --git a/_api/src/sync/api.ts b/_api/src/sync/api.ts index ffffe1105a..cd8966ccf5 100644 --- a/_api/src/sync/api.ts +++ b/_api/src/sync/api.ts @@ -8,11 +8,12 @@ import { Type as BaseType, } from "../base/api.ts"; import type { - ConfigResponse, - ProjectResponse, - SymbolResponse, - TypeResponse, -} from "../base/proto.ts"; + FileSystemEntries, + ParsedCommandLine, + ProjectData, + SymbolData, + TypeData, +} from "../types.ts"; import { Client } from "./client.ts"; export interface APIOptions extends BaseAPIOptions { @@ -24,7 +25,7 @@ export class API implements BaseAPI { this.client = new Client(options); } - parseConfigFile(fileName: string): ConfigResponse { + parseConfigFile(fileName: string): ParsedCommandLine { return this.client.request("parseConfigFile", { fileName }); } @@ -41,7 +42,7 @@ export class API implements BaseAPI { export class Project extends BaseProject { private client: Client; - constructor(client: Client, data: ProjectResponse) { + constructor(client: Client, data: ProjectData) { super(data); this.client = client; } @@ -59,19 +60,14 @@ export class Project extends BaseProject { getSymbolAtPosition(fileName: string, position: number): Symbol | undefined; getSymbolAtPosition(...params: [fileName: string, position: number] | [readonly { fileName: string; position: number; }[]]): Symbol | undefined | (Symbol | undefined)[] { if (params.length === 2) { - const data = this.client.getSymbolAtPosition(this.id, params[0], params[1]); - return data.length ? new Symbol(this.client, data) : undefined; + const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); + return data ? new Symbol(this.client, this, data) : undefined; } else { - // const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); - // return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, this, d) : undefined); + const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); + return data.map((d: SymbolData | null) => d ? new Symbol(this.client, this, d) : undefined); } } - - getTypeOfSymbol(symbol: Symbol): Type | undefined { - const data = this.client.getTypeOfSymbol(this.id, symbol.id); - return data ? new Type(this.client, data) : undefined; - } } export class SourceFile extends BaseSourceFile { @@ -84,18 +80,25 @@ export class SourceFile extends BaseSourceFile { } } -export class Symbol extends BaseSymbol { +export class Symbol extends BaseSymbol { private client: Client; + private project: Project; - constructor(client: Client, data: Uint8Array) { - super(data, client.decoder); + constructor(client: Client, project: Project, data: SymbolData) { + super(data); this.client = client; + this.project = project; + } + + getType(): Type | undefined { + const data = this.client.request("getTypeOfSymbol", { project: this.project.id, symbol: this.id }); + return data ? new Type(this.client, data) : undefined; } } export class Type extends BaseType { private client: Client; - constructor(client: Client, data: Uint8Array) { + constructor(client: Client, data: TypeData) { super(data); this.client = client; } diff --git a/_api/src/sync/client.ts b/_api/src/sync/client.ts index 7ebe87566c..e76d8b13b0 100644 --- a/_api/src/sync/client.ts +++ b/_api/src/sync/client.ts @@ -1,8 +1,4 @@ import { SyncRpcChannel } from "libsyncrpc"; -import { - encodeGetSymbolAtPositionRequest, - encodeGetTypeOfSymbolRequest, -} from "../base/binary.ts"; import type { FileSystemEntries } from "../types.ts"; export interface ClientOptions { @@ -20,8 +16,8 @@ export interface ClientOptions { export class Client { private channel: SyncRpcChannel; - decoder: TextDecoder = new TextDecoder(); - encoder: TextEncoder = new TextEncoder(); + private decoder = new TextDecoder(); + private encoder = new TextEncoder(); constructor(options: ClientOptions) { this.channel = new SyncRpcChannel(options.tsserverPath, [ @@ -37,20 +33,14 @@ export class Client { callbacks: Object.keys(options.fs ?? {}), }), ); - for (const callback in options.fs) { - this.channel.registerCallback(callback, (_, arg) => { - const result = options.fs?.[callback as keyof typeof options.fs]?.(JSON.parse(this.decoder.decode(arg))); - return JSON.stringify(result) ?? ""; - }); - } } - getSymbolAtPosition(projectId: number, fileName: string, position: number): Uint8Array { - return this.channel.requestBinarySync("getSymbolAtPosition", encodeGetSymbolAtPositionRequest(projectId, fileName, position, this.encoder)); - } - - getTypeOfSymbol(projectId: number, symbolId: number): Uint8Array { - return this.channel.requestBinarySync("getTypeOfSymbol", encodeGetTypeOfSymbolRequest(projectId, symbolId)); + registerCallback(method: string, callback: (payload: any) => any): void { + this.channel.registerCallback(method, (_, arg) => { + const result = callback(JSON.parse(this.decoder.decode(arg))); + return JSON.stringify(result) ?? ""; + }); + this.channel.requestSync("registerCallback", method); } request(method: string, payload: any): any { diff --git a/_api/src/types.ts b/_api/src/types.ts index a7f202dca5..1fecce4729 100644 --- a/_api/src/types.ts +++ b/_api/src/types.ts @@ -4,3 +4,27 @@ export interface FileSystemEntries { files: string[]; directories: string[]; } + +export interface ParsedCommandLine { + options: Record; + fileNames: string[]; +} + +export interface ProjectData { + id: number; + configFileName: string; + compilerOptions: Record; + rootFiles: string[]; +} + +export interface SymbolData { + id: number; + name: string; + flags: number; + checkFlags: number; +} + +export interface TypeData { + id: number; + flags: number; +} diff --git a/internal/api/api.go b/internal/api/api.go index 016fbf2ae6..9ac3e6583f 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -2,7 +2,6 @@ package api import ( "encoding/json" - "errors" "fmt" "sync" "time" @@ -94,7 +93,7 @@ func (api *API) NewLine() string { return api.host.NewLine() } -func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, error) { +func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([]byte, error) { now := time.Now() params, err := unmarshalPayload(method, payload) if err != nil { @@ -115,15 +114,13 @@ func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, er case MethodLoadProject: return encodeJSON(api.LoadProject(params.(*LoadProjectParams).ConfigFileName)) case MethodGetSymbolAtPosition: - params := params.(*GetSymbolAtPositionParams) - // return encodeJSON(handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { - return api.GetSymbolAtPosition(int(params.Project), params.FileName, int(params.Position)) - // })) + return encodeJSON(handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { + return api.GetSymbolAtPosition(params.Project, params.FileName, int(params.Position)) + })) case MethodGetTypeOfSymbol: - params := params.(*GetTypeOfSymbolParams) - // return encodeJSON(handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { - return api.GetTypeOfSymbol(int(params.Project), params.Symbol) - // })) + return encodeJSON(handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { + return api.GetTypeOfSymbol(params.Project, params.Symbol) + })) default: return nil, fmt.Errorf("unhandled API method %q", method) } @@ -166,29 +163,25 @@ func (api *API) LoadProject(configFileName string) (*ProjectData, error) { return NewProjectData(project, id), nil } -func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) ([]byte, error) { +func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) (*SymbolData, error) { if projectId >= len(api.projects) { - return nil, errors.New("project not found") + return nil, fmt.Errorf("project not found") } project := api.projects[projectId] symbol, err := project.LanguageService().GetSymbolAtPosition(fileName, position) if err != nil || symbol == nil { return nil, err } - id := NewHandle(symbol) - data, err := EncodeSymbolResponse(symbol, id) - if err != nil { - return nil, err - } + data := NewSymbolData(symbol, project.Version()) api.symbolsMu.Lock() defer api.symbolsMu.Unlock() - api.symbols[id] = symbol + api.symbols[data.Id] = symbol return data, nil } -func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) ([]byte, error) { +func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) (*TypeData, error) { if projectId >= len(api.projects) { - return nil, errors.New("project not found") + return nil, fmt.Errorf("project not found") } project := api.projects[projectId] symbol, ok := api.symbols[symbolHandle] @@ -199,17 +192,12 @@ func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) if t == nil { return nil, nil } - // return NewTypeData(t), nil - data, err := EncodeTypeResponse(t, NewHandle(t)) - if err != nil { - return nil, err - } - return data, nil + return NewTypeData(t), nil } func (api *API) GetSourceFile(projectId int, fileName string) (*ast.SourceFile, error) { if projectId >= len(api.projects) { - return nil, errors.New("project not found") + return nil, fmt.Errorf("project not found") } project := api.projects[projectId] sourceFile := project.GetProgram().GetSourceFile(fileName) diff --git a/internal/api/encoder.go b/internal/api/encoder.go index 114cd1e605..4af88f8b9b 100644 --- a/internal/api/encoder.go +++ b/internal/api/encoder.go @@ -7,7 +7,6 @@ import ( "strings" "github.com/microsoft/typescript-go/internal/ast" - "github.com/microsoft/typescript-go/internal/checker" ) // EncodedNodeLength is the number of int32 values that represent a single node in the encoded format. @@ -684,22 +683,3 @@ func boolToByte(b bool) byte { } return 0 } - -func EncodeSymbolResponse(symbol *ast.Symbol, handle Handle[ast.Symbol]) ([]byte, error) { - var err error - result := make([]byte, 0, 12+len(symbol.Name)) - if result, err = appendInt32s(result, int32(handle), int32(symbol.Flags), int32(symbol.CheckFlags)); err != nil { - return nil, err - } - result = append(result, symbol.Name...) - return result, nil -} - -func EncodeTypeResponse(t *checker.Type, handle Handle[checker.Type]) ([]byte, error) { - var err error - result := make([]byte, 0, 8) - if result, err = appendInt32s(result, int32(handle), int32(t.Flags())); err != nil { - return nil, err - } - return result, nil -} diff --git a/internal/api/proto.go b/internal/api/proto.go index 72110aca41..ede3ff64bd 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -1,12 +1,9 @@ package api import ( - "bytes" - "encoding/binary" "encoding/json" "errors" "fmt" - "io" "unsafe" "github.com/microsoft/typescript-go/internal/ast" @@ -41,8 +38,8 @@ var unmarshalers = map[Method]func([]byte) (any, error){ MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], MethodLoadProject: unmarshallerFor[LoadProjectParams], MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], - MethodGetSymbolAtPosition: decodeGetSymbolAtPositionParams, - MethodGetTypeOfSymbol: decodeGetTypeOfSymbolParams, + MethodGetSymbolAtPosition: batchEnabledUnmarshallerFor[GetSymbolAtPositionParams], + MethodGetTypeOfSymbol: batchEnabledUnmarshallerFor[GetTypeOfSymbolParams], } type ConfigureParams struct { @@ -75,9 +72,9 @@ func NewProjectData(project *project.Project, id int) *ProjectData { } type GetSymbolAtPositionParams struct { - Project uint16 `json:"project"` - Position uint32 `json:"position"` + Project int `json:"project"` FileName string `json:"fileName"` + Position uint32 `json:"position"` } type SymbolData struct { @@ -87,7 +84,7 @@ type SymbolData struct { CheckFlags uint32 `json:"checkFlags"` } -func NewSymbolData(symbol *ast.Symbol) *SymbolData { +func NewSymbolData(symbol *ast.Symbol, projectVersion int) *SymbolData { return &SymbolData{ Id: NewHandle(symbol), Name: symbol.Name, @@ -96,40 +93,11 @@ func NewSymbolData(symbol *ast.Symbol) *SymbolData { } } -func decodeGetSymbolAtPositionParams(data []byte) (any, error) { - var v GetSymbolAtPositionParams - reader := bytes.NewReader(data) - if err := binary.Read(reader, binary.LittleEndian, &v.Project); err != nil { - return nil, fmt.Errorf("failed to read Project: %w", err) - } - if err := binary.Read(reader, binary.LittleEndian, &v.Position); err != nil { - return nil, fmt.Errorf("failed to read Position: %w", err) - } - fileName, err := io.ReadAll(reader) - if err != nil { - return nil, fmt.Errorf("failed to read fileName: %w", err) - } - v.FileName = string(fileName) - return &v, nil -} - type GetTypeOfSymbolParams struct { - Project uint16 `json:"project"` + Project int `json:"project"` Symbol Handle[ast.Symbol] `json:"symbol"` } -func decodeGetTypeOfSymbolParams(data []byte) (any, error) { - var v GetTypeOfSymbolParams - reader := bytes.NewReader(data) - if err := binary.Read(reader, binary.LittleEndian, &v.Project); err != nil { - return nil, fmt.Errorf("failed to read Project: %w", err) - } - if err := binary.Read(reader, binary.LittleEndian, &v.Symbol); err != nil { - return nil, fmt.Errorf("failed to read Symbol: %w", err) - } - return &v, nil -} - type TypeData struct { Id Handle[checker.Type] `json:"id"` Flags uint32 `json:"flags"` diff --git a/internal/api/server.go b/internal/api/server.go index 43afe738b5..4626d4cd60 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -198,7 +198,22 @@ func (s *Server) handleConfigure(payload []byte) error { } func (s *Server) sendResponse(method string, result []byte) error { - return s.write("response", method, result) + if _, err := s.w.WriteString("response\t"); err != nil { + return err + } + if _, err := s.w.WriteString(method); err != nil { + return err + } + if err := s.w.WriteByte('\t'); err != nil { + return err + } + if err := binary.Write(s.w, binary.LittleEndian, uint32(len(result))); err != nil { + return err + } + if _, err := s.w.Write(result); err != nil { + return err + } + return s.w.Flush() } func (s *Server) sendError(method string, err error) error { @@ -206,26 +221,19 @@ func (s *Server) sendError(method string, err error) error { if err != nil { return err } - return s.write("error", method, payload) -} - -func (s *Server) write(messageType, method string, payload []byte) error { - if _, err := s.w.WriteString(messageType); err != nil { + if _, err = s.w.Write([]byte("error\t")); err != nil { return err } - if _, err := s.w.WriteString("\t"); err != nil { + if _, err = s.w.Write([]byte(method)); err != nil { return err } - if _, err := s.w.WriteString(method); err != nil { - return err - } - if err := s.w.WriteByte('\t'); err != nil { + if _, err = s.w.Write([]byte("\t")); err != nil { return err } - if err := binary.Write(s.w, binary.LittleEndian, uint32(len(payload))); err != nil { + if _, err = s.w.Write(payload); err != nil { return err } - if _, err := s.w.Write(payload); err != nil { + if _, err = s.w.Write([]byte("\n")); err != nil { return err } return s.w.Flush() From 057c6cb973de386c394b8fe1e58202ad0d1c09ed Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Fri, 14 Mar 2025 15:25:27 -0700 Subject: [PATCH 11/63] Use pnpm --- .github/workflows/ci.yml | 36 +- package-lock.json | 2702 -------------------------------------- package.json | 16 +- pnpm-lock.yaml | 843 ++++++++++++ pnpm-workspace.yaml | 3 + 5 files changed, 874 insertions(+), 2726 deletions(-) delete mode 100644 package-lock.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f8db0f385..39cbbae1fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,13 +23,14 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 + - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: build - - run: npm ci + - run: pnpm install - - run: npx hereby build + - run: pnpm hereby build test: strategy: @@ -66,11 +67,12 @@ jobs: - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 with: node-version: 'lts/*' + - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: test - - run: npm ci + - run: pnpm install - run: go install gotest.tools/gotestsum@latest # Installing gotestsum is super slow on Windows. @@ -79,7 +81,7 @@ jobs: - name: Tests id: test - run: npx hereby test:all ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} + run: pnpm hereby test:all ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} env: RACE_FLAG: ${{ (matrix.race && '--race') || '' }} NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} @@ -91,7 +93,7 @@ jobs: - name: Print baseline diff on failure if: ${{ failure() && steps.test.conclusion == 'failure' }} run: | - npx hereby baseline-accept + pnpm hereby baseline-accept git add testdata/baselines/reference git diff --staged --exit-code - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 @@ -105,28 +107,30 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 + - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: lint - - run: npm ci + - run: pnpm install - - run: npx hereby install-tools - - run: npx hereby lint + - run: pnpm hereby install-tools + - run: pnpm hereby lint format: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 + - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: format - - run: npm ci + - run: pnpm install - - run: npx hereby install-tools - - run: npx hereby check:format + - run: pnpm hereby install-tools + - run: pnpm hereby check:format generate: runs-on: ubuntu-latest @@ -135,13 +139,14 @@ jobs: with: submodules: true - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 + - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: generate - - run: npm ci + - run: pnpm install - - run: npx hereby generate + - run: pnpm hereby generate - run: git add . - run: git diff --staged --exit-code --stat @@ -167,13 +172,14 @@ jobs: with: submodules: true - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 + - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: smoke - - run: npm ci + - run: pnpm install - - run: npx hereby build --race + - run: pnpm hereby build --race - run: npm ci && npx hereby generate-diagnostics working-directory: ./_submodules/TypeScript diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 2b0218a2b5..0000000000 --- a/package-lock.json +++ /dev/null @@ -1,2702 +0,0 @@ -{ - "name": "typescript-go", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "typescript-go", - "version": "0.0.0", - "hasInstallScript": true, - "license": "Apache-2.0", - "workspaces": [ - "./_api", - "./_extension" - ], - "devDependencies": { - "@types/node": "latest", - "@types/which": "^3.0.4", - "chokidar": "^4.0.3", - "dprint": "^0.47.6", - "execa": "^9.5.1", - "glob": "^10.4.5", - "hereby": "^1.10.0", - "json-schema-to-typescript-lite": "^14.1.0", - "mitata": "^1.0.34", - "picocolors": "^1.1.1", - "typescript": "^5.7.3", - "which": "^5.0.0" - } - }, - "_api": { - "name": "typescript-api", - "version": "1.0.0", - "dependencies": { - "json-rpc-2.0": "^1.7.0", - "libsyncrpc": "file:../../libsyncrpc" - }, - "devDependencies": { - "ts-morph": "^25.0.1" - } - }, - "_extension": { - "name": "typescript-lsp", - "version": "0.0.0", - "dependencies": { - "vscode-languageclient": "^9.0.1" - }, - "devDependencies": { - "@types/vscode": "^1.96.0" - }, - "engines": { - "vscode": "^1.91.0" - } - }, - "../libsyncrpc": { - "version": "0.0.0", - "license": "MIT", - "devDependencies": { - "@napi-rs/cli": "^2.18.4", - "ava": "^6.0.1", - "tinybench": "^2.9.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@apidevtools/json-schema-ref-parser": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.0.tgz", - "integrity": "sha512-8Q/r5mXLa8Rfyh6r4SgEEFJgISVN5cDNFlcfSWLgFn3odzQhTfHAqzI3hMGdcROViL+8NrDNVVFQtEUrYOksDg==", - "dev": true, - "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.15", - "js-yaml": "^4.1.0" - }, - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/philsturgeon" - } - }, - "node_modules/@dprint/darwin-arm64": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.47.6.tgz", - "integrity": "sha512-DrtKVOH7Ue6QYsqsUfUwBlTkSZNF2j35xqyI6KimUT1ulgUPocLG53JC/Aej9KuSCPmt4M3J40xxPKRgIM4jPA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@dprint/darwin-x64": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.47.6.tgz", - "integrity": "sha512-p16a4lMbAo4RngbNTAmtREnIRI/cOcZFy5wHPIzbCDnnHI+4UyHiAypTrpF8U8EYx1tw3hgih2MyAuupa9Gfag==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@dprint/linux-arm64-glibc": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.47.6.tgz", - "integrity": "sha512-WHphnk0oXpNzwJ9cjbddOL+hEZkXTvHxcA2pM1h1kWCBa5m+4qh0fg8YCktckMfHx1qdQuZYWRoT4l7yQbzWYA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@dprint/linux-arm64-musl": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.47.6.tgz", - "integrity": "sha512-/2cSPudajg8J0U69ldNZkJx5QiKZNh+ohNVM9leWZ8v6GXN6sJDHX3T6hzS3ohIb03YOCiLOrJZDy9j3+fSgdQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@dprint/linux-riscv64-glibc": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-riscv64-glibc/-/linux-riscv64-glibc-0.47.6.tgz", - "integrity": "sha512-RMHJ3Zuzpls426upHlAveVwlGMi8oBLzhiCauyC/yWQl3CkGTAYdyhEpGnux0+RxacysfIL2bd8ourx4K0Sx3w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@dprint/linux-x64-glibc": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.47.6.tgz", - "integrity": "sha512-4zbVsx/a8lHkRyAjfW0PNlN5IMwOJfFapgXNYJowWNO7X3j3m1jYJWovjmdZls+d6pDeOHoanMWtq95wd7zTeQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@dprint/linux-x64-musl": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.47.6.tgz", - "integrity": "sha512-0C13t4OVzomgQjvUyD5IrRyjLDhGuOtqMo00uJlwn3QHucfgOBqkjyQ5fq7T6+grBse0m14/EWblvSbYkZpyDw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@dprint/win32-arm64": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/win32-arm64/-/win32-arm64-0.47.6.tgz", - "integrity": "sha512-UOkeFMBdGIuGNwfkrJdVM9eNiRMdbZRRGVy0Cdo2AXn/FCDVqZ74KJkvYVcoUE27GCytHi4Sp1s4at7659WCOw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@dprint/win32-x64": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.47.6.tgz", - "integrity": "sha512-i9xwXR8V8Jk/wU1gsYKx15eb0ypBRbRZFkHsnHfC0ZBimcfEOibGnGcfv+UCUcumXtnV46TnBqaJW7H70J1J+A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ts-morph/common": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.26.1.tgz", - "integrity": "sha512-Sn28TGl/4cFpcM+jwsH1wLncYq3FtN/BIpem+HOygfBWPT5pAeS5dB4VFVzV8FbnOKHpDLZmvAl4AjPEev5idA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-glob": "^3.3.2", - "minimatch": "^9.0.4", - "path-browserify": "^1.0.1" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "22.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", - "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", - "dev": true, - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@types/vscode": { - "version": "1.96.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.96.0.tgz", - "integrity": "sha512-qvZbSZo+K4ZYmmDuaodMbAa67Pl6VDQzLKFka6rq+3WUTY4Kro7Bwoi0CuZLO/wema0ygcmpwow7zZfPJTs5jg==", - "dev": true - }, - "node_modules/@types/which": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/which/-/which-3.0.4.tgz", - "integrity": "sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==", - "dev": true - }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/code-block-writer": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", - "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "dev": true, - "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/dprint": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.47.6.tgz", - "integrity": "sha512-vCQC+IMHVZbISA5pxEj+yshQbozmQoVFA4lzcLlqJ8rzIAH8U+1DKvesN/2Uv3Bqz6rMW6W4WY7pYJQljmiZ8w==", - "dev": true, - "hasInstallScript": true, - "bin": { - "dprint": "bin.js" - }, - "optionalDependencies": { - "@dprint/darwin-arm64": "0.47.6", - "@dprint/darwin-x64": "0.47.6", - "@dprint/linux-arm64-glibc": "0.47.6", - "@dprint/linux-arm64-musl": "0.47.6", - "@dprint/linux-riscv64-glibc": "0.47.6", - "@dprint/linux-x64-glibc": "0.47.6", - "@dprint/linux-x64-musl": "0.47.6", - "@dprint/win32-arm64": "0.47.6", - "@dprint/win32-x64": "0.47.6" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/execa": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.1.tgz", - "integrity": "sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==", - "dev": true, - "dependencies": { - "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", - "figures": "^6.1.0", - "get-stream": "^9.0.0", - "human-signals": "^8.0.0", - "is-plain-obj": "^4.1.0", - "is-stream": "^4.0.1", - "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" - }, - "engines": { - "node": "^18.19.0 || >=20.5.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figures": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", - "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", - "dev": true, - "dependencies": { - "is-unicode-supported": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", - "dev": true, - "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/hereby": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/hereby/-/hereby-1.10.0.tgz", - "integrity": "sha512-TyOJ58DFqzCi6PU4/7bDeb2kNIVCPLfJ+RLGdDZxAGIbPRLQ61nupPUtX9QudYHt+dnRpfIHAwclq7SlDc1cDw==", - "dev": true, - "dependencies": { - "command-line-usage": "^6.1.3", - "fastest-levenshtein": "^1.0.16", - "minimist": "^1.2.8", - "picocolors": "^1.0.1", - "pretty-ms": "^8.0.0" - }, - "bin": { - "hereby": "bin/hereby.js" - }, - "engines": { - "node": ">= 12.20" - } - }, - "node_modules/hereby/node_modules/parse-ms": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-3.0.0.tgz", - "integrity": "sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/hereby/node_modules/pretty-ms": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-8.0.0.tgz", - "integrity": "sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==", - "dev": true, - "dependencies": { - "parse-ms": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", - "dev": true, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-rpc-2.0": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-1.7.0.tgz", - "integrity": "sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==", - "license": "MIT" - }, - "node_modules/json-schema-to-typescript-lite": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/json-schema-to-typescript-lite/-/json-schema-to-typescript-lite-14.1.0.tgz", - "integrity": "sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==", - "dev": true, - "dependencies": { - "@apidevtools/json-schema-ref-parser": "^11.7.0", - "@types/json-schema": "^7.0.15" - } - }, - "node_modules/libsyncrpc": { - "resolved": "../libsyncrpc", - "link": true - }, - "node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/mitata": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/mitata/-/mitata-1.0.34.tgz", - "integrity": "sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA==", - "dev": true, - "license": "MIT" - }, - "node_modules/npm-run-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", - "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0", - "unicorn-magic": "^0.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true - }, - "node_modules/parse-ms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", - "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pretty-ms": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", - "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", - "dev": true, - "dependencies": { - "parse-ms": "^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", - "dev": true, - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/semver": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz", - "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", - "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "dev": true, - "dependencies": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-morph": { - "version": "25.0.1", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-25.0.1.tgz", - "integrity": "sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ts-morph/common": "~0.26.0", - "code-block-writer": "^13.0.3" - } - }, - "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-api": { - "resolved": "_api", - "link": true - }, - "node_modules/typescript-lsp": { - "resolved": "_extension", - "link": true - }, - "node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true - }, - "node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vscode-jsonrpc": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", - "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/vscode-languageclient": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz", - "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==", - "dependencies": { - "minimatch": "^5.1.0", - "semver": "^7.3.7", - "vscode-languageserver-protocol": "3.17.5" - }, - "engines": { - "vscode": "^1.82.0" - } - }, - "node_modules/vscode-languageclient/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/vscode-languageserver-protocol": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", - "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", - "dependencies": { - "vscode-jsonrpc": "8.2.0", - "vscode-languageserver-types": "3.17.5" - } - }, - "node_modules/vscode-languageserver-types": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" - }, - "node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "dependencies": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/yoctocolors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", - "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@apidevtools/json-schema-ref-parser": { - "version": "11.9.0", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.0.tgz", - "integrity": "sha512-8Q/r5mXLa8Rfyh6r4SgEEFJgISVN5cDNFlcfSWLgFn3odzQhTfHAqzI3hMGdcROViL+8NrDNVVFQtEUrYOksDg==", - "dev": true, - "requires": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.15", - "js-yaml": "^4.1.0" - } - }, - "@dprint/darwin-arm64": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.47.6.tgz", - "integrity": "sha512-DrtKVOH7Ue6QYsqsUfUwBlTkSZNF2j35xqyI6KimUT1ulgUPocLG53JC/Aej9KuSCPmt4M3J40xxPKRgIM4jPA==", - "dev": true, - "optional": true - }, - "@dprint/darwin-x64": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.47.6.tgz", - "integrity": "sha512-p16a4lMbAo4RngbNTAmtREnIRI/cOcZFy5wHPIzbCDnnHI+4UyHiAypTrpF8U8EYx1tw3hgih2MyAuupa9Gfag==", - "dev": true, - "optional": true - }, - "@dprint/linux-arm64-glibc": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.47.6.tgz", - "integrity": "sha512-WHphnk0oXpNzwJ9cjbddOL+hEZkXTvHxcA2pM1h1kWCBa5m+4qh0fg8YCktckMfHx1qdQuZYWRoT4l7yQbzWYA==", - "dev": true, - "optional": true - }, - "@dprint/linux-arm64-musl": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.47.6.tgz", - "integrity": "sha512-/2cSPudajg8J0U69ldNZkJx5QiKZNh+ohNVM9leWZ8v6GXN6sJDHX3T6hzS3ohIb03YOCiLOrJZDy9j3+fSgdQ==", - "dev": true, - "optional": true - }, - "@dprint/linux-riscv64-glibc": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-riscv64-glibc/-/linux-riscv64-glibc-0.47.6.tgz", - "integrity": "sha512-RMHJ3Zuzpls426upHlAveVwlGMi8oBLzhiCauyC/yWQl3CkGTAYdyhEpGnux0+RxacysfIL2bd8ourx4K0Sx3w==", - "dev": true, - "optional": true - }, - "@dprint/linux-x64-glibc": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.47.6.tgz", - "integrity": "sha512-4zbVsx/a8lHkRyAjfW0PNlN5IMwOJfFapgXNYJowWNO7X3j3m1jYJWovjmdZls+d6pDeOHoanMWtq95wd7zTeQ==", - "dev": true, - "optional": true - }, - "@dprint/linux-x64-musl": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.47.6.tgz", - "integrity": "sha512-0C13t4OVzomgQjvUyD5IrRyjLDhGuOtqMo00uJlwn3QHucfgOBqkjyQ5fq7T6+grBse0m14/EWblvSbYkZpyDw==", - "dev": true, - "optional": true - }, - "@dprint/win32-arm64": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/win32-arm64/-/win32-arm64-0.47.6.tgz", - "integrity": "sha512-UOkeFMBdGIuGNwfkrJdVM9eNiRMdbZRRGVy0Cdo2AXn/FCDVqZ74KJkvYVcoUE27GCytHi4Sp1s4at7659WCOw==", - "dev": true, - "optional": true - }, - "@dprint/win32-x64": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.47.6.tgz", - "integrity": "sha512-i9xwXR8V8Jk/wU1gsYKx15eb0ypBRbRZFkHsnHfC0ZBimcfEOibGnGcfv+UCUcumXtnV46TnBqaJW7H70J1J+A==", - "dev": true, - "optional": true - }, - "@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - } - }, - "@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true - }, - "@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true - }, - "@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true - }, - "@ts-morph/common": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.26.1.tgz", - "integrity": "sha512-Sn28TGl/4cFpcM+jwsH1wLncYq3FtN/BIpem+HOygfBWPT5pAeS5dB4VFVzV8FbnOKHpDLZmvAl4AjPEev5idA==", - "dev": true, - "requires": { - "fast-glob": "^3.3.2", - "minimatch": "^9.0.4", - "path-browserify": "^1.0.1" - } - }, - "@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "@types/node": { - "version": "22.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", - "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", - "dev": true, - "requires": { - "undici-types": "~6.20.0" - } - }, - "@types/vscode": { - "version": "1.96.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.96.0.tgz", - "integrity": "sha512-qvZbSZo+K4ZYmmDuaodMbAa67Pl6VDQzLKFka6rq+3WUTY4Kro7Bwoi0CuZLO/wema0ygcmpwow7zZfPJTs5jg==", - "dev": true - }, - "@types/which": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/which/-/which-3.0.4.tgz", - "integrity": "sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==", - "dev": true - }, - "ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "requires": { - "readdirp": "^4.0.1" - } - }, - "code-block-writer": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz", - "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==", - "dev": true - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "dev": true, - "requires": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - } - }, - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "dprint": { - "version": "0.47.6", - "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.47.6.tgz", - "integrity": "sha512-vCQC+IMHVZbISA5pxEj+yshQbozmQoVFA4lzcLlqJ8rzIAH8U+1DKvesN/2Uv3Bqz6rMW6W4WY7pYJQljmiZ8w==", - "dev": true, - "requires": { - "@dprint/darwin-arm64": "0.47.6", - "@dprint/darwin-x64": "0.47.6", - "@dprint/linux-arm64-glibc": "0.47.6", - "@dprint/linux-arm64-musl": "0.47.6", - "@dprint/linux-riscv64-glibc": "0.47.6", - "@dprint/linux-x64-glibc": "0.47.6", - "@dprint/linux-x64-musl": "0.47.6", - "@dprint/win32-arm64": "0.47.6", - "@dprint/win32-x64": "0.47.6" - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "execa": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.1.tgz", - "integrity": "sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==", - "dev": true, - "requires": { - "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", - "figures": "^6.1.0", - "get-stream": "^9.0.0", - "human-signals": "^8.0.0", - "is-plain-obj": "^4.1.0", - "is-stream": "^4.0.1", - "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" - } - }, - "fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - } - }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, - "fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "figures": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", - "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", - "dev": true, - "requires": { - "is-unicode-supported": "^2.0.0" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - } - }, - "get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", - "dev": true, - "requires": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - } - }, - "glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "hereby": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/hereby/-/hereby-1.10.0.tgz", - "integrity": "sha512-TyOJ58DFqzCi6PU4/7bDeb2kNIVCPLfJ+RLGdDZxAGIbPRLQ61nupPUtX9QudYHt+dnRpfIHAwclq7SlDc1cDw==", - "dev": true, - "requires": { - "command-line-usage": "^6.1.3", - "fastest-levenshtein": "^1.0.16", - "minimist": "^1.2.8", - "picocolors": "^1.0.1", - "pretty-ms": "^8.0.0" - }, - "dependencies": { - "parse-ms": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-3.0.0.tgz", - "integrity": "sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==", - "dev": true - }, - "pretty-ms": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-8.0.0.tgz", - "integrity": "sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==", - "dev": true, - "requires": { - "parse-ms": "^3.0.0" - } - } - } - }, - "human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true - }, - "is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true - }, - "is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "dev": true - }, - "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true - }, - "jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-rpc-2.0": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-1.7.0.tgz", - "integrity": "sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==" - }, - "json-schema-to-typescript-lite": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/json-schema-to-typescript-lite/-/json-schema-to-typescript-lite-14.1.0.tgz", - "integrity": "sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==", - "dev": true, - "requires": { - "@apidevtools/json-schema-ref-parser": "^11.7.0", - "@types/json-schema": "^7.0.15" - } - }, - "libsyncrpc": { - "version": "file:../libsyncrpc", - "requires": { - "@napi-rs/cli": "^2.18.4", - "ava": "^6.0.1", - "tinybench": "^2.9.0" - } - }, - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - } - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true - }, - "mitata": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/mitata/-/mitata-1.0.34.tgz", - "integrity": "sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA==", - "dev": true - }, - "npm-run-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", - "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", - "dev": true, - "requires": { - "path-key": "^4.0.0", - "unicorn-magic": "^0.3.0" - }, - "dependencies": { - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - } - } - }, - "package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true - }, - "parse-ms": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", - "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "dev": true - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "requires": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - } - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pretty-ms": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", - "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", - "dev": true, - "requires": { - "parse-ms": "^4.0.0" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", - "dev": true - }, - "reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "dev": true - }, - "reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "semver": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz", - "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "string-width-cjs": { - "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "strip-ansi-cjs": { - "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - } - } - }, - "strip-final-newline": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", - "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "dev": true, - "requires": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "ts-morph": { - "version": "25.0.1", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-25.0.1.tgz", - "integrity": "sha512-QJEiTdnz1YjrB3JFhd626gX4rKHDLSjSVMvGGG4v7ONc3RBwa0Eei98G9AT9uNFDMtV54JyuXsFeC+OH0n6bXQ==", - "dev": true, - "requires": { - "@ts-morph/common": "~0.26.0", - "code-block-writer": "^13.0.3" - } - }, - "typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "dev": true - }, - "typescript-api": { - "version": "file:_api", - "requires": { - "json-rpc-2.0": "^1.7.0", - "libsyncrpc": "file:../../libsyncrpc", - "ts-morph": "^25.0.1" - } - }, - "typescript-lsp": { - "version": "file:_extension", - "requires": { - "@types/vscode": "^1.96.0", - "vscode-languageclient": "^9.0.1" - } - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true - }, - "undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true - }, - "unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true - }, - "vscode-jsonrpc": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", - "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==" - }, - "vscode-languageclient": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz", - "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==", - "requires": { - "minimatch": "^5.1.0", - "semver": "^7.3.7", - "vscode-languageserver-protocol": "3.17.5" - }, - "dependencies": { - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "vscode-languageserver-protocol": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", - "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", - "requires": { - "vscode-jsonrpc": "8.2.0", - "vscode-languageserver-types": "3.17.5" - } - }, - "vscode-languageserver-types": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" - }, - "which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "requires": { - "isexe": "^3.1.1" - } - }, - "wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "requires": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - } - }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - } - } - }, - "wrap-ansi-cjs": { - "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "yoctocolors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", - "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", - "dev": true - } - } -} diff --git a/package.json b/package.json index 47902ac2af..f1d889652f 100644 --- a/package.json +++ b/package.json @@ -38,16 +38,14 @@ "build": "hereby build", "build:watch": "hereby build:watch", "test": "hereby test", - "extension:build": "npm run -w typescript-lsp build", - "extension:watch": "npm run -w typescript-lsp watch" + "api:build": "pnpm --filter ./_packages/api run build", + "extension:build": "pnpm --filter ./_extension build", + "extension:watch": "pnpm --filter ./_extension watch", + "node": "node --no-warnings --conditions @typescript/source" }, - "workspaces": [ - "./_api", - "./_extension" - ], - "packageManager": "npm@8.19.4", + "packageManager": "pnpm@9.15.5", "volta": { "node": "20.5.1", - "npm": "8.19.4" + "pnpm": "*" } -} +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000000..d617e2ffbf --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,843 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@types/node': + specifier: latest + version: 22.13.10 + '@types/which': + specifier: ^3.0.4 + version: 3.0.4 + chokidar: + specifier: ^4.0.3 + version: 4.0.3 + dprint: + specifier: ^0.47.6 + version: 0.47.6 + execa: + specifier: ^9.5.1 + version: 9.5.1 + glob: + specifier: ^10.4.5 + version: 10.4.5 + hereby: + specifier: ^1.10.0 + version: 1.10.0 + json-schema-to-typescript-lite: + specifier: ^14.1.0 + version: 14.1.0 + mitata: + specifier: ^1.0.34 + version: 1.0.34 + picocolors: + specifier: ^1.1.1 + version: 1.1.1 + typescript: + specifier: ^5.7.3 + version: 5.7.3 + which: + specifier: ^5.0.0 + version: 5.0.0 + + _extension: + dependencies: + vscode-languageclient: + specifier: ^9.0.1 + version: 9.0.1 + devDependencies: + '@types/vscode': + specifier: ^1.96.0 + version: 1.96.0 + + _packages/api: + dependencies: + '@typescript/ast': + specifier: workspace:* + version: link:../ast + json-rpc-2.0: + specifier: ^1.7.0 + version: 1.7.0 + libsyncrpc: + specifier: link:../../../libsyncrpc + version: link:../../../libsyncrpc + + _packages/ast: {} + +packages: + + '@apidevtools/json-schema-ref-parser@11.9.0': + resolution: {integrity: sha512-8Q/r5mXLa8Rfyh6r4SgEEFJgISVN5cDNFlcfSWLgFn3odzQhTfHAqzI3hMGdcROViL+8NrDNVVFQtEUrYOksDg==} + engines: {node: '>= 16'} + + '@dprint/darwin-arm64@0.47.6': + resolution: {integrity: sha512-DrtKVOH7Ue6QYsqsUfUwBlTkSZNF2j35xqyI6KimUT1ulgUPocLG53JC/Aej9KuSCPmt4M3J40xxPKRgIM4jPA==} + cpu: [arm64] + os: [darwin] + + '@dprint/darwin-x64@0.47.6': + resolution: {integrity: sha512-p16a4lMbAo4RngbNTAmtREnIRI/cOcZFy5wHPIzbCDnnHI+4UyHiAypTrpF8U8EYx1tw3hgih2MyAuupa9Gfag==} + cpu: [x64] + os: [darwin] + + '@dprint/linux-arm64-glibc@0.47.6': + resolution: {integrity: sha512-WHphnk0oXpNzwJ9cjbddOL+hEZkXTvHxcA2pM1h1kWCBa5m+4qh0fg8YCktckMfHx1qdQuZYWRoT4l7yQbzWYA==} + cpu: [arm64] + os: [linux] + + '@dprint/linux-arm64-musl@0.47.6': + resolution: {integrity: sha512-/2cSPudajg8J0U69ldNZkJx5QiKZNh+ohNVM9leWZ8v6GXN6sJDHX3T6hzS3ohIb03YOCiLOrJZDy9j3+fSgdQ==} + cpu: [arm64] + os: [linux] + + '@dprint/linux-riscv64-glibc@0.47.6': + resolution: {integrity: sha512-RMHJ3Zuzpls426upHlAveVwlGMi8oBLzhiCauyC/yWQl3CkGTAYdyhEpGnux0+RxacysfIL2bd8ourx4K0Sx3w==} + cpu: [riscv64] + os: [linux] + + '@dprint/linux-x64-glibc@0.47.6': + resolution: {integrity: sha512-4zbVsx/a8lHkRyAjfW0PNlN5IMwOJfFapgXNYJowWNO7X3j3m1jYJWovjmdZls+d6pDeOHoanMWtq95wd7zTeQ==} + cpu: [x64] + os: [linux] + + '@dprint/linux-x64-musl@0.47.6': + resolution: {integrity: sha512-0C13t4OVzomgQjvUyD5IrRyjLDhGuOtqMo00uJlwn3QHucfgOBqkjyQ5fq7T6+grBse0m14/EWblvSbYkZpyDw==} + cpu: [x64] + os: [linux] + + '@dprint/win32-arm64@0.47.6': + resolution: {integrity: sha512-UOkeFMBdGIuGNwfkrJdVM9eNiRMdbZRRGVy0Cdo2AXn/FCDVqZ74KJkvYVcoUE27GCytHi4Sp1s4at7659WCOw==} + cpu: [arm64] + os: [win32] + + '@dprint/win32-x64@0.47.6': + resolution: {integrity: sha512-i9xwXR8V8Jk/wU1gsYKx15eb0ypBRbRZFkHsnHfC0ZBimcfEOibGnGcfv+UCUcumXtnV46TnBqaJW7H70J1J+A==} + cpu: [x64] + os: [win32] + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/node@22.13.10': + resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==} + + '@types/vscode@1.96.0': + resolution: {integrity: sha512-qvZbSZo+K4ZYmmDuaodMbAa67Pl6VDQzLKFka6rq+3WUTY4Kro7Bwoi0CuZLO/wema0ygcmpwow7zZfPJTs5jg==} + + '@types/which@3.0.4': + resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-back@4.0.2: + resolution: {integrity: sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==} + engines: {node: '>=8'} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + command-line-usage@6.1.3: + resolution: {integrity: sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==} + engines: {node: '>=8.0.0'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + dprint@0.47.6: + resolution: {integrity: sha512-vCQC+IMHVZbISA5pxEj+yshQbozmQoVFA4lzcLlqJ8rzIAH8U+1DKvesN/2Uv3Bqz6rMW6W4WY7pYJQljmiZ8w==} + hasBin: true + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + execa@9.5.1: + resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==} + engines: {node: ^18.19.0 || >=20.5.0} + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + hereby@1.10.0: + resolution: {integrity: sha512-TyOJ58DFqzCi6PU4/7bDeb2kNIVCPLfJ+RLGdDZxAGIbPRLQ61nupPUtX9QudYHt+dnRpfIHAwclq7SlDc1cDw==} + engines: {node: '>= 12.20'} + hasBin: true + + human-signals@8.0.0: + resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + engines: {node: '>=18.18.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-rpc-2.0@1.7.0: + resolution: {integrity: sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==} + + json-schema-to-typescript-lite@14.1.0: + resolution: {integrity: sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mitata@1.0.34: + resolution: {integrity: sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA==} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parse-ms@3.0.0: + resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} + engines: {node: '>=12'} + + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + pretty-ms@8.0.0: + resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} + engines: {node: '>=14.16'} + + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} + + readdirp@4.1.1: + resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} + engines: {node: '>= 14.18.0'} + + reduce-flatten@2.0.0: + resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} + engines: {node: '>=6'} + + semver@7.7.0: + resolution: {integrity: sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + table-layout@1.0.2: + resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} + engines: {node: '>=8.0.0'} + + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true + + typical@5.2.0: + resolution: {integrity: sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==} + engines: {node: '>=8'} + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + vscode-jsonrpc@8.2.0: + resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + engines: {node: '>=14.0.0'} + + vscode-languageclient@9.0.1: + resolution: {integrity: sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==} + engines: {vscode: ^1.82.0} + + vscode-languageserver-protocol@3.17.5: + resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + + vscode-languageserver-types@3.17.5: + resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@5.0.0: + resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + + wordwrapjs@4.0.1: + resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} + engines: {node: '>=8.0.0'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + yoctocolors@2.1.1: + resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + engines: {node: '>=18'} + +snapshots: + + '@apidevtools/json-schema-ref-parser@11.9.0': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + + '@dprint/darwin-arm64@0.47.6': + optional: true + + '@dprint/darwin-x64@0.47.6': + optional: true + + '@dprint/linux-arm64-glibc@0.47.6': + optional: true + + '@dprint/linux-arm64-musl@0.47.6': + optional: true + + '@dprint/linux-riscv64-glibc@0.47.6': + optional: true + + '@dprint/linux-x64-glibc@0.47.6': + optional: true + + '@dprint/linux-x64-musl@0.47.6': + optional: true + + '@dprint/win32-arm64@0.47.6': + optional: true + + '@dprint/win32-x64@0.47.6': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jsdevtools/ono@7.1.3': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@sec-ant/readable-stream@0.4.1': {} + + '@sindresorhus/merge-streams@4.0.0': {} + + '@types/json-schema@7.0.15': {} + + '@types/node@22.13.10': + dependencies: + undici-types: 6.20.0 + + '@types/vscode@1.96.0': {} + + '@types/which@3.0.4': {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + argparse@2.0.1: {} + + array-back@4.0.2: {} + + balanced-match@1.0.2: {} + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.1 + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + command-line-usage@6.1.3: + dependencies: + array-back: 4.0.2 + chalk: 2.4.2 + table-layout: 1.0.2 + typical: 5.2.0 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + deep-extend@0.6.0: {} + + dprint@0.47.6: + optionalDependencies: + '@dprint/darwin-arm64': 0.47.6 + '@dprint/darwin-x64': 0.47.6 + '@dprint/linux-arm64-glibc': 0.47.6 + '@dprint/linux-arm64-musl': 0.47.6 + '@dprint/linux-riscv64-glibc': 0.47.6 + '@dprint/linux-x64-glibc': 0.47.6 + '@dprint/linux-x64-musl': 0.47.6 + '@dprint/win32-arm64': 0.47.6 + '@dprint/win32-x64': 0.47.6 + + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + escape-string-regexp@1.0.5: {} + + execa@9.5.1: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.2.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.1 + + fastest-levenshtein@1.0.16: {} + + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + has-flag@3.0.0: {} + + hereby@1.10.0: + dependencies: + command-line-usage: 6.1.3 + fastest-levenshtein: 1.0.16 + minimist: 1.2.8 + picocolors: 1.1.1 + pretty-ms: 8.0.0 + + human-signals@8.0.0: {} + + is-fullwidth-code-point@3.0.0: {} + + is-plain-obj@4.1.0: {} + + is-stream@4.0.1: {} + + is-unicode-supported@2.1.0: {} + + isexe@2.0.0: {} + + isexe@3.1.1: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + json-rpc-2.0@1.7.0: {} + + json-schema-to-typescript-lite@14.1.0: + dependencies: + '@apidevtools/json-schema-ref-parser': 11.9.0 + '@types/json-schema': 7.0.15 + + lru-cache@10.4.3: {} + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mitata@1.0.34: {} + + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + + package-json-from-dist@1.0.1: {} + + parse-ms@3.0.0: {} + + parse-ms@4.0.0: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + picocolors@1.1.1: {} + + pretty-ms@8.0.0: + dependencies: + parse-ms: 3.0.0 + + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 + + readdirp@4.1.1: {} + + reduce-flatten@2.0.0: {} + + semver@7.7.0: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@4.1.0: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-final-newline@4.0.0: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + table-layout@1.0.2: + dependencies: + array-back: 4.0.2 + deep-extend: 0.6.0 + typical: 5.2.0 + wordwrapjs: 4.0.1 + + typescript@5.7.3: {} + + typical@5.2.0: {} + + undici-types@6.20.0: {} + + unicorn-magic@0.3.0: {} + + vscode-jsonrpc@8.2.0: {} + + vscode-languageclient@9.0.1: + dependencies: + minimatch: 5.1.6 + semver: 7.7.0 + vscode-languageserver-protocol: 3.17.5 + + vscode-languageserver-protocol@3.17.5: + dependencies: + vscode-jsonrpc: 8.2.0 + vscode-languageserver-types: 3.17.5 + + vscode-languageserver-types@3.17.5: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + which@5.0.0: + dependencies: + isexe: 3.1.1 + + wordwrapjs@4.0.1: + dependencies: + reduce-flatten: 2.0.0 + typical: 5.2.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + yoctocolors@2.1.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000000..0192882609 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - '_extension' + - '_packages/*' \ No newline at end of file From f932949479914c22ffbdd45b74ab797aec77aade Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Fri, 14 Mar 2025 15:25:50 -0700 Subject: [PATCH 12/63] Split AST and API packages --- _api/package.json | 23 - _api/src/ast/decode.ts | 121 - _api/src/ast/syntaxKind.js | 406 - _api/src/base/symbolFlags.js | 91 - _api/src/bench.ts | 84 - _api/src/hosted.ts | 45 - _api/src/test.ts | 118 - _api/src/types.ts | 30 - _packages/api/.DS_Store | Bin 0 -> 6148 bytes _packages/api/package.json | 38 + _packages/api/src/.DS_Store | Bin 0 -> 6148 bytes {_api => _packages/api}/src/async/api.ts | 38 +- {_api => _packages/api}/src/async/client.ts | 22 +- {_api => _packages/api}/src/async/errors.ts | 0 {_api => _packages/api}/src/async/lsp.ts | 21 +- {_api => _packages/api}/src/base/api.ts | 27 +- _packages/api/src/base/fs.ts | 12 + .../ast => _packages/api/src/base}/node.ts | 145 +- _packages/api/src/base/proto.ts | 23 + .../api}/src/base/symbolFlags.enum.ts | 0 _packages/api/src/base/symbolFlags.ts | 71 + {_api => _packages/api}/src/sync/api.ts | 23 +- {_api => _packages/api}/src/sync/client.ts | 10 +- _packages/api/tsconfig.json | 20 + _packages/ast/package.json | 39 + _packages/ast/src/index.ts | 4 + .../nodeTests.ts => _packages/ast/src/is.ts | 16 +- .../ast/ast.ts => _packages/ast/src/nodes.ts | 162 +- .../ast/src}/syntaxKind.enum.ts | 0 _packages/ast/src/syntaxKind.ts | 355 + _packages/ast/src/tokenFlags.enum.ts | 26 + _packages/ast/src/tokenFlags.ts | 27 + _packages/ast/src/utils.ts | 9 + {_api => _packages/ast}/tsconfig.json | 1 + checker.ast | 290257 --------------- program.ast | 0 36 files changed, 837 insertions(+), 291427 deletions(-) delete mode 100644 _api/package.json delete mode 100644 _api/src/ast/decode.ts delete mode 100644 _api/src/ast/syntaxKind.js delete mode 100644 _api/src/base/symbolFlags.js delete mode 100644 _api/src/bench.ts delete mode 100644 _api/src/hosted.ts delete mode 100644 _api/src/test.ts delete mode 100644 _api/src/types.ts create mode 100644 _packages/api/.DS_Store create mode 100644 _packages/api/package.json create mode 100644 _packages/api/src/.DS_Store rename {_api => _packages/api}/src/async/api.ts (73%) rename {_api => _packages/api}/src/async/client.ts (78%) rename {_api => _packages/api}/src/async/errors.ts (100%) rename {_api => _packages/api}/src/async/lsp.ts (87%) rename {_api => _packages/api}/src/base/api.ts (76%) create mode 100644 _packages/api/src/base/fs.ts rename {_api/src/ast => _packages/api/src/base}/node.ts (71%) create mode 100644 _packages/api/src/base/proto.ts rename {_api => _packages/api}/src/base/symbolFlags.enum.ts (100%) create mode 100644 _packages/api/src/base/symbolFlags.ts rename {_api => _packages/api}/src/sync/api.ts (84%) rename {_api => _packages/api}/src/sync/client.ts (78%) create mode 100644 _packages/api/tsconfig.json create mode 100644 _packages/ast/package.json create mode 100644 _packages/ast/src/index.ts rename _api/src/ast/nodeTests.ts => _packages/ast/src/is.ts (98%) rename _api/src/ast/ast.ts => _packages/ast/src/nodes.ts (91%) rename {_api/src/ast => _packages/ast/src}/syntaxKind.enum.ts (100%) create mode 100644 _packages/ast/src/syntaxKind.ts create mode 100644 _packages/ast/src/tokenFlags.enum.ts create mode 100644 _packages/ast/src/tokenFlags.ts create mode 100644 _packages/ast/src/utils.ts rename {_api => _packages/ast}/tsconfig.json (94%) delete mode 100644 checker.ast delete mode 100644 program.ast diff --git a/_api/package.json b/_api/package.json deleted file mode 100644 index ad20718d83..0000000000 --- a/_api/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "private": true, - "name": "typescript-api", - "version": "1.0.0", - "type": "module", - "imports": { - "#ast/syntax": { - "types": "./src/ast/syntaxKind.enum.ts", - "default": "./src/ast/syntaxKind.js" - }, - "#symbolFlags": { - "types": "./src/base/symbolFlags.enum.ts", - "default": "./src/base/symbolFlags.js" - } - }, - "dependencies": { - "json-rpc-2.0": "^1.7.0", - "libsyncrpc": "file:../../libsyncrpc" - }, - "devDependencies": { - "ts-morph": "^25.0.1" - } -} \ No newline at end of file diff --git a/_api/src/ast/decode.ts b/_api/src/ast/decode.ts deleted file mode 100644 index 17f7fabd13..0000000000 --- a/_api/src/ast/decode.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { SyntaxKind } from "#ast/syntax"; - -export type NodeDataType = typeof NodeDataTypeChildren | typeof NodeDataTypeString | typeof NodeDataTypeExtended; -export const NodeDataTypeChildren = 0x00000000; -export const NodeDataTypeString = 0x40000000; -export const NodeDataTypeExtended = 0x80000000; - -export const NodeDataTypeMask = 0xc0_00_00_00; -export const NodeChildMask = 0x00_00_00_ff; -export const NodeStringIndexMask = 0x00_ff_ff_ff; - -export const childProperties: Readonly>> = { - [SyntaxKind.QualifiedName]: ["left", "right"], - [SyntaxKind.TypeParameter]: ["modifiers", "name", "constraint", "defaultType"], - [SyntaxKind.IfStatement]: ["expression", "thenStatement", "elseStatement"], - [SyntaxKind.DoStatement]: ["statement", "expression"], - [SyntaxKind.WhileStatement]: ["expression", "statement"], - [SyntaxKind.ForStatement]: ["initializer", "condition", "incrementor", "statement"], - [SyntaxKind.ForInStatement]: ["awaitModifier", "initializer", "expression", "statement"], - [SyntaxKind.ForOfStatement]: ["awaitModifier", "initializer", "expression", "statement"], - [SyntaxKind.WithStatement]: ["expression", "statement"], - [SyntaxKind.SwitchStatement]: ["expression", "caseBlock"], - [SyntaxKind.CaseClause]: ["expression", "statements"], - [SyntaxKind.DefaultClause]: ["expression", "statements"], - [SyntaxKind.TryStatement]: ["tryBlock", "catchClause", "finallyBlock"], - [SyntaxKind.CatchClause]: ["variableDeclaration", "block"], - [SyntaxKind.LabeledStatement]: ["label", "statement"], - [SyntaxKind.VariableStatement]: ["modifiers", "declarationList"], - [SyntaxKind.VariableDeclaration]: ["name", "exclamationToken", "type", "initializer"], - [SyntaxKind.Parameter]: ["modifiers", "dotDotDotToken", "name", "questionToken", "type", "initializer"], - [SyntaxKind.BindingElement]: ["dotDotDotToken", "propertyName", "name", "initializer"], - [SyntaxKind.FunctionDeclaration]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.InterfaceDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], - [SyntaxKind.TypeAliasDeclaration]: ["modifiers", "name", "typeParameters", "type"], - [SyntaxKind.EnumMember]: ["name", "initializer"], - [SyntaxKind.EnumDeclaration]: ["modifiers", "name", "members"], - [SyntaxKind.ModuleDeclaration]: ["modifiers", "name", "body"], - [SyntaxKind.ImportEqualsDeclaration]: ["modifiers", "name", "moduleReference"], - [SyntaxKind.ImportDeclaration]: ["modifiers", "importClause", "moduleSpecifier", "attributes"], - [SyntaxKind.ImportSpecifier]: ["propertyName", "name"], - [SyntaxKind.ImportClause]: ["name", "namedBindings"], - [SyntaxKind.ExportAssignment]: ["modifiers", "expression"], - [SyntaxKind.NamespaceExportDeclaration]: ["modifiers", "name"], - [SyntaxKind.ExportDeclaration]: ["modifiers", "exportClause", "moduleSpecifier", "attributes"], - [SyntaxKind.ExportSpecifier]: ["propertyName", "name"], - [SyntaxKind.CallSignature]: ["typeParameters", "parameters", "type"], - [SyntaxKind.ConstructSignature]: ["typeParameters", "parameters", "type"], - [SyntaxKind.Constructor]: ["modifiers", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.GetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.SetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.IndexSignature]: ["modifiers", "parameters", "type"], - [SyntaxKind.MethodSignature]: ["modifiers", "name", "postfixToken", "typeParameters", "parameters", "type"], - [SyntaxKind.MethodDeclaration]: ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.PropertySignature]: ["modifiers", "name", "postfixToken", "type", "initializer"], - [SyntaxKind.PropertyDeclaration]: ["modifiers", "name", "postfixToken", "type", "initializer"], - [SyntaxKind.BinaryExpression]: ["left", "operatorToken", "right"], - [SyntaxKind.YieldExpression]: ["asteriskToken", "expression"], - [SyntaxKind.ArrowFunction]: ["modifiers", "typeParameters", "parameters", "type", "equalsGreaterThanToken", "body"], - [SyntaxKind.FunctionExpression]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.AsExpression]: ["expression", "type"], - [SyntaxKind.SatisfiesExpression]: ["expression", "type"], - [SyntaxKind.ConditionalExpression]: ["condition", "questionToken", "whenTrue", "colonToken", "whenFalse"], - [SyntaxKind.PropertyAccessExpression]: ["expression", "questionDotToken", "name"], - [SyntaxKind.ElementAccessExpression]: ["expression", "questionDotToken", "argumentExpression"], - [SyntaxKind.CallExpression]: ["expression", "questionDotToken", "typeArguments", "arguments"], - [SyntaxKind.NewExpression]: ["expression", "typeArguments", "arguments"], - [SyntaxKind.TemplateExpression]: ["head", "templateSpans"], - [SyntaxKind.TemplateSpan]: ["expression", "literal"], - [SyntaxKind.TaggedTemplateExpression]: ["tag", "questionDotToken", "typeArguments", "template"], - [SyntaxKind.PropertyAssignment]: ["modifiers", "name", "postfixToken", "initializer"], - [SyntaxKind.ShorthandPropertyAssignment]: ["modifiers", "name", "postfixToken", "equalsToken", "objectAssignmentInitializer"], - [SyntaxKind.TypeAssertionExpression]: ["type", "expression"], - [SyntaxKind.ConditionalType]: ["checkType", "extendsType", "trueType", "falseType"], - [SyntaxKind.IndexedAccessType]: ["objectType", "indexType"], - [SyntaxKind.TypeReference]: ["typeName", "typeArguments"], - [SyntaxKind.ExpressionWithTypeArguments]: ["expression", "typeArguments"], - [SyntaxKind.TypePredicate]: ["assertsModifier", "parameterName", "type"], - [SyntaxKind.ImportType]: ["argument", "attributes", "qualifier", "typeArguments"], - [SyntaxKind.ImportAttribute]: ["name", "value"], - [SyntaxKind.TypeQuery]: ["exprName", "typeArguments"], - [SyntaxKind.MappedType]: ["readonlyToken", "typeParameter", "nameType", "questionToken", "type", "members"], - [SyntaxKind.NamedTupleMember]: ["dotDotDotToken", "name", "questionToken", "type"], - [SyntaxKind.FunctionType]: ["typeParameters", "parameters", "type"], - [SyntaxKind.ConstructorType]: ["modifiers", "typeParameters", "parameters", "type"], - [SyntaxKind.TemplateLiteralType]: ["head", "templateSpans"], - [SyntaxKind.TemplateLiteralTypeSpan]: ["type", "literal"], - [SyntaxKind.JsxElement]: ["openingElement", "children", "closingElement"], - [SyntaxKind.JsxNamespacedName]: ["name", "namespace"], - [SyntaxKind.JsxOpeningElement]: ["tagName", "typeArguments", "attributes"], - [SyntaxKind.JsxSelfClosingElement]: ["tagName", "typeArguments", "attributes"], - [SyntaxKind.JsxFragment]: ["openingFragment", "children", "closingFragment"], - [SyntaxKind.JsxAttribute]: ["name", "initializer"], - [SyntaxKind.JsxExpression]: ["dotDotDotToken", "expression"], - [SyntaxKind.JSDoc]: ["comment", "tags"], - [SyntaxKind.JSDocTypeTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocTag]: ["tagName", "comment"], - [SyntaxKind.JSDocTemplateTag]: ["tagName", "constraint", "typeParameters", "comment"], - [SyntaxKind.JSDocReturnTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocPublicTag]: ["tagName", "comment"], - [SyntaxKind.JSDocPrivateTag]: ["tagName", "comment"], - [SyntaxKind.JSDocProtectedTag]: ["tagName", "comment"], - [SyntaxKind.JSDocReadonlyTag]: ["tagName", "comment"], - [SyntaxKind.JSDocOverrideTag]: ["tagName", "comment"], - [SyntaxKind.JSDocDeprecatedTag]: ["tagName", "comment"], - [SyntaxKind.JSDocSeeTag]: ["tagName", "nameExpression", "comment"], - [SyntaxKind.JSDocImplementsTag]: ["tagName", "className", "comment"], - [SyntaxKind.JSDocAugmentsTag]: ["tagName", "className", "comment"], - [SyntaxKind.JSDocSatisfiesTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocThisTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocImportTag]: ["tagName", "importClause", "moduleSpecifier", "attributes", "comment"], - [SyntaxKind.JSDocCallbackTag]: ["tagName", "typeExpression", "fullName", "comment"], - [SyntaxKind.JSDocOverloadTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocTypedefTag]: ["tagName", "typeExpression", "fullName", "comment"], - [SyntaxKind.JSDocSignature]: ["typeParameters", "parameters", "type"], - [SyntaxKind.ClassStaticBlockDeclaration]: ["modifiers", "body"], - [SyntaxKind.ClassDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], - - // Later properties are in variable order, needs special handling - [SyntaxKind.JSDocPropertyTag]: [undefined!, undefined!], - [SyntaxKind.JSDocParameterTag]: ["tagName", undefined!, undefined!, "comment"], -}; diff --git a/_api/src/ast/syntaxKind.js b/_api/src/ast/syntaxKind.js deleted file mode 100644 index f669258b93..0000000000 --- a/_api/src/ast/syntaxKind.js +++ /dev/null @@ -1,406 +0,0 @@ -export var SyntaxKind; -(function (SyntaxKind) { - SyntaxKind[(SyntaxKind["Unknown"] = 0)] = "Unknown"; - SyntaxKind[(SyntaxKind["EndOfFile"] = 1)] = "EndOfFile"; - SyntaxKind[(SyntaxKind["SingleLineCommentTrivia"] = 2)] = - "SingleLineCommentTrivia"; - SyntaxKind[(SyntaxKind["MultiLineCommentTrivia"] = 3)] = - "MultiLineCommentTrivia"; - SyntaxKind[(SyntaxKind["NewLineTrivia"] = 4)] = "NewLineTrivia"; - SyntaxKind[(SyntaxKind["WhitespaceTrivia"] = 5)] = "WhitespaceTrivia"; - SyntaxKind[(SyntaxKind["ConflictMarkerTrivia"] = 6)] = "ConflictMarkerTrivia"; - SyntaxKind[(SyntaxKind["NonTextFileMarkerTrivia"] = 7)] = - "NonTextFileMarkerTrivia"; - SyntaxKind[(SyntaxKind["NumericLiteral"] = 8)] = "NumericLiteral"; - SyntaxKind[(SyntaxKind["BigIntLiteral"] = 9)] = "BigIntLiteral"; - SyntaxKind[(SyntaxKind["StringLiteral"] = 10)] = "StringLiteral"; - SyntaxKind[(SyntaxKind["JsxText"] = 11)] = "JsxText"; - SyntaxKind[(SyntaxKind["JsxTextAllWhiteSpaces"] = 12)] = - "JsxTextAllWhiteSpaces"; - SyntaxKind[(SyntaxKind["RegularExpressionLiteral"] = 13)] = - "RegularExpressionLiteral"; - SyntaxKind[(SyntaxKind["NoSubstitutionTemplateLiteral"] = 14)] = - "NoSubstitutionTemplateLiteral"; - SyntaxKind[(SyntaxKind["TemplateHead"] = 15)] = "TemplateHead"; - SyntaxKind[(SyntaxKind["TemplateMiddle"] = 16)] = "TemplateMiddle"; - SyntaxKind[(SyntaxKind["TemplateTail"] = 17)] = "TemplateTail"; - SyntaxKind[(SyntaxKind["OpenBraceToken"] = 18)] = "OpenBraceToken"; - SyntaxKind[(SyntaxKind["CloseBraceToken"] = 19)] = "CloseBraceToken"; - SyntaxKind[(SyntaxKind["OpenParenToken"] = 20)] = "OpenParenToken"; - SyntaxKind[(SyntaxKind["CloseParenToken"] = 21)] = "CloseParenToken"; - SyntaxKind[(SyntaxKind["OpenBracketToken"] = 22)] = "OpenBracketToken"; - SyntaxKind[(SyntaxKind["CloseBracketToken"] = 23)] = "CloseBracketToken"; - SyntaxKind[(SyntaxKind["DotToken"] = 24)] = "DotToken"; - SyntaxKind[(SyntaxKind["DotDotDotToken"] = 25)] = "DotDotDotToken"; - SyntaxKind[(SyntaxKind["SemicolonToken"] = 26)] = "SemicolonToken"; - SyntaxKind[(SyntaxKind["CommaToken"] = 27)] = "CommaToken"; - SyntaxKind[(SyntaxKind["QuestionDotToken"] = 28)] = "QuestionDotToken"; - SyntaxKind[(SyntaxKind["LessThanToken"] = 29)] = "LessThanToken"; - SyntaxKind[(SyntaxKind["LessThanSlashToken"] = 30)] = "LessThanSlashToken"; - SyntaxKind[(SyntaxKind["GreaterThanToken"] = 31)] = "GreaterThanToken"; - SyntaxKind[(SyntaxKind["LessThanEqualsToken"] = 32)] = "LessThanEqualsToken"; - SyntaxKind[(SyntaxKind["GreaterThanEqualsToken"] = 33)] = - "GreaterThanEqualsToken"; - SyntaxKind[(SyntaxKind["EqualsEqualsToken"] = 34)] = "EqualsEqualsToken"; - SyntaxKind[(SyntaxKind["ExclamationEqualsToken"] = 35)] = - "ExclamationEqualsToken"; - SyntaxKind[(SyntaxKind["EqualsEqualsEqualsToken"] = 36)] = - "EqualsEqualsEqualsToken"; - SyntaxKind[(SyntaxKind["ExclamationEqualsEqualsToken"] = 37)] = - "ExclamationEqualsEqualsToken"; - SyntaxKind[(SyntaxKind["EqualsGreaterThanToken"] = 38)] = - "EqualsGreaterThanToken"; - SyntaxKind[(SyntaxKind["PlusToken"] = 39)] = "PlusToken"; - SyntaxKind[(SyntaxKind["MinusToken"] = 40)] = "MinusToken"; - SyntaxKind[(SyntaxKind["AsteriskToken"] = 41)] = "AsteriskToken"; - SyntaxKind[(SyntaxKind["AsteriskAsteriskToken"] = 42)] = - "AsteriskAsteriskToken"; - SyntaxKind[(SyntaxKind["SlashToken"] = 43)] = "SlashToken"; - SyntaxKind[(SyntaxKind["PercentToken"] = 44)] = "PercentToken"; - SyntaxKind[(SyntaxKind["PlusPlusToken"] = 45)] = "PlusPlusToken"; - SyntaxKind[(SyntaxKind["MinusMinusToken"] = 46)] = "MinusMinusToken"; - SyntaxKind[(SyntaxKind["LessThanLessThanToken"] = 47)] = - "LessThanLessThanToken"; - SyntaxKind[(SyntaxKind["GreaterThanGreaterThanToken"] = 48)] = - "GreaterThanGreaterThanToken"; - SyntaxKind[(SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 49)] = - "GreaterThanGreaterThanGreaterThanToken"; - SyntaxKind[(SyntaxKind["AmpersandToken"] = 50)] = "AmpersandToken"; - SyntaxKind[(SyntaxKind["BarToken"] = 51)] = "BarToken"; - SyntaxKind[(SyntaxKind["CaretToken"] = 52)] = "CaretToken"; - SyntaxKind[(SyntaxKind["ExclamationToken"] = 53)] = "ExclamationToken"; - SyntaxKind[(SyntaxKind["TildeToken"] = 54)] = "TildeToken"; - SyntaxKind[(SyntaxKind["AmpersandAmpersandToken"] = 55)] = - "AmpersandAmpersandToken"; - SyntaxKind[(SyntaxKind["BarBarToken"] = 56)] = "BarBarToken"; - SyntaxKind[(SyntaxKind["QuestionToken"] = 57)] = "QuestionToken"; - SyntaxKind[(SyntaxKind["ColonToken"] = 58)] = "ColonToken"; - SyntaxKind[(SyntaxKind["AtToken"] = 59)] = "AtToken"; - SyntaxKind[(SyntaxKind["QuestionQuestionToken"] = 60)] = - "QuestionQuestionToken"; - SyntaxKind[(SyntaxKind["BacktickToken"] = 61)] = "BacktickToken"; - SyntaxKind[(SyntaxKind["HashToken"] = 62)] = "HashToken"; - SyntaxKind[(SyntaxKind["EqualsToken"] = 63)] = "EqualsToken"; - SyntaxKind[(SyntaxKind["PlusEqualsToken"] = 64)] = "PlusEqualsToken"; - SyntaxKind[(SyntaxKind["MinusEqualsToken"] = 65)] = "MinusEqualsToken"; - SyntaxKind[(SyntaxKind["AsteriskEqualsToken"] = 66)] = "AsteriskEqualsToken"; - SyntaxKind[(SyntaxKind["AsteriskAsteriskEqualsToken"] = 67)] = - "AsteriskAsteriskEqualsToken"; - SyntaxKind[(SyntaxKind["SlashEqualsToken"] = 68)] = "SlashEqualsToken"; - SyntaxKind[(SyntaxKind["PercentEqualsToken"] = 69)] = "PercentEqualsToken"; - SyntaxKind[(SyntaxKind["LessThanLessThanEqualsToken"] = 70)] = - "LessThanLessThanEqualsToken"; - SyntaxKind[(SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 71)] = - "GreaterThanGreaterThanEqualsToken"; - SyntaxKind[ - (SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 72) - ] = "GreaterThanGreaterThanGreaterThanEqualsToken"; - SyntaxKind[(SyntaxKind["AmpersandEqualsToken"] = 73)] = - "AmpersandEqualsToken"; - SyntaxKind[(SyntaxKind["BarEqualsToken"] = 74)] = "BarEqualsToken"; - SyntaxKind[(SyntaxKind["BarBarEqualsToken"] = 75)] = "BarBarEqualsToken"; - SyntaxKind[(SyntaxKind["AmpersandAmpersandEqualsToken"] = 76)] = - "AmpersandAmpersandEqualsToken"; - SyntaxKind[(SyntaxKind["QuestionQuestionEqualsToken"] = 77)] = - "QuestionQuestionEqualsToken"; - SyntaxKind[(SyntaxKind["CaretEqualsToken"] = 78)] = "CaretEqualsToken"; - SyntaxKind[(SyntaxKind["Identifier"] = 79)] = "Identifier"; - SyntaxKind[(SyntaxKind["PrivateIdentifier"] = 80)] = "PrivateIdentifier"; - SyntaxKind[(SyntaxKind["JSDocCommentTextToken"] = 81)] = - "JSDocCommentTextToken"; - SyntaxKind[(SyntaxKind["BreakKeyword"] = 82)] = "BreakKeyword"; - SyntaxKind[(SyntaxKind["CaseKeyword"] = 83)] = "CaseKeyword"; - SyntaxKind[(SyntaxKind["CatchKeyword"] = 84)] = "CatchKeyword"; - SyntaxKind[(SyntaxKind["ClassKeyword"] = 85)] = "ClassKeyword"; - SyntaxKind[(SyntaxKind["ConstKeyword"] = 86)] = "ConstKeyword"; - SyntaxKind[(SyntaxKind["ContinueKeyword"] = 87)] = "ContinueKeyword"; - SyntaxKind[(SyntaxKind["DebuggerKeyword"] = 88)] = "DebuggerKeyword"; - SyntaxKind[(SyntaxKind["DefaultKeyword"] = 89)] = "DefaultKeyword"; - SyntaxKind[(SyntaxKind["DeleteKeyword"] = 90)] = "DeleteKeyword"; - SyntaxKind[(SyntaxKind["DoKeyword"] = 91)] = "DoKeyword"; - SyntaxKind[(SyntaxKind["ElseKeyword"] = 92)] = "ElseKeyword"; - SyntaxKind[(SyntaxKind["EnumKeyword"] = 93)] = "EnumKeyword"; - SyntaxKind[(SyntaxKind["ExportKeyword"] = 94)] = "ExportKeyword"; - SyntaxKind[(SyntaxKind["ExtendsKeyword"] = 95)] = "ExtendsKeyword"; - SyntaxKind[(SyntaxKind["FalseKeyword"] = 96)] = "FalseKeyword"; - SyntaxKind[(SyntaxKind["FinallyKeyword"] = 97)] = "FinallyKeyword"; - SyntaxKind[(SyntaxKind["ForKeyword"] = 98)] = "ForKeyword"; - SyntaxKind[(SyntaxKind["FunctionKeyword"] = 99)] = "FunctionKeyword"; - SyntaxKind[(SyntaxKind["IfKeyword"] = 100)] = "IfKeyword"; - SyntaxKind[(SyntaxKind["ImportKeyword"] = 101)] = "ImportKeyword"; - SyntaxKind[(SyntaxKind["InKeyword"] = 102)] = "InKeyword"; - SyntaxKind[(SyntaxKind["InstanceOfKeyword"] = 103)] = "InstanceOfKeyword"; - SyntaxKind[(SyntaxKind["NewKeyword"] = 104)] = "NewKeyword"; - SyntaxKind[(SyntaxKind["NullKeyword"] = 105)] = "NullKeyword"; - SyntaxKind[(SyntaxKind["ReturnKeyword"] = 106)] = "ReturnKeyword"; - SyntaxKind[(SyntaxKind["SuperKeyword"] = 107)] = "SuperKeyword"; - SyntaxKind[(SyntaxKind["SwitchKeyword"] = 108)] = "SwitchKeyword"; - SyntaxKind[(SyntaxKind["ThisKeyword"] = 109)] = "ThisKeyword"; - SyntaxKind[(SyntaxKind["ThrowKeyword"] = 110)] = "ThrowKeyword"; - SyntaxKind[(SyntaxKind["TrueKeyword"] = 111)] = "TrueKeyword"; - SyntaxKind[(SyntaxKind["TryKeyword"] = 112)] = "TryKeyword"; - SyntaxKind[(SyntaxKind["TypeOfKeyword"] = 113)] = "TypeOfKeyword"; - SyntaxKind[(SyntaxKind["VarKeyword"] = 114)] = "VarKeyword"; - SyntaxKind[(SyntaxKind["VoidKeyword"] = 115)] = "VoidKeyword"; - SyntaxKind[(SyntaxKind["WhileKeyword"] = 116)] = "WhileKeyword"; - SyntaxKind[(SyntaxKind["WithKeyword"] = 117)] = "WithKeyword"; - SyntaxKind[(SyntaxKind["ImplementsKeyword"] = 118)] = "ImplementsKeyword"; - SyntaxKind[(SyntaxKind["InterfaceKeyword"] = 119)] = "InterfaceKeyword"; - SyntaxKind[(SyntaxKind["LetKeyword"] = 120)] = "LetKeyword"; - SyntaxKind[(SyntaxKind["PackageKeyword"] = 121)] = "PackageKeyword"; - SyntaxKind[(SyntaxKind["PrivateKeyword"] = 122)] = "PrivateKeyword"; - SyntaxKind[(SyntaxKind["ProtectedKeyword"] = 123)] = "ProtectedKeyword"; - SyntaxKind[(SyntaxKind["PublicKeyword"] = 124)] = "PublicKeyword"; - SyntaxKind[(SyntaxKind["StaticKeyword"] = 125)] = "StaticKeyword"; - SyntaxKind[(SyntaxKind["YieldKeyword"] = 126)] = "YieldKeyword"; - SyntaxKind[(SyntaxKind["AbstractKeyword"] = 127)] = "AbstractKeyword"; - SyntaxKind[(SyntaxKind["AccessorKeyword"] = 128)] = "AccessorKeyword"; - SyntaxKind[(SyntaxKind["AsKeyword"] = 129)] = "AsKeyword"; - SyntaxKind[(SyntaxKind["AssertsKeyword"] = 130)] = "AssertsKeyword"; - SyntaxKind[(SyntaxKind["AssertKeyword"] = 131)] = "AssertKeyword"; - SyntaxKind[(SyntaxKind["AnyKeyword"] = 132)] = "AnyKeyword"; - SyntaxKind[(SyntaxKind["AsyncKeyword"] = 133)] = "AsyncKeyword"; - SyntaxKind[(SyntaxKind["AwaitKeyword"] = 134)] = "AwaitKeyword"; - SyntaxKind[(SyntaxKind["BooleanKeyword"] = 135)] = "BooleanKeyword"; - SyntaxKind[(SyntaxKind["ConstructorKeyword"] = 136)] = "ConstructorKeyword"; - SyntaxKind[(SyntaxKind["DeclareKeyword"] = 137)] = "DeclareKeyword"; - SyntaxKind[(SyntaxKind["GetKeyword"] = 138)] = "GetKeyword"; - SyntaxKind[(SyntaxKind["ImmediateKeyword"] = 139)] = "ImmediateKeyword"; - SyntaxKind[(SyntaxKind["InferKeyword"] = 140)] = "InferKeyword"; - SyntaxKind[(SyntaxKind["IntrinsicKeyword"] = 141)] = "IntrinsicKeyword"; - SyntaxKind[(SyntaxKind["IsKeyword"] = 142)] = "IsKeyword"; - SyntaxKind[(SyntaxKind["KeyOfKeyword"] = 143)] = "KeyOfKeyword"; - SyntaxKind[(SyntaxKind["ModuleKeyword"] = 144)] = "ModuleKeyword"; - SyntaxKind[(SyntaxKind["NamespaceKeyword"] = 145)] = "NamespaceKeyword"; - SyntaxKind[(SyntaxKind["NeverKeyword"] = 146)] = "NeverKeyword"; - SyntaxKind[(SyntaxKind["OutKeyword"] = 147)] = "OutKeyword"; - SyntaxKind[(SyntaxKind["ReadonlyKeyword"] = 148)] = "ReadonlyKeyword"; - SyntaxKind[(SyntaxKind["RequireKeyword"] = 149)] = "RequireKeyword"; - SyntaxKind[(SyntaxKind["NumberKeyword"] = 150)] = "NumberKeyword"; - SyntaxKind[(SyntaxKind["ObjectKeyword"] = 151)] = "ObjectKeyword"; - SyntaxKind[(SyntaxKind["SatisfiesKeyword"] = 152)] = "SatisfiesKeyword"; - SyntaxKind[(SyntaxKind["SetKeyword"] = 153)] = "SetKeyword"; - SyntaxKind[(SyntaxKind["StringKeyword"] = 154)] = "StringKeyword"; - SyntaxKind[(SyntaxKind["SymbolKeyword"] = 155)] = "SymbolKeyword"; - SyntaxKind[(SyntaxKind["TypeKeyword"] = 156)] = "TypeKeyword"; - SyntaxKind[(SyntaxKind["UndefinedKeyword"] = 157)] = "UndefinedKeyword"; - SyntaxKind[(SyntaxKind["UniqueKeyword"] = 158)] = "UniqueKeyword"; - SyntaxKind[(SyntaxKind["UnknownKeyword"] = 159)] = "UnknownKeyword"; - SyntaxKind[(SyntaxKind["UsingKeyword"] = 160)] = "UsingKeyword"; - SyntaxKind[(SyntaxKind["FromKeyword"] = 161)] = "FromKeyword"; - SyntaxKind[(SyntaxKind["GlobalKeyword"] = 162)] = "GlobalKeyword"; - SyntaxKind[(SyntaxKind["BigIntKeyword"] = 163)] = "BigIntKeyword"; - SyntaxKind[(SyntaxKind["OverrideKeyword"] = 164)] = "OverrideKeyword"; - SyntaxKind[(SyntaxKind["OfKeyword"] = 165)] = "OfKeyword"; - SyntaxKind[(SyntaxKind["QualifiedName"] = 166)] = "QualifiedName"; - SyntaxKind[(SyntaxKind["ComputedPropertyName"] = 167)] = - "ComputedPropertyName"; - SyntaxKind[(SyntaxKind["TypeParameter"] = 168)] = "TypeParameter"; - SyntaxKind[(SyntaxKind["Parameter"] = 169)] = "Parameter"; - SyntaxKind[(SyntaxKind["Decorator"] = 170)] = "Decorator"; - SyntaxKind[(SyntaxKind["PropertySignature"] = 171)] = "PropertySignature"; - SyntaxKind[(SyntaxKind["PropertyDeclaration"] = 172)] = "PropertyDeclaration"; - SyntaxKind[(SyntaxKind["MethodSignature"] = 173)] = "MethodSignature"; - SyntaxKind[(SyntaxKind["MethodDeclaration"] = 174)] = "MethodDeclaration"; - SyntaxKind[(SyntaxKind["ClassStaticBlockDeclaration"] = 175)] = - "ClassStaticBlockDeclaration"; - SyntaxKind[(SyntaxKind["Constructor"] = 176)] = "Constructor"; - SyntaxKind[(SyntaxKind["GetAccessor"] = 177)] = "GetAccessor"; - SyntaxKind[(SyntaxKind["SetAccessor"] = 178)] = "SetAccessor"; - SyntaxKind[(SyntaxKind["CallSignature"] = 179)] = "CallSignature"; - SyntaxKind[(SyntaxKind["ConstructSignature"] = 180)] = "ConstructSignature"; - SyntaxKind[(SyntaxKind["IndexSignature"] = 181)] = "IndexSignature"; - SyntaxKind[(SyntaxKind["TypePredicate"] = 182)] = "TypePredicate"; - SyntaxKind[(SyntaxKind["TypeReference"] = 183)] = "TypeReference"; - SyntaxKind[(SyntaxKind["FunctionType"] = 184)] = "FunctionType"; - SyntaxKind[(SyntaxKind["ConstructorType"] = 185)] = "ConstructorType"; - SyntaxKind[(SyntaxKind["TypeQuery"] = 186)] = "TypeQuery"; - SyntaxKind[(SyntaxKind["TypeLiteral"] = 187)] = "TypeLiteral"; - SyntaxKind[(SyntaxKind["ArrayType"] = 188)] = "ArrayType"; - SyntaxKind[(SyntaxKind["TupleType"] = 189)] = "TupleType"; - SyntaxKind[(SyntaxKind["OptionalType"] = 190)] = "OptionalType"; - SyntaxKind[(SyntaxKind["RestType"] = 191)] = "RestType"; - SyntaxKind[(SyntaxKind["UnionType"] = 192)] = "UnionType"; - SyntaxKind[(SyntaxKind["IntersectionType"] = 193)] = "IntersectionType"; - SyntaxKind[(SyntaxKind["ConditionalType"] = 194)] = "ConditionalType"; - SyntaxKind[(SyntaxKind["InferType"] = 195)] = "InferType"; - SyntaxKind[(SyntaxKind["ParenthesizedType"] = 196)] = "ParenthesizedType"; - SyntaxKind[(SyntaxKind["ThisType"] = 197)] = "ThisType"; - SyntaxKind[(SyntaxKind["TypeOperator"] = 198)] = "TypeOperator"; - SyntaxKind[(SyntaxKind["IndexedAccessType"] = 199)] = "IndexedAccessType"; - SyntaxKind[(SyntaxKind["MappedType"] = 200)] = "MappedType"; - SyntaxKind[(SyntaxKind["LiteralType"] = 201)] = "LiteralType"; - SyntaxKind[(SyntaxKind["NamedTupleMember"] = 202)] = "NamedTupleMember"; - SyntaxKind[(SyntaxKind["TemplateLiteralType"] = 203)] = "TemplateLiteralType"; - SyntaxKind[(SyntaxKind["TemplateLiteralTypeSpan"] = 204)] = - "TemplateLiteralTypeSpan"; - SyntaxKind[(SyntaxKind["ImportType"] = 205)] = "ImportType"; - SyntaxKind[(SyntaxKind["ObjectBindingPattern"] = 206)] = - "ObjectBindingPattern"; - SyntaxKind[(SyntaxKind["ArrayBindingPattern"] = 207)] = "ArrayBindingPattern"; - SyntaxKind[(SyntaxKind["BindingElement"] = 208)] = "BindingElement"; - SyntaxKind[(SyntaxKind["ArrayLiteralExpression"] = 209)] = - "ArrayLiteralExpression"; - SyntaxKind[(SyntaxKind["ObjectLiteralExpression"] = 210)] = - "ObjectLiteralExpression"; - SyntaxKind[(SyntaxKind["PropertyAccessExpression"] = 211)] = - "PropertyAccessExpression"; - SyntaxKind[(SyntaxKind["ElementAccessExpression"] = 212)] = - "ElementAccessExpression"; - SyntaxKind[(SyntaxKind["CallExpression"] = 213)] = "CallExpression"; - SyntaxKind[(SyntaxKind["NewExpression"] = 214)] = "NewExpression"; - SyntaxKind[(SyntaxKind["TaggedTemplateExpression"] = 215)] = - "TaggedTemplateExpression"; - SyntaxKind[(SyntaxKind["TypeAssertionExpression"] = 216)] = - "TypeAssertionExpression"; - SyntaxKind[(SyntaxKind["ParenthesizedExpression"] = 217)] = - "ParenthesizedExpression"; - SyntaxKind[(SyntaxKind["FunctionExpression"] = 218)] = "FunctionExpression"; - SyntaxKind[(SyntaxKind["ArrowFunction"] = 219)] = "ArrowFunction"; - SyntaxKind[(SyntaxKind["DeleteExpression"] = 220)] = "DeleteExpression"; - SyntaxKind[(SyntaxKind["TypeOfExpression"] = 221)] = "TypeOfExpression"; - SyntaxKind[(SyntaxKind["VoidExpression"] = 222)] = "VoidExpression"; - SyntaxKind[(SyntaxKind["AwaitExpression"] = 223)] = "AwaitExpression"; - SyntaxKind[(SyntaxKind["PrefixUnaryExpression"] = 224)] = - "PrefixUnaryExpression"; - SyntaxKind[(SyntaxKind["PostfixUnaryExpression"] = 225)] = - "PostfixUnaryExpression"; - SyntaxKind[(SyntaxKind["BinaryExpression"] = 226)] = "BinaryExpression"; - SyntaxKind[(SyntaxKind["ConditionalExpression"] = 227)] = - "ConditionalExpression"; - SyntaxKind[(SyntaxKind["TemplateExpression"] = 228)] = "TemplateExpression"; - SyntaxKind[(SyntaxKind["YieldExpression"] = 229)] = "YieldExpression"; - SyntaxKind[(SyntaxKind["SpreadElement"] = 230)] = "SpreadElement"; - SyntaxKind[(SyntaxKind["ClassExpression"] = 231)] = "ClassExpression"; - SyntaxKind[(SyntaxKind["OmittedExpression"] = 232)] = "OmittedExpression"; - SyntaxKind[(SyntaxKind["ExpressionWithTypeArguments"] = 233)] = - "ExpressionWithTypeArguments"; - SyntaxKind[(SyntaxKind["AsExpression"] = 234)] = "AsExpression"; - SyntaxKind[(SyntaxKind["NonNullExpression"] = 235)] = "NonNullExpression"; - SyntaxKind[(SyntaxKind["MetaProperty"] = 236)] = "MetaProperty"; - SyntaxKind[(SyntaxKind["SyntheticExpression"] = 237)] = "SyntheticExpression"; - SyntaxKind[(SyntaxKind["SatisfiesExpression"] = 238)] = "SatisfiesExpression"; - SyntaxKind[(SyntaxKind["TemplateSpan"] = 239)] = "TemplateSpan"; - SyntaxKind[(SyntaxKind["SemicolonClassElement"] = 240)] = - "SemicolonClassElement"; - SyntaxKind[(SyntaxKind["Block"] = 241)] = "Block"; - SyntaxKind[(SyntaxKind["EmptyStatement"] = 242)] = "EmptyStatement"; - SyntaxKind[(SyntaxKind["VariableStatement"] = 243)] = "VariableStatement"; - SyntaxKind[(SyntaxKind["ExpressionStatement"] = 244)] = "ExpressionStatement"; - SyntaxKind[(SyntaxKind["IfStatement"] = 245)] = "IfStatement"; - SyntaxKind[(SyntaxKind["DoStatement"] = 246)] = "DoStatement"; - SyntaxKind[(SyntaxKind["WhileStatement"] = 247)] = "WhileStatement"; - SyntaxKind[(SyntaxKind["ForStatement"] = 248)] = "ForStatement"; - SyntaxKind[(SyntaxKind["ForInStatement"] = 249)] = "ForInStatement"; - SyntaxKind[(SyntaxKind["ForOfStatement"] = 250)] = "ForOfStatement"; - SyntaxKind[(SyntaxKind["ContinueStatement"] = 251)] = "ContinueStatement"; - SyntaxKind[(SyntaxKind["BreakStatement"] = 252)] = "BreakStatement"; - SyntaxKind[(SyntaxKind["ReturnStatement"] = 253)] = "ReturnStatement"; - SyntaxKind[(SyntaxKind["WithStatement"] = 254)] = "WithStatement"; - SyntaxKind[(SyntaxKind["SwitchStatement"] = 255)] = "SwitchStatement"; - SyntaxKind[(SyntaxKind["LabeledStatement"] = 256)] = "LabeledStatement"; - SyntaxKind[(SyntaxKind["ThrowStatement"] = 257)] = "ThrowStatement"; - SyntaxKind[(SyntaxKind["TryStatement"] = 258)] = "TryStatement"; - SyntaxKind[(SyntaxKind["DebuggerStatement"] = 259)] = "DebuggerStatement"; - SyntaxKind[(SyntaxKind["VariableDeclaration"] = 260)] = "VariableDeclaration"; - SyntaxKind[(SyntaxKind["VariableDeclarationList"] = 261)] = - "VariableDeclarationList"; - SyntaxKind[(SyntaxKind["FunctionDeclaration"] = 262)] = "FunctionDeclaration"; - SyntaxKind[(SyntaxKind["ClassDeclaration"] = 263)] = "ClassDeclaration"; - SyntaxKind[(SyntaxKind["InterfaceDeclaration"] = 264)] = - "InterfaceDeclaration"; - SyntaxKind[(SyntaxKind["TypeAliasDeclaration"] = 265)] = - "TypeAliasDeclaration"; - SyntaxKind[(SyntaxKind["EnumDeclaration"] = 266)] = "EnumDeclaration"; - SyntaxKind[(SyntaxKind["ModuleDeclaration"] = 267)] = "ModuleDeclaration"; - SyntaxKind[(SyntaxKind["ModuleBlock"] = 268)] = "ModuleBlock"; - SyntaxKind[(SyntaxKind["CaseBlock"] = 269)] = "CaseBlock"; - SyntaxKind[(SyntaxKind["NamespaceExportDeclaration"] = 270)] = - "NamespaceExportDeclaration"; - SyntaxKind[(SyntaxKind["ImportEqualsDeclaration"] = 271)] = - "ImportEqualsDeclaration"; - SyntaxKind[(SyntaxKind["ImportDeclaration"] = 272)] = "ImportDeclaration"; - SyntaxKind[(SyntaxKind["ImportClause"] = 273)] = "ImportClause"; - SyntaxKind[(SyntaxKind["NamespaceImport"] = 274)] = "NamespaceImport"; - SyntaxKind[(SyntaxKind["NamedImports"] = 275)] = "NamedImports"; - SyntaxKind[(SyntaxKind["ImportSpecifier"] = 276)] = "ImportSpecifier"; - SyntaxKind[(SyntaxKind["ExportAssignment"] = 277)] = "ExportAssignment"; - SyntaxKind[(SyntaxKind["ExportDeclaration"] = 278)] = "ExportDeclaration"; - SyntaxKind[(SyntaxKind["NamedExports"] = 279)] = "NamedExports"; - SyntaxKind[(SyntaxKind["NamespaceExport"] = 280)] = "NamespaceExport"; - SyntaxKind[(SyntaxKind["ExportSpecifier"] = 281)] = "ExportSpecifier"; - SyntaxKind[(SyntaxKind["MissingDeclaration"] = 282)] = "MissingDeclaration"; - SyntaxKind[(SyntaxKind["ExternalModuleReference"] = 283)] = - "ExternalModuleReference"; - SyntaxKind[(SyntaxKind["JsxElement"] = 284)] = "JsxElement"; - SyntaxKind[(SyntaxKind["JsxSelfClosingElement"] = 285)] = - "JsxSelfClosingElement"; - SyntaxKind[(SyntaxKind["JsxOpeningElement"] = 286)] = "JsxOpeningElement"; - SyntaxKind[(SyntaxKind["JsxClosingElement"] = 287)] = "JsxClosingElement"; - SyntaxKind[(SyntaxKind["JsxFragment"] = 288)] = "JsxFragment"; - SyntaxKind[(SyntaxKind["JsxOpeningFragment"] = 289)] = "JsxOpeningFragment"; - SyntaxKind[(SyntaxKind["JsxClosingFragment"] = 290)] = "JsxClosingFragment"; - SyntaxKind[(SyntaxKind["JsxAttribute"] = 291)] = "JsxAttribute"; - SyntaxKind[(SyntaxKind["JsxAttributes"] = 292)] = "JsxAttributes"; - SyntaxKind[(SyntaxKind["JsxSpreadAttribute"] = 293)] = "JsxSpreadAttribute"; - SyntaxKind[(SyntaxKind["JsxExpression"] = 294)] = "JsxExpression"; - SyntaxKind[(SyntaxKind["JsxNamespacedName"] = 295)] = "JsxNamespacedName"; - SyntaxKind[(SyntaxKind["CaseClause"] = 296)] = "CaseClause"; - SyntaxKind[(SyntaxKind["DefaultClause"] = 297)] = "DefaultClause"; - SyntaxKind[(SyntaxKind["HeritageClause"] = 298)] = "HeritageClause"; - SyntaxKind[(SyntaxKind["CatchClause"] = 299)] = "CatchClause"; - SyntaxKind[(SyntaxKind["ImportAttributes"] = 300)] = "ImportAttributes"; - SyntaxKind[(SyntaxKind["ImportAttribute"] = 301)] = "ImportAttribute"; - SyntaxKind[(SyntaxKind["PropertyAssignment"] = 302)] = "PropertyAssignment"; - SyntaxKind[(SyntaxKind["ShorthandPropertyAssignment"] = 303)] = - "ShorthandPropertyAssignment"; - SyntaxKind[(SyntaxKind["SpreadAssignment"] = 304)] = "SpreadAssignment"; - SyntaxKind[(SyntaxKind["EnumMember"] = 305)] = "EnumMember"; - SyntaxKind[(SyntaxKind["SourceFile"] = 306)] = "SourceFile"; - SyntaxKind[(SyntaxKind["Bundle"] = 307)] = "Bundle"; - SyntaxKind[(SyntaxKind["JSDocTypeExpression"] = 308)] = "JSDocTypeExpression"; - SyntaxKind[(SyntaxKind["JSDocNameReference"] = 309)] = "JSDocNameReference"; - SyntaxKind[(SyntaxKind["JSDocMemberName"] = 310)] = "JSDocMemberName"; - SyntaxKind[(SyntaxKind["JSDocAllType"] = 311)] = "JSDocAllType"; - SyntaxKind[(SyntaxKind["JSDocNullableType"] = 312)] = "JSDocNullableType"; - SyntaxKind[(SyntaxKind["JSDocNonNullableType"] = 313)] = - "JSDocNonNullableType"; - SyntaxKind[(SyntaxKind["JSDocOptionalType"] = 314)] = "JSDocOptionalType"; - SyntaxKind[(SyntaxKind["JSDocVariadicType"] = 315)] = "JSDocVariadicType"; - SyntaxKind[(SyntaxKind["JSDoc"] = 316)] = "JSDoc"; - SyntaxKind[(SyntaxKind["JSDocText"] = 317)] = "JSDocText"; - SyntaxKind[(SyntaxKind["JSDocTypeLiteral"] = 318)] = "JSDocTypeLiteral"; - SyntaxKind[(SyntaxKind["JSDocSignature"] = 319)] = "JSDocSignature"; - SyntaxKind[(SyntaxKind["JSDocLink"] = 320)] = "JSDocLink"; - SyntaxKind[(SyntaxKind["JSDocLinkCode"] = 321)] = "JSDocLinkCode"; - SyntaxKind[(SyntaxKind["JSDocLinkPlain"] = 322)] = "JSDocLinkPlain"; - SyntaxKind[(SyntaxKind["JSDocTag"] = 323)] = "JSDocTag"; - SyntaxKind[(SyntaxKind["JSDocAugmentsTag"] = 324)] = "JSDocAugmentsTag"; - SyntaxKind[(SyntaxKind["JSDocImplementsTag"] = 325)] = "JSDocImplementsTag"; - SyntaxKind[(SyntaxKind["JSDocDeprecatedTag"] = 326)] = "JSDocDeprecatedTag"; - SyntaxKind[(SyntaxKind["JSDocPublicTag"] = 327)] = "JSDocPublicTag"; - SyntaxKind[(SyntaxKind["JSDocPrivateTag"] = 328)] = "JSDocPrivateTag"; - SyntaxKind[(SyntaxKind["JSDocProtectedTag"] = 329)] = "JSDocProtectedTag"; - SyntaxKind[(SyntaxKind["JSDocReadonlyTag"] = 330)] = "JSDocReadonlyTag"; - SyntaxKind[(SyntaxKind["JSDocOverrideTag"] = 331)] = "JSDocOverrideTag"; - SyntaxKind[(SyntaxKind["JSDocCallbackTag"] = 332)] = "JSDocCallbackTag"; - SyntaxKind[(SyntaxKind["JSDocOverloadTag"] = 333)] = "JSDocOverloadTag"; - SyntaxKind[(SyntaxKind["JSDocParameterTag"] = 334)] = "JSDocParameterTag"; - SyntaxKind[(SyntaxKind["JSDocReturnTag"] = 335)] = "JSDocReturnTag"; - SyntaxKind[(SyntaxKind["JSDocThisTag"] = 336)] = "JSDocThisTag"; - SyntaxKind[(SyntaxKind["JSDocTypeTag"] = 337)] = "JSDocTypeTag"; - SyntaxKind[(SyntaxKind["JSDocTemplateTag"] = 338)] = "JSDocTemplateTag"; - SyntaxKind[(SyntaxKind["JSDocTypedefTag"] = 339)] = "JSDocTypedefTag"; - SyntaxKind[(SyntaxKind["JSDocSeeTag"] = 340)] = "JSDocSeeTag"; - SyntaxKind[(SyntaxKind["JSDocPropertyTag"] = 341)] = "JSDocPropertyTag"; - SyntaxKind[(SyntaxKind["JSDocSatisfiesTag"] = 342)] = "JSDocSatisfiesTag"; - SyntaxKind[(SyntaxKind["JSDocImportTag"] = 343)] = "JSDocImportTag"; - SyntaxKind[(SyntaxKind["SyntaxList"] = 344)] = "SyntaxList"; - SyntaxKind[(SyntaxKind["NotEmittedStatement"] = 345)] = "NotEmittedStatement"; - SyntaxKind[(SyntaxKind["PartiallyEmittedExpression"] = 346)] = - "PartiallyEmittedExpression"; - SyntaxKind[(SyntaxKind["CommaListExpression"] = 347)] = "CommaListExpression"; - SyntaxKind[(SyntaxKind["SyntheticReferenceExpression"] = 348)] = - "SyntheticReferenceExpression"; - SyntaxKind[(SyntaxKind["Count"] = 349)] = "Count"; -})(SyntaxKind || (SyntaxKind = {})); diff --git a/_api/src/base/symbolFlags.js b/_api/src/base/symbolFlags.js deleted file mode 100644 index e8455c48aa..0000000000 --- a/_api/src/base/symbolFlags.js +++ /dev/null @@ -1,91 +0,0 @@ -export var SymbolFlags; -(function (SymbolFlags) { - SymbolFlags[(SymbolFlags["None"] = 0)] = "None"; - SymbolFlags[(SymbolFlags["FunctionScopedVariable"] = 1)] = - "FunctionScopedVariable"; - SymbolFlags[(SymbolFlags["BlockScopedVariable"] = 2)] = "BlockScopedVariable"; - SymbolFlags[(SymbolFlags["Property"] = 4)] = "Property"; - SymbolFlags[(SymbolFlags["EnumMember"] = 8)] = "EnumMember"; - SymbolFlags[(SymbolFlags["Function"] = 16)] = "Function"; - SymbolFlags[(SymbolFlags["Class"] = 32)] = "Class"; - SymbolFlags[(SymbolFlags["Interface"] = 64)] = "Interface"; - SymbolFlags[(SymbolFlags["ConstEnum"] = 128)] = "ConstEnum"; - SymbolFlags[(SymbolFlags["RegularEnum"] = 256)] = "RegularEnum"; - SymbolFlags[(SymbolFlags["ValueModule"] = 512)] = "ValueModule"; - SymbolFlags[(SymbolFlags["NamespaceModule"] = 1024)] = "NamespaceModule"; - SymbolFlags[(SymbolFlags["TypeLiteral"] = 2048)] = "TypeLiteral"; - SymbolFlags[(SymbolFlags["ObjectLiteral"] = 4096)] = "ObjectLiteral"; - SymbolFlags[(SymbolFlags["Method"] = 8192)] = "Method"; - SymbolFlags[(SymbolFlags["Constructor"] = 16384)] = "Constructor"; - SymbolFlags[(SymbolFlags["GetAccessor"] = 32768)] = "GetAccessor"; - SymbolFlags[(SymbolFlags["SetAccessor"] = 65536)] = "SetAccessor"; - SymbolFlags[(SymbolFlags["Signature"] = 131072)] = "Signature"; - SymbolFlags[(SymbolFlags["TypeParameter"] = 262144)] = "TypeParameter"; - SymbolFlags[(SymbolFlags["TypeAlias"] = 524288)] = "TypeAlias"; - SymbolFlags[(SymbolFlags["ExportValue"] = 1048576)] = "ExportValue"; - SymbolFlags[(SymbolFlags["Alias"] = 2097152)] = "Alias"; - SymbolFlags[(SymbolFlags["Prototype"] = 4194304)] = "Prototype"; - SymbolFlags[(SymbolFlags["ExportStar"] = 8388608)] = "ExportStar"; - SymbolFlags[(SymbolFlags["Optional"] = 16777216)] = "Optional"; - SymbolFlags[(SymbolFlags["Transient"] = 33554432)] = "Transient"; - SymbolFlags[(SymbolFlags["Assignment"] = 67108864)] = "Assignment"; - SymbolFlags[(SymbolFlags["ModuleExports"] = 134217728)] = "ModuleExports"; - SymbolFlags[(SymbolFlags["ConstEnumOnlyModule"] = 268435456)] = - "ConstEnumOnlyModule"; - SymbolFlags[(SymbolFlags["ReplaceableByMethod"] = 536870912)] = - "ReplaceableByMethod"; - SymbolFlags[(SymbolFlags["GlobalLookup"] = 1073741824)] = "GlobalLookup"; - SymbolFlags[(SymbolFlags["All"] = 536870912)] = "All"; - SymbolFlags[(SymbolFlags["Enum"] = 384)] = "Enum"; - SymbolFlags[(SymbolFlags["Variable"] = 3)] = "Variable"; - SymbolFlags[(SymbolFlags["Value"] = 111551)] = "Value"; - SymbolFlags[(SymbolFlags["Type"] = 788968)] = "Type"; - SymbolFlags[(SymbolFlags["Namespace"] = 1920)] = "Namespace"; - SymbolFlags[(SymbolFlags["Module"] = 1536)] = "Module"; - SymbolFlags[(SymbolFlags["Accessor"] = 98304)] = "Accessor"; - SymbolFlags[(SymbolFlags["FunctionScopedVariableExcludes"] = 111550)] = - "FunctionScopedVariableExcludes"; - SymbolFlags[(SymbolFlags["BlockScopedVariableExcludes"] = 111551)] = - "BlockScopedVariableExcludes"; - SymbolFlags[(SymbolFlags["ParameterExcludes"] = 111551)] = - "ParameterExcludes"; - SymbolFlags[(SymbolFlags["PropertyExcludes"] = 111547)] = "PropertyExcludes"; - SymbolFlags[(SymbolFlags["EnumMemberExcludes"] = 900095)] = - "EnumMemberExcludes"; - SymbolFlags[(SymbolFlags["FunctionExcludes"] = 110991)] = "FunctionExcludes"; - SymbolFlags[(SymbolFlags["ClassExcludes"] = 899503)] = "ClassExcludes"; - SymbolFlags[(SymbolFlags["InterfaceExcludes"] = 788872)] = - "InterfaceExcludes"; - SymbolFlags[(SymbolFlags["RegularEnumExcludes"] = 899327)] = - "RegularEnumExcludes"; - SymbolFlags[(SymbolFlags["ConstEnumExcludes"] = 899967)] = - "ConstEnumExcludes"; - SymbolFlags[(SymbolFlags["ValueModuleExcludes"] = 110735)] = - "ValueModuleExcludes"; - SymbolFlags[(SymbolFlags["NamespaceModuleExcludes"] = 0)] = - "NamespaceModuleExcludes"; - SymbolFlags[(SymbolFlags["MethodExcludes"] = 103359)] = "MethodExcludes"; - SymbolFlags[(SymbolFlags["GetAccessorExcludes"] = 46015)] = - "GetAccessorExcludes"; - SymbolFlags[(SymbolFlags["SetAccessorExcludes"] = 78783)] = - "SetAccessorExcludes"; - SymbolFlags[(SymbolFlags["AccessorExcludes"] = 13247)] = "AccessorExcludes"; - SymbolFlags[(SymbolFlags["TypeParameterExcludes"] = 526824)] = - "TypeParameterExcludes"; - SymbolFlags[(SymbolFlags["TypeAliasExcludes"] = 788968)] = - "TypeAliasExcludes"; - SymbolFlags[(SymbolFlags["AliasExcludes"] = 2097152)] = "AliasExcludes"; - SymbolFlags[(SymbolFlags["ModuleMember"] = 2623475)] = "ModuleMember"; - SymbolFlags[(SymbolFlags["ExportHasLocal"] = 944)] = "ExportHasLocal"; - SymbolFlags[(SymbolFlags["BlockScoped"] = 418)] = "BlockScoped"; - SymbolFlags[(SymbolFlags["PropertyOrAccessor"] = 98308)] = - "PropertyOrAccessor"; - SymbolFlags[(SymbolFlags["ClassMember"] = 106500)] = "ClassMember"; - SymbolFlags[(SymbolFlags["ExportSupportsDefaultModifier"] = 112)] = - "ExportSupportsDefaultModifier"; - SymbolFlags[(SymbolFlags["ExportDoesNotSupportDefaultModifier"] = -113)] = - "ExportDoesNotSupportDefaultModifier"; - SymbolFlags[(SymbolFlags["Classifiable"] = 2885600)] = "Classifiable"; - SymbolFlags[(SymbolFlags["LateBindingContainer"] = 6256)] = - "LateBindingContainer"; -})(SymbolFlags || (SymbolFlags = {})); diff --git a/_api/src/bench.ts b/_api/src/bench.ts deleted file mode 100644 index 28d3048bfb..0000000000 --- a/_api/src/bench.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { SyntaxKind } from "#ast/syntax"; -import { - bench, - run, -} from "mitata"; -import { readFileSync } from "node:fs"; -import { dirname } from "node:path"; -import ts from "typescript"; -import { isIdentifier } from "./ast/nodeTests.ts"; -import { SymbolFlags } from "./base/api.ts"; -import { API } from "./sync/api.ts"; -{ - const api = new API({ - tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, - cwd: dirname(new URL(import.meta.url).pathname), - // logFile: "tsgo.log", - }); - const project = api.loadProject("../../../TypeScript/src/compiler/tsconfig.json"); - const file = project.getSourceFile("checker.ts")!; - - // bench("native - batched", () => { - // const symbolRequests: { fileName: string; position: number; }[] = []; - // file.forEachChild(function visitNode(node) { - // if (isIdentifier(node)) { - // symbolRequests.push({ fileName: "checker.ts", position: node.pos }); - // } - // node.forEachChild(child => visitNode(child)); - // }); - - // project.getSymbolAtPosition(symbolRequests); - // }); - - bench("native - many calls", () => { - file.forEachChild(function visitNode(node) { - if (isIdentifier(node)) { - const symbol = project.getSymbolAtPosition("checker.ts", node.pos); - if (symbol?.flags! & SymbolFlags.Value) { - symbol?.getType(); - } - } - node.forEachChild(child => visitNode(child)); - }); - }); -} - -// { -// const configFilePath = new URL("../../../TypeScript/src/compiler/tsconfig.json", import.meta.url).pathname; -// const configFileText = readFileSync(configFilePath, "utf-8"); -// const jsonSourceFile = ts.parseJsonText(configFilePath, configFileText); - -// const parseConfigHost: ts.ParseConfigHost = { -// fileExists: ts.sys.fileExists, -// readFile: ts.sys.readFile, -// readDirectory: ts.sys.readDirectory, -// useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, -// }; - -// const parsedConfig = ts.parseJsonSourceFileConfigFileContent( -// jsonSourceFile, -// parseConfigHost, -// dirname(configFilePath), -// ); - -// const program = ts.createProgram({ -// rootNames: parsedConfig.fileNames, -// options: parsedConfig.options, -// }); - -// const checker = program.getTypeChecker(); -// const file = program.getSourceFile("/Users/andrew/Developer/microsoft/TypeScript/src/compiler/checker.ts")!; -// bench("js", () => { -// file.forEachChild(function visitNode(node) { -// if (ts.isIdentifier(node)) { -// const symbol = checker.getSymbolAtLocation(node); -// // if (symbol?.flags! & SymbolFlags.Value) { -// // counts.types++; -// // checker.getTypeOfSymbolAtLocation(symbol!, node); -// // } -// } -// node.forEachChild(child => visitNode(child)); -// }); -// }); -// } -await run(); diff --git a/_api/src/hosted.ts b/_api/src/hosted.ts deleted file mode 100644 index 488fbc4446..0000000000 --- a/_api/src/hosted.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { dirname } from "path"; -import { - API, - type APIOptions, -} from "./sync/api.ts"; -import type { FileSystemEntries } from "./types.ts"; - -function createFS(): APIOptions["fs"] { - const files = new Map([ - ["/project/tsconfig.json", `{}`], - ["/project/index.ts", `import { hello } from "./hello";\nconsole.log(hello());`], - ["/project/hello.ts", `export function hello() { return "Hello, world!"; }`], - ]); - - function getAccessibleEntries(directoryName: string): FileSystemEntries { - if (directoryName === "/") { - return { files: [], directories: ["/project"] }; - } - if (!directoryName.startsWith("/project")) { - return { files: [], directories: [] }; - } - return { - files: Array.from(files.keys()).filter(f => dirname(f) === directoryName), - directories: [], - }; - } - - return { - fileExists: path => files.has(path), - readFile: path => files.get(path), - directoryExists: () => true, - getAccessibleEntries, - }; -} - -const api = new API({ - tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, - cwd: dirname(new URL("../../", import.meta.url).pathname), - fs: createFS(), -}); - -const project = api.loadProject("/project/tsconfig.json"); -const symbol = project.getSymbolAtPosition("index.ts", 47); -console.log(symbol); -console.log(symbol?.getType()); diff --git a/_api/src/test.ts b/_api/src/test.ts deleted file mode 100644 index 4c06b377b9..0000000000 --- a/_api/src/test.ts +++ /dev/null @@ -1,118 +0,0 @@ -import * as fs from "node:fs"; -import { dirname } from "node:path"; -import * as path from "node:path"; -import ts from "typescript"; -import { API as AsyncAPI } from "./async/api.ts"; -import { API as SyncAPI } from "./sync/api.ts"; - -{ - console.log("=== LSP-based tsgo ==="); - console.time("Total execution time"); - - console.time("Server startup time"); - const api = new AsyncAPI({ - tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, - cwd: dirname(new URL(import.meta.url).pathname), - // logServer: msg => logs.push(msg), - }); - console.timeEnd("Server startup time"); - - // Start project loading timer - console.time("Project loading time"); - const project = await api.loadProject("../../../eg/ts/tsconfig.json"); - console.timeEnd("Project loading time"); - - console.time("Symbol lookup time 1"); - const symbol1 = await project.getSymbolAtPosition("a.ts", 4); - console.timeEnd("Symbol lookup time 1"); - - console.time("Symbol lookup time 2"); - const symbol2 = await project.getSymbolAtPosition("a.ts", 4); - console.timeEnd("Symbol lookup time 2"); - - console.log(symbol1?.name, symbol1?.flags); - await api.close(); - - console.timeEnd("Total execution time"); -} - -{ - console.log("\n=== libsyncrpc-based tsgo ==="); - console.time("Total execution time"); - - console.time("Server startup time"); - const api = new SyncAPI({ - tsserverPath: new URL("../../built/local/tsgo", import.meta.url).pathname, - cwd: dirname(new URL(import.meta.url).pathname), - // logServer: msg => logs.push(msg), - }); - console.timeEnd("Server startup time"); - - console.time("Project loading time"); - const project = api.loadProject("../../../eg/ts/tsconfig.json"); - console.timeEnd("Project loading time"); - - console.time("Symbol lookup time 1"); - const symbol1 = project.getSymbolAtPosition("a.ts", 4); - console.timeEnd("Symbol lookup time 1"); - - console.time("Symbol lookup time 2"); - const symbol2 = project.getSymbolAtPosition("a.ts", 4); - console.timeEnd("Symbol lookup time 2"); - - console.log(symbol1?.name, symbol1?.flags); - api.close(); - console.timeEnd("Total execution time"); -} - -{ - console.log("\n=== Direct TypeScript API implementation ==="); - console.time("Total execution time"); - - console.time("Config parsing"); - // Parse tsconfig.json - const configFilePath = new URL("../../../eg/ts/tsconfig.json", import.meta.url).pathname; - const configFileText = fs.readFileSync(configFilePath, "utf-8"); - const jsonSourceFile = ts.parseJsonText(configFilePath, configFileText); - - const parseConfigHost: ts.ParseConfigHost = { - fileExists: ts.sys.fileExists, - readFile: ts.sys.readFile, - readDirectory: ts.sys.readDirectory, - useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames, - }; - - const parsedConfig = ts.parseJsonSourceFileConfigFileContent( - jsonSourceFile, - parseConfigHost, - path.dirname(configFilePath), - ); - console.timeEnd("Config parsing"); - - console.time("Program creation"); - // Create a program - const program = ts.createProgram({ - rootNames: parsedConfig.fileNames, - options: parsedConfig.options, - }); - console.timeEnd("Program creation"); - - const aFilePath = path.resolve(path.dirname(configFilePath), "a.ts"); - const sourceFile = program.getSourceFile(aFilePath)!; - // @ts-expect-error - const token = ts.getTokenAtPosition(sourceFile, 4); - - console.time("Symbol lookup 1"); - // Get the checker and find symbol at position - const checker = program.getTypeChecker(); - // Get symbol at position - const symbol = checker.getSymbolAtLocation(token); - console.timeEnd("Symbol lookup 1"); - - console.time("Symbol lookup 2"); - const _ = program.getTypeChecker().getSymbolAtLocation(token); - console.timeEnd("Symbol lookup 2"); - - console.log("Direct TS API symbol:", symbol?.getName(), symbol?.getFlags()); - console.timeEnd("Total execution time"); -} diff --git a/_api/src/types.ts b/_api/src/types.ts deleted file mode 100644 index 1fecce4729..0000000000 --- a/_api/src/types.ts +++ /dev/null @@ -1,30 +0,0 @@ -export type MaybeAsync = Async extends true ? Promise : T; - -export interface FileSystemEntries { - files: string[]; - directories: string[]; -} - -export interface ParsedCommandLine { - options: Record; - fileNames: string[]; -} - -export interface ProjectData { - id: number; - configFileName: string; - compilerOptions: Record; - rootFiles: string[]; -} - -export interface SymbolData { - id: number; - name: string; - flags: number; - checkFlags: number; -} - -export interface TypeData { - id: number; - flags: number; -} diff --git a/_packages/api/.DS_Store b/_packages/api/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5172429f264de2441865cb4700216d4256da9242 GIT binary patch literal 6148 zcmeH~J!%6%427R!7lt%jx}3%b$PET#pTHLgIFQEJ;E>dF^gR7ES*H$5cmnB-G%I%Z zD|S`@Z2$T80!#olbXV*=%*>dt@PRwdU#I)^a=X5>;#J@&VrHyNnC;iLL0pQvfVyTmjO&;ssLc!1UOG})p;=82 zR;?Ceh}WZ?+UmMqI#RP8R>OzYoz15hnq@nzF`-!xQ4j$Um=RcIKKc27r2jVm&svm< zfC&6E0=7P!4tu^-ovjbA=k?dB`g+i*aXG_}p8zI)6mRKa+;6_1_R^8c3Qa!(fk8n8 H{*=HsM+*^= literal 0 HcmV?d00001 diff --git a/_packages/api/package.json b/_packages/api/package.json new file mode 100644 index 0000000000..546c5b2253 --- /dev/null +++ b/_packages/api/package.json @@ -0,0 +1,38 @@ +{ + "private": true, + "name": "@typescript/api", + "version": "1.0.0", + "type": "module", + "imports": { + "#symbolFlags": { + "@typescript/source": { + "types": "./src/base/symbolFlags.enum.ts", + "default": "./src/base/symbolFlags.ts" + }, + "types": "./dist/base/symbolFlags.enum.d.ts", + "default": "./dist/base/symbolFlags.js" + } + }, + "exports": { + "./async": { + "@typescript/source": "./src/async/api.ts", + "default": "./dist/async/api.js" + }, + "./sync": { + "@typescript/source": "./src/sync/api.ts", + "default": "./dist/sync/api.js" + }, + "./base/*": { + "@typescript/source": "./src/base/*", + "default": "./dist/base/*" + } + }, + "dependencies": { + "@typescript/ast": "workspace:*", + "json-rpc-2.0": "^1.7.0", + "libsyncrpc": "link:../../../libsyncrpc" + }, + "scripts": { + "build": "tsc -b" + } +} \ No newline at end of file diff --git a/_packages/api/src/.DS_Store b/_packages/api/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3a71a782d5d6b1e9ed4a0b8859134072731eeb85 GIT binary patch literal 6148 zcmeHKO-sW-5Pho^3SN5jxPL%`{~(rl6EEUfYgwX+kMm418v6XlD(f{fd*gL;c)-g zc%XNUnmS{~4lCMgd~#M0KRDh{qSBlU@7Q9=jFR~!UeGeHWmkze8rjlrafuD%86G)X z(Em!k(HvQ&Vwa5hH6z*4-tH2&2Rj}ot-dQ~z!`7`oPiNDz%yH9dT!|28E^)ifnNsX z`w%$<^MswDembc13P7CDtwLMw5>gWr<_SAPMkv8biB=lY6(d+V{W0a`2|Gh8N6?ko zC$0Q*c?r5Y{ZZ2qazoe7fHTl%;MArwIsb3?$_!re`z1be2AqL^#z2@9_r;tKmCn|q z$CI-*ay)T}NM0ufg?8^JfD`$STxihZQEcYr2|GjSB7Q9=`j3DT;>sEL0|veU2dp%N literal 0 HcmV?d00001 diff --git a/_api/src/async/api.ts b/_packages/api/src/async/api.ts similarity index 73% rename from _api/src/async/api.ts rename to _packages/api/src/async/api.ts index 35015b8935..6a1c59fb23 100644 --- a/_api/src/async/api.ts +++ b/_packages/api/src/async/api.ts @@ -1,29 +1,37 @@ -import type { ChildProcessWithoutNullStreams } from "child_process"; -import type { ParsedCommandLine } from "typescript"; -import type { APIOptions } from "../base/api.ts"; +import type { SourceFile as SourceFileNode } from "@typescript/ast"; +import type { + ChildProcess, + ChildProcessWithoutNullStreams, +} from "child_process"; import { type API as BaseAPI, + type APIOptions, Project as BaseProject, Symbol as BaseSymbol, Type as BaseType, } from "../base/api.ts"; import type { - ProjectData, - SymbolData, - TypeData, -} from "../types.ts"; + ConfigResponse, + ProjectResponse, + SymbolResponse, + TypeResponse, +} from "../base/proto.ts"; import { Client } from "./client.ts"; import { startLSPServer } from "./lsp.ts"; +interface Killable { + kill(): void; +} + export class API implements BaseAPI { - private server: ChildProcessWithoutNullStreams; + private server: Killable; private client: Client; constructor(options: APIOptions) { - this.client = new Client(this.server = startLSPServer(options.tsserverPath, options.cwd ?? process.cwd(), options.logServer)); + this.client = new Client(this.server = startLSPServer(options.tsserverPath, options.cwd ?? process.cwd())); } - async parseConfigFile(fileName: string): Promise { + async parseConfigFile(fileName: string): Promise { await this.ensureInitialized(); return this.client.request("parseConfigFile", { fileName }); } @@ -50,7 +58,7 @@ export class API implements BaseAPI { export class Project extends BaseProject { private client: Client; - constructor(client: Client, data: ProjectData) { + constructor(client: Client, data: ProjectResponse) { super(data); this.client = client; } @@ -63,13 +71,17 @@ export class Project extends BaseProject { const data = await this.client.request("getSymbolAtPosition", { project: this.configFileName, fileName, position }); return data ? new Symbol(this.client, this, data) : undefined; } + + async getSourceFile(fileName: string): Promise { + throw new Error("Not implemented"); + } } export class Symbol extends BaseSymbol { private client: Client; private project: Project; - constructor(client: Client, project: Project, data: SymbolData) { + constructor(client: Client, project: Project, data: SymbolResponse) { super(data); this.client = client; this.project = project; @@ -84,7 +96,7 @@ export class Symbol extends BaseSymbol { export class Type extends BaseType { private client: Client; - constructor(client: Client, data: TypeData) { + constructor(client: Client, data: TypeResponse) { super(data); this.client = client; } diff --git a/_api/src/async/client.ts b/_packages/api/src/async/client.ts similarity index 78% rename from _api/src/async/client.ts rename to _packages/api/src/async/client.ts index df5c87dfda..d9f4fd8943 100644 --- a/_api/src/async/client.ts +++ b/_packages/api/src/async/client.ts @@ -1,10 +1,14 @@ import type { JSONRPCClient } from "json-rpc-2.0"; -import type { ChildProcessWithoutNullStreams } from "node:child_process"; +import type { ChildProcessByStdio } from "node:child_process"; import type { - ParsedCommandLine, - ProjectData, - SymbolData, -} from "../types.ts"; + Readable, + Writable, +} from "node:stream"; +import type { + ConfigResponse, + ProjectResponse, + SymbolResponse, +} from "../base/proto.ts"; import { LSPError, LSPErrorCollection, @@ -16,7 +20,7 @@ export class Client { jsonRPCClient: JSONRPCClient; errorStack: LSPError[] = []; - constructor(serverProcess: ChildProcessWithoutNullStreams) { + constructor(serverProcess: ChildProcessByStdio) { this.jsonRPCClient = createJSONRPCClient(serverProcess, error => { this.errorStack.push(error); }); @@ -32,19 +36,19 @@ export class Client { this.flushErrors(); } - async parseConfigFile(configFileName: string): Promise { + async parseConfigFile(configFileName: string): Promise { return this.request("parseConfigFile", { configFileName, }); } - async loadProject(configFileName: string): Promise { + async loadProject(configFileName: string): Promise { return this.request("loadProject", { configFileName, }); } - async getSymbolAtPosition(fileName: string, position: number): Promise { + async getSymbolAtPosition(fileName: string, position: number): Promise { return this.request("getSymbolAtPosition", { fileName, position, diff --git a/_api/src/async/errors.ts b/_packages/api/src/async/errors.ts similarity index 100% rename from _api/src/async/errors.ts rename to _packages/api/src/async/errors.ts diff --git a/_api/src/async/lsp.ts b/_packages/api/src/async/lsp.ts similarity index 87% rename from _api/src/async/lsp.ts rename to _packages/api/src/async/lsp.ts index cf3dbe62ef..c8ffc26e97 100644 --- a/_api/src/async/lsp.ts +++ b/_packages/api/src/async/lsp.ts @@ -1,13 +1,18 @@ +import { JSONRPCClient } from "json-rpc-2.0"; import { - type ChildProcessWithoutNullStreams, + type ChildProcessByStdio, spawn, -} from "child_process"; -import { JSONRPCClient } from "json-rpc-2.0"; +} from "node:child_process"; +import type { + Readable, + Writable, +} from "node:stream"; import { LSPError } from "./errors.ts"; -export function startLSPServer(executable: string, cwd: string, log?: (msg: string) => void): ChildProcessWithoutNullStreams { +export function startLSPServer(executable: string, cwd: string): ChildProcessByStdio { const server = spawn(executable, ["api", "-lsp", "-cwd", cwd], { detached: true, + stdio: ["pipe", "pipe", "ignore"], }); server.unref(); @@ -16,12 +21,6 @@ export function startLSPServer(executable: string, cwd: string, log?: (msg: stri throw new LSPError(`Server process error: ${error.message}`, "Server"); }); - if (log) { - server.stderr.on("data", data => { - log(data.toString()); - }); - } - server.once("exit", code => { if (code !== 0 && code !== null) { throw new LSPError(`Server exited with code ${code}`, "Server", { code }); @@ -31,7 +30,7 @@ export function startLSPServer(executable: string, cwd: string, log?: (msg: stri return server; } -export function createJSONRPCClient(serverProcess: ChildProcessWithoutNullStreams, onError: (error: LSPError) => void): JSONRPCClient { +export function createJSONRPCClient(serverProcess: ChildProcessByStdio, onError: (error: LSPError) => void): JSONRPCClient { const client = new JSONRPCClient(jsonRPCRequest => { const content = JSON.stringify(jsonRPCRequest); const contentLength = Buffer.byteLength(content, "utf8"); diff --git a/_api/src/base/api.ts b/_packages/api/src/base/api.ts similarity index 76% rename from _api/src/base/api.ts rename to _packages/api/src/base/api.ts index ca18e596b1..24ba4ee3b6 100644 --- a/_api/src/base/api.ts +++ b/_packages/api/src/base/api.ts @@ -1,13 +1,14 @@ import { SymbolFlags } from "#symbolFlags"; -import type { SourceFile as SourceFileNode } from "../ast/ast.ts"; -import { RemoteNode } from "../ast/node.ts"; +import type { SourceFile as SourceFileNode } from "@typescript/ast"; +import { RemoteNode } from "./node.ts"; import type { - MaybeAsync, - ParsedCommandLine, - ProjectData, - SymbolData, - TypeData, -} from "../types.ts"; + ConfigResponse, + ProjectResponse, + SymbolResponse, + TypeResponse, +} from "./proto.ts"; + +export type MaybeAsync = Async extends true ? Promise : T; export interface APIOptions { tsserverPath: string; @@ -16,7 +17,7 @@ export interface APIOptions { } export interface API { - parseConfigFile(fileName: string): MaybeAsync; + parseConfigFile(fileName: string): MaybeAsync; loadProject(configFileName: string): MaybeAsync>; } @@ -26,12 +27,12 @@ export abstract class Project { compilerOptions!: Record; rootFiles!: readonly string[]; - constructor(data: ProjectData) { + constructor(data: ProjectResponse) { this.id = data.id; this.loadData(data); } - loadData(data: ProjectData): void { + loadData(data: ProjectResponse): void { this.configFileName = data.configFileName; this.compilerOptions = data.compilerOptions; this.rootFiles = data.rootFiles; @@ -57,7 +58,7 @@ export abstract class Symbol { flags: SymbolFlags; checkFlags: number; - constructor(data: SymbolData) { + constructor(data: SymbolResponse) { this.id = data.id; this.name = data.name; this.flags = data.flags; @@ -71,7 +72,7 @@ export abstract class Type { protected id: number; flags: number; - constructor(data: TypeData) { + constructor(data: TypeResponse) { this.id = data.id; this.flags = data.flags; } diff --git a/_packages/api/src/base/fs.ts b/_packages/api/src/base/fs.ts new file mode 100644 index 0000000000..63e63299ea --- /dev/null +++ b/_packages/api/src/base/fs.ts @@ -0,0 +1,12 @@ +export interface FileSystemEntries { + files: string[]; + directories: string[]; +} + +export interface FileSystem { + directoryExists?: (directoryName: string) => boolean | undefined; + fileExists?: (fileName: string) => boolean | undefined; + getAccessibleEntries?: (directoryName: string) => FileSystemEntries | undefined; + readFile?: (fileName: string) => string | null | undefined; + realpath?: (path: string) => string | undefined; +} diff --git a/_api/src/ast/node.ts b/_packages/api/src/base/node.ts similarity index 71% rename from _api/src/ast/node.ts rename to _packages/api/src/base/node.ts index a028bd80ff..48543e5573 100644 --- a/_api/src/ast/node.ts +++ b/_packages/api/src/base/node.ts @@ -1,20 +1,130 @@ -import { SyntaxKind } from "#ast/syntax"; -import type { nodeModuleNameResolver } from "typescript"; +import { SyntaxKind } from "@typescript/ast"; import type { - Node, - NodeArray, -} from "./ast.ts"; -import { - childProperties, - NodeChildMask, - type NodeDataType, - NodeDataTypeChildren, - NodeDataTypeMask, - NodeStringIndexMask, -} from "./decode.ts"; + Node as BaseNode, + NodeArray as BaseNodeArray, +} from "@typescript/ast"; const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8]; +type NodeDataType = typeof NodeDataTypeChildren | typeof NodeDataTypeString | typeof NodeDataTypeExtended; +const NodeDataTypeChildren = 0x00000000; +const NodeDataTypeString = 0x40000000; +const NodeDataTypeExtended = 0x80000000; +const NodeDataTypeMask = 0xc0_00_00_00; +const NodeChildMask = 0x00_00_00_ff; +const NodeStringIndexMask = 0x00_ff_ff_ff; + +const childProperties: Readonly>> = { + [SyntaxKind.QualifiedName]: ["left", "right"], + [SyntaxKind.TypeParameter]: ["modifiers", "name", "constraint", "defaultType"], + [SyntaxKind.IfStatement]: ["expression", "thenStatement", "elseStatement"], + [SyntaxKind.DoStatement]: ["statement", "expression"], + [SyntaxKind.WhileStatement]: ["expression", "statement"], + [SyntaxKind.ForStatement]: ["initializer", "condition", "incrementor", "statement"], + [SyntaxKind.ForInStatement]: ["awaitModifier", "initializer", "expression", "statement"], + [SyntaxKind.ForOfStatement]: ["awaitModifier", "initializer", "expression", "statement"], + [SyntaxKind.WithStatement]: ["expression", "statement"], + [SyntaxKind.SwitchStatement]: ["expression", "caseBlock"], + [SyntaxKind.CaseClause]: ["expression", "statements"], + [SyntaxKind.DefaultClause]: ["expression", "statements"], + [SyntaxKind.TryStatement]: ["tryBlock", "catchClause", "finallyBlock"], + [SyntaxKind.CatchClause]: ["variableDeclaration", "block"], + [SyntaxKind.LabeledStatement]: ["label", "statement"], + [SyntaxKind.VariableStatement]: ["modifiers", "declarationList"], + [SyntaxKind.VariableDeclaration]: ["name", "exclamationToken", "type", "initializer"], + [SyntaxKind.Parameter]: ["modifiers", "dotDotDotToken", "name", "questionToken", "type", "initializer"], + [SyntaxKind.BindingElement]: ["dotDotDotToken", "propertyName", "name", "initializer"], + [SyntaxKind.FunctionDeclaration]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.InterfaceDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], + [SyntaxKind.TypeAliasDeclaration]: ["modifiers", "name", "typeParameters", "type"], + [SyntaxKind.EnumMember]: ["name", "initializer"], + [SyntaxKind.EnumDeclaration]: ["modifiers", "name", "members"], + [SyntaxKind.ModuleDeclaration]: ["modifiers", "name", "body"], + [SyntaxKind.ImportEqualsDeclaration]: ["modifiers", "name", "moduleReference"], + [SyntaxKind.ImportDeclaration]: ["modifiers", "importClause", "moduleSpecifier", "attributes"], + [SyntaxKind.ImportSpecifier]: ["propertyName", "name"], + [SyntaxKind.ImportClause]: ["name", "namedBindings"], + [SyntaxKind.ExportAssignment]: ["modifiers", "expression"], + [SyntaxKind.NamespaceExportDeclaration]: ["modifiers", "name"], + [SyntaxKind.ExportDeclaration]: ["modifiers", "exportClause", "moduleSpecifier", "attributes"], + [SyntaxKind.ExportSpecifier]: ["propertyName", "name"], + [SyntaxKind.CallSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ConstructSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.Constructor]: ["modifiers", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.GetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.SetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.IndexSignature]: ["modifiers", "parameters", "type"], + [SyntaxKind.MethodSignature]: ["modifiers", "name", "postfixToken", "typeParameters", "parameters", "type"], + [SyntaxKind.MethodDeclaration]: ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.PropertySignature]: ["modifiers", "name", "postfixToken", "type", "initializer"], + [SyntaxKind.PropertyDeclaration]: ["modifiers", "name", "postfixToken", "type", "initializer"], + [SyntaxKind.BinaryExpression]: ["left", "operatorToken", "right"], + [SyntaxKind.YieldExpression]: ["asteriskToken", "expression"], + [SyntaxKind.ArrowFunction]: ["modifiers", "typeParameters", "parameters", "type", "equalsGreaterThanToken", "body"], + [SyntaxKind.FunctionExpression]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.AsExpression]: ["expression", "type"], + [SyntaxKind.SatisfiesExpression]: ["expression", "type"], + [SyntaxKind.ConditionalExpression]: ["condition", "questionToken", "whenTrue", "colonToken", "whenFalse"], + [SyntaxKind.PropertyAccessExpression]: ["expression", "questionDotToken", "name"], + [SyntaxKind.ElementAccessExpression]: ["expression", "questionDotToken", "argumentExpression"], + [SyntaxKind.CallExpression]: ["expression", "questionDotToken", "typeArguments", "arguments"], + [SyntaxKind.NewExpression]: ["expression", "typeArguments", "arguments"], + [SyntaxKind.TemplateExpression]: ["head", "templateSpans"], + [SyntaxKind.TemplateSpan]: ["expression", "literal"], + [SyntaxKind.TaggedTemplateExpression]: ["tag", "questionDotToken", "typeArguments", "template"], + [SyntaxKind.PropertyAssignment]: ["modifiers", "name", "postfixToken", "initializer"], + [SyntaxKind.ShorthandPropertyAssignment]: ["modifiers", "name", "postfixToken", "equalsToken", "objectAssignmentInitializer"], + [SyntaxKind.TypeAssertionExpression]: ["type", "expression"], + [SyntaxKind.ConditionalType]: ["checkType", "extendsType", "trueType", "falseType"], + [SyntaxKind.IndexedAccessType]: ["objectType", "indexType"], + [SyntaxKind.TypeReference]: ["typeName", "typeArguments"], + [SyntaxKind.ExpressionWithTypeArguments]: ["expression", "typeArguments"], + [SyntaxKind.TypePredicate]: ["assertsModifier", "parameterName", "type"], + [SyntaxKind.ImportType]: ["argument", "attributes", "qualifier", "typeArguments"], + [SyntaxKind.ImportAttribute]: ["name", "value"], + [SyntaxKind.TypeQuery]: ["exprName", "typeArguments"], + [SyntaxKind.MappedType]: ["readonlyToken", "typeParameter", "nameType", "questionToken", "type", "members"], + [SyntaxKind.NamedTupleMember]: ["dotDotDotToken", "name", "questionToken", "type"], + [SyntaxKind.FunctionType]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ConstructorType]: ["modifiers", "typeParameters", "parameters", "type"], + [SyntaxKind.TemplateLiteralType]: ["head", "templateSpans"], + [SyntaxKind.TemplateLiteralTypeSpan]: ["type", "literal"], + [SyntaxKind.JsxElement]: ["openingElement", "children", "closingElement"], + [SyntaxKind.JsxNamespacedName]: ["name", "namespace"], + [SyntaxKind.JsxOpeningElement]: ["tagName", "typeArguments", "attributes"], + [SyntaxKind.JsxSelfClosingElement]: ["tagName", "typeArguments", "attributes"], + [SyntaxKind.JsxFragment]: ["openingFragment", "children", "closingFragment"], + [SyntaxKind.JsxAttribute]: ["name", "initializer"], + [SyntaxKind.JsxExpression]: ["dotDotDotToken", "expression"], + [SyntaxKind.JSDoc]: ["comment", "tags"], + [SyntaxKind.JSDocTypeTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocTag]: ["tagName", "comment"], + [SyntaxKind.JSDocTemplateTag]: ["tagName", "constraint", "typeParameters", "comment"], + [SyntaxKind.JSDocReturnTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocPublicTag]: ["tagName", "comment"], + [SyntaxKind.JSDocPrivateTag]: ["tagName", "comment"], + [SyntaxKind.JSDocProtectedTag]: ["tagName", "comment"], + [SyntaxKind.JSDocReadonlyTag]: ["tagName", "comment"], + [SyntaxKind.JSDocOverrideTag]: ["tagName", "comment"], + [SyntaxKind.JSDocDeprecatedTag]: ["tagName", "comment"], + [SyntaxKind.JSDocSeeTag]: ["tagName", "nameExpression", "comment"], + [SyntaxKind.JSDocImplementsTag]: ["tagName", "className", "comment"], + [SyntaxKind.JSDocAugmentsTag]: ["tagName", "className", "comment"], + [SyntaxKind.JSDocSatisfiesTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocThisTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocImportTag]: ["tagName", "importClause", "moduleSpecifier", "attributes", "comment"], + [SyntaxKind.JSDocCallbackTag]: ["tagName", "typeExpression", "fullName", "comment"], + [SyntaxKind.JSDocOverloadTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocTypedefTag]: ["tagName", "typeExpression", "fullName", "comment"], + [SyntaxKind.JSDocSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ClassStaticBlockDeclaration]: ["modifiers", "body"], + [SyntaxKind.ClassDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], + + // Later properties are in variable order, needs special handling + [SyntaxKind.JSDocPropertyTag]: [undefined!, undefined!], + [SyntaxKind.JSDocParameterTag]: ["tagName", undefined!, undefined!, "comment"], +}; + const OFFSET_KIND = 0; const OFFSET_POS = 1; const OFFSET_END = 2; @@ -22,9 +132,16 @@ const OFFSET_NEXT = 3; const OFFSET_PARENT = 4; const OFFSET_DATA = 5; const NODE_LEN = 6; - const KIND_NODE_LIST = 2 ** 32 - 1; +export interface Node extends BaseNode { + forEachChild(visitor: (node: Node) => T): T | undefined; +} + +export interface NodeArray extends BaseNodeArray { + at(index: number): T; +} + export class RemoteNodeBase { parent: RemoteNode; protected view: DataView; diff --git a/_packages/api/src/base/proto.ts b/_packages/api/src/base/proto.ts new file mode 100644 index 0000000000..3dd5955735 --- /dev/null +++ b/_packages/api/src/base/proto.ts @@ -0,0 +1,23 @@ +export interface ConfigResponse { + options: Record; + fileNames: string[]; +} + +export interface ProjectResponse { + id: number; + configFileName: string; + compilerOptions: Record; + rootFiles: string[]; +} + +export interface SymbolResponse { + id: number; + name: string; + flags: number; + checkFlags: number; +} + +export interface TypeResponse { + id: number; + flags: number; +} diff --git a/_api/src/base/symbolFlags.enum.ts b/_packages/api/src/base/symbolFlags.enum.ts similarity index 100% rename from _api/src/base/symbolFlags.enum.ts rename to _packages/api/src/base/symbolFlags.enum.ts diff --git a/_packages/api/src/base/symbolFlags.ts b/_packages/api/src/base/symbolFlags.ts new file mode 100644 index 0000000000..83ea9eadd3 --- /dev/null +++ b/_packages/api/src/base/symbolFlags.ts @@ -0,0 +1,71 @@ +export var SymbolFlags: any; +(function (SymbolFlags) { + SymbolFlags[SymbolFlags["None"] = 0] = "None"; + SymbolFlags[SymbolFlags["FunctionScopedVariable"] = 1] = "FunctionScopedVariable"; + SymbolFlags[SymbolFlags["BlockScopedVariable"] = 2] = "BlockScopedVariable"; + SymbolFlags[SymbolFlags["Property"] = 4] = "Property"; + SymbolFlags[SymbolFlags["EnumMember"] = 8] = "EnumMember"; + SymbolFlags[SymbolFlags["Function"] = 16] = "Function"; + SymbolFlags[SymbolFlags["Class"] = 32] = "Class"; + SymbolFlags[SymbolFlags["Interface"] = 64] = "Interface"; + SymbolFlags[SymbolFlags["ConstEnum"] = 128] = "ConstEnum"; + SymbolFlags[SymbolFlags["RegularEnum"] = 256] = "RegularEnum"; + SymbolFlags[SymbolFlags["ValueModule"] = 512] = "ValueModule"; + SymbolFlags[SymbolFlags["NamespaceModule"] = 1024] = "NamespaceModule"; + SymbolFlags[SymbolFlags["TypeLiteral"] = 2048] = "TypeLiteral"; + SymbolFlags[SymbolFlags["ObjectLiteral"] = 4096] = "ObjectLiteral"; + SymbolFlags[SymbolFlags["Method"] = 8192] = "Method"; + SymbolFlags[SymbolFlags["Constructor"] = 16384] = "Constructor"; + SymbolFlags[SymbolFlags["GetAccessor"] = 32768] = "GetAccessor"; + SymbolFlags[SymbolFlags["SetAccessor"] = 65536] = "SetAccessor"; + SymbolFlags[SymbolFlags["Signature"] = 131072] = "Signature"; + SymbolFlags[SymbolFlags["TypeParameter"] = 262144] = "TypeParameter"; + SymbolFlags[SymbolFlags["TypeAlias"] = 524288] = "TypeAlias"; + SymbolFlags[SymbolFlags["ExportValue"] = 1048576] = "ExportValue"; + SymbolFlags[SymbolFlags["Alias"] = 2097152] = "Alias"; + SymbolFlags[SymbolFlags["Prototype"] = 4194304] = "Prototype"; + SymbolFlags[SymbolFlags["ExportStar"] = 8388608] = "ExportStar"; + SymbolFlags[SymbolFlags["Optional"] = 16777216] = "Optional"; + SymbolFlags[SymbolFlags["Transient"] = 33554432] = "Transient"; + SymbolFlags[SymbolFlags["Assignment"] = 67108864] = "Assignment"; + SymbolFlags[SymbolFlags["ModuleExports"] = 134217728] = "ModuleExports"; + SymbolFlags[SymbolFlags["ConstEnumOnlyModule"] = 268435456] = "ConstEnumOnlyModule"; + SymbolFlags[SymbolFlags["ReplaceableByMethod"] = 536870912] = "ReplaceableByMethod"; + SymbolFlags[SymbolFlags["GlobalLookup"] = 1073741824] = "GlobalLookup"; + SymbolFlags[SymbolFlags["All"] = 536870912] = "All"; + SymbolFlags[SymbolFlags["Enum"] = 384] = "Enum"; + SymbolFlags[SymbolFlags["Variable"] = 3] = "Variable"; + SymbolFlags[SymbolFlags["Value"] = 111551] = "Value"; + SymbolFlags[SymbolFlags["Type"] = 788968] = "Type"; + SymbolFlags[SymbolFlags["Namespace"] = 1920] = "Namespace"; + SymbolFlags[SymbolFlags["Module"] = 1536] = "Module"; + SymbolFlags[SymbolFlags["Accessor"] = 98304] = "Accessor"; + SymbolFlags[SymbolFlags["FunctionScopedVariableExcludes"] = 111550] = "FunctionScopedVariableExcludes"; + SymbolFlags[SymbolFlags["BlockScopedVariableExcludes"] = 111551] = "BlockScopedVariableExcludes"; + SymbolFlags[SymbolFlags["ParameterExcludes"] = 111551] = "ParameterExcludes"; + SymbolFlags[SymbolFlags["PropertyExcludes"] = 111547] = "PropertyExcludes"; + SymbolFlags[SymbolFlags["EnumMemberExcludes"] = 900095] = "EnumMemberExcludes"; + SymbolFlags[SymbolFlags["FunctionExcludes"] = 110991] = "FunctionExcludes"; + SymbolFlags[SymbolFlags["ClassExcludes"] = 899503] = "ClassExcludes"; + SymbolFlags[SymbolFlags["InterfaceExcludes"] = 788872] = "InterfaceExcludes"; + SymbolFlags[SymbolFlags["RegularEnumExcludes"] = 899327] = "RegularEnumExcludes"; + SymbolFlags[SymbolFlags["ConstEnumExcludes"] = 899967] = "ConstEnumExcludes"; + SymbolFlags[SymbolFlags["ValueModuleExcludes"] = 110735] = "ValueModuleExcludes"; + SymbolFlags[SymbolFlags["NamespaceModuleExcludes"] = 0] = "NamespaceModuleExcludes"; + SymbolFlags[SymbolFlags["MethodExcludes"] = 103359] = "MethodExcludes"; + SymbolFlags[SymbolFlags["GetAccessorExcludes"] = 46015] = "GetAccessorExcludes"; + SymbolFlags[SymbolFlags["SetAccessorExcludes"] = 78783] = "SetAccessorExcludes"; + SymbolFlags[SymbolFlags["AccessorExcludes"] = 13247] = "AccessorExcludes"; + SymbolFlags[SymbolFlags["TypeParameterExcludes"] = 526824] = "TypeParameterExcludes"; + SymbolFlags[SymbolFlags["TypeAliasExcludes"] = 788968] = "TypeAliasExcludes"; + SymbolFlags[SymbolFlags["AliasExcludes"] = 2097152] = "AliasExcludes"; + SymbolFlags[SymbolFlags["ModuleMember"] = 2623475] = "ModuleMember"; + SymbolFlags[SymbolFlags["ExportHasLocal"] = 944] = "ExportHasLocal"; + SymbolFlags[SymbolFlags["BlockScoped"] = 418] = "BlockScoped"; + SymbolFlags[SymbolFlags["PropertyOrAccessor"] = 98308] = "PropertyOrAccessor"; + SymbolFlags[SymbolFlags["ClassMember"] = 106500] = "ClassMember"; + SymbolFlags[SymbolFlags["ExportSupportsDefaultModifier"] = 112] = "ExportSupportsDefaultModifier"; + SymbolFlags[SymbolFlags["ExportDoesNotSupportDefaultModifier"] = -113] = "ExportDoesNotSupportDefaultModifier"; + SymbolFlags[SymbolFlags["Classifiable"] = 2885600] = "Classifiable"; + SymbolFlags[SymbolFlags["LateBindingContainer"] = 6256] = "LateBindingContainer"; +})(SymbolFlags || (SymbolFlags = {})); diff --git a/_api/src/sync/api.ts b/_packages/api/src/sync/api.ts similarity index 84% rename from _api/src/sync/api.ts rename to _packages/api/src/sync/api.ts index cd8966ccf5..420f6af83a 100644 --- a/_api/src/sync/api.ts +++ b/_packages/api/src/sync/api.ts @@ -1,4 +1,4 @@ -import type { SourceFile as SourceFileNode } from "../ast/ast.ts"; +import type { SourceFile as SourceFileNode } from "@typescript/ast"; import { type API as BaseAPI, type APIOptions as BaseAPIOptions, @@ -8,12 +8,11 @@ import { Type as BaseType, } from "../base/api.ts"; import type { - FileSystemEntries, - ParsedCommandLine, - ProjectData, - SymbolData, - TypeData, -} from "../types.ts"; + ConfigResponse, + ProjectResponse, + SymbolResponse, + TypeResponse, +} from "../base/proto.ts"; import { Client } from "./client.ts"; export interface APIOptions extends BaseAPIOptions { @@ -25,7 +24,7 @@ export class API implements BaseAPI { this.client = new Client(options); } - parseConfigFile(fileName: string): ParsedCommandLine { + parseConfigFile(fileName: string): ConfigResponse { return this.client.request("parseConfigFile", { fileName }); } @@ -42,7 +41,7 @@ export class API implements BaseAPI { export class Project extends BaseProject { private client: Client; - constructor(client: Client, data: ProjectData) { + constructor(client: Client, data: ProjectResponse) { super(data); this.client = client; } @@ -65,7 +64,7 @@ export class Project extends BaseProject { } else { const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); - return data.map((d: SymbolData | null) => d ? new Symbol(this.client, this, d) : undefined); + return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, this, d) : undefined); } } } @@ -84,7 +83,7 @@ export class Symbol extends BaseSymbol { private client: Client; private project: Project; - constructor(client: Client, project: Project, data: SymbolData) { + constructor(client: Client, project: Project, data: SymbolResponse) { super(data); this.client = client; this.project = project; @@ -98,7 +97,7 @@ export class Symbol extends BaseSymbol { export class Type extends BaseType { private client: Client; - constructor(client: Client, data: TypeData) { + constructor(client: Client, data: TypeResponse) { super(data); this.client = client; } diff --git a/_api/src/sync/client.ts b/_packages/api/src/sync/client.ts similarity index 78% rename from _api/src/sync/client.ts rename to _packages/api/src/sync/client.ts index e76d8b13b0..9c87f22fc6 100644 --- a/_api/src/sync/client.ts +++ b/_packages/api/src/sync/client.ts @@ -1,17 +1,11 @@ import { SyncRpcChannel } from "libsyncrpc"; -import type { FileSystemEntries } from "../types.ts"; +import type { FileSystem } from "../base/fs.ts"; export interface ClientOptions { tsserverPath: string; cwd?: string; logFile?: string; - fs?: { - directoryExists?: (directoryName: string) => boolean | undefined; - fileExists?: (fileName: string) => boolean | undefined; - getAccessibleEntries?: (directoryName: string) => FileSystemEntries | undefined; - readFile?: (fileName: string) => string | null | undefined; - realpath?: (path: string) => string | undefined; - }; + fs?: FileSystem; } export class Client { diff --git a/_packages/api/tsconfig.json b/_packages/api/tsconfig.json new file mode 100644 index 0000000000..928d457d02 --- /dev/null +++ b/_packages/api/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "module": "node16", + "strict": true, + "composite": true, + "forceConsistentCasingInFileNames": true, + "rewriteRelativeImportExtensions": true, + "verbatimModuleSyntax": true, + "isolatedDeclarations": true, + "sourceMap": true, + "declaration": true, + "declarationMap": true, + "rootDir": "src", + "outDir": "dist" + }, + "include": ["src"], + "references": [ + { "path": "../ast" } + ] +} diff --git a/_packages/ast/package.json b/_packages/ast/package.json new file mode 100644 index 0000000000..bbc3099e70 --- /dev/null +++ b/_packages/ast/package.json @@ -0,0 +1,39 @@ +{ + "private": true, + "name": "@typescript/ast", + "version": "1.0.0", + "description": "TypeScript AST definitions", + "type": "module", + "imports": { + "#syntaxKind": { + "@typescript/source": { + "types": "./src/syntaxKind.enum.ts", + "default": "./src/syntaxKind.ts" + }, + "types": "./dist/kind.enum.d.ts", + "default": "./dist/kind.js" + }, + "#tokenFlags": { + "@typescript/source": { + "types": "./src/tokenFlags.enum.ts", + "default": "./src/tokenFlags.ts" + }, + "types": "./dist/tokenFlags.enum.d.ts", + "default": "./dist/tokenFlags.js" + } + }, + "exports": { + ".": { + "@typescript/source": "./src/index.ts", + "default": "./dist/index.js" + }, + "./is": { + "@typescript/source": "./src/is.ts", + "default": "./dist/is.js" + }, + "./utils": { + "@typescript/source": "./src/utils.ts", + "default": "./dist/utils.js" + } + } +} \ No newline at end of file diff --git a/_packages/ast/src/index.ts b/_packages/ast/src/index.ts new file mode 100644 index 0000000000..712a160804 --- /dev/null +++ b/_packages/ast/src/index.ts @@ -0,0 +1,4 @@ +export { SyntaxKind } from "#syntaxKind"; +export * from "./is.ts"; +export * from "./nodes.ts"; +export * from "./utils.ts"; diff --git a/_api/src/ast/nodeTests.ts b/_packages/ast/src/is.ts similarity index 98% rename from _api/src/ast/nodeTests.ts rename to _packages/ast/src/is.ts index 95b9014a8b..0db6239e5c 100644 --- a/_api/src/ast/nodeTests.ts +++ b/_packages/ast/src/is.ts @@ -1,4 +1,4 @@ -import { SyntaxKind } from "#ast/syntax"; +import { SyntaxKind } from "#syntaxKind"; import type { AbstractKeyword, AccessorKeyword, @@ -7,8 +7,6 @@ import type { ArrayTypeNode, ArrowFunction, AsExpression, - AssertClause, - AssertEntry, AssertsKeyword, AsteriskToken, AsyncKeyword, @@ -214,17 +212,7 @@ import type { WhileStatement, WithStatement, YieldExpression, -} from "./ast.ts"; - -export function tryCast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut | undefined { - return value !== undefined && test(value) ? value : undefined; -} - -export function cast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut { - if (value !== undefined && test(value)) return value; - - throw new Error(`Invalid cast. The supplied value ${value} did not pass the test '${test.name}'.`); -} +} from "./nodes.ts"; // Literals diff --git a/_api/src/ast/ast.ts b/_packages/ast/src/nodes.ts similarity index 91% rename from _api/src/ast/ast.ts rename to _packages/ast/src/nodes.ts index badc7d995d..d70f0d53c9 100644 --- a/_api/src/ast/ast.ts +++ b/_packages/ast/src/nodes.ts @@ -1,4 +1,5 @@ -import { SyntaxKind } from "#ast/syntax"; +import { SyntaxKind } from "#syntaxKind"; +import { TokenFlags } from "#tokenFlags"; export interface TextRange { pos: number; @@ -8,12 +9,10 @@ export interface TextRange { export interface Node extends ReadonlyTextRange { readonly kind: SyntaxKind; readonly parent: Node; - - forEachChild(cbNode: (node: Node) => T | undefined): T | undefined; } export interface SourceFile extends Node { - kind: SyntaxKind.SourceFile; + readonly kind: SyntaxKind.SourceFile; readonly statements: NodeArray; } @@ -101,9 +100,6 @@ export type PunctuationSyntaxKind = | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken; -/** @internal */ -export type PunctuationOrKeywordSyntaxKind = PunctuationSyntaxKind | KeywordSyntaxKind; - export type KeywordSyntaxKind = | SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword @@ -220,43 +216,6 @@ export type KeywordTypeSyntaxKind = | SyntaxKind.UnknownKeyword | SyntaxKind.VoidKeyword; -/** @internal */ -export type TypeNodeSyntaxKind = - | KeywordTypeSyntaxKind - | SyntaxKind.TypePredicate - | SyntaxKind.TypeReference - | SyntaxKind.FunctionType - | SyntaxKind.ConstructorType - | SyntaxKind.TypeQuery - | SyntaxKind.TypeLiteral - | SyntaxKind.ArrayType - | SyntaxKind.TupleType - | SyntaxKind.NamedTupleMember - | SyntaxKind.OptionalType - | SyntaxKind.RestType - | SyntaxKind.UnionType - | SyntaxKind.IntersectionType - | SyntaxKind.ConditionalType - | SyntaxKind.InferType - | SyntaxKind.ParenthesizedType - | SyntaxKind.ThisType - | SyntaxKind.TypeOperator - | SyntaxKind.IndexedAccessType - | SyntaxKind.MappedType - | SyntaxKind.LiteralType - | SyntaxKind.TemplateLiteralType - | SyntaxKind.TemplateLiteralTypeSpan - | SyntaxKind.ImportType - | SyntaxKind.ExpressionWithTypeArguments - | SyntaxKind.JSDocTypeExpression - | SyntaxKind.JSDocAllType - | SyntaxKind.JSDocNonNullableType - | SyntaxKind.JSDocNullableType - | SyntaxKind.JSDocOptionalType - | SyntaxKind.JSDocVariadicType - | SyntaxKind.JSDocSignature - | SyntaxKind.JSDocTypeLiteral; - export type TokenSyntaxKind = | SyntaxKind.Unknown | SyntaxKind.EndOfFile @@ -308,7 +267,6 @@ export interface NodeArray extends ReadonlyTextRange, ReadonlyArray { readonly length: number; readonly pos: number; readonly end: number; - at(index: number): T; } // TODO(rbuckton): Constraint 'TKind' to 'TokenSyntaxKind' @@ -487,7 +445,6 @@ export interface SignatureDeclarationBase extends NamedDeclaration { readonly typeParameters?: NodeArray | undefined; readonly parameters: NodeArray; readonly type?: TypeNode | undefined; - /** @internal */ typeArguments?: NodeArray; // Used for quick info, replaces typeParameters for instantiated signatures } export type SignatureDeclaration = @@ -551,7 +508,6 @@ export interface BindingElement extends NamedDeclaration { readonly name: BindingName; // Declared binding element name readonly initializer?: Expression; // Optional initializer } -["parent"]; // dprint-ignore export interface PropertySignature extends TypeElement { @@ -561,9 +517,6 @@ export interface PropertySignature extends TypeElement { readonly name: PropertyName; // Declared property name readonly questionToken?: QuestionToken; // Present on optional property readonly type?: TypeNode; // Optional type annotation - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly initializer?: Expression | undefined; // A property signature cannot have an initializer } // dprint-ignore @@ -600,11 +553,6 @@ export interface PropertyAssignment extends ObjectLiteralElement { readonly parent: ObjectLiteralExpression; readonly name: PropertyName; readonly initializer: Expression; - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly modifiers?: NodeArray | undefined; // property assignment cannot have decorators or modifiers - /** @internal */ readonly questionToken?: QuestionToken | undefined; // property assignment cannot have a question token - /** @internal */ readonly exclamationToken?: ExclamationToken | undefined; // property assignment cannot have an exclamation token } export interface ShorthandPropertyAssignment extends ObjectLiteralElement { @@ -615,11 +563,6 @@ export interface ShorthandPropertyAssignment extends ObjectLiteralElement { // it is a grammar error to appear in actual object initializer (see `isGrammarError` in utilities.ts): readonly equalsToken?: EqualsToken; readonly objectAssignmentInitializer?: Expression; - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly modifiers?: NodeArray | undefined; // shorthand property assignment cannot have decorators or modifiers - /** @internal */ readonly questionToken?: QuestionToken | undefined; // shorthand property assignment cannot have a question token - /** @internal */ readonly exclamationToken?: ExclamationToken | undefined; // shorthand property assignment cannot have an exclamation token } export interface SpreadAssignment extends ObjectLiteralElement { @@ -714,9 +657,6 @@ export interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassEle readonly modifiers?: NodeArray | undefined; readonly name: PropertyName; readonly body?: FunctionBody | undefined; - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly exclamationToken?: ExclamationToken | undefined; // A method cannot have an exclamation token } export interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement { @@ -724,10 +664,6 @@ export interface ConstructorDeclaration extends FunctionLikeDeclarationBase, Cla readonly parent: ClassLikeDeclaration; readonly modifiers?: NodeArray | undefined; readonly body?: FunctionBody | undefined; - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly typeParameters?: NodeArray; // A constructor cannot have type parameters - /** @internal */ readonly type?: TypeNode; // A constructor cannot have a return type annotation } /** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ @@ -744,9 +680,6 @@ export interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, Cla readonly modifiers?: NodeArray; readonly name: PropertyName; readonly body?: FunctionBody; - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly typeParameters?: NodeArray | undefined; // A get accessor cannot have type parameters } // See the comment on MethodDeclaration for the intuition behind SetAccessorDeclaration being a @@ -757,10 +690,6 @@ export interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, Cla readonly modifiers?: NodeArray; readonly name: PropertyName; readonly body?: FunctionBody; - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly typeParameters?: NodeArray | undefined; // A set accessor cannot have type parameters - /** @internal */ readonly type?: TypeNode | undefined; // A set accessor cannot have a return type } export type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; @@ -776,9 +705,6 @@ export interface ClassStaticBlockDeclaration extends ClassElement { readonly kind: SyntaxKind.ClassStaticBlockDeclaration; readonly parent: ClassDeclaration | ClassExpression; readonly body: Block; - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly modifiers?: NodeArray | undefined; } export interface TypeNode extends Node { @@ -810,9 +736,6 @@ export interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDe export interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { readonly kind: SyntaxKind.FunctionType; - - // A function type cannot have modifiers - /** @internal */ readonly modifiers?: undefined; } export interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { @@ -914,11 +837,6 @@ export interface TypeOperatorNode extends TypeNode { readonly type: TypeNode; } -/** @internal @knipignore */ -export interface UniqueTypeOperatorNode extends TypeOperatorNode { - readonly operator: SyntaxKind.UniqueKeyword; -} - export interface IndexedAccessTypeNode extends TypeNode { readonly kind: SyntaxKind.IndexedAccessType; readonly objectType: TypeNode; @@ -943,14 +861,6 @@ export interface LiteralTypeNode extends TypeNode { export interface StringLiteral extends LiteralExpression, Declaration { readonly kind: SyntaxKind.StringLiteral; - /** @internal */ - readonly textSourceNode?: Identifier | StringLiteralLike | NumericLiteral | PrivateIdentifier | JsxNamespacedName | BigIntLiteral; // Allows a StringLiteral to get its text from another node (used by transforms). - /** - * Note: this is only set when synthesizing a node, not during parsing. - * - * @internal - */ - readonly singleQuote?: boolean; } export type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; @@ -1260,9 +1170,6 @@ export type ObjectBindingOrAssignmentElement = | SpreadAssignment // AssignmentRestProperty ; -/** @internal @knipignore */ -export type ObjectAssignmentElement = Exclude; - export type ArrayBindingOrAssignmentElement = | BindingElement | OmittedExpression // Elision @@ -1288,9 +1195,6 @@ export type BindingOrAssignmentElementTarget = | ElementAccessExpression | OmittedExpression; -/** @internal @knipignore */ -export type AssignmentElementTarget = Exclude; - export type ObjectBindingOrAssignmentPattern = | ObjectBindingPattern | ObjectLiteralExpression // ObjectAssignmentPattern @@ -1343,7 +1247,6 @@ export interface LiteralLikeNode extends Node { export interface TemplateLiteralLikeNode extends LiteralLikeNode { rawText?: string; - /** @internal */ templateFlags?: TokenFlags; } @@ -1359,60 +1262,12 @@ export interface RegularExpressionLiteral extends LiteralExpression { } // dprint-ignore - export interface NoSubstitutionTemplateLiteral extends LiteralExpression, TemplateLiteralLikeNode, Declaration { readonly kind: SyntaxKind.NoSubstitutionTemplateLiteral; - /** @internal */ - templateFlags?: TokenFlags; -} - -// dprint-ignore -export const enum TokenFlags { - None = 0, - /** @internal */ - PrecedingLineBreak = 1 << 0, - /** @internal */ - PrecedingJSDocComment = 1 << 1, - /** @internal */ - Unterminated = 1 << 2, - /** @internal */ - ExtendedUnicodeEscape = 1 << 3, // e.g. `\u{10ffff}` - Scientific = 1 << 4, // e.g. `10e2` - Octal = 1 << 5, // e.g. `0777` - HexSpecifier = 1 << 6, // e.g. `0x00000000` - BinarySpecifier = 1 << 7, // e.g. `0b0110010000000000` - OctalSpecifier = 1 << 8, // e.g. `0o777` - /** @internal */ - ContainsSeparator = 1 << 9, // e.g. `0b1100_0101` - /** @internal */ - UnicodeEscape = 1 << 10, // e.g. `\u00a0` - /** @internal */ - ContainsInvalidEscape = 1 << 11, // e.g. `\uhello` - /** @internal */ - HexEscape = 1 << 12, // e.g. `\xa0` - /** @internal */ - ContainsLeadingZero = 1 << 13, // e.g. `0888` - /** @internal */ - ContainsInvalidSeparator = 1 << 14, // e.g. `0_1` - /** @internal */ - PrecedingJSDocLeadingAsterisks = 1 << 15, - /** @internal */ - BinaryOrOctalSpecifier = BinarySpecifier | OctalSpecifier, - /** @internal */ - WithSpecifier = HexSpecifier | BinaryOrOctalSpecifier, - /** @internal */ - StringLiteralFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, - /** @internal */ - NumericLiteralFlags = Scientific | Octal | ContainsLeadingZero | WithSpecifier | ContainsSeparator | ContainsInvalidSeparator, - /** @internal */ - TemplateLiteralLikeFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, - /** @internal */ - IsInvalid = Octal | ContainsLeadingZero | ContainsInvalidSeparator | ContainsInvalidEscape, } export interface NumericLiteral extends LiteralExpression, Declaration { readonly kind: SyntaxKind.NumericLiteral; - /** @internal */ readonly numericLiteralFlags: TokenFlags; } @@ -1431,21 +1286,18 @@ export type LiteralToken = export interface TemplateHead extends TemplateLiteralLikeNode { readonly kind: SyntaxKind.TemplateHead; readonly parent: TemplateExpression | TemplateLiteralTypeNode; - /** @internal */ templateFlags?: TokenFlags; } export interface TemplateMiddle extends TemplateLiteralLikeNode { readonly kind: SyntaxKind.TemplateMiddle; readonly parent: TemplateSpan | TemplateLiteralTypeSpan; - /** @internal */ templateFlags?: TokenFlags; } export interface TemplateTail extends TemplateLiteralLikeNode { readonly kind: SyntaxKind.TemplateTail; readonly parent: TemplateSpan | TemplateLiteralTypeSpan; - /** @internal */ templateFlags?: TokenFlags; } @@ -1485,7 +1337,6 @@ export interface ParenthesizedExpression extends PrimaryExpression { export interface ArrayLiteralExpression extends PrimaryExpression { readonly kind: SyntaxKind.ArrayLiteralExpression; readonly elements: NodeArray; - /** @internal */ multiLine?: boolean; } @@ -1508,7 +1359,6 @@ export interface ObjectLiteralExpressionBase ext // An ObjectLiteralExpression is the declaration node for an anonymous symbol. export interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { readonly kind: SyntaxKind.ObjectLiteralExpression; - /** @internal */ multiLine?: boolean; } @@ -1601,7 +1451,6 @@ export interface TaggedTemplateExpression extends MemberExpression { readonly tag: LeftHandSideExpression; readonly typeArguments?: NodeArray; readonly template: TemplateLiteral; - /** @internal */ questionDotToken?: QuestionDotToken; // NOTE: Invalid syntax, only used to report a grammar error. } export interface InstanceofExpression extends BinaryExpression { @@ -1805,7 +1654,7 @@ export interface DebuggerStatement extends Statement { export interface Block extends Statement { readonly kind: SyntaxKind.Block; readonly statements: NodeArray; - /** @internal */ multiLine?: boolean; + multiLine?: boolean; } export interface VariableStatement extends Statement { @@ -2186,9 +2035,6 @@ export interface NamespaceExport extends NamedDeclaration { export interface NamespaceExportDeclaration extends DeclarationStatement { readonly kind: SyntaxKind.NamespaceExportDeclaration; readonly name: Identifier; - - // The following properties are used only to report grammar errors (see `isGrammarError` in utilities.ts) - /** @internal */ readonly modifiers?: NodeArray | undefined; } export interface ExportDeclaration extends DeclarationStatement { diff --git a/_api/src/ast/syntaxKind.enum.ts b/_packages/ast/src/syntaxKind.enum.ts similarity index 100% rename from _api/src/ast/syntaxKind.enum.ts rename to _packages/ast/src/syntaxKind.enum.ts diff --git a/_packages/ast/src/syntaxKind.ts b/_packages/ast/src/syntaxKind.ts new file mode 100644 index 0000000000..0da76b594f --- /dev/null +++ b/_packages/ast/src/syntaxKind.ts @@ -0,0 +1,355 @@ +export var SyntaxKind: any; +(function (SyntaxKind) { + SyntaxKind[SyntaxKind["Unknown"] = 0] = "Unknown"; + SyntaxKind[SyntaxKind["EndOfFile"] = 1] = "EndOfFile"; + SyntaxKind[SyntaxKind["SingleLineCommentTrivia"] = 2] = "SingleLineCommentTrivia"; + SyntaxKind[SyntaxKind["MultiLineCommentTrivia"] = 3] = "MultiLineCommentTrivia"; + SyntaxKind[SyntaxKind["NewLineTrivia"] = 4] = "NewLineTrivia"; + SyntaxKind[SyntaxKind["WhitespaceTrivia"] = 5] = "WhitespaceTrivia"; + SyntaxKind[SyntaxKind["ConflictMarkerTrivia"] = 6] = "ConflictMarkerTrivia"; + SyntaxKind[SyntaxKind["NonTextFileMarkerTrivia"] = 7] = "NonTextFileMarkerTrivia"; + SyntaxKind[SyntaxKind["NumericLiteral"] = 8] = "NumericLiteral"; + SyntaxKind[SyntaxKind["BigIntLiteral"] = 9] = "BigIntLiteral"; + SyntaxKind[SyntaxKind["StringLiteral"] = 10] = "StringLiteral"; + SyntaxKind[SyntaxKind["JsxText"] = 11] = "JsxText"; + SyntaxKind[SyntaxKind["JsxTextAllWhiteSpaces"] = 12] = "JsxTextAllWhiteSpaces"; + SyntaxKind[SyntaxKind["RegularExpressionLiteral"] = 13] = "RegularExpressionLiteral"; + SyntaxKind[SyntaxKind["NoSubstitutionTemplateLiteral"] = 14] = "NoSubstitutionTemplateLiteral"; + SyntaxKind[SyntaxKind["TemplateHead"] = 15] = "TemplateHead"; + SyntaxKind[SyntaxKind["TemplateMiddle"] = 16] = "TemplateMiddle"; + SyntaxKind[SyntaxKind["TemplateTail"] = 17] = "TemplateTail"; + SyntaxKind[SyntaxKind["OpenBraceToken"] = 18] = "OpenBraceToken"; + SyntaxKind[SyntaxKind["CloseBraceToken"] = 19] = "CloseBraceToken"; + SyntaxKind[SyntaxKind["OpenParenToken"] = 20] = "OpenParenToken"; + SyntaxKind[SyntaxKind["CloseParenToken"] = 21] = "CloseParenToken"; + SyntaxKind[SyntaxKind["OpenBracketToken"] = 22] = "OpenBracketToken"; + SyntaxKind[SyntaxKind["CloseBracketToken"] = 23] = "CloseBracketToken"; + SyntaxKind[SyntaxKind["DotToken"] = 24] = "DotToken"; + SyntaxKind[SyntaxKind["DotDotDotToken"] = 25] = "DotDotDotToken"; + SyntaxKind[SyntaxKind["SemicolonToken"] = 26] = "SemicolonToken"; + SyntaxKind[SyntaxKind["CommaToken"] = 27] = "CommaToken"; + SyntaxKind[SyntaxKind["QuestionDotToken"] = 28] = "QuestionDotToken"; + SyntaxKind[SyntaxKind["LessThanToken"] = 29] = "LessThanToken"; + SyntaxKind[SyntaxKind["LessThanSlashToken"] = 30] = "LessThanSlashToken"; + SyntaxKind[SyntaxKind["GreaterThanToken"] = 31] = "GreaterThanToken"; + SyntaxKind[SyntaxKind["LessThanEqualsToken"] = 32] = "LessThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanEqualsToken"] = 33] = "GreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["EqualsEqualsToken"] = 34] = "EqualsEqualsToken"; + SyntaxKind[SyntaxKind["ExclamationEqualsToken"] = 35] = "ExclamationEqualsToken"; + SyntaxKind[SyntaxKind["EqualsEqualsEqualsToken"] = 36] = "EqualsEqualsEqualsToken"; + SyntaxKind[SyntaxKind["ExclamationEqualsEqualsToken"] = 37] = "ExclamationEqualsEqualsToken"; + SyntaxKind[SyntaxKind["EqualsGreaterThanToken"] = 38] = "EqualsGreaterThanToken"; + SyntaxKind[SyntaxKind["PlusToken"] = 39] = "PlusToken"; + SyntaxKind[SyntaxKind["MinusToken"] = 40] = "MinusToken"; + SyntaxKind[SyntaxKind["AsteriskToken"] = 41] = "AsteriskToken"; + SyntaxKind[SyntaxKind["AsteriskAsteriskToken"] = 42] = "AsteriskAsteriskToken"; + SyntaxKind[SyntaxKind["SlashToken"] = 43] = "SlashToken"; + SyntaxKind[SyntaxKind["PercentToken"] = 44] = "PercentToken"; + SyntaxKind[SyntaxKind["PlusPlusToken"] = 45] = "PlusPlusToken"; + SyntaxKind[SyntaxKind["MinusMinusToken"] = 46] = "MinusMinusToken"; + SyntaxKind[SyntaxKind["LessThanLessThanToken"] = 47] = "LessThanLessThanToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanToken"] = 48] = "GreaterThanGreaterThanToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 49] = "GreaterThanGreaterThanGreaterThanToken"; + SyntaxKind[SyntaxKind["AmpersandToken"] = 50] = "AmpersandToken"; + SyntaxKind[SyntaxKind["BarToken"] = 51] = "BarToken"; + SyntaxKind[SyntaxKind["CaretToken"] = 52] = "CaretToken"; + SyntaxKind[SyntaxKind["ExclamationToken"] = 53] = "ExclamationToken"; + SyntaxKind[SyntaxKind["TildeToken"] = 54] = "TildeToken"; + SyntaxKind[SyntaxKind["AmpersandAmpersandToken"] = 55] = "AmpersandAmpersandToken"; + SyntaxKind[SyntaxKind["BarBarToken"] = 56] = "BarBarToken"; + SyntaxKind[SyntaxKind["QuestionToken"] = 57] = "QuestionToken"; + SyntaxKind[SyntaxKind["ColonToken"] = 58] = "ColonToken"; + SyntaxKind[SyntaxKind["AtToken"] = 59] = "AtToken"; + SyntaxKind[SyntaxKind["QuestionQuestionToken"] = 60] = "QuestionQuestionToken"; + SyntaxKind[SyntaxKind["BacktickToken"] = 61] = "BacktickToken"; + SyntaxKind[SyntaxKind["HashToken"] = 62] = "HashToken"; + SyntaxKind[SyntaxKind["EqualsToken"] = 63] = "EqualsToken"; + SyntaxKind[SyntaxKind["PlusEqualsToken"] = 64] = "PlusEqualsToken"; + SyntaxKind[SyntaxKind["MinusEqualsToken"] = 65] = "MinusEqualsToken"; + SyntaxKind[SyntaxKind["AsteriskEqualsToken"] = 66] = "AsteriskEqualsToken"; + SyntaxKind[SyntaxKind["AsteriskAsteriskEqualsToken"] = 67] = "AsteriskAsteriskEqualsToken"; + SyntaxKind[SyntaxKind["SlashEqualsToken"] = 68] = "SlashEqualsToken"; + SyntaxKind[SyntaxKind["PercentEqualsToken"] = 69] = "PercentEqualsToken"; + SyntaxKind[SyntaxKind["LessThanLessThanEqualsToken"] = 70] = "LessThanLessThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 71] = "GreaterThanGreaterThanEqualsToken"; + SyntaxKind[ + SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 72 + ] = "GreaterThanGreaterThanGreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["AmpersandEqualsToken"] = 73] = "AmpersandEqualsToken"; + SyntaxKind[SyntaxKind["BarEqualsToken"] = 74] = "BarEqualsToken"; + SyntaxKind[SyntaxKind["BarBarEqualsToken"] = 75] = "BarBarEqualsToken"; + SyntaxKind[SyntaxKind["AmpersandAmpersandEqualsToken"] = 76] = "AmpersandAmpersandEqualsToken"; + SyntaxKind[SyntaxKind["QuestionQuestionEqualsToken"] = 77] = "QuestionQuestionEqualsToken"; + SyntaxKind[SyntaxKind["CaretEqualsToken"] = 78] = "CaretEqualsToken"; + SyntaxKind[SyntaxKind["Identifier"] = 79] = "Identifier"; + SyntaxKind[SyntaxKind["PrivateIdentifier"] = 80] = "PrivateIdentifier"; + SyntaxKind[SyntaxKind["JSDocCommentTextToken"] = 81] = "JSDocCommentTextToken"; + SyntaxKind[SyntaxKind["BreakKeyword"] = 82] = "BreakKeyword"; + SyntaxKind[SyntaxKind["CaseKeyword"] = 83] = "CaseKeyword"; + SyntaxKind[SyntaxKind["CatchKeyword"] = 84] = "CatchKeyword"; + SyntaxKind[SyntaxKind["ClassKeyword"] = 85] = "ClassKeyword"; + SyntaxKind[SyntaxKind["ConstKeyword"] = 86] = "ConstKeyword"; + SyntaxKind[SyntaxKind["ContinueKeyword"] = 87] = "ContinueKeyword"; + SyntaxKind[SyntaxKind["DebuggerKeyword"] = 88] = "DebuggerKeyword"; + SyntaxKind[SyntaxKind["DefaultKeyword"] = 89] = "DefaultKeyword"; + SyntaxKind[SyntaxKind["DeleteKeyword"] = 90] = "DeleteKeyword"; + SyntaxKind[SyntaxKind["DoKeyword"] = 91] = "DoKeyword"; + SyntaxKind[SyntaxKind["ElseKeyword"] = 92] = "ElseKeyword"; + SyntaxKind[SyntaxKind["EnumKeyword"] = 93] = "EnumKeyword"; + SyntaxKind[SyntaxKind["ExportKeyword"] = 94] = "ExportKeyword"; + SyntaxKind[SyntaxKind["ExtendsKeyword"] = 95] = "ExtendsKeyword"; + SyntaxKind[SyntaxKind["FalseKeyword"] = 96] = "FalseKeyword"; + SyntaxKind[SyntaxKind["FinallyKeyword"] = 97] = "FinallyKeyword"; + SyntaxKind[SyntaxKind["ForKeyword"] = 98] = "ForKeyword"; + SyntaxKind[SyntaxKind["FunctionKeyword"] = 99] = "FunctionKeyword"; + SyntaxKind[SyntaxKind["IfKeyword"] = 100] = "IfKeyword"; + SyntaxKind[SyntaxKind["ImportKeyword"] = 101] = "ImportKeyword"; + SyntaxKind[SyntaxKind["InKeyword"] = 102] = "InKeyword"; + SyntaxKind[SyntaxKind["InstanceOfKeyword"] = 103] = "InstanceOfKeyword"; + SyntaxKind[SyntaxKind["NewKeyword"] = 104] = "NewKeyword"; + SyntaxKind[SyntaxKind["NullKeyword"] = 105] = "NullKeyword"; + SyntaxKind[SyntaxKind["ReturnKeyword"] = 106] = "ReturnKeyword"; + SyntaxKind[SyntaxKind["SuperKeyword"] = 107] = "SuperKeyword"; + SyntaxKind[SyntaxKind["SwitchKeyword"] = 108] = "SwitchKeyword"; + SyntaxKind[SyntaxKind["ThisKeyword"] = 109] = "ThisKeyword"; + SyntaxKind[SyntaxKind["ThrowKeyword"] = 110] = "ThrowKeyword"; + SyntaxKind[SyntaxKind["TrueKeyword"] = 111] = "TrueKeyword"; + SyntaxKind[SyntaxKind["TryKeyword"] = 112] = "TryKeyword"; + SyntaxKind[SyntaxKind["TypeOfKeyword"] = 113] = "TypeOfKeyword"; + SyntaxKind[SyntaxKind["VarKeyword"] = 114] = "VarKeyword"; + SyntaxKind[SyntaxKind["VoidKeyword"] = 115] = "VoidKeyword"; + SyntaxKind[SyntaxKind["WhileKeyword"] = 116] = "WhileKeyword"; + SyntaxKind[SyntaxKind["WithKeyword"] = 117] = "WithKeyword"; + SyntaxKind[SyntaxKind["ImplementsKeyword"] = 118] = "ImplementsKeyword"; + SyntaxKind[SyntaxKind["InterfaceKeyword"] = 119] = "InterfaceKeyword"; + SyntaxKind[SyntaxKind["LetKeyword"] = 120] = "LetKeyword"; + SyntaxKind[SyntaxKind["PackageKeyword"] = 121] = "PackageKeyword"; + SyntaxKind[SyntaxKind["PrivateKeyword"] = 122] = "PrivateKeyword"; + SyntaxKind[SyntaxKind["ProtectedKeyword"] = 123] = "ProtectedKeyword"; + SyntaxKind[SyntaxKind["PublicKeyword"] = 124] = "PublicKeyword"; + SyntaxKind[SyntaxKind["StaticKeyword"] = 125] = "StaticKeyword"; + SyntaxKind[SyntaxKind["YieldKeyword"] = 126] = "YieldKeyword"; + SyntaxKind[SyntaxKind["AbstractKeyword"] = 127] = "AbstractKeyword"; + SyntaxKind[SyntaxKind["AccessorKeyword"] = 128] = "AccessorKeyword"; + SyntaxKind[SyntaxKind["AsKeyword"] = 129] = "AsKeyword"; + SyntaxKind[SyntaxKind["AssertsKeyword"] = 130] = "AssertsKeyword"; + SyntaxKind[SyntaxKind["AssertKeyword"] = 131] = "AssertKeyword"; + SyntaxKind[SyntaxKind["AnyKeyword"] = 132] = "AnyKeyword"; + SyntaxKind[SyntaxKind["AsyncKeyword"] = 133] = "AsyncKeyword"; + SyntaxKind[SyntaxKind["AwaitKeyword"] = 134] = "AwaitKeyword"; + SyntaxKind[SyntaxKind["BooleanKeyword"] = 135] = "BooleanKeyword"; + SyntaxKind[SyntaxKind["ConstructorKeyword"] = 136] = "ConstructorKeyword"; + SyntaxKind[SyntaxKind["DeclareKeyword"] = 137] = "DeclareKeyword"; + SyntaxKind[SyntaxKind["GetKeyword"] = 138] = "GetKeyword"; + SyntaxKind[SyntaxKind["ImmediateKeyword"] = 139] = "ImmediateKeyword"; + SyntaxKind[SyntaxKind["InferKeyword"] = 140] = "InferKeyword"; + SyntaxKind[SyntaxKind["IntrinsicKeyword"] = 141] = "IntrinsicKeyword"; + SyntaxKind[SyntaxKind["IsKeyword"] = 142] = "IsKeyword"; + SyntaxKind[SyntaxKind["KeyOfKeyword"] = 143] = "KeyOfKeyword"; + SyntaxKind[SyntaxKind["ModuleKeyword"] = 144] = "ModuleKeyword"; + SyntaxKind[SyntaxKind["NamespaceKeyword"] = 145] = "NamespaceKeyword"; + SyntaxKind[SyntaxKind["NeverKeyword"] = 146] = "NeverKeyword"; + SyntaxKind[SyntaxKind["OutKeyword"] = 147] = "OutKeyword"; + SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 148] = "ReadonlyKeyword"; + SyntaxKind[SyntaxKind["RequireKeyword"] = 149] = "RequireKeyword"; + SyntaxKind[SyntaxKind["NumberKeyword"] = 150] = "NumberKeyword"; + SyntaxKind[SyntaxKind["ObjectKeyword"] = 151] = "ObjectKeyword"; + SyntaxKind[SyntaxKind["SatisfiesKeyword"] = 152] = "SatisfiesKeyword"; + SyntaxKind[SyntaxKind["SetKeyword"] = 153] = "SetKeyword"; + SyntaxKind[SyntaxKind["StringKeyword"] = 154] = "StringKeyword"; + SyntaxKind[SyntaxKind["SymbolKeyword"] = 155] = "SymbolKeyword"; + SyntaxKind[SyntaxKind["TypeKeyword"] = 156] = "TypeKeyword"; + SyntaxKind[SyntaxKind["UndefinedKeyword"] = 157] = "UndefinedKeyword"; + SyntaxKind[SyntaxKind["UniqueKeyword"] = 158] = "UniqueKeyword"; + SyntaxKind[SyntaxKind["UnknownKeyword"] = 159] = "UnknownKeyword"; + SyntaxKind[SyntaxKind["UsingKeyword"] = 160] = "UsingKeyword"; + SyntaxKind[SyntaxKind["FromKeyword"] = 161] = "FromKeyword"; + SyntaxKind[SyntaxKind["GlobalKeyword"] = 162] = "GlobalKeyword"; + SyntaxKind[SyntaxKind["BigIntKeyword"] = 163] = "BigIntKeyword"; + SyntaxKind[SyntaxKind["OverrideKeyword"] = 164] = "OverrideKeyword"; + SyntaxKind[SyntaxKind["OfKeyword"] = 165] = "OfKeyword"; + SyntaxKind[SyntaxKind["QualifiedName"] = 166] = "QualifiedName"; + SyntaxKind[SyntaxKind["ComputedPropertyName"] = 167] = "ComputedPropertyName"; + SyntaxKind[SyntaxKind["TypeParameter"] = 168] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 169] = "Parameter"; + SyntaxKind[SyntaxKind["Decorator"] = 170] = "Decorator"; + SyntaxKind[SyntaxKind["PropertySignature"] = 171] = "PropertySignature"; + SyntaxKind[SyntaxKind["PropertyDeclaration"] = 172] = "PropertyDeclaration"; + SyntaxKind[SyntaxKind["MethodSignature"] = 173] = "MethodSignature"; + SyntaxKind[SyntaxKind["MethodDeclaration"] = 174] = "MethodDeclaration"; + SyntaxKind[SyntaxKind["ClassStaticBlockDeclaration"] = 175] = "ClassStaticBlockDeclaration"; + SyntaxKind[SyntaxKind["Constructor"] = 176] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 177] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 178] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 179] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 180] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 181] = "IndexSignature"; + SyntaxKind[SyntaxKind["TypePredicate"] = 182] = "TypePredicate"; + SyntaxKind[SyntaxKind["TypeReference"] = 183] = "TypeReference"; + SyntaxKind[SyntaxKind["FunctionType"] = 184] = "FunctionType"; + SyntaxKind[SyntaxKind["ConstructorType"] = 185] = "ConstructorType"; + SyntaxKind[SyntaxKind["TypeQuery"] = 186] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 187] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 188] = "ArrayType"; + SyntaxKind[SyntaxKind["TupleType"] = 189] = "TupleType"; + SyntaxKind[SyntaxKind["OptionalType"] = 190] = "OptionalType"; + SyntaxKind[SyntaxKind["RestType"] = 191] = "RestType"; + SyntaxKind[SyntaxKind["UnionType"] = 192] = "UnionType"; + SyntaxKind[SyntaxKind["IntersectionType"] = 193] = "IntersectionType"; + SyntaxKind[SyntaxKind["ConditionalType"] = 194] = "ConditionalType"; + SyntaxKind[SyntaxKind["InferType"] = 195] = "InferType"; + SyntaxKind[SyntaxKind["ParenthesizedType"] = 196] = "ParenthesizedType"; + SyntaxKind[SyntaxKind["ThisType"] = 197] = "ThisType"; + SyntaxKind[SyntaxKind["TypeOperator"] = 198] = "TypeOperator"; + SyntaxKind[SyntaxKind["IndexedAccessType"] = 199] = "IndexedAccessType"; + SyntaxKind[SyntaxKind["MappedType"] = 200] = "MappedType"; + SyntaxKind[SyntaxKind["LiteralType"] = 201] = "LiteralType"; + SyntaxKind[SyntaxKind["NamedTupleMember"] = 202] = "NamedTupleMember"; + SyntaxKind[SyntaxKind["TemplateLiteralType"] = 203] = "TemplateLiteralType"; + SyntaxKind[SyntaxKind["TemplateLiteralTypeSpan"] = 204] = "TemplateLiteralTypeSpan"; + SyntaxKind[SyntaxKind["ImportType"] = 205] = "ImportType"; + SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 206] = "ObjectBindingPattern"; + SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 207] = "ArrayBindingPattern"; + SyntaxKind[SyntaxKind["BindingElement"] = 208] = "BindingElement"; + SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 209] = "ArrayLiteralExpression"; + SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 210] = "ObjectLiteralExpression"; + SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 211] = "PropertyAccessExpression"; + SyntaxKind[SyntaxKind["ElementAccessExpression"] = 212] = "ElementAccessExpression"; + SyntaxKind[SyntaxKind["CallExpression"] = 213] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 214] = "NewExpression"; + SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 215] = "TaggedTemplateExpression"; + SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 216] = "TypeAssertionExpression"; + SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 217] = "ParenthesizedExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 218] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 219] = "ArrowFunction"; + SyntaxKind[SyntaxKind["DeleteExpression"] = 220] = "DeleteExpression"; + SyntaxKind[SyntaxKind["TypeOfExpression"] = 221] = "TypeOfExpression"; + SyntaxKind[SyntaxKind["VoidExpression"] = 222] = "VoidExpression"; + SyntaxKind[SyntaxKind["AwaitExpression"] = 223] = "AwaitExpression"; + SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 224] = "PrefixUnaryExpression"; + SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 225] = "PostfixUnaryExpression"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 226] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 227] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["TemplateExpression"] = 228] = "TemplateExpression"; + SyntaxKind[SyntaxKind["YieldExpression"] = 229] = "YieldExpression"; + SyntaxKind[SyntaxKind["SpreadElement"] = 230] = "SpreadElement"; + SyntaxKind[SyntaxKind["ClassExpression"] = 231] = "ClassExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 232] = "OmittedExpression"; + SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 233] = "ExpressionWithTypeArguments"; + SyntaxKind[SyntaxKind["AsExpression"] = 234] = "AsExpression"; + SyntaxKind[SyntaxKind["NonNullExpression"] = 235] = "NonNullExpression"; + SyntaxKind[SyntaxKind["MetaProperty"] = 236] = "MetaProperty"; + SyntaxKind[SyntaxKind["SyntheticExpression"] = 237] = "SyntheticExpression"; + SyntaxKind[SyntaxKind["SatisfiesExpression"] = 238] = "SatisfiesExpression"; + SyntaxKind[SyntaxKind["TemplateSpan"] = 239] = "TemplateSpan"; + SyntaxKind[SyntaxKind["SemicolonClassElement"] = 240] = "SemicolonClassElement"; + SyntaxKind[SyntaxKind["Block"] = 241] = "Block"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 242] = "EmptyStatement"; + SyntaxKind[SyntaxKind["VariableStatement"] = 243] = "VariableStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 244] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 245] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 246] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 247] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 248] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 249] = "ForInStatement"; + SyntaxKind[SyntaxKind["ForOfStatement"] = 250] = "ForOfStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 251] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 252] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 253] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 254] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 255] = "SwitchStatement"; + SyntaxKind[SyntaxKind["LabeledStatement"] = 256] = "LabeledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 257] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 258] = "TryStatement"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 259] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 260] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["VariableDeclarationList"] = 261] = "VariableDeclarationList"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 262] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 263] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 264] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 265] = "TypeAliasDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 266] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 267] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 268] = "ModuleBlock"; + SyntaxKind[SyntaxKind["CaseBlock"] = 269] = "CaseBlock"; + SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 270] = "NamespaceExportDeclaration"; + SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 271] = "ImportEqualsDeclaration"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 272] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ImportClause"] = 273] = "ImportClause"; + SyntaxKind[SyntaxKind["NamespaceImport"] = 274] = "NamespaceImport"; + SyntaxKind[SyntaxKind["NamedImports"] = 275] = "NamedImports"; + SyntaxKind[SyntaxKind["ImportSpecifier"] = 276] = "ImportSpecifier"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 277] = "ExportAssignment"; + SyntaxKind[SyntaxKind["ExportDeclaration"] = 278] = "ExportDeclaration"; + SyntaxKind[SyntaxKind["NamedExports"] = 279] = "NamedExports"; + SyntaxKind[SyntaxKind["NamespaceExport"] = 280] = "NamespaceExport"; + SyntaxKind[SyntaxKind["ExportSpecifier"] = 281] = "ExportSpecifier"; + SyntaxKind[SyntaxKind["MissingDeclaration"] = 282] = "MissingDeclaration"; + SyntaxKind[SyntaxKind["ExternalModuleReference"] = 283] = "ExternalModuleReference"; + SyntaxKind[SyntaxKind["JsxElement"] = 284] = "JsxElement"; + SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 285] = "JsxSelfClosingElement"; + SyntaxKind[SyntaxKind["JsxOpeningElement"] = 286] = "JsxOpeningElement"; + SyntaxKind[SyntaxKind["JsxClosingElement"] = 287] = "JsxClosingElement"; + SyntaxKind[SyntaxKind["JsxFragment"] = 288] = "JsxFragment"; + SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 289] = "JsxOpeningFragment"; + SyntaxKind[SyntaxKind["JsxClosingFragment"] = 290] = "JsxClosingFragment"; + SyntaxKind[SyntaxKind["JsxAttribute"] = 291] = "JsxAttribute"; + SyntaxKind[SyntaxKind["JsxAttributes"] = 292] = "JsxAttributes"; + SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 293] = "JsxSpreadAttribute"; + SyntaxKind[SyntaxKind["JsxExpression"] = 294] = "JsxExpression"; + SyntaxKind[SyntaxKind["JsxNamespacedName"] = 295] = "JsxNamespacedName"; + SyntaxKind[SyntaxKind["CaseClause"] = 296] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 297] = "DefaultClause"; + SyntaxKind[SyntaxKind["HeritageClause"] = 298] = "HeritageClause"; + SyntaxKind[SyntaxKind["CatchClause"] = 299] = "CatchClause"; + SyntaxKind[SyntaxKind["ImportAttributes"] = 300] = "ImportAttributes"; + SyntaxKind[SyntaxKind["ImportAttribute"] = 301] = "ImportAttribute"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 302] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 303] = "ShorthandPropertyAssignment"; + SyntaxKind[SyntaxKind["SpreadAssignment"] = 304] = "SpreadAssignment"; + SyntaxKind[SyntaxKind["EnumMember"] = 305] = "EnumMember"; + SyntaxKind[SyntaxKind["SourceFile"] = 306] = "SourceFile"; + SyntaxKind[SyntaxKind["Bundle"] = 307] = "Bundle"; + SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 308] = "JSDocTypeExpression"; + SyntaxKind[SyntaxKind["JSDocNameReference"] = 309] = "JSDocNameReference"; + SyntaxKind[SyntaxKind["JSDocMemberName"] = 310] = "JSDocMemberName"; + SyntaxKind[SyntaxKind["JSDocAllType"] = 311] = "JSDocAllType"; + SyntaxKind[SyntaxKind["JSDocNullableType"] = 312] = "JSDocNullableType"; + SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 313] = "JSDocNonNullableType"; + SyntaxKind[SyntaxKind["JSDocOptionalType"] = 314] = "JSDocOptionalType"; + SyntaxKind[SyntaxKind["JSDocVariadicType"] = 315] = "JSDocVariadicType"; + SyntaxKind[SyntaxKind["JSDoc"] = 316] = "JSDoc"; + SyntaxKind[SyntaxKind["JSDocText"] = 317] = "JSDocText"; + SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 318] = "JSDocTypeLiteral"; + SyntaxKind[SyntaxKind["JSDocSignature"] = 319] = "JSDocSignature"; + SyntaxKind[SyntaxKind["JSDocLink"] = 320] = "JSDocLink"; + SyntaxKind[SyntaxKind["JSDocLinkCode"] = 321] = "JSDocLinkCode"; + SyntaxKind[SyntaxKind["JSDocLinkPlain"] = 322] = "JSDocLinkPlain"; + SyntaxKind[SyntaxKind["JSDocTag"] = 323] = "JSDocTag"; + SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 324] = "JSDocAugmentsTag"; + SyntaxKind[SyntaxKind["JSDocImplementsTag"] = 325] = "JSDocImplementsTag"; + SyntaxKind[SyntaxKind["JSDocDeprecatedTag"] = 326] = "JSDocDeprecatedTag"; + SyntaxKind[SyntaxKind["JSDocPublicTag"] = 327] = "JSDocPublicTag"; + SyntaxKind[SyntaxKind["JSDocPrivateTag"] = 328] = "JSDocPrivateTag"; + SyntaxKind[SyntaxKind["JSDocProtectedTag"] = 329] = "JSDocProtectedTag"; + SyntaxKind[SyntaxKind["JSDocReadonlyTag"] = 330] = "JSDocReadonlyTag"; + SyntaxKind[SyntaxKind["JSDocOverrideTag"] = 331] = "JSDocOverrideTag"; + SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 332] = "JSDocCallbackTag"; + SyntaxKind[SyntaxKind["JSDocOverloadTag"] = 333] = "JSDocOverloadTag"; + SyntaxKind[SyntaxKind["JSDocParameterTag"] = 334] = "JSDocParameterTag"; + SyntaxKind[SyntaxKind["JSDocReturnTag"] = 335] = "JSDocReturnTag"; + SyntaxKind[SyntaxKind["JSDocThisTag"] = 336] = "JSDocThisTag"; + SyntaxKind[SyntaxKind["JSDocTypeTag"] = 337] = "JSDocTypeTag"; + SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 338] = "JSDocTemplateTag"; + SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 339] = "JSDocTypedefTag"; + SyntaxKind[SyntaxKind["JSDocSeeTag"] = 340] = "JSDocSeeTag"; + SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 341] = "JSDocPropertyTag"; + SyntaxKind[SyntaxKind["JSDocSatisfiesTag"] = 342] = "JSDocSatisfiesTag"; + SyntaxKind[SyntaxKind["JSDocImportTag"] = 343] = "JSDocImportTag"; + SyntaxKind[SyntaxKind["SyntaxList"] = 344] = "SyntaxList"; + SyntaxKind[SyntaxKind["NotEmittedStatement"] = 345] = "NotEmittedStatement"; + SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 346] = "PartiallyEmittedExpression"; + SyntaxKind[SyntaxKind["CommaListExpression"] = 347] = "CommaListExpression"; + SyntaxKind[SyntaxKind["SyntheticReferenceExpression"] = 348] = "SyntheticReferenceExpression"; + SyntaxKind[SyntaxKind["Count"] = 349] = "Count"; +})(SyntaxKind || (SyntaxKind = {})); diff --git a/_packages/ast/src/tokenFlags.enum.ts b/_packages/ast/src/tokenFlags.enum.ts new file mode 100644 index 0000000000..5b95aa670d --- /dev/null +++ b/_packages/ast/src/tokenFlags.enum.ts @@ -0,0 +1,26 @@ +// dprint-ignore +export const enum TokenFlags { + None = 0, + PrecedingLineBreak = 1 << 0, + PrecedingJSDocComment = 1 << 1, + Unterminated = 1 << 2, + ExtendedUnicodeEscape = 1 << 3, // e.g. `\u{10ffff}` + Scientific = 1 << 4, // e.g. `10e2` + Octal = 1 << 5, // e.g. `0777` + HexSpecifier = 1 << 6, // e.g. `0x00000000` + BinarySpecifier = 1 << 7, // e.g. `0b0110010000000000` + OctalSpecifier = 1 << 8, // e.g. `0o777` + ContainsSeparator = 1 << 9, // e.g. `0b1100_0101` + UnicodeEscape = 1 << 10, // e.g. `\u00a0` + ContainsInvalidEscape = 1 << 11, // e.g. `\uhello` + HexEscape = 1 << 12, // e.g. `\xa0` + ContainsLeadingZero = 1 << 13, // e.g. `0888` + ContainsInvalidSeparator = 1 << 14, // e.g. `0_1` + PrecedingJSDocLeadingAsterisks = 1 << 15, + BinaryOrOctalSpecifier = BinarySpecifier | OctalSpecifier, + WithSpecifier = HexSpecifier | BinaryOrOctalSpecifier, + StringLiteralFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, + NumericLiteralFlags = Scientific | Octal | ContainsLeadingZero | WithSpecifier | ContainsSeparator | ContainsInvalidSeparator, + TemplateLiteralLikeFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, + IsInvalid = Octal | ContainsLeadingZero | ContainsInvalidSeparator | ContainsInvalidEscape, +} diff --git a/_packages/ast/src/tokenFlags.ts b/_packages/ast/src/tokenFlags.ts new file mode 100644 index 0000000000..a7ea109498 --- /dev/null +++ b/_packages/ast/src/tokenFlags.ts @@ -0,0 +1,27 @@ +// dprint-ignore +export var TokenFlags: any; +(function (TokenFlags) { + TokenFlags[TokenFlags["None"] = 0] = "None"; + TokenFlags[TokenFlags["PrecedingLineBreak"] = 1] = "PrecedingLineBreak"; + TokenFlags[TokenFlags["PrecedingJSDocComment"] = 2] = "PrecedingJSDocComment"; + TokenFlags[TokenFlags["Unterminated"] = 4] = "Unterminated"; + TokenFlags[TokenFlags["ExtendedUnicodeEscape"] = 8] = "ExtendedUnicodeEscape"; + TokenFlags[TokenFlags["Scientific"] = 16] = "Scientific"; + TokenFlags[TokenFlags["Octal"] = 32] = "Octal"; + TokenFlags[TokenFlags["HexSpecifier"] = 64] = "HexSpecifier"; + TokenFlags[TokenFlags["BinarySpecifier"] = 128] = "BinarySpecifier"; + TokenFlags[TokenFlags["OctalSpecifier"] = 256] = "OctalSpecifier"; + TokenFlags[TokenFlags["ContainsSeparator"] = 512] = "ContainsSeparator"; + TokenFlags[TokenFlags["UnicodeEscape"] = 1024] = "UnicodeEscape"; + TokenFlags[TokenFlags["ContainsInvalidEscape"] = 2048] = "ContainsInvalidEscape"; + TokenFlags[TokenFlags["HexEscape"] = 4096] = "HexEscape"; + TokenFlags[TokenFlags["ContainsLeadingZero"] = 8192] = "ContainsLeadingZero"; + TokenFlags[TokenFlags["ContainsInvalidSeparator"] = 16384] = "ContainsInvalidSeparator"; + TokenFlags[TokenFlags["PrecedingJSDocLeadingAsterisks"] = 32768] = "PrecedingJSDocLeadingAsterisks"; + TokenFlags[TokenFlags["BinaryOrOctalSpecifier"] = 384] = "BinaryOrOctalSpecifier"; + TokenFlags[TokenFlags["WithSpecifier"] = 448] = "WithSpecifier"; + TokenFlags[TokenFlags["StringLiteralFlags"] = 7176] = "StringLiteralFlags"; + TokenFlags[TokenFlags["NumericLiteralFlags"] = 25584] = "NumericLiteralFlags"; + TokenFlags[TokenFlags["TemplateLiteralLikeFlags"] = 7176] = "TemplateLiteralLikeFlags"; + TokenFlags[TokenFlags["IsInvalid"] = 26656] = "IsInvalid"; +})(TokenFlags || (TokenFlags = {})); diff --git a/_packages/ast/src/utils.ts b/_packages/ast/src/utils.ts new file mode 100644 index 0000000000..2f95d12e0a --- /dev/null +++ b/_packages/ast/src/utils.ts @@ -0,0 +1,9 @@ +export function tryCast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut | undefined { + return value !== undefined && test(value) ? value : undefined; +} + +export function cast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut { + if (value !== undefined && test(value)) return value; + + throw new Error(`Invalid cast. The supplied value ${value} did not pass the test '${test.name}'.`); +} diff --git a/_api/tsconfig.json b/_packages/ast/tsconfig.json similarity index 94% rename from _api/tsconfig.json rename to _packages/ast/tsconfig.json index d014396564..5be4954833 100644 --- a/_api/tsconfig.json +++ b/_packages/ast/tsconfig.json @@ -2,6 +2,7 @@ "compilerOptions": { "module": "node16", "strict": true, + "composite": true, "forceConsistentCasingInFileNames": true, "rewriteRelativeImportExtensions": true, "verbatimModuleSyntax": true, diff --git a/checker.ast b/checker.ast deleted file mode 100644 index 74c8b30d63..0000000000 --- a/checker.ast +++ /dev/null @@ -1,290257 +0,0 @@ -getSourceFile: 92.398ms - -node count: 290253 - -SourceFile 0 3079404 - ImportDeclaration 0 29775 - ImportClause 6 29747 - NamedImports 6 29747 - ImportSpecifier 8 22 - Identifier 8 22 - ImportSpecifier 23 45 - Identifier 23 45 - ImportSpecifier 46 63 - Identifier 46 63 - ImportSpecifier 64 89 - Identifier 64 89 - ImportSpecifier 90 104 - Identifier 90 104 - ImportSpecifier 105 125 - Identifier 105 125 - ImportSpecifier 126 158 - Identifier 126 158 - ImportSpecifier 159 192 - Identifier 159 192 - ImportSpecifier 193 219 - Identifier 193 219 - ImportSpecifier 220 249 - Identifier 220 249 - ImportSpecifier 250 280 - Identifier 250 280 - ImportSpecifier 281 290 - Identifier 281 290 - ImportSpecifier 291 310 - Identifier 291 310 - ImportSpecifier 311 339 - Identifier 311 339 - ImportSpecifier 340 365 - Identifier 340 365 - ImportSpecifier 366 378 - Identifier 366 378 - ImportSpecifier 379 399 - Identifier 379 399 - ImportSpecifier 400 425 - Identifier 400 425 - ImportSpecifier 426 441 - Identifier 426 441 - ImportSpecifier 442 462 - Identifier 442 462 - ImportSpecifier 463 487 - Identifier 463 487 - ImportSpecifier 488 516 - Identifier 488 516 - ImportSpecifier 517 530 - Identifier 517 530 - ImportSpecifier 531 552 - Identifier 531 552 - ImportSpecifier 553 572 - Identifier 553 572 - ImportSpecifier 573 592 - Identifier 573 592 - ImportSpecifier 593 611 - Identifier 593 611 - ImportSpecifier 612 637 - Identifier 612 637 - ImportSpecifier 638 669 - Identifier 638 669 - ImportSpecifier 670 690 - Identifier 670 690 - ImportSpecifier 691 714 - Identifier 691 714 - ImportSpecifier 715 736 - Identifier 715 736 - ImportSpecifier 737 751 - Identifier 737 751 - ImportSpecifier 752 771 - Identifier 752 771 - ImportSpecifier 772 795 - Identifier 772 795 - ImportSpecifier 796 818 - Identifier 796 818 - ImportSpecifier 819 839 - Identifier 819 839 - ImportSpecifier 840 865 - Identifier 840 865 - ImportSpecifier 866 884 - Identifier 866 884 - ImportSpecifier 885 923 - Identifier 885 923 - ImportSpecifier 924 958 - Identifier 924 958 - ImportSpecifier 959 979 - Identifier 959 979 - ImportSpecifier 980 1011 - Identifier 980 1011 - ImportSpecifier 1012 1029 - Identifier 1012 1029 - ImportSpecifier 1030 1050 - Identifier 1030 1050 - ImportSpecifier 1051 1071 - Identifier 1051 1071 - ImportSpecifier 1072 1083 - Identifier 1072 1083 - ImportSpecifier 1084 1104 - Identifier 1084 1104 - ImportSpecifier 1105 1135 - Identifier 1105 1135 - ImportSpecifier 1136 1151 - Identifier 1136 1151 - ImportSpecifier 1152 1172 - Identifier 1152 1172 - ImportSpecifier 1173 1197 - Identifier 1173 1197 - ImportSpecifier 1198 1228 - Identifier 1198 1228 - ImportSpecifier 1229 1252 - Identifier 1229 1252 - ImportSpecifier 1253 1276 - Identifier 1253 1276 - ImportSpecifier 1277 1304 - Identifier 1277 1304 - ImportSpecifier 1305 1326 - Identifier 1305 1326 - ImportSpecifier 1327 1357 - Identifier 1327 1357 - ImportSpecifier 1358 1387 - Identifier 1358 1387 - ImportSpecifier 1388 1406 - Identifier 1388 1406 - ImportSpecifier 1407 1426 - Identifier 1407 1426 - ImportSpecifier 1427 1449 - Identifier 1427 1449 - ImportSpecifier 1450 1478 - Identifier 1450 1478 - ImportSpecifier 1479 1498 - Identifier 1479 1498 - ImportSpecifier 1499 1538 - Identifier 1499 1538 - ImportSpecifier 1539 1565 - Identifier 1539 1565 - ImportSpecifier 1566 1588 - Identifier 1566 1588 - ImportSpecifier 1589 1604 - Identifier 1589 1604 - ImportSpecifier 1605 1621 - Identifier 1605 1621 - ImportSpecifier 1622 1647 - Identifier 1622 1647 - ImportSpecifier 1648 1658 - Identifier 1648 1658 - ImportSpecifier 1659 1688 - Identifier 1659 1688 - ImportSpecifier 1689 1709 - Identifier 1689 1709 - ImportSpecifier 1710 1726 - Identifier 1710 1726 - ImportSpecifier 1727 1749 - Identifier 1727 1749 - ImportSpecifier 1750 1768 - Identifier 1750 1768 - ImportSpecifier 1769 1821 - Identifier 1769 1821 - ImportSpecifier 1822 1843 - Identifier 1822 1843 - ImportSpecifier 1844 1870 - Identifier 1844 1870 - ImportSpecifier 1871 1915 - Identifier 1871 1915 - ImportSpecifier 1916 1949 - Identifier 1916 1949 - ImportSpecifier 1950 1961 - Identifier 1950 1961 - ImportSpecifier 1962 1986 - Identifier 1962 1986 - ImportSpecifier 1987 2005 - Identifier 1987 2005 - ImportSpecifier 2006 2025 - Identifier 2006 2025 - ImportSpecifier 2026 2042 - Identifier 2026 2042 - ImportSpecifier 2043 2064 - Identifier 2043 2064 - ImportSpecifier 2065 2091 - Identifier 2065 2091 - ImportSpecifier 2092 2109 - Identifier 2092 2109 - ImportSpecifier 2110 2150 - Identifier 2110 2150 - ImportSpecifier 2151 2178 - Identifier 2151 2178 - ImportSpecifier 2179 2200 - Identifier 2179 2200 - ImportSpecifier 2201 2222 - Identifier 2201 2222 - ImportSpecifier 2223 2248 - Identifier 2223 2248 - ImportSpecifier 2249 2277 - Identifier 2249 2277 - ImportSpecifier 2278 2303 - Identifier 2278 2303 - ImportSpecifier 2304 2339 - Identifier 2304 2339 - ImportSpecifier 2340 2354 - Identifier 2340 2354 - ImportSpecifier 2355 2379 - Identifier 2355 2379 - ImportSpecifier 2380 2398 - Identifier 2380 2398 - ImportSpecifier 2399 2416 - Identifier 2399 2416 - ImportSpecifier 2417 2433 - Identifier 2417 2433 - ImportSpecifier 2434 2472 - Identifier 2434 2472 - ImportSpecifier 2473 2503 - Identifier 2473 2503 - ImportSpecifier 2504 2534 - Identifier 2504 2534 - ImportSpecifier 2535 2567 - Identifier 2535 2567 - ImportSpecifier 2568 2613 - Identifier 2568 2613 - ImportSpecifier 2614 2643 - Identifier 2614 2643 - ImportSpecifier 2644 2678 - Identifier 2644 2678 - ImportSpecifier 2679 2729 - Identifier 2679 2729 - ImportSpecifier 2730 2775 - Identifier 2730 2775 - ImportSpecifier 2776 2824 - Identifier 2776 2824 - ImportSpecifier 2825 2849 - Identifier 2825 2849 - ImportSpecifier 2850 2871 - Identifier 2850 2871 - ImportSpecifier 2872 2898 - Identifier 2872 2898 - ImportSpecifier 2899 2919 - Identifier 2899 2919 - ImportSpecifier 2920 2947 - Identifier 2920 2947 - ImportSpecifier 2948 2977 - Identifier 2948 2977 - ImportSpecifier 2978 3009 - Identifier 2978 3009 - ImportSpecifier 3010 3041 - Identifier 3010 3041 - ImportSpecifier 3042 3062 - Identifier 3042 3062 - ImportSpecifier 3063 3087 - Identifier 3063 3087 - ImportSpecifier 3088 3119 - Identifier 3088 3119 - ImportSpecifier 3120 3157 - Identifier 3120 3157 - ImportSpecifier 3158 3211 - Identifier 3158 3211 - ImportSpecifier 3212 3270 - Identifier 3212 3270 - ImportSpecifier 3271 3321 - Identifier 3271 3321 - ImportSpecifier 3322 3341 - Identifier 3322 3341 - ImportSpecifier 3342 3365 - Identifier 3342 3365 - ImportSpecifier 3366 3402 - Identifier 3366 3402 - ImportSpecifier 3403 3425 - Identifier 3403 3425 - ImportSpecifier 3426 3437 - Identifier 3426 3437 - ImportSpecifier 3438 3455 - Identifier 3438 3455 - ImportSpecifier 3456 3477 - Identifier 3456 3477 - ImportSpecifier 3478 3507 - Identifier 3478 3507 - ImportSpecifier 3508 3534 - Identifier 3508 3534 - ImportSpecifier 3535 3577 - Identifier 3535 3577 - ImportSpecifier 3578 3613 - Identifier 3578 3613 - ImportSpecifier 3614 3629 - Identifier 3614 3629 - ImportSpecifier 3630 3647 - Identifier 3630 3647 - ImportSpecifier 3648 3667 - Identifier 3648 3667 - ImportSpecifier 3668 3704 - Identifier 3668 3704 - ImportSpecifier 3705 3732 - Identifier 3705 3732 - ImportSpecifier 3733 3755 - Identifier 3733 3755 - ImportSpecifier 3756 3772 - Identifier 3756 3772 - ImportSpecifier 3773 3801 - Identifier 3773 3801 - ImportSpecifier 3802 3827 - Identifier 3802 3827 - ImportSpecifier 3828 3852 - Identifier 3828 3852 - ImportSpecifier 3853 3876 - Identifier 3853 3876 - ImportSpecifier 3877 3905 - Identifier 3877 3905 - ImportSpecifier 3906 3940 - Identifier 3906 3940 - ImportSpecifier 3941 3958 - Identifier 3941 3958 - ImportSpecifier 3959 3987 - Identifier 3959 3987 - ImportSpecifier 3988 4005 - Identifier 3988 4005 - ImportSpecifier 4006 4035 - Identifier 4006 4035 - ImportSpecifier 4036 4060 - Identifier 4036 4060 - ImportSpecifier 4061 4090 - Identifier 4061 4090 - ImportSpecifier 4091 4109 - Identifier 4091 4109 - ImportSpecifier 4110 4147 - Identifier 4110 4147 - ImportSpecifier 4148 4163 - Identifier 4148 4163 - ImportSpecifier 4164 4178 - Identifier 4164 4178 - ImportSpecifier 4179 4211 - Identifier 4179 4211 - ImportSpecifier 4212 4230 - Identifier 4212 4230 - ImportSpecifier 4231 4251 - Identifier 4231 4251 - ImportSpecifier 4252 4268 - Identifier 4252 4268 - ImportSpecifier 4269 4285 - Identifier 4269 4285 - ImportSpecifier 4286 4312 - Identifier 4286 4312 - ImportSpecifier 4313 4351 - Identifier 4313 4351 - ImportSpecifier 4352 4376 - Identifier 4352 4376 - ImportSpecifier 4377 4398 - Identifier 4377 4398 - ImportSpecifier 4399 4415 - Identifier 4399 4415 - ImportSpecifier 4416 4430 - Identifier 4416 4430 - ImportSpecifier 4431 4449 - Identifier 4431 4449 - ImportSpecifier 4450 4476 - Identifier 4450 4476 - ImportSpecifier 4477 4507 - Identifier 4477 4507 - ImportSpecifier 4508 4526 - Identifier 4508 4526 - ImportSpecifier 4527 4548 - Identifier 4527 4548 - ImportSpecifier 4549 4570 - Identifier 4549 4570 - ImportSpecifier 4571 4582 - Identifier 4571 4582 - ImportSpecifier 4583 4606 - Identifier 4583 4606 - ImportSpecifier 4607 4629 - Identifier 4607 4629 - ImportSpecifier 4630 4652 - Identifier 4630 4652 - ImportSpecifier 4653 4682 - Identifier 4653 4682 - ImportSpecifier 4683 4706 - Identifier 4683 4706 - ImportSpecifier 4707 4728 - Identifier 4707 4728 - ImportSpecifier 4729 4745 - Identifier 4729 4745 - ImportSpecifier 4746 4776 - Identifier 4746 4776 - ImportSpecifier 4777 4802 - Identifier 4777 4802 - ImportSpecifier 4803 4836 - Identifier 4803 4836 - ImportSpecifier 4837 4852 - Identifier 4837 4852 - ImportSpecifier 4853 4878 - Identifier 4853 4878 - ImportSpecifier 4879 4914 - Identifier 4879 4914 - ImportSpecifier 4915 4928 - Identifier 4915 4928 - ImportSpecifier 4929 4950 - Identifier 4929 4950 - ImportSpecifier 4951 4977 - Identifier 4951 4977 - ImportSpecifier 4978 4990 - Identifier 4978 4990 - ImportSpecifier 4991 5001 - Identifier 4991 5001 - ImportSpecifier 5002 5020 - Identifier 5002 5020 - ImportSpecifier 5021 5047 - Identifier 5021 5047 - ImportSpecifier 5048 5080 - Identifier 5048 5080 - ImportSpecifier 5081 5096 - Identifier 5081 5096 - ImportSpecifier 5097 5111 - Identifier 5097 5111 - ImportSpecifier 5112 5131 - Identifier 5112 5131 - ImportSpecifier 5132 5159 - Identifier 5132 5159 - ImportSpecifier 5160 5171 - Identifier 5160 5171 - ImportSpecifier 5172 5190 - Identifier 5172 5190 - ImportSpecifier 5191 5210 - Identifier 5191 5210 - ImportSpecifier 5211 5233 - Identifier 5211 5233 - ImportSpecifier 5234 5264 - Identifier 5234 5264 - ImportSpecifier 5265 5278 - Identifier 5265 5278 - ImportSpecifier 5279 5292 - Identifier 5279 5292 - ImportSpecifier 5293 5316 - Identifier 5293 5316 - ImportSpecifier 5317 5337 - Identifier 5317 5337 - ImportSpecifier 5338 5352 - Identifier 5338 5352 - ImportSpecifier 5353 5372 - Identifier 5353 5372 - ImportSpecifier 5373 5388 - Identifier 5373 5388 - ImportSpecifier 5389 5404 - Identifier 5389 5404 - ImportSpecifier 5405 5419 - Identifier 5405 5419 - ImportSpecifier 5420 5441 - Identifier 5420 5441 - ImportSpecifier 5442 5457 - Identifier 5442 5457 - ImportSpecifier 5458 5480 - Identifier 5458 5480 - ImportSpecifier 5481 5507 - Identifier 5481 5507 - ImportSpecifier 5508 5522 - Identifier 5508 5522 - ImportSpecifier 5523 5536 - Identifier 5523 5536 - ImportSpecifier 5537 5555 - Identifier 5537 5555 - ImportSpecifier 5556 5585 - Identifier 5556 5585 - ImportSpecifier 5586 5627 - Identifier 5586 5627 - ImportSpecifier 5628 5646 - Identifier 5628 5646 - ImportSpecifier 5647 5663 - Identifier 5647 5663 - ImportSpecifier 5664 5692 - Identifier 5664 5692 - ImportSpecifier 5693 5721 - Identifier 5693 5721 - ImportSpecifier 5722 5746 - Identifier 5722 5746 - ImportSpecifier 5747 5767 - Identifier 5747 5767 - ImportSpecifier 5768 5787 - Identifier 5768 5787 - ImportSpecifier 5788 5808 - Identifier 5788 5808 - ImportSpecifier 5809 5827 - Identifier 5809 5827 - ImportSpecifier 5828 5856 - Identifier 5828 5856 - ImportSpecifier 5857 5876 - Identifier 5857 5876 - ImportSpecifier 5877 5905 - Identifier 5877 5905 - ImportSpecifier 5906 5931 - Identifier 5906 5931 - ImportSpecifier 5932 5956 - Identifier 5932 5956 - ImportSpecifier 5957 5976 - Identifier 5957 5976 - ImportSpecifier 5977 6006 - Identifier 5977 6006 - ImportSpecifier 6007 6042 - Identifier 6007 6042 - ImportSpecifier 6043 6065 - Identifier 6043 6065 - ImportSpecifier 6066 6083 - Identifier 6066 6083 - ImportSpecifier 6084 6112 - Identifier 6084 6112 - ImportSpecifier 6113 6146 - Identifier 6113 6146 - ImportSpecifier 6147 6168 - Identifier 6147 6168 - ImportSpecifier 6169 6206 - Identifier 6169 6206 - ImportSpecifier 6207 6224 - Identifier 6207 6224 - ImportSpecifier 6225 6254 - Identifier 6225 6254 - ImportSpecifier 6255 6290 - Identifier 6255 6290 - ImportSpecifier 6291 6325 - Identifier 6291 6325 - ImportSpecifier 6326 6374 - Identifier 6326 6374 - ImportSpecifier 6375 6404 - Identifier 6375 6404 - ImportSpecifier 6405 6433 - Identifier 6405 6433 - ImportSpecifier 6434 6453 - Identifier 6434 6453 - ImportSpecifier 6454 6490 - Identifier 6454 6490 - ImportSpecifier 6491 6528 - Identifier 6491 6528 - ImportSpecifier 6529 6571 - Identifier 6529 6571 - ImportSpecifier 6572 6602 - Identifier 6572 6602 - ImportSpecifier 6603 6629 - Identifier 6603 6629 - ImportSpecifier 6630 6668 - Identifier 6630 6668 - ImportSpecifier 6669 6693 - Identifier 6669 6693 - ImportSpecifier 6694 6742 - Identifier 6694 6742 - ImportSpecifier 6743 6778 - Identifier 6743 6778 - ImportSpecifier 6779 6806 - Identifier 6779 6806 - ImportSpecifier 6807 6852 - Identifier 6807 6852 - ImportSpecifier 6853 6886 - Identifier 6853 6886 - ImportSpecifier 6887 6930 - Identifier 6887 6930 - ImportSpecifier 6931 6957 - Identifier 6931 6957 - ImportSpecifier 6958 6985 - Identifier 6958 6985 - ImportSpecifier 6986 7021 - Identifier 6986 7021 - ImportSpecifier 7022 7041 - Identifier 7022 7041 - ImportSpecifier 7042 7064 - Identifier 7042 7064 - ImportSpecifier 7065 7095 - Identifier 7065 7095 - ImportSpecifier 7096 7139 - Identifier 7096 7139 - ImportSpecifier 7140 7186 - Identifier 7140 7186 - ImportSpecifier 7187 7224 - Identifier 7187 7224 - ImportSpecifier 7225 7254 - Identifier 7225 7254 - ImportSpecifier 7255 7282 - Identifier 7255 7282 - ImportSpecifier 7283 7314 - Identifier 7283 7314 - ImportSpecifier 7315 7347 - Identifier 7315 7347 - ImportSpecifier 7348 7395 - Identifier 7348 7395 - ImportSpecifier 7396 7432 - Identifier 7396 7432 - ImportSpecifier 7433 7476 - Identifier 7433 7476 - ImportSpecifier 7477 7513 - Identifier 7477 7513 - ImportSpecifier 7514 7539 - Identifier 7514 7539 - ImportSpecifier 7540 7563 - Identifier 7540 7563 - ImportSpecifier 7564 7597 - Identifier 7564 7597 - ImportSpecifier 7598 7623 - Identifier 7598 7623 - ImportSpecifier 7624 7656 - Identifier 7624 7656 - ImportSpecifier 7657 7694 - Identifier 7657 7694 - ImportSpecifier 7695 7722 - Identifier 7695 7722 - ImportSpecifier 7723 7754 - Identifier 7723 7754 - ImportSpecifier 7755 7780 - Identifier 7755 7780 - ImportSpecifier 7781 7822 - Identifier 7781 7822 - ImportSpecifier 7823 7861 - Identifier 7823 7861 - ImportSpecifier 7862 7901 - Identifier 7862 7901 - ImportSpecifier 7902 7926 - Identifier 7902 7926 - ImportSpecifier 7927 7954 - Identifier 7927 7954 - ImportSpecifier 7955 7990 - Identifier 7955 7990 - ImportSpecifier 7991 8047 - Identifier 7991 8047 - ImportSpecifier 8048 8075 - Identifier 8048 8075 - ImportSpecifier 8076 8114 - Identifier 8076 8114 - ImportSpecifier 8115 8148 - Identifier 8115 8148 - ImportSpecifier 8149 8173 - Identifier 8149 8173 - ImportSpecifier 8174 8196 - Identifier 8174 8196 - ImportSpecifier 8197 8228 - Identifier 8197 8228 - ImportSpecifier 8229 8272 - Identifier 8229 8272 - ImportSpecifier 8273 8305 - Identifier 8273 8305 - ImportSpecifier 8306 8351 - Identifier 8306 8351 - ImportSpecifier 8352 8390 - Identifier 8352 8390 - ImportSpecifier 8391 8422 - Identifier 8391 8422 - ImportSpecifier 8423 8449 - Identifier 8423 8449 - ImportSpecifier 8450 8474 - Identifier 8450 8474 - ImportSpecifier 8475 8497 - Identifier 8475 8497 - ImportSpecifier 8498 8525 - Identifier 8498 8525 - ImportSpecifier 8526 8547 - Identifier 8526 8547 - ImportSpecifier 8548 8566 - Identifier 8548 8566 - ImportSpecifier 8567 8593 - Identifier 8567 8593 - ImportSpecifier 8594 8621 - Identifier 8594 8621 - ImportSpecifier 8622 8640 - Identifier 8622 8640 - ImportSpecifier 8641 8678 - Identifier 8641 8678 - ImportSpecifier 8679 8697 - Identifier 8679 8697 - ImportSpecifier 8698 8719 - Identifier 8698 8719 - ImportSpecifier 8720 8738 - Identifier 8720 8738 - ImportSpecifier 8739 8770 - Identifier 8739 8770 - ImportSpecifier 8771 8810 - Identifier 8771 8810 - ImportSpecifier 8811 8832 - Identifier 8811 8832 - ImportSpecifier 8833 8863 - Identifier 8833 8863 - ImportSpecifier 8864 8889 - Identifier 8864 8889 - ImportSpecifier 8890 8918 - Identifier 8890 8918 - ImportSpecifier 8919 8952 - Identifier 8919 8952 - ImportSpecifier 8953 8988 - Identifier 8953 8988 - ImportSpecifier 8989 9018 - Identifier 8989 9018 - ImportSpecifier 9019 9037 - Identifier 9019 9037 - ImportSpecifier 9038 9066 - Identifier 9038 9066 - ImportSpecifier 9067 9099 - Identifier 9067 9099 - ImportSpecifier 9100 9126 - Identifier 9100 9126 - ImportSpecifier 9127 9153 - Identifier 9127 9153 - ImportSpecifier 9154 9176 - Identifier 9154 9176 - ImportSpecifier 9177 9210 - Identifier 9177 9210 - ImportSpecifier 9211 9238 - Identifier 9211 9238 - ImportSpecifier 9239 9274 - Identifier 9239 9274 - ImportSpecifier 9275 9309 - Identifier 9275 9309 - ImportSpecifier 9310 9341 - Identifier 9310 9341 - ImportSpecifier 9342 9362 - Identifier 9342 9362 - ImportSpecifier 9363 9384 - Identifier 9363 9384 - ImportSpecifier 9385 9402 - Identifier 9385 9402 - ImportSpecifier 9403 9436 - Identifier 9403 9436 - ImportSpecifier 9437 9459 - Identifier 9437 9459 - ImportSpecifier 9460 9506 - Identifier 9460 9506 - ImportSpecifier 9507 9547 - Identifier 9507 9547 - ImportSpecifier 9548 9577 - Identifier 9548 9577 - ImportSpecifier 9578 9612 - Identifier 9578 9612 - ImportSpecifier 9613 9642 - Identifier 9613 9642 - ImportSpecifier 9643 9672 - Identifier 9643 9672 - ImportSpecifier 9673 9704 - Identifier 9673 9704 - ImportSpecifier 9705 9731 - Identifier 9705 9731 - ImportSpecifier 9732 9765 - Identifier 9732 9765 - ImportSpecifier 9766 9790 - Identifier 9766 9790 - ImportSpecifier 9791 9820 - Identifier 9791 9820 - ImportSpecifier 9821 9860 - Identifier 9821 9860 - ImportSpecifier 9861 9889 - Identifier 9861 9889 - ImportSpecifier 9890 9924 - Identifier 9890 9924 - ImportSpecifier 9925 9967 - Identifier 9925 9967 - ImportSpecifier 9968 9995 - Identifier 9968 9995 - ImportSpecifier 9996 10021 - Identifier 9996 10021 - ImportSpecifier 10022 10052 - Identifier 10022 10052 - ImportSpecifier 10053 10080 - Identifier 10053 10080 - ImportSpecifier 10081 10107 - Identifier 10081 10107 - ImportSpecifier 10108 10131 - Identifier 10108 10131 - ImportSpecifier 10132 10171 - Identifier 10132 10171 - ImportSpecifier 10172 10206 - Identifier 10172 10206 - ImportSpecifier 10207 10234 - Identifier 10207 10234 - ImportSpecifier 10235 10266 - Identifier 10235 10266 - ImportSpecifier 10267 10286 - Identifier 10267 10286 - ImportSpecifier 10287 10314 - Identifier 10287 10314 - ImportSpecifier 10315 10337 - Identifier 10315 10337 - ImportSpecifier 10338 10360 - Identifier 10338 10360 - ImportSpecifier 10361 10402 - Identifier 10361 10402 - ImportSpecifier 10403 10434 - Identifier 10403 10434 - ImportSpecifier 10435 10467 - Identifier 10435 10467 - ImportSpecifier 10468 10479 - Identifier 10468 10479 - ImportSpecifier 10480 10505 - Identifier 10480 10505 - ImportSpecifier 10506 10531 - Identifier 10506 10531 - ImportSpecifier 10532 10556 - Identifier 10532 10556 - ImportSpecifier 10557 10592 - Identifier 10557 10592 - ImportSpecifier 10593 10612 - Identifier 10593 10612 - ImportSpecifier 10613 10632 - Identifier 10613 10632 - ImportSpecifier 10633 10653 - Identifier 10633 10653 - ImportSpecifier 10654 10680 - Identifier 10654 10680 - ImportSpecifier 10681 10708 - Identifier 10681 10708 - ImportSpecifier 10709 10743 - Identifier 10709 10743 - ImportSpecifier 10744 10774 - Identifier 10744 10774 - ImportSpecifier 10775 10793 - Identifier 10775 10793 - ImportSpecifier 10794 10820 - Identifier 10794 10820 - ImportSpecifier 10821 10846 - Identifier 10821 10846 - ImportSpecifier 10847 10868 - Identifier 10847 10868 - ImportSpecifier 10869 10890 - Identifier 10869 10890 - ImportSpecifier 10891 10911 - Identifier 10891 10911 - ImportSpecifier 10912 10932 - Identifier 10912 10932 - ImportSpecifier 10933 10952 - Identifier 10933 10952 - ImportSpecifier 10953 10980 - Identifier 10953 10980 - ImportSpecifier 10981 11011 - Identifier 10981 11011 - ImportSpecifier 11012 11027 - Identifier 11012 11027 - ImportSpecifier 11028 11046 - Identifier 11028 11046 - ImportSpecifier 11047 11081 - Identifier 11047 11081 - ImportSpecifier 11082 11107 - Identifier 11082 11107 - ImportSpecifier 11108 11148 - Identifier 11108 11148 - ImportSpecifier 11149 11171 - Identifier 11149 11171 - ImportSpecifier 11172 11203 - Identifier 11172 11203 - ImportSpecifier 11204 11226 - Identifier 11204 11226 - ImportSpecifier 11227 11247 - Identifier 11227 11247 - ImportSpecifier 11248 11271 - Identifier 11248 11271 - ImportSpecifier 11272 11298 - Identifier 11272 11298 - ImportSpecifier 11299 11326 - Identifier 11299 11326 - ImportSpecifier 11327 11340 - Identifier 11327 11340 - ImportSpecifier 11341 11361 - Identifier 11341 11361 - ImportSpecifier 11362 11392 - Identifier 11362 11392 - ImportSpecifier 11393 11409 - Identifier 11393 11409 - ImportSpecifier 11410 11439 - Identifier 11410 11439 - ImportSpecifier 11440 11469 - Identifier 11440 11469 - ImportSpecifier 11470 11482 - Identifier 11470 11482 - ImportSpecifier 11483 11500 - Identifier 11483 11500 - ImportSpecifier 11501 11522 - Identifier 11501 11522 - ImportSpecifier 11523 11545 - Identifier 11523 11545 - ImportSpecifier 11546 11562 - Identifier 11546 11562 - ImportSpecifier 11563 11581 - Identifier 11563 11581 - ImportSpecifier 11582 11605 - Identifier 11582 11605 - ImportSpecifier 11606 11635 - Identifier 11606 11635 - ImportSpecifier 11636 11665 - Identifier 11636 11665 - ImportSpecifier 11666 11687 - Identifier 11666 11687 - ImportSpecifier 11688 11708 - Identifier 11688 11708 - ImportSpecifier 11709 11732 - Identifier 11709 11732 - ImportSpecifier 11733 11760 - Identifier 11733 11760 - ImportSpecifier 11761 11777 - Identifier 11761 11777 - ImportSpecifier 11778 11793 - Identifier 11778 11793 - ImportSpecifier 11794 11809 - Identifier 11794 11809 - ImportSpecifier 11810 11827 - Identifier 11810 11827 - ImportSpecifier 11828 11859 - Identifier 11828 11859 - ImportSpecifier 11860 11875 - Identifier 11860 11875 - ImportSpecifier 11876 11891 - Identifier 11876 11891 - ImportSpecifier 11892 11914 - Identifier 11892 11914 - ImportSpecifier 11915 11935 - Identifier 11915 11935 - ImportSpecifier 11936 11955 - Identifier 11936 11955 - ImportSpecifier 11956 11979 - Identifier 11956 11979 - ImportSpecifier 11980 11999 - Identifier 11980 11999 - ImportSpecifier 12000 12026 - Identifier 12000 12026 - ImportSpecifier 12027 12049 - Identifier 12027 12049 - ImportSpecifier 12050 12083 - Identifier 12050 12083 - ImportSpecifier 12084 12110 - Identifier 12084 12110 - ImportSpecifier 12111 12130 - Identifier 12111 12130 - ImportSpecifier 12131 12169 - Identifier 12131 12169 - ImportSpecifier 12170 12200 - Identifier 12170 12200 - ImportSpecifier 12201 12225 - Identifier 12201 12225 - ImportSpecifier 12226 12249 - Identifier 12226 12249 - ImportSpecifier 12250 12272 - Identifier 12250 12272 - ImportSpecifier 12273 12299 - Identifier 12273 12299 - ImportSpecifier 12300 12330 - Identifier 12300 12330 - ImportSpecifier 12331 12350 - Identifier 12331 12350 - ImportSpecifier 12351 12388 - Identifier 12351 12388 - ImportSpecifier 12389 12417 - Identifier 12389 12417 - ImportSpecifier 12418 12442 - Identifier 12418 12442 - ImportSpecifier 12443 12459 - Identifier 12443 12459 - ImportSpecifier 12460 12487 - Identifier 12460 12487 - ImportSpecifier 12488 12509 - Identifier 12488 12509 - ImportSpecifier 12510 12523 - Identifier 12510 12523 - ImportSpecifier 12524 12551 - Identifier 12524 12551 - ImportSpecifier 12552 12582 - Identifier 12552 12582 - ImportSpecifier 12583 12604 - Identifier 12583 12604 - ImportSpecifier 12605 12632 - Identifier 12605 12632 - ImportSpecifier 12633 12662 - Identifier 12633 12662 - ImportSpecifier 12663 12691 - Identifier 12663 12691 - ImportSpecifier 12692 12718 - Identifier 12692 12718 - ImportSpecifier 12719 12744 - Identifier 12719 12744 - ImportSpecifier 12745 12769 - Identifier 12745 12769 - ImportSpecifier 12770 12809 - Identifier 12770 12809 - ImportSpecifier 12810 12833 - Identifier 12810 12833 - ImportSpecifier 12834 12858 - Identifier 12834 12858 - ImportSpecifier 12859 12888 - Identifier 12859 12888 - ImportSpecifier 12889 12929 - Identifier 12889 12929 - ImportSpecifier 12930 12975 - Identifier 12930 12975 - ImportSpecifier 12976 13012 - Identifier 12976 13012 - ImportSpecifier 13013 13035 - Identifier 13013 13035 - ImportSpecifier 13036 13081 - Identifier 13036 13081 - ImportSpecifier 13082 13104 - Identifier 13082 13104 - ImportSpecifier 13105 13118 - Identifier 13105 13118 - ImportSpecifier 13119 13145 - Identifier 13119 13145 - ImportSpecifier 13146 13182 - Identifier 13146 13182 - ImportSpecifier 13183 13205 - Identifier 13183 13205 - ImportSpecifier 13206 13223 - Identifier 13206 13223 - ImportSpecifier 13224 13246 - Identifier 13224 13246 - ImportSpecifier 13247 13273 - Identifier 13247 13273 - ImportSpecifier 13274 13314 - Identifier 13274 13314 - ImportSpecifier 13315 13342 - Identifier 13315 13342 - ImportSpecifier 13343 13375 - Identifier 13343 13375 - ImportSpecifier 13376 13395 - Identifier 13376 13395 - ImportSpecifier 13396 13434 - Identifier 13396 13434 - ImportSpecifier 13435 13489 - Identifier 13435 13489 - ImportSpecifier 13490 13519 - Identifier 13490 13519 - ImportSpecifier 13520 13544 - Identifier 13520 13544 - ImportSpecifier 13545 13565 - Identifier 13545 13565 - ImportSpecifier 13566 13589 - Identifier 13566 13589 - ImportSpecifier 13590 13619 - Identifier 13590 13619 - ImportSpecifier 13620 13637 - Identifier 13620 13637 - ImportSpecifier 13638 13673 - Identifier 13638 13673 - ImportSpecifier 13674 13695 - Identifier 13674 13695 - ImportSpecifier 13696 13730 - Identifier 13696 13730 - ImportSpecifier 13731 13771 - Identifier 13731 13771 - ImportSpecifier 13772 13798 - Identifier 13772 13798 - ImportSpecifier 13799 13829 - Identifier 13799 13829 - ImportSpecifier 13830 13858 - Identifier 13830 13858 - ImportSpecifier 13859 13888 - Identifier 13859 13888 - ImportSpecifier 13889 13916 - Identifier 13889 13916 - ImportSpecifier 13917 13939 - Identifier 13917 13939 - ImportSpecifier 13940 13970 - Identifier 13940 13970 - ImportSpecifier 13971 13998 - Identifier 13971 13998 - ImportSpecifier 13999 14036 - Identifier 13999 14036 - ImportSpecifier 14037 14063 - Identifier 14037 14063 - ImportSpecifier 14064 14083 - Identifier 14064 14083 - ImportSpecifier 14084 14111 - Identifier 14084 14111 - ImportSpecifier 14112 14135 - Identifier 14112 14135 - ImportSpecifier 14136 14163 - Identifier 14136 14163 - ImportSpecifier 14164 14181 - Identifier 14164 14181 - ImportSpecifier 14182 14217 - Identifier 14182 14217 - ImportSpecifier 14218 14238 - Identifier 14218 14238 - ImportSpecifier 14239 14257 - Identifier 14239 14257 - ImportSpecifier 14258 14277 - Identifier 14258 14277 - ImportSpecifier 14278 14309 - Identifier 14278 14309 - ImportSpecifier 14310 14341 - Identifier 14310 14341 - ImportSpecifier 14342 14360 - Identifier 14342 14360 - ImportSpecifier 14361 14389 - Identifier 14361 14389 - ImportSpecifier 14390 14407 - Identifier 14390 14407 - ImportSpecifier 14408 14431 - Identifier 14408 14431 - ImportSpecifier 14432 14450 - Identifier 14432 14450 - ImportSpecifier 14451 14492 - Identifier 14451 14492 - ImportSpecifier 14493 14527 - Identifier 14493 14527 - ImportSpecifier 14528 14552 - Identifier 14528 14552 - ImportSpecifier 14553 14578 - Identifier 14553 14578 - ImportSpecifier 14579 14604 - Identifier 14579 14604 - ImportSpecifier 14605 14628 - Identifier 14605 14628 - ImportSpecifier 14629 14647 - Identifier 14629 14647 - ImportSpecifier 14648 14670 - Identifier 14648 14670 - ImportSpecifier 14671 14708 - Identifier 14671 14708 - ImportSpecifier 14709 14736 - Identifier 14709 14736 - ImportSpecifier 14737 14772 - Identifier 14737 14772 - ImportSpecifier 14773 14828 - Identifier 14773 14828 - ImportSpecifier 14829 14851 - Identifier 14829 14851 - ImportSpecifier 14852 14886 - Identifier 14852 14886 - ImportSpecifier 14887 14932 - Identifier 14887 14932 - ImportSpecifier 14933 14964 - Identifier 14933 14964 - ImportSpecifier 14965 14999 - Identifier 14965 14999 - ImportSpecifier 15000 15031 - Identifier 15000 15031 - ImportSpecifier 15032 15060 - Identifier 15032 15060 - ImportSpecifier 15061 15093 - Identifier 15061 15093 - ImportSpecifier 15094 15120 - Identifier 15094 15120 - ImportSpecifier 15121 15143 - Identifier 15121 15143 - ImportSpecifier 15144 15166 - Identifier 15144 15166 - ImportSpecifier 15167 15187 - Identifier 15167 15187 - ImportSpecifier 15188 15215 - Identifier 15188 15215 - ImportSpecifier 15216 15242 - Identifier 15216 15242 - ImportSpecifier 15243 15284 - Identifier 15243 15284 - ImportSpecifier 15285 15305 - Identifier 15285 15305 - ImportSpecifier 15306 15337 - Identifier 15306 15337 - ImportSpecifier 15338 15387 - Identifier 15338 15387 - ImportSpecifier 15388 15417 - Identifier 15388 15417 - ImportSpecifier 15418 15442 - Identifier 15418 15442 - ImportSpecifier 15443 15470 - Identifier 15443 15470 - ImportSpecifier 15471 15490 - Identifier 15471 15490 - ImportSpecifier 15491 15521 - Identifier 15491 15521 - ImportSpecifier 15522 15557 - Identifier 15522 15557 - ImportSpecifier 15558 15589 - Identifier 15558 15589 - ImportSpecifier 15590 15614 - Identifier 15590 15614 - ImportSpecifier 15615 15637 - Identifier 15615 15637 - ImportSpecifier 15638 15656 - Identifier 15638 15656 - ImportSpecifier 15657 15679 - Identifier 15657 15679 - ImportSpecifier 15680 15711 - Identifier 15680 15711 - ImportSpecifier 15712 15743 - Identifier 15712 15743 - ImportSpecifier 15744 15763 - Identifier 15744 15763 - ImportSpecifier 15764 15788 - Identifier 15764 15788 - ImportSpecifier 15789 15807 - Identifier 15789 15807 - ImportSpecifier 15808 15828 - Identifier 15808 15828 - ImportSpecifier 15829 15854 - Identifier 15829 15854 - ImportSpecifier 15855 15886 - Identifier 15855 15886 - ImportSpecifier 15887 15908 - Identifier 15887 15908 - ImportSpecifier 15909 15940 - Identifier 15909 15940 - ImportSpecifier 15941 15964 - Identifier 15941 15964 - ImportSpecifier 15965 15987 - Identifier 15965 15987 - ImportSpecifier 15988 16020 - Identifier 15988 16020 - ImportSpecifier 16021 16050 - Identifier 16021 16050 - ImportSpecifier 16051 16084 - Identifier 16051 16084 - ImportSpecifier 16085 16112 - Identifier 16085 16112 - ImportSpecifier 16113 16140 - Identifier 16113 16140 - ImportSpecifier 16141 16168 - Identifier 16141 16168 - ImportSpecifier 16169 16184 - Identifier 16169 16184 - ImportSpecifier 16185 16201 - Identifier 16185 16201 - ImportSpecifier 16202 16220 - Identifier 16202 16220 - ImportSpecifier 16221 16249 - Identifier 16221 16249 - ImportSpecifier 16250 16278 - Identifier 16250 16278 - ImportSpecifier 16279 16324 - Identifier 16279 16324 - ImportSpecifier 16325 16350 - Identifier 16325 16350 - ImportSpecifier 16351 16375 - Identifier 16351 16375 - ImportSpecifier 16376 16395 - Identifier 16376 16395 - ImportSpecifier 16396 16422 - Identifier 16396 16422 - ImportSpecifier 16423 16447 - Identifier 16423 16447 - ImportSpecifier 16448 16472 - Identifier 16448 16472 - ImportSpecifier 16473 16504 - Identifier 16473 16504 - ImportSpecifier 16505 16530 - Identifier 16505 16530 - ImportSpecifier 16531 16553 - Identifier 16531 16553 - ImportSpecifier 16554 16581 - Identifier 16554 16581 - ImportSpecifier 16582 16603 - Identifier 16582 16603 - ImportSpecifier 16604 16627 - Identifier 16604 16627 - ImportSpecifier 16628 16654 - Identifier 16628 16654 - ImportSpecifier 16655 16672 - Identifier 16655 16672 - ImportSpecifier 16673 16701 - Identifier 16673 16701 - ImportSpecifier 16702 16727 - Identifier 16702 16727 - ImportSpecifier 16728 16758 - Identifier 16728 16758 - ImportSpecifier 16759 16783 - Identifier 16759 16783 - ImportSpecifier 16784 16809 - Identifier 16784 16809 - ImportSpecifier 16810 16838 - Identifier 16810 16838 - ImportSpecifier 16839 16863 - Identifier 16839 16863 - ImportSpecifier 16864 16896 - Identifier 16864 16896 - ImportSpecifier 16897 16922 - Identifier 16897 16922 - ImportSpecifier 16923 16945 - Identifier 16923 16945 - ImportSpecifier 16946 16970 - Identifier 16946 16970 - ImportSpecifier 16971 16991 - Identifier 16971 16991 - ImportSpecifier 16992 17014 - Identifier 16992 17014 - ImportSpecifier 17015 17041 - Identifier 17015 17041 - ImportSpecifier 17042 17065 - Identifier 17042 17065 - ImportSpecifier 17066 17093 - Identifier 17066 17093 - ImportSpecifier 17094 17118 - Identifier 17094 17118 - ImportSpecifier 17119 17144 - Identifier 17119 17144 - ImportSpecifier 17145 17167 - Identifier 17145 17167 - ImportSpecifier 17168 17188 - Identifier 17168 17188 - ImportSpecifier 17189 17213 - Identifier 17189 17213 - ImportSpecifier 17214 17235 - Identifier 17214 17235 - ImportSpecifier 17236 17255 - Identifier 17236 17255 - ImportSpecifier 17256 17274 - Identifier 17256 17274 - ImportSpecifier 17275 17294 - Identifier 17275 17294 - ImportSpecifier 17295 17320 - Identifier 17295 17320 - ImportSpecifier 17321 17346 - Identifier 17321 17346 - ImportSpecifier 17347 17373 - Identifier 17347 17373 - ImportSpecifier 17374 17403 - Identifier 17374 17403 - ImportSpecifier 17404 17433 - Identifier 17404 17433 - ImportSpecifier 17434 17460 - Identifier 17434 17460 - ImportSpecifier 17461 17479 - Identifier 17461 17479 - ImportSpecifier 17480 17499 - Identifier 17480 17499 - ImportSpecifier 17500 17538 - Identifier 17500 17538 - ImportSpecifier 17539 17569 - Identifier 17539 17569 - ImportSpecifier 17570 17587 - Identifier 17570 17587 - ImportSpecifier 17588 17634 - Identifier 17588 17634 - ImportSpecifier 17635 17660 - Identifier 17635 17660 - ImportSpecifier 17661 17694 - Identifier 17661 17694 - ImportSpecifier 17695 17724 - Identifier 17695 17724 - ImportSpecifier 17725 17748 - Identifier 17725 17748 - ImportSpecifier 17749 17792 - Identifier 17749 17792 - ImportSpecifier 17793 17834 - Identifier 17793 17834 - ImportSpecifier 17835 17855 - Identifier 17835 17855 - ImportSpecifier 17856 17881 - Identifier 17856 17881 - ImportSpecifier 17882 17905 - Identifier 17882 17905 - ImportSpecifier 17906 17922 - Identifier 17906 17922 - ImportSpecifier 17923 17942 - Identifier 17923 17942 - ImportSpecifier 17943 17968 - Identifier 17943 17968 - ImportSpecifier 17969 18006 - Identifier 17969 18006 - ImportSpecifier 18007 18031 - Identifier 18007 18031 - ImportSpecifier 18032 18063 - Identifier 18032 18063 - ImportSpecifier 18064 18099 - Identifier 18064 18099 - ImportSpecifier 18100 18124 - Identifier 18100 18124 - ImportSpecifier 18125 18154 - Identifier 18125 18154 - ImportSpecifier 18155 18175 - Identifier 18155 18175 - ImportSpecifier 18176 18200 - Identifier 18176 18200 - ImportSpecifier 18201 18224 - Identifier 18201 18224 - ImportSpecifier 18225 18259 - Identifier 18225 18259 - ImportSpecifier 18260 18296 - Identifier 18260 18296 - ImportSpecifier 18297 18318 - Identifier 18297 18318 - ImportSpecifier 18319 18343 - Identifier 18319 18343 - ImportSpecifier 18344 18365 - Identifier 18344 18365 - ImportSpecifier 18366 18391 - Identifier 18366 18391 - ImportSpecifier 18392 18414 - Identifier 18392 18414 - ImportSpecifier 18415 18441 - Identifier 18415 18441 - ImportSpecifier 18442 18470 - Identifier 18442 18470 - ImportSpecifier 18471 18503 - Identifier 18471 18503 - ImportSpecifier 18504 18535 - Identifier 18504 18535 - ImportSpecifier 18536 18563 - Identifier 18536 18563 - ImportSpecifier 18564 18618 - Identifier 18564 18618 - ImportSpecifier 18619 18644 - Identifier 18619 18644 - ImportSpecifier 18645 18666 - Identifier 18645 18666 - ImportSpecifier 18667 18692 - Identifier 18667 18692 - ImportSpecifier 18693 18720 - Identifier 18693 18720 - ImportSpecifier 18721 18757 - Identifier 18721 18757 - ImportSpecifier 18758 18782 - Identifier 18758 18782 - ImportSpecifier 18783 18813 - Identifier 18783 18813 - ImportSpecifier 18814 18831 - Identifier 18814 18831 - ImportSpecifier 18832 18868 - Identifier 18832 18868 - ImportSpecifier 18869 18900 - Identifier 18869 18900 - ImportSpecifier 18901 18930 - Identifier 18901 18930 - ImportSpecifier 18931 18965 - Identifier 18931 18965 - ImportSpecifier 18966 18988 - Identifier 18966 18988 - ImportSpecifier 18989 19036 - Identifier 18989 19036 - ImportSpecifier 19037 19060 - Identifier 19037 19060 - ImportSpecifier 19061 19080 - Identifier 19061 19080 - ImportSpecifier 19081 19110 - Identifier 19081 19110 - ImportSpecifier 19111 19136 - Identifier 19111 19136 - ImportSpecifier 19137 19185 - Identifier 19137 19185 - ImportSpecifier 19186 19235 - Identifier 19186 19235 - ImportSpecifier 19236 19278 - Identifier 19236 19278 - ImportSpecifier 19279 19311 - Identifier 19279 19311 - ImportSpecifier 19312 19349 - Identifier 19312 19349 - ImportSpecifier 19350 19403 - Identifier 19350 19403 - ImportSpecifier 19404 19430 - Identifier 19404 19430 - ImportSpecifier 19431 19458 - Identifier 19431 19458 - ImportSpecifier 19459 19479 - Identifier 19459 19479 - ImportSpecifier 19480 19507 - Identifier 19480 19507 - ImportSpecifier 19508 19533 - Identifier 19508 19533 - ImportSpecifier 19534 19557 - Identifier 19534 19557 - ImportSpecifier 19558 19593 - Identifier 19558 19593 - ImportSpecifier 19594 19625 - Identifier 19594 19625 - ImportSpecifier 19626 19647 - Identifier 19626 19647 - ImportSpecifier 19648 19667 - Identifier 19648 19667 - ImportSpecifier 19668 19689 - Identifier 19668 19689 - ImportSpecifier 19690 19710 - Identifier 19690 19710 - ImportSpecifier 19711 19746 - Identifier 19711 19746 - ImportSpecifier 19747 19786 - Identifier 19747 19786 - ImportSpecifier 19787 19835 - Identifier 19787 19835 - ImportSpecifier 19836 19901 - Identifier 19836 19901 - ImportSpecifier 19902 19924 - Identifier 19902 19924 - ImportSpecifier 19925 19944 - Identifier 19925 19944 - ImportSpecifier 19945 19975 - Identifier 19945 19975 - ImportSpecifier 19976 20012 - Identifier 19976 20012 - ImportSpecifier 20013 20048 - Identifier 20013 20048 - ImportSpecifier 20049 20073 - Identifier 20049 20073 - ImportSpecifier 20074 20101 - Identifier 20074 20101 - ImportSpecifier 20102 20120 - Identifier 20102 20120 - ImportSpecifier 20121 20141 - Identifier 20121 20141 - ImportSpecifier 20142 20166 - Identifier 20142 20166 - ImportSpecifier 20167 20188 - Identifier 20167 20188 - ImportSpecifier 20189 20206 - Identifier 20189 20206 - ImportSpecifier 20207 20234 - Identifier 20207 20234 - ImportSpecifier 20235 20249 - Identifier 20235 20249 - ImportSpecifier 20250 20264 - Identifier 20250 20264 - ImportSpecifier 20265 20300 - Identifier 20265 20300 - ImportSpecifier 20301 20322 - Identifier 20301 20322 - ImportSpecifier 20323 20348 - Identifier 20323 20348 - ImportSpecifier 20349 20383 - Identifier 20349 20383 - ImportSpecifier 20384 20401 - Identifier 20384 20401 - ImportSpecifier 20402 20423 - Identifier 20402 20423 - ImportSpecifier 20424 20456 - Identifier 20424 20456 - ImportSpecifier 20457 20477 - Identifier 20457 20477 - ImportSpecifier 20478 20514 - Identifier 20478 20514 - ImportSpecifier 20515 20537 - Identifier 20515 20537 - ImportSpecifier 20538 20572 - Identifier 20538 20572 - ImportSpecifier 20573 20619 - Identifier 20573 20619 - ImportSpecifier 20620 20643 - Identifier 20620 20643 - ImportSpecifier 20644 20664 - Identifier 20644 20664 - ImportSpecifier 20665 20690 - Identifier 20665 20690 - ImportSpecifier 20691 20716 - Identifier 20691 20716 - ImportSpecifier 20717 20740 - Identifier 20717 20740 - ImportSpecifier 20741 20762 - Identifier 20741 20762 - ImportSpecifier 20763 20780 - Identifier 20763 20780 - ImportSpecifier 20781 20809 - Identifier 20781 20809 - ImportSpecifier 20810 20833 - Identifier 20810 20833 - ImportSpecifier 20834 20857 - Identifier 20834 20857 - ImportSpecifier 20858 20874 - Identifier 20858 20874 - ImportSpecifier 20875 20895 - Identifier 20875 20895 - ImportSpecifier 20896 20920 - Identifier 20896 20920 - ImportSpecifier 20921 20954 - Identifier 20921 20954 - ImportSpecifier 20955 20996 - Identifier 20955 20996 - ImportSpecifier 20997 21021 - Identifier 20997 21021 - ImportSpecifier 21022 21054 - Identifier 21022 21054 - ImportSpecifier 21055 21080 - Identifier 21055 21080 - ImportSpecifier 21081 21102 - Identifier 21081 21102 - ImportSpecifier 21103 21128 - Identifier 21103 21128 - ImportSpecifier 21129 21154 - Identifier 21129 21154 - ImportSpecifier 21155 21187 - Identifier 21155 21187 - ImportSpecifier 21188 21211 - Identifier 21188 21211 - ImportSpecifier 21212 21237 - Identifier 21212 21237 - ImportSpecifier 21238 21270 - Identifier 21238 21270 - ImportSpecifier 21271 21304 - Identifier 21271 21304 - ImportSpecifier 21305 21338 - Identifier 21305 21338 - ImportSpecifier 21339 21366 - Identifier 21339 21366 - ImportSpecifier 21367 21428 - Identifier 21367 21428 - ImportSpecifier 21429 21475 - Identifier 21429 21475 - ImportSpecifier 21476 21507 - Identifier 21476 21507 - ImportSpecifier 21508 21528 - Identifier 21508 21528 - ImportSpecifier 21529 21554 - Identifier 21529 21554 - ImportSpecifier 21555 21574 - Identifier 21555 21574 - ImportSpecifier 21575 21598 - Identifier 21575 21598 - ImportSpecifier 21599 21627 - Identifier 21599 21627 - ImportSpecifier 21628 21648 - Identifier 21628 21648 - ImportSpecifier 21649 21660 - Identifier 21649 21660 - ImportSpecifier 21661 21683 - Identifier 21661 21683 - ImportSpecifier 21684 21706 - Identifier 21684 21706 - ImportSpecifier 21707 21725 - Identifier 21707 21725 - ImportSpecifier 21726 21749 - Identifier 21726 21749 - ImportSpecifier 21750 21774 - Identifier 21750 21774 - ImportSpecifier 21775 21795 - Identifier 21775 21795 - ImportSpecifier 21796 21811 - Identifier 21796 21811 - ImportSpecifier 21812 21831 - Identifier 21812 21831 - ImportSpecifier 21832 21852 - Identifier 21832 21852 - ImportSpecifier 21853 21874 - Identifier 21853 21874 - ImportSpecifier 21875 21898 - Identifier 21875 21898 - ImportSpecifier 21899 21922 - Identifier 21899 21922 - ImportSpecifier 21923 21945 - Identifier 21923 21945 - ImportSpecifier 21946 21969 - Identifier 21946 21969 - ImportSpecifier 21970 21991 - Identifier 21970 21991 - ImportSpecifier 21992 22018 - Identifier 21992 22018 - ImportSpecifier 22019 22041 - Identifier 22019 22041 - ImportSpecifier 22042 22065 - Identifier 22042 22065 - ImportSpecifier 22066 22086 - Identifier 22066 22086 - ImportSpecifier 22087 22110 - Identifier 22087 22110 - ImportSpecifier 22111 22131 - Identifier 22111 22131 - ImportSpecifier 22132 22154 - Identifier 22132 22154 - ImportSpecifier 22155 22173 - Identifier 22155 22173 - ImportSpecifier 22174 22198 - Identifier 22174 22198 - ImportSpecifier 22199 22220 - Identifier 22199 22220 - ImportSpecifier 22221 22246 - Identifier 22221 22246 - ImportSpecifier 22247 22269 - Identifier 22247 22269 - ImportSpecifier 22270 22300 - Identifier 22270 22300 - ImportSpecifier 22301 22319 - Identifier 22301 22319 - ImportSpecifier 22320 22343 - Identifier 22320 22343 - ImportSpecifier 22344 22362 - Identifier 22344 22362 - ImportSpecifier 22363 22385 - Identifier 22363 22385 - ImportSpecifier 22386 22408 - Identifier 22386 22408 - ImportSpecifier 22409 22428 - Identifier 22409 22428 - ImportSpecifier 22429 22446 - Identifier 22429 22446 - ImportSpecifier 22447 22461 - Identifier 22447 22461 - ImportSpecifier 22462 22485 - Identifier 22462 22485 - ImportSpecifier 22486 22502 - Identifier 22486 22502 - ImportSpecifier 22503 22516 - Identifier 22503 22516 - ImportSpecifier 22517 22536 - Identifier 22517 22536 - ImportSpecifier 22537 22551 - Identifier 22537 22551 - ImportSpecifier 22552 22569 - Identifier 22552 22569 - ImportSpecifier 22570 22593 - Identifier 22570 22593 - ImportSpecifier 22594 22617 - Identifier 22594 22617 - ImportSpecifier 22618 22642 - Identifier 22618 22642 - ImportSpecifier 22643 22670 - Identifier 22643 22670 - ImportSpecifier 22671 22693 - Identifier 22671 22693 - ImportSpecifier 22694 22721 - Identifier 22694 22721 - ImportSpecifier 22722 22746 - Identifier 22722 22746 - ImportSpecifier 22747 22773 - Identifier 22747 22773 - ImportSpecifier 22774 22795 - Identifier 22774 22795 - ImportSpecifier 22796 22818 - Identifier 22796 22818 - ImportSpecifier 22819 22853 - Identifier 22819 22853 - ImportSpecifier 22854 22864 - Identifier 22854 22864 - ImportSpecifier 22865 22886 - Identifier 22865 22886 - ImportSpecifier 22887 22929 - Identifier 22887 22929 - ImportSpecifier 22930 22956 - Identifier 22930 22956 - ImportSpecifier 22957 22976 - Identifier 22957 22976 - ImportSpecifier 22977 23013 - Identifier 22977 23013 - ImportSpecifier 23014 23038 - Identifier 23014 23038 - ImportSpecifier 23039 23051 - Identifier 23039 23051 - ImportSpecifier 23052 23075 - Identifier 23052 23075 - ImportSpecifier 23076 23093 - Identifier 23076 23093 - ImportSpecifier 23094 23115 - Identifier 23094 23115 - ImportSpecifier 23116 23125 - Identifier 23116 23125 - ImportSpecifier 23126 23142 - Identifier 23126 23142 - ImportSpecifier 23143 23161 - Identifier 23143 23161 - ImportSpecifier 23162 23178 - Identifier 23162 23178 - ImportSpecifier 23179 23199 - Identifier 23179 23199 - ImportSpecifier 23200 23218 - Identifier 23200 23218 - ImportSpecifier 23219 23234 - Identifier 23219 23234 - ImportSpecifier 23235 23261 - Identifier 23235 23261 - ImportSpecifier 23262 23280 - Identifier 23262 23280 - ImportSpecifier 23281 23304 - Identifier 23281 23304 - ImportSpecifier 23305 23326 - Identifier 23305 23326 - ImportSpecifier 23327 23342 - Identifier 23327 23342 - ImportSpecifier 23343 23359 - Identifier 23343 23359 - ImportSpecifier 23360 23374 - Identifier 23360 23374 - ImportSpecifier 23375 23394 - Identifier 23375 23394 - ImportSpecifier 23395 23417 - Identifier 23395 23417 - ImportSpecifier 23418 23438 - Identifier 23418 23438 - ImportSpecifier 23439 23456 - Identifier 23439 23456 - ImportSpecifier 23457 23480 - Identifier 23457 23480 - ImportSpecifier 23481 23503 - Identifier 23481 23503 - ImportSpecifier 23504 23535 - Identifier 23504 23535 - ImportSpecifier 23536 23569 - Identifier 23536 23569 - ImportSpecifier 23570 23605 - Identifier 23570 23605 - ImportSpecifier 23606 23631 - Identifier 23606 23631 - ImportSpecifier 23632 23648 - Identifier 23632 23648 - ImportSpecifier 23649 23675 - Identifier 23649 23675 - ImportSpecifier 23676 23711 - Identifier 23676 23711 - ImportSpecifier 23712 23748 - Identifier 23712 23748 - ImportSpecifier 23749 23762 - Identifier 23749 23762 - ImportSpecifier 23763 23785 - Identifier 23763 23785 - ImportSpecifier 23786 23808 - Identifier 23786 23808 - ImportSpecifier 23809 23827 - Identifier 23809 23827 - ImportSpecifier 23828 23855 - Identifier 23828 23855 - ImportSpecifier 23856 23878 - Identifier 23856 23878 - ImportSpecifier 23879 23905 - Identifier 23879 23905 - ImportSpecifier 23906 23927 - Identifier 23906 23927 - ImportSpecifier 23928 23960 - Identifier 23928 23960 - ImportSpecifier 23961 23982 - Identifier 23961 23982 - ImportSpecifier 23983 24005 - Identifier 23983 24005 - ImportSpecifier 24006 24025 - Identifier 24006 24025 - ImportSpecifier 24026 24036 - Identifier 24026 24036 - ImportSpecifier 24037 24052 - Identifier 24037 24052 - ImportSpecifier 24053 24075 - Identifier 24053 24075 - ImportSpecifier 24076 24100 - Identifier 24076 24100 - ImportSpecifier 24101 24121 - Identifier 24101 24121 - ImportSpecifier 24122 24137 - Identifier 24122 24137 - ImportSpecifier 24138 24155 - Identifier 24138 24155 - ImportSpecifier 24156 24175 - Identifier 24156 24175 - ImportSpecifier 24176 24195 - Identifier 24176 24195 - ImportSpecifier 24196 24219 - Identifier 24196 24219 - ImportSpecifier 24220 24235 - Identifier 24220 24235 - ImportSpecifier 24236 24273 - Identifier 24236 24273 - ImportSpecifier 24274 24301 - Identifier 24274 24301 - ImportSpecifier 24302 24320 - Identifier 24302 24320 - ImportSpecifier 24321 24344 - Identifier 24321 24344 - ImportSpecifier 24345 24380 - Identifier 24345 24380 - ImportSpecifier 24381 24390 - Identifier 24381 24390 - ImportSpecifier 24391 24432 - Identifier 24391 24432 - ImportSpecifier 24433 24456 - Identifier 24433 24456 - ImportSpecifier 24457 24477 - Identifier 24457 24477 - ImportSpecifier 24478 24499 - Identifier 24478 24499 - ImportSpecifier 24500 24526 - Identifier 24500 24526 - ImportSpecifier 24527 24544 - Identifier 24527 24544 - ImportSpecifier 24545 24566 - Identifier 24545 24566 - ImportSpecifier 24567 24597 - Identifier 24567 24597 - ImportSpecifier 24598 24627 - Identifier 24598 24627 - ImportSpecifier 24628 24644 - Identifier 24628 24644 - ImportSpecifier 24645 24664 - Identifier 24645 24664 - ImportSpecifier 24665 24687 - Identifier 24665 24687 - ImportSpecifier 24688 24696 - Identifier 24688 24696 - ImportSpecifier 24697 24722 - Identifier 24697 24722 - ImportSpecifier 24723 24749 - Identifier 24723 24749 - ImportSpecifier 24750 24776 - Identifier 24750 24776 - ImportSpecifier 24777 24805 - Identifier 24777 24805 - ImportSpecifier 24806 24840 - Identifier 24806 24840 - ImportSpecifier 24841 24870 - Identifier 24841 24870 - ImportSpecifier 24871 24898 - Identifier 24871 24898 - ImportSpecifier 24899 24928 - Identifier 24899 24928 - ImportSpecifier 24929 24951 - Identifier 24929 24951 - ImportSpecifier 24952 24975 - Identifier 24952 24975 - ImportSpecifier 24976 24998 - Identifier 24976 24998 - ImportSpecifier 24999 25009 - Identifier 24999 25009 - ImportSpecifier 25010 25030 - Identifier 25010 25030 - ImportSpecifier 25031 25057 - Identifier 25031 25057 - ImportSpecifier 25058 25073 - Identifier 25058 25073 - ImportSpecifier 25074 25102 - Identifier 25074 25102 - ImportSpecifier 25103 25127 - Identifier 25103 25127 - ImportSpecifier 25128 25155 - Identifier 25128 25155 - ImportSpecifier 25156 25179 - Identifier 25156 25179 - ImportSpecifier 25180 25193 - Identifier 25180 25193 - ImportSpecifier 25194 25222 - Identifier 25194 25222 - ImportSpecifier 25223 25248 - Identifier 25223 25248 - ImportSpecifier 25249 25289 - Identifier 25249 25289 - ImportSpecifier 25290 25320 - Identifier 25290 25320 - ImportSpecifier 25321 25345 - Identifier 25321 25345 - ImportSpecifier 25346 25371 - Identifier 25346 25371 - ImportSpecifier 25372 25390 - Identifier 25372 25390 - ImportSpecifier 25391 25414 - Identifier 25391 25414 - ImportSpecifier 25415 25433 - Identifier 25415 25433 - ImportSpecifier 25434 25460 - Identifier 25434 25460 - ImportSpecifier 25461 25488 - Identifier 25461 25488 - ImportSpecifier 25489 25507 - Identifier 25489 25507 - ImportSpecifier 25508 25527 - Identifier 25508 25527 - ImportSpecifier 25528 25547 - Identifier 25528 25547 - ImportSpecifier 25548 25565 - Identifier 25548 25565 - ImportSpecifier 25566 25583 - Identifier 25566 25583 - ImportSpecifier 25584 25611 - Identifier 25584 25611 - ImportSpecifier 25612 25633 - Identifier 25612 25633 - ImportSpecifier 25634 25650 - Identifier 25634 25650 - ImportSpecifier 25651 25681 - Identifier 25651 25681 - ImportSpecifier 25682 25712 - Identifier 25682 25712 - ImportSpecifier 25713 25737 - Identifier 25713 25737 - ImportSpecifier 25738 25759 - Identifier 25738 25759 - ImportSpecifier 25760 25778 - Identifier 25760 25778 - ImportSpecifier 25779 25799 - Identifier 25779 25799 - ImportSpecifier 25800 25835 - Identifier 25800 25835 - ImportSpecifier 25836 25856 - Identifier 25836 25856 - ImportSpecifier 25857 25881 - Identifier 25857 25881 - ImportSpecifier 25882 25900 - Identifier 25882 25900 - ImportSpecifier 25901 25926 - Identifier 25901 25926 - ImportSpecifier 25927 25945 - Identifier 25927 25945 - ImportSpecifier 25946 25967 - Identifier 25946 25967 - ImportSpecifier 25968 25993 - Identifier 25968 25993 - ImportSpecifier 25994 26017 - Identifier 25994 26017 - ImportSpecifier 26018 26031 - Identifier 26018 26031 - ImportSpecifier 26032 26057 - Identifier 26032 26057 - ImportSpecifier 26058 26071 - Identifier 26058 26071 - ImportSpecifier 26072 26097 - Identifier 26072 26097 - ImportSpecifier 26098 26114 - Identifier 26098 26114 - ImportSpecifier 26115 26133 - Identifier 26115 26133 - ImportSpecifier 26134 26162 - Identifier 26134 26162 - ImportSpecifier 26163 26209 - Identifier 26163 26184 - Identifier 26187 26209 - ImportSpecifier 26210 26228 - Identifier 26210 26228 - ImportSpecifier 26229 26261 - Identifier 26229 26261 - ImportSpecifier 26262 26280 - Identifier 26262 26280 - ImportSpecifier 26281 26302 - Identifier 26281 26302 - ImportSpecifier 26303 26318 - Identifier 26303 26318 - ImportSpecifier 26319 26352 - Identifier 26319 26352 - ImportSpecifier 26353 26393 - Identifier 26353 26371 - Identifier 26374 26393 - ImportSpecifier 26394 26418 - Identifier 26394 26418 - ImportSpecifier 26419 26444 - Identifier 26419 26444 - ImportSpecifier 26445 26478 - Identifier 26445 26478 - ImportSpecifier 26479 26516 - Identifier 26479 26516 - ImportSpecifier 26517 26547 - Identifier 26517 26547 - ImportSpecifier 26548 26582 - Identifier 26548 26582 - ImportSpecifier 26583 26598 - Identifier 26583 26598 - ImportSpecifier 26599 26625 - Identifier 26599 26625 - ImportSpecifier 26626 26646 - Identifier 26626 26646 - ImportSpecifier 26647 26666 - Identifier 26647 26666 - ImportSpecifier 26667 26691 - Identifier 26667 26691 - ImportSpecifier 26692 26717 - Identifier 26692 26717 - ImportSpecifier 26718 26744 - Identifier 26718 26744 - ImportSpecifier 26745 26766 - Identifier 26745 26766 - ImportSpecifier 26767 26783 - Identifier 26767 26783 - ImportSpecifier 26784 26806 - Identifier 26784 26806 - ImportSpecifier 26807 26832 - Identifier 26807 26832 - ImportSpecifier 26833 26843 - Identifier 26833 26843 - ImportSpecifier 26844 26860 - Identifier 26844 26860 - ImportSpecifier 26861 26889 - Identifier 26861 26889 - ImportSpecifier 26890 26912 - Identifier 26890 26912 - ImportSpecifier 26913 26932 - Identifier 26913 26932 - ImportSpecifier 26933 26949 - Identifier 26933 26949 - ImportSpecifier 26950 26965 - Identifier 26950 26965 - ImportSpecifier 26966 26985 - Identifier 26966 26985 - ImportSpecifier 26986 27009 - Identifier 26986 27009 - ImportSpecifier 27010 27033 - Identifier 27010 27033 - ImportSpecifier 27034 27057 - Identifier 27034 27057 - ImportSpecifier 27058 27075 - Identifier 27058 27075 - ImportSpecifier 27076 27096 - Identifier 27076 27096 - ImportSpecifier 27097 27119 - Identifier 27097 27119 - ImportSpecifier 27120 27135 - Identifier 27120 27135 - ImportSpecifier 27136 27157 - Identifier 27136 27157 - ImportSpecifier 27158 27170 - Identifier 27158 27170 - ImportSpecifier 27171 27196 - Identifier 27171 27196 - ImportSpecifier 27197 27228 - Identifier 27197 27228 - ImportSpecifier 27229 27246 - Identifier 27229 27246 - ImportSpecifier 27247 27270 - Identifier 27247 27270 - ImportSpecifier 27271 27285 - Identifier 27271 27285 - ImportSpecifier 27286 27303 - Identifier 27286 27303 - ImportSpecifier 27304 27320 - Identifier 27304 27320 - ImportSpecifier 27321 27338 - Identifier 27321 27338 - ImportSpecifier 27339 27358 - Identifier 27339 27358 - ImportSpecifier 27359 27387 - Identifier 27359 27387 - ImportSpecifier 27388 27425 - Identifier 27388 27425 - ImportSpecifier 27426 27464 - Identifier 27426 27464 - ImportSpecifier 27465 27481 - Identifier 27465 27481 - ImportSpecifier 27482 27514 - Identifier 27482 27514 - ImportSpecifier 27515 27540 - Identifier 27515 27540 - ImportSpecifier 27541 27571 - Identifier 27541 27571 - ImportSpecifier 27572 27596 - Identifier 27572 27596 - ImportSpecifier 27597 27622 - Identifier 27597 27622 - ImportSpecifier 27623 27652 - Identifier 27623 27652 - ImportSpecifier 27653 27666 - Identifier 27653 27666 - ImportSpecifier 27667 27707 - Identifier 27667 27707 - ImportSpecifier 27708 27722 - Identifier 27708 27722 - ImportSpecifier 27723 27753 - Identifier 27723 27753 - ImportSpecifier 27754 27771 - Identifier 27754 27771 - ImportSpecifier 27772 27792 - Identifier 27772 27792 - ImportSpecifier 27793 27811 - Identifier 27793 27811 - ImportSpecifier 27812 27832 - Identifier 27812 27832 - ImportSpecifier 27833 27849 - Identifier 27833 27849 - ImportSpecifier 27850 27869 - Identifier 27850 27869 - ImportSpecifier 27870 27883 - Identifier 27870 27883 - ImportSpecifier 27884 27901 - Identifier 27884 27901 - ImportSpecifier 27902 27921 - Identifier 27902 27921 - ImportSpecifier 27922 27943 - Identifier 27922 27943 - ImportSpecifier 27944 27970 - Identifier 27944 27970 - ImportSpecifier 27971 27988 - Identifier 27971 27988 - ImportSpecifier 27989 28002 - Identifier 27989 28002 - ImportSpecifier 28003 28030 - Identifier 28003 28030 - ImportSpecifier 28031 28098 - Identifier 28031 28098 - ImportSpecifier 28099 28128 - Identifier 28099 28128 - ImportSpecifier 28129 28163 - Identifier 28129 28163 - ImportSpecifier 28164 28206 - Identifier 28164 28206 - ImportSpecifier 28207 28253 - Identifier 28207 28253 - ImportSpecifier 28254 28272 - Identifier 28254 28272 - ImportSpecifier 28273 28288 - Identifier 28273 28288 - ImportSpecifier 28289 28308 - Identifier 28289 28308 - ImportSpecifier 28309 28333 - Identifier 28309 28333 - ImportSpecifier 28334 28344 - Identifier 28334 28344 - ImportSpecifier 28345 28371 - Identifier 28345 28371 - ImportSpecifier 28372 28391 - Identifier 28372 28391 - ImportSpecifier 28392 28409 - Identifier 28392 28409 - ImportSpecifier 28410 28431 - Identifier 28410 28431 - ImportSpecifier 28432 28450 - Identifier 28432 28450 - ImportSpecifier 28451 28468 - Identifier 28451 28468 - ImportSpecifier 28469 28484 - Identifier 28469 28484 - ImportSpecifier 28485 28506 - Identifier 28485 28506 - ImportSpecifier 28507 28519 - Identifier 28507 28519 - ImportSpecifier 28520 28541 - Identifier 28520 28541 - ImportSpecifier 28542 28559 - Identifier 28542 28559 - ImportSpecifier 28560 28576 - Identifier 28560 28576 - ImportSpecifier 28577 28591 - Identifier 28577 28591 - ImportSpecifier 28592 28616 - Identifier 28592 28616 - ImportSpecifier 28617 28639 - Identifier 28617 28639 - ImportSpecifier 28640 28670 - Identifier 28640 28670 - ImportSpecifier 28671 28711 - Identifier 28671 28711 - ImportSpecifier 28712 28734 - Identifier 28712 28734 - ImportSpecifier 28735 28754 - Identifier 28735 28754 - ImportSpecifier 28755 28785 - Identifier 28755 28785 - ImportSpecifier 28786 28805 - Identifier 28786 28805 - ImportSpecifier 28806 28829 - Identifier 28806 28829 - ImportSpecifier 28830 28853 - Identifier 28830 28853 - ImportSpecifier 28854 28873 - Identifier 28854 28873 - ImportSpecifier 28874 28893 - Identifier 28874 28893 - ImportSpecifier 28894 28917 - Identifier 28894 28917 - ImportSpecifier 28918 28954 - Identifier 28918 28954 - ImportSpecifier 28955 28978 - Identifier 28955 28978 - ImportSpecifier 28979 28997 - Identifier 28979 28997 - ImportSpecifier 28998 29030 - Identifier 28998 29030 - ImportSpecifier 29031 29060 - Identifier 29031 29060 - ImportSpecifier 29061 29094 - Identifier 29061 29094 - ImportSpecifier 29095 29115 - Identifier 29095 29115 - ImportSpecifier 29116 29131 - Identifier 29116 29131 - ImportSpecifier 29132 29151 - Identifier 29132 29151 - ImportSpecifier 29152 29176 - Identifier 29152 29176 - ImportSpecifier 29177 29210 - Identifier 29177 29210 - ImportSpecifier 29211 29236 - Identifier 29211 29236 - ImportSpecifier 29237 29266 - Identifier 29237 29266 - ImportSpecifier 29267 29296 - Identifier 29267 29296 - ImportSpecifier 29297 29320 - Identifier 29297 29320 - ImportSpecifier 29321 29340 - Identifier 29321 29340 - ImportSpecifier 29341 29385 - Identifier 29341 29361 - Identifier 29364 29385 - ImportSpecifier 29386 29401 - Identifier 29386 29401 - ImportSpecifier 29402 29418 - Identifier 29402 29418 - ImportSpecifier 29419 29432 - Identifier 29419 29432 - ImportSpecifier 29433 29450 - Identifier 29433 29450 - ImportSpecifier 29451 29471 - Identifier 29451 29471 - ImportSpecifier 29472 29510 - Identifier 29472 29510 - ImportSpecifier 29511 29539 - Identifier 29511 29539 - ImportSpecifier 29540 29576 - Identifier 29540 29576 - ImportSpecifier 29577 29607 - Identifier 29577 29607 - ImportSpecifier 29608 29658 - Identifier 29608 29658 - ImportSpecifier 29659 29679 - Identifier 29659 29679 - ImportSpecifier 29680 29701 - Identifier 29680 29701 - ImportSpecifier 29702 29721 - Identifier 29702 29721 - ImportSpecifier 29722 29743 - Identifier 29722 29743 - StringLiteral 29752 29774 - ImportDeclaration 29775 29850 - ImportClause 29783 29805 - NamespaceImport 29783 29805 - Identifier 29788 29805 - StringLiteral 29810 29849 - ImportDeclaration 29850 29915 - ImportClause 29858 29875 - NamespaceImport 29858 29875 - Identifier 29863 29875 - StringLiteral 29880 29914 - VariableStatement 29915 29961 - VariableDeclarationList 29915 29960 - VariableDeclaration 29924 29960 - Identifier 29924 29949 - RegularExpressionLiteral 29951 29960 - VariableStatement 29961 30011 - VariableDeclarationList 29961 30010 - VariableDeclaration 29968 30010 - Identifier 29968 29973 - AsExpression 29975 30010 - StringLiteral 29975 29989 - IntersectionType 29992 30010 - TypeReference 29992 30001 - Identifier 29992 30001 - StringKeyword 30003 30010 - EnumDeclaration 30011 30210 - ConstKeyword 30011 30020 - Identifier 30025 30039 - EnumMember 30041 30058 - Identifier 30041 30058 - EnumMember 30059 30075 - Identifier 30059 30075 - EnumMember 30076 30090 - Identifier 30076 30090 - EnumMember 30091 30113 - Identifier 30091 30113 - EnumMember 30114 30123 - Identifier 30114 30123 - EnumMember 30124 30143 - Identifier 30124 30143 - EnumMember 30144 30168 - Identifier 30144 30168 - EnumMember 30169 30190 - Identifier 30169 30190 - EnumMember 30191 30206 - Identifier 30191 30206 - VariableStatement 30210 30235 - VariableDeclarationList 30210 30234 - VariableDeclaration 30217 30234 - Identifier 30217 30230 - NumericLiteral 30232 30234 - VariableStatement 30235 30256 - VariableDeclarationList 30235 30255 - VariableDeclaration 30240 30255 - Identifier 30240 30251 - NumericLiteral 30253 30255 - VariableStatement 30256 30278 - VariableDeclarationList 30256 30277 - VariableDeclaration 30261 30277 - Identifier 30261 30273 - NumericLiteral 30275 30277 - VariableStatement 30278 30299 - VariableDeclarationList 30278 30298 - VariableDeclaration 30283 30298 - Identifier 30283 30294 - NumericLiteral 30296 30298 - EnumDeclaration 30299 31255 - ConstKeyword 30299 30308 - Identifier 30313 30326 - EnumMember 30328 30366 - Identifier 30328 30357 - BinaryExpression 30359 30366 - NumericLiteral 30359 30361 - LessThanLessThanToken 30361 30364 - NumericLiteral 30364 30366 - EnumMember 30367 30406 - Identifier 30367 30397 - BinaryExpression 30399 30406 - NumericLiteral 30399 30401 - LessThanLessThanToken 30401 30404 - NumericLiteral 30404 30406 - EnumMember 30407 30443 - Identifier 30407 30434 - BinaryExpression 30436 30443 - NumericLiteral 30436 30438 - LessThanLessThanToken 30438 30441 - NumericLiteral 30441 30443 - EnumMember 30444 30468 - Identifier 30444 30459 - BinaryExpression 30461 30468 - NumericLiteral 30461 30463 - LessThanLessThanToken 30463 30466 - NumericLiteral 30466 30468 - EnumMember 30469 30497 - Identifier 30469 30488 - BinaryExpression 30490 30497 - NumericLiteral 30490 30492 - LessThanLessThanToken 30492 30495 - NumericLiteral 30495 30497 - EnumMember 30498 30523 - Identifier 30498 30514 - BinaryExpression 30516 30523 - NumericLiteral 30516 30518 - LessThanLessThanToken 30518 30521 - NumericLiteral 30521 30523 - EnumMember 30524 30556 - Identifier 30524 30547 - BinaryExpression 30549 30556 - NumericLiteral 30549 30551 - LessThanLessThanToken 30551 30554 - NumericLiteral 30554 30556 - EnumMember 30557 30591 - Identifier 30557 30582 - BinaryExpression 30584 30591 - NumericLiteral 30584 30586 - LessThanLessThanToken 30586 30589 - NumericLiteral 30589 30591 - EnumMember 30592 30689 - Identifier 30592 30663 - Identifier 30665 30689 - EnumMember 30690 30741 - Identifier 30690 30702 - BinaryExpression 30704 30741 - Identifier 30704 30728 - BarToken 30728 30730 - Identifier 30730 30741 - EnumMember 30742 30807 - Identifier 30742 30761 - BinaryExpression 30763 30807 - Identifier 30763 30787 - BarToken 30787 30789 - Identifier 30789 30807 - EnumMember 30808 30883 - Identifier 30808 30821 - BinaryExpression 30823 30883 - BinaryExpression 30823 30871 - Identifier 30823 30847 - BarToken 30847 30849 - Identifier 30849 30871 - BarToken 30871 30873 - Identifier 30873 30883 - EnumMember 30884 30989 - Identifier 30884 30900 - BinaryExpression 30902 30989 - BinaryExpression 30902 30977 - BinaryExpression 30902 30953 - Identifier 30902 30926 - BarToken 30926 30928 - Identifier 30928 30953 - BarToken 30953 30955 - Identifier 30955 30977 - BarToken 30977 30979 - Identifier 30979 30989 - EnumMember 30990 31049 - Identifier 30990 31007 - BinaryExpression 31009 31049 - Identifier 31009 31033 - BarToken 31033 31035 - Identifier 31035 31049 - EnumMember 31050 31139 - Identifier 31050 31070 - BinaryExpression 31072 31139 - BinaryExpression 31072 31123 - Identifier 31072 31096 - BarToken 31096 31098 - Identifier 31098 31123 - BarToken 31123 31125 - Identifier 31125 31139 - EnumMember 31140 31193 - Identifier 31140 31167 - Identifier 31169 31193 - EnumMember 31194 31251 - Identifier 31194 31224 - Identifier 31226 31251 - EnumDeclaration 31255 31328 - ConstKeyword 31255 31264 - Identifier 31269 31287 - EnumMember 31289 31300 - Identifier 31289 31300 - EnumMember 31301 31313 - Identifier 31301 31313 - EnumMember 31314 31324 - Identifier 31314 31324 - InterfaceDeclaration 31328 32259 - Identifier 31341 31364 - PropertySignature 31366 31451 - Identifier 31366 31388 - UnionType 31389 31450 - LiteralType 31389 31421 - StringLiteral 31389 31421 - LiteralType 31423 31450 - StringLiteral 31423 31450 - PropertySignature 31451 31536 - Identifier 31451 31473 - UnionType 31474 31535 - LiteralType 31474 31506 - StringLiteral 31474 31506 - LiteralType 31508 31535 - StringLiteral 31508 31535 - PropertySignature 31536 31591 - Identifier 31536 31560 - UnionType 31561 31590 - LiteralType 31561 31577 - StringLiteral 31561 31577 - LiteralType 31579 31590 - StringLiteral 31579 31590 - PropertySignature 31591 31659 - Identifier 31591 31618 - FunctionType 31619 31658 - Parameter 31621 31642 - Identifier 31621 31633 - BooleanKeyword 31634 31642 - TypeReference 31646 31658 - Identifier 31646 31658 - PropertySignature 31659 31727 - Identifier 31659 31686 - FunctionType 31687 31726 - Parameter 31689 31710 - Identifier 31689 31701 - BooleanKeyword 31702 31710 - TypeReference 31714 31726 - Identifier 31714 31726 - PropertySignature 31727 31803 - Identifier 31727 31762 - FunctionType 31763 31802 - Parameter 31765 31786 - Identifier 31765 31777 - BooleanKeyword 31778 31786 - TypeReference 31790 31802 - Identifier 31790 31802 - PropertySignature 31803 31877 - Identifier 31803 31836 - FunctionType 31837 31876 - Parameter 31839 31860 - Identifier 31839 31851 - BooleanKeyword 31852 31860 - TypeReference 31864 31876 - Identifier 31864 31876 - PropertySignature 31877 31946 - Identifier 31877 31905 - FunctionType 31906 31945 - Parameter 31908 31929 - Identifier 31908 31920 - BooleanKeyword 31921 31929 - TypeReference 31933 31945 - Identifier 31933 31945 - PropertySignature 31946 32012 - Identifier 31946 31981 - FunctionType 31982 32011 - TypeOperator 31988 32011 - ArrayType 31997 32011 - TypeReference 31997 32009 - Identifier 31997 32009 - PropertySignature 32012 32102 - Identifier 32012 32038 - FunctionType 32039 32101 - Parameter 32041 32051 - Identifier 32041 32045 - TypeReference 32046 32051 - Identifier 32046 32051 - Parameter 32052 32080 - Identifier 32052 32062 - UnionType 32063 32080 - TypeReference 32063 32068 - Identifier 32063 32068 - UndefinedKeyword 32070 32080 - UnionType 32084 32101 - TypeReference 32084 32089 - Identifier 32084 32089 - UndefinedKeyword 32091 32101 - PropertySignature 32102 32157 - Identifier 32102 32137 - TypeReference 32138 32156 - Identifier 32138 32156 - PropertySignature 32157 32206 - Identifier 32157 32186 - TypeReference 32187 32205 - Identifier 32187 32205 - PropertySignature 32206 32256 - Identifier 32206 32236 - TypeReference 32237 32255 - Identifier 32237 32255 - EnumDeclaration 32259 32366 - ConstKeyword 32259 32268 - Identifier 32273 32286 - EnumMember 32288 32300 - Identifier 32288 32300 - EnumMember 32301 32321 - Identifier 32301 32321 - EnumMember 32322 32341 - Identifier 32322 32341 - EnumMember 32342 32362 - Identifier 32342 32362 - EnumDeclaration 32366 38907 - ExportKeyword 32366 32412 - ConstKeyword 32412 32418 - Identifier 32423 32433 - EnumMember 32435 32449 - Identifier 32435 32445 - NumericLiteral 32447 32449 - EnumMember 32450 32479 - Identifier 32450 32470 - BinaryExpression 32472 32479 - NumericLiteral 32472 32474 - LessThanLessThanToken 32474 32477 - NumericLiteral 32477 32479 - EnumMember 32480 32539 - Identifier 32480 32530 - BinaryExpression 32532 32539 - NumericLiteral 32532 32534 - LessThanLessThanToken 32534 32537 - NumericLiteral 32537 32539 - EnumMember 32540 32599 - Identifier 32540 32590 - BinaryExpression 32592 32599 - NumericLiteral 32592 32594 - LessThanLessThanToken 32594 32597 - NumericLiteral 32597 32599 - EnumMember 32600 32660 - Identifier 32600 32651 - BinaryExpression 32653 32660 - NumericLiteral 32653 32655 - LessThanLessThanToken 32655 32658 - NumericLiteral 32658 32660 - EnumMember 32661 32720 - Identifier 32661 32711 - BinaryExpression 32713 32720 - NumericLiteral 32713 32715 - LessThanLessThanToken 32715 32718 - NumericLiteral 32718 32720 - EnumMember 32721 32780 - Identifier 32721 32771 - BinaryExpression 32773 32780 - NumericLiteral 32773 32775 - LessThanLessThanToken 32775 32778 - NumericLiteral 32778 32780 - EnumMember 32781 32842 - Identifier 32781 32833 - BinaryExpression 32835 32842 - NumericLiteral 32835 32837 - LessThanLessThanToken 32837 32840 - NumericLiteral 32840 32842 - EnumMember 32843 32906 - Identifier 32843 32897 - BinaryExpression 32899 32906 - NumericLiteral 32899 32901 - LessThanLessThanToken 32901 32904 - NumericLiteral 32904 32906 - EnumMember 32907 32959 - Identifier 32907 32950 - BinaryExpression 32952 32959 - NumericLiteral 32952 32954 - LessThanLessThanToken 32954 32957 - NumericLiteral 32957 32959 - EnumMember 32960 33019 - Identifier 32960 33010 - BinaryExpression 33012 33019 - NumericLiteral 33012 33014 - LessThanLessThanToken 33014 33017 - NumericLiteral 33017 33019 - EnumMember 33020 33080 - Identifier 33020 33070 - BinaryExpression 33072 33080 - NumericLiteral 33072 33074 - LessThanLessThanToken 33074 33077 - NumericLiteral 33077 33080 - EnumMember 33081 33141 - Identifier 33081 33131 - BinaryExpression 33133 33141 - NumericLiteral 33133 33135 - LessThanLessThanToken 33135 33138 - NumericLiteral 33138 33141 - EnumMember 33142 33201 - Identifier 33142 33191 - BinaryExpression 33193 33201 - NumericLiteral 33193 33195 - LessThanLessThanToken 33195 33198 - NumericLiteral 33198 33201 - EnumMember 33202 33261 - Identifier 33202 33251 - BinaryExpression 33253 33261 - NumericLiteral 33253 33255 - LessThanLessThanToken 33255 33258 - NumericLiteral 33258 33261 - EnumMember 33262 33323 - Identifier 33262 33313 - BinaryExpression 33315 33323 - NumericLiteral 33315 33317 - LessThanLessThanToken 33317 33320 - NumericLiteral 33320 33323 - EnumMember 33324 33387 - Identifier 33324 33377 - BinaryExpression 33379 33387 - NumericLiteral 33379 33381 - LessThanLessThanToken 33381 33384 - NumericLiteral 33384 33387 - EnumMember 33388 33437 - Identifier 33388 33427 - BinaryExpression 33429 33437 - NumericLiteral 33429 33431 - LessThanLessThanToken 33431 33434 - NumericLiteral 33434 33437 - EnumMember 33438 33486 - Identifier 33438 33476 - BinaryExpression 33478 33486 - NumericLiteral 33478 33480 - LessThanLessThanToken 33480 33483 - NumericLiteral 33483 33486 - EnumMember 33487 33546 - Identifier 33487 33536 - BinaryExpression 33538 33546 - NumericLiteral 33538 33540 - LessThanLessThanToken 33540 33543 - NumericLiteral 33543 33546 - EnumMember 33547 33607 - Identifier 33547 33597 - BinaryExpression 33599 33607 - NumericLiteral 33599 33601 - LessThanLessThanToken 33601 33604 - NumericLiteral 33604 33607 - EnumMember 33608 33656 - Identifier 33608 33646 - BinaryExpression 33648 33656 - NumericLiteral 33648 33650 - LessThanLessThanToken 33650 33653 - NumericLiteral 33653 33656 - EnumMember 33657 33716 - Identifier 33657 33706 - BinaryExpression 33708 33716 - NumericLiteral 33708 33710 - LessThanLessThanToken 33710 33713 - NumericLiteral 33713 33716 - EnumMember 33717 33770 - Identifier 33717 33760 - BinaryExpression 33762 33770 - NumericLiteral 33762 33764 - LessThanLessThanToken 33764 33767 - NumericLiteral 33767 33770 - EnumMember 33771 33809 - Identifier 33771 33799 - BinaryExpression 33801 33809 - NumericLiteral 33801 33803 - LessThanLessThanToken 33803 33806 - NumericLiteral 33806 33809 - EnumMember 33810 33856 - Identifier 33810 33846 - BinaryExpression 33848 33856 - NumericLiteral 33848 33850 - LessThanLessThanToken 33850 33853 - NumericLiteral 33853 33856 - EnumMember 33857 33939 - Identifier 33857 33929 - BinaryExpression 33931 33939 - NumericLiteral 33931 33933 - LessThanLessThanToken 33933 33936 - NumericLiteral 33936 33939 - EnumMember 33940 34041 - Identifier 33940 34018 - BinaryExpression 34020 34041 - Identifier 34020 34032 - BarToken 34032 34034 - Identifier 34034 34041 - EnumMember 34042 34067 - Identifier 34042 34051 - BinaryExpression 34053 34067 - ParenthesizedExpression 34053 34063 - BinaryExpression 34055 34062 - NumericLiteral 34055 34056 - LessThanLessThanToken 34056 34059 - NumericLiteral 34059 34062 - MinusToken 34063 34065 - NumericLiteral 34065 34067 - EnumMember 34068 34535 - Identifier 34068 34349 - BinaryExpression 34351 34535 - BinaryExpression 34351 34515 - BinaryExpression 34351 34506 - BinaryExpression 34351 34492 - BinaryExpression 34351 34471 - BinaryExpression 34351 34452 - BinaryExpression 34351 34435 - BinaryExpression 34351 34418 - BinaryExpression 34351 34400 - BinaryExpression 34351 34383 - Identifier 34351 34366 - BarToken 34366 34368 - Identifier 34368 34383 - BarToken 34383 34385 - Identifier 34385 34400 - BarToken 34400 34402 - Identifier 34402 34418 - BarToken 34418 34420 - Identifier 34420 34435 - BarToken 34435 34437 - Identifier 34437 34452 - BarToken 34452 34454 - Identifier 34454 34471 - BarToken 34471 34473 - Identifier 34473 34492 - BarToken 34492 34494 - Identifier 34494 34506 - BarToken 34506 34508 - Identifier 34508 34515 - BarToken 34515 34517 - Identifier 34517 34535 - EnumMember 34536 34632 - Identifier 34536 34557 - BinaryExpression 34559 34632 - BinaryExpression 34559 34624 - BinaryExpression 34559 34604 - BinaryExpression 34559 34595 - Identifier 34559 34581 - BarToken 34581 34583 - Identifier 34583 34595 - BarToken 34595 34597 - Identifier 34597 34604 - BarToken 34604 34606 - Identifier 34606 34624 - BarToken 34624 34626 - Identifier 34626 34632 - EnumMember 34633 34697 - Identifier 34633 34656 - BinaryExpression 34658 34697 - BinaryExpression 34658 34689 - Identifier 34658 34680 - BarToken 34680 34682 - Identifier 34682 34689 - BarToken 34689 34691 - Identifier 34691 34697 - EnumMember 34698 34742 - Identifier 34698 34715 - BinaryExpression 34717 34742 - Identifier 34717 34733 - BarToken 34733 34735 - Identifier 34735 34742 - EnumMember 34743 34803 - Identifier 34743 34771 - BinaryExpression 34773 34803 - Identifier 34773 34795 - BarToken 34795 34797 - Identifier 34797 34803 - EnumMember 34804 34844 - Identifier 34804 34826 - Identifier 34828 34844 - EnumMember 34845 34909 - Identifier 34845 34876 - BinaryExpression 34878 34909 - Identifier 34878 34900 - BarToken 34900 34902 - Identifier 34902 34909 - EnumMember 34910 34962 - Identifier 34910 34935 - BinaryExpression 34937 34962 - Identifier 34937 34953 - BarToken 34953 34955 - Identifier 34955 34962 - EnumMember 34963 35176 - Identifier 34963 34990 - BinaryExpression 34992 35176 - BinaryExpression 34992 35156 - BinaryExpression 34992 35147 - BinaryExpression 34992 35133 - BinaryExpression 34992 35112 - BinaryExpression 34992 35093 - BinaryExpression 34992 35076 - BinaryExpression 34992 35059 - BinaryExpression 34992 35041 - BinaryExpression 34992 35024 - Identifier 34992 35007 - BarToken 35007 35009 - Identifier 35009 35024 - BarToken 35024 35026 - Identifier 35026 35041 - BarToken 35041 35043 - Identifier 35043 35059 - BarToken 35059 35061 - Identifier 35061 35076 - BarToken 35076 35078 - Identifier 35078 35093 - BarToken 35093 35095 - Identifier 35095 35112 - BarToken 35112 35114 - Identifier 35114 35133 - BarToken 35133 35135 - Identifier 35135 35147 - BarToken 35147 35149 - Identifier 35149 35156 - BarToken 35156 35158 - Identifier 35158 35176 - EnumMember 35177 35273 - Identifier 35177 35198 - BinaryExpression 35200 35273 - BinaryExpression 35200 35265 - BinaryExpression 35200 35245 - BinaryExpression 35200 35236 - Identifier 35200 35222 - BarToken 35222 35224 - Identifier 35224 35236 - BarToken 35236 35238 - Identifier 35238 35245 - BarToken 35245 35247 - Identifier 35247 35265 - BarToken 35265 35267 - Identifier 35267 35273 - EnumMember 35274 35338 - Identifier 35274 35297 - BinaryExpression 35299 35338 - BinaryExpression 35299 35330 - Identifier 35299 35321 - BarToken 35321 35323 - Identifier 35323 35330 - BarToken 35330 35332 - Identifier 35332 35338 - EnumMember 35339 35383 - Identifier 35339 35356 - BinaryExpression 35358 35383 - Identifier 35358 35374 - BarToken 35374 35376 - Identifier 35376 35383 - EnumMember 35384 35443 - Identifier 35384 35411 - BinaryExpression 35413 35443 - Identifier 35413 35435 - BarToken 35435 35437 - Identifier 35437 35443 - EnumMember 35444 35483 - Identifier 35444 35465 - Identifier 35467 35483 - EnumMember 35484 35547 - Identifier 35484 35514 - BinaryExpression 35516 35547 - Identifier 35516 35538 - BarToken 35538 35540 - Identifier 35540 35547 - EnumMember 35548 35599 - Identifier 35548 35572 - BinaryExpression 35574 35599 - Identifier 35574 35590 - BarToken 35590 35592 - Identifier 35592 35599 - EnumMember 35600 35813 - Identifier 35600 35627 - BinaryExpression 35629 35813 - BinaryExpression 35629 35793 - BinaryExpression 35629 35784 - BinaryExpression 35629 35770 - BinaryExpression 35629 35749 - BinaryExpression 35629 35730 - BinaryExpression 35629 35713 - BinaryExpression 35629 35696 - BinaryExpression 35629 35678 - BinaryExpression 35629 35661 - Identifier 35629 35644 - BarToken 35644 35646 - Identifier 35646 35661 - BarToken 35661 35663 - Identifier 35663 35678 - BarToken 35678 35680 - Identifier 35680 35696 - BarToken 35696 35698 - Identifier 35698 35713 - BarToken 35713 35715 - Identifier 35715 35730 - BarToken 35730 35732 - Identifier 35732 35749 - BarToken 35749 35751 - Identifier 35751 35770 - BarToken 35770 35772 - Identifier 35772 35784 - BarToken 35784 35786 - Identifier 35786 35793 - BarToken 35793 35795 - Identifier 35795 35813 - EnumMember 35814 35910 - Identifier 35814 35835 - BinaryExpression 35837 35910 - BinaryExpression 35837 35902 - BinaryExpression 35837 35882 - BinaryExpression 35837 35873 - Identifier 35837 35859 - BarToken 35859 35861 - Identifier 35861 35873 - BarToken 35873 35875 - Identifier 35875 35882 - BarToken 35882 35884 - Identifier 35884 35902 - BarToken 35902 35904 - Identifier 35904 35910 - EnumMember 35911 35975 - Identifier 35911 35934 - BinaryExpression 35936 35975 - BinaryExpression 35936 35967 - Identifier 35936 35958 - BarToken 35958 35960 - Identifier 35960 35967 - BarToken 35967 35969 - Identifier 35969 35975 - EnumMember 35976 36020 - Identifier 35976 35993 - BinaryExpression 35995 36020 - Identifier 35995 36011 - BarToken 36011 36013 - Identifier 36013 36020 - EnumMember 36021 36080 - Identifier 36021 36048 - BinaryExpression 36050 36080 - Identifier 36050 36072 - BarToken 36072 36074 - Identifier 36074 36080 - EnumMember 36081 36120 - Identifier 36081 36102 - Identifier 36104 36120 - EnumMember 36121 36184 - Identifier 36121 36151 - BinaryExpression 36153 36184 - Identifier 36153 36175 - BarToken 36175 36177 - Identifier 36177 36184 - EnumMember 36185 36236 - Identifier 36185 36209 - BinaryExpression 36211 36236 - Identifier 36211 36227 - BarToken 36227 36229 - Identifier 36229 36236 - EnumMember 36237 36451 - Identifier 36237 36265 - BinaryExpression 36267 36451 - BinaryExpression 36267 36431 - BinaryExpression 36267 36422 - BinaryExpression 36267 36408 - BinaryExpression 36267 36387 - BinaryExpression 36267 36368 - BinaryExpression 36267 36351 - BinaryExpression 36267 36334 - BinaryExpression 36267 36317 - BinaryExpression 36267 36300 - Identifier 36267 36283 - BarToken 36283 36285 - Identifier 36285 36300 - BarToken 36300 36302 - Identifier 36302 36317 - BarToken 36317 36319 - Identifier 36319 36334 - BarToken 36334 36336 - Identifier 36336 36351 - BarToken 36351 36353 - Identifier 36353 36368 - BarToken 36368 36370 - Identifier 36370 36387 - BarToken 36387 36389 - Identifier 36389 36408 - BarToken 36408 36410 - Identifier 36410 36422 - BarToken 36422 36424 - Identifier 36424 36431 - BarToken 36431 36433 - Identifier 36433 36451 - EnumMember 36452 36550 - Identifier 36452 36474 - BinaryExpression 36476 36550 - BinaryExpression 36476 36542 - BinaryExpression 36476 36522 - BinaryExpression 36476 36513 - Identifier 36476 36499 - BarToken 36499 36501 - Identifier 36501 36513 - BarToken 36513 36515 - Identifier 36515 36522 - BarToken 36522 36524 - Identifier 36524 36542 - BarToken 36542 36544 - Identifier 36544 36550 - EnumMember 36551 36617 - Identifier 36551 36575 - BinaryExpression 36577 36617 - BinaryExpression 36577 36609 - Identifier 36577 36600 - BarToken 36600 36602 - Identifier 36602 36609 - BarToken 36609 36611 - Identifier 36611 36617 - EnumMember 36618 36664 - Identifier 36618 36636 - BinaryExpression 36638 36664 - Identifier 36638 36655 - BarToken 36655 36657 - Identifier 36657 36664 - EnumMember 36665 36720 - Identifier 36665 36687 - BinaryExpression 36689 36720 - Identifier 36689 36712 - BarToken 36712 36714 - Identifier 36714 36720 - EnumMember 36721 36756 - Identifier 36721 36737 - Identifier 36739 36756 - EnumMember 36757 36812 - Identifier 36757 36778 - BinaryExpression 36780 36812 - Identifier 36780 36803 - BarToken 36803 36805 - Identifier 36805 36812 - EnumMember 36813 36856 - Identifier 36813 36828 - BinaryExpression 36830 36856 - Identifier 36830 36847 - BarToken 36847 36849 - Identifier 36849 36856 - EnumMember 36857 37075 - Identifier 36857 36880 - BinaryExpression 36882 37075 - BinaryExpression 36882 37066 - BinaryExpression 36882 37046 - BinaryExpression 36882 37037 - BinaryExpression 36882 37023 - BinaryExpression 36882 37002 - BinaryExpression 36882 36983 - BinaryExpression 36882 36966 - BinaryExpression 36882 36948 - BinaryExpression 36882 36931 - BinaryExpression 36882 36914 - Identifier 36882 36897 - BarToken 36897 36899 - Identifier 36899 36914 - BarToken 36914 36916 - Identifier 36916 36931 - BarToken 36931 36933 - Identifier 36933 36948 - BarToken 36948 36950 - Identifier 36950 36966 - BarToken 36966 36968 - Identifier 36968 36983 - BarToken 36983 36985 - Identifier 36985 37002 - BarToken 37002 37004 - Identifier 37004 37023 - BarToken 37023 37025 - Identifier 37025 37037 - BarToken 37037 37039 - Identifier 37039 37046 - BarToken 37046 37048 - Identifier 37048 37066 - BarToken 37066 37068 - Identifier 37068 37075 - EnumMember 37076 37164 - Identifier 37076 37093 - BinaryExpression 37095 37164 - BinaryExpression 37095 37156 - BinaryExpression 37095 37136 - BinaryExpression 37095 37127 - Identifier 37095 37113 - BarToken 37113 37115 - Identifier 37115 37127 - BarToken 37127 37129 - Identifier 37129 37136 - BarToken 37136 37138 - Identifier 37138 37156 - BarToken 37156 37158 - Identifier 37158 37164 - EnumMember 37165 37383 - Identifier 37165 37188 - BinaryExpression 37190 37383 - BinaryExpression 37190 37374 - BinaryExpression 37190 37354 - BinaryExpression 37190 37345 - BinaryExpression 37190 37331 - BinaryExpression 37190 37312 - BinaryExpression 37190 37295 - BinaryExpression 37190 37277 - BinaryExpression 37190 37260 - BinaryExpression 37190 37243 - BinaryExpression 37190 37226 - Identifier 37190 37205 - BarToken 37205 37207 - Identifier 37207 37226 - BarToken 37226 37228 - Identifier 37228 37243 - BarToken 37243 37245 - Identifier 37245 37260 - BarToken 37260 37262 - Identifier 37262 37277 - BarToken 37277 37279 - Identifier 37279 37295 - BarToken 37295 37297 - Identifier 37297 37312 - BarToken 37312 37314 - Identifier 37314 37331 - BarToken 37331 37333 - Identifier 37333 37345 - BarToken 37345 37347 - Identifier 37347 37354 - BarToken 37354 37356 - Identifier 37356 37374 - BarToken 37374 37376 - Identifier 37376 37383 - EnumMember 37384 37472 - Identifier 37384 37401 - BinaryExpression 37403 37472 - BinaryExpression 37403 37464 - BinaryExpression 37403 37444 - BinaryExpression 37403 37435 - Identifier 37403 37421 - BarToken 37421 37423 - Identifier 37423 37435 - BarToken 37435 37437 - Identifier 37437 37444 - BarToken 37444 37446 - Identifier 37446 37464 - BarToken 37464 37466 - Identifier 37466 37472 - EnumMember 37473 37693 - Identifier 37473 37498 - BinaryExpression 37500 37693 - BinaryExpression 37500 37684 - BinaryExpression 37500 37664 - BinaryExpression 37500 37655 - BinaryExpression 37500 37641 - BinaryExpression 37500 37624 - BinaryExpression 37500 37607 - BinaryExpression 37500 37589 - BinaryExpression 37500 37572 - BinaryExpression 37500 37555 - BinaryExpression 37500 37538 - Identifier 37500 37517 - BarToken 37517 37519 - Identifier 37519 37538 - BarToken 37538 37540 - Identifier 37540 37555 - BarToken 37555 37557 - Identifier 37557 37572 - BarToken 37572 37574 - Identifier 37574 37589 - BarToken 37589 37591 - Identifier 37591 37607 - BarToken 37607 37609 - Identifier 37609 37624 - BarToken 37624 37626 - Identifier 37626 37641 - BarToken 37641 37643 - Identifier 37643 37655 - BarToken 37655 37657 - Identifier 37657 37664 - BarToken 37664 37666 - Identifier 37666 37684 - BarToken 37684 37686 - Identifier 37686 37693 - EnumMember 37694 37786 - Identifier 37694 37713 - BinaryExpression 37715 37786 - BinaryExpression 37715 37778 - BinaryExpression 37715 37758 - BinaryExpression 37715 37749 - Identifier 37715 37735 - BarToken 37735 37737 - Identifier 37737 37749 - BarToken 37749 37751 - Identifier 37751 37758 - BarToken 37758 37760 - Identifier 37760 37778 - BarToken 37778 37780 - Identifier 37780 37786 - EnumMember 37787 37996 - Identifier 37787 37802 - BinaryExpression 37804 37996 - BinaryExpression 37804 37988 - BinaryExpression 37804 37979 - BinaryExpression 37804 37959 - BinaryExpression 37804 37945 - BinaryExpression 37804 37924 - BinaryExpression 37804 37905 - BinaryExpression 37804 37888 - BinaryExpression 37804 37871 - BinaryExpression 37804 37853 - BinaryExpression 37804 37836 - Identifier 37804 37819 - BarToken 37819 37821 - Identifier 37821 37836 - BarToken 37836 37838 - Identifier 37838 37853 - BarToken 37853 37855 - Identifier 37855 37871 - BarToken 37871 37873 - Identifier 37873 37888 - BarToken 37888 37890 - Identifier 37890 37905 - BarToken 37905 37907 - Identifier 37907 37924 - BarToken 37924 37926 - Identifier 37926 37945 - BarToken 37945 37947 - Identifier 37947 37959 - BarToken 37959 37961 - Identifier 37961 37979 - BarToken 37979 37981 - Identifier 37981 37988 - BarToken 37988 37990 - Identifier 37990 37996 - EnumMember 37997 38225 - Identifier 37997 38017 - BinaryExpression 38019 38225 - BinaryExpression 38019 38211 - BinaryExpression 38019 38203 - BinaryExpression 38019 38194 - BinaryExpression 38019 38174 - BinaryExpression 38019 38160 - BinaryExpression 38019 38139 - BinaryExpression 38019 38120 - BinaryExpression 38019 38103 - BinaryExpression 38019 38086 - BinaryExpression 38019 38068 - BinaryExpression 38019 38051 - Identifier 38019 38034 - BarToken 38034 38036 - Identifier 38036 38051 - BarToken 38051 38053 - Identifier 38053 38068 - BarToken 38068 38070 - Identifier 38070 38086 - BarToken 38086 38088 - Identifier 38088 38103 - BarToken 38103 38105 - Identifier 38105 38120 - BarToken 38120 38122 - Identifier 38122 38139 - BarToken 38139 38141 - Identifier 38141 38160 - BarToken 38160 38162 - Identifier 38162 38174 - BarToken 38174 38176 - Identifier 38176 38194 - BarToken 38194 38196 - Identifier 38196 38203 - BarToken 38203 38205 - Identifier 38205 38211 - BarToken 38211 38213 - Identifier 38213 38225 - EnumMember 38226 38444 - Identifier 38226 38241 - BinaryExpression 38243 38444 - BinaryExpression 38243 38435 - BinaryExpression 38243 38427 - BinaryExpression 38243 38413 - BinaryExpression 38243 38393 - BinaryExpression 38243 38384 - BinaryExpression 38243 38363 - BinaryExpression 38243 38344 - BinaryExpression 38243 38327 - BinaryExpression 38243 38309 - BinaryExpression 38243 38292 - BinaryExpression 38243 38275 - Identifier 38243 38258 - BarToken 38258 38260 - Identifier 38260 38275 - BarToken 38275 38277 - Identifier 38277 38292 - BarToken 38292 38294 - Identifier 38294 38309 - BarToken 38309 38311 - Identifier 38311 38327 - BarToken 38327 38329 - Identifier 38329 38344 - BarToken 38344 38346 - Identifier 38346 38363 - BarToken 38363 38365 - Identifier 38365 38384 - BarToken 38384 38386 - Identifier 38386 38393 - BarToken 38393 38395 - Identifier 38395 38413 - BarToken 38413 38415 - Identifier 38415 38427 - BarToken 38427 38429 - Identifier 38429 38435 - BarToken 38435 38437 - Identifier 38437 38444 - EnumMember 38445 38545 - Identifier 38445 38473 - BinaryExpression 38475 38545 - Identifier 38475 38479 - AmpersandToken 38479 38481 - PrefixUnaryExpression 38481 38545 - ParenthesizedExpression 38483 38545 - BinaryExpression 38484 38544 - BinaryExpression 38484 38524 - BinaryExpression 38484 38504 - Identifier 38484 38495 - BarToken 38495 38497 - Identifier 38497 38504 - BarToken 38504 38506 - Identifier 38506 38524 - BarToken 38524 38526 - Identifier 38526 38544 - EnumMember 38546 38595 - Identifier 38546 38568 - BinaryExpression 38570 38595 - Identifier 38570 38574 - AmpersandToken 38574 38576 - PrefixUnaryExpression 38576 38595 - Identifier 38578 38595 - EnumMember 38596 38641 - Identifier 38596 38614 - BinaryExpression 38616 38641 - Identifier 38616 38620 - AmpersandToken 38620 38622 - PrefixUnaryExpression 38622 38641 - Identifier 38624 38641 - EnumMember 38642 38795 - Identifier 38642 38659 - BinaryExpression 38661 38795 - BinaryExpression 38661 38781 - BinaryExpression 38661 38762 - BinaryExpression 38661 38745 - BinaryExpression 38661 38728 - BinaryExpression 38661 38710 - BinaryExpression 38661 38693 - Identifier 38661 38676 - BarToken 38676 38678 - Identifier 38678 38693 - BarToken 38693 38695 - Identifier 38695 38710 - BarToken 38710 38712 - Identifier 38712 38728 - BarToken 38728 38730 - Identifier 38730 38745 - BarToken 38745 38747 - Identifier 38747 38762 - BarToken 38762 38764 - Identifier 38764 38781 - BarToken 38781 38783 - Identifier 38783 38795 - EnumMember 38796 38863 - Identifier 38796 38827 - BinaryExpression 38829 38863 - Identifier 38829 38846 - BarToken 38846 38848 - Identifier 38848 38863 - EnumMember 38864 38903 - Identifier 38864 38882 - BinaryExpression 38884 38903 - Identifier 38884 38888 - AmpersandToken 38888 38890 - PrefixUnaryExpression 38890 38903 - Identifier 38892 38903 - VariableStatement 38907 39313 - VariableDeclarationList 38907 39312 - VariableDeclaration 38916 39312 - Identifier 38916 38930 - TypeReference 38931 38962 - Identifier 38931 38943 - StringKeyword 38944 38950 - TypeReference 38951 38961 - Identifier 38951 38961 - NewExpression 38964 39312 - Identifier 38968 38972 - CallExpression 38973 39311 - PropertyAccessExpression 38973 38987 - Identifier 38973 38979 - Identifier 38980 38987 - ObjectLiteralExpression 38988 39310 - PropertyAssignment 38989 39027 - Identifier 38989 39001 - PropertyAccessExpression 39002 39027 - Identifier 39002 39012 - Identifier 39013 39027 - PropertyAssignment 39028 39066 - Identifier 39028 39040 - PropertyAccessExpression 39041 39066 - Identifier 39041 39051 - Identifier 39052 39066 - PropertyAssignment 39067 39105 - Identifier 39067 39079 - PropertyAccessExpression 39080 39105 - Identifier 39080 39090 - Identifier 39091 39105 - PropertyAssignment 39106 39146 - Identifier 39106 39119 - PropertyAccessExpression 39120 39146 - Identifier 39120 39130 - Identifier 39131 39146 - PropertyAssignment 39147 39185 - Identifier 39147 39159 - PropertyAccessExpression 39160 39185 - Identifier 39160 39170 - Identifier 39171 39185 - PropertyAssignment 39186 39224 - Identifier 39186 39201 - PropertyAccessExpression 39202 39224 - Identifier 39202 39212 - Identifier 39213 39224 - PropertyAssignment 39225 39263 - Identifier 39225 39237 - PropertyAccessExpression 39238 39263 - Identifier 39238 39248 - Identifier 39249 39263 - PropertyAssignment 39264 39306 - Identifier 39264 39278 - PropertyAccessExpression 39279 39306 - Identifier 39279 39289 - Identifier 39290 39306 - TypeAliasDeclaration 39313 39374 - Identifier 39321 39338 - UnionType 39340 39373 - TypeReference 39340 39345 - Identifier 39340 39345 - TypeReference 39347 39354 - Identifier 39347 39354 - TypeReference 39356 39361 - Identifier 39356 39361 - TypeReference 39363 39373 - Identifier 39363 39373 - EnumDeclaration 39374 39647 - ConstKeyword 39374 39383 - Identifier 39388 39411 - EnumMember 39413 39423 - Identifier 39413 39423 - EnumMember 39424 39457 - Identifier 39424 39457 - EnumMember 39458 39476 - Identifier 39458 39476 - EnumMember 39477 39501 - Identifier 39477 39501 - EnumMember 39502 39531 - Identifier 39502 39531 - EnumMember 39532 39559 - Identifier 39532 39559 - EnumMember 39560 39583 - Identifier 39560 39583 - EnumMember 39584 39599 - Identifier 39584 39599 - EnumMember 39600 39643 - Identifier 39600 39643 - EnumDeclaration 39647 40846 - ExportKeyword 39647 39693 - ConstKeyword 39693 39699 - Identifier 39704 39714 - EnumMember 39716 39732 - Identifier 39716 39728 - NumericLiteral 39730 39732 - EnumMember 39733 39818 - Identifier 39733 39809 - BinaryExpression 39811 39818 - NumericLiteral 39811 39813 - LessThanLessThanToken 39813 39816 - NumericLiteral 39816 39818 - EnumMember 39819 39936 - Identifier 39819 39927 - BinaryExpression 39929 39936 - NumericLiteral 39929 39931 - LessThanLessThanToken 39931 39934 - NumericLiteral 39934 39936 - EnumMember 39937 40020 - Identifier 39937 40011 - BinaryExpression 40013 40020 - NumericLiteral 40013 40015 - LessThanLessThanToken 40015 40018 - NumericLiteral 40018 40020 - EnumMember 40021 40120 - Identifier 40021 40111 - BinaryExpression 40113 40120 - NumericLiteral 40113 40115 - LessThanLessThanToken 40115 40118 - NumericLiteral 40118 40120 - EnumMember 40121 40214 - Identifier 40121 40205 - BinaryExpression 40207 40214 - NumericLiteral 40207 40209 - LessThanLessThanToken 40209 40212 - NumericLiteral 40212 40214 - EnumMember 40215 40317 - Identifier 40215 40308 - BinaryExpression 40310 40317 - NumericLiteral 40310 40312 - LessThanLessThanToken 40312 40315 - NumericLiteral 40315 40317 - EnumMember 40318 40750 - Identifier 40318 40741 - BinaryExpression 40743 40750 - NumericLiteral 40743 40745 - LessThanLessThanToken 40745 40748 - NumericLiteral 40748 40750 - EnumDeclaration 40846 41133 - ExportKeyword 40846 40874 - ConstKeyword 40874 40880 - Identifier 40885 40904 - EnumMember 40906 40920 - Identifier 40906 40916 - NumericLiteral 40918 40920 - EnumMember 40921 40953 - Identifier 40921 40944 - BinaryExpression 40946 40953 - NumericLiteral 40946 40948 - LessThanLessThanToken 40948 40951 - NumericLiteral 40951 40953 - EnumMember 40954 40983 - Identifier 40954 40974 - BinaryExpression 40976 40983 - NumericLiteral 40976 40978 - LessThanLessThanToken 40978 40981 - NumericLiteral 40981 40983 - EnumMember 40984 41016 - Identifier 40984 41007 - BinaryExpression 41009 41016 - NumericLiteral 41009 41011 - LessThanLessThanToken 41011 41014 - NumericLiteral 41014 41016 - EnumMember 41017 41043 - Identifier 41017 41034 - BinaryExpression 41036 41043 - NumericLiteral 41036 41038 - LessThanLessThanToken 41038 41041 - NumericLiteral 41041 41043 - EnumMember 41044 41077 - Identifier 41044 41068 - BinaryExpression 41070 41077 - NumericLiteral 41070 41072 - LessThanLessThanToken 41072 41075 - NumericLiteral 41075 41077 - EnumMember 41078 41129 - Identifier 41078 41092 - BinaryExpression 41094 41129 - Identifier 41094 41112 - BarToken 41112 41114 - Identifier 41114 41129 - EnumDeclaration 41133 41343 - ConstKeyword 41133 41142 - Identifier 41147 41165 - EnumMember 41167 41181 - Identifier 41167 41177 - NumericLiteral 41179 41181 - EnumMember 41182 41203 - Identifier 41182 41194 - BinaryExpression 41196 41203 - NumericLiteral 41196 41198 - LessThanLessThanToken 41198 41201 - NumericLiteral 41201 41203 - EnumMember 41204 41282 - Identifier 41204 41273 - BinaryExpression 41275 41282 - NumericLiteral 41275 41277 - LessThanLessThanToken 41277 41280 - NumericLiteral 41280 41282 - EnumDeclaration 41343 41465 - ConstKeyword 41343 41352 - Identifier 41357 41372 - EnumMember 41374 41388 - Identifier 41374 41384 - NumericLiteral 41386 41388 - EnumMember 41389 41410 - Identifier 41389 41401 - BinaryExpression 41403 41410 - NumericLiteral 41403 41405 - LessThanLessThanToken 41405 41408 - NumericLiteral 41408 41410 - EnumMember 41411 41432 - Identifier 41411 41423 - BinaryExpression 41425 41432 - NumericLiteral 41425 41427 - LessThanLessThanToken 41427 41430 - NumericLiteral 41430 41432 - EnumMember 41433 41461 - Identifier 41433 41443 - BinaryExpression 41445 41461 - Identifier 41445 41452 - BarToken 41452 41454 - Identifier 41454 41461 - EnumDeclaration 41465 41628 - ConstKeyword 41465 41474 - Identifier 41479 41499 - EnumMember 41501 41531 - Identifier 41501 41522 - BinaryExpression 41524 41531 - NumericLiteral 41524 41526 - LessThanLessThanToken 41526 41529 - NumericLiteral 41529 41531 - EnumMember 41532 41562 - Identifier 41532 41553 - BinaryExpression 41555 41562 - NumericLiteral 41555 41557 - LessThanLessThanToken 41557 41560 - NumericLiteral 41560 41562 - EnumMember 41563 41593 - Identifier 41563 41584 - BinaryExpression 41586 41593 - NumericLiteral 41586 41588 - LessThanLessThanToken 41588 41591 - NumericLiteral 41591 41593 - EnumMember 41594 41624 - Identifier 41594 41615 - BinaryExpression 41617 41624 - NumericLiteral 41617 41619 - LessThanLessThanToken 41619 41622 - NumericLiteral 41622 41624 - EnumDeclaration 41628 41713 - ConstKeyword 41628 41637 - Identifier 41642 41665 - EnumMember 41667 41677 - Identifier 41667 41677 - EnumMember 41678 41693 - Identifier 41678 41693 - EnumMember 41694 41709 - Identifier 41694 41709 - EnumDeclaration 41713 41830 - ConstKeyword 41713 41722 - Identifier 41727 41742 - EnumMember 41744 41758 - Identifier 41744 41754 - NumericLiteral 41756 41758 - EnumMember 41759 41775 - Identifier 41759 41771 - NumericLiteral 41773 41775 - EnumMember 41776 41797 - Identifier 41776 41788 - BinaryExpression 41790 41797 - NumericLiteral 41790 41792 - LessThanLessThanToken 41792 41795 - NumericLiteral 41795 41797 - EnumMember 41798 41826 - Identifier 41798 41808 - BinaryExpression 41810 41826 - Identifier 41810 41817 - BarToken 41817 41819 - Identifier 41819 41826 - EnumDeclaration 41830 41964 - ConstKeyword 41830 41839 - Identifier 41844 41875 - EnumMember 41877 41918 - Identifier 41877 41898 - StringLiteral 41900 41918 - EnumMember 41919 41960 - Identifier 41919 41940 - StringLiteral 41942 41960 - EnumDeclaration 41964 42022 - ConstKeyword 41964 41973 - Identifier 41978 41989 - EnumMember 41991 42002 - Identifier 41991 42002 - EnumMember 42003 42018 - Identifier 42003 42018 - TypeAliasDeclaration 42022 42198 - Identifier 42090 42110 - FunctionType 42112 42197 - Parameter 42114 42134 - Identifier 42114 42128 - TypeReference 42129 42134 - Identifier 42129 42134 - Parameter 42135 42152 - Identifier 42135 42140 - TypeReference 42141 42152 - Identifier 42141 42152 - Parameter 42153 42188 - Identifier 42153 42164 - TypeReference 42165 42188 - Identifier 42165 42188 - VoidKeyword 42192 42197 - VariableStatement 42198 42272 - VariableDeclarationList 42198 42271 - VariableDeclaration 42207 42271 - Identifier 42207 42235 - CallExpression 42237 42271 - Identifier 42237 42241 - Identifier 42242 42255 - Identifier 42256 42270 - EnumDeclaration 42272 42539 - ConstKeyword 42272 42281 - Identifier 42286 42305 - EnumMember 42307 42328 - Identifier 42307 42324 - NumericLiteral 42326 42328 - EnumMember 42329 42350 - Identifier 42329 42346 - NumericLiteral 42348 42350 - EnumMember 42351 42379 - Identifier 42351 42375 - NumericLiteral 42377 42379 - EnumMember 42380 42396 - Identifier 42380 42392 - NumericLiteral 42394 42396 - EnumMember 42397 42421 - Identifier 42397 42416 - NumericLiteral 42418 42421 - EnumMember 42422 42472 - Identifier 42422 42444 - BinaryExpression 42446 42472 - Identifier 42446 42458 - BarToken 42458 42460 - Identifier 42460 42472 - EnumMember 42473 42535 - Identifier 42473 42505 - BinaryExpression 42507 42535 - Identifier 42507 42526 - BarToken 42526 42528 - Identifier 42528 42535 - EnumDeclaration 42539 42675 - ConstKeyword 42539 42548 - Identifier 42553 42571 - EnumMember 42573 42587 - Identifier 42573 42583 - NumericLiteral 42585 42587 - EnumMember 42588 42614 - Identifier 42588 42605 - BinaryExpression 42607 42614 - NumericLiteral 42607 42609 - LessThanLessThanToken 42609 42612 - NumericLiteral 42612 42614 - EnumMember 42615 42640 - Identifier 42615 42631 - BinaryExpression 42633 42640 - NumericLiteral 42633 42635 - LessThanLessThanToken 42635 42638 - NumericLiteral 42638 42640 - EnumMember 42641 42671 - Identifier 42641 42662 - BinaryExpression 42664 42671 - NumericLiteral 42664 42666 - LessThanLessThanToken 42666 42669 - NumericLiteral 42669 42671 - EnumDeclaration 42675 42803 - ConstKeyword 42675 42684 - Identifier 42689 42711 - EnumMember 42713 42727 - Identifier 42713 42723 - NumericLiteral 42725 42727 - EnumMember 42728 42766 - Identifier 42728 42757 - BinaryExpression 42759 42766 - NumericLiteral 42759 42761 - LessThanLessThanToken 42761 42764 - NumericLiteral 42764 42766 - EnumMember 42767 42799 - Identifier 42767 42790 - BinaryExpression 42792 42799 - NumericLiteral 42792 42794 - LessThanLessThanToken 42794 42797 - NumericLiteral 42797 42799 - EnumDeclaration 42803 42922 - ConstKeyword 42803 42812 - Identifier 42817 42835 - EnumMember 42837 42852 - Identifier 42837 42852 - EnumMember 42853 42868 - Identifier 42853 42868 - EnumMember 42869 42885 - Identifier 42869 42885 - EnumMember 42886 42904 - Identifier 42886 42904 - EnumMember 42905 42918 - Identifier 42905 42918 - VariableStatement 42922 43252 - VariableDeclarationList 42922 43251 - VariableDeclaration 42931 43251 - Identifier 42931 42950 - TypeReference 42951 42990 - Identifier 42951 42963 - StringKeyword 42964 42970 - TypeReference 42971 42989 - Identifier 42971 42989 - NewExpression 42992 43251 - Identifier 42996 43000 - CallExpression 43001 43250 - PropertyAccessExpression 43001 43015 - Identifier 43001 43007 - Identifier 43008 43015 - ObjectLiteralExpression 43016 43249 - PropertyAssignment 43017 43061 - Identifier 43017 43032 - PropertyAccessExpression 43033 43061 - Identifier 43033 43051 - Identifier 43052 43061 - PropertyAssignment 43062 43106 - Identifier 43062 43077 - PropertyAccessExpression 43078 43106 - Identifier 43078 43096 - Identifier 43097 43106 - PropertyAssignment 43107 43153 - Identifier 43107 43123 - PropertyAccessExpression 43124 43153 - Identifier 43124 43142 - Identifier 43143 43153 - PropertyAssignment 43154 43204 - Identifier 43154 43172 - PropertyAccessExpression 43173 43204 - Identifier 43173 43191 - Identifier 43192 43204 - PropertyAssignment 43205 43245 - Identifier 43205 43218 - PropertyAccessExpression 43219 43245 - Identifier 43219 43237 - Identifier 43238 43245 - VariableStatement 43252 43347 - VariableDeclarationList 43252 43346 - VariableDeclaration 43261 43346 - Identifier 43261 43273 - ClassExpression 43275 43346 - HeritageClause 43281 43304 - ExpressionWithTypeArguments 43292 43304 - Identifier 43292 43304 - PropertyDeclaration 43306 43343 - DeclareKeyword 43306 43319 - Identifier 43319 43337 - AnyKeyword 43338 43342 - FunctionDeclaration 43347 43430 - Identifier 43359 43369 - Parameter 43370 43385 - Identifier 43370 43374 - TypeReference 43375 43385 - Identifier 43375 43385 - Block 43386 43430 - ExpressionStatement 43388 43427 - BinaryExpression 43388 43426 - PropertyAccessExpression 43388 43404 - ThisKeyword 43388 43398 - Identifier 43399 43404 - EqualsToken 43404 43406 - PropertyAccessExpression 43406 43426 - Identifier 43406 43421 - Identifier 43422 43426 - FunctionDeclaration 43430 43605 - ExportKeyword 43430 43458 - Identifier 43467 43477 - Parameter 43478 43488 - Identifier 43478 43482 - TypeReference 43483 43488 - Identifier 43483 43488 - NumberKeyword 43490 43497 - Block 43497 43605 - IfStatement 43499 43581 - PrefixUnaryExpression 43509 43517 - PropertyAccessExpression 43510 43517 - Identifier 43510 43514 - Identifier 43515 43517 - Block 43518 43581 - ExpressionStatement 43520 43551 - BinaryExpression 43520 43550 - PropertyAccessExpression 43520 43537 - Identifier 43520 43534 - Identifier 43535 43537 - EqualsToken 43537 43539 - Identifier 43539 43550 - ExpressionStatement 43551 43574 - PostfixUnaryExpression 43551 43573 - Identifier 43551 43571 - ReturnStatement 43581 43602 - PropertyAccessExpression 43593 43601 - Identifier 43593 43598 - Identifier 43599 43601 - FunctionDeclaration 43605 43800 - ExportKeyword 43605 43633 - Identifier 43642 43654 - Parameter 43655 43669 - Identifier 43655 43661 - TypeReference 43662 43669 - Identifier 43662 43669 - TypeReference 43671 43680 - Identifier 43671 43680 - Block 43680 43800 - IfStatement 43682 43772 - PrefixUnaryExpression 43692 43702 - PropertyAccessExpression 43693 43702 - Identifier 43693 43699 - Identifier 43700 43702 - Block 43703 43772 - ExpressionStatement 43705 43740 - BinaryExpression 43705 43739 - PropertyAccessExpression 43705 43724 - Identifier 43705 43721 - Identifier 43722 43724 - EqualsToken 43724 43726 - Identifier 43726 43739 - ExpressionStatement 43740 43765 - PostfixUnaryExpression 43740 43764 - Identifier 43740 43762 - ReturnStatement 43772 43797 - PropertyAccessExpression 43786 43796 - Identifier 43786 43793 - Identifier 43794 43796 - FunctionDeclaration 43800 44129 - ExportKeyword 43800 43828 - Identifier 43837 43858 - Parameter 43859 43882 - Identifier 43859 43863 - TypeReference 43864 43882 - Identifier 43864 43882 - Parameter 43883 43911 - Identifier 43883 43902 - BooleanKeyword 43903 43911 - BooleanKeyword 43913 43921 - Block 43921 44129 - VariableStatement 43923 43978 - VariableDeclarationList 43923 43977 - VariableDeclaration 43934 43977 - Identifier 43934 43946 - CallExpression 43948 43977 - Identifier 43948 43971 - Identifier 43972 43976 - ReturnStatement 43978 44126 - BinaryExpression 43990 44125 - BinaryExpression 43990 44039 - Identifier 43990 44002 - EqualsEqualsEqualsToken 44002 44006 - PropertyAccessExpression 44006 44039 - Identifier 44006 44026 - Identifier 44027 44039 - BarBarToken 44039 44042 - ParenthesizedExpression 44042 44125 - BinaryExpression 44053 44124 - Identifier 44053 44071 - AmpersandAmpersandToken 44071 44074 - BinaryExpression 44074 44124 - Identifier 44074 44086 - EqualsEqualsEqualsToken 44086 44090 - PropertyAccessExpression 44090 44124 - Identifier 44090 44110 - Identifier 44111 44124 - FunctionDeclaration 44129 3069644 - ExportKeyword 44129 44157 - Identifier 44166 44184 - Parameter 44185 44206 - Identifier 44185 44189 - TypeReference 44190 44206 - Identifier 44190 44206 - TypeReference 44208 44220 - Identifier 44208 44220 - Block 44220 3069644 - VariableStatement 44222 44455 - VariableDeclarationList 44222 44454 - VariableDeclaration 44404 44454 - Identifier 44404 44433 - ArrayType 44434 44449 - ParenthesizedType 44434 44447 - FunctionType 44436 44446 - VoidKeyword 44441 44446 - ArrayLiteralExpression 44451 44454 - VariableStatement 44455 44566 - VariableDeclarationList 44455 44565 - VariableDeclaration 44466 44565 - Identifier 44466 44484 - ArrowFunction 44486 44565 - Parameter 44488 44503 - Identifier 44488 44491 - FunctionType 44492 44503 - VoidKeyword 44498 44503 - EqualsGreaterThanToken 44504 44507 - Block 44507 44565 - ExpressionStatement 44509 44558 - CallExpression 44509 44557 - PropertyAccessExpression 44509 44552 - Identifier 44509 44547 - Identifier 44548 44552 - Identifier 44553 44556 - VariableStatement 44566 45359 - VariableDeclarationList 44566 45358 - VariableDeclaration 45309 45358 - Identifier 45309 45327 - UnionType 45328 45358 - TypeReference 45328 45346 - Identifier 45328 45346 - UndefinedKeyword 45348 45358 - VariableStatement 45359 45400 - VariableDeclarationList 45359 45399 - VariableDeclaration 45370 45399 - Identifier 45370 45378 - UnionType 45379 45399 - TypeReference 45379 45387 - Identifier 45379 45387 - UndefinedKeyword 45389 45399 - VariableStatement 45400 45460 - VariableDeclarationList 45400 45459 - VariableDeclaration 45411 45459 - Identifier 45411 45418 - CallExpression 45420 45459 - PropertyAccessExpression 45420 45457 - Identifier 45420 45436 - Identifier 45437 45457 - VariableStatement 45460 45514 - VariableDeclarationList 45460 45513 - VariableDeclaration 45469 45513 - Identifier 45469 45474 - CallExpression 45476 45513 - PropertyAccessExpression 45476 45511 - Identifier 45476 45492 - Identifier 45493 45511 - VariableStatement 45514 45578 - VariableDeclarationList 45514 45577 - VariableDeclaration 45523 45577 - Identifier 45523 45533 - CallExpression 45535 45577 - PropertyAccessExpression 45535 45575 - Identifier 45535 45551 - Identifier 45552 45575 - VariableStatement 45578 45604 - VariableDeclarationList 45578 45603 - VariableDeclaration 45589 45603 - Identifier 45589 45599 - NumericLiteral 45601 45603 - VariableStatement 45604 45630 - VariableDeclarationList 45604 45629 - VariableDeclaration 45613 45629 - Identifier 45613 45625 - NumericLiteral 45627 45629 - VariableStatement 45630 45668 - VariableDeclarationList 45630 45667 - VariableDeclaration 45639 45667 - Identifier 45639 45663 - NumericLiteral 45665 45667 - VariableStatement 45668 45701 - VariableDeclarationList 45668 45700 - VariableDeclaration 45677 45700 - Identifier 45677 45696 - NumericLiteral 45698 45700 - VariableStatement 45701 45734 - VariableDeclarationList 45701 45733 - VariableDeclaration 45710 45733 - Identifier 45710 45729 - NumericLiteral 45731 45733 - VariableStatement 45734 45760 - VariableDeclarationList 45734 45759 - VariableDeclaration 45743 45759 - Identifier 45743 45755 - NumericLiteral 45757 45759 - VariableStatement 45760 45800 - VariableDeclarationList 45760 45799 - VariableDeclaration 45769 45799 - Identifier 45769 45781 - UnionType 45782 45799 - TypeReference 45782 45787 - Identifier 45782 45787 - UndefinedKeyword 45789 45799 - VariableStatement 45800 45859 - VariableDeclarationList 45800 45858 - VariableDeclaration 45809 45858 - Identifier 45809 45831 - UnionType 45832 45858 - TypeReference 45832 45846 - Identifier 45832 45846 - UndefinedKeyword 45848 45858 - VariableStatement 45859 45905 - VariableDeclarationList 45859 45904 - VariableDeclaration 45868 45904 - Identifier 45868 45896 - FalseKeyword 45898 45904 - VariableStatement 45905 45952 - VariableDeclarationList 45905 45951 - VariableDeclaration 45916 45951 - Identifier 45916 45929 - CallExpression 45931 45951 - Identifier 45931 45949 - VariableStatement 45952 46005 - VariableDeclarationList 45952 46004 - VariableDeclaration 45961 46004 - Identifier 45961 45976 - ArrayLiteralExpression 45978 46004 - PropertyAccessExpression 45980 46003 - Identifier 45980 45993 - Identifier 45994 46003 - VariableStatement 46005 46061 - VariableDeclarationList 46005 46060 - VariableDeclaration 46016 46060 - Identifier 46016 46032 - CallExpression 46034 46060 - PropertyAccessExpression 46034 46058 - Identifier 46034 46039 - Identifier 46040 46058 - VariableStatement 46061 46126 - VariableDeclarationList 46061 46125 - VariableDeclaration 46070 46125 - Identifier 46070 46086 - CallExpression 46088 46125 - Identifier 46088 46108 - Identifier 46109 46124 - VariableStatement 46126 46184 - VariableDeclarationList 46126 46183 - VariableDeclaration 46135 46183 - Identifier 46135 46146 - CallExpression 46148 46183 - Identifier 46148 46166 - Identifier 46167 46182 - VariableStatement 46184 46254 - VariableDeclarationList 46184 46253 - VariableDeclaration 46193 46253 - Identifier 46193 46210 - PrefixUnaryExpression 46212 46253 - PrefixUnaryExpression 46214 46253 - PropertyAccessExpression 46215 46253 - Identifier 46215 46230 - Identifier 46231 46253 - VariableStatement 46254 46334 - VariableDeclarationList 46254 46333 - VariableDeclaration 46263 46333 - Identifier 46263 46287 - CallExpression 46289 46333 - Identifier 46289 46316 - Identifier 46317 46332 - VariableStatement 46334 46414 - VariableDeclarationList 46334 46413 - VariableDeclaration 46343 46413 - Identifier 46343 46367 - CallExpression 46369 46413 - Identifier 46369 46396 - Identifier 46397 46412 - VariableStatement 46414 46504 - VariableDeclarationList 46414 46503 - VariableDeclaration 46423 46503 - Identifier 46423 46452 - CallExpression 46454 46503 - Identifier 46454 46486 - Identifier 46487 46502 - VariableStatement 46504 46591 - VariableDeclarationList 46504 46590 - VariableDeclaration 46513 46590 - Identifier 46513 46530 - CallExpression 46532 46590 - Identifier 46532 46553 - Identifier 46554 46569 - StringLiteral 46570 46589 - VariableStatement 46591 46684 - VariableDeclarationList 46591 46683 - VariableDeclaration 46600 46683 - Identifier 46600 46620 - CallExpression 46622 46683 - Identifier 46622 46643 - Identifier 46644 46659 - StringLiteral 46660 46682 - VariableStatement 46684 46777 - VariableDeclarationList 46684 46776 - VariableDeclaration 46693 46776 - Identifier 46693 46713 - CallExpression 46715 46776 - Identifier 46715 46736 - Identifier 46737 46752 - StringLiteral 46753 46775 - VariableStatement 46777 46888 - VariableDeclarationList 46777 46887 - VariableDeclaration 46786 46887 - Identifier 46786 46815 - CallExpression 46817 46887 - Identifier 46817 46838 - Identifier 46839 46854 - StringLiteral 46855 46886 - VariableStatement 46888 46997 - VariableDeclarationList 46888 46996 - VariableDeclaration 46897 46996 - Identifier 46897 46925 - CallExpression 46927 46996 - Identifier 46927 46948 - Identifier 46949 46964 - StringLiteral 46965 46995 - VariableStatement 46997 47078 - VariableDeclarationList 46997 47077 - VariableDeclaration 47006 47077 - Identifier 47006 47020 - CallExpression 47022 47077 - Identifier 47022 47043 - Identifier 47044 47059 - StringLiteral 47060 47076 - VariableStatement 47078 47161 - VariableDeclarationList 47078 47160 - VariableDeclaration 47087 47160 - Identifier 47087 47102 - CallExpression 47104 47160 - Identifier 47104 47125 - Identifier 47126 47141 - StringLiteral 47142 47159 - VariableStatement 47161 47268 - VariableDeclarationList 47161 47267 - VariableDeclaration 47170 47267 - Identifier 47170 47197 - CallExpression 47199 47267 - Identifier 47199 47220 - Identifier 47221 47236 - StringLiteral 47237 47266 - VariableStatement 47268 47350 - VariableDeclarationList 47268 47349 - VariableDeclaration 47277 47349 - Identifier 47277 47304 - PropertyAccessExpression 47306 47349 - Identifier 47306 47322 - Identifier 47323 47349 - VariableStatement 47350 47438 - VariableDeclarationList 47350 47437 - VariableDeclaration 47359 47437 - Identifier 47359 47388 - PrefixUnaryExpression 47390 47437 - PrefixUnaryExpression 47392 47437 - PropertyAccessExpression 47393 47437 - Identifier 47393 47408 - Identifier 47409 47437 - VariableStatement 47438 47504 - VariableDeclarationList 47438 47503 - VariableDeclaration 47449 47503 - Identifier 47449 47471 - CallExpression 47473 47503 - Identifier 47473 47501 - VariableStatement 47504 47546 - VariableDeclarationList 47504 47545 - VariableDeclaration 47513 47545 - Identifier 47513 47526 - CallExpression 47528 47545 - Identifier 47528 47543 - VariableStatement 47546 47590 - VariableDeclarationList 47546 47589 - VariableDeclaration 47555 47589 - Identifier 47555 47567 - CallExpression 47569 47589 - Identifier 47569 47587 - VariableStatement 47590 47709 - VariableDeclarationList 47590 47708 - VariableDeclaration 47599 47708 - Identifier 47599 47620 - CallExpression 47622 47708 - Identifier 47622 47653 - Identifier 47654 47669 - PropertyAccessExpression 47670 47707 - Identifier 47670 47682 - Identifier 47683 47707 - VariableStatement 47709 47837 - VariableDeclarationList 47709 47836 - VariableDeclaration 47718 47836 - Identifier 47718 47727 - CallExpression 47729 47836 - Identifier 47729 47745 - ObjectLiteralExpression 47746 47835 - ShorthandPropertyAssignment 47747 47788 - Identifier 47747 47788 - ShorthandPropertyAssignment 47789 47827 - Identifier 47789 47827 - VariableStatement 47837 47879 - VariableDeclarationList 47837 47878 - VariableDeclaration 47848 47878 - Identifier 47848 47856 - CallExpression 47858 47878 - Identifier 47858 47876 - VariableStatement 47879 47967 - VariableDeclarationList 47879 47966 - VariableDeclaration 47888 47966 - Identifier 47888 47904 - CallExpression 47906 47966 - Identifier 47906 47919 - PropertyAccessExpression 47920 47940 - Identifier 47920 47931 - Identifier 47932 47940 - AsExpression 47941 47965 - StringLiteral 47941 47953 - TypeReference 47956 47965 - Identifier 47956 47965 - ExpressionStatement 47967 48007 - BinaryExpression 47967 48006 - PropertyAccessExpression 47967 48001 - Identifier 47967 47988 - Identifier 47989 48001 - EqualsToken 48001 48003 - ArrayLiteralExpression 48003 48006 - VariableStatement 48007 48118 - VariableDeclarationList 48007 48117 - VariableDeclaration 48018 48117 - Identifier 48018 48035 - CallExpression 48037 48117 - Identifier 48037 48050 - PropertyAccessExpression 48051 48069 - Identifier 48051 48062 - Identifier 48063 48069 - AsExpression 48070 48095 - StringLiteral 48070 48083 - TypeReference 48086 48095 - Identifier 48086 48095 - PropertyAccessExpression 48096 48116 - Identifier 48096 48107 - Identifier 48108 48116 - ExpressionStatement 48118 48159 - BinaryExpression 48118 48158 - PropertyAccessExpression 48118 48148 - Identifier 48118 48140 - Identifier 48141 48148 - EqualsToken 48148 48150 - Identifier 48150 48158 - ExpressionStatement 48159 48200 - BinaryExpression 48159 48199 - PropertyAccessExpression 48159 48194 - Identifier 48159 48181 - Identifier 48182 48194 - EqualsToken 48194 48196 - ArrayLiteralExpression 48196 48199 - ExpressionStatement 48200 48266 - CallExpression 48200 48265 - PropertyAccessExpression 48200 48217 - Identifier 48200 48213 - Identifier 48214 48217 - PropertyAccessExpression 48218 48246 - Identifier 48218 48234 - Identifier 48235 48246 - Identifier 48247 48264 - VariableStatement 48266 48356 - VariableDeclarationList 48266 48355 - VariableDeclaration 48277 48355 - Identifier 48277 48293 - CallExpression 48295 48355 - Identifier 48295 48308 - PropertyAccessExpression 48309 48329 - Identifier 48309 48320 - Identifier 48321 48329 - AsExpression 48330 48354 - StringLiteral 48330 48342 - TypeReference 48345 48354 - Identifier 48345 48354 - VariableStatement 48356 48440 - VariableDeclarationList 48356 48439 - VariableDeclaration 48365 48439 - Identifier 48365 48379 - CallExpression 48381 48439 - Identifier 48381 48394 - PropertyAccessExpression 48395 48415 - Identifier 48395 48406 - Identifier 48407 48415 - AsExpression 48416 48438 - StringLiteral 48416 48426 - TypeReference 48429 48438 - Identifier 48429 48438 - VariableStatement 48440 48562 - VariableDeclarationList 48440 48561 - VariableDeclaration 48449 48561 - Identifier 48449 48477 - ConditionalExpression 48479 48561 - PropertyAccessExpression 48479 48516 - Identifier 48479 48495 - Identifier 48496 48516 - QuestionToken 48516 48518 - StringLiteral 48518 48541 - ColonToken 48541 48543 - StringLiteral 48543 48561 - VariableStatement 48562 48651 - VariableDeclarationList 48562 48650 - VariableDeclaration 48571 48650 - Identifier 48571 48610 - PrefixUnaryExpression 48612 48650 - PropertyAccessExpression 48614 48650 - Identifier 48614 48629 - Identifier 48630 48650 - VariableStatement 48651 48871 - VariableDeclarationList 48651 48870 - VariableDeclaration 48828 48870 - Identifier 48828 48850 - UnionType 48851 48870 - NumberKeyword 48851 48858 - UndefinedKeyword 48860 48870 - VariableStatement 48871 48930 - VariableDeclarationList 48871 48929 - VariableDeclaration 48882 48929 - Identifier 48882 48911 - UnionType 48912 48929 - TypeReference 48912 48917 - Identifier 48912 48917 - UndefinedKeyword 48919 48929 - VariableStatement 48930 48988 - VariableDeclarationList 48930 48987 - VariableDeclaration 48939 48987 - Identifier 48939 48970 - PropertyAccessExpression 48972 48987 - Identifier 48972 48982 - Identifier 48983 48987 - VariableStatement 48988 49056 - VariableDeclarationList 48988 49055 - VariableDeclaration 48997 49055 - Identifier 48997 49030 - UnionType 49031 49055 - TypeReference 49031 49043 - Identifier 49031 49043 - UndefinedKeyword 49045 49055 - VariableStatement 49056 49122 - VariableDeclarationList 49056 49121 - VariableDeclaration 49065 49121 - Identifier 49065 49100 - PropertyAccessExpression 49102 49121 - Identifier 49102 49116 - Identifier 49117 49121 - VariableStatement 49122 49580 - VariableDeclarationList 49122 49579 - VariableDeclaration 49131 49579 - Identifier 49131 49143 - CallExpression 49145 49579 - Identifier 49145 49164 - ObjectLiteralExpression 49165 49578 - ShorthandPropertyAssignment 49166 49191 - Identifier 49166 49191 - ShorthandPropertyAssignment 49192 49215 - Identifier 49192 49215 - ShorthandPropertyAssignment 49216 49241 - Identifier 49216 49241 - ShorthandPropertyAssignment 49242 49259 - Identifier 49242 49259 - ShorthandPropertyAssignment 49260 49292 - Identifier 49260 49292 - ShorthandPropertyAssignment 49293 49308 - Identifier 49293 49308 - ShorthandPropertyAssignment 49309 49346 - Identifier 49309 49346 - ShorthandPropertyAssignment 49347 49384 - Identifier 49347 49384 - PropertyAssignment 49385 49412 - Identifier 49385 49401 - Identifier 49402 49412 - PropertyAssignment 49413 49497 - Identifier 49413 49455 - Identifier 49456 49497 - ShorthandPropertyAssignment 49498 49531 - Identifier 49498 49531 - ShorthandPropertyAssignment 49532 49570 - Identifier 49532 49570 - VariableStatement 49580 49924 - VariableDeclarationList 49580 49923 - VariableDeclaration 49591 49923 - Identifier 49591 49622 - CallExpression 49624 49923 - Identifier 49624 49643 - ObjectLiteralExpression 49644 49922 - ShorthandPropertyAssignment 49645 49670 - Identifier 49645 49670 - ShorthandPropertyAssignment 49671 49694 - Identifier 49671 49694 - ShorthandPropertyAssignment 49695 49720 - Identifier 49695 49720 - ShorthandPropertyAssignment 49721 49738 - Identifier 49721 49738 - ShorthandPropertyAssignment 49739 49771 - Identifier 49739 49771 - ShorthandPropertyAssignment 49772 49787 - Identifier 49772 49787 - ShorthandPropertyAssignment 49788 49825 - Identifier 49788 49825 - ShorthandPropertyAssignment 49826 49863 - Identifier 49826 49863 - PropertyAssignment 49864 49914 - Identifier 49864 49880 - Identifier 49881 49914 - VariableStatement 49924 68607 - VariableDeclarationList 49924 68606 - VariableDeclaration 50312 68606 - Identifier 50312 50320 - TypeReference 50321 50333 - Identifier 50321 50333 - ObjectLiteralExpression 50335 68606 - PropertyAssignment 50337 50430 - Identifier 50337 50359 - ArrowFunction 50360 50430 - EqualsGreaterThanToken 50363 50366 - CallExpression 50366 50430 - Identifier 50366 50377 - CallExpression 50378 50399 - PropertyAccessExpression 50378 50397 - Identifier 50378 50382 - Identifier 50383 50397 - ArrowFunction 50400 50426 - Parameter 50402 50403 - Identifier 50402 50403 - Parameter 50404 50406 - Identifier 50404 50406 - EqualsGreaterThanToken 50407 50410 - BinaryExpression 50410 50426 - Identifier 50410 50412 - PlusToken 50412 50414 - PropertyAccessExpression 50414 50426 - Identifier 50414 50416 - Identifier 50417 50426 - NumericLiteral 50427 50429 - PropertyAssignment 50431 50536 - Identifier 50431 50459 - ArrowFunction 50460 50536 - EqualsGreaterThanToken 50463 50466 - CallExpression 50466 50536 - Identifier 50466 50477 - CallExpression 50478 50499 - PropertyAccessExpression 50478 50497 - Identifier 50478 50482 - Identifier 50483 50497 - ArrowFunction 50500 50532 - Parameter 50502 50503 - Identifier 50502 50503 - Parameter 50504 50506 - Identifier 50504 50506 - EqualsGreaterThanToken 50507 50510 - BinaryExpression 50510 50532 - Identifier 50510 50512 - PlusToken 50512 50514 - PropertyAccessExpression 50514 50532 - Identifier 50514 50516 - Identifier 50517 50532 - NumericLiteral 50533 50535 - PropertyAssignment 50537 50644 - Identifier 50537 50561 - ArrowFunction 50562 50644 - EqualsGreaterThanToken 50565 50568 - CallExpression 50568 50644 - Identifier 50568 50579 - CallExpression 50580 50601 - PropertyAccessExpression 50580 50599 - Identifier 50580 50584 - Identifier 50585 50599 - ArrowFunction 50602 50630 - Parameter 50604 50605 - Identifier 50604 50605 - Parameter 50606 50608 - Identifier 50606 50608 - EqualsGreaterThanToken 50609 50612 - BinaryExpression 50612 50630 - Identifier 50612 50614 - PlusToken 50614 50616 - PropertyAccessExpression 50616 50630 - Identifier 50616 50618 - Identifier 50619 50630 - Identifier 50631 50643 - PropertyAssignment 50645 50684 - Identifier 50645 50667 - ArrowFunction 50668 50684 - EqualsGreaterThanToken 50671 50674 - Identifier 50674 50684 - PropertyAssignment 50685 50747 - Identifier 50685 50716 - ArrowFunction 50717 50747 - EqualsGreaterThanToken 50720 50723 - Identifier 50723 50747 - PropertyAssignment 50748 50997 - Identifier 50748 50779 - ArrowFunction 50780 50997 - EqualsGreaterThanToken 50783 50786 - ParenthesizedExpression 50786 50997 - ObjectLiteralExpression 50788 50996 - PropertyAssignment 50789 50838 - Identifier 50789 50813 - PropertyAccessExpression 50814 50838 - Identifier 50814 50833 - Identifier 50834 50838 - PropertyAssignment 50839 50884 - Identifier 50839 50861 - PropertyAccessExpression 50862 50884 - Identifier 50862 50879 - Identifier 50880 50884 - PropertyAssignment 50885 50928 - Identifier 50885 50906 - PropertyAccessExpression 50907 50928 - Identifier 50907 50923 - Identifier 50924 50928 - PropertyAssignment 50929 50984 - Identifier 50929 50956 - PropertyAccessExpression 50957 50984 - Identifier 50957 50979 - Identifier 50980 50984 - PropertyAssignment 50998 51063 - Identifier 50998 51025 - ArrowFunction 51026 51063 - Parameter 51026 51033 - Identifier 51026 51033 - EqualsGreaterThanToken 51033 51036 - BinaryExpression 51036 51063 - Identifier 51036 51043 - EqualsEqualsEqualsToken 51043 51047 - Identifier 51047 51063 - PropertyAssignment 51064 51129 - Identifier 51064 51091 - ArrowFunction 51092 51129 - Parameter 51092 51099 - Identifier 51092 51099 - EqualsGreaterThanToken 51099 51102 - BinaryExpression 51102 51129 - Identifier 51102 51109 - EqualsEqualsEqualsToken 51109 51113 - Identifier 51113 51129 - PropertyAssignment 51130 51191 - Identifier 51130 51155 - ArrowFunction 51156 51191 - Parameter 51156 51163 - Identifier 51156 51163 - EqualsGreaterThanToken 51163 51166 - BinaryExpression 51166 51191 - Identifier 51166 51173 - EqualsEqualsEqualsToken 51173 51177 - Identifier 51177 51191 - ShorthandPropertyAssignment 51192 51217 - Identifier 51192 51217 - ShorthandPropertyAssignment 51218 51241 - Identifier 51218 51241 - ShorthandPropertyAssignment 51242 51266 - Identifier 51242 51266 - ShorthandPropertyAssignment 51267 51297 - Identifier 51267 51297 - ShorthandPropertyAssignment 51298 51328 - Identifier 51298 51328 - ShorthandPropertyAssignment 51329 51361 - Identifier 51329 51361 - PropertyAssignment 51362 51583 - Identifier 51362 51397 - ArrowFunction 51398 51583 - Parameter 51400 51406 - Identifier 51400 51406 - Parameter 51407 51418 - Identifier 51407 51418 - EqualsGreaterThanToken 51419 51422 - Block 51422 51583 - VariableStatement 51424 51484 - VariableDeclarationList 51424 51483 - VariableDeclaration 51443 51483 - Identifier 51443 51452 - CallExpression 51454 51483 - Identifier 51454 51471 - Identifier 51472 51482 - ReturnStatement 51484 51572 - ConditionalExpression 51504 51571 - Identifier 51504 51513 - QuestionToken 51513 51515 - CallExpression 51515 51559 - Identifier 51515 51541 - Identifier 51542 51548 - Identifier 51549 51558 - ColonToken 51559 51561 - Identifier 51561 51571 - ShorthandPropertyAssignment 51584 51609 - Identifier 51584 51609 - PropertyAssignment 51610 52137 - Identifier 51610 51660 - ArrowFunction 51661 52137 - Parameter 51663 51674 - Identifier 51663 51674 - Parameter 51675 51689 - Identifier 51675 51689 - EqualsGreaterThanToken 51690 51693 - Block 51693 52137 - VariableStatement 51695 51770 - VariableDeclarationList 51695 51769 - VariableDeclaration 51714 51769 - Identifier 51714 51724 - CallExpression 51726 51769 - Identifier 51726 51743 - Identifier 51744 51755 - Identifier 51756 51768 - IfStatement 51770 51924 - BinaryExpression 51788 51811 - Identifier 51788 51797 - EqualsEqualsEqualsToken 51797 51801 - Identifier 51801 51811 - ReturnStatement 51812 51924 - CallExpression 51819 51923 - PropertyAccessExpression 51819 51830 - Identifier 51819 51825 - Identifier 51826 51830 - StringLiteral 51831 51922 - ExpressionStatement 51924 52012 - CallExpression 51924 52011 - PropertyAccessExpression 51924 51950 - Identifier 51924 51943 - Identifier 51944 51950 - CallExpression 51951 52010 - Identifier 51951 51981 - Identifier 51982 51991 - PropertyAccessExpression 51992 52009 - Identifier 51992 52002 - Identifier 52003 52009 - ReturnStatement 52012 52126 - CallExpression 52032 52125 - Identifier 52032 52073 - Identifier 52074 52083 - CallExpression 52084 52124 - Identifier 52084 52109 - Identifier 52110 52123 - ShorthandPropertyAssignment 52138 52171 - Identifier 52138 52171 - ShorthandPropertyAssignment 52172 52201 - Identifier 52172 52201 - PropertyAssignment 52202 52302 - Identifier 52202 52229 - ArrowFunction 52230 52302 - Parameter 52232 52236 - Identifier 52232 52236 - Parameter 52237 52242 - Identifier 52237 52242 - EqualsGreaterThanToken 52243 52246 - CallExpression 52246 52302 - Identifier 52246 52264 - Identifier 52265 52269 - CallExpression 52270 52301 - Identifier 52270 52295 - Identifier 52296 52300 - PropertyAssignment 52303 52844 - Identifier 52303 52347 - ArrowFunction 52348 52844 - Parameter 52350 52364 - Identifier 52350 52358 - TypeReference 52359 52364 - Identifier 52359 52364 - Parameter 52365 52378 - Identifier 52365 52370 - StringKeyword 52371 52378 - Parameter 52379 52394 - Identifier 52379 52388 - TypeReference 52389 52394 - Identifier 52389 52394 - EqualsGreaterThanToken 52395 52398 - Block 52398 52844 - VariableStatement 52400 52454 - VariableDeclarationList 52400 52453 - VariableDeclaration 52419 52453 - Identifier 52419 52424 - CallExpression 52426 52453 - Identifier 52426 52443 - Identifier 52444 52452 - IfStatement 52454 52530 - PrefixUnaryExpression 52472 52477 - Identifier 52473 52477 - Block 52478 52530 - ReturnStatement 52480 52515 - Identifier 52504 52514 - VariableStatement 52530 52592 - VariableDeclarationList 52530 52591 - VariableDeclaration 52549 52591 - Identifier 52549 52558 - CallExpression 52560 52591 - Identifier 52560 52585 - Identifier 52586 52590 - VariableStatement 52592 52700 - VariableDeclarationList 52592 52699 - VariableDeclaration 52611 52699 - Identifier 52611 52637 - CallExpression 52639 52699 - Identifier 52639 52683 - Identifier 52684 52692 - Identifier 52693 52698 - ReturnStatement 52700 52833 - ConditionalExpression 52720 52832 - Identifier 52720 52746 - QuestionToken 52746 52748 - CallExpression 52748 52820 - Identifier 52748 52783 - Identifier 52784 52792 - Identifier 52793 52819 - ColonToken 52820 52822 - Identifier 52822 52832 - PropertyAssignment 52845 52957 - Identifier 52845 52878 - ArrowFunction 52879 52957 - Parameter 52881 52885 - Identifier 52881 52885 - Parameter 52886 52891 - Identifier 52886 52891 - EqualsGreaterThanToken 52892 52895 - CallExpression 52895 52957 - Identifier 52895 52919 - Identifier 52920 52924 - CallExpression 52925 52956 - Identifier 52925 52950 - Identifier 52951 52955 - PropertyAssignment 52958 53081 - Identifier 52958 52986 - ArrowFunction 52987 53081 - Parameter 52989 52993 - Identifier 52989 52993 - Parameter 52994 52999 - Identifier 52994 52999 - EqualsGreaterThanToken 53000 53003 - CallExpression 53003 53081 - Identifier 53003 53022 - Identifier 53023 53027 - ConditionalExpression 53028 53080 - BinaryExpression 53028 53054 - Identifier 53028 53033 - EqualsEqualsEqualsToken 53033 53037 - PropertyAccessExpression 53037 53054 - Identifier 53037 53047 - Identifier 53048 53054 - QuestionToken 53054 53056 - Identifier 53056 53067 - ColonToken 53067 53069 - Identifier 53069 53080 - ShorthandPropertyAssignment 53082 53111 - Identifier 53082 53111 - ShorthandPropertyAssignment 53112 53148 - Identifier 53112 53148 - ShorthandPropertyAssignment 53149 53178 - Identifier 53149 53178 - PropertyAssignment 53179 53302 - Identifier 53179 53207 - ArrowFunction 53208 53302 - Parameter 53210 53214 - Identifier 53210 53214 - Parameter 53215 53220 - Identifier 53215 53220 - EqualsGreaterThanToken 53221 53224 - CallExpression 53224 53302 - Identifier 53224 53243 - Identifier 53244 53248 - ConditionalExpression 53249 53301 - BinaryExpression 53249 53275 - Identifier 53249 53254 - EqualsEqualsEqualsToken 53254 53258 - PropertyAccessExpression 53258 53275 - Identifier 53258 53268 - Identifier 53269 53275 - QuestionToken 53275 53277 - Identifier 53277 53288 - ColonToken 53288 53290 - Identifier 53290 53301 - PropertyAssignment 53303 53353 - Identifier 53303 53325 - ArrowFunction 53326 53353 - Parameter 53326 53331 - Identifier 53326 53331 - EqualsGreaterThanToken 53331 53334 - CallExpression 53334 53353 - Identifier 53334 53347 - Identifier 53348 53352 - ShorthandPropertyAssignment 53354 53376 - Identifier 53354 53376 - ShorthandPropertyAssignment 53377 53411 - Identifier 53377 53411 - ShorthandPropertyAssignment 53412 53436 - Identifier 53412 53436 - ShorthandPropertyAssignment 53437 53468 - Identifier 53437 53468 - ShorthandPropertyAssignment 53469 53503 - Identifier 53469 53503 - PropertyAssignment 53504 53687 - Identifier 53504 53533 - ArrowFunction 53534 53687 - Parameter 53534 53541 - Identifier 53534 53541 - EqualsGreaterThanToken 53541 53544 - Block 53544 53687 - VariableStatement 53546 53610 - VariableDeclarationList 53546 53609 - VariableDeclaration 53565 53609 - Identifier 53565 53570 - CallExpression 53572 53609 - Identifier 53572 53589 - Identifier 53590 53596 - Identifier 53597 53608 - ReturnStatement 53610 53676 - ConditionalExpression 53630 53675 - Identifier 53630 53635 - QuestionToken 53635 53637 - CallExpression 53637 53663 - Identifier 53637 53657 - Identifier 53658 53662 - ColonToken 53663 53665 - Identifier 53665 53675 - PropertyAssignment 53688 53733 - Identifier 53688 53714 - Identifier 53715 53733 - ShorthandPropertyAssignment 53734 53780 - Identifier 53734 53780 - ShorthandPropertyAssignment 53781 53815 - Identifier 53781 53815 - PropertyAssignment 53816 53870 - Identifier 53816 53840 - ArrowFunction 53841 53870 - Parameter 53841 53846 - Identifier 53841 53846 - EqualsGreaterThanToken 53846 53849 - CallExpression 53849 53870 - Identifier 53849 53864 - Identifier 53865 53869 - ShorthandPropertyAssignment 53871 53905 - Identifier 53871 53905 - ShorthandPropertyAssignment 53906 53930 - Identifier 53906 53930 - ShorthandPropertyAssignment 53931 53956 - Identifier 53931 53956 - ShorthandPropertyAssignment 53957 53985 - Identifier 53957 53985 - PropertyAssignment 53986 54040 - Identifier 53986 54014 - Identifier 54015 54040 - ShorthandPropertyAssignment 54041 54067 - Identifier 54041 54067 - PropertyAssignment 54068 54120 - Identifier 54068 54092 - PropertyAccessExpression 54093 54120 - Identifier 54093 54105 - Identifier 54106 54120 - PropertyAssignment 54121 54209 - Identifier 54121 54163 - PropertyAccessExpression 54164 54209 - Identifier 54164 54176 - Identifier 54177 54209 - PropertyAssignment 54210 54306 - Identifier 54210 54256 - PropertyAccessExpression 54257 54306 - Identifier 54257 54269 - Identifier 54270 54306 - PropertyAssignment 54307 54393 - Identifier 54307 54348 - PropertyAccessExpression 54349 54393 - Identifier 54349 54361 - Identifier 54362 54393 - PropertyAssignment 54394 54454 - Identifier 54394 54422 - PropertyAccessExpression 54423 54454 - Identifier 54423 54435 - Identifier 54436 54454 - PropertyAssignment 54455 54515 - Identifier 54455 54483 - PropertyAccessExpression 54484 54515 - Identifier 54484 54496 - Identifier 54497 54515 - PropertyAssignment 54516 54564 - Identifier 54516 54538 - PropertyAccessExpression 54539 54564 - Identifier 54539 54551 - Identifier 54552 54564 - PropertyAssignment 54565 54655 - Identifier 54565 54608 - PropertyAccessExpression 54609 54655 - Identifier 54609 54621 - Identifier 54622 54655 - PropertyAssignment 54656 54736 - Identifier 54656 54694 - PropertyAccessExpression 54695 54736 - Identifier 54695 54707 - Identifier 54708 54736 - PropertyAssignment 54737 54813 - Identifier 54737 54773 - PropertyAccessExpression 54774 54813 - Identifier 54774 54786 - Identifier 54787 54813 - PropertyAssignment 54814 55014 - Identifier 54814 54841 - ArrowFunction 54842 55014 - Parameter 54844 54854 - Identifier 54844 54854 - Parameter 54855 54863 - Identifier 54855 54863 - EqualsGreaterThanToken 54864 54867 - Block 54867 55014 - VariableStatement 54869 54929 - VariableDeclarationList 54869 54928 - VariableDeclaration 54888 54928 - Identifier 54888 54897 - CallExpression 54899 54928 - Identifier 54899 54916 - Identifier 54917 54927 - ReturnStatement 54929 55003 - ConditionalExpression 54949 55002 - Identifier 54949 54958 - QuestionToken 54958 54960 - CallExpression 54960 54997 - Identifier 54960 54978 - Identifier 54979 54987 - Identifier 54988 54996 - ColonToken 54997 54999 - ArrayLiteralExpression 54999 55002 - PropertyAssignment 55015 55318 - Identifier 55015 55044 - ArrowFunction 55045 55318 - Parameter 55045 55052 - Identifier 55045 55052 - EqualsGreaterThanToken 55052 55055 - Block 55055 55318 - VariableStatement 55057 55109 - VariableDeclarationList 55057 55108 - VariableDeclaration 55076 55108 - Identifier 55076 55081 - CallExpression 55083 55108 - Identifier 55083 55100 - Identifier 55101 55107 - ReturnStatement 55109 55307 - ConditionalExpression 55238 55306 - Identifier 55238 55243 - QuestionToken 55243 55245 - CallExpression 55245 55294 - Identifier 55245 55265 - Identifier 55266 55270 - TrueKeyword 55271 55293 - ColonToken 55294 55296 - Identifier 55296 55306 - PropertyAssignment 55319 55498 - Identifier 55319 55352 - ArrowFunction 55353 55498 - Parameter 55353 55360 - Identifier 55353 55360 - EqualsGreaterThanToken 55360 55363 - Block 55363 55498 - VariableStatement 55365 55417 - VariableDeclarationList 55365 55416 - VariableDeclaration 55384 55416 - Identifier 55384 55389 - CallExpression 55391 55416 - Identifier 55391 55408 - Identifier 55409 55415 - ReturnStatement 55417 55487 - ConditionalExpression 55437 55486 - Identifier 55437 55442 - QuestionToken 55442 55444 - CallExpression 55444 55474 - Identifier 55444 55468 - Identifier 55469 55473 - ColonToken 55474 55476 - Identifier 55476 55486 - PropertyAssignment 55499 55698 - Identifier 55499 55542 - ArrowFunction 55543 55698 - Parameter 55543 55550 - Identifier 55543 55550 - EqualsGreaterThanToken 55550 55553 - Block 55553 55698 - VariableStatement 55555 55607 - VariableDeclarationList 55555 55606 - VariableDeclaration 55574 55606 - Identifier 55574 55579 - CallExpression 55581 55606 - Identifier 55581 55598 - Identifier 55599 55605 - ReturnStatement 55607 55687 - ConditionalExpression 55627 55686 - Identifier 55627 55632 - QuestionToken 55632 55634 - CallExpression 55634 55674 - Identifier 55634 55668 - Identifier 55669 55673 - ColonToken 55674 55676 - Identifier 55676 55686 - PropertyAssignment 55699 55921 - Identifier 55699 55744 - ArrowFunction 55745 55921 - Parameter 55745 55752 - Identifier 55745 55752 - EqualsGreaterThanToken 55752 55755 - Block 55755 55921 - VariableStatement 55757 55828 - VariableDeclarationList 55757 55827 - VariableDeclaration 55776 55827 - Identifier 55776 55781 - CallExpression 55783 55827 - Identifier 55783 55800 - Identifier 55801 55807 - Identifier 55808 55826 - ReturnStatement 55828 55910 - ConditionalExpression 55848 55909 - Identifier 55848 55853 - QuestionToken 55853 55855 - CallExpression 55855 55897 - Identifier 55855 55891 - Identifier 55892 55896 - ColonToken 55897 55899 - Identifier 55899 55909 - MethodDeclaration 55922 56044 - Identifier 55922 55955 - Parameter 55956 55962 - Identifier 55956 55962 - Block 55963 56044 - ReturnStatement 55965 56033 - CallExpression 55985 56032 - Identifier 55985 56001 - BinaryExpression 56002 56031 - PropertyAccessExpression 56002 56021 - Identifier 56002 56008 - Identifier 56009 56021 - BarBarToken 56021 56024 - Identifier 56024 56031 - PropertyAssignment 56045 56208 - Identifier 56045 56072 - ArrowFunction 56073 56208 - Parameter 56073 56080 - Identifier 56073 56080 - EqualsGreaterThanToken 56080 56083 - Block 56083 56208 - VariableStatement 56085 56137 - VariableDeclarationList 56085 56136 - VariableDeclaration 56104 56136 - Identifier 56104 56109 - CallExpression 56111 56136 - Identifier 56111 56128 - Identifier 56129 56135 - ReturnStatement 56137 56197 - ConditionalExpression 56157 56196 - Identifier 56157 56162 - QuestionToken 56162 56164 - CallExpression 56164 56184 - Identifier 56164 56178 - Identifier 56179 56183 - ColonToken 56184 56186 - Identifier 56186 56196 - PropertyAssignment 56209 56417 - Identifier 56209 56245 - ArrowFunction 56246 56417 - Parameter 56246 56253 - Identifier 56246 56253 - EqualsGreaterThanToken 56253 56256 - Block 56256 56417 - VariableStatement 56258 56331 - VariableDeclarationList 56258 56330 - VariableDeclaration 56277 56330 - Identifier 56277 56282 - CallExpression 56284 56330 - Identifier 56284 56301 - Identifier 56302 56308 - Identifier 56309 56329 - ReturnStatement 56331 56406 - BinaryExpression 56351 56405 - BinaryExpression 56351 56392 - Identifier 56351 56356 - AmpersandAmpersandToken 56356 56359 - CallExpression 56359 56392 - Identifier 56359 56386 - Identifier 56387 56391 - BarBarToken 56392 56395 - Identifier 56395 56405 - PropertyAssignment 56418 56669 - Identifier 56418 56470 - ArrowFunction 56471 56669 - Parameter 56471 56482 - Identifier 56471 56482 - EqualsGreaterThanToken 56482 56485 - Block 56485 56669 - VariableStatement 56487 56561 - VariableDeclarationList 56487 56560 - VariableDeclaration 56506 56560 - Identifier 56506 56515 - CallExpression 56517 56560 - Identifier 56517 56534 - Identifier 56535 56545 - Identifier 56546 56559 - ReturnStatement 56561 56658 - ConditionalExpression 56581 56657 - Identifier 56581 56590 - QuestionToken 56590 56592 - CallExpression 56592 56645 - Identifier 56592 56635 - Identifier 56636 56644 - ColonToken 56645 56647 - Identifier 56647 56657 - PropertyAssignment 56670 56864 - Identifier 56670 56697 - ArrowFunction 56698 56864 - Parameter 56700 56709 - Identifier 56700 56709 - Parameter 56710 56731 - Identifier 56710 56731 - Parameter 56732 56738 - Identifier 56732 56738 - Parameter 56739 56744 - Identifier 56739 56744 - EqualsGreaterThanToken 56745 56748 - Block 56748 56864 - ReturnStatement 56750 56853 - CallExpression 56770 56852 - Identifier 56770 56788 - Identifier 56789 56798 - CallExpression 56799 56838 - Identifier 56799 56816 - Identifier 56817 56837 - Identifier 56839 56845 - Identifier 56846 56851 - PropertyAssignment 56865 57027 - Identifier 56865 56887 - ArrowFunction 56888 57027 - Parameter 56890 56894 - Identifier 56890 56894 - Parameter 56895 56916 - Identifier 56895 56916 - Parameter 56917 56923 - Identifier 56917 56923 - EqualsGreaterThanToken 56924 56927 - Block 56927 57027 - ReturnStatement 56929 57016 - CallExpression 56949 57015 - Identifier 56949 56962 - Identifier 56963 56967 - CallExpression 56968 57007 - Identifier 56968 56985 - Identifier 56986 57006 - Identifier 57008 57014 - PropertyAssignment 57028 57216 - Identifier 57028 57052 - ArrowFunction 57053 57216 - Parameter 57055 57061 - Identifier 57055 57061 - Parameter 57062 57083 - Identifier 57062 57083 - Parameter 57084 57092 - Identifier 57084 57092 - Parameter 57093 57099 - Identifier 57093 57099 - EqualsGreaterThanToken 57100 57103 - Block 57103 57216 - ReturnStatement 57105 57205 - CallExpression 57125 57204 - Identifier 57125 57140 - Identifier 57141 57147 - CallExpression 57148 57187 - Identifier 57148 57165 - Identifier 57166 57186 - Identifier 57188 57196 - Identifier 57197 57203 - PropertyAssignment 57217 57407 - Identifier 57217 57248 - ArrowFunction 57249 57407 - Parameter 57251 57260 - Identifier 57251 57260 - Parameter 57261 57282 - Identifier 57261 57282 - Parameter 57283 57289 - Identifier 57283 57289 - EqualsGreaterThanToken 57290 57293 - Block 57293 57407 - ReturnStatement 57295 57396 - CallExpression 57315 57395 - Identifier 57315 57337 - Identifier 57338 57347 - CallExpression 57348 57387 - Identifier 57348 57365 - Identifier 57366 57386 - Identifier 57388 57394 - PropertyAssignment 57408 57615 - Identifier 57408 57432 - ArrowFunction 57433 57615 - Parameter 57435 57444 - Identifier 57435 57444 - Parameter 57445 57466 - Identifier 57445 57466 - Parameter 57467 57473 - Identifier 57467 57473 - Parameter 57474 57479 - Identifier 57474 57479 - Parameter 57480 57487 - Identifier 57480 57487 - EqualsGreaterThanToken 57488 57491 - Block 57491 57615 - ReturnStatement 57493 57604 - CallExpression 57513 57603 - Identifier 57513 57531 - Identifier 57532 57541 - CallExpression 57542 57581 - Identifier 57542 57559 - Identifier 57560 57580 - Identifier 57582 57588 - Identifier 57589 57594 - Identifier 57595 57602 - PropertyAssignment 57616 57791 - Identifier 57616 57635 - ArrowFunction 57636 57791 - Parameter 57638 57642 - Identifier 57638 57642 - Parameter 57643 57664 - Identifier 57643 57664 - Parameter 57665 57671 - Identifier 57665 57671 - Parameter 57672 57679 - Identifier 57672 57679 - EqualsGreaterThanToken 57680 57683 - Block 57683 57791 - ReturnStatement 57685 57780 - CallExpression 57705 57779 - Identifier 57705 57718 - Identifier 57719 57723 - CallExpression 57724 57763 - Identifier 57724 57741 - Identifier 57742 57762 - Identifier 57764 57770 - Identifier 57771 57778 - PropertyAssignment 57792 57993 - Identifier 57792 57813 - ArrowFunction 57814 57993 - Parameter 57816 57822 - Identifier 57816 57822 - Parameter 57823 57844 - Identifier 57823 57844 - Parameter 57845 57853 - Identifier 57845 57853 - Parameter 57854 57860 - Identifier 57854 57860 - Parameter 57861 57868 - Identifier 57861 57868 - EqualsGreaterThanToken 57869 57872 - Block 57872 57993 - ReturnStatement 57874 57982 - CallExpression 57894 57981 - Identifier 57894 57909 - Identifier 57910 57916 - CallExpression 57917 57956 - Identifier 57917 57934 - Identifier 57935 57955 - Identifier 57957 57965 - Identifier 57966 57972 - Identifier 57973 57980 - PropertyAssignment 57994 58197 - Identifier 57994 58022 - ArrowFunction 58023 58197 - Parameter 58025 58034 - Identifier 58025 58034 - Parameter 58035 58056 - Identifier 58035 58056 - Parameter 58057 58063 - Identifier 58057 58063 - Parameter 58064 58071 - Identifier 58064 58071 - EqualsGreaterThanToken 58072 58075 - Block 58075 58197 - ReturnStatement 58077 58186 - CallExpression 58097 58185 - Identifier 58097 58119 - Identifier 58120 58129 - CallExpression 58130 58169 - Identifier 58130 58147 - Identifier 58148 58168 - Identifier 58170 58176 - Identifier 58177 58184 - ShorthandPropertyAssignment 58198 58236 - Identifier 58198 58236 - ShorthandPropertyAssignment 58237 58261 - Identifier 58237 58261 - ShorthandPropertyAssignment 58262 58290 - Identifier 58262 58290 - PropertyAssignment 58291 58776 - Identifier 58291 58318 - ArrowFunction 58319 58776 - Parameter 58321 58339 - Identifier 58321 58327 - TypeReference 58328 58339 - Identifier 58328 58339 - Parameter 58340 58368 - Identifier 58340 58353 - QuestionToken 58353 58354 - TypeReference 58355 58368 - Identifier 58355 58368 - EqualsGreaterThanToken 58369 58372 - Block 58372 58776 - VariableStatement 58374 58440 - VariableDeclarationList 58374 58439 - VariableDeclaration 58393 58439 - Identifier 58393 58398 - CallExpression 58400 58439 - Identifier 58400 58417 - Identifier 58418 58424 - Identifier 58425 58438 - IfStatement 58440 58516 - PrefixUnaryExpression 58458 58463 - Identifier 58459 58463 - Block 58464 58516 - ReturnStatement 58466 58501 - Identifier 58490 58500 - IfStatement 58516 58706 - BinaryExpression 58534 58574 - NonNullExpression 58534 58547 - Identifier 58534 58546 - AmpersandToken 58547 58549 - PropertyAccessExpression 58549 58574 - Identifier 58549 58562 - Identifier 58563 58574 - Block 58575 58706 - ReturnStatement 58577 58691 - CallExpression 58601 58690 - Identifier 58601 58639 - Identifier 58640 58644 - ArrowFunction 58645 58689 - EqualsGreaterThanToken 58648 58651 - CallExpression 58651 58689 - Identifier 58651 58669 - Identifier 58670 58674 - Identifier 58675 58688 - ReturnStatement 58706 58765 - CallExpression 58726 58764 - Identifier 58726 58744 - Identifier 58745 58749 - Identifier 58750 58763 - PropertyAssignment 58777 59046 - Identifier 58777 58827 - ArrowFunction 58828 59046 - Parameter 58828 58835 - Identifier 58828 58835 - EqualsGreaterThanToken 58835 58838 - Block 58838 59046 - VariableStatement 58840 58920 - VariableDeclarationList 58840 58919 - VariableDeclaration 58859 58919 - Identifier 58859 58864 - CallExpression 58866 58919 - Identifier 58866 58883 - Identifier 58884 58890 - Identifier 58891 58918 - ReturnStatement 58920 59035 - ConditionalExpression 58940 59034 - Identifier 58940 58945 - QuestionToken 58945 58947 - CallExpression 58947 59022 - Identifier 58947 58988 - Identifier 58989 58993 - Identifier 58994 59021 - ColonToken 59022 59024 - Identifier 59024 59034 - PropertyAssignment 59047 59283 - Identifier 59047 59092 - ArrowFunction 59093 59283 - Parameter 59095 59101 - Identifier 59095 59101 - Parameter 59102 59111 - Identifier 59102 59111 - EqualsGreaterThanToken 59112 59115 - Block 59115 59283 - VariableStatement 59117 59191 - VariableDeclarationList 59117 59190 - VariableDeclaration 59136 59190 - Identifier 59136 59141 - CallExpression 59143 59190 - Identifier 59143 59160 - Identifier 59161 59167 - Identifier 59168 59189 - ReturnStatement 59191 59272 - BinaryExpression 59211 59271 - Identifier 59211 59216 - AmpersandAmpersandToken 59216 59219 - CallExpression 59219 59271 - Identifier 59219 59255 - Identifier 59256 59260 - Identifier 59261 59270 - PropertyAssignment 59284 59518 - Identifier 59284 59326 - ArrowFunction 59327 59518 - Parameter 59327 59334 - Identifier 59327 59334 - EqualsGreaterThanToken 59334 59337 - Block 59337 59518 - VariableStatement 59339 59411 - VariableDeclarationList 59339 59410 - VariableDeclaration 59358 59410 - Identifier 59358 59363 - CallExpression 59365 59410 - Identifier 59365 59382 - Identifier 59383 59389 - Identifier 59390 59409 - ReturnStatement 59411 59507 - BinaryExpression 59431 59506 - Identifier 59431 59436 - AmpersandAmpersandToken 59436 59439 - CallExpression 59439 59506 - Identifier 59439 59472 - Identifier 59473 59477 - Identifier 59478 59505 - ShorthandPropertyAssignment 59519 59547 - Identifier 59519 59547 - ShorthandPropertyAssignment 59548 59591 - Identifier 59548 59591 - ShorthandPropertyAssignment 59592 59623 - Identifier 59592 59623 - PropertyAssignment 59624 59786 - Identifier 59624 59654 - ArrowFunction 59655 59786 - Parameter 59657 59661 - Identifier 59657 59661 - Parameter 59662 59681 - Identifier 59662 59681 - Parameter 59682 59696 - Identifier 59682 59696 - EqualsGreaterThanToken 59697 59700 - CallExpression 59700 59786 - Identifier 59700 59727 - Identifier 59728 59732 - Identifier 59733 59752 - Identifier 59753 59767 - PropertyAccessExpression 59768 59785 - Identifier 59768 59778 - Identifier 59779 59785 - ShorthandPropertyAssignment 59787 59846 - Identifier 59787 59846 - PropertyAssignment 59847 60085 - Identifier 59847 59893 - ArrowFunction 59894 60085 - Parameter 59896 59900 - Identifier 59896 59900 - Parameter 59901 59920 - Identifier 59901 59920 - Parameter 59921 59935 - Identifier 59921 59935 - EqualsGreaterThanToken 59936 59939 - CallExpression 59939 60085 - Identifier 59939 59974 - Identifier 59975 59979 - ArrowFunction 59980 60084 - EqualsGreaterThanToken 59983 59986 - CallExpression 59986 60084 - Identifier 59986 60013 - Identifier 60014 60018 - Identifier 60019 60038 - Identifier 60039 60053 - PropertyAccessExpression 60054 60083 - Identifier 60054 60064 - Identifier 60065 60083 - ShorthandPropertyAssignment 60086 60117 - Identifier 60086 60117 - ShorthandPropertyAssignment 60118 60153 - Identifier 60118 60153 - ShorthandPropertyAssignment 60154 60190 - Identifier 60154 60190 - PropertyAssignment 60191 60378 - Identifier 60191 60217 - ArrowFunction 60218 60378 - Parameter 60218 60225 - Identifier 60218 60225 - EqualsGreaterThanToken 60225 60228 - Block 60228 60378 - VariableStatement 60230 60304 - VariableDeclarationList 60230 60303 - VariableDeclaration 60249 60303 - Identifier 60249 60254 - CallExpression 60256 60303 - Identifier 60256 60273 - Identifier 60274 60280 - Identifier 60281 60302 - ReturnStatement 60304 60367 - ConditionalExpression 60324 60366 - Identifier 60324 60329 - QuestionToken 60329 60331 - CallExpression 60331 60354 - Identifier 60331 60348 - Identifier 60349 60353 - ColonToken 60354 60356 - Identifier 60356 60366 - PropertyAssignment 60379 60650 - Identifier 60379 60410 - ArrowFunction 60411 60650 - Parameter 60413 60419 - Identifier 60413 60419 - Parameter 60420 60433 - Identifier 60420 60433 - EqualsGreaterThanToken 60434 60437 - Block 60437 60650 - VariableStatement 60439 60540 - VariableDeclarationList 60439 60539 - VariableDeclaration 60458 60539 - Identifier 60458 60463 - CallExpression 60465 60539 - Identifier 60465 60482 - Identifier 60483 60489 - Identifier 60490 60538 - ReturnStatement 60540 60639 - BinaryExpression 60560 60638 - PrefixUnaryExpression 60560 60567 - PrefixUnaryExpression 60562 60567 - Identifier 60563 60567 - AmpersandAmpersandToken 60567 60570 - CallExpression 60570 60638 - Identifier 60570 60592 - Identifier 60593 60597 - CallExpression 60598 60637 - Identifier 60598 60623 - Identifier 60624 60636 - PropertyAssignment 60651 60907 - Identifier 60651 60696 - ArrowFunction 60697 60907 - Parameter 60699 60705 - Identifier 60699 60705 - Parameter 60706 60711 - Identifier 60706 60711 - Parameter 60712 60721 - Identifier 60712 60721 - EqualsGreaterThanToken 60722 60725 - Block 60725 60907 - VariableStatement 60727 60807 - VariableDeclarationList 60727 60806 - VariableDeclaration 60746 60806 - Identifier 60746 60751 - CallExpression 60753 60806 - Identifier 60753 60770 - Identifier 60771 60777 - Identifier 60778 60805 - ReturnStatement 60807 60896 - BinaryExpression 60827 60895 - PrefixUnaryExpression 60827 60834 - PrefixUnaryExpression 60829 60834 - Identifier 60830 60834 - AmpersandAmpersandToken 60834 60837 - CallExpression 60837 60895 - Identifier 60837 60873 - Identifier 60874 60878 - Identifier 60879 60884 - Identifier 60885 60894 - PropertyAssignment 60908 61146 - Identifier 60908 60945 - ArrowFunction 60946 61146 - Parameter 60946 60960 - Identifier 60946 60960 - EqualsGreaterThanToken 60960 60963 - Block 60963 61146 - VariableStatement 60965 61047 - VariableDeclarationList 60965 61046 - VariableDeclaration 60984 61046 - Identifier 60984 60996 - CallExpression 60998 61046 - Identifier 60998 61015 - Identifier 61016 61029 - Identifier 61030 61045 - ReturnStatement 61047 61135 - ConditionalExpression 61067 61134 - Identifier 61067 61079 - QuestionToken 61079 61081 - CallExpression 61081 61122 - Identifier 61081 61109 - Identifier 61110 61121 - ColonToken 61122 61124 - Identifier 61124 61134 - PropertyAssignment 61147 61348 - Identifier 61147 61183 - ArrowFunction 61184 61348 - Parameter 61184 61191 - Identifier 61184 61191 - EqualsGreaterThanToken 61191 61194 - Block 61194 61348 - VariableStatement 61196 61264 - VariableDeclarationList 61196 61263 - VariableDeclaration 61215 61263 - Identifier 61215 61220 - CallExpression 61222 61263 - Identifier 61222 61239 - Identifier 61240 61246 - Identifier 61247 61262 - ReturnStatement 61264 61337 - ConditionalExpression 61284 61336 - Identifier 61284 61289 - QuestionToken 61289 61291 - CallExpression 61291 61324 - Identifier 61291 61318 - Identifier 61319 61323 - ColonToken 61324 61326 - Identifier 61326 61336 - ShorthandPropertyAssignment 61349 61384 - Identifier 61349 61384 - PropertyAssignment 61385 61425 - Identifier 61385 61411 - Identifier 61412 61425 - ShorthandPropertyAssignment 61426 61451 - Identifier 61426 61451 - ShorthandPropertyAssignment 61452 61493 - Identifier 61452 61493 - PropertyAssignment 61494 61549 - Identifier 61494 61522 - Identifier 61523 61549 - ShorthandPropertyAssignment 61550 61591 - Identifier 61550 61591 - ShorthandPropertyAssignment 61592 61634 - Identifier 61592 61634 - PropertyAssignment 61635 62052 - Identifier 61635 61660 - CallExpression 61661 62052 - Identifier 61661 61683 - Identifier 61684 61720 - Identifier 61721 61762 - Identifier 61763 61801 - Identifier 61802 61828 - Identifier 61829 61871 - Identifier 61872 61901 - Identifier 61902 61933 - Identifier 61934 61976 - Identifier 61977 62009 - Identifier 62010 62040 - ShorthandPropertyAssignment 62053 62080 - Identifier 62053 62080 - ShorthandPropertyAssignment 62081 62116 - Identifier 62081 62116 - PropertyAssignment 62117 62297 - Identifier 62117 62146 - ArrowFunction 62147 62297 - Parameter 62147 62154 - Identifier 62147 62154 - EqualsGreaterThanToken 62154 62157 - Block 62157 62297 - VariableStatement 62159 62224 - VariableDeclarationList 62159 62223 - VariableDeclaration 62178 62223 - Identifier 62178 62183 - CallExpression 62185 62223 - Identifier 62185 62202 - Identifier 62203 62209 - Identifier 62210 62222 - ReturnStatement 62224 62286 - ConditionalExpression 62244 62285 - Identifier 62244 62249 - QuestionToken 62249 62251 - CallExpression 62251 62277 - Identifier 62251 62271 - Identifier 62272 62276 - ColonToken 62277 62279 - FalseKeyword 62279 62285 - PropertyAssignment 62298 62422 - Identifier 62298 62335 - ArrowFunction 62336 62422 - Parameter 62338 62342 - Identifier 62338 62342 - Parameter 62343 62350 - Identifier 62343 62350 - EqualsGreaterThanToken 62351 62354 - CallExpression 62354 62422 - Identifier 62354 62382 - CallExpression 62383 62413 - Identifier 62383 62407 - Identifier 62408 62412 - Identifier 62414 62421 - PropertyAssignment 62423 62573 - Identifier 62423 62473 - ArrowFunction 62474 62573 - Parameter 62476 62480 - Identifier 62476 62480 - Parameter 62481 62488 - Identifier 62481 62488 - EqualsGreaterThanToken 62489 62492 - CallExpression 62492 62573 - Identifier 62492 62533 - CallExpression 62534 62564 - Identifier 62534 62558 - Identifier 62559 62563 - Identifier 62565 62572 - PropertyAssignment 62574 62680 - Identifier 62574 62604 - ArrowFunction 62605 62680 - Parameter 62605 62616 - Identifier 62605 62616 - EqualsGreaterThanToken 62616 62619 - CallExpression 62619 62680 - Identifier 62619 62640 - Identifier 62641 62651 - TrueKeyword 62652 62679 - ShorthandPropertyAssignment 62681 62706 - Identifier 62681 62706 - ShorthandPropertyAssignment 62707 62729 - Identifier 62707 62729 - ShorthandPropertyAssignment 62730 62758 - Identifier 62730 62758 - ShorthandPropertyAssignment 62759 62788 - Identifier 62759 62788 - ShorthandPropertyAssignment 62789 62814 - Identifier 62789 62814 - ShorthandPropertyAssignment 62815 62837 - Identifier 62815 62837 - ShorthandPropertyAssignment 62838 62863 - Identifier 62838 62863 - PropertyAssignment 62864 62899 - Identifier 62864 62884 - ArrowFunction 62885 62899 - EqualsGreaterThanToken 62888 62891 - Identifier 62891 62899 - PropertyAssignment 62900 62941 - Identifier 62900 62923 - ArrowFunction 62924 62941 - EqualsGreaterThanToken 62927 62930 - Identifier 62930 62941 - ShorthandPropertyAssignment 62942 62972 - Identifier 62942 62972 - PropertyAssignment 62973 63014 - Identifier 62973 62996 - ArrowFunction 62997 63014 - EqualsGreaterThanToken 63000 63003 - Identifier 63003 63014 - ShorthandPropertyAssignment 63015 63045 - Identifier 63015 63045 - PropertyAssignment 63046 63087 - Identifier 63046 63069 - ArrowFunction 63070 63087 - EqualsGreaterThanToken 63073 63076 - Identifier 63076 63087 - ShorthandPropertyAssignment 63088 63118 - Identifier 63088 63118 - PropertyAssignment 63119 63162 - Identifier 63119 63143 - ArrowFunction 63144 63162 - EqualsGreaterThanToken 63147 63150 - Identifier 63150 63162 - ShorthandPropertyAssignment 63163 63190 - Identifier 63163 63190 - ShorthandPropertyAssignment 63191 63216 - Identifier 63191 63216 - ShorthandPropertyAssignment 63217 63252 - Identifier 63217 63252 - PropertyAssignment 63253 63296 - Identifier 63253 63277 - ArrowFunction 63278 63296 - EqualsGreaterThanToken 63281 63284 - Identifier 63284 63296 - PropertyAssignment 63297 63369 - Identifier 63297 63319 - ArrowFunction 63320 63369 - Parameter 63322 63328 - Identifier 63322 63327 - QuestionToken 63327 63328 - EqualsGreaterThanToken 63329 63332 - ConditionalExpression 63332 63369 - Identifier 63332 63338 - QuestionToken 63338 63340 - Identifier 63340 63350 - ColonToken 63350 63352 - Identifier 63352 63369 - PropertyAssignment 63370 63439 - Identifier 63370 63391 - ArrowFunction 63392 63439 - Parameter 63394 63400 - Identifier 63394 63399 - QuestionToken 63399 63400 - EqualsGreaterThanToken 63401 63404 - ConditionalExpression 63404 63439 - Identifier 63404 63410 - QuestionToken 63410 63412 - Identifier 63412 63421 - ColonToken 63421 63423 - Identifier 63423 63439 - PropertyAssignment 63440 63477 - Identifier 63440 63461 - ArrowFunction 63462 63477 - EqualsGreaterThanToken 63465 63468 - Identifier 63468 63477 - PropertyAssignment 63478 63525 - Identifier 63478 63504 - ArrowFunction 63505 63525 - EqualsGreaterThanToken 63508 63511 - Identifier 63511 63525 - PropertyAssignment 63526 63563 - Identifier 63526 63547 - ArrowFunction 63548 63563 - EqualsGreaterThanToken 63551 63554 - Identifier 63554 63563 - PropertyAssignment 63564 63609 - Identifier 63564 63589 - ArrowFunction 63590 63609 - EqualsGreaterThanToken 63593 63596 - Identifier 63596 63609 - PropertyAssignment 63610 63649 - Identifier 63610 63632 - ArrowFunction 63633 63649 - EqualsGreaterThanToken 63636 63639 - Identifier 63639 63649 - PropertyAssignment 63650 63695 - Identifier 63650 63675 - ArrowFunction 63676 63695 - EqualsGreaterThanToken 63679 63682 - Identifier 63682 63695 - PropertyAssignment 63696 63772 - Identifier 63696 63720 - ArrowFunction 63721 63772 - EqualsGreaterThanToken 63724 63727 - CallExpression 63727 63772 - Identifier 63727 63748 - FalseKeyword 63749 63771 - PropertyAssignment 63773 63857 - Identifier 63773 63801 - ArrowFunction 63802 63857 - EqualsGreaterThanToken 63805 63808 - CallExpression 63808 63857 - Identifier 63808 63833 - FalseKeyword 63834 63856 - PropertyAssignment 63858 64127 - Identifier 63858 63891 - ArrowFunction 63892 64127 - EqualsGreaterThanToken 63895 63898 - Block 63898 64127 - VariableStatement 63900 63978 - VariableDeclarationList 63900 63977 - VariableDeclaration 63919 63977 - Identifier 63919 63924 - CallExpression 63926 63977 - Identifier 63926 63953 - FalseKeyword 63954 63976 - IfStatement 63978 64040 - BinaryExpression 63996 64021 - Identifier 63996 64000 - EqualsEqualsEqualsToken 64000 64004 - Identifier 64004 64021 - ReturnStatement 64022 64040 - Identifier 64029 64039 - ReturnStatement 64040 64116 - CallExpression 64060 64115 - Identifier 64060 64080 - Identifier 64081 64085 - ArrayLiteralExpression 64086 64114 - Identifier 64088 64095 - Identifier 64096 64104 - Identifier 64105 64113 - ShorthandPropertyAssignment 64128 64156 - Identifier 64128 64156 - ShorthandPropertyAssignment 64157 64178 - Identifier 64157 64178 - ShorthandPropertyAssignment 64179 64200 - Identifier 64179 64200 - ShorthandPropertyAssignment 64201 64226 - Identifier 64201 64226 - ShorthandPropertyAssignment 64227 64263 - Identifier 64227 64263 - ShorthandPropertyAssignment 64264 64309 - Identifier 64264 64309 - ShorthandPropertyAssignment 64310 64346 - Identifier 64310 64346 - ShorthandPropertyAssignment 64347 64388 - Identifier 64347 64388 - ShorthandPropertyAssignment 64389 64439 - Identifier 64389 64439 - ShorthandPropertyAssignment 64440 64494 - Identifier 64440 64494 - PropertyAssignment 64495 64663 - Identifier 64495 64543 - ArrowFunction 64544 64663 - Parameter 64546 64554 - Identifier 64546 64554 - Parameter 64555 64560 - Identifier 64555 64560 - Parameter 64561 64569 - Identifier 64561 64569 - EqualsGreaterThanToken 64570 64573 - CallExpression 64573 64663 - Identifier 64573 64612 - Identifier 64613 64621 - CallExpression 64622 64653 - Identifier 64622 64647 - Identifier 64648 64652 - Identifier 64654 64662 - ShorthandPropertyAssignment 64664 64712 - Identifier 64664 64712 - ShorthandPropertyAssignment 64713 64766 - Identifier 64713 64766 - ShorthandPropertyAssignment 64767 64800 - Identifier 64767 64800 - PropertyAssignment 64801 64957 - Identifier 64801 64838 - ArrowFunction 64839 64957 - Parameter 64839 64844 - Identifier 64839 64844 - EqualsGreaterThanToken 64844 64847 - ConditionalExpression 64847 64957 - BinaryExpression 64847 64892 - Identifier 64847 64852 - AmpersandAmpersandToken 64852 64855 - BinaryExpression 64855 64892 - PropertyAccessExpression 64855 64866 - Identifier 64855 64860 - Identifier 64861 64866 - AmpersandToken 64866 64868 - PropertyAccessExpression 64868 64892 - Identifier 64868 64878 - Identifier 64879 64892 - QuestionToken 64892 64894 - CallExpression 64894 64945 - Identifier 64894 64922 - AsExpression 64923 64944 - Identifier 64923 64927 - TypeReference 64930 64944 - Identifier 64930 64944 - ColonToken 64945 64947 - Identifier 64947 64957 - MethodDeclaration 64958 65185 - Identifier 64958 64979 - Parameter 64980 64984 - Identifier 64980 64984 - Parameter 64985 64994 - Identifier 64985 64994 - Parameter 64995 65003 - Identifier 64995 65003 - Parameter 65004 65019 - Identifier 65004 65019 - Block 65020 65185 - ReturnStatement 65022 65174 - CallExpression 65042 65173 - Identifier 65042 65054 - Identifier 65055 65063 - CallExpression 65064 65095 - Identifier 65064 65089 - Identifier 65090 65094 - Identifier 65096 65104 - Identifier 65105 65139 - FalseKeyword 65140 65156 - Identifier 65157 65172 - PropertyAssignment 65186 65264 - Identifier 65186 65211 - ArrowFunction 65212 65264 - Parameter 65212 65214 - Identifier 65212 65214 - EqualsGreaterThanToken 65214 65217 - CallExpression 65217 65264 - Identifier 65217 65244 - CallExpression 65245 65263 - Identifier 65245 65260 - Identifier 65261 65262 - PropertyAssignment 65265 65509 - Identifier 65265 65296 - ArrowFunction 65297 65509 - Parameter 65297 65299 - Identifier 65297 65299 - EqualsGreaterThanToken 65299 65302 - Block 65302 65509 - VariableStatement 65304 65376 - VariableDeclarationList 65304 65375 - VariableDeclaration 65323 65375 - Identifier 65323 65342 - CallExpression 65344 65375 - Identifier 65344 65372 - Identifier 65373 65374 - ReturnStatement 65376 65498 - BinaryExpression 65396 65497 - Identifier 65396 65415 - AmpersandAmpersandToken 65415 65418 - CallExpression 65418 65497 - Identifier 65418 65445 - PropertyAccessExpression 65446 65496 - CallExpression 65446 65484 - Identifier 65446 65464 - Identifier 65465 65483 - Identifier 65485 65496 - ShorthandPropertyAssignment 65510 65544 - Identifier 65510 65544 - ShorthandPropertyAssignment 65545 65582 - Identifier 65545 65582 - PropertyAssignment 65583 65864 - Identifier 65583 65618 - ArrowFunction 65619 65864 - Parameter 65619 65637 - Identifier 65619 65637 - EqualsGreaterThanToken 65637 65640 - Block 65640 65864 - VariableStatement 65642 65730 - VariableDeclarationList 65642 65729 - VariableDeclaration 65661 65729 - Identifier 65661 65677 - CallExpression 65679 65729 - Identifier 65679 65696 - Identifier 65697 65714 - Identifier 65715 65728 - ReturnStatement 65730 65853 - BinaryExpression 65750 65852 - Identifier 65750 65766 - AmpersandAmpersandToken 65766 65769 - CallExpression 65769 65852 - Identifier 65769 65795 - Identifier 65796 65811 - Identifier 65812 65828 - TrueKeyword 65829 65851 - ShorthandPropertyAssignment 65865 65902 - Identifier 65865 65902 - PropertyAssignment 65903 66119 - Identifier 65903 65929 - ArrowFunction 65930 66119 - Parameter 65932 65938 - Identifier 65932 65938 - Parameter 65939 65957 - Identifier 65939 65957 - Parameter 65958 65968 - Identifier 65958 65968 - EqualsGreaterThanToken 65969 65972 - Block 65972 66119 - VariableStatement 65974 66026 - VariableDeclarationList 65974 66025 - VariableDeclaration 65993 66025 - Identifier 65993 65998 - CallExpression 66000 66025 - Identifier 66000 66017 - Identifier 66018 66024 - ReturnStatement 66026 66108 - BinaryExpression 66046 66107 - Identifier 66046 66051 - AmpersandAmpersandToken 66051 66054 - CallExpression 66054 66107 - Identifier 66054 66071 - Identifier 66072 66076 - Identifier 66077 66095 - Identifier 66096 66106 - PropertyAssignment 66120 66304 - Identifier 66120 66155 - ArrowFunction 66156 66304 - Parameter 66156 66163 - Identifier 66156 66163 - EqualsGreaterThanToken 66163 66166 - Block 66166 66304 - VariableStatement 66168 66232 - VariableDeclarationList 66168 66231 - VariableDeclaration 66187 66231 - Identifier 66187 66192 - CallExpression 66194 66231 - Identifier 66194 66211 - Identifier 66212 66218 - Identifier 66219 66230 - ReturnStatement 66232 66293 - BinaryExpression 66252 66292 - Identifier 66252 66257 - AmpersandAmpersandToken 66257 66260 - CallExpression 66260 66292 - Identifier 66260 66286 - Identifier 66287 66291 - PropertyAssignment 66305 67954 - Identifier 66305 66339 - ArrowFunction 66340 67954 - Parameter 66342 66348 - Identifier 66342 66348 - Parameter 66349 66352 - Identifier 66349 66352 - EqualsGreaterThanToken 66353 66356 - Block 66356 67954 - VariableStatement 66358 66481 - VariableDeclarationList 66358 66480 - VariableDeclaration 66377 66480 - Identifier 66377 66382 - BinaryExpression 66384 66480 - CallExpression 66384 66423 - Identifier 66384 66401 - Identifier 66402 66408 - Identifier 66409 66422 - BarBarToken 66423 66426 - CallExpression 66426 66480 - PropertyAccessExpression 66426 66437 - Identifier 66426 66432 - Identifier 66433 66437 - StringLiteral 66438 66479 - IfStatement 66481 66598 - CallExpression 66499 66544 - Identifier 66499 66515 - Identifier 66516 66520 - Identifier 66521 66537 - Identifier 66538 66543 - Block 66545 66598 - ReturnStatement 66547 66583 - Identifier 66571 66582 - VariableStatement 66598 66668 - VariableDeclarationList 66598 66667 - VariableDeclaration 66617 66667 - Identifier 66617 66629 - UnionType 66630 66667 - ArrayType 66630 66655 - TypeReference 66630 66653 - Identifier 66630 66653 - UndefinedKeyword 66657 66667 - TryStatement 66668 67943 - Block 66685 67857 - ExpressionStatement 66687 66979 - BinaryExpression 66687 66978 - Identifier 66687 66973 - EqualsToken 66973 66975 - Identifier 66975 66978 - ExpressionStatement 66979 67178 - CallExpression 66979 67177 - Identifier 66979 67171 - Identifier 67172 67176 - ExpressionStatement 67178 67268 - CallExpression 67178 67267 - PropertyAccessExpression 67178 67208 - Identifier 67178 67201 - Identifier 67202 67208 - PrefixUnaryExpression 67209 67266 - PrefixUnaryExpression 67210 67266 - ParenthesizedExpression 67211 67266 - BinaryExpression 67212 67265 - PropertyAccessExpression 67212 67236 - CallExpression 67212 67230 - Identifier 67212 67224 - Identifier 67225 67229 - Identifier 67231 67236 - AmpersandToken 67236 67238 - PropertyAccessExpression 67238 67265 - Identifier 67238 67253 - Identifier 67254 67265 - ExpressionStatement 67268 67377 - BinaryExpression 67268 67376 - Identifier 67268 67299 - EqualsToken 67299 67301 - CallExpression 67301 67376 - Identifier 67301 67310 - Identifier 67311 67322 - CallExpression 67323 67375 - PropertyAccessExpression 67323 67360 - Identifier 67323 67345 - Identifier 67346 67360 - PropertyAccessExpression 67361 67374 - Identifier 67361 67365 - Identifier 67366 67374 - ExpressionStatement 67377 67789 - CallExpression 67377 67788 - Identifier 67377 67417 - CallExpression 67418 67455 - Identifier 67418 67449 - Identifier 67450 67454 - ArrowFunction 67456 67787 - Parameter 67458 67472 - Identifier 67458 67472 - Parameter 67473 67478 - Identifier 67473 67478 - Parameter 67479 67484 - Identifier 67479 67484 - EqualsGreaterThanToken 67485 67488 - Block 67488 67787 - IfStatement 67490 67768 - BinaryExpression 67516 67621 - PrefixUnaryExpression 67516 67551 - CallExpression 67517 67551 - Identifier 67517 67535 - Identifier 67536 67550 - AmpersandAmpersandToken 67551 67554 - PrefixUnaryExpression 67554 67621 - CallExpression 67556 67621 - Identifier 67556 67569 - Identifier 67570 67574 - PrefixUnaryExpression 67575 67620 - PrefixUnaryExpression 67577 67620 - ParenthesizedExpression 67578 67620 - BinaryExpression 67579 67619 - PropertyAccessExpression 67579 67599 - Identifier 67579 67593 - Identifier 67594 67599 - AmpersandToken 67599 67601 - PropertyAccessExpression 67601 67619 - Identifier 67601 67611 - Identifier 67612 67619 - Block 67622 67768 - ExpressionStatement 67624 67745 - CallExpression 67624 67744 - PropertyAccessExpression 67624 67690 - ParenthesizedExpression 67624 67685 - BinaryExpression 67651 67684 - Identifier 67651 67662 - BarBarToken 67662 67665 - ParenthesizedExpression 67665 67684 - BinaryExpression 67667 67683 - Identifier 67667 67678 - EqualsToken 67678 67680 - ArrayLiteralExpression 67680 67683 - Identifier 67686 67690 - ObjectLiteralExpression 67691 67743 - SpreadAssignment 67692 67700 - Identifier 67696 67700 - PropertyAssignment 67701 67741 - Identifier 67701 67710 - PropertyAccessExpression 67711 67741 - Identifier 67711 67730 - Identifier 67731 67741 - ReturnStatement 67789 67842 - BinaryExpression 67815 67841 - Identifier 67815 67827 - BarBarToken 67827 67830 - Identifier 67830 67841 - Block 67878 67943 - ExpressionStatement 67880 67928 - BinaryExpression 67880 67927 - Identifier 67880 67915 - EqualsToken 67915 67917 - Identifier 67917 67927 - PropertyAssignment 67955 68233 - Identifier 67955 67991 - ArrowFunction 67992 68233 - Parameter 67994 67999 - Identifier 67994 67999 - Parameter 68000 68009 - Identifier 68000 68009 - EqualsGreaterThanToken 68010 68013 - Block 68013 68233 - TryStatement 68015 68222 - Block 68032 68136 - ExpressionStatement 68034 68078 - BinaryExpression 68034 68077 - Identifier 68034 68069 - EqualsToken 68069 68071 - Identifier 68071 68077 - ReturnStatement 68078 68121 - CallExpression 68102 68120 - Identifier 68102 68111 - Identifier 68112 68119 - Block 68157 68222 - ExpressionStatement 68159 68207 - BinaryExpression 68159 68206 - Identifier 68159 68194 - EqualsToken 68194 68196 - Identifier 68196 68206 - ShorthandPropertyAssignment 68234 68297 - Identifier 68234 68297 - ShorthandPropertyAssignment 68298 68328 - Identifier 68298 68328 - ShorthandPropertyAssignment 68329 68359 - Identifier 68329 68359 - ShorthandPropertyAssignment 68360 68397 - Identifier 68360 68397 - ShorthandPropertyAssignment 68398 68439 - Identifier 68398 68439 - ShorthandPropertyAssignment 68440 68483 - Identifier 68440 68483 - ShorthandPropertyAssignment 68484 68526 - Identifier 68484 68526 - ShorthandPropertyAssignment 68527 68551 - Identifier 68527 68551 - ShorthandPropertyAssignment 68552 68598 - Identifier 68552 68598 - FunctionDeclaration 68607 68854 - Identifier 68623 68660 - Parameter 68661 68681 - Identifier 68661 68670 - TypeReference 68671 68681 - Identifier 68671 68681 - Block 68682 68854 - IfStatement 68684 68747 - BinaryExpression 68698 68728 - PropertyAccessExpression 68698 68714 - Identifier 68698 68707 - Identifier 68708 68714 - EqualsEqualsEqualsToken 68714 68718 - Identifier 68718 68728 - ReturnStatement 68729 68747 - Identifier 68736 68746 - ReturnStatement 68747 68847 - CallExpression 68763 68846 - Identifier 68763 68780 - PropertyAccessExpression 68781 68827 - ParenthesizedExpression 68781 68812 - BinaryExpression 68782 68811 - PropertyAccessExpression 68782 68798 - Identifier 68782 68791 - Identifier 68792 68798 - BarBarToken 68798 68801 - Identifier 68801 68811 - Identifier 68813 68827 - PropertyAccessExpression 68828 68845 - Identifier 68828 68838 - Identifier 68839 68845 - FunctionDeclaration 68854 69896 - Identifier 68870 68920 - Parameter 68921 68945 - Identifier 68921 68925 - TypeReference 68926 68945 - Identifier 68926 68945 - Parameter 68946 68968 - Identifier 68946 68962 - TypeReference 68963 68968 - Identifier 68963 68968 - Block 68969 69896 - VariableStatement 68971 69024 - VariableDeclarationList 68971 69023 - VariableDeclaration 68986 69023 - Identifier 68986 69000 - NewExpression 69002 69023 - Identifier 69006 69010 - TypeReference 69011 69020 - Identifier 69011 69020 - VariableStatement 69024 69069 - VariableDeclarationList 69024 69068 - VariableDeclaration 69039 69068 - Identifier 69039 69050 - ArrayType 69051 69063 - TypeReference 69051 69061 - Identifier 69051 69061 - ArrayLiteralExpression 69065 69068 - ExpressionStatement 69069 69317 - CallExpression 69069 69316 - Identifier 69069 69200 - Identifier 69201 69216 - ArrowFunction 69217 69315 - EqualsGreaterThanToken 69220 69223 - CallExpression 69223 69315 - Identifier 69223 69250 - Identifier 69251 69255 - Identifier 69256 69267 - Identifier 69268 69296 - PropertyAccessExpression 69297 69314 - Identifier 69297 69307 - Identifier 69308 69314 - ForOfStatement 69317 69418 - VariableDeclarationList 69332 69347 - VariableDeclaration 69337 69347 - Identifier 69337 69347 - Identifier 69350 69361 - Block 69362 69418 - ExpressionStatement 69364 69407 - CallExpression 69364 69406 - PropertyAccessExpression 69364 69395 - Identifier 69364 69391 - Identifier 69392 69395 - Identifier 69396 69405 - ExpressionStatement 69418 69497 - BinaryExpression 69418 69496 - PropertyAccessExpression 69418 69492 - Identifier 69418 69485 - Identifier 69486 69492 - EqualsToken 69492 69494 - NumericLiteral 69494 69496 - ExpressionStatement 69497 69744 - CallExpression 69497 69743 - Identifier 69497 69627 - Identifier 69628 69643 - ArrowFunction 69644 69742 - EqualsGreaterThanToken 69647 69650 - CallExpression 69650 69742 - Identifier 69650 69677 - Identifier 69678 69682 - Identifier 69683 69694 - Identifier 69695 69723 - PropertyAccessExpression 69724 69741 - Identifier 69724 69734 - Identifier 69735 69741 - ForOfStatement 69744 69845 - VariableDeclarationList 69759 69774 - VariableDeclaration 69764 69774 - Identifier 69764 69774 - Identifier 69777 69788 - Block 69789 69845 - ExpressionStatement 69791 69834 - CallExpression 69791 69833 - PropertyAccessExpression 69791 69822 - Identifier 69791 69818 - Identifier 69819 69822 - Identifier 69823 69832 - ReturnStatement 69845 69889 - CallExpression 69863 69888 - Identifier 69863 69873 - Identifier 69874 69887 - FunctionDeclaration 69896 71246 - Identifier 69912 69947 - TypeParameter 69948 69949 - Identifier 69948 69949 - Parameter 69951 69973 - Identifier 69951 69955 - UnionType 69956 69973 - TypeReference 69956 69961 - Identifier 69956 69961 - UndefinedKeyword 69963 69973 - Parameter 69974 69986 - Identifier 69974 69977 - FunctionType 69978 69986 - TypeReference 69984 69986 - Identifier 69984 69986 - TypeReference 69988 69990 - Identifier 69988 69990 - Block 69990 71246 - ExpressionStatement 69992 70064 - BinaryExpression 69992 70063 - Identifier 69992 70006 - EqualsToken 70006 70008 - CallExpression 70008 70063 - Identifier 70008 70021 - Identifier 70022 70026 - Identifier 70027 70062 - IfStatement 70064 71217 - Identifier 70078 70082 - Block 70083 71217 - VariableStatement 70085 70135 - VariableDeclarationList 70085 70134 - VariableDeclaration 70104 70134 - Identifier 70104 70129 - ArrayLiteralExpression 70131 70134 - VariableStatement 70135 70172 - VariableDeclarationList 70135 70171 - VariableDeclaration 70154 70171 - Identifier 70154 70166 - ArrayLiteralExpression 70168 70171 - WhileStatement 70172 70858 - Identifier 70193 70197 - Block 70198 70858 - VariableStatement 70200 70255 - VariableDeclarationList 70200 70254 - VariableDeclaration 70223 70254 - Identifier 70223 70233 - CallExpression 70235 70254 - Identifier 70235 70248 - Identifier 70249 70253 - ExpressionStatement 70255 70354 - CallExpression 70255 70353 - PropertyAccessExpression 70255 70302 - Identifier 70255 70297 - Identifier 70298 70302 - AsExpression 70303 70352 - ArrayLiteralExpression 70303 70343 - Identifier 70304 70313 - PropertyAccessExpression 70314 70342 - Identifier 70314 70324 - Identifier 70325 70342 - TypeReference 70346 70352 - Identifier 70346 70352 - ExpressionStatement 70354 70412 - BinaryExpression 70354 70411 - PropertyAccessExpression 70354 70399 - Identifier 70354 70381 - Identifier 70382 70399 - EqualsToken 70399 70401 - Identifier 70401 70411 - IfStatement 70412 70756 - CallExpression 70434 70475 - Identifier 70434 70469 - Identifier 70470 70474 - Block 70476 70756 - VariableStatement 70478 70565 - VariableDeclarationList 70478 70564 - VariableDeclaration 70505 70564 - Identifier 70505 70517 - CallExpression 70519 70564 - Identifier 70519 70534 - CallExpression 70535 70563 - Identifier 70535 70557 - Identifier 70558 70562 - VariableStatement 70565 70617 - VariableDeclarationList 70565 70616 - VariableDeclaration 70592 70616 - Identifier 70592 70597 - PropertyAccessExpression 70599 70616 - Identifier 70599 70611 - Identifier 70612 70616 - ExpressionStatement 70617 70686 - CallExpression 70617 70685 - PropertyAccessExpression 70617 70655 - Identifier 70617 70650 - Identifier 70651 70655 - AsExpression 70656 70684 - ArrayLiteralExpression 70656 70675 - Identifier 70657 70668 - Identifier 70669 70674 - TypeReference 70678 70684 - Identifier 70678 70684 - ExpressionStatement 70686 70737 - BinaryExpression 70686 70736 - PropertyAccessExpression 70686 70724 - Identifier 70686 70719 - Identifier 70720 70724 - EqualsToken 70724 70726 - Identifier 70726 70736 - ExpressionStatement 70756 70843 - BinaryExpression 70756 70842 - Identifier 70756 70778 - EqualsToken 70778 70780 - CallExpression 70780 70842 - Identifier 70780 70793 - PropertyAccessExpression 70794 70805 - Identifier 70794 70798 - Identifier 70799 70805 - Identifier 70806 70841 - VariableStatement 70858 70892 - VariableDeclarationList 70858 70891 - VariableDeclaration 70877 70891 - Identifier 70877 70884 - CallExpression 70886 70891 - Identifier 70886 70889 - ForOfStatement 70892 71059 - VariableDeclarationList 70911 70947 - VariableDeclaration 70916 70947 - ArrayBindingPattern 70916 70947 - BindingElement 70918 70927 - Identifier 70918 70927 - BindingElement 70928 70946 - Identifier 70928 70946 - Identifier 70950 70975 - Block 70976 71059 - ExpressionStatement 70978 71044 - BinaryExpression 70978 71043 - PropertyAccessExpression 70978 71023 - Identifier 70978 71005 - Identifier 71006 71023 - EqualsToken 71023 71025 - Identifier 71025 71043 - ForOfStatement 71059 71178 - VariableDeclarationList 71078 71103 - VariableDeclaration 71083 71103 - ArrayBindingPattern 71083 71103 - BindingElement 71085 71096 - Identifier 71085 71096 - BindingElement 71097 71102 - Identifier 71097 71102 - Identifier 71106 71118 - Block 71119 71178 - ExpressionStatement 71121 71163 - BinaryExpression 71121 71162 - PropertyAccessExpression 71121 71155 - Identifier 71121 71150 - Identifier 71151 71155 - EqualsToken 71155 71157 - Identifier 71157 71162 - ReturnStatement 71178 71206 - Identifier 71198 71205 - ReturnStatement 71217 71239 - CallExpression 71233 71238 - Identifier 71233 71236 - FunctionDeclaration 71246 72214 - Identifier 71262 71300 - TypeParameter 71301 71302 - Identifier 71301 71302 - Parameter 71304 71326 - Identifier 71304 71308 - UnionType 71309 71326 - TypeReference 71309 71314 - Identifier 71309 71314 - UndefinedKeyword 71316 71326 - Parameter 71327 71339 - Identifier 71327 71330 - FunctionType 71331 71339 - TypeReference 71337 71339 - Identifier 71337 71339 - TypeReference 71341 71343 - Identifier 71341 71343 - Block 71343 72214 - VariableStatement 71345 71419 - VariableDeclarationList 71345 71418 - VariableDeclaration 71360 71418 - Identifier 71360 71375 - CallExpression 71377 71418 - Identifier 71377 71390 - Identifier 71391 71395 - Identifier 71396 71417 - IfStatement 71419 71716 - Identifier 71433 71447 - Block 71448 71716 - VariableStatement 71450 71487 - VariableDeclarationList 71450 71486 - VariableDeclaration 71467 71486 - Identifier 71467 71478 - NonNullExpression 71480 71486 - Identifier 71480 71485 - DoStatement 71487 71705 - Block 71503 71639 - ExpressionStatement 71505 71575 - BinaryExpression 71505 71574 - PropertyAccessExpression 71505 71567 - CallExpression 71505 71547 - Identifier 71505 71535 - Identifier 71536 71546 - Identifier 71548 71567 - EqualsToken 71567 71569 - TrueKeyword 71569 71574 - ExpressionStatement 71575 71624 - BinaryExpression 71575 71623 - Identifier 71575 71603 - EqualsToken 71603 71605 - PropertyAccessExpression 71605 71623 - Identifier 71605 71616 - Identifier 71617 71623 - BinaryExpression 71660 71703 - Identifier 71660 71670 - AmpersandAmpersandToken 71670 71673 - BinaryExpression 71673 71703 - Identifier 71673 71684 - ExclamationEqualsEqualsToken 71684 71688 - Identifier 71688 71703 - ExpressionStatement 71716 71763 - BinaryExpression 71716 71762 - Identifier 71716 71755 - EqualsToken 71755 71757 - TrueKeyword 71757 71762 - VariableStatement 71763 71833 - VariableDeclarationList 71763 71832 - VariableDeclaration 71778 71832 - Identifier 71778 71785 - CallExpression 71787 71832 - Identifier 71787 71822 - Identifier 71823 71827 - Identifier 71828 71831 - ExpressionStatement 71833 71879 - BinaryExpression 71833 71878 - Identifier 71833 71870 - EqualsToken 71870 71872 - FalseKeyword 71872 71878 - IfStatement 71879 72183 - Identifier 71895 71909 - Block 71910 72183 - VariableStatement 71912 71949 - VariableDeclarationList 71912 71948 - VariableDeclaration 71929 71948 - Identifier 71929 71940 - NonNullExpression 71942 71948 - Identifier 71942 71947 - DoStatement 71949 72172 - Block 71965 72106 - ExpressionStatement 71967 72042 - BinaryExpression 71967 72041 - PropertyAccessExpression 71967 72029 - CallExpression 71967 72009 - Identifier 71967 71997 - Identifier 71998 72008 - Identifier 72010 72029 - EqualsToken 72029 72031 - Identifier 72031 72041 - ExpressionStatement 72042 72091 - BinaryExpression 72042 72090 - Identifier 72042 72070 - EqualsToken 72070 72072 - PropertyAccessExpression 72072 72090 - Identifier 72072 72083 - Identifier 72084 72090 - BinaryExpression 72127 72170 - Identifier 72127 72137 - AmpersandAmpersandToken 72137 72140 - BinaryExpression 72140 72170 - Identifier 72140 72151 - ExclamationEqualsEqualsToken 72151 72155 - Identifier 72155 72170 - ReturnStatement 72183 72207 - Identifier 72199 72206 - FunctionDeclaration 72214 72702 - Identifier 72230 72257 - Parameter 72258 72284 - Identifier 72258 72264 - TypeReference 72265 72284 - Identifier 72265 72284 - Parameter 72285 72329 - Identifier 72285 72304 - UnionType 72305 72329 - ArrayType 72305 72317 - TypeReference 72305 72315 - Identifier 72305 72315 - UndefinedKeyword 72319 72329 - Parameter 72330 72364 - Identifier 72330 72344 - UnionType 72345 72364 - NumberKeyword 72345 72352 - UndefinedKeyword 72354 72364 - Parameter 72365 72386 - Identifier 72365 72375 - TypeReference 72376 72386 - Identifier 72376 72386 - UnionType 72388 72410 - TypeReference 72388 72398 - Identifier 72388 72398 - UndefinedKeyword 72400 72410 - Block 72410 72702 - VariableStatement 72412 72482 - VariableDeclarationList 72412 72481 - VariableDeclaration 72427 72481 - Identifier 72427 72432 - CallExpression 72434 72481 - Identifier 72434 72451 - Identifier 72452 72458 - Identifier 72459 72480 - ExpressionStatement 72482 72530 - BinaryExpression 72482 72529 - Identifier 72482 72513 - EqualsToken 72513 72515 - Identifier 72515 72529 - VariableStatement 72530 72630 - VariableDeclarationList 72530 72629 - VariableDeclaration 72545 72629 - Identifier 72545 72549 - ConditionalExpression 72551 72629 - PrefixUnaryExpression 72551 72557 - Identifier 72553 72557 - QuestionToken 72557 72559 - Identifier 72559 72569 - ColonToken 72569 72571 - CallExpression 72571 72629 - Identifier 72571 72592 - Identifier 72593 72597 - Identifier 72598 72617 - Identifier 72618 72628 - ExpressionStatement 72630 72674 - BinaryExpression 72630 72673 - Identifier 72630 72661 - EqualsToken 72661 72663 - Identifier 72663 72673 - ReturnStatement 72674 72695 - Identifier 72690 72694 - VariableStatement 72702 72758 - VariableDeclarationList 72702 72757 - VariableDeclaration 72713 72757 - Identifier 72713 72724 - NewExpression 72726 72757 - Identifier 72730 72734 - StringKeyword 72735 72741 - TypeReference 72742 72754 - Identifier 72742 72754 - VariableStatement 72758 72810 - VariableDeclarationList 72758 72809 - VariableDeclaration 72767 72809 - Identifier 72767 72778 - NewExpression 72780 72809 - Identifier 72784 72788 - StringKeyword 72789 72795 - TypeReference 72796 72806 - Identifier 72796 72806 - VariableStatement 72810 72864 - VariableDeclarationList 72810 72863 - VariableDeclaration 72819 72863 - Identifier 72819 72837 - NewExpression 72839 72863 - Identifier 72843 72847 - StringKeyword 72848 72854 - TypeReference 72855 72860 - Identifier 72855 72860 - VariableStatement 72864 72918 - VariableDeclarationList 72864 72917 - VariableDeclaration 72873 72917 - Identifier 72873 72891 - NewExpression 72893 72917 - Identifier 72897 72901 - StringKeyword 72902 72908 - TypeReference 72909 72914 - Identifier 72909 72914 - VariableStatement 72918 72986 - VariableDeclarationList 72918 72985 - VariableDeclaration 72927 72985 - Identifier 72927 72946 - NewExpression 72948 72985 - Identifier 72952 72956 - StringKeyword 72957 72963 - TypeReference 72964 72982 - Identifier 72964 72982 - VariableStatement 72986 73054 - VariableDeclarationList 72986 73053 - VariableDeclaration 72995 73053 - Identifier 72995 73014 - NewExpression 73016 73053 - Identifier 73020 73024 - NumberKeyword 73025 73031 - TypeReference 73032 73050 - Identifier 73032 73050 - VariableStatement 73054 73122 - VariableDeclarationList 73054 73121 - VariableDeclaration 73063 73121 - Identifier 73063 73082 - NewExpression 73084 73121 - Identifier 73088 73092 - StringKeyword 73093 73099 - TypeReference 73100 73118 - Identifier 73100 73118 - VariableStatement 73122 73182 - VariableDeclarationList 73122 73181 - VariableDeclaration 73131 73181 - Identifier 73131 73148 - NewExpression 73150 73181 - Identifier 73154 73158 - StringKeyword 73159 73165 - TypeReference 73166 73178 - Identifier 73166 73178 - VariableStatement 73182 73250 - VariableDeclarationList 73182 73249 - VariableDeclaration 73191 73249 - Identifier 73191 73210 - NewExpression 73212 73249 - Identifier 73216 73220 - StringKeyword 73221 73227 - TypeReference 73228 73246 - Identifier 73228 73246 - VariableStatement 73250 73322 - VariableDeclarationList 73250 73321 - VariableDeclaration 73259 73321 - Identifier 73259 73280 - NewExpression 73282 73321 - Identifier 73286 73290 - StringKeyword 73291 73297 - TypeReference 73298 73318 - Identifier 73298 73318 - VariableStatement 73322 73390 - VariableDeclarationList 73322 73389 - VariableDeclaration 73331 73389 - Identifier 73331 73350 - NewExpression 73352 73389 - Identifier 73356 73360 - StringKeyword 73361 73367 - TypeReference 73368 73386 - Identifier 73368 73386 - VariableStatement 73390 73456 - VariableDeclarationList 73390 73455 - VariableDeclaration 73399 73455 - Identifier 73399 73417 - NewExpression 73419 73455 - Identifier 73423 73427 - StringKeyword 73428 73434 - TypeReference 73435 73452 - Identifier 73435 73452 - VariableStatement 73456 73516 - VariableDeclarationList 73456 73515 - VariableDeclaration 73465 73515 - Identifier 73465 73487 - NewExpression 73489 73515 - Identifier 73493 73497 - StringKeyword 73498 73504 - ArrayType 73505 73512 - TypeReference 73505 73510 - Identifier 73505 73510 - VariableStatement 73516 73586 - VariableDeclarationList 73516 73585 - VariableDeclaration 73525 73585 - Identifier 73525 73559 - NewExpression 73561 73585 - Identifier 73565 73569 - StringKeyword 73570 73576 - TypeReference 73577 73582 - Identifier 73577 73582 - VariableStatement 73586 73634 - VariableDeclarationList 73586 73633 - VariableDeclaration 73595 73633 - Identifier 73595 73607 - NewExpression 73609 73633 - Identifier 73613 73617 - StringKeyword 73618 73624 - TypeReference 73625 73630 - Identifier 73625 73630 - VariableStatement 73634 73689 - VariableDeclarationList 73634 73688 - VariableDeclaration 73643 73688 - Identifier 73643 73662 - ArrayType 73663 73683 - TypeReference 73663 73681 - Identifier 73663 73681 - ArrayLiteralExpression 73685 73688 - VariableStatement 73689 73744 - VariableDeclarationList 73689 73743 - VariableDeclaration 73698 73743 - Identifier 73698 73718 - TypeReference 73719 73731 - Identifier 73719 73731 - NewExpression 73733 73743 - Identifier 73737 73741 - VariableStatement 73744 73786 - VariableDeclarationList 73744 73785 - VariableDeclaration 73753 73785 - Identifier 73753 73765 - NewExpression 73767 73785 - Identifier 73771 73775 - NumberKeyword 73776 73782 - VariableStatement 73786 73872 - VariableDeclarationList 73786 73871 - VariableDeclaration 73797 73871 - Identifier 73797 73811 - CallExpression 73813 73871 - Identifier 73813 73826 - PropertyAccessExpression 73827 73847 - Identifier 73827 73838 - Identifier 73839 73847 - AsExpression 73848 73870 - StringLiteral 73848 73858 - TypeReference 73861 73870 - Identifier 73861 73870 - VariableStatement 73872 73946 - VariableDeclarationList 73872 73945 - VariableDeclaration 73881 73945 - Identifier 73881 73897 - CallExpression 73899 73945 - Identifier 73899 73912 - NumericLiteral 73913 73914 - PropertyAccessExpression 73915 73944 - Identifier 73915 73934 - Identifier 73935 73944 - VariableStatement 73946 74011 - VariableDeclarationList 73946 74010 - VariableDeclaration 73955 74010 - Identifier 73955 73973 - NewExpression 73975 74010 - Identifier 73979 73983 - StringKeyword 73984 73990 - TypeReference 73991 74007 - Identifier 73991 74007 - VariableStatement 74011 74058 - VariableDeclarationList 74011 74057 - VariableDeclaration 74020 74057 - Identifier 74020 74031 - NewExpression 74033 74057 - Identifier 74037 74041 - StringKeyword 74042 74048 - TypeReference 74049 74054 - Identifier 74049 74054 - VariableStatement 74058 74425 - VariableDeclarationList 74058 74424 - VariableDeclaration 74385 74424 - Identifier 74385 74404 - NewExpression 74406 74424 - Identifier 74410 74414 - StringKeyword 74415 74421 - VariableStatement 74425 74489 - VariableDeclarationList 74425 74488 - VariableDeclaration 74436 74488 - Identifier 74436 74444 - CallExpression 74446 74488 - Identifier 74446 74466 - PropertyAccessExpression 74467 74480 - Identifier 74467 74476 - Identifier 74477 74480 - StringLiteral 74481 74487 - VariableStatement 74489 74591 - VariableDeclarationList 74489 74590 - VariableDeclaration 74498 74590 - Identifier 74498 74507 - CallExpression 74509 74590 - Identifier 74509 74529 - PropertyAccessExpression 74530 74543 - Identifier 74530 74539 - Identifier 74540 74543 - StringLiteral 74544 74550 - PropertyAccessExpression 74551 74581 - Identifier 74551 74563 - Identifier 74564 74581 - StringLiteral 74582 74589 - VariableStatement 74591 74697 - VariableDeclarationList 74591 74696 - VariableDeclaration 74600 74696 - Identifier 74600 74613 - CallExpression 74615 74696 - Identifier 74615 74635 - PropertyAccessExpression 74636 74649 - Identifier 74636 74645 - Identifier 74646 74649 - StringLiteral 74650 74656 - Identifier 74657 74683 - StringLiteral 74684 74695 - VariableStatement 74697 74814 - VariableDeclarationList 74697 74813 - VariableDeclaration 74706 74813 - Identifier 74706 74724 - CallExpression 74726 74813 - Identifier 74726 74746 - PropertyAccessExpression 74747 74760 - Identifier 74747 74756 - Identifier 74757 74760 - StringLiteral 74761 74767 - Identifier 74768 74794 - StringLiteral 74795 74812 - VariableStatement 74814 74880 - VariableDeclarationList 74814 74879 - VariableDeclaration 74823 74879 - Identifier 74823 74833 - CallExpression 74835 74879 - Identifier 74835 74855 - PropertyAccessExpression 74856 74869 - Identifier 74856 74865 - Identifier 74866 74869 - StringLiteral 74870 74878 - VariableStatement 74880 74956 - VariableDeclarationList 74880 74955 - VariableDeclaration 74889 74955 - Identifier 74889 74904 - CallExpression 74906 74955 - Identifier 74906 74926 - PropertyAccessExpression 74927 74940 - Identifier 74927 74936 - Identifier 74937 74940 - StringLiteral 74941 74954 - VariableStatement 74956 75083 - VariableDeclarationList 74956 75082 - VariableDeclaration 74965 75082 - Identifier 74965 74986 - CallExpression 74988 75082 - Identifier 74988 75008 - PropertyAccessExpression 75009 75022 - Identifier 75009 75018 - Identifier 75019 75022 - StringLiteral 75023 75029 - PropertyAccessExpression 75030 75063 - Identifier 75030 75042 - Identifier 75043 75063 - StringLiteral 75064 75081 - VariableStatement 75083 75163 - VariableDeclarationList 75083 75162 - VariableDeclaration 75092 75162 - Identifier 75092 75112 - CallExpression 75114 75162 - Identifier 75114 75134 - PropertyAccessExpression 75135 75148 - Identifier 75135 75144 - Identifier 75145 75148 - StringLiteral 75149 75161 - VariableStatement 75163 75237 - VariableDeclarationList 75163 75236 - VariableDeclaration 75172 75236 - Identifier 75172 75184 - CallExpression 75186 75236 - Identifier 75186 75206 - PropertyAccessExpression 75207 75224 - Identifier 75207 75216 - Identifier 75217 75224 - StringLiteral 75225 75235 - VariableStatement 75237 75317 - VariableDeclarationList 75237 75316 - VariableDeclaration 75246 75316 - Identifier 75246 75260 - CallExpression 75262 75316 - Identifier 75262 75282 - PropertyAccessExpression 75283 75302 - Identifier 75283 75292 - Identifier 75293 75302 - StringLiteral 75303 75315 - VariableStatement 75317 75486 - VariableDeclarationList 75317 75485 - VariableDeclaration 75326 75485 - Identifier 75326 75348 - ConditionalExpression 75350 75485 - Identifier 75350 75367 - QuestionToken 75367 75369 - Identifier 75369 75383 - ColonToken 75383 75385 - CallExpression 75385 75485 - Identifier 75385 75405 - PropertyAccessExpression 75406 75425 - Identifier 75406 75415 - Identifier 75416 75425 - StringLiteral 75426 75438 - PropertyAccessExpression 75439 75472 - Identifier 75439 75451 - Identifier 75452 75472 - StringLiteral 75473 75484 - VariableStatement 75486 75602 - VariableDeclarationList 75486 75601 - VariableDeclaration 75495 75601 - Identifier 75495 75507 - CallExpression 75509 75601 - Identifier 75509 75529 - PropertyAccessExpression 75530 75549 - Identifier 75530 75539 - Identifier 75540 75549 - StringLiteral 75550 75562 - Identifier 75563 75589 - StringLiteral 75590 75600 - VariableStatement 75602 75694 - VariableDeclarationList 75602 75693 - VariableDeclaration 75611 75693 - Identifier 75611 75634 - ConditionalExpression 75636 75693 - Identifier 75636 75663 - QuestionToken 75663 75665 - Identifier 75665 75677 - ColonToken 75677 75679 - Identifier 75679 75693 - VariableStatement 75694 75812 - VariableDeclarationList 75694 75811 - VariableDeclaration 75703 75811 - Identifier 75703 75716 - CallExpression 75718 75811 - Identifier 75718 75738 - PropertyAccessExpression 75739 75758 - Identifier 75739 75748 - Identifier 75749 75758 - StringLiteral 75759 75771 - Identifier 75772 75798 - StringLiteral 75799 75810 - VariableStatement 75812 75877 - VariableDeclarationList 75812 75876 - VariableDeclaration 75821 75876 - Identifier 75821 75830 - CallExpression 75832 75876 - Identifier 75832 75852 - PropertyAccessExpression 75853 75867 - Identifier 75853 75862 - Identifier 75863 75867 - StringLiteral 75868 75875 - VariableStatement 75877 76026 - VariableDeclarationList 75877 76025 - VariableDeclaration 75886 76025 - Identifier 75886 75903 - ConditionalExpression 75905 76025 - Identifier 75905 75922 - QuestionToken 75922 75924 - Identifier 75924 75933 - ColonToken 75933 75935 - CallExpression 75935 76025 - Identifier 75935 75955 - PropertyAccessExpression 75956 75970 - Identifier 75956 75965 - Identifier 75966 75970 - StringLiteral 75971 75978 - PropertyAccessExpression 75979 76012 - Identifier 75979 75991 - Identifier 75992 76012 - StringLiteral 76013 76024 - VariableStatement 76026 76097 - VariableDeclarationList 76026 76096 - VariableDeclaration 76035 76096 - Identifier 76035 76046 - CallExpression 76048 76096 - Identifier 76048 76068 - PropertyAccessExpression 76069 76085 - Identifier 76069 76078 - Identifier 76079 76085 - StringLiteral 76086 76095 - VariableStatement 76097 76168 - VariableDeclarationList 76097 76167 - VariableDeclaration 76106 76167 - Identifier 76106 76117 - CallExpression 76119 76167 - Identifier 76119 76139 - PropertyAccessExpression 76140 76156 - Identifier 76140 76149 - Identifier 76150 76156 - StringLiteral 76157 76166 - VariableStatement 76168 76239 - VariableDeclarationList 76168 76238 - VariableDeclaration 76177 76238 - Identifier 76177 76188 - CallExpression 76190 76238 - Identifier 76190 76210 - PropertyAccessExpression 76211 76227 - Identifier 76211 76220 - Identifier 76221 76227 - StringLiteral 76228 76237 - VariableStatement 76239 76378 - VariableDeclarationList 76239 76377 - VariableDeclaration 76248 76377 - Identifier 76248 76258 - AsExpression 76260 76377 - CallExpression 76260 76351 - Identifier 76260 76280 - PropertyAccessExpression 76281 76305 - Identifier 76281 76290 - Identifier 76291 76305 - StringLiteral 76306 76314 - Identifier 76315 76341 - StringLiteral 76342 76350 - TypeReference 76354 76377 - Identifier 76354 76377 - VariableStatement 76378 76488 - VariableDeclarationList 76378 76487 - VariableDeclaration 76387 76487 - Identifier 76387 76404 - AsExpression 76406 76487 - CallExpression 76406 76461 - Identifier 76406 76426 - PropertyAccessExpression 76427 76451 - Identifier 76427 76436 - Identifier 76437 76451 - StringLiteral 76452 76460 - TypeReference 76464 76487 - Identifier 76464 76487 - VariableStatement 76488 76625 - VariableDeclarationList 76488 76624 - VariableDeclaration 76497 76624 - Identifier 76497 76506 - AsExpression 76508 76624 - CallExpression 76508 76598 - Identifier 76508 76528 - PropertyAccessExpression 76529 76553 - Identifier 76529 76538 - Identifier 76539 76553 - StringLiteral 76554 76561 - Identifier 76562 76588 - StringLiteral 76589 76597 - TypeReference 76601 76624 - Identifier 76601 76624 - VariableStatement 76625 76733 - VariableDeclarationList 76625 76732 - VariableDeclaration 76634 76732 - Identifier 76634 76650 - AsExpression 76652 76732 - CallExpression 76652 76706 - Identifier 76652 76672 - PropertyAccessExpression 76673 76697 - Identifier 76673 76682 - Identifier 76683 76697 - StringLiteral 76698 76705 - TypeReference 76709 76732 - Identifier 76709 76732 - ExpressionStatement 76733 76778 - BinaryExpression 76733 76777 - PropertyAccessExpression 76733 76759 - Identifier 76733 76747 - Identifier 76748 76759 - EqualsToken 76759 76761 - Identifier 76761 76777 - ExpressionStatement 76778 76814 - BinaryExpression 76778 76813 - PropertyAccessExpression 76778 76802 - Identifier 76778 76792 - Identifier 76793 76802 - EqualsToken 76802 76804 - Identifier 76804 76813 - ExpressionStatement 76814 76866 - BinaryExpression 76814 76865 - PropertyAccessExpression 76814 76847 - Identifier 76814 76835 - Identifier 76836 76847 - EqualsToken 76847 76849 - Identifier 76849 76865 - ExpressionStatement 76866 76909 - BinaryExpression 76866 76908 - PropertyAccessExpression 76866 76897 - Identifier 76866 76887 - Identifier 76888 76897 - EqualsToken 76897 76899 - Identifier 76899 76908 - ExpressionStatement 76909 76956 - BinaryExpression 76909 76955 - PropertyAccessExpression 76909 76936 - Identifier 76909 76924 - Identifier 76925 76936 - EqualsToken 76936 76938 - Identifier 76938 76955 - ExpressionStatement 76956 76994 - BinaryExpression 76956 76993 - PropertyAccessExpression 76956 76981 - Identifier 76956 76971 - Identifier 76972 76981 - EqualsToken 76981 76983 - Identifier 76983 76993 - ExpressionStatement 76994 77048 - BinaryExpression 76994 77047 - PropertyAccessExpression 76994 77028 - Identifier 76994 77016 - Identifier 77017 77028 - EqualsToken 77028 77030 - Identifier 77030 77047 - ExpressionStatement 77048 77093 - BinaryExpression 77048 77092 - PropertyAccessExpression 77048 77080 - Identifier 77048 77070 - Identifier 77071 77080 - EqualsToken 77080 77082 - Identifier 77082 77092 - VariableStatement 77093 77167 - VariableDeclarationList 77093 77166 - VariableDeclaration 77102 77166 - Identifier 77102 77114 - CallExpression 77116 77166 - Identifier 77116 77129 - ArrayLiteralExpression 77130 77165 - Identifier 77131 77147 - Identifier 77148 77164 - VariableStatement 77167 77242 - VariableDeclarationList 77167 77241 - VariableDeclaration 77176 77241 - Identifier 77176 77189 - CallExpression 77191 77241 - Identifier 77191 77211 - PropertyAccessExpression 77212 77230 - Identifier 77212 77221 - Identifier 77222 77230 - StringLiteral 77231 77240 - VariableStatement 77242 77307 - VariableDeclarationList 77242 77306 - VariableDeclaration 77251 77306 - Identifier 77251 77260 - CallExpression 77262 77306 - Identifier 77262 77282 - PropertyAccessExpression 77283 77297 - Identifier 77283 77292 - Identifier 77293 77297 - StringLiteral 77298 77305 - VariableStatement 77307 77375 - VariableDeclarationList 77307 77374 - VariableDeclaration 77316 77374 - Identifier 77316 77326 - CallExpression 77328 77374 - Identifier 77328 77348 - PropertyAccessExpression 77349 77364 - Identifier 77349 77358 - Identifier 77359 77364 - StringLiteral 77365 77373 - VariableStatement 77375 77490 - VariableDeclarationList 77375 77489 - VariableDeclaration 77384 77489 - Identifier 77384 77400 - CallExpression 77402 77489 - Identifier 77402 77422 - PropertyAccessExpression 77423 77438 - Identifier 77423 77432 - Identifier 77433 77438 - StringLiteral 77439 77447 - PropertyAccessExpression 77448 77478 - Identifier 77448 77460 - Identifier 77461 77478 - StringLiteral 77479 77488 - VariableStatement 77490 77605 - VariableDeclarationList 77490 77604 - VariableDeclaration 77499 77604 - Identifier 77499 77517 - CallExpression 77519 77604 - Identifier 77519 77539 - PropertyAccessExpression 77540 77555 - Identifier 77540 77549 - Identifier 77550 77555 - StringLiteral 77556 77564 - Identifier 77565 77591 - StringLiteral 77592 77603 - VariableStatement 77605 77726 - VariableDeclarationList 77605 77725 - VariableDeclaration 77614 77725 - Identifier 77614 77635 - CallExpression 77637 77725 - Identifier 77637 77657 - PropertyAccessExpression 77658 77673 - Identifier 77658 77667 - Identifier 77668 77673 - StringLiteral 77674 77682 - Identifier 77683 77709 - StringLiteral 77710 77724 - VariableStatement 77726 77809 - VariableDeclarationList 77726 77808 - VariableDeclaration 77735 77808 - Identifier 77735 77752 - CallExpression 77754 77808 - Identifier 77754 77774 - PropertyAccessExpression 77775 77797 - Identifier 77775 77784 - Identifier 77785 77797 - StringLiteral 77798 77807 - VariableStatement 77809 77879 - VariableDeclarationList 77809 77878 - VariableDeclaration 77818 77878 - Identifier 77818 77837 - CallExpression 77839 77878 - Identifier 77839 77852 - ArrayLiteralExpression 77853 77877 - Identifier 77854 77864 - Identifier 77865 77876 - VariableStatement 77879 77967 - VariableDeclarationList 77879 77966 - VariableDeclaration 77888 77966 - Identifier 77888 77911 - CallExpression 77913 77966 - Identifier 77913 77926 - ArrayLiteralExpression 77927 77965 - Identifier 77928 77938 - Identifier 77939 77950 - Identifier 77951 77964 - VariableStatement 77967 78037 - VariableDeclarationList 77967 78036 - VariableDeclaration 77976 78036 - Identifier 77976 77995 - CallExpression 77997 78036 - Identifier 77997 78010 - ArrayLiteralExpression 78011 78035 - Identifier 78012 78022 - Identifier 78023 78034 - VariableStatement 78037 78174 - VariableDeclarationList 78037 78173 - VariableDeclaration 78046 78173 - Identifier 78046 78069 - AsExpression 78071 78173 - CallExpression 78071 78160 - Identifier 78071 78084 - ArrayLiteralExpression 78085 78159 - Identifier 78086 78096 - Identifier 78097 78108 - Identifier 78109 78121 - Identifier 78122 78133 - Identifier 78134 78143 - Identifier 78144 78158 - TypeReference 78163 78173 - Identifier 78163 78173 - VariableStatement 78174 78251 - VariableDeclarationList 78174 78250 - VariableDeclaration 78183 78250 - Identifier 78183 78201 - CallExpression 78203 78250 - Identifier 78203 78226 - ArrayLiteralExpression 78227 78235 - StringLiteral 78228 78230 - StringLiteral 78231 78234 - ArrayLiteralExpression 78236 78249 - Identifier 78238 78248 - VariableStatement 78251 78466 - VariableDeclarationList 78251 78465 - VariableDeclaration 78286 78465 - Identifier 78286 78304 - TypeReference 78305 78316 - Identifier 78305 78316 - CallExpression 78318 78465 - Identifier 78318 78341 - ArrowFunction 78342 78434 - Parameter 78342 78343 - Identifier 78342 78343 - EqualsGreaterThanToken 78343 78346 - ConditionalExpression 78346 78434 - BinaryExpression 78346 78380 - PropertyAccessExpression 78346 78354 - Identifier 78346 78348 - Identifier 78349 78354 - AmpersandToken 78354 78356 - PropertyAccessExpression 78356 78380 - Identifier 78356 78366 - Identifier 78367 78380 - QuestionToken 78380 78382 - CallExpression 78382 78430 - Identifier 78382 78410 - AsExpression 78411 78429 - Identifier 78411 78412 - TypeReference 78415 78429 - Identifier 78415 78429 - ColonToken 78430 78432 - Identifier 78432 78434 - ArrowFunction 78435 78464 - EqualsGreaterThanToken 78438 78441 - StringLiteral 78441 78464 - VariableStatement 78466 78618 - VariableDeclarationList 78466 78617 - VariableDeclaration 78475 78617 - Identifier 78475 78492 - TypeReference 78493 78504 - Identifier 78493 78504 - CallExpression 78506 78617 - Identifier 78506 78529 - ArrowFunction 78530 78587 - Parameter 78530 78531 - Identifier 78530 78531 - EqualsGreaterThanToken 78531 78534 - ConditionalExpression 78534 78587 - BinaryExpression 78534 78568 - PropertyAccessExpression 78534 78542 - Identifier 78534 78536 - Identifier 78537 78542 - AmpersandToken 78542 78544 - PropertyAccessExpression 78544 78568 - Identifier 78544 78554 - Identifier 78555 78568 - QuestionToken 78568 78570 - Identifier 78570 78583 - ColonToken 78583 78585 - Identifier 78585 78587 - ArrowFunction 78588 78616 - EqualsGreaterThanToken 78591 78594 - StringLiteral 78594 78616 - VariableStatement 78618 78739 - VariableDeclarationList 78618 78738 - VariableDeclaration 78627 78738 - Identifier 78627 78645 - CallExpression 78647 78738 - Identifier 78647 78667 - PropertyAccessExpression 78668 78683 - Identifier 78668 78677 - Identifier 78678 78683 - StringLiteral 78684 78692 - Identifier 78693 78719 - StringLiteral 78720 78737 - VariableStatement 78739 78997 - VariableDeclarationList 78739 78996 - VariableDeclaration 78842 78996 - Identifier 78842 78862 - TypeReference 78863 78874 - Identifier 78863 78874 - CallExpression 78876 78996 - Identifier 78876 78899 - ArrowFunction 78900 78962 - Parameter 78900 78901 - Identifier 78900 78901 - EqualsGreaterThanToken 78901 78904 - ConditionalExpression 78904 78962 - BinaryExpression 78904 78938 - PropertyAccessExpression 78904 78912 - Identifier 78904 78906 - Identifier 78907 78912 - AmpersandToken 78912 78914 - PropertyAccessExpression 78914 78938 - Identifier 78914 78924 - Identifier 78925 78938 - QuestionToken 78938 78940 - Identifier 78940 78958 - ColonToken 78958 78960 - Identifier 78960 78962 - ArrowFunction 78963 78995 - EqualsGreaterThanToken 78966 78969 - StringLiteral 78969 78995 - VariableStatement 78997 79174 - VariableDeclarationList 78997 79173 - VariableDeclaration 79093 79173 - Identifier 79093 79124 - UnionType 79125 79173 - ParenthesizedType 79125 79161 - FunctionType 79127 79160 - Parameter 79128 79151 - Identifier 79128 79142 - BooleanKeyword 79143 79151 - VoidKeyword 79155 79160 - UndefinedKeyword 79163 79173 - VariableStatement 79174 79502 - VariableDeclarationList 79174 79501 - VariableDeclaration 79183 79501 - Identifier 79183 79206 - CallExpression 79208 79501 - Identifier 79208 79231 - ArrowFunction 79232 79467 - Parameter 79232 79233 - Identifier 79232 79233 - EqualsGreaterThanToken 79233 79236 - Block 79236 79467 - IfStatement 79238 79441 - BinaryExpression 79252 79357 - Identifier 79252 79282 - AmpersandAmpersandToken 79282 79285 - ParenthesizedExpression 79285 79357 - BinaryExpression 79287 79356 - BinaryExpression 79287 79331 - BinaryExpression 79287 79308 - Identifier 79287 79288 - EqualsEqualsEqualsToken 79288 79292 - Identifier 79292 79308 - BarBarToken 79308 79311 - BinaryExpression 79311 79331 - Identifier 79311 79313 - EqualsEqualsEqualsToken 79313 79317 - Identifier 79317 79331 - BarBarToken 79331 79334 - BinaryExpression 79334 79356 - Identifier 79334 79336 - EqualsEqualsEqualsToken 79336 79340 - Identifier 79340 79356 - Block 79358 79441 - ExpressionStatement 79360 79430 - CallExpression 79360 79429 - Identifier 79360 79404 - TrueKeyword 79405 79428 - ReturnStatement 79441 79460 - Identifier 79457 79459 - ArrowFunction 79468 79500 - EqualsGreaterThanToken 79471 79474 - StringLiteral 79474 79500 - VariableStatement 79502 79831 - VariableDeclarationList 79502 79830 - VariableDeclaration 79511 79830 - Identifier 79511 79536 - CallExpression 79538 79830 - Identifier 79538 79561 - ArrowFunction 79562 79798 - Parameter 79562 79563 - Identifier 79562 79563 - EqualsGreaterThanToken 79563 79566 - Block 79566 79798 - IfStatement 79568 79772 - BinaryExpression 79582 79687 - Identifier 79582 79612 - AmpersandAmpersandToken 79612 79615 - ParenthesizedExpression 79615 79687 - BinaryExpression 79617 79686 - BinaryExpression 79617 79661 - BinaryExpression 79617 79638 - Identifier 79617 79618 - EqualsEqualsEqualsToken 79618 79622 - Identifier 79622 79638 - BarBarToken 79638 79641 - BinaryExpression 79641 79661 - Identifier 79641 79643 - EqualsEqualsEqualsToken 79643 79647 - Identifier 79647 79661 - BarBarToken 79661 79664 - BinaryExpression 79664 79686 - Identifier 79664 79666 - EqualsEqualsEqualsToken 79666 79670 - Identifier 79670 79686 - Block 79688 79772 - ExpressionStatement 79690 79761 - CallExpression 79690 79760 - Identifier 79690 79734 - FalseKeyword 79735 79759 - ReturnStatement 79772 79791 - Identifier 79788 79790 - ArrowFunction 79799 79829 - EqualsGreaterThanToken 79802 79805 - StringLiteral 79805 79829 - VariableStatement 79831 79953 - VariableDeclarationList 79831 79952 - VariableDeclaration 79842 79952 - Identifier 79842 79858 - CallExpression 79860 79952 - Identifier 79860 79880 - Identifier 79881 79901 - Identifier 79902 79915 - Identifier 79916 79927 - Identifier 79928 79939 - Identifier 79940 79951 - VariableStatement 79953 80076 - VariableDeclarationList 79953 80075 - VariableDeclaration 79962 80075 - Identifier 79962 79981 - CallExpression 79983 80075 - Identifier 79983 80003 - Identifier 80004 80024 - Identifier 80025 80038 - Identifier 80039 80050 - Identifier 80051 80062 - Identifier 80063 80074 - ExpressionStatement 80076 80142 - BinaryExpression 80076 80141 - PropertyAccessExpression 80076 80112 - Identifier 80076 80100 - Identifier 80101 80112 - BarEqualsToken 80112 80115 - PropertyAccessExpression 80115 80141 - Identifier 80115 80127 - Identifier 80128 80141 - VariableStatement 80142 80270 - VariableDeclarationList 80142 80269 - VariableDeclaration 80151 80269 - Identifier 80151 80175 - CallExpression 80177 80269 - Identifier 80177 80197 - Identifier 80198 80218 - Identifier 80219 80232 - Identifier 80233 80244 - Identifier 80245 80256 - Identifier 80257 80268 - ExpressionStatement 80270 80439 - BinaryExpression 80270 80438 - PropertyAccessExpression 80270 80311 - Identifier 80270 80299 - Identifier 80300 80311 - BarEqualsToken 80311 80314 - BinaryExpression 80314 80438 - BinaryExpression 80314 80395 - BinaryExpression 80314 80367 - PropertyAccessExpression 80314 80340 - Identifier 80314 80326 - Identifier 80327 80340 - BarToken 80340 80342 - PropertyAccessExpression 80342 80367 - Identifier 80342 80354 - Identifier 80355 80367 - BarToken 80367 80369 - PropertyAccessExpression 80369 80395 - Identifier 80369 80381 - Identifier 80382 80395 - BarToken 80395 80397 - PropertyAccessExpression 80397 80438 - Identifier 80397 80409 - Identifier 80410 80438 - VariableStatement 80439 80539 - VariableDeclarationList 80439 80538 - VariableDeclaration 80450 80538 - Identifier 80450 80473 - CallExpression 80475 80538 - Identifier 80475 80488 - PropertyAccessExpression 80489 80512 - Identifier 80489 80500 - Identifier 80501 80512 - PropertyAccessExpression 80513 80537 - Identifier 80513 80532 - Identifier 80533 80537 - ExpressionStatement 80539 80598 - BinaryExpression 80539 80597 - PropertyAccessExpression 80539 80575 - Identifier 80539 80567 - Identifier 80568 80575 - EqualsToken 80575 80577 - CallExpression 80577 80597 - Identifier 80577 80595 - VariableStatement 80598 80725 - VariableDeclarationList 80598 80724 - VariableDeclaration 80607 80724 - Identifier 80607 80628 - CallExpression 80630 80724 - Identifier 80630 80650 - Identifier 80651 80673 - Identifier 80674 80687 - Identifier 80688 80699 - Identifier 80700 80711 - Identifier 80712 80723 - VariableStatement 80725 80854 - VariableDeclarationList 80725 80853 - VariableDeclaration 80736 80853 - Identifier 80736 80759 - CallExpression 80761 80853 - Identifier 80761 80781 - Identifier 80782 80802 - Identifier 80803 80816 - Identifier 80817 80828 - Identifier 80829 80840 - Identifier 80841 80852 - VariableStatement 80854 80980 - VariableDeclarationList 80854 80979 - VariableDeclaration 80863 80979 - Identifier 80863 80880 - ConditionalExpression 80882 80979 - Identifier 80882 80899 - QuestionToken 80899 80901 - CallExpression 80901 80965 - Identifier 80901 80914 - ArrayLiteralExpression 80915 80964 - Identifier 80916 80929 - Identifier 80930 80939 - Identifier 80940 80963 - ColonToken 80965 80967 - Identifier 80967 80979 - VariableStatement 80980 81132 - VariableDeclarationList 80980 81131 - VariableDeclaration 80991 81131 - Identifier 80991 81008 - AsExpression 81010 81131 - AsExpression 81010 81116 - CallExpression 81010 81102 - Identifier 81010 81030 - Identifier 81031 81051 - Identifier 81052 81065 - Identifier 81066 81077 - Identifier 81078 81089 - Identifier 81090 81101 - TypeReference 81105 81116 - Identifier 81105 81116 - TypeReference 81119 81131 - Identifier 81119 81131 - ExpressionStatement 81132 81205 - BinaryExpression 81132 81204 - PropertyAccessExpression 81132 81169 - Identifier 81132 81154 - Identifier 81155 81169 - EqualsToken 81169 81171 - NewExpression 81171 81204 - Identifier 81175 81179 - StringKeyword 81180 81186 - TypeReference 81187 81201 - Identifier 81187 81201 - VariableStatement 81205 81327 - VariableDeclarationList 81205 81326 - VariableDeclaration 81216 81326 - Identifier 81216 81232 - CallExpression 81234 81326 - Identifier 81234 81254 - Identifier 81255 81275 - Identifier 81276 81289 - Identifier 81290 81301 - Identifier 81302 81313 - Identifier 81314 81325 - ExpressionStatement 81327 81573 - BinaryExpression 81327 81572 - PropertyAccessExpression 81327 81539 - Identifier 81327 81527 - Identifier 81528 81539 - BarEqualsToken 81539 81542 - PropertyAccessExpression 81542 81572 - Identifier 81542 81554 - Identifier 81555 81572 - VariableStatement 81573 81696 - VariableDeclarationList 81573 81695 - VariableDeclaration 81584 81695 - Identifier 81584 81601 - CallExpression 81603 81695 - Identifier 81603 81623 - Identifier 81624 81644 - Identifier 81645 81658 - Identifier 81659 81670 - Identifier 81671 81682 - Identifier 81683 81694 - VariableStatement 81696 81823 - VariableDeclarationList 81696 81822 - VariableDeclaration 81705 81822 - Identifier 81705 81728 - CallExpression 81730 81822 - Identifier 81730 81750 - Identifier 81751 81771 - Identifier 81772 81785 - Identifier 81786 81797 - Identifier 81798 81809 - Identifier 81810 81821 - VariableStatement 81823 81948 - VariableDeclarationList 81823 81947 - VariableDeclaration 81832 81947 - Identifier 81832 81853 - CallExpression 81855 81947 - Identifier 81855 81875 - Identifier 81876 81896 - Identifier 81897 81910 - Identifier 81911 81922 - Identifier 81923 81934 - Identifier 81935 81946 - VariableStatement 81948 82000 - VariableDeclarationList 81948 81999 - VariableDeclaration 81959 81999 - Identifier 81959 81975 - CallExpression 81977 81999 - Identifier 81977 81997 - VariableStatement 82000 82048 - VariableDeclarationList 82000 82047 - VariableDeclaration 82009 82047 - Identifier 82009 82023 - CallExpression 82025 82047 - Identifier 82025 82045 - ExpressionStatement 82048 82097 - BinaryExpression 82048 82096 - PropertyAccessExpression 82048 82078 - Identifier 82048 82067 - Identifier 82068 82078 - EqualsToken 82078 82080 - Identifier 82080 82096 - VariableStatement 82097 82147 - VariableDeclarationList 82097 82146 - VariableDeclaration 82106 82146 - Identifier 82106 82122 - CallExpression 82124 82146 - Identifier 82124 82144 - VariableStatement 82147 82207 - VariableDeclarationList 82147 82206 - VariableDeclaration 82158 82206 - Identifier 82158 82182 - CallExpression 82184 82206 - Identifier 82184 82204 - VariableStatement 82207 82263 - VariableDeclarationList 82207 82262 - VariableDeclaration 82216 82262 - Identifier 82216 82238 - CallExpression 82240 82262 - Identifier 82240 82260 - ExpressionStatement 82263 82328 - BinaryExpression 82263 82327 - PropertyAccessExpression 82263 82301 - Identifier 82263 82290 - Identifier 82291 82301 - EqualsToken 82301 82303 - Identifier 82303 82327 - VariableStatement 82328 82438 - VariableDeclarationList 82328 82437 - VariableDeclaration 82339 82437 - Identifier 82339 82355 - CallExpression 82357 82437 - Identifier 82357 82377 - PropertyAccessExpression 82378 82406 - Identifier 82378 82395 - Identifier 82396 82406 - StringLiteral 82407 82424 - NumericLiteral 82425 82427 - Identifier 82428 82436 - VariableStatement 82438 82649 - VariableDeclarationList 82438 82648 - VariableDeclaration 82449 82648 - Identifier 82449 82462 - CallExpression 82464 82648 - Identifier 82464 82480 - Identifier 82481 82506 - Identifier 82507 82536 - Identifier 82537 82565 - Identifier 82566 82577 - Identifier 82578 82586 - Identifier 82587 82623 - NumericLiteral 82624 82626 - PropertyAccessExpression 82627 82647 - Identifier 82627 82642 - Identifier 82643 82647 - VariableStatement 82649 82864 - VariableDeclarationList 82649 82863 - VariableDeclaration 82658 82863 - Identifier 82658 82675 - CallExpression 82677 82863 - Identifier 82677 82693 - Identifier 82694 82719 - Identifier 82720 82749 - Identifier 82750 82778 - Identifier 82779 82790 - Identifier 82791 82801 - Identifier 82802 82838 - NumericLiteral 82839 82841 - PropertyAccessExpression 82842 82862 - Identifier 82842 82857 - Identifier 82858 82862 - VariableStatement 82864 83079 - VariableDeclarationList 82864 83078 - VariableDeclaration 82873 83078 - Identifier 82873 82892 - CallExpression 82894 83078 - Identifier 82894 82910 - Identifier 82911 82936 - Identifier 82937 82966 - Identifier 82967 82995 - Identifier 82996 83007 - Identifier 83008 83016 - Identifier 83017 83053 - NumericLiteral 83054 83056 - PropertyAccessExpression 83057 83077 - Identifier 83057 83072 - Identifier 83073 83077 - VariableStatement 83079 83304 - VariableDeclarationList 83079 83303 - VariableDeclaration 83088 83303 - Identifier 83088 83109 - CallExpression 83111 83303 - Identifier 83111 83127 - Identifier 83128 83153 - Identifier 83154 83183 - Identifier 83184 83212 - Identifier 83213 83224 - Identifier 83225 83241 - Identifier 83242 83278 - NumericLiteral 83279 83281 - PropertyAccessExpression 83282 83302 - Identifier 83282 83297 - Identifier 83298 83302 - VariableStatement 83304 83399 - VariableDeclarationList 83304 83398 - VariableDeclaration 83315 83398 - Identifier 83315 83335 - CallExpression 83337 83398 - Identifier 83337 83353 - Identifier 83354 83364 - Identifier 83365 83376 - TrueKeyword 83377 83397 - VariableStatement 83399 83491 - VariableDeclarationList 83399 83490 - VariableDeclaration 83408 83490 - Identifier 83408 83429 - CallExpression 83431 83490 - Identifier 83431 83447 - Identifier 83448 83458 - Identifier 83459 83467 - FalseKeyword 83468 83489 - VariableStatement 83491 83559 - VariableDeclarationList 83491 83558 - VariableDeclaration 83502 83558 - Identifier 83502 83522 - NewExpression 83524 83558 - Identifier 83528 83532 - StringKeyword 83533 83539 - TypeReference 83540 83555 - Identifier 83540 83555 - VariableStatement 83559 83940 - VariableDeclarationList 83559 83939 - VariableDeclaration 83613 83939 - Identifier 83613 83630 - TypeReference 83631 83646 - Identifier 83631 83646 - ObjectLiteralExpression 83648 83939 - GetAccessor 83650 83743 - Identifier 83663 83673 - TypeReference 83676 83681 - Identifier 83676 83681 - Block 83681 83743 - ReturnStatement 83683 83732 - CallExpression 83703 83731 - PropertyAccessExpression 83703 83714 - Identifier 83703 83709 - Identifier 83710 83714 - StringLiteral 83715 83730 - GetAccessor 83744 83838 - Identifier 83757 83768 - TypeReference 83771 83776 - Identifier 83771 83776 - Block 83776 83838 - ReturnStatement 83778 83827 - CallExpression 83798 83826 - PropertyAccessExpression 83798 83809 - Identifier 83798 83804 - Identifier 83805 83809 - StringLiteral 83810 83825 - GetAccessor 83839 83931 - Identifier 83852 83861 - TypeReference 83864 83869 - Identifier 83864 83869 - Block 83869 83931 - ReturnStatement 83871 83920 - CallExpression 83891 83919 - PropertyAccessExpression 83891 83902 - Identifier 83891 83897 - Identifier 83898 83902 - StringLiteral 83903 83918 - VariableStatement 83940 84020 - VariableDeclarationList 83940 84019 - VariableDeclaration 83951 84019 - Identifier 83951 83969 - CallExpression 83971 84019 - Identifier 83971 83992 - Identifier 83993 84000 - Identifier 84001 84009 - Identifier 84010 84018 - VariableStatement 84020 85210 - VariableDeclarationList 84020 85209 - VariableDeclaration 84031 85209 - Identifier 84031 84059 - TypeReference 84060 84083 - Identifier 84060 84083 - ObjectLiteralExpression 84085 85209 - PropertyAssignment 84087 84146 - Identifier 84087 84113 - StringLiteral 84114 84146 - PropertyAssignment 84147 84206 - Identifier 84147 84173 - StringLiteral 84174 84206 - PropertyAssignment 84207 84252 - Identifier 84207 84235 - StringLiteral 84236 84252 - PropertyAssignment 84253 84312 - Identifier 84253 84284 - Identifier 84285 84312 - PropertyAssignment 84313 84372 - Identifier 84313 84344 - Identifier 84345 84372 - PropertyAssignment 84373 84448 - Identifier 84373 84412 - Identifier 84413 84448 - PropertyAssignment 84449 84520 - Identifier 84449 84486 - Identifier 84487 84520 - PropertyAssignment 84521 84582 - Identifier 84521 84553 - Identifier 84554 84582 - PropertyAssignment 84583 84658 - Identifier 84583 84622 - Identifier 84623 84658 - PropertyAssignment 84659 84852 - Identifier 84659 84689 - ArrowFunction 84690 84852 - Parameter 84692 84696 - Identifier 84692 84696 - Parameter 84697 84707 - Identifier 84697 84707 - EqualsGreaterThanToken 84708 84711 - CallExpression 84711 84852 - Identifier 84711 84726 - Identifier 84727 84731 - Identifier 84732 84742 - PropertyAccessExpression 84743 84851 - Identifier 84743 84755 - Identifier 84756 84851 - PropertyAssignment 84853 84947 - Identifier 84853 84892 - PropertyAccessExpression 84893 84947 - Identifier 84893 84905 - Identifier 84906 84947 - PropertyAssignment 84948 85047 - Identifier 84948 84981 - PropertyAccessExpression 84982 85047 - Identifier 84982 84994 - Identifier 84995 85047 - PropertyAssignment 85048 85201 - Identifier 85048 85082 - PropertyAccessExpression 85083 85201 - Identifier 85083 85095 - Identifier 85096 85201 - VariableStatement 85210 86016 - VariableDeclarationList 85210 86015 - VariableDeclaration 85221 86015 - Identifier 85221 85248 - TypeReference 85249 85272 - Identifier 85249 85272 - ObjectLiteralExpression 85274 86015 - PropertyAssignment 85276 85330 - Identifier 85276 85302 - StringLiteral 85303 85330 - PropertyAssignment 85331 85385 - Identifier 85331 85357 - StringLiteral 85358 85385 - PropertyAssignment 85386 85426 - Identifier 85386 85414 - StringLiteral 85415 85426 - ShorthandPropertyAssignment 85427 85458 - Identifier 85427 85458 - ShorthandPropertyAssignment 85459 85490 - Identifier 85459 85490 - ShorthandPropertyAssignment 85491 85530 - Identifier 85491 85530 - ShorthandPropertyAssignment 85531 85568 - Identifier 85531 85568 - ShorthandPropertyAssignment 85569 85601 - Identifier 85569 85601 - ShorthandPropertyAssignment 85602 85641 - Identifier 85602 85641 - PropertyAssignment 85642 85700 - Identifier 85642 85672 - ArrowFunction 85673 85700 - Parameter 85675 85679 - Identifier 85675 85679 - Parameter 85680 85691 - Identifier 85680 85691 - EqualsGreaterThanToken 85692 85695 - Identifier 85695 85700 - PropertyAssignment 85701 85789 - Identifier 85701 85740 - PropertyAccessExpression 85741 85789 - Identifier 85741 85753 - Identifier 85754 85789 - PropertyAssignment 85790 85883 - Identifier 85790 85823 - PropertyAccessExpression 85824 85883 - Identifier 85824 85836 - Identifier 85837 85883 - PropertyAssignment 85884 86007 - Identifier 85884 85918 - PropertyAccessExpression 85919 86007 - Identifier 85919 85931 - Identifier 85932 86007 - InterfaceDeclaration 86016 86214 - Identifier 86033 86056 - PropertySignature 86058 86111 - ReadonlyKeyword 86058 86076 - Identifier 86076 86095 - ArrayType 86096 86110 - TypeReference 86096 86108 - Identifier 86096 86108 - PropertySignature 86111 86165 - ReadonlyKeyword 86111 86129 - Identifier 86129 86149 - ArrayType 86150 86164 - TypeReference 86150 86162 - Identifier 86150 86162 - PropertySignature 86165 86207 - ReadonlyKeyword 86165 86183 - Identifier 86183 86197 - BooleanKeyword 86198 86206 - InterfaceDeclaration 86214 86454 - Identifier 86229 86251 - PropertySignature 86253 86294 - ReadonlyKeyword 86253 86271 - Identifier 86271 86281 - TypeReference 86282 86293 - Identifier 86282 86293 - PropertySignature 86294 86336 - ReadonlyKeyword 86294 86312 - Identifier 86312 86323 - TypeReference 86324 86335 - Identifier 86324 86335 - PropertySignature 86336 86447 - ReadonlyKeyword 86336 86390 - Identifier 86390 86409 - TypeReference 86410 86446 - Identifier 86410 86414 - StringKeyword 86415 86421 - TypeReference 86422 86445 - Identifier 86422 86445 - VariableStatement 86454 86584 - VariableDeclarationList 86454 86583 - VariableDeclaration 86513 86583 - Identifier 86513 86535 - UnionType 86536 86583 - TypeReference 86536 86571 - Identifier 86536 86540 - StringKeyword 86541 86547 - TypeReference 86548 86570 - Identifier 86548 86570 - UndefinedKeyword 86573 86583 - VariableStatement 86584 86651 - VariableDeclarationList 86584 86650 - VariableDeclaration 86593 86650 - Identifier 86593 86612 - NewExpression 86614 86650 - Identifier 86618 86622 - StringKeyword 86623 86629 - UnionType 86630 86647 - TypeReference 86630 86635 - Identifier 86630 86635 - UndefinedKeyword 86637 86647 - VariableStatement 86651 86729 - VariableDeclarationList 86651 86728 - VariableDeclaration 86660 86728 - Identifier 86660 86690 - NewExpression 86692 86728 - Identifier 86696 86700 - StringKeyword 86701 86707 - UnionType 86708 86725 - TypeReference 86708 86713 - Identifier 86708 86713 - UndefinedKeyword 86715 86725 - VariableStatement 86729 86781 - VariableDeclarationList 86729 86780 - VariableDeclaration 86738 86780 - Identifier 86738 86758 - UnionType 86759 86780 - ArrayType 86759 86768 - TypeReference 86759 86766 - Identifier 86759 86766 - UndefinedKeyword 86770 86780 - VariableStatement 86781 87092 - VariableDeclarationList 86781 87091 - VariableDeclaration 87045 87091 - Identifier 87045 87067 - ArrayType 87068 87091 - TypeReference 87068 87089 - Identifier 87068 87089 - VariableStatement 87092 87169 - VariableDeclarationList 87092 87168 - VariableDeclaration 87101 87168 - Identifier 87101 87135 - UnionType 87136 87168 - TypeReference 87136 87156 - Identifier 87136 87140 - StringKeyword 87141 87147 - TypeReference 87148 87155 - Identifier 87148 87155 - UndefinedKeyword 87158 87168 - VariableStatement 87169 87210 - VariableDeclarationList 87169 87209 - VariableDeclaration 87180 87209 - Identifier 87180 87197 - TypeReference 87198 87209 - Identifier 87198 87209 - VariableStatement 87210 87251 - VariableDeclarationList 87210 87250 - VariableDeclaration 87219 87250 - Identifier 87219 87238 - TypeReference 87239 87250 - Identifier 87239 87250 - VariableStatement 87251 87300 - VariableDeclarationList 87251 87299 - VariableDeclaration 87260 87299 - Identifier 87260 87287 - TypeReference 87288 87299 - Identifier 87288 87299 - VariableStatement 87300 87348 - VariableDeclarationList 87300 87347 - VariableDeclaration 87309 87347 - Identifier 87309 87335 - TypeReference 87336 87347 - Identifier 87336 87347 - VariableStatement 87348 87387 - VariableDeclarationList 87348 87386 - VariableDeclaration 87357 87386 - Identifier 87357 87373 - TypeReference 87374 87386 - Identifier 87374 87386 - VariableStatement 87387 87434 - VariableDeclarationList 87387 87433 - VariableDeclaration 87396 87433 - Identifier 87396 87420 - TypeReference 87421 87433 - Identifier 87421 87433 - VariableStatement 87434 87473 - VariableDeclarationList 87434 87472 - VariableDeclaration 87443 87472 - Identifier 87443 87460 - TypeReference 87461 87472 - Identifier 87461 87472 - VariableStatement 87473 87512 - VariableDeclarationList 87473 87511 - VariableDeclaration 87482 87511 - Identifier 87482 87499 - TypeReference 87500 87511 - Identifier 87500 87511 - VariableStatement 87512 87552 - VariableDeclarationList 87512 87551 - VariableDeclaration 87521 87551 - Identifier 87521 87539 - TypeReference 87540 87551 - Identifier 87540 87551 - VariableStatement 87552 87591 - VariableDeclarationList 87552 87590 - VariableDeclaration 87561 87590 - Identifier 87561 87578 - TypeReference 87579 87590 - Identifier 87579 87590 - VariableStatement 87591 87629 - VariableDeclarationList 87591 87628 - VariableDeclaration 87600 87628 - Identifier 87600 87615 - TypeReference 87616 87628 - Identifier 87616 87628 - VariableStatement 87629 87658 - VariableDeclarationList 87629 87657 - VariableDeclaration 87638 87657 - Identifier 87638 87651 - TypeReference 87652 87657 - Identifier 87652 87657 - VariableStatement 87658 87688 - VariableDeclarationList 87658 87687 - VariableDeclaration 87667 87687 - Identifier 87667 87681 - TypeReference 87682 87687 - Identifier 87682 87687 - VariableStatement 87688 87725 - VariableDeclarationList 87688 87724 - VariableDeclaration 87697 87724 - Identifier 87697 87718 - TypeReference 87719 87724 - Identifier 87719 87724 - VariableStatement 87725 87778 - VariableDeclarationList 87725 87777 - VariableDeclaration 87734 87777 - Identifier 87734 87769 - TypeReference 87770 87777 - Identifier 87770 87777 - VariableStatement 87778 88085 - VariableDeclarationList 87778 88084 - VariableDeclaration 88024 88084 - Identifier 88024 88064 - UnionType 88065 88084 - TypeReference 88065 88072 - Identifier 88065 88072 - UndefinedKeyword 88074 88084 - VariableStatement 88085 88159 - VariableDeclarationList 88085 88158 - VariableDeclaration 88094 88158 - Identifier 88094 88138 - UnionType 88139 88158 - TypeReference 88139 88146 - Identifier 88139 88146 - UndefinedKeyword 88148 88158 - VariableStatement 88159 88220 - VariableDeclarationList 88159 88219 - VariableDeclaration 88168 88219 - Identifier 88168 88195 - UnionType 88196 88219 - TypeReference 88196 88207 - Identifier 88196 88207 - UndefinedKeyword 88209 88219 - VariableStatement 88220 88285 - VariableDeclarationList 88220 88284 - VariableDeclaration 88229 88284 - Identifier 88229 88271 - TypeReference 88272 88284 - Identifier 88272 88284 - VariableStatement 88285 88346 - VariableDeclarationList 88285 88345 - VariableDeclaration 88294 88345 - Identifier 88294 88320 - UnionType 88321 88345 - TypeReference 88321 88333 - Identifier 88321 88333 - UndefinedKeyword 88335 88345 - VariableStatement 88346 88411 - VariableDeclarationList 88346 88410 - VariableDeclaration 88355 88410 - Identifier 88355 88385 - UnionType 88386 88410 - TypeReference 88386 88398 - Identifier 88386 88398 - UndefinedKeyword 88400 88410 - VariableStatement 88411 88480 - VariableDeclarationList 88411 88479 - VariableDeclaration 88420 88479 - Identifier 88420 88459 - UnionType 88460 88479 - TypeReference 88460 88467 - Identifier 88460 88467 - UndefinedKeyword 88469 88479 - VariableStatement 88480 88555 - VariableDeclarationList 88480 88554 - VariableDeclaration 88489 88554 - Identifier 88489 88530 - UnionType 88531 88554 - TypeReference 88531 88542 - Identifier 88531 88542 - UndefinedKeyword 88544 88554 - VariableStatement 88555 88617 - VariableDeclarationList 88555 88616 - VariableDeclaration 88564 88616 - Identifier 88564 88591 - UnionType 88592 88616 - TypeReference 88592 88604 - Identifier 88592 88604 - UndefinedKeyword 88606 88616 - VariableStatement 88617 88679 - VariableDeclarationList 88617 88678 - VariableDeclaration 88626 88678 - Identifier 88626 88653 - UnionType 88654 88678 - TypeReference 88654 88666 - Identifier 88654 88666 - UndefinedKeyword 88668 88678 - VariableStatement 88679 88749 - VariableDeclarationList 88679 88748 - VariableDeclaration 88688 88748 - Identifier 88688 88723 - UnionType 88724 88748 - TypeReference 88724 88736 - Identifier 88724 88736 - UndefinedKeyword 88738 88748 - VariableStatement 88749 88817 - VariableDeclarationList 88749 88816 - VariableDeclaration 88758 88816 - Identifier 88758 88791 - UnionType 88792 88816 - TypeReference 88792 88804 - Identifier 88792 88804 - UndefinedKeyword 88806 88816 - VariableStatement 88817 88880 - VariableDeclarationList 88817 88879 - VariableDeclaration 88826 88879 - Identifier 88826 88854 - UnionType 88855 88879 - TypeReference 88855 88867 - Identifier 88855 88867 - UndefinedKeyword 88869 88879 - VariableStatement 88880 88953 - VariableDeclarationList 88880 88952 - VariableDeclaration 88889 88952 - Identifier 88889 88927 - UnionType 88928 88952 - TypeReference 88928 88940 - Identifier 88928 88940 - UndefinedKeyword 88942 88952 - VariableStatement 88953 89027 - VariableDeclarationList 88953 89026 - VariableDeclaration 88962 89026 - Identifier 88962 89001 - UnionType 89002 89026 - TypeReference 89002 89014 - Identifier 89002 89014 - UndefinedKeyword 89016 89026 - VariableStatement 89027 89094 - VariableDeclarationList 89027 89093 - VariableDeclaration 89036 89093 - Identifier 89036 89068 - UnionType 89069 89093 - TypeReference 89069 89081 - Identifier 89069 89081 - UndefinedKeyword 89083 89093 - VariableStatement 89094 89161 - VariableDeclarationList 89094 89160 - VariableDeclaration 89103 89160 - Identifier 89103 89135 - UnionType 89136 89160 - TypeReference 89136 89148 - Identifier 89136 89148 - UndefinedKeyword 89150 89160 - VariableStatement 89161 89236 - VariableDeclarationList 89161 89235 - VariableDeclaration 89170 89235 - Identifier 89170 89210 - UnionType 89211 89235 - TypeReference 89211 89223 - Identifier 89211 89223 - UndefinedKeyword 89225 89235 - VariableStatement 89236 89317 - VariableDeclarationList 89236 89316 - VariableDeclaration 89245 89316 - Identifier 89245 89280 - UnionType 89281 89316 - TypeOperator 89281 89304 - ArrayType 89290 89304 - TypeReference 89290 89302 - Identifier 89290 89302 - UndefinedKeyword 89306 89316 - VariableStatement 89317 89403 - VariableDeclarationList 89317 89402 - VariableDeclaration 89326 89402 - Identifier 89326 89366 - UnionType 89367 89402 - TypeOperator 89367 89390 - ArrayType 89376 89390 - TypeReference 89376 89388 - Identifier 89376 89388 - UndefinedKeyword 89392 89402 - VariableStatement 89403 89476 - VariableDeclarationList 89403 89475 - VariableDeclaration 89412 89475 - Identifier 89412 89450 - UnionType 89451 89475 - TypeReference 89451 89463 - Identifier 89451 89463 - UndefinedKeyword 89465 89475 - VariableStatement 89476 89544 - VariableDeclarationList 89476 89543 - VariableDeclaration 89485 89543 - Identifier 89485 89518 - UnionType 89519 89543 - TypeReference 89519 89531 - Identifier 89519 89531 - UndefinedKeyword 89533 89543 - VariableStatement 89544 89617 - VariableDeclarationList 89544 89616 - VariableDeclaration 89553 89616 - Identifier 89553 89592 - UnionType 89593 89616 - TypeReference 89593 89604 - Identifier 89593 89604 - UndefinedKeyword 89606 89616 - VariableStatement 89617 89668 - VariableDeclarationList 89617 89667 - VariableDeclaration 89626 89667 - Identifier 89626 89655 - TypeReference 89656 89667 - Identifier 89656 89667 - VariableStatement 89668 89729 - VariableDeclarationList 89668 89728 - VariableDeclaration 89677 89728 - Identifier 89677 89716 - TypeReference 89717 89728 - Identifier 89717 89728 - VariableStatement 89729 89799 - VariableDeclarationList 89729 89798 - VariableDeclaration 89738 89798 - Identifier 89738 89774 - UnionType 89775 89798 - TypeReference 89775 89786 - Identifier 89775 89786 - UndefinedKeyword 89788 89798 - VariableStatement 89799 89868 - VariableDeclarationList 89799 89867 - VariableDeclaration 89808 89867 - Identifier 89808 89843 - UnionType 89844 89867 - TypeReference 89844 89855 - Identifier 89844 89855 - UndefinedKeyword 89857 89867 - VariableStatement 89868 89931 - VariableDeclarationList 89868 89930 - VariableDeclaration 89877 89930 - Identifier 89877 89906 - UnionType 89907 89930 - TypeReference 89907 89918 - Identifier 89907 89918 - UndefinedKeyword 89920 89930 - VariableStatement 89931 89999 - VariableDeclarationList 89931 89998 - VariableDeclaration 89940 89998 - Identifier 89940 89974 - UnionType 89975 89998 - TypeReference 89975 89986 - Identifier 89975 89986 - UndefinedKeyword 89988 89998 - VariableStatement 89999 90057 - VariableDeclarationList 89999 90056 - VariableDeclaration 90008 90056 - Identifier 90008 90036 - UnionType 90037 90056 - TypeReference 90037 90044 - Identifier 90037 90044 - UndefinedKeyword 90046 90056 - VariableStatement 90057 90112 - VariableDeclarationList 90057 90111 - VariableDeclaration 90066 90111 - Identifier 90066 90091 - UnionType 90092 90111 - TypeReference 90092 90099 - Identifier 90092 90099 - UndefinedKeyword 90101 90111 - VariableStatement 90112 90170 - VariableDeclarationList 90112 90169 - VariableDeclaration 90121 90169 - Identifier 90121 90149 - UnionType 90150 90169 - TypeReference 90150 90157 - Identifier 90150 90157 - UndefinedKeyword 90159 90169 - VariableStatement 90170 90229 - VariableDeclarationList 90170 90228 - VariableDeclaration 90179 90228 - Identifier 90179 90204 - UnionType 90205 90228 - TypeReference 90205 90216 - Identifier 90205 90216 - UndefinedKeyword 90218 90228 - VariableStatement 90229 90283 - VariableDeclarationList 90229 90282 - VariableDeclaration 90238 90282 - Identifier 90238 90262 - UnionType 90263 90282 - TypeReference 90263 90270 - Identifier 90263 90270 - UndefinedKeyword 90272 90282 - VariableStatement 90283 90340 - VariableDeclarationList 90283 90339 - VariableDeclaration 90292 90339 - Identifier 90292 90319 - UnionType 90320 90339 - TypeReference 90320 90327 - Identifier 90320 90327 - UndefinedKeyword 90329 90339 - VariableStatement 90340 90415 - VariableDeclarationList 90340 90414 - VariableDeclaration 90349 90414 - Identifier 90349 90389 - UnionType 90390 90414 - TypeReference 90390 90402 - Identifier 90390 90402 - UndefinedKeyword 90404 90414 - VariableStatement 90415 90496 - VariableDeclarationList 90415 90495 - VariableDeclaration 90424 90495 - Identifier 90424 90470 - UnionType 90471 90495 - TypeReference 90471 90483 - Identifier 90471 90483 - UndefinedKeyword 90485 90495 - VariableStatement 90496 90577 - VariableDeclarationList 90496 90576 - VariableDeclaration 90505 90576 - Identifier 90505 90551 - UnionType 90552 90576 - TypeReference 90552 90564 - Identifier 90552 90564 - UndefinedKeyword 90566 90576 - VariableStatement 90577 90658 - VariableDeclarationList 90577 90657 - VariableDeclaration 90586 90657 - Identifier 90586 90632 - UnionType 90633 90657 - TypeReference 90633 90645 - Identifier 90633 90645 - UndefinedKeyword 90647 90657 - VariableStatement 90658 90741 - VariableDeclarationList 90658 90740 - VariableDeclaration 90667 90740 - Identifier 90667 90715 - UnionType 90716 90740 - TypeReference 90716 90728 - Identifier 90716 90728 - UndefinedKeyword 90730 90740 - VariableStatement 90741 90823 - VariableDeclarationList 90741 90822 - VariableDeclaration 90750 90822 - Identifier 90750 90797 - UnionType 90798 90822 - TypeReference 90798 90810 - Identifier 90798 90810 - UndefinedKeyword 90812 90822 - VariableStatement 90823 90905 - VariableDeclarationList 90823 90904 - VariableDeclaration 90832 90904 - Identifier 90832 90879 - UnionType 90880 90904 - TypeReference 90880 90892 - Identifier 90880 90892 - UndefinedKeyword 90894 90904 - VariableStatement 90905 90985 - VariableDeclarationList 90905 90984 - VariableDeclaration 90914 90984 - Identifier 90914 90959 - UnionType 90960 90984 - TypeReference 90960 90972 - Identifier 90960 90972 - UndefinedKeyword 90974 90984 - VariableStatement 90985 91078 - VariableDeclarationList 90985 91077 - VariableDeclaration 90996 91077 - Identifier 90996 91028 - NewExpression 91030 91077 - Identifier 91034 91038 - TypeReference 91039 91043 - Identifier 91039 91043 - ArrayType 91044 91074 - TypeReference 91044 91072 - Identifier 91044 91072 - VariableStatement 91078 91128 - VariableDeclarationList 91078 91127 - VariableDeclaration 91109 91127 - Identifier 91109 91123 - NumericLiteral 91125 91127 - VariableStatement 91128 91156 - VariableDeclarationList 91128 91155 - VariableDeclaration 91137 91155 - Identifier 91137 91151 - NumericLiteral 91153 91155 - VariableStatement 91156 91186 - VariableDeclarationList 91156 91185 - VariableDeclaration 91165 91185 - Identifier 91165 91181 - NumericLiteral 91183 91185 - VariableStatement 91186 91225 - VariableDeclarationList 91186 91224 - VariableDeclaration 91195 91224 - Identifier 91195 91216 - FalseKeyword 91218 91224 - VariableStatement 91225 91259 - VariableDeclarationList 91225 91258 - VariableDeclaration 91234 91258 - Identifier 91234 91254 - NumericLiteral 91256 91258 - VariableStatement 91259 91304 - VariableDeclarationList 91259 91303 - VariableDeclaration 91268 91303 - Identifier 91268 91281 - UnionType 91282 91303 - TypeReference 91282 91291 - Identifier 91282 91291 - UndefinedKeyword 91293 91303 - VariableStatement 91304 91345 - VariableDeclarationList 91304 91344 - VariableDeclaration 91313 91344 - Identifier 91313 91335 - BooleanKeyword 91336 91344 - VariableStatement 91345 91389 - VariableDeclarationList 91345 91388 - VariableDeclaration 91354 91388 - Identifier 91354 91368 - UnionType 91369 91388 - ArrayType 91369 91376 - TypeReference 91369 91374 - Identifier 91369 91374 - UndefinedKeyword 91378 91388 - VariableStatement 91389 91434 - VariableDeclarationList 91389 91433 - VariableDeclaration 91400 91433 - Identifier 91400 91420 - ArrayType 91421 91428 - TypeReference 91421 91426 - Identifier 91421 91426 - ArrayLiteralExpression 91430 91433 - VariableStatement 91434 91487 - VariableDeclarationList 91434 91486 - VariableDeclaration 91443 91486 - Identifier 91443 91459 - ArrayType 91460 91481 - ParenthesizedType 91460 91479 - UnionType 91462 91478 - TypeReference 91462 91466 - Identifier 91462 91466 - UndefinedKeyword 91468 91478 - ArrayLiteralExpression 91483 91486 - VariableStatement 91487 91531 - VariableDeclarationList 91487 91530 - VariableDeclaration 91496 91530 - Identifier 91496 91514 - ArrayType 91515 91525 - BooleanKeyword 91515 91523 - ArrayLiteralExpression 91527 91530 - VariableStatement 91531 91565 - VariableDeclarationList 91531 91564 - VariableDeclaration 91540 91564 - Identifier 91540 91560 - NumericLiteral 91562 91564 - VariableStatement 91565 91624 - VariableDeclarationList 91565 91623 - VariableDeclaration 91574 91623 - Identifier 91574 91600 - ArrayType 91601 91618 - TypeReference 91601 91616 - Identifier 91601 91616 - ArrayLiteralExpression 91620 91623 - VariableStatement 91624 91671 - VariableDeclarationList 91624 91670 - VariableDeclaration 91635 91670 - Identifier 91635 91657 - ArrayType 91658 91665 - TypeReference 91658 91663 - Identifier 91658 91663 - ArrayLiteralExpression 91667 91670 - VariableStatement 91671 91738 - VariableDeclarationList 91671 91737 - VariableDeclaration 91680 91737 - Identifier 91680 91698 - ArrayType 91699 91732 - ParenthesizedType 91699 91730 - UnionType 91701 91729 - TypeReference 91701 91717 - Identifier 91701 91717 - UndefinedKeyword 91719 91729 - ArrayLiteralExpression 91734 91737 - VariableStatement 91738 91774 - VariableDeclarationList 91738 91773 - VariableDeclaration 91747 91773 - Identifier 91747 91769 - NumericLiteral 91771 91773 - VariableStatement 91774 91829 - VariableDeclarationList 91774 91828 - VariableDeclaration 91785 91828 - Identifier 91785 91801 - CallExpression 91803 91828 - Identifier 91803 91824 - StringLiteral 91825 91827 - VariableStatement 91829 91874 - VariableDeclarationList 91829 91873 - VariableDeclaration 91838 91873 - Identifier 91838 91847 - CallExpression 91849 91873 - Identifier 91849 91870 - NumericLiteral 91871 91872 - VariableStatement 91874 91961 - VariableDeclarationList 91874 91960 - VariableDeclaration 91883 91960 - Identifier 91883 91898 - CallExpression 91900 91960 - Identifier 91900 91921 - ObjectLiteralExpression 91922 91959 - PropertyAssignment 91923 91939 - Identifier 91923 91932 - FalseKeyword 91933 91939 - PropertyAssignment 91940 91957 - Identifier 91940 91952 - StringLiteral 91953 91957 - VariableStatement 91961 92016 - VariableDeclarationList 91961 92015 - VariableDeclaration 91972 92015 - Identifier 91972 91990 - ArrayType 91991 92010 - TypeReference 91991 92008 - Identifier 91991 92008 - ArrayLiteralExpression 92012 92015 - VariableStatement 92016 92060 - VariableDeclarationList 92016 92059 - VariableDeclaration 92025 92059 - Identifier 92025 92043 - ArrayType 92044 92054 - BooleanKeyword 92044 92052 - ArrayLiteralExpression 92056 92059 - VariableStatement 92060 92125 - VariableDeclarationList 92060 92124 - VariableDeclaration 92069 92124 - Identifier 92069 92093 - ArrayType 92094 92119 - TypeReference 92094 92117 - Identifier 92094 92117 - ArrayLiteralExpression 92121 92124 - VariableStatement 92125 92155 - VariableDeclarationList 92125 92154 - VariableDeclaration 92134 92154 - Identifier 92134 92150 - NumericLiteral 92152 92154 - VariableStatement 92155 92195 - VariableDeclarationList 92155 92194 - VariableDeclaration 92164 92194 - Identifier 92164 92186 - FalseKeyword 92188 92194 - VariableStatement 92195 92227 - VariableDeclarationList 92195 92226 - VariableDeclaration 92206 92226 - Identifier 92206 92222 - NumericLiteral 92224 92226 - VariableStatement 92227 92265 - VariableDeclarationList 92227 92264 - VariableDeclaration 92236 92264 - Identifier 92236 92259 - NumericLiteral 92261 92264 - VariableStatement 92265 92304 - VariableDeclarationList 92265 92303 - VariableDeclaration 92274 92303 - Identifier 92274 92288 - ArrayType 92289 92298 - TypeReference 92289 92296 - Identifier 92289 92296 - ArrayLiteralExpression 92300 92303 - VariableStatement 92304 92346 - VariableDeclarationList 92304 92345 - VariableDeclaration 92313 92345 - Identifier 92313 92325 - ArrayType 92326 92340 - TypeReference 92326 92338 - Identifier 92326 92338 - ArrayLiteralExpression 92342 92345 - VariableStatement 92346 92384 - VariableDeclarationList 92346 92383 - VariableDeclaration 92355 92383 - Identifier 92355 92365 - ArrayType 92366 92378 - TypeReference 92366 92376 - Identifier 92366 92376 - ArrayLiteralExpression 92380 92383 - VariableStatement 92384 92435 - VariableDeclarationList 92384 92434 - VariableDeclaration 92393 92434 - Identifier 92393 92408 - ArrayType 92409 92429 - TypeReference 92409 92427 - Identifier 92409 92413 - StringKeyword 92414 92420 - TypeReference 92421 92426 - Identifier 92421 92426 - ArrayLiteralExpression 92431 92434 - VariableStatement 92435 92476 - VariableDeclarationList 92435 92475 - VariableDeclaration 92444 92475 - Identifier 92444 92458 - ArrayType 92459 92470 - TypeReference 92459 92468 - Identifier 92459 92468 - ArrayLiteralExpression 92472 92475 - VariableStatement 92476 92514 - VariableDeclarationList 92476 92513 - VariableDeclaration 92485 92513 - Identifier 92485 92498 - ArrayType 92499 92508 - StringKeyword 92499 92506 - ArrayLiteralExpression 92510 92513 - VariableStatement 92514 92553 - VariableDeclarationList 92514 92552 - VariableDeclaration 92523 92552 - Identifier 92523 92537 - ArrayType 92538 92547 - ArrayType 92538 92545 - TypeReference 92538 92543 - Identifier 92538 92543 - ArrayLiteralExpression 92549 92552 - VariableStatement 92553 92596 - VariableDeclarationList 92553 92595 - VariableDeclaration 92562 92595 - Identifier 92562 92578 - ArrayType 92579 92590 - TypeReference 92579 92588 - Identifier 92579 92588 - ArrayLiteralExpression 92592 92595 - VariableStatement 92596 92639 - VariableDeclarationList 92596 92638 - VariableDeclaration 92605 92638 - Identifier 92605 92621 - ArrayType 92622 92633 - TypeReference 92622 92631 - Identifier 92622 92631 - ArrayLiteralExpression 92635 92638 - VariableStatement 92639 92697 - VariableDeclarationList 92639 92696 - VariableDeclaration 92648 92696 - Identifier 92648 92666 - ArrayType 92667 92691 - ParenthesizedType 92667 92689 - UnionType 92669 92688 - BooleanKeyword 92669 92676 - UndefinedKeyword 92678 92688 - ArrayLiteralExpression 92693 92696 - VariableStatement 92697 92755 - VariableDeclarationList 92697 92754 - VariableDeclaration 92706 92754 - Identifier 92706 92724 - ArrayType 92725 92749 - ParenthesizedType 92725 92747 - UnionType 92727 92746 - BooleanKeyword 92727 92734 - UndefinedKeyword 92736 92746 - ArrayLiteralExpression 92751 92754 - VariableStatement 92755 92802 - VariableDeclarationList 92755 92801 - VariableDeclaration 92764 92801 - Identifier 92764 92788 - ArrayType 92789 92796 - TypeReference 92789 92794 - Identifier 92789 92794 - ArrayLiteralExpression 92798 92801 - VariableStatement 92802 92854 - VariableDeclarationList 92802 92853 - VariableDeclaration 92811 92853 - Identifier 92811 92840 - ArrayType 92841 92848 - TypeReference 92841 92846 - Identifier 92841 92846 - ArrayLiteralExpression 92850 92853 - VariableStatement 92854 92907 - VariableDeclarationList 92854 92906 - VariableDeclaration 92863 92906 - Identifier 92863 92893 - ArrayType 92894 92901 - TypeReference 92894 92899 - Identifier 92894 92899 - ArrayLiteralExpression 92903 92906 - VariableStatement 92907 92957 - VariableDeclarationList 92907 92956 - VariableDeclaration 92916 92956 - Identifier 92916 92943 - ArrayType 92944 92951 - TypeReference 92944 92949 - Identifier 92944 92949 - ArrayLiteralExpression 92953 92956 - VariableStatement 92957 93035 - VariableDeclarationList 92957 93034 - VariableDeclaration 92966 93034 - Identifier 92966 93011 - ArrayType 93012 93029 - TypeReference 93012 93027 - Identifier 93012 93027 - ArrayLiteralExpression 93031 93034 - VariableStatement 93035 93077 - VariableDeclarationList 93035 93076 - VariableDeclaration 93044 93076 - Identifier 93044 93061 - ArrayType 93062 93071 - NumberKeyword 93062 93069 - ArrayLiteralExpression 93073 93076 - VariableStatement 93077 93125 - VariableDeclarationList 93077 93124 - VariableDeclaration 93086 93124 - Identifier 93086 93111 - ArrayType 93112 93119 - TypeReference 93112 93117 - Identifier 93112 93117 - ArrayLiteralExpression 93121 93124 - VariableStatement 93125 93173 - VariableDeclarationList 93125 93172 - VariableDeclaration 93134 93172 - Identifier 93134 93159 - ArrayType 93160 93167 - TypeReference 93160 93165 - Identifier 93160 93165 - ArrayLiteralExpression 93169 93172 - VariableStatement 93173 93227 - VariableDeclarationList 93173 93226 - VariableDeclaration 93182 93226 - Identifier 93182 93204 - PropertyAccessExpression 93206 93226 - Identifier 93206 93221 - Identifier 93222 93226 - VariableStatement 93227 93282 - VariableDeclarationList 93227 93281 - VariableDeclaration 93238 93281 - Identifier 93238 93250 - CallExpression 93252 93281 - Identifier 93252 93279 - VariableStatement 93282 93345 - VariableDeclarationList 93282 93344 - VariableDeclaration 93291 93344 - Identifier 93291 93313 - CallExpression 93315 93344 - Identifier 93315 93342 - VariableStatement 93345 93389 - VariableDeclarationList 93345 93388 - VariableDeclaration 93356 93388 - Identifier 93356 93367 - CallExpression 93369 93388 - Identifier 93369 93386 - VariableStatement 93389 93425 - VariableDeclarationList 93389 93424 - VariableDeclaration 93400 93424 - Identifier 93400 93414 - TypeReference 93415 93424 - Identifier 93415 93424 - VariableStatement 93425 93477 - VariableDeclarationList 93425 93476 - VariableDeclaration 93434 93476 - Identifier 93434 93452 - UnionType 93453 93476 - TypeReference 93453 93464 - Identifier 93453 93464 - UndefinedKeyword 93466 93476 - VariableStatement 93477 93551 - VariableDeclarationList 93477 93550 - VariableDeclaration 93488 93550 - Identifier 93488 93504 - NewExpression 93506 93550 - Identifier 93510 93514 - StringKeyword 93515 93521 - TypeReference 93522 93547 - Identifier 93522 93547 - VariableStatement 93551 93629 - VariableDeclarationList 93551 93628 - VariableDeclaration 93560 93628 - Identifier 93560 93582 - NewExpression 93584 93628 - Identifier 93588 93592 - StringKeyword 93593 93599 - TypeReference 93600 93625 - Identifier 93600 93625 - VariableStatement 93629 93704 - VariableDeclarationList 93629 93703 - VariableDeclaration 93638 93703 - Identifier 93638 93657 - NewExpression 93659 93703 - Identifier 93663 93667 - StringKeyword 93668 93674 - TypeReference 93675 93700 - Identifier 93675 93700 - VariableStatement 93704 93779 - VariableDeclarationList 93704 93778 - VariableDeclaration 93713 93778 - Identifier 93713 93732 - NewExpression 93734 93778 - Identifier 93738 93742 - StringKeyword 93743 93749 - TypeReference 93750 93775 - Identifier 93750 93775 - VariableStatement 93779 93852 - VariableDeclarationList 93779 93851 - VariableDeclaration 93788 93851 - Identifier 93788 93805 - NewExpression 93807 93851 - Identifier 93811 93815 - StringKeyword 93816 93822 - TypeReference 93823 93848 - Identifier 93823 93848 - VariableStatement 93852 93921 - VariableDeclarationList 93852 93920 - VariableDeclaration 93861 93920 - Identifier 93861 93874 - NewExpression 93876 93920 - Identifier 93880 93884 - StringKeyword 93885 93891 - TypeReference 93892 93917 - Identifier 93892 93917 - VariableStatement 93921 94626 - VariableDeclarationList 93921 94625 - VariableDeclaration 94282 94625 - Identifier 94282 94302 - ArrayType 94303 94322 - TupleType 94303 94320 - StringKeyword 94305 94311 - StringKeyword 94312 94319 - ArrayLiteralExpression 94324 94625 - ArrayLiteralExpression 94326 94352 - StringLiteral 94337 94343 - StringLiteral 94344 94351 - ArrayLiteralExpression 94353 94377 - StringLiteral 94364 94369 - StringLiteral 94370 94376 - ArrayLiteralExpression 94378 94404 - StringLiteral 94389 94395 - StringLiteral 94396 94403 - ArrayLiteralExpression 94405 94431 - StringLiteral 94416 94422 - StringLiteral 94423 94430 - ArrayLiteralExpression 94432 94456 - StringLiteral 94443 94448 - StringLiteral 94449 94455 - ArrayLiteralExpression 94457 94483 - StringLiteral 94468 94474 - StringLiteral 94475 94482 - ArrayLiteralExpression 94484 94561 - StringLiteral 94495 94501 - ConditionalExpression 94502 94560 - BinaryExpression 94502 94543 - PropertyAccessExpression 94502 94522 - Identifier 94502 94518 - Identifier 94519 94522 - EqualsEqualsEqualsToken 94522 94526 - PropertyAccessExpression 94526 94543 - Identifier 94526 94534 - Identifier 94535 94543 - QuestionToken 94543 94545 - StringLiteral 94545 94552 - ColonToken 94552 94554 - StringLiteral 94554 94560 - ArrayLiteralExpression 94562 94588 - StringLiteral 94573 94579 - StringLiteral 94580 94587 - ArrayLiteralExpression 94589 94617 - StringLiteral 94600 94607 - StringLiteral 94608 94616 - ExpressionStatement 94626 94692 - CallExpression 94626 94691 - Identifier 94626 94689 - ReturnStatement 94692 94715 - Identifier 94706 94714 - FunctionDeclaration 94715 95791 - Identifier 94731 94773 - Parameter 94774 94784 - Identifier 94774 94778 - TypeReference 94779 94784 - Identifier 94779 94784 - BooleanKeyword 94786 94794 - Block 94794 95791 - IfStatement 94796 94858 - PrefixUnaryExpression 94810 94843 - CallExpression 94811 94843 - Identifier 94811 94837 - Identifier 94838 94842 - ReturnStatement 94844 94858 - FalseKeyword 94851 94857 - IfStatement 94858 94911 - PrefixUnaryExpression 94872 94896 - CallExpression 94873 94896 - Identifier 94873 94885 - PropertyAccessExpression 94886 94895 - Identifier 94886 94890 - Identifier 94891 94895 - ReturnStatement 94897 94911 - FalseKeyword 94904 94910 - IfStatement 94911 95018 - BinaryExpression 94925 95003 - PrefixUnaryExpression 94925 94969 - CallExpression 94926 94969 - Identifier 94926 94952 - PropertyAccessExpression 94953 94968 - Identifier 94953 94957 - Identifier 94958 94968 - AmpersandAmpersandToken 94969 94972 - PrefixUnaryExpression 94972 95003 - CallExpression 94974 95003 - Identifier 94974 94986 - PropertyAccessExpression 94987 95002 - Identifier 94987 94991 - Identifier 94992 95002 - ReturnStatement 95004 95018 - FalseKeyword 95011 95017 - IfStatement 95018 95427 - CallExpression 95032 95061 - Identifier 95032 95044 - PropertyAccessExpression 95045 95060 - Identifier 95045 95049 - Identifier 95050 95060 - Block 95062 95427 - ReturnStatement 95064 95416 - BinaryExpression 95208 95415 - BinaryExpression 95208 95245 - CallExpression 95208 95232 - Identifier 95208 95215 - PropertyAccessExpression 95216 95231 - Identifier 95216 95220 - Identifier 95221 95231 - EqualsEqualsEqualsToken 95232 95236 - StringLiteral 95236 95245 - AmpersandAmpersandToken 95245 95248 - BinaryExpression 95248 95415 - CallExpression 95248 95283 - Identifier 95248 95266 - PropertyAccessExpression 95267 95282 - Identifier 95267 95271 - Identifier 95272 95282 - EqualsEqualsEqualsToken 95283 95287 - ParenthesizedExpression 95287 95415 - BinaryExpression 95289 95414 - CallExpression 95289 95397 - Identifier 95289 95304 - AsExpression 95305 95325 - StringLiteral 95305 95313 - TypeReference 95316 95325 - Identifier 95316 95325 - BinaryExpression 95326 95370 - PropertyAccessExpression 95326 95344 - Identifier 95326 95338 - Identifier 95339 95344 - BarToken 95344 95346 - PropertyAccessExpression 95346 95370 - Identifier 95346 95358 - Identifier 95359 95370 - Identifier 95371 95396 - BarBarToken 95397 95400 - Identifier 95400 95414 - IfStatement 95427 95497 - PrefixUnaryExpression 95441 95482 - CallExpression 95442 95482 - Identifier 95442 95454 - PropertyAccessExpression 95455 95481 - PropertyAccessExpression 95455 95470 - Identifier 95455 95459 - Identifier 95460 95470 - Identifier 95471 95481 - ReturnStatement 95483 95497 - FalseKeyword 95490 95496 - ReturnStatement 95497 95784 - BinaryExpression 95616 95783 - BinaryExpression 95616 95713 - BinaryExpression 95616 95658 - CallExpression 95616 95645 - Identifier 95616 95623 - PropertyAccessExpression 95624 95644 - PropertyAccessExpression 95624 95639 - Identifier 95624 95628 - Identifier 95629 95639 - Identifier 95640 95644 - EqualsEqualsEqualsToken 95645 95649 - StringLiteral 95649 95658 - AmpersandAmpersandToken 95658 95661 - BinaryExpression 95661 95713 - CallExpression 95661 95696 - Identifier 95661 95668 - PropertyAccessExpression 95669 95695 - PropertyAccessExpression 95669 95684 - Identifier 95669 95673 - Identifier 95674 95684 - Identifier 95685 95695 - EqualsEqualsEqualsToken 95696 95700 - StringLiteral 95700 95713 - AmpersandAmpersandToken 95713 95716 - BinaryExpression 95716 95783 - CallExpression 95716 95762 - Identifier 95716 95734 - PropertyAccessExpression 95735 95761 - PropertyAccessExpression 95735 95750 - Identifier 95735 95739 - Identifier 95740 95750 - Identifier 95751 95761 - EqualsEqualsEqualsToken 95762 95766 - Identifier 95766 95783 - FunctionDeclaration 95791 95911 - Identifier 95807 95821 - Parameter 95822 95845 - Identifier 95822 95825 - UnionType 95826 95845 - StringKeyword 95826 95833 - UndefinedKeyword 95835 95845 - Block 95846 95911 - ReturnStatement 95848 95904 - ConditionalExpression 95864 95903 - Identifier 95864 95868 - QuestionToken 95868 95870 - CallExpression 95870 95891 - PropertyAccessExpression 95870 95886 - Identifier 95870 95882 - Identifier 95883 95886 - Identifier 95887 95890 - ColonToken 95891 95893 - Identifier 95893 95903 - FunctionDeclaration 95911 96055 - Identifier 95927 95941 - Parameter 95942 95965 - Identifier 95942 95945 - UnionType 95946 95965 - StringKeyword 95946 95953 - UndefinedKeyword 95955 95965 - Parameter 95966 95977 - Identifier 95966 95971 - TypeReference 95972 95977 - Identifier 95972 95977 - Block 95978 96055 - IfStatement 95980 96026 - Identifier 95994 95997 - ExpressionStatement 95998 96026 - CallExpression 95998 96025 - PropertyAccessExpression 95998 96014 - Identifier 95998 96010 - Identifier 96011 96014 - Identifier 96015 96018 - Identifier 96019 96024 - ReturnStatement 96026 96048 - Identifier 96042 96047 - FunctionDeclaration 96055 98621 - Identifier 96071 96087 - Parameter 96088 96114 - Identifier 96088 96096 - UnionType 96097 96114 - TypeReference 96097 96102 - Identifier 96097 96102 - UndefinedKeyword 96104 96114 - TypeReference 96116 96125 - Identifier 96116 96125 - Block 96125 98621 - IfStatement 96127 97753 - Identifier 96141 96149 - Block 96150 97753 - VariableStatement 96152 96209 - VariableDeclarationList 96152 96208 - VariableDeclaration 96171 96208 - Identifier 96171 96176 - CallExpression 96178 96208 - Identifier 96178 96198 - Identifier 96199 96207 - IfStatement 96209 97742 - Identifier 96227 96231 - Block 96232 97742 - IfStatement 96234 97727 - CallExpression 96256 96286 - Identifier 96256 96276 - Identifier 96277 96285 - Block 96287 97464 - IfStatement 96289 96435 - PropertyAccessExpression 96315 96345 - Identifier 96315 96319 - Identifier 96320 96345 - Block 96346 96435 - ReturnStatement 96348 96412 - PropertyAccessExpression 96380 96411 - Identifier 96380 96385 - Identifier 96386 96411 - VariableStatement 96435 96511 - VariableDeclarationList 96435 96510 - VariableDeclaration 96462 96510 - Identifier 96462 96480 - CallExpression 96482 96510 - PropertyAccessExpression 96482 96499 - PropertyAccessExpression 96482 96495 - Identifier 96482 96487 - Identifier 96488 96495 - Identifier 96496 96499 - StringLiteral 96500 96509 - IfStatement 96511 97143 - Identifier 96537 96554 - Block 96555 97143 - VariableStatement 96557 96674 - VariableDeclarationList 96557 96673 - VariableDeclaration 96588 96673 - Identifier 96588 96601 - ConditionalExpression 96603 96673 - CallExpression 96603 96630 - Identifier 96603 96611 - Identifier 96612 96629 - QuestionToken 96630 96632 - ElementAccessExpression 96632 96653 - Identifier 96632 96650 - NumericLiteral 96651 96652 - ColonToken 96653 96655 - Identifier 96655 96673 - ExpressionStatement 96674 96804 - BinaryExpression 96674 96803 - PropertyAccessExpression 96674 96728 - Identifier 96674 96704 - Identifier 96705 96728 - EqualsToken 96728 96730 - CallExpression 96730 96803 - Identifier 96730 96754 - PropertyAccessExpression 96755 96785 - PropertyAccessExpression 96755 96777 - Identifier 96755 96767 - Identifier 96768 96777 - Identifier 96778 96785 - Identifier 96786 96802 - ExpressionStatement 96804 96901 - CallExpression 96804 96900 - Identifier 96804 96839 - PropertyAccessExpression 96840 96868 - Identifier 96840 96844 - Identifier 96845 96868 - Identifier 96869 96885 - Identifier 96886 96899 - IfStatement 96901 97120 - PropertyAccessExpression 96931 96959 - Identifier 96931 96935 - Identifier 96936 96959 - Block 96960 97120 - ReturnStatement 96962 97093 - BinaryExpression 96998 97092 - PropertyAccessExpression 96998 97029 - Identifier 96998 97003 - Identifier 97004 97029 - EqualsToken 97029 97031 - PropertyAccessExpression 97031 97092 - CallExpression 97031 97080 - Identifier 97031 97050 - PropertyAccessExpression 97051 97079 - Identifier 97051 97055 - Identifier 97056 97079 - Identifier 97081 97092 - VariableStatement 97143 97218 - VariableDeclarationList 97143 97217 - VariableDeclaration 97170 97217 - Identifier 97170 97177 - CallExpression 97179 97217 - Identifier 97179 97207 - Identifier 97208 97216 - IfStatement 97218 97445 - Identifier 97244 97250 - Block 97251 97445 - ExpressionStatement 97253 97317 - BinaryExpression 97253 97316 - PropertyAccessExpression 97253 97307 - Identifier 97253 97283 - Identifier 97284 97307 - EqualsToken 97307 97309 - Identifier 97309 97316 - ReturnStatement 97317 97422 - BinaryExpression 97349 97421 - PropertyAccessExpression 97349 97380 - Identifier 97349 97354 - Identifier 97355 97380 - EqualsToken 97380 97382 - PropertyAccessExpression 97382 97421 - CallExpression 97382 97409 - Identifier 97382 97401 - Identifier 97402 97408 - Identifier 97410 97421 - Block 97486 97727 - VariableStatement 97488 97563 - VariableDeclarationList 97488 97562 - VariableDeclaration 97515 97562 - Identifier 97515 97533 - CallExpression 97535 97562 - Identifier 97535 97556 - Identifier 97557 97561 - IfStatement 97563 97708 - Identifier 97589 97606 - Block 97607 97708 - ReturnStatement 97609 97685 - BinaryExpression 97641 97684 - PropertyAccessExpression 97641 97664 - Identifier 97641 97646 - Identifier 97647 97664 - EqualsToken 97664 97666 - Identifier 97666 97684 - IfStatement 97753 98389 - PrefixUnaryExpression 97767 97781 - Identifier 97768 97781 - Block 97782 98389 - ExpressionStatement 97784 97834 - BinaryExpression 97784 97833 - Identifier 97784 97811 - EqualsToken 97811 97813 - AsExpression 97813 97833 - StringLiteral 97813 97821 - TypeReference 97824 97833 - Identifier 97824 97833 - IfStatement 97834 98378 - PropertyAccessExpression 97852 97878 - Identifier 97852 97867 - Identifier 97868 97878 - Block 97879 98216 - ExpressionStatement 97881 97988 - BinaryExpression 97881 97987 - Identifier 97881 97916 - EqualsToken 97916 97918 - CallExpression 97918 97987 - Identifier 97918 97942 - PropertyAccessExpression 97943 97969 - Identifier 97943 97958 - Identifier 97959 97969 - Identifier 97970 97986 - ExpressionStatement 97988 98052 - CallExpression 97988 98051 - Identifier 97988 98015 - Identifier 98016 98033 - Identifier 98034 98050 - IfStatement 98052 98201 - Identifier 98074 98091 - Block 98092 98201 - ExpressionStatement 98094 98182 - BinaryExpression 98094 98181 - Identifier 98094 98129 - EqualsToken 98129 98131 - PropertyAccessExpression 98131 98181 - CallExpression 98131 98169 - Identifier 98131 98150 - Identifier 98151 98168 - Identifier 98170 98181 - IfStatement 98234 98378 - PropertyAccessExpression 98239 98269 - Identifier 98239 98254 - Identifier 98255 98269 - Block 98270 98378 - ExpressionStatement 98272 98363 - BinaryExpression 98272 98362 - Identifier 98272 98303 - EqualsToken 98303 98305 - CallExpression 98305 98362 - Identifier 98305 98330 - PropertyAccessExpression 98331 98361 - Identifier 98331 98346 - Identifier 98347 98361 - IfStatement 98389 98583 - PrefixUnaryExpression 98403 98421 - Identifier 98404 98421 - Block 98422 98583 - ExpressionStatement 98424 98572 - BinaryExpression 98424 98571 - Identifier 98424 98455 - EqualsToken 98455 98457 - CallExpression 98457 98571 - PropertyAccessExpression 98457 98485 - Identifier 98457 98465 - Identifier 98466 98485 - CallExpression 98486 98553 - PropertyAccessExpression 98486 98510 - Identifier 98486 98493 - Identifier 98494 98510 - CallExpression 98511 98552 - Identifier 98511 98537 - Identifier 98538 98551 - StringLiteral 98554 98570 - ReturnStatement 98583 98614 - Identifier 98599 98613 - FunctionDeclaration 98621 99317 - Identifier 98637 98658 - Parameter 98659 98675 - Identifier 98659 98663 - TypeReference 98664 98675 - Identifier 98664 98675 - UnionType 98677 98698 - TypeReference 98677 98686 - Identifier 98677 98686 - UndefinedKeyword 98688 98698 - Block 98698 99317 - IfStatement 98700 98794 - PropertyAccessExpression 98714 98736 - Identifier 98714 98718 - Identifier 98719 98736 - Block 98737 98794 - ReturnStatement 98739 98783 - PropertyAccessExpression 98759 98782 - Identifier 98759 98764 - Identifier 98765 98782 - VariableStatement 98794 98846 - VariableDeclarationList 98794 98845 - VariableDeclaration 98809 98845 - Identifier 98809 98819 - CallExpression 98821 98845 - PropertyAccessExpression 98821 98838 - PropertyAccessExpression 98821 98834 - Identifier 98821 98826 - Identifier 98827 98834 - Identifier 98835 98838 - StringLiteral 98839 98844 - IfStatement 98846 99310 - Identifier 98860 98869 - Block 98870 99310 - VariableStatement 98872 98953 - VariableDeclarationList 98872 98952 - VariableDeclaration 98891 98952 - Identifier 98891 98904 - ConditionalExpression 98906 98952 - CallExpression 98906 98925 - Identifier 98906 98914 - Identifier 98915 98924 - QuestionToken 98925 98927 - ElementAccessExpression 98927 98940 - Identifier 98927 98937 - NumericLiteral 98938 98939 - ColonToken 98940 98942 - Identifier 98942 98952 - ExpressionStatement 98953 99063 - BinaryExpression 98953 99062 - PropertyAccessExpression 98953 98987 - Identifier 98953 98971 - Identifier 98972 98987 - EqualsToken 98987 98989 - CallExpression 98989 99062 - Identifier 98989 99013 - PropertyAccessExpression 99014 99044 - PropertyAccessExpression 99014 99036 - Identifier 99014 99026 - Identifier 99027 99036 - Identifier 99037 99044 - Identifier 99045 99061 - ExpressionStatement 99063 99140 - CallExpression 99063 99139 - Identifier 99063 99086 - PropertyAccessExpression 99087 99107 - Identifier 99087 99091 - Identifier 99092 99107 - Identifier 99108 99124 - Identifier 99125 99138 - IfStatement 99140 99299 - PropertyAccessExpression 99158 99178 - Identifier 99158 99162 - Identifier 99163 99178 - Block 99179 99299 - ReturnStatement 99181 99284 - BinaryExpression 99205 99283 - PropertyAccessExpression 99205 99228 - Identifier 99205 99210 - Identifier 99211 99228 - EqualsToken 99228 99230 - PropertyAccessExpression 99230 99283 - CallExpression 99230 99271 - Identifier 99230 99249 - PropertyAccessExpression 99250 99270 - Identifier 99250 99254 - Identifier 99255 99270 - Identifier 99272 99283 - FunctionDeclaration 99317 99526 - Identifier 99333 99349 - TypeParameter 99350 99364 - Identifier 99350 99351 - TypeReference 99359 99364 - Identifier 99359 99364 - Parameter 99366 99373 - Identifier 99366 99370 - TypeReference 99371 99373 - Identifier 99371 99373 - TypeReference 99375 99390 - Identifier 99375 99387 - TypeReference 99388 99389 - Identifier 99388 99389 - Block 99390 99526 - ExpressionStatement 99392 99435 - CallExpression 99392 99434 - Identifier 99392 99420 - Identifier 99421 99425 - PrefixUnaryExpression 99426 99429 - NumericLiteral 99428 99429 - PrefixUnaryExpression 99430 99433 - NumericLiteral 99432 99433 - ReturnStatement 99435 99519 - CallExpression 99451 99518 - Identifier 99451 99472 - Identifier 99473 99477 - Identifier 99478 99494 - Identifier 99495 99517 - FunctionDeclaration 99526 99937 - Identifier 99542 99558 - Parameter 99559 99581 - Identifier 99559 99569 - TypeReference 99570 99581 - Identifier 99570 99581 - Parameter 99582 99619 - Identifier 99582 99600 - TypeReference 99601 99619 - Identifier 99601 99619 - Parameter 99620 99646 - Identifier 99620 99636 - QuestionToken 99636 99637 - BooleanKeyword 99638 99646 - Block 99647 99937 - IfStatement 99649 99900 - PrefixUnaryExpression 99836 99852 - Identifier 99837 99852 - ExpressionStatement 99853 99900 - CallExpression 99853 99899 - Identifier 99853 99868 - Identifier 99869 99879 - Identifier 99880 99898 - ReturnStatement 99900 99930 - Identifier 99916 99929 - FunctionDeclaration 99937 100467 - Identifier 99953 99972 - Parameter 99973 99999 - Identifier 99973 99981 - UnionType 99982 99999 - TypeReference 99982 99987 - Identifier 99982 99987 - UndefinedKeyword 99989 99999 - Parameter 100000 100027 - Identifier 100000 100008 - TypeReference 100009 100027 - Identifier 100009 100027 - Parameter 100028 100057 - DotDotDotToken 100028 100032 - Identifier 100032 100036 - TypeReference 100037 100057 - Identifier 100037 100057 - TypeReference 100059 100070 - Identifier 100059 100070 - Block 100070 100467 - VariableStatement 100072 100235 - VariableDeclarationList 100072 100234 - VariableDeclaration 100087 100234 - Identifier 100087 100098 - ConditionalExpression 100100 100234 - Identifier 100100 100109 - QuestionToken 100109 100124 - CallExpression 100124 100176 - Identifier 100124 100148 - Identifier 100149 100157 - Identifier 100158 100166 - SpreadElement 100167 100175 - Identifier 100171 100175 - ColonToken 100176 100191 - CallExpression 100191 100234 - Identifier 100191 100216 - Identifier 100217 100224 - SpreadElement 100225 100233 - Identifier 100229 100233 - VariableStatement 100235 100293 - VariableDeclarationList 100235 100292 - VariableDeclaration 100250 100292 - Identifier 100250 100259 - CallExpression 100261 100292 - PropertyAccessExpression 100261 100280 - Identifier 100261 100273 - Identifier 100274 100280 - Identifier 100281 100291 - IfStatement 100293 100460 - Identifier 100307 100315 - Block 100316 100359 - ReturnStatement 100318 100348 - Identifier 100338 100347 - Block 100373 100460 - ExpressionStatement 100375 100417 - CallExpression 100375 100416 - PropertyAccessExpression 100375 100404 - Identifier 100375 100400 - Identifier 100401 100404 - Identifier 100405 100415 - ReturnStatement 100417 100449 - Identifier 100437 100448 - FunctionDeclaration 100467 100761 - Identifier 100483 100498 - Parameter 100499 100525 - Identifier 100499 100502 - TypeOperator 100503 100525 - TypeReference 100509 100525 - Identifier 100509 100525 - Parameter 100526 100553 - Identifier 100526 100535 - UnionType 100536 100553 - TypeReference 100536 100541 - Identifier 100536 100541 - UndefinedKeyword 100543 100553 - Parameter 100554 100581 - Identifier 100554 100562 - TypeReference 100563 100581 - Identifier 100563 100581 - Parameter 100582 100611 - DotDotDotToken 100582 100586 - Identifier 100586 100590 - TypeReference 100591 100611 - Identifier 100591 100611 - TypeReference 100613 100624 - Identifier 100613 100624 - Block 100624 100761 - VariableStatement 100626 100689 - VariableDeclarationList 100626 100688 - VariableDeclaration 100641 100688 - Identifier 100641 100652 - CallExpression 100654 100688 - Identifier 100654 100660 - Identifier 100661 100669 - Identifier 100670 100678 - SpreadElement 100679 100687 - Identifier 100683 100687 - ExpressionStatement 100689 100726 - BinaryExpression 100689 100725 - PropertyAccessExpression 100689 100719 - Identifier 100689 100709 - Identifier 100710 100719 - EqualsToken 100719 100721 - Identifier 100721 100725 - ReturnStatement 100726 100754 - Identifier 100742 100753 - FunctionDeclaration 100761 101047 - Identifier 100777 100789 - Parameter 100790 100816 - Identifier 100790 100798 - UnionType 100799 100816 - TypeReference 100799 100804 - Identifier 100799 100804 - UndefinedKeyword 100806 100816 - Parameter 100817 100844 - Identifier 100817 100825 - TypeReference 100826 100844 - Identifier 100826 100844 - Parameter 100845 100874 - DotDotDotToken 100845 100849 - Identifier 100849 100853 - TypeReference 100854 100874 - Identifier 100854 100874 - TypeReference 100876 100887 - Identifier 100876 100887 - Block 100887 101047 - ReturnStatement 100889 101040 - ConditionalExpression 100905 101039 - Identifier 100905 100914 - QuestionToken 100914 100929 - CallExpression 100929 100981 - Identifier 100929 100953 - Identifier 100954 100962 - Identifier 100963 100971 - SpreadElement 100972 100980 - Identifier 100976 100980 - ColonToken 100981 100996 - CallExpression 100996 101039 - Identifier 100996 101021 - Identifier 101022 101029 - SpreadElement 101030 101038 - Identifier 101034 101038 - FunctionDeclaration 101047 101311 - Identifier 101063 101069 - Parameter 101070 101096 - Identifier 101070 101078 - UnionType 101079 101096 - TypeReference 101079 101084 - Identifier 101079 101084 - UndefinedKeyword 101086 101096 - Parameter 101097 101124 - Identifier 101097 101105 - TypeReference 101106 101124 - Identifier 101106 101124 - Parameter 101125 101154 - DotDotDotToken 101125 101129 - Identifier 101129 101133 - TypeReference 101134 101154 - Identifier 101134 101154 - TypeReference 101156 101167 - Identifier 101156 101167 - Block 101167 101311 - VariableStatement 101169 101238 - VariableDeclarationList 101169 101237 - VariableDeclaration 101184 101237 - Identifier 101184 101195 - CallExpression 101197 101237 - Identifier 101197 101209 - Identifier 101210 101218 - Identifier 101219 101227 - SpreadElement 101228 101236 - Identifier 101232 101236 - ExpressionStatement 101238 101276 - CallExpression 101238 101275 - PropertyAccessExpression 101238 101263 - Identifier 101238 101259 - Identifier 101260 101263 - Identifier 101264 101274 - ReturnStatement 101276 101304 - Identifier 101292 101303 - FunctionDeclaration 101311 101603 - Identifier 101327 101348 - Parameter 101349 101365 - Identifier 101349 101356 - BooleanKeyword 101357 101365 - Parameter 101366 101389 - Identifier 101366 101377 - TypeReference 101378 101389 - Identifier 101378 101389 - Block 101390 101603 - IfStatement 101392 101596 - Identifier 101406 101413 - Block 101414 101469 - ExpressionStatement 101416 101458 - CallExpression 101416 101457 - PropertyAccessExpression 101416 101445 - Identifier 101416 101441 - Identifier 101442 101445 - Identifier 101446 101456 - Block 101483 101596 - ExpressionStatement 101485 101585 - CallExpression 101485 101584 - PropertyAccessExpression 101485 101524 - Identifier 101485 101520 - Identifier 101521 101524 - ObjectLiteralExpression 101525 101583 - SpreadAssignment 101526 101540 - Identifier 101530 101540 - PropertyAssignment 101541 101581 - Identifier 101541 101550 - PropertyAccessExpression 101551 101581 - Identifier 101551 101570 - Identifier 101571 101581 - FunctionDeclaration 101603 102582 - Identifier 101617 101635 - Parameter 101636 101652 - Identifier 101636 101643 - BooleanKeyword 101644 101652 - Parameter 101653 101668 - Identifier 101653 101662 - TypeReference 101663 101668 - Identifier 101663 101668 - Parameter 101669 101721 - Identifier 101669 101677 - UnionType 101678 101721 - TypeReference 101678 101696 - Identifier 101678 101696 - TypeReference 101698 101721 - Identifier 101698 101721 - Parameter 101722 101751 - DotDotDotToken 101722 101726 - Identifier 101726 101730 - TypeReference 101731 101751 - Identifier 101731 101751 - VoidKeyword 101753 101758 - Block 101758 102582 - IfStatement 101760 102323 - BinaryExpression 101816 101852 - BinaryExpression 101816 101832 - PropertyAccessExpression 101816 101828 - Identifier 101816 101824 - Identifier 101825 101828 - LessThanToken 101828 101830 - NumericLiteral 101830 101832 - BarBarToken 101832 101835 - BinaryExpression 101835 101852 - PropertyAccessExpression 101835 101848 - Identifier 101835 101844 - Identifier 101845 101848 - LessThanToken 101848 101850 - NumericLiteral 101850 101852 - Block 101853 102323 - IfStatement 101855 101976 - PrefixUnaryExpression 101873 101881 - Identifier 101874 101881 - Block 101882 101976 - ReturnStatement 101884 101909 - VariableStatement 101976 102071 - VariableDeclarationList 101976 102070 - VariableDeclaration 102033 102070 - Identifier 102033 102038 - CallExpression 102040 102070 - Identifier 102040 102060 - Identifier 102061 102069 - ExpressionStatement 102071 102247 - CallExpression 102071 102246 - Identifier 102071 102105 - Identifier 102106 102113 - ConditionalExpression 102114 102245 - BinaryExpression 102114 102135 - StringLiteral 102114 102124 - InKeyword 102124 102127 - Identifier 102127 102135 - QuestionToken 102135 102137 - CallExpression 102137 102188 - Identifier 102137 102158 - Identifier 102159 102163 - NumericLiteral 102164 102166 - NumericLiteral 102167 102169 - Identifier 102170 102178 - SpreadElement 102179 102187 - Identifier 102183 102187 - ColonToken 102188 102190 - CallExpression 102190 102245 - Identifier 102190 102230 - Identifier 102231 102235 - Identifier 102236 102244 - ReturnStatement 102247 102312 - ExpressionStatement 102323 102531 - CallExpression 102323 102530 - Identifier 102323 102353 - Identifier 102354 102361 - ConditionalExpression 102362 102529 - BinaryExpression 102362 102383 - StringLiteral 102362 102372 - InKeyword 102372 102375 - Identifier 102375 102383 - QuestionToken 102383 102385 - CallExpression 102385 102437 - Identifier 102385 102409 - Identifier 102410 102418 - Identifier 102419 102427 - SpreadElement 102428 102436 - Identifier 102432 102436 - ColonToken 102437 102439 - CallExpression 102439 102529 - Identifier 102439 102479 - CallExpression 102480 102509 - Identifier 102480 102499 - Identifier 102500 102508 - Identifier 102510 102519 - Identifier 102520 102528 - FunctionDeclaration 102582 103081 - Identifier 102598 102624 - Parameter 102625 102649 - Identifier 102625 102643 - TypeReference 102644 102649 - Identifier 102644 102649 - Parameter 102650 102686 - Identifier 102650 102677 - BooleanKeyword 102678 102686 - Parameter 102687 102723 - Identifier 102687 102704 - TypeReference 102705 102723 - Identifier 102705 102723 - Parameter 102724 102762 - DotDotDotToken 102724 102737 - Identifier 102737 102741 - TypeReference 102742 102762 - Identifier 102742 102762 - TypeReference 102770 102781 - Identifier 102770 102781 - Block 102781 103081 - VariableStatement 102783 102846 - VariableDeclarationList 102783 102845 - VariableDeclaration 102798 102845 - Identifier 102798 102809 - CallExpression 102811 102845 - Identifier 102811 102817 - Identifier 102818 102826 - Identifier 102827 102835 - SpreadElement 102836 102844 - Identifier 102840 102844 - IfStatement 102846 103046 - Identifier 102860 102877 - Block 102878 103046 - VariableStatement 102880 102985 - VariableDeclarationList 102880 102984 - VariableDeclaration 102899 102984 - Identifier 102899 102907 - CallExpression 102909 102984 - Identifier 102909 102933 - Identifier 102934 102942 - PropertyAccessExpression 102943 102983 - Identifier 102943 102955 - Identifier 102956 102983 - ExpressionStatement 102985 103035 - CallExpression 102985 103034 - Identifier 102985 103013 - Identifier 103014 103024 - Identifier 103025 103033 - ReturnStatement 103046 103074 - Identifier 103062 103073 - FunctionDeclaration 103081 103744 - Identifier 103097 103127 - Parameter 103128 103155 - Identifier 103128 103140 - UnionType 103141 103155 - TypeReference 103141 103146 - Identifier 103141 103146 - ArrayType 103148 103155 - TypeReference 103148 103153 - Identifier 103148 103153 - Parameter 103156 103191 - Identifier 103156 103167 - TypeReference 103168 103191 - Identifier 103168 103191 - Block 103192 103744 - VariableStatement 103194 103339 - VariableDeclarationList 103194 103338 - VariableDeclaration 103209 103338 - Identifier 103209 103223 - ConditionalExpression 103225 103338 - CallExpression 103225 103253 - PropertyAccessExpression 103225 103239 - Identifier 103225 103231 - Identifier 103232 103239 - Identifier 103240 103252 - QuestionToken 103253 103255 - CallExpression 103255 103300 - Identifier 103255 103263 - Identifier 103264 103276 - Identifier 103277 103299 - ColonToken 103300 103302 - CallExpression 103302 103338 - Identifier 103302 103324 - Identifier 103325 103337 - IfStatement 103339 103570 - Identifier 103353 103366 - Block 103367 103570 - ExpressionStatement 103369 103559 - CallExpression 103369 103558 - Identifier 103369 103397 - Identifier 103398 103426 - CallExpression 103427 103542 - Identifier 103427 103468 - Identifier 103469 103482 - PropertyAccessExpression 103483 103541 - Identifier 103483 103495 - Identifier 103496 103541 - ExpressionStatement 103570 103709 - CallExpression 103570 103708 - PropertyAccessExpression 103570 103696 - Identifier 103570 103692 - Identifier 103693 103696 - Identifier 103697 103707 - ReturnStatement 103709 103737 - Identifier 103725 103736 - FunctionDeclaration 103744 104301 - Identifier 103760 103779 - Parameter 103780 103794 - Identifier 103780 103786 - TypeReference 103787 103794 - Identifier 103787 103794 - Block 103795 104301 - VariableStatement 103797 103854 - VariableDeclarationList 103797 103853 - VariableDeclaration 103812 103853 - Identifier 103812 103825 - CallExpression 103827 103853 - Identifier 103827 103845 - Identifier 103846 103852 - IfStatement 103854 104100 - BinaryExpression 103868 103915 - Identifier 103868 103880 - AmpersandAmpersandToken 103880 103883 - BinaryExpression 103883 103915 - CallExpression 103883 103911 - Identifier 103883 103890 - PropertyAccessExpression 103891 103910 - Identifier 103891 103897 - Identifier 103898 103910 - GreaterThanToken 103911 103913 - NumericLiteral 103913 103915 - Block 103916 104100 - ReturnStatement 103918 104089 - ConditionalExpression 103938 104088 - BinaryExpression 103938 103981 - PropertyAccessExpression 103938 103957 - Identifier 103938 103951 - Identifier 103952 103957 - AmpersandToken 103957 103959 - PropertyAccessExpression 103959 103981 - Identifier 103959 103971 - Identifier 103972 103981 - QuestionToken 103981 103983 - CallExpression 103983 104034 - Identifier 103983 103988 - PropertyAccessExpression 103989 104008 - Identifier 103989 103995 - Identifier 103996 104008 - Identifier 104009 104033 - ColonToken 104034 104036 - CallExpression 104036 104088 - Identifier 104036 104042 - PropertyAccessExpression 104043 104062 - Identifier 104043 104049 - Identifier 104050 104062 - Identifier 104063 104087 - ReturnStatement 104100 104294 - BinaryExpression 104116 104293 - BinaryExpression 104116 104194 - PrefixUnaryExpression 104116 104142 - PrefixUnaryExpression 104118 104142 - PropertyAccessExpression 104119 104142 - Identifier 104119 104125 - Identifier 104126 104142 - AmpersandAmpersandToken 104142 104145 - CallExpression 104145 104194 - Identifier 104145 104169 - PropertyAccessExpression 104170 104193 - Identifier 104170 104176 - Identifier 104177 104193 - BarBarToken 104194 104210 - BinaryExpression 104210 104293 - CallExpression 104210 104238 - Identifier 104210 104217 - PropertyAccessExpression 104218 104237 - Identifier 104218 104224 - Identifier 104225 104237 - AmpersandAmpersandToken 104238 104241 - CallExpression 104241 104293 - Identifier 104241 104247 - PropertyAccessExpression 104248 104267 - Identifier 104248 104254 - Identifier 104255 104267 - Identifier 104268 104292 - FunctionDeclaration 104301 104460 - Identifier 104317 104341 - Parameter 104342 104366 - Identifier 104342 104353 - TypeReference 104354 104366 - Identifier 104354 104366 - Block 104367 104460 - ReturnStatement 104369 104453 - PrefixUnaryExpression 104385 104452 - PrefixUnaryExpression 104387 104452 - ParenthesizedExpression 104388 104452 - BinaryExpression 104389 104451 - CallExpression 104389 104428 - Identifier 104389 104415 - Identifier 104416 104427 - AmpersandToken 104428 104430 - PropertyAccessExpression 104430 104451 - Identifier 104430 104440 - Identifier 104441 104451 - FunctionDeclaration 104460 104757 - Identifier 104476 104500 - Parameter 104501 104515 - Identifier 104501 104509 - TypeReference 104510 104515 - Identifier 104510 104515 - Parameter 104516 104537 - Identifier 104516 104529 - ArrayType 104530 104537 - TypeReference 104530 104535 - Identifier 104530 104535 - Parameter 104538 104563 - Identifier 104538 104555 - StringKeyword 104556 104563 - Block 104564 104757 - VariableStatement 104566 104677 - VariableDeclarationList 104566 104676 - VariableDeclaration 104581 104676 - Identifier 104581 104592 - CallExpression 104594 104676 - Identifier 104594 104618 - Identifier 104619 104627 - PropertyAccessExpression 104628 104657 - Identifier 104628 104640 - Identifier 104641 104657 - Identifier 104658 104675 - ReturnStatement 104677 104750 - CallExpression 104693 104749 - Identifier 104693 104723 - Identifier 104724 104736 - Identifier 104737 104748 - FunctionDeclaration 104757 105263 - Identifier 104773 104810 - Parameter 104811 104825 - Identifier 104811 104819 - TypeReference 104820 104825 - Identifier 104820 104825 - Parameter 104826 104844 - Identifier 104826 104838 - TypeReference 104839 104844 - Identifier 104839 104844 - Parameter 104845 104882 - Identifier 104845 104862 - UnionType 104863 104882 - StringKeyword 104863 104870 - UndefinedKeyword 104872 104882 - Parameter 104883 104907 - Identifier 104883 104899 - StringKeyword 104900 104907 - Block 104908 105263 - VariableStatement 104910 105184 - VariableDeclarationList 104910 105183 - VariableDeclaration 104925 105183 - Identifier 104925 104936 - ConditionalExpression 104938 105183 - Identifier 104938 104955 - QuestionToken 104955 104970 - CallExpression 104970 105087 - Identifier 104970 104994 - Identifier 104995 105003 - PropertyAccessExpression 105004 105051 - Identifier 105004 105016 - Identifier 105017 105051 - Identifier 105052 105068 - Identifier 105069 105086 - ColonToken 105087 105102 - CallExpression 105102 105183 - Identifier 105102 105126 - Identifier 105127 105135 - PropertyAccessExpression 105136 105165 - Identifier 105136 105148 - Identifier 105149 105165 - Identifier 105166 105182 - ReturnStatement 105184 105256 - CallExpression 105200 105255 - Identifier 105200 105230 - Identifier 105231 105242 - Identifier 105243 105254 - FunctionDeclaration 105263 105635 - Identifier 105279 105292 - Parameter 105293 105311 - Identifier 105293 105298 - TypeReference 105299 105311 - Identifier 105299 105311 - Parameter 105312 105327 - Identifier 105312 105317 - TypeReference 105318 105327 - Identifier 105318 105327 - Parameter 105328 105352 - Identifier 105328 105339 - QuestionToken 105339 105340 - TypeReference 105341 105352 - Identifier 105341 105352 - Block 105353 105635 - ExpressionStatement 105355 105379 - PostfixUnaryExpression 105355 105378 - Identifier 105355 105376 - VariableStatement 105379 105471 - VariableDeclarationList 105379 105470 - VariableDeclaration 105394 105470 - Identifier 105394 105401 - AsExpression 105403 105470 - NewExpression 105403 105451 - Identifier 105407 105414 - BinaryExpression 105415 105444 - Identifier 105415 105420 - BarToken 105420 105422 - PropertyAccessExpression 105422 105444 - Identifier 105422 105434 - Identifier 105435 105444 - Identifier 105445 105450 - TypeReference 105454 105470 - Identifier 105454 105470 - ExpressionStatement 105471 105538 - BinaryExpression 105471 105537 - PropertyAccessExpression 105471 105493 - Identifier 105471 105487 - Identifier 105488 105493 - EqualsToken 105493 105495 - AsExpression 105495 105537 - NewExpression 105495 105513 - Identifier 105499 105511 - TypeReference 105516 105537 - Identifier 105516 105537 - ExpressionStatement 105538 105604 - BinaryExpression 105538 105603 - PropertyAccessExpression 105538 105571 - PropertyAccessExpression 105538 105560 - Identifier 105538 105554 - Identifier 105555 105560 - Identifier 105561 105571 - EqualsToken 105571 105573 - BinaryExpression 105573 105603 - Identifier 105573 105584 - BarBarToken 105584 105587 - PropertyAccessExpression 105587 105603 - Identifier 105587 105598 - Identifier 105599 105603 - ReturnStatement 105604 105628 - Identifier 105620 105627 - FunctionDeclaration 105635 105843 - Identifier 105651 105667 - Parameter 105668 105682 - Identifier 105668 105672 - TypeReference 105673 105682 - Identifier 105673 105682 - Parameter 105683 105694 - Identifier 105683 105688 - TypeReference 105689 105694 - Identifier 105689 105694 - Block 105695 105843 - VariableStatement 105697 105777 - VariableDeclarationList 105697 105776 - VariableDeclaration 105712 105776 - Identifier 105712 105719 - CallExpression 105721 105776 - Identifier 105721 105734 - PropertyAccessExpression 105735 105769 - Identifier 105735 105746 - Identifier 105747 105769 - Identifier 105770 105775 - ExpressionStatement 105777 105812 - BinaryExpression 105777 105811 - PropertyAccessExpression 105777 105804 - PropertyAccessExpression 105777 105799 - Identifier 105777 105793 - Identifier 105794 105799 - Identifier 105800 105804 - EqualsToken 105804 105806 - Identifier 105806 105811 - ReturnStatement 105812 105836 - Identifier 105828 105835 - FunctionDeclaration 105843 106036 - Identifier 105859 105874 - Parameter 105875 105889 - Identifier 105875 105879 - TypeReference 105880 105889 - Identifier 105880 105889 - Parameter 105890 105901 - Identifier 105890 105895 - TypeReference 105896 105901 - Identifier 105896 105901 - Block 105902 106036 - VariableStatement 105904 105970 - VariableDeclarationList 105904 105969 - VariableDeclaration 105919 105969 - Identifier 105919 105926 - CallExpression 105928 105969 - Identifier 105928 105941 - PropertyAccessExpression 105942 105962 - Identifier 105942 105953 - Identifier 105954 105962 - Identifier 105963 105968 - ExpressionStatement 105970 106005 - BinaryExpression 105970 106004 - PropertyAccessExpression 105970 105997 - PropertyAccessExpression 105970 105992 - Identifier 105970 105986 - Identifier 105987 105992 - Identifier 105993 105997 - EqualsToken 105997 105999 - Identifier 105999 106004 - ReturnStatement 106005 106029 - Identifier 106021 106028 - FunctionDeclaration 106036 107585 - Identifier 106052 106075 - Parameter 106076 106094 - Identifier 106076 106081 - TypeReference 106082 106094 - Identifier 106082 106094 - TypeReference 106096 106108 - Identifier 106096 106108 - Block 106108 107585 - VariableStatement 106110 106148 - VariableDeclarationList 106110 106147 - VariableDeclaration 106123 106147 - Identifier 106123 106130 - TypeReference 106131 106143 - Identifier 106131 106143 - NumericLiteral 106145 106147 - IfStatement 106148 106253 - BinaryExpression 106162 106201 - Identifier 106162 106167 - AmpersandToken 106167 106169 - PropertyAccessExpression 106169 106201 - Identifier 106169 106181 - Identifier 106182 106201 - ExpressionStatement 106202 106253 - BinaryExpression 106202 106252 - Identifier 106202 106209 - BarEqualsToken 106209 106212 - PropertyAccessExpression 106212 106252 - Identifier 106212 106224 - Identifier 106225 106252 - IfStatement 106253 106364 - BinaryExpression 106267 106309 - Identifier 106267 106272 - AmpersandToken 106272 106274 - PropertyAccessExpression 106274 106309 - Identifier 106274 106286 - Identifier 106287 106309 - ExpressionStatement 106310 106364 - BinaryExpression 106310 106363 - Identifier 106310 106317 - BarEqualsToken 106317 106320 - PropertyAccessExpression 106320 106363 - Identifier 106320 106332 - Identifier 106333 106363 - IfStatement 106364 106447 - BinaryExpression 106378 106406 - Identifier 106378 106383 - AmpersandToken 106383 106385 - PropertyAccessExpression 106385 106406 - Identifier 106385 106397 - Identifier 106398 106406 - ExpressionStatement 106407 106447 - BinaryExpression 106407 106446 - Identifier 106407 106414 - BarEqualsToken 106414 106417 - PropertyAccessExpression 106417 106446 - Identifier 106417 106429 - Identifier 106430 106446 - IfStatement 106447 106534 - BinaryExpression 106461 106491 - Identifier 106461 106466 - AmpersandToken 106466 106468 - PropertyAccessExpression 106468 106491 - Identifier 106468 106480 - Identifier 106481 106491 - ExpressionStatement 106492 106534 - BinaryExpression 106492 106533 - Identifier 106492 106499 - BarEqualsToken 106499 106502 - PropertyAccessExpression 106502 106533 - Identifier 106502 106514 - Identifier 106515 106533 - IfStatement 106534 106617 - BinaryExpression 106548 106576 - Identifier 106548 106553 - AmpersandToken 106553 106555 - PropertyAccessExpression 106555 106576 - Identifier 106555 106567 - Identifier 106568 106576 - ExpressionStatement 106577 106617 - BinaryExpression 106577 106616 - Identifier 106577 106584 - BarEqualsToken 106584 106587 - PropertyAccessExpression 106587 106616 - Identifier 106587 106599 - Identifier 106600 106616 - IfStatement 106617 106694 - BinaryExpression 106631 106656 - Identifier 106631 106636 - AmpersandToken 106636 106638 - PropertyAccessExpression 106638 106656 - Identifier 106638 106650 - Identifier 106651 106656 - ExpressionStatement 106657 106694 - BinaryExpression 106657 106693 - Identifier 106657 106664 - BarEqualsToken 106664 106667 - PropertyAccessExpression 106667 106693 - Identifier 106667 106679 - Identifier 106680 106693 - IfStatement 106694 106779 - BinaryExpression 106708 106737 - Identifier 106708 106713 - AmpersandToken 106713 106715 - PropertyAccessExpression 106715 106737 - Identifier 106715 106727 - Identifier 106728 106737 - ExpressionStatement 106738 106779 - BinaryExpression 106738 106778 - Identifier 106738 106745 - BarEqualsToken 106745 106748 - PropertyAccessExpression 106748 106778 - Identifier 106748 106760 - Identifier 106761 106778 - IfStatement 106779 106868 - BinaryExpression 106793 106824 - Identifier 106793 106798 - AmpersandToken 106798 106800 - PropertyAccessExpression 106800 106824 - Identifier 106800 106812 - Identifier 106813 106824 - ExpressionStatement 106825 106868 - BinaryExpression 106825 106867 - Identifier 106825 106832 - BarEqualsToken 106832 106835 - PropertyAccessExpression 106835 106867 - Identifier 106835 106847 - Identifier 106848 106867 - IfStatement 106868 106953 - BinaryExpression 106882 106911 - Identifier 106882 106887 - AmpersandToken 106887 106889 - PropertyAccessExpression 106889 106911 - Identifier 106889 106901 - Identifier 106902 106911 - ExpressionStatement 106912 106953 - BinaryExpression 106912 106952 - Identifier 106912 106919 - BarEqualsToken 106919 106922 - PropertyAccessExpression 106922 106952 - Identifier 106922 106934 - Identifier 106935 106952 - IfStatement 106953 107042 - BinaryExpression 106967 106998 - Identifier 106967 106972 - AmpersandToken 106972 106974 - PropertyAccessExpression 106974 106998 - Identifier 106974 106986 - Identifier 106987 106998 - ExpressionStatement 106999 107042 - BinaryExpression 106999 107041 - Identifier 106999 107006 - BarEqualsToken 107006 107009 - PropertyAccessExpression 107009 107041 - Identifier 107009 107021 - Identifier 107022 107041 - IfStatement 107042 107121 - BinaryExpression 107056 107082 - Identifier 107056 107061 - AmpersandToken 107061 107063 - PropertyAccessExpression 107063 107082 - Identifier 107063 107075 - Identifier 107076 107082 - ExpressionStatement 107083 107121 - BinaryExpression 107083 107120 - Identifier 107083 107090 - BarEqualsToken 107090 107093 - PropertyAccessExpression 107093 107120 - Identifier 107093 107105 - Identifier 107106 107120 - IfStatement 107121 107210 - BinaryExpression 107135 107166 - Identifier 107135 107140 - AmpersandToken 107140 107142 - PropertyAccessExpression 107142 107166 - Identifier 107142 107154 - Identifier 107155 107166 - ExpressionStatement 107167 107210 - BinaryExpression 107167 107209 - Identifier 107167 107174 - BarEqualsToken 107174 107177 - PropertyAccessExpression 107177 107209 - Identifier 107177 107189 - Identifier 107190 107209 - IfStatement 107210 107299 - BinaryExpression 107224 107255 - Identifier 107224 107229 - AmpersandToken 107229 107231 - PropertyAccessExpression 107231 107255 - Identifier 107231 107243 - Identifier 107244 107255 - ExpressionStatement 107256 107299 - BinaryExpression 107256 107298 - Identifier 107256 107263 - BarEqualsToken 107263 107266 - PropertyAccessExpression 107266 107298 - Identifier 107266 107278 - Identifier 107279 107298 - IfStatement 107299 107392 - BinaryExpression 107313 107346 - Identifier 107313 107318 - AmpersandToken 107318 107320 - PropertyAccessExpression 107320 107346 - Identifier 107320 107332 - Identifier 107333 107346 - ExpressionStatement 107347 107392 - BinaryExpression 107347 107391 - Identifier 107347 107354 - BarEqualsToken 107354 107357 - PropertyAccessExpression 107357 107391 - Identifier 107357 107369 - Identifier 107370 107391 - IfStatement 107392 107477 - BinaryExpression 107406 107435 - Identifier 107406 107411 - AmpersandToken 107411 107413 - PropertyAccessExpression 107413 107435 - Identifier 107413 107425 - Identifier 107426 107435 - ExpressionStatement 107436 107477 - BinaryExpression 107436 107476 - Identifier 107436 107443 - BarEqualsToken 107443 107446 - PropertyAccessExpression 107446 107476 - Identifier 107446 107458 - Identifier 107459 107476 - IfStatement 107477 107554 - BinaryExpression 107491 107516 - Identifier 107491 107496 - AmpersandToken 107496 107498 - PropertyAccessExpression 107498 107516 - Identifier 107498 107510 - Identifier 107511 107516 - ExpressionStatement 107517 107554 - BinaryExpression 107517 107553 - Identifier 107517 107524 - BarEqualsToken 107524 107527 - PropertyAccessExpression 107527 107553 - Identifier 107527 107539 - Identifier 107540 107553 - ReturnStatement 107554 107578 - Identifier 107570 107577 - FunctionDeclaration 107585 107824 - Identifier 107601 107620 - Parameter 107621 107635 - Identifier 107621 107627 - TypeReference 107628 107635 - Identifier 107628 107635 - Parameter 107636 107651 - Identifier 107636 107643 - TypeReference 107644 107651 - Identifier 107644 107651 - Block 107652 107824 - IfStatement 107654 107768 - PrefixUnaryExpression 107668 107683 - PropertyAccessExpression 107669 107683 - Identifier 107669 107675 - Identifier 107676 107683 - Block 107684 107768 - ExpressionStatement 107686 107729 - BinaryExpression 107686 107728 - PropertyAccessExpression 107686 107714 - Identifier 107686 107706 - Identifier 107707 107714 - EqualsToken 107714 107716 - Identifier 107716 107728 - ExpressionStatement 107729 107757 - PostfixUnaryExpression 107729 107756 - Identifier 107729 107754 - ExpressionStatement 107768 107817 - BinaryExpression 107768 107816 - ElementAccessExpression 107768 107807 - Identifier 107768 107791 - PropertyAccessExpression 107792 107806 - Identifier 107792 107798 - Identifier 107799 107806 - EqualsToken 107807 107809 - Identifier 107809 107816 - FunctionDeclaration 107824 108469 - Identifier 107840 107852 - Parameter 107853 107867 - Identifier 107853 107859 - TypeReference 107860 107867 - Identifier 107860 107867 - TypeReference 107869 107885 - Identifier 107869 107885 - Block 107885 108469 - VariableStatement 107887 107959 - VariableDeclarationList 107887 107958 - VariableDeclaration 107902 107958 - Identifier 107902 107909 - CallExpression 107911 107958 - Identifier 107911 107924 - PropertyAccessExpression 107925 107937 - Identifier 107925 107931 - Identifier 107932 107937 - PropertyAccessExpression 107938 107957 - Identifier 107938 107945 - Identifier 107946 107957 - ExpressionStatement 107959 108046 - BinaryExpression 107959 108045 - PropertyAccessExpression 107959 107988 - Identifier 107959 107975 - Identifier 107976 107988 - EqualsToken 107988 107990 - ConditionalExpression 107990 108045 - PropertyAccessExpression 107990 108010 - Identifier 107990 107997 - Identifier 107998 108010 - QuestionToken 108010 108012 - CallExpression 108012 108040 - PropertyAccessExpression 108012 108038 - PropertyAccessExpression 108012 108032 - Identifier 108012 108019 - Identifier 108020 108032 - Identifier 108033 108038 - ColonToken 108040 108042 - ArrayLiteralExpression 108042 108045 - ExpressionStatement 108046 108086 - BinaryExpression 108046 108085 - PropertyAccessExpression 108046 108069 - Identifier 108046 108062 - Identifier 108063 108069 - EqualsToken 108069 108071 - PropertyAccessExpression 108071 108085 - Identifier 108071 108078 - Identifier 108079 108085 - IfStatement 108086 108175 - PropertyAccessExpression 108100 108123 - Identifier 108100 108106 - Identifier 108107 108123 - ExpressionStatement 108124 108175 - BinaryExpression 108124 108174 - PropertyAccessExpression 108124 108148 - Identifier 108124 108131 - Identifier 108132 108148 - EqualsToken 108148 108150 - PropertyAccessExpression 108150 108174 - Identifier 108150 108157 - Identifier 108158 108174 - IfStatement 108175 108251 - PropertyAccessExpression 108189 108215 - Identifier 108189 108195 - Identifier 108196 108215 - ExpressionStatement 108216 108251 - BinaryExpression 108216 108250 - PropertyAccessExpression 108216 108243 - Identifier 108216 108223 - Identifier 108224 108243 - EqualsToken 108243 108245 - TrueKeyword 108245 108250 - IfStatement 108251 108322 - PropertyAccessExpression 108265 108279 - Identifier 108265 108271 - Identifier 108272 108279 - ExpressionStatement 108280 108322 - BinaryExpression 108280 108321 - PropertyAccessExpression 108280 108295 - Identifier 108280 108287 - Identifier 108288 108295 - EqualsToken 108295 108297 - NewExpression 108297 108321 - Identifier 108301 108305 - PropertyAccessExpression 108306 108320 - Identifier 108306 108312 - Identifier 108313 108320 - IfStatement 108322 108393 - PropertyAccessExpression 108336 108350 - Identifier 108336 108342 - Identifier 108343 108350 - ExpressionStatement 108351 108393 - BinaryExpression 108351 108392 - PropertyAccessExpression 108351 108366 - Identifier 108351 108358 - Identifier 108359 108366 - EqualsToken 108366 108368 - NewExpression 108368 108392 - Identifier 108372 108376 - PropertyAccessExpression 108377 108391 - Identifier 108377 108383 - Identifier 108384 108391 - ExpressionStatement 108393 108438 - CallExpression 108393 108437 - Identifier 108393 108421 - Identifier 108422 108428 - Identifier 108429 108436 - ReturnStatement 108438 108462 - Identifier 108454 108461 - FunctionDeclaration 108469 114804 - Identifier 108716 108728 - Parameter 108729 108743 - Identifier 108729 108735 - TypeReference 108736 108743 - Identifier 108736 108743 - Parameter 108744 108759 - Identifier 108744 108751 - TypeReference 108752 108759 - Identifier 108752 108759 - Parameter 108760 108783 - Identifier 108760 108775 - FalseKeyword 108777 108783 - TypeReference 108785 108792 - Identifier 108785 108792 - Block 108792 114804 - IfStatement 108794 111929 - BinaryExpression 108808 108947 - PrefixUnaryExpression 108808 108876 - ParenthesizedExpression 108823 108876 - BinaryExpression 108824 108875 - PropertyAccessExpression 108824 108836 - Identifier 108824 108830 - Identifier 108831 108836 - AmpersandToken 108836 108838 - CallExpression 108838 108875 - Identifier 108838 108861 - PropertyAccessExpression 108862 108874 - Identifier 108862 108868 - Identifier 108869 108874 - BarBarToken 108876 108879 - BinaryExpression 108879 108947 - ParenthesizedExpression 108879 108922 - BinaryExpression 108894 108921 - PropertyAccessExpression 108894 108906 - Identifier 108894 108900 - Identifier 108901 108906 - BarToken 108906 108908 - PropertyAccessExpression 108908 108921 - Identifier 108908 108915 - Identifier 108916 108921 - AmpersandToken 108922 108924 - PropertyAccessExpression 108924 108947 - Identifier 108924 108936 - Identifier 108937 108947 - Block 108958 111174 - IfStatement 108960 109261 - BinaryExpression 108978 108995 - Identifier 108978 108984 - EqualsEqualsEqualsToken 108984 108988 - Identifier 108988 108995 - Block 108996 109261 - ReturnStatement 108998 109246 - Identifier 109238 109245 - IfStatement 109261 109943 - PrefixUnaryExpression 109279 109318 - ParenthesizedExpression 109280 109318 - BinaryExpression 109281 109317 - PropertyAccessExpression 109281 109293 - Identifier 109281 109287 - Identifier 109288 109293 - AmpersandToken 109293 109295 - PropertyAccessExpression 109295 109317 - Identifier 109295 109307 - Identifier 109308 109317 - Block 109319 109943 - VariableStatement 109321 109384 - VariableDeclarationList 109321 109383 - VariableDeclaration 109344 109383 - Identifier 109344 109359 - CallExpression 109361 109383 - Identifier 109361 109375 - Identifier 109376 109382 - IfStatement 109384 109496 - BinaryExpression 109406 109438 - Identifier 109406 109420 - EqualsEqualsEqualsToken 109420 109424 - Identifier 109424 109438 - Block 109439 109496 - ReturnStatement 109441 109477 - Identifier 109469 109476 - IfStatement 109496 109928 - BinaryExpression 109518 109689 - PrefixUnaryExpression 109518 109602 - ParenthesizedExpression 109541 109602 - BinaryExpression 109542 109601 - PropertyAccessExpression 109542 109562 - Identifier 109542 109556 - Identifier 109557 109562 - AmpersandToken 109562 109564 - CallExpression 109564 109601 - Identifier 109564 109587 - PropertyAccessExpression 109588 109600 - Identifier 109588 109594 - Identifier 109595 109600 - BarBarToken 109602 109605 - BinaryExpression 109605 109689 - ParenthesizedExpression 109605 109664 - BinaryExpression 109628 109663 - PropertyAccessExpression 109628 109640 - Identifier 109628 109634 - Identifier 109635 109640 - BarToken 109640 109642 - PropertyAccessExpression 109642 109663 - Identifier 109642 109657 - Identifier 109658 109663 - AmpersandToken 109664 109666 - PropertyAccessExpression 109666 109689 - Identifier 109666 109678 - Identifier 109679 109689 - Block 109708 109788 - ExpressionStatement 109710 109769 - BinaryExpression 109710 109768 - Identifier 109710 109738 - EqualsToken 109738 109740 - CallExpression 109740 109768 - Identifier 109740 109752 - Identifier 109753 109767 - Block 109810 109928 - ExpressionStatement 109812 109873 - CallExpression 109812 109872 - Identifier 109812 109856 - Identifier 109857 109863 - Identifier 109864 109871 - ReturnStatement 109873 109909 - Identifier 109901 109908 - IfStatement 109943 110395 - BinaryExpression 110075 110216 - BinaryExpression 110075 110185 - BinaryExpression 110075 110155 - BinaryExpression 110075 110113 - PropertyAccessExpression 110075 110087 - Identifier 110075 110081 - Identifier 110082 110087 - AmpersandToken 110087 110089 - PropertyAccessExpression 110089 110113 - Identifier 110089 110101 - Identifier 110102 110113 - AmpersandAmpersandToken 110113 110116 - BinaryExpression 110116 110155 - PropertyAccessExpression 110116 110129 - Identifier 110116 110123 - Identifier 110124 110129 - AmpersandToken 110129 110131 - PropertyAccessExpression 110131 110155 - Identifier 110131 110143 - Identifier 110144 110155 - AmpersandAmpersandToken 110155 110158 - PropertyAccessExpression 110158 110185 - Identifier 110158 110165 - Identifier 110166 110185 - AmpersandAmpersandToken 110185 110188 - PrefixUnaryExpression 110188 110216 - PropertyAccessExpression 110190 110216 - Identifier 110190 110196 - Identifier 110197 110216 - Block 110217 110395 - ExpressionStatement 110219 110380 - BinaryExpression 110219 110379 - PropertyAccessExpression 110219 110371 - Identifier 110219 110351 - Identifier 110352 110371 - EqualsToken 110371 110373 - FalseKeyword 110373 110379 - ExpressionStatement 110395 110438 - BinaryExpression 110395 110437 - PropertyAccessExpression 110395 110421 - Identifier 110395 110415 - Identifier 110416 110421 - BarEqualsToken 110421 110424 - PropertyAccessExpression 110424 110437 - Identifier 110424 110431 - Identifier 110432 110437 - IfStatement 110438 110568 - PropertyAccessExpression 110456 110479 - Identifier 110456 110462 - Identifier 110463 110479 - Block 110480 110568 - ExpressionStatement 110482 110553 - CallExpression 110482 110552 - Identifier 110482 110519 - Identifier 110520 110526 - PropertyAccessExpression 110527 110551 - Identifier 110527 110534 - Identifier 110535 110551 - ExpressionStatement 110568 110633 - CallExpression 110568 110632 - Identifier 110568 110590 - PropertyAccessExpression 110591 110610 - Identifier 110591 110597 - Identifier 110598 110610 - PropertyAccessExpression 110611 110631 - Identifier 110611 110618 - Identifier 110619 110631 - IfStatement 110633 110842 - PropertyAccessExpression 110651 110665 - Identifier 110651 110657 - Identifier 110658 110665 - Block 110666 110842 - IfStatement 110668 110744 - PrefixUnaryExpression 110690 110705 - PropertyAccessExpression 110691 110705 - Identifier 110691 110697 - Identifier 110698 110705 - ExpressionStatement 110706 110744 - BinaryExpression 110706 110743 - PropertyAccessExpression 110706 110721 - Identifier 110706 110713 - Identifier 110714 110721 - EqualsToken 110721 110723 - CallExpression 110723 110743 - Identifier 110723 110741 - ExpressionStatement 110744 110827 - CallExpression 110744 110826 - Identifier 110744 110778 - PropertyAccessExpression 110779 110793 - Identifier 110779 110785 - Identifier 110786 110793 - PropertyAccessExpression 110794 110809 - Identifier 110794 110801 - Identifier 110802 110809 - Identifier 110810 110825 - IfStatement 110842 111059 - PropertyAccessExpression 110860 110874 - Identifier 110860 110866 - Identifier 110867 110874 - Block 110875 111059 - IfStatement 110877 110953 - PrefixUnaryExpression 110899 110914 - PropertyAccessExpression 110900 110914 - Identifier 110900 110906 - Identifier 110907 110914 - ExpressionStatement 110915 110953 - BinaryExpression 110915 110952 - PropertyAccessExpression 110915 110930 - Identifier 110915 110922 - Identifier 110923 110930 - EqualsToken 110930 110932 - CallExpression 110932 110952 - Identifier 110932 110950 - ExpressionStatement 110953 111044 - CallExpression 110953 111043 - Identifier 110953 110987 - PropertyAccessExpression 110988 111002 - Identifier 110988 110994 - Identifier 110995 111002 - PropertyAccessExpression 111003 111018 - Identifier 111003 111010 - Identifier 111011 111018 - Identifier 111019 111034 - Identifier 111035 111042 - IfStatement 111059 111163 - PrefixUnaryExpression 111077 111092 - Identifier 111078 111092 - Block 111093 111163 - ExpressionStatement 111095 111148 - CallExpression 111095 111147 - Identifier 111095 111131 - Identifier 111132 111138 - Identifier 111139 111146 - IfStatement 111188 111929 - BinaryExpression 111193 111235 - PropertyAccessExpression 111193 111205 - Identifier 111193 111199 - Identifier 111200 111205 - AmpersandToken 111205 111207 - PropertyAccessExpression 111207 111235 - Identifier 111207 111219 - Identifier 111220 111235 - Block 111236 111849 - IfStatement 111238 111838 - BinaryExpression 111494 111521 - Identifier 111494 111500 - ExclamationEqualsEqualsToken 111500 111504 - Identifier 111504 111521 - Block 111522 111838 - ExpressionStatement 111524 111823 - CallExpression 111524 111822 - Identifier 111524 111547 - BinaryExpression 111548 111637 - PropertyAccessExpression 111548 111589 - Identifier 111548 111576 - Identifier 111577 111589 - AmpersandAmpersandToken 111589 111592 - CallExpression 111592 111637 - Identifier 111592 111613 - ElementAccessExpression 111614 111636 - PropertyAccessExpression 111614 111633 - Identifier 111614 111620 - Identifier 111621 111633 - NumericLiteral 111634 111635 - PropertyAccessExpression 111638 111757 - Identifier 111638 111671 - Identifier 111672 111757 - CallExpression 111758 111802 - Identifier 111758 111794 - Identifier 111795 111801 - Block 111863 111929 - ExpressionStatement 111865 111918 - CallExpression 111865 111917 - Identifier 111865 111901 - Identifier 111902 111908 - Identifier 111909 111916 - ReturnStatement 111929 111953 - Identifier 111945 111952 - FunctionDeclaration 111953 114519 - Identifier 111973 111996 - Parameter 111997 112011 - Identifier 111997 112003 - TypeReference 112004 112011 - Identifier 112004 112011 - Parameter 112012 112027 - Identifier 112012 112019 - TypeReference 112020 112027 - Identifier 112020 112027 - Block 112028 114519 - VariableStatement 112030 112136 - VariableDeclarationList 112030 112135 - VariableDeclaration 112049 112135 - Identifier 112049 112062 - PrefixUnaryExpression 112064 112135 - PrefixUnaryExpression 112066 112135 - ParenthesizedExpression 112067 112135 - BinaryExpression 112068 112134 - BinaryExpression 112068 112099 - PropertyAccessExpression 112068 112080 - Identifier 112068 112074 - Identifier 112075 112080 - AmpersandToken 112080 112082 - PropertyAccessExpression 112082 112099 - Identifier 112082 112094 - Identifier 112095 112099 - BarBarToken 112099 112102 - BinaryExpression 112102 112134 - PropertyAccessExpression 112102 112115 - Identifier 112102 112109 - Identifier 112110 112115 - AmpersandToken 112115 112117 - PropertyAccessExpression 112117 112134 - Identifier 112117 112129 - Identifier 112130 112134 - VariableStatement 112136 112279 - VariableDeclarationList 112136 112278 - VariableDeclaration 112155 112278 - Identifier 112155 112175 - PrefixUnaryExpression 112177 112278 - PrefixUnaryExpression 112179 112278 - ParenthesizedExpression 112180 112278 - BinaryExpression 112181 112277 - BinaryExpression 112181 112227 - PropertyAccessExpression 112181 112193 - Identifier 112181 112187 - Identifier 112188 112193 - AmpersandToken 112193 112195 - PropertyAccessExpression 112195 112227 - Identifier 112195 112207 - Identifier 112208 112227 - BarBarToken 112227 112230 - BinaryExpression 112230 112277 - PropertyAccessExpression 112230 112243 - Identifier 112230 112237 - Identifier 112238 112243 - AmpersandToken 112243 112245 - PropertyAccessExpression 112245 112277 - Identifier 112245 112257 - Identifier 112258 112277 - VariableStatement 112279 112559 - VariableDeclarationList 112279 112558 - VariableDeclaration 112298 112558 - Identifier 112298 112306 - ConditionalExpression 112308 112558 - Identifier 112308 112321 - QuestionToken 112321 112323 - PropertyAccessExpression 112323 112410 - Identifier 112323 112335 - Identifier 112336 112410 - ColonToken 112410 112429 - ConditionalExpression 112429 112558 - Identifier 112429 112449 - QuestionToken 112449 112451 - PropertyAccessExpression 112451 112504 - Identifier 112451 112463 - Identifier 112464 112504 - ColonToken 112504 112523 - PropertyAccessExpression 112523 112558 - Identifier 112523 112535 - Identifier 112536 112558 - VariableStatement 112559 112665 - VariableDeclarationList 112559 112664 - VariableDeclaration 112578 112664 - Identifier 112578 112595 - BinaryExpression 112597 112664 - PropertyAccessExpression 112597 112617 - Identifier 112597 112604 - Identifier 112605 112617 - AmpersandAmpersandToken 112617 112620 - CallExpression 112620 112664 - Identifier 112620 112640 - ElementAccessExpression 112641 112663 - PropertyAccessExpression 112641 112660 - Identifier 112641 112647 - Identifier 112648 112660 - NumericLiteral 112661 112662 - VariableStatement 112665 112771 - VariableDeclarationList 112665 112770 - VariableDeclaration 112684 112770 - Identifier 112684 112701 - BinaryExpression 112703 112770 - PropertyAccessExpression 112703 112723 - Identifier 112703 112710 - Identifier 112711 112723 - AmpersandAmpersandToken 112723 112726 - CallExpression 112726 112770 - Identifier 112726 112746 - ElementAccessExpression 112747 112769 - PropertyAccessExpression 112747 112766 - Identifier 112747 112753 - Identifier 112754 112766 - NumericLiteral 112767 112768 - VariableStatement 112771 112868 - VariableDeclarationList 112771 112867 - VariableDeclaration 112792 112867 - Identifier 112792 112808 - CallExpression 112810 112867 - Identifier 112810 112824 - Identifier 112825 112841 - PropertyAccessExpression 112842 112866 - Identifier 112842 112858 - Identifier 112859 112866 - VariableStatement 112868 112963 - VariableDeclarationList 112868 112962 - VariableDeclaration 112887 112962 - Identifier 112887 112903 - CallExpression 112905 112962 - Identifier 112905 112919 - Identifier 112920 112936 - PropertyAccessExpression 112937 112961 - Identifier 112937 112953 - Identifier 112954 112961 - VariableStatement 112963 113019 - VariableDeclarationList 112963 113018 - VariableDeclaration 112982 113018 - Identifier 112982 112993 - CallExpression 112995 113018 - Identifier 112995 113010 - Identifier 113011 113017 - IfStatement 113019 114508 - BinaryExpression 113179 113298 - BinaryExpression 113179 113257 - BinaryExpression 113179 113240 - BinaryExpression 113179 113215 - Identifier 113179 113195 - AmpersandAmpersandToken 113195 113198 - Identifier 113198 113215 - AmpersandAmpersandToken 113215 113218 - Identifier 113218 113240 - AmpersandAmpersandToken 113240 113243 - PrefixUnaryExpression 113243 113257 - Identifier 113245 113257 - AmpersandAmpersandToken 113257 113260 - BinaryExpression 113260 113298 - Identifier 113260 113277 - ExclamationEqualsEqualsToken 113277 113281 - Identifier 113281 113298 - Block 113299 114239 - VariableStatement 113301 113458 - VariableDeclarationList 113301 113457 - VariableDeclaration 113324 113457 - Identifier 113324 113334 - ConditionalExpression 113336 113457 - BinaryExpression 113336 113419 - CallExpression 113336 113395 - Identifier 113336 113349 - PropertyAccessExpression 113350 113371 - Identifier 113350 113366 - Identifier 113367 113371 - PropertyAccessExpression 113372 113394 - Identifier 113372 113389 - Identifier 113390 113394 - EqualsEqualsEqualsToken 113395 113399 - PropertyAccessExpression 113399 113419 - Identifier 113399 113410 - Identifier 113411 113419 - QuestionToken 113419 113421 - Identifier 113421 113438 - ColonToken 113438 113440 - Identifier 113440 113457 - VariableStatement 113458 113564 - VariableDeclarationList 113458 113563 - VariableDeclaration 113481 113563 - Identifier 113481 113492 - ConditionalExpression 113494 113563 - BinaryExpression 113494 113525 - Identifier 113494 113504 - EqualsEqualsEqualsToken 113504 113508 - Identifier 113508 113525 - QuestionToken 113525 113527 - Identifier 113527 113544 - ColonToken 113544 113546 - Identifier 113546 113563 - VariableStatement 113564 113770 - VariableDeclarationList 113564 113769 - VariableDeclaration 113587 113769 - Identifier 113587 113603 - CallExpression 113605 113769 - Identifier 113605 113617 - Identifier 113618 113639 - TemplateExpression 113640 113679 - TemplateHead 113640 113644 - TemplateSpan 113644 113662 - PropertyAccessExpression 113644 113658 - Identifier 113644 113653 - Identifier 113654 113658 - TemplateMiddle 113658 113662 - TemplateSpan 113662 113679 - PropertyAccessExpression 113662 113677 - Identifier 113662 113672 - Identifier 113673 113677 - TemplateTail 113677 113679 - ArrowFunction 113680 113768 - TypeReference 113684 113706 - Identifier 113684 113706 - EqualsGreaterThanToken 113706 113709 - ParenthesizedExpression 113709 113768 - ObjectLiteralExpression 113711 113767 - ShorthandPropertyAssignment 113712 113722 - Identifier 113712 113722 - ShorthandPropertyAssignment 113723 113734 - Identifier 113723 113734 - PropertyAssignment 113735 113765 - Identifier 113735 113754 - NewExpression 113755 113765 - Identifier 113759 113763 - VariableStatement 113770 113999 - VariableDeclarationList 113770 113998 - VariableDeclaration 113793 113998 - Identifier 113793 113815 - CallExpression 113817 113998 - Identifier 113817 113829 - PropertyAccessExpression 113830 113864 - Identifier 113830 113845 - Identifier 113846 113864 - Identifier 113865 113876 - ArrowFunction 113877 113997 - TypeReference 113881 113904 - Identifier 113881 113904 - EqualsGreaterThanToken 113904 113907 - ParenthesizedExpression 113907 113997 - ObjectLiteralExpression 113909 113996 - PropertyAssignment 113910 113945 - Identifier 113910 113924 - Identifier 113925 113945 - PropertyAssignment 113946 113969 - Identifier 113946 113965 - ArrayLiteralExpression 113966 113969 - PropertyAssignment 113970 113994 - Identifier 113970 113990 - ArrayLiteralExpression 113991 113994 - IfStatement 113999 114111 - PrefixUnaryExpression 114021 114037 - Identifier 114022 114037 - ExpressionStatement 114038 114111 - CallExpression 114038 114110 - Identifier 114038 114060 - PropertyAccessExpression 114061 114101 - Identifier 114061 114082 - Identifier 114083 114101 - Identifier 114102 114109 - IfStatement 114111 114224 - PrefixUnaryExpression 114133 114149 - Identifier 114134 114149 - ExpressionStatement 114150 114224 - CallExpression 114150 114223 - Identifier 114150 114172 - PropertyAccessExpression 114173 114214 - Identifier 114173 114194 - Identifier 114195 114214 - Identifier 114215 114222 - Block 114257 114508 - IfStatement 114259 114376 - PrefixUnaryExpression 114281 114297 - Identifier 114282 114297 - ExpressionStatement 114298 114376 - CallExpression 114298 114375 - Identifier 114298 114338 - Identifier 114339 114345 - Identifier 114346 114354 - Identifier 114355 114366 - Identifier 114367 114374 - IfStatement 114376 114493 - PrefixUnaryExpression 114398 114414 - Identifier 114399 114414 - ExpressionStatement 114415 114493 - CallExpression 114415 114492 - Identifier 114415 114455 - Identifier 114456 114462 - Identifier 114463 114471 - Identifier 114472 114483 - Identifier 114484 114491 - FunctionDeclaration 114519 114797 - Identifier 114539 114561 - Parameter 114562 114581 - Identifier 114562 114566 - ArrayType 114567 114581 - TypeReference 114567 114579 - Identifier 114567 114579 - Parameter 114582 114597 - Identifier 114582 114589 - TypeReference 114590 114597 - Identifier 114590 114597 - VoidKeyword 114599 114604 - Block 114604 114797 - IfStatement 114606 114786 - PropertyAccessExpression 114624 114643 - Identifier 114624 114630 - Identifier 114631 114643 - Block 114644 114786 - ForOfStatement 114646 114771 - VariableDeclarationList 114669 114679 - VariableDeclaration 114674 114679 - Identifier 114674 114679 - PropertyAccessExpression 114682 114702 - Identifier 114682 114689 - Identifier 114690 114702 - Block 114703 114771 - ExpressionStatement 114705 114752 - CallExpression 114705 114751 - Identifier 114705 114739 - Identifier 114740 114744 - Identifier 114745 114750 - FunctionDeclaration 114804 115101 - Identifier 114820 114860 - Parameter 114861 114875 - Identifier 114861 114867 - TypeReference 114868 114875 - Identifier 114868 114875 - Parameter 114876 114903 - Identifier 114876 114884 - TypeReference 114885 114903 - Identifier 114885 114903 - Parameter 114904 114923 - Identifier 114904 114915 - StringKeyword 114916 114923 - Parameter 114924 114939 - Identifier 114924 114931 - TypeReference 114932 114939 - Identifier 114932 114939 - Block 114940 115101 - ExpressionStatement 114942 115094 - CallExpression 114942 115093 - Identifier 114942 114959 - PropertyAccessExpression 114960 114979 - Identifier 114960 114966 - Identifier 114967 114979 - ArrowFunction 114980 115092 - Parameter 114980 114985 - Identifier 114980 114985 - EqualsGreaterThanToken 114985 114988 - Block 114988 115092 - ExpressionStatement 114990 115081 - CallExpression 114990 115080 - Identifier 114990 115032 - Identifier 115033 115037 - Identifier 115038 115046 - Identifier 115047 115058 - PropertyAccessExpression 115059 115079 - Identifier 115059 115066 - Identifier 115067 115079 - FunctionDeclaration 115101 116439 - Identifier 115117 115146 - Parameter 115147 115164 - Identifier 115147 115151 - TypeReference 115152 115164 - Identifier 115152 115164 - Parameter 115165 115192 - Identifier 115165 115173 - TypeReference 115174 115192 - Identifier 115174 115192 - Parameter 115193 115212 - Identifier 115193 115204 - StringKeyword 115205 115212 - Parameter 115213 115262 - Identifier 115213 115226 - UnionType 115227 115262 - TypeOperator 115227 115250 - ArrayType 115236 115250 - TypeReference 115236 115248 - Identifier 115236 115248 - UndefinedKeyword 115252 115262 - Block 115263 116439 - VariableStatement 115265 115418 - VariableDeclarationList 115265 115417 - VariableDeclaration 115280 115417 - Identifier 115280 115290 - BinaryExpression 115292 115417 - ParenthesizedExpression 115292 115409 - ConditionalExpression 115294 115408 - CallExpression 115294 115354 - Identifier 115294 115315 - Identifier 115316 115320 - FalseKeyword 115321 115353 - QuestionToken 115354 115356 - CallExpression 115356 115379 - Identifier 115356 115373 - Identifier 115374 115378 - ColonToken 115379 115381 - CallExpression 115381 115408 - Identifier 115381 115402 - Identifier 115403 115407 - BarBarToken 115409 115412 - Identifier 115412 115417 - VariableStatement 115418 115491 - VariableDeclarationList 115418 115490 - VariableDeclaration 115433 115490 - Identifier 115433 115437 - CallExpression 115439 115490 - Identifier 115439 115458 - Identifier 115459 115468 - Identifier 115469 115477 - Identifier 115478 115489 - ForOfStatement 115491 116432 - VariableDeclarationList 115506 115523 - VariableDeclaration 115511 115523 - Identifier 115511 115523 - BinaryExpression 115526 115553 - Identifier 115526 115539 - BarBarToken 115539 115542 - Identifier 115542 115553 - Block 115554 116432 - VariableStatement 115556 115744 - VariableDeclarationList 115556 115743 - VariableDeclaration 115575 115743 - Identifier 115575 115588 - BinaryExpression 115590 115743 - ParenthesizedExpression 115590 115728 - ConditionalExpression 115592 115727 - CallExpression 115592 115659 - Identifier 115592 115613 - Identifier 115614 115625 - FalseKeyword 115626 115658 - QuestionToken 115659 115661 - CallExpression 115661 115691 - Identifier 115661 115678 - Identifier 115679 115690 - ColonToken 115691 115693 - CallExpression 115693 115727 - Identifier 115693 115714 - Identifier 115715 115726 - BarBarToken 115728 115731 - Identifier 115731 115743 - IfStatement 115744 115799 - BinaryExpression 115762 115788 - Identifier 115762 115774 - EqualsEqualsEqualsToken 115774 115778 - Identifier 115778 115788 - ContinueStatement 115789 115799 - ExpressionStatement 115799 115867 - BinaryExpression 115799 115866 - PropertyAccessExpression 115799 115835 - Identifier 115799 115816 - Identifier 115817 115835 - EqualsToken 115835 115837 - BinaryExpression 115837 115866 - PropertyAccessExpression 115837 115860 - Identifier 115837 115841 - Identifier 115842 115860 - BarBarToken 115860 115863 - ArrayLiteralExpression 115863 115866 - VariableStatement 115867 115993 - VariableDeclarationList 115867 115992 - VariableDeclaration 115886 115992 - Identifier 115886 115901 - CallExpression 115903 115992 - Identifier 115903 115927 - Identifier 115928 115940 - PropertyAccessExpression 115941 115979 - Identifier 115941 115953 - Identifier 115954 115979 - Identifier 115980 115991 - VariableStatement 115993 116091 - VariableDeclarationList 115993 116090 - VariableDeclaration 116012 116090 - Identifier 116012 116028 - CallExpression 116030 116090 - Identifier 116030 116054 - Identifier 116055 116067 - PropertyAccessExpression 116068 116089 - Identifier 116068 116080 - Identifier 116081 116089 - IfStatement 116091 116319 - BinaryExpression 116109 116308 - BinaryExpression 116109 116144 - CallExpression 116109 116139 - Identifier 116109 116115 - PropertyAccessExpression 116116 116138 - Identifier 116116 116119 - Identifier 116120 116138 - GreaterThanEqualsToken 116139 116142 - NumericLiteral 116142 116144 - BarBarToken 116144 116147 - CallExpression 116147 116308 - Identifier 116147 116152 - PropertyAccessExpression 116153 116175 - Identifier 116153 116156 - Identifier 116157 116175 - ArrowFunction 116176 116307 - Parameter 116176 116178 - Identifier 116176 116178 - EqualsGreaterThanToken 116178 116181 - BinaryExpression 116181 116307 - BinaryExpression 116181 116243 - CallExpression 116181 116220 - Identifier 116181 116200 - Identifier 116201 116202 - Identifier 116203 116219 - EqualsEqualsEqualsToken 116220 116224 - PropertyAccessExpression 116224 116243 - Identifier 116224 116235 - Identifier 116236 116243 - BarBarToken 116243 116246 - BinaryExpression 116246 116307 - CallExpression 116246 116284 - Identifier 116246 116265 - Identifier 116266 116267 - Identifier 116268 116283 - EqualsEqualsEqualsToken 116284 116288 - PropertyAccessExpression 116288 116307 - Identifier 116288 116299 - Identifier 116300 116307 - ContinueStatement 116309 116319 - ExpressionStatement 116319 116421 - CallExpression 116319 116420 - Identifier 116319 116347 - Identifier 116348 116351 - ConditionalExpression 116352 116419 - PrefixUnaryExpression 116352 116384 - CallExpression 116354 116384 - Identifier 116354 116360 - PropertyAccessExpression 116361 116383 - Identifier 116361 116364 - Identifier 116365 116383 - QuestionToken 116384 116386 - Identifier 116386 116401 - ColonToken 116401 116403 - Identifier 116403 116419 - FunctionDeclaration 116439 116820 - Identifier 116455 116475 - Parameter 116476 116506 - Identifier 116476 116481 - UnionType 116482 116506 - TypeReference 116482 116494 - Identifier 116482 116494 - UndefinedKeyword 116496 116506 - Parameter 116507 116539 - Identifier 116507 116514 - UnionType 116515 116539 - TypeReference 116515 116527 - Identifier 116515 116527 - UndefinedKeyword 116529 116539 - UnionType 116541 116565 - TypeReference 116541 116553 - Identifier 116541 116553 - UndefinedKeyword 116555 116565 - Block 116565 116820 - IfStatement 116567 116609 - PrefixUnaryExpression 116581 116593 - PropertyAccessExpression 116582 116593 - Identifier 116582 116587 - QuestionDotToken 116587 116589 - Identifier 116589 116593 - ReturnStatement 116594 116609 - Identifier 116601 116608 - IfStatement 116609 116651 - PrefixUnaryExpression 116623 116636 - PropertyAccessExpression 116624 116636 - Identifier 116624 116630 - QuestionDotToken 116630 116632 - Identifier 116632 116636 - ReturnStatement 116637 116651 - Identifier 116644 116650 - VariableStatement 116651 116698 - VariableDeclarationList 116651 116697 - VariableDeclaration 116666 116697 - Identifier 116666 116675 - CallExpression 116677 116697 - Identifier 116677 116695 - ExpressionStatement 116698 116742 - CallExpression 116698 116741 - Identifier 116698 116724 - Identifier 116725 116733 - Identifier 116734 116740 - ExpressionStatement 116742 116787 - CallExpression 116742 116786 - Identifier 116742 116768 - Identifier 116769 116777 - Identifier 116778 116785 - ReturnStatement 116787 116813 - Identifier 116803 116812 - FunctionDeclaration 116820 118244 - Identifier 116836 116853 - Parameter 116854 116873 - Identifier 116854 116860 - TypeReference 116861 116873 - Identifier 116861 116873 - Parameter 116874 116894 - Identifier 116874 116881 - TypeReference 116882 116894 - Identifier 116882 116894 - Parameter 116895 116918 - Identifier 116895 116910 - FalseKeyword 116912 116918 - Parameter 116919 116941 - Identifier 116919 116932 - QuestionToken 116932 116933 - TypeReference 116934 116941 - Identifier 116934 116941 - Block 116942 118244 - ExpressionStatement 116944 118237 - CallExpression 116944 118236 - PropertyAccessExpression 116944 116968 - Identifier 116944 116960 - Identifier 116961 116968 - ArrowFunction 116969 118235 - Parameter 116970 116982 - Identifier 116970 116982 - Parameter 116983 116986 - Identifier 116983 116986 - EqualsGreaterThanToken 116987 116990 - Block 116990 118235 - VariableStatement 116992 117042 - VariableDeclarationList 116992 117041 - VariableDeclaration 117011 117041 - Identifier 117011 117024 - CallExpression 117026 117041 - PropertyAccessExpression 117026 117037 - Identifier 117026 117033 - Identifier 117034 117037 - Identifier 117038 117040 - VariableStatement 117042 117174 - VariableDeclarationList 117042 117173 - VariableDeclaration 117061 117173 - Identifier 117061 117068 - ConditionalExpression 117070 117173 - Identifier 117070 117083 - QuestionToken 117083 117085 - CallExpression 117085 117141 - Identifier 117085 117097 - Identifier 117098 117110 - Identifier 117111 117124 - Identifier 117125 117140 - ColonToken 117141 117143 - CallExpression 117143 117173 - Identifier 117143 117159 - Identifier 117160 117172 - IfStatement 117174 118187 - BinaryExpression 117192 117220 - Identifier 117192 117204 - AmpersandAmpersandToken 117204 117207 - Identifier 117207 117220 - Block 117221 118187 - ExpressionStatement 117223 118172 - BinaryExpression 117223 118171 - PropertyAccessExpression 117223 118156 - Identifier 117223 118149 - Identifier 118150 118156 - EqualsToken 118156 118158 - Identifier 118158 118171 - ExpressionStatement 118187 118224 - CallExpression 118187 118223 - PropertyAccessExpression 118187 118211 - Identifier 118187 118207 - Identifier 118208 118211 - Identifier 118212 118214 - Identifier 118215 118222 - FunctionDeclaration 118244 122030 - Identifier 118260 118284 - Parameter 118285 118323 - Identifier 118285 118295 - UnionType 118296 118323 - TypeReference 118296 118310 - Identifier 118296 118310 - TypeReference 118312 118323 - Identifier 118312 118323 - VoidKeyword 118325 118330 - Block 118330 122030 - VariableStatement 118332 118408 - VariableDeclarationList 118332 118407 - VariableDeclaration 118347 118407 - Identifier 118347 118366 - AsExpression 118368 118407 - PropertyAccessExpression 118368 118386 - Identifier 118368 118379 - Identifier 118380 118386 - TypeReference 118389 118407 - Identifier 118389 118407 - IfStatement 118408 118865 - BinaryExpression 118422 118488 - ElementAccessExpression 118422 118465 - PropertyAccessExpression 118422 118460 - PropertyAccessExpression 118422 118447 - Identifier 118422 118440 - Identifier 118441 118447 - Identifier 118448 118460 - QuestionDotToken 118460 118462 - NumericLiteral 118463 118464 - ExclamationEqualsEqualsToken 118465 118469 - Identifier 118469 118488 - Block 118489 118865 - ExpressionStatement 118491 118833 - CallExpression 118491 118832 - PropertyAccessExpression 118491 118780 - Identifier 118491 118773 - Identifier 118774 118780 - BinaryExpression 118781 118831 - PropertyAccessExpression 118781 118827 - NonNullExpression 118781 118820 - PropertyAccessExpression 118781 118819 - PropertyAccessExpression 118781 118806 - Identifier 118781 118799 - Identifier 118800 118806 - Identifier 118807 118819 - Identifier 118821 118827 - GreaterThanToken 118827 118829 - NumericLiteral 118829 118831 - ReturnStatement 118833 118854 - IfStatement 118865 122023 - CallExpression 118881 118926 - Identifier 118881 118906 - Identifier 118907 118925 - Block 118927 119016 - ExpressionStatement 118929 119005 - CallExpression 118929 119004 - Identifier 118929 118959 - Identifier 118960 118967 - NonNullExpression 118968 119003 - PropertyAccessExpression 118968 119002 - PropertyAccessExpression 118968 118994 - Identifier 118968 118987 - Identifier 118988 118994 - Identifier 118995 119002 - Block 119030 122023 - VariableStatement 119032 119397 - VariableDeclarationList 119032 119396 - VariableDeclaration 119199 119396 - Identifier 119199 119219 - ConditionalExpression 119221 119396 - PrefixUnaryExpression 119221 119275 - ParenthesizedExpression 119223 119275 - BinaryExpression 119224 119274 - PropertyAccessExpression 119224 119254 - PropertyAccessExpression 119224 119248 - PropertyAccessExpression 119224 119241 - Identifier 119224 119234 - Identifier 119235 119241 - Identifier 119242 119248 - Identifier 119249 119254 - AmpersandToken 119254 119256 - PropertyAccessExpression 119256 119274 - Identifier 119256 119266 - Identifier 119267 119274 - QuestionToken 119275 119294 - PropertyAccessExpression 119294 119367 - Identifier 119294 119306 - Identifier 119307 119367 - ColonToken 119367 119386 - Identifier 119386 119396 - VariableStatement 119397 119557 - VariableDeclarationList 119397 119556 - VariableDeclaration 119414 119556 - Identifier 119414 119425 - CallExpression 119427 119556 - Identifier 119427 119459 - Identifier 119460 119470 - Identifier 119471 119482 - Identifier 119483 119503 - FalseKeyword 119504 119527 - TrueKeyword 119528 119555 - IfStatement 119557 119629 - PrefixUnaryExpression 119575 119586 - Identifier 119576 119586 - Block 119587 119629 - ReturnStatement 119589 119614 - ExpressionStatement 119629 119748 - BinaryExpression 119629 119747 - Identifier 119629 119705 - EqualsToken 119705 119707 - CallExpression 119707 119747 - Identifier 119707 119735 - Identifier 119736 119746 - IfStatement 119748 122012 - BinaryExpression 119766 119806 - PropertyAccessExpression 119766 119782 - Identifier 119766 119776 - Identifier 119777 119782 - AmpersandToken 119782 119784 - PropertyAccessExpression 119784 119806 - Identifier 119784 119796 - Identifier 119797 119806 - Block 119807 121734 - IfStatement 119809 121719 - CallExpression 120277 120344 - Identifier 120277 120281 - Identifier 120282 120303 - ArrowFunction 120304 120343 - Parameter 120304 120311 - Identifier 120304 120311 - EqualsGreaterThanToken 120311 120314 - BinaryExpression 120314 120343 - Identifier 120314 120325 - EqualsEqualsEqualsToken 120325 120329 - PropertyAccessExpression 120329 120343 - Identifier 120329 120336 - Identifier 120337 120343 - Block 120345 120836 - VariableStatement 120347 120460 - VariableDeclarationList 120347 120459 - VariableDeclaration 120374 120459 - Identifier 120374 120381 - CallExpression 120383 120459 - Identifier 120383 120395 - PropertyAccessExpression 120396 120421 - Identifier 120396 120414 - Identifier 120415 120421 - Identifier 120422 120433 - TrueKeyword 120434 120458 - IfStatement 120460 120618 - PrefixUnaryExpression 120486 120520 - Identifier 120487 120520 - Block 120521 120618 - ExpressionStatement 120523 120595 - BinaryExpression 120523 120594 - Identifier 120523 120582 - EqualsToken 120582 120584 - NewExpression 120584 120594 - Identifier 120588 120592 - ExpressionStatement 120618 120817 - CallExpression 120618 120816 - PropertyAccessExpression 120618 120772 - Identifier 120618 120768 - Identifier 120769 120772 - PropertyAccessExpression 120773 120807 - ParenthesizedExpression 120773 120802 - AsExpression 120774 120801 - Identifier 120774 120784 - TypeReference 120787 120801 - Identifier 120787 120801 - Identifier 120803 120807 - Identifier 120808 120815 - Block 120858 121719 - IfStatement 120860 121627 - BinaryExpression 120886 120983 - CallExpression 120886 120940 - PropertyAccessExpression 120886 120909 - PropertyAccessExpression 120886 120904 - Identifier 120886 120896 - Identifier 120897 120904 - QuestionDotToken 120904 120906 - Identifier 120906 120909 - PropertyAccessExpression 120910 120939 - Identifier 120910 120928 - Identifier 120929 120939 - AmpersandAmpersandToken 120940 120943 - PropertyAccessExpression 120943 120983 - PropertyAccessExpression 120943 120977 - PropertyAccessExpression 120943 120969 - Identifier 120943 120962 - Identifier 120963 120969 - Identifier 120970 120977 - QuestionDotToken 120977 120979 - Identifier 120979 120983 - Block 120984 121627 - VariableStatement 120986 121263 - VariableDeclarationList 120986 121262 - VariableDeclaration 121148 121262 - Identifier 121148 121164 - CallExpression 121166 121262 - Identifier 121166 121202 - Identifier 121203 121213 - PropertyAccessExpression 121214 121261 - Identifier 121214 121245 - Identifier 121246 121261 - ForOfStatement 121263 121604 - VariableDeclarationList 121294 121312 - VariableDeclaration 121299 121312 - ArrayBindingPattern 121299 121312 - BindingElement 121301 121304 - Identifier 121301 121304 - BindingElement 121305 121311 - Identifier 121305 121311 - CallExpression 121315 121370 - Identifier 121315 121325 - CallExpression 121326 121369 - PropertyAccessExpression 121326 121367 - PropertyAccessExpression 121326 121359 - PropertyAccessExpression 121326 121351 - Identifier 121326 121344 - Identifier 121345 121351 - Identifier 121352 121359 - Identifier 121360 121367 - Block 121371 121604 - IfStatement 121373 121577 - BinaryExpression 121407 121463 - CallExpression 121407 121431 - PropertyAccessExpression 121407 121426 - Identifier 121407 121422 - Identifier 121423 121426 - Identifier 121427 121430 - AmpersandAmpersandToken 121431 121434 - PrefixUnaryExpression 121434 121463 - CallExpression 121436 121463 - PropertyAccessExpression 121436 121458 - PropertyAccessExpression 121436 121454 - Identifier 121436 121446 - Identifier 121447 121454 - Identifier 121455 121458 - Identifier 121459 121462 - Block 121464 121577 - ExpressionStatement 121466 121546 - CallExpression 121466 121545 - Identifier 121466 121511 - NonNullExpression 121512 121537 - CallExpression 121512 121536 - PropertyAccessExpression 121512 121531 - Identifier 121512 121527 - Identifier 121528 121531 - Identifier 121532 121535 - Identifier 121538 121544 - ExpressionStatement 121627 121700 - CallExpression 121627 121699 - Identifier 121627 121660 - Identifier 121661 121671 - PropertyAccessExpression 121672 121698 - Identifier 121672 121691 - Identifier 121692 121698 - Block 121752 122012 - ExpressionStatement 121754 121997 - CallExpression 121754 121996 - Identifier 121754 121868 - Identifier 121869 121879 - PropertyAccessExpression 121880 121959 - Identifier 121880 121892 - Identifier 121893 121959 - PropertyAccessExpression 121960 121995 - ParenthesizedExpression 121960 121990 - AsExpression 121962 121989 - Identifier 121962 121972 - TypeReference 121975 121989 - Identifier 121975 121989 - Identifier 121991 121995 - FunctionDeclaration 122030 122760 - Identifier 122046 122090 - Block 122092 122760 - VariableStatement 122094 122145 - VariableDeclarationList 122094 122144 - VariableDeclaration 122109 122144 - Identifier 122109 122114 - PropertyAccessExpression 122116 122144 - Identifier 122116 122132 - Identifier 122133 122144 - VariableStatement 122145 122194 - VariableDeclarationList 122145 122193 - VariableDeclaration 122160 122193 - Identifier 122160 122173 - CallExpression 122175 122193 - PropertyAccessExpression 122175 122187 - Identifier 122175 122183 - Identifier 122184 122187 - Identifier 122188 122192 - IfStatement 122194 122753 - Identifier 122208 122220 - Block 122221 122677 - ExpressionStatement 122223 122666 - CallExpression 122223 122665 - Identifier 122223 122244 - PropertyAccessExpression 122245 122270 - Identifier 122245 122257 - Identifier 122258 122270 - ArrowFunction 122271 122664 - Parameter 122271 122283 - Identifier 122271 122283 - EqualsGreaterThanToken 122283 122286 - Block 122286 122664 - IfStatement 122288 122649 - PrefixUnaryExpression 122412 122443 - CallExpression 122413 122443 - Identifier 122413 122430 - Identifier 122431 122442 - Block 122444 122649 - ExpressionStatement 122446 122630 - CallExpression 122446 122629 - PropertyAccessExpression 122446 122483 - Identifier 122446 122479 - Identifier 122480 122483 - CallExpression 122484 122628 - Identifier 122484 122507 - Identifier 122508 122519 - PropertyAccessExpression 122520 122593 - Identifier 122520 122532 - Identifier 122533 122593 - CallExpression 122594 122627 - Identifier 122594 122621 - Identifier 122622 122626 - Block 122691 122753 - ExpressionStatement 122693 122742 - CallExpression 122693 122741 - PropertyAccessExpression 122693 122718 - Identifier 122693 122714 - Identifier 122715 122718 - Identifier 122719 122723 - Identifier 122724 122740 - FunctionDeclaration 122760 123018 - Identifier 122776 122791 - Parameter 122792 122806 - Identifier 122792 122798 - TypeReference 122799 122806 - Identifier 122799 122806 - TypeReference 122808 122820 - Identifier 122808 122820 - Block 122820 123018 - IfStatement 122822 122915 - BinaryExpression 122836 122872 - PropertyAccessExpression 122836 122848 - Identifier 122836 122842 - Identifier 122843 122848 - AmpersandToken 122848 122850 - PropertyAccessExpression 122850 122872 - Identifier 122850 122862 - Identifier 122863 122872 - ReturnStatement 122873 122915 - PropertyAccessExpression 122880 122914 - ParenthesizedExpression 122880 122908 - AsExpression 122882 122907 - Identifier 122882 122888 - TypeReference 122891 122907 - Identifier 122891 122907 - Identifier 122909 122914 - VariableStatement 122915 122956 - VariableDeclarationList 122915 122955 - VariableDeclaration 122930 122955 - Identifier 122930 122933 - CallExpression 122935 122955 - Identifier 122935 122947 - Identifier 122948 122954 - ReturnStatement 122956 123011 - BinaryExpression 122972 123010 - ElementAccessExpression 122972 122988 - Identifier 122972 122984 - Identifier 122985 122987 - QuestionQuestionEqualsToken 122988 122992 - NewExpression 122992 123010 - Identifier 122996 123008 - FunctionDeclaration 123018 123205 - Identifier 123034 123047 - Parameter 123048 123058 - Identifier 123048 123052 - TypeReference 123053 123058 - Identifier 123053 123058 - TypeReference 123060 123070 - Identifier 123060 123070 - Block 123070 123205 - VariableStatement 123072 123113 - VariableDeclarationList 123072 123112 - VariableDeclaration 123087 123112 - Identifier 123087 123094 - CallExpression 123096 123112 - Identifier 123096 123106 - Identifier 123107 123111 - ReturnStatement 123113 123198 - BinaryExpression 123129 123197 - ElementAccessExpression 123129 123147 - Identifier 123129 123139 - Identifier 123140 123146 - BarBarToken 123147 123150 - ParenthesizedExpression 123150 123197 - BinaryExpression 123152 123196 - ElementAccessExpression 123152 123169 - Identifier 123152 123161 - Identifier 123162 123168 - EqualsToken 123169 123171 - NewExpression 123171 123196 - ParenthesizedExpression 123175 123194 - AsExpression 123177 123193 - Identifier 123177 123186 - AnyKeyword 123189 123193 - FunctionDeclaration 123205 124008 - Identifier 123221 123231 - Parameter 123232 123252 - Identifier 123232 123239 - TypeReference 123240 123252 - Identifier 123240 123252 - Parameter 123253 123268 - Identifier 123253 123258 - TypeReference 123259 123268 - Identifier 123259 123268 - Parameter 123269 123290 - Identifier 123269 123277 - TypeReference 123278 123290 - Identifier 123278 123290 - UnionType 123292 123311 - TypeReference 123292 123299 - Identifier 123292 123299 - UndefinedKeyword 123301 123311 - Block 123311 124008 - IfStatement 123313 123945 - Identifier 123327 123334 - Block 123335 123945 - VariableStatement 123337 123401 - VariableDeclarationList 123337 123400 - VariableDeclaration 123356 123400 - Identifier 123356 123363 - CallExpression 123365 123400 - Identifier 123365 123381 - CallExpression 123382 123399 - PropertyAccessExpression 123382 123393 - Identifier 123382 123389 - Identifier 123390 123393 - Identifier 123394 123398 - IfStatement 123401 123934 - Identifier 123419 123425 - Block 123426 123934 - IfStatement 123428 123530 - BinaryExpression 123450 123472 - PropertyAccessExpression 123450 123462 - Identifier 123450 123456 - Identifier 123457 123462 - AmpersandToken 123462 123464 - Identifier 123464 123472 - Block 123473 123530 - ReturnStatement 123475 123511 - Identifier 123503 123510 - IfStatement 123530 123919 - BinaryExpression 123552 123584 - PropertyAccessExpression 123552 123564 - Identifier 123552 123558 - Identifier 123559 123564 - AmpersandToken 123564 123566 - PropertyAccessExpression 123566 123584 - Identifier 123566 123578 - Identifier 123579 123584 - Block 123585 123919 - VariableStatement 123587 123652 - VariableDeclarationList 123587 123651 - VariableDeclaration 123614 123651 - Identifier 123614 123626 - CallExpression 123628 123651 - Identifier 123628 123643 - Identifier 123644 123650 - IfStatement 123652 123900 - BinaryExpression 123813 123834 - Identifier 123813 123824 - AmpersandToken 123824 123826 - Identifier 123826 123834 - Block 123835 123900 - ReturnStatement 123837 123877 - Identifier 123869 123876 - FunctionDeclaration 124008 125047 - Identifier 124318 124359 - Parameter 124360 124399 - Identifier 124360 124369 - TypeReference 124370 124399 - Identifier 124370 124399 - Parameter 124400 124424 - Identifier 124400 124414 - TypeReference 124415 124424 - Identifier 124415 124424 - TupleType 124426 124443 - TypeReference 124428 124434 - Identifier 124428 124434 - TypeReference 124435 124442 - Identifier 124435 124442 - Block 124443 125047 - VariableStatement 124445 124503 - VariableDeclarationList 124445 124502 - VariableDeclaration 124460 124502 - Identifier 124460 124483 - PropertyAccessExpression 124485 124502 - Identifier 124485 124495 - Identifier 124496 124502 - VariableStatement 124503 124562 - VariableDeclarationList 124503 124561 - VariableDeclaration 124518 124561 - Identifier 124518 124535 - PropertyAccessExpression 124537 124561 - PropertyAccessExpression 124537 124554 - Identifier 124537 124547 - Identifier 124548 124554 - Identifier 124555 124561 - VariableStatement 124562 124674 - VariableDeclarationList 124562 124673 - VariableDeclaration 124579 124673 - Identifier 124579 124595 - CallExpression 124597 124673 - Identifier 124597 124607 - NonNullExpression 124608 124638 - PropertyAccessExpression 124608 124637 - Identifier 124608 124630 - Identifier 124631 124637 - Identifier 124639 124653 - PropertyAccessExpression 124654 124672 - Identifier 124654 124666 - Identifier 124667 124672 - VariableStatement 124674 124796 - VariableDeclarationList 124674 124795 - VariableDeclaration 124689 124795 - Identifier 124689 124704 - CallExpression 124706 124795 - Identifier 124706 124716 - CallExpression 124717 124760 - Identifier 124717 124735 - PropertyAccessExpression 124736 124759 - Identifier 124736 124752 - Identifier 124753 124759 - Identifier 124761 124775 - PropertyAccessExpression 124776 124794 - Identifier 124776 124788 - Identifier 124789 124794 - IfStatement 124796 124914 - BinaryExpression 124812 124845 - Identifier 124812 124827 - AmpersandAmpersandToken 124827 124830 - Identifier 124830 124845 - Block 124846 124914 - ReturnStatement 124848 124903 - ArrayLiteralExpression 124868 124902 - Identifier 124870 124885 - Identifier 124886 124901 - ReturnStatement 124914 125040 - CallExpression 124932 125039 - PropertyAccessExpression 124932 124943 - Identifier 124932 124938 - Identifier 124939 124943 - StringLiteral 124944 125038 - FunctionDeclaration 125047 137353 - Identifier 125063 125098 - Parameter 125099 125123 - Identifier 125099 125110 - TypeReference 125111 125123 - Identifier 125111 125123 - Parameter 125124 125136 - Identifier 125124 125130 - TypeReference 125131 125136 - Identifier 125131 125136 - BooleanKeyword 125138 125146 - Block 125146 137353 - VariableStatement 125148 125215 - VariableDeclarationList 125148 125214 - VariableDeclaration 125163 125214 - Identifier 125163 125179 - CallExpression 125181 125214 - Identifier 125181 125201 - Identifier 125202 125213 - VariableStatement 125215 125268 - VariableDeclarationList 125215 125267 - VariableDeclaration 125230 125267 - Identifier 125230 125238 - CallExpression 125240 125267 - Identifier 125240 125260 - Identifier 125261 125266 - VariableStatement 125268 125345 - VariableDeclarationList 125268 125344 - VariableDeclaration 125283 125344 - Identifier 125283 125297 - CallExpression 125299 125344 - Identifier 125299 125331 - Identifier 125332 125343 - IfStatement 125345 126237 - BinaryExpression 125359 125386 - Identifier 125359 125374 - ExclamationEqualsEqualsToken 125374 125378 - Identifier 125378 125386 - Block 125387 126237 - IfStatement 125389 125805 - BinaryExpression 125407 125663 - BinaryExpression 125407 125605 - BinaryExpression 125407 125564 - ParenthesizedExpression 125407 125517 - BinaryExpression 125426 125516 - Identifier 125426 125436 - AmpersandAmpersandToken 125436 125439 - ParenthesizedExpression 125439 125516 - BinaryExpression 125441 125515 - PropertyAccessExpression 125441 125480 - Identifier 125441 125456 - Identifier 125457 125480 - BarBarToken 125480 125483 - PropertyAccessExpression 125483 125515 - Identifier 125483 125491 - Identifier 125492 125515 - BarBarToken 125517 125520 - ParenthesizedExpression 125520 125564 - PrefixUnaryExpression 125539 125563 - PropertyAccessExpression 125540 125563 - Identifier 125540 125555 - Identifier 125556 125563 - BarBarToken 125564 125567 - CallExpression 125567 125605 - Identifier 125567 125598 - Identifier 125599 125604 - BarBarToken 125605 125608 - BinaryExpression 125608 125663 - PropertyAccessExpression 125608 125643 - Identifier 125608 125637 - Identifier 125638 125643 - AmpersandToken 125643 125645 - PropertyAccessExpression 125645 125663 - Identifier 125645 125655 - Identifier 125656 125663 - Block 125678 125805 - ReturnStatement 125680 125790 - TrueKeyword 125784 125789 - IfStatement 125805 126080 - CallExpression 125978 126032 - Identifier 125978 126012 - Identifier 126013 126018 - Identifier 126019 126031 - Block 126033 126080 - ReturnStatement 126035 126065 - TrueKeyword 126059 126064 - VariableStatement 126080 126136 - VariableDeclarationList 126080 126135 - VariableDeclaration 126099 126135 - Identifier 126099 126111 - CallExpression 126113 126135 - PropertyAccessExpression 126113 126133 - Identifier 126113 126118 - Identifier 126119 126133 - ReturnStatement 126136 126226 - BinaryExpression 126156 126225 - CallExpression 126156 126193 - PropertyAccessExpression 126156 126176 - Identifier 126156 126168 - Identifier 126169 126176 - Identifier 126177 126192 - LessThanEqualsToken 126193 126196 - CallExpression 126196 126225 - PropertyAccessExpression 126196 126216 - Identifier 126196 126208 - Identifier 126209 126216 - Identifier 126217 126224 - IfStatement 126237 126474 - BinaryExpression 126345 126434 - BinaryExpression 126345 126402 - PrefixUnaryExpression 126345 126378 - PrefixUnaryExpression 126346 126378 - ParenthesizedExpression 126347 126378 - BinaryExpression 126348 126377 - PropertyAccessExpression 126348 126359 - Identifier 126348 126353 - Identifier 126354 126359 - AmpersandToken 126359 126361 - PropertyAccessExpression 126361 126377 - Identifier 126361 126371 - Identifier 126372 126377 - BarBarToken 126378 126381 - CallExpression 126381 126402 - Identifier 126381 126395 - Identifier 126396 126401 - BarBarToken 126402 126405 - CallExpression 126405 126434 - Identifier 126405 126427 - Identifier 126428 126433 - Block 126435 126474 - ReturnStatement 126437 126463 - TrueKeyword 126457 126462 - IfStatement 126474 130128 - BinaryExpression 126490 126652 - BinaryExpression 126490 126518 - PropertyAccessExpression 126490 126505 - Identifier 126490 126501 - Identifier 126502 126505 - LessThanEqualsToken 126505 126508 - PropertyAccessExpression 126508 126518 - Identifier 126508 126514 - Identifier 126515 126518 - AmpersandAmpersandToken 126518 126521 - PrefixUnaryExpression 126521 126652 - ParenthesizedExpression 126523 126652 - BinaryExpression 126524 126651 - BinaryExpression 126524 126618 - BinaryExpression 126524 126590 - CallExpression 126524 126558 - Identifier 126524 126545 - Identifier 126546 126557 - AmpersandAmpersandToken 126558 126561 - CallExpression 126561 126590 - Identifier 126561 126576 - PropertyAccessExpression 126577 126589 - Identifier 126577 126582 - Identifier 126583 126589 - AmpersandAmpersandToken 126590 126593 - PrefixUnaryExpression 126593 126618 - PropertyAccessExpression 126595 126618 - Identifier 126595 126606 - Identifier 126607 126618 - AmpersandAmpersandToken 126618 126621 - PrefixUnaryExpression 126621 126651 - PropertyAccessExpression 126623 126651 - Identifier 126623 126634 - Identifier 126635 126651 - Block 126653 130128 - IfStatement 126655 130091 - BinaryExpression 126717 126763 - PropertyAccessExpression 126717 126733 - Identifier 126717 126728 - Identifier 126729 126733 - EqualsEqualsEqualsToken 126733 126737 - PropertyAccessExpression 126737 126763 - Identifier 126737 126748 - Identifier 126749 126763 - Block 126764 127532 - VariableStatement 126766 127003 - VariableDeclarationList 126766 127002 - VariableDeclaration 126916 127002 - Identifier 126916 126936 - AsExpression 126938 127002 - CallExpression 126938 126984 - Identifier 126938 126950 - Identifier 126951 126956 - PropertyAccessExpression 126957 126983 - Identifier 126957 126968 - Identifier 126969 126983 - TypeReference 126987 127002 - Identifier 126987 127002 - IfStatement 127003 127265 - Identifier 127025 127044 - Block 127045 127265 - ReturnStatement 127047 127246 - BinaryExpression 127075 127245 - BinaryExpression 127075 127175 - CallExpression 127075 127127 - Identifier 127075 127088 - Identifier 127089 127108 - Identifier 127109 127126 - ExclamationEqualsEqualsToken 127127 127131 - CallExpression 127131 127175 - Identifier 127131 127144 - Identifier 127145 127156 - Identifier 127157 127174 - BarBarToken 127175 127178 - BinaryExpression 127178 127245 - PropertyAccessExpression 127178 127219 - Identifier 127178 127215 - Identifier 127216 127219 - LessThanToken 127219 127221 - PropertyAccessExpression 127221 127245 - Identifier 127221 127241 - Identifier 127242 127245 - ReturnStatement 127265 127517 - CallExpression 127401 127516 - Identifier 127401 127436 - AsExpression 127437 127508 - CallExpression 127437 127493 - Identifier 127437 127448 - Identifier 127449 127460 - PropertyAccessExpression 127461 127492 - Identifier 127461 127472 - Identifier 127473 127492 - TypeReference 127496 127508 - Identifier 127496 127508 - Identifier 127509 127515 - IfStatement 127550 130091 - BinaryExpression 127555 127606 - PropertyAccessExpression 127555 127571 - Identifier 127555 127566 - Identifier 127567 127571 - EqualsEqualsEqualsToken 127571 127575 - PropertyAccessExpression 127575 127606 - Identifier 127575 127586 - Identifier 127587 127606 - Block 127607 127862 - ReturnStatement 127609 127847 - PrefixUnaryExpression 127750 127846 - CallExpression 127752 127846 - Identifier 127752 127803 - AsExpression 127804 127838 - Identifier 127804 127815 - TypeReference 127818 127838 - Identifier 127818 127838 - Identifier 127839 127845 - IfStatement 127880 130091 - CallExpression 127885 127909 - Identifier 127885 127896 - Identifier 127897 127908 - Block 127910 129344 - VariableStatement 127912 128974 - VariableDeclarationList 127912 128973 - VariableDeclaration 128308 128973 - Identifier 128308 128318 - CallExpression 128320 128973 - Identifier 128320 128333 - Identifier 128334 128339 - ArrowFunction 128340 128972 - Parameter 128340 128342 - Identifier 128340 128342 - EqualsGreaterThanToken 128342 128345 - ConditionalExpression 128345 128972 - BinaryExpression 128345 128384 - Identifier 128345 128368 - EqualsEqualsEqualsToken 128368 128372 - Identifier 128372 128384 - QuestionToken 128384 128386 - StringLiteral 128386 128393 - ColonToken 128393 128395 - ConditionalExpression 128395 128972 - CallExpression 128395 128446 - Identifier 128395 128443 - Identifier 128444 128445 - QuestionToken 128446 128448 - BinaryExpression 128448 128480 - PropertyAccessExpression 128448 128464 - PropertyAccessExpression 128448 128457 - Identifier 128448 128450 - Identifier 128451 128457 - Identifier 128458 128464 - EqualsEqualsEqualsToken 128464 128468 - Identifier 128468 128480 - ColonToken 128480 128482 - BinaryExpression 128482 128972 - BinaryExpression 128482 128543 - PrefixUnaryExpression 128482 128525 - Identifier 128509 128525 - AmpersandAmpersandToken 128525 128528 - CallExpression 128528 128543 - Identifier 128528 128540 - Identifier 128541 128542 - AmpersandAmpersandToken 128543 128546 - ParenthesizedExpression 128546 128972 - BinaryExpression 128548 128971 - BinaryExpression 128548 128875 - BinaryExpression 128548 128776 - BinaryExpression 128548 128669 - BinaryExpression 128548 128572 - PropertyAccessExpression 128548 128556 - Identifier 128548 128549 - Identifier 128550 128556 - EqualsEqualsEqualsToken 128556 128560 - Identifier 128560 128572 - BarBarToken 128572 128575 - BinaryExpression 128575 128669 - CallExpression 128575 128634 - Identifier 128575 128624 - PropertyAccessExpression 128625 128633 - Identifier 128625 128626 - Identifier 128627 128633 - AmpersandAmpersandToken 128634 128637 - BinaryExpression 128637 128669 - PropertyAccessExpression 128637 128653 - PropertyAccessExpression 128637 128646 - Identifier 128637 128639 - Identifier 128640 128646 - Identifier 128647 128653 - EqualsEqualsEqualsToken 128653 128657 - Identifier 128657 128669 - BarBarToken 128669 128672 - BinaryExpression 128672 128776 - CallExpression 128672 128741 - Identifier 128672 128731 - PropertyAccessExpression 128732 128740 - Identifier 128732 128733 - Identifier 128734 128740 - AmpersandAmpersandToken 128741 128744 - BinaryExpression 128744 128776 - PropertyAccessExpression 128744 128760 - PropertyAccessExpression 128744 128753 - Identifier 128744 128746 - Identifier 128747 128753 - Identifier 128754 128760 - EqualsEqualsEqualsToken 128760 128764 - Identifier 128764 128776 - BarBarToken 128776 128779 - BinaryExpression 128779 128875 - CallExpression 128779 128840 - Identifier 128779 128830 - PropertyAccessExpression 128831 128839 - Identifier 128831 128832 - Identifier 128833 128839 - AmpersandAmpersandToken 128840 128843 - BinaryExpression 128843 128875 - PropertyAccessExpression 128843 128859 - PropertyAccessExpression 128843 128852 - Identifier 128843 128845 - Identifier 128846 128852 - Identifier 128853 128859 - EqualsEqualsEqualsToken 128859 128863 - Identifier 128863 128875 - BarBarToken 128875 128878 - BinaryExpression 128878 128971 - CallExpression 128878 128929 - Identifier 128878 128919 - PropertyAccessExpression 128920 128928 - Identifier 128920 128921 - Identifier 128922 128928 - AmpersandAmpersandToken 128929 128932 - BinaryExpression 128932 128971 - PropertyAccessExpression 128932 128955 - PropertyAccessExpression 128932 128948 - PropertyAccessExpression 128932 128941 - Identifier 128932 128934 - Identifier 128935 128941 - Identifier 128942 128948 - Identifier 128949 128955 - EqualsEqualsEqualsToken 128955 128959 - Identifier 128959 128971 - IfStatement 128974 129062 - PrefixUnaryExpression 128996 129006 - Identifier 128997 129006 - Block 129007 129062 - ReturnStatement 129009 129043 - TrueKeyword 129037 129042 - IfStatement 129062 129298 - BinaryExpression 129084 129127 - PrefixUnaryExpression 129084 129101 - Identifier 129085 129101 - AmpersandAmpersandToken 129101 129104 - CallExpression 129104 129127 - Identifier 129104 129116 - Identifier 129117 129126 - Block 129128 129298 - ReturnStatement 129130 129279 - PrefixUnaryExpression 129158 129278 - PrefixUnaryExpression 129160 129278 - CallExpression 129161 129278 - Identifier 129161 129173 - Identifier 129174 129179 - ArrowFunction 129180 129277 - Parameter 129180 129182 - Identifier 129180 129182 - EqualsGreaterThanToken 129182 129185 - ConditionalExpression 129185 129277 - BinaryExpression 129185 129201 - Identifier 129185 129187 - EqualsEqualsEqualsToken 129187 129191 - Identifier 129191 129201 - QuestionToken 129201 129203 - StringLiteral 129203 129210 - ColonToken 129210 129212 - BinaryExpression 129212 129277 - CallExpression 129212 129230 - Identifier 129212 129227 - Identifier 129228 129229 - AmpersandAmpersandToken 129230 129233 - PrefixUnaryExpression 129233 129277 - CallExpression 129235 129277 - Identifier 129235 129274 - Identifier 129275 129276 - ReturnStatement 129298 129329 - FalseKeyword 129322 129328 - IfStatement 129362 130091 - CallExpression 129367 129401 - Identifier 129367 129388 - Identifier 129389 129400 - Block 129402 129664 - ReturnStatement 129404 129649 - PrefixUnaryExpression 129538 129648 - CallExpression 129540 129648 - Identifier 129540 129588 - Identifier 129589 129600 - Identifier 129601 129607 - FalseKeyword 129608 129647 - IfStatement 129682 130091 - CallExpression 129687 129750 - Identifier 129687 129717 - Identifier 129718 129729 - PropertyAccessExpression 129730 129749 - Identifier 129730 129742 - Identifier 129743 129749 - Block 129751 130091 - ReturnStatement 129753 130076 - PrefixUnaryExpression 129883 130075 - ParenthesizedExpression 129885 130075 - BinaryExpression 129886 130074 - BinaryExpression 129886 129995 - Identifier 129886 129909 - AmpersandAmpersandToken 129909 129933 - BinaryExpression 129933 129995 - CallExpression 129933 129965 - Identifier 129933 129952 - Identifier 129953 129964 - EqualsEqualsEqualsToken 129965 129969 - CallExpression 129969 129995 - Identifier 129969 129988 - Identifier 129989 129994 - AmpersandAmpersandToken 129995 130019 - CallExpression 130019 130074 - Identifier 130019 130054 - Identifier 130055 130060 - Identifier 130061 130073 - ReturnStatement 130091 130117 - TrueKeyword 130111 130116 - IfStatement 130128 131013 - BinaryExpression 130722 130878 - BinaryExpression 130722 130770 - PropertyAccessExpression 130722 130739 - PropertyAccessExpression 130722 130734 - Identifier 130722 130727 - Identifier 130728 130734 - Identifier 130735 130739 - EqualsEqualsEqualsToken 130739 130743 - PropertyAccessExpression 130743 130770 - Identifier 130743 130754 - Identifier 130755 130770 - BarBarToken 130770 130773 - ParenthesizedExpression 130773 130878 - BinaryExpression 130775 130877 - BinaryExpression 130775 130824 - PropertyAccessExpression 130775 130792 - PropertyAccessExpression 130775 130787 - Identifier 130775 130780 - Identifier 130781 130787 - Identifier 130788 130792 - EqualsEqualsEqualsToken 130792 130796 - PropertyAccessExpression 130796 130824 - Identifier 130796 130807 - Identifier 130808 130824 - AmpersandAmpersandToken 130824 130827 - PropertyAccessExpression 130827 130877 - ParenthesizedExpression 130827 130862 - AsExpression 130829 130861 - PropertyAccessExpression 130829 130841 - Identifier 130829 130834 - Identifier 130835 130841 - TypeReference 130844 130861 - Identifier 130844 130861 - Identifier 130863 130877 - Block 130879 131013 - ReturnStatement 130881 131002 - TrueKeyword 130996 131001 - IfStatement 131013 131266 - BinaryExpression 131138 131226 - BinaryExpression 131138 131180 - PropertyAccessExpression 131138 131148 - Identifier 131138 131143 - Identifier 131144 131148 - EqualsEqualsEqualsToken 131148 131152 - PropertyAccessExpression 131152 131180 - Identifier 131152 131163 - Identifier 131164 131180 - AmpersandAmpersandToken 131180 131183 - PropertyAccessExpression 131183 131226 - ParenthesizedExpression 131183 131211 - AsExpression 131185 131210 - Identifier 131185 131190 - TypeReference 131193 131210 - Identifier 131193 131210 - Identifier 131212 131226 - Block 131227 131266 - ReturnStatement 131229 131255 - TrueKeyword 131249 131254 - IfStatement 131266 131816 - CallExpression 131282 131336 - Identifier 131282 131316 - Identifier 131317 131322 - Identifier 131323 131335 - Block 131337 131816 - IfStatement 131339 131805 - BinaryExpression 131357 131574 - BinaryExpression 131357 131450 - Identifier 131357 131398 - AmpersandAmpersandToken 131398 131418 - CallExpression 131418 131450 - Identifier 131418 131437 - Identifier 131438 131449 - AmpersandAmpersandToken 131450 131470 - ParenthesizedExpression 131470 131574 - BinaryExpression 131472 131573 - CallExpression 131472 131506 - Identifier 131472 131493 - Identifier 131494 131505 - BarBarToken 131506 131509 - CallExpression 131509 131573 - Identifier 131509 131540 - Identifier 131541 131552 - PropertyAccessExpression 131553 131572 - Identifier 131553 131565 - Identifier 131566 131572 - Block 131589 131740 - ReturnStatement 131591 131725 - PrefixUnaryExpression 131615 131724 - CallExpression 131617 131724 - Identifier 131617 131665 - Identifier 131666 131677 - Identifier 131678 131684 - TrueKeyword 131685 131723 - Block 131758 131805 - ReturnStatement 131760 131790 - TrueKeyword 131784 131789 - ReturnStatement 131816 131839 - FalseKeyword 131832 131838 - FunctionDeclaration 131839 132839 - Identifier 131859 131911 - Parameter 131912 131944 - Identifier 131912 131923 - TypeReference 131924 131944 - Identifier 131924 131944 - Parameter 131945 131957 - Identifier 131945 131951 - TypeReference 131952 131957 - Identifier 131952 131957 - BooleanKeyword 131959 131967 - Block 131967 132839 - SwitchStatement 131969 132556 - PropertyAccessExpression 131991 132021 - PropertyAccessExpression 131991 132016 - PropertyAccessExpression 131991 132009 - Identifier 131991 132002 - Identifier 132003 132009 - Identifier 132010 132016 - Identifier 132017 132021 - CaseBlock 132022 132556 - CaseClause 132024 132076 - PropertyAccessExpression 132046 132075 - Identifier 132046 132057 - Identifier 132058 132075 - CaseClause 132076 132123 - PropertyAccessExpression 132098 132122 - Identifier 132098 132109 - Identifier 132110 132122 - CaseClause 132123 132541 - PropertyAccessExpression 132145 132171 - Identifier 132145 132156 - Identifier 132157 132171 - IfStatement 132172 132513 - CallExpression 132391 132449 - Identifier 132391 132414 - Identifier 132415 132420 - Identifier 132421 132433 - Identifier 132434 132448 - Block 132450 132513 - ReturnStatement 132452 132490 - TrueKeyword 132484 132489 - BreakStatement 132513 132541 - VariableStatement 132556 132700 - VariableDeclarationList 132556 132699 - VariableDeclaration 132659 132699 - Identifier 132659 132671 - PropertyAccessExpression 132673 132699 - PropertyAccessExpression 132673 132692 - Identifier 132673 132685 - Identifier 132686 132692 - Identifier 132693 132699 - ReturnStatement 132700 132828 - BinaryExpression 132720 132827 - CallExpression 132720 132754 - Identifier 132720 132741 - Identifier 132742 132753 - AmpersandAmpersandToken 132754 132757 - CallExpression 132757 132827 - Identifier 132757 132781 - Identifier 132782 132787 - PropertyAccessExpression 132788 132811 - Identifier 132788 132800 - Identifier 132801 132811 - Identifier 132812 132826 - FunctionDeclaration 132839 135219 - Identifier 132859 132894 - Parameter 132895 132906 - Identifier 132895 132900 - TypeReference 132901 132906 - Identifier 132901 132906 - Parameter 132907 132925 - Identifier 132907 132919 - TypeReference 132920 132925 - Identifier 132920 132925 - BooleanKeyword 132927 132935 - Block 132935 135219 - ReturnStatement 132937 135208 - PrefixUnaryExpression 132957 135207 - PrefixUnaryExpression 132959 135207 - CallExpression 132960 135207 - Identifier 132960 132972 - Identifier 132973 132978 - ArrowFunction 132979 135206 - Parameter 132979 132987 - Identifier 132979 132987 - EqualsGreaterThanToken 132987 132990 - Block 132990 135206 - IfStatement 132992 133097 - BinaryExpression 133014 133039 - Identifier 133014 133021 - EqualsEqualsEqualsToken 133021 133025 - Identifier 133025 133039 - Block 133040 133097 - ReturnStatement 133042 133078 - StringLiteral 133070 133077 - IfStatement 133097 133198 - CallExpression 133119 133142 - Identifier 133119 133133 - Identifier 133134 133141 - Block 133143 133198 - ReturnStatement 133145 133179 - TrueKeyword 133173 133178 - IfStatement 133198 133337 - CallExpression 133220 133258 - Identifier 133220 133249 - Identifier 133250 133257 - Block 133259 133337 - ReturnStatement 133261 133318 - BinaryExpression 133289 133317 - PropertyAccessExpression 133289 133305 - Identifier 133289 133301 - Identifier 133302 133305 - LessThanToken 133305 133307 - PropertyAccessExpression 133307 133317 - Identifier 133307 133313 - Identifier 133314 133317 - VariableStatement 133337 133432 - VariableDeclarationList 133337 133431 - VariableDeclaration 133362 133431 - Identifier 133362 133382 - CallExpression 133384 133431 - Identifier 133384 133392 - PropertyAccessExpression 133393 133407 - Identifier 133393 133400 - Identifier 133401 133407 - Identifier 133408 133430 - IfStatement 133432 135160 - Identifier 133454 133473 - Block 133474 135160 - VariableStatement 133476 133572 - VariableDeclarationList 133476 133571 - VariableDeclaration 133503 133571 - Identifier 133503 133525 - BinaryExpression 133527 133571 - PropertyAccessExpression 133527 133559 - Identifier 133527 133547 - Identifier 133548 133559 - EqualsEqualsEqualsToken 133559 133563 - Identifier 133563 133571 - IfStatement 133572 135141 - Identifier 133598 133619 - Block 133620 135141 - IfStatement 133622 135118 - CallExpression 133652 133676 - Identifier 133652 133660 - PropertyAccessExpression 133661 133675 - Identifier 133661 133668 - Identifier 133669 133675 - Block 133677 134704 - IfStatement 133679 133842 - BinaryExpression 133713 133762 - PropertyAccessExpression 133713 133729 - Identifier 133713 133724 - Identifier 133725 133729 - EqualsEqualsEqualsToken 133729 133733 - PropertyAccessExpression 133733 133762 - Identifier 133733 133744 - Identifier 133745 133762 - Block 133763 133842 - ReturnStatement 133765 133811 - TrueKeyword 133805 133810 - IfStatement 133842 134677 - BinaryExpression 133876 133975 - CallExpression 133876 133910 - Identifier 133876 133897 - Identifier 133898 133909 - AmpersandAmpersandToken 133910 133913 - BinaryExpression 133913 133975 - CallExpression 133913 133939 - Identifier 133913 133932 - Identifier 133933 133938 - EqualsEqualsEqualsToken 133939 133943 - CallExpression 133943 133975 - Identifier 133943 133962 - Identifier 133963 133974 - Block 133976 134677 - VariableStatement 133978 134046 - VariableDeclarationList 133978 134045 - VariableDeclaration 134017 134045 - Identifier 134017 134026 - PropertyAccessExpression 134028 134045 - Identifier 134028 134040 - Identifier 134041 134045 - IfStatement 134046 134646 - BinaryExpression 134084 134139 - CallExpression 134084 134106 - Identifier 134084 134096 - Identifier 134097 134105 - BarBarToken 134106 134109 - CallExpression 134109 134139 - Identifier 134109 134129 - Identifier 134130 134138 - Block 134140 134646 - VariableStatement 134142 134246 - VariableDeclarationList 134142 134245 - VariableDeclaration 134185 134245 - Identifier 134185 134190 - CallExpression 134192 134245 - Identifier 134192 134208 - CallExpression 134209 134244 - Identifier 134209 134231 - Identifier 134232 134243 - VariableStatement 134246 134371 - VariableDeclarationList 134246 134370 - VariableDeclaration 134289 134370 - Identifier 134289 134302 - CallExpression 134304 134370 - Identifier 134304 134311 - PropertyAccessExpression 134312 134338 - PropertyAccessExpression 134312 134330 - Identifier 134312 134323 - Identifier 134324 134330 - Identifier 134331 134338 - Identifier 134339 134369 - IfStatement 134371 134611 - CallExpression 134413 134515 - Identifier 134413 134448 - Identifier 134449 134457 - Identifier 134458 134463 - Identifier 134464 134477 - PropertyAccessExpression 134478 134501 - PropertyAccessExpression 134478 134497 - Identifier 134478 134490 - Identifier 134491 134497 - Identifier 134498 134501 - PropertyAccessExpression 134502 134514 - Identifier 134502 134510 - Identifier 134511 134514 - Block 134516 134611 - ReturnStatement 134518 134572 - TrueKeyword 134566 134571 - Block 134734 135118 - VariableStatement 134736 134882 - VariableDeclarationList 134736 134881 - VariableDeclaration 134771 134881 - Identifier 134771 134801 - BinaryExpression 134803 134881 - BinaryExpression 134803 134855 - PropertyAccessExpression 134803 134820 - Identifier 134803 134815 - Identifier 134816 134820 - EqualsEqualsEqualsToken 134820 134824 - PropertyAccessExpression 134824 134855 - Identifier 134824 134835 - Identifier 134836 134855 - AmpersandAmpersandToken 134855 134858 - PrefixUnaryExpression 134858 134881 - CallExpression 134860 134881 - Identifier 134860 134868 - Identifier 134869 134880 - IfStatement 134882 135091 - BinaryExpression 134916 135011 - PrefixUnaryExpression 134916 134946 - Identifier 134917 134946 - BarBarToken 134946 134949 - BinaryExpression 134949 135011 - CallExpression 134949 134975 - Identifier 134949 134968 - Identifier 134969 134974 - ExclamationEqualsEqualsToken 134975 134979 - CallExpression 134979 135011 - Identifier 134979 134998 - Identifier 134999 135010 - Block 135012 135091 - ReturnStatement 135014 135060 - TrueKeyword 135054 135059 - ReturnStatement 135160 135191 - FalseKeyword 135184 135190 - FunctionDeclaration 135219 137346 - Identifier 135352 135401 - Parameter 135402 135465 - Identifier 135402 135413 - UnionType 135414 135465 - TypeReference 135414 135434 - Identifier 135414 135434 - TypeReference 135436 135465 - Identifier 135436 135465 - Parameter 135466 135478 - Identifier 135466 135472 - TypeReference 135473 135478 - Identifier 135473 135478 - Parameter 135479 135517 - Identifier 135479 135508 - BooleanKeyword 135509 135517 - Block 135518 137346 - IfStatement 135520 135673 - BinaryExpression 135597 135624 - PropertyAccessExpression 135597 135606 - Identifier 135597 135602 - Identifier 135603 135606 - GreaterThanToken 135606 135608 - PropertyAccessExpression 135608 135624 - Identifier 135608 135620 - Identifier 135621 135624 - Block 135625 135673 - ReturnStatement 135627 135658 - FalseKeyword 135651 135657 - VariableStatement 135673 137267 - VariableDeclarationList 135673 137266 - VariableDeclaration 135887 137266 - Identifier 135887 135918 - CallExpression 135920 137266 - Identifier 135920 135933 - Identifier 135934 135939 - ArrowFunction 135940 137265 - Parameter 135942 135952 - Identifier 135942 135946 - TypeReference 135947 135952 - Identifier 135947 135952 - EqualsGreaterThanToken 135953 135956 - Block 135956 137265 - IfStatement 135958 136058 - BinaryExpression 135980 136000 - Identifier 135980 135984 - EqualsEqualsEqualsToken 135984 135988 - Identifier 135988 136000 - Block 136001 136058 - ReturnStatement 136003 136039 - StringLiteral 136031 136038 - SwitchStatement 136058 137250 - PropertyAccessExpression 136086 136095 - Identifier 136086 136090 - Identifier 136091 136095 - CaseBlock 136096 137250 - CaseClause 136098 136188 - PropertyAccessExpression 136124 136149 - Identifier 136124 136135 - Identifier 136136 136149 - ReturnStatement 136150 136188 - TrueKeyword 136182 136187 - CaseClause 136188 136727 - PropertyAccessExpression 136214 136245 - Identifier 136214 136225 - Identifier 136226 136245 - ReturnStatement 136246 136727 - ConditionalExpression 136392 136726 - BinaryExpression 136392 136681 - Identifier 136392 136421 - AmpersandAmpersandToken 136421 136424 - ParenthesizedExpression 136424 136681 - BinaryExpression 136459 136680 - BinaryExpression 136459 136531 - CallExpression 136459 136493 - Identifier 136459 136480 - Identifier 136481 136492 - AmpersandAmpersandToken 136493 136496 - BinaryExpression 136496 136531 - PropertyAccessExpression 136496 136508 - Identifier 136496 136501 - Identifier 136502 136508 - EqualsEqualsEqualsToken 136508 136512 - PropertyAccessExpression 136512 136531 - Identifier 136512 136524 - Identifier 136525 136531 - BarBarToken 136531 136571 - BinaryExpression 136571 136680 - CallExpression 136571 136635 - Identifier 136571 136602 - Identifier 136603 136614 - PropertyAccessExpression 136615 136634 - Identifier 136615 136627 - Identifier 136628 136634 - AmpersandAmpersandToken 136635 136638 - BinaryExpression 136638 136680 - PropertyAccessExpression 136638 136650 - Identifier 136638 136643 - Identifier 136644 136650 - EqualsEqualsEqualsToken 136650 136654 - PropertyAccessExpression 136654 136680 - PropertyAccessExpression 136654 136673 - Identifier 136654 136666 - Identifier 136667 136673 - Identifier 136674 136680 - QuestionToken 136681 136712 - StringLiteral 136712 136719 - ColonToken 136719 136721 - TrueKeyword 136721 136726 - CaseClause 136727 137162 - PropertyAccessExpression 136753 136770 - Identifier 136753 136764 - Identifier 136765 136770 - SwitchStatement 136771 137162 - PropertyAccessExpression 136805 136821 - PropertyAccessExpression 136805 136816 - Identifier 136805 136809 - Identifier 136810 136816 - Identifier 136817 136821 - CaseBlock 136822 137162 - CaseClause 136824 136882 - PropertyAccessExpression 136858 136881 - Identifier 136858 136869 - Identifier 136870 136881 - CaseClause 136882 136946 - PropertyAccessExpression 136916 136945 - Identifier 136916 136927 - Identifier 136928 136945 - CaseClause 136946 137050 - PropertyAccessExpression 136980 137003 - Identifier 136980 136991 - Identifier 136992 137003 - ReturnStatement 137004 137050 - TrueKeyword 137044 137049 - DefaultClause 137050 137135 - ReturnStatement 137088 137135 - FalseKeyword 137128 137134 - DefaultClause 137162 137231 - ReturnStatement 137192 137231 - FalseKeyword 137224 137230 - ReturnStatement 137267 137335 - BinaryExpression 137289 137334 - Identifier 137289 137320 - EqualsEqualsEqualsToken 137320 137324 - Identifier 137324 137334 - FunctionDeclaration 137353 137504 - Identifier 137369 137397 - Parameter 137398 137427 - Identifier 137398 137402 - TypeReference 137403 137427 - Identifier 137403 137427 - Block 137428 137504 - ReturnStatement 137430 137497 - PropertyAccessExpression 137446 137496 - CallExpression 137446 137465 - Identifier 137446 137459 - Identifier 137460 137464 - Identifier 137466 137496 - FunctionDeclaration 137504 137670 - Identifier 137518 137546 - Parameter 137547 137576 - Identifier 137547 137551 - TypeReference 137552 137576 - Identifier 137552 137576 - Parameter 137577 137592 - Identifier 137577 137583 - BooleanKeyword 137584 137592 - Block 137593 137670 - ExpressionStatement 137595 137663 - BinaryExpression 137595 137662 - PropertyAccessExpression 137595 137654 - CallExpression 137595 137623 - Identifier 137595 137617 - Identifier 137618 137622 - Identifier 137624 137654 - EqualsToken 137654 137656 - Identifier 137656 137662 - FunctionDeclaration 137670 139239 - Identifier 137858 137899 - Parameter 137900 137931 - Identifier 137900 137913 - UnionType 137914 137931 - TypeReference 137914 137919 - Identifier 137914 137919 - UndefinedKeyword 137921 137931 - Parameter 137932 137947 - Identifier 137932 137937 - TypeReference 137938 137947 - Identifier 137938 137947 - Parameter 137948 138000 - Identifier 137948 137979 - TypeReference 137980 138000 - Identifier 137980 138000 - Parameter 138001 138028 - Identifier 138001 138008 - UnionType 138009 138028 - TypeReference 138009 138016 - Identifier 138009 138016 - UndefinedKeyword 138018 138028 - Block 138029 139239 - IfStatement 138031 139209 - PrefixUnaryExpression 138045 138069 - Identifier 138046 138069 - Block 138070 139209 - IfStatement 138072 138228 - BinaryExpression 138090 138180 - BinaryExpression 138090 138114 - Identifier 138090 138103 - AmpersandAmpersandToken 138103 138106 - PrefixUnaryExpression 138106 138114 - Identifier 138108 138114 - AmpersandAmpersandToken 138114 138117 - CallExpression 138117 138180 - Identifier 138117 138153 - Identifier 138154 138167 - Identifier 138168 138173 - Identifier 138174 138179 - Block 138181 138228 - ReturnStatement 138183 138213 - TrueKeyword 138207 138212 - ExpressionStatement 138228 139172 - CallExpression 138228 139171 - Identifier 138228 138577 - Identifier 138578 138609 - ConditionalExpression 138610 139037 - BinaryExpression 138610 138774 - BinaryExpression 138610 138680 - Identifier 138610 138641 - AmpersandAmpersandToken 138641 138644 - PropertyAccessExpression 138644 138680 - Identifier 138644 138675 - Identifier 138676 138680 - AmpersandAmpersandToken 138680 138683 - CallExpression 138683 138774 - Identifier 138683 138718 - PropertyAccessExpression 138719 138754 - Identifier 138719 138749 - Identifier 138750 138754 - PropertyAccessExpression 138755 138773 - Identifier 138755 138769 - Identifier 138770 138773 - QuestionToken 138774 138797 - PropertyAccessExpression 138797 138902 - Identifier 138797 138809 - Identifier 138810 138902 - ColonToken 138902 138925 - PropertyAccessExpression 138925 139037 - Identifier 138925 138937 - Identifier 138938 139037 - CallExpression 139038 139116 - Identifier 139038 139079 - PropertyAccessExpression 139080 139115 - Identifier 139080 139110 - Identifier 139111 139115 - CallExpression 139117 139155 - Identifier 139117 139149 - Identifier 139150 139154 - ReturnStatement 139172 139198 - TrueKeyword 139192 139197 - ReturnStatement 139209 139232 - FalseKeyword 139225 139231 - FunctionDeclaration 139239 143083 - Identifier 139253 139277 - Parameter 139278 139319 - Identifier 139278 139301 - UnionType 139302 139319 - TypeReference 139302 139307 - Identifier 139302 139307 - UndefinedKeyword 139309 139319 - Parameter 139320 139360 - Identifier 139320 139337 - UnionType 139338 139360 - TypeReference 139338 139347 - Identifier 139338 139347 - TypeReference 139349 139360 - Identifier 139349 139360 - Parameter 139361 139391 - Identifier 139361 139378 - TypeReference 139379 139391 - Identifier 139379 139391 - Parameter 139392 139440 - Identifier 139392 139421 - TypeReference 139422 139440 - Identifier 139422 139440 - Block 139448 143083 - VariableStatement 139450 139539 - VariableDeclarationList 139450 139538 - VariableDeclaration 139465 139538 - Identifier 139465 139470 - ConditionalExpression 139472 139538 - CallExpression 139472 139490 - Identifier 139472 139481 - Identifier 139482 139489 - QuestionToken 139490 139492 - Identifier 139492 139500 - ColonToken 139500 139502 - PropertyAccessExpression 139502 139538 - ParenthesizedExpression 139502 139526 - AsExpression 139504 139525 - Identifier 139504 139511 - TypeReference 139514 139525 - Identifier 139514 139525 - Identifier 139527 139538 - ExpressionStatement 139539 143076 - CallExpression 139539 143075 - Identifier 139539 139566 - ArrowFunction 139567 143074 - EqualsGreaterThanToken 139569 139572 - Block 139572 143074 - IfStatement 139574 143063 - BinaryExpression 139592 140349 - PrefixUnaryExpression 139592 139624 - Identifier 139611 139624 - BarBarToken 139624 139627 - BinaryExpression 139627 140349 - BinaryExpression 139627 140255 - BinaryExpression 139627 140161 - BinaryExpression 139627 140056 - BinaryExpression 139627 139965 - BinaryExpression 139627 139867 - BinaryExpression 139627 139786 - BinaryExpression 139627 139695 - PropertyAccessExpression 139627 139670 - PropertyAccessExpression 139627 139665 - Identifier 139627 139658 - Identifier 139659 139665 - Identifier 139666 139670 - ExclamationEqualsEqualsToken 139670 139674 - PropertyAccessExpression 139674 139695 - Identifier 139674 139685 - Identifier 139686 139695 - AmpersandAmpersandToken 139695 139698 - PrefixUnaryExpression 139698 139786 - CallExpression 139721 139786 - Identifier 139721 139756 - Identifier 139757 139770 - Identifier 139771 139776 - Identifier 139777 139785 - AmpersandAmpersandToken 139786 139789 - PrefixUnaryExpression 139789 139867 - CallExpression 139812 139867 - Identifier 139812 139852 - Identifier 139853 139866 - AmpersandAmpersandToken 139867 139870 - PrefixUnaryExpression 139870 139965 - CallExpression 139893 139965 - Identifier 139893 139935 - Identifier 139936 139949 - Identifier 139950 139955 - Identifier 139956 139964 - AmpersandAmpersandToken 139965 139968 - PrefixUnaryExpression 139968 140056 - CallExpression 139991 140056 - Identifier 139991 140035 - Identifier 140036 140049 - Identifier 140050 140055 - AmpersandAmpersandToken 140056 140059 - PrefixUnaryExpression 140059 140161 - CallExpression 140082 140161 - Identifier 140082 140131 - Identifier 140132 140145 - Identifier 140146 140151 - Identifier 140152 140160 - AmpersandAmpersandToken 140161 140164 - PrefixUnaryExpression 140164 140255 - CallExpression 140187 140255 - Identifier 140187 140225 - Identifier 140226 140239 - Identifier 140240 140245 - Identifier 140246 140254 - AmpersandAmpersandToken 140255 140258 - PrefixUnaryExpression 140258 140349 - CallExpression 140281 140349 - Identifier 140281 140319 - Identifier 140320 140333 - Identifier 140334 140339 - Identifier 140340 140348 - Block 140364 143063 - VariableStatement 140366 140419 - VariableDeclarationList 140366 140418 - VariableDeclaration 140387 140418 - Identifier 140387 140398 - UnionType 140399 140418 - TypeReference 140399 140406 - Identifier 140399 140406 - UndefinedKeyword 140408 140418 - VariableStatement 140419 140474 - VariableDeclarationList 140419 140473 - VariableDeclaration 140440 140473 - Identifier 140440 140453 - UnionType 140454 140473 - StringKeyword 140454 140461 - UndefinedKeyword 140463 140473 - IfStatement 140474 140821 - Identifier 140541 140548 - Block 140549 140821 - ExpressionStatement 140551 140631 - BinaryExpression 140551 140630 - Identifier 140551 140585 - EqualsToken 140585 140587 - CallExpression 140587 140630 - Identifier 140587 140621 - Identifier 140622 140629 - IfStatement 140631 140802 - Identifier 140657 140669 - Block 140670 140802 - ExpressionStatement 140672 140779 - CallExpression 140672 140778 - Identifier 140672 140703 - Identifier 140704 140717 - Identifier 140718 140738 - CallExpression 140739 140763 - Identifier 140739 140754 - Identifier 140755 140762 - Identifier 140764 140777 - IfStatement 140821 142774 - BinaryExpression 140889 140946 - PrefixUnaryExpression 140889 140902 - Identifier 140890 140902 - AmpersandAmpersandToken 140902 140905 - BinaryExpression 140905 140946 - Identifier 140905 140921 - LessThanToken 140921 140923 - Identifier 140923 140946 - Block 140947 142774 - ExpressionStatement 140949 141053 - BinaryExpression 140949 141052 - Identifier 140949 140981 - EqualsToken 140981 140983 - CallExpression 140983 141052 - Identifier 140983 141022 - Identifier 141023 141036 - Identifier 141037 141042 - Identifier 141043 141051 - VariableStatement 141053 141255 - VariableDeclarationList 141053 141254 - VariableDeclaration 141080 141254 - Identifier 141080 141117 - BinaryExpression 141119 141254 - BinaryExpression 141119 141196 - PropertyAccessExpression 141119 141148 - Identifier 141119 141130 - QuestionDotToken 141130 141132 - Identifier 141132 141148 - AmpersandAmpersandToken 141148 141151 - CallExpression 141151 141196 - Identifier 141151 141167 - PropertyAccessExpression 141168 141195 - Identifier 141168 141178 - Identifier 141179 141195 - AmpersandAmpersandToken 141196 141199 - CallExpression 141199 141254 - Identifier 141199 141225 - PropertyAccessExpression 141226 141253 - Identifier 141226 141236 - Identifier 141237 141253 - IfStatement 141255 141392 - Identifier 141281 141317 - Block 141318 141392 - ExpressionStatement 141320 141369 - BinaryExpression 141320 141368 - Identifier 141320 141356 - EqualsToken 141356 141358 - Identifier 141358 141368 - IfStatement 141392 142755 - Identifier 141418 141428 - Block 141429 142755 - VariableStatement 141431 141507 - VariableDeclarationList 141431 141506 - VariableDeclaration 141462 141506 - Identifier 141462 141477 - CallExpression 141479 141506 - Identifier 141479 141494 - Identifier 141495 141505 - VariableStatement 141507 141632 - VariableDeclarationList 141507 141631 - VariableDeclaration 141538 141631 - Identifier 141538 141552 - CallExpression 141554 141631 - Identifier 141554 141578 - Identifier 141579 141592 - Identifier 141593 141604 - FalseKeyword 141605 141630 - VariableStatement 141632 142068 - VariableDeclarationList 141632 142067 - VariableDeclaration 141663 142067 - Identifier 141663 141671 - ConditionalExpression 141673 142067 - BinaryExpression 141673 141812 - BinaryExpression 141673 141707 - Identifier 141673 141681 - EqualsEqualsEqualsToken 141681 141685 - PropertyAccessExpression 141685 141707 - Identifier 141685 141697 - Identifier 141698 141707 - BarBarToken 141707 141710 - BinaryExpression 141710 141812 - BinaryExpression 141710 141782 - Identifier 141710 141751 - AmpersandAmpersandToken 141751 141754 - BinaryExpression 141754 141782 - TypeOfExpression 141754 141769 - Identifier 141761 141769 - ExclamationEqualsEqualsToken 141769 141773 - StringLiteral 141773 141782 - AmpersandAmpersandToken 141782 141785 - CallExpression 141785 141812 - Identifier 141785 141803 - Identifier 141804 141811 - QuestionToken 141812 141814 - PropertyAccessExpression 141814 141894 - Identifier 141814 141855 - Identifier 141856 141894 - ColonToken 141894 141925 - ConditionalExpression 141925 142067 - Identifier 141925 141939 - QuestionToken 141939 141941 - PropertyAccessExpression 141941 141990 - Identifier 141941 141953 - Identifier 141954 141990 - ColonToken 141990 142021 - PropertyAccessExpression 142021 142067 - Identifier 142021 142033 - Identifier 142034 142067 - VariableStatement 142068 142190 - VariableDeclarationList 142068 142189 - VariableDeclaration 142099 142189 - Identifier 142099 142110 - CallExpression 142112 142189 - Identifier 142112 142124 - Identifier 142125 142138 - Identifier 142139 142147 - CallExpression 142148 142172 - Identifier 142148 142163 - Identifier 142164 142171 - Identifier 142173 142188 - ExpressionStatement 142190 142312 - BinaryExpression 142190 142311 - PropertyAccessExpression 142190 142240 - Identifier 142190 142226 - Identifier 142227 142240 - EqualsToken 142240 142242 - CallExpression 142242 142311 - Identifier 142242 142265 - Identifier 142266 142285 - CallExpression 142286 142310 - Identifier 142286 142301 - Identifier 142302 142309 - ExpressionStatement 142312 142387 - CallExpression 142312 142386 - Identifier 142312 142358 - PrefixUnaryExpression 142359 142373 - Identifier 142360 142373 - Identifier 142374 142385 - IfStatement 142387 142732 - PropertyAccessExpression 142417 142444 - Identifier 142417 142427 - Identifier 142428 142444 - Block 142445 142732 - ExpressionStatement 142447 142705 - CallExpression 142447 142704 - Identifier 142447 142491 - Identifier 142492 142536 - CallExpression 142537 142672 - Identifier 142537 142594 - PropertyAccessExpression 142595 142622 - Identifier 142595 142605 - Identifier 142606 142622 - PropertyAccessExpression 142623 142655 - Identifier 142623 142635 - Identifier 142636 142655 - Identifier 142656 142671 - IfStatement 142774 143012 - BinaryExpression 142862 142901 - BinaryExpression 142862 142890 - PrefixUnaryExpression 142862 142873 - Identifier 142863 142873 - AmpersandAmpersandToken 142873 142876 - PrefixUnaryExpression 142876 142890 - Identifier 142878 142890 - AmpersandAmpersandToken 142890 142893 - Identifier 142893 142901 - Block 142902 143012 - ExpressionStatement 142904 142993 - CallExpression 142904 142992 - Identifier 142904 142931 - Identifier 142932 142945 - Identifier 142946 142966 - CallExpression 142967 142991 - Identifier 142967 142982 - Identifier 142983 142990 - ExpressionStatement 143012 143048 - PostfixUnaryExpression 143012 143047 - Identifier 143012 143045 - FunctionDeclaration 143083 149761 - Identifier 143099 143128 - Parameter 143129 143170 - Identifier 143129 143152 - UnionType 143153 143170 - TypeReference 143153 143158 - Identifier 143153 143158 - UndefinedKeyword 143160 143170 - Parameter 143171 143195 - Identifier 143171 143187 - TypeReference 143188 143195 - Identifier 143188 143195 - Parameter 143196 143226 - Identifier 143196 143213 - TypeReference 143214 143226 - Identifier 143214 143226 - Parameter 143227 143267 - Identifier 143227 143249 - UnionType 143250 143267 - TypeReference 143250 143255 - Identifier 143250 143255 - UndefinedKeyword 143257 143267 - Parameter 143268 143387 - Identifier 143268 143336 - UnionType 143337 143387 - TypeReference 143337 143358 - Identifier 143337 143358 - TypeReference 143360 143375 - Identifier 143360 143375 - UndefinedKeyword 143377 143387 - Parameter 143388 143428 - Identifier 143388 143419 - BooleanKeyword 143420 143428 - Block 143436 149761 - ExpressionStatement 143438 149754 - CallExpression 143438 149753 - Identifier 143438 143465 - ArrowFunction 143466 149752 - EqualsGreaterThanToken 143468 143471 - Block 143471 149752 - VariableStatement 143473 143519 - VariableDeclarationList 143473 143518 - VariableDeclaration 143492 143518 - Identifier 143492 143497 - PropertyAccessExpression 143499 143518 - Identifier 143499 143506 - Identifier 143507 143518 - VariableStatement 143519 143647 - VariableDeclarationList 143519 143646 - VariableDeclaration 143538 143646 - Identifier 143538 143557 - BinaryExpression 143559 143646 - BinaryExpression 143559 143602 - Identifier 143559 143572 - AmpersandAmpersandToken 143572 143575 - CallExpression 143575 143602 - Identifier 143575 143588 - Identifier 143589 143601 - AmpersandAmpersandToken 143602 143605 - CallExpression 143605 143646 - Identifier 143605 143632 - Identifier 143633 143645 - IfStatement 143647 144968 - BinaryExpression 144316 144552 - Identifier 144316 144347 - AmpersandAmpersandToken 144347 144350 - ParenthesizedExpression 144350 144552 - BinaryExpression 144369 144551 - BinaryExpression 144369 144410 - Identifier 144369 144376 - AmpersandToken 144376 144378 - PropertyAccessExpression 144378 144410 - Identifier 144378 144390 - Identifier 144391 144410 - BarBarToken 144410 144413 - ParenthesizedExpression 144413 144551 - BinaryExpression 144436 144550 - ParenthesizedExpression 144436 144495 - BinaryExpression 144437 144494 - BinaryExpression 144437 144464 - Identifier 144437 144444 - AmpersandToken 144444 144446 - PropertyAccessExpression 144446 144464 - Identifier 144446 144458 - Identifier 144459 144464 - BarBarToken 144464 144467 - BinaryExpression 144467 144494 - Identifier 144467 144475 - AmpersandToken 144475 144477 - PropertyAccessExpression 144477 144494 - Identifier 144477 144489 - Identifier 144490 144494 - AmpersandAmpersandToken 144495 144498 - BinaryExpression 144498 144550 - ParenthesizedExpression 144498 144528 - BinaryExpression 144500 144527 - Identifier 144500 144507 - AmpersandToken 144507 144509 - PropertyAccessExpression 144509 144527 - Identifier 144509 144521 - Identifier 144522 144527 - EqualsEqualsEqualsToken 144528 144532 - PropertyAccessExpression 144532 144550 - Identifier 144532 144544 - Identifier 144545 144550 - Block 144567 144968 - VariableStatement 144569 144662 - VariableDeclarationList 144569 144661 - VariableDeclaration 144592 144661 - Identifier 144592 144612 - CallExpression 144614 144661 - Identifier 144614 144653 - Identifier 144654 144660 - IfStatement 144662 144953 - BinaryExpression 144684 144840 - BinaryExpression 144684 144792 - BinaryExpression 144684 144743 - PropertyAccessExpression 144684 144709 - Identifier 144684 144703 - Identifier 144704 144709 - AmpersandToken 144709 144711 - PropertyAccessExpression 144711 144743 - Identifier 144711 144723 - Identifier 144724 144743 - BarBarToken 144743 144746 - BinaryExpression 144746 144792 - PropertyAccessExpression 144746 144772 - Identifier 144746 144766 - Identifier 144767 144772 - AmpersandToken 144772 144774 - PropertyAccessExpression 144774 144792 - Identifier 144774 144786 - Identifier 144787 144792 - BarBarToken 144792 144795 - BinaryExpression 144795 144840 - PropertyAccessExpression 144795 144821 - Identifier 144795 144815 - Identifier 144816 144821 - AmpersandToken 144821 144823 - PropertyAccessExpression 144823 144840 - Identifier 144823 144835 - Identifier 144836 144840 - Block 144841 144953 - ExpressionStatement 144843 144934 - CallExpression 144843 144933 - Identifier 144843 144897 - Identifier 144898 144917 - Identifier 144918 144932 - IfStatement 144968 145720 - BinaryExpression 145106 145224 - BinaryExpression 145106 145179 - Identifier 145106 145124 - AmpersandAmpersandToken 145124 145127 - BinaryExpression 145127 145179 - ParenthesizedExpression 145127 145157 - BinaryExpression 145129 145156 - Identifier 145129 145136 - AmpersandToken 145136 145138 - PropertyAccessExpression 145138 145156 - Identifier 145138 145150 - Identifier 145151 145156 - EqualsEqualsEqualsToken 145157 145161 - PropertyAccessExpression 145161 145179 - Identifier 145161 145173 - Identifier 145174 145179 - AmpersandAmpersandToken 145179 145182 - PrefixUnaryExpression 145182 145224 - ParenthesizedExpression 145184 145224 - BinaryExpression 145185 145223 - PropertyAccessExpression 145185 145205 - NonNullExpression 145185 145199 - Identifier 145185 145198 - Identifier 145200 145205 - AmpersandToken 145205 145207 - PropertyAccessExpression 145207 145223 - Identifier 145207 145217 - Identifier 145218 145223 - Block 145225 145720 - VariableStatement 145227 145284 - VariableDeclarationList 145227 145283 - VariableDeclaration 145250 145283 - Identifier 145250 145257 - CallExpression 145259 145283 - Identifier 145259 145275 - Identifier 145276 145282 - IfStatement 145284 145705 - BinaryExpression 145306 145448 - CallExpression 145306 145333 - Identifier 145306 145312 - PropertyAccessExpression 145313 145332 - Identifier 145313 145319 - Identifier 145320 145332 - AmpersandAmpersandToken 145333 145336 - CallExpression 145336 145448 - Identifier 145336 145342 - PropertyAccessExpression 145343 145362 - Identifier 145343 145349 - Identifier 145350 145362 - ArrowFunction 145363 145447 - Parameter 145363 145365 - Identifier 145363 145365 - EqualsGreaterThanToken 145365 145368 - BinaryExpression 145368 145447 - CallExpression 145368 145400 - Identifier 145368 145397 - Identifier 145398 145399 - BarBarToken 145400 145403 - BinaryExpression 145403 145447 - CallExpression 145403 145419 - Identifier 145403 145416 - Identifier 145417 145418 - AmpersandAmpersandToken 145419 145422 - PrefixUnaryExpression 145422 145447 - PrefixUnaryExpression 145424 145447 - PropertyAccessExpression 145425 145447 - PropertyAccessExpression 145425 145433 - Identifier 145425 145426 - Identifier 145427 145433 - Identifier 145434 145447 - Block 145449 145705 - ExpressionStatement 145451 145686 - CallExpression 145451 145685 - Identifier 145451 145490 - PrefixUnaryExpression 145491 145528 - PropertyAccessExpression 145492 145528 - Identifier 145492 145507 - Identifier 145508 145528 - NonNullExpression 145529 145544 - Identifier 145529 145543 - PropertyAccessExpression 145545 145650 - Identifier 145545 145557 - Identifier 145558 145650 - CallExpression 145651 145684 - Identifier 145651 145678 - Identifier 145679 145683 - IfStatement 145720 147339 - BinaryExpression 145914 146053 - BinaryExpression 145914 145998 - Identifier 145914 145972 - AmpersandAmpersandToken 145972 145975 - PrefixUnaryExpression 145975 145998 - Identifier 145977 145998 - AmpersandAmpersandToken 145998 146001 - BinaryExpression 146001 146053 - ParenthesizedExpression 146001 146031 - BinaryExpression 146003 146030 - Identifier 146003 146010 - AmpersandToken 146010 146012 - PropertyAccessExpression 146012 146030 - Identifier 146012 146024 - Identifier 146025 146030 - EqualsEqualsEqualsToken 146031 146035 - PropertyAccessExpression 146035 146053 - Identifier 146035 146047 - Identifier 146048 146053 - Block 146054 147339 - VariableStatement 146056 146136 - VariableDeclarationList 146056 146135 - VariableDeclaration 146079 146135 - Identifier 146079 146089 - CallExpression 146091 146135 - Identifier 146091 146107 - CallExpression 146108 146134 - Identifier 146108 146126 - Identifier 146127 146133 - VariableStatement 146136 146270 - VariableDeclarationList 146136 146269 - VariableDeclaration 146159 146269 - Identifier 146159 146164 - AsExpression 146166 146269 - CallExpression 146166 146245 - Identifier 146166 146185 - Identifier 146186 146244 - TypeReference 146248 146269 - Identifier 146248 146269 - IfStatement 146270 147324 - BinaryExpression 146409 146505 - Identifier 146409 146418 - EqualsEqualsEqualsToken 146418 146422 - CallExpression 146422 146505 - Identifier 146422 146445 - Identifier 146446 146504 - Block 146506 146709 - ExpressionStatement 146508 146690 - CallExpression 146508 146689 - Identifier 146508 146535 - Identifier 146536 146549 - PropertyAccessExpression 146550 146598 - Identifier 146550 146562 - Identifier 146563 146598 - CallExpression 146599 146688 - Identifier 146599 146623 - PropertyAccessExpression 146624 146687 - Identifier 146624 146682 - Identifier 146683 146687 - IfStatement 146811 147324 - BinaryExpression 146816 147042 - BinaryExpression 146816 146963 - BinaryExpression 146816 146941 - PropertyAccessExpression 146816 146842 - Identifier 146816 146825 - Identifier 146826 146842 - AmpersandAmpersandToken 146842 146845 - BinaryExpression 146845 146941 - PropertyAccessExpression 146845 146876 - PropertyAccessExpression 146845 146872 - Identifier 146845 146855 - Identifier 146856 146872 - Identifier 146873 146876 - GreaterThanToken 146876 146878 - PropertyAccessExpression 146878 146941 - Identifier 146878 146937 - Identifier 146938 146941 - AmpersandAmpersandToken 146941 146944 - PropertyAccessExpression 146944 146963 - PropertyAccessExpression 146944 146956 - Identifier 146944 146949 - Identifier 146950 146956 - Identifier 146957 146963 - AmpersandAmpersandToken 146963 146966 - BinaryExpression 146966 147042 - CallExpression 146966 147028 - Identifier 146966 146976 - PropertyAccessExpression 146977 146995 - PropertyAccessExpression 146977 146988 - Identifier 146977 146981 - Identifier 146982 146988 - Identifier 146989 146995 - PropertyAccessExpression 146996 147018 - Identifier 146996 147006 - Identifier 147007 147018 - Identifier 147019 147027 - EqualsEqualsEqualsToken 147028 147032 - Identifier 147032 147042 - Block 147043 147324 - ExpressionStatement 147045 147305 - CallExpression 147045 147304 - Identifier 147045 147072 - Identifier 147073 147086 - PropertyAccessExpression 147087 147159 - Identifier 147087 147099 - Identifier 147100 147159 - CallExpression 147160 147249 - Identifier 147160 147184 - PropertyAccessExpression 147185 147248 - Identifier 147185 147243 - Identifier 147244 147248 - CallExpression 147250 147303 - Identifier 147250 147274 - AsExpression 147275 147302 - Identifier 147275 147288 - TypeReference 147291 147302 - Identifier 147291 147302 - IfStatement 147339 148453 - BinaryExpression 147357 147523 - BinaryExpression 147357 147476 - BinaryExpression 147357 147437 - BinaryExpression 147357 147401 - Identifier 147357 147370 - AmpersandAmpersandToken 147370 147373 - BinaryExpression 147373 147401 - Identifier 147373 147381 - AmpersandToken 147381 147383 - PropertyAccessExpression 147383 147401 - Identifier 147383 147395 - Identifier 147396 147401 - AmpersandAmpersandToken 147401 147404 - BinaryExpression 147404 147437 - PropertyAccessExpression 147404 147417 - Identifier 147404 147411 - Identifier 147412 147417 - AmpersandToken 147417 147419 - PropertyAccessExpression 147419 147437 - Identifier 147419 147431 - Identifier 147432 147437 - AmpersandAmpersandToken 147437 147440 - PrefixUnaryExpression 147440 147476 - ParenthesizedExpression 147442 147476 - BinaryExpression 147443 147475 - PropertyAccessExpression 147443 147455 - Identifier 147443 147449 - Identifier 147450 147455 - AmpersandToken 147455 147457 - PropertyAccessExpression 147457 147475 - Identifier 147457 147469 - Identifier 147470 147475 - AmpersandAmpersandToken 147476 147479 - PrefixUnaryExpression 147479 147523 - CallExpression 147481 147523 - Identifier 147481 147508 - Identifier 147509 147522 - Block 147524 148453 - VariableStatement 147526 147627 - VariableDeclarationList 147526 147626 - VariableDeclaration 147549 147626 - Identifier 147549 147569 - CallExpression 147571 147626 - Identifier 147571 147599 - Identifier 147600 147606 - PropertyAccessExpression 147607 147625 - Identifier 147607 147619 - Identifier 147620 147625 - IfStatement 147627 148438 - Identifier 147649 147668 - Block 147669 148438 - VariableStatement 147671 148105 - VariableDeclarationList 147671 148104 - VariableDeclaration 147698 148104 - Identifier 147698 147706 - ConditionalExpression 147708 148104 - BinaryExpression 147708 147884 - BinaryExpression 147708 147825 - BinaryExpression 147708 147764 - PropertyAccessExpression 147708 147733 - Identifier 147708 147728 - Identifier 147729 147733 - EqualsEqualsEqualsToken 147733 147737 - PropertyAccessExpression 147737 147764 - Identifier 147737 147748 - Identifier 147749 147764 - BarBarToken 147764 147767 - BinaryExpression 147767 147825 - PropertyAccessExpression 147767 147792 - Identifier 147767 147787 - Identifier 147788 147792 - EqualsEqualsEqualsToken 147792 147796 - PropertyAccessExpression 147796 147825 - Identifier 147796 147807 - Identifier 147808 147825 - BarBarToken 147825 147828 - BinaryExpression 147828 147884 - PropertyAccessExpression 147828 147853 - Identifier 147828 147848 - Identifier 147849 147853 - EqualsEqualsEqualsToken 147853 147857 - PropertyAccessExpression 147857 147884 - Identifier 147857 147868 - Identifier 147869 147884 - QuestionToken 147884 147911 - PropertyAccessExpression 147911 147994 - Identifier 147911 147923 - Identifier 147924 147994 - ColonToken 147994 148021 - PropertyAccessExpression 148021 148104 - Identifier 148021 148033 - Identifier 148034 148104 - VariableStatement 148105 148182 - VariableDeclarationList 148105 148181 - VariableDeclaration 148132 148181 - Identifier 148132 148146 - CallExpression 148148 148181 - Identifier 148148 148175 - Identifier 148176 148180 - ExpressionStatement 148182 148419 - CallExpression 148182 148418 - Identifier 148182 148237 - CallExpression 148238 148308 - Identifier 148238 148269 - Identifier 148270 148283 - Identifier 148284 148292 - Identifier 148293 148307 - Identifier 148309 148354 - Identifier 148355 148394 - IfStatement 148453 149741 - BinaryExpression 148729 148847 - BinaryExpression 148729 148792 - BinaryExpression 148729 148770 - PropertyAccessExpression 148729 148760 - Identifier 148729 148744 - Identifier 148745 148760 - AmpersandAmpersandToken 148760 148763 - Identifier 148763 148770 - AmpersandAmpersandToken 148770 148773 - Identifier 148773 148792 - AmpersandAmpersandToken 148792 148795 - BinaryExpression 148795 148847 - ParenthesizedExpression 148795 148825 - BinaryExpression 148797 148824 - Identifier 148797 148804 - AmpersandToken 148804 148806 - PropertyAccessExpression 148806 148824 - Identifier 148806 148818 - Identifier 148819 148824 - EqualsEqualsEqualsToken 148825 148829 - PropertyAccessExpression 148829 148847 - Identifier 148829 148841 - Identifier 148842 148847 - Block 148848 149741 - VariableStatement 148850 148930 - VariableDeclarationList 148850 148929 - VariableDeclaration 148873 148929 - Identifier 148873 148882 - BinaryExpression 148884 148929 - CallExpression 148884 148918 - Identifier 148884 148894 - Identifier 148895 148902 - Identifier 148903 148908 - Identifier 148909 148917 - EqualsEqualsEqualsToken 148918 148922 - Identifier 148922 148929 - VariableStatement 148930 149093 - VariableDeclarationList 148930 149092 - VariableDeclaration 148953 149092 - Identifier 148953 148968 - BinaryExpression 148970 149092 - BinaryExpression 148970 149032 - BinaryExpression 148970 149009 - Identifier 148970 148979 - AmpersandAmpersandToken 148979 148982 - CallExpression 148982 149009 - Identifier 148982 148995 - Identifier 148996 149008 - AmpersandAmpersandToken 149009 149012 - PropertyAccessExpression 149012 149032 - Identifier 149012 149025 - Identifier 149026 149032 - AmpersandAmpersandToken 149032 149035 - CallExpression 149035 149092 - Identifier 149035 149045 - PropertyAccessExpression 149046 149065 - Identifier 149046 149058 - Identifier 149059 149065 - Identifier 149066 149071 - PrefixUnaryExpression 149072 149091 - PropertyAccessExpression 149074 149091 - Identifier 149074 149085 - Identifier 149086 149091 - IfStatement 149093 149726 - Identifier 149115 149129 - Block 149130 149726 - VariableStatement 149132 149379 - VariableDeclarationList 149132 149378 - VariableDeclaration 149159 149378 - Identifier 149159 149170 - CallExpression 149172 149378 - PropertyAccessExpression 149172 149206 - PropertyAccessExpression 149172 149200 - Identifier 149172 149187 - Identifier 149188 149200 - QuestionDotToken 149200 149202 - Identifier 149202 149206 - ArrowFunction 149207 149377 - Parameter 149207 149208 - Identifier 149207 149208 - EqualsGreaterThanToken 149208 149211 - BinaryExpression 149211 149377 - BinaryExpression 149211 149328 - BinaryExpression 149211 149287 - BinaryExpression 149211 149249 - PropertyAccessExpression 149211 149218 - Identifier 149211 149213 - Identifier 149214 149218 - EqualsEqualsEqualsToken 149218 149222 - PropertyAccessExpression 149222 149249 - Identifier 149222 149233 - Identifier 149234 149249 - BarBarToken 149249 149252 - BinaryExpression 149252 149287 - PropertyAccessExpression 149252 149259 - Identifier 149252 149254 - Identifier 149255 149259 - EqualsEqualsEqualsToken 149259 149263 - PropertyAccessExpression 149263 149287 - Identifier 149263 149274 - Identifier 149275 149287 - BarBarToken 149287 149290 - BinaryExpression 149290 149328 - PropertyAccessExpression 149290 149297 - Identifier 149290 149292 - Identifier 149293 149297 - EqualsEqualsEqualsToken 149297 149301 - PropertyAccessExpression 149301 149328 - Identifier 149301 149312 - Identifier 149313 149328 - BarBarToken 149328 149331 - BinaryExpression 149331 149377 - PropertyAccessExpression 149331 149338 - Identifier 149331 149333 - Identifier 149334 149338 - EqualsEqualsEqualsToken 149338 149342 - PropertyAccessExpression 149342 149377 - Identifier 149342 149353 - Identifier 149354 149377 - IfStatement 149379 149707 - BinaryExpression 149405 149459 - Identifier 149405 149415 - AmpersandAmpersandToken 149415 149418 - PrefixUnaryExpression 149418 149459 - CallExpression 149420 149459 - Identifier 149420 149447 - Identifier 149448 149458 - Block 149460 149707 - ExpressionStatement 149462 149684 - CallExpression 149462 149683 - Identifier 149462 149493 - Identifier 149494 149504 - PropertyAccessExpression 149505 149648 - Identifier 149505 149517 - Identifier 149518 149648 - CallExpression 149649 149682 - Identifier 149649 149676 - Identifier 149677 149681 - FunctionDeclaration 149761 150489 - Identifier 149777 149811 - Parameter 149812 149834 - Identifier 149812 149822 - TypeReference 149823 149834 - Identifier 149823 149834 - Parameter 149835 149903 - Identifier 149835 149855 - UnionType 149856 149903 - TypeReference 149856 149891 - Identifier 149856 149891 - UndefinedKeyword 149893 149903 - Parameter 149904 149926 - Identifier 149904 149918 - StringKeyword 149919 149926 - Block 149927 150489 - IfStatement 149929 149983 - PrefixUnaryExpression 149943 149963 - Identifier 149944 149963 - ReturnStatement 149964 149983 - Identifier 149971 149982 - ReturnStatement 149983 150482 - CallExpression 149999 150481 - Identifier 149999 150014 - Identifier 150015 150039 - CallExpression 150040 150469 - Identifier 150040 150077 - Identifier 150078 150115 - ConditionalExpression 150116 150421 - BinaryExpression 150116 150309 - BinaryExpression 150116 150250 - BinaryExpression 150116 150189 - PropertyAccessExpression 150116 150158 - Identifier 150116 150153 - Identifier 150154 150158 - EqualsEqualsEqualsToken 150158 150162 - PropertyAccessExpression 150162 150189 - Identifier 150162 150173 - Identifier 150174 150189 - BarBarToken 150189 150192 - BinaryExpression 150192 150250 - PropertyAccessExpression 150192 150217 - Identifier 150192 150212 - Identifier 150213 150217 - EqualsEqualsEqualsToken 150217 150221 - PropertyAccessExpression 150221 150250 - Identifier 150221 150232 - Identifier 150233 150250 - BarBarToken 150250 150253 - BinaryExpression 150253 150309 - PropertyAccessExpression 150253 150278 - Identifier 150253 150273 - Identifier 150274 150278 - EqualsEqualsEqualsToken 150278 150282 - PropertyAccessExpression 150282 150309 - Identifier 150282 150293 - Identifier 150294 150309 - QuestionToken 150309 150332 - PropertyAccessExpression 150332 150365 - Identifier 150332 150344 - Identifier 150345 150365 - ColonToken 150365 150388 - PropertyAccessExpression 150388 150421 - Identifier 150388 150400 - Identifier 150401 150421 - Identifier 150422 150453 - FunctionDeclaration 150489 150715 - Identifier 150505 150520 - Parameter 150521 150571 - Identifier 150521 150528 - UnionType 150529 150571 - TypeReference 150529 150538 - Identifier 150529 150538 - TypeReference 150540 150551 - Identifier 150540 150551 - TypeReference 150553 150571 - Identifier 150553 150571 - Block 150572 150715 - ReturnStatement 150574 150708 - ConditionalExpression 150590 150707 - CallExpression 150590 150608 - Identifier 150590 150599 - Identifier 150600 150607 - QuestionToken 150608 150610 - CallExpression 150610 150658 - Identifier 150610 150637 - AsExpression 150638 150657 - Identifier 150638 150645 - TypeReference 150648 150657 - Identifier 150648 150657 - ColonToken 150658 150660 - CallExpression 150660 150707 - Identifier 150660 150684 - AsExpression 150685 150706 - Identifier 150685 150692 - TypeReference 150695 150706 - Identifier 150695 150706 - FunctionDeclaration 150715 152613 - Identifier 150731 150767 - Parameter 150768 150787 - Identifier 150768 150781 - TypeReference 150782 150787 - Identifier 150782 150787 - Parameter 150788 150803 - Identifier 150788 150793 - TypeReference 150794 150803 - Identifier 150794 150803 - Parameter 150804 150835 - Identifier 150804 150812 - UnionType 150813 150835 - TypeReference 150813 150822 - Identifier 150813 150822 - TypeReference 150824 150835 - Identifier 150824 150835 - BooleanKeyword 150837 150845 - Block 150845 152613 - IfStatement 150847 151044 - BinaryExpression 150861 151003 - BinaryExpression 150861 150971 - BinaryExpression 150861 150927 - PrefixUnaryExpression 150861 150889 - CallExpression 150862 150889 - Identifier 150862 150874 - Identifier 150875 150888 - BarBarToken 150889 150892 - BinaryExpression 150892 150927 - PropertyAccessExpression 150892 150918 - Identifier 150892 150906 - Identifier 150907 150918 - ExclamationEqualsEqualsToken 150918 150922 - Identifier 150922 150927 - BarBarToken 150927 150930 - CallExpression 150930 150971 - Identifier 150930 150956 - Identifier 150957 150970 - BarBarToken 150971 150974 - CallExpression 150974 151003 - Identifier 150974 150988 - Identifier 150989 151002 - Block 151004 151044 - ReturnStatement 151006 151033 - FalseKeyword 151026 151032 - VariableStatement 151044 151183 - VariableDeclarationList 151044 151182 - VariableDeclaration 151061 151182 - Identifier 151061 151071 - CallExpression 151073 151182 - Identifier 151073 151090 - Identifier 151091 151104 - FalseKeyword 151105 151137 - FalseKeyword 151138 151181 - VariableStatement 151183 151224 - VariableDeclarationList 151183 151223 - VariableDeclaration 151196 151223 - Identifier 151196 151205 - TypeReference 151206 151211 - Identifier 151206 151211 - Identifier 151213 151223 - WhileStatement 151224 152583 - Identifier 151241 151249 - Block 151250 152583 - IfStatement 151252 152529 - CallExpression 151270 151298 - Identifier 151270 151281 - PropertyAccessExpression 151282 151297 - Identifier 151282 151290 - Identifier 151291 151297 - Block 151299 152529 - VariableStatement 151301 151379 - VariableDeclarationList 151301 151378 - VariableDeclaration 151324 151378 - Identifier 151324 151336 - CallExpression 151338 151378 - Identifier 151338 151361 - PropertyAccessExpression 151362 151377 - Identifier 151362 151370 - Identifier 151371 151377 - IfStatement 151379 151463 - PrefixUnaryExpression 151401 151413 - Identifier 151402 151413 - Block 151414 151463 - BreakStatement 151416 151444 - VariableStatement 151463 151596 - VariableDeclarationList 151463 151595 - VariableDeclaration 151548 151595 - Identifier 151548 151564 - CallExpression 151566 151595 - Identifier 151566 151582 - Identifier 151583 151594 - IfStatement 151596 151878 - CallExpression 151618 151658 - Identifier 151618 151635 - Identifier 151636 151651 - Identifier 151652 151657 - Block 151659 151878 - ExpressionStatement 151661 151825 - CallExpression 151661 151824 - Identifier 151661 151688 - Identifier 151689 151702 - PropertyAccessExpression 151703 151769 - Identifier 151703 151715 - Identifier 151716 151769 - CallExpression 151770 151794 - Identifier 151770 151785 - Identifier 151786 151793 - CallExpression 151795 151823 - Identifier 151795 151810 - Identifier 151811 151822 - ReturnStatement 151825 151859 - TrueKeyword 151853 151858 - IfStatement 151878 152514 - BinaryExpression 152049 152094 - BinaryExpression 152049 152071 - Identifier 152049 152057 - EqualsEqualsEqualsToken 152057 152061 - Identifier 152061 152071 - AmpersandAmpersandToken 152071 152074 - PrefixUnaryExpression 152074 152094 - CallExpression 152076 152094 - Identifier 152076 152084 - Identifier 152085 152093 - Block 152095 152514 - VariableStatement 152097 152206 - VariableDeclarationList 152097 152205 - VariableDeclaration 152124 152205 - Identifier 152124 152137 - NonNullExpression 152139 152205 - PropertyAccessExpression 152139 152204 - ParenthesizedExpression 152139 152195 - AsExpression 152141 152194 - CallExpression 152141 152177 - Identifier 152141 152164 - Identifier 152165 152176 - TypeReference 152180 152194 - Identifier 152180 152194 - Identifier 152196 152204 - IfStatement 152206 152495 - CallExpression 152250 152287 - Identifier 152250 152267 - Identifier 152268 152280 - Identifier 152281 152286 - Block 152288 152495 - ExpressionStatement 152290 152434 - CallExpression 152290 152433 - Identifier 152290 152321 - Identifier 152322 152335 - PropertyAccessExpression 152336 152407 - Identifier 152336 152348 - Identifier 152349 152407 - CallExpression 152408 152432 - Identifier 152408 152423 - Identifier 152424 152431 - ReturnStatement 152434 152472 - TrueKeyword 152466 152471 - ExpressionStatement 152529 152572 - BinaryExpression 152529 152571 - Identifier 152529 152553 - EqualsToken 152553 152555 - PropertyAccessExpression 152555 152571 - Identifier 152555 152564 - Identifier 152565 152571 - ReturnStatement 152583 152606 - FalseKeyword 152599 152605 - FunctionDeclaration 152613 153082 - Identifier 152629 152670 - Parameter 152671 152690 - Identifier 152671 152684 - TypeReference 152685 152690 - Identifier 152685 152690 - BooleanKeyword 152692 152700 - Block 152700 153082 - VariableStatement 152702 152781 - VariableDeclarationList 152702 152780 - VariableDeclaration 152717 152780 - Identifier 152717 152728 - CallExpression 152730 152780 - Identifier 152730 152765 - Identifier 152766 152779 - IfStatement 152781 153052 - BinaryExpression 152795 152884 - Identifier 152795 152805 - AmpersandAmpersandToken 152805 152808 - CallExpression 152808 152884 - Identifier 152808 152826 - Identifier 152827 152837 - PropertyAccessExpression 152838 152860 - Identifier 152838 152850 - Identifier 152851 152860 - TrueKeyword 152861 152883 - Block 152885 153052 - ExpressionStatement 152887 153015 - CallExpression 152887 153014 - Identifier 152887 152906 - Identifier 152907 152920 - PropertyAccessExpression 152921 152986 - Identifier 152921 152933 - Identifier 152934 152986 - CallExpression 152987 153013 - Identifier 152987 153001 - Identifier 153002 153012 - ReturnStatement 153015 153041 - TrueKeyword 153035 153040 - ReturnStatement 153052 153075 - FalseKeyword 153068 153074 - FunctionDeclaration 153082 153977 - Identifier 153284 153319 - Parameter 153320 153330 - Identifier 153320 153324 - TypeReference 153325 153330 - Identifier 153325 153330 - UnionType 153332 153365 - TypeReference 153332 153353 - Identifier 153332 153353 - UndefinedKeyword 153355 153365 - Block 153365 153977 - SwitchStatement 153367 153970 - PropertyAccessExpression 153385 153394 - Identifier 153385 153389 - Identifier 153390 153394 - CaseBlock 153395 153970 - CaseClause 153397 153438 - PropertyAccessExpression 153415 153437 - Identifier 153415 153426 - Identifier 153427 153437 - CaseClause 153438 153592 - PropertyAccessExpression 153456 153492 - Identifier 153456 153467 - Identifier 153468 153492 - ReturnStatement 153493 153592 - ConditionalExpression 153517 153591 - PropertyAccessExpression 153517 153529 - Identifier 153517 153522 - Identifier 153523 153529 - QuestionToken 153529 153531 - CallExpression 153531 153579 - Identifier 153531 153566 - PropertyAccessExpression 153567 153578 - Identifier 153567 153571 - Identifier 153572 153578 - ColonToken 153579 153581 - Identifier 153581 153591 - CaseClause 153592 153868 - PropertyAccessExpression 153610 153649 - Identifier 153610 153621 - Identifier 153622 153649 - IfStatement 153650 153868 - CallExpression 153672 153744 - Identifier 153672 153694 - PropertyAccessExpression 153695 153743 - ParenthesizedExpression 153695 153732 - AsExpression 153696 153731 - Identifier 153696 153700 - TypeReference 153703 153731 - Identifier 153703 153731 - Identifier 153733 153743 - Block 153745 153868 - ReturnStatement 153747 153849 - AsExpression 153775 153848 - PropertyAccessExpression 153775 153824 - ParenthesizedExpression 153775 153813 - AsExpression 153777 153812 - Identifier 153777 153781 - TypeReference 153784 153812 - Identifier 153784 153812 - Identifier 153814 153824 - TypeReference 153827 153848 - Identifier 153827 153848 - DefaultClause 153868 153959 - ReturnStatement 153924 153959 - Identifier 153948 153958 - FunctionDeclaration 153977 155602 - Identifier 153993 154036 - Parameter 154037 154056 - Identifier 154037 154050 - TypeReference 154051 154056 - Identifier 154051 154056 - Parameter 154057 154072 - Identifier 154057 154062 - TypeReference 154063 154072 - Identifier 154063 154072 - Parameter 154073 154094 - Identifier 154073 154081 - TypeReference 154082 154094 - Identifier 154082 154094 - BooleanKeyword 154096 154104 - Block 154104 155602 - VariableStatement 154106 154217 - VariableDeclarationList 154106 154216 - VariableDeclaration 154121 154216 - Identifier 154121 154138 - BinaryExpression 154140 154216 - PropertyAccessExpression 154140 154162 - Identifier 154140 154152 - Identifier 154153 154162 - BarToken 154162 154164 - ParenthesizedExpression 154164 154216 - ConditionalExpression 154166 154215 - CallExpression 154166 154191 - Identifier 154166 154176 - Identifier 154177 154190 - QuestionToken 154191 154193 - PropertyAccessExpression 154193 154211 - Identifier 154193 154205 - Identifier 154206 154211 - ColonToken 154211 154213 - NumericLiteral 154213 154215 - IfStatement 154217 155570 - BinaryExpression 154231 154259 - Identifier 154231 154238 - EqualsEqualsEqualsToken 154238 154242 - Identifier 154242 154259 - Block 154260 155570 - VariableStatement 154262 154429 - VariableDeclarationList 154262 154428 - VariableDeclaration 154281 154428 - Identifier 154281 154288 - CallExpression 154290 154428 - Identifier 154290 154304 - CallExpression 154305 154427 - Identifier 154305 154316 - Identifier 154317 154330 - Identifier 154331 154336 - BinaryExpression 154337 154374 - PropertyAccessExpression 154337 154354 - Identifier 154337 154349 - Identifier 154350 154354 - AmpersandToken 154354 154356 - PrefixUnaryExpression 154356 154374 - Identifier 154358 154374 - Identifier 154375 154409 - FalseKeyword 154410 154426 - VariableStatement 154429 154479 - VariableDeclarationList 154429 154478 - VariableDeclaration 154448 154478 - Identifier 154448 154455 - PropertyAccessExpression 154457 154478 - Identifier 154457 154471 - Identifier 154472 154478 - IfStatement 154479 155559 - Identifier 154497 154503 - Block 154504 155559 - IfStatement 154506 155365 - CallExpression 154528 154551 - Identifier 154528 154543 - Identifier 154544 154550 - Block 154552 155365 - ExpressionStatement 154554 154691 - CallExpression 154554 154690 - PropertyAccessExpression 154554 154588 - Identifier 154554 154581 - Identifier 154582 154588 - BinaryExpression 154589 154618 - PropertyAccessExpression 154589 154600 - Identifier 154589 154595 - Identifier 154596 154600 - EqualsEqualsEqualsToken 154600 154604 - Identifier 154604 154618 - StringLiteral 154619 154689 - VariableStatement 154691 154755 - VariableDeclarationList 154691 154754 - VariableDeclaration 154718 154754 - Identifier 154718 154727 - PropertyAccessExpression 154729 154754 - PropertyAccessExpression 154729 154742 - Identifier 154729 154736 - Identifier 154737 154742 - Identifier 154743 154754 - VariableStatement 154755 154855 - VariableDeclarationList 154755 154854 - VariableDeclaration 154782 154854 - Identifier 154782 154791 - CallExpression 154793 154854 - Identifier 154793 154811 - CallExpression 154812 154843 - Identifier 154812 154835 - Identifier 154836 154842 - Identifier 154844 154853 - IfStatement 154855 155346 - Identifier 154881 154889 - Block 154890 155346 - ExpressionStatement 154892 155285 - CallExpression 154892 155284 - Identifier 154892 154923 - Identifier 154924 154960 - PropertyAccessExpression 154961 155126 - Identifier 154961 155002 - Identifier 155003 155126 - CallExpression 155127 155189 - Identifier 155127 155183 - Identifier 155184 155188 - CallExpression 155190 155256 - Identifier 155190 155246 - Identifier 155247 155255 - ReturnStatement 155285 155323 - TrueKeyword 155317 155322 - ExpressionStatement 155365 155514 - CallExpression 155365 155513 - Identifier 155365 155388 - Identifier 155389 155402 - PropertyAccessExpression 155403 155478 - Identifier 155403 155415 - Identifier 155416 155478 - CallExpression 155479 155512 - Identifier 155479 155506 - Identifier 155507 155511 - ReturnStatement 155514 155544 - TrueKeyword 155538 155543 - ReturnStatement 155570 155595 - FalseKeyword 155588 155594 - FunctionDeclaration 155602 156283 - Identifier 155618 155657 - Parameter 155658 155677 - Identifier 155658 155671 - TypeReference 155672 155677 - Identifier 155672 155677 - Parameter 155678 155693 - Identifier 155678 155683 - TypeReference 155684 155693 - Identifier 155684 155693 - Parameter 155694 155715 - Identifier 155694 155702 - TypeReference 155703 155715 - Identifier 155703 155715 - BooleanKeyword 155717 155725 - Block 155725 156283 - IfStatement 155727 156253 - BinaryExpression 155741 155794 - Identifier 155741 155748 - AmpersandToken 155748 155750 - ParenthesizedExpression 155750 155794 - BinaryExpression 155752 155793 - PropertyAccessExpression 155752 155768 - Identifier 155752 155763 - Identifier 155764 155768 - AmpersandToken 155768 155770 - PrefixUnaryExpression 155770 155793 - PropertyAccessExpression 155772 155793 - Identifier 155772 155783 - Identifier 155784 155793 - Block 155795 156253 - VariableStatement 155797 155965 - VariableDeclarationList 155797 155964 - VariableDeclaration 155816 155964 - Identifier 155816 155823 - CallExpression 155825 155964 - Identifier 155825 155839 - CallExpression 155840 155963 - Identifier 155840 155851 - Identifier 155852 155865 - Identifier 155866 155871 - BinaryExpression 155872 155910 - PrefixUnaryExpression 155872 155890 - PropertyAccessExpression 155874 155890 - Identifier 155874 155885 - Identifier 155886 155890 - AmpersandToken 155890 155892 - PropertyAccessExpression 155892 155910 - Identifier 155892 155904 - Identifier 155905 155910 - Identifier 155911 155945 - FalseKeyword 155946 155962 - IfStatement 155965 156242 - BinaryExpression 155983 156032 - Identifier 155983 155989 - AmpersandAmpersandToken 155989 155992 - PrefixUnaryExpression 155992 156032 - ParenthesizedExpression 155994 156032 - BinaryExpression 155995 156031 - PropertyAccessExpression 155995 156007 - Identifier 155995 156001 - Identifier 156002 156007 - AmpersandToken 156007 156009 - PropertyAccessExpression 156009 156031 - Identifier 156009 156021 - Identifier 156022 156031 - Block 156033 156242 - ExpressionStatement 156035 156197 - CallExpression 156035 156196 - Identifier 156035 156058 - Identifier 156059 156072 - PropertyAccessExpression 156073 156161 - Identifier 156073 156085 - Identifier 156086 156161 - CallExpression 156162 156195 - Identifier 156162 156189 - Identifier 156190 156194 - ReturnStatement 156197 156227 - TrueKeyword 156221 156226 - ReturnStatement 156253 156276 - FalseKeyword 156269 156275 - FunctionDeclaration 156283 156482 - Identifier 156299 156319 - Parameter 156320 156334 - Identifier 156320 156324 - TypeReference 156325 156334 - Identifier 156325 156334 - Block 156335 156482 - ReturnStatement 156337 156475 - BinaryExpression 156353 156474 - BinaryExpression 156353 156452 - BinaryExpression 156353 156432 - BinaryExpression 156353 156410 - BinaryExpression 156353 156389 - BinaryExpression 156353 156368 - Identifier 156353 156358 - EqualsEqualsEqualsToken 156358 156362 - StringLiteral 156362 156368 - BarBarToken 156368 156371 - BinaryExpression 156371 156389 - Identifier 156371 156376 - EqualsEqualsEqualsToken 156376 156380 - StringLiteral 156380 156389 - BarBarToken 156389 156392 - BinaryExpression 156392 156410 - Identifier 156392 156397 - EqualsEqualsEqualsToken 156397 156401 - StringLiteral 156401 156410 - BarBarToken 156410 156413 - BinaryExpression 156413 156432 - Identifier 156413 156418 - EqualsEqualsEqualsToken 156418 156422 - StringLiteral 156422 156432 - BarBarToken 156432 156435 - BinaryExpression 156435 156452 - Identifier 156435 156440 - EqualsEqualsEqualsToken 156440 156444 - StringLiteral 156444 156452 - BarBarToken 156452 156455 - BinaryExpression 156455 156474 - Identifier 156455 156460 - EqualsEqualsEqualsToken 156460 156464 - StringLiteral 156464 156474 - FunctionDeclaration 156482 156894 - Identifier 156498 156543 - Parameter 156544 156563 - Identifier 156544 156557 - TypeReference 156558 156563 - Identifier 156558 156563 - Parameter 156564 156579 - Identifier 156564 156569 - TypeReference 156570 156579 - Identifier 156570 156579 - BooleanKeyword 156581 156589 - Block 156589 156894 - IfStatement 156591 156864 - BinaryExpression 156605 156690 - CallExpression 156605 156630 - Identifier 156605 156624 - Identifier 156625 156629 - AmpersandAmpersandToken 156630 156633 - BinaryExpression 156633 156690 - PropertyAccessExpression 156633 156659 - PropertyAccessExpression 156633 156654 - Identifier 156633 156647 - Identifier 156648 156654 - Identifier 156655 156659 - EqualsEqualsEqualsToken 156659 156663 - PropertyAccessExpression 156663 156690 - Identifier 156663 156674 - Identifier 156675 156690 - Block 156691 156864 - ExpressionStatement 156693 156827 - CallExpression 156693 156826 - Identifier 156693 156712 - Identifier 156713 156726 - PropertyAccessExpression 156727 156809 - Identifier 156727 156739 - Identifier 156740 156809 - AsExpression 156810 156825 - Identifier 156810 156815 - StringKeyword 156818 156825 - ReturnStatement 156827 156853 - TrueKeyword 156847 156852 - ReturnStatement 156864 156887 - FalseKeyword 156880 156886 - FunctionDeclaration 156894 159842 - Identifier 156910 156949 - Parameter 156950 156969 - Identifier 156950 156963 - TypeReference 156964 156969 - Identifier 156964 156969 - Parameter 156970 156985 - Identifier 156970 156975 - TypeReference 156976 156985 - Identifier 156976 156985 - Parameter 156986 157007 - Identifier 156986 156994 - TypeReference 156995 157007 - Identifier 156995 157007 - BooleanKeyword 157009 157017 - Block 157017 159842 - IfStatement 157019 159812 - BinaryExpression 157033 157060 - Identifier 157033 157040 - AmpersandToken 157040 157042 - PropertyAccessExpression 157042 157060 - Identifier 157042 157054 - Identifier 157055 157060 - Block 157061 159812 - IfStatement 157063 158633 - CallExpression 157081 157106 - Identifier 157081 157100 - Identifier 157101 157105 - Block 157107 158633 - VariableStatement 157109 157175 - VariableDeclarationList 157109 157174 - VariableDeclaration 157132 157174 - Identifier 157132 157144 - PropertyAccessExpression 157146 157174 - PropertyAccessExpression 157146 157167 - Identifier 157146 157160 - Identifier 157161 157167 - Identifier 157168 157174 - IfStatement 157175 158588 - BinaryExpression 157197 157263 - BinaryExpression 157197 157230 - Identifier 157197 157208 - AmpersandAmpersandToken 157208 157211 - PropertyAccessExpression 157211 157230 - Identifier 157211 157223 - Identifier 157224 157230 - AmpersandAmpersandToken 157230 157233 - CallExpression 157233 157263 - Identifier 157233 157250 - Identifier 157251 157262 - Block 157264 158396 - VariableStatement 157266 157327 - VariableDeclarationList 157266 157326 - VariableDeclaration 157293 157326 - Identifier 157293 157306 - PropertyAccessExpression 157308 157326 - Identifier 157308 157320 - Identifier 157321 157326 - VariableStatement 157327 157395 - VariableDeclarationList 157327 157394 - VariableDeclaration 157354 157394 - Identifier 157354 157368 - PropertyAccessExpression 157370 157394 - PropertyAccessExpression 157370 157389 - Identifier 157370 157382 - Identifier 157383 157389 - Identifier 157390 157394 - IfStatement 157395 158377 - BinaryExpression 157421 157516 - BinaryExpression 157421 157470 - Identifier 157421 157434 - EqualsEqualsEqualsToken 157434 157438 - PropertyAccessExpression 157438 157470 - Identifier 157438 157449 - Identifier 157450 157470 - AmpersandAmpersandToken 157470 157473 - BinaryExpression 157473 157516 - Identifier 157473 157486 - EqualsEqualsEqualsToken 157486 157490 - PropertyAccessExpression 157490 157516 - Identifier 157490 157501 - Identifier 157502 157516 - Block 157517 157731 - ExpressionStatement 157519 157708 - CallExpression 157519 157707 - Identifier 157519 157550 - Identifier 157551 157564 - PropertyAccessExpression 157565 157672 - Identifier 157565 157577 - Identifier 157578 157672 - CallExpression 157673 157706 - Identifier 157673 157700 - Identifier 157701 157705 - IfStatement 157757 158377 - BinaryExpression 157762 157839 - CallExpression 157762 157793 - Identifier 157762 157773 - PropertyAccessExpression 157774 157792 - Identifier 157774 157785 - Identifier 157786 157792 - AmpersandAmpersandToken 157793 157796 - BinaryExpression 157796 157839 - Identifier 157796 157809 - EqualsEqualsEqualsToken 157809 157813 - PropertyAccessExpression 157813 157839 - Identifier 157813 157824 - Identifier 157825 157839 - Block 157840 158050 - ExpressionStatement 157842 158027 - CallExpression 157842 158026 - Identifier 157842 157873 - Identifier 157874 157887 - PropertyAccessExpression 157888 157991 - Identifier 157888 157900 - Identifier 157901 157991 - CallExpression 157992 158025 - Identifier 157992 158019 - Identifier 158020 158024 - IfStatement 158076 158377 - BinaryExpression 158081 158161 - CallExpression 158081 158112 - Identifier 158081 158092 - PropertyAccessExpression 158093 158111 - Identifier 158093 158104 - Identifier 158105 158111 - AmpersandAmpersandToken 158112 158115 - BinaryExpression 158115 158161 - Identifier 158115 158128 - EqualsEqualsEqualsToken 158128 158132 - PropertyAccessExpression 158132 158161 - Identifier 158132 158143 - Identifier 158144 158161 - Block 158162 158377 - ExpressionStatement 158164 158354 - CallExpression 158164 158353 - Identifier 158164 158195 - Identifier 158196 158209 - PropertyAccessExpression 158210 158318 - Identifier 158210 158222 - Identifier 158223 158318 - CallExpression 158319 158352 - Identifier 158319 158346 - Identifier 158347 158351 - Block 158418 158588 - ExpressionStatement 158420 158569 - CallExpression 158420 158568 - Identifier 158420 158447 - Identifier 158448 158461 - PropertyAccessExpression 158462 158533 - Identifier 158462 158474 - Identifier 158475 158533 - CallExpression 158534 158567 - Identifier 158534 158561 - Identifier 158562 158566 - ReturnStatement 158588 158618 - TrueKeyword 158612 158617 - VariableStatement 158633 158801 - VariableDeclarationList 158633 158800 - VariableDeclaration 158652 158800 - Identifier 158652 158659 - CallExpression 158661 158800 - Identifier 158661 158675 - CallExpression 158676 158799 - Identifier 158676 158687 - Identifier 158688 158701 - Identifier 158702 158707 - BinaryExpression 158708 158746 - PropertyAccessExpression 158708 158725 - Identifier 158708 158720 - Identifier 158721 158725 - AmpersandToken 158725 158727 - PrefixUnaryExpression 158727 158746 - PropertyAccessExpression 158729 158746 - Identifier 158729 158740 - Identifier 158741 158746 - Identifier 158747 158781 - FalseKeyword 158782 158798 - VariableStatement 158801 158865 - VariableDeclarationList 158801 158864 - VariableDeclaration 158820 158864 - Identifier 158820 158829 - BinaryExpression 158831 158864 - Identifier 158831 158838 - AmpersandAmpersandToken 158838 158841 - CallExpression 158841 158864 - Identifier 158841 158856 - Identifier 158857 158863 - IfStatement 158865 159801 - BinaryExpression 158883 158950 - BinaryExpression 158883 158915 - Identifier 158883 158889 - AmpersandAmpersandToken 158889 158892 - BinaryExpression 158892 158915 - Identifier 158892 158901 - ExclamationEqualsEqualsToken 158901 158905 - Identifier 158905 158915 - AmpersandAmpersandToken 158915 158918 - PrefixUnaryExpression 158918 158950 - ParenthesizedExpression 158920 158950 - BinaryExpression 158921 158949 - Identifier 158921 158929 - AmpersandToken 158929 158931 - PropertyAccessExpression 158931 158949 - Identifier 158931 158943 - Identifier 158944 158949 - Block 158951 159801 - VariableStatement 158953 159020 - VariableDeclarationList 158953 159019 - VariableDeclaration 158976 159019 - Identifier 158976 158984 - CallExpression 158986 159019 - Identifier 158986 159013 - Identifier 159014 159018 - IfStatement 159020 159756 - CallExpression 159042 159078 - Identifier 159042 159072 - Identifier 159073 159077 - Block 159079 159322 - ExpressionStatement 159081 159303 - CallExpression 159081 159302 - Identifier 159081 159108 - Identifier 159109 159122 - PropertyAccessExpression 159123 159292 - Identifier 159123 159135 - Identifier 159136 159292 - Identifier 159293 159301 - IfStatement 159344 159756 - CallExpression 159349 159387 - Identifier 159349 159364 - Identifier 159365 159378 - Identifier 159379 159386 - Block 159388 159589 - ExpressionStatement 159390 159570 - CallExpression 159390 159569 - Identifier 159390 159417 - Identifier 159418 159431 - PropertyAccessExpression 159432 159530 - Identifier 159432 159444 - Identifier 159445 159530 - Identifier 159531 159539 - ConditionalExpression 159540 159568 - BinaryExpression 159540 159556 - Identifier 159540 159548 - EqualsEqualsEqualsToken 159548 159552 - StringLiteral 159552 159556 - QuestionToken 159556 159558 - StringLiteral 159558 159562 - ColonToken 159562 159564 - StringLiteral 159564 159568 - Block 159611 159756 - ExpressionStatement 159613 159737 - CallExpression 159613 159736 - Identifier 159613 159640 - Identifier 159641 159654 - PropertyAccessExpression 159655 159726 - Identifier 159655 159667 - Identifier 159668 159726 - Identifier 159727 159735 - ReturnStatement 159756 159786 - TrueKeyword 159780 159785 - ReturnStatement 159812 159835 - FalseKeyword 159828 159834 - FunctionDeclaration 159842 160386 - Identifier 159858 159874 - Parameter 159875 159885 - Identifier 159875 159879 - TypeReference 159880 159885 - Identifier 159880 159885 - Parameter 159886 159901 - Identifier 159886 159893 - TypeReference 159894 159901 - Identifier 159894 159901 - Block 159902 160386 - VariableStatement 159904 160088 - VariableDeclarationList 159904 160087 - VariableDeclaration 159919 160087 - Identifier 159919 159929 - AsExpression 159931 160087 - CallExpression 159931 160056 - Identifier 159931 159944 - PropertyAccessExpression 159945 159956 - Identifier 159945 159949 - Identifier 159950 159956 - ArrowFunction 159957 160055 - Parameter 159957 159959 - Identifier 159957 159959 - EqualsGreaterThanToken 159959 159962 - ConditionalExpression 159962 160055 - BinaryExpression 159962 160014 - CallExpression 159962 159988 - Identifier 159962 159985 - Identifier 159986 159987 - BarBarToken 159988 159991 - CallExpression 159991 160014 - Identifier 159991 160011 - Identifier 160012 160013 - QuestionToken 160014 160016 - FalseKeyword 160016 160022 - ColonToken 160022 160024 - BinaryExpression 160024 160055 - CallExpression 160024 160045 - Identifier 160024 160042 - Identifier 160043 160044 - BarBarToken 160045 160048 - StringLiteral 160048 160055 - UnionType 160059 160087 - TypeReference 160059 160075 - Identifier 160059 160075 - UndefinedKeyword 160077 160087 - IfStatement 160088 160356 - BinaryExpression 160102 160145 - Identifier 160102 160111 - AmpersandAmpersandToken 160111 160114 - BinaryExpression 160114 160145 - PropertyAccessExpression 160114 160139 - PropertyAccessExpression 160114 160132 - Identifier 160114 160124 - Identifier 160125 160132 - Identifier 160133 160139 - EqualsEqualsEqualsToken 160139 160143 - NumericLiteral 160143 160145 - Block 160146 160356 - VariableStatement 160148 160207 - VariableDeclarationList 160148 160206 - VariableDeclaration 160167 160206 - Identifier 160167 160172 - CallExpression 160174 160206 - Identifier 160174 160198 - Identifier 160199 160205 - ReturnStatement 160207 160345 - BinaryExpression 160227 160344 - PrefixUnaryExpression 160227 160260 - PrefixUnaryExpression 160229 160260 - ParenthesizedExpression 160230 160260 - BinaryExpression 160231 160259 - PropertyAccessExpression 160231 160241 - Identifier 160231 160235 - Identifier 160236 160241 - AmpersandToken 160241 160243 - PropertyAccessExpression 160243 160259 - Identifier 160243 160253 - Identifier 160254 160259 - AmpersandAmpersandToken 160260 160263 - CallExpression 160263 160344 - Identifier 160263 160288 - Identifier 160289 160293 - PropertyAccessExpression 160294 160326 - Identifier 160294 160304 - Identifier 160305 160326 - TrueKeyword 160327 160343 - ReturnStatement 160356 160379 - FalseKeyword 160372 160378 - FunctionDeclaration 160386 160706 - Identifier 160402 160433 - Parameter 160434 160445 - Identifier 160434 160435 - TypeReference 160436 160445 - Identifier 160436 160445 - Block 160446 160706 - SwitchStatement 160448 160676 - Identifier 160466 160467 - CaseBlock 160468 160676 - CaseClause 160470 160499 - StringLiteral 160488 160498 - CaseClause 160499 160527 - StringLiteral 160517 160526 - CaseClause 160527 160552 - StringLiteral 160545 160551 - CaseClause 160552 160581 - StringLiteral 160570 160580 - CaseClause 160581 160606 - StringLiteral 160599 160605 - CaseClause 160606 160665 - StringLiteral 160624 160634 - ReturnStatement 160635 160665 - TrueKeyword 160659 160664 - ReturnStatement 160676 160699 - FalseKeyword 160692 160698 - FunctionDeclaration 160706 161804 - Identifier 160722 160772 - Parameter 160773 160792 - Identifier 160773 160786 - TypeReference 160787 160792 - Identifier 160787 160792 - Parameter 160793 160808 - Identifier 160793 160798 - TypeReference 160799 160808 - Identifier 160799 160808 - Parameter 160809 160830 - Identifier 160809 160817 - TypeReference 160818 160830 - Identifier 160818 160830 - BooleanKeyword 160832 160840 - Block 160840 161804 - IfStatement 160842 161774 - BinaryExpression 160856 160905 - Identifier 160856 160863 - AmpersandToken 160863 160865 - ParenthesizedExpression 160865 160905 - BinaryExpression 160867 160904 - PropertyAccessExpression 160867 160884 - Identifier 160867 160878 - Identifier 160879 160884 - AmpersandToken 160884 160886 - PrefixUnaryExpression 160886 160904 - PropertyAccessExpression 160888 160904 - Identifier 160888 160899 - Identifier 160900 160904 - Block 160906 161352 - VariableStatement 160908 161066 - VariableDeclarationList 160908 161065 - VariableDeclaration 160927 161065 - Identifier 160927 160934 - CallExpression 160936 161065 - Identifier 160936 160950 - CallExpression 160951 161064 - Identifier 160951 160962 - Identifier 160963 160976 - Identifier 160977 160982 - PropertyAccessExpression 160983 161011 - Identifier 160983 160995 - Identifier 160996 161011 - Identifier 161012 161046 - FalseKeyword 161047 161063 - IfStatement 161066 161341 - Identifier 161084 161090 - Block 161091 161341 - ExpressionStatement 161093 161296 - CallExpression 161093 161295 - Identifier 161093 161116 - Identifier 161117 161152 - PropertyAccessExpression 161153 161220 - Identifier 161153 161186 - Identifier 161187 161220 - CallExpression 161221 161275 - Identifier 161221 161269 - Identifier 161270 161274 - ReturnStatement 161296 161326 - TrueKeyword 161320 161325 - IfStatement 161366 161774 - BinaryExpression 161371 161420 - Identifier 161371 161378 - AmpersandToken 161378 161380 - ParenthesizedExpression 161380 161420 - BinaryExpression 161382 161419 - PropertyAccessExpression 161382 161398 - Identifier 161382 161393 - Identifier 161394 161398 - AmpersandToken 161398 161400 - PrefixUnaryExpression 161400 161419 - PropertyAccessExpression 161402 161419 - Identifier 161402 161413 - Identifier 161414 161419 - Block 161421 161774 - VariableStatement 161423 161572 - VariableDeclarationList 161423 161571 - VariableDeclaration 161442 161571 - Identifier 161442 161449 - CallExpression 161451 161571 - Identifier 161451 161465 - CallExpression 161466 161570 - Identifier 161466 161477 - Identifier 161478 161491 - Identifier 161492 161497 - PropertyAccessExpression 161498 161517 - Identifier 161498 161510 - Identifier 161511 161517 - Identifier 161518 161552 - FalseKeyword 161553 161569 - IfStatement 161572 161763 - Identifier 161590 161596 - Block 161597 161763 - ExpressionStatement 161599 161718 - CallExpression 161599 161717 - Identifier 161599 161622 - Identifier 161623 161636 - PropertyAccessExpression 161637 161682 - Identifier 161637 161649 - Identifier 161650 161682 - CallExpression 161683 161716 - Identifier 161683 161710 - Identifier 161711 161715 - ReturnStatement 161718 161748 - TrueKeyword 161742 161747 - ReturnStatement 161774 161797 - FalseKeyword 161790 161796 - FunctionDeclaration 161804 164080 - Identifier 161820 161853 - Parameter 161854 161868 - Identifier 161854 161860 - TypeReference 161861 161868 - Identifier 161861 161868 - Parameter 161869 161889 - Identifier 161869 161883 - TypeReference 161884 161889 - Identifier 161884 161889 - VoidKeyword 161891 161896 - Block 161896 164080 - ExpressionStatement 161898 162044 - CallExpression 161898 162043 - PropertyAccessExpression 161898 161920 - Identifier 161898 161913 - Identifier 161914 161920 - PrefixUnaryExpression 161921 162042 - PrefixUnaryExpression 161922 162042 - ParenthesizedExpression 161923 162042 - BinaryExpression 161924 162041 - BinaryExpression 161924 162006 - BinaryExpression 161924 161970 - PropertyAccessExpression 161924 161936 - Identifier 161924 161930 - Identifier 161931 161936 - AmpersandToken 161936 161938 - PropertyAccessExpression 161938 161970 - Identifier 161938 161950 - Identifier 161951 161970 - BarBarToken 161970 161973 - BinaryExpression 161973 162006 - PropertyAccessExpression 161973 161986 - Identifier 161973 161980 - Identifier 161981 161986 - AmpersandToken 161986 161988 - PropertyAccessExpression 161988 162006 - Identifier 161988 162000 - Identifier 162001 162006 - BarBarToken 162006 162009 - BinaryExpression 162009 162041 - PropertyAccessExpression 162009 162022 - Identifier 162009 162016 - Identifier 162017 162022 - AmpersandToken 162022 162024 - PropertyAccessExpression 162024 162041 - Identifier 162024 162036 - Identifier 162037 162041 - IfStatement 162044 162286 - BinaryExpression 162058 162193 - BinaryExpression 162058 162157 - PropertyAccessExpression 162058 162070 - Identifier 162058 162064 - Identifier 162065 162070 - AmpersandToken 162070 162072 - ParenthesizedExpression 162072 162157 - BinaryExpression 162074 162156 - BinaryExpression 162074 162131 - PropertyAccessExpression 162074 162094 - Identifier 162074 162085 - Identifier 162086 162094 - BarToken 162094 162096 - PropertyAccessExpression 162096 162131 - Identifier 162096 162108 - Identifier 162109 162131 - BarToken 162131 162133 - PropertyAccessExpression 162133 162156 - Identifier 162133 162145 - Identifier 162146 162156 - AmpersandAmpersandToken 162157 162160 - BinaryExpression 162160 162193 - PropertyAccessExpression 162160 162173 - Identifier 162160 162167 - Identifier 162168 162173 - AmpersandToken 162173 162175 - PropertyAccessExpression 162175 162193 - Identifier 162175 162187 - Identifier 162188 162193 - Block 162194 162286 - ReturnStatement 162196 162275 - VariableStatement 162286 162532 - VariableDeclarationList 162286 162531 - VariableDeclaration 162375 162531 - Identifier 162375 162387 - CallExpression 162389 162531 - PropertyAccessExpression 162389 162415 - PropertyAccessExpression 162389 162409 - Identifier 162389 162396 - Identifier 162397 162409 - QuestionDotToken 162409 162411 - Identifier 162411 162415 - ArrowFunction 162416 162519 - Parameter 162416 162431 - Identifier 162416 162431 - EqualsGreaterThanToken 162431 162434 - BinaryExpression 162434 162519 - BinaryExpression 162434 162476 - CallExpression 162434 162458 - Identifier 162434 162455 - Identifier 162456 162457 - BarBarToken 162458 162461 - CallExpression 162461 162476 - Identifier 162461 162473 - Identifier 162474 162475 - BarBarToken 162476 162479 - ParenthesizedExpression 162479 162519 - BinaryExpression 162481 162518 - PropertyAccessExpression 162481 162487 - Identifier 162481 162482 - Identifier 162483 162487 - EqualsEqualsEqualsToken 162487 162491 - PropertyAccessExpression 162491 162518 - Identifier 162491 162502 - Identifier 162503 162518 - IfStatement 162532 162669 - BinaryExpression 162548 162573 - Identifier 162548 162559 - EqualsEqualsEqualsToken 162559 162563 - Identifier 162563 162573 - ReturnStatement 162574 162669 - CallExpression 162581 162668 - PropertyAccessExpression 162581 162592 - Identifier 162581 162587 - Identifier 162588 162592 - StringLiteral 162593 162667 - IfStatement 162669 164073 - BinaryExpression 162685 162792 - PrefixUnaryExpression 162685 162725 - ParenthesizedExpression 162686 162725 - BinaryExpression 162687 162724 - PropertyAccessExpression 162687 162704 - Identifier 162687 162698 - Identifier 162699 162704 - AmpersandToken 162704 162706 - PropertyAccessExpression 162706 162724 - Identifier 162706 162716 - Identifier 162717 162724 - AmpersandAmpersandToken 162725 162728 - PrefixUnaryExpression 162728 162792 - CallExpression 162730 162792 - Identifier 162730 162764 - Identifier 162765 162776 - Identifier 162777 162791 - Block 162793 164073 - VariableStatement 162795 162831 - VariableDeclarationList 162795 162830 - VariableDeclaration 162812 162830 - Identifier 162812 162830 - VariableStatement 162831 162928 - VariableDeclarationList 162831 162927 - VariableDeclaration 162850 162927 - Identifier 162850 162866 - CallExpression 162868 162927 - Identifier 162868 162892 - CallExpression 162893 162926 - Identifier 162893 162913 - Identifier 162914 162925 - IfStatement 162928 163867 - BinaryExpression 162946 162992 - PropertyAccessExpression 162946 162958 - Identifier 162946 162952 - Identifier 162953 162958 - AmpersandToken 162958 162960 - PropertyAccessExpression 162960 162992 - Identifier 162960 162972 - Identifier 162973 162992 - Block 162993 163151 - ExpressionStatement 162995 163136 - BinaryExpression 162995 163135 - Identifier 162995 163030 - EqualsToken 163030 163032 - CallExpression 163032 163135 - Identifier 163032 163038 - Identifier 163039 163052 - PropertyAccessExpression 163053 163117 - Identifier 163053 163065 - Identifier 163066 163117 - Identifier 163118 163134 - IfStatement 163169 163867 - BinaryExpression 163174 163206 - PropertyAccessExpression 163174 163186 - Identifier 163174 163180 - Identifier 163181 163186 - AmpersandToken 163186 163188 - PropertyAccessExpression 163188 163206 - Identifier 163188 163200 - Identifier 163201 163206 - Block 163207 163349 - ExpressionStatement 163209 163334 - BinaryExpression 163209 163333 - Identifier 163209 163244 - EqualsToken 163244 163246 - CallExpression 163246 163333 - Identifier 163246 163252 - Identifier 163253 163266 - PropertyAccessExpression 163267 163315 - Identifier 163267 163279 - Identifier 163280 163315 - Identifier 163316 163332 - IfStatement 163367 163867 - BinaryExpression 163372 163410 - PropertyAccessExpression 163372 163384 - Identifier 163372 163378 - Identifier 163379 163384 - AmpersandToken 163384 163386 - PropertyAccessExpression 163386 163410 - Identifier 163386 163398 - Identifier 163399 163410 - Block 163411 163552 - ExpressionStatement 163413 163537 - BinaryExpression 163413 163536 - Identifier 163413 163448 - EqualsToken 163448 163450 - CallExpression 163450 163536 - Identifier 163450 163456 - Identifier 163457 163470 - PropertyAccessExpression 163471 163518 - Identifier 163471 163483 - Identifier 163484 163518 - Identifier 163519 163535 - Block 163570 163867 - ExpressionStatement 163572 163645 - CallExpression 163572 163644 - PropertyAccessExpression 163572 163602 - Identifier 163572 163595 - Identifier 163596 163602 - PrefixUnaryExpression 163603 163643 - PrefixUnaryExpression 163604 163643 - ParenthesizedExpression 163605 163643 - BinaryExpression 163606 163642 - PropertyAccessExpression 163606 163618 - Identifier 163606 163612 - Identifier 163613 163618 - AmpersandToken 163618 163620 - PropertyAccessExpression 163620 163642 - Identifier 163620 163632 - Identifier 163633 163642 - IfStatement 163645 163852 - CallExpression 163667 163702 - Identifier 163667 163685 - Identifier 163686 163701 - Block 163703 163852 - ExpressionStatement 163705 163833 - BinaryExpression 163705 163832 - Identifier 163705 163744 - EqualsToken 163744 163746 - CallExpression 163746 163832 - Identifier 163746 163752 - Identifier 163753 163766 - PropertyAccessExpression 163767 163814 - Identifier 163767 163779 - Identifier 163780 163814 - Identifier 163815 163831 - IfStatement 163867 164062 - Identifier 163887 163904 - Block 163905 164062 - ExpressionStatement 163907 164047 - CallExpression 163907 164046 - Identifier 163907 163939 - Identifier 163940 163957 - CallExpression 163958 164045 - Identifier 163958 163982 - Identifier 163983 163994 - PropertyAccessExpression 163995 164027 - Identifier 163995 164007 - Identifier 164008 164027 - Identifier 164028 164044 - FunctionDeclaration 164080 164776 - Identifier 164420 164444 - Parameter 164445 164458 - Identifier 164445 164452 - TypeReference 164453 164458 - Identifier 164453 164458 - Parameter 164459 164484 - Identifier 164459 164466 - UnionType 164467 164484 - TypeReference 164467 164472 - Identifier 164467 164472 - UndefinedKeyword 164474 164484 - Parameter 164485 164498 - Identifier 164485 164492 - TypeReference 164493 164498 - Identifier 164493 164498 - BooleanKeyword 164500 164508 - Block 164508 164776 - ReturnStatement 164510 164769 - BinaryExpression 164526 164768 - PrefixUnaryExpression 164526 164535 - PrefixUnaryExpression 164528 164535 - Identifier 164529 164535 - AmpersandAmpersandToken 164535 164538 - PrefixUnaryExpression 164538 164768 - PrefixUnaryExpression 164540 164768 - CallExpression 164541 164768 - Identifier 164541 164553 - Identifier 164554 164561 - ArrowFunction 164562 164767 - Parameter 164562 164564 - Identifier 164562 164564 - EqualsGreaterThanToken 164564 164567 - BinaryExpression 164567 164767 - BinaryExpression 164567 164593 - Identifier 164567 164582 - EqualsEqualsEqualsToken 164582 164586 - Identifier 164586 164593 - BarBarToken 164593 164609 - ParenthesizedExpression 164609 164767 - ConditionalExpression 164611 164766 - BinaryExpression 164611 164749 - BinaryExpression 164611 164623 - Identifier 164611 164612 - EqualsEqualsEqualsToken 164612 164616 - Identifier 164616 164623 - BarBarToken 164623 164626 - BinaryExpression 164626 164749 - CallExpression 164626 164644 - Identifier 164626 164641 - Identifier 164642 164643 - AmpersandAmpersandToken 164644 164647 - ParenthesizedExpression 164647 164749 - BinaryExpression 164649 164748 - PrefixUnaryExpression 164649 164692 - CallExpression 164650 164692 - Identifier 164650 164689 - Identifier 164690 164691 - BarBarToken 164692 164695 - ParenthesizedExpression 164695 164748 - BinaryExpression 164697 164747 - CallExpression 164697 164716 - Identifier 164697 164713 - Identifier 164714 164715 - AmpersandToken 164716 164718 - PropertyAccessExpression 164718 164747 - Identifier 164718 164732 - Identifier 164733 164747 - QuestionToken 164749 164751 - StringLiteral 164751 164758 - ColonToken 164758 164760 - FalseKeyword 164760 164766 - FunctionDeclaration 164776 165404 - Identifier 164792 164811 - Parameter 164812 164822 - Identifier 164812 164816 - TypeReference 164817 164822 - Identifier 164817 164822 - UnionType 164824 164859 - TypeReference 164824 164847 - Identifier 164824 164847 - UndefinedKeyword 164849 164859 - Block 164859 165404 - SwitchStatement 164861 165397 - PropertyAccessExpression 164879 164888 - Identifier 164879 164883 - Identifier 164884 164888 - CaseBlock 164889 165397 - CaseClause 164891 165002 - PropertyAccessExpression 164909 164944 - Identifier 164909 164920 - Identifier 164921 164944 - ReturnStatement 164945 165002 - AsExpression 164969 165001 - Identifier 164969 164974 - TypeReference 164977 165001 - Identifier 164977 165001 - CaseClause 165002 165100 - PropertyAccessExpression 165020 165044 - Identifier 165020 165031 - Identifier 165032 165044 - ReturnStatement 165045 165100 - PropertyAccessExpression 165069 165099 - ParenthesizedExpression 165069 165092 - AsExpression 165071 165091 - Identifier 165071 165075 - TypeReference 165078 165091 - Identifier 165078 165091 - Identifier 165093 165099 - CaseClause 165100 165211 - PropertyAccessExpression 165118 165145 - Identifier 165118 165129 - Identifier 165130 165145 - ReturnStatement 165146 165211 - PropertyAccessExpression 165170 165210 - PropertyAccessExpression 165170 165203 - ParenthesizedExpression 165170 165196 - AsExpression 165172 165195 - Identifier 165172 165176 - TypeReference 165179 165195 - Identifier 165179 165195 - Identifier 165197 165203 - Identifier 165204 165210 - CaseClause 165211 165329 - PropertyAccessExpression 165229 165256 - Identifier 165229 165240 - Identifier 165241 165256 - ReturnStatement 165257 165329 - PropertyAccessExpression 165281 165328 - PropertyAccessExpression 165281 165321 - PropertyAccessExpression 165281 165314 - ParenthesizedExpression 165281 165307 - AsExpression 165283 165306 - Identifier 165283 165287 - TypeReference 165290 165306 - Identifier 165290 165306 - Identifier 165308 165314 - Identifier 165315 165321 - Identifier 165322 165328 - DefaultClause 165329 165386 - ReturnStatement 165351 165386 - Identifier 165375 165385 - FunctionDeclaration 165404 165607 - Identifier 165420 165448 - Parameter 165449 165463 - Identifier 165449 165455 - TypeReference 165456 165463 - Identifier 165456 165463 - UnionType 165465 165489 - TypeReference 165465 165477 - Identifier 165465 165477 - UndefinedKeyword 165479 165489 - Block 165489 165607 - ReturnStatement 165491 165600 - BinaryExpression 165507 165599 - PropertyAccessExpression 165507 165527 - Identifier 165507 165514 - Identifier 165515 165527 - AmpersandAmpersandToken 165527 165530 - CallExpression 165530 165599 - Identifier 165530 165539 - TypeReference 165540 165551 - Identifier 165540 165551 - PropertyAccessExpression 165553 165572 - Identifier 165553 165559 - Identifier 165560 165572 - Identifier 165573 165598 - FunctionDeclaration 165607 167684 - Identifier 166170 166195 - Parameter 166196 166206 - Identifier 166196 166200 - TypeReference 166201 166206 - Identifier 166201 166206 - BooleanKeyword 166208 166216 - Block 166216 167684 - ReturnStatement 166218 167677 - BinaryExpression 166234 167676 - BinaryExpression 166234 167541 - BinaryExpression 166234 167415 - BinaryExpression 166234 167284 - BinaryExpression 166234 167215 - BinaryExpression 166234 166933 - BinaryExpression 166234 166777 - BinaryExpression 166234 166666 - BinaryExpression 166234 166609 - BinaryExpression 166234 166552 - BinaryExpression 166234 166495 - BinaryExpression 166234 166438 - BinaryExpression 166234 166351 - BinaryExpression 166234 166283 - PropertyAccessExpression 166234 166244 - Identifier 166234 166239 - Identifier 166240 166244 - EqualsEqualsEqualsToken 166244 166248 - PropertyAccessExpression 166248 166283 - Identifier 166248 166259 - Identifier 166260 166283 - BarBarToken 166283 166299 - BinaryExpression 166299 166351 - PropertyAccessExpression 166299 166309 - Identifier 166299 166304 - Identifier 166305 166309 - EqualsEqualsEqualsToken 166309 166313 - PropertyAccessExpression 166313 166351 - Identifier 166313 166324 - Identifier 166325 166351 - BarBarToken 166351 166367 - BinaryExpression 166367 166438 - BinaryExpression 166367 166405 - PropertyAccessExpression 166367 166377 - Identifier 166367 166372 - Identifier 166373 166377 - EqualsEqualsEqualsToken 166377 166381 - PropertyAccessExpression 166381 166405 - Identifier 166381 166392 - Identifier 166393 166405 - AmpersandAmpersandToken 166405 166408 - PrefixUnaryExpression 166408 166438 - PrefixUnaryExpression 166410 166438 - PropertyAccessExpression 166411 166438 - ParenthesizedExpression 166411 166433 - AsExpression 166412 166432 - Identifier 166412 166416 - TypeReference 166419 166432 - Identifier 166419 166432 - Identifier 166434 166438 - BarBarToken 166438 166454 - BinaryExpression 166454 166495 - PropertyAccessExpression 166454 166464 - Identifier 166454 166459 - Identifier 166460 166464 - EqualsEqualsEqualsToken 166464 166468 - PropertyAccessExpression 166468 166495 - Identifier 166468 166479 - Identifier 166480 166495 - BarBarToken 166495 166511 - BinaryExpression 166511 166552 - PropertyAccessExpression 166511 166521 - Identifier 166511 166516 - Identifier 166517 166521 - EqualsEqualsEqualsToken 166521 166525 - PropertyAccessExpression 166525 166552 - Identifier 166525 166536 - Identifier 166537 166552 - BarBarToken 166552 166568 - BinaryExpression 166568 166609 - PropertyAccessExpression 166568 166578 - Identifier 166568 166573 - Identifier 166574 166578 - EqualsEqualsEqualsToken 166578 166582 - PropertyAccessExpression 166582 166609 - Identifier 166582 166593 - Identifier 166594 166609 - BarBarToken 166609 166625 - BinaryExpression 166625 166666 - PropertyAccessExpression 166625 166635 - Identifier 166625 166630 - Identifier 166631 166635 - EqualsEqualsEqualsToken 166635 166639 - PropertyAccessExpression 166639 166666 - Identifier 166639 166650 - Identifier 166651 166666 - BarBarToken 166666 166682 - BinaryExpression 166682 166777 - BinaryExpression 166682 166724 - PropertyAccessExpression 166682 166692 - Identifier 166682 166687 - Identifier 166688 166692 - EqualsEqualsEqualsToken 166692 166696 - PropertyAccessExpression 166696 166724 - Identifier 166696 166707 - Identifier 166708 166724 - AmpersandAmpersandToken 166724 166727 - CallExpression 166727 166777 - Identifier 166727 166751 - AsExpression 166752 166776 - Identifier 166752 166756 - TypeReference 166759 166776 - Identifier 166759 166776 - BarBarToken 166777 166793 - BinaryExpression 166793 166933 - BinaryExpression 166793 166900 - CallExpression 166793 166818 - Identifier 166793 166812 - Identifier 166813 166817 - AmpersandAmpersandToken 166818 166821 - BinaryExpression 166821 166900 - CallExpression 166821 166856 - Identifier 166821 166850 - Identifier 166851 166855 - EqualsEqualsEqualsToken 166856 166860 - PropertyAccessExpression 166860 166900 - Identifier 166860 166886 - Identifier 166887 166900 - AmpersandAmpersandToken 166900 166903 - CallExpression 166903 166933 - Identifier 166903 166927 - Identifier 166928 166932 - BarBarToken 166933 166949 - BinaryExpression 166949 167215 - BinaryExpression 166949 167150 - BinaryExpression 166949 167072 - BinaryExpression 166949 167026 - CallExpression 166949 166974 - Identifier 166949 166968 - Identifier 166969 166973 - AmpersandAmpersandToken 166974 166994 - CallExpression 166994 167026 - Identifier 166994 167013 - PropertyAccessExpression 167014 167025 - Identifier 167014 167018 - Identifier 167019 167025 - AmpersandAmpersandToken 167026 167046 - BinaryExpression 167046 167072 - PropertyAccessExpression 167046 167063 - PropertyAccessExpression 167046 167058 - Identifier 167046 167051 - Identifier 167052 167058 - Identifier 167059 167063 - EqualsEqualsEqualsToken 167063 167067 - Identifier 167067 167072 - AmpersandAmpersandToken 167072 167092 - BinaryExpression 167092 167150 - PropertyAccessExpression 167092 167123 - PropertyAccessExpression 167092 167118 - PropertyAccessExpression 167092 167104 - Identifier 167092 167097 - Identifier 167098 167104 - Identifier 167105 167118 - Identifier 167119 167123 - EqualsEqualsEqualsToken 167123 167127 - PropertyAccessExpression 167127 167150 - Identifier 167127 167138 - Identifier 167139 167150 - AmpersandAmpersandToken 167150 167170 - CallExpression 167170 167215 - Identifier 167170 167196 - PropertyAccessExpression 167197 167214 - PropertyAccessExpression 167197 167208 - Identifier 167197 167201 - Identifier 167202 167208 - Identifier 167209 167214 - BarBarToken 167215 167231 - BinaryExpression 167231 167284 - PropertyAccessExpression 167231 167241 - Identifier 167231 167236 - Identifier 167237 167241 - EqualsEqualsEqualsToken 167241 167245 - PropertyAccessExpression 167245 167284 - Identifier 167245 167256 - Identifier 167257 167284 - BarBarToken 167284 167300 - BinaryExpression 167300 167415 - BinaryExpression 167300 167344 - PropertyAccessExpression 167300 167310 - Identifier 167300 167305 - Identifier 167306 167310 - EqualsEqualsEqualsToken 167310 167314 - PropertyAccessExpression 167314 167344 - Identifier 167314 167325 - Identifier 167326 167344 - AmpersandAmpersandToken 167344 167347 - CallExpression 167347 167415 - Identifier 167347 167373 - PropertyAccessExpression 167374 167414 - ParenthesizedExpression 167374 167402 - AsExpression 167375 167401 - Identifier 167375 167379 - TypeReference 167382 167401 - Identifier 167382 167401 - Identifier 167403 167414 - BarBarToken 167415 167431 - BinaryExpression 167431 167541 - BinaryExpression 167431 167476 - PropertyAccessExpression 167431 167441 - Identifier 167431 167436 - Identifier 167437 167441 - EqualsEqualsEqualsToken 167441 167445 - PropertyAccessExpression 167445 167476 - Identifier 167445 167456 - Identifier 167457 167476 - AmpersandAmpersandToken 167476 167479 - CallExpression 167479 167541 - Identifier 167479 167535 - Identifier 167536 167540 - BarBarToken 167541 167557 - BinaryExpression 167557 167676 - BinaryExpression 167557 167597 - PropertyAccessExpression 167557 167567 - Identifier 167557 167562 - Identifier 167563 167567 - EqualsEqualsEqualsToken 167567 167571 - PropertyAccessExpression 167571 167597 - Identifier 167571 167582 - Identifier 167583 167597 - AmpersandAmpersandToken 167597 167600 - CallExpression 167600 167676 - Identifier 167600 167656 - PropertyAccessExpression 167657 167675 - PropertyAccessExpression 167657 167668 - Identifier 167657 167661 - Identifier 167662 167668 - Identifier 167669 167675 - FunctionDeclaration 167684 167841 - Identifier 167700 167726 - Parameter 167727 167740 - Identifier 167727 167728 - TypeReference 167729 167740 - Identifier 167729 167740 - Block 167741 167841 - ReturnStatement 167743 167834 - BinaryExpression 167759 167833 - CallExpression 167759 167784 - Identifier 167759 167781 - Identifier 167782 167783 - BarBarToken 167784 167787 - BinaryExpression 167787 167833 - CallExpression 167787 167811 - Identifier 167787 167808 - Identifier 167809 167810 - AmpersandAmpersandToken 167811 167814 - CallExpression 167814 167833 - Identifier 167814 167830 - Identifier 167831 167832 - FunctionDeclaration 167841 169257 - Identifier 167857 167892 - Parameter 167893 167944 - Identifier 167893 167897 - UnionType 167898 167944 - TypeReference 167898 167922 - Identifier 167898 167922 - TypeReference 167924 167944 - Identifier 167924 167944 - Parameter 167945 167971 - Identifier 167945 167962 - BooleanKeyword 167963 167971 - UnionType 167973 167992 - TypeReference 167973 167980 - Identifier 167973 167980 - UndefinedKeyword 167982 167992 - Block 167992 169257 - VariableStatement 167994 168067 - VariableDeclarationList 167994 168066 - VariableDeclaration 168009 168066 - Identifier 168009 168032 - CallExpression 168034 168066 - Identifier 168034 168060 - Identifier 168061 168065 - IfStatement 168067 168484 - Identifier 168081 168103 - Block 168104 168484 - VariableStatement 168106 168246 - VariableDeclarationList 168106 168245 - VariableDeclaration 168125 168245 - Identifier 168125 168130 - AsExpression 168132 168245 - ElementAccessExpression 168132 168228 - PropertyAccessExpression 168132 168225 - ParenthesizedExpression 168132 168215 - AsExpression 168134 168214 - CallExpression 168134 168196 - Identifier 168134 168161 - PropertyAccessExpression 168162 168195 - Identifier 168162 168184 - Identifier 168185 168195 - TypeReference 168199 168214 - Identifier 168199 168214 - Identifier 168216 168225 - NumericLiteral 168226 168227 - TypeReference 168231 168245 - Identifier 168231 168245 - ReturnStatement 168246 168473 - ConditionalExpression 168266 168472 - CallExpression 168266 168308 - Identifier 168266 168279 - PropertyAccessExpression 168280 168307 - Identifier 168280 168302 - Identifier 168303 168307 - QuestionToken 168308 168327 - CallExpression 168327 168443 - Identifier 168327 168341 - CallExpression 168342 168442 - Identifier 168342 168359 - CallExpression 168360 168400 - Identifier 168360 168394 - Identifier 168395 168399 - PropertyAccessExpression 168401 168441 - PropertyAccessExpression 168401 168429 - Identifier 168401 168424 - Identifier 168425 168429 - Identifier 168430 168441 - ColonToken 168443 168462 - Identifier 168462 168472 - IfStatement 168484 169027 - BinaryExpression 168498 168593 - CallExpression 168498 168525 - Identifier 168498 168519 - Identifier 168520 168524 - BarBarToken 168525 168528 - BinaryExpression 168528 168593 - PropertyAccessExpression 168528 168554 - PropertyAccessExpression 168528 168549 - Identifier 168528 168533 - Identifier 168534 168549 - Identifier 168550 168554 - EqualsEqualsEqualsToken 168554 168558 - PropertyAccessExpression 168558 168593 - Identifier 168558 168569 - Identifier 168570 168593 - Block 168594 169027 - VariableStatement 168596 168810 - VariableDeclarationList 168596 168809 - VariableDeclaration 168615 168809 - Identifier 168615 168625 - CallExpression 168627 168809 - Identifier 168627 168653 - Identifier 168654 168676 - BinaryExpression 168677 168793 - CallExpression 168677 168733 - Identifier 168677 168727 - Identifier 168728 168732 - BarBarToken 168733 168736 - CallExpression 168736 168793 - Identifier 168736 168787 - Identifier 168788 168792 - VariableStatement 168810 168880 - VariableDeclarationList 168810 168879 - VariableDeclaration 168829 168879 - Identifier 168829 168838 - CallExpression 168840 168879 - Identifier 168840 168868 - Identifier 168869 168878 - ExpressionStatement 168880 168986 - CallExpression 168880 168985 - Identifier 168880 168932 - Identifier 168933 168937 - Identifier 168938 168948 - Identifier 168949 168958 - FalseKeyword 168959 168984 - ReturnStatement 168986 169016 - Identifier 169006 169015 - VariableStatement 169027 169139 - VariableDeclarationList 169027 169138 - VariableDeclaration 169042 169138 - Identifier 169042 169051 - CallExpression 169053 169138 - Identifier 169053 169098 - PropertyAccessExpression 169099 169119 - Identifier 169099 169103 - Identifier 169104 169119 - Identifier 169120 169137 - ExpressionStatement 169139 169224 - CallExpression 169139 169223 - Identifier 169139 169207 - Identifier 169208 169212 - Identifier 169213 169222 - ReturnStatement 169224 169250 - Identifier 169240 169249 - FunctionDeclaration 169257 170565 - Identifier 169273 169332 - Parameter 169333 169362 - Identifier 169333 169337 - TypeReference 169338 169362 - Identifier 169338 169362 - Parameter 169363 169392 - Identifier 169363 169372 - UnionType 169373 169392 - TypeReference 169373 169380 - Identifier 169373 169380 - UndefinedKeyword 169382 169392 - Block 169393 170565 - IfStatement 169395 170558 - BinaryExpression 169409 169540 - CallExpression 169409 169520 - Identifier 169409 169447 - Identifier 169448 169452 - Identifier 169453 169483 - Identifier 169484 169493 - FalseKeyword 169494 169519 - AmpersandAmpersandToken 169520 169523 - PrefixUnaryExpression 169523 169540 - PropertyAccessExpression 169525 169540 - Identifier 169525 169529 - Identifier 169530 169540 - Block 169541 170558 - VariableStatement 169543 169644 - VariableDeclarationList 169543 169643 - VariableDeclaration 169562 169643 - Identifier 169562 169582 - NonNullExpression 169584 169643 - CallExpression 169584 169642 - Identifier 169584 169612 - CallExpression 169613 169641 - Identifier 169613 169635 - Identifier 169636 169640 - VariableStatement 169644 169792 - VariableDeclarationList 169644 169791 - VariableDeclaration 169663 169791 - Identifier 169663 169672 - BinaryExpression 169674 169791 - BinaryExpression 169674 169730 - PropertyAccessExpression 169674 169699 - Identifier 169674 169694 - Identifier 169695 169699 - EqualsEqualsEqualsToken 169699 169703 - PropertyAccessExpression 169703 169730 - Identifier 169703 169714 - Identifier 169715 169730 - BarBarToken 169730 169733 - BinaryExpression 169733 169791 - PropertyAccessExpression 169733 169758 - Identifier 169733 169753 - Identifier 169754 169758 - EqualsEqualsEqualsToken 169758 169762 - PropertyAccessExpression 169762 169791 - Identifier 169762 169773 - Identifier 169774 169791 - VariableStatement 169792 170059 - VariableDeclarationList 169792 170058 - VariableDeclaration 169811 170058 - Identifier 169811 169819 - ConditionalExpression 169821 170058 - Identifier 169821 169830 - QuestionToken 169830 169849 - PropertyAccessExpression 169849 169944 - Identifier 169849 169861 - Identifier 169862 169944 - ColonToken 169944 169963 - PropertyAccessExpression 169963 170058 - Identifier 169963 169975 - Identifier 169976 170058 - VariableStatement 170059 170209 - VariableDeclarationList 170059 170208 - VariableDeclaration 170078 170208 - Identifier 170078 170093 - ConditionalExpression 170095 170208 - Identifier 170095 170104 - QuestionToken 170104 170123 - PropertyAccessExpression 170123 170156 - Identifier 170123 170135 - Identifier 170136 170156 - ColonToken 170156 170175 - PropertyAccessExpression 170175 170208 - Identifier 170175 170187 - Identifier 170188 170208 - VariableStatement 170209 170412 - VariableDeclarationList 170209 170411 - VariableDeclaration 170282 170411 - Identifier 170282 170287 - ConditionalExpression 170289 170411 - BinaryExpression 170289 170347 - PropertyAccessExpression 170289 170314 - Identifier 170289 170309 - Identifier 170310 170314 - EqualsEqualsEqualsToken 170314 170318 - PropertyAccessExpression 170318 170347 - Identifier 170318 170329 - Identifier 170330 170347 - QuestionToken 170347 170349 - StringLiteral 170349 170353 - ColonToken 170353 170355 - CallExpression 170355 170411 - Identifier 170355 170385 - PropertyAccessExpression 170386 170410 - Identifier 170386 170405 - Identifier 170406 170410 - ExpressionStatement 170412 170547 - CallExpression 170412 170546 - Identifier 170412 170440 - CallExpression 170441 170477 - Identifier 170441 170446 - PropertyAccessExpression 170447 170467 - Identifier 170447 170451 - Identifier 170452 170467 - Identifier 170468 170476 - CallExpression 170478 170545 - Identifier 170478 170502 - Identifier 170503 170522 - Identifier 170523 170538 - Identifier 170539 170544 - FunctionDeclaration 170565 171237 - Identifier 170581 170601 - Parameter 170602 170622 - Identifier 170602 170614 - TypeReference 170615 170622 - Identifier 170615 170622 - Parameter 170623 170638 - Identifier 170623 170628 - TypeReference 170629 170638 - Identifier 170629 170638 - Parameter 170639 170698 - Identifier 170639 170650 - UnionType 170651 170698 - TypeReference 170651 170686 - Identifier 170651 170686 - UndefinedKeyword 170688 170698 - Parameter 170699 170725 - Identifier 170699 170716 - BooleanKeyword 170717 170725 - Block 170726 171237 - VariableStatement 170728 170817 - VariableDeclarationList 170728 170816 - VariableDeclaration 170743 170816 - Identifier 170743 170755 - CallExpression 170757 170816 - PropertyAccessExpression 170757 170783 - NonNullExpression 170757 170779 - PropertyAccessExpression 170757 170778 - Identifier 170757 170770 - Identifier 170771 170778 - Identifier 170780 170783 - PropertyAccessExpression 170784 170815 - Identifier 170784 170802 - Identifier 170803 170815 - VariableStatement 170817 171020 - VariableDeclarationList 170817 171019 - VariableDeclaration 170832 171019 - Identifier 170832 170845 - ConditionalExpression 170847 171019 - Identifier 170847 170859 - QuestionToken 170859 170874 - CallExpression 170874 170972 - Identifier 170874 170892 - CallExpression 170893 170921 - Identifier 170893 170908 - Identifier 170909 170920 - Identifier 170922 170927 - TrueKeyword 170928 170971 - ColonToken 170972 170987 - CallExpression 170987 171019 - PropertyAccessExpression 170987 171013 - NonNullExpression 170987 171009 - PropertyAccessExpression 170987 171008 - Identifier 170987 171000 - Identifier 171001 171008 - Identifier 171010 171013 - Identifier 171014 171018 - VariableStatement 171020 171093 - VariableDeclarationList 171020 171092 - VariableDeclaration 171035 171092 - Identifier 171035 171044 - CallExpression 171046 171092 - Identifier 171046 171060 - Identifier 171061 171073 - Identifier 171074 171091 - ExpressionStatement 171093 171204 - CallExpression 171093 171203 - Identifier 171093 171141 - Identifier 171142 171152 - Identifier 171153 171166 - Identifier 171167 171176 - FalseKeyword 171177 171202 - ReturnStatement 171204 171230 - Identifier 171220 171229 - FunctionDeclaration 171237 171509 - Identifier 171253 171272 - Parameter 171273 171283 - Identifier 171273 171277 - TypeReference 171278 171283 - Identifier 171278 171283 - Block 171284 171509 - ReturnStatement 171286 171502 - ParenthesizedExpression 171302 171501 - BinaryExpression 171304 171500 - BinaryExpression 171304 171460 - BinaryExpression 171304 171420 - ParenthesizedExpression 171304 171354 - BinaryExpression 171305 171353 - CallExpression 171305 171329 - Identifier 171305 171323 - Identifier 171324 171328 - AmpersandAmpersandToken 171329 171332 - PrefixUnaryExpression 171332 171353 - PropertyAccessExpression 171334 171353 - Identifier 171334 171338 - Identifier 171339 171353 - BarBarToken 171354 171370 - CallExpression 171370 171420 - Identifier 171370 171391 - Identifier 171392 171396 - PropertyAccessExpression 171397 171419 - Identifier 171397 171411 - Identifier 171412 171419 - BarBarToken 171420 171436 - CallExpression 171436 171460 - Identifier 171436 171454 - Identifier 171455 171459 - BarBarToken 171460 171476 - CallExpression 171476 171500 - Identifier 171476 171494 - Identifier 171495 171499 - FunctionDeclaration 171509 171723 - Identifier 171525 171567 - Parameter 171568 171585 - Identifier 171568 171573 - TypeReference 171574 171585 - Identifier 171574 171585 - Block 171586 171723 - ReturnStatement 171588 171716 - ConditionalExpression 171604 171715 - CallExpression 171604 171631 - Identifier 171604 171624 - Identifier 171625 171630 - QuestionToken 171631 171633 - CallExpression 171633 171703 - PropertyAccessExpression 171633 171668 - Identifier 171633 171638 - Identifier 171639 171668 - CallExpression 171669 171695 - Identifier 171669 171688 - Identifier 171689 171694 - Identifier 171696 171702 - ColonToken 171703 171705 - Identifier 171705 171715 - FunctionDeclaration 171723 171935 - Identifier 171739 171784 - Parameter 171785 171810 - Identifier 171785 171794 - TypeReference 171795 171810 - Identifier 171795 171810 - Parameter 171811 171838 - Identifier 171811 171822 - TypeReference 171823 171838 - Identifier 171823 171838 - Block 171839 171935 - ReturnStatement 171841 171928 - BinaryExpression 171857 171927 - BinaryExpression 171857 171889 - Identifier 171857 171867 - EqualsEqualsEqualsToken 171867 171871 - PropertyAccessExpression 171871 171889 - Identifier 171871 171882 - Identifier 171883 171889 - AmpersandAmpersandToken 171889 171892 - BinaryExpression 171892 171927 - Identifier 171892 171903 - EqualsEqualsEqualsToken 171903 171907 - PropertyAccessExpression 171907 171927 - Identifier 171907 171918 - Identifier 171919 171927 - FunctionDeclaration 171935 172690 - Identifier 171951 171977 - Parameter 171978 171995 - Identifier 171978 171983 - TypeReference 171984 171995 - Identifier 171984 171995 - Parameter 171996 172020 - Identifier 171996 172011 - QuestionToken 172011 172012 - TypeReference 172013 172020 - Identifier 172013 172020 - Block 172021 172690 - IfStatement 172023 172660 - BinaryExpression 172098 172166 - BinaryExpression 172098 172129 - PropertyAccessExpression 172098 172115 - Identifier 172098 172108 - Identifier 172109 172115 - LessThanEqualsToken 172115 172118 - Identifier 172118 172129 - AmpersandAmpersandToken 172129 172132 - BinaryExpression 172132 172166 - Identifier 172132 172143 - LessThanEqualsToken 172143 172146 - PropertyAccessExpression 172146 172166 - Identifier 172146 172157 - Identifier 172158 172166 - Block 172167 172660 - VariableStatement 172169 172250 - VariableDeclarationList 172169 172249 - VariableDeclaration 172188 172249 - Identifier 172188 172198 - CallExpression 172200 172249 - Identifier 172200 172242 - Identifier 172243 172248 - IfStatement 172250 172649 - BinaryExpression 172268 172299 - Identifier 172268 172277 - EqualsEqualsEqualsToken 172277 172281 - PropertyAccessExpression 172281 172299 - Identifier 172281 172292 - Identifier 172293 172299 - Block 172300 172649 - ExpressionStatement 172302 172402 - BinaryExpression 172302 172401 - Identifier 172302 172334 - QuestionQuestionEqualsToken 172334 172338 - CallExpression 172338 172401 - Identifier 172338 172364 - Identifier 172365 172370 - Identifier 172371 172377 - TrueKeyword 172378 172400 - VariableStatement 172402 172495 - VariableDeclarationList 172402 172494 - VariableDeclaration 172425 172494 - Identifier 172425 172436 - BinaryExpression 172438 172494 - Identifier 172438 172453 - AmpersandAmpersandToken 172453 172456 - CallExpression 172456 172494 - Identifier 172456 172478 - Identifier 172479 172493 - ReturnStatement 172495 172634 - BinaryExpression 172519 172633 - Identifier 172519 172530 - AmpersandAmpersandToken 172530 172533 - ParenthesizedExpression 172533 172633 - BinaryExpression 172535 172632 - CallExpression 172535 172563 - Identifier 172535 172551 - Identifier 172552 172562 - BarBarToken 172563 172566 - BinaryExpression 172566 172632 - CallExpression 172566 172615 - Identifier 172566 172594 - PropertyAccessExpression 172595 172614 - Identifier 172595 172605 - Identifier 172606 172614 - EqualsEqualsEqualsToken 172615 172619 - StringLiteral 172619 172632 - ReturnStatement 172660 172683 - FalseKeyword 172676 172682 - FunctionDeclaration 172690 176002 - Identifier 172706 172730 - Parameter 172731 172759 - Identifier 172731 172735 - UnionType 172736 172759 - TypeReference 172736 172747 - Identifier 172736 172747 - UndefinedKeyword 172749 172759 - Parameter 172760 172781 - Identifier 172760 172773 - TypeReference 172774 172781 - Identifier 172774 172781 - Parameter 172782 172808 - Identifier 172782 172799 - BooleanKeyword 172800 172808 - Parameter 172809 172827 - Identifier 172809 172815 - TypeReference 172816 172827 - Identifier 172816 172827 - Block 172828 176002 - VariableStatement 172830 172915 - VariableDeclarationList 172830 172914 - VariableDeclaration 172845 172914 - Identifier 172845 172855 - BinaryExpression 172857 172914 - Identifier 172857 172862 - AmpersandAmpersandToken 172862 172865 - CallExpression 172865 172914 - Identifier 172865 172907 - Identifier 172908 172913 - IfStatement 172915 173652 - BinaryExpression 172929 172960 - Identifier 172929 172933 - AmpersandAmpersandToken 172933 172936 - BinaryExpression 172936 172960 - Identifier 172936 172946 - ExclamationEqualsEqualsToken 172946 172950 - Identifier 172950 172960 - Block 172961 173652 - VariableStatement 172963 173035 - VariableDeclarationList 172963 173034 - VariableDeclaration 172982 173034 - Identifier 172982 172993 - CallExpression 172995 173034 - PropertyAccessExpression 172995 173028 - Identifier 172995 173000 - Identifier 173001 173028 - Identifier 173029 173033 - IfStatement 173035 173346 - BinaryExpression 173053 173194 - BinaryExpression 173053 173157 - BinaryExpression 173053 173122 - BinaryExpression 173053 173084 - Identifier 173053 173062 - EqualsEqualsEqualsToken 173062 173066 - PropertyAccessExpression 173066 173084 - Identifier 173066 173077 - Identifier 173078 173084 - AmpersandAmpersandToken 173084 173087 - BinaryExpression 173087 173122 - Identifier 173087 173098 - EqualsEqualsEqualsToken 173098 173102 - PropertyAccessExpression 173102 173122 - Identifier 173102 173113 - Identifier 173114 173122 - AmpersandAmpersandToken 173122 173125 - BinaryExpression 173125 173157 - PropertyAccessExpression 173125 173143 - Identifier 173125 173136 - Identifier 173137 173143 - LessThanEqualsToken 173143 173146 - Identifier 173146 173157 - AmpersandAmpersandToken 173157 173160 - BinaryExpression 173160 173194 - Identifier 173160 173171 - LessThanEqualsToken 173171 173174 - PropertyAccessExpression 173174 173194 - Identifier 173174 173185 - Identifier 173186 173194 - Block 173195 173346 - ReturnStatement 173197 173331 - TrueKeyword 173325 173330 - IfStatement 173346 173641 - BinaryExpression 173364 173431 - BinaryExpression 173364 173395 - Identifier 173364 173373 - EqualsEqualsEqualsToken 173373 173377 - PropertyAccessExpression 173377 173395 - Identifier 173377 173388 - Identifier 173389 173395 - AmpersandAmpersandToken 173395 173398 - BinaryExpression 173398 173431 - Identifier 173398 173409 - EqualsEqualsEqualsToken 173409 173413 - PropertyAccessExpression 173413 173431 - Identifier 173413 173424 - Identifier 173425 173431 - Block 173432 173641 - ReturnStatement 173434 173626 - FalseKeyword 173619 173625 - IfStatement 173652 173736 - PrefixUnaryExpression 173666 173695 - Identifier 173667 173695 - Block 173696 173736 - ReturnStatement 173698 173725 - FalseKeyword 173718 173724 - IfStatement 173736 175379 - BinaryExpression 173802 173833 - PrefixUnaryExpression 173802 173807 - Identifier 173803 173807 - BarBarToken 173807 173810 - PropertyAccessExpression 173810 173833 - Identifier 173810 173815 - Identifier 173816 173833 - Block 173834 175379 - VariableStatement 173836 174102 - VariableDeclarationList 173836 174101 - VariableDeclaration 173964 174101 - Identifier 173964 173984 - CallExpression 173986 174101 - Identifier 173986 174006 - Identifier 174007 174019 - PropertyAccessExpression 174020 174047 - Identifier 174020 174039 - Identifier 174040 174047 - Identifier 174048 174073 - TrueKeyword 174074 174100 - IfStatement 174102 174334 - BinaryExpression 174204 174285 - Identifier 174204 174223 - AmpersandAmpersandToken 174223 174226 - CallExpression 174226 174285 - Identifier 174226 174231 - PropertyAccessExpression 174232 174264 - Identifier 174232 174251 - Identifier 174252 174264 - Identifier 174265 174284 - Block 174286 174334 - ReturnStatement 174288 174319 - FalseKeyword 174312 174318 - IfStatement 174334 174933 - CallExpression 174541 174658 - Identifier 174541 174560 - Identifier 174561 174573 - CallExpression 174574 174613 - Identifier 174574 174599 - StringLiteral 174600 174612 - Identifier 174614 174639 - Identifier 174640 174657 - Block 174659 174933 - ReturnStatement 174661 174918 - FalseKeyword 174911 174917 - ReturnStatement 174933 175368 - TrueKeyword 175362 175367 - IfStatement 175379 175647 - PrefixUnaryExpression 175551 175572 - CallExpression 175552 175572 - Identifier 175552 175566 - Identifier 175567 175571 - Block 175573 175647 - ReturnStatement 175575 175636 - CallExpression 175595 175635 - Identifier 175595 175621 - Identifier 175622 175634 - ReturnStatement 175647 175995 - BinaryExpression 175823 175994 - BinaryExpression 175823 175872 - TypeOfExpression 175823 175859 - PropertyAccessExpression 175830 175859 - Identifier 175830 175835 - Identifier 175836 175859 - ExclamationEqualsEqualsToken 175859 175863 - StringLiteral 175863 175872 - AmpersandAmpersandToken 175872 175875 - PrefixUnaryExpression 175875 175994 - CallExpression 175877 175994 - Identifier 175877 175896 - Identifier 175897 175909 - CallExpression 175910 175949 - Identifier 175910 175935 - StringLiteral 175936 175948 - Identifier 175950 175975 - Identifier 175976 175993 - FunctionDeclaration 176002 176334 - Identifier 176018 176042 - Parameter 176043 176061 - Identifier 176043 176047 - TypeReference 176048 176061 - Identifier 176048 176061 - Parameter 176062 176088 - Identifier 176062 176079 - BooleanKeyword 176080 176088 - UnionType 176090 176109 - TypeReference 176090 176097 - Identifier 176090 176097 - UndefinedKeyword 176099 176109 - Block 176109 176334 - VariableStatement 176111 176203 - VariableDeclarationList 176111 176202 - VariableDeclaration 176126 176202 - Identifier 176126 176139 - CallExpression 176141 176202 - Identifier 176141 176167 - Identifier 176168 176172 - PropertyAccessExpression 176173 176201 - PropertyAccessExpression 176173 176185 - Identifier 176173 176178 - Identifier 176179 176185 - Identifier 176186 176201 - IfStatement 176203 176327 - Identifier 176217 176229 - Block 176230 176327 - ReturnStatement 176232 176316 - CallExpression 176252 176315 - Identifier 176252 176277 - Identifier 176278 176290 - Identifier 176291 176296 - Identifier 176297 176314 - FunctionDeclaration 176334 179304 - Identifier 176350 176375 - Parameter 176376 176396 - Identifier 176376 176388 - TypeReference 176389 176396 - Identifier 176389 176396 - Parameter 176397 176442 - Identifier 176397 176402 - UnionType 176403 176442 - TypeReference 176403 176416 - Identifier 176403 176416 - TypeReference 176418 176442 - Identifier 176418 176442 - Parameter 176443 176469 - Identifier 176443 176460 - BooleanKeyword 176461 176469 - Block 176470 179304 - VariableStatement 176472 176526 - VariableDeclarationList 176472 176525 - VariableDeclaration 176485 176525 - Identifier 176485 176505 - UnionType 176506 176525 - TypeReference 176506 176513 - Identifier 176506 176513 - UndefinedKeyword 176515 176525 - IfStatement 176526 176796 - CallExpression 176540 176584 - Identifier 176540 176570 - Identifier 176571 176583 - Block 176585 176647 - ExpressionStatement 176587 176636 - BinaryExpression 176587 176635 - Identifier 176587 176620 - EqualsToken 176620 176622 - Identifier 176622 176635 - Block 176661 176796 - ExpressionStatement 176663 176785 - BinaryExpression 176663 176784 - Identifier 176663 176696 - EqualsToken 176696 176698 - CallExpression 176698 176784 - Identifier 176698 176718 - Identifier 176719 176731 - PropertyAccessExpression 176732 176759 - Identifier 176732 176751 - Identifier 176752 176759 - Identifier 176760 176765 - Identifier 176766 176783 - VariableStatement 176796 176867 - VariableDeclarationList 176796 176866 - VariableDeclaration 176813 176866 - Identifier 176813 176818 - CallExpression 176820 176866 - PropertyAccessExpression 176820 176852 - PropertyAccessExpression 176820 176846 - Identifier 176820 176833 - Identifier 176834 176846 - QuestionDotToken 176846 176848 - Identifier 176848 176852 - Identifier 176853 176865 - VariableStatement 176867 176937 - VariableDeclarationList 176867 176936 - VariableDeclaration 176882 176936 - Identifier 176882 176892 - CallExpression 176894 176936 - Identifier 176894 176930 - Identifier 176931 176935 - IfStatement 176937 177016 - PrefixUnaryExpression 176951 176961 - Identifier 176952 176961 - Block 176962 177016 - ReturnStatement 176964 177005 - Identifier 176984 177004 - VariableStatement 177016 177100 - VariableDeclarationList 177016 177099 - VariableDeclaration 177031 177099 - Identifier 177031 177046 - CallExpression 177048 177099 - Identifier 177048 177074 - Identifier 177075 177084 - Identifier 177085 177098 - VariableStatement 177100 177211 - VariableDeclarationList 177100 177210 - VariableDeclaration 177115 177210 - Identifier 177115 177135 - CallExpression 177137 177210 - Identifier 177137 177161 - Identifier 177162 177166 - Identifier 177167 177180 - Identifier 177181 177198 - Identifier 177199 177209 - IfStatement 177211 179131 - BinaryExpression 177225 177288 - BinaryExpression 177225 177269 - PrefixUnaryExpression 177225 177245 - Identifier 177226 177245 - AmpersandAmpersandToken 177245 177248 - PrefixUnaryExpression 177248 177269 - Identifier 177250 177269 - AmpersandAmpersandToken 177269 177272 - PrefixUnaryExpression 177272 177288 - Identifier 177274 177288 - Block 177289 178661 - IfStatement 177291 178650 - BinaryExpression 177309 177381 - CallExpression 177309 177348 - Identifier 177309 177334 - Identifier 177335 177347 - AmpersandAmpersandToken 177348 177351 - PrefixUnaryExpression 177351 177381 - Identifier 177353 177381 - Block 177382 178348 - VariableStatement 177384 177514 - VariableDeclarationList 177384 177513 - VariableDeclaration 177407 177513 - Identifier 177407 177426 - ConditionalExpression 177428 177513 - BinaryExpression 177428 177460 - Identifier 177428 177439 - GreaterThanEqualsToken 177439 177442 - PropertyAccessExpression 177442 177460 - Identifier 177442 177453 - Identifier 177454 177460 - QuestionToken 177460 177462 - StringLiteral 177462 177493 - ColonToken 177493 177495 - StringLiteral 177495 177513 - VariableStatement 177514 177618 - VariableDeclarationList 177514 177617 - VariableDeclaration 177537 177617 - Identifier 177537 177556 - CallExpression 177558 177617 - PropertyAccessExpression 177558 177584 - NonNullExpression 177558 177580 - PropertyAccessExpression 177558 177579 - Identifier 177558 177571 - Identifier 177572 177579 - Identifier 177581 177584 - PropertyAccessExpression 177585 177616 - Identifier 177585 177603 - Identifier 177604 177616 - VariableStatement 177618 177698 - VariableDeclarationList 177618 177697 - VariableDeclaration 177641 177697 - Identifier 177641 177658 - PropertyAccessExpression 177660 177697 - NonNullExpression 177660 177680 - Identifier 177660 177679 - Identifier 177681 177697 - VariableStatement 177698 177863 - VariableDeclarationList 177698 177862 - VariableDeclaration 177721 177862 - Identifier 177721 177725 - CallExpression 177727 177862 - Identifier 177727 177733 - PropertyAccessExpression 177734 177743 - Identifier 177734 177738 - Identifier 177739 177743 - PropertyAccessExpression 177744 177811 - Identifier 177744 177756 - Identifier 177757 177811 - CallExpression 177812 177841 - Identifier 177812 177827 - Identifier 177828 177840 - Identifier 177842 177861 - IfStatement 177863 178333 - Identifier 177887 177903 - Block 177904 178333 - ExpressionStatement 177906 178314 - CallExpression 177906 178313 - Identifier 177906 177942 - Identifier 177943 177972 - CallExpression 177973 178289 - Identifier 177973 178022 - Identifier 178023 178069 - PropertyAccessExpression 178070 178212 - Identifier 178070 178111 - Identifier 178112 178212 - Identifier 178213 178261 - IfStatement 178366 178650 - CallExpression 178371 178391 - Identifier 178371 178385 - Identifier 178386 178390 - Block 178392 178470 - ExpressionStatement 178394 178455 - CallExpression 178394 178454 - Identifier 178394 178434 - Identifier 178435 178447 - Identifier 178448 178453 - Block 178488 178650 - ExpressionStatement 178490 178635 - CallExpression 178490 178634 - Identifier 178490 178533 - Identifier 178534 178546 - Identifier 178547 178560 - Identifier 178561 178566 - BinaryExpression 178567 178633 - BinaryExpression 178567 178620 - CallExpression 178567 178599 - Identifier 178567 178593 - Identifier 178594 178598 - AmpersandAmpersandToken 178599 178602 - PropertyAccessExpression 178602 178620 - Identifier 178602 178607 - Identifier 178608 178620 - BarBarToken 178620 178623 - PropertyAccessExpression 178623 178633 - Identifier 178623 178628 - Identifier 178629 178633 - IfStatement 178675 179131 - BinaryExpression 178680 178717 - Identifier 178680 178699 - BarBarToken 178699 178702 - Identifier 178702 178717 - Block 178718 179131 - VariableStatement 178720 178981 - VariableDeclarationList 178720 178980 - VariableDeclaration 178860 178980 - Identifier 178860 178869 - BinaryExpression 178871 178980 - CallExpression 178871 178931 - Identifier 178871 178899 - Identifier 178900 178912 - Identifier 178913 178930 - BarBarToken 178931 178934 - CallExpression 178934 178980 - Identifier 178934 178948 - Identifier 178949 178961 - Identifier 178962 178979 - ExpressionStatement 178981 179090 - CallExpression 178981 179089 - Identifier 178981 179033 - Identifier 179034 179038 - Identifier 179039 179052 - Identifier 179053 179062 - FalseKeyword 179063 179088 - ReturnStatement 179090 179120 - Identifier 179110 179119 - ExpressionStatement 179131 179260 - CallExpression 179131 179259 - Identifier 179131 179179 - Identifier 179180 179184 - Identifier 179185 179205 - Identifier 179206 179232 - FalseKeyword 179233 179258 - ReturnStatement 179260 179297 - Identifier 179276 179296 - FunctionDeclaration 179304 180185 - Identifier 179320 179356 - Parameter 179357 179445 - Identifier 179357 179361 - UnionType 179362 179445 - TypeReference 179362 179386 - Identifier 179362 179386 - TypeReference 179388 179401 - Identifier 179388 179401 - TypeReference 179403 179419 - Identifier 179403 179419 - TypeReference 179421 179445 - Identifier 179421 179445 - UnionType 179447 179470 - TypeReference 179447 179458 - Identifier 179447 179458 - UndefinedKeyword 179460 179470 - Block 179470 180185 - SwitchStatement 179472 180178 - PropertyAccessExpression 179490 179499 - Identifier 179490 179494 - Identifier 179495 179499 - CaseBlock 179500 180178 - CaseClause 179502 179598 - PropertyAccessExpression 179520 179544 - Identifier 179520 179531 - Identifier 179532 179544 - ReturnStatement 179545 179598 - PropertyAccessExpression 179569 179597 - PropertyAccessExpression 179569 179581 - Identifier 179569 179574 - Identifier 179575 179581 - Identifier 179582 179597 - CaseClause 179598 179771 - PropertyAccessExpression 179616 179651 - Identifier 179616 179627 - Identifier 179628 179651 - ReturnStatement 179652 179771 - ConditionalExpression 179676 179770 - CallExpression 179676 179724 - Identifier 179676 179702 - PropertyAccessExpression 179703 179723 - Identifier 179703 179707 - Identifier 179708 179723 - QuestionToken 179724 179726 - PropertyAccessExpression 179726 179758 - PropertyAccessExpression 179726 179747 - Identifier 179726 179731 - Identifier 179732 179747 - Identifier 179748 179758 - ColonToken 179758 179760 - Identifier 179760 179770 - CaseClause 179771 179877 - PropertyAccessExpression 179789 179816 - Identifier 179789 179800 - Identifier 179801 179816 - ReturnStatement 179817 179877 - PropertyAccessExpression 179841 179876 - PropertyAccessExpression 179841 179860 - PropertyAccessExpression 179841 179853 - Identifier 179841 179846 - Identifier 179847 179853 - Identifier 179854 179860 - Identifier 179861 179876 - CaseClause 179877 179990 - PropertyAccessExpression 179895 179922 - Identifier 179895 179906 - Identifier 179907 179922 - ReturnStatement 179923 179990 - PropertyAccessExpression 179947 179989 - PropertyAccessExpression 179947 179973 - PropertyAccessExpression 179947 179966 - PropertyAccessExpression 179947 179959 - Identifier 179947 179952 - Identifier 179953 179959 - Identifier 179960 179966 - Identifier 179967 179973 - Identifier 179974 179989 - CaseClause 179990 180096 - PropertyAccessExpression 180008 180035 - Identifier 180008 180019 - Identifier 180020 180035 - ReturnStatement 180036 180096 - PropertyAccessExpression 180060 180095 - PropertyAccessExpression 180060 180079 - PropertyAccessExpression 180060 180072 - Identifier 180060 180065 - Identifier 180066 180072 - Identifier 180073 180079 - Identifier 180080 180095 - DefaultClause 180096 180167 - ReturnStatement 180118 180167 - CallExpression 180142 180166 - PropertyAccessExpression 180142 180160 - Identifier 180142 180148 - Identifier 180149 180160 - Identifier 180161 180165 - FunctionDeclaration 180185 181450 - Identifier 180201 180224 - Parameter 180225 180245 - Identifier 180225 180237 - TypeReference 180238 180245 - Identifier 180238 180245 - Parameter 180246 180265 - Identifier 180246 180251 - TypeReference 180252 180265 - Identifier 180252 180265 - Block 180266 181450 - IfStatement 180268 181443 - CallExpression 180282 180332 - PropertyAccessExpression 180282 180307 - PropertyAccessExpression 180282 180302 - Identifier 180282 180294 - Identifier 180295 180302 - QuestionDotToken 180302 180304 - Identifier 180304 180307 - PropertyAccessExpression 180308 180331 - PropertyAccessExpression 180308 180319 - Identifier 180308 180312 - Identifier 180313 180319 - Identifier 180320 180331 - Block 180333 180608 - ExpressionStatement 180335 180597 - CallExpression 180335 180596 - Identifier 180335 180354 - PropertyAccessExpression 180355 180382 - Identifier 180355 180377 - Identifier 180378 180382 - PropertyAccessExpression 180383 180487 - Identifier 180383 180412 - Identifier 180413 180487 - CallExpression 180488 180534 - Identifier 180488 180520 - Identifier 180521 180533 - CallExpression 180535 180580 - Identifier 180535 180567 - PropertyAccessExpression 180568 180579 - Identifier 180568 180572 - Identifier 180573 180579 - Block 180622 181443 - VariableStatement 180624 180748 - VariableDeclarationList 180624 180747 - VariableDeclaration 180643 180747 - Identifier 180643 180654 - CallExpression 180656 180747 - Identifier 180656 180662 - PropertyAccessExpression 180663 180672 - Identifier 180663 180667 - Identifier 180668 180672 - PropertyAccessExpression 180673 180716 - Identifier 180673 180685 - Identifier 180686 180716 - CallExpression 180717 180746 - Identifier 180717 180732 - Identifier 180733 180745 - VariableStatement 180748 180838 - VariableDeclarationList 180748 180837 - VariableDeclaration 180767 180837 - Identifier 180767 180778 - CallExpression 180780 180837 - PropertyAccessExpression 180780 180806 - PropertyAccessExpression 180780 180801 - Identifier 180780 180793 - Identifier 180794 180801 - QuestionDotToken 180801 180803 - Identifier 180803 180806 - PropertyAccessExpression 180807 180836 - Identifier 180807 180825 - Identifier 180826 180836 - IfStatement 180838 181432 - Identifier 180856 180866 - Block 180867 181432 - VariableStatement 180869 181213 - VariableDeclarationList 180869 181212 - VariableDeclaration 180892 181212 - Identifier 180892 180906 - CallExpression 180908 181212 - PropertyAccessExpression 180908 180938 - PropertyAccessExpression 180908 180932 - Identifier 180908 180919 - Identifier 180920 180932 - QuestionDotToken 180932 180934 - Identifier 180934 180938 - ArrowFunction 180939 181193 - Parameter 180939 180943 - Identifier 180939 180943 - EqualsGreaterThanToken 180943 180946 - PrefixUnaryExpression 180946 181193 - PrefixUnaryExpression 180969 181193 - ParenthesizedExpression 180970 181193 - BinaryExpression 180971 181170 - BinaryExpression 180971 181046 - CallExpression 180971 181022 - Identifier 180971 181016 - Identifier 181017 181021 - AmpersandAmpersandToken 181022 181025 - PropertyAccessExpression 181025 181046 - Identifier 181025 181030 - Identifier 181031 181046 - AmpersandAmpersandToken 181046 181049 - CallExpression 181049 181170 - PropertyAccessExpression 181049 181142 - PropertyAccessExpression 181049 181137 - CallExpression 181049 181128 - Identifier 181049 181100 - Identifier 181101 181105 - PropertyAccessExpression 181106 181127 - Identifier 181106 181111 - Identifier 181112 181127 - QuestionDotToken 181128 181130 - Identifier 181130 181137 - QuestionDotToken 181137 181139 - Identifier 181139 181142 - PropertyAccessExpression 181143 181169 - Identifier 181143 181161 - Identifier 181162 181169 - IfStatement 181213 181417 - Identifier 181235 181248 - Block 181249 181417 - ExpressionStatement 181251 181398 - CallExpression 181251 181397 - Identifier 181251 181287 - Identifier 181288 181298 - CallExpression 181299 181396 - Identifier 181299 181323 - Identifier 181324 181337 - PropertyAccessExpression 181338 181395 - Identifier 181338 181350 - Identifier 181351 181395 - FunctionDeclaration 181450 181973 - Identifier 181466 181493 - Parameter 181494 181515 - Identifier 181494 181498 - TypeReference 181499 181515 - Identifier 181499 181515 - Parameter 181516 181542 - Identifier 181516 181533 - BooleanKeyword 181534 181542 - UnionType 181544 181563 - TypeReference 181544 181551 - Identifier 181544 181551 - UndefinedKeyword 181553 181563 - Block 181563 181973 - VariableStatement 181565 181634 - VariableDeclarationList 181565 181633 - VariableDeclaration 181580 181633 - Identifier 181580 181596 - PropertyAccessExpression 181598 181633 - PropertyAccessExpression 181598 181617 - PropertyAccessExpression 181598 181610 - Identifier 181598 181603 - Identifier 181604 181610 - Identifier 181611 181617 - Identifier 181618 181633 - VariableStatement 181634 181711 - VariableDeclarationList 181634 181710 - VariableDeclaration 181649 181710 - Identifier 181649 181659 - CallExpression 181661 181710 - Identifier 181661 181687 - Identifier 181688 181692 - Identifier 181693 181709 - VariableStatement 181711 181838 - VariableDeclarationList 181711 181837 - VariableDeclaration 181726 181837 - Identifier 181726 181735 - CallExpression 181737 181837 - Identifier 181737 181759 - Identifier 181760 181769 - Identifier 181770 181786 - Identifier 181787 181804 - FalseKeyword 181805 181836 - ExpressionStatement 181838 181940 - CallExpression 181838 181939 - Identifier 181838 181886 - Identifier 181887 181891 - Identifier 181892 181902 - Identifier 181903 181912 - FalseKeyword 181913 181938 - ReturnStatement 181940 181966 - Identifier 181956 181965 - FunctionDeclaration 181973 182527 - Identifier 181989 182016 - Parameter 182017 182038 - Identifier 182017 182021 - TypeReference 182022 182038 - Identifier 182022 182038 - Parameter 182039 182065 - Identifier 182039 182056 - BooleanKeyword 182057 182065 - UnionType 182067 182086 - TypeReference 182067 182074 - Identifier 182067 182074 - UndefinedKeyword 182076 182086 - Block 182086 182527 - VariableStatement 182088 182150 - VariableDeclarationList 182088 182149 - VariableDeclaration 182103 182149 - Identifier 182103 182119 - PropertyAccessExpression 182121 182149 - PropertyAccessExpression 182121 182133 - Identifier 182121 182126 - Identifier 182127 182133 - Identifier 182134 182149 - VariableStatement 182150 182246 - VariableDeclarationList 182150 182245 - VariableDeclaration 182165 182245 - Identifier 182165 182175 - BinaryExpression 182177 182245 - Identifier 182177 182193 - AmpersandAmpersandToken 182193 182196 - CallExpression 182196 182245 - Identifier 182196 182222 - Identifier 182223 182227 - Identifier 182228 182244 - VariableStatement 182246 182392 - VariableDeclarationList 182246 182391 - VariableDeclaration 182261 182391 - Identifier 182261 182270 - BinaryExpression 182272 182391 - Identifier 182272 182288 - AmpersandAmpersandToken 182288 182291 - CallExpression 182291 182391 - Identifier 182291 182313 - Identifier 182314 182323 - Identifier 182324 182340 - Identifier 182341 182358 - FalseKeyword 182359 182390 - ExpressionStatement 182392 182494 - CallExpression 182392 182493 - Identifier 182392 182440 - Identifier 182441 182445 - Identifier 182446 182456 - Identifier 182457 182466 - FalseKeyword 182467 182492 - ReturnStatement 182494 182520 - Identifier 182510 182519 - FunctionDeclaration 182527 184234 - Identifier 183253 183280 - Parameter 183281 183300 - Identifier 183281 183292 - TypeReference 183293 183300 - Identifier 183293 183300 - Parameter 183301 183320 - Identifier 183301 183312 - TypeReference 183313 183320 - Identifier 183313 183320 - TypeReference 183322 183329 - Identifier 183322 183329 - Block 183329 184234 - IfStatement 183331 183455 - BinaryExpression 183345 183406 - BinaryExpression 183345 183374 - Identifier 183345 183356 - EqualsEqualsEqualsToken 183356 183360 - Identifier 183360 183374 - AmpersandAmpersandToken 183374 183377 - BinaryExpression 183377 183406 - Identifier 183377 183388 - EqualsEqualsEqualsToken 183388 183392 - Identifier 183392 183406 - Block 183407 183455 - ReturnStatement 183409 183444 - Identifier 183429 183443 - IfStatement 183455 183578 - BinaryExpression 183469 183531 - PropertyAccessExpression 183469 183486 - Identifier 183469 183480 - Identifier 183481 183486 - AmpersandToken 183486 183488 - ParenthesizedExpression 183488 183531 - BinaryExpression 183490 183530 - PropertyAccessExpression 183490 183506 - Identifier 183490 183501 - Identifier 183502 183506 - BarToken 183506 183508 - PropertyAccessExpression 183508 183530 - Identifier 183508 183520 - Identifier 183521 183530 - Block 183532 183578 - ReturnStatement 183534 183567 - Identifier 183554 183566 - VariableStatement 183578 183679 - VariableDeclarationList 183578 183678 - VariableDeclaration 183593 183678 - Identifier 183593 183600 - CallExpression 183602 183678 - Identifier 183602 183615 - BinaryExpression 183616 183652 - PropertyAccessExpression 183616 183633 - Identifier 183616 183627 - Identifier 183628 183633 - BarToken 183633 183635 - PropertyAccessExpression 183635 183652 - Identifier 183635 183646 - Identifier 183647 183652 - PropertyAccessExpression 183653 183677 - Identifier 183653 183665 - Identifier 183666 183677 - ExpressionStatement 183679 183755 - CallExpression 183679 183754 - PropertyAccessExpression 183679 183701 - Identifier 183679 183694 - Identifier 183695 183701 - BinaryExpression 183702 183753 - PropertyAccessExpression 183702 183726 - Identifier 183702 183713 - Identifier 183714 183726 - BarBarToken 183726 183729 - PropertyAccessExpression 183729 183753 - Identifier 183729 183740 - Identifier 183741 183753 - ExpressionStatement 183755 183878 - BinaryExpression 183755 183877 - PropertyAccessExpression 183755 183784 - Identifier 183755 183771 - Identifier 183772 183784 - EqualsToken 183784 183786 - CallExpression 183786 183877 - Identifier 183786 183798 - CallExpression 183799 183862 - Identifier 183799 183810 - NonNullExpression 183811 183836 - PropertyAccessExpression 183811 183835 - Identifier 183811 183822 - Identifier 183823 183835 - PropertyAccessExpression 183837 183861 - Identifier 183837 183848 - Identifier 183849 183861 - Identifier 183863 183876 - ExpressionStatement 183878 183944 - BinaryExpression 183878 183943 - PropertyAccessExpression 183878 183901 - Identifier 183878 183894 - Identifier 183895 183901 - EqualsToken 183901 183903 - BinaryExpression 183903 183943 - PropertyAccessExpression 183903 183922 - Identifier 183903 183915 - Identifier 183916 183922 - BarBarToken 183922 183925 - PropertyAccessExpression 183925 183943 - Identifier 183925 183936 - Identifier 183937 183943 - IfStatement 183944 184043 - PropertyAccessExpression 183958 183986 - Identifier 183958 183969 - Identifier 183970 183986 - ExpressionStatement 183987 184043 - BinaryExpression 183987 184042 - PropertyAccessExpression 183987 184011 - Identifier 183987 183994 - Identifier 183995 184011 - EqualsToken 184011 184013 - PropertyAccessExpression 184013 184042 - Identifier 184013 184025 - Identifier 184026 184042 - IfStatement 184043 184122 - PropertyAccessExpression 184057 184075 - Identifier 184057 184067 - Identifier 184068 184075 - ExpressionStatement 184076 184122 - BinaryExpression 184076 184121 - PropertyAccessExpression 184076 184091 - Identifier 184076 184083 - Identifier 184084 184091 - EqualsToken 184091 184093 - NewExpression 184093 184121 - Identifier 184097 184101 - PropertyAccessExpression 184102 184120 - Identifier 184102 184112 - Identifier 184113 184120 - IfStatement 184122 184203 - PropertyAccessExpression 184136 184155 - Identifier 184136 184147 - Identifier 184148 184155 - ExpressionStatement 184156 184203 - BinaryExpression 184156 184202 - PropertyAccessExpression 184156 184171 - Identifier 184156 184163 - Identifier 184164 184171 - EqualsToken 184171 184173 - NewExpression 184173 184202 - Identifier 184177 184181 - PropertyAccessExpression 184182 184201 - Identifier 184182 184193 - Identifier 184194 184201 - ReturnStatement 184203 184227 - Identifier 184219 184226 - FunctionDeclaration 184234 184879 - Identifier 184250 184268 - Parameter 184269 184283 - Identifier 184269 184275 - TypeReference 184276 184283 - Identifier 184276 184283 - Parameter 184284 184303 - Identifier 184284 184293 - TypeReference 184294 184303 - Identifier 184294 184303 - Parameter 184304 184327 - Identifier 184304 184314 - TypeReference 184315 184327 - Identifier 184315 184327 - Parameter 184328 184354 - Identifier 184328 184345 - BooleanKeyword 184346 184354 - UnionType 184356 184375 - TypeReference 184356 184363 - Identifier 184356 184363 - UndefinedKeyword 184365 184375 - Block 184375 184879 - IfStatement 184377 184872 - BinaryExpression 184391 184424 - PropertyAccessExpression 184391 184403 - Identifier 184391 184397 - Identifier 184398 184403 - AmpersandToken 184403 184405 - PropertyAccessExpression 184405 184424 - Identifier 184405 184417 - Identifier 184418 184424 - Block 184425 184872 - VariableStatement 184427 184503 - VariableDeclarationList 184427 184502 - VariableDeclaration 184446 184502 - Identifier 184446 184459 - CallExpression 184461 184502 - PropertyAccessExpression 184461 184492 - CallExpression 184461 184488 - Identifier 184461 184480 - Identifier 184481 184487 - Identifier 184489 184492 - Identifier 184493 184501 - VariableStatement 184503 184580 - VariableDeclarationList 184503 184579 - VariableDeclaration 184522 184579 - Identifier 184522 184531 - CallExpression 184533 184579 - Identifier 184533 184547 - Identifier 184548 184560 - Identifier 184561 184578 - VariableStatement 184580 184684 - VariableDeclarationList 184580 184683 - VariableDeclaration 184599 184683 - Identifier 184599 184621 - CallExpression 184623 184683 - PropertyAccessExpression 184623 184673 - PropertyAccessExpression 184623 184668 - CallExpression 184623 184646 - Identifier 184623 184638 - Identifier 184639 184645 - Identifier 184647 184668 - QuestionDotToken 184668 184670 - Identifier 184670 184673 - Identifier 184674 184682 - ExpressionStatement 184684 184831 - CallExpression 184684 184830 - Identifier 184684 184736 - Identifier 184737 184746 - Identifier 184747 184760 - Identifier 184761 184770 - FalseKeyword 184771 184796 - Identifier 184797 184819 - Identifier 184820 184829 - ReturnStatement 184831 184861 - Identifier 184851 184860 - FunctionDeclaration 184879 185283 - Identifier 184895 184917 - Parameter 184918 184932 - Identifier 184918 184924 - TypeReference 184925 184932 - Identifier 184925 184932 - Parameter 184933 184948 - Identifier 184933 184938 - TypeReference 184939 184948 - Identifier 184939 184948 - UnionType 184950 184969 - TypeReference 184950 184957 - Identifier 184950 184957 - UndefinedKeyword 184959 184969 - Block 184969 185283 - IfStatement 184971 185276 - BinaryExpression 184985 185020 - PropertyAccessExpression 184985 184997 - Identifier 184985 184991 - Identifier 184992 184997 - AmpersandToken 184997 184999 - PropertyAccessExpression 184999 185020 - Identifier 184999 185011 - Identifier 185012 185020 - Block 185021 185276 - VariableStatement 185023 185114 - VariableDeclarationList 185023 185113 - VariableDeclaration 185042 185113 - Identifier 185042 185057 - PropertyAccessExpression 185059 185113 - ParenthesizedExpression 185059 185108 - AsExpression 185061 185107 - PropertyAccessExpression 185061 185084 - Identifier 185061 185067 - Identifier 185068 185084 - TypeReference 185087 185107 - Identifier 185087 185107 - Identifier 185109 185113 - IfStatement 185114 185265 - Identifier 185132 185146 - Block 185147 185265 - ReturnStatement 185149 185250 - CallExpression 185173 185249 - Identifier 185173 185187 - CallExpression 185188 185248 - Identifier 185188 185205 - CallExpression 185206 185241 - Identifier 185206 185225 - Identifier 185226 185240 - Identifier 185242 185247 - FunctionDeclaration 185283 188999 - Identifier 185299 185323 - Parameter 185324 185406 - Identifier 185324 185328 - UnionType 185329 185406 - TypeReference 185329 185347 - Identifier 185329 185347 - TypeReference 185349 185367 - Identifier 185349 185367 - TypeReference 185369 185389 - Identifier 185369 185389 - TypeReference 185391 185406 - Identifier 185391 185406 - Parameter 185407 185486 - Identifier 185407 185417 - UnionType 185418 185486 - TypeReference 185418 185442 - Identifier 185418 185442 - TypeReference 185444 185459 - Identifier 185444 185459 - TypeReference 185461 185486 - Identifier 185461 185486 - Parameter 185487 185512 - Identifier 185487 185504 - FalseKeyword 185506 185512 - UnionType 185514 185533 - TypeReference 185514 185521 - Identifier 185514 185521 - UndefinedKeyword 185523 185533 - Block 185533 188999 - VariableStatement 185535 185693 - VariableDeclarationList 185535 185692 - VariableDeclaration 185550 185692 - Identifier 185550 185566 - BinaryExpression 185568 185692 - CallExpression 185568 185607 - Identifier 185568 185601 - Identifier 185602 185606 - BarBarToken 185607 185610 - NonNullExpression 185610 185692 - PropertyAccessExpression 185610 185691 - ParenthesizedExpression 185610 185675 - AsExpression 185612 185674 - Identifier 185612 185616 - UnionType 185619 185674 - TypeReference 185619 185637 - Identifier 185619 185637 - TypeReference 185639 185657 - Identifier 185639 185657 - TypeReference 185659 185674 - Identifier 185659 185674 - Identifier 185676 185691 - VariableStatement 185693 185774 - VariableDeclarationList 185693 185773 - VariableDeclaration 185708 185773 - Identifier 185708 185721 - NonNullExpression 185723 185773 - CallExpression 185723 185772 - Identifier 185723 185749 - Identifier 185750 185754 - Identifier 185755 185771 - VariableStatement 185774 185898 - VariableDeclarationList 185774 185897 - VariableDeclaration 185807 185897 - Identifier 185807 185812 - BinaryExpression 185814 185897 - BinaryExpression 185814 185879 - PrefixUnaryExpression 185814 185853 - CallExpression 185816 185853 - Identifier 185816 185842 - Identifier 185843 185852 - AmpersandAmpersandToken 185853 185856 - PropertyAccessExpression 185856 185879 - Identifier 185856 185866 - Identifier 185867 185879 - BarBarToken 185879 185882 - PropertyAccessExpression 185882 185897 - Identifier 185882 185892 - Identifier 185893 185897 - IfStatement 185898 186018 - BinaryExpression 185912 185973 - PrefixUnaryExpression 185912 185931 - CallExpression 185913 185931 - Identifier 185913 185925 - Identifier 185926 185930 - AmpersandAmpersandToken 185931 185934 - BinaryExpression 185934 185973 - PropertyAccessExpression 185934 185944 - Identifier 185934 185939 - Identifier 185940 185944 - ExclamationEqualsEqualsToken 185944 185948 - PropertyAccessExpression 185948 185973 - Identifier 185948 185959 - Identifier 185960 185973 - Block 185974 186018 - ReturnStatement 185976 186007 - Identifier 185996 186006 - VariableStatement 186018 186079 - VariableDeclarationList 186018 186078 - VariableDeclaration 186033 186078 - Identifier 186033 186042 - CallExpression 186044 186078 - Identifier 186044 186072 - Identifier 186073 186077 - VariableStatement 186079 186190 - VariableDeclarationList 186079 186189 - VariableDeclaration 186094 186189 - Identifier 186094 186115 - BinaryExpression 186117 186189 - BinaryExpression 186117 186157 - Identifier 186117 186126 - EqualsEqualsEqualsToken 186126 186130 - PropertyAccessExpression 186130 186157 - Identifier 186130 186149 - Identifier 186150 186157 - AmpersandAmpersandToken 186157 186160 - Identifier 186160 186189 - VariableStatement 186190 186324 - VariableDeclarationList 186190 186323 - VariableDeclaration 186205 186323 - Identifier 186205 186218 - CallExpression 186220 186323 - Identifier 186220 186242 - Identifier 186243 186255 - Identifier 186256 186272 - FalseKeyword 186273 186300 - Identifier 186301 186322 - IfStatement 186324 188992 - Identifier 186338 186350 - Block 186351 188992 - IfStatement 186353 188981 - BinaryExpression 186566 186616 - Identifier 186566 186574 - BarBarToken 186574 186577 - BinaryExpression 186577 186616 - PropertyAccessExpression 186577 186587 - Identifier 186577 186582 - Identifier 186583 186587 - EqualsEqualsEqualsToken 186587 186591 - PropertyAccessExpression 186591 186616 - Identifier 186591 186602 - Identifier 186603 186616 - Block 186617 188981 - IfStatement 186619 186749 - CallExpression 186641 186685 - Identifier 186641 186671 - Identifier 186672 186684 - Block 186686 186749 - ReturnStatement 186688 186730 - Identifier 186716 186729 - VariableStatement 186749 186812 - VariableDeclarationList 186749 186811 - VariableDeclaration 186772 186811 - Identifier 186772 186791 - UnionType 186792 186811 - TypeReference 186792 186799 - Identifier 186792 186799 - UndefinedKeyword 186801 186811 - IfStatement 186812 187348 - BinaryExpression 186951 187048 - BinaryExpression 186951 186987 - Identifier 186951 186963 - AmpersandAmpersandToken 186963 186966 - PropertyAccessExpression 186966 186987 - Identifier 186966 186979 - Identifier 186980 186987 - AmpersandAmpersandToken 186987 186990 - CallExpression 186990 187048 - PropertyAccessExpression 186990 187015 - PropertyAccessExpression 186990 187011 - Identifier 186990 187003 - Identifier 187004 187011 - Identifier 187012 187015 - PropertyAccessExpression 187016 187047 - Identifier 187016 187034 - Identifier 187035 187047 - Block 187049 187216 - ExpressionStatement 187051 187197 - BinaryExpression 187051 187196 - Identifier 187051 187091 - EqualsToken 187091 187093 - CallExpression 187093 187196 - Identifier 187093 187111 - CallExpression 187112 187141 - Identifier 187112 187127 - Identifier 187128 187140 - Identifier 187142 187151 - TrueKeyword 187152 187195 - Block 187238 187348 - ExpressionStatement 187240 187329 - BinaryExpression 187240 187328 - Identifier 187240 187280 - EqualsToken 187280 187282 - CallExpression 187282 187328 - Identifier 187282 187304 - Identifier 187305 187317 - Identifier 187318 187327 - ExpressionStatement 187348 187514 - BinaryExpression 187348 187513 - Identifier 187348 187459 - EqualsToken 187459 187461 - CallExpression 187461 187513 - Identifier 187461 187475 - Identifier 187476 187494 - Identifier 187495 187512 - VariableStatement 187514 187628 - VariableDeclarationList 187514 187627 - VariableDeclaration 187537 187627 - Identifier 187537 187554 - CallExpression 187556 187627 - Identifier 187556 187574 - Identifier 187575 187587 - Identifier 187588 187597 - Identifier 187598 187608 - Identifier 187609 187626 - IfStatement 187628 188170 - BinaryExpression 187650 187723 - BinaryExpression 187650 187680 - Identifier 187650 187666 - EqualsEqualsEqualsToken 187666 187670 - Identifier 187670 187680 - AmpersandAmpersandToken 187680 187683 - BinaryExpression 187683 187723 - Identifier 187683 187692 - EqualsEqualsEqualsToken 187692 187696 - PropertyAccessExpression 187696 187723 - Identifier 187696 187715 - Identifier 187716 187723 - Block 187724 188170 - VariableStatement 187726 187807 - VariableDeclarationList 187726 187806 - VariableDeclaration 187753 187806 - Identifier 187753 187758 - CallExpression 187760 187806 - PropertyAccessExpression 187760 187792 - PropertyAccessExpression 187760 187786 - Identifier 187760 187773 - Identifier 187774 187786 - QuestionDotToken 187786 187788 - Identifier 187788 187792 - Identifier 187793 187805 - IfStatement 187807 188151 - BinaryExpression 187833 187971 - CallExpression 187833 187889 - Identifier 187833 187858 - Identifier 187859 187874 - Identifier 187875 187888 - BarBarToken 187889 187892 - CallExpression 187892 187971 - Identifier 187892 187916 - Identifier 187917 187921 - Identifier 187922 187935 - Identifier 187936 187953 - Identifier 187954 187970 - Block 187972 188151 - ExpressionStatement 187974 188128 - BinaryExpression 187974 188127 - Identifier 187974 188016 - EqualsToken 188016 188018 - BinaryExpression 188018 188127 - CallExpression 188018 188078 - Identifier 188018 188046 - Identifier 188047 188059 - Identifier 188060 188077 - BarBarToken 188078 188081 - CallExpression 188081 188127 - Identifier 188081 188095 - Identifier 188096 188108 - Identifier 188109 188126 - VariableStatement 188170 188437 - VariableDeclarationList 188170 188436 - VariableDeclaration 188195 188436 - Identifier 188195 188202 - ConditionalExpression 188204 188436 - BinaryExpression 188204 188286 - BinaryExpression 188204 188243 - Identifier 188204 188221 - AmpersandAmpersandToken 188221 188224 - Identifier 188224 188243 - AmpersandAmpersandToken 188243 188246 - BinaryExpression 188246 188286 - Identifier 188246 188263 - ExclamationEqualsEqualsToken 188263 188267 - Identifier 188267 188286 - QuestionToken 188286 188288 - CallExpression 188288 188374 - Identifier 188288 188336 - Identifier 188337 188355 - Identifier 188356 188373 - ColonToken 188374 188376 - BinaryExpression 188376 188436 - Identifier 188376 188414 - BarBarToken 188414 188417 - Identifier 188417 188436 - IfStatement 188437 188934 - BinaryExpression 188461 188600 - BinaryExpression 188461 188557 - CallExpression 188461 188497 - Identifier 188461 188486 - Identifier 188487 188496 - AmpersandAmpersandToken 188497 188500 - CallExpression 188500 188557 - Identifier 188500 188526 - Identifier 188527 188542 - Identifier 188543 188556 - AmpersandAmpersandToken 188557 188560 - BinaryExpression 188560 188600 - Identifier 188560 188569 - ExclamationEqualsEqualsToken 188569 188573 - PropertyAccessExpression 188573 188600 - Identifier 188573 188592 - Identifier 188593 188600 - Block 188601 188790 - ExpressionStatement 188603 188771 - CallExpression 188603 188770 - Identifier 188603 188630 - Identifier 188631 188635 - PropertyAccessExpression 188636 188745 - Identifier 188636 188648 - Identifier 188649 188745 - ElementAccessExpression 188746 188769 - Identifier 188746 188757 - Identifier 188758 188768 - IfStatement 188812 188934 - PrefixUnaryExpression 188817 188824 - Identifier 188818 188824 - Block 188825 188934 - ExpressionStatement 188827 188915 - CallExpression 188827 188914 - Identifier 188827 188874 - Identifier 188875 188887 - Identifier 188888 188901 - Identifier 188902 188907 - Identifier 188908 188913 - ReturnStatement 188934 188966 - Identifier 188958 188965 - FunctionDeclaration 188999 190367 - Identifier 189015 189041 - Parameter 189042 189062 - Identifier 189042 189054 - TypeReference 189055 189062 - Identifier 189055 189062 - Parameter 189063 189084 - Identifier 189063 189076 - TypeReference 189077 189084 - Identifier 189077 189084 - Parameter 189085 189096 - Identifier 189085 189090 - TypeReference 189091 189096 - Identifier 189091 189096 - Parameter 189097 189120 - Identifier 189097 189102 - TypeReference 189103 189120 - Identifier 189103 189120 - Block 189121 190367 - VariableStatement 189123 189194 - VariableDeclarationList 189123 189193 - VariableDeclaration 189138 189193 - Identifier 189138 189149 - CallExpression 189151 189193 - Identifier 189151 189173 - Identifier 189174 189186 - Identifier 189187 189192 - VariableStatement 189194 189258 - VariableDeclarationList 189194 189257 - VariableDeclaration 189209 189257 - Identifier 189209 189225 - CallExpression 189227 189257 - Identifier 189227 189251 - Identifier 189252 189256 - VariableStatement 189258 189379 - VariableDeclarationList 189258 189378 - VariableDeclaration 189273 189378 - Identifier 189273 189284 - ConditionalExpression 189286 189378 - CallExpression 189286 189305 - Identifier 189286 189299 - Identifier 189300 189304 - QuestionToken 189305 189307 - CallExpression 189307 189366 - Identifier 189307 189346 - Identifier 189347 189351 - Identifier 189352 189365 - ColonToken 189366 189368 - Identifier 189368 189378 - IfStatement 189379 190360 - BinaryExpression 189393 189417 - Identifier 189393 189403 - ExclamationEqualsEqualsToken 189403 189407 - Identifier 189407 189417 - Block 189418 189858 - VariableStatement 189420 189484 - VariableDeclarationList 189420 189483 - VariableDeclaration 189439 189483 - Identifier 189439 189454 - CallExpression 189456 189483 - Identifier 189456 189471 - Identifier 189472 189482 - VariableStatement 189484 189636 - VariableDeclarationList 189484 189635 - VariableDeclaration 189503 189635 - Identifier 189503 189514 - CallExpression 189516 189635 - Identifier 189516 189522 - Identifier 189523 189527 - PropertyAccessExpression 189528 189589 - Identifier 189528 189540 - Identifier 189541 189589 - Identifier 189590 189601 - Identifier 189602 189618 - Identifier 189619 189634 - IfStatement 189636 189847 - PropertyAccessExpression 189654 189681 - Identifier 189654 189664 - Identifier 189665 189681 - Block 189682 189847 - ExpressionStatement 189684 189832 - CallExpression 189684 189831 - Identifier 189684 189716 - Identifier 189717 189727 - CallExpression 189728 189830 - Identifier 189728 189752 - PropertyAccessExpression 189753 189780 - Identifier 189753 189763 - Identifier 189764 189780 - PropertyAccessExpression 189781 189813 - Identifier 189781 189793 - Identifier 189794 189813 - Identifier 189814 189829 - Block 189872 190360 - IfStatement 189874 190349 - CallExpression 189892 189945 - PropertyAccessExpression 189892 189917 - PropertyAccessExpression 189892 189912 - Identifier 189892 189904 - Identifier 189905 189912 - QuestionDotToken 189912 189914 - Identifier 189914 189917 - PropertyAccessExpression 189918 189944 - Identifier 189918 189936 - Identifier 189937 189944 - Block 189946 190217 - ExpressionStatement 189948 190202 - CallExpression 189948 190201 - Identifier 189948 189971 - Identifier 189972 189998 - PropertyAccessExpression 189999 190110 - Identifier 189999 190032 - Identifier 190033 190110 - Identifier 190111 190143 - Identifier 190144 190181 - Block 190235 190349 - ExpressionStatement 190237 190334 - CallExpression 190237 190333 - Identifier 190237 190278 - Identifier 190279 190283 - Identifier 190284 190289 - Identifier 190290 190306 - Identifier 190307 190320 - Identifier 190321 190332 - FunctionDeclaration 190367 192080 - Identifier 190383 190407 - Parameter 190408 190418 - Identifier 190408 190412 - TypeReference 190413 190418 - Identifier 190413 190418 - Parameter 190419 190442 - Identifier 190419 190424 - TypeReference 190425 190442 - Identifier 190425 190442 - Parameter 190443 190467 - Identifier 190443 190459 - StringKeyword 190460 190467 - Parameter 190468 190489 - Identifier 190468 190481 - TypeReference 190482 190489 - Identifier 190482 190489 - Parameter 190490 190509 - Identifier 190490 190501 - StringKeyword 190502 190509 - VoidKeyword 190511 190516 - Block 190516 192080 - VariableStatement 190518 190650 - VariableDeclarationList 190518 190649 - VariableDeclaration 190533 190649 - Identifier 190533 190545 - CallExpression 190547 190649 - PropertyAccessExpression 190547 190614 - PropertyAccessExpression 190547 190609 - CallExpression 190547 190601 - Identifier 190547 190555 - PropertyAccessExpression 190556 190585 - Identifier 190556 190568 - Identifier 190569 190585 - Identifier 190586 190600 - QuestionDotToken 190601 190603 - Identifier 190603 190609 - QuestionDotToken 190609 190611 - Identifier 190611 190614 - CallExpression 190615 190648 - Identifier 190615 190642 - Identifier 190643 190647 - VariableStatement 190650 190697 - VariableDeclarationList 190650 190696 - VariableDeclaration 190665 190696 - Identifier 190665 190673 - PropertyAccessExpression 190675 190696 - Identifier 190675 190688 - Identifier 190689 190696 - IfStatement 190697 192073 - Identifier 190711 190722 - Block 190723 191944 - VariableStatement 190725 190814 - VariableDeclarationList 190725 190813 - VariableDeclaration 190744 190813 - Identifier 190744 190765 - CallExpression 190767 190813 - PropertyAccessExpression 190767 190780 - Identifier 190767 190775 - QuestionDotToken 190775 190777 - Identifier 190777 190780 - PropertyAccessExpression 190781 190812 - Identifier 190781 190799 - Identifier 190800 190812 - IfStatement 190814 191933 - Identifier 190832 190852 - Block 190853 191140 - ExpressionStatement 190855 191125 - ConditionalExpression 190855 191124 - CallExpression 190855 190932 - Identifier 190855 190897 - Identifier 190898 190918 - Identifier 190919 190931 - QuestionToken 190932 190934 - CallExpression 190934 191013 - Identifier 190934 190972 - Identifier 190973 190977 - Identifier 190978 190983 - Identifier 190984 191000 - Identifier 191001 191012 - ColonToken 191013 191015 - CallExpression 191015 191124 - Identifier 191015 191042 - Identifier 191043 191047 - PropertyAccessExpression 191048 191094 - Identifier 191048 191060 - Identifier 191061 191094 - Identifier 191095 191106 - Identifier 191107 191123 - Block 191158 191933 - VariableStatement 191160 191312 - VariableDeclarationList 191160 191311 - VariableDeclaration 191183 191311 - Identifier 191183 191198 - ConditionalExpression 191200 191311 - Identifier 191200 191208 - QuestionToken 191208 191210 - CallExpression 191210 191299 - Identifier 191210 191215 - CallExpression 191216 191239 - Identifier 191216 191230 - Identifier 191231 191238 - ArrowFunction 191240 191298 - Parameter 191240 191247 - Identifier 191240 191247 - EqualsGreaterThanToken 191247 191250 - PrefixUnaryExpression 191250 191298 - PrefixUnaryExpression 191252 191298 - CallExpression 191253 191298 - Identifier 191253 191277 - Identifier 191278 191284 - Identifier 191285 191297 - ColonToken 191299 191301 - Identifier 191301 191311 - VariableStatement 191312 191632 - VariableDeclarationList 191312 191631 - VariableDeclaration 191335 191631 - Identifier 191335 191346 - ConditionalExpression 191348 191631 - Identifier 191348 191363 - QuestionToken 191363 191365 - CallExpression 191365 191503 - Identifier 191365 191371 - Identifier 191372 191376 - PropertyAccessExpression 191377 191441 - Identifier 191377 191389 - Identifier 191390 191441 - Identifier 191442 191453 - Identifier 191454 191470 - CallExpression 191471 191502 - Identifier 191471 191486 - Identifier 191487 191501 - ColonToken 191503 191505 - CallExpression 191505 191631 - Identifier 191505 191532 - Identifier 191533 191537 - PropertyAccessExpression 191538 191601 - Identifier 191538 191550 - Identifier 191551 191601 - Identifier 191602 191613 - Identifier 191614 191630 - IfStatement 191632 191918 - PropertyAccessExpression 191654 191678 - Identifier 191654 191665 - Identifier 191666 191678 - Block 191679 191918 - ExpressionStatement 191681 191899 - CallExpression 191681 191898 - Identifier 191681 191717 - Identifier 191718 191728 - SpreadElement 191729 191897 - CallExpression 191733 191897 - Identifier 191733 191736 - PropertyAccessExpression 191737 191761 - Identifier 191737 191748 - Identifier 191749 191761 - ArrowFunction 191762 191896 - Parameter 191764 191768 - Identifier 191764 191768 - Parameter 191769 191775 - Identifier 191769 191775 - EqualsGreaterThanToken 191776 191779 - CallExpression 191779 191896 - Identifier 191779 191803 - Identifier 191804 191808 - ConditionalExpression 191809 191878 - BinaryExpression 191809 191821 - Identifier 191809 191815 - EqualsEqualsEqualsToken 191815 191819 - NumericLiteral 191819 191821 - QuestionToken 191821 191823 - PropertyAccessExpression 191823 191855 - Identifier 191823 191835 - Identifier 191836 191855 - ColonToken 191855 191857 - PropertyAccessExpression 191857 191878 - Identifier 191857 191869 - Identifier 191870 191878 - Identifier 191879 191895 - Block 191958 192073 - ExpressionStatement 191960 192062 - CallExpression 191960 192061 - Identifier 191960 191979 - Identifier 191980 191984 - PropertyAccessExpression 191985 192031 - Identifier 191985 191997 - Identifier 191998 192031 - Identifier 192032 192043 - Identifier 192044 192060 - FunctionDeclaration 192080 193466 - Identifier 192096 192134 - Parameter 192135 192145 - Identifier 192135 192139 - TypeReference 192140 192145 - Identifier 192140 192145 - Parameter 192146 192169 - Identifier 192146 192151 - TypeReference 192152 192169 - Identifier 192152 192169 - Parameter 192170 192194 - Identifier 192170 192186 - StringKeyword 192187 192194 - Parameter 192195 192214 - Identifier 192195 192206 - StringKeyword 192207 192214 - Block 192215 193466 - IfStatement 192217 193459 - BinaryExpression 192231 192262 - Identifier 192231 192241 - GreaterThanEqualsToken 192241 192244 - PropertyAccessExpression 192244 192262 - Identifier 192244 192255 - Identifier 192256 192262 - Block 192263 192579 - VariableStatement 192265 192516 - VariableDeclarationList 192265 192515 - VariableDeclaration 192284 192515 - Identifier 192284 192292 - ConditionalExpression 192294 192515 - CallExpression 192294 192330 - Identifier 192294 192313 - Identifier 192314 192329 - QuestionToken 192330 192332 - PropertyAccessExpression 192332 192394 - Identifier 192332 192344 - Identifier 192345 192394 - ColonToken 192394 192396 - PropertyAccessExpression 192396 192515 - Identifier 192396 192425 - Identifier 192426 192515 - ExpressionStatement 192516 192568 - CallExpression 192516 192567 - Identifier 192516 192535 - Identifier 192536 192540 - Identifier 192541 192549 - Identifier 192550 192566 - Block 192593 193459 - IfStatement 192595 193448 - CallExpression 192613 192629 - Identifier 192613 192623 - Identifier 192624 192628 - Block 192630 193016 - VariableStatement 192632 192945 - VariableDeclarationList 192632 192944 - VariableDeclaration 192655 192944 - Identifier 192655 192663 - ConditionalExpression 192665 192944 - CallExpression 192665 192701 - Identifier 192665 192684 - Identifier 192685 192700 - QuestionToken 192701 192703 - PropertyAccessExpression 192703 192792 - Identifier 192703 192715 - Identifier 192716 192792 - ColonToken 192792 192794 - PropertyAccessExpression 192794 192944 - Identifier 192794 192827 - Identifier 192828 192944 - ExpressionStatement 192945 193001 - CallExpression 192945 193000 - Identifier 192945 192968 - Identifier 192969 192973 - Identifier 192974 192982 - Identifier 192983 192999 - Block 193034 193448 - VariableStatement 193036 193348 - VariableDeclarationList 193036 193347 - VariableDeclaration 193059 193347 - Identifier 193059 193067 - ConditionalExpression 193069 193347 - CallExpression 193069 193105 - Identifier 193069 193088 - Identifier 193089 193104 - QuestionToken 193105 193107 - PropertyAccessExpression 193107 193191 - Identifier 193107 193119 - Identifier 193120 193191 - ColonToken 193191 193193 - PropertyAccessExpression 193193 193347 - Identifier 193193 193226 - Identifier 193227 193347 - ExpressionStatement 193348 193433 - CallExpression 193348 193432 - Identifier 193348 193371 - Identifier 193372 193376 - Identifier 193377 193385 - Identifier 193386 193402 - Identifier 193403 193419 - Identifier 193420 193431 - FunctionDeclaration 193466 194725 - Identifier 193482 193509 - Parameter 193510 193548 - Identifier 193510 193514 - UnionType 193515 193548 - TypeReference 193515 193531 - Identifier 193515 193531 - TypeReference 193533 193548 - Identifier 193533 193548 - Parameter 193549 193575 - Identifier 193549 193566 - BooleanKeyword 193567 193575 - UnionType 193577 193596 - TypeReference 193577 193584 - Identifier 193577 193584 - UndefinedKeyword 193586 193596 - Block 193596 194725 - IfStatement 193598 194011 - BinaryExpression 193612 193696 - CallExpression 193612 193635 - Identifier 193612 193629 - Identifier 193630 193634 - AmpersandAmpersandToken 193635 193638 - CallExpression 193638 193696 - Identifier 193638 193664 - BinaryExpression 193665 193695 - PropertyAccessExpression 193665 193682 - Identifier 193665 193669 - Identifier 193670 193682 - BarBarToken 193682 193685 - PropertyAccessExpression 193685 193695 - Identifier 193685 193690 - Identifier 193691 193695 - Block 193697 194011 - VariableStatement 193699 193773 - VariableDeclarationList 193699 193772 - VariableDeclaration 193718 193772 - Identifier 193718 193728 - CallExpression 193730 193772 - Identifier 193730 193766 - Identifier 193767 193771 - VariableStatement 193773 193864 - VariableDeclarationList 193773 193863 - VariableDeclaration 193792 193863 - Identifier 193792 193805 - BinaryExpression 193807 193863 - Identifier 193807 193817 - AmpersandAmpersandToken 193817 193820 - CallExpression 193820 193863 - Identifier 193820 193846 - Identifier 193847 193851 - Identifier 193852 193862 - IfStatement 193864 194000 - Identifier 193882 193894 - Block 193895 194000 - ReturnStatement 193897 193985 - CallExpression 193921 193984 - Identifier 193921 193946 - Identifier 193947 193959 - Identifier 193960 193965 - Identifier 193966 193983 - VariableStatement 194011 194135 - VariableDeclarationList 194011 194134 - VariableDeclaration 194026 194134 - Identifier 194026 194031 - ConditionalExpression 194033 194134 - CallExpression 194033 194056 - Identifier 194033 194050 - Identifier 194051 194055 - QuestionToken 194056 194058 - AsExpression 194058 194106 - CallExpression 194058 194083 - Identifier 194058 194077 - Identifier 194078 194082 - TypeReference 194086 194106 - Identifier 194086 194106 - ColonToken 194106 194108 - PropertyAccessExpression 194108 194134 - PropertyAccessExpression 194108 194127 - PropertyAccessExpression 194108 194120 - Identifier 194108 194113 - Identifier 194114 194120 - Identifier 194121 194127 - Identifier 194128 194134 - VariableStatement 194135 194208 - VariableDeclarationList 194135 194207 - VariableDeclaration 194150 194207 - Identifier 194150 194173 - CallExpression 194175 194207 - Identifier 194175 194201 - Identifier 194202 194206 - VariableStatement 194208 194315 - VariableDeclarationList 194208 194314 - VariableDeclaration 194223 194314 - Identifier 194223 194232 - CallExpression 194234 194314 - Identifier 194234 194258 - Identifier 194259 194263 - BinaryExpression 194264 194295 - Identifier 194264 194287 - BarBarToken 194287 194290 - Identifier 194290 194295 - Identifier 194296 194313 - VariableStatement 194315 194369 - VariableDeclarationList 194315 194368 - VariableDeclaration 194330 194368 - Identifier 194330 194335 - BinaryExpression 194337 194368 - PropertyAccessExpression 194337 194355 - Identifier 194337 194342 - Identifier 194343 194355 - BarBarToken 194355 194358 - PropertyAccessExpression 194358 194368 - Identifier 194358 194363 - Identifier 194364 194368 - IfStatement 194369 194570 - BinaryExpression 194383 194439 - BinaryExpression 194383 194417 - Identifier 194383 194405 - AmpersandAmpersandToken 194405 194408 - Identifier 194408 194417 - AmpersandAmpersandToken 194417 194420 - CallExpression 194420 194439 - Identifier 194420 194433 - Identifier 194434 194438 - Block 194440 194570 - ReturnStatement 194442 194559 - CallExpression 194462 194558 - Identifier 194462 194476 - CallExpression 194477 194539 - Identifier 194477 194494 - CallExpression 194495 194520 - Identifier 194495 194510 - Identifier 194511 194519 - PropertyAccessExpression 194521 194538 - Identifier 194521 194526 - Identifier 194527 194538 - Identifier 194540 194557 - ExpressionStatement 194570 194692 - CallExpression 194570 194691 - Identifier 194570 194618 - Identifier 194619 194623 - Identifier 194624 194654 - Identifier 194655 194664 - FalseKeyword 194665 194690 - ReturnStatement 194692 194718 - Identifier 194708 194717 - FunctionDeclaration 194725 194949 - Identifier 194741 194767 - Parameter 194768 194778 - Identifier 194768 194772 - TypeReference 194773 194778 - Identifier 194773 194778 - Block 194779 194949 - IfStatement 194781 194942 - BinaryExpression 194795 194890 - BinaryExpression 194795 194842 - CallExpression 194795 194822 - Identifier 194795 194816 - Identifier 194817 194821 - AmpersandAmpersandToken 194822 194825 - PropertyAccessExpression 194825 194842 - Identifier 194825 194830 - Identifier 194831 194842 - AmpersandAmpersandToken 194842 194845 - CallExpression 194845 194890 - Identifier 194845 194872 - PropertyAccessExpression 194873 194889 - Identifier 194873 194877 - Identifier 194878 194889 - Block 194891 194942 - ReturnStatement 194893 194931 - PropertyAccessExpression 194913 194930 - Identifier 194913 194918 - Identifier 194919 194930 - FunctionDeclaration 194949 195400 - Identifier 194965 195003 - Parameter 195004 195036 - Identifier 195004 195008 - TypeReference 195009 195036 - Identifier 195009 195036 - Parameter 195037 195063 - Identifier 195037 195054 - BooleanKeyword 195055 195063 - UnionType 195065 195084 - TypeReference 195065 195072 - Identifier 195065 195072 - UndefinedKeyword 195074 195084 - Block 195084 195400 - IfStatement 195086 195393 - CallExpression 195100 195126 - Identifier 195100 195113 - PropertyAccessExpression 195114 195125 - Identifier 195114 195118 - Identifier 195119 195125 - Block 195127 195393 - VariableStatement 195129 195226 - VariableDeclarationList 195129 195225 - VariableDeclaration 195148 195225 - Identifier 195148 195157 - CallExpression 195159 195225 - Identifier 195159 195187 - PropertyAccessExpression 195188 195206 - PropertyAccessExpression 195188 195199 - Identifier 195188 195192 - Identifier 195193 195199 - Identifier 195200 195206 - Identifier 195207 195224 - ExpressionStatement 195226 195352 - CallExpression 195226 195351 - Identifier 195226 195278 - Identifier 195279 195283 - Identifier 195284 195314 - Identifier 195315 195324 - FalseKeyword 195325 195350 - ReturnStatement 195352 195382 - Identifier 195372 195381 - FunctionDeclaration 195400 196443 - Identifier 195416 195443 - Parameter 195444 195465 - Identifier 195444 195448 - TypeReference 195449 195465 - Identifier 195449 195465 - Parameter 195466 195487 - Identifier 195466 195474 - TypeReference 195475 195487 - Identifier 195475 195487 - Parameter 195488 195515 - Identifier 195488 195505 - QuestionToken 195505 195506 - BooleanKeyword 195507 195515 - Block 195516 196443 - VariableStatement 195518 195572 - VariableDeclarationList 195518 195571 - VariableDeclaration 195533 195571 - Identifier 195533 195538 - BinaryExpression 195540 195571 - PropertyAccessExpression 195540 195558 - Identifier 195540 195545 - Identifier 195546 195558 - BarBarToken 195558 195561 - PropertyAccessExpression 195561 195571 - Identifier 195561 195566 - Identifier 195567 195571 - IfStatement 195572 195934 - CallExpression 195586 195617 - Identifier 195586 195611 - Identifier 195612 195616 - Block 195618 195934 - VariableStatement 195620 195694 - VariableDeclarationList 195620 195693 - VariableDeclaration 195639 195693 - Identifier 195639 195649 - CallExpression 195651 195693 - Identifier 195651 195687 - Identifier 195688 195692 - VariableStatement 195694 195785 - VariableDeclarationList 195694 195784 - VariableDeclaration 195713 195784 - Identifier 195713 195726 - BinaryExpression 195728 195784 - Identifier 195728 195738 - AmpersandAmpersandToken 195738 195741 - CallExpression 195741 195784 - Identifier 195741 195767 - Identifier 195768 195772 - Identifier 195773 195783 - IfStatement 195785 195923 - Identifier 195803 195815 - Block 195816 195923 - ReturnStatement 195818 195908 - CallExpression 195842 195907 - Identifier 195842 195867 - Identifier 195868 195880 - Identifier 195881 195886 - PrefixUnaryExpression 195887 195906 - PrefixUnaryExpression 195889 195906 - Identifier 195890 195906 - VariableStatement 195934 196288 - VariableDeclarationList 195934 196287 - VariableDeclaration 195949 196287 - Identifier 195949 195958 - ConditionalExpression 195960 196287 - PropertyAccessExpression 195960 195995 - PropertyAccessExpression 195960 195979 - PropertyAccessExpression 195960 195972 - Identifier 195960 195965 - Identifier 195966 195972 - Identifier 195973 195979 - Identifier 195980 195995 - QuestionToken 195995 195997 - CallExpression 195997 196078 - Identifier 195997 196034 - PropertyAccessExpression 196035 196053 - PropertyAccessExpression 196035 196046 - Identifier 196035 196039 - Identifier 196040 196046 - Identifier 196047 196053 - Identifier 196054 196059 - Identifier 196060 196077 - ColonToken 196078 196080 - ConditionalExpression 196080 196287 - BinaryExpression 196080 196132 - PropertyAccessExpression 196080 196103 - Identifier 196080 196098 - Identifier 196099 196103 - EqualsEqualsEqualsToken 196103 196107 - PropertyAccessExpression 196107 196132 - Identifier 196107 196118 - Identifier 196119 196132 - QuestionToken 196132 196134 - Identifier 196134 196144 - ColonToken 196144 196146 - CallExpression 196146 196287 - Identifier 196146 196230 - Identifier 196231 196235 - Identifier 196236 196244 - FalseKeyword 196245 196268 - Identifier 196269 196286 - ExpressionStatement 196288 196410 - CallExpression 196288 196409 - Identifier 196288 196336 - Identifier 196337 196341 - Identifier 196342 196372 - Identifier 196373 196382 - FalseKeyword 196383 196408 - ReturnStatement 196410 196436 - Identifier 196426 196435 - FunctionDeclaration 196443 196907 - Identifier 196459 196487 - Parameter 196488 196529 - Identifier 196488 196492 - UnionType 196493 196529 - TypeReference 196493 196510 - Identifier 196493 196510 - TypeReference 196512 196529 - Identifier 196512 196529 - Parameter 196530 196556 - Identifier 196530 196547 - BooleanKeyword 196548 196556 - UnionType 196558 196577 - TypeReference 196558 196565 - Identifier 196558 196565 - UndefinedKeyword 196567 196577 - Block 196577 196907 - VariableStatement 196579 196664 - VariableDeclarationList 196579 196663 - VariableDeclaration 196594 196663 - Identifier 196594 196605 - ConditionalExpression 196607 196663 - CallExpression 196607 196632 - Identifier 196607 196626 - Identifier 196627 196631 - QuestionToken 196632 196634 - PropertyAccessExpression 196634 196650 - Identifier 196634 196639 - Identifier 196640 196650 - ColonToken 196650 196652 - PropertyAccessExpression 196652 196663 - Identifier 196652 196657 - Identifier 196658 196663 - VariableStatement 196664 196752 - VariableDeclarationList 196664 196751 - VariableDeclaration 196679 196751 - Identifier 196679 196688 - CallExpression 196690 196751 - Identifier 196690 196721 - Identifier 196722 196732 - Identifier 196733 196750 - ExpressionStatement 196752 196874 - CallExpression 196752 196873 - Identifier 196752 196800 - Identifier 196801 196805 - Identifier 196806 196836 - Identifier 196837 196846 - FalseKeyword 196847 196872 - ReturnStatement 196874 196900 - Identifier 196890 196899 - FunctionDeclaration 196907 197586 - Identifier 196923 196954 - Parameter 196955 196977 - Identifier 196955 196965 - TypeReference 196966 196977 - Identifier 196966 196977 - Parameter 196978 197004 - Identifier 196978 196995 - BooleanKeyword 196996 197004 - Block 197005 197586 - IfStatement 197007 197126 - CallExpression 197021 197050 - Identifier 197021 197038 - Identifier 197039 197049 - Block 197051 197126 - ReturnStatement 197053 197115 - PropertyAccessExpression 197073 197114 - CallExpression 197073 197107 - Identifier 197073 197095 - Identifier 197096 197106 - Identifier 197108 197114 - IfStatement 197126 197249 - BinaryExpression 197140 197204 - PrefixUnaryExpression 197140 197165 - CallExpression 197141 197165 - Identifier 197141 197153 - Identifier 197154 197164 - AmpersandAmpersandToken 197165 197168 - PrefixUnaryExpression 197168 197204 - CallExpression 197170 197204 - Identifier 197170 197192 - Identifier 197193 197203 - Block 197205 197249 - ReturnStatement 197207 197238 - Identifier 197227 197237 - VariableStatement 197249 197410 - VariableDeclarationList 197249 197409 - VariableDeclaration 197264 197409 - Identifier 197264 197274 - CallExpression 197276 197409 - Identifier 197276 197294 - Identifier 197295 197305 - BinaryExpression 197306 197367 - BinaryExpression 197306 197343 - PropertyAccessExpression 197306 197324 - Identifier 197306 197318 - Identifier 197319 197324 - BarToken 197324 197326 - PropertyAccessExpression 197326 197343 - Identifier 197326 197338 - Identifier 197339 197343 - BarToken 197343 197345 - PropertyAccessExpression 197345 197367 - Identifier 197345 197357 - Identifier 197358 197367 - TrueKeyword 197368 197390 - Identifier 197391 197408 - IfStatement 197410 197478 - Identifier 197424 197433 - Block 197434 197478 - ReturnStatement 197436 197467 - Identifier 197456 197466 - ExpressionStatement 197478 197522 - CallExpression 197478 197521 - Identifier 197478 197509 - Identifier 197510 197520 - ReturnStatement 197522 197579 - PropertyAccessExpression 197538 197578 - CallExpression 197538 197563 - Identifier 197538 197551 - Identifier 197552 197562 - Identifier 197564 197578 - FunctionDeclaration 197586 197992 - Identifier 197602 197630 - Parameter 197631 197653 - Identifier 197631 197635 - TypeReference 197636 197653 - Identifier 197636 197653 - Parameter 197654 197686 - Identifier 197654 197677 - BooleanKeyword 197678 197686 - UnionType 197688 197707 - TypeReference 197688 197695 - Identifier 197688 197695 - UndefinedKeyword 197697 197707 - Block 197707 197992 - IfStatement 197709 197892 - PrefixUnaryExpression 197723 197847 - ParenthesizedExpression 197724 197847 - BinaryExpression 197725 197846 - BinaryExpression 197725 197785 - CallExpression 197725 197756 - Identifier 197725 197743 - PropertyAccessExpression 197744 197755 - Identifier 197744 197748 - Identifier 197749 197755 - AmpersandAmpersandToken 197756 197759 - BinaryExpression 197759 197785 - PropertyAccessExpression 197759 197776 - PropertyAccessExpression 197759 197771 - Identifier 197759 197764 - Identifier 197765 197771 - Identifier 197772 197776 - EqualsEqualsEqualsToken 197776 197780 - Identifier 197780 197785 - AmpersandAmpersandToken 197785 197788 - BinaryExpression 197788 197846 - PropertyAccessExpression 197788 197819 - PropertyAccessExpression 197788 197814 - PropertyAccessExpression 197788 197800 - Identifier 197788 197793 - Identifier 197794 197800 - Identifier 197801 197814 - Identifier 197815 197819 - EqualsEqualsEqualsToken 197819 197823 - PropertyAccessExpression 197823 197846 - Identifier 197823 197834 - Identifier 197835 197846 - Block 197848 197892 - ReturnStatement 197850 197881 - Identifier 197870 197880 - ReturnStatement 197892 197985 - CallExpression 197910 197984 - Identifier 197910 197941 - PropertyAccessExpression 197942 197959 - PropertyAccessExpression 197942 197953 - Identifier 197942 197946 - Identifier 197947 197953 - Identifier 197954 197959 - Identifier 197960 197983 - FunctionDeclaration 197992 200343 - Identifier 198008 198036 - Parameter 198037 198054 - Identifier 198037 198041 - TypeReference 198042 198054 - Identifier 198042 198054 - Parameter 198055 198086 - Identifier 198055 198078 - FalseKeyword 198080 198086 - UnionType 198088 198107 - TypeReference 198088 198095 - Identifier 198088 198095 - UndefinedKeyword 198097 198107 - Block 198107 200343 - SwitchStatement 198109 200336 - PropertyAccessExpression 198127 198136 - Identifier 198127 198131 - Identifier 198132 198136 - CaseBlock 198137 200336 - CaseClause 198139 198193 - PropertyAccessExpression 198157 198192 - Identifier 198157 198168 - Identifier 198169 198192 - CaseClause 198193 198382 - PropertyAccessExpression 198211 198242 - Identifier 198211 198222 - Identifier 198223 198242 - ReturnStatement 198243 198382 - CallExpression 198267 198381 - Identifier 198267 198302 - AsExpression 198303 198356 - Identifier 198303 198307 - UnionType 198310 198356 - TypeReference 198310 198334 - Identifier 198310 198334 - TypeReference 198336 198356 - Identifier 198336 198356 - Identifier 198357 198380 - CaseClause 198382 198520 - PropertyAccessExpression 198400 198424 - Identifier 198400 198411 - Identifier 198412 198424 - ReturnStatement 198425 198520 - CallExpression 198449 198519 - Identifier 198449 198473 - AsExpression 198474 198494 - Identifier 198474 198478 - TypeReference 198481 198494 - Identifier 198481 198494 - Identifier 198495 198518 - CaseClause 198520 198667 - PropertyAccessExpression 198538 198565 - Identifier 198538 198549 - Identifier 198550 198565 - ReturnStatement 198566 198667 - CallExpression 198590 198666 - Identifier 198590 198617 - AsExpression 198618 198641 - Identifier 198618 198622 - TypeReference 198625 198641 - Identifier 198625 198641 - Identifier 198642 198665 - CaseClause 198667 198814 - PropertyAccessExpression 198685 198712 - Identifier 198685 198696 - Identifier 198697 198712 - ReturnStatement 198713 198814 - CallExpression 198737 198813 - Identifier 198737 198764 - AsExpression 198765 198788 - Identifier 198765 198769 - TypeReference 198772 198788 - Identifier 198772 198788 - Identifier 198789 198812 - CaseClause 198814 198860 - PropertyAccessExpression 198832 198859 - Identifier 198832 198843 - Identifier 198844 198859 - CaseClause 198860 199023 - PropertyAccessExpression 198878 198904 - Identifier 198878 198889 - Identifier 198890 198904 - ReturnStatement 198905 199023 - CallExpression 198929 199022 - Identifier 198929 198956 - AsExpression 198957 198997 - Identifier 198957 198961 - UnionType 198964 198997 - TypeReference 198964 198980 - Identifier 198964 198980 - TypeReference 198982 198997 - Identifier 198982 198997 - Identifier 198998 199021 - CaseClause 199023 199232 - PropertyAccessExpression 199041 199068 - Identifier 199041 199052 - Identifier 199053 199068 - ReturnStatement 199069 199232 - CallExpression 199093 199231 - Identifier 199093 199120 - AsExpression 199121 199144 - Identifier 199121 199125 - TypeReference 199128 199144 - Identifier 199128 199144 - BinaryExpression 199145 199206 - BinaryExpression 199145 199182 - PropertyAccessExpression 199145 199163 - Identifier 199145 199157 - Identifier 199158 199163 - BarToken 199163 199165 - PropertyAccessExpression 199165 199182 - Identifier 199165 199177 - Identifier 199178 199182 - BarToken 199182 199184 - PropertyAccessExpression 199184 199206 - Identifier 199184 199196 - Identifier 199197 199206 - Identifier 199207 199230 - CaseClause 199232 199279 - PropertyAccessExpression 199250 199278 - Identifier 199250 199261 - Identifier 199262 199278 - CaseClause 199279 199448 - PropertyAccessExpression 199297 199325 - Identifier 199297 199308 - Identifier 199309 199325 - ReturnStatement 199326 199448 - CallExpression 199350 199447 - Identifier 199350 199378 - AsExpression 199379 199422 - Identifier 199379 199383 - UnionType 199386 199422 - TypeReference 199386 199403 - Identifier 199386 199403 - TypeReference 199405 199422 - Identifier 199405 199422 - Identifier 199423 199446 - CaseClause 199448 199628 - PropertyAccessExpression 199466 199504 - Identifier 199466 199477 - Identifier 199478 199504 - ReturnStatement 199505 199628 - CallExpression 199529 199627 - Identifier 199529 199567 - AsExpression 199568 199602 - Identifier 199568 199572 - TypeReference 199575 199602 - Identifier 199575 199602 - Identifier 199603 199626 - CaseClause 199628 199882 - PropertyAccessExpression 199646 199685 - Identifier 199646 199657 - Identifier 199658 199685 - ReturnStatement 199686 199882 - CallExpression 199710 199881 - Identifier 199710 199728 - PropertyAccessExpression 199729 199771 - ParenthesizedExpression 199729 199766 - AsExpression 199730 199765 - Identifier 199730 199734 - TypeReference 199737 199765 - Identifier 199737 199765 - Identifier 199767 199771 - BinaryExpression 199772 199833 - BinaryExpression 199772 199809 - PropertyAccessExpression 199772 199790 - Identifier 199772 199784 - Identifier 199785 199790 - BarToken 199790 199792 - PropertyAccessExpression 199792 199809 - Identifier 199792 199804 - Identifier 199805 199809 - BarToken 199809 199811 - PropertyAccessExpression 199811 199833 - Identifier 199811 199823 - Identifier 199824 199833 - TrueKeyword 199834 199856 - Identifier 199857 199880 - CaseClause 199882 200053 - PropertyAccessExpression 199900 199930 - Identifier 199900 199911 - Identifier 199912 199930 - ReturnStatement 199931 200053 - CallExpression 199955 200052 - Identifier 199955 199986 - PropertyAccessExpression 199987 200027 - ParenthesizedExpression 199987 200015 - AsExpression 199988 200014 - Identifier 199988 199992 - TypeReference 199995 200014 - Identifier 199995 200014 - Identifier 200016 200027 - Identifier 200028 200051 - CaseClause 200053 200107 - PropertyAccessExpression 200071 200106 - Identifier 200071 200082 - Identifier 200083 200106 - CaseClause 200107 200265 - PropertyAccessExpression 200125 200161 - Identifier 200125 200136 - Identifier 200137 200161 - ReturnStatement 200162 200265 - CallExpression 200186 200264 - Identifier 200186 200214 - AsExpression 200215 200239 - Identifier 200215 200219 - TypeReference 200222 200239 - Identifier 200222 200239 - Identifier 200240 200263 - DefaultClause 200265 200325 - ReturnStatement 200287 200325 - CallExpression 200311 200324 - PropertyAccessExpression 200311 200322 - Identifier 200311 200317 - Identifier 200318 200322 - FunctionDeclaration 200343 200893 - Identifier 200545 200561 - Parameter 200562 200588 - Identifier 200562 200568 - UnionType 200569 200588 - TypeReference 200569 200576 - Identifier 200569 200576 - UndefinedKeyword 200578 200588 - Parameter 200589 200661 - Identifier 200589 200598 - BinaryExpression 200600 200661 - BinaryExpression 200600 200637 - PropertyAccessExpression 200600 200618 - Identifier 200600 200612 - Identifier 200613 200618 - BarToken 200618 200620 - PropertyAccessExpression 200620 200637 - Identifier 200620 200632 - Identifier 200633 200637 - BarToken 200637 200639 - PropertyAccessExpression 200639 200661 - Identifier 200639 200651 - Identifier 200652 200661 - TypePredicate 200663 200680 - Identifier 200663 200670 - TypeReference 200673 200680 - Identifier 200673 200680 - Block 200680 200893 - IfStatement 200682 200718 - PrefixUnaryExpression 200696 200703 - Identifier 200697 200703 - ReturnStatement 200704 200718 - FalseKeyword 200711 200717 - ReturnStatement 200718 200886 - BinaryExpression 200734 200885 - BinaryExpression 200734 200804 - ParenthesizedExpression 200734 200782 - BinaryExpression 200736 200781 - PropertyAccessExpression 200736 200748 - Identifier 200736 200742 - Identifier 200743 200748 - AmpersandToken 200748 200750 - ParenthesizedExpression 200750 200781 - BinaryExpression 200752 200780 - PropertyAccessExpression 200752 200769 - Identifier 200752 200763 - Identifier 200764 200769 - BarToken 200769 200771 - Identifier 200771 200780 - EqualsEqualsEqualsToken 200782 200786 - PropertyAccessExpression 200786 200804 - Identifier 200786 200798 - Identifier 200799 200804 - BarBarToken 200804 200807 - PrefixUnaryExpression 200807 200885 - PrefixUnaryExpression 200809 200885 - ParenthesizedExpression 200810 200885 - BinaryExpression 200811 200884 - BinaryExpression 200811 200843 - PropertyAccessExpression 200811 200823 - Identifier 200811 200817 - Identifier 200818 200823 - AmpersandToken 200823 200825 - PropertyAccessExpression 200825 200843 - Identifier 200825 200837 - Identifier 200838 200843 - AmpersandAmpersandToken 200843 200846 - BinaryExpression 200846 200884 - PropertyAccessExpression 200846 200859 - Identifier 200846 200853 - Identifier 200854 200859 - AmpersandToken 200859 200861 - PropertyAccessExpression 200861 200884 - Identifier 200861 200873 - Identifier 200874 200884 - FunctionDeclaration 200893 200976 - Identifier 200909 200923 - Parameter 200924 200938 - Identifier 200924 200930 - TypeReference 200931 200938 - Identifier 200931 200938 - Parameter 200939 200966 - Identifier 200939 200956 - QuestionToken 200956 200957 - BooleanKeyword 200958 200966 - TypeReference 200968 200975 - Identifier 200968 200975 - FunctionDeclaration 200976 201081 - Identifier 200990 201004 - Parameter 201005 201031 - Identifier 201005 201011 - UnionType 201012 201031 - TypeReference 201012 201019 - Identifier 201012 201019 - UndefinedKeyword 201021 201031 - Parameter 201032 201059 - Identifier 201032 201049 - QuestionToken 201049 201050 - BooleanKeyword 201051 201059 - UnionType 201061 201080 - TypeReference 201061 201068 - Identifier 201061 201068 - UndefinedKeyword 201070 201080 - FunctionDeclaration 201081 201288 - Identifier 201095 201109 - Parameter 201110 201136 - Identifier 201110 201116 - UnionType 201117 201136 - TypeReference 201117 201124 - Identifier 201117 201124 - UndefinedKeyword 201126 201136 - Parameter 201137 201164 - Identifier 201137 201154 - QuestionToken 201154 201155 - BooleanKeyword 201156 201164 - UnionType 201166 201185 - TypeReference 201166 201173 - Identifier 201166 201173 - UndefinedKeyword 201175 201185 - Block 201185 201288 - ReturnStatement 201187 201281 - ConditionalExpression 201203 201280 - BinaryExpression 201203 201248 - PrefixUnaryExpression 201203 201221 - Identifier 201205 201221 - AmpersandAmpersandToken 201221 201224 - CallExpression 201224 201248 - Identifier 201224 201240 - Identifier 201241 201247 - QuestionToken 201248 201250 - CallExpression 201250 201271 - Identifier 201250 201263 - Identifier 201264 201270 - ColonToken 201271 201273 - Identifier 201273 201280 - FunctionDeclaration 201288 202188 - Identifier 201304 201317 - Parameter 201318 201332 - Identifier 201318 201324 - TypeReference 201325 201332 - Identifier 201325 201332 - TypeReference 201334 201341 - Identifier 201334 201341 - Block 201341 202188 - ExpressionStatement 201343 201439 - CallExpression 201343 201438 - PropertyAccessExpression 201343 201365 - Identifier 201343 201358 - Identifier 201359 201365 - BinaryExpression 201366 201406 - ParenthesizedExpression 201366 201400 - BinaryExpression 201367 201399 - PropertyAccessExpression 201367 201379 - Identifier 201367 201373 - Identifier 201374 201379 - AmpersandToken 201379 201381 - PropertyAccessExpression 201381 201399 - Identifier 201381 201393 - Identifier 201394 201399 - ExclamationEqualsEqualsToken 201400 201404 - NumericLiteral 201404 201406 - StringLiteral 201407 201437 - VariableStatement 201439 201486 - VariableDeclarationList 201439 201485 - VariableDeclaration 201454 201485 - Identifier 201454 201460 - CallExpression 201462 201485 - Identifier 201462 201477 - Identifier 201478 201484 - IfStatement 201486 202146 - PrefixUnaryExpression 201500 201518 - PropertyAccessExpression 201501 201518 - Identifier 201501 201506 - Identifier 201507 201518 - Block 201519 202028 - ExpressionStatement 201521 201571 - BinaryExpression 201521 201570 - PropertyAccessExpression 201521 201552 - Identifier 201521 201540 - Identifier 201541 201552 - EqualsToken 201552 201554 - Identifier 201554 201570 - VariableStatement 201571 201634 - VariableDeclarationList 201571 201633 - VariableDeclaration 201590 201633 - Identifier 201590 201595 - CallExpression 201597 201633 - Identifier 201597 201625 - Identifier 201626 201632 - IfStatement 201634 201679 - PrefixUnaryExpression 201652 201657 - Identifier 201653 201657 - ReturnStatement 201658 201679 - CallExpression 201665 201678 - PropertyAccessExpression 201665 201676 - Identifier 201665 201671 - Identifier 201672 201676 - VariableStatement 201679 201742 - VariableDeclarationList 201679 201741 - VariableDeclaration 201698 201741 - Identifier 201698 201705 - CallExpression 201707 201741 - Identifier 201707 201735 - Identifier 201736 201740 - IfStatement 201742 202017 - BinaryExpression 201760 201797 - PropertyAccessExpression 201760 201777 - Identifier 201760 201765 - Identifier 201766 201777 - EqualsEqualsEqualsToken 201777 201781 - Identifier 201781 201797 - Block 201798 201877 - ExpressionStatement 201800 201862 - BinaryExpression 201800 201861 - PropertyAccessExpression 201800 201835 - Identifier 201800 201823 - Identifier 201824 201835 - EqualsToken 201835 201837 - BinaryExpression 201837 201861 - Identifier 201837 201844 - BarBarToken 201844 201847 - Identifier 201847 201861 - Block 201895 202017 - ExpressionStatement 201897 202002 - CallExpression 201897 202001 - Identifier 201897 201920 - Identifier 201921 201925 - PropertyAccessExpression 201926 201976 - Identifier 201926 201938 - Identifier 201939 201976 - CallExpression 201977 202000 - Identifier 201977 201992 - Identifier 201993 201999 - IfStatement 202042 202146 - BinaryExpression 202047 202084 - PropertyAccessExpression 202047 202064 - Identifier 202047 202052 - Identifier 202053 202064 - EqualsEqualsEqualsToken 202064 202068 - Identifier 202068 202084 - Block 202085 202146 - ExpressionStatement 202087 202135 - BinaryExpression 202087 202134 - PropertyAccessExpression 202087 202118 - Identifier 202087 202106 - Identifier 202107 202118 - EqualsToken 202118 202120 - Identifier 202120 202134 - ReturnStatement 202146 202181 - PropertyAccessExpression 202162 202180 - Identifier 202162 202168 - Identifier 202169 202180 - FunctionDeclaration 202188 202448 - Identifier 202204 202220 - Parameter 202221 202235 - Identifier 202221 202227 - TypeReference 202228 202235 - Identifier 202228 202235 - UnionType 202237 202256 - TypeReference 202237 202244 - Identifier 202237 202244 - UndefinedKeyword 202246 202256 - Block 202256 202448 - VariableStatement 202258 202305 - VariableDeclarationList 202258 202304 - VariableDeclaration 202273 202304 - Identifier 202273 202279 - CallExpression 202281 202304 - Identifier 202281 202296 - Identifier 202297 202303 - IfStatement 202305 202412 - BinaryExpression 202319 202356 - PropertyAccessExpression 202319 202336 - Identifier 202319 202324 - Identifier 202325 202336 - ExclamationEqualsEqualsToken 202336 202340 - Identifier 202340 202356 - Block 202357 202412 - ReturnStatement 202359 202401 - CallExpression 202379 202400 - Identifier 202379 202392 - Identifier 202393 202399 - ReturnStatement 202412 202441 - Identifier 202430 202440 - FunctionDeclaration 202448 205411 - Identifier 203430 203445 - Parameter 203446 203460 - Identifier 203446 203452 - TypeReference 203453 203460 - Identifier 203453 203460 - Parameter 203461 203495 - Identifier 203461 203485 - QuestionToken 203485 203486 - BooleanKeyword 203487 203495 - Parameter 203496 203527 - Identifier 203496 203517 - QuestionToken 203517 203518 - BooleanKeyword 203519 203527 - TypeReference 203529 203541 - Identifier 203529 203541 - Block 203541 205411 - VariableStatement 203543 203644 - VariableDeclarationList 203543 203643 - VariableDeclaration 203558 203643 - Identifier 203558 203578 - BinaryExpression 203580 203643 - Identifier 203580 203604 - AmpersandAmpersandToken 203604 203607 - CallExpression 203607 203643 - Identifier 203607 203635 - Identifier 203636 203642 - VariableStatement 203644 203758 - VariableDeclarationList 203644 203757 - VariableDeclaration 203659 203757 - Identifier 203659 203691 - BinaryExpression 203693 203757 - Identifier 203693 203713 - AmpersandAmpersandToken 203713 203716 - CallExpression 203716 203757 - Identifier 203716 203736 - Identifier 203737 203756 - VariableStatement 203758 204078 - VariableDeclarationList 203758 204077 - VariableDeclaration 203773 204077 - Identifier 203773 203792 - BinaryExpression 203794 204077 - Identifier 203794 203814 - AmpersandAmpersandToken 203814 203817 - ParenthesizedExpression 203817 204077 - ConditionalExpression 203819 204066 - Identifier 203819 203864 - QuestionToken 203864 203883 - CallExpression 203883 204006 - Identifier 203883 203909 - PropertyAccessExpression 203910 203945 - Identifier 203910 203929 - Identifier 203930 203945 - PropertyAccessExpression 203946 203982 - Identifier 203946 203966 - Identifier 203967 203982 - TrueKeyword 203983 204005 - ColonToken 204006 204025 - CallExpression 204025 204066 - Identifier 204025 204038 - PropertyAccessExpression 204039 204065 - Identifier 204039 204058 - Identifier 204059 204065 - VariableStatement 204078 204229 - VariableDeclarationList 204078 204228 - VariableDeclaration 204093 204228 - Identifier 204093 204119 - ConditionalExpression 204121 204228 - BinaryExpression 204121 204175 - Identifier 204121 204153 - AmpersandAmpersandToken 204153 204156 - Identifier 204156 204175 - QuestionToken 204175 204177 - CallExpression 204177 204216 - Identifier 204177 204196 - Identifier 204197 204215 - ColonToken 204216 204218 - Identifier 204218 204228 - VariableStatement 204229 204306 - VariableDeclarationList 204229 204305 - VariableDeclaration 204242 204305 - Identifier 204242 204248 - ConditionalExpression 204250 204305 - Identifier 204250 204271 - QuestionToken 204271 204273 - PropertyAccessExpression 204273 204290 - Identifier 204273 204285 - Identifier 204286 204290 - ColonToken 204290 204292 - PropertyAccessExpression 204292 204305 - Identifier 204292 204299 - Identifier 204300 204305 - VariableStatement 204306 204332 - VariableDeclarationList 204306 204331 - VariableDeclaration 204319 204331 - Identifier 204319 204331 - WhileStatement 204332 205381 - BinaryExpression 204349 204381 - PropertyAccessExpression 204349 204361 - Identifier 204349 204355 - Identifier 204356 204361 - AmpersandToken 204361 204363 - PropertyAccessExpression 204363 204381 - Identifier 204363 204375 - Identifier 204376 204381 - Block 204382 205381 - VariableStatement 204384 204474 - VariableDeclarationList 204384 204473 - VariableDeclaration 204403 204473 - Identifier 204403 204410 - CallExpression 204412 204473 - Identifier 204412 204451 - CallExpression 204452 204472 - Identifier 204452 204464 - Identifier 204465 204471 - IfStatement 204474 204713 - BinaryExpression 204492 204657 - BinaryExpression 204492 204575 - PrefixUnaryExpression 204492 204542 - Identifier 204511 204542 - AmpersandAmpersandToken 204542 204545 - BinaryExpression 204545 204575 - Identifier 204545 204552 - EqualsEqualsEqualsToken 204552 204556 - Identifier 204556 204575 - BarBarToken 204575 204578 - BinaryExpression 204578 204657 - CallExpression 204578 204646 - PropertyAccessExpression 204578 204626 - Identifier 204578 204621 - QuestionDotToken 204621 204623 - Identifier 204623 204626 - PropertyAccessExpression 204627 204645 - Identifier 204627 204633 - Identifier 204634 204645 - EqualsEqualsEqualsToken 204646 204650 - Identifier 204650 204657 - Block 204672 204713 - BreakStatement 204674 204698 - IfStatement 204713 204814 - BinaryExpression 204731 204755 - Identifier 204731 204737 - EqualsEqualsEqualsToken 204737 204741 - Identifier 204741 204755 - Block 204756 204814 - ReturnStatement 204758 204799 - PropertyAccessExpression 204782 204798 - Identifier 204782 204794 - Identifier 204795 204798 - IfStatement 204814 205030 - BinaryExpression 204943 204988 - BinaryExpression 204943 204960 - Identifier 204943 204949 - EqualsEqualsEqualsToken 204949 204953 - Identifier 204953 204960 - BarBarToken 204960 204963 - CallExpression 204963 204988 - PropertyAccessExpression 204963 204980 - Identifier 204963 204975 - QuestionDotToken 204975 204977 - Identifier 204977 204980 - Identifier 204981 204987 - Block 204989 205030 - BreakStatement 204991 205015 - IfStatement 205030 205304 - BinaryExpression 205048 205080 - PropertyAccessExpression 205048 205060 - Identifier 205048 205054 - Identifier 205055 205060 - AmpersandToken 205060 205062 - PropertyAccessExpression 205062 205080 - Identifier 205062 205074 - Identifier 205075 205080 - Block 205081 205304 - IfStatement 205083 205289 - Identifier 205105 205116 - Block 205117 205184 - ExpressionStatement 205119 205165 - CallExpression 205119 205164 - PropertyAccessExpression 205119 205156 - Identifier 205119 205152 - Identifier 205153 205156 - Identifier 205157 205163 - Block 205206 205289 - ExpressionStatement 205208 205270 - BinaryExpression 205208 205269 - Identifier 205208 205241 - EqualsToken 205241 205243 - NewExpression 205243 205269 - Identifier 205247 205251 - ArrayLiteralExpression 205252 205268 - Identifier 205253 205259 - Identifier 205260 205267 - ExpressionStatement 205304 205340 - BinaryExpression 205304 205339 - Identifier 205304 205323 - BarEqualsToken 205323 205326 - PropertyAccessExpression 205326 205339 - Identifier 205326 205333 - Identifier 205334 205339 - ExpressionStatement 205340 205370 - BinaryExpression 205340 205369 - Identifier 205340 205360 - EqualsToken 205360 205362 - Identifier 205362 205369 - ReturnStatement 205381 205404 - Identifier 205397 205403 - FunctionDeclaration 205411 208447 - Identifier 206943 206982 - Parameter 206983 207034 - Identifier 206983 207009 - UnionType 207010 207034 - TypeReference 207010 207022 - Identifier 207010 207022 - UndefinedKeyword 207024 207034 - Parameter 207035 207080 - Identifier 207035 207060 - UnionType 207061 207080 - TypeReference 207061 207068 - Identifier 207061 207068 - UndefinedKeyword 207070 207080 - Parameter 207081 207122 - Identifier 207081 207102 - UnionType 207103 207122 - TypeReference 207103 207110 - Identifier 207103 207110 - UndefinedKeyword 207112 207122 - Parameter 207123 207156 - Identifier 207123 207147 - BooleanKeyword 207148 207156 - Parameter 207157 207279 - Identifier 207157 207188 - QuestionToken 207188 207189 - IntersectionType 207190 207279 - TypeReference 207190 207208 - Identifier 207190 207208 - TypeLiteral 207210 207279 - PropertySignature 207212 207239 - ReadonlyKeyword 207212 207221 - Identifier 207221 207232 - LiteralType 207233 207238 - TrueKeyword 207233 207238 - PropertySignature 207239 207277 - ReadonlyKeyword 207239 207248 - Identifier 207248 207264 - TypeReference 207265 207276 - Identifier 207265 207276 - Parameter 207280 207315 - Identifier 207280 207304 - QuestionToken 207304 207305 - TypeReference 207306 207315 - Identifier 207306 207315 - BooleanKeyword 207324 207332 - Block 207332 208447 - IfStatement 207334 207428 - BinaryExpression 207348 207413 - PrefixUnaryExpression 207348 207365 - Identifier 207349 207365 - BarBarToken 207365 207368 - CallExpression 207368 207413 - Identifier 207368 207395 - Identifier 207396 207412 - ReturnStatement 207414 207428 - FalseKeyword 207421 207427 - VariableStatement 207428 207624 - VariableDeclarationList 207428 207623 - VariableDeclaration 207567 207623 - Identifier 207567 207580 - CallExpression 207582 207623 - Identifier 207582 207605 - Identifier 207606 207622 - IfStatement 207624 207847 - CallExpression 207638 207691 - Identifier 207638 207673 - Identifier 207674 207690 - Block 207692 207847 - VariableStatement 207694 207751 - VariableDeclarationList 207694 207750 - VariableDeclaration 207713 207750 - Identifier 207713 207719 - CallExpression 207721 207750 - Identifier 207721 207736 - Identifier 207737 207749 - ExpressionStatement 207751 207810 - BinaryExpression 207751 207809 - PropertyAccessExpression 207751 207790 - Identifier 207751 207770 - Identifier 207771 207790 - EqualsToken 207790 207792 - Identifier 207792 207809 - ReturnStatement 207810 207836 - TrueKeyword 207830 207835 - IfStatement 207847 208186 - Identifier 207861 207882 - Block 207883 208186 - VariableStatement 207885 207942 - VariableDeclarationList 207885 207941 - VariableDeclaration 207904 207941 - Identifier 207904 207910 - CallExpression 207912 207941 - Identifier 207912 207927 - Identifier 207928 207940 - ExpressionStatement 207942 208006 - BinaryExpression 207942 208005 - PropertyAccessExpression 207942 207981 - Identifier 207942 207961 - Identifier 207962 207981 - EqualsToken 207981 207983 - Identifier 207983 208005 - IfStatement 208006 208149 - BinaryExpression 208024 208067 - PropertyAccessExpression 208024 208048 - Identifier 208024 208036 - Identifier 208037 208048 - ExclamationEqualsEqualsToken 208048 208052 - Identifier 208052 208067 - Block 208068 208149 - ExpressionStatement 208070 208134 - BinaryExpression 208070 208133 - PropertyAccessExpression 208070 208116 - Identifier 208070 208093 - Identifier 208094 208116 - EqualsToken 208116 208118 - Identifier 208118 208133 - ReturnStatement 208149 208175 - TrueKeyword 208169 208174 - VariableStatement 208186 208241 - VariableDeclarationList 208186 208240 - VariableDeclaration 208203 208240 - Identifier 208203 208209 - CallExpression 208211 208240 - Identifier 208211 208226 - Identifier 208227 208239 - ReturnStatement 208241 208440 - BinaryExpression 208257 208439 - CallExpression 208257 208342 - Identifier 208257 208302 - Identifier 208303 208308 - Identifier 208309 208325 - Identifier 208326 208341 - BarBarToken 208342 208358 - CallExpression 208358 208439 - Identifier 208358 208403 - Identifier 208404 208409 - Identifier 208410 208422 - Identifier 208423 208438 - FunctionDeclaration 208447 209199 - Identifier 208463 208508 - Parameter 208509 208543 - Identifier 208509 208530 - TypeReference 208531 208543 - Identifier 208531 208543 - Parameter 208544 208571 - Identifier 208544 208551 - UnionType 208552 208571 - TypeReference 208552 208559 - Identifier 208552 208559 - UndefinedKeyword 208561 208571 - Parameter 208572 208596 - Identifier 208572 208587 - BooleanKeyword 208588 208596 - BooleanKeyword 208598 208606 - Block 208606 209199 - IfStatement 208608 209131 - BinaryExpression 208622 208762 - Identifier 208622 208628 - AmpersandAmpersandToken 208628 208631 - ParenthesizedExpression 208631 208762 - BinaryExpression 208633 208761 - BinaryExpression 208633 208688 - PropertyAccessExpression 208633 208674 - Identifier 208633 208654 - Identifier 208655 208674 - EqualsEqualsEqualsToken 208674 208678 - Identifier 208678 208688 - BarBarToken 208688 208691 - BinaryExpression 208691 208761 - Identifier 208691 208706 - AmpersandAmpersandToken 208706 208709 - BinaryExpression 208709 208761 - PropertyAccessExpression 208709 208751 - Identifier 208709 208731 - Identifier 208732 208751 - EqualsEqualsEqualsToken 208751 208755 - FalseKeyword 208755 208761 - Block 208763 209131 - VariableStatement 208765 208863 - VariableDeclarationList 208765 208862 - VariableDeclaration 208784 208862 - Identifier 208784 208797 - BinaryExpression 208799 208862 - CallExpression 208799 208852 - PropertyAccessExpression 208799 208819 - PropertyAccessExpression 208799 208814 - Identifier 208799 208806 - Identifier 208807 208814 - QuestionDotToken 208814 208816 - Identifier 208816 208819 - PropertyAccessExpression 208820 208851 - Identifier 208820 208838 - Identifier 208839 208851 - QuestionQuestionToken 208852 208855 - Identifier 208855 208862 - VariableStatement 208863 208992 - VariableDeclarationList 208863 208991 - VariableDeclaration 208882 208991 - Identifier 208882 208891 - BinaryExpression 208893 208991 - PropertyAccessExpression 208893 208919 - Identifier 208893 208906 - Identifier 208907 208919 - AmpersandAmpersandToken 208919 208922 - CallExpression 208922 208991 - Identifier 208922 208927 - PropertyAccessExpression 208928 208953 - Identifier 208928 208940 - Identifier 208941 208953 - Identifier 208954 208990 - ExpressionStatement 208992 209120 - BinaryExpression 208992 209119 - PropertyAccessExpression 208992 209047 - Identifier 208992 209027 - Identifier 209028 209047 - EqualsToken 209047 209049 - BinaryExpression 209049 209119 - BinaryExpression 209049 209110 - Identifier 209049 209058 - QuestionQuestionToken 209058 209061 - PropertyAccessExpression 209061 209110 - CallExpression 209061 209090 - Identifier 209061 209076 - Identifier 209077 209089 - Identifier 209091 209110 - QuestionQuestionToken 209110 209113 - FalseKeyword 209113 209119 - ReturnStatement 209131 209192 - PrefixUnaryExpression 209147 209191 - PrefixUnaryExpression 209149 209191 - PropertyAccessExpression 209150 209191 - Identifier 209150 209171 - Identifier 209172 209191 - FunctionDeclaration 209199 211000 - Identifier 209316 209344 - Parameter 209345 209359 - Identifier 209345 209351 - TypeReference 209352 209359 - Identifier 209352 209359 - Parameter 209360 209382 - Identifier 209360 209368 - QuestionToken 209368 209369 - TypeReference 209370 209382 - Identifier 209370 209382 - UnionType 209384 209421 - TypeReference 209384 209409 - Identifier 209384 209409 - UndefinedKeyword 209411 209421 - Block 209421 211000 - IfStatement 209423 209517 - PrefixUnaryExpression 209437 209472 - ParenthesizedExpression 209438 209472 - BinaryExpression 209439 209471 - PropertyAccessExpression 209439 209451 - Identifier 209439 209445 - Identifier 209446 209451 - AmpersandToken 209451 209453 - PropertyAccessExpression 209453 209471 - Identifier 209453 209465 - Identifier 209466 209471 - Block 209473 209517 - ReturnStatement 209475 209506 - Identifier 209495 209505 - VariableStatement 209517 209564 - VariableDeclarationList 209517 209563 - VariableDeclaration 209532 209563 - Identifier 209532 209538 - CallExpression 209540 209563 - Identifier 209540 209555 - Identifier 209556 209562 - IfStatement 209564 210395 - BinaryExpression 209578 209617 - PropertyAccessExpression 209578 209603 - Identifier 209578 209583 - Identifier 209584 209603 - EqualsEqualsEqualsToken 209603 209607 - Identifier 209607 209617 - Block 209618 210395 - ExpressionStatement 209620 209814 - BinaryExpression 209620 209813 - PropertyAccessExpression 209620 209805 - Identifier 209620 209785 - Identifier 209786 209805 - EqualsToken 209805 209807 - FalseKeyword 209807 209813 - VariableStatement 209814 209867 - VariableDeclarationList 209814 209866 - VariableDeclaration 209833 209866 - Identifier 209833 209842 - CallExpression 209844 209866 - Identifier 209844 209858 - Identifier 209859 209865 - ExpressionStatement 209867 210384 - CallExpression 209867 210383 - Identifier 209867 210248 - ElementAccessExpression 210249 210273 - PropertyAccessExpression 210249 210268 - Identifier 210249 210255 - Identifier 210256 210268 - QuestionDotToken 210268 210270 - NumericLiteral 210271 210272 - BinaryExpression 210274 210347 - CallExpression 210274 210310 - Identifier 210274 210302 - Identifier 210303 210309 - AmpersandAmpersandToken 210310 210313 - CallExpression 210313 210347 - Identifier 210313 210339 - Identifier 210340 210346 - Identifier 210348 210357 - TrueKeyword 210358 210382 - IfStatement 210395 210504 - BinaryExpression 210409 210430 - Identifier 210409 210416 - EqualsEqualsEqualsToken 210416 210420 - Identifier 210420 210430 - Block 210431 210504 - ReturnStatement 210433 210493 - BinaryExpression 210453 210492 - PropertyAccessExpression 210453 210479 - Identifier 210453 210459 - Identifier 210460 210479 - BarBarToken 210479 210482 - Identifier 210482 210492 - IfStatement 210504 210966 - PropertyAccessExpression 210518 210543 - Identifier 210518 210523 - Identifier 210524 210543 - Block 210544 210966 - VariableStatement 210546 210859 - VariableDeclarationList 210546 210858 - VariableDeclaration 210565 210858 - Identifier 210565 210574 - ConditionalExpression 210576 210858 - BinaryExpression 210576 210640 - PropertyAccessExpression 210576 210607 - PropertyAccessExpression 210576 210602 - Identifier 210576 210582 - Identifier 210583 210602 - Identifier 210603 210607 - EqualsEqualsEqualsToken 210607 210611 - PropertyAccessExpression 210611 210640 - Identifier 210611 210622 - Identifier 210623 210640 - QuestionToken 210640 210659 - NonNullExpression 210659 210792 - CallExpression 210659 210791 - Identifier 210659 210673 - CallExpression 210674 210790 - PropertyAccessExpression 210674 210738 - CallExpression 210674 210734 - Identifier 210674 210692 - NonNullExpression 210693 210733 - PropertyAccessExpression 210693 210732 - PropertyAccessExpression 210693 210725 - PropertyAccessExpression 210693 210718 - Identifier 210693 210698 - Identifier 210699 210718 - Identifier 210719 210725 - Identifier 210726 210732 - Identifier 210735 210738 - BinaryExpression 210739 210789 - PropertyAccessExpression 210739 210767 - Identifier 210739 210744 - Identifier 210745 210767 - BarBarToken 210767 210770 - PropertyAccessExpression 210770 210789 - Identifier 210770 210777 - Identifier 210778 210789 - ColonToken 210792 210811 - CallExpression 210811 210858 - Identifier 210811 210824 - PropertyAccessExpression 210825 210857 - PropertyAccessExpression 210825 210850 - Identifier 210825 210830 - Identifier 210831 210850 - Identifier 210851 210857 - ReturnStatement 210859 210955 - ConditionalExpression 210879 210954 - BinaryExpression 210879 210914 - CallExpression 210879 210904 - Identifier 210879 210894 - Identifier 210895 210903 - AmpersandToken 210904 210906 - Identifier 210906 210914 - QuestionToken 210914 210916 - PropertyAccessExpression 210916 210942 - Identifier 210916 210922 - Identifier 210923 210942 - ColonToken 210942 210944 - Identifier 210944 210954 - ReturnStatement 210966 210993 - Identifier 210982 210992 - FunctionDeclaration 211000 212384 - Identifier 211076 211121 - Parameter 211122 211144 - Identifier 211122 211132 - TypeReference 211133 211144 - Identifier 211133 211144 - Parameter 211145 211172 - Identifier 211145 211162 - QuestionToken 211162 211163 - BooleanKeyword 211164 211172 - UnionType 211174 211193 - TypeReference 211174 211181 - Identifier 211174 211181 - UndefinedKeyword 211183 211193 - Block 211193 212384 - IfStatement 211195 211688 - BinaryExpression 211513 211612 - BinaryExpression 211513 211554 - PropertyAccessExpression 211513 211528 - Identifier 211513 211523 - Identifier 211524 211528 - EqualsEqualsEqualsToken 211528 211532 - PropertyAccessExpression 211532 211554 - Identifier 211532 211543 - Identifier 211544 211554 - AmpersandAmpersandToken 211554 211557 - CallExpression 211557 211612 - Identifier 211557 211600 - Identifier 211601 211611 - Block 211613 211688 - ExpressionStatement 211615 211677 - BinaryExpression 211615 211676 - Identifier 211615 211639 - EqualsToken 211639 211641 - AsExpression 211641 211676 - PropertyAccessExpression 211641 211659 - Identifier 211641 211652 - Identifier 211653 211659 - TypeReference 211662 211676 - Identifier 211662 211676 - IfStatement 211688 212377 - BinaryExpression 211758 211854 - BinaryExpression 211758 211799 - PropertyAccessExpression 211758 211773 - Identifier 211758 211768 - Identifier 211769 211773 - EqualsEqualsEqualsToken 211773 211777 - PropertyAccessExpression 211777 211799 - Identifier 211777 211788 - Identifier 211789 211799 - BarBarToken 211799 211802 - BinaryExpression 211802 211854 - PropertyAccessExpression 211802 211825 - PropertyAccessExpression 211802 211820 - Identifier 211802 211813 - Identifier 211814 211820 - Identifier 211821 211825 - EqualsEqualsEqualsToken 211825 211829 - PropertyAccessExpression 211829 211854 - Identifier 211829 211840 - Identifier 211841 211854 - Block 211855 211984 - ReturnStatement 211857 211973 - CallExpression 211877 211972 - Identifier 211877 211895 - Identifier 211896 211906 - PropertyAccessExpression 211907 211929 - Identifier 211907 211919 - Identifier 211920 211929 - FalseKeyword 211930 211953 - Identifier 211954 211971 - Block 211998 212377 - ExpressionStatement 212000 212211 - CallExpression 212000 212210 - PropertyAccessExpression 212000 212147 - Identifier 212000 212140 - Identifier 212141 212147 - BinaryExpression 212148 212209 - PropertyAccessExpression 212148 212170 - PropertyAccessExpression 212148 212165 - Identifier 212148 212158 - Identifier 212159 212165 - Identifier 212166 212170 - EqualsEqualsEqualsToken 212170 212174 - PropertyAccessExpression 212174 212209 - Identifier 212174 212185 - Identifier 212186 212209 - ReturnStatement 212211 212366 - CallExpression 212231 212365 - Identifier 212231 212249 - Identifier 212250 212260 - BinaryExpression 212261 212322 - BinaryExpression 212261 212298 - PropertyAccessExpression 212261 212279 - Identifier 212261 212273 - Identifier 212274 212279 - BarToken 212279 212281 - PropertyAccessExpression 212281 212298 - Identifier 212281 212293 - Identifier 212294 212298 - BarToken 212298 212300 - PropertyAccessExpression 212300 212322 - Identifier 212300 212312 - Identifier 212313 212322 - FalseKeyword 212323 212346 - Identifier 212347 212364 - FunctionDeclaration 212384 212751 - Identifier 212400 212422 - Parameter 212423 212437 - Identifier 212423 212429 - TypeReference 212430 212437 - Identifier 212430 212437 - Parameter 212438 212464 - Identifier 212438 212457 - QuestionToken 212457 212458 - TypeReference 212459 212464 - Identifier 212459 212464 - StringKeyword 212466 212473 - Block 212473 212751 - ReturnStatement 212475 212744 - ConditionalExpression 212491 212743 - PropertyAccessExpression 212491 212505 - Identifier 212491 212498 - Identifier 212499 212505 - QuestionToken 212505 212507 - BinaryExpression 212507 212595 - BinaryExpression 212507 212570 - CallExpression 212507 212564 - Identifier 212507 212529 - PropertyAccessExpression 212530 212543 - Identifier 212530 212536 - Identifier 212537 212543 - Identifier 212544 212563 - PlusToken 212564 212566 - StringLiteral 212566 212570 - PlusToken 212570 212572 - CallExpression 212572 212595 - Identifier 212572 212587 - Identifier 212588 212594 - ColonToken 212595 212597 - CallExpression 212597 212743 - Identifier 212597 212612 - Identifier 212613 212619 - Identifier 212620 212639 - Identifier 212640 212662 - BinaryExpression 212663 212742 - PropertyAccessExpression 212663 212705 - Identifier 212663 212681 - Identifier 212682 212705 - BarToken 212705 212707 - PropertyAccessExpression 212707 212742 - Identifier 212707 212725 - Identifier 212726 212742 - FunctionDeclaration 212751 212942 - Identifier 212767 212798 - Parameter 212799 212818 - Identifier 212799 212803 - TypeReference 212804 212818 - Identifier 212804 212818 - Block 212819 212942 - WhileStatement 212821 212913 - CallExpression 212838 212866 - Identifier 212838 212853 - PropertyAccessExpression 212854 212865 - Identifier 212854 212858 - Identifier 212859 212865 - Block 212867 212913 - ExpressionStatement 212869 212902 - BinaryExpression 212869 212901 - Identifier 212869 212887 - EqualsToken 212887 212889 - PropertyAccessExpression 212889 212901 - Identifier 212889 212894 - Identifier 212895 212901 - ReturnStatement 212913 212935 - Identifier 212929 212934 - FunctionDeclaration 212942 213595 - Identifier 212958 212985 - Parameter 212986 213005 - Identifier 212986 212990 - TypeReference 212991 213005 - Identifier 212991 213005 - Block 213006 213595 - VariableStatement 213008 213082 - VariableDeclarationList 213008 213081 - VariableDeclaration 213021 213081 - Identifier 213021 213026 - UnionType 213027 213054 - TypeReference 213027 213038 - Identifier 213027 213038 - TypeReference 213040 213054 - Identifier 213040 213054 - CallExpression 213056 213081 - Identifier 213056 213075 - Identifier 213076 213080 - VariableStatement 213082 213199 - VariableDeclarationList 213082 213198 - VariableDeclaration 213095 213198 - Identifier 213095 213102 - CallExpression 213104 213198 - Identifier 213104 213116 - Identifier 213117 213121 - Identifier 213122 213127 - PropertyAccessExpression 213128 213146 - Identifier 213128 213140 - Identifier 213141 213146 - Identifier 213147 213181 - TrueKeyword 213182 213197 - IfStatement 213199 213265 - PrefixUnaryExpression 213213 213220 - Identifier 213214 213220 - Block 213221 213265 - ReturnStatement 213223 213254 - Identifier 213243 213253 - WhileStatement 213265 213564 - CallExpression 213282 213310 - Identifier 213282 213297 - PropertyAccessExpression 213298 213309 - Identifier 213298 213302 - Identifier 213303 213309 - Block 213311 213564 - VariableStatement 213313 213364 - VariableDeclarationList 213313 213363 - VariableDeclaration 213332 213363 - Identifier 213332 213337 - CallExpression 213339 213363 - Identifier 213339 213355 - Identifier 213356 213362 - ExpressionStatement 213364 213442 - BinaryExpression 213364 213441 - Identifier 213364 213384 - EqualsToken 213384 213386 - CallExpression 213386 213441 - Identifier 213386 213404 - Identifier 213405 213409 - PropertyAccessExpression 213410 213440 - PropertyAccessExpression 213410 213428 - PropertyAccessExpression 213410 213422 - Identifier 213410 213415 - Identifier 213416 213422 - Identifier 213423 213428 - Identifier 213429 213440 - IfStatement 213442 213520 - PrefixUnaryExpression 213460 213467 - Identifier 213461 213467 - Block 213468 213520 - ReturnStatement 213470 213505 - Identifier 213494 213504 - ExpressionStatement 213520 213553 - BinaryExpression 213520 213552 - Identifier 213520 213538 - EqualsToken 213538 213540 - PropertyAccessExpression 213540 213552 - Identifier 213540 213545 - Identifier 213546 213552 - ReturnStatement 213564 213588 - Identifier 213580 213587 - FunctionDeclaration 213595 219922 - Identifier 213689 213707 - Parameter 213708 213746 - Identifier 213708 213712 - TypeReference 213713 213746 - Identifier 213713 213746 - Parameter 213747 213768 - Identifier 213747 213755 - TypeReference 213756 213768 - Identifier 213756 213768 - Parameter 213769 213792 - Identifier 213769 213782 - QuestionToken 213782 213783 - BooleanKeyword 213784 213792 - Parameter 213793 213820 - Identifier 213793 213810 - QuestionToken 213810 213811 - BooleanKeyword 213812 213820 - Parameter 213821 213837 - Identifier 213821 213830 - QuestionToken 213830 213831 - TypeReference 213832 213837 - Identifier 213832 213837 - UnionType 213839 213858 - TypeReference 213839 213846 - Identifier 213839 213846 - UndefinedKeyword 213848 213858 - Block 213858 219922 - IfStatement 213860 213938 - CallExpression 213874 213893 - Identifier 213874 213887 - Identifier 213888 213892 - Block 213894 213938 - ReturnStatement 213896 213927 - Identifier 213916 213926 - VariableStatement 213938 214052 - VariableDeclarationList 213938 214051 - VariableDeclaration 213955 214051 - Identifier 213955 213972 - BinaryExpression 213974 214051 - PropertyAccessExpression 213974 213996 - Identifier 213974 213986 - Identifier 213987 213996 - BarToken 213996 213998 - ParenthesizedExpression 213998 214051 - ConditionalExpression 214000 214050 - CallExpression 214000 214016 - Identifier 214000 214010 - Identifier 214011 214015 - QuestionToken 214016 214018 - BinaryExpression 214018 214046 - Identifier 214018 214026 - AmpersandToken 214026 214028 - PropertyAccessExpression 214028 214046 - Identifier 214028 214040 - Identifier 214041 214046 - ColonToken 214046 214048 - NumericLiteral 214048 214050 - VariableStatement 214052 214093 - VariableDeclarationList 214052 214092 - VariableDeclaration 214065 214092 - Identifier 214065 214072 - UnionType 214073 214092 - TypeReference 214073 214080 - Identifier 214073 214080 - UndefinedKeyword 214082 214092 - IfStatement 214093 219509 - BinaryExpression 214107 214142 - PropertyAccessExpression 214107 214116 - Identifier 214107 214111 - Identifier 214112 214116 - EqualsEqualsEqualsToken 214116 214120 - PropertyAccessExpression 214120 214142 - Identifier 214120 214131 - Identifier 214132 214142 - Block 214143 214799 - VariableStatement 214145 214332 - VariableDeclarationList 214145 214331 - VariableDeclaration 214164 214331 - Identifier 214164 214172 - ConditionalExpression 214174 214331 - BinaryExpression 214174 214230 - BinaryExpression 214174 214203 - Identifier 214174 214182 - EqualsEqualsEqualsToken 214182 214186 - Identifier 214186 214203 - BarBarToken 214203 214206 - CallExpression 214206 214230 - Identifier 214206 214224 - Identifier 214225 214229 - QuestionToken 214230 214232 - PropertyAccessExpression 214232 214268 - Identifier 214232 214244 - Identifier 214245 214268 - ColonToken 214268 214270 - CallExpression 214270 214331 - Identifier 214270 214305 - CallExpression 214306 214330 - Identifier 214306 214324 - Identifier 214325 214329 - VariableStatement 214332 214493 - VariableDeclarationList 214332 214492 - VariableDeclaration 214351 214492 - Identifier 214351 214373 - ConditionalExpression 214375 214492 - BinaryExpression 214375 214420 - CallExpression 214375 214392 - Identifier 214375 214386 - Identifier 214387 214391 - AmpersandAmpersandToken 214392 214395 - PrefixUnaryExpression 214395 214420 - CallExpression 214397 214420 - Identifier 214397 214414 - Identifier 214415 214419 - QuestionToken 214420 214422 - CallExpression 214422 214480 - Identifier 214422 214465 - Identifier 214466 214470 - Identifier 214471 214479 - ColonToken 214480 214482 - Identifier 214482 214492 - ExpressionStatement 214493 214681 - BinaryExpression 214493 214680 - Identifier 214493 214513 - EqualsToken 214513 214515 - CallExpression 214515 214680 - Identifier 214515 214531 - CallExpression 214532 214679 - Identifier 214532 214543 - BinaryExpression 214544 214560 - Identifier 214544 214552 - BarBarToken 214552 214555 - Identifier 214555 214560 - Identifier 214561 214566 - Identifier 214567 214575 - ConditionalExpression 214576 214636 - BinaryExpression 214576 214614 - Identifier 214576 214589 - BarBarToken 214589 214592 - Identifier 214592 214614 - QuestionToken 214614 214616 - Identifier 214616 214626 - ColonToken 214626 214628 - Identifier 214628 214636 - TrueKeyword 214637 214652 - FalseKeyword 214653 214678 - IfStatement 214681 214788 - PrefixUnaryExpression 214699 214706 - Identifier 214700 214706 - Block 214707 214788 - ReturnStatement 214709 214773 - CallExpression 214733 214772 - Identifier 214733 214749 - Identifier 214750 214771 - IfStatement 214813 219509 - BinaryExpression 214818 214909 - BinaryExpression 214818 214856 - PropertyAccessExpression 214818 214827 - Identifier 214818 214822 - Identifier 214823 214827 - EqualsEqualsEqualsToken 214827 214831 - PropertyAccessExpression 214831 214856 - Identifier 214831 214842 - Identifier 214843 214856 - BarBarToken 214856 214859 - BinaryExpression 214859 214909 - PropertyAccessExpression 214859 214869 - Identifier 214859 214864 - Identifier 214865 214869 - EqualsEqualsEqualsToken 214869 214873 - PropertyAccessExpression 214873 214909 - Identifier 214873 214884 - Identifier 214885 214909 - Block 214910 219415 - VariableStatement 214912 215008 - VariableDeclarationList 214912 215007 - VariableDeclaration 214931 215007 - Identifier 214931 214936 - ConditionalExpression 214938 215007 - BinaryExpression 214938 214977 - PropertyAccessExpression 214938 214948 - Identifier 214938 214943 - Identifier 214944 214948 - EqualsEqualsEqualsToken 214948 214952 - PropertyAccessExpression 214952 214977 - Identifier 214952 214963 - Identifier 214964 214977 - QuestionToken 214977 214979 - PropertyAccessExpression 214979 214989 - Identifier 214979 214984 - Identifier 214985 214989 - ColonToken 214989 214991 - PropertyAccessExpression 214991 215007 - Identifier 214991 214996 - Identifier 214997 215007 - VariableStatement 215008 215100 - VariableDeclarationList 215008 215099 - VariableDeclaration 215027 215099 - Identifier 215027 215033 - ConditionalExpression 215035 215099 - BinaryExpression 215035 215074 - PropertyAccessExpression 215035 215045 - Identifier 215035 215040 - Identifier 215041 215045 - EqualsEqualsEqualsToken 215045 215049 - PropertyAccessExpression 215049 215074 - Identifier 215049 215060 - Identifier 215061 215074 - QuestionToken 215074 215076 - PropertyAccessExpression 215076 215087 - Identifier 215076 215081 - Identifier 215082 215087 - ColonToken 215087 215089 - PropertyAccessExpression 215089 215099 - Identifier 215089 215094 - Identifier 215095 215099 - VariableStatement 215100 215224 - VariableDeclarationList 215100 215223 - VariableDeclaration 215117 215223 - Identifier 215117 215127 - CallExpression 215129 215223 - Identifier 215129 215147 - Identifier 215148 215152 - Identifier 215153 215170 - Identifier 215171 215184 - FalseKeyword 215185 215212 - Identifier 215213 215222 - IfStatement 215224 215432 - BinaryExpression 215242 215276 - PrefixUnaryExpression 215242 215252 - Identifier 215243 215252 - BarBarToken 215252 215255 - CallExpression 215255 215276 - Identifier 215255 215269 - Identifier 215270 215275 - Block 215277 215329 - ReturnStatement 215279 215314 - Identifier 215303 215313 - IfStatement 215347 215432 - BinaryExpression 215352 215379 - Identifier 215352 215361 - EqualsEqualsEqualsToken 215361 215365 - Identifier 215365 215379 - Block 215380 215432 - ReturnStatement 215382 215417 - Identifier 215406 215416 - IfStatement 215432 216376 - BinaryExpression 215450 215858 - BinaryExpression 215450 215780 - BinaryExpression 215450 215721 - BinaryExpression 215450 215651 - BinaryExpression 215450 215553 - PropertyAccessExpression 215450 215494 - Identifier 215450 215477 - Identifier 215478 215494 - AmpersandAmpersandToken 215494 215497 - CallExpression 215497 215553 - Identifier 215497 215525 - PropertyAccessExpression 215526 215552 - Identifier 215526 215535 - Identifier 215536 215552 - AmpersandAmpersandToken 215553 215556 - BinaryExpression 215556 215651 - CallExpression 215556 215618 - Identifier 215556 215601 - Identifier 215602 215617 - ExclamationEqualsEqualsToken 215618 215622 - PropertyAccessExpression 215622 215651 - Identifier 215622 215643 - Identifier 215644 215651 - AmpersandAmpersandToken 215651 215654 - CallExpression 215654 215721 - Identifier 215654 215693 - PropertyAccessExpression 215694 215720 - Identifier 215694 215703 - Identifier 215704 215720 - AmpersandAmpersandToken 215721 215724 - PropertyAccessExpression 215724 215780 - PropertyAccessExpression 215724 215768 - Identifier 215724 215751 - Identifier 215752 215768 - Identifier 215769 215780 - AmpersandAmpersandToken 215780 215783 - CallExpression 215783 215858 - Identifier 215783 215818 - PropertyAccessExpression 215819 215857 - PropertyAccessExpression 215819 215845 - Identifier 215819 215828 - Identifier 215829 215845 - Identifier 215846 215857 - Block 215873 216376 - VariableStatement 215875 216001 - VariableDeclarationList 215875 216000 - VariableDeclaration 215898 216000 - Identifier 215898 215909 - AsExpression 215911 216000 - ElementAccessExpression 215911 215983 - PropertyAccessExpression 215911 215980 - ParenthesizedExpression 215911 215970 - AsExpression 215913 215969 - PropertyAccessExpression 215913 215951 - PropertyAccessExpression 215913 215939 - Identifier 215913 215922 - Identifier 215923 215939 - Identifier 215940 215951 - TypeReference 215954 215969 - Identifier 215954 215969 - Identifier 215971 215980 - NumericLiteral 215981 215982 - TypeReference 215986 216000 - Identifier 215986 216000 - VariableStatement 216001 216087 - VariableDeclarationList 216001 216086 - VariableDeclaration 216024 216086 - Identifier 216024 216034 - CallExpression 216036 216086 - Identifier 216036 216062 - Identifier 216063 216073 - Identifier 216074 216085 - IfStatement 216087 216361 - Identifier 216109 216118 - Block 216119 216361 - VariableStatement 216121 216211 - VariableDeclarationList 216121 216210 - VariableDeclaration 216148 216210 - Identifier 216148 216169 - CallExpression 216171 216210 - Identifier 216171 216199 - Identifier 216200 216209 - IfStatement 216211 216342 - Identifier 216237 216257 - Block 216258 216342 - ExpressionStatement 216260 216319 - BinaryExpression 216260 216318 - Identifier 216260 216295 - EqualsToken 216295 216297 - Identifier 216297 216318 - ExpressionStatement 216376 216485 - BinaryExpression 216376 216484 - Identifier 216376 216396 - EqualsToken 216396 216398 - CallExpression 216398 216484 - Identifier 216398 216414 - CallExpression 216415 216483 - Identifier 216415 216424 - CallExpression 216425 216454 - Identifier 216425 216443 - Identifier 216444 216453 - PropertyAccessExpression 216455 216473 - Identifier 216455 216461 - Identifier 216462 216473 - Identifier 216474 216482 - IfStatement 216485 216797 - BinaryExpression 216503 216551 - PrefixUnaryExpression 216503 216510 - Identifier 216504 216510 - AmpersandAmpersandToken 216510 216513 - ParenthesizedExpression 216513 216551 - BinaryExpression 216515 216550 - PropertyAccessExpression 216515 216530 - Identifier 216515 216524 - Identifier 216525 216530 - AmpersandToken 216530 216532 - PropertyAccessExpression 216532 216550 - Identifier 216532 216544 - Identifier 216545 216550 - Block 216552 216797 - ExpressionStatement 216554 216782 - BinaryExpression 216554 216781 - Identifier 216554 216679 - EqualsToken 216679 216681 - CallExpression 216681 216781 - Identifier 216681 216697 - CallExpression 216698 216780 - Identifier 216698 216707 - CallExpression 216708 216751 - Identifier 216708 216726 - CallExpression 216727 216750 - Identifier 216727 216739 - Identifier 216740 216749 - PropertyAccessExpression 216752 216770 - Identifier 216752 216758 - Identifier 216759 216770 - Identifier 216771 216779 - IfStatement 216797 219404 - PrefixUnaryExpression 216815 216822 - Identifier 216816 216822 - Block 216823 219404 - IfStatement 216825 219354 - PrefixUnaryExpression 216847 216860 - Identifier 216848 216860 - Block 216861 219354 - VariableStatement 216863 216940 - VariableDeclarationList 216863 216939 - VariableDeclaration 216890 216939 - Identifier 216890 216904 - CallExpression 216906 216939 - Identifier 216906 216928 - Identifier 216929 216938 - VariableStatement 216940 217017 - VariableDeclarationList 216940 217016 - VariableDeclaration 216967 217016 - Identifier 216967 216983 - CallExpression 216985 217016 - Identifier 216985 217009 - Identifier 217010 217015 - VariableStatement 217017 217135 - VariableDeclarationList 217017 217134 - VariableDeclaration 217044 217134 - Identifier 217044 217075 - CallExpression 217077 217134 - Identifier 217077 217116 - Identifier 217117 217122 - Identifier 217123 217133 - IfStatement 217135 217441 - Identifier 217161 217191 - Block 217192 217441 - ExpressionStatement 217194 217375 - CallExpression 217194 217374 - Identifier 217194 217225 - Identifier 217226 217231 - PropertyAccessExpression 217232 217293 - Identifier 217232 217244 - Identifier 217245 217293 - Identifier 217294 217308 - Identifier 217309 217325 - CallExpression 217326 217373 - Identifier 217326 217341 - Identifier 217342 217372 - ReturnStatement 217375 217418 - Identifier 217407 217417 - VariableStatement 217441 217559 - VariableDeclarationList 217441 217558 - VariableDeclaration 217470 217558 - Identifier 217470 217494 - BinaryExpression 217496 217558 - CallExpression 217496 217518 - Identifier 217496 217512 - Identifier 217513 217517 - AmpersandAmpersandToken 217518 217521 - CallExpression 217521 217558 - Identifier 217521 217552 - Identifier 217553 217557 - VariableStatement 217559 217958 - VariableDeclarationList 217559 217957 - VariableDeclaration 217586 217957 - Identifier 217586 217603 - BinaryExpression 217605 217957 - BinaryExpression 217605 217877 - BinaryExpression 217605 217797 - BinaryExpression 217605 217745 - Identifier 217605 217622 - AmpersandAmpersandToken 217622 217716 - ParenthesizedExpression 217716 217745 - BinaryExpression 217718 217744 - Identifier 217718 217725 - AmpersandToken 217725 217727 - PropertyAccessExpression 217727 217744 - Identifier 217727 217739 - Identifier 217740 217744 - AmpersandAmpersandToken 217745 217773 - Identifier 217773 217797 - AmpersandAmpersandToken 217797 217825 - PrefixUnaryExpression 217825 217877 - CallExpression 217827 217877 - Identifier 217827 217845 - PropertyAccessExpression 217846 217876 - Identifier 217846 217869 - Identifier 217870 217876 - AmpersandAmpersandToken 217877 217905 - CallExpression 217905 217957 - Identifier 217905 217932 - Identifier 217933 217956 - IfStatement 217958 218375 - Identifier 217984 218000 - Block 218001 218375 - ExpressionStatement 218003 218309 - CallExpression 218003 218308 - Identifier 218003 218034 - Identifier 218035 218088 - PropertyAccessExpression 218089 218206 - Identifier 218089 218130 - Identifier 218131 218206 - CallExpression 218207 218280 - Identifier 218207 218255 - Identifier 218256 218279 - ReturnStatement 218309 218352 - Identifier 218341 218351 - IfStatement 218375 219216 - BinaryExpression 218403 218466 - BinaryExpression 218403 218434 - Identifier 218403 218410 - AmpersandToken 218410 218412 - PropertyAccessExpression 218412 218434 - Identifier 218412 218424 - Identifier 218425 218434 - AmpersandAmpersandToken 218434 218437 - CallExpression 218437 218466 - Identifier 218437 218453 - PropertyAccessExpression 218454 218465 - Identifier 218454 218458 - Identifier 218459 218465 - Block 218467 219216 - VariableStatement 218469 218617 - VariableDeclarationList 218469 218616 - VariableDeclaration 218500 218616 - Identifier 218500 218519 - CallExpression 218521 218616 - Identifier 218521 218537 - CallExpression 218538 218615 - Identifier 218538 218547 - CallExpression 218548 218577 - Identifier 218548 218566 - Identifier 218567 218576 - PropertyAccessExpression 218578 218596 - Identifier 218578 218584 - Identifier 218585 218596 - PropertyAccessExpression 218597 218614 - Identifier 218597 218609 - Identifier 218610 218614 - IfStatement 218617 219193 - Identifier 218647 218665 - Block 218666 219193 - ExpressionStatement 218668 219119 - CallExpression 218668 219118 - Identifier 218668 218703 - PropertyAccessExpression 218704 218755 - PropertyAccessExpression 218704 218749 - Identifier 218704 218742 - Identifier 218743 218749 - Identifier 218750 218755 - PropertyAccessExpression 218756 218925 - Identifier 218756 218801 - Identifier 218802 218925 - CallExpression 218926 218994 - Identifier 218926 218974 - Identifier 218975 218993 - CallExpression 218995 219086 - Identifier 218995 219055 - PropertyAccessExpression 219056 219085 - PropertyAccessExpression 219056 219073 - PropertyAccessExpression 219056 219067 - Identifier 219056 219060 - Identifier 219061 219067 - Identifier 219068 219073 - Identifier 219074 219085 - ReturnStatement 219119 219166 - Identifier 219155 219165 - ExpressionStatement 219216 219335 - CallExpression 219216 219334 - Identifier 219216 219245 - Identifier 219246 219251 - PropertyAccessExpression 219252 219301 - Identifier 219252 219264 - Identifier 219265 219301 - Identifier 219302 219316 - Identifier 219317 219333 - ReturnStatement 219354 219389 - Identifier 219378 219388 - Block 219429 219509 - ExpressionStatement 219431 219498 - CallExpression 219431 219497 - PropertyAccessExpression 219431 219462 - Identifier 219431 219450 - Identifier 219451 219462 - Identifier 219463 219467 - StringLiteral 219468 219496 - IfStatement 219509 219821 - BinaryExpression 219523 219659 - BinaryExpression 219523 219569 - PrefixUnaryExpression 219523 219547 - CallExpression 219524 219547 - Identifier 219524 219541 - Identifier 219542 219546 - AmpersandAmpersandToken 219547 219550 - CallExpression 219550 219569 - Identifier 219550 219563 - Identifier 219564 219568 - AmpersandAmpersandToken 219569 219572 - ParenthesizedExpression 219572 219659 - BinaryExpression 219574 219658 - BinaryExpression 219574 219606 - PropertyAccessExpression 219574 219586 - Identifier 219574 219580 - Identifier 219581 219586 - AmpersandToken 219586 219588 - PropertyAccessExpression 219588 219606 - Identifier 219588 219600 - Identifier 219601 219606 - BarBarToken 219606 219609 - BinaryExpression 219609 219658 - PropertyAccessExpression 219609 219626 - PropertyAccessExpression 219609 219621 - Identifier 219609 219614 - Identifier 219615 219621 - Identifier 219622 219626 - EqualsEqualsEqualsToken 219626 219630 - PropertyAccessExpression 219630 219658 - Identifier 219630 219641 - Identifier 219642 219658 - Block 219660 219821 - ExpressionStatement 219662 219810 - CallExpression 219662 219809 - Identifier 219662 219714 - CallExpression 219715 219748 - Identifier 219715 219742 - Identifier 219743 219747 - Identifier 219749 219756 - Identifier 219757 219783 - TrueKeyword 219784 219808 - ReturnStatement 219821 219915 - ConditionalExpression 219837 219914 - BinaryExpression 219837 219882 - ParenthesizedExpression 219837 219862 - BinaryExpression 219839 219861 - PropertyAccessExpression 219839 219851 - Identifier 219839 219845 - Identifier 219846 219851 - AmpersandToken 219851 219853 - Identifier 219853 219861 - BarBarToken 219862 219865 - Identifier 219865 219882 - QuestionToken 219882 219884 - Identifier 219884 219891 - ColonToken 219891 219893 - CallExpression 219893 219914 - Identifier 219893 219906 - Identifier 219907 219913 - FunctionDeclaration 219922 220772 - Identifier 220358 220401 - Parameter 220402 220418 - Identifier 220402 220406 - TypeReference 220407 220418 - Identifier 220407 220418 - Parameter 220419 220440 - Identifier 220419 220427 - TypeReference 220428 220440 - Identifier 220428 220440 - Block 220441 220772 - IfStatement 220443 220765 - CallExpression 220457 220490 - Identifier 220457 220477 - PropertyAccessExpression 220478 220489 - Identifier 220478 220482 - Identifier 220483 220489 - Block 220491 220765 - VariableStatement 220493 220579 - VariableDeclarationList 220493 220578 - VariableDeclaration 220512 220578 - Identifier 220512 220530 - CallExpression 220532 220578 - Identifier 220532 220565 - PropertyAccessExpression 220566 220577 - Identifier 220566 220570 - Identifier 220571 220577 - IfStatement 220579 220754 - Identifier 220597 220614 - Block 220615 220754 - ReturnStatement 220617 220739 - CallExpression 220641 220738 - Identifier 220641 220653 - Identifier 220654 220671 - Identifier 220672 220677 - Identifier 220678 220686 - Identifier 220687 220721 - TrueKeyword 220722 220737 - FunctionDeclaration 220772 222765 - Identifier 220788 220821 - Parameter 220822 220845 - Identifier 220822 220826 - TypeReference 220827 220845 - Identifier 220827 220845 - UnionType 220847 220864 - TypeReference 220847 220852 - Identifier 220847 220852 - UndefinedKeyword 220854 220864 - Block 220864 222765 - VariableStatement 220866 221009 - VariableDeclarationList 220866 221008 - VariableDeclaration 220881 221008 - Identifier 220881 220891 - CallExpression 220893 221008 - Identifier 220893 220906 - Identifier 220907 220911 - ArrowFunction 220912 221007 - Parameter 220912 220917 - Identifier 220912 220917 - EqualsGreaterThanToken 220917 220920 - ConditionalExpression 220920 221007 - PrefixUnaryExpression 220920 220973 - ParenthesizedExpression 220922 220973 - BinaryExpression 220923 220972 - CallExpression 220923 220940 - Identifier 220923 220934 - Identifier 220935 220939 - BarBarToken 220940 220943 - BinaryExpression 220943 220972 - PropertyAccessExpression 220943 220954 - Identifier 220943 220948 - Identifier 220949 220954 - AmpersandToken 220954 220956 - PropertyAccessExpression 220956 220972 - Identifier 220956 220966 - Identifier 220967 220972 - QuestionToken 220973 220975 - StringLiteral 220975 220982 - ColonToken 220982 220984 - CallExpression 220984 221007 - Identifier 220984 221001 - Identifier 221002 221006 - IfStatement 221009 221067 - Identifier 221023 221032 - Block 221033 221067 - ReturnStatement 221035 221056 - VariableStatement 221067 221109 - VariableDeclarationList 221067 221108 - VariableDeclaration 221082 221108 - Identifier 221082 221087 - CallExpression 221089 221108 - Identifier 221089 221102 - Identifier 221103 221107 - IfStatement 221109 221510 - BinaryExpression 221123 221208 - BinaryExpression 221123 221158 - Identifier 221123 221127 - AmpersandAmpersandToken 221127 221130 - CallExpression 221130 221158 - Identifier 221130 221152 - Identifier 221153 221157 - AmpersandAmpersandToken 221158 221161 - CallExpression 221161 221208 - Identifier 221161 221191 - PropertyAccessExpression 221192 221207 - Identifier 221192 221196 - Identifier 221197 221207 - Block 221209 221510 - VariableStatement 221211 221387 - VariableDeclarationList 221211 221386 - VariableDeclaration 221332 221386 - Identifier 221332 221339 - CallExpression 221341 221386 - Identifier 221341 221364 - PropertyAccessExpression 221365 221385 - PropertyAccessExpression 221365 221380 - Identifier 221365 221369 - Identifier 221370 221380 - Identifier 221381 221385 - IfStatement 221387 221499 - Identifier 221405 221411 - Block 221412 221499 - ReturnStatement 221414 221484 - CallExpression 221438 221483 - Identifier 221438 221475 - Identifier 221476 221482 - IfStatement 221510 221947 - BinaryExpression 221524 221649 - BinaryExpression 221524 221604 - BinaryExpression 221524 221558 - Identifier 221524 221528 - AmpersandAmpersandToken 221528 221531 - CallExpression 221531 221558 - Identifier 221531 221552 - Identifier 221553 221557 - AmpersandAmpersandToken 221558 221561 - CallExpression 221561 221604 - Identifier 221561 221591 - PropertyAccessExpression 221592 221603 - Identifier 221592 221596 - Identifier 221597 221603 - AmpersandAmpersandToken 221604 221607 - CallExpression 221607 221649 - Identifier 221607 221629 - PropertyAccessExpression 221630 221648 - PropertyAccessExpression 221630 221641 - Identifier 221630 221634 - Identifier 221635 221641 - Identifier 221642 221648 - Block 221650 221947 - VariableStatement 221652 221824 - VariableDeclarationList 221652 221823 - VariableDeclaration 221773 221823 - Identifier 221773 221780 - CallExpression 221782 221823 - Identifier 221782 221805 - PropertyAccessExpression 221806 221822 - PropertyAccessExpression 221806 221817 - Identifier 221806 221810 - Identifier 221811 221817 - Identifier 221818 221822 - IfStatement 221824 221936 - Identifier 221842 221848 - Block 221849 221936 - ReturnStatement 221851 221921 - CallExpression 221875 221920 - Identifier 221875 221912 - Identifier 221913 221919 - IfStatement 221947 222542 - BinaryExpression 221961 222202 - BinaryExpression 221961 222097 - BinaryExpression 221961 222042 - Identifier 221961 221979 - AmpersandAmpersandToken 221979 221982 - ParenthesizedExpression 221982 222042 - BinaryExpression 221984 222041 - CallExpression 221984 222011 - Identifier 221984 222005 - Identifier 222006 222010 - BarBarToken 222011 222014 - CallExpression 222014 222041 - Identifier 222014 222035 - Identifier 222036 222040 - AmpersandAmpersandToken 222042 222045 - CallExpression 222045 222097 - Identifier 222045 222077 - PropertyAccessExpression 222078 222096 - PropertyAccessExpression 222078 222089 - Identifier 222078 222082 - Identifier 222083 222089 - Identifier 222090 222096 - AmpersandAmpersandToken 222097 222100 - BinaryExpression 222100 222202 - CallExpression 222100 222162 - Identifier 222100 222142 - PropertyAccessExpression 222143 222161 - PropertyAccessExpression 222143 222154 - Identifier 222143 222147 - Identifier 222148 222154 - Identifier 222155 222161 - EqualsEqualsEqualsToken 222162 222166 - PropertyAccessExpression 222166 222202 - Identifier 222166 222192 - Identifier 222193 222202 - Block 222213 222542 - VariableStatement 222215 222419 - VariableDeclarationList 222215 222418 - VariableDeclaration 222329 222418 - Identifier 222329 222336 - CallExpression 222338 222418 - Identifier 222338 222361 - AsExpression 222362 222417 - PropertyAccessExpression 222362 222385 - PropertyAccessExpression 222362 222380 - PropertyAccessExpression 222362 222373 - Identifier 222362 222366 - Identifier 222367 222373 - Identifier 222374 222380 - Identifier 222381 222385 - TypeReference 222388 222417 - Identifier 222388 222417 - IfStatement 222419 222531 - Identifier 222437 222443 - Block 222444 222531 - ReturnStatement 222446 222516 - CallExpression 222470 222515 - Identifier 222470 222507 - Identifier 222508 222514 - VariableStatement 222542 222592 - VariableDeclarationList 222542 222591 - VariableDeclaration 222557 222591 - Identifier 222557 222561 - CallExpression 222563 222591 - Identifier 222563 222585 - Identifier 222586 222590 - IfStatement 222592 222758 - BinaryExpression 222606 222632 - Identifier 222606 222609 - AmpersandAmpersandToken 222609 222612 - CallExpression 222612 222632 - Identifier 222612 222627 - Identifier 222628 222631 - Block 222633 222758 - VariableStatement 222635 222692 - VariableDeclarationList 222635 222691 - VariableDeclaration 222654 222691 - Identifier 222654 222661 - CallExpression 222663 222691 - Identifier 222663 222686 - Identifier 222687 222690 - ReturnStatement 222692 222747 - BinaryExpression 222712 222746 - Identifier 222712 222719 - AmpersandAmpersandToken 222719 222722 - PropertyAccessExpression 222722 222746 - Identifier 222722 222729 - Identifier 222730 222746 - FunctionDeclaration 222765 223210 - Identifier 222781 222818 - Parameter 222819 222833 - Identifier 222819 222825 - TypeReference 222826 222833 - Identifier 222826 222833 - Block 222834 223210 - VariableStatement 222836 222891 - VariableDeclarationList 222836 222890 - VariableDeclaration 222851 222890 - Identifier 222851 222856 - PropertyAccessExpression 222858 222890 - NonNullExpression 222858 222873 - PropertyAccessExpression 222858 222872 - Identifier 222858 222865 - Identifier 222866 222872 - Identifier 222874 222890 - IfStatement 222891 222955 - PrefixUnaryExpression 222905 222910 - Identifier 222906 222910 - Block 222911 222955 - ReturnStatement 222913 222944 - Identifier 222933 222943 - VariableStatement 222955 223166 - VariableDeclarationList 222955 223165 - VariableDeclaration 222970 223165 - Identifier 222970 222982 - ConditionalExpression 222984 223165 - CallExpression 222984 223014 - Identifier 222984 223008 - Identifier 223009 223013 - QuestionToken 223014 223016 - CallExpression 223016 223052 - Identifier 223016 223046 - Identifier 223047 223051 - ColonToken 223052 223054 - ConditionalExpression 223054 223165 - CallExpression 223054 223102 - Identifier 223054 223096 - Identifier 223097 223101 - QuestionToken 223102 223104 - CallExpression 223104 223140 - Identifier 223104 223134 - Identifier 223135 223139 - ColonToken 223140 223142 - Identifier 223142 223165 - ReturnStatement 223166 223203 - BinaryExpression 223182 223202 - Identifier 223182 223194 - BarBarToken 223194 223197 - Identifier 223197 223202 - FunctionDeclaration 223210 224134 - Identifier 223516 223533 - Parameter 223534 223548 - Identifier 223534 223540 - TypeReference 223541 223548 - Identifier 223541 223548 - UnionType 223550 223569 - TypeReference 223550 223557 - Identifier 223550 223557 - UndefinedKeyword 223559 223569 - Block 223569 224134 - VariableStatement 223571 223618 - VariableDeclarationList 223571 223617 - VariableDeclaration 223586 223617 - Identifier 223586 223591 - PropertyAccessExpression 223593 223617 - Identifier 223593 223600 - Identifier 223601 223617 - IfStatement 223618 223807 - BinaryExpression 223632 223762 - BinaryExpression 223632 223698 - BinaryExpression 223632 223658 - PrefixUnaryExpression 223632 223637 - Identifier 223633 223637 - BarBarToken 223637 223640 - PrefixUnaryExpression 223640 223658 - CallExpression 223642 223658 - Identifier 223642 223652 - Identifier 223653 223657 - BarBarToken 223658 223661 - BinaryExpression 223661 223698 - PropertyAccessExpression 223661 223674 - Identifier 223661 223668 - Identifier 223669 223674 - AmpersandToken 223674 223676 - PropertyAccessExpression 223676 223698 - Identifier 223676 223688 - Identifier 223689 223698 - BarBarToken 223698 223701 - CallExpression 223701 223762 - Identifier 223701 223723 - Identifier 223724 223728 - FalseKeyword 223729 223761 - Block 223763 223807 - ReturnStatement 223765 223796 - Identifier 223785 223795 - VariableStatement 223807 223934 - VariableDeclarationList 223807 223933 - VariableDeclaration 223822 223933 - Identifier 223822 223827 - ConditionalExpression 223829 223933 - CallExpression 223829 223857 - Identifier 223829 223851 - Identifier 223852 223856 - QuestionToken 223857 223859 - CallExpression 223859 223895 - Identifier 223859 223889 - Identifier 223890 223894 - ColonToken 223895 223897 - CallExpression 223897 223933 - Identifier 223897 223927 - Identifier 223928 223932 - IfStatement 223934 224127 - Identifier 223948 223952 - Block 223953 224127 - VariableStatement 223955 224010 - VariableDeclarationList 223955 224009 - VariableDeclaration 223974 224009 - Identifier 223974 223985 - CallExpression 223987 224009 - Identifier 223987 224003 - Identifier 224004 224008 - IfStatement 224010 224116 - Identifier 224028 224038 - Block 224039 224116 - ReturnStatement 224041 224101 - CallExpression 224065 224100 - Identifier 224065 224080 - Identifier 224081 224091 - Identifier 224092 224099 - FunctionDeclaration 224134 224805 - Identifier 224150 224176 - Parameter 224177 224191 - Identifier 224177 224185 - TypeReference 224186 224191 - Identifier 224186 224191 - Parameter 224192 224230 - Identifier 224192 224218 - TypeReference 224219 224230 - Identifier 224219 224230 - Parameter 224231 224254 - Identifier 224231 224244 - QuestionToken 224244 224245 - BooleanKeyword 224246 224254 - UnionType 224256 224275 - TypeReference 224256 224263 - Identifier 224256 224263 - UndefinedKeyword 224265 224275 - Block 224275 224805 - VariableStatement 224277 224383 - VariableDeclarationList 224277 224382 - VariableDeclaration 224292 224382 - Identifier 224292 224302 - BinaryExpression 224304 224382 - CallExpression 224304 224349 - Identifier 224304 224332 - Identifier 224333 224348 - EqualsEqualsEqualsToken 224349 224353 - PropertyAccessExpression 224353 224382 - Identifier 224353 224374 - Identifier 224375 224382 - VariableStatement 224383 224657 - VariableDeclarationList 224383 224656 - VariableDeclaration 224398 224656 - Identifier 224398 224411 - ConditionalExpression 224413 224656 - Identifier 224413 224423 - QuestionToken 224423 224425 - PropertyAccessExpression 224425 224569 - Identifier 224425 224450 - Identifier 224451 224569 - ColonToken 224569 224584 - PropertyAccessExpression 224584 224656 - Identifier 224584 224596 - Identifier 224597 224656 - ReturnStatement 224657 224798 - CallExpression 224673 224797 - Identifier 224673 224705 - Identifier 224706 224714 - Identifier 224715 224741 - ConditionalExpression 224742 224782 - Identifier 224742 224755 - QuestionToken 224755 224757 - Identifier 224757 224767 - ColonToken 224767 224769 - Identifier 224769 224782 - Identifier 224783 224796 - FunctionDeclaration 224805 225301 - Identifier 224821 224853 - Parameter 224854 224868 - Identifier 224854 224862 - TypeReference 224863 224868 - Identifier 224863 224868 - Parameter 224869 224907 - Identifier 224869 224895 - TypeReference 224896 224907 - Identifier 224896 224907 - Parameter 224908 224959 - Identifier 224908 224928 - UnionType 224929 224959 - TypeReference 224929 224947 - Identifier 224929 224947 - UndefinedKeyword 224949 224959 - Parameter 224960 224981 - Identifier 224960 224973 - FalseKeyword 224975 224981 - Parameter 224982 225008 - Identifier 224982 225000 - FalseKeyword 225002 225008 - UnionType 225010 225029 - TypeReference 225010 225017 - Identifier 225010 225017 - UndefinedKeyword 225019 225029 - Block 225029 225301 - ReturnStatement 225031 225294 - ConditionalExpression 225047 225293 - CallExpression 225047 225094 - Identifier 225047 225067 - Identifier 225068 225093 - QuestionToken 225094 225109 - CallExpression 225109 225268 - Identifier 225109 225131 - Identifier 225132 225140 - PropertyAccessExpression 225141 225172 - Identifier 225141 225167 - Identifier 225168 225172 - Identifier 225173 225193 - ConditionalExpression 225194 225248 - PrefixUnaryExpression 225194 225208 - Identifier 225196 225208 - QuestionToken 225208 225210 - Identifier 225210 225236 - ColonToken 225236 225238 - Identifier 225238 225248 - Identifier 225249 225267 - ColonToken 225268 225283 - Identifier 225283 225293 - FunctionDeclaration 225301 242119 - Identifier 225317 225339 - Parameter 225340 225354 - Identifier 225340 225348 - TypeReference 225349 225354 - Identifier 225349 225354 - Parameter 225355 225379 - Identifier 225355 225371 - StringKeyword 225372 225379 - Parameter 225380 225431 - Identifier 225380 225400 - UnionType 225401 225431 - TypeReference 225401 225419 - Identifier 225401 225419 - UndefinedKeyword 225421 225431 - Parameter 225432 225460 - Identifier 225432 225442 - UnionType 225443 225460 - TypeReference 225443 225448 - Identifier 225443 225448 - UndefinedKeyword 225450 225460 - Parameter 225461 225487 - Identifier 225461 225479 - FalseKeyword 225481 225487 - UnionType 225489 225508 - TypeReference 225489 225496 - Identifier 225489 225496 - UndefinedKeyword 225498 225508 - Block 225508 242119 - IfStatement 225510 225857 - BinaryExpression 225524 225575 - Identifier 225524 225533 - AmpersandAmpersandToken 225533 225536 - CallExpression 225536 225575 - Identifier 225536 225547 - Identifier 225548 225563 - StringLiteral 225564 225574 - Block 225576 225857 - VariableStatement 225578 225688 - VariableDeclarationList 225578 225687 - VariableDeclaration 225597 225687 - Identifier 225597 225602 - PropertyAccessExpression 225604 225687 - Identifier 225604 225616 - Identifier 225617 225687 - VariableStatement 225688 225771 - VariableDeclarationList 225688 225770 - VariableDeclaration 225707 225770 - Identifier 225707 225727 - CallExpression 225729 225770 - Identifier 225729 225742 - Identifier 225743 225758 - StringLiteral 225759 225769 - ExpressionStatement 225771 225846 - CallExpression 225771 225845 - Identifier 225771 225790 - Identifier 225791 225800 - Identifier 225801 225806 - Identifier 225807 225827 - Identifier 225828 225844 - VariableStatement 225857 225957 - VariableDeclarationList 225857 225956 - VariableDeclaration 225874 225956 - Identifier 225874 225888 - CallExpression 225890 225956 - Identifier 225890 225911 - Identifier 225912 225927 - TrueKeyword 225928 225955 - IfStatement 225957 226033 - Identifier 225971 225984 - Block 225985 226033 - ReturnStatement 225987 226022 - Identifier 226007 226021 - VariableStatement 226033 226099 - VariableDeclarationList 226033 226098 - VariableDeclaration 226048 226098 - Identifier 226048 226066 - CallExpression 226068 226098 - Identifier 226068 226088 - Identifier 226089 226097 - VariableStatement 226099 226989 - VariableDeclarationList 226099 226988 - VariableDeclaration 226114 226988 - Identifier 226114 226131 - ConditionalExpression 226133 226988 - CallExpression 226133 226163 - Identifier 226133 226153 - Identifier 226154 226162 - QuestionToken 226163 226178 - Identifier 226178 226187 - ColonToken 226187 226202 - BinaryExpression 226202 226988 - BinaryExpression 226202 226876 - BinaryExpression 226202 226752 - BinaryExpression 226202 226681 - BinaryExpression 226202 226473 - PropertyAccessExpression 226202 226376 - ParenthesizedExpression 226202 226370 - ConditionalExpression 226204 226369 - CallExpression 226204 226233 - Identifier 226204 226223 - Identifier 226224 226232 - QuestionToken 226233 226235 - Identifier 226235 226244 - ColonToken 226244 226246 - ConditionalExpression 226246 226369 - BinaryExpression 226246 226339 - BinaryExpression 226246 226302 - PropertyAccessExpression 226246 226262 - Identifier 226246 226255 - Identifier 226256 226262 - AmpersandAmpersandToken 226262 226265 - CallExpression 226265 226302 - Identifier 226265 226285 - PropertyAccessExpression 226286 226301 - Identifier 226286 226294 - Identifier 226295 226301 - AmpersandAmpersandToken 226302 226305 - BinaryExpression 226305 226339 - PropertyAccessExpression 226305 226326 - PropertyAccessExpression 226305 226321 - Identifier 226305 226314 - Identifier 226315 226321 - Identifier 226322 226326 - EqualsEqualsEqualsToken 226326 226330 - Identifier 226330 226339 - QuestionToken 226339 226341 - PropertyAccessExpression 226341 226357 - Identifier 226341 226350 - Identifier 226351 226357 - ColonToken 226357 226359 - Identifier 226359 226369 - QuestionDotToken 226370 226372 - Identifier 226372 226376 - BarBarToken 226376 226379 - PropertyAccessExpression 226379 226473 - PropertyAccessExpression 226379 226465 - ParenthesizedExpression 226379 226455 - ConditionalExpression 226398 226454 - CallExpression 226398 226431 - Identifier 226398 226421 - Identifier 226422 226430 - QuestionToken 226431 226433 - Identifier 226433 226442 - ColonToken 226442 226444 - Identifier 226444 226454 - QuestionDotToken 226455 226457 - Identifier 226457 226465 - Identifier 226466 226473 - BarBarToken 226473 226476 - ParenthesizedExpression 226476 226681 - ConditionalExpression 226495 226680 - BinaryExpression 226495 226632 - BinaryExpression 226495 226550 - CallExpression 226495 226526 - Identifier 226495 226516 - Identifier 226517 226525 - AmpersandAmpersandToken 226526 226529 - PropertyAccessExpression 226529 226550 - Identifier 226529 226538 - Identifier 226539 226550 - AmpersandAmpersandToken 226550 226553 - CallExpression 226553 226632 - Identifier 226553 226567 - PropertyAccessExpression 226568 226588 - Identifier 226568 226576 - Identifier 226577 226588 - TrueKeyword 226589 226631 - QuestionToken 226632 226634 - ElementAccessExpression 226634 226668 - PropertyAccessExpression 226634 226665 - PropertyAccessExpression 226634 226655 - Identifier 226634 226643 - Identifier 226644 226655 - Identifier 226656 226665 - NumericLiteral 226666 226667 - ColonToken 226668 226670 - Identifier 226670 226680 - BarBarToken 226681 226684 - ElementAccessExpression 226684 226752 - PropertyAccessExpression 226684 226749 - CallExpression 226684 226738 - Identifier 226684 226714 - Identifier 226715 226723 - Identifier 226724 226737 - QuestionDotToken 226738 226740 - Identifier 226740 226749 - NumericLiteral 226750 226751 - BarBarToken 226752 226755 - PropertyAccessExpression 226755 226876 - CallExpression 226755 226859 - Identifier 226755 226785 - Identifier 226786 226794 - CallExpression 226795 226858 - Identifier 226795 226798 - Identifier 226799 226818 - Identifier 226819 226836 - Identifier 226837 226857 - QuestionDotToken 226859 226861 - Identifier 226861 226876 - BarBarToken 226876 226879 - PropertyAccessExpression 226879 226988 - PropertyAccessExpression 226879 226977 - CallExpression 226879 226960 - Identifier 226879 226909 - Identifier 226910 226918 - Identifier 226919 226959 - QuestionDotToken 226960 226962 - Identifier 226962 226977 - Identifier 226978 226988 - VariableStatement 226989 227222 - VariableDeclarationList 226989 227221 - VariableDeclaration 227004 227221 - Identifier 227004 227009 - ConditionalExpression 227011 227221 - BinaryExpression 227011 227069 - Identifier 227011 227028 - AmpersandAmpersandToken 227028 227031 - CallExpression 227031 227069 - Identifier 227031 227051 - Identifier 227052 227068 - QuestionToken 227069 227084 - CallExpression 227084 227150 - PropertyAccessExpression 227084 227113 - Identifier 227084 227089 - Identifier 227090 227113 - Identifier 227114 227131 - Identifier 227132 227149 - ColonToken 227150 227165 - CallExpression 227165 227221 - PropertyAccessExpression 227165 227202 - Identifier 227165 227170 - Identifier 227171 227202 - Identifier 227203 227220 - VariableStatement 227222 227306 - VariableDeclarationList 227222 227305 - VariableDeclaration 227237 227305 - Identifier 227237 227258 - CallExpression 227260 227305 - Identifier 227260 227288 - Identifier 227289 227304 - VariableStatement 227306 227420 - VariableDeclarationList 227306 227419 - VariableDeclaration 227321 227419 - Identifier 227321 227336 - PropertyAccessExpression 227338 227419 - CallExpression 227338 227403 - PropertyAccessExpression 227338 227361 - Identifier 227338 227343 - Identifier 227344 227361 - Identifier 227362 227379 - Identifier 227380 227396 - Identifier 227397 227402 - QuestionDotToken 227403 227405 - Identifier 227405 227419 - VariableStatement 227420 227566 - VariableDeclarationList 227420 227565 - VariableDeclaration 227435 227565 - Identifier 227435 227456 - BinaryExpression 227458 227565 - BinaryExpression 227458 227486 - Identifier 227458 227468 - AmpersandAmpersandToken 227468 227471 - Identifier 227471 227486 - AmpersandAmpersandToken 227486 227489 - CallExpression 227489 227565 - Identifier 227489 227513 - Identifier 227514 227529 - Identifier 227530 227545 - Identifier 227546 227564 - VariableStatement 227566 227804 - VariableDeclarationList 227566 227803 - VariableDeclaration 227581 227803 - Identifier 227581 227592 - BinaryExpression 227594 227803 - BinaryExpression 227594 227735 - Identifier 227594 227609 - AmpersandAmpersandToken 227609 227625 - ParenthesizedExpression 227625 227735 - BinaryExpression 227627 227734 - PrefixUnaryExpression 227627 227648 - Identifier 227628 227648 - BarBarToken 227648 227651 - BinaryExpression 227651 227734 - Identifier 227651 227672 - EqualsEqualsEqualsToken 227672 227676 - PropertyAccessExpression 227676 227734 - Identifier 227676 227688 - Identifier 227689 227734 - AmpersandAmpersandToken 227735 227751 - CallExpression 227751 227803 - PropertyAccessExpression 227751 227770 - Identifier 227751 227756 - Identifier 227757 227770 - PropertyAccessExpression 227771 227802 - Identifier 227771 227785 - Identifier 227786 227802 - IfStatement 227804 236074 - Identifier 227818 227828 - Block 227829 236074 - IfStatement 227831 228096 - Identifier 227951 227971 - Block 227972 228096 - ExpressionStatement 227974 228081 - CallExpression 227974 228080 - Identifier 227974 227997 - Identifier 227998 228007 - Identifier 228008 228029 - Identifier 228030 228046 - PropertyAccessExpression 228047 228079 - Identifier 228047 228062 - Identifier 228063 228079 - IfStatement 228096 232399 - BinaryExpression 228116 228197 - PropertyAccessExpression 228116 228155 - Identifier 228116 228130 - Identifier 228131 228155 - AmpersandAmpersandToken 228155 228158 - CallExpression 228158 228197 - Identifier 228158 228180 - Identifier 228181 228196 - Block 228198 228905 - VariableStatement 228200 228398 - VariableDeclarationList 228200 228397 - VariableDeclaration 228223 228397 - Identifier 228223 228238 - BinaryExpression 228240 228397 - PropertyAccessExpression 228240 228298 - CallExpression 228240 228284 - Identifier 228240 228253 - Identifier 228254 228262 - Identifier 228263 228283 - QuestionDotToken 228284 228286 - Identifier 228286 228298 - BarBarToken 228298 228301 - CallExpression 228301 228397 - Identifier 228301 228335 - Identifier 228336 228344 - CallExpression 228345 228396 - Identifier 228345 228348 - Identifier 228349 228374 - Identifier 228375 228395 - IfStatement 228398 228890 - BinaryExpression 228420 228517 - BinaryExpression 228420 228477 - BinaryExpression 228420 228447 - Identifier 228420 228429 - AmpersandAmpersandToken 228429 228432 - Identifier 228432 228447 - AmpersandAmpersandToken 228447 228450 - PrefixUnaryExpression 228450 228477 - PropertyAccessExpression 228452 228477 - Identifier 228452 228466 - Identifier 228467 228477 - BarBarToken 228477 228480 - CallExpression 228480 228517 - Identifier 228480 228493 - Identifier 228494 228502 - Identifier 228503 228516 - Block 228518 228890 - ExpressionStatement 228520 228871 - CallExpression 228520 228870 - Identifier 228520 228547 - Identifier 228548 228583 - PropertyAccessExpression 228584 228735 - Identifier 228584 228621 - Identifier 228622 228735 - CallExpression 228736 228846 - Identifier 228736 228786 - CallExpression 228787 228845 - PropertyAccessExpression 228787 228805 - Identifier 228787 228792 - Identifier 228793 228805 - CallExpression 228806 228844 - Identifier 228806 228827 - Identifier 228828 228843 - IfStatement 228923 232399 - BinaryExpression 228928 229048 - PropertyAccessExpression 228928 228967 - Identifier 228928 228942 - Identifier 228943 228967 - AmpersandAmpersandToken 228967 228970 - PrefixUnaryExpression 228970 229048 - CallExpression 228972 229048 - Identifier 228972 229003 - Identifier 229004 229019 - PropertyAccessExpression 229020 229047 - Identifier 229020 229038 - Identifier 229039 229047 - Block 229049 229650 - VariableStatement 229051 229249 - VariableDeclarationList 229051 229248 - VariableDeclaration 229074 229248 - Identifier 229074 229089 - BinaryExpression 229091 229248 - PropertyAccessExpression 229091 229149 - CallExpression 229091 229135 - Identifier 229091 229104 - Identifier 229105 229113 - Identifier 229114 229134 - QuestionDotToken 229135 229137 - Identifier 229137 229149 - BarBarToken 229149 229152 - CallExpression 229152 229248 - Identifier 229152 229186 - Identifier 229187 229195 - CallExpression 229196 229247 - Identifier 229196 229199 - Identifier 229200 229225 - Identifier 229226 229246 - IfStatement 229249 229635 - BinaryExpression 229271 229357 - Identifier 229271 229280 - AmpersandAmpersandToken 229280 229283 - PrefixUnaryExpression 229283 229357 - ParenthesizedExpression 229285 229357 - BinaryExpression 229286 229356 - PropertyAccessExpression 229286 229312 - Identifier 229286 229300 - QuestionDotToken 229300 229302 - Identifier 229302 229312 - BarBarToken 229312 229315 - CallExpression 229315 229356 - Identifier 229315 229328 - Identifier 229329 229337 - Identifier 229338 229355 - Block 229358 229635 - VariableStatement 229360 229461 - VariableDeclarationList 229360 229460 - VariableDeclaration 229387 229460 - Identifier 229387 229399 - CallExpression 229401 229460 - PropertyAccessExpression 229401 229420 - Identifier 229401 229407 - Identifier 229408 229420 - CallExpression 229421 229459 - Identifier 229421 229442 - Identifier 229443 229458 - ExpressionStatement 229461 229616 - CallExpression 229461 229615 - Identifier 229461 229488 - Identifier 229489 229498 - PropertyAccessExpression 229499 229601 - Identifier 229499 229511 - Identifier 229512 229601 - Identifier 229602 229614 - IfStatement 229668 232399 - BinaryExpression 229673 229984 - BinaryExpression 229673 229911 - BinaryExpression 229673 229856 - BinaryExpression 229673 229796 - PropertyAccessExpression 229673 229738 - Identifier 229673 229706 - Identifier 229707 229738 - AmpersandAmpersandToken 229738 229758 - PrefixUnaryExpression 229758 229796 - ParenthesizedExpression 229760 229796 - BinaryExpression 229761 229795 - PropertyAccessExpression 229761 229775 - Identifier 229761 229769 - Identifier 229770 229775 - AmpersandToken 229775 229777 - PropertyAccessExpression 229777 229795 - Identifier 229777 229787 - Identifier 229788 229795 - AmpersandAmpersandToken 229796 229816 - PrefixUnaryExpression 229816 229856 - CallExpression 229818 229856 - Identifier 229818 229839 - Identifier 229840 229855 - AmpersandAmpersandToken 229856 229876 - PrefixUnaryExpression 229876 229911 - CallExpression 229878 229911 - Identifier 229878 229901 - Identifier 229902 229910 - AmpersandAmpersandToken 229911 229931 - PrefixUnaryExpression 229931 229984 - CallExpression 229933 229984 - Identifier 229933 229974 - Identifier 229975 229983 - Block 229999 232399 - VariableStatement 230001 230104 - VariableDeclarationList 230001 230103 - VariableDeclaration 230024 230103 - Identifier 230024 230038 - CallExpression 230040 230103 - Identifier 230040 230069 - Identifier 230070 230085 - Identifier 230086 230102 - IfStatement 230104 232384 - BinaryExpression 230126 230183 - PrefixUnaryExpression 230126 230166 - PropertyAccessExpression 230127 230166 - Identifier 230127 230141 - Identifier 230142 230166 - AmpersandAmpersandToken 230166 230169 - Identifier 230169 230183 - Block 230184 230637 - ExpressionStatement 230186 230618 - CallExpression 230186 230617 - Identifier 230186 230213 - Identifier 230214 230249 - PropertyAccessExpression 230250 230395 - Identifier 230250 230287 - Identifier 230288 230395 - CallExpression 230396 230593 - Identifier 230396 230445 - CallExpression 230446 230527 - Identifier 230446 230471 - PropertyAccessExpression 230472 230498 - Identifier 230472 230489 - Identifier 230490 230498 - CallExpression 230499 230526 - PropertyAccessExpression 230499 230524 - Identifier 230499 230504 - Identifier 230505 230524 - PropertyAccessExpression 230528 230560 - Identifier 230528 230543 - Identifier 230544 230560 - CallExpression 230561 230592 - Identifier 230561 230586 - Identifier 230587 230591 - IfStatement 230659 232384 - BinaryExpression 230664 230765 - BinaryExpression 230664 230721 - PropertyAccessExpression 230664 230703 - Identifier 230664 230678 - Identifier 230679 230703 - AmpersandAmpersandToken 230703 230706 - PrefixUnaryExpression 230706 230721 - Identifier 230708 230721 - AmpersandAmpersandToken 230721 230724 - CallExpression 230724 230765 - Identifier 230724 230747 - Identifier 230748 230758 - Identifier 230759 230764 - Block 230766 231122 - ExpressionStatement 230768 231103 - CallExpression 230768 231102 - Identifier 230768 230795 - Identifier 230796 230831 - PropertyAccessExpression 230832 231011 - Identifier 230832 230869 - Identifier 230870 231011 - CallExpression 231012 231078 - Identifier 231012 231061 - Identifier 231062 231077 - IfStatement 231144 232384 - BinaryExpression 231149 231205 - PropertyAccessExpression 231149 231188 - Identifier 231149 231163 - Identifier 231164 231188 - AmpersandAmpersandToken 231188 231191 - Identifier 231191 231205 - Block 231206 232384 - VariableStatement 231208 231307 - VariableDeclarationList 231208 231306 - VariableDeclaration 231235 231306 - Identifier 231235 231244 - CallExpression 231246 231306 - PropertyAccessExpression 231246 231289 - Identifier 231246 231251 - Identifier 231252 231289 - PropertyAccessExpression 231290 231305 - Identifier 231290 231300 - Identifier 231301 231305 - IfStatement 231307 232365 - Identifier 231333 231341 - Block 231342 232365 - VariableStatement 231344 231423 - VariableDeclarationList 231344 231422 - VariableDeclaration 231375 231422 - Identifier 231375 231386 - PrefixUnaryExpression 231388 231422 - CallExpression 231390 231422 - PropertyAccessExpression 231390 231420 - Identifier 231390 231394 - Identifier 231395 231420 - VariableStatement 231423 231500 - VariableDeclarationList 231423 231499 - VariableDeclaration 231454 231499 - Identifier 231454 231465 - CallExpression 231467 231499 - PropertyAccessExpression 231467 231497 - Identifier 231467 231472 - Identifier 231473 231497 - VariableStatement 231500 231614 - VariableDeclarationList 231500 231613 - VariableDeclaration 231531 231613 - Identifier 231531 231544 - CallExpression 231546 231613 - Identifier 231546 231579 - PropertyAccessExpression 231580 231600 - Identifier 231580 231588 - Identifier 231589 231600 - Identifier 231601 231612 - VariableStatement 231614 231727 - VariableDeclarationList 231614 231726 - VariableDeclaration 231645 231726 - Identifier 231645 231657 - CallExpression 231659 231726 - Identifier 231659 231688 - Identifier 231689 231699 - Identifier 231700 231713 - Identifier 231714 231725 - VariableStatement 231727 231904 - VariableDeclarationList 231727 231903 - VariableDeclaration 231758 231903 - Identifier 231758 231769 - CallExpression 231771 231903 - Identifier 231771 231800 - BinaryExpression 231801 231837 - PropertyAccessExpression 231801 231823 - Identifier 231801 231816 - Identifier 231817 231823 - BarBarToken 231823 231826 - Identifier 231826 231837 - BinaryExpression 231838 231890 - PropertyAccessExpression 231838 231874 - PropertyAccessExpression 231838 231867 - PropertyAccessExpression 231838 231859 - Identifier 231838 231847 - Identifier 231848 231859 - Identifier 231860 231867 - Identifier 231868 231874 - BarBarToken 231874 231877 - Identifier 231877 231890 - Identifier 231891 231902 - IfStatement 231904 232342 - BinaryExpression 231934 231960 - Identifier 231934 231945 - ExclamationEqualsEqualsToken 231945 231949 - Identifier 231949 231960 - Block 231961 232342 - ExpressionStatement 231963 232315 - CallExpression 231963 232314 - Identifier 231963 231998 - Identifier 231999 232042 - PropertyAccessExpression 232043 232282 - Identifier 232043 232088 - Identifier 232089 232282 - IfStatement 232399 235779 - PropertyAccessExpression 232419 232436 - Identifier 232419 232429 - Identifier 232430 232436 - Block 232437 235779 - IfStatement 232439 232729 - BinaryExpression 232461 232572 - BinaryExpression 232461 232512 - Identifier 232461 232470 - AmpersandAmpersandToken 232470 232473 - PropertyAccessExpression 232473 232512 - Identifier 232473 232488 - Identifier 232489 232512 - AmpersandAmpersandToken 232512 232515 - PrefixUnaryExpression 232515 232572 - CallExpression 232517 232572 - Identifier 232517 232546 - PropertyAccessExpression 232547 232571 - Identifier 232547 232561 - Identifier 232562 232571 - Block 232573 232729 - ExpressionStatement 232575 232710 - CallExpression 232575 232709 - Identifier 232575 232621 - FalseKeyword 232622 232639 - Identifier 232640 232650 - Identifier 232651 232669 - Identifier 232670 232675 - Identifier 232676 232691 - Identifier 232692 232708 - IfStatement 232729 235609 - BinaryExpression 232751 232834 - Identifier 232751 232760 - AmpersandAmpersandToken 232760 232763 - ParenthesizedExpression 232763 232834 - BinaryExpression 232765 232833 - BinaryExpression 232765 232797 - Identifier 232765 232775 - EqualsEqualsEqualsToken 232775 232779 - PropertyAccessExpression 232779 232797 - Identifier 232779 232790 - Identifier 232791 232797 - BarBarToken 232797 232800 - BinaryExpression 232800 232833 - Identifier 232800 232811 - EqualsEqualsEqualsToken 232811 232815 - PropertyAccessExpression 232815 232833 - Identifier 232815 232826 - Identifier 232827 232833 - Block 232835 235609 - VariableStatement 232837 233038 - VariableDeclarationList 232837 233037 - VariableDeclaration 232864 233037 - Identifier 232864 232877 - BinaryExpression 232879 233037 - ParenthesizedExpression 232879 232982 - BinaryExpression 232881 232981 - BinaryExpression 232881 232940 - PropertyAccessExpression 232881 232916 - Identifier 232881 232898 - Identifier 232899 232916 - EqualsEqualsEqualsToken 232916 232920 - PropertyAccessExpression 232920 232940 - Identifier 232920 232931 - Identifier 232932 232940 - AmpersandAmpersandToken 232940 232943 - PrefixUnaryExpression 232943 232981 - CallExpression 232945 232981 - Identifier 232945 232957 - Identifier 232958 232966 - Identifier 232967 232980 - BarBarToken 232982 232985 - PrefixUnaryExpression 232985 233037 - PrefixUnaryExpression 232987 233037 - CallExpression 232988 233037 - Identifier 232988 233000 - Identifier 233001 233009 - Identifier 233010 233036 - VariableStatement 233038 233205 - VariableDeclarationList 233038 233204 - VariableDeclaration 233065 233204 - Identifier 233065 233078 - CallExpression 233080 233204 - Identifier 233080 233093 - Identifier 233094 233102 - ArrowFunction 233103 233203 - Parameter 233103 233105 - Identifier 233103 233105 - EqualsGreaterThanToken 233105 233108 - BinaryExpression 233108 233203 - BinaryExpression 233108 233180 - BinaryExpression 233108 233154 - CallExpression 233108 233128 - Identifier 233108 233125 - Identifier 233126 233127 - BarBarToken 233128 233131 - CallExpression 233131 233154 - Identifier 233131 233151 - Identifier 233152 233153 - BarBarToken 233154 233157 - CallExpression 233157 233180 - Identifier 233157 233177 - Identifier 233178 233179 - BarBarToken 233180 233183 - CallExpression 233183 233203 - Identifier 233183 233200 - Identifier 233201 233202 - IfStatement 233205 235590 - BinaryExpression 233441 233551 - BinaryExpression 233441 233507 - Identifier 233441 233453 - AmpersandAmpersandToken 233453 233456 - BinaryExpression 233456 233507 - PropertyAccessExpression 233456 233485 - Identifier 233456 233467 - Identifier 233468 233485 - EqualsEqualsEqualsToken 233485 233489 - PropertyAccessExpression 233489 233507 - Identifier 233489 233500 - Identifier 233501 233507 - AmpersandAmpersandToken 233507 233510 - PrefixUnaryExpression 233510 233551 - CallExpression 233512 233551 - Identifier 233512 233537 - Identifier 233538 233550 - Block 233552 235590 - IfStatement 233554 235567 - CallExpression 233584 233633 - Identifier 233584 233596 - Identifier 233597 233605 - Identifier 233606 233632 - Block 233634 233993 - ExpressionStatement 233636 233966 - CallExpression 233636 233965 - Identifier 233636 233760 - Identifier 233761 233770 - PropertyAccessExpression 233771 233947 - Identifier 233771 233783 - Identifier 233784 233947 - Identifier 233948 233964 - Block 234023 235567 - VariableStatement 234025 234143 - VariableDeclarationList 234025 234142 - VariableDeclaration 234124 234142 - Identifier 234124 234142 - VariableStatement 234143 234237 - VariableDeclarationList 234143 234236 - VariableDeclaration 234178 234236 - Identifier 234178 234182 - CallExpression 234184 234236 - Identifier 234184 234208 - PropertyAccessExpression 234209 234235 - Identifier 234209 234226 - Identifier 234227 234235 - IfStatement 234237 234498 - BinaryExpression 234271 234365 - BinaryExpression 234271 234340 - BinaryExpression 234271 234315 - BinaryExpression 234271 234291 - Identifier 234271 234274 - EqualsEqualsEqualsToken 234274 234278 - PropertyAccessExpression 234278 234291 - Identifier 234278 234288 - Identifier 234289 234291 - BarBarToken 234291 234294 - BinaryExpression 234294 234315 - Identifier 234294 234298 - EqualsEqualsEqualsToken 234298 234302 - PropertyAccessExpression 234302 234315 - Identifier 234302 234312 - Identifier 234313 234315 - BarBarToken 234315 234318 - BinaryExpression 234318 234340 - Identifier 234318 234322 - EqualsEqualsEqualsToken 234322 234326 - PropertyAccessExpression 234326 234340 - Identifier 234326 234336 - Identifier 234337 234340 - BarBarToken 234340 234343 - BinaryExpression 234343 234365 - Identifier 234343 234347 - EqualsEqualsEqualsToken 234347 234351 - PropertyAccessExpression 234351 234365 - Identifier 234351 234361 - Identifier 234362 234365 - Block 234366 234498 - ExpressionStatement 234368 234467 - BinaryExpression 234368 234466 - Identifier 234368 234419 - EqualsToken 234419 234421 - CallExpression 234421 234466 - Identifier 234421 234447 - Identifier 234448 234465 - VariableStatement 234498 235209 - VariableDeclarationList 234498 235208 - VariableDeclaration 234535 235208 - Identifier 234535 234543 - ConditionalExpression 234545 235208 - BinaryExpression 234545 234638 - BinaryExpression 234545 234597 - PropertyAccessExpression 234545 234564 - Identifier 234545 234558 - QuestionDotToken 234558 234560 - Identifier 234560 234564 - EqualsEqualsEqualsToken 234564 234568 - PropertyAccessExpression 234568 234597 - Identifier 234568 234579 - Identifier 234580 234597 - AmpersandAmpersandToken 234597 234600 - PropertyAccessExpression 234600 234638 - PropertyAccessExpression 234600 234626 - Identifier 234600 234613 - Identifier 234614 234626 - QuestionDotToken 234626 234628 - Identifier 234628 234638 - QuestionToken 234638 234640 - PropertyAccessExpression 234640 234754 - Identifier 234640 234652 - Identifier 234653 234754 - ColonToken 234754 234756 - ConditionalExpression 234756 235208 - BinaryExpression 234756 234834 - PropertyAccessExpression 234756 234808 - Identifier 234756 234802 - QuestionDotToken 234802 234804 - Identifier 234804 234808 - EqualsEqualsEqualsToken 234808 234812 - PropertyAccessExpression 234812 234834 - Identifier 234812 234823 - Identifier 234824 234834 - QuestionToken 234834 234836 - PropertyAccessExpression 234836 234945 - Identifier 234836 234848 - Identifier 234849 234945 - ColonToken 234945 234947 - PropertyAccessExpression 234947 235208 - Identifier 234947 234992 - Identifier 234993 235208 - ExpressionStatement 235209 235540 - CallExpression 235209 235539 - PropertyAccessExpression 235209 235254 - Identifier 235209 235250 - Identifier 235251 235254 - CallExpression 235255 235538 - Identifier 235255 235294 - CallExpression 235295 235359 - Identifier 235295 235348 - Identifier 235349 235358 - Identifier 235360 235403 - CallExpression 235404 235506 - Identifier 235404 235461 - Identifier 235462 235479 - Identifier 235480 235488 - Identifier 235489 235505 - ReturnStatement 235609 235764 - CallExpression 235728 235763 - Identifier 235728 235744 - PropertyAccessExpression 235745 235762 - Identifier 235745 235755 - Identifier 235756 235762 - IfStatement 235779 236032 - BinaryExpression 235797 235863 - BinaryExpression 235797 235829 - Identifier 235797 235806 - AmpersandAmpersandToken 235806 235809 - Identifier 235809 235829 - AmpersandAmpersandToken 235829 235832 - PrefixUnaryExpression 235832 235863 - CallExpression 235834 235863 - Identifier 235834 235852 - Identifier 235853 235862 - Block 235864 236032 - ExpressionStatement 235866 236017 - CallExpression 235866 236016 - Identifier 235866 235948 - Identifier 235949 235958 - PropertyAccessExpression 235959 235994 - Identifier 235959 235971 - Identifier 235972 235994 - PropertyAccessExpression 235995 236015 - Identifier 235995 236006 - Identifier 236007 236015 - ReturnStatement 236032 236063 - Identifier 236052 236062 - IfStatement 236074 236934 - Identifier 236090 236111 - Block 236112 236934 - VariableStatement 236114 236221 - VariableDeclarationList 236114 236220 - VariableDeclaration 236133 236220 - Identifier 236133 236141 - CallExpression 236143 236220 - Identifier 236143 236164 - Identifier 236165 236186 - ArrowFunction 236187 236202 - Parameter 236187 236189 - Identifier 236187 236189 - EqualsGreaterThanToken 236189 236192 - PropertyAccessExpression 236192 236202 - Identifier 236192 236194 - Identifier 236195 236202 - Identifier 236203 236219 - IfStatement 236221 236923 - Identifier 236239 236246 - Block 236247 236923 - VariableStatement 236249 236736 - VariableDeclarationList 236249 236735 - VariableDeclaration 236628 236735 - Identifier 236628 236641 - BinaryExpression 236643 236735 - Identifier 236643 236677 - AmpersandAmpersandToken 236677 236680 - CallExpression 236680 236735 - PropertyAccessExpression 236680 236718 - Identifier 236680 236714 - Identifier 236715 236718 - Identifier 236719 236734 - IfStatement 236736 236851 - Identifier 236758 236770 - Block 236771 236851 - ReturnStatement 236773 236832 - CallExpression 236801 236831 - Identifier 236801 236817 - Identifier 236818 236830 - ReturnStatement 236851 236908 - CallExpression 236875 236907 - Identifier 236875 236891 - PropertyAccessExpression 236892 236906 - Identifier 236892 236899 - Identifier 236900 236906 - IfStatement 236934 237005 - PrefixUnaryExpression 236950 236960 - Identifier 236951 236960 - Block 236961 237005 - ReturnStatement 236963 236994 - Identifier 236983 236993 - IfStatement 237005 238007 - BinaryExpression 237095 237323 - BinaryExpression 237095 237207 - BinaryExpression 237095 237169 - Identifier 237095 237109 - AmpersandAmpersandToken 237109 237112 - PrefixUnaryExpression 237112 237169 - CallExpression 237114 237169 - Identifier 237114 237143 - PropertyAccessExpression 237144 237168 - Identifier 237144 237158 - Identifier 237159 237168 - AmpersandAmpersandToken 237169 237172 - BinaryExpression 237172 237207 - Identifier 237172 237193 - EqualsEqualsEqualsToken 237193 237197 - Identifier 237197 237207 - BarBarToken 237207 237210 - BinaryExpression 237210 237323 - Identifier 237210 237231 - EqualsEqualsEqualsToken 237231 237235 - PropertyAccessExpression 237235 237323 - Identifier 237235 237247 - Identifier 237248 237323 - Block 237324 238007 - IfStatement 237326 237820 - Identifier 237344 237361 - Block 237362 237620 - VariableStatement 237364 237513 - VariableDeclarationList 237364 237512 - VariableDeclaration 237387 237512 - Identifier 237387 237392 - PropertyAccessExpression 237394 237512 - Identifier 237394 237406 - Identifier 237407 237512 - ExpressionStatement 237513 237605 - CallExpression 237513 237604 - Identifier 237513 237536 - Identifier 237537 237546 - Identifier 237547 237552 - Identifier 237553 237569 - PropertyAccessExpression 237570 237603 - NonNullExpression 237570 237586 - Identifier 237570 237585 - Identifier 237587 237603 - Block 237638 237820 - ExpressionStatement 237640 237805 - CallExpression 237640 237804 - Identifier 237640 237682 - BinaryExpression 237683 237733 - Identifier 237683 237708 - AmpersandAmpersandToken 237708 237711 - PrefixUnaryExpression 237711 237733 - PrefixUnaryExpression 237713 237733 - Identifier 237714 237733 - Identifier 237734 237744 - Identifier 237745 237763 - Identifier 237764 237769 - NonNullExpression 237770 237786 - Identifier 237770 237785 - Identifier 237787 237803 - ReturnStatement 237820 237996 - Identifier 237985 237995 - IfStatement 238007 241081 - Identifier 238023 238042 - Block 238043 241081 - IfStatement 238045 238503 - Identifier 238132 238146 - Block 238147 238503 - VariableStatement 238149 238250 - VariableDeclarationList 238149 238249 - VariableDeclaration 238172 238249 - Identifier 238172 238181 - CallExpression 238183 238249 - PropertyAccessExpression 238183 238216 - Identifier 238183 238188 - Identifier 238189 238216 - PropertyAccessExpression 238217 238248 - Identifier 238217 238231 - Identifier 238232 238248 - IfStatement 238250 238488 - Identifier 238272 238280 - Block 238281 238488 - ExpressionStatement 238283 238430 - CallExpression 238283 238429 - Identifier 238283 238310 - Identifier 238311 238320 - PropertyAccessExpression 238321 238385 - Identifier 238321 238333 - Identifier 238334 238385 - Identifier 238386 238395 - PropertyAccessExpression 238396 238428 - Identifier 238396 238411 - Identifier 238412 238428 - ReturnStatement 238430 238469 - Identifier 238458 238468 - IfStatement 238503 241070 - Identifier 238523 238543 - Block 238544 238668 - ExpressionStatement 238546 238653 - CallExpression 238546 238652 - Identifier 238546 238569 - Identifier 238570 238579 - Identifier 238580 238601 - Identifier 238602 238618 - PropertyAccessExpression 238619 238651 - Identifier 238619 238634 - Identifier 238635 238651 - Block 238686 241070 - VariableStatement 238688 238814 - VariableDeclarationList 238688 238813 - VariableDeclaration 238711 238813 - Identifier 238711 238745 - BinaryExpression 238747 238813 - CallExpression 238747 238779 - Identifier 238747 238762 - Identifier 238763 238778 - AmpersandAmpersandToken 238779 238782 - PrefixUnaryExpression 238782 238813 - CallExpression 238784 238813 - Identifier 238784 238796 - Identifier 238797 238812 - VariableStatement 238814 238997 - VariableDeclarationList 238814 238996 - VariableDeclaration 238837 238996 - Identifier 238837 238862 - BinaryExpression 238864 238996 - BinaryExpression 238864 238917 - Identifier 238864 238885 - EqualsEqualsEqualsToken 238885 238889 - PropertyAccessExpression 238889 238917 - Identifier 238889 238910 - Identifier 238911 238917 - BarBarToken 238917 238920 - BinaryExpression 238920 238996 - Identifier 238920 238962 - EqualsEqualsEqualsToken 238962 238966 - PropertyAccessExpression 238966 238996 - Identifier 238966 238987 - Identifier 238988 238996 - IfStatement 238997 241055 - BinaryExpression 239019 239296 - BinaryExpression 239019 239230 - BinaryExpression 239019 239152 - PrefixUnaryExpression 239019 239079 - CallExpression 239042 239079 - Identifier 239042 239062 - Identifier 239063 239078 - AmpersandAmpersandToken 239079 239082 - CallExpression 239082 239152 - Identifier 239082 239119 - Identifier 239120 239135 - PropertyAccessExpression 239136 239151 - Identifier 239136 239146 - Identifier 239147 239151 - AmpersandAmpersandToken 239152 239155 - BinaryExpression 239155 239230 - Identifier 239155 239197 - ExclamationEqualsEqualsToken 239197 239201 - PropertyAccessExpression 239201 239230 - Identifier 239201 239222 - Identifier 239223 239230 - AmpersandAmpersandToken 239230 239233 - CallExpression 239233 239296 - Identifier 239233 239279 - Identifier 239280 239295 - Block 239315 239496 - ExpressionStatement 239317 239477 - CallExpression 239317 239476 - Identifier 239317 239344 - Identifier 239345 239354 - PropertyAccessExpression 239355 239458 - Identifier 239355 239367 - Identifier 239368 239458 - Identifier 239459 239475 - IfStatement 239518 241055 - BinaryExpression 239523 239614 - BinaryExpression 239523 239577 - BinaryExpression 239523 239549 - Identifier 239523 239527 - EqualsEqualsEqualsToken 239527 239531 - PropertyAccessExpression 239531 239549 - Identifier 239531 239542 - Identifier 239543 239549 - AmpersandAmpersandToken 239549 239552 - Identifier 239552 239577 - AmpersandAmpersandToken 239577 239580 - Identifier 239580 239614 - Block 239615 240465 - VariableStatement 239617 239744 - VariableDeclarationList 239617 239743 - VariableDeclaration 239644 239743 - Identifier 239644 239656 - CallExpression 239658 239743 - Identifier 239658 239684 - Identifier 239685 239700 - CallExpression 239701 239742 - Identifier 239701 239718 - PropertyAccessExpression 239719 239741 - Identifier 239719 239736 - Identifier 239737 239741 - VariableStatement 239744 239888 - VariableDeclarationList 239744 239887 - VariableDeclaration 239771 239887 - Identifier 239771 239784 - ElementAccessExpression 239786 239887 - CallExpression 239786 239882 - PropertyAccessExpression 239786 239811 - Identifier 239786 239806 - Identifier 239807 239811 - ArrowFunction 239812 239881 - Parameter 239813 239836 - ArrayBindingPattern 239813 239836 - BindingElement 239814 239823 - Identifier 239814 239823 - BindingElement 239824 239835 - Identifier 239824 239835 - EqualsGreaterThanToken 239837 239840 - CallExpression 239840 239881 - PropertyAccessExpression 239840 239856 - Identifier 239840 239845 - Identifier 239846 239856 - BinaryExpression 239857 239880 - Identifier 239857 239868 - PlusToken 239868 239870 - Identifier 239870 239880 - QuestionDotToken 239882 239884 - NumericLiteral 239885 239886 - IfStatement 239888 240446 - Identifier 239914 239926 - Block 239927 240173 - ExpressionStatement 239929 240150 - CallExpression 239929 240149 - Identifier 239929 239960 - Identifier 239961 239970 - PropertyAccessExpression 239971 240116 - Identifier 239971 239983 - Identifier 239984 240116 - BinaryExpression 240117 240148 - Identifier 240117 240133 - PlusToken 240133 240135 - Identifier 240135 240148 - Block 240199 240446 - ExpressionStatement 240201 240423 - CallExpression 240201 240422 - Identifier 240201 240232 - Identifier 240233 240242 - PropertyAccessExpression 240243 240421 - Identifier 240243 240255 - Identifier 240256 240421 - Block 240487 241055 - IfStatement 240489 241036 - PropertyAccessExpression 240515 240596 - CallExpression 240515 240579 - PropertyAccessExpression 240515 240537 - Identifier 240515 240519 - Identifier 240520 240537 - Identifier 240538 240555 - Identifier 240556 240572 - Identifier 240573 240578 - QuestionDotToken 240579 240581 - Identifier 240581 240596 - Block 240597 240904 - VariableStatement 240599 240734 - VariableDeclarationList 240599 240733 - VariableDeclaration 240630 240733 - Identifier 240630 240640 - CallExpression 240642 240733 - Identifier 240642 240668 - Identifier 240669 240686 - Identifier 240687 240692 - Identifier 240693 240709 - Identifier 240710 240715 - Identifier 240716 240732 - ExpressionStatement 240734 240881 - CallExpression 240734 240880 - Identifier 240734 240777 - TrueKeyword 240778 240794 - Identifier 240795 240805 - CallExpression 240806 240879 - Identifier 240806 240830 - Identifier 240831 240840 - Identifier 240841 240861 - Identifier 240862 240878 - Block 240930 241036 - ExpressionStatement 240932 241013 - CallExpression 240932 241012 - Identifier 240932 240963 - Identifier 240964 240973 - Identifier 240974 240994 - Identifier 240995 241011 - ReturnStatement 241081 241108 - Identifier 241097 241107 - FunctionDeclaration 241108 242112 - Identifier 241128 241153 - Parameter 241154 241173 - Identifier 241154 241165 - StringKeyword 241166 241173 - Block 241174 242112 - VariableStatement 241176 241273 - VariableDeclarationList 241176 241272 - VariableDeclaration 241195 241272 - Identifier 241195 241224 - CallExpression 241226 241272 - Identifier 241226 241242 - Identifier 241243 241258 - Identifier 241259 241271 - IfStatement 241273 242051 - BinaryExpression 241492 241560 - CallExpression 241492 241530 - Identifier 241492 241518 - Identifier 241519 241529 - BarBarToken 241530 241533 - BinaryExpression 241533 241560 - Identifier 241533 241538 - EqualsEqualsEqualsToken 241538 241542 - PropertyAccessExpression 241542 241560 - Identifier 241542 241553 - Identifier 241554 241560 - Block 241561 242051 - VariableStatement 241563 241689 - VariableDeclarationList 241563 241688 - VariableDeclaration 241586 241688 - Identifier 241586 241595 - BinaryExpression 241597 241688 - CallExpression 241597 241636 - Identifier 241597 241619 - Identifier 241620 241635 - AmpersandAmpersandToken 241636 241639 - CallExpression 241639 241688 - Identifier 241639 241671 - Identifier 241672 241687 - VariableStatement 241689 241976 - VariableDeclarationList 241689 241975 - VariableDeclaration 241712 241975 - Identifier 241712 241716 - ConditionalExpression 241718 241975 - BinaryExpression 241718 241782 - BinaryExpression 241718 241748 - Identifier 241718 241730 - EqualsEqualsEqualsToken 241730 241734 - PropertyAccessExpression 241734 241748 - Identifier 241734 241744 - Identifier 241745 241748 - BarBarToken 241748 241751 - BinaryExpression 241751 241782 - Identifier 241751 241763 - EqualsEqualsEqualsToken 241763 241767 - PropertyAccessExpression 241767 241782 - Identifier 241767 241777 - Identifier 241778 241782 - QuestionToken 241782 241784 - ConditionalExpression 241784 241811 - Identifier 241784 241793 - QuestionToken 241793 241795 - StringLiteral 241795 241802 - ColonToken 241802 241804 - StringLiteral 241804 241811 - ColonToken 241811 241813 - ConditionalExpression 241813 241975 - BinaryExpression 241813 241898 - BinaryExpression 241813 241864 - Identifier 241813 241846 - EqualsEqualsEqualsToken 241846 241850 - PropertyAccessExpression 241850 241864 - Identifier 241850 241860 - Identifier 241861 241864 - BarBarToken 241864 241867 - BinaryExpression 241867 241898 - Identifier 241867 241879 - EqualsEqualsEqualsToken 241879 241883 - PropertyAccessExpression 241883 241898 - Identifier 241883 241893 - Identifier 241894 241898 - QuestionToken 241898 241900 - ConditionalExpression 241900 241927 - Identifier 241900 241909 - QuestionToken 241909 241911 - StringLiteral 241911 241918 - ColonToken 241918 241920 - StringLiteral 241920 241927 - ColonToken 241927 241929 - ConditionalExpression 241929 241975 - Identifier 241929 241959 - QuestionToken 241959 241961 - StringLiteral 241961 241967 - ColonToken 241967 241969 - StringLiteral 241969 241975 - ReturnStatement 241976 242036 - BinaryExpression 242000 242035 - Identifier 242000 242029 - PlusToken 242029 242031 - Identifier 242031 242035 - ReturnStatement 242051 242101 - Identifier 242071 242100 - FunctionDeclaration 242119 243013 - Identifier 242135 242160 - Parameter 242161 242177 - Identifier 242161 242168 - BooleanKeyword 242169 242177 - Parameter 242178 242194 - Identifier 242178 242188 - TypeReference 242189 242194 - Identifier 242189 242194 - Parameter 242195 242218 - Identifier 242195 242206 - TypeReference 242207 242218 - Identifier 242207 242218 - Parameter 242219 242240 - Identifier 242219 242224 - TypeReference 242225 242240 - Identifier 242225 242240 - Parameter 242241 242293 - ObjectBindingPattern 242241 242273 - BindingElement 242243 242253 - Identifier 242243 242253 - BindingElement 242254 242271 - Identifier 242254 242271 - TypeReference 242274 242293 - Identifier 242274 242293 - Parameter 242294 242318 - Identifier 242294 242310 - StringKeyword 242311 242318 - VoidKeyword 242320 242325 - Block 242325 243013 - IfStatement 242327 242405 - CallExpression 242341 242370 - Identifier 242341 242359 - Identifier 242360 242369 - Block 242371 242405 - ReturnStatement 242373 242394 - VariableStatement 242405 242467 - VariableDeclarationList 242405 242466 - VariableDeclaration 242420 242466 - Identifier 242420 242430 - UnionType 242431 242466 - TypeReference 242431 242454 - Identifier 242431 242454 - UndefinedKeyword 242456 242466 - IfStatement 242467 242663 - BinaryExpression 242481 242540 - PrefixUnaryExpression 242481 242527 - CallExpression 242482 242527 - Identifier 242482 242510 - Identifier 242511 242526 - AmpersandAmpersandToken 242527 242530 - Identifier 242530 242540 - Block 242541 242663 - ExpressionStatement 242543 242652 - BinaryExpression 242543 242651 - Identifier 242543 242566 - EqualsToken 242566 242568 - CallExpression 242568 242651 - Identifier 242568 242594 - Identifier 242595 242605 - Identifier 242606 242611 - Identifier 242612 242628 - Identifier 242629 242634 - PropertyAccessExpression 242635 242650 - Identifier 242635 242645 - Identifier 242646 242650 - ExpressionStatement 242663 243006 - CallExpression 242663 243005 - Identifier 242663 242690 - Identifier 242691 242712 - Identifier 242713 242736 - CallExpression 242737 242993 - Identifier 242737 242774 - Identifier 242775 242802 - PropertyAccessExpression 242803 242908 - Identifier 242803 242832 - Identifier 242833 242908 - Identifier 242909 242942 - Identifier 242943 242977 - FunctionDeclaration 243013 243116 - Identifier 243029 243057 - Parameter 243058 243078 - Identifier 243058 243070 - TypeReference 243071 243078 - Identifier 243071 243078 - Parameter 243079 243106 - Identifier 243079 243096 - QuestionToken 243096 243097 - BooleanKeyword 243098 243106 - TypeReference 243108 243115 - Identifier 243108 243115 - FunctionDeclaration 243116 243241 - Identifier 243130 243158 - Parameter 243159 243191 - Identifier 243159 243171 - UnionType 243172 243191 - TypeReference 243172 243179 - Identifier 243172 243179 - UndefinedKeyword 243181 243191 - Parameter 243192 243219 - Identifier 243192 243209 - QuestionToken 243209 243210 - BooleanKeyword 243211 243219 - UnionType 243221 243240 - TypeReference 243221 243228 - Identifier 243221 243228 - UndefinedKeyword 243230 243240 - FunctionDeclaration 243241 243756 - Identifier 243255 243283 - Parameter 243284 243316 - Identifier 243284 243296 - UnionType 243297 243316 - TypeReference 243297 243304 - Identifier 243297 243304 - UndefinedKeyword 243306 243316 - Parameter 243317 243344 - Identifier 243317 243334 - QuestionToken 243334 243335 - BooleanKeyword 243336 243344 - UnionType 243346 243365 - TypeReference 243346 243353 - Identifier 243346 243353 - UndefinedKeyword 243355 243365 - Block 243365 243756 - IfStatement 243367 243722 - PropertyAccessExpression 243381 243402 - Identifier 243381 243393 - QuestionDotToken 243393 243395 - Identifier 243395 243402 - Block 243403 243722 - VariableStatement 243405 243531 - VariableDeclarationList 243405 243530 - VariableDeclaration 243424 243530 - Identifier 243424 243437 - CallExpression 243439 243530 - Identifier 243439 243453 - CallExpression 243454 243511 - PropertyAccessExpression 243454 243478 - PropertyAccessExpression 243454 243474 - Identifier 243454 243466 - Identifier 243467 243474 - Identifier 243475 243478 - PropertyAccessExpression 243479 243510 - Identifier 243479 243497 - Identifier 243498 243510 - Identifier 243512 243529 - VariableStatement 243531 243648 - VariableDeclarationList 243531 243647 - VariableDeclaration 243550 243647 - Identifier 243550 243559 - CallExpression 243561 243647 - Identifier 243561 243585 - CallExpression 243586 243615 - Identifier 243586 243601 - Identifier 243602 243614 - CallExpression 243616 243646 - Identifier 243616 243632 - Identifier 243633 243645 - ReturnStatement 243648 243711 - BinaryExpression 243668 243710 - CallExpression 243668 243694 - Identifier 243668 243684 - Identifier 243685 243693 - BarBarToken 243694 243697 - Identifier 243697 243710 - ReturnStatement 243722 243749 - Identifier 243738 243748 - FunctionDeclaration 243756 245179 - Identifier 243772 243796 - Parameter 243797 243825 - Identifier 243797 243805 - UnionType 243806 243825 - TypeReference 243806 243813 - Identifier 243806 243813 - UndefinedKeyword 243815 243825 - Parameter 243826 243847 - Identifier 243826 243839 - TypeReference 243840 243847 - Identifier 243840 243847 - UnionType 243849 243868 - TypeReference 243849 243856 - Identifier 243849 243856 - UndefinedKeyword 243858 243868 - Block 243868 245179 - IfStatement 243870 244070 - BinaryExpression 243884 244026 - BinaryExpression 243884 243988 - BinaryExpression 243884 243952 - BinaryExpression 243884 243923 - PrefixUnaryExpression 243884 243893 - Identifier 243885 243893 - BarBarToken 243893 243896 - BinaryExpression 243896 243923 - Identifier 243896 243905 - EqualsEqualsEqualsToken 243905 243909 - Identifier 243909 243923 - BarBarToken 243923 243926 - BinaryExpression 243926 243952 - Identifier 243926 243935 - EqualsEqualsEqualsToken 243935 243939 - Identifier 243939 243952 - BarBarToken 243952 243955 - BinaryExpression 243955 243988 - PropertyAccessExpression 243955 243982 - NonNullExpression 243955 243977 - PropertyAccessExpression 243955 243976 - Identifier 243955 243968 - Identifier 243969 243976 - Identifier 243978 243982 - EqualsEqualsEqualsToken 243982 243986 - NumericLiteral 243986 243988 - BarBarToken 243988 243991 - BinaryExpression 243991 244026 - PropertyAccessExpression 243991 244006 - Identifier 243991 244000 - Identifier 244001 244006 - AmpersandToken 244006 244008 - PropertyAccessExpression 244008 244026 - Identifier 244008 244020 - Identifier 244021 244026 - Block 244027 244070 - ReturnStatement 244029 244059 - Identifier 244049 244058 - VariableStatement 244070 244119 - VariableDeclarationList 244070 244118 - VariableDeclaration 244085 244118 - Identifier 244085 244091 - CallExpression 244093 244118 - Identifier 244093 244108 - Identifier 244109 244117 - IfStatement 244119 244211 - PropertyAccessExpression 244133 244154 - Identifier 244133 244138 - Identifier 244139 244154 - Block 244155 244211 - ReturnStatement 244157 244200 - PropertyAccessExpression 244177 244199 - Identifier 244177 244183 - Identifier 244184 244199 - VariableStatement 244211 244310 - VariableDeclarationList 244211 244309 - VariableDeclaration 244226 244309 - Identifier 244226 244233 - ConditionalExpression 244235 244309 - BinaryExpression 244235 244274 - PropertyAccessExpression 244235 244250 - Identifier 244235 244244 - Identifier 244245 244250 - AmpersandToken 244250 244252 - PropertyAccessExpression 244252 244274 - Identifier 244252 244264 - Identifier 244265 244274 - QuestionToken 244274 244276 - Identifier 244276 244285 - ColonToken 244285 244287 - CallExpression 244287 244309 - Identifier 244287 244299 - Identifier 244300 244308 - ExpressionStatement 244310 244374 - BinaryExpression 244310 244373 - PropertyAccessExpression 244310 244332 - Identifier 244310 244326 - Identifier 244327 244332 - EqualsToken 244332 244334 - BinaryExpression 244334 244373 - PropertyAccessExpression 244334 244347 - Identifier 244334 244341 - Identifier 244342 244347 - BarToken 244347 244349 - PropertyAccessExpression 244349 244373 - Identifier 244349 244361 - Identifier 244362 244373 - IfStatement 244374 244481 - BinaryExpression 244388 244416 - PropertyAccessExpression 244388 244402 - Identifier 244388 244394 - Identifier 244395 244402 - EqualsEqualsEqualsToken 244402 244406 - Identifier 244406 244416 - Block 244417 244481 - ExpressionStatement 244419 244470 - BinaryExpression 244419 244469 - PropertyAccessExpression 244419 244447 - Identifier 244419 244439 - Identifier 244440 244447 - EqualsToken 244447 244449 - CallExpression 244449 244469 - Identifier 244449 244467 - ExpressionStatement 244481 244731 - CallExpression 244481 244730 - PropertyAccessExpression 244481 244520 - NonNullExpression 244481 244512 - PropertyAccessExpression 244481 244511 - Identifier 244481 244503 - Identifier 244504 244511 - Identifier 244513 244520 - ArrowFunction 244521 244729 - Parameter 244522 244523 - Identifier 244522 244523 - Parameter 244524 244529 - Identifier 244524 244529 - EqualsGreaterThanToken 244530 244533 - Block 244533 244729 - IfStatement 244535 244602 - BinaryExpression 244553 244593 - Identifier 244553 244557 - EqualsEqualsEqualsToken 244557 244561 - PropertyAccessExpression 244561 244593 - Identifier 244561 244580 - Identifier 244581 244593 - ReturnStatement 244594 244602 - ExpressionStatement 244602 244718 - CallExpression 244602 244717 - PropertyAccessExpression 244602 244635 - NonNullExpression 244602 244631 - PropertyAccessExpression 244602 244630 - Identifier 244602 244622 - Identifier 244623 244630 - Identifier 244632 244635 - Identifier 244636 244640 - ConditionalExpression 244641 244716 - CallExpression 244641 244667 - PropertyAccessExpression 244641 244661 - NonNullExpression 244641 244657 - PropertyAccessExpression 244641 244656 - Identifier 244641 244648 - Identifier 244649 244656 - Identifier 244658 244661 - Identifier 244662 244666 - QuestionToken 244667 244669 - CallExpression 244669 244712 - Identifier 244669 244681 - NonNullExpression 244682 244708 - CallExpression 244682 244707 - PropertyAccessExpression 244682 244701 - NonNullExpression 244682 244697 - PropertyAccessExpression 244682 244696 - Identifier 244682 244688 - Identifier 244689 244696 - Identifier 244698 244701 - Identifier 244702 244706 - Identifier 244709 244711 - ColonToken 244712 244714 - Identifier 244714 244716 - IfStatement 244731 245066 - BinaryExpression 244745 244764 - Identifier 244745 244751 - EqualsEqualsEqualsToken 244751 244755 - Identifier 244755 244764 - Block 244765 245066 - ExpressionStatement 244767 244990 - BinaryExpression 244767 244989 - PropertyAccessExpression 244767 244977 - CallExpression 244767 244961 - Identifier 244767 244953 - Identifier 244954 244960 - Identifier 244962 244977 - EqualsToken 244977 244979 - Identifier 244979 244989 - ExpressionStatement 244990 245055 - BinaryExpression 244990 245054 - PropertyAccessExpression 244990 245042 - CallExpression 244990 245026 - Identifier 244990 245018 - Identifier 245019 245025 - Identifier 245027 245042 - EqualsToken 245042 245044 - Identifier 245044 245054 - ExpressionStatement 245066 245124 - BinaryExpression 245066 245123 - PropertyAccessExpression 245066 245114 - CallExpression 245066 245098 - Identifier 245066 245090 - Identifier 245091 245097 - Identifier 245099 245114 - EqualsToken 245114 245116 - Identifier 245116 245123 - ReturnStatement 245124 245172 - BinaryExpression 245140 245171 - PropertyAccessExpression 245140 245162 - Identifier 245140 245146 - Identifier 245147 245162 - EqualsToken 245162 245164 - Identifier 245164 245171 - FunctionDeclaration 245179 248498 - Identifier 245549 245571 - Parameter 245572 245604 - Identifier 245572 245584 - UnionType 245585 245604 - TypeReference 245585 245592 - Identifier 245585 245592 - UndefinedKeyword 245594 245604 - Parameter 245605 245631 - Identifier 245605 245625 - TypeReference 245626 245631 - Identifier 245626 245631 - Parameter 245632 245658 - Identifier 245632 245649 - BooleanKeyword 245650 245658 - Parameter 245659 245689 - Identifier 245659 245680 - BooleanKeyword 245681 245689 - UnionType 245691 245710 - TypeReference 245691 245698 - Identifier 245691 245698 - UndefinedKeyword 245700 245710 - Block 245710 248498 - VariableStatement 245712 245797 - VariableDeclarationList 245712 245796 - VariableDeclaration 245727 245796 - Identifier 245727 245734 - CallExpression 245736 245796 - Identifier 245736 245764 - Identifier 245765 245777 - Identifier 245778 245795 - IfStatement 245797 248467 - BinaryExpression 245813 245840 - PrefixUnaryExpression 245813 245830 - Identifier 245814 245830 - AmpersandAmpersandToken 245830 245833 - Identifier 245833 245840 - Block 245841 248467 - IfStatement 245843 246439 - BinaryExpression 245861 246003 - BinaryExpression 245861 245947 - PrefixUnaryExpression 245861 245882 - Identifier 245862 245882 - AmpersandAmpersandToken 245882 245885 - PrefixUnaryExpression 245885 245947 - ParenthesizedExpression 245887 245947 - BinaryExpression 245888 245946 - PropertyAccessExpression 245888 245900 - Identifier 245888 245894 - Identifier 245895 245900 - AmpersandToken 245900 245902 - ParenthesizedExpression 245902 245946 - BinaryExpression 245904 245945 - PropertyAccessExpression 245904 245922 - Identifier 245904 245915 - Identifier 245916 245922 - BarToken 245922 245924 - PropertyAccessExpression 245924 245945 - Identifier 245924 245936 - Identifier 245937 245945 - AmpersandAmpersandToken 245947 245950 - PrefixUnaryExpression 245950 246003 - CallExpression 245952 246003 - Identifier 245952 245972 - Identifier 245973 245979 - PropertyAccessExpression 245980 246002 - Identifier 245980 245991 - Identifier 245992 246002 - Block 246004 246439 - VariableStatement 246006 246178 - VariableDeclarationList 246006 246177 - VariableDeclaration 246029 246177 - Identifier 246029 246048 - ConditionalExpression 246050 246177 - BinaryExpression 246050 246082 - Identifier 246050 246061 - GreaterThanEqualsToken 246061 246064 - PropertyAccessExpression 246064 246082 - Identifier 246064 246075 - Identifier 246076 246082 - QuestionToken 246082 246105 - StringLiteral 246105 246136 - ColonToken 246136 246159 - StringLiteral 246159 246177 - ExpressionStatement 246178 246390 - CallExpression 246178 246389 - Identifier 246178 246203 - Identifier 246204 246223 - PropertyAccessExpression 246224 246368 - Identifier 246224 246236 - Identifier 246237 246368 - Identifier 246369 246388 - ReturnStatement 246390 246424 - Identifier 246416 246423 - VariableStatement 246439 246506 - VariableDeclarationList 246439 246505 - VariableDeclaration 246460 246505 - Identifier 246460 246476 - PropertyAccessExpression 246478 246505 - Identifier 246478 246498 - Identifier 246499 246505 - IfStatement 246506 248456 - BinaryExpression 246524 246678 - ParenthesizedExpression 246524 246628 - BinaryExpression 246543 246627 - CallExpression 246543 246579 - Identifier 246543 246562 - Identifier 246563 246578 - AmpersandAmpersandToken 246579 246582 - CallExpression 246582 246627 - Identifier 246582 246610 - Identifier 246611 246626 - BarBarToken 246628 246631 - CallExpression 246631 246678 - Identifier 246631 246661 - Identifier 246662 246677 - Block 246693 248456 - VariableStatement 246695 246826 - VariableDeclarationList 246695 246825 - VariableDeclaration 246718 246825 - Identifier 246718 246728 - ConditionalExpression 246730 246825 - CallExpression 246730 246760 - Identifier 246730 246743 - Identifier 246744 246759 - QuestionToken 246760 246762 - ElementAccessExpression 246762 246791 - PropertyAccessExpression 246762 246788 - Identifier 246762 246778 - Identifier 246779 246788 - NumericLiteral 246789 246790 - ColonToken 246791 246793 - PropertyAccessExpression 246793 246825 - Identifier 246793 246809 - Identifier 246810 246825 - VariableStatement 246826 246881 - VariableDeclarationList 246826 246880 - VariableDeclaration 246849 246880 - Identifier 246849 246854 - CallExpression 246856 246880 - Identifier 246856 246872 - Identifier 246873 246879 - VariableStatement 246881 246995 - VariableDeclarationList 246881 246994 - VariableDeclaration 246904 246994 - Identifier 246904 246920 - CallExpression 246922 246994 - Identifier 246922 246954 - Identifier 246955 246959 - Identifier 246960 246967 - NonNullExpression 246968 246982 - Identifier 246968 246981 - Identifier 246983 246993 - IfStatement 246995 247147 - Identifier 247017 247032 - Block 247033 247147 - ReturnStatement 247035 247128 - CallExpression 247063 247127 - Identifier 247063 247085 - Identifier 247086 247092 - Identifier 247093 247109 - Identifier 247110 247126 - VariableStatement 247147 247233 - VariableDeclarationList 247147 247232 - VariableDeclaration 247172 247232 - Identifier 247172 247183 - CallExpression 247185 247232 - PropertyAccessExpression 247185 247218 - PropertyAccessExpression 247185 247212 - Identifier 247185 247198 - QuestionDotToken 247198 247200 - Identifier 247200 247212 - QuestionDotToken 247212 247214 - Identifier 247214 247218 - Identifier 247219 247231 - VariableStatement 247233 247430 - VariableDeclarationList 247233 247429 - VariableDeclaration 247256 247429 - Identifier 247256 247268 - BinaryExpression 247270 247429 - Identifier 247270 247281 - AmpersandAmpersandToken 247281 247284 - CallExpression 247284 247429 - Identifier 247284 247329 - CallExpression 247330 247382 - Identifier 247330 247371 - Identifier 247372 247381 - CallExpression 247383 247428 - PropertyAccessExpression 247383 247416 - Identifier 247383 247388 - Identifier 247389 247416 - Identifier 247417 247427 - IfStatement 247430 248441 - BinaryExpression 247452 247502 - CallExpression 247452 247487 - Identifier 247452 247470 - Identifier 247471 247486 - BarBarToken 247487 247490 - Identifier 247490 247502 - Block 247503 248441 - VariableStatement 247505 247594 - VariableDeclarationList 247505 247593 - VariableDeclaration 247530 247593 - Identifier 247530 247535 - CallExpression 247537 247593 - Identifier 247537 247567 - Identifier 247568 247572 - PropertyAccessExpression 247573 247592 - Identifier 247573 247587 - Identifier 247588 247592 - IfStatement 247594 247761 - BinaryExpression 247620 247641 - PrefixUnaryExpression 247620 247625 - Identifier 247621 247625 - BarBarToken 247625 247628 - PrefixUnaryExpression 247628 247641 - PropertyAccessExpression 247630 247641 - Identifier 247630 247634 - Identifier 247635 247641 - Block 247642 247761 - ExpressionStatement 247644 247738 - BinaryExpression 247644 247737 - Identifier 247644 247674 - EqualsToken 247674 247676 - CallExpression 247676 247737 - Identifier 247676 247706 - Identifier 247707 247711 - PropertyAccessExpression 247712 247736 - Identifier 247712 247726 - Identifier 247727 247736 - IfStatement 247761 248422 - BinaryExpression 247787 247998 - BinaryExpression 247787 247958 - ParenthesizedExpression 247787 247834 - BinaryExpression 247814 247833 - Identifier 247814 247818 - AmpersandAmpersandToken 247818 247821 - PropertyAccessExpression 247821 247833 - Identifier 247821 247826 - Identifier 247827 247833 - BarBarToken 247834 247837 - CallExpression 247837 247958 - Identifier 247837 247880 - Identifier 247881 247885 - PropertyAccessExpression 247886 247913 - Identifier 247886 247905 - Identifier 247906 247913 - TrueKeyword 247914 247957 - BarBarToken 247958 247961 - Identifier 247961 247998 - Block 248021 248422 - VariableStatement 248023 248307 - VariableDeclarationList 248023 248306 - VariableDeclaration 248054 248306 - Identifier 248054 248065 - ConditionalExpression 248067 248306 - BinaryExpression 248067 248105 - PropertyAccessExpression 248067 248078 - Identifier 248067 248072 - Identifier 248073 248078 - AmpersandToken 248078 248080 - PropertyAccessExpression 248080 248105 - Identifier 248080 248090 - Identifier 248091 248105 - QuestionToken 248105 248136 - CallExpression 248136 248214 - Identifier 248136 248174 - Identifier 248175 248179 - Identifier 248180 248187 - NonNullExpression 248188 248202 - Identifier 248188 248201 - Identifier 248203 248213 - ColonToken 248214 248245 - CallExpression 248245 248306 - Identifier 248245 248283 - Identifier 248284 248290 - PropertyAccessExpression 248291 248305 - Identifier 248291 248298 - Identifier 248299 248305 - ReturnStatement 248307 248399 - CallExpression 248339 248398 - Identifier 248339 248361 - Identifier 248362 248368 - Identifier 248369 248380 - Identifier 248381 248397 - ReturnStatement 248467 248491 - Identifier 248483 248490 - FunctionDeclaration 248498 249668 - Identifier 248627 248649 - Parameter 248650 248664 - Identifier 248650 248656 - TypeReference 248657 248664 - Identifier 248657 248664 - Parameter 248665 248682 - Identifier 248665 248676 - TypeReference 248677 248682 - Identifier 248677 248682 - Parameter 248683 248731 - Identifier 248683 248699 - UnionType 248700 248731 - TypeReference 248700 248718 - Identifier 248700 248718 - TypeReference 248720 248731 - Identifier 248720 248731 - Block 248732 249668 - VariableStatement 248734 248806 - VariableDeclarationList 248734 248805 - VariableDeclaration 248749 248805 - Identifier 248749 248756 - CallExpression 248758 248805 - Identifier 248758 248771 - PropertyAccessExpression 248772 248784 - Identifier 248772 248778 - Identifier 248779 248784 - PropertyAccessExpression 248785 248804 - Identifier 248785 248792 - Identifier 248793 248804 - ExpressionStatement 248806 248893 - BinaryExpression 248806 248892 - PropertyAccessExpression 248806 248835 - Identifier 248806 248822 - Identifier 248823 248835 - EqualsToken 248835 248837 - ConditionalExpression 248837 248892 - PropertyAccessExpression 248837 248857 - Identifier 248837 248844 - Identifier 248845 248857 - QuestionToken 248857 248859 - CallExpression 248859 248887 - PropertyAccessExpression 248859 248885 - PropertyAccessExpression 248859 248879 - Identifier 248859 248866 - Identifier 248867 248879 - Identifier 248880 248885 - ColonToken 248887 248889 - ArrayLiteralExpression 248889 248892 - ExpressionStatement 248893 248933 - BinaryExpression 248893 248932 - PropertyAccessExpression 248893 248916 - Identifier 248893 248909 - Identifier 248910 248916 - EqualsToken 248916 248918 - PropertyAccessExpression 248918 248932 - Identifier 248918 248925 - Identifier 248926 248932 - ExpressionStatement 248933 248972 - BinaryExpression 248933 248971 - PropertyAccessExpression 248933 248962 - PropertyAccessExpression 248933 248955 - Identifier 248933 248949 - Identifier 248950 248955 - Identifier 248956 248962 - EqualsToken 248962 248964 - Identifier 248964 248971 - ExpressionStatement 248972 249031 - BinaryExpression 248972 249030 - PropertyAccessExpression 248972 249012 - PropertyAccessExpression 248972 248994 - Identifier 248972 248988 - Identifier 248989 248994 - Identifier 248995 249012 - EqualsToken 249012 249014 - Identifier 249014 249030 - IfStatement 249031 249120 - PropertyAccessExpression 249045 249068 - Identifier 249045 249051 - Identifier 249052 249068 - ExpressionStatement 249069 249120 - BinaryExpression 249069 249119 - PropertyAccessExpression 249069 249093 - Identifier 249069 249076 - Identifier 249077 249093 - EqualsToken 249093 249095 - PropertyAccessExpression 249095 249119 - Identifier 249095 249102 - Identifier 249103 249119 - IfStatement 249120 249196 - PropertyAccessExpression 249134 249160 - Identifier 249134 249140 - Identifier 249141 249160 - ExpressionStatement 249161 249196 - BinaryExpression 249161 249195 - PropertyAccessExpression 249161 249188 - Identifier 249161 249168 - Identifier 249169 249188 - EqualsToken 249188 249190 - TrueKeyword 249190 249195 - IfStatement 249196 249267 - PropertyAccessExpression 249210 249224 - Identifier 249210 249216 - Identifier 249217 249224 - ExpressionStatement 249225 249267 - BinaryExpression 249225 249266 - PropertyAccessExpression 249225 249240 - Identifier 249225 249232 - Identifier 249233 249240 - EqualsToken 249240 249242 - NewExpression 249242 249266 - Identifier 249246 249250 - PropertyAccessExpression 249251 249265 - Identifier 249251 249257 - Identifier 249258 249265 - IfStatement 249267 249338 - PropertyAccessExpression 249281 249295 - Identifier 249281 249287 - Identifier 249288 249295 - ExpressionStatement 249296 249338 - BinaryExpression 249296 249337 - PropertyAccessExpression 249296 249311 - Identifier 249296 249303 - Identifier 249304 249311 - EqualsToken 249311 249313 - NewExpression 249313 249337 - Identifier 249317 249321 - PropertyAccessExpression 249322 249336 - Identifier 249322 249328 - Identifier 249329 249336 - VariableStatement 249338 249434 - VariableDeclarationList 249338 249433 - VariableDeclaration 249353 249433 - Identifier 249353 249372 - CallExpression 249374 249433 - Identifier 249374 249403 - AsExpression 249404 249432 - Identifier 249404 249414 - TypeReference 249417 249432 - Identifier 249417 249432 - ExpressionStatement 249434 249637 - BinaryExpression 249434 249636 - PropertyAccessExpression 249434 249523 - PropertyAccessExpression 249434 249518 - Identifier 249434 249512 - Identifier 249513 249518 - Identifier 249519 249523 - EqualsToken 249523 249525 - CallExpression 249525 249636 - Identifier 249525 249545 - Identifier 249546 249552 - PropertyAccessExpression 249553 249580 - Identifier 249553 249572 - Identifier 249573 249580 - Identifier 249581 249592 - Identifier 249593 249604 - PropertyAccessExpression 249605 249635 - Identifier 249605 249624 - Identifier 249625 249635 - ReturnStatement 249637 249661 - Identifier 249653 249660 - FunctionDeclaration 249668 249840 - Identifier 249684 249710 - Parameter 249711 249731 - Identifier 249711 249723 - TypeReference 249724 249731 - Identifier 249724 249731 - BooleanKeyword 249733 249741 - Block 249741 249840 - ReturnStatement 249743 249833 - BinaryExpression 249759 249832 - CallExpression 249759 249818 - PropertyAccessExpression 249759 249785 - NonNullExpression 249759 249781 - PropertyAccessExpression 249759 249780 - Identifier 249759 249772 - Identifier 249773 249780 - Identifier 249782 249785 - PropertyAccessExpression 249786 249817 - Identifier 249786 249804 - Identifier 249805 249817 - ExclamationEqualsEqualsToken 249818 249822 - Identifier 249822 249832 - FunctionDeclaration 249840 249989 - Identifier 249856 249882 - Parameter 249883 249903 - Identifier 249883 249895 - TypeReference 249896 249903 - Identifier 249896 249903 - ArrayType 249905 249914 - TypeReference 249905 249912 - Identifier 249905 249912 - Block 249914 249989 - ReturnStatement 249916 249982 - CallExpression 249932 249981 - Identifier 249932 249947 - CallExpression 249948 249980 - Identifier 249948 249966 - Identifier 249967 249979 - FunctionDeclaration 249989 250507 - Identifier 250005 250037 - Parameter 250038 250058 - Identifier 250038 250050 - TypeReference 250051 250058 - Identifier 250051 250058 - ArrayType 250060 250069 - TypeReference 250060 250067 - Identifier 250060 250067 - Block 250069 250507 - VariableStatement 250071 250137 - VariableDeclarationList 250071 250136 - VariableDeclaration 250086 250136 - Identifier 250086 250094 - CallExpression 250096 250136 - Identifier 250096 250122 - Identifier 250123 250135 - VariableStatement 250137 250210 - VariableDeclarationList 250137 250209 - VariableDeclaration 250152 250209 - Identifier 250152 250165 - CallExpression 250167 250209 - Identifier 250167 250195 - Identifier 250196 250208 - IfStatement 250210 250475 - BinaryExpression 250224 250253 - Identifier 250224 250236 - ExclamationEqualsEqualsToken 250236 250240 - Identifier 250240 250253 - Block 250254 250475 - VariableStatement 250256 250313 - VariableDeclarationList 250256 250312 - VariableDeclaration 250275 250312 - Identifier 250275 250280 - CallExpression 250282 250312 - Identifier 250282 250298 - Identifier 250299 250311 - IfStatement 250313 250464 - CallExpression 250331 250383 - Identifier 250331 250377 - Identifier 250378 250382 - Block 250384 250464 - ExpressionStatement 250386 250449 - CallExpression 250386 250448 - Identifier 250386 250412 - Identifier 250413 250420 - CallExpression 250421 250447 - Identifier 250421 250441 - Identifier 250442 250446 - ReturnStatement 250475 250500 - Identifier 250491 250499 - FunctionDeclaration 250507 251264 - Identifier 250523 250556 - Parameter 250557 250577 - Identifier 250557 250569 - TypeReference 250570 250577 - Identifier 250570 250577 - Parameter 250578 250622 - Identifier 250578 250581 - FunctionType 250582 250622 - Parameter 250584 250598 - Identifier 250584 250590 - TypeReference 250591 250598 - Identifier 250591 250598 - Parameter 250599 250613 - Identifier 250599 250603 - TypeReference 250604 250613 - Identifier 250604 250613 - VoidKeyword 250617 250622 - VoidKeyword 250624 250629 - Block 250629 251264 - VariableStatement 250631 250690 - VariableDeclarationList 250631 250689 - VariableDeclaration 250646 250689 - Identifier 250646 250654 - CallExpression 250656 250689 - Identifier 250656 250675 - Identifier 250676 250688 - ExpressionStatement 250690 250843 - CallExpression 250690 250842 - PropertyAccessExpression 250690 250715 - Identifier 250690 250707 - Identifier 250708 250715 - ArrowFunction 250716 250841 - Parameter 250717 250723 - Identifier 250717 250723 - Parameter 250724 250728 - Identifier 250724 250728 - EqualsGreaterThanToken 250729 250732 - Block 250732 250841 - IfStatement 250734 250830 - PrefixUnaryExpression 250752 250778 - CallExpression 250753 250778 - Identifier 250753 250773 - Identifier 250774 250777 - Block 250779 250830 - ExpressionStatement 250781 250815 - CallExpression 250781 250814 - Identifier 250781 250801 - Identifier 250802 250808 - Identifier 250809 250813 - VariableStatement 250843 250916 - VariableDeclarationList 250843 250915 - VariableDeclaration 250858 250915 - Identifier 250858 250871 - CallExpression 250873 250915 - Identifier 250873 250901 - Identifier 250902 250914 - IfStatement 250916 251257 - BinaryExpression 250930 250959 - Identifier 250930 250942 - ExclamationEqualsEqualsToken 250942 250946 - Identifier 250946 250959 - Block 250960 251257 - VariableStatement 250962 251019 - VariableDeclarationList 250962 251018 - VariableDeclaration 250981 251018 - Identifier 250981 250986 - CallExpression 250988 251018 - Identifier 250988 251004 - Identifier 251005 251017 - IfStatement 251019 251246 - CallExpression 251037 251089 - Identifier 251037 251083 - Identifier 251084 251088 - Block 251090 251246 - ExpressionStatement 251092 251231 - CallExpression 251092 251230 - Identifier 251092 251131 - Identifier 251132 251136 - ArrowFunction 251137 251229 - Parameter 251139 251145 - Identifier 251139 251145 - Parameter 251146 251158 - Identifier 251146 251158 - EqualsGreaterThanToken 251159 251162 - Block 251162 251229 - ExpressionStatement 251164 251210 - CallExpression 251164 251209 - Identifier 251164 251188 - Identifier 251189 251195 - Identifier 251196 251208 - FunctionDeclaration 251264 251532 - Identifier 251280 251308 - Parameter 251309 251329 - Identifier 251309 251319 - TypeReference 251320 251329 - Identifier 251320 251329 - Parameter 251330 251351 - Identifier 251330 251343 - TypeReference 251344 251351 - Identifier 251344 251351 - UnionType 251353 251372 - TypeReference 251353 251360 - Identifier 251353 251360 - UndefinedKeyword 251362 251372 - Block 251372 251532 - VariableStatement 251374 251437 - VariableDeclarationList 251374 251436 - VariableDeclaration 251389 251436 - Identifier 251389 251401 - CallExpression 251403 251436 - Identifier 251403 251422 - Identifier 251423 251435 - IfStatement 251437 251525 - Identifier 251451 251462 - Block 251463 251525 - ReturnStatement 251465 251514 - CallExpression 251485 251513 - PropertyAccessExpression 251485 251501 - Identifier 251485 251497 - Identifier 251498 251501 - Identifier 251502 251512 - FunctionDeclaration 251532 252141 - Identifier 251548 251589 - Parameter 251590 251610 - Identifier 251590 251600 - TypeReference 251601 251610 - Identifier 251601 251610 - Parameter 251611 251632 - Identifier 251611 251624 - TypeReference 251625 251632 - Identifier 251625 251632 - UnionType 251634 251653 - TypeReference 251634 251641 - Identifier 251634 251641 - UndefinedKeyword 251643 251653 - Block 251653 252141 - VariableStatement 251655 251734 - VariableDeclarationList 251655 251733 - VariableDeclaration 251670 251733 - Identifier 251670 251677 - CallExpression 251679 251733 - Identifier 251679 251707 - Identifier 251708 251718 - Identifier 251719 251732 - IfStatement 251734 251796 - Identifier 251748 251754 - Block 251755 251796 - ReturnStatement 251757 251785 - Identifier 251777 251784 - VariableStatement 251796 251871 - VariableDeclarationList 251796 251870 - VariableDeclaration 251813 251870 - Identifier 251813 251826 - CallExpression 251828 251870 - Identifier 251828 251856 - Identifier 251857 251869 - IfStatement 251871 251959 - BinaryExpression 251885 251914 - Identifier 251885 251897 - EqualsEqualsEqualsToken 251897 251901 - Identifier 251901 251914 - Block 251915 251959 - ReturnStatement 251917 251948 - Identifier 251937 251947 - VariableStatement 251959 252014 - VariableDeclarationList 251959 252013 - VariableDeclaration 251976 252013 - Identifier 251976 251981 - CallExpression 251983 252013 - Identifier 251983 251999 - Identifier 252000 252012 - ReturnStatement 252014 252134 - ConditionalExpression 252030 252133 - CallExpression 252030 252083 - Identifier 252030 252077 - Identifier 252078 252082 - QuestionToken 252083 252085 - CallExpression 252085 252121 - Identifier 252085 252103 - Identifier 252104 252108 - Identifier 252109 252120 - ColonToken 252121 252123 - Identifier 252123 252133 - FunctionDeclaration 252141 252608 - Identifier 252157 252204 - Parameter 252205 252237 - Identifier 252205 252231 - TypeReference 252232 252237 - Identifier 252232 252237 - Block 252238 252608 - ReturnStatement 252240 252601 - PrefixUnaryExpression 252256 252600 - ParenthesizedExpression 252258 252600 - BinaryExpression 252259 252599 - BinaryExpression 252259 252543 - BinaryExpression 252259 252392 - BinaryExpression 252259 252313 - PropertyAccessExpression 252259 252291 - Identifier 252259 252285 - Identifier 252286 252291 - AmpersandToken 252291 252293 - PropertyAccessExpression 252293 252313 - Identifier 252293 252303 - Identifier 252304 252313 - BarBarToken 252313 252316 - BinaryExpression 252316 252392 - CallExpression 252316 252372 - Identifier 252316 252344 - Identifier 252345 252371 - AmpersandToken 252372 252374 - PropertyAccessExpression 252374 252392 - Identifier 252374 252386 - Identifier 252387 252392 - BarBarToken 252392 252395 - CallExpression 252395 252543 - Identifier 252395 252515 - Identifier 252516 252542 - BarBarToken 252543 252546 - CallExpression 252546 252599 - Identifier 252546 252571 - Identifier 252572 252598 - FunctionDeclaration 252608 252964 - Identifier 252624 252643 - Parameter 252644 252658 - Identifier 252644 252650 - TypeReference 252651 252658 - Identifier 252651 252658 - TypeReference 252660 252672 - Identifier 252660 252672 - Block 252672 252964 - ReturnStatement 252674 252957 - ConditionalExpression 252690 252956 - BinaryExpression 252690 252738 - PropertyAccessExpression 252690 252703 - Identifier 252690 252697 - Identifier 252698 252703 - AmpersandToken 252703 252705 - PropertyAccessExpression 252705 252738 - Identifier 252705 252717 - Identifier 252718 252738 - QuestionToken 252738 252740 - CallExpression 252740 252832 - Identifier 252740 252776 - Identifier 252777 252783 - PropertyAccessExpression 252784 252831 - Identifier 252784 252815 - Identifier 252816 252831 - ColonToken 252832 252834 - ConditionalExpression 252834 252956 - BinaryExpression 252834 252881 - PropertyAccessExpression 252834 252860 - Identifier 252834 252854 - Identifier 252855 252860 - AmpersandToken 252860 252862 - PropertyAccessExpression 252862 252881 - Identifier 252862 252874 - Identifier 252875 252881 - QuestionToken 252881 252883 - CallExpression 252883 252910 - Identifier 252883 252902 - Identifier 252903 252909 - ColonToken 252910 252912 - BinaryExpression 252912 252956 - PropertyAccessExpression 252912 252940 - Identifier 252912 252932 - Identifier 252933 252940 - BarBarToken 252940 252943 - Identifier 252943 252956 - FunctionDeclaration 252964 253393 - Identifier 252980 252999 - Parameter 253000 253020 - Identifier 253000 253012 - TypeReference 253013 253020 - Identifier 253013 253020 - TypeReference 253022 253034 - Identifier 253022 253034 - Block 253034 253393 - VariableStatement 253036 253089 - VariableDeclarationList 253036 253088 - VariableDeclaration 253051 253088 - Identifier 253051 253057 - CallExpression 253059 253088 - Identifier 253059 253074 - Identifier 253075 253087 - IfStatement 253089 253347 - PrefixUnaryExpression 253103 253125 - PropertyAccessExpression 253104 253125 - Identifier 253104 253109 - Identifier 253110 253125 - Block 253126 253347 - VariableStatement 253128 253224 - VariableDeclarationList 253128 253223 - VariableDeclaration 253147 253223 - ObjectBindingPattern 253147 253182 - BindingElement 253149 253157 - Identifier 253149 253157 - BindingElement 253158 253180 - Identifier 253158 253180 - CallExpression 253184 253223 - Identifier 253184 253209 - Identifier 253210 253222 - ExpressionStatement 253224 253270 - BinaryExpression 253224 253269 - PropertyAccessExpression 253224 253259 - Identifier 253224 253243 - Identifier 253244 253259 - EqualsToken 253259 253261 - Identifier 253261 253269 - ExpressionStatement 253270 253336 - BinaryExpression 253270 253335 - PropertyAccessExpression 253270 253311 - Identifier 253270 253289 - Identifier 253290 253311 - EqualsToken 253311 253313 - Identifier 253313 253335 - ReturnStatement 253347 253386 - PropertyAccessExpression 253363 253385 - Identifier 253363 253369 - Identifier 253370 253385 - InterfaceDeclaration 253393 253527 - Identifier 253410 253433 - PropertySignature 253435 253467 - Identifier 253435 253458 - StringKeyword 253459 253466 - PropertySignature 253467 253520 - Identifier 253467 253497 - QuestionToken 253497 253498 - ArrayType 253499 253519 - TypeReference 253499 253517 - Identifier 253499 253517 - TypeAliasDeclaration 253527 253608 - Identifier 253539 253567 - TypeReference 253569 253607 - Identifier 253569 253573 - TypeReference 253574 253582 - Identifier 253574 253582 - TypeReference 253583 253606 - Identifier 253583 253606 - FunctionDeclaration 253608 255066 - Identifier 253902 253922 - Parameter 253923 253942 - Identifier 253923 253929 - TypeReference 253930 253942 - Identifier 253930 253942 - Parameter 253943 253975 - Identifier 253943 253950 - UnionType 253951 253975 - TypeReference 253951 253963 - Identifier 253951 253963 - UndefinedKeyword 253965 253975 - Parameter 253976 254018 - Identifier 253976 253988 - QuestionToken 253988 253989 - TypeReference 253990 254018 - Identifier 253990 254018 - Parameter 254019 254050 - Identifier 254019 254030 - QuestionToken 254030 254031 - TypeReference 254032 254050 - Identifier 254032 254050 - Block 254051 255066 - IfStatement 254053 254083 - PrefixUnaryExpression 254067 254074 - Identifier 254068 254074 - ReturnStatement 254075 254083 - ExpressionStatement 254083 255059 - CallExpression 254083 255058 - PropertyAccessExpression 254083 254107 - Identifier 254083 254099 - Identifier 254100 254107 - ArrowFunction 254108 255057 - Parameter 254109 254121 - Identifier 254109 254121 - Parameter 254122 254125 - Identifier 254122 254125 - EqualsGreaterThanToken 254126 254129 - Block 254129 255057 - IfStatement 254131 254191 - BinaryExpression 254149 254182 - Identifier 254149 254151 - EqualsEqualsEqualsToken 254151 254155 - PropertyAccessExpression 254155 254182 - Identifier 254155 254174 - Identifier 254175 254182 - ReturnStatement 254183 254191 - VariableStatement 254191 254243 - VariableDeclarationList 254191 254242 - VariableDeclaration 254212 254242 - Identifier 254212 254225 - CallExpression 254227 254242 - PropertyAccessExpression 254227 254238 - Identifier 254227 254234 - Identifier 254235 254238 - Identifier 254239 254241 - IfStatement 254243 255046 - PrefixUnaryExpression 254261 254274 - Identifier 254262 254274 - Block 254275 254560 - ExpressionStatement 254277 254324 - CallExpression 254277 254323 - PropertyAccessExpression 254277 254305 - Identifier 254277 254301 - Identifier 254302 254305 - Identifier 254306 254308 - Identifier 254309 254322 - IfStatement 254324 254545 - BinaryExpression 254346 254371 - Identifier 254346 254357 - AmpersandAmpersandToken 254357 254360 - Identifier 254360 254371 - Block 254372 254545 - ExpressionStatement 254374 254526 - CallExpression 254374 254525 - PropertyAccessExpression 254374 254411 - Identifier 254374 254407 - Identifier 254408 254411 - Identifier 254412 254414 - ObjectLiteralExpression 254415 254524 - PropertyAssignment 254417 254500 - Identifier 254417 254456 - CallExpression 254457 254500 - Identifier 254457 254471 - NonNullExpression 254472 254499 - PropertyAccessExpression 254472 254498 - Identifier 254472 254482 - Identifier 254483 254498 - IfStatement 254578 255046 - BinaryExpression 254583 254687 - BinaryExpression 254583 254624 - BinaryExpression 254583 254608 - Identifier 254583 254594 - AmpersandAmpersandToken 254594 254597 - Identifier 254597 254608 - AmpersandAmpersandToken 254608 254611 - Identifier 254611 254624 - AmpersandAmpersandToken 254624 254627 - BinaryExpression 254627 254687 - CallExpression 254627 254655 - Identifier 254627 254641 - Identifier 254642 254654 - ExclamationEqualsEqualsToken 254655 254659 - CallExpression 254659 254687 - Identifier 254659 254673 - Identifier 254674 254686 - Block 254688 255046 - VariableStatement 254690 254754 - VariableDeclarationList 254690 254753 - VariableDeclaration 254713 254753 - Identifier 254713 254730 - NonNullExpression 254732 254753 - CallExpression 254732 254752 - PropertyAccessExpression 254732 254748 - Identifier 254732 254744 - Identifier 254745 254748 - Identifier 254749 254751 - IfStatement 254754 255031 - PrefixUnaryExpression 254776 254814 - PropertyAccessExpression 254777 254814 - Identifier 254777 254793 - Identifier 254794 254814 - Block 254815 254911 - ExpressionStatement 254817 254892 - BinaryExpression 254817 254891 - PropertyAccessExpression 254817 254876 - Identifier 254817 254855 - Identifier 254856 254876 - EqualsToken 254876 254878 - ArrayLiteralExpression 254878 254891 - Identifier 254880 254890 - Block 254933 255031 - ExpressionStatement 254935 255012 - CallExpression 254935 255011 - PropertyAccessExpression 254935 254999 - PropertyAccessExpression 254935 254994 - Identifier 254935 254973 - Identifier 254974 254994 - Identifier 254995 254999 - Identifier 255000 255010 - FunctionDeclaration 255066 259285 - Identifier 255082 255107 - Parameter 255108 255128 - Identifier 255108 255120 - TypeReference 255121 255128 - Identifier 255121 255128 - Block 255129 259285 - VariableStatement 255131 255177 - VariableDeclarationList 255131 255176 - VariableDeclaration 255146 255176 - Identifier 255146 255161 - ArrayType 255162 255171 - TypeReference 255162 255169 - Identifier 255162 255169 - ArrayLiteralExpression 255173 255176 - VariableStatement 255177 255330 - VariableDeclarationList 255177 255329 - VariableDeclaration 255190 255329 - Identifier 255190 255212 - UnionType 255213 255329 - TypeReference 255213 255317 - Identifier 255213 255217 - TypeReference 255218 255226 - Identifier 255218 255226 - IntersectionType 255227 255316 - TypeReference 255227 255245 - Identifier 255227 255245 - TypeLiteral 255247 255316 - PropertySignature 255249 255276 - ReadonlyKeyword 255249 255258 - Identifier 255258 255269 - LiteralType 255270 255275 - TrueKeyword 255270 255275 - PropertySignature 255276 255314 - ReadonlyKeyword 255276 255285 - Identifier 255285 255301 - TypeReference 255302 255313 - Identifier 255302 255313 - UndefinedKeyword 255319 255329 - VariableStatement 255330 255385 - VariableDeclarationList 255330 255384 - VariableDeclaration 255345 255384 - Identifier 255345 255362 - NewExpression 255364 255384 - Identifier 255368 255372 - TypeReference 255373 255381 - Identifier 255373 255381 - ExpressionStatement 255385 255548 - BinaryExpression 255385 255547 - Identifier 255385 255503 - EqualsToken 255503 255505 - CallExpression 255505 255547 - Identifier 255505 255533 - Identifier 255534 255546 - VariableStatement 255548 255610 - VariableDeclarationList 255548 255609 - VariableDeclaration 255563 255609 - Identifier 255563 255571 - BinaryExpression 255573 255609 - CallExpression 255573 255593 - Identifier 255573 255579 - Identifier 255580 255592 - BarBarToken 255593 255596 - Identifier 255596 255609 - IfStatement 255610 255745 - Identifier 255626 255647 - Block 255648 255745 - ExpressionStatement 255650 255734 - CallExpression 255650 255733 - PropertyAccessExpression 255650 255688 - Identifier 255650 255680 - Identifier 255681 255688 - ArrowFunction 255689 255732 - Parameter 255689 255693 - Identifier 255689 255693 - EqualsGreaterThanToken 255693 255696 - CallExpression 255696 255732 - PropertyAccessExpression 255696 255726 - NonNullExpression 255696 255719 - Identifier 255696 255718 - Identifier 255720 255726 - Identifier 255727 255731 - ReturnStatement 255745 255835 - ObjectLiteralExpression 255763 255834 - ShorthandPropertyAssignment 255765 255786 - Identifier 255765 255786 - ShorthandPropertyAssignment 255787 255822 - Identifier 255787 255822 - FunctionDeclaration 255835 259278 - Identifier 256072 256078 - Parameter 256079 256105 - Identifier 256079 256085 - UnionType 256086 256105 - TypeReference 256086 256093 - Identifier 256086 256093 - UndefinedKeyword 256095 256105 - Parameter 256106 256137 - Identifier 256106 256117 - QuestionToken 256117 256118 - TypeReference 256119 256137 - Identifier 256119 256137 - Parameter 256138 256159 - Identifier 256138 256149 - QuestionToken 256149 256150 - BooleanKeyword 256151 256159 - UnionType 256161 256185 - TypeReference 256161 256173 - Identifier 256161 256173 - UndefinedKeyword 256175 256185 - Block 256185 259278 - IfStatement 256187 256605 - BinaryExpression 256205 256235 - PrefixUnaryExpression 256205 256216 - Identifier 256206 256216 - AmpersandAmpersandToken 256216 256219 - PropertyAccessExpression 256219 256235 - Identifier 256219 256226 - QuestionDotToken 256226 256228 - Identifier 256228 256235 - Block 256236 256605 - ExpressionStatement 256238 256590 - CallExpression 256238 256589 - PropertyAccessExpression 256238 256548 - PropertyAccessExpression 256238 256540 - Identifier 256238 256532 - Identifier 256533 256540 - Identifier 256541 256548 - ArrowFunction 256549 256588 - Parameter 256550 256551 - Identifier 256550 256551 - Parameter 256552 256557 - Identifier 256552 256557 - EqualsGreaterThanToken 256558 256561 - CallExpression 256561 256588 - PropertyAccessExpression 256561 256582 - Identifier 256561 256578 - Identifier 256579 256582 - Identifier 256583 256587 - IfStatement 256605 256733 - PrefixUnaryExpression 256623 256690 - ParenthesizedExpression 256624 256690 - BinaryExpression 256625 256689 - BinaryExpression 256625 256649 - Identifier 256625 256631 - AmpersandAmpersandToken 256631 256634 - PropertyAccessExpression 256634 256649 - Identifier 256634 256641 - Identifier 256642 256649 - AmpersandAmpersandToken 256649 256652 - CallExpression 256652 256689 - Identifier 256652 256665 - Identifier 256666 256680 - Identifier 256681 256688 - Block 256691 256733 - ReturnStatement 256693 256718 - VariableStatement 256733 256787 - VariableDeclarationList 256733 256786 - VariableDeclaration 256752 256786 - Identifier 256752 256760 - NewExpression 256762 256786 - Identifier 256766 256770 - PropertyAccessExpression 256771 256785 - Identifier 256771 256777 - Identifier 256778 256785 - VariableStatement 256787 256965 - VariableDeclarationList 256787 256964 - VariableDeclaration 256900 256964 - Identifier 256900 256912 - CallExpression 256914 256964 - PropertyAccessExpression 256914 256933 - PropertyAccessExpression 256914 256929 - Identifier 256914 256921 - Identifier 256922 256929 - Identifier 256930 256933 - PropertyAccessExpression 256934 256963 - Identifier 256934 256952 - Identifier 256953 256963 - IfStatement 256965 258814 - Identifier 256983 256994 - Block 256995 258814 - VariableStatement 256997 257057 - VariableDeclarationList 256997 257056 - VariableDeclaration 257020 257056 - Identifier 257020 257034 - CallExpression 257036 257056 - Identifier 257036 257054 - VariableStatement 257057 257134 - VariableDeclarationList 257057 257133 - VariableDeclaration 257080 257133 - Identifier 257080 257092 - TypeReference 257093 257121 - Identifier 257093 257121 - NewExpression 257123 257133 - Identifier 257127 257131 - IfStatement 257134 257835 - PropertyAccessExpression 257156 257180 - Identifier 257156 257167 - Identifier 257168 257180 - Block 257181 257835 - ForOfStatement 257183 257816 - VariableDeclarationList 257210 257220 - VariableDeclaration 257215 257220 - Identifier 257215 257220 - PropertyAccessExpression 257223 257248 - Identifier 257223 257235 - Identifier 257236 257248 - Block 257249 257816 - VariableStatement 257251 257378 - VariableDeclarationList 257251 257377 - VariableDeclaration 257282 257377 - Identifier 257282 257297 - CallExpression 257299 257377 - Identifier 257299 257325 - Identifier 257326 257330 - NonNullExpression 257331 257376 - PropertyAccessExpression 257331 257375 - ParenthesizedExpression 257331 257359 - AsExpression 257333 257358 - Identifier 257333 257337 - TypeReference 257340 257358 - Identifier 257340 257358 - Identifier 257360 257375 - VariableStatement 257378 257531 - VariableDeclarationList 257378 257530 - VariableDeclaration 257409 257530 - Identifier 257409 257425 - CallExpression 257427 257530 - Identifier 257427 257433 - Identifier 257434 257448 - AsExpression 257449 257475 - Identifier 257449 257454 - TypeReference 257457 257475 - Identifier 257457 257475 - BinaryExpression 257476 257529 - Identifier 257476 257487 - BarBarToken 257487 257490 - PropertyAccessExpression 257490 257529 - ParenthesizedExpression 257490 257518 - AsExpression 257492 257517 - Identifier 257492 257496 - TypeReference 257499 257517 - Identifier 257499 257517 - Identifier 257519 257529 - ExpressionStatement 257531 257793 - CallExpression 257531 257792 - Identifier 257531 257576 - Identifier 257577 257620 - Identifier 257621 257666 - Identifier 257667 257708 - AsExpression 257709 257764 - Identifier 257709 257743 - TypeReference 257746 257764 - Identifier 257746 257764 - ExpressionStatement 257835 258737 - CallExpression 257835 258736 - PropertyAccessExpression 257835 257872 - Identifier 257835 257864 - Identifier 257865 257872 - ArrowFunction 257873 258735 - Parameter 257874 257898 - ObjectBindingPattern 257874 257898 - BindingElement 257875 257896 - Identifier 257875 257896 - Parameter 257899 257902 - Identifier 257899 257902 - EqualsGreaterThanToken 257903 257906 - Block 257906 258735 - IfStatement 257908 258226 - BinaryExpression 258074 258167 - BinaryExpression 258074 258148 - BinaryExpression 258074 258090 - Identifier 258074 258076 - EqualsEqualsEqualsToken 258076 258080 - StringLiteral 258080 258090 - BarBarToken 258090 258093 - PrefixUnaryExpression 258093 258148 - ParenthesizedExpression 258095 258148 - BinaryExpression 258096 258147 - Identifier 258096 258116 - AmpersandAmpersandToken 258116 258119 - PropertyAccessExpression 258119 258147 - Identifier 258119 258140 - Identifier 258141 258147 - BarBarToken 258148 258151 - CallExpression 258151 258167 - PropertyAccessExpression 258151 258163 - Identifier 258151 258159 - Identifier 258160 258163 - Identifier 258164 258166 - Block 258168 258226 - ReturnStatement 258170 258203 - ForOfStatement 258226 258716 - VariableDeclarationList 258253 258263 - VariableDeclaration 258258 258263 - Identifier 258258 258263 - Identifier 258266 258287 - Block 258288 258716 - ExpressionStatement 258290 258693 - CallExpression 258290 258692 - PropertyAccessExpression 258290 258331 - Identifier 258290 258327 - Identifier 258328 258331 - CallExpression 258332 258691 - Identifier 258332 258355 - Identifier 258356 258390 - PropertyAccessExpression 258391 258537 - Identifier 258391 258432 - Identifier 258433 258537 - PropertyAccessExpression 258538 258602 - NonNullExpression 258538 258588 - CallExpression 258538 258587 - PropertyAccessExpression 258538 258583 - Identifier 258538 258579 - Identifier 258580 258583 - Identifier 258584 258586 - Identifier 258589 258602 - CallExpression 258603 258663 - Identifier 258603 258659 - Identifier 258660 258662 - ExpressionStatement 258737 258799 - CallExpression 258737 258798 - Identifier 258737 258774 - Identifier 258775 258782 - Identifier 258783 258797 - IfStatement 258814 259238 - PropertyAccessExpression 258832 258854 - Identifier 258832 258842 - QuestionDotToken 258842 258844 - Identifier 258844 258854 - Block 258855 259238 - ExpressionStatement 258857 258911 - BinaryExpression 258857 258910 - Identifier 258857 258896 - QuestionQuestionEqualsToken 258896 258900 - NewExpression 258900 258910 - Identifier 258904 258908 - ExpressionStatement 258911 259223 - CallExpression 258911 259222 - PropertyAccessExpression 258911 258944 - Identifier 258911 258936 - Identifier 258937 258944 - ArrowFunction 258945 259203 - Parameter 258946 258947 - Identifier 258946 258947 - Parameter 258948 258960 - Identifier 258948 258960 - EqualsGreaterThanToken 258961 258964 - CallExpression 258964 259203 - PropertyAccessExpression 258964 259012 - NonNullExpression 258964 259008 - Identifier 258964 259007 - Identifier 259009 259012 - Identifier 259013 259050 - AsExpression 259051 259179 - Identifier 259051 259087 - IntersectionType 259090 259179 - TypeReference 259090 259108 - Identifier 259090 259108 - TypeLiteral 259110 259179 - PropertySignature 259112 259139 - ReadonlyKeyword 259112 259121 - Identifier 259121 259132 - LiteralType 259133 259138 - TrueKeyword 259133 259138 - PropertySignature 259139 259177 - ReadonlyKeyword 259139 259148 - Identifier 259148 259164 - TypeReference 259165 259176 - Identifier 259165 259176 - ReturnStatement 259238 259267 - Identifier 259258 259266 - FunctionDeclaration 259285 259342 - Identifier 259301 259317 - Parameter 259318 259332 - Identifier 259318 259324 - TypeReference 259325 259332 - Identifier 259325 259332 - TypeReference 259334 259341 - Identifier 259334 259341 - FunctionDeclaration 259342 259421 - Identifier 259356 259372 - Parameter 259373 259399 - Identifier 259373 259379 - UnionType 259380 259399 - TypeReference 259380 259387 - Identifier 259380 259387 - UndefinedKeyword 259389 259399 - UnionType 259401 259420 - TypeReference 259401 259408 - Identifier 259401 259408 - UndefinedKeyword 259410 259420 - FunctionDeclaration 259421 259641 - Identifier 259435 259451 - Parameter 259452 259478 - Identifier 259452 259458 - UnionType 259459 259478 - TypeReference 259459 259466 - Identifier 259459 259466 - UndefinedKeyword 259468 259478 - UnionType 259480 259499 - TypeReference 259480 259487 - Identifier 259480 259487 - UndefinedKeyword 259489 259499 - Block 259499 259641 - VariableStatement 259501 259530 - VariableDeclarationList 259501 259529 - VariableDeclaration 259514 259529 - Identifier 259514 259521 - TypeReference 259522 259529 - Identifier 259522 259529 - ReturnStatement 259530 259634 - ConditionalExpression 259546 259633 - BinaryExpression 259546 259615 - BinaryExpression 259546 259571 - Identifier 259546 259553 - AmpersandAmpersandToken 259553 259556 - PropertyAccessExpression 259556 259571 - Identifier 259556 259563 - Identifier 259564 259571 - AmpersandAmpersandToken 259571 259574 - ParenthesizedExpression 259574 259615 - BinaryExpression 259576 259614 - Identifier 259576 259582 - EqualsToken 259582 259584 - ElementAccessExpression 259584 259614 - Identifier 259584 259598 - PropertyAccessExpression 259599 259613 - Identifier 259599 259605 - Identifier 259606 259613 - QuestionToken 259615 259617 - Identifier 259617 259624 - ColonToken 259624 259626 - Identifier 259626 259633 - FunctionDeclaration 259641 259797 - Identifier 259657 259680 - Parameter 259681 259698 - Identifier 259681 259685 - TypeReference 259686 259698 - Identifier 259686 259698 - TypeReference 259700 259707 - Identifier 259700 259707 - Block 259707 259797 - ReturnStatement 259709 259790 - CallExpression 259725 259789 - Identifier 259725 259741 - BinaryExpression 259742 259788 - PropertyAccessExpression 259742 259753 - Identifier 259742 259746 - Identifier 259747 259753 - AmpersandAmpersandToken 259753 259756 - CallExpression 259756 259788 - Identifier 259756 259775 - PropertyAccessExpression 259776 259787 - Identifier 259776 259780 - Identifier 259781 259787 - FunctionDeclaration 259797 260136 - Identifier 259999 260015 - Parameter 260016 260026 - Identifier 260016 260020 - TypeReference 260021 260026 - Identifier 260021 260026 - UnionType 260028 260047 - TypeReference 260028 260035 - Identifier 260028 260035 - UndefinedKeyword 260037 260047 - Block 260047 260136 - ReturnStatement 260049 260129 - ConditionalExpression 260065 260128 - CallExpression 260065 260085 - Identifier 260065 260079 - Identifier 260080 260084 - QuestionToken 260085 260087 - CallExpression 260087 260116 - Identifier 260087 260110 - Identifier 260111 260115 - ColonToken 260116 260118 - Identifier 260118 260128 - FunctionDeclaration 260136 260300 - Identifier 260152 260170 - Parameter 260171 260185 - Identifier 260171 260177 - TypeReference 260178 260185 - Identifier 260178 260185 - UnionType 260187 260206 - TypeReference 260187 260194 - Identifier 260187 260194 - UndefinedKeyword 260196 260206 - Block 260206 260300 - ReturnStatement 260208 260293 - CallExpression 260224 260292 - Identifier 260224 260240 - BinaryExpression 260241 260291 - PropertyAccessExpression 260241 260254 - Identifier 260241 260247 - Identifier 260248 260254 - AmpersandAmpersandToken 260254 260257 - CallExpression 260257 260291 - Identifier 260257 260276 - PropertyAccessExpression 260277 260290 - Identifier 260277 260283 - Identifier 260284 260290 - FunctionDeclaration 260300 260621 - Identifier 260316 260358 - Parameter 260359 260373 - Identifier 260359 260365 - TypeReference 260366 260373 - Identifier 260366 260373 - Block 260374 260621 - ReturnStatement 260376 260614 - ConditionalExpression 260392 260613 - BinaryExpression 260392 260518 - BinaryExpression 260392 260451 - PropertyAccessExpression 260392 260422 - PropertyAccessExpression 260392 260416 - Identifier 260392 260399 - Identifier 260400 260416 - QuestionDotToken 260416 260418 - Identifier 260418 260422 - EqualsEqualsEqualsToken 260422 260426 - PropertyAccessExpression 260426 260451 - Identifier 260426 260437 - Identifier 260438 260451 - BarBarToken 260451 260454 - BinaryExpression 260454 260518 - PropertyAccessExpression 260454 260484 - PropertyAccessExpression 260454 260478 - Identifier 260454 260461 - Identifier 260462 260478 - QuestionDotToken 260478 260480 - Identifier 260480 260484 - EqualsEqualsEqualsToken 260484 260488 - PropertyAccessExpression 260488 260518 - Identifier 260488 260499 - Identifier 260500 260518 - QuestionToken 260518 260533 - BinaryExpression 260533 260591 - CallExpression 260533 260581 - Identifier 260533 260549 - PropertyAccessExpression 260550 260580 - PropertyAccessExpression 260550 260573 - Identifier 260550 260556 - Identifier 260557 260573 - Identifier 260574 260580 - BarBarToken 260581 260584 - Identifier 260584 260591 - ColonToken 260591 260606 - Identifier 260606 260613 - FunctionDeclaration 260621 262713 - Identifier 260637 260669 - Parameter 260670 260684 - Identifier 260670 260676 - TypeReference 260677 260684 - Identifier 260677 260684 - Parameter 260685 260712 - Identifier 260685 260706 - TypeReference 260707 260712 - Identifier 260707 260712 - ArrayType 260714 260723 - TypeReference 260714 260721 - Identifier 260714 260721 - Block 260723 262713 - VariableStatement 260725 260800 - VariableDeclarationList 260725 260799 - VariableDeclaration 260740 260799 - Identifier 260740 260755 - CallExpression 260757 260799 - Identifier 260757 260777 - Identifier 260778 260798 - VariableStatement 260800 260847 - VariableDeclarationList 260800 260846 - VariableDeclaration 260815 260846 - Identifier 260815 260818 - CallExpression 260820 260846 - Identifier 260820 260830 - Identifier 260831 260845 - VariableStatement 260847 260894 - VariableDeclarationList 260847 260893 - VariableDeclaration 260862 260893 - Identifier 260862 260868 - CallExpression 260870 260893 - Identifier 260870 260885 - Identifier 260886 260892 - VariableStatement 260894 260938 - VariableDeclarationList 260894 260937 - VariableDeclaration 260907 260937 - Identifier 260907 260915 - UnionType 260916 260937 - ArrayType 260916 260925 - TypeReference 260916 260923 - Identifier 260916 260923 - UndefinedKeyword 260927 260937 - IfStatement 260938 261079 - BinaryExpression 260952 261036 - PropertyAccessExpression 260952 260982 - Identifier 260952 260957 - Identifier 260958 260982 - AmpersandAmpersandToken 260982 260985 - ParenthesizedExpression 260985 261036 - BinaryExpression 260987 261035 - Identifier 260987 260994 - EqualsToken 260994 260996 - CallExpression 260996 261035 - PropertyAccessExpression 260996 261031 - PropertyAccessExpression 260996 261027 - Identifier 260996 261002 - Identifier 261003 261027 - Identifier 261028 261031 - Identifier 261032 261034 - Block 261037 261079 - ReturnStatement 261039 261068 - Identifier 261059 261067 - IfStatement 261079 262049 - BinaryExpression 261093 261133 - Identifier 261093 261107 - AmpersandAmpersandToken 261107 261110 - PropertyAccessExpression 261110 261133 - Identifier 261110 261125 - Identifier 261126 261133 - Block 261134 262049 - ForOfStatement 261136 261836 - VariableDeclarationList 261252 261267 - VariableDeclaration 261257 261267 - Identifier 261257 261267 - PropertyAccessExpression 261270 261293 - Identifier 261270 261285 - Identifier 261286 261293 - Block 261294 261836 - IfStatement 261296 261357 - CallExpression 261318 261346 - Identifier 261318 261335 - Identifier 261336 261345 - ContinueStatement 261347 261357 - VariableStatement 261357 261593 - VariableDeclarationList 261357 261592 - VariableDeclaration 261493 261592 - Identifier 261493 261508 - CallExpression 261510 261592 - Identifier 261510 261536 - Identifier 261537 261557 - Identifier 261558 261568 - TrueKeyword 261569 261591 - IfStatement 261593 261641 - PrefixUnaryExpression 261615 261630 - Identifier 261616 261630 - ContinueStatement 261631 261641 - VariableStatement 261641 261724 - VariableDeclarationList 261641 261723 - VariableDeclaration 261664 261723 - Identifier 261664 261668 - CallExpression 261670 261723 - Identifier 261670 261699 - Identifier 261700 261714 - Identifier 261715 261722 - IfStatement 261724 261761 - PrefixUnaryExpression 261746 261750 - Identifier 261747 261750 - ContinueStatement 261751 261761 - ExpressionStatement 261761 261821 - BinaryExpression 261761 261820 - Identifier 261761 261786 - EqualsToken 261786 261788 - CallExpression 261788 261820 - Identifier 261788 261795 - Identifier 261796 261803 - Identifier 261804 261819 - IfStatement 261836 262038 - CallExpression 261854 261869 - Identifier 261854 261860 - Identifier 261861 261868 - Block 261870 262038 - ExpressionStatement 261872 261989 - CallExpression 261872 261988 - PropertyAccessExpression 261872 261974 - ParenthesizedExpression 261872 261970 - BinaryExpression 261891 261969 - PropertyAccessExpression 261891 261921 - Identifier 261891 261896 - Identifier 261897 261921 - BarBarToken 261921 261924 - ParenthesizedExpression 261924 261969 - BinaryExpression 261926 261968 - PropertyAccessExpression 261926 261956 - Identifier 261926 261931 - Identifier 261932 261956 - EqualsToken 261956 261958 - NewExpression 261958 261968 - Identifier 261962 261966 - Identifier 261971 261974 - Identifier 261975 261977 - NonNullExpression 261978 261987 - Identifier 261978 261986 - ReturnStatement 261989 262023 - NonNullExpression 262013 262022 - Identifier 262013 262021 - IfStatement 262049 262147 - PropertyAccessExpression 262063 262087 - Identifier 262063 262068 - Identifier 262069 262087 - Block 262088 262147 - ReturnStatement 262090 262136 - PropertyAccessExpression 262110 262135 - Identifier 262110 262116 - Identifier 262117 262135 - VariableStatement 262147 262334 - VariableDeclarationList 262147 262333 - VariableDeclaration 262298 262333 - Identifier 262298 262309 - CallExpression 262311 262333 - PropertyAccessExpression 262311 262331 - Identifier 262311 262316 - Identifier 262317 262331 - ForOfStatement 262334 262640 - VariableDeclarationList 262349 262359 - VariableDeclaration 262354 262359 - Identifier 262354 262359 - Identifier 262362 262373 - Block 262374 262640 - IfStatement 262376 262428 - PrefixUnaryExpression 262394 262417 - CallExpression 262395 262417 - Identifier 262395 262411 - Identifier 262412 262416 - ContinueStatement 262418 262428 - VariableStatement 262428 262483 - VariableDeclarationList 262428 262482 - VariableDeclaration 262447 262482 - Identifier 262447 262451 - CallExpression 262453 262482 - Identifier 262453 262476 - Identifier 262477 262481 - VariableStatement 262483 262551 - VariableDeclarationList 262483 262550 - VariableDeclaration 262502 262550 - Identifier 262502 262506 - CallExpression 262508 262550 - Identifier 262508 262537 - Identifier 262538 262541 - Identifier 262542 262549 - IfStatement 262551 262584 - PrefixUnaryExpression 262569 262573 - Identifier 262570 262573 - ContinueStatement 262574 262584 - ExpressionStatement 262584 262629 - BinaryExpression 262584 262628 - Identifier 262584 262605 - EqualsToken 262605 262607 - CallExpression 262607 262628 - Identifier 262607 262614 - Identifier 262615 262622 - Identifier 262623 262627 - ReturnStatement 262640 262706 - BinaryExpression 262656 262705 - PropertyAccessExpression 262656 262681 - Identifier 262656 262662 - Identifier 262663 262681 - EqualsToken 262681 262683 - BinaryExpression 262683 262705 - Identifier 262683 262691 - BarBarToken 262691 262694 - Identifier 262694 262705 - FunctionDeclaration 262713 267631 - Identifier 262918 262940 - Parameter 262941 262955 - Identifier 262941 262947 - TypeReference 262948 262955 - Identifier 262948 262955 - Parameter 262956 262995 - Identifier 262956 262977 - UnionType 262978 262995 - TypeReference 262978 262983 - Identifier 262978 262983 - UndefinedKeyword 262985 262995 - Parameter 262996 263017 - Identifier 262996 263004 - TypeReference 263005 263017 - Identifier 263005 263017 - UnionType 263019 263040 - ArrayType 263019 263028 - TypeReference 263019 263026 - Identifier 263019 263026 - UndefinedKeyword 263030 263040 - Block 263040 267631 - VariableStatement 263042 263096 - VariableDeclarationList 263042 263095 - VariableDeclaration 263057 263095 - Identifier 263057 263067 - CallExpression 263069 263095 - Identifier 263069 263087 - Identifier 263088 263094 - IfStatement 263096 263330 - BinaryExpression 263199 263255 - Identifier 263199 263208 - AmpersandAmpersandToken 263208 263211 - PrefixUnaryExpression 263211 263255 - ParenthesizedExpression 263213 263255 - BinaryExpression 263214 263254 - PropertyAccessExpression 263214 263226 - Identifier 263214 263220 - Identifier 263221 263226 - AmpersandToken 263226 263228 - PropertyAccessExpression 263228 263254 - Identifier 263228 263240 - Identifier 263241 263254 - Block 263256 263330 - ReturnStatement 263258 263319 - CallExpression 263278 263318 - Identifier 263278 263307 - Identifier 263308 263317 - VariableStatement 263330 264592 - VariableDeclarationList 263330 264591 - VariableDeclaration 263345 264591 - Identifier 263345 263356 - CallExpression 263358 264591 - Identifier 263358 263369 - PropertyAccessExpression 263370 263389 - Identifier 263370 263376 - Identifier 263377 263389 - ArrowFunction 263390 264590 - Parameter 263390 263392 - Identifier 263390 263392 - EqualsGreaterThanToken 263392 263395 - Block 263395 264590 - IfStatement 263397 263984 - BinaryExpression 263415 263446 - PrefixUnaryExpression 263415 263434 - CallExpression 263416 263434 - Identifier 263416 263431 - Identifier 263432 263433 - AmpersandAmpersandToken 263434 263437 - PropertyAccessExpression 263437 263446 - Identifier 263437 263439 - Identifier 263440 263446 - Block 263447 263984 - IfStatement 263449 263672 - CallExpression 263519 263573 - Identifier 263519 263563 - PropertyAccessExpression 263564 263572 - Identifier 263564 263565 - Identifier 263566 263572 - Block 263574 263672 - ReturnStatement 263576 263653 - CallExpression 263604 263652 - Identifier 263604 263627 - AsExpression 263628 263651 - PropertyAccessExpression 263628 263636 - Identifier 263628 263629 - Identifier 263630 263636 - TypeReference 263639 263651 - Identifier 263639 263651 - IfStatement 263672 263969 - BinaryExpression 263753 263878 - BinaryExpression 263753 263795 - CallExpression 263753 263776 - Identifier 263753 263766 - PropertyAccessExpression 263767 263775 - Identifier 263767 263768 - Identifier 263769 263775 - AmpersandAmpersandToken 263776 263779 - PropertyAccessExpression 263779 263795 - PropertyAccessExpression 263779 263788 - Identifier 263779 263781 - Identifier 263782 263788 - Identifier 263789 263795 - AmpersandAmpersandToken 263795 263798 - BinaryExpression 263798 263878 - CallExpression 263798 263867 - Identifier 263798 263826 - CallExpression 263827 263866 - Identifier 263827 263849 - PropertyAccessExpression 263850 263865 - PropertyAccessExpression 263850 263858 - Identifier 263850 263851 - Identifier 263852 263858 - Identifier 263859 263865 - EqualsEqualsEqualsToken 263867 263871 - Identifier 263871 263878 - Block 263879 263969 - ReturnStatement 263881 263950 - CallExpression 263909 263949 - Identifier 263909 263932 - PropertyAccessExpression 263933 263948 - PropertyAccessExpression 263933 263941 - Identifier 263933 263934 - Identifier 263935 263941 - Identifier 263942 263948 - IfStatement 263984 264579 - BinaryExpression 264002 264201 - BinaryExpression 264002 264149 - BinaryExpression 264002 264112 - BinaryExpression 264002 264054 - CallExpression 264002 264022 - Identifier 264002 264019 - Identifier 264020 264021 - AmpersandAmpersandToken 264022 264025 - CallExpression 264025 264054 - Identifier 264025 264044 - PropertyAccessExpression 264045 264053 - Identifier 264045 264046 - Identifier 264047 264053 - AmpersandAmpersandToken 264054 264057 - BinaryExpression 264057 264112 - PropertyAccessExpression 264057 264085 - PropertyAccessExpression 264057 264080 - PropertyAccessExpression 264057 264066 - Identifier 264057 264059 - Identifier 264060 264066 - Identifier 264067 264080 - Identifier 264081 264085 - EqualsEqualsEqualsToken 264085 264089 - PropertyAccessExpression 264089 264112 - Identifier 264089 264100 - Identifier 264101 264112 - AmpersandAmpersandToken 264112 264115 - CallExpression 264115 264149 - Identifier 264115 264134 - PropertyAccessExpression 264135 264148 - PropertyAccessExpression 264135 264143 - Identifier 264135 264136 - Identifier 264137 264143 - Identifier 264144 264148 - AmpersandAmpersandToken 264149 264152 - CallExpression 264152 264201 - Identifier 264152 264175 - PropertyAccessExpression 264176 264200 - PropertyAccessExpression 264176 264189 - PropertyAccessExpression 264176 264184 - Identifier 264176 264177 - Identifier 264178 264184 - Identifier 264185 264189 - Identifier 264190 264200 - Block 264202 264579 - IfStatement 264204 264419 - BinaryExpression 264226 264321 - CallExpression 264226 264272 - Identifier 264226 264257 - PropertyAccessExpression 264258 264271 - PropertyAccessExpression 264258 264266 - Identifier 264258 264259 - Identifier 264260 264266 - Identifier 264267 264271 - BarBarToken 264272 264275 - CallExpression 264275 264321 - Identifier 264275 264295 - PropertyAccessExpression 264296 264320 - PropertyAccessExpression 264296 264309 - PropertyAccessExpression 264296 264304 - Identifier 264296 264297 - Identifier 264298 264304 - Identifier 264305 264309 - Identifier 264310 264320 - Block 264322 264419 - ReturnStatement 264324 264400 - CallExpression 264352 264399 - Identifier 264352 264375 - CallExpression 264376 264398 - Identifier 264376 264395 - Identifier 264396 264397 - ExpressionStatement 264419 264485 - CallExpression 264419 264484 - Identifier 264419 264458 - PropertyAccessExpression 264459 264483 - PropertyAccessExpression 264459 264472 - PropertyAccessExpression 264459 264467 - Identifier 264459 264460 - Identifier 264461 264467 - Identifier 264468 264472 - Identifier 264473 264483 - ReturnStatement 264485 264564 - PropertyAccessExpression 264509 264563 - CallExpression 264509 264548 - Identifier 264509 264522 - PropertyAccessExpression 264523 264547 - PropertyAccessExpression 264523 264536 - PropertyAccessExpression 264523 264531 - Identifier 264523 264524 - Identifier 264525 264531 - Identifier 264532 264536 - Identifier 264537 264547 - Identifier 264549 264563 - IfStatement 264592 264670 - PrefixUnaryExpression 264606 264625 - CallExpression 264607 264625 - Identifier 264607 264613 - Identifier 264614 264624 - Block 264626 264670 - ReturnStatement 264628 264659 - Identifier 264648 264658 - VariableStatement 264670 264808 - VariableDeclarationList 264670 264807 - VariableDeclaration 264685 264807 - Identifier 264685 264696 - CallExpression 264698 264807 - Identifier 264698 264709 - Identifier 264710 264720 - ArrowFunction 264721 264806 - Parameter 264721 264731 - Identifier 264721 264731 - EqualsGreaterThanToken 264731 264734 - ConditionalExpression 264734 264806 - CallExpression 264734 264782 - Identifier 264734 264763 - Identifier 264764 264773 - Identifier 264774 264781 - QuestionToken 264782 264784 - Identifier 264784 264794 - ColonToken 264794 264796 - Identifier 264796 264806 - VariableStatement 264808 264854 - VariableDeclarationList 264808 264853 - VariableDeclaration 264823 264853 - Identifier 264823 264838 - ArrayType 264839 264848 - TypeReference 264839 264846 - Identifier 264839 264846 - ArrayLiteralExpression 264850 264853 - VariableStatement 264854 264905 - VariableDeclarationList 264854 264904 - VariableDeclaration 264867 264904 - Identifier 264867 264889 - ArrayType 264890 264899 - TypeReference 264890 264897 - Identifier 264890 264897 - ArrayLiteralExpression 264901 264904 - ForOfStatement 264905 265189 - VariableDeclarationList 264922 264937 - VariableDeclaration 264927 264937 - Identifier 264927 264937 - Identifier 264940 264951 - Block 264952 265189 - VariableStatement 264954 265037 - VariableDeclarationList 264954 265036 - VariableDeclaration 264973 265036 - ArrayBindingPattern 264973 264994 - BindingElement 264975 264984 - Identifier 264975 264984 - BindingElement 264985 264993 - DotDotDotToken 264985 264989 - Identifier 264989 264993 - CallExpression 264996 265036 - Identifier 264996 265025 - Identifier 265026 265035 - ExpressionStatement 265037 265102 - BinaryExpression 265037 265101 - Identifier 265037 265065 - EqualsToken 265065 265067 - CallExpression 265067 265101 - Identifier 265067 265074 - Identifier 265075 265089 - Identifier 265090 265100 - ExpressionStatement 265102 265178 - BinaryExpression 265102 265177 - Identifier 265102 265137 - EqualsToken 265137 265139 - CallExpression 265139 265177 - Identifier 265139 265148 - Identifier 265149 265170 - Identifier 265171 265176 - ReturnStatement 265189 265259 - CallExpression 265207 265258 - Identifier 265207 265219 - Identifier 265220 265234 - Identifier 265235 265257 - FunctionDeclaration 265259 267436 - Identifier 265279 265308 - Parameter 265309 265326 - Identifier 265309 265318 - TypeReference 265319 265326 - Identifier 265319 265326 - Block 265327 267436 - VariableStatement 265329 265452 - VariableDeclarationList 265329 265451 - VariableDeclaration 265348 265451 - Identifier 265348 265369 - CallExpression 265371 265451 - Identifier 265371 265382 - PropertyAccessExpression 265383 265405 - Identifier 265383 265392 - Identifier 265393 265405 - Identifier 265406 265450 - VariableStatement 265452 265579 - VariableDeclarationList 265452 265578 - VariableDeclaration 265471 265578 - Identifier 265471 265490 - BinaryExpression 265492 265578 - Identifier 265492 265513 - AmpersandAmpersandToken 265513 265516 - CallExpression 265516 265578 - Identifier 265516 265548 - Identifier 265549 265555 - Identifier 265556 265577 - VariableStatement 265579 265682 - VariableDeclarationList 265579 265681 - VariableDeclaration 265598 265681 - Identifier 265598 265621 - CallExpression 265623 265681 - Identifier 265623 265661 - Identifier 265662 265671 - Identifier 265672 265680 - IfStatement 265682 266192 - BinaryExpression 265700 265945 - BinaryExpression 265700 265809 - Identifier 265700 265738 - AmpersandAmpersandToken 265738 265741 - BinaryExpression 265741 265809 - PropertyAccessExpression 265741 265774 - Identifier 265741 265768 - Identifier 265769 265774 - AmpersandToken 265774 265776 - CallExpression 265776 265809 - Identifier 265776 265800 - Identifier 265801 265808 - AmpersandAmpersandToken 265809 265812 - CallExpression 265812 265945 - Identifier 265812 265854 - Identifier 265855 265864 - Identifier 265865 265886 - PropertyAccessExpression 265887 265909 - Identifier 265887 265899 - Identifier 265900 265909 - FalseKeyword 265910 265944 - Block 265960 266192 - ReturnStatement 265962 266099 - CallExpression 265986 266098 - Identifier 265986 265993 - CallExpression 265994 266073 - Identifier 265994 266005 - CallExpression 266006 266052 - Identifier 266006 266017 - ArrayLiteralExpression 266018 266029 - Identifier 266019 266028 - Identifier 266030 266051 - Identifier 266053 266072 - Identifier 266074 266097 - VariableStatement 266192 267149 - VariableDeclarationList 266192 267148 - VariableDeclaration 266492 267148 - Identifier 266492 266511 - ConditionalExpression 266513 267148 - BinaryExpression 266513 266764 - BinaryExpression 266513 266710 - BinaryExpression 266513 266626 - PrefixUnaryExpression 266513 266567 - ParenthesizedExpression 266515 266567 - BinaryExpression 266516 266566 - PropertyAccessExpression 266516 266531 - Identifier 266516 266525 - Identifier 266526 266531 - AmpersandToken 266531 266533 - CallExpression 266533 266566 - Identifier 266533 266557 - Identifier 266558 266565 - AmpersandAmpersandToken 266567 266591 - BinaryExpression 266591 266626 - PropertyAccessExpression 266591 266607 - Identifier 266591 266601 - Identifier 266602 266607 - AmpersandToken 266607 266609 - PropertyAccessExpression 266609 266626 - Identifier 266609 266621 - Identifier 266622 266626 - AmpersandAmpersandToken 266626 266650 - BinaryExpression 266650 266710 - PropertyAccessExpression 266650 266691 - CallExpression 266650 266685 - Identifier 266650 266674 - Identifier 266675 266684 - Identifier 266686 266691 - AmpersandToken 266691 266693 - PropertyAccessExpression 266693 266710 - Identifier 266693 266703 - Identifier 266704 266710 - AmpersandAmpersandToken 266710 266734 - BinaryExpression 266734 266764 - Identifier 266734 266742 - EqualsEqualsEqualsToken 266742 266746 - PropertyAccessExpression 266746 266764 - Identifier 266746 266758 - Identifier 266759 266764 - QuestionToken 266764 266783 - CallExpression 266783 267136 - Identifier 266783 266809 - Identifier 266810 266830 - ArrowFunction 266831 267135 - Parameter 266831 266833 - Identifier 266831 266833 - EqualsGreaterThanToken 266833 266836 - Block 266836 267135 - ReturnStatement 266838 267116 - CallExpression 266866 267115 - Identifier 266866 266879 - Identifier 266880 266881 - ArrowFunction 266882 267114 - Parameter 266882 266884 - Identifier 266882 266884 - EqualsGreaterThanToken 266884 266887 - Block 266887 267114 - IfStatement 266889 267091 - BinaryExpression 266919 267022 - BinaryExpression 266919 266961 - PropertyAccessExpression 266919 266926 - Identifier 266919 266920 - Identifier 266921 266926 - AmpersandToken 266926 266928 - CallExpression 266928 266961 - Identifier 266928 266952 - Identifier 266953 266960 - AmpersandAmpersandToken 266961 266964 - BinaryExpression 266964 267022 - CallExpression 266964 266983 - Identifier 266964 266980 - Identifier 266981 266982 - EqualsEqualsEqualsToken 266983 266987 - CallExpression 266987 267022 - Identifier 266987 267011 - Identifier 267012 267021 - Block 267023 267091 - ReturnStatement 267025 267064 - Identifier 267061 267063 - ColonToken 267136 267138 - Identifier 267138 267148 - VariableStatement 267149 267290 - VariableDeclarationList 267149 267289 - VariableDeclaration 267166 267289 - Identifier 267166 267170 - ConditionalExpression 267172 267289 - Identifier 267172 267191 - QuestionToken 267191 267193 - ArrayLiteralExpression 267193 267250 - Identifier 267195 267213 - SpreadElement 267214 267238 - Identifier 267218 267238 - Identifier 267239 267249 - ColonToken 267250 267252 - ArrayLiteralExpression 267252 267289 - SpreadElement 267254 267277 - Identifier 267257 267277 - Identifier 267278 267288 - ExpressionStatement 267290 267346 - BinaryExpression 267290 267345 - Identifier 267290 267307 - EqualsToken 267307 267309 - CallExpression 267309 267345 - Identifier 267309 267316 - Identifier 267317 267320 - Identifier 267321 267344 - ExpressionStatement 267346 267400 - BinaryExpression 267346 267399 - Identifier 267346 267363 - EqualsToken 267363 267365 - CallExpression 267365 267399 - Identifier 267365 267374 - Identifier 267375 267378 - Identifier 267379 267398 - ReturnStatement 267400 267425 - Identifier 267420 267424 - FunctionDeclaration 267436 267624 - Identifier 267456 267500 - Parameter 267501 267515 - Identifier 267501 267502 - TypeReference 267503 267515 - Identifier 267503 267515 - Block 267516 267624 - ReturnStatement 267518 267613 - BinaryExpression 267538 267612 - Identifier 267538 267548 - AmpersandAmpersandToken 267548 267551 - CallExpression 267551 267612 - Identifier 267551 267598 - Identifier 267599 267600 - Identifier 267601 267611 - FunctionDeclaration 267631 268642 - Identifier 267647 267685 - Parameter 267686 267700 - Identifier 267686 267692 - TypeReference 267693 267700 - Identifier 267693 267700 - Parameter 267701 267722 - Identifier 267701 267709 - TypeReference 267710 267722 - Identifier 267710 267722 - Block 267723 268642 - VariableStatement 267725 268249 - VariableDeclarationList 267725 268248 - VariableDeclaration 268161 268248 - Identifier 268161 268171 - UnionType 268172 268185 - TypeReference 268172 268177 - Identifier 268172 268177 - LiteralType 268179 268185 - FalseKeyword 268179 268185 - BinaryExpression 268187 268248 - PrefixUnaryExpression 268187 268217 - PrefixUnaryExpression 268189 268217 - CallExpression 268190 268217 - Identifier 268190 268196 - PropertyAccessExpression 268197 268216 - Identifier 268197 268203 - Identifier 268204 268216 - AmpersandAmpersandToken 268217 268220 - CallExpression 268220 268248 - Identifier 268220 268226 - NonNullExpression 268227 268247 - PropertyAccessExpression 268227 268246 - Identifier 268227 268233 - Identifier 268234 268246 - IfStatement 268249 268635 - BinaryExpression 268263 268366 - BinaryExpression 268263 268323 - BinaryExpression 268263 268303 - BinaryExpression 268263 268290 - Identifier 268263 268270 - AmpersandToken 268270 268272 - PropertyAccessExpression 268272 268290 - Identifier 268272 268284 - Identifier 268285 268290 - AmpersandAmpersandToken 268290 268293 - Identifier 268293 268303 - AmpersandAmpersandToken 268303 268306 - PropertyAccessExpression 268306 268323 - Identifier 268306 268316 - Identifier 268317 268323 - AmpersandAmpersandToken 268323 268326 - CallExpression 268326 268366 - Identifier 268326 268348 - PropertyAccessExpression 268349 268365 - Identifier 268349 268358 - Identifier 268359 268365 - Block 268367 268635 - IfStatement 268369 268624 - BinaryExpression 268387 268540 - BinaryExpression 268387 268469 - CallExpression 268387 268423 - Identifier 268387 268412 - Identifier 268413 268422 - AmpersandAmpersandToken 268423 268426 - BinaryExpression 268426 268469 - Identifier 268426 268436 - EqualsEqualsEqualsToken 268436 268440 - PropertyAccessExpression 268440 268469 - PropertyAccessExpression 268440 268457 - Identifier 268440 268450 - Identifier 268451 268457 - Identifier 268458 268469 - BarBarToken 268469 268472 - BinaryExpression 268472 268540 - CallExpression 268472 268501 - Identifier 268472 268490 - Identifier 268491 268500 - AmpersandAmpersandToken 268501 268504 - BinaryExpression 268504 268540 - Identifier 268504 268514 - EqualsEqualsEqualsToken 268514 268518 - PropertyAccessExpression 268518 268540 - PropertyAccessExpression 268518 268535 - Identifier 268518 268528 - Identifier 268529 268535 - Identifier 268536 268540 - Block 268541 268624 - ReturnStatement 268543 268609 - CallExpression 268567 268608 - Identifier 268567 268590 - PropertyAccessExpression 268591 268607 - Identifier 268591 268600 - Identifier 268601 268607 - FunctionDeclaration 268642 269027 - Identifier 268658 268705 - Parameter 268706 268720 - Identifier 268706 268707 - TypeReference 268708 268720 - Identifier 268708 268720 - Parameter 268721 268739 - Identifier 268721 268731 - TypeReference 268732 268739 - Identifier 268732 268739 - Block 268740 269027 - VariableStatement 268742 268801 - VariableDeclarationList 268742 268800 - VariableDeclaration 268757 268800 - Identifier 268757 268768 - CallExpression 268770 268800 - Identifier 268770 268797 - Identifier 268798 268799 - VariableStatement 268801 268920 - VariableDeclarationList 268801 268919 - VariableDeclaration 268816 268919 - Identifier 268816 268825 - BinaryExpression 268827 268919 - BinaryExpression 268827 268860 - Identifier 268827 268838 - AmpersandAmpersandToken 268838 268841 - PropertyAccessExpression 268841 268860 - Identifier 268841 268852 - Identifier 268853 268860 - AmpersandAmpersandToken 268860 268863 - CallExpression 268863 268919 - PropertyAccessExpression 268863 268886 - PropertyAccessExpression 268863 268882 - Identifier 268863 268874 - Identifier 268875 268882 - Identifier 268883 268886 - PropertyAccessExpression 268887 268918 - Identifier 268887 268905 - Identifier 268906 268918 - ReturnStatement 268920 269020 - ConditionalExpression 268936 269019 - BinaryExpression 268936 268994 - Identifier 268936 268945 - AmpersandAmpersandToken 268945 268948 - CallExpression 268948 268994 - Identifier 268948 268973 - Identifier 268974 268982 - Identifier 268983 268993 - QuestionToken 268994 268996 - Identifier 268996 269007 - ColonToken 269007 269009 - Identifier 269009 269019 - FunctionDeclaration 269027 270086 - Identifier 269043 269072 - Parameter 269073 269090 - Identifier 269073 269082 - TypeReference 269083 269090 - Identifier 269083 269090 - Parameter 269091 269106 - Identifier 269091 269098 - TypeReference 269099 269106 - Identifier 269099 269106 - Block 269107 270086 - IfStatement 269109 269285 - BinaryExpression 269123 269162 - Identifier 269123 269132 - EqualsEqualsEqualsToken 269132 269136 - CallExpression 269136 269162 - Identifier 269136 269154 - Identifier 269155 269161 - Block 269163 269285 - ReturnStatement 269165 269274 - Identifier 269266 269273 - VariableStatement 269285 269566 - VariableDeclarationList 269285 269565 - VariableDeclaration 269474 269565 - Identifier 269474 269487 - BinaryExpression 269489 269565 - PropertyAccessExpression 269489 269507 - Identifier 269489 269499 - Identifier 269500 269507 - AmpersandAmpersandToken 269507 269510 - CallExpression 269510 269565 - PropertyAccessExpression 269510 269532 - PropertyAccessExpression 269510 269528 - Identifier 269510 269520 - Identifier 269521 269528 - Identifier 269529 269532 - PropertyAccessExpression 269533 269564 - Identifier 269533 269551 - Identifier 269552 269564 - IfStatement 269566 269687 - BinaryExpression 269580 269642 - Identifier 269580 269592 - AmpersandAmpersandToken 269592 269595 - CallExpression 269595 269642 - Identifier 269595 269620 - Identifier 269621 269633 - Identifier 269634 269641 - Block 269643 269687 - ReturnStatement 269645 269676 - Identifier 269665 269675 - VariableStatement 269687 269743 - VariableDeclarationList 269687 269742 - VariableDeclaration 269702 269742 - Identifier 269702 269710 - CallExpression 269712 269742 - Identifier 269712 269731 - Identifier 269732 269741 - VariableStatement 269743 269799 - VariableDeclarationList 269743 269798 - VariableDeclaration 269758 269798 - Identifier 269758 269764 - CallExpression 269766 269798 - PropertyAccessExpression 269766 269778 - Identifier 269766 269774 - Identifier 269775 269778 - PropertyAccessExpression 269779 269797 - Identifier 269779 269785 - Identifier 269786 269797 - IfStatement 269799 269902 - BinaryExpression 269813 269861 - Identifier 269813 269818 - AmpersandAmpersandToken 269818 269821 - CallExpression 269821 269861 - Identifier 269821 269846 - Identifier 269847 269852 - Identifier 269853 269860 - Block 269862 269902 - ReturnStatement 269864 269891 - Identifier 269884 269890 - ReturnStatement 269902 270079 - CallExpression 269918 270078 - Identifier 269918 269931 - Identifier 269932 269939 - ArrowFunction 269940 270077 - Parameter 269940 269949 - Identifier 269940 269949 - EqualsGreaterThanToken 269949 269952 - Block 269952 270077 - IfStatement 269954 270066 - CallExpression 269972 270014 - Identifier 269972 269996 - Identifier 269997 270005 - Identifier 270006 270013 - Block 270015 270066 - ReturnStatement 270017 270051 - Identifier 270041 270050 - FunctionDeclaration 270086 270425 - Identifier 270208 270233 - Parameter 270234 270244 - Identifier 270234 270236 - TypeReference 270237 270244 - Identifier 270237 270244 - Parameter 270245 270256 - Identifier 270245 270248 - TypeReference 270249 270256 - Identifier 270249 270256 - Block 270257 270425 - IfStatement 270259 270418 - BinaryExpression 270273 270380 - CallExpression 270273 270324 - Identifier 270273 270288 - CallExpression 270289 270323 - Identifier 270289 270302 - CallExpression 270303 270322 - Identifier 270303 270318 - Identifier 270319 270321 - EqualsEqualsEqualsToken 270324 270328 - CallExpression 270328 270380 - Identifier 270328 270344 - CallExpression 270345 270379 - Identifier 270345 270358 - CallExpression 270359 270378 - Identifier 270359 270374 - Identifier 270375 270377 - Block 270381 270418 - ReturnStatement 270383 270407 - Identifier 270403 270406 - FunctionDeclaration 270425 270505 - Identifier 270441 270480 - Parameter 270481 270495 - Identifier 270481 270487 - TypeReference 270488 270495 - Identifier 270488 270495 - TypeReference 270497 270504 - Identifier 270497 270504 - FunctionDeclaration 270505 270607 - Identifier 270519 270558 - Parameter 270559 270585 - Identifier 270559 270565 - UnionType 270566 270585 - TypeReference 270566 270573 - Identifier 270566 270573 - UndefinedKeyword 270575 270585 - UnionType 270587 270606 - TypeReference 270587 270594 - Identifier 270587 270594 - UndefinedKeyword 270596 270606 - FunctionDeclaration 270607 270841 - Identifier 270621 270660 - Parameter 270661 270687 - Identifier 270661 270667 - UnionType 270668 270687 - TypeReference 270668 270675 - Identifier 270668 270675 - UndefinedKeyword 270677 270687 - UnionType 270689 270708 - TypeReference 270689 270696 - Identifier 270689 270696 - UndefinedKeyword 270698 270708 - Block 270708 270841 - ReturnStatement 270710 270834 - CallExpression 270726 270833 - Identifier 270726 270742 - BinaryExpression 270743 270832 - BinaryExpression 270743 270822 - BinaryExpression 270743 270799 - Identifier 270743 270749 - AmpersandAmpersandToken 270749 270752 - BinaryExpression 270752 270799 - ParenthesizedExpression 270752 270793 - BinaryExpression 270754 270792 - PropertyAccessExpression 270754 270766 - Identifier 270754 270760 - Identifier 270761 270766 - AmpersandToken 270766 270768 - PropertyAccessExpression 270768 270792 - Identifier 270768 270780 - Identifier 270781 270792 - ExclamationEqualsEqualsToken 270793 270797 - NumericLiteral 270797 270799 - AmpersandAmpersandToken 270799 270802 - PropertyAccessExpression 270802 270822 - Identifier 270802 270809 - Identifier 270810 270822 - BarBarToken 270822 270825 - Identifier 270825 270832 - FunctionDeclaration 270841 271137 - Identifier 270857 270871 - Parameter 270872 270886 - Identifier 270872 270878 - TypeReference 270879 270886 - Identifier 270879 270886 - Parameter 270887 270920 - Identifier 270887 270910 - QuestionToken 270910 270911 - BooleanKeyword 270912 270920 - BooleanKeyword 270922 270930 - Block 270930 271137 - ReturnStatement 270932 271130 - PrefixUnaryExpression 270948 271129 - PrefixUnaryExpression 270950 271129 - ParenthesizedExpression 270951 271129 - BinaryExpression 270952 271118 - BinaryExpression 270952 270998 - PropertyAccessExpression 270952 270978 - Identifier 270952 270972 - Identifier 270973 270978 - AmpersandToken 270978 270980 - PropertyAccessExpression 270980 270998 - Identifier 270980 270992 - Identifier 270993 270998 - BarBarToken 270998 271001 - BinaryExpression 271001 271118 - BinaryExpression 271001 271047 - PropertyAccessExpression 271001 271027 - Identifier 271001 271021 - Identifier 271022 271027 - AmpersandToken 271027 271029 - PropertyAccessExpression 271029 271047 - Identifier 271029 271041 - Identifier 271042 271047 - AmpersandAmpersandToken 271047 271050 - BinaryExpression 271050 271118 - CallExpression 271050 271098 - Identifier 271050 271065 - Identifier 271066 271072 - PrefixUnaryExpression 271073 271097 - Identifier 271075 271097 - AmpersandToken 271098 271100 - PropertyAccessExpression 271100 271118 - Identifier 271100 271112 - Identifier 271113 271118 - FunctionDeclaration 271137 271363 - Identifier 271153 271164 - Parameter 271165 271181 - Identifier 271165 271170 - TypeReference 271171 271181 - Identifier 271171 271181 - TypeReference 271183 271188 - Identifier 271183 271188 - Block 271188 271363 - VariableStatement 271190 271240 - VariableDeclarationList 271190 271239 - VariableDeclaration 271205 271239 - Identifier 271205 271212 - NewExpression 271214 271239 - Identifier 271218 271223 - Identifier 271224 271231 - Identifier 271232 271238 - ExpressionStatement 271240 271262 - PostfixUnaryExpression 271240 271261 - Identifier 271240 271259 - ExpressionStatement 271262 271294 - BinaryExpression 271262 271293 - PropertyAccessExpression 271262 271281 - Identifier 271262 271278 - Identifier 271279 271281 - EqualsToken 271281 271283 - Identifier 271283 271293 - ExpressionStatement 271294 271332 - CallExpression 271294 271331 - PropertyAccessExpression 271294 271323 - Identifier 271294 271311 - QuestionDotToken 271311 271313 - Identifier 271313 271323 - Identifier 271324 271330 - ReturnStatement 271332 271356 - Identifier 271348 271355 - FunctionDeclaration 271363 271549 - Identifier 271379 271400 - Parameter 271401 271417 - Identifier 271401 271406 - TypeReference 271407 271417 - Identifier 271407 271417 - Parameter 271418 271433 - Identifier 271418 271425 - TypeReference 271426 271433 - Identifier 271426 271433 - TypeReference 271435 271440 - Identifier 271435 271440 - Block 271440 271549 - VariableStatement 271442 271485 - VariableDeclarationList 271442 271484 - VariableDeclaration 271457 271484 - Identifier 271457 271464 - CallExpression 271466 271484 - Identifier 271466 271477 - Identifier 271478 271483 - ExpressionStatement 271485 271518 - BinaryExpression 271485 271517 - PropertyAccessExpression 271485 271508 - Identifier 271485 271501 - Identifier 271502 271508 - EqualsToken 271508 271510 - Identifier 271510 271517 - ReturnStatement 271518 271542 - Identifier 271534 271541 - FunctionDeclaration 271549 271657 - Identifier 271565 271582 - Parameter 271583 271599 - Identifier 271583 271588 - TypeReference 271589 271599 - Identifier 271589 271599 - TypeReference 271601 271606 - Identifier 271601 271606 - Block 271606 271657 - ReturnStatement 271608 271650 - NewExpression 271624 271649 - Identifier 271628 271633 - Identifier 271634 271641 - Identifier 271642 271648 - FunctionDeclaration 271657 272269 - Identifier 271673 271693 - Parameter 271694 271709 - Identifier 271694 271698 - TypeReference 271699 271709 - Identifier 271699 271709 - Parameter 271710 271732 - Identifier 271710 271724 - StringKeyword 271725 271732 - Parameter 271733 271764 - Identifier 271733 271745 - PropertyAccessExpression 271747 271764 - Identifier 271747 271759 - Identifier 271760 271764 - Parameter 271765 271793 - Identifier 271765 271784 - QuestionToken 271784 271785 - StringKeyword 271786 271793 - TypeReference 271795 271809 - Identifier 271795 271809 - Block 271809 272269 - ExpressionStatement 271811 271875 - CallExpression 271811 271874 - Identifier 271811 271839 - Identifier 271840 271853 - Identifier 271854 271873 - VariableStatement 271875 271932 - VariableDeclarationList 271875 271931 - VariableDeclaration 271890 271931 - Identifier 271890 271895 - AsExpression 271897 271931 - CallExpression 271897 271914 - Identifier 271897 271908 - Identifier 271909 271913 - TypeReference 271917 271931 - Identifier 271917 271931 - ExpressionStatement 271932 271977 - BinaryExpression 271932 271976 - PropertyAccessExpression 271932 271960 - Identifier 271932 271946 - Identifier 271947 271960 - EqualsToken 271960 271962 - Identifier 271962 271976 - ExpressionStatement 271977 272032 - BinaryExpression 271977 272031 - PropertyAccessExpression 271977 272010 - Identifier 271977 271991 - Identifier 271992 272010 - EqualsToken 272010 272012 - Identifier 272012 272031 - ExpressionStatement 272032 272240 - BinaryExpression 272032 272239 - PropertyAccessExpression 272032 272058 - Identifier 272032 272046 - Identifier 272047 272058 - EqualsToken 272058 272060 - BinaryExpression 272060 272239 - BinaryExpression 272060 272197 - BinaryExpression 272060 272156 - BinaryExpression 272060 272120 - Identifier 272060 272072 - BarToken 272072 272074 - PropertyAccessExpression 272074 272120 - Identifier 272074 272086 - Identifier 272087 272120 - BarToken 272120 272122 - PropertyAccessExpression 272122 272156 - Identifier 272122 272134 - Identifier 272135 272156 - BarToken 272156 272158 - PropertyAccessExpression 272158 272197 - Identifier 272158 272170 - Identifier 272171 272197 - BarToken 272197 272199 - PropertyAccessExpression 272199 272239 - Identifier 272199 272211 - Identifier 272212 272239 - ReturnStatement 272240 272262 - Identifier 272256 272261 - FunctionDeclaration 272269 272642 - Identifier 272285 272304 - Parameter 272305 272317 - Identifier 272305 272309 - StringKeyword 272310 272317 - Parameter 272318 272344 - Identifier 272318 272324 - UnionType 272325 272344 - StringKeyword 272325 272332 - UndefinedKeyword 272334 272344 - Block 272345 272642 - VariableStatement 272347 272394 - VariableDeclarationList 272347 272393 - VariableDeclaration 272362 272393 - Identifier 272362 272366 - TemplateExpression 272368 272393 - TemplateHead 272368 272372 - TemplateSpan 272372 272380 - Identifier 272372 272376 - TemplateMiddle 272376 272380 - TemplateSpan 272380 272393 - BinaryExpression 272380 272391 - Identifier 272380 272385 - QuestionQuestionToken 272385 272388 - StringLiteral 272388 272391 - TemplateTail 272391 272393 - IfStatement 272394 272597 - CallExpression 272408 272435 - PropertyAccessExpression 272408 272430 - Identifier 272408 272426 - Identifier 272427 272430 - Identifier 272431 272434 - Block 272436 272597 - ExpressionStatement 272438 272586 - CallExpression 272438 272585 - PropertyAccessExpression 272438 272462 - Identifier 272438 272457 - Identifier 272458 272462 - TemplateExpression 272463 272584 - TemplateHead 272463 272496 - TemplateSpan 272496 272503 - Identifier 272496 272500 - TemplateMiddle 272500 272503 - TemplateSpan 272503 272584 - ConditionalExpression 272503 272529 - Identifier 272503 272508 - QuestionToken 272508 272510 - TemplateExpression 272510 272524 - TemplateHead 272510 272516 - TemplateSpan 272516 272524 - Identifier 272516 272521 - TemplateTail 272521 272524 - ColonToken 272524 272526 - StringLiteral 272526 272529 - TemplateTail 272529 272584 - ExpressionStatement 272597 272635 - CallExpression 272597 272634 - PropertyAccessExpression 272597 272629 - Identifier 272597 272625 - Identifier 272626 272629 - Identifier 272630 272633 - FunctionDeclaration 272642 273087 - Identifier 272658 272675 - Parameter 272676 272700 - Identifier 272676 272687 - TypeReference 272688 272700 - Identifier 272688 272700 - Parameter 272701 272717 - Identifier 272701 272708 - QuestionToken 272708 272709 - TypeReference 272710 272717 - Identifier 272710 272717 - TypeReference 272719 272730 - Identifier 272719 272730 - Block 272730 273087 - VariableStatement 272732 272817 - VariableDeclarationList 272732 272816 - VariableDeclaration 272747 272816 - Identifier 272747 272752 - AsExpression 272754 272816 - CallExpression 272754 272802 - Identifier 272754 272775 - PropertyAccessExpression 272776 272792 - Identifier 272776 272785 - Identifier 272786 272792 - NonNullExpression 272793 272801 - Identifier 272793 272800 - TypeReference 272805 272816 - Identifier 272805 272816 - ExpressionStatement 272817 272858 - BinaryExpression 272817 272857 - PropertyAccessExpression 272817 272843 - Identifier 272817 272831 - Identifier 272832 272843 - EqualsToken 272843 272845 - Identifier 272845 272857 - ExpressionStatement 272858 272893 - BinaryExpression 272858 272892 - PropertyAccessExpression 272858 272880 - Identifier 272858 272872 - Identifier 272873 272880 - EqualsToken 272880 272882 - Identifier 272882 272892 - ExpressionStatement 272893 272931 - BinaryExpression 272893 272930 - PropertyAccessExpression 272893 272918 - Identifier 272893 272907 - Identifier 272908 272918 - EqualsToken 272918 272920 - Identifier 272920 272930 - ExpressionStatement 272931 272973 - BinaryExpression 272931 272972 - PropertyAccessExpression 272931 272960 - Identifier 272931 272945 - Identifier 272946 272960 - EqualsToken 272960 272962 - Identifier 272962 272972 - ExpressionStatement 272973 273020 - BinaryExpression 272973 273019 - PropertyAccessExpression 272973 273007 - Identifier 272973 272987 - Identifier 272988 273007 - EqualsToken 273007 273009 - Identifier 273009 273019 - ExpressionStatement 273020 273058 - BinaryExpression 273020 273057 - PropertyAccessExpression 273020 273045 - Identifier 273020 273034 - Identifier 273035 273045 - EqualsToken 273045 273047 - Identifier 273047 273057 - ReturnStatement 273058 273080 - Identifier 273074 273079 - FunctionDeclaration 273087 273216 - Identifier 273103 273120 - Block 273122 273216 - ReturnStatement 273124 273209 - CallExpression 273140 273208 - Identifier 273140 273153 - CallExpression 273154 273207 - Identifier 273154 273163 - CallExpression 273164 273184 - PropertyAccessExpression 273164 273182 - Identifier 273164 273177 - Identifier 273178 273182 - Identifier 273185 273206 - FunctionDeclaration 273216 273367 - Identifier 273232 273252 - Parameter 273253 273268 - Identifier 273253 273259 - QuestionToken 273259 273260 - TypeReference 273261 273268 - Identifier 273261 273268 - Block 273269 273367 - ReturnStatement 273271 273360 - AsExpression 273287 273359 - CallExpression 273287 273342 - Identifier 273287 273308 - PropertyAccessExpression 273309 273332 - Identifier 273309 273318 - Identifier 273319 273332 - NonNullExpression 273333 273341 - Identifier 273333 273340 - TypeReference 273345 273359 - Identifier 273345 273359 - FunctionDeclaration 273367 274176 - Identifier 273785 273806 - Parameter 273807 273821 - Identifier 273807 273811 - TypeReference 273812 273821 - Identifier 273812 273821 - Block 273822 274176 - ReturnStatement 273824 274169 - BinaryExpression 273840 274168 - BinaryExpression 273840 274097 - BinaryExpression 273840 274028 - BinaryExpression 273840 273960 - BinaryExpression 273840 273892 - CallExpression 273840 273871 - PropertyAccessExpression 273840 273868 - ParenthesizedExpression 273840 273857 - AsExpression 273842 273856 - Identifier 273842 273846 - StringKeyword 273849 273856 - Identifier 273858 273868 - NumericLiteral 273869 273870 - EqualsEqualsEqualsToken 273871 273875 - PropertyAccessExpression 273875 273892 - Identifier 273875 273890 - Identifier 273891 273892 - AmpersandAmpersandToken 273892 273895 - BinaryExpression 273895 273960 - CallExpression 273895 273939 - PropertyAccessExpression 273895 273936 - ParenthesizedExpression 273895 273925 - AsExpression 273910 273924 - Identifier 273910 273914 - StringKeyword 273917 273924 - Identifier 273926 273936 - NumericLiteral 273937 273938 - EqualsEqualsEqualsToken 273939 273943 - PropertyAccessExpression 273943 273960 - Identifier 273943 273958 - Identifier 273959 273960 - AmpersandAmpersandToken 273960 273963 - BinaryExpression 273963 274028 - CallExpression 273963 274007 - PropertyAccessExpression 273963 274004 - ParenthesizedExpression 273963 273993 - AsExpression 273978 273992 - Identifier 273978 273982 - StringKeyword 273985 273992 - Identifier 273994 274004 - NumericLiteral 274005 274006 - ExclamationEqualsEqualsToken 274007 274011 - PropertyAccessExpression 274011 274028 - Identifier 274011 274026 - Identifier 274027 274028 - AmpersandAmpersandToken 274028 274031 - BinaryExpression 274031 274097 - CallExpression 274031 274075 - PropertyAccessExpression 274031 274072 - ParenthesizedExpression 274031 274061 - AsExpression 274046 274060 - Identifier 274046 274050 - StringKeyword 274053 274060 - Identifier 274062 274072 - NumericLiteral 274073 274074 - ExclamationEqualsEqualsToken 274075 274079 - PropertyAccessExpression 274079 274097 - Identifier 274079 274094 - Identifier 274095 274097 - AmpersandAmpersandToken 274097 274100 - BinaryExpression 274100 274168 - CallExpression 274100 274144 - PropertyAccessExpression 274100 274141 - ParenthesizedExpression 274100 274130 - AsExpression 274115 274129 - Identifier 274115 274119 - StringKeyword 274122 274129 - Identifier 274131 274141 - NumericLiteral 274142 274143 - ExclamationEqualsEqualsToken 274144 274148 - PropertyAccessExpression 274148 274168 - Identifier 274148 274163 - Identifier 274164 274168 - FunctionDeclaration 274176 274504 - Identifier 274192 274208 - Parameter 274209 274229 - Identifier 274209 274216 - TypeReference 274217 274229 - Identifier 274217 274229 - ArrayType 274231 274240 - TypeReference 274231 274238 - Identifier 274231 274238 - Block 274240 274504 - VariableStatement 274242 274285 - VariableDeclarationList 274242 274284 - VariableDeclaration 274255 274284 - Identifier 274255 274262 - UnionType 274263 274284 - ArrayType 274263 274272 - TypeReference 274263 274270 - Identifier 274263 274270 - UndefinedKeyword 274274 274284 - ExpressionStatement 274285 274459 - CallExpression 274285 274458 - PropertyAccessExpression 274285 274310 - Identifier 274285 274302 - Identifier 274303 274310 - ArrowFunction 274311 274457 - Parameter 274312 274318 - Identifier 274312 274318 - Parameter 274319 274322 - Identifier 274319 274322 - EqualsGreaterThanToken 274323 274326 - Block 274326 274457 - IfStatement 274328 274446 - CallExpression 274346 274371 - Identifier 274346 274359 - Identifier 274360 274366 - Identifier 274367 274370 - Block 274372 274446 - ExpressionStatement 274374 274431 - CallExpression 274374 274430 - PropertyAccessExpression 274374 274422 - ParenthesizedExpression 274374 274417 - BinaryExpression 274393 274416 - Identifier 274393 274399 - BarBarToken 274399 274402 - ParenthesizedExpression 274402 274416 - BinaryExpression 274404 274415 - Identifier 274404 274410 - EqualsToken 274410 274412 - ArrayLiteralExpression 274412 274415 - Identifier 274418 274422 - Identifier 274423 274429 - ReturnStatement 274459 274497 - BinaryExpression 274475 274496 - Identifier 274475 274482 - BarBarToken 274482 274485 - Identifier 274485 274496 - FunctionDeclaration 274504 274659 - Identifier 274520 274534 - Parameter 274535 274549 - Identifier 274535 274541 - TypeReference 274542 274549 - Identifier 274542 274549 - Parameter 274550 274572 - Identifier 274550 274562 - TypeReference 274563 274572 - Identifier 274563 274572 - Block 274573 274659 - ReturnStatement 274575 274652 - BinaryExpression 274591 274651 - PrefixUnaryExpression 274591 274626 - CallExpression 274593 274626 - Identifier 274593 274613 - Identifier 274614 274625 - AmpersandAmpersandToken 274626 274629 - CallExpression 274629 274651 - Identifier 274629 274643 - Identifier 274644 274650 - FunctionDeclaration 274659 274924 - Identifier 274675 274707 - Parameter 274708 274728 - Identifier 274708 274715 - TypeReference 274716 274728 - Identifier 274716 274728 - ArrayType 274730 274739 - TypeReference 274730 274737 - Identifier 274730 274737 - Block 274739 274924 - VariableStatement 274741 274791 - VariableDeclarationList 274741 274790 - VariableDeclaration 274756 274790 - Identifier 274756 274763 - CallExpression 274765 274790 - Identifier 274765 274781 - Identifier 274782 274789 - VariableStatement 274791 274854 - VariableDeclarationList 274791 274853 - VariableDeclaration 274806 274853 - Identifier 274806 274812 - CallExpression 274814 274853 - Identifier 274814 274844 - Identifier 274845 274852 - ReturnStatement 274854 274917 - ConditionalExpression 274870 274916 - Identifier 274870 274876 - QuestionToken 274876 274878 - CallExpression 274878 274907 - Identifier 274878 274890 - Identifier 274891 274897 - ArrayLiteralExpression 274898 274906 - Identifier 274900 274905 - ColonToken 274907 274909 - Identifier 274909 274916 - FunctionDeclaration 274924 275680 - Identifier 274940 274965 - Parameter 274966 274986 - Identifier 274966 274970 - TypeReference 274971 274986 - Identifier 274971 274986 - Parameter 274987 275008 - Identifier 274987 274995 - TypeReference 274996 275008 - Identifier 274996 275008 - Parameter 275009 275046 - Identifier 275009 275024 - TypeOperator 275025 275046 - ArrayType 275034 275046 - TypeReference 275034 275044 - Identifier 275034 275044 - Parameter 275047 275089 - Identifier 275047 275067 - TypeOperator 275068 275089 - ArrayType 275077 275089 - TypeReference 275077 275087 - Identifier 275077 275087 - Parameter 275090 275123 - Identifier 275090 275101 - TypeOperator 275102 275123 - ArrayType 275111 275123 - TypeReference 275111 275121 - Identifier 275111 275121 - TypeReference 275125 275138 - Identifier 275125 275138 - Block 275138 275680 - VariableStatement 275140 275188 - VariableDeclarationList 275140 275187 - VariableDeclaration 275155 275187 - Identifier 275155 275164 - AsExpression 275166 275187 - Identifier 275166 275171 - TypeReference 275174 275187 - Identifier 275174 275187 - ExpressionStatement 275188 275225 - BinaryExpression 275188 275224 - PropertyAccessExpression 275188 275214 - Identifier 275188 275206 - Identifier 275207 275214 - EqualsToken 275214 275216 - Identifier 275216 275224 - ExpressionStatement 275225 275268 - BinaryExpression 275225 275267 - PropertyAccessExpression 275225 275254 - Identifier 275225 275243 - Identifier 275244 275254 - EqualsToken 275254 275256 - Identifier 275256 275267 - ExpressionStatement 275268 275319 - BinaryExpression 275268 275318 - PropertyAccessExpression 275268 275301 - Identifier 275268 275286 - Identifier 275287 275301 - EqualsToken 275301 275303 - Identifier 275303 275318 - ExpressionStatement 275319 275380 - BinaryExpression 275319 275379 - PropertyAccessExpression 275319 275357 - Identifier 275319 275337 - Identifier 275338 275357 - EqualsToken 275357 275359 - Identifier 275359 275379 - ExpressionStatement 275380 275423 - BinaryExpression 275380 275422 - PropertyAccessExpression 275380 275409 - Identifier 275380 275398 - Identifier 275399 275409 - EqualsToken 275409 275411 - Identifier 275411 275422 - IfStatement 275423 275647 - BinaryExpression 275574 275598 - Identifier 275574 275581 - ExclamationEqualsEqualsToken 275581 275585 - Identifier 275585 275598 - ExpressionStatement 275599 275647 - BinaryExpression 275599 275646 - PropertyAccessExpression 275599 275619 - Identifier 275599 275608 - Identifier 275609 275619 - EqualsToken 275619 275621 - CallExpression 275621 275646 - Identifier 275621 275637 - Identifier 275638 275645 - ReturnStatement 275647 275673 - Identifier 275663 275672 - FunctionDeclaration 275680 276053 - Identifier 275696 275716 - Parameter 275717 275743 - Identifier 275717 275723 - UnionType 275724 275743 - TypeReference 275724 275731 - Identifier 275724 275731 - UndefinedKeyword 275733 275743 - Parameter 275744 275765 - Identifier 275744 275752 - TypeReference 275753 275765 - Identifier 275753 275765 - Parameter 275766 275803 - Identifier 275766 275781 - TypeOperator 275782 275803 - ArrayType 275791 275803 - TypeReference 275791 275801 - Identifier 275791 275801 - Parameter 275804 275846 - Identifier 275804 275824 - TypeOperator 275825 275846 - ArrayType 275834 275846 - TypeReference 275834 275844 - Identifier 275834 275844 - Parameter 275847 275880 - Identifier 275847 275858 - TypeOperator 275859 275880 - ArrayType 275868 275880 - TypeReference 275868 275878 - Identifier 275868 275878 - TypeReference 275882 275895 - Identifier 275882 275895 - Block 275895 276053 - ReturnStatement 275897 276046 - CallExpression 275913 276045 - Identifier 275913 275938 - CallExpression 275939 275986 - Identifier 275939 275955 - PropertyAccessExpression 275956 275977 - Identifier 275956 275967 - Identifier 275968 275977 - Identifier 275978 275985 - Identifier 275987 275995 - Identifier 275996 276011 - Identifier 276012 276032 - Identifier 276033 276044 - FunctionDeclaration 276053 276964 - Identifier 276069 276119 - Parameter 276120 276138 - Identifier 276120 276124 - TypeReference 276125 276138 - Identifier 276125 276138 - Block 276139 276964 - IfStatement 276141 276206 - BinaryExpression 276155 276192 - PropertyAccessExpression 276155 276186 - PropertyAccessExpression 276155 276179 - Identifier 276155 276159 - Identifier 276160 276179 - Identifier 276180 276186 - EqualsEqualsEqualsToken 276186 276190 - NumericLiteral 276190 276192 - ReturnStatement 276193 276206 - Identifier 276200 276205 - IfStatement 276206 276328 - PropertyAccessExpression 276220 276269 - Identifier 276220 276224 - Identifier 276225 276269 - ReturnStatement 276270 276328 - PropertyAccessExpression 276277 276327 - Identifier 276277 276282 - Identifier 276283 276327 - VariableStatement 276328 276458 - VariableDeclarationList 276328 276457 - VariableDeclaration 276343 276457 - Identifier 276343 276363 - CallExpression 276365 276457 - Identifier 276365 276372 - PropertyAccessExpression 276373 276397 - Identifier 276373 276377 - Identifier 276378 276397 - ArrowFunction 276398 276456 - Parameter 276398 276408 - Identifier 276398 276408 - EqualsGreaterThanToken 276408 276411 - PrefixUnaryExpression 276411 276456 - ParenthesizedExpression 276413 276456 - BinaryExpression 276414 276455 - PropertyAccessExpression 276414 276429 - Identifier 276414 276423 - Identifier 276424 276429 - AmpersandToken 276429 276431 - PropertyAccessExpression 276431 276455 - Identifier 276431 276446 - Identifier 276447 276455 - IfStatement 276458 276534 - BinaryExpression 276472 276520 - PropertyAccessExpression 276472 276496 - Identifier 276472 276476 - Identifier 276477 276496 - EqualsEqualsEqualsToken 276496 276500 - Identifier 276500 276520 - ReturnStatement 276521 276534 - Identifier 276528 276533 - VariableStatement 276534 276785 - VariableDeclarationList 276534 276784 - VariableDeclaration 276549 276784 - Identifier 276549 276558 - CallExpression 276560 276784 - Identifier 276560 276580 - PropertyAccessExpression 276581 276606 - Identifier 276581 276599 - Identifier 276600 276606 - PropertyAccessExpression 276607 276633 - Identifier 276607 276625 - Identifier 276626 276633 - PropertyAccessExpression 276634 276667 - Identifier 276634 276652 - Identifier 276653 276667 - ConditionalExpression 276668 276742 - CallExpression 276668 276707 - Identifier 276668 276686 - Identifier 276687 276706 - QuestionToken 276707 276709 - Identifier 276709 276729 - ColonToken 276729 276731 - Identifier 276731 276742 - PropertyAccessExpression 276743 276772 - Identifier 276743 276761 - Identifier 276762 276772 - ExpressionStatement 276785 276856 - BinaryExpression 276785 276855 - PropertyAccessExpression 276785 276844 - Identifier 276785 276799 - Identifier 276800 276844 - EqualsToken 276844 276846 - Identifier 276846 276855 - ExpressionStatement 276856 276931 - BinaryExpression 276856 276930 - PropertyAccessExpression 276856 276919 - Identifier 276856 276874 - Identifier 276875 276919 - EqualsToken 276919 276921 - Identifier 276921 276930 - ReturnStatement 276931 276957 - Identifier 276947 276956 - FunctionDeclaration 276964 280571 - Identifier 276980 277006 - TypeParameter 277007 277008 - Identifier 277007 277008 - Parameter 277010 277048 - Identifier 277010 277030 - UnionType 277031 277048 - TypeReference 277031 277036 - Identifier 277031 277036 - UndefinedKeyword 277038 277048 - Parameter 277049 277169 - Identifier 277049 277058 - FunctionType 277059 277169 - Parameter 277061 277085 - Identifier 277061 277072 - TypeReference 277073 277085 - Identifier 277073 277085 - Parameter 277086 277116 - Identifier 277086 277106 - QuestionToken 277106 277107 - BooleanKeyword 277108 277116 - Parameter 277117 277145 - Identifier 277117 277135 - QuestionToken 277135 277136 - BooleanKeyword 277137 277145 - Parameter 277146 277163 - Identifier 277146 277156 - QuestionToken 277156 277157 - TypeReference 277158 277163 - Identifier 277158 277163 - TypeReference 277167 277169 - Identifier 277167 277169 - TypeReference 277171 277173 - Identifier 277171 277173 - Block 277173 280571 - VariableStatement 277175 277199 - VariableDeclarationList 277175 277198 - VariableDeclaration 277188 277198 - Identifier 277188 277195 - TypeReference 277196 277198 - Identifier 277196 277198 - ForStatement 277199 280464 - VariableDeclarationList 277214 277249 - VariableDeclaration 277217 277249 - Identifier 277217 277226 - Identifier 277228 277249 - Identifier 277250 277259 - BinaryExpression 277260 277287 - Identifier 277260 277269 - EqualsToken 277269 277271 - PropertyAccessExpression 277271 277287 - Identifier 277271 277280 - Identifier 277281 277287 - Block 277288 280464 - IfStatement 277290 277700 - BinaryExpression 277420 277495 - BinaryExpression 277420 277462 - CallExpression 277420 277443 - Identifier 277420 277433 - Identifier 277434 277442 - AmpersandAmpersandToken 277443 277446 - PropertyAccessExpression 277446 277462 - Identifier 277446 277455 - Identifier 277456 277462 - AmpersandAmpersandToken 277462 277465 - PrefixUnaryExpression 277465 277495 - CallExpression 277467 277495 - Identifier 277467 277485 - Identifier 277486 277494 - Block 277496 277700 - IfStatement 277498 277685 - BinaryExpression 277520 277627 - Identifier 277520 277526 - EqualsToken 277526 277528 - CallExpression 277528 277627 - Identifier 277528 277537 - PropertyAccessExpression 277538 277553 - Identifier 277538 277546 - Identifier 277547 277553 - Identifier 277554 277588 - TrueKeyword 277589 277616 - Identifier 277617 277626 - Block 277628 277685 - ReturnStatement 277630 277666 - Identifier 277658 277665 - SwitchStatement 277700 280453 - PropertyAccessExpression 277722 277735 - Identifier 277722 277730 - Identifier 277731 277735 - CaseBlock 277736 280453 - CaseClause 277738 277918 - PropertyAccessExpression 277760 277782 - Identifier 277760 277771 - Identifier 277772 277782 - IfStatement 277783 277918 - PrefixUnaryExpression 277809 277860 - CallExpression 277810 277860 - Identifier 277810 277836 - AsExpression 277837 277859 - Identifier 277837 277845 - TypeReference 277848 277859 - Identifier 277848 277859 - Block 277861 277918 - BreakStatement 277863 277895 - CaseClause 277918 278671 - PropertyAccessExpression 277978 278007 - Identifier 277978 277989 - Identifier 277990 278007 - VariableStatement 278008 278096 - VariableDeclarationList 278008 278095 - VariableDeclaration 278035 278095 - Identifier 278035 278039 - CallExpression 278041 278095 - Identifier 278041 278064 - AsExpression 278065 278094 - Identifier 278065 278073 - TypeReference 278076 278094 - Identifier 278076 278094 - IfStatement 278096 278643 - BinaryExpression 278457 278577 - Identifier 278457 278463 - EqualsToken 278463 278465 - CallExpression 278465 278577 - Identifier 278465 278474 - BinaryExpression 278475 278503 - PropertyAccessExpression 278475 278487 - Identifier 278475 278478 - QuestionDotToken 278478 278480 - Identifier 278480 278487 - BarBarToken 278487 278490 - Identifier 278490 278503 - Identifier 278504 278538 - TrueKeyword 278539 278566 - Identifier 278567 278576 - Block 278578 278643 - ReturnStatement 278580 278620 - Identifier 278612 278619 - BreakStatement 278643 278671 - CaseClause 278671 278722 - PropertyAccessExpression 278693 278721 - Identifier 278693 278704 - Identifier 278705 278721 - CaseClause 278722 278772 - PropertyAccessExpression 278744 278771 - Identifier 278744 278755 - Identifier 278756 278771 - CaseClause 278772 280438 - PropertyAccessExpression 278794 278826 - Identifier 278794 278805 - Identifier 278806 278826 - VariableStatement 278827 279725 - VariableDeclarationList 278827 279724 - VariableDeclaration 279683 279724 - Identifier 279683 279689 - UnionType 279690 279724 - TypeReference 279690 279712 - Identifier 279690 279694 - TypeReference 279695 279703 - Identifier 279695 279703 - TypeReference 279704 279711 - Identifier 279704 279711 - UndefinedKeyword 279714 279724 - ExpressionStatement 279725 280209 - CallExpression 279725 280208 - PropertyAccessExpression 279725 279940 - ParenthesizedExpression 279725 279932 - BinaryExpression 279828 279931 - PropertyAccessExpression 279828 279915 - CallExpression 279828 279907 - Identifier 279828 279850 - AsExpression 279851 279906 - Identifier 279851 279859 - UnionType 279862 279906 - TypeReference 279862 279883 - Identifier 279862 279883 - TypeReference 279885 279906 - Identifier 279885 279906 - Identifier 279908 279915 - BarBarToken 279915 279918 - Identifier 279918 279931 - Identifier 279933 279940 - ArrowFunction 279941 280207 - Parameter 279942 279954 - Identifier 279942 279954 - Parameter 279955 279959 - Identifier 279955 279959 - EqualsGreaterThanToken 279960 279963 - Block 279963 280207 - IfStatement 279965 280184 - BinaryExpression 279995 280060 - PropertyAccessExpression 279995 280013 - Identifier 279995 280007 - Identifier 280008 280013 - AmpersandToken 280013 280015 - ParenthesizedExpression 280015 280060 - BinaryExpression 280017 280059 - PropertyAccessExpression 280017 280033 - Identifier 280017 280028 - Identifier 280029 280033 - AmpersandToken 280033 280035 - PrefixUnaryExpression 280035 280059 - PropertyAccessExpression 280037 280059 - Identifier 280037 280048 - Identifier 280049 280059 - Block 280061 280184 - ExpressionStatement 280063 280157 - CallExpression 280063 280156 - PropertyAccessExpression 280063 280137 - ParenthesizedExpression 280063 280133 - BinaryExpression 280094 280132 - Identifier 280094 280099 - BarBarToken 280099 280102 - ParenthesizedExpression 280102 280132 - BinaryExpression 280104 280131 - Identifier 280104 280109 - EqualsToken 280109 280111 - CallExpression 280111 280131 - Identifier 280111 280129 - Identifier 280134 280137 - Identifier 280138 280141 - Identifier 280142 280155 - IfStatement 280209 280410 - BinaryExpression 280235 280344 - Identifier 280235 280240 - AmpersandAmpersandToken 280240 280243 - ParenthesizedExpression 280243 280344 - BinaryExpression 280245 280343 - Identifier 280245 280251 - EqualsToken 280251 280253 - CallExpression 280253 280343 - Identifier 280253 280262 - Identifier 280263 280268 - Identifier 280269 280303 - FalseKeyword 280304 280332 - Identifier 280333 280342 - Block 280345 280410 - ReturnStatement 280347 280387 - Identifier 280379 280386 - BreakStatement 280410 280438 - ReturnStatement 280464 280564 - CallExpression 280482 280563 - Identifier 280482 280491 - Identifier 280492 280499 - Identifier 280500 280534 - TrueKeyword 280535 280562 - FunctionDeclaration 280571 280845 - Identifier 280587 280611 - Parameter 280612 280637 - Identifier 280612 280624 - TypeReference 280625 280637 - Identifier 280625 280637 - Block 280638 280845 - ReturnStatement 280640 280838 - ConditionalExpression 280758 280837 - BinaryExpression 280758 280793 - Identifier 280758 280771 - EqualsEqualsEqualsToken 280771 280775 - PropertyAccessExpression 280775 280793 - Identifier 280775 280787 - Identifier 280788 280793 - QuestionToken 280793 280795 - PropertyAccessExpression 280795 280813 - Identifier 280795 280807 - Identifier 280808 280813 - ColonToken 280813 280815 - PropertyAccessExpression 280815 280837 - Identifier 280815 280827 - Identifier 280828 280837 - FunctionDeclaration 280845 288243 - Identifier 280861 280886 - Parameter 280887 280913 - Identifier 280887 280893 - UnionType 280894 280913 - TypeReference 280894 280901 - Identifier 280894 280901 - UndefinedKeyword 280903 280913 - Parameter 280914 280953 - Identifier 280914 280935 - UnionType 280936 280953 - TypeReference 280936 280941 - Identifier 280936 280941 - UndefinedKeyword 280943 280953 - Parameter 280954 280975 - Identifier 280954 280962 - TypeReference 280963 280975 - Identifier 280963 280975 - Parameter 280976 281009 - Identifier 280976 281000 - BooleanKeyword 281001 281009 - Parameter 281010 281070 - Identifier 281010 281033 - NewExpression 281035 281070 - Identifier 281039 281043 - TypeReference 281044 281052 - Identifier 281044 281052 - ArrayType 281053 281067 - TypeReference 281053 281065 - Identifier 281053 281065 - UnionType 281072 281093 - ArrayType 281072 281081 - TypeReference 281072 281079 - Identifier 281072 281079 - UndefinedKeyword 281083 281093 - Block 281093 288243 - IfStatement 281095 281211 - PrefixUnaryExpression 281109 281166 - ParenthesizedExpression 281110 281166 - BinaryExpression 281111 281165 - Identifier 281111 281117 - AmpersandAmpersandToken 281117 281120 - PrefixUnaryExpression 281120 281165 - CallExpression 281122 281165 - Identifier 281122 281157 - Identifier 281158 281164 - Block 281167 281211 - ReturnStatement 281169 281200 - Identifier 281189 281199 - VariableStatement 281211 281258 - VariableDeclarationList 281211 281257 - VariableDeclaration 281226 281257 - Identifier 281226 281232 - CallExpression 281234 281257 - Identifier 281234 281249 - Identifier 281250 281256 - VariableStatement 281258 281325 - VariableDeclarationList 281258 281324 - VariableDeclaration 281273 281324 - Identifier 281273 281279 - ParenthesizedExpression 281281 281324 - BinaryExpression 281283 281323 - PropertyAccessExpression 281283 281309 - Identifier 281283 281288 - Identifier 281289 281309 - BarBarEqualsToken 281309 281313 - NewExpression 281313 281323 - Identifier 281317 281321 - VariableStatement 281325 281568 - VariableDeclarationList 281325 281567 - VariableDeclaration 281467 281567 - Identifier 281467 281489 - CallExpression 281491 281567 - Identifier 281491 281517 - Identifier 281518 281538 - ArrowFunction 281539 281566 - Parameter 281541 281542 - Identifier 281541 281542 - Parameter 281543 281546 - Identifier 281543 281546 - Parameter 281547 281551 - Identifier 281547 281551 - Parameter 281552 281557 - Identifier 281552 281557 - EqualsGreaterThanToken 281558 281561 - Identifier 281561 281566 - VariableStatement 281568 281702 - VariableDeclarationList 281568 281701 - VariableDeclaration 281583 281701 - Identifier 281583 281587 - TemplateExpression 281589 281701 - TemplateHead 281589 281593 - TemplateSpan 281593 281628 - ConditionalExpression 281593 281624 - Identifier 281593 281616 - QuestionToken 281616 281618 - NumericLiteral 281618 281620 - ColonToken 281620 281622 - NumericLiteral 281622 281624 - TemplateMiddle 281624 281628 - TemplateSpan 281628 281692 - ConditionalExpression 281628 281688 - Identifier 281628 281649 - QuestionToken 281649 281651 - CallExpression 281651 281684 - Identifier 281651 281661 - Identifier 281662 281683 - ColonToken 281684 281686 - NumericLiteral 281686 281688 - TemplateMiddle 281688 281692 - TemplateSpan 281692 281701 - Identifier 281692 281699 - TemplateTail 281699 281701 - IfStatement 281702 281780 - CallExpression 281716 281730 - PropertyAccessExpression 281716 281725 - Identifier 281716 281721 - Identifier 281722 281725 - Identifier 281726 281729 - Block 281731 281780 - ReturnStatement 281733 281769 - CallExpression 281753 281768 - PropertyAccessExpression 281753 281763 - Identifier 281753 281759 - Identifier 281760 281763 - Identifier 281764 281767 - VariableStatement 281780 281823 - VariableDeclarationList 281780 281822 - VariableDeclaration 281797 281822 - Identifier 281797 281800 - CallExpression 281802 281822 - Identifier 281802 281814 - Identifier 281815 281821 - VariableStatement 281823 281890 - VariableDeclarationList 281823 281889 - VariableDeclaration 281836 281889 - Identifier 281836 281856 - CallExpression 281858 281889 - PropertyAccessExpression 281858 281885 - Identifier 281858 281881 - Identifier 281882 281885 - Identifier 281886 281888 - IfStatement 281890 282009 - PrefixUnaryExpression 281904 281924 - Identifier 281905 281924 - Block 281925 282009 - ExpressionStatement 281927 281998 - CallExpression 281927 281997 - PropertyAccessExpression 281927 281967 - Identifier 281927 281963 - Identifier 281964 281967 - Identifier 281968 281970 - BinaryExpression 281971 281996 - Identifier 281971 281991 - EqualsToken 281991 281993 - ArrayLiteralExpression 281993 281996 - VariableStatement 282009 282123 - VariableDeclarationList 282009 282122 - VariableDeclaration 282024 282122 - Identifier 282024 282031 - CallExpression 282033 282122 - Identifier 282033 282059 - Identifier 282060 282080 - Identifier 282081 282121 - ExpressionStatement 282123 282156 - CallExpression 282123 282155 - PropertyAccessExpression 282123 282142 - Identifier 282123 282138 - Identifier 282139 282142 - Identifier 282143 282146 - Identifier 282147 282154 - ReturnStatement 282156 282180 - Identifier 282172 282179 - FunctionDeclaration 282180 282835 - Identifier 282399 282439 - Parameter 282440 282460 - Identifier 282440 282447 - TypeReference 282448 282460 - Identifier 282448 282460 - Parameter 282461 282491 - Identifier 282461 282481 - QuestionToken 282481 282482 - BooleanKeyword 282483 282491 - Parameter 282492 282520 - Identifier 282492 282510 - QuestionToken 282510 282511 - BooleanKeyword 282512 282520 - UnionType 282522 282543 - ArrayType 282522 282531 - TypeReference 282522 282529 - Identifier 282522 282529 - UndefinedKeyword 282533 282543 - Block 282543 282835 - IfStatement 282545 282660 - PrefixUnaryExpression 282563 282607 - CallExpression 282564 282607 - Identifier 282564 282576 - NonNullExpression 282577 282597 - Identifier 282577 282596 - Identifier 282598 282606 - Block 282608 282660 - ReturnStatement 282610 282645 - Identifier 282634 282644 - VariableStatement 282660 282755 - VariableDeclarationList 282660 282754 - VariableDeclaration 282681 282754 - Identifier 282681 282688 - CallExpression 282690 282754 - Identifier 282690 282705 - Identifier 282706 282713 - Identifier 282714 282734 - Identifier 282735 282753 - ExpressionStatement 282755 282796 - CallExpression 282755 282795 - PropertyAccessExpression 282755 282793 - NonNullExpression 282755 282789 - Identifier 282755 282788 - Identifier 282790 282793 - ReturnStatement 282796 282824 - Identifier 282816 282823 - FunctionDeclaration 282835 283457 - Identifier 282855 282872 - Parameter 282873 282902 - Identifier 282873 282894 - TypeReference 282895 282902 - Identifier 282895 282902 - Parameter 282903 282924 - Identifier 282903 282911 - TypeReference 282912 282924 - Identifier 282912 282924 - Block 282925 283457 - ReturnStatement 282927 283446 - BinaryExpression 283057 283445 - PrefixUnaryExpression 283057 283131 - CallExpression 283059 283131 - Identifier 283059 283077 - Identifier 283078 283099 - Identifier 283100 283121 - Identifier 283122 283130 - BarBarToken 283131 283134 - PrefixUnaryExpression 283134 283445 - PrefixUnaryExpression 283285 283445 - CallExpression 283286 283445 - Identifier 283286 283310 - PropertyAccessExpression 283311 283339 - Identifier 283311 283332 - Identifier 283333 283339 - Identifier 283340 283361 - CallExpression 283362 283395 - Identifier 283362 283386 - Identifier 283387 283394 - Identifier 283396 283420 - Identifier 283421 283444 - FunctionDeclaration 283457 284338 - Identifier 283477 283490 - Parameter 283491 283520 - Identifier 283491 283512 - TypeReference 283513 283520 - Identifier 283513 283520 - Parameter 283521 283550 - Identifier 283521 283541 - QuestionToken 283541 283542 - TypeReference 283543 283550 - Identifier 283543 283550 - Parameter 283551 283581 - Identifier 283551 283571 - QuestionToken 283571 283572 - BooleanKeyword 283573 283581 - Block 283582 284338 - ReturnStatement 283584 284327 - BinaryExpression 283604 284326 - BinaryExpression 283604 284215 - ParenthesizedExpression 283604 283757 - BinaryExpression 283606 283756 - BinaryExpression 283606 283663 - Identifier 283606 283612 - EqualsEqualsEqualsToken 283612 283616 - ParenthesizedExpression 283616 283663 - BinaryExpression 283618 283662 - Identifier 283618 283637 - BarBarToken 283637 283640 - Identifier 283640 283662 - BarBarToken 283663 283666 - BinaryExpression 283666 283756 - CallExpression 283666 283690 - Identifier 283666 283682 - Identifier 283683 283689 - EqualsEqualsEqualsToken 283690 283694 - CallExpression 283694 283756 - Identifier 283694 283710 - BinaryExpression 283711 283755 - Identifier 283711 283730 - BarBarToken 283730 283733 - Identifier 283733 283755 - AmpersandAmpersandToken 283757 283760 - PrefixUnaryExpression 283760 284215 - CallExpression 284129 284215 - Identifier 284129 284133 - PropertyAccessExpression 284134 284168 - Identifier 284134 284155 - Identifier 284156 284168 - Identifier 284169 284214 - AmpersandAmpersandToken 284215 284218 - ParenthesizedExpression 284218 284326 - BinaryExpression 284237 284325 - Identifier 284237 284256 - BarBarToken 284256 284259 - CallExpression 284259 284325 - Identifier 284259 284276 - CallExpression 284277 284315 - Identifier 284277 284292 - Identifier 284293 284314 - Identifier 284316 284324 - FunctionDeclaration 284338 287250 - Identifier 284358 284373 - Parameter 284374 284394 - Identifier 284374 284381 - TypeReference 284382 284394 - Identifier 284382 284394 - Parameter 284395 284436 - Identifier 284395 284415 - UnionType 284416 284436 - BooleanKeyword 284416 284424 - UndefinedKeyword 284426 284436 - Parameter 284437 284476 - Identifier 284437 284455 - UnionType 284456 284476 - BooleanKeyword 284456 284464 - UndefinedKeyword 284466 284476 - UnionType 284478 284499 - ArrayType 284478 284487 - TypeReference 284478 284485 - Identifier 284478 284485 - UndefinedKeyword 284489 284499 - Block 284499 287250 - IfStatement 284501 284755 - CallExpression 284599 284702 - Identifier 284599 284611 - NonNullExpression 284612 284645 - CallExpression 284612 284644 - PropertyAccessExpression 284612 284623 - Identifier 284612 284619 - Identifier 284620 284623 - PropertyAccessExpression 284624 284643 - NonNullExpression 284624 284631 - Identifier 284624 284630 - Identifier 284632 284643 - Identifier 284646 284680 - Identifier 284681 284701 - Block 284703 284755 - ReturnStatement 284705 284740 - ArrayLiteralExpression 284729 284739 - NonNullExpression 284731 284738 - Identifier 284731 284737 - VariableStatement 284755 286943 - VariableDeclarationList 284755 286942 - VariableDeclaration 284839 286942 - Identifier 284839 284846 - CallExpression 284848 286942 - Identifier 284848 284861 - Identifier 284862 284869 - ArrowFunction 284870 286941 - Parameter 284870 284892 - Identifier 284870 284892 - EqualsGreaterThanToken 284892 284895 - Block 284895 286941 - IfStatement 284897 286571 - BinaryExpression 284919 286204 - BinaryExpression 284919 285886 - BinaryExpression 284919 285562 - BinaryExpression 284919 285326 - BinaryExpression 284919 285171 - BinaryExpression 284919 285082 - BinaryExpression 284919 284988 - PropertyAccessExpression 284919 284968 - Identifier 284919 284962 - Identifier 284963 284968 - AmpersandToken 284968 284970 - PropertyAccessExpression 284970 284988 - Identifier 284970 284982 - Identifier 284983 284988 - AmpersandAmpersandToken 284988 285012 - BinaryExpression 285012 285082 - PropertyAccessExpression 285012 285046 - Identifier 285012 285034 - Identifier 285035 285046 - ExclamationEqualsEqualsToken 285046 285050 - PropertyAccessExpression 285050 285082 - Identifier 285050 285069 - Identifier 285070 285082 - AmpersandAmpersandToken 285082 285106 - BinaryExpression 285106 285171 - PropertyAccessExpression 285106 285140 - Identifier 285106 285128 - Identifier 285129 285140 - ExclamationEqualsEqualsToken 285140 285144 - PropertyAccessExpression 285144 285171 - Identifier 285144 285163 - Identifier 285164 285171 - AmpersandAmpersandToken 285171 285195 - PrefixUnaryExpression 285195 285326 - ParenthesizedExpression 285197 285326 - BinaryExpression 285198 285325 - BinaryExpression 285198 285262 - CallExpression 285198 285238 - Identifier 285198 285215 - Identifier 285216 285237 - AmpersandAmpersandToken 285238 285241 - Identifier 285241 285262 - AmpersandAmpersandToken 285262 285265 - CallExpression 285265 285325 - Identifier 285265 285282 - CallExpression 285283 285324 - Identifier 285283 285302 - Identifier 285303 285323 - AmpersandAmpersandToken 285326 285450 - ParenthesizedExpression 285450 285562 - BinaryExpression 285452 285561 - PrefixUnaryExpression 285452 285476 - Identifier 285453 285476 - BarBarToken 285476 285479 - CallExpression 285479 285561 - Identifier 285479 285484 - PropertyAccessExpression 285485 285519 - Identifier 285485 285506 - Identifier 285507 285519 - Identifier 285520 285560 - AmpersandAmpersandToken 285562 285783 - ParenthesizedExpression 285783 285886 - ConditionalExpression 285785 285885 - Identifier 285785 285802 - QuestionToken 285802 285804 - PrefixUnaryExpression 285804 285878 - CallExpression 285806 285878 - Identifier 285806 285810 - PropertyAccessExpression 285811 285845 - Identifier 285811 285832 - Identifier 285833 285845 - Identifier 285846 285877 - ColonToken 285878 285880 - TrueKeyword 285880 285885 - AmpersandAmpersandToken 285886 286106 - ParenthesizedExpression 286106 286204 - BinaryExpression 286108 286203 - Identifier 286108 286127 - BarBarToken 286127 286130 - PrefixUnaryExpression 286130 286203 - CallExpression 286132 286203 - Identifier 286132 286152 - Identifier 286153 286174 - PropertyAccessExpression 286175 286202 - Identifier 286175 286186 - Identifier 286187 286202 - Block 286223 286571 - VariableStatement 286225 286314 - VariableDeclarationList 286225 286313 - VariableDeclaration 286252 286313 - Identifier 286252 286275 - CallExpression 286277 286313 - Identifier 286277 286290 - Identifier 286291 286312 - VariableStatement 286314 286448 - VariableDeclarationList 286314 286447 - VariableDeclaration 286341 286447 - Identifier 286341 286351 - CallExpression 286353 286447 - Identifier 286353 286379 - Identifier 286380 286401 - Identifier 286402 286425 - Identifier 286426 286446 - IfStatement 286448 286552 - Identifier 286474 286483 - Block 286484 286552 - ReturnStatement 286486 286529 - Identifier 286518 286528 - IfStatement 286571 286926 - BinaryExpression 286593 286688 - BinaryExpression 286593 286650 - PropertyAccessExpression 286593 286626 - Identifier 286593 286614 - Identifier 286615 286626 - EqualsEqualsEqualsToken 286626 286630 - PropertyAccessExpression 286630 286650 - NonNullExpression 286630 286638 - Identifier 286630 286637 - Identifier 286639 286650 - AmpersandAmpersandToken 286650 286653 - PropertyAccessExpression 286653 286688 - Identifier 286653 286675 - Identifier 286676 286688 - Block 286689 286926 - IfStatement 286691 286907 - CallExpression 286717 286838 - Identifier 286717 286729 - CallExpression 286730 286781 - Identifier 286730 286745 - PropertyAccessExpression 286746 286780 - Identifier 286746 286767 - Identifier 286768 286780 - Identifier 286782 286816 - Identifier 286817 286837 - Block 286839 286907 - ReturnStatement 286841 286884 - ArrayLiteralExpression 286873 286883 - NonNullExpression 286875 286882 - Identifier 286875 286881 - ReturnStatement 286943 287239 - BinaryExpression 287109 287238 - Identifier 287109 287116 - BarBarToken 287116 287119 - ParenthesizedExpression 287119 287238 - ConditionalExpression 287121 287237 - BinaryExpression 287121 287140 - Identifier 287121 287128 - EqualsEqualsEqualsToken 287128 287132 - Identifier 287132 287140 - QuestionToken 287140 287142 - CallExpression 287142 287225 - Identifier 287142 287168 - Identifier 287169 287185 - Identifier 287186 287203 - Identifier 287204 287224 - ColonToken 287225 287227 - Identifier 287227 287237 - FunctionDeclaration 287250 288236 - Identifier 287270 287296 - Parameter 287297 287326 - Identifier 287297 287318 - TypeReference 287319 287326 - Identifier 287319 287326 - Parameter 287327 287358 - Identifier 287327 287350 - TypeReference 287351 287358 - Identifier 287351 287358 - Parameter 287359 287400 - Identifier 287359 287379 - UnionType 287380 287400 - BooleanKeyword 287380 287388 - UndefinedKeyword 287390 287400 - Block 287401 288236 - IfStatement 287403 287568 - CallExpression 287421 287501 - Identifier 287421 287433 - Identifier 287434 287455 - Identifier 287456 287479 - Identifier 287480 287500 - Block 287502 287568 - ReturnStatement 287504 287553 - ArrayLiteralExpression 287528 287552 - Identifier 287530 287551 - VariableStatement 287568 287843 - VariableDeclarationList 287568 287842 - VariableDeclaration 287782 287842 - Identifier 287782 287797 - CallExpression 287799 287842 - Identifier 287799 287818 - Identifier 287819 287841 - VariableStatement 287843 287998 - VariableDeclarationList 287843 287997 - VariableDeclaration 287862 287997 - Identifier 287862 287891 - BinaryExpression 287893 287997 - Identifier 287893 287908 - AmpersandAmpersandToken 287908 287911 - CallExpression 287911 287997 - Identifier 287911 287951 - Identifier 287952 287966 - TrueKeyword 287967 287996 - IfStatement 287998 288225 - BinaryExpression 288016 288121 - Identifier 288016 288044 - AmpersandAmpersandToken 288044 288047 - CallExpression 288047 288121 - Identifier 288047 288064 - Identifier 288065 288086 - CallExpression 288087 288120 - Identifier 288087 288111 - Identifier 288112 288119 - Block 288122 288225 - ReturnStatement 288124 288210 - CallExpression 288148 288209 - PropertyAccessExpression 288148 288179 - ArrayLiteralExpression 288148 288172 - Identifier 288150 288171 - Identifier 288173 288179 - Identifier 288180 288208 - FunctionDeclaration 288243 289737 - Identifier 288259 288278 - Parameter 288279 288293 - Identifier 288279 288285 - TypeReference 288286 288293 - Identifier 288286 288293 - Parameter 288294 288333 - Identifier 288294 288315 - UnionType 288316 288333 - TypeReference 288316 288321 - Identifier 288316 288321 - UndefinedKeyword 288323 288333 - Parameter 288334 288355 - Identifier 288334 288342 - TypeReference 288343 288355 - Identifier 288343 288355 - Block 288356 289737 - VariableStatement 288358 288388 - VariableDeclarationList 288358 288387 - VariableDeclaration 288371 288387 - Identifier 288371 288379 - FalseKeyword 288381 288387 - ExpressionStatement 288388 289703 - CallExpression 288388 289702 - Identifier 288388 288423 - Identifier 288424 288444 - ArrowFunction 288445 289701 - Parameter 288445 288457 - Identifier 288445 288457 - EqualsGreaterThanToken 288457 288460 - Block 288460 289701 - VariableStatement 288462 288643 - VariableDeclarationList 288462 288642 - VariableDeclaration 288565 288642 - Identifier 288565 288587 - CallExpression 288589 288642 - Identifier 288589 288605 - CallExpression 288606 288641 - PropertyAccessExpression 288606 288621 - Identifier 288606 288617 - Identifier 288618 288621 - PropertyAccessExpression 288622 288640 - Identifier 288622 288628 - Identifier 288629 288640 - IfStatement 288643 288786 - PrefixUnaryExpression 288661 288683 - Identifier 288662 288683 - Block 288684 288786 - ReturnStatement 288686 288771 - FalseKeyword 288764 288770 - IfStatement 288786 289009 - BinaryExpression 288890 288922 - Identifier 288890 288911 - EqualsEqualsEqualsToken 288911 288915 - Identifier 288915 288922 - Block 288923 289009 - ReturnStatement 288925 288994 - TrueKeyword 288988 288993 - VariableStatement 289009 289261 - VariableDeclarationList 289009 289260 - VariableDeclaration 289115 289260 - Identifier 289115 289134 - BinaryExpression 289136 289260 - BinaryExpression 289136 289184 - PropertyAccessExpression 289136 289164 - Identifier 289136 289158 - Identifier 289159 289164 - AmpersandToken 289164 289166 - PropertyAccessExpression 289166 289184 - Identifier 289166 289178 - Identifier 289179 289184 - AmpersandAmpersandToken 289184 289187 - PrefixUnaryExpression 289187 289260 - CallExpression 289189 289260 - Identifier 289189 289209 - Identifier 289210 289231 - PropertyAccessExpression 289232 289259 - Identifier 289232 289243 - Identifier 289244 289259 - ExpressionStatement 289261 289380 - BinaryExpression 289261 289379 - Identifier 289261 289296 - EqualsToken 289296 289298 - ConditionalExpression 289298 289379 - Identifier 289298 289317 - QuestionToken 289317 289319 - CallExpression 289319 289355 - Identifier 289319 289332 - Identifier 289333 289354 - ColonToken 289355 289357 - Identifier 289357 289379 - VariableStatement 289380 289497 - VariableDeclarationList 289380 289496 - VariableDeclaration 289399 289496 - Identifier 289399 289405 - ConditionalExpression 289407 289496 - Identifier 289407 289426 - QuestionToken 289426 289428 - CallExpression 289428 289466 - Identifier 289428 289443 - Identifier 289444 289465 - ColonToken 289466 289468 - PropertyAccessExpression 289468 289496 - Identifier 289468 289490 - Identifier 289491 289496 - IfStatement 289497 289611 - BinaryExpression 289515 289530 - Identifier 289515 289520 - AmpersandToken 289520 289522 - Identifier 289522 289530 - Block 289531 289611 - ExpressionStatement 289533 289566 - BinaryExpression 289533 289565 - Identifier 289533 289558 - EqualsToken 289558 289560 - TrueKeyword 289560 289565 - ReturnStatement 289566 289596 - TrueKeyword 289590 289595 - ReturnStatement 289611 289690 - FalseKeyword 289683 289689 - ReturnStatement 289703 289730 - Identifier 289721 289729 - FunctionDeclaration 289737 290399 - Identifier 289753 289789 - Parameter 289790 289804 - Identifier 289790 289796 - TypeReference 289797 289804 - Identifier 289797 289804 - Block 289805 290399 - IfStatement 289807 290369 - BinaryExpression 289821 289870 - PropertyAccessExpression 289821 289840 - Identifier 289821 289827 - Identifier 289828 289840 - AmpersandAmpersandToken 289840 289843 - PropertyAccessExpression 289843 289870 - PropertyAccessExpression 289843 289863 - Identifier 289843 289850 - Identifier 289851 289863 - Identifier 289864 289870 - Block 289871 290369 - ForOfStatement 289873 290332 - VariableDeclarationList 289892 289909 - VariableDeclaration 289897 289909 - Identifier 289897 289909 - PropertyAccessExpression 289912 289932 - Identifier 289912 289919 - Identifier 289920 289932 - Block 289933 290332 - SwitchStatement 289935 290317 - PropertyAccessExpression 289961 289977 - Identifier 289961 289972 - Identifier 289973 289977 - CaseBlock 289978 290317 - CaseClause 289980 290038 - PropertyAccessExpression 290006 290037 - Identifier 290006 290017 - Identifier 290018 290037 - CaseClause 290038 290094 - PropertyAccessExpression 290064 290093 - Identifier 290064 290075 - Identifier 290076 290093 - CaseClause 290094 290144 - PropertyAccessExpression 290120 290143 - Identifier 290120 290131 - Identifier 290132 290143 - CaseClause 290144 290229 - PropertyAccessExpression 290170 290193 - Identifier 290170 290181 - Identifier 290182 290193 - ContinueStatement 290194 290229 - DefaultClause 290229 290298 - ReturnStatement 290259 290298 - FalseKeyword 290291 290297 - ReturnStatement 290332 290358 - TrueKeyword 290352 290357 - ReturnStatement 290369 290392 - FalseKeyword 290385 290391 - FunctionDeclaration 290399 290759 - Identifier 290415 290438 - Parameter 290439 290457 - Identifier 290439 290449 - TypeReference 290450 290457 - Identifier 290450 290457 - Parameter 290458 290497 - Identifier 290458 290479 - UnionType 290480 290497 - TypeReference 290480 290485 - Identifier 290480 290485 - UndefinedKeyword 290487 290497 - BooleanKeyword 290499 290507 - Block 290507 290759 - VariableStatement 290509 290679 - VariableDeclarationList 290509 290678 - VariableDeclaration 290524 290678 - Identifier 290524 290531 - CallExpression 290533 290678 - Identifier 290533 290558 - Identifier 290559 290569 - Identifier 290570 290591 - PropertyAccessExpression 290592 290609 - Identifier 290592 290604 - Identifier 290605 290609 - FalseKeyword 290610 290654 - TrueKeyword 290655 290677 - ReturnStatement 290679 290752 - BinaryExpression 290695 290751 - PropertyAccessExpression 290695 290716 - Identifier 290695 290702 - Identifier 290703 290716 - EqualsEqualsEqualsToken 290716 290720 - PropertyAccessExpression 290720 290751 - Identifier 290720 290740 - Identifier 290741 290751 - FunctionDeclaration 290759 291121 - Identifier 290775 290799 - Parameter 290800 290818 - Identifier 290800 290810 - TypeReference 290811 290818 - Identifier 290811 290818 - Parameter 290819 290858 - Identifier 290819 290840 - UnionType 290841 290858 - TypeReference 290841 290846 - Identifier 290841 290846 - UndefinedKeyword 290848 290858 - BooleanKeyword 290860 290868 - Block 290868 291121 - VariableStatement 290870 291041 - VariableDeclarationList 290870 291040 - VariableDeclaration 290885 291040 - Identifier 290885 290892 - CallExpression 290894 291040 - Identifier 290894 290919 - Identifier 290920 290930 - Identifier 290931 290952 - PropertyAccessExpression 290953 290971 - Identifier 290953 290965 - Identifier 290966 290971 - FalseKeyword 290972 291016 - TrueKeyword 291017 291039 - ReturnStatement 291041 291114 - BinaryExpression 291057 291113 - PropertyAccessExpression 291057 291078 - Identifier 291057 291064 - Identifier 291065 291078 - EqualsEqualsEqualsToken 291078 291082 - PropertyAccessExpression 291082 291113 - Identifier 291082 291102 - Identifier 291103 291113 - FunctionDeclaration 291121 291494 - Identifier 291137 291163 - Parameter 291164 291182 - Identifier 291164 291174 - TypeReference 291175 291182 - Identifier 291175 291182 - Parameter 291183 291222 - Identifier 291183 291204 - UnionType 291205 291222 - TypeReference 291205 291210 - Identifier 291205 291210 - UndefinedKeyword 291212 291222 - Parameter 291223 291242 - Identifier 291223 291229 - TypeReference 291230 291242 - Identifier 291230 291242 - BooleanKeyword 291244 291252 - Block 291252 291494 - VariableStatement 291254 291414 - VariableDeclarationList 291254 291413 - VariableDeclaration 291269 291413 - Identifier 291269 291276 - CallExpression 291278 291413 - Identifier 291278 291303 - Identifier 291304 291314 - Identifier 291315 291336 - Identifier 291337 291343 - FalseKeyword 291344 291388 - FalseKeyword 291389 291412 - ReturnStatement 291414 291487 - BinaryExpression 291430 291486 - PropertyAccessExpression 291430 291451 - Identifier 291430 291437 - Identifier 291438 291451 - EqualsEqualsEqualsToken 291451 291455 - PropertyAccessExpression 291455 291486 - Identifier 291455 291475 - Identifier 291476 291486 - FunctionDeclaration 291494 295319 - Identifier 291510 291532 - Parameter 291533 291562 - Identifier 291533 291540 - UnionType 291541 291562 - ArrayType 291541 291550 - TypeReference 291541 291548 - Identifier 291541 291548 - UndefinedKeyword 291552 291562 - Parameter 291563 291602 - Identifier 291563 291584 - UnionType 291585 291602 - TypeReference 291585 291590 - Identifier 291585 291590 - UndefinedKeyword 291592 291602 - Parameter 291603 291625 - Identifier 291603 291617 - TypeReference 291618 291625 - Identifier 291618 291625 - Parameter 291626 291647 - Identifier 291626 291634 - TypeReference 291635 291647 - Identifier 291635 291647 - Parameter 291648 291691 - Identifier 291648 291682 - BooleanKeyword 291683 291691 - Parameter 291692 291714 - Identifier 291692 291705 - BooleanKeyword 291706 291714 - UnionType 291716 291754 - TypeReference 291716 291742 - Identifier 291716 291742 - UndefinedKeyword 291744 291754 - Block 291754 295319 - IfStatement 291756 291795 - PrefixUnaryExpression 291770 291786 - CallExpression 291771 291786 - Identifier 291771 291777 - Identifier 291778 291785 - ReturnStatement 291787 291795 - VariableStatement 291795 291850 - VariableDeclarationList 291795 291849 - VariableDeclaration 291810 291849 - Identifier 291810 291829 - UnionType 291830 291849 - TypeReference 291830 291837 - Identifier 291830 291837 - UndefinedKeyword 291839 291849 - VariableStatement 291850 291888 - VariableDeclarationList 291850 291887 - VariableDeclaration 291863 291887 - Identifier 291863 291879 - FalseKeyword 291881 291887 - ForOfStatement 291888 294750 - VariableDeclarationList 291903 291915 - VariableDeclaration 291908 291915 - Identifier 291908 291915 - NonNullExpression 291918 291927 - Identifier 291918 291926 - Block 291928 294750 - VariableStatement 291930 292140 - VariableDeclarationList 291930 292139 - VariableDeclaration 292016 292139 - Identifier 292016 292038 - CallExpression 292040 292139 - Identifier 292040 292065 - Identifier 292066 292072 - Identifier 292073 292094 - Identifier 292095 292103 - FalseKeyword 292104 292138 - IfStatement 292140 292503 - Identifier 292158 292179 - Block 292180 292503 - ExpressionStatement 292182 292228 - BinaryExpression 292182 292227 - Identifier 292182 292218 - EqualsToken 292218 292220 - Identifier 292220 292227 - VariableStatement 292228 292364 - VariableDeclarationList 292228 292363 - VariableDeclaration 292251 292363 - Identifier 292251 292277 - CallExpression 292279 292363 - Identifier 292279 292302 - ElementAccessExpression 292303 292327 - Identifier 292303 292324 - NumericLiteral 292325 292326 - Identifier 292328 292362 - IfStatement 292364 292488 - Identifier 292386 292411 - Block 292412 292488 - ReturnStatement 292414 292469 - Identifier 292442 292468 - IfStatement 292503 293570 - Identifier 292521 292533 - Block 292534 293570 - IfStatement 292536 293555 - CallExpression 292558 292629 - Identifier 292558 292562 - PropertyAccessExpression 292563 292582 - Identifier 292563 292569 - Identifier 292570 292582 - Identifier 292583 292628 - Block 292630 293555 - IfStatement 292632 293313 - Identifier 292658 292691 - Block 292692 293313 - ExpressionStatement 292694 292743 - BinaryExpression 292694 292742 - Identifier 292694 292735 - EqualsToken 292735 292737 - TrueKeyword 292737 292742 - ContinueStatement 292743 293290 - ReturnStatement 293313 293536 - ObjectLiteralExpression 293438 293535 - PropertyAssignment 293440 293511 - Identifier 293440 293479 - PropertyAccessExpression 293480 293511 - Identifier 293480 293500 - Identifier 293501 293511 - VariableStatement 293570 294427 - VariableDeclarationList 293570 294426 - VariableDeclaration 294352 294426 - Identifier 294352 294363 - CallExpression 294365 294426 - Identifier 294365 294387 - Identifier 294388 294394 - Identifier 294395 294416 - Identifier 294417 294425 - VariableStatement 294427 294653 - VariableDeclarationList 294427 294652 - VariableDeclaration 294446 294652 - Identifier 294446 294459 - CallExpression 294461 294652 - Identifier 294461 294483 - Identifier 294484 294494 - Identifier 294495 294516 - Identifier 294517 294531 - ConditionalExpression 294532 294602 - BinaryExpression 294532 294557 - Identifier 294532 294546 - EqualsEqualsEqualsToken 294546 294550 - Identifier 294550 294557 - QuestionToken 294557 294559 - CallExpression 294559 294592 - Identifier 294559 294583 - Identifier 294584 294591 - ColonToken 294592 294594 - Identifier 294594 294602 - Identifier 294603 294637 - Identifier 294638 294651 - IfStatement 294653 294739 - Identifier 294671 294683 - Block 294684 294739 - ReturnStatement 294686 294724 - Identifier 294710 294723 - IfStatement 294750 294897 - Identifier 294766 294781 - Block 294782 294897 - ReturnStatement 294784 294886 - ObjectLiteralExpression 294804 294885 - PropertyAssignment 294806 294869 - Identifier 294806 294837 - PropertyAccessExpression 294838 294869 - Identifier 294838 294858 - Identifier 294859 294869 - IfStatement 294897 295312 - Identifier 294913 294931 - Block 294932 295312 - ReturnStatement 294934 295301 - ObjectLiteralExpression 294954 295300 - PropertyAssignment 294956 295022 - Identifier 294956 294987 - PropertyAccessExpression 294988 295022 - Identifier 294988 295008 - Identifier 295009 295022 - PropertyAssignment 295023 295118 - Identifier 295023 295056 - CallExpression 295057 295118 - Identifier 295057 295072 - Identifier 295073 295086 - Identifier 295087 295108 - Identifier 295109 295117 - PropertyAssignment 295119 295284 - Identifier 295119 295152 - ConditionalExpression 295153 295284 - BinaryExpression 295153 295190 - Identifier 295153 295172 - ExclamationEqualsEqualsToken 295172 295176 - Identifier 295176 295190 - QuestionToken 295190 295192 - CallExpression 295192 295272 - Identifier 295192 295207 - Identifier 295208 295226 - Identifier 295227 295248 - PropertyAccessExpression 295249 295271 - Identifier 295249 295261 - Identifier 295262 295271 - ColonToken 295272 295274 - Identifier 295274 295284 - FunctionDeclaration 295319 296200 - Identifier 295872 295891 - Parameter 295892 295918 - Identifier 295892 295898 - UnionType 295899 295918 - TypeReference 295899 295906 - Identifier 295899 295906 - UndefinedKeyword 295908 295918 - Parameter 295919 295958 - Identifier 295919 295940 - UnionType 295941 295958 - TypeReference 295941 295946 - Identifier 295941 295946 - UndefinedKeyword 295948 295958 - Parameter 295959 295980 - Identifier 295959 295967 - TypeReference 295968 295980 - Identifier 295968 295980 - Parameter 295981 296024 - Identifier 295981 296015 - BooleanKeyword 296016 296024 - TypeReference 296026 296052 - Identifier 296026 296052 - Block 296052 296200 - ReturnStatement 296054 296193 - CallExpression 296070 296192 - Identifier 296070 296095 - Identifier 296096 296102 - Identifier 296103 296124 - Identifier 296125 296133 - Identifier 296134 296168 - TrueKeyword 296169 296191 - FunctionDeclaration 296200 298077 - Identifier 296216 296241 - Parameter 296242 296268 - Identifier 296242 296248 - UnionType 296249 296268 - TypeReference 296249 296256 - Identifier 296249 296256 - UndefinedKeyword 296258 296268 - Parameter 296269 296308 - Identifier 296269 296290 - UnionType 296291 296308 - TypeReference 296291 296296 - Identifier 296291 296296 - UndefinedKeyword 296298 296308 - Parameter 296309 296330 - Identifier 296309 296317 - TypeReference 296318 296330 - Identifier 296318 296330 - Parameter 296331 296374 - Identifier 296331 296365 - BooleanKeyword 296366 296374 - Parameter 296375 296397 - Identifier 296375 296388 - BooleanKeyword 296389 296397 - TypeReference 296399 296425 - Identifier 296399 296425 - Block 296425 298077 - IfStatement 296427 298001 - BinaryExpression 296441 296471 - Identifier 296441 296447 - AmpersandAmpersandToken 296447 296450 - Identifier 296450 296471 - Block 296472 298001 - VariableStatement 296474 296623 - VariableDeclarationList 296474 296622 - VariableDeclaration 296493 296622 - Identifier 296493 296500 - CallExpression 296502 296622 - Identifier 296502 296524 - ArrayLiteralExpression 296525 296533 - Identifier 296526 296532 - Identifier 296534 296555 - Identifier 296556 296563 - Identifier 296564 296572 - Identifier 296573 296607 - Identifier 296608 296621 - IfStatement 296623 296697 - Identifier 296641 296647 - Block 296648 296697 - ReturnStatement 296650 296682 - Identifier 296674 296681 - VariableStatement 296697 296999 - VariableDeclarationList 296697 296998 - VariableDeclaration 296918 296998 - Identifier 296918 296939 - CallExpression 296941 296998 - Identifier 296941 296949 - PropertyAccessExpression 296950 296969 - Identifier 296950 296956 - Identifier 296957 296969 - Identifier 296970 296997 - IfStatement 296999 297737 - Identifier 297017 297037 - Block 297038 297737 - VariableStatement 297040 297139 - VariableDeclarationList 297040 297138 - VariableDeclaration 297063 297138 - Identifier 297063 297087 - CallExpression 297089 297138 - Identifier 297089 297116 - Identifier 297117 297137 - IfStatement 297139 297722 - BinaryExpression 297161 297209 - Identifier 297161 297181 - ExclamationEqualsEqualsToken 297181 297185 - Identifier 297185 297209 - Block 297210 297722 - ReturnStatement 297212 297703 - ObjectLiteralExpression 297320 297702 - PropertyAssignment 297322 297396 - Identifier 297322 297361 - PropertyAccessExpression 297362 297396 - Identifier 297362 297382 - Identifier 297383 297396 - PropertyAssignment 297397 297493 - Identifier 297397 297438 - CallExpression 297439 297493 - Identifier 297439 297454 - Identifier 297455 297461 - Identifier 297462 297483 - Identifier 297484 297492 - PropertyAssignment 297494 297573 - Identifier 297494 297535 - CallExpression 297536 297573 - Identifier 297536 297551 - Identifier 297552 297572 - PropertyAssignment 297574 297678 - Identifier 297574 297609 - ConditionalExpression 297610 297678 - CallExpression 297610 297643 - Identifier 297610 297621 - Identifier 297622 297642 - QuestionToken 297643 297645 - Identifier 297645 297666 - ColonToken 297666 297668 - Identifier 297668 297678 - ReturnStatement 297737 297990 - ObjectLiteralExpression 297816 297989 - PropertyAssignment 297818 297884 - Identifier 297818 297849 - PropertyAccessExpression 297850 297884 - Identifier 297850 297870 - Identifier 297871 297884 - PropertyAssignment 297885 297973 - Identifier 297885 297918 - CallExpression 297919 297973 - Identifier 297919 297934 - Identifier 297935 297941 - Identifier 297942 297963 - Identifier 297964 297972 - ReturnStatement 298001 298070 - ObjectLiteralExpression 298019 298069 - PropertyAssignment 298021 298067 - Identifier 298021 298035 - PropertyAccessExpression 298036 298067 - Identifier 298036 298056 - Identifier 298057 298067 - FunctionDeclaration 298077 298317 - Identifier 298093 298120 - Parameter 298121 298138 - Identifier 298121 298132 - TypeReference 298133 298138 - Identifier 298133 298138 - Block 298139 298317 - VariableStatement 298141 298215 - VariableDeclarationList 298141 298214 - VariableDeclaration 298156 298214 - Identifier 298156 298161 - CallExpression 298163 298214 - Identifier 298163 298176 - Identifier 298177 298188 - Identifier 298189 298213 - ReturnStatement 298215 298310 - BinaryExpression 298231 298309 - Identifier 298231 298236 - AmpersandAmpersandToken 298236 298239 - CallExpression 298239 298309 - Identifier 298239 298262 - AsExpression 298263 298308 - Identifier 298263 298267 - UnionType 298270 298308 - TypeReference 298270 298295 - Identifier 298270 298295 - TypeReference 298297 298308 - Identifier 298297 298308 - FunctionDeclaration 298317 298536 - Identifier 298333 298357 - Parameter 298358 298375 - Identifier 298358 298369 - TypeReference 298370 298375 - Identifier 298370 298375 - Block 298376 298536 - ReturnStatement 298378 298529 - BinaryExpression 298394 298528 - CallExpression 298394 298423 - Identifier 298394 298410 - Identifier 298411 298422 - BarBarToken 298423 298426 - ParenthesizedExpression 298426 298528 - BinaryExpression 298428 298527 - BinaryExpression 298428 298470 - PropertyAccessExpression 298428 298444 - Identifier 298428 298439 - Identifier 298440 298444 - EqualsEqualsEqualsToken 298444 298448 - PropertyAccessExpression 298448 298470 - Identifier 298448 298459 - Identifier 298460 298470 - AmpersandAmpersandToken 298470 298473 - CallExpression 298473 298527 - Identifier 298473 298500 - AsExpression 298501 298526 - Identifier 298501 298512 - TypeReference 298515 298526 - Identifier 298515 298526 - FunctionDeclaration 298536 298790 - Identifier 298552 298597 - Parameter 298598 298615 - Identifier 298598 298609 - TypeReference 298610 298615 - Identifier 298610 298615 - Block 298616 298790 - ReturnStatement 298618 298783 - BinaryExpression 298634 298782 - CallExpression 298634 298677 - Identifier 298634 298664 - Identifier 298665 298676 - BarBarToken 298677 298680 - ParenthesizedExpression 298680 298782 - BinaryExpression 298682 298781 - BinaryExpression 298682 298724 - PropertyAccessExpression 298682 298698 - Identifier 298682 298693 - Identifier 298694 298698 - EqualsEqualsEqualsToken 298698 298702 - PropertyAccessExpression 298702 298724 - Identifier 298702 298713 - Identifier 298714 298724 - AmpersandAmpersandToken 298724 298727 - CallExpression 298727 298781 - Identifier 298727 298754 - AsExpression 298755 298780 - Identifier 298755 298766 - TypeReference 298769 298780 - Identifier 298769 298780 - FunctionDeclaration 298790 303272 - Identifier 298806 298829 - Parameter 298830 298844 - Identifier 298830 298836 - TypeReference 298837 298844 - Identifier 298837 298844 - Parameter 298845 298886 - Identifier 298845 298877 - BooleanKeyword 298878 298886 - UnionType 298888 298923 - TypeReference 298888 298911 - Identifier 298888 298911 - UndefinedKeyword 298913 298923 - Block 298923 303272 - VariableStatement 298925 299006 - VariableDeclarationList 298925 299005 - VariableDeclaration 298938 299005 - Identifier 298938 298959 - UnionType 298960 299005 - ArrayType 298960 298993 - TypeReference 298960 298991 - Identifier 298960 298991 - UndefinedKeyword 298995 299005 - IfStatement 299006 299164 - PrefixUnaryExpression 299020 299119 - CallExpression 299021 299119 - Identifier 299021 299026 - CallExpression 299027 299093 - Identifier 299027 299033 - PropertyAccessExpression 299034 299053 - Identifier 299034 299040 - Identifier 299041 299053 - ArrowFunction 299054 299092 - Parameter 299054 299056 - Identifier 299054 299056 - EqualsGreaterThanToken 299056 299059 - BinaryExpression 299059 299092 - PropertyAccessExpression 299059 299066 - Identifier 299059 299061 - Identifier 299062 299066 - ExclamationEqualsEqualsToken 299066 299070 - PropertyAccessExpression 299070 299092 - Identifier 299070 299081 - Identifier 299082 299092 - Identifier 299094 299118 - Block 299120 299164 - ReturnStatement 299122 299153 - Identifier 299142 299152 - ReturnStatement 299164 299253 - ObjectLiteralExpression 299180 299252 - PropertyAssignment 299182 299228 - Identifier 299182 299196 - PropertyAccessExpression 299197 299228 - Identifier 299197 299217 - Identifier 299218 299228 - ShorthandPropertyAssignment 299229 299250 - Identifier 299229 299250 - FunctionDeclaration 299253 302577 - Identifier 299273 299297 - Parameter 299298 299322 - Identifier 299298 299309 - TypeReference 299310 299322 - Identifier 299310 299322 - Block 299323 302577 - IfStatement 299325 302538 - PrefixUnaryExpression 299343 299377 - CallExpression 299344 299377 - Identifier 299344 299364 - Identifier 299365 299376 - Block 299378 302538 - VariableStatement 299380 299634 - VariableDeclarationList 299380 299633 - VariableDeclaration 299583 299633 - Identifier 299583 299599 - CallExpression 299601 299633 - Identifier 299601 299620 - Identifier 299621 299632 - IfStatement 299634 302443 - BinaryExpression 299656 299879 - BinaryExpression 299656 299778 - Identifier 299656 299693 - AmpersandAmpersandToken 299693 299696 - PrefixUnaryExpression 299696 299778 - CallExpression 299719 299778 - Identifier 299719 299739 - Identifier 299740 299755 - PropertyAccessExpression 299756 299777 - Identifier 299756 299770 - Identifier 299771 299777 - AmpersandAmpersandToken 299778 299781 - CallExpression 299781 299879 - Identifier 299781 299855 - PropertyAccessExpression 299856 299878 - Identifier 299856 299871 - Identifier 299872 299878 - Block 299898 299994 - ReturnStatement 299900 299975 - CallExpression 299928 299974 - Identifier 299928 299944 - Identifier 299945 299956 - Identifier 299957 299973 - IfStatement 300016 302443 - BinaryExpression 300021 300334 - BinaryExpression 300021 300222 - BinaryExpression 300021 300127 - CallExpression 300021 300077 - Identifier 300021 300064 - Identifier 300065 300076 - AmpersandAmpersandToken 300077 300080 - CallExpression 300080 300127 - Identifier 300080 300100 - PropertyAccessExpression 300101 300126 - PropertyAccessExpression 300101 300119 - Identifier 300101 300112 - Identifier 300113 300119 - Identifier 300120 300126 - AmpersandAmpersandToken 300127 300130 - PrefixUnaryExpression 300130 300222 - CallExpression 300153 300222 - Identifier 300153 300173 - PropertyAccessExpression 300174 300199 - PropertyAccessExpression 300174 300192 - Identifier 300174 300185 - Identifier 300186 300192 - Identifier 300193 300199 - PropertyAccessExpression 300200 300221 - Identifier 300200 300214 - Identifier 300215 300221 - AmpersandAmpersandToken 300222 300225 - CallExpression 300225 300334 - Identifier 300225 300300 - PropertyAccessExpression 300301 300333 - PropertyAccessExpression 300301 300326 - PropertyAccessExpression 300301 300319 - Identifier 300301 300312 - Identifier 300313 300319 - Identifier 300320 300326 - Identifier 300327 300333 - Block 300353 300459 - ReturnStatement 300355 300440 - CallExpression 300383 300439 - Identifier 300383 300399 - Identifier 300400 300411 - PropertyAccessExpression 300412 300438 - PropertyAccessExpression 300412 300431 - Identifier 300412 300424 - Identifier 300425 300431 - Identifier 300432 300438 - IfStatement 300481 302443 - BinaryExpression 300486 300733 - BinaryExpression 300486 300668 - CallExpression 300486 300553 - Identifier 300486 300540 - Identifier 300541 300552 - AmpersandAmpersandToken 300553 300611 - PrefixUnaryExpression 300611 300668 - CallExpression 300613 300668 - Identifier 300613 300633 - Identifier 300634 300645 - PropertyAccessExpression 300646 300667 - Identifier 300646 300660 - Identifier 300661 300667 - AmpersandAmpersandToken 300668 300692 - CallExpression 300692 300733 - Identifier 300692 300713 - PropertyAccessExpression 300714 300732 - Identifier 300714 300725 - Identifier 300726 300732 - Block 300752 300844 - ReturnStatement 300754 300825 - CallExpression 300782 300824 - Identifier 300782 300798 - Identifier 300799 300810 - Identifier 300811 300823 - IfStatement 300866 302443 - CallExpression 300871 300900 - Identifier 300871 300887 - Identifier 300888 300899 - Block 300901 302443 - IfStatement 300903 302424 - BinaryExpression 300929 301676 - BinaryExpression 300929 301497 - BinaryExpression 300929 301422 - BinaryExpression 300929 301309 - BinaryExpression 300929 301245 - BinaryExpression 300929 301176 - BinaryExpression 300929 301044 - BinaryExpression 300929 301014 - BinaryExpression 300929 300987 - PropertyAccessExpression 300929 300967 - Identifier 300929 300961 - Identifier 300962 300967 - AmpersandToken 300967 300969 - PropertyAccessExpression 300969 300987 - Identifier 300969 300981 - Identifier 300982 300987 - AmpersandAmpersandToken 300987 300990 - CallExpression 300990 301014 - Identifier 300990 301001 - Identifier 301002 301013 - AmpersandAmpersandToken 301014 301017 - PropertyAccessExpression 301017 301044 - PropertyAccessExpression 301017 301036 - Identifier 301017 301029 - Identifier 301030 301036 - QuestionDotToken 301036 301038 - Identifier 301038 301044 - AmpersandAmpersandToken 301044 301127 - CallExpression 301127 301176 - Identifier 301127 301149 - PropertyAccessExpression 301150 301175 - PropertyAccessExpression 301150 301168 - Identifier 301150 301161 - Identifier 301162 301168 - Identifier 301169 301175 - AmpersandAmpersandToken 301176 301204 - PropertyAccessExpression 301204 301245 - PropertyAccessExpression 301204 301237 - PropertyAccessExpression 301204 301230 - PropertyAccessExpression 301204 301223 - Identifier 301204 301216 - Identifier 301217 301223 - Identifier 301224 301230 - Identifier 301231 301237 - QuestionDotToken 301237 301239 - Identifier 301239 301245 - AmpersandAmpersandToken 301245 301248 - CallExpression 301248 301309 - Identifier 301248 301268 - PropertyAccessExpression 301269 301308 - PropertyAccessExpression 301269 301301 - PropertyAccessExpression 301269 301294 - PropertyAccessExpression 301269 301287 - Identifier 301269 301280 - Identifier 301281 301287 - Identifier 301288 301294 - Identifier 301295 301301 - Identifier 301302 301308 - AmpersandAmpersandToken 301309 301337 - PrefixUnaryExpression 301337 301422 - CallExpression 301339 301422 - Identifier 301339 301359 - PropertyAccessExpression 301360 301399 - PropertyAccessExpression 301360 301392 - PropertyAccessExpression 301360 301385 - PropertyAccessExpression 301360 301378 - Identifier 301360 301371 - Identifier 301372 301378 - Identifier 301379 301385 - Identifier 301386 301392 - Identifier 301393 301399 - PropertyAccessExpression 301400 301421 - Identifier 301400 301414 - Identifier 301415 301421 - AmpersandAmpersandToken 301422 301450 - PropertyAccessExpression 301450 301497 - PropertyAccessExpression 301450 301490 - PropertyAccessExpression 301450 301483 - PropertyAccessExpression 301450 301476 - PropertyAccessExpression 301450 301469 - Identifier 301450 301462 - Identifier 301463 301469 - Identifier 301470 301476 - Identifier 301477 301483 - Identifier 301484 301490 - Identifier 301491 301497 - AmpersandAmpersandToken 301497 301607 - CallExpression 301607 301676 - Identifier 301607 301628 - PropertyAccessExpression 301629 301675 - PropertyAccessExpression 301629 301668 - PropertyAccessExpression 301629 301661 - PropertyAccessExpression 301629 301654 - PropertyAccessExpression 301629 301647 - Identifier 301629 301640 - Identifier 301641 301647 - Identifier 301648 301654 - Identifier 301655 301661 - Identifier 301662 301668 - Identifier 301669 301675 - Block 301699 301827 - ReturnStatement 301701 301804 - CallExpression 301733 301803 - Identifier 301733 301749 - Identifier 301750 301761 - PropertyAccessExpression 301762 301802 - PropertyAccessExpression 301762 301795 - PropertyAccessExpression 301762 301788 - PropertyAccessExpression 301762 301781 - Identifier 301762 301774 - Identifier 301775 301781 - Identifier 301782 301788 - Identifier 301789 301795 - Identifier 301796 301802 - IfStatement 301853 302424 - BinaryExpression 301858 301904 - PropertyAccessExpression 301858 301870 - Identifier 301858 301864 - Identifier 301865 301870 - AmpersandToken 301870 301872 - PropertyAccessExpression 301872 301904 - Identifier 301872 301884 - Identifier 301885 301904 - Block 301905 302424 - VariableStatement 301907 302007 - VariableDeclarationList 301907 302006 - VariableDeclaration 301938 302006 - Identifier 301938 301956 - NonNullExpression 301958 302006 - CallExpression 301958 302005 - Identifier 301958 301971 - Identifier 301972 301983 - Identifier 301984 302004 - IfStatement 302007 302170 - CallExpression 302037 302098 - Identifier 302037 302057 - Identifier 302058 302075 - PropertyAccessExpression 302076 302097 - Identifier 302076 302090 - Identifier 302091 302097 - Block 302099 302170 - ReturnStatement 302101 302143 - TrueKeyword 302137 302142 - IfStatement 302170 302320 - PrefixUnaryExpression 302200 302247 - CallExpression 302201 302247 - Identifier 302201 302221 - PropertyAccessExpression 302222 302246 - Identifier 302222 302239 - Identifier 302240 302246 - Block 302248 302320 - ReturnStatement 302250 302293 - FalseKeyword 302286 302292 - ReturnStatement 302320 302401 - CallExpression 302352 302400 - Identifier 302352 302368 - Identifier 302369 302380 - Identifier 302381 302399 - ReturnStatement 302443 302523 - FalseKeyword 302516 302522 - ReturnStatement 302538 302566 - TrueKeyword 302560 302565 - FunctionDeclaration 302577 303265 - Identifier 302597 302613 - Parameter 302614 302638 - Identifier 302614 302625 - TypeReference 302626 302638 - Identifier 302626 302638 - Parameter 302639 302689 - Identifier 302639 302657 - TypeReference 302658 302689 - Identifier 302658 302689 - Block 302690 303265 - IfStatement 302692 303228 - Identifier 303021 303052 - Block 303053 303228 - ExpressionStatement 303055 303116 - BinaryExpression 303055 303115 - PropertyAccessExpression 303055 303108 - CallExpression 303055 303098 - Identifier 303055 303085 - Identifier 303086 303097 - Identifier 303099 303108 - EqualsToken 303108 303110 - TrueKeyword 303110 303115 - ExpressionStatement 303116 303213 - BinaryExpression 303116 303212 - Identifier 303116 303154 - EqualsToken 303154 303156 - CallExpression 303156 303212 - Identifier 303156 303171 - Identifier 303172 303192 - Identifier 303193 303211 - ReturnStatement 303228 303254 - TrueKeyword 303248 303253 - FunctionDeclaration 303272 305026 - Identifier 303288 303320 - Parameter 303321 303365 - Identifier 303321 303331 - TypeReference 303332 303365 - Identifier 303332 303365 - TypeReference 303367 303379 - Identifier 303367 303379 - Block 303379 305026 - VariableStatement 303381 303481 - VariableDeclarationList 303381 303480 - VariableDeclaration 303459 303480 - Identifier 303459 303467 - TypeReference 303468 303480 - Identifier 303468 303480 - IfStatement 303481 304994 - BinaryExpression 303495 303894 - BinaryExpression 303495 303753 - BinaryExpression 303495 303678 - BinaryExpression 303495 303556 - PropertyAccessExpression 303495 303531 - PropertyAccessExpression 303495 303526 - Identifier 303495 303519 - Identifier 303520 303526 - Identifier 303527 303531 - EqualsEqualsEqualsToken 303531 303535 - PropertyAccessExpression 303535 303556 - Identifier 303535 303546 - Identifier 303547 303556 - BarBarToken 303556 303559 - BinaryExpression 303559 303678 - BinaryExpression 303559 303638 - PropertyAccessExpression 303559 303595 - PropertyAccessExpression 303559 303590 - Identifier 303559 303583 - Identifier 303584 303590 - Identifier 303591 303595 - EqualsEqualsEqualsToken 303595 303599 - PropertyAccessExpression 303599 303638 - Identifier 303599 303610 - Identifier 303611 303638 - AmpersandAmpersandToken 303638 303641 - PrefixUnaryExpression 303641 303678 - CallExpression 303643 303678 - Identifier 303643 303659 - PropertyAccessExpression 303660 303677 - Identifier 303660 303670 - Identifier 303671 303677 - BarBarToken 303678 303681 - BinaryExpression 303681 303753 - PropertyAccessExpression 303681 303717 - PropertyAccessExpression 303681 303712 - Identifier 303681 303705 - Identifier 303706 303712 - Identifier 303713 303717 - EqualsEqualsEqualsToken 303717 303721 - PropertyAccessExpression 303721 303753 - Identifier 303721 303732 - Identifier 303733 303753 - BarBarToken 303753 303756 - BinaryExpression 303756 303894 - BinaryExpression 303756 303821 - PropertyAccessExpression 303756 303792 - PropertyAccessExpression 303756 303787 - Identifier 303756 303780 - Identifier 303781 303787 - Identifier 303788 303792 - EqualsEqualsEqualsToken 303792 303796 - PropertyAccessExpression 303796 303821 - Identifier 303796 303807 - Identifier 303808 303821 - AmpersandAmpersandToken 303821 303824 - BinaryExpression 303824 303894 - PropertyAccessExpression 303824 303879 - ParenthesizedExpression 303824 303865 - AsExpression 303826 303864 - PropertyAccessExpression 303826 303843 - Identifier 303826 303836 - Identifier 303837 303843 - TypeReference 303846 303864 - Identifier 303846 303864 - Identifier 303866 303879 - EqualsEqualsEqualsToken 303879 303883 - Identifier 303883 303894 - Block 303905 304015 - ExpressionStatement 303907 304004 - BinaryExpression 303907 304003 - Identifier 303907 303957 - EqualsToken 303957 303959 - BinaryExpression 303959 304003 - PropertyAccessExpression 303959 303977 - Identifier 303959 303971 - Identifier 303972 303977 - BarToken 303977 303979 - PropertyAccessExpression 303979 304003 - Identifier 303979 303991 - Identifier 303992 304003 - IfStatement 304029 304994 - BinaryExpression 304034 304673 - BinaryExpression 304034 304517 - BinaryExpression 304034 304359 - BinaryExpression 304034 304229 - BinaryExpression 304034 304151 - BinaryExpression 304034 304092 - PropertyAccessExpression 304034 304063 - Identifier 304034 304058 - Identifier 304059 304063 - EqualsEqualsEqualsToken 304063 304067 - PropertyAccessExpression 304067 304092 - Identifier 304067 304078 - Identifier 304079 304092 - BarBarToken 304092 304095 - BinaryExpression 304095 304151 - PropertyAccessExpression 304095 304111 - Identifier 304095 304106 - Identifier 304107 304111 - EqualsEqualsEqualsToken 304111 304115 - PropertyAccessExpression 304115 304151 - Identifier 304115 304126 - Identifier 304127 304151 - BarBarToken 304151 304154 - BinaryExpression 304154 304229 - PropertyAccessExpression 304154 304190 - PropertyAccessExpression 304154 304185 - Identifier 304154 304178 - Identifier 304179 304185 - Identifier 304186 304190 - EqualsEqualsEqualsToken 304190 304194 - PropertyAccessExpression 304194 304229 - Identifier 304194 304205 - Identifier 304206 304229 - BarBarToken 304229 304232 - ParenthesizedExpression 304232 304359 - BinaryExpression 304247 304358 - BinaryExpression 304247 304298 - PropertyAccessExpression 304247 304269 - PropertyAccessExpression 304247 304264 - Identifier 304247 304257 - Identifier 304258 304264 - Identifier 304265 304269 - EqualsEqualsEqualsToken 304269 304273 - PropertyAccessExpression 304273 304298 - Identifier 304273 304284 - Identifier 304285 304298 - AmpersandAmpersandToken 304298 304301 - BinaryExpression 304301 304358 - PropertyAccessExpression 304301 304343 - ParenthesizedExpression 304301 304338 - AsExpression 304303 304337 - PropertyAccessExpression 304303 304320 - Identifier 304303 304313 - Identifier 304314 304320 - TypeReference 304323 304337 - Identifier 304323 304337 - Identifier 304339 304343 - EqualsEqualsEqualsToken 304343 304347 - Identifier 304347 304358 - BarBarToken 304359 304362 - ParenthesizedExpression 304362 304517 - BinaryExpression 304377 304516 - BinaryExpression 304377 304439 - PropertyAccessExpression 304377 304399 - PropertyAccessExpression 304377 304394 - Identifier 304377 304387 - Identifier 304388 304394 - Identifier 304395 304399 - EqualsEqualsEqualsToken 304399 304403 - PropertyAccessExpression 304403 304439 - Identifier 304403 304414 - Identifier 304415 304439 - AmpersandAmpersandToken 304439 304442 - BinaryExpression 304442 304516 - PropertyAccessExpression 304442 304501 - ParenthesizedExpression 304442 304490 - AsExpression 304444 304489 - PropertyAccessExpression 304444 304461 - Identifier 304444 304454 - Identifier 304455 304461 - TypeReference 304464 304489 - Identifier 304464 304489 - Identifier 304491 304501 - EqualsEqualsEqualsToken 304501 304505 - Identifier 304505 304516 - BarBarToken 304517 304520 - ParenthesizedExpression 304520 304673 - BinaryExpression 304535 304672 - BinaryExpression 304535 304596 - PropertyAccessExpression 304535 304557 - PropertyAccessExpression 304535 304552 - Identifier 304535 304545 - Identifier 304546 304552 - Identifier 304553 304557 - EqualsEqualsEqualsToken 304557 304561 - PropertyAccessExpression 304561 304596 - Identifier 304561 304572 - Identifier 304573 304596 - AmpersandAmpersandToken 304596 304599 - BinaryExpression 304599 304672 - PropertyAccessExpression 304599 304657 - ParenthesizedExpression 304599 304646 - AsExpression 304601 304645 - PropertyAccessExpression 304601 304618 - Identifier 304601 304611 - Identifier 304612 304618 - TypeReference 304621 304645 - Identifier 304621 304645 - Identifier 304647 304657 - EqualsEqualsEqualsToken 304657 304661 - Identifier 304661 304672 - Block 304684 304862 - ExpressionStatement 304686 304851 - BinaryExpression 304686 304850 - Identifier 304686 304826 - EqualsToken 304826 304828 - PropertyAccessExpression 304828 304850 - Identifier 304828 304840 - Identifier 304841 304850 - Block 304876 304994 - ExpressionStatement 304878 304983 - BinaryExpression 304878 304982 - Identifier 304878 304963 - EqualsToken 304963 304965 - PropertyAccessExpression 304965 304982 - Identifier 304965 304977 - Identifier 304978 304982 - ReturnStatement 304994 305019 - Identifier 305010 305018 - FunctionDeclaration 305026 306654 - Identifier 305042 305062 - Parameter 305063 305107 - Identifier 305063 305073 - TypeReference 305074 305107 - Identifier 305074 305107 - Parameter 305108 305135 - Identifier 305108 305129 - TypeReference 305130 305135 - Identifier 305130 305135 - Parameter 305136 305175 - Identifier 305136 305168 - TrueKeyword 305170 305175 - TypeReference 305177 305200 - Identifier 305177 305200 - Block 305200 306654 - VariableStatement 305202 305272 - VariableDeclarationList 305202 305271 - VariableDeclaration 305217 305271 - Identifier 305217 305225 - CallExpression 305227 305271 - Identifier 305227 305259 - Identifier 305260 305270 - VariableStatement 305272 305337 - VariableDeclarationList 305272 305336 - VariableDeclaration 305287 305336 - Identifier 305287 305303 - CallExpression 305305 305336 - Identifier 305305 305324 - Identifier 305325 305335 - VariableStatement 305337 305486 - VariableDeclarationList 305337 305485 - VariableDeclaration 305352 305485 - Identifier 305352 305359 - CallExpression 305361 305485 - Identifier 305361 305373 - Identifier 305374 305394 - PropertyAccessExpression 305395 305423 - Identifier 305395 305411 - Identifier 305412 305423 - Identifier 305424 305432 - Identifier 305433 305467 - FalseKeyword 305468 305484 - IfStatement 305486 305665 - BinaryExpression 305500 305580 - BinaryExpression 305500 305550 - Identifier 305500 305506 - AmpersandAmpersandToken 305506 305509 - BinaryExpression 305509 305550 - PropertyAccessExpression 305509 305522 - Identifier 305509 305516 - Identifier 305517 305522 - AmpersandToken 305522 305524 - PropertyAccessExpression 305524 305550 - Identifier 305524 305536 - Identifier 305537 305550 - AmpersandAmpersandToken 305550 305553 - BinaryExpression 305553 305580 - Identifier 305553 305561 - AmpersandToken 305561 305563 - PropertyAccessExpression 305563 305580 - Identifier 305563 305575 - Identifier 305576 305580 - Block 305581 305665 - ReturnStatement 305583 305654 - ObjectLiteralExpression 305603 305653 - PropertyAssignment 305605 305651 - Identifier 305605 305619 - PropertyAccessExpression 305620 305651 - Identifier 305620 305640 - Identifier 305641 305651 - IfStatement 305665 306086 - BinaryExpression 305679 306001 - BinaryExpression 305679 305723 - PrefixUnaryExpression 305679 305686 - Identifier 305680 305686 - AmpersandAmpersandToken 305686 305689 - CallExpression 305689 305723 - Identifier 305689 305706 - Identifier 305707 305722 - AmpersandAmpersandToken 305723 305726 - BinaryExpression 305726 306001 - PropertyAccessExpression 305726 305966 - CallExpression 305726 305952 - Identifier 305726 305745 - CallExpression 305746 305880 - Identifier 305746 305768 - CallExpression 305769 305879 - Identifier 305769 305785 - Identifier 305786 305801 - FalseKeyword 305802 305834 - FalseKeyword 305835 305878 - Identifier 305881 305897 - Identifier 305898 305906 - FalseKeyword 305907 305951 - Identifier 305953 305966 - EqualsEqualsEqualsToken 305966 305970 - PropertyAccessExpression 305970 306001 - Identifier 305970 305990 - Identifier 305991 306001 - Block 306002 306086 - ReturnStatement 306004 306075 - ObjectLiteralExpression 306024 306074 - PropertyAssignment 306026 306072 - Identifier 306026 306040 - PropertyAccessExpression 306041 306072 - Identifier 306041 306061 - Identifier 306062 306072 - IfStatement 306086 306337 - PrefixUnaryExpression 306102 306109 - Identifier 306103 306109 - Block 306110 306337 - ReturnStatement 306112 306326 - ObjectLiteralExpression 306132 306325 - PropertyAssignment 306134 306198 - Identifier 306134 306165 - PropertyAccessExpression 306166 306198 - Identifier 306166 306186 - Identifier 306187 306198 - PropertyAssignment 306199 306264 - Identifier 306199 306232 - CallExpression 306233 306264 - Identifier 306233 306247 - Identifier 306248 306263 - PropertyAssignment 306265 306309 - Identifier 306265 306292 - Identifier 306293 306309 - ReturnStatement 306337 306647 - BinaryExpression 306400 306646 - CallExpression 306400 306464 - Identifier 306400 306423 - Identifier 306424 306430 - Identifier 306431 306463 - BarBarToken 306464 306467 - ObjectLiteralExpression 306467 306646 - PropertyAssignment 306469 306531 - Identifier 306469 306496 - PropertyAccessExpression 306497 306531 - Identifier 306497 306517 - Identifier 306518 306531 - PropertyAssignment 306532 306593 - Identifier 306532 306561 - CallExpression 306562 306593 - Identifier 306562 306576 - Identifier 306577 306592 - PropertyAssignment 306594 306634 - Identifier 306594 306617 - Identifier 306618 306634 - FunctionDeclaration 306654 308694 - Identifier 306670 306685 - Parameter 306686 306700 - Identifier 306686 306692 - TypeReference 306693 306700 - Identifier 306693 306700 - Parameter 306701 306729 - Identifier 306701 306722 - QuestionToken 306722 306723 - TypeReference 306724 306729 - Identifier 306724 306729 - Parameter 306730 306752 - Identifier 306730 306738 - QuestionToken 306738 306739 - TypeReference 306740 306752 - Identifier 306740 306752 - Parameter 306753 306815 - Identifier 306753 306759 - TypeReference 306760 306778 - Identifier 306760 306778 - PropertyAccessExpression 306780 306815 - Identifier 306780 306798 - Identifier 306799 306815 - Parameter 306816 306840 - Identifier 306816 306823 - QuestionToken 306823 306824 - TypeReference 306825 306840 - Identifier 306825 306840 - StringKeyword 306842 306849 - Block 306849 308694 - VariableStatement 306851 306907 - VariableDeclarationList 306851 306906 - VariableDeclaration 306864 306906 - Identifier 306864 306874 - PropertyAccessExpression 306876 306906 - Identifier 306876 306893 - Identifier 306894 306906 - VariableStatement 306907 306971 - VariableDeclarationList 306907 306970 - VariableDeclaration 306920 306970 - Identifier 306920 306938 - PropertyAccessExpression 306940 306970 - Identifier 306940 306965 - Identifier 306966 306970 - IfStatement 306971 307116 - BinaryExpression 306985 307034 - Identifier 306985 306990 - AmpersandToken 306990 306992 - PropertyAccessExpression 306992 307034 - Identifier 306992 307010 - Identifier 307011 307034 - Block 307035 307116 - ExpressionStatement 307037 307105 - BinaryExpression 307037 307104 - Identifier 307037 307060 - BarEqualsToken 307060 307063 - PropertyAccessExpression 307063 307104 - Identifier 307063 307080 - Identifier 307081 307104 - IfStatement 307116 307279 - BinaryExpression 307130 307186 - Identifier 307130 307135 - AmpersandToken 307135 307137 - PropertyAccessExpression 307137 307186 - Identifier 307137 307155 - Identifier 307156 307186 - Block 307187 307279 - ExpressionStatement 307189 307268 - BinaryExpression 307189 307267 - Identifier 307189 307212 - BarEqualsToken 307212 307215 - PropertyAccessExpression 307215 307267 - Identifier 307215 307232 - Identifier 307233 307267 - IfStatement 307279 307446 - BinaryExpression 307293 307353 - Identifier 307293 307298 - AmpersandToken 307298 307300 - PropertyAccessExpression 307300 307353 - Identifier 307300 307318 - Identifier 307319 307353 - Block 307354 307446 - ExpressionStatement 307356 307435 - BinaryExpression 307356 307434 - Identifier 307356 307379 - BarEqualsToken 307379 307382 - PropertyAccessExpression 307382 307434 - Identifier 307382 307399 - Identifier 307400 307434 - IfStatement 307446 307607 - BinaryExpression 307460 307509 - Identifier 307460 307465 - AmpersandToken 307465 307467 - PropertyAccessExpression 307467 307509 - Identifier 307467 307485 - Identifier 307486 307509 - Block 307510 307607 - ExpressionStatement 307512 307596 - BinaryExpression 307512 307595 - Identifier 307512 307543 - BarEqualsToken 307543 307546 - PropertyAccessExpression 307546 307595 - Identifier 307546 307571 - Identifier 307572 307595 - IfStatement 307607 307758 - BinaryExpression 307621 307665 - Identifier 307621 307626 - AmpersandToken 307626 307628 - PropertyAccessExpression 307628 307665 - Identifier 307628 307646 - Identifier 307647 307665 - Block 307666 307758 - ExpressionStatement 307668 307747 - BinaryExpression 307668 307746 - Identifier 307668 307699 - BarEqualsToken 307699 307702 - PropertyAccessExpression 307702 307746 - Identifier 307702 307727 - Identifier 307728 307746 - VariableStatement 307758 307887 - VariableDeclarationList 307758 307886 - VariableDeclaration 307773 307886 - Identifier 307773 307781 - ConditionalExpression 307783 307886 - BinaryExpression 307783 307826 - Identifier 307783 307789 - AmpersandToken 307789 307791 - PropertyAccessExpression 307791 307826 - Identifier 307791 307809 - Identifier 307810 307826 - QuestionToken 307826 307828 - PropertyAccessExpression 307828 307853 - Identifier 307828 307840 - Identifier 307841 307853 - ColonToken 307853 307855 - PropertyAccessExpression 307855 307886 - Identifier 307855 307867 - Identifier 307868 307886 - ReturnStatement 307887 308004 - ConditionalExpression 307903 308003 - Identifier 307903 307910 - QuestionToken 307910 307912 - CallExpression 307912 307951 - PropertyAccessExpression 307912 307949 - CallExpression 307912 307941 - Identifier 307912 307933 - Identifier 307934 307940 - Identifier 307942 307949 - ColonToken 307951 307953 - CallExpression 307953 308003 - Identifier 307953 307981 - Identifier 307982 308002 - FunctionDeclaration 308004 308687 - Identifier 308024 308045 - Parameter 308046 308068 - Identifier 308046 308052 - TypeReference 308053 308068 - Identifier 308053 308068 - Block 308069 308687 - VariableStatement 308071 308179 - VariableDeclarationList 308071 308178 - VariableDeclaration 308090 308178 - Identifier 308090 308097 - NonNullExpression 308099 308178 - CallExpression 308099 308177 - Identifier 308099 308107 - Identifier 308108 308114 - NonNullExpression 308115 308124 - Identifier 308115 308123 - Identifier 308125 308146 - Identifier 308147 308157 - Identifier 308158 308176 - VariableStatement 308179 308452 - VariableDeclarationList 308179 308451 - VariableDeclaration 308266 308451 - Identifier 308266 308274 - ConditionalExpression 308276 308451 - BinaryExpression 308276 308329 - PropertyAccessExpression 308276 308303 - Identifier 308276 308297 - QuestionDotToken 308297 308299 - Identifier 308299 308303 - EqualsEqualsEqualsToken 308303 308307 - PropertyAccessExpression 308307 308329 - Identifier 308307 308318 - Identifier 308319 308329 - QuestionToken 308329 308348 - CallExpression 308348 308398 - Identifier 308348 308396 - ColonToken 308398 308417 - CallExpression 308417 308451 - Identifier 308417 308449 - VariableStatement 308452 308551 - VariableDeclarationList 308452 308550 - VariableDeclaration 308471 308550 - Identifier 308471 308482 - BinaryExpression 308484 308550 - Identifier 308484 308505 - AmpersandAmpersandToken 308505 308508 - CallExpression 308508 308550 - Identifier 308508 308528 - Identifier 308529 308549 - ExpressionStatement 308551 308648 - CallExpression 308551 308647 - PropertyAccessExpression 308551 308582 - Identifier 308551 308572 - Identifier 308573 308582 - PropertyAccessExpression 308583 308603 - Identifier 308583 308591 - Identifier 308592 308603 - Identifier 308604 308611 - Identifier 308612 308638 - Identifier 308639 308646 - ReturnStatement 308648 308676 - Identifier 308668 308675 - FunctionDeclaration 308694 310065 - Identifier 308710 308728 - Parameter 308729 308749 - Identifier 308729 308738 - TypeReference 308739 308749 - Identifier 308739 308749 - Parameter 308750 308778 - Identifier 308750 308771 - QuestionToken 308771 308772 - TypeReference 308773 308778 - Identifier 308773 308778 - Parameter 308779 308808 - Identifier 308779 308785 - PropertyAccessExpression 308787 308808 - Identifier 308787 308803 - Identifier 308804 308808 - Parameter 308809 308830 - Identifier 308809 308814 - QuestionToken 308814 308815 - TypeReference 308816 308830 - Identifier 308816 308830 - Parameter 308831 308855 - Identifier 308831 308838 - QuestionToken 308838 308839 - TypeReference 308840 308855 - Identifier 308840 308855 - StringKeyword 308857 308864 - Block 308864 310065 - ReturnStatement 308866 308989 - ConditionalExpression 308882 308988 - Identifier 308882 308889 - QuestionToken 308889 308891 - CallExpression 308891 308933 - PropertyAccessExpression 308891 308931 - CallExpression 308891 308923 - Identifier 308891 308915 - Identifier 308916 308922 - Identifier 308924 308931 - ColonToken 308933 308935 - CallExpression 308935 308988 - Identifier 308935 308963 - Identifier 308964 308987 - FunctionDeclaration 308989 310058 - Identifier 309009 309033 - Parameter 309034 309056 - Identifier 309034 309040 - TypeReference 309041 309056 - Identifier 309041 309056 - Block 309057 310058 - VariableStatement 309059 309099 - VariableDeclarationList 309059 309098 - VariableDeclaration 309076 309098 - Identifier 309076 309086 - TypeReference 309087 309098 - Identifier 309087 309098 - IfStatement 309099 309458 - BinaryExpression 309117 309165 - Identifier 309117 309122 - AmpersandToken 309122 309124 - PropertyAccessExpression 309124 309165 - Identifier 309124 309140 - Identifier 309141 309165 - Block 309166 309301 - ExpressionStatement 309168 309286 - BinaryExpression 309168 309285 - Identifier 309168 309195 - EqualsToken 309195 309197 - ConditionalExpression 309197 309285 - BinaryExpression 309197 309230 - Identifier 309197 309202 - EqualsEqualsEqualsToken 309202 309206 - PropertyAccessExpression 309206 309230 - Identifier 309206 309220 - Identifier 309221 309230 - QuestionToken 309230 309232 - PropertyAccessExpression 309232 309259 - Identifier 309232 309243 - Identifier 309244 309259 - ColonToken 309259 309261 - PropertyAccessExpression 309261 309285 - Identifier 309261 309272 - Identifier 309273 309285 - Block 309319 309458 - ExpressionStatement 309321 309443 - BinaryExpression 309321 309442 - Identifier 309321 309348 - EqualsToken 309348 309350 - ConditionalExpression 309350 309442 - BinaryExpression 309350 309383 - Identifier 309350 309355 - EqualsEqualsEqualsToken 309355 309359 - PropertyAccessExpression 309359 309383 - Identifier 309359 309373 - Identifier 309374 309383 - QuestionToken 309383 309385 - PropertyAccessExpression 309385 309415 - Identifier 309385 309396 - Identifier 309397 309415 - ColonToken 309415 309417 - PropertyAccessExpression 309417 309442 - Identifier 309417 309428 - Identifier 309429 309442 - VariableStatement 309458 309685 - VariableDeclarationList 309458 309684 - VariableDeclaration 309477 309684 - Identifier 309477 309481 - CallExpression 309483 309684 - PropertyAccessExpression 309483 309527 - Identifier 309483 309495 - Identifier 309496 309527 - Identifier 309528 309537 - Identifier 309538 309548 - Identifier 309549 309570 - BinaryExpression 309571 309683 - BinaryExpression 309571 309629 - CallExpression 309571 309597 - Identifier 309571 309590 - Identifier 309591 309596 - BarToken 309597 309599 - PropertyAccessExpression 309599 309629 - Identifier 309599 309616 - Identifier 309617 309629 - BarToken 309629 309631 - PropertyAccessExpression 309631 309683 - Identifier 309631 309648 - Identifier 309649 309683 - VariableStatement 309685 309770 - VariableDeclarationList 309685 309769 - VariableDeclaration 309704 309769 - Identifier 309704 309712 - CallExpression 309714 309769 - Identifier 309714 309767 - VariableStatement 309770 309869 - VariableDeclarationList 309770 309868 - VariableDeclaration 309789 309868 - Identifier 309789 309800 - BinaryExpression 309802 309868 - Identifier 309802 309823 - AmpersandAmpersandToken 309823 309826 - CallExpression 309826 309868 - Identifier 309826 309846 - Identifier 309847 309867 - ExpressionStatement 309869 310001 - CallExpression 309869 310000 - PropertyAccessExpression 309869 309900 - Identifier 309869 309890 - Identifier 309891 309900 - PropertyAccessExpression 309901 309921 - Identifier 309901 309909 - Identifier 309910 309921 - NonNullExpression 309922 309927 - Identifier 309922 309926 - Identifier 309928 309954 - CallExpression 309955 309999 - Identifier 309955 309991 - Identifier 309992 309998 - ReturnStatement 310001 310047 - Identifier 310039 310046 - FunctionDeclaration 310065 311562 - Identifier 310081 310094 - Parameter 310095 310105 - Identifier 310095 310099 - TypeReference 310100 310105 - Identifier 310100 310105 - Parameter 310106 310134 - Identifier 310106 310127 - QuestionToken 310127 310128 - TypeReference 310129 310134 - Identifier 310129 310134 - Parameter 310135 310253 - Identifier 310135 310141 - TypeReference 310142 310158 - Identifier 310142 310158 - BinaryExpression 310160 310253 - PropertyAccessExpression 310160 310200 - Identifier 310160 310176 - Identifier 310177 310200 - BarToken 310200 310202 - PropertyAccessExpression 310202 310253 - Identifier 310202 310218 - Identifier 310219 310253 - Parameter 310254 310300 - Identifier 310254 310261 - TypeReference 310262 310277 - Identifier 310262 310277 - CallExpression 310279 310300 - Identifier 310279 310296 - StringLiteral 310297 310299 - StringKeyword 310302 310309 - Block 310309 311562 - VariableStatement 310311 310416 - VariableDeclarationList 310311 310415 - VariableDeclaration 310326 310415 - Identifier 310326 310339 - BinaryExpression 310341 310415 - PropertyAccessExpression 310341 310375 - Identifier 310341 310357 - Identifier 310358 310375 - BarBarToken 310375 310378 - BinaryExpression 310378 310415 - Identifier 310378 310384 - AmpersandToken 310384 310386 - PropertyAccessExpression 310386 310415 - Identifier 310386 310402 - Identifier 310403 310415 - VariableStatement 310416 310659 - VariableDeclarationList 310416 310658 - VariableDeclaration 310431 310658 - Identifier 310431 310440 - CallExpression 310442 310658 - PropertyAccessExpression 310442 310469 - Identifier 310442 310454 - Identifier 310455 310469 - Identifier 310470 310474 - Identifier 310475 310496 - BinaryExpression 310497 310628 - BinaryExpression 310497 310555 - CallExpression 310497 310523 - Identifier 310497 310516 - Identifier 310517 310522 - BarToken 310523 310525 - PropertyAccessExpression 310525 310555 - Identifier 310525 310542 - Identifier 310543 310555 - BarToken 310555 310557 - ParenthesizedExpression 310557 310628 - ConditionalExpression 310559 310627 - Identifier 310559 310571 - QuestionToken 310571 310573 - PropertyAccessExpression 310573 310603 - Identifier 310573 310590 - Identifier 310591 310603 - ColonToken 310603 310605 - PropertyAccessExpression 310605 310627 - Identifier 310605 310622 - Identifier 310623 310627 - Identifier 310629 310657 - IfStatement 310659 310745 - BinaryExpression 310673 310695 - Identifier 310673 310681 - EqualsEqualsEqualsToken 310681 310685 - Identifier 310685 310695 - ReturnStatement 310696 310745 - CallExpression 310703 310744 - PropertyAccessExpression 310703 310714 - Identifier 310703 310709 - Identifier 310710 310714 - StringLiteral 310715 310743 - VariableStatement 310745 311028 - VariableDeclarationList 310745 311027 - VariableDeclaration 310927 311027 - Identifier 310927 310935 - ConditionalExpression 310937 311027 - BinaryExpression 310937 310961 - Identifier 310937 310942 - ExclamationEqualsEqualsToken 310942 310946 - Identifier 310946 310961 - QuestionToken 310961 310963 - CallExpression 310963 310997 - Identifier 310963 310995 - ColonToken 310997 310999 - CallExpression 310999 311027 - Identifier 310999 311025 - VariableStatement 311028 311123 - VariableDeclarationList 311028 311122 - VariableDeclaration 311043 311122 - Identifier 311043 311054 - BinaryExpression 311056 311122 - Identifier 311056 311077 - AmpersandAmpersandToken 311077 311080 - CallExpression 311080 311122 - Identifier 311080 311100 - Identifier 311101 311121 - ExpressionStatement 311123 311218 - CallExpression 311123 311217 - PropertyAccessExpression 311123 311150 - Identifier 311123 311140 - Identifier 311141 311150 - PropertyAccessExpression 311151 311171 - Identifier 311151 311159 - Identifier 311160 311171 - Identifier 311172 311181 - Identifier 311182 311208 - Identifier 311209 311216 - VariableStatement 311218 311260 - VariableDeclarationList 311218 311259 - VariableDeclaration 311233 311259 - Identifier 311233 311240 - CallExpression 311242 311259 - PropertyAccessExpression 311242 311257 - Identifier 311242 311249 - Identifier 311250 311257 - VariableStatement 311260 311382 - VariableDeclarationList 311260 311381 - VariableDeclaration 311277 311381 - Identifier 311277 311287 - ConditionalExpression 311289 311381 - Identifier 311289 311302 - QuestionToken 311302 311304 - BinaryExpression 311304 311344 - Identifier 311304 311340 - AsteriskToken 311340 311342 - NumericLiteral 311342 311344 - ColonToken 311344 311346 - BinaryExpression 311346 311381 - Identifier 311346 311377 - AsteriskToken 311377 311379 - NumericLiteral 311379 311381 - IfStatement 311382 311531 - BinaryExpression 311396 311445 - BinaryExpression 311396 311415 - Identifier 311396 311405 - AmpersandAmpersandToken 311405 311408 - Identifier 311408 311415 - AmpersandAmpersandToken 311415 311418 - BinaryExpression 311418 311445 - PropertyAccessExpression 311418 311432 - Identifier 311418 311425 - Identifier 311426 311432 - GreaterThanEqualsToken 311432 311435 - Identifier 311435 311445 - Block 311446 311531 - ReturnStatement 311448 311520 - BinaryExpression 311468 311519 - CallExpression 311468 311511 - PropertyAccessExpression 311468 311482 - Identifier 311468 311475 - Identifier 311476 311482 - NumericLiteral 311483 311484 - BinaryExpression 311485 311510 - Identifier 311485 311495 - MinusToken 311495 311497 - PropertyAccessExpression 311497 311510 - StringLiteral 311497 311503 - Identifier 311504 311510 - PlusToken 311511 311513 - StringLiteral 311513 311519 - ReturnStatement 311531 311555 - Identifier 311547 311554 - FunctionDeclaration 311562 312164 - Identifier 311578 311606 - Parameter 311607 311617 - Identifier 311607 311611 - TypeReference 311612 311617 - Identifier 311612 311617 - Parameter 311618 311630 - Identifier 311618 311624 - TypeReference 311625 311630 - Identifier 311625 311630 - TupleType 311632 311649 - StringKeyword 311634 311640 - StringKeyword 311641 311648 - Block 311649 312164 - VariableStatement 311651 311801 - VariableDeclarationList 311651 311800 - VariableDeclaration 311664 311800 - Identifier 311664 311672 - ConditionalExpression 311674 311800 - CallExpression 311674 311728 - Identifier 311674 311715 - PropertyAccessExpression 311716 311727 - Identifier 311716 311720 - Identifier 311721 311727 - QuestionToken 311728 311730 - CallExpression 311730 311779 - Identifier 311730 311743 - Identifier 311744 311748 - PropertyAccessExpression 311749 311778 - PropertyAccessExpression 311749 311761 - Identifier 311749 311754 - Identifier 311755 311761 - Identifier 311762 311778 - ColonToken 311779 311781 - CallExpression 311781 311800 - Identifier 311781 311794 - Identifier 311795 311799 - VariableStatement 311801 311956 - VariableDeclarationList 311801 311955 - VariableDeclaration 311814 311955 - Identifier 311814 311823 - ConditionalExpression 311825 311955 - CallExpression 311825 311880 - Identifier 311825 311866 - PropertyAccessExpression 311867 311879 - Identifier 311867 311872 - Identifier 311873 311879 - QuestionToken 311880 311882 - CallExpression 311882 311933 - Identifier 311882 311895 - Identifier 311896 311901 - PropertyAccessExpression 311902 311932 - PropertyAccessExpression 311902 311915 - Identifier 311902 311908 - Identifier 311909 311915 - Identifier 311916 311932 - ColonToken 311933 311935 - CallExpression 311935 311955 - Identifier 311935 311948 - Identifier 311949 311954 - IfStatement 311956 312120 - BinaryExpression 311970 311990 - Identifier 311970 311977 - EqualsEqualsEqualsToken 311977 311981 - Identifier 311981 311990 - Block 311991 312120 - ExpressionStatement 311993 312050 - BinaryExpression 311993 312049 - Identifier 311993 312014 - EqualsToken 312014 312016 - CallExpression 312016 312049 - Identifier 312016 312043 - Identifier 312044 312048 - ExpressionStatement 312050 312109 - BinaryExpression 312050 312108 - Identifier 312050 312072 - EqualsToken 312072 312074 - CallExpression 312074 312108 - Identifier 312074 312101 - Identifier 312102 312107 - ReturnStatement 312120 312157 - ArrayLiteralExpression 312136 312156 - Identifier 312138 312145 - Identifier 312146 312155 - FunctionDeclaration 312164 312339 - Identifier 312180 312207 - Parameter 312208 312218 - Identifier 312208 312212 - TypeReference 312213 312218 - Identifier 312213 312218 - Block 312219 312339 - ReturnStatement 312221 312332 - CallExpression 312237 312331 - Identifier 312237 312250 - Identifier 312251 312255 - Identifier 312256 312291 - PropertyAccessExpression 312292 312330 - Identifier 312292 312308 - Identifier 312309 312330 - FunctionDeclaration 312339 312572 - Identifier 312355 312396 - Parameter 312397 312411 - Identifier 312397 312403 - TypeReference 312404 312411 - Identifier 312404 312411 - BooleanKeyword 312413 312421 - Block 312421 312572 - ReturnStatement 312423 312565 - BinaryExpression 312439 312564 - BinaryExpression 312439 312516 - BinaryExpression 312439 312475 - Identifier 312439 312446 - AmpersandAmpersandToken 312446 312449 - PrefixUnaryExpression 312449 312475 - PrefixUnaryExpression 312451 312475 - PropertyAccessExpression 312452 312475 - Identifier 312452 312458 - Identifier 312459 312475 - AmpersandAmpersandToken 312475 312478 - CallExpression 312478 312516 - Identifier 312478 312491 - PropertyAccessExpression 312492 312515 - Identifier 312492 312498 - Identifier 312499 312515 - AmpersandAmpersandToken 312516 312519 - PrefixUnaryExpression 312519 312564 - CallExpression 312521 312564 - Identifier 312521 312539 - PropertyAccessExpression 312540 312563 - Identifier 312540 312546 - Identifier 312547 312563 - FunctionDeclaration 312572 312726 - Identifier 312588 312607 - Parameter 312608 312636 - Identifier 312608 312613 - PropertyAccessExpression 312615 312636 - Identifier 312615 312631 - Identifier 312632 312636 - TypeReference 312638 312655 - Identifier 312638 312655 - Block 312655 312726 - ReturnStatement 312657 312719 - BinaryExpression 312673 312718 - Identifier 312673 312679 - AmpersandToken 312679 312681 - PropertyAccessExpression 312681 312718 - Identifier 312681 312697 - Identifier 312698 312718 - FunctionDeclaration 312726 313022 - Identifier 312742 312762 - Parameter 312763 312773 - Identifier 312763 312767 - TypeReference 312768 312773 - Identifier 312768 312773 - Block 312774 313022 - ReturnStatement 312776 313015 - BinaryExpression 312792 313014 - BinaryExpression 312792 312851 - PrefixUnaryExpression 312792 312806 - PrefixUnaryExpression 312794 312806 - PropertyAccessExpression 312795 312806 - Identifier 312795 312799 - Identifier 312800 312806 - AmpersandAmpersandToken 312806 312809 - PrefixUnaryExpression 312809 312851 - PrefixUnaryExpression 312811 312851 - ParenthesizedExpression 312812 312851 - BinaryExpression 312813 312850 - PropertyAccessExpression 312813 312830 - PropertyAccessExpression 312813 312824 - Identifier 312813 312817 - Identifier 312818 312824 - Identifier 312825 312830 - AmpersandToken 312830 312832 - PropertyAccessExpression 312832 312850 - Identifier 312832 312844 - Identifier 312845 312850 - AmpersandAmpersandToken 312851 312854 - ParenthesizedExpression 312854 313014 - BinaryExpression 312856 313013 - BinaryExpression 312856 312911 - Identifier 312856 312860 - EqualsEqualsEqualsToken 312860 312864 - CallExpression 312864 312911 - Identifier 312864 312898 - PropertyAccessExpression 312899 312910 - Identifier 312899 312903 - Identifier 312904 312910 - BarBarToken 312911 312914 - ParenthesizedExpression 312914 313013 - BinaryExpression 312916 313012 - PrefixUnaryExpression 312916 312949 - PrefixUnaryExpression 312917 312949 - ParenthesizedExpression 312918 312949 - BinaryExpression 312919 312948 - PropertyAccessExpression 312919 312929 - Identifier 312919 312923 - Identifier 312924 312929 - AmpersandToken 312929 312931 - PropertyAccessExpression 312931 312948 - Identifier 312931 312941 - Identifier 312942 312948 - AmpersandAmpersandToken 312949 312952 - PrefixUnaryExpression 312952 313012 - PrefixUnaryExpression 312954 313012 - ParenthesizedExpression 312955 313012 - BinaryExpression 312956 313011 - CallExpression 312956 312976 - Identifier 312956 312970 - Identifier 312971 312975 - AmpersandToken 312976 312978 - PropertyAccessExpression 312978 313011 - Identifier 312978 312990 - Identifier 312991 313011 - FunctionDeclaration 313022 313535 - Identifier 313433 313467 - Parameter 313468 313482 - Identifier 313468 313472 - TypeReference 313473 313482 - Identifier 313473 313482 - Block 313483 313535 - ReturnStatement 313485 313528 - CallExpression 313501 313527 - Identifier 313501 313521 - Identifier 313522 313526 - FunctionDeclaration 313535 611488 - Identifier 313549 313567 - Block 313569 611488 - VariableStatement 313571 325206 - VariableDeclarationList 313571 325205 - VariableDeclaration 313586 325205 - Identifier 313586 313611 - TypeReference 313612 313645 - Identifier 313612 313645 - ObjectLiteralExpression 313647 325205 - ShorthandPropertyAssignment 313649 313691 - Identifier 313649 313691 - ShorthandPropertyAssignment 313692 313734 - Identifier 313692 313734 - ShorthandPropertyAssignment 313735 313768 - Identifier 313735 313768 - MethodDeclaration 313769 314128 - Identifier 313769 313806 - Parameter 313807 313847 - Identifier 313807 313814 - TypeReference 313815 313847 - Identifier 313815 313847 - Parameter 313848 313878 - Identifier 313848 313853 - TypeReference 313854 313878 - Identifier 313854 313878 - Block 313879 314128 - ReturnStatement 313881 314113 - PrefixUnaryExpression 313905 314112 - ParenthesizedExpression 313907 314112 - BinaryExpression 313908 314111 - BinaryExpression 313908 314049 - BinaryExpression 313908 314001 - PropertyAccessExpression 313908 313953 - ParenthesizedExpression 313908 313939 - AsExpression 313909 313938 - Identifier 313909 313916 - TypeReference 313919 313938 - Identifier 313919 313938 - Identifier 313940 313953 - AmpersandToken 313953 313955 - PropertyAccessExpression 313955 314001 - Identifier 313955 313980 - Identifier 313981 314001 - AmpersandAmpersandToken 314001 314004 - CallExpression 314004 314049 - Identifier 314004 314027 - PropertyAccessExpression 314028 314048 - PropertyAccessExpression 314028 314037 - Identifier 314028 314032 - Identifier 314033 314037 - Identifier 314038 314048 - AmpersandAmpersandToken 314049 314052 - BinaryExpression 314052 314111 - PropertyAccessExpression 314052 314095 - CallExpression 314052 314089 - Identifier 314052 314078 - PropertyAccessExpression 314079 314088 - Identifier 314079 314083 - Identifier 314084 314088 - Identifier 314090 314095 - AmpersandToken 314095 314097 - PropertyAccessExpression 314097 314111 - Identifier 314097 314107 - Identifier 314108 314111 - MethodDeclaration 314129 314270 - Identifier 314129 314165 - Parameter 314166 314173 - Identifier 314166 314173 - Block 314174 314270 - ReturnStatement 314176 314255 - CallExpression 314200 314254 - Identifier 314200 314223 - AsExpression 314224 314253 - Identifier 314224 314231 - TypeReference 314234 314253 - Identifier 314234 314253 - ShorthandPropertyAssignment 314271 314326 - Identifier 314271 314326 - PropertyAssignment 314327 314409 - Identifier 314327 314367 - Identifier 314368 314409 - MethodDeclaration 314410 315562 - Identifier 314410 314455 - Parameter 314456 314570 - Identifier 314456 314467 - UnionType 314468 314570 - TypeReference 314468 314489 - Identifier 314468 314489 - TypeReference 314491 314509 - Identifier 314491 314509 - TypeReference 314511 314531 - Identifier 314511 314531 - TypeReference 314533 314551 - Identifier 314533 314551 - TypeReference 314553 314570 - Identifier 314553 314570 - Parameter 314571 314598 - Identifier 314571 314578 - UnionType 314579 314598 - TypeReference 314579 314586 - Identifier 314579 314586 - UndefinedKeyword 314588 314598 - Parameter 314599 314638 - Identifier 314599 314620 - UnionType 314621 314638 - TypeReference 314621 314626 - Identifier 314621 314626 - UndefinedKeyword 314628 314638 - BooleanKeyword 314640 314648 - Block 314648 315562 - SwitchStatement 314650 315547 - PropertyAccessExpression 314676 314692 - Identifier 314676 314687 - Identifier 314688 314692 - CaseBlock 314693 315547 - CaseClause 314695 314753 - PropertyAccessExpression 314721 314752 - Identifier 314721 314732 - Identifier 314733 314752 - CaseClause 314753 314809 - PropertyAccessExpression 314779 314808 - Identifier 314779 314790 - Identifier 314791 314808 - CaseClause 314809 315237 - PropertyAccessExpression 314835 314863 - Identifier 314835 314846 - Identifier 314847 314863 - ExpressionStatement 314864 314937 - BinaryExpression 314864 314936 - Identifier 314864 314896 - QuestionQuestionEqualsToken 314896 314900 - CallExpression 314900 314936 - Identifier 314900 314923 - Identifier 314924 314935 - VariableStatement 314937 315000 - VariableDeclarationList 314937 314999 - VariableDeclaration 314968 314999 - Identifier 314968 314973 - CallExpression 314975 314999 - Identifier 314975 314991 - Identifier 314992 314998 - ReturnStatement 315000 315237 - PrefixUnaryExpression 315032 315236 - PrefixUnaryExpression 315034 315236 - ParenthesizedExpression 315035 315236 - BinaryExpression 315036 315235 - BinaryExpression 315036 315194 - BinaryExpression 315036 315148 - BinaryExpression 315036 315110 - BinaryExpression 315036 315071 - PropertyAccessExpression 315036 315048 - Identifier 315036 315042 - Identifier 315043 315048 - AmpersandToken 315048 315050 - PropertyAccessExpression 315050 315071 - Identifier 315050 315062 - Identifier 315063 315071 - AmpersandAmpersandToken 315071 315074 - BinaryExpression 315074 315110 - PropertyAccessExpression 315074 315087 - Identifier 315074 315081 - Identifier 315082 315087 - AmpersandToken 315087 315089 - PropertyAccessExpression 315089 315110 - Identifier 315089 315101 - Identifier 315102 315110 - AmpersandAmpersandToken 315110 315113 - CallExpression 315113 315148 - Identifier 315113 315135 - Identifier 315136 315147 - AmpersandAmpersandToken 315148 315151 - PropertyAccessExpression 315151 315194 - PropertyAccessExpression 315151 315182 - ParenthesizedExpression 315151 315176 - AsExpression 315153 315175 - Identifier 315153 315159 - TypeReference 315162 315175 - Identifier 315162 315175 - Identifier 315177 315182 - QuestionDotToken 315182 315184 - Identifier 315184 315194 - AmpersandAmpersandToken 315194 315197 - CallExpression 315197 315235 - Identifier 315197 315229 - Identifier 315230 315234 - CaseClause 315237 315285 - PropertyAccessExpression 315263 315284 - Identifier 315263 315274 - Identifier 315275 315284 - CaseClause 315285 315441 - PropertyAccessExpression 315311 315340 - Identifier 315311 315322 - Identifier 315323 315340 - ReturnStatement 315341 315441 - CallExpression 315373 315440 - Identifier 315373 315405 - Identifier 315406 315417 - Identifier 315418 315439 - DefaultClause 315441 315528 - ExpressionStatement 315471 315528 - CallExpression 315471 315527 - PropertyAccessExpression 315471 315514 - Identifier 315471 315502 - Identifier 315503 315514 - Identifier 315515 315526 - ShorthandPropertyAssignment 315563 315596 - Identifier 315563 315596 - MethodDeclaration 315597 315803 - Identifier 315597 315642 - Parameter 315643 315659 - Identifier 315643 315647 - TypeReference 315648 315659 - Identifier 315648 315659 - Block 315660 315803 - ExpressionStatement 315662 315717 - CallExpression 315662 315716 - PropertyAccessExpression 315662 315692 - Identifier 315662 315685 - Identifier 315686 315692 - CallExpression 315693 315715 - Identifier 315693 315709 - Identifier 315710 315714 - ReturnStatement 315717 315788 - BinaryExpression 315741 315787 - CallExpression 315741 315767 - Identifier 315741 315761 - Identifier 315762 315766 - EqualsEqualsEqualsToken 315767 315771 - Identifier 315771 315787 - MethodDeclaration 315804 316029 - Identifier 315804 315837 - Parameter 315838 315845 - Identifier 315838 315845 - Parameter 315846 315857 - Identifier 315846 315857 - Parameter 315858 315890 - Identifier 315858 315890 - Block 315891 316029 - ReturnStatement 315893 316014 - CallExpression 315917 316013 - Identifier 315917 315937 - Identifier 315938 315948 - NonNullExpression 315949 315979 - PropertyAccessExpression 315949 315978 - Identifier 315949 315957 - Identifier 315958 315978 - Identifier 315980 316012 - MethodDeclaration 316030 316227 - Identifier 316030 316069 - Parameter 316070 316077 - Identifier 316070 316077 - Parameter 316078 316087 - Identifier 316078 316087 - Parameter 316088 316101 - Identifier 316088 316101 - Block 316102 316227 - ReturnStatement 316104 316212 - CallExpression 316128 316211 - Identifier 316128 316154 - AsExpression 316155 316184 - Identifier 316155 316162 - TypeReference 316165 316184 - Identifier 316165 316184 - Identifier 316185 316194 - PrefixUnaryExpression 316195 316210 - PrefixUnaryExpression 316197 316210 - Identifier 316198 316210 - MethodDeclaration 316228 316787 - Identifier 316228 316273 - Parameter 316274 316290 - Identifier 316274 316290 - Parameter 316291 316312 - Identifier 316291 316312 - Block 316313 316787 - VariableStatement 316315 316388 - VariableDeclarationList 316315 316387 - VariableDeclaration 316338 316387 - Identifier 316338 316346 - AsExpression 316348 316387 - Identifier 316348 316365 - TypeReference 316368 316387 - Identifier 316368 316387 - VariableStatement 316388 316474 - VariableDeclarationList 316388 316473 - VariableDeclaration 316411 316473 - Identifier 316411 316421 - CallExpression 316423 316473 - Identifier 316423 316451 - Identifier 316452 316472 - VariableStatement 316474 316675 - VariableDeclarationList 316474 316674 - VariableDeclaration 316497 316674 - Identifier 316497 316508 - BinaryExpression 316510 316674 - CallExpression 316510 316602 - PropertyAccessExpression 316510 316543 - PropertyAccessExpression 316510 316539 - Identifier 316510 316518 - Identifier 316519 316539 - Identifier 316540 316543 - CallExpression 316544 316601 - Identifier 316544 316555 - CallExpression 316556 316600 - Identifier 316556 316578 - Identifier 316579 316599 - QuestionQuestionToken 316602 316605 - CallExpression 316605 316674 - Identifier 316605 316621 - CallExpression 316622 316657 - Identifier 316622 316646 - Identifier 316647 316656 - PropertyAccessExpression 316658 316673 - Identifier 316658 316666 - Identifier 316667 316673 - ReturnStatement 316675 316772 - CallExpression 316699 316771 - Identifier 316699 316739 - Identifier 316740 316747 - Identifier 316748 316758 - Identifier 316759 316770 - MethodDeclaration 316788 317115 - Identifier 316788 316827 - Parameter 316828 316844 - Identifier 316828 316844 - Parameter 316845 316850 - Identifier 316845 316850 - Block 316851 317115 - VariableStatement 316853 316926 - VariableDeclarationList 316853 316925 - VariableDeclaration 316876 316925 - Identifier 316876 316884 - AsExpression 316886 316925 - Identifier 316886 316903 - TypeReference 316906 316925 - Identifier 316906 316925 - VariableStatement 316926 317039 - VariableDeclarationList 316926 317038 - VariableDeclaration 316949 317038 - Identifier 316949 316954 - CallExpression 316956 317038 - Identifier 316956 316972 - CallExpression 316973 317021 - Identifier 316973 316987 - CallExpression 316988 317020 - Identifier 316988 317014 - Identifier 317015 317019 - PropertyAccessExpression 317022 317037 - Identifier 317022 317030 - Identifier 317031 317037 - ReturnStatement 317039 317100 - CallExpression 317063 317099 - Identifier 317063 317084 - Identifier 317085 317089 - Identifier 317090 317098 - MethodDeclaration 317116 318259 - Identifier 317116 317156 - Parameter 317157 317173 - Identifier 317157 317173 - Parameter 317174 317186 - Identifier 317174 317186 - Parameter 317187 317194 - Identifier 317187 317194 - Block 317195 318259 - VariableStatement 317197 317372 - VariableDeclarationList 317197 317371 - VariableDeclaration 317322 317371 - Identifier 317322 317330 - AsExpression 317332 317371 - Identifier 317332 317349 - TypeReference 317352 317371 - Identifier 317352 317371 - ExpressionStatement 317372 317437 - BinaryExpression 317372 317436 - Identifier 317372 317396 - QuestionQuestionEqualsToken 317396 317400 - CallExpression 317400 317436 - Identifier 317400 317423 - Identifier 317424 317435 - VariableStatement 317437 317521 - VariableDeclarationList 317437 317520 - VariableDeclaration 317458 317520 - Identifier 317458 317463 - CallExpression 317465 317520 - PropertyAccessExpression 317465 317499 - PropertyAccessExpression 317465 317494 - Identifier 317465 317473 - Identifier 317474 317494 - QuestionDotToken 317494 317496 - Identifier 317496 317499 - CallExpression 317500 317519 - Identifier 317500 317511 - Identifier 317512 317518 - IfStatement 317521 317834 - BinaryExpression 317543 317561 - Identifier 317543 317547 - EqualsEqualsEqualsToken 317547 317551 - Identifier 317551 317561 - Block 317562 317834 - ExpressionStatement 317564 317815 - BinaryExpression 317564 317814 - Identifier 317564 317590 - EqualsToken 317590 317592 - ConditionalExpression 317592 317814 - BinaryExpression 317592 317670 - Identifier 317592 317599 - AmpersandAmpersandToken 317599 317602 - PrefixUnaryExpression 317602 317670 - ParenthesizedExpression 317604 317670 - BinaryExpression 317605 317669 - PropertyAccessExpression 317605 317617 - Identifier 317605 317611 - Identifier 317612 317617 - AmpersandToken 317617 317619 - ParenthesizedExpression 317619 317669 - BinaryExpression 317621 317668 - PropertyAccessExpression 317621 317644 - Identifier 317621 317632 - Identifier 317633 317644 - BarToken 317644 317646 - PropertyAccessExpression 317646 317668 - Identifier 317646 317658 - Identifier 317659 317668 - QuestionToken 317670 317697 - CallExpression 317697 317777 - Identifier 317697 317713 - CallExpression 317714 317760 - Identifier 317714 317735 - CallExpression 317736 317759 - Identifier 317736 317751 - Identifier 317752 317758 - PropertyAccessExpression 317761 317776 - Identifier 317761 317769 - Identifier 317770 317776 - ColonToken 317777 317804 - Identifier 317804 317814 - VariableStatement 317834 318041 - VariableDeclarationList 317834 318040 - VariableDeclaration 317857 318040 - Identifier 317857 317882 - BinaryExpression 317884 318040 - BinaryExpression 317884 317962 - Identifier 317884 317896 - AmpersandAmpersandToken 317896 317899 - ParenthesizedExpression 317899 317962 - BinaryExpression 317901 317961 - CallExpression 317901 317925 - Identifier 317901 317912 - Identifier 317913 317924 - BarBarToken 317925 317928 - CallExpression 317928 317961 - Identifier 317928 317948 - Identifier 317949 317960 - AmpersandAmpersandToken 317962 317965 - CallExpression 317965 318040 - Identifier 317965 317997 - Identifier 317998 318009 - PropertyAccessExpression 318010 318039 - Identifier 318010 318018 - Identifier 318019 318039 - IfStatement 318041 318160 - Identifier 318063 318087 - Block 318088 318160 - ExpressionStatement 318090 318141 - BinaryExpression 318090 318140 - Identifier 318090 318116 - EqualsToken 318116 318118 - CallExpression 318118 318140 - Identifier 318118 318134 - Identifier 318135 318139 - ReturnStatement 318160 318244 - CallExpression 318184 318243 - Identifier 318184 318220 - Identifier 318221 318227 - Identifier 318228 318236 - Identifier 318237 318242 - MethodDeclaration 318260 318473 - Identifier 318260 318298 - Parameter 318299 318306 - Identifier 318299 318306 - Parameter 318307 318317 - Identifier 318307 318317 - Block 318318 318473 - ReturnStatement 318320 318458 - CallExpression 318344 318457 - Identifier 318344 318380 - CallExpression 318381 318414 - Identifier 318381 318403 - Identifier 318404 318413 - Identifier 318415 318425 - AsExpression 318426 318456 - Identifier 318426 318434 - TypeReference 318437 318456 - Identifier 318437 318456 - MethodDeclaration 318474 318960 - Identifier 318474 318507 - Parameter 318508 318524 - Identifier 318508 318524 - Parameter 318525 318530 - Identifier 318525 318530 - Block 318531 318960 - VariableStatement 318533 318606 - VariableDeclarationList 318533 318605 - VariableDeclaration 318556 318605 - Identifier 318556 318564 - AsExpression 318566 318605 - Identifier 318566 318583 - TypeReference 318586 318605 - Identifier 318586 318605 - VariableStatement 318606 318688 - VariableDeclarationList 318606 318687 - VariableDeclaration 318629 318687 - Identifier 318629 318636 - CallExpression 318638 318687 - Identifier 318638 318658 - Identifier 318659 318663 - TrueKeyword 318664 318686 - IfStatement 318688 318736 - PrefixUnaryExpression 318710 318717 - Identifier 318711 318717 - ReturnStatement 318718 318736 - Identifier 318725 318735 - IfStatement 318736 318839 - PrefixUnaryExpression 318758 318820 - CallExpression 318759 318820 - Identifier 318759 318782 - Identifier 318783 318789 - PropertyAccessExpression 318790 318819 - Identifier 318790 318798 - Identifier 318799 318819 - ReturnStatement 318821 318839 - Identifier 318828 318838 - ReturnStatement 318839 318945 - CallExpression 318863 318944 - Identifier 318863 318882 - Identifier 318883 318889 - Identifier 318890 318898 - BinaryExpression 318899 318943 - PropertyAccessExpression 318899 318917 - Identifier 318899 318911 - Identifier 318912 318917 - BarToken 318917 318919 - PropertyAccessExpression 318919 318943 - Identifier 318919 318931 - Identifier 318932 318943 - MethodDeclaration 318961 319154 - Identifier 318961 318992 - Parameter 318993 319000 - Identifier 318993 319000 - Parameter 319001 319006 - Identifier 319001 319006 - Parameter 319007 319016 - Identifier 319007 319016 - Parameter 319017 319031 - Identifier 319017 319031 - Block 319032 319154 - ReturnStatement 319034 319139 - CallExpression 319058 319138 - Identifier 319058 319076 - AsExpression 319077 319106 - Identifier 319077 319084 - TypeReference 319087 319106 - Identifier 319087 319106 - Identifier 319107 319112 - Identifier 319113 319122 - Identifier 319123 319137 - MethodDeclaration 319155 319851 - Identifier 319155 319193 - Parameter 319194 319210 - Identifier 319194 319210 - Parameter 319211 319228 - Identifier 319211 319228 - Parameter 319229 319243 - Identifier 319229 319243 - Block 319244 319851 - VariableStatement 319246 319319 - VariableDeclarationList 319246 319318 - VariableDeclaration 319269 319318 - Identifier 319269 319277 - AsExpression 319279 319318 - Identifier 319279 319296 - TypeReference 319299 319318 - Identifier 319299 319318 - VariableStatement 319319 319431 - VariableDeclarationList 319319 319430 - VariableDeclaration 319342 319430 - Identifier 319342 319347 - ConditionalExpression 319349 319430 - CallExpression 319349 319382 - Identifier 319349 319362 - PropertyAccessExpression 319363 319381 - Identifier 319363 319376 - Identifier 319377 319381 - QuestionToken 319382 319384 - PropertyAccessExpression 319384 319403 - Identifier 319384 319398 - Identifier 319399 319403 - ColonToken 319403 319405 - PropertyAccessExpression 319405 319430 - PropertyAccessExpression 319405 319424 - Identifier 319405 319419 - Identifier 319420 319424 - Identifier 319425 319430 - VariableStatement 319431 319561 - VariableDeclarationList 319431 319560 - VariableDeclaration 319454 319560 - Identifier 319454 319468 - CallExpression 319470 319560 - Identifier 319470 319494 - CallExpression 319495 319541 - Identifier 319495 319514 - Identifier 319515 319522 - Identifier 319523 319540 - PropertyAccessExpression 319542 319559 - Identifier 319542 319547 - Identifier 319548 319559 - VariableStatement 319561 319794 - VariableDeclarationList 319561 319793 - VariableDeclaration 319584 319793 - Identifier 319584 319601 - ConditionalExpression 319603 319793 - BinaryExpression 319603 319734 - BinaryExpression 319603 319649 - Identifier 319603 319617 - AmpersandAmpersandToken 319617 319620 - PropertyAccessExpression 319620 319649 - Identifier 319620 319634 - Identifier 319635 319649 - AmpersandAmpersandToken 319649 319652 - BinaryExpression 319652 319734 - CallExpression 319652 319716 - Identifier 319652 319672 - Identifier 319673 319680 - PropertyAccessExpression 319681 319715 - PropertyAccessExpression 319681 319710 - Identifier 319681 319695 - Identifier 319696 319710 - Identifier 319711 319715 - ExclamationEqualsEqualsToken 319716 319720 - Identifier 319720 319734 - QuestionToken 319734 319736 - CallExpression 319736 319781 - Identifier 319736 319757 - Identifier 319758 319771 - Identifier 319772 319780 - ColonToken 319781 319783 - Identifier 319783 319793 - ReturnStatement 319794 319836 - Identifier 319818 319835 - MethodDeclaration 319852 320580 - Identifier 319852 319879 - Parameter 319880 319887 - Identifier 319880 319887 - Parameter 319888 319893 - Identifier 319888 319893 - Block 319894 320580 - IfStatement 319896 320565 - BinaryExpression 319918 319964 - CallExpression 319918 319938 - Identifier 319918 319932 - Identifier 319933 319937 - BarBarToken 319938 319941 - CallExpression 319941 319964 - Identifier 319941 319958 - Identifier 319959 319963 - Block 319965 320188 - VariableStatement 319967 320041 - VariableDeclarationList 319967 320040 - VariableDeclaration 319994 320040 - Identifier 319994 320004 - CallExpression 320006 320040 - Identifier 320006 320034 - Identifier 320035 320039 - ReturnStatement 320041 320169 - CallExpression 320069 320168 - Identifier 320069 320083 - AsExpression 320084 320113 - Identifier 320084 320091 - TypeReference 320094 320113 - Identifier 320094 320113 - Identifier 320114 320119 - PropertyAccessExpression 320120 320141 - Identifier 320120 320130 - Identifier 320131 320141 - PropertyAccessExpression 320142 320167 - Identifier 320142 320152 - Identifier 320153 320167 - Block 320210 320565 - VariableStatement 320212 320420 - VariableDeclarationList 320212 320419 - VariableDeclaration 320239 320419 - Identifier 320239 320254 - ConditionalExpression 320256 320419 - CallExpression 320256 320284 - Identifier 320256 320278 - Identifier 320279 320283 - QuestionToken 320284 320286 - CallExpression 320286 320315 - Identifier 320286 320309 - Identifier 320310 320314 - ColonToken 320315 320317 - ArrayLiteralExpression 320317 320419 - CallExpression 320344 320418 - Identifier 320344 320374 - CallExpression 320375 320417 - Identifier 320375 320397 - PropertyAccessExpression 320398 320416 - Identifier 320398 320402 - Identifier 320403 320416 - ReturnStatement 320420 320546 - CallExpression 320448 320545 - Identifier 320448 320462 - AsExpression 320463 320492 - Identifier 320463 320470 - TypeReference 320473 320492 - Identifier 320473 320492 - Identifier 320493 320498 - Identifier 320499 320528 - Identifier 320529 320544 - MethodDeclaration 320581 320807 - Identifier 320581 320608 - TypeParameter 320609 320623 - Identifier 320609 320610 - TypeReference 320618 320623 - Identifier 320618 320623 - Parameter 320625 320665 - Identifier 320625 320632 - TypeReference 320633 320665 - Identifier 320633 320665 - Parameter 320666 320675 - Identifier 320666 320672 - TypeReference 320673 320675 - Identifier 320673 320675 - Parameter 320676 320703 - Identifier 320676 320685 - UnionType 320686 320703 - TypeReference 320686 320691 - Identifier 320686 320691 - UndefinedKeyword 320693 320703 - Block 320704 320807 - ReturnStatement 320706 320792 - CallExpression 320730 320791 - Identifier 320730 320743 - AsExpression 320744 320773 - Identifier 320744 320751 - TypeReference 320754 320773 - Identifier 320754 320773 - Identifier 320774 320780 - Identifier 320781 320790 - MethodDeclaration 320808 321043 - Identifier 320808 320845 - TypeParameter 320846 320888 - Identifier 320846 320847 - TypeReference 320855 320888 - Identifier 320855 320888 - Parameter 320890 320930 - Identifier 320890 320897 - TypeReference 320898 320930 - Identifier 320898 320930 - Parameter 320931 320939 - Identifier 320931 320936 - TypeReference 320937 320939 - Identifier 320937 320939 - Block 320940 321043 - ReturnStatement 320942 321028 - CallExpression 320966 321027 - Identifier 320966 320990 - Identifier 320991 320995 - AsExpression 320996 321026 - Identifier 320996 321004 - TypeReference 321007 321026 - Identifier 321007 321026 - MethodDeclaration 321044 321301 - Identifier 321044 321075 - Parameter 321076 321116 - Identifier 321076 321083 - TypeReference 321084 321116 - Identifier 321084 321116 - Parameter 321117 321168 - Identifier 321117 321134 - TypeReference 321135 321168 - Identifier 321135 321168 - Block 321169 321301 - ExpressionStatement 321171 321286 - CallExpression 321171 321285 - Identifier 321171 321206 - Identifier 321207 321223 - PropertyAccessExpression 321224 321253 - Identifier 321224 321232 - Identifier 321233 321253 - AsExpression 321254 321284 - Identifier 321254 321262 - TypeReference 321265 321284 - Identifier 321265 321284 - MethodDeclaration 321302 323136 - Identifier 321302 321342 - Parameter 321343 321359 - Identifier 321343 321359 - Parameter 321360 321367 - Identifier 321360 321367 - Parameter 321368 321372 - Identifier 321368 321372 - Block 321373 323136 - VariableStatement 321375 321448 - VariableDeclarationList 321375 321447 - VariableDeclaration 321398 321447 - Identifier 321398 321406 - AsExpression 321408 321447 - Identifier 321408 321425 - TypeReference 321428 321447 - Identifier 321428 321447 - IfStatement 321448 323121 - BinaryExpression 321470 321539 - PropertyAccessExpression 321470 321485 - Identifier 321470 321477 - Identifier 321478 321485 - BarBarToken 321485 321488 - BinaryExpression 321488 321539 - PropertyAccessExpression 321488 321510 - Identifier 321488 321496 - Identifier 321497 321510 - ExclamationEqualsEqualsToken 321510 321514 - CallExpression 321514 321539 - Identifier 321514 321534 - Identifier 321535 321538 - Block 321540 323121 - VariableStatement 321542 321584 - VariableDeclarationList 321542 321583 - VariableDeclaration 321567 321583 - Identifier 321567 321572 - PropertyAccessExpression 321574 321583 - Identifier 321574 321578 - Identifier 321579 321583 - VariableStatement 321584 321632 - VariableDeclarationList 321584 321631 - VariableDeclaration 321611 321631 - Identifier 321611 321624 - Identifier 321626 321631 - VariableStatement 321632 321709 - VariableDeclarationList 321632 321708 - VariableDeclaration 321659 321708 - Identifier 321659 321670 - PropertyAccessExpression 321672 321708 - CallExpression 321672 321693 - Identifier 321672 321685 - Identifier 321686 321692 - Identifier 321694 321708 - VariableStatement 321709 321802 - VariableDeclarationList 321709 321801 - VariableDeclaration 321736 321801 - Identifier 321736 321744 - ConditionalExpression 321746 321801 - PropertyAccessExpression 321746 321762 - Identifier 321746 321753 - Identifier 321754 321762 - QuestionToken 321762 321764 - PropertyAccessExpression 321764 321782 - Identifier 321764 321776 - Identifier 321777 321782 - ColonToken 321782 321784 - PropertyAccessExpression 321784 321801 - Identifier 321784 321796 - Identifier 321797 321801 - VariableStatement 321802 322155 - VariableDeclarationList 321802 322154 - VariableDeclaration 321829 322154 - Identifier 321829 321842 - BinaryExpression 321844 322154 - BinaryExpression 321844 322047 - Identifier 321844 321855 - AmpersandAmpersandToken 321855 321883 - BinaryExpression 321883 322047 - PropertyAccessExpression 321883 322012 - CallExpression 321883 321998 - Identifier 321883 321902 - Identifier 321903 321913 - PropertyAccessExpression 321914 321943 - Identifier 321914 321922 - Identifier 321923 321943 - Identifier 321944 321952 - FalseKeyword 321953 321997 - Identifier 321999 322012 - EqualsEqualsEqualsToken 322012 322016 - PropertyAccessExpression 322016 322047 - Identifier 322016 322036 - Identifier 322037 322047 - AmpersandAmpersandToken 322047 322075 - ElementAccessExpression 322075 322154 - CallExpression 322075 322151 - Identifier 322075 322093 - Identifier 322094 322104 - Identifier 322105 322113 - Identifier 322114 322122 - TrueKeyword 322123 322150 - NumericLiteral 322152 322153 - IfStatement 322155 322647 - BinaryExpression 322181 322233 - Identifier 322181 322193 - AmpersandAmpersandToken 322193 322196 - CallExpression 322196 322233 - Identifier 322196 322219 - Identifier 322220 322232 - Block 322234 322343 - ExpressionStatement 322236 322320 - BinaryExpression 322236 322319 - Identifier 322236 322266 - EqualsToken 322266 322268 - CallExpression 322268 322319 - Identifier 322268 322296 - Identifier 322297 322309 - Identifier 322310 322318 - Block 322369 322647 - VariableStatement 322371 322461 - VariableDeclarationList 322371 322460 - VariableDeclaration 322402 322460 - Identifier 322402 322413 - CallExpression 322415 322460 - Identifier 322415 322452 - Identifier 322453 322459 - IfStatement 322461 322624 - Identifier 322491 322501 - Block 322502 322624 - ExpressionStatement 322504 322597 - BinaryExpression 322504 322596 - Identifier 322504 322538 - EqualsToken 322538 322540 - CallExpression 322540 322596 - Identifier 322540 322568 - PropertyAccessExpression 322569 322586 - Identifier 322569 322579 - Identifier 322580 322586 - Identifier 322587 322595 - IfStatement 322647 322991 - CallExpression 322673 322704 - PropertyAccessExpression 322673 322686 - Identifier 322673 322677 - Identifier 322678 322686 - StringLiteral 322687 322703 - Block 322705 322991 - ExpressionStatement 322707 322765 - BinaryExpression 322707 322764 - PropertyAccessExpression 322707 322757 - Identifier 322707 322740 - Identifier 322741 322757 - EqualsToken 322757 322759 - TrueKeyword 322759 322764 - IfStatement 322765 322968 - PropertyAccessExpression 322795 322848 - PropertyAccessExpression 322795 322810 - Identifier 322795 322802 - Identifier 322803 322810 - Identifier 322811 322848 - Block 322849 322968 - ExpressionStatement 322851 322941 - CallExpression 322851 322940 - PropertyAccessExpression 322851 322934 - PropertyAccessExpression 322851 322896 - Identifier 322851 322888 - Identifier 322889 322896 - Identifier 322897 322934 - Identifier 322935 322939 - IfStatement 322991 323102 - BinaryExpression 323017 323038 - Identifier 323017 323021 - ExclamationEqualsEqualsToken 323021 323025 - Identifier 323025 323038 - Block 323039 323102 - ReturnStatement 323041 323079 - Identifier 323073 323078 - MethodDeclaration 323137 323286 - Identifier 323137 323167 - Parameter 323168 323175 - Identifier 323168 323175 - Parameter 323176 323185 - Identifier 323176 323185 - Block 323186 323286 - ReturnStatement 323188 323271 - CallExpression 323212 323270 - Identifier 323212 323229 - AsExpression 323230 323259 - Identifier 323230 323237 - TypeReference 323240 323259 - Identifier 323240 323259 - Identifier 323260 323269 - MethodDeclaration 323287 325193 - Identifier 323287 323327 - Parameter 323328 323377 - Identifier 323328 323344 - TypeReference 323345 323377 - Identifier 323345 323377 - Parameter 323378 323396 - Identifier 323378 323383 - TypeReference 323384 323396 - Identifier 323384 323396 - Parameter 323397 323416 - Identifier 323397 323406 - TypeReference 323407 323416 - Identifier 323407 323416 - Parameter 323417 323432 - Identifier 323417 323424 - TypeReference 323425 323432 - Identifier 323425 323432 - Parameter 323433 323467 - Identifier 323433 323457 - QuestionToken 323457 323458 - BooleanKeyword 323459 323467 - Block 323468 325193 - VariableStatement 323470 323543 - VariableDeclarationList 323470 323542 - VariableDeclaration 323493 323542 - Identifier 323493 323501 - AsExpression 323503 323542 - Identifier 323503 323520 - TypeReference 323523 323542 - Identifier 323523 323542 - IfStatement 323543 323622 - BinaryExpression 323565 323607 - PropertyAccessExpression 323565 323593 - Identifier 323565 323572 - Identifier 323573 323593 - EqualsEqualsEqualsToken 323593 323597 - Identifier 323597 323607 - ReturnStatement 323608 323622 - FalseKeyword 323615 323621 - ExpressionStatement 323622 323682 - BinaryExpression 323622 323681 - Identifier 323622 323648 - QuestionQuestionEqualsToken 323648 323652 - CallExpression 323652 323681 - Identifier 323652 323675 - Identifier 323676 323680 - VariableStatement 323682 323766 - VariableDeclarationList 323682 323765 - VariableDeclaration 323703 323765 - Identifier 323703 323708 - CallExpression 323710 323765 - PropertyAccessExpression 323710 323744 - PropertyAccessExpression 323710 323739 - Identifier 323710 323718 - Identifier 323719 323739 - QuestionDotToken 323739 323741 - Identifier 323741 323744 - CallExpression 323745 323764 - Identifier 323745 323756 - Identifier 323757 323763 - IfStatement 323766 324336 - BinaryExpression 323788 323806 - Identifier 323788 323792 - EqualsEqualsEqualsToken 323792 323796 - Identifier 323796 323806 - Block 323807 324336 - IfStatement 323809 324317 - BinaryExpression 323835 323870 - PropertyAccessExpression 323835 323847 - Identifier 323835 323841 - Identifier 323842 323847 - AmpersandToken 323847 323849 - PropertyAccessExpression 323849 323870 - Identifier 323849 323861 - Identifier 323862 323870 - Block 323871 324026 - ExpressionStatement 323873 324003 - BinaryExpression 323873 324002 - Identifier 323873 323903 - EqualsToken 323903 323905 - ConditionalExpression 323905 324002 - BinaryExpression 323905 323942 - PropertyAccessExpression 323905 323915 - Identifier 323905 323910 - Identifier 323911 323915 - EqualsEqualsEqualsToken 323915 323919 - PropertyAccessExpression 323919 323942 - Identifier 323919 323930 - Identifier 323931 323942 - QuestionToken 323942 323944 - CallExpression 323944 323973 - Identifier 323944 323965 - Identifier 323966 323972 - ColonToken 323973 323975 - CallExpression 323975 324002 - Identifier 323975 323994 - Identifier 323995 324001 - IfStatement 324052 324317 - CallExpression 324057 324090 - Identifier 324057 324084 - Identifier 324085 324089 - Block 324091 324209 - ExpressionStatement 324093 324186 - BinaryExpression 324093 324185 - Identifier 324093 324123 - EqualsToken 324123 324125 - CallExpression 324125 324185 - Identifier 324125 324150 - CallExpression 324151 324184 - Identifier 324151 324178 - Identifier 324179 324183 - Block 324235 324317 - ExpressionStatement 324237 324294 - BinaryExpression 324237 324293 - Identifier 324237 324267 - EqualsToken 324267 324269 - CallExpression 324269 324293 - Identifier 324269 324285 - Identifier 324286 324292 - VariableStatement 324336 324419 - VariableDeclarationList 324336 324418 - VariableDeclaration 324357 324418 - Identifier 324357 324372 - CallExpression 324374 324418 - Identifier 324374 324408 - Identifier 324409 324417 - IfStatement 324419 324809 - CallExpression 324441 324468 - Identifier 324441 324452 - Identifier 324453 324467 - Block 324469 324809 - ReturnStatement 324471 324790 - TrueKeyword 324784 324789 - IfStatement 324809 324984 - BinaryExpression 324831 324872 - Identifier 324831 324854 - AmpersandAmpersandToken 324854 324857 - Identifier 324857 324872 - Block 324873 324984 - ExpressionStatement 324875 324965 - BinaryExpression 324875 324964 - Identifier 324875 324911 - EqualsToken 324911 324913 - CallExpression 324913 324964 - Identifier 324913 324928 - Identifier 324929 324943 - PrefixUnaryExpression 324944 324963 - CallExpression 324946 324963 - Identifier 324946 324957 - Identifier 324958 324962 - ReturnStatement 324984 325178 - BinaryExpression 325008 325177 - BinaryExpression 325008 325083 - PrefixUnaryExpression 325008 325025 - PrefixUnaryExpression 325010 325025 - Identifier 325011 325025 - AmpersandAmpersandToken 325025 325028 - CallExpression 325028 325083 - Identifier 325028 325055 - Identifier 325056 325060 - Identifier 325061 325066 - Identifier 325067 325082 - AmpersandAmpersandToken 325083 325086 - CallExpression 325086 325177 - Identifier 325086 325161 - Identifier 325162 325170 - Identifier 325171 325176 - ReturnStatement 325206 329983 - ObjectLiteralExpression 325222 329982 - ShorthandPropertyAssignment 325224 325262 - Identifier 325224 325262 - PropertyAssignment 325263 325543 - Identifier 325263 325291 - ArrowFunction 325292 325543 - Parameter 325294 325304 - Identifier 325294 325298 - TypeReference 325299 325304 - Identifier 325299 325304 - Parameter 325305 325333 - Identifier 325305 325326 - QuestionToken 325326 325327 - TypeReference 325328 325333 - Identifier 325328 325333 - Parameter 325334 325359 - Identifier 325334 325340 - QuestionToken 325340 325341 - TypeReference 325342 325359 - Identifier 325342 325359 - Parameter 325360 325401 - Identifier 325360 325374 - QuestionToken 325374 325375 - TypeReference 325376 325401 - Identifier 325376 325401 - Parameter 325402 325426 - Identifier 325402 325410 - QuestionToken 325410 325411 - TypeReference 325412 325426 - Identifier 325412 325426 - EqualsGreaterThanToken 325427 325430 - CallExpression 325430 325543 - Identifier 325430 325442 - Identifier 325443 325463 - Identifier 325464 325470 - Identifier 325471 325485 - Identifier 325486 325494 - ArrowFunction 325495 325542 - Parameter 325495 325503 - Identifier 325495 325503 - EqualsGreaterThanToken 325503 325506 - CallExpression 325506 325542 - Identifier 325506 325527 - Identifier 325528 325532 - Identifier 325533 325541 - PropertyAssignment 325544 325887 - Identifier 325544 325590 - ArrowFunction 325591 325887 - Parameter 325593 325621 - Identifier 325593 325606 - TypeReference 325607 325621 - Identifier 325607 325621 - Parameter 325622 325650 - Identifier 325622 325643 - QuestionToken 325643 325644 - TypeReference 325645 325650 - Identifier 325645 325650 - Parameter 325651 325676 - Identifier 325651 325657 - QuestionToken 325657 325658 - TypeReference 325659 325676 - Identifier 325659 325676 - Parameter 325677 325718 - Identifier 325677 325691 - QuestionToken 325691 325692 - TypeReference 325693 325718 - Identifier 325693 325718 - Parameter 325719 325743 - Identifier 325719 325727 - QuestionToken 325727 325728 - TypeReference 325729 325743 - Identifier 325729 325743 - EqualsGreaterThanToken 325744 325747 - CallExpression 325747 325887 - Identifier 325747 325759 - Identifier 325760 325780 - Identifier 325781 325787 - Identifier 325788 325802 - Identifier 325803 325811 - ArrowFunction 325812 325886 - Parameter 325812 325820 - Identifier 325812 325820 - EqualsGreaterThanToken 325820 325823 - CallExpression 325823 325886 - Identifier 325823 325862 - Identifier 325863 325876 - Identifier 325877 325885 - PropertyAssignment 325888 326212 - Identifier 325888 325928 - ArrowFunction 325929 326212 - Parameter 325931 325947 - Identifier 325931 325935 - TypeReference 325936 325947 - Identifier 325936 325947 - Parameter 325948 325976 - Identifier 325948 325969 - QuestionToken 325969 325970 - TypeReference 325971 325976 - Identifier 325971 325976 - Parameter 325977 326002 - Identifier 325977 325983 - QuestionToken 325983 325984 - TypeReference 325985 326002 - Identifier 325985 326002 - Parameter 326003 326044 - Identifier 326003 326017 - QuestionToken 326017 326018 - TypeReference 326019 326044 - Identifier 326019 326044 - Parameter 326045 326069 - Identifier 326045 326053 - QuestionToken 326053 326054 - TypeReference 326055 326069 - Identifier 326055 326069 - EqualsGreaterThanToken 326070 326073 - CallExpression 326073 326212 - Identifier 326073 326085 - Identifier 326086 326106 - Identifier 326107 326113 - Identifier 326114 326128 - Identifier 326129 326137 - ArrowFunction 326138 326211 - Parameter 326138 326146 - Identifier 326138 326146 - EqualsGreaterThanToken 326146 326149 - CallExpression 326149 326211 - PropertyAccessExpression 326149 326196 - Identifier 326149 326170 - Identifier 326171 326196 - Identifier 326197 326201 - Identifier 326202 326210 - PropertyAssignment 326213 326582 - Identifier 326213 326254 - ArrowFunction 326255 326582 - Parameter 326257 326285 - Identifier 326257 326268 - TypeReference 326269 326285 - Identifier 326269 326285 - Parameter 326286 326301 - Identifier 326286 326293 - TypeReference 326294 326301 - Identifier 326294 326301 - Parameter 326302 326330 - Identifier 326302 326323 - QuestionToken 326323 326324 - TypeReference 326325 326330 - Identifier 326325 326330 - Parameter 326331 326356 - Identifier 326331 326337 - QuestionToken 326337 326338 - TypeReference 326339 326356 - Identifier 326339 326356 - Parameter 326357 326398 - Identifier 326357 326371 - QuestionToken 326371 326372 - TypeReference 326373 326398 - Identifier 326373 326398 - Parameter 326399 326423 - Identifier 326399 326407 - QuestionToken 326407 326408 - TypeReference 326409 326423 - Identifier 326409 326423 - EqualsGreaterThanToken 326424 326427 - CallExpression 326427 326582 - Identifier 326427 326439 - Identifier 326440 326460 - Identifier 326461 326467 - Identifier 326468 326482 - Identifier 326483 326491 - ArrowFunction 326492 326581 - Parameter 326492 326500 - Identifier 326492 326500 - EqualsGreaterThanToken 326500 326503 - CallExpression 326503 326581 - PropertyAccessExpression 326503 326551 - Identifier 326503 326524 - Identifier 326525 326551 - Identifier 326552 326563 - Identifier 326564 326571 - Identifier 326572 326580 - PropertyAssignment 326583 326973 - Identifier 326583 326628 - ArrowFunction 326629 326973 - Parameter 326631 326662 - Identifier 326631 326640 - TypeReference 326641 326662 - Identifier 326641 326662 - Parameter 326663 326691 - Identifier 326663 326684 - QuestionToken 326684 326685 - TypeReference 326686 326691 - Identifier 326686 326691 - Parameter 326692 326717 - Identifier 326692 326698 - QuestionToken 326698 326699 - TypeReference 326700 326717 - Identifier 326700 326717 - Parameter 326718 326759 - Identifier 326718 326732 - QuestionToken 326732 326733 - TypeReference 326734 326759 - Identifier 326734 326759 - Parameter 326760 326784 - Identifier 326760 326768 - QuestionToken 326768 326769 - TypeReference 326770 326784 - Identifier 326770 326784 - EqualsGreaterThanToken 326785 326788 - CallExpression 326788 326973 - Identifier 326788 326800 - Identifier 326801 326821 - Identifier 326822 326828 - Identifier 326829 326843 - Identifier 326844 326852 - ArrowFunction 326853 326972 - Parameter 326853 326861 - Identifier 326853 326861 - EqualsGreaterThanToken 326861 326864 - CallExpression 326864 326972 - PropertyAccessExpression 326864 326917 - Identifier 326864 326885 - Identifier 326886 326917 - Identifier 326918 326927 - CallExpression 326928 326962 - Identifier 326928 326951 - Identifier 326952 326961 - Identifier 326963 326971 - PropertyAssignment 326974 327337 - Identifier 326974 327024 - ArrowFunction 327025 327337 - Parameter 327027 327047 - Identifier 327027 327036 - TypeReference 327037 327047 - Identifier 327037 327047 - Parameter 327048 327076 - Identifier 327048 327069 - QuestionToken 327069 327070 - TypeReference 327071 327076 - Identifier 327071 327076 - Parameter 327077 327102 - Identifier 327077 327083 - QuestionToken 327083 327084 - TypeReference 327085 327102 - Identifier 327085 327102 - Parameter 327103 327144 - Identifier 327103 327117 - QuestionToken 327117 327118 - TypeReference 327119 327144 - Identifier 327119 327144 - Parameter 327145 327169 - Identifier 327145 327153 - QuestionToken 327153 327154 - TypeReference 327155 327169 - Identifier 327155 327169 - EqualsGreaterThanToken 327170 327173 - CallExpression 327173 327337 - Identifier 327173 327185 - Identifier 327186 327206 - Identifier 327207 327213 - Identifier 327214 327228 - Identifier 327229 327237 - ArrowFunction 327238 327336 - Parameter 327238 327246 - Identifier 327238 327246 - EqualsGreaterThanToken 327246 327249 - CallExpression 327249 327336 - Identifier 327249 327292 - Identifier 327293 327302 - Identifier 327303 327311 - Identifier 327312 327335 - PropertyAssignment 327338 327709 - Identifier 327338 327383 - ArrowFunction 327384 327709 - Parameter 327386 327406 - Identifier 327386 327395 - TypeReference 327396 327406 - Identifier 327396 327406 - Parameter 327407 327442 - Identifier 327407 327412 - IndexedAccessType 327413 327442 - TypeReference 327413 327434 - Identifier 327413 327434 - LiteralType 327435 327441 - StringLiteral 327435 327441 - Parameter 327443 327471 - Identifier 327443 327464 - QuestionToken 327464 327465 - TypeReference 327466 327471 - Identifier 327466 327471 - Parameter 327472 327497 - Identifier 327472 327478 - QuestionToken 327478 327479 - TypeReference 327480 327497 - Identifier 327480 327497 - Parameter 327498 327539 - Identifier 327498 327512 - QuestionToken 327512 327513 - TypeReference 327514 327539 - Identifier 327514 327539 - Parameter 327540 327564 - Identifier 327540 327548 - QuestionToken 327548 327549 - TypeReference 327550 327564 - Identifier 327550 327564 - EqualsGreaterThanToken 327565 327568 - CallExpression 327568 327709 - Identifier 327568 327580 - Identifier 327581 327601 - Identifier 327602 327608 - Identifier 327609 327623 - Identifier 327624 327632 - ArrowFunction 327633 327708 - Parameter 327633 327641 - Identifier 327633 327641 - EqualsGreaterThanToken 327641 327644 - CallExpression 327644 327708 - Identifier 327644 327682 - Identifier 327683 327692 - Identifier 327693 327698 - Identifier 327699 327707 - PropertyAssignment 327710 328052 - Identifier 327710 327742 - ArrowFunction 327743 328052 - Parameter 327745 327759 - Identifier 327745 327751 - TypeReference 327752 327759 - Identifier 327752 327759 - Parameter 327760 327781 - Identifier 327760 327768 - TypeReference 327769 327781 - Identifier 327769 327781 - Parameter 327782 327810 - Identifier 327782 327803 - QuestionToken 327803 327804 - TypeReference 327805 327810 - Identifier 327805 327810 - Parameter 327811 327836 - Identifier 327811 327817 - QuestionToken 327817 327818 - TypeReference 327819 327836 - Identifier 327819 327836 - Parameter 327837 327878 - Identifier 327837 327851 - QuestionToken 327851 327852 - TypeReference 327853 327878 - Identifier 327853 327878 - Parameter 327879 327903 - Identifier 327879 327887 - QuestionToken 327887 327888 - TypeReference 327889 327903 - Identifier 327889 327903 - EqualsGreaterThanToken 327904 327907 - CallExpression 327907 328052 - Identifier 327907 327919 - Identifier 327920 327940 - Identifier 327941 327947 - Identifier 327948 327962 - Identifier 327963 327971 - ArrowFunction 327972 328051 - Parameter 327972 327980 - Identifier 327972 327980 - EqualsGreaterThanToken 327980 327983 - CallExpression 327983 328051 - Identifier 327983 327996 - Identifier 327997 328003 - Identifier 328004 328012 - Identifier 328013 328021 - FalseKeyword 328022 328050 - PropertyAssignment 328053 328372 - Identifier 328053 328085 - ArrowFunction 328086 328372 - Parameter 328088 328102 - Identifier 328088 328094 - TypeReference 328095 328102 - Identifier 328095 328102 - Parameter 328103 328124 - Identifier 328103 328111 - TypeReference 328112 328124 - Identifier 328112 328124 - Parameter 328125 328153 - Identifier 328125 328146 - QuestionToken 328146 328147 - TypeReference 328148 328153 - Identifier 328148 328153 - Parameter 328154 328179 - Identifier 328154 328160 - QuestionToken 328160 328161 - TypeReference 328162 328179 - Identifier 328162 328179 - Parameter 328180 328221 - Identifier 328180 328194 - QuestionToken 328194 328195 - TypeReference 328196 328221 - Identifier 328196 328221 - Parameter 328222 328246 - Identifier 328222 328230 - QuestionToken 328230 328231 - TypeReference 328232 328246 - Identifier 328232 328246 - EqualsGreaterThanToken 328247 328250 - CallExpression 328250 328372 - Identifier 328250 328262 - Identifier 328263 328283 - Identifier 328284 328290 - Identifier 328291 328305 - Identifier 328306 328314 - ArrowFunction 328315 328371 - Parameter 328315 328323 - Identifier 328315 328323 - EqualsGreaterThanToken 328323 328326 - CallExpression 328326 328371 - Identifier 328326 328345 - Identifier 328346 328352 - Identifier 328353 328361 - Identifier 328362 328370 - PropertyAssignment 328373 328699 - Identifier 328373 328420 - ArrowFunction 328421 328699 - Parameter 328423 328437 - Identifier 328423 328429 - TypeReference 328430 328437 - Identifier 328430 328437 - Parameter 328438 328466 - Identifier 328438 328459 - QuestionToken 328459 328460 - TypeReference 328461 328466 - Identifier 328461 328466 - Parameter 328467 328492 - Identifier 328467 328473 - QuestionToken 328473 328474 - TypeReference 328475 328492 - Identifier 328475 328492 - Parameter 328493 328534 - Identifier 328493 328507 - QuestionToken 328507 328508 - TypeReference 328509 328534 - Identifier 328509 328534 - Parameter 328535 328559 - Identifier 328535 328543 - QuestionToken 328543 328544 - TypeReference 328545 328559 - Identifier 328545 328559 - EqualsGreaterThanToken 328560 328563 - CallExpression 328563 328699 - Identifier 328563 328575 - Identifier 328576 328596 - Identifier 328597 328603 - Identifier 328604 328618 - Identifier 328619 328627 - ArrowFunction 328628 328698 - Parameter 328628 328636 - Identifier 328628 328636 - EqualsGreaterThanToken 328636 328639 - CallExpression 328639 328698 - Identifier 328639 328681 - Identifier 328682 328688 - Identifier 328689 328697 - PropertyAssignment 328700 329008 - Identifier 328700 328742 - ArrowFunction 328743 329008 - Parameter 328745 328759 - Identifier 328745 328751 - TypeReference 328752 328759 - Identifier 328752 328759 - Parameter 328760 328788 - Identifier 328760 328781 - QuestionToken 328781 328782 - TypeReference 328783 328788 - Identifier 328783 328788 - Parameter 328789 328814 - Identifier 328789 328795 - QuestionToken 328795 328796 - TypeReference 328797 328814 - Identifier 328797 328814 - Parameter 328815 328856 - Identifier 328815 328829 - QuestionToken 328829 328830 - TypeReference 328831 328856 - Identifier 328831 328856 - Parameter 328857 328881 - Identifier 328857 328865 - QuestionToken 328865 328866 - TypeReference 328867 328881 - Identifier 328867 328881 - EqualsGreaterThanToken 328882 328885 - CallExpression 328885 329008 - Identifier 328885 328897 - Identifier 328898 328918 - Identifier 328919 328925 - Identifier 328926 328940 - Identifier 328941 328949 - ArrowFunction 328950 329007 - Parameter 328950 328958 - Identifier 328950 328958 - EqualsGreaterThanToken 328958 328961 - CallExpression 328961 329007 - Identifier 328961 328990 - Identifier 328991 328997 - Identifier 328998 329006 - PropertyAssignment 329009 329326 - Identifier 329009 329049 - ArrowFunction 329050 329326 - Parameter 329052 329076 - Identifier 329052 329061 - TypeReference 329062 329076 - Identifier 329062 329076 - Parameter 329077 329105 - Identifier 329077 329098 - QuestionToken 329098 329099 - TypeReference 329100 329105 - Identifier 329100 329105 - Parameter 329106 329131 - Identifier 329106 329112 - QuestionToken 329112 329113 - TypeReference 329114 329131 - Identifier 329114 329131 - Parameter 329132 329173 - Identifier 329132 329146 - QuestionToken 329146 329147 - TypeReference 329148 329173 - Identifier 329148 329173 - Parameter 329174 329198 - Identifier 329174 329182 - QuestionToken 329182 329183 - TypeReference 329184 329198 - Identifier 329184 329198 - EqualsGreaterThanToken 329199 329202 - CallExpression 329202 329326 - Identifier 329202 329214 - Identifier 329215 329235 - Identifier 329236 329242 - Identifier 329243 329257 - Identifier 329258 329266 - ArrowFunction 329267 329325 - Parameter 329267 329275 - Identifier 329267 329275 - EqualsGreaterThanToken 329275 329278 - CallExpression 329278 329325 - Identifier 329278 329305 - Identifier 329306 329315 - Identifier 329316 329324 - PropertyAssignment 329327 329662 - Identifier 329327 329375 - ArrowFunction 329376 329662 - Parameter 329378 329402 - Identifier 329378 329389 - TypeReference 329390 329402 - Identifier 329390 329402 - Parameter 329403 329431 - Identifier 329403 329424 - QuestionToken 329424 329425 - TypeReference 329426 329431 - Identifier 329426 329431 - Parameter 329432 329457 - Identifier 329432 329438 - QuestionToken 329438 329439 - TypeReference 329440 329457 - Identifier 329440 329457 - Parameter 329458 329499 - Identifier 329458 329472 - QuestionToken 329472 329473 - TypeReference 329474 329499 - Identifier 329474 329499 - Parameter 329500 329524 - Identifier 329500 329508 - QuestionToken 329508 329509 - TypeReference 329510 329524 - Identifier 329510 329524 - EqualsGreaterThanToken 329525 329528 - CallExpression 329528 329662 - Identifier 329528 329540 - Identifier 329541 329561 - Identifier 329562 329568 - Identifier 329569 329583 - Identifier 329584 329592 - ArrowFunction 329593 329661 - Parameter 329593 329601 - Identifier 329593 329601 - EqualsGreaterThanToken 329601 329604 - CallExpression 329604 329661 - Identifier 329604 329639 - Identifier 329640 329651 - Identifier 329652 329660 - PropertyAssignment 329663 329970 - Identifier 329663 329689 - ArrowFunction 329690 329970 - Parameter 329692 329706 - Identifier 329692 329698 - TypeReference 329699 329706 - Identifier 329699 329706 - Parameter 329707 329728 - Identifier 329707 329715 - TypeReference 329716 329728 - Identifier 329716 329728 - Parameter 329729 329757 - Identifier 329729 329750 - QuestionToken 329750 329751 - TypeReference 329752 329757 - Identifier 329752 329757 - Parameter 329758 329783 - Identifier 329758 329764 - QuestionToken 329764 329765 - TypeReference 329766 329783 - Identifier 329766 329783 - Parameter 329784 329825 - Identifier 329784 329798 - QuestionToken 329798 329799 - TypeReference 329800 329825 - Identifier 329800 329825 - Parameter 329826 329850 - Identifier 329826 329834 - QuestionToken 329834 329835 - TypeReference 329836 329850 - Identifier 329836 329850 - EqualsGreaterThanToken 329851 329854 - CallExpression 329854 329970 - Identifier 329854 329866 - Identifier 329867 329887 - Identifier 329888 329894 - Identifier 329895 329909 - Identifier 329910 329918 - ArrowFunction 329919 329969 - Parameter 329919 329927 - Identifier 329919 329927 - EqualsGreaterThanToken 329927 329930 - CallExpression 329930 329969 - Identifier 329930 329943 - Identifier 329944 329950 - Identifier 329951 329959 - Identifier 329960 329968 - FunctionDeclaration 329983 330098 - Identifier 330003 330023 - Parameter 330024 330051 - Identifier 330024 330031 - TypeReference 330032 330051 - Identifier 330032 330051 - Parameter 330052 330067 - Identifier 330052 330057 - TypeReference 330058 330067 - Identifier 330058 330067 - Parameter 330068 330090 - Identifier 330068 330082 - QuestionToken 330082 330083 - LiteralType 330084 330090 - FalseKeyword 330084 330090 - TypeReference 330092 330097 - Identifier 330092 330097 - FunctionDeclaration 330098 330221 - Identifier 330116 330136 - Parameter 330137 330164 - Identifier 330137 330144 - TypeReference 330145 330164 - Identifier 330145 330164 - Parameter 330165 330180 - Identifier 330165 330170 - TypeReference 330171 330180 - Identifier 330171 330180 - Parameter 330181 330201 - Identifier 330181 330195 - LiteralType 330196 330201 - TrueKeyword 330196 330201 - UnionType 330203 330220 - TypeReference 330203 330208 - Identifier 330203 330208 - UndefinedKeyword 330210 330220 - FunctionDeclaration 330221 330630 - Identifier 330239 330259 - Parameter 330260 330287 - Identifier 330260 330267 - TypeReference 330268 330287 - Identifier 330268 330287 - Parameter 330288 330303 - Identifier 330288 330293 - TypeReference 330294 330303 - Identifier 330294 330303 - Parameter 330304 330328 - Identifier 330304 330318 - QuestionToken 330318 330319 - BooleanKeyword 330320 330328 - UnionType 330330 330347 - TypeReference 330330 330335 - Identifier 330330 330335 - UndefinedKeyword 330337 330347 - Block 330347 330630 - VariableStatement 330349 330416 - VariableDeclarationList 330349 330415 - VariableDeclaration 330368 330415 - Identifier 330368 330373 - CallExpression 330375 330415 - Identifier 330375 330409 - Identifier 330410 330414 - IfStatement 330416 330463 - PrefixUnaryExpression 330434 330449 - PropertyAccessExpression 330435 330449 - Identifier 330435 330442 - Identifier 330443 330449 - ReturnStatement 330450 330463 - Identifier 330457 330462 - VariableStatement 330463 330536 - VariableDeclarationList 330463 330535 - VariableDeclaration 330484 330535 - Identifier 330484 330495 - CallExpression 330497 330535 - Identifier 330497 330513 - Identifier 330514 330518 - PropertyAccessExpression 330519 330534 - Identifier 330519 330527 - Identifier 330528 330534 - ReturnStatement 330536 330619 - ConditionalExpression 330556 330618 - BinaryExpression 330556 330593 - Identifier 330556 330570 - AmpersandAmpersandToken 330570 330573 - BinaryExpression 330573 330593 - Identifier 330573 330584 - ExclamationEqualsEqualsToken 330584 330588 - Identifier 330588 330593 - QuestionToken 330593 330595 - Identifier 330595 330605 - ColonToken 330605 330607 - Identifier 330607 330618 - FunctionDeclaration 330630 332696 - Identifier 331343 331356 - TypeParameter 331357 331371 - Identifier 331357 331358 - TypeReference 331366 331371 - Identifier 331366 331371 - Parameter 331373 331400 - Identifier 331373 331380 - TypeReference 331381 331400 - Identifier 331381 331400 - Parameter 331401 331410 - Identifier 331401 331407 - TypeReference 331408 331410 - Identifier 331408 331410 - Parameter 331411 331438 - Identifier 331411 331420 - UnionType 331421 331438 - TypeReference 331421 331426 - Identifier 331421 331426 - UndefinedKeyword 331428 331438 - TypeReference 331440 331442 - Identifier 331440 331442 - Block 331442 332696 - IfStatement 331444 331806 - BinaryExpression 331462 331628 - BinaryExpression 331462 331555 - BinaryExpression 331462 331529 - PrefixUnaryExpression 331462 331487 - CallExpression 331463 331487 - Identifier 331463 331480 - Identifier 331481 331486 - BarBarToken 331487 331490 - PrefixUnaryExpression 331490 331529 - ParenthesizedExpression 331492 331529 - BinaryExpression 331493 331528 - PropertyAccessExpression 331493 331504 - Identifier 331493 331498 - Identifier 331499 331504 - AmpersandToken 331504 331506 - PropertyAccessExpression 331506 331528 - Identifier 331506 331516 - Identifier 331517 331528 - BarBarToken 331529 331532 - PrefixUnaryExpression 331532 331555 - PropertyAccessExpression 331534 331555 - Identifier 331534 331541 - Identifier 331542 331555 - BarBarToken 331555 331558 - BinaryExpression 331558 331628 - PropertyAccessExpression 331558 331580 - Identifier 331558 331566 - Identifier 331567 331580 - ExclamationEqualsEqualsToken 331580 331584 - CallExpression 331584 331628 - Identifier 331584 331604 - CallExpression 331605 331627 - Identifier 331605 331620 - Identifier 331621 331626 - Block 331629 331806 - ExpressionStatement 331631 331682 - BinaryExpression 331631 331681 - Identifier 331631 331654 - EqualsToken 331654 331656 - CallExpression 331656 331681 - PropertyAccessExpression 331656 331674 - Identifier 331656 331664 - Identifier 331665 331674 - Identifier 331675 331680 - IfStatement 331806 331857 - BinaryExpression 331824 331842 - Identifier 331824 331829 - EqualsEqualsEqualsToken 331829 331833 - Identifier 331833 331842 - ReturnStatement 331843 331857 - Identifier 331850 331856 - IfStatement 331857 331933 - PrefixUnaryExpression 331875 331884 - Identifier 331876 331884 - Block 331885 331933 - ReturnStatement 331887 331918 - Identifier 331911 331917 - VariableStatement 331933 332117 - VariableDeclarationList 331933 332116 - VariableDeclaration 332090 332116 - Identifier 332090 332099 - PropertyAccessExpression 332101 332116 - Identifier 332101 332107 - Identifier 332108 332116 - WhileStatement 332117 332236 - BinaryExpression 332138 332171 - Identifier 332138 332146 - AmpersandAmpersandToken 332146 332149 - BinaryExpression 332149 332171 - Identifier 332149 332158 - ExclamationEqualsEqualsToken 332158 332162 - Identifier 332162 332171 - Block 332172 332236 - ExpressionStatement 332174 332221 - BinaryExpression 332174 332220 - Identifier 332174 332200 - EqualsToken 332200 332202 - PropertyAccessExpression 332202 332220 - Identifier 332202 332211 - Identifier 332212 332220 - IfStatement 332236 332332 - PrefixUnaryExpression 332254 332263 - Identifier 332255 332263 - Block 332264 332332 - ExpressionStatement 332266 332317 - CallExpression 332266 332316 - Identifier 332266 332299 - Identifier 332300 332305 - Identifier 332306 332315 - IfStatement 332332 332658 - BinaryExpression 332482 332579 - PropertyAccessExpression 332482 332503 - Identifier 332482 332489 - Identifier 332490 332503 - AmpersandAmpersandToken 332503 332506 - BinaryExpression 332506 332579 - PropertyAccessExpression 332506 332528 - Identifier 332506 332514 - Identifier 332515 332528 - EqualsEqualsEqualsToken 332528 332532 - CallExpression 332532 332579 - Identifier 332532 332552 - CallExpression 332553 332578 - Identifier 332553 332568 - Identifier 332569 332577 - Block 332580 332658 - ReturnStatement 332582 332643 - CallExpression 332606 332642 - Identifier 332606 332625 - Identifier 332626 332631 - Identifier 332632 332641 - ReturnStatement 332658 332685 - Identifier 332678 332684 - FunctionDeclaration 332696 333597 - Identifier 332716 332729 - Parameter 332730 332744 - Identifier 332730 332736 - TypeReference 332737 332744 - Identifier 332737 332744 - Parameter 332745 332773 - Identifier 332745 332753 - TypeReference 332754 332773 - Identifier 332754 332773 - Parameter 332774 332795 - Identifier 332774 332782 - TypeReference 332783 332795 - Identifier 332783 332795 - Block 332796 333597 - IfStatement 332798 333520 - BinaryExpression 332816 332883 - PropertyAccessExpression 332816 332837 - Identifier 332816 332823 - Identifier 332824 332837 - AmpersandToken 332837 332839 - PropertyAccessExpression 332839 332883 - Identifier 332839 332864 - Identifier 332865 332883 - Block 332884 333520 - IfStatement 332886 333110 - PropertyAccessExpression 332908 332931 - Identifier 332908 332914 - Identifier 332915 332931 - Block 332932 333110 - VariableStatement 332934 333015 - VariableDeclarationList 332934 333014 - VariableDeclaration 332961 333014 - Identifier 332961 332966 - CallExpression 332968 333014 - Identifier 332968 332989 - PropertyAccessExpression 332990 333013 - Identifier 332990 332996 - Identifier 332997 333013 - IfStatement 333015 333091 - BinaryExpression 333041 333077 - Identifier 333041 333045 - AmpersandAmpersandToken 333045 333048 - CallExpression 333048 333077 - Identifier 333048 333071 - Identifier 333072 333076 - ReturnStatement 333078 333091 - Identifier 333085 333090 - VariableStatement 333110 333177 - VariableDeclarationList 333110 333176 - VariableDeclaration 333133 333176 - Identifier 333133 333142 - PropertyAccessExpression 333144 333176 - CallExpression 333144 333167 - Identifier 333144 333159 - Identifier 333160 333166 - Identifier 333168 333176 - IfStatement 333177 333505 - BinaryExpression 333199 333278 - Identifier 333199 333207 - AmpersandAmpersandToken 333207 333210 - BinaryExpression 333210 333278 - PropertyAccessExpression 333210 333225 - Identifier 333210 333219 - Identifier 333220 333225 - AmpersandToken 333225 333227 - ParenthesizedExpression 333227 333278 - BinaryExpression 333229 333277 - PropertyAccessExpression 333229 333250 - Identifier 333229 333238 - Identifier 333239 333250 - BarToken 333250 333252 - PropertyAccessExpression 333252 333277 - Identifier 333252 333262 - Identifier 333263 333277 - Block 333279 333505 - ExpressionStatement 333281 333367 - BinaryExpression 333281 333366 - PropertyAccessExpression 333281 333331 - Identifier 333281 333310 - Identifier 333311 333331 - EqualsToken 333331 333333 - PropertyAccessExpression 333333 333366 - PropertyAccessExpression 333333 333349 - Identifier 333333 333342 - Identifier 333343 333349 - Identifier 333350 333366 - ReturnStatement 333367 333486 - CallExpression 333395 333485 - PropertyAccessExpression 333395 333430 - Identifier 333395 333403 - Identifier 333404 333430 - CallExpression 333431 333484 - Identifier 333431 333449 - PropertyAccessExpression 333450 333465 - Identifier 333450 333458 - Identifier 333459 333465 - Identifier 333466 333474 - Identifier 333475 333483 - ReturnStatement 333520 333586 - CallExpression 333540 333585 - Identifier 333540 333559 - Identifier 333560 333566 - Identifier 333567 333575 - Identifier 333576 333584 - FunctionDeclaration 333597 336088 - Identifier 333617 333629 - TypeParameter 333630 333631 - Identifier 333630 333631 - Parameter 333633 333671 - Identifier 333633 333653 - UnionType 333654 333671 - TypeReference 333654 333659 - Identifier 333654 333659 - UndefinedKeyword 333661 333671 - Parameter 333672 333708 - Identifier 333672 333678 - UnionType 333679 333708 - TypeReference 333679 333696 - Identifier 333679 333696 - UndefinedKeyword 333698 333708 - Parameter 333709 333761 - Identifier 333709 333723 - UnionType 333724 333761 - TypeReference 333724 333749 - Identifier 333724 333749 - UndefinedKeyword 333751 333761 - Parameter 333762 333797 - Identifier 333762 333770 - UnionType 333771 333797 - TypeReference 333771 333785 - Identifier 333771 333785 - UndefinedKeyword 333787 333797 - Parameter 333798 333837 - Identifier 333798 333801 - FunctionType 333802 333837 - Parameter 333804 333831 - Identifier 333804 333811 - TypeReference 333812 333831 - Identifier 333812 333831 - TypeReference 333835 333837 - Identifier 333835 333837 - UnionType 333839 333853 - TypeReference 333839 333841 - Identifier 333839 333841 - UndefinedKeyword 333843 333853 - Block 333853 336088 - VariableStatement 333855 334154 - VariableDeclarationList 333855 334153 - VariableDeclaration 333874 334153 - Identifier 333874 333893 - ConditionalExpression 333895 334153 - PropertyAccessExpression 333895 333916 - Identifier 333895 333903 - QuestionDotToken 333903 333905 - Identifier 333905 333916 - QuestionToken 333916 333918 - PropertyAccessExpression 333918 333945 - Identifier 333918 333926 - Identifier 333927 333945 - ColonToken 333945 333947 - ConditionalExpression 333947 334153 - BinaryExpression 333947 334064 - ParenthesizedExpression 333947 334013 - BinaryExpression 333966 334012 - Identifier 333966 333979 - BarBarToken 333979 333982 - PropertyAccessExpression 333982 334012 - Identifier 333982 334007 - Identifier 334008 334012 - AmpersandToken 334013 334015 - PropertyAccessExpression 334015 334064 - Identifier 334015 334040 - Identifier 334041 334064 - QuestionToken 334064 334066 - CallExpression 334066 334124 - Identifier 334066 334118 - Identifier 334119 334123 - ColonToken 334124 334126 - Identifier 334126 334153 - VariableStatement 334154 335702 - VariableDeclarationList 334154 335701 - VariableDeclaration 334173 335701 - Identifier 334173 334181 - TypeReference 334182 334201 - Identifier 334182 334201 - ObjectLiteralExpression 334203 335701 - ShorthandPropertyAssignment 334205 334243 - Identifier 334205 334243 - PropertyAssignment 334244 334342 - Identifier 334244 334275 - BinaryExpression 334276 334342 - Identifier 334276 334297 - AmpersandAmpersandToken 334297 334300 - CallExpression 334300 334342 - Identifier 334300 334320 - Identifier 334321 334341 - PropertyAssignment 334343 334398 - Identifier 334343 334366 - BinaryExpression 334367 334398 - Identifier 334367 334373 - BarBarToken 334373 334376 - PropertyAccessExpression 334376 334398 - Identifier 334376 334393 - Identifier 334394 334398 - PropertyAssignment 334399 334478 - Identifier 334399 334430 - BinaryExpression 334431 334478 - Identifier 334431 334445 - BarBarToken 334445 334448 - PropertyAccessExpression 334448 334478 - Identifier 334448 334473 - Identifier 334474 334478 - PropertyAssignment 334479 334516 - Identifier 334479 334504 - NonNullExpression 334505 334516 - Identifier 334505 334515 - PropertyAssignment 334517 334558 - Identifier 334517 334551 - FalseKeyword 334552 334558 - PropertyAssignment 334559 334615 - Identifier 334559 334608 - FalseKeyword 334609 334615 - PropertyAssignment 334616 334659 - Identifier 334616 334652 - FalseKeyword 334653 334659 - PropertyAssignment 334660 334701 - Identifier 334660 334690 - Identifier 334691 334701 - PropertyAssignment 334702 334742 - Identifier 334702 334731 - Identifier 334732 334742 - PropertyAssignment 334743 334791 - Identifier 334743 334780 - Identifier 334781 334791 - PropertyAssignment 334792 334830 - Identifier 334792 334827 - NumericLiteral 334828 334830 - PropertyAssignment 334831 334874 - Identifier 334831 334863 - Identifier 334864 334874 - PropertyAssignment 334875 335026 - Identifier 334875 334900 - BinaryExpression 334901 335026 - BinaryExpression 334901 334953 - PrefixUnaryExpression 334901 334927 - PrefixUnaryExpression 334903 334927 - PropertyAccessExpression 334904 334927 - Identifier 334904 334919 - Identifier 334920 334927 - AmpersandAmpersandToken 334927 334930 - PrefixUnaryExpression 334930 334953 - PrefixUnaryExpression 334932 334953 - Identifier 334933 334953 - AmpersandAmpersandToken 334953 334956 - CallExpression 334956 335026 - Identifier 334956 334983 - CallExpression 334984 335025 - Identifier 334984 335003 - Identifier 335004 335024 - PropertyAssignment 335027 335062 - Identifier 335027 335055 - FalseKeyword 335056 335062 - PropertyAssignment 335063 335107 - Identifier 335063 335096 - Identifier 335097 335107 - PropertyAssignment 335108 335156 - Identifier 335108 335145 - Identifier 335146 335156 - PropertyAssignment 335157 335210 - Identifier 335157 335199 - Identifier 335200 335210 - PropertyAssignment 335211 335258 - Identifier 335211 335247 - Identifier 335248 335258 - PropertyAssignment 335259 335316 - Identifier 335259 335310 - TrueKeyword 335311 335316 - PropertyAssignment 335317 335369 - Identifier 335317 335358 - Identifier 335359 335369 - PropertyAssignment 335370 335430 - Identifier 335370 335424 - TrueKeyword 335425 335430 - PropertyAssignment 335431 335478 - Identifier 335431 335467 - Identifier 335468 335478 - PropertyAssignment 335479 335532 - Identifier 335479 335521 - Identifier 335522 335532 - PropertyAssignment 335533 335599 - Identifier 335533 335588 - Identifier 335589 335599 - PropertyAssignment 335600 335649 - Identifier 335600 335638 - NewExpression 335639 335649 - Identifier 335643 335647 - PropertyAssignment 335650 335685 - Identifier 335650 335674 - Identifier 335675 335685 - ExpressionStatement 335702 335794 - BinaryExpression 335702 335793 - PropertyAccessExpression 335702 335731 - Identifier 335702 335723 - Identifier 335724 335731 - EqualsToken 335731 335733 - NewExpression 335733 335793 - Identifier 335737 335755 - Identifier 335756 335763 - Identifier 335764 335772 - Identifier 335773 335792 - VariableStatement 335794 335842 - VariableDeclarationList 335794 335841 - VariableDeclaration 335813 335841 - Identifier 335813 335827 - CallExpression 335829 335841 - Identifier 335829 335832 - Identifier 335833 335840 - IfStatement 335842 336003 - BinaryExpression 335860 335927 - PropertyAccessExpression 335860 335878 - Identifier 335860 335867 - Identifier 335868 335878 - AmpersandAmpersandToken 335878 335881 - BinaryExpression 335881 335927 - PropertyAccessExpression 335881 335895 - Identifier 335881 335889 - Identifier 335890 335895 - AmpersandToken 335895 335897 - PropertyAccessExpression 335897 335927 - Identifier 335897 335914 - Identifier 335915 335927 - Block 335928 336003 - ExpressionStatement 335930 335988 - CallExpression 335930 335987 - PropertyAccessExpression 335930 335985 - PropertyAccessExpression 335930 335963 - Identifier 335930 335955 - Identifier 335956 335963 - Identifier 335964 335985 - ReturnStatement 336003 336077 - ConditionalExpression 336023 336076 - PropertyAccessExpression 336023 336048 - Identifier 336023 336031 - Identifier 336032 336048 - QuestionToken 336048 336050 - Identifier 336050 336060 - ColonToken 336060 336062 - Identifier 336062 336076 - FunctionDeclaration 336088 336672 - Identifier 336108 336131 - Parameter 336132 336159 - Identifier 336132 336139 - TypeReference 336140 336159 - Identifier 336140 336159 - Parameter 336160 336175 - Identifier 336160 336167 - TypeReference 336168 336175 - Identifier 336168 336175 - Parameter 336176 336187 - Identifier 336176 336181 - TypeReference 336182 336187 - Identifier 336182 336187 - Block 336188 336672 - VariableStatement 336190 336235 - VariableDeclarationList 336190 336234 - VariableDeclaration 336209 336234 - Identifier 336209 336212 - CallExpression 336214 336234 - Identifier 336214 336226 - Identifier 336227 336233 - VariableStatement 336235 336302 - VariableDeclarationList 336235 336301 - VariableDeclaration 336254 336301 - Identifier 336254 336262 - CallExpression 336264 336301 - PropertyAccessExpression 336264 336297 - PropertyAccessExpression 336264 336293 - Identifier 336264 336272 - Identifier 336273 336293 - Identifier 336294 336297 - Identifier 336298 336300 - ExpressionStatement 336302 336359 - CallExpression 336302 336358 - PropertyAccessExpression 336302 336348 - PropertyAccessExpression 336302 336344 - Identifier 336302 336323 - Identifier 336324 336344 - Identifier 336345 336348 - Identifier 336349 336351 - Identifier 336352 336357 - ReturnStatement 336359 336388 - Identifier 336379 336387 - FunctionDeclaration 336388 336661 - Identifier 336410 336418 - Block 336420 336661 - IfStatement 336422 336646 - Identifier 336444 336451 - Block 336452 336541 - ExpressionStatement 336454 336522 - CallExpression 336454 336521 - PropertyAccessExpression 336454 336508 - PropertyAccessExpression 336454 336504 - Identifier 336454 336483 - Identifier 336484 336504 - Identifier 336505 336508 - Identifier 336509 336511 - Identifier 336512 336520 - Block 336563 336646 - ExpressionStatement 336565 336627 - CallExpression 336565 336626 - PropertyAccessExpression 336565 336622 - PropertyAccessExpression 336565 336615 - Identifier 336565 336594 - Identifier 336595 336615 - Identifier 336616 336622 - Identifier 336623 336625 - FunctionDeclaration 336672 337027 - Identifier 336690 336707 - Parameter 336708 336735 - Identifier 336708 336715 - TypeReference 336716 336735 - Identifier 336716 336735 - Block 336736 337027 - VariableStatement 336738 336780 - VariableDeclarationList 336738 336779 - VariableDeclaration 336757 336779 - Identifier 336757 336763 - PropertyAccessExpression 336765 336779 - Identifier 336765 336773 - Identifier 336774 336779 - VariableStatement 336780 336838 - VariableDeclarationList 336780 336837 - VariableDeclaration 336799 336837 - Identifier 336799 336813 - PropertyAccessExpression 336815 336837 - Identifier 336815 336823 - Identifier 336824 336837 - ReturnStatement 336838 336869 - Identifier 336860 336868 - FunctionDeclaration 336869 337016 - Identifier 336893 336901 - Block 336903 337016 - ExpressionStatement 336905 336945 - BinaryExpression 336905 336944 - PropertyAccessExpression 336905 336936 - Identifier 336905 336930 - Identifier 336931 336936 - EqualsToken 336936 336938 - Identifier 336938 336944 - ExpressionStatement 336945 337001 - BinaryExpression 336945 337000 - PropertyAccessExpression 336945 336984 - Identifier 336945 336970 - Identifier 336971 336984 - EqualsToken 336984 336986 - Identifier 336986 337000 - FunctionDeclaration 337027 337375 - Identifier 337047 337069 - Parameter 337070 337097 - Identifier 337070 337077 - TypeReference 337078 337097 - Identifier 337078 337097 - BooleanKeyword 337099 337107 - Block 337107 337375 - IfStatement 337109 337173 - PropertyAccessExpression 337127 337145 - Identifier 337127 337134 - Identifier 337135 337145 - ReturnStatement 337146 337173 - PropertyAccessExpression 337153 337172 - Identifier 337153 337161 - Identifier 337162 337172 - ReturnStatement 337173 337364 - BinaryExpression 337193 337363 - PropertyAccessExpression 337193 337212 - Identifier 337193 337201 - Identifier 337202 337212 - EqualsToken 337212 337214 - BinaryExpression 337214 337363 - PropertyAccessExpression 337214 337240 - Identifier 337214 337222 - Identifier 337223 337240 - GreaterThanToken 337240 337242 - ParenthesizedExpression 337242 337363 - ConditionalExpression 337244 337362 - ParenthesizedExpression 337244 337291 - BinaryExpression 337245 337290 - PropertyAccessExpression 337245 337258 - Identifier 337245 337252 - Identifier 337253 337258 - AmpersandToken 337258 337260 - PropertyAccessExpression 337260 337290 - Identifier 337260 337277 - Identifier 337278 337290 - QuestionToken 337291 337293 - Identifier 337293 337329 - ColonToken 337329 337331 - Identifier 337331 337362 - FunctionDeclaration 337375 337667 - Identifier 337395 337416 - Parameter 337417 337427 - Identifier 337417 337421 - TypeReference 337422 337427 - Identifier 337422 337427 - Parameter 337428 337456 - Identifier 337428 337436 - TypeReference 337437 337456 - Identifier 337437 337456 - TypeReference 337458 337467 - Identifier 337458 337467 - Block 337467 337667 - VariableStatement 337469 337530 - VariableDeclarationList 337469 337529 - VariableDeclaration 337488 337529 - Identifier 337488 337501 - CallExpression 337503 337529 - Identifier 337503 337520 - Identifier 337521 337528 - VariableStatement 337530 337597 - VariableDeclarationList 337530 337596 - VariableDeclaration 337549 337596 - Identifier 337549 337558 - CallExpression 337560 337596 - Identifier 337560 337581 - Identifier 337582 337586 - Identifier 337587 337595 - ExpressionStatement 337597 337626 - CallExpression 337597 337625 - Identifier 337597 337623 - ReturnStatement 337626 337656 - Identifier 337646 337655 - FunctionDeclaration 337667 399312 - Identifier 337687 337708 - Parameter 337709 337719 - Identifier 337709 337713 - TypeReference 337714 337719 - Identifier 337714 337719 - Parameter 337720 337748 - Identifier 337720 337728 - TypeReference 337729 337748 - Identifier 337729 337748 - TypeReference 337750 337759 - Identifier 337750 337759 - Block 337759 399312 - IfStatement 337761 337931 - BinaryExpression 337779 337846 - Identifier 337779 337796 - AmpersandAmpersandToken 337796 337799 - PropertyAccessExpression 337799 337846 - Identifier 337799 337817 - Identifier 337818 337846 - Block 337847 337931 - ExpressionStatement 337849 337916 - CallExpression 337849 337915 - PropertyAccessExpression 337849 337913 - Identifier 337849 337884 - Identifier 337885 337913 - VariableStatement 337931 338010 - VariableDeclarationList 337931 338009 - VariableDeclaration 337950 338009 - Identifier 337950 337962 - BinaryExpression 337964 338009 - PropertyAccessExpression 337964 337978 - Identifier 337964 337972 - Identifier 337973 337978 - AmpersandToken 337978 337980 - PropertyAccessExpression 337980 338009 - Identifier 337980 337997 - Identifier 337998 338009 - ExpressionStatement 338010 338071 - BinaryExpression 338010 338070 - PropertyAccessExpression 338010 338037 - Identifier 338010 338031 - Identifier 338032 338037 - AmpersandEqualsToken 338037 338040 - PrefixUnaryExpression 338040 338070 - PropertyAccessExpression 338042 338070 - Identifier 338042 338058 - Identifier 338059 338070 - IfStatement 338071 338462 - PrefixUnaryExpression 338091 338096 - Identifier 338092 338096 - Block 338097 338462 - IfStatement 338099 338320 - PrefixUnaryExpression 338121 338186 - ParenthesizedExpression 338122 338186 - BinaryExpression 338123 338185 - PropertyAccessExpression 338123 338136 - Identifier 338123 338130 - Identifier 338131 338136 - AmpersandToken 338136 338138 - PropertyAccessExpression 338138 338185 - Identifier 338138 338155 - Identifier 338156 338185 - Block 338187 338320 - ExpressionStatement 338189 338243 - BinaryExpression 338189 338242 - PropertyAccessExpression 338189 338235 - Identifier 338189 338218 - Identifier 338219 338235 - EqualsToken 338235 338237 - TrueKeyword 338237 338242 - ReturnStatement 338243 338283 - NonNullExpression 338271 338282 - Identifier 338271 338281 - ExpressionStatement 338320 338369 - BinaryExpression 338320 338368 - PropertyAccessExpression 338320 338363 - Identifier 338320 338345 - Identifier 338346 338363 - PlusEqualsToken 338363 338366 - NumericLiteral 338366 338368 - ReturnStatement 338369 338447 - CallExpression 338393 338446 - PropertyAccessExpression 338393 338423 - Identifier 338393 338401 - Identifier 338402 338423 - PropertyAccessExpression 338424 338445 - Identifier 338424 338434 - Identifier 338435 338445 - IfStatement 338462 338597 - PrefixUnaryExpression 338482 338533 - ParenthesizedExpression 338483 338533 - BinaryExpression 338484 338532 - PropertyAccessExpression 338484 338497 - Identifier 338484 338491 - Identifier 338492 338497 - AmpersandToken 338497 338499 - PropertyAccessExpression 338499 338532 - Identifier 338499 338516 - Identifier 338517 338532 - Block 338534 338597 - ExpressionStatement 338536 338582 - BinaryExpression 338536 338581 - Identifier 338536 338558 - EqualsToken 338558 338560 - CallExpression 338560 338581 - Identifier 338560 338575 - Identifier 338576 338580 - IfStatement 338597 339288 - BinaryExpression 338617 338643 - PropertyAccessExpression 338617 338627 - Identifier 338617 338621 - Identifier 338622 338627 - AmpersandToken 338627 338629 - PropertyAccessExpression 338629 338643 - Identifier 338629 338639 - Identifier 338640 338643 - Block 338644 339288 - IfStatement 338646 338859 - PropertyAccessExpression 338668 338684 - Identifier 338668 338672 - Identifier 338673 338684 - Block 338685 338859 - ReturnStatement 338687 338840 - CallExpression 338715 338839 - PropertyAccessExpression 338715 338747 - Identifier 338715 338723 - Identifier 338724 338747 - CallExpression 338748 338788 - Identifier 338748 338770 - PropertyAccessExpression 338771 338787 - Identifier 338771 338775 - Identifier 338776 338787 - CallExpression 338789 338838 - Identifier 338789 338804 - PropertyAccessExpression 338805 338828 - Identifier 338805 338809 - Identifier 338810 338828 - Identifier 338829 338837 - IfStatement 338859 339085 - BinaryExpression 338881 338904 - Identifier 338881 338885 - EqualsEqualsEqualsToken 338885 338889 - Identifier 338889 338904 - Block 338905 339085 - ReturnStatement 338907 339066 - CallExpression 338935 339065 - Identifier 338935 338962 - CallExpression 338963 339015 - PropertyAccessExpression 338963 338992 - Identifier 338963 338970 - Identifier 338971 338992 - PropertyAccessExpression 338993 339014 - Identifier 338993 339003 - Identifier 339004 339014 - PropertyAccessExpression 339016 339050 - Identifier 339016 339027 - Identifier 339028 339050 - StringLiteral 339051 339064 - ExpressionStatement 339085 339134 - BinaryExpression 339085 339133 - PropertyAccessExpression 339085 339128 - Identifier 339085 339110 - Identifier 339111 339128 - PlusEqualsToken 339128 339131 - NumericLiteral 339131 339133 - ReturnStatement 339134 339273 - CallExpression 339158 339272 - PropertyAccessExpression 339158 339188 - Identifier 339158 339166 - Identifier 339167 339188 - ConditionalExpression 339189 339271 - BinaryExpression 339189 339217 - Identifier 339189 339193 - EqualsEqualsEqualsToken 339193 339197 - Identifier 339197 339217 - QuestionToken 339217 339219 - PropertyAccessExpression 339219 339247 - Identifier 339219 339230 - Identifier 339231 339247 - ColonToken 339247 339249 - PropertyAccessExpression 339249 339271 - Identifier 339249 339260 - Identifier 339261 339271 - IfStatement 339288 339436 - BinaryExpression 339306 339336 - PropertyAccessExpression 339306 339316 - Identifier 339306 339310 - Identifier 339311 339316 - AmpersandToken 339316 339318 - PropertyAccessExpression 339318 339336 - Identifier 339318 339328 - Identifier 339329 339336 - Block 339337 339436 - ReturnStatement 339339 339421 - CallExpression 339363 339420 - PropertyAccessExpression 339363 339393 - Identifier 339363 339371 - Identifier 339372 339393 - PropertyAccessExpression 339394 339419 - Identifier 339394 339404 - Identifier 339405 339419 - IfStatement 339436 339631 - BinaryExpression 339454 339483 - PropertyAccessExpression 339454 339464 - Identifier 339454 339458 - Identifier 339459 339464 - AmpersandToken 339464 339466 - PropertyAccessExpression 339466 339483 - Identifier 339466 339476 - Identifier 339477 339483 - Block 339484 339631 - ExpressionStatement 339486 339535 - BinaryExpression 339486 339534 - PropertyAccessExpression 339486 339529 - Identifier 339486 339511 - Identifier 339512 339529 - PlusEqualsToken 339529 339532 - NumericLiteral 339532 339534 - ReturnStatement 339535 339616 - CallExpression 339559 339615 - PropertyAccessExpression 339559 339589 - Identifier 339559 339567 - Identifier 339568 339589 - PropertyAccessExpression 339590 339614 - Identifier 339590 339600 - Identifier 339601 339614 - IfStatement 339631 339826 - BinaryExpression 339649 339678 - PropertyAccessExpression 339649 339659 - Identifier 339649 339653 - Identifier 339654 339659 - AmpersandToken 339659 339661 - PropertyAccessExpression 339661 339678 - Identifier 339661 339671 - Identifier 339672 339678 - Block 339679 339826 - ExpressionStatement 339681 339730 - BinaryExpression 339681 339729 - PropertyAccessExpression 339681 339724 - Identifier 339681 339706 - Identifier 339707 339724 - PlusEqualsToken 339724 339727 - NumericLiteral 339727 339729 - ReturnStatement 339730 339811 - CallExpression 339754 339810 - PropertyAccessExpression 339754 339784 - Identifier 339754 339762 - Identifier 339763 339784 - PropertyAccessExpression 339785 339809 - Identifier 339785 339795 - Identifier 339796 339809 - IfStatement 339826 340021 - BinaryExpression 339844 339873 - PropertyAccessExpression 339844 339854 - Identifier 339844 339848 - Identifier 339849 339854 - AmpersandToken 339854 339856 - PropertyAccessExpression 339856 339873 - Identifier 339856 339866 - Identifier 339867 339873 - Block 339874 340021 - ExpressionStatement 339876 339925 - BinaryExpression 339876 339924 - PropertyAccessExpression 339876 339919 - Identifier 339876 339901 - Identifier 339902 339919 - PlusEqualsToken 339919 339922 - NumericLiteral 339922 339924 - ReturnStatement 339925 340006 - CallExpression 339949 340005 - PropertyAccessExpression 339949 339979 - Identifier 339949 339957 - Identifier 339958 339979 - PropertyAccessExpression 339980 340004 - Identifier 339980 339990 - Identifier 339991 340004 - IfStatement 340021 340239 - BinaryExpression 340039 340090 - BinaryExpression 340039 340069 - PropertyAccessExpression 340039 340049 - Identifier 340039 340043 - Identifier 340044 340049 - AmpersandToken 340049 340051 - PropertyAccessExpression 340051 340069 - Identifier 340051 340061 - Identifier 340062 340069 - AmpersandAmpersandToken 340069 340072 - PrefixUnaryExpression 340072 340090 - PropertyAccessExpression 340074 340090 - Identifier 340074 340078 - Identifier 340079 340090 - Block 340091 340239 - ExpressionStatement 340093 340142 - BinaryExpression 340093 340141 - PropertyAccessExpression 340093 340136 - Identifier 340093 340118 - Identifier 340119 340136 - PlusEqualsToken 340136 340139 - NumericLiteral 340139 340141 - ReturnStatement 340142 340224 - CallExpression 340166 340223 - PropertyAccessExpression 340166 340196 - Identifier 340166 340174 - Identifier 340175 340196 - PropertyAccessExpression 340197 340222 - Identifier 340197 340207 - Identifier 340208 340222 - IfStatement 340239 342004 - BinaryExpression 340257 340288 - PropertyAccessExpression 340257 340267 - Identifier 340257 340261 - Identifier 340262 340267 - AmpersandToken 340267 340269 - PropertyAccessExpression 340269 340288 - Identifier 340269 340279 - Identifier 340280 340288 - Block 340289 342004 - IfStatement 340291 341907 - BinaryExpression 340313 340355 - PropertyAccessExpression 340313 340330 - PropertyAccessExpression 340313 340324 - Identifier 340313 340317 - Identifier 340318 340324 - Identifier 340325 340330 - AmpersandToken 340330 340332 - PropertyAccessExpression 340332 340355 - Identifier 340332 340344 - Identifier 340345 340355 - Block 340356 341907 - VariableStatement 340358 340433 - VariableDeclarationList 340358 340432 - VariableDeclaration 340385 340432 - Identifier 340385 340398 - NonNullExpression 340400 340432 - CallExpression 340400 340431 - Identifier 340400 340418 - PropertyAccessExpression 340419 340430 - Identifier 340419 340423 - Identifier 340424 340430 - VariableStatement 340433 340532 - VariableDeclarationList 340433 340531 - VariableDeclaration 340460 340531 - Identifier 340460 340471 - CallExpression 340473 340531 - Identifier 340473 340490 - Identifier 340491 340503 - Identifier 340504 340512 - PropertyAccessExpression 340513 340530 - Identifier 340513 340525 - Identifier 340526 340530 - IfStatement 340532 340674 - BinaryExpression 340558 340604 - CallExpression 340558 340595 - Identifier 340558 340581 - Identifier 340582 340594 - EqualsEqualsEqualsToken 340595 340599 - Identifier 340599 340604 - Block 340605 340674 - ReturnStatement 340607 340651 - Identifier 340639 340650 - VariableStatement 340674 340739 - VariableDeclarationList 340674 340738 - VariableDeclaration 340701 340738 - Identifier 340701 340712 - CallExpression 340714 340738 - Identifier 340714 340725 - PropertyAccessExpression 340726 340737 - Identifier 340726 340730 - Identifier 340731 340737 - IfStatement 340739 341102 - CallExpression 340765 340811 - Identifier 340765 340781 - Identifier 340782 340792 - PropertyAccessExpression 340793 340810 - Identifier 340793 340806 - Identifier 340807 340810 - Block 340812 341102 - ReturnStatement 340814 341079 - CallExpression 340846 341078 - Identifier 340846 340868 - AsExpression 340869 340947 - Identifier 340869 340909 - UnionType 340912 340947 - TypeReference 340912 340930 - Identifier 340912 340930 - TypeReference 340932 340947 - Identifier 340932 340947 - CallExpression 340948 341050 - PropertyAccessExpression 340948 341009 - Identifier 340948 340985 - Identifier 340986 341009 - Identifier 341010 341020 - Identifier 341021 341049 - IfStatement 341102 341888 - CallExpression 341128 341156 - Identifier 341128 341144 - Identifier 341145 341155 - Block 341157 341452 - ExpressionStatement 341159 341221 - BinaryExpression 341159 341220 - PropertyAccessExpression 341159 341213 - ParenthesizedExpression 341159 341204 - AsExpression 341186 341203 - Identifier 341186 341196 - AnyKeyword 341199 341203 - Identifier 341205 341213 - EqualsToken 341213 341215 - TrueKeyword 341215 341220 - ReturnStatement 341221 341429 - CallExpression 341308 341428 - PropertyAccessExpression 341308 341344 - Identifier 341308 341316 - Identifier 341317 341344 - Identifier 341345 341355 - CallExpression 341356 341427 - PropertyAccessExpression 341356 341386 - Identifier 341356 341364 - Identifier 341365 341386 - CallExpression 341387 341426 - PropertyAccessExpression 341387 341414 - Identifier 341387 341394 - Identifier 341395 341414 - Identifier 341415 341425 - IfStatement 341478 341888 - CallExpression 341483 341514 - Identifier 341483 341502 - Identifier 341503 341513 - Block 341515 341731 - ReturnStatement 341517 341708 - CallExpression 341549 341707 - PropertyAccessExpression 341549 341585 - Identifier 341549 341557 - Identifier 341558 341585 - CallExpression 341586 341634 - PropertyAccessExpression 341586 341613 - Identifier 341586 341593 - Identifier 341594 341613 - PropertyAccessExpression 341614 341633 - Identifier 341614 341624 - Identifier 341625 341633 - CallExpression 341635 341706 - PropertyAccessExpression 341635 341665 - Identifier 341635 341643 - Identifier 341644 341665 - CallExpression 341666 341705 - PropertyAccessExpression 341666 341693 - Identifier 341666 341673 - Identifier 341674 341693 - Identifier 341694 341704 - Block 341757 341888 - ReturnStatement 341759 341865 - CallExpression 341791 341864 - PropertyAccessExpression 341791 341802 - Identifier 341791 341797 - Identifier 341798 341802 - StringLiteral 341803 341863 - ReturnStatement 341907 341989 - CallExpression 341931 341988 - Identifier 341931 341948 - PropertyAccessExpression 341949 341960 - Identifier 341949 341953 - Identifier 341954 341960 - Identifier 341961 341969 - PropertyAccessExpression 341970 341987 - Identifier 341970 341982 - Identifier 341983 341987 - IfStatement 342004 342402 - BinaryExpression 342022 342058 - PropertyAccessExpression 342022 342032 - Identifier 342022 342026 - Identifier 342027 342032 - AmpersandToken 342032 342034 - PropertyAccessExpression 342034 342058 - Identifier 342034 342044 - Identifier 342045 342058 - Block 342059 342402 - ExpressionStatement 342061 342153 - BinaryExpression 342061 342152 - PropertyAccessExpression 342061 342104 - Identifier 342061 342086 - Identifier 342087 342104 - PlusEqualsToken 342104 342107 - BinaryExpression 342107 342152 - PropertyAccessExpression 342107 342148 - PropertyAccessExpression 342107 342141 - ParenthesizedExpression 342107 342135 - AsExpression 342109 342134 - Identifier 342109 342113 - TypeReference 342116 342134 - Identifier 342116 342134 - Identifier 342136 342141 - Identifier 342142 342148 - PlusToken 342148 342150 - NumericLiteral 342150 342152 - ReturnStatement 342153 342387 - CallExpression 342177 342386 - PropertyAccessExpression 342177 342207 - Identifier 342177 342185 - Identifier 342186 342207 - CallExpression 342208 342385 - Identifier 342208 342220 - CallExpression 342221 342357 - PropertyAccessExpression 342221 342248 - Identifier 342221 342228 - Identifier 342229 342248 - PropertyAccessExpression 342249 342282 - ParenthesizedExpression 342249 342276 - AsExpression 342250 342275 - Identifier 342250 342254 - TypeReference 342257 342275 - Identifier 342257 342275 - Identifier 342277 342282 - PrefixUnaryExpression 342283 342356 - PrefixUnaryExpression 342285 342356 - ParenthesizedExpression 342286 342356 - BinaryExpression 342287 342355 - PropertyAccessExpression 342287 342300 - Identifier 342287 342294 - Identifier 342295 342300 - AmpersandToken 342300 342302 - PropertyAccessExpression 342302 342355 - Identifier 342302 342319 - Identifier 342320 342355 - PropertyAccessExpression 342358 342384 - Identifier 342358 342368 - Identifier 342369 342384 - IfStatement 342402 342810 - BinaryExpression 342420 342456 - PropertyAccessExpression 342420 342430 - Identifier 342420 342424 - Identifier 342425 342430 - AmpersandToken 342430 342432 - PropertyAccessExpression 342432 342456 - Identifier 342432 342442 - Identifier 342443 342456 - Block 342457 342810 - VariableStatement 342459 342525 - VariableDeclarationList 342459 342524 - VariableDeclaration 342482 342524 - Identifier 342482 342488 - PropertyAccessExpression 342490 342524 - ParenthesizedExpression 342490 342518 - AsExpression 342492 342517 - Identifier 342492 342496 - TypeReference 342499 342517 - Identifier 342499 342517 - Identifier 342519 342524 - ExpressionStatement 342525 342592 - BinaryExpression 342525 342591 - PropertyAccessExpression 342525 342568 - Identifier 342525 342550 - Identifier 342551 342568 - PlusEqualsToken 342568 342571 - PropertyAccessExpression 342571 342591 - ParenthesizedExpression 342571 342584 - BinaryExpression 342573 342583 - StringLiteral 342573 342575 - PlusToken 342575 342577 - Identifier 342577 342583 - Identifier 342585 342591 - ReturnStatement 342592 342795 - CallExpression 342616 342794 - PropertyAccessExpression 342616 342646 - Identifier 342616 342624 - Identifier 342625 342646 - ConditionalExpression 342647 342793 - BinaryExpression 342647 342656 - Identifier 342647 342652 - LessThanToken 342652 342654 - NumericLiteral 342654 342656 - QuestionToken 342656 342658 - CallExpression 342658 342755 - PropertyAccessExpression 342658 342694 - Identifier 342658 342666 - Identifier 342667 342694 - PropertyAccessExpression 342695 342716 - Identifier 342695 342705 - Identifier 342706 342716 - CallExpression 342717 342754 - PropertyAccessExpression 342717 342746 - Identifier 342717 342725 - Identifier 342726 342746 - PrefixUnaryExpression 342747 342753 - Identifier 342748 342753 - ColonToken 342755 342757 - CallExpression 342757 342793 - PropertyAccessExpression 342757 342786 - Identifier 342757 342765 - Identifier 342766 342786 - Identifier 342787 342792 - IfStatement 342810 343117 - BinaryExpression 342828 342864 - PropertyAccessExpression 342828 342838 - Identifier 342828 342832 - Identifier 342833 342838 - AmpersandToken 342838 342840 - PropertyAccessExpression 342840 342864 - Identifier 342840 342850 - Identifier 342851 342864 - Block 342865 343117 - ExpressionStatement 342867 342983 - BinaryExpression 342867 342982 - PropertyAccessExpression 342867 342910 - Identifier 342867 342892 - Identifier 342893 342910 - PlusEqualsToken 342910 342913 - BinaryExpression 342913 342982 - ParenthesizedExpression 342913 342978 - PropertyAccessExpression 342915 342977 - CallExpression 342915 342970 - Identifier 342915 342935 - PropertyAccessExpression 342936 342969 - ParenthesizedExpression 342936 342963 - AsExpression 342937 342962 - Identifier 342937 342941 - TypeReference 342944 342962 - Identifier 342944 342962 - Identifier 342964 342969 - Identifier 342971 342977 - PlusToken 342978 342980 - NumericLiteral 342980 342982 - ReturnStatement 342983 343102 - CallExpression 343007 343101 - PropertyAccessExpression 343007 343037 - Identifier 343007 343015 - Identifier 343016 343037 - CallExpression 343038 343100 - PropertyAccessExpression 343038 343065 - Identifier 343038 343045 - Identifier 343046 343065 - PropertyAccessExpression 343066 343099 - ParenthesizedExpression 343066 343093 - AsExpression 343067 343092 - Identifier 343067 343071 - TypeReference 343074 343092 - Identifier 343074 343092 - Identifier 343094 343099 - IfStatement 343117 343434 - BinaryExpression 343135 343172 - PropertyAccessExpression 343135 343145 - Identifier 343135 343139 - Identifier 343140 343145 - AmpersandToken 343145 343147 - PropertyAccessExpression 343147 343172 - Identifier 343147 343157 - Identifier 343158 343172 - Block 343173 343434 - ExpressionStatement 343175 343267 - BinaryExpression 343175 343266 - PropertyAccessExpression 343175 343218 - Identifier 343175 343200 - Identifier 343201 343218 - PlusEqualsToken 343218 343221 - PropertyAccessExpression 343221 343266 - PropertyAccessExpression 343221 343259 - ParenthesizedExpression 343221 343245 - AsExpression 343223 343244 - Identifier 343223 343227 - TypeReference 343230 343244 - Identifier 343230 343244 - Identifier 343246 343259 - Identifier 343260 343266 - ReturnStatement 343267 343419 - CallExpression 343291 343418 - PropertyAccessExpression 343291 343321 - Identifier 343291 343299 - Identifier 343300 343321 - ConditionalExpression 343322 343417 - BinaryExpression 343322 343370 - PropertyAccessExpression 343322 343359 - ParenthesizedExpression 343322 343345 - AsExpression 343323 343344 - Identifier 343323 343327 - TypeReference 343330 343344 - Identifier 343330 343344 - Identifier 343346 343359 - EqualsEqualsEqualsToken 343359 343363 - StringLiteral 343363 343370 - QuestionToken 343370 343372 - CallExpression 343372 343393 - PropertyAccessExpression 343372 343391 - Identifier 343372 343380 - Identifier 343381 343391 - ColonToken 343393 343395 - CallExpression 343395 343417 - PropertyAccessExpression 343395 343415 - Identifier 343395 343403 - Identifier 343404 343415 - IfStatement 343434 344248 - BinaryExpression 343452 343489 - PropertyAccessExpression 343452 343462 - Identifier 343452 343456 - Identifier 343457 343462 - AmpersandToken 343462 343464 - PropertyAccessExpression 343464 343489 - Identifier 343464 343474 - Identifier 343475 343489 - Block 343490 344248 - IfStatement 343492 344044 - PrefixUnaryExpression 343514 343573 - ParenthesizedExpression 343515 343573 - BinaryExpression 343516 343572 - PropertyAccessExpression 343516 343529 - Identifier 343516 343523 - Identifier 343524 343529 - AmpersandToken 343529 343531 - PropertyAccessExpression 343531 343572 - Identifier 343531 343548 - Identifier 343549 343572 - Block 343574 344044 - IfStatement 343576 343842 - CallExpression 343602 343668 - Identifier 343602 343625 - PropertyAccessExpression 343626 343637 - Identifier 343626 343630 - Identifier 343631 343637 - PropertyAccessExpression 343638 343667 - Identifier 343638 343646 - Identifier 343647 343667 - Block 343669 343842 - ExpressionStatement 343671 343728 - BinaryExpression 343671 343727 - PropertyAccessExpression 343671 343722 - Identifier 343671 343704 - Identifier 343705 343722 - PlusEqualsToken 343722 343725 - NumericLiteral 343725 343727 - ReturnStatement 343728 343819 - CallExpression 343760 343818 - Identifier 343760 343777 - PropertyAccessExpression 343778 343789 - Identifier 343778 343782 - Identifier 343783 343789 - Identifier 343790 343798 - PropertyAccessExpression 343799 343817 - Identifier 343799 343811 - Identifier 343812 343817 - IfStatement 343842 344025 - PropertyAccessExpression 343868 343919 - PropertyAccessExpression 343868 343883 - Identifier 343868 343875 - Identifier 343876 343883 - Identifier 343884 343919 - Block 343920 344025 - ExpressionStatement 343922 344002 - CallExpression 343922 344001 - PropertyAccessExpression 343922 343999 - PropertyAccessExpression 343922 343963 - Identifier 343922 343955 - Identifier 343956 343963 - Identifier 343964 343999 - ExpressionStatement 344044 344094 - BinaryExpression 344044 344093 - PropertyAccessExpression 344044 344087 - Identifier 344044 344069 - Identifier 344070 344087 - PlusEqualsToken 344087 344090 - NumericLiteral 344090 344093 - ReturnStatement 344094 344233 - CallExpression 344118 344232 - PropertyAccessExpression 344118 344149 - Identifier 344118 344126 - Identifier 344127 344149 - PropertyAccessExpression 344150 344174 - Identifier 344150 344160 - Identifier 344161 344174 - CallExpression 344175 344231 - PropertyAccessExpression 344175 344205 - Identifier 344175 344183 - Identifier 344184 344205 - PropertyAccessExpression 344206 344230 - Identifier 344206 344216 - Identifier 344217 344230 - IfStatement 344248 344439 - BinaryExpression 344266 344293 - PropertyAccessExpression 344266 344276 - Identifier 344266 344270 - Identifier 344271 344276 - AmpersandToken 344276 344278 - PropertyAccessExpression 344278 344293 - Identifier 344278 344288 - Identifier 344289 344293 - Block 344294 344439 - ExpressionStatement 344296 344345 - BinaryExpression 344296 344344 - PropertyAccessExpression 344296 344339 - Identifier 344296 344321 - Identifier 344322 344339 - PlusEqualsToken 344339 344342 - NumericLiteral 344342 344344 - ReturnStatement 344345 344424 - CallExpression 344369 344423 - PropertyAccessExpression 344369 344399 - Identifier 344369 344377 - Identifier 344378 344399 - PropertyAccessExpression 344400 344422 - Identifier 344400 344410 - Identifier 344411 344422 - IfStatement 344439 344640 - BinaryExpression 344457 344489 - PropertyAccessExpression 344457 344467 - Identifier 344457 344461 - Identifier 344462 344467 - AmpersandToken 344467 344469 - PropertyAccessExpression 344469 344489 - Identifier 344469 344479 - Identifier 344480 344489 - Block 344490 344640 - ExpressionStatement 344492 344541 - BinaryExpression 344492 344540 - PropertyAccessExpression 344492 344535 - Identifier 344492 344517 - Identifier 344518 344535 - PlusEqualsToken 344535 344538 - NumericLiteral 344538 344540 - ReturnStatement 344541 344625 - CallExpression 344565 344624 - PropertyAccessExpression 344565 344595 - Identifier 344565 344573 - Identifier 344574 344595 - PropertyAccessExpression 344596 344623 - Identifier 344596 344606 - Identifier 344607 344623 - IfStatement 344640 344829 - BinaryExpression 344658 344685 - PropertyAccessExpression 344658 344668 - Identifier 344658 344662 - Identifier 344663 344668 - AmpersandToken 344668 344670 - PropertyAccessExpression 344670 344685 - Identifier 344670 344680 - Identifier 344681 344685 - Block 344686 344829 - ExpressionStatement 344688 344737 - BinaryExpression 344688 344736 - PropertyAccessExpression 344688 344731 - Identifier 344688 344713 - Identifier 344714 344731 - PlusEqualsToken 344731 344734 - NumericLiteral 344734 344736 - ReturnStatement 344737 344814 - CallExpression 344761 344813 - PropertyAccessExpression 344761 344791 - Identifier 344761 344769 - Identifier 344770 344791 - CallExpression 344792 344812 - PropertyAccessExpression 344792 344810 - Identifier 344792 344799 - Identifier 344800 344810 - IfStatement 344829 345022 - BinaryExpression 344847 344875 - PropertyAccessExpression 344847 344857 - Identifier 344847 344851 - Identifier 344852 344857 - AmpersandToken 344857 344859 - PropertyAccessExpression 344859 344875 - Identifier 344859 344869 - Identifier 344870 344875 - Block 344876 345022 - ExpressionStatement 344878 344927 - BinaryExpression 344878 344926 - PropertyAccessExpression 344878 344921 - Identifier 344878 344903 - Identifier 344904 344921 - PlusEqualsToken 344921 344924 - NumericLiteral 344924 344926 - ReturnStatement 344927 345007 - CallExpression 344951 345006 - PropertyAccessExpression 344951 344981 - Identifier 344951 344959 - Identifier 344960 344981 - PropertyAccessExpression 344982 345005 - Identifier 344982 344992 - Identifier 344993 345005 - IfStatement 345022 345219 - BinaryExpression 345040 345071 - PropertyAccessExpression 345040 345050 - Identifier 345040 345044 - Identifier 345045 345050 - AmpersandToken 345050 345052 - PropertyAccessExpression 345052 345071 - Identifier 345052 345062 - Identifier 345063 345071 - Block 345072 345219 - ExpressionStatement 345074 345123 - BinaryExpression 345074 345122 - PropertyAccessExpression 345074 345117 - Identifier 345074 345099 - Identifier 345100 345117 - PlusEqualsToken 345117 345120 - NumericLiteral 345120 345122 - ReturnStatement 345123 345204 - CallExpression 345147 345203 - PropertyAccessExpression 345147 345177 - Identifier 345147 345155 - Identifier 345156 345177 - PropertyAccessExpression 345178 345202 - Identifier 345178 345188 - Identifier 345189 345202 - IfStatement 345219 345420 - BinaryExpression 345237 345272 - PropertyAccessExpression 345237 345247 - Identifier 345237 345241 - Identifier 345242 345247 - AmpersandToken 345247 345249 - PropertyAccessExpression 345249 345272 - Identifier 345249 345259 - Identifier 345260 345272 - Block 345273 345420 - ExpressionStatement 345275 345324 - BinaryExpression 345275 345323 - PropertyAccessExpression 345275 345318 - Identifier 345275 345300 - Identifier 345301 345318 - PlusEqualsToken 345318 345321 - NumericLiteral 345321 345323 - ReturnStatement 345324 345405 - CallExpression 345348 345404 - PropertyAccessExpression 345348 345378 - Identifier 345348 345356 - Identifier 345357 345378 - PropertyAccessExpression 345379 345403 - Identifier 345379 345389 - Identifier 345390 345403 - IfStatement 345420 345949 - CallExpression 345438 345463 - Identifier 345438 345457 - Identifier 345458 345462 - Block 345464 345949 - IfStatement 345466 345831 - BinaryExpression 345488 345540 - PropertyAccessExpression 345488 345501 - Identifier 345488 345495 - Identifier 345496 345501 - AmpersandToken 345501 345503 - PropertyAccessExpression 345503 345540 - Identifier 345503 345520 - Identifier 345521 345540 - Block 345541 345831 - IfStatement 345543 345742 - BinaryExpression 345569 345658 - PrefixUnaryExpression 345569 345594 - PropertyAccessExpression 345570 345594 - Identifier 345570 345577 - Identifier 345578 345594 - AmpersandAmpersandToken 345594 345597 - PrefixUnaryExpression 345597 345658 - ParenthesizedExpression 345599 345658 - BinaryExpression 345600 345657 - PropertyAccessExpression 345600 345613 - Identifier 345600 345607 - Identifier 345608 345613 - AmpersandToken 345613 345615 - PropertyAccessExpression 345615 345657 - Identifier 345615 345632 - Identifier 345633 345657 - Block 345659 345742 - ExpressionStatement 345661 345719 - BinaryExpression 345661 345718 - PropertyAccessExpression 345661 345711 - Identifier 345661 345694 - Identifier 345695 345711 - EqualsToken 345711 345713 - TrueKeyword 345713 345718 - ExpressionStatement 345742 345812 - CallExpression 345742 345811 - PropertyAccessExpression 345742 345807 - PropertyAccessExpression 345742 345779 - Identifier 345742 345771 - Identifier 345772 345779 - Identifier 345780 345807 - QuestionDotToken 345807 345809 - ExpressionStatement 345831 345880 - BinaryExpression 345831 345879 - PropertyAccessExpression 345831 345874 - Identifier 345831 345856 - Identifier 345857 345874 - PlusEqualsToken 345874 345877 - NumericLiteral 345877 345879 - ReturnStatement 345880 345934 - CallExpression 345904 345933 - PropertyAccessExpression 345904 345931 - Identifier 345904 345912 - Identifier 345913 345931 - IfStatement 345949 346778 - BinaryExpression 345969 346148 - BinaryExpression 345969 346001 - PrefixUnaryExpression 345969 345981 - Identifier 345970 345981 - AmpersandAmpersandToken 345981 345984 - PropertyAccessExpression 345984 346001 - Identifier 345984 345989 - Identifier 345990 346001 - AmpersandAmpersandToken 346001 346004 - ParenthesizedExpression 346004 346148 - BinaryExpression 346006 346147 - BinaryExpression 346006 346073 - PropertyAccessExpression 346006 346019 - Identifier 346006 346013 - Identifier 346014 346019 - AmpersandToken 346019 346021 - PropertyAccessExpression 346021 346073 - Identifier 346021 346038 - Identifier 346039 346073 - BarBarToken 346073 346076 - CallExpression 346076 346147 - Identifier 346076 346099 - PropertyAccessExpression 346100 346116 - Identifier 346100 346104 - Identifier 346105 346116 - PropertyAccessExpression 346117 346146 - Identifier 346117 346125 - Identifier 346126 346146 - Block 346149 346778 - VariableStatement 346151 346244 - VariableDeclarationList 346151 346243 - VariableDeclaration 346174 346243 - Identifier 346174 346192 - CallExpression 346194 346243 - Identifier 346194 346209 - PropertyAccessExpression 346210 346233 - Identifier 346210 346214 - Identifier 346215 346233 - Identifier 346234 346242 - IfStatement 346244 346455 - BinaryExpression 346266 346365 - CallExpression 346266 346316 - Identifier 346266 346286 - PropertyAccessExpression 346287 346315 - PropertyAccessExpression 346287 346303 - Identifier 346287 346291 - Identifier 346292 346303 - Identifier 346304 346315 - AmpersandAmpersandToken 346316 346319 - PrefixUnaryExpression 346319 346365 - ParenthesizedExpression 346321 346365 - BinaryExpression 346322 346364 - PropertyAccessExpression 346322 346344 - PropertyAccessExpression 346322 346338 - Identifier 346322 346326 - Identifier 346327 346338 - Identifier 346339 346344 - AmpersandToken 346344 346346 - PropertyAccessExpression 346346 346364 - Identifier 346346 346358 - Identifier 346359 346364 - ReturnStatement 346366 346455 - CallExpression 346373 346454 - PropertyAccessExpression 346373 346405 - Identifier 346373 346381 - Identifier 346382 346405 - CallExpression 346406 346434 - PropertyAccessExpression 346406 346430 - Identifier 346406 346413 - Identifier 346414 346430 - StringLiteral 346431 346433 - Identifier 346435 346453 - IfStatement 346455 346657 - BinaryExpression 346477 346555 - BinaryExpression 346477 346508 - CallExpression 346477 346502 - Identifier 346477 346483 - Identifier 346484 346501 - EqualsEqualsEqualsToken 346502 346506 - NumericLiteral 346506 346508 - AmpersandAmpersandToken 346508 346511 - BinaryExpression 346511 346555 - PropertyAccessExpression 346511 346528 - Identifier 346511 346516 - Identifier 346517 346528 - EqualsEqualsEqualsToken 346528 346532 - PropertyAccessExpression 346532 346555 - Identifier 346532 346548 - Identifier 346549 346555 - Block 346556 346657 - ReturnStatement 346558 346638 - CallExpression 346586 346637 - PropertyAccessExpression 346586 346614 - Identifier 346586 346594 - Identifier 346595 346614 - ElementAccessExpression 346615 346636 - NonNullExpression 346615 346633 - Identifier 346615 346632 - NumericLiteral 346634 346635 - ReturnStatement 346657 346763 - CallExpression 346681 346762 - Identifier 346681 346698 - PropertyAccessExpression 346699 346715 - Identifier 346699 346703 - Identifier 346704 346715 - Identifier 346716 346724 - PropertyAccessExpression 346725 346742 - Identifier 346725 346737 - Identifier 346738 346742 - Identifier 346743 346761 - VariableStatement 346778 346835 - VariableDeclarationList 346778 346834 - VariableDeclaration 346799 346834 - Identifier 346799 346811 - CallExpression 346813 346834 - Identifier 346813 346828 - Identifier 346829 346833 - IfStatement 346835 347149 - BinaryExpression 346855 346890 - Identifier 346855 346866 - AmpersandToken 346866 346868 - PropertyAccessExpression 346868 346890 - Identifier 346868 346880 - Identifier 346881 346890 - Block 346891 347149 - ExpressionStatement 346893 346959 - CallExpression 346893 346958 - PropertyAccessExpression 346893 346923 - Identifier 346893 346916 - Identifier 346917 346923 - PrefixUnaryExpression 346924 346957 - PrefixUnaryExpression 346925 346957 - ParenthesizedExpression 346926 346957 - BinaryExpression 346927 346956 - PropertyAccessExpression 346927 346937 - Identifier 346927 346931 - Identifier 346932 346937 - AmpersandToken 346937 346939 - PropertyAccessExpression 346939 346956 - Identifier 346939 346949 - Identifier 346950 346956 - ReturnStatement 346959 347134 - ConditionalExpression 346983 347133 - PropertyAccessExpression 346983 347012 - ParenthesizedExpression 346983 347007 - AsExpression 346985 347006 - Identifier 346985 346989 - TypeReference 346992 347006 - Identifier 346992 347006 - Identifier 347008 347012 - QuestionToken 347012 347014 - CallExpression 347014 347084 - Identifier 347014 347036 - AsExpression 347037 347058 - Identifier 347037 347041 - TypeReference 347044 347058 - Identifier 347044 347058 - Identifier 347059 347083 - ColonToken 347084 347086 - CallExpression 347086 347133 - Identifier 347086 347110 - AsExpression 347111 347132 - Identifier 347111 347115 - TypeReference 347118 347132 - Identifier 347118 347132 - IfStatement 347149 349783 - BinaryExpression 347167 347249 - BinaryExpression 347167 347203 - PropertyAccessExpression 347167 347177 - Identifier 347167 347171 - Identifier 347172 347177 - AmpersandToken 347177 347179 - PropertyAccessExpression 347179 347203 - Identifier 347179 347189 - Identifier 347190 347203 - BarBarToken 347203 347206 - BinaryExpression 347206 347249 - Identifier 347206 347218 - AmpersandToken 347218 347220 - PropertyAccessExpression 347220 347249 - Identifier 347220 347232 - Identifier 347233 347249 - Block 347250 349783 - IfStatement 347252 348627 - BinaryExpression 347274 347357 - BinaryExpression 347274 347310 - PropertyAccessExpression 347274 347284 - Identifier 347274 347278 - Identifier 347279 347284 - AmpersandToken 347284 347286 - PropertyAccessExpression 347286 347310 - Identifier 347286 347296 - Identifier 347297 347310 - AmpersandAmpersandToken 347310 347313 - CallExpression 347313 347357 - Identifier 347313 347322 - PropertyAccessExpression 347323 347350 - Identifier 347323 347330 - Identifier 347331 347350 - Identifier 347351 347356 - Block 347358 348627 - ExpressionStatement 347360 347446 - BinaryExpression 347360 347445 - PropertyAccessExpression 347360 347407 - Identifier 347360 347389 - Identifier 347390 347407 - PlusEqualsToken 347407 347410 - BinaryExpression 347410 347445 - PropertyAccessExpression 347410 347441 - CallExpression 347410 347434 - Identifier 347410 347421 - PropertyAccessExpression 347422 347433 - Identifier 347422 347426 - Identifier 347427 347433 - Identifier 347435 347441 - PlusToken 347441 347443 - NumericLiteral 347443 347445 - VariableStatement 347446 347509 - VariableDeclarationList 347446 347508 - VariableDeclaration 347471 347508 - Identifier 347471 347486 - UnionType 347487 347508 - TypeReference 347487 347496 - Identifier 347487 347496 - UndefinedKeyword 347498 347508 - VariableStatement 347509 347602 - VariableDeclarationList 347509 347601 - VariableDeclaration 347536 347601 - Identifier 347536 347547 - CallExpression 347549 347601 - Identifier 347549 347578 - AsExpression 347579 347600 - Identifier 347579 347583 - TypeReference 347586 347600 - Identifier 347586 347600 - IfStatement 347602 348461 - Identifier 347628 347638 - Block 347639 348461 - VariableStatement 347641 348140 - VariableDeclarationList 347641 348139 - VariableDeclaration 348031 348139 - Identifier 348031 348050 - CallExpression 348052 348139 - Identifier 348052 348087 - AsExpression 348088 348109 - Identifier 348088 348092 - TypeReference 348095 348109 - Identifier 348095 348109 - TrueKeyword 348110 348138 - IfStatement 348140 348438 - PrefixUnaryExpression 348170 348244 - ParenthesizedExpression 348171 348244 - BinaryExpression 348172 348243 - Identifier 348172 348190 - AmpersandAmpersandToken 348190 348193 - CallExpression 348193 348243 - Identifier 348193 348211 - Identifier 348212 348222 - Identifier 348223 348242 - Block 348245 348438 - ExpressionStatement 348247 348308 - BinaryExpression 348247 348307 - PropertyAccessExpression 348247 348302 - Identifier 348247 348284 - Identifier 348285 348302 - PlusEqualsToken 348302 348305 - NumericLiteral 348305 348307 - ExpressionStatement 348308 348411 - BinaryExpression 348308 348410 - Identifier 348308 348352 - EqualsToken 348352 348354 - BinaryExpression 348354 348410 - Identifier 348354 348365 - AmpersandAmpersandToken 348365 348368 - CallExpression 348368 348410 - Identifier 348368 348389 - Identifier 348390 348400 - Identifier 348401 348409 - ReturnStatement 348461 348608 - CallExpression 348489 348607 - PropertyAccessExpression 348489 348517 - Identifier 348489 348497 - Identifier 348498 348517 - CallExpression 348518 348606 - Identifier 348518 348558 - AsExpression 348559 348580 - Identifier 348559 348563 - TypeReference 348566 348580 - Identifier 348566 348580 - Identifier 348581 348589 - Identifier 348590 348605 - IfStatement 348627 349110 - BinaryExpression 348649 348799 - BinaryExpression 348649 348738 - PropertyAccessExpression 348649 348684 - Identifier 348649 348678 - Identifier 348679 348684 - AmpersandToken 348684 348686 - PropertyAccessExpression 348686 348738 - Identifier 348686 348703 - Identifier 348704 348738 - AmpersandAmpersandToken 348738 348741 - BinaryExpression 348741 348799 - PropertyAccessExpression 348741 348773 - Identifier 348741 348767 - Identifier 348768 348773 - AmpersandToken 348773 348775 - PropertyAccessExpression 348775 348799 - Identifier 348775 348785 - Identifier 348786 348799 - Block 348818 349110 - VariableStatement 348820 348890 - VariableDeclarationList 348820 348889 - VariableDeclaration 348847 348889 - Identifier 348847 348852 - CallExpression 348854 348889 - Identifier 348854 348874 - Identifier 348875 348879 - Identifier 348880 348888 - ExpressionStatement 348890 348961 - BinaryExpression 348890 348960 - PropertyAccessExpression 348890 348937 - Identifier 348890 348919 - Identifier 348920 348937 - PlusEqualsToken 348937 348940 - PropertyAccessExpression 348940 348960 - CallExpression 348940 348953 - Identifier 348940 348947 - Identifier 348948 348952 - Identifier 348954 348960 - ReturnStatement 348961 349091 - CallExpression 348989 349090 - PropertyAccessExpression 348989 349021 - Identifier 348989 348997 - Identifier 348998 349021 - CallExpression 349022 349060 - PropertyAccessExpression 349022 349046 - Identifier 349022 349029 - Identifier 349030 349046 - CallExpression 349047 349059 - Identifier 349047 349053 - Identifier 349054 349058 - Identifier 349061 349089 - IfStatement 349110 349368 - PropertyAccessExpression 349249 349260 - Identifier 349249 349253 - Identifier 349254 349260 - Block 349261 349368 - ReturnStatement 349263 349349 - CallExpression 349291 349348 - Identifier 349291 349308 - PropertyAccessExpression 349309 349320 - Identifier 349309 349313 - Identifier 349314 349320 - Identifier 349321 349329 - PropertyAccessExpression 349330 349347 - Identifier 349330 349342 - Identifier 349343 349347 - VariableStatement 349368 349650 - VariableDeclarationList 349368 349649 - VariableDeclaration 349391 349649 - Identifier 349391 349396 - ConditionalExpression 349398 349649 - BinaryExpression 349398 349524 - BinaryExpression 349398 349492 - ParenthesizedExpression 349398 349467 - BinaryExpression 349400 349466 - BinaryExpression 349400 349432 - Identifier 349400 349404 - EqualsEqualsEqualsToken 349404 349408 - Identifier 349408 349432 - BarBarToken 349432 349435 - BinaryExpression 349435 349466 - Identifier 349435 349440 - EqualsEqualsEqualsToken 349440 349444 - Identifier 349444 349466 - AmpersandAmpersandToken 349467 349470 - Identifier 349470 349492 - AmpersandAmpersandToken 349492 349495 - PropertyAccessExpression 349495 349524 - Identifier 349495 349517 - Identifier 349518 349524 - QuestionToken 349524 349526 - BinaryExpression 349526 349643 - ParenthesizedExpression 349526 349600 - ConditionalExpression 349549 349599 - BinaryExpression 349549 349579 - Identifier 349549 349553 - EqualsEqualsEqualsToken 349553 349557 - Identifier 349557 349579 - QuestionToken 349579 349581 - StringLiteral 349581 349588 - ColonToken 349588 349590 - StringLiteral 349590 349599 - PlusToken 349600 349602 - CallExpression 349602 349643 - Identifier 349602 349613 - PropertyAccessExpression 349614 349642 - Identifier 349614 349635 - Identifier 349636 349642 - ColonToken 349643 349645 - StringLiteral 349645 349649 - ReturnStatement 349650 349768 - CallExpression 349674 349767 - PropertyAccessExpression 349674 349706 - Identifier 349674 349682 - Identifier 349683 349706 - CallExpression 349707 349737 - PropertyAccessExpression 349707 349731 - Identifier 349707 349714 - Identifier 349715 349731 - Identifier 349732 349736 - Identifier 349738 349766 - IfStatement 349783 349930 - BinaryExpression 349801 349859 - BinaryExpression 349801 349829 - PropertyAccessExpression 349801 349811 - Identifier 349801 349805 - Identifier 349806 349811 - AmpersandToken 349811 349813 - PropertyAccessExpression 349813 349829 - Identifier 349813 349823 - Identifier 349824 349829 - AmpersandAmpersandToken 349829 349832 - PropertyAccessExpression 349832 349859 - ParenthesizedExpression 349832 349852 - AsExpression 349834 349851 - Identifier 349834 349838 - TypeReference 349841 349851 - Identifier 349841 349851 - Identifier 349853 349859 - Block 349860 349930 - ExpressionStatement 349862 349915 - BinaryExpression 349862 349914 - Identifier 349862 349884 - EqualsToken 349884 349886 - NonNullExpression 349886 349914 - PropertyAccessExpression 349886 349913 - ParenthesizedExpression 349886 349906 - AsExpression 349888 349905 - Identifier 349888 349892 - TypeReference 349895 349905 - Identifier 349895 349905 - Identifier 349907 349913 - IfStatement 349930 350912 - BinaryExpression 349948 350003 - PropertyAccessExpression 349948 349958 - Identifier 349948 349952 - Identifier 349953 349958 - AmpersandToken 349958 349960 - ParenthesizedExpression 349960 350003 - BinaryExpression 349962 350002 - PropertyAccessExpression 349962 349977 - Identifier 349962 349971 - Identifier 349972 349977 - BarToken 349977 349979 - PropertyAccessExpression 349979 350002 - Identifier 349979 349989 - Identifier 349990 350002 - Block 350004 350912 - VariableStatement 350006 350148 - VariableDeclarationList 350006 350147 - VariableDeclaration 350029 350147 - Identifier 350029 350035 - ConditionalExpression 350037 350147 - BinaryExpression 350037 350066 - PropertyAccessExpression 350037 350048 - Identifier 350037 350042 - Identifier 350043 350048 - AmpersandToken 350048 350050 - PropertyAccessExpression 350050 350066 - Identifier 350050 350060 - Identifier 350061 350066 - QuestionToken 350066 350068 - CallExpression 350068 350112 - Identifier 350068 350085 - PropertyAccessExpression 350086 350111 - ParenthesizedExpression 350086 350105 - AsExpression 350087 350104 - Identifier 350087 350091 - TypeReference 350094 350104 - Identifier 350094 350104 - Identifier 350106 350111 - ColonToken 350112 350114 - PropertyAccessExpression 350114 350147 - ParenthesizedExpression 350114 350141 - AsExpression 350116 350140 - Identifier 350116 350120 - TypeReference 350123 350140 - Identifier 350123 350140 - Identifier 350142 350147 - IfStatement 350148 350280 - BinaryExpression 350170 350189 - CallExpression 350170 350183 - Identifier 350170 350176 - Identifier 350177 350182 - EqualsEqualsEqualsToken 350183 350187 - NumericLiteral 350187 350189 - Block 350190 350280 - ReturnStatement 350192 350261 - CallExpression 350220 350260 - Identifier 350220 350241 - ElementAccessExpression 350242 350250 - Identifier 350242 350247 - NumericLiteral 350248 350249 - Identifier 350251 350259 - VariableStatement 350280 350368 - VariableDeclarationList 350280 350367 - VariableDeclaration 350303 350367 - Identifier 350303 350313 - CallExpression 350315 350367 - Identifier 350315 350330 - Identifier 350331 350336 - Identifier 350337 350345 - TrueKeyword 350346 350366 - IfStatement 350368 350897 - BinaryExpression 350390 350423 - Identifier 350390 350399 - AmpersandAmpersandToken 350399 350402 - BinaryExpression 350402 350423 - PropertyAccessExpression 350402 350419 - Identifier 350402 350412 - Identifier 350413 350419 - GreaterThanToken 350419 350421 - NumericLiteral 350421 350423 - Block 350424 350592 - ReturnStatement 350426 350573 - ConditionalExpression 350454 350572 - BinaryExpression 350454 350483 - PropertyAccessExpression 350454 350465 - Identifier 350454 350459 - Identifier 350460 350465 - AmpersandToken 350465 350467 - PropertyAccessExpression 350467 350483 - Identifier 350467 350477 - Identifier 350478 350483 - QuestionToken 350483 350485 - CallExpression 350485 350524 - PropertyAccessExpression 350485 350513 - Identifier 350485 350493 - Identifier 350494 350513 - Identifier 350514 350523 - ColonToken 350524 350526 - CallExpression 350526 350572 - PropertyAccessExpression 350526 350561 - Identifier 350526 350534 - Identifier 350535 350561 - Identifier 350562 350571 - Block 350614 350897 - IfStatement 350616 350820 - BinaryExpression 350642 350736 - PrefixUnaryExpression 350642 350667 - PropertyAccessExpression 350643 350667 - Identifier 350643 350650 - Identifier 350651 350667 - AmpersandAmpersandToken 350667 350670 - PrefixUnaryExpression 350670 350736 - ParenthesizedExpression 350672 350736 - BinaryExpression 350673 350735 - PropertyAccessExpression 350673 350686 - Identifier 350673 350680 - Identifier 350681 350686 - AmpersandToken 350686 350688 - PropertyAccessExpression 350688 350735 - Identifier 350688 350705 - Identifier 350706 350735 - Block 350737 350820 - ExpressionStatement 350739 350797 - BinaryExpression 350739 350796 - PropertyAccessExpression 350739 350789 - Identifier 350739 350772 - Identifier 350773 350789 - EqualsToken 350789 350791 - TrueKeyword 350791 350796 - ReturnStatement 350820 350860 - NonNullExpression 350848 350859 - Identifier 350848 350858 - IfStatement 350912 351197 - BinaryExpression 350930 350988 - Identifier 350930 350941 - AmpersandToken 350941 350943 - ParenthesizedExpression 350943 350988 - BinaryExpression 350945 350987 - PropertyAccessExpression 350945 350966 - Identifier 350945 350956 - Identifier 350957 350966 - BarToken 350966 350968 - PropertyAccessExpression 350968 350987 - Identifier 350968 350980 - Identifier 350981 350987 - Block 350989 351197 - ExpressionStatement 350991 351057 - CallExpression 350991 351056 - PropertyAccessExpression 350991 351021 - Identifier 350991 351014 - Identifier 351015 351021 - PrefixUnaryExpression 351022 351055 - PrefixUnaryExpression 351023 351055 - ParenthesizedExpression 351024 351055 - BinaryExpression 351025 351054 - PropertyAccessExpression 351025 351035 - Identifier 351025 351029 - Identifier 351030 351035 - AmpersandToken 351035 351037 - PropertyAccessExpression 351037 351054 - Identifier 351037 351047 - Identifier 351048 351054 - ReturnStatement 351057 351182 - CallExpression 351137 351181 - Identifier 351137 351161 - AsExpression 351162 351180 - Identifier 351162 351166 - TypeReference 351169 351180 - Identifier 351169 351180 - IfStatement 351197 351552 - BinaryExpression 351215 351243 - PropertyAccessExpression 351215 351225 - Identifier 351215 351219 - Identifier 351220 351225 - AmpersandToken 351225 351227 - PropertyAccessExpression 351227 351243 - Identifier 351227 351237 - Identifier 351238 351243 - Block 351244 351552 - VariableStatement 351246 351309 - VariableDeclarationList 351246 351308 - VariableDeclaration 351269 351308 - Identifier 351269 351281 - PropertyAccessExpression 351283 351308 - ParenthesizedExpression 351283 351303 - AsExpression 351285 351302 - Identifier 351285 351289 - TypeReference 351292 351302 - Identifier 351292 351302 - Identifier 351304 351308 - ExpressionStatement 351309 351358 - BinaryExpression 351309 351357 - PropertyAccessExpression 351309 351352 - Identifier 351309 351334 - Identifier 351335 351352 - PlusEqualsToken 351352 351355 - NumericLiteral 351355 351357 - VariableStatement 351358 351441 - VariableDeclarationList 351358 351440 - VariableDeclaration 351381 351440 - Identifier 351381 351395 - CallExpression 351397 351440 - Identifier 351397 351418 - Identifier 351419 351430 - Identifier 351431 351439 - ReturnStatement 351441 351537 - CallExpression 351465 351536 - PropertyAccessExpression 351465 351496 - Identifier 351465 351473 - Identifier 351474 351496 - PropertyAccessExpression 351497 351520 - Identifier 351497 351507 - Identifier 351508 351520 - Identifier 351521 351535 - IfStatement 351552 352384 - BinaryExpression 351570 351608 - PropertyAccessExpression 351570 351580 - Identifier 351570 351574 - Identifier 351575 351580 - AmpersandToken 351580 351582 - PropertyAccessExpression 351582 351608 - Identifier 351582 351592 - Identifier 351593 351608 - Block 351609 352384 - VariableStatement 351611 351679 - VariableDeclarationList 351611 351678 - VariableDeclaration 351634 351678 - Identifier 351634 351640 - PropertyAccessExpression 351642 351678 - ParenthesizedExpression 351642 351672 - AsExpression 351644 351671 - Identifier 351644 351648 - TypeReference 351651 351671 - Identifier 351651 351671 - Identifier 351673 351678 - VariableStatement 351679 351747 - VariableDeclarationList 351679 351746 - VariableDeclaration 351702 351746 - Identifier 351702 351708 - PropertyAccessExpression 351710 351746 - ParenthesizedExpression 351710 351740 - AsExpression 351712 351739 - Identifier 351712 351716 - TypeReference 351719 351739 - Identifier 351719 351739 - Identifier 351741 351746 - VariableStatement 351747 351823 - VariableDeclarationList 351747 351822 - VariableDeclaration 351770 351822 - Identifier 351770 351783 - CallExpression 351785 351822 - PropertyAccessExpression 351785 351812 - Identifier 351785 351793 - Identifier 351794 351812 - ElementAccessExpression 351813 351821 - Identifier 351813 351818 - NumericLiteral 351819 351820 - VariableStatement 351823 352232 - VariableDeclarationList 351823 352231 - VariableDeclaration 351846 352231 - Identifier 351846 351860 - CallExpression 351862 352231 - PropertyAccessExpression 351862 351886 - Identifier 351862 351870 - Identifier 351871 351886 - CallExpression 351887 352211 - Identifier 351887 351912 - Identifier 351913 351918 - ArrowFunction 351919 352210 - Parameter 351921 351922 - Identifier 351921 351922 - Parameter 351923 351925 - Identifier 351923 351925 - EqualsGreaterThanToken 351926 351929 - CallExpression 351929 352210 - PropertyAccessExpression 351929 351992 - Identifier 351929 351962 - Identifier 351963 351992 - CallExpression 351993 352055 - Identifier 351993 352043 - Identifier 352044 352045 - Identifier 352046 352054 - CallExpression 352056 352182 - ParenthesizedExpression 352056 352168 - ConditionalExpression 352087 352167 - BinaryExpression 352087 352107 - Identifier 352087 352088 - LessThanToken 352088 352090 - BinaryExpression 352090 352107 - PropertyAccessExpression 352090 352103 - Identifier 352090 352096 - Identifier 352097 352103 - MinusToken 352103 352105 - NumericLiteral 352105 352107 - QuestionToken 352107 352109 - PropertyAccessExpression 352109 352138 - Identifier 352109 352117 - Identifier 352118 352138 - ColonToken 352138 352140 - PropertyAccessExpression 352140 352167 - Identifier 352140 352148 - Identifier 352149 352167 - ElementAccessExpression 352169 352181 - Identifier 352169 352174 - BinaryExpression 352175 352180 - Identifier 352175 352176 - PlusToken 352176 352178 - NumericLiteral 352178 352180 - ExpressionStatement 352232 352281 - BinaryExpression 352232 352280 - PropertyAccessExpression 352232 352275 - Identifier 352232 352257 - Identifier 352258 352275 - PlusEqualsToken 352275 352278 - NumericLiteral 352278 352280 - ReturnStatement 352281 352369 - CallExpression 352305 352368 - PropertyAccessExpression 352305 352339 - Identifier 352305 352313 - Identifier 352314 352339 - Identifier 352340 352352 - Identifier 352353 352367 - IfStatement 352384 352672 - BinaryExpression 352402 352438 - PropertyAccessExpression 352402 352412 - Identifier 352402 352406 - Identifier 352407 352412 - AmpersandToken 352412 352414 - PropertyAccessExpression 352414 352438 - Identifier 352414 352424 - Identifier 352425 352438 - Block 352439 352672 - VariableStatement 352441 352540 - VariableDeclarationList 352441 352539 - VariableDeclaration 352464 352539 - Identifier 352464 352473 - CallExpression 352475 352539 - Identifier 352475 352496 - PropertyAccessExpression 352497 352529 - ParenthesizedExpression 352497 352524 - AsExpression 352498 352523 - Identifier 352498 352502 - TypeReference 352505 352523 - Identifier 352505 352523 - Identifier 352525 352529 - Identifier 352530 352538 - ReturnStatement 352540 352657 - CallExpression 352564 352656 - Identifier 352564 352581 - PropertyAccessExpression 352582 352616 - ParenthesizedExpression 352582 352609 - AsExpression 352583 352608 - Identifier 352583 352587 - TypeReference 352590 352608 - Identifier 352590 352608 - Identifier 352610 352616 - Identifier 352617 352625 - PropertyAccessExpression 352626 352643 - Identifier 352626 352638 - Identifier 352639 352643 - ArrayLiteralExpression 352644 352655 - Identifier 352646 352654 - IfStatement 352672 353105 - BinaryExpression 352690 352726 - PropertyAccessExpression 352690 352700 - Identifier 352690 352694 - Identifier 352695 352700 - AmpersandToken 352700 352702 - PropertyAccessExpression 352702 352726 - Identifier 352702 352712 - Identifier 352713 352726 - Block 352727 353105 - VariableStatement 352729 352840 - VariableDeclarationList 352729 352839 - VariableDeclaration 352752 352839 - Identifier 352752 352767 - CallExpression 352769 352839 - Identifier 352769 352790 - PropertyAccessExpression 352791 352829 - ParenthesizedExpression 352791 352818 - AsExpression 352792 352817 - Identifier 352792 352796 - TypeReference 352799 352817 - Identifier 352799 352817 - Identifier 352819 352829 - Identifier 352830 352838 - VariableStatement 352840 352949 - VariableDeclarationList 352840 352948 - VariableDeclaration 352863 352948 - Identifier 352863 352877 - CallExpression 352879 352948 - Identifier 352879 352900 - PropertyAccessExpression 352901 352938 - ParenthesizedExpression 352901 352928 - AsExpression 352902 352927 - Identifier 352902 352906 - TypeReference 352909 352927 - Identifier 352909 352927 - Identifier 352929 352938 - Identifier 352939 352947 - ExpressionStatement 352949 352998 - BinaryExpression 352949 352997 - PropertyAccessExpression 352949 352992 - Identifier 352949 352974 - Identifier 352975 352992 - PlusEqualsToken 352992 352995 - NumericLiteral 352995 352997 - ReturnStatement 352998 353090 - CallExpression 353022 353089 - PropertyAccessExpression 353022 353058 - Identifier 353022 353030 - Identifier 353031 353058 - Identifier 353059 353073 - Identifier 353074 353088 - IfStatement 353105 353288 - BinaryExpression 353123 353157 - PropertyAccessExpression 353123 353133 - Identifier 353123 353127 - Identifier 353128 353133 - AmpersandToken 353133 353135 - PropertyAccessExpression 353135 353157 - Identifier 353135 353145 - Identifier 353146 353157 - Block 353158 353288 - ReturnStatement 353160 353273 - CallExpression 353184 353272 - Identifier 353184 353206 - Identifier 353207 353211 - ArrowFunction 353212 353271 - Parameter 353212 353217 - Identifier 353212 353217 - EqualsGreaterThanToken 353217 353220 - CallExpression 353220 353271 - Identifier 353220 353246 - AsExpression 353247 353270 - Identifier 353247 353251 - TypeReference 353254 353270 - Identifier 353254 353270 - IfStatement 353288 353714 - BinaryExpression 353306 353341 - PropertyAccessExpression 353306 353316 - Identifier 353306 353310 - Identifier 353311 353316 - AmpersandToken 353316 353318 - PropertyAccessExpression 353318 353341 - Identifier 353318 353328 - Identifier 353329 353341 - Block 353342 353714 - VariableStatement 353344 353446 - VariableDeclarationList 353344 353445 - VariableDeclaration 353367 353445 - Identifier 353367 353376 - CallExpression 353378 353445 - Identifier 353378 353399 - PropertyAccessExpression 353400 353435 - ParenthesizedExpression 353400 353426 - AsExpression 353401 353425 - Identifier 353401 353405 - TypeReference 353408 353425 - Identifier 353408 353425 - Identifier 353427 353435 - Identifier 353436 353444 - VariableStatement 353446 353576 - VariableDeclarationList 353446 353575 - VariableDeclaration 353469 353575 - Identifier 353469 353483 - BinaryExpression 353485 353575 - CallExpression 353485 353505 - Identifier 353485 353499 - Identifier 353500 353504 - AmpersandAmpersandToken 353505 353508 - CallExpression 353508 353575 - Identifier 353508 353528 - AsExpression 353529 353550 - StringLiteral 353529 353538 - TypeReference 353541 353550 - Identifier 353541 353550 - FalseKeyword 353551 353574 - ReturnStatement 353576 353699 - ConditionalExpression 353600 353698 - Identifier 353600 353614 - QuestionToken 353614 353616 - CallExpression 353616 353687 - Identifier 353616 353633 - Identifier 353634 353647 - Identifier 353648 353656 - PropertyAccessExpression 353657 353674 - Identifier 353657 353669 - Identifier 353670 353674 - ArrayLiteralExpression 353675 353686 - Identifier 353677 353685 - ColonToken 353687 353689 - Identifier 353689 353698 - ReturnStatement 353714 353774 - CallExpression 353736 353773 - PropertyAccessExpression 353736 353747 - Identifier 353736 353742 - Identifier 353743 353747 - StringLiteral 353748 353772 - FunctionDeclaration 353774 358007 - Identifier 353798 353824 - Parameter 353825 353846 - Identifier 353825 353829 - TypeReference 353830 353846 - Identifier 353830 353846 - Block 353847 358007 - VariableStatement 353849 353935 - VariableDeclarationList 353849 353934 - VariableDeclaration 353872 353934 - Identifier 353872 353886 - CallExpression 353888 353934 - Identifier 353888 353909 - PropertyAccessExpression 353910 353924 - Identifier 353910 353914 - Identifier 353915 353924 - Identifier 353925 353933 - ExpressionStatement 353935 353985 - BinaryExpression 353935 353984 - PropertyAccessExpression 353935 353978 - Identifier 353935 353960 - Identifier 353961 353978 - PlusEqualsToken 353978 353981 - NumericLiteral 353981 353984 - IfStatement 353985 357328 - BinaryExpression 354007 354155 - BinaryExpression 354007 354102 - BinaryExpression 354007 354074 - PropertyAccessExpression 354007 354020 - Identifier 354007 354014 - Identifier 354015 354020 - AmpersandToken 354020 354022 - PropertyAccessExpression 354022 354074 - Identifier 354022 354039 - Identifier 354040 354074 - AmpersandAmpersandToken 354074 354077 - PropertyAccessExpression 354077 354102 - PropertyAccessExpression 354077 354087 - Identifier 354077 354082 - Identifier 354083 354087 - Identifier 354088 354102 - AmpersandAmpersandToken 354102 354105 - PrefixUnaryExpression 354105 354155 - ParenthesizedExpression 354107 354155 - BinaryExpression 354108 354154 - PropertyAccessExpression 354108 354128 - PropertyAccessExpression 354108 354122 - Identifier 354108 354112 - Identifier 354113 354122 - Identifier 354123 354128 - AmpersandToken 354128 354130 - PropertyAccessExpression 354130 354154 - Identifier 354130 354140 - Identifier 354141 354154 - Block 354156 357328 - VariableStatement 354158 354275 - VariableDeclarationList 354158 354274 - VariableDeclaration 354185 354274 - Identifier 354185 354194 - CallExpression 354196 354274 - Identifier 354196 354216 - CallExpression 354217 354273 - Identifier 354217 354229 - PropertyAccessExpression 354230 354255 - Identifier 354230 354241 - Identifier 354242 354255 - AsExpression 354256 354272 - StringLiteral 354256 354260 - TypeReference 354263 354272 - Identifier 354263 354272 - VariableStatement 354275 354349 - VariableDeclarationList 354275 354348 - VariableDeclaration 354302 354348 - Identifier 354302 354307 - CallExpression 354309 354348 - Identifier 354309 354329 - Identifier 354330 354338 - Identifier 354339 354347 - VariableStatement 354349 354433 - VariableDeclarationList 354349 354432 - VariableDeclaration 354376 354432 - Identifier 354376 354392 - CallExpression 354394 354432 - PropertyAccessExpression 354394 354426 - Identifier 354394 354402 - Identifier 354403 354426 - Identifier 354427 354431 - ExpressionStatement 354433 354487 - BinaryExpression 354433 354486 - PropertyAccessExpression 354433 354480 - Identifier 354433 354462 - Identifier 354463 354480 - PlusEqualsToken 354480 354483 - NumericLiteral 354483 354486 - VariableStatement 354487 354655 - VariableDeclarationList 354487 354654 - VariableDeclaration 354579 354654 - Identifier 354579 354589 - CallExpression 354591 354654 - Identifier 354591 354610 - PropertyAccessExpression 354611 354630 - PropertyAccessExpression 354611 354620 - Identifier 354611 354615 - Identifier 354616 354620 - Identifier 354621 354630 - Identifier 354631 354640 - PropertyAccessExpression 354641 354653 - Identifier 354641 354646 - Identifier 354647 354653 - VariableStatement 354655 354737 - VariableDeclarationList 354655 354736 - VariableDeclaration 354682 354736 - Identifier 354682 354706 - PropertyAccessExpression 354708 354736 - Identifier 354708 354716 - Identifier 354717 354736 - ExpressionStatement 354737 354819 - BinaryExpression 354737 354818 - PropertyAccessExpression 354737 354786 - Identifier 354737 354766 - Identifier 354767 354786 - EqualsToken 354786 354788 - PropertyAccessExpression 354788 354818 - PropertyAccessExpression 354788 354798 - Identifier 354788 354793 - Identifier 354794 354798 - Identifier 354799 354818 - VariableStatement 354819 354946 - VariableDeclarationList 354819 354945 - VariableDeclaration 354846 354945 - Identifier 354846 354862 - CallExpression 354864 354945 - Identifier 354864 354885 - CallExpression 354886 354935 - Identifier 354886 354901 - PropertyAccessExpression 354902 354923 - PropertyAccessExpression 354902 354911 - Identifier 354902 354906 - Identifier 354907 354911 - Identifier 354912 354923 - Identifier 354924 354934 - Identifier 354936 354944 - ExpressionStatement 354946 355022 - BinaryExpression 354946 355021 - PropertyAccessExpression 354946 354995 - Identifier 354946 354975 - Identifier 354976 354995 - EqualsToken 354995 354997 - Identifier 354997 355021 - VariableStatement 355022 355183 - VariableDeclarationList 355022 355182 - VariableDeclaration 355049 355182 - Identifier 355049 355062 - CallExpression 355064 355182 - Identifier 355064 355099 - CallExpression 355100 355181 - Identifier 355100 355115 - CallExpression 355116 355169 - Identifier 355116 355135 - Identifier 355136 355143 - PropertyAccessExpression 355144 355168 - PropertyAccessExpression 355144 355159 - PropertyAccessExpression 355144 355154 - Identifier 355144 355149 - Identifier 355150 355154 - Identifier 355155 355159 - Identifier 355160 355168 - Identifier 355170 355180 - VariableStatement 355183 355346 - VariableDeclarationList 355183 355345 - VariableDeclaration 355210 355345 - Identifier 355210 355224 - CallExpression 355226 355345 - Identifier 355226 355261 - CallExpression 355262 355344 - Identifier 355262 355277 - CallExpression 355278 355332 - Identifier 355278 355297 - Identifier 355298 355305 - PropertyAccessExpression 355306 355331 - PropertyAccessExpression 355306 355321 - PropertyAccessExpression 355306 355316 - Identifier 355306 355311 - Identifier 355312 355316 - Identifier 355317 355321 - Identifier 355322 355331 - Identifier 355333 355343 - ReturnStatement 355346 357309 - CallExpression 356488 357308 - PropertyAccessExpression 356488 356522 - Identifier 356488 356496 - Identifier 356497 356522 - Identifier 356523 356562 - CallExpression 356563 356740 - PropertyAccessExpression 356563 356616 - Identifier 356563 356596 - Identifier 356597 356616 - CallExpression 356617 356739 - PropertyAccessExpression 356617 356655 - Identifier 356617 356624 - Identifier 356625 356655 - Identifier 356656 356679 - AsExpression 356680 356738 - CallExpression 356680 356724 - PropertyAccessExpression 356680 356698 - Identifier 356680 356688 - Identifier 356689 356698 - PropertyAccessExpression 356699 356723 - Identifier 356699 356714 - Identifier 356715 356723 - TypeReference 356727 356738 - Identifier 356727 356738 - CallExpression 356741 357203 - PropertyAccessExpression 356741 356800 - Identifier 356741 356774 - Identifier 356775 356800 - CallExpression 356801 356887 - PropertyAccessExpression 356801 356862 - Identifier 356801 356838 - Identifier 356839 356862 - CallExpression 356863 356886 - PropertyAccessExpression 356863 356880 - Identifier 356863 356870 - Identifier 356871 356880 - Identifier 356881 356885 - CallExpression 356888 356963 - Identifier 356888 356938 - PropertyAccessExpression 356939 356953 - Identifier 356939 356943 - Identifier 356944 356953 - Identifier 356954 356962 - CallExpression 356964 357090 - PropertyAccessExpression 356964 357027 - Identifier 356964 357001 - Identifier 357002 357027 - Identifier 357028 357043 - Identifier 357044 357060 - Identifier 357061 357074 - Identifier 357075 357089 - CallExpression 357091 357175 - PropertyAccessExpression 357091 357150 - Identifier 357091 357128 - Identifier 357129 357150 - PropertyAccessExpression 357151 357174 - Identifier 357151 357161 - Identifier 357162 357174 - CallExpression 357204 357284 - PropertyAccessExpression 357204 357259 - Identifier 357204 357237 - Identifier 357238 357259 - PropertyAccessExpression 357260 357283 - Identifier 357260 357270 - Identifier 357271 357283 - VariableStatement 357328 357406 - VariableDeclarationList 357328 357405 - VariableDeclaration 357351 357405 - Identifier 357351 357375 - PropertyAccessExpression 357377 357405 - Identifier 357377 357385 - Identifier 357386 357405 - ExpressionStatement 357406 357484 - BinaryExpression 357406 357483 - PropertyAccessExpression 357406 357451 - Identifier 357406 357431 - Identifier 357432 357451 - EqualsToken 357451 357453 - PropertyAccessExpression 357453 357483 - PropertyAccessExpression 357453 357463 - Identifier 357453 357458 - Identifier 357459 357463 - Identifier 357464 357483 - VariableStatement 357484 357574 - VariableDeclarationList 357484 357573 - VariableDeclaration 357507 357573 - Identifier 357507 357523 - CallExpression 357525 357573 - Identifier 357525 357546 - PropertyAccessExpression 357547 357563 - Identifier 357547 357551 - Identifier 357552 357563 - Identifier 357564 357572 - ExpressionStatement 357574 357646 - BinaryExpression 357574 357645 - PropertyAccessExpression 357574 357619 - Identifier 357574 357599 - Identifier 357600 357619 - EqualsToken 357619 357621 - Identifier 357621 357645 - VariableStatement 357646 357758 - VariableDeclarationList 357646 357757 - VariableDeclaration 357669 357757 - Identifier 357669 357682 - CallExpression 357684 357757 - Identifier 357684 357719 - CallExpression 357720 357756 - Identifier 357720 357750 - Identifier 357751 357755 - VariableStatement 357758 357872 - VariableDeclarationList 357758 357871 - VariableDeclaration 357781 357871 - Identifier 357781 357795 - CallExpression 357797 357871 - Identifier 357797 357832 - CallExpression 357833 357870 - Identifier 357833 357864 - Identifier 357865 357869 - ReturnStatement 357872 357992 - CallExpression 357896 357991 - PropertyAccessExpression 357896 357930 - Identifier 357896 357904 - Identifier 357905 357930 - Identifier 357931 357944 - Identifier 357945 357961 - Identifier 357962 357975 - Identifier 357976 357990 - FunctionDeclaration 358007 358761 - Identifier 358031 358066 - Parameter 358067 358077 - Identifier 358067 358071 - TypeReference 358072 358077 - Identifier 358072 358077 - Block 358078 358761 - IfStatement 358080 358685 - BinaryExpression 358102 358130 - PropertyAccessExpression 358102 358112 - Identifier 358102 358106 - Identifier 358107 358112 - AmpersandToken 358112 358114 - PropertyAccessExpression 358114 358130 - Identifier 358114 358124 - Identifier 358125 358130 - Block 358131 358685 - IfStatement 358133 358564 - CallExpression 358159 358201 - PropertyAccessExpression 358159 358184 - PropertyAccessExpression 358159 358179 - Identifier 358159 358166 - Identifier 358167 358179 - QuestionDotToken 358179 358181 - Identifier 358181 358184 - CallExpression 358185 358200 - Identifier 358185 358194 - Identifier 358195 358199 - Block 358202 358564 - IfStatement 358204 358464 - PrefixUnaryExpression 358234 358294 - ParenthesizedExpression 358235 358294 - BinaryExpression 358236 358293 - PropertyAccessExpression 358236 358249 - Identifier 358236 358243 - Identifier 358244 358249 - AmpersandToken 358249 358251 - PropertyAccessExpression 358251 358293 - Identifier 358251 358268 - Identifier 358269 358293 - Block 358295 358464 - ExpressionStatement 358297 358359 - BinaryExpression 358297 358358 - PropertyAccessExpression 358297 358351 - Identifier 358297 358334 - Identifier 358335 358351 - EqualsToken 358351 358353 - TrueKeyword 358353 358358 - ExpressionStatement 358359 358437 - CallExpression 358359 358436 - PropertyAccessExpression 358359 358432 - PropertyAccessExpression 358359 358404 - Identifier 358359 358396 - Identifier 358397 358404 - QuestionDotToken 358404 358406 - Identifier 358406 358432 - QuestionDotToken 358432 358434 - ReturnStatement 358464 358541 - CallExpression 358496 358540 - Identifier 358496 358531 - Identifier 358532 358539 - ReturnStatement 358564 358666 - CallExpression 358592 358665 - Identifier 358592 358614 - Identifier 358615 358619 - ArrowFunction 358620 358664 - Parameter 358620 358625 - Identifier 358620 358625 - EqualsGreaterThanToken 358625 358628 - CallExpression 358628 358664 - Identifier 358628 358649 - Identifier 358650 358654 - Identifier 358655 358663 - ReturnStatement 358685 358746 - CallExpression 358709 358745 - Identifier 358709 358730 - Identifier 358731 358735 - Identifier 358736 358744 - FunctionDeclaration 358761 358904 - Identifier 358785 358809 - Parameter 358810 358826 - Identifier 358810 358814 - TypeReference 358815 358826 - Identifier 358815 358826 - Block 358827 358904 - ReturnStatement 358829 358889 - PrefixUnaryExpression 358853 358888 - PrefixUnaryExpression 358855 358888 - CallExpression 358856 358888 - Identifier 358856 358882 - Identifier 358883 358887 - FunctionDeclaration 358904 359145 - Identifier 358928 358983 - Parameter 358984 359000 - Identifier 358984 358988 - TypeReference 358989 359000 - Identifier 358989 359000 - Block 359001 359145 - ReturnStatement 359003 359130 - BinaryExpression 359027 359129 - BinaryExpression 359027 359095 - PrefixUnaryExpression 359027 359041 - PrefixUnaryExpression 359029 359041 - PropertyAccessExpression 359030 359041 - Identifier 359030 359034 - Identifier 359035 359041 - AmpersandAmpersandToken 359041 359044 - CallExpression 359044 359095 - Identifier 359044 359068 - AsExpression 359069 359094 - PropertyAccessExpression 359069 359080 - Identifier 359069 359073 - Identifier 359074 359080 - TypeReference 359083 359094 - Identifier 359083 359094 - AmpersandAmpersandToken 359095 359098 - PrefixUnaryExpression 359098 359129 - CallExpression 359100 359129 - Identifier 359100 359123 - Identifier 359124 359128 - FunctionDeclaration 359145 365695 - Identifier 359169 359198 - Parameter 359199 359215 - Identifier 359199 359203 - TypeReference 359204 359215 - Identifier 359204 359215 - Block 359216 365695 - ExpressionStatement 359218 359284 - CallExpression 359218 359283 - PropertyAccessExpression 359218 359248 - Identifier 359218 359241 - Identifier 359242 359248 - PrefixUnaryExpression 359249 359282 - PrefixUnaryExpression 359250 359282 - ParenthesizedExpression 359251 359282 - BinaryExpression 359252 359281 - PropertyAccessExpression 359252 359262 - Identifier 359252 359256 - Identifier 359257 359262 - AmpersandToken 359262 359264 - PropertyAccessExpression 359264 359281 - Identifier 359264 359274 - Identifier 359275 359281 - VariableStatement 359284 359470 - VariableDeclarationList 359284 359469 - VariableDeclaration 359307 359469 - Identifier 359307 359321 - ConditionalExpression 359323 359469 - PropertyAccessExpression 359323 359354 - PropertyAccessExpression 359323 359340 - Identifier 359323 359328 - Identifier 359329 359340 - Identifier 359341 359354 - QuestionToken 359354 359356 - AsExpression 359356 359457 - CallExpression 359356 359413 - PropertyAccessExpression 359356 359376 - Identifier 359356 359364 - Identifier 359365 359376 - PropertyAccessExpression 359377 359412 - PropertyAccessExpression 359377 359407 - PropertyAccessExpression 359377 359393 - Identifier 359377 359381 - Identifier 359382 359393 - Identifier 359394 359407 - Identifier 359408 359412 - UnionType 359416 359457 - TypeReference 359416 359432 - Identifier 359416 359432 - TypeReference 359434 359444 - Identifier 359434 359444 - TypeReference 359446 359457 - Identifier 359446 359457 - ColonToken 359457 359459 - Identifier 359459 359469 - VariableStatement 359470 359654 - VariableDeclarationList 359470 359653 - VariableDeclaration 359493 359653 - Identifier 359493 359507 - ConditionalExpression 359509 359653 - PropertyAccessExpression 359509 359540 - PropertyAccessExpression 359509 359526 - Identifier 359509 359514 - Identifier 359515 359526 - Identifier 359527 359540 - QuestionToken 359540 359542 - AsExpression 359542 359641 - CallExpression 359542 359599 - PropertyAccessExpression 359542 359562 - Identifier 359542 359550 - Identifier 359551 359562 - PropertyAccessExpression 359563 359598 - PropertyAccessExpression 359563 359593 - PropertyAccessExpression 359563 359579 - Identifier 359563 359567 - Identifier 359568 359579 - Identifier 359580 359593 - Identifier 359594 359598 - UnionType 359602 359641 - TypeReference 359602 359616 - Identifier 359602 359616 - TypeReference 359618 359628 - Identifier 359618 359628 - TypeReference 359630 359641 - Identifier 359630 359641 - ColonToken 359641 359643 - Identifier 359643 359653 - VariableStatement 359654 359716 - VariableDeclarationList 359654 359715 - VariableDeclaration 359675 359715 - Identifier 359675 359705 - TypeReference 359706 359715 - Identifier 359706 359715 - VariableStatement 359716 359785 - VariableDeclarationList 359716 359784 - VariableDeclaration 359737 359784 - Identifier 359737 359753 - UnionType 359754 359784 - TypeReference 359754 359772 - Identifier 359754 359772 - UndefinedKeyword 359774 359784 - VariableStatement 359785 360501 - VariableDeclarationList 359785 360500 - VariableDeclaration 360041 360500 - Identifier 360041 360072 - BinaryExpression 360074 360500 - BinaryExpression 360074 360306 - BinaryExpression 360074 360214 - PrefixUnaryExpression 360074 360124 - CallExpression 360076 360124 - Identifier 360076 360118 - Identifier 360119 360123 - AmpersandAmpersandToken 360124 360148 - PrefixUnaryExpression 360148 360214 - ParenthesizedExpression 360150 360214 - BinaryExpression 360151 360213 - PropertyAccessExpression 360151 360193 - CallExpression 360151 360187 - Identifier 360151 360181 - Identifier 360182 360186 - Identifier 360188 360193 - AmpersandToken 360193 360195 - PropertyAccessExpression 360195 360213 - Identifier 360195 360205 - Identifier 360206 360213 - AmpersandAmpersandToken 360214 360238 - BinaryExpression 360238 360306 - PropertyAccessExpression 360238 360252 - Identifier 360238 360246 - Identifier 360247 360252 - AmpersandToken 360252 360254 - PropertyAccessExpression 360254 360306 - Identifier 360254 360271 - Identifier 360272 360306 - AmpersandAmpersandToken 360306 360330 - PrefixUnaryExpression 360330 360500 - ParenthesizedExpression 360332 360500 - BinaryExpression 360333 360499 - BinaryExpression 360333 360402 - PropertyAccessExpression 360333 360376 - CallExpression 360333 360370 - Identifier 360333 360364 - Identifier 360365 360369 - Identifier 360371 360376 - AmpersandToken 360376 360378 - PropertyAccessExpression 360378 360402 - Identifier 360378 360388 - Identifier 360389 360402 - AmpersandAmpersandToken 360402 360405 - BinaryExpression 360405 360499 - NonNullExpression 360405 360481 - PropertyAccessExpression 360405 360480 - CallExpression 360405 360473 - Identifier 360405 360434 - CallExpression 360435 360472 - Identifier 360435 360466 - Identifier 360467 360471 - QuestionDotToken 360473 360475 - Identifier 360475 360480 - AmpersandToken 360481 360483 - PropertyAccessExpression 360483 360499 - Identifier 360483 360493 - Identifier 360494 360499 - IfStatement 360501 362261 - CallExpression 360523 360571 - Identifier 360523 360565 - Identifier 360566 360570 - Block 360572 361487 - IfStatement 360574 361270 - BinaryExpression 360832 360963 - CallExpression 360832 360892 - Identifier 360832 360886 - Identifier 360887 360891 - AmpersandAmpersandToken 360892 360895 - BinaryExpression 360895 360963 - PropertyAccessExpression 360895 360909 - Identifier 360895 360903 - Identifier 360904 360909 - AmpersandToken 360909 360911 - PropertyAccessExpression 360911 360963 - Identifier 360911 360928 - Identifier 360929 360963 - Block 360964 361270 - VariableStatement 360966 361087 - VariableDeclarationList 360966 361086 - VariableDeclaration 360997 361086 - Identifier 360997 361006 - CallExpression 361008 361086 - Identifier 361008 361028 - CallExpression 361029 361085 - Identifier 361029 361041 - PropertyAccessExpression 361042 361067 - Identifier 361042 361053 - Identifier 361054 361067 - AsExpression 361068 361084 - StringLiteral 361068 361072 - TypeReference 361075 361084 - Identifier 361075 361084 - VariableStatement 361087 361165 - VariableDeclarationList 361087 361164 - VariableDeclaration 361118 361164 - Identifier 361118 361123 - CallExpression 361125 361164 - Identifier 361125 361145 - Identifier 361146 361154 - Identifier 361155 361163 - ExpressionStatement 361165 361247 - BinaryExpression 361165 361246 - Identifier 361165 361206 - EqualsToken 361206 361208 - CallExpression 361208 361246 - PropertyAccessExpression 361208 361240 - Identifier 361208 361216 - Identifier 361217 361240 - Identifier 361241 361245 - ExpressionStatement 361270 361468 - BinaryExpression 361270 361467 - Identifier 361270 361321 - EqualsToken 361321 361323 - CallExpression 361323 361467 - PropertyAccessExpression 361323 361354 - Identifier 361323 361331 - Identifier 361332 361354 - PropertyAccessExpression 361355 361378 - Identifier 361355 361365 - Identifier 361366 361378 - BinaryExpression 361379 361466 - Identifier 361379 361395 - BarBarToken 361395 361398 - CallExpression 361398 361466 - Identifier 361398 361419 - CallExpression 361420 361456 - Identifier 361420 361450 - Identifier 361451 361455 - Identifier 361457 361465 - IfStatement 361509 362261 - Identifier 361514 361544 - Block 361545 362095 - VariableStatement 361547 361718 - VariableDeclarationList 361547 361717 - VariableDeclaration 361628 361717 - Identifier 361628 361637 - CallExpression 361639 361717 - Identifier 361639 361659 - CallExpression 361660 361716 - Identifier 361660 361672 - PropertyAccessExpression 361673 361698 - Identifier 361673 361684 - Identifier 361685 361698 - AsExpression 361699 361715 - StringLiteral 361699 361703 - TypeReference 361706 361715 - Identifier 361706 361715 - VariableStatement 361718 361792 - VariableDeclarationList 361718 361791 - VariableDeclaration 361745 361791 - Identifier 361745 361750 - CallExpression 361752 361791 - Identifier 361752 361772 - Identifier 361773 361781 - Identifier 361782 361790 - ExpressionStatement 361792 361870 - BinaryExpression 361792 361869 - Identifier 361792 361829 - EqualsToken 361829 361831 - CallExpression 361831 361869 - PropertyAccessExpression 361831 361863 - Identifier 361831 361839 - Identifier 361840 361863 - Identifier 361864 361868 - ExpressionStatement 361870 362076 - BinaryExpression 361870 362075 - Identifier 361870 362057 - EqualsToken 362057 362059 - Identifier 362059 362075 - Block 362117 362261 - ExpressionStatement 362119 362242 - BinaryExpression 362119 362241 - Identifier 362119 362170 - EqualsToken 362170 362172 - CallExpression 362172 362241 - Identifier 362172 362193 - CallExpression 362194 362231 - Identifier 362194 362225 - Identifier 362226 362230 - Identifier 362232 362240 - VariableStatement 362261 362424 - VariableDeclarationList 362261 362423 - VariableDeclaration 362284 362423 - Identifier 362284 362302 - CallExpression 362304 362423 - Identifier 362304 362345 - CallExpression 362346 362382 - Identifier 362346 362376 - Identifier 362377 362381 - Identifier 362383 362391 - Identifier 362392 362422 - VariableStatement 362424 362567 - VariableDeclarationList 362424 362566 - VariableDeclaration 362447 362566 - Identifier 362447 362460 - ConditionalExpression 362462 362566 - PropertyAccessExpression 362462 362488 - PropertyAccessExpression 362462 362479 - Identifier 362462 362467 - Identifier 362468 362479 - Identifier 362480 362488 - QuestionToken 362488 362490 - CallExpression 362490 362554 - Identifier 362490 362511 - NonNullExpression 362512 362544 - CallExpression 362512 362543 - Identifier 362512 362537 - Identifier 362538 362542 - Identifier 362545 362553 - ColonToken 362554 362556 - Identifier 362556 362566 - VariableStatement 362567 362768 - VariableDeclarationList 362567 362767 - VariableDeclaration 362590 362767 - Identifier 362590 362607 - CallExpression 362609 362767 - Identifier 362609 362630 - CallExpression 362631 362757 - Identifier 362631 362648 - CallExpression 362649 362684 - Identifier 362649 362678 - Identifier 362679 362683 - PrefixUnaryExpression 362685 362756 - PrefixUnaryExpression 362687 362756 - ParenthesizedExpression 362688 362756 - BinaryExpression 362689 362755 - CallExpression 362689 362717 - Identifier 362689 362711 - Identifier 362712 362716 - AmpersandToken 362717 362719 - PropertyAccessExpression 362719 362755 - Identifier 362719 362739 - Identifier 362740 362755 - Identifier 362758 362766 - VariableStatement 362768 362942 - VariableDeclarationList 362768 362941 - VariableDeclaration 362791 362941 - Identifier 362791 362806 - CallExpression 362808 362941 - PropertyAccessExpression 362808 362837 - Identifier 362808 362816 - Identifier 362817 362837 - Identifier 362838 362851 - Identifier 362852 362870 - Identifier 362871 362884 - Identifier 362885 362899 - Identifier 362900 362917 - Identifier 362918 362940 - ExpressionStatement 362942 362992 - BinaryExpression 362942 362991 - PropertyAccessExpression 362942 362985 - Identifier 362942 362967 - Identifier 362968 362985 - PlusEqualsToken 362985 362988 - NumericLiteral 362988 362991 - VariableStatement 362992 363076 - VariableDeclarationList 362992 363075 - VariableDeclaration 363015 363075 - Identifier 363015 363022 - CallExpression 363024 363075 - Identifier 363024 363037 - Identifier 363038 363052 - PropertyAccessExpression 363053 363074 - Identifier 363053 363063 - Identifier 363064 363074 - IfStatement 363076 365648 - BinaryExpression 363098 363229 - CallExpression 363098 363158 - Identifier 363098 363152 - Identifier 363153 363157 - AmpersandAmpersandToken 363158 363161 - BinaryExpression 363161 363229 - PropertyAccessExpression 363161 363175 - Identifier 363161 363169 - Identifier 363170 363175 - AmpersandToken 363175 363177 - PropertyAccessExpression 363177 363229 - Identifier 363177 363194 - Identifier 363195 363229 - Block 363230 364358 - VariableStatement 363232 363755 - VariableDeclarationList 363232 363754 - VariableDeclaration 363541 363754 - Identifier 363541 363560 - CallExpression 363562 363754 - Identifier 363562 363578 - BinaryExpression 363579 363740 - CallExpression 363579 363725 - Identifier 363579 363607 - AsExpression 363608 363724 - CallExpression 363608 363707 - Identifier 363608 363627 - Identifier 363628 363635 - PropertyAccessExpression 363636 363706 - ParenthesizedExpression 363636 363701 - AsExpression 363638 363700 - NonNullExpression 363638 363680 - PropertyAccessExpression 363638 363679 - PropertyAccessExpression 363638 363668 - PropertyAccessExpression 363638 363654 - Identifier 363638 363642 - Identifier 363643 363654 - Identifier 363655 363668 - Identifier 363669 363679 - TypeReference 363683 363700 - Identifier 363683 363700 - Identifier 363702 363706 - TypeReference 363710 363724 - Identifier 363710 363724 - BarBarToken 363725 363728 - Identifier 363728 363740 - PropertyAccessExpression 363741 363753 - Identifier 363741 363746 - Identifier 363747 363753 - ReturnStatement 363755 364339 - CallExpression 363783 364338 - PropertyAccessExpression 363783 363817 - Identifier 363783 363791 - Identifier 363792 363817 - CallExpression 363818 363911 - Identifier 363818 363864 - CallExpression 363865 363901 - Identifier 363865 363895 - Identifier 363896 363900 - Identifier 363902 363910 - CallExpression 363912 364200 - PropertyAccessExpression 363912 363965 - Identifier 363912 363945 - Identifier 363946 363965 - CallExpression 363966 364199 - PropertyAccessExpression 363966 364004 - Identifier 363966 363973 - Identifier 363974 364004 - Identifier 364005 364028 - AsExpression 364029 364088 - CallExpression 364029 364074 - PropertyAccessExpression 364029 364047 - Identifier 364029 364037 - Identifier 364038 364047 - PropertyAccessExpression 364048 364073 - NonNullExpression 364048 364064 - Identifier 364048 364063 - Identifier 364065 364073 - TypeReference 364077 364088 - Identifier 364077 364088 - ConditionalExpression 364089 364198 - BinaryExpression 364089 364134 - PropertyAccessExpression 364089 364114 - Identifier 364089 364108 - Identifier 364109 364114 - AmpersandToken 364114 364116 - PropertyAccessExpression 364116 364134 - Identifier 364116 364126 - Identifier 364127 364134 - QuestionToken 364134 364136 - Identifier 364136 364146 - ColonToken 364146 364148 - CallExpression 364148 364198 - Identifier 364148 364169 - Identifier 364170 364188 - Identifier 364189 364197 - Identifier 364201 364233 - CallExpression 364234 364314 - PropertyAccessExpression 364234 364289 - Identifier 364234 364267 - Identifier 364268 364289 - PropertyAccessExpression 364290 364313 - Identifier 364290 364300 - Identifier 364301 364313 - IfStatement 364380 365648 - Identifier 364385 364415 - Block 364416 365648 - ReturnStatement 364418 365629 - CallExpression 365056 365628 - PropertyAccessExpression 365056 365090 - Identifier 365056 365064 - Identifier 365065 365090 - CallExpression 365091 365185 - Identifier 365091 365137 - CallExpression 365138 365175 - Identifier 365138 365169 - Identifier 365170 365174 - Identifier 365176 365184 - CallExpression 365186 365490 - PropertyAccessExpression 365186 365239 - Identifier 365186 365219 - Identifier 365220 365239 - CallExpression 365240 365489 - PropertyAccessExpression 365240 365278 - Identifier 365240 365247 - Identifier 365248 365278 - Identifier 365279 365302 - AsExpression 365303 365362 - CallExpression 365303 365348 - PropertyAccessExpression 365303 365321 - Identifier 365303 365311 - Identifier 365312 365321 - PropertyAccessExpression 365322 365347 - NonNullExpression 365322 365338 - Identifier 365322 365337 - Identifier 365339 365347 - TypeReference 365351 365362 - Identifier 365351 365362 - CallExpression 365363 365488 - PropertyAccessExpression 365363 365394 - Identifier 365363 365371 - Identifier 365372 365394 - PropertyAccessExpression 365395 365418 - Identifier 365395 365405 - Identifier 365406 365418 - CallExpression 365419 365487 - Identifier 365419 365440 - CallExpression 365441 365477 - Identifier 365441 365471 - Identifier 365472 365476 - Identifier 365478 365486 - Identifier 365491 365523 - CallExpression 365524 365604 - PropertyAccessExpression 365524 365579 - Identifier 365524 365557 - Identifier 365558 365579 - PropertyAccessExpression 365580 365603 - Identifier 365580 365590 - Identifier 365591 365603 - ReturnStatement 365648 365680 - Identifier 365672 365679 - FunctionDeclaration 365695 371275 - Identifier 365719 365743 - Parameter 365744 365760 - Identifier 365744 365748 - TypeReference 365749 365760 - Identifier 365749 365760 - TypeReference 365762 365771 - Identifier 365762 365771 - Block 365771 371275 - VariableStatement 365773 365814 - VariableDeclarationList 365773 365813 - VariableDeclaration 365796 365813 - Identifier 365796 365803 - PropertyAccessExpression 365805 365813 - Identifier 365805 365810 - Identifier 365811 365813 - VariableStatement 365814 365859 - VariableDeclarationList 365814 365858 - VariableDeclaration 365837 365858 - Identifier 365837 365844 - PropertyAccessExpression 365846 365858 - Identifier 365846 365851 - Identifier 365852 365858 - IfStatement 365859 369929 - Identifier 365881 365887 - Block 365888 369745 - VariableStatement 365890 366017 - VariableDeclarationList 365890 366016 - VariableDeclaration 365917 366016 - Identifier 365917 365947 - PrefixUnaryExpression 365949 366016 - PrefixUnaryExpression 365951 366016 - ParenthesizedExpression 365952 366016 - BinaryExpression 365953 366015 - CallExpression 365953 365973 - Identifier 365953 365967 - Identifier 365968 365972 - AmpersandToken 365973 365975 - PropertyAccessExpression 365975 366015 - Identifier 365975 365987 - Identifier 365988 366015 - IfStatement 366017 367586 - Identifier 366043 366072 - Block 366073 367586 - VariableStatement 366075 366173 - VariableDeclarationList 366075 366172 - VariableDeclaration 366106 366172 - Identifier 366106 366134 - AsExpression 366136 366172 - Identifier 366136 366141 - TypeReference 366144 366172 - Identifier 366144 366172 - VariableStatement 366173 366249 - VariableDeclarationList 366173 366248 - VariableDeclaration 366204 366248 - Identifier 366204 366213 - PropertyAccessExpression 366215 366248 - Identifier 366215 366243 - Identifier 366244 366248 - IfStatement 366249 367298 - BinaryExpression 366954 367030 - CallExpression 366954 366979 - Identifier 366954 366969 - Identifier 366970 366978 - AmpersandAmpersandToken 366979 366982 - BinaryExpression 366982 367030 - CallExpression 366982 367021 - Identifier 366982 367002 - Identifier 367003 367010 - Identifier 367011 367020 - EqualsEqualsEqualsToken 367021 367025 - Identifier 367025 367030 - Block 367031 367298 - VariableStatement 367033 367145 - VariableDeclarationList 367033 367144 - VariableDeclaration 367068 367144 - Identifier 367068 367077 - CallExpression 367079 367144 - PropertyAccessExpression 367079 367125 - Identifier 367079 367100 - Identifier 367101 367125 - Identifier 367126 367133 - Identifier 367134 367143 - IfStatement 367145 367271 - Identifier 367179 367187 - Block 367188 367271 - ReturnStatement 367190 367240 - Identifier 367230 367239 - IfStatement 367298 367472 - CallExpression 367328 367361 - PropertyAccessExpression 367328 367353 - PropertyAccessExpression 367328 367348 - Identifier 367328 367335 - Identifier 367336 367348 - QuestionDotToken 367348 367350 - Identifier 367350 367353 - Identifier 367354 367360 - Block 367362 367472 - ReturnStatement 367364 367445 - CallExpression 367400 367444 - Identifier 367400 367435 - Identifier 367436 367443 - ReturnStatement 367472 367563 - CallExpression 367504 367562 - Identifier 367504 367526 - Identifier 367527 367531 - Identifier 367532 367561 - VariableStatement 367586 367696 - VariableDeclarationList 367586 367695 - VariableDeclaration 367613 367695 - Identifier 367613 367628 - ConditionalExpression 367630 367695 - CallExpression 367630 367656 - Identifier 367630 367650 - Identifier 367651 367655 - QuestionToken 367656 367658 - PropertyAccessExpression 367658 367675 - Identifier 367658 367670 - Identifier 367671 367675 - ColonToken 367675 367677 - PropertyAccessExpression 367677 367695 - Identifier 367677 367689 - Identifier 367690 367695 - IfStatement 367696 369726 - CallExpression 367722 367762 - Identifier 367722 367737 - PropertyAccessExpression 367738 367761 - Identifier 367738 367744 - Identifier 367745 367761 - Block 367763 367987 - ReturnStatement 367765 367964 - CallExpression 367913 367963 - Identifier 367913 367930 - Identifier 367931 367937 - Identifier 367938 367946 - Identifier 367947 367962 - IfStatement 368103 369726 - BinaryExpression 368108 368773 - BinaryExpression 368108 368711 - BinaryExpression 368108 368623 - BinaryExpression 368108 368234 - BinaryExpression 368108 368166 - PropertyAccessExpression 368108 368146 - Identifier 368108 368140 - Identifier 368141 368146 - AmpersandToken 368146 368148 - PropertyAccessExpression 368148 368166 - Identifier 368148 368160 - Identifier 368161 368166 - AmpersandAmpersandToken 368166 368198 - PrefixUnaryExpression 368198 368234 - CallExpression 368200 368234 - Identifier 368200 368226 - Identifier 368227 368233 - AmpersandAmpersandToken 368234 368266 - PrefixUnaryExpression 368266 368623 - ParenthesizedExpression 368268 368623 - BinaryExpression 368269 368622 - BinaryExpression 368269 368402 - BinaryExpression 368269 368332 - PropertyAccessExpression 368269 368292 - Identifier 368269 368275 - Identifier 368276 368292 - AmpersandAmpersandToken 368292 368295 - CallExpression 368295 368332 - Identifier 368295 368307 - PropertyAccessExpression 368308 368331 - Identifier 368308 368314 - Identifier 368315 368331 - AmpersandAmpersandToken 368332 368335 - BinaryExpression 368335 368402 - PropertyAccessExpression 368335 368349 - Identifier 368335 368343 - Identifier 368344 368349 - AmpersandToken 368349 368351 - PropertyAccessExpression 368351 368402 - Identifier 368351 368368 - Identifier 368369 368402 - AmpersandAmpersandToken 368402 368405 - ParenthesizedExpression 368405 368622 - BinaryExpression 368407 368621 - PrefixUnaryExpression 368407 368451 - CallExpression 368408 368451 - Identifier 368408 368426 - PropertyAccessExpression 368427 368450 - Identifier 368427 368433 - Identifier 368434 368450 - BarBarToken 368451 368454 - BinaryExpression 368454 368621 - PropertyAccessExpression 368454 368586 - CallExpression 368454 368572 - Identifier 368454 368473 - Identifier 368474 368480 - PropertyAccessExpression 368481 368510 - Identifier 368481 368489 - Identifier 368490 368510 - Identifier 368511 368526 - FalseKeyword 368527 368571 - Identifier 368573 368586 - ExclamationEqualsEqualsToken 368586 368590 - PropertyAccessExpression 368590 368621 - Identifier 368590 368610 - Identifier 368611 368621 - BarBarToken 368623 368626 - BinaryExpression 368626 368711 - PropertyAccessExpression 368626 368664 - Identifier 368626 368658 - Identifier 368659 368664 - AmpersandToken 368664 368666 - ParenthesizedExpression 368666 368711 - BinaryExpression 368668 368710 - PropertyAccessExpression 368668 368684 - Identifier 368668 368679 - Identifier 368680 368684 - BarToken 368684 368686 - PropertyAccessExpression 368686 368710 - Identifier 368686 368698 - Identifier 368699 368710 - BarBarToken 368711 368714 - CallExpression 368714 368773 - Identifier 368714 368771 - Block 368796 368904 - ReturnStatement 368798 368881 - CallExpression 368830 368880 - Identifier 368830 368847 - Identifier 368848 368854 - Identifier 368855 368863 - Identifier 368864 368879 - IfStatement 368930 369726 - CallExpression 368935 368968 - PropertyAccessExpression 368935 368960 - PropertyAccessExpression 368935 368955 - Identifier 368935 368942 - Identifier 368943 368955 - QuestionDotToken 368955 368957 - Identifier 368957 368960 - Identifier 368961 368967 - Block 368969 369584 - VariableStatement 368971 369162 - VariableDeclarationList 368971 369161 - VariableDeclaration 369116 369161 - Identifier 369116 369126 - CallExpression 369128 369161 - Identifier 369128 369155 - Identifier 369156 369160 - IfStatement 369162 369561 - Identifier 369192 369201 - Block 369202 369421 - ReturnStatement 369204 369394 - CallExpression 369338 369393 - Identifier 369338 369355 - Identifier 369356 369365 - Identifier 369366 369374 - PropertyAccessExpression 369375 369392 - Identifier 369375 369387 - Identifier 369388 369392 - Block 369451 369561 - ReturnStatement 369453 369534 - CallExpression 369489 369533 - Identifier 369489 369524 - Identifier 369525 369532 - Block 369610 369726 - ReturnStatement 369612 369703 - CallExpression 369644 369702 - Identifier 369644 369666 - Identifier 369667 369671 - Identifier 369672 369701 - Block 369767 369929 - ReturnStatement 369769 369910 - CallExpression 369874 369909 - Identifier 369874 369903 - Identifier 369904 369908 - FunctionDeclaration 369929 371260 - Identifier 369955 369987 - Block 369989 371260 - VariableStatement 369991 370265 - VariableDeclarationList 369991 370264 - VariableDeclaration 370018 370264 - Identifier 370018 370039 - BinaryExpression 370041 370264 - PrefixUnaryExpression 370041 370079 - PrefixUnaryExpression 370043 370079 - ParenthesizedExpression 370044 370079 - BinaryExpression 370045 370078 - PropertyAccessExpression 370045 370057 - Identifier 370045 370051 - Identifier 370052 370057 - AmpersandToken 370057 370059 - PropertyAccessExpression 370059 370078 - Identifier 370059 370071 - Identifier 370072 370078 - AmpersandAmpersandToken 370079 370082 - CallExpression 370082 370264 - Identifier 370082 370136 - PropertyAccessExpression 370137 370156 - Identifier 370137 370143 - Identifier 370144 370156 - ArrowFunction 370157 370263 - Parameter 370157 370169 - Identifier 370157 370169 - EqualsGreaterThanToken 370169 370172 - BinaryExpression 370172 370263 - CallExpression 370172 370194 - Identifier 370172 370181 - Identifier 370182 370193 - AmpersandAmpersandToken 370194 370197 - PrefixUnaryExpression 370197 370263 - CallExpression 370199 370263 - Identifier 370199 370227 - NonNullExpression 370228 370262 - CallExpression 370228 370261 - Identifier 370228 370248 - Identifier 370249 370260 - VariableStatement 370265 370616 - VariableDeclarationList 370265 370615 - VariableDeclaration 370292 370615 - Identifier 370292 370317 - BinaryExpression 370319 370615 - PrefixUnaryExpression 370319 370359 - PrefixUnaryExpression 370321 370359 - ParenthesizedExpression 370322 370359 - BinaryExpression 370323 370358 - PropertyAccessExpression 370323 370335 - Identifier 370323 370329 - Identifier 370330 370335 - AmpersandToken 370335 370337 - PropertyAccessExpression 370337 370358 - Identifier 370337 370349 - Identifier 370350 370358 - AmpersandAmpersandToken 370359 370362 - ParenthesizedExpression 370362 370615 - BinaryExpression 370389 370614 - PropertyAccessExpression 370389 370402 - Identifier 370389 370395 - Identifier 370396 370402 - BarBarToken 370402 370405 - CallExpression 370405 370614 - Identifier 370405 370473 - PropertyAccessExpression 370474 370493 - Identifier 370474 370480 - Identifier 370481 370493 - ArrowFunction 370494 370613 - Parameter 370494 370506 - Identifier 370494 370506 - EqualsGreaterThanToken 370506 370509 - BinaryExpression 370509 370613 - BinaryExpression 370509 370559 - PropertyAccessExpression 370509 370533 - PropertyAccessExpression 370509 370528 - Identifier 370509 370521 - Identifier 370522 370528 - Identifier 370529 370533 - EqualsEqualsEqualsToken 370533 370537 - PropertyAccessExpression 370537 370559 - Identifier 370537 370548 - Identifier 370549 370559 - BarBarToken 370559 370562 - BinaryExpression 370562 370613 - PropertyAccessExpression 370562 370586 - PropertyAccessExpression 370562 370581 - Identifier 370562 370574 - Identifier 370575 370581 - Identifier 370582 370586 - EqualsEqualsEqualsToken 370586 370590 - PropertyAccessExpression 370590 370613 - Identifier 370590 370601 - Identifier 370602 370613 - IfStatement 370616 371241 - BinaryExpression 370642 370690 - Identifier 370642 370662 - BarBarToken 370662 370665 - Identifier 370665 370690 - Block 370691 371241 - ReturnStatement 370693 371113 - BinaryExpression 370807 371112 - ParenthesizedExpression 370807 370903 - BinaryExpression 370809 370902 - PrefixUnaryExpression 370809 370863 - PrefixUnaryExpression 370810 370863 - ParenthesizedExpression 370811 370863 - BinaryExpression 370812 370862 - PropertyAccessExpression 370812 370825 - Identifier 370812 370819 - Identifier 370820 370825 - AmpersandToken 370825 370827 - PropertyAccessExpression 370827 370862 - Identifier 370827 370844 - Identifier 370845 370862 - BarBarToken 370863 370866 - ParenthesizedExpression 370866 370902 - CallExpression 370868 370901 - PropertyAccessExpression 370868 370893 - PropertyAccessExpression 370868 370888 - Identifier 370868 370875 - Identifier 370876 370888 - QuestionDotToken 370888 370890 - Identifier 370890 370893 - Identifier 370894 370900 - AmpersandAmpersandToken 370903 370906 - ParenthesizedExpression 370906 371112 - BinaryExpression 370989 371111 - PrefixUnaryExpression 370989 371046 - ParenthesizedExpression 370990 371046 - BinaryExpression 370991 371045 - PropertyAccessExpression 370991 371004 - Identifier 370991 370998 - Identifier 370999 371004 - AmpersandToken 371004 371006 - PropertyAccessExpression 371006 371045 - Identifier 371006 371023 - Identifier 371024 371045 - BarBarToken 371046 371049 - CallExpression 371049 371111 - Identifier 371049 371073 - Identifier 371074 371080 - PropertyAccessExpression 371081 371110 - Identifier 371081 371089 - Identifier 371090 371110 - FunctionDeclaration 371275 376364 - Identifier 371299 371321 - TypeParameter 371322 371336 - Identifier 371322 371323 - TypeReference 371331 371336 - Identifier 371331 371336 - Parameter 371338 371345 - Identifier 371338 371342 - TypeReference 371343 371345 - Identifier 371343 371345 - Parameter 371346 371379 - Identifier 371346 371356 - FunctionType 371357 371379 - Parameter 371359 371366 - Identifier 371359 371363 - TypeReference 371364 371366 - Identifier 371364 371366 - TypeReference 371370 371379 - Identifier 371370 371379 - Block 371380 376364 - VariableStatement 371382 371423 - VariableDeclarationList 371382 371422 - VariableDeclaration 371405 371422 - Identifier 371405 371412 - PropertyAccessExpression 371414 371422 - Identifier 371414 371419 - Identifier 371420 371422 - VariableStatement 371423 371570 - VariableDeclarationList 371423 371569 - VariableDeclaration 371446 371569 - Identifier 371446 371466 - BinaryExpression 371468 371569 - BinaryExpression 371468 371528 - BinaryExpression 371468 371513 - CallExpression 371468 371489 - Identifier 371468 371483 - Identifier 371484 371488 - AmpersandToken 371489 371491 - PropertyAccessExpression 371491 371513 - Identifier 371491 371503 - Identifier 371504 371513 - AmpersandAmpersandToken 371513 371516 - PropertyAccessExpression 371516 371528 - Identifier 371516 371521 - Identifier 371522 371528 - AmpersandAmpersandToken 371528 371531 - BinaryExpression 371531 371569 - PropertyAccessExpression 371531 371549 - PropertyAccessExpression 371531 371543 - Identifier 371531 371536 - Identifier 371537 371543 - Identifier 371544 371549 - AmpersandToken 371549 371551 - PropertyAccessExpression 371551 371569 - Identifier 371551 371563 - Identifier 371564 371569 - VariableStatement 371570 371980 - VariableDeclarationList 371570 371979 - VariableDeclaration 371593 371979 - Identifier 371593 371596 - ConditionalExpression 371598 371979 - BinaryExpression 371598 371679 - BinaryExpression 371598 371643 - CallExpression 371598 371619 - Identifier 371598 371613 - Identifier 371614 371618 - AmpersandToken 371619 371621 - PropertyAccessExpression 371621 371643 - Identifier 371621 371633 - Identifier 371634 371643 - AmpersandAmpersandToken 371643 371646 - PropertyAccessExpression 371646 371679 - ParenthesizedExpression 371646 371674 - AsExpression 371648 371673 - Identifier 371648 371652 - IntersectionType 371655 371673 - TypeReference 371655 371669 - Identifier 371655 371669 - TypeReference 371671 371673 - Identifier 371671 371673 - Identifier 371675 371679 - QuestionToken 371679 371681 - BinaryExpression 371681 371732 - StringLiteral 371681 371685 - PlusToken 371685 371687 - CallExpression 371687 371732 - Identifier 371687 371697 - NonNullExpression 371698 371731 - PropertyAccessExpression 371698 371730 - ParenthesizedExpression 371698 371725 - AsExpression 371699 371724 - Identifier 371699 371703 - IntersectionType 371706 371724 - TypeReference 371706 371720 - Identifier 371706 371720 - TypeReference 371722 371724 - Identifier 371722 371724 - Identifier 371726 371730 - ColonToken 371732 371734 - ConditionalExpression 371734 371979 - BinaryExpression 371734 371790 - PropertyAccessExpression 371734 371766 - Identifier 371734 371760 - Identifier 371761 371766 - AmpersandToken 371766 371768 - PropertyAccessExpression 371768 371790 - Identifier 371768 371778 - Identifier 371779 371790 - QuestionToken 371790 371792 - BinaryExpression 371792 371849 - StringLiteral 371792 371796 - PlusToken 371796 371798 - CallExpression 371798 371849 - Identifier 371798 371808 - PropertyAccessExpression 371809 371848 - PropertyAccessExpression 371809 371843 - ParenthesizedExpression 371809 371838 - AsExpression 371810 371837 - Identifier 371810 371814 - IntersectionType 371817 371837 - TypeReference 371817 371833 - Identifier 371817 371833 - TypeReference 371835 371837 - Identifier 371835 371837 - Identifier 371839 371843 - Identifier 371844 371848 - ColonToken 371849 371851 - ConditionalExpression 371851 371979 - PropertyAccessExpression 371851 371884 - Identifier 371851 371877 - Identifier 371878 371884 - QuestionToken 371884 371886 - BinaryExpression 371886 371946 - ParenthesizedExpression 371886 371919 - ConditionalExpression 371888 371918 - Identifier 371888 371907 - QuestionToken 371907 371909 - StringLiteral 371909 371913 - ColonToken 371913 371915 - StringLiteral 371915 371918 - PlusToken 371919 371921 - CallExpression 371921 371946 - Identifier 371921 371933 - PropertyAccessExpression 371934 371945 - Identifier 371934 371938 - Identifier 371939 371945 - ColonToken 371946 371948 - Identifier 371948 371979 - IfStatement 371980 372328 - PrefixUnaryExpression 372230 372251 - PropertyAccessExpression 372231 372251 - Identifier 372231 372238 - Identifier 372239 372251 - Block 372252 372328 - ExpressionStatement 372254 372309 - BinaryExpression 372254 372308 - PropertyAccessExpression 372254 372296 - Identifier 372254 372283 - Identifier 372284 372296 - EqualsToken 372296 372298 - NewExpression 372298 372308 - Identifier 372302 372306 - IfStatement 372328 372452 - BinaryExpression 372350 372376 - Identifier 372350 372352 - AmpersandAmpersandToken 372352 372355 - PrefixUnaryExpression 372355 372376 - PropertyAccessExpression 372357 372376 - Identifier 372357 372364 - Identifier 372365 372376 - Block 372377 372452 - ExpressionStatement 372379 372433 - BinaryExpression 372379 372432 - PropertyAccessExpression 372379 372420 - Identifier 372379 372408 - Identifier 372409 372420 - EqualsToken 372420 372422 - NewExpression 372422 372432 - Identifier 372426 372430 - VariableStatement 372452 372561 - VariableDeclarationList 372452 372560 - VariableDeclaration 372477 372560 - Identifier 372477 372483 - BinaryExpression 372485 372560 - PropertyAccessExpression 372485 372514 - Identifier 372485 372493 - Identifier 372494 372514 - AmpersandAmpersandToken 372514 372517 - CallExpression 372517 372560 - Identifier 372517 372530 - PropertyAccessExpression 372531 372559 - Identifier 372531 372538 - Identifier 372539 372559 - VariableStatement 372561 372654 - VariableDeclarationList 372561 372653 - VariableDeclaration 372584 372653 - Identifier 372584 372588 - TemplateExpression 372590 372653 - TemplateHead 372590 372594 - TemplateSpan 372594 372613 - CallExpression 372594 372609 - Identifier 372594 372603 - Identifier 372604 372608 - TemplateMiddle 372609 372613 - TemplateSpan 372613 372630 - PropertyAccessExpression 372613 372626 - Identifier 372613 372620 - Identifier 372621 372626 - TemplateMiddle 372626 372630 - TemplateSpan 372630 372653 - PropertyAccessExpression 372630 372651 - Identifier 372630 372637 - Identifier 372638 372651 - TemplateTail 372651 372653 - IfStatement 372654 372761 - Identifier 372676 372681 - Block 372682 372761 - ExpressionStatement 372684 372742 - BinaryExpression 372684 372741 - PropertyAccessExpression 372684 372727 - Identifier 372684 372711 - Identifier 372712 372727 - BarBarEqualsToken 372727 372731 - NewExpression 372731 372741 - Identifier 372735 372739 - VariableStatement 372761 372833 - VariableDeclarationList 372761 372832 - VariableDeclaration 372784 372832 - Identifier 372784 372797 - CallExpression 372799 372832 - PropertyAccessExpression 372799 372827 - PropertyAccessExpression 372799 372822 - Identifier 372799 372805 - QuestionDotToken 372805 372807 - Identifier 372807 372822 - QuestionDotToken 372822 372824 - Identifier 372824 372827 - Identifier 372828 372831 - IfStatement 372833 373645 - Identifier 372855 372867 - Block 372868 373645 - ExpressionStatement 372870 373354 - CallExpression 372870 373353 - PropertyAccessExpression 372870 373031 - PropertyAccessExpression 372870 373022 - Identifier 372870 373007 - Identifier 373008 373022 - QuestionDotToken 373022 373024 - Identifier 373024 373031 - ArrowFunction 373032 373329 - Parameter 373059 373098 - ArrayBindingPattern 373059 373098 - BindingElement 373060 373066 - Identifier 373060 373066 - BindingElement 373067 373088 - Identifier 373067 373088 - BindingElement 373089 373097 - Identifier 373089 373097 - EqualsGreaterThanToken 373099 373102 - CallExpression 373102 373329 - PropertyAccessExpression 373102 373159 - PropertyAccessExpression 373102 373147 - Identifier 373102 373139 - Identifier 373140 373147 - Identifier 373148 373159 - Identifier 373160 373200 - Identifier 373201 373255 - Identifier 373256 373297 - IfStatement 373354 373481 - PropertyAccessExpression 373380 373403 - Identifier 373380 373392 - Identifier 373393 373403 - Block 373404 373481 - ExpressionStatement 373406 373458 - BinaryExpression 373406 373457 - PropertyAccessExpression 373406 373450 - Identifier 373406 373439 - Identifier 373440 373450 - EqualsToken 373450 373452 - TrueKeyword 373452 373457 - ExpressionStatement 373481 373557 - BinaryExpression 373481 373556 - PropertyAccessExpression 373481 373528 - Identifier 373481 373510 - Identifier 373511 373528 - PlusEqualsToken 373528 373531 - PropertyAccessExpression 373531 373556 - Identifier 373531 373544 - Identifier 373545 373556 - ReturnStatement 373557 373626 - CallExpression 373585 373625 - Identifier 373585 373606 - PropertyAccessExpression 373607 373624 - Identifier 373607 373619 - Identifier 373620 373624 - VariableStatement 373645 373695 - VariableDeclarationList 373645 373694 - VariableDeclaration 373668 373694 - Identifier 373668 373674 - UnionType 373675 373694 - NumberKeyword 373675 373682 - UndefinedKeyword 373684 373694 - IfStatement 373695 374006 - Identifier 373717 373719 - Block 373720 374006 - ExpressionStatement 373722 373786 - BinaryExpression 373722 373785 - Identifier 373722 373749 - EqualsToken 373749 373751 - BinaryExpression 373751 373785 - CallExpression 373751 373780 - PropertyAccessExpression 373751 373776 - NonNullExpression 373751 373772 - PropertyAccessExpression 373751 373771 - Identifier 373751 373759 - Identifier 373760 373771 - Identifier 373773 373776 - Identifier 373777 373779 - BarBarToken 373780 373783 - NumericLiteral 373783 373785 - IfStatement 373786 373925 - BinaryExpression 373812 373822 - Identifier 373812 373817 - GreaterThanToken 373817 373819 - NumericLiteral 373819 373822 - Block 373823 373925 - ReturnStatement 373825 373902 - CallExpression 373857 373901 - Identifier 373857 373892 - Identifier 373893 373900 - ExpressionStatement 373925 373987 - CallExpression 373925 373986 - PropertyAccessExpression 373925 373971 - NonNullExpression 373925 373967 - PropertyAccessExpression 373925 373966 - Identifier 373925 373954 - Identifier 373955 373966 - Identifier 373968 373971 - Identifier 373972 373974 - BinaryExpression 373975 373985 - Identifier 373975 373981 - PlusToken 373981 373983 - NumericLiteral 373983 373985 - ExpressionStatement 374006 374057 - CallExpression 374006 374056 - PropertyAccessExpression 374006 374048 - PropertyAccessExpression 374006 374044 - Identifier 374006 374031 - Identifier 374032 374044 - Identifier 374045 374048 - Identifier 374049 374055 - VariableStatement 374057 374125 - VariableDeclarationList 374057 374124 - VariableDeclaration 374080 374124 - Identifier 374080 374099 - PropertyAccessExpression 374101 374124 - Identifier 374101 374109 - Identifier 374110 374124 - ExpressionStatement 374125 374178 - BinaryExpression 374125 374177 - PropertyAccessExpression 374125 374165 - Identifier 374125 374150 - Identifier 374151 374165 - EqualsToken 374165 374167 - Identifier 374167 374177 - VariableStatement 374178 374242 - VariableDeclarationList 374178 374241 - VariableDeclaration 374201 374241 - Identifier 374201 374213 - PropertyAccessExpression 374215 374241 - Identifier 374215 374223 - Identifier 374224 374241 - VariableStatement 374242 374291 - VariableDeclarationList 374242 374290 - VariableDeclaration 374265 374290 - Identifier 374265 374272 - CallExpression 374274 374290 - Identifier 374274 374284 - Identifier 374285 374289 - VariableStatement 374291 374369 - VariableDeclarationList 374291 374368 - VariableDeclaration 374314 374368 - Identifier 374314 374326 - BinaryExpression 374328 374368 - PropertyAccessExpression 374328 374354 - Identifier 374328 374336 - Identifier 374337 374354 - MinusToken 374354 374356 - Identifier 374356 374368 - IfStatement 374369 374749 - BinaryExpression 374391 374447 - PrefixUnaryExpression 374391 374418 - PropertyAccessExpression 374392 374418 - Identifier 374392 374399 - Identifier 374400 374418 - AmpersandAmpersandToken 374418 374421 - PrefixUnaryExpression 374421 374447 - PropertyAccessExpression 374423 374447 - Identifier 374423 374430 - Identifier 374431 374447 - Block 374448 374749 - ExpressionStatement 374450 374730 - CallExpression 374450 374729 - PropertyAccessExpression 374450 374499 - PropertyAccessExpression 374450 374494 - Identifier 374450 374477 - QuestionDotToken 374477 374479 - Identifier 374479 374494 - QuestionDotToken 374494 374496 - Identifier 374496 374499 - Identifier 374500 374503 - ObjectLiteralExpression 374504 374728 - PropertyAssignment 374506 374544 - Identifier 374506 374536 - Identifier 374537 374544 - PropertyAssignment 374545 374601 - Identifier 374545 374581 - PropertyAccessExpression 374582 374601 - Identifier 374582 374590 - Identifier 374591 374601 - ShorthandPropertyAssignment 374602 374639 - Identifier 374602 374639 - PropertyAssignment 374640 374704 - Identifier 374640 374680 - PropertyAccessExpression 374681 374704 - Identifier 374681 374689 - Identifier 374690 374704 - ExpressionStatement 374749 374803 - CallExpression 374749 374802 - PropertyAccessExpression 374749 374794 - PropertyAccessExpression 374749 374787 - Identifier 374749 374774 - Identifier 374775 374787 - Identifier 374788 374794 - Identifier 374795 374801 - IfStatement 374803 374908 - Identifier 374825 374827 - Block 374828 374908 - ExpressionStatement 374830 374889 - CallExpression 374830 374888 - PropertyAccessExpression 374830 374876 - NonNullExpression 374830 374872 - PropertyAccessExpression 374830 374871 - Identifier 374830 374859 - Identifier 374860 374871 - Identifier 374873 374876 - Identifier 374877 374879 - NonNullExpression 374880 374887 - Identifier 374880 374886 - ExpressionStatement 374908 374970 - BinaryExpression 374908 374969 - PropertyAccessExpression 374908 374948 - Identifier 374908 374933 - Identifier 374934 374948 - EqualsToken 374948 374950 - Identifier 374950 374969 - ReturnStatement 374970 375002 - Identifier 374994 375001 - FunctionDeclaration 375002 375443 - Identifier 375030 375051 - TypeParameter 375052 375066 - Identifier 375052 375053 - TypeReference 375061 375066 - Identifier 375061 375066 - Parameter 375068 375075 - Identifier 375068 375072 - TypeReference 375073 375075 - Identifier 375073 375075 - TypeReference 375077 375079 - Identifier 375077 375079 - Block 375079 375443 - IfStatement 375081 375230 - BinaryExpression 375107 375166 - PrefixUnaryExpression 375107 375131 - CallExpression 375108 375131 - Identifier 375108 375125 - Identifier 375126 375130 - AmpersandAmpersandToken 375131 375134 - BinaryExpression 375134 375166 - CallExpression 375134 375157 - Identifier 375134 375151 - Identifier 375152 375156 - EqualsEqualsEqualsToken 375157 375161 - Identifier 375161 375166 - Block 375167 375230 - ReturnStatement 375169 375207 - Identifier 375201 375206 - ReturnStatement 375230 375424 - CallExpression 375258 375423 - Identifier 375258 375271 - Identifier 375272 375279 - CallExpression 375280 375416 - PropertyAccessExpression 375280 375298 - Identifier 375280 375288 - Identifier 375289 375298 - CallExpression 375299 375415 - Identifier 375299 375319 - Identifier 375320 375324 - Identifier 375325 375346 - Identifier 375347 375369 - Identifier 375370 375392 - Identifier 375393 375414 - Identifier 375417 375422 - FunctionDeclaration 375443 376349 - Identifier 375471 375493 - Parameter 375494 375550 - Identifier 375494 375521 - UnionType 375522 375550 - TypeReference 375522 375538 - Identifier 375522 375532 - TypeReference 375533 375537 - Identifier 375533 375537 - UndefinedKeyword 375540 375550 - Parameter 375551 375589 - Identifier 375551 375580 - TypeReference 375581 375589 - Identifier 375581 375589 - Parameter 375590 375642 - Identifier 375590 375616 - QuestionToken 375616 375617 - FunctionType 375618 375642 - Parameter 375620 375630 - Identifier 375620 375624 - TypeReference 375625 375630 - Identifier 375625 375630 - BooleanKeyword 375634 375642 - Parameter 375643 375679 - Identifier 375643 375670 - QuestionToken 375670 375671 - NumberKeyword 375672 375679 - Parameter 375680 375716 - Identifier 375680 375707 - QuestionToken 375707 375708 - NumberKeyword 375709 375716 - UnionType 375737 375765 - TypeReference 375737 375753 - Identifier 375737 375747 - TypeReference 375748 375752 - Identifier 375748 375752 - UndefinedKeyword 375755 375765 - Block 375765 376349 - IfStatement 375767 376254 - BinaryExpression 375793 375820 - Identifier 375793 375798 - AmpersandAmpersandToken 375798 375801 - BinaryExpression 375801 375820 - PropertyAccessExpression 375801 375814 - Identifier 375801 375807 - Identifier 375808 375814 - EqualsEqualsEqualsToken 375814 375818 - NumericLiteral 375818 375820 - Block 375821 376254 - ReturnStatement 375823 376231 - CallExpression 376131 376230 - Identifier 376131 376150 - CallExpression 376151 376222 - PropertyAccessExpression 376151 376174 - Identifier 376151 376158 - Identifier 376159 376174 - Identifier 376175 376197 - PropertyAccessExpression 376198 376221 - Identifier 376198 376204 - Identifier 376205 376221 - Identifier 376223 376229 - ReturnStatement 376254 376330 - CallExpression 376282 376329 - Identifier 376282 376293 - Identifier 376294 376299 - Identifier 376300 376308 - Identifier 376309 376314 - Identifier 376315 376321 - Identifier 376322 376328 - FunctionDeclaration 376364 380174 - Identifier 376388 376417 - Parameter 376418 376434 - Identifier 376418 376422 - TypeReference 376423 376434 - Identifier 376423 376434 - TypeReference 376436 376445 - Identifier 376436 376445 - Block 376445 380174 - IfStatement 376447 376632 - BinaryExpression 376469 376532 - CallExpression 376469 376494 - Identifier 376469 376488 - Identifier 376489 376493 - BarBarToken 376494 376497 - PropertyAccessExpression 376497 376532 - ParenthesizedExpression 376497 376518 - AsExpression 376499 376517 - Identifier 376499 376503 - TypeReference 376506 376517 - Identifier 376506 376517 - Identifier 376519 376532 - Block 376533 376632 - ReturnStatement 376535 376613 - CallExpression 376563 376612 - Identifier 376563 376592 - AsExpression 376593 376611 - Identifier 376593 376597 - TypeReference 376600 376611 - Identifier 376600 376611 - VariableStatement 376632 376704 - VariableDeclarationList 376632 376703 - VariableDeclaration 376657 376703 - Identifier 376657 376666 - CallExpression 376668 376703 - Identifier 376668 376697 - Identifier 376698 376702 - IfStatement 376704 377917 - BinaryExpression 376726 376784 - PrefixUnaryExpression 376726 376753 - PropertyAccessExpression 376727 376753 - PropertyAccessExpression 376727 376746 - Identifier 376727 376735 - Identifier 376736 376746 - Identifier 376747 376753 - AmpersandAmpersandToken 376753 376756 - PrefixUnaryExpression 376756 376784 - PropertyAccessExpression 376758 376784 - PropertyAccessExpression 376758 376777 - Identifier 376758 376766 - Identifier 376767 376777 - Identifier 376778 376784 - Block 376785 377917 - IfStatement 376787 377089 - BinaryExpression 376813 376884 - PrefixUnaryExpression 376813 376844 - PropertyAccessExpression 376814 376844 - PropertyAccessExpression 376814 376837 - Identifier 376814 376822 - Identifier 376823 376837 - Identifier 376838 376844 - AmpersandAmpersandToken 376844 376847 - PrefixUnaryExpression 376847 376884 - PropertyAccessExpression 376849 376884 - PropertyAccessExpression 376849 376877 - Identifier 376849 376857 - Identifier 376858 376877 - Identifier 376878 376884 - Block 376885 377089 - ExpressionStatement 376887 376944 - BinaryExpression 376887 376943 - PropertyAccessExpression 376887 376938 - Identifier 376887 376920 - Identifier 376921 376938 - PlusEqualsToken 376938 376941 - NumericLiteral 376941 376943 - ReturnStatement 376944 377066 - CallExpression 376976 377065 - Identifier 376976 376989 - CallExpression 376990 377042 - PropertyAccessExpression 376990 377019 - Identifier 376990 376997 - Identifier 376998 377019 - Identifier 377020 377041 - PropertyAccessExpression 377043 377064 - Identifier 377043 377053 - Identifier 377054 377064 - IfStatement 377089 377488 - BinaryExpression 377117 377193 - BinaryExpression 377117 377153 - PropertyAccessExpression 377117 377147 - PropertyAccessExpression 377117 377140 - Identifier 377117 377125 - Identifier 377126 377140 - Identifier 377141 377147 - EqualsEqualsEqualsToken 377147 377151 - NumericLiteral 377151 377153 - AmpersandAmpersandToken 377153 377156 - PrefixUnaryExpression 377156 377193 - PropertyAccessExpression 377158 377193 - PropertyAccessExpression 377158 377186 - Identifier 377158 377166 - Identifier 377167 377186 - Identifier 377187 377193 - Block 377194 377488 - VariableStatement 377196 377267 - VariableDeclarationList 377196 377266 - VariableDeclaration 377227 377266 - Identifier 377227 377237 - ElementAccessExpression 377239 377266 - PropertyAccessExpression 377239 377263 - Identifier 377239 377248 - Identifier 377249 377263 - NumericLiteral 377264 377265 - VariableStatement 377267 377418 - VariableDeclarationList 377267 377417 - VariableDeclaration 377298 377417 - Identifier 377298 377312 - AsExpression 377314 377417 - CallExpression 377314 377397 - Identifier 377314 377352 - Identifier 377353 377362 - PropertyAccessExpression 377363 377387 - Identifier 377363 377374 - Identifier 377375 377387 - Identifier 377388 377396 - TypeReference 377400 377417 - Identifier 377400 377417 - ReturnStatement 377418 377465 - Identifier 377450 377464 - IfStatement 377488 377898 - BinaryExpression 377516 377592 - BinaryExpression 377516 377557 - PropertyAccessExpression 377516 377551 - PropertyAccessExpression 377516 377544 - Identifier 377516 377524 - Identifier 377525 377544 - Identifier 377545 377551 - EqualsEqualsEqualsToken 377551 377555 - NumericLiteral 377555 377557 - AmpersandAmpersandToken 377557 377560 - PrefixUnaryExpression 377560 377592 - PropertyAccessExpression 377562 377592 - PropertyAccessExpression 377562 377585 - Identifier 377562 377570 - Identifier 377571 377585 - Identifier 377586 377592 - Block 377593 377898 - VariableStatement 377595 377671 - VariableDeclarationList 377595 377670 - VariableDeclaration 377626 377670 - Identifier 377626 377636 - ElementAccessExpression 377638 377670 - PropertyAccessExpression 377638 377667 - Identifier 377638 377647 - Identifier 377648 377667 - NumericLiteral 377668 377669 - VariableStatement 377671 377828 - VariableDeclarationList 377671 377827 - VariableDeclaration 377702 377827 - Identifier 377702 377716 - AsExpression 377718 377827 - CallExpression 377718 377804 - Identifier 377718 377756 - Identifier 377757 377766 - PropertyAccessExpression 377767 377794 - Identifier 377767 377778 - Identifier 377779 377794 - Identifier 377795 377803 - TypeReference 377807 377827 - Identifier 377807 377827 - ReturnStatement 377828 377875 - Identifier 377860 377874 - VariableStatement 377917 378061 - VariableDeclarationList 377917 378060 - VariableDeclaration 377942 378060 - Identifier 377942 377961 - CallExpression 377963 378060 - Identifier 377963 377970 - PropertyAccessExpression 377971 377999 - Identifier 377971 377979 - Identifier 377980 377999 - ArrowFunction 378000 378059 - Parameter 378000 378010 - Identifier 378000 378010 - EqualsGreaterThanToken 378010 378013 - PrefixUnaryExpression 378013 378059 - PrefixUnaryExpression 378015 378059 - ParenthesizedExpression 378016 378059 - BinaryExpression 378017 378058 - PropertyAccessExpression 378017 378032 - Identifier 378017 378026 - Identifier 378027 378032 - AmpersandToken 378032 378034 - PropertyAccessExpression 378034 378058 - Identifier 378034 378049 - Identifier 378050 378058 - IfStatement 378061 379605 - CallExpression 378083 378107 - Identifier 378083 378087 - Identifier 378088 378106 - Block 378108 379605 - VariableStatement 378110 378208 - VariableDeclarationList 378110 378207 - VariableDeclaration 378137 378207 - Identifier 378137 378143 - CallExpression 378145 378207 - Identifier 378145 378149 - Identifier 378150 378168 - ArrowFunction 378169 378206 - Parameter 378169 378171 - Identifier 378169 378171 - EqualsGreaterThanToken 378171 378174 - CallExpression 378174 378206 - Identifier 378174 378203 - Identifier 378204 378205 - VariableStatement 378208 378964 - VariableDeclarationList 378208 378963 - VariableDeclaration 378325 378963 - Identifier 378325 378342 - BinaryExpression 378344 378963 - BinaryExpression 378344 378522 - BinaryExpression 378344 378468 - PropertyAccessExpression 378344 378375 - PropertyAccessExpression 378344 378368 - Identifier 378344 378353 - Identifier 378354 378368 - Identifier 378369 378375 - PlusToken 378375 378377 - ParenthesizedExpression 378377 378468 - BinaryExpression 378404 378467 - PropertyAccessExpression 378404 378439 - PropertyAccessExpression 378404 378432 - Identifier 378404 378412 - Identifier 378413 378432 - Identifier 378433 378439 - MinusToken 378439 378441 - PropertyAccessExpression 378441 378467 - Identifier 378441 378460 - Identifier 378461 378467 - PlusToken 378468 378470 - PropertyAccessExpression 378470 378522 - PropertyAccessExpression 378470 378515 - Identifier 378470 378504 - Identifier 378505 378515 - Identifier 378516 378522 - PlusToken 378522 378524 - ParenthesizedExpression 378524 378963 - ConditionalExpression 378733 378962 - BinaryExpression 378733 378799 - PropertyAccessExpression 378733 378746 - Identifier 378733 378740 - Identifier 378741 378746 - AmpersandToken 378746 378748 - PropertyAccessExpression 378748 378799 - Identifier 378748 378765 - Identifier 378766 378799 - QuestionToken 378799 378801 - CallExpression 378801 378903 - Identifier 378801 378841 - PropertyAccessExpression 378842 378861 - Identifier 378842 378850 - Identifier 378851 378861 - ArrowFunction 378862 378902 - Parameter 378862 378864 - Identifier 378862 378864 - EqualsGreaterThanToken 378864 378867 - PrefixUnaryExpression 378867 378902 - ParenthesizedExpression 378869 378902 - BinaryExpression 378870 378901 - PropertyAccessExpression 378870 378877 - Identifier 378870 378871 - Identifier 378872 378877 - AmpersandToken 378877 378879 - PropertyAccessExpression 378879 378901 - Identifier 378879 378891 - Identifier 378892 378901 - ColonToken 378903 378905 - CallExpression 378905 378962 - Identifier 378905 378941 - PropertyAccessExpression 378942 378961 - Identifier 378942 378950 - Identifier 378951 378961 - IfStatement 378964 379499 - Identifier 379255 379271 - Block 379272 379499 - ExpressionStatement 379274 379476 - CallExpression 379274 379475 - PropertyAccessExpression 379274 379414 - Identifier 379274 379409 - Identifier 379410 379414 - CallExpression 379415 379474 - Identifier 379415 379464 - Identifier 379465 379473 - ReturnStatement 379499 379586 - CallExpression 379527 379585 - Identifier 379527 379548 - CallExpression 379549 379575 - Identifier 379549 379568 - Identifier 379569 379574 - Identifier 379576 379584 - VariableStatement 379605 379672 - VariableDeclarationList 379605 379671 - VariableDeclaration 379630 379671 - Identifier 379630 379643 - CallExpression 379645 379671 - Identifier 379645 379662 - Identifier 379663 379670 - ExpressionStatement 379672 379744 - BinaryExpression 379672 379743 - PropertyAccessExpression 379672 379703 - Identifier 379672 379697 - Identifier 379698 379703 - BarEqualsToken 379703 379706 - PropertyAccessExpression 379706 379743 - Identifier 379706 379723 - Identifier 379724 379743 - VariableStatement 379744 379820 - VariableDeclarationList 379744 379819 - VariableDeclaration 379767 379819 - Identifier 379767 379775 - CallExpression 379777 379819 - Identifier 379777 379809 - Identifier 379810 379818 - ExpressionStatement 379820 379853 - CallExpression 379820 379852 - Identifier 379820 379850 - VariableStatement 379853 379934 - VariableDeclarationList 379853 379933 - VariableDeclaration 379876 379933 - Identifier 379876 379892 - CallExpression 379894 379933 - PropertyAccessExpression 379894 379924 - Identifier 379894 379902 - Identifier 379903 379924 - Identifier 379925 379932 - ExpressionStatement 379934 379983 - BinaryExpression 379934 379982 - PropertyAccessExpression 379934 379977 - Identifier 379934 379959 - Identifier 379960 379977 - PlusEqualsToken 379977 379980 - NumericLiteral 379980 379982 - ExpressionStatement 379983 380118 - CallExpression 379983 380117 - Identifier 379983 380013 - Identifier 380014 380029 - ConditionalExpression 380030 380116 - ParenthesizedExpression 380030 380089 - BinaryExpression 380032 380088 - PropertyAccessExpression 380032 380045 - Identifier 380032 380039 - Identifier 380040 380045 - AmpersandToken 380045 380047 - PropertyAccessExpression 380047 380088 - Identifier 380047 380064 - Identifier 380065 380088 - QuestionToken 380089 380091 - NumericLiteral 380091 380093 - ColonToken 380093 380095 - PropertyAccessExpression 380095 380116 - Identifier 380095 380105 - Identifier 380106 380116 - ReturnStatement 380118 380159 - Identifier 380142 380158 - FunctionDeclaration 380174 389607 - Identifier 380198 380222 - Parameter 380223 380242 - Identifier 380223 380227 - TypeReference 380228 380242 - Identifier 380228 380242 - Block 380243 389607 - VariableStatement 380245 380323 - VariableDeclarationList 380245 380322 - VariableDeclaration 380266 380322 - Identifier 380266 380280 - TypeOperator 380281 380297 - ArrayType 380290 380297 - TypeReference 380290 380295 - Identifier 380290 380295 - CallExpression 380299 380322 - Identifier 380299 380316 - Identifier 380317 380321 - IfStatement 380323 389592 - BinaryExpression 380345 380419 - BinaryExpression 380345 380376 - PropertyAccessExpression 380345 380356 - Identifier 380345 380349 - Identifier 380350 380356 - EqualsEqualsEqualsToken 380356 380360 - Identifier 380360 380376 - BarBarToken 380376 380379 - BinaryExpression 380379 380419 - PropertyAccessExpression 380379 380391 - Identifier 380379 380384 - Identifier 380385 380391 - EqualsEqualsEqualsToken 380391 380395 - Identifier 380395 380419 - Block 380420 381110 - IfStatement 380422 380775 - BinaryExpression 380448 380504 - PropertyAccessExpression 380448 380461 - Identifier 380448 380455 - Identifier 380456 380461 - AmpersandToken 380461 380463 - PropertyAccessExpression 380463 380504 - Identifier 380463 380480 - Identifier 380481 380504 - Block 380505 380775 - VariableStatement 380507 380606 - VariableDeclarationList 380507 380605 - VariableDeclaration 380538 380605 - Identifier 380538 380555 - CallExpression 380557 380605 - Identifier 380557 380578 - ElementAccessExpression 380579 380595 - Identifier 380579 380592 - NumericLiteral 380593 380594 - Identifier 380596 380604 - ReturnStatement 380606 380752 - CallExpression 380638 380751 - PropertyAccessExpression 380638 380670 - Identifier 380638 380646 - Identifier 380647 380670 - ConditionalExpression 380671 380730 - BinaryExpression 380671 380702 - PropertyAccessExpression 380671 380682 - Identifier 380671 380675 - Identifier 380676 380682 - EqualsEqualsEqualsToken 380682 380686 - Identifier 380686 380702 - QuestionToken 380702 380704 - StringLiteral 380704 380712 - ColonToken 380712 380714 - StringLiteral 380714 380730 - ArrayLiteralExpression 380731 380750 - Identifier 380733 380749 - VariableStatement 380775 380865 - VariableDeclarationList 380775 380864 - VariableDeclaration 380802 380864 - Identifier 380802 380814 - CallExpression 380816 380864 - Identifier 380816 380837 - ElementAccessExpression 380838 380854 - Identifier 380838 380851 - NumericLiteral 380852 380853 - Identifier 380855 380863 - VariableStatement 380865 380946 - VariableDeclarationList 380865 380945 - VariableDeclaration 380892 380945 - Identifier 380892 380902 - CallExpression 380904 380945 - PropertyAccessExpression 380904 380932 - Identifier 380904 380912 - Identifier 380913 380932 - Identifier 380933 380944 - ReturnStatement 380946 381091 - ConditionalExpression 380974 381090 - BinaryExpression 380974 381006 - PropertyAccessExpression 380974 380986 - Identifier 380974 380979 - Identifier 380980 380986 - EqualsEqualsEqualsToken 380986 380990 - Identifier 380990 381006 - QuestionToken 381006 381008 - Identifier 381008 381018 - ColonToken 381018 381020 - CallExpression 381020 381090 - PropertyAccessExpression 381020 381051 - Identifier 381020 381028 - Identifier 381029 381051 - PropertyAccessExpression 381052 381078 - Identifier 381052 381062 - Identifier 381063 381078 - Identifier 381079 381089 - IfStatement 381132 389592 - BinaryExpression 381137 381180 - PropertyAccessExpression 381137 381160 - PropertyAccessExpression 381137 381148 - Identifier 381137 381141 - Identifier 381142 381148 - Identifier 381149 381160 - AmpersandToken 381160 381162 - PropertyAccessExpression 381162 381180 - Identifier 381162 381174 - Identifier 381175 381180 - Block 381181 384281 - ExpressionStatement 381183 381348 - BinaryExpression 381183 381347 - Identifier 381183 381218 - EqualsToken 381218 381220 - CallExpression 381220 381347 - Identifier 381220 381228 - Identifier 381229 381242 - ArrowFunction 381243 381346 - Parameter 381245 381246 - Identifier 381245 381246 - Parameter 381247 381249 - Identifier 381247 381249 - EqualsGreaterThanToken 381250 381253 - CallExpression 381253 381346 - Identifier 381253 381271 - Identifier 381272 381273 - PrefixUnaryExpression 381274 381345 - PrefixUnaryExpression 381276 381345 - ParenthesizedExpression 381277 381345 - BinaryExpression 381278 381344 - ElementAccessExpression 381278 381320 - PropertyAccessExpression 381278 381317 - ParenthesizedExpression 381278 381304 - AsExpression 381279 381303 - PropertyAccessExpression 381279 381290 - Identifier 381279 381283 - Identifier 381284 381290 - TypeReference 381293 381303 - Identifier 381293 381303 - Identifier 381305 381317 - Identifier 381318 381319 - AmpersandToken 381320 381322 - PropertyAccessExpression 381322 381344 - Identifier 381322 381335 - Identifier 381336 381344 - IfStatement 381348 383743 - BinaryExpression 381374 381398 - PropertyAccessExpression 381374 381394 - Identifier 381374 381387 - Identifier 381388 381394 - GreaterThanToken 381394 381396 - NumericLiteral 381396 381398 - Block 381399 383743 - VariableStatement 381401 381469 - VariableDeclarationList 381401 381468 - VariableDeclaration 381432 381468 - Identifier 381432 381438 - CallExpression 381440 381468 - Identifier 381440 381462 - Identifier 381463 381467 - VariableStatement 381469 381580 - VariableDeclarationList 381469 381579 - VariableDeclaration 381500 381579 - Identifier 381500 381522 - CallExpression 381524 381579 - Identifier 381524 381539 - CallExpression 381540 381569 - PropertyAccessExpression 381540 381559 - Identifier 381540 381553 - Identifier 381554 381559 - NumericLiteral 381560 381561 - Identifier 381562 381568 - Identifier 381570 381578 - IfStatement 381580 383720 - Identifier 381610 381631 - Block 381632 383720 - VariableStatement 381634 381728 - VariableDeclarationList 381634 381727 - VariableDeclaration 381669 381727 - ObjectBindingPattern 381669 381700 - BindingElement 381671 381698 - Identifier 381671 381698 - AsExpression 381702 381727 - PropertyAccessExpression 381702 381714 - Identifier 381702 381707 - Identifier 381708 381714 - TypeReference 381717 381727 - Identifier 381717 381727 - ForStatement 381728 383389 - VariableDeclarationList 381763 381772 - VariableDeclaration 381766 381772 - Identifier 381766 381768 - NumericLiteral 381770 381772 - BinaryExpression 381773 381806 - Identifier 381773 381775 - LessThanToken 381775 381777 - PropertyAccessExpression 381777 381806 - Identifier 381777 381799 - Identifier 381800 381806 - PostfixUnaryExpression 381807 381811 - Identifier 381807 381809 - Block 381812 383389 - VariableStatement 381814 381905 - VariableDeclarationList 381814 381904 - VariableDeclaration 381853 381904 - Identifier 381853 381859 - ElementAccessExpression 381861 381904 - PropertyAccessExpression 381861 381901 - ParenthesizedExpression 381861 381888 - AsExpression 381863 381887 - PropertyAccessExpression 381863 381874 - Identifier 381863 381867 - Identifier 381868 381874 - TypeReference 381877 381887 - Identifier 381877 381887 - Identifier 381889 381901 - Identifier 381902 381903 - VariableStatement 381905 382005 - VariableDeclarationList 381905 382004 - VariableDeclaration 381944 382004 - Identifier 381944 381970 - ElementAccessExpression 381972 382004 - Identifier 381972 381999 - QuestionDotToken 381999 382001 - Identifier 382002 382003 - IfStatement 382005 383358 - Identifier 382045 382070 - Block 382071 382849 - ExpressionStatement 382073 382814 - BinaryExpression 382073 382813 - ElementAccessExpression 382073 382135 - Identifier 382073 382132 - Identifier 382133 382134 - EqualsToken 382135 382137 - CallExpression 382137 382813 - PropertyAccessExpression 382137 382168 - Identifier 382137 382145 - Identifier 382146 382168 - ConditionalExpression 382169 382301 - BinaryExpression 382169 382240 - Identifier 382169 382216 - AmpersandToken 382216 382218 - PropertyAccessExpression 382218 382240 - Identifier 382218 382231 - Identifier 382232 382240 - QuestionToken 382240 382242 - CallExpression 382242 382289 - PropertyAccessExpression 382242 382262 - Identifier 382242 382250 - Identifier 382251 382262 - PropertyAccessExpression 382263 382288 - Identifier 382263 382273 - Identifier 382274 382288 - ColonToken 382289 382291 - Identifier 382291 382301 - CallExpression 382302 382445 - PropertyAccessExpression 382302 382368 - Identifier 382302 382351 - Identifier 382352 382368 - CallExpression 382369 382444 - Identifier 382369 382395 - CallExpression 382396 382443 - Identifier 382396 382416 - Identifier 382417 382442 - ConditionalExpression 382446 382577 - BinaryExpression 382446 382517 - Identifier 382446 382493 - AmpersandToken 382493 382495 - PropertyAccessExpression 382495 382517 - Identifier 382495 382508 - Identifier 382509 382517 - QuestionToken 382517 382519 - CallExpression 382519 382565 - PropertyAccessExpression 382519 382539 - Identifier 382519 382527 - Identifier 382528 382539 - PropertyAccessExpression 382540 382564 - Identifier 382540 382550 - Identifier 382551 382564 - ColonToken 382565 382567 - Identifier 382567 382577 - ConditionalExpression 382578 382773 - BinaryExpression 382578 382645 - Identifier 382578 382625 - AmpersandToken 382625 382627 - PropertyAccessExpression 382627 382645 - Identifier 382627 382640 - Identifier 382641 382645 - QuestionToken 382645 382647 - CallExpression 382647 382701 - PropertyAccessExpression 382647 382675 - Identifier 382647 382655 - Identifier 382656 382675 - ElementAccessExpression 382676 382700 - Identifier 382676 382697 - Identifier 382698 382699 - ColonToken 382701 382703 - ElementAccessExpression 382703 382773 - Identifier 382703 382770 - Identifier 382771 382772 - Block 382887 383358 - ExpressionStatement 382889 383323 - BinaryExpression 382889 383322 - ElementAccessExpression 382889 382951 - Identifier 382889 382948 - Identifier 382949 382950 - EqualsToken 382951 382953 - ConditionalExpression 382953 383322 - BinaryExpression 382953 382983 - Identifier 382953 382959 - AmpersandToken 382959 382961 - PropertyAccessExpression 382961 382983 - Identifier 382961 382974 - Identifier 382975 382983 - QuestionToken 382983 382985 - CallExpression 382985 383122 - PropertyAccessExpression 382985 383012 - Identifier 382985 382993 - Identifier 382994 383012 - ConditionalExpression 383013 383121 - BinaryExpression 383013 383038 - Identifier 383013 383018 - AmpersandToken 383018 383020 - PropertyAccessExpression 383020 383038 - Identifier 383020 383033 - Identifier 383034 383038 - QuestionToken 383038 383040 - CallExpression 383040 383094 - PropertyAccessExpression 383040 383068 - Identifier 383040 383048 - Identifier 383049 383068 - ElementAccessExpression 383069 383093 - Identifier 383069 383090 - Identifier 383091 383092 - ColonToken 383094 383096 - ElementAccessExpression 383096 383121 - Identifier 383096 383118 - Identifier 383119 383120 - ColonToken 383122 383124 - ConditionalExpression 383124 383322 - BinaryExpression 383124 383195 - Identifier 383124 383171 - AmpersandToken 383171 383173 - PropertyAccessExpression 383173 383195 - Identifier 383173 383186 - Identifier 383187 383195 - QuestionToken 383195 383197 - CallExpression 383197 383254 - PropertyAccessExpression 383197 383228 - Identifier 383197 383205 - Identifier 383206 383228 - ElementAccessExpression 383229 383253 - Identifier 383229 383250 - Identifier 383251 383252 - ColonToken 383254 383256 - ElementAccessExpression 383256 383322 - Identifier 383256 383319 - Identifier 383320 383321 - VariableStatement 383389 383528 - VariableDeclarationList 383389 383527 - VariableDeclaration 383424 383527 - Identifier 383424 383438 - CallExpression 383440 383527 - Identifier 383440 383453 - CallExpression 383454 383504 - PropertyAccessExpression 383454 383481 - Identifier 383454 383461 - Identifier 383462 383481 - Identifier 383482 383503 - PropertyAccessExpression 383505 383526 - Identifier 383505 383515 - Identifier 383516 383526 - ReturnStatement 383528 383693 - ConditionalExpression 383564 383692 - PropertyAccessExpression 383564 383600 - ParenthesizedExpression 383564 383591 - AsExpression 383566 383590 - PropertyAccessExpression 383566 383577 - Identifier 383566 383570 - Identifier 383571 383577 - TypeReference 383580 383590 - Identifier 383580 383590 - Identifier 383592 383600 - QuestionToken 383600 383602 - CallExpression 383602 383676 - PropertyAccessExpression 383602 383633 - Identifier 383602 383610 - Identifier 383611 383633 - PropertyAccessExpression 383634 383660 - Identifier 383634 383644 - Identifier 383645 383660 - Identifier 383661 383675 - ColonToken 383676 383678 - Identifier 383678 383692 - IfStatement 383743 384150 - BinaryExpression 383769 383847 - PropertyAccessExpression 383769 383793 - Identifier 383769 383776 - Identifier 383777 383793 - BarBarToken 383793 383796 - ParenthesizedExpression 383796 383847 - BinaryExpression 383798 383846 - PropertyAccessExpression 383798 383811 - Identifier 383798 383805 - Identifier 383806 383811 - AmpersandToken 383811 383813 - PropertyAccessExpression 383813 383846 - Identifier 383813 383830 - Identifier 383831 383846 - Block 383848 384150 - VariableStatement 383850 383966 - VariableDeclarationList 383850 383965 - VariableDeclaration 383881 383965 - Identifier 383881 383895 - CallExpression 383897 383965 - Identifier 383897 383910 - CallExpression 383911 383942 - PropertyAccessExpression 383911 383938 - Identifier 383911 383918 - Identifier 383919 383938 - ArrayLiteralExpression 383939 383941 - PropertyAccessExpression 383943 383964 - Identifier 383943 383953 - Identifier 383954 383964 - ReturnStatement 383966 384127 - ConditionalExpression 383998 384126 - PropertyAccessExpression 383998 384034 - ParenthesizedExpression 383998 384025 - AsExpression 384000 384024 - PropertyAccessExpression 384000 384011 - Identifier 384000 384004 - Identifier 384005 384011 - TypeReference 384014 384024 - Identifier 384014 384024 - Identifier 384026 384034 - QuestionToken 384034 384036 - CallExpression 384036 384110 - PropertyAccessExpression 384036 384067 - Identifier 384036 384044 - Identifier 384045 384067 - PropertyAccessExpression 384068 384094 - Identifier 384068 384078 - Identifier 384079 384094 - Identifier 384095 384109 - ColonToken 384110 384112 - Identifier 384112 384126 - ExpressionStatement 384150 384204 - BinaryExpression 384150 384203 - PropertyAccessExpression 384150 384196 - Identifier 384150 384179 - Identifier 384180 384196 - EqualsToken 384196 384198 - TrueKeyword 384198 384203 - ReturnStatement 384204 384244 - NonNullExpression 384232 384243 - Identifier 384232 384242 - IfStatement 384303 389592 - BinaryExpression 384308 384607 - BinaryExpression 384308 384515 - BinaryExpression 384308 384449 - BinaryExpression 384308 384396 - PropertyAccessExpression 384308 384343 - Identifier 384308 384337 - Identifier 384338 384343 - AmpersandToken 384343 384345 - PropertyAccessExpression 384345 384396 - Identifier 384345 384362 - Identifier 384363 384396 - AmpersandAmpersandToken 384396 384399 - PropertyAccessExpression 384399 384449 - PropertyAccessExpression 384399 384432 - Identifier 384399 384425 - Identifier 384426 384432 - Identifier 384433 384449 - AmpersandAmpersandToken 384449 384452 - CallExpression 384452 384515 - Identifier 384452 384485 - PropertyAccessExpression 384486 384514 - PropertyAccessExpression 384486 384497 - Identifier 384486 384490 - Identifier 384491 384497 - Identifier 384498 384514 - AmpersandAmpersandToken 384515 384518 - PrefixUnaryExpression 384518 384607 - CallExpression 384541 384607 - Identifier 384541 384564 - PropertyAccessExpression 384565 384576 - Identifier 384565 384569 - Identifier 384570 384576 - PropertyAccessExpression 384577 384606 - Identifier 384577 384585 - Identifier 384586 384606 - Block 384626 384706 - ReturnStatement 384628 384687 - CallExpression 384656 384686 - Identifier 384656 384680 - Identifier 384681 384685 - Block 384728 389592 - VariableStatement 384730 384812 - VariableDeclarationList 384730 384811 - VariableDeclaration 384757 384811 - Identifier 384757 384777 - PropertyAccessExpression 384779 384811 - PropertyAccessExpression 384779 384791 - Identifier 384779 384784 - Identifier 384785 384791 - Identifier 384792 384811 - VariableStatement 384812 384844 - VariableDeclarationList 384812 384843 - VariableDeclaration 384837 384843 - Identifier 384837 384839 - NumericLiteral 384841 384843 - VariableStatement 384844 384929 - VariableDeclarationList 384844 384928 - VariableDeclaration 384869 384928 - Identifier 384869 384880 - UnionType 384881 384928 - TypeReference 384881 384899 - Identifier 384881 384899 - TypeReference 384901 384916 - Identifier 384901 384916 - UndefinedKeyword 384918 384928 - IfStatement 384929 386590 - Identifier 384955 384974 - Block 384975 386590 - VariableStatement 384977 385045 - VariableDeclarationList 384977 385044 - VariableDeclaration 385008 385044 - Identifier 385008 385015 - PropertyAccessExpression 385017 385044 - Identifier 385017 385037 - Identifier 385038 385044 - WhileStatement 385045 386567 - BinaryExpression 385078 385088 - Identifier 385078 385079 - LessThanToken 385079 385081 - Identifier 385081 385088 - Block 385089 386567 - VariableStatement 385091 385253 - VariableDeclarationList 385091 385252 - VariableDeclaration 385242 385252 - Identifier 385242 385248 - Identifier 385250 385252 - VariableStatement 385253 385354 - VariableDeclarationList 385253 385353 - VariableDeclaration 385288 385353 - Identifier 385288 385295 - NonNullExpression 385297 385353 - CallExpression 385297 385352 - Identifier 385297 385328 - ElementAccessExpression 385329 385351 - Identifier 385329 385348 - Identifier 385349 385350 - DoStatement 385354 385575 - Block 385386 385457 - ExpressionStatement 385388 385426 - PostfixUnaryExpression 385388 385425 - Identifier 385388 385423 - BinaryExpression 385494 385573 - BinaryExpression 385494 385504 - Identifier 385494 385495 - LessThanToken 385495 385497 - Identifier 385497 385504 - AmpersandAmpersandToken 385504 385507 - BinaryExpression 385507 385573 - CallExpression 385507 385562 - Identifier 385507 385538 - ElementAccessExpression 385539 385561 - Identifier 385539 385558 - Identifier 385559 385560 - EqualsEqualsEqualsToken 385562 385566 - Identifier 385566 385573 - IfStatement 385575 386540 - PrefixUnaryExpression 385817 385875 - CallExpression 385818 385875 - Identifier 385818 385829 - Identifier 385830 385849 - Identifier 385850 385864 - Identifier 385865 385871 - Identifier 385872 385874 - Block 385876 386540 - VariableStatement 385878 385993 - VariableDeclarationList 385878 385992 - VariableDeclaration 385917 385992 - Identifier 385917 385935 - CallExpression 385937 385992 - Identifier 385937 385952 - CallExpression 385953 385982 - PropertyAccessExpression 385953 385972 - Identifier 385953 385966 - Identifier 385967 385972 - Identifier 385973 385978 - Identifier 385979 385981 - Identifier 385983 385991 - VariableStatement 385993 386074 - VariableDeclarationList 385993 386073 - VariableDeclaration 386032 386073 - Identifier 386032 386045 - CallExpression 386047 386073 - Identifier 386047 386064 - Identifier 386065 386072 - ExpressionStatement 386074 386178 - BinaryExpression 386074 386177 - PropertyAccessExpression 386074 386121 - Identifier 386074 386115 - Identifier 386116 386121 - BarEqualsToken 386121 386124 - PropertyAccessExpression 386124 386177 - Identifier 386124 386141 - Identifier 386142 386177 - VariableStatement 386178 386333 - VariableDeclarationList 386178 386332 - VariableDeclaration 386217 386332 - Identifier 386217 386221 - AsExpression 386223 386332 - CallExpression 386223 386294 - Identifier 386223 386240 - Identifier 386241 386247 - Identifier 386248 386256 - PropertyAccessExpression 386257 386274 - Identifier 386257 386269 - Identifier 386270 386274 - Identifier 386275 386293 - UnionType 386297 386332 - TypeReference 386297 386315 - Identifier 386297 386315 - TypeReference 386317 386332 - Identifier 386317 386332 - ExpressionStatement 386333 386382 - CallExpression 386333 386381 - Identifier 386333 386379 - ExpressionStatement 386382 386509 - BinaryExpression 386382 386508 - Identifier 386382 386426 - EqualsToken 386426 386428 - ConditionalExpression 386428 386508 - PrefixUnaryExpression 386428 386440 - Identifier 386430 386440 - QuestionToken 386440 386442 - Identifier 386442 386446 - ColonToken 386446 386448 - CallExpression 386448 386508 - Identifier 386448 386470 - Identifier 386471 386481 - AsExpression 386482 386507 - Identifier 386482 386486 - TypeReference 386489 386507 - Identifier 386489 386507 - VariableStatement 386590 386667 - VariableDeclarationList 386590 386666 - VariableDeclaration 386615 386666 - Identifier 386615 386633 - UnionType 386634 386666 - TypeOperator 386634 386654 - ArrayType 386643 386654 - TypeReference 386643 386652 - Identifier 386643 386652 - UndefinedKeyword 386656 386666 - IfStatement 386667 389141 - BinaryExpression 386693 386717 - PropertyAccessExpression 386693 386713 - Identifier 386693 386706 - Identifier 386707 386713 - GreaterThanToken 386713 386715 - NumericLiteral 386715 386717 - Block 386718 389141 - VariableStatement 386720 386773 - VariableDeclarationList 386720 386772 - VariableDeclaration 386749 386772 - Identifier 386749 386768 - NumericLiteral 386770 386772 - IfStatement 386773 389002 - PropertyAccessExpression 386803 386829 - PropertyAccessExpression 386803 386814 - Identifier 386803 386807 - Identifier 386808 386814 - Identifier 386815 386829 - Block 386830 389002 - ExpressionStatement 386832 386949 - BinaryExpression 386832 386948 - Identifier 386832 386880 - EqualsToken 386880 386882 - CallExpression 386882 386948 - PropertyAccessExpression 386882 386891 - Identifier 386882 386887 - Identifier 386888 386891 - PropertyAccessExpression 386892 386925 - PropertyAccessExpression 386892 386918 - PropertyAccessExpression 386892 386903 - Identifier 386892 386896 - Identifier 386897 386903 - Identifier 386904 386918 - Identifier 386919 386925 - PropertyAccessExpression 386926 386947 - Identifier 386926 386940 - Identifier 386941 386947 - IfStatement 386949 388975 - BinaryExpression 387449 387900 - BinaryExpression 387449 387780 - BinaryExpression 387449 387668 - CallExpression 387449 387553 - Identifier 387449 387500 - Identifier 387501 387505 - CallExpression 387506 387552 - Identifier 387506 387528 - FalseKeyword 387529 387551 - BarBarToken 387553 387556 - CallExpression 387556 387668 - Identifier 387556 387607 - Identifier 387608 387612 - CallExpression 387613 387667 - Identifier 387613 387643 - FalseKeyword 387644 387666 - BarBarToken 387668 387671 - CallExpression 387671 387780 - Identifier 387671 387722 - Identifier 387723 387727 - CallExpression 387728 387779 - Identifier 387728 387755 - FalseKeyword 387756 387778 - BarBarToken 387780 387783 - CallExpression 387783 387900 - Identifier 387783 387834 - Identifier 387835 387839 - CallExpression 387840 387899 - Identifier 387840 387875 - FalseKeyword 387876 387898 - Block 387931 388975 - IfStatement 387933 388944 - BinaryExpression 387971 388174 - BinaryExpression 387971 388082 - BinaryExpression 387971 388054 - PrefixUnaryExpression 387971 388019 - PropertyAccessExpression 388010 388019 - Identifier 388010 388014 - Identifier 388015 388019 - BarBarToken 388019 388022 - PrefixUnaryExpression 388022 388054 - CallExpression 388024 388054 - Identifier 388024 388043 - PropertyAccessExpression 388044 388053 - Identifier 388044 388048 - Identifier 388049 388053 - BarBarToken 388054 388057 - PrefixUnaryExpression 388057 388082 - PropertyAccessExpression 388059 388082 - PropertyAccessExpression 388059 388068 - Identifier 388059 388063 - Identifier 388064 388068 - Identifier 388069 388082 - BarBarToken 388082 388085 - BinaryExpression 388085 388174 - PropertyAccessExpression 388085 388153 - PropertyAccessExpression 388085 388146 - PropertyAccessExpression 388085 388132 - Identifier 388085 388127 - Identifier 388128 388132 - Identifier 388133 388146 - Identifier 388147 388153 - LessThanToken 388153 388155 - Identifier 388155 388174 - Block 388209 388944 - WhileStatement 388211 388909 - BinaryExpression 388256 388278 - Identifier 388256 388274 - GreaterThanToken 388274 388276 - NumericLiteral 388276 388278 - Block 388279 388909 - VariableStatement 388281 388382 - VariableDeclarationList 388281 388381 - VariableDeclaration 388328 388381 - Identifier 388328 388341 - ElementAccessExpression 388343 388381 - Identifier 388343 388357 - BinaryExpression 388358 388380 - Identifier 388358 388376 - MinusToken 388376 388378 - NumericLiteral 388378 388380 - VariableStatement 388382 388497 - VariableDeclarationList 388382 388496 - VariableDeclaration 388429 388496 - Identifier 388429 388443 - ElementAccessExpression 388445 388496 - PropertyAccessExpression 388445 388472 - PropertyAccessExpression 388445 388457 - Identifier 388445 388450 - Identifier 388451 388457 - Identifier 388458 388472 - BinaryExpression 388473 388495 - Identifier 388473 388491 - MinusToken 388491 388493 - NumericLiteral 388493 388495 - VariableStatement 388497 388602 - VariableDeclarationList 388497 388601 - VariableDeclaration 388544 388601 - Identifier 388544 388556 - CallExpression 388558 388601 - Identifier 388558 388586 - Identifier 388587 388600 - IfStatement 388602 388807 - BinaryExpression 388648 388709 - PrefixUnaryExpression 388648 388660 - Identifier 388649 388660 - BarBarToken 388660 388663 - PrefixUnaryExpression 388663 388709 - CallExpression 388665 388709 - Identifier 388665 388682 - Identifier 388683 388695 - Identifier 388696 388708 - Block 388710 388807 - BreakStatement 388712 388764 - ExpressionStatement 388807 388870 - PostfixUnaryExpression 388807 388869 - Identifier 388807 388867 - ExpressionStatement 389002 389118 - BinaryExpression 389002 389117 - Identifier 389002 389047 - EqualsToken 389047 389049 - CallExpression 389049 389117 - Identifier 389049 389064 - CallExpression 389065 389107 - PropertyAccessExpression 389065 389084 - Identifier 389065 389078 - Identifier 389079 389084 - Identifier 389085 389086 - Identifier 389087 389106 - Identifier 389108 389116 - VariableStatement 389141 389210 - VariableDeclarationList 389141 389209 - VariableDeclaration 389168 389209 - Identifier 389168 389181 - CallExpression 389183 389209 - Identifier 389183 389200 - Identifier 389201 389208 - ExpressionStatement 389210 389302 - BinaryExpression 389210 389301 - PropertyAccessExpression 389210 389245 - Identifier 389210 389239 - Identifier 389240 389245 - BarEqualsToken 389245 389248 - PropertyAccessExpression 389248 389301 - Identifier 389248 389265 - Identifier 389266 389301 - VariableStatement 389302 389417 - VariableDeclarationList 389302 389416 - VariableDeclaration 389329 389416 - Identifier 389329 389338 - CallExpression 389340 389416 - Identifier 389340 389357 - PropertyAccessExpression 389358 389369 - Identifier 389358 389362 - Identifier 389363 389369 - Identifier 389370 389378 - PropertyAccessExpression 389379 389396 - Identifier 389379 389391 - Identifier 389392 389396 - Identifier 389397 389415 - ExpressionStatement 389417 389454 - CallExpression 389417 389453 - Identifier 389417 389451 - ReturnStatement 389454 389573 - ConditionalExpression 389482 389572 - PrefixUnaryExpression 389482 389494 - Identifier 389484 389494 - QuestionToken 389494 389496 - Identifier 389496 389505 - ColonToken 389505 389507 - CallExpression 389507 389572 - Identifier 389507 389529 - Identifier 389530 389540 - AsExpression 389541 389571 - Identifier 389541 389550 - TypeReference 389553 389571 - Identifier 389553 389571 - FunctionDeclaration 389607 392730 - Identifier 389631 389653 - Parameter 389654 389694 - Identifier 389654 389658 - UnionType 389659 389694 - TypeReference 389659 389677 - Identifier 389659 389677 - TypeReference 389679 389694 - Identifier 389679 389694 - Parameter 389695 389718 - Identifier 389695 389699 - TypeReference 389700 389718 - Identifier 389700 389718 - UnionType 389720 389755 - TypeReference 389720 389738 - Identifier 389720 389738 - TypeReference 389740 389755 - Identifier 389740 389755 - Block 389755 392730 - IfStatement 389757 392715 - CallExpression 389779 389801 - Identifier 389779 389795 - Identifier 389796 389800 - Block 389802 391373 - VariableStatement 389804 389916 - VariableDeclarationList 389804 389915 - VariableDeclaration 389880 389915 - Identifier 389880 389894 - PropertyAccessExpression 389896 389915 - Identifier 389896 389901 - Identifier 389902 389915 - VariableStatement 389916 389969 - VariableDeclarationList 389916 389968 - VariableDeclaration 389941 389968 - Identifier 389941 389951 - PropertyAccessExpression 389953 389968 - Identifier 389953 389958 - Identifier 389959 389968 - IfStatement 389969 390722 - Identifier 389995 390004 - Block 390005 390722 - IfStatement 390007 390699 - CallExpression 390037 390060 - Identifier 390037 390049 - Identifier 390050 390059 - Block 390061 390331 - IfStatement 390063 390304 - BinaryExpression 390097 390152 - Identifier 390097 390110 - ExclamationEqualsEqualsToken 390110 390114 - CallExpression 390114 390152 - Identifier 390114 390141 - Identifier 390142 390151 - Block 390153 390304 - ExpressionStatement 390155 390273 - BinaryExpression 390155 390272 - Identifier 390155 390198 - EqualsToken 390198 390200 - CallExpression 390200 390272 - Identifier 390200 390227 - CallExpression 390228 390256 - PropertyAccessExpression 390228 390245 - Identifier 390228 390235 - Identifier 390236 390245 - Identifier 390246 390255 - Identifier 390257 390271 - Block 390361 390699 - IfStatement 390363 390672 - BinaryExpression 390397 390458 - Identifier 390397 390410 - ExclamationEqualsEqualsToken 390410 390414 - CallExpression 390414 390458 - Identifier 390414 390441 - PropertyAccessExpression 390442 390457 - Identifier 390442 390451 - Identifier 390452 390457 - Block 390459 390672 - ExpressionStatement 390461 390641 - BinaryExpression 390461 390640 - Identifier 390461 390504 - EqualsToken 390504 390506 - CallExpression 390506 390640 - PropertyAccessExpression 390506 390534 - Identifier 390506 390514 - Identifier 390515 390534 - Identifier 390535 390544 - PropertyAccessExpression 390545 390560 - Identifier 390545 390555 - Identifier 390556 390560 - CallExpression 390561 390639 - Identifier 390561 390588 - CallExpression 390589 390623 - PropertyAccessExpression 390589 390606 - Identifier 390589 390596 - Identifier 390597 390606 - PropertyAccessExpression 390607 390622 - Identifier 390607 390616 - Identifier 390617 390622 - Identifier 390624 390638 - ExpressionStatement 390722 390778 - BinaryExpression 390722 390777 - Identifier 390722 390757 - EqualsToken 390757 390759 - PropertyAccessExpression 390759 390777 - Identifier 390759 390763 - Identifier 390764 390777 - VariableStatement 390778 390877 - VariableDeclarationList 390778 390876 - VariableDeclaration 390850 390876 - Identifier 390850 390854 - CallExpression 390856 390876 - Identifier 390856 390871 - Identifier 390872 390875 - ForOfStatement 390877 391043 - VariableDeclarationList 390904 390912 - VariableDeclaration 390909 390912 - Identifier 390909 390912 - Identifier 390915 390919 - Block 390920 391043 - ExpressionStatement 390922 391020 - BinaryExpression 390922 391019 - Identifier 390922 390957 - EqualsToken 390957 390959 - ConditionalExpression 390959 391019 - Identifier 390959 390969 - QuestionToken 390969 390971 - CallExpression 390971 391014 - PropertyAccessExpression 390971 390999 - Identifier 390971 390979 - Identifier 390980 390999 - Identifier 391000 391009 - Identifier 391010 391013 - ColonToken 391014 391016 - Identifier 391016 391019 - ReturnStatement 391043 391354 - CallExpression 391071 391353 - PropertyAccessExpression 391071 391100 - Identifier 391071 391079 - Identifier 391080 391100 - Identifier 391101 391131 - PropertyAccessExpression 391132 391171 - Identifier 391132 391162 - Identifier 391163 391171 - PropertyAccessExpression 391172 391213 - Identifier 391172 391202 - Identifier 391203 391213 - Identifier 391214 391249 - Identifier 391250 391289 - PropertyAccessExpression 391290 391329 - Identifier 391290 391320 - Identifier 391321 391329 - Block 391395 392715 - VariableStatement 391397 391509 - VariableDeclarationList 391397 391508 - VariableDeclaration 391473 391508 - Identifier 391473 391487 - PropertyAccessExpression 391489 391508 - Identifier 391489 391494 - Identifier 391495 391508 - VariableStatement 391509 391560 - VariableDeclarationList 391509 391559 - VariableDeclaration 391534 391559 - Identifier 391534 391543 - PropertyAccessExpression 391545 391559 - Identifier 391545 391550 - Identifier 391551 391559 - IfStatement 391560 392203 - CallExpression 391586 391608 - Identifier 391586 391598 - Identifier 391599 391607 - Block 391609 391860 - IfStatement 391611 391837 - BinaryExpression 391641 391695 - Identifier 391641 391654 - ExclamationEqualsEqualsToken 391654 391658 - CallExpression 391658 391695 - Identifier 391658 391685 - Identifier 391686 391694 - Block 391696 391837 - ExpressionStatement 391698 391810 - BinaryExpression 391698 391809 - Identifier 391698 391736 - EqualsToken 391736 391738 - CallExpression 391738 391809 - Identifier 391738 391765 - CallExpression 391766 391793 - PropertyAccessExpression 391766 391783 - Identifier 391766 391773 - Identifier 391774 391783 - Identifier 391784 391792 - Identifier 391794 391808 - Block 391886 392203 - IfStatement 391888 392180 - BinaryExpression 391918 391978 - Identifier 391918 391931 - ExclamationEqualsEqualsToken 391931 391935 - CallExpression 391935 391978 - Identifier 391935 391962 - PropertyAccessExpression 391963 391977 - Identifier 391963 391971 - Identifier 391972 391977 - Block 391979 392180 - ExpressionStatement 391981 392153 - BinaryExpression 391981 392152 - Identifier 391981 392019 - EqualsToken 392019 392021 - CallExpression 392021 392152 - PropertyAccessExpression 392021 392049 - Identifier 392021 392029 - Identifier 392030 392049 - Identifier 392050 392058 - PropertyAccessExpression 392059 392073 - Identifier 392059 392068 - Identifier 392069 392073 - CallExpression 392074 392151 - Identifier 392074 392101 - CallExpression 392102 392135 - PropertyAccessExpression 392102 392119 - Identifier 392102 392109 - Identifier 392110 392119 - PropertyAccessExpression 392120 392134 - Identifier 392120 392128 - Identifier 392129 392134 - Identifier 392136 392150 - ExpressionStatement 392203 392259 - BinaryExpression 392203 392258 - Identifier 392203 392238 - EqualsToken 392238 392240 - PropertyAccessExpression 392240 392258 - Identifier 392240 392244 - Identifier 392245 392258 - VariableStatement 392259 392358 - VariableDeclarationList 392259 392357 - VariableDeclaration 392331 392357 - Identifier 392331 392335 - CallExpression 392337 392357 - Identifier 392337 392352 - Identifier 392353 392356 - ForOfStatement 392358 392505 - VariableDeclarationList 392385 392393 - VariableDeclaration 392390 392393 - Identifier 392390 392393 - Identifier 392396 392400 - Block 392401 392505 - ExpressionStatement 392403 392482 - BinaryExpression 392403 392481 - Identifier 392403 392437 - EqualsToken 392437 392439 - CallExpression 392439 392481 - PropertyAccessExpression 392439 392467 - Identifier 392439 392447 - Identifier 392448 392467 - Identifier 392468 392476 - Identifier 392477 392480 - ReturnStatement 392505 392696 - CallExpression 392533 392695 - PropertyAccessExpression 392533 392565 - Identifier 392533 392541 - Identifier 392542 392565 - Identifier 392566 392596 - Identifier 392597 392631 - Identifier 392632 392671 - FunctionDeclaration 392730 393121 - Identifier 392754 392769 - Parameter 392770 392792 - Identifier 392770 392773 - TypeReference 392774 392792 - Identifier 392774 392792 - ArrayType 392794 392807 - TypeReference 392794 392805 - Identifier 392794 392805 - Block 392807 393121 - VariableStatement 392809 392852 - VariableDeclarationList 392809 392851 - VariableDeclaration 392830 392851 - Identifier 392830 392836 - PropertyAccessExpression 392838 392851 - Identifier 392838 392842 - Identifier 392843 392851 - VariableStatement 392852 392885 - VariableDeclarationList 392852 392884 - VariableDeclaration 392875 392884 - Identifier 392875 392879 - ArrayLiteralExpression 392881 392884 - WhileStatement 392885 393040 - PrefixUnaryExpression 392910 392930 - CallExpression 392911 392930 - Identifier 392911 392923 - Identifier 392924 392929 - Block 392931 393040 - ExpressionStatement 392933 392980 - CallExpression 392933 392979 - PropertyAccessExpression 392933 392966 - Identifier 392933 392958 - Identifier 392959 392966 - PropertyAccessExpression 392967 392978 - Identifier 392967 392972 - Identifier 392973 392978 - ExpressionStatement 392980 393021 - BinaryExpression 392980 393020 - Identifier 392980 393007 - EqualsToken 393007 393009 - PropertyAccessExpression 393009 393020 - Identifier 393009 393015 - Identifier 393016 393020 - ExpressionStatement 393040 393077 - CallExpression 393040 393076 - PropertyAccessExpression 393040 393069 - Identifier 393040 393061 - Identifier 393062 393069 - Identifier 393070 393075 - ReturnStatement 393077 393106 - Identifier 393101 393105 - FunctionDeclaration 393121 395832 - Identifier 393145 393198 - Parameter 393199 393219 - Identifier 393199 393208 - TypeReference 393209 393219 - Identifier 393209 393219 - Parameter 393220 393248 - Identifier 393220 393228 - TypeReference 393229 393248 - Identifier 393229 393248 - Parameter 393249 393280 - Identifier 393249 393258 - UnionType 393259 393280 - TypeReference 393259 393268 - Identifier 393259 393268 - UndefinedKeyword 393270 393280 - UnionType 393282 393332 - TupleType 393282 393310 - TypeReference 393284 393309 - Identifier 393284 393309 - ArrayType 393312 393332 - TypeReference 393312 393330 - Identifier 393312 393330 - Block 393332 395832 - IfStatement 393334 395717 - PropertyAccessExpression 393356 393376 - Identifier 393356 393365 - Identifier 393366 393376 - Block 393377 395717 - VariableStatement 393379 394027 - VariableDeclarationList 393379 394026 - VariableDeclaration 393607 394026 - Identifier 393607 393645 - CallExpression 393647 394026 - Identifier 393647 393653 - PropertyAccessExpression 393654 393674 - Identifier 393654 393663 - Identifier 393664 393674 - ArrowFunction 393675 394025 - Parameter 393675 393677 - Identifier 393675 393677 - EqualsGreaterThanToken 393677 393680 - Block 393680 394025 - ReturnStatement 393682 394002 - PrefixUnaryExpression 393714 394001 - PrefixUnaryExpression 393716 394001 - ParenthesizedExpression 393717 394001 - BinaryExpression 393718 394000 - BinaryExpression 393718 393835 - BinaryExpression 393718 393803 - BinaryExpression 393718 393758 - PropertyAccessExpression 393718 393724 - Identifier 393718 393719 - Identifier 393720 393724 - AmpersandAmpersandToken 393724 393727 - CallExpression 393727 393758 - Identifier 393727 393750 - PropertyAccessExpression 393751 393757 - Identifier 393751 393752 - Identifier 393753 393757 - AmpersandAmpersandToken 393758 393761 - CallExpression 393761 393803 - Identifier 393761 393784 - PropertyAccessExpression 393785 393802 - PropertyAccessExpression 393785 393791 - Identifier 393785 393786 - Identifier 393787 393791 - Identifier 393792 393802 - AmpersandAmpersandToken 393803 393806 - PropertyAccessExpression 393806 393835 - Identifier 393806 393814 - Identifier 393815 393835 - AmpersandAmpersandToken 393835 393838 - BinaryExpression 393838 394000 - PropertyAccessExpression 393838 393965 - CallExpression 393838 393950 - Identifier 393838 393858 - PropertyAccessExpression 393859 393876 - PropertyAccessExpression 393859 393865 - Identifier 393859 393860 - Identifier 393861 393865 - Identifier 393866 393876 - PropertyAccessExpression 393877 393906 - Identifier 393877 393885 - Identifier 393886 393906 - FalseKeyword 393907 393949 - QuestionDotToken 393950 393952 - Identifier 393952 393965 - EqualsEqualsEqualsToken 393965 393969 - PropertyAccessExpression 393969 394000 - Identifier 393969 393989 - Identifier 393990 394000 - IfStatement 394027 395698 - Identifier 394053 394090 - Block 394091 395698 - VariableStatement 394093 394534 - VariableDeclarationList 394093 394533 - VariableDeclaration 394250 394533 - Identifier 394250 394264 - CallExpression 394266 394533 - Identifier 394266 394273 - PropertyAccessExpression 394274 394294 - Identifier 394274 394283 - Identifier 394284 394294 - ArrowFunction 394295 394532 - Parameter 394295 394297 - Identifier 394295 394297 - EqualsGreaterThanToken 394297 394300 - Block 394300 394532 - ReturnStatement 394302 394505 - PrefixUnaryExpression 394480 394504 - CallExpression 394482 394504 - Identifier 394482 394501 - Identifier 394502 394503 - ReturnStatement 394534 395675 - CallExpression 394566 395674 - Identifier 394566 394570 - Identifier 394571 394584 - ArrowFunction 394585 395673 - Parameter 394585 394587 - Identifier 394585 394587 - EqualsGreaterThanToken 394587 394590 - Block 394590 395673 - ExpressionStatement 394592 394846 - CallExpression 394592 394845 - Identifier 394592 394763 - AsExpression 394764 394805 - PropertyAccessExpression 394764 394781 - PropertyAccessExpression 394764 394770 - Identifier 394764 394765 - Identifier 394766 394770 - Identifier 394771 394781 - TypeReference 394784 394805 - Identifier 394784 394805 - PropertyAccessExpression 394806 394835 - Identifier 394806 394814 - Identifier 394815 394835 - Identifier 394836 394844 - ReturnStatement 394846 395646 - CallExpression 394882 395645 - Identifier 394882 394895 - Identifier 394896 394937 - CallExpression 394938 395577 - PropertyAccessExpression 394938 395003 - Identifier 394938 394979 - Identifier 394980 395003 - ConditionalExpression 395004 395129 - PropertyAccessExpression 395004 395062 - Identifier 395004 395051 - Identifier 395052 395062 - QuestionToken 395062 395064 - ArrayLiteralExpression 395064 395117 - CallExpression 395066 395116 - PropertyAccessExpression 395066 395088 - Identifier 395066 395073 - Identifier 395074 395088 - PropertyAccessExpression 395089 395115 - Identifier 395089 395099 - Identifier 395100 395115 - ColonToken 395117 395119 - Identifier 395119 395129 - PropertyAccessExpression 395130 395174 - Identifier 395130 395169 - Identifier 395170 395174 - ConditionalExpression 395175 395434 - BinaryExpression 395175 395374 - ParenthesizedExpression 395175 395355 - BinaryExpression 395214 395354 - BinaryExpression 395214 395334 - BinaryExpression 395214 395314 - BinaryExpression 395214 395288 - BinaryExpression 395214 395264 - CallExpression 395214 395236 - Identifier 395214 395233 - Identifier 395234 395235 - BarBarToken 395236 395239 - CallExpression 395239 395264 - Identifier 395239 395261 - Identifier 395262 395263 - BarBarToken 395264 395267 - CallExpression 395267 395288 - Identifier 395267 395285 - Identifier 395286 395287 - BarBarToken 395288 395291 - CallExpression 395291 395314 - Identifier 395291 395311 - Identifier 395312 395313 - BarBarToken 395314 395317 - CallExpression 395317 395334 - Identifier 395317 395331 - Identifier 395332 395333 - BarBarToken 395334 395337 - CallExpression 395337 395354 - Identifier 395337 395351 - Identifier 395352 395353 - AmpersandAmpersandToken 395355 395358 - PropertyAccessExpression 395358 395374 - Identifier 395358 395360 - Identifier 395361 395374 - QuestionToken 395374 395376 - CallExpression 395376 395422 - PropertyAccessExpression 395376 395396 - Identifier 395376 395384 - Identifier 395385 395396 - PropertyAccessExpression 395397 395421 - Identifier 395397 395407 - Identifier 395408 395421 - ColonToken 395422 395424 - Identifier 395424 395434 - BinaryExpression 395435 395541 - Identifier 395435 395481 - BarBarToken 395481 395484 - CallExpression 395484 395541 - Identifier 395484 395505 - CallExpression 395506 395531 - Identifier 395506 395521 - PropertyAccessExpression 395522 395530 - Identifier 395522 395523 - Identifier 395524 395530 - Identifier 395532 395540 - Identifier 395578 395613 - ReturnStatement 395717 395817 - ArrayLiteralExpression 395741 395816 - CallExpression 395743 395815 - Identifier 395743 395785 - Identifier 395786 395795 - Identifier 395796 395804 - Identifier 395805 395814 - FunctionDeclaration 395832 399301 - Identifier 395856 395888 - Parameter 395889 395915 - Identifier 395889 395901 - TypeReference 395902 395915 - Identifier 395902 395915 - UnionType 395917 395943 - ArrayType 395917 395931 - TypeReference 395917 395929 - Identifier 395917 395929 - UndefinedKeyword 395933 395943 - Block 395943 399301 - IfStatement 395945 396407 - CallExpression 395967 395997 - Identifier 395967 395988 - Identifier 395989 395996 - Block 395998 396407 - IfStatement 396000 396244 - BinaryExpression 396026 396071 - PropertyAccessExpression 396026 396039 - Identifier 396026 396033 - Identifier 396034 396039 - AmpersandToken 396039 396041 - PropertyAccessExpression 396041 396071 - Identifier 396041 396058 - Identifier 396059 396071 - Block 396072 396244 - ReturnStatement 396074 396221 - ArrayLiteralExpression 396106 396220 - CallExpression 396108 396219 - Identifier 396108 396135 - CallExpression 396136 396173 - PropertyAccessExpression 396136 396171 - Identifier 396136 396143 - Identifier 396144 396171 - PropertyAccessExpression 396174 396208 - Identifier 396174 396185 - Identifier 396186 396208 - StringLiteral 396209 396218 - ReturnStatement 396244 396388 - ArrayLiteralExpression 396272 396387 - CallExpression 396274 396386 - PropertyAccessExpression 396274 396305 - Identifier 396274 396281 - Identifier 396282 396305 - Identifier 396306 396329 - StringLiteral 396330 396336 - Identifier 396337 396365 - Identifier 396366 396385 - VariableStatement 396407 396464 - VariableDeclarationList 396407 396463 - VariableDeclaration 396430 396463 - Identifier 396430 396443 - ArrayType 396444 396458 - TypeReference 396444 396456 - Identifier 396444 396456 - ArrayLiteralExpression 396460 396463 - ForOfStatement 396464 396708 - VariableDeclarationList 396487 396502 - VariableDeclaration 396492 396502 - Identifier 396492 396502 - PropertyAccessExpression 396505 396533 - Identifier 396505 396518 - Identifier 396519 396533 - Block 396534 396708 - ExpressionStatement 396536 396689 - CallExpression 396536 396688 - PropertyAccessExpression 396536 396575 - Identifier 396536 396570 - Identifier 396571 396575 - AsExpression 396576 396687 - CallExpression 396576 396659 - Identifier 396576 396613 - Identifier 396614 396623 - PropertyAccessExpression 396624 396649 - Identifier 396624 396635 - Identifier 396636 396649 - Identifier 396650 396658 - TypeReference 396662 396687 - Identifier 396662 396687 - ForOfStatement 396708 397045 - VariableDeclarationList 396731 396746 - VariableDeclaration 396736 396746 - Identifier 396736 396746 - PropertyAccessExpression 396749 396782 - Identifier 396749 396762 - Identifier 396763 396782 - Block 396783 397045 - IfStatement 396785 396863 - BinaryExpression 396811 396852 - PropertyAccessExpression 396811 396826 - Identifier 396811 396820 - Identifier 396821 396826 - AmpersandToken 396826 396828 - PropertyAccessExpression 396828 396852 - Identifier 396828 396843 - Identifier 396844 396852 - ContinueStatement 396853 396863 - ExpressionStatement 396863 397026 - CallExpression 396863 397025 - PropertyAccessExpression 396863 396902 - Identifier 396863 396897 - Identifier 396898 396902 - AsExpression 396903 397024 - CallExpression 396903 396991 - Identifier 396903 396940 - Identifier 396941 396950 - PropertyAccessExpression 396951 396981 - Identifier 396951 396962 - Identifier 396963 396981 - Identifier 396982 396990 - TypeReference 396994 397024 - Identifier 396994 397024 - ForOfStatement 397045 397351 - VariableDeclarationList 397068 397078 - VariableDeclaration 397073 397078 - Identifier 397073 397078 - PropertyAccessExpression 397081 397105 - Identifier 397081 397094 - Identifier 397095 397105 - Block 397106 397351 - ExpressionStatement 397108 397332 - CallExpression 397108 397331 - PropertyAccessExpression 397108 397147 - Identifier 397108 397142 - Identifier 397143 397147 - SpreadElement 397148 397330 - CallExpression 397151 397330 - Identifier 397151 397203 - Identifier 397204 397208 - Identifier 397209 397217 - ConditionalExpression 397218 397329 - BinaryExpression 397218 397271 - PropertyAccessExpression 397218 397243 - Identifier 397218 397231 - Identifier 397232 397243 - AmpersandToken 397243 397245 - PropertyAccessExpression 397245 397271 - Identifier 397245 397257 - Identifier 397258 397271 - QuestionToken 397271 397273 - CallExpression 397273 397317 - Identifier 397273 397308 - Identifier 397309 397316 - ColonToken 397317 397319 - Identifier 397319 397329 - VariableStatement 397351 397414 - VariableDeclarationList 397351 397413 - VariableDeclaration 397376 397413 - Identifier 397376 397387 - PropertyAccessExpression 397389 397413 - Identifier 397389 397402 - Identifier 397403 397413 - IfStatement 397414 397511 - PrefixUnaryExpression 397436 397447 - Identifier 397437 397447 - Block 397448 397511 - ReturnStatement 397450 397492 - Identifier 397478 397491 - VariableStatement 397511 397541 - VariableDeclarationList 397511 397540 - VariableDeclaration 397534 397540 - Identifier 397534 397536 - NumericLiteral 397538 397540 - ForOfStatement 397541 399214 - VariableDeclarationList 397564 397584 - VariableDeclaration 397569 397584 - Identifier 397569 397584 - Identifier 397587 397598 - Block 397599 399214 - ExpressionStatement 397601 397627 - PostfixUnaryExpression 397601 397626 - Identifier 397601 397624 - IfStatement 397627 398248 - BinaryExpression 397653 397719 - PropertyAccessExpression 397653 397666 - Identifier 397653 397660 - Identifier 397661 397666 - AmpersandToken 397666 397668 - PropertyAccessExpression 397668 397719 - Identifier 397668 397685 - Identifier 397686 397719 - Block 397720 398248 - IfStatement 397722 397865 - BinaryExpression 397752 397796 - PropertyAccessExpression 397752 397772 - Identifier 397752 397766 - Identifier 397767 397772 - AmpersandToken 397772 397774 - PropertyAccessExpression 397774 397796 - Identifier 397774 397786 - Identifier 397787 397796 - Block 397797 397865 - ContinueStatement 397799 397838 - IfStatement 397865 398225 - BinaryExpression 397895 398056 - BinaryExpression 397895 398000 - CallExpression 397895 397948 - Identifier 397895 397932 - Identifier 397933 397947 - AmpersandToken 397948 397950 - ParenthesizedExpression 397950 398000 - BinaryExpression 397952 397999 - PropertyAccessExpression 397952 397973 - Identifier 397952 397965 - Identifier 397966 397973 - BarToken 397973 397975 - PropertyAccessExpression 397975 397999 - Identifier 397975 397989 - Identifier 397990 397999 - AmpersandAmpersandToken 398000 398003 - PropertyAccessExpression 398003 398056 - PropertyAccessExpression 398003 398019 - Identifier 398003 398011 - Identifier 398012 398019 - Identifier 398020 398056 - Block 398057 398225 - ExpressionStatement 398059 398198 - CallExpression 398059 398197 - PropertyAccessExpression 398059 398141 - PropertyAccessExpression 398059 398104 - Identifier 398059 398096 - Identifier 398097 398104 - Identifier 398105 398141 - CallExpression 398142 398196 - Identifier 398142 398168 - PropertyAccessExpression 398169 398195 - Identifier 398169 398183 - Identifier 398184 398195 - IfStatement 398248 399109 - BinaryExpression 398274 398339 - CallExpression 398274 398304 - Identifier 398274 398295 - Identifier 398296 398303 - AmpersandAmpersandToken 398304 398307 - ParenthesizedExpression 398307 398339 - BinaryExpression 398309 398338 - BinaryExpression 398309 398314 - Identifier 398309 398310 - PlusToken 398310 398312 - NumericLiteral 398312 398314 - LessThanToken 398314 398316 - BinaryExpression 398316 398338 - PropertyAccessExpression 398316 398334 - Identifier 398316 398327 - Identifier 398328 398334 - MinusToken 398334 398336 - NumericLiteral 398336 398338 - Block 398340 399109 - IfStatement 398342 398945 - BinaryExpression 398372 398417 - PropertyAccessExpression 398372 398385 - Identifier 398372 398379 - Identifier 398380 398385 - AmpersandToken 398385 398387 - PropertyAccessExpression 398387 398417 - Identifier 398387 398404 - Identifier 398405 398417 - Block 398418 398690 - VariableStatement 398420 398490 - VariableDeclarationList 398420 398489 - VariableDeclaration 398455 398489 - Identifier 398455 398467 - NonNullExpression 398469 398489 - CallExpression 398469 398488 - PropertyAccessExpression 398469 398486 - Identifier 398469 398482 - Identifier 398483 398486 - ExpressionStatement 398490 398663 - CallExpression 398490 398662 - PropertyAccessExpression 398490 398537 - Identifier 398490 398532 - Identifier 398533 398537 - CallExpression 398538 398661 - Identifier 398538 398565 - Identifier 398566 398577 - PropertyAccessExpression 398578 398612 - Identifier 398578 398589 - Identifier 398590 398612 - TemplateExpression 398613 398660 - TemplateHead 398613 398621 - TemplateSpan 398621 398660 - BinaryExpression 398621 398642 - PropertyAccessExpression 398621 398638 - Identifier 398621 398631 - Identifier 398632 398638 - MinusToken 398638 398640 - Identifier 398640 398642 - TemplateTail 398642 398660 - Block 398720 398945 - ExpressionStatement 398722 398918 - CallExpression 398722 398917 - PropertyAccessExpression 398722 398769 - Identifier 398722 398764 - Identifier 398765 398769 - CallExpression 398770 398916 - PropertyAccessExpression 398770 398801 - Identifier 398770 398777 - Identifier 398778 398801 - Identifier 398802 398825 - TemplateExpression 398826 398866 - TemplateHead 398826 398834 - TemplateSpan 398834 398866 - BinaryExpression 398834 398855 - PropertyAccessExpression 398834 398851 - Identifier 398834 398844 - Identifier 398845 398851 - MinusToken 398851 398853 - Identifier 398853 398855 - TemplateTail 398855 398866 - Identifier 398867 398895 - Identifier 398896 398915 - ExpressionStatement 398945 399054 - CallExpression 398945 399053 - Identifier 398945 398995 - ElementAccessExpression 398996 399029 - Identifier 398996 399006 - BinaryExpression 399007 399028 - PropertyAccessExpression 399007 399024 - Identifier 399007 399017 - Identifier 399018 399024 - MinusToken 399024 399026 - NumericLiteral 399026 399028 - Identifier 399030 399038 - Identifier 399039 399052 - BreakStatement 399054 399086 - ExpressionStatement 399109 399195 - CallExpression 399109 399194 - Identifier 399109 399155 - Identifier 399156 399170 - Identifier 399171 399179 - Identifier 399180 399193 - ReturnStatement 399214 399286 - ConditionalExpression 399238 399285 - PropertyAccessExpression 399238 399258 - Identifier 399238 399251 - Identifier 399252 399258 - QuestionToken 399258 399260 - Identifier 399260 399273 - ColonToken 399273 399275 - Identifier 399275 399285 - FunctionDeclaration 399312 399804 - Identifier 399332 399367 - Parameter 399368 399395 - Identifier 399368 399375 - TypeReference 399376 399395 - Identifier 399376 399395 - Block 399396 399804 - ExpressionStatement 399398 399443 - BinaryExpression 399398 399442 - PropertyAccessExpression 399398 399437 - Identifier 399398 399419 - Identifier 399420 399437 - PlusEqualsToken 399437 399440 - NumericLiteral 399440 399442 - IfStatement 399443 399646 - PrefixUnaryExpression 399461 399509 - ParenthesizedExpression 399462 399509 - BinaryExpression 399463 399508 - PropertyAccessExpression 399463 399476 - Identifier 399463 399470 - Identifier 399471 399476 - AmpersandToken 399476 399478 - PropertyAccessExpression 399478 399508 - Identifier 399478 399495 - Identifier 399496 399508 - Block 399510 399646 - ReturnStatement 399512 399631 - CallExpression 399536 399630 - PropertyAccessExpression 399536 399568 - Identifier 399536 399544 - Identifier 399545 399568 - CallExpression 399569 399600 - PropertyAccessExpression 399569 399593 - Identifier 399569 399576 - Identifier 399577 399593 - StringLiteral 399594 399599 - Identifier 399601 399629 - ReturnStatement 399646 399793 - CallExpression 399666 399792 - Identifier 399666 399693 - CallExpression 399694 399746 - PropertyAccessExpression 399694 399723 - Identifier 399694 399701 - Identifier 399702 399723 - PropertyAccessExpression 399724 399745 - Identifier 399724 399734 - Identifier 399735 399745 - PropertyAccessExpression 399747 399781 - Identifier 399747 399758 - Identifier 399759 399781 - StringLiteral 399782 399791 - FunctionDeclaration 399804 401909 - Identifier 399824 399856 - Parameter 399857 399879 - Identifier 399857 399871 - TypeReference 399872 399879 - Identifier 399872 399879 - Parameter 399880 399908 - Identifier 399880 399888 - TypeReference 399889 399908 - Identifier 399889 399908 - Block 399909 401909 - VariableStatement 399911 400780 - VariableDeclarationList 399911 400779 - VariableDeclaration 400769 400779 - Identifier 400769 400775 - NumericLiteral 400777 400779 - ReturnStatement 400780 401295 - BinaryExpression 400800 401294 - PrefixUnaryExpression 400800 400861 - PrefixUnaryExpression 400802 400861 - ParenthesizedExpression 400803 400861 - BinaryExpression 400804 400860 - CallExpression 400804 400833 - Identifier 400804 400817 - Identifier 400818 400832 - AmpersandToken 400833 400835 - PropertyAccessExpression 400835 400860 - Identifier 400835 400846 - Identifier 400847 400860 - AmpersandAmpersandToken 400861 400881 - ParenthesizedExpression 400881 401294 - BinaryExpression 400883 401275 - BinaryExpression 400883 401209 - CallExpression 400883 400980 - Identifier 400883 400913 - PropertyAccessExpression 400914 400940 - Identifier 400914 400921 - Identifier 400922 400940 - AsExpression 400941 400979 - Identifier 400941 400956 - TypeReference 400959 400979 - Identifier 400959 400979 - BarBarToken 400980 401004 - ParenthesizedExpression 401004 401209 - BinaryExpression 401006 401186 - ElementAccessExpression 401006 401063 - PropertyAccessExpression 401006 401058 - Identifier 401006 401039 - Identifier 401040 401058 - QuestionDotToken 401058 401060 - NumericLiteral 401061 401062 - AmpersandAmpersandToken 401063 401091 - PrefixUnaryExpression 401091 401186 - ParenthesizedExpression 401093 401186 - BinaryExpression 401094 401185 - CallExpression 401094 401161 - Identifier 401094 401108 - PropertyAccessExpression 401109 401160 - PropertyAccessExpression 401109 401147 - CallExpression 401109 401141 - Identifier 401109 401113 - PropertyAccessExpression 401114 401140 - Identifier 401114 401121 - Identifier 401122 401140 - Identifier 401142 401147 - Identifier 401148 401160 - AmpersandToken 401161 401163 - PropertyAccessExpression 401163 401185 - Identifier 401163 401175 - Identifier 401176 401185 - BarBarToken 401209 401233 - CallExpression 401233 401275 - Identifier 401233 401273 - FunctionDeclaration 401295 401898 - Identifier 401317 401357 - Block 401359 401898 - IfStatement 401361 401489 - BinaryExpression 401383 401432 - ParenthesizedExpression 401383 401424 - BinaryExpression 401384 401423 - PropertyAccessExpression 401384 401418 - PropertyAccessExpression 401384 401410 - Identifier 401384 401391 - Identifier 401392 401410 - QuestionDotToken 401410 401412 - Identifier 401412 401418 - QuestionQuestionToken 401418 401421 - NumericLiteral 401421 401423 - LessThanToken 401424 401426 - Identifier 401426 401432 - Block 401433 401489 - ReturnStatement 401435 401470 - FalseKeyword 401463 401469 - ForStatement 401489 401853 - VariableDeclarationList 401512 401521 - VariableDeclaration 401515 401521 - Identifier 401515 401517 - NumericLiteral 401519 401521 - BinaryExpression 401522 401532 - Identifier 401522 401524 - LessThanToken 401524 401526 - Identifier 401526 401532 - PostfixUnaryExpression 401533 401537 - Identifier 401533 401535 - Block 401538 401853 - VariableStatement 401540 401647 - VariableDeclarationList 401540 401646 - VariableDeclaration 401567 401646 - Identifier 401567 401572 - ElementAccessExpression 401574 401646 - NonNullExpression 401574 401602 - PropertyAccessExpression 401574 401601 - Identifier 401574 401582 - Identifier 401583 401601 - BinaryExpression 401603 401645 - BinaryExpression 401603 401641 - PropertyAccessExpression 401603 401637 - NonNullExpression 401603 401630 - PropertyAccessExpression 401603 401629 - Identifier 401603 401610 - Identifier 401611 401629 - Identifier 401631 401637 - MinusToken 401637 401639 - NumericLiteral 401639 401641 - MinusToken 401641 401643 - Identifier 401643 401645 - IfStatement 401647 401834 - BinaryExpression 401673 401769 - PropertyAccessExpression 401673 401701 - PropertyAccessExpression 401673 401694 - PropertyAccessExpression 401673 401683 - Identifier 401673 401677 - Identifier 401678 401683 - Identifier 401684 401694 - Identifier 401695 401701 - ExclamationEqualsEqualsToken 401701 401705 - PropertyAccessExpression 401705 401769 - PropertyAccessExpression 401705 401762 - PropertyAccessExpression 401705 401751 - ParenthesizedExpression 401705 401745 - AsExpression 401707 401744 - Identifier 401707 401721 - TypeReference 401724 401744 - Identifier 401724 401744 - Identifier 401746 401751 - Identifier 401752 401762 - Identifier 401763 401769 - Block 401770 401834 - ReturnStatement 401772 401811 - FalseKeyword 401804 401810 - ReturnStatement 401853 401883 - TrueKeyword 401877 401882 - FunctionDeclaration 401909 408679 - Identifier 401929 401954 - Parameter 401955 401977 - Identifier 401955 401969 - TypeReference 401970 401977 - Identifier 401970 401977 - Parameter 401978 402006 - Identifier 401978 401986 - TypeReference 401987 402006 - Identifier 401987 402006 - Parameter 402007 402035 - Identifier 402007 402020 - ArrayType 402021 402035 - TypeReference 402021 402033 - Identifier 402021 402033 - Block 402036 408679 - VariableStatement 402038 402145 - VariableDeclarationList 402038 402144 - VariableDeclaration 402057 402144 - Identifier 402057 402081 - PrefixUnaryExpression 402083 402144 - PrefixUnaryExpression 402085 402144 - ParenthesizedExpression 402086 402144 - BinaryExpression 402087 402143 - CallExpression 402087 402116 - Identifier 402087 402100 - Identifier 402101 402115 - AmpersandToken 402116 402118 - PropertyAccessExpression 402118 402143 - Identifier 402118 402129 - Identifier 402130 402143 - VariableStatement 402145 402308 - VariableDeclarationList 402145 402307 - VariableDeclaration 402164 402307 - Identifier 402164 402177 - ConditionalExpression 402179 402307 - CallExpression 402179 402236 - Identifier 402179 402211 - Identifier 402212 402226 - Identifier 402227 402235 - QuestionToken 402236 402238 - Identifier 402238 402263 - ColonToken 402263 402265 - CallExpression 402265 402307 - Identifier 402265 402291 - Identifier 402292 402306 - VariableStatement 402308 402384 - VariableDeclarationList 402308 402383 - VariableDeclaration 402327 402383 - Identifier 402327 402352 - PropertyAccessExpression 402354 402383 - Identifier 402354 402362 - Identifier 402363 402383 - ExpressionStatement 402384 402439 - BinaryExpression 402384 402438 - PropertyAccessExpression 402384 402426 - Identifier 402384 402405 - Identifier 402406 402426 - EqualsToken 402426 402428 - Identifier 402428 402438 - IfStatement 402439 403515 - BinaryExpression 402457 402534 - PropertyAccessExpression 402457 402487 - PropertyAccessExpression 402457 402472 - Identifier 402457 402464 - Identifier 402465 402472 - Identifier 402473 402487 - AmpersandAmpersandToken 402487 402490 - CallExpression 402490 402534 - Identifier 402490 402506 - PropertyAccessExpression 402507 402533 - Identifier 402507 402521 - Identifier 402522 402533 - Block 402535 403515 - IfStatement 402537 403500 - PropertyAccessExpression 402559 402586 - Identifier 402559 402573 - Identifier 402574 402586 - Block 402587 403357 - VariableStatement 402589 402659 - VariableDeclarationList 402589 402658 - VariableDeclaration 402616 402658 - Identifier 402616 402621 - CallExpression 402623 402658 - Identifier 402623 402629 - PropertyAccessExpression 402630 402657 - Identifier 402630 402644 - Identifier 402645 402657 - IfStatement 402659 403338 - CallExpression 402685 402710 - Identifier 402685 402704 - Identifier 402705 402709 - Block 402711 403338 - IfStatement 402713 403315 - CallExpression 402743 402767 - Identifier 402743 402761 - Identifier 402762 402766 - Block 402768 403151 - VariableStatement 402770 402840 - VariableDeclarationList 402770 402839 - VariableDeclaration 402805 402839 - Identifier 402805 402810 - CallExpression 402812 402839 - Identifier 402812 402833 - Identifier 402834 402838 - IfStatement 402840 403124 - BinaryExpression 402874 402978 - BinaryExpression 402874 402913 - Identifier 402874 402878 - AmpersandAmpersandToken 402878 402881 - CallExpression 402881 402913 - Identifier 402881 402907 - Identifier 402908 402912 - AmpersandAmpersandToken 402913 402916 - CallExpression 402916 402978 - Identifier 402916 402953 - PropertyAccessExpression 402954 402977 - Identifier 402954 402958 - Identifier 402959 402977 - Block 402979 403124 - ExpressionStatement 402981 403093 - CallExpression 402981 403092 - Identifier 402981 403032 - PropertyAccessExpression 403033 403056 - Identifier 403033 403037 - Identifier 403038 403056 - Identifier 403057 403082 - Identifier 403083 403091 - Block 403181 403315 - ExpressionStatement 403183 403288 - CallExpression 403183 403287 - Identifier 403183 403230 - PropertyAccessExpression 403231 403251 - PropertyAccessExpression 403231 403240 - Identifier 403231 403235 - Identifier 403236 403240 - Identifier 403241 403251 - Identifier 403252 403277 - Identifier 403278 403286 - Block 403379 403500 - ExpressionStatement 403381 403481 - CallExpression 403381 403480 - PropertyAccessExpression 403381 403448 - PropertyAccessExpression 403381 403418 - Identifier 403381 403410 - Identifier 403411 403418 - Identifier 403419 403448 - CallExpression 403449 403479 - Identifier 403449 403463 - Identifier 403464 403478 - ExpressionStatement 403515 403656 - BinaryExpression 403515 403655 - PropertyAccessExpression 403515 403557 - Identifier 403515 403536 - Identifier 403537 403557 - EqualsToken 403557 403559 - BinaryExpression 403559 403655 - BinaryExpression 403559 403627 - PropertyAccessExpression 403559 403591 - Identifier 403559 403574 - Identifier 403575 403591 - BarBarToken 403591 403594 - ElementAccessExpression 403594 403627 - PropertyAccessExpression 403594 403622 - Identifier 403594 403609 - Identifier 403610 403622 - QuestionDotToken 403622 403624 - NumericLiteral 403625 403626 - BarBarToken 403627 403630 - Identifier 403630 403655 - VariableStatement 403656 403745 - VariableDeclarationList 403656 403744 - VariableDeclaration 403675 403744 - Identifier 403675 403688 - CallExpression 403690 403744 - Identifier 403690 403719 - Identifier 403720 403734 - Identifier 403735 403743 - ExpressionStatement 403745 403815 - BinaryExpression 403745 403814 - PropertyAccessExpression 403745 403787 - Identifier 403745 403766 - Identifier 403767 403787 - EqualsToken 403787 403789 - Identifier 403789 403814 - ExpressionStatement 403815 403896 - BinaryExpression 403815 403895 - PropertyAccessExpression 403815 403854 - Identifier 403815 403836 - Identifier 403837 403854 - PlusEqualsToken 403854 403857 - BinaryExpression 403857 403895 - PropertyAccessExpression 403857 403891 - CallExpression 403857 403884 - Identifier 403857 403868 - Identifier 403869 403883 - Identifier 403885 403891 - PlusToken 403891 403893 - NumericLiteral 403893 403895 - IfStatement 403896 405436 - BinaryExpression 403916 403959 - PropertyAccessExpression 403916 403936 - Identifier 403916 403930 - Identifier 403931 403936 - AmpersandToken 403936 403938 - PropertyAccessExpression 403938 403959 - Identifier 403938 403950 - Identifier 403951 403959 - Block 403960 405436 - VariableStatement 403962 404035 - VariableDeclarationList 403962 404034 - VariableDeclaration 403985 404034 - Identifier 403985 403995 - CallExpression 403997 404034 - Identifier 403997 404018 - Identifier 404019 404033 - IfStatement 404035 405421 - BinaryExpression 404057 404140 - BinaryExpression 404057 404113 - BinaryExpression 404057 404083 - Identifier 404057 404069 - ExclamationEqualsEqualsToken 404069 404073 - Identifier 404073 404083 - AmpersandAmpersandToken 404083 404086 - PrefixUnaryExpression 404086 404113 - CallExpression 404088 404113 - Identifier 404088 404099 - Identifier 404100 404112 - AmpersandAmpersandToken 404113 404116 - PrefixUnaryExpression 404116 404140 - CallExpression 404118 404140 - Identifier 404118 404129 - Identifier 404130 404139 - Block 404141 405421 - VariableStatement 404143 404277 - VariableDeclarationList 404143 404276 - VariableDeclaration 404170 404276 - Identifier 404170 404188 - NonNullExpression 404190 404276 - CallExpression 404190 404275 - Identifier 404190 404211 - TypeReference 404212 404234 - Identifier 404212 404234 - Identifier 404236 404250 - PropertyAccessExpression 404251 404274 - Identifier 404251 404262 - Identifier 404263 404274 - VariableStatement 404277 404370 - VariableDeclarationList 404277 404369 - VariableDeclaration 404304 404369 - Identifier 404304 404320 - CallExpression 404322 404369 - Identifier 404322 404350 - Identifier 404351 404368 - ExpressionStatement 404370 404758 - CallExpression 404370 404757 - PropertyAccessExpression 404370 404409 - Identifier 404370 404404 - Identifier 404405 404409 - CallExpression 404410 404733 - Identifier 404410 404451 - Identifier 404452 404489 - AsExpression 404490 404657 - CallExpression 404490 404631 - Identifier 404490 404557 - Identifier 404558 404573 - PropertyAccessExpression 404574 404597 - Identifier 404574 404585 - Identifier 404586 404597 - Identifier 404598 404606 - ObjectLiteralExpression 404607 404630 - PropertyAssignment 404609 404628 - Identifier 404609 404614 - Identifier 404615 404628 - TypeReference 404634 404657 - Identifier 404634 404657 - Identifier 404658 404705 - VariableStatement 404758 404892 - VariableDeclarationList 404758 404891 - VariableDeclaration 404785 404891 - Identifier 404785 404803 - NonNullExpression 404805 404891 - CallExpression 404805 404890 - Identifier 404805 404826 - TypeReference 404827 404849 - Identifier 404827 404849 - Identifier 404851 404865 - PropertyAccessExpression 404866 404889 - Identifier 404866 404877 - Identifier 404878 404889 - VariableStatement 404892 404985 - VariableDeclarationList 404892 404984 - VariableDeclaration 404919 404984 - Identifier 404919 404935 - CallExpression 404937 404984 - Identifier 404937 404965 - Identifier 404966 404983 - ExpressionStatement 404985 405373 - CallExpression 404985 405372 - PropertyAccessExpression 404985 405024 - Identifier 404985 405019 - Identifier 405020 405024 - CallExpression 405025 405348 - Identifier 405025 405066 - Identifier 405067 405104 - AsExpression 405105 405272 - CallExpression 405105 405246 - Identifier 405105 405172 - Identifier 405173 405188 - PropertyAccessExpression 405189 405212 - Identifier 405189 405200 - Identifier 405201 405212 - Identifier 405213 405221 - ObjectLiteralExpression 405222 405245 - PropertyAssignment 405224 405243 - Identifier 405224 405229 - Identifier 405230 405243 - TypeReference 405249 405272 - Identifier 405249 405272 - Identifier 405273 405320 - ReturnStatement 405373 405402 - VariableStatement 405436 405578 - VariableDeclarationList 405436 405577 - VariableDeclaration 405457 405577 - Identifier 405457 405471 - ConditionalExpression 405473 405577 - BinaryExpression 405473 405517 - PropertyAccessExpression 405473 405494 - Identifier 405473 405488 - Identifier 405489 405494 - AmpersandToken 405494 405496 - PropertyAccessExpression 405496 405517 - Identifier 405496 405508 - Identifier 405509 405517 - QuestionToken 405517 405519 - CallExpression 405519 405565 - PropertyAccessExpression 405519 405539 - Identifier 405519 405527 - Identifier 405528 405539 - PropertyAccessExpression 405540 405564 - Identifier 405540 405550 - Identifier 405551 405564 - ColonToken 405565 405567 - Identifier 405567 405577 - IfStatement 405578 406436 - BinaryExpression 405596 405750 - BinaryExpression 405596 405713 - BinaryExpression 405596 405662 - PropertyAccessExpression 405596 405616 - Identifier 405596 405610 - Identifier 405611 405616 - AmpersandToken 405616 405618 - ParenthesizedExpression 405618 405662 - BinaryExpression 405620 405661 - PropertyAccessExpression 405620 405640 - Identifier 405620 405631 - Identifier 405632 405640 - BarToken 405640 405642 - PropertyAccessExpression 405642 405661 - Identifier 405642 405654 - Identifier 405655 405661 - AmpersandAmpersandToken 405662 405665 - PrefixUnaryExpression 405665 405713 - PropertyAccessExpression 405667 405713 - CallExpression 405667 405706 - Identifier 405667 405692 - Identifier 405693 405705 - Identifier 405707 405713 - AmpersandAmpersandToken 405713 405716 - PrefixUnaryExpression 405716 405750 - CallExpression 405718 405750 - Identifier 405718 405734 - Identifier 405735 405749 - Block 405751 406436 - VariableStatement 405753 405895 - VariableDeclarationList 405753 405894 - VariableDeclaration 405776 405894 - Identifier 405776 405787 - CallExpression 405789 405894 - Identifier 405789 405809 - CallExpression 405810 405873 - Identifier 405810 405820 - Identifier 405821 405833 - ArrowFunction 405834 405872 - Parameter 405834 405836 - Identifier 405834 405836 - EqualsGreaterThanToken 405836 405839 - PrefixUnaryExpression 405839 405872 - ParenthesizedExpression 405841 405872 - BinaryExpression 405842 405871 - PropertyAccessExpression 405842 405849 - Identifier 405842 405843 - Identifier 405844 405849 - AmpersandToken 405849 405851 - PropertyAccessExpression 405851 405871 - Identifier 405851 405861 - Identifier 405862 405871 - PropertyAccessExpression 405874 405893 - Identifier 405874 405888 - Identifier 405889 405893 - ForOfStatement 405895 406313 - VariableDeclarationList 405918 405933 - VariableDeclaration 405923 405933 - Identifier 405923 405933 - Identifier 405936 405947 - Block 405948 406313 - VariableStatement 405950 406157 - VariableDeclarationList 405950 406156 - VariableDeclaration 405977 406156 - Identifier 405977 405995 - AsExpression 405997 406156 - CallExpression 405997 406137 - Identifier 405997 406035 - Identifier 406036 406045 - PropertyAccessExpression 406046 406073 - Identifier 406046 406057 - Identifier 406058 406073 - Identifier 406074 406082 - ObjectLiteralExpression 406083 406136 - PropertyAssignment 406085 406104 - Identifier 406085 406090 - Identifier 406091 406104 - PropertyAssignment 406105 406134 - Identifier 406105 406119 - Identifier 406120 406134 - TypeReference 406140 406156 - Identifier 406140 406156 - ExpressionStatement 406157 406294 - CallExpression 406157 406293 - PropertyAccessExpression 406157 406196 - Identifier 406157 406191 - Identifier 406192 406196 - CallExpression 406197 406292 - Identifier 406197 406215 - Identifier 406216 406233 - BinaryExpression 406234 406291 - PropertyAccessExpression 406234 406256 - Identifier 406234 406244 - Identifier 406245 406256 - BarBarToken 406256 406259 - PropertyAccessExpression 406259 406291 - Identifier 406259 406274 - Identifier 406275 406291 - IfStatement 406313 406421 - BinaryExpression 406335 406370 - PropertyAccessExpression 406335 406352 - Identifier 406335 406345 - Identifier 406346 406352 - BarBarToken 406352 406355 - PrefixUnaryExpression 406355 406370 - Identifier 406357 406370 - Block 406371 406421 - ReturnStatement 406373 406402 - VariableStatement 406436 406481 - VariableDeclarationList 406436 406480 - VariableDeclaration 406453 406480 - Identifier 406453 406470 - TypeReference 406471 406480 - Identifier 406471 406480 - IfStatement 406481 407229 - CallExpression 406499 406555 - Identifier 406499 406530 - Identifier 406531 406545 - Identifier 406546 406554 - Block 406556 406654 - ExpressionStatement 406558 406639 - BinaryExpression 406558 406638 - Identifier 406558 406592 - EqualsToken 406592 406594 - CallExpression 406594 406638 - Identifier 406594 406629 - Identifier 406630 406637 - Block 406672 407229 - IfStatement 406674 406890 - Identifier 406696 406719 - Block 406720 406890 - ExpressionStatement 406722 406778 - BinaryExpression 406722 406777 - PropertyAccessExpression 406722 406770 - Identifier 406722 406751 - Identifier 406752 406770 - BarBarEqualsToken 406770 406774 - ArrayLiteralExpression 406774 406777 - ExpressionStatement 406778 406871 - CallExpression 406778 406870 - PropertyAccessExpression 406778 406831 - PropertyAccessExpression 406778 406826 - Identifier 406778 406807 - Identifier 406808 406826 - Identifier 406827 406831 - AsExpression 406832 406869 - Identifier 406832 406846 - TypeReference 406849 406869 - Identifier 406849 406869 - ExpressionStatement 406890 407091 - BinaryExpression 406890 407090 - Identifier 406890 406924 - EqualsToken 406924 406926 - ConditionalExpression 406926 407090 - Identifier 406926 406939 - QuestionToken 406939 406941 - CallExpression 406941 407035 - Identifier 406941 406969 - Identifier 406970 406977 - Identifier 406978 407004 - Identifier 407005 407018 - Identifier 407019 407034 - ColonToken 407035 407037 - CallExpression 407037 407090 - PropertyAccessExpression 407037 407067 - Identifier 407037 407045 - Identifier 407046 407067 - PropertyAccessExpression 407068 407089 - Identifier 407068 407078 - Identifier 407079 407089 - IfStatement 407091 407214 - Identifier 407113 407136 - Block 407137 407214 - ExpressionStatement 407139 407195 - CallExpression 407139 407194 - PropertyAccessExpression 407139 407192 - NonNullExpression 407139 407188 - PropertyAccessExpression 407139 407187 - Identifier 407139 407168 - Identifier 407169 407187 - Identifier 407189 407192 - VariableStatement 407229 407360 - VariableDeclarationList 407229 407359 - VariableDeclaration 407250 407359 - Identifier 407250 407260 - ConditionalExpression 407262 407359 - CallExpression 407262 407295 - Identifier 407262 407279 - Identifier 407280 407294 - QuestionToken 407295 407297 - ArrayLiteralExpression 407297 407347 - CallExpression 407299 407346 - PropertyAccessExpression 407299 407318 - Identifier 407299 407306 - Identifier 407307 407318 - PropertyAccessExpression 407319 407345 - Identifier 407319 407329 - Identifier 407330 407345 - ColonToken 407347 407349 - Identifier 407349 407359 - IfStatement 407360 407454 - Identifier 407378 407387 - Block 407388 407454 - ExpressionStatement 407390 407439 - BinaryExpression 407390 407438 - PropertyAccessExpression 407390 407433 - Identifier 407390 407415 - Identifier 407416 407433 - PlusEqualsToken 407433 407436 - NumericLiteral 407436 407438 - VariableStatement 407454 407668 - VariableDeclarationList 407454 407667 - VariableDeclaration 407473 407667 - Identifier 407473 407491 - CallExpression 407493 407667 - PropertyAccessExpression 407493 407525 - Identifier 407493 407501 - Identifier 407502 407525 - Identifier 407526 407553 - Identifier 407554 407584 - Identifier 407585 407616 - Identifier 407617 407651 - ExpressionStatement 407668 407774 - CallExpression 407668 407773 - PropertyAccessExpression 407668 407701 - Identifier 407668 407696 - Identifier 407697 407701 - CallExpression 407702 407772 - Identifier 407702 407720 - Identifier 407721 407738 - PropertyAccessExpression 407739 407771 - Identifier 407739 407754 - Identifier 407755 407771 - FunctionDeclaration 407774 408668 - Identifier 407798 407817 - TypeParameter 407818 407832 - Identifier 407818 407819 - TypeReference 407827 407832 - Identifier 407827 407832 - Parameter 407834 407841 - Identifier 407834 407838 - TypeReference 407839 407841 - Identifier 407839 407841 - Parameter 407842 407866 - Identifier 407842 407848 - UnionType 407849 407866 - TypeReference 407849 407854 - Identifier 407849 407854 - UndefinedKeyword 407856 407866 - Block 407867 408668 - VariableStatement 407869 408016 - VariableDeclarationList 407869 408015 - VariableDeclaration 407892 408015 - Identifier 407892 407909 - CallExpression 407911 408015 - PropertyAccessExpression 407911 407945 - PropertyAccessExpression 407911 407939 - Identifier 407911 407926 - Identifier 407927 407939 - QuestionDotToken 407939 407941 - Identifier 407941 407945 - ArrowFunction 407946 408014 - Parameter 407947 407948 - Identifier 407947 407948 - TypePredicate 407950 407972 - Identifier 407950 407952 - TypeReference 407955 407972 - Identifier 407955 407972 - EqualsGreaterThanToken 407972 407975 - BinaryExpression 407975 408014 - PropertyAccessExpression 407975 407982 - Identifier 407975 407977 - Identifier 407978 407982 - EqualsEqualsEqualsToken 407982 407986 - PropertyAccessExpression 407986 408014 - Identifier 407986 407997 - Identifier 407998 408014 - IfStatement 408016 408623 - Identifier 408038 408054 - Block 408055 408442 - VariableStatement 408057 408147 - VariableDeclarationList 408057 408146 - VariableDeclaration 408084 408146 - Identifier 408084 408096 - CallExpression 408098 408146 - Identifier 408098 408120 - PropertyAccessExpression 408121 408145 - Identifier 408121 408137 - Identifier 408138 408145 - IfStatement 408147 408423 - Identifier 408173 408184 - Block 408185 408423 - ExpressionStatement 408187 408400 - CallExpression 408187 408399 - Identifier 408187 408240 - Identifier 408241 408245 - ArrayLiteralExpression 408246 408398 - ObjectLiteralExpression 408248 408397 - PropertyAssignment 408249 408289 - Identifier 408249 408254 - PropertyAccessExpression 408255 408289 - Identifier 408255 408266 - Identifier 408267 408289 - PropertyAssignment 408290 408351 - Identifier 408290 408295 - BinaryExpression 408296 408351 - BinaryExpression 408296 408343 - StringLiteral 408296 408305 - PlusToken 408305 408307 - CallExpression 408307 408343 - PropertyAccessExpression 408307 408327 - Identifier 408307 408319 - Identifier 408320 408327 - RegularExpressionLiteral 408328 408333 - StringLiteral 408334 408342 - PlusToken 408343 408345 - StringLiteral 408345 408351 - PropertyAssignment 408352 408360 - Identifier 408352 408356 - PrefixUnaryExpression 408357 408360 - NumericLiteral 408359 408360 - PropertyAssignment 408361 408369 - Identifier 408361 408365 - PrefixUnaryExpression 408366 408369 - NumericLiteral 408368 408369 - PropertyAssignment 408370 408395 - Identifier 408370 408389 - TrueKeyword 408390 408395 - IfStatement 408464 408623 - Identifier 408469 408474 - Block 408475 408623 - ExpressionStatement 408477 408604 - CallExpression 408477 408603 - Identifier 408477 408581 - Identifier 408582 408589 - Identifier 408590 408595 - Identifier 408596 408602 - ReturnStatement 408623 408653 - Identifier 408647 408652 - FunctionDeclaration 408679 409060 - Identifier 408699 408715 - TypeParameter 408716 408730 - Identifier 408716 408717 - TypeReference 408725 408730 - Identifier 408725 408730 - Parameter 408732 408759 - Identifier 408732 408739 - TypeReference 408740 408759 - Identifier 408740 408759 - Parameter 408760 408768 - Identifier 408760 408765 - TypeReference 408766 408768 - Identifier 408766 408768 - Parameter 408769 408781 - Identifier 408769 408775 - TypeReference 408776 408781 - Identifier 408776 408781 - TypeReference 408783 408785 - Identifier 408783 408785 - Block 408785 409060 - IfStatement 408787 409023 - BinaryExpression 408805 408882 - PropertyAccessExpression 408805 408826 - Identifier 408805 408812 - Identifier 408813 408826 - AmpersandAmpersandToken 408826 408829 - BinaryExpression 408829 408882 - PropertyAccessExpression 408829 408851 - Identifier 408829 408837 - Identifier 408838 408851 - EqualsEqualsEqualsToken 408851 408855 - CallExpression 408855 408882 - Identifier 408855 408875 - Identifier 408876 408881 - Block 408883 409023 - ReturnStatement 408885 409008 - CallExpression 408972 409007 - Identifier 408972 408994 - Identifier 408995 408999 - Identifier 409000 409006 - ReturnStatement 409023 409049 - Identifier 409043 409048 - FunctionDeclaration 409060 413554 - Identifier 409080 409095 - Parameter 409096 409130 - Identifier 409096 409101 - UnionType 409102 409130 - TypeOperator 409102 409118 - ArrayType 409111 409118 - TypeReference 409111 409116 - Identifier 409111 409116 - UndefinedKeyword 409120 409130 - Parameter 409131 409159 - Identifier 409131 409139 - TypeReference 409140 409159 - Identifier 409140 409159 - Parameter 409160 409181 - Identifier 409160 409171 - QuestionToken 409171 409172 - BooleanKeyword 409173 409181 - UnionType 409183 409206 - ArrayType 409183 409194 - TypeReference 409183 409192 - Identifier 409183 409192 - UndefinedKeyword 409196 409206 - Block 409206 413554 - IfStatement 409208 413543 - CallExpression 409226 409237 - Identifier 409226 409230 - Identifier 409231 409236 - Block 409238 413543 - IfStatement 409240 410471 - CallExpression 409262 409292 - Identifier 409262 409283 - Identifier 409284 409291 - Block 409293 410471 - IfStatement 409295 410452 - PrefixUnaryExpression 409321 409332 - Identifier 409322 409332 - Block 409333 409760 - ReturnStatement 409335 409737 - ArrayLiteralExpression 409367 409736 - ConditionalExpression 409369 409708 - BinaryExpression 409369 409444 - PropertyAccessExpression 409369 409412 - Identifier 409369 409406 - Identifier 409407 409412 - AmpersandToken 409412 409414 - PropertyAccessExpression 409414 409444 - Identifier 409414 409431 - Identifier 409432 409444 - QuestionToken 409444 409479 - CallExpression 409479 409605 - Identifier 409479 409506 - CallExpression 409507 409559 - PropertyAccessExpression 409507 409536 - Identifier 409507 409514 - Identifier 409515 409536 - PropertyAccessExpression 409537 409558 - Identifier 409537 409547 - Identifier 409548 409558 - PropertyAccessExpression 409560 409594 - Identifier 409560 409571 - Identifier 409572 409594 - StringLiteral 409595 409604 - ColonToken 409605 409640 - CallExpression 409640 409708 - PropertyAccessExpression 409640 409672 - Identifier 409640 409648 - Identifier 409649 409672 - StringLiteral 409673 409678 - Identifier 409679 409707 - IfStatement 409786 410452 - BinaryExpression 409791 409807 - PropertyAccessExpression 409791 409803 - Identifier 409791 409796 - Identifier 409797 409803 - GreaterThanToken 409803 409805 - NumericLiteral 409805 409807 - Block 409808 410452 - ReturnStatement 409810 410429 - ArrayLiteralExpression 409842 410428 - CallExpression 409844 409913 - Identifier 409844 409894 - ElementAccessExpression 409895 409903 - Identifier 409895 409900 - NumericLiteral 409901 409902 - Identifier 409904 409912 - ConditionalExpression 409914 410315 - BinaryExpression 409914 409989 - PropertyAccessExpression 409914 409957 - Identifier 409914 409951 - Identifier 409952 409957 - AmpersandToken 409957 409959 - PropertyAccessExpression 409959 409989 - Identifier 409959 409976 - Identifier 409977 409989 - QuestionToken 409989 410024 - CallExpression 410024 410183 - Identifier 410024 410051 - CallExpression 410052 410104 - PropertyAccessExpression 410052 410081 - Identifier 410052 410059 - Identifier 410060 410081 - PropertyAccessExpression 410082 410103 - Identifier 410082 410092 - Identifier 410093 410103 - PropertyAccessExpression 410105 410139 - Identifier 410105 410116 - Identifier 410117 410139 - TemplateExpression 410140 410182 - TemplateHead 410140 410148 - TemplateSpan 410148 410182 - BinaryExpression 410148 410164 - PropertyAccessExpression 410148 410160 - Identifier 410148 410153 - Identifier 410154 410160 - MinusToken 410160 410162 - NumericLiteral 410162 410164 - TemplateTail 410164 410182 - ColonToken 410183 410218 - CallExpression 410218 410315 - PropertyAccessExpression 410218 410250 - Identifier 410218 410226 - Identifier 410227 410250 - TemplateExpression 410251 410285 - TemplateHead 410251 410258 - TemplateSpan 410258 410285 - BinaryExpression 410258 410274 - PropertyAccessExpression 410258 410270 - Identifier 410258 410263 - Identifier 410264 410270 - MinusToken 410270 410272 - NumericLiteral 410272 410274 - TemplateTail 410274 410285 - Identifier 410286 410314 - CallExpression 410316 410400 - Identifier 410316 410366 - ElementAccessExpression 410367 410390 - Identifier 410367 410372 - BinaryExpression 410373 410389 - PropertyAccessExpression 410373 410385 - Identifier 410373 410378 - Identifier 410379 410385 - MinusToken 410385 410387 - NumericLiteral 410387 410389 - Identifier 410391 410399 - VariableStatement 410471 410577 - VariableDeclarationList 410471 410576 - VariableDeclaration 410494 410576 - Identifier 410494 410516 - PrefixUnaryExpression 410518 410576 - ParenthesizedExpression 410520 410576 - BinaryExpression 410521 410575 - PropertyAccessExpression 410521 410534 - Identifier 410521 410528 - Identifier 410529 410534 - AmpersandToken 410534 410536 - PropertyAccessExpression 410536 410575 - Identifier 410536 410553 - Identifier 410554 410575 - VariableStatement 410577 410808 - VariableDeclarationList 410577 410807 - VariableDeclaration 410716 410807 - Identifier 410716 410726 - ConditionalExpression 410728 410807 - Identifier 410728 410750 - QuestionToken 410750 410752 - CallExpression 410752 410795 - Identifier 410752 410767 - TypeReference 410768 410776 - Identifier 410768 410776 - TupleType 410777 410792 - TypeReference 410779 410783 - Identifier 410779 410783 - NumberKeyword 410784 410791 - ColonToken 410795 410797 - Identifier 410797 410807 - VariableStatement 410808 410856 - VariableDeclarationList 410808 410855 - VariableDeclaration 410831 410855 - Identifier 410831 410838 - ArrayType 410839 410850 - TypeReference 410839 410848 - Identifier 410839 410848 - ArrayLiteralExpression 410852 410855 - VariableStatement 410856 410884 - VariableDeclarationList 410856 410883 - VariableDeclaration 410877 410883 - Identifier 410877 410879 - NumericLiteral 410881 410883 - ForOfStatement 410884 412288 - VariableDeclarationList 410907 410917 - VariableDeclaration 410912 410917 - Identifier 410912 410917 - Identifier 410920 410926 - Block 410927 412288 - ExpressionStatement 410929 410955 - PostfixUnaryExpression 410929 410954 - Identifier 410929 410952 - IfStatement 410955 411785 - BinaryExpression 410981 411041 - CallExpression 410981 411011 - Identifier 410981 411002 - Identifier 411003 411010 - AmpersandAmpersandToken 411011 411014 - ParenthesizedExpression 411014 411041 - BinaryExpression 411016 411040 - BinaryExpression 411016 411021 - Identifier 411016 411017 - PlusToken 411017 411019 - NumericLiteral 411019 411021 - LessThanToken 411021 411023 - BinaryExpression 411023 411040 - PropertyAccessExpression 411023 411036 - Identifier 411023 411029 - Identifier 411030 411036 - MinusToken 411036 411038 - NumericLiteral 411038 411040 - Block 411042 411785 - ExpressionStatement 411044 411512 - CallExpression 411044 411511 - PropertyAccessExpression 411044 411081 - Identifier 411044 411076 - Identifier 411077 411081 - ConditionalExpression 411082 411483 - BinaryExpression 411082 411157 - PropertyAccessExpression 411082 411125 - Identifier 411082 411119 - Identifier 411120 411125 - AmpersandToken 411125 411127 - PropertyAccessExpression 411127 411157 - Identifier 411127 411144 - Identifier 411145 411157 - QuestionToken 411157 411192 - CallExpression 411192 411351 - Identifier 411192 411219 - CallExpression 411220 411272 - PropertyAccessExpression 411220 411249 - Identifier 411220 411227 - Identifier 411228 411249 - PropertyAccessExpression 411250 411271 - Identifier 411250 411260 - Identifier 411261 411271 - PropertyAccessExpression 411273 411307 - Identifier 411273 411284 - Identifier 411285 411307 - TemplateExpression 411308 411350 - TemplateHead 411308 411316 - TemplateSpan 411316 411350 - BinaryExpression 411316 411332 - PropertyAccessExpression 411316 411328 - Identifier 411316 411321 - Identifier 411322 411328 - MinusToken 411328 411330 - Identifier 411330 411332 - TemplateTail 411332 411350 - ColonToken 411351 411386 - CallExpression 411386 411483 - PropertyAccessExpression 411386 411418 - Identifier 411386 411394 - Identifier 411395 411418 - TemplateExpression 411419 411453 - TemplateHead 411419 411426 - TemplateSpan 411426 411453 - BinaryExpression 411426 411442 - PropertyAccessExpression 411426 411438 - Identifier 411426 411431 - Identifier 411432 411438 - MinusToken 411438 411440 - Identifier 411440 411442 - TemplateTail 411442 411453 - Identifier 411454 411482 - VariableStatement 411512 411610 - VariableDeclarationList 411512 411609 - VariableDeclaration 411543 411609 - Identifier 411543 411552 - CallExpression 411554 411609 - Identifier 411554 411575 - ElementAccessExpression 411576 411599 - Identifier 411576 411581 - BinaryExpression 411582 411598 - PropertyAccessExpression 411582 411594 - Identifier 411582 411587 - Identifier 411588 411594 - MinusToken 411594 411596 - NumericLiteral 411596 411598 - Identifier 411600 411608 - IfStatement 411610 411730 - Identifier 411640 411648 - Block 411649 411730 - ExpressionStatement 411651 411703 - CallExpression 411651 411702 - PropertyAccessExpression 411651 411692 - Identifier 411651 411687 - Identifier 411688 411692 - Identifier 411693 411701 - BreakStatement 411730 411762 - ExpressionStatement 411785 411838 - BinaryExpression 411785 411837 - PropertyAccessExpression 411785 411832 - Identifier 411785 411814 - Identifier 411815 411832 - PlusEqualsToken 411832 411835 - NumericLiteral 411835 411837 - VariableStatement 411838 411951 - VariableDeclarationList 411838 411950 - VariableDeclaration 411903 411950 - Identifier 411903 411912 - CallExpression 411914 411950 - Identifier 411914 411935 - Identifier 411936 411940 - Identifier 411941 411949 - IfStatement 411951 412269 - Identifier 411977 411985 - Block 411986 412269 - ExpressionStatement 411988 412036 - CallExpression 411988 412035 - PropertyAccessExpression 411988 412025 - Identifier 411988 412020 - Identifier 412021 412025 - Identifier 412026 412034 - IfStatement 412036 412246 - BinaryExpression 412066 412114 - Identifier 412066 412075 - AmpersandAmpersandToken 412075 412078 - CallExpression 412078 412114 - Identifier 412078 412104 - Identifier 412105 412113 - Block 412115 412246 - ExpressionStatement 412117 412219 - CallExpression 412117 412218 - PropertyAccessExpression 412117 412160 - Identifier 412117 412156 - Identifier 412157 412160 - PropertyAccessExpression 412161 412190 - PropertyAccessExpression 412161 412178 - Identifier 412161 412169 - Identifier 412170 412178 - Identifier 412179 412190 - ArrayLiteralExpression 412191 412217 - Identifier 412193 412197 - BinaryExpression 412198 412216 - PropertyAccessExpression 412198 412212 - Identifier 412198 412205 - Identifier 412206 412212 - MinusToken 412212 412214 - NumericLiteral 412214 412216 - IfStatement 412288 413494 - Identifier 412312 412321 - Block 412322 413494 - VariableStatement 412324 412961 - VariableDeclarationList 412324 412960 - VariableDeclaration 412919 412960 - Identifier 412919 412932 - CallExpression 412934 412960 - Identifier 412934 412951 - Identifier 412952 412959 - ExpressionStatement 412961 413039 - BinaryExpression 412961 413038 - PropertyAccessExpression 412961 412996 - Identifier 412961 412990 - Identifier 412991 412996 - BarEqualsToken 412996 412999 - PropertyAccessExpression 412999 413038 - Identifier 412999 413016 - Identifier 413017 413038 - ExpressionStatement 413039 413438 - CallExpression 413039 413437 - PropertyAccessExpression 413039 413078 - Identifier 413039 413070 - Identifier 413071 413078 - ArrowFunction 413079 413436 - Parameter 413079 413084 - Identifier 413079 413084 - EqualsGreaterThanToken 413084 413087 - Block 413087 413436 - IfStatement 413089 413413 - PrefixUnaryExpression 413119 413188 - CallExpression 413120 413188 - Identifier 413120 413138 - Identifier 413139 413144 - ArrowFunction 413145 413187 - Parameter 413147 413150 - ArrayBindingPattern 413147 413150 - BindingElement 413148 413149 - Identifier 413148 413149 - Parameter 413151 413155 - ArrayBindingPattern 413151 413155 - BindingElement 413153 413154 - Identifier 413153 413154 - EqualsGreaterThanToken 413156 413159 - CallExpression 413159 413187 - Identifier 413159 413181 - Identifier 413182 413183 - Identifier 413184 413186 - Block 413189 413413 - ForOfStatement 413191 413386 - VariableDeclarationList 413226 413251 - VariableDeclaration 413231 413251 - ArrayBindingPattern 413231 413251 - BindingElement 413233 413237 - Identifier 413233 413237 - BindingElement 413238 413250 - Identifier 413238 413250 - Identifier 413254 413260 - Block 413261 413386 - ExpressionStatement 413263 413355 - BinaryExpression 413263 413354 - ElementAccessExpression 413263 413316 - Identifier 413263 413303 - Identifier 413304 413315 - EqualsToken 413316 413318 - CallExpression 413318 413354 - Identifier 413318 413339 - Identifier 413340 413344 - Identifier 413345 413353 - ExpressionStatement 413438 413475 - CallExpression 413438 413474 - Identifier 413438 413472 - ReturnStatement 413494 413528 - Identifier 413520 413527 - FunctionDeclaration 413554 413792 - Identifier 413574 413596 - Parameter 413597 413604 - Identifier 413597 413598 - TypeReference 413599 413604 - Identifier 413599 413604 - Parameter 413605 413613 - Identifier 413605 413607 - TypeReference 413608 413613 - Identifier 413608 413613 - BooleanKeyword 413615 413623 - Block 413623 413792 - ReturnStatement 413625 413781 - BinaryExpression 413645 413780 - BinaryExpression 413645 413709 - BinaryExpression 413645 413653 - Identifier 413645 413647 - EqualsEqualsEqualsToken 413647 413651 - Identifier 413651 413653 - BarBarToken 413653 413673 - BinaryExpression 413673 413709 - PrefixUnaryExpression 413673 413684 - PrefixUnaryExpression 413675 413684 - PropertyAccessExpression 413676 413684 - Identifier 413676 413677 - Identifier 413678 413684 - AmpersandAmpersandToken 413684 413687 - BinaryExpression 413687 413709 - PropertyAccessExpression 413687 413696 - Identifier 413687 413689 - Identifier 413690 413696 - EqualsEqualsEqualsToken 413696 413700 - PropertyAccessExpression 413700 413709 - Identifier 413700 413702 - Identifier 413703 413709 - BarBarToken 413709 413729 - BinaryExpression 413729 413780 - PrefixUnaryExpression 413729 413745 - PrefixUnaryExpression 413731 413745 - PropertyAccessExpression 413732 413745 - Identifier 413732 413733 - Identifier 413734 413745 - AmpersandAmpersandToken 413745 413748 - BinaryExpression 413748 413780 - PropertyAccessExpression 413748 413762 - Identifier 413748 413750 - Identifier 413751 413762 - EqualsEqualsEqualsToken 413762 413766 - PropertyAccessExpression 413766 413780 - Identifier 413766 413768 - Identifier 413769 413780 - FunctionDeclaration 413792 415048 - Identifier 413812 413855 - Parameter 413856 413876 - Identifier 413856 413865 - TypeReference 413866 413876 - Identifier 413866 413876 - Parameter 413877 413905 - Identifier 413877 413885 - TypeReference 413886 413905 - Identifier 413886 413905 - Parameter 413906 413937 - Identifier 413906 413915 - UnionType 413916 413937 - TypeReference 413916 413925 - Identifier 413916 413925 - UndefinedKeyword 413927 413937 - TypeReference 413939 413965 - Identifier 413939 413965 - Block 413965 415048 - VariableStatement 413967 414033 - VariableDeclarationList 413967 414032 - VariableDeclaration 413986 414032 - Identifier 413986 413991 - BinaryExpression 413993 414032 - CallExpression 413993 414025 - Identifier 413993 414014 - Identifier 414015 414024 - BarBarToken 414025 414028 - StringLiteral 414028 414032 - VariableStatement 414033 414120 - VariableDeclarationList 414033 414119 - VariableDeclaration 414052 414119 - Identifier 414052 414068 - CallExpression 414070 414119 - Identifier 414070 414091 - PropertyAccessExpression 414092 414109 - Identifier 414092 414101 - Identifier 414102 414109 - Identifier 414110 414118 - VariableStatement 414120 414449 - VariableDeclarationList 414120 414448 - VariableDeclaration 414141 414448 - Identifier 414141 414159 - CallExpression 414161 414448 - PropertyAccessExpression 414161 414196 - Identifier 414161 414169 - Identifier 414170 414196 - Identifier 414197 414238 - Identifier 414239 414285 - Identifier 414286 414308 - Identifier 414309 414354 - Identifier 414355 414388 - Identifier 414389 414432 - IfStatement 414449 414580 - PrefixUnaryExpression 414467 414476 - Identifier 414468 414476 - Block 414477 414580 - ExpressionStatement 414479 414565 - BinaryExpression 414479 414564 - Identifier 414479 414505 - EqualsToken 414505 414507 - CallExpression 414507 414564 - Identifier 414507 414528 - BinaryExpression 414529 414554 - PropertyAccessExpression 414529 414543 - Identifier 414529 414538 - Identifier 414539 414543 - BarBarToken 414543 414546 - Identifier 414546 414554 - Identifier 414555 414563 - IfStatement 414580 414744 - BinaryExpression 414598 414676 - PrefixUnaryExpression 414598 414613 - PropertyAccessExpression 414599 414613 - Identifier 414599 414608 - Identifier 414609 414613 - AmpersandAmpersandToken 414613 414616 - PrefixUnaryExpression 414616 414676 - ParenthesizedExpression 414618 414676 - BinaryExpression 414619 414675 - PropertyAccessExpression 414619 414632 - Identifier 414619 414626 - Identifier 414627 414632 - AmpersandToken 414632 414634 - PropertyAccessExpression 414634 414675 - Identifier 414634 414651 - Identifier 414652 414675 - Block 414677 414744 - ExpressionStatement 414679 414729 - BinaryExpression 414679 414728 - PropertyAccessExpression 414679 414721 - Identifier 414679 414704 - Identifier 414705 414721 - EqualsToken 414721 414723 - TrueKeyword 414723 414728 - ExpressionStatement 414744 414803 - BinaryExpression 414744 414802 - PropertyAccessExpression 414744 414783 - Identifier 414744 414765 - Identifier 414766 414783 - PlusEqualsToken 414783 414786 - BinaryExpression 414786 414802 - PropertyAccessExpression 414786 414798 - Identifier 414786 414791 - Identifier 414792 414798 - PlusToken 414798 414800 - NumericLiteral 414800 414802 - ReturnStatement 414803 415037 - CallExpression 414823 415036 - PropertyAccessExpression 414823 414852 - Identifier 414823 414831 - Identifier 414832 414852 - ConditionalExpression 414853 414955 - PropertyAccessExpression 414853 414891 - Identifier 414853 414880 - Identifier 414881 414891 - QuestionToken 414891 414893 - ArrayLiteralExpression 414893 414943 - CallExpression 414895 414942 - PropertyAccessExpression 414895 414914 - Identifier 414895 414902 - Identifier 414903 414914 - PropertyAccessExpression 414915 414941 - Identifier 414915 414925 - Identifier 414926 414941 - ColonToken 414943 414945 - Identifier 414945 414955 - ArrayLiteralExpression 414956 414993 - Identifier 414975 414992 - Identifier 414994 415020 - InterfaceDeclaration 415048 415245 - Identifier 415069 415108 - PropertySignature 415110 415156 - Identifier 415110 415133 - QuestionToken 415133 415134 - TypeOperator 415135 415155 - ArrayType 415144 415155 - TypeReference 415144 415153 - Identifier 415144 415153 - PropertySignature 415156 415190 - Identifier 415156 415174 - QuestionToken 415174 415175 - TypeReference 415176 415189 - Identifier 415176 415189 - PropertySignature 415190 415234 - Identifier 415190 415217 - QuestionToken 415217 415218 - TypeReference 415219 415233 - Identifier 415219 415233 - FunctionDeclaration 415245 421230 - Identifier 415265 415303 - Parameter 415304 415324 - Identifier 415304 415313 - TypeReference 415314 415324 - Identifier 415314 415324 - Parameter 415325 415360 - Identifier 415325 415330 - IndexedAccessType 415331 415360 - TypeReference 415331 415352 - Identifier 415331 415352 - LiteralType 415353 415359 - StringLiteral 415353 415359 - Parameter 415361 415389 - Identifier 415361 415369 - TypeReference 415370 415389 - Identifier 415370 415389 - Parameter 415390 415439 - Identifier 415390 415398 - QuestionToken 415398 415399 - TypeReference 415400 415439 - Identifier 415400 415439 - TypeReference 415441 415462 - Identifier 415441 415462 - Block 415462 421230 - VariableStatement 415464 415537 - VariableDeclarationList 415464 415536 - VariableDeclaration 415481 415536 - Identifier 415481 415496 - UnionType 415497 415536 - ArrayType 415497 415524 - TypeReference 415497 415522 - Identifier 415497 415522 - UndefinedKeyword 415526 415536 - VariableStatement 415537 415593 - VariableDeclarationList 415537 415592 - VariableDeclaration 415554 415592 - Identifier 415554 415568 - UnionType 415569 415592 - ArrayType 415569 415580 - TypeReference 415569 415578 - Identifier 415569 415578 - UndefinedKeyword 415582 415592 - VariableStatement 415593 415697 - VariableDeclarationList 415593 415696 - VariableDeclaration 415614 415696 - Identifier 415614 415629 - ElementAccessExpression 415631 415696 - CallExpression 415631 415693 - Identifier 415631 415653 - Identifier 415654 415663 - TrueKeyword 415664 415692 - NumericLiteral 415694 415695 - VariableStatement 415697 415855 - VariableDeclarationList 415697 415854 - VariableDeclaration 415716 415854 - Identifier 415716 415724 - CallExpression 415726 415854 - Identifier 415726 415740 - Identifier 415741 415748 - PropertyAccessExpression 415749 415771 - Identifier 415749 415759 - Identifier 415760 415771 - Identifier 415772 415787 - PropertyAccessExpression 415788 415813 - Identifier 415788 415798 - Identifier 415799 415813 - PropertyAccessExpression 415814 415835 - Identifier 415814 415824 - Identifier 415825 415835 - PropertyAccessExpression 415836 415853 - Identifier 415836 415846 - Identifier 415847 415853 - ExpressionStatement 415855 415900 - BinaryExpression 415855 415899 - PropertyAccessExpression 415855 415894 - Identifier 415855 415876 - Identifier 415877 415894 - PlusEqualsToken 415894 415897 - NumericLiteral 415897 415899 - IfStatement 415900 416512 - BinaryExpression 416009 416146 - BinaryExpression 416009 416111 - BinaryExpression 416009 416091 - BinaryExpression 416009 416071 - PropertyAccessExpression 416009 416022 - Identifier 416009 416016 - Identifier 416017 416022 - AmpersandToken 416022 416024 - PropertyAccessExpression 416024 416071 - Identifier 416024 416041 - Identifier 416042 416071 - AmpersandAmpersandToken 416071 416074 - PropertyAccessExpression 416074 416091 - Identifier 416074 416084 - Identifier 416085 416091 - AmpersandAmpersandToken 416091 416094 - PropertyAccessExpression 416094 416111 - Identifier 416094 416104 - Identifier 416105 416111 - AmpersandAmpersandToken 416111 416114 - PropertyAccessExpression 416114 416146 - PropertyAccessExpression 416114 416131 - Identifier 416114 416124 - Identifier 416125 416131 - Identifier 416132 416146 - Block 416147 416324 - ExpressionStatement 416149 416309 - BinaryExpression 416149 416308 - Identifier 416149 416180 - EqualsToken 416180 416182 - CallExpression 416182 416308 - PropertyAccessExpression 416182 416218 - PropertyAccessExpression 416182 416214 - PropertyAccessExpression 416182 416199 - Identifier 416182 416192 - Identifier 416193 416199 - Identifier 416200 416214 - Identifier 416215 416218 - ArrowFunction 416219 416307 - Parameter 416219 416228 - Identifier 416219 416228 - EqualsGreaterThanToken 416228 416231 - CallExpression 416231 416307 - Identifier 416231 416252 - CallExpression 416253 416297 - Identifier 416253 416268 - Identifier 416269 416278 - PropertyAccessExpression 416279 416296 - Identifier 416279 416289 - Identifier 416290 416296 - Identifier 416298 416306 - Block 416342 416512 - ExpressionStatement 416344 416497 - BinaryExpression 416344 416496 - Identifier 416344 416376 - EqualsToken 416376 416378 - BinaryExpression 416378 416496 - PropertyAccessExpression 416378 416403 - Identifier 416378 416388 - Identifier 416389 416403 - AmpersandAmpersandToken 416403 416406 - CallExpression 416406 416496 - PropertyAccessExpression 416406 416435 - PropertyAccessExpression 416406 416431 - Identifier 416406 416416 - Identifier 416417 416431 - Identifier 416432 416435 - ArrowFunction 416436 416495 - Parameter 416436 416445 - Identifier 416436 416445 - EqualsGreaterThanToken 416445 416448 - CallExpression 416448 416495 - Identifier 416448 416475 - Identifier 416476 416485 - Identifier 416486 416494 - VariableStatement 416512 416575 - VariableDeclarationList 416512 416574 - VariableDeclaration 416533 416574 - Identifier 416533 416546 - CallExpression 416548 416574 - Identifier 416548 416565 - Identifier 416566 416573 - ExpressionStatement 416575 416646 - BinaryExpression 416575 416645 - PropertyAccessExpression 416575 416602 - Identifier 416575 416596 - Identifier 416597 416602 - AmpersandEqualsToken 416602 416605 - PrefixUnaryExpression 416605 416645 - PropertyAccessExpression 416607 416645 - Identifier 416607 416623 - Identifier 416624 416645 - VariableStatement 416646 417131 - VariableDeclarationList 416646 417130 - VariableDeclaration 416849 417130 - Identifier 416849 416860 - CallExpression 416862 417130 - PropertyAccessExpression 416862 417034 - ParenthesizedExpression 416862 417030 - ConditionalExpression 416864 417029 - CallExpression 416864 416989 - Identifier 416864 416868 - Identifier 416869 416883 - ArrowFunction 416884 416988 - Parameter 416884 416886 - Identifier 416884 416886 - EqualsGreaterThanToken 416886 416889 - BinaryExpression 416889 416988 - BinaryExpression 416889 416937 - Identifier 416889 416891 - ExclamationEqualsEqualsToken 416891 416895 - ElementAccessExpression 416895 416937 - Identifier 416895 416910 - BinaryExpression 416911 416936 - PropertyAccessExpression 416911 416932 - Identifier 416911 416925 - Identifier 416926 416932 - MinusToken 416932 416934 - NumericLiteral 416934 416936 - AmpersandAmpersandToken 416937 416940 - PrefixUnaryExpression 416940 416988 - PrefixUnaryExpression 416942 416988 - ParenthesizedExpression 416943 416988 - BinaryExpression 416944 416987 - CallExpression 416944 416960 - Identifier 416944 416957 - Identifier 416958 416959 - AmpersandToken 416960 416962 - PropertyAccessExpression 416962 416987 - Identifier 416962 416973 - Identifier 416974 416987 - QuestionToken 416989 416991 - PropertyAccessExpression 416991 417012 - Identifier 416991 417001 - Identifier 417002 417012 - ColonToken 417012 417014 - Identifier 417014 417029 - Identifier 417031 417034 - ArrowFunction 417035 417129 - Parameter 417035 417044 - Identifier 417035 417044 - EqualsGreaterThanToken 417044 417047 - CallExpression 417047 417129 - Identifier 417047 417076 - Identifier 417077 417086 - Identifier 417087 417095 - BinaryExpression 417096 417128 - Identifier 417096 417101 - EqualsEqualsEqualsToken 417101 417105 - PropertyAccessExpression 417105 417128 - Identifier 417105 417116 - Identifier 417117 417128 - VariableStatement 417131 417283 - VariableDeclarationList 417131 417282 - VariableDeclaration 417150 417282 - Identifier 417150 417164 - ConditionalExpression 417166 417282 - BinaryExpression 417166 417217 - PropertyAccessExpression 417166 417180 - Identifier 417166 417174 - Identifier 417175 417180 - AmpersandToken 417180 417182 - PropertyAccessExpression 417182 417217 - Identifier 417182 417199 - Identifier 417200 417217 - QuestionToken 417217 417219 - Identifier 417219 417229 - ColonToken 417229 417231 - CallExpression 417231 417282 - Identifier 417231 417262 - Identifier 417263 417272 - Identifier 417273 417281 - IfStatement 417283 417384 - Identifier 417301 417314 - Block 417315 417384 - ExpressionStatement 417317 417369 - CallExpression 417317 417368 - PropertyAccessExpression 417317 417353 - Identifier 417317 417345 - Identifier 417346 417353 - Identifier 417354 417367 - ExpressionStatement 417384 417413 - CallExpression 417384 417412 - Identifier 417384 417410 - VariableStatement 417413 417504 - VariableDeclarationList 417413 417503 - VariableDeclaration 417434 417503 - Identifier 417434 417449 - CallExpression 417451 417503 - Identifier 417451 417483 - Identifier 417484 417491 - Identifier 417492 417502 - VariableStatement 417504 417555 - VariableDeclarationList 417504 417554 - VariableDeclaration 417523 417554 - Identifier 417523 417533 - PropertyAccessExpression 417535 417554 - Identifier 417535 417543 - QuestionDotToken 417543 417545 - Identifier 417545 417554 - IfStatement 417555 417836 - BinaryExpression 417573 417655 - ParenthesizedExpression 417573 417610 - BinaryExpression 417574 417609 - Identifier 417574 417578 - EqualsEqualsEqualsToken 417578 417582 - PropertyAccessExpression 417582 417609 - Identifier 417582 417593 - Identifier 417594 417609 - AmpersandAmpersandToken 417610 417613 - BinaryExpression 417613 417655 - PropertyAccessExpression 417613 417629 - Identifier 417613 417623 - Identifier 417624 417629 - AmpersandToken 417629 417631 - PropertyAccessExpression 417631 417655 - Identifier 417631 417646 - Identifier 417647 417655 - Block 417656 417836 - VariableStatement 417658 417718 - VariableDeclarationList 417658 417717 - VariableDeclaration 417681 417717 - Identifier 417681 417687 - CallExpression 417689 417717 - Identifier 417689 417706 - Identifier 417707 417716 - ExpressionStatement 417718 417821 - BinaryExpression 417718 417820 - Identifier 417718 417745 - EqualsToken 417745 417747 - CallExpression 417747 417820 - PropertyAccessExpression 417747 417788 - Identifier 417747 417755 - Identifier 417756 417788 - BinaryExpression 417789 417819 - Identifier 417789 417794 - BarToken 417794 417796 - PropertyAccessExpression 417796 417819 - Identifier 417796 417810 - Identifier 417811 417819 - VariableStatement 417836 420558 - VariableDeclarationList 417836 420557 - VariableDeclaration 417857 420557 - Identifier 417857 417862 - ConditionalExpression 417864 420557 - BinaryExpression 417864 417898 - Identifier 417864 417869 - EqualsEqualsEqualsToken 417869 417873 - PropertyAccessExpression 417873 417898 - Identifier 417873 417884 - Identifier 417885 417898 - QuestionToken 417898 417900 - CallExpression 417900 417972 - PropertyAccessExpression 417900 417928 - Identifier 417900 417908 - Identifier 417909 417928 - Identifier 417929 417943 - Identifier 417944 417955 - Identifier 417956 417971 - ColonToken 417972 417974 - ConditionalExpression 417974 420557 - BinaryExpression 417974 418030 - Identifier 417974 417996 - EqualsEqualsEqualsToken 417996 418000 - PropertyAccessExpression 418000 418030 - Identifier 418000 418011 - Identifier 418012 418030 - QuestionToken 418030 418032 - CallExpression 418032 418109 - PropertyAccessExpression 418032 418065 - Identifier 418032 418040 - Identifier 418041 418065 - Identifier 418066 418080 - Identifier 418081 418092 - Identifier 418093 418108 - ColonToken 418109 418111 - ConditionalExpression 418111 420557 - BinaryExpression 418111 418164 - Identifier 418111 418133 - EqualsEqualsEqualsToken 418133 418137 - PropertyAccessExpression 418137 418164 - Identifier 418137 418148 - Identifier 418149 418164 - QuestionToken 418164 418166 - CallExpression 418166 418322 - PropertyAccessExpression 418166 418196 - Identifier 418166 418174 - Identifier 418175 418196 - Identifier 418197 418206 - BinaryExpression 418207 418253 - PropertyAccessExpression 418207 418221 - Identifier 418207 418215 - QuestionDotToken 418215 418217 - Identifier 418217 418221 - QuestionQuestionToken 418221 418224 - CallExpression 418224 418253 - PropertyAccessExpression 418224 418249 - Identifier 418224 418232 - Identifier 418233 418249 - StringLiteral 418250 418252 - PropertyAccessExpression 418254 418277 - Identifier 418254 418262 - QuestionDotToken 418262 418264 - Identifier 418264 418277 - Identifier 418278 418293 - Identifier 418294 418305 - Identifier 418306 418321 - ColonToken 418322 418324 - ConditionalExpression 418324 420557 - BinaryExpression 418324 418379 - Identifier 418324 418346 - EqualsEqualsEqualsToken 418346 418350 - PropertyAccessExpression 418350 418379 - Identifier 418350 418361 - Identifier 418362 418379 - QuestionToken 418379 418381 - CallExpression 418381 418593 - PropertyAccessExpression 418381 418413 - Identifier 418381 418389 - Identifier 418390 418413 - Identifier 418414 418423 - Identifier 418424 418452 - BinaryExpression 418453 418499 - PropertyAccessExpression 418453 418467 - Identifier 418453 418461 - QuestionDotToken 418461 418463 - Identifier 418463 418467 - QuestionQuestionToken 418467 418470 - CallExpression 418470 418499 - PropertyAccessExpression 418470 418495 - Identifier 418470 418478 - Identifier 418479 418495 - StringLiteral 418496 418498 - Identifier 418500 418528 - Identifier 418529 418544 - Identifier 418545 418556 - Identifier 418557 418572 - Identifier 418573 418592 - ColonToken 418593 418595 - ConditionalExpression 418595 420557 - BinaryExpression 418595 418644 - Identifier 418595 418617 - EqualsEqualsEqualsToken 418617 418621 - PropertyAccessExpression 418621 418644 - Identifier 418621 418632 - Identifier 418633 418644 - QuestionToken 418644 418646 - CallExpression 418646 418726 - PropertyAccessExpression 418646 418683 - Identifier 418646 418654 - Identifier 418655 418683 - Identifier 418684 418693 - Identifier 418694 418705 - Identifier 418706 418725 - ColonToken 418726 418728 - ConditionalExpression 418728 420557 - BinaryExpression 418728 418777 - Identifier 418728 418750 - EqualsEqualsEqualsToken 418750 418754 - PropertyAccessExpression 418754 418777 - Identifier 418754 418765 - Identifier 418766 418777 - QuestionToken 418777 418779 - CallExpression 418779 418922 - PropertyAccessExpression 418779 418816 - Identifier 418779 418787 - Identifier 418788 418816 - Identifier 418817 418826 - BinaryExpression 418827 418873 - PropertyAccessExpression 418827 418841 - Identifier 418827 418835 - QuestionDotToken 418835 418837 - Identifier 418837 418841 - QuestionQuestionToken 418841 418844 - CallExpression 418844 418873 - PropertyAccessExpression 418844 418869 - Identifier 418844 418852 - Identifier 418853 418869 - StringLiteral 418870 418872 - Identifier 418874 418885 - Identifier 418886 418901 - Identifier 418902 418921 - ColonToken 418922 418924 - ConditionalExpression 418924 420557 - BinaryExpression 418924 418973 - Identifier 418924 418946 - EqualsEqualsEqualsToken 418946 418950 - PropertyAccessExpression 418950 418973 - Identifier 418950 418961 - Identifier 418962 418973 - QuestionToken 418973 418975 - CallExpression 418975 419102 - PropertyAccessExpression 418975 419012 - Identifier 418975 418983 - Identifier 418984 419012 - Identifier 419013 419022 - BinaryExpression 419023 419069 - PropertyAccessExpression 419023 419037 - Identifier 419023 419031 - QuestionDotToken 419031 419033 - Identifier 419033 419037 - QuestionQuestionToken 419037 419040 - CallExpression 419040 419069 - PropertyAccessExpression 419040 419065 - Identifier 419040 419048 - Identifier 419049 419065 - StringLiteral 419066 419068 - Identifier 419070 419081 - Identifier 419082 419101 - ColonToken 419102 419104 - ConditionalExpression 419104 420557 - BinaryExpression 419104 419156 - Identifier 419104 419126 - EqualsEqualsEqualsToken 419126 419130 - PropertyAccessExpression 419130 419156 - Identifier 419130 419141 - Identifier 419142 419156 - QuestionToken 419156 419158 - CallExpression 419158 419226 - PropertyAccessExpression 419158 419187 - Identifier 419158 419166 - Identifier 419167 419187 - Identifier 419188 419197 - Identifier 419198 419209 - Identifier 419210 419225 - ColonToken 419226 419228 - ConditionalExpression 419228 420557 - BinaryExpression 419228 419283 - Identifier 419228 419250 - EqualsEqualsEqualsToken 419250 419254 - PropertyAccessExpression 419254 419283 - Identifier 419254 419265 - Identifier 419266 419283 - QuestionToken 419283 419285 - CallExpression 419285 419345 - PropertyAccessExpression 419285 419317 - Identifier 419285 419293 - Identifier 419294 419317 - Identifier 419318 419328 - Identifier 419329 419344 - ColonToken 419345 419347 - ConditionalExpression 419347 420557 - BinaryExpression 419347 419397 - Identifier 419347 419369 - EqualsEqualsEqualsToken 419369 419373 - PropertyAccessExpression 419373 419397 - Identifier 419373 419384 - Identifier 419385 419397 - QuestionToken 419397 419399 - CallExpression 419399 419539 - PropertyAccessExpression 419399 419430 - Identifier 419399 419407 - Identifier 419408 419430 - Identifier 419431 419445 - Identifier 419446 419457 - BinaryExpression 419458 419538 - Identifier 419458 419473 - QuestionQuestionToken 419473 419476 - CallExpression 419476 419538 - PropertyAccessExpression 419476 419508 - Identifier 419476 419484 - Identifier 419485 419508 - CallExpression 419509 419537 - PropertyAccessExpression 419509 419533 - Identifier 419509 419516 - Identifier 419517 419533 - StringLiteral 419534 419536 - ColonToken 419539 419541 - ConditionalExpression 419541 420557 - BinaryExpression 419541 419594 - Identifier 419541 419563 - EqualsEqualsEqualsToken 419563 419567 - PropertyAccessExpression 419567 419594 - Identifier 419567 419578 - Identifier 419579 419594 - QuestionToken 419594 419596 - CallExpression 419596 419750 - PropertyAccessExpression 419596 419630 - Identifier 419596 419604 - Identifier 419605 419630 - Identifier 419631 419640 - Identifier 419641 419656 - Identifier 419657 419668 - BinaryExpression 419669 419749 - Identifier 419669 419684 - QuestionQuestionToken 419684 419687 - CallExpression 419687 419749 - PropertyAccessExpression 419687 419719 - Identifier 419687 419695 - Identifier 419696 419719 - CallExpression 419720 419748 - PropertyAccessExpression 419720 419744 - Identifier 419720 419727 - Identifier 419728 419744 - StringLiteral 419745 419747 - ColonToken 419750 419752 - ConditionalExpression 419752 420557 - BinaryExpression 419752 419809 - Identifier 419752 419774 - EqualsEqualsEqualsToken 419774 419778 - PropertyAccessExpression 419778 419809 - Identifier 419778 419789 - Identifier 419790 419809 - QuestionToken 419809 419811 - CallExpression 419811 420030 - PropertyAccessExpression 419811 419845 - Identifier 419811 419819 - Identifier 419820 419845 - Identifier 419846 419855 - Identifier 419856 419884 - ConditionalExpression 419885 419965 - PropertyAccessExpression 419885 419899 - Identifier 419885 419893 - QuestionDotToken 419893 419895 - Identifier 419895 419899 - QuestionToken 419899 419901 - CallExpression 419901 419934 - Identifier 419901 419906 - PropertyAccessExpression 419907 419919 - Identifier 419907 419914 - Identifier 419915 419919 - Identifier 419920 419933 - ColonToken 419934 419936 - CallExpression 419936 419965 - PropertyAccessExpression 419936 419961 - Identifier 419936 419944 - Identifier 419945 419961 - StringLiteral 419962 419964 - Identifier 419966 419981 - Identifier 419982 419993 - Identifier 419994 420009 - Identifier 420010 420029 - ColonToken 420030 420032 - ConditionalExpression 420032 420557 - BinaryExpression 420032 420088 - Identifier 420032 420054 - EqualsEqualsEqualsToken 420054 420058 - PropertyAccessExpression 420058 420088 - Identifier 420058 420069 - Identifier 420070 420088 - QuestionToken 420088 420090 - CallExpression 420090 420313 - PropertyAccessExpression 420090 420123 - Identifier 420090 420098 - Identifier 420099 420123 - Identifier 420124 420133 - Identifier 420134 420162 - ConditionalExpression 420163 420243 - PropertyAccessExpression 420163 420177 - Identifier 420163 420171 - QuestionDotToken 420171 420173 - Identifier 420173 420177 - QuestionToken 420177 420179 - CallExpression 420179 420212 - Identifier 420179 420184 - PropertyAccessExpression 420185 420197 - Identifier 420185 420192 - Identifier 420193 420197 - Identifier 420198 420211 - ColonToken 420212 420214 - CallExpression 420214 420243 - PropertyAccessExpression 420214 420239 - Identifier 420214 420222 - Identifier 420223 420239 - StringLiteral 420240 420242 - Identifier 420244 420259 - Identifier 420260 420271 - Identifier 420272 420287 - CallExpression 420288 420312 - PropertyAccessExpression 420288 420308 - Identifier 420288 420296 - Identifier 420297 420308 - ArrayLiteralExpression 420309 420311 - ColonToken 420313 420315 - ConditionalExpression 420315 420557 - BinaryExpression 420315 420366 - Identifier 420315 420337 - EqualsEqualsEqualsToken 420337 420341 - PropertyAccessExpression 420341 420366 - Identifier 420341 420352 - Identifier 420353 420366 - QuestionToken 420366 420368 - CallExpression 420368 420514 - PropertyAccessExpression 420368 420396 - Identifier 420368 420376 - Identifier 420377 420396 - Identifier 420397 420406 - Identifier 420407 420422 - Identifier 420423 420434 - Identifier 420435 420450 - Identifier 420451 420488 - CallExpression 420489 420513 - PropertyAccessExpression 420489 420509 - Identifier 420489 420497 - Identifier 420498 420509 - ArrayLiteralExpression 420510 420512 - ColonToken 420514 420516 - CallExpression 420516 420557 - PropertyAccessExpression 420516 420551 - Identifier 420516 420539 - Identifier 420540 420551 - Identifier 420552 420556 - IfStatement 420558 420687 - Identifier 420578 420591 - Block 420592 420687 - ExpressionStatement 420594 420672 - BinaryExpression 420594 420671 - PropertyAccessExpression 420594 420630 - Identifier 420594 420616 - Identifier 420617 420630 - EqualsToken 420630 420632 - CallExpression 420632 420671 - PropertyAccessExpression 420632 420656 - Identifier 420632 420640 - Identifier 420641 420656 - Identifier 420657 420670 - IfStatement 420687 421165 - BinaryExpression 420705 420831 - BinaryExpression 420705 420762 - PropertyAccessExpression 420705 420732 - PropertyAccessExpression 420705 420726 - Identifier 420705 420714 - Identifier 420715 420726 - QuestionDotToken 420726 420728 - Identifier 420728 420732 - EqualsEqualsEqualsToken 420732 420736 - PropertyAccessExpression 420736 420762 - Identifier 420736 420747 - Identifier 420748 420762 - AmpersandAmpersandToken 420762 420765 - BinaryExpression 420765 420831 - PropertyAccessExpression 420765 420799 - PropertyAccessExpression 420765 420794 - PropertyAccessExpression 420765 420787 - Identifier 420765 420775 - Identifier 420776 420787 - Identifier 420788 420794 - Identifier 420795 420799 - EqualsEqualsEqualsToken 420799 420803 - PropertyAccessExpression 420803 420831 - Identifier 420803 420814 - Identifier 420815 420831 - Block 420832 421165 - VariableStatement 420834 421026 - VariableDeclarationList 420834 421025 - VariableDeclaration 420857 421025 - Identifier 420857 420865 - CallExpression 420867 421025 - PropertyAccessExpression 420867 421019 - CallExpression 420867 421014 - PropertyAccessExpression 420867 420979 - CallExpression 420867 420975 - PropertyAccessExpression 420867 420961 - CallExpression 420867 420955 - PropertyAccessExpression 420867 420948 - CallExpression 420867 420942 - Identifier 420867 420881 - PropertyAccessExpression 420882 420917 - PropertyAccessExpression 420882 420910 - PropertyAccessExpression 420882 420903 - Identifier 420882 420891 - Identifier 420892 420903 - Identifier 420904 420910 - Identifier 420911 420917 - TrueKeyword 420918 420941 - Identifier 420943 420948 - NumericLiteral 420949 420950 - PrefixUnaryExpression 420951 420954 - NumericLiteral 420953 420954 - Identifier 420956 420961 - RegularExpressionLiteral 420962 420974 - Identifier 420976 420979 - ArrowFunction 420980 421013 - Parameter 420980 420984 - Identifier 420980 420984 - EqualsGreaterThanToken 420984 420987 - CallExpression 420987 421013 - PropertyAccessExpression 420987 421000 - Identifier 420987 420992 - Identifier 420993 421000 - RegularExpressionLiteral 421001 421007 - StringLiteral 421008 421012 - Identifier 421015 421019 - StringLiteral 421020 421024 - ExpressionStatement 421026 421150 - CallExpression 421026 421149 - Identifier 421026 421070 - Identifier 421071 421075 - PropertyAccessExpression 421076 421110 - Identifier 421076 421087 - Identifier 421088 421110 - Identifier 421111 421119 - TrueKeyword 421120 421148 - ExpressionStatement 421165 421193 - CallExpression 421165 421192 - Identifier 421165 421188 - QuestionDotToken 421188 421190 - ReturnStatement 421193 421219 - Identifier 421213 421218 - FunctionDeclaration 421230 425072 - Identifier 421250 421273 - Parameter 421274 421301 - Identifier 421274 421281 - TypeReference 421282 421301 - Identifier 421282 421301 - Block 421302 425072 - IfStatement 421304 421474 - BinaryExpression 421322 421389 - Identifier 421322 421339 - AmpersandAmpersandToken 421339 421342 - PropertyAccessExpression 421342 421389 - Identifier 421342 421360 - Identifier 421361 421389 - Block 421390 421474 - ExpressionStatement 421392 421459 - CallExpression 421392 421458 - PropertyAccessExpression 421392 421456 - Identifier 421392 421427 - Identifier 421428 421456 - VariableStatement 421474 421526 - VariableDeclarationList 421474 421525 - VariableDeclaration 421493 421525 - Identifier 421493 421508 - ArrayType 421509 421525 - TypeReference 421509 421523 - Identifier 421509 421523 - VariableStatement 421526 421577 - VariableDeclarationList 421526 421576 - VariableDeclaration 421543 421576 - Identifier 421543 421560 - ArrayType 421561 421576 - ParenthesizedType 421561 421574 - FunctionType 421563 421573 - VoidKeyword 421568 421573 - VariableStatement 421577 421612 - VariableDeclarationList 421577 421611 - VariableDeclaration 421594 421611 - Identifier 421594 421603 - FalseKeyword 421605 421611 - VariableStatement 421612 421661 - VariableDeclarationList 421612 421660 - VariableDeclaration 421631 421660 - Identifier 421631 421642 - PropertyAccessExpression 421644 421660 - Identifier 421644 421652 - Identifier 421653 421660 - VariableStatement 421661 421724 - VariableDeclarationList 421661 421723 - VariableDeclaration 421680 421723 - Identifier 421680 421698 - PropertyAccessExpression 421700 421723 - Identifier 421700 421708 - Identifier 421709 421723 - ExpressionStatement 421724 421773 - BinaryExpression 421724 421772 - PropertyAccessExpression 421724 421760 - Identifier 421724 421745 - Identifier 421746 421760 - EqualsToken 421760 421762 - Identifier 421762 421772 - VariableStatement 421773 421840 - VariableDeclarationList 421773 421839 - VariableDeclaration 421792 421839 - Identifier 421792 421812 - PropertyAccessExpression 421814 421839 - Identifier 421814 421822 - Identifier 421823 421839 - ExpressionStatement 421840 423247 - BinaryExpression 421840 423246 - PropertyAccessExpression 421840 421869 - Identifier 421840 421861 - Identifier 421862 421869 - EqualsToken 421869 421871 - NewExpression 421871 423246 - Identifier 421875 421893 - Identifier 421894 421901 - ObjectLiteralExpression 421902 423209 - SpreadAssignment 421904 421941 - PropertyAccessExpression 421925 421941 - Identifier 421925 421935 - Identifier 421936 421941 - MethodDeclaration 421942 422088 - Identifier 421942 421986 - Block 421988 422088 - ExpressionStatement 421990 422069 - CallExpression 421990 422068 - Identifier 421990 422021 - ArrowFunction 422022 422067 - EqualsGreaterThanToken 422024 422027 - CallExpression 422027 422067 - PropertyAccessExpression 422027 422065 - Identifier 422027 422038 - Identifier 422039 422065 - MethodDeclaration 422089 422237 - Identifier 422089 422134 - Block 422136 422237 - ExpressionStatement 422138 422218 - CallExpression 422138 422217 - Identifier 422138 422169 - ArrowFunction 422170 422216 - EqualsGreaterThanToken 422172 422175 - CallExpression 422175 422216 - PropertyAccessExpression 422175 422214 - Identifier 422175 422186 - Identifier 422187 422214 - MethodDeclaration 422238 422402 - Identifier 422238 422291 - Block 422293 422402 - ExpressionStatement 422295 422383 - CallExpression 422295 422382 - Identifier 422295 422326 - ArrowFunction 422327 422381 - EqualsGreaterThanToken 422329 422332 - CallExpression 422332 422381 - PropertyAccessExpression 422332 422379 - Identifier 422332 422343 - Identifier 422344 422379 - MethodDeclaration 422403 422589 - Identifier 422403 422458 - Parameter 422459 422468 - Identifier 422459 422468 - Block 422469 422589 - ExpressionStatement 422471 422570 - CallExpression 422471 422569 - Identifier 422471 422502 - ArrowFunction 422503 422568 - EqualsGreaterThanToken 422505 422508 - CallExpression 422508 422568 - PropertyAccessExpression 422508 422557 - Identifier 422508 422519 - Identifier 422520 422557 - Identifier 422558 422567 - MethodDeclaration 422590 422750 - Identifier 422590 422637 - Parameter 422638 422642 - Identifier 422638 422642 - Block 422643 422750 - ExpressionStatement 422645 422731 - CallExpression 422645 422730 - Identifier 422645 422676 - ArrowFunction 422677 422729 - EqualsGreaterThanToken 422679 422682 - CallExpression 422682 422729 - PropertyAccessExpression 422682 422723 - Identifier 422682 422693 - Identifier 422694 422723 - Identifier 422724 422728 - MethodDeclaration 422751 422941 - Identifier 422751 422805 - Parameter 422806 422818 - Identifier 422806 422818 - Block 422819 422941 - ExpressionStatement 422821 422922 - CallExpression 422821 422921 - Identifier 422821 422852 - ArrowFunction 422853 422920 - EqualsGreaterThanToken 422855 422858 - CallExpression 422858 422920 - PropertyAccessExpression 422858 422906 - Identifier 422858 422869 - Identifier 422870 422906 - Identifier 422907 422919 - MethodDeclaration 422942 423120 - Identifier 422942 422971 - Parameter 422972 422975 - Identifier 422972 422975 - Parameter 422976 422981 - Identifier 422976 422981 - Parameter 422982 422990 - Identifier 422982 422990 - Block 422991 423120 - ExpressionStatement 422993 423066 - CallExpression 422993 423065 - PropertyAccessExpression 422993 423043 - ParenthesizedExpression 422993 423038 - BinaryExpression 423016 423037 - Identifier 423016 423030 - QuestionQuestionEqualsToken 423030 423034 - ArrayLiteralExpression 423034 423037 - Identifier 423039 423043 - ArrayLiteralExpression 423044 423064 - Identifier 423045 423048 - Identifier 423049 423054 - Identifier 423055 423063 - ReturnStatement 423066 423101 - FalseKeyword 423094 423100 - PropertyAssignment 423121 423193 - Identifier 423121 423157 - PropertyAccessExpression 423158 423193 - PropertyAccessExpression 423158 423174 - Identifier 423158 423166 - Identifier 423167 423174 - Identifier 423175 423193 - PropertyAccessExpression 423210 423245 - PropertyAccessExpression 423210 423226 - Identifier 423210 423218 - Identifier 423219 423226 - Identifier 423227 423245 - ReturnStatement 423247 423430 - ObjectLiteralExpression 423269 423429 - ShorthandPropertyAssignment 423271 423307 - Identifier 423271 423307 - ShorthandPropertyAssignment 423308 423342 - Identifier 423308 423342 - ShorthandPropertyAssignment 423343 423370 - Identifier 423343 423370 - PropertyAssignment 423371 423413 - Identifier 423371 423397 - ArrowFunction 423398 423413 - EqualsGreaterThanToken 423401 423404 - Identifier 423404 423413 - FunctionDeclaration 423430 423672 - Identifier 423452 423462 - Parameter 423463 423491 - Identifier 423463 423478 - QuestionToken 423478 423479 - FunctionType 423480 423491 - VoidKeyword 423486 423491 - Block 423492 423672 - ExpressionStatement 423494 423528 - BinaryExpression 423494 423527 - Identifier 423494 423520 - EqualsToken 423520 423522 - TrueKeyword 423522 423527 - IfStatement 423528 423657 - Identifier 423550 423565 - Block 423566 423657 - ExpressionStatement 423568 423638 - CallExpression 423568 423637 - PropertyAccessExpression 423568 423620 - ParenthesizedExpression 423568 423615 - BinaryExpression 423591 423614 - Identifier 423591 423607 - QuestionQuestionEqualsToken 423607 423611 - ArrayLiteralExpression 423611 423614 - Identifier 423616 423620 - Identifier 423621 423636 - FunctionDeclaration 423672 424317 - Identifier 423696 423715 - Block 423717 424317 - VariableStatement 423719 423791 - VariableDeclarationList 423719 423790 - VariableDeclaration 423742 423790 - Identifier 423742 423760 - BinaryExpression 423762 423790 - PropertyAccessExpression 423762 423785 - Identifier 423762 423777 - QuestionDotToken 423777 423779 - Identifier 423779 423785 - QuestionQuestionToken 423785 423788 - NumericLiteral 423788 423790 - VariableStatement 423791 423867 - VariableDeclarationList 423791 423866 - VariableDeclaration 423814 423866 - Identifier 423814 423834 - BinaryExpression 423836 423866 - PropertyAccessExpression 423836 423861 - Identifier 423836 423853 - QuestionDotToken 423853 423855 - Identifier 423855 423861 - QuestionQuestionToken 423861 423864 - NumericLiteral 423864 423866 - ReturnStatement 423867 424302 - ArrowFunction 423891 424301 - EqualsGreaterThanToken 423894 423897 - Block 423897 424301 - ExpressionStatement 423899 423938 - BinaryExpression 423899 423937 - Identifier 423899 423929 - EqualsToken 423929 423931 - FalseKeyword 423931 423937 - IfStatement 423938 424142 - Identifier 424034 424048 - Block 424049 424142 - ExpressionStatement 424051 424119 - BinaryExpression 424051 424118 - PropertyAccessExpression 424051 424098 - Identifier 424051 424091 - Identifier 424092 424098 - EqualsToken 424098 424100 - Identifier 424100 424118 - IfStatement 424142 424282 - Identifier 424168 424184 - Block 424185 424282 - ExpressionStatement 424187 424259 - BinaryExpression 424187 424258 - PropertyAccessExpression 424187 424236 - Identifier 424187 424229 - Identifier 424230 424236 - EqualsToken 424236 424238 - Identifier 424238 424258 - FunctionDeclaration 424317 425061 - Identifier 424341 424358 - Block 424360 425061 - ExpressionStatement 424362 424409 - BinaryExpression 424362 424408 - PropertyAccessExpression 424362 424395 - Identifier 424362 424387 - Identifier 424388 424395 - EqualsToken 424395 424397 - Identifier 424397 424408 - ExpressionStatement 424409 424470 - BinaryExpression 424409 424469 - PropertyAccessExpression 424409 424449 - Identifier 424409 424434 - Identifier 424435 424449 - EqualsToken 424449 424451 - Identifier 424451 424469 - ExpressionStatement 424470 424535 - BinaryExpression 424470 424534 - PropertyAccessExpression 424470 424512 - Identifier 424470 424495 - Identifier 424496 424512 - EqualsToken 424512 424514 - Identifier 424514 424534 - ExpressionStatement 424535 424593 - CallExpression 424535 424592 - PropertyAccessExpression 424535 424580 - Identifier 424535 424571 - QuestionDotToken 424571 424573 - Identifier 424573 424580 - ArrowFunction 424581 424591 - Parameter 424581 424583 - Identifier 424581 424583 - EqualsGreaterThanToken 424583 424586 - CallExpression 424586 424591 - Identifier 424586 424589 - IfStatement 424593 424680 - Identifier 424615 424623 - Block 424624 424680 - ReturnStatement 424626 424661 - FalseKeyword 424654 424660 - ExpressionStatement 424680 425016 - CallExpression 424680 425015 - PropertyAccessExpression 424680 424721 - Identifier 424680 424712 - QuestionDotToken 424712 424714 - Identifier 424714 424721 - ArrowFunction 424722 424995 - Parameter 424745 424784 - ArrayBindingPattern 424745 424784 - BindingElement 424746 424752 - Identifier 424746 424752 - BindingElement 424753 424774 - Identifier 424753 424774 - BindingElement 424775 424783 - Identifier 424775 424783 - EqualsGreaterThanToken 424785 424788 - CallExpression 424788 424995 - PropertyAccessExpression 424788 424841 - PropertyAccessExpression 424788 424829 - Identifier 424788 424821 - Identifier 424822 424829 - Identifier 424830 424841 - Identifier 424842 424878 - Identifier 424879 424929 - Identifier 424930 424967 - ReturnStatement 425016 425046 - TrueKeyword 425040 425045 - FunctionDeclaration 425072 435012 - Identifier 425092 425106 - Parameter 425107 425148 - Identifier 425107 425128 - TypeReference 425129 425148 - Identifier 425129 425148 - Parameter 425149 425232 - Identifier 425149 425174 - UnionType 425175 425232 - TypeReference 425175 425198 - Identifier 425175 425198 - TypeReference 425200 425220 - Identifier 425200 425220 - UndefinedKeyword 425222 425232 - Parameter 425233 425292 - Identifier 425233 425261 - UnionType 425262 425292 - TypeOperator 425262 425280 - ArrayType 425271 425280 - TypeReference 425271 425278 - Identifier 425271 425278 - UndefinedKeyword 425282 425292 - Parameter 425293 425359 - Identifier 425293 425321 - UnionType 425322 425359 - TypeOperator 425322 425347 - ArrayType 425331 425347 - TypeReference 425331 425345 - Identifier 425331 425345 - UndefinedKeyword 425349 425359 - Parameter 425360 425424 - Identifier 425360 425392 - QuestionToken 425392 425393 - UnionType 425394 425424 - TypeOperator 425394 425412 - ArrayType 425403 425412 - TypeReference 425403 425410 - Identifier 425403 425410 - UndefinedKeyword 425414 425424 - Parameter 425425 425458 - Identifier 425425 425445 - QuestionToken 425445 425446 - TypeReference 425447 425458 - Identifier 425447 425458 - Block 425470 435012 - VariableStatement 425472 425542 - VariableDeclarationList 425472 425541 - VariableDeclaration 425491 425541 - Identifier 425491 425506 - CallExpression 425508 425541 - Identifier 425508 425532 - Identifier 425533 425540 - VariableStatement 425542 426738 - VariableDeclarationList 425542 426737 - VariableDeclaration 426697 426737 - Identifier 426697 426711 - UnionType 426712 426737 - ParenthesizedType 426712 426725 - FunctionType 426714 426724 - VoidKeyword 426719 426724 - UndefinedKeyword 426727 426737 - VariableStatement 426738 426800 - VariableDeclarationList 426738 426799 - VariableDeclaration 426755 426799 - Identifier 426755 426773 - UnionType 426774 426799 - ParenthesizedType 426774 426787 - FunctionType 426776 426786 - VoidKeyword 426781 426786 - UndefinedKeyword 426789 426799 - VariableStatement 426800 426868 - VariableDeclarationList 426800 426867 - VariableDeclaration 426819 426867 - Identifier 426819 426836 - PropertyAccessExpression 426838 426867 - Identifier 426838 426846 - Identifier 426847 426867 - VariableStatement 426868 426915 - VariableDeclarationList 426868 426914 - VariableDeclaration 426887 426914 - Identifier 426887 426897 - PropertyAccessExpression 426899 426914 - Identifier 426899 426907 - Identifier 426908 426914 - IfStatement 426915 426999 - Identifier 426933 426939 - Block 426940 426999 - ExpressionStatement 426942 426984 - BinaryExpression 426942 426983 - PropertyAccessExpression 426942 426974 - Identifier 426942 426967 - Identifier 426968 426974 - EqualsToken 426974 426976 - Identifier 426976 426983 - IfStatement 426999 434733 - BinaryExpression 427017 427060 - PropertyAccessExpression 427017 427045 - Identifier 427017 427024 - Identifier 427025 427045 - AmpersandAmpersandToken 427045 427048 - Identifier 427048 427060 - Block 427061 434733 - ExpressionStatement 427063 431277 - BinaryExpression 427063 431276 - Identifier 427063 428432 - EqualsToken 428432 428434 - ConditionalExpression 428434 431276 - PrefixUnaryExpression 428434 428456 - CallExpression 428436 428456 - Identifier 428436 428440 - Identifier 428441 428455 - QuestionToken 428456 428458 - Identifier 428458 428468 - ColonToken 428468 428470 - CallExpression 428470 431276 - Identifier 428470 428484 - StringLiteral 428485 428515 - ArrowFunction 428516 431256 - Parameter 428516 428541 - Identifier 428516 428541 - EqualsGreaterThanToken 428541 428544 - Block 428544 431256 - IfStatement 428546 428600 - PrefixUnaryExpression 428576 428591 - Identifier 428577 428591 - ReturnStatement 428592 428600 - ForStatement 428600 431233 - VariableDeclarationList 428631 428645 - VariableDeclaration 428634 428645 - Identifier 428634 428641 - NumericLiteral 428643 428645 - BinaryExpression 428646 428677 - Identifier 428646 428653 - LessThanToken 428653 428655 - PropertyAccessExpression 428655 428677 - Identifier 428655 428670 - Identifier 428671 428677 - PostfixUnaryExpression 428678 428687 - Identifier 428678 428685 - Block 428688 431233 - VariableStatement 428690 428757 - VariableDeclarationList 428690 428756 - VariableDeclaration 428725 428756 - Identifier 428725 428731 - ElementAccessExpression 428733 428756 - Identifier 428733 428748 - Identifier 428749 428755 - VariableStatement 428757 428838 - VariableDeclarationList 428757 428837 - VariableDeclaration 428792 428837 - Identifier 428792 428806 - ElementAccessExpression 428808 428837 - Identifier 428808 428827 - QuestionDotToken 428827 428829 - Identifier 428830 428836 - IfStatement 428838 431206 - BinaryExpression 428872 428917 - Identifier 428872 428890 - AmpersandAmpersandToken 428890 428893 - BinaryExpression 428893 428917 - Identifier 428893 428907 - ExclamationEqualsEqualsToken 428907 428911 - Identifier 428911 428917 - Block 428918 429378 - ExpressionStatement 428920 429083 - CallExpression 428920 429082 - Identifier 428920 429048 - PropertyAccessExpression 429049 429066 - Identifier 429049 429054 - Identifier 429055 429066 - Identifier 429067 429081 - IfStatement 429083 429347 - Identifier 429212 429225 - Block 429226 429347 - ExpressionStatement 429228 429312 - CallExpression 429228 429311 - Identifier 429228 429269 - PropertyAccessExpression 429270 429295 - Identifier 429270 429283 - Identifier 429284 429295 - Identifier 429296 429310 - IfStatement 429412 431206 - PrefixUnaryExpression 429417 431078 - CallExpression 429452 431078 - Identifier 429452 429459 - PropertyAccessExpression 429460 429478 - Identifier 429460 429465 - Identifier 429466 429478 - ArrowFunction 429479 431077 - Parameter 429479 429481 - Identifier 429479 429481 - EqualsGreaterThanToken 429481 429484 - Block 429484 431077 - IfStatement 429486 429728 - BinaryExpression 429528 429570 - CallExpression 429528 429542 - Identifier 429528 429539 - Identifier 429540 429541 - AmpersandAmpersandToken 429542 429545 - CallExpression 429545 429570 - Identifier 429545 429562 - PropertyAccessExpression 429563 429569 - Identifier 429563 429564 - Identifier 429565 429569 - Block 429571 429728 - ExpressionStatement 429573 429635 - CallExpression 429573 429634 - Identifier 429573 429626 - PropertyAccessExpression 429627 429633 - Identifier 429627 429628 - Identifier 429629 429633 - ReturnStatement 429635 429689 - TrueKeyword 429683 429688 - ReturnStatement 429728 429783 - Identifier 429772 429782 - FunctionDeclaration 429783 430572 - Identifier 429829 429841 - Parameter 429842 429859 - Identifier 429842 429843 - TypeReference 429844 429859 - Identifier 429844 429859 - VoidKeyword 429861 429866 - Block 429866 430572 - ExpressionStatement 429868 430533 - CallExpression 429868 430532 - Identifier 429868 429917 - PropertyAccessExpression 429918 429928 - Identifier 429918 429919 - Identifier 429920 429928 - ArrowFunction 429929 430531 - Parameter 429929 429931 - Identifier 429929 429931 - EqualsGreaterThanToken 429931 429934 - Block 429934 430531 - SwitchStatement 429936 430488 - PropertyAccessExpression 429990 429996 - Identifier 429990 429991 - Identifier 429992 429996 - CaseBlock 429997 430488 - CaseClause 429999 430144 - PropertyAccessExpression 430053 430082 - Identifier 430053 430064 - Identifier 430065 430082 - ReturnStatement 430083 430144 - CaseClause 430144 430301 - PropertyAccessExpression 430198 430224 - Identifier 430198 430209 - Identifier 430210 430224 - ReturnStatement 430225 430301 - CallExpression 430285 430300 - Identifier 430285 430297 - Identifier 430298 430299 - DefaultClause 430301 430441 - ReturnStatement 430359 430441 - CallExpression 430419 430440 - PropertyAccessExpression 430419 430437 - Identifier 430419 430425 - Identifier 430426 430437 - Identifier 430438 430439 - FunctionDeclaration 430572 431042 - Identifier 430618 430630 - Parameter 430631 430648 - Identifier 430631 430632 - TypeReference 430633 430648 - Identifier 430633 430648 - VoidKeyword 430650 430655 - Block 430655 431042 - IfStatement 430657 430846 - CallExpression 430703 430727 - Identifier 430703 430719 - PropertyAccessExpression 430720 430726 - Identifier 430720 430721 - Identifier 430722 430726 - Block 430728 430846 - ReturnStatement 430730 430803 - CallExpression 430782 430802 - Identifier 430782 430794 - PropertyAccessExpression 430795 430801 - Identifier 430795 430796 - Identifier 430797 430801 - VariableStatement 430846 430929 - VariableDeclarationList 430846 430928 - VariableDeclaration 430893 430928 - Identifier 430893 430900 - CallExpression 430902 430928 - Identifier 430902 430925 - Identifier 430926 430927 - ExpressionStatement 430929 431003 - CallExpression 430929 431002 - Identifier 430929 430974 - PropertyAccessExpression 430975 430993 - Identifier 430975 430981 - Identifier 430982 430993 - Identifier 430994 431001 - Block 431109 431206 - ExpressionStatement 431111 431175 - CallExpression 431111 431174 - Identifier 431111 431148 - PropertyAccessExpression 431149 431166 - Identifier 431149 431154 - Identifier 431155 431166 - Identifier 431167 431173 - IfStatement 431277 431890 - BinaryExpression 431301 431392 - BinaryExpression 431301 431368 - PropertyAccessExpression 431301 431314 - Identifier 431301 431308 - Identifier 431309 431314 - AmpersandToken 431314 431316 - PropertyAccessExpression 431316 431368 - Identifier 431316 431333 - Identifier 431334 431368 - AmpersandAmpersandToken 431368 431371 - CallExpression 431371 431392 - Identifier 431371 431376 - Identifier 431377 431391 - Block 431393 431890 - ExpressionStatement 431395 431871 - BinaryExpression 431395 431870 - Identifier 431395 431434 - EqualsToken 431434 431436 - CallExpression 431436 431870 - Identifier 431436 431450 - StringLiteral 431451 431489 - ArrowFunction 431490 431846 - Parameter 431490 431519 - Identifier 431490 431519 - EqualsGreaterThanToken 431519 431522 - Block 431522 431846 - ForOfStatement 431524 431819 - VariableDeclarationList 431559 431574 - VariableDeclaration 431564 431574 - Identifier 431564 431574 - BinaryExpression 431577 431606 - Identifier 431577 431592 - QuestionQuestionToken 431592 431595 - Identifier 431595 431606 - Block 431607 431819 - VariableStatement 431609 431717 - VariableDeclarationList 431609 431716 - VariableDeclaration 431648 431716 - Identifier 431648 431662 - PropertyAccessExpression 431664 431716 - CallExpression 431664 431704 - Identifier 431664 431684 - Identifier 431685 431694 - Identifier 431695 431703 - Identifier 431705 431716 - ExpressionStatement 431717 431788 - CallExpression 431717 431787 - Identifier 431717 431754 - Identifier 431755 431768 - PropertyAccessExpression 431769 431786 - Identifier 431769 431779 - Identifier 431780 431786 - FunctionDeclaration 431890 434718 - Identifier 431918 431932 - Parameter 431933 431962 - Identifier 431933 431937 - UnionType 431938 431962 - LiteralType 431938 431947 - StringLiteral 431938 431947 - LiteralType 431949 431962 - StringLiteral 431949 431962 - Parameter 431963 432033 - Identifier 431963 431970 - FunctionType 431971 432033 - Parameter 431973 432024 - Identifier 431973 431982 - FunctionType 431983 432024 - Parameter 431985 431999 - Identifier 431985 431989 - TypeReference 431990 431999 - Identifier 431990 431999 - Parameter 432000 432015 - Identifier 432000 432007 - TypeReference 432008 432015 - Identifier 432008 432015 - VoidKeyword 432019 432024 - VoidKeyword 432028 432033 - Block 432034 434718 - ExpressionStatement 432036 432176 - CallExpression 432036 432175 - PropertyAccessExpression 432036 432145 - Identifier 432036 432138 - Identifier 432139 432145 - PropertyAccessExpression 432146 432174 - Identifier 432146 432153 - Identifier 432154 432174 - VariableStatement 432176 432238 - VariableDeclarationList 432176 432237 - VariableDeclaration 432201 432237 - Identifier 432201 432219 - UnionType 432220 432237 - TypeReference 432220 432225 - Identifier 432220 432225 - UndefinedKeyword 432227 432237 - IfStatement 432238 432718 - BinaryExpression 432264 432348 - PropertyAccessExpression 432264 432339 - CallExpression 432264 432306 - Identifier 432264 432276 - PropertyAccessExpression 432277 432305 - Identifier 432277 432284 - Identifier 432285 432305 - Identifier 432307 432339 - EqualsEqualsEqualsToken 432339 432343 - Identifier 432343 432348 - Block 432349 432449 - ExpressionStatement 432351 432426 - BinaryExpression 432351 432425 - Identifier 432351 432394 - EqualsToken 432394 432396 - PropertyAccessExpression 432396 432425 - Identifier 432396 432404 - Identifier 432405 432425 - IfStatement 432475 432718 - BinaryExpression 432480 432610 - PropertyAccessExpression 432480 432515 - PropertyAccessExpression 432480 432508 - Identifier 432480 432487 - Identifier 432488 432508 - Identifier 432509 432515 - AmpersandAmpersandToken 432515 432518 - BinaryExpression 432518 432610 - PropertyAccessExpression 432518 432601 - CallExpression 432518 432568 - Identifier 432518 432531 - PropertyAccessExpression 432532 432567 - PropertyAccessExpression 432532 432560 - Identifier 432532 432539 - Identifier 432540 432560 - Identifier 432561 432567 - Identifier 432569 432601 - EqualsEqualsEqualsToken 432601 432605 - Identifier 432605 432610 - Block 432611 432718 - ExpressionStatement 432613 432695 - BinaryExpression 432613 432694 - Identifier 432613 432656 - EqualsToken 432656 432658 - PropertyAccessExpression 432658 432694 - PropertyAccessExpression 432658 432687 - Identifier 432658 432666 - Identifier 432667 432687 - Identifier 432688 432694 - ExpressionStatement 432718 432793 - CallExpression 432718 432792 - PropertyAccessExpression 432718 432764 - Identifier 432718 432745 - Identifier 432746 432764 - Identifier 432765 432782 - Identifier 432783 432791 - VariableStatement 432793 432881 - VariableDeclarationList 432793 432880 - VariableDeclaration 432822 432880 - Identifier 432822 432829 - BinaryExpression 432831 432880 - PropertyAccessExpression 432831 432857 - Identifier 432831 432849 - QuestionDotToken 432849 432851 - Identifier 432851 432857 - QuestionQuestionToken 432857 432860 - CallExpression 432860 432880 - Identifier 432860 432878 - VariableStatement 432881 432941 - VariableDeclarationList 432881 432940 - VariableDeclaration 432906 432940 - Identifier 432906 432916 - UnionType 432917 432940 - ArrayType 432917 432928 - TypeReference 432917 432926 - Identifier 432917 432926 - UndefinedKeyword 432930 432940 - VariableStatement 432941 433031 - VariableDeclarationList 432941 433030 - VariableDeclaration 432966 433030 - Identifier 432966 432976 - UnionType 432977 433030 - ArrayType 432977 433018 - TypeLiteral 432977 433016 - PropertySignature 432979 432995 - Identifier 432979 432984 - TypeReference 432985 432994 - Identifier 432985 432994 - PropertySignature 432995 433014 - Identifier 432995 433005 - TypeReference 433006 433013 - Identifier 433006 433013 - UndefinedKeyword 433020 433030 - ExpressionStatement 433031 433685 - CallExpression 433031 433684 - Identifier 433031 433059 - ArrowFunction 433060 433683 - Parameter 433061 433065 - Identifier 433061 433065 - Parameter 433066 433073 - Identifier 433066 433073 - EqualsGreaterThanToken 433074 433077 - Block 433077 433683 - IfStatement 433079 433609 - Identifier 433197 433214 - Block 433215 433609 - VariableStatement 433217 433282 - VariableDeclarationList 433217 433281 - VariableDeclaration 433252 433281 - Identifier 433252 433262 - CallExpression 433264 433281 - PropertyAccessExpression 433264 433275 - Identifier 433264 433271 - Identifier 433272 433275 - Identifier 433276 433280 - IfStatement 433282 433582 - PrefixUnaryExpression 433316 433326 - Identifier 433317 433326 - Block 433327 433430 - ExpressionStatement 433329 433399 - BinaryExpression 433329 433398 - Identifier 433329 433372 - EqualsToken 433372 433374 - CallExpression 433374 433398 - Identifier 433374 433381 - Identifier 433382 433391 - Identifier 433392 433397 - Block 433464 433582 - ExpressionStatement 433466 433551 - BinaryExpression 433466 433550 - Identifier 433466 433509 - EqualsToken 433509 433511 - CallExpression 433511 433550 - Identifier 433511 433518 - Identifier 433519 433528 - ObjectLiteralExpression 433529 433549 - ShorthandPropertyAssignment 433531 433536 - Identifier 433531 433536 - ShorthandPropertyAssignment 433537 433547 - Identifier 433537 433547 - ExpressionStatement 433609 433660 - CallExpression 433609 433659 - PropertyAccessExpression 433609 433645 - Identifier 433609 433641 - Identifier 433642 433645 - Identifier 433646 433650 - Identifier 433651 433658 - IfStatement 433685 434699 - PrefixUnaryExpression 433713 433731 - Identifier 433714 433731 - Block 433732 434320 - VariableStatement 433734 434009 - VariableDeclarationList 433734 434008 - VariableDeclaration 433964 434008 - Identifier 433964 433974 - CallExpression 433976 434008 - PropertyAccessExpression 433976 433996 - Identifier 433976 433984 - Identifier 433985 433996 - Identifier 433997 434007 - ExpressionStatement 434009 434099 - BinaryExpression 434009 434098 - PropertyAccessExpression 434009 434091 - CallExpression 434009 434058 - Identifier 434009 434047 - Identifier 434048 434057 - Identifier 434059 434091 - EqualsToken 434091 434093 - Identifier 434093 434098 - ExpressionStatement 434099 434151 - BinaryExpression 434099 434150 - PropertyAccessExpression 434099 434141 - Identifier 434099 434134 - Identifier 434135 434141 - EqualsToken 434141 434143 - Identifier 434143 434150 - ExpressionStatement 434151 434230 - CallExpression 434151 434229 - Identifier 434151 434188 - Identifier 434189 434198 - PropertyAccessExpression 434199 434228 - Identifier 434199 434207 - Identifier 434208 434228 - ExpressionStatement 434230 434297 - BinaryExpression 434230 434296 - PropertyAccessExpression 434230 434284 - Identifier 434230 434263 - Identifier 434264 434284 - EqualsToken 434284 434286 - Identifier 434286 434296 - Block 434346 434699 - ReturnStatement 434348 434676 - FunctionExpression 434471 434675 - Identifier 434480 434485 - Block 434487 434675 - ExpressionStatement 434489 434561 - CallExpression 434489 434560 - Identifier 434489 434526 - Identifier 434527 434536 - ArrowFunction 434537 434559 - Parameter 434537 434539 - Identifier 434537 434539 - EqualsGreaterThanToken 434539 434542 - CallExpression 434542 434559 - PropertyAccessExpression 434542 434556 - Identifier 434542 434549 - Identifier 434550 434556 - Identifier 434557 434558 - ExpressionStatement 434561 434648 - CallExpression 434561 434647 - Identifier 434561 434598 - Identifier 434599 434608 - ArrowFunction 434609 434646 - Parameter 434609 434611 - Identifier 434609 434611 - EqualsGreaterThanToken 434611 434614 - CallExpression 434614 434646 - PropertyAccessExpression 434614 434625 - Identifier 434614 434621 - Identifier 434622 434625 - PropertyAccessExpression 434626 434632 - Identifier 434626 434627 - Identifier 434628 434632 - PropertyAccessExpression 434633 434645 - Identifier 434633 434635 - Identifier 434636 434645 - ReturnStatement 434733 435001 - ArrowFunction 434755 435000 - EqualsGreaterThanToken 434758 434761 - Block 434761 435000 - ExpressionStatement 434763 434799 - CallExpression 434763 434798 - Identifier 434763 434794 - QuestionDotToken 434794 434796 - ExpressionStatement 434799 434839 - CallExpression 434799 434838 - Identifier 434799 434834 - QuestionDotToken 434834 434836 - ExpressionStatement 434839 434874 - CallExpression 434839 434873 - Identifier 434839 434871 - ExpressionStatement 434874 434940 - BinaryExpression 434874 434939 - PropertyAccessExpression 434874 434920 - Identifier 434874 434899 - Identifier 434900 434920 - EqualsToken 434920 434922 - Identifier 434922 434939 - ExpressionStatement 434940 434985 - BinaryExpression 434940 434984 - PropertyAccessExpression 434940 434972 - Identifier 434940 434965 - Identifier 434966 434972 - EqualsToken 434972 434974 - Identifier 434974 434984 - FunctionDeclaration 435012 435908 - Identifier 435032 435063 - Parameter 435064 435084 - Identifier 435064 435073 - TypeReference 435074 435084 - Identifier 435074 435084 - Parameter 435085 435113 - Identifier 435085 435093 - TypeReference 435094 435113 - Identifier 435094 435113 - Block 435114 435908 - IfStatement 435116 435263 - PropertyAccessExpression 435134 435157 - Identifier 435134 435143 - Identifier 435144 435157 - Block 435158 435263 - ReturnStatement 435160 435248 - CallExpression 435184 435247 - Identifier 435184 435213 - PropertyAccessExpression 435214 435237 - Identifier 435214 435223 - Identifier 435224 435237 - Identifier 435238 435246 - IfStatement 435263 435897 - BinaryExpression 435281 435339 - PropertyAccessExpression 435281 435302 - Identifier 435281 435290 - Identifier 435291 435302 - AmpersandAmpersandToken 435302 435305 - CallExpression 435305 435339 - Identifier 435305 435316 - PropertyAccessExpression 435317 435338 - Identifier 435317 435326 - Identifier 435327 435338 - Block 435340 435897 - VariableStatement 435342 435415 - VariableDeclarationList 435342 435414 - VariableDeclaration 435365 435414 - Identifier 435365 435373 - CallExpression 435375 435414 - Identifier 435375 435391 - PropertyAccessExpression 435392 435413 - Identifier 435392 435401 - Identifier 435402 435413 - IfStatement 435415 435882 - BinaryExpression 435437 435470 - Identifier 435437 435444 - AmpersandAmpersandToken 435444 435447 - PropertyAccessExpression 435447 435470 - Identifier 435447 435455 - Identifier 435456 435470 - Block 435471 435882 - ReturnStatement 435473 435863 - CallExpression 435501 435862 - PropertyAccessExpression 435501 435536 - Identifier 435501 435509 - Identifier 435510 435536 - Identifier 435537 435586 - Identifier 435587 435641 - StringLiteral 435642 435674 - Identifier 435675 435728 - CallExpression 435729 435838 - Identifier 435729 435775 - CallExpression 435776 435828 - Identifier 435776 435795 - Identifier 435796 435803 - PropertyAccessExpression 435804 435827 - Identifier 435804 435812 - Identifier 435813 435827 - Identifier 435829 435837 - FunctionDeclaration 435908 436817 - Identifier 435928 435969 - Parameter 435970 435989 - Identifier 435970 435974 - TypeReference 435975 435989 - Identifier 435975 435989 - Parameter 435990 436018 - Identifier 435990 435998 - TypeReference 435999 436018 - Identifier 435999 436018 - Parameter 436019 436056 - Identifier 436019 436034 - UnionType 436035 436056 - TypeReference 436035 436044 - Identifier 436035 436044 - UndefinedKeyword 436046 436056 - TypeReference 436058 436083 - Identifier 436058 436083 - Block 436083 436817 - VariableStatement 436085 436146 - VariableDeclarationList 436085 436145 - VariableDeclaration 436104 436145 - Identifier 436104 436117 - CallExpression 436119 436145 - Identifier 436119 436136 - Identifier 436137 436144 - ExpressionStatement 436146 436230 - BinaryExpression 436146 436229 - PropertyAccessExpression 436146 436173 - Identifier 436146 436167 - Identifier 436168 436173 - AmpersandEqualsToken 436173 436176 - PrefixUnaryExpression 436176 436229 - PropertyAccessExpression 436178 436229 - Identifier 436178 436194 - Identifier 436195 436229 - VariableStatement 436230 436416 - VariableDeclarationList 436230 436415 - VariableDeclaration 436329 436415 - Identifier 436329 436339 - CallExpression 436341 436415 - PropertyAccessExpression 436341 436382 - Identifier 436341 436349 - Identifier 436350 436382 - CallExpression 436383 436414 - Identifier 436383 436408 - Identifier 436409 436413 - VariableStatement 436416 436478 - VariableDeclarationList 436416 436477 - VariableDeclaration 436435 436477 - Identifier 436435 436440 - CallExpression 436442 436477 - Identifier 436442 436462 - Identifier 436463 436467 - Identifier 436468 436476 - VariableStatement 436478 436551 - VariableDeclarationList 436478 436550 - VariableDeclaration 436497 436550 - Identifier 436497 436514 - CallExpression 436516 436550 - Identifier 436516 436544 - Identifier 436545 436549 - VariableStatement 436551 436662 - VariableDeclarationList 436551 436661 - VariableDeclaration 436570 436661 - Identifier 436570 436591 - BinaryExpression 436593 436661 - Identifier 436593 436610 - AmpersandAmpersandToken 436610 436613 - CallExpression 436613 436661 - Identifier 436613 436634 - Identifier 436635 436651 - Identifier 436652 436660 - ExpressionStatement 436662 436691 - CallExpression 436662 436690 - Identifier 436662 436688 - ReturnStatement 436691 436806 - CallExpression 436711 436805 - PropertyAccessExpression 436711 436750 - Identifier 436711 436719 - Identifier 436720 436750 - Identifier 436751 436760 - Identifier 436761 436766 - Identifier 436767 436782 - Identifier 436783 436804 - FunctionDeclaration 436817 437177 - Identifier 436837 436886 - Parameter 436887 436897 - Identifier 436887 436891 - TypeReference 436892 436897 - Identifier 436892 436897 - Parameter 436898 436929 - Identifier 436898 436907 - UnionType 436908 436929 - TypeReference 436908 436917 - Identifier 436908 436917 - UndefinedKeyword 436919 436929 - Parameter 436930 436958 - Identifier 436930 436938 - TypeReference 436939 436958 - Identifier 436939 436958 - Block 436959 437177 - ReturnStatement 436961 437166 - BinaryExpression 436981 437165 - BinaryExpression 436981 437109 - BinaryExpression 436981 437041 - Identifier 436981 436990 - AmpersandAmpersandToken 436990 436993 - BinaryExpression 436993 437041 - CallExpression 436993 437032 - Identifier 436993 437013 - Identifier 437014 437021 - Identifier 437022 437031 - EqualsEqualsEqualsToken 437032 437036 - Identifier 437036 437041 - AmpersandAmpersandToken 437041 437044 - CallExpression 437044 437109 - PropertyAccessExpression 437044 437090 - Identifier 437044 437065 - Identifier 437066 437090 - Identifier 437091 437098 - Identifier 437099 437108 - BarBarToken 437109 437129 - CallExpression 437129 437165 - Identifier 437129 437150 - Identifier 437151 437155 - Identifier 437156 437164 - FunctionDeclaration 437177 437608 - Identifier 437197 437224 - Parameter 437225 437244 - Identifier 437225 437229 - TypeReference 437230 437244 - Identifier 437230 437244 - Parameter 437245 437273 - Identifier 437245 437253 - TypeReference 437254 437273 - Identifier 437254 437273 - Parameter 437274 437322 - Identifier 437274 437285 - CallExpression 437287 437322 - Identifier 437287 437316 - Identifier 437317 437321 - TypeReference 437324 437349 - Identifier 437324 437349 - Block 437349 437608 - VariableStatement 437351 437504 - VariableDeclarationList 437351 437503 - VariableDeclaration 437370 437503 - Identifier 437370 437385 - BinaryExpression 437387 437503 - Identifier 437387 437398 - AmpersandAmpersandToken 437398 437401 - CallExpression 437401 437503 - Identifier 437401 437450 - Identifier 437451 437461 - CallExpression 437462 437493 - Identifier 437462 437487 - Identifier 437488 437492 - Identifier 437494 437502 - ReturnStatement 437504 437597 - CallExpression 437524 437596 - Identifier 437524 437565 - Identifier 437566 437570 - Identifier 437571 437579 - Identifier 437580 437595 - FunctionDeclaration 437608 438516 - Identifier 437628 437667 - Parameter 437668 437696 - Identifier 437668 437681 - TypeReference 437682 437696 - Identifier 437682 437696 - Parameter 437697 437725 - Identifier 437697 437705 - TypeReference 437706 437725 - Identifier 437706 437725 - TypeReference 437727 437745 - Identifier 437727 437745 - Block 437745 438516 - VariableStatement 437747 437995 - VariableDeclarationList 437747 437994 - VariableDeclaration 437766 437994 - Identifier 437766 437782 - ConditionalExpression 437784 437994 - BinaryExpression 437784 437899 - BinaryExpression 437784 437837 - PropertyAccessExpression 437784 437803 - Identifier 437784 437798 - Identifier 437799 437803 - EqualsEqualsEqualsToken 437803 437807 - PropertyAccessExpression 437807 437837 - Identifier 437807 437825 - Identifier 437826 437837 - BarBarToken 437837 437840 - BinaryExpression 437840 437899 - PropertyAccessExpression 437840 437859 - Identifier 437840 437854 - Identifier 437855 437859 - EqualsEqualsEqualsToken 437859 437863 - PropertyAccessExpression 437863 437899 - Identifier 437863 437881 - Identifier 437882 437899 - QuestionToken 437899 437901 - CallExpression 437901 437965 - PropertyAccessExpression 437901 437938 - Identifier 437901 437926 - Identifier 437927 437938 - PropertyAccessExpression 437939 437964 - Identifier 437939 437949 - Identifier 437950 437964 - ColonToken 437965 437967 - Identifier 437967 437994 - VariableStatement 437995 438307 - VariableDeclarationList 437995 438306 - VariableDeclaration 438014 438306 - Identifier 438014 438028 - ConditionalExpression 438030 438306 - BinaryExpression 438030 438144 - BinaryExpression 438030 438082 - PropertyAccessExpression 438030 438049 - Identifier 438030 438044 - Identifier 438045 438049 - EqualsEqualsEqualsToken 438049 438053 - PropertyAccessExpression 438053 438082 - Identifier 438053 438071 - Identifier 438072 438082 - BarBarToken 438082 438085 - BinaryExpression 438085 438144 - PropertyAccessExpression 438085 438104 - Identifier 438085 438099 - Identifier 438100 438104 - EqualsEqualsEqualsToken 438104 438108 - PropertyAccessExpression 438108 438144 - Identifier 438108 438126 - Identifier 438127 438144 - QuestionToken 438144 438146 - CallExpression 438146 438258 - Identifier 438146 438176 - CallExpression 438177 438230 - PropertyAccessExpression 438177 438201 - Identifier 438177 438184 - Identifier 438185 438201 - PropertyAccessExpression 438202 438229 - Identifier 438202 438215 - Identifier 438216 438229 - PropertyAccessExpression 438231 438257 - Identifier 438231 438241 - Identifier 438242 438257 - ColonToken 438258 438260 - CallExpression 438260 438306 - PropertyAccessExpression 438260 438304 - Identifier 438260 438285 - Identifier 438286 438304 - VariableStatement 438307 438410 - VariableDeclarationList 438307 438409 - VariableDeclaration 438326 438409 - Identifier 438326 438335 - BinaryExpression 438337 438409 - PropertyAccessExpression 438337 438356 - Identifier 438337 438351 - Identifier 438352 438356 - AmpersandAmpersandToken 438356 438359 - CallExpression 438359 438409 - Identifier 438359 438380 - PropertyAccessExpression 438381 438399 - Identifier 438381 438394 - Identifier 438395 438399 - Identifier 438400 438408 - ReturnStatement 438410 438505 - CallExpression 438430 438504 - PropertyAccessExpression 438430 438462 - Identifier 438430 438438 - Identifier 438439 438462 - Identifier 438463 438478 - Identifier 438479 438493 - Identifier 438494 438503 - FunctionDeclaration 438516 439125 - Identifier 438536 438569 - Parameter 438570 438593 - Identifier 438570 438585 - TypeReference 438586 438593 - Identifier 438586 438593 - UnionType 438595 438648 - TypeReference 438595 438616 - Identifier 438595 438616 - TypeReference 438618 438636 - Identifier 438618 438636 - UndefinedKeyword 438638 438648 - Block 438648 439125 - VariableStatement 438650 438829 - VariableDeclarationList 438650 438828 - VariableDeclaration 438669 438828 - Identifier 438669 438690 - UnionType 438691 438744 - TypeReference 438691 438712 - Identifier 438691 438712 - TypeReference 438714 438732 - Identifier 438714 438732 - UndefinedKeyword 438734 438744 - CallExpression 438746 438828 - Identifier 438746 438767 - TypeReference 438768 438788 - Identifier 438768 438788 - Identifier 438790 438805 - PropertyAccessExpression 438806 438827 - Identifier 438806 438817 - Identifier 438818 438827 - IfStatement 438829 438931 - Identifier 438847 438867 - Block 438868 438931 - ReturnStatement 438870 438916 - Identifier 438894 438915 - IfStatement 438931 439114 - PrefixUnaryExpression 438949 438984 - CallExpression 438950 438984 - Identifier 438950 438967 - Identifier 438968 438983 - Block 438985 439114 - ReturnStatement 438987 439099 - CallExpression 439011 439098 - Identifier 439011 439032 - TypeReference 439033 439050 - Identifier 439033 439050 - Identifier 439052 439067 - PropertyAccessExpression 439068 439097 - Identifier 439068 439079 - Identifier 439080 439097 - FunctionDeclaration 439125 440887 - Identifier 439145 439174 - Parameter 439175 439198 - Identifier 439175 439190 - TypeReference 439191 439198 - Identifier 439191 439198 - Parameter 439199 439227 - Identifier 439199 439207 - TypeReference 439208 439227 - Identifier 439208 439227 - Parameter 439228 439260 - Identifier 439228 439250 - QuestionToken 439250 439251 - BooleanKeyword 439252 439260 - TypeReference 439262 439283 - Identifier 439262 439283 - Block 439283 440887 - VariableStatement 439285 439378 - VariableDeclarationList 439285 439377 - VariableDeclaration 439304 439377 - Identifier 439304 439325 - CallExpression 439327 439377 - Identifier 439327 439360 - Identifier 439361 439376 - VariableStatement 439378 439449 - VariableDeclarationList 439378 439448 - VariableDeclaration 439399 439448 - Identifier 439399 439413 - CallExpression 439415 439448 - Identifier 439415 439431 - Identifier 439432 439447 - VariableStatement 439449 439580 - VariableDeclarationList 439449 439579 - VariableDeclaration 439468 439579 - Identifier 439468 439486 - CallExpression 439488 439579 - Identifier 439488 439516 - Identifier 439517 439524 - Identifier 439525 439546 - Identifier 439547 439561 - Identifier 439562 439578 - VariableStatement 439580 439837 - VariableDeclarationList 439580 439836 - VariableDeclaration 439601 439836 - Identifier 439601 439611 - ConditionalExpression 439613 439836 - BinaryExpression 439613 439763 - BinaryExpression 439613 439721 - BinaryExpression 439613 439697 - PrefixUnaryExpression 439613 439672 - ParenthesizedExpression 439615 439672 - BinaryExpression 439616 439671 - PropertyAccessExpression 439616 439629 - Identifier 439616 439623 - Identifier 439624 439629 - AmpersandToken 439629 439631 - PropertyAccessExpression 439631 439671 - Identifier 439631 439648 - Identifier 439649 439671 - AmpersandAmpersandToken 439672 439675 - Identifier 439675 439697 - AmpersandAmpersandToken 439697 439700 - Identifier 439700 439721 - AmpersandAmpersandToken 439721 439724 - CallExpression 439724 439763 - Identifier 439724 439741 - Identifier 439742 439762 - QuestionToken 439763 439765 - CallExpression 439765 439824 - Identifier 439765 439769 - CallExpression 439770 439804 - Identifier 439770 439782 - Identifier 439783 439803 - PropertyAccessExpression 439805 439823 - Identifier 439805 439813 - Identifier 439814 439823 - ColonToken 439824 439826 - Identifier 439826 439836 - VariableStatement 439837 439989 - VariableDeclarationList 439837 439988 - VariableDeclaration 439856 439988 - Identifier 439856 439863 - BinaryExpression 439865 439988 - BinaryExpression 439865 439927 - Identifier 439865 439886 - AmpersandAmpersandToken 439886 439889 - CallExpression 439889 439927 - Identifier 439889 439905 - Identifier 439906 439926 - BarBarToken 439927 439930 - BinaryExpression 439930 439988 - CallExpression 439930 439961 - Identifier 439930 439944 - Identifier 439945 439960 - AmpersandToken 439961 439963 - PropertyAccessExpression 439963 439988 - Identifier 439963 439974 - Identifier 439975 439988 - VariableStatement 439989 440094 - VariableDeclarationList 439989 440093 - VariableDeclaration 440008 440093 - Identifier 440008 440023 - ConditionalExpression 440025 440093 - Identifier 440025 440032 - QuestionToken 440032 440034 - CallExpression 440034 440081 - PropertyAccessExpression 440034 440054 - Identifier 440034 440042 - Identifier 440043 440054 - PropertyAccessExpression 440055 440080 - Identifier 440055 440065 - Identifier 440066 440080 - ColonToken 440081 440083 - Identifier 440083 440093 - VariableStatement 440094 440205 - VariableDeclarationList 440094 440204 - VariableDeclaration 440113 440204 - Identifier 440113 440118 - CallExpression 440120 440204 - Identifier 440120 440156 - Identifier 440157 440172 - Identifier 440173 440194 - Identifier 440195 440203 - VariableStatement 440205 440369 - VariableDeclarationList 440205 440368 - VariableDeclaration 440224 440368 - Identifier 440224 440235 - BinaryExpression 440237 440368 - BinaryExpression 440237 440303 - Identifier 440237 440258 - AmpersandAmpersandToken 440258 440261 - CallExpression 440261 440303 - Identifier 440261 440281 - Identifier 440282 440302 - BarBarToken 440303 440306 - BinaryExpression 440306 440368 - CallExpression 440306 440337 - Identifier 440306 440320 - Identifier 440321 440336 - AmpersandToken 440337 440339 - PropertyAccessExpression 440339 440368 - Identifier 440339 440350 - Identifier 440351 440368 - VariableStatement 440369 440476 - VariableDeclarationList 440369 440475 - VariableDeclaration 440388 440475 - Identifier 440388 440402 - ConditionalExpression 440404 440475 - Identifier 440404 440415 - QuestionToken 440415 440417 - CallExpression 440417 440463 - PropertyAccessExpression 440417 440437 - Identifier 440417 440425 - Identifier 440426 440437 - PropertyAccessExpression 440438 440462 - Identifier 440438 440448 - Identifier 440449 440462 - ColonToken 440463 440465 - Identifier 440465 440475 - VariableStatement 440476 440759 - VariableDeclarationList 440476 440758 - VariableDeclaration 440495 440758 - Identifier 440495 440509 - CallExpression 440511 440758 - PropertyAccessExpression 440511 440546 - Identifier 440511 440519 - Identifier 440520 440546 - Identifier 440547 440574 - Identifier 440575 440607 - Identifier 440608 440630 - Identifier 440631 440662 - Identifier 440663 440698 - Identifier 440699 440742 - ExpressionStatement 440759 440841 - BinaryExpression 440759 440840 - PropertyAccessExpression 440759 440798 - Identifier 440759 440780 - Identifier 440781 440798 - PlusEqualsToken 440798 440801 - BinaryExpression 440801 440840 - PropertyAccessExpression 440801 440836 - CallExpression 440801 440829 - Identifier 440801 440812 - Identifier 440813 440828 - Identifier 440830 440836 - PlusToken 440836 440838 - NumericLiteral 440838 440840 - ReturnStatement 440841 440876 - Identifier 440861 440875 - FunctionDeclaration 440887 442999 - Identifier 440907 440943 - Parameter 440944 440967 - Identifier 440944 440959 - TypeReference 440960 440967 - Identifier 440960 440967 - Parameter 440968 441043 - Identifier 440968 440989 - UnionType 440990 441043 - TypeReference 440990 441011 - Identifier 440990 441011 - TypeReference 441013 441031 - Identifier 441013 441031 - UndefinedKeyword 441033 441043 - Parameter 441044 441072 - Identifier 441044 441052 - TypeReference 441053 441072 - Identifier 441053 441072 - Block 441073 442999 - ReturnStatement 441075 441647 - ConditionalExpression 441095 441646 - Identifier 441095 441116 - QuestionToken 441116 441118 - ConditionalExpression 441118 441599 - PropertyAccessExpression 441118 441144 - Identifier 441118 441139 - Identifier 441140 441144 - QuestionToken 441144 441146 - ConditionalExpression 441146 441552 - BinaryExpression 441146 441220 - PropertyAccessExpression 441146 441194 - PropertyAccessExpression 441146 441189 - Identifier 441146 441184 - Identifier 441185 441189 - Identifier 441190 441194 - EqualsEqualsEqualsToken 441194 441198 - PropertyAccessExpression 441198 441220 - Identifier 441198 441209 - Identifier 441210 441220 - QuestionToken 441220 441222 - CallExpression 441222 441308 - Identifier 441222 441235 - CallExpression 441236 441280 - PropertyAccessExpression 441236 441253 - Identifier 441236 441243 - Identifier 441244 441253 - PropertyAccessExpression 441254 441279 - Identifier 441254 441274 - Identifier 441275 441279 - PropertyAccessExpression 441281 441307 - Identifier 441281 441291 - Identifier 441292 441307 - ColonToken 441308 441310 - ConditionalExpression 441310 441552 - BinaryExpression 441310 441391 - PropertyAccessExpression 441310 441362 - PropertyAccessExpression 441310 441357 - Identifier 441310 441352 - Identifier 441353 441357 - Identifier 441358 441362 - EqualsEqualsEqualsToken 441362 441366 - PropertyAccessExpression 441366 441391 - Identifier 441366 441377 - Identifier 441378 441391 - QuestionToken 441391 441393 - CallExpression 441393 441485 - Identifier 441393 441406 - CallExpression 441407 441457 - PropertyAccessExpression 441407 441424 - Identifier 441407 441414 - Identifier 441415 441424 - PropertyAccessExpression 441425 441456 - PropertyAccessExpression 441425 441450 - Identifier 441425 441445 - Identifier 441446 441450 - Identifier 441451 441456 - PropertyAccessExpression 441458 441484 - Identifier 441458 441468 - Identifier 441469 441484 - ColonToken 441485 441487 - CallExpression 441487 441552 - Identifier 441487 441525 - PropertyAccessExpression 441526 441551 - Identifier 441526 441546 - Identifier 441547 441551 - ColonToken 441552 441554 - CallExpression 441554 441599 - Identifier 441554 441582 - Identifier 441583 441598 - ColonToken 441599 441601 - CallExpression 441601 441646 - Identifier 441601 441629 - Identifier 441630 441645 - FunctionDeclaration 441647 442988 - Identifier 441671 441688 - Parameter 441689 441706 - Identifier 441689 441693 - TypeReference 441694 441706 - Identifier 441694 441706 - TypeReference 441708 441720 - Identifier 441708 441720 - Block 441720 442988 - ReturnStatement 441722 441800 - AsExpression 441746 441799 - CallExpression 441746 441784 - Identifier 441746 441778 - Identifier 441779 441783 - TypeReference 441787 441799 - Identifier 441787 441799 - FunctionDeclaration 441800 442973 - Identifier 441826 441858 - Parameter 441859 441869 - Identifier 441859 441863 - TypeReference 441864 441869 - Identifier 441864 441869 - TypeReference 441871 441876 - Identifier 441871 441876 - Block 441876 442973 - IfStatement 441878 442120 - BinaryExpression 441904 441994 - BinaryExpression 441904 441966 - PropertyAccessExpression 441904 441934 - PropertyAccessExpression 441904 441919 - Identifier 441904 441911 - Identifier 441912 441919 - Identifier 441920 441934 - AmpersandAmpersandToken 441934 441937 - CallExpression 441937 441966 - Identifier 441937 441960 - Identifier 441961 441965 - AmpersandAmpersandToken 441966 441969 - CallExpression 441969 441994 - Identifier 441969 441988 - Identifier 441989 441993 - Block 441995 442120 - ExpressionStatement 441997 442097 - CallExpression 441997 442096 - Identifier 441997 442040 - PropertyAccessExpression 442041 442056 - Identifier 442041 442045 - Identifier 442046 442056 - PropertyAccessExpression 442057 442086 - Identifier 442057 442065 - Identifier 442066 442086 - Identifier 442087 442095 - VariableStatement 442120 442300 - VariableDeclarationList 442120 442299 - VariableDeclaration 442145 442299 - Identifier 442145 442153 - CallExpression 442155 442299 - Identifier 442155 442176 - Identifier 442177 442181 - Identifier 442182 442214 - Identifier 442215 442237 - Identifier 442238 442265 - Identifier 442266 442298 - IfStatement 442300 442711 - CallExpression 442326 442351 - Identifier 442326 442342 - Identifier 442343 442350 - Block 442352 442711 - ExpressionStatement 442354 442688 - BinaryExpression 442354 442687 - Identifier 442354 442387 - EqualsToken 442387 442389 - CallExpression 442389 442687 - PropertyAccessExpression 442389 442418 - Identifier 442389 442397 - Identifier 442398 442418 - Identifier 442419 442456 - PropertyAccessExpression 442457 442509 - Identifier 442457 442494 - Identifier 442495 442509 - PropertyAccessExpression 442510 442560 - Identifier 442510 442547 - Identifier 442548 442560 - PropertyAccessExpression 442561 442603 - Identifier 442561 442598 - Identifier 442599 442603 - Identifier 442604 442659 - IfStatement 442711 442853 - PrefixUnaryExpression 442737 442764 - CallExpression 442738 442764 - Identifier 442738 442755 - Identifier 442756 442763 - Block 442765 442853 - ExpressionStatement 442767 442830 - BinaryExpression 442767 442829 - Identifier 442767 442800 - EqualsToken 442800 442802 - CallExpression 442802 442829 - PropertyAccessExpression 442802 442820 - Identifier 442802 442810 - Identifier 442811 442820 - Identifier 442821 442828 - ReturnStatement 442853 442954 - CallExpression 442881 442953 - Identifier 442881 442894 - Identifier 442895 442902 - BinaryExpression 442903 442952 - PropertyAccessExpression 442903 442924 - Identifier 442903 442913 - Identifier 442914 442924 - BarToken 442924 442926 - PropertyAccessExpression 442926 442952 - Identifier 442926 442936 - Identifier 442937 442952 - FunctionDeclaration 442999 444186 - Identifier 443019 443037 - Parameter 443038 443088 - Identifier 443038 443054 - TypeReference 443055 443088 - Identifier 443055 443088 - Parameter 443089 443128 - Identifier 443089 443110 - UnionType 443111 443128 - TypeReference 443111 443116 - Identifier 443111 443116 - UndefinedKeyword 443118 443128 - Parameter 443129 443157 - Identifier 443129 443137 - TypeReference 443138 443157 - Identifier 443138 443157 - Block 443158 444186 - IfStatement 443160 443218 - PrefixUnaryExpression 443178 443209 - PropertyAccessExpression 443179 443209 - PropertyAccessExpression 443179 443194 - Identifier 443179 443186 - Identifier 443187 443194 - Identifier 443195 443209 - ReturnStatement 443210 443218 - VariableStatement 443218 443362 - VariableDeclarationList 443218 443361 - VariableDeclaration 443306 443361 - Identifier 443306 443322 - CallExpression 443324 443361 - Identifier 443324 443343 - Identifier 443344 443360 - VariableStatement 443362 443548 - VariableDeclarationList 443362 443547 - VariableDeclaration 443381 443547 - Identifier 443381 443386 - CallExpression 443388 443547 - Identifier 443388 443400 - Identifier 443401 443421 - PropertyAccessExpression 443422 443450 - Identifier 443422 443438 - Identifier 443439 443450 - BinaryExpression 443451 443495 - PropertyAccessExpression 443451 443469 - Identifier 443451 443463 - Identifier 443464 443469 - BarToken 443469 443471 - PropertyAccessExpression 443471 443495 - Identifier 443471 443483 - Identifier 443484 443495 - Identifier 443496 443530 - TrueKeyword 443531 443546 - IfStatement 443548 444175 - Identifier 443566 443570 - Block 443571 443681 - ExpressionStatement 443573 443666 - CallExpression 443573 443665 - PropertyAccessExpression 443573 443618 - PropertyAccessExpression 443573 443606 - Identifier 443573 443598 - Identifier 443599 443606 - Identifier 443607 443618 - Identifier 443619 443623 - Identifier 443624 443645 - PropertyAccessExpression 443646 443664 - Identifier 443646 443658 - Identifier 443659 443664 - Block 443699 444175 - VariableStatement 443701 444007 - VariableDeclarationList 443701 444006 - VariableDeclaration 443841 444006 - Identifier 443841 443850 - CallExpression 443852 444006 - Identifier 443852 443864 - Identifier 443865 443880 - PropertyAccessExpression 443881 443909 - Identifier 443881 443897 - Identifier 443898 443909 - BinaryExpression 443910 443954 - PropertyAccessExpression 443910 443928 - Identifier 443910 443922 - Identifier 443923 443928 - BarToken 443928 443930 - PropertyAccessExpression 443930 443954 - Identifier 443930 443942 - Identifier 443943 443954 - Identifier 443955 443989 - TrueKeyword 443990 444005 - IfStatement 444007 444160 - Identifier 444029 444037 - Block 444038 444160 - ExpressionStatement 444040 444141 - CallExpression 444040 444140 - PropertyAccessExpression 444040 444089 - PropertyAccessExpression 444040 444077 - Identifier 444040 444069 - Identifier 444070 444077 - Identifier 444078 444089 - Identifier 444090 444098 - Identifier 444099 444120 - PropertyAccessExpression 444121 444139 - Identifier 444121 444133 - Identifier 444134 444139 - FunctionDeclaration 444186 444512 - Identifier 444206 444224 - Parameter 444225 444239 - Identifier 444225 444231 - TypeReference 444232 444239 - Identifier 444232 444239 - Parameter 444240 444268 - Identifier 444240 444248 - TypeReference 444249 444268 - Identifier 444249 444268 - Parameter 444269 444290 - Identifier 444269 444277 - TypeReference 444278 444290 - Identifier 444278 444290 - Parameter 444291 444319 - Identifier 444291 444309 - QuestionToken 444309 444310 - BooleanKeyword 444311 444319 - Block 444320 444512 - ExpressionStatement 444322 444411 - CallExpression 444322 444410 - PropertyAccessExpression 444322 444363 - PropertyAccessExpression 444322 444351 - Identifier 444322 444343 - Identifier 444344 444351 - Identifier 444352 444363 - Identifier 444364 444370 - PropertyAccessExpression 444371 444400 - Identifier 444371 444379 - Identifier 444380 444400 - Identifier 444401 444409 - ReturnStatement 444411 444501 - CallExpression 444431 444500 - Identifier 444431 444455 - Identifier 444456 444462 - Identifier 444463 444471 - Identifier 444472 444480 - Identifier 444481 444499 - FunctionDeclaration 444512 450038 - Identifier 444532 444556 - Parameter 444557 444571 - Identifier 444557 444563 - TypeReference 444564 444571 - Identifier 444564 444571 - Parameter 444572 444600 - Identifier 444572 444580 - TypeReference 444581 444600 - Identifier 444581 444600 - Parameter 444601 444622 - Identifier 444601 444609 - TypeReference 444610 444622 - Identifier 444610 444622 - Parameter 444623 444651 - Identifier 444623 444641 - QuestionToken 444641 444642 - BooleanKeyword 444643 444651 - Block 444652 450038 - VariableStatement 444654 444807 - VariableDeclarationList 444654 444806 - VariableDeclaration 444790 444806 - Identifier 444790 444796 - ArrayType 444797 444806 - TypeReference 444797 444804 - Identifier 444797 444804 - VariableStatement 444807 444886 - VariableDeclarationList 444807 444885 - VariableDeclaration 444826 444885 - Identifier 444826 444842 - BinaryExpression 444844 444885 - PropertyAccessExpression 444844 444857 - Identifier 444844 444851 - Identifier 444852 444857 - AmpersandToken 444857 444859 - PropertyAccessExpression 444859 444885 - Identifier 444859 444871 - Identifier 444872 444885 - IfStatement 444886 445336 - BinaryExpression 444904 445091 - BinaryExpression 444904 445012 - PrefixUnaryExpression 444904 444920 - Identifier 444905 444920 - AmpersandAmpersandToken 444920 444923 - ParenthesizedExpression 444923 445012 - BinaryExpression 444925 445011 - PropertyAccessExpression 444925 444953 - Identifier 444925 444932 - Identifier 444933 444953 - BarBarToken 444953 444956 - BinaryExpression 444956 445011 - PropertyAccessExpression 444956 444970 - Identifier 444956 444964 - Identifier 444965 444970 - AmpersandToken 444970 444972 - PropertyAccessExpression 444972 445011 - Identifier 444972 444989 - Identifier 444990 445011 - AmpersandAmpersandToken 445012 445015 - PrefixUnaryExpression 445015 445091 - ParenthesizedExpression 445017 445091 - BinaryExpression 445018 445090 - PropertyAccessExpression 445018 445039 - Identifier 445018 445025 - Identifier 445026 445039 - AmpersandToken 445039 445041 - PropertyAccessExpression 445041 445090 - Identifier 445041 445066 - Identifier 445067 445090 - Block 445092 445266 - ExpressionStatement 445094 445193 - BinaryExpression 445094 445192 - Identifier 445094 445117 - EqualsToken 445117 445119 - CallExpression 445119 445192 - PropertyAccessExpression 445119 445138 - Identifier 445119 445125 - Identifier 445126 445138 - CallExpression 445139 445191 - Identifier 445139 445153 - Identifier 445154 445160 - Identifier 445161 445169 - TrueKeyword 445170 445190 - ExpressionStatement 445193 445251 - CallExpression 445193 445250 - PropertyAccessExpression 445193 445223 - Identifier 445193 445216 - Identifier 445217 445223 - BinaryExpression 445224 445249 - Identifier 445224 445229 - AmpersandAmpersandToken 445229 445232 - BinaryExpression 445232 445249 - PropertyAccessExpression 445232 445245 - Identifier 445232 445238 - Identifier 445239 445245 - GreaterThanToken 445245 445247 - NumericLiteral 445247 445249 - Block 445284 445336 - ExpressionStatement 445286 445321 - BinaryExpression 445286 445320 - Identifier 445286 445309 - EqualsToken 445309 445311 - ArrayLiteralExpression 445311 445320 - Identifier 445313 445319 - ReturnStatement 445336 445363 - Identifier 445356 445362 - FunctionDeclaration 445363 450027 - Identifier 445511 445526 - Parameter 445527 445541 - Identifier 445527 445533 - TypeReference 445534 445541 - Identifier 445534 445541 - Parameter 445542 445563 - Identifier 445542 445550 - TypeReference 445551 445563 - Identifier 445551 445563 - Parameter 445564 445584 - Identifier 445564 445575 - BooleanKeyword 445576 445584 - UnionType 445586 445607 - ArrayType 445586 445595 - TypeReference 445586 445593 - Identifier 445586 445593 - UndefinedKeyword 445597 445607 - Block 445607 450027 - VariableStatement 445609 445789 - VariableDeclarationList 445609 445788 - VariableDeclaration 445630 445788 - Identifier 445630 445652 - CallExpression 445654 445788 - Identifier 445654 445679 - Identifier 445680 445686 - PropertyAccessExpression 445687 445716 - Identifier 445687 445695 - Identifier 445696 445716 - Identifier 445717 445725 - PrefixUnaryExpression 445726 445787 - PrefixUnaryExpression 445728 445787 - ParenthesizedExpression 445729 445787 - BinaryExpression 445730 445786 - PropertyAccessExpression 445730 445743 - Identifier 445730 445737 - Identifier 445738 445743 - AmpersandToken 445743 445745 - PropertyAccessExpression 445745 445786 - Identifier 445745 445762 - Identifier 445763 445786 - VariableStatement 445789 445852 - VariableDeclarationList 445789 445851 - VariableDeclaration 445810 445851 - Identifier 445810 445827 - ArrayType 445828 445851 - ParenthesizedType 445828 445849 - UnionType 445830 445848 - StringKeyword 445830 445836 - UndefinedKeyword 445838 445848 - IfStatement 445852 448125 - BinaryExpression 445874 446098 - PrefixUnaryExpression 445874 445918 - Identifier 445897 445918 - BarBarToken 445918 445921 - CallExpression 445921 446098 - Identifier 445921 445961 - ElementAccessExpression 445962 445986 - Identifier 445962 445983 - NumericLiteral 445984 445985 - PropertyAccessExpression 445987 446016 - Identifier 445987 445995 - Identifier 445996 446016 - ConditionalExpression 446017 446097 - BinaryExpression 446017 446052 - PropertyAccessExpression 446017 446046 - Identifier 446017 446039 - Identifier 446040 446046 - EqualsEqualsEqualsToken 446046 446050 - NumericLiteral 446050 446052 - QuestionToken 446052 446054 - Identifier 446054 446062 - ColonToken 446062 446064 - CallExpression 446064 446097 - Identifier 446064 446088 - Identifier 446089 446096 - Block 446117 448125 - VariableStatement 446119 446327 - VariableDeclarationList 446119 446326 - VariableDeclaration 446196 446326 - Identifier 446196 446204 - CallExpression 446206 446326 - Identifier 446206 446228 - ConditionalExpression 446229 446286 - Identifier 446229 446250 - QuestionToken 446250 446252 - ElementAccessExpression 446252 446277 - Identifier 446252 446274 - NumericLiteral 446275 446276 - ColonToken 446277 446279 - Identifier 446279 446286 - PropertyAccessExpression 446287 446316 - Identifier 446287 446295 - Identifier 446296 446316 - Identifier 446317 446325 - IfStatement 446327 448106 - CallExpression 446353 446368 - Identifier 446353 446359 - Identifier 446360 446367 - Block 446369 448106 - ExpressionStatement 446371 446692 - BinaryExpression 446371 446691 - Identifier 446371 446413 - EqualsToken 446413 446415 - CallExpression 446415 446691 - PropertyAccessExpression 446415 446428 - NonNullExpression 446415 446424 - Identifier 446415 446423 - Identifier 446425 446428 - ArrowFunction 446429 446664 - Parameter 446429 446435 - Identifier 446429 446435 - EqualsGreaterThanToken 446435 446438 - ConditionalExpression 446438 446664 - CallExpression 446438 446539 - Identifier 446438 446472 - PropertyAccessExpression 446473 446492 - Identifier 446473 446479 - Identifier 446480 446492 - Identifier 446493 446538 - QuestionToken 446539 446574 - CallExpression 446574 446619 - Identifier 446574 446602 - Identifier 446603 446609 - Identifier 446610 446618 - ColonToken 446619 446654 - Identifier 446654 446664 - VariableStatement 446692 446760 - VariableDeclarationList 446692 446759 - VariableDeclaration 446723 446759 - Identifier 446723 446731 - CallExpression 446733 446759 - PropertyAccessExpression 446733 446746 - NonNullExpression 446733 446742 - Identifier 446733 446741 - Identifier 446743 446746 - ArrowFunction 446747 446758 - Parameter 446748 446749 - Identifier 446748 446749 - Parameter 446750 446752 - Identifier 446750 446752 - EqualsGreaterThanToken 446753 446756 - Identifier 446756 446758 - ExpressionStatement 446760 446815 - CallExpression 446760 446814 - PropertyAccessExpression 446760 446798 - Identifier 446760 446793 - Identifier 446794 446798 - Identifier 446799 446813 - VariableStatement 446815 446893 - VariableDeclarationList 446815 446892 - VariableDeclaration 446846 446892 - Identifier 446846 446860 - CallExpression 446862 446892 - PropertyAccessExpression 446862 446874 - Identifier 446862 446870 - Identifier 446871 446874 - ArrowFunction 446875 446891 - Parameter 446875 446876 - Identifier 446875 446876 - EqualsGreaterThanToken 446876 446879 - ElementAccessExpression 446879 446891 - NonNullExpression 446879 446888 - Identifier 446879 446887 - Identifier 446889 446890 - ForOfStatement 446893 448083 - VariableDeclarationList 446924 446936 - VariableDeclaration 446929 446936 - Identifier 446929 446936 - Identifier 446939 446953 - Block 446954 448083 - VariableStatement 446956 447085 - VariableDeclarationList 446956 447084 - VariableDeclaration 446991 447084 - Identifier 446991 447003 - CallExpression 447005 447084 - Identifier 447005 447020 - Identifier 447021 447027 - CallExpression 447028 447061 - Identifier 447028 447052 - Identifier 447053 447060 - FalseKeyword 447062 447083 - IfStatement 447085 448056 - Identifier 447119 447130 - Block 447131 448056 - IfStatement 447133 447825 - BinaryExpression 447171 447405 - BinaryExpression 447171 447278 - PropertyAccessExpression 447171 447223 - Identifier 447171 447215 - Identifier 447216 447223 - AmpersandAmpersandToken 447223 447226 - CallExpression 447226 447278 - PropertyAccessExpression 447226 447245 - PropertyAccessExpression 447226 447241 - Identifier 447226 447233 - Identifier 447234 447241 - Identifier 447242 447245 - PropertyAccessExpression 447246 447277 - Identifier 447246 447264 - Identifier 447265 447277 - AmpersandAmpersandToken 447278 447281 - CallExpression 447281 447405 - Identifier 447281 447343 - NonNullExpression 447344 447396 - CallExpression 447344 447395 - PropertyAccessExpression 447344 447362 - PropertyAccessExpression 447344 447358 - Identifier 447344 447350 - Identifier 447351 447358 - Identifier 447359 447362 - PropertyAccessExpression 447363 447394 - Identifier 447363 447381 - Identifier 447382 447394 - Identifier 447397 447404 - Block 447440 447825 - ExpressionStatement 447442 447746 - BinaryExpression 447442 447745 - Identifier 447442 447731 - EqualsToken 447731 447733 - Identifier 447733 447745 - BreakStatement 447746 447790 - ExpressionStatement 447825 447985 - BinaryExpression 447825 447984 - Identifier 447825 447880 - EqualsToken 447880 447882 - CallExpression 447882 447984 - PropertyAccessExpression 447882 447901 - Identifier 447882 447894 - Identifier 447895 447901 - BinaryExpression 447902 447983 - Identifier 447902 447923 - BarBarToken 447923 447926 - ArrayLiteralExpression 447926 447983 - BinaryExpression 447928 447982 - CallExpression 447928 447972 - Identifier 447928 447956 - Identifier 447957 447963 - Identifier 447964 447971 - BarBarToken 447972 447975 - Identifier 447975 447982 - BreakStatement 447985 448025 - IfStatement 448125 448243 - Identifier 448149 448170 - Block 448171 448243 - ReturnStatement 448173 448224 - Identifier 448201 448223 - IfStatement 448243 449001 - BinaryExpression 448265 448604 - Identifier 448265 448427 - BarBarToken 448427 448430 - PrefixUnaryExpression 448430 448604 - ParenthesizedExpression 448534 448604 - BinaryExpression 448535 448603 - PropertyAccessExpression 448535 448547 - Identifier 448535 448541 - Identifier 448542 448547 - AmpersandToken 448547 448549 - ParenthesizedExpression 448549 448603 - BinaryExpression 448551 448602 - PropertyAccessExpression 448551 448574 - Identifier 448551 448562 - Identifier 448563 448574 - BarToken 448574 448576 - PropertyAccessExpression 448576 448602 - Identifier 448576 448588 - Identifier 448589 448602 - Block 448623 449001 - IfStatement 448625 448944 - BinaryExpression 448772 448885 - BinaryExpression 448772 448805 - PrefixUnaryExpression 448772 448783 - Identifier 448773 448783 - AmpersandAmpersandToken 448783 448786 - PrefixUnaryExpression 448786 448805 - Identifier 448788 448805 - AmpersandAmpersandToken 448805 448808 - PrefixUnaryExpression 448808 448885 - PrefixUnaryExpression 448810 448885 - CallExpression 448811 448885 - Identifier 448811 448818 - PropertyAccessExpression 448819 448838 - Identifier 448819 448825 - Identifier 448826 448838 - Identifier 448839 448884 - Block 448886 448944 - ReturnStatement 448888 448921 - ReturnStatement 448944 448982 - ArrayLiteralExpression 448972 448981 - Identifier 448974 448980 - FunctionDeclaration 449001 450012 - Identifier 449029 449044 - Parameter 449045 449054 - Identifier 449045 449046 - NumberKeyword 449047 449054 - Parameter 449055 449065 - Identifier 449055 449057 - NumberKeyword 449058 449065 - Block 449066 450012 - VariableStatement 449068 449129 - VariableDeclarationList 449068 449128 - VariableDeclaration 449095 449128 - Identifier 449095 449106 - ElementAccessExpression 449108 449128 - Identifier 449108 449125 - Identifier 449126 449127 - VariableStatement 449129 449190 - VariableDeclarationList 449129 449189 - VariableDeclaration 449156 449189 - Identifier 449156 449167 - ElementAccessExpression 449169 449189 - Identifier 449169 449186 - Identifier 449187 449188 - IfStatement 449190 449962 - BinaryExpression 449216 449240 - Identifier 449216 449226 - AmpersandAmpersandToken 449226 449229 - Identifier 449229 449240 - Block 449241 449962 - VariableStatement 449243 449316 - VariableDeclarationList 449243 449315 - VariableDeclaration 449274 449315 - Identifier 449274 449286 - CallExpression 449288 449315 - Identifier 449288 449303 - Identifier 449304 449314 - IfStatement 449316 449647 - BinaryExpression 449346 449388 - CallExpression 449346 449372 - Identifier 449346 449360 - Identifier 449361 449371 - EqualsEqualsEqualsToken 449372 449376 - Identifier 449376 449388 - Block 449389 449647 - ReturnStatement 449391 449620 - BinaryExpression 449519 449619 - CallExpression 449519 449568 - PropertyAccessExpression 449519 449556 - Identifier 449519 449536 - Identifier 449537 449556 - Identifier 449557 449567 - MinusToken 449568 449570 - CallExpression 449570 449619 - PropertyAccessExpression 449570 449607 - Identifier 449570 449587 - Identifier 449588 449607 - Identifier 449608 449618 - IfStatement 449647 449833 - Identifier 449677 449688 - Block 449689 449833 - ReturnStatement 449691 449806 - PrefixUnaryExpression 449802 449805 - NumericLiteral 449804 449805 - ReturnStatement 449833 449939 - NumericLiteral 449936 449938 - ReturnStatement 449962 449993 - NumericLiteral 449990 449992 - FunctionDeclaration 450038 450643 - Identifier 450058 450100 - Parameter 450101 450115 - Identifier 450101 450107 - TypeReference 450108 450115 - Identifier 450108 450115 - Parameter 450116 450144 - Identifier 450116 450124 - TypeReference 450125 450144 - Identifier 450125 450144 - Block 450145 450643 - VariableStatement 450147 450233 - VariableDeclarationList 450147 450232 - VariableDeclaration 450164 450232 - Identifier 450164 450183 - UnionType 450184 450232 - TypeReference 450184 450220 - Identifier 450184 450194 - TypeReference 450195 450219 - Identifier 450195 450219 - UndefinedKeyword 450222 450232 - VariableStatement 450233 450292 - VariableDeclarationList 450233 450291 - VariableDeclaration 450252 450291 - Identifier 450252 450265 - CallExpression 450267 450291 - Identifier 450267 450283 - Identifier 450284 450290 - IfStatement 450292 450592 - BinaryExpression 450310 450398 - PropertyAccessExpression 450310 450328 - Identifier 450310 450322 - Identifier 450323 450328 - AmpersandToken 450328 450330 - ParenthesizedExpression 450330 450398 - BinaryExpression 450332 450397 - BinaryExpression 450332 450373 - PropertyAccessExpression 450332 450349 - Identifier 450332 450343 - Identifier 450344 450349 - BarToken 450349 450351 - PropertyAccessExpression 450351 450373 - Identifier 450351 450363 - Identifier 450364 450373 - BarToken 450373 450375 - PropertyAccessExpression 450375 450397 - Identifier 450375 450387 - Identifier 450388 450397 - Block 450399 450592 - ExpressionStatement 450401 450577 - BinaryExpression 450401 450576 - Identifier 450401 450437 - EqualsToken 450437 450439 - CallExpression 450439 450576 - PropertyAccessExpression 450439 450463 - Identifier 450439 450447 - Identifier 450448 450463 - CallExpression 450464 450575 - Identifier 450464 450467 - CallExpression 450468 450527 - Identifier 450468 450519 - Identifier 450520 450526 - ArrowFunction 450528 450574 - Parameter 450528 450531 - Identifier 450528 450531 - EqualsGreaterThanToken 450531 450534 - CallExpression 450534 450574 - Identifier 450534 450561 - Identifier 450562 450564 - Identifier 450565 450573 - ReturnStatement 450592 450632 - Identifier 450612 450631 - FunctionDeclaration 450643 452451 - Identifier 450663 450688 - Parameter 450689 450704 - Identifier 450689 450694 - ArrayType 450695 450704 - TypeReference 450695 450702 - Identifier 450695 450702 - Parameter 450705 450719 - Identifier 450705 450711 - NumberKeyword 450712 450719 - Parameter 450720 450748 - Identifier 450720 450728 - TypeReference 450729 450748 - Identifier 450729 450748 - Block 450749 452451 - ExpressionStatement 450751 450823 - CallExpression 450751 450822 - PropertyAccessExpression 450751 450777 - Identifier 450751 450770 - Identifier 450771 450777 - BinaryExpression 450778 450821 - BinaryExpression 450778 450797 - Identifier 450778 450783 - AmpersandAmpersandToken 450783 450786 - BinaryExpression 450786 450797 - NumericLiteral 450786 450788 - LessThanEqualsToken 450788 450791 - Identifier 450791 450797 - AmpersandAmpersandToken 450797 450800 - BinaryExpression 450800 450821 - Identifier 450800 450806 - LessThanToken 450806 450808 - PropertyAccessExpression 450808 450821 - Identifier 450808 450814 - Identifier 450815 450821 - VariableStatement 450823 450865 - VariableDeclarationList 450823 450864 - VariableDeclaration 450842 450864 - Identifier 450842 450849 - ElementAccessExpression 450851 450864 - Identifier 450851 450857 - Identifier 450858 450863 - VariableStatement 450865 450916 - VariableDeclarationList 450865 450915 - VariableDeclaration 450884 450915 - Identifier 450884 450893 - CallExpression 450895 450915 - Identifier 450895 450907 - Identifier 450908 450914 - IfStatement 450916 451033 - CallExpression 450934 450980 - PropertyAccessExpression 450934 450970 - PropertyAccessExpression 450934 450965 - Identifier 450934 450941 - Identifier 450942 450965 - QuestionDotToken 450965 450967 - Identifier 450967 450970 - Identifier 450971 450979 - Block 450981 451033 - ReturnStatement 450983 451018 - Identifier 451007 451017 - IfStatement 451033 451271 - PropertyAccessExpression 451051 451092 - Identifier 451051 451058 - Identifier 451059 451092 - Block 451093 451271 - ExpressionStatement 451095 451163 - BinaryExpression 451095 451162 - PropertyAccessExpression 451095 451154 - Identifier 451095 451120 - Identifier 451121 451154 - EqualsToken 451154 451156 - FalseKeyword 451156 451162 - ExpressionStatement 451163 451256 - BinaryExpression 451163 451255 - PropertyAccessExpression 451163 451212 - Identifier 451163 451188 - Identifier 451189 451212 - EqualsToken 451212 451214 - NewExpression 451214 451255 - Identifier 451218 451222 - PropertyAccessExpression 451223 451254 - Identifier 451223 451230 - Identifier 451231 451254 - ExpressionStatement 451271 451332 - CallExpression 451271 451331 - PropertyAccessExpression 451271 451321 - NonNullExpression 451271 451317 - PropertyAccessExpression 451271 451316 - Identifier 451271 451292 - Identifier 451293 451316 - Identifier 451318 451321 - Identifier 451322 451330 - VariableStatement 451332 451440 - VariableDeclarationList 451332 451439 - VariableDeclaration 451349 451439 - Identifier 451349 451368 - UnionType 451369 451439 - TypeOperator 451369 451389 - ArrayType 451378 451389 - TypeReference 451378 451387 - Identifier 451378 451387 - TypeOperator 451391 451427 - ArrayType 451400 451427 - TypeReference 451400 451425 - Identifier 451400 451425 - UndefinedKeyword 451429 451439 - IfStatement 451440 452400 - BinaryExpression 451458 451555 - BinaryExpression 451458 451525 - PropertyAccessExpression 451458 451471 - Identifier 451458 451465 - Identifier 451466 451471 - AmpersandToken 451471 451473 - PropertyAccessExpression 451473 451525 - Identifier 451473 451490 - Identifier 451491 451525 - AmpersandAmpersandToken 451525 451528 - BinaryExpression 451528 451555 - Identifier 451528 451534 - LessThanToken 451534 451536 - ParenthesizedExpression 451536 451555 - BinaryExpression 451538 451554 - PropertyAccessExpression 451538 451550 - Identifier 451538 451543 - Identifier 451544 451550 - MinusToken 451550 451552 - NumericLiteral 451552 451554 - Block 451556 452400 - VariableStatement 451558 451604 - VariableDeclarationList 451558 451603 - VariableDeclaration 451581 451603 - Identifier 451581 451594 - Identifier 451596 451603 - VariableStatement 451604 451658 - VariableDeclarationList 451604 451657 - VariableDeclaration 451627 451657 - Identifier 451627 451638 - ElementAccessExpression 451640 451657 - Identifier 451640 451646 - BinaryExpression 451647 451656 - Identifier 451647 451652 - PlusToken 451652 451654 - NumericLiteral 451654 451656 - IfStatement 451658 452385 - BinaryExpression 451680 451731 - CallExpression 451680 451705 - Identifier 451680 451693 - Identifier 451694 451704 - AmpersandToken 451705 451707 - PropertyAccessExpression 451707 451731 - Identifier 451707 451718 - Identifier 451719 451731 - Block 451732 452240 - VariableStatement 451734 451940 - VariableDeclarationList 451734 451939 - VariableDeclaration 451761 451939 - Identifier 451761 451768 - CallExpression 451770 451939 - Identifier 451770 451806 - ConditionalExpression 451807 451915 - BinaryExpression 451807 451871 - PropertyAccessExpression 451807 451851 - Identifier 451807 451845 - Identifier 451846 451851 - AmpersandToken 451851 451853 - PropertyAccessExpression 451853 451871 - Identifier 451853 451865 - Identifier 451866 451871 - QuestionToken 451871 451873 - CallExpression 451873 451900 - Identifier 451873 451886 - Identifier 451887 451899 - ColonToken 451900 451902 - Identifier 451902 451915 - ExpressionStatement 451940 452221 - BinaryExpression 451940 452220 - Identifier 451940 452111 - EqualsToken 452111 452113 - CallExpression 452113 452220 - Identifier 452113 452128 - CallExpression 452129 452210 - Identifier 452129 452132 - Identifier 452133 452139 - ArrowFunction 452140 452209 - Parameter 452140 452142 - Identifier 452140 452142 - EqualsGreaterThanToken 452142 452145 - CallExpression 452145 452209 - Identifier 452145 452159 - Identifier 452160 452161 - NonNullExpression 452162 452208 - PropertyAccessExpression 452162 452207 - PropertyAccessExpression 452162 452200 - ParenthesizedExpression 452162 452194 - AsExpression 452164 452193 - Identifier 452164 452174 - TypeReference 452177 452193 - Identifier 452177 452193 - Identifier 452195 452200 - Identifier 452201 452207 - Identifier 452211 452219 - Block 452262 452385 - ExpressionStatement 452264 452366 - BinaryExpression 452264 452365 - Identifier 452264 452304 - EqualsToken 452304 452306 - CallExpression 452306 452365 - Identifier 452306 452348 - Identifier 452349 452355 - Identifier 452356 452364 - ReturnStatement 452400 452440 - Identifier 452420 452439 - FunctionDeclaration 452451 452799 - Identifier 452538 452566 - Parameter 452567 452593 - Identifier 452567 452570 - TypeReference 452571 452593 - Identifier 452571 452593 - TypeReference 452595 452617 - Identifier 452595 452617 - Block 452617 452799 - IfStatement 452619 452763 - CallExpression 452637 452676 - Identifier 452637 452660 - PropertyAccessExpression 452661 452675 - Identifier 452661 452664 - Identifier 452665 452675 - Block 452677 452763 - ReturnStatement 452679 452748 - CallExpression 452703 452747 - Identifier 452703 452731 - PropertyAccessExpression 452732 452746 - Identifier 452732 452735 - Identifier 452736 452746 - ReturnStatement 452763 452788 - Identifier 452783 452787 - FunctionDeclaration 452799 456827 - Identifier 452819 452847 - Parameter 452848 452862 - Identifier 452848 452854 - TypeReference 452855 452862 - Identifier 452855 452862 - Parameter 452863 452891 - Identifier 452863 452871 - TypeReference 452872 452891 - Identifier 452872 452891 - Parameter 452892 452928 - Identifier 452892 452911 - QuestionToken 452911 452912 - TypeReference 452913 452928 - Identifier 452913 452928 - Block 452929 456827 - VariableStatement 452931 453020 - VariableDeclarationList 452931 453019 - VariableDeclaration 452948 453019 - Identifier 452948 452953 - CallExpression 452955 453019 - Identifier 452955 452976 - TypeReference 452977 452987 - Identifier 452977 452987 - Identifier 452989 452995 - PropertyAccessExpression 452996 453018 - Identifier 452996 453007 - Identifier 453008 453018 - IfStatement 453020 453377 - PrefixUnaryExpression 453038 453043 - Identifier 453039 453043 - Block 453044 453377 - VariableStatement 453046 453191 - VariableDeclarationList 453046 453190 - VariableDeclaration 453069 453190 - Identifier 453069 453090 - CallExpression 453092 453190 - Identifier 453092 453105 - PropertyAccessExpression 453106 453125 - Identifier 453106 453112 - Identifier 453113 453125 - ArrowFunction 453126 453189 - Parameter 453126 453128 - Identifier 453126 453128 - EqualsGreaterThanToken 453128 453131 - CallExpression 453131 453189 - Identifier 453131 453178 - Identifier 453179 453180 - Identifier 453181 453188 - IfStatement 453191 453362 - Identifier 453213 453233 - Block 453234 453362 - ExpressionStatement 453236 453343 - BinaryExpression 453236 453342 - Identifier 453236 453262 - EqualsToken 453262 453264 - CallExpression 453264 453342 - Identifier 453264 453285 - TypeReference 453286 453296 - Identifier 453286 453296 - Identifier 453298 453318 - PropertyAccessExpression 453319 453341 - Identifier 453319 453330 - Identifier 453331 453341 - IfStatement 453377 453547 - BinaryExpression 453395 453432 - Identifier 453395 453399 - AmpersandAmpersandToken 453399 453402 - BinaryExpression 453402 453432 - PropertyAccessExpression 453402 453418 - Identifier 453402 453407 - Identifier 453408 453418 - ExclamationEqualsEqualsToken 453418 453422 - Identifier 453422 453432 - Block 453433 453547 - ReturnStatement 453435 453532 - PropertyAccessExpression 453515 453531 - Identifier 453515 453520 - Identifier 453521 453531 - IfStatement 453547 453807 - PrefixUnaryExpression 453565 453570 - Identifier 453566 453570 - Block 453571 453807 - IfStatement 453573 453792 - CallExpression 453595 453654 - PropertyAccessExpression 453595 453624 - Identifier 453595 453619 - Identifier 453620 453624 - AsExpression 453625 453653 - PropertyAccessExpression 453625 453643 - Identifier 453625 453631 - Identifier 453632 453643 - StringKeyword 453646 453653 - Block 453655 453792 - ReturnStatement 453657 453773 - CallExpression 453685 453772 - PropertyAccessExpression 453685 453726 - ParenthesizedExpression 453685 453716 - AsExpression 453687 453715 - PropertyAccessExpression 453687 453705 - Identifier 453687 453693 - Identifier 453694 453705 - StringKeyword 453708 453715 - Identifier 453717 453726 - NumericLiteral 453727 453728 - BinaryExpression 453729 453771 - PropertyAccessExpression 453729 453767 - ParenthesizedExpression 453729 453760 - AsExpression 453731 453759 - PropertyAccessExpression 453731 453749 - Identifier 453731 453737 - Identifier 453738 453749 - StringKeyword 453752 453759 - Identifier 453761 453767 - MinusToken 453767 453769 - NumericLiteral 453769 453771 - IfStatement 453807 454448 - BinaryExpression 453825 453886 - PrefixUnaryExpression 453825 453847 - PropertyAccessExpression 453826 453847 - Identifier 453826 453833 - Identifier 453834 453847 - BarBarToken 453847 453850 - PrefixUnaryExpression 453850 453886 - PropertyAccessExpression 453852 453886 - PropertyAccessExpression 453852 453867 - Identifier 453852 453859 - Identifier 453860 453867 - Identifier 453868 453886 - Block 453887 454448 - IfStatement 453889 454235 - CallExpression 454038 454097 - PropertyAccessExpression 454038 454067 - Identifier 454038 454062 - Identifier 454063 454067 - AsExpression 454068 454096 - PropertyAccessExpression 454068 454086 - Identifier 454068 454074 - Identifier 454075 454086 - StringKeyword 454089 454096 - Block 454098 454235 - ReturnStatement 454100 454216 - CallExpression 454128 454215 - PropertyAccessExpression 454128 454169 - ParenthesizedExpression 454128 454159 - AsExpression 454130 454158 - PropertyAccessExpression 454130 454148 - Identifier 454130 454136 - Identifier 454137 454148 - StringKeyword 454151 454158 - Identifier 454160 454169 - NumericLiteral 454170 454171 - BinaryExpression 454172 454214 - PropertyAccessExpression 454172 454210 - ParenthesizedExpression 454172 454203 - AsExpression 454174 454202 - PropertyAccessExpression 454174 454192 - Identifier 454174 454180 - Identifier 454181 454192 - StringKeyword 454195 454202 - Identifier 454204 454210 - MinusToken 454210 454212 - NumericLiteral 454212 454214 - ReturnStatement 454235 454329 - PropertyAccessExpression 454259 454328 - CallExpression 454259 454319 - Identifier 454259 454279 - NonNullExpression 454280 454318 - CallExpression 454280 454317 - Identifier 454280 454309 - Identifier 454310 454316 - Identifier 454320 454328 - VariableStatement 454448 454537 - VariableDeclarationList 454448 454536 - VariableDeclaration 454467 454536 - Identifier 454467 454488 - CallExpression 454490 454536 - Identifier 454490 454506 - PropertyAccessExpression 454507 454535 - Identifier 454507 454514 - Identifier 454515 454535 - VariableStatement 454537 454701 - VariableDeclarationList 454537 454700 - VariableDeclaration 454556 454700 - Identifier 454556 454580 - ConditionalExpression 454582 454700 - CallExpression 454582 454627 - Identifier 454582 454605 - Identifier 454606 454626 - QuestionToken 454627 454629 - CallExpression 454629 454688 - Identifier 454629 454666 - Identifier 454667 454687 - ColonToken 454688 454690 - Identifier 454690 454700 - VariableStatement 454701 454757 - VariableDeclarationList 454701 454756 - VariableDeclaration 454720 454756 - Identifier 454720 454732 - PropertyAccessExpression 454734 454756 - Identifier 454734 454742 - Identifier 454743 454756 - VariableStatement 454757 455012 - VariableDeclarationList 454757 455011 - VariableDeclaration 454776 455011 - Identifier 454776 454791 - BinaryExpression 454793 455011 - BinaryExpression 454793 454926 - Identifier 454793 454812 - BarBarToken 454812 454832 - BinaryExpression 454832 454926 - Identifier 454832 454856 - AmpersandAmpersandToken 454856 454859 - CallExpression 454859 454926 - PropertyAccessExpression 454859 454888 - Identifier 454859 454864 - Identifier 454865 454888 - Identifier 454889 454900 - Identifier 454901 454925 - BarBarToken 454926 454946 - BinaryExpression 454946 455011 - Identifier 454946 454958 - AmpersandAmpersandToken 454958 454961 - CallExpression 454961 455011 - PropertyAccessExpression 454961 454998 - Identifier 454961 454966 - Identifier 454967 454998 - Identifier 454999 455010 - VariableStatement 455012 455101 - VariableDeclarationList 455012 455100 - VariableDeclaration 455031 455100 - Identifier 455031 455040 - CallExpression 455042 455100 - Identifier 455042 455066 - PropertyAccessExpression 455067 455083 - Identifier 455067 455078 - Identifier 455079 455083 - Identifier 455084 455099 - VariableStatement 455101 455152 - VariableDeclarationList 455101 455151 - VariableDeclaration 455120 455151 - Identifier 455120 455126 - CallExpression 455128 455151 - Identifier 455128 455143 - Identifier 455144 455150 - VariableStatement 455152 455241 - VariableDeclarationList 455152 455240 - VariableDeclaration 455169 455240 - Identifier 455169 455179 - BinaryExpression 455181 455240 - PropertyAccessExpression 455181 455202 - Identifier 455181 455187 - Identifier 455188 455202 - AmpersandAmpersandToken 455202 455205 - CallExpression 455205 455240 - PropertyAccessExpression 455205 455230 - PropertyAccessExpression 455205 455226 - Identifier 455205 455211 - Identifier 455212 455226 - Identifier 455227 455230 - Identifier 455231 455239 - IfStatement 455241 456785 - PrefixUnaryExpression 455259 455269 - Identifier 455260 455269 - Block 455270 456785 - VariableStatement 455272 455333 - VariableDeclarationList 455272 455332 - VariableDeclaration 455295 455332 - Identifier 455295 455304 - PrefixUnaryExpression 455306 455332 - PrefixUnaryExpression 455308 455332 - PropertyAccessExpression 455309 455332 - Identifier 455309 455324 - Identifier 455325 455332 - VariableStatement 455333 455829 - VariableDeclarationList 455333 455828 - VariableDeclaration 455787 455828 - ObjectBindingPattern 455787 455810 - BindingElement 455789 455808 - Identifier 455789 455808 - PropertyAccessExpression 455812 455828 - Identifier 455812 455820 - Identifier 455821 455828 - VariableStatement 455829 455988 - VariableDeclarationList 455829 455987 - VariableDeclaration 455852 455987 - Identifier 455852 455877 - ConditionalExpression 455879 455987 - Identifier 455879 455888 - QuestionToken 455888 455890 - ObjectLiteralExpression 455890 455969 - SpreadAssignment 455892 455911 - Identifier 455896 455911 - PropertyAssignment 455912 455967 - Identifier 455912 455920 - CallExpression 455921 455967 - PropertyAccessExpression 455921 455965 - Identifier 455921 455940 - Identifier 455941 455965 - ColonToken 455969 455971 - Identifier 455971 455987 - ExpressionStatement 455988 456653 - BinaryExpression 455988 456652 - Identifier 455988 456015 - EqualsToken 456015 456017 - CallExpression 456017 456652 - Identifier 456017 456023 - CallExpression 456024 456651 - PropertyAccessExpression 456024 456060 - Identifier 456024 456040 - Identifier 456041 456060 - Identifier 456061 456089 - Identifier 456090 456119 - Identifier 456120 456166 - Identifier 456167 456200 - Identifier 456201 456241 - ObjectLiteralExpression 456242 456586 - PropertyAssignment 456265 456370 - Identifier 456265 456322 - ConditionalExpression 456323 456370 - Identifier 456323 456332 - QuestionToken 456332 456334 - StringLiteral 456334 456349 - ColonToken 456349 456351 - StringLiteral 456351 456370 - PropertyAssignment 456371 456562 - Identifier 456371 456424 - ConditionalExpression 456425 456562 - Identifier 456425 456434 - QuestionToken 456434 456436 - StringLiteral 456436 456446 - ColonToken 456446 456477 - ConditionalExpression 456477 456562 - BinaryExpression 456477 456514 - Identifier 456477 456492 - EqualsEqualsEqualsToken 456492 456496 - PropertyAccessExpression 456496 456514 - Identifier 456496 456507 - Identifier 456508 456514 - QuestionToken 456514 456516 - StringLiteral 456516 456521 - ColonToken 456521 456552 - Identifier 456552 456562 - ObjectLiteralExpression 456587 456631 - ShorthandPropertyAssignment 456610 456629 - Identifier 456610 456629 - ExpressionStatement 456653 456706 - BinaryExpression 456653 456705 - PropertyAccessExpression 456653 456691 - Identifier 456653 456676 - Identifier 456677 456691 - QuestionQuestionEqualsToken 456691 456695 - NewExpression 456695 456705 - Identifier 456699 456703 - ExpressionStatement 456706 456770 - CallExpression 456706 456769 - PropertyAccessExpression 456706 456748 - PropertyAccessExpression 456706 456744 - Identifier 456706 456729 - Identifier 456730 456744 - Identifier 456745 456748 - Identifier 456749 456757 - Identifier 456758 456768 - ReturnStatement 456785 456816 - Identifier 456805 456815 - FunctionDeclaration 456827 457146 - Identifier 456847 456870 - Parameter 456871 456885 - Identifier 456871 456877 - TypeReference 456878 456885 - Identifier 456878 456885 - TypeReference 456887 456898 - Identifier 456887 456898 - Block 456898 457146 - VariableStatement 456900 457006 - VariableDeclarationList 456900 457005 - VariableDeclaration 456919 457005 - Identifier 456919 456930 - CallExpression 456932 457005 - PropertyAccessExpression 456932 456957 - Identifier 456932 456940 - Identifier 456941 456957 - CallExpression 456958 457004 - Identifier 456958 456984 - PropertyAccessExpression 456985 457003 - Identifier 456985 456991 - Identifier 456992 457003 - ReturnStatement 457006 457135 - ConditionalExpression 457026 457134 - PropertyAccessExpression 457026 457040 - Identifier 457026 457033 - Identifier 457034 457040 - QuestionToken 457040 457042 - CallExpression 457042 457121 - PropertyAccessExpression 457042 457070 - Identifier 457042 457050 - Identifier 457051 457070 - CallExpression 457071 457108 - Identifier 457071 457093 - PropertyAccessExpression 457094 457107 - Identifier 457094 457100 - Identifier 457101 457107 - Identifier 457109 457120 - ColonToken 457121 457123 - Identifier 457123 457134 - FunctionDeclaration 457146 467674 - Identifier 457166 457183 - Parameter 457184 457198 - Identifier 457184 457190 - TypeReference 457191 457198 - Identifier 457191 457198 - Parameter 457199 457227 - Identifier 457199 457207 - TypeReference 457208 457227 - Identifier 457208 457227 - Parameter 457228 457249 - Identifier 457228 457236 - TypeReference 457237 457249 - Identifier 457237 457249 - Parameter 457250 457294 - Identifier 457250 457272 - QuestionToken 457272 457273 - TypeOperator 457274 457294 - ArrayType 457283 457294 - TypeReference 457283 457292 - Identifier 457283 457292 - TypeReference 457296 457305 - Identifier 457296 457305 - Block 457305 467674 - VariableStatement 457307 457451 - VariableDeclarationList 457307 457450 - VariableDeclaration 457326 457450 - Identifier 457326 457332 - CallExpression 457334 457450 - Identifier 457334 457352 - Identifier 457353 457359 - Identifier 457360 457368 - Identifier 457369 457377 - PrefixUnaryExpression 457378 457449 - ParenthesizedExpression 457380 457449 - BinaryExpression 457381 457448 - PropertyAccessExpression 457381 457394 - Identifier 457381 457388 - Identifier 457389 457394 - AmpersandToken 457394 457396 - PropertyAccessExpression 457396 457448 - Identifier 457396 457413 - Identifier 457414 457448 - VariableStatement 457451 457595 - VariableDeclarationList 457451 457594 - VariableDeclaration 457553 457594 - Identifier 457553 457562 - BinaryExpression 457564 457594 - Identifier 457564 457572 - EqualsEqualsEqualsToken 457572 457576 - PropertyAccessExpression 457576 457594 - Identifier 457576 457588 - Identifier 457589 457594 - IfStatement 457595 462886 - CallExpression 457613 457686 - Identifier 457613 457617 - PropertyAccessExpression 457618 457639 - ElementAccessExpression 457618 457626 - Identifier 457618 457623 - NumericLiteral 457624 457625 - Identifier 457627 457639 - Identifier 457640 457685 - Block 457687 462886 - VariableStatement 457689 457877 - VariableDeclarationList 457689 457876 - VariableDeclaration 457774 457876 - Identifier 457774 457787 - ConditionalExpression 457789 457876 - BinaryExpression 457789 457806 - PropertyAccessExpression 457789 457802 - Identifier 457789 457795 - Identifier 457796 457802 - GreaterThanToken 457802 457804 - NumericLiteral 457804 457806 - QuestionToken 457806 457808 - CallExpression 457808 457864 - Identifier 457808 457836 - Identifier 457837 457842 - BinaryExpression 457843 457860 - PropertyAccessExpression 457843 457856 - Identifier 457843 457849 - Identifier 457850 457856 - MinusToken 457856 457858 - NumericLiteral 457858 457860 - NumericLiteral 457861 457863 - ColonToken 457864 457866 - Identifier 457866 457876 - VariableStatement 457877 457991 - VariableDeclarationList 457877 457990 - VariableDeclaration 457900 457990 - Identifier 457900 457919 - BinaryExpression 457921 457990 - Identifier 457921 457943 - BarBarToken 457943 457946 - CallExpression 457946 457990 - Identifier 457946 457971 - Identifier 457972 457977 - NumericLiteral 457978 457980 - Identifier 457981 457989 - VariableStatement 457991 458096 - VariableDeclarationList 457991 458095 - VariableDeclaration 458014 458095 - Identifier 458014 458026 - CallExpression 458028 458095 - Identifier 458028 458048 - CallExpression 458049 458094 - Identifier 458049 458064 - PropertyAccessExpression 458065 458093 - Identifier 458065 458072 - Identifier 458073 458093 - VariableStatement 458096 458165 - VariableDeclarationList 458096 458164 - VariableDeclaration 458119 458164 - Identifier 458119 458130 - CallExpression 458132 458164 - Identifier 458132 458154 - ElementAccessExpression 458155 458163 - Identifier 458155 458160 - NumericLiteral 458161 458162 - VariableStatement 458165 458217 - VariableDeclarationList 458165 458216 - VariableDeclaration 458186 458216 - Identifier 458186 458196 - UnionType 458197 458216 - StringKeyword 458197 458204 - UndefinedKeyword 458206 458216 - VariableStatement 458217 458280 - VariableDeclarationList 458217 458279 - VariableDeclaration 458238 458279 - Identifier 458238 458249 - UnionType 458250 458279 - TypeReference 458250 458267 - Identifier 458250 458267 - UndefinedKeyword 458269 458279 - IfStatement 458280 459341 - BinaryExpression 458302 458460 - BinaryExpression 458302 458378 - CallExpression 458302 458346 - Identifier 458302 458329 - Identifier 458330 458345 - EqualsEqualsEqualsToken 458346 458350 - PropertyAccessExpression 458350 458378 - Identifier 458350 458371 - Identifier 458372 458378 - BarBarToken 458378 458381 - BinaryExpression 458381 458460 - CallExpression 458381 458426 - Identifier 458381 458409 - Identifier 458410 458425 - EqualsEqualsEqualsToken 458426 458430 - PropertyAccessExpression 458430 458460 - Identifier 458430 458451 - Identifier 458452 458460 - Block 458461 459341 - IfStatement 458463 459322 - BinaryExpression 458627 458745 - BinaryExpression 458627 458678 - PropertyAccessExpression 458627 458656 - Identifier 458627 458637 - QuestionDotToken 458637 458639 - Identifier 458639 458656 - EqualsEqualsEqualsToken 458656 458660 - PropertyAccessExpression 458660 458678 - Identifier 458660 458671 - Identifier 458672 458678 - AmpersandAmpersandToken 458678 458681 - BinaryExpression 458681 458745 - PropertyAccessExpression 458681 458710 - Identifier 458681 458692 - Identifier 458693 458710 - ExclamationEqualsEqualsToken 458710 458714 - PropertyAccessExpression 458714 458745 - Identifier 458714 458726 - QuestionDotToken 458726 458728 - Identifier 458728 458745 - Block 458746 459322 - ExpressionStatement 458748 458852 - BinaryExpression 458748 458851 - Identifier 458748 458783 - EqualsToken 458783 458785 - CallExpression 458785 458851 - Identifier 458785 458813 - ElementAccessExpression 458814 458822 - Identifier 458814 458819 - NumericLiteral 458820 458821 - Identifier 458823 458831 - PropertyAccessExpression 458832 458850 - Identifier 458832 458843 - Identifier 458844 458850 - ExpressionStatement 458852 459299 - BinaryExpression 458852 459298 - Identifier 458852 458888 - EqualsToken 458888 458890 - CallExpression 458890 459298 - PropertyAccessExpression 458890 458921 - Identifier 458890 458898 - Identifier 458899 458921 - CallExpression 458922 459270 - PropertyAccessExpression 458922 458975 - Identifier 458922 458959 - Identifier 458960 458975 - ArrayLiteralExpression 458976 459269 - CallExpression 458977 459237 - PropertyAccessExpression 458977 459040 - Identifier 458977 459018 - Identifier 459019 459040 - CallExpression 459041 459125 - PropertyAccessExpression 459041 459106 - Identifier 459041 459086 - Identifier 459087 459106 - StringLiteral 459107 459124 - CallExpression 459126 459201 - PropertyAccessExpression 459126 459191 - Identifier 459126 459171 - Identifier 459172 459191 - StringLiteral 459192 459200 - IfStatement 459341 459476 - PrefixUnaryExpression 459363 459373 - Identifier 459364 459373 - Block 459374 459476 - ExpressionStatement 459376 459457 - BinaryExpression 459376 459456 - Identifier 459376 459407 - EqualsToken 459407 459409 - CallExpression 459409 459456 - Identifier 459409 459437 - ElementAccessExpression 459438 459446 - Identifier 459438 459443 - NumericLiteral 459444 459445 - Identifier 459447 459455 - IfStatement 459476 461760 - BinaryExpression 459498 459684 - BinaryExpression 459498 459644 - PrefixUnaryExpression 459498 459563 - ParenthesizedExpression 459499 459563 - BinaryExpression 459500 459562 - PropertyAccessExpression 459500 459513 - Identifier 459500 459507 - Identifier 459508 459513 - AmpersandToken 459513 459515 - PropertyAccessExpression 459515 459562 - Identifier 459515 459532 - Identifier 459533 459562 - AmpersandAmpersandToken 459563 459566 - BinaryExpression 459566 459644 - CallExpression 459566 459611 - Identifier 459566 459594 - Identifier 459595 459610 - ExclamationEqualsEqualsToken 459611 459615 - PropertyAccessExpression 459615 459644 - Identifier 459615 459636 - Identifier 459637 459644 - AmpersandAmpersandToken 459644 459647 - CallExpression 459647 459684 - PropertyAccessExpression 459647 459666 - Identifier 459647 459657 - Identifier 459658 459666 - StringLiteral 459667 459683 - Block 459685 461760 - VariableStatement 459687 459740 - VariableDeclarationList 459687 459739 - VariableDeclaration 459714 459739 - Identifier 459714 459727 - Identifier 459729 459739 - IfStatement 459740 461143 - BinaryExpression 459766 459924 - BinaryExpression 459766 459842 - CallExpression 459766 459810 - Identifier 459766 459793 - Identifier 459794 459809 - EqualsEqualsEqualsToken 459810 459814 - PropertyAccessExpression 459814 459842 - Identifier 459814 459835 - Identifier 459836 459842 - BarBarToken 459842 459845 - BinaryExpression 459845 459924 - CallExpression 459845 459890 - Identifier 459845 459873 - Identifier 459874 459889 - EqualsEqualsEqualsToken 459890 459894 - PropertyAccessExpression 459894 459924 - Identifier 459894 459915 - Identifier 459916 459924 - Block 459925 461143 - VariableStatement 459927 460230 - VariableDeclarationList 459927 460229 - VariableDeclaration 460120 460229 - Identifier 460120 460132 - ConditionalExpression 460134 460229 - BinaryExpression 460134 460187 - PropertyAccessExpression 460134 460165 - Identifier 460134 460146 - QuestionDotToken 460146 460148 - Identifier 460148 460165 - EqualsEqualsEqualsToken 460165 460169 - PropertyAccessExpression 460169 460187 - Identifier 460169 460180 - Identifier 460181 460187 - QuestionToken 460187 460189 - PropertyAccessExpression 460189 460209 - Identifier 460189 460200 - Identifier 460201 460209 - ColonToken 460209 460211 - PropertyAccessExpression 460211 460229 - Identifier 460211 460222 - Identifier 460223 460229 - ExpressionStatement 460230 460328 - BinaryExpression 460230 460327 - Identifier 460230 460265 - EqualsToken 460265 460267 - CallExpression 460267 460327 - Identifier 460267 460295 - ElementAccessExpression 460296 460304 - Identifier 460296 460301 - NumericLiteral 460302 460303 - Identifier 460305 460313 - Identifier 460314 460326 - IfStatement 460328 461120 - CallExpression 460360 460396 - PropertyAccessExpression 460360 460378 - Identifier 460360 460369 - Identifier 460370 460378 - StringLiteral 460379 460395 - Block 460397 460534 - ExpressionStatement 460399 460507 - BinaryExpression 460399 460506 - Identifier 460399 460491 - EqualsToken 460491 460493 - Identifier 460493 460506 - Block 460564 461120 - ExpressionStatement 460566 461093 - BinaryExpression 460566 461092 - Identifier 460566 460606 - EqualsToken 460606 460608 - CallExpression 460608 461092 - PropertyAccessExpression 460608 460639 - Identifier 460608 460616 - Identifier 460617 460639 - CallExpression 460640 461060 - PropertyAccessExpression 460640 460697 - Identifier 460640 460681 - Identifier 460682 460697 - ArrayLiteralExpression 460698 461059 - CallExpression 460699 461023 - PropertyAccessExpression 460699 460766 - Identifier 460699 460744 - Identifier 460745 460766 - CallExpression 460767 460855 - PropertyAccessExpression 460767 460836 - Identifier 460767 460816 - Identifier 460817 460836 - StringLiteral 460837 460854 - CallExpression 460856 460983 - PropertyAccessExpression 460856 460925 - Identifier 460856 460905 - Identifier 460906 460925 - ConditionalExpression 460926 460982 - BinaryExpression 460926 460959 - Identifier 460926 460937 - EqualsEqualsEqualsToken 460937 460941 - PropertyAccessExpression 460941 460959 - Identifier 460941 460952 - Identifier 460953 460959 - QuestionToken 460959 460961 - StringLiteral 460961 460970 - ColonToken 460970 460972 - StringLiteral 460972 460982 - IfStatement 461143 461741 - PrefixUnaryExpression 461171 461182 - Identifier 461172 461182 - Block 461183 461741 - ExpressionStatement 461185 461507 - BinaryExpression 461185 461506 - PropertyAccessExpression 461185 461499 - Identifier 461185 461482 - Identifier 461483 461499 - EqualsToken 461499 461501 - TrueKeyword 461501 461506 - IfStatement 461507 461718 - PropertyAccessExpression 461537 461590 - PropertyAccessExpression 461537 461552 - Identifier 461537 461544 - Identifier 461545 461552 - Identifier 461553 461590 - Block 461591 461718 - ExpressionStatement 461593 461691 - CallExpression 461593 461690 - PropertyAccessExpression 461593 461676 - PropertyAccessExpression 461593 461638 - Identifier 461593 461630 - Identifier 461631 461638 - Identifier 461639 461676 - Identifier 461677 461689 - VariableStatement 461760 461860 - VariableDeclarationList 461760 461859 - VariableDeclaration 461783 461859 - Identifier 461783 461787 - CallExpression 461789 461859 - PropertyAccessExpression 461789 461819 - Identifier 461789 461797 - Identifier 461798 461819 - CallExpression 461820 461858 - PropertyAccessExpression 461820 461847 - Identifier 461820 461827 - Identifier 461828 461847 - Identifier 461848 461857 - ExpressionStatement 461860 461929 - BinaryExpression 461860 461928 - PropertyAccessExpression 461860 461903 - Identifier 461860 461885 - Identifier 461886 461903 - PlusEqualsToken 461903 461906 - BinaryExpression 461906 461928 - PropertyAccessExpression 461906 461923 - Identifier 461906 461916 - Identifier 461917 461923 - PlusToken 461923 461925 - NumericLiteral 461925 461928 - IfStatement 461929 462871 - BinaryExpression 461977 462020 - PrefixUnaryExpression 461977 461990 - Identifier 461978 461990 - BarBarToken 461990 461993 - CallExpression 461993 462020 - Identifier 461993 462006 - Identifier 462007 462019 - Block 462021 462456 - IfStatement 462023 462281 - Identifier 462049 462061 - Block 462062 462281 - VariableStatement 462064 462168 - VariableDeclarationList 462064 462167 - VariableDeclaration 462095 462167 - Identifier 462095 462102 - ConditionalExpression 462104 462167 - CallExpression 462104 462131 - Identifier 462104 462117 - Identifier 462118 462130 - QuestionToken 462131 462133 - Identifier 462133 462146 - ColonToken 462146 462148 - PropertyAccessExpression 462148 462167 - Identifier 462148 462161 - Identifier 462162 462167 - ExpressionStatement 462168 462258 - CallExpression 462168 462257 - Identifier 462168 462220 - Identifier 462221 462227 - Identifier 462228 462256 - ReturnStatement 462281 462437 - CallExpression 462309 462436 - PropertyAccessExpression 462309 462338 - Identifier 462309 462317 - Identifier 462318 462338 - Identifier 462339 462342 - Identifier 462343 462354 - AsExpression 462355 462382 - Identifier 462355 462368 - TypeReference 462371 462382 - Identifier 462371 462382 - AsExpression 462383 462425 - Identifier 462383 462402 - TypeOperator 462405 462425 - ArrayType 462414 462425 - TypeReference 462414 462423 - Identifier 462414 462423 - Identifier 462426 462435 - Block 462478 462871 - VariableStatement 462480 462562 - VariableDeclarationList 462480 462561 - VariableDeclaration 462507 462561 - Identifier 462507 462517 - CallExpression 462519 462561 - Identifier 462519 462547 - Identifier 462548 462560 - VariableStatement 462562 462655 - VariableDeclarationList 462562 462654 - VariableDeclaration 462589 462654 - Identifier 462589 462599 - PropertyAccessExpression 462601 462654 - ParenthesizedExpression 462601 462645 - AsExpression 462603 462644 - PropertyAccessExpression 462603 462623 - Identifier 462603 462612 - Identifier 462613 462623 - TypeReference 462626 462644 - Identifier 462626 462644 - Identifier 462646 462654 - ReturnStatement 462655 462852 - CallExpression 462683 462851 - PropertyAccessExpression 462683 462719 - Identifier 462683 462691 - Identifier 462692 462719 - CallExpression 462720 462829 - PropertyAccessExpression 462720 462748 - Identifier 462720 462727 - Identifier 462728 462748 - Identifier 462749 462752 - Identifier 462753 462764 - Identifier 462765 462775 - AsExpression 462776 462818 - Identifier 462776 462795 - TypeOperator 462798 462818 - ArrayType 462807 462818 - TypeReference 462807 462816 - Identifier 462807 462816 - Identifier 462819 462828 - PropertyAccessExpression 462830 462850 - Identifier 462830 462840 - Identifier 462841 462850 - VariableStatement 462886 462977 - VariableDeclarationList 462886 462976 - VariableDeclaration 462907 462976 - Identifier 462907 462918 - CallExpression 462920 462976 - Identifier 462920 462948 - Identifier 462949 462954 - BinaryExpression 462955 462972 - PropertyAccessExpression 462955 462968 - Identifier 462955 462961 - Identifier 462962 462968 - MinusToken 462968 462970 - NumericLiteral 462970 462972 - NumericLiteral 462973 462975 - IfStatement 462977 463126 - CallExpression 462995 463030 - Identifier 462995 463018 - Identifier 463019 463029 - Block 463031 463126 - ReturnStatement 463033 463069 - Identifier 463057 463068 - IfStatement 463126 463622 - Identifier 463144 463152 - Block 463153 463235 - ReturnStatement 463155 463220 - CallExpression 463179 463219 - PropertyAccessExpression 463179 463207 - Identifier 463179 463187 - Identifier 463188 463207 - Identifier 463208 463218 - Block 463253 463622 - VariableStatement 463255 463345 - VariableDeclarationList 463255 463344 - VariableDeclaration 463278 463344 - Identifier 463278 463285 - ConditionalExpression 463287 463344 - CallExpression 463287 463312 - Identifier 463287 463300 - Identifier 463301 463311 - QuestionToken 463312 463314 - Identifier 463314 463325 - ColonToken 463325 463327 - PropertyAccessExpression 463327 463344 - Identifier 463327 463338 - Identifier 463339 463344 - VariableStatement 463345 463419 - VariableDeclarationList 463345 463418 - VariableDeclaration 463368 463418 - Identifier 463368 463381 - CallExpression 463383 463418 - Identifier 463383 463410 - Identifier 463411 463417 - ExpressionStatement 463419 463501 - CallExpression 463419 463500 - Identifier 463419 463463 - Identifier 463464 463470 - Identifier 463471 463499 - ReturnStatement 463501 463607 - CallExpression 463525 463606 - PropertyAccessExpression 463525 463557 - Identifier 463525 463533 - Identifier 463534 463557 - Identifier 463558 463568 - AsExpression 463569 463605 - Identifier 463569 463582 - TypeReference 463585 463605 - Identifier 463585 463595 - TypeReference 463596 463604 - Identifier 463596 463604 - FunctionDeclaration 463622 467663 - Identifier 463646 463674 - Parameter 463675 463690 - Identifier 463675 463680 - ArrayType 463681 463690 - TypeReference 463681 463688 - Identifier 463681 463688 - Parameter 463691 463705 - Identifier 463691 463697 - NumberKeyword 463698 463705 - Parameter 463706 463722 - Identifier 463706 463714 - NumberKeyword 463715 463722 - UnionType 463724 463759 - TypeReference 463724 463735 - Identifier 463724 463735 - TypeReference 463737 463759 - Identifier 463737 463759 - Block 463759 467663 - VariableStatement 463761 463909 - VariableDeclarationList 463761 463908 - VariableDeclaration 463784 463908 - Identifier 463784 463803 - ConditionalExpression 463805 463908 - BinaryExpression 463805 463834 - Identifier 463805 463811 - EqualsEqualsEqualsToken 463811 463815 - ParenthesizedExpression 463815 463834 - BinaryExpression 463817 463833 - PropertyAccessExpression 463817 463829 - Identifier 463817 463822 - Identifier 463823 463829 - MinusToken 463829 463831 - NumericLiteral 463831 463833 - QuestionToken 463834 463836 - Identifier 463836 463858 - ColonToken 463858 463860 - CallExpression 463860 463908 - Identifier 463860 463885 - Identifier 463886 463891 - Identifier 463892 463898 - Identifier 463899 463907 - VariableStatement 463909 463955 - VariableDeclarationList 463909 463954 - VariableDeclaration 463932 463954 - Identifier 463932 463939 - ElementAccessExpression 463941 463954 - Identifier 463941 463947 - Identifier 463948 463953 - VariableStatement 463955 464005 - VariableDeclarationList 463955 464004 - VariableDeclaration 463978 464004 - Identifier 463978 463985 - ElementAccessExpression 463987 464004 - Identifier 463987 463993 - BinaryExpression 463994 464003 - Identifier 463994 463999 - MinusToken 463999 464001 - NumericLiteral 464001 464003 - VariableStatement 464005 464060 - VariableDeclarationList 464005 464059 - VariableDeclaration 464028 464059 - Identifier 464028 464039 - UnionType 464040 464059 - StringKeyword 464040 464047 - UndefinedKeyword 464049 464059 - IfStatement 464060 465028 - BinaryExpression 464082 464093 - Identifier 464082 464087 - EqualsEqualsEqualsToken 464087 464091 - NumericLiteral 464091 464093 - Block 464094 464436 - ExpressionStatement 464096 464172 - BinaryExpression 464096 464171 - PropertyAccessExpression 464096 464131 - Identifier 464096 464125 - Identifier 464126 464131 - BarEqualsToken 464131 464134 - PropertyAccessExpression 464134 464171 - Identifier 464134 464151 - Identifier 464152 464171 - ExpressionStatement 464172 464249 - BinaryExpression 464172 464248 - Identifier 464172 464204 - EqualsToken 464204 464206 - CallExpression 464206 464248 - Identifier 464206 464231 - Identifier 464232 464238 - Identifier 464239 464247 - ExpressionStatement 464249 464341 - BinaryExpression 464249 464340 - PropertyAccessExpression 464249 464296 - Identifier 464249 464278 - Identifier 464279 464296 - PlusEqualsToken 464296 464299 - BinaryExpression 464299 464340 - ParenthesizedExpression 464299 464336 - ConditionalExpression 464301 464335 - Identifier 464301 464311 - QuestionToken 464311 464313 - PropertyAccessExpression 464313 464331 - Identifier 464313 464324 - Identifier 464325 464331 - ColonToken 464331 464333 - NumericLiteral 464333 464335 - PlusToken 464336 464338 - NumericLiteral 464338 464340 - ExpressionStatement 464341 464417 - BinaryExpression 464341 464416 - PropertyAccessExpression 464341 464376 - Identifier 464341 464370 - Identifier 464371 464376 - CaretEqualsToken 464376 464379 - PropertyAccessExpression 464379 464416 - Identifier 464379 464396 - Identifier 464397 464416 - Block 464458 465028 - IfStatement 464460 465009 - BinaryExpression 464486 464522 - Identifier 464486 464492 - AmpersandAmpersandToken 464492 464495 - CallExpression 464495 464522 - Identifier 464495 464514 - Identifier 464515 464521 - Block 464523 465009 - VariableStatement 464525 464594 - VariableDeclarationList 464525 464593 - VariableDeclaration 464556 464593 - Identifier 464556 464564 - CallExpression 464566 464593 - Identifier 464566 464585 - Identifier 464586 464592 - ExpressionStatement 464594 464986 - CallExpression 464594 464985 - Identifier 464594 464632 - Identifier 464633 464640 - ArrowFunction 464641 464984 - Parameter 464643 464645 - Identifier 464643 464645 - Parameter 464646 464651 - Identifier 464646 464651 - EqualsGreaterThanToken 464652 464655 - Block 464655 464984 - IfStatement 464657 464957 - BinaryExpression 464691 464797 - BinaryExpression 464691 464753 - CallExpression 464691 464727 - Identifier 464691 464715 - Identifier 464716 464718 - Identifier 464719 464726 - AmpersandAmpersandToken 464727 464730 - PrefixUnaryExpression 464730 464753 - CallExpression 464732 464753 - Identifier 464732 464747 - Identifier 464748 464752 - AmpersandAmpersandToken 464753 464756 - BinaryExpression 464756 464797 - Identifier 464756 464761 - ExclamationEqualsEqualsToken 464761 464765 - PropertyAccessExpression 464765 464797 - Identifier 464765 464784 - Identifier 464785 464797 - Block 464798 464957 - ExpressionStatement 464800 464880 - BinaryExpression 464800 464879 - Identifier 464800 464844 - EqualsToken 464844 464846 - CallExpression 464846 464879 - Identifier 464846 464873 - Identifier 464874 464878 - ReturnStatement 464880 464926 - TrueKeyword 464920 464925 - IfStatement 465028 465780 - BinaryExpression 465052 465076 - Identifier 465052 465062 - EqualsEqualsEqualsToken 465062 465066 - Identifier 465066 465076 - Block 465077 465780 - VariableStatement 465079 465170 - VariableDeclarationList 465079 465169 - VariableDeclaration 465106 465169 - Identifier 465106 465111 - CallExpression 465113 465169 - Identifier 465113 465126 - PropertyAccessExpression 465127 465146 - Identifier 465127 465133 - Identifier 465134 465146 - Identifier 465147 465168 - IfStatement 465170 465684 - BinaryExpression 465196 465265 - BinaryExpression 465196 465232 - Identifier 465196 465200 - AmpersandAmpersandToken 465200 465203 - CallExpression 465203 465232 - Identifier 465203 465226 - Identifier 465227 465231 - AmpersandAmpersandToken 465232 465235 - CallExpression 465235 465265 - Identifier 465235 465248 - PropertyAccessExpression 465249 465264 - Identifier 465249 465253 - Identifier 465254 465264 - Block 465266 465684 - VariableStatement 465268 465361 - VariableDeclarationList 465268 465360 - VariableDeclaration 465299 465360 - Identifier 465299 465303 - CallExpression 465305 465360 - Identifier 465305 465333 - Identifier 465334 465339 - BinaryExpression 465340 465350 - Identifier 465340 465346 - MinusToken 465346 465348 - NumericLiteral 465348 465350 - Identifier 465351 465359 - IfStatement 465361 465624 - CallExpression 465391 465408 - Identifier 465391 465403 - Identifier 465404 465407 - Block 465409 465624 - ReturnStatement 465411 465597 - CallExpression 465447 465596 - PropertyAccessExpression 465447 465483 - Identifier 465447 465455 - Identifier 465456 465483 - CallExpression 465484 465549 - PropertyAccessExpression 465484 465515 - Identifier 465484 465491 - Identifier 465492 465515 - CallExpression 465516 465548 - PropertyAccessExpression 465516 465543 - Identifier 465516 465523 - Identifier 465524 465543 - Identifier 465544 465547 - CallExpression 465550 465595 - PropertyAccessExpression 465550 465578 - Identifier 465550 465558 - Identifier 465559 465578 - PropertyAccessExpression 465579 465594 - Identifier 465579 465583 - Identifier 465584 465594 - ReturnStatement 465624 465661 - Identifier 465656 465660 - ExpressionStatement 465684 465761 - BinaryExpression 465684 465760 - Identifier 465684 465716 - EqualsToken 465716 465718 - CallExpression 465718 465760 - Identifier 465718 465743 - Identifier 465744 465750 - Identifier 465751 465759 - ExpressionStatement 465780 465849 - BinaryExpression 465780 465848 - PropertyAccessExpression 465780 465823 - Identifier 465780 465805 - Identifier 465806 465823 - PlusEqualsToken 465823 465826 - BinaryExpression 465826 465848 - PropertyAccessExpression 465826 465844 - Identifier 465826 465837 - Identifier 465838 465844 - PlusToken 465844 465846 - NumericLiteral 465846 465848 - IfStatement 465849 466872 - BinaryExpression 465873 466191 - BinaryExpression 465873 466081 - BinaryExpression 465873 466027 - BinaryExpression 465873 465976 - PrefixUnaryExpression 465873 465966 - ParenthesizedExpression 465896 465966 - BinaryExpression 465897 465965 - PropertyAccessExpression 465897 465910 - Identifier 465897 465904 - Identifier 465905 465910 - AmpersandToken 465910 465912 - PropertyAccessExpression 465912 465965 - Identifier 465912 465929 - Identifier 465930 465965 - AmpersandAmpersandToken 465966 465969 - Identifier 465969 465976 - AmpersandAmpersandToken 465976 465979 - CallExpression 465979 466027 - Identifier 465979 466019 - Identifier 466020 466026 - AmpersandAmpersandToken 466027 466030 - CallExpression 466030 466081 - PropertyAccessExpression 466030 466061 - CallExpression 466030 466057 - Identifier 466030 466049 - Identifier 466050 466056 - Identifier 466058 466061 - PropertyAccessExpression 466062 466080 - Identifier 466062 466068 - Identifier 466069 466080 - AmpersandAmpersandToken 466081 466084 - CallExpression 466084 466191 - Identifier 466084 466130 - NonNullExpression 466131 466182 - CallExpression 466131 466181 - PropertyAccessExpression 466131 466161 - CallExpression 466131 466157 - Identifier 466131 466149 - Identifier 466150 466156 - Identifier 466158 466161 - PropertyAccessExpression 466162 466180 - Identifier 466162 466168 - Identifier 466169 466180 - Identifier 466183 466190 - Block 466210 466872 - VariableStatement 466212 466354 - VariableDeclarationList 466212 466353 - VariableDeclaration 466292 466353 - Identifier 466292 466296 - CallExpression 466298 466353 - Identifier 466298 466326 - Identifier 466327 466332 - BinaryExpression 466333 466343 - Identifier 466333 466339 - MinusToken 466339 466341 - NumericLiteral 466341 466343 - Identifier 466344 466352 - IfStatement 466354 466853 - CallExpression 466380 466408 - Identifier 466380 466403 - Identifier 466404 466407 - Block 466409 466580 - ReturnStatement 466411 466557 - CallExpression 466443 466556 - PropertyAccessExpression 466443 466479 - Identifier 466443 466451 - Identifier 466452 466479 - Identifier 466480 466483 - CallExpression 466484 466555 - PropertyAccessExpression 466484 466514 - Identifier 466484 466492 - Identifier 466493 466514 - CallExpression 466515 466554 - PropertyAccessExpression 466515 466542 - Identifier 466515 466522 - Identifier 466523 466542 - Identifier 466543 466553 - Block 466606 466853 - ReturnStatement 466608 466830 - CallExpression 466640 466829 - PropertyAccessExpression 466640 466676 - Identifier 466640 466648 - Identifier 466649 466676 - CallExpression 466677 466756 - PropertyAccessExpression 466677 466708 - Identifier 466677 466684 - Identifier 466685 466708 - Identifier 466709 466712 - AsExpression 466713 466755 - Identifier 466713 466732 - TypeOperator 466735 466755 - ArrayType 466744 466755 - TypeReference 466744 466753 - Identifier 466744 466753 - CallExpression 466757 466828 - PropertyAccessExpression 466757 466787 - Identifier 466757 466765 - Identifier 466766 466787 - CallExpression 466788 466827 - PropertyAccessExpression 466788 466815 - Identifier 466788 466795 - Identifier 466796 466815 - Identifier 466816 466826 - VariableStatement 466872 466989 - VariableDeclarationList 466872 466988 - VariableDeclaration 466897 466988 - Identifier 466897 466908 - CallExpression 466910 466988 - Identifier 466910 466923 - CallExpression 466924 466960 - PropertyAccessExpression 466924 466948 - Identifier 466924 466931 - Identifier 466932 466948 - Identifier 466949 466959 - PropertyAccessExpression 466961 466987 - Identifier 466961 466971 - Identifier 466972 466987 - IfStatement 466989 467152 - Identifier 467011 467029 - ExpressionStatement 467030 467152 - CallExpression 467030 467151 - Identifier 467030 467057 - Identifier 467058 467068 - CallExpression 467069 467150 - PropertyAccessExpression 467069 467093 - Identifier 467069 467077 - Identifier 467078 467093 - UnionType 467094 467129 - TypeReference 467094 467102 - Identifier 467094 467102 - TypeReference 467104 467129 - Identifier 467104 467129 - Identifier 467131 467149 - ExpressionStatement 467152 467197 - BinaryExpression 467152 467196 - PropertyAccessExpression 467152 467187 - Identifier 467152 467180 - Identifier 467181 467187 - EqualsToken 467187 467189 - Identifier 467189 467196 - IfStatement 467197 467612 - BinaryExpression 467221 467236 - Identifier 467221 467226 - GreaterThanToken 467226 467228 - Identifier 467228 467236 - Block 467237 467612 - VariableStatement 467239 467328 - VariableDeclarationList 467239 467327 - VariableDeclaration 467266 467327 - Identifier 467266 467270 - CallExpression 467272 467327 - Identifier 467272 467300 - Identifier 467301 467306 - BinaryExpression 467307 467317 - Identifier 467307 467313 - MinusToken 467313 467315 - NumericLiteral 467315 467317 - Identifier 467318 467326 - IfStatement 467328 467519 - PrefixUnaryExpression 467354 467372 - CallExpression 467355 467372 - Identifier 467355 467367 - Identifier 467368 467371 - Block 467373 467519 - ReturnStatement 467375 467496 - CallExpression 467407 467495 - PropertyAccessExpression 467407 467418 - Identifier 467407 467413 - Identifier 467414 467418 - StringLiteral 467419 467494 - ReturnStatement 467519 467593 - CallExpression 467547 467592 - PropertyAccessExpression 467547 467575 - Identifier 467547 467555 - Identifier 467556 467575 - Identifier 467576 467579 - Identifier 467580 467591 - ReturnStatement 467612 467648 - Identifier 467636 467647 - FunctionDeclaration 467674 468141 - Identifier 467694 467740 - Parameter 467741 467762 - Identifier 467741 467752 - TypeReference 467753 467762 - Identifier 467753 467762 - Parameter 467763 467791 - Identifier 467763 467771 - TypeReference 467772 467791 - Identifier 467772 467791 - Parameter 467792 467812 - Identifier 467792 467797 - TypeReference 467798 467812 - Identifier 467798 467812 - Block 467813 468141 - VariableStatement 467815 467969 - VariableDeclarationList 467815 467968 - VariableDeclaration 467834 467968 - Identifier 467834 467841 - CallExpression 467843 467968 - Identifier 467843 467855 - PropertyAccessExpression 467856 467884 - Identifier 467856 467863 - Identifier 467864 467884 - Identifier 467885 467897 - PropertyAccessExpression 467898 467915 - Identifier 467898 467910 - Identifier 467911 467915 - Identifier 467916 467950 - FalseKeyword 467951 467967 - IfStatement 467969 468103 - BinaryExpression 467987 468037 - Identifier 467987 467993 - AmpersandAmpersandToken 467993 467996 - BinaryExpression 467996 468037 - PropertyAccessExpression 467996 468009 - Identifier 467996 468003 - Identifier 468004 468009 - AmpersandToken 468009 468011 - PropertyAccessExpression 468011 468037 - Identifier 468011 468023 - Identifier 468024 468037 - Block 468038 468103 - ReturnStatement 468040 468088 - BinaryExpression 468064 468087 - Identifier 468064 468071 - ExclamationEqualsEqualsToken 468071 468075 - PropertyAccessExpression 468075 468087 - Identifier 468075 468080 - Identifier 468081 468087 - ReturnStatement 468103 468130 - FalseKeyword 468123 468129 - FunctionDeclaration 468141 470735 - Identifier 468161 468181 - Parameter 468182 468201 - Identifier 468182 468186 - TypeReference 468187 468201 - Identifier 468187 468201 - Parameter 468202 468230 - Identifier 468202 468210 - TypeReference 468211 468230 - Identifier 468211 468230 - Block 468231 470735 - IfStatement 468233 468533 - BinaryExpression 468251 468348 - BinaryExpression 468251 468318 - PropertyAccessExpression 468251 468264 - Identifier 468251 468258 - Identifier 468259 468264 - AmpersandToken 468264 468266 - PropertyAccessExpression 468266 468318 - Identifier 468266 468283 - Identifier 468284 468318 - AmpersandAmpersandToken 468318 468321 - PropertyAccessExpression 468321 468348 - Identifier 468321 468329 - Identifier 468330 468348 - Block 468349 468533 - VariableStatement 468351 468432 - VariableDeclarationList 468351 468431 - VariableDeclaration 468374 468431 - Identifier 468374 468381 - CallExpression 468383 468431 - PropertyAccessExpression 468383 468414 - PropertyAccessExpression 468383 468410 - Identifier 468383 468391 - Identifier 468392 468410 - Identifier 468411 468414 - CallExpression 468415 468430 - Identifier 468415 468424 - Identifier 468425 468429 - IfStatement 468432 468518 - Identifier 468454 468460 - Block 468461 468518 - ReturnStatement 468463 468499 - Identifier 468491 468498 - VariableStatement 468533 468641 - VariableDeclarationList 468533 468640 - VariableDeclaration 468550 468640 - Identifier 468550 468557 - CallExpression 468559 468640 - Identifier 468559 468572 - PropertyAccessExpression 468573 468584 - Identifier 468573 468577 - Identifier 468578 468584 - Identifier 468585 468593 - PropertyAccessExpression 468594 468611 - Identifier 468594 468606 - Identifier 468607 468611 - TrueKeyword 468612 468639 - IfStatement 468641 468793 - PrefixUnaryExpression 468659 468697 - ParenthesizedExpression 468660 468697 - BinaryExpression 468661 468696 - PropertyAccessExpression 468661 468672 - Identifier 468661 468667 - Identifier 468668 468672 - AmpersandToken 468672 468674 - PropertyAccessExpression 468674 468696 - Identifier 468674 468685 - Identifier 468686 468696 - Block 468698 468793 - ReturnStatement 468700 468778 - CallExpression 468724 468777 - PropertyAccessExpression 468724 468749 - Identifier 468724 468732 - Identifier 468733 468749 - StringLiteral 468750 468776 - VariableStatement 468793 468851 - VariableDeclarationList 468793 468850 - VariableDeclaration 468812 468850 - Identifier 468812 468817 - ElementAccessExpression 468819 468850 - PropertyAccessExpression 468819 468845 - PropertyAccessExpression 468819 468831 - Identifier 468819 468824 - Identifier 468825 468831 - QuestionDotToken 468831 468833 - Identifier 468833 468845 - QuestionDotToken 468845 468847 - NumericLiteral 468848 468849 - IfStatement 468851 468995 - BinaryExpression 468869 468909 - Identifier 468869 468873 - AmpersandAmpersandToken 468873 468876 - CallExpression 468876 468909 - Identifier 468876 468903 - Identifier 468904 468908 - Block 468910 468995 - ExpressionStatement 468912 468980 - BinaryExpression 468912 468979 - Identifier 468912 468936 - EqualsToken 468936 468938 - CallExpression 468938 468979 - Identifier 468938 468951 - Identifier 468952 468959 - Identifier 468960 468967 - PropertyAccessExpression 468968 468978 - Identifier 468968 468973 - Identifier 468974 468978 - IfStatement 468995 470696 - BinaryExpression 469013 469080 - PropertyAccessExpression 469013 469026 - Identifier 469013 469020 - Identifier 469021 469026 - AmpersandToken 469026 469028 - PropertyAccessExpression 469028 469080 - Identifier 469028 469045 - Identifier 469046 469080 - Block 469081 470696 - VariableStatement 469083 469146 - VariableDeclarationList 469083 469145 - VariableDeclaration 469106 469145 - Identifier 469106 469114 - AsExpression 469116 469145 - PropertyAccessExpression 469116 469135 - Identifier 469116 469123 - Identifier 469124 469135 - StringKeyword 469138 469145 - VariableStatement 469146 469237 - VariableDeclarationList 469146 469236 - VariableDeclaration 469167 469236 - Identifier 469167 469169 - BinaryExpression 469171 469236 - CallExpression 469171 469231 - PropertyAccessExpression 469171 469222 - PropertyAccessExpression 469171 469217 - Identifier 469171 469179 - Identifier 469180 469217 - QuestionDotToken 469217 469219 - Identifier 469219 469222 - Identifier 469223 469230 - BarBarToken 469231 469234 - NumericLiteral 469234 469236 - VariableStatement 469237 469274 - VariableDeclarationList 469237 469273 - VariableDeclaration 469258 469273 - Identifier 469258 469263 - Identifier 469265 469273 - WhileStatement 469274 469519 - BinaryExpression 469299 469424 - CallExpression 469299 469342 - PropertyAccessExpression 469299 469336 - PropertyAccessExpression 469299 469331 - Identifier 469299 469306 - Identifier 469307 469331 - QuestionDotToken 469331 469333 - Identifier 469333 469336 - Identifier 469337 469341 - BarBarToken 469342 469345 - CallExpression 469345 469424 - Identifier 469345 469391 - AsExpression 469392 469408 - Identifier 469392 469396 - TypeReference 469399 469408 - Identifier 469399 469408 - Identifier 469409 469417 - Identifier 469418 469423 - Block 469425 469519 - ExpressionStatement 469427 469453 - PostfixUnaryExpression 469427 469452 - Identifier 469427 469450 - ExpressionStatement 469453 469500 - BinaryExpression 469453 469499 - Identifier 469453 469479 - EqualsToken 469479 469481 - TemplateExpression 469481 469499 - TemplateHead 469481 469485 - TemplateSpan 469485 469496 - Identifier 469485 469492 - TemplateMiddle 469492 469496 - TemplateSpan 469496 469499 - Identifier 469496 469497 - TemplateTail 469497 469499 - IfStatement 469519 469792 - BinaryExpression 469541 469557 - Identifier 469541 469545 - ExclamationEqualsEqualsToken 469545 469549 - Identifier 469549 469557 - Block 469558 469792 - VariableStatement 469560 469639 - VariableDeclarationList 469560 469638 - VariableDeclaration 469587 469638 - Identifier 469587 469601 - CallExpression 469603 469638 - Identifier 469603 469630 - Identifier 469631 469637 - ExpressionStatement 469639 469701 - BinaryExpression 469639 469700 - Identifier 469639 469667 - EqualsToken 469667 469669 - CallExpression 469669 469700 - PropertyAccessExpression 469669 469694 - Identifier 469669 469677 - Identifier 469678 469694 - Identifier 469695 469699 - ExpressionStatement 469701 469773 - CallExpression 469701 469772 - Identifier 469701 469749 - Identifier 469750 469756 - Identifier 469757 469771 - IfStatement 469792 470266 - PropertyAccessExpression 469814 469858 - Identifier 469814 469821 - Identifier 469822 469858 - Block 469859 470266 - ExpressionStatement 469861 469936 - BinaryExpression 469861 469935 - PropertyAccessExpression 469861 469927 - Identifier 469861 469890 - Identifier 469891 469927 - EqualsToken 469927 469929 - FalseKeyword 469929 469935 - ExpressionStatement 469936 470023 - BinaryExpression 469936 470022 - PropertyAccessExpression 469936 469984 - Identifier 469936 469965 - Identifier 469966 469984 - EqualsToken 469984 469986 - NewExpression 469986 470022 - Identifier 469990 469994 - PropertyAccessExpression 469995 470021 - Identifier 469995 470002 - Identifier 470003 470021 - ExpressionStatement 470023 470148 - BinaryExpression 470023 470147 - PropertyAccessExpression 470023 470090 - Identifier 470023 470052 - Identifier 470053 470090 - EqualsToken 470090 470092 - NewExpression 470092 470147 - Identifier 470096 470100 - PropertyAccessExpression 470101 470146 - Identifier 470101 470108 - Identifier 470109 470146 - ExpressionStatement 470148 470247 - BinaryExpression 470148 470246 - PropertyAccessExpression 470148 470202 - Identifier 470148 470177 - Identifier 470178 470202 - EqualsToken 470202 470204 - NewExpression 470204 470246 - Identifier 470208 470212 - PropertyAccessExpression 470213 470245 - Identifier 470213 470220 - Identifier 470221 470245 - ExpressionStatement 470266 470544 - CallExpression 470266 470543 - PropertyAccessExpression 470266 470531 - NonNullExpression 470266 470527 - PropertyAccessExpression 470266 470526 - Identifier 470266 470488 - Identifier 470489 470526 - Identifier 470528 470531 - Identifier 470532 470539 - Identifier 470540 470542 - ExpressionStatement 470544 470619 - CallExpression 470544 470618 - PropertyAccessExpression 470544 470593 - NonNullExpression 470544 470589 - PropertyAccessExpression 470544 470588 - Identifier 470544 470569 - Identifier 470570 470588 - Identifier 470590 470593 - CallExpression 470594 470609 - Identifier 470594 470603 - Identifier 470604 470608 - Identifier 470610 470617 - ExpressionStatement 470619 470681 - CallExpression 470619 470680 - PropertyAccessExpression 470619 470674 - NonNullExpression 470619 470670 - PropertyAccessExpression 470619 470669 - Identifier 470619 470644 - Identifier 470645 470669 - Identifier 470671 470674 - Identifier 470675 470679 - ReturnStatement 470696 470724 - Identifier 470716 470723 - FunctionDeclaration 470735 470873 - Identifier 470755 470768 - Parameter 470769 470783 - Identifier 470769 470775 - TypeReference 470776 470783 - Identifier 470776 470783 - Parameter 470784 470812 - Identifier 470784 470792 - TypeReference 470793 470812 - Identifier 470793 470812 - Parameter 470813 470834 - Identifier 470813 470821 - TypeReference 470822 470834 - Identifier 470822 470834 - Parameter 470835 470859 - Identifier 470835 470853 - LiteralType 470854 470859 - TrueKeyword 470854 470859 - TypeReference 470861 470872 - Identifier 470861 470872 - FunctionDeclaration 470873 471010 - Identifier 470891 470904 - Parameter 470905 470919 - Identifier 470905 470911 - TypeReference 470912 470919 - Identifier 470912 470919 - Parameter 470920 470948 - Identifier 470920 470928 - TypeReference 470929 470948 - Identifier 470929 470948 - Parameter 470949 470970 - Identifier 470949 470957 - TypeReference 470958 470970 - Identifier 470958 470970 - Parameter 470971 470996 - Identifier 470971 470989 - LiteralType 470990 470996 - FalseKeyword 470990 470996 - TypeReference 470998 471009 - Identifier 470998 471009 - FunctionDeclaration 471010 472677 - Identifier 471028 471041 - Parameter 471042 471056 - Identifier 471042 471048 - TypeReference 471049 471056 - Identifier 471049 471056 - Parameter 471057 471085 - Identifier 471057 471065 - TypeReference 471066 471085 - Identifier 471066 471085 - Parameter 471086 471107 - Identifier 471086 471094 - TypeReference 471095 471107 - Identifier 471095 471107 - Parameter 471108 471135 - Identifier 471108 471126 - BooleanKeyword 471127 471135 - TypeReference 471137 471148 - Identifier 471137 471148 - Block 471148 472677 - VariableStatement 471150 471222 - VariableDeclarationList 471150 471221 - VariableDeclaration 471169 471221 - Identifier 471169 471175 - CallExpression 471177 471221 - Identifier 471177 471195 - Identifier 471196 471202 - Identifier 471203 471211 - Identifier 471212 471220 - IfStatement 471222 471521 - BinaryExpression 471242 471439 - BinaryExpression 471242 471345 - BinaryExpression 471242 471299 - Identifier 471242 471277 - AmpersandAmpersandToken 471277 471280 - BinaryExpression 471280 471299 - PropertyAccessExpression 471280 471293 - Identifier 471280 471286 - Identifier 471287 471293 - ExclamationEqualsEqualsToken 471293 471297 - NumericLiteral 471297 471299 - AmpersandAmpersandToken 471299 471319 - PrefixUnaryExpression 471319 471345 - PropertyAccessExpression 471321 471345 - Identifier 471321 471328 - Identifier 471329 471345 - AmpersandAmpersandToken 471345 471365 - PrefixUnaryExpression 471365 471439 - ParenthesizedExpression 471367 471439 - BinaryExpression 471368 471438 - PropertyAccessExpression 471368 471381 - Identifier 471368 471375 - Identifier 471376 471381 - AmpersandToken 471381 471383 - PropertyAccessExpression 471383 471438 - Identifier 471383 471400 - Identifier 471401 471438 - Block 471454 471521 - ExpressionStatement 471456 471506 - BinaryExpression 471456 471505 - PropertyAccessExpression 471456 471498 - Identifier 471456 471481 - Identifier 471482 471498 - EqualsToken 471498 471500 - TrueKeyword 471500 471505 - ReturnStatement 471521 471599 - CallExpression 471541 471598 - Identifier 471541 471573 - Identifier 471574 471579 - BinaryExpression 471580 471597 - PropertyAccessExpression 471580 471593 - Identifier 471580 471586 - Identifier 471587 471593 - MinusToken 471593 471595 - NumericLiteral 471595 471597 - FunctionDeclaration 471599 472666 - Identifier 471623 471655 - Parameter 471656 471671 - Identifier 471656 471661 - ArrayType 471662 471671 - TypeReference 471662 471669 - Identifier 471662 471669 - Parameter 471672 471686 - Identifier 471672 471678 - NumberKeyword 471679 471686 - TypeReference 471688 471699 - Identifier 471688 471699 - Block 471699 472666 - VariableStatement 471701 471794 - VariableDeclarationList 471701 471793 - VariableDeclaration 471724 471793 - Identifier 471724 471743 - CallExpression 471745 471793 - Identifier 471745 471770 - Identifier 471771 471776 - Identifier 471777 471783 - Identifier 471784 471792 - VariableStatement 471794 471840 - VariableDeclarationList 471794 471839 - VariableDeclaration 471817 471839 - Identifier 471817 471824 - ElementAccessExpression 471826 471839 - Identifier 471826 471832 - Identifier 471833 471838 - IfStatement 471840 471973 - BinaryExpression 471864 471875 - Identifier 471864 471869 - EqualsEqualsEqualsToken 471869 471873 - NumericLiteral 471873 471875 - Block 471876 471973 - ExpressionStatement 471878 471954 - BinaryExpression 471878 471953 - PropertyAccessExpression 471878 471913 - Identifier 471878 471907 - Identifier 471908 471913 - BarEqualsToken 471913 471916 - PropertyAccessExpression 471916 471953 - Identifier 471916 471933 - Identifier 471934 471953 - VariableStatement 471973 472052 - VariableDeclarationList 471973 472051 - VariableDeclaration 471996 472051 - Identifier 471996 472007 - CallExpression 472009 472051 - Identifier 472009 472034 - Identifier 472035 472041 - Identifier 472042 472050 - IfStatement 472052 472183 - BinaryExpression 472074 472085 - Identifier 472074 472079 - EqualsEqualsEqualsToken 472079 472083 - NumericLiteral 472083 472085 - Block 472086 472183 - ExpressionStatement 472088 472164 - BinaryExpression 472088 472163 - PropertyAccessExpression 472088 472123 - Identifier 472088 472117 - Identifier 472118 472123 - CaretEqualsToken 472123 472126 - PropertyAccessExpression 472126 472163 - Identifier 472126 472143 - Identifier 472144 472163 - VariableStatement 472183 472300 - VariableDeclarationList 472183 472299 - VariableDeclaration 472208 472299 - Identifier 472208 472219 - CallExpression 472221 472299 - Identifier 472221 472234 - CallExpression 472235 472271 - PropertyAccessExpression 472235 472259 - Identifier 472235 472242 - Identifier 472243 472259 - Identifier 472260 472270 - PropertyAccessExpression 472272 472298 - Identifier 472272 472282 - Identifier 472283 472298 - IfStatement 472300 472463 - Identifier 472322 472340 - ExpressionStatement 472341 472463 - CallExpression 472341 472462 - Identifier 472341 472368 - Identifier 472369 472379 - CallExpression 472380 472461 - PropertyAccessExpression 472380 472404 - Identifier 472380 472388 - Identifier 472389 472404 - UnionType 472405 472440 - TypeReference 472405 472413 - Identifier 472405 472413 - TypeReference 472415 472440 - Identifier 472415 472440 - Identifier 472442 472460 - ExpressionStatement 472463 472508 - BinaryExpression 472463 472507 - PropertyAccessExpression 472463 472498 - Identifier 472463 472491 - Identifier 472492 472498 - EqualsToken 472498 472500 - Identifier 472500 472507 - ReturnStatement 472508 472651 - ConditionalExpression 472534 472650 - BinaryExpression 472534 472544 - Identifier 472534 472540 - GreaterThanToken 472540 472542 - NumericLiteral 472542 472544 - QuestionToken 472544 472546 - CallExpression 472546 472637 - PropertyAccessExpression 472546 472574 - Identifier 472546 472554 - Identifier 472555 472574 - CallExpression 472575 472624 - Identifier 472575 472606 - Identifier 472607 472612 - BinaryExpression 472613 472623 - Identifier 472613 472619 - MinusToken 472619 472621 - NumericLiteral 472621 472623 - Identifier 472625 472636 - ColonToken 472637 472639 - Identifier 472639 472650 - FunctionDeclaration 472677 475866 - Identifier 472697 472716 - Parameter 472717 472731 - Identifier 472717 472723 - TypeReference 472724 472731 - Identifier 472724 472731 - Parameter 472732 472760 - Identifier 472732 472740 - TypeReference 472741 472760 - Identifier 472741 472760 - Parameter 472761 472782 - Identifier 472761 472769 - TypeReference 472770 472782 - Identifier 472770 472782 - Block 472783 475866 - VariableStatement 472785 472857 - VariableDeclarationList 472785 472856 - VariableDeclaration 472804 472856 - Identifier 472804 472810 - CallExpression 472812 472856 - Identifier 472812 472830 - Identifier 472831 472837 - Identifier 472838 472846 - Identifier 472847 472855 - ReturnStatement 472857 472937 - CallExpression 472879 472936 - Identifier 472879 472911 - Identifier 472912 472917 - BinaryExpression 472918 472935 - PropertyAccessExpression 472918 472931 - Identifier 472918 472924 - Identifier 472925 472931 - MinusToken 472931 472933 - NumericLiteral 472933 472935 - FunctionDeclaration 472937 475855 - Identifier 472961 472993 - Parameter 472994 473009 - Identifier 472994 472999 - ArrayType 473000 473009 - TypeReference 473000 473007 - Identifier 473000 473007 - Parameter 473010 473024 - Identifier 473010 473016 - NumberKeyword 473017 473024 - TypeReference 473026 473037 - Identifier 473026 473037 - Block 473037 475855 - VariableStatement 473039 473132 - VariableDeclarationList 473039 473131 - VariableDeclaration 473062 473131 - Identifier 473062 473081 - CallExpression 473083 473131 - Identifier 473083 473108 - Identifier 473109 473114 - Identifier 473115 473121 - Identifier 473122 473130 - VariableStatement 473132 473178 - VariableDeclarationList 473132 473177 - VariableDeclaration 473155 473177 - Identifier 473155 473162 - ElementAccessExpression 473164 473177 - Identifier 473164 473170 - Identifier 473171 473176 - IfStatement 473178 473311 - BinaryExpression 473202 473213 - Identifier 473202 473207 - EqualsEqualsEqualsToken 473207 473211 - NumericLiteral 473211 473213 - Block 473214 473311 - ExpressionStatement 473216 473292 - BinaryExpression 473216 473291 - PropertyAccessExpression 473216 473251 - Identifier 473216 473245 - Identifier 473246 473251 - BarEqualsToken 473251 473254 - PropertyAccessExpression 473254 473291 - Identifier 473254 473271 - Identifier 473272 473291 - VariableStatement 473311 473388 - VariableDeclarationList 473311 473387 - VariableDeclaration 473332 473387 - Identifier 473332 473343 - CallExpression 473345 473387 - Identifier 473345 473370 - Identifier 473371 473377 - Identifier 473378 473386 - IfStatement 473388 473519 - BinaryExpression 473410 473421 - Identifier 473410 473415 - EqualsEqualsEqualsToken 473415 473419 - NumericLiteral 473419 473421 - Block 473422 473519 - ExpressionStatement 473424 473500 - BinaryExpression 473424 473499 - PropertyAccessExpression 473424 473459 - Identifier 473424 473453 - Identifier 473454 473459 - CaretEqualsToken 473459 473462 - PropertyAccessExpression 473462 473499 - Identifier 473462 473479 - Identifier 473480 473499 - VariableStatement 473519 473578 - VariableDeclarationList 473519 473577 - VariableDeclaration 473540 473577 - Identifier 473540 473550 - CallExpression 473552 473577 - PropertyAccessExpression 473552 473574 - Identifier 473552 473563 - Identifier 473564 473574 - NumericLiteral 473575 473576 - IfStatement 473578 473834 - BinaryExpression 473602 473709 - CallExpression 473602 473634 - Identifier 473602 473623 - Identifier 473624 473633 - AmpersandAmpersandToken 473634 473637 - CallExpression 473637 473709 - Identifier 473637 473642 - PropertyAccessExpression 473643 473662 - Identifier 473643 473649 - Identifier 473650 473662 - Identifier 473663 473708 - Block 473710 473834 - ReturnStatement 473712 473815 - CallExpression 473740 473814 - PropertyAccessExpression 473740 473768 - Identifier 473740 473748 - Identifier 473749 473768 - CallExpression 473769 473813 - Identifier 473769 473796 - Identifier 473797 473803 - Identifier 473804 473812 - IfStatement 473834 475840 - BinaryExpression 473856 473920 - BinaryExpression 473856 473867 - Identifier 473856 473861 - EqualsEqualsEqualsToken 473861 473865 - NumericLiteral 473865 473867 - BarBarToken 473867 473870 - CallExpression 473870 473920 - Identifier 473870 473891 - Identifier 473892 473902 - Identifier 473903 473919 - Block 473921 474435 - VariableStatement 473923 474042 - VariableDeclarationList 473923 474041 - VariableDeclaration 473950 474041 - Identifier 473950 473961 - CallExpression 473963 474041 - Identifier 473963 473976 - CallExpression 473977 474013 - PropertyAccessExpression 473977 474001 - Identifier 473977 473984 - Identifier 473985 474001 - Identifier 474002 474012 - PropertyAccessExpression 474014 474040 - Identifier 474014 474024 - Identifier 474025 474040 - IfStatement 474042 474209 - Identifier 474068 474086 - ExpressionStatement 474087 474209 - CallExpression 474087 474208 - Identifier 474087 474114 - Identifier 474115 474125 - CallExpression 474126 474207 - PropertyAccessExpression 474126 474150 - Identifier 474126 474134 - Identifier 474135 474150 - UnionType 474151 474186 - TypeReference 474151 474159 - Identifier 474151 474159 - TypeReference 474161 474186 - Identifier 474161 474186 - Identifier 474188 474206 - ExpressionStatement 474209 474258 - BinaryExpression 474209 474257 - PropertyAccessExpression 474209 474248 - Identifier 474209 474241 - Identifier 474242 474248 - EqualsToken 474248 474250 - Identifier 474250 474257 - ReturnStatement 474258 474416 - ConditionalExpression 474288 474415 - BinaryExpression 474288 474298 - Identifier 474288 474294 - GreaterThanToken 474294 474296 - NumericLiteral 474296 474298 - QuestionToken 474298 474300 - CallExpression 474300 474402 - PropertyAccessExpression 474300 474339 - Identifier 474300 474308 - Identifier 474309 474339 - CallExpression 474340 474389 - Identifier 474340 474371 - Identifier 474372 474377 - BinaryExpression 474378 474388 - Identifier 474378 474384 - MinusToken 474384 474386 - NumericLiteral 474386 474388 - Identifier 474390 474401 - ColonToken 474402 474404 - Identifier 474404 474415 - Block 474457 475840 - IfStatement 474459 474700 - BinaryExpression 474485 474525 - Identifier 474485 474494 - EqualsEqualsEqualsToken 474494 474498 - PropertyAccessExpression 474498 474525 - Identifier 474498 474513 - Identifier 474514 474525 - Block 474526 474700 - ExpressionStatement 474528 474614 - BinaryExpression 474528 474613 - Identifier 474528 474564 - EqualsToken 474564 474566 - CallExpression 474566 474613 - PropertyAccessExpression 474566 474587 - Identifier 474566 474577 - Identifier 474578 474587 - NumericLiteral 474588 474589 - BinaryExpression 474590 474612 - PropertyAccessExpression 474590 474608 - Identifier 474590 474601 - Identifier 474602 474608 - MinusToken 474608 474610 - NumericLiteral 474610 474612 - ExpressionStatement 474614 474677 - BinaryExpression 474614 474676 - Identifier 474614 474649 - EqualsToken 474649 474651 - CallExpression 474651 474676 - PropertyAccessExpression 474651 474673 - Identifier 474651 474662 - Identifier 474663 474673 - NumericLiteral 474674 474675 - VariableStatement 474700 474761 - VariableDeclarationList 474700 474760 - VariableDeclaration 474725 474760 - Identifier 474725 474736 - UnionType 474737 474760 - TypeReference 474737 474748 - Identifier 474737 474748 - UndefinedKeyword 474750 474760 - IfStatement 474761 475231 - BinaryExpression 474787 474863 - CallExpression 474787 474819 - Identifier 474787 474808 - Identifier 474809 474818 - AmpersandAmpersandToken 474819 474822 - PrefixUnaryExpression 474822 474863 - ParenthesizedExpression 474824 474863 - BinaryExpression 474825 474862 - PropertyAccessExpression 474825 474837 - Identifier 474825 474831 - Identifier 474832 474837 - AmpersandToken 474837 474839 - PropertyAccessExpression 474839 474862 - Identifier 474839 474851 - Identifier 474852 474862 - Block 474864 475060 - ExpressionStatement 474866 475037 - BinaryExpression 474866 475036 - Identifier 474866 474902 - EqualsToken 474902 474904 - CallExpression 474904 475036 - PropertyAccessExpression 474904 474932 - Identifier 474904 474912 - Identifier 474913 474932 - CallExpression 474933 474993 - PropertyAccessExpression 474933 474964 - CallExpression 474933 474956 - Identifier 474933 474944 - Identifier 474945 474955 - Identifier 474957 474964 - RegularExpressionLiteral 474965 474971 - ArrowFunction 474972 474992 - Parameter 474972 474974 - Identifier 474972 474974 - EqualsGreaterThanToken 474974 474977 - CallExpression 474977 474992 - PropertyAccessExpression 474977 474989 - Identifier 474977 474979 - Identifier 474980 474989 - NumericLiteral 474990 474991 - BinaryExpression 474994 475035 - Identifier 474994 475004 - EqualsEqualsEqualsToken 475004 475008 - PropertyAccessExpression 475008 475035 - Identifier 475008 475023 - Identifier 475024 475035 - IfStatement 475086 475231 - BinaryExpression 475091 475124 - ParenthesizedExpression 475091 475109 - BinaryExpression 475092 475108 - StringLiteral 475092 475094 - PlusToken 475094 475096 - PrefixUnaryExpression 475096 475108 - Identifier 475098 475108 - EqualsEqualsEqualsToken 475109 475113 - Identifier 475113 475124 - Block 475125 475231 - ExpressionStatement 475127 475208 - BinaryExpression 475127 475207 - Identifier 475127 475163 - EqualsToken 475163 475165 - CallExpression 475165 475207 - PropertyAccessExpression 475165 475194 - Identifier 475165 475173 - Identifier 475174 475194 - PrefixUnaryExpression 475195 475206 - Identifier 475196 475206 - IfStatement 475231 475691 - PrefixUnaryExpression 475257 475268 - Identifier 475258 475268 - Block 475269 475691 - VariableStatement 475271 475394 - VariableDeclarationList 475271 475393 - VariableDeclaration 475302 475393 - Identifier 475302 475313 - CallExpression 475315 475393 - Identifier 475315 475328 - CallExpression 475329 475365 - PropertyAccessExpression 475329 475353 - Identifier 475329 475336 - Identifier 475337 475353 - Identifier 475354 475364 - PropertyAccessExpression 475366 475392 - Identifier 475366 475376 - Identifier 475377 475392 - IfStatement 475394 475565 - Identifier 475424 475442 - ExpressionStatement 475443 475565 - CallExpression 475443 475564 - Identifier 475443 475470 - Identifier 475471 475481 - CallExpression 475482 475563 - PropertyAccessExpression 475482 475506 - Identifier 475482 475490 - Identifier 475491 475506 - UnionType 475507 475542 - TypeReference 475507 475515 - Identifier 475507 475515 - TypeReference 475517 475542 - Identifier 475517 475542 - Identifier 475544 475562 - ExpressionStatement 475565 475618 - BinaryExpression 475565 475617 - PropertyAccessExpression 475565 475608 - Identifier 475565 475601 - Identifier 475602 475608 - EqualsToken 475608 475610 - Identifier 475610 475617 - ExpressionStatement 475618 475668 - BinaryExpression 475618 475667 - Identifier 475618 475654 - EqualsToken 475654 475656 - Identifier 475656 475667 - ReturnStatement 475691 475821 - CallExpression 475719 475820 - PropertyAccessExpression 475719 475757 - Identifier 475719 475727 - Identifier 475728 475757 - CallExpression 475758 475807 - Identifier 475758 475789 - Identifier 475790 475795 - BinaryExpression 475796 475806 - Identifier 475796 475802 - MinusToken 475802 475804 - NumericLiteral 475804 475806 - Identifier 475808 475819 - FunctionDeclaration 475866 476488 - Identifier 475886 475900 - Parameter 475901 475915 - Identifier 475901 475902 - TypeReference 475903 475915 - Identifier 475903 475915 - Block 475916 476488 - VariableStatement 475918 475969 - VariableDeclarationList 475918 475968 - VariableDeclaration 475937 475968 - Identifier 475937 475942 - CallExpression 475944 475968 - Identifier 475944 475965 - Identifier 475966 475967 - IfStatement 475969 476041 - PrefixUnaryExpression 475987 475992 - Identifier 475988 475992 - Block 475993 476041 - ReturnStatement 475995 476026 - FalseKeyword 476019 476025 - IfStatement 476041 476232 - CallExpression 476059 476087 - Identifier 476059 476081 - Identifier 476082 476086 - Block 476088 476232 - VariableStatement 476090 476154 - VariableDeclarationList 476090 476153 - VariableDeclaration 476113 476153 - Identifier 476113 476118 - CallExpression 476120 476153 - Identifier 476120 476136 - PropertyAccessExpression 476137 476152 - Identifier 476137 476141 - Identifier 476142 476152 - ReturnStatement 476154 476217 - PrefixUnaryExpression 476178 476216 - PrefixUnaryExpression 476180 476216 - ParenthesizedExpression 476181 476216 - BinaryExpression 476182 476215 - PropertyAccessExpression 476182 476192 - Identifier 476182 476186 - Identifier 476187 476192 - AmpersandToken 476192 476194 - PropertyAccessExpression 476194 476215 - Identifier 476194 476204 - Identifier 476205 476215 - IfStatement 476232 476434 - CallExpression 476250 476281 - Identifier 476250 476275 - Identifier 476276 476280 - Block 476282 476434 - VariableStatement 476284 476356 - VariableDeclarationList 476284 476355 - VariableDeclaration 476307 476355 - Identifier 476307 476312 - CallExpression 476314 476355 - Identifier 476314 476330 - PropertyAccessExpression 476331 476354 - Identifier 476331 476335 - Identifier 476336 476354 - ReturnStatement 476356 476419 - PrefixUnaryExpression 476380 476418 - PrefixUnaryExpression 476382 476418 - ParenthesizedExpression 476383 476418 - BinaryExpression 476384 476417 - PropertyAccessExpression 476384 476394 - Identifier 476384 476388 - Identifier 476389 476394 - AmpersandToken 476394 476396 - PropertyAccessExpression 476396 476417 - Identifier 476396 476406 - Identifier 476407 476417 - ReturnStatement 476434 476477 - CallExpression 476454 476476 - Identifier 476454 476470 - Identifier 476471 476475 - FunctionDeclaration 476488 476784 - Identifier 476508 476534 - Parameter 476535 476549 - Identifier 476535 476536 - TypeReference 476537 476549 - Identifier 476537 476549 - Block 476550 476784 - VariableStatement 476552 476603 - VariableDeclarationList 476552 476602 - VariableDeclaration 476571 476602 - Identifier 476571 476576 - CallExpression 476578 476602 - Identifier 476578 476599 - Identifier 476600 476601 - ReturnStatement 476603 476773 - PrefixUnaryExpression 476623 476772 - PrefixUnaryExpression 476625 476772 - ParenthesizedExpression 476626 476772 - BinaryExpression 476627 476771 - BinaryExpression 476627 476656 - Identifier 476627 476631 - AmpersandAmpersandToken 476631 476634 - CallExpression 476634 476656 - Identifier 476634 476650 - Identifier 476651 476655 - AmpersandAmpersandToken 476656 476659 - ParenthesizedExpression 476659 476771 - BinaryExpression 476661 476770 - PropertyAccessExpression 476661 476677 - Identifier 476661 476665 - Identifier 476666 476677 - BarBarToken 476677 476680 - BinaryExpression 476680 476770 - PrefixUnaryExpression 476680 476705 - CallExpression 476682 476705 - Identifier 476682 476699 - Identifier 476700 476704 - AmpersandAmpersandToken 476705 476708 - CallExpression 476708 476770 - Identifier 476708 476719 - CallExpression 476720 476764 - Identifier 476720 476733 - Identifier 476734 476738 - FalseKeyword 476739 476763 - StringLiteral 476765 476769 - FunctionDeclaration 476784 477631 - Identifier 476804 476833 - Parameter 476834 476848 - Identifier 476834 476840 - TypeReference 476841 476848 - Identifier 476841 476848 - Parameter 476849 476877 - Identifier 476849 476857 - TypeReference 476858 476877 - Identifier 476858 476877 - Block 476878 477631 - VariableStatement 476880 476989 - VariableDeclarationList 476880 476988 - VariableDeclaration 476899 476988 - Identifier 476899 476911 - BinaryExpression 476913 476988 - PrefixUnaryExpression 476913 476943 - PrefixUnaryExpression 476915 476943 - CallExpression 476916 476943 - Identifier 476916 476922 - PropertyAccessExpression 476923 476942 - Identifier 476923 476929 - Identifier 476930 476942 - AmpersandAmpersandToken 476943 476946 - CallExpression 476946 476988 - Identifier 476946 476952 - PropertyAccessExpression 476953 476972 - Identifier 476953 476959 - Identifier 476960 476972 - Identifier 476973 476987 - VariableStatement 476989 477110 - VariableDeclarationList 476989 477109 - VariableDeclaration 477008 477109 - Identifier 477008 477020 - BinaryExpression 477022 477109 - PrefixUnaryExpression 477022 477052 - PrefixUnaryExpression 477024 477052 - CallExpression 477025 477052 - Identifier 477025 477031 - PropertyAccessExpression 477032 477051 - Identifier 477032 477038 - Identifier 477039 477051 - AmpersandAmpersandToken 477052 477055 - CallExpression 477055 477109 - Identifier 477055 477061 - PropertyAccessExpression 477062 477081 - Identifier 477062 477068 - Identifier 477069 477081 - Identifier 477082 477108 - VariableStatement 477110 477179 - VariableDeclarationList 477110 477178 - VariableDeclaration 477129 477178 - Identifier 477129 477138 - PrefixUnaryExpression 477140 477178 - PrefixUnaryExpression 477142 477178 - ParenthesizedExpression 477143 477178 - BinaryExpression 477144 477177 - PropertyAccessExpression 477144 477156 - Identifier 477144 477150 - Identifier 477151 477156 - AmpersandToken 477156 477158 - PropertyAccessExpression 477158 477177 - Identifier 477158 477170 - Identifier 477171 477177 - VariableStatement 477179 477308 - VariableDeclarationList 477179 477307 - VariableDeclaration 477198 477307 - Identifier 477198 477211 - CallExpression 477213 477307 - Identifier 477213 477254 - Identifier 477255 477261 - Identifier 477262 477270 - Identifier 477271 477283 - Identifier 477284 477296 - Identifier 477297 477306 - IfStatement 477308 477394 - Identifier 477326 477338 - Block 477339 477394 - ReturnStatement 477341 477379 - Identifier 477365 477378 - VariableStatement 477394 477471 - VariableDeclarationList 477394 477470 - VariableDeclaration 477413 477470 - Identifier 477413 477421 - CallExpression 477423 477470 - Identifier 477423 477450 - PropertyAccessExpression 477451 477469 - Identifier 477451 477457 - Identifier 477458 477469 - ReturnStatement 477471 477620 - CallExpression 477491 477619 - Identifier 477491 477536 - Identifier 477537 477544 - CallExpression 477545 477582 - Identifier 477545 477565 - Identifier 477566 477581 - Identifier 477583 477595 - Identifier 477596 477608 - Identifier 477609 477618 - FunctionDeclaration 477631 479083 - Identifier 477721 477762 - Parameter 477763 477777 - Identifier 477763 477769 - TypeReference 477770 477777 - Identifier 477770 477777 - Parameter 477778 477806 - Identifier 477778 477786 - TypeReference 477787 477806 - Identifier 477787 477806 - Parameter 477807 477828 - Identifier 477807 477819 - BooleanKeyword 477820 477828 - Parameter 477829 477850 - Identifier 477829 477841 - BooleanKeyword 477842 477850 - Parameter 477851 477869 - Identifier 477851 477860 - BooleanKeyword 477861 477869 - Block 477870 479083 - VariableStatement 477872 477935 - VariableDeclarationList 477872 477934 - VariableDeclaration 477891 477934 - Identifier 477891 477900 - PropertyAccessExpression 477902 477934 - CallExpression 477902 477925 - Identifier 477902 477917 - Identifier 477918 477924 - Identifier 477926 477934 - IfStatement 477935 479072 - Identifier 477953 477961 - Block 477962 479072 - IfStatement 477964 478819 - BinaryExpression 477986 478034 - PropertyAccessExpression 477986 478000 - Identifier 477986 477994 - Identifier 477995 478000 - AmpersandToken 478000 478002 - PropertyAccessExpression 478002 478034 - Identifier 478002 478012 - Identifier 478013 478034 - Block 478035 478819 - VariableStatement 478037 478135 - VariableDeclarationList 478037 478134 - VariableDeclaration 478064 478134 - Identifier 478064 478069 - BinaryExpression 478071 478134 - StringLiteral 478071 478074 - PlusToken 478074 478076 - PropertyAccessExpression 478076 478134 - ParenthesizedExpression 478076 478128 - AsExpression 478078 478127 - Identifier 478078 478086 - UnionType 478089 478127 - TypeReference 478089 478107 - Identifier 478089 478107 - TypeReference 478109 478127 - Identifier 478109 478127 - Identifier 478129 478134 - IfStatement 478135 478378 - BinaryExpression 478161 478270 - PrefixUnaryExpression 478161 478222 - CallExpression 478162 478222 - Identifier 478162 478178 - Identifier 478179 478183 - CallExpression 478184 478221 - Identifier 478184 478204 - Identifier 478205 478220 - AmpersandAmpersandToken 478222 478225 - ParenthesizedExpression 478225 478270 - BinaryExpression 478227 478269 - Identifier 478227 478238 - BarBarToken 478238 478241 - PrefixUnaryExpression 478241 478269 - CallExpression 478243 478269 - Identifier 478243 478263 - Identifier 478264 478268 - Block 478271 478378 - ReturnStatement 478273 478355 - CallExpression 478305 478354 - PropertyAccessExpression 478305 478333 - Identifier 478305 478313 - Identifier 478314 478333 - Identifier 478334 478338 - PrefixUnaryExpression 478339 478353 - PrefixUnaryExpression 478341 478353 - Identifier 478342 478353 - IfStatement 478378 478646 - BinaryExpression 478404 478455 - CallExpression 478404 478430 - Identifier 478404 478424 - Identifier 478425 478429 - AmpersandAmpersandToken 478430 478433 - CallExpression 478433 478455 - Identifier 478433 478444 - Identifier 478445 478449 - StringLiteral 478450 478454 - Block 478456 478646 - ReturnStatement 478458 478623 - CallExpression 478490 478622 - PropertyAccessExpression 478490 478525 - Identifier 478490 478498 - Identifier 478499 478525 - CallExpression 478526 478621 - PropertyAccessExpression 478526 478561 - Identifier 478526 478533 - Identifier 478534 478561 - PropertyAccessExpression 478562 478583 - Identifier 478562 478572 - Identifier 478573 478583 - CallExpression 478584 478620 - PropertyAccessExpression 478584 478613 - Identifier 478584 478592 - Identifier 478593 478613 - PrefixUnaryExpression 478614 478619 - Identifier 478615 478619 - ReturnStatement 478646 478800 - CallExpression 478674 478799 - Identifier 478674 478719 - Identifier 478720 478724 - CallExpression 478725 478762 - Identifier 478725 478745 - Identifier 478746 478761 - Identifier 478763 478775 - Identifier 478776 478788 - Identifier 478789 478798 - IfStatement 478819 479057 - BinaryExpression 478841 478882 - PropertyAccessExpression 478841 478855 - Identifier 478841 478849 - Identifier 478850 478855 - AmpersandToken 478855 478857 - PropertyAccessExpression 478857 478882 - Identifier 478857 478867 - Identifier 478868 478882 - Block 478883 479057 - ReturnStatement 478885 479038 - CallExpression 478913 479037 - PropertyAccessExpression 478913 478948 - Identifier 478913 478921 - Identifier 478922 478948 - CallExpression 478949 479036 - Identifier 478949 478967 - PropertyAccessExpression 478968 479007 - ParenthesizedExpression 478968 479000 - AsExpression 478969 478999 - Identifier 478969 478977 - TypeReference 478980 478999 - Identifier 478980 478999 - Identifier 479001 479007 - Identifier 479008 479016 - PropertyAccessExpression 479017 479035 - Identifier 479017 479029 - Identifier 479030 479035 - FunctionDeclaration 479083 481301 - Identifier 479103 479127 - Parameter 479128 479155 - Identifier 479128 479135 - TypeReference 479136 479155 - Identifier 479136 479155 - Block 479156 481301 - VariableStatement 479158 480126 - VariableDeclarationList 479158 480125 - VariableDeclaration 480044 480125 - Identifier 480044 480081 - PropertyAccessExpression 480083 480125 - Identifier 480083 480091 - Identifier 480092 480125 - VariableStatement 480126 480233 - VariableDeclarationList 480126 480232 - VariableDeclaration 480145 480232 - Identifier 480145 480185 - PropertyAccessExpression 480187 480232 - Identifier 480187 480195 - Identifier 480196 480232 - ExpressionStatement 480233 480296 - BinaryExpression 480233 480295 - PropertyAccessExpression 480233 480288 - Identifier 480233 480254 - Identifier 480255 480288 - EqualsToken 480288 480290 - TrueKeyword 480290 480295 - ExpressionStatement 480296 480362 - BinaryExpression 480296 480361 - PropertyAccessExpression 480296 480354 - Identifier 480296 480317 - Identifier 480318 480354 - EqualsToken 480354 480356 - TrueKeyword 480356 480361 - VariableStatement 480362 480433 - VariableDeclarationList 480362 480432 - VariableDeclaration 480381 480432 - Identifier 480381 480403 - PropertyAccessExpression 480405 480432 - Identifier 480405 480413 - Identifier 480414 480432 - VariableStatement 480433 480516 - VariableDeclarationList 480433 480515 - VariableDeclaration 480452 480515 - Identifier 480452 480480 - PropertyAccessExpression 480482 480515 - Identifier 480482 480490 - Identifier 480491 480515 - VariableStatement 480516 480625 - VariableDeclarationList 480516 480624 - VariableDeclaration 480535 480624 - Identifier 480535 480576 - PropertyAccessExpression 480578 480624 - Identifier 480578 480586 - Identifier 480587 480624 - VariableStatement 480625 480706 - VariableDeclarationList 480625 480705 - VariableDeclaration 480644 480705 - Identifier 480644 480671 - PropertyAccessExpression 480673 480705 - Identifier 480673 480681 - Identifier 480682 480705 - ReturnStatement 480706 481290 - ArrowFunction 480726 481289 - EqualsGreaterThanToken 480729 480732 - Block 480732 481289 - ExpressionStatement 480734 480803 - BinaryExpression 480734 480802 - PropertyAccessExpression 480734 480778 - Identifier 480734 480759 - Identifier 480760 480778 - EqualsToken 480778 480780 - Identifier 480780 480802 - ExpressionStatement 480803 480884 - BinaryExpression 480803 480883 - PropertyAccessExpression 480803 480853 - Identifier 480803 480828 - Identifier 480829 480853 - EqualsToken 480853 480855 - Identifier 480855 480883 - ExpressionStatement 480884 480991 - BinaryExpression 480884 480990 - PropertyAccessExpression 480884 480947 - Identifier 480884 480909 - Identifier 480910 480947 - EqualsToken 480947 480949 - Identifier 480949 480990 - ExpressionStatement 480991 481070 - BinaryExpression 480991 481069 - PropertyAccessExpression 480991 481040 - Identifier 480991 481016 - Identifier 481017 481040 - EqualsToken 481040 481042 - Identifier 481042 481069 - ExpressionStatement 481070 481169 - BinaryExpression 481070 481168 - PropertyAccessExpression 481070 481129 - Identifier 481070 481095 - Identifier 481096 481129 - EqualsToken 481129 481131 - Identifier 481131 481168 - ExpressionStatement 481169 481274 - BinaryExpression 481169 481273 - PropertyAccessExpression 481169 481231 - Identifier 481169 481194 - Identifier 481195 481231 - EqualsToken 481231 481233 - Identifier 481233 481273 - FunctionDeclaration 481301 481625 - Identifier 481321 481354 - Parameter 481355 481369 - Identifier 481355 481361 - TypeReference 481362 481369 - Identifier 481362 481369 - Parameter 481370 481410 - Identifier 481370 481391 - QuestionToken 481391 481392 - UnionType 481393 481410 - TypeReference 481393 481398 - Identifier 481393 481398 - UndefinedKeyword 481400 481410 - Block 481411 481625 - ReturnStatement 481413 481614 - BinaryExpression 481433 481613 - PropertyAccessExpression 481433 481453 - Identifier 481433 481440 - Identifier 481441 481453 - AmpersandAmpersandToken 481453 481456 - CallExpression 481456 481613 - Identifier 481456 481461 - PropertyAccessExpression 481462 481481 - Identifier 481462 481468 - Identifier 481469 481481 - ArrowFunction 481482 481612 - Parameter 481482 481484 - Identifier 481482 481484 - EqualsGreaterThanToken 481484 481487 - BinaryExpression 481487 481612 - PrefixUnaryExpression 481487 481531 - PrefixUnaryExpression 481489 481531 - CallExpression 481490 481531 - Identifier 481490 481528 - Identifier 481529 481530 - AmpersandAmpersandToken 481531 481534 - ParenthesizedExpression 481534 481612 - BinaryExpression 481536 481611 - PrefixUnaryExpression 481536 481557 - Identifier 481537 481557 - BarBarToken 481557 481560 - PrefixUnaryExpression 481560 481611 - PrefixUnaryExpression 481562 481611 - CallExpression 481563 481611 - Identifier 481563 481575 - Identifier 481576 481577 - ArrowFunction 481578 481610 - Parameter 481578 481580 - Identifier 481578 481580 - EqualsGreaterThanToken 481580 481583 - BinaryExpression 481583 481610 - Identifier 481583 481585 - EqualsEqualsEqualsToken 481585 481589 - Identifier 481589 481610 - FunctionDeclaration 481625 482749 - Identifier 481645 481720 - Parameter 481721 481739 - Identifier 481721 481729 - TypeReference 481730 481739 - Identifier 481730 481739 - Parameter 481740 481751 - Identifier 481740 481745 - TypeReference 481746 481751 - Identifier 481746 481751 - Block 481752 482749 - IfStatement 481754 481993 - PrefixUnaryExpression 481932 481979 - ParenthesizedExpression 481933 481979 - BinaryExpression 481934 481978 - CallExpression 481934 481954 - Identifier 481934 481948 - Identifier 481949 481953 - AmpersandToken 481954 481956 - PropertyAccessExpression 481956 481978 - Identifier 481956 481968 - Identifier 481969 481978 - ReturnStatement 481980 481993 - TrueKeyword 481987 481992 - IfStatement 481993 482055 - PrefixUnaryExpression 482011 482041 - CallExpression 482012 482041 - Identifier 482012 482031 - Identifier 482032 482040 - ReturnStatement 482042 482055 - TrueKeyword 482049 482054 - ExpressionStatement 482055 482329 - VoidExpression 482055 482328 - CallExpression 482293 482328 - Identifier 482293 482318 - Identifier 482319 482327 - VariableStatement 482329 482433 - VariableDeclarationList 482329 482432 - VariableDeclaration 482385 482432 - Identifier 482385 482392 - PropertyAccessExpression 482394 482432 - CallExpression 482394 482417 - Identifier 482394 482407 - Identifier 482408 482416 - Identifier 482418 482432 - VariableStatement 482433 482512 - VariableDeclarationList 482433 482511 - VariableDeclaration 482452 482511 - Identifier 482452 482467 - BinaryExpression 482469 482511 - Identifier 482469 482476 - AmpersandAmpersandToken 482476 482479 - CallExpression 482479 482511 - Identifier 482479 482503 - Identifier 482504 482510 - IfStatement 482512 482612 - BinaryExpression 482530 482598 - PrefixUnaryExpression 482530 482545 - Identifier 482531 482545 - BarBarToken 482545 482548 - BinaryExpression 482548 482598 - Identifier 482548 482563 - ExclamationEqualsEqualsToken 482563 482567 - PropertyAccessExpression 482567 482598 - ParenthesizedExpression 482567 482591 - AsExpression 482569 482590 - Identifier 482569 482573 - TypeReference 482576 482590 - Identifier 482576 482590 - Identifier 482592 482598 - ReturnStatement 482599 482612 - TrueKeyword 482606 482611 - ReturnStatement 482612 482738 - BinaryExpression 482632 482737 - CallExpression 482632 482663 - Identifier 482632 482639 - PropertyAccessExpression 482640 482662 - Identifier 482640 482648 - Identifier 482649 482662 - GreaterThanEqualsToken 482663 482666 - CallExpression 482666 482737 - Identifier 482666 482690 - PropertyAccessExpression 482691 482736 - PropertyAccessExpression 482691 482721 - ParenthesizedExpression 482691 482714 - AsExpression 482692 482713 - Identifier 482692 482696 - TypeReference 482699 482713 - Identifier 482699 482713 - Identifier 482715 482721 - Identifier 482722 482736 - FunctionDeclaration 482749 483068 - Identifier 482769 482810 - Parameter 482811 482837 - Identifier 482811 482831 - TypeReference 482832 482837 - Identifier 482832 482837 - Block 482838 483068 - WhileStatement 482840 483015 - PropertyAccessExpression 482861 482928 - CallExpression 482861 482895 - Identifier 482861 482873 - Identifier 482874 482894 - Identifier 482896 482928 - Block 482929 483015 - ExpressionStatement 482931 483000 - BinaryExpression 482931 482999 - Identifier 482931 482969 - EqualsToken 482969 482971 - PropertyAccessExpression 482971 482999 - Identifier 482971 482992 - Identifier 482993 482999 - ReturnStatement 483015 483057 - Identifier 483035 483056 - FunctionDeclaration 483068 483976 - Identifier 483432 483468 - Parameter 483469 483483 - Identifier 483469 483475 - TypeReference 483476 483483 - Identifier 483476 483483 - Parameter 483484 483512 - Identifier 483484 483492 - TypeReference 483493 483512 - Identifier 483493 483512 - Parameter 483513 483524 - Identifier 483513 483518 - TypeReference 483519 483524 - Identifier 483519 483524 - Block 483525 483976 - IfStatement 483527 483870 - BinaryExpression 483545 483762 - BinaryExpression 483545 483643 - BinaryExpression 483545 483600 - PropertyAccessExpression 483545 483573 - Identifier 483545 483567 - Identifier 483568 483573 - AmpersandToken 483573 483575 - PropertyAccessExpression 483575 483600 - Identifier 483575 483585 - Identifier 483586 483600 - AmpersandAmpersandToken 483600 483603 - BinaryExpression 483603 483643 - PropertyAccessExpression 483603 483632 - Identifier 483603 483625 - Identifier 483626 483632 - EqualsEqualsEqualsToken 483632 483636 - Identifier 483636 483643 - AmpersandAmpersandToken 483643 483646 - ParenthesizedExpression 483646 483762 - BinaryExpression 483648 483761 - PrefixUnaryExpression 483648 483677 - PropertyAccessExpression 483649 483677 - Identifier 483649 483656 - Identifier 483657 483677 - BarBarToken 483677 483680 - CallExpression 483680 483761 - Identifier 483680 483685 - PropertyAccessExpression 483686 483705 - Identifier 483686 483692 - Identifier 483693 483705 - ArrowFunction 483706 483760 - Parameter 483706 483708 - Identifier 483706 483708 - EqualsGreaterThanToken 483708 483711 - BinaryExpression 483711 483760 - CallExpression 483711 483734 - Identifier 483711 483731 - Identifier 483732 483733 - EqualsEqualsEqualsToken 483734 483738 - PropertyAccessExpression 483738 483760 - Identifier 483738 483746 - Identifier 483747 483760 - Block 483777 483870 - ExpressionStatement 483779 483855 - BinaryExpression 483779 483854 - PropertyAccessExpression 483779 483810 - Identifier 483779 483804 - Identifier 483805 483810 - BarEqualsToken 483810 483813 - PropertyAccessExpression 483813 483854 - Identifier 483813 483830 - Identifier 483831 483854 - VariableStatement 483870 483937 - VariableDeclarationList 483870 483936 - VariableDeclaration 483891 483936 - Identifier 483891 483898 - CallExpression 483900 483936 - Identifier 483900 483921 - Identifier 483922 483926 - Identifier 483927 483935 - ReturnStatement 483937 483965 - Identifier 483957 483964 - FunctionDeclaration 483976 486315 - Identifier 484826 484854 - Parameter 484855 484882 - Identifier 484855 484862 - TypeReference 484863 484882 - Identifier 484863 484882 - Parameter 484883 484920 - Identifier 484883 484895 - UnionType 484896 484920 - TypeReference 484896 484908 - Identifier 484896 484908 - UndefinedKeyword 484910 484920 - Parameter 484921 484932 - Identifier 484921 484926 - TypeReference 484927 484932 - Identifier 484927 484932 - Parameter 484933 484948 - Identifier 484933 484940 - TypeReference 484941 484948 - Identifier 484941 484948 - Block 484949 486315 - VariableStatement 484951 484976 - VariableDeclarationList 484951 484975 - VariableDeclaration 484968 484975 - Identifier 484968 484975 - VariableStatement 484976 485179 - VariableDeclarationList 484976 485178 - VariableDeclaration 484995 485178 - Identifier 484995 485020 - BinaryExpression 485022 485178 - BinaryExpression 485022 485100 - Identifier 485022 485034 - AmpersandAmpersandToken 485034 485037 - ParenthesizedExpression 485037 485100 - BinaryExpression 485039 485099 - CallExpression 485039 485063 - Identifier 485039 485050 - Identifier 485051 485062 - BarBarToken 485063 485066 - CallExpression 485066 485099 - Identifier 485066 485086 - Identifier 485087 485098 - AmpersandAmpersandToken 485100 485103 - CallExpression 485103 485178 - Identifier 485103 485135 - Identifier 485136 485147 - PropertyAccessExpression 485148 485177 - Identifier 485148 485156 - Identifier 485157 485177 - VariableStatement 485179 485317 - VariableDeclarationList 485179 485316 - VariableDeclaration 485198 485316 - Identifier 485198 485203 - BinaryExpression 485205 485316 - BinaryExpression 485205 485288 - BinaryExpression 485205 485244 - Identifier 485205 485217 - QuestionQuestionToken 485217 485220 - PropertyAccessExpression 485220 485244 - Identifier 485220 485227 - Identifier 485228 485244 - QuestionQuestionToken 485244 485247 - CallExpression 485247 485288 - Identifier 485247 485280 - Identifier 485281 485287 - QuestionQuestionToken 485288 485291 - ElementAccessExpression 485291 485316 - PropertyAccessExpression 485291 485311 - Identifier 485291 485298 - Identifier 485299 485311 - QuestionDotToken 485311 485313 - NumericLiteral 485314 485315 - IfStatement 485317 485972 - Identifier 485335 485339 - Block 485340 485972 - IfStatement 485342 485957 - CallExpression 485364 485380 - Identifier 485364 485374 - Identifier 485375 485379 - Block 485381 485501 - ExpressionStatement 485383 485482 - BinaryExpression 485383 485481 - Identifier 485383 485411 - EqualsToken 485411 485413 - CallExpression 485413 485481 - PropertyAccessExpression 485413 485458 - Identifier 485413 485434 - Identifier 485435 485458 - Identifier 485459 485463 - Identifier 485464 485471 - Identifier 485472 485480 - IfStatement 485523 485957 - BinaryExpression 485528 485699 - BinaryExpression 485528 485620 - CallExpression 485528 485571 - Identifier 485528 485565 - Identifier 485566 485570 - AmpersandAmpersandToken 485571 485595 - PrefixUnaryExpression 485595 485620 - CallExpression 485597 485620 - Identifier 485597 485614 - Identifier 485615 485619 - AmpersandAmpersandToken 485620 485644 - PrefixUnaryExpression 485644 485699 - ParenthesizedExpression 485646 485699 - BinaryExpression 485647 485698 - CallExpression 485647 485667 - Identifier 485647 485661 - Identifier 485662 485666 - AmpersandToken 485667 485669 - PropertyAccessExpression 485669 485698 - Identifier 485669 485681 - Identifier 485682 485698 - Block 485718 485957 - VariableStatement 485720 485804 - VariableDeclarationList 485720 485803 - VariableDeclaration 485747 485803 - Identifier 485747 485755 - CallExpression 485757 485803 - Identifier 485757 485780 - Identifier 485781 485788 - Identifier 485789 485796 - Identifier 485797 485802 - ExpressionStatement 485804 485906 - BinaryExpression 485804 485905 - Identifier 485804 485832 - EqualsToken 485832 485834 - CallExpression 485834 485905 - PropertyAccessExpression 485834 485882 - Identifier 485834 485855 - Identifier 485856 485882 - Identifier 485883 485887 - Identifier 485888 485895 - Identifier 485896 485904 - ExpressionStatement 485906 485938 - CallExpression 485906 485937 - Identifier 485906 485935 - IfStatement 485972 486220 - PrefixUnaryExpression 485990 485997 - Identifier 485991 485997 - Block 485998 486220 - IfStatement 486000 486119 - Identifier 486022 486046 - Block 486047 486119 - ExpressionStatement 486049 486100 - BinaryExpression 486049 486099 - Identifier 486049 486075 - EqualsToken 486075 486077 - CallExpression 486077 486099 - Identifier 486077 486093 - Identifier 486094 486098 - ExpressionStatement 486119 486205 - BinaryExpression 486119 486204 - Identifier 486119 486143 - EqualsToken 486143 486145 - CallExpression 486145 486204 - Identifier 486145 486181 - Identifier 486182 486188 - Identifier 486189 486197 - Identifier 486198 486203 - ReturnStatement 486220 486304 - BinaryExpression 486240 486303 - Identifier 486240 486247 - QuestionQuestionToken 486247 486250 - CallExpression 486250 486303 - PropertyAccessExpression 486250 486280 - Identifier 486250 486258 - Identifier 486259 486280 - PropertyAccessExpression 486281 486302 - Identifier 486281 486291 - Identifier 486292 486302 - FunctionDeclaration 486315 487125 - Identifier 486335 486362 - Parameter 486363 486401 - Identifier 486363 486383 - UnionType 486384 486401 - TypeReference 486384 486389 - Identifier 486384 486389 - UndefinedKeyword 486391 486401 - Parameter 486402 486413 - Identifier 486402 486407 - TypeReference 486408 486413 - Identifier 486408 486413 - Parameter 486414 486437 - Identifier 486414 486431 - TypeReference 486432 486437 - Identifier 486432 486437 - Block 486438 487125 - IfStatement 486440 486531 - BinaryExpression 486458 486483 - Identifier 486458 486474 - EqualsEqualsEqualsToken 486474 486478 - Identifier 486478 486483 - Block 486484 486531 - ReturnStatement 486486 486516 - TrueKeyword 486510 486515 - IfStatement 486531 486619 - PrefixUnaryExpression 486549 486570 - Identifier 486550 486570 - Block 486571 486619 - ReturnStatement 486573 486604 - FalseKeyword 486597 486603 - IfStatement 486619 486875 - BinaryExpression 486637 486765 - ParenthesizedExpression 486637 486727 - BinaryExpression 486638 486726 - CallExpression 486638 486679 - Identifier 486638 486657 - Identifier 486658 486678 - BarBarToken 486679 486682 - CallExpression 486682 486726 - Identifier 486682 486704 - Identifier 486705 486725 - AmpersandAmpersandToken 486727 486730 - PropertyAccessExpression 486730 486765 - Identifier 486730 486751 - Identifier 486752 486765 - Block 486766 486875 - ReturnStatement 486768 486860 - BinaryExpression 486792 486859 - CallExpression 486792 486838 - Identifier 486792 486809 - Identifier 486810 486814 - PropertyAccessExpression 486815 486837 - Identifier 486815 486825 - Identifier 486826 486837 - EqualsEqualsEqualsToken 486838 486842 - Identifier 486842 486859 - IfStatement 486875 487087 - BinaryExpression 486893 486977 - CallExpression 486893 486926 - Identifier 486893 486904 - Identifier 486905 486925 - AmpersandAmpersandToken 486926 486929 - CallExpression 486929 486977 - Identifier 486929 486955 - Identifier 486956 486976 - Block 486978 487087 - ReturnStatement 486980 487072 - BinaryExpression 487004 487071 - CallExpression 487004 487050 - Identifier 487004 487021 - Identifier 487022 487026 - PropertyAccessExpression 487027 487049 - Identifier 487027 487037 - Identifier 487038 487049 - EqualsEqualsEqualsToken 487050 487054 - Identifier 487054 487071 - ReturnStatement 487087 487114 - FalseKeyword 487107 487113 - FunctionDeclaration 487125 488769 - Identifier 487329 487361 - Parameter 487362 487389 - Identifier 487362 487369 - TypeReference 487370 487389 - Identifier 487370 487389 - Parameter 487390 487411 - Identifier 487390 487400 - TypeReference 487401 487411 - Identifier 487401 487411 - Block 487412 488769 - VariableStatement 487414 487503 - VariableDeclarationList 487414 487502 - VariableDeclaration 487433 487502 - Identifier 487433 487445 - BinaryExpression 487447 487502 - PropertyAccessExpression 487447 487461 - Identifier 487447 487455 - Identifier 487456 487461 - AmpersandToken 487461 487463 - PropertyAccessExpression 487463 487502 - Identifier 487463 487480 - Identifier 487481 487502 - VariableStatement 487503 487564 - VariableDeclarationList 487503 487563 - VariableDeclaration 487522 487563 - Identifier 487522 487535 - CallExpression 487537 487563 - Identifier 487537 487554 - Identifier 487555 487562 - IfStatement 487564 487652 - Identifier 487582 487593 - ExpressionStatement 487594 487652 - BinaryExpression 487594 487651 - PropertyAccessExpression 487594 487608 - Identifier 487594 487602 - Identifier 487603 487608 - AmpersandEqualsToken 487608 487611 - PrefixUnaryExpression 487611 487651 - PropertyAccessExpression 487613 487651 - Identifier 487613 487629 - Identifier 487630 487651 - VariableStatement 487652 487740 - VariableDeclarationList 487652 487739 - VariableDeclaration 487702 487739 - Identifier 487702 487717 - UnionType 487718 487739 - TypeReference 487718 487727 - Identifier 487718 487727 - UndefinedKeyword 487729 487739 - VariableStatement 487740 487811 - VariableDeclarationList 487740 487810 - VariableDeclaration 487761 487810 - Identifier 487761 487772 - CallExpression 487774 487810 - Identifier 487774 487799 - Identifier 487800 487809 - IfStatement 487811 488536 - PrefixUnaryExpression 487829 487868 - ParenthesizedExpression 487830 487868 - BinaryExpression 487831 487867 - Identifier 487831 487842 - AmpersandAmpersandToken 487842 487845 - CallExpression 487845 487867 - Identifier 487845 487855 - Identifier 487856 487866 - Block 487869 488536 - IfStatement 487871 488351 - BinaryExpression 487893 487959 - PropertyAccessExpression 487893 487914 - Identifier 487893 487902 - Identifier 487903 487914 - AmpersandAmpersandToken 487914 487917 - PrefixUnaryExpression 487917 487959 - CallExpression 487919 487959 - Identifier 487919 487936 - PropertyAccessExpression 487937 487958 - Identifier 487937 487946 - Identifier 487947 487958 - Block 487960 488351 - VariableStatement 487962 488056 - VariableDeclarationList 487962 488055 - VariableDeclaration 487989 488055 - Identifier 487989 488007 - CallExpression 488009 488055 - Identifier 488009 488032 - PropertyAccessExpression 488033 488054 - Identifier 488033 488042 - Identifier 488043 488054 - VariableStatement 488056 488157 - VariableDeclarationList 488056 488156 - VariableDeclaration 488083 488156 - Identifier 488083 488091 - CallExpression 488093 488156 - Identifier 488093 488116 - Identifier 488117 488124 - Identifier 488125 488143 - Identifier 488144 488155 - ExpressionStatement 488157 488300 - BinaryExpression 488157 488299 - Identifier 488157 488193 - EqualsToken 488193 488195 - CallExpression 488195 488299 - PropertyAccessExpression 488195 488248 - Identifier 488195 488216 - Identifier 488217 488248 - PropertyAccessExpression 488249 488270 - Identifier 488249 488258 - Identifier 488259 488270 - Identifier 488271 488289 - Identifier 488290 488298 - ExpressionStatement 488300 488332 - CallExpression 488300 488331 - Identifier 488300 488329 - IfStatement 488351 488521 - PrefixUnaryExpression 488373 488388 - Identifier 488374 488388 - Block 488389 488521 - ExpressionStatement 488391 488502 - BinaryExpression 488391 488501 - Identifier 488391 488427 - EqualsToken 488427 488429 - CallExpression 488429 488501 - Identifier 488429 488469 - Identifier 488470 488477 - Identifier 488478 488488 - Identifier 488489 488500 - IfStatement 488536 488693 - BinaryExpression 488556 488587 - PrefixUnaryExpression 488556 488571 - Identifier 488557 488571 - AmpersandAmpersandToken 488571 488574 - PrefixUnaryExpression 488574 488587 - Identifier 488576 488587 - Block 488588 488693 - ExpressionStatement 488590 488678 - BinaryExpression 488590 488677 - Identifier 488590 488622 - EqualsToken 488622 488624 - CallExpression 488624 488677 - PropertyAccessExpression 488624 488654 - Identifier 488624 488632 - Identifier 488633 488654 - PropertyAccessExpression 488655 488676 - Identifier 488655 488665 - Identifier 488666 488676 - ExpressionStatement 488693 488722 - CallExpression 488693 488721 - Identifier 488693 488719 - ReturnStatement 488722 488758 - Identifier 488742 488757 - FunctionDeclaration 488769 489660 - Identifier 488909 488949 - Parameter 488950 488977 - Identifier 488950 488957 - TypeReference 488958 488977 - Identifier 488958 488977 - Parameter 488978 488999 - Identifier 488978 488988 - TypeReference 488989 488999 - Identifier 488989 488999 - Parameter 489000 489017 - Identifier 489000 489011 - TypeReference 489012 489017 - Identifier 489012 489017 - Block 489018 489660 - VariableStatement 489020 489117 - VariableDeclarationList 489020 489116 - VariableDeclaration 489039 489116 - Identifier 489039 489074 - PropertyAccessExpression 489076 489116 - Identifier 489076 489084 - Identifier 489085 489116 - ExpressionStatement 489117 489178 - BinaryExpression 489117 489177 - PropertyAccessExpression 489117 489170 - Identifier 489117 489138 - Identifier 489139 489170 - EqualsToken 489170 489172 - TrueKeyword 489172 489177 - VariableStatement 489178 489253 - VariableDeclarationList 489178 489252 - VariableDeclaration 489197 489252 - Identifier 489197 489211 - CallExpression 489213 489252 - Identifier 489213 489241 - Identifier 489242 489251 - VariableStatement 489253 489522 - VariableDeclarationList 489253 489521 - VariableDeclaration 489272 489521 - Identifier 489272 489287 - ConditionalExpression 489289 489521 - Identifier 489289 489303 - QuestionToken 489303 489305 - CallExpression 489305 489460 - Identifier 489305 489361 - ConditionalExpression 489362 489450 - PropertyAccessExpression 489362 489376 - Identifier 489362 489369 - Identifier 489370 489376 - QuestionToken 489376 489378 - CallExpression 489378 489434 - Identifier 489378 489403 - Identifier 489404 489417 - PropertyAccessExpression 489418 489433 - Identifier 489418 489426 - Identifier 489427 489433 - ColonToken 489434 489436 - Identifier 489436 489450 - Identifier 489451 489459 - ColonToken 489460 489462 - CallExpression 489462 489521 - Identifier 489462 489500 - Identifier 489501 489511 - Identifier 489512 489520 - ExpressionStatement 489522 489613 - BinaryExpression 489522 489612 - PropertyAccessExpression 489522 489575 - Identifier 489522 489543 - Identifier 489544 489575 - EqualsToken 489575 489577 - Identifier 489577 489612 - ReturnStatement 489613 489649 - Identifier 489633 489648 - FunctionDeclaration 489660 495730 - Identifier 489680 489704 - TypeParameter 489705 489747 - Identifier 489705 489706 - TypeReference 489714 489747 - Identifier 489714 489747 - Parameter 489749 489756 - Identifier 489749 489753 - TypeReference 489754 489756 - Identifier 489754 489756 - Parameter 489757 489785 - Identifier 489757 489765 - TypeReference 489766 489785 - Identifier 489766 489785 - Parameter 489786 489838 - Identifier 489786 489807 - PropertyAccessExpression 489809 489838 - Identifier 489809 489817 - Identifier 489818 489838 - Block 489839 495730 - VariableStatement 489841 489883 - VariableDeclarationList 489841 489882 - VariableDeclaration 489858 489882 - Identifier 489858 489874 - FalseKeyword 489876 489882 - VariableStatement 489883 489939 - VariableDeclarationList 489883 489938 - VariableDeclaration 489902 489938 - Identifier 489902 489911 - CallExpression 489913 489938 - Identifier 489913 489932 - Identifier 489933 489937 - IfStatement 489939 490298 - BinaryExpression 489957 490188 - CallExpression 489957 489973 - Identifier 489957 489967 - Identifier 489968 489972 - AmpersandAmpersandToken 489973 489976 - ParenthesizedExpression 489976 490188 - BinaryExpression 489978 490187 - BinaryExpression 489978 490059 - CallExpression 489978 490007 - Identifier 489978 489997 - Identifier 489998 490006 - BarBarToken 490007 490010 - CallExpression 490010 490059 - Identifier 490010 490042 - PropertyAccessExpression 490043 490058 - Identifier 490043 490051 - Identifier 490052 490058 - BarBarToken 490059 490062 - ParenthesizedExpression 490062 490187 - BinaryExpression 490064 490186 - BinaryExpression 490064 490140 - CallExpression 490064 490096 - Identifier 490064 490079 - PropertyAccessExpression 490080 490095 - Identifier 490080 490088 - Identifier 490089 490095 - AmpersandAmpersandToken 490096 490099 - CallExpression 490099 490140 - Identifier 490099 490118 - PropertyAccessExpression 490119 490139 - PropertyAccessExpression 490119 490134 - Identifier 490119 490127 - Identifier 490128 490134 - Identifier 490135 490139 - AmpersandAmpersandToken 490140 490143 - CallExpression 490143 490186 - Identifier 490143 490163 - PropertyAccessExpression 490164 490185 - PropertyAccessExpression 490164 490179 - Identifier 490164 490172 - Identifier 490173 490179 - Identifier 490180 490185 - Block 490189 490298 - ExpressionStatement 490191 490232 - BinaryExpression 490191 490231 - Identifier 490191 490224 - EqualsToken 490224 490226 - TrueKeyword 490226 490231 - ReturnStatement 490232 490283 - ObjectLiteralExpression 490256 490282 - ShorthandPropertyAssignment 490258 490274 - Identifier 490258 490274 - ShorthandPropertyAssignment 490275 490280 - Identifier 490275 490280 - VariableStatement 490298 490366 - VariableDeclarationList 490298 490365 - VariableDeclaration 490317 490365 - Identifier 490317 490325 - CallExpression 490327 490365 - Identifier 490327 490359 - Identifier 490360 490364 - VariableStatement 490366 490408 - VariableDeclarationList 490366 490407 - VariableDeclaration 490383 490407 - Identifier 490383 490387 - UnionType 490388 490407 - TypeReference 490388 490395 - Identifier 490388 490395 - UndefinedKeyword 490397 490407 - IfStatement 490408 491161 - CallExpression 490426 490452 - Identifier 490426 490442 - Identifier 490443 490451 - Block 490453 491161 - ExpressionStatement 490455 490757 - BinaryExpression 490455 490756 - Identifier 490455 490626 - EqualsToken 490626 490628 - CallExpression 490628 490756 - Identifier 490628 490651 - CallExpression 490652 490755 - Identifier 490652 490668 - Identifier 490669 490677 - FalseKeyword 490678 490710 - FalseKeyword 490711 490754 - IfStatement 490757 491050 - BinaryExpression 490779 490915 - PropertyAccessExpression 490779 490880 - CallExpression 490779 490866 - Identifier 490779 490797 - Identifier 490798 490801 - Identifier 490802 490811 - Identifier 490812 490820 - FalseKeyword 490821 490865 - Identifier 490867 490880 - ExclamationEqualsEqualsToken 490880 490884 - PropertyAccessExpression 490884 490915 - Identifier 490884 490904 - Identifier 490905 490915 - Block 490916 491050 - ExpressionStatement 490918 490963 - BinaryExpression 490918 490962 - Identifier 490918 490955 - EqualsToken 490955 490957 - TrueKeyword 490957 490962 - ExpressionStatement 490963 491031 - CallExpression 490963 491030 - PropertyAccessExpression 490963 491028 - PropertyAccessExpression 490963 491000 - Identifier 490963 490992 - Identifier 490993 491000 - Identifier 491001 491028 - ReturnStatement 491050 491146 - ObjectLiteralExpression 491074 491145 - ShorthandPropertyAssignment 491076 491092 - Identifier 491076 491092 - PropertyAssignment 491093 491143 - Identifier 491093 491098 - AsExpression 491099 491143 - CallExpression 491099 491138 - Identifier 491099 491132 - Identifier 491133 491137 - TypeReference 491141 491143 - Identifier 491141 491143 - ExpressionStatement 491161 491268 - BinaryExpression 491161 491267 - Identifier 491161 491178 - EqualsToken 491178 491180 - CallExpression 491180 491267 - Identifier 491180 491198 - Identifier 491199 491207 - Identifier 491208 491216 - TrueKeyword 491217 491239 - TrueKeyword 491240 491266 - IfStatement 491268 493342 - BinaryExpression 491286 491400 - PropertyAccessExpression 491286 491332 - Identifier 491286 491311 - Identifier 491312 491332 - AmpersandAmpersandToken 491332 491335 - PrefixUnaryExpression 491335 491400 - ParenthesizedExpression 491354 491400 - BinaryExpression 491355 491399 - Identifier 491355 491358 - AmpersandAmpersandToken 491358 491361 - BinaryExpression 491361 491399 - PropertyAccessExpression 491361 491371 - Identifier 491361 491365 - Identifier 491366 491371 - AmpersandToken 491371 491373 - PropertyAccessExpression 491373 491399 - Identifier 491373 491385 - Identifier 491386 491399 - Block 491415 493342 - ExpressionStatement 491417 491485 - BinaryExpression 491417 491484 - Identifier 491417 491438 - EqualsToken 491438 491440 - CallExpression 491440 491484 - Identifier 491440 491479 - Identifier 491480 491483 - VariableStatement 491485 492182 - VariableDeclarationList 491485 492181 - VariableDeclaration 492048 492181 - Identifier 492048 492062 - CallExpression 492064 492181 - Identifier 492064 492082 - Identifier 492083 492091 - Identifier 492092 492100 - TrueKeyword 492101 492123 - TrueKeyword 492124 492150 - PropertyAccessExpression 492151 492180 - Identifier 492151 492159 - Identifier 492160 492180 - IfStatement 492182 493327 - BinaryExpression 492204 492814 - BinaryExpression 492204 492541 - BinaryExpression 492204 492319 - Identifier 492204 492301 - EqualsEqualsEqualsToken 492301 492305 - Identifier 492305 492319 - BarBarToken 492319 492322 - ParenthesizedExpression 492322 492541 - BinaryExpression 492492 492540 - BinaryExpression 492492 492519 - Identifier 492492 492505 - EqualsEqualsEqualsToken 492505 492509 - Identifier 492509 492519 - AmpersandAmpersandToken 492519 492522 - BinaryExpression 492522 492540 - Identifier 492522 492526 - ExclamationEqualsEqualsToken 492526 492530 - Identifier 492530 492540 - BarBarToken 492541 492544 - ParenthesizedExpression 492544 492814 - BinaryExpression 492704 492813 - BinaryExpression 492704 492724 - Identifier 492704 492717 - AmpersandAmpersandToken 492717 492720 - Identifier 492720 492724 - AmpersandAmpersandToken 492724 492727 - PrefixUnaryExpression 492727 492813 - CallExpression 492729 492813 - Identifier 492729 492753 - CallExpression 492754 492807 - Identifier 492754 492792 - Identifier 492793 492806 - Identifier 492808 492812 - Block 492833 493242 - IfStatement 492835 493118 - BinaryExpression 492989 493020 - Identifier 492989 493002 - ExclamationEqualsEqualsToken 493002 493006 - Identifier 493006 493020 - Block 493021 493118 - ExpressionStatement 493023 493095 - CallExpression 493023 493094 - PropertyAccessExpression 493023 493088 - PropertyAccessExpression 493023 493064 - Identifier 493023 493056 - Identifier 493057 493064 - Identifier 493065 493088 - Identifier 493089 493093 - ExpressionStatement 493118 493163 - BinaryExpression 493118 493162 - Identifier 493118 493155 - EqualsToken 493155 493157 - TrueKeyword 493157 493162 - ReturnStatement 493163 493223 - ObjectLiteralExpression 493191 493222 - ShorthandPropertyAssignment 493193 493209 - Identifier 493193 493209 - ShorthandPropertyAssignment 493210 493215 - Identifier 493210 493215 - ShorthandPropertyAssignment 493216 493220 - Identifier 493216 493220 - Block 493264 493327 - ExpressionStatement 493266 493308 - BinaryExpression 493266 493307 - Identifier 493266 493291 - EqualsToken 493291 493293 - Identifier 493293 493307 - IfStatement 493342 494706 - Identifier 493362 493365 - Block 493366 494706 - IfStatement 493368 493926 - BinaryExpression 493522 493635 - BinaryExpression 493522 493590 - PropertyAccessExpression 493522 493553 - Identifier 493522 493547 - Identifier 493548 493553 - AmpersandToken 493553 493555 - PropertyAccessExpression 493555 493590 - Identifier 493555 493567 - Identifier 493568 493590 - AmpersandAmpersandToken 493590 493614 - PropertyAccessExpression 493614 493635 - Identifier 493614 493618 - Identifier 493619 493635 - Block 493654 493926 - IfStatement 493656 493907 - BinaryExpression 493682 493777 - CallExpression 493682 493732 - Identifier 493682 493710 - PropertyAccessExpression 493711 493731 - Identifier 493711 493714 - Identifier 493715 493731 - BarBarToken 493732 493735 - CallExpression 493735 493777 - Identifier 493735 493755 - PropertyAccessExpression 493756 493776 - Identifier 493756 493759 - Identifier 493760 493776 - Block 493778 493907 - ReturnStatement 493780 493884 - ObjectLiteralExpression 493812 493883 - ShorthandPropertyAssignment 493814 493830 - Identifier 493814 493830 - PropertyAssignment 493831 493881 - Identifier 493831 493836 - AsExpression 493837 493881 - CallExpression 493837 493876 - Identifier 493837 493870 - Identifier 493871 493875 - TypeReference 493879 493881 - Identifier 493879 493881 - IfStatement 493926 494595 - BinaryExpression 493948 494313 - BinaryExpression 493948 494140 - PrefixUnaryExpression 493948 494010 - ParenthesizedExpression 493971 494010 - BinaryExpression 493972 494009 - PropertyAccessExpression 493972 493981 - Identifier 493972 493975 - Identifier 493976 493981 - AmpersandToken 493981 493983 - PropertyAccessExpression 493983 494009 - Identifier 493983 493995 - Identifier 493996 494009 - AmpersandAmpersandToken 494010 494013 - PrefixUnaryExpression 494013 494140 - CallExpression 494117 494140 - Identifier 494117 494134 - Identifier 494135 494139 - AmpersandAmpersandToken 494140 494143 - BinaryExpression 494143 494313 - PropertyAccessExpression 494143 494278 - CallExpression 494143 494264 - Identifier 494143 494183 - Identifier 494184 494187 - Identifier 494188 494209 - Identifier 494210 494218 - FalseKeyword 494219 494263 - Identifier 494265 494278 - ExclamationEqualsEqualsToken 494278 494282 - PropertyAccessExpression 494282 494313 - Identifier 494282 494302 - Identifier 494303 494313 - Block 494332 494466 - ExpressionStatement 494334 494402 - CallExpression 494334 494401 - PropertyAccessExpression 494334 494395 - PropertyAccessExpression 494334 494371 - Identifier 494334 494363 - Identifier 494364 494371 - Identifier 494372 494395 - Identifier 494396 494400 - ExpressionStatement 494402 494447 - BinaryExpression 494402 494446 - Identifier 494402 494439 - EqualsToken 494439 494441 - TrueKeyword 494441 494446 - Block 494488 494595 - ExpressionStatement 494490 494576 - CallExpression 494490 494575 - PropertyAccessExpression 494490 494539 - PropertyAccessExpression 494490 494527 - Identifier 494490 494519 - Identifier 494520 494527 - Identifier 494528 494539 - Identifier 494540 494543 - Identifier 494544 494565 - Identifier 494566 494574 - ReturnStatement 494595 494691 - ObjectLiteralExpression 494619 494690 - ShorthandPropertyAssignment 494621 494637 - Identifier 494621 494637 - PropertyAssignment 494638 494688 - Identifier 494638 494643 - AsExpression 494644 494688 - CallExpression 494644 494683 - Identifier 494644 494677 - Identifier 494678 494682 - TypeReference 494686 494688 - Identifier 494686 494688 - ReturnStatement 494706 494755 - ObjectLiteralExpression 494728 494754 - ShorthandPropertyAssignment 494730 494746 - Identifier 494730 494746 - ShorthandPropertyAssignment 494747 494752 - Identifier 494747 494752 - FunctionDeclaration 494755 495719 - Identifier 494982 495015 - Parameter 495016 495026 - Identifier 495016 495020 - TypeReference 495021 495026 - Identifier 495021 495026 - TypeReference 495028 495033 - Identifier 495028 495033 - Block 495033 495719 - IfStatement 495035 495516 - BinaryExpression 495057 495074 - Identifier 495057 495061 - EqualsEqualsEqualsToken 495061 495065 - Identifier 495065 495074 - Block 495075 495516 - VariableStatement 495077 495142 - VariableDeclarationList 495077 495141 - VariableDeclaration 495104 495141 - Identifier 495104 495109 - CallExpression 495111 495141 - Identifier 495111 495135 - NonNullExpression 495136 495140 - Identifier 495136 495139 - VariableStatement 495142 495293 - VariableDeclarationList 495142 495292 - VariableDeclaration 495169 495292 - Identifier 495169 495174 - ConditionalExpression 495176 495292 - BinaryExpression 495176 495215 - PropertyAccessExpression 495176 495187 - NonNullExpression 495176 495181 - Identifier 495176 495180 - Identifier 495182 495187 - AmpersandToken 495187 495189 - PropertyAccessExpression 495189 495215 - Identifier 495189 495201 - Identifier 495202 495215 - QuestionToken 495215 495217 - CallExpression 495217 495252 - Identifier 495217 495237 - Identifier 495238 495242 - Identifier 495243 495251 - ColonToken 495252 495254 - CallExpression 495254 495292 - PropertyAccessExpression 495254 495272 - Identifier 495254 495262 - Identifier 495263 495272 - AsExpression 495273 495291 - Identifier 495273 495277 - TypeReference 495280 495291 - Identifier 495280 495291 - ExpressionStatement 495293 495334 - BinaryExpression 495293 495333 - PropertyAccessExpression 495293 495326 - Identifier 495293 495319 - Identifier 495320 495326 - EqualsToken 495326 495328 - NonNullExpression 495328 495333 - Identifier 495328 495332 - ReturnStatement 495334 495497 - CallExpression 495421 495496 - Identifier 495421 495434 - Identifier 495435 495442 - CallExpression 495443 495489 - Identifier 495443 495456 - Identifier 495457 495461 - PropertyAccessExpression 495462 495488 - Identifier 495462 495472 - Identifier 495473 495488 - Identifier 495490 495495 - VariableStatement 495516 495642 - VariableDeclarationList 495516 495641 - VariableDeclaration 495539 495641 - Identifier 495539 495547 - CallExpression 495549 495641 - Identifier 495549 495570 - Identifier 495571 495575 - ArrowFunction 495576 495617 - Parameter 495576 495578 - Identifier 495576 495578 - EqualsGreaterThanToken 495578 495581 - CallExpression 495581 495617 - Identifier 495581 495614 - Identifier 495615 495616 - Identifier 495618 495640 - ReturnStatement 495642 495704 - CallExpression 495666 495703 - Identifier 495666 495679 - Identifier 495680 495687 - Identifier 495688 495696 - Identifier 495697 495702 - FunctionDeclaration 495730 496477 - Identifier 495750 495768 - Parameter 495769 495796 - Identifier 495769 495776 - TypeReference 495777 495796 - Identifier 495777 495796 - Parameter 495797 495814 - Identifier 495797 495802 - TypeReference 495803 495814 - Identifier 495803 495814 - Parameter 495815 495834 - Identifier 495815 495824 - QuestionToken 495824 495825 - BooleanKeyword 495826 495834 - Parameter 495835 495871 - Identifier 495835 495849 - QuestionToken 495849 495850 - TypeOperator 495851 495871 - ArrayType 495860 495871 - TypeReference 495860 495869 - Identifier 495860 495869 - Block 495872 496477 - VariableStatement 495874 495952 - VariableDeclarationList 495874 495951 - VariableDeclaration 495893 495951 - Identifier 495893 495901 - ConditionalExpression 495903 495951 - Identifier 495903 495912 - QuestionToken 495912 495914 - PropertyAccessExpression 495914 495932 - Identifier 495914 495926 - Identifier 495927 495932 - ColonToken 495932 495934 - PropertyAccessExpression 495934 495951 - Identifier 495934 495946 - Identifier 495947 495951 - VariableStatement 495952 496037 - VariableDeclarationList 495952 496036 - VariableDeclaration 495971 496036 - Identifier 495971 495978 - CallExpression 495980 496036 - Identifier 495980 495998 - Identifier 495999 496003 - Identifier 496004 496012 - TrueKeyword 496013 496035 - IfStatement 496037 496081 - PrefixUnaryExpression 496055 496062 - Identifier 496056 496062 - ReturnStatement 496063 496081 - Identifier 496070 496080 - VariableStatement 496081 496183 - VariableDeclarationList 496081 496182 - VariableDeclaration 496100 496182 - Identifier 496100 496115 - ConditionalExpression 496117 496182 - BinaryExpression 496117 496150 - PropertyAccessExpression 496117 496130 - Identifier 496117 496124 - Identifier 496125 496130 - AmpersandToken 496130 496132 - PropertyAccessExpression 496132 496150 - Identifier 496132 496144 - Identifier 496145 496150 - QuestionToken 496150 496152 - CallExpression 496152 496173 - Identifier 496152 496165 - Identifier 496166 496172 - ColonToken 496173 496175 - Identifier 496175 496182 - IfStatement 496183 496379 - BinaryExpression 496201 496360 - PropertyAccessExpression 496201 496325 - CallExpression 496201 496311 - Identifier 496201 496219 - Identifier 496220 496226 - PropertyAccessExpression 496227 496256 - Identifier 496227 496235 - Identifier 496236 496256 - Identifier 496257 496265 - FalseKeyword 496266 496310 - Identifier 496312 496325 - ExclamationEqualsEqualsToken 496325 496329 - PropertyAccessExpression 496329 496360 - Identifier 496329 496349 - Identifier 496350 496360 - ReturnStatement 496361 496379 - Identifier 496368 496378 - ReturnStatement 496379 496466 - CallExpression 496399 496465 - Identifier 496399 496416 - Identifier 496417 496431 - Identifier 496432 496440 - Identifier 496441 496449 - Identifier 496450 496464 - FunctionDeclaration 496477 499195 - Identifier 496497 496514 - Parameter 496515 496542 - Identifier 496515 496522 - TypeReference 496523 496542 - Identifier 496523 496542 - Parameter 496543 496562 - Identifier 496543 496552 - TypeReference 496553 496562 - Identifier 496553 496562 - Block 496563 499195 - VariableStatement 496565 496655 - VariableDeclarationList 496565 496654 - VariableDeclaration 496584 496654 - Identifier 496584 496589 - CallExpression 496591 496654 - Identifier 496591 496611 - Identifier 496612 496619 - Identifier 496620 496629 - TrueKeyword 496630 496653 - IfStatement 496655 496727 - PrefixUnaryExpression 496673 496678 - Identifier 496674 496678 - Block 496679 496727 - ReturnStatement 496681 496712 - FalseKeyword 496705 496711 - IfStatement 496727 497641 - CallExpression 496745 496765 - Identifier 496745 496755 - Identifier 496756 496764 - Block 496766 497641 - IfStatement 496768 497626 - CallExpression 496790 496823 - Identifier 496790 496813 - Identifier 496814 496822 - Block 496824 497626 - ExpressionStatement 496826 496946 - VoidExpression 496826 496945 - CallExpression 496909 496945 - Identifier 496909 496935 - Identifier 496936 496944 - VariableStatement 496946 497025 - VariableDeclarationList 496946 497024 - VariableDeclaration 496973 497024 - Identifier 496973 496984 - PropertyAccessExpression 496986 497024 - CallExpression 496986 497009 - Identifier 496986 496999 - Identifier 497000 497008 - Identifier 497010 497024 - ReturnStatement 497025 497607 - ParenthesizedExpression 497053 497606 - BinaryExpression 497055 497583 - PrefixUnaryExpression 497055 497092 - Identifier 497082 497092 - BarBarToken 497092 497095 - PrefixUnaryExpression 497095 497583 - ParenthesizedExpression 497122 497583 - BinaryExpression 497123 497556 - ParenthesizedExpression 497123 497299 - BinaryExpression 497238 497298 - PrefixUnaryExpression 497238 497256 - PropertyAccessExpression 497239 497256 - Identifier 497239 497247 - Identifier 497248 497256 - AmpersandAmpersandToken 497256 497259 - PrefixUnaryExpression 497259 497298 - ParenthesizedExpression 497261 497298 - BinaryExpression 497262 497297 - PropertyAccessExpression 497262 497278 - Identifier 497262 497272 - Identifier 497273 497278 - AmpersandToken 497278 497280 - PropertyAccessExpression 497280 497297 - Identifier 497280 497292 - Identifier 497293 497297 - BarBarToken 497299 497302 - PrefixUnaryExpression 497302 497556 - ParenthesizedExpression 497432 497556 - BinaryExpression 497433 497555 - CallExpression 497433 497463 - Identifier 497433 497439 - PropertyAccessExpression 497440 497462 - Identifier 497440 497448 - Identifier 497449 497462 - GreaterThanEqualsToken 497463 497466 - CallExpression 497466 497555 - Identifier 497466 497490 - CallExpression 497491 497554 - Identifier 497491 497542 - Identifier 497543 497553 - IfStatement 497641 498684 - CallExpression 497659 497688 - Identifier 497659 497678 - Identifier 497679 497687 - Block 497689 498684 - IfStatement 497691 497758 - CallExpression 497713 497743 - Identifier 497713 497733 - Identifier 497734 497742 - ReturnStatement 497744 497758 - FalseKeyword 497751 497757 - VariableStatement 497758 497829 - VariableDeclarationList 497758 497828 - VariableDeclaration 497781 497828 - Identifier 497781 497788 - PropertyAccessExpression 497790 497828 - CallExpression 497790 497813 - Identifier 497790 497803 - Identifier 497804 497812 - Identifier 497814 497828 - IfStatement 497829 497873 - PrefixUnaryExpression 497851 497858 - Identifier 497852 497858 - ReturnStatement 497859 497873 - FalseKeyword 497866 497872 - IfStatement 497873 498143 - BinaryExpression 497895 497935 - PropertyAccessExpression 497895 497907 - Identifier 497895 497901 - Identifier 497902 497907 - AmpersandToken 497907 497909 - PropertyAccessExpression 497909 497935 - Identifier 497909 497921 - Identifier 497922 497935 - Block 497936 498143 - VariableStatement 497938 498013 - VariableDeclarationList 497938 498012 - VariableDeclaration 497965 498012 - Identifier 497965 497978 - CallExpression 497980 498012 - Identifier 497980 498004 - Identifier 498005 498011 - ReturnStatement 498013 498124 - PrefixUnaryExpression 498041 498123 - ParenthesizedExpression 498043 498123 - BinaryExpression 498044 498122 - PropertyAccessExpression 498044 498058 - Identifier 498044 498051 - Identifier 498052 498058 - AmpersandAmpersandToken 498058 498061 - BinaryExpression 498061 498122 - CallExpression 498061 498105 - Identifier 498061 498075 - Identifier 498076 498088 - PropertyAccessExpression 498089 498104 - Identifier 498089 498097 - Identifier 498098 498104 - ExclamationEqualsEqualsToken 498105 498109 - Identifier 498109 498122 - IfStatement 498143 498669 - CallExpression 498165 498184 - Identifier 498165 498174 - Identifier 498175 498183 - Block 498185 498669 - ReturnStatement 498187 498537 - BinaryExpression 498215 498536 - BinaryExpression 498215 498383 - CallExpression 498215 498306 - Identifier 498215 498290 - Identifier 498291 498299 - Identifier 498300 498305 - AmpersandAmpersandToken 498306 498334 - PrefixUnaryExpression 498334 498383 - CallExpression 498336 498383 - Identifier 498336 498373 - Identifier 498374 498382 - AmpersandAmpersandToken 498383 498500 - PrefixUnaryExpression 498500 498536 - PrefixUnaryExpression 498502 498536 - ParenthesizedExpression 498503 498536 - BinaryExpression 498504 498535 - PropertyAccessExpression 498504 498516 - Identifier 498504 498510 - Identifier 498511 498516 - AmpersandToken 498516 498518 - PropertyAccessExpression 498518 498535 - Identifier 498518 498530 - Identifier 498531 498535 - IfStatement 498684 499158 - BinaryExpression 498702 498883 - BinaryExpression 498702 498815 - CallExpression 498702 498748 - Identifier 498702 498738 - Identifier 498739 498747 - AmpersandAmpersandToken 498748 498751 - BinaryExpression 498751 498815 - PropertyAccessExpression 498751 498786 - Identifier 498751 498777 - Identifier 498778 498786 - EqualsEqualsEqualsToken 498786 498790 - PropertyAccessExpression 498790 498815 - Identifier 498790 498801 - Identifier 498802 498815 - AmpersandAmpersandToken 498815 498818 - BinaryExpression 498818 498883 - PropertyAccessExpression 498818 498854 - PropertyAccessExpression 498818 498849 - Identifier 498818 498844 - Identifier 498845 498849 - Identifier 498850 498854 - EqualsEqualsEqualsToken 498854 498858 - PropertyAccessExpression 498858 498883 - Identifier 498858 498869 - Identifier 498870 498883 - Block 498898 499158 - VariableStatement 498900 499055 - VariableDeclarationList 498900 499054 - VariableDeclaration 498923 499054 - Identifier 498923 498949 - BinaryExpression 498951 499054 - PropertyAccessExpression 498951 498980 - Identifier 498951 498959 - Identifier 498960 498980 - AmpersandAmpersandToken 498980 498983 - CallExpression 498983 499054 - Identifier 498983 499024 - PropertyAccessExpression 499025 499053 - Identifier 499025 499032 - Identifier 499033 499053 - ReturnStatement 499055 499143 - PrefixUnaryExpression 499079 499142 - PrefixUnaryExpression 499081 499142 - CallExpression 499082 499142 - Identifier 499082 499094 - Identifier 499095 499103 - ArrowFunction 499104 499141 - Parameter 499104 499106 - Identifier 499104 499106 - EqualsGreaterThanToken 499106 499109 - BinaryExpression 499109 499141 - Identifier 499109 499111 - EqualsEqualsEqualsToken 499111 499115 - Identifier 499115 499141 - ReturnStatement 499158 499184 - TrueKeyword 499178 499183 - FunctionDeclaration 499195 499933 - Identifier 499215 499241 - Parameter 499242 499269 - Identifier 499242 499249 - TypeReference 499250 499269 - Identifier 499250 499269 - Parameter 499270 499289 - Identifier 499270 499279 - TypeReference 499280 499289 - Identifier 499280 499289 - Parameter 499290 499312 - Identifier 499290 499303 - BooleanKeyword 499304 499312 - Block 499313 499933 - VariableStatement 499315 499381 - VariableDeclarationList 499315 499380 - VariableDeclaration 499334 499380 - Identifier 499334 499339 - CallExpression 499341 499380 - Identifier 499341 499361 - Identifier 499362 499369 - Identifier 499370 499379 - IfStatement 499381 499865 - BinaryExpression 499399 499561 - BinaryExpression 499399 499505 - Identifier 499399 499429 - AmpersandAmpersandToken 499429 499432 - PrefixUnaryExpression 499432 499505 - CallExpression 499451 499505 - Identifier 499451 499459 - Identifier 499460 499464 - ArrowFunction 499465 499504 - Parameter 499465 499467 - Identifier 499465 499467 - EqualsGreaterThanToken 499467 499470 - PrefixUnaryExpression 499470 499504 - PrefixUnaryExpression 499472 499504 - ParenthesizedExpression 499473 499504 - BinaryExpression 499474 499503 - PropertyAccessExpression 499474 499481 - Identifier 499474 499475 - Identifier 499476 499481 - AmpersandToken 499481 499483 - PropertyAccessExpression 499483 499503 - Identifier 499483 499493 - Identifier 499494 499503 - AmpersandAmpersandToken 499505 499508 - CallExpression 499508 499561 - Identifier 499508 499542 - Identifier 499543 499550 - Identifier 499551 499560 - Block 499576 499865 - VariableStatement 499578 499675 - VariableDeclarationList 499578 499674 - VariableDeclaration 499601 499674 - Identifier 499601 499607 - CallExpression 499609 499674 - PropertyAccessExpression 499609 499655 - Identifier 499609 499630 - Identifier 499631 499655 - Identifier 499656 499663 - Identifier 499664 499673 - IfStatement 499675 499850 - Identifier 499697 499702 - Block 499703 499850 - ReturnStatement 499705 499831 - CallExpression 499733 499830 - PropertyAccessExpression 499733 499761 - Identifier 499733 499741 - Identifier 499742 499761 - ArrayLiteralExpression 499762 499829 - Identifier 499763 499768 - CallExpression 499769 499828 - PropertyAccessExpression 499769 499799 - Identifier 499769 499777 - Identifier 499778 499799 - PropertyAccessExpression 499800 499827 - Identifier 499800 499810 - Identifier 499811 499827 - ReturnStatement 499865 499922 - CallExpression 499885 499921 - Identifier 499885 499906 - Identifier 499907 499911 - Identifier 499912 499920 - FunctionDeclaration 499933 611481 - Identifier 499953 499988 - Parameter 499989 500013 - Identifier 499989 500000 - TypeReference 500001 500013 - Identifier 500001 500013 - Parameter 500014 500042 - Identifier 500014 500022 - TypeReference 500023 500042 - Identifier 500023 500042 - ArrayType 500044 500056 - TypeReference 500044 500054 - Identifier 500044 500054 - Block 500056 611481 - VariableStatement 500058 500242 - VariableDeclarationList 500058 500241 - VariableDeclaration 500077 500241 - Identifier 500077 500109 - CallExpression 500111 500241 - Identifier 500111 500139 - TypeReference 500140 500152 - Identifier 500140 500152 - PropertyAccessExpression 500154 500187 - Identifier 500154 500161 - Identifier 500162 500187 - PropertyAccessExpression 500188 500217 - Identifier 500188 500199 - Identifier 500200 500217 - TrueKeyword 500218 500240 - VariableStatement 500242 500492 - VariableDeclarationList 500242 500491 - VariableDeclaration 500261 500491 - Identifier 500261 500303 - CallExpression 500305 500491 - Identifier 500305 500333 - TypeReference 500334 500345 - Identifier 500334 500345 - ArrowFunction 500347 500438 - Parameter 500348 500352 - Identifier 500348 500352 - Parameter 500353 500358 - Identifier 500353 500358 - Parameter 500359 500368 - Identifier 500359 500368 - Parameter 500369 500374 - Identifier 500369 500374 - EqualsGreaterThanToken 500375 500378 - CallExpression 500378 500438 - PropertyAccessExpression 500378 500410 - Identifier 500378 500386 - Identifier 500387 500410 - Identifier 500411 500415 - Identifier 500416 500421 - Identifier 500422 500431 - Identifier 500432 500437 - PropertyAccessExpression 500439 500466 - Identifier 500439 500450 - Identifier 500451 500466 - FalseKeyword 500467 500490 - VariableStatement 500492 501019 - VariableDeclarationList 500492 501018 - VariableDeclaration 500965 501018 - Identifier 500965 500986 - NonNullExpression 500988 501018 - PropertyAccessExpression 500988 501017 - Identifier 500988 500996 - Identifier 500997 501017 - VariableStatement 501019 501063 - VariableDeclarationList 501019 501062 - VariableDeclaration 501036 501062 - Identifier 501036 501044 - ArrayType 501045 501057 - TypeReference 501045 501055 - Identifier 501045 501055 - ArrayLiteralExpression 501059 501062 - VariableStatement 501063 501118 - VariableDeclarationList 501063 501117 - VariableDeclaration 501082 501117 - Identifier 501082 501097 - NewExpression 501099 501117 - Identifier 501103 501107 - NumberKeyword 501108 501114 - VariableStatement 501118 501190 - VariableDeclarationList 501118 501189 - VariableDeclaration 501137 501189 - Identifier 501137 501159 - ArrayType 501160 501184 - TypeReference 501160 501182 - Identifier 501160 501164 - TypeReference 501165 501173 - Identifier 501165 501173 - TypeReference 501174 501181 - Identifier 501174 501181 - ArrayLiteralExpression 501186 501189 - VariableStatement 501190 501231 - VariableDeclarationList 501190 501230 - VariableDeclaration 501209 501230 - Identifier 501209 501220 - Identifier 501222 501230 - ExpressionStatement 501231 501562 - BinaryExpression 501231 501561 - Identifier 501231 501252 - EqualsToken 501252 501254 - ObjectLiteralExpression 501254 501561 - SpreadAssignment 501256 501287 - Identifier 501277 501287 - PropertyAssignment 501288 501358 - Identifier 501288 501321 - NewExpression 501322 501358 - Identifier 501326 501330 - PropertyAccessExpression 501331 501357 - Identifier 501331 501341 - Identifier 501342 501357 - PropertyAssignment 501359 501407 - Identifier 501359 501396 - NewExpression 501397 501407 - Identifier 501401 501405 - PropertyAssignment 501408 501507 - Identifier 501408 501450 - NewExpression 501451 501507 - Identifier 501455 501459 - CallExpression 501460 501506 - PropertyAccessExpression 501460 501504 - PropertyAccessExpression 501460 501495 - Identifier 501460 501470 - Identifier 501471 501495 - QuestionDotToken 501495 501497 - Identifier 501497 501504 - PropertyAssignment 501508 501545 - Identifier 501508 501533 - NonNullExpression 501534 501545 - Identifier 501534 501544 - VariableStatement 501562 503281 - VariableDeclarationList 501562 503280 - VariableDeclaration 501581 503280 - Identifier 501581 501589 - TypeReference 501590 501604 - Identifier 501590 501604 - ObjectLiteralExpression 501606 503280 - SpreadAssignment 501608 501653 - PropertyAccessExpression 501629 501653 - PropertyAccessExpression 501629 501647 - Identifier 501629 501639 - Identifier 501640 501647 - Identifier 501648 501653 - PropertyAssignment 501654 503264 - Identifier 501654 501683 - ArrowFunction 501684 503264 - Parameter 501686 501689 - Identifier 501686 501689 - Parameter 501690 501695 - Identifier 501690 501695 - Parameter 501696 501704 - Identifier 501696 501704 - EqualsGreaterThanToken 501705 501708 - Block 501708 503264 - IfStatement 501710 501801 - CallExpression 501736 501786 - PropertyAccessExpression 501736 501768 - PropertyAccessExpression 501736 501763 - Identifier 501736 501743 - Identifier 501744 501763 - QuestionDotToken 501763 501765 - Identifier 501765 501768 - CallExpression 501769 501785 - Identifier 501769 501780 - Identifier 501781 501784 - ReturnStatement 501787 501801 - FalseKeyword 501794 501800 - VariableStatement 501801 502026 - VariableDeclarationList 501801 502025 - VariableDeclaration 501922 502025 - Identifier 501922 501939 - CallExpression 501941 502025 - Identifier 501941 501960 - Identifier 501961 501964 - Identifier 501965 501970 - Identifier 501971 501979 - FalseKeyword 501980 502024 - IfStatement 502026 503210 - BinaryExpression 502052 502117 - PropertyAccessExpression 502052 502082 - Identifier 502052 502068 - Identifier 502069 502082 - EqualsEqualsEqualsToken 502082 502086 - PropertyAccessExpression 502086 502117 - Identifier 502086 502106 - Identifier 502107 502117 - Block 502118 503026 - VariableStatement 502120 502319 - VariableDeclarationList 502120 502318 - VariableDeclaration 502263 502318 - Identifier 502263 502269 - CallExpression 502271 502318 - Identifier 502271 502295 - Identifier 502296 502299 - Identifier 502300 502308 - Identifier 502309 502317 - IfStatement 502319 503003 - PrefixUnaryExpression 502349 502384 - ParenthesizedExpression 502350 502384 - BinaryExpression 502351 502383 - PropertyAccessExpression 502351 502360 - Identifier 502351 502354 - Identifier 502355 502360 - AmpersandToken 502360 502362 - PropertyAccessExpression 502362 502383 - Identifier 502362 502374 - Identifier 502375 502383 - Block 502385 503003 - VariableStatement 502387 502676 - VariableDeclarationList 502387 502675 - VariableDeclaration 502659 502675 - Identifier 502659 502664 - ElementAccessExpression 502666 502675 - Identifier 502666 502672 - NumericLiteral 502673 502674 - VariableStatement 502676 502779 - VariableDeclarationList 502676 502778 - VariableDeclaration 502711 502778 - Identifier 502711 502723 - CallExpression 502725 502778 - Identifier 502725 502745 - PropertyAccessExpression 502746 502777 - Identifier 502746 502756 - Identifier 502757 502777 - IfStatement 502779 502976 - CallExpression 502813 502881 - Identifier 502813 502817 - PropertyAccessExpression 502818 502835 - Identifier 502818 502822 - Identifier 502823 502835 - ArrowFunction 502836 502880 - Parameter 502836 502838 - Identifier 502836 502838 - EqualsGreaterThanToken 502838 502841 - BinaryExpression 502841 502880 - CallExpression 502841 502864 - Identifier 502841 502861 - Identifier 502862 502863 - EqualsEqualsEqualsToken 502864 502868 - Identifier 502868 502880 - Block 502882 502976 - ExpressionStatement 502884 502945 - CallExpression 502884 502944 - Identifier 502884 502938 - Identifier 502939 502943 - IfStatement 503052 503210 - PropertyAccessExpression 503057 503094 - PropertyAccessExpression 503057 503081 - PropertyAccessExpression 503057 503075 - Identifier 503057 503067 - Identifier 503068 503075 - Identifier 503076 503081 - QuestionDotToken 503081 503083 - Identifier 503083 503094 - Block 503095 503210 - ReturnStatement 503097 503187 - CallExpression 503129 503186 - PropertyAccessExpression 503129 503166 - PropertyAccessExpression 503129 503154 - PropertyAccessExpression 503129 503148 - Identifier 503129 503140 - Identifier 503141 503148 - Identifier 503149 503154 - Identifier 503155 503166 - Identifier 503167 503170 - Identifier 503171 503176 - Identifier 503177 503185 - ReturnStatement 503210 503245 - FalseKeyword 503238 503244 - ExpressionStatement 503281 503392 - BinaryExpression 503281 503391 - PropertyAccessExpression 503281 503310 - Identifier 503281 503302 - Identifier 503303 503310 - EqualsToken 503310 503312 - NewExpression 503312 503391 - Identifier 503316 503334 - Identifier 503335 503342 - Identifier 503343 503351 - PropertyAccessExpression 503352 503390 - PropertyAccessExpression 503352 503371 - Identifier 503352 503363 - Identifier 503364 503371 - Identifier 503372 503390 - ExpressionStatement 503392 503674 - CallExpression 503392 503673 - Identifier 503392 503418 - Identifier 503419 503430 - ArrowFunction 503431 503672 - Parameter 503433 503439 - Identifier 503433 503439 - Parameter 503440 503445 - Identifier 503440 503445 - EqualsGreaterThanToken 503446 503449 - Block 503449 503672 - VariableStatement 503451 503519 - VariableDeclarationList 503451 503518 - VariableDeclaration 503474 503518 - Identifier 503474 503483 - CallExpression 503485 503518 - Identifier 503485 503512 - Identifier 503513 503517 - ExpressionStatement 503519 503582 - VoidExpression 503519 503581 - CallExpression 503541 503581 - Identifier 503541 503563 - Identifier 503564 503570 - Identifier 503571 503580 - VariableStatement 503674 503725 - VariableDeclarationList 503674 503724 - VariableDeclaration 503691 503724 - Identifier 503691 503705 - PrefixUnaryExpression 503707 503724 - PropertyAccessExpression 503709 503724 - Identifier 503709 503716 - Identifier 503717 503724 - VariableStatement 503725 503809 - VariableDeclarationList 503725 503808 - VariableDeclaration 503744 503808 - Identifier 503744 503757 - CallExpression 503759 503808 - PropertyAccessExpression 503759 503775 - Identifier 503759 503771 - Identifier 503772 503775 - PropertyAccessExpression 503776 503807 - Identifier 503776 503794 - Identifier 503795 503807 - IfStatement 503809 504222 - BinaryExpression 503827 503928 - BinaryExpression 503827 503863 - Identifier 503827 503839 - AmpersandAmpersandToken 503839 503842 - BinaryExpression 503842 503863 - PropertyAccessExpression 503842 503859 - Identifier 503842 503854 - Identifier 503855 503859 - GreaterThanToken 503859 503861 - NumericLiteral 503861 503863 - AmpersandAmpersandToken 503863 503866 - BinaryExpression 503866 503928 - PropertyAccessExpression 503866 503885 - Identifier 503866 503879 - Identifier 503880 503885 - AmpersandToken 503885 503887 - ParenthesizedExpression 503887 503928 - BinaryExpression 503889 503927 - PropertyAccessExpression 503889 503906 - Identifier 503889 503900 - Identifier 503901 503906 - BarToken 503906 503908 - PropertyAccessExpression 503908 503927 - Identifier 503908 503920 - Identifier 503921 503927 - Block 503929 504222 - ExpressionStatement 503931 503983 - BinaryExpression 503931 503982 - Identifier 503931 503960 - EqualsToken 503960 503962 - CallExpression 503962 503982 - Identifier 503962 503980 - ExpressionStatement 503983 504207 - CallExpression 503983 504206 - PropertyAccessExpression 503983 504159 - Identifier 503983 504155 - Identifier 504156 504159 - PropertyAccessExpression 504160 504191 - Identifier 504160 504178 - Identifier 504179 504191 - Identifier 504192 504205 - ExpressionStatement 504222 504268 - CallExpression 504222 504267 - Identifier 504222 504254 - Identifier 504255 504266 - ReturnStatement 504268 504323 - CallExpression 504288 504322 - Identifier 504288 504313 - Identifier 504314 504321 - FunctionDeclaration 504323 504507 - Identifier 504347 504375 - Parameter 504376 504398 - Identifier 504376 504380 - UnionType 504381 504398 - TypeReference 504381 504386 - Identifier 504381 504386 - UndefinedKeyword 504388 504398 - TypePredicate 504400 504419 - Identifier 504400 504405 - TypeReference 504408 504419 - Identifier 504408 504419 - Block 504419 504507 - ReturnStatement 504421 504492 - BinaryExpression 504445 504491 - PrefixUnaryExpression 504445 504452 - PrefixUnaryExpression 504447 504452 - Identifier 504448 504452 - AmpersandAmpersandToken 504452 504455 - BinaryExpression 504455 504491 - PropertyAccessExpression 504455 504465 - Identifier 504455 504460 - Identifier 504461 504465 - EqualsEqualsEqualsToken 504465 504469 - PropertyAccessExpression 504469 504491 - Identifier 504469 504480 - Identifier 504481 504491 - FunctionDeclaration 504507 504932 - Identifier 504531 504553 - Parameter 504554 504574 - Identifier 504554 504563 - TypeReference 504564 504574 - Identifier 504564 504574 - ArrayType 504576 504589 - TypeReference 504576 504587 - Identifier 504576 504587 - Block 504589 504932 - IfStatement 504591 504797 - CallExpression 504613 504643 - Identifier 504613 504632 - Identifier 504633 504642 - Block 504644 504797 - ReturnStatement 504646 504778 - CallExpression 504674 504777 - Identifier 504674 504681 - CallExpression 504682 504747 - Identifier 504682 504685 - PropertyAccessExpression 504686 504724 - PropertyAccessExpression 504686 504711 - Identifier 504686 504695 - Identifier 504696 504711 - Identifier 504712 504724 - Identifier 504725 504746 - Identifier 504748 504776 - ReturnStatement 504797 504917 - CallExpression 504821 504916 - Identifier 504821 504828 - ArrayLiteralExpression 504829 504886 - CallExpression 504830 504885 - Identifier 504830 504850 - AsExpression 504851 504884 - Identifier 504851 504860 - TypeReference 504863 504884 - Identifier 504863 504884 - Identifier 504887 504915 - FunctionDeclaration 504932 508557 - Identifier 504956 504987 - Parameter 504988 505011 - Identifier 504988 504998 - ArrayType 504999 505011 - TypeReference 504999 505009 - Identifier 504999 505009 - Block 505012 508557 - VariableStatement 505014 505094 - VariableDeclarationList 505014 505093 - VariableDeclaration 505037 505093 - Identifier 505037 505054 - CallExpression 505056 505093 - Identifier 505056 505061 - Identifier 505062 505072 - Identifier 505073 505092 - VariableStatement 505094 505171 - VariableDeclarationList 505094 505170 - VariableDeclaration 505117 505170 - Identifier 505117 505125 - CallExpression 505127 505170 - Identifier 505127 505137 - Identifier 505138 505148 - Identifier 505149 505169 - VariableStatement 505171 505268 - VariableDeclarationList 505171 505267 - VariableDeclaration 505192 505267 - Identifier 505192 505195 - ConditionalExpression 505197 505267 - BinaryExpression 505197 505212 - Identifier 505197 505205 - ExclamationEqualsEqualsToken 505205 505209 - PrefixUnaryExpression 505209 505212 - NumericLiteral 505211 505212 - QuestionToken 505212 505214 - AsExpression 505214 505255 - ElementAccessExpression 505214 505234 - Identifier 505214 505225 - Identifier 505226 505233 - TypeReference 505237 505255 - Identifier 505237 505255 - ColonToken 505255 505257 - Identifier 505257 505267 - IfStatement 505268 508506 - BinaryExpression 505290 505577 - BinaryExpression 505290 505551 - BinaryExpression 505290 505519 - BinaryExpression 505290 505460 - BinaryExpression 505290 505435 - BinaryExpression 505290 505369 - BinaryExpression 505290 505334 - Identifier 505290 505314 - AmpersandAmpersandToken 505314 505317 - Identifier 505317 505334 - AmpersandAmpersandToken 505334 505337 - PropertyAccessExpression 505337 505369 - Identifier 505337 505354 - Identifier 505355 505369 - AmpersandAmpersandToken 505369 505372 - CallExpression 505372 505435 - Identifier 505372 505406 - PropertyAccessExpression 505407 505434 - Identifier 505407 505423 - Identifier 505424 505434 - AmpersandAmpersandToken 505435 505438 - CallExpression 505438 505460 - Identifier 505438 505451 - PropertyAccessExpression 505452 505459 - Identifier 505452 505454 - Identifier 505455 505459 - AmpersandAmpersandToken 505460 505463 - BinaryExpression 505463 505519 - CallExpression 505463 505479 - Identifier 505463 505470 - PropertyAccessExpression 505471 505478 - Identifier 505471 505473 - Identifier 505474 505478 - EqualsEqualsEqualsToken 505479 505483 - CallExpression 505483 505519 - Identifier 505483 505490 - PropertyAccessExpression 505491 505518 - Identifier 505491 505507 - Identifier 505508 505518 - AmpersandAmpersandToken 505519 505522 - PropertyAccessExpression 505522 505551 - Identifier 505522 505546 - Identifier 505547 505551 - AmpersandAmpersandToken 505551 505554 - CallExpression 505554 505577 - Identifier 505554 505568 - PropertyAccessExpression 505569 505576 - Identifier 505569 505571 - Identifier 505572 505576 - Block 505596 508506 - VariableStatement 505598 506049 - VariableDeclarationList 505598 506048 - VariableDeclaration 505951 506048 - Identifier 505951 505965 - CallExpression 505967 506048 - Identifier 505967 505974 - Identifier 505975 505985 - ArrowFunction 505986 506047 - Parameter 505986 505988 - Identifier 505986 505988 - EqualsGreaterThanToken 505988 505991 - PrefixUnaryExpression 505991 506047 - PrefixUnaryExpression 505993 506047 - ParenthesizedExpression 505994 506047 - BinaryExpression 505995 506046 - CallExpression 505995 506023 - Identifier 505995 506020 - Identifier 506021 506022 - AmpersandToken 506023 506025 - PropertyAccessExpression 506025 506046 - Identifier 506025 506039 - Identifier 506040 506046 - VariableStatement 506049 506092 - VariableDeclarationList 506049 506091 - VariableDeclaration 506076 506091 - Identifier 506076 506081 - PropertyAccessExpression 506083 506091 - Identifier 506083 506086 - Identifier 506087 506091 - VariableStatement 506092 506133 - VariableDeclarationList 506092 506132 - VariableDeclaration 506117 506132 - Identifier 506117 506122 - PropertyAccessExpression 506124 506132 - Identifier 506124 506127 - Identifier 506128 506132 - IfStatement 506133 507343 - CallExpression 506159 506180 - Identifier 506159 506165 - Identifier 506166 506179 - Block 506181 507343 - ExpressionStatement 506183 507209 - BinaryExpression 506183 507208 - Identifier 506183 506211 - EqualsToken 506211 506213 - CallExpression 506213 507208 - PropertyAccessExpression 506213 506245 - Identifier 506213 506221 - Identifier 506222 506245 - Identifier 506246 506278 - PropertyAccessExpression 506279 506321 - Identifier 506279 506311 - Identifier 506312 506321 - PropertyAccessExpression 506322 506359 - Identifier 506322 506354 - Identifier 506355 506359 - BinaryExpression 506360 507180 - Identifier 506360 506394 - EqualsToken 506394 506396 - CallExpression 506396 507180 - PropertyAccessExpression 506396 506422 - Identifier 506396 506404 - Identifier 506405 506422 - Identifier 506423 506461 - CallExpression 506462 507148 - PropertyAccessExpression 506462 506519 - Identifier 506462 506503 - Identifier 506504 506519 - ArrayLiteralExpression 506520 507147 - SpreadElement 506521 506580 - PropertyAccessExpression 506562 506580 - PropertyAccessExpression 506562 506569 - Identifier 506562 506564 - Identifier 506565 506569 - Identifier 506570 506580 - CallExpression 506581 507111 - PropertyAccessExpression 506581 506650 - Identifier 506581 506626 - Identifier 506627 506650 - Identifier 506651 506716 - FalseKeyword 506717 506779 - CallExpression 506780 506999 - PropertyAccessExpression 506780 506848 - Identifier 506780 506829 - Identifier 506830 506848 - CallExpression 506849 506998 - Identifier 506849 506852 - CallExpression 506853 506906 - Identifier 506853 506860 - Identifier 506861 506874 - ArrowFunction 506875 506905 - Parameter 506875 506877 - Identifier 506875 506877 - EqualsGreaterThanToken 506877 506880 - CallExpression 506880 506905 - Identifier 506880 506902 - Identifier 506903 506904 - ArrowFunction 506907 506997 - Parameter 506907 506910 - Identifier 506907 506910 - EqualsGreaterThanToken 506910 506913 - CallExpression 506913 506997 - PropertyAccessExpression 506913 506943 - Identifier 506913 506921 - Identifier 506922 506943 - FalseKeyword 506944 506964 - Identifier 506965 506992 - Identifier 506993 506996 - Identifier 507000 507071 - ExpressionStatement 507209 507320 - BinaryExpression 507209 507319 - Identifier 507209 507245 - EqualsToken 507245 507247 - ArrayLiteralExpression 507247 507319 - SpreadElement 507249 507280 - CallExpression 507252 507280 - PropertyAccessExpression 507252 507268 - Identifier 507252 507262 - Identifier 507263 507268 - NumericLiteral 507269 507270 - Identifier 507271 507279 - Identifier 507281 507284 - SpreadElement 507285 507318 - CallExpression 507289 507318 - PropertyAccessExpression 507289 507305 - Identifier 507289 507299 - Identifier 507300 507305 - BinaryExpression 507306 507317 - Identifier 507306 507313 - PlusToken 507313 507315 - NumericLiteral 507315 507317 - IfStatement 507343 508487 - PrefixUnaryExpression 507532 507588 - CallExpression 507533 507588 - Identifier 507533 507537 - Identifier 507538 507548 - ArrowFunction 507549 507587 - Parameter 507549 507551 - Identifier 507549 507551 - EqualsGreaterThanToken 507551 507554 - BinaryExpression 507554 507587 - BinaryExpression 507554 507563 - Identifier 507554 507556 - ExclamationEqualsEqualsToken 507556 507560 - Identifier 507560 507563 - AmpersandAmpersandToken 507563 507566 - CallExpression 507566 507587 - Identifier 507566 507578 - Identifier 507579 507580 - Identifier 507581 507586 - Block 507589 508487 - ExpressionStatement 507591 507630 - BinaryExpression 507591 507629 - Identifier 507591 507624 - EqualsToken 507624 507626 - ArrayLiteralExpression 507626 507629 - VariableStatement 507630 508086 - VariableDeclarationList 507630 508085 - VariableDeclaration 507941 508085 - Identifier 507941 507957 - PrefixUnaryExpression 507959 508085 - CallExpression 507961 508085 - Identifier 507961 507965 - PropertyAccessExpression 507966 507981 - Identifier 507966 507970 - Identifier 507971 507981 - ArrowFunction 507982 508084 - Parameter 507982 507984 - Identifier 507982 507984 - EqualsGreaterThanToken 507984 507987 - BinaryExpression 507987 508084 - BinaryExpression 507987 508058 - CallExpression 507987 508033 - Identifier 507987 508008 - Identifier 508009 508010 - PropertyAccessExpression 508011 508032 - Identifier 508011 508025 - Identifier 508026 508032 - BarBarToken 508033 508036 - CallExpression 508036 508058 - Identifier 508036 508055 - Identifier 508056 508057 - BarBarToken 508058 508061 - CallExpression 508061 508084 - Identifier 508061 508081 - Identifier 508082 508083 - ExpressionStatement 508086 508348 - CallExpression 508086 508347 - Identifier 508086 508119 - PropertyAccessExpression 508120 508135 - Identifier 508120 508124 - Identifier 508125 508135 - ArrowFunction 508136 508346 - Parameter 508136 508138 - Identifier 508136 508138 - EqualsGreaterThanToken 508138 508141 - Block 508141 508346 - ExpressionStatement 508143 508247 - CallExpression 508143 508246 - Identifier 508143 508182 - Identifier 508183 508184 - ConditionalExpression 508185 508245 - Identifier 508185 508201 - QuestionToken 508201 508203 - PropertyAccessExpression 508203 508224 - Identifier 508203 508217 - Identifier 508218 508224 - ColonToken 508224 508226 - PropertyAccessExpression 508226 508245 - Identifier 508226 508240 - Identifier 508241 508245 - ExpressionStatement 508348 508464 - BinaryExpression 508348 508463 - Identifier 508348 508384 - EqualsToken 508384 508386 - ArrayLiteralExpression 508386 508463 - SpreadElement 508388 508450 - CallExpression 508391 508450 - Identifier 508391 508397 - Identifier 508398 508408 - ArrowFunction 508409 508449 - Parameter 508409 508411 - Identifier 508409 508411 - EqualsGreaterThanToken 508411 508414 - BinaryExpression 508414 508449 - BinaryExpression 508414 508423 - Identifier 508414 508416 - ExclamationEqualsEqualsToken 508416 508420 - Identifier 508420 508423 - AmpersandAmpersandToken 508423 508426 - BinaryExpression 508426 508449 - Identifier 508426 508428 - ExclamationEqualsEqualsToken 508428 508432 - Identifier 508432 508449 - SpreadElement 508451 508462 - Identifier 508455 508462 - ReturnStatement 508506 508542 - Identifier 508530 508541 - FunctionDeclaration 508557 511099 - Identifier 508581 508605 - Parameter 508606 508629 - Identifier 508606 508616 - ArrayType 508617 508629 - TypeReference 508617 508627 - Identifier 508617 508627 - Block 508630 511099 - VariableStatement 508632 508878 - VariableDeclarationList 508632 508877 - VariableDeclaration 508720 508877 - Identifier 508720 508728 - AsExpression 508730 508877 - CallExpression 508730 508854 - Identifier 508730 508737 - Identifier 508738 508748 - ArrowFunction 508749 508853 - Parameter 508749 508751 - Identifier 508749 508751 - EqualsGreaterThanToken 508751 508754 - BinaryExpression 508754 508853 - BinaryExpression 508754 508819 - BinaryExpression 508754 508799 - CallExpression 508754 508777 - Identifier 508754 508774 - Identifier 508775 508776 - AmpersandAmpersandToken 508777 508780 - PrefixUnaryExpression 508780 508799 - PropertyAccessExpression 508782 508799 - Identifier 508782 508783 - Identifier 508784 508799 - AmpersandAmpersandToken 508799 508802 - PrefixUnaryExpression 508802 508819 - PrefixUnaryExpression 508804 508819 - PropertyAccessExpression 508805 508819 - Identifier 508805 508806 - Identifier 508807 508819 - AmpersandAmpersandToken 508819 508822 - CallExpression 508822 508853 - Identifier 508822 508837 - PropertyAccessExpression 508838 508852 - Identifier 508838 508839 - Identifier 508840 508852 - ArrayType 508857 508877 - TypeReference 508857 508875 - Identifier 508857 508875 - IfStatement 508878 509551 - BinaryExpression 508900 508919 - CallExpression 508900 508915 - Identifier 508900 508906 - Identifier 508907 508914 - GreaterThanToken 508915 508917 - NumericLiteral 508917 508919 - Block 508920 509551 - VariableStatement 508922 509054 - VariableDeclarationList 508922 509053 - VariableDeclaration 508949 509053 - Identifier 508949 508960 - CallExpression 508962 509053 - Identifier 508962 508969 - Identifier 508970 508980 - ArrowFunction 508981 509052 - Parameter 508981 508983 - Identifier 508981 508983 - EqualsGreaterThanToken 508983 508986 - BinaryExpression 508986 509052 - BinaryExpression 508986 509033 - PrefixUnaryExpression 508986 509010 - CallExpression 508988 509010 - Identifier 508988 509007 - Identifier 509008 509009 - BarBarToken 509010 509013 - PrefixUnaryExpression 509013 509033 - PrefixUnaryExpression 509015 509033 - PropertyAccessExpression 509016 509033 - Identifier 509016 509017 - Identifier 509018 509033 - BarBarToken 509033 509036 - PrefixUnaryExpression 509036 509052 - PropertyAccessExpression 509038 509052 - Identifier 509038 509039 - Identifier 509040 509052 - ExpressionStatement 509054 509532 - BinaryExpression 509054 509531 - Identifier 509054 509086 - EqualsToken 509086 509088 - ArrayLiteralExpression 509088 509531 - SpreadElement 509090 509129 - Identifier 509119 509129 - CallExpression 509130 509507 - PropertyAccessExpression 509130 509187 - Identifier 509130 509163 - Identifier 509164 509187 - Identifier 509188 509241 - FalseKeyword 509242 509292 - CallExpression 509293 509419 - PropertyAccessExpression 509293 509349 - Identifier 509293 509330 - Identifier 509331 509349 - CallExpression 509350 509418 - Identifier 509350 509357 - Identifier 509358 509365 - ArrowFunction 509366 509417 - Parameter 509366 509368 - Identifier 509366 509368 - EqualsGreaterThanToken 509368 509371 - PropertyAccessExpression 509371 509417 - CallExpression 509371 509408 - Identifier 509371 509376 - PropertyAccessExpression 509377 509391 - Identifier 509377 509378 - Identifier 509379 509391 - Identifier 509392 509407 - Identifier 509409 509417 - Identifier 509420 509479 - VariableStatement 509551 509827 - VariableDeclarationList 509551 509826 - VariableDeclaration 509666 509826 - Identifier 509666 509676 - AsExpression 509678 509826 - CallExpression 509678 509803 - Identifier 509678 509685 - Identifier 509686 509696 - ArrowFunction 509697 509802 - Parameter 509697 509699 - Identifier 509697 509699 - EqualsGreaterThanToken 509699 509702 - BinaryExpression 509702 509802 - BinaryExpression 509702 509768 - BinaryExpression 509702 509748 - CallExpression 509702 509725 - Identifier 509702 509722 - Identifier 509723 509724 - AmpersandAmpersandToken 509725 509728 - PrefixUnaryExpression 509728 509748 - PrefixUnaryExpression 509730 509748 - PropertyAccessExpression 509731 509748 - Identifier 509731 509732 - Identifier 509733 509748 - AmpersandAmpersandToken 509748 509751 - PrefixUnaryExpression 509751 509768 - PrefixUnaryExpression 509753 509768 - PropertyAccessExpression 509754 509768 - Identifier 509754 509755 - Identifier 509756 509768 - AmpersandAmpersandToken 509768 509771 - CallExpression 509771 509802 - Identifier 509771 509786 - PropertyAccessExpression 509787 509801 - Identifier 509787 509788 - Identifier 509789 509801 - ArrayType 509806 509826 - TypeReference 509806 509824 - Identifier 509806 509824 - IfStatement 509827 511048 - BinaryExpression 509849 509870 - CallExpression 509849 509866 - Identifier 509849 509855 - Identifier 509856 509865 - GreaterThanToken 509866 509868 - NumericLiteral 509868 509870 - Block 509871 511048 - VariableStatement 509873 510015 - VariableDeclarationList 509873 510014 - VariableDeclaration 509900 510014 - Identifier 509900 509907 - CallExpression 509909 510014 - Identifier 509909 509915 - Identifier 509916 509925 - ArrowFunction 509926 510013 - Parameter 509926 509931 - Identifier 509926 509931 - EqualsGreaterThanToken 509931 509934 - ConditionalExpression 509934 510013 - CallExpression 509934 509973 - Identifier 509934 509950 - NonNullExpression 509951 509972 - PropertyAccessExpression 509951 509971 - Identifier 509951 509955 - Identifier 509956 509971 - QuestionToken 509973 509975 - BinaryExpression 509975 510007 - StringLiteral 509975 509979 - PlusToken 509979 509981 - PropertyAccessExpression 509981 510007 - PropertyAccessExpression 509981 510002 - Identifier 509981 509986 - Identifier 509987 510002 - Identifier 510003 510007 - ColonToken 510007 510009 - StringLiteral 510009 510013 - IfStatement 510015 511029 - BinaryExpression 510041 510075 - PropertyAccessExpression 510041 510054 - Identifier 510041 510047 - Identifier 510048 510054 - ExclamationEqualsEqualsToken 510054 510058 - PropertyAccessExpression 510058 510075 - Identifier 510058 510068 - Identifier 510069 510075 - Block 510076 511029 - ForOfStatement 510078 511006 - VariableDeclarationList 510109 510120 - VariableDeclaration 510114 510120 - Identifier 510114 510120 - Identifier 510123 510130 - Block 510131 511006 - IfStatement 510133 510979 - BinaryExpression 510167 510183 - PropertyAccessExpression 510167 510179 - Identifier 510167 510172 - Identifier 510173 510179 - GreaterThanToken 510179 510181 - NumericLiteral 510181 510183 - Block 510184 510979 - ExpressionStatement 510186 510948 - BinaryExpression 510186 510947 - Identifier 510186 510359 - EqualsToken 510359 510361 - ArrayLiteralExpression 510361 510947 - SpreadElement 510363 510468 - CallExpression 510404 510468 - Identifier 510404 510410 - Identifier 510411 510421 - ArrowFunction 510422 510467 - Parameter 510422 510424 - Identifier 510422 510424 - EqualsGreaterThanToken 510424 510427 - PrefixUnaryExpression 510427 510467 - CallExpression 510429 510467 - PropertyAccessExpression 510429 510443 - Identifier 510429 510434 - Identifier 510435 510443 - AsExpression 510444 510466 - Identifier 510444 510445 - TypeReference 510448 510466 - Identifier 510448 510466 - CallExpression 510469 510911 - PropertyAccessExpression 510469 510538 - Identifier 510469 510514 - Identifier 510515 510538 - Identifier 510539 510604 - FalseKeyword 510605 510667 - CallExpression 510668 510804 - PropertyAccessExpression 510668 510736 - Identifier 510668 510717 - Identifier 510718 510736 - CallExpression 510737 510803 - Identifier 510737 510744 - Identifier 510745 510750 - ArrowFunction 510751 510802 - Parameter 510751 510753 - Identifier 510751 510753 - EqualsGreaterThanToken 510753 510756 - PropertyAccessExpression 510756 510802 - CallExpression 510756 510793 - Identifier 510756 510761 - PropertyAccessExpression 510762 510776 - Identifier 510762 510763 - Identifier 510764 510776 - Identifier 510777 510792 - Identifier 510794 510802 - PropertyAccessExpression 510805 510871 - ElementAccessExpression 510805 510855 - Identifier 510805 510852 - NumericLiteral 510853 510854 - Identifier 510856 510871 - ReturnStatement 511048 511084 - Identifier 511072 511083 - FunctionDeclaration 511099 513687 - Identifier 511123 511145 - Parameter 511146 511169 - Identifier 511146 511156 - ArrayType 511157 511169 - TypeReference 511157 511167 - Identifier 511157 511167 - Block 511170 513687 - VariableStatement 511172 511436 - VariableDeclarationList 511172 511435 - VariableDeclaration 511283 511435 - Identifier 511283 511289 - CallExpression 511291 511435 - Identifier 511291 511301 - Identifier 511302 511312 - ArrowFunction 511313 511434 - Parameter 511313 511315 - Identifier 511313 511315 - EqualsGreaterThanToken 511315 511318 - BinaryExpression 511318 511434 - BinaryExpression 511318 511400 - BinaryExpression 511318 511380 - BinaryExpression 511318 511363 - CallExpression 511318 511341 - Identifier 511318 511338 - Identifier 511339 511340 - AmpersandAmpersandToken 511341 511344 - PrefixUnaryExpression 511344 511363 - PropertyAccessExpression 511346 511363 - Identifier 511346 511347 - Identifier 511348 511363 - AmpersandAmpersandToken 511363 511366 - PrefixUnaryExpression 511366 511380 - PropertyAccessExpression 511368 511380 - Identifier 511368 511369 - Identifier 511370 511380 - AmpersandAmpersandToken 511380 511383 - PrefixUnaryExpression 511383 511400 - PrefixUnaryExpression 511385 511400 - PropertyAccessExpression 511386 511400 - Identifier 511386 511387 - Identifier 511388 511400 - AmpersandAmpersandToken 511400 511403 - CallExpression 511403 511434 - Identifier 511403 511418 - PropertyAccessExpression 511419 511433 - Identifier 511419 511420 - Identifier 511421 511433 - IfStatement 511436 513636 - BinaryExpression 511458 511468 - Identifier 511458 511463 - GreaterThanEqualsToken 511463 511466 - NumericLiteral 511466 511468 - Block 511469 513636 - VariableStatement 511471 511594 - VariableDeclarationList 511471 511593 - VariableDeclaration 511498 511593 - Identifier 511498 511509 - AsExpression 511511 511593 - ElementAccessExpression 511511 511529 - Identifier 511511 511522 - Identifier 511523 511528 - IntersectionType 511532 511593 - TypeReference 511532 511550 - Identifier 511532 511550 - TypeLiteral 511552 511593 - PropertySignature 511554 511591 - ReadonlyKeyword 511554 511563 - Identifier 511563 511576 - TypeReference 511577 511590 - Identifier 511577 511590 - VariableStatement 511594 512704 - VariableDeclarationList 511594 512703 - VariableDeclaration 511621 512703 - Identifier 511621 511634 - CallExpression 511636 512703 - Identifier 511636 511647 - PropertyAccessExpression 511648 511680 - PropertyAccessExpression 511648 511671 - Identifier 511648 511658 - Identifier 511659 511671 - Identifier 511672 511680 - ArrowFunction 511681 512702 - Parameter 511681 511683 - Identifier 511681 511683 - EqualsGreaterThanToken 511683 511686 - Block 511686 512702 - IfStatement 511688 512644 - BinaryExpression 511718 511777 - PrefixUnaryExpression 511718 511733 - PropertyAccessExpression 511719 511733 - Identifier 511719 511720 - Identifier 511721 511733 - AmpersandAmpersandToken 511733 511736 - BinaryExpression 511736 511777 - PropertyAccessExpression 511736 511748 - PropertyAccessExpression 511736 511743 - Identifier 511736 511738 - Identifier 511739 511743 - Identifier 511744 511748 - ExclamationEqualsEqualsToken 511748 511752 - PropertyAccessExpression 511752 511777 - Identifier 511752 511763 - Identifier 511764 511777 - Block 511778 512644 - VariableStatement 511780 511983 - VariableDeclarationList 511780 511982 - VariableDeclaration 511968 511982 - Identifier 511968 511973 - PropertyAccessExpression 511975 511982 - Identifier 511975 511977 - Identifier 511978 511982 - VariableStatement 511983 512051 - VariableDeclarationList 511983 512050 - VariableDeclaration 512018 512050 - Identifier 512018 512026 - CallExpression 512028 512050 - Identifier 512028 512038 - Identifier 512039 512049 - VariableStatement 512051 512162 - VariableDeclarationList 512051 512161 - VariableDeclaration 512086 512161 - Identifier 512086 512104 - CallExpression 512106 512161 - Identifier 512106 512113 - Identifier 512114 512121 - ArrowFunction 512122 512160 - Parameter 512122 512124 - Identifier 512122 512124 - EqualsGreaterThanToken 512124 512127 - CallExpression 512127 512160 - Identifier 512127 512139 - ElementAccessExpression 512140 512153 - Identifier 512140 512150 - Identifier 512151 512152 - Identifier 512154 512159 - IfStatement 512162 512617 - BinaryExpression 512196 512292 - CallExpression 512196 512221 - Identifier 512196 512202 - Identifier 512203 512220 - AmpersandAmpersandToken 512221 512224 - CallExpression 512224 512292 - Identifier 512224 512230 - Identifier 512231 512248 - ArrowFunction 512249 512291 - Parameter 512249 512251 - Identifier 512249 512251 - EqualsGreaterThanToken 512251 512254 - CallExpression 512254 512291 - Identifier 512254 512276 - ElementAccessExpression 512277 512290 - Identifier 512277 512287 - Identifier 512288 512289 - Block 512293 512617 - ForOfStatement 512295 512535 - VariableDeclarationList 512334 512345 - VariableDeclaration 512339 512345 - Identifier 512339 512345 - Identifier 512348 512366 - Block 512367 512535 - ExpressionStatement 512369 512500 - BinaryExpression 512369 512499 - ElementAccessExpression 512369 512424 - Identifier 512369 512417 - Identifier 512418 512423 - EqualsToken 512424 512426 - CallExpression 512426 512499 - Identifier 512426 512444 - AsExpression 512445 512498 - ElementAccessExpression 512445 512462 - Identifier 512445 512455 - Identifier 512456 512461 - TypeReference 512465 512498 - Identifier 512465 512473 - TypeReference 512474 512486 - Identifier 512474 512486 - TypeReference 512487 512497 - Identifier 512487 512497 - ReturnStatement 512535 512586 - Identifier 512575 512585 - ReturnStatement 512644 512679 - Identifier 512676 512678 - IfStatement 512704 513617 - PrefixUnaryExpression 512730 512751 - CallExpression 512731 512751 - Identifier 512731 512737 - Identifier 512738 512750 - Block 512752 512921 - ExpressionStatement 512754 512898 - CallExpression 512754 512897 - Identifier 512754 512878 - Identifier 512879 512889 - Identifier 512890 512896 - Block 512947 513617 - ExpressionStatement 512949 513594 - BinaryExpression 512949 513593 - ElementAccessExpression 512949 513084 - Identifier 512949 513077 - Identifier 513078 513083 - EqualsToken 513084 513086 - CallExpression 513086 513593 - PropertyAccessExpression 513086 513118 - Identifier 513086 513094 - Identifier 513095 513118 - Identifier 513119 513159 - PropertyAccessExpression 513160 513210 - Identifier 513160 513200 - Identifier 513201 513210 - PropertyAccessExpression 513211 513262 - Identifier 513211 513251 - Identifier 513252 513262 - CallExpression 513263 513456 - PropertyAccessExpression 513263 513319 - Identifier 513263 513300 - Identifier 513301 513319 - PropertyAccessExpression 513320 513377 - Identifier 513320 513364 - Identifier 513365 513377 - Identifier 513378 513424 - PropertyAccessExpression 513457 513513 - Identifier 513457 513497 - Identifier 513498 513513 - PropertyAccessExpression 513514 513565 - Identifier 513514 513554 - Identifier 513555 513565 - ReturnStatement 513636 513672 - Identifier 513660 513671 - FunctionDeclaration 513687 514721 - Identifier 513711 513736 - Parameter 513737 513760 - Identifier 513737 513747 - ArrayType 513748 513760 - TypeReference 513748 513758 - Identifier 513748 513758 - Block 513761 514721 - ExpressionStatement 513763 513837 - BinaryExpression 513763 513836 - Identifier 513763 513791 - EqualsToken 513791 513793 - CallExpression 513793 513836 - Identifier 513793 513824 - Identifier 513825 513835 - ExpressionStatement 513837 513904 - BinaryExpression 513837 513903 - Identifier 513837 513865 - EqualsToken 513865 513867 - CallExpression 513867 513903 - Identifier 513867 513891 - Identifier 513892 513902 - ExpressionStatement 513904 513969 - BinaryExpression 513904 513968 - Identifier 513904 513932 - EqualsToken 513932 513934 - CallExpression 513934 513968 - Identifier 513934 513956 - Identifier 513957 513967 - IfStatement 513969 514670 - BinaryExpression 514219 514563 - BinaryExpression 514219 514421 - Identifier 514219 514261 - AmpersandAmpersandToken 514261 514264 - ParenthesizedExpression 514264 514421 - BinaryExpression 514287 514420 - ParenthesizedExpression 514287 514375 - BinaryExpression 514288 514374 - CallExpression 514288 514322 - Identifier 514288 514300 - Identifier 514301 514321 - AmpersandAmpersandToken 514322 514325 - CallExpression 514325 514374 - Identifier 514325 514352 - Identifier 514353 514373 - BarBarToken 514375 514378 - CallExpression 514378 514420 - Identifier 514378 514398 - Identifier 514399 514419 - AmpersandAmpersandToken 514421 514424 - ParenthesizedExpression 514424 514563 - BinaryExpression 514447 514562 - PrefixUnaryExpression 514447 514491 - CallExpression 514448 514491 - Identifier 514448 514452 - Identifier 514453 514463 - Identifier 514464 514490 - BarBarToken 514491 514494 - ParenthesizedExpression 514494 514562 - BinaryExpression 514496 514561 - PrefixUnaryExpression 514496 514523 - CallExpression 514497 514523 - Identifier 514497 514511 - Identifier 514512 514522 - AmpersandAmpersandToken 514523 514526 - CallExpression 514526 514561 - Identifier 514526 514531 - Identifier 514532 514542 - Identifier 514543 514560 - Block 514582 514670 - ExpressionStatement 514584 514651 - CallExpression 514584 514650 - PropertyAccessExpression 514584 514621 - Identifier 514584 514616 - Identifier 514617 514621 - CallExpression 514622 514649 - Identifier 514622 514640 - Identifier 514641 514648 - ReturnStatement 514670 514706 - Identifier 514694 514705 - FunctionDeclaration 514721 514997 - Identifier 514745 514763 - Parameter 514764 514802 - Identifier 514764 514768 - TypeReference 514769 514802 - Identifier 514769 514777 - TypeReference 514778 514790 - Identifier 514778 514790 - TypeReference 514791 514801 - Identifier 514791 514801 - Block 514803 514997 - VariableStatement 514805 514919 - VariableDeclarationList 514805 514918 - VariableDeclaration 514828 514918 - Identifier 514828 514834 - BinaryExpression 514836 514918 - ParenthesizedExpression 514836 514893 - BinaryExpression 514838 514892 - CallExpression 514838 514869 - Identifier 514838 514863 - Identifier 514864 514868 - BarToken 514869 514871 - PropertyAccessExpression 514871 514892 - Identifier 514871 514885 - Identifier 514886 514892 - AmpersandToken 514893 514895 - PrefixUnaryExpression 514895 514918 - PropertyAccessExpression 514897 514918 - Identifier 514897 514910 - Identifier 514911 514918 - ReturnStatement 514919 514982 - CallExpression 514943 514981 - PropertyAccessExpression 514943 514968 - Identifier 514943 514951 - Identifier 514952 514968 - Identifier 514969 514973 - Identifier 514974 514980 - FunctionDeclaration 514997 515250 - Identifier 515021 515042 - Parameter 515043 515081 - Identifier 515043 515047 - TypeReference 515048 515081 - Identifier 515048 515056 - TypeReference 515057 515069 - Identifier 515057 515069 - TypeReference 515070 515080 - Identifier 515070 515080 - Block 515082 515250 - VariableStatement 515084 515172 - VariableDeclarationList 515084 515171 - VariableDeclaration 515107 515171 - Identifier 515107 515113 - BinaryExpression 515115 515171 - CallExpression 515115 515147 - Identifier 515115 515141 - Identifier 515142 515146 - AmpersandToken 515147 515149 - PrefixUnaryExpression 515149 515171 - PropertyAccessExpression 515151 515171 - Identifier 515151 515164 - Identifier 515165 515171 - ReturnStatement 515172 515235 - CallExpression 515196 515234 - PropertyAccessExpression 515196 515221 - Identifier 515196 515204 - Identifier 515205 515221 - Identifier 515222 515226 - Identifier 515227 515233 - FunctionDeclaration 515250 516305 - Identifier 515274 515291 - Parameter 515292 515316 - Identifier 515292 515303 - TypeReference 515304 515316 - Identifier 515304 515316 - Parameter 515317 515353 - Identifier 515317 515343 - QuestionToken 515343 515344 - BooleanKeyword 515345 515353 - Parameter 515354 515380 - Identifier 515354 515370 - QuestionToken 515370 515371 - BooleanKeyword 515372 515380 - Block 515381 516305 - IfStatement 515383 515513 - PrefixUnaryExpression 515405 515431 - Identifier 515406 515431 - Block 515432 515513 - ExpressionStatement 515434 515494 - CallExpression 515434 515493 - PropertyAccessExpression 515434 515482 - Identifier 515434 515477 - Identifier 515478 515482 - NewExpression 515483 515492 - Identifier 515486 515490 - ExpressionStatement 515513 515679 - CallExpression 515513 515678 - PropertyAccessExpression 515513 515550 - Identifier 515513 515542 - Identifier 515543 515550 - ArrowFunction 515551 515677 - Parameter 515552 515566 - Identifier 515552 515558 - TypeReference 515559 515566 - Identifier 515559 515566 - EqualsGreaterThanToken 515567 515570 - Block 515570 515677 - ExpressionStatement 515572 515658 - CallExpression 515572 515657 - Identifier 515572 515609 - Identifier 515610 515616 - FalseKeyword 515617 515637 - PrefixUnaryExpression 515638 515656 - PrefixUnaryExpression 515640 515656 - Identifier 515641 515656 - IfStatement 515679 516290 - PrefixUnaryExpression 515701 515727 - Identifier 515702 515727 - Block 515728 516290 - ExpressionStatement 515730 516221 - CallExpression 515730 516220 - PropertyAccessExpression 515730 516085 - ElementAccessExpression 515730 516077 - Identifier 515730 516043 - BinaryExpression 516044 516076 - PropertyAccessExpression 516044 516072 - Identifier 516044 516065 - Identifier 516066 516072 - MinusToken 516072 516074 - NumericLiteral 516074 516076 - Identifier 516078 516085 - ArrowFunction 516086 516219 - Parameter 516087 516101 - Identifier 516087 516093 - TypeReference 516094 516101 - Identifier 516094 516101 - EqualsGreaterThanToken 516102 516105 - Block 516105 516219 - ExpressionStatement 516107 516196 - CallExpression 516107 516195 - Identifier 516107 516148 - Identifier 516149 516155 - TrueKeyword 516156 516175 - PrefixUnaryExpression 516176 516194 - PrefixUnaryExpression 516178 516194 - Identifier 516179 516194 - ExpressionStatement 516221 516271 - CallExpression 516221 516270 - PropertyAccessExpression 516221 516268 - Identifier 516221 516264 - Identifier 516265 516268 - FunctionDeclaration 516305 517915 - Identifier 516329 516345 - Parameter 516346 516360 - Identifier 516346 516352 - TypeReference 516353 516360 - Identifier 516353 516360 - Parameter 516361 516380 - Identifier 516361 516371 - BooleanKeyword 516372 516380 - Parameter 516381 516406 - Identifier 516381 516397 - BooleanKeyword 516398 516406 - VoidKeyword 516408 516413 - Block 516413 517915 - ExpressionStatement 516415 516483 - VoidExpression 516415 516482 - CallExpression 516437 516482 - Identifier 516437 516457 - CallExpression 516458 516481 - Identifier 516458 516473 - Identifier 516474 516480 - VariableStatement 516483 516837 - VariableDeclarationList 516483 516836 - VariableDeclaration 516799 516836 - Identifier 516799 516810 - CallExpression 516812 516836 - Identifier 516812 516828 - Identifier 516829 516835 - IfStatement 516837 516972 - CallExpression 516859 516902 - PropertyAccessExpression 516859 516877 - Identifier 516859 516873 - Identifier 516874 516877 - CallExpression 516878 516901 - Identifier 516878 516889 - Identifier 516890 516900 - Block 516903 516972 - ReturnStatement 516905 516934 - ExpressionStatement 516972 517034 - CallExpression 516972 517033 - PropertyAccessExpression 516972 517008 - Identifier 516972 517004 - Identifier 517005 517008 - CallExpression 517009 517032 - Identifier 517009 517020 - Identifier 517021 517031 - VariableStatement 517034 517237 - VariableDeclarationList 517034 517236 - VariableDeclaration 517203 517236 - Identifier 517203 517223 - PrefixUnaryExpression 517225 517236 - Identifier 517227 517236 - IfStatement 517237 517900 - BinaryExpression 517342 517482 - Identifier 517342 517361 - BarBarToken 517361 517364 - ParenthesizedExpression 517364 517482 - BinaryExpression 517366 517481 - PrefixUnaryExpression 517366 517395 - PrefixUnaryExpression 517367 517395 - CallExpression 517368 517395 - Identifier 517368 517374 - PropertyAccessExpression 517375 517394 - Identifier 517375 517381 - Identifier 517382 517394 - AmpersandAmpersandToken 517395 517398 - CallExpression 517398 517481 - Identifier 517398 517403 - PropertyAccessExpression 517404 517423 - Identifier 517404 517410 - Identifier 517411 517423 - ArrowFunction 517424 517480 - Parameter 517424 517426 - Identifier 517424 517426 - EqualsGreaterThanToken 517426 517429 - PrefixUnaryExpression 517429 517480 - PrefixUnaryExpression 517431 517480 - CallExpression 517432 517480 - Identifier 517432 517444 - Identifier 517445 517446 - ArrowFunction 517447 517479 - Parameter 517447 517449 - Identifier 517447 517449 - EqualsGreaterThanToken 517449 517452 - BinaryExpression 517452 517479 - Identifier 517452 517454 - EqualsEqualsEqualsToken 517454 517458 - Identifier 517458 517479 - Block 517483 517900 - VariableStatement 517485 517561 - VariableDeclarationList 517485 517560 - VariableDeclaration 517512 517560 - Identifier 517512 517525 - CallExpression 517527 517560 - Identifier 517527 517551 - Identifier 517552 517559 - ExpressionStatement 517561 517703 - CallExpression 517561 517702 - PropertyAccessExpression 517561 517620 - PropertyAccessExpression 517561 517598 - Identifier 517561 517590 - Identifier 517591 517598 - Identifier 517599 517620 - CallExpression 517621 517701 - Identifier 517621 517625 - PropertyAccessExpression 517626 517645 - Identifier 517626 517632 - Identifier 517633 517645 - ArrowFunction 517646 517700 - Parameter 517646 517648 - Identifier 517646 517648 - EqualsGreaterThanToken 517648 517651 - BinaryExpression 517651 517700 - CallExpression 517651 517674 - Identifier 517651 517671 - Identifier 517672 517673 - EqualsEqualsEqualsToken 517674 517678 - PropertyAccessExpression 517678 517700 - Identifier 517678 517686 - Identifier 517687 517700 - ExpressionStatement 517703 517783 - CallExpression 517703 517782 - Identifier 517703 517746 - Identifier 517747 517753 - Identifier 517754 517764 - Identifier 517765 517781 - ExpressionStatement 517783 517844 - CallExpression 517783 517843 - PropertyAccessExpression 517783 517841 - PropertyAccessExpression 517783 517820 - Identifier 517783 517812 - Identifier 517813 517820 - Identifier 517821 517841 - ExpressionStatement 517844 517881 - CallExpression 517844 517880 - Identifier 517844 517878 - FunctionDeclaration 517915 534701 - Identifier 518744 518766 - Parameter 518767 518781 - Identifier 518767 518773 - TypeReference 518774 518781 - Identifier 518774 518781 - Parameter 518782 518801 - Identifier 518782 518792 - BooleanKeyword 518793 518801 - Parameter 518802 518827 - Identifier 518802 518818 - BooleanKeyword 518819 518827 - Parameter 518828 518867 - Identifier 518828 518846 - PropertyAccessExpression 518848 518867 - Identifier 518848 518855 - Identifier 518856 518867 - VoidKeyword 518869 518874 - Block 518874 534701 - VariableStatement 518876 518959 - VariableDeclarationList 518876 518958 - VariableDeclaration 518899 518958 - Identifier 518899 518910 - CallExpression 518912 518958 - Identifier 518912 518939 - Identifier 518940 518957 - VariableStatement 518959 519044 - VariableDeclarationList 518959 519043 - VariableDeclaration 518982 519043 - Identifier 518982 518992 - BinaryExpression 518994 519043 - Identifier 518994 519012 - EqualsEqualsEqualsToken 519012 519016 - PropertyAccessExpression 519016 519043 - Identifier 519016 519035 - Identifier 519036 519043 - IfStatement 519044 519645 - BinaryExpression 519066 519198 - BinaryExpression 519066 519184 - BinaryExpression 519066 519139 - Identifier 519066 519075 - AmpersandAmpersandToken 519075 519078 - PrefixUnaryExpression 519078 519139 - ParenthesizedExpression 519080 519139 - BinaryExpression 519081 519138 - PropertyAccessExpression 519081 519094 - Identifier 519081 519088 - Identifier 519089 519094 - AmpersandToken 519094 519096 - PropertyAccessExpression 519096 519138 - Identifier 519096 519113 - Identifier 519114 519138 - AmpersandAmpersandToken 519139 519142 - CallExpression 519142 519184 - Identifier 519142 519172 - Identifier 519173 519183 - AmpersandAmpersandToken 519184 519187 - PrefixUnaryExpression 519187 519198 - Identifier 519189 519198 - Block 519199 519645 - ExpressionStatement 519201 519408 - BinaryExpression 519201 519407 - PropertyAccessExpression 519201 519400 - Identifier 519201 519383 - Identifier 519384 519400 - EqualsToken 519400 519402 - TrueKeyword 519402 519407 - ReturnStatement 519408 519499 - VariableStatement 519645 519969 - VariableDeclarationList 519645 519968 - VariableDeclaration 519666 519968 - Identifier 519666 519689 - BinaryExpression 519691 519968 - BinaryExpression 519691 519929 - Identifier 519691 519701 - AmpersandAmpersandToken 519701 519704 - PrefixUnaryExpression 519704 519929 - PrefixUnaryExpression 519706 519929 - ParenthesizedExpression 519707 519929 - BinaryExpression 519708 519910 - BinaryExpression 519708 519792 - PropertyAccessExpression 519708 519742 - Identifier 519708 519736 - Identifier 519737 519742 - AmpersandToken 519742 519744 - PropertyAccessExpression 519744 519792 - Identifier 519744 519756 - Identifier 519757 519792 - BarBarToken 519792 519816 - ParenthesizedExpression 519816 519910 - BinaryExpression 519818 519909 - BinaryExpression 519818 519853 - PropertyAccessExpression 519818 519830 - Identifier 519818 519824 - Identifier 519825 519830 - AmpersandToken 519830 519832 - PropertyAccessExpression 519832 519853 - Identifier 519832 519844 - Identifier 519845 519853 - AmpersandAmpersandToken 519853 519856 - CallExpression 519856 519909 - Identifier 519856 519863 - CallExpression 519864 519908 - Identifier 519864 519883 - CallExpression 519884 519907 - Identifier 519884 519899 - Identifier 519900 519906 - AmpersandAmpersandToken 519929 519932 - PrefixUnaryExpression 519932 519968 - ParenthesizedExpression 519934 519968 - BinaryExpression 519935 519967 - PropertyAccessExpression 519935 519947 - Identifier 519935 519941 - Identifier 519942 519947 - AmpersandToken 519947 519949 - PropertyAccessExpression 519949 519967 - Identifier 519949 519961 - Identifier 519962 519967 - VariableStatement 519969 520183 - VariableDeclarationList 519969 520182 - VariableDeclaration 520060 520182 - Identifier 520060 520083 - BinaryExpression 520085 520182 - BinaryExpression 520085 520168 - BinaryExpression 520085 520123 - PrefixUnaryExpression 520085 520109 - Identifier 520087 520109 - AmpersandAmpersandToken 520109 520112 - PrefixUnaryExpression 520112 520123 - Identifier 520114 520123 - AmpersandAmpersandToken 520123 520126 - CallExpression 520126 520168 - Identifier 520126 520156 - Identifier 520157 520167 - AmpersandAmpersandToken 520168 520171 - PrefixUnaryExpression 520171 520182 - Identifier 520173 520182 - IfStatement 520183 520545 - BinaryExpression 520436 520484 - Identifier 520436 520458 - BarBarToken 520458 520461 - Identifier 520461 520484 - Block 520485 520545 - ExpressionStatement 520487 520526 - BinaryExpression 520487 520525 - Identifier 520487 520518 - EqualsToken 520518 520520 - TrueKeyword 520520 520525 - VariableStatement 520545 520694 - VariableDeclarationList 520545 520693 - VariableDeclaration 520568 520693 - Identifier 520568 520582 - BinaryExpression 520584 520693 - ParenthesizedExpression 520584 520624 - ConditionalExpression 520586 520623 - PrefixUnaryExpression 520586 520596 - Identifier 520587 520596 - QuestionToken 520596 520598 - PropertyAccessExpression 520598 520619 - Identifier 520598 520612 - Identifier 520613 520619 - ColonToken 520619 520621 - NumericLiteral 520621 520623 - BarToken 520624 520626 - ParenthesizedExpression 520626 520693 - ConditionalExpression 520628 520692 - BinaryExpression 520628 520664 - Identifier 520628 520637 - AmpersandAmpersandToken 520637 520640 - PrefixUnaryExpression 520640 520664 - Identifier 520642 520664 - QuestionToken 520664 520666 - PropertyAccessExpression 520666 520688 - Identifier 520666 520680 - Identifier 520681 520688 - ColonToken 520688 520690 - NumericLiteral 520690 520692 - VariableStatement 520694 520985 - VariableDeclarationList 520694 520984 - VariableDeclaration 520717 520984 - Identifier 520717 520737 - BinaryExpression 520739 520984 - BinaryExpression 520739 520906 - BinaryExpression 520739 520773 - PropertyAccessExpression 520739 520752 - Identifier 520739 520746 - Identifier 520747 520752 - AmpersandToken 520752 520754 - PropertyAccessExpression 520754 520773 - Identifier 520754 520766 - Identifier 520767 520773 - AmpersandAmpersandToken 520773 520776 - BinaryExpression 520776 520906 - PropertyAccessExpression 520776 520810 - Identifier 520776 520804 - Identifier 520805 520810 - AmpersandToken 520810 520812 - ParenthesizedExpression 520812 520906 - BinaryExpression 520814 520905 - BinaryExpression 520814 520882 - PropertyAccessExpression 520814 520845 - Identifier 520814 520825 - Identifier 520826 520845 - BarToken 520845 520847 - PropertyAccessExpression 520847 520882 - Identifier 520847 520859 - Identifier 520860 520882 - BarToken 520882 520884 - PropertyAccessExpression 520884 520905 - Identifier 520884 520896 - Identifier 520897 520905 - AmpersandAmpersandToken 520906 520909 - BinaryExpression 520909 520984 - Identifier 520909 520948 - ExclamationEqualsEqualsToken 520948 520952 - PropertyAccessExpression 520952 520984 - Identifier 520952 520971 - Identifier 520972 520984 - VariableStatement 520985 521156 - VariableDeclarationList 520985 521155 - VariableDeclaration 521008 521155 - Identifier 521008 521053 - BinaryExpression 521055 521155 - Identifier 521055 521075 - AmpersandAmpersandToken 521075 521078 - CallExpression 521078 521155 - Identifier 521078 521122 - CallExpression 521123 521146 - Identifier 521123 521138 - Identifier 521139 521145 - Identifier 521147 521154 - IfStatement 521156 521453 - BinaryExpression 521178 521284 - BinaryExpression 521178 521236 - PropertyAccessExpression 521178 521190 - Identifier 521178 521184 - Identifier 521185 521190 - AmpersandToken 521190 521192 - ParenthesizedExpression 521192 521236 - BinaryExpression 521194 521235 - PropertyAccessExpression 521194 521214 - Identifier 521194 521205 - Identifier 521206 521214 - BarToken 521214 521216 - PropertyAccessExpression 521216 521235 - Identifier 521216 521228 - Identifier 521229 521235 - BarBarToken 521236 521239 - Identifier 521239 521284 - Block 521285 521453 - ExpressionStatement 521287 521434 - CallExpression 521287 521433 - Identifier 521287 521342 - CallExpression 521343 521366 - Identifier 521343 521358 - Identifier 521359 521365 - Identifier 521367 521374 - CallExpression 521375 521417 - Identifier 521375 521397 - Identifier 521398 521404 - Identifier 521405 521416 - Identifier 521418 521432 - IfStatement 521453 521609 - BinaryExpression 521475 521511 - PropertyAccessExpression 521475 521487 - Identifier 521475 521481 - Identifier 521482 521487 - AmpersandToken 521487 521489 - PropertyAccessExpression 521489 521511 - Identifier 521489 521501 - Identifier 521502 521511 - Block 521512 521609 - ExpressionStatement 521514 521590 - CallExpression 521514 521589 - Identifier 521514 521554 - Identifier 521555 521561 - Identifier 521562 521573 - Identifier 521574 521588 - IfStatement 521609 530742 - BinaryExpression 521867 522353 - BinaryExpression 521867 522283 - BinaryExpression 521867 522222 - BinaryExpression 521867 522162 - BinaryExpression 521867 522098 - BinaryExpression 521867 522020 - PropertyAccessExpression 521867 521901 - Identifier 521867 521895 - Identifier 521896 521901 - AmpersandToken 521901 521903 - ParenthesizedExpression 521903 522020 - BinaryExpression 521905 522019 - BinaryExpression 521905 521996 - BinaryExpression 521905 521973 - PropertyAccessExpression 521905 521936 - Identifier 521905 521916 - Identifier 521917 521936 - BarToken 521936 521938 - PropertyAccessExpression 521938 521973 - Identifier 521938 521950 - Identifier 521951 521973 - BarToken 521973 521975 - PropertyAccessExpression 521975 521996 - Identifier 521975 521987 - Identifier 521988 521996 - BarToken 521996 521998 - PropertyAccessExpression 521998 522019 - Identifier 521998 522010 - Identifier 522011 522019 - AmpersandAmpersandToken 522020 522044 - BinaryExpression 522044 522098 - Identifier 522044 522062 - ExclamationEqualsEqualsToken 522062 522066 - PropertyAccessExpression 522066 522098 - Identifier 522066 522085 - Identifier 522086 522098 - AmpersandAmpersandToken 522098 522122 - PrefixUnaryExpression 522122 522162 - ParenthesizedExpression 522124 522162 - BinaryExpression 522125 522161 - PropertyAccessExpression 522125 522137 - Identifier 522125 522131 - Identifier 522132 522137 - AmpersandToken 522137 522139 - PropertyAccessExpression 522139 522161 - Identifier 522139 522151 - Identifier 522152 522161 - AmpersandAmpersandToken 522162 522186 - PrefixUnaryExpression 522186 522222 - ParenthesizedExpression 522188 522222 - BinaryExpression 522189 522221 - PropertyAccessExpression 522189 522201 - Identifier 522189 522195 - Identifier 522196 522201 - AmpersandToken 522201 522203 - PropertyAccessExpression 522203 522221 - Identifier 522203 522215 - Identifier 522216 522221 - AmpersandAmpersandToken 522222 522246 - PrefixUnaryExpression 522246 522283 - ParenthesizedExpression 522248 522283 - BinaryExpression 522249 522282 - PropertyAccessExpression 522249 522261 - Identifier 522249 522255 - Identifier 522256 522261 - AmpersandToken 522261 522263 - PropertyAccessExpression 522263 522282 - Identifier 522263 522275 - Identifier 522276 522282 - AmpersandAmpersandToken 522283 522307 - PrefixUnaryExpression 522307 522353 - Identifier 522309 522353 - Block 522372 530742 - IfStatement 522374 530723 - Identifier 522400 522415 - Block 522416 522722 - VariableStatement 522418 522504 - VariableDeclarationList 522418 522503 - VariableDeclaration 522449 522503 - Identifier 522449 522463 - CallExpression 522465 522503 - Identifier 522465 522495 - Identifier 522496 522502 - IfStatement 522504 522699 - Identifier 522534 522547 - Block 522548 522699 - ExpressionStatement 522550 522611 - BinaryExpression 522550 522610 - Identifier 522550 522602 - EqualsToken 522602 522604 - FalseKeyword 522604 522610 - ExpressionStatement 522611 522672 - BinaryExpression 522611 522671 - Identifier 522611 522663 - EqualsToken 522663 522665 - FalseKeyword 522665 522671 - Block 522748 530723 - VariableStatement 522750 522813 - VariableDeclarationList 522750 522812 - VariableDeclaration 522781 522812 - Identifier 522781 522786 - CallExpression 522788 522812 - Identifier 522788 522804 - Identifier 522805 522811 - VariableStatement 522813 522899 - VariableDeclarationList 522813 522898 - VariableDeclaration 522844 522898 - Identifier 522844 522854 - CallExpression 522856 522898 - Identifier 522856 522878 - Identifier 522879 522885 - Identifier 522886 522897 - IfStatement 522899 530700 - BinaryExpression 522929 523141 - BinaryExpression 522929 523081 - BinaryExpression 522929 523010 - BinaryExpression 522929 522966 - PropertyAccessExpression 522929 522940 - Identifier 522929 522933 - Identifier 522934 522940 - AmpersandAmpersandToken 522940 522943 - BinaryExpression 522943 522966 - PropertyAccessExpression 522943 522955 - Identifier 522943 522948 - Identifier 522949 522955 - ExclamationEqualsEqualsToken 522955 522959 - Identifier 522959 522966 - AmpersandAmpersandToken 522966 522969 - BinaryExpression 522969 523010 - PropertyAccessExpression 522969 522987 - PropertyAccessExpression 522969 522981 - Identifier 522969 522974 - Identifier 522975 522981 - Identifier 522982 522987 - AmpersandToken 522987 522989 - PropertyAccessExpression 522989 523010 - Identifier 522989 523001 - Identifier 523002 523010 - AmpersandAmpersandToken 523010 523013 - CallExpression 523013 523081 - Identifier 523013 523018 - PropertyAccessExpression 523019 523043 - PropertyAccessExpression 523019 523030 - Identifier 523019 523023 - Identifier 523024 523030 - Identifier 523031 523043 - Identifier 523044 523080 - AmpersandAmpersandToken 523081 523084 - ParenthesizedExpression 523084 523141 - BinaryExpression 523086 523140 - PropertyAccessExpression 523086 523111 - PropertyAccessExpression 523086 523105 - PropertyAccessExpression 523086 523097 - Identifier 523086 523090 - Identifier 523091 523097 - Identifier 523098 523105 - QuestionDotToken 523105 523107 - Identifier 523107 523111 - BarBarToken 523111 523114 - PropertyAccessExpression 523114 523140 - PropertyAccessExpression 523114 523134 - PropertyAccessExpression 523114 523126 - Identifier 523114 523119 - Identifier 523120 523126 - Identifier 523127 523134 - QuestionDotToken 523134 523136 - Identifier 523136 523140 - Block 523142 524104 - IfStatement 523144 523713 - PrefixUnaryExpression 523567 523600 - PropertyAccessExpression 523568 523600 - Identifier 523568 523575 - Identifier 523576 523600 - Block 523601 523713 - ExpressionStatement 523603 523682 - BinaryExpression 523603 523681 - PropertyAccessExpression 523603 523669 - Identifier 523603 523644 - Identifier 523645 523669 - EqualsToken 523669 523671 - NewExpression 523671 523681 - Identifier 523675 523679 - ExpressionStatement 523713 523814 - CallExpression 523713 523813 - PropertyAccessExpression 523713 523779 - PropertyAccessExpression 523713 523775 - Identifier 523713 523750 - Identifier 523751 523775 - Identifier 523776 523779 - CallExpression 523780 523804 - Identifier 523780 523791 - PropertyAccessExpression 523792 523803 - Identifier 523792 523796 - Identifier 523797 523803 - Identifier 523805 523812 - ExpressionStatement 523814 523981 - CallExpression 523814 523980 - Identifier 523814 523920 - PropertyAccessExpression 523921 523932 - Identifier 523921 523925 - Identifier 523926 523932 - Identifier 523933 523943 - Identifier 523944 523960 - Identifier 523961 523979 - ExpressionStatement 523981 524077 - CallExpression 523981 524076 - PropertyAccessExpression 523981 524050 - PropertyAccessExpression 523981 524043 - Identifier 523981 524018 - Identifier 524019 524043 - Identifier 524044 524050 - CallExpression 524051 524075 - Identifier 524051 524062 - PropertyAccessExpression 524063 524074 - Identifier 524063 524067 - Identifier 524068 524074 - IfStatement 524134 530700 - BinaryExpression 524139 524238 - PrefixUnaryExpression 524139 524177 - ParenthesizedExpression 524140 524177 - BinaryExpression 524141 524176 - PropertyAccessExpression 524141 524153 - Identifier 524141 524147 - Identifier 524148 524153 - AmpersandToken 524153 524155 - PropertyAccessExpression 524155 524176 - Identifier 524155 524167 - Identifier 524168 524176 - AmpersandAmpersandToken 524177 524180 - CallExpression 524180 524238 - Identifier 524180 524224 - Identifier 524225 524229 - Identifier 524230 524237 - Block 524239 524553 - ExpressionStatement 524241 524526 - CallExpression 524241 524525 - Identifier 524241 524485 - Identifier 524486 524490 - Identifier 524491 524498 - Identifier 524499 524509 - Identifier 524510 524524 - Block 524583 530700 - VariableStatement 524585 525630 - VariableDeclarationList 524585 525629 - VariableDeclaration 524992 525629 - Identifier 524992 524998 - ConditionalExpression 525000 525629 - PrefixUnaryExpression 525000 525050 - ParenthesizedExpression 525002 525050 - BinaryExpression 525003 525049 - PropertyAccessExpression 525003 525015 - Identifier 525003 525009 - Identifier 525010 525015 - AmpersandToken 525015 525017 - PropertyAccessExpression 525017 525049 - Identifier 525017 525029 - Identifier 525030 525049 - QuestionToken 525050 525085 - ConditionalExpression 525085 525467 - BinaryExpression 525085 525166 - PropertyAccessExpression 525085 525117 - PropertyAccessExpression 525085 525099 - Identifier 525085 525092 - Identifier 525093 525099 - QuestionDotToken 525099 525101 - Identifier 525101 525117 - AmpersandAmpersandToken 525117 525120 - CallExpression 525120 525166 - Identifier 525120 525133 - PropertyAccessExpression 525134 525165 - PropertyAccessExpression 525134 525147 - Identifier 525134 525140 - Identifier 525141 525147 - QuestionDotToken 525147 525149 - Identifier 525149 525165 - QuestionToken 525166 525205 - PropertyAccessExpression 525205 525221 - Identifier 525205 525215 - Identifier 525216 525221 - ColonToken 525221 525457 - Identifier 525457 525467 - ColonToken 525467 525502 - ConditionalExpression 525502 525629 - CallExpression 525502 525529 - Identifier 525502 525521 - Identifier 525522 525528 - QuestionToken 525529 525564 - PropertyAccessExpression 525564 525580 - Identifier 525564 525574 - Identifier 525575 525580 - ColonToken 525580 525615 - PropertyAccessExpression 525615 525629 - Identifier 525615 525625 - Identifier 525626 525629 - VariableStatement 525630 525787 - VariableDeclarationList 525630 525786 - VariableDeclaration 525665 525786 - Identifier 525665 525670 - ConditionalExpression 525672 525786 - ParenthesizedExpression 525672 525739 - BinaryExpression 525674 525738 - Identifier 525674 525696 - BarBarToken 525696 525699 - PrefixUnaryExpression 525699 525738 - ParenthesizedExpression 525701 525738 - BinaryExpression 525702 525737 - PropertyAccessExpression 525702 525714 - Identifier 525702 525708 - Identifier 525709 525714 - AmpersandToken 525714 525716 - PropertyAccessExpression 525716 525737 - Identifier 525716 525728 - Identifier 525729 525737 - QuestionToken 525739 525741 - Identifier 525741 525751 - ColonToken 525751 525753 - CallExpression 525753 525786 - Identifier 525753 525767 - Identifier 525768 525777 - Identifier 525778 525785 - VariableStatement 525787 525931 - VariableDeclarationList 525787 525930 - VariableDeclaration 525820 525930 - Identifier 525820 525830 - UnionType 525831 525848 - TypeReference 525831 525836 - Identifier 525831 525836 - UndefinedKeyword 525838 525848 - BinaryExpression 525850 525930 - PropertyAccessExpression 525850 525870 - Identifier 525850 525857 - Identifier 525858 525870 - AmpersandAmpersandToken 525870 525873 - CallExpression 525873 525930 - Identifier 525873 525878 - PropertyAccessExpression 525879 525898 - Identifier 525879 525885 - Identifier 525886 525898 - ArrowFunction 525899 525929 - Parameter 525899 525901 - Identifier 525899 525901 - EqualsGreaterThanToken 525901 525904 - CallExpression 525904 525929 - Identifier 525904 525926 - Identifier 525927 525928 - IfStatement 525931 526171 - BinaryExpression 525965 526067 - BinaryExpression 525965 526021 - Identifier 525965 525974 - AmpersandAmpersandToken 525974 525977 - CallExpression 525977 526021 - Identifier 525977 526003 - PropertyAccessExpression 526004 526020 - Identifier 526004 526013 - Identifier 526014 526020 - AmpersandAmpersandToken 526021 526024 - BinaryExpression 526024 526067 - PropertyAccessExpression 526024 526061 - PropertyAccessExpression 526024 526054 - PropertyAccessExpression 526024 526041 - Identifier 526024 526034 - Identifier 526035 526041 - Identifier 526042 526054 - Identifier 526055 526061 - EqualsEqualsEqualsToken 526061 526065 - NumericLiteral 526065 526067 - Block 526068 526171 - ExpressionStatement 526070 526140 - BinaryExpression 526070 526139 - Identifier 526070 526113 - EqualsToken 526113 526115 - PropertyAccessExpression 526115 526139 - PropertyAccessExpression 526115 526132 - Identifier 526115 526125 - Identifier 526126 526132 - Identifier 526133 526139 - VariableStatement 526171 526285 - VariableDeclarationList 526171 526284 - VariableDeclaration 526206 526284 - Identifier 526206 526228 - CallExpression 526230 526284 - PropertyAccessExpression 526230 526256 - PropertyAccessExpression 526230 526250 - Identifier 526230 526237 - Identifier 526238 526250 - QuestionDotToken 526250 526252 - Identifier 526252 526256 - Identifier 526257 526283 - IfStatement 526285 530673 - BinaryExpression 526319 526590 - BinaryExpression 526319 526544 - BinaryExpression 526319 526478 - BinaryExpression 526319 526426 - Identifier 526319 526374 - AmpersandAmpersandToken 526374 526377 - CallExpression 526377 526426 - Identifier 526377 526396 - PropertyAccessExpression 526397 526425 - Identifier 526397 526418 - Identifier 526419 526425 - AmpersandAmpersandToken 526426 526429 - CallExpression 526429 526478 - Identifier 526429 526442 - PropertyAccessExpression 526443 526477 - PropertyAccessExpression 526443 526471 - Identifier 526443 526464 - Identifier 526465 526471 - Identifier 526472 526477 - AmpersandAmpersandToken 526478 526514 - PropertyAccessExpression 526514 526544 - PropertyAccessExpression 526514 526526 - Identifier 526514 526519 - Identifier 526520 526526 - QuestionDotToken 526526 526528 - Identifier 526528 526544 - AmpersandAmpersandToken 526544 526547 - CallExpression 526547 526590 - Identifier 526547 526560 - PropertyAccessExpression 526561 526589 - PropertyAccessExpression 526561 526572 - Identifier 526561 526565 - Identifier 526566 526572 - Identifier 526573 526589 - Block 526621 527454 - VariableStatement 526623 526781 - VariableDeclarationList 526623 526780 - VariableDeclaration 526662 526780 - Identifier 526662 526668 - ConditionalExpression 526670 526780 - BinaryExpression 526670 526731 - Identifier 526670 526680 - EqualsEqualsEqualsToken 526680 526684 - PropertyAccessExpression 526684 526731 - PropertyAccessExpression 526684 526719 - PropertyAccessExpression 526684 526713 - Identifier 526684 526706 - Identifier 526707 526713 - Identifier 526714 526719 - Identifier 526720 526731 - QuestionToken 526731 526733 - Identifier 526733 526743 - ColonToken 526743 526745 - PropertyAccessExpression 526745 526780 - PropertyAccessExpression 526745 526774 - Identifier 526745 526767 - Identifier 526768 526774 - Identifier 526775 526780 - ExpressionStatement 526781 527299 - CallExpression 526781 527298 - Identifier 526781 526824 - CallExpression 526825 527205 - PropertyAccessExpression 526825 526894 - Identifier 526825 526870 - Identifier 526871 526894 - Identifier 526895 526960 - FalseKeyword 526961 527023 - CallExpression 527024 527165 - PropertyAccessExpression 527024 527092 - Identifier 527024 527073 - Identifier 527074 527092 - ArrayLiteralExpression 527093 527164 - CallExpression 527094 527163 - PropertyAccessExpression 527094 527123 - Identifier 527094 527101 - Identifier 527102 527123 - FalseKeyword 527124 527144 - Identifier 527145 527151 - Identifier 527152 527162 - PropertyAccessExpression 527206 527262 - Identifier 527206 527257 - Identifier 527258 527262 - ExpressionStatement 527299 527423 - CallExpression 527299 527422 - PropertyAccessExpression 527299 527360 - PropertyAccessExpression 527299 527348 - Identifier 527299 527340 - Identifier 527341 527348 - Identifier 527349 527360 - PropertyAccessExpression 527361 527372 - Identifier 527361 527365 - Identifier 527366 527372 - PropertyAccessExpression 527373 527402 - Identifier 527373 527381 - Identifier 527382 527402 - PropertyAccessExpression 527403 527421 - Identifier 527403 527415 - Identifier 527416 527421 - Block 527488 530673 - VariableStatement 527490 528191 - VariableDeclarationList 527490 528190 - VariableDeclaration 527529 528190 - Identifier 527529 527539 - CallExpression 527541 528190 - Identifier 527541 527554 - Identifier 527555 527600 - CallExpression 527601 528106 - PropertyAccessExpression 527601 527670 - Identifier 527601 527646 - Identifier 527647 527670 - Identifier 527671 527736 - CallExpression 527737 528066 - PropertyAccessExpression 527737 527816 - Identifier 527737 527786 - Identifier 527787 527816 - ArrayLiteralExpression 527817 528058 - CallExpression 527818 528014 - PropertyAccessExpression 527818 527897 - Identifier 527818 527871 - Identifier 527872 527897 - Identifier 527898 527902 - Identifier 527903 527934 - CallExpression 527935 528013 - Identifier 527935 527963 - Identifier 527964 527971 - Identifier 527972 527998 - Identifier 527999 528004 - Identifier 528005 528012 - Identifier 528059 528065 - Identifier 528107 528154 - ExpressionStatement 528191 528322 - CallExpression 528191 528321 - Identifier 528191 528234 - Identifier 528235 528244 - ConditionalExpression 528245 528320 - BinaryExpression 528245 528264 - Identifier 528245 528250 - ExclamationEqualsEqualsToken 528250 528254 - Identifier 528254 528264 - QuestionToken 528264 528266 - BinaryExpression 528266 528304 - Identifier 528266 528280 - AmpersandToken 528280 528282 - PrefixUnaryExpression 528282 528304 - PropertyAccessExpression 528284 528304 - Identifier 528284 528297 - Identifier 528298 528304 - ColonToken 528304 528306 - Identifier 528306 528320 - IfStatement 528322 530642 - BinaryExpression 528360 528392 - BinaryExpression 528360 528378 - Identifier 528360 528364 - ExclamationEqualsEqualsToken 528364 528368 - Identifier 528368 528378 - AmpersandAmpersandToken 528378 528381 - PrefixUnaryExpression 528381 528392 - Identifier 528383 528392 - Block 528393 530642 - ExpressionStatement 528395 530469 - CallExpression 528395 530468 - Identifier 528395 529967 - CallExpression 529968 530367 - PropertyAccessExpression 529968 530041 - Identifier 529968 530017 - Identifier 530018 530041 - Identifier 530042 530111 - FalseKeyword 530112 530178 - CallExpression 530179 530323 - PropertyAccessExpression 530179 530251 - Identifier 530179 530232 - Identifier 530233 530251 - ArrayLiteralExpression 530252 530322 - CallExpression 530253 530321 - PropertyAccessExpression 530253 530282 - Identifier 530253 530260 - Identifier 530261 530282 - FalseKeyword 530283 530303 - Identifier 530304 530309 - Identifier 530310 530320 - PropertyAccessExpression 530368 530428 - Identifier 530368 530423 - Identifier 530424 530428 - ExpressionStatement 530469 530538 - BinaryExpression 530469 530537 - Identifier 530469 530529 - EqualsToken 530529 530531 - FalseKeyword 530531 530537 - ExpressionStatement 530538 530607 - BinaryExpression 530538 530606 - Identifier 530538 530598 - EqualsToken 530598 530600 - FalseKeyword 530600 530606 - IfStatement 530742 530888 - BinaryExpression 530764 530795 - PropertyAccessExpression 530764 530776 - Identifier 530764 530770 - Identifier 530771 530776 - AmpersandToken 530776 530778 - PropertyAccessExpression 530778 530795 - Identifier 530778 530790 - Identifier 530791 530795 - Block 530796 530888 - ExpressionStatement 530798 530869 - CallExpression 530798 530868 - Identifier 530798 530833 - Identifier 530834 530840 - Identifier 530841 530852 - Identifier 530853 530867 - IfStatement 530888 532039 - BinaryExpression 530910 530942 - PropertyAccessExpression 530910 530922 - Identifier 530910 530916 - Identifier 530917 530922 - AmpersandToken 530922 530924 - PropertyAccessExpression 530924 530942 - Identifier 530924 530936 - Identifier 530937 530942 - Block 530943 532039 - IfStatement 530945 532020 - BinaryExpression 530971 531247 - BinaryExpression 530971 531163 - BinaryExpression 530971 531084 - BinaryExpression 530971 531032 - PropertyAccessExpression 530971 531009 - Identifier 530971 531003 - Identifier 531004 531009 - AmpersandToken 531009 531011 - PropertyAccessExpression 531011 531032 - Identifier 531011 531023 - Identifier 531024 531032 - AmpersandAmpersandToken 531032 531060 - PropertyAccessExpression 531060 531084 - Identifier 531060 531067 - Identifier 531068 531084 - AmpersandAmpersandToken 531084 531112 - CallExpression 531112 531163 - Identifier 531112 531131 - PropertyAccessExpression 531132 531162 - PropertyAccessExpression 531132 531155 - Identifier 531132 531138 - Identifier 531139 531155 - Identifier 531156 531162 - AmpersandAmpersandToken 531163 531191 - CallExpression 531191 531247 - Identifier 531191 531209 - PropertyAccessExpression 531210 531246 - PropertyAccessExpression 531210 531240 - PropertyAccessExpression 531210 531233 - Identifier 531210 531216 - Identifier 531217 531233 - Identifier 531234 531240 - Identifier 531241 531246 - Block 531270 531860 - ExpressionStatement 531272 531837 - CallExpression 531272 531836 - Identifier 531272 531770 - Identifier 531771 531777 - CallExpression 531778 531820 - Identifier 531778 531800 - Identifier 531801 531807 - Identifier 531808 531819 - Identifier 531821 531835 - Block 531886 532020 - ExpressionStatement 531888 531997 - CallExpression 531888 531996 - Identifier 531888 531930 - Identifier 531931 531937 - CallExpression 531938 531980 - Identifier 531938 531960 - Identifier 531961 531967 - Identifier 531968 531979 - Identifier 531981 531995 - IfStatement 532039 532333 - BinaryExpression 532061 532238 - ParenthesizedExpression 532061 532190 - BinaryExpression 532062 532189 - BinaryExpression 532062 532132 - PropertyAccessExpression 532062 532074 - Identifier 532062 532068 - Identifier 532069 532074 - AmpersandToken 532074 532076 - ParenthesizedExpression 532076 532132 - BinaryExpression 532078 532131 - PropertyAccessExpression 532078 532101 - Identifier 532078 532089 - Identifier 532090 532101 - BarToken 532101 532103 - PropertyAccessExpression 532103 532131 - Identifier 532103 532115 - Identifier 532116 532131 - AmpersandAmpersandToken 532132 532135 - ParenthesizedExpression 532135 532189 - BinaryExpression 532137 532188 - PrefixUnaryExpression 532137 532157 - Identifier 532138 532157 - BarBarToken 532157 532160 - CallExpression 532160 532188 - Identifier 532160 532180 - Identifier 532181 532187 - BarBarToken 532190 532193 - Identifier 532193 532238 - Block 532239 532333 - ExpressionStatement 532241 532314 - CallExpression 532241 532313 - Identifier 532241 532278 - Identifier 532279 532285 - Identifier 532286 532297 - Identifier 532298 532312 - IfStatement 532333 532628 - BinaryExpression 532455 532530 - BinaryExpression 532455 532491 - PropertyAccessExpression 532455 532467 - Identifier 532455 532461 - Identifier 532462 532467 - AmpersandToken 532467 532469 - PropertyAccessExpression 532469 532491 - Identifier 532469 532481 - Identifier 532482 532491 - AmpersandAmpersandToken 532491 532494 - PrefixUnaryExpression 532494 532530 - ParenthesizedExpression 532496 532530 - BinaryExpression 532497 532529 - PropertyAccessExpression 532497 532509 - Identifier 532497 532503 - Identifier 532504 532509 - AmpersandToken 532509 532511 - PropertyAccessExpression 532511 532529 - Identifier 532511 532523 - Identifier 532524 532529 - Block 532531 532628 - ExpressionStatement 532533 532609 - CallExpression 532533 532608 - Identifier 532533 532573 - Identifier 532574 532580 - Identifier 532581 532592 - Identifier 532593 532607 - IfStatement 532628 532809 - BinaryExpression 532650 532682 - PropertyAccessExpression 532650 532662 - Identifier 532650 532656 - Identifier 532657 532662 - AmpersandToken 532662 532664 - PropertyAccessExpression 532664 532682 - Identifier 532664 532676 - Identifier 532677 532682 - Block 532683 532809 - ExpressionStatement 532685 532790 - CallExpression 532685 532789 - Identifier 532685 532723 - Identifier 532724 532730 - CallExpression 532731 532773 - Identifier 532731 532753 - Identifier 532754 532760 - Identifier 532761 532772 - Identifier 532774 532788 - IfStatement 532809 533006 - BinaryExpression 532831 532924 - BinaryExpression 532831 532866 - PropertyAccessExpression 532831 532843 - Identifier 532831 532837 - Identifier 532838 532843 - AmpersandToken 532843 532845 - PropertyAccessExpression 532845 532866 - Identifier 532845 532857 - Identifier 532858 532866 - AmpersandAmpersandToken 532866 532869 - BinaryExpression 532869 532924 - PropertyAccessExpression 532869 532888 - Identifier 532869 532876 - Identifier 532877 532888 - EqualsEqualsEqualsToken 532888 532892 - PropertyAccessExpression 532892 532924 - Identifier 532892 532911 - Identifier 532912 532924 - Block 532925 533006 - ExpressionStatement 532927 532987 - CallExpression 532927 532986 - Identifier 532927 532978 - Identifier 532979 532985 - IfStatement 533006 533886 - BinaryExpression 533028 533065 - PropertyAccessExpression 533028 533040 - Identifier 533028 533034 - Identifier 533035 533040 - AmpersandToken 533040 533042 - PropertyAccessExpression 533042 533065 - Identifier 533042 533054 - Identifier 533055 533065 - Block 533066 533886 - IfStatement 533068 533867 - PropertyAccessExpression 533253 533272 - Identifier 533253 533259 - Identifier 533260 533272 - Block 533273 533867 - ForOfStatement 533275 533844 - VariableDeclarationList 533306 533316 - VariableDeclaration 533311 533316 - Identifier 533311 533316 - PropertyAccessExpression 533319 533339 - Identifier 533319 533326 - Identifier 533327 533339 - Block 533340 533844 - VariableStatement 533342 533473 - VariableDeclarationList 533342 533472 - VariableDeclaration 533377 533472 - Identifier 533377 533392 - CallExpression 533394 533472 - Identifier 533394 533420 - Identifier 533421 533425 - NonNullExpression 533426 533471 - PropertyAccessExpression 533426 533470 - ParenthesizedExpression 533426 533454 - AsExpression 533428 533453 - Identifier 533428 533432 - TypeReference 533435 533453 - Identifier 533435 533453 - Identifier 533455 533470 - IfStatement 533473 533533 - PrefixUnaryExpression 533507 533522 - Identifier 533508 533522 - ContinueStatement 533523 533533 - ExpressionStatement 533533 533817 - CallExpression 533533 533816 - Identifier 533533 533572 - CallExpression 533573 533795 - PropertyAccessExpression 533573 533604 - Identifier 533573 533580 - Identifier 533581 533604 - Identifier 533605 533628 - PropertyAccessExpression 533629 533683 - ParenthesizedExpression 533629 533672 - AsExpression 533646 533671 - Identifier 533646 533650 - TypeReference 533653 533671 - Identifier 533653 533671 - Identifier 533673 533683 - Identifier 533684 533711 - CallExpression 533712 533794 - PropertyAccessExpression 533712 533740 - Identifier 533712 533720 - Identifier 533721 533740 - CallExpression 533741 533793 - Identifier 533741 533768 - Identifier 533769 533783 - Identifier 533784 533792 - PropertyAccessExpression 533796 533815 - Identifier 533796 533810 - Identifier 533811 533815 - IfStatement 533886 534686 - Identifier 533908 533930 - Block 533931 534156 - ExpressionStatement 533933 534137 - CallExpression 533933 534136 - Identifier 533933 533964 - CallExpression 533965 534115 - PropertyAccessExpression 533965 533995 - Identifier 533965 533972 - Identifier 533973 533995 - Identifier 533996 534019 - FalseKeyword 534020 534045 - CallExpression 534046 534114 - PropertyAccessExpression 534046 534071 - Identifier 534046 534054 - Identifier 534055 534071 - CallExpression 534072 534113 - Identifier 534072 534093 - Identifier 534094 534100 - Identifier 534101 534112 - PropertyAccessExpression 534116 534135 - Identifier 534116 534130 - Identifier 534131 534135 - IfStatement 534178 534686 - Identifier 534183 534205 - Block 534206 534686 - ExpressionStatement 534208 534667 - CallExpression 534208 534666 - Identifier 534208 534239 - CallExpression 534240 534597 - PropertyAccessExpression 534240 534297 - Identifier 534240 534273 - Identifier 534274 534297 - Identifier 534298 534351 - FalseKeyword 534352 534402 - CallExpression 534403 534569 - PropertyAccessExpression 534403 534459 - Identifier 534403 534440 - Identifier 534441 534459 - ArrayLiteralExpression 534460 534568 - CallExpression 534461 534567 - PropertyAccessExpression 534461 534490 - Identifier 534461 534468 - Identifier 534469 534490 - FalseKeyword 534491 534511 - CallExpression 534512 534554 - Identifier 534512 534534 - Identifier 534535 534541 - Identifier 534542 534553 - Identifier 534555 534566 - PropertyAccessExpression 534598 534642 - Identifier 534598 534637 - Identifier 534638 534642 - FunctionDeclaration 534701 536223 - Identifier 534725 534746 - Parameter 534747 534761 - Identifier 534747 534753 - TypeReference 534754 534761 - Identifier 534754 534761 - Block 534762 536223 - IfStatement 534764 534850 - CallExpression 534786 534841 - Identifier 534786 534790 - PropertyAccessExpression 534791 534810 - Identifier 534791 534797 - Identifier 534798 534810 - Identifier 534811 534840 - ReturnStatement 534842 534850 - ExpressionStatement 534850 534947 - CallExpression 534850 534946 - PropertyAccessExpression 534850 534889 - Identifier 534850 534873 - Identifier 534874 534889 - ElementAccessExpression 534890 534945 - Identifier 534890 534911 - BinaryExpression 534912 534944 - PropertyAccessExpression 534912 534940 - Identifier 534912 534933 - Identifier 534934 534940 - MinusToken 534940 534942 - NumericLiteral 534942 534944 - ExpressionStatement 534947 535035 - CallExpression 534947 535034 - Identifier 534947 534978 - CallExpression 534979 535025 - Identifier 534979 535005 - PropertyAccessExpression 535006 535024 - Identifier 535006 535012 - Identifier 535013 535024 - Identifier 535026 535033 - VariableStatement 535035 536071 - VariableDeclarationList 535035 536070 - VariableDeclaration 535764 536070 - Identifier 535764 535786 - BinaryExpression 535788 536070 - PrefixUnaryExpression 535788 535825 - PrefixUnaryExpression 535790 535825 - ParenthesizedExpression 535791 535825 - BinaryExpression 535792 535824 - PropertyAccessExpression 535792 535804 - Identifier 535792 535798 - Identifier 535799 535804 - AmpersandToken 535804 535806 - PropertyAccessExpression 535806 535824 - Identifier 535806 535818 - Identifier 535819 535824 - AmpersandAmpersandToken 535825 535828 - PrefixUnaryExpression 535828 536070 - CallExpression 535830 536070 - Identifier 535830 535834 - PropertyAccessExpression 535835 535854 - Identifier 535835 535841 - Identifier 535842 535854 - ArrowFunction 535855 536069 - Parameter 535855 535857 - Identifier 535855 535857 - EqualsGreaterThanToken 535857 535860 - BinaryExpression 535860 536069 - BinaryExpression 535860 535965 - PrefixUnaryExpression 535860 535920 - PrefixUnaryExpression 535883 535920 - CallExpression 535884 535920 - Identifier 535884 535896 - Identifier 535897 535898 - Identifier 535899 535919 - BarBarToken 535920 535923 - CallExpression 535923 535965 - Identifier 535923 535962 - Identifier 535963 535964 - BarBarToken 535965 535968 - ParenthesizedExpression 535968 536069 - BinaryExpression 535991 536068 - CallExpression 535991 536019 - Identifier 535991 536016 - Identifier 536017 536018 - AmpersandAmpersandToken 536019 536022 - PrefixUnaryExpression 536022 536068 - CallExpression 536024 536068 - Identifier 536024 536049 - PropertyAccessExpression 536050 536067 - Identifier 536050 536051 - Identifier 536052 536067 - ExpressionStatement 536071 536208 - CallExpression 536071 536207 - PropertyAccessExpression 536071 536178 - ElementAccessExpression 536071 536174 - Identifier 536071 536110 - ConditionalExpression 536111 536173 - Identifier 536111 536132 - QuestionToken 536132 536134 - NumericLiteral 536134 536136 - ColonToken 536136 536138 - ParenthesizedExpression 536138 536173 - BinaryExpression 536140 536172 - PropertyAccessExpression 536140 536168 - Identifier 536140 536161 - Identifier 536162 536168 - MinusToken 536168 536170 - NumericLiteral 536170 536172 - Identifier 536175 536178 - CallExpression 536179 536198 - Identifier 536179 536190 - Identifier 536191 536197 - Identifier 536199 536206 - FunctionDeclaration 536223 536585 - Identifier 536247 536264 - Parameter 536265 536291 - Identifier 536265 536285 - TypeReference 536286 536291 - Identifier 536286 536291 - Block 536292 536585 - ReturnStatement 536294 536570 - ParenthesizedExpression 536318 536569 - BinaryExpression 536320 536568 - ParenthesizedExpression 536320 536452 - BinaryExpression 536321 536451 - CallExpression 536321 536355 - Identifier 536321 536333 - Identifier 536334 536354 - AmpersandAmpersandToken 536355 536358 - ParenthesizedExpression 536358 536451 - BinaryExpression 536360 536450 - CallExpression 536360 536408 - Identifier 536360 536386 - Identifier 536387 536407 - BarBarToken 536408 536411 - CallExpression 536411 536450 - Identifier 536411 536428 - Identifier 536429 536449 - BarBarToken 536452 536455 - ParenthesizedExpression 536455 536568 - BinaryExpression 536478 536567 - CallExpression 536478 536515 - Identifier 536478 536493 - Identifier 536494 536514 - AmpersandAmpersandToken 536515 536518 - PrefixUnaryExpression 536518 536567 - CallExpression 536520 536567 - Identifier 536520 536545 - Identifier 536546 536566 - FunctionDeclaration 536585 538926 - Identifier 536751 536761 - Parameter 536762 536777 - Identifier 536762 536766 - TypeReference 536767 536777 - Identifier 536767 536777 - Parameter 536778 536817 - Identifier 536778 536802 - TypeReference 536803 536817 - Identifier 536803 536817 - Block 536818 538926 - IfStatement 536820 538874 - CallExpression 536842 536864 - Identifier 536842 536858 - Identifier 536859 536863 - Block 536865 538874 - VariableStatement 536867 536946 - VariableDeclarationList 536867 536945 - VariableDeclaration 536892 536945 - Identifier 536892 536909 - TypeReference 536910 536924 - Identifier 536910 536924 - PropertyAccessExpression 536926 536945 - Identifier 536926 536940 - Identifier 536941 536945 - VariableStatement 536946 537186 - VariableDeclarationList 536946 537185 - VariableDeclaration 536973 537185 - Identifier 536973 536994 - BinaryExpression 536996 537185 - PropertyAccessExpression 536996 537025 - Identifier 536996 537004 - Identifier 537005 537025 - AmpersandAmpersandToken 537025 537028 - ParenthesizedExpression 537028 537185 - ConditionalExpression 537055 537184 - CallExpression 537055 537101 - Identifier 537055 537071 - PropertyAccessExpression 537072 537100 - Identifier 537072 537079 - Identifier 537080 537100 - QuestionToken 537101 537103 - CallExpression 537103 537153 - Identifier 537103 537123 - PropertyAccessExpression 537124 537152 - Identifier 537124 537131 - Identifier 537132 537152 - ColonToken 537153 537155 - PropertyAccessExpression 537155 537184 - Identifier 537155 537163 - Identifier 537164 537184 - IfStatement 537186 537746 - BinaryExpression 537212 537478 - BinaryExpression 537212 537422 - BinaryExpression 537212 537333 - BinaryExpression 537212 537284 - Identifier 537212 537261 - AmpersandToken 537261 537263 - PropertyAccessExpression 537263 537284 - Identifier 537263 537277 - Identifier 537278 537284 - AmpersandAmpersandToken 537284 537287 - Identifier 537287 537333 - AmpersandAmpersandToken 537333 537336 - ParenthesizedExpression 537336 537422 - BinaryExpression 537338 537421 - CallExpression 537338 537376 - Identifier 537338 537354 - Identifier 537355 537375 - BarBarToken 537376 537379 - CallExpression 537379 537421 - Identifier 537379 537399 - Identifier 537400 537420 - AmpersandAmpersandToken 537422 537425 - CallExpression 537425 537478 - Identifier 537425 537472 - Identifier 537473 537477 - Block 537501 537746 - ExpressionStatement 537503 537723 - BinaryExpression 537503 537722 - Identifier 537503 537698 - BarEqualsToken 537698 537701 - PropertyAccessExpression 537701 537722 - Identifier 537701 537715 - Identifier 537716 537722 - IfStatement 537746 538409 - BinaryExpression 537772 538133 - BinaryExpression 537772 537962 - BinaryExpression 537772 537857 - Identifier 537772 537811 - AmpersandAmpersandToken 537811 537814 - PrefixUnaryExpression 537814 537857 - ParenthesizedExpression 537816 537857 - BinaryExpression 537817 537856 - Identifier 537817 537833 - AmpersandToken 537833 537835 - PropertyAccessExpression 537835 537856 - Identifier 537835 537849 - Identifier 537850 537856 - AmpersandAmpersandToken 537857 537860 - ParenthesizedExpression 537860 537962 - BinaryExpression 537887 537961 - PrefixUnaryExpression 537887 537908 - Identifier 537888 537908 - BarBarToken 537908 537911 - PrefixUnaryExpression 537911 537961 - ParenthesizedExpression 537913 537961 - BinaryExpression 537914 537960 - PropertyAccessExpression 537914 537940 - Identifier 537914 537934 - Identifier 537935 537940 - AmpersandToken 537940 537942 - PropertyAccessExpression 537942 537960 - Identifier 537942 537952 - Identifier 537953 537960 - AmpersandAmpersandToken 537962 537965 - ParenthesizedExpression 537965 538133 - BinaryExpression 537992 538132 - BinaryExpression 537992 538103 - BinaryExpression 537992 538075 - BinaryExpression 537992 538044 - CallExpression 537992 538015 - Identifier 537992 538009 - Identifier 538010 538014 - BarBarToken 538015 538018 - CallExpression 538018 538044 - Identifier 538018 538038 - Identifier 538039 538043 - BarBarToken 538044 538047 - CallExpression 538047 538075 - Identifier 538047 538069 - Identifier 538070 538074 - BarBarToken 538075 538078 - CallExpression 538078 538103 - Identifier 538078 538097 - Identifier 538098 538102 - BarBarToken 538103 538106 - CallExpression 538106 538132 - Identifier 538106 538126 - Identifier 538127 538131 - Block 538156 538409 - ExpressionStatement 538158 538386 - BinaryExpression 538158 538385 - Identifier 538158 538360 - BarEqualsToken 538360 538363 - PropertyAccessExpression 538363 538385 - Identifier 538363 538377 - Identifier 538378 538385 - IfStatement 538409 538671 - BinaryExpression 538435 538577 - ParenthesizedExpression 538435 538484 - BinaryExpression 538436 538483 - Identifier 538436 538459 - AmpersandToken 538459 538461 - PropertyAccessExpression 538461 538483 - Identifier 538461 538475 - Identifier 538476 538483 - AmpersandAmpersandToken 538484 538487 - ParenthesizedExpression 538487 538577 - BinaryExpression 538489 538576 - BinaryExpression 538489 538545 - CallExpression 538489 538513 - Identifier 538489 538507 - Identifier 538508 538512 - BarBarToken 538513 538516 - CallExpression 538516 538545 - Identifier 538516 538539 - Identifier 538540 538544 - BarBarToken 538545 538548 - CallExpression 538548 538576 - Identifier 538548 538570 - Identifier 538571 538575 - Block 538578 538671 - ExpressionStatement 538580 538648 - BinaryExpression 538580 538647 - Identifier 538580 538622 - BarEqualsToken 538622 538625 - PropertyAccessExpression 538625 538647 - Identifier 538625 538639 - Identifier 538640 538647 - IfStatement 538671 538855 - Identifier 538697 538713 - Block 538714 538855 - ExpressionStatement 538716 538832 - BinaryExpression 538716 538831 - Identifier 538716 538746 - EqualsToken 538746 538748 - CallExpression 538748 538831 - PropertyAccessExpression 538748 538773 - Identifier 538748 538756 - Identifier 538757 538773 - Identifier 538774 538778 - BinaryExpression 538779 538830 - Identifier 538779 538796 - BarToken 538796 538798 - CallExpression 538798 538830 - Identifier 538798 538824 - Identifier 538825 538829 - ExpressionStatement 538874 538911 - CallExpression 538874 538910 - PropertyAccessExpression 538874 538904 - Identifier 538874 538899 - Identifier 538900 538904 - Identifier 538905 538909 - FunctionDeclaration 538926 540754 - Identifier 538950 538969 - Parameter 538970 538984 - Identifier 538970 538976 - TypeReference 538977 538984 - Identifier 538977 538984 - Parameter 538985 539004 - Identifier 538985 538996 - StringKeyword 538997 539004 - Parameter 539005 539034 - Identifier 539005 539019 - TypeReference 539020 539034 - Identifier 539020 539034 - Block 539035 540754 - VariableStatement 539037 539108 - VariableDeclarationList 539037 539107 - VariableDeclaration 539060 539107 - Identifier 539060 539070 - CallExpression 539072 539107 - Identifier 539072 539099 - Identifier 539100 539106 - VariableStatement 539108 539183 - VariableDeclarationList 539108 539182 - VariableDeclaration 539131 539182 - Identifier 539131 539142 - PropertyAccessExpression 539144 539182 - CallExpression 539144 539167 - Identifier 539144 539159 - Identifier 539160 539166 - Identifier 539168 539182 - VariableStatement 539183 539285 - VariableDeclarationList 539183 539284 - VariableDeclaration 539206 539284 - Identifier 539206 539221 - CallExpression 539223 539284 - Identifier 539223 539227 - Identifier 539228 539238 - ArrowFunction 539239 539283 - Parameter 539239 539241 - Identifier 539239 539241 - EqualsGreaterThanToken 539241 539244 - CallExpression 539244 539283 - Identifier 539244 539271 - Identifier 539272 539273 - Identifier 539274 539282 - VariableStatement 539285 539370 - VariableDeclarationList 539285 539369 - VariableDeclaration 539308 539369 - Identifier 539308 539323 - CallExpression 539325 539369 - PropertyAccessExpression 539325 539351 - PropertyAccessExpression 539325 539345 - Identifier 539325 539332 - Identifier 539333 539345 - QuestionDotToken 539345 539347 - Identifier 539347 539351 - Identifier 539352 539368 - VariableStatement 539370 539516 - VariableDeclarationList 539370 539515 - VariableDeclaration 539393 539515 - Identifier 539393 539405 - CallExpression 539407 539515 - Identifier 539407 539429 - ConditionalExpression 539430 539514 - Identifier 539430 539444 - QuestionToken 539444 539446 - BinaryExpression 539446 539502 - PropertyAccessExpression 539446 539469 - Identifier 539446 539461 - Identifier 539462 539469 - BarBarToken 539469 539472 - PropertyAccessExpression 539472 539502 - PropertyAccessExpression 539472 539494 - Identifier 539472 539487 - Identifier 539488 539494 - Identifier 539495 539502 - ColonToken 539502 539504 - Identifier 539504 539514 - VariableStatement 539516 539581 - VariableDeclarationList 539516 539580 - VariableDeclaration 539539 539580 - Identifier 539539 539552 - CallExpression 539554 539580 - Identifier 539554 539571 - Identifier 539572 539579 - ExpressionStatement 539581 539645 - BinaryExpression 539581 539644 - PropertyAccessExpression 539581 539612 - Identifier 539581 539606 - Identifier 539607 539612 - BarEqualsToken 539612 539615 - PropertyAccessExpression 539615 539644 - Identifier 539615 539632 - Identifier 539633 539644 - VariableStatement 539645 539717 - VariableDeclarationList 539645 539716 - VariableDeclaration 539668 539716 - Identifier 539668 539685 - PropertyAccessExpression 539687 539716 - Identifier 539687 539695 - Identifier 539696 539716 - ExpressionStatement 539717 539781 - BinaryExpression 539717 539780 - PropertyAccessExpression 539717 539763 - Identifier 539717 539742 - Identifier 539743 539763 - EqualsToken 539763 539765 - Identifier 539765 539780 - VariableStatement 539781 540129 - VariableDeclarationList 539781 540128 - VariableDeclaration 539804 540128 - Identifier 539804 539813 - BinaryExpression 539815 540128 - BinaryExpression 539815 540063 - BinaryExpression 539815 539944 - BinaryExpression 539815 539863 - Identifier 539815 539830 - AmpersandAmpersandToken 539830 539833 - PropertyAccessExpression 539833 539863 - Identifier 539833 539848 - Identifier 539849 539863 - AmpersandAmpersandToken 539863 539891 - CallExpression 539891 539944 - Identifier 539891 539913 - PropertyAccessExpression 539914 539943 - Identifier 539914 539928 - Identifier 539929 539943 - AmpersandAmpersandToken 539944 539972 - CallExpression 539972 540063 - PropertyAccessExpression 539972 540018 - Identifier 539972 539993 - Identifier 539994 540018 - Identifier 540019 540026 - PropertyAccessExpression 540027 540062 - PropertyAccessExpression 540027 540057 - Identifier 540027 540042 - Identifier 540043 540057 - Identifier 540058 540062 - BarBarToken 540063 540087 - CallExpression 540087 540128 - Identifier 540087 540108 - Identifier 540109 540118 - Identifier 540119 540127 - ExpressionStatement 540129 540640 - CallExpression 540129 540639 - Identifier 540129 540156 - CallExpression 540157 540583 - Identifier 540157 540206 - CallExpression 540207 540361 - PropertyAccessExpression 540207 540267 - Identifier 540207 540240 - Identifier 540241 540267 - Identifier 540268 540291 - CallExpression 540292 540334 - Identifier 540292 540314 - Identifier 540315 540321 - Identifier 540322 540333 - Identifier 540335 540350 - Identifier 540351 540360 - ConditionalExpression 540362 540559 - PrefixUnaryExpression 540362 540400 - Identifier 540389 540400 - QuestionToken 540400 540402 - ArrayLiteralExpression 540402 540405 - ColonToken 540405 540407 - ArrayLiteralExpression 540407 540559 - ObjectLiteralExpression 540409 540558 - PropertyAssignment 540410 540450 - Identifier 540410 540415 - PropertyAccessExpression 540416 540450 - Identifier 540416 540427 - Identifier 540428 540450 - PropertyAssignment 540451 540512 - Identifier 540451 540456 - BinaryExpression 540457 540512 - BinaryExpression 540457 540504 - StringLiteral 540457 540466 - PlusToken 540466 540468 - CallExpression 540468 540504 - PropertyAccessExpression 540468 540488 - Identifier 540468 540480 - Identifier 540481 540488 - RegularExpressionLiteral 540489 540494 - StringLiteral 540495 540503 - PlusToken 540504 540506 - StringLiteral 540506 540512 - PropertyAssignment 540513 540521 - Identifier 540513 540517 - PrefixUnaryExpression 540518 540521 - NumericLiteral 540520 540521 - PropertyAssignment 540522 540530 - Identifier 540522 540526 - PrefixUnaryExpression 540527 540530 - NumericLiteral 540529 540530 - PropertyAssignment 540531 540556 - Identifier 540531 540550 - TrueKeyword 540551 540556 - Identifier 540584 540619 - ExpressionStatement 540640 540673 - CallExpression 540640 540672 - Identifier 540640 540670 - ExpressionStatement 540673 540739 - BinaryExpression 540673 540738 - PropertyAccessExpression 540673 540719 - Identifier 540673 540698 - Identifier 540699 540719 - EqualsToken 540719 540721 - Identifier 540721 540738 - FunctionDeclaration 540754 542597 - Identifier 540778 540797 - Parameter 540798 540812 - Identifier 540798 540804 - TypeReference 540805 540812 - Identifier 540805 540812 - Parameter 540813 540832 - Identifier 540813 540824 - StringKeyword 540825 540832 - Parameter 540833 540862 - Identifier 540833 540847 - TypeReference 540848 540862 - Identifier 540848 540862 - Block 540863 542597 - VariableStatement 540865 540947 - VariableDeclarationList 540865 540946 - VariableDeclaration 540888 540946 - Identifier 540888 540902 - CallExpression 540904 540946 - Identifier 540904 540938 - Identifier 540939 540945 - VariableStatement 540947 541045 - VariableDeclarationList 540947 541044 - VariableDeclaration 540970 541044 - Identifier 540970 540982 - CallExpression 540984 541044 - Identifier 540984 541036 - Identifier 541037 541043 - VariableStatement 541045 541148 - VariableDeclarationList 541045 541147 - VariableDeclaration 541068 541147 - Identifier 541068 541083 - CallExpression 541085 541147 - Identifier 541085 541089 - Identifier 541090 541101 - ArrowFunction 541102 541146 - Parameter 541102 541104 - Identifier 541102 541104 - EqualsGreaterThanToken 541104 541107 - CallExpression 541107 541146 - Identifier 541107 541134 - Identifier 541135 541136 - Identifier 541137 541145 - VariableStatement 541148 541212 - VariableDeclarationList 541148 541211 - VariableDeclaration 541171 541211 - Identifier 541171 541181 - CallExpression 541183 541211 - Identifier 541183 541196 - Identifier 541197 541210 - VariableStatement 541212 541310 - VariableDeclarationList 541212 541309 - VariableDeclaration 541235 541309 - Identifier 541235 541244 - ConditionalExpression 541246 541309 - CallExpression 541246 541264 - Identifier 541246 541253 - Identifier 541254 541263 - QuestionToken 541264 541266 - CallExpression 541266 541297 - Identifier 541266 541286 - Identifier 541287 541296 - ColonToken 541297 541299 - Identifier 541299 541309 - VariableStatement 541310 541464 - VariableDeclarationList 541310 541463 - VariableDeclaration 541333 541463 - Identifier 541333 541341 - CallExpression 541343 541463 - Identifier 541343 541351 - TypeReference 541352 541358 - Identifier 541352 541358 - TypeReference 541359 541371 - Identifier 541359 541371 - CallExpression 541373 541407 - Identifier 541373 541392 - Identifier 541393 541406 - ArrowFunction 541408 541462 - Parameter 541408 541410 - Identifier 541408 541410 - EqualsGreaterThanToken 541410 541413 - CallExpression 541413 541462 - Identifier 541413 541449 - Identifier 541450 541451 - Identifier 541452 541461 - VariableStatement 541464 541626 - VariableDeclarationList 541464 541625 - VariableDeclaration 541487 541625 - Identifier 541487 541502 - AsExpression 541504 541625 - CallExpression 541504 541595 - Identifier 541504 541524 - PropertyAccessExpression 541525 541543 - Identifier 541525 541538 - Identifier 541539 541543 - Identifier 541544 541558 - Identifier 541559 541568 - PropertyAccessExpression 541569 541594 - Identifier 541569 541580 - Identifier 541581 541594 - ArrayType 541598 541625 - TypeReference 541598 541623 - Identifier 541598 541623 - VariableStatement 541626 541808 - VariableDeclarationList 541626 541807 - VariableDeclaration 541649 541807 - Identifier 541649 541669 - AsExpression 541671 541807 - CallExpression 541671 541772 - Identifier 541671 541691 - PropertyAccessExpression 541692 541715 - Identifier 541692 541705 - Identifier 541706 541715 - Identifier 541716 541730 - Identifier 541731 541740 - PropertyAccessExpression 541741 541771 - Identifier 541741 541752 - Identifier 541753 541771 - ArrayType 541775 541807 - TypeReference 541775 541805 - Identifier 541775 541805 - VariableStatement 541808 541900 - VariableDeclarationList 541808 541899 - VariableDeclaration 541831 541899 - Identifier 541831 541847 - CallExpression 541849 541899 - Identifier 541849 541874 - Identifier 541875 541888 - Identifier 541889 541898 - VariableStatement 541900 542114 - VariableDeclarationList 541900 542113 - VariableDeclaration 541925 542113 - Identifier 541925 541941 - ConditionalExpression 541943 542113 - PrefixUnaryExpression 541943 541962 - CallExpression 541945 541962 - Identifier 541945 541951 - Identifier 541952 541961 - QuestionToken 541962 541964 - Identifier 541964 541974 - ColonToken 541974 541976 - ArrayLiteralExpression 541976 542113 - CallExpression 541978 542112 - PropertyAccessExpression 541978 542006 - Identifier 541978 541985 - Identifier 541986 542006 - PropertyAccessExpression 542007 542032 - Identifier 542007 542017 - Identifier 542018 542032 - CallExpression 542033 542111 - Identifier 542033 542044 - Identifier 542045 542054 - ArrowFunction 542055 542110 - Parameter 542055 542057 - Identifier 542055 542057 - EqualsGreaterThanToken 542057 542060 - CallExpression 542060 542110 - Identifier 542060 542088 - Identifier 542089 542090 - PropertyAccessExpression 542091 542109 - Identifier 542091 542103 - Identifier 542104 542109 - ExpressionStatement 542114 542582 - CallExpression 542114 542581 - Identifier 542114 542141 - CallExpression 542142 542525 - PropertyAccessExpression 542142 542198 - Identifier 542142 542171 - Identifier 542172 542198 - Identifier 542199 542248 - CallExpression 542249 542316 - Identifier 542249 542296 - Identifier 542297 542303 - Identifier 542304 542315 - Identifier 542317 542357 - Identifier 542358 542399 - ArrayLiteralExpression 542400 542501 - SpreadElement 542427 542445 - Identifier 542430 542445 - SpreadElement 542446 542469 - Identifier 542450 542469 - SpreadElement 542470 542488 - Identifier 542474 542488 - SpreadElement 542489 542500 - Identifier 542493 542500 - Identifier 542526 542561 - FunctionDeclaration 542597 543416 - Identifier 542621 542657 - Parameter 542658 542672 - Identifier 542658 542664 - TypeReference 542665 542672 - Identifier 542665 542672 - Block 542673 543416 - VariableStatement 542675 542754 - VariableDeclarationList 542675 542753 - VariableDeclaration 542696 542753 - Identifier 542696 542704 - CallExpression 542706 542753 - Identifier 542706 542716 - CallExpression 542717 542752 - PropertyAccessExpression 542717 542750 - CallExpression 542717 542743 - Identifier 542717 542735 - Identifier 542736 542742 - Identifier 542744 542750 - VariableStatement 542754 542811 - VariableDeclarationList 542754 542810 - VariableDeclaration 542777 542810 - Identifier 542777 542784 - CallExpression 542786 542810 - Identifier 542786 542802 - Identifier 542803 542809 - IfStatement 542811 543267 - BinaryExpression 542833 542850 - Identifier 542833 542839 - ExclamationEqualsEqualsToken 542839 542843 - Identifier 542843 542850 - Block 542851 543267 - VariableStatement 542853 542911 - VariableDeclarationList 542853 542910 - VariableDeclaration 542880 542910 - Identifier 542880 542891 - NewExpression 542893 542910 - Identifier 542897 542901 - Identifier 542902 542909 - ForOfStatement 542911 543194 - VariableDeclarationList 542938 542952 - VariableDeclaration 542943 542952 - Identifier 542943 542952 - CallExpression 542955 542991 - PropertyAccessExpression 542955 542989 - CallExpression 542955 542982 - Identifier 542955 542974 - Identifier 542975 542981 - Identifier 542983 542989 - Block 542992 543194 - IfStatement 542994 543171 - PrefixUnaryExpression 543024 543086 - ParenthesizedExpression 543025 543086 - BinaryExpression 543026 543085 - CallExpression 543026 543065 - Identifier 543026 543040 - CallExpression 543041 543064 - Identifier 543041 543054 - Identifier 543055 543063 - AmpersandToken 543065 543067 - PropertyAccessExpression 543067 543085 - Identifier 543067 543079 - Identifier 543080 543085 - Block 543087 543171 - ExpressionStatement 543089 543144 - CallExpression 543089 543143 - PropertyAccessExpression 543089 543133 - Identifier 543089 543129 - Identifier 543130 543133 - Identifier 543134 543142 - ExpressionStatement 543194 543248 - BinaryExpression 543194 543247 - Identifier 543194 543223 - EqualsToken 543223 543225 - CallExpression 543225 543247 - Identifier 543225 543235 - Identifier 543236 543246 - ReturnStatement 543267 543401 - CallExpression 543291 543400 - Identifier 543291 543298 - Identifier 543299 543306 - ArrowFunction 543307 543399 - Parameter 543307 543309 - Identifier 543307 543309 - EqualsGreaterThanToken 543309 543312 - BinaryExpression 543312 543399 - CallExpression 543312 543333 - Identifier 543312 543330 - Identifier 543331 543332 - AmpersandAmpersandToken 543333 543336 - CallExpression 543336 543399 - Identifier 543336 543353 - AsExpression 543354 543377 - PropertyAccessExpression 543354 543367 - Identifier 543354 543355 - Identifier 543356 543367 - StringKeyword 543370 543377 - PropertyAccessExpression 543378 543398 - Identifier 543378 543391 - Identifier 543392 543398 - FunctionDeclaration 543416 543631 - Identifier 543440 543460 - Parameter 543461 543475 - Identifier 543461 543467 - TypeReference 543468 543475 - Identifier 543468 543475 - Block 543476 543631 - ReturnStatement 543478 543616 - CallExpression 543502 543615 - Identifier 543502 543508 - CallExpression 543509 543552 - Identifier 543509 543544 - Identifier 543545 543551 - ArrowFunction 543553 543614 - Parameter 543553 543555 - Identifier 543553 543555 - EqualsGreaterThanToken 543555 543558 - PrefixUnaryExpression 543558 543614 - ParenthesizedExpression 543560 543614 - BinaryExpression 543561 543613 - CallExpression 543561 543593 - Identifier 543561 543575 - CallExpression 543576 543592 - Identifier 543576 543589 - Identifier 543590 543591 - AmpersandToken 543593 543595 - PropertyAccessExpression 543595 543613 - Identifier 543595 543607 - Identifier 543608 543613 - FunctionDeclaration 543631 547122 - Identifier 543655 543671 - Parameter 543672 543686 - Identifier 543672 543678 - TypeReference 543679 543686 - Identifier 543679 543686 - Parameter 543687 543706 - Identifier 543687 543698 - StringKeyword 543699 543706 - Parameter 543707 543736 - Identifier 543707 543721 - TypeReference 543722 543736 - Identifier 543722 543736 - Block 543737 547122 - VariableStatement 543739 543817 - VariableDeclarationList 543739 543816 - VariableDeclaration 543762 543816 - Identifier 543762 543770 - CallExpression 543772 543816 - Identifier 543772 543808 - Identifier 543809 543815 - VariableStatement 543817 544100 - VariableDeclarationList 543817 544099 - VariableDeclaration 544002 544099 - Identifier 544002 544014 - CallExpression 544016 544099 - Identifier 544016 544032 - Identifier 544033 544040 - ArrowFunction 544041 544098 - Parameter 544041 544043 - Identifier 544041 544043 - EqualsGreaterThanToken 544043 544046 - ConditionalExpression 544046 544098 - BinaryExpression 544046 544078 - PropertyAccessExpression 544046 544055 - Identifier 544046 544048 - Identifier 544049 544055 - AmpersandAmpersandToken 544055 544058 - BinaryExpression 544058 544078 - PropertyAccessExpression 544058 544067 - Identifier 544058 544060 - Identifier 544061 544067 - EqualsEqualsEqualsToken 544067 544071 - Identifier 544071 544078 - QuestionToken 544078 544080 - StringLiteral 544080 544087 - ColonToken 544087 544089 - StringLiteral 544089 544098 - VariableStatement 544100 544176 - VariableDeclarationList 544100 544175 - VariableDeclaration 544123 544175 - Identifier 544123 544135 - BinaryExpression 544137 544175 - CallExpression 544137 544161 - PropertyAccessExpression 544137 544153 - Identifier 544137 544149 - Identifier 544150 544153 - StringLiteral 544154 544160 - BarBarToken 544161 544164 - Identifier 544164 544175 - VariableStatement 544176 544256 - VariableDeclarationList 544176 544255 - VariableDeclaration 544199 544255 - Identifier 544199 544213 - BinaryExpression 544215 544255 - CallExpression 544215 544241 - PropertyAccessExpression 544215 544231 - Identifier 544215 544227 - Identifier 544228 544231 - StringLiteral 544232 544240 - BarBarToken 544241 544244 - Identifier 544244 544255 - IfStatement 544256 544950 - CallExpression 544666 544685 - Identifier 544666 544672 - Identifier 544673 544684 - Block 544686 544950 - VariableStatement 544688 544770 - VariableDeclarationList 544688 544769 - VariableDeclaration 544715 544769 - Identifier 544715 544725 - CallExpression 544727 544769 - Identifier 544727 544749 - Identifier 544750 544756 - Identifier 544757 544768 - ExpressionStatement 544770 544931 - CallExpression 544770 544930 - Identifier 544770 544823 - Identifier 544824 544835 - Identifier 544836 544846 - Identifier 544847 544861 - PrefixUnaryExpression 544862 544929 - PrefixUnaryExpression 544864 544929 - ParenthesizedExpression 544865 544929 - BinaryExpression 544866 544928 - PropertyAccessExpression 544866 544878 - Identifier 544866 544872 - Identifier 544873 544878 - AmpersandToken 544878 544880 - ParenthesizedExpression 544880 544928 - BinaryExpression 544882 544927 - PropertyAccessExpression 544882 544902 - Identifier 544882 544893 - Identifier 544894 544902 - BarToken 544902 544904 - PropertyAccessExpression 544904 544927 - Identifier 544904 544916 - Identifier 544917 544927 - IfStatement 544950 547107 - CallExpression 544972 544993 - Identifier 544972 544978 - Identifier 544979 544992 - Block 544994 547107 - VariableStatement 544996 545091 - VariableDeclarationList 544996 545090 - VariableDeclaration 545023 545090 - Identifier 545023 545038 - CallExpression 545040 545090 - Identifier 545040 545060 - PropertyAccessExpression 545061 545089 - Identifier 545061 545068 - Identifier 545069 545089 - VariableStatement 545091 545173 - VariableDeclarationList 545091 545172 - VariableDeclaration 545118 545172 - Identifier 545118 545128 - CallExpression 545130 545172 - Identifier 545130 545152 - Identifier 545153 545159 - Identifier 545160 545171 - VariableStatement 545173 546694 - VariableDeclarationList 545173 546693 - VariableDeclaration 545200 546693 - Identifier 545200 545207 - CallExpression 545209 546693 - PropertyAccessExpression 545209 545235 - Identifier 545209 545217 - Identifier 545218 545235 - ArrayLiteralExpression 545236 546692 - CallExpression 545237 546691 - PropertyAccessExpression 545237 545268 - Identifier 545237 545244 - Identifier 545245 545268 - Identifier 545269 545318 - FalseKeyword 545319 545365 - CallExpression 545366 546667 - PropertyAccessExpression 545366 545418 - Identifier 545366 545399 - Identifier 545400 545418 - CallExpression 545419 546666 - Identifier 545419 545429 - CallExpression 545430 545507 - Identifier 545430 545436 - Identifier 545437 545450 - ArrowFunction 545451 545506 - Parameter 545451 545453 - Identifier 545451 545453 - EqualsGreaterThanToken 545453 545456 - BinaryExpression 545456 545506 - PropertyAccessExpression 545456 545470 - Identifier 545456 545458 - Identifier 545459 545470 - ExclamationEqualsEqualsToken 545470 545474 - PropertyAccessExpression 545474 545506 - Identifier 545474 545493 - Identifier 545494 545506 - ArrowFunction 545508 546665 - Parameter 545508 545510 - Identifier 545508 545510 - EqualsGreaterThanToken 545510 545513 - Block 545513 546665 - VariableStatement 545515 545600 - VariableDeclarationList 545515 545599 - VariableDeclaration 545550 545599 - Identifier 545550 545555 - CallExpression 545557 545599 - Identifier 545557 545584 - PropertyAccessExpression 545585 545598 - Identifier 545585 545586 - Identifier 545587 545598 - VariableStatement 545600 545679 - VariableDeclarationList 545600 545678 - VariableDeclaration 545635 545678 - Identifier 545635 545645 - CallExpression 545647 545678 - Identifier 545647 545669 - Identifier 545670 545671 - Identifier 545672 545677 - VariableStatement 545679 545776 - VariableDeclarationList 545679 545775 - VariableDeclaration 545714 545775 - Identifier 545714 545724 - BinaryExpression 545726 545775 - PropertyAccessExpression 545726 545741 - Identifier 545726 545728 - Identifier 545729 545741 - AmpersandAmpersandToken 545741 545744 - CallExpression 545744 545775 - Identifier 545744 545772 - Identifier 545773 545774 - IfStatement 545776 546155 - BinaryExpression 545810 545963 - Identifier 545810 545824 - AmpersandAmpersandToken 545824 545827 - ParenthesizedExpression 545827 545963 - ConditionalExpression 545829 545962 - Identifier 545829 545838 - QuestionToken 545838 545840 - BinaryExpression 545840 545890 - Identifier 545840 545855 - ExclamationEqualsEqualsToken 545855 545859 - CallExpression 545859 545890 - Identifier 545859 545879 - Identifier 545880 545889 - ColonToken 545890 545892 - PrefixUnaryExpression 545892 545962 - CallExpression 545894 545962 - Identifier 545894 545898 - PropertyAccessExpression 545899 545913 - Identifier 545899 545900 - Identifier 545901 545913 - ArrowFunction 545914 545961 - Parameter 545914 545916 - Identifier 545914 545916 - EqualsGreaterThanToken 545916 545919 - BinaryExpression 545919 545961 - CallExpression 545919 545942 - Identifier 545919 545939 - Identifier 545940 545941 - EqualsEqualsEqualsToken 545942 545946 - Identifier 545946 545961 - Block 545964 546155 - ExpressionStatement 545966 546073 - CallExpression 545966 546072 - PropertyAccessExpression 545966 546043 - PropertyAccessExpression 545966 546015 - Identifier 545966 546007 - Identifier 546008 546015 - QuestionDotToken 546015 546017 - Identifier 546017 546043 - QuestionDotToken 546043 546045 - Identifier 546046 546060 - Identifier 546061 546068 - Identifier 546069 546071 - ReturnStatement 546073 546124 - Identifier 546113 546123 - VariableStatement 546155 546285 - VariableDeclarationList 546155 546284 - VariableDeclaration 546190 546284 - Identifier 546190 546197 - BinaryExpression 546199 546284 - Identifier 546199 546209 - AmpersandAmpersandToken 546209 546212 - CallExpression 546212 546284 - Identifier 546212 546240 - Identifier 546241 546250 - TrueKeyword 546251 546283 - ExpressionStatement 546285 546349 - CallExpression 546285 546348 - Identifier 546285 546335 - BinaryExpression 546336 546347 - Identifier 546336 546342 - BarBarToken 546342 546345 - Identifier 546345 546347 - VariableStatement 546349 546497 - VariableDeclarationList 546349 546496 - VariableDeclaration 546384 546496 - Identifier 546384 546395 - ConditionalExpression 546397 546496 - Identifier 546397 546404 - QuestionToken 546404 546406 - CallExpression 546406 546484 - Identifier 546406 546428 - Identifier 546429 546435 - CallExpression 546436 546483 - Identifier 546436 546463 - PropertyAccessExpression 546464 546482 - Identifier 546464 546470 - Identifier 546471 546482 - ColonToken 546484 546486 - Identifier 546486 546496 - ReturnStatement 546497 546638 - CallExpression 546533 546637 - PropertyAccessExpression 546533 546563 - Identifier 546533 546541 - Identifier 546542 546563 - FalseKeyword 546564 546584 - ConditionalExpression 546585 546630 - BinaryExpression 546585 546605 - Identifier 546585 546590 - EqualsEqualsEqualsToken 546590 546594 - Identifier 546594 546605 - QuestionToken 546605 546607 - Identifier 546607 546617 - ColonToken 546617 546619 - Identifier 546619 546630 - Identifier 546631 546636 - ExpressionStatement 546694 547088 - CallExpression 546694 547087 - Identifier 546694 546725 - CallExpression 546726 547018 - PropertyAccessExpression 546726 546783 - Identifier 546726 546759 - Identifier 546760 546783 - Identifier 546784 546837 - CallExpression 546838 546903 - PropertyAccessExpression 546838 546892 - Identifier 546838 546875 - Identifier 546876 546892 - Identifier 546893 546902 - Identifier 546904 546940 - PropertyAccessExpression 546941 546990 - Identifier 546941 546980 - Identifier 546981 546990 - PropertyAccessExpression 547019 547063 - Identifier 547019 547058 - Identifier 547059 547063 - FunctionDeclaration 547122 548804 - Identifier 547146 547160 - Parameter 547161 547175 - Identifier 547161 547167 - TypeReference 547168 547175 - Identifier 547168 547175 - Parameter 547176 547195 - Identifier 547176 547187 - StringKeyword 547188 547195 - Parameter 547196 547225 - Identifier 547196 547210 - TypeReference 547211 547225 - Identifier 547211 547225 - Block 547226 548804 - ExpressionStatement 547228 548789 - CallExpression 547228 548788 - Identifier 547228 547255 - CallExpression 547256 548732 - PropertyAccessExpression 547256 547307 - Identifier 547256 547285 - Identifier 547286 547307 - CallExpression 547308 547427 - PropertyAccessExpression 547308 547374 - Identifier 547308 547341 - Identifier 547342 547374 - ConditionalExpression 547375 547426 - CallExpression 547375 547400 - Identifier 547375 547392 - Identifier 547393 547399 - QuestionToken 547400 547402 - PropertyAccessExpression 547402 547422 - Identifier 547402 547416 - Identifier 547417 547422 - ColonToken 547422 547424 - NumericLiteral 547424 547426 - CallExpression 547428 547495 - Identifier 547428 547475 - Identifier 547476 547482 - Identifier 547483 547494 - CallExpression 547496 548708 - Identifier 547496 547525 - CallExpression 547526 547621 - Identifier 547526 547532 - CallExpression 547533 547577 - Identifier 547533 547552 - CallExpression 547553 547576 - Identifier 547553 547568 - Identifier 547569 547575 - ArrowFunction 547578 547620 - Parameter 547578 547580 - Identifier 547578 547580 - EqualsGreaterThanToken 547580 547583 - PrefixUnaryExpression 547583 547620 - PrefixUnaryExpression 547585 547620 - ParenthesizedExpression 547586 547620 - BinaryExpression 547587 547619 - PropertyAccessExpression 547587 547594 - Identifier 547587 547588 - Identifier 547589 547594 - AmpersandToken 547594 547596 - PropertyAccessExpression 547596 547619 - Identifier 547596 547608 - Identifier 547609 547619 - ArrowFunction 547622 548707 - Parameter 547622 547624 - Identifier 547622 547624 - EqualsGreaterThanToken 547624 547627 - Block 547627 548707 - VariableStatement 547629 548223 - VariableDeclarationList 547629 548222 - VariableDeclaration 548082 548222 - Identifier 548082 548099 - ConditionalExpression 548101 548222 - BinaryExpression 548101 548172 - BinaryExpression 548101 548137 - PropertyAccessExpression 548101 548116 - Identifier 548101 548103 - Identifier 548104 548116 - AmpersandAmpersandToken 548116 548119 - ElementAccessExpression 548119 548137 - PropertyAccessExpression 548119 548134 - Identifier 548119 548121 - Identifier 548122 548134 - NumericLiteral 548135 548136 - AmpersandAmpersandToken 548137 548140 - CallExpression 548140 548172 - Identifier 548140 548153 - ElementAccessExpression 548154 548171 - PropertyAccessExpression 548154 548168 - Identifier 548154 548155 - Identifier 548156 548168 - NumericLiteral 548169 548170 - QuestionToken 548172 548174 - CallExpression 548174 548210 - Identifier 548174 548191 - ElementAccessExpression 548192 548209 - PropertyAccessExpression 548192 548206 - Identifier 548192 548193 - Identifier 548194 548206 - NumericLiteral 548207 548208 - ColonToken 548210 548212 - Identifier 548212 548222 - ReturnStatement 548223 548680 - CallExpression 548259 548679 - PropertyAccessExpression 548259 548284 - Identifier 548259 548267 - Identifier 548268 548284 - CallExpression 548285 548360 - Identifier 548285 548345 - PropertyAccessExpression 548346 548359 - Identifier 548346 548347 - Identifier 548348 548359 - ConditionalExpression 548361 548647 - BinaryExpression 548361 548425 - Identifier 548361 548411 - EqualsEqualsEqualsToken 548411 548415 - Identifier 548415 548425 - QuestionToken 548425 548427 - Identifier 548427 548437 - ColonToken 548437 548439 - ConditionalExpression 548439 548647 - BinaryExpression 548439 548513 - TypeOfExpression 548439 548500 - Identifier 548483 548500 - EqualsEqualsEqualsToken 548500 548504 - StringLiteral 548504 548513 - QuestionToken 548513 548515 - CallExpression 548515 548561 - PropertyAccessExpression 548515 548543 - Identifier 548515 548523 - Identifier 548524 548543 - Identifier 548544 548560 - ColonToken 548561 548563 - CallExpression 548563 548647 - PropertyAccessExpression 548563 548629 - Identifier 548563 548608 - Identifier 548609 548629 - Identifier 548630 548646 - Identifier 548733 548768 - FunctionDeclaration 548804 549969 - Identifier 548828 548862 - Parameter 548863 548873 - Identifier 548863 548867 - TypeReference 548868 548873 - Identifier 548868 548873 - Parameter 548874 548889 - Identifier 548874 548881 - TypeReference 548882 548889 - Identifier 548882 548889 - Parameter 548890 548908 - Identifier 548890 548900 - StringKeyword 548901 548908 - Parameter 548909 548938 - Identifier 548909 548923 - TypeReference 548924 548938 - Identifier 548924 548938 - Block 548939 549969 - VariableStatement 548941 549024 - VariableDeclarationList 548941 549023 - VariableDeclaration 548964 549023 - Identifier 548964 548975 - CallExpression 548977 549023 - Identifier 548977 548997 - Identifier 548998 549002 - PropertyAccessExpression 549003 549022 - Identifier 549003 549017 - Identifier 549018 549022 - ForOfStatement 549024 549481 - VariableDeclarationList 549047 549056 - VariableDeclaration 549052 549056 - Identifier 549052 549056 - Identifier 549059 549070 - Block 549071 549481 - VariableStatement 549073 549350 - VariableDeclarationList 549073 549349 - VariableDeclaration 549188 549349 - Identifier 549188 549193 - AsExpression 549195 549349 - CallExpression 549195 549326 - Identifier 549195 549233 - Identifier 549234 549237 - PropertyAccessExpression 549238 549269 - Identifier 549238 549249 - Identifier 549250 549269 - Identifier 549270 549278 - ObjectLiteralExpression 549279 549325 - PropertyAssignment 549281 549323 - Identifier 549281 549286 - CallExpression 549287 549323 - PropertyAccessExpression 549287 549312 - Identifier 549287 549295 - Identifier 549296 549312 - Identifier 549313 549322 - TypeReference 549329 549349 - Identifier 549329 549349 - ExpressionStatement 549350 549462 - CallExpression 549350 549461 - Identifier 549350 549381 - CallExpression 549382 549445 - Identifier 549382 549394 - Identifier 549395 549402 - Identifier 549403 549408 - CallExpression 549409 549444 - Identifier 549409 549439 - Identifier 549440 549443 - Identifier 549446 549460 - IfStatement 549481 549954 - PrefixUnaryExpression 549602 549720 - ParenthesizedExpression 549603 549720 - BinaryExpression 549604 549719 - BinaryExpression 549604 549694 - BinaryExpression 549604 549674 - PropertyAccessExpression 549604 549616 - Identifier 549604 549610 - Identifier 549611 549616 - AmpersandToken 549616 549618 - ParenthesizedExpression 549618 549674 - BinaryExpression 549620 549673 - PropertyAccessExpression 549620 549643 - Identifier 549620 549631 - Identifier 549632 549643 - BarToken 549643 549645 - PropertyAccessExpression 549645 549673 - Identifier 549645 549657 - Identifier 549658 549673 - AmpersandAmpersandToken 549674 549677 - PrefixUnaryExpression 549677 549694 - PrefixUnaryExpression 549679 549694 - PropertyAccessExpression 549680 549694 - Identifier 549680 549686 - Identifier 549687 549694 - AmpersandAmpersandToken 549694 549697 - PrefixUnaryExpression 549697 549719 - PrefixUnaryExpression 549699 549719 - PropertyAccessExpression 549700 549719 - PropertyAccessExpression 549700 549714 - Identifier 549700 549706 - Identifier 549707 549714 - Identifier 549715 549719 - Block 549721 549954 - VariableStatement 549723 549812 - VariableDeclarationList 549723 549811 - VariableDeclaration 549750 549811 - Identifier 549750 549756 - CallExpression 549758 549811 - Identifier 549758 549765 - CallExpression 549766 549791 - Identifier 549766 549785 - Identifier 549786 549790 - Identifier 549792 549810 - ExpressionStatement 549812 549935 - CallExpression 549812 549934 - Identifier 549812 549865 - Identifier 549866 549871 - Identifier 549872 549882 - Identifier 549883 549897 - TrueKeyword 549898 549933 - FunctionDeclaration 549969 550772 - Identifier 549993 550023 - Parameter 550024 550044 - Identifier 550024 550033 - TypeReference 550034 550044 - Identifier 550034 550044 - Block 550045 550772 - IfStatement 550047 550710 - BinaryExpression 550069 550122 - PropertyAccessExpression 550069 550090 - Identifier 550069 550078 - Identifier 550079 550090 - AmpersandAmpersandToken 550090 550093 - PropertyAccessExpression 550093 550122 - PropertyAccessExpression 550093 550115 - Identifier 550093 550103 - Identifier 550104 550115 - Identifier 550116 550122 - Block 550123 550710 - IfStatement 550125 550388 - BinaryExpression 550151 550300 - CallExpression 550151 550199 - Identifier 550151 550169 - PropertyAccessExpression 550170 550198 - PropertyAccessExpression 550170 550191 - Identifier 550170 550179 - Identifier 550180 550191 - Identifier 550192 550198 - AmpersandAmpersandToken 550199 550202 - BinaryExpression 550202 550300 - CallExpression 550202 550261 - Identifier 550202 550231 - PropertyAccessExpression 550232 550260 - PropertyAccessExpression 550232 550253 - Identifier 550232 550241 - Identifier 550242 550253 - Identifier 550254 550260 - EqualsEqualsEqualsToken 550261 550265 - PropertyAccessExpression 550265 550300 - Identifier 550265 550291 - Identifier 550292 550300 - Block 550301 550388 - ReturnStatement 550303 550365 - PropertyAccessExpression 550335 550364 - PropertyAccessExpression 550335 550357 - Identifier 550335 550345 - Identifier 550346 550357 - Identifier 550358 550364 - IfStatement 550388 550691 - BinaryExpression 550506 550596 - CallExpression 550506 550557 - Identifier 550506 550527 - PropertyAccessExpression 550528 550556 - PropertyAccessExpression 550528 550549 - Identifier 550528 550537 - Identifier 550538 550549 - Identifier 550550 550556 - AmpersandAmpersandToken 550557 550560 - PropertyAccessExpression 550560 550596 - PropertyAccessExpression 550560 550589 - PropertyAccessExpression 550560 550582 - Identifier 550560 550570 - Identifier 550571 550582 - Identifier 550583 550589 - Identifier 550590 550596 - Block 550597 550691 - ReturnStatement 550599 550668 - PropertyAccessExpression 550631 550667 - PropertyAccessExpression 550631 550660 - PropertyAccessExpression 550631 550653 - Identifier 550631 550641 - Identifier 550642 550653 - Identifier 550654 550660 - Identifier 550661 550667 - ReturnStatement 550710 550757 - PropertyAccessExpression 550734 550756 - Identifier 550734 550744 - Identifier 550745 550756 - FunctionDeclaration 550772 555210 - Identifier 550796 550828 - Parameter 550829 550853 - Identifier 550829 550834 - TypeOperator 550835 550853 - ArrayType 550844 550853 - TypeReference 550844 550851 - Identifier 550844 550851 - Parameter 550854 550872 - Identifier 550854 550864 - StringKeyword 550865 550872 - Parameter 550873 550902 - Identifier 550873 550887 - TypeReference 550888 550902 - Identifier 550888 550902 - Parameter 550903 550938 - Identifier 550903 550929 - BooleanKeyword 550930 550938 - Block 550939 555210 - IfStatement 550941 555195 - CallExpression 550963 550976 - Identifier 550963 550969 - Identifier 550970 550975 - Block 550977 555195 - VariableStatement 550979 551208 - VariableDeclarationList 550979 551207 - VariableDeclaration 551006 551207 - Identifier 551006 551023 - CallExpression 551025 551207 - Identifier 551025 551041 - Identifier 551042 551047 - ArrowFunction 551048 551206 - Parameter 551048 551050 - Identifier 551048 551050 - EqualsGreaterThanToken 551050 551053 - ConditionalExpression 551053 551206 - BinaryExpression 551053 551185 - PrefixUnaryExpression 551053 551077 - CallExpression 551055 551077 - Identifier 551055 551061 - PropertyAccessExpression 551062 551076 - Identifier 551062 551063 - Identifier 551064 551076 - BarBarToken 551077 551080 - CallExpression 551080 551185 - Identifier 551080 551085 - PropertyAccessExpression 551086 551100 - Identifier 551086 551087 - Identifier 551088 551100 - ArrowFunction 551101 551184 - Parameter 551101 551103 - Identifier 551101 551103 - EqualsGreaterThanToken 551103 551106 - BinaryExpression 551106 551184 - CallExpression 551106 551129 - Identifier 551106 551126 - Identifier 551127 551128 - EqualsEqualsEqualsToken 551129 551133 - CallExpression 551133 551184 - Identifier 551133 551153 - NonNullExpression 551154 551183 - PropertyAccessExpression 551154 551182 - Identifier 551154 551161 - Identifier 551162 551182 - QuestionToken 551185 551187 - StringLiteral 551187 551195 - ColonToken 551195 551197 - StringLiteral 551197 551206 - VariableStatement 551208 551293 - VariableDeclarationList 551208 551292 - VariableDeclaration 551235 551292 - Identifier 551235 551246 - BinaryExpression 551248 551292 - CallExpression 551248 551278 - PropertyAccessExpression 551248 551269 - Identifier 551248 551265 - Identifier 551266 551269 - StringLiteral 551270 551277 - BarBarToken 551278 551281 - Identifier 551281 551292 - VariableStatement 551293 552850 - VariableDeclarationList 551293 552849 - VariableDeclaration 552682 552849 - Identifier 552682 552692 - CallExpression 552694 552849 - PropertyAccessExpression 552694 552735 - Identifier 552694 552711 - Identifier 552712 552735 - Identifier 552736 552759 - CallExpression 552760 552796 - PropertyAccessExpression 552760 552785 - Identifier 552760 552768 - Identifier 552769 552785 - Identifier 552786 552795 - CallExpression 552797 552827 - PropertyAccessExpression 552797 552823 - Identifier 552797 552805 - Identifier 552806 552823 - ArrayLiteralExpression 552824 552826 - PropertyAccessExpression 552828 552848 - Identifier 552828 552838 - Identifier 552839 552848 - ExpressionStatement 552850 552952 - CallExpression 552850 552951 - Identifier 552850 552881 - Identifier 552882 552891 - AsExpression 552892 552950 - Identifier 552892 552913 - UnionType 552916 552950 - TypeReference 552916 552927 - Identifier 552916 552927 - TypeReference 552929 552950 - Identifier 552929 552950 - ExpressionStatement 552952 553018 - BinaryExpression 552952 553017 - PropertyAccessExpression 552952 552990 - Identifier 552952 552983 - Identifier 552984 552990 - EqualsToken 552990 552992 - CallExpression 552992 553017 - Identifier 552992 553010 - Identifier 553011 553016 - ExpressionStatement 553018 553076 - BinaryExpression 553018 553075 - PropertyAccessExpression 553018 553056 - Identifier 553018 553049 - Identifier 553050 553056 - EqualsToken 553056 553058 - NonNullExpression 553058 553075 - PropertyAccessExpression 553058 553074 - ElementAccessExpression 553058 553067 - Identifier 553058 553064 - NumericLiteral 553065 553066 - Identifier 553068 553074 - VariableStatement 553076 553127 - VariableDeclarationList 553076 553126 - VariableDeclaration 553105 553126 - Identifier 553105 553116 - Identifier 553118 553126 - ExpressionStatement 553127 553162 - BinaryExpression 553127 553161 - Identifier 553127 553156 - EqualsToken 553156 553158 - ArrayLiteralExpression 553158 553161 - VariableStatement 553162 553223 - VariableDeclarationList 553162 553222 - VariableDeclaration 553189 553222 - Identifier 553189 553206 - Identifier 553208 553222 - ExpressionStatement 553223 553267 - BinaryExpression 553223 553266 - Identifier 553223 553258 - EqualsToken 553258 553260 - FalseKeyword 553260 553266 - VariableStatement 553267 553356 - VariableDeclarationList 553267 553355 - VariableDeclaration 553294 553355 - Identifier 553294 553305 - ObjectLiteralExpression 553307 553355 - SpreadAssignment 553309 553320 - Identifier 553313 553320 - PropertyAssignment 553321 553353 - Identifier 553321 553342 - Identifier 553343 553353 - VariableStatement 553356 553405 - VariableDeclarationList 553356 553404 - VariableDeclaration 553383 553404 - Identifier 553383 553394 - Identifier 553396 553404 - ExpressionStatement 553405 553448 - BinaryExpression 553405 553447 - Identifier 553405 553434 - EqualsToken 553434 553436 - Identifier 553436 553447 - ExpressionStatement 553448 553780 - CallExpression 553448 553779 - Identifier 553448 553695 - CallExpression 553696 553725 - Identifier 553696 553713 - Identifier 553714 553724 - Identifier 553726 553752 - TrueKeyword 553753 553778 - ExpressionStatement 553780 553823 - BinaryExpression 553780 553822 - Identifier 553780 553809 - EqualsToken 553809 553811 - Identifier 553811 553822 - ExpressionStatement 553823 553878 - BinaryExpression 553823 553877 - Identifier 553823 553858 - EqualsToken 553858 553860 - Identifier 553860 553877 - VariableStatement 553878 553929 - VariableDeclarationList 553878 553928 - VariableDeclaration 553905 553928 - Identifier 553905 553918 - Identifier 553920 553928 - ExpressionStatement 553929 553972 - BinaryExpression 553929 553971 - Identifier 553929 553958 - EqualsToken 553958 553960 - Identifier 553960 553971 - VariableStatement 553972 554556 - VariableDeclarationList 553972 554555 - VariableDeclaration 554064 554555 - Identifier 554064 554080 - CallExpression 554082 554555 - Identifier 554082 554086 - Identifier 554087 554099 - ArrowFunction 554100 554554 - Parameter 554100 554102 - Identifier 554100 554102 - EqualsGreaterThanToken 554102 554105 - ConditionalExpression 554105 554554 - BinaryExpression 554105 554203 - BinaryExpression 554105 554173 - CallExpression 554105 554152 - Identifier 554105 554149 - Identifier 554150 554151 - AmpersandAmpersandToken 554152 554155 - PrefixUnaryExpression 554155 554173 - PropertyAccessExpression 554157 554173 - Identifier 554157 554158 - Identifier 554159 554173 - AmpersandAmpersandToken 554173 554176 - CallExpression 554176 554203 - Identifier 554176 554189 - PropertyAccessExpression 554190 554202 - Identifier 554190 554191 - Identifier 554192 554202 - QuestionToken 554203 554205 - CallExpression 554205 554550 - PropertyAccessExpression 554205 554237 - Identifier 554205 554213 - Identifier 554214 554237 - Identifier 554238 554291 - FalseKeyword 554292 554342 - CallExpression 554343 554522 - PropertyAccessExpression 554343 554399 - Identifier 554343 554380 - Identifier 554381 554399 - ArrayLiteralExpression 554400 554521 - CallExpression 554401 554520 - PropertyAccessExpression 554401 554430 - Identifier 554401 554408 - Identifier 554409 554430 - FalseKeyword 554431 554451 - PropertyAccessExpression 554452 554465 - Identifier 554452 554454 - Identifier 554455 554465 - CallExpression 554466 554519 - PropertyAccessExpression 554466 554491 - Identifier 554466 554474 - Identifier 554475 554491 - PropertyAccessExpression 554492 554518 - Identifier 554492 554510 - Identifier 554511 554518 - ColonToken 554550 554552 - Identifier 554552 554554 - VariableStatement 554556 554785 - VariableDeclarationList 554556 554784 - VariableDeclaration 554583 554784 - Identifier 554583 554606 - ConditionalExpression 554608 554784 - CallExpression 554608 554683 - Identifier 554608 554614 - Identifier 554615 554630 - ArrowFunction 554631 554682 - Parameter 554631 554633 - Identifier 554631 554633 - EqualsGreaterThanToken 554633 554636 - CallExpression 554636 554682 - Identifier 554636 554657 - Identifier 554658 554659 - PropertyAccessExpression 554660 554681 - Identifier 554660 554674 - Identifier 554675 554681 - QuestionToken 554683 554685 - CallExpression 554685 554766 - Identifier 554685 554689 - AsExpression 554690 554743 - Identifier 554690 554705 - ArrayType 554708 554743 - TypeReference 554708 554741 - Identifier 554708 554716 - TypeReference 554717 554729 - Identifier 554717 554729 - TypeReference 554730 554740 - Identifier 554730 554740 - Identifier 554744 554765 - ColonToken 554766 554768 - Identifier 554768 554784 - ExpressionStatement 554785 555074 - BinaryExpression 554785 555073 - Identifier 554785 554816 - EqualsToken 554816 554818 - CallExpression 554818 555073 - PropertyAccessExpression 554818 554850 - Identifier 554818 554826 - Identifier 554827 554850 - Identifier 554851 554886 - PropertyAccessExpression 554887 554932 - Identifier 554887 554922 - Identifier 554923 554932 - PropertyAccessExpression 554933 554973 - Identifier 554933 554968 - Identifier 554969 554973 - CallExpression 554974 555049 - PropertyAccessExpression 554974 555025 - Identifier 554974 555007 - Identifier 555008 555025 - Identifier 555026 555048 - ExpressionStatement 555074 555132 - CallExpression 555074 555131 - Identifier 555074 555105 - Identifier 555106 555115 - Identifier 555116 555130 - FunctionDeclaration 555210 555570 - Identifier 555234 555252 - Parameter 555253 555262 - Identifier 555253 555254 - TypeReference 555255 555262 - Identifier 555255 555262 - Block 555263 555570 - ReturnStatement 555265 555555 - BinaryExpression 555289 555554 - PrefixUnaryExpression 555289 555366 - PrefixUnaryExpression 555291 555366 - ParenthesizedExpression 555292 555366 - BinaryExpression 555293 555365 - PropertyAccessExpression 555293 555300 - Identifier 555293 555294 - Identifier 555295 555300 - AmpersandToken 555300 555302 - ParenthesizedExpression 555302 555365 - BinaryExpression 555304 555364 - BinaryExpression 555304 555344 - PropertyAccessExpression 555304 555320 - Identifier 555304 555315 - Identifier 555316 555320 - BarToken 555320 555322 - PropertyAccessExpression 555322 555344 - Identifier 555322 555334 - Identifier 555335 555344 - BarToken 555344 555346 - PropertyAccessExpression 555346 555364 - Identifier 555346 555358 - Identifier 555359 555364 - BarBarToken 555366 555369 - PrefixUnaryExpression 555369 555554 - ParenthesizedExpression 555392 555554 - BinaryExpression 555393 555553 - BinaryExpression 555393 555457 - BinaryExpression 555393 555424 - PropertyAccessExpression 555393 555400 - Identifier 555393 555394 - Identifier 555395 555400 - AmpersandToken 555400 555402 - PropertyAccessExpression 555402 555424 - Identifier 555402 555414 - Identifier 555415 555424 - BarBarToken 555424 555427 - BinaryExpression 555427 555457 - PropertyAccessExpression 555427 555441 - Identifier 555427 555429 - Identifier 555430 555441 - EqualsEqualsEqualsToken 555441 555445 - StringLiteral 555445 555457 - BarBarToken 555457 555460 - BinaryExpression 555460 555553 - BinaryExpression 555460 555511 - PropertyAccessExpression 555460 555479 - Identifier 555460 555462 - Identifier 555463 555479 - AmpersandAmpersandToken 555479 555482 - CallExpression 555482 555511 - Identifier 555482 555491 - PropertyAccessExpression 555492 555510 - Identifier 555492 555493 - Identifier 555494 555510 - AmpersandAmpersandToken 555511 555514 - CallExpression 555514 555553 - Identifier 555514 555526 - PropertyAccessExpression 555527 555552 - PropertyAccessExpression 555527 555545 - Identifier 555527 555528 - Identifier 555529 555545 - Identifier 555546 555552 - FunctionDeclaration 555570 557349 - Identifier 555594 555618 - Parameter 555619 555666 - Identifier 555619 555626 - TypeOperator 555627 555666 - ArrayType 555636 555666 - TypeReference 555636 555664 - Identifier 555636 555664 - UnionType 555668 555710 - ArrayType 555668 555698 - TypeReference 555668 555696 - Identifier 555668 555696 - UndefinedKeyword 555700 555710 - Block 555710 557349 - VariableStatement 555712 557187 - VariableDeclarationList 555712 557186 - VariableDeclaration 555735 557186 - Identifier 555735 555742 - CallExpression 555744 557186 - Identifier 555744 555755 - Identifier 555756 555763 - ArrowFunction 555764 557185 - Parameter 555764 555766 - Identifier 555764 555766 - EqualsGreaterThanToken 555766 555769 - Block 555769 557185 - VariableStatement 555771 555843 - VariableDeclarationList 555771 555842 - VariableDeclaration 555798 555842 - Identifier 555798 555811 - PropertyAccessExpression 555813 555842 - Identifier 555813 555821 - Identifier 555822 555842 - ExpressionStatement 555843 555898 - BinaryExpression 555843 555897 - PropertyAccessExpression 555843 555893 - Identifier 555843 555872 - Identifier 555873 555893 - EqualsToken 555893 555895 - Identifier 555895 555897 - VariableStatement 555898 555944 - VariableDeclarationList 555898 555943 - VariableDeclaration 555923 555943 - Identifier 555923 555928 - PropertyAccessExpression 555930 555943 - Identifier 555930 555932 - Identifier 555933 555943 - IfStatement 555944 556604 - CallExpression 555970 555998 - Identifier 555970 555992 - Identifier 555993 555997 - Block 555999 556604 - IfStatement 556001 556283 - BinaryExpression 556031 556072 - CallExpression 556031 556049 - Identifier 556031 556043 - Identifier 556044 556048 - AmpersandAmpersandToken 556049 556052 - BinaryExpression 556052 556072 - CallExpression 556052 556065 - Identifier 556052 556059 - Identifier 556060 556064 - EqualsEqualsEqualsToken 556065 556069 - StringLiteral 556069 556072 - Block 556073 556283 - ReturnStatement 556075 556142 - CallExpression 556111 556141 - Identifier 556111 556119 - Identifier 556120 556140 - VariableStatement 556283 556338 - VariableDeclarationList 556283 556337 - VariableDeclaration 556312 556337 - Identifier 556312 556328 - BooleanKeyword 556329 556337 - ExpressionStatement 556338 556439 - ParenthesizedExpression 556338 556438 - BinaryExpression 556365 556437 - ObjectLiteralExpression 556365 556396 - ShorthandPropertyAssignment 556366 556382 - Identifier 556366 556382 - PropertyAssignment 556383 556394 - Identifier 556383 556388 - Identifier 556389 556394 - EqualsToken 556396 556398 - CallExpression 556398 556437 - Identifier 556398 556422 - Identifier 556423 556427 - Identifier 556428 556436 - IfStatement 556439 556581 - Identifier 556469 556484 - Block 556485 556581 - ReturnStatement 556487 556554 - CallExpression 556523 556553 - Identifier 556523 556531 - Identifier 556532 556552 - ReturnStatement 556604 556974 - CallExpression 556632 556973 - Identifier 556632 556640 - CallExpression 556641 556972 - PropertyAccessExpression 556641 556682 - Identifier 556641 556648 - Identifier 556649 556682 - Identifier 556683 556713 - CallExpression 556714 556948 - Identifier 556714 556743 - PropertyAccessExpression 556744 556759 - Identifier 556744 556745 - Identifier 556746 556759 - ArrowFunction 556760 556947 - Parameter 556760 556762 - Identifier 556760 556762 - EqualsGreaterThanToken 556762 556765 - BinaryExpression 556765 556947 - CallExpression 556765 556852 - PropertyAccessExpression 556765 556840 - Identifier 556765 556815 - Identifier 556816 556840 - Identifier 556841 556848 - Identifier 556849 556851 - BarBarToken 556852 556884 - CallExpression 556884 556947 - Identifier 556884 556905 - CallExpression 556906 556937 - Identifier 556906 556925 - Identifier 556926 556933 - Identifier 556934 556936 - Identifier 556938 556946 - FunctionDeclaration 556974 557166 - Identifier 557006 557014 - TypeParameter 557015 557016 - Identifier 557015 557016 - Parameter 557018 557027 - Identifier 557018 557024 - TypeReference 557025 557027 - Identifier 557025 557027 - TypeReference 557029 557031 - Identifier 557029 557031 - Block 557031 557166 - ExpressionStatement 557033 557103 - BinaryExpression 557033 557102 - PropertyAccessExpression 557033 557087 - Identifier 557033 557066 - Identifier 557067 557087 - EqualsToken 557087 557089 - Identifier 557089 557102 - ReturnStatement 557103 557143 - Identifier 557135 557142 - IfStatement 557187 557299 - BinaryExpression 557209 557241 - PropertyAccessExpression 557209 557222 - Identifier 557209 557215 - Identifier 557216 557222 - EqualsEqualsEqualsToken 557222 557226 - PropertyAccessExpression 557226 557241 - Identifier 557226 557234 - Identifier 557235 557241 - Block 557242 557299 - ReturnStatement 557244 557280 - Identifier 557272 557279 - ReturnStatement 557299 557334 - Identifier 557323 557333 - FunctionDeclaration 557349 563238 - Identifier 557373 557390 - Parameter 557391 557405 - Identifier 557391 557397 - TypeReference 557398 557405 - Identifier 557398 557405 - Parameter 557406 557424 - Identifier 557406 557416 - StringKeyword 557417 557424 - Parameter 557425 557454 - Identifier 557425 557439 - TypeReference 557440 557454 - Identifier 557440 557454 - Block 557455 563238 - VariableStatement 557457 557535 - VariableDeclarationList 557457 557534 - VariableDeclaration 557480 557534 - Identifier 557480 557493 - CallExpression 557495 557534 - PropertyAccessExpression 557495 557521 - PropertyAccessExpression 557495 557515 - Identifier 557495 557502 - Identifier 557503 557515 - QuestionDotToken 557515 557517 - Identifier 557517 557521 - Identifier 557522 557533 - VariableStatement 557535 557603 - VariableDeclarationList 557535 557602 - VariableDeclaration 557558 557602 - Identifier 557558 557571 - PropertyAccessExpression 557573 557602 - Identifier 557573 557581 - Identifier 557582 557602 - ExpressionStatement 557603 557681 - BinaryExpression 557603 557680 - PropertyAccessExpression 557603 557649 - Identifier 557603 557628 - Identifier 557629 557649 - EqualsToken 557649 557651 - BinaryExpression 557651 557680 - Identifier 557651 557664 - BarBarToken 557664 557667 - Identifier 557667 557680 - VariableStatement 557681 557779 - VariableDeclarationList 557681 557778 - VariableDeclaration 557704 557778 - Identifier 557704 557716 - CallExpression 557718 557778 - Identifier 557718 557770 - Identifier 557771 557777 - VariableStatement 557779 557882 - VariableDeclarationList 557779 557881 - VariableDeclaration 557802 557881 - Identifier 557802 557817 - CallExpression 557819 557881 - Identifier 557819 557823 - Identifier 557824 557835 - ArrowFunction 557836 557880 - Parameter 557836 557838 - Identifier 557836 557838 - EqualsGreaterThanToken 557838 557841 - CallExpression 557841 557880 - Identifier 557841 557868 - Identifier 557869 557870 - Identifier 557871 557879 - VariableStatement 557882 558002 - VariableDeclarationList 557882 558001 - VariableDeclaration 557905 558001 - Identifier 557905 557915 - AsExpression 557917 558001 - CallExpression 557917 557984 - Identifier 557917 557941 - CallExpression 557942 557983 - Identifier 557942 557975 - Identifier 557976 557982 - TypeReference 557987 558001 - Identifier 557987 558001 - VariableStatement 558002 558062 - VariableDeclarationList 558002 558061 - VariableDeclaration 558025 558061 - Identifier 558025 558035 - CallExpression 558037 558061 - Identifier 558037 558050 - Identifier 558051 558060 - VariableStatement 558062 558169 - VariableDeclarationList 558062 558168 - VariableDeclaration 558085 558168 - Identifier 558085 558104 - BinaryExpression 558106 558168 - Identifier 558106 558119 - AmpersandAmpersandToken 558119 558122 - CallExpression 558122 558168 - Identifier 558122 558154 - Identifier 558155 558167 - VariableStatement 558169 558375 - VariableDeclarationList 558169 558374 - VariableDeclaration 558192 558374 - Identifier 558192 558214 - BinaryExpression 558216 558374 - BinaryExpression 558216 558282 - Identifier 558216 558235 - AmpersandAmpersandToken 558235 558238 - CallExpression 558238 558282 - Identifier 558238 558262 - Identifier 558263 558281 - BarBarToken 558282 558306 - CallExpression 558306 558374 - Identifier 558306 558317 - CallExpression 558318 558347 - Identifier 558318 558336 - Identifier 558337 558346 - Identifier 558348 558373 - VariableStatement 558375 558436 - VariableDeclarationList 558375 558435 - VariableDeclaration 558398 558435 - Identifier 558398 558409 - CallExpression 558411 558435 - Identifier 558411 558427 - Identifier 558428 558434 - VariableStatement 558436 558559 - VariableDeclarationList 558436 558558 - VariableDeclaration 558459 558558 - Identifier 558459 558467 - BinaryExpression 558469 558558 - PrefixUnaryExpression 558469 558507 - PrefixUnaryExpression 558471 558507 - PropertyAccessExpression 558472 558507 - PropertyAccessExpression 558472 558489 - Identifier 558472 558482 - Identifier 558483 558489 - QuestionDotToken 558489 558491 - Identifier 558491 558507 - AmpersandAmpersandToken 558507 558510 - CallExpression 558510 558558 - Identifier 558510 558522 - PropertyAccessExpression 558523 558557 - PropertyAccessExpression 558523 558540 - Identifier 558523 558533 - Identifier 558534 558540 - Identifier 558541 558557 - VariableStatement 558559 558721 - VariableDeclarationList 558559 558720 - VariableDeclaration 558582 558720 - Identifier 558582 558597 - ConditionalExpression 558599 558720 - Identifier 558599 558607 - QuestionToken 558607 558630 - CallExpression 558630 558689 - Identifier 558630 558660 - AsExpression 558661 558688 - Identifier 558661 558671 - TypeReference 558674 558688 - Identifier 558674 558688 - ColonToken 558689 558712 - Identifier 558712 558720 - VariableStatement 558721 559110 - VariableDeclarationList 558721 559109 - VariableDeclaration 558744 559109 - Identifier 558744 558760 - ArrayLiteralExpression 558762 559109 - SpreadElement 558764 558942 - ConditionalExpression 558789 558942 - PrefixUnaryExpression 558789 558807 - CallExpression 558790 558807 - Identifier 558790 558796 - Identifier 558797 558806 - QuestionToken 558807 558809 - ArrayLiteralExpression 558809 558812 - ColonToken 558812 558814 - ArrayLiteralExpression 558814 558942 - CallExpression 558816 558941 - PropertyAccessExpression 558816 558844 - Identifier 558816 558823 - Identifier 558824 558844 - PropertyAccessExpression 558845 558870 - Identifier 558845 558855 - Identifier 558856 558870 - CallExpression 558871 558940 - Identifier 558871 558875 - Identifier 558876 558885 - ArrowFunction 558886 558939 - Parameter 558886 558888 - Identifier 558886 558888 - EqualsGreaterThanToken 558888 558891 - CallExpression 558891 558939 - Identifier 558891 558909 - Identifier 558910 558911 - Identifier 558912 558927 - Identifier 558928 558938 - SpreadElement 558943 559089 - ConditionalExpression 558968 559089 - PrefixUnaryExpression 558968 558998 - CallExpression 558969 558998 - Identifier 558969 558975 - Identifier 558976 558997 - QuestionToken 558998 559000 - ArrayLiteralExpression 559000 559003 - ColonToken 559003 559005 - ArrayLiteralExpression 559005 559089 - CallExpression 559007 559088 - PropertyAccessExpression 559007 559035 - Identifier 559007 559014 - Identifier 559015 559035 - PropertyAccessExpression 559036 559064 - Identifier 559036 559046 - Identifier 559047 559064 - Identifier 559065 559087 - VariableStatement 559110 559228 - VariableDeclarationList 559110 559227 - VariableDeclaration 559133 559227 - Identifier 559133 559145 - CallExpression 559147 559227 - Identifier 559147 559173 - Identifier 559174 559183 - Identifier 559184 559194 - CallExpression 559195 559226 - Identifier 559195 559215 - Identifier 559216 559225 - VariableStatement 559228 559698 - VariableDeclarationList 559228 559697 - VariableDeclaration 559251 559697 - Identifier 559251 559269 - CallExpression 559271 559697 - Identifier 559271 559278 - Identifier 559279 559290 - ArrowFunction 559291 559696 - Parameter 559291 559293 - Identifier 559291 559293 - EqualsGreaterThanToken 559293 559296 - Block 559296 559696 - VariableStatement 559298 559561 - VariableDeclarationList 559298 559560 - VariableDeclaration 559529 559560 - Identifier 559529 559539 - PropertyAccessExpression 559541 559560 - Identifier 559541 559543 - Identifier 559544 559560 - ReturnStatement 559561 559677 - BinaryExpression 559589 559676 - PrefixUnaryExpression 559589 559601 - PrefixUnaryExpression 559591 559601 - Identifier 559592 559601 - AmpersandAmpersandToken 559601 559604 - PrefixUnaryExpression 559604 559676 - ParenthesizedExpression 559606 559676 - BinaryExpression 559607 559675 - CallExpression 559607 559636 - Identifier 559607 559625 - Identifier 559626 559635 - AmpersandAmpersandToken 559636 559639 - CallExpression 559639 559675 - Identifier 559639 559659 - PropertyAccessExpression 559660 559674 - Identifier 559660 559669 - Identifier 559670 559674 - VariableStatement 559698 560166 - VariableDeclarationList 559698 560165 - VariableDeclaration 559721 560165 - Identifier 559721 559742 - CallExpression 559744 560165 - Identifier 559744 559749 - Identifier 559750 559761 - ArrowFunction 559762 560164 - Parameter 559762 559764 - Identifier 559762 559764 - EqualsGreaterThanToken 559764 559767 - Block 559767 560164 - VariableStatement 559769 560032 - VariableDeclarationList 559769 560031 - VariableDeclaration 560000 560031 - Identifier 560000 560010 - PropertyAccessExpression 560012 560031 - Identifier 560012 560014 - Identifier 560015 560031 - ReturnStatement 560032 560145 - BinaryExpression 560060 560144 - BinaryExpression 560060 560105 - PrefixUnaryExpression 560060 560072 - PrefixUnaryExpression 560062 560072 - Identifier 560063 560072 - AmpersandAmpersandToken 560072 560075 - CallExpression 560075 560105 - Identifier 560075 560094 - Identifier 560095 560104 - AmpersandAmpersandToken 560105 560108 - CallExpression 560108 560144 - Identifier 560108 560128 - PropertyAccessExpression 560129 560143 - Identifier 560129 560138 - Identifier 560139 560143 - VariableStatement 560166 560704 - VariableDeclarationList 560166 560703 - VariableDeclaration 560261 560703 - Identifier 560261 560279 - ConditionalExpression 560281 560703 - Identifier 560281 560302 - QuestionToken 560302 560304 - ArrayLiteralExpression 560304 560669 - CallExpression 560327 560668 - PropertyAccessExpression 560327 560360 - Identifier 560327 560334 - Identifier 560335 560360 - Identifier 560361 560410 - CallExpression 560411 560480 - PropertyAccessExpression 560411 560468 - Identifier 560411 560444 - Identifier 560445 560468 - StringLiteral 560469 560479 - Identifier 560481 560547 - Identifier 560548 560592 - Identifier 560593 560644 - ColonToken 560669 560671 - Identifier 560671 560703 - VariableStatement 560704 560871 - VariableDeclarationList 560704 560870 - VariableDeclaration 560727 560870 - Identifier 560727 560744 - CallExpression 560746 560870 - Identifier 560746 560754 - TypeReference 560755 560761 - Identifier 560755 560761 - TypeReference 560762 560775 - Identifier 560762 560775 - Identifier 560777 560794 - ArrowFunction 560795 560869 - Parameter 560795 560797 - Identifier 560795 560797 - EqualsGreaterThanToken 560797 560800 - CallExpression 560800 560869 - Identifier 560800 560832 - Identifier 560833 560834 - FalseKeyword 560835 560854 - ElementAccessExpression 560855 560868 - Identifier 560855 560865 - NumericLiteral 560866 560867 - VariableStatement 560871 561340 - VariableDeclarationList 560871 561339 - VariableDeclaration 561037 561339 - Identifier 561037 561051 - CallExpression 561053 561339 - Identifier 561053 561061 - CallExpression 561062 561222 - Identifier 561062 561090 - CallExpression 561091 561122 - Identifier 561091 561110 - Identifier 561111 561121 - ArrowFunction 561123 561221 - Parameter 561123 561125 - Identifier 561123 561125 - EqualsGreaterThanToken 561125 561128 - BinaryExpression 561128 561221 - BinaryExpression 561128 561196 - PrefixUnaryExpression 561128 561163 - ParenthesizedExpression 561130 561163 - BinaryExpression 561131 561162 - PropertyAccessExpression 561131 561138 - Identifier 561131 561132 - Identifier 561133 561138 - AmpersandToken 561138 561140 - PropertyAccessExpression 561140 561162 - Identifier 561140 561152 - Identifier 561153 561162 - AmpersandAmpersandToken 561163 561166 - BinaryExpression 561166 561196 - PropertyAccessExpression 561166 561180 - Identifier 561166 561168 - Identifier 561169 561180 - ExclamationEqualsEqualsToken 561180 561184 - StringLiteral 561184 561196 - AmpersandAmpersandToken 561196 561199 - PrefixUnaryExpression 561199 561221 - CallExpression 561201 561221 - Identifier 561201 561218 - Identifier 561219 561220 - ArrowFunction 561223 561319 - Parameter 561223 561246 - Identifier 561223 561246 - EqualsGreaterThanToken 561246 561249 - CallExpression 561249 561319 - Identifier 561249 561281 - Identifier 561282 561283 - TrueKeyword 561284 561302 - Identifier 561303 561318 - VariableStatement 561340 561987 - VariableDeclarationList 561340 561986 - VariableDeclaration 561741 561986 - Identifier 561741 561777 - BinaryExpression 561779 561986 - BinaryExpression 561779 561898 - BinaryExpression 561779 561838 - PrefixUnaryExpression 561779 561788 - Identifier 561781 561788 - AmpersandAmpersandToken 561788 561791 - PrefixUnaryExpression 561791 561838 - PrefixUnaryExpression 561814 561838 - PropertyAccessExpression 561815 561838 - Identifier 561815 561821 - Identifier 561822 561838 - AmpersandAmpersandToken 561838 561841 - CallExpression 561841 561898 - Identifier 561841 561873 - PropertyAccessExpression 561874 561897 - Identifier 561874 561880 - Identifier 561881 561897 - AmpersandAmpersandToken 561898 561901 - PrefixUnaryExpression 561901 561986 - CallExpression 561924 561986 - Identifier 561924 561928 - CallExpression 561929 561985 - Identifier 561929 561948 - Identifier 561949 561959 - PropertyAccessExpression 561960 561984 - Identifier 561960 561974 - Identifier 561975 561984 - VariableStatement 561987 562361 - VariableDeclarationList 561987 562360 - VariableDeclaration 562010 562360 - Identifier 562010 562023 - ConditionalExpression 562025 562360 - Identifier 562025 562061 - QuestionToken 562061 562063 - ArrayLiteralExpression 562063 562212 - CallExpression 562086 562211 - PropertyAccessExpression 562086 562122 - Identifier 562086 562093 - Identifier 562094 562122 - CallExpression 562123 562186 - PropertyAccessExpression 562123 562163 - Identifier 562123 562130 - Identifier 562131 562163 - PropertyAccessExpression 562164 562185 - Identifier 562164 562177 - Identifier 562178 562185 - ArrayLiteralExpression 562187 562190 - Identifier 562191 562210 - ColonToken 562212 562214 - AsExpression 562214 562360 - CallExpression 562214 562332 - Identifier 562214 562255 - PropertyAccessExpression 562256 562279 - Identifier 562256 562269 - Identifier 562270 562279 - Identifier 562280 562291 - Identifier 562292 562307 - PropertyAccessExpression 562308 562331 - Identifier 562308 562319 - Identifier 562320 562331 - ArrayType 562335 562360 - TypeReference 562335 562358 - Identifier 562335 562358 - VariableStatement 562361 562453 - VariableDeclarationList 562361 562452 - VariableDeclaration 562384 562452 - Identifier 562384 562400 - CallExpression 562402 562452 - Identifier 562402 562427 - Identifier 562428 562437 - ElementAccessExpression 562438 562451 - Identifier 562438 562448 - NumericLiteral 562449 562450 - ExpressionStatement 562453 562515 - BinaryExpression 562453 562514 - PropertyAccessExpression 562453 562499 - Identifier 562453 562478 - Identifier 562479 562499 - EqualsToken 562499 562501 - Identifier 562501 562514 - ExpressionStatement 562515 563223 - CallExpression 562515 563222 - Identifier 562515 562542 - CallExpression 562543 563166 - Identifier 562543 562577 - Identifier 562578 562611 - CallExpression 562612 563010 - PropertyAccessExpression 562612 562668 - Identifier 562612 562645 - Identifier 562646 562668 - Identifier 562669 562722 - Identifier 562723 562762 - Identifier 562763 562807 - Identifier 562808 562853 - ArrayLiteralExpression 562854 562982 - SpreadElement 562885 562903 - Identifier 562888 562903 - SpreadElement 562904 562921 - Identifier 562908 562921 - SpreadElement 562922 562938 - Identifier 562926 562938 - SpreadElement 562939 562959 - Identifier 562943 562959 - SpreadElement 562960 562981 - Identifier 562964 562981 - BinaryExpression 563011 563142 - PropertyAccessExpression 563011 563056 - Identifier 563011 563043 - Identifier 563044 563056 - AmpersandAmpersandToken 563056 563059 - ElementAccessExpression 563059 563142 - CallExpression 563059 563139 - Identifier 563059 563066 - PropertyAccessExpression 563067 563086 - Identifier 563067 563073 - Identifier 563074 563086 - ArrowFunction 563087 563138 - Parameter 563087 563089 - Identifier 563087 563089 - EqualsGreaterThanToken 563089 563092 - BinaryExpression 563092 563138 - CallExpression 563092 563114 - Identifier 563092 563111 - Identifier 563112 563113 - BarBarToken 563114 563117 - CallExpression 563117 563138 - Identifier 563117 563135 - Identifier 563136 563137 - NumericLiteral 563140 563141 - Identifier 563167 563202 - FunctionDeclaration 563238 564431 - Identifier 563262 563296 - Parameter 563297 563336 - Identifier 563297 563309 - UnionType 563310 563336 - ArrayType 563310 563324 - TypeReference 563310 563322 - Identifier 563310 563322 - UndefinedKeyword 563326 563336 - Block 563337 564431 - ReturnStatement 563339 564416 - CallExpression 563363 564415 - Identifier 563363 563376 - Identifier 563377 563389 - ArrowFunction 563390 564414 - Parameter 563390 563392 - Identifier 563390 563392 - EqualsGreaterThanToken 563392 563395 - Block 563395 564414 - IfStatement 563397 563582 - BinaryExpression 563423 563467 - CallExpression 563423 563443 - Identifier 563423 563440 - Identifier 563441 563442 - BarBarToken 563443 563446 - CallExpression 563446 563467 - Identifier 563446 563464 - Identifier 563465 563466 - Block 563468 563582 - ReturnStatement 563470 563559 - CallExpression 563502 563558 - Identifier 563502 563532 - BinaryExpression 563533 563557 - PropertyAccessExpression 563533 563547 - Identifier 563533 563534 - Identifier 563535 563547 - BarBarToken 563547 563550 - PropertyAccessExpression 563550 563557 - Identifier 563550 563552 - Identifier 563553 563557 - IfStatement 563582 563931 - BinaryExpression 563608 563654 - CallExpression 563608 563629 - Identifier 563608 563626 - Identifier 563627 563628 - BarBarToken 563629 563632 - CallExpression 563632 563654 - Identifier 563632 563651 - Identifier 563652 563653 - Block 563655 563931 - VariableStatement 563657 563749 - VariableDeclarationList 563657 563748 - VariableDeclaration 563688 563748 - Identifier 563688 563699 - ConditionalExpression 563701 563748 - CallExpression 563701 563723 - Identifier 563701 563720 - Identifier 563721 563722 - QuestionToken 563723 563725 - PropertyAccessExpression 563725 563738 - Identifier 563725 563727 - Identifier 563728 563738 - ColonToken 563738 563740 - PropertyAccessExpression 563740 563748 - Identifier 563740 563742 - Identifier 563743 563748 - IfStatement 563749 563908 - CallExpression 563779 563817 - Identifier 563779 563805 - Identifier 563806 563816 - Block 563818 563908 - ReturnStatement 563820 563881 - CallExpression 563856 563880 - Identifier 563856 563863 - PropertyAccessExpression 563864 563879 - Identifier 563864 563874 - Identifier 563875 563879 - IfStatement 563931 564356 - CallExpression 563957 563984 - Identifier 563957 563981 - Identifier 563982 563983 - Block 563985 564356 - VariableStatement 563987 564197 - VariableDeclarationList 563987 564196 - VariableDeclaration 564165 564196 - Identifier 564165 564170 - CallExpression 564172 564196 - Identifier 564172 564193 - Identifier 564194 564195 - IfStatement 564197 564333 - BinaryExpression 564227 564253 - Identifier 564227 564231 - AmpersandAmpersandToken 564231 564234 - CallExpression 564234 564253 - Identifier 564234 564247 - Identifier 564248 564252 - Block 564254 564333 - ReturnStatement 564256 564306 - CallExpression 564292 564305 - Identifier 564292 564299 - Identifier 564300 564304 - ReturnStatement 564356 564395 - Identifier 564384 564394 - FunctionDeclaration 564431 579733 - Identifier 564455 564472 - Parameter 564473 564487 - Identifier 564473 564479 - TypeReference 564480 564487 - Identifier 564480 564487 - Parameter 564488 564506 - Identifier 564488 564498 - StringKeyword 564499 564506 - Parameter 564507 564536 - Identifier 564507 564521 - TypeReference 564522 564536 - Identifier 564522 564536 - Block 564537 579733 - VariableStatement 564539 564831 - VariableDeclarationList 564539 564830 - VariableDeclaration 564787 564830 - Identifier 564787 564792 - CallExpression 564794 564830 - Identifier 564794 564822 - Identifier 564823 564829 - IfStatement 564831 564880 - PrefixUnaryExpression 564853 564858 - Identifier 564854 564858 - ReturnStatement 564859 564880 - CallExpression 564866 564879 - PropertyAccessExpression 564866 564877 - Identifier 564866 564872 - Identifier 564873 564877 - VariableStatement 564880 564997 - VariableDeclarationList 564880 564996 - VariableDeclaration 564903 564996 - Identifier 564903 564910 - CallExpression 564912 564996 - Identifier 564912 564928 - CallExpression 564929 564995 - Identifier 564929 564956 - Identifier 564957 564961 - TrueKeyword 564962 564994 - IfStatement 564997 565077 - PrefixUnaryExpression 565019 565026 - Identifier 565020 565026 - Block 565027 565077 - ReturnStatement 565029 565058 - VariableStatement 565077 565555 - VariableDeclarationList 565077 565554 - VariableDeclaration 565386 565554 - Identifier 565386 565405 - BinaryExpression 565407 565554 - BinaryExpression 565407 565504 - CallExpression 565407 565446 - Identifier 565407 565438 - Identifier 565439 565445 - AmpersandAmpersandToken 565446 565449 - CallExpression 565449 565504 - Identifier 565449 565483 - PropertyAccessExpression 565484 565503 - Identifier 565484 565490 - Identifier 565491 565503 - BarBarToken 565504 565507 - CallExpression 565507 565554 - Identifier 565507 565534 - PropertyAccessExpression 565535 565553 - Identifier 565535 565541 - Identifier 565542 565553 - IfStatement 565555 565881 - BinaryExpression 565577 565663 - BinaryExpression 565577 565631 - Identifier 565577 565595 - EqualsEqualsEqualsToken 565595 565599 - PropertyAccessExpression 565599 565631 - Identifier 565599 565618 - Identifier 565619 565631 - AmpersandAmpersandToken 565631 565634 - Identifier 565634 565663 - Block 565664 565881 - ExpressionStatement 565666 565862 - BinaryExpression 565666 565861 - Identifier 565666 565832 - EqualsToken 565832 565834 - PropertyAccessExpression 565834 565861 - Identifier 565834 565853 - Identifier 565854 565861 - VariableStatement 565881 565968 - VariableDeclarationList 565881 565967 - VariableDeclaration 565904 565967 - Identifier 565904 565915 - CallExpression 565917 565967 - Identifier 565917 565939 - Identifier 565940 565946 - Identifier 565947 565966 - ExpressionStatement 565968 566015 - CallExpression 565968 566014 - Identifier 565968 566006 - Identifier 566007 566013 - SwitchStatement 566015 579718 - PropertyAccessExpression 566116 566125 - Identifier 566116 566120 - Identifier 566121 566125 - CaseBlock 566126 579718 - CaseClause 566128 567987 - PropertyAccessExpression 566154 566180 - Identifier 566154 566165 - Identifier 566166 566180 - IfStatement 566181 567711 - BinaryExpression 566211 566271 - PropertyAccessExpression 566211 566236 - PropertyAccessExpression 566211 566230 - PropertyAccessExpression 566211 566222 - Identifier 566211 566215 - Identifier 566216 566222 - QuestionDotToken 566222 566224 - Identifier 566224 566230 - QuestionDotToken 566230 566232 - Identifier 566232 566236 - EqualsEqualsEqualsToken 566236 566240 - PropertyAccessExpression 566240 566271 - Identifier 566240 566251 - Identifier 566252 566271 - Block 566272 567711 - VariableStatement 566274 566456 - VariableDeclarationList 566274 566455 - VariableDeclaration 566381 566455 - Identifier 566381 566391 - CallExpression 566393 566455 - Identifier 566393 566421 - BinaryExpression 566422 566445 - PropertyAccessExpression 566422 566435 - Identifier 566422 566428 - Identifier 566429 566435 - BarBarToken 566435 566438 - Identifier 566438 566445 - Identifier 566446 566454 - VariableStatement 566456 566545 - VariableDeclarationList 566456 566544 - VariableDeclaration 566502 566544 - ObjectBindingPattern 566502 566519 - BindingElement 566504 566517 - Identifier 566504 566517 - AsExpression 566521 566544 - Identifier 566521 566526 - TypeReference 566529 566544 - Identifier 566529 566544 - ExpressionStatement 566545 567648 - CallExpression 566545 567647 - Identifier 566545 566584 - CallExpression 566585 567562 - PropertyAccessExpression 566585 566650 - Identifier 566585 566626 - Identifier 566627 566650 - Identifier 566651 566712 - CallExpression 566713 567386 - PropertyAccessExpression 566713 566777 - Identifier 566713 566758 - Identifier 566759 566777 - FalseKeyword 566778 566840 - Identifier 566841 566901 - CallExpression 566902 567346 - PropertyAccessExpression 566902 566970 - Identifier 566902 566951 - Identifier 566952 566970 - ArrayLiteralExpression 566971 567345 - CallExpression 566972 567344 - PropertyAccessExpression 566972 567001 - Identifier 566972 566979 - Identifier 566980 567001 - FalseKeyword 567002 567068 - ConditionalExpression 567069 567218 - BinaryExpression 567069 567157 - Identifier 567069 567127 - AmpersandAmpersandToken 567127 567130 - CallExpression 567130 567157 - Identifier 567130 567143 - Identifier 567144 567156 - QuestionToken 567157 567159 - CallExpression 567159 567206 - PropertyAccessExpression 567159 567184 - Identifier 567159 567167 - Identifier 567168 567184 - CallExpression 567185 567205 - Identifier 567185 567191 - Identifier 567192 567204 - ColonToken 567206 567208 - Identifier 567208 567218 - CallExpression 567219 567300 - PropertyAccessExpression 567219 567289 - Identifier 567219 567272 - Identifier 567273 567289 - Identifier 567290 567299 - CallExpression 567387 567463 - PropertyAccessExpression 567387 567452 - Identifier 567387 567432 - Identifier 567433 567452 - Identifier 567453 567462 - Identifier 567464 567526 - PropertyAccessExpression 567563 567615 - Identifier 567563 567610 - Identifier 567611 567615 - BreakStatement 567648 567684 - ExpressionStatement 567711 567955 - CallExpression 567711 567954 - PropertyAccessExpression 567711 567850 - Identifier 567711 567832 - Identifier 567833 567850 - BinaryExpression 567851 567878 - PropertyAccessExpression 567851 567870 - PropertyAccessExpression 567851 567862 - Identifier 567851 567855 - Identifier 567856 567862 - QuestionDotToken 567862 567864 - Identifier 567864 567870 - BarBarToken 567870 567873 - Identifier 567873 567878 - StringLiteral 567879 567953 - BreakStatement 567955 567987 - CaseClause 567987 568478 - PropertyAccessExpression 568013 568052 - Identifier 568013 568024 - Identifier 568025 568052 - IfStatement 568053 568446 - BinaryExpression 568083 568140 - PropertyAccessExpression 568083 568108 - PropertyAccessExpression 568083 568102 - PropertyAccessExpression 568083 568094 - Identifier 568083 568087 - Identifier 568088 568094 - QuestionDotToken 568094 568096 - Identifier 568096 568102 - QuestionDotToken 568102 568104 - Identifier 568104 568108 - EqualsEqualsEqualsToken 568108 568112 - PropertyAccessExpression 568112 568140 - Identifier 568112 568123 - Identifier 568124 568140 - Block 568141 568446 - ExpressionStatement 568143 568419 - CallExpression 568143 568418 - Identifier 568143 568260 - CallExpression 568261 568341 - Identifier 568261 568321 - PropertyAccessExpression 568322 568340 - Identifier 568322 568328 - Identifier 568329 568340 - Identifier 568342 568386 - BreakStatement 568446 568478 - CaseClause 568478 570333 - PropertyAccessExpression 568504 568535 - Identifier 568504 568515 - Identifier 568516 568535 - IfStatement 568536 570333 - CallExpression 568635 568705 - Identifier 568635 568661 - NonNullExpression 568662 568704 - PropertyAccessExpression 568662 568703 - ParenthesizedExpression 568662 568691 - AsExpression 568663 568690 - Identifier 568663 568667 - TypeReference 568670 568690 - Identifier 568670 568690 - Identifier 568692 568703 - Block 568706 570333 - VariableStatement 568708 568886 - VariableDeclarationList 568708 568885 - VariableDeclaration 568800 568885 - Identifier 568800 568812 - AsExpression 568814 568885 - NonNullExpression 568814 568857 - PropertyAccessExpression 568814 568856 - ParenthesizedExpression 568814 568844 - AsExpression 568816 568843 - Identifier 568816 568820 - TypeReference 568823 568843 - Identifier 568823 568843 - Identifier 568845 568856 - TypeReference 568860 568885 - Identifier 568860 568885 - VariableStatement 568886 568989 - VariableDeclarationList 568886 568988 - VariableDeclaration 568939 568988 - Identifier 568939 568950 - CallExpression 568952 568988 - PropertyAccessExpression 568952 568977 - Identifier 568952 568960 - Identifier 568961 568977 - Identifier 568978 568987 - VariableStatement 568989 569105 - VariableDeclarationList 568989 569104 - VariableDeclaration 569030 569104 - Identifier 569030 569040 - CallExpression 569042 569104 - Identifier 569042 569070 - BinaryExpression 569071 569094 - PropertyAccessExpression 569071 569084 - Identifier 569071 569077 - Identifier 569078 569084 - BarBarToken 569084 569087 - Identifier 569087 569094 - Identifier 569095 569103 - ExpressionStatement 569105 569689 - CallExpression 569105 569688 - Identifier 569105 569209 - CallExpression 569210 569603 - PropertyAccessExpression 569210 569281 - Identifier 569210 569251 - Identifier 569252 569281 - Identifier 569282 569343 - FalseKeyword 569344 569402 - Identifier 569403 569451 - CallExpression 569452 569567 - PropertyAccessExpression 569452 569527 - Identifier 569452 569497 - Identifier 569498 569527 - CallExpression 569528 569566 - PropertyAccessExpression 569528 569555 - Identifier 569528 569535 - Identifier 569536 569555 - Identifier 569556 569565 - PropertyAccessExpression 569604 569656 - Identifier 569604 569651 - Identifier 569652 569656 - ExpressionStatement 569689 570270 - CallExpression 569689 570269 - Identifier 569689 569776 - CallExpression 569777 570189 - PropertyAccessExpression 569777 569848 - Identifier 569777 569818 - Identifier 569819 569848 - Identifier 569849 569910 - FalseKeyword 569911 569969 - CallExpression 569970 570043 - PropertyAccessExpression 569970 570032 - Identifier 569970 570015 - Identifier 570016 570032 - Identifier 570033 570042 - CallExpression 570044 570153 - PropertyAccessExpression 570044 570109 - Identifier 570044 570089 - Identifier 570090 570109 - Identifier 570110 570120 - AsExpression 570121 570152 - PropertyAccessExpression 570121 570138 - Identifier 570121 570133 - Identifier 570134 570138 - TypeReference 570141 570152 - Identifier 570141 570152 - Identifier 570190 570237 - BreakStatement 570270 570306 - CaseClause 570333 572074 - PropertyAccessExpression 570450 570485 - Identifier 570450 570461 - Identifier 570462 570485 - IfStatement 570486 571017 - BinaryExpression 570755 570883 - BinaryExpression 570755 570809 - PropertyAccessExpression 570755 570773 - Identifier 570755 570761 - Identifier 570762 570773 - EqualsEqualsEqualsToken 570773 570777 - PropertyAccessExpression 570777 570809 - Identifier 570777 570796 - Identifier 570797 570809 - AmpersandAmpersandToken 570809 570812 - CallExpression 570812 570883 - Identifier 570812 570817 - PropertyAccessExpression 570818 570837 - Identifier 570818 570824 - Identifier 570825 570837 - ArrowFunction 570838 570882 - Parameter 570838 570840 - Identifier 570838 570840 - EqualsGreaterThanToken 570840 570843 - BinaryExpression 570843 570882 - CallExpression 570843 570859 - Identifier 570843 570856 - Identifier 570857 570858 - AmpersandAmpersandToken 570859 570862 - CallExpression 570862 570882 - Identifier 570862 570879 - Identifier 570880 570881 - Block 570884 571017 - ExpressionStatement 570886 570954 - CallExpression 570886 570953 - Identifier 570886 570945 - Identifier 570946 570952 - BreakStatement 570954 570990 - VariableStatement 571017 571299 - VariableDeclarationList 571017 571298 - VariableDeclaration 571208 571298 - Identifier 571208 571222 - BinaryExpression 571224 571298 - PrefixUnaryExpression 571224 571266 - ParenthesizedExpression 571226 571266 - BinaryExpression 571227 571265 - PropertyAccessExpression 571227 571239 - Identifier 571227 571233 - Identifier 571234 571239 - AmpersandToken 571239 571241 - PropertyAccessExpression 571241 571265 - Identifier 571241 571253 - Identifier 571254 571265 - AmpersandAmpersandToken 571266 571269 - PrefixUnaryExpression 571269 571298 - CallExpression 571271 571298 - Identifier 571271 571292 - Identifier 571293 571297 - ExpressionStatement 571299 572042 - CallExpression 571299 572041 - Identifier 571299 571334 - CallExpression 571335 571932 - PropertyAccessExpression 571335 571402 - Identifier 571335 571372 - Identifier 571373 571402 - Identifier 571403 571460 - FalseKeyword 571461 571515 - CallExpression 571516 571585 - PropertyAccessExpression 571516 571574 - Identifier 571516 571557 - Identifier 571558 571574 - Identifier 571575 571584 - ConditionalExpression 571586 571900 - Identifier 571586 571633 - QuestionToken 571633 571672 - CallExpression 571672 571748 - Identifier 571672 571685 - Identifier 571686 571692 - Identifier 571693 571701 - PropertyAccessExpression 571702 571718 - Identifier 571702 571714 - Identifier 571715 571718 - FalseKeyword 571719 571747 - ColonToken 571748 571787 - CallExpression 571787 571900 - PropertyAccessExpression 571787 571825 - Identifier 571787 571795 - Identifier 571796 571825 - CallExpression 571826 571899 - PropertyAccessExpression 571826 571853 - Identifier 571826 571833 - Identifier 571834 571853 - CallExpression 571854 571898 - Identifier 571854 571881 - Identifier 571882 571888 - Identifier 571889 571897 - ConditionalExpression 571933 572013 - Identifier 571933 571976 - QuestionToken 571976 571978 - Identifier 571978 571992 - ColonToken 571992 571994 - PropertyAccessExpression 571994 572013 - Identifier 571994 572008 - Identifier 572009 572013 - BreakStatement 572042 572074 - CaseClause 572074 572568 - PropertyAccessExpression 572100 572138 - Identifier 572100 572111 - Identifier 572112 572138 - ExpressionStatement 572139 572536 - CallExpression 572139 572535 - Identifier 572139 572422 - CallExpression 572423 572514 - PropertyAccessExpression 572423 572463 - Identifier 572423 572430 - Identifier 572431 572463 - CallExpression 572464 572513 - Identifier 572464 572470 - PropertyAccessExpression 572471 572512 - ParenthesizedExpression 572471 572507 - AsExpression 572472 572506 - Identifier 572472 572476 - TypeReference 572479 572506 - Identifier 572479 572506 - Identifier 572508 572512 - PropertyAccessExpression 572515 572534 - Identifier 572515 572529 - Identifier 572530 572534 - BreakStatement 572536 572568 - CaseClause 572568 573767 - PropertyAccessExpression 572594 572618 - Identifier 572594 572605 - Identifier 572606 572618 - Block 572619 573767 - VariableStatement 572621 572736 - VariableDeclarationList 572621 572735 - VariableDeclaration 572652 572735 - Identifier 572652 572671 - CallExpression 572673 572735 - Identifier 572673 572701 - BinaryExpression 572702 572725 - PropertyAccessExpression 572702 572715 - Identifier 572702 572708 - Identifier 572709 572715 - BarBarToken 572715 572718 - Identifier 572718 572725 - Identifier 572726 572734 - VariableStatement 572736 573011 - VariableDeclarationList 572736 573010 - VariableDeclaration 572884 573010 - Identifier 572884 572894 - ConditionalExpression 572896 573010 - PropertyAccessExpression 572896 572912 - Identifier 572896 572904 - Identifier 572905 572912 - QuestionToken 572912 572914 - CallExpression 572914 572962 - PropertyAccessExpression 572914 572942 - Identifier 572914 572922 - Identifier 572923 572942 - Identifier 572943 572961 - ColonToken 572962 572964 - PropertyAccessExpression 572964 573010 - PropertyAccessExpression 572964 572994 - ParenthesizedExpression 572964 572987 - AsExpression 572966 572986 - Identifier 572966 572970 - TypeReference 572973 572986 - Identifier 572973 572986 - Identifier 572988 572994 - Identifier 572995 573010 - VariableStatement 573011 573126 - VariableDeclarationList 573011 573125 - VariableDeclaration 573042 573125 - Identifier 573042 573053 - ConditionalExpression 573055 573125 - CallExpression 573055 573088 - Identifier 573055 573075 - PropertyAccessExpression 573076 573087 - Identifier 573076 573080 - Identifier 573081 573087 - QuestionToken 573088 573090 - PropertyAccessExpression 573090 573113 - PropertyAccessExpression 573090 573102 - Identifier 573090 573095 - Identifier 573096 573102 - Identifier 573103 573113 - ColonToken 573113 573115 - Identifier 573115 573125 - VariableStatement 573126 573219 - VariableDeclarationList 573126 573218 - VariableDeclaration 573157 573218 - Identifier 573157 573168 - CallExpression 573170 573218 - Identifier 573170 573187 - PropertyAccessExpression 573188 573217 - ParenthesizedExpression 573188 573210 - AsExpression 573189 573209 - Identifier 573189 573193 - TypeReference 573196 573209 - Identifier 573196 573209 - Identifier 573211 573217 - ExpressionStatement 573219 573712 - CallExpression 573219 573711 - Identifier 573219 573254 - CallExpression 573255 573634 - PropertyAccessExpression 573255 573316 - Identifier 573255 573292 - Identifier 573293 573316 - Identifier 573317 573374 - CallExpression 573375 573513 - PropertyAccessExpression 573375 573435 - Identifier 573375 573416 - Identifier 573417 573435 - Identifier 573436 573446 - CallExpression 573447 573483 - PropertyAccessExpression 573447 573472 - Identifier 573447 573455 - Identifier 573456 573472 - Identifier 573473 573482 - Identifier 573484 573512 - Identifier 573514 573557 - Identifier 573558 573602 - PropertyAccessExpression 573635 573683 - Identifier 573635 573678 - Identifier 573679 573683 - BreakStatement 573712 573744 - CaseClause 573767 574926 - PropertyAccessExpression 573793 573820 - Identifier 573793 573804 - Identifier 573805 573820 - Block 573821 574926 - VariableStatement 573823 573938 - VariableDeclarationList 573823 573937 - VariableDeclaration 573854 573937 - Identifier 573854 573873 - CallExpression 573875 573937 - Identifier 573875 573903 - BinaryExpression 573904 573927 - PropertyAccessExpression 573904 573917 - Identifier 573904 573910 - Identifier 573911 573917 - BarBarToken 573917 573920 - Identifier 573920 573927 - Identifier 573928 573936 - VariableStatement 573938 574223 - VariableDeclarationList 573938 574222 - VariableDeclaration 574086 574222 - Identifier 574086 574096 - ConditionalExpression 574098 574222 - PropertyAccessExpression 574098 574114 - Identifier 574098 574106 - Identifier 574107 574114 - QuestionToken 574114 574116 - CallExpression 574116 574164 - PropertyAccessExpression 574116 574144 - Identifier 574116 574124 - Identifier 574125 574144 - Identifier 574145 574163 - ColonToken 574164 574166 - PropertyAccessExpression 574166 574222 - PropertyAccessExpression 574166 574206 - PropertyAccessExpression 574166 574199 - ParenthesizedExpression 574166 574192 - AsExpression 574168 574191 - Identifier 574168 574172 - TypeReference 574175 574191 - Identifier 574175 574191 - Identifier 574193 574199 - Identifier 574200 574206 - Identifier 574207 574222 - VariableStatement 574223 574326 - VariableDeclarationList 574223 574325 - VariableDeclaration 574254 574325 - Identifier 574254 574265 - CallExpression 574267 574325 - Identifier 574267 574284 - PropertyAccessExpression 574285 574324 - PropertyAccessExpression 574285 574317 - ParenthesizedExpression 574285 574310 - AsExpression 574286 574309 - Identifier 574286 574290 - TypeReference 574293 574309 - Identifier 574293 574309 - Identifier 574311 574317 - Identifier 574318 574324 - ExpressionStatement 574326 574871 - CallExpression 574326 574870 - Identifier 574326 574361 - CallExpression 574362 574793 - PropertyAccessExpression 574362 574423 - Identifier 574362 574399 - Identifier 574400 574423 - Identifier 574424 574481 - CallExpression 574482 574642 - PropertyAccessExpression 574482 574542 - Identifier 574482 574523 - Identifier 574524 574542 - Identifier 574543 574553 - Identifier 574554 574573 - CallExpression 574574 574641 - PropertyAccessExpression 574574 574604 - Identifier 574574 574582 - Identifier 574583 574604 - CallExpression 574605 574640 - PropertyAccessExpression 574605 574629 - Identifier 574605 574612 - Identifier 574613 574629 - Identifier 574630 574639 - Identifier 574643 574686 - PropertyAccessExpression 574687 574761 - PropertyAccessExpression 574687 574750 - ParenthesizedExpression 574687 574743 - AsExpression 574722 574742 - Identifier 574722 574726 - TypeReference 574729 574742 - Identifier 574729 574742 - Identifier 574744 574750 - Identifier 574751 574761 - PropertyAccessExpression 574794 574842 - Identifier 574794 574837 - Identifier 574838 574842 - BreakStatement 574871 574903 - CaseClause 574926 575541 - PropertyAccessExpression 574952 574979 - Identifier 574952 574963 - Identifier 574964 574979 - ExpressionStatement 574980 575509 - CallExpression 574980 575508 - Identifier 574980 575015 - CallExpression 575016 575431 - PropertyAccessExpression 575016 575077 - Identifier 575016 575053 - Identifier 575054 575077 - Identifier 575078 575135 - FalseKeyword 575136 575190 - CallExpression 575191 575291 - PropertyAccessExpression 575191 575254 - Identifier 575191 575232 - Identifier 575233 575254 - CallExpression 575255 575290 - PropertyAccessExpression 575255 575279 - Identifier 575255 575262 - Identifier 575263 575279 - Identifier 575280 575289 - CallExpression 575292 575399 - PropertyAccessExpression 575292 575353 - Identifier 575292 575333 - Identifier 575334 575353 - CallExpression 575354 575398 - Identifier 575354 575381 - Identifier 575382 575388 - Identifier 575389 575397 - PropertyAccessExpression 575432 575480 - Identifier 575432 575475 - Identifier 575476 575480 - BreakStatement 575509 575541 - CaseClause 575541 577283 - PropertyAccessExpression 575567 575594 - Identifier 575567 575578 - Identifier 575579 575594 - Block 575595 577283 - VariableStatement 575597 575712 - VariableDeclarationList 575597 575711 - VariableDeclaration 575628 575711 - Identifier 575628 575647 - CallExpression 575649 575711 - Identifier 575649 575677 - BinaryExpression 575678 575701 - PropertyAccessExpression 575678 575691 - Identifier 575678 575684 - Identifier 575685 575691 - BarBarToken 575691 575694 - Identifier 575694 575701 - Identifier 575702 575710 - VariableStatement 575712 576004 - VariableDeclarationList 575712 576003 - VariableDeclaration 575860 576003 - Identifier 575860 575870 - ConditionalExpression 575872 576003 - PropertyAccessExpression 575872 575888 - Identifier 575872 575880 - Identifier 575881 575888 - QuestionToken 575888 575890 - CallExpression 575890 575938 - PropertyAccessExpression 575890 575918 - Identifier 575890 575898 - Identifier 575899 575918 - Identifier 575919 575937 - ColonToken 575938 575940 - PropertyAccessExpression 575940 576003 - PropertyAccessExpression 575940 575987 - PropertyAccessExpression 575940 575980 - PropertyAccessExpression 575940 575973 - ParenthesizedExpression 575940 575966 - AsExpression 575942 575965 - Identifier 575942 575946 - TypeReference 575949 575965 - Identifier 575949 575965 - Identifier 575967 575973 - Identifier 575974 575980 - Identifier 575981 575987 - Identifier 575988 576003 - VariableStatement 576004 576114 - VariableDeclarationList 576004 576113 - VariableDeclaration 576035 576113 - Identifier 576035 576046 - CallExpression 576048 576113 - Identifier 576048 576065 - PropertyAccessExpression 576066 576112 - PropertyAccessExpression 576066 576105 - PropertyAccessExpression 576066 576098 - ParenthesizedExpression 576066 576091 - AsExpression 576067 576090 - Identifier 576067 576071 - TypeReference 576074 576090 - Identifier 576074 576090 - Identifier 576092 576098 - Identifier 576099 576105 - Identifier 576106 576112 - ExpressionStatement 576114 577228 - CallExpression 576114 577227 - Identifier 576114 576149 - CallExpression 576150 577150 - PropertyAccessExpression 576150 576211 - Identifier 576150 576187 - Identifier 576188 576211 - Identifier 576212 576269 - CallExpression 576270 576982 - PropertyAccessExpression 576270 576330 - Identifier 576270 576311 - Identifier 576312 576330 - Identifier 576331 576379 - Identifier 576380 576436 - CallExpression 576437 576946 - PropertyAccessExpression 576437 576501 - Identifier 576437 576482 - Identifier 576483 576501 - ArrayLiteralExpression 576502 576945 - CallExpression 576503 576905 - PropertyAccessExpression 576503 576574 - Identifier 576503 576552 - Identifier 576553 576574 - FalseKeyword 576575 576641 - ConditionalExpression 576642 576779 - BinaryExpression 576642 576720 - Identifier 576642 576697 - ExclamationEqualsEqualsToken 576697 576701 - Identifier 576701 576720 - QuestionToken 576720 576722 - CallExpression 576722 576767 - PropertyAccessExpression 576722 576747 - Identifier 576722 576730 - Identifier 576731 576747 - Identifier 576748 576766 - ColonToken 576767 576769 - Identifier 576769 576779 - CallExpression 576780 576861 - PropertyAccessExpression 576780 576850 - Identifier 576780 576833 - Identifier 576834 576850 - Identifier 576851 576860 - Identifier 576983 577026 - PropertyAccessExpression 577027 577118 - PropertyAccessExpression 577027 577107 - PropertyAccessExpression 577027 577100 - PropertyAccessExpression 577027 577093 - ParenthesizedExpression 577027 577086 - AsExpression 577062 577085 - Identifier 577062 577066 - TypeReference 577069 577085 - Identifier 577069 577085 - Identifier 577087 577093 - Identifier 577094 577100 - Identifier 577101 577107 - Identifier 577108 577118 - PropertyAccessExpression 577151 577199 - Identifier 577151 577194 - Identifier 577195 577199 - BreakStatement 577228 577260 - CaseClause 577283 578555 - PropertyAccessExpression 577309 577336 - Identifier 577309 577320 - Identifier 577321 577336 - VariableStatement 577337 577627 - VariableDeclarationList 577337 577626 - VariableDeclaration 577556 577626 - Identifier 577556 577566 - PropertyAccessExpression 577568 577626 - ParenthesizedExpression 577568 577610 - AsExpression 577570 577609 - PropertyAccessExpression 577570 577588 - PropertyAccessExpression 577570 577581 - Identifier 577570 577574 - Identifier 577575 577581 - Identifier 577582 577588 - TypeReference 577591 577609 - Identifier 577591 577609 - Identifier 577611 577626 - IfStatement 577627 577991 - Identifier 577657 577666 - Block 577667 577991 - VariableStatement 577669 577759 - VariableDeclarationList 577669 577758 - VariableDeclaration 577704 577758 - Identifier 577704 577717 - PropertyAccessExpression 577719 577758 - ParenthesizedExpression 577719 577745 - AsExpression 577721 577744 - Identifier 577721 577725 - TypeReference 577728 577744 - Identifier 577728 577744 - Identifier 577746 577758 - IfStatement 577759 577964 - BinaryExpression 577793 577848 - Identifier 577793 577805 - AmpersandAmpersandToken 577805 577808 - CallExpression 577808 577848 - Identifier 577808 577834 - Identifier 577835 577847 - Block 577849 577964 - ExpressionStatement 577851 577933 - BinaryExpression 577851 577932 - Identifier 577851 577903 - EqualsToken 577903 577905 - PropertyAccessExpression 577905 577932 - Identifier 577905 577924 - Identifier 577925 577932 - ExpressionStatement 577991 578523 - CallExpression 577991 578522 - Identifier 577991 578211 - CallExpression 578212 578288 - Identifier 578212 578268 - PropertyAccessExpression 578269 578287 - Identifier 578269 578275 - Identifier 578276 578287 - ConditionalExpression 578289 578362 - Identifier 578289 578328 - QuestionToken 578328 578330 - Identifier 578330 578349 - ColonToken 578349 578351 - Identifier 578351 578362 - ConditionalExpression 578363 578494 - BinaryExpression 578363 578436 - Identifier 578363 578402 - AmpersandAmpersandToken 578402 578405 - CallExpression 578405 578436 - Identifier 578405 578425 - Identifier 578426 578435 - QuestionToken 578436 578438 - CallExpression 578438 578482 - PropertyAccessExpression 578438 578466 - Identifier 578438 578446 - Identifier 578447 578466 - PropertyAccessExpression 578467 578481 - Identifier 578467 578476 - Identifier 578477 578481 - ColonToken 578482 578484 - Identifier 578484 578494 - BreakStatement 578523 578555 - CaseClause 578555 578706 - PropertyAccessExpression 578581 578609 - Identifier 578581 578592 - Identifier 578593 578609 - ExpressionStatement 578610 578674 - CallExpression 578610 578673 - Identifier 578610 578665 - Identifier 578666 578672 - BreakStatement 578674 578706 - CaseClause 578706 578761 - PropertyAccessExpression 578732 578760 - Identifier 578732 578743 - Identifier 578744 578760 - CaseClause 578761 578824 - PropertyAccessExpression 578787 578823 - Identifier 578787 578798 - Identifier 578799 578823 - CaseClause 578824 579548 - PropertyAccessExpression 578850 578885 - Identifier 578850 578861 - Identifier 578862 578885 - IfStatement 578886 579516 - BinaryExpression 579174 579281 - BinaryExpression 579174 579223 - PropertyAccessExpression 579174 579192 - Identifier 579174 579180 - Identifier 579181 579192 - EqualsEqualsEqualsToken 579192 579196 - PropertyAccessExpression 579196 579223 - Identifier 579196 579215 - Identifier 579216 579223 - BarBarToken 579223 579226 - BinaryExpression 579226 579281 - PropertyAccessExpression 579226 579245 - Identifier 579226 579233 - Identifier 579234 579245 - EqualsEqualsEqualsToken 579245 579249 - PropertyAccessExpression 579249 579281 - Identifier 579249 579268 - Identifier 579269 579281 - Block 579282 579379 - ExpressionStatement 579284 579352 - CallExpression 579284 579351 - Identifier 579284 579343 - Identifier 579344 579350 - Block 579409 579516 - ExpressionStatement 579411 579489 - CallExpression 579411 579488 - Identifier 579411 579465 - Identifier 579466 579475 - Identifier 579476 579487 - BreakStatement 579516 579548 - DefaultClause 579548 579699 - ReturnStatement 579578 579699 - CallExpression 579610 579698 - PropertyAccessExpression 579610 579634 - Identifier 579610 579616 - Identifier 579617 579634 - Identifier 579635 579639 - StringLiteral 579640 579697 - FunctionDeclaration 579733 580332 - Identifier 579757 579782 - Parameter 579783 579800 - Identifier 579783 579792 - StringKeyword 579793 579800 - Parameter 579801 579820 - Identifier 579801 579812 - StringKeyword 579813 579820 - Parameter 579821 579844 - Identifier 579821 579831 - QuestionToken 579831 579832 - TypeReference 579833 579844 - Identifier 579833 579844 - Block 579845 580332 - ExpressionStatement 579847 580317 - CallExpression 579847 580316 - Identifier 579847 579874 - CallExpression 579875 580255 - PropertyAccessExpression 579875 579928 - Identifier 579875 579904 - Identifier 579905 579928 - Identifier 579929 579978 - FalseKeyword 579979 580025 - CallExpression 580026 580195 - PropertyAccessExpression 580026 580078 - Identifier 580026 580059 - Identifier 580060 580078 - ArrayLiteralExpression 580079 580194 - CallExpression 580080 580193 - PropertyAccessExpression 580080 580109 - Identifier 580080 580087 - Identifier 580088 580109 - FalseKeyword 580110 580130 - ConditionalExpression 580131 580181 - BinaryExpression 580131 580156 - Identifier 580131 580141 - ExclamationEqualsEqualsToken 580141 580145 - Identifier 580145 580156 - QuestionToken 580156 580158 - Identifier 580158 580169 - ColonToken 580169 580171 - Identifier 580171 580181 - Identifier 580182 580192 - Identifier 580196 580231 - PropertyAccessExpression 580256 580296 - Identifier 580256 580291 - Identifier 580292 580296 - FunctionDeclaration 580332 588379 - Identifier 580488 580518 - Parameter 580519 580533 - Identifier 580519 580525 - TypeReference 580526 580533 - Identifier 580526 580533 - BooleanKeyword 580535 580543 - Block 580543 588379 - IfStatement 580545 580660 - BinaryExpression 580567 580603 - PropertyAccessExpression 580567 580579 - Identifier 580567 580573 - Identifier 580574 580579 - AmpersandToken 580579 580581 - PropertyAccessExpression 580581 580603 - Identifier 580581 580593 - Identifier 580594 580603 - Block 580604 580660 - ReturnStatement 580606 580641 - FalseKeyword 580634 580640 - VariableStatement 580660 580738 - VariableDeclarationList 580660 580737 - VariableDeclaration 580683 580737 - Identifier 580683 580688 - CallExpression 580690 580737 - Identifier 580690 580717 - PropertyAccessExpression 580718 580736 - Identifier 580718 580724 - Identifier 580725 580736 - VariableStatement 580738 580820 - VariableDeclarationList 580738 580819 - VariableDeclaration 580761 580819 - Identifier 580761 580776 - BinaryExpression 580778 580819 - Identifier 580778 580783 - EqualsEqualsEqualsToken 580783 580787 - PropertyAccessExpression 580787 580819 - Identifier 580787 580806 - Identifier 580807 580819 - VariableStatement 580820 580892 - VariableDeclarationList 580820 580891 - VariableDeclaration 580843 580891 - Identifier 580843 580853 - BinaryExpression 580855 580891 - Identifier 580855 580860 - EqualsEqualsEqualsToken 580860 580864 - PropertyAccessExpression 580864 580891 - Identifier 580864 580883 - Identifier 580884 580891 - VariableStatement 580892 580985 - VariableDeclarationList 580892 580984 - VariableDeclaration 580915 580984 - Identifier 580915 580954 - BinaryExpression 580956 580984 - Identifier 580956 580971 - BarBarToken 580971 580974 - Identifier 580974 580984 - VariableStatement 580985 581336 - VariableDeclarationList 580985 581335 - VariableDeclaration 581264 581335 - Identifier 581264 581274 - BinaryExpression 581276 581335 - PropertyAccessExpression 581276 581296 - Identifier 581276 581283 - Identifier 581284 581296 - AmpersandAmpersandToken 581296 581299 - CallExpression 581299 581335 - Identifier 581299 581327 - Identifier 581328 581334 - VariableStatement 581336 581549 - VariableDeclarationList 581336 581548 - VariableDeclaration 581454 581548 - Identifier 581454 581461 - BinaryExpression 581463 581548 - Identifier 581463 581473 - AmpersandAmpersandToken 581473 581476 - CallExpression 581476 581548 - Identifier 581476 581504 - Identifier 581505 581514 - TrueKeyword 581515 581547 - IfStatement 581549 588364 - BinaryExpression 581704 581845 - BinaryExpression 581704 581741 - Identifier 581704 581710 - AmpersandAmpersandToken 581710 581713 - CallExpression 581713 581741 - Identifier 581713 581720 - PropertyAccessExpression 581721 581740 - Identifier 581721 581727 - Identifier 581728 581740 - AmpersandAmpersandToken 581741 581744 - CallExpression 581744 581845 - Identifier 581744 581749 - PropertyAccessExpression 581750 581769 - Identifier 581750 581756 - Identifier 581757 581769 - ArrowFunction 581770 581844 - Parameter 581770 581772 - Identifier 581770 581772 - EqualsGreaterThanToken 581772 581775 - BinaryExpression 581775 581844 - CallExpression 581775 581798 - Identifier 581775 581795 - Identifier 581796 581797 - EqualsEqualsEqualsToken 581798 581802 - CallExpression 581802 581844 - Identifier 581802 581822 - Identifier 581823 581843 - Block 581846 585458 - VariableStatement 581848 582481 - VariableDeclarationList 581848 582480 - VariableDeclaration 582217 582480 - Identifier 582217 582222 - BinaryExpression 582224 582480 - Identifier 582224 582234 - AmpersandAmpersandToken 582234 582237 - ParenthesizedExpression 582237 582480 - ConditionalExpression 582239 582479 - ParenthesizedExpression 582239 582303 - BinaryExpression 582240 582302 - CallExpression 582240 582269 - Identifier 582240 582258 - Identifier 582259 582268 - BarBarToken 582269 582272 - CallExpression 582272 582302 - Identifier 582272 582291 - Identifier 582292 582301 - QuestionToken 582303 582305 - CallExpression 582305 582346 - Identifier 582305 582335 - Identifier 582336 582345 - ColonToken 582346 582348 - CallExpression 582348 582479 - Identifier 582348 582389 - AsExpression 582390 582478 - Identifier 582390 582399 - UnionType 582402 582478 - TypeReference 582402 582430 - Identifier 582402 582430 - TypeReference 582432 582451 - Identifier 582432 582451 - TypeReference 582453 582478 - Identifier 582453 582478 - VariableStatement 582481 582609 - VariableDeclarationList 582481 582608 - VariableDeclaration 582508 582608 - Identifier 582508 582514 - ConditionalExpression 582516 582608 - BinaryExpression 582516 582553 - Identifier 582516 582521 - AmpersandAmpersandToken 582521 582524 - CallExpression 582524 582553 - Identifier 582524 582547 - Identifier 582548 582552 - QuestionToken 582553 582555 - CallExpression 582555 582596 - Identifier 582555 582590 - Identifier 582591 582595 - ColonToken 582596 582598 - Identifier 582598 582608 - VariableStatement 582609 582773 - VariableDeclarationList 582609 582772 - VariableDeclaration 582636 582772 - Identifier 582636 582647 - BinaryExpression 582649 582772 - Identifier 582649 582655 - AmpersandAmpersandToken 582655 582658 - CallExpression 582658 582772 - Identifier 582658 582676 - Identifier 582677 582682 - PropertyAccessExpression 582683 582699 - Identifier 582683 582695 - Identifier 582696 582699 - TrueKeyword 582700 582722 - TrueKeyword 582723 582749 - Identifier 582750 582771 - IfStatement 582773 582914 - BinaryExpression 582799 582819 - Identifier 582799 582809 - BarBarToken 582809 582812 - Identifier 582812 582819 - Block 582820 582914 - ExpressionStatement 582822 582891 - CallExpression 582822 582890 - Identifier 582822 582868 - BinaryExpression 582869 582889 - Identifier 582869 582879 - BarBarToken 582879 582882 - Identifier 582882 582889 - VariableStatement 582914 583561 - VariableDeclarationList 582914 583560 - VariableDeclaration 583500 583560 - Identifier 583500 583523 - PropertyAccessExpression 583525 583560 - PropertyAccessExpression 583525 583541 - Identifier 583525 583533 - Identifier 583534 583541 - Identifier 583542 583560 - ExpressionStatement 583561 583625 - BinaryExpression 583561 583624 - PropertyAccessExpression 583561 583617 - PropertyAccessExpression 583561 583598 - Identifier 583561 583590 - Identifier 583591 583598 - Identifier 583599 583617 - EqualsToken 583617 583619 - TrueKeyword 583619 583624 - IfStatement 583625 585323 - Identifier 583651 583689 - Block 583690 583996 - ExpressionStatement 583692 583973 - CallExpression 583692 583972 - PropertyAccessExpression 583692 583730 - Identifier 583692 583725 - Identifier 583726 583730 - CallExpression 583731 583971 - PropertyAccessExpression 583731 583761 - Identifier 583731 583738 - Identifier 583739 583761 - Identifier 583762 583815 - Identifier 583816 583860 - CallExpression 583861 583943 - Identifier 583861 583909 - Identifier 583910 583916 - Identifier 583917 583925 - PropertyAccessExpression 583926 583942 - Identifier 583926 583938 - Identifier 583939 583942 - Block 584022 585323 - IfStatement 584024 585300 - BinaryExpression 584054 584077 - BinaryExpression 584054 584068 - Identifier 584054 584059 - EqualsEqualsEqualsToken 584059 584063 - Identifier 584063 584068 - AmpersandAmpersandToken 584068 584071 - Identifier 584071 584077 - Block 584078 584254 - ExpressionStatement 584080 584227 - CallExpression 584080 584226 - Identifier 584080 584205 - Identifier 584206 584210 - CallExpression 584211 584225 - Identifier 584211 584218 - Identifier 584219 584224 - IfStatement 584284 585300 - BinaryExpression 584289 584320 - Identifier 584289 584293 - AmpersandAmpersandToken 584293 584296 - CallExpression 584296 584320 - Identifier 584296 584314 - Identifier 584315 584319 - Block 584321 584462 - ExpressionStatement 584323 584435 - CallExpression 584323 584434 - Identifier 584323 584377 - Identifier 584378 584382 - CallExpression 584383 584433 - Identifier 584383 584405 - Identifier 584406 584412 - CallExpression 584413 584432 - Identifier 584413 584424 - Identifier 584425 584431 - Block 584492 585300 - VariableStatement 584494 584663 - VariableDeclarationList 584494 584662 - VariableDeclaration 584624 584662 - Identifier 584624 584632 - CallExpression 584634 584662 - Identifier 584634 584648 - Identifier 584649 584653 - Identifier 584654 584661 - ExpressionStatement 584663 585203 - CallExpression 584663 585202 - Identifier 584663 584702 - CallExpression 584703 585117 - PropertyAccessExpression 584703 584774 - Identifier 584703 584744 - Identifier 584745 584774 - Identifier 584775 584836 - FalseKeyword 584837 584895 - CallExpression 584896 584967 - PropertyAccessExpression 584896 584958 - Identifier 584896 584941 - Identifier 584942 584958 - Identifier 584959 584966 - CallExpression 584968 585081 - Identifier 584968 585018 - Identifier 585019 585025 - Identifier 585026 585034 - PropertyAccessExpression 585035 585051 - Identifier 585035 585047 - Identifier 585048 585051 - FalseKeyword 585052 585080 - PropertyAccessExpression 585118 585170 - Identifier 585118 585165 - Identifier 585166 585170 - ExpressionStatement 585203 585273 - CallExpression 585203 585272 - Identifier 585203 585257 - Identifier 585258 585262 - Identifier 585263 585271 - ExpressionStatement 585323 585405 - BinaryExpression 585323 585404 - PropertyAccessExpression 585323 585379 - PropertyAccessExpression 585323 585360 - Identifier 585323 585352 - Identifier 585353 585360 - Identifier 585361 585379 - EqualsToken 585379 585381 - Identifier 585381 585404 - ReturnStatement 585405 585439 - TrueKeyword 585433 585438 - Block 585480 588364 - VariableStatement 585482 585619 - VariableDeclarationList 585482 585618 - VariableDeclaration 585580 585618 - Identifier 585580 585588 - CallExpression 585590 585618 - Identifier 585590 585604 - Identifier 585605 585609 - Identifier 585610 585617 - VariableStatement 585619 585959 - VariableDeclarationList 585619 585958 - VariableDeclaration 585883 585958 - Identifier 585883 585899 - CallExpression 585901 585958 - Identifier 585901 585916 - CallExpression 585917 585957 - Identifier 585917 585932 - CallExpression 585933 585956 - Identifier 585933 585948 - Identifier 585949 585955 - IfStatement 585959 587743 - CallExpression 585985 586053 - Identifier 585985 586028 - Identifier 586029 586044 - Identifier 586045 586052 - Block 586054 586398 - ExpressionStatement 586056 586375 - CallExpression 586056 586374 - Identifier 586056 586256 - Identifier 586257 586272 - Identifier 586273 586280 - Identifier 586281 586289 - ConditionalExpression 586290 586373 - Identifier 586290 586329 - QuestionToken 586329 586331 - PropertyAccessExpression 586331 586350 - Identifier 586331 586345 - Identifier 586346 586350 - ColonToken 586350 586352 - PropertyAccessExpression 586352 586373 - Identifier 586352 586366 - Identifier 586367 586373 - Block 586424 587743 - VariableStatement 586426 586654 - VariableDeclarationList 586426 586653 - VariableDeclaration 586457 586653 - Identifier 586457 586463 - ConditionalExpression 586465 586653 - BinaryExpression 586465 586619 - BinaryExpression 586465 586533 - PropertyAccessExpression 586465 586500 - PropertyAccessExpression 586465 586494 - Identifier 586465 586473 - Identifier 586474 586494 - QuestionDotToken 586494 586496 - Identifier 586496 586500 - EqualsEqualsEqualsToken 586500 586504 - PropertyAccessExpression 586504 586533 - Identifier 586504 586515 - Identifier 586516 586533 - AmpersandAmpersandToken 586533 586536 - ParenthesizedExpression 586536 586619 - BinaryExpression 586538 586618 - PrefixUnaryExpression 586538 586576 - ParenthesizedExpression 586539 586576 - BinaryExpression 586540 586575 - PropertyAccessExpression 586540 586552 - Identifier 586540 586546 - Identifier 586547 586552 - AmpersandToken 586552 586554 - PropertyAccessExpression 586554 586575 - Identifier 586554 586566 - Identifier 586567 586575 - BarBarToken 586576 586579 - BinaryExpression 586579 586618 - PropertyAccessExpression 586579 586592 - Identifier 586579 586586 - Identifier 586587 586592 - AmpersandToken 586592 586594 - PropertyAccessExpression 586594 586618 - Identifier 586594 586606 - Identifier 586607 586618 - QuestionToken 586619 586621 - PropertyAccessExpression 586621 586635 - Identifier 586621 586631 - Identifier 586632 586635 - ColonToken 586635 586637 - PropertyAccessExpression 586637 586653 - Identifier 586637 586647 - Identifier 586648 586653 - VariableStatement 586654 587120 - VariableDeclarationList 586654 587119 - VariableDeclaration 586685 587119 - Identifier 586685 586695 - CallExpression 586697 587119 - PropertyAccessExpression 586697 586729 - Identifier 586697 586705 - Identifier 586706 586729 - Identifier 586730 586783 - CallExpression 586784 587091 - PropertyAccessExpression 586784 586851 - Identifier 586784 586821 - Identifier 586822 586851 - ArrayLiteralExpression 586852 587083 - CallExpression 586853 587051 - PropertyAccessExpression 586853 586920 - Identifier 586853 586894 - Identifier 586895 586920 - Identifier 586921 586928 - Identifier 586929 586960 - CallExpression 586961 587050 - Identifier 586961 586989 - Identifier 586990 586997 - Identifier 586998 587024 - Identifier 587025 587041 - Identifier 587042 587049 - Identifier 587084 587090 - ExpressionStatement 587120 587720 - CallExpression 587120 587719 - Identifier 587120 587364 - Identifier 587365 587404 - ConditionalExpression 587405 587691 - BinaryExpression 587405 587538 - BinaryExpression 587405 587480 - Identifier 587405 587441 - AmpersandAmpersandToken 587441 587444 - BinaryExpression 587444 587480 - PropertyAccessExpression 587444 587457 - Identifier 587444 587451 - Identifier 587452 587457 - AmpersandToken 587457 587459 - PropertyAccessExpression 587459 587480 - Identifier 587459 587471 - Identifier 587472 587480 - AmpersandAmpersandToken 587480 587483 - BinaryExpression 587483 587538 - PropertyAccessExpression 587483 587502 - Identifier 587483 587490 - Identifier 587491 587502 - EqualsEqualsEqualsToken 587502 587506 - PropertyAccessExpression 587506 587538 - Identifier 587506 587525 - Identifier 587526 587538 - QuestionToken 587538 587540 - PropertyAccessExpression 587540 587562 - Identifier 587540 587554 - Identifier 587555 587562 - ColonToken 587562 587597 - ConditionalExpression 587597 587691 - BinaryExpression 587597 587614 - Identifier 587597 587602 - EqualsEqualsEqualsToken 587602 587606 - Identifier 587606 587614 - QuestionToken 587614 587616 - PropertyAccessExpression 587616 587637 - Identifier 587616 587630 - Identifier 587631 587637 - ColonToken 587637 587672 - PropertyAccessExpression 587672 587691 - Identifier 587672 587686 - Identifier 587687 587691 - IfStatement 587743 588310 - Identifier 587769 587807 - Block 587808 588133 - ExpressionStatement 587810 588072 - CallExpression 587810 588071 - PropertyAccessExpression 587810 587848 - Identifier 587810 587843 - Identifier 587844 587848 - CallExpression 587849 588070 - PropertyAccessExpression 587849 587879 - Identifier 587849 587856 - Identifier 587857 587879 - Identifier 587880 587933 - Identifier 587934 587978 - CallExpression 587979 588042 - PropertyAccessExpression 587979 588033 - Identifier 587979 588016 - Identifier 588017 588033 - Identifier 588034 588041 - ReturnStatement 588072 588110 - TrueKeyword 588104 588109 - IfStatement 588159 588310 - BinaryExpression 588164 588180 - Identifier 588164 588168 - ExclamationEqualsEqualsToken 588168 588172 - Identifier 588172 588180 - Block 588181 588310 - ExpressionStatement 588183 588249 - CallExpression 588183 588248 - Identifier 588183 588233 - Identifier 588234 588238 - Identifier 588239 588247 - ReturnStatement 588249 588287 - TrueKeyword 588281 588286 - ReturnStatement 588310 588345 - FalseKeyword 588338 588344 - FunctionDeclaration 588379 590769 - Identifier 588403 588447 - Parameter 588448 588469 - Identifier 588448 588463 - TypeReference 588464 588469 - Identifier 588464 588469 - Parameter 588470 588489 - Identifier 588470 588481 - TypeReference 588482 588489 - Identifier 588482 588489 - Block 588490 590769 - VariableStatement 588492 588934 - VariableDeclarationList 588492 588933 - VariableDeclaration 588874 588933 - Identifier 588874 588881 - CallExpression 588883 588933 - Identifier 588883 588903 - PropertyAccessExpression 588904 588932 - Identifier 588904 588911 - Identifier 588912 588932 - ReturnStatement 588934 590754 - BinaryExpression 588958 590753 - BinaryExpression 588958 590277 - BinaryExpression 588958 590142 - BinaryExpression 588958 590037 - BinaryExpression 588958 589902 - BinaryExpression 588958 589731 - BinaryExpression 588958 589636 - BinaryExpression 588958 589329 - BinaryExpression 588958 589267 - BinaryExpression 588958 589117 - BinaryExpression 588958 589037 - CallExpression 588958 588990 - Identifier 588958 588973 - Identifier 588974 588989 - AmpersandToken 588990 588992 - ParenthesizedExpression 588992 589037 - BinaryExpression 588994 589036 - PropertyAccessExpression 588994 589015 - Identifier 588994 589005 - Identifier 589006 589015 - BarToken 589015 589017 - PropertyAccessExpression 589017 589036 - Identifier 589017 589029 - Identifier 589030 589036 - AmpersandAmpersandToken 589037 589040 - PrefixUnaryExpression 589040 589117 - CallExpression 589063 589117 - Identifier 589063 589067 - PropertyAccessExpression 589068 589104 - PropertyAccessExpression 589068 589090 - Identifier 589068 589083 - Identifier 589084 589090 - QuestionDotToken 589090 589092 - Identifier 589092 589104 - Identifier 589105 589116 - AmpersandAmpersandToken 589117 589120 - PrefixUnaryExpression 589120 589267 - CallExpression 589223 589267 - Identifier 589223 589229 - CallExpression 589230 589266 - Identifier 589230 589249 - Identifier 589250 589265 - AmpersandAmpersandToken 589267 589270 - PrefixUnaryExpression 589270 589329 - CallExpression 589293 589329 - Identifier 589293 589312 - Identifier 589313 589328 - AmpersandAmpersandToken 589329 589332 - PrefixUnaryExpression 589332 589636 - PrefixUnaryExpression 589494 589636 - ParenthesizedExpression 589495 589636 - BinaryExpression 589496 589635 - CallExpression 589496 589567 - Identifier 589496 589502 - CallExpression 589503 589566 - Identifier 589503 589509 - CallExpression 589510 589546 - Identifier 589510 589529 - Identifier 589530 589545 - Identifier 589547 589565 - BarBarToken 589567 589570 - CallExpression 589570 589635 - Identifier 589570 589577 - CallExpression 589578 589634 - Identifier 589578 589597 - Identifier 589598 589613 - PropertyAccessExpression 589614 589633 - Identifier 589614 589628 - Identifier 589629 589633 - AmpersandAmpersandToken 589636 589639 - PrefixUnaryExpression 589639 589731 - CallExpression 589662 589731 - Identifier 589662 589668 - CallExpression 589669 589730 - Identifier 589669 589688 - Identifier 589689 589704 - PropertyAccessExpression 589705 589729 - Identifier 589705 589719 - Identifier 589720 589729 - AmpersandAmpersandToken 589731 589734 - PrefixUnaryExpression 589734 589902 - CallExpression 589836 589902 - Identifier 589836 589868 - Identifier 589869 589879 - Identifier 589880 589901 - AmpersandAmpersandToken 589902 589905 - PrefixUnaryExpression 589905 590037 - ParenthesizedExpression 589928 590037 - BinaryExpression 589929 590036 - PropertyAccessExpression 589929 589951 - Identifier 589929 589944 - Identifier 589945 589951 - AmpersandAmpersandToken 589951 589954 - CallExpression 589954 590036 - Identifier 589954 589959 - PropertyAccessExpression 589960 589995 - PropertyAccessExpression 589960 589982 - Identifier 589960 589975 - Identifier 589976 589982 - Identifier 589983 589995 - ArrowFunction 589996 590035 - Parameter 589996 589998 - Identifier 589996 589998 - EqualsGreaterThanToken 589998 590001 - BinaryExpression 590001 590035 - CallExpression 590001 590024 - Identifier 590001 590021 - Identifier 590022 590023 - ExclamationEqualsEqualsToken 590024 590028 - Identifier 590028 590035 - AmpersandAmpersandToken 590037 590040 - PrefixUnaryExpression 590040 590142 - CallExpression 590063 590142 - Identifier 590063 590067 - CallExpression 590068 590104 - Identifier 590068 590087 - Identifier 590088 590103 - ArrowFunction 590105 590141 - Parameter 590105 590107 - Identifier 590105 590107 - EqualsGreaterThanToken 590107 590110 - CallExpression 590110 590141 - Identifier 590110 590126 - PropertyAccessExpression 590127 590140 - Identifier 590127 590128 - Identifier 590129 590140 - AmpersandAmpersandToken 590142 590145 - PrefixUnaryExpression 590145 590277 - CallExpression 590168 590277 - Identifier 590168 590172 - CallExpression 590173 590209 - Identifier 590173 590192 - Identifier 590193 590208 - ArrowFunction 590210 590276 - Parameter 590210 590212 - Identifier 590210 590212 - EqualsGreaterThanToken 590212 590215 - CallExpression 590215 590276 - Identifier 590215 590220 - PropertyAccessExpression 590221 590235 - Identifier 590221 590222 - Identifier 590223 590235 - ArrowFunction 590236 590275 - Parameter 590236 590238 - Identifier 590236 590238 - EqualsGreaterThanToken 590238 590241 - BinaryExpression 590241 590275 - CallExpression 590241 590264 - Identifier 590241 590261 - Identifier 590262 590263 - ExclamationEqualsEqualsToken 590264 590268 - Identifier 590268 590275 - AmpersandAmpersandToken 590277 590280 - CallExpression 590280 590753 - Identifier 590280 590307 - CallExpression 590308 590344 - Identifier 590308 590327 - Identifier 590328 590343 - ArrowFunction 590345 590752 - Parameter 590345 590347 - Identifier 590345 590347 - EqualsGreaterThanToken 590347 590350 - Block 590350 590752 - IfStatement 590352 590504 - PrefixUnaryExpression 590382 590431 - CallExpression 590383 590431 - Identifier 590383 590399 - CallExpression 590400 590413 - Identifier 590400 590410 - Identifier 590411 590412 - Identifier 590414 590430 - Block 590432 590504 - ReturnStatement 590434 590477 - FalseKeyword 590470 590476 - IfStatement 590504 590639 - PrefixUnaryExpression 590534 590567 - ParenthesizedExpression 590535 590567 - BinaryExpression 590536 590566 - PropertyAccessExpression 590536 590543 - Identifier 590536 590537 - Identifier 590538 590543 - AmpersandToken 590543 590545 - PropertyAccessExpression 590545 590566 - Identifier 590545 590557 - Identifier 590558 590566 - Block 590568 590639 - ReturnStatement 590570 590612 - TrueKeyword 590606 590611 - ReturnStatement 590639 590729 - BinaryExpression 590671 590728 - CallExpression 590671 590700 - Identifier 590671 590697 - Identifier 590698 590699 - EqualsEqualsEqualsToken 590700 590704 - CallExpression 590704 590728 - Identifier 590704 590725 - Identifier 590726 590727 - FunctionDeclaration 590769 591425 - Identifier 590793 590821 - TypeParameter 590822 590836 - Identifier 590822 590823 - TypeReference 590831 590836 - Identifier 590831 590836 - Parameter 590838 591195 - Identifier 590838 590870 - FunctionType 590871 591195 - Parameter 590873 590937 - Identifier 590873 590904 - UnionType 590905 590937 - TypeOperator 590905 590925 - ArrayType 590914 590925 - TypeReference 590914 590923 - Identifier 590914 590923 - UndefinedKeyword 590927 590937 - Parameter 590938 590987 - Identifier 590938 590964 - UnionType 590965 590987 - StringKeyword 590965 590972 - TypeReference 590974 590987 - Identifier 590974 590987 - Parameter 590988 591063 - Identifier 590988 591036 - UnionType 591037 591063 - TypeReference 591037 591051 - Identifier 591037 591051 - UndefinedKeyword 591053 591063 - Parameter 591064 591112 - Identifier 591064 591090 - UnionType 591091 591112 - TypeReference 591091 591100 - Identifier 591091 591100 - UndefinedKeyword 591102 591112 - Parameter 591113 591170 - Identifier 591113 591146 - UnionType 591147 591170 - TypeReference 591147 591158 - Identifier 591147 591158 - UndefinedKeyword 591160 591170 - TypeReference 591193 591195 - Identifier 591193 591195 - Parameter 591196 591254 - Identifier 591196 591224 - IndexedAccessType 591225 591254 - TypeReference 591225 591246 - Identifier 591225 591246 - LiteralType 591247 591253 - StringLiteral 591247 591253 - Parameter 591255 591291 - Identifier 591255 591285 - LiteralType 591286 591291 - TrueKeyword 591286 591291 - FunctionType 591308 591424 - Parameter 591310 591319 - Identifier 591310 591311 - TypeReference 591312 591319 - Identifier 591312 591319 - Parameter 591320 591338 - Identifier 591320 591329 - BooleanKeyword 591330 591338 - Parameter 591339 591366 - Identifier 591339 591348 - UnionType 591349 591366 - TypeReference 591349 591354 - Identifier 591349 591354 - UndefinedKeyword 591356 591366 - UnionType 591370 591424 - TypeReference 591370 591372 - Identifier 591370 591372 - TypeReference 591374 591394 - Identifier 591374 591394 - ArrayType 591396 591424 - ParenthesizedType 591396 591422 - UnionType 591398 591421 - TypeReference 591398 591399 - Identifier 591398 591399 - TypeReference 591401 591421 - Identifier 591401 591421 - FunctionDeclaration 591425 592034 - Identifier 591447 591475 - TypeParameter 591476 591490 - Identifier 591476 591477 - TypeReference 591485 591490 - Identifier 591485 591490 - Parameter 591492 591849 - Identifier 591492 591524 - FunctionType 591525 591849 - Parameter 591527 591591 - Identifier 591527 591558 - UnionType 591559 591591 - TypeOperator 591559 591579 - ArrayType 591568 591579 - TypeReference 591568 591577 - Identifier 591568 591577 - UndefinedKeyword 591581 591591 - Parameter 591592 591641 - Identifier 591592 591618 - UnionType 591619 591641 - StringKeyword 591619 591626 - TypeReference 591628 591641 - Identifier 591628 591641 - Parameter 591642 591717 - Identifier 591642 591690 - UnionType 591691 591717 - TypeReference 591691 591705 - Identifier 591691 591705 - UndefinedKeyword 591707 591717 - Parameter 591718 591766 - Identifier 591718 591744 - UnionType 591745 591766 - TypeReference 591745 591754 - Identifier 591745 591754 - UndefinedKeyword 591756 591766 - Parameter 591767 591824 - Identifier 591767 591800 - UnionType 591801 591824 - TypeReference 591801 591812 - Identifier 591801 591812 - UndefinedKeyword 591814 591824 - TypeReference 591847 591849 - Identifier 591847 591849 - Parameter 591850 591908 - Identifier 591850 591878 - IndexedAccessType 591879 591908 - TypeReference 591879 591900 - Identifier 591879 591900 - LiteralType 591901 591907 - StringLiteral 591901 591907 - Parameter 591909 591946 - Identifier 591909 591939 - LiteralType 591940 591946 - FalseKeyword 591940 591946 - FunctionType 591963 592033 - Parameter 591965 591974 - Identifier 591965 591966 - TypeReference 591967 591974 - Identifier 591967 591974 - Parameter 591975 591993 - Identifier 591975 591984 - BooleanKeyword 591985 591993 - Parameter 591994 592021 - Identifier 591994 592003 - UnionType 592004 592021 - TypeReference 592004 592009 - Identifier 592004 592009 - UndefinedKeyword 592011 592021 - UnionType 592025 592033 - TypeReference 592025 592027 - Identifier 592025 592027 - ArrayType 592029 592033 - TypeReference 592029 592031 - Identifier 592029 592031 - FunctionDeclaration 592034 602014 - Identifier 592056 592084 - TypeParameter 592085 592099 - Identifier 592085 592086 - TypeReference 592094 592099 - Identifier 592094 592099 - Parameter 592101 592458 - Identifier 592101 592133 - FunctionType 592134 592458 - Parameter 592136 592200 - Identifier 592136 592167 - UnionType 592168 592200 - TypeOperator 592168 592188 - ArrayType 592177 592188 - TypeReference 592177 592186 - Identifier 592177 592186 - UndefinedKeyword 592190 592200 - Parameter 592201 592250 - Identifier 592201 592227 - UnionType 592228 592250 - StringKeyword 592228 592235 - TypeReference 592237 592250 - Identifier 592237 592250 - Parameter 592251 592326 - Identifier 592251 592299 - UnionType 592300 592326 - TypeReference 592300 592314 - Identifier 592300 592314 - UndefinedKeyword 592316 592326 - Parameter 592327 592375 - Identifier 592327 592353 - UnionType 592354 592375 - TypeReference 592354 592363 - Identifier 592354 592363 - UndefinedKeyword 592365 592375 - Parameter 592376 592433 - Identifier 592376 592409 - UnionType 592410 592433 - TypeReference 592410 592421 - Identifier 592410 592421 - UndefinedKeyword 592423 592433 - TypeReference 592456 592458 - Identifier 592456 592458 - Parameter 592459 592517 - Identifier 592459 592487 - IndexedAccessType 592488 592517 - TypeReference 592488 592509 - Identifier 592488 592509 - LiteralType 592510 592516 - StringLiteral 592510 592516 - Parameter 592518 592557 - Identifier 592518 592548 - BooleanKeyword 592549 592557 - FunctionType 592574 592690 - Parameter 592576 592585 - Identifier 592576 592577 - TypeReference 592578 592585 - Identifier 592578 592585 - Parameter 592586 592604 - Identifier 592586 592595 - BooleanKeyword 592596 592604 - Parameter 592605 592632 - Identifier 592605 592614 - UnionType 592615 592632 - TypeReference 592615 592620 - Identifier 592615 592620 - UndefinedKeyword 592622 592632 - UnionType 592636 592690 - TypeReference 592636 592638 - Identifier 592636 592638 - TypeReference 592640 592660 - Identifier 592640 592660 - ArrayType 592662 592690 - ParenthesizedType 592662 592688 - UnionType 592664 592687 - TypeReference 592664 592665 - Identifier 592664 592665 - TypeReference 592667 592687 - Identifier 592667 592687 - Block 592690 602014 - ReturnStatement 592692 601999 - FunctionExpression 592716 601998 - Identifier 592725 592749 - Parameter 592750 592759 - Identifier 592750 592751 - TypeReference 592752 592759 - Identifier 592752 592759 - Parameter 592760 592778 - Identifier 592760 592769 - BooleanKeyword 592770 592778 - Parameter 592779 592806 - Identifier 592779 592788 - UnionType 592789 592806 - TypeReference 592789 592794 - Identifier 592789 592794 - UndefinedKeyword 592796 592806 - UnionType 592808 592862 - TypeReference 592808 592810 - Identifier 592808 592810 - TypeReference 592812 592832 - Identifier 592812 592832 - ArrayType 592834 592862 - ParenthesizedType 592834 592860 - UnionType 592836 592859 - TypeReference 592836 592837 - Identifier 592836 592837 - TypeReference 592839 592859 - Identifier 592839 592859 - Block 592862 601998 - VariableStatement 592864 592949 - VariableDeclarationList 592864 592948 - VariableDeclaration 592891 592948 - Identifier 592891 592905 - CallExpression 592907 592948 - Identifier 592907 592945 - Identifier 592946 592947 - VariableStatement 592949 593031 - VariableDeclarationList 592949 593030 - VariableDeclaration 592976 593030 - Identifier 592976 592986 - PrefixUnaryExpression 592988 593030 - PrefixUnaryExpression 592990 593030 - ParenthesizedExpression 592991 593030 - BinaryExpression 592992 593029 - Identifier 592992 593005 - AmpersandToken 593005 593007 - PropertyAccessExpression 593007 593029 - Identifier 593007 593021 - Identifier 593022 593029 - IfStatement 593031 593409 - BinaryExpression 593057 593143 - Identifier 593057 593065 - AmpersandAmpersandToken 593065 593068 - ParenthesizedExpression 593068 593143 - BinaryExpression 593070 593142 - PropertyAccessExpression 593070 593077 - Identifier 593070 593071 - Identifier 593072 593077 - AmpersandToken 593077 593079 - ParenthesizedExpression 593079 593142 - BinaryExpression 593081 593141 - BinaryExpression 593081 593121 - PropertyAccessExpression 593081 593097 - Identifier 593081 593092 - Identifier 593093 593097 - BarToken 593097 593099 - PropertyAccessExpression 593099 593121 - Identifier 593099 593111 - Identifier 593112 593121 - BarToken 593121 593123 - PropertyAccessExpression 593123 593141 - Identifier 593123 593135 - Identifier 593136 593141 - Block 593144 593409 - ReturnStatement 593146 593386 - ArrayLiteralExpression 593382 593385 - IfStatement 593409 594079 - BinaryExpression 593435 593995 - BinaryExpression 593435 593527 - BinaryExpression 593435 593492 - PropertyAccessExpression 593435 593468 - Identifier 593435 593462 - Identifier 593463 593468 - AmpersandToken 593468 593470 - PropertyAccessExpression 593470 593492 - Identifier 593470 593482 - Identifier 593483 593492 - BarBarToken 593492 593495 - BinaryExpression 593495 593527 - PropertyAccessExpression 593495 593509 - Identifier 593495 593497 - Identifier 593498 593509 - EqualsEqualsEqualsToken 593509 593513 - StringLiteral 593513 593527 - BarBarToken 593527 593530 - ParenthesizedExpression 593530 593995 - BinaryExpression 593557 593994 - BinaryExpression 593557 593873 - BinaryExpression 593557 593729 - BinaryExpression 593557 593611 - Identifier 593557 593565 - AmpersandAmpersandToken 593565 593568 - CallExpression 593568 593611 - Identifier 593568 593586 - Identifier 593587 593595 - PropertyAccessExpression 593596 593610 - Identifier 593596 593598 - Identifier 593599 593610 - AmpersandAmpersandToken 593611 593643 - BinaryExpression 593643 593729 - CallExpression 593643 593705 - Identifier 593643 593660 - NonNullExpression 593661 593704 - CallExpression 593661 593703 - Identifier 593661 593678 - Identifier 593679 593687 - PropertyAccessExpression 593688 593702 - Identifier 593688 593690 - Identifier 593691 593702 - EqualsEqualsEqualsToken 593705 593709 - CallExpression 593709 593729 - Identifier 593709 593726 - Identifier 593727 593728 - AmpersandAmpersandToken 593729 593761 - BinaryExpression 593761 593873 - ParenthesizedExpression 593761 593794 - BinaryExpression 593763 593793 - PropertyAccessExpression 593763 593770 - Identifier 593763 593764 - Identifier 593765 593770 - AmpersandToken 593770 593772 - PropertyAccessExpression 593772 593793 - Identifier 593772 593784 - Identifier 593785 593793 - EqualsEqualsEqualsToken 593794 593798 - ParenthesizedExpression 593798 593873 - BinaryExpression 593800 593872 - PropertyAccessExpression 593800 593849 - NonNullExpression 593800 593843 - CallExpression 593800 593842 - Identifier 593800 593817 - Identifier 593818 593826 - PropertyAccessExpression 593827 593841 - Identifier 593827 593829 - Identifier 593830 593841 - Identifier 593844 593849 - AmpersandToken 593849 593851 - PropertyAccessExpression 593851 593872 - Identifier 593851 593863 - Identifier 593864 593872 - AmpersandAmpersandToken 593873 593905 - CallExpression 593905 593994 - Identifier 593905 593923 - CallExpression 593924 593942 - Identifier 593924 593939 - Identifier 593940 593941 - NonNullExpression 593943 593993 - CallExpression 593943 593992 - Identifier 593943 593967 - Identifier 593968 593976 - PropertyAccessExpression 593977 593991 - Identifier 593977 593979 - Identifier 593980 593991 - Block 594018 594079 - ReturnStatement 594020 594056 - ArrayLiteralExpression 594052 594055 - VariableStatement 594079 594193 - VariableDeclarationList 594079 594192 - VariableDeclaration 594106 594192 - Identifier 594106 594111 - BinaryExpression 594113 594192 - ParenthesizedExpression 594113 594152 - BinaryExpression 594115 594151 - Identifier 594115 594128 - AmpersandToken 594128 594130 - PrefixUnaryExpression 594130 594151 - PropertyAccessExpression 594132 594151 - Identifier 594132 594145 - Identifier 594146 594151 - BarToken 594152 594154 - ParenthesizedExpression 594154 594192 - ConditionalExpression 594156 594191 - Identifier 594156 594164 - QuestionToken 594164 594166 - PropertyAccessExpression 594166 594187 - Identifier 594166 594180 - Identifier 594181 594187 - ColonToken 594187 594189 - NumericLiteral 594189 594191 - VariableStatement 594193 594269 - VariableDeclarationList 594193 594268 - VariableDeclaration 594220 594268 - Identifier 594220 594225 - CallExpression 594227 594268 - Identifier 594227 594256 - Identifier 594257 594258 - Identifier 594259 594267 - VariableStatement 594269 594473 - VariableDeclarationList 594269 594472 - VariableDeclaration 594296 594472 - Identifier 594296 594318 - CallExpression 594320 594472 - PropertyAccessExpression 594320 594341 - PropertyAccessExpression 594320 594335 - Identifier 594320 594322 - Identifier 594323 594335 - QuestionDotToken 594335 594337 - Identifier 594337 594341 - CallExpression 594342 594471 - Identifier 594342 594344 - Identifier 594345 594366 - Identifier 594367 594378 - Identifier 594379 594401 - Identifier 594402 594422 - Identifier 594423 594442 - Identifier 594443 594470 - IfStatement 594473 599442 - BinaryExpression 594499 594545 - BinaryExpression 594499 594529 - PropertyAccessExpression 594499 594506 - Identifier 594499 594500 - Identifier 594501 594506 - AmpersandToken 594506 594508 - PropertyAccessExpression 594508 594529 - Identifier 594508 594520 - Identifier 594521 594529 - AmpersandAmpersandToken 594529 594532 - Identifier 594532 594545 - Block 594546 598024 - VariableStatement 594548 594615 - VariableDeclarationList 594548 594614 - VariableDeclaration 594579 594614 - Identifier 594579 594586 - ArrayType 594587 594609 - TypeReference 594587 594607 - Identifier 594587 594607 - ArrayLiteralExpression 594611 594614 - IfStatement 594615 597009 - BinaryExpression 594645 594678 - PropertyAccessExpression 594645 594652 - Identifier 594645 594646 - Identifier 594647 594652 - AmpersandToken 594652 594654 - PropertyAccessExpression 594654 594678 - Identifier 594654 594666 - Identifier 594667 594678 - Block 594679 597009 - VariableStatement 594681 595545 - VariableDeclarationList 594681 595544 - VariableDeclaration 594716 595544 - Identifier 594716 594723 - BinaryExpression 594725 595544 - PropertyAccessExpression 594725 594740 - Identifier 594725 594727 - Identifier 594728 594740 - AmpersandAmpersandToken 594740 594743 - CallExpression 594743 595544 - Identifier 594743 594751 - PropertyAccessExpression 594752 594766 - Identifier 594752 594753 - Identifier 594754 594766 - ArrowFunction 594767 595543 - Parameter 594767 594769 - Identifier 594767 594769 - EqualsGreaterThanToken 594769 594772 - Block 594772 595543 - IfStatement 594774 594956 - BinaryExpression 594812 594845 - PropertyAccessExpression 594812 594818 - Identifier 594812 594813 - Identifier 594814 594818 - EqualsEqualsEqualsToken 594818 594822 - PropertyAccessExpression 594822 594845 - Identifier 594822 594833 - Identifier 594834 594845 - Block 594846 594956 - ReturnStatement 594848 594921 - AsExpression 594892 594920 - Identifier 594892 594894 - TypeReference 594897 594920 - Identifier 594897 594920 - IfStatement 594956 595512 - BinaryExpression 594994 595054 - CallExpression 594994 595013 - Identifier 594994 595010 - Identifier 595011 595012 - AmpersandAmpersandToken 595013 595016 - CallExpression 595016 595054 - Identifier 595016 595051 - Identifier 595052 595053 - Block 595055 595512 - ReturnStatement 595057 595477 - CallExpression 595101 595476 - Identifier 595101 595109 - PropertyAccessExpression 595110 595135 - ElementAccessExpression 595110 595124 - PropertyAccessExpression 595110 595121 - Identifier 595110 595111 - Identifier 595112 595121 - NumericLiteral 595122 595123 - Identifier 595125 595135 - ArrowFunction 595136 595475 - Parameter 595136 595145 - Identifier 595136 595145 - EqualsGreaterThanToken 595145 595148 - Block 595148 595475 - VariableStatement 595150 595234 - VariableDeclarationList 595150 595233 - VariableDeclaration 595197 595233 - Identifier 595197 595200 - CallExpression 595202 595233 - Identifier 595202 595223 - Identifier 595224 595232 - IfStatement 595234 595436 - BinaryExpression 595280 595328 - BinaryExpression 595280 595304 - PrefixUnaryExpression 595280 595284 - PrefixUnaryExpression 595281 595284 - Identifier 595282 595284 - AmpersandAmpersandToken 595284 595287 - CallExpression 595287 595304 - Identifier 595287 595300 - Identifier 595301 595303 - AmpersandAmpersandToken 595304 595307 - BinaryExpression 595307 595328 - CallExpression 595307 595318 - Identifier 595307 595314 - Identifier 595315 595317 - EqualsEqualsEqualsToken 595318 595322 - StringLiteral 595322 595328 - Block 595329 595436 - ReturnStatement 595331 595393 - Identifier 595383 595392 - ExpressionStatement 595545 595600 - CallExpression 595545 595599 - PropertyAccessExpression 595545 595589 - Identifier 595545 595582 - Identifier 595583 595589 - PrefixUnaryExpression 595590 595598 - PrefixUnaryExpression 595591 595598 - Identifier 595592 595598 - VariableStatement 595600 595748 - VariableDeclarationList 595600 595747 - VariableDeclaration 595635 595747 - Identifier 595635 595647 - ConditionalExpression 595649 595747 - CallExpression 595649 595683 - Identifier 595649 595675 - Identifier 595676 595682 - QuestionToken 595683 595685 - ElementAccessExpression 595685 595735 - PropertyAccessExpression 595685 595732 - CallExpression 595685 595721 - Identifier 595685 595713 - Identifier 595714 595720 - Identifier 595722 595732 - NumericLiteral 595733 595734 - ColonToken 595735 595737 - Identifier 595737 595747 - VariableStatement 595748 595840 - VariableDeclarationList 595748 595839 - VariableDeclaration 595783 595839 - Identifier 595783 595801 - CallExpression 595803 595839 - PropertyAccessExpression 595803 595824 - PropertyAccessExpression 595803 595818 - Identifier 595803 595805 - Identifier 595806 595818 - QuestionDotToken 595818 595820 - Identifier 595820 595824 - Identifier 595825 595838 - ExpressionStatement 595840 596982 - CallExpression 595840 596981 - PropertyAccessExpression 595840 595881 - Identifier 595840 595876 - Identifier 595877 595881 - CallExpression 595882 596980 - Identifier 595882 595894 - Identifier 595895 595936 - CallExpression 595937 596871 - PropertyAccessExpression 595937 596007 - Identifier 595937 595978 - Identifier 595979 596007 - CallExpression 596008 596092 - PropertyAccessExpression 596008 596086 - Identifier 596008 596053 - Identifier 596054 596086 - Identifier 596087 596091 - Identifier 596093 596135 - ArrayLiteralExpression 596136 596778 - CallExpression 596175 596777 - PropertyAccessExpression 596175 596209 - Identifier 596175 596182 - Identifier 596183 596209 - Identifier 596210 596275 - Identifier 596276 596346 - ConditionalExpression 596347 596517 - Identifier 596347 596400 - QuestionToken 596400 596402 - CallExpression 596402 596507 - Identifier 596402 596438 - Identifier 596439 596450 - CallExpression 596451 596497 - Identifier 596451 596484 - Identifier 596485 596496 - Identifier 596498 596506 - ColonToken 596507 596509 - StringLiteral 596509 596517 - Identifier 596518 596587 - ConditionalExpression 596588 596737 - Identifier 596588 596639 - QuestionToken 596639 596641 - Identifier 596641 596651 - ColonToken 596651 596653 - CallExpression 596653 596737 - Identifier 596653 596681 - Identifier 596682 596689 - Identifier 596690 596708 - CallExpression 596709 596733 - Identifier 596709 596730 - Identifier 596731 596732 - Identifier 596734 596736 - Identifier 596779 596835 - BinaryExpression 596872 596948 - Identifier 596872 596923 - QuestionQuestionToken 596923 596926 - Identifier 596926 596948 - IfStatement 597009 597961 - BinaryExpression 597039 597072 - PropertyAccessExpression 597039 597046 - Identifier 597039 597040 - Identifier 597041 597046 - AmpersandToken 597046 597048 - PropertyAccessExpression 597048 597072 - Identifier 597048 597060 - Identifier 597061 597072 - Block 597073 597961 - VariableStatement 597075 597161 - VariableDeclarationList 597075 597160 - VariableDeclaration 597110 597160 - Identifier 597110 597120 - BinaryExpression 597122 597160 - Identifier 597122 597136 - AmpersandToken 597136 597138 - PropertyAccessExpression 597138 597160 - Identifier 597138 597152 - Identifier 597153 597160 - VariableStatement 597161 597253 - VariableDeclarationList 597161 597252 - VariableDeclaration 597196 597252 - Identifier 597196 597214 - CallExpression 597216 597252 - PropertyAccessExpression 597216 597237 - PropertyAccessExpression 597216 597231 - Identifier 597216 597218 - Identifier 597219 597231 - QuestionDotToken 597231 597233 - Identifier 597233 597237 - Identifier 597238 597251 - ExpressionStatement 597253 597934 - CallExpression 597253 597933 - PropertyAccessExpression 597253 597294 - Identifier 597253 597289 - Identifier 597290 597294 - CallExpression 597295 597932 - Identifier 597295 597307 - Identifier 597308 597349 - CallExpression 597350 597823 - PropertyAccessExpression 597350 597420 - Identifier 597350 597391 - Identifier 597392 597420 - CallExpression 597421 597505 - PropertyAccessExpression 597421 597499 - Identifier 597421 597466 - Identifier 597467 597499 - Identifier 597500 597504 - Identifier 597506 597548 - ArrayLiteralExpression 597549 597589 - ConditionalExpression 597590 597730 - Identifier 597590 597637 - QuestionToken 597637 597639 - Identifier 597639 597649 - ColonToken 597649 597651 - CallExpression 597651 597730 - Identifier 597651 597679 - Identifier 597680 597687 - Identifier 597688 597706 - CallExpression 597707 597726 - Identifier 597707 597723 - Identifier 597724 597725 - Identifier 597727 597729 - Identifier 597731 597787 - BinaryExpression 597824 597900 - Identifier 597824 597875 - QuestionQuestionToken 597875 597878 - Identifier 597878 597900 - ReturnStatement 597961 598001 - Identifier 597993 598000 - IfStatement 598267 599442 - BinaryExpression 598272 598350 - PropertyAccessExpression 598272 598279 - Identifier 598272 598273 - Identifier 598274 598279 - AmpersandToken 598279 598281 - ParenthesizedExpression 598281 598350 - BinaryExpression 598283 598349 - BinaryExpression 598283 598326 - PropertyAccessExpression 598283 598303 - Identifier 598283 598294 - Identifier 598295 598303 - BarToken 598303 598305 - PropertyAccessExpression 598305 598326 - Identifier 598305 598317 - Identifier 598318 598326 - BarToken 598326 598328 - PropertyAccessExpression 598328 598349 - Identifier 598328 598340 - Identifier 598341 598349 - Block 598351 599442 - ReturnStatement 598353 599419 - CallExpression 598385 599418 - Identifier 598385 598398 - Identifier 598399 598436 - CallExpression 598437 599264 - Identifier 598437 598481 - CallExpression 598482 598615 - PropertyAccessExpression 598482 598556 - Identifier 598482 598523 - Identifier 598524 598556 - BinaryExpression 598557 598614 - ParenthesizedExpression 598557 598607 - ConditionalExpression 598558 598606 - CallExpression 598558 598577 - Identifier 598558 598574 - Identifier 598575 598576 - QuestionToken 598577 598579 - PropertyAccessExpression 598579 598602 - Identifier 598579 598593 - Identifier 598594 598602 - ColonToken 598602 598604 - NumericLiteral 598604 598606 - BarToken 598607 598609 - Identifier 598609 598614 - Identifier 598616 598654 - ConditionalExpression 598655 598779 - BinaryExpression 598655 598719 - PropertyAccessExpression 598655 598696 - Identifier 598655 598690 - Identifier 598691 598696 - AmpersandToken 598696 598698 - PropertyAccessExpression 598698 598719 - Identifier 598698 598710 - Identifier 598711 598719 - QuestionToken 598719 598721 - CallExpression 598721 598767 - PropertyAccessExpression 598721 598741 - Identifier 598721 598729 - Identifier 598730 598741 - PropertyAccessExpression 598742 598766 - Identifier 598742 598752 - Identifier 598753 598766 - ColonToken 598767 598769 - Identifier 598769 598779 - ConditionalExpression 598780 598950 - Identifier 598780 598823 - QuestionToken 598823 598825 - Identifier 598825 598835 - ColonToken 598835 598837 - CallExpression 598837 598950 - Identifier 598837 598865 - Identifier 598866 598873 - CallExpression 598874 598921 - PropertyAccessExpression 598874 598895 - PropertyAccessExpression 598874 598889 - Identifier 598874 598876 - Identifier 598877 598889 - QuestionDotToken 598889 598891 - Identifier 598891 598895 - Identifier 598896 598920 - CallExpression 598922 598946 - Identifier 598922 598943 - Identifier 598944 598945 - Identifier 598947 598949 - Identifier 598951 599232 - BinaryExpression 599265 599390 - CallExpression 599265 599365 - PropertyAccessExpression 599265 599315 - PropertyAccessExpression 599265 599309 - Identifier 599265 599296 - Identifier 599297 599309 - QuestionDotToken 599309 599311 - Identifier 599311 599315 - CallExpression 599316 599364 - Identifier 599316 599318 - Identifier 599319 599340 - Identifier 599341 599363 - BarBarToken 599365 599368 - Identifier 599368 599390 - IfStatement 599442 601731 - BinaryExpression 599468 599521 - PropertyAccessExpression 599468 599475 - Identifier 599468 599469 - Identifier 599470 599475 - AmpersandToken 599475 599477 - ParenthesizedExpression 599477 599521 - BinaryExpression 599479 599520 - PropertyAccessExpression 599479 599497 - Identifier 599479 599490 - Identifier 599491 599497 - BarToken 599497 599499 - PropertyAccessExpression 599499 599520 - Identifier 599499 599511 - Identifier 599512 599520 - Block 599522 601731 - VariableStatement 599524 599582 - VariableDeclarationList 599524 599581 - VariableDeclaration 599555 599581 - Identifier 599555 599560 - CallExpression 599562 599581 - Identifier 599562 599578 - Identifier 599579 599580 - VariableStatement 599582 599673 - VariableDeclarationList 599582 599672 - VariableDeclaration 599613 599672 - Identifier 599613 599624 - CallExpression 599626 599672 - Identifier 599626 599646 - Identifier 599647 599651 - PropertyAccessExpression 599652 599671 - Identifier 599652 599666 - Identifier 599667 599671 - IfStatement 599673 600568 - BinaryExpression 599703 599731 - Identifier 599703 599707 - AmpersandToken 599707 599709 - PropertyAccessExpression 599709 599731 - Identifier 599709 599723 - Identifier 599724 599731 - Block 599732 600568 - ReturnStatement 599734 600541 - CallExpression 599770 600540 - Identifier 599770 599783 - Identifier 599784 599825 - CallExpression 599826 600341 - Identifier 599826 599874 - CallExpression 599875 600012 - PropertyAccessExpression 599875 599953 - Identifier 599875 599920 - Identifier 599921 599953 - BinaryExpression 599954 600011 - ParenthesizedExpression 599954 600004 - ConditionalExpression 599955 600003 - CallExpression 599955 599974 - Identifier 599955 599971 - Identifier 599972 599973 - QuestionToken 599974 599976 - PropertyAccessExpression 599976 599999 - Identifier 599976 599990 - Identifier 599991 599999 - ColonToken 599999 600001 - NumericLiteral 600001 600003 - BarToken 600004 600006 - Identifier 600006 600011 - Identifier 600013 600055 - ConditionalExpression 600056 600184 - BinaryExpression 600056 600124 - PropertyAccessExpression 600056 600101 - Identifier 600056 600095 - Identifier 600096 600101 - AmpersandToken 600101 600103 - PropertyAccessExpression 600103 600124 - Identifier 600103 600115 - Identifier 600116 600124 - QuestionToken 600124 600126 - CallExpression 600126 600172 - PropertyAccessExpression 600126 600146 - Identifier 600126 600134 - Identifier 600135 600146 - PropertyAccessExpression 600147 600171 - Identifier 600147 600157 - Identifier 600158 600171 - ColonToken 600172 600174 - Identifier 600174 600184 - Identifier 600185 600241 - Identifier 600242 600305 - BinaryExpression 600342 600508 - BinaryExpression 600342 600469 - CallExpression 600342 600423 - PropertyAccessExpression 600342 600396 - PropertyAccessExpression 600342 600390 - Identifier 600342 600377 - Identifier 600378 600390 - QuestionDotToken 600390 600392 - Identifier 600392 600396 - Identifier 600397 600422 - BarBarToken 600423 600426 - BinaryExpression 600426 600469 - ElementAccessExpression 600426 600440 - Identifier 600426 600437 - NumericLiteral 600438 600439 - AmpersandAmpersandToken 600440 600443 - PropertyAccessExpression 600443 600469 - ElementAccessExpression 600443 600457 - Identifier 600443 600454 - NumericLiteral 600455 600456 - Identifier 600458 600469 - BarBarToken 600469 600472 - BinaryExpression 600472 600508 - PropertyAccessExpression 600472 600487 - Identifier 600472 600474 - Identifier 600475 600487 - AmpersandAmpersandToken 600487 600490 - ElementAccessExpression 600490 600508 - PropertyAccessExpression 600490 600505 - Identifier 600490 600492 - Identifier 600493 600505 - NumericLiteral 600506 600507 - VariableStatement 600568 600615 - VariableDeclarationList 600568 600614 - VariableDeclaration 600601 600614 - Identifier 600601 600609 - ArrayLiteralExpression 600611 600614 - ForOfStatement 600615 601649 - VariableDeclarationList 600646 600655 - VariableDeclaration 600651 600655 - Identifier 600651 600655 - Identifier 600658 600669 - Block 600670 601649 - VariableStatement 600672 601377 - VariableDeclarationList 600672 601376 - VariableDeclaration 600801 601376 - Identifier 600801 600806 - CallExpression 600808 601376 - Identifier 600808 600846 - Identifier 600847 600884 - Identifier 600885 600929 - Identifier 600930 600971 - ObjectLiteralExpression 600972 601344 - ShorthandPropertyAssignment 601007 601049 - Identifier 601007 601049 - PropertyAssignment 601050 601193 - Identifier 601050 601101 - ConditionalExpression 601102 601193 - BinaryExpression 601102 601133 - PropertyAccessExpression 601102 601110 - Identifier 601102 601104 - Identifier 601105 601110 - AmpersandToken 601110 601112 - PropertyAccessExpression 601112 601133 - Identifier 601112 601124 - Identifier 601125 601133 - QuestionToken 601133 601135 - CallExpression 601135 601181 - PropertyAccessExpression 601135 601155 - Identifier 601135 601143 - Identifier 601144 601155 - PropertyAccessExpression 601156 601180 - Identifier 601156 601166 - Identifier 601167 601180 - ColonToken 601181 601183 - Identifier 601183 601193 - PropertyAssignment 601194 601308 - Identifier 601194 601241 - ConditionalExpression 601242 601308 - Identifier 601242 601247 - QuestionToken 601247 601249 - CallExpression 601249 601296 - PropertyAccessExpression 601249 601290 - Identifier 601249 601257 - Identifier 601258 601290 - Identifier 601291 601295 - ColonToken 601296 601298 - Identifier 601298 601308 - VariableStatement 601377 601540 - VariableDeclarationList 601377 601539 - VariableDeclaration 601412 601539 - Identifier 601412 601421 - ConditionalExpression 601423 601539 - BinaryExpression 601423 601496 - PropertyAccessExpression 601423 601439 - Identifier 601423 601427 - Identifier 601428 601439 - AmpersandAmpersandToken 601439 601442 - CallExpression 601442 601496 - Identifier 601442 601472 - PropertyAccessExpression 601473 601495 - PropertyAccessExpression 601473 601488 - Identifier 601473 601476 - Identifier 601477 601488 - Identifier 601489 601495 - QuestionToken 601496 601498 - PropertyAccessExpression 601498 601521 - PropertyAccessExpression 601498 601514 - Identifier 601498 601502 - Identifier 601503 601514 - Identifier 601515 601521 - ColonToken 601521 601523 - PropertyAccessExpression 601523 601539 - Identifier 601523 601527 - Identifier 601528 601539 - ExpressionStatement 601540 601622 - CallExpression 601540 601621 - PropertyAccessExpression 601540 601582 - Identifier 601540 601577 - Identifier 601578 601582 - CallExpression 601583 601620 - Identifier 601583 601595 - Identifier 601596 601603 - Identifier 601604 601609 - Identifier 601610 601619 - ReturnStatement 601649 601708 - AsExpression 601681 601707 - AsExpression 601681 601700 - Identifier 601681 601689 - UnknownKeyword 601692 601700 - ArrayType 601703 601707 - TypeReference 601703 601705 - Identifier 601703 601705 - ReturnStatement 601731 601979 - CallExpression 601897 601978 - PropertyAccessExpression 601897 601908 - Identifier 601897 601903 - Identifier 601904 601908 - TemplateExpression 601909 601977 - TemplateHead 601909 601941 - TemplateSpan 601941 601977 - BinaryExpression 601941 601975 - PropertyAccessExpression 601941 601964 - ParenthesizedExpression 601941 601951 - AsExpression 601942 601950 - Identifier 601942 601943 - AnyKeyword 601946 601950 - Identifier 601952 601964 - BarBarToken 601964 601967 - PropertyAccessExpression 601967 601975 - Identifier 601967 601969 - Identifier 601970 601975 - TemplateTail 601975 601977 - FunctionDeclaration 602014 602230 - Identifier 602038 602074 - Parameter 602075 602084 - Identifier 602075 602076 - TypeReference 602077 602084 - Identifier 602077 602084 - Parameter 602085 602112 - Identifier 602085 602094 - UnionType 602095 602112 - TypeReference 602095 602100 - Identifier 602095 602100 - UndefinedKeyword 602102 602112 - Block 602113 602230 - ReturnStatement 602115 602215 - CallExpression 602139 602214 - Identifier 602139 602181 - Identifier 602182 602183 - FalseKeyword 602184 602203 - Identifier 602204 602213 - FunctionDeclaration 602230 605437 - Identifier 602254 602274 - Parameter 602275 602294 - Identifier 602275 602279 - TypeReference 602280 602294 - Identifier 602280 602294 - Parameter 602295 602307 - Identifier 602295 602301 - TypeReference 602302 602307 - Identifier 602302 602307 - Parameter 602308 602335 - Identifier 602308 602317 - UnionType 602318 602335 - TypeReference 602318 602323 - Identifier 602318 602323 - UndefinedKeyword 602325 602335 - Parameter 602336 602377 - Identifier 602336 602347 - IndexedAccessType 602348 602377 - TypeReference 602348 602369 - Identifier 602348 602369 - LiteralType 602370 602376 - StringLiteral 602370 602376 - Block 602378 605437 - VariableStatement 602380 602450 - VariableDeclarationList 602380 602449 - VariableDeclaration 602403 602449 - Identifier 602403 602414 - CallExpression 602416 602449 - Identifier 602416 602436 - Identifier 602437 602442 - Identifier 602443 602448 - IfStatement 602450 605011 - BinaryExpression 602472 602504 - Identifier 602472 602476 - EqualsEqualsEqualsToken 602476 602480 - PropertyAccessExpression 602480 602504 - Identifier 602480 602494 - Identifier 602495 602504 - Block 602505 605011 - IfStatement 602507 602741 - BinaryExpression 602533 602596 - PrefixUnaryExpression 602533 602542 - Identifier 602534 602542 - AmpersandAmpersandToken 602542 602545 - CallExpression 602545 602596 - Identifier 602545 602551 - Identifier 602552 602562 - ArrowFunction 602563 602595 - Parameter 602563 602565 - Identifier 602563 602565 - EqualsGreaterThanToken 602565 602568 - BinaryExpression 602568 602595 - CallExpression 602568 602589 - Identifier 602568 602575 - PropertyAccessExpression 602576 602588 - Identifier 602576 602577 - Identifier 602578 602588 - EqualsEqualsEqualsToken 602589 602593 - NumericLiteral 602593 602595 - Block 602597 602741 - ReturnStatement 602599 602635 - ArrayLiteralExpression 602631 602634 - IfStatement 602741 604100 - Identifier 602767 602775 - Block 602776 604100 - VariableStatement 602778 603033 - VariableDeclarationList 602778 603032 - VariableDeclaration 602966 603032 - Identifier 602966 602975 - CallExpression 602977 603032 - Identifier 602977 602997 - Identifier 602998 603006 - PropertyAccessExpression 603007 603031 - Identifier 603007 603021 - Identifier 603022 603031 - IfStatement 603033 603302 - BinaryExpression 603063 603134 - PrefixUnaryExpression 603063 603080 - CallExpression 603064 603080 - Identifier 603064 603070 - Identifier 603071 603079 - AmpersandAmpersandToken 603080 603083 - CallExpression 603083 603134 - Identifier 603083 603089 - Identifier 603090 603100 - ArrowFunction 603101 603133 - Parameter 603101 603103 - Identifier 603101 603103 - EqualsGreaterThanToken 603103 603106 - BinaryExpression 603106 603133 - CallExpression 603106 603127 - Identifier 603106 603113 - PropertyAccessExpression 603114 603126 - Identifier 603114 603115 - Identifier 603116 603126 - EqualsEqualsEqualsToken 603127 603131 - NumericLiteral 603131 603133 - Block 603135 603302 - ReturnStatement 603137 603177 - ArrayLiteralExpression 603173 603176 - IfStatement 603302 604077 - BinaryExpression 603332 603369 - PropertyAccessExpression 603332 603347 - Identifier 603332 603340 - Identifier 603341 603347 - EqualsEqualsEqualsToken 603347 603351 - PropertyAccessExpression 603351 603369 - Identifier 603351 603362 - Identifier 603363 603369 - Block 603370 604077 - VariableStatement 603372 603421 - VariableDeclarationList 603372 603420 - VariableDeclaration 603405 603420 - Identifier 603405 603412 - FalseKeyword 603414 603420 - ForStatement 603421 603854 - VariableDeclarationList 603456 603465 - VariableDeclaration 603459 603465 - Identifier 603459 603461 - NumericLiteral 603463 603465 - BinaryExpression 603466 603486 - Identifier 603466 603468 - LessThanToken 603468 603470 - PropertyAccessExpression 603470 603486 - Identifier 603470 603479 - Identifier 603480 603486 - PostfixUnaryExpression 603487 603491 - Identifier 603487 603489 - Block 603492 603854 - IfStatement 603494 603823 - PrefixUnaryExpression 603532 603689 - CallExpression 603533 603689 - Identifier 603533 603559 - ElementAccessExpression 603560 603573 - Identifier 603560 603570 - Identifier 603571 603572 - ElementAccessExpression 603574 603586 - Identifier 603574 603583 - Identifier 603584 603585 - FalseKeyword 603587 603610 - FalseKeyword 603611 603637 - TrueKeyword 603638 603665 - Identifier 603666 603688 - Block 603690 603823 - ExpressionStatement 603692 603744 - BinaryExpression 603692 603743 - Identifier 603692 603736 - EqualsToken 603736 603738 - TrueKeyword 603738 603743 - BreakStatement 603744 603788 - IfStatement 603854 604050 - PrefixUnaryExpression 603888 603895 - Identifier 603889 603895 - Block 603896 604050 - ReturnStatement 603898 603942 - ArrayLiteralExpression 603938 603941 - VariableStatement 604100 604162 - VariableDeclarationList 604100 604161 - VariableDeclaration 604125 604161 - Identifier 604125 604142 - TypeReference 604143 604157 - Identifier 604143 604157 - NumericLiteral 604159 604161 - ForOfStatement 604162 604457 - VariableDeclarationList 604189 604196 - VariableDeclaration 604194 604196 - Identifier 604194 604196 - Identifier 604199 604210 - Block 604211 604457 - IfStatement 604213 604434 - PropertyAccessExpression 604243 604256 - Identifier 604243 604244 - Identifier 604245 604256 - Block 604257 604434 - ExpressionStatement 604259 604407 - BinaryExpression 604259 604406 - Identifier 604259 604305 - BarEqualsToken 604305 604308 - CallExpression 604308 604406 - Identifier 604308 604342 - PropertyAccessExpression 604343 604356 - Identifier 604343 604344 - Identifier 604345 604356 - BinaryExpression 604357 604405 - PropertyAccessExpression 604357 604379 - Identifier 604357 604371 - Identifier 604372 604379 - BarToken 604379 604381 - PropertyAccessExpression 604381 604405 - Identifier 604381 604395 - Identifier 604396 604405 - IfStatement 604457 604992 - Identifier 604483 604499 - Block 604500 604992 - ReturnStatement 604502 604969 - ArrayLiteralExpression 604534 604968 - CallExpression 604536 604967 - Identifier 604536 604548 - Identifier 604549 604586 - CallExpression 604587 604883 - PropertyAccessExpression 604587 604653 - Identifier 604587 604624 - Identifier 604625 604653 - CallExpression 604654 604746 - PropertyAccessExpression 604654 604728 - Identifier 604654 604695 - Identifier 604696 604728 - Identifier 604729 604745 - ArrayLiteralExpression 604747 604798 - Identifier 604799 604851 - PropertyAccessExpression 604884 604939 - ElementAccessExpression 604884 604927 - Identifier 604884 604924 - NumericLiteral 604925 604926 - Identifier 604928 604939 - VariableStatement 605011 605050 - VariableDeclarationList 605011 605049 - VariableDeclaration 605036 605049 - Identifier 605036 605044 - ArrayLiteralExpression 605046 605049 - ForOfStatement 605050 605389 - VariableDeclarationList 605073 605082 - VariableDeclaration 605078 605082 - Identifier 605078 605082 - Identifier 605085 605096 - Block 605097 605389 - VariableStatement 605099 605289 - VariableDeclarationList 605099 605288 - VariableDeclaration 605217 605288 - Identifier 605217 605222 - CallExpression 605224 605288 - Identifier 605224 605262 - Identifier 605263 605266 - Identifier 605267 605278 - Identifier 605279 605287 - ExpressionStatement 605289 605370 - CallExpression 605289 605369 - PropertyAccessExpression 605289 605323 - Identifier 605289 605318 - Identifier 605319 605323 - CallExpression 605324 605368 - Identifier 605324 605336 - Identifier 605337 605344 - Identifier 605345 605350 - PropertyAccessExpression 605351 605367 - Identifier 605351 605355 - Identifier 605356 605367 - ReturnStatement 605389 605422 - Identifier 605413 605421 - FunctionDeclaration 605437 606250 - Identifier 605461 605486 - Parameter 605487 605498 - Identifier 605487 605492 - TypeReference 605493 605498 - Identifier 605493 605498 - Parameter 605499 605526 - Identifier 605499 605508 - UnionType 605509 605526 - TypeReference 605509 605514 - Identifier 605509 605514 - UndefinedKeyword 605516 605526 - Block 605527 606250 - VariableStatement 605529 605595 - VariableDeclarationList 605529 605594 - VariableDeclaration 605552 605594 - Identifier 605552 605560 - ArrayType 605561 605589 - TypeReference 605561 605587 - Identifier 605561 605587 - ArrayLiteralExpression 605591 605594 - ForOfStatement 605595 606202 - VariableDeclarationList 605618 605628 - VariableDeclaration 605623 605628 - Identifier 605623 605628 - CallExpression 605631 605658 - Identifier 605631 605651 - Identifier 605652 605657 - Block 605659 606202 - IfStatement 605661 606065 - Identifier 605687 605695 - Block 605696 606065 - VariableStatement 605698 605784 - VariableDeclarationList 605698 605783 - VariableDeclaration 605729 605783 - Identifier 605729 605738 - CallExpression 605740 605783 - Identifier 605740 605759 - Identifier 605760 605768 - PropertyAccessExpression 605769 605782 - Identifier 605769 605774 - Identifier 605775 605782 - IfStatement 605784 606042 - Identifier 605814 605822 - Block 605823 606042 - IfStatement 605825 606015 - CallExpression 605859 605902 - Identifier 605859 605876 - PropertyAccessExpression 605877 605886 - Identifier 605877 605881 - Identifier 605882 605886 - PropertyAccessExpression 605887 605901 - Identifier 605887 605896 - Identifier 605897 605901 - Block 605903 606015 - ContinueStatement 605905 605948 - ExpressionStatement 606065 606183 - CallExpression 606065 606182 - PropertyAccessExpression 606065 606099 - Identifier 606065 606094 - Identifier 606095 606099 - CallExpression 606100 606181 - Identifier 606100 606142 - Identifier 606143 606147 - Identifier 606148 606156 - Identifier 606157 606180 - ReturnStatement 606202 606235 - Identifier 606226 606234 - FunctionDeclaration 606250 607156 - Identifier 606274 606292 - Parameter 606293 606300 - Identifier 606293 606294 - TypeReference 606295 606300 - Identifier 606295 606300 - Parameter 606301 606318 - Identifier 606301 606312 - TypeReference 606313 606318 - Identifier 606313 606318 - Parameter 606319 606336 - Identifier 606319 606328 - StringKeyword 606329 606336 - Block 606337 607156 - VariableStatement 606339 606419 - VariableDeclarationList 606339 606418 - VariableDeclaration 606362 606418 - Identifier 606362 606366 - CallExpression 606368 606418 - Identifier 606368 606396 - Identifier 606397 606398 - PropertyAccessExpression 606399 606417 - Identifier 606399 606411 - Identifier 606412 606417 - IfStatement 606419 606499 - Identifier 606441 606444 - Block 606445 606499 - ReturnStatement 606447 606480 - Identifier 606475 606479 - VariableStatement 606499 606568 - VariableDeclarationList 606499 606567 - VariableDeclaration 606522 606567 - Identifier 606522 606531 - CallExpression 606533 606567 - Identifier 606533 606547 - TemplateExpression 606548 606566 - TemplateHead 606548 606551 - TemplateSpan 606551 606566 - Identifier 606551 606559 - TemplateTail 606559 606566 - VariableStatement 606568 606950 - VariableDeclarationList 606568 606949 - VariableDeclaration 606591 606949 - Identifier 606591 606601 - CallExpression 606603 606949 - PropertyAccessExpression 606603 606635 - Identifier 606603 606611 - Identifier 606612 606635 - Identifier 606636 606681 - CallExpression 606682 606929 - PropertyAccessExpression 606682 606741 - Identifier 606682 606711 - Identifier 606712 606741 - ArrayLiteralExpression 606742 606911 - CallExpression 606743 606887 - PropertyAccessExpression 606743 606802 - Identifier 606743 606776 - Identifier 606777 606802 - Identifier 606803 606811 - Identifier 606812 606843 - CallExpression 606844 606886 - Identifier 606844 606865 - Identifier 606866 606876 - Identifier 606877 606885 - PropertyAccessExpression 606912 606928 - Identifier 606912 606922 - Identifier 606923 606928 - ExpressionStatement 606950 607009 - CallExpression 606950 607008 - Identifier 606950 606977 - Identifier 606978 606987 - PropertyAccessExpression 606988 607007 - Identifier 606988 607002 - Identifier 607003 607007 - ReturnStatement 607009 607141 - CallExpression 607033 607140 - PropertyAccessExpression 607033 607075 - Identifier 607033 607041 - Identifier 607042 607075 - CallExpression 607076 607110 - PropertyAccessExpression 607076 607100 - Identifier 607076 607083 - Identifier 607084 607100 - Identifier 607101 607109 - Identifier 607111 607139 - FunctionDeclaration 607156 608338 - Identifier 607180 607208 - Parameter 607209 607216 - Identifier 607209 607210 - TypeReference 607211 607216 - Identifier 607211 607216 - Parameter 607217 607236 - Identifier 607217 607223 - TypeReference 607224 607236 - Identifier 607224 607236 - Block 607237 608338 - VariableStatement 607239 607294 - VariableDeclarationList 607239 607293 - VariableDeclaration 607260 607293 - Identifier 607260 607269 - UnionType 607270 607293 - ArrayType 607270 607281 - TypeReference 607270 607279 - Identifier 607270 607279 - UndefinedKeyword 607283 607293 - VariableStatement 607294 607350 - VariableDeclarationList 607294 607349 - VariableDeclaration 607315 607349 - Identifier 607315 607325 - UnionType 607326 607349 - TypeReference 607326 607337 - Identifier 607326 607337 - UndefinedKeyword 607339 607349 - IfStatement 607350 608178 - BinaryExpression 607590 607711 - PropertyAccessExpression 607590 607617 - ParenthesizedExpression 607590 607610 - AsExpression 607591 607609 - Identifier 607591 607592 - TypeReference 607595 607609 - Identifier 607595 607609 - Identifier 607611 607617 - AmpersandAmpersandToken 607617 607620 - CallExpression 607620 607711 - Identifier 607620 607646 - PropertyAccessExpression 607647 607681 - PropertyAccessExpression 607647 607674 - ParenthesizedExpression 607647 607667 - AsExpression 607648 607666 - Identifier 607648 607649 - TypeReference 607652 607666 - Identifier 607652 607666 - Identifier 607668 607674 - Identifier 607675 607681 - Identifier 607682 607703 - Identifier 607704 607710 - Block 607712 607963 - ExpressionStatement 607714 607828 - BinaryExpression 607714 607827 - Identifier 607714 607744 - EqualsToken 607744 607746 - CallExpression 607746 607827 - Identifier 607746 607750 - CallExpression 607751 607787 - Identifier 607751 607767 - AsExpression 607768 607786 - Identifier 607768 607769 - TypeReference 607772 607786 - Identifier 607772 607786 - ArrowFunction 607788 607826 - Parameter 607788 607790 - Identifier 607788 607790 - EqualsGreaterThanToken 607790 607793 - CallExpression 607793 607826 - Identifier 607793 607814 - Identifier 607815 607816 - Identifier 607817 607825 - ExpressionStatement 607828 607944 - BinaryExpression 607828 607943 - Identifier 607828 607859 - EqualsToken 607859 607861 - CallExpression 607861 607943 - Identifier 607861 607880 - PropertyAccessExpression 607881 607915 - PropertyAccessExpression 607881 607908 - ParenthesizedExpression 607881 607901 - AsExpression 607882 607900 - Identifier 607882 607883 - TypeReference 607886 607900 - Identifier 607886 607900 - Identifier 607902 607908 - Identifier 607909 607915 - Identifier 607916 607924 - PropertyAccessExpression 607925 607942 - Identifier 607925 607937 - Identifier 607938 607942 - IfStatement 607985 608178 - BinaryExpression 607990 608066 - PropertyAccessExpression 607990 607998 - Identifier 607990 607991 - Identifier 607992 607998 - AmpersandAmpersandToken 607998 608001 - CallExpression 608001 608066 - Identifier 608001 608027 - PropertyAccessExpression 608028 608036 - Identifier 608028 608029 - Identifier 608030 608036 - Identifier 608037 608058 - Identifier 608059 608065 - Block 608067 608178 - ExpressionStatement 608069 608159 - BinaryExpression 608069 608158 - Identifier 608069 608100 - EqualsToken 608100 608102 - CallExpression 608102 608158 - Identifier 608102 608121 - PropertyAccessExpression 608122 608130 - Identifier 608122 608123 - Identifier 608124 608130 - Identifier 608131 608139 - PropertyAccessExpression 608140 608157 - Identifier 608140 608152 - Identifier 608153 608157 - IfStatement 608178 608323 - Identifier 608200 608209 - Block 608210 608323 - ReturnStatement 608212 608304 - CallExpression 608240 608303 - PropertyAccessExpression 608240 608282 - Identifier 608240 608248 - Identifier 608249 608282 - Identifier 608283 608292 - Identifier 608293 608302 - FunctionDeclaration 608338 608781 - Identifier 608362 608387 - Parameter 608388 608395 - Identifier 608388 608389 - TypeReference 608390 608395 - Identifier 608390 608395 - Block 608396 608781 - VariableStatement 608398 608477 - VariableDeclarationList 608398 608476 - VariableDeclaration 608421 608476 - Identifier 608421 608425 - CallExpression 608427 608476 - Identifier 608427 608455 - Identifier 608456 608457 - PropertyAccessExpression 608458 608475 - Identifier 608458 608470 - Identifier 608471 608475 - IfStatement 608477 608557 - Identifier 608499 608502 - Block 608503 608557 - ReturnStatement 608505 608538 - Identifier 608533 608537 - IfStatement 608557 608766 - PropertyAccessExpression 608579 608587 - Identifier 608579 608580 - Identifier 608581 608587 - Block 608588 608766 - ReturnStatement 608590 608747 - CallExpression 608618 608746 - PropertyAccessExpression 608618 608660 - Identifier 608618 608626 - Identifier 608627 608660 - CallExpression 608661 608716 - Identifier 608661 608679 - PropertyAccessExpression 608680 608688 - Identifier 608680 608681 - Identifier 608682 608688 - Identifier 608689 608697 - PropertyAccessExpression 608698 608715 - Identifier 608698 608710 - Identifier 608711 608715 - Identifier 608717 608745 - FunctionDeclaration 608781 609692 - Identifier 608805 608819 - Parameter 608820 608833 - Identifier 608820 608825 - StringKeyword 608826 608833 - Parameter 608834 608850 - Identifier 608834 608841 - QuestionToken 608841 608842 - TypeReference 608843 608850 - Identifier 608843 608850 - StringKeyword 608852 608859 - Block 608859 609692 - VariableStatement 608861 608931 - VariableDeclarationList 608861 608930 - VariableDeclaration 608884 608930 - Identifier 608884 608887 - ConditionalExpression 608889 608930 - Identifier 608889 608896 - QuestionToken 608896 608898 - CallExpression 608898 608918 - Identifier 608898 608910 - Identifier 608911 608917 - ColonToken 608918 608920 - Identifier 608920 608930 - IfStatement 608931 609136 - Identifier 608953 608955 - Block 608956 609136 - IfStatement 608958 609117 - CallExpression 608984 609020 - PropertyAccessExpression 608984 609016 - NonNullExpression 608984 609012 - PropertyAccessExpression 608984 609011 - Identifier 608984 608991 - Identifier 608992 609011 - Identifier 609013 609016 - Identifier 609017 609019 - Block 609021 609117 - ReturnStatement 609023 609094 - NonNullExpression 609055 609093 - CallExpression 609055 609092 - PropertyAccessExpression 609055 609088 - NonNullExpression 609055 609084 - PropertyAccessExpression 609055 609083 - Identifier 609055 609063 - Identifier 609064 609083 - Identifier 609085 609088 - Identifier 609089 609091 - IfStatement 609136 609254 - Identifier 609158 609164 - Block 609165 609254 - ExpressionStatement 609167 609235 - BinaryExpression 609167 609234 - Identifier 609167 609194 - EqualsToken 609194 609196 - CallExpression 609196 609234 - Identifier 609196 609219 - Identifier 609220 609226 - Identifier 609227 609233 - VariableStatement 609254 609282 - VariableDeclarationList 609254 609281 - VariableDeclaration 609275 609281 - Identifier 609275 609277 - NumericLiteral 609279 609281 - VariableStatement 609282 609323 - VariableDeclarationList 609282 609322 - VariableDeclaration 609305 609322 - Identifier 609305 609314 - Identifier 609316 609322 - WhileStatement 609323 609480 - CallExpression 609348 609383 - PropertyAccessExpression 609348 609376 - PropertyAccessExpression 609348 609371 - Identifier 609348 609355 - Identifier 609356 609371 - QuestionDotToken 609371 609373 - Identifier 609373 609376 - Identifier 609377 609382 - Block 609384 609480 - ExpressionStatement 609386 609412 - PostfixUnaryExpression 609386 609411 - Identifier 609386 609409 - ExpressionStatement 609412 609461 - BinaryExpression 609412 609460 - Identifier 609412 609439 - EqualsToken 609439 609441 - TemplateExpression 609441 609460 - TemplateHead 609441 609445 - TemplateSpan 609445 609457 - Identifier 609445 609453 - TemplateMiddle 609453 609457 - TemplateSpan 609457 609460 - Identifier 609457 609458 - TemplateTail 609458 609460 - ExpressionStatement 609480 609534 - CallExpression 609480 609533 - PropertyAccessExpression 609480 609526 - PropertyAccessExpression 609480 609521 - Identifier 609480 609505 - Identifier 609506 609521 - QuestionDotToken 609521 609523 - Identifier 609523 609526 - Identifier 609527 609532 - IfStatement 609534 609646 - Identifier 609556 609558 - Block 609559 609646 - ExpressionStatement 609561 609627 - CallExpression 609561 609626 - PropertyAccessExpression 609561 609615 - NonNullExpression 609561 609611 - PropertyAccessExpression 609561 609610 - Identifier 609561 609590 - Identifier 609591 609610 - Identifier 609612 609615 - Identifier 609616 609618 - Identifier 609619 609625 - ReturnStatement 609646 609677 - Identifier 609670 609676 - FunctionDeclaration 609692 610869 - Identifier 609716 609739 - Parameter 609740 609754 - Identifier 609740 609746 - TypeReference 609747 609754 - Identifier 609747 609754 - Parameter 609755 609773 - Identifier 609755 609765 - StringKeyword 609766 609773 - Block 609774 610869 - IfStatement 609776 610373 - BinaryExpression 609798 609925 - BinaryExpression 609798 609880 - BinaryExpression 609798 609838 - Identifier 609798 609807 - EqualsEqualsEqualsToken 609807 609811 - PropertyAccessExpression 609811 609838 - Identifier 609811 609830 - Identifier 609831 609838 - BarBarToken 609838 609841 - BinaryExpression 609841 609880 - Identifier 609841 609851 - EqualsEqualsEqualsToken 609851 609855 - PropertyAccessExpression 609855 609880 - Identifier 609855 609874 - Identifier 609875 609880 - BarBarToken 609880 609883 - BinaryExpression 609883 609925 - Identifier 609883 609893 - EqualsEqualsEqualsToken 609893 609897 - PropertyAccessExpression 609897 609925 - Identifier 609897 609916 - Identifier 609917 609925 - Block 609926 610373 - VariableStatement 609928 609997 - VariableDeclarationList 609928 609996 - VariableDeclaration 609955 609996 - Identifier 609955 609968 - CallExpression 609970 609996 - Identifier 609970 609987 - Identifier 609988 609995 - ExpressionStatement 609997 610073 - BinaryExpression 609997 610072 - PropertyAccessExpression 609997 610032 - Identifier 609997 610026 - Identifier 610027 610032 - BarEqualsToken 610032 610035 - PropertyAccessExpression 610035 610072 - Identifier 610035 610052 - Identifier 610053 610072 - VariableStatement 610073 610159 - VariableDeclarationList 610073 610158 - VariableDeclaration 610100 610158 - Identifier 610100 610114 - CallExpression 610116 610158 - Identifier 610116 610141 - Identifier 610142 610148 - Identifier 610149 610157 - ExpressionStatement 610159 610196 - CallExpression 610159 610195 - Identifier 610159 610193 - ExpressionStatement 610196 610354 - BinaryExpression 610196 610353 - Identifier 610196 610227 - EqualsToken 610227 610229 - ConditionalExpression 610229 610353 - BinaryExpression 610229 610308 - BinaryExpression 610229 610254 - PropertyAccessExpression 610229 610250 - Identifier 610229 610243 - Identifier 610244 610250 - GreaterThanToken 610250 610252 - NumericLiteral 610252 610254 - AmpersandAmpersandToken 610254 610257 - CallExpression 610257 610308 - Identifier 610257 610279 - CallExpression 610280 610307 - PropertyAccessExpression 610280 610304 - Identifier 610280 610293 - Identifier 610294 610304 - NumericLiteral 610305 610306 - QuestionToken 610308 610310 - CallExpression 610310 610337 - Identifier 610310 610322 - Identifier 610323 610336 - ColonToken 610337 610339 - Identifier 610339 610353 - IfStatement 610373 610641 - BinaryExpression 610395 610435 - Identifier 610395 610404 - EqualsEqualsEqualsToken 610404 610408 - PropertyAccessExpression 610408 610435 - Identifier 610408 610427 - Identifier 610428 610435 - Block 610436 610502 - ExpressionStatement 610438 610483 - BinaryExpression 610438 610482 - Identifier 610438 610469 - EqualsToken 610469 610471 - StringLiteral 610471 610482 - IfStatement 610524 610641 - BinaryExpression 610529 610574 - Identifier 610529 610538 - EqualsEqualsEqualsToken 610538 610542 - PropertyAccessExpression 610542 610574 - Identifier 610542 610561 - Identifier 610562 610574 - Block 610575 610641 - ExpressionStatement 610577 610622 - BinaryExpression 610577 610621 - Identifier 610577 610608 - EqualsToken 610608 610610 - StringLiteral 610610 610621 - ExpressionStatement 610641 610819 - BinaryExpression 610641 610818 - Identifier 610641 610668 - EqualsToken 610668 610670 - ConditionalExpression 610670 610818 - BinaryExpression 610670 610760 - CallExpression 610670 610715 - Identifier 610670 610687 - Identifier 610688 610697 - Identifier 610698 610714 - AmpersandAmpersandToken 610715 610718 - PrefixUnaryExpression 610718 610760 - CallExpression 610720 610760 - Identifier 610720 610749 - Identifier 610750 610759 - QuestionToken 610760 610762 - Identifier 610762 610772 - ColonToken 610772 610774 - BinaryExpression 610774 610818 - StringLiteral 610774 610778 - PlusToken 610778 610780 - CallExpression 610780 610818 - PropertyAccessExpression 610780 610798 - Identifier 610780 610790 - Identifier 610791 610798 - RegularExpressionLiteral 610799 610812 - StringLiteral 610813 610817 - ReturnStatement 610819 610854 - Identifier 610843 610853 - FunctionDeclaration 610869 611470 - Identifier 610893 610915 - Parameter 610916 610930 - Identifier 610916 610922 - TypeReference 610923 610930 - Identifier 610923 610930 - Parameter 610931 610949 - Identifier 610931 610941 - StringKeyword 610942 610949 - Block 610950 611470 - VariableStatement 610952 611001 - VariableDeclarationList 610952 611000 - VariableDeclaration 610975 611000 - Identifier 610975 610978 - CallExpression 610980 611000 - Identifier 610980 610992 - Identifier 610993 610999 - IfStatement 611001 611148 - CallExpression 611023 611059 - PropertyAccessExpression 611023 611055 - NonNullExpression 611023 611051 - PropertyAccessExpression 611023 611050 - Identifier 611023 611030 - Identifier 611031 611050 - Identifier 611052 611055 - Identifier 611056 611058 - Block 611060 611148 - ReturnStatement 611062 611129 - NonNullExpression 611090 611128 - CallExpression 611090 611127 - PropertyAccessExpression 611090 611123 - NonNullExpression 611090 611119 - PropertyAccessExpression 611090 611118 - Identifier 611090 611098 - Identifier 611099 611118 - Identifier 611120 611123 - Identifier 611124 611126 - ExpressionStatement 611148 611220 - BinaryExpression 611148 611219 - Identifier 611148 611175 - EqualsToken 611175 611177 - CallExpression 611177 611219 - Identifier 611177 611200 - Identifier 611201 611207 - Identifier 611208 611218 - ExpressionStatement 611220 611420 - CallExpression 611220 611419 - PropertyAccessExpression 611220 611404 - NonNullExpression 611220 611400 - PropertyAccessExpression 611220 611399 - Identifier 611220 611379 - Identifier 611380 611399 - Identifier 611401 611404 - Identifier 611405 611407 - Identifier 611408 611418 - ReturnStatement 611420 611455 - Identifier 611444 611454 - FunctionDeclaration 611488 612513 - Identifier 611504 611526 - Parameter 611527 611555 - Identifier 611527 611540 - TypeReference 611541 611555 - Identifier 611541 611555 - Parameter 611556 611584 - Identifier 611556 611577 - QuestionToken 611577 611578 - TypeReference 611579 611584 - Identifier 611579 611584 - Parameter 611585 611661 - Identifier 611585 611591 - TypeReference 611592 611608 - Identifier 611592 611608 - PropertyAccessExpression 611610 611661 - Identifier 611610 611626 - Identifier 611627 611661 - Parameter 611662 611686 - Identifier 611662 611669 - QuestionToken 611669 611670 - TypeReference 611671 611686 - Identifier 611671 611686 - StringKeyword 611688 611695 - Block 611695 612513 - ReturnStatement 611697 611828 - ConditionalExpression 611713 611827 - Identifier 611713 611720 - QuestionToken 611720 611722 - CallExpression 611722 611768 - PropertyAccessExpression 611722 611766 - CallExpression 611722 611758 - Identifier 611722 611750 - Identifier 611751 611757 - Identifier 611759 611766 - ColonToken 611768 611770 - CallExpression 611770 611827 - Identifier 611770 611798 - Identifier 611799 611826 - FunctionDeclaration 611828 612506 - Identifier 611848 611876 - Parameter 611877 611899 - Identifier 611877 611883 - TypeReference 611884 611899 - Identifier 611884 611899 - Block 611900 612506 - VariableStatement 611902 612053 - VariableDeclarationList 611902 612052 - VariableDeclaration 611921 612052 - Identifier 611921 611938 - BinaryExpression 611940 612052 - BinaryExpression 611940 611998 - CallExpression 611940 611966 - Identifier 611940 611959 - Identifier 611960 611965 - BarToken 611966 611968 - PropertyAccessExpression 611968 611998 - Identifier 611968 611985 - Identifier 611986 611998 - BarToken 611998 612000 - PropertyAccessExpression 612000 612052 - Identifier 612000 612017 - Identifier 612018 612052 - VariableStatement 612053 612186 - VariableDeclarationList 612053 612185 - VariableDeclaration 612072 612185 - Identifier 612072 612082 - NonNullExpression 612084 612185 - CallExpression 612084 612184 - PropertyAccessExpression 612084 612129 - Identifier 612084 612096 - Identifier 612097 612129 - Identifier 612130 612143 - Identifier 612144 612165 - Identifier 612166 612183 - VariableStatement 612186 612268 - VariableDeclarationList 612186 612267 - VariableDeclaration 612223 612267 - Identifier 612223 612231 - CallExpression 612233 612267 - Identifier 612233 612265 - VariableStatement 612268 612367 - VariableDeclarationList 612268 612366 - VariableDeclaration 612287 612366 - Identifier 612287 612298 - BinaryExpression 612300 612366 - Identifier 612300 612321 - AmpersandAmpersandToken 612321 612324 - CallExpression 612324 612366 - Identifier 612324 612344 - Identifier 612345 612365 - ExpressionStatement 612367 612467 - CallExpression 612367 612466 - PropertyAccessExpression 612367 612398 - Identifier 612367 612388 - Identifier 612389 612398 - PropertyAccessExpression 612399 612419 - Identifier 612399 612407 - Identifier 612408 612419 - Identifier 612420 612430 - Identifier 612431 612457 - Identifier 612458 612465 - ReturnStatement 612467 612495 - Identifier 612487 612494 - FunctionDeclaration 612513 613792 - Identifier 612529 612546 - Parameter 612547 612569 - Identifier 612547 612552 - TypeOperator 612553 612569 - ArrayType 612562 612569 - TypeReference 612562 612567 - Identifier 612562 612567 - ArrayType 612571 612578 - TypeReference 612571 612576 - Identifier 612571 612576 - Block 612578 613792 - VariableStatement 612580 612616 - VariableDeclarationList 612580 612615 - VariableDeclaration 612595 612615 - Identifier 612595 612602 - ArrayType 612603 612610 - TypeReference 612603 612608 - Identifier 612603 612608 - ArrayLiteralExpression 612612 612615 - VariableStatement 612616 612653 - VariableDeclarationList 612616 612652 - VariableDeclaration 612629 612652 - Identifier 612629 612635 - AsExpression 612637 612652 - NumericLiteral 612637 612639 - TypeReference 612642 612652 - Identifier 612642 612652 - ForStatement 612653 613622 - VariableDeclarationList 612668 612677 - VariableDeclaration 612671 612677 - Identifier 612671 612673 - NumericLiteral 612675 612677 - BinaryExpression 612678 612695 - Identifier 612678 612680 - LessThanToken 612680 612682 - PropertyAccessExpression 612682 612695 - Identifier 612682 612688 - Identifier 612689 612695 - PostfixUnaryExpression 612696 612700 - Identifier 612696 612698 - Block 612701 613622 - VariableStatement 612703 612736 - VariableDeclarationList 612703 612735 - VariableDeclaration 612722 612735 - Identifier 612722 612724 - ElementAccessExpression 612726 612735 - Identifier 612726 612732 - Identifier 612733 612734 - ExpressionStatement 612736 612767 - BinaryExpression 612736 612766 - Identifier 612736 612755 - BarEqualsToken 612755 612758 - PropertyAccessExpression 612758 612766 - Identifier 612758 612760 - Identifier 612761 612766 - IfStatement 612767 613611 - PrefixUnaryExpression 612785 612816 - ParenthesizedExpression 612786 612816 - BinaryExpression 612787 612815 - PropertyAccessExpression 612787 612794 - Identifier 612787 612788 - Identifier 612789 612794 - AmpersandToken 612794 612796 - PropertyAccessExpression 612796 612815 - Identifier 612796 612806 - Identifier 612807 612815 - Block 612817 613611 - IfStatement 612819 613563 - BinaryExpression 612841 612898 - PropertyAccessExpression 612841 612848 - Identifier 612841 612842 - Identifier 612843 612848 - AmpersandToken 612848 612850 - ParenthesizedExpression 612850 612898 - BinaryExpression 612852 612897 - PropertyAccessExpression 612852 612876 - Identifier 612852 612861 - Identifier 612862 612876 - BarToken 612876 612878 - PropertyAccessExpression 612878 612897 - Identifier 612878 612888 - Identifier 612889 612897 - Block 612899 613563 - VariableStatement 612901 613035 - VariableDeclarationList 612901 613034 - VariableDeclaration 612928 613034 - Identifier 612928 612937 - ConditionalExpression 612939 613034 - BinaryExpression 612939 612974 - PropertyAccessExpression 612939 612947 - Identifier 612939 612941 - Identifier 612942 612947 - AmpersandToken 612947 612949 - PropertyAccessExpression 612949 612974 - Identifier 612949 612959 - Identifier 612960 612974 - QuestionToken 612974 612976 - Identifier 612976 612988 - ColonToken 612988 612990 - CallExpression 612990 613034 - Identifier 612990 613016 - AsExpression 613017 613033 - Identifier 613017 613018 - TypeReference 613021 613033 - Identifier 613021 613033 - IfStatement 613035 613544 - BinaryExpression 613061 613093 - PropertyAccessExpression 613061 613075 - Identifier 613061 613069 - Identifier 613070 613075 - AmpersandToken 613075 613077 - PropertyAccessExpression 613077 613093 - Identifier 613077 613087 - Identifier 613088 613093 - Block 613094 613544 - VariableStatement 613096 613173 - VariableDeclarationList 613096 613172 - VariableDeclaration 613127 613172 - Identifier 613127 613133 - PropertyAccessExpression 613135 613172 - PropertyAccessExpression 613135 613165 - ParenthesizedExpression 613135 613159 - AsExpression 613137 613158 - Identifier 613137 613145 - TypeReference 613148 613158 - Identifier 613148 613158 - Identifier 613160 613165 - Identifier 613166 613172 - IfStatement 613173 613521 - BinaryExpression 613203 613355 - BinaryExpression 613203 613228 - BinaryExpression 613203 613212 - Identifier 613203 613204 - PlusToken 613204 613206 - Identifier 613206 613212 - LessThanEqualsToken 613212 613215 - PropertyAccessExpression 613215 613228 - Identifier 613215 613221 - Identifier 613222 613228 - AmpersandAmpersandToken 613228 613231 - BinaryExpression 613231 613355 - CallExpression 613231 613281 - Identifier 613231 613259 - ElementAccessExpression 613260 613280 - Identifier 613260 613265 - BinaryExpression 613266 613279 - BinaryExpression 613266 613275 - Identifier 613266 613267 - PlusToken 613267 613269 - Identifier 613269 613275 - MinusToken 613275 613277 - NumericLiteral 613277 613279 - EqualsEqualsEqualsToken 613281 613285 - CallExpression 613285 613355 - Identifier 613285 613313 - ElementAccessExpression 613314 613354 - PropertyAccessExpression 613314 613343 - ParenthesizedExpression 613314 613337 - AsExpression 613315 613336 - Identifier 613315 613323 - TypeReference 613326 613336 - Identifier 613326 613336 - Identifier 613338 613343 - BinaryExpression 613344 613353 - Identifier 613344 613349 - MinusToken 613349 613351 - NumericLiteral 613351 613353 - Block 613356 613521 - ExpressionStatement 613358 613410 - CallExpression 613358 613409 - PropertyAccessExpression 613358 613399 - Identifier 613358 613394 - Identifier 613395 613399 - Identifier 613400 613408 - ExpressionStatement 613410 613455 - BinaryExpression 613410 613454 - Identifier 613410 613441 - PlusEqualsToken 613441 613444 - BinaryExpression 613444 613454 - Identifier 613444 613450 - MinusToken 613450 613452 - NumericLiteral 613452 613454 - ContinueStatement 613455 613494 - ExpressionStatement 613563 613596 - CallExpression 613563 613595 - PropertyAccessExpression 613563 613592 - Identifier 613563 613587 - Identifier 613588 613592 - Identifier 613593 613594 - IfStatement 613622 613682 - BinaryExpression 613636 613658 - Identifier 613636 613641 - AmpersandToken 613641 613643 - PropertyAccessExpression 613643 613658 - Identifier 613643 613653 - Identifier 613654 613658 - ExpressionStatement 613659 613682 - CallExpression 613659 613681 - PropertyAccessExpression 613659 613671 - Identifier 613659 613666 - Identifier 613667 613671 - Identifier 613672 613680 - IfStatement 613682 613752 - BinaryExpression 613696 613723 - Identifier 613696 613701 - AmpersandToken 613701 613703 - PropertyAccessExpression 613703 613723 - Identifier 613703 613713 - Identifier 613714 613723 - ExpressionStatement 613724 613752 - CallExpression 613724 613751 - PropertyAccessExpression 613724 613736 - Identifier 613724 613731 - Identifier 613732 613736 - Identifier 613737 613750 - ReturnStatement 613752 613785 - BinaryExpression 613768 613784 - Identifier 613768 613775 - BarBarToken 613775 613778 - Identifier 613778 613784 - FunctionDeclaration 613792 614076 - Identifier 613808 613827 - Parameter 613828 613848 - Identifier 613828 613833 - TypeReference 613834 613848 - Identifier 613834 613848 - StringKeyword 613850 613857 - Block 613857 614076 - IfStatement 613859 613949 - BinaryExpression 613873 613904 - Identifier 613873 613878 - EqualsEqualsEqualsToken 613878 613882 - PropertyAccessExpression 613882 613904 - Identifier 613882 613896 - Identifier 613897 613904 - Block 613905 613949 - ReturnStatement 613907 613938 - StringLiteral 613927 613937 - IfStatement 613949 614043 - BinaryExpression 613963 613996 - Identifier 613963 613968 - EqualsEqualsEqualsToken 613968 613972 - PropertyAccessExpression 613972 613996 - Identifier 613972 613986 - Identifier 613987 613996 - Block 613997 614043 - ReturnStatement 613999 614032 - StringLiteral 614019 614031 - ReturnStatement 614043 614069 - StringLiteral 614059 614068 - FunctionDeclaration 614076 614507 - Identifier 614092 614119 - Parameter 614120 614130 - Identifier 614120 614124 - TypeReference 614125 614130 - Identifier 614125 614130 - UnionType 614132 614151 - TypeReference 614132 614139 - Identifier 614132 614139 - UndefinedKeyword 614141 614151 - Block 614151 614507 - IfStatement 614153 614473 - BinaryExpression 614167 614253 - BinaryExpression 614167 614225 - PropertyAccessExpression 614167 614178 - Identifier 614167 614171 - Identifier 614172 614178 - AmpersandAmpersandToken 614178 614181 - BinaryExpression 614181 614225 - PropertyAccessExpression 614181 614199 - PropertyAccessExpression 614181 614193 - Identifier 614181 614186 - Identifier 614187 614193 - Identifier 614194 614199 - AmpersandToken 614199 614201 - PropertyAccessExpression 614201 614225 - Identifier 614201 614213 - Identifier 614214 614225 - AmpersandAmpersandToken 614225 614228 - PropertyAccessExpression 614228 614253 - PropertyAccessExpression 614228 614240 - Identifier 614228 614233 - Identifier 614234 614240 - Identifier 614241 614253 - Block 614254 614473 - VariableStatement 614256 614344 - VariableDeclarationList 614256 614343 - VariableDeclaration 614275 614343 - Identifier 614275 614280 - CallExpression 614282 614343 - Identifier 614282 614307 - PropertyAccessExpression 614308 614342 - ElementAccessExpression 614308 614335 - PropertyAccessExpression 614308 614332 - PropertyAccessExpression 614308 614319 - Identifier 614308 614312 - Identifier 614313 614319 - Identifier 614320 614332 - NumericLiteral 614333 614334 - Identifier 614336 614342 - IfStatement 614344 614462 - CallExpression 614362 614390 - Identifier 614362 614384 - Identifier 614385 614389 - Block 614391 614462 - ReturnStatement 614393 614447 - CallExpression 614417 614446 - Identifier 614417 614440 - Identifier 614441 614445 - ReturnStatement 614473 614500 - Identifier 614489 614499 - FunctionDeclaration 614507 614754 - Identifier 614523 614562 - Parameter 614563 614573 - Identifier 614563 614567 - TypeReference 614568 614573 - Identifier 614568 614573 - BooleanKeyword 614575 614583 - Block 614583 614754 - ReturnStatement 614585 614747 - BinaryExpression 614601 614746 - BinaryExpression 614601 614681 - BinaryExpression 614601 614621 - Identifier 614601 614606 - AmpersandAmpersandToken 614606 614609 - PropertyAccessExpression 614609 614621 - Identifier 614609 614614 - Identifier 614615 614621 - AmpersandAmpersandToken 614621 614624 - BinaryExpression 614624 614681 - PropertyAccessExpression 614624 614654 - PropertyAccessExpression 614624 614649 - Identifier 614624 614642 - Identifier 614643 614649 - Identifier 614650 614654 - EqualsEqualsEqualsToken 614654 614658 - PropertyAccessExpression 614658 614681 - Identifier 614658 614669 - Identifier 614670 614681 - AmpersandAmpersandToken 614681 614684 - CallExpression 614684 614746 - Identifier 614684 614726 - PropertyAccessExpression 614727 614745 - PropertyAccessExpression 614727 614738 - Identifier 614727 614731 - Identifier 614732 614738 - Identifier 614739 614745 - FunctionDeclaration 614754 614905 - Identifier 614770 614794 - Parameter 614795 614809 - Identifier 614795 614803 - TypeReference 614804 614809 - Identifier 614804 614809 - Block 614810 614905 - ReturnStatement 614812 614898 - BinaryExpression 614828 614897 - BinaryExpression 614828 614868 - PropertyAccessExpression 614828 614842 - Identifier 614828 614837 - Identifier 614838 614842 - EqualsEqualsEqualsToken 614842 614846 - PropertyAccessExpression 614846 614868 - Identifier 614846 614857 - Identifier 614858 614868 - BarBarToken 614868 614871 - CallExpression 614871 614897 - Identifier 614871 614887 - Identifier 614888 614896 - FunctionDeclaration 614905 615846 - Identifier 614921 614949 - Parameter 614950 614964 - Identifier 614950 614956 - TypeReference 614957 614964 - Identifier 614957 614964 - Parameter 614965 614994 - Identifier 614965 614973 - QuestionToken 614973 614974 - TypeReference 614975 614994 - Identifier 614975 614994 - Block 614995 615846 - VariableStatement 614997 615056 - VariableDeclarationList 614997 615055 - VariableDeclaration 615012 615055 - Identifier 615012 615021 - PropertyAccessExpression 615023 615055 - CallExpression 615023 615046 - Identifier 615023 615038 - Identifier 615039 615045 - Identifier 615047 615055 - IfStatement 615056 615839 - Identifier 615070 615078 - Block 615079 615839 - IfStatement 615081 615644 - BinaryExpression 615099 615147 - PropertyAccessExpression 615099 615113 - Identifier 615099 615107 - Identifier 615108 615113 - AmpersandToken 615113 615115 - PropertyAccessExpression 615115 615147 - Identifier 615115 615125 - Identifier 615126 615147 - Block 615148 615644 - VariableStatement 615150 615244 - VariableDeclarationList 615150 615243 - VariableDeclaration 615173 615243 - Identifier 615173 615178 - BinaryExpression 615180 615243 - StringLiteral 615180 615183 - PlusToken 615183 615185 - PropertyAccessExpression 615185 615243 - ParenthesizedExpression 615185 615237 - AsExpression 615187 615236 - Identifier 615187 615195 - UnionType 615198 615236 - TypeReference 615198 615216 - Identifier 615198 615216 - TypeReference 615218 615236 - Identifier 615218 615236 - Identifier 615238 615243 - IfStatement 615244 615463 - BinaryExpression 615266 615358 - PrefixUnaryExpression 615266 615327 - CallExpression 615267 615327 - Identifier 615267 615283 - Identifier 615284 615288 - CallExpression 615289 615326 - Identifier 615289 615309 - Identifier 615310 615325 - AmpersandAmpersandToken 615327 615330 - PrefixUnaryExpression 615330 615358 - CallExpression 615332 615358 - Identifier 615332 615352 - Identifier 615353 615357 - Block 615359 615463 - ReturnStatement 615361 615444 - TemplateExpression 615389 615443 - TemplateHead 615389 615394 - TemplateSpan 615394 615443 - CallExpression 615394 615440 - Identifier 615394 615406 - Identifier 615407 615411 - PropertyAccessExpression 615412 615439 - Identifier 615412 615427 - Identifier 615428 615439 - TemplateTail 615440 615443 - IfStatement 615463 615599 - BinaryExpression 615485 615536 - CallExpression 615485 615511 - Identifier 615485 615505 - Identifier 615506 615510 - AmpersandAmpersandToken 615511 615514 - CallExpression 615514 615536 - Identifier 615514 615525 - Identifier 615526 615530 - StringLiteral 615531 615535 - Block 615537 615599 - ReturnStatement 615539 615580 - TemplateExpression 615567 615579 - TemplateHead 615567 615572 - TemplateSpan 615572 615579 - Identifier 615572 615576 - TemplateTail 615576 615579 - ReturnStatement 615599 615629 - Identifier 615623 615628 - IfStatement 615644 615828 - BinaryExpression 615662 615703 - PropertyAccessExpression 615662 615676 - Identifier 615662 615670 - Identifier 615671 615676 - AmpersandToken 615676 615678 - PropertyAccessExpression 615678 615703 - Identifier 615678 615688 - Identifier 615689 615703 - Block 615704 615828 - ReturnStatement 615706 615813 - TemplateExpression 615730 615812 - TemplateHead 615730 615735 - TemplateSpan 615735 615812 - CallExpression 615735 615809 - Identifier 615735 615759 - PropertyAccessExpression 615760 615799 - ParenthesizedExpression 615760 615792 - AsExpression 615761 615791 - Identifier 615761 615769 - TypeReference 615772 615791 - Identifier 615772 615791 - Identifier 615793 615799 - Identifier 615800 615808 - TemplateTail 615809 615812 - FunctionDeclaration 615846 619653 - Identifier 616265 616290 - Parameter 616291 616305 - Identifier 616291 616297 - TypeReference 616298 616305 - Identifier 616298 616305 - Parameter 616306 616335 - Identifier 616306 616314 - QuestionToken 616314 616315 - TypeReference 616316 616335 - Identifier 616316 616335 - StringKeyword 616337 616344 - Block 616344 619653 - IfStatement 616346 616515 - CallExpression 616360 616419 - PropertyAccessExpression 616360 616398 - PropertyAccessExpression 616360 616393 - Identifier 616360 616367 - QuestionDotToken 616367 616369 - Identifier 616369 616393 - QuestionDotToken 616393 616395 - Identifier 616395 616398 - CallExpression 616399 616418 - Identifier 616399 616410 - Identifier 616411 616417 - Block 616420 616515 - ExpressionStatement 616422 616504 - BinaryExpression 616422 616503 - Identifier 616422 616442 - EqualsToken 616442 616444 - NonNullExpression 616444 616503 - CallExpression 616444 616502 - PropertyAccessExpression 616444 616481 - PropertyAccessExpression 616444 616477 - Identifier 616444 616452 - Identifier 616453 616477 - Identifier 616478 616481 - CallExpression 616482 616501 - Identifier 616482 616493 - Identifier 616494 616500 - IfStatement 616515 617356 - BinaryExpression 616529 617301 - BinaryExpression 616529 616677 - BinaryExpression 616529 616603 - Identifier 616529 616550 - AmpersandAmpersandToken 616550 616553 - BinaryExpression 616553 616603 - PropertyAccessExpression 616553 616572 - Identifier 616553 616560 - Identifier 616561 616572 - EqualsEqualsEqualsToken 616572 616576 - PropertyAccessExpression 616576 616603 - Identifier 616576 616595 - Identifier 616596 616603 - AmpersandAmpersandToken 616603 616606 - PrefixUnaryExpression 616606 616677 - ParenthesizedExpression 616608 616677 - BinaryExpression 616609 616676 - PropertyAccessExpression 616609 616622 - Identifier 616609 616616 - Identifier 616617 616622 - AmpersandToken 616622 616624 - PropertyAccessExpression 616624 616676 - Identifier 616624 616641 - Identifier 616642 616676 - AmpersandAmpersandToken 616677 616680 - ParenthesizedExpression 616680 617301 - BinaryExpression 616784 617300 - BinaryExpression 616784 616995 - PrefixUnaryExpression 616784 616839 - ParenthesizedExpression 616785 616839 - BinaryExpression 616786 616838 - PropertyAccessExpression 616786 616799 - Identifier 616786 616793 - Identifier 616794 616799 - AmpersandToken 616799 616801 - PropertyAccessExpression 616801 616838 - Identifier 616801 616818 - Identifier 616819 616838 - BarBarToken 616839 616842 - PrefixUnaryExpression 616842 616995 - PropertyAccessExpression 616976 616995 - Identifier 616976 616982 - Identifier 616983 616995 - BarBarToken 616995 616998 - ParenthesizedExpression 616998 617300 - BinaryExpression 617134 617299 - PropertyAccessExpression 617134 617162 - Identifier 617134 617141 - Identifier 617142 617162 - AmpersandAmpersandToken 617162 617165 - BinaryExpression 617165 617299 - CallExpression 617165 617227 - Identifier 617165 617178 - ElementAccessExpression 617179 617201 - PropertyAccessExpression 617179 617198 - Identifier 617179 617185 - Identifier 617186 617198 - NumericLiteral 617199 617200 - Identifier 617202 617226 - ExclamationEqualsEqualsToken 617227 617231 - CallExpression 617231 617299 - Identifier 617231 617244 - PropertyAccessExpression 617245 617273 - Identifier 617245 617252 - Identifier 617253 617273 - Identifier 617274 617298 - Block 617312 617356 - ReturnStatement 617314 617345 - StringLiteral 617334 617344 - IfStatement 617356 619514 - BinaryExpression 617370 617419 - PropertyAccessExpression 617370 617389 - Identifier 617370 617376 - Identifier 617377 617389 - AmpersandAmpersandToken 617389 617392 - PropertyAccessExpression 617392 617419 - PropertyAccessExpression 617392 617412 - Identifier 617392 617399 - Identifier 617400 617412 - Identifier 617413 617419 - Block 617420 619514 - VariableStatement 617422 617534 - VariableDeclarationList 617422 617533 - VariableDeclaration 617439 617533 - Identifier 617439 617451 - CallExpression 617453 617533 - Identifier 617453 617466 - PropertyAccessExpression 617467 617486 - Identifier 617467 617473 - Identifier 617474 617486 - ArrowFunction 617487 617532 - Parameter 617487 617489 - Identifier 617487 617489 - EqualsGreaterThanToken 617489 617492 - ConditionalExpression 617492 617532 - CallExpression 617492 617516 - Identifier 617492 617513 - Identifier 617514 617515 - QuestionToken 617516 617518 - Identifier 617518 617520 - ColonToken 617520 617522 - Identifier 617522 617532 - VariableStatement 617534 617656 - VariableDeclarationList 617534 617655 - VariableDeclaration 617599 617655 - Identifier 617599 617604 - BinaryExpression 617606 617655 - Identifier 617606 617618 - AmpersandAmpersandToken 617618 617621 - CallExpression 617621 617655 - Identifier 617621 617642 - Identifier 617643 617654 - IfStatement 617656 618591 - BinaryExpression 617674 617693 - Identifier 617674 617685 - AmpersandAmpersandToken 617685 617688 - Identifier 617688 617693 - Block 617694 618591 - IfStatement 617696 617868 - BinaryExpression 617718 617798 - CallExpression 617718 617747 - Identifier 617718 617734 - Identifier 617735 617746 - AmpersandAmpersandToken 617747 617750 - CallExpression 617750 617798 - Identifier 617750 617785 - Identifier 617786 617797 - Block 617799 617868 - ReturnStatement 617801 617849 - CallExpression 617829 617848 - Identifier 617829 617840 - Identifier 617841 617847 - IfStatement 617868 618521 - BinaryExpression 617890 617964 - CallExpression 617890 617918 - Identifier 617890 617912 - Identifier 617913 617917 - AmpersandAmpersandToken 617918 617921 - PrefixUnaryExpression 617921 617964 - ParenthesizedExpression 617923 617964 - BinaryExpression 617924 617963 - CallExpression 617924 617945 - Identifier 617924 617937 - Identifier 617938 617944 - AmpersandToken 617945 617947 - PropertyAccessExpression 617947 617963 - Identifier 617947 617958 - Identifier 617959 617963 - Block 617965 618521 - VariableStatement 617967 618038 - VariableDeclarationList 617967 618037 - VariableDeclaration 617994 618037 - Identifier 617994 618003 - PropertyAccessExpression 618005 618037 - CallExpression 618005 618028 - Identifier 618005 618020 - Identifier 618021 618027 - Identifier 618029 618037 - IfStatement 618038 618502 - BinaryExpression 618064 618124 - Identifier 618064 618072 - AmpersandAmpersandToken 618072 618075 - BinaryExpression 618075 618124 - PropertyAccessExpression 618075 618090 - Identifier 618075 618084 - Identifier 618085 618090 - AmpersandToken 618090 618092 - PropertyAccessExpression 618092 618124 - Identifier 618092 618102 - Identifier 618103 618124 - Block 618125 618502 - VariableStatement 618127 618355 - VariableDeclarationList 618127 618354 - VariableDeclaration 618300 618354 - Identifier 618300 618307 - CallExpression 618309 618354 - Identifier 618309 618337 - Identifier 618338 618344 - Identifier 618345 618353 - IfStatement 618355 618479 - BinaryExpression 618385 618405 - Identifier 618385 618391 - ExclamationEqualsEqualsToken 618391 618395 - Identifier 618395 618405 - Block 618406 618479 - ReturnStatement 618408 618452 - Identifier 618444 618451 - ReturnStatement 618521 618576 - CallExpression 618545 618575 - Identifier 618545 618569 - Identifier 618570 618574 - IfStatement 618591 618747 - PrefixUnaryExpression 618609 618621 - Identifier 618610 618621 - Block 618622 618747 - ExpressionStatement 618624 618679 - BinaryExpression 618624 618678 - Identifier 618624 618653 - EqualsToken 618653 618655 - ElementAccessExpression 618655 618678 - PropertyAccessExpression 618655 618675 - Identifier 618655 618662 - Identifier 618663 618675 - NumericLiteral 618676 618677 - IfStatement 618747 618962 - BinaryExpression 618765 618845 - PropertyAccessExpression 618765 618783 - Identifier 618765 618776 - Identifier 618777 618783 - AmpersandAmpersandToken 618783 618786 - BinaryExpression 618786 618845 - PropertyAccessExpression 618786 618810 - PropertyAccessExpression 618786 618805 - Identifier 618786 618798 - Identifier 618799 618805 - Identifier 618806 618810 - EqualsEqualsEqualsToken 618810 618814 - PropertyAccessExpression 618814 618845 - Identifier 618814 618825 - Identifier 618826 618845 - Block 618846 618962 - ReturnStatement 618848 618947 - CallExpression 618872 618946 - Identifier 618872 618896 - PropertyAccessExpression 618897 618945 - ParenthesizedExpression 618897 618940 - AsExpression 618898 618939 - PropertyAccessExpression 618898 618916 - Identifier 618898 618909 - Identifier 618910 618916 - TypeReference 618919 618939 - Identifier 618919 618939 - Identifier 618941 618945 - SwitchStatement 618962 619503 - PropertyAccessExpression 618984 619000 - Identifier 618984 618995 - Identifier 618996 619000 - CaseBlock 619001 619503 - CaseClause 619003 619053 - PropertyAccessExpression 619025 619052 - Identifier 619025 619036 - Identifier 619037 619052 - CaseClause 619053 619106 - PropertyAccessExpression 619075 619105 - Identifier 619075 619086 - Identifier 619087 619105 - CaseClause 619106 619488 - PropertyAccessExpression 619128 619153 - Identifier 619128 619139 - Identifier 619140 619153 - IfStatement 619154 619364 - BinaryExpression 619180 619280 - BinaryExpression 619180 619216 - Identifier 619180 619187 - AmpersandAmpersandToken 619187 619190 - PrefixUnaryExpression 619190 619216 - PropertyAccessExpression 619192 619216 - Identifier 619192 619199 - Identifier 619200 619216 - AmpersandAmpersandToken 619216 619219 - PrefixUnaryExpression 619219 619280 - ParenthesizedExpression 619221 619280 - BinaryExpression 619222 619279 - PropertyAccessExpression 619222 619235 - Identifier 619222 619229 - Identifier 619230 619235 - AmpersandToken 619235 619237 - PropertyAccessExpression 619237 619279 - Identifier 619237 619254 - Identifier 619255 619279 - Block 619281 619364 - ExpressionStatement 619283 619341 - BinaryExpression 619283 619340 - PropertyAccessExpression 619283 619333 - Identifier 619283 619316 - Identifier 619317 619333 - EqualsToken 619333 619335 - TrueKeyword 619335 619340 - ReturnStatement 619364 619488 - ConditionalExpression 619392 619487 - BinaryExpression 619392 619440 - PropertyAccessExpression 619392 619409 - Identifier 619392 619404 - Identifier 619405 619409 - EqualsEqualsEqualsToken 619409 619413 - PropertyAccessExpression 619413 619440 - Identifier 619413 619424 - Identifier 619425 619440 - QuestionToken 619440 619442 - StringLiteral 619442 619462 - ColonToken 619462 619464 - StringLiteral 619464 619487 - VariableStatement 619514 619582 - VariableDeclarationList 619514 619581 - VariableDeclaration 619529 619581 - Identifier 619529 619534 - CallExpression 619536 619581 - Identifier 619536 619564 - Identifier 619565 619571 - Identifier 619572 619580 - ReturnStatement 619582 619646 - ConditionalExpression 619598 619645 - BinaryExpression 619598 619617 - Identifier 619598 619603 - ExclamationEqualsEqualsToken 619603 619607 - Identifier 619607 619617 - QuestionToken 619617 619619 - Identifier 619619 619624 - ColonToken 619624 619626 - CallExpression 619626 619645 - Identifier 619626 619637 - Identifier 619638 619644 - FunctionDeclaration 619653 625024 - Identifier 619669 619690 - Parameter 619691 619701 - Identifier 619691 619695 - TypeReference 619696 619701 - Identifier 619696 619701 - BooleanKeyword 619703 619711 - Block 619711 625024 - IfStatement 619713 619966 - Identifier 619727 619731 - Block 619732 619966 - VariableStatement 619734 619781 - VariableDeclarationList 619734 619780 - VariableDeclaration 619753 619780 - Identifier 619753 619759 - CallExpression 619761 619780 - Identifier 619761 619774 - Identifier 619775 619779 - IfStatement 619781 619918 - BinaryExpression 619799 619828 - PropertyAccessExpression 619799 619814 - Identifier 619799 619804 - Identifier 619805 619814 - EqualsEqualsEqualsToken 619814 619818 - Identifier 619818 619828 - Block 619829 619918 - ExpressionStatement 619831 619903 - BinaryExpression 619831 619902 - PropertyAccessExpression 619831 619864 - Identifier 619831 619854 - Identifier 619855 619864 - EqualsToken 619864 619866 - PrefixUnaryExpression 619866 619902 - PrefixUnaryExpression 619868 619902 - CallExpression 619869 619902 - Identifier 619869 619900 - ReturnStatement 619918 619955 - PropertyAccessExpression 619938 619954 - Identifier 619938 619944 - Identifier 619945 619954 - ReturnStatement 619966 619991 - FalseKeyword 619984 619990 - FunctionDeclaration 619991 625017 - Identifier 620011 620043 - Block 620045 625017 - SwitchStatement 620047 625006 - PropertyAccessExpression 620069 620078 - Identifier 620069 620073 - Identifier 620074 620078 - CaseBlock 620079 625006 - CaseClause 620081 620132 - PropertyAccessExpression 620103 620131 - Identifier 620103 620114 - Identifier 620115 620131 - CaseClause 620132 620182 - PropertyAccessExpression 620154 620181 - Identifier 620154 620165 - Identifier 620166 620181 - CaseClause 620182 620617 - PropertyAccessExpression 620204 620228 - Identifier 620204 620215 - Identifier 620216 620228 - ReturnStatement 620229 620617 - PrefixUnaryExpression 620506 620616 - PrefixUnaryExpression 620508 620616 - ParenthesizedExpression 620509 620616 - BinaryExpression 620510 620615 - BinaryExpression 620510 620572 - BinaryExpression 620510 620543 - PropertyAccessExpression 620510 620521 - Identifier 620510 620514 - Identifier 620515 620521 - AmpersandAmpersandToken 620521 620524 - PropertyAccessExpression 620524 620543 - PropertyAccessExpression 620524 620536 - Identifier 620524 620529 - Identifier 620530 620536 - Identifier 620537 620543 - AmpersandAmpersandToken 620543 620546 - PropertyAccessExpression 620546 620572 - PropertyAccessExpression 620546 620565 - PropertyAccessExpression 620546 620558 - Identifier 620546 620551 - Identifier 620552 620558 - Identifier 620559 620565 - Identifier 620566 620572 - AmpersandAmpersandToken 620572 620575 - CallExpression 620575 620615 - Identifier 620575 620588 - PropertyAccessExpression 620589 620614 - PropertyAccessExpression 620589 620607 - PropertyAccessExpression 620589 620600 - Identifier 620589 620593 - Identifier 620594 620600 - Identifier 620601 620607 - Identifier 620608 620614 - CaseClause 620617 620736 - PropertyAccessExpression 620639 620665 - Identifier 620639 620650 - Identifier 620651 620665 - ReturnStatement 620666 620736 - CallExpression 620694 620735 - Identifier 620694 620715 - PropertyAccessExpression 620716 620734 - PropertyAccessExpression 620716 620727 - Identifier 620716 620720 - Identifier 620721 620727 - Identifier 620728 620734 - CaseClause 620736 621183 - PropertyAccessExpression 620758 620789 - Identifier 620758 620769 - Identifier 620770 620789 - IfStatement 620790 621183 - BinaryExpression 620816 620994 - CallExpression 620816 620894 - Identifier 620816 620858 - PropertyAccessExpression 620859 620893 - ParenthesizedExpression 620859 620888 - AsExpression 620860 620887 - Identifier 620860 620864 - TypeReference 620867 620887 - Identifier 620867 620887 - Identifier 620889 620893 - AmpersandAmpersandToken 620894 620897 - PrefixUnaryExpression 620897 620994 - PropertyAccessExpression 620924 620994 - PropertyAccessExpression 620924 620987 - ParenthesizedExpression 620924 620978 - AsExpression 620925 620977 - PropertyAccessExpression 620925 620959 - ParenthesizedExpression 620925 620954 - AsExpression 620926 620953 - Identifier 620926 620930 - TypeReference 620933 620953 - Identifier 620933 620953 - Identifier 620955 620959 - TypeReference 620962 620977 - Identifier 620962 620977 - Identifier 620979 620987 - Identifier 620988 620994 - Block 621017 621183 - ReturnStatement 621019 621160 - FalseKeyword 621153 621159 - CaseClause 621183 621273 - PropertyAccessExpression 621243 621272 - Identifier 621243 621254 - Identifier 621255 621272 - CaseClause 621273 621324 - PropertyAccessExpression 621295 621323 - Identifier 621295 621306 - Identifier 621307 621323 - CaseClause 621324 621379 - PropertyAccessExpression 621346 621378 - Identifier 621346 621357 - Identifier 621358 621378 - CaseClause 621379 621434 - PropertyAccessExpression 621401 621433 - Identifier 621401 621412 - Identifier 621413 621433 - CaseClause 621434 621488 - PropertyAccessExpression 621456 621487 - Identifier 621456 621467 - Identifier 621468 621487 - CaseClause 621488 621538 - PropertyAccessExpression 621510 621537 - Identifier 621510 621521 - Identifier 621522 621537 - CaseClause 621538 622555 - PropertyAccessExpression 621560 621595 - Identifier 621560 621571 - Identifier 621572 621595 - IfStatement 621596 621791 - CallExpression 621693 621727 - Identifier 621693 621721 - Identifier 621722 621726 - Block 621728 621791 - ReturnStatement 621730 621768 - TrueKeyword 621762 621767 - VariableStatement 621791 621858 - VariableDeclarationList 621791 621857 - VariableDeclaration 621818 621857 - Identifier 621818 621825 - CallExpression 621827 621857 - Identifier 621827 621851 - Identifier 621852 621856 - IfStatement 621858 622368 - BinaryExpression 622000 622260 - PrefixUnaryExpression 622000 622103 - ParenthesizedExpression 622027 622103 - BinaryExpression 622028 622102 - CallExpression 622028 622079 - Identifier 622028 622058 - AsExpression 622059 622078 - Identifier 622059 622063 - TypeReference 622066 622078 - Identifier 622066 622078 - AmpersandToken 622079 622081 - PropertyAccessExpression 622081 622102 - Identifier 622081 622095 - Identifier 622096 622102 - AmpersandAmpersandToken 622103 622106 - PrefixUnaryExpression 622106 622260 - ParenthesizedExpression 622133 622260 - BinaryExpression 622134 622259 - BinaryExpression 622134 622223 - BinaryExpression 622134 622182 - PropertyAccessExpression 622134 622143 - Identifier 622134 622138 - Identifier 622139 622143 - ExclamationEqualsEqualsToken 622143 622147 - PropertyAccessExpression 622147 622182 - Identifier 622147 622158 - Identifier 622159 622182 - AmpersandAmpersandToken 622182 622185 - BinaryExpression 622185 622223 - PropertyAccessExpression 622185 622197 - Identifier 622185 622192 - Identifier 622193 622197 - ExclamationEqualsEqualsToken 622197 622201 - PropertyAccessExpression 622201 622223 - Identifier 622201 622212 - Identifier 622213 622223 - AmpersandAmpersandToken 622223 622226 - BinaryExpression 622226 622259 - PropertyAccessExpression 622226 622239 - Identifier 622226 622233 - Identifier 622234 622239 - AmpersandToken 622239 622241 - PropertyAccessExpression 622241 622259 - Identifier 622241 622251 - Identifier 622252 622259 - Block 622283 622368 - ReturnStatement 622285 622345 - CallExpression 622317 622344 - Identifier 622317 622336 - Identifier 622337 622343 - ReturnStatement 622368 622555 - CallExpression 622525 622554 - Identifier 622525 622546 - Identifier 622547 622553 - CaseClause 622555 622611 - PropertyAccessExpression 622579 622610 - Identifier 622579 622590 - Identifier 622591 622610 - CaseClause 622611 622663 - PropertyAccessExpression 622633 622662 - Identifier 622633 622644 - Identifier 622645 622662 - CaseClause 622663 622709 - PropertyAccessExpression 622685 622708 - Identifier 622685 622696 - Identifier 622697 622708 - CaseClause 622709 622755 - PropertyAccessExpression 622731 622754 - Identifier 622731 622742 - Identifier 622743 622754 - CaseClause 622755 622807 - PropertyAccessExpression 622777 622806 - Identifier 622777 622788 - Identifier 622789 622806 - CaseClause 622807 623104 - PropertyAccessExpression 622829 622856 - Identifier 622829 622840 - Identifier 622841 622856 - IfStatement 622857 623104 - CallExpression 622883 622958 - Identifier 622883 622903 - Identifier 622904 622908 - BinaryExpression 622909 622957 - PropertyAccessExpression 622909 622931 - Identifier 622909 622923 - Identifier 622924 622931 - BarToken 622931 622933 - PropertyAccessExpression 622933 622957 - Identifier 622933 622947 - Identifier 622948 622957 - Block 622959 623104 - ReturnStatement 622961 623081 - FalseKeyword 623074 623080 - CaseClause 623104 623284 - PropertyAccessExpression 623260 623283 - Identifier 623260 623271 - Identifier 623272 623283 - CaseClause 623284 623337 - PropertyAccessExpression 623306 623336 - Identifier 623306 623317 - Identifier 623318 623336 - CaseClause 623337 623385 - PropertyAccessExpression 623359 623384 - Identifier 623359 623370 - Identifier 623371 623384 - CaseClause 623385 623434 - PropertyAccessExpression 623407 623433 - Identifier 623407 623418 - Identifier 623419 623433 - CaseClause 623434 623478 - PropertyAccessExpression 623456 623477 - Identifier 623456 623467 - Identifier 623468 623477 - CaseClause 623478 623524 - PropertyAccessExpression 623500 623523 - Identifier 623500 623511 - Identifier 623512 623523 - CaseClause 623524 623571 - PropertyAccessExpression 623546 623570 - Identifier 623546 623557 - Identifier 623558 623570 - CaseClause 623571 623621 - PropertyAccessExpression 623593 623620 - Identifier 623593 623604 - Identifier 623605 623620 - CaseClause 623621 623667 - PropertyAccessExpression 623643 623666 - Identifier 623643 623654 - Identifier 623655 623666 - CaseClause 623667 623715 - PropertyAccessExpression 623689 623714 - Identifier 623689 623700 - Identifier 623701 623714 - CaseClause 623715 623759 - PropertyAccessExpression 623737 623758 - Identifier 623737 623748 - Identifier 623749 623758 - CaseClause 623759 623803 - PropertyAccessExpression 623781 623802 - Identifier 623781 623792 - Identifier 623793 623802 - CaseClause 623803 623847 - PropertyAccessExpression 623825 623846 - Identifier 623825 623836 - Identifier 623837 623846 - CaseClause 623847 623898 - PropertyAccessExpression 623869 623897 - Identifier 623869 623880 - Identifier 623881 623897 - CaseClause 623898 623950 - PropertyAccessExpression 623920 623949 - Identifier 623920 623931 - Identifier 623932 623949 - CaseClause 623950 624064 - PropertyAccessExpression 623972 624000 - Identifier 623972 623983 - Identifier 623984 624000 - ReturnStatement 624001 624064 - CallExpression 624029 624063 - Identifier 624029 624050 - PropertyAccessExpression 624051 624062 - Identifier 624051 624055 - Identifier 624056 624062 - CaseClause 624064 624266 - PropertyAccessExpression 624241 624265 - Identifier 624241 624252 - Identifier 624253 624265 - CaseClause 624266 624316 - PropertyAccessExpression 624288 624315 - Identifier 624288 624299 - Identifier 624300 624315 - CaseClause 624316 624401 - PropertyAccessExpression 624338 624365 - Identifier 624338 624349 - Identifier 624350 624365 - ReturnStatement 624366 624401 - FalseKeyword 624394 624400 - CaseClause 624401 624506 - PropertyAccessExpression 624480 624505 - Identifier 624480 624491 - Identifier 624492 624505 - CaseClause 624506 624659 - PropertyAccessExpression 624636 624658 - Identifier 624636 624647 - Identifier 624648 624658 - CaseClause 624659 624754 - PropertyAccessExpression 624681 624719 - Identifier 624681 624692 - Identifier 624693 624719 - ReturnStatement 624720 624754 - TrueKeyword 624748 624753 - CaseClause 624754 624928 - PropertyAccessExpression 624864 624892 - Identifier 624864 624875 - Identifier 624876 624892 - ReturnStatement 624893 624928 - FalseKeyword 624921 624927 - DefaultClause 624928 624991 - ReturnStatement 624956 624991 - FalseKeyword 624984 624990 - FunctionDeclaration 625024 627405 - Identifier 625040 625061 - Parameter 625062 625084 - Identifier 625062 625066 - TypeReference 625067 625084 - Identifier 625067 625084 - Parameter 625085 625109 - Identifier 625085 625099 - QuestionToken 625099 625100 - BooleanKeyword 625101 625109 - UnionType 625111 625130 - ArrayType 625111 625118 - TypeReference 625111 625116 - Identifier 625111 625116 - UndefinedKeyword 625120 625130 - Block 625130 627405 - VariableStatement 625132 625179 - VariableDeclarationList 625132 625178 - VariableDeclaration 625145 625178 - Identifier 625145 625158 - UnionType 625159 625178 - TypeReference 625159 625166 - Identifier 625159 625166 - UndefinedKeyword 625168 625178 - IfStatement 625179 625749 - BinaryExpression 625193 625298 - BinaryExpression 625193 625246 - BinaryExpression 625193 625231 - PropertyAccessExpression 625193 625202 - Identifier 625193 625197 - Identifier 625198 625202 - ExclamationEqualsEqualsToken 625202 625206 - PropertyAccessExpression 625206 625231 - Identifier 625206 625217 - Identifier 625218 625231 - AmpersandAmpersandToken 625231 625234 - PropertyAccessExpression 625234 625246 - Identifier 625234 625239 - Identifier 625240 625246 - AmpersandAmpersandToken 625246 625249 - BinaryExpression 625249 625298 - PropertyAccessExpression 625249 625266 - PropertyAccessExpression 625249 625261 - Identifier 625249 625254 - Identifier 625255 625261 - Identifier 625262 625266 - EqualsEqualsEqualsToken 625266 625270 - PropertyAccessExpression 625270 625298 - Identifier 625270 625281 - Identifier 625282 625298 - Block 625299 625499 - ExpressionStatement 625301 625488 - BinaryExpression 625301 625487 - Identifier 625301 625327 - EqualsToken 625327 625329 - CallExpression 625329 625487 - Identifier 625329 625341 - Identifier 625342 625346 - Identifier 625347 625352 - BinaryExpression 625353 625434 - BinaryExpression 625353 625414 - BinaryExpression 625353 625390 - PropertyAccessExpression 625353 625371 - Identifier 625353 625365 - Identifier 625366 625371 - BarToken 625371 625373 - PropertyAccessExpression 625373 625390 - Identifier 625373 625385 - Identifier 625386 625390 - BarToken 625390 625392 - PropertyAccessExpression 625392 625414 - Identifier 625392 625404 - Identifier 625405 625414 - BarToken 625414 625416 - PropertyAccessExpression 625416 625434 - Identifier 625416 625428 - Identifier 625429 625434 - Identifier 625435 625469 - FalseKeyword 625470 625486 - IfStatement 625513 625749 - BinaryExpression 625518 625565 - PropertyAccessExpression 625518 625534 - PropertyAccessExpression 625518 625529 - Identifier 625518 625522 - Identifier 625523 625529 - Identifier 625530 625534 - EqualsEqualsEqualsToken 625534 625538 - PropertyAccessExpression 625538 625565 - Identifier 625538 625549 - Identifier 625550 625565 - Block 625566 625749 - ExpressionStatement 625568 625738 - BinaryExpression 625568 625737 - Identifier 625568 625594 - EqualsToken 625594 625596 - CallExpression 625596 625737 - Identifier 625596 625623 - AsExpression 625624 625654 - PropertyAccessExpression 625624 625635 - Identifier 625624 625628 - Identifier 625629 625635 - TypeReference 625638 625654 - Identifier 625638 625654 - BinaryExpression 625655 625736 - BinaryExpression 625655 625716 - BinaryExpression 625655 625692 - PropertyAccessExpression 625655 625673 - Identifier 625655 625667 - Identifier 625668 625673 - BarToken 625673 625675 - PropertyAccessExpression 625675 625692 - Identifier 625675 625687 - Identifier 625688 625692 - BarToken 625692 625694 - PropertyAccessExpression 625694 625716 - Identifier 625694 625706 - Identifier 625707 625716 - BarToken 625716 625718 - PropertyAccessExpression 625718 625736 - Identifier 625718 625730 - Identifier 625731 625736 - VariableStatement 625749 625790 - VariableDeclarationList 625749 625789 - VariableDeclaration 625762 625789 - Identifier 625762 625769 - UnionType 625770 625789 - ArrayType 625770 625777 - TypeReference 625770 625775 - Identifier 625770 625775 - UndefinedKeyword 625779 625789 - VariableStatement 625790 625837 - VariableDeclarationList 625790 625836 - VariableDeclaration 625803 625836 - Identifier 625803 625811 - UnionType 625812 625836 - TypeReference 625812 625824 - Identifier 625812 625816 - NumberKeyword 625817 625823 - UndefinedKeyword 625826 625836 - IfStatement 625837 626026 - Identifier 625851 625863 - Block 625864 626026 - ExpressionStatement 625866 625900 - BinaryExpression 625866 625899 - Identifier 625866 625887 - EqualsToken 625887 625889 - NewExpression 625889 625899 - Identifier 625893 625897 - ExpressionStatement 625900 625953 - CallExpression 625900 625952 - PropertyAccessExpression 625900 625925 - Identifier 625900 625921 - Identifier 625922 625925 - CallExpression 625926 625951 - Identifier 625926 625937 - Identifier 625938 625950 - ExpressionStatement 625953 626015 - CallExpression 625953 626014 - Identifier 625953 625987 - PropertyAccessExpression 625988 626013 - Identifier 625988 626000 - Identifier 626001 626013 - ReturnStatement 626026 626050 - Identifier 626042 626049 - FunctionDeclaration 626050 627398 - Identifier 626070 626091 - Parameter 626092 626131 - Identifier 626092 626104 - UnionType 626105 626131 - ArrayType 626105 626119 - TypeReference 626105 626117 - Identifier 626105 626117 - UndefinedKeyword 626121 626131 - Block 626132 627398 - ExpressionStatement 626134 627387 - CallExpression 626134 627386 - Identifier 626134 626155 - Identifier 626156 626168 - ArrowFunction 626169 627385 - Parameter 626169 626181 - Identifier 626169 626181 - EqualsGreaterThanToken 626181 626184 - Block 626184 627385 - VariableStatement 626186 626270 - VariableDeclarationList 626186 626269 - VariableDeclaration 626209 626269 - Identifier 626209 626220 - BinaryExpression 626222 626269 - CallExpression 626222 626254 - Identifier 626222 626241 - Identifier 626242 626253 - BarBarToken 626254 626257 - Identifier 626257 626269 - IfStatement 626270 626534 - Identifier 626292 626305 - Block 626306 626392 - ExpressionStatement 626308 626373 - BinaryExpression 626308 626372 - PropertyAccessExpression 626308 626365 - CallExpression 626308 626355 - Identifier 626308 626342 - Identifier 626343 626354 - Identifier 626356 626365 - EqualsToken 626365 626367 - TrueKeyword 626367 626372 - Block 626414 626534 - ExpressionStatement 626416 626460 - BinaryExpression 626416 626459 - Identifier 626416 626444 - EqualsToken 626444 626446 - BinaryExpression 626446 626459 - Identifier 626446 626453 - BarBarToken 626453 626456 - ArrayLiteralExpression 626456 626459 - ExpressionStatement 626460 626515 - CallExpression 626460 626514 - Identifier 626460 626494 - Identifier 626495 626501 - Identifier 626502 626513 - IfStatement 626534 627370 - CallExpression 626558 626610 - Identifier 626558 626597 - Identifier 626598 626609 - Block 626611 627370 - VariableStatement 626613 626790 - VariableDeclarationList 626613 626789 - VariableDeclaration 626705 626789 - Identifier 626705 626729 - AsExpression 626731 626789 - PropertyAccessExpression 626731 626759 - Identifier 626731 626743 - Identifier 626744 626759 - UnionType 626762 626789 - TypeReference 626762 626773 - Identifier 626762 626773 - TypeReference 626775 626789 - Identifier 626775 626789 - VariableStatement 626790 626880 - VariableDeclarationList 626790 626879 - VariableDeclaration 626817 626879 - Identifier 626817 626833 - CallExpression 626835 626879 - Identifier 626835 626854 - Identifier 626855 626878 - VariableStatement 626880 627091 - VariableDeclarationList 626880 627090 - VariableDeclaration 626907 627090 - Identifier 626907 626920 - CallExpression 626922 627090 - Identifier 626922 626934 - Identifier 626935 626946 - PropertyAccessExpression 626947 626975 - Identifier 626947 626963 - Identifier 626964 626975 - BinaryExpression 626976 627037 - BinaryExpression 626976 627013 - PropertyAccessExpression 626976 626994 - Identifier 626976 626988 - Identifier 626989 626994 - BarToken 626994 626996 - PropertyAccessExpression 626996 627013 - Identifier 626996 627008 - Identifier 627009 627013 - BarToken 627013 627015 - PropertyAccessExpression 627015 627037 - Identifier 627015 627027 - Identifier 627028 627037 - Identifier 627038 627072 - FalseKeyword 627073 627089 - IfStatement 627091 627351 - BinaryExpression 627117 627140 - Identifier 627117 627129 - AmpersandAmpersandToken 627129 627132 - Identifier 627132 627140 - Block 627141 627351 - IfStatement 627143 627328 - CallExpression 627173 627220 - Identifier 627173 627184 - Identifier 627185 627192 - CallExpression 627193 627219 - Identifier 627193 627205 - Identifier 627206 627218 - Block 627221 627328 - ExpressionStatement 627223 627301 - CallExpression 627223 627300 - Identifier 627223 627273 - PropertyAccessExpression 627274 627299 - Identifier 627274 627286 - Identifier 627287 627299 - FunctionDeclaration 627405 628909 - Identifier 628243 628262 - Parameter 628263 628287 - Identifier 628263 628269 - TypeReference 628270 628287 - Identifier 628270 628287 - Parameter 628288 628325 - Identifier 628288 628301 - TypeReference 628302 628325 - Identifier 628302 628325 - BooleanKeyword 628327 628335 - Block 628335 628909 - VariableStatement 628337 628433 - VariableDeclarationList 628337 628432 - VariableDeclaration 628352 628432 - Identifier 628352 628378 - CallExpression 628380 628432 - Identifier 628380 628410 - Identifier 628411 628417 - Identifier 628418 628431 - IfStatement 628433 628737 - BinaryExpression 628447 628477 - Identifier 628447 628472 - GreaterThanEqualsToken 628472 628475 - NumericLiteral 628475 628477 - Block 628478 628737 - VariableStatement 628480 628565 - VariableDeclarationList 628480 628564 - VariableDeclaration 628533 628564 - ObjectBindingPattern 628533 628544 - BindingElement 628535 628542 - Identifier 628535 628542 - Identifier 628546 628564 - ForStatement 628565 628699 - VariableDeclarationList 628584 628617 - VariableDeclaration 628587 628617 - Identifier 628587 628589 - Identifier 628591 628617 - BinaryExpression 628618 628629 - Identifier 628618 628620 - LessThanToken 628620 628622 - Identifier 628622 628629 - PostfixUnaryExpression 628630 628634 - Identifier 628630 628632 - Block 628635 628699 - ExpressionStatement 628637 628684 - BinaryExpression 628637 628683 - ElementAccessExpression 628637 628675 - Identifier 628637 628672 - Identifier 628673 628674 - EqualsToken 628675 628677 - FalseKeyword 628677 628683 - ReturnStatement 628699 628726 - FalseKeyword 628719 628725 - ExpressionStatement 628737 628778 - CallExpression 628737 628777 - PropertyAccessExpression 628737 628769 - Identifier 628737 628764 - Identifier 628765 628769 - Identifier 628770 628776 - ExpressionStatement 628778 628827 - CallExpression 628778 628826 - PropertyAccessExpression 628778 628810 - Identifier 628778 628805 - Identifier 628806 628810 - TrueKeyword 628811 628825 - ExpressionStatement 628827 628880 - CallExpression 628827 628879 - PropertyAccessExpression 628827 628865 - Identifier 628827 628860 - Identifier 628861 628865 - Identifier 628866 628878 - ReturnStatement 628880 628902 - TrueKeyword 628896 628901 - FunctionDeclaration 628909 629430 - Identifier 628925 628955 - Parameter 628956 628980 - Identifier 628956 628962 - TypeReference 628963 628980 - Identifier 628963 628980 - Parameter 628981 629018 - Identifier 628981 628994 - TypeReference 628995 629018 - Identifier 628995 629018 - NumberKeyword 629020 629027 - Block 629027 629430 - ForStatement 629029 629403 - VariableDeclarationList 629044 629080 - VariableDeclaration 629047 629080 - Identifier 629047 629049 - BinaryExpression 629051 629080 - PropertyAccessExpression 629051 629076 - Identifier 629051 629069 - Identifier 629070 629076 - MinusToken 629076 629078 - NumericLiteral 629078 629080 - BinaryExpression 629081 629102 - Identifier 629081 629083 - GreaterThanEqualsToken 629083 629086 - Identifier 629086 629102 - PostfixUnaryExpression 629103 629107 - Identifier 629103 629105 - Block 629108 629403 - IfStatement 629110 629251 - CallExpression 629128 629205 - Identifier 629128 629155 - ElementAccessExpression 629156 629176 - Identifier 629156 629173 - Identifier 629174 629175 - ElementAccessExpression 629177 629204 - Identifier 629177 629201 - Identifier 629202 629203 - Block 629206 629251 - ReturnStatement 629208 629236 - PrefixUnaryExpression 629232 629235 - NumericLiteral 629234 629235 - IfStatement 629251 629392 - BinaryExpression 629269 629347 - BinaryExpression 629269 629300 - ElementAccessExpression 629269 629289 - Identifier 629269 629286 - Identifier 629287 629288 - EqualsEqualsEqualsToken 629289 629293 - Identifier 629293 629300 - AmpersandAmpersandToken 629300 629303 - BinaryExpression 629303 629347 - ElementAccessExpression 629303 629330 - Identifier 629303 629327 - Identifier 629328 629329 - EqualsEqualsEqualsToken 629330 629334 - Identifier 629334 629347 - Block 629348 629392 - ReturnStatement 629350 629377 - Identifier 629374 629376 - ReturnStatement 629403 629423 - PrefixUnaryExpression 629419 629422 - NumericLiteral 629421 629422 - FunctionDeclaration 629430 630897 - Identifier 629446 629474 - Parameter 629475 629499 - Identifier 629475 629481 - TypeReference 629482 629499 - Identifier 629482 629499 - Parameter 629500 629537 - Identifier 629500 629513 - TypeReference 629514 629537 - Identifier 629514 629537 - BooleanKeyword 629539 629547 - Block 629547 630897 - SwitchStatement 629549 630841 - Identifier 629567 629579 - CaseBlock 629580 630841 - CaseClause 629582 629694 - PropertyAccessExpression 629600 629628 - Identifier 629600 629623 - Identifier 629624 629628 - ReturnStatement 629629 629694 - PrefixUnaryExpression 629653 629693 - PrefixUnaryExpression 629655 629693 - PropertyAccessExpression 629656 629693 - CallExpression 629656 629688 - Identifier 629656 629670 - AsExpression 629671 629687 - Identifier 629671 629677 - TypeReference 629680 629687 - Identifier 629680 629687 - Identifier 629689 629693 - CaseClause 629694 629822 - PropertyAccessExpression 629712 629748 - Identifier 629712 629735 - Identifier 629736 629748 - ReturnStatement 629749 629822 - PrefixUnaryExpression 629773 629821 - PrefixUnaryExpression 629775 629821 - PropertyAccessExpression 629776 629821 - CallExpression 629776 629808 - Identifier 629776 629790 - AsExpression 629791 629807 - Identifier 629791 629797 - TypeReference 629800 629807 - Identifier 629800 629807 - Identifier 629809 629821 - CaseClause 629822 629973 - PropertyAccessExpression 629840 629891 - Identifier 629840 629863 - Identifier 629864 629891 - ReturnStatement 629892 629973 - PrefixUnaryExpression 629916 629972 - PrefixUnaryExpression 629918 629972 - PropertyAccessExpression 629919 629972 - ParenthesizedExpression 629919 629944 - AsExpression 629920 629943 - Identifier 629920 629926 - TypeReference 629929 629943 - Identifier 629929 629943 - Identifier 629945 629972 - CaseClause 629973 630102 - PropertyAccessExpression 629991 630033 - Identifier 629991 630014 - Identifier 630015 630033 - ReturnStatement 630034 630102 - PrefixUnaryExpression 630058 630101 - PrefixUnaryExpression 630060 630101 - PropertyAccessExpression 630061 630101 - ParenthesizedExpression 630061 630082 - AsExpression 630062 630081 - Identifier 630062 630068 - TypeReference 630071 630081 - Identifier 630071 630081 - Identifier 630083 630101 - CaseClause 630102 630236 - PropertyAccessExpression 630120 630167 - Identifier 630120 630143 - Identifier 630144 630167 - ReturnStatement 630168 630236 - PrefixUnaryExpression 630192 630235 - PrefixUnaryExpression 630194 630235 - PropertyAccessExpression 630195 630235 - ParenthesizedExpression 630195 630211 - AsExpression 630196 630210 - Identifier 630196 630202 - TypeReference 630205 630210 - Identifier 630205 630210 - Identifier 630212 630235 - CaseClause 630236 630375 - PropertyAccessExpression 630254 630299 - Identifier 630254 630277 - Identifier 630278 630299 - ReturnStatement 630300 630375 - PrefixUnaryExpression 630324 630374 - PrefixUnaryExpression 630326 630374 - PropertyAccessExpression 630327 630374 - ParenthesizedExpression 630327 630352 - AsExpression 630328 630351 - Identifier 630328 630334 - TypeReference 630337 630351 - Identifier 630337 630351 - Identifier 630353 630374 - CaseClause 630375 630506 - PropertyAccessExpression 630393 630434 - Identifier 630393 630416 - Identifier 630417 630434 - ReturnStatement 630435 630506 - PrefixUnaryExpression 630459 630505 - PrefixUnaryExpression 630461 630505 - PropertyAccessExpression 630462 630505 - ParenthesizedExpression 630462 630487 - AsExpression 630463 630486 - Identifier 630463 630469 - TypeReference 630472 630486 - Identifier 630472 630486 - Identifier 630488 630505 - CaseClause 630506 630628 - PropertyAccessExpression 630524 630557 - Identifier 630524 630547 - Identifier 630548 630557 - ReturnStatement 630558 630628 - PrefixUnaryExpression 630582 630627 - PrefixUnaryExpression 630584 630627 - PropertyAccessExpression 630585 630627 - CallExpression 630585 630617 - Identifier 630585 630599 - AsExpression 630600 630616 - Identifier 630600 630606 - TypeReference 630609 630616 - Identifier 630609 630616 - Identifier 630618 630627 - CaseClause 630628 630830 - PropertyAccessExpression 630646 630707 - Identifier 630646 630669 - Identifier 630670 630707 - ReturnStatement 630708 630830 - BinaryExpression 630732 630829 - PropertyAccessExpression 630732 630815 - CallExpression 630732 630777 - Identifier 630732 630745 - AsExpression 630746 630776 - Identifier 630746 630752 - TypeReference 630755 630776 - Identifier 630755 630776 - Identifier 630778 630815 - ExclamationEqualsEqualsToken 630815 630819 - Identifier 630819 630829 - ReturnStatement 630841 630890 - CallExpression 630857 630889 - PropertyAccessExpression 630857 630875 - Identifier 630857 630863 - Identifier 630864 630875 - Identifier 630876 630888 - FunctionDeclaration 630897 631287 - Identifier 631133 631151 - BooleanKeyword 631154 631162 - Block 631162 631287 - ExpressionStatement 631164 631198 - CallExpression 631164 631197 - PropertyAccessExpression 631164 631195 - Identifier 631164 631191 - Identifier 631192 631195 - ExpressionStatement 631198 631238 - CallExpression 631198 631237 - PropertyAccessExpression 631198 631235 - Identifier 631198 631231 - Identifier 631232 631235 - ReturnStatement 631238 631280 - NonNullExpression 631254 631279 - CallExpression 631254 631278 - PropertyAccessExpression 631254 631276 - Identifier 631254 631272 - Identifier 631273 631276 - FunctionDeclaration 631287 631890 - Identifier 631303 631327 - Parameter 631328 631338 - Identifier 631328 631332 - TypeReference 631333 631338 - Identifier 631333 631338 - TypeReference 631340 631345 - Identifier 631340 631345 - Block 631345 631890 - ReturnStatement 631347 631883 - PropertyAccessExpression 631363 631882 - NonNullExpression 631363 631875 - CallExpression 631363 631874 - Identifier 631363 631376 - CallExpression 631377 631401 - Identifier 631377 631395 - Identifier 631396 631400 - ArrowFunction 631402 631873 - Parameter 631402 631407 - Identifier 631402 631407 - EqualsGreaterThanToken 631407 631410 - Block 631410 631873 - SwitchStatement 631412 631862 - PropertyAccessExpression 631434 631443 - Identifier 631434 631438 - Identifier 631439 631443 - CaseBlock 631444 631862 - CaseClause 631446 631500 - PropertyAccessExpression 631468 631499 - Identifier 631468 631479 - Identifier 631480 631499 - CaseClause 631500 631558 - PropertyAccessExpression 631522 631557 - Identifier 631522 631533 - Identifier 631534 631557 - CaseClause 631558 631608 - PropertyAccessExpression 631580 631607 - Identifier 631580 631591 - Identifier 631592 631607 - CaseClause 631608 631655 - PropertyAccessExpression 631630 631654 - Identifier 631630 631641 - Identifier 631642 631654 - CaseClause 631655 631705 - PropertyAccessExpression 631677 631704 - Identifier 631677 631688 - Identifier 631689 631704 - CaseClause 631705 631787 - PropertyAccessExpression 631727 631751 - Identifier 631727 631738 - Identifier 631739 631751 - ReturnStatement 631752 631787 - FalseKeyword 631780 631786 - DefaultClause 631787 631847 - ReturnStatement 631813 631847 - TrueKeyword 631841 631846 - Identifier 631876 631882 - FunctionDeclaration 631890 632591 - Identifier 631906 631933 - Parameter 631934 631951 - Identifier 631934 631943 - TypeReference 631944 631951 - Identifier 631944 631951 - TypeReference 631953 631958 - Identifier 631953 631958 - Block 631958 632591 - VariableStatement 631960 632437 - VariableDeclarationList 631960 632436 - VariableDeclaration 632352 632436 - Identifier 632352 632362 - AsExpression 632364 632436 - CallExpression 632364 632419 - Identifier 632364 632388 - NonNullExpression 632389 632418 - CallExpression 632389 632417 - Identifier 632389 632406 - Identifier 632407 632416 - TypeReference 632422 632436 - Identifier 632422 632436 - ReturnStatement 632437 632584 - ConditionalExpression 632453 632583 - PropertyAccessExpression 632453 632478 - Identifier 632453 632463 - Identifier 632464 632478 - QuestionToken 632478 632480 - CallExpression 632480 632571 - Identifier 632480 632500 - AsExpression 632501 632525 - Identifier 632501 632510 - TypeReference 632513 632525 - Identifier 632513 632525 - CallExpression 632526 632570 - Identifier 632526 632530 - PropertyAccessExpression 632531 632555 - Identifier 632531 632540 - Identifier 632541 632555 - ArrowFunction 632556 632569 - Parameter 632556 632558 - Identifier 632556 632558 - EqualsGreaterThanToken 632558 632561 - Identifier 632561 632569 - ColonToken 632571 632573 - Identifier 632573 632583 - FunctionDeclaration 632591 632902 - Identifier 632712 632736 - Parameter 632737 632747 - Identifier 632737 632741 - TypeReference 632742 632747 - Identifier 632742 632747 - Parameter 632748 632763 - Identifier 632748 632753 - TypeReference 632754 632763 - Identifier 632754 632763 - UnionType 632765 632782 - TypeReference 632765 632770 - Identifier 632765 632770 - UndefinedKeyword 632772 632782 - Block 632782 632902 - VariableStatement 632784 632837 - VariableDeclarationList 632784 632836 - VariableDeclaration 632799 632836 - Identifier 632799 632804 - CallExpression 632806 632836 - Identifier 632806 632824 - Identifier 632825 632829 - Identifier 632830 632835 - ReturnStatement 632837 632895 - ConditionalExpression 632853 632894 - Identifier 632853 632858 - QuestionToken 632858 632860 - CallExpression 632860 632882 - Identifier 632860 632876 - Identifier 632877 632881 - ColonToken 632882 632884 - Identifier 632884 632894 - FunctionDeclaration 632902 633472 - Identifier 633137 633177 - Parameter 633178 633188 - Identifier 633178 633182 - TypeReference 633183 633188 - Identifier 633183 633188 - Parameter 633189 633204 - Identifier 633189 633194 - TypeReference 633195 633204 - Identifier 633195 633204 - UnionType 633206 633223 - TypeReference 633206 633211 - Identifier 633206 633211 - UndefinedKeyword 633213 633223 - Block 633223 633472 - VariableStatement 633225 633248 - VariableDeclarationList 633225 633247 - VariableDeclaration 633238 633247 - Identifier 633238 633247 - ReturnStatement 633248 633465 - BinaryExpression 633264 633464 - CallExpression 633264 633300 - Identifier 633264 633288 - Identifier 633289 633293 - Identifier 633294 633299 - BarBarToken 633300 633303 - BinaryExpression 633303 633464 - ParenthesizedExpression 633303 633377 - BinaryExpression 633318 633376 - Identifier 633318 633326 - EqualsToken 633326 633328 - PropertyAccessExpression 633328 633376 - CallExpression 633328 633370 - Identifier 633328 633358 - Identifier 633359 633363 - Identifier 633364 633369 - QuestionDotToken 633370 633372 - Identifier 633372 633376 - AmpersandAmpersandToken 633377 633380 - CallExpression 633380 633464 - Identifier 633380 633412 - Identifier 633413 633421 - TrueKeyword 633422 633442 - TrueKeyword 633443 633463 - FunctionDeclaration 633472 633591 - Identifier 633488 633498 - Parameter 633499 633521 - Identifier 633499 633503 - UnionType 633504 633521 - TypeReference 633504 633509 - Identifier 633504 633509 - UndefinedKeyword 633511 633521 - Block 633522 633591 - ReturnStatement 633524 633584 - BinaryExpression 633540 633583 - Identifier 633540 633545 - AmpersandAmpersandToken 633545 633548 - BinaryExpression 633548 633583 - ParenthesizedExpression 633548 633577 - BinaryExpression 633550 633576 - PropertyAccessExpression 633550 633560 - Identifier 633550 633554 - Identifier 633555 633560 - AmpersandToken 633560 633562 - PropertyAccessExpression 633562 633576 - Identifier 633562 633572 - Identifier 633573 633576 - ExclamationEqualsEqualsToken 633577 633581 - NumericLiteral 633581 633583 - FunctionDeclaration 633591 633940 - Identifier 633607 633619 - Parameter 633620 633630 - Identifier 633620 633624 - TypeReference 633625 633630 - Identifier 633625 633630 - Block 633631 633940 - ReturnStatement 633633 633933 - BinaryExpression 633859 633932 - BinaryExpression 633859 633878 - Identifier 633859 633864 - EqualsEqualsEqualsToken 633864 633868 - Identifier 633868 633878 - BarBarToken 633878 633881 - PrefixUnaryExpression 633881 633932 - PrefixUnaryExpression 633883 633932 - ParenthesizedExpression 633884 633932 - BinaryExpression 633885 633931 - BinaryExpression 633885 633911 - PropertyAccessExpression 633885 633895 - Identifier 633885 633889 - Identifier 633890 633895 - AmpersandToken 633895 633897 - PropertyAccessExpression 633897 633911 - Identifier 633897 633907 - Identifier 633908 633911 - AmpersandAmpersandToken 633911 633914 - PropertyAccessExpression 633914 633931 - Identifier 633914 633919 - Identifier 633920 633931 - FunctionDeclaration 633940 634549 - Identifier 634101 634132 - Parameter 634133 634164 - Identifier 634133 634137 - TypeReference 634138 634164 - Identifier 634138 634164 - Parameter 634165 634186 - Identifier 634165 634175 - TypeReference 634176 634186 - Identifier 634176 634186 - Block 634187 634549 - IfStatement 634189 634349 - BinaryExpression 634203 634233 - Identifier 634203 634212 - ExclamationEqualsEqualsToken 634212 634216 - PropertyAccessExpression 634216 634233 - Identifier 634216 634226 - Identifier 634227 634233 - Block 634234 634349 - ReturnStatement 634236 634338 - CallExpression 634256 634337 - Identifier 634256 634290 - Identifier 634291 634295 - FalseKeyword 634296 634325 - Identifier 634326 634336 - VariableStatement 634349 634403 - VariableDeclarationList 634349 634402 - VariableDeclaration 634364 634402 - Identifier 634364 634371 - CallExpression 634373 634402 - Identifier 634373 634396 - Identifier 634397 634401 - ReturnStatement 634403 634542 - BinaryExpression 634419 634541 - BinaryExpression 634419 634457 - Identifier 634419 634426 - AmpersandAmpersandToken 634426 634429 - PropertyAccessExpression 634429 634457 - CallExpression 634429 634452 - Identifier 634429 634444 - Identifier 634445 634451 - Identifier 634453 634457 - BarBarToken 634457 634460 - CallExpression 634460 634541 - Identifier 634460 634494 - Identifier 634495 634499 - FalseKeyword 634500 634529 - Identifier 634530 634540 - FunctionDeclaration 634549 637028 - Identifier 634565 634577 - Parameter 634578 634590 - Identifier 634578 634584 - TypeReference 634585 634590 - Identifier 634585 634590 - Parameter 634591 634618 - Identifier 634591 634602 - ArrayType 634603 634618 - TypeReference 634603 634616 - Identifier 634603 634616 - Parameter 634619 634646 - Identifier 634619 634626 - UnionType 634627 634646 - TypeReference 634627 634634 - Identifier 634627 634634 - UndefinedKeyword 634636 634646 - TypeReference 634648 634653 - Identifier 634648 634653 - Block 634653 637028 - ExpressionStatement 634655 634731 - BinaryExpression 634655 634730 - Identifier 634655 634671 - EqualsToken 634671 634673 - CallExpression 634673 634730 - Identifier 634673 634684 - Identifier 634685 634691 - ArrowFunction 634692 634729 - Parameter 634692 634694 - Identifier 634692 634694 - EqualsGreaterThanToken 634694 634697 - PrefixUnaryExpression 634697 634729 - ParenthesizedExpression 634699 634729 - BinaryExpression 634700 634728 - PropertyAccessExpression 634700 634707 - Identifier 634700 634701 - Identifier 634702 634707 - AmpersandToken 634707 634709 - PropertyAccessExpression 634709 634728 - Identifier 634709 634719 - Identifier 634720 634728 - IfStatement 634731 634826 - BinaryExpression 634745 634775 - PropertyAccessExpression 634745 634757 - Identifier 634745 634751 - Identifier 634752 634757 - AmpersandToken 634757 634759 - PropertyAccessExpression 634759 634775 - Identifier 634759 634769 - Identifier 634770 634775 - Block 634776 634826 - ReturnStatement 634778 634815 - Identifier 634798 634814 - IfStatement 634826 634962 - BinaryExpression 634840 634870 - PropertyAccessExpression 634840 634852 - Identifier 634840 634846 - Identifier 634847 634852 - AmpersandToken 634852 634854 - PropertyAccessExpression 634854 634870 - Identifier 634854 634864 - Identifier 634865 634870 - Block 634871 634962 - ReturnStatement 634873 634951 - CallExpression 634893 634950 - Identifier 634893 634901 - Identifier 634902 634908 - ArrowFunction 634909 634949 - Parameter 634909 634911 - Identifier 634909 634911 - EqualsGreaterThanToken 634911 634914 - CallExpression 634914 634949 - Identifier 634914 634926 - Identifier 634927 634928 - Identifier 634929 634940 - Identifier 634941 634948 - VariableStatement 634962 635054 - VariableDeclarationList 634962 635053 - VariableDeclaration 634977 635053 - Identifier 634977 634989 - CallExpression 634991 635053 - Identifier 634991 635004 - CallExpression 635005 635052 - Identifier 635005 635008 - Identifier 635009 635019 - Identifier 635020 635051 - VariableStatement 635054 635108 - VariableDeclarationList 635054 635107 - VariableDeclaration 635071 635107 - Identifier 635071 635092 - ArrayType 635093 635102 - TypeReference 635093 635100 - Identifier 635093 635100 - ArrayLiteralExpression 635104 635107 - VariableStatement 635108 635160 - VariableDeclarationList 635108 635159 - VariableDeclaration 635123 635159 - Identifier 635123 635146 - ArrayType 635147 635154 - TypeReference 635147 635152 - Identifier 635147 635152 - ArrayLiteralExpression 635156 635159 - ForOfStatement 635160 635799 - VariableDeclarationList 635177 635187 - VariableDeclaration 635182 635187 - Identifier 635182 635187 - CallExpression 635190 635218 - Identifier 635190 635210 - Identifier 635211 635217 - Block 635219 635799 - VariableStatement 635221 635341 - VariableDeclarationList 635221 635340 - VariableDeclaration 635240 635340 - Identifier 635240 635264 - CallExpression 635266 635340 - Identifier 635266 635293 - Identifier 635294 635298 - PropertyAccessExpression 635299 635339 - Identifier 635299 635309 - Identifier 635310 635339 - IfStatement 635341 635788 - BinaryExpression 635359 635600 - BinaryExpression 635359 635553 - PrefixUnaryExpression 635359 635434 - CallExpression 635378 635434 - Identifier 635378 635396 - Identifier 635397 635420 - Identifier 635421 635433 - AmpersandAmpersandToken 635434 635454 - PrefixUnaryExpression 635454 635553 - ParenthesizedExpression 635456 635553 - BinaryExpression 635457 635552 - CallExpression 635457 635500 - Identifier 635457 635494 - Identifier 635495 635499 - AmpersandToken 635500 635502 - ParenthesizedExpression 635502 635552 - BinaryExpression 635504 635551 - PropertyAccessExpression 635504 635525 - Identifier 635504 635517 - Identifier 635518 635525 - BarToken 635525 635527 - PropertyAccessExpression 635527 635551 - Identifier 635527 635541 - Identifier 635542 635551 - AmpersandAmpersandToken 635553 635573 - CallExpression 635573 635600 - Identifier 635573 635594 - Identifier 635595 635599 - Block 635615 635682 - ExpressionStatement 635617 635667 - CallExpression 635617 635666 - PropertyAccessExpression 635617 635660 - Identifier 635617 635655 - Identifier 635656 635660 - Identifier 635661 635665 - Block 635700 635788 - ExpressionStatement 635702 635773 - CallExpression 635702 635772 - PropertyAccessExpression 635702 635747 - Identifier 635702 635742 - Identifier 635743 635747 - Identifier 635748 635771 - IfStatement 635799 636627 - BinaryExpression 635815 635877 - CallExpression 635815 635842 - Identifier 635815 635834 - Identifier 635835 635841 - BarBarToken 635842 635845 - CallExpression 635845 635877 - Identifier 635845 635864 - Identifier 635865 635876 - Block 635878 636627 - IfStatement 635880 636281 - PropertyAccessExpression 635898 635927 - Identifier 635898 635920 - Identifier 635921 635927 - Block 635928 636281 - ExpressionStatement 635930 636266 - BinaryExpression 635930 636265 - Identifier 635930 636208 - EqualsToken 636208 636210 - CallExpression 636210 636265 - Identifier 636210 636223 - ArrayLiteralExpression 636224 636264 - Identifier 636225 636236 - SpreadElement 636237 636263 - Identifier 636241 636263 - IfStatement 636281 636386 - BinaryExpression 636301 636336 - PropertyAccessExpression 636301 636318 - Identifier 636301 636312 - Identifier 636313 636318 - AmpersandToken 636318 636320 - PropertyAccessExpression 636320 636336 - Identifier 636320 636330 - Identifier 636331 636336 - Block 636337 636386 - ReturnStatement 636339 636371 - Identifier 636363 636370 - VariableStatement 636386 636446 - VariableDeclarationList 636386 636445 - VariableDeclaration 636407 636445 - Identifier 636407 636421 - CallExpression 636423 636445 - Identifier 636423 636443 - IfStatement 636446 636531 - PrefixUnaryExpression 636464 636478 - Identifier 636465 636478 - Block 636479 636531 - ReturnStatement 636481 636516 - Identifier 636505 636515 - ReturnStatement 636531 636616 - CallExpression 636551 636615 - Identifier 636551 636577 - Identifier 636578 636591 - ArrayLiteralExpression 636592 636614 - Identifier 636594 636600 - Identifier 636601 636613 - VariableStatement 636627 636673 - VariableDeclarationList 636627 636672 - VariableDeclaration 636642 636672 - Identifier 636642 636650 - CallExpression 636652 636672 - Identifier 636652 636670 - ForOfStatement 636673 636823 - VariableDeclarationList 636688 636698 - VariableDeclaration 636693 636698 - Identifier 636693 636698 - Identifier 636701 636722 - Block 636723 636823 - ExpressionStatement 636725 636812 - CallExpression 636725 636811 - PropertyAccessExpression 636725 636750 - Identifier 636725 636746 - Identifier 636747 636750 - PropertyAccessExpression 636751 636767 - Identifier 636751 636755 - Identifier 636756 636767 - CallExpression 636768 636810 - Identifier 636768 636784 - Identifier 636785 636789 - FalseKeyword 636790 636809 - VariableStatement 636823 636938 - VariableDeclarationList 636823 636937 - VariableDeclaration 636838 636937 - Identifier 636838 636845 - CallExpression 636847 636937 - Identifier 636847 636867 - Identifier 636868 636874 - Identifier 636875 636883 - Identifier 636884 636895 - Identifier 636896 636907 - CallExpression 636908 636936 - Identifier 636908 636928 - Identifier 636929 636935 - ExpressionStatement 636938 636997 - BinaryExpression 636938 636996 - PropertyAccessExpression 636938 636966 - Identifier 636938 636954 - Identifier 636955 636966 - BarEqualsToken 636966 636969 - PropertyAccessExpression 636969 636996 - Identifier 636969 636981 - Identifier 636982 636996 - ReturnStatement 636997 637021 - Identifier 637013 637020 - FunctionDeclaration 637028 637245 - Identifier 637044 637081 - Parameter 637082 637092 - Identifier 637082 637086 - TypeReference 637087 637092 - Identifier 637087 637092 - Block 637093 637245 - ReturnStatement 637095 637238 - BinaryExpression 637111 637237 - PrefixUnaryExpression 637111 637151 - PrefixUnaryExpression 637113 637151 - ParenthesizedExpression 637114 637151 - BinaryExpression 637115 637150 - PropertyAccessExpression 637115 637125 - Identifier 637115 637119 - Identifier 637120 637125 - AmpersandToken 637125 637127 - PropertyAccessExpression 637127 637150 - Identifier 637127 637137 - Identifier 637138 637150 - AmpersandAmpersandToken 637151 637154 - CallExpression 637154 637237 - Identifier 637154 637170 - BinaryExpression 637171 637215 - CallExpression 637171 637200 - Identifier 637171 637194 - Identifier 637195 637199 - BarBarToken 637200 637203 - Identifier 637203 637215 - PropertyAccessExpression 637216 637236 - Identifier 637216 637226 - Identifier 637227 637236 - FunctionDeclaration 637245 637560 - Identifier 637261 637281 - Parameter 637282 637292 - Identifier 637282 637286 - TypeReference 637287 637292 - Identifier 637287 637292 - Block 637293 637560 - VariableStatement 637295 637478 - VariableDeclarationList 637295 637477 - VariableDeclaration 637310 637477 - Identifier 637310 637327 - ConditionalExpression 637329 637477 - CallExpression 637329 637382 - Identifier 637329 637338 - Identifier 637339 637343 - Identifier 637344 637381 - QuestionToken 637382 637384 - CallExpression 637384 637470 - Identifier 637384 637392 - Identifier 637393 637397 - ArrowFunction 637398 637469 - Parameter 637398 637400 - Identifier 637398 637400 - EqualsGreaterThanToken 637400 637403 - ConditionalExpression 637403 637469 - BinaryExpression 637403 637436 - PropertyAccessExpression 637403 637411 - Identifier 637403 637405 - Identifier 637406 637411 - AmpersandToken 637411 637413 - PropertyAccessExpression 637413 637436 - Identifier 637413 637423 - Identifier 637424 637436 - QuestionToken 637436 637438 - CallExpression 637438 637465 - Identifier 637438 637462 - Identifier 637463 637464 - ColonToken 637465 637467 - Identifier 637467 637469 - ColonToken 637470 637472 - Identifier 637472 637477 - ReturnStatement 637478 637553 - CallExpression 637494 637552 - Identifier 637494 637511 - Identifier 637512 637528 - PropertyAccessExpression 637529 637551 - Identifier 637529 637539 - Identifier 637540 637551 - FunctionDeclaration 637560 638457 - Identifier 638163 638190 - Parameter 638191 638275 - Identifier 638191 638195 - UnionType 638196 638275 - TypeReference 638196 638211 - Identifier 638196 638211 - TypeReference 638213 638232 - Identifier 638213 638232 - TypeReference 638234 638262 - Identifier 638234 638262 - TypeReference 638264 638275 - Identifier 638264 638275 - Parameter 638276 638295 - Identifier 638276 638289 - TypeReference 638290 638295 - Identifier 638290 638295 - Block 638296 638457 - VariableStatement 638298 638358 - VariableDeclarationList 638298 638357 - VariableDeclaration 638313 638357 - Identifier 638313 638323 - CallExpression 638325 638357 - Identifier 638325 638351 - Identifier 638352 638356 - ReturnStatement 638358 638450 - ConditionalExpression 638374 638449 - Identifier 638374 638384 - QuestionToken 638384 638386 - CallExpression 638386 638434 - Identifier 638386 638409 - Identifier 638410 638419 - Identifier 638420 638433 - ColonToken 638434 638436 - Identifier 638436 638449 - FunctionDeclaration 638457 639575 - Identifier 638473 638499 - Parameter 638500 638584 - Identifier 638500 638504 - UnionType 638505 638584 - TypeReference 638505 638520 - Identifier 638505 638520 - TypeReference 638522 638541 - Identifier 638522 638541 - TypeReference 638543 638571 - Identifier 638543 638571 - TypeReference 638573 638584 - Identifier 638573 638584 - UnionType 638586 638622 - TypeReference 638586 638610 - Identifier 638586 638610 - UndefinedKeyword 638612 638622 - Block 638622 639575 - VariableStatement 638624 638684 - VariableDeclarationList 638624 638683 - VariableDeclaration 638639 638683 - Identifier 638639 638652 - CallExpression 638654 638683 - Identifier 638654 638677 - Identifier 638678 638682 - IfStatement 638684 639568 - BinaryExpression 638698 638768 - BinaryExpression 638698 638743 - Identifier 638698 638710 - AmpersandAmpersandToken 638710 638713 - CallExpression 638713 638743 - Identifier 638713 638729 - Identifier 638730 638742 - AmpersandAmpersandToken 638743 638746 - PropertyAccessExpression 638746 638768 - Identifier 638746 638759 - Identifier 638760 638768 - Block 638769 639568 - VariableStatement 638771 638837 - VariableDeclarationList 638771 638836 - VariableDeclaration 638790 638836 - Identifier 638790 638799 - CallExpression 638801 638836 - Identifier 638801 638830 - Identifier 638831 638835 - IfStatement 638837 639557 - Identifier 638855 638863 - Block 638864 639557 - VariableStatement 638866 638973 - VariableDeclarationList 638866 638972 - VariableDeclaration 638889 638972 - Identifier 638889 638897 - CallExpression 638899 638972 - Identifier 638899 638918 - CallExpression 638919 638965 - PropertyAccessExpression 638919 638955 - Identifier 638919 638935 - Identifier 638936 638955 - Identifier 638956 638964 - Identifier 638966 638971 - VariableStatement 638973 639124 - VariableDeclarationList 638973 639123 - VariableDeclaration 638996 639123 - Identifier 638996 639004 - ConditionalExpression 639006 639123 - CallExpression 639006 639045 - Identifier 639006 639031 - Identifier 639032 639044 - QuestionToken 639045 639047 - Identifier 639047 639060 - ColonToken 639060 639062 - CallExpression 639062 639123 - PropertyAccessExpression 639062 639109 - Identifier 639062 639079 - Identifier 639080 639109 - Identifier 639110 639122 - VariableStatement 639124 639248 - VariableDeclarationList 639124 639247 - VariableDeclaration 639147 639247 - Identifier 639147 639154 - CallExpression 639156 639247 - Identifier 639156 639175 - CallExpression 639176 639240 - PropertyAccessExpression 639176 639222 - Identifier 639176 639192 - Identifier 639193 639222 - Identifier 639223 639230 - Identifier 639231 639239 - Identifier 639241 639246 - ExpressionStatement 639248 639293 - CallExpression 639248 639292 - Identifier 639248 639275 - Identifier 639276 639283 - Identifier 639284 639291 - ExpressionStatement 639293 639335 - CallExpression 639293 639334 - Identifier 639293 639320 - Identifier 639321 639327 - Identifier 639328 639333 - IfStatement 639335 639452 - BinaryExpression 639357 639381 - Identifier 639357 639364 - ExclamationEqualsEqualsToken 639364 639368 - Identifier 639368 639381 - Block 639382 639452 - ExpressionStatement 639384 639433 - CallExpression 639384 639432 - Identifier 639384 639415 - Identifier 639416 639423 - Identifier 639424 639431 - ExpressionStatement 639452 639510 - BinaryExpression 639452 639509 - PropertyAccessExpression 639452 639485 - Identifier 639452 639476 - Identifier 639477 639485 - EqualsToken 639485 639487 - PropertyAccessExpression 639487 639509 - Identifier 639487 639500 - Identifier 639501 639509 - ReturnStatement 639510 639542 - Identifier 639534 639541 - FunctionDeclaration 639575 640355 - Identifier 639591 639614 - Parameter 639615 639699 - Identifier 639615 639619 - UnionType 639620 639699 - TypeReference 639620 639635 - Identifier 639620 639635 - TypeReference 639637 639656 - Identifier 639637 639656 - TypeReference 639658 639686 - Identifier 639658 639686 - TypeReference 639688 639699 - Identifier 639688 639699 - Block 639700 640355 - VariableStatement 639702 639748 - VariableDeclarationList 639702 639747 - VariableDeclaration 639717 639747 - Identifier 639717 639726 - PropertyAccessExpression 639728 639747 - PropertyAccessExpression 639728 639740 - Identifier 639728 639733 - Identifier 639734 639740 - Identifier 639741 639747 - SwitchStatement 639748 640348 - PropertyAccessExpression 639766 639779 - Identifier 639766 639774 - Identifier 639775 639779 - CaseBlock 639780 640348 - CaseClause 639782 639827 - PropertyAccessExpression 639800 639826 - Identifier 639800 639811 - Identifier 639812 639826 - CaseClause 639827 639976 - PropertyAccessExpression 639845 639875 - Identifier 639845 639856 - Identifier 639857 639875 - ReturnStatement 639876 639976 - CallExpression 639900 639975 - Identifier 639900 639926 - AsExpression 639927 639974 - Identifier 639927 639935 - UnionType 639938 639974 - TypeReference 639938 639953 - Identifier 639938 639953 - TypeReference 639955 639974 - Identifier 639955 639974 - CaseClause 639976 640107 - PropertyAccessExpression 639994 640028 - Identifier 639994 640005 - Identifier 640006 640028 - ReturnStatement 640029 640107 - CallExpression 640053 640106 - Identifier 640053 640079 - AsExpression 640080 640105 - PropertyAccessExpression 640080 640091 - Identifier 640080 640084 - Identifier 640085 640091 - TypeReference 640094 640105 - Identifier 640094 640105 - CaseClause 640107 640228 - PropertyAccessExpression 640125 640156 - Identifier 640125 640136 - Identifier 640137 640156 - ReturnStatement 640157 640228 - PropertyAccessExpression 640181 640227 - ParenthesizedExpression 640181 640215 - AsExpression 640183 640214 - Identifier 640183 640191 - TypeReference 640194 640214 - Identifier 640194 640214 - Identifier 640216 640227 - CaseClause 640228 640337 - PropertyAccessExpression 640246 640274 - Identifier 640246 640257 - Identifier 640258 640274 - ReturnStatement 640275 640337 - PropertyAccessExpression 640299 640336 - ParenthesizedExpression 640299 640330 - AsExpression 640301 640329 - Identifier 640301 640309 - TypeReference 640312 640329 - Identifier 640312 640329 - Identifier 640331 640336 - FunctionDeclaration 640355 641142 - Identifier 640371 640400 - Parameter 640401 640485 - Identifier 640401 640405 - UnionType 640406 640485 - TypeReference 640406 640421 - Identifier 640406 640421 - TypeReference 640423 640442 - Identifier 640423 640442 - TypeReference 640444 640472 - Identifier 640444 640472 - TypeReference 640474 640485 - Identifier 640474 640485 - Block 640486 641142 - VariableStatement 640488 640525 - VariableDeclarationList 640488 640524 - VariableDeclaration 640503 640524 - Identifier 640503 640510 - PropertyAccessExpression 640512 640524 - Identifier 640512 640517 - Identifier 640518 640524 - IfStatement 640525 640777 - BinaryExpression 640539 640629 - BinaryExpression 640539 640578 - PropertyAccessExpression 640539 640548 - Identifier 640539 640543 - Identifier 640544 640548 - EqualsEqualsEqualsToken 640548 640552 - PropertyAccessExpression 640552 640578 - Identifier 640552 640563 - Identifier 640564 640578 - AmpersandAmpersandToken 640578 640581 - BinaryExpression 640581 640629 - PropertyAccessExpression 640581 640593 - Identifier 640581 640588 - Identifier 640589 640593 - EqualsEqualsEqualsToken 640593 640597 - PropertyAccessExpression 640597 640629 - Identifier 640597 640608 - Identifier 640609 640629 - Block 640630 640777 - ReturnStatement 640632 640766 - CallExpression 640652 640765 - Identifier 640652 640679 - BinaryExpression 640680 640764 - PropertyAccessExpression 640680 640717 - ParenthesizedExpression 640680 640704 - AsExpression 640681 640703 - Identifier 640681 640685 - TypeReference 640688 640703 - Identifier 640688 640703 - Identifier 640705 640717 - BarBarToken 640717 640720 - AsExpression 640720 640764 - PropertyAccessExpression 640720 640750 - ParenthesizedExpression 640720 640745 - AsExpression 640722 640744 - Identifier 640722 640726 - TypeReference 640729 640744 - Identifier 640729 640744 - Identifier 640746 640750 - TypeReference 640753 640764 - Identifier 640753 640764 - IfStatement 640777 641017 - BinaryExpression 640791 640890 - BinaryExpression 640791 640834 - PropertyAccessExpression 640791 640800 - Identifier 640791 640795 - Identifier 640796 640800 - EqualsEqualsEqualsToken 640800 640804 - PropertyAccessExpression 640804 640834 - Identifier 640804 640815 - Identifier 640816 640834 - BarBarToken 640834 640837 - BinaryExpression 640837 640890 - PropertyAccessExpression 640837 640847 - Identifier 640837 640842 - Identifier 640843 640847 - EqualsEqualsEqualsToken 640847 640851 - PropertyAccessExpression 640851 640890 - Identifier 640851 640862 - Identifier 640863 640890 - Block 640891 641017 - ReturnStatement 640893 641006 - CallExpression 640913 641005 - Identifier 640913 640940 - PropertyAccessExpression 640941 641004 - ParenthesizedExpression 640941 640999 - AsExpression 640942 640998 - Identifier 640942 640946 - UnionType 640949 640998 - TypeReference 640949 640968 - Identifier 640949 640968 - TypeReference 640970 640998 - Identifier 640970 640998 - Identifier 641000 641004 - ReturnStatement 641017 641135 - BinaryExpression 641033 641134 - StringLiteral 641033 641036 - PlusToken 641036 641038 - CallExpression 641038 641134 - PropertyAccessExpression 641038 641128 - ParenthesizedExpression 641038 641120 - AsExpression 641040 641119 - PropertyAccessExpression 641040 641100 - ParenthesizedExpression 641040 641091 - AsExpression 641041 641090 - Identifier 641041 641047 - UnionType 641050 641090 - TypeReference 641050 641065 - Identifier 641050 641065 - TypeReference 641067 641090 - Identifier 641067 641090 - Identifier 641092 641100 - TypeReference 641103 641119 - Identifier 641103 641113 - TypeReference 641114 641118 - Identifier 641114 641118 - Identifier 641121 641128 - Identifier 641129 641133 - FunctionDeclaration 641142 641429 - Identifier 641158 641185 - Parameter 641186 641204 - Identifier 641186 641190 - TypeReference 641191 641204 - Identifier 641191 641204 - Block 641205 641429 - VariableStatement 641207 641267 - VariableDeclarationList 641207 641266 - VariableDeclaration 641222 641266 - Identifier 641222 641227 - CallExpression 641229 641266 - Identifier 641229 641260 - Identifier 641261 641265 - ReturnStatement 641267 641422 - ConditionalExpression 641283 641421 - BinaryExpression 641283 641348 - PropertyAccessExpression 641283 641294 - Identifier 641283 641288 - Identifier 641289 641294 - AmpersandToken 641294 641296 - ParenthesizedExpression 641296 641348 - BinaryExpression 641298 641347 - PropertyAccessExpression 641298 641321 - Identifier 641298 641307 - Identifier 641308 641321 - BarToken 641321 641323 - PropertyAccessExpression 641323 641347 - Identifier 641323 641333 - Identifier 641334 641347 - QuestionToken 641348 641350 - BinaryExpression 641350 641409 - StringLiteral 641350 641353 - PlusToken 641353 641355 - PropertyAccessExpression 641355 641409 - ParenthesizedExpression 641355 641403 - AsExpression 641357 641402 - Identifier 641357 641361 - UnionType 641364 641402 - TypeReference 641364 641382 - Identifier 641364 641382 - TypeReference 641384 641402 - Identifier 641384 641402 - Identifier 641404 641409 - ColonToken 641409 641411 - Identifier 641411 641421 - FunctionDeclaration 641429 641910 - Identifier 641504 641529 - Parameter 641530 641557 - Identifier 641530 641541 - TypeReference 641542 641557 - Identifier 641542 641557 - UnionType 641559 641576 - TypeReference 641559 641564 - Identifier 641559 641564 - UndefinedKeyword 641566 641576 - Block 641576 641910 - VariableStatement 641578 641683 - VariableDeclarationList 641578 641682 - VariableDeclaration 641593 641682 - Identifier 641593 641603 - ConditionalExpression 641605 641682 - PropertyAccessExpression 641605 641632 - Identifier 641605 641617 - Identifier 641618 641632 - QuestionToken 641632 641634 - PropertyAccessExpression 641634 641663 - Identifier 641634 641644 - Identifier 641645 641663 - ColonToken 641663 641665 - PropertyAccessExpression 641665 641682 - Identifier 641665 641675 - Identifier 641676 641682 - VariableStatement 641683 641781 - VariableDeclarationList 641683 641780 - VariableDeclaration 641698 641780 - Identifier 641698 641709 - CallExpression 641711 641780 - Identifier 641711 641742 - PropertyAccessExpression 641743 641768 - PropertyAccessExpression 641743 641761 - Identifier 641743 641754 - Identifier 641755 641761 - Identifier 641762 641768 - Identifier 641769 641779 - ReturnStatement 641781 641903 - BinaryExpression 641797 641902 - Identifier 641797 641808 - AmpersandAmpersandToken 641808 641811 - CallExpression 641811 641902 - Identifier 641811 641847 - Identifier 641848 641859 - Identifier 641860 641871 - FalseKeyword 641872 641901 - FunctionDeclaration 641910 646898 - Identifier 641926 641962 - Parameter 641963 641990 - Identifier 641963 641974 - TypeReference 641975 641990 - Identifier 641975 641990 - Parameter 641991 642008 - Identifier 641991 642002 - TypeReference 642003 642008 - Identifier 642003 642008 - Parameter 642009 642037 - Identifier 642009 642028 - BooleanKeyword 642029 642037 - TypeReference 642039 642044 - Identifier 642039 642044 - Block 642044 646898 - IfStatement 642046 642214 - CallExpression 642147 642168 - Identifier 642147 642156 - Identifier 642157 642167 - Block 642169 642214 - ReturnStatement 642171 642203 - Identifier 642191 642202 - VariableStatement 642214 642259 - VariableDeclarationList 642214 642258 - VariableDeclaration 642229 642258 - Identifier 642229 642237 - PropertyAccessExpression 642239 642258 - Identifier 642239 642251 - Identifier 642252 642258 - IfStatement 642259 642978 - BinaryExpression 642410 642512 - BinaryExpression 642410 642467 - Identifier 642410 642426 - AmpersandAmpersandToken 642426 642429 - BinaryExpression 642429 642467 - PropertyAccessExpression 642429 642447 - Identifier 642429 642441 - Identifier 642442 642447 - AmpersandToken 642447 642449 - PropertyAccessExpression 642449 642467 - Identifier 642449 642459 - Identifier 642460 642467 - AmpersandAmpersandToken 642467 642470 - CallExpression 642470 642512 - Identifier 642470 642499 - Identifier 642500 642511 - Block 642513 642584 - ExpressionStatement 642515 642573 - BinaryExpression 642515 642572 - Identifier 642515 642539 - EqualsToken 642539 642541 - CallExpression 642541 642572 - Identifier 642541 642560 - Identifier 642561 642571 - IfStatement 642742 642978 - BinaryExpression 642747 642885 - BinaryExpression 642747 642793 - Identifier 642747 642763 - AmpersandAmpersandToken 642763 642766 - PropertyAccessExpression 642766 642793 - PropertyAccessExpression 642766 642781 - Identifier 642766 642774 - Identifier 642775 642781 - Identifier 642782 642793 - AmpersandAmpersandToken 642793 642796 - PrefixUnaryExpression 642796 642885 - ParenthesizedExpression 642798 642885 - CallExpression 642799 642884 - Identifier 642799 642811 - CallExpression 642812 642860 - Identifier 642812 642832 - PropertyAccessExpression 642833 642859 - PropertyAccessExpression 642833 642847 - Identifier 642833 642840 - Identifier 642841 642847 - Identifier 642848 642859 - PropertyAccessExpression 642861 642883 - Identifier 642861 642871 - Identifier 642872 642883 - Block 642886 642978 - ExpressionStatement 642888 642967 - BinaryExpression 642888 642966 - Identifier 642888 642912 - EqualsToken 642912 642914 - CallExpression 642914 642966 - Identifier 642914 642931 - Identifier 642932 642942 - PropertyAccessExpression 642943 642965 - Identifier 642943 642953 - Identifier 642954 642965 - VariableStatement 642978 643127 - VariableDeclarationList 642978 643126 - VariableDeclaration 642995 643126 - Identifier 642995 643007 - BinaryExpression 643009 643126 - PropertyAccessExpression 643009 643040 - Identifier 643009 643021 - Identifier 643022 643040 - BarToken 643040 643042 - ParenthesizedExpression 643042 643126 - ConditionalExpression 643044 643125 - BinaryExpression 643044 643094 - Identifier 643044 643062 - BarBarToken 643062 643065 - CallExpression 643065 643094 - Identifier 643065 643081 - Identifier 643082 643093 - QuestionToken 643094 643096 - PropertyAccessExpression 643096 643121 - Identifier 643096 643108 - Identifier 643109 643121 - ColonToken 643121 643123 - NumericLiteral 643123 643125 - VariableStatement 643127 643164 - VariableDeclarationList 643127 643163 - VariableDeclaration 643140 643163 - Identifier 643140 643145 - UnionType 643146 643163 - TypeReference 643146 643151 - Identifier 643146 643151 - UndefinedKeyword 643153 643163 - IfStatement 643164 646186 - BinaryExpression 643178 643226 - PropertyAccessExpression 643178 643190 - Identifier 643178 643185 - Identifier 643186 643190 - EqualsEqualsEqualsToken 643190 643194 - PropertyAccessExpression 643194 643226 - Identifier 643194 643205 - Identifier 643206 643226 - Block 643227 644512 - IfStatement 643229 644501 - PropertyAccessExpression 643247 643273 - Identifier 643247 643258 - Identifier 643259 643273 - Block 643274 644001 - ExpressionStatement 643276 643334 - BinaryExpression 643276 643333 - Identifier 643276 643304 - EqualsToken 643304 643306 - CallExpression 643306 643333 - Identifier 643306 643321 - Identifier 643322 643332 - IfStatement 643334 643590 - BinaryExpression 643356 643426 - BinaryExpression 643356 643392 - PropertyAccessExpression 643356 643372 - Identifier 643356 643366 - Identifier 643367 643372 - AmpersandToken 643372 643374 - PropertyAccessExpression 643374 643392 - Identifier 643374 643384 - Identifier 643385 643392 - BarBarToken 643392 643395 - PrefixUnaryExpression 643395 643426 - CallExpression 643397 643426 - Identifier 643397 643414 - Identifier 643415 643425 - Block 643427 643590 - ExpressionStatement 643429 643532 - CallExpression 643429 643531 - Identifier 643429 643456 - Identifier 643457 643468 - PropertyAccessExpression 643469 643530 - Identifier 643469 643481 - Identifier 643482 643530 - ReturnStatement 643532 643571 - Identifier 643560 643570 - VariableStatement 643590 643650 - VariableDeclarationList 643590 643649 - VariableDeclaration 643613 643649 - Identifier 643613 643628 - ArrayType 643629 643644 - TypeReference 643629 643642 - Identifier 643629 643642 - ArrayLiteralExpression 643646 643649 - ForOfStatement 643650 643901 - VariableDeclarationList 643673 643686 - VariableDeclaration 643678 643686 - Identifier 643678 643686 - PropertyAccessExpression 643689 643706 - Identifier 643689 643697 - Identifier 643698 643706 - Block 643707 643901 - IfStatement 643709 643882 - PrefixUnaryExpression 643735 643758 - PropertyAccessExpression 643736 643758 - Identifier 643736 643743 - Identifier 643744 643758 - Block 643759 643882 - ExpressionStatement 643761 643859 - CallExpression 643761 643858 - PropertyAccessExpression 643761 643806 - Identifier 643761 643801 - Identifier 643802 643806 - BinaryExpression 643807 643857 - PropertyAccessExpression 643807 643827 - Identifier 643807 643814 - Identifier 643815 643827 - BarBarToken 643827 643830 - AsExpression 643830 643857 - PropertyAccessExpression 643830 643843 - Identifier 643830 643838 - Identifier 643839 643843 - TypeReference 643846 643857 - Identifier 643846 643857 - ExpressionStatement 643901 643986 - BinaryExpression 643901 643985 - Identifier 643901 643923 - EqualsToken 643923 643925 - CallExpression 643925 643985 - Identifier 643925 643937 - Identifier 643938 643948 - Identifier 643949 643964 - PropertyAccessExpression 643965 643984 - Identifier 643965 643977 - Identifier 643978 643984 - Block 644019 644501 - VariableStatement 644021 644232 - VariableDeclarationList 644021 644231 - VariableDeclaration 644165 644231 - Identifier 644165 644170 - BinaryExpression 644172 644231 - PropertyAccessExpression 644172 644197 - Identifier 644172 644184 - Identifier 644185 644197 - BarBarToken 644197 644200 - AsExpression 644200 644231 - PropertyAccessExpression 644200 644217 - Identifier 644200 644212 - Identifier 644213 644217 - TypeReference 644220 644231 - Identifier 644220 644231 - VariableStatement 644232 644305 - VariableDeclarationList 644232 644304 - VariableDeclaration 644255 644304 - Identifier 644255 644265 - CallExpression 644267 644304 - Identifier 644267 644298 - Identifier 644299 644303 - VariableStatement 644305 644407 - VariableDeclarationList 644305 644406 - VariableDeclaration 644328 644406 - Identifier 644328 644341 - CallExpression 644343 644406 - Identifier 644343 644364 - Identifier 644365 644375 - Identifier 644376 644386 - Identifier 644387 644399 - Identifier 644400 644405 - ExpressionStatement 644407 644486 - BinaryExpression 644407 644485 - Identifier 644407 644429 - EqualsToken 644429 644431 - CallExpression 644431 644485 - Identifier 644431 644458 - Identifier 644459 644470 - Identifier 644471 644484 - Block 644526 646186 - VariableStatement 644528 645013 - VariableDeclarationList 644528 645012 - VariableDeclaration 644833 645012 - Identifier 644833 644845 - CallExpression 644847 645012 - Identifier 644847 644878 - BinaryExpression 644879 644975 - PropertyAccessExpression 644879 644905 - Identifier 644879 644891 - Identifier 644892 644905 - BarToken 644905 644907 - ParenthesizedExpression 644907 644975 - ConditionalExpression 644909 644974 - PropertyAccessExpression 644909 644935 - Identifier 644909 644920 - Identifier 644921 644935 - QuestionToken 644935 644937 - NumericLiteral 644937 644939 - ColonToken 644939 644941 - PropertyAccessExpression 644941 644974 - Identifier 644941 644954 - Identifier 644955 644974 - Identifier 644976 644987 - Identifier 644988 645002 - Identifier 645003 645011 - VariableStatement 645013 645079 - VariableDeclarationList 645013 645078 - VariableDeclaration 645032 645078 - Identifier 645032 645038 - CallExpression 645040 645078 - PropertyAccessExpression 645040 645065 - PropertyAccessExpression 645040 645057 - Identifier 645040 645048 - Identifier 645049 645057 - Identifier 645058 645065 - Identifier 645066 645077 - IfStatement 645079 646175 - PropertyAccessExpression 645097 645123 - Identifier 645097 645108 - Identifier 645109 645123 - Block 645124 645754 - VariableStatement 645126 645523 - VariableDeclarationList 645126 645522 - VariableDeclaration 645401 645522 - Identifier 645401 645416 - CallExpression 645418 645522 - Identifier 645418 645426 - Identifier 645427 645437 - ArrowFunction 645438 645521 - Parameter 645438 645440 - Identifier 645438 645440 - EqualsGreaterThanToken 645440 645443 - ConditionalExpression 645443 645521 - BinaryExpression 645443 645488 - PropertyAccessExpression 645443 645451 - Identifier 645443 645445 - Identifier 645446 645451 - AmpersandToken 645451 645453 - PropertyAccessExpression 645453 645488 - Identifier 645453 645463 - Identifier 645464 645488 - QuestionToken 645488 645490 - CallExpression 645490 645517 - Identifier 645490 645514 - Identifier 645515 645516 - ColonToken 645517 645519 - Identifier 645519 645521 - ExpressionStatement 645523 645739 - BinaryExpression 645523 645738 - Identifier 645523 645545 - EqualsToken 645545 645547 - ConditionalExpression 645547 645738 - CallExpression 645547 645586 - Identifier 645547 645557 - Identifier 645558 645572 - Identifier 645573 645585 - QuestionToken 645586 645588 - CallExpression 645588 645686 - Identifier 645588 645617 - Identifier 645618 645632 - ArrowFunction 645633 645685 - Parameter 645633 645635 - Identifier 645633 645635 - EqualsGreaterThanToken 645635 645638 - CallExpression 645638 645685 - Identifier 645638 645653 - AsExpression 645654 645677 - Identifier 645654 645655 - TypeReference 645658 645677 - Identifier 645658 645677 - Identifier 645678 645684 - ColonToken 645686 645688 - CallExpression 645688 645738 - Identifier 645688 645725 - Identifier 645726 645737 - IfStatement 645772 646175 - CallExpression 645777 645804 - Identifier 645777 645792 - Identifier 645793 645803 - Block 645805 646103 - VariableStatement 645807 645871 - VariableDeclarationList 645807 645870 - VariableDeclaration 645830 645870 - Identifier 645830 645840 - CallExpression 645842 645870 - Identifier 645842 645863 - Identifier 645864 645869 - VariableStatement 645871 646009 - VariableDeclarationList 645871 646008 - VariableDeclaration 645894 646008 - Identifier 645894 645907 - BinaryExpression 645909 646008 - CallExpression 645909 645995 - Identifier 645909 645941 - Identifier 645942 645952 - Identifier 645953 645963 - Identifier 645964 645976 - PropertyAccessExpression 645977 645994 - Identifier 645977 645989 - Identifier 645990 645994 - BarBarToken 645995 645998 - Identifier 645998 646008 - ExpressionStatement 646009 646088 - BinaryExpression 646009 646087 - Identifier 646009 646031 - EqualsToken 646031 646033 - CallExpression 646033 646087 - Identifier 646033 646060 - Identifier 646061 646072 - Identifier 646073 646086 - Block 646121 646175 - ExpressionStatement 646123 646160 - BinaryExpression 646123 646159 - Identifier 646123 646145 - EqualsToken 646145 646147 - Identifier 646147 646159 - IfStatement 646186 646264 - PrefixUnaryExpression 646200 646224 - PropertyAccessExpression 646201 646224 - Identifier 646201 646212 - Identifier 646213 646224 - Block 646225 646264 - ReturnStatement 646227 646253 - Identifier 646247 646252 - IfStatement 646264 646701 - CallExpression 646278 646355 - Identifier 646278 646308 - CallExpression 646309 646354 - Identifier 646309 646341 - Identifier 646342 646353 - Block 646356 646701 - ReturnStatement 646358 646690 - ConditionalExpression 646535 646689 - BinaryExpression 646535 646654 - Identifier 646535 646552 - AmpersandAmpersandToken 646552 646555 - PrefixUnaryExpression 646555 646654 - ParenthesizedExpression 646557 646654 - CallExpression 646558 646653 - Identifier 646558 646570 - CallExpression 646571 646629 - Identifier 646571 646598 - Identifier 646599 646610 - PropertyAccessExpression 646611 646628 - Identifier 646611 646621 - Identifier 646622 646628 - PropertyAccessExpression 646630 646652 - Identifier 646630 646640 - Identifier 646641 646652 - QuestionToken 646654 646656 - CallExpression 646656 646682 - Identifier 646656 646676 - Identifier 646677 646681 - ColonToken 646682 646684 - Identifier 646684 646689 - ReturnStatement 646701 646891 - CallExpression 646717 646890 - Identifier 646717 646750 - Identifier 646751 646762 - CallExpression 646763 646889 - Identifier 646763 646776 - ArrayLiteralExpression 646777 646864 - CallExpression 646778 646803 - Identifier 646778 646797 - Identifier 646798 646802 - CallExpression 646804 646863 - Identifier 646804 646832 - Identifier 646833 646844 - PropertyAccessExpression 646845 646862 - Identifier 646845 646855 - Identifier 646856 646862 - PropertyAccessExpression 646865 646888 - Identifier 646865 646880 - Identifier 646881 646888 - FunctionDeclaration 646898 647150 - Identifier 646914 646952 - Parameter 646953 646970 - Identifier 646953 646964 - TypeReference 646965 646970 - Identifier 646965 646970 - Block 646971 647150 - VariableStatement 646973 647027 - VariableDeclarationList 646973 647026 - VariableDeclaration 646988 647026 - Identifier 646988 646998 - CallExpression 647000 647026 - Identifier 647000 647013 - Identifier 647014 647025 - IfStatement 647027 647116 - Identifier 647041 647050 - Block 647051 647116 - ReturnStatement 647053 647105 - CallExpression 647073 647104 - Identifier 647073 647093 - Identifier 647094 647103 - ReturnStatement 647116 647143 - Identifier 647132 647142 - FunctionDeclaration 647150 647447 - Identifier 647166 647184 - Parameter 647185 647201 - Identifier 647185 647189 - TypeReference 647190 647201 - Identifier 647190 647201 - Block 647202 647447 - VariableStatement 647204 647286 - VariableDeclarationList 647204 647285 - VariableDeclaration 647219 647285 - Identifier 647219 647224 - CallExpression 647226 647285 - Identifier 647226 647242 - Identifier 647243 647247 - TrueKeyword 647248 647284 - ReturnStatement 647286 647440 - BinaryExpression 647302 647439 - BinaryExpression 647302 647339 - PropertyAccessExpression 647302 647312 - Identifier 647302 647307 - Identifier 647308 647312 - EqualsEqualsEqualsToken 647312 647316 - PropertyAccessExpression 647316 647339 - Identifier 647316 647327 - Identifier 647328 647339 - BarBarToken 647339 647342 - BinaryExpression 647342 647439 - BinaryExpression 647342 647378 - PropertyAccessExpression 647342 647352 - Identifier 647342 647347 - Identifier 647348 647352 - EqualsEqualsEqualsToken 647352 647356 - PropertyAccessExpression 647356 647378 - Identifier 647356 647367 - Identifier 647368 647378 - AmpersandAmpersandToken 647378 647381 - BinaryExpression 647381 647439 - CallExpression 647381 647419 - Identifier 647381 647399 - AsExpression 647400 647418 - Identifier 647400 647404 - TypeReference 647407 647418 - Identifier 647407 647418 - EqualsEqualsEqualsToken 647419 647423 - Identifier 647423 647439 - FunctionDeclaration 647447 647715 - Identifier 647463 647483 - Parameter 647484 647500 - Identifier 647484 647488 - TypeReference 647489 647500 - Identifier 647489 647500 - Block 647501 647715 - VariableStatement 647503 647585 - VariableDeclarationList 647503 647584 - VariableDeclaration 647518 647584 - Identifier 647518 647523 - CallExpression 647525 647584 - Identifier 647525 647541 - Identifier 647542 647546 - TrueKeyword 647547 647583 - ReturnStatement 647585 647708 - BinaryExpression 647601 647707 - BinaryExpression 647601 647649 - PropertyAccessExpression 647601 647611 - Identifier 647601 647606 - Identifier 647607 647611 - EqualsEqualsEqualsToken 647611 647615 - PropertyAccessExpression 647615 647649 - Identifier 647615 647626 - Identifier 647627 647649 - AmpersandAmpersandToken 647649 647652 - BinaryExpression 647652 647707 - PropertyAccessExpression 647652 647701 - PropertyAccessExpression 647652 647694 - ParenthesizedExpression 647652 647685 - AsExpression 647654 647684 - Identifier 647654 647658 - TypeReference 647661 647684 - Identifier 647661 647684 - Identifier 647686 647694 - Identifier 647695 647701 - EqualsEqualsEqualsToken 647701 647705 - NumericLiteral 647705 647707 - FunctionDeclaration 647715 647903 - Identifier 647731 647746 - Parameter 647747 647757 - Identifier 647747 647751 - TypeReference 647752 647757 - Identifier 647752 647757 - Parameter 647758 647777 - Identifier 647758 647769 - FalseKeyword 647771 647777 - Parameter 647778 647796 - Identifier 647778 647789 - TrueKeyword 647791 647796 - TypeReference 647798 647803 - Identifier 647798 647803 - Block 647803 647903 - ReturnStatement 647805 647896 - ConditionalExpression 647821 647895 - BinaryExpression 647821 647852 - Identifier 647821 647838 - AmpersandAmpersandToken 647838 647841 - Identifier 647841 647852 - QuestionToken 647852 647854 - CallExpression 647854 647888 - Identifier 647854 647870 - Identifier 647871 647875 - Identifier 647876 647887 - ColonToken 647888 647890 - Identifier 647890 647895 - FunctionDeclaration 647903 656548 - Identifier 648003 648037 - Parameter 648038 648185 - Identifier 648038 648059 - UnionType 648060 648185 - TypeReference 648060 648081 - Identifier 648060 648081 - TypeReference 648083 648103 - Identifier 648083 648103 - TypeReference 648105 648123 - Identifier 648105 648123 - TypeReference 648125 648145 - Identifier 648125 648145 - TypeReference 648147 648162 - Identifier 648147 648162 - TypeReference 648164 648185 - Identifier 648164 648185 - Parameter 648186 648223 - Identifier 648186 648214 - BooleanKeyword 648215 648223 - Parameter 648224 648254 - Identifier 648224 648243 - TypeReference 648244 648254 - Identifier 648244 648254 - UnionType 648263 648280 - TypeReference 648263 648268 - Identifier 648263 648268 - UndefinedKeyword 648270 648280 - Block 648280 656548 - IfStatement 648282 648856 - BinaryExpression 648461 648559 - CallExpression 648461 648495 - Identifier 648461 648482 - Identifier 648483 648494 - AmpersandAmpersandToken 648495 648498 - BinaryExpression 648498 648559 - PropertyAccessExpression 648498 648529 - PropertyAccessExpression 648498 648524 - PropertyAccessExpression 648498 648517 - Identifier 648498 648510 - Identifier 648511 648517 - Identifier 648518 648524 - Identifier 648525 648529 - EqualsEqualsEqualsToken 648529 648533 - PropertyAccessExpression 648533 648559 - Identifier 648533 648544 - Identifier 648545 648559 - Block 648560 648856 - VariableStatement 648562 648715 - VariableDeclarationList 648562 648714 - VariableDeclaration 648581 648714 - Identifier 648581 648591 - CallExpression 648593 648714 - Identifier 648593 648606 - CallExpression 648607 648713 - Identifier 648607 648633 - CallExpression 648634 648712 - Identifier 648634 648649 - PropertyAccessExpression 648650 648686 - PropertyAccessExpression 648650 648675 - PropertyAccessExpression 648650 648668 - Identifier 648650 648661 - Identifier 648662 648668 - Identifier 648669 648675 - Identifier 648676 648686 - Identifier 648687 648711 - ReturnStatement 648715 648845 - ConditionalExpression 648735 648844 - BinaryExpression 648735 648797 - PropertyAccessExpression 648735 648751 - Identifier 648735 648745 - Identifier 648746 648751 - AmpersandToken 648751 648753 - ParenthesizedExpression 648753 648797 - BinaryExpression 648755 648796 - PropertyAccessExpression 648755 648778 - Identifier 648755 648764 - Identifier 648765 648778 - BarToken 648778 648780 - PropertyAccessExpression 648780 648796 - Identifier 648780 648790 - Identifier 648791 648796 - QuestionToken 648797 648799 - CallExpression 648799 648831 - Identifier 648799 648820 - Identifier 648821 648830 - ColonToken 648831 648833 - Identifier 648833 648844 - IfStatement 648856 649485 - BinaryExpression 648872 648970 - CallExpression 648872 648906 - Identifier 648872 648893 - Identifier 648894 648905 - AmpersandAmpersandToken 648906 648909 - BinaryExpression 648909 648970 - PropertyAccessExpression 648909 648940 - PropertyAccessExpression 648909 648935 - PropertyAccessExpression 648909 648928 - Identifier 648909 648921 - Identifier 648922 648928 - Identifier 648929 648935 - Identifier 648936 648940 - EqualsEqualsEqualsToken 648940 648944 - PropertyAccessExpression 648944 648970 - Identifier 648944 648955 - Identifier 648956 648970 - Block 648971 649485 - VariableStatement 648973 649400 - VariableDeclarationList 648973 649399 - VariableDeclaration 649356 649399 - Identifier 649356 649371 - PropertyAccessExpression 649373 649399 - PropertyAccessExpression 649373 649392 - Identifier 649373 649385 - Identifier 649386 649392 - Identifier 649393 649399 - ReturnStatement 649400 649474 - BinaryExpression 649420 649473 - CallExpression 649420 649462 - Identifier 649420 649446 - Identifier 649447 649461 - BarBarToken 649462 649465 - Identifier 649465 649473 - IfStatement 649485 649628 - CallExpression 649501 649537 - Identifier 649501 649517 - PropertyAccessExpression 649518 649536 - Identifier 649518 649529 - Identifier 649530 649536 - Block 649538 649628 - ReturnStatement 649540 649617 - CallExpression 649560 649616 - Identifier 649560 649585 - AsExpression 649586 649615 - Identifier 649586 649597 - TypeReference 649600 649615 - Identifier 649600 649615 - VariableStatement 649628 649804 - VariableDeclarationList 649628 649803 - VariableDeclaration 649645 649803 - Identifier 649645 649656 - BinaryExpression 649658 649803 - BinaryExpression 649658 649768 - ParenthesizedExpression 649658 649732 - BinaryExpression 649660 649731 - CallExpression 649660 649694 - Identifier 649660 649681 - Identifier 649682 649693 - AmpersandAmpersandToken 649694 649697 - PrefixUnaryExpression 649697 649731 - CallExpression 649699 649731 - Identifier 649699 649718 - Identifier 649719 649730 - BarBarToken 649732 649735 - CallExpression 649735 649768 - Identifier 649735 649755 - Identifier 649756 649767 - BarBarToken 649768 649771 - CallExpression 649771 649803 - Identifier 649771 649790 - Identifier 649791 649802 - VariableStatement 649804 649890 - VariableDeclarationList 649804 649889 - VariableDeclaration 649819 649889 - Identifier 649819 649830 - BinaryExpression 649832 649889 - Identifier 649832 649851 - AmpersandAmpersandToken 649851 649854 - CallExpression 649854 649889 - Identifier 649854 649876 - Identifier 649877 649888 - VariableStatement 649890 650028 - VariableDeclarationList 649890 650027 - VariableDeclaration 649967 650027 - Identifier 649967 649980 - CallExpression 649982 650027 - Identifier 649982 650014 - Identifier 650015 650026 - IfStatement 650028 650649 - CallExpression 650042 650103 - Identifier 650042 650090 - Identifier 650091 650102 - Block 650104 650649 - IfStatement 650106 650375 - Identifier 650124 650136 - Block 650137 650375 - ReturnStatement 650139 650360 - ConditionalExpression 650276 650359 - BinaryExpression 650276 650332 - CallExpression 650276 650300 - Identifier 650276 650286 - Identifier 650287 650299 - BarBarToken 650300 650303 - BinaryExpression 650303 650332 - Identifier 650303 650316 - EqualsEqualsEqualsToken 650316 650320 - Identifier 650320 650332 - QuestionToken 650332 650334 - Identifier 650334 650347 - ColonToken 650347 650349 - Identifier 650349 650359 - ReturnStatement 650375 650638 - ConditionalExpression 650586 650637 - Identifier 650586 650613 - QuestionToken 650613 650615 - Identifier 650615 650627 - ColonToken 650627 650629 - Identifier 650629 650637 - IfStatement 650649 650763 - Identifier 650663 650675 - Block 650676 650763 - ReturnStatement 650678 650752 - CallExpression 650698 650751 - Identifier 650698 650713 - Identifier 650714 650726 - Identifier 650727 650738 - Identifier 650739 650750 - IfStatement 650763 651849 - BinaryExpression 650779 651055 - BinaryExpression 650779 651011 - BinaryExpression 650779 650925 - BinaryExpression 650779 650886 - ParenthesizedExpression 650779 650835 - BinaryExpression 650794 650834 - Identifier 650794 650807 - BarBarToken 650807 650810 - CallExpression 650810 650834 - Identifier 650810 650821 - Identifier 650822 650833 - AmpersandAmpersandToken 650835 650838 - CallExpression 650838 650886 - Identifier 650838 650873 - Identifier 650874 650885 - AmpersandAmpersandToken 650886 650889 - PrefixUnaryExpression 650889 650925 - CallExpression 650891 650925 - Identifier 650891 650907 - PropertyAccessExpression 650908 650924 - Identifier 650908 650919 - Identifier 650920 650924 - AmpersandAmpersandToken 650925 650928 - PrefixUnaryExpression 650928 651011 - ParenthesizedExpression 650943 651011 - BinaryExpression 650944 651010 - CallExpression 650944 650987 - Identifier 650944 650974 - Identifier 650975 650986 - AmpersandToken 650987 650989 - PropertyAccessExpression 650989 651010 - Identifier 650989 651003 - Identifier 651004 651010 - AmpersandAmpersandToken 651011 651014 - PrefixUnaryExpression 651014 651055 - ParenthesizedExpression 651016 651055 - BinaryExpression 651017 651054 - PropertyAccessExpression 651017 651034 - Identifier 651017 651028 - Identifier 651029 651034 - AmpersandToken 651034 651036 - PropertyAccessExpression 651036 651054 - Identifier 651036 651046 - Identifier 651047 651054 - Block 651066 651849 - IfStatement 651068 651541 - BinaryExpression 651350 651489 - PrefixUnaryExpression 651350 651413 - ParenthesizedExpression 651351 651413 - BinaryExpression 651352 651412 - CallExpression 651352 651391 - Identifier 651352 651378 - Identifier 651379 651390 - AmpersandToken 651391 651393 - PropertyAccessExpression 651393 651412 - Identifier 651393 651403 - Identifier 651404 651412 - AmpersandAmpersandToken 651413 651416 - ParenthesizedExpression 651416 651489 - BinaryExpression 651418 651488 - PrefixUnaryExpression 651418 651442 - PropertyAccessExpression 651419 651442 - Identifier 651419 651430 - Identifier 651431 651442 - BarBarToken 651442 651445 - CallExpression 651445 651488 - Identifier 651445 651463 - PropertyAccessExpression 651464 651487 - Identifier 651464 651475 - Identifier 651476 651487 - Block 651490 651541 - ReturnStatement 651492 651526 - Identifier 651516 651525 - IfStatement 651541 651838 - BinaryExpression 651710 651781 - PropertyAccessExpression 651710 651733 - Identifier 651710 651721 - Identifier 651722 651733 - AmpersandAmpersandToken 651733 651736 - CallExpression 651736 651781 - Identifier 651736 651756 - PropertyAccessExpression 651757 651780 - Identifier 651757 651768 - Identifier 651769 651780 - Block 651782 651838 - ReturnStatement 651784 651823 - Identifier 651808 651822 - IfStatement 651849 653616 - CallExpression 651865 651889 - Identifier 651865 651876 - Identifier 651877 651888 - Block 651890 653616 - IfStatement 651892 652069 - PrefixUnaryExpression 651910 651929 - PropertyAccessExpression 651911 651929 - Identifier 651911 651922 - Identifier 651923 651929 - Block 651930 652069 - ReturnStatement 651932 652054 - VariableStatement 652069 652142 - VariableDeclarationList 652069 652141 - VariableDeclaration 652088 652141 - Identifier 652088 652093 - AsExpression 652095 652141 - PropertyAccessExpression 652095 652114 - Identifier 652095 652107 - Identifier 652108 652114 - TypeReference 652117 652141 - Identifier 652117 652141 - IfStatement 652142 653083 - BinaryExpression 652262 652323 - BinaryExpression 652262 652298 - PropertyAccessExpression 652262 652271 - Identifier 652262 652266 - Identifier 652267 652271 - EqualsEqualsEqualsToken 652271 652275 - PropertyAccessExpression 652275 652298 - Identifier 652275 652286 - Identifier 652287 652298 - AmpersandAmpersandToken 652298 652301 - CallExpression 652301 652323 - Identifier 652301 652317 - Identifier 652318 652322 - Block 652324 653083 - VariableStatement 652326 652469 - VariableDeclarationList 652326 652468 - VariableDeclaration 652349 652468 - Identifier 652349 652356 - CallExpression 652358 652468 - Identifier 652358 652379 - TypeReference 652380 652399 - Identifier 652380 652399 - CallExpression 652401 652443 - Identifier 652401 652423 - PropertyAccessExpression 652424 652442 - Identifier 652424 652435 - Identifier 652436 652442 - PropertyAccessExpression 652444 652467 - Identifier 652444 652455 - Identifier 652456 652467 - IfStatement 652469 653068 - Identifier 652491 652497 - Block 652498 653068 - VariableStatement 652500 652582 - VariableDeclarationList 652500 652581 - VariableDeclaration 652527 652581 - Identifier 652527 652543 - CallExpression 652545 652581 - Identifier 652545 652573 - Identifier 652574 652580 - VariableStatement 652582 652680 - VariableDeclarationList 652582 652679 - VariableDeclaration 652609 652679 - Identifier 652609 652623 - CallExpression 652625 652679 - Identifier 652625 652650 - AsExpression 652651 652678 - Identifier 652651 652655 - TypeReference 652658 652678 - Identifier 652658 652678 - IfStatement 652680 652978 - BinaryExpression 652706 652752 - Identifier 652706 652719 - AmpersandAmpersandToken 652719 652722 - BinaryExpression 652722 652752 - Identifier 652722 652734 - EqualsEqualsEqualsToken 652734 652738 - Identifier 652738 652752 - Block 652753 652978 - ExpressionStatement 652755 652874 - CallExpression 652755 652873 - PropertyAccessExpression 652755 652852 - Identifier 652755 652845 - Identifier 652846 652852 - PrefixUnaryExpression 652853 652872 - PropertyAccessExpression 652854 652872 - Identifier 652854 652867 - Identifier 652868 652872 - ReturnStatement 652874 652955 - CallExpression 652906 652954 - Identifier 652906 652922 - NonNullExpression 652923 652953 - PropertyAccessExpression 652923 652952 - Identifier 652923 652938 - Identifier 652939 652952 - ReturnStatement 652978 653049 - CallExpression 653006 653048 - Identifier 653006 653031 - Identifier 653032 653047 - VariableStatement 653083 653173 - VariableDeclarationList 653083 653172 - VariableDeclaration 653102 653172 - Identifier 653102 653125 - CallExpression 653127 653172 - Identifier 653127 653153 - Identifier 653154 653158 - Identifier 653159 653171 - IfStatement 653173 653245 - Identifier 653191 653213 - ReturnStatement 653214 653245 - Identifier 653221 653244 - VariableStatement 653245 653485 - VariableDeclarationList 653245 653484 - VariableDeclaration 653330 653484 - Identifier 653330 653335 - ConditionalExpression 653337 653484 - BinaryExpression 653337 653396 - PropertyAccessExpression 653337 653368 - PropertyAccessExpression 653337 653356 - Identifier 653337 653349 - Identifier 653350 653356 - Identifier 653357 653368 - EqualsEqualsEqualsToken 653368 653372 - PropertyAccessExpression 653372 653396 - Identifier 653372 653391 - Identifier 653392 653396 - QuestionToken 653396 653398 - CallExpression 653398 653435 - Identifier 653398 653429 - Identifier 653430 653434 - ColonToken 653435 653437 - CallExpression 653437 653484 - Identifier 653437 653471 - Identifier 653472 653483 - IfStatement 653485 653605 - Identifier 653503 653507 - Block 653508 653605 - ReturnStatement 653510 653590 - CallExpression 653534 653589 - Identifier 653534 653549 - Identifier 653550 653554 - FalseKeyword 653555 653576 - Identifier 653577 653588 - IfStatement 653616 654430 - BinaryExpression 653789 653859 - CallExpression 653789 653830 - Identifier 653789 653817 - Identifier 653818 653829 - AmpersandAmpersandToken 653830 653833 - PrefixUnaryExpression 653833 653859 - PrefixUnaryExpression 653835 653859 - PropertyAccessExpression 653836 653859 - Identifier 653836 653847 - Identifier 653848 653859 - Block 653860 654430 - IfStatement 653862 654227 - BinaryExpression 653880 653932 - CallExpression 653880 653903 - Identifier 653880 653890 - Identifier 653891 653902 - AmpersandAmpersandToken 653903 653906 - PrefixUnaryExpression 653906 653932 - CallExpression 653908 653932 - Identifier 653908 653919 - Identifier 653920 653931 - Block 653933 654227 - VariableStatement 653935 654100 - VariableDeclarationList 653935 654099 - VariableDeclaration 653958 654099 - Identifier 653958 653978 - CallExpression 653980 654099 - Identifier 653980 654005 - Identifier 654006 654017 - CallExpression 654018 654054 - Identifier 654018 654041 - Identifier 654042 654053 - CallExpression 654055 654098 - Identifier 654055 654085 - Identifier 654086 654097 - IfStatement 654100 654212 - Identifier 654122 654141 - Block 654142 654212 - ReturnStatement 654144 654193 - Identifier 654172 654192 - VariableStatement 654227 654353 - VariableDeclarationList 654227 654352 - VariableDeclaration 654246 654352 - Identifier 654246 654251 - CallExpression 654253 654352 - Identifier 654253 654286 - Identifier 654287 654298 - CallExpression 654299 654351 - Identifier 654299 654327 - Identifier 654328 654339 - Identifier 654340 654350 - ReturnStatement 654353 654419 - CallExpression 654373 654418 - Identifier 654373 654388 - Identifier 654389 654393 - Identifier 654394 654405 - Identifier 654406 654417 - IfStatement 654430 655826 - BinaryExpression 654446 654526 - CallExpression 654446 654480 - Identifier 654446 654467 - Identifier 654468 654479 - AmpersandAmpersandToken 654480 654483 - ParenthesizedExpression 654483 654526 - BinaryExpression 654485 654525 - Identifier 654485 654498 - BarBarToken 654498 654501 - CallExpression 654501 654525 - Identifier 654501 654512 - Identifier 654513 654524 - Block 654527 655826 - IfStatement 654529 655815 - PrefixUnaryExpression 654811 654842 - CallExpression 654812 654842 - Identifier 654812 654829 - Identifier 654830 654841 - Block 654843 655305 - VariableStatement 654845 654930 - VariableDeclarationList 654845 654929 - VariableDeclaration 654868 654929 - Identifier 654868 654880 - CallExpression 654882 654929 - Identifier 654882 654909 - PropertyAccessExpression 654910 654928 - Identifier 654910 654921 - Identifier 654922 654928 - VariableStatement 654930 655203 - VariableDeclarationList 654930 655202 - VariableDeclaration 654953 655202 - Identifier 654953 654958 - ConditionalExpression 654960 655202 - Identifier 654960 654972 - QuestionToken 654972 654974 - CallExpression 654974 655032 - Identifier 654974 654999 - PropertyAccessExpression 655000 655018 - Identifier 655000 655011 - Identifier 655012 655018 - Identifier 655019 655031 - ColonToken 655032 655034 - ConditionalExpression 655034 655202 - BinaryExpression 655034 655118 - CallExpression 655034 655094 - Identifier 655034 655081 - Identifier 655082 655093 - AmpersandToken 655094 655096 - PropertyAccessExpression 655096 655118 - Identifier 655096 655110 - Identifier 655111 655118 - QuestionToken 655118 655120 - CallExpression 655120 655169 - Identifier 655120 655149 - PropertyAccessExpression 655150 655168 - Identifier 655150 655161 - Identifier 655162 655168 - ColonToken 655169 655171 - Identifier 655171 655202 - ReturnStatement 655203 655290 - BinaryExpression 655227 655289 - Identifier 655227 655232 - AmpersandAmpersandToken 655232 655235 - CallExpression 655235 655289 - Identifier 655235 655250 - Identifier 655251 655255 - TrueKeyword 655256 655276 - Identifier 655277 655288 - Block 655323 655815 - VariableStatement 655325 655430 - VariableDeclarationList 655325 655429 - VariableDeclaration 655348 655429 - Identifier 655348 655361 - CallExpression 655363 655429 - Identifier 655363 655370 - PropertyAccessExpression 655371 655397 - PropertyAccessExpression 655371 655389 - Identifier 655371 655382 - Identifier 655383 655389 - Identifier 655390 655397 - Identifier 655398 655428 - VariableStatement 655430 655713 - VariableDeclarationList 655430 655712 - VariableDeclaration 655453 655712 - Identifier 655453 655458 - ConditionalExpression 655460 655712 - PropertyAccessExpression 655460 655480 - Identifier 655460 655473 - Identifier 655474 655480 - QuestionToken 655480 655482 - CallExpression 655482 655542 - Identifier 655482 655508 - PropertyAccessExpression 655509 655527 - Identifier 655509 655520 - Identifier 655521 655527 - Identifier 655528 655541 - ColonToken 655542 655544 - ConditionalExpression 655544 655712 - BinaryExpression 655544 655628 - CallExpression 655544 655604 - Identifier 655544 655591 - Identifier 655592 655603 - AmpersandToken 655604 655606 - PropertyAccessExpression 655606 655628 - Identifier 655606 655620 - Identifier 655621 655628 - QuestionToken 655628 655630 - CallExpression 655630 655679 - Identifier 655630 655659 - PropertyAccessExpression 655660 655678 - Identifier 655660 655671 - Identifier 655672 655678 - ColonToken 655679 655681 - Identifier 655681 655712 - ReturnStatement 655713 655800 - BinaryExpression 655737 655799 - Identifier 655737 655742 - AmpersandAmpersandToken 655742 655745 - CallExpression 655745 655799 - Identifier 655745 655760 - Identifier 655761 655765 - TrueKeyword 655766 655786 - Identifier 655787 655798 - IfStatement 655826 656098 - CallExpression 655842 655869 - Identifier 655842 655856 - Identifier 655857 655868 - Block 655870 656098 - ReturnStatement 655872 656087 - Identifier 656077 656086 - IfStatement 656098 656454 - CallExpression 656286 656320 - Identifier 656286 656302 - PropertyAccessExpression 656303 656319 - Identifier 656303 656314 - Identifier 656315 656319 - Block 656321 656454 - ReturnStatement 656323 656443 - CallExpression 656343 656442 - Identifier 656343 656369 - PropertyAccessExpression 656370 656386 - Identifier 656370 656381 - Identifier 656382 656386 - FalseKeyword 656387 656418 - TrueKeyword 656419 656441 - ReturnStatement 656454 656541 - Identifier 656530 656540 - FunctionDeclaration 656548 657843 - Identifier 656564 656594 - Parameter 656595 656609 - Identifier 656595 656601 - TypeReference 656602 656609 - Identifier 656602 656609 - Block 656610 657843 - IfStatement 656612 657813 - BinaryExpression 656905 656975 - PropertyAccessExpression 656905 656928 - Identifier 656905 656911 - Identifier 656912 656928 - AmpersandAmpersandToken 656928 656931 - CallExpression 656931 656975 - Identifier 656931 656950 - PropertyAccessExpression 656951 656974 - Identifier 656951 656957 - Identifier 656958 656974 - Block 656976 657813 - VariableStatement 656978 657029 - VariableDeclarationList 656978 657028 - VariableDeclaration 656997 657028 - Identifier 656997 657003 - CallExpression 657005 657028 - Identifier 657005 657020 - Identifier 657021 657027 - IfStatement 657029 657745 - BinaryExpression 657047 657096 - PropertyAccessExpression 657047 657082 - Identifier 657047 657052 - Identifier 657053 657082 - EqualsEqualsEqualsToken 657082 657086 - Identifier 657086 657096 - Block 657097 657745 - ExpressionStatement 657099 657161 - BinaryExpression 657099 657160 - PropertyAccessExpression 657099 657152 - Identifier 657099 657122 - Identifier 657123 657152 - EqualsToken 657152 657154 - FalseKeyword 657154 657160 - ExpressionStatement 657161 657730 - BinaryExpression 657161 657729 - PropertyAccessExpression 657161 657214 - Identifier 657161 657184 - Identifier 657185 657214 - EqualsToken 657214 657216 - BinaryExpression 657216 657729 - PrefixUnaryExpression 657216 657250 - PrefixUnaryExpression 657218 657250 - CallExpression 657219 657250 - Identifier 657219 657242 - Identifier 657243 657249 - AmpersandAmpersandToken 657250 657253 - CallExpression 657253 657729 - Identifier 657253 657259 - PropertyAccessExpression 657260 657279 - Identifier 657260 657266 - Identifier 657267 657279 - ArrowFunction 657280 657728 - Parameter 657280 657292 - Identifier 657280 657292 - EqualsGreaterThanToken 657292 657295 - BinaryExpression 657295 657728 - BinaryExpression 657295 657600 - BinaryExpression 657295 657415 - CallExpression 657295 657348 - Identifier 657295 657335 - Identifier 657336 657347 - AmpersandAmpersandToken 657348 657351 - CallExpression 657351 657415 - Identifier 657351 657402 - Identifier 657403 657414 - AmpersandAmpersandToken 657415 657418 - ParenthesizedExpression 657418 657600 - BinaryExpression 657441 657599 - BinaryExpression 657441 657501 - PropertyAccessExpression 657441 657462 - PropertyAccessExpression 657441 657457 - Identifier 657441 657452 - Identifier 657453 657457 - Identifier 657458 657462 - ExclamationEqualsEqualsToken 657462 657466 - PropertyAccessExpression 657466 657501 - Identifier 657466 657477 - Identifier 657478 657501 - BarBarToken 657501 657504 - CallExpression 657504 657599 - Identifier 657504 657533 - PropertyAccessExpression 657534 657598 - ParenthesizedExpression 657534 657579 - AsExpression 657535 657578 - PropertyAccessExpression 657535 657551 - Identifier 657535 657546 - Identifier 657547 657551 - TypeReference 657554 657578 - Identifier 657554 657578 - Identifier 657580 657598 - AmpersandAmpersandToken 657600 657603 - PrefixUnaryExpression 657603 657728 - CallExpression 657626 657728 - Identifier 657626 657666 - Identifier 657667 657693 - Identifier 657694 657706 - Identifier 657707 657714 - Identifier 657715 657727 - ReturnStatement 657745 657802 - PropertyAccessExpression 657765 657801 - Identifier 657765 657771 - Identifier 657772 657801 - ReturnStatement 657813 657836 - FalseKeyword 657829 657835 - FunctionDeclaration 657843 658315 - Identifier 657859 657879 - Parameter 657880 657894 - Identifier 657880 657886 - TypeReference 657887 657894 - Identifier 657887 657894 - Block 657895 658315 - VariableStatement 657897 658106 - VariableDeclarationList 657897 658105 - VariableDeclaration 658067 658105 - Identifier 658067 658079 - PropertyAccessExpression 658081 658105 - Identifier 658081 658088 - Identifier 658089 658105 - ReturnStatement 658106 658308 - BinaryExpression 658122 658307 - BinaryExpression 658122 658261 - BinaryExpression 658122 658220 - BinaryExpression 658122 658172 - Identifier 658122 658134 - AmpersandAmpersandToken 658134 658137 - CallExpression 658137 658172 - Identifier 658137 658159 - Identifier 658160 658171 - AmpersandAmpersandToken 658172 658175 - PrefixUnaryExpression 658175 658220 - CallExpression 658177 658220 - Identifier 658177 658207 - Identifier 658208 658219 - AmpersandAmpersandToken 658220 658223 - PrefixUnaryExpression 658223 658261 - PropertyAccessExpression 658238 658261 - Identifier 658238 658249 - Identifier 658250 658261 - AmpersandAmpersandToken 658261 658264 - ParenthesizedExpression 658264 658307 - BinaryExpression 658266 658306 - Identifier 658266 658279 - BarBarToken 658279 658282 - CallExpression 658282 658306 - Identifier 658282 658293 - Identifier 658294 658305 - FunctionDeclaration 658315 658840 - Identifier 658331 658355 - Parameter 658356 658370 - Identifier 658356 658362 - TypeReference 658363 658370 - Identifier 658363 658370 - Block 658371 658840 - IfStatement 658373 658442 - PrefixUnaryExpression 658387 658407 - PropertyAccessExpression 658388 658407 - Identifier 658388 658394 - Identifier 658395 658407 - Block 658408 658442 - ReturnStatement 658410 658431 - ForOfStatement 658442 658833 - VariableDeclarationList 658457 658474 - VariableDeclaration 658462 658474 - Identifier 658462 658474 - PropertyAccessExpression 658477 658497 - Identifier 658477 658484 - Identifier 658485 658497 - Block 658498 658833 - VariableStatement 658500 658639 - VariableDeclarationList 658500 658638 - VariableDeclaration 658519 658638 - Identifier 658519 658529 - CallExpression 658531 658638 - Identifier 658531 658548 - Identifier 658549 658560 - FalseKeyword 658561 658593 - FalseKeyword 658594 658637 - IfStatement 658639 658822 - BinaryExpression 658657 658743 - Identifier 658657 658666 - AmpersandAmpersandToken 658666 658669 - ParenthesizedExpression 658669 658743 - BinaryExpression 658671 658742 - BinaryExpression 658671 658712 - PropertyAccessExpression 658671 658685 - Identifier 658671 658680 - Identifier 658681 658685 - EqualsEqualsEqualsToken 658685 658689 - PropertyAccessExpression 658689 658712 - Identifier 658689 658700 - Identifier 658701 658712 - BarBarToken 658712 658715 - CallExpression 658715 658742 - Identifier 658715 658731 - Identifier 658732 658741 - Block 658744 658822 - ReturnStatement 658746 658807 - AsExpression 658770 658806 - Identifier 658770 658780 - TypeReference 658783 658806 - Identifier 658783 658806 - FunctionDeclaration 658840 660008 - Identifier 658950 658980 - Parameter 658981 658995 - Identifier 658981 658987 - TypeReference 658988 658995 - Identifier 658988 658995 - Block 658996 660008 - VariableStatement 658998 659066 - VariableDeclarationList 658998 659065 - VariableDeclaration 659013 659065 - Identifier 659013 659018 - CallExpression 659020 659065 - Identifier 659020 659040 - ElementAccessExpression 659041 659064 - NonNullExpression 659041 659061 - PropertyAccessExpression 659041 659060 - Identifier 659041 659047 - Identifier 659048 659060 - NumericLiteral 659062 659063 - VariableStatement 659066 659142 - VariableDeclarationList 659066 659141 - VariableDeclaration 659081 659141 - Identifier 659081 659092 - CallExpression 659094 659141 - Identifier 659094 659121 - PropertyAccessExpression 659122 659140 - Identifier 659122 659128 - Identifier 659129 659140 - VariableStatement 659142 659301 - VariableDeclarationList 659142 659300 - VariableDeclaration 659157 659300 - Identifier 659157 659177 - CallExpression 659179 659300 - PropertyAccessExpression 659179 659206 - NonNullExpression 659179 659200 - PropertyAccessExpression 659179 659199 - Identifier 659179 659186 - Identifier 659187 659199 - Identifier 659201 659206 - ArrowFunction 659207 659299 - Parameter 659207 659208 - Identifier 659207 659208 - EqualsGreaterThanToken 659208 659211 - BinaryExpression 659211 659299 - BinaryExpression 659211 659250 - CallExpression 659211 659225 - Identifier 659211 659222 - Identifier 659223 659224 - AmpersandAmpersandToken 659225 659228 - CallExpression 659228 659250 - Identifier 659228 659247 - Identifier 659248 659249 - AmpersandAmpersandToken 659250 659253 - CallExpression 659253 659299 - Identifier 659253 659285 - PropertyAccessExpression 659286 659298 - Identifier 659286 659287 - Identifier 659288 659298 - VariableStatement 659301 659631 - VariableDeclarationList 659301 659630 - VariableDeclaration 659316 659630 - Identifier 659316 659326 - ConditionalExpression 659328 659630 - Identifier 659328 659348 - QuestionToken 659348 659363 - CallExpression 659363 659527 - PropertyAccessExpression 659363 659402 - Identifier 659363 659371 - Identifier 659372 659402 - CallExpression 659403 659514 - PropertyAccessExpression 659403 659441 - Identifier 659403 659410 - Identifier 659411 659441 - CallExpression 659442 659476 - PropertyAccessExpression 659442 659466 - Identifier 659442 659449 - Identifier 659450 659466 - StringLiteral 659467 659475 - CallExpression 659477 659513 - PropertyAccessExpression 659477 659502 - Identifier 659477 659485 - Identifier 659486 659502 - StringLiteral 659503 659512 - Identifier 659515 659526 - ColonToken 659527 659542 - CallExpression 659542 659630 - PropertyAccessExpression 659542 659581 - Identifier 659542 659550 - Identifier 659551 659581 - CallExpression 659582 659617 - PropertyAccessExpression 659582 659606 - Identifier 659582 659589 - Identifier 659590 659606 - StringLiteral 659607 659616 - Identifier 659618 659629 - IfStatement 659631 659787 - Identifier 659645 659664 - Block 659665 659787 - ExpressionStatement 659667 659776 - CallExpression 659667 659775 - Identifier 659667 659690 - PropertyAccessExpression 659691 659752 - ParenthesizedExpression 659691 659741 - AsExpression 659692 659740 - PropertyAccessExpression 659692 659712 - Identifier 659692 659701 - Identifier 659702 659712 - TypeReference 659715 659740 - Identifier 659715 659740 - Identifier 659742 659752 - PropertyAccessExpression 659753 659774 - Identifier 659753 659763 - Identifier 659764 659774 - ExpressionStatement 659787 659840 - CallExpression 659787 659839 - Identifier 659787 659806 - PropertyAccessExpression 659807 659827 - Identifier 659807 659816 - Identifier 659817 659827 - Identifier 659828 659838 - ExpressionStatement 659840 659877 - CallExpression 659840 659876 - Identifier 659840 659859 - Identifier 659860 659869 - Identifier 659870 659875 - ExpressionStatement 659877 659925 - BinaryExpression 659877 659924 - PropertyAccessExpression 659877 659905 - Identifier 659877 659896 - Identifier 659897 659905 - EqualsToken 659905 659907 - PropertyAccessExpression 659907 659924 - Identifier 659907 659912 - Identifier 659913 659924 - ReturnStatement 659925 660001 - CallExpression 659941 660000 - Identifier 659941 659964 - Identifier 659965 659974 - Identifier 659975 659984 - Identifier 659985 659999 - FunctionDeclaration 660008 661244 - Identifier 660024 660050 - Parameter 660051 660065 - Identifier 660051 660057 - TypeReference 660058 660065 - Identifier 660058 660065 - Parameter 660066 660119 - Identifier 660066 660079 - TypeOperator 660080 660119 - ArrayType 660089 660119 - TypeReference 660089 660117 - Identifier 660089 660117 - Block 660120 661244 - VariableStatement 660122 660354 - VariableDeclarationList 660122 660353 - VariableDeclaration 660137 660353 - Identifier 660137 660148 - ConditionalExpression 660150 660353 - CallExpression 660150 660198 - Identifier 660150 660161 - AsExpression 660162 660190 - PropertyAccessExpression 660162 660180 - Identifier 660162 660168 - Identifier 660169 660180 - StringKeyword 660183 660190 - StringLiteral 660191 660197 - QuestionToken 660198 660213 - CallExpression 660213 660291 - PropertyAccessExpression 660213 660245 - Identifier 660213 660221 - Identifier 660222 660245 - ElementAccessExpression 660246 660290 - CallExpression 660246 660287 - PropertyAccessExpression 660246 660282 - ParenthesizedExpression 660246 660276 - AsExpression 660247 660275 - PropertyAccessExpression 660247 660265 - Identifier 660247 660253 - Identifier 660254 660265 - StringKeyword 660268 660275 - Identifier 660277 660282 - StringLiteral 660283 660286 - NumericLiteral 660288 660289 - ColonToken 660291 660306 - CallExpression 660306 660353 - Identifier 660306 660333 - PropertyAccessExpression 660334 660352 - Identifier 660334 660340 - Identifier 660341 660352 - ForOfStatement 660354 661237 - VariableDeclarationList 660369 660386 - VariableDeclaration 660374 660386 - Identifier 660374 660386 - Identifier 660389 660402 - Block 660403 661237 - VariableStatement 660405 660510 - VariableDeclarationList 660405 660509 - VariableDeclaration 660424 660509 - Identifier 660424 660434 - CallExpression 660436 660509 - PropertyAccessExpression 660436 660475 - Identifier 660436 660444 - Identifier 660445 660475 - CallExpression 660476 660496 - PropertyAccessExpression 660476 660494 - Identifier 660476 660483 - Identifier 660484 660494 - Identifier 660497 660508 - ExpressionStatement 660510 660567 - CallExpression 660510 660566 - Identifier 660510 660533 - PropertyAccessExpression 660534 660554 - Identifier 660534 660543 - Identifier 660544 660554 - Identifier 660555 660565 - ExpressionStatement 660567 660615 - CallExpression 660567 660614 - Identifier 660567 660590 - Identifier 660591 660600 - Identifier 660601 660613 - ExpressionStatement 660615 660677 - BinaryExpression 660615 660676 - PropertyAccessExpression 660615 660647 - Identifier 660615 660638 - Identifier 660639 660647 - EqualsToken 660647 660649 - PropertyAccessExpression 660649 660676 - Identifier 660649 660661 - Identifier 660662 660676 - VariableStatement 660677 660749 - VariableDeclarationList 660677 660748 - VariableDeclaration 660696 660748 - Identifier 660696 660705 - CallExpression 660707 660748 - Identifier 660707 660729 - Identifier 660730 660739 - Identifier 660740 660747 - IfStatement 660749 660999 - BinaryExpression 660767 660837 - Identifier 660767 660780 - AmpersandAmpersandToken 660780 660783 - ParenthesizedExpression 660783 660837 - BinaryExpression 660785 660836 - BinaryExpression 660785 660806 - Identifier 660785 660793 - EqualsEqualsEqualsToken 660793 660797 - Identifier 660797 660806 - BarBarToken 660806 660809 - BinaryExpression 660809 660836 - Identifier 660809 660818 - EqualsEqualsEqualsToken 660818 660822 - Identifier 660822 660836 - Block 660838 660999 - ExpressionStatement 660840 660984 - CallExpression 660840 660983 - Identifier 660840 660863 - PropertyAccessExpression 660864 660887 - Identifier 660864 660870 - Identifier 660871 660887 - PropertyAccessExpression 660888 660934 - Identifier 660888 660900 - Identifier 660901 660934 - CallExpression 660935 660958 - Identifier 660935 660950 - Identifier 660951 660957 - CallExpression 660959 660982 - Identifier 660959 660972 - Identifier 660973 660981 - IfStatement 660999 661178 - CallExpression 661098 661133 - Identifier 661098 661107 - Identifier 661108 661116 - Identifier 661117 661132 - Block 661134 661178 - ContinueStatement 661136 661163 - ReturnStatement 661178 661226 - CallExpression 661198 661225 - Identifier 661198 661215 - Identifier 661216 661224 - FunctionDeclaration 661244 662312 - Identifier 661260 661285 - Parameter 661286 661300 - Identifier 661286 661292 - TypeReference 661293 661300 - Identifier 661293 661300 - Parameter 661301 661337 - Identifier 661301 661313 - TypeReference 661314 661337 - Identifier 661314 661337 - Block 661338 662312 - VariableStatement 661340 661572 - VariableDeclarationList 661340 661571 - VariableDeclaration 661355 661571 - Identifier 661355 661366 - ConditionalExpression 661368 661571 - CallExpression 661368 661416 - Identifier 661368 661379 - AsExpression 661380 661408 - PropertyAccessExpression 661380 661398 - Identifier 661380 661386 - Identifier 661387 661398 - StringKeyword 661401 661408 - StringLiteral 661409 661415 - QuestionToken 661416 661431 - CallExpression 661431 661509 - PropertyAccessExpression 661431 661463 - Identifier 661431 661439 - Identifier 661440 661463 - ElementAccessExpression 661464 661508 - CallExpression 661464 661505 - PropertyAccessExpression 661464 661500 - ParenthesizedExpression 661464 661494 - AsExpression 661465 661493 - PropertyAccessExpression 661465 661483 - Identifier 661465 661471 - Identifier 661472 661483 - StringKeyword 661486 661493 - Identifier 661495 661500 - StringLiteral 661501 661504 - NumericLiteral 661506 661507 - ColonToken 661509 661524 - CallExpression 661524 661571 - Identifier 661524 661551 - PropertyAccessExpression 661552 661570 - Identifier 661552 661558 - Identifier 661559 661570 - VariableStatement 661572 661673 - VariableDeclarationList 661572 661672 - VariableDeclaration 661587 661672 - Identifier 661587 661597 - CallExpression 661599 661672 - PropertyAccessExpression 661599 661638 - Identifier 661599 661607 - Identifier 661608 661638 - CallExpression 661639 661659 - PropertyAccessExpression 661639 661657 - Identifier 661639 661646 - Identifier 661647 661657 - Identifier 661660 661671 - ExpressionStatement 661673 661726 - CallExpression 661673 661725 - Identifier 661673 661692 - PropertyAccessExpression 661693 661713 - Identifier 661693 661702 - Identifier 661703 661713 - Identifier 661714 661724 - ExpressionStatement 661726 661770 - CallExpression 661726 661769 - Identifier 661726 661745 - Identifier 661746 661755 - Identifier 661756 661768 - ExpressionStatement 661770 661828 - BinaryExpression 661770 661827 - PropertyAccessExpression 661770 661798 - Identifier 661770 661789 - Identifier 661790 661798 - EqualsToken 661798 661800 - PropertyAccessExpression 661800 661827 - Identifier 661800 661812 - Identifier 661813 661827 - VariableStatement 661828 661896 - VariableDeclarationList 661828 661895 - VariableDeclaration 661843 661895 - Identifier 661843 661852 - CallExpression 661854 661895 - Identifier 661854 661876 - Identifier 661877 661886 - Identifier 661887 661894 - IfStatement 661896 662134 - BinaryExpression 661910 661980 - Identifier 661910 661923 - AmpersandAmpersandToken 661923 661926 - ParenthesizedExpression 661926 661980 - BinaryExpression 661928 661979 - BinaryExpression 661928 661949 - Identifier 661928 661936 - EqualsEqualsEqualsToken 661936 661940 - Identifier 661940 661949 - BarBarToken 661949 661952 - BinaryExpression 661952 661979 - Identifier 661952 661961 - EqualsEqualsEqualsToken 661961 661965 - Identifier 661965 661979 - Block 661981 662134 - ExpressionStatement 661983 662123 - CallExpression 661983 662122 - Identifier 661983 662002 - PropertyAccessExpression 662003 662026 - Identifier 662003 662009 - Identifier 662010 662026 - PropertyAccessExpression 662027 662073 - Identifier 662027 662039 - Identifier 662040 662073 - CallExpression 662074 662097 - Identifier 662074 662089 - Identifier 662090 662096 - CallExpression 662098 662121 - Identifier 662098 662111 - Identifier 662112 662120 - ReturnStatement 662134 662305 - ConditionalExpression 662227 662304 - CallExpression 662227 662263 - Identifier 662227 662237 - Identifier 662238 662246 - Identifier 662247 662262 - QuestionToken 662263 662265 - Identifier 662265 662275 - ColonToken 662275 662277 - CallExpression 662277 662304 - Identifier 662277 662294 - Identifier 662295 662303 - FunctionDeclaration 662312 662739 - Identifier 662328 662350 - Parameter 662351 662366 - Identifier 662351 662360 - TypeReference 662361 662366 - Identifier 662361 662366 - Parameter 662367 662392 - Identifier 662367 662372 - UnionType 662373 662392 - TypeReference 662373 662380 - Identifier 662373 662380 - UndefinedKeyword 662382 662392 - Block 662393 662739 - VariableStatement 662395 662658 - VariableDeclarationList 662395 662657 - VariableDeclaration 662410 662657 - Identifier 662410 662422 - BinaryExpression 662424 662657 - BinaryExpression 662424 662627 - BinaryExpression 662424 662572 - PropertyAccessExpression 662424 662447 - Identifier 662424 662429 - QuestionDotToken 662429 662431 - Identifier 662431 662447 - AmpersandAmpersandToken 662447 662467 - ParenthesizedExpression 662467 662572 - BinaryExpression 662469 662571 - PrefixUnaryExpression 662469 662495 - CallExpression 662470 662495 - Identifier 662470 662489 - Identifier 662490 662494 - BarBarToken 662495 662498 - BinaryExpression 662498 662571 - CallExpression 662498 662547 - Identifier 662498 662524 - PropertyAccessExpression 662525 662546 - Identifier 662525 662529 - Identifier 662530 662546 - AmpersandToken 662547 662549 - PropertyAccessExpression 662549 662571 - Identifier 662549 662563 - Identifier 662564 662571 - AmpersandAmpersandToken 662572 662592 - CallExpression 662592 662627 - Identifier 662592 662621 - Identifier 662622 662626 - BarBarToken 662627 662643 - Identifier 662643 662657 - ReturnStatement 662658 662732 - CallExpression 662674 662731 - Identifier 662674 662697 - Identifier 662698 662707 - Identifier 662708 662717 - Identifier 662718 662730 - FunctionDeclaration 662739 667430 - Identifier 662755 662794 - Parameter 662795 662809 - Identifier 662795 662801 - TypeReference 662802 662809 - Identifier 662802 662809 - Parameter 662810 662834 - Identifier 662810 662825 - QuestionToken 662825 662826 - TypeReference 662827 662834 - Identifier 662827 662834 - Block 662835 667430 - VariableStatement 662837 663048 - VariableDeclarationList 662837 663047 - VariableDeclaration 662980 663047 - Identifier 662980 662990 - CallExpression 662992 663047 - Identifier 662992 663022 - PropertyAccessExpression 663023 663046 - Identifier 663023 663029 - Identifier 663030 663046 - IfStatement 663048 663538 - Identifier 663062 663071 - Block 663072 663538 - VariableStatement 663074 663163 - VariableDeclarationList 663074 663162 - VariableDeclaration 663093 663162 - Identifier 663093 663097 - ConditionalExpression 663099 663162 - CallExpression 663099 663121 - Identifier 663099 663110 - Identifier 663111 663120 - QuestionToken 663121 663123 - CallExpression 663123 663150 - Identifier 663123 663139 - Identifier 663140 663149 - ColonToken 663150 663152 - Identifier 663152 663162 - IfStatement 663163 663289 - BinaryExpression 663181 663206 - Identifier 663181 663184 - AmpersandAmpersandToken 663184 663187 - PropertyAccessExpression 663187 663206 - Identifier 663187 663191 - Identifier 663192 663206 - Block 663207 663289 - ReturnStatement 663209 663274 - CallExpression 663233 663273 - Identifier 663233 663253 - PropertyAccessExpression 663254 663272 - Identifier 663254 663257 - Identifier 663258 663272 - VariableStatement 663289 663427 - VariableDeclarationList 663289 663426 - VariableDeclaration 663308 663426 - Identifier 663308 663328 - BinaryExpression 663330 663426 - PropertyAccessExpression 663330 663354 - Identifier 663330 663337 - Identifier 663338 663354 - AmpersandAmpersandToken 663354 663357 - CallExpression 663357 663426 - Identifier 663357 663382 - PropertyAccessExpression 663383 663406 - Identifier 663383 663389 - Identifier 663390 663406 - Identifier 663407 663414 - Identifier 663415 663425 - ReturnStatement 663427 663527 - BinaryExpression 663447 663526 - Identifier 663447 663467 - BarBarToken 663467 663470 - CallExpression 663470 663526 - Identifier 663470 663492 - CallExpression 663493 663525 - Identifier 663493 663514 - Identifier 663515 663524 - VariableStatement 663538 663557 - VariableDeclarationList 663538 663556 - VariableDeclaration 663551 663556 - Identifier 663551 663556 - VariableStatement 663557 663600 - VariableDeclarationList 663557 663599 - VariableDeclaration 663570 663599 - Identifier 663570 663591 - FalseKeyword 663593 663599 - VariableStatement 663600 663638 - VariableDeclarationList 663600 663637 - VariableDeclaration 663613 663637 - Identifier 663613 663629 - FalseKeyword 663631 663637 - IfStatement 663638 664009 - CallExpression 663870 663907 - Identifier 663870 663899 - Identifier 663900 663906 - Block 663908 664009 - ExpressionStatement 663910 663998 - BinaryExpression 663910 663997 - Identifier 663910 663928 - EqualsToken 663928 663930 - CallExpression 663930 663997 - Identifier 663930 663955 - Identifier 663956 663962 - NonNullExpression 663963 663996 - CallExpression 663963 663995 - Identifier 663963 663987 - Identifier 663988 663994 - IfStatement 664009 667009 - PrefixUnaryExpression 664023 664028 - Identifier 664024 664028 - Block 664029 667009 - VariableStatement 664031 664075 - VariableDeclarationList 664031 664074 - VariableDeclaration 664048 664074 - Identifier 664048 664054 - UnionType 664055 664074 - ArrayType 664055 664062 - TypeReference 664055 664060 - Identifier 664055 664060 - UndefinedKeyword 664064 664074 - IfStatement 664075 665991 - PropertyAccessExpression 664093 664112 - Identifier 664093 664099 - Identifier 664100 664112 - Block 664113 665991 - VariableStatement 664115 664165 - VariableDeclarationList 664115 664164 - VariableDeclaration 664136 664164 - Identifier 664136 664146 - UnionType 664147 664164 - TypeReference 664147 664152 - Identifier 664147 664152 - UndefinedKeyword 664154 664164 - ForOfStatement 664165 665941 - VariableDeclarationList 664188 664205 - VariableDeclaration 664193 664205 - Identifier 664193 664205 - PropertyAccessExpression 664208 664228 - Identifier 664208 664215 - Identifier 664216 664228 - Block 664229 665941 - VariableStatement 664231 664525 - VariableDeclarationList 664231 664524 - VariableDeclaration 664258 664524 - Identifier 664258 664269 - ConditionalExpression 664271 664524 - ParenthesizedExpression 664271 664338 - BinaryExpression 664273 664337 - CallExpression 664273 664304 - Identifier 664273 664291 - Identifier 664292 664303 - BarBarToken 664304 664307 - CallExpression 664307 664337 - Identifier 664307 664324 - Identifier 664325 664336 - QuestionToken 664338 664340 - Identifier 664340 664352 - ColonToken 664352 664354 - ConditionalExpression 664354 664524 - CallExpression 664354 664411 - Identifier 664354 664398 - Identifier 664399 664410 - QuestionToken 664411 664413 - ConditionalExpression 664413 664487 - CallExpression 664413 664452 - Identifier 664413 664432 - PropertyAccessExpression 664433 664451 - Identifier 664433 664444 - Identifier 664445 664451 - QuestionToken 664452 664454 - PropertyAccessExpression 664454 664473 - Identifier 664454 664466 - Identifier 664467 664473 - ColonToken 664473 664475 - Identifier 664475 664487 - ColonToken 664487 664489 - Identifier 664489 664524 - IfStatement 664525 664765 - PrefixUnaryExpression 664551 664562 - Identifier 664552 664562 - Block 664563 664765 - ContinueStatement 664565 664600 - VariableStatement 664765 664983 - VariableDeclarationList 664765 664982 - VariableDeclaration 664794 664982 - Identifier 664794 664799 - ConditionalExpression 664801 664982 - CallExpression 664801 664832 - Identifier 664801 664820 - Identifier 664821 664831 - QuestionToken 664832 664859 - CallExpression 664859 664914 - Identifier 664859 664902 - Identifier 664903 664913 - ColonToken 664914 664941 - CallExpression 664941 664982 - Identifier 664941 664970 - Identifier 664971 664981 - IfStatement 664983 665435 - BinaryExpression 665009 665141 - BinaryExpression 665009 665056 - Identifier 665009 665013 - EqualsEqualsEqualsToken 665013 665017 - PropertyAccessExpression 665017 665056 - Identifier 665017 665043 - Identifier 665044 665056 - BarBarToken 665056 665059 - BinaryExpression 665059 665141 - CallExpression 665059 665090 - Identifier 665059 665078 - Identifier 665079 665089 - AmpersandAmpersandToken 665090 665093 - CallExpression 665093 665141 - Identifier 665093 665123 - Identifier 665124 665134 - Identifier 665135 665140 - Block 665142 665435 - IfStatement 665144 665412 - CallExpression 665174 665212 - Identifier 665174 665200 - Identifier 665201 665211 - Block 665213 665300 - ExpressionStatement 665215 665273 - BinaryExpression 665215 665272 - Identifier 665215 665265 - EqualsToken 665265 665267 - TrueKeyword 665267 665272 - Block 665330 665412 - ExpressionStatement 665332 665385 - BinaryExpression 665332 665384 - Identifier 665332 665377 - EqualsToken 665377 665379 - TrueKeyword 665379 665384 - IfStatement 665435 665639 - PrefixUnaryExpression 665461 665490 - CallExpression 665462 665490 - Identifier 665462 665478 - Identifier 665479 665489 - Block 665491 665639 - ExpressionStatement 665493 665616 - BinaryExpression 665493 665615 - Identifier 665493 665528 - EqualsToken 665528 665530 - CallExpression 665530 665615 - Identifier 665530 665571 - Identifier 665572 665581 - Identifier 665582 665593 - Identifier 665594 665601 - Identifier 665602 665614 - IfStatement 665639 665922 - PrefixUnaryExpression 665665 665675 - Identifier 665666 665675 - Block 665676 665922 - ExpressionStatement 665678 665899 - CallExpression 665678 665898 - PropertyAccessExpression 665678 665732 - ParenthesizedExpression 665678 665727 - BinaryExpression 665705 665726 - Identifier 665705 665710 - BarBarToken 665710 665713 - ParenthesizedExpression 665713 665726 - BinaryExpression 665715 665725 - Identifier 665715 665720 - EqualsToken 665720 665722 - ArrayLiteralExpression 665722 665725 - Identifier 665728 665732 - ConditionalExpression 665733 665897 - ParenthesizedExpression 665733 665797 - BinaryExpression 665734 665796 - CallExpression 665734 665764 - Identifier 665734 665752 - Identifier 665753 665763 - BarBarToken 665764 665767 - CallExpression 665767 665796 - Identifier 665767 665784 - Identifier 665785 665795 - QuestionToken 665797 665799 - CallExpression 665799 665885 - Identifier 665799 665843 - Identifier 665844 665850 - Identifier 665851 665866 - Identifier 665867 665878 - Identifier 665879 665884 - ColonToken 665885 665887 - Identifier 665887 665897 - ExpressionStatement 665941 665976 - BinaryExpression 665941 665975 - Identifier 665941 665963 - EqualsToken 665963 665965 - Identifier 665965 665975 - IfStatement 665991 666998 - PrefixUnaryExpression 666009 666014 - Identifier 666010 666014 - Block 666015 666998 - IfStatement 666017 666151 - PrefixUnaryExpression 666039 666053 - CallExpression 666040 666053 - Identifier 666040 666046 - Identifier 666047 666052 - Block 666054 666151 - ReturnStatement 666056 666095 - Identifier 666084 666094 - VariableStatement 666151 666320 - VariableDeclarationList 666151 666319 - VariableDeclaration 666172 666319 - Identifier 666172 666189 - ConditionalExpression 666191 666319 - BinaryExpression 666191 666235 - Identifier 666191 666212 - AmpersandAmpersandToken 666212 666215 - PropertyAccessExpression 666215 666235 - Identifier 666215 666222 - Identifier 666223 666235 - QuestionToken 666235 666237 - CallExpression 666237 666307 - Identifier 666237 666278 - NonNullExpression 666279 666285 - Identifier 666279 666284 - PropertyAccessExpression 666286 666306 - Identifier 666286 666293 - Identifier 666294 666306 - ColonToken 666307 666309 - Identifier 666309 666319 - IfStatement 666320 666785 - Identifier 666471 666486 - Block 666487 666785 - VariableStatement 666489 666565 - VariableDeclarationList 666489 666564 - VariableDeclaration 666516 666564 - Identifier 666516 666525 - CallExpression 666527 666564 - Identifier 666527 666556 - Identifier 666557 666563 - IfStatement 666565 666766 - Identifier 666591 666599 - Block 666600 666766 - ExpressionStatement 666602 666689 - CallExpression 666602 666688 - PropertyAccessExpression 666602 666678 - ParenthesizedExpression 666602 666673 - BinaryExpression 666629 666672 - Identifier 666629 666645 - BarBarToken 666645 666648 - ParenthesizedExpression 666648 666672 - BinaryExpression 666650 666671 - Identifier 666650 666666 - EqualsToken 666666 666668 - ArrayLiteralExpression 666668 666671 - Identifier 666674 666678 - Identifier 666679 666687 - ExpressionStatement 666689 666743 - BinaryExpression 666689 666742 - Identifier 666689 666735 - EqualsToken 666735 666737 - TrueKeyword 666737 666742 - VariableStatement 666785 666913 - VariableDeclarationList 666785 666912 - VariableDeclaration 666808 666912 - Identifier 666808 666820 - ConditionalExpression 666822 666912 - CallExpression 666822 666885 - Identifier 666822 666827 - Identifier 666828 666844 - ArrowFunction 666845 666884 - Parameter 666845 666847 - Identifier 666845 666847 - EqualsGreaterThanToken 666847 666850 - PrefixUnaryExpression 666850 666884 - PrefixUnaryExpression 666852 666884 - ParenthesizedExpression 666853 666884 - BinaryExpression 666854 666883 - PropertyAccessExpression 666854 666861 - Identifier 666854 666855 - Identifier 666856 666861 - AmpersandToken 666861 666863 - PrefixUnaryExpression 666863 666883 - PropertyAccessExpression 666865 666883 - Identifier 666865 666874 - Identifier 666875 666883 - QuestionToken 666885 666887 - Identifier 666887 666904 - ColonToken 666904 666906 - Identifier 666906 666912 - ExpressionStatement 666913 666983 - BinaryExpression 666913 666982 - Identifier 666913 666953 - EqualsToken 666953 666955 - CallExpression 666955 666982 - Identifier 666955 666968 - NonNullExpression 666969 666981 - Identifier 666969 666980 - VariableStatement 667009 667136 - VariableDeclarationList 667009 667135 - VariableDeclaration 667024 667135 - Identifier 667024 667032 - CallExpression 667034 667135 - Identifier 667034 667049 - CallExpression 667050 667134 - Identifier 667050 667064 - Identifier 667065 667069 - FalseKeyword 667070 667091 - BinaryExpression 667092 667133 - Identifier 667092 667108 - AmpersandAmpersandToken 667108 667111 - PrefixUnaryExpression 667111 667133 - Identifier 667113 667133 - IfStatement 667136 667398 - BinaryExpression 667150 667289 - BinaryExpression 667150 667212 - PropertyAccessExpression 667150 667173 - Identifier 667150 667156 - Identifier 667157 667173 - AmpersandAmpersandToken 667173 667176 - CallExpression 667176 667212 - Identifier 667176 667187 - PropertyAccessExpression 667188 667211 - Identifier 667188 667194 - Identifier 667195 667211 - AmpersandAmpersandToken 667212 667215 - BinaryExpression 667215 667289 - CallExpression 667215 667275 - Identifier 667215 667226 - Identifier 667227 667234 - ArrowFunction 667235 667274 - Parameter 667235 667237 - Identifier 667235 667237 - EqualsGreaterThanToken 667237 667240 - PrefixUnaryExpression 667240 667274 - PrefixUnaryExpression 667242 667274 - ParenthesizedExpression 667243 667274 - BinaryExpression 667244 667273 - PropertyAccessExpression 667244 667251 - Identifier 667244 667245 - Identifier 667246 667251 - AmpersandToken 667251 667253 - PrefixUnaryExpression 667253 667273 - PropertyAccessExpression 667255 667273 - Identifier 667255 667264 - Identifier 667265 667273 - EqualsEqualsEqualsToken 667275 667279 - Identifier 667279 667289 - Block 667290 667398 - ExpressionStatement 667292 667358 - CallExpression 667292 667357 - Identifier 667292 667323 - PropertyAccessExpression 667324 667347 - Identifier 667324 667330 - Identifier 667331 667347 - Identifier 667348 667356 - ReturnStatement 667358 667387 - Identifier 667378 667386 - ReturnStatement 667398 667423 - Identifier 667414 667422 - FunctionDeclaration 667430 668381 - Identifier 667446 667471 - Parameter 667472 667482 - Identifier 667472 667476 - TypeReference 667477 667482 - Identifier 667477 667482 - Parameter 667483 667498 - Identifier 667483 667490 - TypeReference 667491 667498 - Identifier 667491 667498 - Parameter 667499 667528 - Identifier 667499 667504 - UnionType 667505 667528 - TypeReference 667505 667516 - Identifier 667505 667516 - UndefinedKeyword 667518 667528 - UnionType 667530 667547 - TypeReference 667530 667535 - Identifier 667530 667535 - UndefinedKeyword 667537 667547 - Block 667547 668381 - IfStatement 667549 667696 - BinaryExpression 667563 667651 - BinaryExpression 667563 667625 - BinaryExpression 667563 667589 - PrefixUnaryExpression 667563 667580 - CallExpression 667564 667580 - Identifier 667564 667574 - Identifier 667575 667579 - BarBarToken 667580 667583 - PrefixUnaryExpression 667583 667589 - Identifier 667585 667589 - BarBarToken 667589 667592 - PrefixUnaryExpression 667592 667625 - CallExpression 667594 667625 - Identifier 667594 667619 - Identifier 667620 667624 - BarBarToken 667625 667628 - PropertyAccessExpression 667628 667651 - PropertyAccessExpression 667628 667644 - Identifier 667628 667633 - Identifier 667634 667644 - Identifier 667645 667651 - Block 667652 667696 - ReturnStatement 667654 667685 - Identifier 667674 667684 - VariableStatement 667696 667742 - VariableDeclarationList 667696 667741 - VariableDeclaration 667711 667741 - Identifier 667711 667719 - CallExpression 667721 667741 - Identifier 667721 667739 - WhileStatement 667742 668067 - BinaryExpression 667759 667819 - CallExpression 667759 667783 - Identifier 667759 667777 - Identifier 667778 667782 - BarBarToken 667783 667786 - CallExpression 667786 667819 - Identifier 667786 667813 - Identifier 667814 667818 - Block 667820 668067 - VariableStatement 667822 667868 - VariableDeclarationList 667822 667867 - VariableDeclaration 667841 667867 - Identifier 667841 667843 - CallExpression 667845 667867 - Identifier 667845 667861 - Identifier 667862 667866 - IfStatement 667868 667975 - PropertyAccessExpression 667886 667902 - PropertyAccessExpression 667886 667896 - Identifier 667886 667887 - QuestionDotToken 667887 667889 - Identifier 667889 667896 - QuestionDotToken 667896 667898 - Identifier 667898 667902 - Block 667903 667975 - ExpressionStatement 667905 667960 - CallExpression 667905 667959 - Identifier 667905 667939 - Identifier 667940 667947 - PropertyAccessExpression 667948 667958 - Identifier 667948 667950 - Identifier 667951 667958 - ExpressionStatement 667975 668056 - BinaryExpression 667975 668055 - Identifier 667975 667993 - EqualsToken 667993 667995 - ConditionalExpression 667995 668055 - CallExpression 667995 668020 - Identifier 667995 668014 - Identifier 668015 668019 - QuestionToken 668020 668022 - PropertyAccessExpression 668022 668034 - Identifier 668022 668027 - Identifier 668028 668034 - ColonToken 668034 668036 - PropertyAccessExpression 668036 668055 - PropertyAccessExpression 668036 668048 - Identifier 668036 668041 - Identifier 668042 668048 - Identifier 668049 668055 - VariableStatement 668067 668109 - VariableDeclarationList 668067 668108 - VariableDeclaration 668082 668108 - Identifier 668082 668084 - CallExpression 668086 668108 - Identifier 668086 668102 - Identifier 668103 668107 - IfStatement 668109 668204 - PropertyAccessExpression 668123 668139 - PropertyAccessExpression 668123 668133 - Identifier 668123 668124 - QuestionDotToken 668124 668126 - Identifier 668126 668133 - QuestionDotToken 668133 668135 - Identifier 668135 668139 - Block 668140 668204 - ExpressionStatement 668142 668193 - CallExpression 668142 668192 - Identifier 668142 668172 - Identifier 668173 668180 - PropertyAccessExpression 668181 668191 - Identifier 668181 668183 - Identifier 668184 668191 - VariableStatement 668204 668300 - VariableDeclarationList 668204 668299 - VariableDeclaration 668219 668299 - Identifier 668219 668224 - CallExpression 668226 668299 - Identifier 668226 668246 - Identifier 668247 668253 - Identifier 668254 668262 - Identifier 668263 668274 - Identifier 668275 668286 - Identifier 668287 668298 - ExpressionStatement 668300 668352 - BinaryExpression 668300 668351 - PropertyAccessExpression 668300 668326 - Identifier 668300 668314 - Identifier 668315 668326 - BarEqualsToken 668326 668329 - PropertyAccessExpression 668329 668351 - Identifier 668329 668341 - Identifier 668342 668351 - ReturnStatement 668352 668374 - Identifier 668368 668373 - FunctionDeclaration 668381 669770 - Identifier 668397 668438 - Parameter 668439 668469 - Identifier 668439 668451 - UnionType 668452 668469 - TypeReference 668452 668457 - Identifier 668452 668457 - UndefinedKeyword 668459 668469 - Parameter 668470 668493 - Identifier 668470 668481 - TypeReference 668482 668493 - Identifier 668482 668493 - Parameter 668494 668509 - Identifier 668494 668501 - TypeReference 668502 668509 - Identifier 668502 668509 - Parameter 668510 668535 - Identifier 668510 668522 - TypeReference 668523 668535 - Identifier 668523 668535 - Block 668536 669770 - VariableStatement 668538 668615 - VariableDeclarationList 668538 668614 - VariableDeclaration 668553 668614 - Identifier 668553 668562 - CallExpression 668564 668614 - Identifier 668564 668595 - PropertyAccessExpression 668596 668613 - Identifier 668596 668606 - Identifier 668607 668613 - IfStatement 668615 669072 - Identifier 668629 668637 - Block 668638 669072 - VariableStatement 668640 668713 - VariableDeclarationList 668640 668712 - VariableDeclaration 668659 668712 - Identifier 668659 668664 - CallExpression 668666 668712 - Identifier 668666 668681 - CallExpression 668682 668711 - Identifier 668682 668701 - Identifier 668702 668710 - IfStatement 668713 669061 - PrefixUnaryExpression 668731 668744 - Identifier 668732 668744 - Block 668745 668792 - ReturnStatement 668747 668777 - Identifier 668771 668776 - IfStatement 668810 669061 - BinaryExpression 668815 668905 - BinaryExpression 668815 668863 - PrefixUnaryExpression 668815 668841 - CallExpression 668816 668841 - Identifier 668816 668827 - Identifier 668828 668840 - AmpersandAmpersandToken 668841 668844 - PrefixUnaryExpression 668844 668863 - CallExpression 668846 668863 - Identifier 668846 668857 - Identifier 668858 668862 - AmpersandAmpersandToken 668863 668866 - PrefixUnaryExpression 668866 668905 - CallExpression 668868 668905 - Identifier 668868 668885 - Identifier 668886 668898 - Identifier 668899 668904 - Block 668906 669061 - ExpressionStatement 668908 669046 - CallExpression 668908 669045 - Identifier 668908 668980 - Identifier 668981 669011 - Identifier 669012 669025 - Identifier 669026 669038 - Identifier 669039 669044 - IfStatement 669072 669731 - PropertyAccessExpression 669086 669117 - PropertyAccessExpression 669086 669099 - Identifier 669086 669092 - Identifier 669093 669099 - QuestionDotToken 669099 669101 - Identifier 669101 669117 - Block 669118 669731 - VariableStatement 669120 669223 - VariableDeclarationList 669120 669222 - VariableDeclaration 669139 669222 - Identifier 669139 669163 - CallExpression 669165 669222 - Identifier 669165 669207 - PropertyAccessExpression 669208 669221 - Identifier 669208 669214 - Identifier 669215 669221 - IfStatement 669223 669720 - PropertyAccessExpression 669241 669281 - Identifier 669241 669264 - Identifier 669265 669281 - Block 669282 669720 - VariableStatement 669284 669392 - VariableDeclarationList 669284 669391 - VariableDeclaration 669307 669391 - Identifier 669307 669316 - CallExpression 669318 669391 - Identifier 669318 669349 - PropertyAccessExpression 669350 669390 - Identifier 669350 669373 - Identifier 669374 669390 - IfStatement 669392 669705 - Identifier 669414 669422 - Block 669423 669705 - VariableStatement 669425 669541 - VariableDeclarationList 669425 669540 - VariableDeclaration 669452 669540 - Identifier 669452 669469 - CallExpression 669471 669540 - Identifier 669471 669489 - CallExpression 669490 669519 - Identifier 669490 669509 - Identifier 669510 669518 - PropertyAccessExpression 669520 669539 - Identifier 669520 669527 - Identifier 669528 669539 - IfStatement 669541 669686 - Identifier 669567 669583 - Block 669584 669686 - ReturnStatement 669586 669663 - CallExpression 669618 669662 - Identifier 669618 669644 - Identifier 669645 669661 - ReturnStatement 669731 669763 - Identifier 669749 669762 - FunctionDeclaration 669770 677232 - Identifier 669874 669918 - Parameter 669919 669933 - Identifier 669919 669925 - TypeReference 669926 669933 - Identifier 669926 669933 - Parameter 669934 669969 - Identifier 669934 669949 - UnionType 669950 669969 - TypeReference 669950 669957 - Identifier 669950 669957 - UndefinedKeyword 669959 669969 - Parameter 669970 670016 - Identifier 669970 669981 - UnionType 669982 670016 - TypeReference 669982 669999 - Identifier 669982 669999 - TypeReference 670001 670016 - Identifier 670001 670016 - Parameter 670017 670049 - Identifier 670017 670022 - TypeReference 670023 670049 - Identifier 670023 670049 - Block 670050 677232 - IfStatement 670052 671285 - CallExpression 670066 670094 - Identifier 670066 670082 - Identifier 670083 670093 - Block 670095 671285 - IfStatement 670097 670326 - Identifier 670115 670129 - Block 670130 670326 - ReturnStatement 670132 670189 - CallExpression 670156 670188 - Identifier 670156 670172 - Identifier 670173 670187 - VariableStatement 670326 670447 - VariableDeclarationList 670326 670446 - VariableDeclaration 670345 670446 - Identifier 670345 670359 - CallExpression 670361 670446 - Identifier 670361 670383 - ElementAccessExpression 670384 670445 - PropertyAccessExpression 670384 670442 - ParenthesizedExpression 670384 670432 - AsExpression 670385 670431 - Identifier 670385 670395 - TypeReference 670398 670431 - Identifier 670398 670431 - Identifier 670433 670442 - NumericLiteral 670443 670444 - VariableStatement 670447 670539 - VariableDeclarationList 670447 670538 - VariableDeclaration 670466 670538 - Identifier 670466 670476 - CallExpression 670478 670538 - Identifier 670478 670502 - Identifier 670503 670516 - AsExpression 670517 670537 - StringLiteral 670517 670525 - TypeReference 670528 670537 - Identifier 670528 670537 - IfStatement 670539 670619 - Identifier 670557 670566 - Block 670567 670619 - ReturnStatement 670569 670604 - Identifier 670593 670603 - VariableStatement 670619 670707 - VariableDeclarationList 670619 670706 - VariableDeclaration 670638 670706 - Identifier 670638 670646 - CallExpression 670648 670706 - Identifier 670648 670672 - Identifier 670673 670686 - AsExpression 670687 670705 - StringLiteral 670687 670693 - TypeReference 670696 670705 - Identifier 670696 670705 - IfStatement 670707 670927 - Identifier 670725 670732 - Block 670733 670927 - VariableStatement 670735 670800 - VariableDeclarationList 670735 670799 - VariableDeclaration 670758 670799 - Identifier 670758 670765 - CallExpression 670767 670799 - Identifier 670767 670790 - Identifier 670791 670798 - IfStatement 670800 670912 - Identifier 670822 670828 - Block 670829 670912 - ReturnStatement 670831 670893 - CallExpression 670859 670892 - Identifier 670859 670884 - Identifier 670885 670891 - VariableStatement 670927 671015 - VariableDeclarationList 670927 671014 - VariableDeclaration 670946 671014 - Identifier 670946 670954 - CallExpression 670956 671014 - Identifier 670956 670980 - Identifier 670981 670994 - AsExpression 670995 671013 - StringLiteral 670995 671001 - TypeReference 671004 671013 - Identifier 671004 671013 - IfStatement 671015 671245 - Identifier 671033 671040 - Block 671041 671245 - VariableStatement 671043 671108 - VariableDeclarationList 671043 671107 - VariableDeclaration 671066 671107 - Identifier 671066 671073 - CallExpression 671075 671107 - Identifier 671075 671098 - Identifier 671099 671106 - IfStatement 671108 671230 - Identifier 671130 671136 - Block 671137 671230 - ReturnStatement 671139 671211 - CallExpression 671167 671210 - Identifier 671167 671202 - Identifier 671203 671209 - ReturnStatement 671245 671274 - Identifier 671265 671273 - IfStatement 671285 671406 - CallExpression 671299 671363 - Identifier 671299 671328 - PropertyAccessExpression 671329 671344 - Identifier 671329 671339 - Identifier 671340 671344 - PropertyAccessExpression 671345 671362 - Identifier 671345 671356 - Identifier 671357 671362 - Block 671364 671406 - ReturnStatement 671366 671395 - Identifier 671386 671394 - VariableStatement 671406 671747 - VariableDeclarationList 671406 671746 - VariableDeclaration 671421 671746 - Identifier 671421 671436 - BinaryExpression 671438 671746 - BinaryExpression 671438 671584 - BinaryExpression 671438 671489 - Identifier 671438 671443 - EqualsEqualsEqualsToken 671443 671447 - PropertyAccessExpression 671447 671489 - Identifier 671447 671473 - Identifier 671474 671489 - AmpersandAmpersandToken 671489 671492 - ParenthesizedExpression 671492 671584 - BinaryExpression 671494 671583 - CallExpression 671494 671537 - Identifier 671494 671520 - PropertyAccessExpression 671521 671536 - Identifier 671521 671531 - Identifier 671532 671536 - BarBarToken 671537 671540 - CallExpression 671540 671583 - Identifier 671540 671566 - PropertyAccessExpression 671567 671582 - Identifier 671567 671577 - Identifier 671578 671582 - AmpersandAmpersandToken 671584 671587 - ParenthesizedExpression 671587 671746 - BinaryExpression 671589 671745 - CallExpression 671589 671648 - Identifier 671589 671620 - PropertyAccessExpression 671621 671647 - PropertyAccessExpression 671621 671636 - Identifier 671621 671631 - Identifier 671632 671636 - Identifier 671637 671647 - BarBarToken 671648 671651 - ParenthesizedExpression 671651 671745 - BinaryExpression 671653 671744 - CallExpression 671653 671693 - Identifier 671653 671665 - PropertyAccessExpression 671666 671692 - PropertyAccessExpression 671666 671681 - Identifier 671666 671676 - Identifier 671677 671681 - Identifier 671682 671692 - AmpersandAmpersandToken 671693 671696 - CallExpression 671696 671744 - Identifier 671696 671716 - PropertyAccessExpression 671717 671743 - PropertyAccessExpression 671717 671732 - Identifier 671717 671727 - Identifier 671728 671732 - Identifier 671733 671743 - VariableStatement 671747 671998 - VariableDeclarationList 671747 671997 - VariableDeclaration 671762 671997 - Identifier 671762 671767 - ConditionalExpression 671769 671997 - Identifier 671769 671784 - QuestionToken 671784 671786 - CallExpression 671786 671818 - Identifier 671786 671802 - Identifier 671803 671817 - ColonToken 671818 671833 - ConditionalExpression 671833 671997 - Identifier 671833 671848 - QuestionToken 671848 671850 - CallExpression 671850 671919 - Identifier 671850 671878 - CallExpression 671879 671918 - Identifier 671879 671900 - PropertyAccessExpression 671901 671917 - Identifier 671901 671911 - Identifier 671912 671917 - ColonToken 671919 671934 - CallExpression 671934 671997 - Identifier 671934 671956 - CallExpression 671957 671996 - Identifier 671957 671978 - PropertyAccessExpression 671979 671995 - Identifier 671979 671989 - Identifier 671990 671995 - IfStatement 671998 677054 - BinaryExpression 672012 672191 - BinaryExpression 672012 672120 - BinaryExpression 672012 672055 - PropertyAccessExpression 672012 672036 - Identifier 672012 672030 - Identifier 672031 672036 - AmpersandToken 672036 672038 - PropertyAccessExpression 672038 672055 - Identifier 672038 672048 - Identifier 672049 672055 - AmpersandAmpersandToken 672055 672058 - BinaryExpression 672058 672120 - Identifier 672058 672076 - EqualsEqualsEqualsToken 672076 672080 - PropertyAccessExpression 672080 672120 - Identifier 672080 672106 - Identifier 672107 672120 - AmpersandAmpersandToken 672120 672123 - BinaryExpression 672123 672191 - PropertyAccessExpression 672123 672155 - Identifier 672123 672143 - Identifier 672144 672155 - EqualsEqualsEqualsToken 672155 672159 - PropertyAccessExpression 672159 672191 - Identifier 672159 672178 - Identifier 672179 672191 - Block 672202 677054 - VariableStatement 672204 672288 - VariableDeclarationList 672204 672287 - VariableDeclaration 672223 672287 - Identifier 672223 672236 - CallExpression 672238 672287 - Identifier 672238 672267 - AsExpression 672268 672286 - Identifier 672268 672272 - TypeReference 672275 672286 - Identifier 672275 672286 - VariableStatement 672288 672338 - VariableDeclarationList 672288 672337 - VariableDeclaration 672307 672337 - Identifier 672307 672315 - CallExpression 672317 672337 - Identifier 672317 672335 - ExpressionStatement 672338 672395 - CallExpression 672338 672394 - Identifier 672338 672363 - PropertyAccessExpression 672364 672384 - Identifier 672364 672376 - Identifier 672377 672384 - Identifier 672385 672393 - VariableStatement 672395 672442 - VariableDeclarationList 672395 672441 - VariableDeclaration 672414 672441 - Identifier 672414 672426 - PropertyAccessExpression 672428 672441 - Identifier 672428 672436 - Identifier 672437 672441 - IfStatement 672442 672582 - BinaryExpression 672460 672501 - Identifier 672460 672474 - AmpersandAmpersandToken 672474 672477 - PrefixUnaryExpression 672477 672501 - PropertyAccessExpression 672479 672501 - Identifier 672479 672493 - Identifier 672494 672501 - Block 672502 672582 - ExpressionStatement 672504 672567 - BinaryExpression 672504 672566 - PropertyAccessExpression 672504 672544 - Identifier 672504 672536 - Identifier 672537 672544 - EqualsToken 672544 672546 - CallExpression 672546 672566 - Identifier 672546 672564 - ExpressionStatement 672582 675556 - CallExpression 672582 675555 - PropertyAccessExpression 672582 672639 - NonNullExpression 672582 672631 - PropertyAccessExpression 672582 672630 - ParenthesizedExpression 672582 672622 - BinaryExpression 672597 672621 - Identifier 672597 672611 - BarBarToken 672611 672614 - Identifier 672614 672621 - Identifier 672623 672630 - Identifier 672632 672639 - ArrowFunction 672640 675554 - Parameter 672641 672642 - Identifier 672641 672642 - Parameter 672643 672648 - Identifier 672643 672648 - EqualsGreaterThanToken 672649 672652 - Block 672652 675554 - VariableStatement 672654 672714 - VariableDeclarationList 672654 672713 - VariableDeclaration 672677 672713 - Identifier 672677 672692 - NonNullExpression 672694 672713 - CallExpression 672694 672712 - PropertyAccessExpression 672694 672706 - Identifier 672694 672702 - Identifier 672703 672706 - Identifier 672707 672711 - IfStatement 672714 675539 - BinaryExpression 672736 672808 - BinaryExpression 672736 672774 - Identifier 672736 672750 - AmpersandAmpersandToken 672750 672753 - BinaryExpression 672753 672774 - Identifier 672753 672768 - ExclamationEqualsEqualsToken 672768 672772 - Identifier 672772 672774 - AmpersandAmpersandToken 672774 672777 - PrefixUnaryExpression 672777 672808 - ParenthesizedExpression 672779 672808 - BinaryExpression 672780 672807 - PropertyAccessExpression 672780 672787 - Identifier 672780 672781 - Identifier 672782 672787 - AmpersandToken 672787 672789 - PropertyAccessExpression 672789 672807 - Identifier 672789 672801 - Identifier 672802 672807 - Block 672809 675453 - IfStatement 672811 675434 - BinaryExpression 672837 672908 - BinaryExpression 672837 672864 - PropertyAccessExpression 672837 672844 - Identifier 672837 672838 - Identifier 672839 672844 - AmpersandToken 672844 672846 - PropertyAccessExpression 672846 672864 - Identifier 672846 672858 - Identifier 672859 672864 - AmpersandAmpersandToken 672864 672867 - BinaryExpression 672867 672908 - PropertyAccessExpression 672867 672888 - Identifier 672867 672882 - Identifier 672883 672888 - AmpersandToken 672888 672890 - PropertyAccessExpression 672890 672908 - Identifier 672890 672902 - Identifier 672903 672908 - Block 672909 675307 - IfStatement 672911 674842 - BinaryExpression 673766 673919 - BinaryExpression 673766 673819 - PropertyAccessExpression 673766 673784 - Identifier 673766 673767 - Identifier 673768 673784 - AmpersandAmpersandToken 673784 673787 - PropertyAccessExpression 673787 673819 - Identifier 673787 673802 - Identifier 673803 673819 - AmpersandAmpersandToken 673819 673822 - BinaryExpression 673822 673919 - CallExpression 673822 673862 - Identifier 673822 673842 - PropertyAccessExpression 673843 673861 - Identifier 673843 673844 - Identifier 673845 673861 - ExclamationEqualsEqualsToken 673862 673866 - CallExpression 673866 673919 - Identifier 673866 673886 - PropertyAccessExpression 673887 673918 - Identifier 673887 673901 - Identifier 673902 673918 - Block 673920 674842 - VariableStatement 673922 674016 - VariableDeclarationList 673922 674015 - VariableDeclaration 673957 674015 - Identifier 673957 673971 - CallExpression 673973 674015 - Identifier 673973 674000 - PropertyAccessExpression 674001 674014 - Identifier 674001 674002 - Identifier 674003 674014 - VariableStatement 674016 674175 - VariableDeclarationList 674016 674174 - VariableDeclaration 674051 674174 - Identifier 674051 674070 - BinaryExpression 674072 674174 - PropertyAccessExpression 674072 674139 - CallExpression 674072 674133 - Identifier 674072 674080 - PropertyAccessExpression 674081 674112 - Identifier 674081 674095 - Identifier 674096 674112 - Identifier 674113 674132 - QuestionDotToken 674133 674135 - Identifier 674135 674139 - BarBarToken 674139 674142 - PropertyAccessExpression 674142 674174 - Identifier 674142 674157 - Identifier 674158 674174 - ExpressionStatement 674175 674495 - CallExpression 674175 674494 - Identifier 674175 674219 - CallExpression 674220 674330 - Identifier 674220 674259 - PropertyAccessExpression 674260 674278 - Identifier 674260 674261 - Identifier 674262 674278 - PropertyAccessExpression 674279 674314 - Identifier 674279 674291 - Identifier 674292 674314 - Identifier 674315 674329 - CallExpression 674331 674462 - Identifier 674331 674388 - Identifier 674389 674407 - PropertyAccessExpression 674408 674446 - Identifier 674408 674420 - Identifier 674421 674446 - Identifier 674447 674461 - ExpressionStatement 674495 674815 - CallExpression 674495 674814 - Identifier 674495 674539 - CallExpression 674540 674650 - Identifier 674540 674579 - Identifier 674580 674598 - PropertyAccessExpression 674599 674634 - Identifier 674599 674611 - Identifier 674612 674634 - Identifier 674635 674649 - CallExpression 674651 674782 - Identifier 674651 674708 - PropertyAccessExpression 674709 674727 - Identifier 674709 674710 - Identifier 674711 674727 - PropertyAccessExpression 674728 674766 - Identifier 674728 674740 - Identifier 674741 674766 - Identifier 674767 674781 - VariableStatement 674842 674933 - VariableDeclarationList 674842 674932 - VariableDeclaration 674873 674932 - Identifier 674873 674879 - CallExpression 674881 674932 - Identifier 674881 674894 - BinaryExpression 674895 674925 - PropertyAccessExpression 674895 674902 - Identifier 674895 674896 - Identifier 674897 674902 - BarToken 674902 674904 - PropertyAccessExpression 674904 674925 - Identifier 674904 674919 - Identifier 674920 674925 - Identifier 674926 674931 - ExpressionStatement 674933 675046 - BinaryExpression 674933 675045 - PropertyAccessExpression 674933 674975 - PropertyAccessExpression 674933 674970 - Identifier 674933 674964 - Identifier 674965 674970 - Identifier 674971 674975 - EqualsToken 674975 674977 - CallExpression 674977 675045 - Identifier 674977 674990 - ArrayLiteralExpression 674991 675044 - CallExpression 674992 675010 - Identifier 674992 675007 - Identifier 675008 675009 - CallExpression 675011 675043 - Identifier 675011 675027 - Identifier 675028 675042 - ExpressionStatement 675046 675129 - BinaryExpression 675046 675128 - PropertyAccessExpression 675046 675094 - Identifier 675046 675077 - Identifier 675078 675094 - EqualsToken 675094 675096 - PropertyAccessExpression 675096 675128 - Identifier 675096 675111 - Identifier 675112 675128 - ExpressionStatement 675129 675233 - BinaryExpression 675129 675232 - PropertyAccessExpression 675129 675173 - Identifier 675129 675160 - Identifier 675161 675173 - EqualsToken 675173 675175 - CallExpression 675175 675232 - Identifier 675175 675187 - PropertyAccessExpression 675188 675215 - Identifier 675188 675202 - Identifier 675203 675215 - PropertyAccessExpression 675216 675231 - Identifier 675216 675218 - Identifier 675219 675231 - ExpressionStatement 675233 675284 - CallExpression 675233 675283 - PropertyAccessExpression 675233 675270 - Identifier 675233 675266 - Identifier 675267 675270 - Identifier 675271 675275 - Identifier 675276 675282 - Block 675333 675434 - ExpressionStatement 675335 675411 - CallExpression 675335 675410 - PropertyAccessExpression 675335 675372 - Identifier 675335 675368 - Identifier 675369 675372 - Identifier 675373 675377 - CallExpression 675378 675409 - Identifier 675378 675390 - Identifier 675391 675392 - Identifier 675393 675408 - Block 675475 675539 - ExpressionStatement 675477 675520 - CallExpression 675477 675519 - PropertyAccessExpression 675477 675510 - Identifier 675477 675506 - Identifier 675507 675510 - Identifier 675511 675515 - Identifier 675516 675518 - VariableStatement 675556 675945 - VariableDeclarationList 675556 675944 - VariableDeclaration 675575 675944 - Identifier 675575 675582 - CallExpression 675584 675944 - Identifier 675584 675604 - ConditionalExpression 675605 675685 - BinaryExpression 675605 675651 - Identifier 675605 675634 - ExclamationEqualsEqualsToken 675634 675638 - PropertyAccessExpression 675638 675651 - Identifier 675638 675646 - Identifier 675647 675651 - QuestionToken 675651 675653 - Identifier 675653 675663 - ColonToken 675663 675665 - PropertyAccessExpression 675665 675685 - Identifier 675665 675678 - Identifier 675679 675685 - Identifier 675686 675789 - PropertyAccessExpression 675790 675835 - Identifier 675790 675820 - Identifier 675821 675835 - PropertyAccessExpression 675836 675886 - Identifier 675836 675866 - Identifier 675867 675886 - PropertyAccessExpression 675887 675928 - Identifier 675887 675917 - Identifier 675918 675928 - IfStatement 675945 676522 - BinaryExpression 675963 675991 - Identifier 675963 675974 - EqualsEqualsEqualsToken 675974 675978 - PropertyAccessExpression 675978 675991 - Identifier 675978 675986 - Identifier 675987 675991 - Block 675992 676522 - IfStatement 675994 676188 - PropertyAccessExpression 676016 676032 - Identifier 676016 676020 - Identifier 676021 676032 - Block 676033 676188 - ExpressionStatement 676035 676095 - BinaryExpression 676035 676094 - PropertyAccessExpression 676035 676075 - Identifier 676035 676063 - Identifier 676064 676075 - EqualsToken 676075 676077 - PropertyAccessExpression 676077 676094 - Identifier 676077 676082 - Identifier 676083 676094 - ExpressionStatement 676095 676169 - BinaryExpression 676095 676168 - PropertyAccessExpression 676095 676142 - Identifier 676095 676123 - Identifier 676124 676142 - EqualsToken 676142 676144 - PropertyAccessExpression 676144 676168 - Identifier 676144 676149 - Identifier 676150 676168 - IfStatement 676188 676507 - BinaryExpression 676210 676254 - CallExpression 676210 676230 - Identifier 676210 676224 - Identifier 676225 676229 - AmpersandToken 676230 676232 - PropertyAccessExpression 676232 676254 - Identifier 676232 676244 - Identifier 676245 676254 - Block 676255 676507 - ExpressionStatement 676257 676331 - BinaryExpression 676257 676330 - PropertyAccessExpression 676257 676297 - Identifier 676257 676285 - Identifier 676286 676297 - EqualsToken 676297 676299 - PropertyAccessExpression 676299 676330 - ParenthesizedExpression 676299 676323 - AsExpression 676301 676322 - Identifier 676301 676305 - TypeReference 676308 676322 - Identifier 676308 676322 - Identifier 676324 676330 - VariableStatement 676331 676406 - VariableDeclarationList 676331 676405 - VariableDeclaration 676358 676405 - Identifier 676358 676363 - CallExpression 676365 676405 - Identifier 676365 676382 - AsExpression 676383 676404 - Identifier 676383 676387 - TypeReference 676390 676404 - Identifier 676390 676404 - ExpressionStatement 676406 676488 - BinaryExpression 676406 676487 - PropertyAccessExpression 676406 676453 - Identifier 676406 676434 - Identifier 676435 676453 - EqualsToken 676453 676455 - ConditionalExpression 676455 676487 - CallExpression 676455 676468 - Identifier 676455 676462 - Identifier 676463 676467 - QuestionToken 676468 676470 - Identifier 676470 676475 - ColonToken 676475 676477 - Identifier 676477 676487 - ExpressionStatement 676522 676697 - BinaryExpression 676522 676696 - PropertyAccessExpression 676522 676554 - Identifier 676522 676542 - Identifier 676543 676554 - BarEqualsToken 676554 676557 - BinaryExpression 676557 676696 - CallExpression 676557 676592 - Identifier 676557 676584 - ArrayLiteralExpression 676585 676591 - Identifier 676586 676590 - BarToken 676592 676594 - BinaryExpression 676594 676696 - CallExpression 676594 676615 - Identifier 676594 676609 - Identifier 676610 676614 - AmpersandToken 676615 676617 - ParenthesizedExpression 676617 676696 - BinaryExpression 676619 676695 - BinaryExpression 676619 676667 - PropertyAccessExpression 676619 676640 - Identifier 676619 676630 - Identifier 676631 676640 - BarToken 676640 676642 - PropertyAccessExpression 676642 676667 - Identifier 676642 676654 - Identifier 676655 676667 - BarToken 676667 676669 - PropertyAccessExpression 676669 676695 - Identifier 676669 676681 - Identifier 676682 676695 - IfStatement 676697 677015 - BinaryExpression 676715 676832 - BinaryExpression 676715 676771 - PropertyAccessExpression 676715 676728 - Identifier 676715 676721 - Identifier 676722 676728 - AmpersandAmpersandToken 676728 676731 - BinaryExpression 676731 676771 - PropertyAccessExpression 676731 676751 - PropertyAccessExpression 676731 676745 - Identifier 676731 676738 - Identifier 676739 676745 - Identifier 676746 676751 - AmpersandToken 676751 676753 - PropertyAccessExpression 676753 676771 - Identifier 676753 676765 - Identifier 676766 676771 - AmpersandAmpersandToken 676771 676774 - BinaryExpression 676774 676832 - Identifier 676774 676779 - EqualsEqualsEqualsToken 676779 676783 - CallExpression 676783 676832 - Identifier 676783 676817 - PropertyAccessExpression 676818 676831 - Identifier 676818 676824 - Identifier 676825 676831 - Block 676833 677015 - ExpressionStatement 676835 676908 - BinaryExpression 676835 676907 - PropertyAccessExpression 676835 676871 - Identifier 676835 676859 - Identifier 676860 676871 - BarEqualsToken 676871 676874 - PropertyAccessExpression 676874 676907 - Identifier 676874 676886 - Identifier 676887 676907 - ReturnStatement 677015 677043 - Identifier 677035 677042 - IfStatement 677054 677203 - CallExpression 677068 677097 - Identifier 677068 677091 - Identifier 677092 677096 - Block 677098 677203 - ExpressionStatement 677100 677158 - CallExpression 677100 677157 - Identifier 677100 677131 - Identifier 677132 677142 - Identifier 677143 677156 - ReturnStatement 677158 677192 - Identifier 677178 677191 - ReturnStatement 677203 677225 - Identifier 677219 677224 - FunctionDeclaration 677232 677562 - Identifier 677248 677278 - Parameter 677279 677303 - Identifier 677279 677291 - TypeReference 677292 677303 - Identifier 677292 677303 - Parameter 677304 677327 - Identifier 677304 677315 - TypeReference 677316 677327 - Identifier 677316 677327 - Block 677328 677562 - ReturnStatement 677330 677555 - BinaryExpression 677346 677554 - BinaryExpression 677346 677459 - CallExpression 677346 677387 - Identifier 677346 677373 - Identifier 677374 677386 - AmpersandAmpersandToken 677387 677403 - BinaryExpression 677403 677459 - PropertyAccessExpression 677403 677432 - PropertyAccessExpression 677403 677427 - Identifier 677403 677416 - Identifier 677417 677427 - Identifier 677428 677432 - EqualsEqualsEqualsToken 677432 677436 - PropertyAccessExpression 677436 677459 - Identifier 677436 677447 - Identifier 677448 677459 - AmpersandAmpersandToken 677459 677475 - CallExpression 677475 677554 - Identifier 677475 677499 - Identifier 677500 677510 - ArrowFunction 677511 677553 - Parameter 677511 677513 - Identifier 677511 677513 - EqualsGreaterThanToken 677513 677516 - CallExpression 677516 677553 - Identifier 677516 677536 - Identifier 677537 677549 - Identifier 677550 677552 - FunctionDeclaration 677562 678255 - Identifier 677578 677605 - Parameter 677606 677628 - Identifier 677606 677616 - TypeReference 677617 677628 - Identifier 677617 677628 - Block 677629 678255 - VariableStatement 677631 677769 - VariableDeclarationList 677631 677768 - VariableDeclaration 677646 677768 - Identifier 677646 677660 - CallExpression 677662 677768 - Identifier 677662 677679 - Identifier 677680 677690 - FalseKeyword 677691 677723 - FalseKeyword 677724 677767 - ReturnStatement 677769 678248 - BinaryExpression 678004 678247 - BinaryExpression 678004 678120 - BinaryExpression 678004 678050 - PropertyAccessExpression 678004 678023 - Identifier 678004 678018 - Identifier 678019 678023 - EqualsEqualsEqualsToken 678023 678027 - PropertyAccessExpression 678027 678050 - Identifier 678027 678038 - Identifier 678039 678050 - BarBarToken 678050 678053 - BinaryExpression 678053 678120 - PropertyAccessExpression 678053 678085 - Identifier 678053 678080 - Identifier 678081 678085 - EqualsEqualsEqualsToken 678085 678089 - PropertyAccessExpression 678089 678120 - Identifier 678089 678100 - Identifier 678101 678120 - BarBarToken 678120 678123 - ParenthesizedExpression 678123 678247 - BinaryExpression 678138 678246 - BinaryExpression 678138 678190 - PropertyAccessExpression 678138 678156 - Identifier 678138 678151 - Identifier 678152 678156 - EqualsEqualsEqualsToken 678156 678160 - PropertyAccessExpression 678160 678190 - Identifier 678160 678171 - Identifier 678172 678190 - AmpersandAmpersandToken 678190 678193 - PrefixUnaryExpression 678193 678246 - CallExpression 678195 678246 - Identifier 678195 678224 - PropertyAccessExpression 678225 678245 - Identifier 678225 678238 - Identifier 678239 678245 - FunctionDeclaration 678255 678794 - Identifier 678271 678312 - Parameter 678313 678326 - Identifier 678313 678318 - ArrayType 678319 678326 - TypeReference 678319 678324 - Identifier 678319 678324 - Parameter 678327 678355 - Identifier 678327 678340 - ArrayType 678341 678355 - TypeReference 678341 678353 - Identifier 678341 678353 - UnionType 678357 678376 - ArrayType 678357 678364 - TypeReference 678357 678362 - Identifier 678357 678362 - UndefinedKeyword 678366 678376 - Block 678376 678794 - ExpressionStatement 678378 678439 - CallExpression 678378 678438 - PropertyAccessExpression 678378 678400 - Identifier 678378 678393 - Identifier 678394 678400 - BinaryExpression 678401 678437 - PropertyAccessExpression 678401 678413 - Identifier 678401 678406 - Identifier 678407 678413 - EqualsEqualsEqualsToken 678413 678417 - PropertyAccessExpression 678417 678437 - Identifier 678417 678430 - Identifier 678431 678437 - ReturnStatement 678439 678787 - CallExpression 678455 678786 - PropertyAccessExpression 678455 678468 - Identifier 678455 678461 - Identifier 678462 678468 - ArrowFunction 678469 678785 - Parameter 678470 678471 - Identifier 678470 678471 - Parameter 678472 678474 - Identifier 678472 678474 - EqualsGreaterThanToken 678475 678478 - Block 678478 678785 - VariableStatement 678480 678530 - VariableDeclarationList 678480 678529 - VariableDeclaration 678499 678529 - Identifier 678499 678511 - ElementAccessExpression 678513 678529 - Identifier 678513 678526 - Identifier 678527 678528 - VariableStatement 678530 678700 - VariableDeclarationList 678530 678699 - VariableDeclaration 678549 678699 - Identifier 678549 678560 - ConditionalExpression 678562 678699 - CallExpression 678562 678594 - Identifier 678562 678581 - Identifier 678582 678593 - QuestionToken 678594 678596 - Identifier 678596 678608 - ColonToken 678608 678610 - ConditionalExpression 678610 678699 - CallExpression 678610 678666 - Identifier 678610 678646 - PropertyAccessExpression 678647 678665 - Identifier 678647 678658 - Identifier 678659 678665 - QuestionToken 678666 678668 - PropertyAccessExpression 678668 678687 - Identifier 678668 678680 - Identifier 678681 678687 - ColonToken 678687 678689 - Identifier 678689 678699 - ReturnStatement 678700 678774 - BinaryExpression 678720 678773 - Identifier 678720 678731 - AmpersandAmpersandToken 678731 678734 - CallExpression 678734 678773 - Identifier 678734 678761 - Identifier 678762 678772 - FunctionDeclaration 678794 680657 - Identifier 679091 679117 - Parameter 679118 679141 - Identifier 679118 679125 - TypeReference 679126 679141 - Identifier 679126 679141 - Parameter 679142 679173 - Identifier 679142 679163 - QuestionToken 679163 679164 - BooleanKeyword 679165 679173 - Parameter 679174 679197 - Identifier 679174 679187 - QuestionToken 679187 679188 - BooleanKeyword 679189 679197 - TypeReference 679199 679204 - Identifier 679199 679204 - Block 679204 680657 - IfStatement 679206 679846 - PropertyAccessExpression 679220 679239 - Identifier 679220 679227 - Identifier 679228 679239 - Block 679240 679846 - VariableStatement 679242 679681 - VariableDeclarationList 679242 679680 - VariableDeclaration 679521 679680 - Identifier 679521 679536 - ConditionalExpression 679538 679680 - CallExpression 679538 679569 - Identifier 679538 679555 - PropertyAccessExpression 679556 679568 - Identifier 679556 679563 - Identifier 679564 679568 - QuestionToken 679569 679571 - CallExpression 679571 679666 - Identifier 679571 679597 - PropertyAccessExpression 679598 679610 - Identifier 679598 679605 - Identifier 679606 679610 - TrueKeyword 679611 679641 - FalseKeyword 679642 679665 - ColonToken 679666 679668 - Identifier 679668 679680 - ReturnStatement 679681 679835 - CallExpression 679701 679834 - Identifier 679701 679716 - CallExpression 679717 679833 - Identifier 679717 679752 - Identifier 679753 679760 - CallExpression 679761 679832 - Identifier 679761 679789 - Identifier 679790 679797 - PropertyAccessExpression 679798 679815 - Identifier 679798 679808 - Identifier 679809 679815 - Identifier 679816 679831 - IfStatement 679846 680001 - CallExpression 679860 679890 - Identifier 679860 679876 - PropertyAccessExpression 679877 679889 - Identifier 679877 679884 - Identifier 679885 679889 - Block 679891 680001 - ReturnStatement 679893 679990 - CallExpression 679913 679989 - Identifier 679913 679939 - PropertyAccessExpression 679940 679952 - Identifier 679940 679947 - Identifier 679948 679952 - Identifier 679953 679974 - Identifier 679975 679988 - IfStatement 680001 680145 - BinaryExpression 680015 680081 - Identifier 680015 680027 - AmpersandAmpersandToken 680027 680030 - PrefixUnaryExpression 680030 680081 - CallExpression 680032 680081 - Identifier 680032 680072 - Identifier 680073 680080 - Block 680082 680145 - ExpressionStatement 680084 680134 - CallExpression 680084 680133 - Identifier 680084 680115 - Identifier 680116 680123 - Identifier 680124 680132 - ReturnStatement 680145 680650 - ConditionalExpression 680595 680649 - Identifier 680595 680616 - QuestionToken 680616 680618 - Identifier 680618 680639 - ColonToken 680639 680641 - Identifier 680641 680649 - FunctionDeclaration 680657 682431 - Identifier 680734 680766 - Parameter 680767 680796 - Identifier 680767 680774 - TypeReference 680775 680796 - Identifier 680775 680796 - Parameter 680797 680827 - Identifier 680797 680818 - BooleanKeyword 680819 680827 - Parameter 680828 680850 - Identifier 680828 680841 - BooleanKeyword 680842 680850 - TypeReference 680852 680857 - Identifier 680852 680857 - Block 680857 682431 - VariableStatement 680859 680905 - VariableDeclarationList 680859 680904 - VariableDeclaration 680874 680904 - Identifier 680874 680882 - CallExpression 680884 680904 - Identifier 680884 680902 - VariableStatement 680905 680958 - VariableDeclarationList 680905 680957 - VariableDeclaration 680918 680957 - Identifier 680918 680934 - UnionType 680935 680957 - TypeReference 680935 680945 - Identifier 680935 680945 - UndefinedKeyword 680947 680957 - VariableStatement 680958 681055 - VariableDeclarationList 680958 681054 - VariableDeclaration 680971 681054 - Identifier 680971 680983 - BinaryExpression 680985 681054 - PropertyAccessExpression 680985 681011 - Identifier 680985 680997 - Identifier 680998 681011 - BarToken 681011 681013 - PropertyAccessExpression 681013 681054 - Identifier 681013 681025 - Identifier 681026 681054 - ExpressionStatement 681055 682042 - CallExpression 681055 682041 - Identifier 681055 681072 - PropertyAccessExpression 681073 681089 - Identifier 681073 681080 - Identifier 681081 681089 - ArrowFunction 681090 682040 - Parameter 681090 681092 - Identifier 681090 681092 - EqualsGreaterThanToken 681092 681095 - Block 681095 682040 - VariableStatement 681097 681163 - VariableDeclarationList 681097 681162 - VariableDeclaration 681116 681162 - Identifier 681116 681121 - BinaryExpression 681123 681162 - PropertyAccessExpression 681123 681138 - Identifier 681123 681125 - Identifier 681126 681138 - BarBarToken 681138 681141 - AsExpression 681141 681162 - PropertyAccessExpression 681141 681148 - Identifier 681141 681143 - Identifier 681144 681148 - TypeReference 681151 681162 - Identifier 681151 681162 - IfStatement 681163 681335 - PropertyAccessExpression 681181 681197 - Identifier 681181 681182 - Identifier 681183 681197 - Block 681198 681335 - ExpressionStatement 681200 681295 - BinaryExpression 681200 681294 - Identifier 681200 681233 - EqualsToken 681233 681235 - CallExpression 681235 681294 - Identifier 681235 681251 - Identifier 681252 681262 - Identifier 681263 681271 - FalseKeyword 681272 681293 - ReturnStatement 681295 681320 - VariableStatement 681335 681405 - VariableDeclarationList 681335 681404 - VariableDeclaration 681356 681404 - Identifier 681356 681365 - CallExpression 681367 681404 - Identifier 681367 681398 - Identifier 681399 681403 - IfStatement 681405 681666 - PrefixUnaryExpression 681423 681460 - CallExpression 681424 681460 - Identifier 681424 681450 - Identifier 681451 681459 - Block 681461 681666 - ExpressionStatement 681463 681626 - BinaryExpression 681463 681625 - Identifier 681463 681567 - BarEqualsToken 681567 681570 - PropertyAccessExpression 681570 681625 - Identifier 681570 681582 - Identifier 681583 681625 - ReturnStatement 681626 681651 - VariableStatement 681666 681727 - VariableDeclarationList 681666 681726 - VariableDeclaration 681685 681726 - Identifier 681685 681690 - CallExpression 681692 681726 - Identifier 681692 681716 - Identifier 681717 681725 - VariableStatement 681727 681821 - VariableDeclarationList 681727 681820 - VariableDeclaration 681746 681820 - Identifier 681746 681752 - BinaryExpression 681754 681820 - PropertyAccessExpression 681754 681775 - Identifier 681754 681766 - Identifier 681767 681775 - BarToken 681775 681777 - ParenthesizedExpression 681777 681820 - ConditionalExpression 681779 681819 - PropertyAccessExpression 681779 681792 - Identifier 681779 681780 - Identifier 681781 681792 - QuestionToken 681792 681794 - PropertyAccessExpression 681794 681815 - Identifier 681794 681806 - Identifier 681807 681815 - ColonToken 681815 681817 - NumericLiteral 681817 681819 - VariableStatement 681821 681876 - VariableDeclarationList 681821 681875 - VariableDeclaration 681840 681875 - Identifier 681840 681847 - CallExpression 681849 681875 - Identifier 681849 681862 - Identifier 681863 681868 - Identifier 681869 681874 - ExpressionStatement 681876 681975 - BinaryExpression 681876 681974 - PropertyAccessExpression 681876 681907 - PropertyAccessExpression 681876 681902 - Identifier 681876 681896 - Identifier 681897 681902 - Identifier 681903 681907 - EqualsToken 681907 681909 - CallExpression 681909 681974 - Identifier 681909 681935 - Identifier 681936 681937 - Identifier 681938 681959 - Identifier 681960 681973 - ExpressionStatement 681975 682029 - CallExpression 681975 682028 - PropertyAccessExpression 681975 682000 - Identifier 681975 681996 - Identifier 681997 682000 - PropertyAccessExpression 682001 682019 - Identifier 682001 682007 - Identifier 682008 682019 - Identifier 682020 682027 - VariableStatement 682042 682192 - VariableDeclarationList 682042 682191 - VariableDeclaration 682057 682191 - Identifier 682057 682064 - CallExpression 682066 682191 - Identifier 682066 682086 - Identifier 682087 682107 - Identifier 682108 682116 - Identifier 682117 682128 - Identifier 682129 682140 - ConditionalExpression 682141 682190 - Identifier 682141 682157 - QuestionToken 682157 682159 - ArrayLiteralExpression 682159 682177 - Identifier 682161 682176 - ColonToken 682177 682179 - Identifier 682179 682190 - ExpressionStatement 682192 682236 - BinaryExpression 682192 682235 - PropertyAccessExpression 682192 682220 - Identifier 682192 682208 - Identifier 682209 682220 - BarEqualsToken 682220 682223 - Identifier 682223 682235 - IfStatement 682236 682400 - Identifier 682250 682270 - Block 682271 682400 - ExpressionStatement 682273 682312 - BinaryExpression 682273 682311 - PropertyAccessExpression 682273 682301 - Identifier 682273 682293 - Identifier 682294 682301 - EqualsToken 682301 682303 - Identifier 682303 682311 - ExpressionStatement 682312 682389 - BinaryExpression 682312 682388 - PropertyAccessExpression 682312 682344 - Identifier 682312 682332 - Identifier 682333 682344 - BarEqualsToken 682344 682347 - PropertyAccessExpression 682347 682388 - Identifier 682347 682359 - Identifier 682360 682388 - ReturnStatement 682400 682424 - Identifier 682416 682423 - FunctionDeclaration 682431 683858 - Identifier 682507 682538 - Parameter 682539 682562 - Identifier 682539 682546 - TypeReference 682547 682562 - Identifier 682547 682562 - Parameter 682563 682593 - Identifier 682563 682584 - BooleanKeyword 682585 682593 - Parameter 682594 682616 - Identifier 682594 682607 - BooleanKeyword 682608 682616 - TypeReference 682618 682623 - Identifier 682618 682623 - Block 682623 683858 - VariableStatement 682625 682669 - VariableDeclarationList 682625 682668 - VariableDeclaration 682640 682668 - Identifier 682640 682649 - PropertyAccessExpression 682651 682668 - Identifier 682651 682659 - Identifier 682660 682668 - VariableStatement 682669 682725 - VariableDeclarationList 682669 682724 - VariableDeclaration 682684 682724 - Identifier 682684 682696 - CallExpression 682698 682724 - Identifier 682698 682714 - Identifier 682715 682723 - VariableStatement 682725 682873 - VariableDeclarationList 682725 682872 - VariableDeclaration 682740 682872 - Identifier 682740 682752 - ConditionalExpression 682754 682872 - BinaryExpression 682754 682846 - BinaryExpression 682754 682816 - Identifier 682754 682766 - AmpersandAmpersandToken 682766 682769 - BinaryExpression 682769 682816 - PropertyAccessExpression 682769 682786 - Identifier 682769 682781 - Identifier 682782 682786 - EqualsEqualsEqualsToken 682786 682790 - PropertyAccessExpression 682790 682816 - Identifier 682790 682801 - Identifier 682802 682816 - AmpersandAmpersandToken 682816 682819 - PropertyAccessExpression 682819 682846 - Identifier 682819 682831 - Identifier 682832 682846 - QuestionToken 682846 682848 - Identifier 682848 682860 - ColonToken 682860 682862 - Identifier 682862 682872 - IfStatement 682873 683067 - BinaryExpression 682887 682948 - BinaryExpression 682887 682908 - PropertyAccessExpression 682887 682902 - Identifier 682887 682895 - Identifier 682896 682902 - EqualsEqualsEqualsToken 682902 682906 - NumericLiteral 682906 682908 - BarBarToken 682908 682911 - BinaryExpression 682911 682948 - BinaryExpression 682911 682933 - PropertyAccessExpression 682911 682927 - Identifier 682911 682920 - Identifier 682921 682927 - EqualsEqualsEqualsToken 682927 682931 - NumericLiteral 682931 682933 - AmpersandAmpersandToken 682933 682936 - Identifier 682936 682948 - Block 682949 683067 - ReturnStatement 682951 683056 - ConditionalExpression 682971 683055 - BinaryExpression 682971 683010 - Identifier 682971 682987 - GreaterThanEqualsToken 682987 682990 - PropertyAccessExpression 682990 683010 - Identifier 682990 683003 - Identifier 683004 683010 - QuestionToken 683010 683012 - CallExpression 683012 683040 - Identifier 683012 683031 - Identifier 683032 683039 - ColonToken 683040 683042 - Identifier 683042 683055 - VariableStatement 683067 683218 - VariableDeclarationList 683067 683217 - VariableDeclaration 683082 683217 - Identifier 683082 683095 - CallExpression 683097 683217 - Identifier 683097 683101 - Identifier 683102 683110 - ArrowFunction 683111 683216 - Parameter 683111 683113 - Identifier 683111 683113 - EqualsGreaterThanToken 683113 683116 - ConditionalExpression 683116 683216 - CallExpression 683116 683139 - Identifier 683116 683136 - Identifier 683137 683138 - QuestionToken 683139 683141 - Identifier 683141 683149 - ColonToken 683149 683151 - CallExpression 683151 683216 - Identifier 683151 683177 - Identifier 683178 683179 - Identifier 683180 683201 - Identifier 683202 683215 - VariableStatement 683218 683370 - VariableDeclarationList 683218 683369 - VariableDeclaration 683233 683369 - Identifier 683233 683243 - BinaryExpression 683245 683369 - CallExpression 683245 683365 - Identifier 683245 683259 - Identifier 683260 683268 - ArrowFunction 683269 683343 - Parameter 683269 683271 - Identifier 683269 683271 - EqualsGreaterThanToken 683271 683274 - PrefixUnaryExpression 683274 683343 - ParenthesizedExpression 683276 683343 - BinaryExpression 683277 683342 - BinaryExpression 683277 683320 - BinaryExpression 683277 683294 - Identifier 683277 683278 - EqualsEqualsEqualsToken 683278 683282 - Identifier 683282 683294 - BarBarToken 683294 683297 - CallExpression 683297 683320 - Identifier 683297 683317 - Identifier 683318 683319 - BarBarToken 683320 683323 - CallExpression 683323 683342 - Identifier 683323 683339 - Identifier 683340 683341 - BinaryExpression 683344 683364 - PropertyAccessExpression 683344 683360 - Identifier 683344 683353 - Identifier 683354 683360 - MinusToken 683360 683362 - NumericLiteral 683362 683364 - PlusToken 683365 683367 - NumericLiteral 683367 683369 - VariableStatement 683370 683529 - VariableDeclarationList 683370 683528 - VariableDeclaration 683385 683528 - Identifier 683385 683398 - CallExpression 683400 683528 - Identifier 683400 683404 - Identifier 683405 683413 - ArrowFunction 683414 683527 - Parameter 683416 683417 - Identifier 683416 683417 - Parameter 683418 683420 - Identifier 683418 683420 - EqualsGreaterThanToken 683421 683424 - ConditionalExpression 683424 683527 - BinaryExpression 683424 683442 - Identifier 683424 683426 - EqualsEqualsEqualsToken 683426 683430 - Identifier 683430 683442 - QuestionToken 683442 683444 - PropertyAccessExpression 683444 683462 - Identifier 683444 683457 - Identifier 683458 683462 - ColonToken 683462 683464 - ConditionalExpression 683464 683527 - BinaryExpression 683464 683479 - Identifier 683464 683466 - GreaterThanEqualsToken 683466 683469 - Identifier 683469 683479 - QuestionToken 683479 683481 - PropertyAccessExpression 683481 683503 - Identifier 683481 683494 - Identifier 683495 683503 - ColonToken 683503 683505 - PropertyAccessExpression 683505 683527 - Identifier 683505 683518 - Identifier 683519 683527 - VariableStatement 683529 683613 - VariableDeclarationList 683529 683612 - VariableDeclaration 683542 683612 - Identifier 683542 683549 - AsExpression 683551 683612 - CallExpression 683551 683595 - Identifier 683551 683567 - Identifier 683568 683580 - Identifier 683581 683594 - TypeReference 683598 683612 - Identifier 683598 683612 - IfStatement 683613 683827 - Identifier 683627 683647 - Block 683648 683827 - ExpressionStatement 683650 683700 - BinaryExpression 683650 683699 - Identifier 683650 683670 - EqualsToken 683670 683672 - CallExpression 683672 683699 - Identifier 683672 683691 - Identifier 683692 683698 - ExpressionStatement 683700 683739 - BinaryExpression 683700 683738 - PropertyAccessExpression 683700 683728 - Identifier 683700 683720 - Identifier 683721 683728 - EqualsToken 683728 683730 - Identifier 683730 683738 - ExpressionStatement 683739 683816 - BinaryExpression 683739 683815 - PropertyAccessExpression 683739 683771 - Identifier 683739 683759 - Identifier 683760 683771 - BarEqualsToken 683771 683774 - PropertyAccessExpression 683774 683815 - Identifier 683774 683786 - Identifier 683787 683815 - ReturnStatement 683827 683851 - Identifier 683843 683850 - FunctionDeclaration 683858 685143 - Identifier 684600 684626 - Parameter 684627 684650 - Identifier 684627 684634 - TypeReference 684635 684650 - Identifier 684635 684650 - Parameter 684651 684680 - Identifier 684651 684672 - FalseKeyword 684674 684680 - Parameter 684681 684702 - Identifier 684681 684694 - FalseKeyword 684696 684702 - TypeReference 684704 684709 - Identifier 684704 684709 - Block 684709 685143 - IfStatement 684711 684787 - Identifier 684725 684745 - ExpressionStatement 684746 684787 - CallExpression 684746 684786 - PropertyAccessExpression 684746 684777 - Identifier 684746 684772 - Identifier 684773 684777 - Identifier 684778 684785 - VariableStatement 684787 685044 - VariableDeclarationList 684787 685043 - VariableDeclaration 684802 685043 - Identifier 684802 684809 - ConditionalExpression 684811 685043 - BinaryExpression 684811 684860 - PropertyAccessExpression 684811 684824 - Identifier 684811 684819 - Identifier 684820 684824 - EqualsEqualsEqualsToken 684824 684828 - PropertyAccessExpression 684828 684860 - Identifier 684828 684839 - Identifier 684840 684860 - QuestionToken 684860 684875 - CallExpression 684875 684952 - Identifier 684875 684907 - Identifier 684908 684915 - Identifier 684916 684937 - Identifier 684938 684951 - ColonToken 684952 684967 - CallExpression 684967 685043 - Identifier 684967 684998 - Identifier 684999 685006 - Identifier 685007 685028 - Identifier 685029 685042 - IfStatement 685044 685112 - Identifier 685058 685078 - ExpressionStatement 685079 685112 - CallExpression 685079 685111 - PropertyAccessExpression 685079 685109 - Identifier 685079 685105 - Identifier 685106 685109 - ReturnStatement 685112 685136 - Identifier 685128 685135 - FunctionDeclaration 685143 686272 - Identifier 685878 685919 - Parameter 685920 686057 - Identifier 685920 685931 - UnionType 685932 686057 - TypeReference 685932 685953 - Identifier 685932 685953 - TypeReference 685955 685975 - Identifier 685955 685975 - TypeReference 685977 685995 - Identifier 685977 685995 - TypeReference 685997 686017 - Identifier 685997 686017 - TypeReference 686019 686034 - Identifier 686019 686034 - TypeReference 686036 686057 - Identifier 686036 686057 - Parameter 686058 686081 - Identifier 686058 686071 - QuestionToken 686071 686072 - BooleanKeyword 686073 686081 - TypeReference 686083 686088 - Identifier 686083 686088 - Block 686088 686272 - ReturnStatement 686090 686265 - CallExpression 686106 686264 - Identifier 686106 686142 - CallExpression 686143 686236 - Identifier 686143 686176 - Identifier 686177 686188 - TrueKeyword 686189 686217 - PropertyAccessExpression 686218 686235 - Identifier 686218 686228 - Identifier 686229 686235 - Identifier 686237 686249 - Identifier 686250 686263 - FunctionDeclaration 686272 687245 - Identifier 686288 686316 - Parameter 686317 686339 - Identifier 686317 686321 - TypeReference 686322 686339 - Identifier 686322 686339 - TypeReference 686341 686346 - Identifier 686341 686346 - Block 686346 687245 - VariableStatement 686348 686391 - VariableDeclarationList 686348 686390 - VariableDeclaration 686363 686390 - Identifier 686363 686369 - CallExpression 686371 686390 - Identifier 686371 686384 - Identifier 686385 686389 - IfStatement 686391 687202 - PrefixUnaryExpression 686405 686424 - PropertyAccessExpression 686406 686424 - Identifier 686406 686411 - Identifier 686412 686424 - Block 686425 687202 - VariableStatement 686427 686533 - VariableDeclarationList 686427 686532 - VariableDeclaration 686446 686532 - Identifier 686446 686453 - CallExpression 686455 686532 - Identifier 686455 686468 - PropertyAccessExpression 686469 686494 - Identifier 686469 686480 - Identifier 686481 686494 - PropertyAccessExpression 686495 686531 - Identifier 686495 686514 - Identifier 686515 686531 - VariableStatement 686533 686583 - VariableDeclarationList 686533 686582 - VariableDeclaration 686552 686582 - Identifier 686552 686560 - CallExpression 686562 686582 - Identifier 686562 686580 - ExpressionStatement 686583 686959 - CallExpression 686583 686958 - Identifier 686583 686604 - PropertyAccessExpression 686605 686618 - Identifier 686605 686609 - Identifier 686610 686618 - ArrowFunction 686619 686957 - Parameter 686619 686624 - Identifier 686619 686624 - EqualsGreaterThanToken 686624 686627 - Block 686627 686957 - VariableStatement 686629 686731 - VariableDeclarationList 686629 686730 - VariableDeclaration 686652 686730 - Identifier 686652 686659 - CallExpression 686661 686730 - Identifier 686661 686674 - PropertyAccessExpression 686675 686695 - Identifier 686675 686686 - Identifier 686687 686695 - CallExpression 686696 686729 - Identifier 686696 686723 - Identifier 686724 686728 - ExpressionStatement 686731 686772 - BinaryExpression 686731 686771 - PropertyAccessExpression 686731 686762 - Identifier 686731 686755 - Identifier 686756 686762 - EqualsToken 686762 686764 - Identifier 686764 686771 - ExpressionStatement 686772 686837 - BinaryExpression 686772 686836 - PropertyAccessExpression 686772 686807 - PropertyAccessExpression 686772 686802 - Identifier 686772 686796 - Identifier 686797 686802 - Identifier 686803 686807 - EqualsToken 686807 686809 - CallExpression 686809 686836 - Identifier 686809 686830 - Identifier 686831 686835 - ExpressionStatement 686837 686884 - BinaryExpression 686837 686883 - PropertyAccessExpression 686837 686874 - PropertyAccessExpression 686837 686867 - Identifier 686837 686861 - Identifier 686862 686867 - Identifier 686868 686874 - EqualsToken 686874 686876 - Identifier 686876 686883 - ExpressionStatement 686884 686942 - CallExpression 686884 686941 - PropertyAccessExpression 686884 686913 - Identifier 686884 686909 - Identifier 686910 686913 - PropertyAccessExpression 686914 686932 - Identifier 686914 686920 - Identifier 686921 686932 - Identifier 686933 686940 - VariableStatement 686959 687059 - VariableDeclarationList 686959 687058 - VariableDeclaration 686978 687058 - Identifier 686978 686983 - CallExpression 686985 687058 - Identifier 686985 687005 - Identifier 687006 687012 - Identifier 687013 687021 - Identifier 687022 687033 - Identifier 687034 687045 - Identifier 687046 687057 - ExpressionStatement 687059 687151 - BinaryExpression 687059 687150 - PropertyAccessExpression 687059 687089 - Identifier 687059 687077 - Identifier 687078 687089 - BarEqualsToken 687089 687092 - BinaryExpression 687092 687150 - PropertyAccessExpression 687092 687118 - Identifier 687092 687104 - Identifier 687105 687118 - BarToken 687118 687120 - PropertyAccessExpression 687120 687150 - Identifier 687120 687132 - Identifier 687133 687150 - ExpressionStatement 687151 687191 - BinaryExpression 687151 687190 - PropertyAccessExpression 687151 687183 - Identifier 687151 687170 - Identifier 687171 687183 - EqualsToken 687183 687185 - Identifier 687185 687190 - ReturnStatement 687202 687238 - PropertyAccessExpression 687218 687237 - Identifier 687218 687224 - Identifier 687225 687237 - FunctionDeclaration 687245 687516 - Identifier 687261 687287 - Parameter 687288 687298 - Identifier 687288 687292 - TypeReference 687293 687298 - Identifier 687293 687298 - Block 687299 687516 - VariableStatement 687301 687348 - VariableDeclarationList 687301 687347 - VariableDeclaration 687316 687347 - Identifier 687316 687323 - CallExpression 687325 687347 - Identifier 687325 687341 - Identifier 687342 687346 - VariableStatement 687348 687442 - VariableDeclarationList 687348 687441 - VariableDeclaration 687363 687441 - Identifier 687363 687376 - CallExpression 687378 687441 - Identifier 687378 687417 - FalseKeyword 687418 687440 - ReturnStatement 687442 687509 - BinaryExpression 687458 687508 - BinaryExpression 687458 687481 - Identifier 687458 687471 - AmpersandAmpersandToken 687471 687474 - Identifier 687474 687481 - AmpersandAmpersandToken 687481 687484 - BinaryExpression 687484 687508 - Identifier 687484 687491 - EqualsEqualsEqualsToken 687491 687495 - Identifier 687495 687508 - FunctionDeclaration 687516 689036 - Identifier 687532 687568 - Parameter 687569 687591 - Identifier 687569 687573 - UnionType 687574 687591 - TypeReference 687574 687579 - Identifier 687574 687579 - UndefinedKeyword 687581 687591 - Parameter 687592 687609 - Identifier 687592 687604 - AnyKeyword 687605 687609 - Parameter 687610 687633 - Identifier 687610 687623 - QuestionToken 687623 687624 - BooleanKeyword 687625 687633 - Block 687634 689036 - IfStatement 687636 688530 - Identifier 687650 687654 - Block 687655 688530 - IfStatement 687657 688008 - BinaryExpression 687845 687925 - BinaryExpression 687845 687876 - PropertyAccessExpression 687845 687855 - Identifier 687845 687849 - Identifier 687850 687855 - AmpersandToken 687855 687857 - PropertyAccessExpression 687857 687876 - Identifier 687857 687867 - Identifier 687868 687876 - AmpersandAmpersandToken 687876 687879 - CallExpression 687879 687925 - Identifier 687879 687905 - PropertyAccessExpression 687906 687924 - Identifier 687906 687917 - Identifier 687918 687924 - Block 687926 688008 - ExpressionStatement 687928 687993 - BinaryExpression 687928 687992 - Identifier 687928 687950 - EqualsToken 687950 687952 - CallExpression 687952 687992 - Identifier 687952 687979 - Identifier 687980 687991 - IfStatement 688008 688118 - Identifier 688026 688038 - Block 688039 688118 - ExpressionStatement 688041 688103 - CallExpression 688041 688102 - Identifier 688041 688083 - Identifier 688084 688095 - Identifier 688096 688101 - IfStatement 688118 688475 - BinaryExpression 688243 688419 - BinaryExpression 688243 688364 - BinaryExpression 688243 688280 - PropertyAccessExpression 688243 688253 - Identifier 688243 688247 - Identifier 688248 688253 - AmpersandToken 688253 688255 - PropertyAccessExpression 688255 688280 - Identifier 688255 688265 - Identifier 688266 688280 - AmpersandAmpersandToken 688280 688283 - ParenthesizedExpression 688283 688364 - BinaryExpression 688285 688363 - CallExpression 688285 688314 - Identifier 688285 688301 - Identifier 688302 688313 - BarBarToken 688314 688317 - PrefixUnaryExpression 688317 688363 - CallExpression 688319 688363 - Identifier 688319 688350 - Identifier 688351 688362 - AmpersandAmpersandToken 688364 688367 - BinaryExpression 688367 688419 - PropertyAccessExpression 688367 688379 - Identifier 688367 688372 - Identifier 688373 688379 - ExclamationEqualsEqualsToken 688379 688383 - CallExpression 688383 688419 - Identifier 688383 688406 - Identifier 688407 688418 - Block 688420 688475 - ExpressionStatement 688422 688460 - BinaryExpression 688422 688459 - Identifier 688422 688444 - EqualsToken 688444 688446 - Identifier 688446 688459 - ReturnStatement 688475 688519 - CallExpression 688497 688518 - Identifier 688497 688512 - Identifier 688513 688517 - ExpressionStatement 688530 688717 - BinaryExpression 688530 688716 - Identifier 688530 688634 - EqualsToken 688634 688636 - ConditionalExpression 688636 688716 - BinaryExpression 688636 688691 - CallExpression 688636 688661 - Identifier 688636 688648 - Identifier 688649 688660 - AmpersandAmpersandToken 688661 688664 - PropertyAccessExpression 688664 688691 - Identifier 688664 688676 - Identifier 688677 688691 - QuestionToken 688691 688693 - Identifier 688693 688706 - ColonToken 688706 688708 - Identifier 688708 688716 - IfStatement 688717 689007 - Identifier 688836 688848 - Block 688849 689007 - IfStatement 688851 688996 - PrefixUnaryExpression 688869 688923 - CallExpression 688870 688923 - Identifier 688870 688910 - Identifier 688911 688922 - Block 688924 688996 - ExpressionStatement 688926 688981 - CallExpression 688926 688980 - Identifier 688926 688961 - Identifier 688962 688973 - Identifier 688974 688979 - ReturnStatement 689007 689029 - Identifier 689023 689028 - FunctionDeclaration 689036 689346 - Identifier 689052 689093 - Parameter 689094 689130 - Identifier 689094 689105 - TypeReference 689106 689130 - Identifier 689106 689130 - Block 689131 689346 - VariableStatement 689133 689188 - VariableDeclarationList 689133 689187 - VariableDeclaration 689148 689187 - Identifier 689148 689153 - CallExpression 689155 689187 - Identifier 689155 689174 - Identifier 689175 689186 - VariableStatement 689188 689280 - VariableDeclarationList 689188 689279 - VariableDeclaration 689203 689279 - Identifier 689203 689221 - ConditionalExpression 689223 689279 - BinaryExpression 689223 689258 - PropertyAccessExpression 689223 689233 - Identifier 689223 689228 - Identifier 689229 689233 - EqualsEqualsEqualsToken 689233 689237 - PropertyAccessExpression 689237 689258 - Identifier 689237 689248 - Identifier 689249 689258 - QuestionToken 689258 689260 - PropertyAccessExpression 689260 689272 - Identifier 689260 689265 - Identifier 689266 689272 - ColonToken 689272 689274 - Identifier 689274 689279 - ReturnStatement 689280 689339 - CallExpression 689296 689338 - Identifier 689296 689319 - Identifier 689320 689337 - FunctionDeclaration 689346 689566 - Identifier 689362 689394 - Parameter 689395 689405 - Identifier 689395 689399 - TypeReference 689400 689405 - Identifier 689400 689405 - Block 689406 689566 - VariableStatement 689408 689472 - VariableDeclarationList 689408 689471 - VariableDeclaration 689423 689471 - Identifier 689423 689432 - CallExpression 689434 689471 - Identifier 689434 689465 - Identifier 689466 689470 - IfStatement 689472 689559 - Identifier 689486 689494 - Block 689495 689559 - ReturnStatement 689497 689548 - CallExpression 689517 689547 - Identifier 689517 689537 - Identifier 689538 689546 - FunctionDeclaration 689566 690011 - Identifier 689582 689621 - Parameter 689622 689636 - Identifier 689622 689628 - TypeReference 689629 689636 - Identifier 689629 689636 - Block 689637 690011 - VariableStatement 689639 689684 - VariableDeclarationList 689639 689683 - VariableDeclaration 689652 689683 - Identifier 689652 689657 - PropertyAccessExpression 689659 689683 - Identifier 689659 689666 - Identifier 689667 689683 - IfStatement 689684 689744 - PrefixUnaryExpression 689698 689703 - Identifier 689699 689703 - Block 689704 689744 - ReturnStatement 689706 689733 - FalseKeyword 689726 689732 - IfStatement 689744 689854 - CallExpression 689758 689780 - Identifier 689758 689774 - Identifier 689775 689779 - Block 689781 689854 - ExpressionStatement 689783 689843 - BinaryExpression 689783 689842 - Identifier 689783 689801 - EqualsToken 689801 689803 - CallExpression 689803 689842 - Identifier 689803 689836 - Identifier 689837 689841 - IfStatement 689854 689981 - CallExpression 689868 689885 - Identifier 689868 689879 - Identifier 689880 689884 - Block 689886 689981 - ReturnStatement 689888 689970 - CallExpression 689908 689969 - Identifier 689908 689956 - PropertyAccessExpression 689957 689968 - Identifier 689957 689961 - Identifier 689962 689968 - ReturnStatement 689981 690004 - FalseKeyword 689997 690003 - FunctionDeclaration 690011 690873 - Identifier 690027 690066 - Parameter 690067 690081 - Identifier 690067 690073 - TypeReference 690074 690081 - Identifier 690074 690081 - TypeReference 690083 690088 - Identifier 690083 690088 - Block 690088 690873 - VariableStatement 690090 690137 - VariableDeclarationList 690090 690136 - VariableDeclaration 690105 690136 - Identifier 690105 690111 - CallExpression 690113 690136 - Identifier 690113 690128 - Identifier 690129 690135 - IfStatement 690137 690838 - PrefixUnaryExpression 690151 690162 - PropertyAccessExpression 690152 690162 - Identifier 690152 690157 - Identifier 690158 690162 - Block 690163 690838 - VariableStatement 690165 690245 - VariableDeclarationList 690165 690244 - VariableDeclaration 690184 690244 - Identifier 690184 690189 - CallExpression 690191 690244 - Identifier 690191 690236 - Identifier 690237 690243 - IfStatement 690245 690801 - BinaryExpression 690685 690747 - PrefixUnaryExpression 690685 690696 - PropertyAccessExpression 690686 690696 - Identifier 690686 690691 - Identifier 690692 690696 - AmpersandAmpersandToken 690696 690699 - PrefixUnaryExpression 690699 690747 - CallExpression 690701 690747 - Identifier 690701 690739 - Identifier 690740 690746 - Block 690748 690801 - ExpressionStatement 690750 690786 - BinaryExpression 690750 690785 - PropertyAccessExpression 690750 690778 - Identifier 690750 690773 - Identifier 690774 690778 - EqualsToken 690778 690780 - Identifier 690780 690785 - ReturnStatement 690801 690827 - Identifier 690821 690826 - ReturnStatement 690838 690866 - PropertyAccessExpression 690854 690865 - Identifier 690854 690860 - Identifier 690861 690865 - FunctionDeclaration 690873 697553 - Identifier 690889 690934 - Parameter 690935 690949 - Identifier 690935 690941 - TypeReference 690942 690949 - Identifier 690942 690949 - TypeReference 690951 690956 - Identifier 690951 690956 - Block 690956 697553 - IfStatement 690958 691116 - BinaryExpression 691010 691046 - PropertyAccessExpression 691010 691022 - Identifier 691010 691016 - Identifier 691017 691022 - AmpersandToken 691022 691024 - PropertyAccessExpression 691024 691046 - Identifier 691024 691036 - Identifier 691037 691046 - Block 691047 691116 - ReturnStatement 691049 691105 - CallExpression 691069 691104 - Identifier 691069 691096 - Identifier 691097 691103 - IfStatement 691116 691258 - BinaryExpression 691191 691215 - Identifier 691191 691197 - EqualsEqualsEqualsToken 691197 691201 - Identifier 691201 691215 - Block 691216 691258 - ReturnStatement 691218 691247 - Identifier 691238 691246 - IfStatement 691258 692189 - BinaryExpression 691272 691339 - BinaryExpression 691272 691312 - PropertyAccessExpression 691272 691284 - Identifier 691272 691278 - Identifier 691279 691284 - AmpersandToken 691284 691286 - PropertyAccessExpression 691286 691312 - Identifier 691286 691298 - Identifier 691299 691312 - AmpersandAmpersandToken 691312 691315 - PropertyAccessExpression 691315 691339 - Identifier 691315 691322 - Identifier 691323 691339 - Block 691340 692189 - VariableStatement 691342 691444 - VariableDeclarationList 691342 691443 - VariableDeclaration 691361 691443 - Identifier 691361 691372 - CallExpression 691374 691443 - Identifier 691374 691397 - CallExpression 691398 691442 - Identifier 691398 691417 - PropertyAccessExpression 691418 691441 - Identifier 691418 691424 - Identifier 691425 691441 - VariableStatement 691444 691527 - VariableDeclarationList 691444 691526 - VariableDeclaration 691463 691526 - Identifier 691463 691470 - CallExpression 691472 691526 - Identifier 691472 691485 - PropertyAccessExpression 691486 691502 - Identifier 691486 691496 - Identifier 691497 691502 - AsExpression 691503 691525 - StringLiteral 691503 691513 - TypeReference 691516 691525 - Identifier 691516 691525 - ExpressionStatement 691527 691626 - BinaryExpression 691527 691625 - PropertyAccessExpression 691527 691560 - Identifier 691527 691547 - Identifier 691548 691560 - EqualsToken 691560 691562 - ConditionalExpression 691562 691625 - PropertyAccessExpression 691562 691586 - Identifier 691562 691573 - Identifier 691574 691586 - QuestionToken 691586 691588 - CallExpression 691588 691620 - PropertyAccessExpression 691588 691618 - PropertyAccessExpression 691588 691612 - Identifier 691588 691599 - Identifier 691600 691612 - Identifier 691613 691618 - ColonToken 691620 691622 - ArrayLiteralExpression 691622 691625 - ExpressionStatement 691626 691663 - BinaryExpression 691626 691662 - PropertyAccessExpression 691626 691653 - Identifier 691626 691646 - Identifier 691647 691653 - EqualsToken 691653 691655 - Identifier 691655 691662 - ExpressionStatement 691663 691710 - BinaryExpression 691663 691709 - PropertyAccessExpression 691663 691696 - PropertyAccessExpression 691663 691689 - Identifier 691663 691683 - Identifier 691684 691689 - Identifier 691690 691696 - EqualsToken 691696 691698 - Identifier 691698 691709 - IfStatement 691710 691811 - PropertyAccessExpression 691728 691755 - Identifier 691728 691738 - Identifier 691739 691755 - ExpressionStatement 691756 691811 - BinaryExpression 691756 691810 - PropertyAccessExpression 691756 691780 - Identifier 691756 691763 - Identifier 691764 691780 - EqualsToken 691780 691782 - PropertyAccessExpression 691782 691810 - Identifier 691782 691793 - Identifier 691794 691810 - IfStatement 691811 691894 - PropertyAccessExpression 691829 691847 - Identifier 691829 691839 - Identifier 691840 691847 - ExpressionStatement 691848 691894 - BinaryExpression 691848 691893 - PropertyAccessExpression 691848 691863 - Identifier 691848 691855 - Identifier 691856 691863 - EqualsToken 691863 691865 - NewExpression 691865 691893 - Identifier 691869 691873 - PropertyAccessExpression 691874 691892 - Identifier 691874 691884 - Identifier 691885 691892 - IfStatement 691894 691977 - PropertyAccessExpression 691912 691930 - Identifier 691912 691922 - Identifier 691923 691930 - ExpressionStatement 691931 691977 - BinaryExpression 691931 691976 - PropertyAccessExpression 691931 691946 - Identifier 691931 691938 - Identifier 691939 691946 - EqualsToken 691946 691948 - NewExpression 691948 691976 - Identifier 691952 691956 - PropertyAccessExpression 691957 691975 - Identifier 691957 691967 - Identifier 691968 691975 - VariableStatement 691977 692027 - VariableDeclarationList 691977 692026 - VariableDeclaration 691996 692026 - Identifier 691996 692004 - CallExpression 692006 692026 - Identifier 692006 692024 - ExpressionStatement 692027 692084 - CallExpression 692027 692083 - PropertyAccessExpression 692027 692052 - Identifier 692027 692048 - Identifier 692049 692052 - AsExpression 692053 692074 - StringLiteral 692053 692062 - TypeReference 692065 692074 - Identifier 692065 692074 - Identifier 692075 692082 - ReturnStatement 692084 692178 - CallExpression 692104 692177 - Identifier 692104 692124 - Identifier 692125 692131 - Identifier 692132 692140 - Identifier 692141 692152 - Identifier 692153 692164 - Identifier 692165 692176 - ExpressionStatement 692189 692246 - CallExpression 692189 692245 - PropertyAccessExpression 692189 692220 - Identifier 692189 692204 - Identifier 692205 692220 - PropertyAccessExpression 692221 692244 - Identifier 692221 692227 - Identifier 692228 692244 - VariableStatement 692246 692300 - VariableDeclarationList 692246 692299 - VariableDeclaration 692261 692299 - Identifier 692261 692273 - PropertyAccessExpression 692275 692299 - Identifier 692275 692282 - Identifier 692283 692299 - IfStatement 692300 692653 - BinaryExpression 692360 692418 - CallExpression 692360 692385 - Identifier 692360 692372 - Identifier 692373 692384 - AmpersandAmpersandToken 692385 692388 - CallExpression 692388 692418 - Identifier 692388 692405 - Identifier 692406 692417 - Block 692419 692653 - IfStatement 692421 692528 - PrefixUnaryExpression 692439 692469 - PropertyAccessExpression 692440 692469 - PropertyAccessExpression 692440 692462 - Identifier 692440 692451 - Identifier 692452 692462 - Identifier 692463 692469 - Block 692470 692528 - ReturnStatement 692472 692513 - Identifier 692496 692512 - ReturnStatement 692528 692642 - CallExpression 692548 692641 - Identifier 692548 692563 - CallExpression 692564 692640 - Identifier 692564 692585 - CallExpression 692586 692639 - Identifier 692586 692601 - PropertyAccessExpression 692602 692638 - ElementAccessExpression 692602 692627 - PropertyAccessExpression 692602 692624 - Identifier 692602 692613 - Identifier 692614 692624 - NumericLiteral 692625 692626 - Identifier 692628 692638 - IfStatement 692653 692939 - CallExpression 692667 692690 - Identifier 692667 692677 - Identifier 692678 692689 - Block 692691 692939 - ReturnStatement 692693 692928 - CallExpression 692900 692927 - Identifier 692900 692919 - Identifier 692920 692926 - IfStatement 692939 693479 - PrefixUnaryExpression 693006 693062 - CallExpression 693007 693062 - Identifier 693007 693025 - Identifier 693026 693032 - PropertyAccessExpression 693033 693061 - Identifier 693033 693056 - Identifier 693057 693061 - Block 693063 693479 - IfStatement 693065 693416 - BinaryExpression 693254 693336 - BinaryExpression 693254 693292 - PropertyAccessExpression 693254 693266 - Identifier 693254 693260 - Identifier 693261 693266 - AmpersandToken 693266 693268 - PropertyAccessExpression 693268 693292 - Identifier 693268 693280 - Identifier 693281 693292 - AmpersandAmpersandToken 693292 693295 - PrefixUnaryExpression 693295 693336 - ParenthesizedExpression 693297 693336 - BinaryExpression 693298 693335 - PropertyAccessExpression 693298 693310 - Identifier 693298 693304 - Identifier 693305 693310 - AmpersandToken 693310 693312 - PropertyAccessExpression 693312 693335 - Identifier 693312 693324 - Identifier 693325 693335 - Block 693337 693416 - ReturnStatement 693339 693401 - CallExpression 693363 693400 - Identifier 693363 693392 - Identifier 693393 693399 - ReturnStatement 693416 693468 - CallExpression 693436 693467 - Identifier 693436 693459 - Identifier 693460 693466 - VariableStatement 693479 693504 - VariableDeclarationList 693479 693503 - VariableDeclaration 693492 693503 - Identifier 693492 693497 - TypeReference 693498 693503 - Identifier 693498 693503 - IfStatement 693504 697071 - BinaryExpression 693518 693566 - PropertyAccessExpression 693518 693534 - Identifier 693518 693529 - Identifier 693530 693534 - EqualsEqualsEqualsToken 693534 693538 - PropertyAccessExpression 693538 693566 - Identifier 693538 693549 - Identifier 693550 693566 - Block 693567 693767 - ExpressionStatement 693569 693756 - BinaryExpression 693569 693755 - Identifier 693569 693587 - EqualsToken 693587 693589 - CallExpression 693589 693755 - Identifier 693589 693625 - BinaryExpression 693626 693741 - CallExpression 693626 693670 - Identifier 693626 693657 - Identifier 693658 693669 - BarBarToken 693670 693673 - CallExpression 693673 693741 - Identifier 693673 693695 - PropertyAccessExpression 693696 693740 - ParenthesizedExpression 693696 693729 - AsExpression 693697 693728 - Identifier 693697 693708 - TypeReference 693711 693728 - Identifier 693711 693728 - Identifier 693730 693740 - Identifier 693742 693754 - IfStatement 693781 697071 - BinaryExpression 693786 694068 - CallExpression 693786 693831 - Identifier 693786 693818 - Identifier 693819 693830 - BarBarToken 693831 693834 - ParenthesizedExpression 693834 694068 - BinaryExpression 693849 694067 - CallExpression 693849 693872 - Identifier 693849 693859 - Identifier 693860 693871 - AmpersandAmpersandToken 693872 693875 - ParenthesizedExpression 693875 694067 - BinaryExpression 693894 694066 - CallExpression 693894 693923 - Identifier 693894 693910 - Identifier 693911 693922 - BarBarToken 693923 693926 - BinaryExpression 693926 694066 - ParenthesizedExpression 693926 694024 - BinaryExpression 693928 694023 - CallExpression 693928 693967 - Identifier 693928 693954 - Identifier 693955 693966 - BarBarToken 693967 693970 - CallExpression 693970 694023 - Identifier 693970 694010 - Identifier 694011 694022 - AmpersandAmpersandToken 694024 694027 - CallExpression 694027 694066 - Identifier 694027 694046 - PropertyAccessExpression 694047 694065 - Identifier 694047 694058 - Identifier 694059 694065 - Block 694079 694160 - ExpressionStatement 694081 694149 - BinaryExpression 694081 694148 - Identifier 694081 694099 - EqualsToken 694099 694101 - CallExpression 694101 694148 - Identifier 694101 694140 - Identifier 694141 694147 - IfStatement 694174 697071 - BinaryExpression 694179 694702 - BinaryExpression 694179 694660 - BinaryExpression 694179 694613 - BinaryExpression 694179 694523 - BinaryExpression 694179 694472 - BinaryExpression 694179 694424 - BinaryExpression 694179 694378 - BinaryExpression 694179 694329 - BinaryExpression 694179 694287 - CallExpression 694179 694232 - Identifier 694179 694219 - Identifier 694220 694231 - BarBarToken 694232 694248 - CallExpression 694248 694287 - Identifier 694248 694274 - Identifier 694275 694286 - BarBarToken 694287 694303 - CallExpression 694303 694329 - Identifier 694303 694316 - Identifier 694317 694328 - BarBarToken 694329 694345 - CallExpression 694345 694378 - Identifier 694345 694365 - Identifier 694366 694377 - BarBarToken 694378 694394 - CallExpression 694394 694424 - Identifier 694394 694411 - Identifier 694412 694423 - BarBarToken 694424 694440 - CallExpression 694440 694472 - Identifier 694440 694459 - Identifier 694460 694471 - BarBarToken 694472 694488 - CallExpression 694488 694523 - Identifier 694488 694510 - Identifier 694511 694522 - BarBarToken 694523 694539 - ParenthesizedExpression 694539 694613 - BinaryExpression 694541 694612 - CallExpression 694541 694573 - Identifier 694541 694560 - Identifier 694561 694572 - AmpersandAmpersandToken 694573 694576 - PrefixUnaryExpression 694576 694612 - CallExpression 694578 694612 - Identifier 694578 694599 - Identifier 694600 694611 - BarBarToken 694613 694629 - CallExpression 694629 694660 - Identifier 694629 694647 - Identifier 694648 694659 - BarBarToken 694660 694676 - CallExpression 694676 694702 - Identifier 694676 694689 - Identifier 694690 694701 - Block 694713 695319 - IfStatement 694715 695107 - BinaryExpression 694904 695027 - PropertyAccessExpression 694904 694916 - Identifier 694904 694910 - Identifier 694911 694916 - AmpersandToken 694916 694918 - ParenthesizedExpression 694918 695027 - BinaryExpression 694920 695026 - BinaryExpression 694920 695000 - BinaryExpression 694920 694981 - BinaryExpression 694920 694961 - PropertyAccessExpression 694920 694940 - Identifier 694920 694931 - Identifier 694932 694940 - BarToken 694940 694942 - PropertyAccessExpression 694942 694961 - Identifier 694942 694954 - Identifier 694955 694961 - BarToken 694961 694963 - PropertyAccessExpression 694963 694981 - Identifier 694963 694975 - Identifier 694976 694981 - BarToken 694981 694983 - PropertyAccessExpression 694983 695000 - Identifier 694983 694995 - Identifier 694996 695000 - BarToken 695000 695002 - PropertyAccessExpression 695002 695026 - Identifier 695002 695014 - Identifier 695015 695026 - Block 695028 695107 - ReturnStatement 695030 695092 - CallExpression 695054 695091 - Identifier 695054 695083 - Identifier 695084 695090 - ExpressionStatement 695107 695308 - BinaryExpression 695107 695307 - Identifier 695107 695125 - EqualsToken 695125 695127 - ConditionalExpression 695127 695307 - CallExpression 695127 695166 - Identifier 695127 695146 - PropertyAccessExpression 695147 695165 - Identifier 695147 695158 - Identifier 695159 695165 - QuestionToken 695166 695168 - CallExpression 695168 695232 - Identifier 695168 695224 - Identifier 695225 695231 - ColonToken 695232 695234 - BinaryExpression 695234 695307 - CallExpression 695234 695296 - Identifier 695234 695283 - Identifier 695284 695295 - BarBarToken 695296 695299 - Identifier 695299 695307 - IfStatement 695333 697071 - CallExpression 695338 695371 - Identifier 695338 695358 - Identifier 695359 695370 - Block 695372 695491 - ExpressionStatement 695374 695480 - BinaryExpression 695374 695479 - Identifier 695374 695392 - EqualsToken 695392 695394 - BinaryExpression 695394 695479 - CallExpression 695394 695439 - Identifier 695394 695426 - Identifier 695427 695438 - BarBarToken 695439 695442 - CallExpression 695442 695479 - Identifier 695442 695466 - Identifier 695467 695478 - IfStatement 695505 697071 - CallExpression 695510 695537 - Identifier 695510 695524 - Identifier 695525 695536 - Block 695538 695651 - ExpressionStatement 695540 695640 - BinaryExpression 695540 695639 - Identifier 695540 695558 - EqualsToken 695558 695560 - BinaryExpression 695560 695639 - CallExpression 695560 695605 - Identifier 695560 695592 - Identifier 695593 695604 - BarBarToken 695605 695608 - CallExpression 695608 695639 - Identifier 695608 695626 - Identifier 695627 695638 - IfStatement 695665 697071 - CallExpression 695670 695712 - Identifier 695670 695699 - Identifier 695700 695711 - Block 695713 695865 - ExpressionStatement 695715 695854 - BinaryExpression 695715 695853 - Identifier 695715 695733 - EqualsToken 695733 695735 - BinaryExpression 695735 695853 - CallExpression 695735 695780 - Identifier 695735 695767 - Identifier 695768 695779 - BarBarToken 695780 695783 - CallExpression 695783 695853 - Identifier 695783 695817 - PropertyAccessExpression 695818 695834 - Identifier 695818 695829 - Identifier 695830 695834 - PropertyAccessExpression 695835 695852 - Identifier 695835 695845 - Identifier 695846 695852 - IfStatement 695879 697071 - CallExpression 695884 695918 - Identifier 695884 695905 - Identifier 695906 695917 - Block 695919 696057 - ExpressionStatement 695921 696046 - BinaryExpression 695921 696045 - Identifier 695921 695939 - EqualsToken 695939 695941 - BinaryExpression 695941 696045 - CallExpression 695941 695986 - Identifier 695941 695973 - Identifier 695974 695985 - BarBarToken 695986 695989 - CallExpression 695989 696045 - Identifier 695989 696014 - Identifier 696015 696026 - PropertyAccessExpression 696027 696044 - Identifier 696027 696037 - Identifier 696038 696044 - IfStatement 696071 697071 - BinaryExpression 696076 696363 - BinaryExpression 696076 696311 - BinaryExpression 696076 696265 - BinaryExpression 696076 696214 - BinaryExpression 696076 696165 - CallExpression 696076 696114 - Identifier 696076 696101 - Identifier 696102 696113 - BarBarToken 696114 696130 - CallExpression 696130 696165 - Identifier 696130 696152 - Identifier 696153 696164 - BarBarToken 696165 696181 - CallExpression 696181 696214 - Identifier 696181 696201 - Identifier 696202 696213 - BarBarToken 696214 696230 - CallExpression 696230 696265 - Identifier 696230 696252 - Identifier 696253 696264 - BarBarToken 696265 696281 - CallExpression 696281 696311 - Identifier 696281 696298 - Identifier 696299 696310 - BarBarToken 696311 696327 - CallExpression 696327 696363 - Identifier 696327 696350 - Identifier 696351 696362 - Block 696374 696485 - ExpressionStatement 696376 696474 - BinaryExpression 696376 696473 - Identifier 696376 696394 - EqualsToken 696394 696396 - CallExpression 696396 696473 - Identifier 696396 696437 - Identifier 696438 696449 - TrueKeyword 696450 696472 - IfStatement 696684 697071 - CallExpression 696689 696719 - Identifier 696689 696706 - Identifier 696707 696718 - Block 696720 696791 - ExpressionStatement 696722 696780 - BinaryExpression 696722 696779 - Identifier 696722 696740 - EqualsToken 696740 696742 - CallExpression 696742 696779 - Identifier 696742 696771 - Identifier 696772 696778 - IfStatement 696805 697071 - CallExpression 696810 696835 - Identifier 696810 696822 - Identifier 696823 696834 - Block 696836 696898 - ExpressionStatement 696838 696887 - BinaryExpression 696838 696886 - Identifier 696838 696856 - EqualsToken 696856 696858 - CallExpression 696858 696886 - Identifier 696858 696878 - Identifier 696879 696885 - Block 696912 697071 - ReturnStatement 696914 697060 - CallExpression 696934 697059 - PropertyAccessExpression 696934 696945 - Identifier 696934 696940 - Identifier 696941 696945 - BinaryExpression 696946 697058 - BinaryExpression 696946 697029 - BinaryExpression 696946 697019 - StringLiteral 696946 696976 - PlusToken 696976 696978 - CallExpression 696978 697019 - PropertyAccessExpression 696978 697001 - Identifier 696978 696984 - Identifier 696985 697001 - PropertyAccessExpression 697002 697018 - Identifier 697002 697013 - Identifier 697014 697018 - PlusToken 697019 697021 - StringLiteral 697021 697029 - PlusToken 697029 697031 - CallExpression 697031 697058 - PropertyAccessExpression 697031 697050 - Identifier 697031 697037 - Identifier 697038 697050 - Identifier 697051 697057 - IfStatement 697071 697524 - PrefixUnaryExpression 697087 697107 - CallExpression 697088 697107 - Identifier 697088 697105 - Block 697108 697524 - IfStatement 697110 697461 - BinaryExpression 697299 697381 - BinaryExpression 697299 697337 - PropertyAccessExpression 697299 697311 - Identifier 697299 697305 - Identifier 697306 697311 - AmpersandToken 697311 697313 - PropertyAccessExpression 697313 697337 - Identifier 697313 697325 - Identifier 697326 697337 - AmpersandAmpersandToken 697337 697340 - PrefixUnaryExpression 697340 697381 - ParenthesizedExpression 697342 697381 - BinaryExpression 697343 697380 - PropertyAccessExpression 697343 697355 - Identifier 697343 697349 - Identifier 697350 697355 - AmpersandToken 697355 697357 - PropertyAccessExpression 697357 697380 - Identifier 697357 697369 - Identifier 697370 697380 - Block 697382 697461 - ReturnStatement 697384 697446 - CallExpression 697408 697445 - Identifier 697408 697437 - Identifier 697438 697444 - ReturnStatement 697461 697513 - CallExpression 697481 697512 - Identifier 697481 697504 - Identifier 697505 697511 - ReturnStatement 697524 697546 - Identifier 697540 697545 - FunctionDeclaration 697553 698459 - Identifier 697569 697598 - Parameter 697599 697662 - Identifier 697599 697607 - UnionType 697608 697662 - TypeReference 697608 697628 - Identifier 697608 697628 - TypeReference 697630 697650 - Identifier 697630 697650 - UndefinedKeyword 697652 697662 - UnionType 697664 697685 - TypeReference 697664 697673 - Identifier 697664 697673 - UndefinedKeyword 697675 697685 - Block 697685 698459 - IfStatement 697687 698425 - Identifier 697701 697709 - Block 697710 698425 - SwitchStatement 697712 698414 - PropertyAccessExpression 697734 697747 - Identifier 697734 697742 - Identifier 697743 697747 - CaseBlock 697748 698414 - CaseClause 697750 697934 - PropertyAccessExpression 697772 697795 - Identifier 697772 697783 - Identifier 697784 697795 - VariableStatement 697796 697884 - VariableDeclarationList 697796 697883 - VariableDeclaration 697823 697883 - Identifier 697823 697844 - CallExpression 697846 697883 - Identifier 697846 697873 - Identifier 697874 697882 - ReturnStatement 697884 697934 - Identifier 697912 697933 - CaseClause 697934 698133 - PropertyAccessExpression 697956 697979 - Identifier 697956 697967 - Identifier 697968 697979 - VariableStatement 697980 698083 - VariableDeclarationList 697980 698082 - VariableDeclaration 698007 698082 - Identifier 698007 698028 - CallExpression 698030 698082 - Identifier 698030 698072 - Identifier 698073 698081 - ReturnStatement 698083 698133 - Identifier 698111 698132 - CaseClause 698133 698399 - PropertyAccessExpression 698155 698186 - Identifier 698155 698166 - Identifier 698167 698186 - ExpressionStatement 698187 698253 - CallExpression 698187 698252 - PropertyAccessExpression 698187 698221 - Identifier 698187 698214 - Identifier 698215 698221 - CallExpression 698222 698251 - Identifier 698222 698241 - Identifier 698242 698250 - VariableStatement 698253 698347 - VariableDeclarationList 698253 698346 - VariableDeclaration 698280 698346 - Identifier 698280 698303 - CallExpression 698305 698346 - Identifier 698305 698336 - Identifier 698337 698345 - ReturnStatement 698347 698399 - Identifier 698375 698398 - ReturnStatement 698425 698452 - Identifier 698441 698451 - FunctionDeclaration 698459 698705 - Identifier 698475 698500 - Parameter 698501 698564 - Identifier 698501 698509 - UnionType 698510 698564 - TypeReference 698510 698530 - Identifier 698510 698530 - TypeReference 698532 698552 - Identifier 698532 698552 - UndefinedKeyword 698554 698564 - UnionType 698566 698583 - TypeReference 698566 698571 - Identifier 698566 698571 - UndefinedKeyword 698573 698583 - Block 698583 698705 - VariableStatement 698585 698647 - VariableDeclarationList 698585 698646 - VariableDeclaration 698600 698646 - Identifier 698600 698605 - CallExpression 698607 698646 - Identifier 698607 698636 - Identifier 698637 698645 - ReturnStatement 698647 698698 - BinaryExpression 698663 698697 - Identifier 698663 698668 - AmpersandAmpersandToken 698668 698671 - CallExpression 698671 698697 - Identifier 698671 698691 - Identifier 698692 698696 - FunctionDeclaration 698705 698925 - Identifier 698721 698755 - Parameter 698756 698785 - Identifier 698756 698764 - TypeReference 698765 698785 - Identifier 698765 698785 - UnionType 698787 698806 - TypeReference 698787 698794 - Identifier 698787 698794 - UndefinedKeyword 698796 698806 - Block 698806 698925 - VariableStatement 698808 698871 - VariableDeclarationList 698808 698870 - VariableDeclaration 698823 698870 - Identifier 698823 698833 - CallExpression 698835 698870 - Identifier 698835 698860 - Identifier 698861 698869 - ReturnStatement 698871 698918 - BinaryExpression 698887 698917 - Identifier 698887 698897 - AmpersandAmpersandToken 698897 698900 - PropertyAccessExpression 698900 698917 - Identifier 698900 698910 - Identifier 698911 698917 - FunctionDeclaration 698925 699110 - Identifier 698941 698966 - Parameter 698967 699000 - Identifier 698967 698978 - TypeReference 698979 699000 - Identifier 698979 699000 - UnionType 699002 699019 - TypeReference 699002 699007 - Identifier 699002 699007 - UndefinedKeyword 699009 699019 - Block 699019 699110 - ReturnStatement 699021 699103 - CallExpression 699037 699102 - Identifier 699037 699060 - CallExpression 699061 699101 - Identifier 699061 699088 - Identifier 699089 699100 - FunctionDeclaration 699110 702362 - Identifier 699126 699145 - Parameter 699146 699160 - Identifier 699146 699152 - TypeReference 699153 699160 - Identifier 699153 699160 - TypeReference 699162 699167 - Identifier 699162 699167 - Block 699167 702362 - VariableStatement 699169 699216 - VariableDeclarationList 699169 699215 - VariableDeclaration 699184 699215 - Identifier 699184 699190 - CallExpression 699192 699215 - Identifier 699192 699207 - Identifier 699208 699214 - IfStatement 699216 702327 - PrefixUnaryExpression 699230 699241 - PropertyAccessExpression 699231 699241 - Identifier 699231 699236 - Identifier 699237 699241 - Block 699242 702327 - IfStatement 699244 699371 - PrefixUnaryExpression 699262 699318 - CallExpression 699263 699318 - Identifier 699263 699281 - Identifier 699282 699288 - PropertyAccessExpression 699289 699317 - Identifier 699289 699312 - Identifier 699313 699317 - Block 699319 699371 - ReturnStatement 699321 699356 - Identifier 699345 699355 - VariableStatement 699371 699474 - VariableDeclarationList 699371 699473 - VariableDeclaration 699390 699473 - Identifier 699390 699397 - CallExpression 699399 699473 - Identifier 699399 699420 - TypeReference 699421 699440 - Identifier 699421 699440 - Identifier 699442 699448 - PropertyAccessExpression 699449 699472 - Identifier 699449 699460 - Identifier 699461 699472 - VariableStatement 699474 699577 - VariableDeclarationList 699474 699576 - VariableDeclaration 699493 699576 - Identifier 699493 699500 - CallExpression 699502 699576 - Identifier 699502 699523 - TypeReference 699524 699543 - Identifier 699524 699543 - Identifier 699545 699551 - PropertyAccessExpression 699552 699575 - Identifier 699552 699563 - Identifier 699564 699575 - VariableStatement 699577 699734 - VariableDeclarationList 699577 699733 - VariableDeclaration 699596 699733 - Identifier 699596 699605 - CallExpression 699607 699733 - Identifier 699607 699615 - CallExpression 699616 699697 - Identifier 699616 699636 - TypeReference 699637 699656 - Identifier 699637 699656 - Identifier 699658 699664 - PropertyAccessExpression 699665 699696 - Identifier 699665 699676 - Identifier 699677 699696 - Identifier 699698 699732 - VariableStatement 699734 700347 - VariableDeclarationList 699734 700346 - VariableDeclaration 699919 700346 - Identifier 699919 699924 - BinaryExpression 699926 700346 - BinaryExpression 699926 700240 - BinaryExpression 699926 700165 - BinaryExpression 699926 700110 - BinaryExpression 699926 700057 - BinaryExpression 699926 700004 - BinaryExpression 699926 699955 - Identifier 699926 699933 - AmpersandAmpersandToken 699933 699936 - CallExpression 699936 699955 - Identifier 699936 699947 - Identifier 699948 699954 - AmpersandAmpersandToken 699955 699958 - CallExpression 699958 700004 - Identifier 699958 699996 - Identifier 699997 700003 - BarBarToken 700004 700007 - CallExpression 700007 700057 - Identifier 700007 700049 - Identifier 700050 700056 - BarBarToken 700057 700060 - CallExpression 700060 700110 - Identifier 700060 700102 - Identifier 700103 700109 - BarBarToken 700110 700113 - CallExpression 700113 700165 - Identifier 700113 700155 - Identifier 700156 700164 - BarBarToken 700165 700168 - BinaryExpression 700168 700240 - BinaryExpression 700168 700207 - Identifier 700168 700192 - AmpersandAmpersandToken 700192 700195 - PropertyAccessExpression 700195 700207 - Identifier 700195 700202 - Identifier 700203 700207 - AmpersandAmpersandToken 700207 700210 - CallExpression 700210 700240 - Identifier 700210 700232 - Identifier 700233 700239 - BarBarToken 700240 700243 - BinaryExpression 700243 700346 - Identifier 700243 700269 - AmpersandAmpersandToken 700269 700272 - CallExpression 700272 700346 - Identifier 700272 700313 - Identifier 700314 700322 - TrueKeyword 700323 700345 - IfStatement 700347 701218 - PrefixUnaryExpression 700365 700370 - Identifier 700366 700370 - Block 700371 701218 - IfStatement 700373 701170 - BinaryExpression 700395 700436 - Identifier 700395 700401 - AmpersandAmpersandToken 700401 700404 - PrefixUnaryExpression 700404 700436 - CallExpression 700406 700436 - Identifier 700406 700428 - Identifier 700429 700435 - Block 700437 700652 - ExpressionStatement 700439 700633 - CallExpression 700439 700632 - Identifier 700439 700478 - Identifier 700479 700492 - Identifier 700493 700500 - PropertyAccessExpression 700501 700607 - Identifier 700501 700513 - Identifier 700514 700607 - CallExpression 700608 700631 - Identifier 700608 700623 - Identifier 700624 700630 - IfStatement 700674 701170 - BinaryExpression 700679 700720 - Identifier 700679 700685 - AmpersandAmpersandToken 700685 700688 - PrefixUnaryExpression 700688 700720 - CallExpression 700690 700720 - Identifier 700690 700712 - Identifier 700713 700719 - Block 700721 700933 - ExpressionStatement 700723 700914 - CallExpression 700723 700913 - Identifier 700723 700762 - Identifier 700763 700776 - Identifier 700777 700784 - PropertyAccessExpression 700785 700888 - Identifier 700785 700797 - Identifier 700798 700888 - CallExpression 700889 700912 - Identifier 700889 700904 - Identifier 700905 700911 - IfStatement 700955 701170 - BinaryExpression 700960 701005 - Identifier 700960 700968 - AmpersandAmpersandToken 700968 700971 - PrefixUnaryExpression 700971 701005 - CallExpression 700973 701005 - Identifier 700973 700995 - Identifier 700996 701004 - Block 701006 701170 - ExpressionStatement 701008 701151 - CallExpression 701008 701150 - Identifier 701008 701047 - Identifier 701048 701061 - Identifier 701062 701071 - PropertyAccessExpression 701072 701118 - Identifier 701072 701084 - Identifier 701085 701118 - CallExpression 701119 701142 - Identifier 701119 701134 - Identifier 701135 701141 - StringLiteral 701143 701149 - ExpressionStatement 701170 701203 - BinaryExpression 701170 701202 - Identifier 701170 701192 - EqualsToken 701192 701194 - Identifier 701194 701202 - IfStatement 701218 702282 - PrefixUnaryExpression 701236 701256 - CallExpression 701237 701256 - Identifier 701237 701254 - Block 701257 702282 - IfStatement 701259 702234 - CallExpression 701281 701317 - Identifier 701281 701309 - Identifier 701310 701316 - Block 701318 701479 - ExpressionStatement 701320 701460 - CallExpression 701320 701459 - Identifier 701320 701347 - Identifier 701348 701354 - PropertyAccessExpression 701355 701434 - Identifier 701355 701367 - Identifier 701368 701434 - CallExpression 701435 701458 - Identifier 701435 701450 - Identifier 701451 701457 - IfStatement 701501 702234 - CallExpression 701506 701542 - Identifier 701506 701534 - Identifier 701535 701541 - Block 701543 701704 - ExpressionStatement 701545 701685 - CallExpression 701545 701684 - Identifier 701545 701572 - Identifier 701573 701579 - PropertyAccessExpression 701580 701659 - Identifier 701580 701592 - Identifier 701593 701659 - CallExpression 701660 701683 - Identifier 701660 701675 - Identifier 701676 701682 - IfStatement 701726 702234 - CallExpression 701731 701769 - Identifier 701731 701759 - Identifier 701760 701768 - Block 701770 701931 - ExpressionStatement 701772 701912 - CallExpression 701772 701911 - Identifier 701772 701799 - Identifier 701800 701806 - PropertyAccessExpression 701807 701886 - Identifier 701807 701819 - Identifier 701820 701886 - CallExpression 701887 701910 - Identifier 701887 701902 - Identifier 701903 701909 - IfStatement 701953 702234 - BinaryExpression 701958 701981 - Identifier 701958 701964 - AmpersandAmpersandToken 701964 701967 - Identifier 701967 701981 - Block 701982 702234 - ExpressionStatement 701984 702215 - CallExpression 701984 702214 - Identifier 701984 702011 - Identifier 702012 702018 - PropertyAccessExpression 702019 702189 - Identifier 702019 702031 - Identifier 702032 702189 - CallExpression 702190 702213 - Identifier 702190 702205 - Identifier 702206 702212 - ExpressionStatement 702234 702267 - BinaryExpression 702234 702266 - Identifier 702234 702256 - EqualsToken 702256 702258 - Identifier 702258 702266 - ExpressionStatement 702282 702316 - BinaryExpression 702282 702315 - PropertyAccessExpression 702282 702306 - Identifier 702282 702301 - Identifier 702302 702306 - QuestionQuestionEqualsToken 702306 702310 - Identifier 702310 702315 - ReturnStatement 702327 702355 - PropertyAccessExpression 702343 702354 - Identifier 702343 702349 - Identifier 702350 702354 - FunctionDeclaration 702362 703487 - Identifier 702378 702402 - Parameter 702403 702417 - Identifier 702403 702409 - TypeReference 702410 702417 - Identifier 702410 702417 - TypeReference 702419 702424 - Identifier 702419 702424 - Block 702424 703487 - VariableStatement 702426 702473 - VariableDeclarationList 702426 702472 - VariableDeclaration 702441 702472 - Identifier 702441 702447 - CallExpression 702449 702472 - Identifier 702449 702464 - Identifier 702465 702471 - IfStatement 702473 703447 - PrefixUnaryExpression 702487 702503 - PropertyAccessExpression 702488 702503 - Identifier 702488 702493 - Identifier 702494 702503 - Block 702504 703447 - IfStatement 702506 702638 - PrefixUnaryExpression 702524 702585 - CallExpression 702525 702585 - Identifier 702525 702543 - Identifier 702544 702550 - PropertyAccessExpression 702551 702584 - Identifier 702551 702574 - Identifier 702575 702584 - Block 702586 702638 - ReturnStatement 702588 702623 - Identifier 702612 702622 - VariableStatement 702638 702889 - VariableDeclarationList 702638 702888 - VariableDeclaration 702659 702888 - Identifier 702659 702666 - BinaryExpression 702668 702888 - CallExpression 702668 702742 - Identifier 702668 702689 - TypeReference 702690 702709 - Identifier 702690 702709 - Identifier 702711 702717 - PropertyAccessExpression 702718 702741 - Identifier 702718 702729 - Identifier 702730 702741 - QuestionQuestionToken 702742 702762 - CallExpression 702762 702888 - Identifier 702762 702770 - CallExpression 702771 702852 - Identifier 702771 702791 - TypeReference 702792 702811 - Identifier 702792 702811 - Identifier 702813 702819 - PropertyAccessExpression 702820 702851 - Identifier 702820 702831 - Identifier 702832 702851 - Identifier 702853 702887 - VariableStatement 702889 702952 - VariableDeclarationList 702889 702951 - VariableDeclaration 702906 702951 - Identifier 702906 702916 - CallExpression 702918 702951 - Identifier 702918 702943 - Identifier 702944 702950 - IfStatement 702952 703266 - PrefixUnaryExpression 702970 702990 - CallExpression 702971 702990 - Identifier 702971 702988 - Block 702991 703266 - IfStatement 702993 703213 - CallExpression 703015 703051 - Identifier 703015 703043 - Identifier 703044 703050 - Block 703052 703213 - ExpressionStatement 703054 703194 - CallExpression 703054 703193 - Identifier 703054 703081 - Identifier 703082 703088 - PropertyAccessExpression 703089 703168 - Identifier 703089 703101 - Identifier 703102 703168 - CallExpression 703169 703192 - Identifier 703169 703184 - Identifier 703185 703191 - ExpressionStatement 703213 703251 - BinaryExpression 703213 703250 - Identifier 703213 703240 - EqualsToken 703240 703242 - Identifier 703242 703250 - ExpressionStatement 703266 703436 - BinaryExpression 703266 703435 - PropertyAccessExpression 703266 703391 - Identifier 703266 703381 - Identifier 703382 703391 - QuestionQuestionEqualsToken 703391 703395 - BinaryExpression 703395 703435 - Identifier 703395 703405 - BarBarToken 703405 703408 - CallExpression 703408 703435 - Identifier 703408 703427 - Identifier 703428 703434 - ReturnStatement 703447 703480 - PropertyAccessExpression 703463 703479 - Identifier 703463 703469 - Identifier 703470 703479 - FunctionDeclaration 703487 703946 - Identifier 703503 703530 - Parameter 703531 703545 - Identifier 703531 703537 - TypeReference 703538 703545 - Identifier 703538 703545 - Block 703546 703946 - VariableStatement 703548 703659 - VariableDeclarationList 703548 703658 - VariableDeclaration 703563 703658 - Identifier 703563 703583 - CallExpression 703585 703658 - Identifier 703585 703615 - CallExpression 703616 703657 - Identifier 703616 703649 - Identifier 703650 703656 - ReturnStatement 703659 703939 - ConditionalExpression 703675 703938 - BinaryExpression 703675 703726 - PropertyAccessExpression 703675 703701 - Identifier 703675 703695 - Identifier 703696 703701 - AmpersandToken 703701 703703 - PropertyAccessExpression 703703 703726 - Identifier 703703 703713 - Identifier 703714 703726 - QuestionToken 703726 703728 - Identifier 703728 703748 - ColonToken 703748 703750 - ConditionalExpression 703750 703938 - BinaryExpression 703750 703814 - PropertyAccessExpression 703750 703789 - Identifier 703750 703783 - Identifier 703784 703789 - AmpersandToken 703789 703791 - PropertyAccessExpression 703791 703814 - Identifier 703791 703801 - Identifier 703802 703814 - QuestionToken 703814 703816 - CallExpression 703816 703913 - Identifier 703816 703821 - PropertyAccessExpression 703822 703869 - ParenthesizedExpression 703822 703863 - AsExpression 703823 703862 - Identifier 703823 703842 - TypeReference 703845 703862 - Identifier 703845 703862 - Identifier 703864 703869 - ArrowFunction 703870 703912 - Parameter 703870 703872 - Identifier 703870 703872 - EqualsGreaterThanToken 703872 703875 - PrefixUnaryExpression 703875 703912 - PrefixUnaryExpression 703877 703912 - ParenthesizedExpression 703878 703912 - BinaryExpression 703879 703911 - PropertyAccessExpression 703879 703886 - Identifier 703879 703880 - Identifier 703881 703886 - AmpersandToken 703886 703888 - PropertyAccessExpression 703888 703911 - Identifier 703888 703898 - Identifier 703899 703911 - ColonToken 703913 703915 - Identifier 703915 703938 - FunctionDeclaration 703946 704713 - Identifier 703962 703991 - Parameter 703992 704006 - Identifier 703992 703998 - TypeReference 703999 704006 - Identifier 703999 704006 - TypeReference 704008 704013 - Identifier 704008 704013 - Block 704013 704713 - VariableStatement 704015 704060 - VariableDeclarationList 704015 704059 - VariableDeclaration 704028 704059 - Identifier 704028 704034 - CallExpression 704036 704059 - Identifier 704036 704051 - Identifier 704052 704058 - VariableStatement 704060 704098 - VariableDeclarationList 704060 704097 - VariableDeclaration 704075 704097 - Identifier 704075 704089 - Identifier 704091 704097 - IfStatement 704098 704678 - PrefixUnaryExpression 704112 704123 - PropertyAccessExpression 704113 704123 - Identifier 704113 704118 - Identifier 704119 704123 - Block 704124 704678 - VariableStatement 704126 704255 - VariableDeclarationList 704126 704254 - VariableDeclaration 704145 704254 - Identifier 704145 704153 - BinaryExpression 704155 704254 - PropertyAccessExpression 704155 704179 - Identifier 704155 704162 - Identifier 704163 704179 - AmpersandAmpersandToken 704179 704182 - CallExpression 704182 704254 - Identifier 704182 704201 - PropertyAccessExpression 704202 704225 - Identifier 704202 704208 - Identifier 704209 704225 - FalseKeyword 704226 704253 - IfStatement 704255 704576 - Identifier 704273 704280 - Block 704281 704576 - VariableStatement 704283 704348 - VariableDeclarationList 704283 704347 - VariableDeclaration 704306 704347 - Identifier 704306 704313 - CallExpression 704315 704347 - Identifier 704315 704330 - Identifier 704331 704337 - Identifier 704338 704346 - IfStatement 704348 704561 - Identifier 704370 704376 - Block 704377 704561 - ExpressionStatement 704379 704499 - BinaryExpression 704379 704498 - Identifier 704379 704489 - EqualsToken 704489 704491 - Identifier 704491 704498 - ExpressionStatement 704499 704542 - BinaryExpression 704499 704541 - Identifier 704499 704526 - EqualsToken 704526 704528 - PropertyAccessExpression 704528 704541 - Identifier 704528 704535 - Identifier 704536 704541 - ExpressionStatement 704576 704667 - BinaryExpression 704576 704666 - PropertyAccessExpression 704576 704608 - Identifier 704576 704603 - Identifier 704604 704608 - EqualsToken 704608 704610 - BinaryExpression 704610 704666 - PropertyAccessExpression 704610 704621 - Identifier 704610 704616 - Identifier 704617 704621 - EqualsToken 704621 704623 - CallExpression 704623 704666 - Identifier 704623 704658 - Identifier 704659 704665 - ReturnStatement 704678 704706 - PropertyAccessExpression 704694 704705 - Identifier 704694 704700 - Identifier 704701 704705 - FunctionDeclaration 704713 706594 - Identifier 704729 704764 - Parameter 704765 704779 - Identifier 704765 704771 - TypeReference 704772 704779 - Identifier 704772 704779 - TypeReference 704781 704786 - Identifier 704781 704786 - Block 704786 706594 - VariableStatement 704788 704842 - VariableDeclarationList 704788 704841 - VariableDeclaration 704803 704841 - Identifier 704803 704815 - PropertyAccessExpression 704817 704841 - Identifier 704817 704824 - Identifier 704825 704841 - IfStatement 704842 706133 - BinaryExpression 704856 704931 - BinaryExpression 704856 704889 - PropertyAccessExpression 704856 704868 - Identifier 704856 704862 - Identifier 704863 704868 - AmpersandToken 704868 704870 - PropertyAccessExpression 704870 704889 - Identifier 704870 704882 - Identifier 704883 704889 - AmpersandAmpersandToken 704889 704892 - CallExpression 704892 704931 - Identifier 704892 704923 - Identifier 704924 704930 - Block 704932 704974 - ReturnStatement 704934 704963 - Identifier 704954 704962 - IfStatement 704988 706133 - BinaryExpression 704993 705204 - Identifier 704993 705018 - AmpersandAmpersandToken 705018 705021 - ParenthesizedExpression 705021 705204 - BinaryExpression 705023 705203 - BinaryExpression 705023 705071 - PropertyAccessExpression 705023 705039 - Identifier 705023 705034 - Identifier 705035 705039 - EqualsEqualsEqualsToken 705039 705043 - PropertyAccessExpression 705043 705071 - Identifier 705043 705054 - Identifier 705055 705071 - BarBarToken 705071 705074 - BinaryExpression 705074 705203 - CallExpression 705074 705123 - Identifier 705074 705110 - Identifier 705111 705122 - AmpersandAmpersandToken 705123 705126 - BinaryExpression 705126 705203 - PropertyAccessExpression 705126 705171 - PropertyAccessExpression 705126 705166 - Identifier 705126 705159 - Identifier 705160 705166 - Identifier 705167 705171 - EqualsEqualsEqualsToken 705171 705175 - PropertyAccessExpression 705175 705203 - Identifier 705175 705186 - Identifier 705187 705203 - Block 705215 705296 - ReturnStatement 705217 705285 - CallExpression 705237 705284 - Identifier 705237 705276 - Identifier 705277 705283 - IfStatement 705310 706133 - BinaryExpression 705315 705436 - BinaryExpression 705315 705397 - BinaryExpression 705315 705368 - BinaryExpression 705315 705353 - PropertyAccessExpression 705315 705327 - Identifier 705315 705321 - Identifier 705322 705327 - AmpersandToken 705327 705329 - PropertyAccessExpression 705329 705353 - Identifier 705329 705341 - Identifier 705342 705353 - AmpersandAmpersandToken 705353 705356 - Identifier 705356 705368 - AmpersandAmpersandToken 705368 705371 - CallExpression 705371 705397 - Identifier 705371 705384 - Identifier 705385 705396 - AmpersandAmpersandToken 705397 705400 - PropertyAccessExpression 705400 705436 - Identifier 705400 705412 - Identifier 705413 705436 - Block 705437 706133 - VariableStatement 705439 705512 - VariableDeclarationList 705439 705511 - VariableDeclaration 705458 705511 - Identifier 705458 705473 - CallExpression 705475 705511 - Identifier 705475 705503 - Identifier 705504 705510 - IfStatement 705512 706122 - BinaryExpression 705530 705555 - Identifier 705530 705544 - ExclamationEqualsEqualsToken 705544 705548 - Identifier 705548 705555 - Block 705556 706122 - IfStatement 705558 705697 - PrefixUnaryExpression 705580 705636 - CallExpression 705581 705636 - Identifier 705581 705599 - Identifier 705600 705606 - PropertyAccessExpression 705607 705635 - Identifier 705607 705630 - Identifier 705631 705635 - Block 705637 705697 - ReturnStatement 705639 705678 - Identifier 705667 705677 - VariableStatement 705697 705807 - VariableDeclarationList 705697 705806 - VariableDeclaration 705720 705806 - Identifier 705720 705733 - CallExpression 705735 705806 - Identifier 705735 705751 - NonNullExpression 705752 705805 - CallExpression 705752 705804 - PropertyAccessExpression 705752 705771 - NonNullExpression 705752 705767 - PropertyAccessExpression 705752 705766 - Identifier 705752 705758 - Identifier 705759 705766 - Identifier 705768 705771 - PropertyAccessExpression 705772 705803 - Identifier 705772 705790 - Identifier 705791 705803 - VariableStatement 705807 705953 - VariableDeclarationList 705807 705952 - VariableDeclaration 705830 705952 - Identifier 705830 705835 - CallExpression 705837 705952 - Identifier 705837 705876 - Identifier 705877 705889 - ConditionalExpression 705890 705951 - BinaryExpression 705890 705922 - Identifier 705890 705903 - EqualsEqualsEqualsToken 705903 705907 - Identifier 705907 705922 - QuestionToken 705922 705924 - Identifier 705924 705934 - ColonToken 705934 705936 - Identifier 705936 705951 - IfStatement 705953 706077 - PrefixUnaryExpression 705975 705995 - CallExpression 705976 705995 - Identifier 705976 705993 - Block 705996 706077 - ReturnStatement 705998 706058 - CallExpression 706026 706057 - Identifier 706026 706049 - Identifier 706050 706056 - ReturnStatement 706077 706107 - Identifier 706101 706106 - VariableStatement 706133 706204 - VariableDeclarationList 706133 706203 - VariableDeclaration 706148 706203 - Identifier 706148 706153 - CallExpression 706155 706203 - Identifier 706155 706172 - PropertyAccessExpression 706173 706194 - Identifier 706173 706184 - Identifier 706185 706194 - Identifier 706195 706202 - IfStatement 706204 706587 - BinaryExpression 706218 706250 - PropertyAccessExpression 706218 706230 - Identifier 706218 706224 - Identifier 706225 706230 - AmpersandToken 706230 706232 - PropertyAccessExpression 706232 706250 - Identifier 706232 706244 - Identifier 706245 706250 - Block 706251 706431 - VariableStatement 706253 706327 - VariableDeclarationList 706253 706326 - VariableDeclaration 706272 706326 - Identifier 706272 706289 - CallExpression 706291 706326 - Identifier 706291 706318 - Identifier 706319 706325 - ReturnStatement 706327 706420 - ConditionalExpression 706347 706419 - Identifier 706347 706364 - QuestionToken 706364 706366 - CallExpression 706366 706412 - Identifier 706366 706386 - ArrayLiteralExpression 706387 706411 - Identifier 706388 706392 - Identifier 706393 706410 - ColonToken 706412 706414 - Identifier 706414 706419 - Block 706445 706587 - ReturnStatement 706447 706576 - ConditionalExpression 706467 706575 - BinaryExpression 706467 706523 - Identifier 706467 706484 - AmpersandAmpersandToken 706484 706487 - BinaryExpression 706487 706523 - PropertyAccessExpression 706487 706500 - Identifier 706487 706494 - Identifier 706495 706500 - AmpersandToken 706500 706502 - PropertyAccessExpression 706502 706523 - Identifier 706502 706514 - Identifier 706515 706523 - QuestionToken 706523 706525 - CallExpression 706525 706568 - Identifier 706525 706541 - Identifier 706542 706546 - TrueKeyword 706547 706567 - ColonToken 706568 706570 - Identifier 706570 706575 - FunctionDeclaration 706594 706790 - Identifier 706610 706630 - Parameter 706631 706645 - Identifier 706631 706637 - TypeReference 706638 706645 - Identifier 706638 706645 - TypeReference 706647 706652 - Identifier 706647 706652 - Block 706652 706790 - VariableStatement 706654 706701 - VariableDeclarationList 706654 706700 - VariableDeclaration 706669 706700 - Identifier 706669 706675 - CallExpression 706677 706700 - Identifier 706677 706692 - Identifier 706693 706699 - ReturnStatement 706701 706783 - BinaryExpression 706717 706782 - PropertyAccessExpression 706717 706728 - Identifier 706717 706723 - Identifier 706724 706728 - BarBarToken 706728 706731 - ParenthesizedExpression 706731 706782 - BinaryExpression 706733 706781 - PropertyAccessExpression 706733 706743 - Identifier 706733 706738 - Identifier 706739 706743 - EqualsToken 706743 706745 - CallExpression 706745 706781 - Identifier 706745 706773 - Identifier 706774 706780 - FunctionDeclaration 706790 708509 - Identifier 706806 706821 - Parameter 706822 706836 - Identifier 706822 706828 - TypeReference 706829 706836 - Identifier 706829 706836 - TypeReference 706838 706843 - Identifier 706838 706843 - Block 706843 708509 - VariableStatement 706845 706892 - VariableDeclarationList 706845 706891 - VariableDeclaration 706860 706891 - Identifier 706860 706866 - CallExpression 706868 706891 - Identifier 706868 706883 - Identifier 706884 706890 - IfStatement 706892 708474 - PrefixUnaryExpression 706906 706917 - PropertyAccessExpression 706907 706917 - Identifier 706907 706912 - Identifier 706913 706917 - Block 706918 708474 - IfStatement 706920 707047 - PrefixUnaryExpression 706938 706994 - CallExpression 706939 706994 - Identifier 706939 706957 - Identifier 706958 706964 - PropertyAccessExpression 706965 706993 - Identifier 706965 706988 - Identifier 706989 706993 - Block 706995 707047 - ReturnStatement 706997 707032 - Identifier 707021 707031 - VariableStatement 707047 707103 - VariableDeclarationList 707047 707102 - VariableDeclaration 707066 707102 - Identifier 707066 707079 - CallExpression 707081 707102 - Identifier 707081 707094 - Identifier 707095 707101 - VariableStatement 707103 707260 - VariableDeclarationList 707103 707259 - VariableDeclaration 707122 707259 - Identifier 707122 707135 - BinaryExpression 707137 707259 - PropertyAccessExpression 707137 707157 - Identifier 707137 707144 - Identifier 707145 707157 - AmpersandAmpersandToken 707157 707160 - CallExpression 707160 707259 - Identifier 707160 707188 - NonNullExpression 707189 707225 - CallExpression 707189 707224 - Identifier 707189 707216 - Identifier 707217 707223 - TrueKeyword 707226 707258 - VariableStatement 707260 707413 - VariableDeclarationList 707260 707412 - VariableDeclaration 707279 707412 - Identifier 707279 707292 - CallExpression 707294 707412 - Identifier 707294 707307 - PropertyAccessExpression 707308 707334 - Identifier 707308 707320 - QuestionDotToken 707320 707322 - Identifier 707322 707334 - ArrowFunction 707335 707411 - Parameter 707335 707337 - Identifier 707335 707337 - EqualsGreaterThanToken 707337 707340 - ConditionalExpression 707340 707411 - CallExpression 707340 707362 - Identifier 707340 707359 - Identifier 707360 707361 - QuestionToken 707362 707364 - CallExpression 707364 707399 - Identifier 707364 707396 - Identifier 707397 707398 - ColonToken 707399 707401 - Identifier 707401 707411 - ExpressionStatement 707413 708290 - BinaryExpression 707413 708289 - PropertyAccessExpression 707413 707870 - Identifier 707413 707865 - Identifier 707866 707870 - QuestionQuestionEqualsToken 707870 707874 - ConditionalExpression 707874 708289 - BinaryExpression 707874 707989 - BinaryExpression 707874 707958 - PropertyAccessExpression 707874 707901 - Identifier 707874 707887 - QuestionDotToken 707887 707889 - Identifier 707889 707901 - AmpersandAmpersandToken 707901 707904 - CallExpression 707904 707958 - Identifier 707904 707931 - PropertyAccessExpression 707932 707957 - Identifier 707932 707944 - Identifier 707945 707957 - AmpersandAmpersandToken 707958 707961 - PropertyAccessExpression 707961 707989 - NonNullExpression 707961 707982 - PropertyAccessExpression 707961 707981 - Identifier 707961 707968 - Identifier 707969 707981 - Identifier 707983 707989 - QuestionToken 707989 707991 - CallExpression 707991 708035 - Identifier 707991 708021 - Identifier 708022 708034 - ColonToken 708035 708054 - ConditionalExpression 708054 708289 - CallExpression 708054 708102 - Identifier 708054 708081 - PropertyAccessExpression 708082 708101 - Identifier 708082 708088 - Identifier 708089 708101 - QuestionToken 708102 708104 - Identifier 708104 708113 - ColonToken 708113 708132 - ConditionalExpression 708132 708289 - Identifier 708132 708145 - QuestionToken 708145 708147 - Identifier 708147 708160 - ColonToken 708160 708179 - ConditionalExpression 708179 708289 - BinaryExpression 708179 708228 - CallExpression 708179 708208 - Identifier 708179 708194 - Identifier 708195 708207 - AmpersandToken 708208 708210 - PropertyAccessExpression 708210 708228 - Identifier 708210 708222 - Identifier 708223 708228 - QuestionToken 708228 708230 - CallExpression 708230 708260 - Identifier 708230 708246 - Identifier 708247 708259 - ColonToken 708260 708279 - Identifier 708279 708289 - IfStatement 708290 708463 - PrefixUnaryExpression 708310 708330 - CallExpression 708311 708330 - Identifier 708311 708328 - Block 708331 708463 - ExpressionStatement 708333 708398 - CallExpression 708333 708397 - Identifier 708333 708373 - BinaryExpression 708374 708396 - Identifier 708374 708386 - QuestionQuestionToken 708386 708389 - Identifier 708389 708396 - ReturnStatement 708398 708448 - BinaryExpression 708422 708447 - PropertyAccessExpression 708422 708433 - Identifier 708422 708428 - Identifier 708429 708433 - QuestionQuestionEqualsToken 708433 708437 - Identifier 708437 708447 - ReturnStatement 708474 708502 - PropertyAccessExpression 708490 708501 - Identifier 708490 708496 - Identifier 708497 708501 - FunctionDeclaration 708509 708739 - Identifier 708525 708553 - Parameter 708554 708568 - Identifier 708554 708560 - TypeReference 708561 708568 - Identifier 708561 708568 - TypeReference 708570 708575 - Identifier 708570 708575 - Block 708575 708739 - VariableStatement 708577 708624 - VariableDeclarationList 708577 708623 - VariableDeclaration 708592 708623 - Identifier 708592 708598 - CallExpression 708600 708623 - Identifier 708600 708615 - Identifier 708616 708622 - ReturnStatement 708624 708732 - BinaryExpression 708640 708731 - PropertyAccessExpression 708640 708651 - Identifier 708640 708646 - Identifier 708647 708651 - BarBarToken 708651 708654 - ParenthesizedExpression 708654 708731 - BinaryExpression 708656 708730 - PropertyAccessExpression 708656 708666 - Identifier 708656 708661 - Identifier 708662 708666 - EqualsToken 708666 708668 - CallExpression 708668 708730 - Identifier 708668 708684 - CallExpression 708685 708715 - Identifier 708685 708700 - NonNullExpression 708701 708714 - PropertyAccessExpression 708701 708713 - Identifier 708701 708706 - Identifier 708707 708713 - PropertyAccessExpression 708716 708729 - Identifier 708716 708722 - Identifier 708723 708729 - FunctionDeclaration 708739 708989 - Identifier 708755 708788 - Parameter 708789 708803 - Identifier 708789 708795 - TypeReference 708796 708803 - Identifier 708796 708803 - TypeReference 708805 708810 - Identifier 708805 708810 - Block 708810 708989 - VariableStatement 708812 708859 - VariableDeclarationList 708812 708858 - VariableDeclaration 708827 708858 - Identifier 708827 708833 - CallExpression 708835 708858 - Identifier 708835 708850 - Identifier 708851 708857 - ReturnStatement 708859 708982 - BinaryExpression 708875 708981 - PropertyAccessExpression 708875 708891 - Identifier 708875 708881 - Identifier 708882 708891 - BarBarToken 708891 708894 - ParenthesizedExpression 708894 708981 - BinaryExpression 708896 708980 - PropertyAccessExpression 708896 708911 - Identifier 708896 708901 - Identifier 708902 708911 - EqualsToken 708911 708913 - CallExpression 708913 708980 - Identifier 708913 708929 - CallExpression 708930 708965 - Identifier 708930 708950 - NonNullExpression 708951 708964 - PropertyAccessExpression 708951 708963 - Identifier 708951 708956 - Identifier 708957 708963 - PropertyAccessExpression 708966 708979 - Identifier 708966 708972 - Identifier 708973 708979 - FunctionDeclaration 708989 710557 - Identifier 709005 709028 - Parameter 709029 709043 - Identifier 709029 709035 - TypeReference 709036 709043 - Identifier 709036 709043 - Block 709044 710557 - VariableStatement 709046 709100 - VariableDeclarationList 709046 709099 - VariableDeclaration 709061 709099 - Identifier 709061 709073 - PropertyAccessExpression 709075 709099 - Identifier 709075 709082 - Identifier 709083 709099 - IfStatement 709100 710236 - Identifier 709211 709222 - Block 709223 709963 - IfStatement 709225 709492 - CallExpression 709243 709286 - Identifier 709243 709273 - Identifier 709274 709285 - Block 709287 709492 - ExpressionStatement 709289 709442 - CallExpression 709289 709441 - Identifier 709289 709312 - PropertyAccessExpression 709313 709336 - Identifier 709313 709319 - Identifier 709320 709336 - PropertyAccessExpression 709337 709416 - Identifier 709337 709349 - Identifier 709350 709416 - CallExpression 709417 709440 - Identifier 709417 709432 - Identifier 709433 709439 - ReturnStatement 709442 709477 - Identifier 709466 709476 - IfStatement 709492 709952 - BinaryExpression 709607 709714 - Identifier 709607 709620 - AmpersandAmpersandToken 709620 709623 - ParenthesizedExpression 709623 709714 - BinaryExpression 709625 709713 - BinaryExpression 709625 709666 - PropertyAccessExpression 709625 709641 - Identifier 709625 709636 - Identifier 709637 709641 - ExclamationEqualsEqualsToken 709641 709645 - PropertyAccessExpression 709645 709666 - Identifier 709645 709656 - Identifier 709657 709666 - BarBarToken 709666 709669 - PropertyAccessExpression 709669 709713 - ParenthesizedExpression 709669 709701 - AsExpression 709671 709700 - Identifier 709671 709682 - TypeReference 709685 709700 - Identifier 709685 709700 - Identifier 709702 709713 - Block 709715 709952 - ExpressionStatement 709717 709937 - CallExpression 709717 709936 - Identifier 709717 709740 - PropertyAccessExpression 709741 709764 - Identifier 709741 709747 - Identifier 709748 709764 - PropertyAccessExpression 709765 709911 - Identifier 709765 709777 - Identifier 709778 709911 - CallExpression 709912 709935 - Identifier 709912 709927 - Identifier 709928 709934 - IfStatement 709977 710236 - BinaryExpression 709982 710014 - PropertyAccessExpression 709982 709994 - Identifier 709982 709988 - Identifier 709989 709994 - AmpersandToken 709994 709996 - PropertyAccessExpression 709996 710014 - Identifier 709996 710008 - Identifier 710009 710014 - Block 710015 710236 - VariableStatement 710017 710080 - VariableDeclarationList 710017 710079 - VariableDeclaration 710036 710079 - Identifier 710036 710041 - CallExpression 710043 710079 - Identifier 710043 710071 - Identifier 710072 710078 - IfStatement 710080 710225 - Identifier 710098 710102 - Block 710103 710225 - ExpressionStatement 710105 710210 - CallExpression 710105 710209 - Identifier 710105 710128 - Identifier 710129 710133 - PropertyAccessExpression 710134 710184 - Identifier 710134 710146 - Identifier 710147 710184 - CallExpression 710185 710208 - Identifier 710185 710200 - Identifier 710201 710207 - ReturnStatement 710236 710550 - Identifier 710541 710549 - FunctionDeclaration 710557 711031 - Identifier 710573 710605 - Parameter 710606 710620 - Identifier 710606 710612 - TypeReference 710613 710620 - Identifier 710613 710620 - Block 710621 711031 - VariableStatement 710623 710670 - VariableDeclarationList 710623 710669 - VariableDeclaration 710638 710669 - Identifier 710638 710644 - CallExpression 710646 710669 - Identifier 710646 710661 - Identifier 710662 710668 - IfStatement 710670 710996 - PrefixUnaryExpression 710684 710695 - PropertyAccessExpression 710685 710695 - Identifier 710685 710690 - Identifier 710691 710695 - Block 710696 710996 - ExpressionStatement 710698 710756 - CallExpression 710698 710755 - PropertyAccessExpression 710698 710733 - Identifier 710698 710717 - Identifier 710718 710733 - PropertyAccessExpression 710734 710754 - Identifier 710734 710739 - Identifier 710740 710754 - ExpressionStatement 710756 710820 - CallExpression 710756 710819 - PropertyAccessExpression 710756 710791 - Identifier 710756 710775 - Identifier 710776 710791 - PropertyAccessExpression 710792 710818 - Identifier 710792 710797 - Identifier 710798 710818 - ExpressionStatement 710820 710985 - BinaryExpression 710820 710984 - PropertyAccessExpression 710820 710844 - Identifier 710820 710839 - Identifier 710840 710844 - EqualsToken 710844 710846 - ConditionalExpression 710846 710984 - BinaryExpression 710846 710891 - PropertyAccessExpression 710846 710873 - PropertyAccessExpression 710846 710867 - Identifier 710846 710852 - Identifier 710853 710867 - Identifier 710868 710873 - AmpersandToken 710873 710875 - PropertyAccessExpression 710875 710891 - Identifier 710875 710885 - Identifier 710886 710891 - QuestionToken 710891 710893 - CallExpression 710893 710934 - Identifier 710893 710906 - PropertyAccessExpression 710907 710933 - Identifier 710907 710912 - Identifier 710913 710933 - ColonToken 710934 710936 - CallExpression 710936 710984 - Identifier 710936 710956 - PropertyAccessExpression 710957 710983 - Identifier 710957 710962 - Identifier 710963 710983 - ReturnStatement 710996 711024 - PropertyAccessExpression 711012 711023 - Identifier 711012 711018 - Identifier 711019 711023 - FunctionDeclaration 711031 711588 - Identifier 711047 711084 - Parameter 711085 711099 - Identifier 711085 711091 - TypeReference 711092 711099 - Identifier 711092 711099 - UnionType 711101 711118 - TypeReference 711101 711106 - Identifier 711101 711106 - UndefinedKeyword 711108 711118 - Block 711118 711588 - VariableStatement 711120 711167 - VariableDeclarationList 711120 711166 - VariableDeclaration 711135 711166 - Identifier 711135 711141 - CallExpression 711143 711166 - Identifier 711143 711158 - Identifier 711159 711165 - IfStatement 711167 711548 - BinaryExpression 711181 711232 - PrefixUnaryExpression 711181 711197 - PropertyAccessExpression 711182 711197 - Identifier 711182 711187 - Identifier 711188 711197 - AmpersandAmpersandToken 711197 711200 - PropertyAccessExpression 711200 711232 - Identifier 711200 711206 - Identifier 711207 711232 - Block 711233 711548 - ExpressionStatement 711235 711293 - CallExpression 711235 711292 - PropertyAccessExpression 711235 711270 - Identifier 711235 711254 - Identifier 711255 711270 - PropertyAccessExpression 711271 711291 - Identifier 711271 711276 - Identifier 711277 711291 - ExpressionStatement 711293 711357 - CallExpression 711293 711356 - PropertyAccessExpression 711293 711328 - Identifier 711293 711312 - Identifier 711313 711328 - PropertyAccessExpression 711329 711355 - Identifier 711329 711334 - Identifier 711335 711355 - ExpressionStatement 711357 711537 - BinaryExpression 711357 711536 - PropertyAccessExpression 711357 711386 - Identifier 711357 711376 - Identifier 711377 711386 - EqualsToken 711386 711388 - ConditionalExpression 711388 711536 - BinaryExpression 711388 711433 - PropertyAccessExpression 711388 711415 - PropertyAccessExpression 711388 711409 - Identifier 711388 711394 - Identifier 711395 711409 - Identifier 711410 711415 - AmpersandToken 711415 711417 - PropertyAccessExpression 711417 711433 - Identifier 711417 711427 - Identifier 711428 711433 - QuestionToken 711433 711435 - CallExpression 711435 711481 - Identifier 711435 711448 - PropertyAccessExpression 711449 711480 - Identifier 711449 711454 - Identifier 711455 711480 - ColonToken 711481 711483 - CallExpression 711483 711536 - Identifier 711483 711503 - PropertyAccessExpression 711504 711535 - Identifier 711504 711509 - Identifier 711510 711535 - ReturnStatement 711548 711581 - PropertyAccessExpression 711564 711580 - Identifier 711564 711570 - Identifier 711571 711580 - FunctionDeclaration 711588 712892 - Identifier 711873 711894 - Parameter 711895 711909 - Identifier 711895 711901 - TypeReference 711902 711909 - Identifier 711902 711909 - TypeReference 711911 711916 - Identifier 711911 711916 - Block 711916 712892 - VariableStatement 711918 711969 - VariableDeclarationList 711918 711968 - VariableDeclaration 711933 711968 - Identifier 711933 711944 - CallExpression 711946 711968 - Identifier 711946 711960 - Identifier 711961 711967 - IfStatement 711969 712612 - BinaryExpression 711983 712018 - PropertyAccessExpression 711983 711995 - Identifier 711983 711989 - Identifier 711990 711995 - AmpersandToken 711995 711997 - PropertyAccessExpression 711997 712018 - Identifier 711997 712009 - Identifier 712010 712018 - Block 712019 712612 - ReturnStatement 712021 712601 - ConditionalExpression 712041 712600 - BinaryExpression 712041 712083 - Identifier 712041 712052 - AmpersandToken 712052 712054 - PropertyAccessExpression 712054 712083 - Identifier 712054 712065 - Identifier 712066 712083 - QuestionToken 712083 712085 - ConditionalExpression 712085 712497 - BinaryExpression 712085 712139 - Identifier 712085 712113 - AmpersandToken 712113 712115 - PropertyAccessExpression 712115 712139 - Identifier 712115 712126 - Identifier 712127 712139 - QuestionToken 712139 712141 - BinaryExpression 712141 712250 - CallExpression 712141 712207 - Identifier 712141 712199 - Identifier 712200 712206 - BarBarToken 712207 712210 - CallExpression 712210 712250 - Identifier 712210 712242 - Identifier 712243 712249 - ColonToken 712250 712252 - BinaryExpression 712252 712497 - PropertyAccessExpression 712252 712454 - PropertyAccessExpression 712252 712444 - ParenthesizedExpression 712252 712438 - AsExpression 712412 712437 - Identifier 712412 712418 - TypeReference 712421 712437 - Identifier 712421 712437 - Identifier 712439 712444 - Identifier 712445 712454 - BarBarToken 712454 712457 - NonNullExpression 712457 712497 - PropertyAccessExpression 712457 712496 - PropertyAccessExpression 712457 712491 - ParenthesizedExpression 712457 712485 - AsExpression 712459 712484 - Identifier 712459 712465 - TypeReference 712468 712484 - Identifier 712468 712484 - Identifier 712486 712491 - Identifier 712492 712496 - ColonToken 712497 712499 - CallExpression 712499 712600 - Identifier 712499 712534 - CallExpression 712535 712558 - Identifier 712535 712550 - Identifier 712551 712557 - PrefixUnaryExpression 712559 712599 - PrefixUnaryExpression 712561 712599 - ParenthesizedExpression 712562 712599 - BinaryExpression 712563 712598 - PropertyAccessExpression 712563 712575 - Identifier 712563 712569 - Identifier 712570 712575 - AmpersandToken 712575 712577 - PropertyAccessExpression 712577 712598 - Identifier 712577 712589 - Identifier 712590 712598 - IfStatement 712612 712844 - BinaryExpression 712626 712661 - PropertyAccessExpression 712626 712638 - Identifier 712626 712632 - Identifier 712633 712638 - AmpersandToken 712638 712640 - PropertyAccessExpression 712640 712661 - Identifier 712640 712652 - Identifier 712653 712661 - Block 712662 712844 - ReturnStatement 712664 712833 - ConditionalExpression 712684 712832 - BinaryExpression 712684 712721 - Identifier 712684 712695 - AmpersandToken 712695 712697 - PropertyAccessExpression 712697 712721 - Identifier 712697 712708 - Identifier 712709 712721 - QuestionToken 712721 712723 - CallExpression 712723 712781 - Identifier 712723 712773 - Identifier 712774 712780 - ColonToken 712781 712783 - CallExpression 712783 712832 - Identifier 712783 712824 - Identifier 712825 712831 - ReturnStatement 712844 712885 - CallExpression 712860 712884 - Identifier 712860 712876 - Identifier 712877 712883 - FunctionDeclaration 712892 714244 - Identifier 712908 712924 - Parameter 712925 712939 - Identifier 712925 712931 - TypeReference 712932 712939 - Identifier 712932 712939 - TypeReference 712941 712946 - Identifier 712941 712946 - Block 712946 714244 - VariableStatement 712948 712999 - VariableDeclarationList 712948 712998 - VariableDeclaration 712963 712998 - Identifier 712963 712974 - CallExpression 712976 712998 - Identifier 712976 712990 - Identifier 712991 712997 - IfStatement 712999 713124 - BinaryExpression 713013 713049 - Identifier 713013 713023 - AmpersandToken 713023 713025 - PropertyAccessExpression 713025 713049 - Identifier 713025 713036 - Identifier 713037 713049 - Block 713050 713124 - ReturnStatement 713052 713113 - CallExpression 713072 713112 - Identifier 713072 713104 - Identifier 713105 713111 - IfStatement 713124 713245 - BinaryExpression 713138 713174 - Identifier 713138 713148 - AmpersandToken 713148 713150 - PropertyAccessExpression 713150 713174 - Identifier 713150 713161 - Identifier 713162 713174 - Block 713175 713245 - ReturnStatement 713177 713234 - CallExpression 713197 713233 - Identifier 713197 713225 - Identifier 713226 713232 - IfStatement 713245 713370 - BinaryExpression 713259 713289 - Identifier 713259 713269 - AmpersandToken 713269 713271 - PropertyAccessExpression 713271 713289 - Identifier 713271 713282 - Identifier 713283 713289 - Block 713290 713370 - ReturnStatement 713292 713359 - CallExpression 713312 713358 - Identifier 713312 713334 - AsExpression 713335 713357 - Identifier 713335 713341 - TypeReference 713344 713357 - Identifier 713344 713357 - IfStatement 713370 713516 - BinaryExpression 713384 713421 - Identifier 713384 713394 - AmpersandToken 713394 713396 - PropertyAccessExpression 713396 713421 - Identifier 713396 713407 - Identifier 713408 713421 - Block 713422 713516 - ReturnStatement 713424 713505 - CallExpression 713444 713504 - Identifier 713444 713473 - AsExpression 713474 713503 - Identifier 713474 713480 - TypeReference 713483 713503 - Identifier 713483 713503 - IfStatement 713516 713672 - BinaryExpression 713530 713590 - PropertyAccessExpression 713530 713542 - Identifier 713530 713536 - Identifier 713537 713542 - AmpersandToken 713542 713544 - ParenthesizedExpression 713544 713590 - BinaryExpression 713546 713589 - PropertyAccessExpression 713546 713566 - Identifier 713546 713557 - Identifier 713558 713566 - BarToken 713566 713568 - PropertyAccessExpression 713568 713589 - Identifier 713568 713580 - Identifier 713581 713589 - Block 713591 713672 - ReturnStatement 713593 713661 - CallExpression 713613 713660 - Identifier 713613 713652 - Identifier 713653 713659 - IfStatement 713672 713881 - BinaryExpression 713686 713809 - PropertyAccessExpression 713686 713698 - Identifier 713686 713692 - Identifier 713693 713698 - AmpersandToken 713698 713700 - ParenthesizedExpression 713700 713809 - BinaryExpression 713702 713808 - BinaryExpression 713702 713782 - BinaryExpression 713702 713763 - BinaryExpression 713702 713743 - PropertyAccessExpression 713702 713722 - Identifier 713702 713713 - Identifier 713714 713722 - BarToken 713722 713724 - PropertyAccessExpression 713724 713743 - Identifier 713724 713736 - Identifier 713737 713743 - BarToken 713743 713745 - PropertyAccessExpression 713745 713763 - Identifier 713745 713757 - Identifier 713758 713763 - BarToken 713763 713765 - PropertyAccessExpression 713765 713782 - Identifier 713765 713777 - Identifier 713778 713782 - BarToken 713782 713784 - PropertyAccessExpression 713784 713808 - Identifier 713784 713796 - Identifier 713797 713808 - Block 713810 713881 - ReturnStatement 713812 713870 - CallExpression 713832 713869 - Identifier 713832 713861 - Identifier 713862 713868 - IfStatement 713881 713995 - BinaryExpression 713895 713932 - PropertyAccessExpression 713895 713907 - Identifier 713895 713901 - Identifier 713902 713907 - AmpersandToken 713907 713909 - PropertyAccessExpression 713909 713932 - Identifier 713909 713921 - Identifier 713922 713932 - Block 713933 713995 - ReturnStatement 713935 713984 - CallExpression 713955 713983 - Identifier 713955 713975 - Identifier 713976 713982 - IfStatement 713995 714106 - BinaryExpression 714009 714044 - PropertyAccessExpression 714009 714021 - Identifier 714009 714015 - Identifier 714016 714021 - AmpersandToken 714021 714023 - PropertyAccessExpression 714023 714044 - Identifier 714023 714035 - Identifier 714036 714044 - Block 714045 714106 - ReturnStatement 714047 714095 - CallExpression 714067 714094 - Identifier 714067 714086 - Identifier 714087 714093 - IfStatement 714106 714210 - BinaryExpression 714120 714152 - PropertyAccessExpression 714120 714132 - Identifier 714120 714126 - Identifier 714127 714132 - AmpersandToken 714132 714134 - PropertyAccessExpression 714134 714152 - Identifier 714134 714146 - Identifier 714147 714152 - Block 714153 714210 - ReturnStatement 714155 714199 - CallExpression 714175 714198 - Identifier 714175 714190 - Identifier 714191 714197 - ReturnStatement 714210 714237 - Identifier 714226 714236 - FunctionDeclaration 714244 714412 - Identifier 714260 714286 - Parameter 714287 714301 - Identifier 714287 714293 - TypeReference 714294 714301 - Identifier 714294 714301 - Block 714302 714412 - ReturnStatement 714304 714405 - CallExpression 714320 714404 - Identifier 714320 714338 - CallExpression 714339 714362 - Identifier 714339 714354 - Identifier 714355 714361 - PrefixUnaryExpression 714363 714403 - PrefixUnaryExpression 714365 714403 - ParenthesizedExpression 714366 714403 - BinaryExpression 714367 714402 - PropertyAccessExpression 714367 714379 - Identifier 714367 714373 - Identifier 714374 714379 - AmpersandToken 714379 714381 - PropertyAccessExpression 714381 714402 - Identifier 714381 714393 - Identifier 714394 714402 - FunctionDeclaration 714412 714808 - Identifier 714428 714450 - Parameter 714451 714461 - Identifier 714451 714455 - TypeReference 714456 714461 - Identifier 714456 714461 - Parameter 714462 714487 - Identifier 714462 714470 - TypeOperator 714471 714487 - ArrayType 714480 714487 - TypeReference 714480 714485 - Identifier 714480 714485 - Block 714488 714808 - IfStatement 714490 714619 - BinaryExpression 714504 714578 - BinaryExpression 714504 714522 - Identifier 714504 714508 - EqualsEqualsEqualsToken 714508 714512 - Identifier 714512 714522 - BarBarToken 714522 714525 - BinaryExpression 714525 714578 - ParenthesizedExpression 714525 714572 - BinaryExpression 714527 714571 - CallExpression 714527 714547 - Identifier 714527 714541 - Identifier 714542 714546 - AmpersandToken 714547 714549 - PropertyAccessExpression 714549 714571 - Identifier 714549 714561 - Identifier 714562 714571 - EqualsEqualsEqualsToken 714572 714576 - NumericLiteral 714576 714578 - Block 714579 714619 - ReturnStatement 714581 714608 - FalseKeyword 714601 714607 - ForOfStatement 714619 714778 - VariableDeclarationList 714634 714646 - VariableDeclaration 714639 714646 - Identifier 714639 714646 - Identifier 714649 714657 - Block 714658 714778 - IfStatement 714660 714767 - BinaryExpression 714678 714719 - PropertyAccessExpression 714678 714708 - ParenthesizedExpression 714678 714701 - AsExpression 714679 714700 - Identifier 714679 714683 - TypeReference 714686 714700 - Identifier 714686 714700 - Identifier 714702 714708 - EqualsEqualsEqualsToken 714708 714712 - Identifier 714712 714719 - Block 714720 714767 - ReturnStatement 714722 714752 - TrueKeyword 714746 714751 - ReturnStatement 714778 714801 - FalseKeyword 714794 714800 - FunctionDeclaration 714808 715077 - Identifier 714824 714842 - Parameter 714843 714853 - Identifier 714843 714847 - TypeReference 714848 714853 - Identifier 714848 714853 - Parameter 714854 714867 - Identifier 714854 714861 - TypeReference 714862 714867 - Identifier 714862 714867 - Block 714868 715077 - ReturnStatement 714870 715070 - BinaryExpression 714886 715069 - BinaryExpression 714886 715011 - BinaryExpression 714886 714942 - BinaryExpression 714886 714905 - Identifier 714886 714891 - ExclamationEqualsEqualsToken 714891 714895 - Identifier 714895 714905 - AmpersandAmpersandToken 714905 714921 - BinaryExpression 714921 714942 - Identifier 714921 714928 - ExclamationEqualsEqualsToken 714928 714932 - Identifier 714932 714942 - AmpersandAmpersandToken 714942 714958 - BinaryExpression 714958 715011 - ParenthesizedExpression 714958 715005 - BinaryExpression 714960 715004 - CallExpression 714960 714980 - Identifier 714960 714974 - Identifier 714975 714979 - AmpersandToken 714980 714982 - PropertyAccessExpression 714982 715004 - Identifier 714982 714994 - Identifier 714995 715004 - ExclamationEqualsEqualsToken 715005 715009 - NumericLiteral 715009 715011 - AmpersandAmpersandToken 715011 715027 - BinaryExpression 715027 715069 - PropertyAccessExpression 715027 715058 - ParenthesizedExpression 715027 715051 - AsExpression 715029 715050 - Identifier 715029 715033 - TypeReference 715036 715050 - Identifier 715036 715050 - Identifier 715052 715058 - EqualsEqualsEqualsToken 715058 715062 - Identifier 715062 715069 - FunctionDeclaration 715077 715236 - Identifier 715093 715107 - Parameter 715108 715118 - Identifier 715108 715112 - TypeReference 715113 715118 - Identifier 715113 715118 - TypeReference 715120 715125 - Identifier 715120 715125 - Block 715125 715236 - ReturnStatement 715127 715229 - ConditionalExpression 715143 715228 - BinaryExpression 715143 715188 - CallExpression 715143 715164 - Identifier 715143 715158 - Identifier 715159 715163 - AmpersandToken 715164 715166 - PropertyAccessExpression 715166 715188 - Identifier 715166 715178 - Identifier 715179 715188 - QuestionToken 715188 715190 - PropertyAccessExpression 715190 715221 - ParenthesizedExpression 715190 715214 - AsExpression 715192 715213 - Identifier 715192 715196 - TypeReference 715199 715213 - Identifier 715199 715213 - Identifier 715215 715221 - ColonToken 715221 715223 - Identifier 715223 715228 - FunctionDeclaration 715236 715956 - Identifier 715367 715379 - Parameter 715380 715390 - Identifier 715380 715384 - TypeReference 715385 715390 - Identifier 715385 715390 - Parameter 715391 715419 - Identifier 715391 715401 - UnionType 715402 715419 - TypeReference 715402 715407 - Identifier 715402 715407 - UndefinedKeyword 715409 715419 - Block 715420 715956 - ReturnStatement 715422 715451 - CallExpression 715438 715450 - Identifier 715438 715444 - Identifier 715445 715449 - FunctionDeclaration 715451 715949 - Identifier 715469 715475 - Parameter 715476 715486 - Identifier 715476 715480 - TypeReference 715481 715486 - Identifier 715481 715486 - BooleanKeyword 715488 715496 - Block 715496 715949 - IfStatement 715498 715911 - BinaryExpression 715516 715593 - CallExpression 715516 715536 - Identifier 715516 715530 - Identifier 715531 715535 - AmpersandToken 715536 715538 - ParenthesizedExpression 715538 715593 - BinaryExpression 715540 715592 - PropertyAccessExpression 715540 715568 - Identifier 715540 715551 - Identifier 715552 715568 - BarToken 715568 715570 - PropertyAccessExpression 715570 715592 - Identifier 715570 715582 - Identifier 715583 715592 - Block 715594 715764 - VariableStatement 715596 715666 - VariableDeclarationList 715596 715665 - VariableDeclaration 715619 715665 - Identifier 715619 715626 - AsExpression 715628 715665 - CallExpression 715628 715648 - Identifier 715628 715642 - Identifier 715643 715647 - TypeReference 715651 715665 - Identifier 715651 715665 - ReturnStatement 715666 715749 - BinaryExpression 715690 715748 - BinaryExpression 715690 715711 - Identifier 715690 715697 - EqualsEqualsEqualsToken 715697 715701 - Identifier 715701 715711 - BarBarToken 715711 715714 - CallExpression 715714 715748 - Identifier 715714 715719 - CallExpression 715720 715740 - Identifier 715720 715732 - Identifier 715733 715739 - Identifier 715741 715747 - IfStatement 715782 715911 - BinaryExpression 715787 715822 - PropertyAccessExpression 715787 715797 - Identifier 715787 715791 - Identifier 715792 715797 - AmpersandToken 715797 715799 - PropertyAccessExpression 715799 715822 - Identifier 715799 715809 - Identifier 715810 715822 - Block 715823 715911 - ReturnStatement 715825 715896 - CallExpression 715849 715895 - Identifier 715849 715854 - PropertyAccessExpression 715855 715887 - ParenthesizedExpression 715855 715881 - AsExpression 715856 715880 - Identifier 715856 715860 - TypeReference 715863 715880 - Identifier 715863 715880 - Identifier 715882 715887 - Identifier 715888 715894 - ReturnStatement 715911 715938 - FalseKeyword 715931 715937 - FunctionDeclaration 715956 716647 - Identifier 716267 716288 - Parameter 716289 716332 - Identifier 716289 716303 - UnionType 716304 716332 - ArrayType 716304 716320 - TypeReference 716304 716318 - Identifier 716304 716318 - UndefinedKeyword 716322 716332 - Parameter 716333 716383 - Identifier 716333 716346 - TypeOperator 716347 716383 - ArrayType 716356 716383 - TypeReference 716356 716381 - Identifier 716356 716381 - UnionType 716385 716413 - ArrayType 716385 716401 - TypeReference 716385 716399 - Identifier 716385 716399 - UndefinedKeyword 716403 716413 - Block 716413 716647 - ForOfStatement 716415 716608 - VariableDeclarationList 716430 716447 - VariableDeclaration 716435 716447 - Identifier 716435 716447 - Identifier 716450 716463 - Block 716464 716608 - ExpressionStatement 716466 716597 - BinaryExpression 716466 716596 - Identifier 716466 716494 - EqualsToken 716494 716496 - CallExpression 716496 716596 - Identifier 716496 716511 - Identifier 716512 716526 - CallExpression 716527 716595 - Identifier 716527 716558 - CallExpression 716559 716594 - Identifier 716559 716581 - Identifier 716582 716593 - ReturnStatement 716608 716640 - Identifier 716624 716639 - FunctionDeclaration 716647 721453 - Identifier 716769 716792 - Parameter 716793 716803 - Identifier 716793 716797 - TypeReference 716798 716803 - Identifier 716798 716803 - Parameter 716804 716831 - Identifier 716804 716821 - QuestionToken 716821 716822 - BooleanKeyword 716823 716831 - UnionType 716833 716861 - ArrayType 716833 716849 - TypeReference 716833 716847 - Identifier 716833 716847 - UndefinedKeyword 716851 716861 - Block 716861 721453 - WhileStatement 716863 721446 - TrueKeyword 716880 716884 - Block 716885 721446 - ExpressionStatement 716887 716920 - BinaryExpression 716887 716919 - Identifier 716887 716905 - EqualsToken 716905 716907 - PropertyAccessExpression 716907 716919 - Identifier 716907 716912 - Identifier 716913 716919 - IfStatement 716920 717712 - BinaryExpression 716990 717022 - Identifier 716990 716994 - AmpersandAmpersandToken 716994 716997 - CallExpression 716997 717022 - Identifier 716997 717016 - Identifier 717017 717021 - Block 717023 717712 - VariableStatement 717025 717203 - VariableDeclarationList 717025 717202 - VariableDeclaration 717150 717202 - Identifier 717150 717165 - CallExpression 717167 717202 - Identifier 717167 717196 - Identifier 717197 717201 - IfStatement 717203 717697 - BinaryExpression 717225 717345 - BinaryExpression 717225 717279 - Identifier 717225 717239 - EqualsEqualsEqualsToken 717239 717243 - PropertyAccessExpression 717243 717279 - Identifier 717243 717269 - Identifier 717270 717279 - BarBarToken 717279 717282 - BinaryExpression 717282 717345 - Identifier 717282 717297 - EqualsEqualsEqualsToken 717297 717301 - PropertyAccessExpression 717301 717345 - Identifier 717301 717327 - Identifier 717328 717345 - Block 717346 717697 - VariableStatement 717348 717472 - VariableDeclarationList 717348 717471 - VariableDeclaration 717375 717471 - Identifier 717375 717382 - CallExpression 717384 717471 - Identifier 717384 717407 - AsExpression 717408 717470 - PropertyAccessExpression 717408 717417 - Identifier 717408 717412 - Identifier 717413 717417 - UnionType 717420 717470 - TypeReference 717420 717449 - Identifier 717420 717449 - TypeReference 717451 717470 - Identifier 717451 717470 - IfStatement 717472 717678 - BinaryExpression 717498 717587 - BinaryExpression 717498 717521 - Identifier 717498 717504 - AmpersandAmpersandToken 717504 717507 - PropertyAccessExpression 717507 717521 - Identifier 717507 717514 - Identifier 717515 717521 - AmpersandAmpersandToken 717521 717524 - PrefixUnaryExpression 717524 717587 - CallExpression 717526 717587 - Identifier 717526 717538 - PropertyAccessExpression 717539 717569 - PropertyAccessExpression 717539 717552 - Identifier 717539 717545 - Identifier 717546 717552 - Identifier 717553 717569 - ArrowFunction 717570 717586 - Parameter 717570 717572 - Identifier 717570 717572 - EqualsGreaterThanToken 717572 717575 - BinaryExpression 717575 717586 - Identifier 717575 717580 - EqualsEqualsEqualsToken 717580 717584 - Identifier 717584 717586 - Block 717588 717678 - ExpressionStatement 717590 717655 - BinaryExpression 717590 717654 - Identifier 717590 717620 - EqualsToken 717620 717622 - NonNullExpression 717622 717654 - PropertyAccessExpression 717622 717653 - PropertyAccessExpression 717622 717636 - Identifier 717622 717629 - Identifier 717630 717636 - Identifier 717637 717653 - IfStatement 717712 717788 - PrefixUnaryExpression 717730 717735 - Identifier 717731 717735 - Block 717736 717788 - ReturnStatement 717738 717773 - Identifier 717762 717772 - VariableStatement 717788 717825 - VariableDeclarationList 717788 717824 - VariableDeclaration 717807 717824 - Identifier 717807 717812 - PropertyAccessExpression 717814 717824 - Identifier 717814 717819 - Identifier 717820 717824 - SwitchStatement 717825 721435 - Identifier 717847 717851 - CaseBlock 717852 721435 - CaseClause 717854 717905 - PropertyAccessExpression 717876 717904 - Identifier 717876 717887 - Identifier 717888 717904 - CaseClause 717905 717955 - PropertyAccessExpression 717927 717954 - Identifier 717927 717938 - Identifier 717939 717954 - CaseClause 717955 718010 - PropertyAccessExpression 717977 718009 - Identifier 717977 717988 - Identifier 717989 718009 - CaseClause 718010 718058 - PropertyAccessExpression 718032 718057 - Identifier 718032 718043 - Identifier 718044 718057 - CaseClause 718058 718111 - PropertyAccessExpression 718080 718110 - Identifier 718080 718091 - Identifier 718092 718110 - CaseClause 718111 718161 - PropertyAccessExpression 718133 718160 - Identifier 718133 718144 - Identifier 718145 718160 - CaseClause 718161 718208 - PropertyAccessExpression 718183 718207 - Identifier 718183 718194 - Identifier 718195 718207 - CaseClause 718208 718258 - PropertyAccessExpression 718230 718257 - Identifier 718230 718241 - Identifier 718242 718257 - CaseClause 718258 718310 - PropertyAccessExpression 718280 718309 - Identifier 718280 718291 - Identifier 718292 718309 - CaseClause 718310 718364 - PropertyAccessExpression 718332 718363 - Identifier 718332 718343 - Identifier 718344 718363 - CaseClause 718364 718416 - PropertyAccessExpression 718386 718415 - Identifier 718386 718397 - Identifier 718398 718415 - CaseClause 718416 718469 - PropertyAccessExpression 718438 718468 - Identifier 718438 718449 - Identifier 718450 718468 - CaseClause 718469 718517 - PropertyAccessExpression 718491 718516 - Identifier 718491 718502 - Identifier 718503 718516 - CaseClause 718517 718572 - PropertyAccessExpression 718539 718571 - Identifier 718539 718550 - Identifier 718551 718571 - CaseClause 718572 718623 - PropertyAccessExpression 718594 718622 - Identifier 718594 718605 - Identifier 718606 718622 - CaseClause 718623 718673 - PropertyAccessExpression 718645 718672 - Identifier 718645 718656 - Identifier 718657 718672 - CaseClause 718673 718720 - PropertyAccessExpression 718695 718719 - Identifier 718695 718706 - Identifier 718707 718719 - CaseClause 718720 718771 - PropertyAccessExpression 718742 718770 - Identifier 718742 718753 - Identifier 718754 718770 - CaseClause 718771 718816 - PropertyAccessExpression 718793 718815 - Identifier 718793 718804 - Identifier 718805 718815 - CaseClause 718816 720703 - PropertyAccessExpression 718838 718865 - Identifier 718838 718849 - Identifier 718850 718865 - Block 718866 720703 - VariableStatement 718868 718965 - VariableDeclarationList 718868 718964 - VariableDeclaration 718895 718964 - Identifier 718895 718915 - CallExpression 718917 718964 - Identifier 718917 718940 - Identifier 718941 718945 - Identifier 718946 718963 - IfStatement 718965 719567 - BinaryExpression 718991 719161 - ParenthesizedExpression 718991 719099 - BinaryExpression 718992 719098 - BinaryExpression 718992 719067 - BinaryExpression 718992 719030 - Identifier 718992 718996 - EqualsEqualsEqualsToken 718996 719000 - PropertyAccessExpression 719000 719030 - Identifier 719000 719011 - Identifier 719012 719030 - BarBarToken 719030 719033 - BinaryExpression 719033 719067 - Identifier 719033 719038 - EqualsEqualsEqualsToken 719038 719042 - PropertyAccessExpression 719042 719067 - Identifier 719042 719053 - Identifier 719054 719067 - BarBarToken 719067 719070 - CallExpression 719070 719098 - Identifier 719070 719092 - Identifier 719093 719097 - AmpersandAmpersandToken 719099 719102 - CallExpression 719102 719161 - Identifier 719102 719121 - AsExpression 719122 719160 - Identifier 719122 719126 - UnionType 719129 719160 - TypeReference 719129 719140 - Identifier 719129 719140 - TypeReference 719142 719160 - Identifier 719142 719160 - Block 719162 719567 - VariableStatement 719164 719340 - VariableDeclarationList 719164 719339 - VariableDeclaration 719195 719339 - Identifier 719195 719205 - CallExpression 719207 719339 - Identifier 719207 719224 - CallExpression 719225 719338 - Identifier 719225 719244 - CallExpression 719245 719317 - Identifier 719245 719260 - CallExpression 719261 719316 - Identifier 719261 719283 - AsExpression 719284 719315 - Identifier 719284 719288 - TypeReference 719291 719315 - Identifier 719291 719315 - PropertyAccessExpression 719318 719337 - Identifier 719318 719332 - Identifier 719333 719337 - IfStatement 719340 719544 - BinaryExpression 719370 719407 - Identifier 719370 719379 - AmpersandAmpersandToken 719379 719382 - PropertyAccessExpression 719382 719407 - Identifier 719382 719392 - Identifier 719393 719407 - Block 719408 719544 - ReturnStatement 719410 719517 - ArrayLiteralExpression 719446 719516 - SpreadElement 719448 719486 - ParenthesizedExpression 719451 719486 - BinaryExpression 719452 719485 - Identifier 719452 719471 - BarBarToken 719471 719474 - Identifier 719474 719485 - SpreadElement 719487 719515 - PropertyAccessExpression 719491 719515 - Identifier 719491 719500 - Identifier 719501 719515 - IfStatement 719567 720017 - BinaryExpression 719593 719623 - Identifier 719593 719597 - EqualsEqualsEqualsToken 719597 719601 - PropertyAccessExpression 719601 719623 - Identifier 719601 719612 - Identifier 719613 719623 - Block 719624 719806 - ReturnStatement 719626 719783 - CallExpression 719658 719782 - Identifier 719658 719665 - Identifier 719666 719685 - CallExpression 719686 719781 - Identifier 719686 719717 - CallExpression 719718 719780 - Identifier 719718 719740 - PropertyAccessExpression 719741 719779 - ParenthesizedExpression 719741 719765 - AsExpression 719742 719764 - Identifier 719742 719746 - TypeReference 719749 719764 - Identifier 719749 719764 - Identifier 719766 719779 - IfStatement 719832 720017 - BinaryExpression 719837 719872 - Identifier 719837 719841 - EqualsEqualsEqualsToken 719841 719845 - PropertyAccessExpression 719845 719872 - Identifier 719845 719856 - Identifier 719857 719872 - Block 719873 720017 - ReturnStatement 719875 719994 - CallExpression 719907 719993 - Identifier 719907 719919 - Identifier 719920 719939 - CallExpression 719940 719992 - Identifier 719940 719963 - AsExpression 719964 719991 - Identifier 719964 719968 - TypeReference 719971 719991 - Identifier 719971 719991 - VariableStatement 720017 720193 - VariableDeclarationList 720017 720192 - VariableDeclaration 720044 720192 - Identifier 720044 720070 - CallExpression 720072 720192 - Identifier 720072 720093 - Identifier 720094 720113 - CallExpression 720114 720191 - Identifier 720114 720152 - AsExpression 720153 720190 - Identifier 720153 720157 - TypeReference 720160 720190 - Identifier 720160 720190 - VariableStatement 720193 720572 - VariableDeclarationList 720193 720571 - VariableDeclaration 720220 720571 - Identifier 720220 720229 - BinaryExpression 720231 720571 - BinaryExpression 720231 720423 - Identifier 720231 720248 - AmpersandAmpersandToken 720248 720251 - ParenthesizedExpression 720251 720423 - BinaryExpression 720278 720422 - BinaryExpression 720278 720397 - BinaryExpression 720278 720353 - BinaryExpression 720278 720314 - Identifier 720278 720282 - EqualsEqualsEqualsToken 720282 720286 - PropertyAccessExpression 720286 720314 - Identifier 720286 720297 - Identifier 720298 720314 - BarBarToken 720314 720317 - BinaryExpression 720317 720353 - Identifier 720317 720322 - EqualsEqualsEqualsToken 720322 720326 - PropertyAccessExpression 720326 720353 - Identifier 720326 720337 - Identifier 720338 720353 - BarBarToken 720353 720356 - BinaryExpression 720356 720397 - Identifier 720356 720361 - EqualsEqualsEqualsToken 720361 720365 - PropertyAccessExpression 720365 720397 - Identifier 720365 720376 - Identifier 720377 720397 - BarBarToken 720397 720400 - CallExpression 720400 720422 - Identifier 720400 720416 - Identifier 720417 720421 - AmpersandAmpersandToken 720423 720426 - PropertyAccessExpression 720426 720571 - CallExpression 720426 720562 - Identifier 720426 720485 - CallExpression 720486 720561 - Identifier 720486 720508 - AsExpression 720509 720560 - Identifier 720509 720513 - UnionType 720516 720560 - TypeReference 720516 720537 - Identifier 720516 720537 - TypeReference 720539 720560 - Identifier 720539 720560 - Identifier 720563 720571 - ReturnStatement 720572 720684 - ConditionalExpression 720600 720683 - Identifier 720600 720609 - QuestionToken 720609 720611 - CallExpression 720611 720655 - Identifier 720611 720618 - Identifier 720619 720644 - Identifier 720645 720654 - ColonToken 720655 720657 - Identifier 720657 720683 - CaseClause 720703 721006 - PropertyAccessExpression 720725 720754 - Identifier 720725 720736 - Identifier 720737 720754 - VariableStatement 720755 720852 - VariableDeclarationList 720755 720851 - VariableDeclaration 720782 720851 - Identifier 720782 720794 - CallExpression 720796 720851 - Identifier 720796 720824 - AsExpression 720825 720850 - Identifier 720825 720829 - TypeReference 720832 720850 - Identifier 720832 720850 - IfStatement 720852 720978 - Identifier 720878 720889 - Block 720890 720978 - ExpressionStatement 720892 720955 - BinaryExpression 720892 720954 - Identifier 720892 720922 - EqualsToken 720922 720924 - NonNullExpression 720924 720954 - PropertyAccessExpression 720924 720953 - Identifier 720924 720936 - Identifier 720937 720953 - BreakStatement 720978 721006 - CaseClause 721006 721420 - PropertyAccessExpression 721028 721045 - Identifier 721028 721039 - Identifier 721040 721045 - Block 721046 721420 - VariableStatement 721048 721145 - VariableDeclarationList 721048 721144 - VariableDeclaration 721075 721144 - Identifier 721075 721095 - CallExpression 721097 721144 - Identifier 721097 721120 - Identifier 721121 721125 - Identifier 721126 721143 - ReturnStatement 721145 721401 - ConditionalExpression 721173 721400 - PropertyAccessExpression 721173 721194 - ParenthesizedExpression 721173 721189 - AsExpression 721175 721188 - Identifier 721175 721179 - TypeReference 721182 721188 - Identifier 721182 721188 - Identifier 721190 721194 - QuestionToken 721194 721221 - CallExpression 721221 721353 - Identifier 721221 721242 - Identifier 721243 721262 - CallExpression 721263 721352 - Identifier 721263 721271 - PropertyAccessExpression 721272 721292 - ParenthesizedExpression 721272 721287 - AsExpression 721273 721286 - Identifier 721273 721277 - TypeReference 721280 721286 - Identifier 721280 721286 - Identifier 721288 721292 - ArrowFunction 721293 721351 - Parameter 721293 721295 - Identifier 721293 721295 - EqualsGreaterThanToken 721295 721298 - ConditionalExpression 721298 721351 - CallExpression 721298 721320 - Identifier 721298 721317 - Identifier 721318 721319 - QuestionToken 721320 721322 - PropertyAccessExpression 721322 721339 - Identifier 721322 721324 - Identifier 721325 721339 - ColonToken 721339 721341 - Identifier 721341 721351 - ColonToken 721353 721380 - Identifier 721380 721400 - FunctionDeclaration 721453 722524 - Identifier 721574 721615 - Parameter 721616 721630 - Identifier 721616 721622 - TypeReference 721623 721630 - Identifier 721623 721630 - UnionType 721632 721660 - ArrayType 721632 721648 - TypeReference 721632 721646 - Identifier 721632 721646 - UndefinedKeyword 721650 721660 - Block 721660 722524 - VariableStatement 721662 722343 - VariableDeclarationList 721662 722342 - VariableDeclaration 721677 722342 - Identifier 721677 721689 - ConditionalExpression 721691 722342 - ParenthesizedExpression 721691 721765 - BinaryExpression 721693 721764 - BinaryExpression 721693 721725 - PropertyAccessExpression 721693 721705 - Identifier 721693 721699 - Identifier 721700 721705 - AmpersandToken 721705 721707 - PropertyAccessExpression 721707 721725 - Identifier 721707 721719 - Identifier 721720 721725 - BarBarToken 721725 721728 - BinaryExpression 721728 721764 - PropertyAccessExpression 721728 721741 - Identifier 721728 721735 - Identifier 721736 721741 - AmpersandToken 721741 721743 - PropertyAccessExpression 721743 721764 - Identifier 721743 721755 - Identifier 721756 721764 - QuestionToken 721765 721780 - PropertyAccessExpression 721780 721804 - Identifier 721780 721787 - Identifier 721788 721804 - ColonToken 721804 721819 - NonNullExpression 721819 722342 - CallExpression 721819 722341 - PropertyAccessExpression 721819 721845 - PropertyAccessExpression 721819 721839 - Identifier 721819 721826 - Identifier 721827 721839 - QuestionDotToken 721839 721841 - Identifier 721841 721845 - ArrowFunction 721846 722340 - Parameter 721846 721850 - Identifier 721846 721850 - EqualsGreaterThanToken 721850 721853 - Block 721853 722340 - IfStatement 721855 721978 - BinaryExpression 721877 721922 - PropertyAccessExpression 721877 721886 - Identifier 721877 721881 - Identifier 721882 721886 - EqualsEqualsEqualsToken 721886 721890 - PropertyAccessExpression 721890 721922 - Identifier 721890 721901 - Identifier 721902 721922 - Block 721923 721978 - ReturnStatement 721925 721959 - TrueKeyword 721953 721958 - IfStatement 721978 722101 - BinaryExpression 722000 722044 - PropertyAccessExpression 722000 722009 - Identifier 722000 722004 - Identifier 722005 722009 - ExclamationEqualsEqualsToken 722009 722013 - PropertyAccessExpression 722013 722044 - Identifier 722013 722024 - Identifier 722025 722044 - Block 722045 722101 - ReturnStatement 722047 722082 - FalseKeyword 722075 722081 - VariableStatement 722101 722181 - VariableDeclarationList 722101 722180 - VariableDeclaration 722124 722180 - Identifier 722124 722136 - PropertyAccessExpression 722138 722180 - ParenthesizedExpression 722138 722168 - AsExpression 722140 722167 - Identifier 722140 722144 - TypeReference 722147 722167 - Identifier 722147 722167 - Identifier 722169 722180 - ReturnStatement 722181 722325 - BinaryExpression 722205 722324 - PrefixUnaryExpression 722205 722219 - PrefixUnaryExpression 722207 722219 - Identifier 722208 722219 - AmpersandAmpersandToken 722219 722222 - ParenthesizedExpression 722222 722324 - BinaryExpression 722224 722323 - BinaryExpression 722224 722274 - PropertyAccessExpression 722224 722240 - Identifier 722224 722235 - Identifier 722236 722240 - EqualsEqualsEqualsToken 722240 722244 - PropertyAccessExpression 722244 722274 - Identifier 722244 722255 - Identifier 722256 722274 - BarBarToken 722274 722277 - BinaryExpression 722277 722323 - PropertyAccessExpression 722277 722294 - Identifier 722277 722289 - Identifier 722290 722294 - EqualsEqualsEqualsToken 722294 722298 - PropertyAccessExpression 722298 722323 - Identifier 722298 722309 - Identifier 722310 722323 - ExpressionStatement 722343 722464 - CallExpression 722343 722463 - PropertyAccessExpression 722343 722365 - Identifier 722343 722358 - Identifier 722359 722365 - PrefixUnaryExpression 722366 722379 - PrefixUnaryExpression 722367 722379 - Identifier 722368 722379 - StringLiteral 722380 722462 - ReturnStatement 722464 722517 - CallExpression 722480 722516 - Identifier 722480 722503 - Identifier 722504 722515 - FunctionDeclaration 722524 723546 - Identifier 722684 722736 - Parameter 722737 722751 - Identifier 722737 722743 - TypeReference 722744 722751 - Identifier 722744 722751 - UnionType 722753 722781 - ArrayType 722753 722769 - TypeReference 722753 722767 - Identifier 722753 722767 - UndefinedKeyword 722771 722781 - Block 722781 723546 - IfStatement 722783 722852 - PrefixUnaryExpression 722797 722817 - PropertyAccessExpression 722798 722817 - Identifier 722798 722804 - Identifier 722805 722817 - Block 722818 722852 - ReturnStatement 722820 722841 - VariableStatement 722852 722902 - VariableDeclarationList 722852 722901 - VariableDeclaration 722865 722901 - Identifier 722865 722872 - UnionType 722873 722901 - ArrayType 722873 722889 - TypeReference 722873 722887 - Identifier 722873 722887 - UndefinedKeyword 722891 722901 - ForOfStatement 722902 723515 - VariableDeclarationList 722917 722927 - VariableDeclaration 722922 722927 - Identifier 722922 722927 - PropertyAccessExpression 722930 722950 - Identifier 722930 722937 - Identifier 722938 722950 - Block 722951 723515 - IfStatement 722953 723504 - BinaryExpression 722971 723237 - BinaryExpression 722971 723199 - BinaryExpression 722971 723157 - BinaryExpression 722971 723096 - BinaryExpression 722971 723034 - PropertyAccessExpression 722971 722998 - Identifier 722971 722993 - Identifier 722994 722998 - EqualsEqualsEqualsToken 722998 723002 - PropertyAccessExpression 723002 723034 - Identifier 723002 723013 - Identifier 723014 723034 - BarBarToken 723034 723037 - BinaryExpression 723037 723096 - PropertyAccessExpression 723037 723064 - Identifier 723037 723059 - Identifier 723060 723064 - EqualsEqualsEqualsToken 723064 723068 - PropertyAccessExpression 723068 723096 - Identifier 723068 723079 - Identifier 723080 723096 - BarBarToken 723096 723099 - BinaryExpression 723099 723157 - PropertyAccessExpression 723099 723126 - Identifier 723099 723121 - Identifier 723122 723126 - EqualsEqualsEqualsToken 723126 723130 - PropertyAccessExpression 723130 723157 - Identifier 723130 723141 - Identifier 723142 723157 - BarBarToken 723157 723160 - CallExpression 723160 723199 - Identifier 723160 723193 - Identifier 723194 723198 - BarBarToken 723199 723202 - CallExpression 723202 723237 - Identifier 723202 723231 - Identifier 723232 723236 - Block 723252 723504 - VariableStatement 723254 723381 - VariableDeclarationList 723254 723380 - VariableDeclaration 723277 723380 - Identifier 723277 723289 - AsExpression 723291 723380 - Identifier 723291 723296 - UnionType 723299 723380 - TypeReference 723299 723320 - Identifier 723299 723320 - TypeReference 723322 723343 - Identifier 723322 723343 - TypeReference 723345 723361 - Identifier 723345 723361 - TypeReference 723363 723380 - Identifier 723363 723380 - ExpressionStatement 723381 723489 - BinaryExpression 723381 723488 - Identifier 723381 723405 - EqualsToken 723405 723407 - CallExpression 723407 723488 - Identifier 723407 723428 - Identifier 723429 723435 - CallExpression 723436 723487 - Identifier 723436 723474 - Identifier 723475 723486 - ReturnStatement 723515 723539 - Identifier 723531 723538 - FunctionDeclaration 723546 723959 - Identifier 723729 723765 - Parameter 723766 723780 - Identifier 723766 723772 - TypeReference 723773 723780 - Identifier 723773 723780 - UnionType 723782 723810 - ArrayType 723782 723798 - TypeReference 723782 723796 - Identifier 723782 723796 - UndefinedKeyword 723800 723810 - Block 723810 723959 - ReturnStatement 723812 723952 - CallExpression 723828 723951 - Identifier 723828 723840 - CallExpression 723841 723889 - Identifier 723841 723881 - Identifier 723882 723888 - CallExpression 723890 723950 - Identifier 723890 723942 - Identifier 723943 723949 - FunctionDeclaration 723959 724649 - Identifier 724129 724152 - Parameter 724153 724163 - Identifier 724153 724157 - TypeReference 724158 724163 - Identifier 724158 724163 - Block 724164 724649 - VariableStatement 724166 724246 - VariableDeclarationList 724166 724245 - VariableDeclaration 724181 724245 - Identifier 724181 724192 - CallExpression 724194 724245 - Identifier 724194 724214 - Identifier 724215 724219 - PropertyAccessExpression 724220 724244 - Identifier 724220 724234 - Identifier 724235 724244 - IfStatement 724246 724619 - BinaryExpression 724260 724283 - PropertyAccessExpression 724260 724277 - Identifier 724260 724270 - Identifier 724271 724277 - EqualsEqualsEqualsToken 724277 724281 - NumericLiteral 724281 724283 - Block 724284 724619 - VariableStatement 724286 724324 - VariableDeclarationList 724286 724323 - VariableDeclaration 724305 724323 - Identifier 724305 724307 - ElementAccessExpression 724309 724323 - Identifier 724309 724320 - NumericLiteral 724321 724322 - IfStatement 724324 724608 - BinaryExpression 724342 724420 - BinaryExpression 724342 724388 - PrefixUnaryExpression 724342 724359 - PropertyAccessExpression 724343 724359 - Identifier 724343 724344 - Identifier 724345 724359 - AmpersandAmpersandToken 724359 724362 - BinaryExpression 724362 724388 - PropertyAccessExpression 724362 724382 - PropertyAccessExpression 724362 724375 - Identifier 724362 724364 - Identifier 724365 724375 - Identifier 724376 724382 - EqualsEqualsEqualsToken 724382 724386 - NumericLiteral 724386 724388 - AmpersandAmpersandToken 724388 724391 - CallExpression 724391 724420 - Identifier 724391 724417 - Identifier 724418 724419 - Block 724421 724608 - VariableStatement 724423 724495 - VariableDeclarationList 724423 724494 - VariableDeclaration 724446 724494 - Identifier 724446 724456 - CallExpression 724458 724494 - Identifier 724458 724477 - ElementAccessExpression 724478 724493 - PropertyAccessExpression 724478 724490 - Identifier 724478 724479 - Identifier 724480 724490 - NumericLiteral 724491 724492 - ReturnStatement 724495 724593 - BinaryExpression 724519 724592 - CallExpression 724519 724540 - Identifier 724519 724529 - Identifier 724530 724539 - BarBarToken 724540 724543 - BinaryExpression 724543 724592 - CallExpression 724543 724580 - Identifier 724543 724569 - Identifier 724570 724579 - EqualsEqualsEqualsToken 724580 724584 - Identifier 724584 724592 - ReturnStatement 724619 724642 - FalseKeyword 724635 724641 - FunctionDeclaration 724649 725049 - Identifier 724665 724683 - Parameter 724684 724694 - Identifier 724684 724688 - TypeReference 724689 724694 - Identifier 724689 724694 - BooleanKeyword 724696 724704 - Block 724704 725049 - IfStatement 724706 724821 - BinaryExpression 724720 724781 - PropertyAccessExpression 724720 724777 - CallExpression 724720 724770 - Identifier 724720 724739 - Identifier 724740 724744 - PropertyAccessExpression 724745 724769 - Identifier 724745 724759 - Identifier 724760 724769 - Identifier 724771 724777 - GreaterThanToken 724777 724779 - NumericLiteral 724779 724781 - Block 724782 724821 - ReturnStatement 724784 724810 - TrueKeyword 724804 724809 - IfStatement 724821 725019 - BinaryExpression 724835 724870 - PropertyAccessExpression 724835 724845 - Identifier 724835 724839 - Identifier 724840 724845 - AmpersandToken 724845 724847 - PropertyAccessExpression 724847 724870 - Identifier 724847 724857 - Identifier 724858 724870 - Block 724871 725019 - VariableStatement 724873 724936 - VariableDeclarationList 724873 724935 - VariableDeclaration 724892 724935 - Identifier 724892 724903 - CallExpression 724905 724935 - Identifier 724905 724929 - Identifier 724930 724934 - ReturnStatement 724936 725008 - BinaryExpression 724956 725007 - PrefixUnaryExpression 724956 724969 - PrefixUnaryExpression 724958 724969 - Identifier 724959 724969 - AmpersandAmpersandToken 724969 724972 - CallExpression 724972 725007 - Identifier 724972 724995 - Identifier 724996 725006 - ReturnStatement 725019 725042 - FalseKeyword 725035 725041 - FunctionDeclaration 725049 725283 - Identifier 725065 725088 - Parameter 725089 725108 - Identifier 725089 725093 - TypeReference 725094 725108 - Identifier 725094 725108 - UnionType 725110 725150 - TypeReference 725110 725138 - Identifier 725110 725138 - UndefinedKeyword 725140 725150 - Block 725150 725283 - VariableStatement 725152 725220 - VariableDeclarationList 725152 725219 - VariableDeclaration 725167 725219 - Identifier 725167 725172 - CallExpression 725174 725219 - Identifier 725174 725206 - PropertyAccessExpression 725207 725218 - Identifier 725207 725211 - Identifier 725212 725218 - ReturnStatement 725220 725276 - BinaryExpression 725236 725275 - Identifier 725236 725241 - AmpersandAmpersandToken 725241 725244 - CallExpression 725244 725275 - Identifier 725244 725269 - Identifier 725270 725274 - FunctionDeclaration 725283 725759 - Identifier 725299 725331 - Parameter 725332 725342 - Identifier 725332 725336 - TypeReference 725337 725342 - Identifier 725337 725342 - Parameter 725343 725394 - Identifier 725343 725361 - UnionType 725362 725394 - TypeOperator 725362 725382 - ArrayType 725371 725382 - TypeReference 725371 725380 - Identifier 725371 725380 - UndefinedKeyword 725384 725394 - Parameter 725395 725410 - Identifier 725395 725404 - TypeReference 725405 725410 - Identifier 725405 725410 - TypeOperator 725412 725433 - ArrayType 725421 725433 - TypeReference 725421 725431 - Identifier 725421 725431 - Block 725433 725759 - VariableStatement 725435 725492 - VariableDeclarationList 725435 725491 - VariableDeclaration 725450 725491 - Identifier 725450 725463 - CallExpression 725465 725491 - Identifier 725465 725472 - Identifier 725473 725490 - VariableStatement 725492 725544 - VariableDeclarationList 725492 725543 - VariableDeclaration 725507 725543 - Identifier 725507 725520 - CallExpression 725522 725543 - Identifier 725522 725533 - Identifier 725534 725542 - ReturnStatement 725544 725752 - CallExpression 725560 725751 - Identifier 725560 725567 - CallExpression 725568 725618 - Identifier 725568 725587 - Identifier 725588 725592 - PropertyAccessExpression 725593 725617 - Identifier 725593 725607 - Identifier 725608 725617 - ArrowFunction 725619 725750 - Parameter 725619 725623 - Identifier 725619 725623 - EqualsGreaterThanToken 725623 725626 - BinaryExpression 725626 725750 - ParenthesizedExpression 725626 725704 - BinaryExpression 725628 725703 - Identifier 725628 725640 - BarBarToken 725640 725643 - BinaryExpression 725643 725703 - Identifier 725643 725656 - GreaterThanEqualsToken 725656 725659 - CallExpression 725659 725703 - Identifier 725659 725683 - PropertyAccessExpression 725684 725702 - Identifier 725684 725687 - Identifier 725688 725702 - AmpersandAmpersandToken 725704 725707 - BinaryExpression 725707 725750 - Identifier 725707 725720 - LessThanEqualsToken 725720 725723 - CallExpression 725723 725750 - Identifier 725723 725730 - PropertyAccessExpression 725731 725749 - Identifier 725731 725734 - Identifier 725735 725749 - FunctionDeclaration 725759 726259 - Identifier 725775 725819 - Parameter 725820 725830 - Identifier 725820 725824 - TypeReference 725825 725830 - Identifier 725825 725830 - Parameter 725831 725882 - Identifier 725831 725849 - UnionType 725850 725882 - TypeOperator 725850 725870 - ArrayType 725859 725870 - TypeReference 725859 725868 - Identifier 725859 725868 - UndefinedKeyword 725872 725882 - Parameter 725883 725898 - Identifier 725883 725892 - TypeReference 725893 725898 - Identifier 725893 725898 - TypeOperator 725900 725921 - ArrayType 725909 725921 - TypeReference 725909 725919 - Identifier 725909 725919 - Block 725921 726259 - VariableStatement 725923 726019 - VariableDeclarationList 725923 726018 - VariableDeclaration 725938 726018 - Identifier 725938 725949 - CallExpression 725951 726018 - Identifier 725951 725983 - Identifier 725984 725988 - Identifier 725989 726007 - Identifier 726008 726017 - VariableStatement 726019 726095 - VariableDeclarationList 726019 726094 - VariableDeclaration 726034 726094 - Identifier 726034 726048 - CallExpression 726050 726094 - Identifier 726050 726054 - Identifier 726055 726072 - Identifier 726073 726093 - ReturnStatement 726095 726252 - CallExpression 726111 726251 - Identifier 726111 726119 - TypeReference 726120 726129 - Identifier 726120 726129 - Identifier 726131 726141 - ArrowFunction 726142 726250 - Parameter 726142 726146 - Identifier 726142 726146 - EqualsGreaterThanToken 726146 726149 - ConditionalExpression 726149 726250 - CallExpression 726149 726174 - Identifier 726149 726154 - PropertyAccessExpression 726155 726173 - Identifier 726155 726158 - Identifier 726159 726173 - QuestionToken 726174 726176 - CallExpression 726176 726244 - Identifier 726176 726202 - Identifier 726203 726206 - Identifier 726207 726221 - CallExpression 726222 726243 - Identifier 726222 726233 - Identifier 726234 726242 - ColonToken 726244 726246 - Identifier 726246 726250 - FunctionDeclaration 726259 729717 - Identifier 726683 726713 - Parameter 726714 726733 - Identifier 726714 726718 - TypeReference 726719 726733 - Identifier 726719 726733 - TypeReference 726735 726740 - Identifier 726735 726740 - Block 726740 729717 - IfStatement 726742 729660 - PrefixUnaryExpression 726756 726789 - PropertyAccessExpression 726757 726789 - Identifier 726757 726761 - Identifier 726762 726789 - Block 726790 729660 - VariableStatement 726792 726864 - VariableDeclarationList 726792 726863 - VariableDeclaration 726811 726863 - Identifier 726811 726816 - CallExpression 726818 726863 - Identifier 726818 726850 - PropertyAccessExpression 726851 726862 - Identifier 726851 726855 - Identifier 726856 726862 - VariableStatement 726864 726934 - VariableDeclarationList 726864 726933 - VariableDeclaration 726883 726933 - Identifier 726883 726892 - BinaryExpression 726894 726933 - Identifier 726894 726899 - AmpersandAmpersandToken 726899 726902 - CallExpression 726902 726933 - Identifier 726902 726927 - Identifier 726928 726932 - VariableStatement 726934 726998 - VariableDeclarationList 726934 726997 - VariableDeclaration 726953 726997 - Identifier 726953 726966 - CallExpression 726968 726997 - Identifier 726968 726991 - Identifier 726992 726996 - IfStatement 726998 727121 - PrefixUnaryExpression 727016 727029 - Identifier 727017 727029 - Block 727030 727121 - ReturnStatement 727032 727106 - BinaryExpression 727056 727105 - PropertyAccessExpression 727056 727089 - Identifier 727056 727061 - Identifier 727062 727089 - EqualsToken 727089 727091 - Identifier 727091 727105 - IfStatement 727121 727269 - PrefixUnaryExpression 727139 727216 - CallExpression 727140 727216 - Identifier 727140 727158 - Identifier 727159 727163 - PropertyAccessExpression 727164 727215 - Identifier 727164 727187 - Identifier 727188 727215 - Block 727217 727269 - ReturnStatement 727219 727254 - Identifier 727243 727253 - VariableStatement 727269 727352 - VariableDeclarationList 727269 727351 - VariableDeclaration 727288 727351 - Identifier 727288 727308 - CallExpression 727310 727351 - Identifier 727310 727326 - PropertyAccessExpression 727327 727350 - Identifier 727327 727339 - Identifier 727340 727350 - IfStatement 727352 727608 - BinaryExpression 727370 727407 - Identifier 727370 727378 - AmpersandAmpersandToken 727378 727381 - BinaryExpression 727381 727407 - Identifier 727381 727394 - ExclamationEqualsEqualsToken 727394 727398 - Identifier 727398 727407 - Block 727408 727608 - ExpressionStatement 727410 727466 - CallExpression 727410 727465 - PropertyAccessExpression 727410 727440 - Identifier 727410 727433 - Identifier 727434 727440 - PrefixUnaryExpression 727441 727464 - PropertyAccessExpression 727442 727464 - Identifier 727442 727450 - Identifier 727451 727464 - ExpressionStatement 727466 727593 - CallExpression 727466 727592 - Identifier 727466 727571 - PropertyAccessExpression 727572 727591 - Identifier 727572 727580 - Identifier 727581 727591 - IfStatement 727608 727986 - BinaryExpression 727626 727697 - PropertyAccessExpression 727626 727651 - Identifier 727626 727645 - Identifier 727646 727651 - AmpersandToken 727651 727653 - ParenthesizedExpression 727653 727697 - BinaryExpression 727655 727696 - PropertyAccessExpression 727655 727671 - Identifier 727655 727664 - Identifier 727665 727671 - BarToken 727671 727673 - PropertyAccessExpression 727673 727696 - Identifier 727673 727683 - Identifier 727684 727696 - Block 727698 727986 - ExpressionStatement 727700 727971 - CallExpression 727700 727970 - Identifier 727700 727935 - AsExpression 727936 727969 - Identifier 727936 727955 - TypeReference 727958 727969 - Identifier 727958 727969 - IfStatement 727986 728277 - PrefixUnaryExpression 728004 728024 - CallExpression 728005 728024 - Identifier 728005 728022 - Block 728025 728277 - ExpressionStatement 728027 728190 - CallExpression 728027 728189 - Identifier 728027 728050 - PropertyAccessExpression 728051 728079 - PropertyAccessExpression 728051 728062 - Identifier 728051 728055 - Identifier 728056 728062 - Identifier 728063 728079 - PropertyAccessExpression 728080 728159 - Identifier 728080 728092 - Identifier 728093 728159 - CallExpression 728160 728188 - Identifier 728160 728175 - PropertyAccessExpression 728176 728187 - Identifier 728176 728180 - Identifier 728181 728187 - ReturnStatement 728190 728262 - BinaryExpression 728214 728261 - PropertyAccessExpression 728214 728247 - Identifier 728214 728219 - Identifier 728220 728247 - QuestionQuestionEqualsToken 728247 728251 - Identifier 728251 728261 - IfStatement 728277 729578 - BinaryExpression 728295 728426 - BinaryExpression 728295 728383 - PrefixUnaryExpression 728295 728339 - ParenthesizedExpression 728296 728339 - BinaryExpression 728297 728338 - PropertyAccessExpression 728297 728322 - Identifier 728297 728316 - Identifier 728317 728322 - AmpersandToken 728322 728324 - PropertyAccessExpression 728324 728338 - Identifier 728324 728334 - Identifier 728335 728338 - AmpersandAmpersandToken 728339 728342 - BinaryExpression 728342 728383 - Identifier 728342 728362 - ExclamationEqualsEqualsToken 728362 728366 - Identifier 728366 728383 - AmpersandAmpersandToken 728383 728386 - PrefixUnaryExpression 728386 728426 - CallExpression 728388 728426 - Identifier 728388 728405 - Identifier 728406 728425 - Block 728427 729578 - VariableStatement 728429 728580 - VariableDeclarationList 728429 728579 - VariableDeclaration 728452 728579 - Identifier 728452 728456 - CallExpression 728458 728579 - Identifier 728458 728464 - PropertyAccessExpression 728465 728488 - Identifier 728465 728477 - Identifier 728478 728488 - PropertyAccessExpression 728489 728543 - Identifier 728489 728501 - Identifier 728502 728543 - CallExpression 728544 728578 - Identifier 728544 728557 - Identifier 728558 728577 - IfStatement 728580 729491 - BinaryExpression 728602 728653 - PropertyAccessExpression 728602 728627 - Identifier 728602 728621 - Identifier 728622 728627 - AmpersandToken 728627 728629 - PropertyAccessExpression 728629 728653 - Identifier 728629 728639 - Identifier 728640 728653 - Block 728654 729491 - VariableStatement 728656 728749 - VariableDeclarationList 728656 728748 - VariableDeclaration 728683 728748 - Identifier 728683 728694 - CallExpression 728696 728748 - Identifier 728696 728727 - Identifier 728728 728747 - VariableStatement 728749 728806 - VariableDeclarationList 728749 728805 - VariableDeclaration 728774 728805 - Identifier 728774 728785 - TypeReference 728786 728791 - Identifier 728786 728791 - Identifier 728793 728805 - IfStatement 728806 729117 - Identifier 728832 728842 - Block 728843 729117 - VariableStatement 728845 728944 - VariableDeclarationList 728845 728943 - VariableDeclaration 728876 728943 - Identifier 728876 728884 - CallExpression 728886 728943 - Identifier 728886 728906 - Identifier 728907 728917 - PropertyAccessExpression 728918 728942 - Identifier 728918 728932 - Identifier 728933 728942 - IfStatement 728944 729094 - ElementAccessExpression 728974 728984 - Identifier 728974 728981 - NumericLiteral 728982 728983 - Block 728985 729094 - ExpressionStatement 728987 729067 - BinaryExpression 728987 729066 - Identifier 728987 729027 - EqualsToken 729027 729029 - CallExpression 729029 729066 - Identifier 729029 729054 - ElementAccessExpression 729055 729065 - Identifier 729055 729062 - NumericLiteral 729063 729064 - IfStatement 729117 729472 - PropertyAccessExpression 729143 729182 - PropertyAccessExpression 729143 729169 - Identifier 729143 729162 - Identifier 729163 729169 - Identifier 729170 729182 - Block 729183 729472 - ExpressionStatement 729185 729449 - CallExpression 729185 729448 - Identifier 729185 729225 - Identifier 729226 729229 - CallExpression 729230 729447 - Identifier 729230 729254 - ElementAccessExpression 729255 729297 - PropertyAccessExpression 729255 729294 - PropertyAccessExpression 729255 729281 - Identifier 729255 729274 - Identifier 729275 729281 - Identifier 729282 729294 - NumericLiteral 729295 729296 - PropertyAccessExpression 729298 729376 - Identifier 729298 729310 - Identifier 729311 729376 - CallExpression 729377 729420 - Identifier 729377 729392 - PropertyAccessExpression 729393 729419 - Identifier 729393 729412 - Identifier 729413 729419 - CallExpression 729421 729446 - Identifier 729421 729434 - Identifier 729435 729445 - ReturnStatement 729491 729563 - BinaryExpression 729515 729562 - PropertyAccessExpression 729515 729548 - Identifier 729515 729520 - Identifier 729521 729548 - QuestionQuestionEqualsToken 729548 729552 - Identifier 729552 729562 - ExpressionStatement 729578 729649 - BinaryExpression 729578 729648 - PropertyAccessExpression 729578 729624 - Identifier 729578 729596 - Identifier 729597 729624 - QuestionQuestionEqualsToken 729624 729628 - Identifier 729628 729648 - ReturnStatement 729660 729710 - PropertyAccessExpression 729676 729709 - Identifier 729676 729681 - Identifier 729682 729709 - FunctionDeclaration 729717 730748 - Identifier 729733 729752 - Parameter 729753 729772 - Identifier 729753 729757 - TypeReference 729758 729772 - Identifier 729758 729772 - ArrayType 729774 729785 - TypeReference 729774 729783 - Identifier 729774 729783 - Block 729785 730748 - VariableStatement 729787 729850 - VariableDeclarationList 729787 729849 - VariableDeclaration 729800 729849 - Identifier 729800 729824 - ArrayType 729825 729836 - TypeReference 729825 729834 - Identifier 729825 729834 - Identifier 729838 729849 - IfStatement 729850 730700 - PropertyAccessExpression 729864 729888 - PropertyAccessExpression 729864 729875 - Identifier 729864 729868 - Identifier 729869 729875 - Identifier 729876 729888 - Block 729889 730700 - ForOfStatement 729891 730689 - VariableDeclarationList 729910 729927 - VariableDeclaration 729915 729927 - Identifier 729915 729927 - PropertyAccessExpression 729930 729955 - PropertyAccessExpression 729930 729942 - Identifier 729930 729935 - Identifier 729936 729942 - Identifier 729943 729955 - Block 729956 730689 - VariableStatement 729958 730073 - VariableDeclarationList 729958 730072 - VariableDeclaration 729981 730072 - Identifier 729981 730001 - CallExpression 730003 730072 - Identifier 730003 730035 - AsExpression 730036 730071 - Identifier 730036 730047 - TypeReference 730050 730071 - Identifier 730050 730071 - IfStatement 730073 730126 - PrefixUnaryExpression 730095 730115 - Identifier 730096 730115 - ContinueStatement 730116 730126 - ForOfStatement 730126 730674 - VariableDeclarationList 730149 730159 - VariableDeclaration 730154 730159 - Identifier 730154 730159 - Identifier 730162 730182 - Block 730183 730674 - VariableStatement 730185 730256 - VariableDeclarationList 730185 730255 - VariableDeclaration 730212 730255 - Identifier 730212 730227 - CallExpression 730229 730255 - Identifier 730229 730249 - Identifier 730250 730254 - IfStatement 730256 730655 - PrefixUnaryExpression 730282 730310 - CallExpression 730283 730310 - Identifier 730283 730294 - Identifier 730295 730309 - Block 730311 730655 - IfStatement 730313 730632 - BinaryExpression 730343 730381 - Identifier 730343 730366 - EqualsEqualsEqualsToken 730366 730370 - Identifier 730370 730381 - Block 730382 730498 - ExpressionStatement 730384 730471 - BinaryExpression 730384 730470 - Identifier 730384 730437 - EqualsToken 730437 730439 - ArrayLiteralExpression 730439 730470 - AsExpression 730441 730469 - Identifier 730441 730455 - TypeReference 730458 730469 - Identifier 730458 730469 - Block 730528 730632 - ExpressionStatement 730530 730605 - CallExpression 730530 730604 - PropertyAccessExpression 730530 730588 - Identifier 730530 730583 - Identifier 730584 730588 - Identifier 730589 730603 - ReturnStatement 730700 730741 - Identifier 730716 730740 - FunctionDeclaration 730748 731004 - Identifier 730764 730787 - Parameter 730788 730798 - Identifier 730788 730792 - TypeReference 730793 730798 - Identifier 730793 730798 - Parameter 730799 730810 - Identifier 730799 730804 - TypeReference 730805 730810 - Identifier 730805 730810 - Block 730811 731004 - ExpressionStatement 730813 730997 - CallExpression 730813 730996 - Identifier 730813 730828 - Identifier 730829 730833 - PropertyAccessExpression 730834 730898 - Identifier 730834 730846 - Identifier 730847 730898 - CallExpression 730899 730995 - Identifier 730899 730912 - Identifier 730913 730917 - Identifier 730918 730953 - PropertyAccessExpression 730954 730994 - Identifier 730954 730970 - Identifier 730971 730994 - FunctionDeclaration 731004 732424 - Identifier 731020 731033 - Parameter 731034 731053 - Identifier 731034 731038 - TypeReference 731039 731053 - Identifier 731039 731053 - ArrayType 731055 731066 - TypeReference 731055 731064 - Identifier 731055 731064 - Block 731066 732424 - IfStatement 731068 732377 - PrefixUnaryExpression 731082 731105 - PropertyAccessExpression 731083 731105 - Identifier 731083 731087 - Identifier 731088 731105 - Block 731106 732377 - IfStatement 731108 732322 - CallExpression 731126 731192 - Identifier 731126 731144 - Identifier 731145 731149 - PropertyAccessExpression 731150 731191 - Identifier 731150 731173 - Identifier 731174 731191 - Block 731193 732322 - IfStatement 731195 731881 - BinaryExpression 731217 731253 - PropertyAccessExpression 731217 731233 - Identifier 731217 731221 - Identifier 731222 731233 - AmpersandToken 731233 731235 - PropertyAccessExpression 731235 731253 - Identifier 731235 731247 - Identifier 731248 731253 - Block 731254 731360 - ExpressionStatement 731256 731341 - BinaryExpression 731256 731340 - PropertyAccessExpression 731256 731300 - Identifier 731256 731282 - Identifier 731283 731300 - EqualsToken 731300 731302 - ArrayLiteralExpression 731302 731340 - CallExpression 731304 731339 - Identifier 731304 731320 - AsExpression 731321 731338 - Identifier 731321 731325 - TypeReference 731328 731338 - Identifier 731328 731338 - IfStatement 731382 731881 - BinaryExpression 731387 731450 - PropertyAccessExpression 731387 731404 - PropertyAccessExpression 731387 731398 - Identifier 731387 731391 - Identifier 731392 731398 - Identifier 731399 731404 - AmpersandToken 731404 731406 - ParenthesizedExpression 731406 731450 - BinaryExpression 731408 731449 - PropertyAccessExpression 731408 731425 - Identifier 731408 731419 - Identifier 731420 731425 - BarToken 731425 731427 - PropertyAccessExpression 731427 731449 - Identifier 731427 731439 - Identifier 731440 731449 - Block 731451 731770 - IfStatement 731453 731598 - BinaryExpression 731479 731516 - PropertyAccessExpression 731479 731496 - PropertyAccessExpression 731479 731490 - Identifier 731479 731483 - Identifier 731484 731490 - Identifier 731491 731496 - AmpersandToken 731496 731498 - PropertyAccessExpression 731498 731516 - Identifier 731498 731510 - Identifier 731511 731516 - Block 731517 731598 - ExpressionStatement 731519 731575 - CallExpression 731519 731574 - Identifier 731519 731568 - Identifier 731569 731573 - IfStatement 731598 731751 - BinaryExpression 731624 731665 - PropertyAccessExpression 731624 731641 - PropertyAccessExpression 731624 731635 - Identifier 731624 731628 - Identifier 731629 731635 - Identifier 731636 731641 - AmpersandToken 731641 731643 - PropertyAccessExpression 731643 731665 - Identifier 731643 731655 - Identifier 731656 731665 - Block 731666 731751 - ExpressionStatement 731668 731728 - CallExpression 731668 731727 - Identifier 731668 731721 - Identifier 731722 731726 - Block 731792 731881 - ExpressionStatement 731794 731862 - CallExpression 731794 731861 - PropertyAccessExpression 731794 731826 - Identifier 731794 731821 - Identifier 731822 731826 - StringLiteral 731827 731860 - IfStatement 731881 732307 - BinaryExpression 731903 731951 - PrefixUnaryExpression 731903 731923 - CallExpression 731904 731923 - Identifier 731904 731921 - AmpersandAmpersandToken 731923 731926 - PropertyAccessExpression 731926 731951 - PropertyAccessExpression 731926 731938 - Identifier 731926 731931 - Identifier 731932 731938 - Identifier 731939 731951 - Block 731952 732307 - ForOfStatement 731954 732288 - VariableDeclarationList 731981 731998 - VariableDeclaration 731986 731998 - Identifier 731986 731998 - PropertyAccessExpression 732001 732026 - PropertyAccessExpression 732001 732013 - Identifier 732001 732006 - Identifier 732007 732013 - Identifier 732014 732026 - Block 732027 732288 - IfStatement 732029 732265 - BinaryExpression 732059 732163 - BinaryExpression 732059 732107 - PropertyAccessExpression 732059 732075 - Identifier 732059 732070 - Identifier 732071 732075 - EqualsEqualsEqualsToken 732075 732079 - PropertyAccessExpression 732079 732107 - Identifier 732079 732090 - Identifier 732091 732107 - BarBarToken 732107 732110 - BinaryExpression 732110 732163 - PropertyAccessExpression 732110 732127 - Identifier 732110 732122 - Identifier 732123 732127 - EqualsEqualsEqualsToken 732127 732131 - PropertyAccessExpression 732131 732163 - Identifier 732131 732142 - Identifier 732143 732163 - Block 732164 732265 - ExpressionStatement 732166 732238 - CallExpression 732166 732237 - Identifier 732166 732218 - Identifier 732219 732230 - Identifier 732231 732236 - ExpressionStatement 732322 732366 - BinaryExpression 732322 732365 - PropertyAccessExpression 732322 732358 - Identifier 732322 732340 - Identifier 732341 732358 - EqualsToken 732358 732360 - TrueKeyword 732360 732365 - ReturnStatement 732377 732417 - PropertyAccessExpression 732393 732416 - Identifier 732393 732398 - Identifier 732399 732416 - FunctionDeclaration 732424 732731 - Identifier 732440 732457 - Parameter 732458 732473 - Identifier 732458 732462 - TypeReference 732463 732473 - Identifier 732463 732473 - Block 732474 732731 - VariableStatement 732476 732634 - VariableDeclarationList 732476 732633 - VariableDeclaration 732491 732633 - Identifier 732491 732504 - CallExpression 732506 732633 - Identifier 732506 732514 - PropertyAccessExpression 732515 732534 - Identifier 732515 732519 - Identifier 732520 732534 - ArrowFunction 732535 732632 - Parameter 732537 732538 - Identifier 732537 732538 - Parameter 732539 732541 - Identifier 732539 732541 - EqualsGreaterThanToken 732542 732545 - ConditionalExpression 732545 732632 - BinaryExpression 732545 732590 - ElementAccessExpression 732545 732566 - PropertyAccessExpression 732545 732563 - Identifier 732545 732550 - Identifier 732551 732563 - Identifier 732564 732565 - AmpersandToken 732566 732568 - PropertyAccessExpression 732568 732590 - Identifier 732568 732581 - Identifier 732582 732590 - QuestionToken 732590 732592 - CallExpression 732592 732628 - Identifier 732592 732613 - Identifier 732614 732615 - Identifier 732616 732627 - ColonToken 732628 732630 - Identifier 732630 732632 - ReturnStatement 732634 732724 - CallExpression 732650 732723 - Identifier 732650 732666 - CallExpression 732667 732707 - Identifier 732667 732679 - BinaryExpression 732680 732706 - Identifier 732680 732692 - BarBarToken 732692 732695 - Identifier 732695 732706 - PropertyAccessExpression 732708 732722 - Identifier 732708 732713 - Identifier 732714 732722 - FunctionDeclaration 732731 736679 - Identifier 732747 732771 - Parameter 732772 732791 - Identifier 732772 732776 - TypeReference 732777 732791 - Identifier 732777 732791 - Block 732792 736679 - ExpressionStatement 732794 732849 - BinaryExpression 732794 732848 - PropertyAccessExpression 732794 732826 - Identifier 732794 732808 - Identifier 732809 732826 - EqualsToken 732826 732828 - Identifier 732828 732848 - VariableStatement 732849 732940 - VariableDeclarationList 732849 732939 - VariableDeclaration 732864 732939 - Identifier 732864 732884 - CallExpression 732886 732939 - Identifier 732886 732902 - CallExpression 732903 732938 - Identifier 732903 732932 - Identifier 732933 732937 - IfStatement 732940 733115 - PrefixUnaryExpression 732954 733044 - ParenthesizedExpression 732955 733044 - BinaryExpression 732956 733043 - PropertyAccessExpression 732956 732981 - Identifier 732956 732975 - Identifier 732976 732981 - AmpersandToken 732981 732983 - ParenthesizedExpression 732983 733043 - BinaryExpression 732985 733042 - BinaryExpression 732985 733026 - PropertyAccessExpression 732985 733001 - Identifier 732985 732994 - Identifier 732995 733001 - BarToken 733001 733003 - PropertyAccessExpression 733003 733026 - Identifier 733003 733013 - Identifier 733014 733026 - BarToken 733026 733028 - PropertyAccessExpression 733028 733042 - Identifier 733028 733038 - Identifier 733039 733042 - Block 733045 733115 - ReturnStatement 733047 733104 - BinaryExpression 733067 733103 - PropertyAccessExpression 733067 733090 - Identifier 733067 733072 - Identifier 733073 733090 - EqualsToken 733090 733092 - Identifier 733092 733103 - VariableStatement 733115 733176 - VariableDeclarationList 733115 733175 - VariableDeclaration 733130 733175 - Identifier 733130 733143 - NonNullExpression 733145 733175 - CallExpression 733145 733174 - Identifier 733145 733168 - Identifier 733169 733173 - VariableStatement 733176 733205 - VariableDeclarationList 733176 733204 - VariableDeclaration 733189 733204 - Identifier 733189 733198 - TypeReference 733199 733204 - Identifier 733199 733204 - VariableStatement 733205 733333 - VariableDeclarationList 733205 733332 - VariableDeclaration 733220 733332 - Identifier 733220 733237 - ConditionalExpression 733239 733332 - PropertyAccessExpression 733239 733266 - Identifier 733239 733259 - Identifier 733260 733266 - QuestionToken 733266 733268 - CallExpression 733268 733320 - Identifier 733268 733292 - PropertyAccessExpression 733293 733319 - Identifier 733293 733312 - Identifier 733313 733319 - ColonToken 733320 733322 - Identifier 733322 733332 - IfStatement 733333 734970 - BinaryExpression 733347 733511 - BinaryExpression 733347 733443 - PropertyAccessExpression 733347 733387 - Identifier 733347 733380 - Identifier 733381 733387 - AmpersandAmpersandToken 733387 733390 - BinaryExpression 733390 733443 - PropertyAccessExpression 733390 733423 - PropertyAccessExpression 733390 733417 - Identifier 733390 733410 - Identifier 733411 733417 - Identifier 733418 733423 - AmpersandToken 733423 733425 - PropertyAccessExpression 733425 733443 - Identifier 733425 733437 - Identifier 733438 733443 - AmpersandAmpersandToken 733443 733446 - CallExpression 733446 733511 - Identifier 733446 733492 - NonNullExpression 733493 733510 - Identifier 733493 733509 - Block 733522 734036 - ExpressionStatement 733524 734025 - BinaryExpression 733524 734024 - Identifier 733524 733943 - EqualsToken 733943 733945 - CallExpression 733945 734024 - Identifier 733945 733982 - Identifier 733983 733995 - PropertyAccessExpression 733996 734023 - Identifier 733996 734016 - Identifier 734017 734023 - IfStatement 734050 734970 - BinaryExpression 734055 734096 - PropertyAccessExpression 734055 734080 - Identifier 734055 734074 - Identifier 734075 734080 - AmpersandToken 734080 734082 - PropertyAccessExpression 734082 734096 - Identifier 734082 734092 - Identifier 734093 734096 - Block 734097 734155 - ExpressionStatement 734099 734144 - BinaryExpression 734099 734143 - Identifier 734099 734121 - EqualsToken 734121 734123 - Identifier 734123 734143 - Block 734169 734970 - VariableStatement 734171 734650 - VariableDeclarationList 734171 734649 - VariableDeclaration 734527 734649 - Identifier 734527 734540 - CallExpression 734542 734649 - Identifier 734542 734586 - Identifier 734587 734606 - PropertyAccessExpression 734607 734634 - Identifier 734607 734620 - Identifier 734621 734634 - Identifier 734635 734648 - IfStatement 734650 734892 - PrefixUnaryExpression 734668 734688 - PropertyAccessExpression 734669 734688 - Identifier 734669 734681 - Identifier 734682 734688 - Block 734689 734892 - ExpressionStatement 734691 734816 - CallExpression 734691 734815 - Identifier 734691 734714 - PropertyAccessExpression 734715 734738 - Identifier 734715 734727 - Identifier 734728 734738 - PropertyAccessExpression 734739 734814 - Identifier 734739 734751 - Identifier 734752 734814 - ReturnStatement 734816 734877 - BinaryExpression 734840 734876 - PropertyAccessExpression 734840 734863 - Identifier 734840 734845 - Identifier 734846 734863 - EqualsToken 734863 734865 - Identifier 734865 734876 - ExpressionStatement 734892 734959 - BinaryExpression 734892 734958 - Identifier 734892 734914 - EqualsToken 734914 734916 - CallExpression 734916 734958 - Identifier 734916 734941 - ElementAccessExpression 734942 734957 - Identifier 734942 734954 - NumericLiteral 734955 734956 - IfStatement 734970 735078 - CallExpression 734986 735007 - Identifier 734986 734997 - Identifier 734998 735006 - Block 735008 735078 - ReturnStatement 735010 735067 - BinaryExpression 735030 735066 - PropertyAccessExpression 735030 735053 - Identifier 735030 735035 - Identifier 735036 735053 - EqualsToken 735053 735055 - Identifier 735055 735066 - VariableStatement 735078 735137 - VariableDeclarationList 735078 735136 - VariableDeclaration 735093 735136 - Identifier 735093 735109 - CallExpression 735111 735136 - Identifier 735111 735126 - Identifier 735127 735135 - IfStatement 735137 735734 - PrefixUnaryExpression 735151 735184 - CallExpression 735152 735184 - Identifier 735152 735167 - Identifier 735168 735183 - Block 735185 735734 - VariableStatement 735187 735283 - VariableDeclarationList 735187 735282 - VariableDeclaration 735206 735282 - Identifier 735206 735218 - CallExpression 735220 735282 - Identifier 735220 735247 - Identifier 735248 735271 - Identifier 735272 735281 - VariableStatement 735283 735512 - VariableDeclarationList 735283 735511 - VariableDeclaration 735302 735511 - Identifier 735302 735313 - CallExpression 735315 735511 - Identifier 735315 735339 - Identifier 735340 735351 - PropertyAccessExpression 735352 735479 - Identifier 735352 735364 - Identifier 735365 735479 - CallExpression 735480 735510 - Identifier 735480 735493 - Identifier 735494 735509 - ExpressionStatement 735512 735666 - CallExpression 735512 735665 - PropertyAccessExpression 735512 735541 - Identifier 735512 735537 - Identifier 735538 735541 - CallExpression 735542 735664 - Identifier 735542 735581 - CallExpression 735582 735626 - Identifier 735582 735601 - PropertyAccessExpression 735602 735625 - Identifier 735602 735614 - Identifier 735615 735625 - PropertyAccessExpression 735627 735651 - Identifier 735627 735640 - Identifier 735641 735651 - Identifier 735652 735663 - ReturnStatement 735666 735723 - BinaryExpression 735686 735722 - PropertyAccessExpression 735686 735709 - Identifier 735686 735691 - Identifier 735692 735709 - EqualsToken 735709 735711 - Identifier 735711 735722 - IfStatement 735734 736093 - BinaryExpression 735748 735810 - BinaryExpression 735748 735772 - Identifier 735748 735752 - EqualsEqualsEqualsToken 735752 735756 - Identifier 735756 735772 - BarBarToken 735772 735775 - CallExpression 735775 735810 - Identifier 735775 735787 - Identifier 735788 735803 - Identifier 735804 735809 - Block 735811 736093 - ExpressionStatement 735813 736025 - CallExpression 735813 736024 - Identifier 735813 735832 - PropertyAccessExpression 735833 735861 - PropertyAccessExpression 735833 735844 - Identifier 735833 735837 - Identifier 735838 735844 - Identifier 735845 735861 - PropertyAccessExpression 735862 735926 - Identifier 735862 735874 - Identifier 735875 735926 - CallExpression 735927 736023 - Identifier 735927 735940 - Identifier 735941 735945 - Identifier 735946 735981 - PropertyAccessExpression 735982 736022 - Identifier 735982 735998 - Identifier 735999 736022 - ReturnStatement 736025 736082 - BinaryExpression 736045 736081 - PropertyAccessExpression 736045 736068 - Identifier 736045 736050 - Identifier 736051 736068 - EqualsToken 736068 736070 - Identifier 736070 736081 - IfStatement 736093 736612 - BinaryExpression 736107 736153 - PropertyAccessExpression 736107 736129 - Identifier 736107 736111 - Identifier 736112 736129 - EqualsEqualsEqualsToken 736129 736133 - Identifier 736133 736153 - Block 736154 736612 - ExpressionStatement 736156 736601 - BinaryExpression 736156 736600 - PropertyAccessExpression 736156 736588 - Identifier 736156 736580 - Identifier 736581 736588 - EqualsToken 736588 736590 - Identifier 736590 736600 - ReturnStatement 736612 736672 - BinaryExpression 736628 736671 - PropertyAccessExpression 736628 736651 - Identifier 736628 736633 - Identifier 736634 736651 - EqualsToken 736651 736653 - ArrayLiteralExpression 736653 736671 - Identifier 736655 736670 - FunctionDeclaration 736679 737395 - Identifier 736695 736728 - Parameter 736729 736739 - Identifier 736729 736733 - TypeReference 736734 736739 - Identifier 736734 736739 - BooleanKeyword 736741 736749 - Block 736749 737395 - VariableStatement 736751 737100 - VariableDeclarationList 736751 737099 - VariableDeclaration 737033 737099 - Identifier 737033 737053 - PropertyAccessExpression 737055 737099 - ParenthesizedExpression 737055 737079 - AsExpression 737057 737078 - Identifier 737057 737061 - TypeReference 737064 737078 - Identifier 737064 737078 - Identifier 737080 737099 - IfStatement 737100 737366 - Identifier 737114 737133 - Block 737134 737366 - VariableStatement 737136 737194 - VariableDeclarationList 737136 737193 - VariableDeclaration 737155 737193 - Identifier 737155 737160 - BinaryExpression 737162 737193 - PropertyAccessExpression 737162 737189 - Identifier 737162 737182 - Identifier 737183 737189 - MinusToken 737189 737191 - NumericLiteral 737191 737193 - VariableStatement 737194 737270 - VariableDeclarationList 737194 737269 - VariableDeclaration 737213 737269 - Identifier 737213 737227 - CallExpression 737229 737269 - Identifier 737229 737246 - AsExpression 737247 737268 - Identifier 737247 737251 - TypeReference 737254 737268 - Identifier 737254 737268 - ReturnStatement 737270 737355 - BinaryExpression 737290 737354 - PropertyAccessExpression 737290 737323 - ElementAccessExpression 737290 737316 - Identifier 737290 737310 - Identifier 737311 737315 - Identifier 737317 737323 - ExclamationEqualsEqualsToken 737323 737327 - PropertyAccessExpression 737327 737354 - ElementAccessExpression 737327 737347 - Identifier 737327 737341 - Identifier 737342 737346 - Identifier 737348 737354 - ReturnStatement 737366 737388 - TrueKeyword 737382 737387 - FunctionDeclaration 737395 738221 - Identifier 737495 737511 - Parameter 737512 737522 - Identifier 737512 737516 - TypeReference 737517 737522 - Identifier 737517 737522 - TypePredicate 737524 737541 - Identifier 737524 737529 - TypeReference 737532 737541 - Identifier 737532 737541 - Block 737541 738221 - IfStatement 737543 737769 - BinaryExpression 737557 737593 - PropertyAccessExpression 737557 737567 - Identifier 737557 737561 - Identifier 737562 737567 - AmpersandToken 737567 737569 - PropertyAccessExpression 737569 737593 - Identifier 737569 737579 - Identifier 737580 737593 - Block 737594 737769 - VariableStatement 737596 737659 - VariableDeclarationList 737596 737658 - VariableDeclaration 737615 737658 - Identifier 737615 737626 - CallExpression 737628 737658 - Identifier 737628 737652 - Identifier 737653 737657 - IfStatement 737659 737758 - Identifier 737677 737687 - Block 737688 737758 - ReturnStatement 737690 737743 - CallExpression 737714 737742 - Identifier 737714 737730 - Identifier 737731 737741 - ReturnStatement 737769 738214 - PrefixUnaryExpression 737994 738213 - PrefixUnaryExpression 737996 738213 - ParenthesizedExpression 737997 738213 - BinaryExpression 737998 738212 - BinaryExpression 737998 738100 - BinaryExpression 737998 738070 - PropertyAccessExpression 737998 738008 - Identifier 737998 738002 - Identifier 738003 738008 - AmpersandToken 738008 738010 - ParenthesizedExpression 738010 738070 - BinaryExpression 738012 738069 - BinaryExpression 738012 738053 - PropertyAccessExpression 738012 738028 - Identifier 738012 738021 - Identifier 738022 738028 - BarToken 738028 738030 - PropertyAccessExpression 738030 738053 - Identifier 738030 738040 - Identifier 738041 738053 - BarToken 738053 738055 - PropertyAccessExpression 738055 738069 - Identifier 738055 738065 - Identifier 738066 738069 - AmpersandAmpersandToken 738070 738073 - PrefixUnaryExpression 738073 738100 - CallExpression 738075 738100 - Identifier 738075 738094 - Identifier 738095 738099 - BarBarToken 738100 738103 - BinaryExpression 738103 738212 - BinaryExpression 738103 738152 - PropertyAccessExpression 738103 738127 - Identifier 738103 738121 - Identifier 738122 738127 - AmpersandToken 738127 738129 - PropertyAccessExpression 738129 738152 - Identifier 738129 738139 - Identifier 738140 738152 - AmpersandAmpersandToken 738152 738155 - CallExpression 738155 738212 - Identifier 738155 738161 - PropertyAccessExpression 738162 738194 - ParenthesizedExpression 738162 738188 - AsExpression 738163 738187 - Identifier 738163 738167 - TypeReference 738170 738187 - Identifier 738170 738187 - Identifier 738189 738194 - Identifier 738195 738211 - FunctionDeclaration 738221 739947 - Identifier 738237 738265 - Parameter 738266 738285 - Identifier 738266 738270 - TypeReference 738271 738285 - Identifier 738271 738285 - VoidKeyword 738287 738292 - Block 738292 739947 - ExpressionStatement 738294 738366 - BinaryExpression 738294 738365 - PropertyAccessExpression 738294 738326 - Identifier 738294 738308 - Identifier 738309 738326 - EqualsToken 738326 738328 - BinaryExpression 738328 738365 - PropertyAccessExpression 738328 738351 - Identifier 738328 738333 - Identifier 738334 738351 - BarBarToken 738351 738354 - Identifier 738354 738365 - IfStatement 738366 739940 - PropertyAccessExpression 738380 738404 - PropertyAccessExpression 738380 738391 - Identifier 738380 738384 - Identifier 738385 738391 - Identifier 738392 738404 - Block 738405 739940 - ForOfStatement 738407 739929 - VariableDeclarationList 738426 738443 - VariableDeclaration 738431 738443 - Identifier 738431 738443 - PropertyAccessExpression 738446 738471 - PropertyAccessExpression 738446 738458 - Identifier 738446 738451 - Identifier 738452 738458 - Identifier 738459 738471 - Block 738472 739929 - IfStatement 738474 739914 - BinaryExpression 738496 738614 - BinaryExpression 738496 738548 - PropertyAccessExpression 738496 738512 - Identifier 738496 738507 - Identifier 738508 738512 - EqualsEqualsEqualsToken 738512 738516 - PropertyAccessExpression 738516 738548 - Identifier 738516 738527 - Identifier 738528 738548 - AmpersandAmpersandToken 738548 738551 - CallExpression 738551 738614 - Identifier 738551 738577 - AsExpression 738578 738613 - Identifier 738578 738589 - TypeReference 738592 738613 - Identifier 738592 738613 - Block 738615 739914 - ForOfStatement 738617 739895 - VariableDeclarationList 738644 738654 - VariableDeclaration 738649 738654 - Identifier 738649 738654 - NonNullExpression 738657 738721 - CallExpression 738657 738720 - Identifier 738657 738683 - AsExpression 738684 738719 - Identifier 738684 738695 - TypeReference 738698 738719 - Identifier 738698 738719 - Block 738722 739895 - VariableStatement 738724 738809 - VariableDeclarationList 738724 738808 - VariableDeclaration 738755 738808 - Identifier 738755 738764 - CallExpression 738766 738808 - Identifier 738766 738781 - CallExpression 738782 738807 - Identifier 738782 738801 - Identifier 738802 738806 - IfStatement 738809 739872 - PrefixUnaryExpression 738839 738861 - CallExpression 738840 738861 - Identifier 738840 738851 - Identifier 738852 738860 - Block 738862 739872 - IfStatement 738864 739845 - CallExpression 738898 738923 - Identifier 738898 738913 - Identifier 738914 738922 - Block 738924 739613 - IfStatement 738926 739582 - BinaryExpression 738964 739013 - BinaryExpression 738964 738981 - Identifier 738964 738968 - ExclamationEqualsEqualsToken 738968 738972 - Identifier 738972 738981 - AmpersandAmpersandToken 738981 738984 - PrefixUnaryExpression 738984 739013 - CallExpression 738986 739013 - Identifier 738986 738997 - Identifier 738998 739006 - Identifier 739007 739012 - Block 739014 739427 - IfStatement 739016 739392 - BinaryExpression 739058 739095 - PropertyAccessExpression 739058 739080 - Identifier 739058 739062 - Identifier 739063 739080 - EqualsEqualsEqualsToken 739080 739084 - Identifier 739084 739095 - Block 739096 739229 - ExpressionStatement 739098 739190 - BinaryExpression 739098 739189 - PropertyAccessExpression 739098 739162 - Identifier 739098 739144 - Identifier 739145 739162 - EqualsToken 739162 739164 - ArrayLiteralExpression 739164 739189 - AsExpression 739166 739188 - Identifier 739166 739174 - TypeReference 739177 739188 - Identifier 739177 739188 - Block 739271 739392 - ExpressionStatement 739273 739353 - CallExpression 739273 739352 - PropertyAccessExpression 739273 739342 - PropertyAccessExpression 739273 739337 - Identifier 739273 739319 - Identifier 739320 739337 - Identifier 739338 739342 - Identifier 739343 739351 - Block 739465 739582 - ExpressionStatement 739467 739547 - CallExpression 739467 739546 - Identifier 739467 739527 - Identifier 739528 739539 - Identifier 739540 739545 - Block 739647 739845 - ExpressionStatement 739649 739814 - CallExpression 739649 739813 - Identifier 739649 739688 - Identifier 739689 739693 - PropertyAccessExpression 739694 739812 - Identifier 739694 739706 - Identifier 739707 739812 - FunctionDeclaration 739947 741416 - Identifier 740293 740313 - Parameter 740314 740328 - Identifier 740314 740320 - TypeReference 740321 740328 - Identifier 740321 740328 - BooleanKeyword 740330 740338 - Block 740338 741416 - IfStatement 740340 740414 - PrefixUnaryExpression 740354 740374 - PropertyAccessExpression 740355 740374 - Identifier 740355 740361 - Identifier 740362 740374 - Block 740375 740414 - ReturnStatement 740377 740403 - TrueKeyword 740397 740402 - ForOfStatement 740414 741387 - VariableDeclarationList 740429 740446 - VariableDeclaration 740434 740446 - Identifier 740434 740446 - PropertyAccessExpression 740449 740469 - Identifier 740449 740456 - Identifier 740457 740469 - Block 740470 741387 - IfStatement 740472 741376 - BinaryExpression 740490 740542 - PropertyAccessExpression 740490 740506 - Identifier 740490 740501 - Identifier 740502 740506 - EqualsEqualsEqualsToken 740506 740510 - PropertyAccessExpression 740510 740542 - Identifier 740510 740521 - Identifier 740522 740542 - Block 740543 741376 - IfStatement 740545 740666 - BinaryExpression 740567 740609 - PropertyAccessExpression 740567 740584 - Identifier 740567 740578 - Identifier 740579 740584 - AmpersandToken 740584 740586 - PropertyAccessExpression 740586 740609 - Identifier 740586 740596 - Identifier 740597 740609 - Block 740610 740666 - ReturnStatement 740612 740647 - FalseKeyword 740640 740646 - VariableStatement 740666 740769 - VariableDeclarationList 740666 740768 - VariableDeclaration 740689 740768 - Identifier 740689 740703 - CallExpression 740705 740768 - Identifier 740705 740731 - AsExpression 740732 740767 - Identifier 740732 740743 - TypeReference 740746 740767 - Identifier 740746 740767 - IfStatement 740769 741361 - Identifier 740791 740804 - Block 740805 741361 - ForOfStatement 740807 741342 - VariableDeclarationList 740834 740844 - VariableDeclaration 740839 740844 - Identifier 740839 740844 - Identifier 740847 740861 - Block 740862 741342 - IfStatement 740864 741319 - CallExpression 740894 740933 - Identifier 740894 740916 - PropertyAccessExpression 740917 740932 - Identifier 740917 740921 - Identifier 740922 740932 - Block 740934 741319 - VariableStatement 740936 741061 - VariableDeclarationList 740936 741060 - VariableDeclaration 740971 741060 - Identifier 740971 740982 - CallExpression 740984 741060 - Identifier 740984 741002 - PropertyAccessExpression 741003 741018 - Identifier 741003 741007 - Identifier 741008 741018 - PropertyAccessExpression 741019 741036 - Identifier 741019 741031 - Identifier 741032 741036 - TrueKeyword 741037 741059 - IfStatement 741061 741292 - BinaryExpression 741095 741211 - BinaryExpression 741095 741153 - PrefixUnaryExpression 741095 741106 - Identifier 741096 741106 - BarBarToken 741106 741109 - PrefixUnaryExpression 741109 741153 - ParenthesizedExpression 741111 741153 - BinaryExpression 741112 741152 - PropertyAccessExpression 741112 741128 - Identifier 741112 741122 - Identifier 741123 741128 - AmpersandToken 741128 741130 - PropertyAccessExpression 741130 741152 - Identifier 741130 741142 - Identifier 741143 741152 - BarBarToken 741153 741156 - PropertyAccessExpression 741156 741211 - CallExpression 741156 741202 - Identifier 741156 741190 - Identifier 741191 741201 - Identifier 741203 741211 - Block 741212 741292 - ReturnStatement 741214 741261 - FalseKeyword 741254 741260 - ReturnStatement 741387 741409 - TrueKeyword 741403 741408 - FunctionDeclaration 741416 743933 - Identifier 741432 741466 - Parameter 741467 741481 - Identifier 741467 741473 - TypeReference 741474 741481 - Identifier 741474 741481 - TypeReference 741483 741497 - Identifier 741483 741497 - Block 741497 743933 - VariableStatement 741499 741544 - VariableDeclarationList 741499 741543 - VariableDeclaration 741512 741543 - Identifier 741512 741518 - CallExpression 741520 741543 - Identifier 741520 741535 - Identifier 741536 741542 - VariableStatement 741544 741582 - VariableDeclarationList 741544 741581 - VariableDeclaration 741559 741581 - Identifier 741559 741573 - Identifier 741575 741581 - IfStatement 741582 743873 - PrefixUnaryExpression 741596 741615 - PropertyAccessExpression 741597 741615 - Identifier 741597 741602 - Identifier 741603 741615 - Block 741616 743873 - VariableStatement 741618 741722 - VariableDeclarationList 741618 741721 - VariableDeclaration 741637 741721 - Identifier 741637 741642 - ConditionalExpression 741644 741721 - BinaryExpression 741644 741677 - PropertyAccessExpression 741644 741657 - Identifier 741644 741651 - Identifier 741652 741657 - AmpersandToken 741657 741659 - PropertyAccessExpression 741659 741677 - Identifier 741659 741671 - Identifier 741672 741677 - QuestionToken 741677 741679 - PropertyAccessExpression 741679 741697 - Identifier 741679 741691 - Identifier 741692 741697 - ColonToken 741697 741699 - PropertyAccessExpression 741699 741721 - Identifier 741699 741711 - Identifier 741712 741721 - VariableStatement 741722 741850 - VariableDeclarationList 741722 741849 - VariableDeclaration 741741 741849 - Identifier 741741 741748 - CallExpression 741750 741849 - Identifier 741750 741765 - Identifier 741766 741772 - BinaryExpression 741773 741848 - PropertyAccessExpression 741773 741797 - Identifier 741773 741780 - Identifier 741781 741797 - AmpersandAmpersandToken 741797 741800 - CallExpression 741800 741848 - Identifier 741800 741823 - PropertyAccessExpression 741824 741847 - Identifier 741824 741830 - Identifier 741831 741847 - IfStatement 741850 742043 - Identifier 741868 741874 - Block 741875 742043 - ExpressionStatement 741877 741989 - BinaryExpression 741877 741988 - Identifier 741877 741979 - EqualsToken 741979 741981 - Identifier 741981 741988 - ExpressionStatement 741989 742028 - BinaryExpression 741989 742027 - Identifier 741989 742012 - EqualsToken 742012 742014 - PropertyAccessExpression 742014 742027 - Identifier 742014 742021 - Identifier 742022 742027 - VariableStatement 742043 742170 - VariableDeclarationList 742043 742169 - VariableDeclaration 742064 742169 - Identifier 742064 742069 - BinaryExpression 742071 742169 - PropertyAccessExpression 742071 742098 - Identifier 742071 742085 - Identifier 742086 742098 - EqualsToken 742098 742100 - BinaryExpression 742100 742169 - PropertyAccessExpression 742100 742119 - Identifier 742100 742106 - Identifier 742107 742119 - EqualsToken 742119 742121 - AsExpression 742121 742169 - CallExpression 742121 742152 - Identifier 742121 742138 - Identifier 742139 742143 - Identifier 742144 742151 - TypeReference 742155 742169 - Identifier 742155 742169 - VariableStatement 742170 742261 - VariableDeclarationList 742170 742260 - VariableDeclaration 742189 742260 - Identifier 742189 742209 - CallExpression 742211 742260 - Identifier 742211 742252 - Identifier 742253 742259 - VariableStatement 742261 742363 - VariableDeclarationList 742261 742362 - VariableDeclaration 742280 742362 - Identifier 742280 742300 - CallExpression 742302 742362 - Identifier 742302 742354 - Identifier 742355 742361 - IfStatement 742363 743862 - BinaryExpression 742935 743039 - BinaryExpression 742935 743007 - BinaryExpression 742935 742977 - Identifier 742935 742954 - BarBarToken 742954 742957 - Identifier 742957 742977 - BarBarToken 742977 742980 - BinaryExpression 742980 743007 - Identifier 742980 742985 - EqualsEqualsEqualsToken 742985 742989 - PropertyAccessExpression 742989 743007 - Identifier 742989 743001 - Identifier 743002 743007 - BarBarToken 743007 743010 - PrefixUnaryExpression 743010 743039 - CallExpression 743012 743039 - Identifier 743012 743031 - Identifier 743032 743038 - Block 743040 743862 - ExpressionStatement 743042 743102 - BinaryExpression 743042 743101 - PropertyAccessExpression 743042 743076 - Identifier 743042 743064 - Identifier 743065 743076 - BarEqualsToken 743076 743079 - PropertyAccessExpression 743079 743101 - Identifier 743079 743091 - Identifier 743092 743101 - ExpressionStatement 743102 743196 - BinaryExpression 743102 743195 - PropertyAccessExpression 743102 743139 - Identifier 743102 743124 - Identifier 743125 743139 - EqualsToken 743139 743141 - CallExpression 743141 743195 - Identifier 743141 743153 - Identifier 743154 743173 - Identifier 743174 743194 - ExpressionStatement 743196 743261 - BinaryExpression 743196 743260 - PropertyAccessExpression 743196 743238 - Identifier 743196 743218 - Identifier 743219 743238 - EqualsToken 743238 743240 - Identifier 743240 743260 - ExpressionStatement 743261 743326 - BinaryExpression 743261 743325 - PropertyAccessExpression 743261 743303 - Identifier 743261 743283 - Identifier 743284 743303 - EqualsToken 743303 743305 - Identifier 743305 743325 - ExpressionStatement 743326 743416 - BinaryExpression 743326 743415 - PropertyAccessExpression 743326 743380 - ParenthesizedExpression 743326 743365 - AsExpression 743345 743364 - Identifier 743345 743349 - TypeReference 743352 743364 - Identifier 743352 743364 - Identifier 743366 743380 - EqualsToken 743380 743382 - NewExpression 743382 743415 - Identifier 743386 743390 - StringKeyword 743391 743397 - TypeReference 743398 743412 - Identifier 743398 743412 - ExpressionStatement 743416 743532 - CallExpression 743416 743531 - PropertyAccessExpression 743416 743474 - PropertyAccessExpression 743416 743470 - ParenthesizedExpression 743416 743455 - AsExpression 743435 743454 - Identifier 743435 743439 - TypeReference 743442 743454 - Identifier 743442 743454 - Identifier 743456 743470 - Identifier 743471 743474 - CallExpression 743475 743509 - Identifier 743475 743488 - PropertyAccessExpression 743489 743508 - Identifier 743489 743493 - Identifier 743494 743508 - AsExpression 743510 743530 - Identifier 743510 743515 - TypeReference 743518 743530 - Identifier 743518 743530 - ExpressionStatement 743532 743601 - BinaryExpression 743532 743600 - PropertyAccessExpression 743532 743578 - ParenthesizedExpression 743532 743571 - AsExpression 743551 743570 - Identifier 743551 743555 - TypeReference 743558 743570 - Identifier 743558 743570 - Identifier 743572 743578 - EqualsToken 743578 743580 - AsExpression 743580 743600 - Identifier 743580 743585 - TypeReference 743588 743600 - Identifier 743588 743600 - ExpressionStatement 743601 743685 - BinaryExpression 743601 743684 - PropertyAccessExpression 743601 743662 - ParenthesizedExpression 743601 743640 - AsExpression 743620 743639 - Identifier 743620 743624 - TypeReference 743627 743639 - Identifier 743627 743639 - Identifier 743641 743662 - EqualsToken 743662 743664 - PropertyAccessExpression 743664 743684 - Identifier 743664 743669 - Identifier 743670 743684 - ExpressionStatement 743685 743747 - BinaryExpression 743685 743746 - PropertyAccessExpression 743685 743716 - Identifier 743685 743707 - Identifier 743708 743716 - EqualsToken 743716 743718 - CallExpression 743718 743746 - Identifier 743718 743738 - Identifier 743739 743745 - ExpressionStatement 743747 743797 - BinaryExpression 743747 743796 - PropertyAccessExpression 743747 743789 - PropertyAccessExpression 743747 743778 - Identifier 743747 743769 - Identifier 743770 743778 - Identifier 743779 743789 - EqualsToken 743789 743791 - TrueKeyword 743791 743796 - ExpressionStatement 743797 743847 - BinaryExpression 743797 743846 - PropertyAccessExpression 743797 743839 - PropertyAccessExpression 743797 743828 - Identifier 743797 743819 - Identifier 743820 743828 - Identifier 743829 743839 - EqualsToken 743839 743841 - Identifier 743841 743846 - ReturnStatement 743873 743926 - AsExpression 743889 743925 - PropertyAccessExpression 743889 743908 - Identifier 743889 743895 - Identifier 743896 743908 - TypeReference 743911 743925 - Identifier 743911 743925 - FunctionDeclaration 743933 746292 - Identifier 743949 743976 - Parameter 743977 743991 - Identifier 743977 743983 - TypeReference 743984 743991 - Identifier 743984 743991 - TypeReference 743993 743998 - Identifier 743993 743998 - Block 743998 746292 - VariableStatement 744000 744047 - VariableDeclarationList 744000 744046 - VariableDeclaration 744015 744046 - Identifier 744015 744021 - CallExpression 744023 744046 - Identifier 744023 744038 - Identifier 744039 744045 - IfStatement 744047 746249 - PrefixUnaryExpression 744061 744080 - PropertyAccessExpression 744062 744080 - Identifier 744062 744067 - Identifier 744068 744080 - Block 744081 746249 - IfStatement 744083 744414 - PrefixUnaryExpression 744297 744361 - CallExpression 744298 744361 - Identifier 744298 744316 - Identifier 744317 744323 - PropertyAccessExpression 744324 744360 - Identifier 744324 744347 - Identifier 744348 744360 - Block 744362 744414 - ReturnStatement 744364 744399 - Identifier 744388 744398 - VariableStatement 744414 744562 - VariableDeclarationList 744414 744561 - VariableDeclaration 744435 744561 - Identifier 744435 744447 - CallExpression 744449 744561 - PropertyAccessExpression 744449 744468 - Identifier 744449 744455 - Identifier 744456 744468 - CallExpression 744469 744507 - PropertyAccessExpression 744469 744494 - PropertyAccessExpression 744469 744488 - Identifier 744469 744475 - Identifier 744476 744488 - QuestionDotToken 744488 744490 - Identifier 744490 744494 - Identifier 744495 744506 - StringLiteral 744508 744560 - VariableStatement 744562 744671 - VariableDeclarationList 744562 744670 - VariableDeclaration 744581 744670 - Identifier 744581 744590 - ConditionalExpression 744592 744670 - CallExpression 744592 744622 - Identifier 744592 744609 - Identifier 744610 744621 - QuestionToken 744622 744624 - PropertyAccessExpression 744624 744651 - Identifier 744624 744636 - Identifier 744637 744651 - ColonToken 744651 744653 - PropertyAccessExpression 744653 744670 - Identifier 744653 744665 - Identifier 744666 744670 - VariableStatement 744671 744828 - VariableDeclarationList 744671 744827 - VariableDeclaration 744767 744827 - Identifier 744767 744772 - ConditionalExpression 744774 744827 - Identifier 744774 744783 - QuestionToken 744783 744785 - CallExpression 744785 744815 - Identifier 744785 744805 - Identifier 744806 744814 - ColonToken 744815 744817 - Identifier 744817 744827 - IfStatement 744828 746196 - CallExpression 744846 744865 - Identifier 744846 744863 - Block 744866 745667 - VariableStatement 744868 744969 - VariableDeclarationList 744868 744968 - VariableDeclaration 744891 744968 - Identifier 744891 744906 - CallExpression 744908 744968 - Identifier 744908 744960 - Identifier 744961 744967 - IfStatement 744969 745470 - Identifier 744991 745005 - Block 745006 745470 - ExpressionStatement 745008 745298 - BinaryExpression 745008 745297 - PropertyAccessExpression 745008 745280 - Identifier 745008 745265 - Identifier 745266 745280 - EqualsToken 745280 745282 - Identifier 745282 745297 - ExpressionStatement 745298 745367 - BinaryExpression 745298 745366 - PropertyAccessExpression 745298 745340 - Identifier 745298 745325 - Identifier 745326 745340 - EqualsToken 745340 745342 - NewExpression 745342 745366 - Identifier 745346 745350 - StringKeyword 745351 745357 - TypeReference 745358 745363 - Identifier 745358 745363 - ExpressionStatement 745367 745451 - CallExpression 745367 745450 - PropertyAccessExpression 745367 745413 - PropertyAccessExpression 745367 745409 - Identifier 745367 745394 - Identifier 745395 745409 - Identifier 745410 745413 - CallExpression 745414 745443 - Identifier 745414 745427 - Identifier 745428 745442 - Identifier 745444 745449 - IfStatement 745470 745652 - BinaryExpression 745492 745570 - BinaryExpression 745492 745520 - Identifier 745492 745496 - EqualsEqualsEqualsToken 745496 745500 - Identifier 745500 745520 - AmpersandAmpersandToken 745520 745523 - BinaryExpression 745523 745570 - PropertyAccessExpression 745523 745542 - Identifier 745523 745530 - Identifier 745531 745542 - EqualsEqualsEqualsToken 745542 745546 - StringLiteral 745546 745570 - Block 745571 745652 - ExpressionStatement 745573 745633 - BinaryExpression 745573 745632 - Identifier 745573 745599 - EqualsToken 745599 745601 - CallExpression 745601 745632 - Identifier 745601 745630 - Block 745685 746196 - ExpressionStatement 745687 745722 - BinaryExpression 745687 745721 - Identifier 745687 745709 - EqualsToken 745709 745711 - Identifier 745711 745721 - IfStatement 745722 746181 - BinaryExpression 745744 745788 - PropertyAccessExpression 745744 745760 - Identifier 745744 745755 - Identifier 745756 745760 - EqualsEqualsEqualsToken 745760 745764 - PropertyAccessExpression 745764 745788 - Identifier 745764 745775 - Identifier 745776 745788 - Block 745789 745950 - ExpressionStatement 745791 745931 - CallExpression 745791 745930 - Identifier 745791 745818 - PropertyAccessExpression 745819 745850 - PropertyAccessExpression 745819 745845 - Identifier 745819 745830 - Identifier 745831 745845 - Identifier 745846 745850 - PropertyAccessExpression 745851 745905 - Identifier 745851 745863 - Identifier 745864 745905 - CallExpression 745906 745929 - Identifier 745906 745921 - Identifier 745922 745928 - Block 745972 746181 - ExpressionStatement 745974 746162 - CallExpression 745974 746161 - Identifier 745974 746001 - ConditionalExpression 746002 746081 - CallExpression 746002 746033 - Identifier 746002 746020 - Identifier 746021 746032 - QuestionToken 746033 746035 - BinaryExpression 746035 746067 - PropertyAccessExpression 746035 746052 - Identifier 746035 746047 - Identifier 746048 746052 - BarBarToken 746052 746055 - Identifier 746055 746067 - ColonToken 746067 746069 - Identifier 746069 746081 - PropertyAccessExpression 746082 746136 - Identifier 746082 746094 - Identifier 746095 746136 - CallExpression 746137 746160 - Identifier 746137 746152 - Identifier 746153 746159 - ExpressionStatement 746196 746238 - BinaryExpression 746196 746237 - PropertyAccessExpression 746196 746228 - Identifier 746196 746215 - Identifier 746216 746228 - QuestionQuestionEqualsToken 746228 746232 - Identifier 746232 746237 - ReturnStatement 746249 746285 - PropertyAccessExpression 746265 746284 - Identifier 746265 746271 - Identifier 746272 746284 - FunctionDeclaration 746292 746516 - Identifier 746308 746334 - Parameter 746335 746345 - Identifier 746335 746339 - TypeReference 746340 746345 - Identifier 746340 746345 - Block 746346 746516 - ReturnStatement 746348 746509 - ConditionalExpression 746364 746508 - BinaryExpression 746364 746442 - BinaryExpression 746364 746396 - PropertyAccessExpression 746364 746375 - Identifier 746364 746369 - Identifier 746370 746375 - AmpersandToken 746375 746377 - PropertyAccessExpression 746377 746396 - Identifier 746377 746387 - Identifier 746388 746396 - AmpersandAmpersandToken 746396 746399 - BinaryExpression 746399 746442 - PropertyAccessExpression 746399 746417 - PropertyAccessExpression 746399 746411 - Identifier 746399 746404 - Identifier 746405 746411 - Identifier 746412 746417 - AmpersandToken 746417 746419 - PropertyAccessExpression 746419 746442 - Identifier 746419 746431 - Identifier 746432 746442 - QuestionToken 746442 746444 - CallExpression 746444 746501 - Identifier 746444 746468 - NonNullExpression 746469 746500 - CallExpression 746469 746499 - Identifier 746469 746486 - PropertyAccessExpression 746487 746498 - Identifier 746487 746491 - Identifier 746492 746498 - ColonToken 746501 746503 - Identifier 746503 746508 - FunctionDeclaration 746516 748348 - Identifier 746532 746554 - Parameter 746555 746569 - Identifier 746555 746561 - TypeReference 746562 746569 - Identifier 746562 746569 - TypeReference 746571 746576 - Identifier 746571 746576 - Block 746576 748348 - VariableStatement 746578 746625 - VariableDeclarationList 746578 746624 - VariableDeclaration 746593 746624 - Identifier 746593 746599 - CallExpression 746601 746624 - Identifier 746601 746616 - Identifier 746617 746623 - IfStatement 746625 748305 - PrefixUnaryExpression 746639 746658 - PropertyAccessExpression 746640 746658 - Identifier 746640 746645 - Identifier 746646 746658 - Block 746659 748305 - VariableStatement 746661 746709 - VariableDeclarationList 746661 746708 - VariableDeclaration 746680 746708 - Identifier 746680 746695 - ArrayType 746696 746703 - TypeReference 746696 746701 - Identifier 746696 746701 - ArrayLiteralExpression 746705 746708 - IfStatement 746709 747864 - PropertyAccessExpression 746727 746746 - Identifier 746727 746733 - Identifier 746734 746746 - Block 746747 747864 - ForOfStatement 746749 747849 - VariableDeclarationList 746772 746789 - VariableDeclaration 746777 746789 - Identifier 746777 746789 - PropertyAccessExpression 746792 746812 - Identifier 746792 746799 - Identifier 746800 746812 - Block 746813 747849 - IfStatement 746815 747830 - BinaryExpression 746841 746888 - PropertyAccessExpression 746841 746857 - Identifier 746841 746852 - Identifier 746853 746857 - EqualsEqualsEqualsToken 746857 746861 - PropertyAccessExpression 746861 746888 - Identifier 746861 746872 - Identifier 746873 746888 - Block 746889 747830 - ForOfStatement 746891 747807 - VariableDeclarationList 746922 746934 - VariableDeclaration 746927 746934 - Identifier 746927 746934 - PropertyAccessExpression 746937 746978 - ParenthesizedExpression 746937 746970 - AsExpression 746939 746969 - Identifier 746939 746950 - TypeReference 746953 746969 - Identifier 746953 746969 - Identifier 746971 746978 - Block 746979 747807 - IfStatement 746981 747780 - CallExpression 747015 747038 - Identifier 747015 747030 - Identifier 747031 747037 - Block 747039 747780 - VariableStatement 747041 747127 - VariableDeclarationList 747041 747126 - VariableDeclaration 747080 747126 - Identifier 747080 747093 - CallExpression 747095 747126 - Identifier 747095 747118 - Identifier 747119 747125 - VariableStatement 747127 747208 - VariableDeclarationList 747127 747207 - VariableDeclaration 747166 747207 - Identifier 747166 747172 - PropertyAccessExpression 747174 747207 - CallExpression 747174 747201 - Identifier 747174 747193 - Identifier 747194 747200 - Identifier 747202 747207 - VariableStatement 747208 747565 - VariableDeclarationList 747208 747564 - VariableDeclaration 747247 747564 - Identifier 747247 747258 - CallExpression 747260 747564 - Identifier 747260 747286 - ConditionalExpression 747287 747528 - BinaryExpression 747287 747344 - Identifier 747287 747330 - ExclamationEqualsEqualsToken 747330 747334 - Identifier 747334 747344 - QuestionToken 747344 747346 - CallExpression 747346 747448 - Identifier 747346 747406 - Identifier 747407 747412 - CallExpression 747413 747433 - Identifier 747413 747425 - Identifier 747426 747432 - Identifier 747434 747447 - ColonToken 747448 747450 - CallExpression 747450 747528 - Identifier 747450 747514 - Identifier 747515 747527 - ExpressionStatement 747565 747654 - BinaryExpression 747565 747653 - PropertyAccessExpression 747565 747640 - CallExpression 747565 747627 - Identifier 747565 747613 - Identifier 747614 747626 - Identifier 747628 747640 - EqualsToken 747640 747642 - Identifier 747642 747653 - ExpressionStatement 747654 747749 - CallExpression 747654 747748 - PropertyAccessExpression 747654 747707 - Identifier 747654 747702 - Identifier 747703 747707 - CallExpression 747708 747747 - Identifier 747708 747735 - Identifier 747736 747746 - VariableStatement 747864 748081 - VariableDeclarationList 747864 748080 - VariableDeclaration 747883 748080 - Identifier 747883 747892 - ConditionalExpression 747894 748080 - PropertyAccessExpression 747894 747916 - Identifier 747894 747909 - Identifier 747910 747916 - QuestionToken 747916 747918 - CallExpression 747918 748030 - Identifier 747918 747948 - Identifier 747949 747963 - PropertyAccessExpression 747964 747987 - Identifier 747964 747979 - Identifier 747980 747987 - Identifier 747988 747995 - Identifier 747996 748029 - ColonToken 748030 748032 - CallExpression 748032 748080 - Identifier 748032 748072 - Identifier 748073 748079 - IfStatement 748081 748250 - BinaryExpression 748099 748131 - PropertyAccessExpression 748099 748113 - Identifier 748099 748107 - Identifier 748108 748113 - AmpersandToken 748113 748115 - PropertyAccessExpression 748115 748131 - Identifier 748115 748125 - Identifier 748126 748131 - Block 748132 748250 - ExpressionStatement 748134 748192 - BinaryExpression 748134 748191 - PropertyAccessExpression 748134 748166 - Identifier 748134 748160 - Identifier 748161 748166 - BarEqualsToken 748166 748169 - PropertyAccessExpression 748169 748191 - Identifier 748169 748179 - Identifier 748180 748191 - ExpressionStatement 748192 748235 - BinaryExpression 748192 748234 - PropertyAccessExpression 748192 748225 - Identifier 748192 748218 - Identifier 748219 748225 - EqualsToken 748225 748227 - Identifier 748227 748234 - ExpressionStatement 748250 748294 - BinaryExpression 748250 748293 - PropertyAccessExpression 748250 748282 - Identifier 748250 748269 - Identifier 748270 748282 - EqualsToken 748282 748284 - Identifier 748284 748293 - ReturnStatement 748305 748341 - PropertyAccessExpression 748321 748340 - Identifier 748321 748327 - Identifier 748328 748340 - FunctionDeclaration 748348 748793 - Identifier 748364 748387 - Parameter 748388 748402 - Identifier 748388 748394 - TypeReference 748395 748402 - Identifier 748395 748402 - Block 748403 748793 - VariableStatement 748405 748492 - VariableDeclarationList 748405 748491 - VariableDeclaration 748420 748491 - Identifier 748420 748432 - AsExpression 748434 748491 - CallExpression 748434 748479 - Identifier 748434 748455 - PropertyAccessExpression 748456 748470 - Identifier 748456 748465 - Identifier 748466 748470 - Identifier 748471 748478 - TypeReference 748482 748491 - Identifier 748482 748491 - VariableStatement 748492 748577 - VariableDeclarationList 748492 748576 - VariableDeclaration 748507 748576 - Identifier 748507 748517 - AsExpression 748519 748576 - CallExpression 748519 748564 - Identifier 748519 748540 - PropertyAccessExpression 748541 748555 - Identifier 748541 748550 - Identifier 748551 748555 - Identifier 748556 748563 - TypeReference 748567 748576 - Identifier 748567 748576 - ExpressionStatement 748577 748625 - BinaryExpression 748577 748624 - PropertyAccessExpression 748577 748610 - Identifier 748577 748598 - Identifier 748599 748610 - EqualsToken 748610 748612 - Identifier 748612 748624 - ExpressionStatement 748625 748669 - BinaryExpression 748625 748668 - PropertyAccessExpression 748625 748656 - Identifier 748625 748646 - Identifier 748647 748656 - EqualsToken 748656 748658 - Identifier 748658 748668 - ExpressionStatement 748669 748715 - BinaryExpression 748669 748714 - PropertyAccessExpression 748669 748700 - Identifier 748669 748688 - Identifier 748689 748700 - EqualsToken 748700 748702 - Identifier 748702 748714 - ExpressionStatement 748715 748757 - BinaryExpression 748715 748756 - PropertyAccessExpression 748715 748744 - Identifier 748715 748734 - Identifier 748735 748744 - EqualsToken 748744 748746 - Identifier 748746 748756 - ReturnStatement 748757 748786 - Identifier 748773 748785 - FunctionDeclaration 748793 749182 - Identifier 748809 748837 - Parameter 748838 748852 - Identifier 748838 748844 - TypeReference 748845 748852 - Identifier 748845 748852 - TypeReference 748854 748859 - Identifier 748854 748859 - Block 748859 749182 - VariableStatement 748861 748908 - VariableDeclarationList 748861 748907 - VariableDeclaration 748876 748907 - Identifier 748876 748882 - CallExpression 748884 748907 - Identifier 748884 748899 - Identifier 748900 748906 - IfStatement 748908 749139 - PrefixUnaryExpression 748922 748941 - PropertyAccessExpression 748923 748941 - Identifier 748923 748928 - Identifier 748929 748941 - Block 748942 749139 - VariableStatement 748944 749025 - VariableDeclarationList 748944 749024 - VariableDeclaration 748963 749024 - Identifier 748963 748972 - CallExpression 748974 749024 - Identifier 748974 748996 - NonNullExpression 748997 749023 - CallExpression 748997 749022 - Identifier 748997 749014 - Identifier 749015 749021 - IfStatement 749025 749128 - PrefixUnaryExpression 749043 749062 - PropertyAccessExpression 749044 749062 - Identifier 749044 749049 - Identifier 749050 749062 - Block 749063 749128 - ExpressionStatement 749065 749113 - BinaryExpression 749065 749112 - PropertyAccessExpression 749065 749101 - Identifier 749065 749088 - Identifier 749089 749101 - EqualsToken 749101 749103 - Identifier 749103 749112 - ReturnStatement 749139 749175 - PropertyAccessExpression 749155 749174 - Identifier 749155 749161 - Identifier 749162 749174 - FunctionDeclaration 749182 749406 - Identifier 749198 749229 - Parameter 749230 749244 - Identifier 749230 749236 - TypeReference 749237 749244 - Identifier 749237 749244 - TypeReference 749246 749260 - Identifier 749246 749260 - Block 749260 749406 - VariableStatement 749262 749309 - VariableDeclarationList 749262 749308 - VariableDeclaration 749277 749308 - Identifier 749277 749283 - CallExpression 749285 749308 - Identifier 749285 749300 - Identifier 749301 749307 - ReturnStatement 749309 749399 - BinaryExpression 749325 749398 - PropertyAccessExpression 749325 749344 - Identifier 749325 749331 - Identifier 749332 749344 - BarBarToken 749344 749347 - ParenthesizedExpression 749347 749398 - BinaryExpression 749349 749397 - PropertyAccessExpression 749349 749367 - Identifier 749349 749354 - Identifier 749355 749367 - EqualsToken 749367 749369 - CallExpression 749369 749397 - Identifier 749369 749389 - Identifier 749390 749396 - FunctionDeclaration 749406 749631 - Identifier 749422 749445 - Parameter 749446 749460 - Identifier 749446 749452 - TypeReference 749453 749460 - Identifier 749453 749460 - TypeReference 749462 749467 - Identifier 749462 749467 - Block 749467 749631 - VariableStatement 749469 749516 - VariableDeclarationList 749469 749515 - VariableDeclaration 749484 749515 - Identifier 749484 749490 - CallExpression 749492 749515 - Identifier 749492 749507 - Identifier 749508 749514 - ReturnStatement 749516 749624 - BinaryExpression 749532 749623 - PropertyAccessExpression 749532 749551 - Identifier 749532 749538 - Identifier 749539 749551 - BarBarToken 749551 749554 - ParenthesizedExpression 749554 749623 - BinaryExpression 749556 749622 - PropertyAccessExpression 749556 749574 - Identifier 749556 749561 - Identifier 749562 749574 - EqualsToken 749574 749576 - CallExpression 749576 749622 - Identifier 749576 749600 - CallExpression 749601 749621 - Identifier 749601 749613 - Identifier 749614 749620 - FunctionDeclaration 749631 749767 - Identifier 749647 749671 - Parameter 749672 749686 - Identifier 749672 749678 - TypeReference 749679 749686 - Identifier 749679 749686 - TypeReference 749688 749693 - Identifier 749688 749693 - Block 749693 749767 - ReturnStatement 749695 749760 - BinaryExpression 749711 749759 - CallExpression 749711 749746 - Identifier 749711 749738 - Identifier 749739 749745 - BarBarToken 749746 749749 - Identifier 749749 749759 - FunctionDeclaration 749767 750621 - Identifier 749783 749810 - Parameter 749811 749825 - Identifier 749811 749817 - TypeReference 749818 749825 - Identifier 749818 749825 - UnionType 749827 749844 - TypeReference 749827 749832 - Identifier 749827 749832 - UndefinedKeyword 749834 749844 - Block 749844 750621 - IfStatement 749846 749995 - BinaryExpression 749860 749918 - PropertyAccessExpression 749860 749872 - Identifier 749860 749866 - Identifier 749867 749872 - AmpersandToken 749872 749874 - ParenthesizedExpression 749874 749918 - BinaryExpression 749876 749917 - PropertyAccessExpression 749876 749893 - Identifier 749876 749887 - Identifier 749888 749893 - BarToken 749893 749895 - PropertyAccessExpression 749895 749917 - Identifier 749895 749907 - Identifier 749908 749917 - Block 749919 749995 - ReturnStatement 749921 749984 - CallExpression 749941 749983 - Identifier 749941 749975 - Identifier 749976 749982 - IfStatement 749995 750115 - BinaryExpression 750009 750045 - PropertyAccessExpression 750009 750021 - Identifier 750009 750015 - Identifier 750016 750021 - AmpersandToken 750021 750023 - PropertyAccessExpression 750023 750045 - Identifier 750023 750035 - Identifier 750036 750045 - Block 750046 750115 - ReturnStatement 750048 750104 - CallExpression 750068 750103 - Identifier 750068 750095 - Identifier 750096 750102 - IfStatement 750115 750243 - BinaryExpression 750129 750169 - PropertyAccessExpression 750129 750141 - Identifier 750129 750135 - Identifier 750136 750141 - AmpersandToken 750141 750143 - PropertyAccessExpression 750143 750169 - Identifier 750143 750155 - Identifier 750156 750169 - Block 750170 750243 - ReturnStatement 750172 750232 - CallExpression 750192 750231 - Identifier 750192 750223 - Identifier 750224 750230 - IfStatement 750243 750353 - BinaryExpression 750257 750288 - PropertyAccessExpression 750257 750269 - Identifier 750257 750263 - Identifier 750264 750269 - AmpersandToken 750269 750271 - PropertyAccessExpression 750271 750288 - Identifier 750271 750283 - Identifier 750284 750288 - Block 750289 750353 - ReturnStatement 750291 750342 - CallExpression 750311 750341 - Identifier 750311 750333 - Identifier 750334 750340 - IfStatement 750353 750475 - BinaryExpression 750367 750404 - PropertyAccessExpression 750367 750379 - Identifier 750367 750373 - Identifier 750374 750379 - AmpersandToken 750379 750381 - PropertyAccessExpression 750381 750404 - Identifier 750381 750393 - Identifier 750394 750404 - Block 750405 750475 - ReturnStatement 750407 750464 - CallExpression 750427 750463 - Identifier 750427 750455 - Identifier 750456 750462 - IfStatement 750475 750587 - BinaryExpression 750489 750521 - PropertyAccessExpression 750489 750501 - Identifier 750489 750495 - Identifier 750496 750501 - AmpersandToken 750501 750503 - PropertyAccessExpression 750503 750521 - Identifier 750503 750515 - Identifier 750516 750521 - Block 750522 750587 - ReturnStatement 750524 750576 - CallExpression 750544 750575 - Identifier 750544 750567 - Identifier 750568 750574 - ReturnStatement 750587 750614 - Identifier 750603 750613 - FunctionDeclaration 750621 751884 - Identifier 750919 750934 - Parameter 750935 750949 - Identifier 750935 750939 - TypeReference 750940 750949 - Identifier 750940 750949 - BooleanKeyword 750951 750959 - Block 750959 751884 - SwitchStatement 750961 751854 - PropertyAccessExpression 750979 750988 - Identifier 750979 750983 - Identifier 750984 750988 - CaseBlock 750989 751854 - CaseClause 750991 751032 - PropertyAccessExpression 751009 751031 - Identifier 751009 751020 - Identifier 751021 751031 - CaseClause 751032 751077 - PropertyAccessExpression 751050 751076 - Identifier 751050 751061 - Identifier 751062 751076 - CaseClause 751077 751121 - PropertyAccessExpression 751095 751120 - Identifier 751095 751106 - Identifier 751107 751120 - CaseClause 751121 751165 - PropertyAccessExpression 751139 751164 - Identifier 751139 751150 - Identifier 751151 751164 - CaseClause 751165 751209 - PropertyAccessExpression 751183 751208 - Identifier 751183 751194 - Identifier 751195 751208 - CaseClause 751209 751254 - PropertyAccessExpression 751227 751253 - Identifier 751227 751238 - Identifier 751239 751253 - CaseClause 751254 751298 - PropertyAccessExpression 751272 751297 - Identifier 751272 751283 - Identifier 751284 751297 - CaseClause 751298 751342 - PropertyAccessExpression 751316 751341 - Identifier 751316 751327 - Identifier 751328 751341 - CaseClause 751342 751384 - PropertyAccessExpression 751360 751383 - Identifier 751360 751371 - Identifier 751372 751383 - CaseClause 751384 751431 - PropertyAccessExpression 751402 751430 - Identifier 751402 751413 - Identifier 751414 751430 - CaseClause 751431 751474 - PropertyAccessExpression 751449 751473 - Identifier 751449 751460 - Identifier 751461 751473 - CaseClause 751474 751546 - PropertyAccessExpression 751492 751515 - Identifier 751492 751503 - Identifier 751504 751515 - ReturnStatement 751516 751546 - TrueKeyword 751540 751545 - CaseClause 751546 751663 - PropertyAccessExpression 751564 751585 - Identifier 751564 751575 - Identifier 751576 751585 - ReturnStatement 751586 751663 - CallExpression 751610 751662 - Identifier 751610 751625 - PropertyAccessExpression 751626 751661 - ParenthesizedExpression 751626 751649 - AsExpression 751627 751648 - Identifier 751627 751631 - TypeReference 751634 751648 - Identifier 751634 751648 - Identifier 751650 751661 - CaseClause 751663 751843 - PropertyAccessExpression 751681 751706 - Identifier 751681 751692 - Identifier 751693 751706 - ReturnStatement 751707 751843 - BinaryExpression 751731 751842 - PrefixUnaryExpression 751731 751774 - PropertyAccessExpression 751733 751774 - ParenthesizedExpression 751733 751760 - AsExpression 751734 751759 - Identifier 751734 751738 - TypeReference 751741 751759 - Identifier 751741 751759 - Identifier 751761 751774 - BarBarToken 751774 751777 - CallExpression 751777 751842 - PropertyAccessExpression 751777 751826 - NonNullExpression 751777 751820 - PropertyAccessExpression 751777 751819 - ParenthesizedExpression 751777 751805 - AsExpression 751779 751804 - Identifier 751779 751783 - TypeReference 751786 751804 - Identifier 751786 751804 - Identifier 751806 751819 - Identifier 751821 751826 - Identifier 751827 751841 - ReturnStatement 751854 751877 - FalseKeyword 751870 751876 - FunctionDeclaration 751884 752197 - Identifier 752000 752024 - Parameter 752025 752055 - Identifier 752025 752029 - TypeReference 752030 752055 - Identifier 752030 752055 - Block 752056 752197 - VariableStatement 752058 752131 - VariableDeclarationList 752058 752130 - VariableDeclaration 752073 752130 - Identifier 752073 752084 - CallExpression 752086 752130 - Identifier 752086 752124 - Identifier 752125 752129 - ReturnStatement 752131 752190 - BinaryExpression 752147 752189 - PrefixUnaryExpression 752147 752159 - Identifier 752149 752159 - BarBarToken 752159 752162 - CallExpression 752162 752189 - Identifier 752162 752177 - Identifier 752178 752188 - FunctionDeclaration 752197 752650 - Identifier 752426 752460 - Parameter 752461 752490 - Identifier 752461 752465 - TypeReference 752466 752490 - Identifier 752466 752490 - BooleanKeyword 752492 752500 - Block 752500 752650 - VariableStatement 752502 752566 - VariableDeclarationList 752502 752565 - VariableDeclaration 752517 752565 - Identifier 752517 752526 - CallExpression 752528 752565 - Identifier 752528 752559 - Identifier 752560 752564 - ReturnStatement 752566 752643 - ConditionalExpression 752582 752642 - Identifier 752582 752591 - QuestionToken 752591 752593 - CallExpression 752593 752618 - Identifier 752593 752608 - Identifier 752609 752617 - ColonToken 752618 752620 - PrefixUnaryExpression 752620 752642 - CallExpression 752622 752642 - Identifier 752622 752636 - Identifier 752637 752641 - FunctionDeclaration 752650 753391 - Identifier 752930 752964 - Parameter 752965 752994 - Identifier 752965 752969 - TypeReference 752970 752994 - Identifier 752970 752994 - BooleanKeyword 752996 753004 - Block 753004 753391 - VariableStatement 753006 753068 - VariableDeclarationList 753006 753067 - VariableDeclaration 753021 753067 - Identifier 753021 753032 - CallExpression 753034 753067 - Identifier 753034 753061 - Identifier 753062 753066 - VariableStatement 753068 753145 - VariableDeclarationList 753068 753144 - VariableDeclaration 753083 753144 - Identifier 753083 753098 - CallExpression 753100 753144 - Identifier 753100 753138 - Identifier 753139 753143 - ReturnStatement 753145 753384 - BinaryExpression 753161 753383 - BinaryExpression 753161 753321 - ParenthesizedExpression 753161 753248 - BinaryExpression 753163 753247 - BinaryExpression 753163 753199 - PropertyAccessExpression 753163 753172 - Identifier 753163 753167 - Identifier 753168 753172 - EqualsEqualsEqualsToken 753172 753176 - PropertyAccessExpression 753176 753199 - Identifier 753176 753187 - Identifier 753188 753199 - BarBarToken 753199 753202 - ParenthesizedExpression 753202 753247 - BinaryExpression 753204 753246 - PrefixUnaryExpression 753204 753216 - PrefixUnaryExpression 753205 753216 - Identifier 753206 753216 - AmpersandAmpersandToken 753216 753219 - CallExpression 753219 753246 - Identifier 753219 753234 - Identifier 753235 753245 - AmpersandAmpersandToken 753248 753251 - CallExpression 753251 753321 - PropertyAccessExpression 753251 753286 - PropertyAccessExpression 753251 753280 - Identifier 753251 753269 - Identifier 753270 753280 - Identifier 753281 753286 - Identifier 753287 753320 - AmpersandAmpersandToken 753321 753324 - CallExpression 753324 753383 - PropertyAccessExpression 753324 753358 - Identifier 753324 753352 - Identifier 753353 753358 - Identifier 753359 753382 - FunctionDeclaration 753391 754836 - Identifier 753907 753918 - Parameter 753919 753933 - Identifier 753919 753925 - TypeReference 753926 753933 - Identifier 753926 753933 - BooleanKeyword 753935 753943 - Block 753943 754836 - IfStatement 753945 754806 - BinaryExpression 753959 754014 - PropertyAccessExpression 753959 753978 - Identifier 753959 753965 - Identifier 753966 753978 - AmpersandAmpersandToken 753978 753981 - BinaryExpression 753981 754014 - PropertyAccessExpression 753981 754008 - PropertyAccessExpression 753981 754001 - Identifier 753981 753988 - Identifier 753989 754001 - Identifier 754002 754008 - EqualsEqualsEqualsToken 754008 754012 - NumericLiteral 754012 754014 - Block 754015 754806 - VariableStatement 754017 754074 - VariableDeclarationList 754017 754073 - VariableDeclaration 754036 754073 - Identifier 754036 754048 - ElementAccessExpression 754050 754073 - PropertyAccessExpression 754050 754070 - Identifier 754050 754057 - Identifier 754058 754070 - NumericLiteral 754071 754072 - IfStatement 754074 754795 - Identifier 754092 754103 - Block 754104 754795 - SwitchStatement 754106 754780 - PropertyAccessExpression 754132 754148 - Identifier 754132 754143 - Identifier 754144 754148 - CaseBlock 754149 754780 - CaseClause 754151 754209 - PropertyAccessExpression 754177 754208 - Identifier 754177 754188 - Identifier 754189 754208 - CaseClause 754209 754372 - PropertyAccessExpression 754235 754264 - Identifier 754235 754246 - Identifier 754247 754264 - ReturnStatement 754265 754372 - CallExpression 754297 754371 - Identifier 754297 754331 - AsExpression 754332 754370 - Identifier 754332 754343 - TypeReference 754346 754370 - Identifier 754346 754370 - CaseClause 754372 754428 - PropertyAccessExpression 754398 754427 - Identifier 754398 754409 - Identifier 754410 754427 - CaseClause 754428 754482 - PropertyAccessExpression 754454 754481 - Identifier 754454 754465 - Identifier 754466 754481 - CaseClause 754482 754532 - PropertyAccessExpression 754508 754531 - Identifier 754508 754519 - Identifier 754520 754531 - CaseClause 754532 754582 - PropertyAccessExpression 754558 754581 - Identifier 754558 754569 - Identifier 754570 754581 - CaseClause 754582 754761 - PropertyAccessExpression 754608 754631 - Identifier 754608 754619 - Identifier 754620 754631 - ReturnStatement 754632 754761 - CallExpression 754664 754760 - Identifier 754664 754698 - AsExpression 754699 754759 - Identifier 754699 754710 - UnionType 754713 754759 - TypeReference 754713 754737 - Identifier 754713 754737 - TypeReference 754739 754759 - Identifier 754739 754759 - ReturnStatement 754806 754829 - FalseKeyword 754822 754828 - FunctionDeclaration 754836 755464 - Identifier 755097 755127 - Parameter 755128 755145 - Identifier 755128 755135 - ArrayType 755136 755145 - TypeReference 755136 755143 - Identifier 755136 755143 - Parameter 755146 755165 - Identifier 755146 755153 - TypeReference 755154 755165 - Identifier 755154 755165 - Parameter 755166 755191 - Identifier 755166 755182 - BooleanKeyword 755183 755191 - TypeReference 755193 755205 - Identifier 755193 755205 - Block 755205 755464 - VariableStatement 755207 755252 - VariableDeclarationList 755207 755251 - VariableDeclaration 755222 755251 - Identifier 755222 755229 - CallExpression 755231 755251 - Identifier 755231 755249 - ForOfStatement 755252 755433 - VariableDeclarationList 755267 755279 - VariableDeclaration 755272 755279 - Identifier 755272 755279 - Identifier 755282 755290 - Block 755291 755433 - ExpressionStatement 755293 755422 - CallExpression 755293 755421 - PropertyAccessExpression 755293 755317 - Identifier 755293 755313 - Identifier 755314 755317 - PropertyAccessExpression 755318 755336 - Identifier 755318 755324 - Identifier 755325 755336 - ConditionalExpression 755337 755420 - BinaryExpression 755337 755375 - Identifier 755337 755353 - AmpersandAmpersandToken 755353 755356 - CallExpression 755356 755375 - Identifier 755356 755367 - Identifier 755368 755374 - QuestionToken 755375 755377 - Identifier 755377 755384 - ColonToken 755384 755386 - CallExpression 755386 755420 - Identifier 755386 755404 - Identifier 755405 755411 - Identifier 755412 755419 - ReturnStatement 755433 755457 - Identifier 755449 755456 - FunctionDeclaration 755464 756337 - Identifier 755480 755500 - Parameter 755501 755521 - Identifier 755501 755508 - TypeReference 755509 755521 - Identifier 755509 755521 - Parameter 755522 755544 - Identifier 755522 755534 - ArrayType 755535 755544 - TypeReference 755535 755542 - Identifier 755535 755542 - Block 755545 756337 - ForOfStatement 755547 756330 - VariableDeclarationList 755562 755572 - VariableDeclaration 755567 755572 - Identifier 755567 755572 - Identifier 755575 755587 - Block 755588 756330 - IfStatement 755590 755692 - CallExpression 755608 755647 - Identifier 755608 755641 - Identifier 755642 755646 - Block 755648 755692 - ContinueStatement 755650 755677 - VariableStatement 755692 755752 - VariableDeclarationList 755692 755751 - VariableDeclaration 755711 755751 - Identifier 755711 755719 - CallExpression 755721 755751 - PropertyAccessExpression 755721 755733 - Identifier 755721 755729 - Identifier 755730 755733 - PropertyAccessExpression 755734 755750 - Identifier 755734 755738 - Identifier 755739 755750 - IfStatement 755752 756319 - BinaryExpression 755770 756179 - PrefixUnaryExpression 755770 755796 - Identifier 755789 755796 - BarBarToken 755796 755940 - BinaryExpression 755940 756179 - BinaryExpression 755940 756098 - BinaryExpression 755940 756034 - PropertyAccessExpression 755940 755965 - Identifier 755940 755948 - Identifier 755949 755965 - AmpersandAmpersandToken 755965 755989 - CallExpression 755989 756034 - Identifier 755989 756008 - PropertyAccessExpression 756009 756033 - Identifier 756009 756016 - Identifier 756017 756033 - AmpersandAmpersandToken 756034 756058 - PrefixUnaryExpression 756058 756098 - CallExpression 756060 756098 - Identifier 756060 756089 - Identifier 756090 756097 - AmpersandAmpersandToken 756098 756122 - PrefixUnaryExpression 756122 756179 - CallExpression 756124 756179 - Identifier 756124 756153 - PropertyAccessExpression 756154 756178 - Identifier 756154 756161 - Identifier 756162 756178 - Block 756194 756319 - ExpressionStatement 756196 756250 - CallExpression 756196 756249 - PropertyAccessExpression 756196 756225 - Identifier 756196 756221 - Identifier 756222 756225 - PropertyAccessExpression 756226 756242 - Identifier 756226 756230 - Identifier 756231 756242 - Identifier 756243 756248 - ExpressionStatement 756250 756304 - CallExpression 756250 756303 - PropertyAccessExpression 756250 756279 - Identifier 756250 756275 - Identifier 756276 756279 - PropertyAccessExpression 756280 756296 - Identifier 756280 756284 - Identifier 756285 756296 - Identifier 756297 756302 - FunctionDeclaration 756337 756552 - Identifier 756353 756387 - Parameter 756388 756397 - Identifier 756388 756389 - TypeReference 756390 756397 - Identifier 756390 756397 - BooleanKeyword 756399 756407 - Block 756407 756552 - ReturnStatement 756409 756545 - BinaryExpression 756425 756544 - BinaryExpression 756425 756512 - PrefixUnaryExpression 756425 756446 - PrefixUnaryExpression 756427 756446 - PropertyAccessExpression 756428 756446 - Identifier 756428 756429 - Identifier 756430 756446 - AmpersandAmpersandToken 756446 756449 - CallExpression 756449 756512 - Identifier 756449 756492 - PropertyAccessExpression 756493 756511 - Identifier 756493 756494 - Identifier 756495 756511 - AmpersandAmpersandToken 756512 756515 - CallExpression 756515 756544 - Identifier 756515 756524 - PropertyAccessExpression 756525 756543 - Identifier 756525 756526 - Identifier 756527 756543 - FunctionDeclaration 756552 757762 - Identifier 756568 756591 - Parameter 756592 756611 - Identifier 756592 756596 - TypeReference 756597 756611 - Identifier 756597 756611 - TypeReference 756613 756646 - Identifier 756613 756646 - Block 756646 757762 - IfStatement 756648 757697 - PrefixUnaryExpression 756662 756724 - PropertyAccessExpression 756663 756724 - ParenthesizedExpression 756663 756705 - AsExpression 756664 756704 - Identifier 756664 756668 - TypeReference 756671 756704 - Identifier 756671 756704 - Identifier 756706 756724 - Block 756725 757697 - VariableStatement 756727 756768 - VariableDeclarationList 756727 756767 - VariableDeclaration 756746 756767 - Identifier 756746 756753 - PropertyAccessExpression 756755 756767 - Identifier 756755 756760 - Identifier 756761 756767 - VariableStatement 756768 756825 - VariableDeclarationList 756768 756824 - VariableDeclaration 756787 756824 - Identifier 756787 756795 - CallExpression 756797 756824 - Identifier 756797 756816 - Identifier 756817 756823 - ExpressionStatement 756825 756928 - BinaryExpression 756825 756927 - PropertyAccessExpression 756825 756900 - ParenthesizedExpression 756825 756881 - AsExpression 756840 756880 - Identifier 756840 756844 - TypeReference 756847 756880 - Identifier 756847 756880 - Identifier 756882 756900 - EqualsToken 756900 756902 - CallExpression 756902 756927 - Identifier 756902 756918 - Identifier 756919 756926 - ExpressionStatement 756928 757101 - BinaryExpression 756928 757100 - PropertyAccessExpression 756928 757087 - ParenthesizedExpression 756928 757064 - AsExpression 757023 757063 - Identifier 757023 757027 - TypeReference 757030 757063 - Identifier 757030 757063 - Identifier 757065 757087 - EqualsToken 757087 757089 - Identifier 757089 757100 - ExpressionStatement 757101 757199 - BinaryExpression 757101 757198 - PropertyAccessExpression 757101 757185 - ParenthesizedExpression 757101 757157 - AsExpression 757116 757156 - Identifier 757116 757120 - TypeReference 757123 757156 - Identifier 757123 757156 - Identifier 757158 757185 - EqualsToken 757185 757187 - Identifier 757187 757198 - ExpressionStatement 757199 757288 - BinaryExpression 757199 757287 - PropertyAccessExpression 757199 757274 - ParenthesizedExpression 757199 757255 - AsExpression 757214 757254 - Identifier 757214 757218 - TypeReference 757221 757254 - Identifier 757221 757254 - Identifier 757256 757274 - EqualsToken 757274 757276 - Identifier 757276 757287 - ExpressionStatement 757288 757432 - BinaryExpression 757288 757431 - PropertyAccessExpression 757288 757369 - ParenthesizedExpression 757288 757346 - AsExpression 757305 757345 - Identifier 757305 757309 - TypeReference 757312 757345 - Identifier 757312 757345 - Identifier 757347 757369 - EqualsToken 757369 757371 - CallExpression 757371 757431 - Identifier 757371 757393 - CallExpression 757394 757430 - PropertyAccessExpression 757394 757405 - Identifier 757394 757401 - Identifier 757402 757405 - PropertyAccessExpression 757406 757429 - Identifier 757406 757424 - Identifier 757425 757429 - ExpressionStatement 757432 757578 - BinaryExpression 757432 757577 - PropertyAccessExpression 757432 757516 - ParenthesizedExpression 757432 757488 - AsExpression 757447 757487 - Identifier 757447 757451 - TypeReference 757454 757487 - Identifier 757454 757487 - Identifier 757489 757516 - EqualsToken 757516 757518 - CallExpression 757518 757577 - Identifier 757518 757540 - CallExpression 757541 757576 - PropertyAccessExpression 757541 757552 - Identifier 757541 757548 - Identifier 757549 757552 - PropertyAccessExpression 757553 757575 - Identifier 757553 757571 - Identifier 757572 757575 - ExpressionStatement 757578 757686 - BinaryExpression 757578 757685 - PropertyAccessExpression 757578 757653 - ParenthesizedExpression 757578 757634 - AsExpression 757593 757633 - Identifier 757593 757597 - TypeReference 757600 757633 - Identifier 757600 757633 - Identifier 757635 757653 - EqualsToken 757653 757655 - CallExpression 757655 757685 - Identifier 757655 757677 - Identifier 757678 757684 - ReturnStatement 757697 757755 - AsExpression 757713 757754 - Identifier 757713 757718 - TypeReference 757721 757754 - Identifier 757721 757754 - FunctionDeclaration 757762 758541 - Identifier 758241 758260 - Parameter 758261 758282 - Identifier 758261 758265 - TypeReference 758266 758282 - Identifier 758266 758282 - TypePredicate 758284 758306 - Identifier 758284 758289 - TypeReference 758292 758306 - Identifier 758292 758306 - Block 758306 758541 - ReturnStatement 758308 758534 - BinaryExpression 758324 758533 - CallExpression 758324 758348 - Identifier 758324 758342 - Identifier 758343 758347 - AmpersandAmpersandToken 758348 758364 - CallExpression 758364 758533 - Identifier 758364 758391 - ConditionalExpression 758392 758532 - CallExpression 758392 758420 - Identifier 758392 758414 - Identifier 758415 758419 - QuestionToken 758420 758422 - CallExpression 758422 758454 - Identifier 758422 758448 - Identifier 758449 758453 - ColonToken 758454 758456 - CallExpression 758456 758532 - Identifier 758456 758478 - PropertyAccessExpression 758479 758531 - ParenthesizedExpression 758479 758512 - AsExpression 758480 758511 - Identifier 758480 758484 - TypeReference 758487 758511 - Identifier 758487 758511 - Identifier 758513 758531 - FunctionDeclaration 758541 758869 - Identifier 758557 758586 - Parameter 758587 758608 - Identifier 758587 758591 - TypeReference 758592 758608 - Identifier 758592 758608 - TypePredicate 758610 758632 - Identifier 758610 758615 - TypeReference 758618 758632 - Identifier 758618 758632 - Block 758632 758869 - ReturnStatement 758634 758862 - BinaryExpression 758650 758861 - CallExpression 758650 758674 - Identifier 758650 758668 - Identifier 758669 758673 - AmpersandAmpersandToken 758674 758690 - CallExpression 758690 758861 - Identifier 758690 758719 - ConditionalExpression 758720 758860 - CallExpression 758720 758748 - Identifier 758720 758742 - Identifier 758743 758747 - QuestionToken 758748 758750 - CallExpression 758750 758782 - Identifier 758750 758776 - Identifier 758777 758781 - ColonToken 758782 758784 - CallExpression 758784 758860 - Identifier 758784 758806 - PropertyAccessExpression 758807 758859 - ParenthesizedExpression 758807 758840 - AsExpression 758808 758839 - Identifier 758808 758812 - TypeReference 758815 758839 - Identifier 758815 758839 - Identifier 758841 758859 - FunctionDeclaration 758869 759197 - Identifier 758885 758903 - Parameter 758904 758925 - Identifier 758904 758908 - TypeReference 758909 758925 - Identifier 758909 758925 - Block 758926 759197 - IfStatement 758928 759048 - BinaryExpression 758942 759007 - PrefixUnaryExpression 758942 758971 - CallExpression 758943 758971 - Identifier 758943 758965 - Identifier 758966 758970 - AmpersandAmpersandToken 758971 758974 - PrefixUnaryExpression 758974 759007 - CallExpression 758976 759007 - Identifier 758976 759001 - Identifier 759002 759006 - Block 759008 759048 - ReturnStatement 759010 759037 - FalseKeyword 759030 759036 - VariableStatement 759048 759144 - VariableDeclarationList 759048 759143 - VariableDeclaration 759063 759143 - Identifier 759063 759068 - ConditionalExpression 759070 759143 - CallExpression 759070 759099 - Identifier 759070 759093 - Identifier 759094 759098 - QuestionToken 759099 759101 - PropertyAccessExpression 759101 759117 - Identifier 759101 759106 - Identifier 759107 759117 - ColonToken 759117 759119 - PropertyAccessExpression 759119 759143 - Identifier 759119 759124 - Identifier 759125 759143 - ReturnStatement 759144 759190 - CallExpression 759160 759189 - Identifier 759160 759183 - Identifier 759184 759188 - FunctionDeclaration 759197 759338 - Identifier 759213 759242 - Parameter 759243 759253 - Identifier 759243 759247 - TypeReference 759248 759253 - Identifier 759248 759253 - BooleanKeyword 759255 759263 - Block 759263 759338 - ReturnStatement 759265 759331 - CallExpression 759281 759330 - Identifier 759281 759300 - Identifier 759301 759305 - Identifier 759306 759329 - FunctionDeclaration 759338 759610 - Identifier 759354 759370 - Parameter 759371 759385 - Identifier 759371 759375 - TypeReference 759376 759385 - Identifier 759376 759385 - BooleanKeyword 759387 759395 - Block 759395 759610 - ReturnStatement 759397 759603 - BinaryExpression 759413 759602 - BinaryExpression 759413 759533 - BinaryExpression 759413 759465 - CallExpression 759413 759444 - PropertyAccessExpression 759413 759441 - ParenthesizedExpression 759413 759430 - AsExpression 759415 759429 - Identifier 759415 759419 - StringKeyword 759422 759429 - Identifier 759431 759441 - NumericLiteral 759442 759443 - EqualsEqualsEqualsToken 759444 759448 - PropertyAccessExpression 759448 759465 - Identifier 759448 759463 - Identifier 759464 759465 - AmpersandAmpersandToken 759465 759468 - BinaryExpression 759468 759533 - CallExpression 759468 759512 - PropertyAccessExpression 759468 759509 - ParenthesizedExpression 759468 759498 - AsExpression 759483 759497 - Identifier 759483 759487 - StringKeyword 759490 759497 - Identifier 759499 759509 - NumericLiteral 759510 759511 - EqualsEqualsEqualsToken 759512 759516 - PropertyAccessExpression 759516 759533 - Identifier 759516 759531 - Identifier 759532 759533 - AmpersandAmpersandToken 759533 759536 - BinaryExpression 759536 759602 - CallExpression 759536 759580 - PropertyAccessExpression 759536 759577 - ParenthesizedExpression 759536 759566 - AsExpression 759551 759565 - Identifier 759551 759555 - StringKeyword 759558 759565 - Identifier 759567 759577 - NumericLiteral 759578 759579 - EqualsEqualsEqualsToken 759580 759584 - PropertyAccessExpression 759584 759602 - Identifier 759584 759599 - Identifier 759600 759602 - FunctionDeclaration 759610 759937 - Identifier 759718 759738 - Parameter 759739 759756 - Identifier 759739 759743 - TypeReference 759744 759756 - Identifier 759744 759756 - TypePredicate 759758 759826 - Identifier 759758 759763 - UnionType 759766 759826 - TypeReference 759766 759787 - Identifier 759766 759787 - TypeReference 759789 759826 - Identifier 759789 759826 - Block 759826 759937 - VariableStatement 759828 759878 - VariableDeclarationList 759828 759877 - VariableDeclaration 759843 759877 - Identifier 759843 759848 - CallExpression 759850 759877 - Identifier 759850 759871 - Identifier 759872 759876 - ReturnStatement 759878 759930 - BinaryExpression 759894 759929 - PrefixUnaryExpression 759894 759901 - PrefixUnaryExpression 759896 759901 - Identifier 759897 759901 - AmpersandAmpersandToken 759901 759904 - CallExpression 759904 759929 - Identifier 759904 759923 - Identifier 759924 759928 - FunctionDeclaration 759937 760123 - Identifier 759953 759983 - Parameter 759984 760001 - Identifier 759984 759988 - TypeReference 759989 760001 - Identifier 759989 760001 - Block 760002 760123 - VariableStatement 760004 760054 - VariableDeclarationList 760004 760053 - VariableDeclaration 760019 760053 - Identifier 760019 760024 - CallExpression 760026 760053 - Identifier 760026 760047 - Identifier 760048 760052 - ReturnStatement 760054 760116 - BinaryExpression 760070 760115 - PrefixUnaryExpression 760070 760077 - PrefixUnaryExpression 760072 760077 - Identifier 760073 760077 - AmpersandAmpersandToken 760077 760080 - CallExpression 760080 760115 - Identifier 760080 760109 - Identifier 760110 760114 - FunctionDeclaration 760123 760375 - Identifier 760263 760279 - Parameter 760280 760297 - Identifier 760280 760284 - TypeReference 760285 760297 - Identifier 760285 760297 - Block 760298 760375 - ReturnStatement 760300 760368 - BinaryExpression 760316 760367 - PrefixUnaryExpression 760316 760338 - CallExpression 760318 760338 - Identifier 760318 760332 - Identifier 760333 760337 - BarBarToken 760338 760341 - CallExpression 760341 760367 - Identifier 760341 760361 - Identifier 760362 760366 - FunctionDeclaration 760375 760622 - Identifier 760499 760524 - Parameter 760525 760546 - Identifier 760525 760529 - TypeReference 760530 760546 - Identifier 760530 760546 - Block 760547 760622 - ReturnStatement 760549 760615 - BinaryExpression 760565 760614 - CallExpression 760565 760585 - Identifier 760565 760579 - Identifier 760580 760584 - AmpersandAmpersandToken 760585 760588 - PrefixUnaryExpression 760588 760614 - CallExpression 760590 760614 - Identifier 760590 760608 - Identifier 760609 760613 - FunctionDeclaration 760622 761621 - Identifier 760863 760895 - Parameter 760896 760910 - Identifier 760896 760902 - TypeReference 760903 760910 - Identifier 760903 760910 - Parameter 760911 760959 - Identifier 760911 760918 - UnionType 760919 760959 - TypeReference 760919 760940 - Identifier 760919 760940 - TypeReference 760942 760959 - Identifier 760942 760959 - Parameter 760960 760985 - Identifier 760960 760972 - TypeReference 760973 760985 - Identifier 760973 760985 - Block 760986 761621 - ExpressionStatement 760988 761089 - CallExpression 760988 761088 - PropertyAccessExpression 760988 761010 - Identifier 760988 761003 - Identifier 761004 761010 - PrefixUnaryExpression 761011 761054 - PrefixUnaryExpression 761012 761054 - ParenthesizedExpression 761013 761054 - BinaryExpression 761014 761053 - CallExpression 761014 761035 - Identifier 761014 761027 - Identifier 761028 761034 - AmpersandToken 761035 761037 - PropertyAccessExpression 761037 761053 - Identifier 761037 761048 - Identifier 761049 761053 - StringLiteral 761055 761087 - ExpressionStatement 761089 761127 - BinaryExpression 761089 761126 - PropertyAccessExpression 761089 761111 - Identifier 761089 761105 - Identifier 761106 761111 - BarEqualsToken 761111 761114 - Identifier 761114 761126 - ExpressionStatement 761127 761187 - BinaryExpression 761127 761186 - PropertyAccessExpression 761127 761177 - CallExpression 761127 761166 - Identifier 761127 761151 - PropertyAccessExpression 761152 761165 - Identifier 761152 761158 - Identifier 761159 761165 - Identifier 761167 761177 - EqualsToken 761177 761179 - Identifier 761179 761186 - IfStatement 761187 761396 - PrefixUnaryExpression 761201 761221 - PropertyAccessExpression 761202 761221 - Identifier 761202 761208 - Identifier 761209 761221 - Block 761222 761280 - ExpressionStatement 761224 761269 - BinaryExpression 761224 761268 - PropertyAccessExpression 761224 761257 - Identifier 761224 761244 - Identifier 761245 761257 - EqualsToken 761257 761259 - ArrayLiteralExpression 761259 761268 - Identifier 761261 761267 - IfStatement 761294 761396 - PrefixUnaryExpression 761299 761335 - PropertyAccessExpression 761300 761335 - PropertyAccessExpression 761300 761313 - Identifier 761300 761306 - Identifier 761307 761313 - Identifier 761314 761335 - Block 761336 761396 - ExpressionStatement 761338 761385 - CallExpression 761338 761384 - PropertyAccessExpression 761338 761376 - PropertyAccessExpression 761338 761371 - Identifier 761338 761358 - Identifier 761359 761371 - Identifier 761372 761376 - Identifier 761377 761383 - IfStatement 761396 761614 - BinaryExpression 761410 761441 - Identifier 761410 761421 - AmpersandToken 761421 761423 - PropertyAccessExpression 761423 761441 - Identifier 761423 761435 - Identifier 761436 761441 - Block 761442 761614 - IfStatement 761444 761603 - BinaryExpression 761462 761534 - PrefixUnaryExpression 761462 761486 - PropertyAccessExpression 761463 761486 - Identifier 761463 761469 - Identifier 761470 761486 - BarBarToken 761486 761489 - BinaryExpression 761489 761534 - PropertyAccessExpression 761489 761518 - PropertyAccessExpression 761489 761513 - Identifier 761489 761496 - Identifier 761497 761513 - Identifier 761514 761518 - ExclamationEqualsEqualsToken 761518 761522 - PropertyAccessExpression 761522 761534 - Identifier 761522 761529 - Identifier 761530 761534 - Block 761535 761603 - ExpressionStatement 761537 761588 - BinaryExpression 761537 761587 - PropertyAccessExpression 761537 761578 - Identifier 761537 761561 - Identifier 761562 761578 - EqualsToken 761578 761580 - Identifier 761580 761587 - FunctionDeclaration 761621 766074 - Identifier 762984 762999 - Parameter 763000 763014 - Identifier 763000 763006 - TypeReference 763007 763014 - Identifier 763007 763014 - Parameter 763015 763053 - Identifier 763015 763028 - UnionType 763029 763053 - TypeReference 763029 763041 - Identifier 763029 763041 - UndefinedKeyword 763043 763053 - Parameter 763054 763098 - Identifier 763054 763066 - TypeReference 763067 763098 - Identifier 763067 763071 - TypeReference 763072 763080 - Identifier 763072 763080 - TypeReference 763081 763097 - Identifier 763081 763097 - Parameter 763099 763165 - Identifier 763099 763104 - UnionType 763105 763165 - TypeReference 763105 763126 - Identifier 763105 763126 - TypeReference 763128 763165 - Identifier 763128 763165 - Block 763166 766074 - ExpressionStatement 763168 763250 - CallExpression 763168 763249 - PropertyAccessExpression 763168 763190 - Identifier 763168 763183 - Identifier 763184 763190 - PrefixUnaryExpression 763191 763204 - PrefixUnaryExpression 763192 763204 - PropertyAccessExpression 763193 763204 - Identifier 763193 763197 - Identifier 763198 763204 - StringLiteral 763205 763248 - VariableStatement 763250 763293 - VariableDeclarationList 763250 763292 - VariableDeclaration 763265 763292 - Identifier 763265 763271 - CallExpression 763273 763292 - Identifier 763273 763286 - Identifier 763287 763291 - IfStatement 763293 766029 - PrefixUnaryExpression 763307 763328 - PropertyAccessExpression 763308 763328 - Identifier 763308 763313 - Identifier 763314 763328 - Block 763329 766029 - ExpressionStatement 763331 763545 - BinaryExpression 763331 763544 - PropertyAccessExpression 763331 763530 - Identifier 763331 763515 - Identifier 763516 763530 - EqualsToken 763530 763532 - PropertyAccessExpression 763532 763544 - Identifier 763532 763537 - Identifier 763538 763544 - VariableStatement 763545 763625 - VariableDeclarationList 763545 763624 - VariableDeclaration 763564 763624 - Identifier 763564 763573 - ConditionalExpression 763575 763624 - CallExpression 763575 763600 - Identifier 763575 763594 - Identifier 763595 763599 - QuestionToken 763600 763602 - PropertyAccessExpression 763602 763612 - Identifier 763602 763607 - Identifier 763608 763612 - ColonToken 763612 763614 - PropertyAccessExpression 763614 763624 - Identifier 763614 763619 - Identifier 763620 763624 - VariableStatement 763625 763779 - VariableDeclarationList 763625 763778 - VariableDeclaration 763644 763778 - Identifier 763644 763649 - ConditionalExpression 763651 763778 - CallExpression 763651 763687 - Identifier 763651 763677 - Identifier 763678 763686 - QuestionToken 763687 763689 - CallExpression 763689 763740 - Identifier 763689 763711 - PropertyAccessExpression 763712 763739 - Identifier 763712 763720 - Identifier 763721 763739 - ColonToken 763740 763742 - CallExpression 763742 763778 - Identifier 763742 763768 - Identifier 763769 763777 - IfStatement 763779 766018 - CallExpression 763797 763829 - Identifier 763797 763823 - Identifier 763824 763828 - Block 763830 766018 - VariableStatement 763832 763899 - VariableDeclarationList 763832 763898 - VariableDeclaration 763855 763898 - Identifier 763855 763866 - CallExpression 763868 763898 - Identifier 763868 763892 - Identifier 763893 763897 - VariableStatement 763899 763955 - VariableDeclarationList 763899 763954 - VariableDeclaration 763922 763954 - Identifier 763922 763934 - PropertyAccessExpression 763936 763954 - PropertyAccessExpression 763936 763948 - Identifier 763936 763941 - Identifier 763942 763948 - Identifier 763949 763954 - VariableStatement 763955 764145 - VariableDeclarationList 763955 764144 - VariableDeclaration 764103 764144 - Identifier 764103 764114 - CallExpression 764116 764144 - PropertyAccessExpression 764116 764132 - Identifier 764116 764128 - Identifier 764129 764132 - Identifier 764133 764143 - IfStatement 764145 764282 - PrefixUnaryExpression 764167 764178 - Identifier 764168 764178 - ExpressionStatement 764179 764282 - CallExpression 764179 764281 - PropertyAccessExpression 764179 764195 - Identifier 764179 764191 - Identifier 764192 764195 - Identifier 764196 764206 - BinaryExpression 764207 764280 - Identifier 764207 764218 - EqualsToken 764218 764220 - CallExpression 764220 764280 - Identifier 764220 764233 - PropertyAccessExpression 764234 764250 - Identifier 764234 764245 - Identifier 764246 764250 - Identifier 764251 764262 - PropertyAccessExpression 764263 764279 - Identifier 764263 764274 - Identifier 764275 764279 - VariableStatement 764282 764477 - VariableDeclarationList 764282 764476 - VariableDeclaration 764417 764476 - Identifier 764417 764429 - BinaryExpression 764431 764476 - Identifier 764431 764444 - AmpersandAmpersandToken 764444 764447 - CallExpression 764447 764476 - PropertyAccessExpression 764447 764464 - Identifier 764447 764460 - Identifier 764461 764464 - Identifier 764465 764475 - IfStatement 764477 765547 - BinaryExpression 764613 764706 - PrefixUnaryExpression 764613 764648 - ParenthesizedExpression 764614 764648 - BinaryExpression 764615 764647 - PropertyAccessExpression 764615 764627 - Identifier 764615 764621 - Identifier 764622 764627 - AmpersandToken 764627 764629 - PropertyAccessExpression 764629 764647 - Identifier 764629 764641 - Identifier 764642 764647 - AmpersandAmpersandToken 764648 764651 - BinaryExpression 764651 764706 - PropertyAccessExpression 764651 764668 - Identifier 764651 764662 - Identifier 764663 764668 - AmpersandToken 764668 764670 - CallExpression 764670 764706 - Identifier 764670 764693 - Identifier 764694 764705 - Block 764707 765547 - VariableStatement 764709 765023 - VariableDeclarationList 764709 765022 - VariableDeclaration 764904 765022 - Identifier 764904 764917 - ConditionalExpression 764919 765022 - Identifier 764919 764931 - QuestionToken 764931 764933 - CallExpression 764933 764996 - Identifier 764933 764945 - PropertyAccessExpression 764946 764970 - Identifier 764946 764957 - Identifier 764958 764970 - PropertyAccessExpression 764971 764995 - Identifier 764971 764982 - Identifier 764983 764995 - ColonToken 764996 764998 - PropertyAccessExpression 764998 765022 - Identifier 764998 765009 - Identifier 765010 765022 - VariableStatement 765023 765178 - VariableDeclarationList 765023 765177 - VariableDeclaration 765050 765177 - Identifier 765050 765055 - BinaryExpression 765057 765177 - BinaryExpression 765057 765140 - PrefixUnaryExpression 765057 765098 - ParenthesizedExpression 765059 765098 - BinaryExpression 765060 765097 - PropertyAccessExpression 765060 765070 - Identifier 765060 765064 - Identifier 765065 765070 - AmpersandToken 765070 765072 - PropertyAccessExpression 765072 765097 - Identifier 765072 765082 - Identifier 765083 765097 - AmpersandAmpersandToken 765098 765101 - CallExpression 765101 765140 - Identifier 765101 765128 - Identifier 765129 765139 - BarBarToken 765140 765143 - CallExpression 765143 765177 - Identifier 765143 765167 - Identifier 765168 765176 - ExpressionStatement 765178 765347 - CallExpression 765178 765346 - Identifier 765178 765207 - Identifier 765208 765220 - ArrowFunction 765221 765345 - Parameter 765221 765233 - Identifier 765221 765233 - EqualsGreaterThanToken 765233 765236 - CallExpression 765236 765345 - Identifier 765236 765242 - BinaryExpression 765243 765291 - CallExpression 765243 765276 - Identifier 765243 765263 - Identifier 765264 765275 - BarBarToken 765276 765279 - Identifier 765279 765291 - PropertyAccessExpression 765292 765338 - Identifier 765292 765304 - Identifier 765305 765338 - Identifier 765339 765344 - ExpressionStatement 765347 765433 - CallExpression 765347 765432 - Identifier 765347 765374 - BinaryExpression 765375 765391 - Identifier 765375 765383 - BarBarToken 765383 765386 - Identifier 765386 765391 - PropertyAccessExpression 765392 765425 - Identifier 765392 765404 - Identifier 765405 765425 - Identifier 765426 765431 - ExpressionStatement 765433 765528 - BinaryExpression 765433 765527 - Identifier 765433 765465 - EqualsToken 765465 765467 - CallExpression 765467 765527 - Identifier 765467 765480 - PropertyAccessExpression 765481 765497 - Identifier 765481 765492 - Identifier 765493 765497 - Identifier 765498 765509 - PropertyAccessExpression 765510 765526 - Identifier 765510 765521 - Identifier 765522 765526 - ExpressionStatement 765547 765598 - BinaryExpression 765547 765597 - PropertyAccessExpression 765547 765590 - PropertyAccessExpression 765547 765581 - Identifier 765547 765575 - Identifier 765576 765581 - Identifier 765582 765590 - EqualsToken 765590 765592 - Identifier 765592 765597 - ExpressionStatement 765598 765679 - CallExpression 765598 765678 - Identifier 765598 765647 - Identifier 765648 765658 - Identifier 765659 765664 - Identifier 765665 765677 - IfStatement 765679 765944 - PropertyAccessExpression 765701 765718 - Identifier 765701 765711 - Identifier 765712 765718 - Block 765719 765852 - ExpressionStatement 765721 765833 - CallExpression 765721 765832 - PropertyAccessExpression 765721 765755 - Identifier 765721 765748 - Identifier 765749 765755 - BinaryExpression 765756 765784 - PropertyAccessExpression 765756 765773 - Identifier 765756 765766 - Identifier 765767 765773 - EqualsEqualsEqualsToken 765773 765777 - Identifier 765777 765784 - StringLiteral 765785 765831 - Block 765874 765944 - ExpressionStatement 765876 765925 - BinaryExpression 765876 765924 - PropertyAccessExpression 765876 765915 - Identifier 765876 765908 - Identifier 765909 765915 - EqualsToken 765915 765917 - Identifier 765917 765924 - ReturnStatement 765944 766003 - BinaryExpression 765968 766002 - PropertyAccessExpression 765968 765989 - Identifier 765968 765974 - Identifier 765975 765989 - EqualsToken 765989 765991 - Identifier 765991 766002 - ReturnStatement 766029 766067 - PropertyAccessExpression 766045 766066 - Identifier 766045 766051 - Identifier 766052 766066 - FunctionDeclaration 766074 767428 - Identifier 766090 766113 - Parameter 766114 766128 - Identifier 766114 766120 - TypeReference 766121 766128 - Identifier 766121 766128 - Parameter 766129 766167 - Identifier 766129 766142 - UnionType 766143 766167 - TypeReference 766143 766155 - Identifier 766143 766155 - UndefinedKeyword 766157 766167 - Parameter 766168 766212 - Identifier 766168 766180 - TypeReference 766181 766212 - Identifier 766181 766185 - TypeReference 766186 766194 - Identifier 766186 766194 - TypeReference 766195 766211 - Identifier 766195 766211 - Parameter 766213 766279 - Identifier 766213 766218 - UnionType 766219 766279 - TypeReference 766219 766240 - Identifier 766219 766240 - TypeReference 766242 766279 - Identifier 766242 766279 - Block 766280 767428 - VariableStatement 766282 766416 - VariableDeclarationList 766282 766415 - VariableDeclaration 766359 766415 - Identifier 766359 766371 - CallExpression 766373 766415 - PropertyAccessExpression 766373 766389 - Identifier 766373 766385 - Identifier 766386 766389 - PropertyAccessExpression 766390 766414 - Identifier 766390 766408 - Identifier 766409 766414 - IfStatement 766416 766897 - PrefixUnaryExpression 766430 766442 - Identifier 766431 766442 - Block 766443 766897 - VariableStatement 766445 766517 - VariableDeclarationList 766445 766516 - VariableDeclaration 766464 766516 - Identifier 766464 766470 - CallExpression 766472 766516 - PropertyAccessExpression 766472 766490 - Identifier 766472 766485 - QuestionDotToken 766485 766487 - Identifier 766487 766490 - PropertyAccessExpression 766491 766515 - Identifier 766491 766509 - Identifier 766510 766515 - IfStatement 766517 766817 - PrefixUnaryExpression 766535 766541 - Identifier 766536 766541 - Block 766542 766665 - ExpressionStatement 766544 766650 - BinaryExpression 766544 766649 - Identifier 766544 766573 - EqualsToken 766573 766575 - CallExpression 766575 766649 - Identifier 766575 766588 - PropertyAccessExpression 766589 766605 - Identifier 766589 766600 - Identifier 766601 766605 - PropertyAccessExpression 766606 766631 - Identifier 766606 766625 - Identifier 766626 766631 - PropertyAccessExpression 766632 766648 - Identifier 766632 766643 - Identifier 766644 766648 - Block 766683 766817 - ExpressionStatement 766685 766736 - BinaryExpression 766685 766735 - Identifier 766685 766714 - EqualsToken 766714 766716 - CallExpression 766716 766735 - Identifier 766716 766728 - Identifier 766729 766734 - ExpressionStatement 766736 766802 - BinaryExpression 766736 766801 - PropertyAccessExpression 766736 766782 - PropertyAccessExpression 766736 766771 - Identifier 766736 766765 - Identifier 766766 766771 - Identifier 766772 766782 - BarEqualsToken 766782 766785 - PropertyAccessExpression 766785 766801 - Identifier 766785 766796 - Identifier 766797 766801 - ExpressionStatement 766817 766886 - CallExpression 766817 766885 - PropertyAccessExpression 766817 766846 - Identifier 766817 766842 - Identifier 766843 766846 - PropertyAccessExpression 766847 766871 - Identifier 766847 766865 - Identifier 766866 766871 - Identifier 766872 766884 - IfStatement 766897 767421 - PrefixUnaryExpression 767217 767242 - PropertyAccessExpression 767218 767242 - Identifier 767218 767229 - Identifier 767230 767242 - Block 767243 767304 - ExpressionStatement 767245 767293 - BinaryExpression 767245 767292 - PropertyAccessExpression 767245 767283 - Identifier 767245 767270 - Identifier 767271 767283 - EqualsToken 767283 767285 - ArrayLiteralExpression 767285 767292 - Identifier 767287 767291 - IfStatement 767318 767421 - PrefixUnaryExpression 767323 767357 - PropertyAccessExpression 767324 767357 - PropertyAccessExpression 767324 767335 - Identifier 767324 767328 - Identifier 767329 767335 - Identifier 767336 767357 - Block 767358 767421 - ExpressionStatement 767360 767410 - CallExpression 767360 767409 - PropertyAccessExpression 767360 767403 - PropertyAccessExpression 767360 767398 - Identifier 767360 767385 - Identifier 767386 767398 - Identifier 767399 767403 - Identifier 767404 767408 - FunctionDeclaration 767428 771401 - Identifier 767444 767480 - Parameter 767481 767495 - Identifier 767481 767487 - TypeReference 767488 767495 - Identifier 767488 767495 - Parameter 767496 767543 - Identifier 767496 767511 - TypeReference 767512 767543 - Identifier 767512 767543 - TypeReference 767545 767567 - Identifier 767545 767549 - TypeReference 767550 767558 - Identifier 767550 767558 - TypeReference 767559 767566 - Identifier 767559 767566 - Block 767567 771401 - VariableStatement 767569 767616 - VariableDeclarationList 767569 767615 - VariableDeclaration 767584 767615 - Identifier 767584 767590 - CallExpression 767592 767615 - Identifier 767592 767607 - Identifier 767608 767614 - IfStatement 767616 771353 - PrefixUnaryExpression 767630 767652 - ElementAccessExpression 767631 767652 - Identifier 767631 767636 - Identifier 767637 767651 - Block 767653 771353 - VariableStatement 767655 767752 - VariableDeclarationList 767655 767751 - VariableDeclaration 767674 767751 - Identifier 767674 767683 - BinaryExpression 767685 767751 - Identifier 767685 767700 - EqualsEqualsEqualsToken 767700 767704 - PropertyAccessExpression 767704 767751 - Identifier 767704 767735 - Identifier 767736 767751 - VariableStatement 767752 767944 - VariableDeclarationList 767752 767943 - VariableDeclaration 767771 767943 - Identifier 767771 767784 - ConditionalExpression 767786 767943 - PrefixUnaryExpression 767786 767796 - Identifier 767788 767796 - QuestionToken 767796 767798 - PropertyAccessExpression 767798 767813 - Identifier 767798 767805 - Identifier 767806 767813 - ColonToken 767813 767815 - ConditionalExpression 767815 767943 - BinaryExpression 767815 767866 - PropertyAccessExpression 767815 767845 - Identifier 767815 767839 - Identifier 767840 767845 - AmpersandToken 767845 767847 - PropertyAccessExpression 767847 767866 - Identifier 767847 767859 - Identifier 767860 767866 - QuestionToken 767866 767868 - PropertyAccessExpression 767868 767909 - CallExpression 767868 767901 - Identifier 767868 767893 - Identifier 767894 767900 - Identifier 767902 767909 - ColonToken 767909 767911 - PropertyAccessExpression 767911 767943 - Identifier 767911 767935 - Identifier 767936 767943 - ExpressionStatement 767944 768242 - BinaryExpression 767944 768241 - ElementAccessExpression 767944 768210 - Identifier 767944 768194 - Identifier 768195 768209 - EqualsToken 768210 768212 - BinaryExpression 768212 768241 - Identifier 768212 768225 - BarBarToken 768225 768228 - Identifier 768228 768241 - VariableStatement 768242 768398 - VariableDeclarationList 768242 768397 - VariableDeclaration 768329 768397 - Identifier 768329 768341 - AsExpression 768343 768397 - CallExpression 768343 768363 - Identifier 768343 768361 - TypeReference 768366 768397 - Identifier 768366 768370 - TypeReference 768371 768379 - Identifier 768371 768379 - TypeReference 768380 768396 - Identifier 768380 768396 - ForOfStatement 768398 769239 - VariableDeclarationList 768417 768427 - VariableDeclaration 768422 768427 - Identifier 768422 768427 - BinaryExpression 768430 768464 - PropertyAccessExpression 768430 768450 - Identifier 768430 768437 - Identifier 768438 768450 - BarBarToken 768450 768453 - Identifier 768453 768464 - Block 768465 769239 - VariableStatement 768467 768531 - VariableDeclarationList 768467 768530 - VariableDeclaration 768490 768530 - Identifier 768490 768498 - CallExpression 768500 768530 - Identifier 768500 768524 - Identifier 768525 768529 - IfStatement 768531 769224 - Identifier 768553 768560 - Block 768561 769224 - ForOfStatement 768563 769205 - VariableDeclarationList 768590 768602 - VariableDeclaration 768595 768602 - Identifier 768595 768602 - Identifier 768605 768613 - Block 768614 769205 - IfStatement 768616 769182 - BinaryExpression 768646 768684 - Identifier 768646 768654 - EqualsEqualsEqualsToken 768654 768658 - CallExpression 768658 768684 - Identifier 768658 768676 - Identifier 768677 768683 - Block 768685 769182 - IfStatement 768687 769155 - CallExpression 768721 768748 - Identifier 768721 768740 - Identifier 768741 768747 - Block 768749 768874 - ExpressionStatement 768751 768843 - CallExpression 768751 768842 - Identifier 768751 768799 - Identifier 768800 768806 - Identifier 768807 768820 - Identifier 768821 768833 - Identifier 768834 768841 - IfStatement 768908 769155 - CallExpression 768913 768950 - Identifier 768913 768942 - Identifier 768943 768949 - Block 768951 769155 - ExpressionStatement 768953 769124 - CallExpression 768953 769123 - Identifier 768953 769009 - Identifier 769010 769016 - Identifier 769017 769030 - Identifier 769031 769043 - AsExpression 769044 769122 - AsExpression 769044 769059 - Identifier 769044 769051 - TypeReference 769054 769059 - Identifier 769054 769059 - UnionType 769062 769122 - TypeReference 769062 769083 - Identifier 769062 769083 - TypeReference 769085 769122 - Identifier 769085 769122 - VariableStatement 769239 769352 - VariableDeclarationList 769239 769351 - VariableDeclaration 769258 769351 - Identifier 769258 769270 - PropertyAccessExpression 769272 769351 - CallExpression 769272 769322 - Identifier 769272 769314 - Identifier 769315 769321 - Identifier 769323 769351 - IfStatement 769352 770392 - Identifier 769372 769383 - Block 769384 770392 - VariableStatement 769386 769450 - VariableDeclarationList 769386 769449 - VariableDeclaration 769409 769449 - Identifier 769409 769415 - CallExpression 769417 769449 - Identifier 769417 769427 - CallExpression 769428 769448 - PropertyAccessExpression 769428 769446 - Identifier 769428 769439 - Identifier 769440 769446 - ForOfStatement 769450 770377 - VariableDeclarationList 769473 769485 - VariableDeclaration 769478 769485 - Identifier 769478 769485 - Identifier 769488 769494 - Block 769495 770377 - VariableStatement 769497 769616 - VariableDeclarationList 769497 769615 - VariableDeclaration 769524 769615 - Identifier 769524 769539 - CallExpression 769541 769615 - Identifier 769541 769570 - AsExpression 769571 769614 - Identifier 769571 769577 - UnionType 769580 769614 - TypeReference 769580 769597 - Identifier 769580 769597 - TypeReference 769599 769614 - Identifier 769599 769614 - VariableStatement 769616 770024 - VariableDeclarationList 769616 770023 - VariableDeclaration 769643 770023 - Identifier 769643 769660 - BinaryExpression 769662 770023 - BinaryExpression 769662 769940 - BinaryExpression 769662 769837 - BinaryExpression 769662 769725 - Identifier 769662 769677 - EqualsEqualsEqualsToken 769677 769681 - PropertyAccessExpression 769681 769725 - Identifier 769681 769707 - Identifier 769708 769725 - BarBarToken 769725 769753 - BinaryExpression 769753 769837 - CallExpression 769753 769780 - Identifier 769753 769772 - Identifier 769773 769779 - AmpersandAmpersandToken 769780 769783 - CallExpression 769783 769837 - Identifier 769783 769813 - Identifier 769814 769820 - Identifier 769821 769836 - BarBarToken 769837 769865 - BinaryExpression 769865 769940 - Identifier 769865 769880 - EqualsEqualsEqualsToken 769880 769884 - PropertyAccessExpression 769884 769940 - Identifier 769884 769910 - Identifier 769911 769940 - BarBarToken 769940 769968 - BinaryExpression 769968 770023 - Identifier 769968 769983 - EqualsEqualsEqualsToken 769983 769987 - PropertyAccessExpression 769987 770023 - Identifier 769987 770013 - Identifier 770014 770023 - IfStatement 770024 770358 - BinaryExpression 770127 770157 - Identifier 770127 770135 - EqualsEqualsEqualsToken 770135 770139 - PrefixUnaryExpression 770139 770157 - Identifier 770141 770157 - Block 770158 770358 - IfStatement 770160 770335 - CallExpression 770190 770217 - Identifier 770190 770209 - Identifier 770210 770216 - Block 770218 770335 - ExpressionStatement 770220 770308 - CallExpression 770220 770307 - Identifier 770220 770264 - Identifier 770265 770271 - Identifier 770272 770285 - Identifier 770286 770298 - Identifier 770299 770306 - VariableStatement 770392 770470 - VariableDeclarationList 770392 770469 - VariableDeclaration 770411 770469 - Identifier 770411 770420 - CallExpression 770422 770469 - Identifier 770422 770442 - Identifier 770443 770455 - Identifier 770456 770468 - IfStatement 770470 771279 - BinaryExpression 770488 770572 - BinaryExpression 770488 770549 - BinaryExpression 770488 770524 - PropertyAccessExpression 770488 770500 - Identifier 770488 770494 - Identifier 770495 770500 - AmpersandToken 770500 770502 - PropertyAccessExpression 770502 770524 - Identifier 770502 770514 - Identifier 770515 770524 - AmpersandAmpersandToken 770524 770527 - PropertyAccessExpression 770527 770549 - Identifier 770527 770533 - Identifier 770534 770549 - AmpersandAmpersandToken 770549 770552 - PropertyAccessExpression 770552 770572 - Identifier 770552 770559 - Identifier 770560 770572 - Block 770573 771279 - ForOfStatement 770575 771264 - VariableDeclarationList 770598 770608 - VariableDeclaration 770603 770608 - Identifier 770603 770608 - PropertyAccessExpression 770611 770631 - Identifier 770611 770618 - Identifier 770619 770631 - Block 770632 771264 - VariableStatement 770634 770717 - VariableDeclarationList 770634 770716 - VariableDeclaration 770661 770716 - Identifier 770661 770670 - ElementAccessExpression 770672 770716 - CallExpression 770672 770700 - Identifier 770672 770687 - PropertyAccessExpression 770688 770699 - Identifier 770688 770692 - Identifier 770693 770699 - Identifier 770701 770715 - IfStatement 770717 770859 - PrefixUnaryExpression 770743 770752 - Identifier 770744 770752 - Block 770753 770859 - ExpressionStatement 770755 770801 - BinaryExpression 770755 770800 - Identifier 770755 770789 - EqualsToken 770789 770791 - Identifier 770791 770800 - ContinueStatement 770801 770836 - IfStatement 770859 770905 - PrefixUnaryExpression 770885 770894 - Identifier 770886 770894 - ContinueStatement 770895 770905 - ExpressionStatement 770905 771245 - CallExpression 770905 771244 - PropertyAccessExpression 770905 770943 - Identifier 770905 770935 - Identifier 770936 770943 - ArrowFunction 770944 771243 - Parameter 770945 770946 - Identifier 770945 770946 - Parameter 770947 770952 - Identifier 770947 770952 - EqualsGreaterThanToken 770953 770956 - Block 770956 771243 - VariableStatement 770958 771021 - VariableDeclarationList 770958 771020 - VariableDeclaration 770989 771020 - Identifier 770989 770998 - CallExpression 771000 771020 - PropertyAccessExpression 771000 771014 - NonNullExpression 771000 771010 - Identifier 771000 771009 - Identifier 771011 771014 - Identifier 771015 771019 - IfStatement 771021 771220 - PrefixUnaryExpression 771051 771060 - Identifier 771052 771060 - ExpressionStatement 771061 771085 - CallExpression 771061 771084 - PropertyAccessExpression 771061 771075 - NonNullExpression 771061 771071 - Identifier 771061 771070 - Identifier 771072 771075 - Identifier 771076 771080 - Identifier 771081 771083 - IfStatement 771115 771220 - BinaryExpression 771120 771134 - Identifier 771120 771128 - EqualsEqualsEqualsToken 771128 771132 - Identifier 771132 771134 - ReturnStatement 771135 771143 - ExpressionStatement 771173 771220 - CallExpression 771173 771219 - PropertyAccessExpression 771173 771187 - NonNullExpression 771173 771183 - Identifier 771173 771182 - Identifier 771184 771187 - Identifier 771188 771192 - CallExpression 771193 771218 - Identifier 771193 771205 - Identifier 771206 771214 - Identifier 771215 771217 - ExpressionStatement 771279 771342 - BinaryExpression 771279 771341 - ElementAccessExpression 771279 771314 - Identifier 771279 771298 - Identifier 771299 771313 - EqualsToken 771314 771316 - BinaryExpression 771316 771341 - Identifier 771316 771325 - BarBarToken 771325 771328 - Identifier 771328 771341 - ReturnStatement 771353 771394 - ElementAccessExpression 771371 771393 - Identifier 771371 771377 - Identifier 771378 771392 - FunctionDeclaration 771401 771860 - Identifier 771598 771617 - Parameter 771618 771632 - Identifier 771618 771624 - TypeReference 771625 771632 - Identifier 771625 771632 - Block 771633 771860 - ReturnStatement 771635 771853 - ConditionalExpression 771651 771852 - BinaryExpression 771651 771699 - PropertyAccessExpression 771651 771664 - Identifier 771651 771658 - Identifier 771659 771664 - AmpersandToken 771664 771666 - PropertyAccessExpression 771666 771699 - Identifier 771666 771678 - Identifier 771679 771699 - QuestionToken 771699 771714 - CallExpression 771714 771806 - Identifier 771714 771750 - Identifier 771751 771757 - PropertyAccessExpression 771758 771805 - Identifier 771758 771789 - Identifier 771790 771805 - ColonToken 771806 771821 - BinaryExpression 771821 771852 - PropertyAccessExpression 771821 771836 - Identifier 771821 771828 - Identifier 771829 771836 - BarBarToken 771836 771839 - Identifier 771839 771852 - FunctionDeclaration 771860 772897 - Identifier 772089 772108 - Parameter 772109 772123 - Identifier 772109 772115 - TypeReference 772116 772123 - Identifier 772116 772123 - TypeReference 772125 772132 - Identifier 772125 772132 - Block 772132 772897 - IfStatement 772134 772866 - BinaryExpression 772148 772240 - BinaryExpression 772148 772186 - PropertyAccessExpression 772148 772160 - Identifier 772148 772154 - Identifier 772155 772160 - AmpersandToken 772160 772162 - PropertyAccessExpression 772162 772186 - Identifier 772162 772174 - Identifier 772175 772186 - AmpersandAmpersandToken 772186 772189 - BinaryExpression 772189 772240 - PropertyAccessExpression 772189 772208 - Identifier 772189 772196 - Identifier 772197 772208 - EqualsEqualsEqualsToken 772208 772212 - PropertyAccessExpression 772212 772240 - Identifier 772212 772231 - Identifier 772232 772240 - Block 772241 772866 - VariableStatement 772243 772294 - VariableDeclarationList 772243 772293 - VariableDeclaration 772262 772293 - Identifier 772262 772268 - CallExpression 772270 772293 - Identifier 772270 772285 - Identifier 772286 772292 - IfStatement 772294 772786 - BinaryExpression 772312 772379 - PrefixUnaryExpression 772312 772329 - PropertyAccessExpression 772313 772329 - Identifier 772313 772318 - Identifier 772319 772329 - AmpersandAmpersandToken 772329 772332 - CallExpression 772332 772379 - Identifier 772332 772337 - PropertyAccessExpression 772338 772357 - Identifier 772338 772344 - Identifier 772345 772357 - Identifier 772358 772378 - Block 772380 772786 - VariableStatement 772382 772542 - VariableDeclarationList 772382 772541 - VariableDeclaration 772500 772541 - Identifier 772500 772507 - NonNullExpression 772509 772541 - CallExpression 772509 772540 - Identifier 772509 772525 - PropertyAccessExpression 772526 772539 - Identifier 772526 772532 - Identifier 772533 772539 - IfStatement 772542 772771 - CallExpression 772564 772608 - Identifier 772564 772568 - PropertyAccessExpression 772569 772588 - Identifier 772569 772575 - Identifier 772576 772588 - Identifier 772589 772607 - Block 772609 772679 - ExpressionStatement 772611 772660 - CallExpression 772611 772659 - Identifier 772611 772651 - Identifier 772652 772658 - Block 772701 772771 - ExpressionStatement 772703 772752 - CallExpression 772703 772751 - Identifier 772703 772743 - Identifier 772744 772750 - ReturnStatement 772786 772855 - BinaryExpression 772806 772854 - PropertyAccessExpression 772806 772823 - Identifier 772806 772812 - Identifier 772813 772823 - BarBarToken 772823 772826 - ParenthesizedExpression 772826 772854 - BinaryExpression 772828 772853 - PropertyAccessExpression 772828 772844 - Identifier 772828 772833 - Identifier 772834 772844 - EqualsToken 772844 772846 - Identifier 772846 772853 - ReturnStatement 772866 772890 - Identifier 772882 772889 - FunctionDeclaration 772897 773767 - Identifier 772913 772937 - Parameter 772938 772948 - Identifier 772938 772942 - TypeReference 772943 772948 - Identifier 772943 772948 - Parameter 772949 772969 - Identifier 772949 772962 - QuestionToken 772962 772963 - TypeReference 772964 772969 - Identifier 772964 772969 - Parameter 772970 772997 - Identifier 772970 772987 - QuestionToken 772987 772988 - BooleanKeyword 772989 772997 - TypeReference 772999 773004 - Identifier 772999 773004 - Block 773004 773767 - IfStatement 773006 773695 - BinaryExpression 773020 773064 - CallExpression 773020 773040 - Identifier 773020 773034 - Identifier 773035 773039 - AmpersandToken 773040 773042 - PropertyAccessExpression 773042 773064 - Identifier 773042 773054 - Identifier 773055 773064 - Block 773065 773392 - VariableStatement 773067 773127 - VariableDeclarationList 773067 773126 - VariableDeclaration 773086 773126 - Identifier 773086 773093 - PropertyAccessExpression 773095 773126 - ParenthesizedExpression 773095 773119 - AsExpression 773097 773118 - Identifier 773097 773101 - TypeReference 773104 773118 - Identifier 773104 773118 - Identifier 773120 773126 - VariableStatement 773127 773203 - VariableDeclarationList 773127 773202 - VariableDeclaration 773146 773202 - Identifier 773146 773160 - CallExpression 773162 773202 - Identifier 773162 773179 - AsExpression 773180 773201 - Identifier 773180 773184 - TypeReference 773187 773201 - Identifier 773187 773201 - ReturnStatement 773203 773381 - ConditionalExpression 773223 773380 - BinaryExpression 773223 773279 - CallExpression 773223 773253 - Identifier 773223 773230 - PropertyAccessExpression 773231 773252 - Identifier 773231 773237 - Identifier 773238 773252 - EqualsEqualsEqualsToken 773253 773257 - CallExpression 773257 773279 - Identifier 773257 773264 - Identifier 773265 773278 - QuestionToken 773279 773281 - CallExpression 773281 773373 - Identifier 773281 773301 - Identifier 773302 773308 - CallExpression 773309 773372 - Identifier 773309 773321 - Identifier 773322 773335 - ArrayLiteralExpression 773336 773371 - BinaryExpression 773338 773370 - Identifier 773338 773350 - BarBarToken 773350 773353 - NonNullExpression 773353 773370 - PropertyAccessExpression 773353 773369 - Identifier 773353 773360 - Identifier 773361 773369 - ColonToken 773373 773375 - Identifier 773375 773380 - IfStatement 773406 773695 - BinaryExpression 773411 773446 - PropertyAccessExpression 773411 773421 - Identifier 773411 773415 - Identifier 773416 773421 - AmpersandToken 773421 773423 - PropertyAccessExpression 773423 773446 - Identifier 773423 773433 - Identifier 773434 773446 - Block 773447 773695 - VariableStatement 773449 773584 - VariableDeclarationList 773449 773583 - VariableDeclaration 773468 773583 - Identifier 773468 773474 - CallExpression 773476 773583 - Identifier 773476 773484 - PropertyAccessExpression 773485 773517 - ParenthesizedExpression 773485 773511 - AsExpression 773486 773510 - Identifier 773486 773490 - TypeReference 773493 773510 - Identifier 773493 773510 - Identifier 773512 773517 - ArrowFunction 773518 773582 - Parameter 773518 773520 - Identifier 773518 773520 - EqualsGreaterThanToken 773520 773523 - CallExpression 773523 773582 - Identifier 773523 773547 - Identifier 773548 773549 - Identifier 773550 773563 - Identifier 773564 773581 - ReturnStatement 773584 773684 - ConditionalExpression 773604 773683 - BinaryExpression 773604 773647 - Identifier 773604 773610 - ExclamationEqualsEqualsToken 773610 773614 - PropertyAccessExpression 773614 773647 - ParenthesizedExpression 773614 773641 - AsExpression 773616 773640 - Identifier 773616 773620 - TypeReference 773623 773640 - Identifier 773623 773640 - Identifier 773642 773647 - QuestionToken 773647 773649 - CallExpression 773649 773676 - Identifier 773649 773669 - Identifier 773670 773675 - ColonToken 773676 773678 - Identifier 773678 773683 - ReturnStatement 773695 773760 - ConditionalExpression 773711 773759 - Identifier 773711 773728 - QuestionToken 773728 773730 - CallExpression 773730 773752 - Identifier 773730 773746 - Identifier 773747 773751 - ColonToken 773752 773754 - Identifier 773754 773759 - FunctionDeclaration 773767 776804 - Identifier 773783 773808 - Parameter 773809 773825 - Identifier 773809 773813 - TypeReference 773814 773825 - Identifier 773814 773825 - Parameter 773826 773867 - Identifier 773826 773833 - TypeReference 773834 773867 - Identifier 773834 773867 - Parameter 773868 773909 - Identifier 773868 773883 - TypeOperator 773884 773909 - ArrayType 773893 773909 - TypeReference 773893 773907 - Identifier 773893 773907 - Parameter 773910 773941 - Identifier 773910 773924 - TypeOperator 773925 773941 - ArrayType 773934 773941 - TypeReference 773934 773939 - Identifier 773934 773939 - Block 773942 776804 - VariableStatement 773944 773989 - VariableDeclarationList 773944 773988 - VariableDeclaration 773957 773988 - Identifier 773957 773964 - UnionType 773965 773988 - TypeReference 773965 773976 - Identifier 773965 773976 - UndefinedKeyword 773978 773988 - VariableStatement 773989 774024 - VariableDeclarationList 773989 774023 - VariableDeclaration 774002 774023 - Identifier 774002 774010 - TypeReference 774011 774023 - Identifier 774011 774023 - VariableStatement 774024 774075 - VariableDeclarationList 774024 774074 - VariableDeclaration 774037 774074 - Identifier 774037 774052 - TypeOperator 774053 774074 - ArrayType 774062 774074 - TypeReference 774062 774072 - Identifier 774062 774072 - VariableStatement 774075 774131 - VariableDeclarationList 774075 774130 - VariableDeclaration 774088 774130 - Identifier 774088 774108 - TypeOperator 774109 774130 - ArrayType 774118 774130 - TypeReference 774118 774128 - Identifier 774118 774128 - VariableStatement 774131 774178 - VariableDeclarationList 774131 774177 - VariableDeclaration 774144 774177 - Identifier 774144 774155 - TypeOperator 774156 774177 - ArrayType 774165 774177 - TypeReference 774165 774175 - Identifier 774165 774175 - IfStatement 774178 775094 - CallExpression 774192 774260 - Identifier 774192 774203 - Identifier 774204 774218 - Identifier 774219 774233 - NumericLiteral 774234 774236 - PropertyAccessExpression 774237 774259 - Identifier 774237 774252 - Identifier 774253 774259 - Block 774261 774580 - ExpressionStatement 774263 774384 - BinaryExpression 774263 774383 - Identifier 774263 774284 - EqualsToken 774284 774286 - ConditionalExpression 774286 774383 - PropertyAccessExpression 774286 774300 - Identifier 774286 774293 - Identifier 774294 774300 - QuestionToken 774300 774302 - CallExpression 774302 774336 - Identifier 774302 774321 - PropertyAccessExpression 774322 774335 - Identifier 774322 774328 - Identifier 774329 774335 - ColonToken 774336 774338 - CallExpression 774338 774383 - Identifier 774338 774356 - PropertyAccessExpression 774357 774382 - Identifier 774357 774363 - Identifier 774364 774382 - ExpressionStatement 774384 774445 - BinaryExpression 774384 774444 - Identifier 774384 774412 - EqualsToken 774412 774414 - PropertyAccessExpression 774414 774444 - Identifier 774414 774421 - Identifier 774422 774444 - ExpressionStatement 774445 774516 - BinaryExpression 774445 774515 - Identifier 774445 774478 - EqualsToken 774478 774480 - PropertyAccessExpression 774480 774515 - Identifier 774480 774487 - Identifier 774488 774515 - ExpressionStatement 774516 774569 - BinaryExpression 774516 774568 - Identifier 774516 774540 - EqualsToken 774540 774542 - PropertyAccessExpression 774542 774568 - Identifier 774542 774549 - Identifier 774550 774568 - Block 774594 775094 - ExpressionStatement 774596 774667 - BinaryExpression 774596 774666 - Identifier 774596 774616 - EqualsToken 774616 774618 - CallExpression 774618 774666 - Identifier 774618 774635 - Identifier 774636 774650 - Identifier 774651 774665 - ExpressionStatement 774667 774805 - BinaryExpression 774667 774804 - Identifier 774667 774688 - EqualsToken 774688 774690 - CallExpression 774690 774804 - Identifier 774690 774720 - PropertyAccessExpression 774721 774746 - Identifier 774721 774727 - Identifier 774728 774746 - Identifier 774747 774754 - BinaryExpression 774755 774803 - PropertyAccessExpression 774755 774797 - Identifier 774755 774790 - Identifier 774791 774797 - EqualsEqualsEqualsToken 774797 774801 - NumericLiteral 774801 774803 - ExpressionStatement 774805 774897 - BinaryExpression 774805 774896 - Identifier 774805 774833 - EqualsToken 774833 774835 - CallExpression 774835 774896 - Identifier 774835 774857 - PropertyAccessExpression 774858 774887 - Identifier 774858 774864 - Identifier 774865 774887 - Identifier 774888 774895 - ExpressionStatement 774897 774999 - BinaryExpression 774897 774998 - Identifier 774897 774930 - EqualsToken 774930 774932 - CallExpression 774932 774998 - Identifier 774932 774954 - PropertyAccessExpression 774955 774989 - Identifier 774955 774961 - Identifier 774962 774989 - Identifier 774990 774997 - ExpressionStatement 774999 775083 - BinaryExpression 774999 775082 - Identifier 774999 775023 - EqualsToken 775023 775025 - CallExpression 775025 775082 - Identifier 775025 775047 - PropertyAccessExpression 775048 775073 - Identifier 775048 775054 - Identifier 775055 775073 - Identifier 775074 775081 - VariableStatement 775094 775143 - VariableDeclarationList 775094 775142 - VariableDeclaration 775109 775142 - Identifier 775109 775119 - CallExpression 775121 775142 - Identifier 775121 775134 - Identifier 775135 775141 - IfStatement 775143 776698 - PropertyAccessExpression 775157 775173 - Identifier 775157 775166 - Identifier 775167 775173 - Block 775174 776698 - IfStatement 775176 775669 - BinaryExpression 775194 775256 - PropertyAccessExpression 775194 775207 - Identifier 775194 775200 - Identifier 775201 775207 - AmpersandAmpersandToken 775207 775210 - BinaryExpression 775210 775256 - Identifier 775210 775218 - EqualsEqualsEqualsToken 775218 775222 - CallExpression 775222 775256 - Identifier 775222 775241 - PropertyAccessExpression 775242 775255 - Identifier 775242 775248 - Identifier 775249 775255 - Block 775257 775669 - VariableStatement 775259 775342 - VariableDeclarationList 775259 775341 - VariableDeclaration 775282 775341 - Identifier 775282 775294 - CallExpression 775296 775341 - Identifier 775296 775314 - PropertyAccessExpression 775315 775340 - Identifier 775315 775321 - Identifier 775322 775340 - VariableStatement 775342 775482 - VariableDeclarationList 775342 775481 - VariableDeclaration 775437 775481 - Identifier 775437 775449 - CallExpression 775451 775481 - Identifier 775451 775466 - PropertyAccessExpression 775467 775480 - Identifier 775467 775473 - Identifier 775474 775480 - IfStatement 775482 775614 - Identifier 775504 775515 - Block 775516 775614 - ExpressionStatement 775518 775595 - CallExpression 775518 775594 - PropertyAccessExpression 775518 775555 - Identifier 775518 775551 - Identifier 775552 775555 - PropertyAccessExpression 775556 775580 - Identifier 775556 775574 - Identifier 775575 775580 - Identifier 775581 775593 - ExpressionStatement 775614 775654 - BinaryExpression 775614 775653 - Identifier 775614 775639 - EqualsToken 775639 775641 - Identifier 775641 775653 - ExpressionStatement 775669 775772 - CallExpression 775669 775771 - Identifier 775669 775707 - Identifier 775708 775712 - Identifier 775713 775721 - Identifier 775722 775737 - Identifier 775738 775758 - Identifier 775759 775770 - VariableStatement 775772 775838 - VariableDeclarationList 775772 775837 - VariableDeclaration 775791 775837 - Identifier 775791 775804 - CallExpression 775806 775837 - Identifier 775806 775822 - Identifier 775823 775836 - ForOfStatement 775838 776687 - VariableDeclarationList 775857 775871 - VariableDeclaration 775862 775871 - Identifier 775862 775871 - Identifier 775874 775884 - Block 775885 776687 - VariableStatement 775887 776033 - VariableDeclarationList 775887 776032 - VariableDeclaration 775910 776032 - Identifier 775910 775931 - ConditionalExpression 775933 776032 - Identifier 775933 775946 - QuestionToken 775946 775948 - CallExpression 775948 776021 - Identifier 775948 775972 - CallExpression 775973 776006 - Identifier 775973 775988 - Identifier 775989 775997 - Identifier 775998 776005 - Identifier 776007 776020 - ColonToken 776021 776023 - Identifier 776023 776032 - ExpressionStatement 776033 776123 - CallExpression 776033 776122 - Identifier 776033 776070 - Identifier 776071 776078 - CallExpression 776079 776121 - Identifier 776079 776099 - Identifier 776100 776120 - ExpressionStatement 776123 776249 - BinaryExpression 776123 776248 - Identifier 776123 776155 - EqualsToken 776155 776157 - CallExpression 776157 776248 - Identifier 776157 776169 - Identifier 776170 776184 - CallExpression 776185 776247 - Identifier 776185 776205 - Identifier 776206 776226 - PropertyAccessExpression 776227 776246 - Identifier 776227 776241 - Identifier 776242 776246 - ExpressionStatement 776249 776390 - BinaryExpression 776249 776389 - Identifier 776249 776286 - EqualsToken 776286 776288 - CallExpression 776288 776389 - Identifier 776288 776300 - Identifier 776301 776320 - CallExpression 776321 776388 - Identifier 776321 776341 - Identifier 776342 776362 - PropertyAccessExpression 776363 776387 - Identifier 776363 776377 - Identifier 776378 776387 - VariableStatement 776390 776538 - VariableDeclarationList 776390 776537 - VariableDeclaration 776413 776537 - Identifier 776413 776433 - ConditionalExpression 776435 776537 - BinaryExpression 776435 776468 - Identifier 776435 776456 - ExclamationEqualsEqualsToken 776456 776460 - Identifier 776460 776468 - QuestionToken 776468 776470 - CallExpression 776470 776512 - Identifier 776470 776490 - Identifier 776491 776511 - ColonToken 776512 776514 - ArrayLiteralExpression 776514 776537 - Identifier 776516 776536 - ExpressionStatement 776538 776672 - BinaryExpression 776538 776671 - Identifier 776538 776566 - EqualsToken 776566 776568 - CallExpression 776568 776671 - Identifier 776568 776580 - Identifier 776581 776591 - CallExpression 776592 776670 - Identifier 776592 776599 - Identifier 776600 776619 - ArrowFunction 776620 776669 - Parameter 776620 776625 - Identifier 776620 776625 - EqualsGreaterThanToken 776625 776628 - PrefixUnaryExpression 776628 776669 - CallExpression 776630 776669 - Identifier 776630 776643 - Identifier 776644 776654 - PropertyAccessExpression 776655 776668 - Identifier 776655 776660 - Identifier 776661 776668 - ExpressionStatement 776698 776797 - CallExpression 776698 776796 - Identifier 776698 776732 - Identifier 776733 776737 - Identifier 776738 776746 - Identifier 776747 776762 - Identifier 776763 776783 - Identifier 776784 776795 - FunctionDeclaration 776804 776982 - Identifier 776820 776851 - Parameter 776852 776871 - Identifier 776852 776856 - TypeReference 776857 776871 - Identifier 776857 776871 - VoidKeyword 776873 776878 - Block 776878 776982 - ExpressionStatement 776880 776975 - CallExpression 776880 776974 - Identifier 776880 776914 - Identifier 776915 776919 - CallExpression 776920 776949 - Identifier 776920 776943 - Identifier 776944 776948 - Identifier 776950 776961 - Identifier 776962 776973 - FunctionDeclaration 776982 777491 - Identifier 776998 777026 - Parameter 777027 777046 - Identifier 777027 777031 - TypeReference 777032 777046 - Identifier 777032 777046 - VoidKeyword 777048 777053 - Block 777053 777491 - VariableStatement 777055 777116 - VariableDeclarationList 777055 777115 - VariableDeclaration 777070 777115 - Identifier 777070 777077 - CallExpression 777079 777115 - Identifier 777079 777102 - PropertyAccessExpression 777103 777114 - Identifier 777103 777107 - Identifier 777108 777114 - VariableStatement 777116 777205 - VariableDeclarationList 777116 777204 - VariableDeclaration 777131 777204 - Identifier 777131 777146 - CallExpression 777148 777204 - Identifier 777148 777160 - NonNullExpression 777161 777183 - PropertyAccessExpression 777161 777182 - Identifier 777161 777167 - Identifier 777168 777182 - ArrayLiteralExpression 777184 777203 - NonNullExpression 777186 777202 - PropertyAccessExpression 777186 777201 - Identifier 777186 777192 - Identifier 777193 777201 - VariableStatement 777205 777260 - VariableDeclarationList 777205 777259 - VariableDeclaration 777220 777259 - Identifier 777220 777234 - CallExpression 777236 777259 - Identifier 777236 777253 - Identifier 777254 777258 - VariableStatement 777260 777398 - VariableDeclarationList 777260 777397 - VariableDeclaration 777275 777397 - Identifier 777275 777295 - ConditionalExpression 777297 777397 - BinaryExpression 777297 777344 - PropertyAccessExpression 777297 777318 - Identifier 777297 777311 - Identifier 777312 777318 - EqualsEqualsEqualsToken 777318 777322 - PropertyAccessExpression 777322 777344 - Identifier 777322 777337 - Identifier 777338 777344 - QuestionToken 777344 777346 - Identifier 777346 777360 - ColonToken 777360 777362 - CallExpression 777362 777397 - Identifier 777362 777374 - Identifier 777375 777388 - ArrayLiteralExpression 777389 777396 - Identifier 777391 777395 - ExpressionStatement 777398 777484 - CallExpression 777398 777483 - Identifier 777398 777432 - Identifier 777433 777437 - Identifier 777438 777445 - Identifier 777446 777461 - Identifier 777462 777482 - FunctionDeclaration 777491 778552 - Identifier 777507 777523 - Parameter 777524 777596 - Identifier 777524 777545 - UnionType 777546 777596 - TypeReference 777546 777567 - Identifier 777546 777567 - TypeReference 777569 777584 - Identifier 777569 777584 - UndefinedKeyword 777586 777596 - Parameter 777597 777659 - Identifier 777597 777621 - UnionType 777622 777659 - TypeOperator 777622 777647 - ArrayType 777631 777647 - TypeReference 777631 777645 - Identifier 777631 777645 - UndefinedKeyword 777649 777659 - Parameter 777660 777703 - Identifier 777660 777683 - UnionType 777684 777703 - TypeReference 777684 777691 - Identifier 777684 777691 - UndefinedKeyword 777693 777703 - Parameter 777704 777743 - Identifier 777704 777724 - TypeOperator 777725 777743 - ArrayType 777734 777743 - TypeReference 777734 777741 - Identifier 777734 777741 - Parameter 777744 777790 - Identifier 777744 777772 - UnionType 777773 777790 - TypeReference 777773 777778 - Identifier 777773 777778 - UndefinedKeyword 777780 777790 - Parameter 777791 777849 - Identifier 777791 777822 - UnionType 777823 777849 - TypeReference 777823 777837 - Identifier 777823 777837 - UndefinedKeyword 777839 777849 - Parameter 777850 777884 - Identifier 777850 777876 - NumberKeyword 777877 777884 - Parameter 777885 777916 - Identifier 777885 777900 - TypeReference 777901 777916 - Identifier 777901 777916 - TypeReference 777925 777935 - Identifier 777925 777935 - Block 777935 778552 - VariableStatement 777937 777989 - VariableDeclarationList 777937 777988 - VariableDeclaration 777952 777988 - Identifier 777952 777956 - NewExpression 777958 777988 - Identifier 777962 777972 - Identifier 777973 777980 - Identifier 777981 777987 - ExpressionStatement 777989 778029 - BinaryExpression 777989 778028 - PropertyAccessExpression 777989 778014 - Identifier 777989 778002 - Identifier 778003 778014 - EqualsToken 778014 778016 - Identifier 778016 778028 - ExpressionStatement 778029 778075 - BinaryExpression 778029 778074 - PropertyAccessExpression 778029 778057 - Identifier 778029 778042 - Identifier 778043 778057 - EqualsToken 778057 778059 - Identifier 778059 778074 - ExpressionStatement 778075 778113 - BinaryExpression 778075 778112 - PropertyAccessExpression 778075 778099 - Identifier 778075 778088 - Identifier 778089 778099 - EqualsToken 778099 778101 - Identifier 778101 778112 - ExpressionStatement 778113 778157 - BinaryExpression 778113 778156 - PropertyAccessExpression 778113 778140 - Identifier 778113 778126 - Identifier 778127 778140 - EqualsToken 778140 778142 - Identifier 778142 778156 - ExpressionStatement 778157 778211 - BinaryExpression 778157 778210 - PropertyAccessExpression 778157 778189 - Identifier 778157 778170 - Identifier 778171 778189 - EqualsToken 778189 778191 - Identifier 778191 778210 - ExpressionStatement 778211 778271 - BinaryExpression 778211 778270 - PropertyAccessExpression 778211 778246 - Identifier 778211 778224 - Identifier 778225 778246 - EqualsToken 778246 778248 - Identifier 778248 778270 - ExpressionStatement 778271 778321 - BinaryExpression 778271 778320 - PropertyAccessExpression 778271 778301 - Identifier 778271 778284 - Identifier 778285 778301 - EqualsToken 778301 778303 - Identifier 778303 778320 - ExpressionStatement 778321 778372 - BinaryExpression 778321 778371 - PropertyAccessExpression 778321 778359 - Identifier 778321 778334 - Identifier 778335 778359 - EqualsToken 778359 778361 - Identifier 778361 778371 - ExpressionStatement 778372 778405 - BinaryExpression 778372 778404 - PropertyAccessExpression 778372 778392 - Identifier 778372 778385 - Identifier 778386 778392 - EqualsToken 778392 778394 - Identifier 778394 778404 - ExpressionStatement 778405 778438 - BinaryExpression 778405 778437 - PropertyAccessExpression 778405 778425 - Identifier 778405 778418 - Identifier 778419 778425 - EqualsToken 778425 778427 - Identifier 778427 778437 - ExpressionStatement 778438 778484 - BinaryExpression 778438 778483 - PropertyAccessExpression 778438 778471 - Identifier 778438 778451 - Identifier 778452 778471 - EqualsToken 778471 778473 - Identifier 778473 778483 - ExpressionStatement 778484 778524 - BinaryExpression 778484 778523 - PropertyAccessExpression 778484 778511 - Identifier 778484 778497 - Identifier 778498 778511 - EqualsToken 778511 778513 - Identifier 778513 778523 - ReturnStatement 778524 778545 - Identifier 778540 778544 - FunctionDeclaration 778552 779082 - Identifier 778568 778583 - Parameter 778584 778598 - Identifier 778584 778587 - TypeReference 778588 778598 - Identifier 778588 778598 - TypeReference 778600 778610 - Identifier 778600 778610 - Block 778610 779082 - VariableStatement 778612 778863 - VariableDeclarationList 778612 778862 - VariableDeclaration 778627 778862 - Identifier 778627 778634 - CallExpression 778636 778862 - Identifier 778636 778652 - PropertyAccessExpression 778653 778668 - Identifier 778653 778656 - Identifier 778657 778668 - PropertyAccessExpression 778669 778688 - Identifier 778669 778673 - Identifier 778674 778688 - PropertyAccessExpression 778689 778707 - Identifier 778689 778693 - Identifier 778694 778707 - PropertyAccessExpression 778708 778723 - Identifier 778708 778712 - Identifier 778713 778723 - Identifier 778724 778757 - Identifier 778758 778794 - PropertyAccessExpression 778795 778816 - Identifier 778795 778799 - Identifier 778800 778816 - BinaryExpression 778817 778861 - PropertyAccessExpression 778817 778827 - Identifier 778817 778821 - Identifier 778822 778827 - AmpersandToken 778827 778829 - PropertyAccessExpression 778829 778861 - Identifier 778829 778844 - Identifier 778845 778861 - ExpressionStatement 778863 778900 - BinaryExpression 778863 778899 - PropertyAccessExpression 778863 778886 - Identifier 778863 778879 - Identifier 778880 778886 - EqualsToken 778886 778888 - PropertyAccessExpression 778888 778899 - Identifier 778888 778892 - Identifier 778893 778899 - ExpressionStatement 778900 778937 - BinaryExpression 778900 778936 - PropertyAccessExpression 778900 778923 - Identifier 778900 778916 - Identifier 778917 778923 - EqualsToken 778923 778925 - PropertyAccessExpression 778925 778936 - Identifier 778925 778929 - Identifier 778930 778936 - ExpressionStatement 778937 779000 - BinaryExpression 778937 778999 - PropertyAccessExpression 778937 778973 - Identifier 778937 778953 - Identifier 778954 778973 - EqualsToken 778973 778975 - PropertyAccessExpression 778975 778999 - Identifier 778975 778979 - Identifier 778980 778999 - ExpressionStatement 779000 779051 - BinaryExpression 779000 779050 - PropertyAccessExpression 779000 779030 - Identifier 779000 779016 - Identifier 779017 779030 - EqualsToken 779030 779032 - PropertyAccessExpression 779032 779050 - Identifier 779032 779036 - Identifier 779037 779050 - ReturnStatement 779051 779075 - Identifier 779067 779074 - FunctionDeclaration 779082 779431 - Identifier 779098 779119 - Parameter 779120 779140 - Identifier 779120 779129 - TypeReference 779130 779140 - Identifier 779130 779140 - Parameter 779141 779170 - Identifier 779141 779157 - ArrayType 779158 779170 - TypeReference 779158 779168 - Identifier 779158 779168 - Block 779171 779431 - VariableStatement 779173 779224 - VariableDeclarationList 779173 779223 - VariableDeclaration 779188 779223 - Identifier 779188 779195 - CallExpression 779197 779223 - Identifier 779197 779212 - Identifier 779213 779222 - ExpressionStatement 779224 779279 - BinaryExpression 779224 779278 - PropertyAccessExpression 779224 779260 - Identifier 779224 779240 - Identifier 779241 779260 - EqualsToken 779260 779262 - Identifier 779262 779278 - ExpressionStatement 779279 779328 - BinaryExpression 779279 779327 - PropertyAccessExpression 779279 779309 - Identifier 779279 779295 - Identifier 779296 779309 - EqualsToken 779309 779311 - PropertyAccessExpression 779311 779327 - Identifier 779311 779321 - Identifier 779322 779327 - ExpressionStatement 779328 779364 - BinaryExpression 779328 779363 - PropertyAccessExpression 779328 779351 - Identifier 779328 779344 - Identifier 779345 779351 - EqualsToken 779351 779353 - Identifier 779353 779363 - ExpressionStatement 779364 779400 - BinaryExpression 779364 779399 - PropertyAccessExpression 779364 779387 - Identifier 779364 779380 - Identifier 779381 779387 - EqualsToken 779387 779389 - Identifier 779389 779399 - ReturnStatement 779400 779424 - Identifier 779416 779423 - FunctionDeclaration 779431 780063 - Identifier 779447 779472 - Parameter 779473 779493 - Identifier 779473 779482 - TypeReference 779483 779493 - Identifier 779483 779493 - Parameter 779494 779525 - Identifier 779494 779509 - TypeReference 779510 779525 - Identifier 779510 779525 - TypeReference 779527 779537 - Identifier 779527 779537 - Block 779537 780063 - IfStatement 779539 779666 - BinaryExpression 779553 779621 - ParenthesizedExpression 779553 779602 - BinaryExpression 779554 779601 - PropertyAccessExpression 779554 779569 - Identifier 779554 779563 - Identifier 779564 779569 - AmpersandToken 779569 779571 - PropertyAccessExpression 779571 779601 - Identifier 779571 779586 - Identifier 779587 779601 - EqualsEqualsEqualsToken 779602 779606 - Identifier 779606 779621 - Block 779622 779666 - ReturnStatement 779624 779655 - Identifier 779644 779654 - IfStatement 779666 779787 - PrefixUnaryExpression 779680 779717 - PropertyAccessExpression 779681 779717 - Identifier 779681 779690 - Identifier 779691 779717 - Block 779718 779787 - ExpressionStatement 779720 779776 - BinaryExpression 779720 779775 - PropertyAccessExpression 779720 779770 - Identifier 779720 779743 - Identifier 779744 779770 - EqualsToken 779770 779772 - ObjectLiteralExpression 779772 779775 - VariableStatement 779787 779880 - VariableDeclarationList 779787 779879 - VariableDeclaration 779802 779879 - Identifier 779802 779806 - ConditionalExpression 779808 779879 - BinaryExpression 779808 779859 - Identifier 779808 779823 - EqualsEqualsEqualsToken 779823 779827 - PropertyAccessExpression 779827 779859 - Identifier 779827 779842 - Identifier 779843 779859 - QuestionToken 779859 779861 - StringLiteral 779861 779869 - ColonToken 779869 779871 - StringLiteral 779871 779879 - ReturnStatement 779880 780056 - BinaryExpression 779896 780055 - ElementAccessExpression 779896 779938 - PropertyAccessExpression 779896 779933 - Identifier 779896 779906 - Identifier 779907 779933 - Identifier 779934 779937 - BarBarToken 779938 779954 - ParenthesizedExpression 779954 780055 - BinaryExpression 779956 780054 - ElementAccessExpression 779956 779997 - PropertyAccessExpression 779956 779992 - Identifier 779956 779965 - Identifier 779966 779992 - Identifier 779993 779996 - EqualsToken 779997 779999 - CallExpression 779999 780054 - Identifier 779999 780027 - Identifier 780028 780037 - Identifier 780038 780053 - FunctionDeclaration 780063 780521 - Identifier 780079 780107 - Parameter 780108 780128 - Identifier 780108 780117 - TypeReference 780118 780128 - Identifier 780118 780128 - Parameter 780129 780160 - Identifier 780129 780144 - TypeReference 780145 780160 - Identifier 780145 780160 - Block 780161 780521 - ExpressionStatement 780163 780398 - CallExpression 780163 780397 - PropertyAccessExpression 780163 780185 - Identifier 780163 780178 - Identifier 780179 780185 - BinaryExpression 780186 780290 - BinaryExpression 780186 780236 - Identifier 780186 780200 - EqualsEqualsEqualsToken 780200 780204 - PropertyAccessExpression 780204 780236 - Identifier 780204 780219 - Identifier 780220 780236 - BarBarToken 780236 780239 - BinaryExpression 780239 780290 - Identifier 780239 780254 - EqualsEqualsEqualsToken 780254 780258 - PropertyAccessExpression 780258 780290 - Identifier 780258 780273 - Identifier 780274 780290 - StringLiteral 780291 780396 - VariableStatement 780398 780449 - VariableDeclarationList 780398 780448 - VariableDeclaration 780413 780448 - Identifier 780413 780420 - CallExpression 780422 780448 - Identifier 780422 780437 - Identifier 780438 780447 - ExpressionStatement 780449 780490 - BinaryExpression 780449 780489 - PropertyAccessExpression 780449 780471 - Identifier 780449 780465 - Identifier 780466 780471 - BarEqualsToken 780471 780474 - Identifier 780474 780489 - ReturnStatement 780490 780514 - Identifier 780506 780513 - FunctionDeclaration 780521 783817 - Identifier 780537 780559 - Parameter 780560 780574 - Identifier 780560 780563 - TypeReference 780564 780574 - Identifier 780564 780574 - Parameter 780575 780604 - Identifier 780575 780594 - QuestionToken 780594 780595 - BooleanKeyword 780596 780604 - TypeOperator 780606 780637 - ArrayType 780615 780637 - ParenthesizedType 780615 780635 - TypeOperator 780617 780634 - ArrayType 780625 780634 - TypeReference 780625 780632 - Identifier 780625 780632 - Block 780637 783817 - IfStatement 780639 781337 - CallExpression 780653 780683 - Identifier 780653 780678 - Identifier 780679 780682 - Block 780684 781337 - VariableStatement 780686 780744 - VariableDeclarationList 780686 780743 - VariableDeclaration 780705 780743 - Identifier 780705 780715 - BinaryExpression 780717 780743 - PropertyAccessExpression 780717 780739 - PropertyAccessExpression 780717 780732 - Identifier 780717 780721 - Identifier 780722 780732 - Identifier 780733 780739 - MinusToken 780739 780741 - NumericLiteral 780741 780743 - VariableStatement 780744 780803 - VariableDeclarationList 780744 780802 - VariableDeclaration 780763 780802 - Identifier 780763 780774 - ElementAccessExpression 780776 780802 - PropertyAccessExpression 780776 780791 - Identifier 780776 780780 - Identifier 780781 780791 - Identifier 780792 780801 - VariableStatement 780803 780862 - VariableDeclarationList 780803 780861 - VariableDeclaration 780822 780861 - Identifier 780822 780831 - CallExpression 780833 780861 - Identifier 780833 780849 - Identifier 780850 780860 - IfStatement 780862 781326 - CallExpression 780880 780901 - Identifier 780880 780891 - Identifier 780892 780900 - Block 780902 781021 - ReturnStatement 780904 781006 - ArrayLiteralExpression 780928 781005 - CallExpression 780930 781004 - Identifier 780930 780971 - Identifier 780972 780980 - Identifier 780981 780991 - Identifier 780992 781003 - IfStatement 781039 781326 - BinaryExpression 781044 781152 - BinaryExpression 781044 781099 - PrefixUnaryExpression 781044 781063 - Identifier 781045 781063 - AmpersandAmpersandToken 781063 781066 - BinaryExpression 781066 781099 - PropertyAccessExpression 781066 781081 - Identifier 781066 781075 - Identifier 781076 781081 - AmpersandToken 781081 781083 - PropertyAccessExpression 781083 781099 - Identifier 781083 781093 - Identifier 781094 781099 - AmpersandAmpersandToken 781099 781102 - CallExpression 781102 781152 - Identifier 781102 781108 - PropertyAccessExpression 781109 781138 - ParenthesizedExpression 781109 781132 - AsExpression 781110 781131 - Identifier 781110 781118 - TypeReference 781121 781131 - Identifier 781121 781131 - Identifier 781133 781138 - Identifier 781139 781151 - Block 781153 781326 - ReturnStatement 781155 781311 - CallExpression 781179 781310 - Identifier 781179 781183 - PropertyAccessExpression 781184 781213 - ParenthesizedExpression 781184 781207 - AsExpression 781185 781206 - Identifier 781185 781193 - TypeReference 781196 781206 - Identifier 781196 781206 - Identifier 781208 781213 - ArrowFunction 781214 781309 - Parameter 781214 781216 - Identifier 781214 781216 - EqualsGreaterThanToken 781216 781219 - CallExpression 781219 781309 - Identifier 781219 781261 - AsExpression 781262 781285 - Identifier 781262 781263 - TypeReference 781266 781285 - Identifier 781266 781285 - Identifier 781286 781296 - Identifier 781297 781308 - ReturnStatement 781337 781371 - ArrayLiteralExpression 781353 781370 - PropertyAccessExpression 781355 781369 - Identifier 781355 781358 - Identifier 781359 781369 - FunctionDeclaration 781371 782602 - Identifier 781391 781433 - Parameter 781434 781462 - Identifier 781434 781442 - TypeReference 781443 781462 - Identifier 781443 781462 - Parameter 781463 781481 - Identifier 781463 781473 - NumberKeyword 781474 781481 - Parameter 781482 781501 - Identifier 781482 781493 - TypeReference 781494 781501 - Identifier 781494 781501 - Block 781502 782602 - VariableStatement 781504 781566 - VariableDeclarationList 781504 781565 - VariableDeclaration 781523 781565 - Identifier 781523 781536 - CallExpression 781538 781565 - Identifier 781538 781555 - Identifier 781556 781564 - VariableStatement 781566 781662 - VariableDeclarationList 781566 781661 - VariableDeclaration 781585 781661 - Identifier 781585 781601 - CallExpression 781603 781661 - Identifier 781603 781639 - Identifier 781640 781648 - Identifier 781649 781660 - VariableStatement 781662 782510 - VariableDeclarationList 781662 782509 - VariableDeclaration 781681 782509 - Identifier 781681 781692 - CallExpression 781694 782509 - Identifier 781694 781698 - Identifier 781699 781711 - ArrowFunction 781712 782508 - Parameter 781714 781715 - Identifier 781714 781715 - Parameter 781716 781718 - Identifier 781716 781718 - EqualsGreaterThanToken 781719 781722 - Block 781722 782508 - VariableStatement 781724 782026 - VariableDeclarationList 781724 782025 - VariableDeclaration 781879 782025 - Identifier 781879 781884 - ConditionalExpression 781886 782025 - BinaryExpression 781886 781924 - Identifier 781886 781902 - AmpersandAmpersandToken 781902 781905 - ElementAccessExpression 781905 781924 - Identifier 781905 781921 - Identifier 781922 781923 - QuestionToken 781924 781926 - ElementAccessExpression 781926 781945 - Identifier 781926 781942 - Identifier 781943 781944 - ColonToken 781945 781947 - CallExpression 781947 782025 - Identifier 781947 781995 - Identifier 781996 781999 - BinaryExpression 782000 782014 - Identifier 782000 782010 - PlusToken 782010 782012 - Identifier 782012 782014 - Identifier 782015 782024 - VariableStatement 782026 782090 - VariableDeclarationList 782026 782089 - VariableDeclaration 782049 782089 - Identifier 782049 782055 - ElementAccessExpression 782057 782089 - PropertyAccessExpression 782057 782086 - PropertyAccessExpression 782057 782073 - Identifier 782057 782066 - Identifier 782067 782073 - Identifier 782074 782086 - Identifier 782087 782088 - VariableStatement 782090 782272 - VariableDeclarationList 782090 782271 - VariableDeclaration 782113 782271 - Identifier 782113 782124 - ConditionalExpression 782126 782271 - BinaryExpression 782126 782156 - Identifier 782126 782132 - AmpersandToken 782132 782134 - PropertyAccessExpression 782134 782156 - Identifier 782134 782147 - Identifier 782148 782156 - QuestionToken 782156 782158 - PropertyAccessExpression 782158 782183 - Identifier 782158 782169 - Identifier 782170 782183 - ColonToken 782183 782185 - ConditionalExpression 782185 782271 - BinaryExpression 782185 782236 - Identifier 782185 782212 - AmpersandToken 782212 782214 - PropertyAccessExpression 782214 782236 - Identifier 782214 782227 - Identifier 782228 782236 - QuestionToken 782236 782238 - PropertyAccessExpression 782238 782267 - Identifier 782238 782249 - Identifier 782250 782267 - ColonToken 782267 782269 - NumericLiteral 782269 782271 - VariableStatement 782272 782372 - VariableDeclarationList 782272 782371 - VariableDeclaration 782295 782371 - Identifier 782295 782302 - CallExpression 782304 782371 - Identifier 782304 782317 - PropertyAccessExpression 782318 782352 - Identifier 782318 782329 - Identifier 782330 782352 - Identifier 782353 782358 - Identifier 782359 782370 - ExpressionStatement 782372 782461 - BinaryExpression 782372 782460 - PropertyAccessExpression 782372 782407 - PropertyAccessExpression 782372 782402 - Identifier 782372 782396 - Identifier 782397 782402 - Identifier 782403 782407 - EqualsToken 782407 782409 - ConditionalExpression 782409 782460 - BinaryExpression 782409 782435 - Identifier 782409 782415 - AmpersandToken 782415 782417 - PropertyAccessExpression 782417 782435 - Identifier 782417 782430 - Identifier 782431 782435 - QuestionToken 782435 782437 - CallExpression 782437 782456 - Identifier 782437 782453 - Identifier 782454 782455 - ColonToken 782456 782458 - Identifier 782458 782460 - ReturnStatement 782461 782493 - Identifier 782485 782492 - ReturnStatement 782510 782591 - CallExpression 782530 782590 - Identifier 782530 782542 - CallExpression 782543 782577 - PropertyAccessExpression 782543 782563 - PropertyAccessExpression 782543 782557 - Identifier 782543 782546 - Identifier 782547 782557 - Identifier 782558 782563 - NumericLiteral 782564 782565 - Identifier 782566 782576 - Identifier 782578 782589 - FunctionDeclaration 782602 783810 - Identifier 782622 782658 - Parameter 782659 782683 - Identifier 782659 782663 - TypeReference 782664 782683 - Identifier 782664 782683 - Parameter 782684 782703 - Identifier 782684 782695 - TypeReference 782696 782703 - Identifier 782696 782703 - Block 782704 783810 - VariableStatement 782706 782883 - VariableDeclarationList 782706 782882 - VariableDeclaration 782725 782882 - Identifier 782725 782731 - CallExpression 782733 782882 - Identifier 782733 782737 - PropertyAccessExpression 782738 782776 - PropertyAccessExpression 782738 782749 - Identifier 782738 782742 - Identifier 782743 782749 - Identifier 782750 782776 - ArrowFunction 782777 782881 - Parameter 782779 782793 - Identifier 782779 782793 - Parameter 782794 782796 - Identifier 782794 782796 - EqualsGreaterThanToken 782797 782800 - CallExpression 782800 782881 - Identifier 782800 782821 - Identifier 782822 782836 - Identifier 782837 782839 - ElementAccessExpression 782840 782868 - PropertyAccessExpression 782840 782865 - PropertyAccessExpression 782840 782852 - Identifier 782840 782845 - Identifier 782846 782852 - Identifier 782853 782865 - Identifier 782866 782867 - Identifier 782869 782880 - IfStatement 782883 783772 - Identifier 782901 782906 - Block 782907 783772 - VariableStatement 782909 782959 - VariableDeclarationList 782909 782958 - VariableDeclaration 782932 782958 - Identifier 782932 782943 - ArrayType 782944 782953 - NumberKeyword 782944 782951 - ArrayLiteralExpression 782955 782958 - VariableStatement 782959 783017 - VariableDeclarationList 782959 783016 - VariableDeclaration 782982 783016 - Identifier 782982 782994 - NewExpression 782996 783016 - Identifier 783000 783004 - TypeReference 783005 783013 - Identifier 783005 783013 - ForStatement 783017 783266 - VariableDeclarationList 783040 783049 - VariableDeclaration 783043 783049 - Identifier 783043 783045 - NumericLiteral 783047 783049 - BinaryExpression 783050 783067 - Identifier 783050 783052 - LessThanToken 783052 783054 - PropertyAccessExpression 783054 783067 - Identifier 783054 783060 - Identifier 783061 783067 - PostfixUnaryExpression 783068 783072 - Identifier 783068 783070 - Block 783073 783266 - VariableStatement 783075 783119 - VariableDeclarationList 783075 783118 - VariableDeclaration 783102 783118 - Identifier 783102 783107 - ElementAccessExpression 783109 783118 - Identifier 783109 783115 - Identifier 783116 783117 - IfStatement 783119 783247 - PrefixUnaryExpression 783145 783176 - CallExpression 783146 783176 - Identifier 783146 783157 - Identifier 783158 783169 - Identifier 783170 783175 - Block 783177 783247 - ExpressionStatement 783179 783224 - CallExpression 783179 783223 - PropertyAccessExpression 783179 783220 - Identifier 783179 783215 - Identifier 783216 783220 - Identifier 783221 783222 - VariableStatement 783266 783329 - VariableDeclarationList 783266 783328 - VariableDeclaration 783289 783328 - Identifier 783289 783298 - NewExpression 783300 783328 - Identifier 783304 783308 - TypeReference 783309 783317 - Identifier 783309 783317 - NumberKeyword 783318 783325 - ForOfStatement 783329 783757 - VariableDeclarationList 783352 783359 - VariableDeclaration 783357 783359 - Identifier 783357 783359 - Identifier 783362 783373 - Block 783374 783757 - VariableStatement 783376 783440 - VariableDeclarationList 783376 783439 - VariableDeclaration 783401 783439 - Identifier 783401 783409 - BinaryExpression 783411 783439 - CallExpression 783411 783434 - PropertyAccessExpression 783411 783424 - Identifier 783411 783420 - Identifier 783421 783424 - ElementAccessExpression 783425 783433 - Identifier 783425 783430 - Identifier 783431 783432 - QuestionQuestionToken 783434 783437 - NumericLiteral 783437 783439 - VariableStatement 783440 783481 - VariableDeclarationList 783440 783480 - VariableDeclaration 783465 783480 - Identifier 783465 783470 - TypeReference 783471 783480 - Identifier 783471 783480 - WhileStatement 783481 783642 - PrefixUnaryExpression 783510 783580 - CallExpression 783511 783580 - Identifier 783511 783522 - Identifier 783523 783534 - BinaryExpression 783535 783579 - Identifier 783535 783540 - EqualsToken 783540 783542 - AsExpression 783542 783579 - TemplateExpression 783542 783567 - TemplateHead 783542 783546 - TemplateSpan 783546 783558 - ElementAccessExpression 783546 783554 - Identifier 783546 783551 - Identifier 783552 783553 - TemplateMiddle 783554 783558 - TemplateSpan 783558 783567 - Identifier 783558 783565 - TemplateTail 783565 783567 - TypeReference 783570 783579 - Identifier 783570 783579 - Block 783581 783642 - ExpressionStatement 783583 783619 - PostfixUnaryExpression 783583 783618 - Identifier 783583 783616 - ExpressionStatement 783642 783680 - BinaryExpression 783642 783679 - ElementAccessExpression 783642 783672 - Identifier 783642 783669 - Identifier 783670 783671 - EqualsToken 783672 783674 - Identifier 783674 783679 - ExpressionStatement 783680 783738 - CallExpression 783680 783737 - PropertyAccessExpression 783680 783714 - Identifier 783680 783710 - Identifier 783711 783714 - ElementAccessExpression 783715 783723 - Identifier 783715 783720 - Identifier 783721 783722 - BinaryExpression 783724 783736 - Identifier 783724 783732 - PlusToken 783732 783734 - NumericLiteral 783734 783736 - ReturnStatement 783772 783799 - Identifier 783792 783798 - FunctionDeclaration 783817 785726 - Identifier 783833 783863 - Parameter 783864 783888 - Identifier 783864 783873 - TypeReference 783874 783888 - Identifier 783874 783888 - ArrayType 783890 783902 - TypeReference 783890 783900 - Identifier 783890 783900 - Block 783902 785726 - VariableStatement 783904 783983 - VariableDeclarationList 783904 783982 - VariableDeclaration 783919 783982 - Identifier 783919 783939 - CallExpression 783941 783982 - Identifier 783941 783971 - Identifier 783972 783981 - VariableStatement 783983 784082 - VariableDeclarationList 783983 784081 - VariableDeclaration 783998 784081 - Identifier 783998 784013 - CallExpression 784015 784081 - Identifier 784015 784035 - Identifier 784036 784055 - PropertyAccessExpression 784056 784080 - Identifier 784056 784070 - Identifier 784071 784080 - VariableStatement 784082 784162 - VariableDeclarationList 784082 784161 - VariableDeclaration 784097 784161 - Identifier 784097 784109 - CallExpression 784111 784161 - Identifier 784111 784143 - PropertyAccessExpression 784144 784160 - Identifier 784144 784153 - Identifier 784154 784160 - VariableStatement 784162 784266 - VariableDeclarationList 784162 784265 - VariableDeclaration 784177 784265 - Identifier 784177 784188 - BinaryExpression 784190 784265 - PrefixUnaryExpression 784190 784204 - PrefixUnaryExpression 784192 784204 - Identifier 784193 784204 - AmpersandAmpersandToken 784204 784207 - CallExpression 784207 784265 - Identifier 784207 784228 - Identifier 784229 784240 - PropertyAccessExpression 784241 784264 - Identifier 784241 784255 - Identifier 784256 784264 - IfStatement 784266 784570 - BinaryExpression 784280 784307 - PropertyAccessExpression 784280 784301 - Identifier 784280 784294 - Identifier 784295 784301 - EqualsEqualsEqualsToken 784301 784305 - NumericLiteral 784305 784307 - Block 784308 784570 - ReturnStatement 784310 784559 - ArrayLiteralExpression 784330 784558 - CallExpression 784332 784557 - Identifier 784332 784347 - Identifier 784348 784373 - PropertyAccessExpression 784374 784404 - Identifier 784374 784384 - Identifier 784385 784404 - Identifier 784405 784433 - Identifier 784434 784445 - Identifier 784446 784456 - Identifier 784457 784493 - NumericLiteral 784494 784496 - ConditionalExpression 784497 784556 - Identifier 784497 784508 - QuestionToken 784508 784510 - PropertyAccessExpression 784510 784534 - Identifier 784510 784525 - Identifier 784526 784534 - ColonToken 784534 784536 - PropertyAccessExpression 784536 784556 - Identifier 784536 784551 - Identifier 784552 784556 - VariableStatement 784570 784636 - VariableDeclarationList 784570 784635 - VariableDeclaration 784585 784635 - Identifier 784585 784598 - NonNullExpression 784600 784635 - CallExpression 784600 784634 - Identifier 784600 784623 - Identifier 784624 784633 - VariableStatement 784636 784692 - VariableDeclarationList 784636 784691 - VariableDeclaration 784651 784691 - Identifier 784651 784664 - CallExpression 784666 784691 - Identifier 784666 784677 - Identifier 784678 784690 - VariableStatement 784692 784773 - VariableDeclarationList 784692 784772 - VariableDeclaration 784707 784772 - Identifier 784707 784721 - CallExpression 784723 784772 - Identifier 784723 784758 - Identifier 784759 784771 - VariableStatement 784773 784826 - VariableDeclarationList 784773 784825 - VariableDeclaration 784788 784825 - Identifier 784788 784801 - CallExpression 784803 784825 - Identifier 784803 784810 - Identifier 784811 784824 - VariableStatement 784826 784867 - VariableDeclarationList 784826 784866 - VariableDeclaration 784841 784866 - Identifier 784841 784848 - ArrayType 784849 784861 - TypeReference 784849 784859 - Identifier 784849 784859 - ArrayLiteralExpression 784863 784866 - ForOfStatement 784867 785695 - VariableDeclarationList 784882 784895 - VariableDeclaration 784887 784895 - Identifier 784887 784895 - Identifier 784898 784913 - Block 784914 785695 - VariableStatement 784916 785007 - VariableDeclarationList 784916 785006 - VariableDeclaration 784935 785006 - Identifier 784935 784956 - CallExpression 784958 785006 - Identifier 784958 784982 - PropertyAccessExpression 784983 785005 - Identifier 784983 784990 - Identifier 784991 785005 - VariableStatement 785007 785075 - VariableDeclarationList 785007 785074 - VariableDeclaration 785026 785074 - Identifier 785026 785041 - CallExpression 785043 785074 - Identifier 785043 785050 - PropertyAccessExpression 785051 785073 - Identifier 785051 785058 - Identifier 785059 785073 - IfStatement 785075 785684 - BinaryExpression 785093 785179 - Identifier 785093 785105 - BarBarToken 785105 785108 - BinaryExpression 785108 785179 - BinaryExpression 785108 785145 - Identifier 785108 785121 - GreaterThanEqualsToken 785121 785124 - Identifier 785124 785145 - AmpersandAmpersandToken 785145 785148 - BinaryExpression 785148 785179 - Identifier 785148 785161 - LessThanEqualsToken 785161 785164 - Identifier 785164 785179 - Block 785180 785684 - VariableStatement 785182 785394 - VariableDeclarationList 785182 785393 - VariableDeclaration 785205 785393 - Identifier 785205 785209 - ConditionalExpression 785211 785393 - Identifier 785211 785226 - QuestionToken 785226 785228 - CallExpression 785228 785367 - Identifier 785228 785257 - Identifier 785258 785265 - CallExpression 785266 785366 - Identifier 785266 785291 - Identifier 785292 785305 - PropertyAccessExpression 785306 785329 - Identifier 785306 785314 - Identifier 785315 785329 - Identifier 785330 785351 - Identifier 785352 785365 - ColonToken 785367 785369 - CallExpression 785369 785393 - Identifier 785369 785384 - Identifier 785385 785392 - ExpressionStatement 785394 785463 - BinaryExpression 785394 785462 - PropertyAccessExpression 785394 785430 - Identifier 785394 785415 - Identifier 785416 785430 - EqualsToken 785430 785432 - PropertyAccessExpression 785432 785462 - Identifier 785432 785442 - Identifier 785443 785462 - ExpressionStatement 785463 785516 - BinaryExpression 785463 785515 - PropertyAccessExpression 785463 785503 - Identifier 785463 785484 - Identifier 785485 785503 - EqualsToken 785503 785505 - Identifier 785505 785515 - ExpressionStatement 785516 785634 - BinaryExpression 785516 785633 - PropertyAccessExpression 785516 785543 - Identifier 785516 785537 - Identifier 785538 785543 - EqualsToken 785543 785545 - ConditionalExpression 785545 785633 - Identifier 785545 785556 - QuestionToken 785556 785558 - BinaryExpression 785558 785594 - PropertyAccessExpression 785558 785568 - Identifier 785558 785562 - Identifier 785563 785568 - BarToken 785568 785570 - PropertyAccessExpression 785570 785594 - Identifier 785570 785585 - Identifier 785586 785594 - ColonToken 785594 785596 - BinaryExpression 785596 785633 - PropertyAccessExpression 785596 785606 - Identifier 785596 785600 - Identifier 785601 785606 - AmpersandToken 785606 785608 - PrefixUnaryExpression 785608 785633 - PropertyAccessExpression 785610 785633 - Identifier 785610 785624 - Identifier 785625 785633 - ExpressionStatement 785634 785669 - CallExpression 785634 785668 - PropertyAccessExpression 785634 785663 - Identifier 785634 785658 - Identifier 785659 785663 - Identifier 785664 785667 - ReturnStatement 785695 785719 - Identifier 785711 785718 - FunctionDeclaration 785726 786200 - Identifier 785742 785764 - Parameter 785765 785800 - Identifier 785765 785778 - TypeOperator 785779 785800 - ArrayType 785788 785800 - TypeReference 785788 785798 - Identifier 785788 785798 - Parameter 785801 785822 - Identifier 785801 785811 - TypeReference 785812 785822 - Identifier 785812 785822 - Parameter 785823 785845 - Identifier 785823 785836 - BooleanKeyword 785837 785845 - Parameter 785846 785871 - Identifier 785846 785862 - BooleanKeyword 785863 785871 - Parameter 785872 785899 - Identifier 785872 785890 - BooleanKeyword 785891 785899 - UnionType 785901 785923 - TypeReference 785901 785911 - Identifier 785901 785911 - UndefinedKeyword 785913 785923 - Block 785923 786200 - ForOfStatement 785925 786193 - VariableDeclarationList 785940 785947 - VariableDeclaration 785945 785947 - Identifier 785945 785947 - Identifier 785950 785964 - Block 785965 786193 - IfStatement 785967 786182 - CallExpression 785985 786137 - Identifier 785985 786011 - Identifier 786012 786013 - Identifier 786014 786024 - Identifier 786025 786038 - Identifier 786039 786055 - Identifier 786056 786074 - ConditionalExpression 786075 786136 - Identifier 786075 786088 - QuestionToken 786088 786090 - Identifier 786090 786112 - ColonToken 786112 786114 - Identifier 786114 786136 - Block 786138 786182 - ReturnStatement 786140 786167 - Identifier 786164 786166 - FunctionDeclaration 786200 787899 - Identifier 786216 786239 - Parameter 786240 786289 - Identifier 786240 786254 - TypeOperator 786255 786289 - ArrayType 786264 786289 - ParenthesizedType 786264 786287 - TypeOperator 786266 786286 - ArrayType 786274 786286 - TypeReference 786274 786284 - Identifier 786274 786284 - Parameter 786290 786311 - Identifier 786290 786300 - TypeReference 786301 786311 - Identifier 786301 786311 - Parameter 786312 786330 - Identifier 786312 786322 - NumberKeyword 786323 786330 - UnionType 786332 786356 - ArrayType 786332 786344 - TypeReference 786332 786342 - Identifier 786332 786342 - UndefinedKeyword 786346 786356 - Block 786356 787899 - IfStatement 786358 787027 - PropertyAccessExpression 786372 786396 - Identifier 786372 786381 - Identifier 786382 786396 - Block 786397 787027 - IfStatement 786399 786690 - BinaryExpression 786624 786637 - Identifier 786624 786633 - GreaterThanToken 786633 786635 - NumericLiteral 786635 786637 - Block 786638 786690 - ReturnStatement 786640 786675 - Identifier 786664 786674 - ForStatement 786690 786983 - VariableDeclarationList 786709 786718 - VariableDeclaration 786712 786718 - Identifier 786712 786714 - NumericLiteral 786716 786718 - BinaryExpression 786719 786745 - Identifier 786719 786721 - LessThanToken 786721 786723 - PropertyAccessExpression 786723 786745 - Identifier 786723 786738 - Identifier 786739 786745 - PostfixUnaryExpression 786746 786750 - Identifier 786746 786748 - Block 786751 786983 - IfStatement 786753 786968 - PrefixUnaryExpression 786775 786907 - CallExpression 786776 786907 - Identifier 786776 786797 - ElementAccessExpression 786798 786815 - Identifier 786798 786812 - Identifier 786813 786814 - Identifier 786816 786826 - FalseKeyword 786827 786850 - FalseKeyword 786851 786877 - FalseKeyword 786878 786906 - Block 786908 786968 - ReturnStatement 786910 786949 - Identifier 786938 786948 - ReturnStatement 786983 787016 - ArrayLiteralExpression 787003 787015 - Identifier 787005 787014 - VariableStatement 787027 787073 - VariableDeclarationList 787027 787072 - VariableDeclaration 787040 787072 - Identifier 787040 787047 - UnionType 787048 787072 - ArrayType 787048 787060 - TypeReference 787048 787058 - Identifier 787048 787058 - UndefinedKeyword 787062 787072 - ForStatement 787073 787868 - VariableDeclarationList 787088 787097 - VariableDeclaration 787091 787097 - Identifier 787091 787093 - NumericLiteral 787095 787097 - BinaryExpression 787098 787124 - Identifier 787098 787100 - LessThanToken 787100 787102 - PropertyAccessExpression 787102 787124 - Identifier 787102 787117 - Identifier 787118 787124 - PostfixUnaryExpression 787125 787129 - Identifier 787125 787127 - Block 787130 787868 - VariableStatement 787132 787727 - VariableDeclarationList 787132 787726 - VariableDeclaration 787369 787726 - Identifier 787369 787375 - ConditionalExpression 787377 787726 - BinaryExpression 787377 787393 - Identifier 787377 787379 - EqualsEqualsEqualsToken 787379 787383 - Identifier 787383 787393 - QuestionToken 787393 787412 - Identifier 787412 787422 - ColonToken 787422 787441 - BinaryExpression 787441 787726 - CallExpression 787441 787572 - Identifier 787441 787463 - ElementAccessExpression 787464 787481 - Identifier 787464 787478 - Identifier 787479 787480 - Identifier 787482 787492 - FalseKeyword 787493 787516 - FalseKeyword 787517 787543 - TrueKeyword 787544 787571 - BarBarToken 787572 787596 - CallExpression 787596 787726 - Identifier 787596 787618 - ElementAccessExpression 787619 787636 - Identifier 787619 787633 - Identifier 787634 787635 - Identifier 787637 787647 - TrueKeyword 787648 787670 - FalseKeyword 787671 787697 - TrueKeyword 787698 787725 - IfStatement 787727 787804 - PrefixUnaryExpression 787745 787751 - Identifier 787746 787751 - Block 787752 787804 - ReturnStatement 787754 787789 - Identifier 787778 787788 - ExpressionStatement 787804 787857 - BinaryExpression 787804 787856 - Identifier 787804 787824 - EqualsToken 787824 787826 - CallExpression 787826 787856 - Identifier 787826 787841 - Identifier 787842 787848 - Identifier 787849 787855 - ReturnStatement 787868 787892 - Identifier 787884 787891 - FunctionDeclaration 787899 791886 - Identifier 788306 788325 - Parameter 788326 788375 - Identifier 788326 788340 - TypeOperator 788341 788375 - ArrayType 788350 788375 - ParenthesizedType 788350 788373 - TypeOperator 788352 788372 - ArrayType 788360 788372 - TypeReference 788360 788370 - Identifier 788360 788370 - ArrayType 788377 788389 - TypeReference 788377 788387 - Identifier 788377 788387 - Block 788389 791886 - VariableStatement 788391 788437 - VariableDeclarationList 788391 788436 - VariableDeclaration 788404 788436 - Identifier 788404 788411 - UnionType 788412 788436 - ArrayType 788412 788424 - TypeReference 788412 788422 - Identifier 788412 788422 - UndefinedKeyword 788426 788436 - VariableStatement 788437 788494 - VariableDeclarationList 788437 788493 - VariableDeclaration 788450 788493 - Identifier 788450 788473 - UnionType 788474 788493 - NumberKeyword 788474 788481 - UndefinedKeyword 788483 788493 - ForStatement 788494 790361 - VariableDeclarationList 788509 788518 - VariableDeclaration 788512 788518 - Identifier 788512 788514 - NumericLiteral 788516 788518 - BinaryExpression 788519 788545 - Identifier 788519 788521 - LessThanToken 788521 788523 - PropertyAccessExpression 788523 788545 - Identifier 788523 788538 - Identifier 788539 788545 - PostfixUnaryExpression 788546 788550 - Identifier 788546 788548 - Block 788551 790361 - IfStatement 788553 788621 - BinaryExpression 788571 788601 - PropertyAccessExpression 788571 788595 - ElementAccessExpression 788571 788588 - Identifier 788571 788585 - Identifier 788586 788587 - Identifier 788589 788595 - EqualsEqualsEqualsToken 788595 788599 - NumericLiteral 788599 788601 - ReturnStatement 788602 788621 - Identifier 788609 788620 - IfStatement 788621 788825 - BinaryExpression 788639 788667 - PropertyAccessExpression 788639 788663 - ElementAccessExpression 788639 788656 - Identifier 788639 788653 - Identifier 788654 788655 - Identifier 788657 788663 - GreaterThanToken 788663 788665 - NumericLiteral 788665 788667 - Block 788668 788825 - ExpressionStatement 788670 788759 - BinaryExpression 788670 788758 - Identifier 788670 788710 - EqualsToken 788710 788712 - ConditionalExpression 788712 788758 - BinaryExpression 788712 788749 - Identifier 788712 788735 - EqualsEqualsEqualsToken 788735 788739 - Identifier 788739 788749 - QuestionToken 788749 788751 - Identifier 788751 788753 - ColonToken 788753 788755 - PrefixUnaryExpression 788755 788758 - NumericLiteral 788757 788758 - ForOfStatement 788825 790350 - VariableDeclarationList 788844 788859 - VariableDeclaration 788849 788859 - Identifier 788849 788859 - ElementAccessExpression 788862 788880 - Identifier 788862 788877 - Identifier 788878 788879 - Block 788881 790350 - IfStatement 788883 790335 - BinaryExpression 789009 789140 - PrefixUnaryExpression 789009 789016 - Identifier 789010 789016 - BarBarToken 789016 789019 - PrefixUnaryExpression 789019 789140 - CallExpression 789021 789140 - Identifier 789021 789042 - Identifier 789043 789049 - Identifier 789050 789060 - FalseKeyword 789061 789084 - FalseKeyword 789085 789111 - TrueKeyword 789112 789139 - Block 789141 790335 - VariableStatement 789143 789242 - VariableDeclarationList 789143 789241 - VariableDeclaration 789170 789241 - Identifier 789170 789186 - CallExpression 789188 789241 - Identifier 789188 789211 - Identifier 789212 789226 - Identifier 789227 789237 - Identifier 789238 789240 - IfStatement 789242 790316 - Identifier 789268 789283 - Block 789284 790316 - VariableStatement 789286 789330 - VariableDeclarationList 789286 789329 - VariableDeclaration 789315 789329 - Identifier 789315 789317 - Identifier 789319 789329 - IfStatement 789330 790233 - BinaryExpression 789448 789474 - PropertyAccessExpression 789448 789470 - Identifier 789448 789463 - Identifier 789464 789470 - GreaterThanToken 789470 789472 - NumericLiteral 789472 789474 - Block 789475 790233 - VariableStatement 789477 789551 - VariableDeclarationList 789477 789550 - VariableDeclaration 789510 789550 - Identifier 789510 789524 - PropertyAccessExpression 789526 789550 - Identifier 789526 789536 - Identifier 789537 789550 - VariableStatement 789551 789676 - VariableDeclarationList 789551 789675 - VariableDeclaration 789586 789675 - Identifier 789586 789622 - CallExpression 789624 789675 - Identifier 789624 789632 - Identifier 789633 789648 - ArrowFunction 789649 789674 - Parameter 789649 789653 - Identifier 789649 789653 - EqualsGreaterThanToken 789653 789656 - PropertyAccessExpression 789656 789674 - Identifier 789656 789660 - Identifier 789661 789674 - IfStatement 789676 790061 - Identifier 789710 789745 - Block 789746 790061 - VariableStatement 789748 789912 - VariableDeclarationList 789748 789911 - VariableDeclaration 789787 789911 - Identifier 789787 789796 - CallExpression 789798 789911 - Identifier 789798 789818 - CallExpression 789819 789910 - Identifier 789819 789829 - Identifier 789830 789845 - ArrowFunction 789846 789909 - Parameter 789846 789850 - Identifier 789846 789850 - EqualsGreaterThanToken 789850 789853 - BinaryExpression 789853 789909 - PropertyAccessExpression 789853 789871 - Identifier 789853 789857 - Identifier 789858 789871 - AmpersandAmpersandToken 789871 789874 - CallExpression 789874 789909 - Identifier 789874 789890 - PropertyAccessExpression 789891 789908 - Identifier 789891 789894 - Identifier 789895 789908 - ExpressionStatement 789912 790030 - BinaryExpression 789912 790029 - Identifier 789912 789959 - EqualsToken 789959 789961 - CallExpression 789961 790029 - Identifier 789961 789982 - Identifier 789983 790018 - Identifier 790019 790028 - ExpressionStatement 790061 790144 - BinaryExpression 790061 790143 - Identifier 790061 790092 - EqualsToken 790092 790094 - CallExpression 790094 790143 - Identifier 790094 790115 - Identifier 790116 790125 - Identifier 790126 790142 - ExpressionStatement 790144 790206 - BinaryExpression 790144 790205 - PropertyAccessExpression 790144 790189 - Identifier 790144 790175 - Identifier 790176 790189 - EqualsToken 790189 790191 - Identifier 790191 790205 - ExpressionStatement 790233 790293 - CallExpression 790233 790292 - PropertyAccessExpression 790233 790289 - ParenthesizedExpression 790233 790284 - BinaryExpression 790260 790283 - Identifier 790260 790266 - BarBarToken 790266 790269 - ParenthesizedExpression 790269 790283 - BinaryExpression 790271 790282 - Identifier 790271 790277 - EqualsToken 790277 790279 - ArrayLiteralExpression 790279 790282 - Identifier 790285 790289 - Identifier 790290 790291 - IfStatement 790361 791841 - BinaryExpression 790375 790423 - PrefixUnaryExpression 790375 790390 - CallExpression 790376 790390 - Identifier 790376 790382 - Identifier 790383 790389 - AmpersandAmpersandToken 790390 790393 - BinaryExpression 790393 790423 - Identifier 790393 790416 - ExclamationEqualsEqualsToken 790416 790420 - PrefixUnaryExpression 790420 790423 - NumericLiteral 790422 790423 - Block 790424 791841 - VariableStatement 790426 791024 - VariableDeclarationList 790426 791023 - VariableDeclaration 790928 791023 - Identifier 790928 790939 - ElementAccessExpression 790941 791023 - Identifier 790941 790956 - ConditionalExpression 790957 791022 - BinaryExpression 790957 790993 - Identifier 790957 790979 - ExclamationEqualsEqualsToken 790979 790983 - Identifier 790983 790993 - QuestionToken 790993 790995 - Identifier 790995 791018 - ColonToken 791018 791020 - NumericLiteral 791020 791022 - VariableStatement 791024 791096 - VariableDeclarationList 791024 791095 - VariableDeclaration 791041 791095 - Identifier 791041 791049 - UnionType 791050 791074 - ArrayType 791050 791062 - TypeReference 791050 791060 - Identifier 791050 791060 - UndefinedKeyword 791064 791074 - CallExpression 791076 791095 - PropertyAccessExpression 791076 791093 - Identifier 791076 791087 - Identifier 791088 791093 - ForOfStatement 791096 791799 - VariableDeclarationList 791115 791131 - VariableDeclaration 791120 791131 - Identifier 791120 791131 - Identifier 791134 791149 - Block 791150 791799 - IfStatement 791152 791784 - BinaryExpression 791174 791199 - Identifier 791174 791184 - ExclamationEqualsEqualsToken 791184 791188 - Identifier 791188 791199 - Block 791200 791784 - VariableStatement 791202 791256 - VariableDeclarationList 791202 791255 - VariableDeclaration 791229 791255 - Identifier 791229 791239 - ElementAccessExpression 791241 791255 - Identifier 791241 791252 - NumericLiteral 791253 791254 - ExpressionStatement 791256 791410 - CallExpression 791256 791409 - PropertyAccessExpression 791256 791290 - Identifier 791256 791283 - Identifier 791284 791290 - PrefixUnaryExpression 791291 791302 - PrefixUnaryExpression 791292 791302 - Identifier 791293 791302 - StringLiteral 791303 791408 - ExpressionStatement 791410 791673 - BinaryExpression 791410 791672 - Identifier 791410 791439 - EqualsToken 791439 791441 - ConditionalExpression 791441 791672 - BinaryExpression 791441 791589 - PrefixUnaryExpression 791441 791468 - PrefixUnaryExpression 791443 791468 - PropertyAccessExpression 791444 791468 - Identifier 791444 791453 - Identifier 791454 791468 - AmpersandAmpersandToken 791468 791471 - CallExpression 791471 791589 - Identifier 791471 791476 - Identifier 791477 791484 - ArrowFunction 791485 791588 - Parameter 791485 791487 - Identifier 791485 791487 - EqualsGreaterThanToken 791487 791490 - BinaryExpression 791490 791588 - PrefixUnaryExpression 791490 791509 - PrefixUnaryExpression 791492 791509 - PropertyAccessExpression 791493 791509 - Identifier 791493 791494 - Identifier 791495 791509 - AmpersandAmpersandToken 791509 791512 - PrefixUnaryExpression 791512 791588 - CallExpression 791514 791588 - Identifier 791514 791544 - PropertyAccessExpression 791545 791569 - Identifier 791545 791554 - Identifier 791555 791569 - PropertyAccessExpression 791570 791587 - Identifier 791570 791572 - Identifier 791573 791587 - QuestionToken 791589 791591 - Identifier 791591 791601 - ColonToken 791601 791603 - CallExpression 791603 791672 - Identifier 791603 791607 - Identifier 791608 791615 - ArrowFunction 791616 791671 - Parameter 791616 791620 - Identifier 791616 791620 - EqualsGreaterThanToken 791620 791623 - CallExpression 791623 791671 - Identifier 791623 791655 - Identifier 791656 791659 - Identifier 791660 791670 - IfStatement 791673 791765 - PrefixUnaryExpression 791699 791707 - Identifier 791700 791707 - Block 791708 791765 - BreakStatement 791710 791742 - ExpressionStatement 791799 791830 - BinaryExpression 791799 791829 - Identifier 791799 791819 - EqualsToken 791819 791821 - Identifier 791821 791829 - ReturnStatement 791841 791879 - BinaryExpression 791857 791878 - Identifier 791857 791864 - BarBarToken 791864 791867 - Identifier 791867 791878 - FunctionDeclaration 791886 793396 - Identifier 791902 791933 - Parameter 791934 791984 - Identifier 791934 791946 - UnionType 791947 791984 - TypeOperator 791947 791972 - ArrayType 791956 791972 - TypeReference 791956 791970 - Identifier 791956 791970 - UndefinedKeyword 791974 791984 - Parameter 791985 792036 - Identifier 791985 791998 - UnionType 791999 792036 - TypeOperator 791999 792024 - ArrayType 792008 792024 - TypeReference 792008 792022 - Identifier 792008 792022 - UndefinedKeyword 792026 792036 - BooleanKeyword 792038 792046 - Block 792046 793396 - IfStatement 792048 792148 - BinaryExpression 792062 792107 - CallExpression 792062 792082 - Identifier 792062 792068 - Identifier 792069 792081 - ExclamationEqualsEqualsToken 792082 792086 - CallExpression 792086 792107 - Identifier 792086 792093 - Identifier 792094 792106 - Block 792108 792148 - ReturnStatement 792110 792137 - FalseKeyword 792130 792136 - IfStatement 792148 792232 - BinaryExpression 792162 792192 - PrefixUnaryExpression 792162 792175 - Identifier 792163 792175 - BarBarToken 792175 792178 - PrefixUnaryExpression 792178 792192 - Identifier 792180 792192 - Block 792193 792232 - ReturnStatement 792195 792221 - TrueKeyword 792215 792220 - VariableStatement 792232 792304 - VariableDeclarationList 792232 792303 - VariableDeclaration 792249 792303 - Identifier 792249 792256 - CallExpression 792258 792303 - Identifier 792258 792275 - Identifier 792276 792288 - Identifier 792289 792302 - ForStatement 792304 793365 - VariableDeclarationList 792319 792328 - VariableDeclaration 792322 792328 - Identifier 792322 792324 - NumericLiteral 792326 792328 - BinaryExpression 792329 792353 - Identifier 792329 792331 - LessThanToken 792331 792333 - PropertyAccessExpression 792333 792353 - Identifier 792333 792346 - Identifier 792347 792353 - PostfixUnaryExpression 792354 792358 - Identifier 792354 792356 - Block 792359 793365 - VariableStatement 792361 792406 - VariableDeclarationList 792361 792405 - VariableDeclaration 792380 792405 - Identifier 792380 792387 - ElementAccessExpression 792389 792405 - Identifier 792389 792402 - Identifier 792403 792404 - VariableStatement 792406 792451 - VariableDeclarationList 792406 792450 - VariableDeclaration 792425 792450 - Identifier 792425 792432 - ElementAccessExpression 792434 792450 - Identifier 792434 792447 - Identifier 792448 792449 - IfStatement 792451 792497 - BinaryExpression 792469 792486 - Identifier 792469 792475 - EqualsEqualsEqualsToken 792475 792479 - Identifier 792479 792486 - ContinueStatement 792487 792497 - IfStatement 792497 792847 - PrefixUnaryExpression 792679 792832 - CallExpression 792680 792832 - Identifier 792680 792697 - BinaryExpression 792698 792751 - CallExpression 792698 792736 - Identifier 792698 792728 - Identifier 792729 792735 - BarBarToken 792736 792739 - Identifier 792739 792751 - CallExpression 792752 792831 - Identifier 792752 792768 - BinaryExpression 792769 792822 - CallExpression 792769 792807 - Identifier 792769 792799 - Identifier 792800 792806 - BarBarToken 792807 792810 - Identifier 792810 792822 - Identifier 792823 792830 - ReturnStatement 792833 792847 - FalseKeyword 792840 792846 - ReturnStatement 793365 793389 - TrueKeyword 793383 793388 - FunctionDeclaration 793396 794178 - Identifier 793412 793434 - Parameter 793435 793459 - Identifier 793435 793439 - UnionType 793440 793459 - TypeReference 793440 793447 - Identifier 793440 793447 - UndefinedKeyword 793449 793459 - Parameter 793460 793486 - Identifier 793460 793466 - UnionType 793467 793486 - TypeReference 793467 793474 - Identifier 793467 793474 - UndefinedKeyword 793476 793486 - Parameter 793487 793518 - Identifier 793487 793494 - UnionType 793495 793518 - TypeReference 793495 793506 - Identifier 793495 793506 - UndefinedKeyword 793508 793518 - UnionType 793520 793539 - TypeReference 793520 793527 - Identifier 793520 793527 - UndefinedKeyword 793529 793539 - Block 793539 794178 - IfStatement 793541 793619 - BinaryExpression 793555 793570 - PrefixUnaryExpression 793555 793560 - Identifier 793556 793560 - BarBarToken 793560 793563 - PrefixUnaryExpression 793563 793570 - Identifier 793565 793570 - Block 793571 793619 - ReturnStatement 793573 793608 - BinaryExpression 793593 793607 - Identifier 793593 793598 - BarBarToken 793598 793601 - Identifier 793601 793607 - VariableStatement 793619 794117 - VariableDeclarationList 793619 794116 - VariableDeclaration 794011 794116 - Identifier 794011 794020 - CallExpression 794022 794116 - Identifier 794022 794042 - ArrayLiteralExpression 794043 794115 - CallExpression 794044 794065 - Identifier 794044 794059 - Identifier 794060 794064 - CallExpression 794066 794114 - Identifier 794066 794082 - CallExpression 794083 794105 - Identifier 794083 794098 - Identifier 794099 794104 - Identifier 794106 794113 - ReturnStatement 794117 794171 - CallExpression 794133 794170 - Identifier 794133 794154 - Identifier 794155 794159 - Identifier 794160 794169 - FunctionDeclaration 794178 797046 - Identifier 794194 794217 - Parameter 794218 794233 - Identifier 794218 794222 - TypeReference 794223 794233 - Identifier 794223 794233 - Parameter 794234 794251 - Identifier 794234 794240 - TypeReference 794241 794251 - Identifier 794241 794251 - Parameter 794252 794283 - Identifier 794252 794259 - UnionType 794260 794283 - TypeReference 794260 794271 - Identifier 794260 794271 - UndefinedKeyword 794273 794283 - Block 794284 797046 - VariableStatement 794286 794338 - VariableDeclarationList 794286 794337 - VariableDeclaration 794301 794337 - Identifier 794301 794311 - CallExpression 794313 794337 - Identifier 794313 794331 - Identifier 794332 794336 - VariableStatement 794338 794392 - VariableDeclarationList 794338 794391 - VariableDeclaration 794353 794391 - Identifier 794353 794364 - CallExpression 794366 794391 - Identifier 794366 794384 - Identifier 794385 794390 - VariableStatement 794392 794457 - VariableDeclarationList 794392 794456 - VariableDeclaration 794407 794456 - Identifier 794407 794415 - ConditionalExpression 794417 794456 - BinaryExpression 794417 794441 - Identifier 794417 794427 - GreaterThanEqualsToken 794427 794430 - Identifier 794430 794441 - QuestionToken 794441 794443 - Identifier 794443 794448 - ColonToken 794448 794450 - Identifier 794450 794456 - VariableStatement 794457 794515 - VariableDeclarationList 794457 794514 - VariableDeclaration 794472 794514 - Identifier 794472 794480 - ConditionalExpression 794482 794514 - BinaryExpression 794482 794499 - Identifier 794482 794490 - EqualsEqualsEqualsToken 794490 794494 - Identifier 794494 794499 - QuestionToken 794499 794501 - Identifier 794501 794507 - ColonToken 794507 794509 - Identifier 794509 794514 - VariableStatement 794515 794588 - VariableDeclarationList 794515 794587 - VariableDeclaration 794530 794587 - Identifier 794530 794543 - ConditionalExpression 794545 794587 - BinaryExpression 794545 794562 - Identifier 794545 794553 - EqualsEqualsEqualsToken 794553 794557 - Identifier 794557 794562 - QuestionToken 794562 794564 - Identifier 794564 794574 - ColonToken 794574 794576 - Identifier 794576 794587 - VariableStatement 794588 794697 - VariableDeclarationList 794588 794696 - VariableDeclaration 794603 794696 - Identifier 794603 794626 - BinaryExpression 794628 794696 - CallExpression 794628 794660 - Identifier 794628 794654 - Identifier 794655 794659 - BarBarToken 794660 794663 - CallExpression 794663 794696 - Identifier 794663 794689 - Identifier 794690 794695 - VariableStatement 794697 794799 - VariableDeclarationList 794697 794798 - VariableDeclaration 794712 794798 - Identifier 794712 794734 - BinaryExpression 794736 794798 - Identifier 794736 794759 - AmpersandAmpersandToken 794759 794762 - PrefixUnaryExpression 794762 794798 - CallExpression 794764 794798 - Identifier 794764 794789 - Identifier 794790 794797 - VariableStatement 794799 794890 - VariableDeclarationList 794799 794889 - VariableDeclaration 794814 794889 - Identifier 794814 794821 - NewExpression 794823 794889 - Identifier 794827 794833 - TypeReference 794834 794840 - Identifier 794834 794840 - BinaryExpression 794842 794888 - Identifier 794842 794854 - PlusToken 794854 794856 - ParenthesizedExpression 794856 794888 - ConditionalExpression 794858 794887 - Identifier 794858 794879 - QuestionToken 794879 794881 - NumericLiteral 794881 794883 - ColonToken 794883 794885 - NumericLiteral 794885 794887 - ForStatement 794890 796527 - VariableDeclarationList 794905 794914 - VariableDeclaration 794908 794914 - Identifier 794908 794910 - NumericLiteral 794912 794914 - BinaryExpression 794915 794932 - Identifier 794915 794917 - LessThanToken 794917 794919 - Identifier 794919 794932 - PostfixUnaryExpression 794933 794937 - Identifier 794933 794935 - Block 794938 796527 - VariableStatement 794940 795011 - VariableDeclarationList 794940 795010 - VariableDeclaration 794957 795010 - Identifier 794957 794974 - NonNullExpression 794976 795010 - CallExpression 794976 795009 - Identifier 794976 794997 - Identifier 794998 795005 - Identifier 795006 795008 - IfStatement 795011 795143 - BinaryExpression 795029 795046 - Identifier 795029 795036 - EqualsEqualsEqualsToken 795036 795040 - Identifier 795040 795046 - Block 795047 795143 - ExpressionStatement 795049 795128 - BinaryExpression 795049 795127 - Identifier 795049 795083 - EqualsToken 795083 795085 - CallExpression 795085 795127 - Identifier 795085 795101 - Identifier 795102 795118 - Identifier 795119 795126 - VariableStatement 795143 795228 - VariableDeclarationList 795143 795227 - VariableDeclaration 795160 795227 - Identifier 795160 795177 - BinaryExpression 795179 795227 - CallExpression 795179 795212 - Identifier 795179 795200 - Identifier 795201 795208 - Identifier 795209 795211 - BarBarToken 795212 795215 - Identifier 795215 795227 - IfStatement 795228 795360 - BinaryExpression 795246 795263 - Identifier 795246 795253 - EqualsEqualsEqualsToken 795253 795257 - Identifier 795257 795263 - Block 795264 795360 - ExpressionStatement 795266 795345 - BinaryExpression 795266 795344 - Identifier 795266 795300 - EqualsToken 795300 795302 - CallExpression 795302 795344 - Identifier 795302 795318 - Identifier 795319 795335 - Identifier 795336 795343 - VariableStatement 795360 795455 - VariableDeclarationList 795360 795454 - VariableDeclaration 795379 795454 - Identifier 795379 795394 - CallExpression 795396 795454 - Identifier 795396 795416 - ArrayLiteralExpression 795417 795453 - Identifier 795418 795434 - Identifier 795435 795452 - VariableStatement 795455 795566 - VariableDeclarationList 795455 795565 - VariableDeclaration 795474 795565 - Identifier 795474 795486 - BinaryExpression 795488 795565 - BinaryExpression 795488 795537 - Identifier 795488 795511 - AmpersandAmpersandToken 795511 795514 - PrefixUnaryExpression 795514 795537 - Identifier 795516 795537 - AmpersandAmpersandToken 795537 795540 - BinaryExpression 795540 795565 - Identifier 795540 795542 - EqualsEqualsEqualsToken 795542 795546 - ParenthesizedExpression 795546 795565 - BinaryExpression 795548 795564 - Identifier 795548 795560 - MinusToken 795560 795562 - NumericLiteral 795562 795564 - VariableStatement 795566 795670 - VariableDeclarationList 795566 795669 - VariableDeclaration 795585 795669 - Identifier 795585 795596 - BinaryExpression 795598 795669 - BinaryExpression 795598 795632 - Identifier 795598 795600 - GreaterThanEqualsToken 795600 795603 - CallExpression 795603 795632 - Identifier 795603 795623 - Identifier 795624 795631 - AmpersandAmpersandToken 795632 795635 - BinaryExpression 795635 795669 - Identifier 795635 795637 - GreaterThanEqualsToken 795637 795640 - CallExpression 795640 795669 - Identifier 795640 795660 - Identifier 795661 795668 - VariableStatement 795670 795766 - VariableDeclarationList 795670 795765 - VariableDeclaration 795689 795765 - Identifier 795689 795698 - ConditionalExpression 795700 795765 - BinaryExpression 795700 795715 - Identifier 795700 795702 - GreaterThanEqualsToken 795702 795705 - Identifier 795705 795715 - QuestionToken 795715 795717 - Identifier 795717 795727 - ColonToken 795727 795729 - CallExpression 795729 795765 - Identifier 795729 795756 - Identifier 795757 795761 - Identifier 795762 795764 - VariableStatement 795766 795865 - VariableDeclarationList 795766 795864 - VariableDeclaration 795785 795864 - Identifier 795785 795795 - ConditionalExpression 795797 795864 - BinaryExpression 795797 795813 - Identifier 795797 795799 - GreaterThanEqualsToken 795799 795802 - Identifier 795802 795813 - QuestionToken 795813 795815 - Identifier 795815 795825 - ColonToken 795825 795827 - CallExpression 795827 795864 - Identifier 795827 795854 - Identifier 795855 795860 - Identifier 795861 795863 - VariableStatement 795865 796044 - VariableDeclarationList 795865 796043 - VariableDeclaration 795886 796043 - Identifier 795886 795896 - ConditionalExpression 795898 796043 - BinaryExpression 795898 795921 - Identifier 795898 795907 - EqualsEqualsEqualsToken 795907 795911 - Identifier 795911 795921 - QuestionToken 795921 795923 - Identifier 795923 795932 - ColonToken 795932 795934 - ConditionalExpression 795934 796043 - PrefixUnaryExpression 795934 795961 - Identifier 795953 795961 - QuestionToken 795961 795963 - Identifier 795963 795973 - ColonToken 795973 795975 - ConditionalExpression 795975 796043 - PrefixUnaryExpression 795975 796003 - Identifier 795994 796003 - QuestionToken 796003 796005 - Identifier 796005 796014 - ColonToken 796014 796016 - Identifier 796016 796043 - VariableStatement 796044 796376 - VariableDeclarationList 796044 796375 - VariableDeclaration 796063 796375 - Identifier 796063 796075 - CallExpression 796077 796375 - Identifier 796077 796090 - BinaryExpression 796091 796201 - PropertyAccessExpression 796091 796143 - Identifier 796091 796120 - Identifier 796121 796143 - BarToken 796143 796145 - ParenthesizedExpression 796145 796201 - ConditionalExpression 796147 796200 - BinaryExpression 796147 796173 - Identifier 796147 796157 - AmpersandAmpersandToken 796157 796160 - PrefixUnaryExpression 796160 796173 - Identifier 796162 796173 - QuestionToken 796173 796175 - PropertyAccessExpression 796175 796196 - Identifier 796175 796187 - Identifier 796188 796196 - ColonToken 796196 796198 - NumericLiteral 796198 796200 - BinaryExpression 796202 796254 - Identifier 796202 796229 - BarBarToken 796229 796232 - AsExpression 796232 796254 - TemplateExpression 796232 796242 - TemplateHead 796232 796239 - TemplateSpan 796239 796242 - Identifier 796239 796240 - TemplateTail 796240 796242 - TypeReference 796245 796254 - Identifier 796245 796254 - ConditionalExpression 796255 796359 - Identifier 796255 796284 - QuestionToken 796284 796286 - PropertyAccessExpression 796286 796311 - Identifier 796286 796297 - Identifier 796298 796311 - ColonToken 796311 796313 - ConditionalExpression 796313 796359 - Identifier 796313 796324 - QuestionToken 796324 796326 - PropertyAccessExpression 796326 796355 - Identifier 796326 796337 - Identifier 796338 796355 - ColonToken 796355 796357 - NumericLiteral 796357 796359 - ExpressionStatement 796376 796478 - BinaryExpression 796376 796477 - PropertyAccessExpression 796376 796412 - PropertyAccessExpression 796376 796407 - Identifier 796376 796401 - Identifier 796402 796407 - Identifier 796408 796412 - EqualsToken 796412 796414 - ConditionalExpression 796414 796477 - Identifier 796414 796426 - QuestionToken 796426 796428 - CallExpression 796428 796460 - Identifier 796428 796444 - Identifier 796445 796459 - ColonToken 796460 796462 - Identifier 796462 796477 - ExpressionStatement 796478 796516 - BinaryExpression 796478 796515 - ElementAccessExpression 796478 796501 - Identifier 796478 796498 - Identifier 796499 796500 - EqualsToken 796501 796503 - Identifier 796503 796515 - IfStatement 796527 797015 - Identifier 796541 796562 - Block 796563 797015 - VariableStatement 796565 796698 - VariableDeclarationList 796565 796697 - VariableDeclaration 796584 796697 - Identifier 796584 796600 - CallExpression 796602 796697 - Identifier 796602 796615 - PropertyAccessExpression 796616 796650 - Identifier 796616 796627 - Identifier 796628 796650 - AsExpression 796651 796670 - StringLiteral 796651 796658 - TypeReference 796661 796670 - Identifier 796661 796670 - PropertyAccessExpression 796671 796696 - Identifier 796671 796682 - Identifier 796683 796696 - ExpressionStatement 796698 796799 - BinaryExpression 796698 796798 - PropertyAccessExpression 796698 796738 - PropertyAccessExpression 796698 796733 - Identifier 796698 796727 - Identifier 796728 796733 - Identifier 796734 796738 - EqualsToken 796738 796740 - CallExpression 796740 796798 - Identifier 796740 796756 - CallExpression 796757 796797 - Identifier 796757 796774 - Identifier 796775 796782 - Identifier 796783 796796 - IfStatement 796799 796951 - BinaryExpression 796817 796834 - Identifier 796817 796824 - EqualsEqualsEqualsToken 796824 796828 - Identifier 796828 796834 - Block 796835 796951 - ExpressionStatement 796837 796936 - BinaryExpression 796837 796935 - PropertyAccessExpression 796837 796881 - PropertyAccessExpression 796837 796876 - Identifier 796837 796870 - Identifier 796871 796876 - Identifier 796877 796881 - EqualsToken 796881 796883 - CallExpression 796883 796935 - Identifier 796883 796899 - PropertyAccessExpression 796900 796926 - PropertyAccessExpression 796900 796921 - Identifier 796900 796915 - Identifier 796916 796921 - Identifier 796922 796926 - Identifier 796927 796934 - ExpressionStatement 796951 797004 - BinaryExpression 796951 797003 - ElementAccessExpression 796951 796985 - Identifier 796951 796971 - Identifier 796972 796984 - EqualsToken 796985 796987 - Identifier 796987 797003 - ReturnStatement 797015 797039 - Identifier 797031 797038 - FunctionDeclaration 797046 799034 - Identifier 797062 797094 - Parameter 797095 797110 - Identifier 797095 797099 - TypeReference 797100 797110 - Identifier 797100 797110 - Parameter 797111 797128 - Identifier 797111 797117 - TypeReference 797118 797128 - Identifier 797118 797128 - TypeReference 797130 797140 - Identifier 797130 797140 - Block 797140 799034 - VariableStatement 797142 797215 - VariableDeclarationList 797142 797214 - VariableDeclaration 797157 797214 - Identifier 797157 797168 - BinaryExpression 797170 797214 - PropertyAccessExpression 797170 797190 - Identifier 797170 797175 - Identifier 797176 797190 - BarBarToken 797190 797193 - PropertyAccessExpression 797193 797214 - Identifier 797193 797199 - Identifier 797200 797214 - VariableStatement 797215 797265 - VariableDeclarationList 797215 797264 - VariableDeclaration 797228 797264 - Identifier 797228 797240 - UnionType 797241 797264 - TypeReference 797241 797252 - Identifier 797241 797252 - UndefinedKeyword 797254 797264 - IfStatement 797265 797505 - BinaryExpression 797279 797322 - PropertyAccessExpression 797279 797298 - Identifier 797279 797283 - Identifier 797284 797298 - AmpersandAmpersandToken 797298 797301 - PropertyAccessExpression 797301 797322 - Identifier 797301 797307 - Identifier 797308 797322 - Block 797323 797505 - ExpressionStatement 797325 797413 - BinaryExpression 797325 797412 - Identifier 797325 797350 - EqualsToken 797350 797352 - CallExpression 797352 797412 - Identifier 797352 797369 - PropertyAccessExpression 797370 797390 - Identifier 797370 797375 - Identifier 797376 797390 - PropertyAccessExpression 797391 797411 - Identifier 797391 797396 - Identifier 797397 797411 - VariableStatement 797505 797625 - VariableDeclarationList 797505 797624 - VariableDeclaration 797518 797624 - Identifier 797518 797524 - BinaryExpression 797526 797624 - ParenthesizedExpression 797526 797553 - BinaryExpression 797528 797552 - PropertyAccessExpression 797528 797538 - Identifier 797528 797532 - Identifier 797533 797538 - BarToken 797538 797540 - PropertyAccessExpression 797540 797552 - Identifier 797540 797546 - Identifier 797547 797552 - AmpersandToken 797553 797555 - ParenthesizedExpression 797555 797624 - BinaryExpression 797557 797623 - PropertyAccessExpression 797557 797588 - Identifier 797557 797571 - Identifier 797572 797588 - AmpersandToken 797588 797590 - PrefixUnaryExpression 797590 797623 - PropertyAccessExpression 797592 797623 - Identifier 797592 797606 - Identifier 797607 797623 - VariableStatement 797625 797672 - VariableDeclarationList 797625 797671 - VariableDeclaration 797640 797671 - Identifier 797640 797652 - PropertyAccessExpression 797654 797671 - Identifier 797654 797659 - Identifier 797660 797671 - VariableStatement 797672 797746 - VariableDeclarationList 797672 797745 - VariableDeclaration 797687 797745 - Identifier 797687 797694 - CallExpression 797696 797745 - Identifier 797696 797719 - Identifier 797720 797724 - Identifier 797725 797731 - Identifier 797732 797744 - VariableStatement 797746 797798 - VariableDeclarationList 797746 797797 - VariableDeclaration 797761 797797 - Identifier 797761 797771 - CallExpression 797773 797797 - Identifier 797773 797789 - Identifier 797790 797796 - IfStatement 797798 797945 - BinaryExpression 797812 797876 - Identifier 797812 797821 - AmpersandAmpersandToken 797821 797824 - BinaryExpression 797824 797876 - CallExpression 797824 797849 - Identifier 797824 797838 - Identifier 797839 797848 - AmpersandToken 797849 797851 - PropertyAccessExpression 797851 797876 - Identifier 797851 797862 - Identifier 797863 797876 - Block 797877 797945 - ExpressionStatement 797879 797934 - BinaryExpression 797879 797933 - Identifier 797879 797898 - BarEqualsToken 797898 797901 - PropertyAccessExpression 797901 797933 - Identifier 797901 797916 - Identifier 797917 797933 - VariableStatement 797945 798049 - VariableDeclarationList 797945 798048 - VariableDeclaration 797960 798048 - Identifier 797960 797970 - CallExpression 797972 798048 - Identifier 797972 797994 - PropertyAccessExpression 797995 798013 - Identifier 797995 797999 - Identifier 798000 798013 - PropertyAccessExpression 798014 798034 - Identifier 798014 798020 - Identifier 798021 798034 - Identifier 798035 798047 - VariableStatement 798049 798135 - VariableDeclarationList 798049 798134 - VariableDeclaration 798064 798134 - Identifier 798064 798076 - CallExpression 798078 798134 - PropertyAccessExpression 798078 798087 - Identifier 798078 798083 - Identifier 798084 798087 - PropertyAccessExpression 798088 798109 - Identifier 798088 798092 - Identifier 798093 798109 - PropertyAccessExpression 798110 798133 - Identifier 798110 798116 - Identifier 798117 798133 - VariableStatement 798135 798427 - VariableDeclarationList 798135 798426 - VariableDeclaration 798150 798426 - Identifier 798150 798157 - CallExpression 798159 798426 - Identifier 798159 798175 - Identifier 798176 798201 - Identifier 798202 798226 - Identifier 798227 798250 - Identifier 798251 798271 - Identifier 798272 798318 - Identifier 798319 798368 - Identifier 798369 798394 - Identifier 798395 798414 - ExpressionStatement 798427 798476 - BinaryExpression 798427 798475 - PropertyAccessExpression 798427 798457 - Identifier 798427 798443 - Identifier 798444 798457 - EqualsToken 798457 798459 - PropertyAccessExpression 798459 798475 - Identifier 798459 798469 - Identifier 798470 798475 - ExpressionStatement 798476 798621 - BinaryExpression 798476 798620 - PropertyAccessExpression 798476 798512 - Identifier 798476 798492 - Identifier 798493 798512 - EqualsToken 798512 798514 - CallExpression 798514 798620 - Identifier 798514 798526 - BinaryExpression 798527 798610 - BinaryExpression 798527 798600 - BinaryExpression 798527 798572 - PropertyAccessExpression 798527 798545 - Identifier 798527 798531 - Identifier 798532 798545 - ExclamationEqualsEqualsToken 798545 798549 - PropertyAccessExpression 798549 798572 - Identifier 798549 798559 - Identifier 798560 798572 - AmpersandAmpersandToken 798572 798575 - PropertyAccessExpression 798575 798600 - Identifier 798575 798580 - Identifier 798581 798600 - BarBarToken 798600 798603 - ArrayLiteralExpression 798603 798610 - Identifier 798605 798609 - ArrayLiteralExpression 798611 798619 - Identifier 798613 798618 - IfStatement 798621 799003 - Identifier 798635 798646 - Block 798647 798840 - ExpressionStatement 798649 798829 - BinaryExpression 798649 798828 - PropertyAccessExpression 798649 798676 - Identifier 798649 798669 - Identifier 798670 798676 - EqualsToken 798676 798678 - ConditionalExpression 798678 798828 - BinaryExpression 798678 798767 - BinaryExpression 798678 798739 - BinaryExpression 798678 798724 - PropertyAccessExpression 798678 798697 - Identifier 798678 798683 - Identifier 798684 798697 - ExclamationEqualsEqualsToken 798697 798701 - PropertyAccessExpression 798701 798724 - Identifier 798701 798711 - Identifier 798712 798724 - AmpersandAmpersandToken 798724 798727 - PropertyAccessExpression 798727 798739 - Identifier 798727 798732 - Identifier 798733 798739 - AmpersandAmpersandToken 798739 798742 - PropertyAccessExpression 798742 798767 - Identifier 798742 798747 - Identifier 798748 798767 - QuestionToken 798767 798769 - CallExpression 798769 798814 - Identifier 798769 798788 - PropertyAccessExpression 798789 798800 - Identifier 798789 798793 - Identifier 798794 798800 - Identifier 798801 798813 - ColonToken 798814 798816 - Identifier 798816 798828 - IfStatement 798854 799003 - BinaryExpression 798859 798947 - BinaryExpression 798859 798919 - BinaryExpression 798859 798904 - PropertyAccessExpression 798859 798877 - Identifier 798859 798863 - Identifier 798864 798877 - ExclamationEqualsEqualsToken 798877 798881 - PropertyAccessExpression 798881 798904 - Identifier 798881 798891 - Identifier 798892 798904 - AmpersandAmpersandToken 798904 798907 - PropertyAccessExpression 798907 798919 - Identifier 798907 798912 - Identifier 798913 798919 - AmpersandAmpersandToken 798919 798922 - PropertyAccessExpression 798922 798947 - Identifier 798922 798927 - Identifier 798928 798947 - Block 798948 799003 - ExpressionStatement 798950 798992 - BinaryExpression 798950 798991 - PropertyAccessExpression 798950 798977 - Identifier 798950 798970 - Identifier 798971 798977 - EqualsToken 798977 798979 - PropertyAccessExpression 798979 798991 - Identifier 798979 798984 - Identifier 798985 798991 - ReturnStatement 799003 799027 - Identifier 799019 799026 - FunctionDeclaration 799034 799702 - Identifier 799050 799069 - Parameter 799070 799092 - Identifier 799070 799075 - TypeOperator 799076 799092 - ArrayType 799085 799092 - TypeReference 799085 799090 - Identifier 799085 799090 - ArrayType 799094 799106 - TypeReference 799094 799104 - Identifier 799094 799104 - Block 799106 799702 - VariableStatement 799108 799168 - VariableDeclarationList 799108 799167 - VariableDeclaration 799123 799167 - Identifier 799123 799135 - CallExpression 799137 799167 - Identifier 799137 799157 - ElementAccessExpression 799158 799166 - Identifier 799158 799163 - NumericLiteral 799164 799165 - IfStatement 799168 799667 - Identifier 799182 799193 - Block 799194 799667 - VariableStatement 799196 799228 - VariableDeclarationList 799196 799227 - VariableDeclaration 799215 799227 - Identifier 799215 799222 - ArrayLiteralExpression 799224 799227 - ForOfStatement 799228 799628 - VariableDeclarationList 799247 799257 - VariableDeclaration 799252 799257 - Identifier 799252 799257 - Identifier 799260 799272 - Block 799273 799628 - VariableStatement 799275 799324 - VariableDeclarationList 799275 799323 - VariableDeclaration 799298 799323 - Identifier 799298 799308 - PropertyAccessExpression 799310 799323 - Identifier 799310 799315 - Identifier 799316 799323 - IfStatement 799324 799613 - CallExpression 799346 799399 - Identifier 799346 799351 - Identifier 799352 799357 - ArrowFunction 799358 799398 - Parameter 799358 799360 - Identifier 799358 799360 - EqualsGreaterThanToken 799360 799363 - PrefixUnaryExpression 799363 799398 - PrefixUnaryExpression 799365 799398 - CallExpression 799366 799398 - Identifier 799366 799384 - Identifier 799385 799386 - Identifier 799387 799397 - Block 799400 799613 - ExpressionStatement 799402 799594 - CallExpression 799402 799593 - PropertyAccessExpression 799402 799435 - Identifier 799402 799430 - Identifier 799431 799435 - CallExpression 799436 799592 - Identifier 799436 799451 - Identifier 799452 799461 - CallExpression 799462 799527 - Identifier 799462 799475 - CallExpression 799476 799526 - Identifier 799476 799479 - Identifier 799480 799485 - ArrowFunction 799486 799525 - Parameter 799486 799488 - Identifier 799486 799488 - EqualsGreaterThanToken 799488 799491 - NonNullExpression 799491 799525 - CallExpression 799491 799524 - Identifier 799491 799510 - Identifier 799511 799512 - Identifier 799513 799523 - CallExpression 799528 799591 - Identifier 799528 799533 - Identifier 799534 799539 - ArrowFunction 799540 799590 - Parameter 799540 799542 - Identifier 799540 799542 - EqualsGreaterThanToken 799542 799545 - PropertyAccessExpression 799545 799590 - NonNullExpression 799545 799579 - CallExpression 799545 799578 - Identifier 799545 799564 - Identifier 799565 799566 - Identifier 799567 799577 - Identifier 799580 799590 - ReturnStatement 799628 799656 - Identifier 799648 799655 - ReturnStatement 799667 799695 - Identifier 799683 799694 - FunctionDeclaration 799702 800417 - Identifier 799718 799742 - Parameter 799743 799758 - Identifier 799743 799747 - TypeReference 799748 799758 - Identifier 799748 799758 - Block 799759 800417 - VariableStatement 799761 800118 - VariableDeclarationList 799761 800117 - VariableDeclaration 799967 800117 - Identifier 799967 799982 - CallExpression 799984 800117 - Identifier 799984 800003 - CallExpression 800004 800116 - Identifier 800004 800007 - PropertyAccessExpression 800008 800018 - Identifier 800008 800012 - Identifier 800013 800018 - ArrowFunction 800019 800115 - Parameter 800019 800021 - Identifier 800019 800021 - EqualsGreaterThanToken 800021 800024 - ConditionalExpression 800024 800115 - BinaryExpression 800024 800049 - Identifier 800024 800026 - EqualsEqualsEqualsToken 800026 800030 - Identifier 800030 800049 - QuestionToken 800049 800051 - ArrayLiteralExpression 800051 800070 - Identifier 800053 800069 - ColonToken 800070 800072 - CallExpression 800072 800115 - Identifier 800072 800092 - Identifier 800093 800094 - PropertyAccessExpression 800095 800114 - Identifier 800095 800109 - Identifier 800110 800114 - VariableStatement 800118 800246 - VariableDeclarationList 800118 800245 - VariableDeclaration 800133 800245 - Identifier 800133 800153 - CallExpression 800155 800245 - Identifier 800155 800174 - CallExpression 800175 800244 - Identifier 800175 800178 - PropertyAccessExpression 800179 800189 - Identifier 800179 800183 - Identifier 800184 800189 - ArrowFunction 800190 800243 - Parameter 800190 800192 - Identifier 800190 800192 - EqualsGreaterThanToken 800192 800195 - CallExpression 800195 800243 - Identifier 800195 800215 - Identifier 800216 800217 - PropertyAccessExpression 800218 800242 - Identifier 800218 800232 - Identifier 800233 800242 - VariableStatement 800246 800306 - VariableDeclarationList 800246 800305 - VariableDeclaration 800261 800305 - Identifier 800261 800272 - CallExpression 800274 800305 - Identifier 800274 800293 - PropertyAccessExpression 800294 800304 - Identifier 800294 800298 - Identifier 800299 800304 - ExpressionStatement 800306 800410 - CallExpression 800306 800409 - Identifier 800306 800340 - Identifier 800341 800345 - Identifier 800346 800359 - Identifier 800360 800375 - Identifier 800376 800396 - Identifier 800397 800408 - FunctionDeclaration 800417 800481 - Identifier 800433 800448 - Parameter 800449 800460 - Identifier 800449 800454 - TypeReference 800455 800460 - Identifier 800455 800460 - Parameter 800461 800473 - Identifier 800461 800467 - TypeReference 800468 800473 - Identifier 800468 800473 - TypeReference 800475 800480 - Identifier 800475 800480 - FunctionDeclaration 800481 800579 - Identifier 800495 800510 - Parameter 800511 800534 - Identifier 800511 800516 - UnionType 800517 800534 - TypeReference 800517 800522 - Identifier 800517 800522 - UndefinedKeyword 800524 800534 - Parameter 800535 800559 - Identifier 800535 800541 - UnionType 800542 800559 - TypeReference 800542 800547 - Identifier 800542 800547 - UndefinedKeyword 800549 800559 - UnionType 800561 800578 - TypeReference 800561 800566 - Identifier 800561 800566 - UndefinedKeyword 800568 800578 - FunctionDeclaration 800579 800772 - Identifier 800593 800608 - Parameter 800609 800632 - Identifier 800609 800614 - UnionType 800615 800632 - TypeReference 800615 800620 - Identifier 800615 800620 - UndefinedKeyword 800622 800632 - Parameter 800633 800657 - Identifier 800633 800639 - UnionType 800640 800657 - TypeReference 800640 800645 - Identifier 800640 800645 - UndefinedKeyword 800647 800657 - UnionType 800659 800676 - TypeReference 800659 800664 - Identifier 800659 800664 - UndefinedKeyword 800666 800676 - Block 800676 800772 - ReturnStatement 800678 800765 - ConditionalExpression 800694 800764 - PrefixUnaryExpression 800694 800701 - Identifier 800696 800701 - QuestionToken 800701 800703 - Identifier 800703 800709 - ColonToken 800709 800711 - ConditionalExpression 800711 800764 - PrefixUnaryExpression 800711 800718 - Identifier 800713 800718 - QuestionToken 800718 800720 - Identifier 800720 800726 - ColonToken 800726 800728 - CallExpression 800728 800764 - Identifier 800728 800748 - ArrayLiteralExpression 800749 800763 - Identifier 800750 800755 - Identifier 800756 800762 - FunctionDeclaration 800772 801308 - Identifier 800788 800799 - Parameter 800800 800822 - Identifier 800800 800805 - TypeOperator 800806 800822 - ArrayType 800815 800822 - TypeReference 800815 800820 - Identifier 800815 800820 - TypeOperator 800824 800843 - ArrayType 800833 800843 - BooleanKeyword 800833 800841 - Block 800843 801308 - VariableStatement 800845 800967 - VariableDeclarationList 800845 800966 - VariableDeclaration 800860 800966 - Identifier 800860 800881 - CallExpression 800883 800966 - Identifier 800883 800894 - Identifier 800895 800900 - ArrowFunction 800901 800965 - Parameter 800901 800903 - Identifier 800901 800903 - EqualsGreaterThanToken 800903 800906 - BinaryExpression 800906 800965 - PropertyAccessExpression 800906 800961 - CallExpression 800906 800954 - Identifier 800906 800926 - Identifier 800927 800928 - PropertyAccessExpression 800929 800953 - Identifier 800929 800943 - Identifier 800944 800953 - Identifier 800955 800961 - GreaterThanToken 800961 800963 - NumericLiteral 800963 800965 - VariableStatement 800967 801031 - VariableDeclarationList 800967 801030 - VariableDeclaration 800982 801030 - Identifier 800982 800993 - CallExpression 800995 801030 - Identifier 800995 800999 - Identifier 801000 801005 - Identifier 801006 801029 - IfStatement 801031 801273 - BinaryExpression 801045 801128 - BinaryExpression 801045 801069 - Identifier 801045 801065 - GreaterThanToken 801065 801067 - NumericLiteral 801067 801069 - AmpersandAmpersandToken 801069 801072 - BinaryExpression 801072 801128 - Identifier 801072 801093 - EqualsEqualsEqualsToken 801093 801097 - CallExpression 801097 801128 - Identifier 801097 801108 - Identifier 801109 801119 - ArrowFunction 801120 801127 - Parameter 801120 801122 - Identifier 801120 801122 - EqualsGreaterThanToken 801122 801125 - Identifier 801125 801127 - Block 801129 801273 - VariableStatement 801131 801212 - VariableDeclarationList 801131 801211 - VariableDeclaration 801150 801211 - Identifier 801150 801166 - CallExpression 801168 801211 - PropertyAccessExpression 801168 801187 - Identifier 801168 801179 - Identifier 801180 801187 - TrueKeyword 801188 801210 - ExpressionStatement 801212 801262 - BinaryExpression 801212 801261 - ElementAccessExpression 801212 801253 - Identifier 801212 801236 - Identifier 801237 801252 - EqualsToken 801253 801255 - FalseKeyword 801255 801261 - ReturnStatement 801273 801301 - Identifier 801289 801300 - FunctionDeclaration 801308 801849 - Identifier 801324 801341 - Parameter 801342 801352 - Identifier 801342 801346 - TypeReference 801347 801352 - Identifier 801347 801352 - Parameter 801353 801376 - Identifier 801353 801359 - TypeOperator 801360 801376 - ArrayType 801369 801376 - TypeReference 801369 801374 - Identifier 801369 801374 - Parameter 801377 801408 - Identifier 801377 801388 - TypeOperator 801389 801408 - ArrayType 801398 801408 - BooleanKeyword 801398 801406 - Parameter 801409 801423 - Identifier 801409 801415 - NumberKeyword 801416 801423 - TypeReference 801425 801430 - Identifier 801425 801430 - Block 801430 801849 - VariableStatement 801432 801472 - VariableDeclarationList 801432 801471 - VariableDeclaration 801447 801471 - Identifier 801447 801458 - ArrayType 801459 801466 - TypeReference 801459 801464 - Identifier 801459 801464 - ArrayLiteralExpression 801468 801471 - ForStatement 801472 801793 - VariableDeclarationList 801487 801496 - VariableDeclaration 801490 801496 - Identifier 801490 801492 - NumericLiteral 801494 801496 - BinaryExpression 801497 801514 - Identifier 801497 801499 - LessThanToken 801499 801501 - PropertyAccessExpression 801501 801514 - Identifier 801501 801507 - Identifier 801508 801514 - PostfixUnaryExpression 801515 801519 - Identifier 801515 801517 - Block 801520 801793 - IfStatement 801522 801782 - BinaryExpression 801540 801551 - Identifier 801540 801541 - EqualsEqualsEqualsToken 801541 801545 - Identifier 801545 801551 - Block 801552 801609 - ExpressionStatement 801554 801594 - CallExpression 801554 801593 - PropertyAccessExpression 801554 801587 - Identifier 801554 801582 - Identifier 801583 801587 - Identifier 801588 801592 - IfStatement 801627 801782 - ElementAccessExpression 801632 801645 - Identifier 801632 801642 - Identifier 801643 801644 - Block 801646 801782 - ExpressionStatement 801648 801767 - CallExpression 801648 801766 - PropertyAccessExpression 801648 801681 - Identifier 801648 801676 - Identifier 801677 801681 - CallExpression 801682 801765 - Identifier 801682 801706 - ElementAccessExpression 801707 801764 - CallExpression 801707 801761 - Identifier 801707 801726 - ElementAccessExpression 801727 801735 - Identifier 801727 801732 - Identifier 801733 801734 - PropertyAccessExpression 801736 801760 - Identifier 801736 801750 - Identifier 801751 801760 - NumericLiteral 801762 801763 - ReturnStatement 801793 801842 - CallExpression 801809 801841 - Identifier 801809 801829 - Identifier 801830 801840 - FunctionDeclaration 801849 804002 - Identifier 801865 801896 - Parameter 801897 801919 - Identifier 801897 801901 - TypeReference 801902 801919 - Identifier 801902 801919 - Block 801920 804002 - VariableStatement 801922 802182 - VariableDeclarationList 801922 802181 - VariableDeclaration 802141 802181 - Identifier 802141 802156 - UnionType 802157 802181 - ArrayType 802157 802169 - TypeReference 802157 802167 - Identifier 802157 802167 - UndefinedKeyword 802171 802181 - VariableStatement 802182 802241 - VariableDeclarationList 802182 802240 - VariableDeclaration 802195 802240 - Identifier 802195 802215 - UnionType 802216 802240 - ArrayType 802216 802228 - TypeReference 802216 802226 - Identifier 802216 802226 - UndefinedKeyword 802230 802240 - VariableStatement 802241 802291 - VariableDeclarationList 802241 802290 - VariableDeclaration 802254 802290 - Identifier 802254 802265 - UnionType 802266 802290 - ArrayType 802266 802278 - TypeReference 802266 802276 - Identifier 802266 802276 - UndefinedKeyword 802280 802290 - VariableStatement 802291 802326 - VariableDeclarationList 802291 802325 - VariableDeclaration 802306 802325 - Identifier 802306 802312 - PropertyAccessExpression 802314 802325 - Identifier 802314 802319 - Identifier 802320 802325 - VariableStatement 802326 802373 - VariableDeclarationList 802326 802372 - VariableDeclaration 802341 802372 - Identifier 802341 802352 - CallExpression 802354 802372 - Identifier 802354 802365 - Identifier 802366 802371 - VariableStatement 802373 802433 - VariableDeclarationList 802373 802432 - VariableDeclaration 802388 802432 - Identifier 802388 802399 - CallExpression 802401 802432 - Identifier 802401 802412 - Identifier 802413 802423 - ArrowFunction 802424 802431 - Parameter 802424 802426 - Identifier 802424 802426 - EqualsGreaterThanToken 802426 802429 - Identifier 802429 802431 - ForStatement 802433 803849 - VariableDeclarationList 802448 802457 - VariableDeclaration 802451 802457 - Identifier 802451 802453 - NumericLiteral 802455 802457 - BinaryExpression 802458 802475 - Identifier 802458 802460 - LessThanToken 802460 802462 - PropertyAccessExpression 802462 802475 - Identifier 802462 802468 - Identifier 802469 802475 - PostfixUnaryExpression 802476 802480 - Identifier 802476 802478 - Block 802481 803849 - VariableStatement 802483 802521 - VariableDeclarationList 802483 802520 - VariableDeclaration 802502 802520 - Identifier 802502 802504 - ElementAccessExpression 802506 802520 - PropertyAccessExpression 802506 802517 - Identifier 802506 802511 - Identifier 802512 802517 - Identifier 802518 802519 - IfStatement 802521 803586 - PrefixUnaryExpression 803002 803016 - ElementAccessExpression 803003 803016 - Identifier 803003 803013 - Identifier 803014 803015 - Block 803017 803586 - VariableStatement 803019 803102 - VariableDeclarationList 803019 803101 - VariableDeclaration 803040 803101 - Identifier 803040 803051 - CallExpression 803053 803101 - Identifier 803053 803073 - Identifier 803074 803075 - PropertyAccessExpression 803076 803100 - Identifier 803076 803090 - Identifier 803091 803100 - IfStatement 803102 803481 - BinaryExpression 803124 803159 - PropertyAccessExpression 803124 803141 - Identifier 803124 803134 - Identifier 803135 803141 - AmpersandAmpersandToken 803141 803144 - BinaryExpression 803144 803159 - Identifier 803144 803155 - GreaterThanToken 803155 803157 - NumericLiteral 803157 803159 - Block 803160 803481 - ExpressionStatement 803162 803462 - BinaryExpression 803162 803461 - Identifier 803162 803194 - EqualsToken 803194 803196 - CallExpression 803196 803461 - Identifier 803196 803200 - Identifier 803201 803211 - ArrowFunction 803212 803460 - Parameter 803212 803214 - Identifier 803212 803214 - EqualsGreaterThanToken 803214 803217 - Block 803217 803460 - VariableStatement 803219 803277 - VariableDeclarationList 803219 803276 - VariableDeclaration 803250 803276 - Identifier 803250 803256 - CallExpression 803258 803276 - Identifier 803258 803273 - Identifier 803274 803275 - ExpressionStatement 803277 803398 - BinaryExpression 803277 803397 - PropertyAccessExpression 803277 803327 - Identifier 803277 803308 - Identifier 803309 803327 - EqualsToken 803327 803329 - CallExpression 803329 803397 - Identifier 803329 803346 - CallExpression 803347 803374 - Identifier 803347 803371 - Identifier 803372 803373 - Identifier 803375 803381 - Identifier 803382 803393 - Identifier 803394 803396 - ReturnStatement 803398 803437 - Identifier 803430 803436 - ExpressionStatement 803481 803571 - BinaryExpression 803481 803570 - Identifier 803481 803518 - EqualsToken 803518 803520 - CallExpression 803520 803570 - Identifier 803520 803537 - Identifier 803538 803557 - Identifier 803558 803569 - ExpressionStatement 803586 803694 - BinaryExpression 803586 803693 - Identifier 803586 803614 - EqualsToken 803614 803616 - CallExpression 803616 803693 - Identifier 803616 803633 - Identifier 803634 803648 - CallExpression 803649 803692 - Identifier 803649 803669 - Identifier 803670 803671 - PropertyAccessExpression 803672 803691 - Identifier 803672 803686 - Identifier 803687 803691 - ExpressionStatement 803694 803838 - BinaryExpression 803694 803837 - Identifier 803694 803718 - EqualsToken 803718 803720 - CallExpression 803720 803837 - Identifier 803720 803731 - CallExpression 803732 803754 - Identifier 803732 803751 - Identifier 803752 803753 - ArrowFunction 803755 803824 - Parameter 803757 803762 - Identifier 803757 803762 - Parameter 803763 803771 - Identifier 803763 803771 - EqualsGreaterThanToken 803772 803775 - CallExpression 803775 803824 - Identifier 803775 803791 - Identifier 803792 803797 - Identifier 803798 803806 - FalseKeyword 803807 803823 - Identifier 803825 803836 - ExpressionStatement 803849 803995 - CallExpression 803849 803994 - Identifier 803849 803883 - Identifier 803884 803888 - Identifier 803889 803902 - BinaryExpression 803903 803932 - Identifier 803903 803918 - BarBarToken 803918 803921 - Identifier 803921 803932 - BinaryExpression 803933 803967 - Identifier 803933 803953 - BarBarToken 803953 803956 - Identifier 803956 803967 - BinaryExpression 803968 803993 - Identifier 803968 803979 - BarBarToken 803979 803982 - Identifier 803982 803993 - FunctionDeclaration 804002 804469 - Identifier 804018 804035 - Parameter 804036 804071 - Identifier 804036 804046 - UnionType 804047 804071 - ArrayType 804047 804059 - TypeReference 804047 804057 - Identifier 804047 804057 - UndefinedKeyword 804061 804071 - Parameter 804072 804108 - Identifier 804072 804086 - TypeOperator 804087 804108 - ArrayType 804096 804108 - TypeReference 804096 804106 - Identifier 804096 804106 - Block 804109 804469 - ForOfStatement 804111 804434 - VariableDeclarationList 804126 804135 - VariableDeclaration 804131 804135 - Identifier 804131 804135 - Identifier 804138 804152 - Block 804153 804434 - IfStatement 804155 804423 - BinaryExpression 804173 804350 - PrefixUnaryExpression 804173 804184 - Identifier 804174 804184 - BarBarToken 804184 804187 - CallExpression 804187 804350 - Identifier 804187 804193 - Identifier 804194 804204 - ArrowFunction 804205 804349 - Parameter 804205 804207 - Identifier 804205 804207 - EqualsGreaterThanToken 804207 804210 - PrefixUnaryExpression 804210 804349 - CallExpression 804212 804349 - Identifier 804212 804238 - Identifier 804239 804240 - Identifier 804241 804245 - FalseKeyword 804246 804269 - FalseKeyword 804270 804296 - FalseKeyword 804297 804325 - Identifier 804326 804348 - Block 804351 804423 - ExpressionStatement 804353 804408 - BinaryExpression 804353 804407 - Identifier 804353 804381 - EqualsToken 804381 804383 - CallExpression 804383 804407 - Identifier 804383 804390 - Identifier 804391 804401 - Identifier 804402 804406 - ReturnStatement 804434 804462 - Identifier 804450 804461 - FunctionDeclaration 804469 805154 - Identifier 804485 804501 - Parameter 804502 804537 - Identifier 804502 804512 - UnionType 804513 804537 - ArrayType 804513 804525 - TypeReference 804513 804523 - Identifier 804513 804523 - UndefinedKeyword 804527 804537 - Parameter 804538 804557 - Identifier 804538 804546 - TypeReference 804547 804557 - Identifier 804547 804557 - Parameter 804558 804573 - Identifier 804558 804564 - BooleanKeyword 804565 804573 - Block 804574 805154 - IfStatement 804576 805102 - Identifier 804590 804600 - Block 804601 805102 - ForStatement 804603 805091 - VariableDeclarationList 804622 804631 - VariableDeclaration 804625 804631 - Identifier 804625 804627 - NumericLiteral 804629 804631 - BinaryExpression 804632 804654 - Identifier 804632 804634 - LessThanToken 804634 804636 - PropertyAccessExpression 804636 804654 - Identifier 804636 804647 - Identifier 804648 804654 - PostfixUnaryExpression 804655 804659 - Identifier 804655 804657 - Block 804660 805091 - VariableStatement 804662 804707 - VariableDeclarationList 804662 804706 - VariableDeclaration 804685 804706 - Identifier 804685 804690 - ElementAccessExpression 804692 804706 - Identifier 804692 804703 - Identifier 804704 804705 - IfStatement 804707 805076 - BinaryExpression 804729 804761 - PropertyAccessExpression 804729 804741 - Identifier 804729 804733 - Identifier 804734 804741 - EqualsEqualsEqualsToken 804741 804745 - PropertyAccessExpression 804745 804761 - Identifier 804745 804753 - Identifier 804754 804761 - Block 804762 805076 - ExpressionStatement 804764 805017 - BinaryExpression 804764 805016 - ElementAccessExpression 804764 804799 - Identifier 804764 804796 - Identifier 804797 804798 - EqualsToken 804799 804801 - CallExpression 804801 805016 - Identifier 804801 804817 - PropertyAccessExpression 804818 804830 - Identifier 804818 804822 - Identifier 804823 804830 - ConditionalExpression 804831 804928 - Identifier 804831 804837 - QuestionToken 804837 804839 - CallExpression 804839 804879 - Identifier 804839 804852 - ArrayLiteralExpression 804853 804878 - PropertyAccessExpression 804854 804863 - Identifier 804854 804858 - Identifier 804859 804863 - PropertyAccessExpression 804864 804877 - Identifier 804864 804872 - Identifier 804873 804877 - ColonToken 804879 804881 - CallExpression 804881 804928 - Identifier 804881 804901 - ArrayLiteralExpression 804902 804927 - PropertyAccessExpression 804903 804912 - Identifier 804903 804907 - Identifier 804908 804912 - PropertyAccessExpression 804913 804926 - Identifier 804913 804921 - Identifier 804922 804926 - ConditionalExpression 804929 805015 - Identifier 804929 804935 - QuestionToken 804935 804937 - BinaryExpression 804937 804975 - PropertyAccessExpression 804937 804953 - Identifier 804937 804942 - Identifier 804943 804953 - BarBarToken 804953 804956 - PropertyAccessExpression 804956 804975 - Identifier 804956 804964 - Identifier 804965 804975 - ColonToken 804975 804977 - BinaryExpression 804977 805015 - PropertyAccessExpression 804977 804993 - Identifier 804977 804982 - Identifier 804983 804993 - AmpersandAmpersandToken 804993 804996 - PropertyAccessExpression 804996 805015 - Identifier 804996 805004 - Identifier 805005 805015 - ReturnStatement 805017 805057 - Identifier 805045 805056 - ReturnStatement 805102 805147 - CallExpression 805118 805146 - Identifier 805118 805125 - Identifier 805126 805136 - Identifier 805137 805145 - FunctionDeclaration 805154 810688 - Identifier 805241 805269 - Parameter 805270 805289 - Identifier 805270 805274 - TypeReference 805275 805289 - Identifier 805275 805289 - Block 805290 810688 - IfStatement 805292 806058 - PropertyAccessExpression 805306 805317 - Identifier 805306 805310 - Identifier 805311 805317 - Block 805318 806058 - ExpressionStatement 805320 805415 - CallExpression 805320 805414 - Identifier 805320 805358 - Identifier 805359 805363 - Identifier 805364 805377 - Identifier 805378 805389 - Identifier 805390 805401 - Identifier 805402 805413 - VariableStatement 805415 805556 - VariableDeclarationList 805415 805555 - VariableDeclaration 805434 805555 - Identifier 805434 805442 - CallExpression 805444 805555 - Identifier 805444 805474 - CallExpression 805475 805513 - Identifier 805475 805500 - PropertyAccessExpression 805501 805512 - Identifier 805501 805505 - Identifier 805506 805512 - NonNullExpression 805514 805527 - PropertyAccessExpression 805514 805526 - Identifier 805514 805519 - Identifier 805520 805526 - FalseKeyword 805528 805554 - VariableStatement 805556 805683 - VariableDeclarationList 805556 805682 - VariableDeclaration 805575 805682 - Identifier 805575 805590 - CallExpression 805592 805682 - Identifier 805592 805614 - CallExpression 805615 805667 - Identifier 805615 805634 - PropertyAccessExpression 805635 805646 - Identifier 805635 805639 - Identifier 805640 805646 - PropertyAccessExpression 805647 805666 - Identifier 805647 805661 - Identifier 805662 805666 - NonNullExpression 805668 805681 - PropertyAccessExpression 805668 805680 - Identifier 805668 805673 - Identifier 805674 805680 - VariableStatement 805683 805820 - VariableDeclarationList 805683 805819 - VariableDeclaration 805702 805819 - Identifier 805702 805722 - CallExpression 805724 805819 - Identifier 805724 805746 - CallExpression 805747 805804 - Identifier 805747 805766 - PropertyAccessExpression 805767 805778 - Identifier 805767 805771 - Identifier 805772 805778 - PropertyAccessExpression 805779 805803 - Identifier 805779 805793 - Identifier 805794 805803 - NonNullExpression 805805 805818 - PropertyAccessExpression 805805 805817 - Identifier 805805 805810 - Identifier 805811 805817 - VariableStatement 805820 805923 - VariableDeclarationList 805820 805922 - VariableDeclaration 805839 805922 - Identifier 805839 805850 - CallExpression 805852 805922 - Identifier 805852 805874 - CallExpression 805875 805907 - Identifier 805875 805894 - PropertyAccessExpression 805895 805906 - Identifier 805895 805899 - Identifier 805900 805906 - NonNullExpression 805908 805921 - PropertyAccessExpression 805908 805920 - Identifier 805908 805913 - Identifier 805914 805920 - ExpressionStatement 805923 806026 - CallExpression 805923 806025 - Identifier 805923 805961 - Identifier 805962 805966 - Identifier 805967 805975 - Identifier 805976 805991 - Identifier 805992 806012 - Identifier 806013 806024 - ReturnStatement 806026 806047 - VariableStatement 806058 806112 - VariableDeclarationList 806058 806111 - VariableDeclaration 806073 806111 - Identifier 806073 806080 - CallExpression 806082 806111 - Identifier 806082 806098 - PropertyAccessExpression 806099 806110 - Identifier 806099 806103 - Identifier 806104 806110 - IfStatement 806112 806715 - BinaryExpression 806126 806164 - PropertyAccessExpression 806126 806138 - Identifier 806126 806132 - Identifier 806133 806138 - AmpersandToken 806138 806140 - PropertyAccessExpression 806140 806164 - Identifier 806140 806152 - Identifier 806153 806164 - Block 806165 806715 - ExpressionStatement 806167 806262 - CallExpression 806167 806261 - Identifier 806167 806205 - Identifier 806206 806210 - Identifier 806211 806224 - Identifier 806225 806236 - Identifier 806237 806248 - Identifier 806249 806260 - VariableStatement 806262 806319 - VariableDeclarationList 806262 806318 - VariableDeclaration 806281 806318 - Identifier 806281 806289 - CallExpression 806291 806318 - Identifier 806291 806310 - Identifier 806311 806317 - VariableStatement 806319 806416 - VariableDeclarationList 806319 806415 - VariableDeclaration 806338 806415 - Identifier 806338 806353 - CallExpression 806355 806415 - Identifier 806355 806377 - CallExpression 806378 806414 - PropertyAccessExpression 806378 806389 - Identifier 806378 806385 - Identifier 806386 806389 - PropertyAccessExpression 806390 806413 - Identifier 806390 806408 - Identifier 806409 806413 - VariableStatement 806416 806517 - VariableDeclarationList 806416 806516 - VariableDeclaration 806435 806516 - Identifier 806435 806455 - CallExpression 806457 806516 - Identifier 806457 806479 - CallExpression 806480 806515 - PropertyAccessExpression 806480 806491 - Identifier 806480 806487 - Identifier 806488 806491 - PropertyAccessExpression 806492 806514 - Identifier 806492 806510 - Identifier 806511 806514 - VariableStatement 806517 806580 - VariableDeclarationList 806517 806579 - VariableDeclaration 806536 806579 - Identifier 806536 806547 - CallExpression 806549 806579 - Identifier 806549 806571 - Identifier 806572 806578 - ExpressionStatement 806580 806683 - CallExpression 806580 806682 - Identifier 806580 806618 - Identifier 806619 806623 - Identifier 806624 806632 - Identifier 806633 806648 - Identifier 806649 806669 - Identifier 806670 806681 - ReturnStatement 806683 806704 - VariableStatement 806715 806827 - VariableDeclarationList 806715 806826 - VariableDeclaration 806789 806826 - Identifier 806789 806797 - CallExpression 806799 806826 - Identifier 806799 806818 - Identifier 806819 806825 - VariableStatement 806827 806877 - VariableDeclarationList 806827 806876 - VariableDeclaration 806840 806876 - Identifier 806840 806851 - UnionType 806852 806876 - ArrayType 806852 806864 - TypeReference 806852 806862 - Identifier 806852 806862 - UndefinedKeyword 806866 806876 - IfStatement 806877 807318 - BinaryExpression 806891 806918 - Identifier 806891 806897 - EqualsEqualsEqualsToken 806897 806901 - Identifier 806901 806918 - Block 806919 807318 - VariableStatement 806921 806980 - VariableDeclarationList 806921 806979 - VariableDeclaration 806940 806979 - Identifier 806940 806949 - NewExpression 806951 806979 - Identifier 806955 806959 - TypeReference 806960 806968 - Identifier 806960 806968 - TypeReference 806969 806976 - Identifier 806969 806976 - ExpressionStatement 806980 807274 - CallExpression 806980 807273 - PropertyAccessExpression 806980 807009 - Identifier 806980 807001 - Identifier 807002 807009 - ArrowFunction 807010 807272 - Parameter 807010 807011 - Identifier 807010 807011 - EqualsGreaterThanToken 807011 807014 - Block 807014 807272 - IfStatement 807016 807257 - BinaryExpression 807038 807182 - PrefixUnaryExpression 807038 807074 - ParenthesizedExpression 807039 807074 - BinaryExpression 807040 807073 - PropertyAccessExpression 807040 807047 - Identifier 807040 807041 - Identifier 807042 807047 - AmpersandToken 807047 807049 - PropertyAccessExpression 807049 807073 - Identifier 807049 807061 - Identifier 807062 807073 - AmpersandAmpersandToken 807074 807077 - PrefixUnaryExpression 807077 807182 - ParenthesizedExpression 807079 807182 - BinaryExpression 807080 807181 - BinaryExpression 807080 807139 - BinaryExpression 807080 807113 - PropertyAccessExpression 807080 807087 - Identifier 807080 807081 - Identifier 807082 807087 - AmpersandToken 807087 807089 - PropertyAccessExpression 807089 807113 - Identifier 807089 807101 - Identifier 807102 807113 - AmpersandAmpersandToken 807113 807116 - PropertyAccessExpression 807116 807139 - PropertyAccessExpression 807116 807131 - Identifier 807116 807118 - Identifier 807119 807131 - QuestionDotToken 807131 807133 - Identifier 807133 807139 - AmpersandAmpersandToken 807139 807142 - CallExpression 807142 807181 - Identifier 807142 807148 - PropertyAccessExpression 807149 807163 - Identifier 807149 807150 - Identifier 807151 807163 - Identifier 807164 807180 - Block 807183 807257 - ExpressionStatement 807185 807238 - CallExpression 807185 807237 - PropertyAccessExpression 807185 807219 - Identifier 807185 807215 - Identifier 807216 807219 - PropertyAccessExpression 807220 807233 - Identifier 807220 807221 - Identifier 807222 807233 - Identifier 807234 807236 - ExpressionStatement 807274 807307 - BinaryExpression 807274 807306 - Identifier 807274 807295 - EqualsToken 807295 807297 - Identifier 807297 807306 - VariableStatement 807318 807380 - VariableDeclarationList 807318 807379 - VariableDeclaration 807331 807379 - Identifier 807331 807356 - UnionType 807357 807379 - TypeReference 807357 807367 - Identifier 807357 807367 - UndefinedKeyword 807369 807379 - ExpressionStatement 807380 807466 - CallExpression 807380 807465 - Identifier 807380 807414 - Identifier 807415 807419 - Identifier 807420 807428 - Identifier 807429 807440 - Identifier 807441 807452 - Identifier 807453 807464 - IfStatement 807466 808130 - BinaryExpression 807480 807512 - PropertyAccessExpression 807480 807492 - Identifier 807480 807486 - Identifier 807487 807492 - AmpersandToken 807492 807494 - PropertyAccessExpression 807494 807512 - Identifier 807494 807506 - Identifier 807507 807512 - Block 807513 808130 - VariableStatement 807515 807589 - VariableDeclarationList 807515 807588 - VariableDeclaration 807534 807588 - Identifier 807534 807544 - CallExpression 807546 807588 - Identifier 807546 807580 - Identifier 807581 807587 - VariableStatement 807589 807672 - VariableDeclarationList 807589 807671 - VariableDeclaration 807608 807671 - Identifier 807608 807628 - CallExpression 807630 807671 - Identifier 807630 807660 - Identifier 807661 807670 - IfStatement 807672 808119 - BinaryExpression 807690 807786 - PropertyAccessExpression 807690 807715 - Identifier 807690 807709 - Identifier 807710 807715 - AmpersandToken 807715 807717 - ParenthesizedExpression 807717 807786 - BinaryExpression 807719 807785 - BinaryExpression 807719 807760 - PropertyAccessExpression 807719 807735 - Identifier 807719 807728 - Identifier 807729 807735 - BarToken 807735 807737 - PropertyAccessExpression 807737 807760 - Identifier 807737 807747 - Identifier 807748 807760 - BarToken 807760 807762 - PropertyAccessExpression 807762 807785 - Identifier 807762 807772 - Identifier 807773 807785 - Block 807787 807981 - ExpressionStatement 807789 807877 - BinaryExpression 807789 807876 - Identifier 807789 807814 - EqualsToken 807814 807816 - CallExpression 807816 807876 - Identifier 807816 807834 - CallExpression 807835 807875 - Identifier 807835 807866 - Identifier 807867 807874 - ExpressionStatement 807877 807966 - CallExpression 807877 807965 - Identifier 807877 807914 - Identifier 807915 807922 - CallExpression 807923 807964 - Identifier 807923 807943 - Identifier 807944 807963 - IfStatement 807999 808119 - BinaryExpression 808004 808035 - Identifier 808004 808023 - EqualsEqualsEqualsToken 808023 808027 - Identifier 808027 808035 - Block 808036 808119 - ExpressionStatement 808038 808104 - BinaryExpression 808038 808103 - Identifier 808038 808080 - EqualsToken 808080 808082 - Identifier 808082 808103 - VariableStatement 808130 808201 - VariableDeclarationList 808130 808200 - VariableDeclaration 808147 808200 - Identifier 808147 808159 - CallExpression 808161 808200 - Identifier 808161 808191 - Identifier 808192 808199 - IfStatement 808201 808839 - Identifier 808215 808226 - Block 808227 808336 - ExpressionStatement 808229 808325 - BinaryExpression 808229 808324 - Identifier 808229 808253 - EqualsToken 808253 808255 - CallExpression 808255 808324 - Identifier 808255 808282 - Identifier 808283 808294 - CallExpression 808295 808323 - Identifier 808295 808305 - CallExpression 808306 808322 - PropertyAccessExpression 808306 808320 - Identifier 808306 808313 - Identifier 808314 808320 - Block 808350 808839 - IfStatement 808352 808488 - Identifier 808370 808394 - Block 808395 808488 - ExpressionStatement 808397 808473 - BinaryExpression 808397 808472 - Identifier 808397 808425 - EqualsToken 808425 808427 - CallExpression 808427 808472 - Identifier 808427 808434 - Identifier 808435 808445 - Identifier 808446 808471 - IfStatement 808488 808828 - BinaryExpression 808506 808725 - BinaryExpression 808506 808555 - PropertyAccessExpression 808506 808536 - Identifier 808506 808530 - Identifier 808531 808536 - AmpersandToken 808536 808538 - PropertyAccessExpression 808538 808555 - Identifier 808538 808550 - Identifier 808551 808555 - AmpersandAmpersandToken 808555 808558 - ParenthesizedExpression 808558 808725 - BinaryExpression 808560 808724 - BinaryExpression 808560 808614 - PropertyAccessExpression 808560 808597 - CallExpression 808560 808591 - Identifier 808560 808583 - Identifier 808584 808590 - Identifier 808592 808597 - AmpersandToken 808597 808599 - PropertyAccessExpression 808599 808614 - Identifier 808599 808609 - Identifier 808610 808614 - BarBarToken 808614 808617 - CallExpression 808617 808724 - Identifier 808617 808643 - PropertyAccessExpression 808644 808659 - Identifier 808644 808648 - Identifier 808649 808659 - ArrowFunction 808660 808723 - Parameter 808660 808665 - Identifier 808660 808665 - EqualsGreaterThanToken 808665 808668 - PrefixUnaryExpression 808668 808723 - PrefixUnaryExpression 808670 808723 - ParenthesizedExpression 808671 808723 - BinaryExpression 808672 808722 - PropertyAccessExpression 808672 808699 - CallExpression 808672 808693 - Identifier 808672 808687 - Identifier 808688 808692 - Identifier 808694 808699 - AmpersandToken 808699 808701 - PropertyAccessExpression 808701 808722 - Identifier 808701 808711 - Identifier 808712 808722 - Block 808740 808828 - ExpressionStatement 808742 808813 - BinaryExpression 808742 808812 - Identifier 808742 808770 - EqualsToken 808770 808772 - CallExpression 808772 808812 - Identifier 808772 808779 - Identifier 808780 808790 - Identifier 808791 808811 - ExpressionStatement 808839 808939 - CallExpression 808839 808938 - Identifier 808839 808873 - Identifier 808874 808878 - Identifier 808879 808887 - Identifier 808888 808899 - Identifier 808900 808911 - BinaryExpression 808912 808937 - Identifier 808912 808923 - BarBarToken 808923 808926 - Identifier 808926 808937 - IfStatement 808939 809465 - BinaryExpression 809327 809385 - PropertyAccessExpression 809327 809339 - Identifier 809327 809333 - Identifier 809334 809339 - AmpersandToken 809339 809341 - ParenthesizedExpression 809341 809385 - BinaryExpression 809343 809384 - PropertyAccessExpression 809343 809363 - Identifier 809343 809354 - Identifier 809355 809363 - BarToken 809363 809365 - PropertyAccessExpression 809365 809384 - Identifier 809365 809377 - Identifier 809378 809384 - Block 809386 809465 - ExpressionStatement 809388 809454 - BinaryExpression 809388 809453 - PropertyAccessExpression 809388 809421 - Identifier 809388 809406 - Identifier 809407 809421 - EqualsToken 809421 809423 - CallExpression 809423 809453 - Identifier 809423 809445 - Identifier 809446 809452 - IfStatement 809465 810681 - BinaryExpression 809541 809573 - PropertyAccessExpression 809541 809553 - Identifier 809541 809547 - Identifier 809548 809553 - AmpersandToken 809553 809555 - PropertyAccessExpression 809555 809573 - Identifier 809555 809567 - Identifier 809568 809573 - Block 809574 810681 - VariableStatement 809576 809650 - VariableDeclarationList 809576 809649 - VariableDeclaration 809595 809649 - Identifier 809595 809605 - CallExpression 809607 809649 - Identifier 809607 809641 - Identifier 809642 809648 - VariableStatement 809650 809794 - VariableDeclarationList 809650 809793 - VariableDeclaration 809667 809793 - Identifier 809667 809687 - ConditionalExpression 809689 809793 - PropertyAccessExpression 809689 809704 - Identifier 809689 809696 - Identifier 809697 809704 - QuestionToken 809704 809706 - CallExpression 809706 809780 - Identifier 809706 809728 - CallExpression 809729 809779 - PropertyAccessExpression 809729 809747 - PropertyAccessExpression 809729 809743 - Identifier 809729 809735 - Identifier 809736 809743 - Identifier 809744 809747 - PropertyAccessExpression 809748 809778 - Identifier 809748 809766 - Identifier 809767 809778 - ColonToken 809780 809782 - Identifier 809782 809793 - IfStatement 809794 810465 - BinaryExpression 809812 809847 - PropertyAccessExpression 809812 809824 - Identifier 809812 809818 - Identifier 809819 809824 - AmpersandToken 809824 809826 - PropertyAccessExpression 809826 809847 - Identifier 809826 809838 - Identifier 809839 809847 - Block 809848 810465 - ExpressionStatement 809850 810450 - BinaryExpression 809850 810449 - Identifier 809850 809887 - EqualsToken 809887 809889 - CallExpression 809889 810449 - Identifier 809889 809898 - CallExpression 809899 809948 - PropertyAccessExpression 809899 809946 - Identifier 809899 809940 - Identifier 809941 809946 - CallExpression 809949 810429 - Identifier 809949 809981 - PropertyAccessExpression 809982 810027 - Identifier 809982 810012 - Identifier 810013 810027 - ArrowFunction 810028 810405 - Parameter 810028 810057 - Identifier 810028 810057 - EqualsGreaterThanToken 810057 810060 - ConditionalExpression 810060 810405 - CallExpression 810060 810122 - Identifier 810060 810105 - PropertyAccessExpression 810106 810121 - Identifier 810106 810109 - Identifier 810110 810121 - QuestionToken 810122 810124 - CallExpression 810124 810360 - Identifier 810124 810173 - PropertyAccessExpression 810174 810189 - Identifier 810174 810177 - Identifier 810178 810189 - PropertyAccessExpression 810190 810209 - Identifier 810190 810194 - Identifier 810195 810209 - PropertyAccessExpression 810210 810228 - Identifier 810210 810214 - Identifier 810215 810228 - PropertyAccessExpression 810229 810244 - Identifier 810229 810233 - Identifier 810234 810244 - Identifier 810245 810255 - Identifier 810256 810292 - PropertyAccessExpression 810293 810314 - Identifier 810293 810297 - Identifier 810298 810314 - BinaryExpression 810315 810359 - PropertyAccessExpression 810315 810325 - Identifier 810315 810319 - Identifier 810320 810325 - AmpersandToken 810325 810327 - PropertyAccessExpression 810327 810359 - Identifier 810327 810342 - Identifier 810343 810359 - ColonToken 810360 810362 - Identifier 810362 810405 - IfStatement 810465 810609 - PrefixUnaryExpression 810483 810510 - PropertyAccessExpression 810484 810510 - Identifier 810484 810503 - Identifier 810504 810510 - Block 810511 810609 - ExpressionStatement 810513 810594 - BinaryExpression 810513 810593 - Identifier 810513 810550 - EqualsToken 810550 810552 - CallExpression 810552 810593 - Identifier 810552 810582 - Identifier 810583 810592 - ExpressionStatement 810609 810670 - BinaryExpression 810609 810669 - PropertyAccessExpression 810609 810647 - Identifier 810609 810627 - Identifier 810628 810647 - EqualsToken 810647 810649 - Identifier 810649 810669 - TypeAliasDeclaration 810688 810809 - Identifier 810700 810729 - IntersectionType 810731 810808 - TypeReference 810731 810749 - Identifier 810731 810749 - TypeLiteral 810751 810808 - PropertySignature 810753 810780 - Identifier 810753 810764 - TypeReference 810765 810779 - Identifier 810765 810779 - PropertySignature 810780 810806 - Identifier 810780 810790 - TypeReference 810791 810805 - Identifier 810791 810805 - FunctionDeclaration 810809 811256 - Identifier 810823 810844 - Parameter 810845 810863 - Identifier 810845 810857 - TypeReference 810858 810863 - Identifier 810858 810863 - Parameter 810864 810899 - Identifier 810864 810869 - TypeReference 810870 810899 - Identifier 810870 810899 - Parameter 810900 810918 - Identifier 810900 810912 - TypeReference 810913 810918 - Identifier 810913 810918 - Block 810919 811256 - ReturnStatement 810921 811249 - CallExpression 811106 811248 - Identifier 811106 811122 - Identifier 811123 811135 - CallExpression 811136 811247 - Identifier 811136 811153 - ArrayLiteralExpression 811154 811187 - PropertyAccessExpression 811155 811169 - Identifier 811155 811159 - Identifier 811160 811169 - PropertyAccessExpression 811170 811186 - Identifier 811170 811175 - Identifier 811176 811186 - ArrayLiteralExpression 811188 811246 - CallExpression 811190 811213 - Identifier 811190 811210 - NumericLiteral 811211 811212 - CallExpression 811214 811245 - Identifier 811214 811230 - ArrayLiteralExpression 811231 811244 - Identifier 811232 811243 - FunctionDeclaration 811256 812316 - Identifier 811608 811629 - Parameter 811630 811653 - Identifier 811630 811634 - TypeReference 811635 811653 - Identifier 811635 811653 - Block 811654 812316 - VariableStatement 811656 811734 - VariableDeclarationList 811656 811733 - VariableDeclaration 811671 811733 - Identifier 811671 811682 - CallExpression 811684 811733 - Identifier 811684 811716 - PropertyAccessExpression 811717 811732 - Identifier 811717 811721 - Identifier 811722 811732 - IfStatement 811734 811865 - PrefixUnaryExpression 811748 811830 - ParenthesizedExpression 811749 811830 - BinaryExpression 811750 811829 - BinaryExpression 811750 811784 - PropertyAccessExpression 811750 811766 - Identifier 811750 811760 - Identifier 811761 811766 - AmpersandToken 811766 811768 - PropertyAccessExpression 811768 811784 - Identifier 811768 811778 - Identifier 811779 811784 - BarBarToken 811784 811787 - BinaryExpression 811787 811829 - PropertyAccessExpression 811787 811804 - Identifier 811787 811798 - Identifier 811799 811804 - AmpersandToken 811804 811806 - PropertyAccessExpression 811806 811829 - Identifier 811806 811816 - Identifier 811817 811829 - Block 811831 811865 - ReturnStatement 811833 811854 - VariableStatement 811865 811997 - VariableDeclarationList 811865 811996 - VariableDeclaration 811880 811996 - Identifier 811880 811887 - ConditionalExpression 811889 811996 - ParenthesizedExpression 811889 811926 - BinaryExpression 811891 811925 - PropertyAccessExpression 811891 811907 - Identifier 811891 811901 - Identifier 811902 811907 - AmpersandToken 811907 811909 - PropertyAccessExpression 811909 811925 - Identifier 811909 811919 - Identifier 811920 811925 - QuestionToken 811926 811928 - PropertyAccessExpression 811928 811961 - ParenthesizedExpression 811928 811954 - AsExpression 811930 811953 - Identifier 811930 811940 - TypeReference 811943 811953 - Identifier 811943 811953 - Identifier 811955 811961 - ColonToken 811961 811963 - ParenthesizedExpression 811963 811996 - AsExpression 811965 811995 - Identifier 811965 811975 - TypeReference 811978 811995 - Identifier 811978 811995 - IfStatement 811997 812097 - BinaryExpression 812011 812062 - PrefixUnaryExpression 812011 812018 - Identifier 812012 812018 - BarBarToken 812018 812021 - PrefixUnaryExpression 812021 812062 - ParenthesizedExpression 812023 812062 - BinaryExpression 812024 812061 - PropertyAccessExpression 812024 812036 - Identifier 812024 812030 - Identifier 812031 812036 - AmpersandToken 812036 812038 - PropertyAccessExpression 812038 812061 - Identifier 812038 812048 - Identifier 812049 812061 - Block 812063 812097 - ReturnStatement 812065 812086 - VariableStatement 812097 812228 - VariableDeclarationList 812097 812227 - VariableDeclaration 812112 812227 - Identifier 812112 812130 - CallExpression 812132 812227 - Identifier 812132 812152 - CallExpression 812153 812226 - PropertyAccessExpression 812153 812194 - PropertyAccessExpression 812153 812187 - ParenthesizedExpression 812153 812181 - AsExpression 812154 812180 - Identifier 812154 812160 - TypeReference 812163 812180 - Identifier 812163 812180 - Identifier 812182 812187 - Identifier 812188 812194 - ArrowFunction 812195 812225 - Parameter 812195 812196 - Identifier 812195 812196 - EqualsGreaterThanToken 812196 812199 - BinaryExpression 812199 812225 - Identifier 812199 812201 - ExclamationEqualsEqualsToken 812201 812205 - PropertyAccessExpression 812205 812225 - Identifier 812205 812210 - Identifier 812211 812225 - ReturnStatement 812228 812309 - ConditionalExpression 812244 812308 - BinaryExpression 812244 812276 - Identifier 812244 812262 - ExclamationEqualsEqualsToken 812262 812266 - Identifier 812266 812276 - QuestionToken 812276 812278 - Identifier 812278 812296 - ColonToken 812296 812298 - Identifier 812298 812308 - FunctionDeclaration 812316 815699 - Identifier 812332 812364 - Parameter 812365 812388 - Identifier 812365 812369 - TypeReference 812370 812388 - Identifier 812370 812388 - Block 812389 815699 - VariableStatement 812391 812463 - VariableDeclarationList 812391 812462 - VariableDeclaration 812406 812462 - Identifier 812406 812416 - CallExpression 812418 812462 - Identifier 812418 812437 - PropertyAccessExpression 812438 812449 - Identifier 812438 812442 - Identifier 812443 812449 - Identifier 812450 812461 - VariableStatement 812463 812531 - VariableDeclarationList 812463 812530 - VariableDeclaration 812478 812530 - Identifier 812478 812488 - CallExpression 812490 812530 - Identifier 812490 812513 - PropertyAccessExpression 812514 812529 - Identifier 812514 812518 - Identifier 812519 812529 - VariableStatement 812531 812625 - VariableDeclarationList 812531 812624 - VariableDeclaration 812546 812624 - Identifier 812546 812559 - ConditionalExpression 812561 812624 - BinaryExpression 812561 812609 - Identifier 812561 812571 - AmpersandToken 812571 812573 - PropertyAccessExpression 812573 812609 - Identifier 812573 812593 - Identifier 812594 812609 - QuestionToken 812609 812611 - FalseKeyword 812611 812617 - ColonToken 812617 812619 - TrueKeyword 812619 812624 - VariableStatement 812625 812731 - VariableDeclarationList 812625 812730 - VariableDeclaration 812640 812730 - Identifier 812640 812653 - ConditionalExpression 812655 812730 - BinaryExpression 812655 812703 - Identifier 812655 812665 - AmpersandToken 812665 812667 - PropertyAccessExpression 812667 812703 - Identifier 812667 812687 - Identifier 812688 812703 - QuestionToken 812703 812705 - NumericLiteral 812705 812707 - ColonToken 812707 812709 - PropertyAccessExpression 812709 812730 - Identifier 812709 812721 - Identifier 812722 812730 - VariableStatement 812731 812946 - VariableDeclarationList 812731 812945 - VariableDeclaration 812746 812945 - Identifier 812746 812757 - ConditionalExpression 812759 812945 - Identifier 812759 812769 - QuestionToken 812769 812771 - ArrayLiteralExpression 812771 812932 - CallExpression 812773 812931 - Identifier 812773 812788 - Identifier 812789 812799 - BinaryExpression 812800 812892 - CallExpression 812800 812877 - Identifier 812800 812823 - PropertyAccessExpression 812824 812838 - Identifier 812824 812833 - Identifier 812834 812838 - PropertyAccessExpression 812839 812855 - Identifier 812839 812844 - Identifier 812845 812855 - PropertyAccessExpression 812856 812876 - Identifier 812856 812861 - Identifier 812862 812876 - BarBarToken 812877 812880 - Identifier 812880 812892 - BinaryExpression 812893 812930 - Identifier 812893 812906 - AmpersandAmpersandToken 812906 812909 - PropertyAccessExpression 812909 812930 - Identifier 812909 812919 - Identifier 812920 812930 - ColonToken 812932 812934 - Identifier 812934 812945 - VariableStatement 812946 812992 - VariableDeclarationList 812946 812991 - VariableDeclaration 812961 812991 - Identifier 812961 812969 - CallExpression 812971 812991 - Identifier 812971 812989 - VariableStatement 812992 813055 - VariableDeclarationList 812992 813054 - VariableDeclaration 813007 813054 - Identifier 813007 813025 - CallExpression 813027 813054 - Identifier 813027 813048 - Identifier 813049 813053 - ForOfStatement 813055 815606 - VariableDeclarationList 813070 813080 - VariableDeclaration 813075 813080 - Identifier 813075 813080 - CallExpression 813083 813116 - Identifier 813083 813103 - PropertyAccessExpression 813104 813115 - Identifier 813104 813108 - Identifier 813109 813115 - Block 813117 815606 - IfStatement 813119 813739 - Identifier 813456 813473 - Block 813474 813739 - VariableStatement 813476 813593 - VariableDeclarationList 813476 813592 - VariableDeclaration 813499 813592 - Identifier 813499 813516 - CallExpression 813518 813592 - Identifier 813518 813545 - Identifier 813546 813550 - PropertyAccessExpression 813551 813591 - Identifier 813551 813561 - Identifier 813562 813591 - IfStatement 813593 813724 - PrefixUnaryExpression 813615 813671 - CallExpression 813616 813671 - Identifier 813616 813634 - Identifier 813635 813651 - Identifier 813652 813670 - Block 813672 813724 - ContinueStatement 813674 813705 - VariableStatement 813739 813866 - VariableDeclarationList 813739 813865 - VariableDeclaration 813758 813865 - Identifier 813758 813769 - BinaryExpression 813771 813865 - PropertyAccessExpression 813771 813796 - Identifier 813771 813782 - Identifier 813783 813796 - BarToken 813796 813798 - ParenthesizedExpression 813798 813865 - ConditionalExpression 813800 813864 - BinaryExpression 813800 813838 - Identifier 813800 813812 - AmpersandAmpersandToken 813812 813815 - CallExpression 813815 813838 - Identifier 813815 813832 - Identifier 813833 813837 - QuestionToken 813838 813840 - PropertyAccessExpression 813840 813860 - Identifier 813840 813851 - Identifier 813852 813860 - ColonToken 813860 813862 - NumericLiteral 813862 813864 - VariableStatement 813866 814017 - VariableDeclarationList 813866 814016 - VariableDeclaration 813885 814016 - Identifier 813885 813898 - AsExpression 813900 814016 - CallExpression 813900 813993 - Identifier 813900 813913 - BinaryExpression 813914 813962 - PropertyAccessExpression 813914 813934 - Identifier 813914 813925 - Identifier 813926 813934 - BarToken 813934 813936 - BinaryExpression 813936 813962 - PropertyAccessExpression 813936 813947 - Identifier 813936 813941 - Identifier 813942 813947 - AmpersandToken 813947 813949 - Identifier 813949 813962 - PropertyAccessExpression 813963 813980 - Identifier 813963 813968 - Identifier 813969 813980 - Identifier 813981 813992 - TypeReference 813996 814016 - Identifier 813996 814016 - ExpressionStatement 814017 814077 - BinaryExpression 814017 814076 - PropertyAccessExpression 814017 814056 - Identifier 814017 814043 - Identifier 814044 814056 - EqualsToken 814056 814058 - PropertyAccessExpression 814058 814076 - Identifier 814058 814063 - Identifier 814064 814076 - ExpressionStatement 814077 814151 - BinaryExpression 814077 814150 - PropertyAccessExpression 814077 814118 - PropertyAccessExpression 814077 814109 - Identifier 814077 814103 - Identifier 814104 814109 - Identifier 814110 814118 - EqualsToken 814118 814120 - PropertyAccessExpression 814120 814150 - CallExpression 814120 814141 - Identifier 814120 814135 - Identifier 814136 814140 - Identifier 814142 814150 - ExpressionStatement 814151 814221 - BinaryExpression 814151 814220 - PropertyAccessExpression 814151 814196 - PropertyAccessExpression 814151 814183 - Identifier 814151 814177 - Identifier 814178 814183 - Identifier 814184 814196 - EqualsToken 814196 814198 - CallExpression 814198 814220 - Identifier 814198 814214 - Identifier 814215 814219 - IfStatement 814221 815537 - BinaryExpression 814239 814534 - BinaryExpression 814239 814424 - BinaryExpression 814239 814313 - PropertyAccessExpression 814239 814287 - PropertyAccessExpression 814239 814281 - PropertyAccessExpression 814239 814276 - Identifier 814239 814261 - Identifier 814262 814276 - Identifier 814277 814281 - Identifier 814282 814287 - AmpersandToken 814287 814289 - PropertyAccessExpression 814289 814313 - Identifier 814289 814299 - Identifier 814300 814313 - AmpersandAmpersandToken 814313 814333 - BinaryExpression 814333 814424 - PropertyAccessExpression 814333 814398 - PropertyAccessExpression 814333 814392 - ParenthesizedExpression 814333 814381 - AsExpression 814335 814380 - PropertyAccessExpression 814335 814359 - PropertyAccessExpression 814335 814354 - Identifier 814335 814339 - Identifier 814340 814354 - Identifier 814355 814359 - TypeReference 814362 814380 - Identifier 814362 814380 - Identifier 814382 814392 - Identifier 814393 814398 - AmpersandToken 814398 814400 - PropertyAccessExpression 814400 814424 - Identifier 814400 814410 - Identifier 814411 814424 - AmpersandAmpersandToken 814424 814444 - BinaryExpression 814444 814534 - PropertyAccessExpression 814444 814508 - PropertyAccessExpression 814444 814502 - ParenthesizedExpression 814444 814492 - AsExpression 814446 814491 - PropertyAccessExpression 814446 814470 - PropertyAccessExpression 814446 814465 - Identifier 814446 814450 - Identifier 814451 814465 - Identifier 814466 814470 - TypeReference 814473 814491 - Identifier 814473 814491 - Identifier 814493 814502 - Identifier 814503 814508 - AmpersandToken 814508 814510 - PropertyAccessExpression 814510 814534 - Identifier 814510 814520 - Identifier 814521 814534 - Block 814549 815362 - VariableStatement 814551 815025 - VariableDeclarationList 814551 815024 - VariableDeclaration 814950 815024 - Identifier 814950 814963 - PropertyAccessExpression 814965 815024 - ParenthesizedExpression 814965 815013 - AsExpression 814967 815012 - PropertyAccessExpression 814967 814991 - PropertyAccessExpression 814967 814986 - Identifier 814967 814971 - Identifier 814972 814986 - Identifier 814987 814991 - TypeReference 814994 815012 - Identifier 814994 815012 - Identifier 815014 815024 - VariableStatement 815025 815175 - VariableDeclarationList 815025 815174 - VariableDeclaration 815048 815174 - Identifier 815048 815062 - CallExpression 815064 815174 - Identifier 815064 815085 - PropertyAccessExpression 815086 815101 - Identifier 815086 815090 - Identifier 815091 815101 - AsExpression 815102 815159 - PropertyAccessExpression 815102 815127 - PropertyAccessExpression 815102 815122 - Identifier 815102 815107 - Identifier 815108 815122 - Identifier 815123 815127 - TypeReference 815130 815159 - Identifier 815130 815159 - Identifier 815160 815173 - ExpressionStatement 815175 815253 - BinaryExpression 815175 815252 - PropertyAccessExpression 815175 815222 - PropertyAccessExpression 815175 815211 - Identifier 815175 815205 - Identifier 815206 815211 - Identifier 815212 815222 - EqualsToken 815222 815224 - AsExpression 815224 815252 - Identifier 815224 815238 - TypeReference 815241 815252 - Identifier 815241 815252 - ExpressionStatement 815253 815347 - BinaryExpression 815253 815346 - PropertyAccessExpression 815253 815304 - PropertyAccessExpression 815253 815289 - Identifier 815253 815283 - Identifier 815284 815289 - Identifier 815290 815304 - EqualsToken 815304 815306 - AsExpression 815306 815346 - CallExpression 815306 815333 - Identifier 815306 815319 - Identifier 815320 815332 - TypeReference 815336 815346 - Identifier 815336 815346 - Block 815380 815537 - ExpressionStatement 815382 815448 - BinaryExpression 815382 815447 - PropertyAccessExpression 815382 815429 - PropertyAccessExpression 815382 815418 - Identifier 815382 815412 - Identifier 815413 815418 - Identifier 815419 815429 - EqualsToken 815429 815431 - PropertyAccessExpression 815431 815447 - Identifier 815431 815436 - Identifier 815437 815447 - ExpressionStatement 815448 815522 - BinaryExpression 815448 815521 - PropertyAccessExpression 815448 815499 - PropertyAccessExpression 815448 815484 - Identifier 815448 815478 - Identifier 815479 815484 - Identifier 815485 815499 - EqualsToken 815499 815501 - PropertyAccessExpression 815501 815521 - Identifier 815501 815506 - Identifier 815507 815521 - ExpressionStatement 815537 815595 - CallExpression 815537 815594 - PropertyAccessExpression 815537 815562 - Identifier 815537 815558 - Identifier 815559 815562 - PropertyAccessExpression 815563 815579 - Identifier 815563 815567 - Identifier 815568 815579 - Identifier 815580 815593 - ExpressionStatement 815606 815692 - CallExpression 815606 815691 - Identifier 815606 815640 - Identifier 815641 815645 - Identifier 815646 815654 - Identifier 815655 815666 - Identifier 815667 815678 - Identifier 815679 815690 - FunctionDeclaration 815699 817660 - Identifier 815982 816005 - Parameter 816006 816016 - Identifier 816006 816010 - TypeReference 816011 816016 - Identifier 816011 816016 - TypeReference 816018 816023 - Identifier 816018 816023 - Block 816023 817660 - IfStatement 816025 816237 - BinaryExpression 816039 816067 - PropertyAccessExpression 816039 816049 - Identifier 816039 816043 - Identifier 816044 816049 - AmpersandToken 816049 816051 - PropertyAccessExpression 816051 816067 - Identifier 816051 816061 - Identifier 816062 816067 - Block 816068 816237 - VariableStatement 816070 816136 - VariableDeclarationList 816070 816135 - VariableDeclaration 816089 816135 - Identifier 816089 816091 - CallExpression 816093 816135 - Identifier 816093 816109 - PropertyAccessExpression 816110 816134 - ParenthesizedExpression 816110 816129 - AsExpression 816111 816128 - Identifier 816111 816115 - TypeReference 816118 816128 - Identifier 816118 816128 - Identifier 816130 816134 - ReturnStatement 816136 816226 - ConditionalExpression 816156 816225 - CallExpression 816156 816178 - Identifier 816156 816175 - Identifier 816176 816177 - QuestionToken 816178 816180 - CallExpression 816180 816207 - Identifier 816180 816204 - Identifier 816205 816206 - ColonToken 816207 816209 - CallExpression 816209 816225 - Identifier 816209 816222 - Identifier 816223 816224 - IfStatement 816237 816836 - BinaryExpression 816251 816285 - PropertyAccessExpression 816251 816261 - Identifier 816251 816255 - Identifier 816256 816261 - AmpersandToken 816261 816263 - PropertyAccessExpression 816263 816285 - Identifier 816263 816273 - Identifier 816274 816285 - Block 816286 816836 - IfStatement 816288 816799 - PropertyAccessExpression 816306 816351 - PropertyAccessExpression 816306 816336 - ParenthesizedExpression 816306 816331 - AsExpression 816307 816330 - Identifier 816307 816311 - TypeReference 816314 816330 - Identifier 816314 816330 - Identifier 816332 816336 - Identifier 816337 816351 - Block 816352 816799 - VariableStatement 816354 816426 - VariableDeclarationList 816354 816425 - VariableDeclaration 816377 816425 - Identifier 816377 816387 - PropertyAccessExpression 816389 816425 - ParenthesizedExpression 816389 816415 - AsExpression 816391 816414 - Identifier 816391 816395 - TypeReference 816398 816414 - Identifier 816398 816414 - Identifier 816416 816425 - VariableStatement 816426 816497 - VariableDeclarationList 816426 816496 - VariableDeclaration 816449 816496 - Identifier 816449 816460 - CallExpression 816462 816496 - Identifier 816462 816485 - Identifier 816486 816495 - IfStatement 816497 816784 - BinaryExpression 816519 816543 - Identifier 816519 816529 - ExclamationEqualsEqualsToken 816529 816533 - Identifier 816533 816543 - Block 816544 816784 - ReturnStatement 816546 816765 - CallExpression 816574 816764 - Identifier 816574 816606 - AsExpression 816607 816630 - Identifier 816607 816611 - TypeReference 816614 816630 - Identifier 816614 816630 - CallExpression 816631 816738 - Identifier 816631 816650 - PropertyAccessExpression 816651 816691 - PropertyAccessExpression 816651 816681 - ParenthesizedExpression 816651 816676 - AsExpression 816652 816675 - Identifier 816652 816656 - TypeReference 816659 816675 - Identifier 816659 816675 - Identifier 816677 816681 - Identifier 816682 816691 - Identifier 816692 816703 - PropertyAccessExpression 816704 816737 - ParenthesizedExpression 816704 816730 - AsExpression 816706 816729 - Identifier 816706 816710 - TypeReference 816713 816729 - Identifier 816713 816729 - Identifier 816731 816737 - FalseKeyword 816739 816763 - ReturnStatement 816799 816825 - Identifier 816819 816824 - IfStatement 816836 816987 - BinaryExpression 816850 816878 - PropertyAccessExpression 816850 816860 - Identifier 816850 816854 - Identifier 816855 816860 - AmpersandToken 816860 816862 - PropertyAccessExpression 816862 816878 - Identifier 816862 816872 - Identifier 816873 816878 - Block 816879 816987 - ReturnStatement 816881 816976 - CallExpression 816901 816975 - Identifier 816901 816909 - AsExpression 816910 816927 - Identifier 816910 816914 - TypeReference 816917 816927 - Identifier 816917 816927 - Identifier 816928 816951 - TrueKeyword 816952 816974 - IfStatement 816987 817631 - BinaryExpression 817001 817036 - PropertyAccessExpression 817001 817011 - Identifier 817001 817005 - Identifier 817006 817011 - AmpersandToken 817011 817013 - PropertyAccessExpression 817013 817036 - Identifier 817013 817023 - Identifier 817024 817036 - Block 817037 817631 - VariableStatement 817039 817317 - VariableDeclarationList 817039 817316 - VariableDeclaration 817275 817316 - Identifier 817275 817281 - PropertyAccessExpression 817283 817316 - ParenthesizedExpression 817283 817310 - AsExpression 817285 817309 - Identifier 817285 817289 - TypeReference 817292 817309 - Identifier 817292 817309 - Identifier 817311 817316 - IfStatement 817317 817519 - BinaryExpression 817335 817471 - BinaryExpression 817335 817434 - BinaryExpression 817335 817353 - PropertyAccessExpression 817335 817347 - Identifier 817335 817340 - Identifier 817341 817347 - EqualsEqualsEqualsToken 817347 817351 - NumericLiteral 817351 817353 - AmpersandAmpersandToken 817353 817356 - PrefixUnaryExpression 817356 817434 - PrefixUnaryExpression 817358 817434 - ParenthesizedExpression 817359 817434 - BinaryExpression 817360 817433 - PropertyAccessExpression 817360 817374 - ElementAccessExpression 817360 817368 - Identifier 817360 817365 - NumericLiteral 817366 817367 - Identifier 817369 817374 - AmpersandToken 817374 817376 - ParenthesizedExpression 817376 817433 - BinaryExpression 817378 817432 - BinaryExpression 817378 817413 - PropertyAccessExpression 817378 817394 - Identifier 817378 817387 - Identifier 817388 817394 - BarToken 817394 817396 - PropertyAccessExpression 817396 817413 - Identifier 817396 817406 - Identifier 817407 817413 - BarToken 817413 817415 - PropertyAccessExpression 817415 817432 - Identifier 817415 817425 - Identifier 817426 817432 - AmpersandAmpersandToken 817434 817437 - BinaryExpression 817437 817471 - ElementAccessExpression 817437 817446 - Identifier 817437 817443 - NumericLiteral 817444 817445 - EqualsEqualsEqualsToken 817446 817450 - Identifier 817450 817471 - Block 817472 817519 - ReturnStatement 817474 817504 - Identifier 817498 817503 - ReturnStatement 817519 817620 - CallExpression 817539 817619 - Identifier 817539 817559 - CallExpression 817560 817618 - Identifier 817560 817567 - PropertyAccessExpression 817568 817593 - ParenthesizedExpression 817568 817587 - AsExpression 817569 817586 - Identifier 817569 817573 - TypeReference 817576 817586 - Identifier 817576 817586 - Identifier 817588 817593 - Identifier 817594 817617 - ReturnStatement 817631 817653 - Identifier 817647 817652 - FunctionDeclaration 817660 817779 - Identifier 817676 817695 - Parameter 817696 817705 - Identifier 817696 817697 - TypeReference 817698 817705 - Identifier 817698 817705 - TypeReference 817707 817718 - Identifier 817707 817718 - Block 817718 817779 - ReturnStatement 817720 817772 - BinaryExpression 817736 817771 - CallExpression 817736 817753 - Identifier 817736 817750 - Identifier 817751 817752 - AmpersandToken 817753 817755 - PropertyAccessExpression 817755 817771 - Identifier 817755 817766 - Identifier 817767 817771 - FunctionDeclaration 817779 818424 - Identifier 817795 817852 - Parameter 817853 817863 - Identifier 817853 817857 - TypeReference 817858 817863 - Identifier 817858 817863 - Parameter 817864 817883 - Identifier 817864 817872 - TypeReference 817873 817883 - Identifier 817873 817883 - Parameter 817884 817905 - Identifier 817884 817896 - BooleanKeyword 817897 817905 - Parameter 817906 817934 - Identifier 817906 817909 - FunctionType 817910 817934 - Parameter 817912 817925 - Identifier 817912 817919 - TypeReference 817920 817925 - Identifier 817920 817925 - VoidKeyword 817929 817934 - Block 817935 818424 - ForOfStatement 817937 818065 - VariableDeclarationList 817952 817962 - VariableDeclaration 817957 817962 - Identifier 817957 817962 - CallExpression 817965 817991 - Identifier 817965 817985 - Identifier 817986 817990 - Block 817992 818065 - ExpressionStatement 817994 818054 - CallExpression 817994 818053 - Identifier 817994 818010 - CallExpression 818011 818052 - Identifier 818011 818037 - Identifier 818038 818042 - Identifier 818043 818051 - IfStatement 818065 818417 - BinaryExpression 818079 818105 - PropertyAccessExpression 818079 818089 - Identifier 818079 818083 - Identifier 818084 818089 - AmpersandToken 818089 818091 - PropertyAccessExpression 818091 818105 - Identifier 818091 818101 - Identifier 818102 818105 - Block 818106 818148 - ExpressionStatement 818108 818137 - CallExpression 818108 818136 - Identifier 818108 818124 - Identifier 818125 818135 - Block 818162 818417 - ForOfStatement 818164 818406 - VariableDeclarationList 818183 818193 - VariableDeclaration 818188 818193 - Identifier 818188 818193 - CallExpression 818196 818222 - Identifier 818196 818216 - Identifier 818217 818221 - Block 818223 818406 - IfStatement 818225 818391 - BinaryExpression 818247 818330 - PrefixUnaryExpression 818247 818259 - Identifier 818248 818259 - BarBarToken 818259 818262 - BinaryExpression 818262 818330 - PropertyAccessExpression 818262 818281 - PropertyAccessExpression 818262 818275 - Identifier 818262 818267 - Identifier 818268 818275 - Identifier 818276 818281 - AmpersandToken 818281 818283 - ParenthesizedExpression 818283 818330 - BinaryExpression 818285 818329 - PropertyAccessExpression 818285 818301 - Identifier 818285 818294 - Identifier 818295 818301 - BarToken 818301 818303 - PropertyAccessExpression 818303 818329 - Identifier 818303 818313 - Identifier 818314 818329 - Block 818331 818391 - ExpressionStatement 818333 818372 - CallExpression 818333 818371 - Identifier 818333 818357 - PropertyAccessExpression 818358 818370 - Identifier 818358 818362 - Identifier 818363 818370 - FunctionDeclaration 818424 824120 - Identifier 818505 818530 - Parameter 818531 818547 - Identifier 818531 818535 - TypeReference 818536 818547 - Identifier 818536 818547 - Block 818548 824120 - VariableStatement 818550 818609 - VariableDeclarationList 818550 818608 - VariableDeclaration 818565 818608 - Identifier 818565 818573 - TypeReference 818574 818586 - Identifier 818574 818586 - CallExpression 818588 818608 - Identifier 818588 818606 - VariableStatement 818609 818659 - VariableDeclarationList 818609 818658 - VariableDeclaration 818622 818658 - Identifier 818622 818633 - UnionType 818634 818658 - ArrayType 818634 818646 - TypeReference 818634 818644 - Identifier 818634 818644 - UndefinedKeyword 818648 818658 - ExpressionStatement 818659 818835 - CallExpression 818659 818834 - Identifier 818659 818778 - Identifier 818779 818783 - Identifier 818784 818797 - Identifier 818798 818809 - Identifier 818810 818821 - Identifier 818822 818833 - VariableStatement 818835 819044 - VariableDeclarationList 818835 819043 - VariableDeclaration 818990 819043 - Identifier 818990 819004 - CallExpression 819006 819043 - Identifier 819006 819037 - Identifier 819038 819042 - VariableStatement 819044 819115 - VariableDeclarationList 819044 819114 - VariableDeclaration 819059 819114 - Identifier 819059 819074 - CallExpression 819076 819114 - Identifier 819076 819108 - Identifier 819109 819113 - VariableStatement 819115 819180 - VariableDeclarationList 819115 819179 - VariableDeclaration 819130 819179 - Identifier 819130 819141 - BinaryExpression 819143 819179 - ParenthesizedExpression 819143 819171 - AsExpression 819145 819170 - PropertyAccessExpression 819145 819156 - Identifier 819145 819149 - Identifier 819150 819156 - TypeReference 819159 819170 - Identifier 819159 819170 - BarBarToken 819171 819174 - Identifier 819174 819179 - VariableStatement 819180 819245 - VariableDeclarationList 819180 819244 - VariableDeclaration 819195 819244 - Identifier 819195 819204 - CallExpression 819206 819244 - Identifier 819206 819232 - Identifier 819233 819243 - VariableStatement 819245 819365 - VariableDeclarationList 819245 819364 - VariableDeclaration 819260 819364 - Identifier 819260 819287 - BinaryExpression 819289 819364 - CallExpression 819289 819327 - Identifier 819289 819315 - Identifier 819316 819326 - ExclamationEqualsEqualsToken 819327 819331 - PropertyAccessExpression 819331 819364 - Identifier 819331 819354 - Identifier 819355 819364 - VariableStatement 819365 819438 - VariableDeclarationList 819365 819437 - VariableDeclaration 819380 819437 - Identifier 819380 819393 - CallExpression 819395 819437 - Identifier 819395 819425 - Identifier 819426 819436 - VariableStatement 819438 819524 - VariableDeclarationList 819438 819523 - VariableDeclaration 819453 819523 - Identifier 819453 819467 - CallExpression 819469 819523 - Identifier 819469 819485 - CallExpression 819486 819522 - Identifier 819486 819516 - Identifier 819517 819521 - VariableStatement 819524 819613 - VariableDeclarationList 819524 819612 - VariableDeclaration 819563 819612 - Identifier 819563 819581 - CallExpression 819583 819612 - Identifier 819583 819606 - Identifier 819607 819611 - VariableStatement 819613 819679 - VariableDeclarationList 819613 819678 - VariableDeclaration 819628 819678 - Identifier 819628 819636 - PropertyAccessExpression 819638 819678 - Identifier 819638 819648 - Identifier 819649 819678 - IfStatement 819679 820056 - CallExpression 819693 819741 - Identifier 819693 819735 - Identifier 819736 819740 - Block 819742 819942 - ExpressionStatement 819744 819931 - CallExpression 819744 819930 - Identifier 819744 819862 - Identifier 819863 819876 - Identifier 819877 819885 - FalseKeyword 819886 819908 - Identifier 819909 819929 - Block 819956 820056 - ExpressionStatement 819958 820045 - CallExpression 819958 820044 - Identifier 819958 819983 - CallExpression 819984 820022 - Identifier 819984 820006 - Identifier 820007 820021 - Identifier 820023 820043 - ExpressionStatement 820056 820156 - CallExpression 820056 820155 - Identifier 820056 820090 - Identifier 820091 820095 - Identifier 820096 820104 - Identifier 820105 820116 - Identifier 820117 820128 - BinaryExpression 820129 820154 - Identifier 820129 820140 - BarBarToken 820140 820143 - Identifier 820143 820154 - FunctionDeclaration 820156 820446 - Identifier 820176 820196 - Parameter 820197 820210 - Identifier 820197 820204 - TypeReference 820205 820210 - Identifier 820205 820210 - Block 820211 820446 - VariableStatement 820213 820351 - VariableDeclarationList 820213 820350 - VariableDeclaration 820232 820350 - Identifier 820232 820245 - ConditionalExpression 820247 820350 - Identifier 820247 820256 - QuestionToken 820256 820258 - CallExpression 820258 820340 - Identifier 820258 820274 - Identifier 820275 820283 - CallExpression 820284 820339 - Identifier 820284 820302 - PropertyAccessExpression 820303 820314 - Identifier 820303 820307 - Identifier 820308 820314 - Identifier 820315 820329 - Identifier 820330 820338 - ColonToken 820340 820342 - Identifier 820342 820350 - ExpressionStatement 820351 820435 - CallExpression 820351 820434 - Identifier 820351 820376 - Identifier 820377 820389 - ArrowFunction 820390 820433 - Parameter 820390 820392 - Identifier 820390 820392 - EqualsGreaterThanToken 820392 820395 - CallExpression 820395 820433 - Identifier 820395 820421 - Identifier 820422 820429 - Identifier 820430 820432 - FunctionDeclaration 820446 824113 - Identifier 820466 820492 - Parameter 820493 820506 - Identifier 820493 820500 - TypeReference 820501 820506 - Identifier 820501 820506 - Parameter 820507 820526 - Identifier 820507 820520 - TypeReference 820521 820526 - Identifier 820521 820526 - Block 820527 824113 - IfStatement 820529 824102 - CallExpression 820726 820766 - Identifier 820726 820752 - Identifier 820753 820765 - Block 820767 823128 - VariableStatement 820769 820842 - VariableDeclarationList 820769 820841 - VariableDeclaration 820792 820841 - Identifier 820792 820801 - CallExpression 820803 820841 - Identifier 820803 820827 - Identifier 820828 820840 - VariableStatement 820842 821189 - VariableDeclarationList 820842 821188 - VariableDeclaration 821123 821188 - Identifier 821123 821136 - AsExpression 821138 821188 - CallExpression 821138 821160 - PropertyAccessExpression 821138 821150 - Identifier 821138 821146 - Identifier 821147 821150 - Identifier 821151 821159 - UnionType 821163 821188 - TypeReference 821163 821176 - Identifier 821163 821176 - UndefinedKeyword 821178 821188 - IfStatement 821189 823113 - Identifier 821211 821223 - Block 821224 821459 - ExpressionStatement 821226 821337 - BinaryExpression 821226 821336 - PropertyAccessExpression 821226 821275 - PropertyAccessExpression 821226 821266 - Identifier 821226 821260 - Identifier 821261 821266 - Identifier 821267 821275 - EqualsToken 821275 821277 - CallExpression 821277 821336 - Identifier 821277 821290 - ArrayLiteralExpression 821291 821335 - NonNullExpression 821292 821320 - PropertyAccessExpression 821292 821319 - PropertyAccessExpression 821292 821310 - Identifier 821292 821304 - Identifier 821305 821310 - Identifier 821311 821319 - Identifier 821321 821334 - ExpressionStatement 821337 821440 - BinaryExpression 821337 821439 - PropertyAccessExpression 821337 821385 - PropertyAccessExpression 821337 821377 - Identifier 821337 821371 - Identifier 821372 821377 - Identifier 821378 821385 - EqualsToken 821385 821387 - CallExpression 821387 821439 - Identifier 821387 821400 - ArrayLiteralExpression 821401 821438 - PropertyAccessExpression 821402 821428 - PropertyAccessExpression 821402 821420 - Identifier 821402 821414 - Identifier 821415 821420 - Identifier 821421 821428 - Identifier 821429 821437 - Block 821481 823113 - VariableStatement 821483 821644 - VariableDeclarationList 821483 821643 - VariableDeclaration 821510 821643 - Identifier 821510 821524 - ConditionalExpression 821526 821643 - CallExpression 821526 821562 - Identifier 821526 821553 - Identifier 821554 821561 - QuestionToken 821562 821564 - CallExpression 821564 821631 - Identifier 821564 821582 - Identifier 821583 821596 - CallExpression 821597 821630 - Identifier 821597 821621 - Identifier 821622 821629 - ColonToken 821631 821633 - Identifier 821633 821643 - VariableStatement 821644 821895 - VariableDeclarationList 821644 821894 - VariableDeclaration 821671 821894 - Identifier 821671 821682 - PrefixUnaryExpression 821684 821894 - PrefixUnaryExpression 821686 821894 - ParenthesizedExpression 821687 821894 - BinaryExpression 821688 821893 - BinaryExpression 821688 821743 - Identifier 821688 821705 - AmpersandToken 821705 821707 - PropertyAccessExpression 821707 821743 - Identifier 821707 821727 - Identifier 821728 821743 - BarBarToken 821743 821746 - BinaryExpression 821746 821893 - BinaryExpression 821746 821847 - PrefixUnaryExpression 821746 821830 - ParenthesizedExpression 821773 821830 - BinaryExpression 821774 821829 - Identifier 821774 821791 - AmpersandToken 821791 821793 - PropertyAccessExpression 821793 821829 - Identifier 821793 821813 - Identifier 821814 821829 - AmpersandAmpersandToken 821830 821833 - Identifier 821833 821847 - AmpersandAmpersandToken 821847 821850 - BinaryExpression 821850 821893 - PropertyAccessExpression 821850 821870 - Identifier 821850 821864 - Identifier 821865 821870 - AmpersandToken 821870 821872 - PropertyAccessExpression 821872 821893 - Identifier 821872 821884 - Identifier 821885 821893 - VariableStatement 821895 822135 - VariableDeclarationList 821895 822134 - VariableDeclaration 821922 822134 - Identifier 821922 821933 - PrefixUnaryExpression 821935 822134 - PrefixUnaryExpression 821937 822134 - ParenthesizedExpression 821938 822134 - BinaryExpression 821939 822133 - BinaryExpression 821939 821994 - Identifier 821939 821956 - AmpersandToken 821956 821958 - PropertyAccessExpression 821958 821994 - Identifier 821958 821978 - Identifier 821979 821994 - BarBarToken 821994 821997 - BinaryExpression 821997 822133 - BinaryExpression 821997 822098 - PrefixUnaryExpression 821997 822081 - ParenthesizedExpression 822024 822081 - BinaryExpression 822025 822080 - Identifier 822025 822042 - AmpersandToken 822042 822044 - PropertyAccessExpression 822044 822080 - Identifier 822044 822064 - Identifier 822065 822080 - AmpersandAmpersandToken 822081 822084 - Identifier 822084 822098 - AmpersandAmpersandToken 822098 822101 - CallExpression 822101 822133 - Identifier 822101 822118 - Identifier 822119 822132 - VariableStatement 822135 822274 - VariableDeclarationList 822135 822273 - VariableDeclaration 822162 822273 - Identifier 822162 822176 - BinaryExpression 822178 822273 - BinaryExpression 822178 822227 - BinaryExpression 822178 822210 - Identifier 822178 822195 - AmpersandAmpersandToken 822195 822198 - PrefixUnaryExpression 822198 822210 - Identifier 822200 822210 - AmpersandAmpersandToken 822210 822213 - Identifier 822213 822227 - AmpersandAmpersandToken 822227 822230 - BinaryExpression 822230 822273 - PropertyAccessExpression 822230 822250 - Identifier 822230 822244 - Identifier 822245 822250 - AmpersandToken 822250 822252 - PropertyAccessExpression 822252 822273 - Identifier 822252 822264 - Identifier 822265 822273 - VariableStatement 822274 822379 - VariableDeclarationList 822274 822378 - VariableDeclaration 822301 822378 - Identifier 822301 822310 - TypeReference 822311 822322 - Identifier 822311 822322 - ConditionalExpression 822324 822378 - Identifier 822324 822338 - QuestionToken 822338 822340 - CallExpression 822340 822374 - Identifier 822340 822359 - Identifier 822360 822373 - ColonToken 822374 822376 - NumericLiteral 822376 822378 - VariableStatement 822379 822637 - VariableDeclarationList 822379 822636 - VariableDeclaration 822406 822636 - Identifier 822406 822411 - AsExpression 822413 822636 - CallExpression 822413 822620 - Identifier 822413 822426 - BinaryExpression 822427 822489 - PropertyAccessExpression 822427 822447 - Identifier 822427 822438 - Identifier 822439 822447 - BarToken 822447 822449 - ParenthesizedExpression 822449 822489 - ConditionalExpression 822451 822488 - Identifier 822451 822461 - QuestionToken 822461 822463 - PropertyAccessExpression 822463 822484 - Identifier 822463 822475 - Identifier 822476 822484 - ColonToken 822484 822486 - NumericLiteral 822486 822488 - Identifier 822490 822499 - BinaryExpression 822500 822619 - BinaryExpression 822500 822570 - BinaryExpression 822500 822529 - Identifier 822500 822509 - BarToken 822509 822511 - PropertyAccessExpression 822511 822529 - Identifier 822511 822522 - Identifier 822523 822529 - BarToken 822529 822531 - ParenthesizedExpression 822531 822570 - ConditionalExpression 822533 822569 - Identifier 822533 822543 - QuestionToken 822543 822545 - PropertyAccessExpression 822545 822565 - Identifier 822545 822556 - Identifier 822557 822565 - ColonToken 822565 822567 - NumericLiteral 822567 822569 - BarToken 822570 822572 - ParenthesizedExpression 822572 822619 - ConditionalExpression 822574 822618 - Identifier 822574 822587 - QuestionToken 822587 822589 - PropertyAccessExpression 822589 822614 - Identifier 822589 822600 - Identifier 822601 822614 - ColonToken 822614 822616 - NumericLiteral 822616 822618 - TypeReference 822623 822636 - Identifier 822623 822636 - ExpressionStatement 822637 822688 - BinaryExpression 822637 822687 - PropertyAccessExpression 822637 822680 - PropertyAccessExpression 822637 822669 - Identifier 822637 822663 - Identifier 822664 822669 - Identifier 822670 822680 - EqualsToken 822680 822682 - Identifier 822682 822687 - ExpressionStatement 822688 822745 - BinaryExpression 822688 822744 - PropertyAccessExpression 822688 822729 - PropertyAccessExpression 822688 822720 - Identifier 822688 822714 - Identifier 822715 822720 - Identifier 822721 822729 - EqualsToken 822729 822731 - Identifier 822731 822744 - ExpressionStatement 822745 822796 - BinaryExpression 822745 822795 - PropertyAccessExpression 822745 822785 - PropertyAccessExpression 822745 822777 - Identifier 822745 822771 - Identifier 822772 822777 - Identifier 822778 822785 - EqualsToken 822785 822787 - Identifier 822787 822795 - IfStatement 822796 823044 - Identifier 822822 822835 - Block 822836 823044 - ExpressionStatement 822838 822907 - BinaryExpression 822838 822906 - PropertyAccessExpression 822838 822890 - PropertyAccessExpression 822838 822874 - Identifier 822838 822868 - Identifier 822869 822874 - Identifier 822875 822890 - EqualsToken 822890 822892 - Identifier 822892 822906 - ExpressionStatement 822907 823021 - BinaryExpression 822907 823020 - PropertyAccessExpression 822907 822950 - Identifier 822907 822937 - Identifier 822938 822950 - EqualsToken 822950 822952 - ConditionalExpression 822952 823020 - Identifier 822952 822979 - QuestionToken 822979 822981 - PropertyAccessExpression 822981 823008 - Identifier 822981 822995 - Identifier 822996 823008 - ColonToken 823008 823010 - Identifier 823010 823020 - ExpressionStatement 823044 823094 - CallExpression 823044 823093 - PropertyAccessExpression 823044 823077 - Identifier 823044 823073 - Identifier 823074 823077 - Identifier 823078 823086 - Identifier 823087 823092 - IfStatement 823146 824102 - BinaryExpression 823151 823241 - CallExpression 823151 823184 - Identifier 823151 823170 - Identifier 823171 823183 - BarBarToken 823184 823187 - BinaryExpression 823187 823241 - PropertyAccessExpression 823187 823206 - Identifier 823187 823200 - Identifier 823201 823206 - AmpersandToken 823206 823208 - ParenthesizedExpression 823208 823241 - BinaryExpression 823210 823240 - PropertyAccessExpression 823210 823223 - Identifier 823210 823219 - Identifier 823220 823223 - BarToken 823223 823225 - PropertyAccessExpression 823225 823240 - Identifier 823225 823235 - Identifier 823236 823240 - Block 823242 824102 - VariableStatement 823244 823481 - VariableDeclarationList 823244 823480 - VariableDeclaration 823267 823480 - Identifier 823267 823280 - ConditionalExpression 823282 823480 - BinaryExpression 823282 823338 - PropertyAccessExpression 823282 823301 - Identifier 823282 823295 - Identifier 823296 823301 - AmpersandToken 823301 823303 - ParenthesizedExpression 823303 823338 - BinaryExpression 823305 823337 - PropertyAccessExpression 823305 823318 - Identifier 823305 823314 - Identifier 823315 823318 - BarToken 823318 823320 - PropertyAccessExpression 823320 823337 - Identifier 823320 823330 - Identifier 823331 823337 - QuestionToken 823338 823340 - Identifier 823340 823351 - ColonToken 823351 823353 - ConditionalExpression 823353 823480 - BinaryExpression 823353 823431 - PropertyAccessExpression 823353 823393 - Identifier 823353 823387 - Identifier 823388 823393 - AmpersandToken 823393 823395 - ParenthesizedExpression 823395 823431 - BinaryExpression 823397 823430 - PropertyAccessExpression 823397 823413 - Identifier 823397 823406 - Identifier 823407 823413 - BarToken 823413 823415 - PropertyAccessExpression 823415 823430 - Identifier 823415 823425 - Identifier 823426 823430 - QuestionToken 823431 823433 - Identifier 823433 823444 - ColonToken 823444 823446 - Identifier 823446 823480 - VariableStatement 823481 823602 - VariableDeclarationList 823481 823601 - VariableDeclaration 823504 823601 - Identifier 823504 823513 - CallExpression 823515 823601 - Identifier 823515 823531 - Identifier 823532 823544 - CallExpression 823545 823600 - Identifier 823545 823563 - PropertyAccessExpression 823564 823575 - Identifier 823564 823568 - Identifier 823569 823575 - Identifier 823576 823590 - Identifier 823591 823599 - VariableStatement 823602 823699 - VariableDeclarationList 823602 823698 - VariableDeclaration 823625 823698 - Identifier 823625 823644 - CallExpression 823646 823698 - Identifier 823646 823669 - Identifier 823670 823683 - Identifier 823684 823697 - VariableStatement 823699 823913 - VariableDeclarationList 823699 823912 - VariableDeclaration 823722 823912 - Identifier 823722 823733 - PrefixUnaryExpression 823735 823912 - PrefixUnaryExpression 823737 823912 - ParenthesizedExpression 823738 823912 - BinaryExpression 823739 823911 - BinaryExpression 823739 823794 - Identifier 823739 823756 - AmpersandToken 823756 823758 - PropertyAccessExpression 823758 823794 - Identifier 823758 823778 - Identifier 823779 823794 - BarBarToken 823794 823797 - BinaryExpression 823797 823911 - PrefixUnaryExpression 823797 823877 - ParenthesizedExpression 823820 823877 - BinaryExpression 823821 823876 - Identifier 823821 823838 - AmpersandToken 823838 823840 - PropertyAccessExpression 823840 823876 - Identifier 823840 823860 - Identifier 823861 823876 - AmpersandAmpersandToken 823877 823880 - PropertyAccessExpression 823880 823911 - Identifier 823880 823899 - QuestionDotToken 823899 823901 - Identifier 823901 823911 - VariableStatement 823913 824001 - VariableDeclarationList 823913 824000 - VariableDeclaration 823936 824000 - Identifier 823936 823946 - CallExpression 823948 824000 - Identifier 823948 823964 - Identifier 823965 823977 - Identifier 823978 823987 - Identifier 823988 823999 - ExpressionStatement 824001 824087 - BinaryExpression 824001 824086 - Identifier 824001 824029 - EqualsToken 824029 824031 - CallExpression 824031 824086 - Identifier 824031 824047 - Identifier 824048 824058 - Identifier 824059 824069 - TrueKeyword 824070 824085 - FunctionDeclaration 824120 825792 - Identifier 824136 824158 - Parameter 824159 824179 - Identifier 824159 824165 - TypeReference 824166 824179 - Identifier 824166 824179 - Block 824180 825792 - IfStatement 824182 825750 - PrefixUnaryExpression 824196 824214 - PropertyAccessExpression 824197 824214 - PropertyAccessExpression 824197 824209 - Identifier 824197 824203 - Identifier 824204 824209 - Identifier 824210 824214 - Block 824215 825750 - VariableStatement 824217 824274 - VariableDeclarationList 824217 824273 - VariableDeclaration 824236 824273 - Identifier 824236 824247 - PropertyAccessExpression 824249 824273 - PropertyAccessExpression 824249 824262 - Identifier 824249 824256 - Identifier 824257 824262 - Identifier 824263 824273 - IfStatement 824274 824451 - PrefixUnaryExpression 824292 824348 - CallExpression 824293 824348 - Identifier 824293 824311 - Identifier 824312 824318 - PropertyAccessExpression 824319 824347 - Identifier 824319 824342 - Identifier 824343 824347 - Block 824349 824451 - ExpressionStatement 824351 824401 - BinaryExpression 824351 824400 - PropertyAccessExpression 824351 824393 - Identifier 824351 824379 - Identifier 824380 824393 - EqualsToken 824393 824395 - TrueKeyword 824395 824400 - ReturnStatement 824401 824436 - Identifier 824425 824435 - VariableStatement 824451 824563 - VariableDeclarationList 824451 824562 - VariableDeclaration 824470 824562 - Identifier 824470 824483 - CallExpression 824485 824562 - Identifier 824485 824515 - BinaryExpression 824516 824561 - AsExpression 824516 824547 - PropertyAccessExpression 824516 824533 - Identifier 824516 824526 - Identifier 824527 824533 - TypeReference 824536 824547 - Identifier 824536 824547 - BarBarToken 824547 824550 - Identifier 824550 824561 - VariableStatement 824563 824695 - VariableDeclarationList 824563 824694 - VariableDeclaration 824582 824694 - Identifier 824582 824589 - CallExpression 824591 824694 - Identifier 824591 824609 - PropertyAccessExpression 824610 824627 - Identifier 824610 824620 - Identifier 824621 824627 - CallExpression 824628 824671 - Identifier 824628 824659 - Identifier 824660 824670 - PropertyAccessExpression 824672 824693 - PropertyAccessExpression 824672 824685 - Identifier 824672 824679 - Identifier 824680 824685 - Identifier 824686 824693 - VariableStatement 824695 824764 - VariableDeclarationList 824695 824763 - VariableDeclaration 824714 824763 - Identifier 824714 824723 - CallExpression 824725 824763 - Identifier 824725 824741 - Identifier 824742 824754 - Identifier 824755 824762 - VariableStatement 824764 825442 - VariableDeclarationList 824764 825441 - VariableDeclaration 825122 825441 - Identifier 825122 825127 - ConditionalExpression 825129 825441 - BinaryExpression 825129 825253 - BinaryExpression 825129 825185 - Identifier 825129 825146 - AmpersandAmpersandToken 825146 825149 - BinaryExpression 825149 825185 - PropertyAccessExpression 825149 825162 - Identifier 825149 825156 - Identifier 825157 825162 - AmpersandToken 825162 825164 - PropertyAccessExpression 825164 825185 - Identifier 825164 825176 - Identifier 825177 825185 - AmpersandAmpersandToken 825185 825188 - PrefixUnaryExpression 825188 825253 - CallExpression 825190 825253 - Identifier 825190 825205 - Identifier 825206 825214 - BinaryExpression 825215 825252 - PropertyAccessExpression 825215 825235 - Identifier 825215 825225 - Identifier 825226 825235 - BarToken 825235 825237 - PropertyAccessExpression 825237 825252 - Identifier 825237 825247 - Identifier 825248 825252 - QuestionToken 825253 825255 - CallExpression 825255 825302 - Identifier 825255 825271 - Identifier 825272 825280 - TrueKeyword 825281 825301 - ColonToken 825302 825304 - ConditionalExpression 825304 825441 - BinaryExpression 825304 825372 - PropertyAccessExpression 825304 825345 - PropertyAccessExpression 825304 825334 - Identifier 825304 825328 - Identifier 825329 825334 - Identifier 825335 825345 - AmpersandToken 825345 825347 - PropertyAccessExpression 825347 825372 - Identifier 825347 825358 - Identifier 825359 825372 - QuestionToken 825372 825374 - CallExpression 825374 825413 - Identifier 825374 825403 - Identifier 825404 825412 - ColonToken 825413 825415 - Identifier 825415 825441 - IfStatement 825442 825698 - PrefixUnaryExpression 825460 825480 - CallExpression 825461 825480 - Identifier 825461 825478 - Block 825481 825698 - ExpressionStatement 825483 825648 - CallExpression 825483 825647 - Identifier 825483 825506 - Identifier 825507 825518 - PropertyAccessExpression 825519 825596 - Identifier 825519 825531 - Identifier 825532 825596 - CallExpression 825597 825620 - Identifier 825597 825612 - Identifier 825613 825619 - CallExpression 825621 825646 - Identifier 825621 825634 - Identifier 825635 825645 - ExpressionStatement 825648 825683 - BinaryExpression 825648 825682 - Identifier 825648 825670 - EqualsToken 825670 825672 - Identifier 825672 825682 - ExpressionStatement 825698 825739 - BinaryExpression 825698 825738 - PropertyAccessExpression 825698 825729 - PropertyAccessExpression 825698 825724 - Identifier 825698 825718 - Identifier 825719 825724 - Identifier 825725 825729 - QuestionQuestionEqualsToken 825729 825733 - Identifier 825733 825738 - ReturnStatement 825750 825785 - PropertyAccessExpression 825766 825784 - PropertyAccessExpression 825766 825779 - Identifier 825766 825773 - Identifier 825774 825779 - Identifier 825780 825784 - FunctionDeclaration 825792 826028 - Identifier 825808 825839 - Parameter 825840 825856 - Identifier 825840 825844 - TypeReference 825845 825856 - Identifier 825845 825856 - Block 825857 826028 - ReturnStatement 825859 826021 - BinaryExpression 825875 826020 - PropertyAccessExpression 825875 825894 - Identifier 825875 825880 - Identifier 825881 825894 - BarBarToken 825894 825897 - ParenthesizedExpression 825897 826020 - BinaryExpression 825912 826019 - PropertyAccessExpression 825912 825930 - Identifier 825912 825916 - Identifier 825917 825930 - EqualsToken 825930 825932 - CallExpression 825932 826019 - Identifier 825932 825963 - CallExpression 825964 826018 - Identifier 825964 825986 - PropertyAccessExpression 825987 826017 - PropertyAccessExpression 825987 826003 - Identifier 825987 825991 - Identifier 825992 826003 - Identifier 826004 826017 - FunctionDeclaration 826028 826260 - Identifier 826044 826076 - Parameter 826077 826093 - Identifier 826077 826081 - TypeReference 826082 826093 - Identifier 826082 826093 - Block 826094 826260 - ReturnStatement 826096 826253 - BinaryExpression 826112 826252 - PropertyAccessExpression 826112 826132 - Identifier 826112 826117 - Identifier 826118 826132 - BarBarToken 826132 826135 - ParenthesizedExpression 826135 826252 - BinaryExpression 826150 826251 - PropertyAccessExpression 826150 826169 - Identifier 826150 826154 - Identifier 826155 826169 - EqualsToken 826169 826171 - BinaryExpression 826171 826251 - CallExpression 826171 826238 - Identifier 826171 826200 - CallExpression 826201 826237 - Identifier 826201 826231 - Identifier 826232 826236 - BarBarToken 826238 826241 - Identifier 826241 826251 - FunctionDeclaration 826260 826524 - Identifier 826276 826302 - Parameter 826303 826319 - Identifier 826303 826307 - TypeReference 826308 826319 - Identifier 826308 826319 - Block 826320 826524 - ReturnStatement 826322 826517 - ConditionalExpression 826338 826516 - PropertyAccessExpression 826338 826364 - PropertyAccessExpression 826338 826355 - Identifier 826338 826343 - Identifier 826344 826355 - Identifier 826356 826364 - QuestionToken 826364 826366 - BinaryExpression 826366 826491 - PropertyAccessExpression 826366 826393 - Identifier 826366 826384 - Identifier 826385 826393 - BarBarToken 826393 826396 - ParenthesizedExpression 826396 826491 - BinaryExpression 826398 826490 - PropertyAccessExpression 826398 826411 - Identifier 826398 826402 - Identifier 826403 826411 - EqualsToken 826411 826413 - CallExpression 826413 826490 - Identifier 826413 826429 - CallExpression 826430 826476 - Identifier 826430 826449 - PropertyAccessExpression 826450 826475 - PropertyAccessExpression 826450 826466 - Identifier 826450 826454 - Identifier 826455 826466 - Identifier 826467 826475 - PropertyAccessExpression 826477 826489 - Identifier 826477 826482 - Identifier 826483 826489 - ColonToken 826491 826493 - Identifier 826493 826516 - FunctionDeclaration 826524 826922 - Identifier 826540 826570 - Parameter 826571 826587 - Identifier 826571 826575 - TypeReference 826576 826587 - Identifier 826576 826587 - Block 826588 826922 - ReturnStatement 826590 826915 - BinaryExpression 826606 826914 - PropertyAccessExpression 826606 826624 - Identifier 826606 826611 - Identifier 826612 826624 - BarBarToken 826624 826627 - ParenthesizedExpression 826627 826914 - BinaryExpression 826642 826913 - PropertyAccessExpression 826642 826659 - Identifier 826642 826646 - Identifier 826647 826659 - EqualsToken 826659 826661 - ConditionalExpression 826661 826913 - PropertyAccessExpression 826661 826683 - PropertyAccessExpression 826661 826678 - Identifier 826661 826666 - Identifier 826667 826678 - Identifier 826679 826683 - QuestionToken 826683 826685 - CallExpression 826685 826884 - Identifier 826685 826718 - CallExpression 826719 826870 - Identifier 826719 826733 - CallExpression 826734 826776 - Identifier 826734 826753 - PropertyAccessExpression 826754 826775 - PropertyAccessExpression 826754 826770 - Identifier 826754 826758 - Identifier 826759 826770 - Identifier 826771 826775 - TrueKeyword 826777 826797 - PrefixUnaryExpression 826798 826869 - PrefixUnaryExpression 826800 826869 - ParenthesizedExpression 826801 826869 - BinaryExpression 826802 826868 - CallExpression 826802 826830 - Identifier 826802 826824 - Identifier 826825 826829 - AmpersandToken 826830 826832 - PropertyAccessExpression 826832 826868 - Identifier 826832 826852 - Identifier 826853 826868 - PropertyAccessExpression 826871 826883 - Identifier 826871 826876 - Identifier 826877 826883 - ColonToken 826884 826886 - Identifier 826886 826913 - FunctionDeclaration 826922 827090 - Identifier 826938 826976 - Parameter 826977 826993 - Identifier 826977 826981 - TypeReference 826982 826993 - Identifier 826982 826993 - Block 826994 827090 - ReturnStatement 826996 827083 - CallExpression 827012 827082 - Identifier 827012 827050 - PropertyAccessExpression 827051 827081 - PropertyAccessExpression 827051 827067 - Identifier 827051 827055 - Identifier 827056 827067 - Identifier 827068 827081 - FunctionDeclaration 827090 827448 - Identifier 827106 827149 - Parameter 827150 827166 - Identifier 827150 827154 - TypeReference 827155 827166 - Identifier 827155 827166 - Block 827167 827448 - VariableStatement 827169 827254 - VariableDeclarationList 827169 827253 - VariableDeclaration 827184 827253 - Identifier 827184 827206 - NonNullExpression 827208 827253 - CallExpression 827208 827252 - Identifier 827208 827246 - Identifier 827247 827251 - ReturnStatement 827254 827441 - BinaryExpression 827288 827440 - BinaryExpression 827288 827343 - PropertyAccessExpression 827288 827315 - Identifier 827288 827310 - Identifier 827311 827315 - EqualsEqualsEqualsToken 827315 827319 - PropertyAccessExpression 827319 827343 - Identifier 827319 827330 - Identifier 827331 827343 - AmpersandAmpersandToken 827343 827346 - BinaryExpression 827346 827440 - PropertyAccessExpression 827346 827412 - ParenthesizedExpression 827346 827403 - AsExpression 827361 827402 - Identifier 827361 827382 - TypeReference 827385 827402 - Identifier 827385 827402 - Identifier 827404 827412 - EqualsEqualsEqualsToken 827412 827416 - PropertyAccessExpression 827416 827440 - Identifier 827416 827427 - Identifier 827428 827440 - FunctionDeclaration 827448 829049 - Identifier 827464 827495 - Parameter 827496 827512 - Identifier 827496 827500 - TypeReference 827501 827512 - Identifier 827501 827512 - Block 827513 829049 - IfStatement 827515 829006 - PrefixUnaryExpression 827529 827548 - PropertyAccessExpression 827530 827548 - Identifier 827530 827534 - Identifier 827535 827548 - Block 827549 829006 - IfStatement 827551 828995 - CallExpression 827569 827617 - Identifier 827569 827611 - Identifier 827612 827616 - Block 827618 828101 - ExpressionStatement 827620 828086 - BinaryExpression 827620 828085 - PropertyAccessExpression 827620 827961 - Identifier 827620 827947 - Identifier 827948 827961 - EqualsToken 827961 827963 - CallExpression 827963 828085 - Identifier 827963 827979 - CallExpression 827980 828071 - Identifier 827980 827999 - PropertyAccessExpression 828000 828070 - ParenthesizedExpression 828000 828065 - AsExpression 828001 828064 - CallExpression 828001 828044 - Identifier 828001 828038 - Identifier 828039 828043 - TypeReference 828047 828064 - Identifier 828047 828064 - Identifier 828066 828070 - PropertyAccessExpression 828072 828084 - Identifier 828072 828077 - Identifier 828078 828084 - Block 828119 828995 - VariableStatement 828121 828533 - VariableDeclarationList 828121 828532 - VariableDeclaration 828459 828532 - Identifier 828459 828472 - AsExpression 828474 828532 - CallExpression 828474 828518 - Identifier 828474 828500 - PropertyAccessExpression 828501 828517 - Identifier 828501 828505 - Identifier 828506 828517 - TypeReference 828521 828532 - Identifier 828521 828532 - VariableStatement 828533 828616 - VariableDeclarationList 828533 828615 - VariableDeclaration 828556 828615 - Identifier 828556 828567 - CallExpression 828569 828615 - Identifier 828569 828601 - Identifier 828602 828614 - VariableStatement 828616 828791 - VariableDeclarationList 828616 828790 - VariableDeclaration 828639 828790 - Identifier 828639 828658 - ConditionalExpression 828660 828790 - BinaryExpression 828660 828717 - Identifier 828660 828671 - AmpersandAmpersandToken 828671 828674 - BinaryExpression 828674 828717 - PropertyAccessExpression 828674 828691 - Identifier 828674 828685 - Identifier 828686 828691 - AmpersandToken 828691 828693 - PropertyAccessExpression 828693 828717 - Identifier 828693 828703 - Identifier 828704 828717 - QuestionToken 828717 828719 - CallExpression 828719 828777 - Identifier 828719 828748 - AsExpression 828749 828776 - Identifier 828749 828759 - TypeReference 828762 828776 - Identifier 828762 828776 - ColonToken 828777 828779 - Identifier 828779 828790 - ExpressionStatement 828791 828980 - BinaryExpression 828791 828979 - PropertyAccessExpression 828791 828827 - Identifier 828791 828813 - Identifier 828814 828827 - EqualsToken 828827 828829 - ConditionalExpression 828829 828979 - BinaryExpression 828829 828894 - Identifier 828829 828848 - AmpersandAmpersandToken 828848 828851 - BinaryExpression 828851 828894 - PropertyAccessExpression 828851 828876 - Identifier 828851 828870 - Identifier 828871 828876 - AmpersandToken 828876 828878 - PropertyAccessExpression 828878 828894 - Identifier 828878 828888 - Identifier 828889 828894 - QuestionToken 828894 828896 - CallExpression 828896 828965 - Identifier 828896 828912 - PropertyAccessExpression 828913 828951 - ParenthesizedExpression 828913 828946 - AsExpression 828914 828945 - Identifier 828914 828932 - TypeReference 828935 828945 - Identifier 828935 828945 - Identifier 828947 828951 - PropertyAccessExpression 828952 828964 - Identifier 828952 828957 - Identifier 828958 828964 - ColonToken 828965 828967 - Identifier 828967 828979 - ReturnStatement 829006 829042 - PropertyAccessExpression 829022 829041 - Identifier 829022 829027 - Identifier 829028 829041 - FunctionDeclaration 829049 829549 - Identifier 829065 829088 - Parameter 829089 829105 - Identifier 829089 829093 - TypeReference 829094 829105 - Identifier 829094 829105 - TypeReference 829107 829127 - Identifier 829107 829127 - Block 829127 829549 - VariableStatement 829129 829176 - VariableDeclarationList 829129 829175 - VariableDeclaration 829144 829175 - Identifier 829144 829156 - PropertyAccessExpression 829158 829175 - Identifier 829158 829163 - Identifier 829164 829175 - ReturnStatement 829176 829542 - BinaryExpression 829192 829541 - ParenthesizedExpression 829192 829359 - ConditionalExpression 829194 829358 - PropertyAccessExpression 829194 829219 - Identifier 829194 829205 - Identifier 829206 829219 - QuestionToken 829219 829221 - ConditionalExpression 829221 829354 - BinaryExpression 829221 829278 - PropertyAccessExpression 829221 829252 - PropertyAccessExpression 829221 829247 - Identifier 829221 829233 - Identifier 829234 829247 - Identifier 829248 829252 - EqualsEqualsEqualsToken 829252 829256 - PropertyAccessExpression 829256 829278 - Identifier 829256 829267 - Identifier 829268 829278 - QuestionToken 829278 829280 - PropertyAccessExpression 829280 829316 - Identifier 829280 829300 - Identifier 829301 829316 - ColonToken 829316 829318 - PropertyAccessExpression 829318 829354 - Identifier 829318 829338 - Identifier 829339 829354 - ColonToken 829354 829356 - NumericLiteral 829356 829358 - BarToken 829359 829361 - ParenthesizedExpression 829361 829541 - ConditionalExpression 829376 829540 - PropertyAccessExpression 829376 829401 - Identifier 829376 829387 - Identifier 829388 829401 - QuestionToken 829401 829403 - ConditionalExpression 829403 829536 - BinaryExpression 829403 829460 - PropertyAccessExpression 829403 829434 - PropertyAccessExpression 829403 829429 - Identifier 829403 829415 - Identifier 829416 829429 - Identifier 829430 829434 - EqualsEqualsEqualsToken 829434 829438 - PropertyAccessExpression 829438 829460 - Identifier 829438 829449 - Identifier 829450 829460 - QuestionToken 829460 829462 - PropertyAccessExpression 829462 829498 - Identifier 829462 829482 - Identifier 829483 829498 - ColonToken 829498 829500 - PropertyAccessExpression 829500 829536 - Identifier 829500 829520 - Identifier 829521 829536 - ColonToken 829536 829538 - NumericLiteral 829538 829540 - FunctionDeclaration 829549 829974 - Identifier 829729 829754 - Parameter 829755 829771 - Identifier 829755 829759 - TypeReference 829760 829771 - Identifier 829760 829771 - NumberKeyword 829773 829780 - Block 829780 829974 - VariableStatement 829782 829839 - VariableDeclarationList 829782 829838 - VariableDeclaration 829797 829838 - Identifier 829797 829807 - CallExpression 829809 829838 - Identifier 829809 829832 - Identifier 829833 829837 - ReturnStatement 829839 829967 - ConditionalExpression 829855 829966 - BinaryExpression 829855 829903 - Identifier 829855 829865 - AmpersandToken 829865 829867 - PropertyAccessExpression 829867 829903 - Identifier 829867 829887 - Identifier 829888 829903 - QuestionToken 829903 829905 - PrefixUnaryExpression 829905 829908 - NumericLiteral 829907 829908 - ColonToken 829908 829910 - ConditionalExpression 829910 829966 - BinaryExpression 829910 829958 - Identifier 829910 829920 - AmpersandToken 829920 829922 - PropertyAccessExpression 829922 829958 - Identifier 829922 829942 - Identifier 829943 829958 - QuestionToken 829958 829960 - NumericLiteral 829960 829962 - ColonToken 829962 829964 - NumericLiteral 829964 829966 - FunctionDeclaration 829974 830986 - Identifier 830362 830395 - Parameter 830396 830406 - Identifier 830396 830400 - TypeReference 830401 830406 - Identifier 830401 830406 - NumberKeyword 830408 830415 - Block 830415 830986 - IfStatement 830417 830640 - BinaryExpression 830431 830472 - CallExpression 830431 830451 - Identifier 830431 830445 - Identifier 830446 830450 - AmpersandToken 830451 830453 - PropertyAccessExpression 830453 830472 - Identifier 830453 830465 - Identifier 830466 830472 - Block 830473 830640 - ReturnStatement 830475 830629 - BinaryExpression 830495 830628 - CallExpression 830495 830540 - Identifier 830495 830520 - AsExpression 830521 830539 - Identifier 830521 830525 - TypeReference 830528 830539 - Identifier 830528 830539 - BarBarToken 830540 830543 - CallExpression 830543 830628 - Identifier 830543 830576 - CallExpression 830577 830627 - Identifier 830577 830607 - AsExpression 830608 830626 - Identifier 830608 830612 - TypeReference 830615 830626 - Identifier 830615 830626 - IfStatement 830640 830960 - BinaryExpression 830654 830689 - PropertyAccessExpression 830654 830664 - Identifier 830654 830658 - Identifier 830659 830664 - AmpersandToken 830664 830666 - PropertyAccessExpression 830666 830689 - Identifier 830666 830676 - Identifier 830677 830689 - Block 830690 830960 - VariableStatement 830692 830796 - VariableDeclarationList 830692 830795 - VariableDeclaration 830711 830795 - Identifier 830711 830723 - CallExpression 830725 830795 - Identifier 830725 830758 - ElementAccessExpression 830759 830794 - PropertyAccessExpression 830759 830791 - ParenthesizedExpression 830759 830785 - AsExpression 830760 830784 - Identifier 830760 830764 - TypeReference 830767 830784 - Identifier 830767 830784 - Identifier 830786 830791 - NumericLiteral 830792 830793 - ReturnStatement 830796 830949 - ConditionalExpression 830816 830948 - CallExpression 830816 830930 - Identifier 830816 830822 - PropertyAccessExpression 830823 830855 - ParenthesizedExpression 830823 830849 - AsExpression 830824 830848 - Identifier 830824 830828 - TypeReference 830831 830848 - Identifier 830831 830848 - Identifier 830850 830855 - ArrowFunction 830856 830929 - Parameter 830858 830859 - Identifier 830858 830859 - Parameter 830860 830862 - Identifier 830860 830862 - EqualsGreaterThanToken 830863 830866 - BinaryExpression 830866 830929 - BinaryExpression 830866 830874 - Identifier 830866 830868 - EqualsEqualsEqualsToken 830868 830872 - NumericLiteral 830872 830874 - BarBarToken 830874 830877 - BinaryExpression 830877 830929 - CallExpression 830877 830913 - Identifier 830877 830910 - Identifier 830911 830912 - EqualsEqualsEqualsToken 830913 830917 - Identifier 830917 830929 - QuestionToken 830930 830932 - Identifier 830932 830944 - ColonToken 830944 830946 - NumericLiteral 830946 830948 - ReturnStatement 830960 830979 - NumericLiteral 830976 830978 - FunctionDeclaration 830986 831190 - Identifier 831002 831022 - Parameter 831023 831033 - Identifier 831023 831027 - TypeReference 831028 831033 - Identifier 831028 831033 - Block 831034 831190 - ReturnStatement 831036 831183 - PrefixUnaryExpression 831052 831182 - PrefixUnaryExpression 831054 831182 - ParenthesizedExpression 831055 831182 - BinaryExpression 831056 831181 - BinaryExpression 831056 831097 - CallExpression 831056 831076 - Identifier 831056 831070 - Identifier 831071 831075 - AmpersandToken 831076 831078 - PropertyAccessExpression 831078 831097 - Identifier 831078 831090 - Identifier 831091 831097 - AmpersandAmpersandToken 831097 831100 - BinaryExpression 831100 831181 - CallExpression 831100 831143 - Identifier 831100 831123 - AsExpression 831124 831142 - Identifier 831124 831128 - TypeReference 831131 831142 - Identifier 831131 831142 - AmpersandToken 831143 831145 - PropertyAccessExpression 831145 831181 - Identifier 831145 831165 - Identifier 831166 831181 - FunctionDeclaration 831190 832131 - Identifier 831206 831226 - Parameter 831227 831237 - Identifier 831227 831231 - TypeReference 831232 831237 - Identifier 831232 831237 - TypePredicate 831239 831258 - Identifier 831239 831244 - TypeReference 831247 831258 - Identifier 831247 831258 - Block 831258 832131 - IfStatement 831260 832101 - BinaryExpression 831274 831315 - CallExpression 831274 831294 - Identifier 831274 831288 - Identifier 831289 831293 - AmpersandToken 831294 831296 - PropertyAccessExpression 831296 831315 - Identifier 831296 831308 - Identifier 831309 831315 - Block 831316 832101 - VariableStatement 831318 831403 - VariableDeclarationList 831318 831402 - VariableDeclaration 831337 831402 - Identifier 831337 831348 - CallExpression 831350 831402 - Identifier 831350 831382 - AsExpression 831383 831401 - Identifier 831383 831387 - TypeReference 831390 831401 - Identifier 831390 831401 - IfStatement 831403 831499 - CallExpression 831421 831451 - Identifier 831421 831439 - Identifier 831440 831450 - Block 831452 831499 - ReturnStatement 831454 831484 - TrueKeyword 831478 831483 - VariableStatement 831499 831882 - VariableDeclarationList 831499 831881 - VariableDeclaration 831824 831881 - Identifier 831824 831833 - CallExpression 831835 831881 - Identifier 831835 831861 - AsExpression 831862 831880 - Identifier 831862 831866 - TypeReference 831869 831880 - Identifier 831869 831880 - IfStatement 831882 832090 - BinaryExpression 831900 832042 - Identifier 831900 831908 - AmpersandAmpersandToken 831908 831911 - CallExpression 831911 832042 - Identifier 831911 831930 - CallExpression 831931 832041 - Identifier 831931 831946 - Identifier 831947 831955 - CallExpression 831956 832040 - Identifier 831956 831976 - CallExpression 831977 832027 - Identifier 831977 832007 - AsExpression 832008 832026 - Identifier 832008 832012 - TypeReference 832015 832026 - Identifier 832015 832026 - Identifier 832028 832039 - Block 832043 832090 - ReturnStatement 832045 832075 - TrueKeyword 832069 832074 - ReturnStatement 832101 832124 - FalseKeyword 832117 832123 - FunctionDeclaration 832131 832523 - Identifier 832147 832173 - Parameter 832174 832190 - Identifier 832174 832178 - TypeReference 832179 832190 - Identifier 832179 832190 - TypeReference 832192 832215 - Identifier 832192 832215 - Block 832215 832523 - VariableStatement 832217 832276 - VariableDeclarationList 832217 832275 - VariableDeclaration 832232 832275 - Identifier 832232 832241 - CallExpression 832243 832275 - Identifier 832243 832269 - Identifier 832270 832274 - IfStatement 832276 832362 - PrefixUnaryExpression 832290 832299 - Identifier 832291 832299 - Block 832300 832362 - ReturnStatement 832302 832351 - PropertyAccessExpression 832322 832350 - Identifier 832322 832345 - Identifier 832346 832350 - ReturnStatement 832362 832516 - ConditionalExpression 832378 832515 - CallExpression 832378 832445 - Identifier 832378 832397 - Identifier 832398 832406 - CallExpression 832407 832444 - Identifier 832407 832438 - Identifier 832439 832443 - QuestionToken 832445 832447 - PropertyAccessExpression 832447 832480 - Identifier 832447 832470 - Identifier 832471 832480 - ColonToken 832480 832482 - PropertyAccessExpression 832482 832515 - Identifier 832482 832505 - Identifier 832506 832515 - FunctionDeclaration 832523 834226 - Identifier 832539 832568 - Parameter 832569 832589 - Identifier 832569 832573 - TypeReference 832574 832589 - Identifier 832574 832589 - TypeReference 832591 832604 - Identifier 832591 832604 - Block 832604 834226 - IfStatement 832606 834181 - PrefixUnaryExpression 832620 832651 - PropertyAccessExpression 832621 832651 - ParenthesizedExpression 832621 832643 - AsExpression 832622 832642 - Identifier 832622 832626 - TypeReference 832629 832642 - Identifier 832629 832642 - Identifier 832644 832651 - Block 832652 834181 - IfStatement 832654 834170 - BinaryExpression 832672 832701 - PropertyAccessExpression 832672 832682 - Identifier 832672 832676 - Identifier 832677 832682 - AmpersandToken 832682 832684 - PropertyAccessExpression 832684 832701 - Identifier 832684 832694 - Identifier 832695 832701 - Block 832702 833770 - IfStatement 832704 833755 - BinaryExpression 832726 832782 - PropertyAccessExpression 832726 832758 - ParenthesizedExpression 832726 832746 - AsExpression 832727 832745 - Identifier 832727 832731 - TypeReference 832734 832745 - Identifier 832734 832745 - Identifier 832747 832758 - AmpersandToken 832758 832760 - PropertyAccessExpression 832760 832782 - Identifier 832760 832772 - Identifier 832773 832782 - Block 832783 832877 - ExpressionStatement 832785 832858 - CallExpression 832785 832857 - Identifier 832785 832834 - AsExpression 832835 832856 - Identifier 832835 832839 - TypeReference 832842 832856 - Identifier 832842 832856 - IfStatement 832899 833755 - BinaryExpression 832904 832967 - PropertyAccessExpression 832904 832936 - ParenthesizedExpression 832904 832924 - AsExpression 832905 832923 - Identifier 832905 832909 - TypeReference 832912 832923 - Identifier 832912 832923 - Identifier 832925 832936 - AmpersandToken 832936 832938 - PropertyAccessExpression 832938 832967 - Identifier 832938 832950 - Identifier 832951 832967 - Block 832968 833065 - ExpressionStatement 832970 833046 - CallExpression 832970 833045 - Identifier 832970 833022 - AsExpression 833023 833044 - Identifier 833023 833027 - TypeReference 833030 833044 - Identifier 833030 833044 - IfStatement 833087 833755 - BinaryExpression 833092 833159 - PropertyAccessExpression 833092 833131 - ParenthesizedExpression 833092 833119 - AsExpression 833093 833118 - Identifier 833093 833097 - TypeReference 833100 833118 - Identifier 833100 833118 - Identifier 833120 833131 - AmpersandToken 833131 833133 - PropertyAccessExpression 833133 833159 - Identifier 833133 833145 - Identifier 833146 833159 - Block 833160 833262 - ExpressionStatement 833162 833243 - CallExpression 833162 833242 - Identifier 833162 833215 - AsExpression 833216 833241 - Identifier 833216 833220 - TypeReference 833223 833241 - Identifier 833223 833241 - IfStatement 833284 833755 - BinaryExpression 833289 833345 - PropertyAccessExpression 833289 833321 - ParenthesizedExpression 833289 833309 - AsExpression 833290 833308 - Identifier 833290 833294 - TypeReference 833297 833308 - Identifier 833297 833308 - Identifier 833310 833321 - AmpersandToken 833321 833323 - PropertyAccessExpression 833323 833345 - Identifier 833323 833335 - Identifier 833336 833345 - Block 833346 833440 - ExpressionStatement 833348 833421 - CallExpression 833348 833420 - Identifier 833348 833397 - AsExpression 833398 833419 - Identifier 833398 833402 - TypeReference 833405 833419 - Identifier 833405 833419 - IfStatement 833462 833755 - BinaryExpression 833467 833520 - PropertyAccessExpression 833467 833499 - ParenthesizedExpression 833467 833487 - AsExpression 833468 833486 - Identifier 833468 833472 - TypeReference 833475 833486 - Identifier 833475 833486 - Identifier 833488 833499 - AmpersandToken 833499 833501 - PropertyAccessExpression 833501 833520 - Identifier 833501 833513 - Identifier 833514 833520 - Block 833521 833609 - ExpressionStatement 833523 833590 - CallExpression 833523 833589 - Identifier 833523 833569 - AsExpression 833570 833588 - Identifier 833570 833574 - TypeReference 833577 833588 - Identifier 833577 833588 - Block 833631 833755 - ExpressionStatement 833633 833736 - CallExpression 833633 833735 - PropertyAccessExpression 833633 833665 - Identifier 833633 833660 - Identifier 833661 833665 - BinaryExpression 833666 833734 - StringLiteral 833666 833690 - PlusToken 833690 833692 - CallExpression 833692 833734 - PropertyAccessExpression 833692 833716 - Identifier 833692 833698 - Identifier 833699 833716 - PropertyAccessExpression 833717 833733 - Identifier 833717 833721 - Identifier 833722 833733 - IfStatement 833788 834170 - BinaryExpression 833793 833821 - PropertyAccessExpression 833793 833803 - Identifier 833793 833797 - Identifier 833798 833803 - AmpersandToken 833803 833805 - PropertyAccessExpression 833805 833821 - Identifier 833805 833815 - Identifier 833816 833821 - Block 833822 833900 - ExpressionStatement 833824 833885 - CallExpression 833824 833884 - Identifier 833824 833865 - AsExpression 833866 833883 - Identifier 833866 833870 - TypeReference 833873 833883 - Identifier 833873 833883 - IfStatement 833918 834170 - BinaryExpression 833923 833958 - PropertyAccessExpression 833923 833933 - Identifier 833923 833927 - Identifier 833928 833933 - AmpersandToken 833933 833935 - PropertyAccessExpression 833935 833958 - Identifier 833935 833945 - Identifier 833946 833958 - Block 833959 834051 - ExpressionStatement 833961 834036 - CallExpression 833961 834035 - Identifier 833961 834009 - AsExpression 834010 834034 - Identifier 834010 834014 - TypeReference 834017 834034 - Identifier 834017 834034 - Block 834069 834170 - ExpressionStatement 834071 834155 - CallExpression 834071 834154 - PropertyAccessExpression 834071 834099 - Identifier 834071 834094 - Identifier 834095 834099 - BinaryExpression 834100 834153 - StringLiteral 834100 834117 - PlusToken 834117 834119 - CallExpression 834119 834153 - PropertyAccessExpression 834119 834141 - Identifier 834119 834125 - Identifier 834126 834141 - PropertyAccessExpression 834142 834152 - Identifier 834142 834146 - Identifier 834147 834152 - ReturnStatement 834181 834219 - AsExpression 834197 834218 - Identifier 834197 834202 - TypeReference 834205 834218 - Identifier 834205 834218 - FunctionDeclaration 834226 834547 - Identifier 834324 834350 - Parameter 834351 834361 - Identifier 834351 834355 - TypeReference 834356 834361 - Identifier 834356 834361 - ArrayType 834363 834372 - TypeReference 834363 834370 - Identifier 834363 834370 - Block 834372 834547 - IfStatement 834374 834512 - BinaryExpression 834388 834417 - PropertyAccessExpression 834388 834398 - Identifier 834388 834392 - Identifier 834393 834398 - AmpersandToken 834398 834400 - PropertyAccessExpression 834400 834417 - Identifier 834400 834410 - Identifier 834411 834417 - Block 834418 834512 - ReturnStatement 834420 834501 - PropertyAccessExpression 834440 834500 - CallExpression 834440 834489 - Identifier 834440 834469 - AsExpression 834470 834488 - Identifier 834470 834474 - TypeReference 834477 834488 - Identifier 834477 834488 - Identifier 834490 834500 - ReturnStatement 834512 834540 - Identifier 834528 834539 - FunctionDeclaration 834547 835111 - Identifier 834738 834762 - Parameter 834763 834773 - Identifier 834763 834767 - TypeReference 834768 834773 - Identifier 834768 834773 - Parameter 834774 834789 - Identifier 834774 834779 - TypeReference 834780 834789 - Identifier 834780 834789 - UnionType 834791 834810 - TypeReference 834791 834798 - Identifier 834791 834798 - UndefinedKeyword 834800 834810 - Block 834810 835111 - IfStatement 834812 835104 - BinaryExpression 834826 834855 - PropertyAccessExpression 834826 834836 - Identifier 834826 834830 - Identifier 834831 834836 - AmpersandToken 834836 834838 - PropertyAccessExpression 834838 834855 - Identifier 834838 834848 - Identifier 834849 834855 - Block 834856 835104 - VariableStatement 834858 834938 - VariableDeclarationList 834858 834937 - VariableDeclaration 834877 834937 - Identifier 834877 834886 - CallExpression 834888 834937 - Identifier 834888 834917 - AsExpression 834918 834936 - Identifier 834918 834922 - TypeReference 834925 834936 - Identifier 834925 834936 - VariableStatement 834938 834994 - VariableDeclarationList 834938 834993 - VariableDeclaration 834957 834993 - Identifier 834957 834964 - CallExpression 834966 834993 - PropertyAccessExpression 834966 834987 - PropertyAccessExpression 834966 834983 - Identifier 834966 834975 - Identifier 834976 834983 - Identifier 834984 834987 - Identifier 834988 834992 - IfStatement 834994 835093 - BinaryExpression 835012 835043 - Identifier 835012 835018 - AmpersandAmpersandToken 835018 835021 - CallExpression 835021 835043 - Identifier 835021 835035 - Identifier 835036 835042 - Block 835044 835093 - ReturnStatement 835046 835078 - Identifier 835070 835077 - FunctionDeclaration 835111 836341 - Identifier 835127 835166 - Parameter 835167 835196 - Identifier 835167 835171 - TypeReference 835172 835196 - Identifier 835172 835196 - ArrayType 835198 835207 - TypeReference 835198 835205 - Identifier 835198 835205 - Block 835207 836341 - IfStatement 835209 836293 - PrefixUnaryExpression 835223 835247 - PropertyAccessExpression 835224 835247 - Identifier 835224 835228 - Identifier 835229 835247 - Block 835248 836293 - VariableStatement 835250 835300 - VariableDeclarationList 835250 835299 - VariableDeclaration 835269 835299 - Identifier 835269 835277 - CallExpression 835279 835299 - Identifier 835279 835297 - ForOfStatement 835300 836217 - VariableDeclarationList 835319 835332 - VariableDeclaration 835324 835332 - Identifier 835324 835332 - PropertyAccessExpression 835335 835346 - Identifier 835335 835340 - Identifier 835341 835346 - Block 835347 836217 - ForOfStatement 835349 835851 - VariableDeclarationList 835372 835382 - VariableDeclaration 835377 835382 - Identifier 835377 835382 - CallExpression 835385 835414 - Identifier 835385 835405 - Identifier 835406 835413 - Block 835415 835851 - IfStatement 835417 835832 - PrefixUnaryExpression 835443 835473 - CallExpression 835444 835473 - PropertyAccessExpression 835444 835455 - Identifier 835444 835451 - Identifier 835452 835455 - PropertyAccessExpression 835456 835472 - Identifier 835456 835460 - Identifier 835461 835472 - Block 835474 835832 - VariableStatement 835476 835663 - VariableDeclarationList 835476 835662 - VariableDeclaration 835507 835662 - Identifier 835507 835520 - CallExpression 835522 835662 - Identifier 835522 835559 - Identifier 835560 835564 - PropertyAccessExpression 835565 835582 - Identifier 835565 835570 - Identifier 835571 835582 - PrefixUnaryExpression 835583 835661 - PrefixUnaryExpression 835623 835661 - ParenthesizedExpression 835624 835661 - BinaryExpression 835625 835660 - PropertyAccessExpression 835625 835635 - Identifier 835625 835629 - Identifier 835630 835635 - AmpersandToken 835635 835637 - PropertyAccessExpression 835637 835660 - Identifier 835637 835647 - Identifier 835648 835660 - IfStatement 835663 835809 - Identifier 835693 835705 - Block 835706 835809 - ExpressionStatement 835708 835782 - CallExpression 835708 835781 - PropertyAccessExpression 835708 835749 - Identifier 835708 835745 - Identifier 835746 835749 - PropertyAccessExpression 835750 835766 - Identifier 835750 835754 - Identifier 835755 835766 - Identifier 835767 835780 - IfStatement 835851 836202 - BinaryExpression 836079 836152 - BinaryExpression 836079 836107 - PropertyAccessExpression 836079 836089 - Identifier 836079 836083 - Identifier 836084 836089 - AmpersandToken 836089 836091 - PropertyAccessExpression 836091 836107 - Identifier 836091 836101 - Identifier 836102 836107 - AmpersandAmpersandToken 836107 836110 - BinaryExpression 836110 836152 - PropertyAccessExpression 836110 836146 - CallExpression 836110 836139 - Identifier 836110 836130 - Identifier 836131 836138 - Identifier 836140 836146 - EqualsEqualsEqualsToken 836146 836150 - NumericLiteral 836150 836152 - Block 836153 836202 - BreakStatement 836155 836183 - ExpressionStatement 836217 836282 - BinaryExpression 836217 836281 - PropertyAccessExpression 836217 836254 - Identifier 836217 836235 - Identifier 836236 836254 - EqualsToken 836254 836256 - CallExpression 836256 836281 - Identifier 836256 836272 - Identifier 836273 836280 - ReturnStatement 836293 836334 - PropertyAccessExpression 836309 836333 - Identifier 836309 836314 - Identifier 836315 836333 - FunctionDeclaration 836341 836634 - Identifier 836357 836377 - Parameter 836378 836388 - Identifier 836378 836382 - TypeReference 836383 836388 - Identifier 836383 836388 - ArrayType 836390 836399 - TypeReference 836390 836397 - Identifier 836390 836397 - Block 836399 836634 - ExpressionStatement 836401 836447 - BinaryExpression 836401 836446 - Identifier 836401 836415 - EqualsToken 836415 836417 - CallExpression 836417 836446 - Identifier 836417 836440 - Identifier 836441 836445 - ReturnStatement 836447 836627 - ConditionalExpression 836463 836626 - BinaryExpression 836463 836506 - PropertyAccessExpression 836463 836474 - Identifier 836463 836468 - Identifier 836469 836474 - AmpersandToken 836474 836476 - PropertyAccessExpression 836476 836506 - Identifier 836476 836486 - Identifier 836487 836506 - QuestionToken 836506 836508 - CallExpression 836508 836579 - Identifier 836508 836560 - AsExpression 836561 836578 - Identifier 836561 836565 - TypeReference 836568 836578 - Identifier 836568 836578 - ColonToken 836579 836581 - CallExpression 836581 836626 - Identifier 836581 836620 - Identifier 836621 836625 - FunctionDeclaration 836634 837121 - Identifier 836650 836672 - Parameter 836673 836683 - Identifier 836673 836677 - TypeReference 836678 836683 - Identifier 836678 836683 - Parameter 836684 836740 - Identifier 836684 836691 - FunctionType 836692 836740 - Parameter 836694 836708 - Identifier 836694 836700 - TypeReference 836701 836708 - Identifier 836701 836708 - Parameter 836709 836731 - Identifier 836709 836721 - TypeReference 836722 836731 - Identifier 836722 836731 - VoidKeyword 836735 836740 - VoidKeyword 836742 836747 - Block 836747 837121 - ExpressionStatement 836749 836795 - BinaryExpression 836749 836794 - Identifier 836749 836763 - EqualsToken 836763 836765 - CallExpression 836765 836794 - Identifier 836765 836788 - Identifier 836789 836793 - IfStatement 836795 837114 - BinaryExpression 836809 836846 - PropertyAccessExpression 836809 836819 - Identifier 836809 836813 - Identifier 836814 836819 - AmpersandToken 836819 836821 - PropertyAccessExpression 836821 836846 - Identifier 836821 836831 - Identifier 836832 836846 - Block 836847 837114 - ExpressionStatement 836849 837103 - CallExpression 836849 837102 - PropertyAccessExpression 836849 836931 - PropertyAccessExpression 836849 836923 - CallExpression 836849 836915 - Identifier 836849 836891 - AsExpression 836892 836914 - Identifier 836892 836896 - TypeReference 836899 836914 - Identifier 836899 836914 - Identifier 836916 836923 - Identifier 836924 836931 - ArrowFunction 836932 837101 - Parameter 836933 836939 - Identifier 836933 836939 - Parameter 836940 836952 - Identifier 836940 836952 - EqualsGreaterThanToken 836953 836956 - Block 836956 837101 - IfStatement 836958 837086 - CallExpression 836980 837014 - Identifier 836980 836993 - Identifier 836994 837000 - Identifier 837001 837013 - Block 837015 837086 - ExpressionStatement 837017 837067 - CallExpression 837017 837066 - Identifier 837017 837045 - Identifier 837046 837052 - Identifier 837053 837065 - FunctionDeclaration 837121 837957 - Identifier 837137 837173 - Parameter 837174 837194 - Identifier 837174 837188 - TypeReference 837189 837194 - Identifier 837189 837194 - Parameter 837195 837240 - Identifier 837195 837199 - UnionType 837200 837240 - TypeReference 837200 837224 - Identifier 837200 837224 - TypeReference 837226 837240 - Identifier 837226 837240 - BooleanKeyword 837242 837250 - Block 837250 837957 - VariableStatement 837252 837348 - VariableDeclarationList 837252 837347 - VariableDeclaration 837267 837347 - Identifier 837267 837272 - AsExpression 837274 837347 - PropertyAccessExpression 837274 837289 - Identifier 837274 837278 - Identifier 837279 837289 - TypeReference 837292 837347 - Identifier 837292 837302 - UnionType 837303 837346 - TypeReference 837303 837327 - Identifier 837303 837327 - TypeReference 837329 837346 - Identifier 837329 837346 - ReturnStatement 837348 837950 - CallExpression 837364 837949 - PropertyAccessExpression 837364 837374 - Identifier 837364 837369 - Identifier 837370 837374 - ArrowFunction 837375 837948 - Parameter 837375 837383 - Identifier 837375 837383 - EqualsGreaterThanToken 837383 837386 - Block 837386 837948 - VariableStatement 837388 837586 - VariableDeclarationList 837388 837585 - VariableDeclaration 837407 837585 - Identifier 837407 837416 - BinaryExpression 837418 837585 - PropertyAccessExpression 837418 837432 - Identifier 837418 837427 - Identifier 837428 837432 - AmpersandAmpersandToken 837432 837435 - ParenthesizedExpression 837435 837585 - ConditionalExpression 837437 837584 - CallExpression 837437 837471 - Identifier 837437 837456 - PropertyAccessExpression 837457 837470 - Identifier 837457 837465 - Identifier 837466 837470 - QuestionToken 837471 837473 - CallExpression 837473 837536 - Identifier 837473 837494 - CallExpression 837495 837535 - Identifier 837495 837520 - PropertyAccessExpression 837521 837534 - Identifier 837521 837529 - Identifier 837530 837534 - ColonToken 837536 837538 - CallExpression 837538 837584 - Identifier 837538 837569 - PropertyAccessExpression 837570 837583 - Identifier 837570 837578 - Identifier 837579 837583 - VariableStatement 837586 837710 - VariableDeclarationList 837586 837709 - VariableDeclaration 837605 837709 - Identifier 837605 837610 - ConditionalExpression 837612 837709 - BinaryExpression 837612 837661 - Identifier 837612 837621 - AmpersandAmpersandToken 837621 837624 - CallExpression 837624 837661 - Identifier 837624 837651 - Identifier 837652 837660 - QuestionToken 837661 837663 - CallExpression 837663 837697 - Identifier 837663 837687 - Identifier 837688 837696 - ColonToken 837697 837699 - Identifier 837699 837709 - VariableStatement 837710 837820 - VariableDeclarationList 837710 837819 - VariableDeclaration 837729 837819 - Identifier 837729 837738 - ConditionalExpression 837740 837819 - BinaryExpression 837740 837759 - Identifier 837740 837745 - EqualsEqualsEqualsToken 837745 837749 - Identifier 837749 837759 - QuestionToken 837759 837761 - Identifier 837761 837771 - ColonToken 837771 837773 - CallExpression 837773 837819 - Identifier 837773 837797 - Identifier 837798 837812 - Identifier 837813 837818 - ReturnStatement 837820 837937 - BinaryExpression 837840 837936 - BinaryExpression 837840 837878 - PrefixUnaryExpression 837840 837851 - PrefixUnaryExpression 837842 837851 - Identifier 837843 837851 - AmpersandAmpersandToken 837851 837854 - CallExpression 837854 837878 - Identifier 837854 837868 - Identifier 837869 837877 - AmpersandAmpersandToken 837878 837881 - PrefixUnaryExpression 837881 837936 - CallExpression 837883 837936 - Identifier 837883 837901 - CallExpression 837902 837925 - Identifier 837902 837915 - Identifier 837916 837924 - Identifier 837926 837935 - FunctionDeclaration 837957 838768 - Identifier 837973 838005 - Parameter 838006 838028 - Identifier 838006 838011 - TypeOperator 838012 838028 - ArrayType 838021 838028 - TypeReference 838021 838026 - Identifier 838021 838026 - ArrayType 838030 838039 - TypeReference 838030 838037 - Identifier 838030 838037 - Block 838039 838768 - VariableStatement 838041 838089 - VariableDeclarationList 838041 838088 - VariableDeclaration 838056 838088 - Identifier 838056 838066 - CallExpression 838068 838088 - Identifier 838068 838081 - Identifier 838082 838087 - IfStatement 838089 838214 - PrefixUnaryExpression 838103 838139 - ParenthesizedExpression 838104 838139 - BinaryExpression 838105 838138 - PropertyAccessExpression 838105 838120 - Identifier 838105 838114 - Identifier 838115 838120 - AmpersandToken 838120 838122 - PropertyAccessExpression 838122 838138 - Identifier 838122 838132 - Identifier 838133 838138 - Block 838140 838214 - ReturnStatement 838142 838203 - CallExpression 838162 838202 - Identifier 838162 838191 - Identifier 838192 838201 - VariableStatement 838214 838260 - VariableDeclarationList 838214 838259 - VariableDeclaration 838231 838259 - Identifier 838231 838237 - CallExpression 838239 838259 - Identifier 838239 838257 - ForOfStatement 838260 838718 - VariableDeclarationList 838275 838291 - VariableDeclaration 838280 838291 - Identifier 838280 838291 - Identifier 838294 838300 - Block 838301 838718 - ForOfStatement 838303 838707 - VariableDeclarationList 838322 838343 - VariableDeclaration 838327 838343 - ObjectBindingPattern 838327 838343 - BindingElement 838329 838341 - Identifier 838329 838341 - CallExpression 838346 838387 - Identifier 838346 838375 - Identifier 838376 838386 - Block 838388 838707 - IfStatement 838390 838692 - PrefixUnaryExpression 838412 838435 - CallExpression 838413 838435 - PropertyAccessExpression 838413 838422 - Identifier 838413 838418 - Identifier 838419 838422 - Identifier 838423 838434 - Block 838436 838692 - VariableStatement 838438 838544 - VariableDeclarationList 838438 838543 - VariableDeclaration 838465 838543 - Identifier 838465 838470 - CallExpression 838472 838543 - Identifier 838472 838506 - AsExpression 838507 838529 - Identifier 838507 838516 - TypeReference 838519 838529 - Identifier 838519 838529 - Identifier 838530 838542 - IfStatement 838544 838673 - Identifier 838638 838642 - ExpressionStatement 838643 838673 - CallExpression 838643 838672 - PropertyAccessExpression 838643 838653 - Identifier 838643 838649 - Identifier 838650 838653 - Identifier 838654 838665 - Identifier 838666 838671 - ReturnStatement 838718 838761 - CallExpression 838734 838760 - Identifier 838734 838744 - CallExpression 838745 838759 - PropertyAccessExpression 838745 838757 - Identifier 838745 838750 - Identifier 838751 838757 - FunctionDeclaration 838768 839252 - Identifier 838784 838804 - Parameter 838805 838853 - Identifier 838805 838809 - UnionType 838810 838853 - TypeReference 838810 838827 - Identifier 838810 838827 - TypeReference 838829 838853 - Identifier 838829 838853 - UnionType 838855 838872 - TypeReference 838855 838860 - Identifier 838855 838860 - UndefinedKeyword 838862 838872 - Block 838872 839252 - ReturnStatement 838874 839245 - ConditionalExpression 838890 839244 - BinaryExpression 838890 838927 - PropertyAccessExpression 838890 838901 - Identifier 838890 838895 - Identifier 838896 838901 - AmpersandToken 838901 838903 - PropertyAccessExpression 838903 838927 - Identifier 838903 838913 - Identifier 838914 838927 - QuestionToken 838927 838929 - CallExpression 838929 838981 - Identifier 838929 838958 - AsExpression 838959 838980 - Identifier 838959 838963 - TypeReference 838966 838980 - Identifier 838966 838980 - ColonToken 838981 838983 - ConditionalExpression 838983 839244 - BinaryExpression 838983 839033 - PropertyAccessExpression 838983 839007 - Identifier 838983 839001 - Identifier 839002 839007 - AmpersandToken 839007 839009 - PropertyAccessExpression 839009 839033 - Identifier 839009 839019 - Identifier 839020 839033 - QuestionToken 839033 839035 - CallExpression 839035 839091 - Identifier 839035 839064 - AsExpression 839065 839090 - Identifier 839065 839069 - TypeReference 839072 839090 - Identifier 839072 839090 - ColonToken 839091 839093 - ConditionalExpression 839093 839244 - BinaryExpression 839093 839141 - PropertyAccessExpression 839093 839117 - Identifier 839093 839111 - Identifier 839112 839117 - AmpersandToken 839117 839119 - PropertyAccessExpression 839119 839141 - Identifier 839119 839129 - Identifier 839130 839141 - QuestionToken 839141 839143 - CallExpression 839143 839199 - Identifier 839143 839174 - AsExpression 839175 839198 - Identifier 839175 839179 - TypeReference 839182 839198 - Identifier 839182 839198 - ColonToken 839199 839201 - CallExpression 839201 839244 - Identifier 839201 839238 - Identifier 839239 839243 - FunctionDeclaration 839252 839475 - Identifier 839268 839297 - Parameter 839298 839326 - Identifier 839298 839311 - TypeReference 839312 839326 - Identifier 839312 839326 - UnionType 839328 839345 - TypeReference 839328 839333 - Identifier 839328 839333 - UndefinedKeyword 839335 839345 - Block 839345 839475 - ReturnStatement 839347 839468 - ConditionalExpression 839363 839467 - CallExpression 839363 839407 - Identifier 839363 839392 - Identifier 839393 839406 - QuestionToken 839407 839409 - CallExpression 839409 839455 - Identifier 839409 839440 - Identifier 839441 839454 - ColonToken 839455 839457 - Identifier 839457 839467 - FunctionDeclaration 839475 839700 - Identifier 839491 839509 - Parameter 839510 839526 - Identifier 839510 839514 - TypeReference 839515 839526 - Identifier 839515 839526 - Parameter 839527 839541 - Identifier 839527 839533 - NumberKeyword 839534 839541 - BooleanKeyword 839543 839551 - Block 839551 839700 - VariableStatement 839553 839617 - VariableDeclarationList 839553 839616 - VariableDeclaration 839568 839616 - Identifier 839568 839581 - CallExpression 839583 839616 - Identifier 839583 839610 - Identifier 839611 839615 - ReturnStatement 839617 839693 - BinaryExpression 839633 839692 - PrefixUnaryExpression 839633 839648 - PrefixUnaryExpression 839635 839648 - Identifier 839636 839648 - AmpersandAmpersandToken 839648 839651 - CallExpression 839651 839692 - Identifier 839651 839671 - Identifier 839672 839684 - Identifier 839685 839691 - FunctionDeclaration 839700 840819 - Identifier 839716 839736 - Parameter 839737 839759 - Identifier 839737 839741 - UnionType 839742 839759 - TypeReference 839742 839747 - Identifier 839742 839747 - UndefinedKeyword 839749 839759 - Parameter 839760 839770 - Identifier 839760 839766 - NumericLiteral 839768 839770 - BooleanKeyword 839772 839780 - Block 839780 840819 - ReturnStatement 839782 840812 - BinaryExpression 839798 840811 - BinaryExpression 839798 839808 - Identifier 839798 839804 - LessThanToken 839804 839806 - NumericLiteral 839806 839808 - AmpersandAmpersandToken 839808 839811 - PrefixUnaryExpression 839811 840811 - PrefixUnaryExpression 839813 840811 - ParenthesizedExpression 839814 840811 - BinaryExpression 839815 840810 - Identifier 839815 839819 - AmpersandAmpersandToken 839819 839822 - ParenthesizedExpression 839822 840810 - BinaryExpression 839824 840799 - BinaryExpression 839824 840617 - BinaryExpression 839824 840511 - BinaryExpression 839824 840392 - BinaryExpression 839824 840250 - BinaryExpression 839824 840123 - BinaryExpression 839824 839979 - BinaryExpression 839824 839874 - PropertyAccessExpression 839824 839848 - Identifier 839824 839842 - Identifier 839843 839848 - AmpersandToken 839848 839850 - PropertyAccessExpression 839850 839874 - Identifier 839850 839860 - Identifier 839861 839874 - AmpersandAmpersandToken 839874 839877 - CallExpression 839877 839979 - Identifier 839877 839882 - PropertyAccessExpression 839883 839927 - PropertyAccessExpression 839883 839913 - ParenthesizedExpression 839883 839906 - AsExpression 839884 839905 - Identifier 839884 839888 - TypeReference 839891 839905 - Identifier 839891 839905 - Identifier 839907 839913 - QuestionDotToken 839913 839915 - Identifier 839915 839927 - ArrowFunction 839928 839978 - Parameter 839928 839930 - Identifier 839928 839930 - EqualsGreaterThanToken 839930 839933 - CallExpression 839933 839978 - Identifier 839933 839954 - Identifier 839955 839956 - PropertyAccessExpression 839957 839977 - Identifier 839957 839971 - Identifier 839972 839977 - BarBarToken 839979 839982 - BinaryExpression 839982 840123 - BinaryExpression 839982 840038 - PropertyAccessExpression 839982 840006 - Identifier 839982 840000 - Identifier 840001 840006 - AmpersandToken 840006 840008 - PropertyAccessExpression 840008 840038 - Identifier 840008 840018 - Identifier 840019 840038 - AmpersandAmpersandToken 840038 840041 - CallExpression 840041 840123 - Identifier 840041 840046 - PropertyAccessExpression 840047 840086 - ParenthesizedExpression 840047 840080 - AsExpression 840048 840079 - Identifier 840048 840052 - TypeReference 840055 840079 - Identifier 840055 840079 - Identifier 840081 840086 - ArrowFunction 840087 840122 - Parameter 840087 840089 - Identifier 840087 840089 - EqualsGreaterThanToken 840089 840092 - CallExpression 840092 840122 - Identifier 840092 840112 - Identifier 840113 840114 - Identifier 840115 840121 - BarBarToken 840123 840126 - BinaryExpression 840126 840250 - BinaryExpression 840126 840176 - PropertyAccessExpression 840126 840150 - Identifier 840126 840144 - Identifier 840145 840150 - AmpersandToken 840150 840152 - PropertyAccessExpression 840152 840176 - Identifier 840152 840162 - Identifier 840163 840176 - AmpersandAmpersandToken 840176 840179 - CallExpression 840179 840250 - Identifier 840179 840199 - PropertyAccessExpression 840200 840238 - ParenthesizedExpression 840200 840227 - AsExpression 840201 840226 - Identifier 840201 840205 - TypeReference 840208 840226 - Identifier 840208 840226 - Identifier 840228 840238 - BinaryExpression 840239 840249 - Identifier 840239 840245 - PlusToken 840245 840247 - NumericLiteral 840247 840249 - BarBarToken 840250 840253 - BinaryExpression 840253 840392 - BinaryExpression 840253 840301 - PropertyAccessExpression 840253 840277 - Identifier 840253 840271 - Identifier 840272 840277 - AmpersandToken 840277 840279 - PropertyAccessExpression 840279 840301 - Identifier 840279 840289 - Identifier 840290 840301 - AmpersandAmpersandToken 840301 840304 - CallExpression 840304 840392 - Identifier 840304 840324 - CallExpression 840325 840380 - Identifier 840325 840355 - AsExpression 840356 840379 - Identifier 840356 840360 - TypeReference 840363 840379 - Identifier 840363 840379 - BinaryExpression 840381 840391 - Identifier 840381 840387 - PlusToken 840387 840389 - NumericLiteral 840389 840391 - BarBarToken 840392 840395 - BinaryExpression 840395 840511 - BinaryExpression 840395 840444 - PropertyAccessExpression 840395 840419 - Identifier 840395 840413 - Identifier 840414 840419 - AmpersandToken 840419 840421 - PropertyAccessExpression 840421 840444 - Identifier 840421 840431 - Identifier 840432 840444 - AmpersandAmpersandToken 840444 840447 - CallExpression 840447 840511 - Identifier 840447 840467 - PropertyAccessExpression 840468 840503 - ParenthesizedExpression 840468 840494 - AsExpression 840469 840493 - Identifier 840469 840473 - TypeReference 840476 840493 - Identifier 840476 840493 - Identifier 840495 840503 - Identifier 840504 840510 - BarBarToken 840511 840514 - BinaryExpression 840514 840617 - BinaryExpression 840514 840569 - CallExpression 840514 840548 - Identifier 840514 840542 - Identifier 840543 840547 - AmpersandToken 840548 840550 - PropertyAccessExpression 840550 840569 - Identifier 840550 840562 - Identifier 840563 840569 - AmpersandAmpersandToken 840569 840572 - CallExpression 840572 840617 - Identifier 840572 840590 - AsExpression 840591 840609 - Identifier 840591 840595 - TypeReference 840598 840609 - Identifier 840598 840609 - Identifier 840610 840616 - BarBarToken 840617 840620 - BinaryExpression 840620 840799 - CallExpression 840620 840658 - Identifier 840620 840652 - Identifier 840653 840657 - AmpersandAmpersandToken 840658 840661 - BinaryExpression 840661 840799 - CallExpression 840661 840794 - Identifier 840661 840671 - CallExpression 840672 840693 - Identifier 840672 840687 - Identifier 840688 840692 - ArrowFunction 840694 840793 - Parameter 840696 840697 - Identifier 840696 840697 - Parameter 840698 840700 - Identifier 840698 840700 - EqualsGreaterThanToken 840701 840704 - BinaryExpression 840704 840793 - PrefixUnaryExpression 840704 840760 - PrefixUnaryExpression 840706 840760 - ParenthesizedExpression 840707 840760 - BinaryExpression 840708 840759 - ElementAccessExpression 840708 840735 - PropertyAccessExpression 840708 840732 - PropertyAccessExpression 840708 840719 - Identifier 840708 840712 - Identifier 840713 840719 - Identifier 840720 840732 - Identifier 840733 840734 - AmpersandToken 840735 840737 - PropertyAccessExpression 840737 840759 - Identifier 840737 840750 - Identifier 840751 840759 - AmpersandAmpersandToken 840760 840763 - CallExpression 840763 840793 - Identifier 840763 840783 - Identifier 840784 840785 - Identifier 840786 840792 - GreaterThanEqualsToken 840794 840797 - NumericLiteral 840797 840799 - FunctionDeclaration 840819 841001 - Identifier 840835 840864 - Parameter 840865 840888 - Identifier 840865 840869 - TypeReference 840870 840888 - Identifier 840870 840888 - Block 840889 841001 - ReturnStatement 840891 840994 - ConditionalExpression 840907 840993 - CallExpression 840907 840942 - Identifier 840907 840936 - Identifier 840937 840941 - QuestionToken 840942 840944 - CallExpression 840944 840981 - Identifier 840944 840975 - Identifier 840976 840980 - ColonToken 840981 840983 - Identifier 840983 840993 - FunctionDeclaration 841001 841218 - Identifier 841017 841047 - Parameter 841048 841058 - Identifier 841048 841052 - TypeReference 841053 841058 - Identifier 841053 841058 - Block 841059 841218 - VariableStatement 841061 841133 - VariableDeclarationList 841061 841132 - VariableDeclaration 841076 841132 - Identifier 841076 841087 - CallExpression 841089 841132 - Identifier 841089 841107 - Identifier 841108 841112 - FalseKeyword 841113 841131 - ReturnStatement 841133 841211 - ConditionalExpression 841149 841210 - BinaryExpression 841149 841169 - Identifier 841149 841160 - ExclamationEqualsEqualsToken 841160 841164 - Identifier 841164 841169 - QuestionToken 841169 841171 - Identifier 841171 841182 - ColonToken 841182 841184 - CallExpression 841184 841210 - Identifier 841184 841204 - Identifier 841205 841209 - FunctionDeclaration 841218 842322 - Identifier 841234 841265 - Parameter 841266 841289 - Identifier 841266 841270 - TypeReference 841271 841289 - Identifier 841271 841289 - Block 841290 842322 - IfStatement 841292 841648 - CallExpression 841306 841344 - Identifier 841306 841338 - Identifier 841339 841343 - Block 841345 841648 - ReturnStatement 841347 841637 - CallExpression 841561 841636 - Identifier 841561 841589 - AsExpression 841590 841619 - PropertyAccessExpression 841590 841605 - Identifier 841590 841594 - Identifier 841595 841605 - TypeReference 841608 841619 - Identifier 841608 841619 - PropertyAccessExpression 841620 841635 - Identifier 841620 841625 - Identifier 841626 841635 - VariableStatement 841648 841728 - VariableDeclarationList 841648 841727 - VariableDeclaration 841663 841727 - Identifier 841663 841679 - CallExpression 841681 841727 - Identifier 841681 841711 - PropertyAccessExpression 841712 841726 - Identifier 841712 841716 - Identifier 841717 841726 - IfStatement 841728 842017 - BinaryExpression 841742 841795 - Identifier 841742 841757 - AmpersandAmpersandToken 841757 841760 - BinaryExpression 841760 841795 - Identifier 841760 841776 - ExclamationEqualsEqualsToken 841776 841780 - PropertyAccessExpression 841780 841795 - Identifier 841780 841785 - Identifier 841786 841795 - Block 841796 842017 - VariableStatement 841798 841918 - VariableDeclarationList 841798 841917 - VariableDeclaration 841817 841917 - Identifier 841817 841831 - CallExpression 841833 841917 - Identifier 841833 841865 - PropertyAccessExpression 841866 841881 - Identifier 841866 841870 - Identifier 841871 841881 - Identifier 841882 841898 - PropertyAccessExpression 841899 841916 - Identifier 841899 841904 - Identifier 841905 841916 - IfStatement 841918 842006 - Identifier 841936 841949 - Block 841950 842006 - ReturnStatement 841952 841991 - Identifier 841976 841990 - VariableStatement 842017 842099 - VariableDeclarationList 842017 842098 - VariableDeclaration 842032 842098 - Identifier 842032 842049 - CallExpression 842051 842098 - Identifier 842051 842081 - PropertyAccessExpression 842082 842097 - Identifier 842082 842086 - Identifier 842087 842097 - IfStatement 842099 842288 - BinaryExpression 842113 842169 - Identifier 842113 842129 - AmpersandAmpersandToken 842129 842132 - BinaryExpression 842132 842169 - Identifier 842132 842149 - ExclamationEqualsEqualsToken 842149 842153 - PropertyAccessExpression 842153 842169 - Identifier 842153 842158 - Identifier 842159 842169 - Block 842170 842288 - ReturnStatement 842172 842277 - CallExpression 842192 842276 - Identifier 842192 842224 - Identifier 842225 842241 - PropertyAccessExpression 842242 842257 - Identifier 842242 842247 - Identifier 842248 842257 - PropertyAccessExpression 842258 842275 - Identifier 842258 842263 - Identifier 842264 842275 - ReturnStatement 842288 842315 - Identifier 842304 842314 - FunctionDeclaration 842322 843353 - Identifier 842338 842376 - Parameter 842377 842398 - Identifier 842377 842381 - TypeReference 842382 842398 - Identifier 842382 842398 - Block 842399 843353 - IfStatement 842401 843298 - PrefixUnaryExpression 842415 842446 - PropertyAccessExpression 842416 842446 - Identifier 842416 842420 - Identifier 842421 842446 - Block 842447 843298 - VariableStatement 842449 843024 - VariableDeclarationList 842449 843023 - VariableDeclaration 842961 843023 - Identifier 842961 842976 - CallExpression 842978 843023 - Identifier 842978 843017 - Identifier 843018 843022 - VariableStatement 843024 843100 - VariableDeclarationList 843024 843099 - VariableDeclaration 843043 843099 - Identifier 843043 843059 - CallExpression 843061 843099 - Identifier 843061 843093 - Identifier 843094 843098 - ExpressionStatement 843100 843287 - BinaryExpression 843100 843286 - PropertyAccessExpression 843100 843144 - Identifier 843100 843118 - Identifier 843119 843144 - EqualsToken 843144 843146 - ConditionalExpression 843146 843286 - CallExpression 843146 843172 - Identifier 843146 843156 - Identifier 843157 843171 - QuestionToken 843172 843174 - Identifier 843174 843190 - ColonToken 843190 843192 - ConditionalExpression 843192 843286 - CallExpression 843192 843219 - Identifier 843192 843202 - Identifier 843203 843218 - QuestionToken 843219 843221 - Identifier 843221 843236 - ColonToken 843236 843238 - CallExpression 843238 843286 - Identifier 843238 843251 - ArrayLiteralExpression 843252 843285 - Identifier 843253 843267 - Identifier 843268 843284 - ReturnStatement 843298 843346 - PropertyAccessExpression 843314 843345 - Identifier 843314 843319 - Identifier 843320 843345 - FunctionDeclaration 843353 845516 - Identifier 843369 843412 - Parameter 843413 843434 - Identifier 843413 843417 - TypeReference 843418 843434 - Identifier 843418 843434 - UnionType 843436 843453 - TypeReference 843436 843441 - Identifier 843436 843441 - UndefinedKeyword 843443 843453 - Block 843453 845516 - IfStatement 843455 843606 - BinaryExpression 843469 843520 - PropertyAccessExpression 843469 843506 - Identifier 843469 843473 - Identifier 843474 843506 - ExclamationEqualsEqualsToken 843506 843510 - Identifier 843510 843520 - Block 843521 843606 - ReturnStatement 843523 843595 - BinaryExpression 843543 843594 - PropertyAccessExpression 843543 843581 - Identifier 843543 843548 - Identifier 843549 843581 - BarBarToken 843581 843584 - Identifier 843584 843594 - IfStatement 843606 845426 - BinaryExpression 844704 844770 - PropertyAccessExpression 844704 844728 - PropertyAccessExpression 844704 844713 - Identifier 844704 844708 - Identifier 844709 844713 - Identifier 844714 844728 - AmpersandAmpersandToken 844728 844731 - BinaryExpression 844731 844770 - PropertyAccessExpression 844731 844761 - Identifier 844731 844736 - Identifier 844737 844761 - ExclamationEqualsEqualsToken 844761 844765 - Identifier 844765 844770 - Block 844771 845426 - VariableStatement 844773 844859 - VariableDeclarationList 844773 844858 - VariableDeclaration 844792 844858 - Identifier 844792 844803 - CallExpression 844805 844858 - Identifier 844805 844823 - PropertyAccessExpression 844824 844838 - Identifier 844824 844828 - Identifier 844829 844838 - FalseKeyword 844839 844857 - VariableStatement 844859 844969 - VariableDeclarationList 844859 844968 - VariableDeclaration 844878 844968 - Identifier 844878 844889 - ConditionalExpression 844891 844968 - BinaryExpression 844891 844921 - Identifier 844891 844902 - EqualsEqualsEqualsToken 844902 844906 - PropertyAccessExpression 844906 844921 - Identifier 844906 844911 - Identifier 844912 844921 - QuestionToken 844921 844923 - CallExpression 844923 844955 - Identifier 844923 844943 - Identifier 844944 844954 - ColonToken 844955 844957 - Identifier 844957 844968 - IfStatement 844969 845415 - BinaryExpression 844987 845030 - Identifier 844987 844997 - AmpersandAmpersandToken 844997 845000 - BinaryExpression 845000 845030 - Identifier 845000 845011 - ExclamationEqualsEqualsToken 845011 845015 - PropertyAccessExpression 845015 845030 - Identifier 845015 845020 - Identifier 845021 845030 - Block 845031 845415 - VariableStatement 845033 845200 - VariableDeclarationList 845033 845199 - VariableDeclaration 845056 845199 - Identifier 845056 845069 - CallExpression 845071 845199 - Identifier 845071 845103 - Identifier 845104 845108 - CallExpression 845109 845174 - Identifier 845109 845128 - PropertyAccessExpression 845129 845148 - PropertyAccessExpression 845129 845138 - Identifier 845129 845133 - Identifier 845134 845138 - Identifier 845139 845148 - Identifier 845149 845160 - PropertyAccessExpression 845161 845173 - Identifier 845161 845166 - Identifier 845167 845173 - TrueKeyword 845175 845198 - IfStatement 845200 845400 - PrefixUnaryExpression 845222 845261 - ParenthesizedExpression 845223 845261 - BinaryExpression 845224 845260 - PropertyAccessExpression 845224 845242 - Identifier 845224 845236 - Identifier 845237 845242 - AmpersandToken 845242 845244 - PropertyAccessExpression 845244 845260 - Identifier 845244 845254 - Identifier 845255 845260 - Block 845262 845400 - ExpressionStatement 845264 845339 - BinaryExpression 845264 845338 - PropertyAccessExpression 845264 845323 - Identifier 845264 845290 - Identifier 845291 845323 - EqualsToken 845323 845325 - Identifier 845325 845338 - ReturnStatement 845339 845381 - Identifier 845367 845380 - ExpressionStatement 845426 845482 - BinaryExpression 845426 845481 - PropertyAccessExpression 845426 845473 - Identifier 845426 845440 - Identifier 845441 845473 - EqualsToken 845473 845475 - FalseKeyword 845475 845481 - ReturnStatement 845482 845509 - Identifier 845498 845508 - FunctionDeclaration 845516 845710 - Identifier 845532 845565 - Parameter 845566 845587 - Identifier 845566 845570 - TypeReference 845571 845587 - Identifier 845571 845587 - Block 845588 845710 - ReturnStatement 845590 845703 - BinaryExpression 845606 845702 - CallExpression 845606 845655 - Identifier 845606 845649 - Identifier 845650 845654 - BarBarToken 845655 845658 - CallExpression 845658 845702 - Identifier 845658 845696 - Identifier 845697 845701 - FunctionDeclaration 845710 845894 - Identifier 845726 845757 - Parameter 845758 845779 - Identifier 845758 845762 - TypeReference 845763 845779 - Identifier 845763 845779 - Block 845780 845894 - ReturnStatement 845782 845887 - ConditionalExpression 845798 845886 - CallExpression 845798 845833 - Identifier 845798 845827 - Identifier 845828 845832 - QuestionToken 845833 845835 - CallExpression 845835 845874 - Identifier 845835 845868 - Identifier 845869 845873 - ColonToken 845874 845876 - Identifier 845876 845886 - FunctionDeclaration 845894 848100 - Identifier 845910 845947 - Parameter 845948 845970 - Identifier 845948 845953 - TypeOperator 845954 845970 - ArrayType 845963 845970 - TypeReference 845963 845968 - Identifier 845963 845968 - Parameter 845971 845994 - Identifier 845971 845985 - BooleanKeyword 845986 845994 - Block 845995 848100 - VariableStatement 845997 846043 - VariableDeclarationList 845997 846042 - VariableDeclaration 846010 846042 - Identifier 846010 846022 - UnionType 846023 846042 - ArrayType 846023 846030 - TypeReference 846023 846028 - Identifier 846023 846028 - UndefinedKeyword 846032 846042 - VariableStatement 846043 846087 - VariableDeclarationList 846043 846086 - VariableDeclaration 846056 846086 - Identifier 846056 846078 - FalseKeyword 846080 846086 - ForOfStatement 846087 847072 - VariableDeclarationList 846102 846109 - VariableDeclaration 846107 846109 - Identifier 846107 846109 - Identifier 846112 846118 - Block 846119 847072 - IfStatement 846121 847061 - BinaryExpression 846139 846171 - PropertyAccessExpression 846139 846146 - Identifier 846139 846140 - Identifier 846141 846146 - AmpersandToken 846146 846148 - PropertyAccessExpression 846148 846171 - Identifier 846148 846158 - Identifier 846159 846171 - Block 846172 846905 - VariableStatement 846174 846426 - VariableDeclarationList 846174 846425 - VariableDeclaration 846389 846425 - Identifier 846389 846400 - CallExpression 846402 846425 - Identifier 846402 846422 - Identifier 846423 846424 - WhileStatement 846426 846640 - BinaryExpression 846451 846551 - Identifier 846451 846461 - AmpersandAmpersandToken 846461 846464 - BinaryExpression 846464 846551 - PropertyAccessExpression 846464 846481 - Identifier 846464 846475 - Identifier 846476 846481 - AmpersandToken 846481 846483 - ParenthesizedExpression 846483 846551 - BinaryExpression 846485 846550 - BinaryExpression 846485 846526 - PropertyAccessExpression 846485 846508 - Identifier 846485 846494 - Identifier 846495 846508 - BarToken 846508 846510 - PropertyAccessExpression 846510 846526 - Identifier 846510 846520 - Identifier 846521 846526 - BarToken 846526 846528 - PropertyAccessExpression 846528 846550 - Identifier 846528 846538 - Identifier 846539 846550 - Block 846552 846640 - ExpressionStatement 846554 846621 - BinaryExpression 846554 846620 - Identifier 846554 846586 - EqualsToken 846586 846588 - CallExpression 846588 846620 - Identifier 846588 846608 - Identifier 846609 846619 - IfStatement 846640 846890 - Identifier 846662 846672 - Block 846673 846890 - ExpressionStatement 846675 846743 - BinaryExpression 846675 846742 - Identifier 846675 846708 - EqualsToken 846708 846710 - CallExpression 846710 846742 - Identifier 846710 846717 - Identifier 846718 846729 - Identifier 846730 846741 - IfStatement 846743 846871 - Identifier 846769 846782 - Block 846783 846871 - ExpressionStatement 846785 846848 - BinaryExpression 846785 846847 - Identifier 846785 846822 - EqualsToken 846822 846824 - CallExpression 846824 846847 - Identifier 846824 846831 - Identifier 846832 846843 - Identifier 846844 846846 - IfStatement 846923 847061 - BinaryExpression 846928 846996 - BinaryExpression 846928 846963 - PropertyAccessExpression 846928 846935 - Identifier 846928 846929 - Identifier 846930 846935 - AmpersandToken 846935 846937 - PropertyAccessExpression 846937 846963 - Identifier 846937 846947 - Identifier 846948 846963 - BarBarToken 846963 846966 - CallExpression 846966 846996 - Identifier 846966 846993 - Identifier 846994 846995 - Block 846997 847061 - ExpressionStatement 846999 847046 - BinaryExpression 846999 847045 - Identifier 846999 847038 - EqualsToken 847038 847040 - TrueKeyword 847040 847045 - IfStatement 847072 848066 - BinaryExpression 847290 847345 - Identifier 847290 847301 - AmpersandAmpersandToken 847301 847304 - ParenthesizedExpression 847304 847345 - BinaryExpression 847306 847344 - Identifier 847306 847319 - BarBarToken 847319 847322 - Identifier 847322 847344 - Block 847346 848066 - IfStatement 847348 847835 - Identifier 847366 847387 - Block 847388 847835 - ForOfStatement 847390 847820 - VariableDeclarationList 847599 847606 - VariableDeclaration 847604 847606 - Identifier 847604 847606 - Identifier 847609 847615 - Block 847616 847820 - IfStatement 847618 847801 - BinaryExpression 847644 847712 - BinaryExpression 847644 847679 - PropertyAccessExpression 847644 847651 - Identifier 847644 847645 - Identifier 847646 847651 - AmpersandToken 847651 847653 - PropertyAccessExpression 847653 847679 - Identifier 847653 847663 - Identifier 847664 847679 - BarBarToken 847679 847682 - CallExpression 847682 847712 - Identifier 847682 847709 - Identifier 847710 847711 - Block 847713 847801 - ExpressionStatement 847715 847778 - BinaryExpression 847715 847777 - Identifier 847715 847752 - EqualsToken 847752 847754 - CallExpression 847754 847777 - Identifier 847754 847761 - Identifier 847762 847773 - Identifier 847774 847776 - ReturnStatement 847835 848055 - CallExpression 847942 848054 - Identifier 847942 847960 - CallExpression 847961 848034 - Identifier 847961 847980 - Identifier 847981 847992 - PropertyAccessExpression 847993 848033 - Identifier 847993 848011 - Identifier 848012 848033 - FalseKeyword 848035 848053 - ReturnStatement 848066 848093 - Identifier 848082 848092 - FunctionDeclaration 848100 848683 - Identifier 848116 848140 - Parameter 848141 848151 - Identifier 848141 848145 - TypeReference 848146 848151 - Identifier 848146 848151 - UnionType 848153 848170 - TypeReference 848153 848158 - Identifier 848153 848158 - UndefinedKeyword 848160 848170 - Block 848170 848683 - IfStatement 848172 848593 - BinaryExpression 848186 848349 - BinaryExpression 848186 848321 - PropertyAccessExpression 848186 848196 - Identifier 848186 848190 - Identifier 848191 848196 - AmpersandToken 848196 848198 - ParenthesizedExpression 848198 848321 - BinaryExpression 848200 848320 - BinaryExpression 848200 848294 - BinaryExpression 848200 848266 - PropertyAccessExpression 848200 848234 - Identifier 848200 848209 - Identifier 848210 848234 - BarToken 848234 848236 - PropertyAccessExpression 848236 848266 - Identifier 848236 848246 - Identifier 848247 848266 - BarToken 848266 848268 - PropertyAccessExpression 848268 848294 - Identifier 848268 848278 - Identifier 848279 848294 - BarToken 848294 848296 - PropertyAccessExpression 848296 848320 - Identifier 848296 848306 - Identifier 848307 848320 - BarBarToken 848321 848324 - CallExpression 848324 848349 - Identifier 848324 848343 - Identifier 848344 848348 - Block 848350 848593 - VariableStatement 848352 848463 - VariableDeclarationList 848352 848462 - VariableDeclaration 848371 848462 - Identifier 848371 848382 - CallExpression 848384 848462 - Identifier 848384 848410 - AsExpression 848411 848461 - Identifier 848411 848415 - UnionType 848418 848461 - TypeReference 848418 848435 - Identifier 848418 848435 - TypeReference 848437 848461 - Identifier 848437 848461 - ReturnStatement 848463 848582 - ConditionalExpression 848483 848581 - BinaryExpression 848483 848556 - BinaryExpression 848483 848515 - Identifier 848483 848494 - ExclamationEqualsEqualsToken 848494 848498 - Identifier 848498 848515 - AmpersandAmpersandToken 848515 848518 - BinaryExpression 848518 848556 - Identifier 848518 848529 - ExclamationEqualsEqualsToken 848529 848533 - Identifier 848533 848556 - QuestionToken 848556 848558 - Identifier 848558 848569 - ColonToken 848569 848571 - Identifier 848571 848581 - ReturnStatement 848593 848676 - ConditionalExpression 848609 848675 - BinaryExpression 848609 848638 - PropertyAccessExpression 848609 848620 - Identifier 848609 848614 - Identifier 848615 848620 - AmpersandToken 848620 848622 - PropertyAccessExpression 848622 848638 - Identifier 848622 848632 - Identifier 848633 848638 - QuestionToken 848638 848640 - Identifier 848640 848663 - ColonToken 848663 848665 - Identifier 848665 848675 - FunctionDeclaration 848683 849076 - Identifier 848976 849000 - Parameter 849001 849011 - Identifier 849001 849005 - TypeReference 849006 849011 - Identifier 849006 849011 - Block 849012 849076 - ReturnStatement 849014 849069 - BinaryExpression 849030 849068 - CallExpression 849030 849060 - Identifier 849030 849054 - Identifier 849055 849059 - BarBarToken 849060 849063 - Identifier 849063 849068 - FunctionDeclaration 849076 849239 - Identifier 849092 849121 - Parameter 849122 849144 - Identifier 849122 849126 - TypeReference 849127 849144 - Identifier 849127 849144 - BooleanKeyword 849146 849154 - Block 849154 849239 - ReturnStatement 849156 849232 - BinaryExpression 849172 849231 - CallExpression 849172 849204 - Identifier 849172 849198 - Identifier 849199 849203 - ExclamationEqualsEqualsToken 849204 849208 - Identifier 849208 849231 - FunctionDeclaration 849239 856761 - Identifier 849548 849574 - Parameter 849575 849623 - Identifier 849575 849579 - UnionType 849580 849623 - TypeReference 849580 849597 - Identifier 849580 849597 - TypeReference 849599 849623 - Identifier 849599 849623 - TypeReference 849625 849630 - Identifier 849625 849630 - Block 849630 856761 - IfStatement 849632 849736 - PropertyAccessExpression 849646 849673 - Identifier 849646 849650 - Identifier 849651 849673 - Block 849674 849736 - ReturnStatement 849676 849725 - PropertyAccessExpression 849696 849724 - Identifier 849696 849701 - Identifier 849702 849724 - VariableStatement 849736 849773 - VariableDeclarationList 849736 849772 - VariableDeclaration 849751 849772 - Identifier 849751 849757 - ArrayType 849758 849767 - ObjectKeyword 849758 849765 - ArrayLiteralExpression 849769 849772 - ReturnStatement 849773 849853 - BinaryExpression 849789 849852 - PropertyAccessExpression 849789 849817 - Identifier 849789 849794 - Identifier 849795 849817 - EqualsToken 849817 849819 - CallExpression 849819 849852 - Identifier 849819 849846 - Identifier 849847 849851 - FunctionDeclaration 849853 852130 - Identifier 849873 849900 - Parameter 849901 849908 - Identifier 849901 849902 - TypeReference 849903 849908 - Identifier 849903 849908 - TypeReference 849910 849915 - Identifier 849910 849915 - Block 849915 852130 - IfStatement 849917 852072 - PrefixUnaryExpression 849935 849961 - PropertyAccessExpression 849936 849961 - Identifier 849936 849937 - Identifier 849938 849961 - Block 849962 852072 - IfStatement 849964 850130 - PrefixUnaryExpression 849986 850056 - CallExpression 849987 850056 - Identifier 849987 850005 - Identifier 850006 850007 - PropertyAccessExpression 850008 850055 - Identifier 850008 850031 - Identifier 850032 850055 - Block 850057 850130 - ReturnStatement 850059 850111 - Identifier 850087 850110 - VariableStatement 850130 850159 - VariableDeclarationList 850130 850158 - VariableDeclaration 850151 850158 - Identifier 850151 850158 - VariableStatement 850159 850866 - VariableDeclarationList 850159 850865 - VariableDeclaration 850830 850865 - Identifier 850830 850839 - CallExpression 850841 850865 - Identifier 850841 850862 - Identifier 850863 850864 - IfStatement 850866 851149 - BinaryExpression 850888 850956 - BinaryExpression 850888 850905 - PropertyAccessExpression 850888 850900 - Identifier 850888 850893 - Identifier 850894 850900 - LessThanToken 850900 850902 - NumericLiteral 850902 850905 - BarBarToken 850905 850908 - BinaryExpression 850908 850956 - BinaryExpression 850908 850926 - PropertyAccessExpression 850908 850921 - Identifier 850908 850914 - Identifier 850915 850921 - LessThanToken 850921 850923 - NumericLiteral 850923 850926 - AmpersandAmpersandToken 850926 850929 - PrefixUnaryExpression 850929 850956 - CallExpression 850931 850956 - Identifier 850931 850939 - Identifier 850940 850945 - Identifier 850946 850955 - Block 850957 851149 - ExpressionStatement 850959 851002 - CallExpression 850959 851001 - PropertyAccessExpression 850959 850991 - Identifier 850959 850986 - Identifier 850987 850991 - Identifier 850992 851000 - ExpressionStatement 851002 851096 - BinaryExpression 851002 851095 - Identifier 851002 851030 - EqualsToken 851030 851032 - CallExpression 851032 851095 - Identifier 851032 851054 - CallExpression 851055 851094 - Identifier 851055 851072 - Identifier 851073 851074 - FalseKeyword 851075 851093 - ExpressionStatement 851096 851130 - CallExpression 851096 851129 - PropertyAccessExpression 851096 851127 - Identifier 851096 851123 - Identifier 851124 851127 - IfStatement 851149 851982 - PrefixUnaryExpression 851171 851191 - CallExpression 851172 851191 - Identifier 851172 851189 - Block 851192 851982 - IfStatement 851194 851909 - BinaryExpression 851220 851253 - PropertyAccessExpression 851220 851227 - Identifier 851220 851221 - Identifier 851222 851227 - AmpersandToken 851227 851229 - PropertyAccessExpression 851229 851253 - Identifier 851229 851239 - Identifier 851240 851253 - Block 851254 851909 - VariableStatement 851256 851345 - VariableDeclarationList 851256 851344 - VariableDeclaration 851287 851344 - Identifier 851287 851297 - CallExpression 851299 851344 - Identifier 851299 851324 - AsExpression 851325 851343 - Identifier 851325 851326 - TypeReference 851329 851343 - Identifier 851329 851343 - IfStatement 851345 851886 - Identifier 851375 851384 - Block 851385 851886 - VariableStatement 851387 851526 - VariableDeclarationList 851387 851525 - VariableDeclaration 851422 851525 - Identifier 851422 851433 - CallExpression 851435 851525 - Identifier 851435 851441 - Identifier 851442 851451 - PropertyAccessExpression 851452 851507 - Identifier 851452 851464 - Identifier 851465 851507 - CallExpression 851508 851524 - Identifier 851508 851521 - Identifier 851522 851523 - IfStatement 851526 851859 - BinaryExpression 851560 851665 - BinaryExpression 851560 851618 - Identifier 851560 851571 - AmpersandAmpersandToken 851571 851574 - PrefixUnaryExpression 851574 851618 - CallExpression 851576 851618 - Identifier 851576 851594 - Identifier 851595 851604 - Identifier 851605 851617 - AmpersandAmpersandToken 851618 851621 - PrefixUnaryExpression 851621 851665 - CallExpression 851623 851665 - Identifier 851623 851641 - Identifier 851642 851653 - Identifier 851654 851664 - Block 851666 851859 - ExpressionStatement 851668 851828 - CallExpression 851668 851827 - Identifier 851668 851716 - Identifier 851717 851727 - CallExpression 851728 851826 - Identifier 851728 851752 - Identifier 851753 851764 - PropertyAccessExpression 851765 851825 - Identifier 851765 851777 - Identifier 851778 851825 - ExpressionStatement 851909 851963 - BinaryExpression 851909 851962 - Identifier 851909 851937 - EqualsToken 851937 851939 - Identifier 851939 851962 - ExpressionStatement 851982 852057 - BinaryExpression 851982 852056 - PropertyAccessExpression 851982 852025 - Identifier 851982 852001 - Identifier 852002 852025 - QuestionQuestionEqualsToken 852025 852029 - BinaryExpression 852029 852056 - Identifier 852029 852036 - BarBarToken 852036 852039 - Identifier 852039 852056 - ReturnStatement 852072 852119 - PropertyAccessExpression 852092 852118 - Identifier 852092 852094 - Identifier 852095 852118 - FunctionDeclaration 852130 852354 - Identifier 852150 852168 - Parameter 852169 852176 - Identifier 852169 852170 - TypeReference 852171 852176 - Identifier 852171 852176 - UnionType 852178 852195 - TypeReference 852178 852183 - Identifier 852178 852183 - UndefinedKeyword 852185 852195 - Block 852195 852354 - VariableStatement 852197 852251 - VariableDeclarationList 852197 852250 - VariableDeclaration 852216 852250 - Identifier 852216 852218 - CallExpression 852220 852250 - Identifier 852220 852247 - Identifier 852248 852249 - ReturnStatement 852251 852343 - ConditionalExpression 852271 852342 - BinaryExpression 852271 852326 - BinaryExpression 852271 852294 - Identifier 852271 852273 - ExclamationEqualsEqualsToken 852273 852277 - Identifier 852277 852294 - AmpersandAmpersandToken 852294 852297 - BinaryExpression 852297 852326 - Identifier 852297 852299 - ExclamationEqualsEqualsToken 852299 852303 - Identifier 852303 852326 - QuestionToken 852326 852328 - Identifier 852328 852330 - ColonToken 852330 852332 - Identifier 852332 852342 - FunctionDeclaration 852354 856754 - Identifier 852374 852396 - Parameter 852397 852404 - Identifier 852397 852398 - TypeReference 852399 852404 - Identifier 852399 852404 - UnionType 852406 852423 - TypeReference 852406 852411 - Identifier 852406 852411 - UndefinedKeyword 852413 852423 - Block 852423 856754 - IfStatement 852425 852741 - BinaryExpression 852443 852476 - PropertyAccessExpression 852443 852450 - Identifier 852443 852444 - Identifier 852445 852450 - AmpersandToken 852450 852452 - PropertyAccessExpression 852452 852476 - Identifier 852452 852462 - Identifier 852463 852476 - Block 852477 852741 - VariableStatement 852479 852567 - VariableDeclarationList 852479 852566 - VariableDeclaration 852502 852566 - Identifier 852502 852513 - CallExpression 852515 852566 - Identifier 852515 852546 - AsExpression 852547 852565 - Identifier 852547 852548 - TypeReference 852551 852565 - Identifier 852551 852565 - ReturnStatement 852567 852726 - ConditionalExpression 852591 852725 - BinaryExpression 852591 852638 - PropertyAccessExpression 852591 852623 - ParenthesizedExpression 852591 852612 - AsExpression 852593 852611 - Identifier 852593 852594 - TypeReference 852597 852611 - Identifier 852597 852611 - Identifier 852613 852623 - BarBarToken 852623 852626 - PrefixUnaryExpression 852626 852638 - Identifier 852628 852638 - QuestionToken 852638 852640 - Identifier 852640 852672 - ColonToken 852672 852674 - CallExpression 852674 852725 - Identifier 852674 852713 - Identifier 852714 852724 - IfStatement 852741 853769 - BinaryExpression 852759 852798 - PropertyAccessExpression 852759 852766 - Identifier 852759 852760 - Identifier 852761 852766 - AmpersandToken 852766 852768 - PropertyAccessExpression 852768 852798 - Identifier 852768 852778 - Identifier 852779 852798 - Block 852799 853769 - VariableStatement 852801 852870 - VariableDeclarationList 852801 852869 - VariableDeclaration 852824 852869 - Identifier 852824 852830 - PropertyAccessExpression 852832 852869 - ParenthesizedExpression 852832 852863 - AsExpression 852834 852862 - Identifier 852834 852835 - TypeReference 852838 852862 - Identifier 852838 852862 - Identifier 852864 852869 - VariableStatement 852870 852917 - VariableDeclarationList 852870 852916 - VariableDeclaration 852893 852916 - Identifier 852893 852903 - ArrayType 852904 852911 - TypeReference 852904 852909 - Identifier 852904 852909 - ArrayLiteralExpression 852913 852916 - VariableStatement 852917 852957 - VariableDeclarationList 852917 852956 - VariableDeclaration 852938 852956 - Identifier 852938 852948 - FalseKeyword 852950 852956 - ForOfStatement 852957 853413 - VariableDeclarationList 852980 852990 - VariableDeclaration 852985 852990 - Identifier 852985 852990 - Identifier 852993 852999 - Block 853000 853413 - VariableStatement 853002 853065 - VariableDeclarationList 853002 853064 - VariableDeclaration 853029 853064 - Identifier 853029 853038 - CallExpression 853040 853064 - Identifier 853040 853058 - Identifier 853059 853063 - IfStatement 853065 853394 - Identifier 853091 853099 - Block 853100 853300 - IfStatement 853102 853226 - BinaryExpression 853132 853149 - Identifier 853132 853140 - ExclamationEqualsEqualsToken 853140 853144 - Identifier 853144 853149 - Block 853150 853226 - ExpressionStatement 853152 853199 - BinaryExpression 853152 853198 - Identifier 853152 853191 - EqualsToken 853191 853193 - TrueKeyword 853193 853198 - ExpressionStatement 853226 853277 - CallExpression 853226 853276 - PropertyAccessExpression 853226 853266 - Identifier 853226 853261 - Identifier 853262 853266 - Identifier 853267 853275 - Block 853326 853394 - ExpressionStatement 853328 853371 - BinaryExpression 853328 853370 - Identifier 853328 853363 - EqualsToken 853363 853365 - TrueKeyword 853365 853370 - IfStatement 853413 853498 - PrefixUnaryExpression 853435 853445 - Identifier 853436 853445 - Block 853446 853498 - ReturnStatement 853448 853479 - Identifier 853476 853478 - ReturnStatement 853498 853754 - ConditionalExpression 853522 853753 - BinaryExpression 853522 853585 - BinaryExpression 853522 853548 - PropertyAccessExpression 853522 853530 - Identifier 853522 853524 - Identifier 853525 853530 - AmpersandToken 853530 853532 - PropertyAccessExpression 853532 853548 - Identifier 853532 853542 - Identifier 853543 853548 - AmpersandAmpersandToken 853548 853551 - BinaryExpression 853551 853585 - PropertyAccessExpression 853551 853568 - Identifier 853551 853561 - Identifier 853562 853568 - EqualsEqualsEqualsToken 853568 853572 - PropertyAccessExpression 853572 853585 - Identifier 853572 853578 - Identifier 853579 853585 - QuestionToken 853585 853587 - CallExpression 853587 853611 - Identifier 853587 853600 - Identifier 853601 853610 - ColonToken 853611 853613 - ConditionalExpression 853613 853753 - BinaryExpression 853613 853687 - BinaryExpression 853613 853667 - PropertyAccessExpression 853613 853642 - Identifier 853613 853636 - Identifier 853637 853642 - AmpersandToken 853642 853644 - PropertyAccessExpression 853644 853667 - Identifier 853644 853654 - Identifier 853655 853667 - AmpersandAmpersandToken 853667 853670 - PropertyAccessExpression 853670 853687 - Identifier 853670 853680 - Identifier 853681 853687 - QuestionToken 853687 853689 - CallExpression 853689 853720 - Identifier 853689 853709 - Identifier 853710 853719 - ColonToken 853720 853722 - Identifier 853722 853753 - IfStatement 853769 853878 - BinaryExpression 853787 853812 - PropertyAccessExpression 853787 853794 - Identifier 853787 853788 - Identifier 853789 853794 - AmpersandToken 853794 853796 - PropertyAccessExpression 853796 853812 - Identifier 853796 853806 - Identifier 853807 853812 - Block 853813 853878 - ReturnStatement 853815 853863 - Identifier 853839 853862 - IfStatement 853878 854235 - BinaryExpression 853896 853931 - PropertyAccessExpression 853896 853903 - Identifier 853896 853897 - Identifier 853898 853903 - AmpersandToken 853903 853905 - PropertyAccessExpression 853905 853931 - Identifier 853905 853915 - Identifier 853916 853931 - Block 853932 854235 - VariableStatement 853934 853999 - VariableDeclarationList 853934 853998 - VariableDeclaration 853957 853998 - Identifier 853957 853963 - PropertyAccessExpression 853965 853998 - ParenthesizedExpression 853965 853992 - AsExpression 853967 853991 - Identifier 853967 853968 - TypeReference 853971 853991 - Identifier 853971 853991 - Identifier 853993 853998 - VariableStatement 853999 854074 - VariableDeclarationList 853999 854073 - VariableDeclaration 854022 854073 - Identifier 854022 854034 - CallExpression 854036 854073 - Identifier 854036 854047 - Identifier 854048 854053 - Identifier 854054 854072 - ReturnStatement 854074 854220 - ConditionalExpression 854098 854219 - BinaryExpression 854098 854134 - PropertyAccessExpression 854098 854117 - Identifier 854098 854110 - Identifier 854111 854117 - EqualsEqualsEqualsToken 854117 854121 - PropertyAccessExpression 854121 854134 - Identifier 854121 854127 - Identifier 854128 854134 - QuestionToken 854134 854136 - CallExpression 854136 854206 - Identifier 854136 854159 - PropertyAccessExpression 854160 854192 - ParenthesizedExpression 854160 854186 - AsExpression 854161 854185 - Identifier 854161 854162 - TypeReference 854165 854185 - Identifier 854165 854185 - Identifier 854187 854192 - Identifier 854193 854205 - ColonToken 854206 854208 - Identifier 854208 854219 - IfStatement 854235 854555 - BinaryExpression 854253 854286 - PropertyAccessExpression 854253 854260 - Identifier 854253 854254 - Identifier 854255 854260 - AmpersandToken 854260 854262 - PropertyAccessExpression 854262 854286 - Identifier 854262 854272 - Identifier 854273 854286 - Block 854287 854555 - VariableStatement 854289 854375 - VariableDeclarationList 854289 854374 - VariableDeclaration 854312 854374 - Identifier 854312 854323 - CallExpression 854325 854374 - Identifier 854325 854343 - PropertyAccessExpression 854344 854373 - ParenthesizedExpression 854344 854368 - AsExpression 854345 854367 - Identifier 854345 854346 - TypeReference 854349 854367 - Identifier 854349 854367 - Identifier 854369 854373 - ReturnStatement 854375 854540 - ConditionalExpression 854399 854539 - BinaryExpression 854399 854458 - Identifier 854399 854410 - AmpersandAmpersandToken 854410 854413 - BinaryExpression 854413 854458 - Identifier 854413 854424 - ExclamationEqualsEqualsToken 854424 854428 - PropertyAccessExpression 854428 854458 - ParenthesizedExpression 854428 854453 - AsExpression 854430 854452 - Identifier 854430 854431 - TypeReference 854434 854452 - Identifier 854434 854452 - Identifier 854454 854458 - QuestionToken 854458 854460 - CallExpression 854460 854526 - Identifier 854460 854481 - PropertyAccessExpression 854482 854513 - ParenthesizedExpression 854482 854506 - AsExpression 854483 854505 - Identifier 854483 854484 - TypeReference 854487 854505 - Identifier 854487 854505 - Identifier 854507 854513 - Identifier 854514 854525 - ColonToken 854526 854528 - Identifier 854528 854539 - IfStatement 854555 855529 - BinaryExpression 854573 854606 - PropertyAccessExpression 854573 854580 - Identifier 854573 854574 - Identifier 854575 854580 - AmpersandToken 854580 854582 - PropertyAccessExpression 854582 854606 - Identifier 854582 854592 - Identifier 854593 854606 - Block 854607 855529 - IfStatement 854609 855061 - CallExpression 854631 854666 - Identifier 854631 854663 - Identifier 854664 854665 - Block 854667 855061 - ReturnStatement 854669 855042 - CallExpression 854907 855041 - Identifier 854907 854925 - CallExpression 854926 855040 - Identifier 854926 854953 - AsExpression 854954 855003 - PropertyAccessExpression 854954 854989 - ParenthesizedExpression 854954 854978 - AsExpression 854955 854977 - Identifier 854955 854956 - TypeReference 854959 854977 - Identifier 854959 854977 - Identifier 854979 854989 - TypeReference 854992 855003 - Identifier 854992 855003 - PropertyAccessExpression 855004 855039 - ParenthesizedExpression 855004 855029 - AsExpression 855006 855028 - Identifier 855006 855007 - TypeReference 855010 855028 - Identifier 855010 855028 - Identifier 855030 855039 - VariableStatement 855061 855157 - VariableDeclarationList 855061 855156 - VariableDeclaration 855084 855156 - Identifier 855084 855099 - CallExpression 855101 855156 - Identifier 855101 855119 - PropertyAccessExpression 855120 855155 - ParenthesizedExpression 855120 855144 - AsExpression 855121 855143 - Identifier 855121 855122 - TypeReference 855125 855143 - Identifier 855125 855143 - Identifier 855145 855155 - VariableStatement 855157 855251 - VariableDeclarationList 855157 855250 - VariableDeclaration 855180 855250 - Identifier 855180 855194 - CallExpression 855196 855250 - Identifier 855196 855214 - PropertyAccessExpression 855215 855249 - ParenthesizedExpression 855215 855239 - AsExpression 855216 855238 - Identifier 855216 855217 - TypeReference 855220 855238 - Identifier 855220 855238 - Identifier 855240 855249 - VariableStatement 855251 855431 - VariableDeclarationList 855251 855430 - VariableDeclaration 855274 855430 - Identifier 855274 855292 - BinaryExpression 855294 855430 - BinaryExpression 855294 855326 - Identifier 855294 855309 - AmpersandAmpersandToken 855309 855312 - Identifier 855312 855326 - AmpersandAmpersandToken 855326 855329 - CallExpression 855329 855430 - Identifier 855329 855361 - Identifier 855362 855376 - Identifier 855377 855391 - PropertyAccessExpression 855392 855429 - ParenthesizedExpression 855392 855417 - AsExpression 855394 855416 - Identifier 855394 855395 - TypeReference 855398 855416 - Identifier 855398 855416 - Identifier 855418 855429 - ReturnStatement 855431 855514 - BinaryExpression 855455 855513 - Identifier 855455 855473 - AmpersandAmpersandToken 855473 855476 - CallExpression 855476 855513 - Identifier 855476 855494 - Identifier 855495 855512 - IfStatement 855529 855757 - BinaryExpression 855547 855578 - PropertyAccessExpression 855547 855554 - Identifier 855547 855548 - Identifier 855549 855554 - AmpersandToken 855554 855556 - PropertyAccessExpression 855556 855578 - Identifier 855556 855566 - Identifier 855567 855578 - Block 855579 855757 - VariableStatement 855581 855673 - VariableDeclarationList 855581 855672 - VariableDeclaration 855604 855672 - Identifier 855604 855615 - CallExpression 855617 855672 - Identifier 855617 855650 - AsExpression 855651 855671 - Identifier 855651 855652 - TypeReference 855655 855671 - Identifier 855655 855671 - ReturnStatement 855673 855742 - BinaryExpression 855697 855741 - Identifier 855697 855708 - AmpersandAmpersandToken 855708 855711 - CallExpression 855711 855741 - Identifier 855711 855729 - Identifier 855730 855740 - IfStatement 855757 855920 - BinaryExpression 855775 855807 - PropertyAccessExpression 855775 855782 - Identifier 855775 855776 - Identifier 855777 855782 - AmpersandToken 855782 855784 - PropertyAccessExpression 855784 855807 - Identifier 855784 855794 - Identifier 855795 855807 - Block 855808 855920 - ReturnStatement 855810 855905 - CallExpression 855834 855904 - Identifier 855834 855852 - CallExpression 855853 855903 - Identifier 855853 855880 - AsExpression 855881 855902 - Identifier 855881 855882 - TypeReference 855885 855902 - Identifier 855885 855902 - IfStatement 855920 856720 - CallExpression 855938 855959 - Identifier 855938 855956 - Identifier 855957 855958 - Block 855960 856720 - VariableStatement 855962 856572 - VariableDeclarationList 855962 856571 - VariableDeclaration 856203 856571 - Identifier 856203 856215 - CallExpression 856217 856571 - Identifier 856217 856221 - CallExpression 856222 856240 - Identifier 856222 856237 - Identifier 856238 856239 - ArrowFunction 856241 856570 - Parameter 856243 856244 - Identifier 856243 856244 - Parameter 856245 856247 - Identifier 856245 856247 - EqualsGreaterThanToken 856248 856251 - Block 856251 856570 - VariableStatement 856253 856409 - VariableDeclarationList 856253 856408 - VariableDeclaration 856280 856408 - Identifier 856280 856291 - BinaryExpression 856293 856408 - BinaryExpression 856293 856403 - BinaryExpression 856293 856379 - BinaryExpression 856293 856327 - PropertyAccessExpression 856293 856301 - Identifier 856293 856295 - Identifier 856296 856301 - AmpersandToken 856301 856303 - PropertyAccessExpression 856303 856327 - Identifier 856303 856313 - Identifier 856314 856327 - AmpersandAmpersandToken 856327 856330 - BinaryExpression 856330 856379 - ElementAccessExpression 856330 856355 - PropertyAccessExpression 856330 856352 - PropertyAccessExpression 856330 856339 - Identifier 856330 856332 - Identifier 856333 856339 - Identifier 856340 856352 - Identifier 856353 856354 - AmpersandToken 856355 856357 - PropertyAccessExpression 856357 856379 - Identifier 856357 856370 - Identifier 856371 856379 - AmpersandAmpersandToken 856379 856382 - CallExpression 856382 856403 - Identifier 856382 856400 - Identifier 856401 856402 - BarBarToken 856403 856406 - Identifier 856406 856408 - ReturnStatement 856409 856551 - ConditionalExpression 856437 856550 - BinaryExpression 856437 856533 - BinaryExpression 856437 856454 - Identifier 856437 856448 - ExclamationEqualsEqualsToken 856448 856452 - Identifier 856452 856454 - AmpersandAmpersandToken 856454 856457 - CallExpression 856457 856533 - Identifier 856457 856467 - Identifier 856468 856478 - ArrowFunction 856479 856532 - Parameter 856479 856481 - Identifier 856479 856481 - EqualsGreaterThanToken 856481 856484 - BinaryExpression 856484 856532 - CallExpression 856484 856506 - Identifier 856484 856503 - Identifier 856504 856505 - AmpersandAmpersandToken 856506 856509 - PrefixUnaryExpression 856509 856532 - CallExpression 856511 856532 - Identifier 856511 856529 - Identifier 856530 856531 - QuestionToken 856533 856535 - Identifier 856535 856546 - ColonToken 856546 856548 - Identifier 856548 856550 - ReturnStatement 856572 856705 - CallExpression 856596 856704 - Identifier 856596 856612 - Identifier 856613 856624 - PropertyAccessExpression 856625 856647 - PropertyAccessExpression 856625 856634 - Identifier 856625 856627 - Identifier 856628 856634 - Identifier 856635 856647 - PropertyAccessExpression 856648 856666 - PropertyAccessExpression 856648 856657 - Identifier 856648 856650 - Identifier 856651 856657 - Identifier 856658 856666 - PropertyAccessExpression 856667 856703 - PropertyAccessExpression 856667 856676 - Identifier 856667 856669 - Identifier 856670 856676 - Identifier 856677 856703 - ReturnStatement 856720 856743 - Identifier 856740 856742 - FunctionDeclaration 856761 857265 - Identifier 856777 856811 - Parameter 856812 856834 - Identifier 856812 856816 - TypeReference 856817 856834 - Identifier 856817 856834 - Parameter 856835 856854 - Identifier 856835 856848 - TypeReference 856849 856854 - Identifier 856849 856854 - Block 856855 857265 - IfStatement 856857 857057 - BinaryExpression 856871 856892 - Identifier 856871 856875 - EqualsEqualsEqualsToken 856875 856879 - Identifier 856879 856892 - Block 856893 857057 - ReturnStatement 856895 857046 - BinaryExpression 856915 857045 - PropertyAccessExpression 856915 856941 - Identifier 856915 856920 - Identifier 856921 856941 - BarBarToken 856941 856944 - ParenthesizedExpression 856944 857045 - BinaryExpression 856946 857044 - PropertyAccessExpression 856946 856971 - Identifier 856946 856950 - Identifier 856951 856971 - EqualsToken 856971 856973 - CallExpression 856973 857044 - Identifier 856973 856997 - Identifier 856998 857002 - Identifier 857003 857016 - TrueKeyword 857017 857043 - VariableStatement 857057 857128 - VariableDeclarationList 857057 857127 - VariableDeclaration 857072 857127 - Identifier 857072 857076 - TemplateExpression 857078 857127 - TemplateHead 857078 857083 - TemplateSpan 857083 857102 - CallExpression 857083 857098 - Identifier 857083 857092 - Identifier 857093 857097 - TemplateMiddle 857098 857102 - TemplateSpan 857102 857127 - CallExpression 857102 857125 - Identifier 857102 857111 - Identifier 857112 857124 - TemplateTail 857125 857127 - ReturnStatement 857128 857258 - BinaryExpression 857144 857257 - CallExpression 857144 857163 - Identifier 857144 857158 - Identifier 857159 857162 - QuestionQuestionToken 857163 857166 - CallExpression 857166 857257 - Identifier 857166 857180 - Identifier 857181 857184 - CallExpression 857185 857256 - Identifier 857185 857209 - Identifier 857210 857214 - Identifier 857215 857228 - TrueKeyword 857229 857255 - FunctionDeclaration 857265 858698 - Identifier 857281 857313 - Parameter 857314 857342 - Identifier 857314 857327 - TypeReference 857328 857342 - Identifier 857328 857342 - UnionType 857344 857361 - TypeReference 857344 857349 - Identifier 857344 857349 - UndefinedKeyword 857351 857361 - Block 857361 858698 - IfStatement 857363 858652 - PrefixUnaryExpression 857377 857399 - PropertyAccessExpression 857378 857399 - Identifier 857378 857391 - Identifier 857392 857399 - Block 857400 858412 - IfStatement 857402 858401 - PropertyAccessExpression 857420 857440 - Identifier 857420 857433 - Identifier 857434 857440 - Block 857441 857682 - VariableStatement 857443 857537 - VariableDeclarationList 857443 857536 - VariableDeclaration 857466 857536 - Identifier 857466 857480 - CallExpression 857482 857536 - Identifier 857482 857514 - PropertyAccessExpression 857515 857535 - Identifier 857515 857528 - Identifier 857529 857535 - ExpressionStatement 857537 857667 - BinaryExpression 857537 857666 - PropertyAccessExpression 857537 857576 - Identifier 857537 857568 - Identifier 857569 857576 - EqualsToken 857576 857578 - ConditionalExpression 857578 857666 - Identifier 857578 857592 - QuestionToken 857592 857594 - CallExpression 857594 857647 - Identifier 857594 857610 - Identifier 857611 857624 - PropertyAccessExpression 857625 857646 - Identifier 857625 857639 - Identifier 857640 857646 - ColonToken 857647 857649 - Identifier 857649 857666 - Block 857700 858401 - ExpressionStatement 857702 857856 - BinaryExpression 857702 857855 - PropertyAccessExpression 857702 857832 - Identifier 857702 857824 - Identifier 857825 857832 - EqualsToken 857832 857834 - Identifier 857834 857855 - VariableStatement 857856 858026 - VariableDeclarationList 857856 858025 - VariableDeclaration 857879 858025 - Identifier 857879 857898 - BinaryExpression 857900 858025 - PropertyAccessExpression 857900 857921 - Identifier 857900 857914 - Identifier 857915 857921 - AmpersandAmpersandToken 857921 857924 - CallExpression 857924 858025 - Identifier 857924 857932 - PropertyAccessExpression 857933 857966 - PropertyAccessExpression 857933 857953 - Identifier 857933 857946 - Identifier 857947 857953 - Identifier 857954 857966 - ArrowFunction 857967 858024 - Parameter 857967 857972 - Identifier 857967 857972 - EqualsGreaterThanToken 857972 857975 - BinaryExpression 857975 858024 - CallExpression 857975 858008 - Identifier 857975 858002 - Identifier 858003 858007 - AmpersandAmpersandToken 858008 858011 - PropertyAccessExpression 858011 858024 - Identifier 858011 858016 - Identifier 858017 858024 - VariableStatement 858026 858144 - VariableDeclarationList 858026 858143 - VariableDeclaration 858049 858143 - Identifier 858049 858061 - ConditionalExpression 858063 858143 - Identifier 858063 858082 - QuestionToken 858082 858084 - CallExpression 858084 858124 - Identifier 858084 858104 - Identifier 858105 858123 - ColonToken 858124 858126 - Identifier 858126 858143 - IfStatement 858144 858386 - BinaryExpression 858166 858212 - PropertyAccessExpression 858166 858187 - Identifier 858166 858179 - Identifier 858180 858187 - EqualsEqualsEqualsToken 858187 858191 - Identifier 858191 858212 - Block 858213 858386 - ExpressionStatement 858215 858367 - BinaryExpression 858215 858366 - PropertyAccessExpression 858215 858352 - Identifier 858215 858344 - Identifier 858345 858352 - EqualsToken 858352 858354 - Identifier 858354 858366 - IfStatement 858426 858652 - BinaryExpression 858431 858477 - PropertyAccessExpression 858431 858452 - Identifier 858431 858444 - Identifier 858445 858452 - EqualsEqualsEqualsToken 858452 858456 - Identifier 858456 858477 - Block 858478 858652 - ExpressionStatement 858480 858641 - BinaryExpression 858480 858640 - PropertyAccessExpression 858480 858615 - Identifier 858480 858607 - Identifier 858608 858615 - EqualsToken 858615 858617 - Identifier 858617 858640 - ReturnStatement 858652 858691 - PropertyAccessExpression 858668 858690 - Identifier 858668 858682 - Identifier 858683 858690 - FunctionDeclaration 858698 859303 - Identifier 859023 859051 - Parameter 859052 859080 - Identifier 859052 859065 - TypeReference 859066 859080 - Identifier 859066 859080 - UnionType 859082 859099 - TypeReference 859082 859087 - Identifier 859082 859087 - UndefinedKeyword 859089 859099 - Block 859099 859303 - VariableStatement 859101 859178 - VariableDeclarationList 859101 859177 - VariableDeclaration 859116 859177 - Identifier 859116 859128 - CallExpression 859130 859177 - Identifier 859130 859162 - Identifier 859163 859176 - ReturnStatement 859178 859296 - ConditionalExpression 859194 859295 - BinaryExpression 859194 859269 - BinaryExpression 859194 859227 - Identifier 859194 859206 - ExclamationEqualsEqualsToken 859206 859210 - Identifier 859210 859227 - AmpersandAmpersandToken 859227 859230 - BinaryExpression 859230 859269 - Identifier 859230 859242 - ExclamationEqualsEqualsToken 859242 859246 - Identifier 859246 859269 - QuestionToken 859269 859271 - Identifier 859271 859283 - ColonToken 859283 859285 - Identifier 859285 859295 - FunctionDeclaration 859303 859484 - Identifier 859319 859354 - Parameter 859355 859383 - Identifier 859355 859368 - TypeReference 859369 859383 - Identifier 859369 859383 - Block 859384 859484 - ReturnStatement 859386 859477 - BinaryExpression 859402 859476 - CallExpression 859402 859449 - Identifier 859402 859434 - Identifier 859435 859448 - ExclamationEqualsEqualsToken 859449 859453 - Identifier 859453 859476 - FunctionDeclaration 859484 859817 - Identifier 859599 859623 - Parameter 859624 859652 - Identifier 859624 859637 - TypeReference 859638 859652 - Identifier 859638 859652 - BooleanKeyword 859654 859662 - Block 859662 859817 - ReturnStatement 859664 859810 - PrefixUnaryExpression 859680 859809 - PrefixUnaryExpression 859682 859809 - ParenthesizedExpression 859683 859809 - BinaryExpression 859684 859808 - PropertyAccessExpression 859684 859704 - Identifier 859684 859697 - Identifier 859698 859704 - AmpersandAmpersandToken 859704 859707 - CallExpression 859707 859808 - Identifier 859707 859715 - PropertyAccessExpression 859716 859749 - PropertyAccessExpression 859716 859736 - Identifier 859716 859729 - Identifier 859730 859736 - Identifier 859737 859749 - ArrowFunction 859750 859807 - Parameter 859750 859755 - Identifier 859750 859755 - EqualsGreaterThanToken 859755 859758 - BinaryExpression 859758 859807 - CallExpression 859758 859791 - Identifier 859758 859785 - Identifier 859786 859790 - AmpersandAmpersandToken 859791 859794 - PropertyAccessExpression 859794 859807 - Identifier 859794 859799 - Identifier 859800 859807 - FunctionDeclaration 859817 860006 - Identifier 859833 859861 - Parameter 859862 859878 - Identifier 859862 859866 - TypeReference 859867 859878 - Identifier 859867 859878 - Block 859879 860006 - ReturnStatement 859881 859999 - BinaryExpression 859897 859998 - PropertyAccessExpression 859897 859923 - Identifier 859897 859902 - Identifier 859903 859923 - BarBarToken 859923 859926 - ParenthesizedExpression 859926 859998 - BinaryExpression 859928 859997 - PropertyAccessExpression 859928 859953 - Identifier 859928 859932 - Identifier 859933 859953 - EqualsToken 859953 859955 - CallExpression 859955 859997 - Identifier 859955 859991 - Identifier 859992 859996 - FunctionDeclaration 860006 861456 - Identifier 860022 860058 - Parameter 860059 860075 - Identifier 860059 860063 - TypeReference 860064 860075 - Identifier 860064 860075 - TypeReference 860077 860082 - Identifier 860077 860082 - Block 860082 861456 - VariableStatement 860084 860145 - VariableDeclarationList 860084 860144 - VariableDeclaration 860099 860144 - Identifier 860099 860106 - AsExpression 860108 860144 - ParenthesizedExpression 860108 860130 - BinaryExpression 860110 860129 - PropertyAccessExpression 860110 860121 - Identifier 860110 860114 - Identifier 860115 860121 - QuestionQuestionToken 860121 860124 - Identifier 860124 860129 - TypeReference 860133 860144 - Identifier 860133 860144 - VariableStatement 860145 860211 - VariableDeclarationList 860145 860210 - VariableDeclaration 860160 860210 - Identifier 860160 860173 - CallExpression 860175 860210 - Identifier 860175 860202 - Identifier 860203 860209 - IfStatement 860211 861427 - BinaryExpression 860225 860269 - Identifier 860225 860237 - AmpersandAmpersandToken 860237 860240 - PrefixUnaryExpression 860240 860269 - PropertyAccessExpression 860242 860269 - PropertyAccessExpression 860242 860260 - Identifier 860242 860248 - Identifier 860249 860260 - Identifier 860261 860269 - Block 860270 861427 - VariableStatement 860272 861004 - VariableDeclarationList 860272 861003 - VariableDeclaration 860950 861003 - Identifier 860950 860964 - CallExpression 860966 861003 - Identifier 860966 860997 - Identifier 860998 861002 - VariableStatement 861004 861162 - VariableDeclarationList 861004 861161 - VariableDeclaration 861023 861161 - Identifier 861023 861038 - ConditionalExpression 861040 861161 - CallExpression 861040 861075 - Identifier 861040 861060 - Identifier 861061 861074 - QuestionToken 861075 861077 - CallExpression 861077 861120 - Identifier 861077 861105 - Identifier 861106 861119 - ColonToken 861120 861122 - CallExpression 861122 861161 - Identifier 861122 861146 - Identifier 861147 861160 - IfStatement 861162 861416 - BinaryExpression 861180 861286 - Identifier 861180 861194 - AmpersandAmpersandToken 861194 861197 - CallExpression 861197 861286 - Identifier 861197 861207 - Identifier 861208 861222 - ArrowFunction 861223 861285 - Parameter 861223 861225 - Identifier 861223 861225 - EqualsGreaterThanToken 861225 861228 - BinaryExpression 861228 861285 - CallExpression 861228 861250 - Identifier 861228 861247 - Identifier 861248 861249 - BarBarToken 861250 861253 - CallExpression 861253 861285 - Identifier 861253 861282 - Identifier 861283 861284 - Block 861287 861416 - ReturnStatement 861289 861401 - CallExpression 861313 861400 - Identifier 861313 861329 - Identifier 861330 861336 - CallExpression 861337 861399 - Identifier 861337 861356 - Identifier 861357 861369 - Identifier 861370 861385 - PropertyAccessExpression 861386 861398 - Identifier 861386 861391 - Identifier 861392 861398 - ReturnStatement 861427 861449 - Identifier 861443 861448 - FunctionDeclaration 861456 861642 - Identifier 861472 861501 - Parameter 861502 861512 - Identifier 861502 861506 - TypeReference 861507 861512 - Identifier 861507 861512 - Block 861513 861642 - ReturnStatement 861515 861635 - BinaryExpression 861531 861634 - PrefixUnaryExpression 861531 861571 - PrefixUnaryExpression 861533 861571 - ParenthesizedExpression 861534 861571 - BinaryExpression 861535 861570 - PropertyAccessExpression 861535 861545 - Identifier 861535 861539 - Identifier 861540 861545 - AmpersandToken 861545 861547 - PropertyAccessExpression 861547 861570 - Identifier 861547 861557 - Identifier 861558 861570 - AmpersandAmpersandToken 861571 861574 - CallExpression 861574 861634 - Identifier 861574 861580 - PropertyAccessExpression 861581 861613 - ParenthesizedExpression 861581 861607 - AsExpression 861582 861606 - Identifier 861582 861586 - TypeReference 861589 861606 - Identifier 861589 861606 - Identifier 861608 861613 - Identifier 861614 861633 - FunctionDeclaration 861642 862155 - Identifier 861658 861691 - Parameter 861692 861702 - Identifier 861692 861696 - TypeReference 861697 861702 - Identifier 861697 861702 - Block 861703 862155 - VariableStatement 861705 861730 - VariableDeclarationList 861705 861729 - VariableDeclaration 861718 861729 - Identifier 861718 861729 - ReturnStatement 861730 862148 - PrefixUnaryExpression 861746 862147 - PrefixUnaryExpression 861748 862147 - ParenthesizedExpression 861749 862147 - BinaryExpression 861750 862146 - BinaryExpression 861750 862094 - BinaryExpression 861750 861988 - BinaryExpression 861750 861927 - BinaryExpression 861750 861878 - BinaryExpression 861750 861786 - PropertyAccessExpression 861750 861760 - Identifier 861750 861754 - Identifier 861755 861760 - AmpersandToken 861760 861762 - PropertyAccessExpression 861762 861786 - Identifier 861762 861772 - Identifier 861773 861786 - AmpersandAmpersandToken 861786 861789 - BinaryExpression 861789 861878 - CallExpression 861789 861857 - Identifier 861789 861804 - BinaryExpression 861805 861856 - Identifier 861805 861815 - EqualsToken 861815 861817 - PropertyAccessExpression 861817 861856 - ParenthesizedExpression 861817 861845 - AsExpression 861819 861844 - Identifier 861819 861823 - TypeReference 861826 861844 - Identifier 861826 861844 - Identifier 861846 861856 - AmpersandToken 861857 861859 - PropertyAccessExpression 861859 861878 - Identifier 861859 861871 - Identifier 861872 861878 - AmpersandAmpersandToken 861878 861881 - PrefixUnaryExpression 861881 861927 - CallExpression 861896 861927 - Identifier 861896 861915 - Identifier 861916 861926 - AmpersandAmpersandToken 861927 861930 - CallExpression 861930 861988 - Identifier 861930 861949 - PropertyAccessExpression 861950 861987 - ParenthesizedExpression 861950 861977 - AsExpression 861951 861976 - Identifier 861951 861955 - TypeReference 861958 861976 - Identifier 861958 861976 - Identifier 861978 861987 - AmpersandAmpersandToken 861988 861991 - PrefixUnaryExpression 861991 862094 - ParenthesizedExpression 862006 862094 - BinaryExpression 862007 862093 - CallExpression 862007 862055 - Identifier 862007 862029 - AsExpression 862030 862054 - Identifier 862030 862040 - TypeReference 862043 862054 - Identifier 862043 862054 - AmpersandToken 862055 862057 - PropertyAccessExpression 862057 862093 - Identifier 862057 862077 - Identifier 862078 862093 - AmpersandAmpersandToken 862094 862097 - PrefixUnaryExpression 862097 862146 - PropertyAccessExpression 862099 862146 - PropertyAccessExpression 862099 862137 - ParenthesizedExpression 862099 862125 - AsExpression 862100 862124 - Identifier 862100 862110 - TypeReference 862113 862124 - Identifier 862113 862124 - Identifier 862126 862137 - Identifier 862138 862146 - FunctionDeclaration 862155 863502 - Identifier 862419 862435 - Parameter 862436 862446 - Identifier 862436 862440 - TypeReference 862441 862446 - Identifier 862441 862446 - TypeReference 862448 862453 - Identifier 862448 862453 - Block 862453 863502 - VariableStatement 862455 862565 - VariableDeclarationList 862455 862564 - VariableDeclaration 862470 862564 - Identifier 862470 862472 - ConditionalExpression 862474 862564 - BinaryExpression 862474 862510 - PropertyAccessExpression 862474 862485 - Identifier 862474 862479 - Identifier 862480 862485 - AmpersandToken 862485 862487 - PropertyAccessExpression 862487 862510 - Identifier 862487 862497 - Identifier 862498 862510 - QuestionToken 862510 862512 - BinaryExpression 862512 862557 - CallExpression 862512 862542 - Identifier 862512 862536 - Identifier 862537 862541 - BarBarToken 862542 862545 - Identifier 862545 862557 - ColonToken 862557 862559 - Identifier 862559 862564 - VariableStatement 862565 862613 - VariableDeclarationList 862565 862612 - VariableDeclaration 862580 862612 - Identifier 862580 862592 - CallExpression 862594 862612 - Identifier 862594 862609 - Identifier 862610 862611 - ReturnStatement 862613 863495 - ConditionalExpression 862629 863494 - BinaryExpression 862629 862662 - Identifier 862629 862641 - AmpersandToken 862641 862643 - PropertyAccessExpression 862643 862662 - Identifier 862643 862655 - Identifier 862656 862662 - QuestionToken 862662 862664 - CallExpression 862664 862709 - Identifier 862664 862692 - AsExpression 862693 862708 - Identifier 862693 862694 - TypeReference 862697 862708 - Identifier 862697 862708 - ColonToken 862709 862711 - ConditionalExpression 862711 863494 - BinaryExpression 862711 862774 - BinaryExpression 862711 862760 - Identifier 862711 862736 - AmpersandToken 862736 862738 - PropertyAccessExpression 862738 862760 - Identifier 862738 862750 - Identifier 862751 862760 - AmpersandAmpersandToken 862760 862763 - BinaryExpression 862763 862774 - Identifier 862763 862765 - ExclamationEqualsEqualsToken 862765 862769 - Identifier 862769 862774 - QuestionToken 862774 862776 - CallExpression 862776 862809 - Identifier 862776 862800 - Identifier 862801 862802 - Identifier 862803 862808 - ColonToken 862809 862811 - ConditionalExpression 862811 863494 - BinaryExpression 862811 862857 - PropertyAccessExpression 862811 862832 - Identifier 862811 862826 - Identifier 862827 862832 - AmpersandToken 862832 862834 - PropertyAccessExpression 862834 862857 - Identifier 862834 862844 - Identifier 862845 862857 - QuestionToken 862857 862859 - CallExpression 862859 862922 - Identifier 862859 862893 - AsExpression 862894 862915 - Identifier 862894 862895 - TypeReference 862898 862915 - Identifier 862898 862915 - Identifier 862916 862921 - ColonToken 862922 862924 - ConditionalExpression 862924 863494 - BinaryExpression 862924 862968 - PropertyAccessExpression 862924 862945 - Identifier 862924 862939 - Identifier 862940 862945 - AmpersandToken 862945 862947 - PropertyAccessExpression 862947 862968 - Identifier 862947 862957 - Identifier 862958 862968 - QuestionToken 862968 862970 - Identifier 862970 862987 - ColonToken 862987 862989 - ConditionalExpression 862989 863494 - BinaryExpression 862989 863033 - PropertyAccessExpression 862989 863010 - Identifier 862989 863004 - Identifier 863005 863010 - AmpersandToken 863010 863012 - PropertyAccessExpression 863012 863033 - Identifier 863012 863022 - Identifier 863023 863033 - QuestionToken 863033 863035 - Identifier 863035 863052 - ColonToken 863052 863054 - ConditionalExpression 863054 863494 - BinaryExpression 863054 863098 - PropertyAccessExpression 863054 863075 - Identifier 863054 863069 - Identifier 863070 863075 - AmpersandToken 863075 863077 - PropertyAccessExpression 863077 863098 - Identifier 863077 863087 - Identifier 863088 863098 - QuestionToken 863098 863100 - CallExpression 863100 863122 - Identifier 863100 863120 - ColonToken 863122 863124 - ConditionalExpression 863124 863494 - BinaryExpression 863124 863169 - PropertyAccessExpression 863124 863145 - Identifier 863124 863139 - Identifier 863140 863145 - AmpersandToken 863145 863147 - PropertyAccessExpression 863147 863169 - Identifier 863147 863157 - Identifier 863158 863169 - QuestionToken 863169 863171 - Identifier 863171 863189 - ColonToken 863189 863191 - ConditionalExpression 863191 863494 - BinaryExpression 863191 863237 - PropertyAccessExpression 863191 863212 - Identifier 863191 863206 - Identifier 863207 863212 - AmpersandToken 863212 863214 - PropertyAccessExpression 863214 863237 - Identifier 863214 863224 - Identifier 863225 863237 - QuestionToken 863237 863239 - CallExpression 863239 863263 - Identifier 863239 863261 - ColonToken 863263 863265 - ConditionalExpression 863265 863494 - BinaryExpression 863265 863311 - PropertyAccessExpression 863265 863286 - Identifier 863265 863280 - Identifier 863281 863286 - AmpersandToken 863286 863288 - PropertyAccessExpression 863288 863311 - Identifier 863288 863298 - Identifier 863299 863311 - QuestionToken 863311 863313 - Identifier 863313 863329 - ColonToken 863329 863331 - ConditionalExpression 863331 863494 - BinaryExpression 863331 863370 - PropertyAccessExpression 863331 863352 - Identifier 863331 863346 - Identifier 863347 863352 - AmpersandToken 863352 863354 - PropertyAccessExpression 863354 863370 - Identifier 863354 863364 - Identifier 863365 863370 - QuestionToken 863370 863372 - Identifier 863372 863395 - ColonToken 863395 863397 - ConditionalExpression 863397 863494 - BinaryExpression 863397 863459 - BinaryExpression 863397 863438 - PropertyAccessExpression 863397 863418 - Identifier 863397 863412 - Identifier 863413 863418 - AmpersandToken 863418 863420 - PropertyAccessExpression 863420 863438 - Identifier 863420 863430 - Identifier 863431 863438 - AmpersandAmpersandToken 863438 863441 - PrefixUnaryExpression 863441 863459 - Identifier 863443 863459 - QuestionToken 863459 863461 - Identifier 863461 863477 - ColonToken 863477 863479 - Identifier 863479 863494 - FunctionDeclaration 863502 864050 - Identifier 863518 863541 - Parameter 863542 863552 - Identifier 863542 863546 - TypeReference 863547 863552 - Identifier 863547 863552 - TypeReference 863554 863559 - Identifier 863554 863559 - Block 863559 864050 - ReturnStatement 863561 864043 - CallExpression 863988 864042 - Identifier 863988 864003 - CallExpression 864004 864041 - Identifier 864004 864019 - CallExpression 864020 864040 - Identifier 864020 864034 - Identifier 864035 864039 - FunctionDeclaration 864050 874008 - Identifier 864066 864100 - Parameter 864101 864140 - Identifier 864101 864115 - TypeReference 864116 864140 - Identifier 864116 864140 - Parameter 864141 864156 - Identifier 864141 864146 - TypeReference 864147 864156 - Identifier 864147 864156 - Parameter 864157 864201 - Identifier 864157 864191 - QuestionToken 864191 864192 - BooleanKeyword 864193 864201 - UnionType 864203 864222 - TypeReference 864203 864210 - Identifier 864203 864210 - UndefinedKeyword 864212 864222 - Block 864222 874008 - VariableStatement 864224 864269 - VariableDeclarationList 864224 864268 - VariableDeclaration 864237 864268 - Identifier 864237 864248 - UnionType 864249 864268 - TypeReference 864249 864256 - Identifier 864249 864256 - UndefinedKeyword 864258 864268 - VariableStatement 864269 864326 - VariableDeclarationList 864269 864325 - VariableDeclaration 864282 864325 - Identifier 864282 864290 - UnionType 864291 864325 - TypeReference 864291 864313 - Identifier 864291 864295 - TypeReference 864296 864304 - Identifier 864296 864304 - TypeReference 864305 864312 - Identifier 864305 864312 - UndefinedKeyword 864315 864325 - VariableStatement 864326 864371 - VariableDeclarationList 864326 864370 - VariableDeclaration 864339 864370 - Identifier 864339 864350 - UnionType 864351 864370 - ArrayType 864351 864358 - TypeReference 864351 864356 - Identifier 864351 864356 - UndefinedKeyword 864360 864370 - VariableStatement 864371 864436 - VariableDeclarationList 864371 864435 - VariableDeclaration 864386 864435 - Identifier 864386 864394 - BinaryExpression 864396 864435 - PropertyAccessExpression 864396 864417 - Identifier 864396 864411 - Identifier 864412 864417 - AmpersandToken 864417 864419 - PropertyAccessExpression 864419 864435 - Identifier 864419 864429 - Identifier 864430 864435 - VariableStatement 864436 864577 - VariableDeclarationList 864436 864576 - VariableDeclaration 864538 864576 - Identifier 864538 864551 - UnionType 864552 864576 - TypeReference 864552 864564 - Identifier 864552 864564 - UndefinedKeyword 864566 864576 - VariableStatement 864577 864634 - VariableDeclarationList 864577 864633 - VariableDeclaration 864590 864633 - Identifier 864590 864604 - PropertyAccessExpression 864606 864633 - Identifier 864606 864617 - Identifier 864618 864633 - VariableStatement 864634 864695 - VariableDeclarationList 864634 864694 - VariableDeclaration 864647 864694 - Identifier 864647 864658 - ConditionalExpression 864660 864694 - Identifier 864660 864668 - QuestionToken 864668 864670 - NumericLiteral 864670 864672 - ColonToken 864672 864674 - PropertyAccessExpression 864674 864694 - Identifier 864674 864685 - Identifier 864686 864694 - VariableStatement 864695 864738 - VariableDeclarationList 864695 864737 - VariableDeclaration 864708 864737 - Identifier 864708 864729 - FalseKeyword 864731 864737 - ForOfStatement 864738 869263 - VariableDeclarationList 864753 864766 - VariableDeclaration 864758 864766 - Identifier 864758 864766 - PropertyAccessExpression 864769 864790 - Identifier 864769 864784 - Identifier 864785 864790 - Block 864791 869263 - VariableStatement 864793 864845 - VariableDeclarationList 864793 864844 - VariableDeclaration 864812 864844 - Identifier 864812 864817 - CallExpression 864819 864844 - Identifier 864819 864835 - Identifier 864836 864843 - IfStatement 864845 869252 - PrefixUnaryExpression 864863 864915 - ParenthesizedExpression 864864 864915 - BinaryExpression 864865 864914 - CallExpression 864865 864882 - Identifier 864865 864876 - Identifier 864877 864881 - BarBarToken 864882 864885 - BinaryExpression 864885 864914 - PropertyAccessExpression 864885 864896 - Identifier 864885 864890 - Identifier 864891 864896 - AmpersandToken 864896 864898 - PropertyAccessExpression 864898 864914 - Identifier 864898 864908 - Identifier 864909 864914 - Block 864916 869252 - VariableStatement 864918 865014 - VariableDeclarationList 864918 865013 - VariableDeclaration 864941 865013 - Identifier 864941 864946 - CallExpression 864948 865013 - Identifier 864948 864966 - Identifier 864967 864971 - Identifier 864972 864977 - Identifier 864978 865012 - VariableStatement 865014 865105 - VariableDeclarationList 865014 865104 - VariableDeclaration 865037 865104 - Identifier 865037 865047 - ConditionalExpression 865049 865104 - Identifier 865049 865054 - QuestionToken 865054 865056 - CallExpression 865056 865100 - Identifier 865056 865094 - Identifier 865095 865099 - ColonToken 865100 865102 - NumericLiteral 865102 865104 - IfStatement 865105 869237 - Identifier 865127 865131 - Block 865132 868366 - IfStatement 865134 865578 - BinaryExpression 865160 865196 - PropertyAccessExpression 865160 865170 - Identifier 865160 865164 - Identifier 865165 865170 - AmpersandToken 865170 865172 - PropertyAccessExpression 865172 865196 - Identifier 865172 865184 - Identifier 865185 865196 - Block 865197 865578 - ExpressionStatement 865199 865292 - BinaryExpression 865199 865291 - Identifier 865199 865237 - QuestionQuestionEqualsToken 865237 865241 - ConditionalExpression 865241 865291 - Identifier 865241 865249 - QuestionToken 865249 865251 - PropertyAccessExpression 865251 865268 - Identifier 865251 865263 - Identifier 865264 865268 - ColonToken 865268 865270 - PropertyAccessExpression 865270 865291 - Identifier 865270 865282 - Identifier 865283 865291 - IfStatement 865292 865555 - Identifier 865322 865329 - Block 865330 865439 - ExpressionStatement 865332 865412 - BinaryExpression 865332 865411 - Identifier 865332 865374 - BarEqualsToken 865374 865377 - BinaryExpression 865377 865411 - PropertyAccessExpression 865377 865388 - Identifier 865377 865382 - Identifier 865383 865388 - AmpersandToken 865388 865390 - PropertyAccessExpression 865390 865411 - Identifier 865390 865402 - Identifier 865403 865411 - Block 865469 865555 - ExpressionStatement 865471 865528 - BinaryExpression 865471 865527 - Identifier 865471 865513 - AmpersandEqualsToken 865513 865516 - PropertyAccessExpression 865516 865527 - Identifier 865516 865521 - Identifier 865522 865527 - IfStatement 865578 867480 - PrefixUnaryExpression 865604 865615 - Identifier 865605 865615 - Block 865616 865685 - ExpressionStatement 865618 865662 - BinaryExpression 865618 865661 - Identifier 865618 865654 - EqualsToken 865654 865656 - Identifier 865656 865661 - IfStatement 865711 867480 - BinaryExpression 865716 865735 - Identifier 865716 865720 - ExclamationEqualsEqualsToken 865720 865724 - Identifier 865724 865735 - Block 865736 867480 - VariableStatement 865738 865868 - VariableDeclarationList 865738 865867 - VariableDeclaration 865769 865867 - Identifier 865769 865785 - BinaryExpression 865787 865867 - ParenthesizedExpression 865787 865819 - BinaryExpression 865789 865818 - CallExpression 865789 865810 - Identifier 865789 865804 - Identifier 865805 865809 - BarBarToken 865810 865813 - Identifier 865813 865818 - EqualsEqualsEqualsToken 865819 865823 - ParenthesizedExpression 865823 865867 - BinaryExpression 865825 865866 - CallExpression 865825 865852 - Identifier 865825 865840 - Identifier 865841 865851 - BarBarToken 865852 865855 - Identifier 865855 865866 - IfStatement 865868 867457 - BinaryExpression 866254 866375 - Identifier 866254 866269 - AmpersandAmpersandToken 866269 866272 - BinaryExpression 866272 866375 - CallExpression 866272 866358 - Identifier 866272 866290 - Identifier 866291 866301 - Identifier 866302 866307 - ArrowFunction 866308 866357 - Parameter 866310 866311 - Identifier 866310 866311 - Parameter 866312 866314 - Identifier 866312 866314 - EqualsGreaterThanToken 866315 866318 - ConditionalExpression 866318 866357 - BinaryExpression 866318 866326 - Identifier 866318 866320 - EqualsEqualsEqualsToken 866320 866324 - Identifier 866324 866326 - QuestionToken 866326 866328 - PropertyAccessExpression 866328 866341 - Identifier 866328 866336 - Identifier 866337 866341 - ColonToken 866341 866343 - PropertyAccessExpression 866343 866357 - Identifier 866343 866351 - Identifier 866352 866357 - EqualsEqualsEqualsToken 866358 866362 - PropertyAccessExpression 866362 866375 - Identifier 866362 866370 - Identifier 866371 866375 - Block 866376 866968 - ExpressionStatement 866378 866941 - BinaryExpression 866378 866940 - Identifier 866378 866834 - EqualsToken 866834 866836 - BinaryExpression 866836 866940 - PrefixUnaryExpression 866836 866856 - PrefixUnaryExpression 866838 866856 - PropertyAccessExpression 866839 866856 - Identifier 866839 866849 - Identifier 866850 866856 - AmpersandAmpersandToken 866856 866859 - PrefixUnaryExpression 866859 866940 - PrefixUnaryExpression 866861 866940 - CallExpression 866862 866940 - Identifier 866862 866868 - CallExpression 866869 866939 - Identifier 866869 866920 - PropertyAccessExpression 866921 866938 - Identifier 866921 866931 - Identifier 866932 866938 - Block 866998 867457 - IfStatement 867000 867231 - PrefixUnaryExpression 867034 867042 - Identifier 867035 867042 - Block 867043 867231 - ExpressionStatement 867045 867117 - BinaryExpression 867045 867116 - Identifier 867045 867086 - EqualsToken 867086 867088 - NewExpression 867088 867116 - Identifier 867092 867096 - TypeReference 867097 867105 - Identifier 867097 867105 - TypeReference 867106 867113 - Identifier 867106 867113 - ExpressionStatement 867117 867200 - CallExpression 867117 867199 - PropertyAccessExpression 867117 867162 - Identifier 867117 867158 - Identifier 867159 867162 - CallExpression 867163 867186 - Identifier 867163 867174 - Identifier 867175 867185 - Identifier 867187 867198 - VariableStatement 867231 867290 - VariableDeclarationList 867231 867289 - VariableDeclaration 867266 867289 - Identifier 867266 867269 - CallExpression 867271 867289 - Identifier 867271 867283 - Identifier 867284 867288 - IfStatement 867290 867430 - PrefixUnaryExpression 867324 867340 - CallExpression 867325 867340 - PropertyAccessExpression 867325 867336 - Identifier 867325 867332 - Identifier 867333 867336 - Identifier 867337 867339 - Block 867341 867430 - ExpressionStatement 867343 867399 - CallExpression 867343 867398 - PropertyAccessExpression 867343 867388 - Identifier 867343 867384 - Identifier 867385 867388 - Identifier 867389 867391 - Identifier 867392 867397 - IfStatement 867480 867778 - BinaryExpression 867506 867539 - Identifier 867506 867513 - AmpersandAmpersandToken 867513 867516 - CallExpression 867516 867539 - Identifier 867516 867533 - Identifier 867534 867538 - Block 867540 867625 - ExpressionStatement 867542 867602 - BinaryExpression 867542 867601 - Identifier 867542 867578 - BarEqualsToken 867578 867581 - PropertyAccessExpression 867581 867601 - Identifier 867581 867592 - Identifier 867593 867601 - IfStatement 867651 867778 - BinaryExpression 867656 867691 - PrefixUnaryExpression 867656 867664 - Identifier 867657 867664 - AmpersandAmpersandToken 867664 867667 - PrefixUnaryExpression 867667 867691 - CallExpression 867669 867691 - Identifier 867669 867685 - Identifier 867686 867690 - Block 867692 867778 - ExpressionStatement 867694 867755 - BinaryExpression 867694 867754 - Identifier 867694 867730 - AmpersandEqualsToken 867730 867733 - PrefixUnaryExpression 867733 867754 - PropertyAccessExpression 867735 867754 - Identifier 867735 867745 - Identifier 867746 867754 - ExpressionStatement 867778 868198 - BinaryExpression 867778 868197 - Identifier 867778 867810 - BarEqualsToken 867810 867813 - BinaryExpression 867813 868197 - BinaryExpression 867813 868103 - BinaryExpression 867813 868007 - ParenthesizedExpression 867813 867907 - ConditionalExpression 867815 867906 - PrefixUnaryExpression 867815 867874 - ParenthesizedExpression 867816 867874 - BinaryExpression 867817 867873 - Identifier 867817 867826 - AmpersandToken 867826 867828 - PropertyAccessExpression 867828 867873 - Identifier 867828 867842 - Identifier 867843 867873 - QuestionToken 867874 867876 - PropertyAccessExpression 867876 867902 - Identifier 867876 867887 - Identifier 867888 867902 - ColonToken 867902 867904 - NumericLiteral 867904 867906 - BarToken 867907 867909 - ParenthesizedExpression 867909 868007 - ConditionalExpression 867936 868006 - BinaryExpression 867936 867971 - Identifier 867936 867945 - AmpersandToken 867945 867947 - PropertyAccessExpression 867947 867971 - Identifier 867947 867961 - Identifier 867962 867971 - QuestionToken 867971 867973 - PropertyAccessExpression 867973 868002 - Identifier 867973 867984 - Identifier 867985 868002 - ColonToken 868002 868004 - NumericLiteral 868004 868006 - BarToken 868007 868009 - ParenthesizedExpression 868009 868103 - ConditionalExpression 868036 868102 - BinaryExpression 868036 868069 - Identifier 868036 868045 - AmpersandToken 868045 868047 - PropertyAccessExpression 868047 868069 - Identifier 868047 868061 - Identifier 868062 868069 - QuestionToken 868069 868071 - PropertyAccessExpression 868071 868098 - Identifier 868071 868082 - Identifier 868083 868098 - ColonToken 868098 868100 - NumericLiteral 868100 868102 - BarToken 868103 868105 - ParenthesizedExpression 868105 868197 - ConditionalExpression 868132 868196 - BinaryExpression 868132 868164 - Identifier 868132 868141 - AmpersandToken 868141 868143 - PropertyAccessExpression 868143 868164 - Identifier 868143 868157 - Identifier 868158 868164 - QuestionToken 868164 868166 - PropertyAccessExpression 868166 868192 - Identifier 868166 868177 - Identifier 868178 868192 - ColonToken 868192 868194 - NumericLiteral 868194 868196 - IfStatement 868198 868347 - PrefixUnaryExpression 868224 868250 - CallExpression 868225 868250 - Identifier 868225 868244 - Identifier 868245 868249 - Block 868251 868347 - ExpressionStatement 868253 868324 - BinaryExpression 868253 868323 - Identifier 868253 868292 - EqualsToken 868292 868294 - PropertyAccessExpression 868294 868323 - Identifier 868294 868305 - Identifier 868306 868323 - IfStatement 868388 869237 - Identifier 868393 868400 - Block 868401 869237 - VariableStatement 868403 868511 - VariableDeclarationList 868403 868510 - VariableDeclaration 868430 868510 - Identifier 868430 868440 - BinaryExpression 868442 868510 - PrefixUnaryExpression 868442 868465 - CallExpression 868444 868465 - Identifier 868444 868459 - Identifier 868460 868464 - AmpersandAmpersandToken 868465 868468 - CallExpression 868468 868510 - Identifier 868468 868498 - Identifier 868499 868503 - Identifier 868504 868509 - IfStatement 868511 869218 - Identifier 868537 868546 - Block 868547 868829 - ExpressionStatement 868549 868664 - BinaryExpression 868549 868663 - Identifier 868549 868585 - BarEqualsToken 868585 868588 - BinaryExpression 868588 868663 - PropertyAccessExpression 868588 868612 - Identifier 868588 868599 - Identifier 868600 868612 - BarToken 868612 868614 - ParenthesizedExpression 868614 868663 - ConditionalExpression 868616 868662 - PropertyAccessExpression 868616 868636 - Identifier 868616 868625 - Identifier 868626 868636 - QuestionToken 868636 868638 - PropertyAccessExpression 868638 868658 - Identifier 868638 868649 - Identifier 868650 868658 - ColonToken 868658 868660 - NumericLiteral 868660 868662 - ExpressionStatement 868664 868806 - BinaryExpression 868664 868805 - Identifier 868664 868700 - EqualsToken 868700 868702 - CallExpression 868702 868805 - Identifier 868702 868709 - Identifier 868710 868720 - ConditionalExpression 868721 868804 - CallExpression 868721 868739 - Identifier 868721 868733 - Identifier 868734 868738 - QuestionToken 868739 868741 - BinaryExpression 868741 868787 - CallExpression 868741 868770 - Identifier 868741 868764 - Identifier 868765 868769 - BarBarToken 868770 868773 - Identifier 868773 868787 - ColonToken 868787 868789 - PropertyAccessExpression 868789 868804 - Identifier 868789 868799 - Identifier 868800 868804 - IfStatement 868855 869218 - BinaryExpression 868860 868941 - CallExpression 868860 868885 - Identifier 868860 868879 - Identifier 868880 868884 - AmpersandAmpersandToken 868885 868888 - PrefixUnaryExpression 868888 868941 - ParenthesizedExpression 868890 868941 - BinaryExpression 868891 868940 - CallExpression 868891 868911 - Identifier 868891 868905 - Identifier 868906 868910 - AmpersandToken 868911 868913 - PropertyAccessExpression 868913 868940 - Identifier 868913 868925 - Identifier 868926 868940 - Block 868942 869104 - ExpressionStatement 868944 869008 - BinaryExpression 868944 869007 - Identifier 868944 868980 - BarEqualsToken 868980 868983 - PropertyAccessExpression 868983 869007 - Identifier 868983 868994 - Identifier 868995 869007 - ExpressionStatement 869008 869081 - BinaryExpression 869008 869080 - Identifier 869008 869044 - EqualsToken 869044 869046 - CallExpression 869046 869080 - Identifier 869046 869053 - Identifier 869054 869064 - Identifier 869065 869079 - Block 869130 869218 - ExpressionStatement 869132 869195 - BinaryExpression 869132 869194 - Identifier 869132 869168 - BarEqualsToken 869168 869171 - PropertyAccessExpression 869171 869194 - Identifier 869171 869182 - Identifier 869183 869194 - IfStatement 869263 869833 - BinaryExpression 869277 869567 - PrefixUnaryExpression 869277 869302 - Identifier 869292 869302 - BarBarToken 869302 869305 - BinaryExpression 869305 869567 - BinaryExpression 869305 869484 - BinaryExpression 869305 869391 - Identifier 869305 869326 - AmpersandAmpersandToken 869326 869329 - ParenthesizedExpression 869329 869391 - BinaryExpression 869348 869390 - Identifier 869348 869355 - BarBarToken 869355 869358 - BinaryExpression 869358 869390 - Identifier 869358 869369 - AmpersandToken 869369 869371 - PropertyAccessExpression 869371 869390 - Identifier 869371 869382 - Identifier 869383 869390 - AmpersandAmpersandToken 869391 869394 - BinaryExpression 869394 869484 - Identifier 869394 869422 - AmpersandToken 869422 869424 - ParenthesizedExpression 869424 869484 - BinaryExpression 869426 869483 - PropertyAccessExpression 869426 869452 - Identifier 869426 869436 - Identifier 869437 869452 - BarToken 869452 869454 - PropertyAccessExpression 869454 869483 - Identifier 869454 869465 - Identifier 869466 869483 - AmpersandAmpersandToken 869484 869487 - PrefixUnaryExpression 869487 869567 - ParenthesizedExpression 869506 869567 - BinaryExpression 869507 869566 - Identifier 869507 869514 - AmpersandAmpersandToken 869514 869517 - CallExpression 869517 869566 - Identifier 869517 869548 - CallExpression 869549 869565 - PropertyAccessExpression 869549 869563 - Identifier 869549 869556 - Identifier 869557 869563 - Block 869578 869833 - ReturnStatement 869580 869822 - Identifier 869811 869821 - IfStatement 869833 870942 - BinaryExpression 869847 869912 - BinaryExpression 869847 869897 - PrefixUnaryExpression 869847 869855 - Identifier 869848 869855 - AmpersandAmpersandToken 869855 869858 - PrefixUnaryExpression 869858 869897 - ParenthesizedExpression 869860 869897 - BinaryExpression 869861 869896 - Identifier 869861 869871 - AmpersandToken 869871 869873 - PropertyAccessExpression 869873 869896 - Identifier 869873 869884 - Identifier 869885 869896 - AmpersandAmpersandToken 869897 869900 - PrefixUnaryExpression 869900 869912 - Identifier 869902 869912 - Block 869913 870942 - IfStatement 869915 870931 - Identifier 869933 869953 - Block 869954 870860 - VariableStatement 869956 870469 - VariableDeclarationList 869956 870468 - VariableDeclaration 870414 870468 - Identifier 870414 870420 - PropertyAccessExpression 870422 870468 - CallExpression 870422 870461 - Identifier 870422 870430 - Identifier 870431 870441 - Identifier 870442 870460 - QuestionDotToken 870461 870463 - Identifier 870463 870468 - VariableStatement 870469 870547 - VariableDeclarationList 870469 870546 - VariableDeclaration 870492 870546 - Identifier 870492 870498 - CallExpression 870500 870546 - Identifier 870500 870521 - Identifier 870522 870532 - PropertyAccessExpression 870533 870545 - Identifier 870533 870539 - QuestionDotToken 870539 870541 - Identifier 870541 870545 - ExpressionStatement 870547 870624 - BinaryExpression 870547 870623 - PropertyAccessExpression 870547 870577 - Identifier 870547 870570 - Identifier 870571 870577 - EqualsToken 870577 870579 - PropertyAccessExpression 870579 870623 - PropertyAccessExpression 870579 870615 - PropertyAccessExpression 870579 870607 - Identifier 870579 870590 - Identifier 870591 870607 - QuestionDotToken 870607 870609 - Identifier 870609 870615 - QuestionDotToken 870615 870617 - Identifier 870617 870623 - ExpressionStatement 870624 870686 - BinaryExpression 870624 870685 - PropertyAccessExpression 870624 870668 - PropertyAccessExpression 870624 870653 - Identifier 870624 870647 - Identifier 870648 870653 - Identifier 870654 870668 - EqualsToken 870668 870670 - Identifier 870670 870685 - ExpressionStatement 870686 870739 - BinaryExpression 870686 870738 - PropertyAccessExpression 870686 870722 - PropertyAccessExpression 870686 870715 - Identifier 870686 870709 - Identifier 870710 870715 - Identifier 870716 870722 - EqualsToken 870722 870724 - PropertyAccessExpression 870724 870738 - Identifier 870724 870730 - QuestionDotToken 870730 870732 - Identifier 870732 870738 - ExpressionStatement 870739 870814 - BinaryExpression 870739 870813 - PropertyAccessExpression 870739 870778 - PropertyAccessExpression 870739 870768 - Identifier 870739 870762 - Identifier 870763 870768 - Identifier 870769 870778 - EqualsToken 870778 870780 - CallExpression 870780 870813 - Identifier 870780 870801 - Identifier 870802 870812 - ReturnStatement 870814 870845 - Identifier 870838 870844 - Block 870878 870931 - ReturnStatement 870880 870916 - Identifier 870904 870915 - VariableStatement 870942 871019 - VariableDeclarationList 870942 871018 - VariableDeclaration 870957 871018 - Identifier 870957 870963 - ConditionalExpression 870965 871018 - Identifier 870965 870973 - QuestionToken 870973 870975 - CallExpression 870975 871003 - Identifier 870975 870985 - CallExpression 870986 871002 - PropertyAccessExpression 870986 871000 - Identifier 870986 870993 - Identifier 870994 871000 - ColonToken 871003 871005 - ArrayLiteralExpression 871005 871018 - Identifier 871007 871017 - VariableStatement 871019 871073 - VariableDeclarationList 871019 871072 - VariableDeclaration 871032 871072 - Identifier 871032 871045 - UnionType 871046 871072 - ArrayType 871046 871060 - TypeReference 871046 871058 - Identifier 871046 871058 - UndefinedKeyword 871062 871072 - VariableStatement 871073 871115 - VariableDeclarationList 871073 871114 - VariableDeclaration 871086 871114 - Identifier 871086 871096 - UnionType 871097 871114 - TypeReference 871097 871102 - Identifier 871097 871102 - UndefinedKeyword 871104 871114 - VariableStatement 871115 871156 - VariableDeclarationList 871115 871155 - VariableDeclaration 871128 871155 - Identifier 871128 871137 - UnionType 871138 871155 - TypeReference 871138 871143 - Identifier 871138 871143 - UndefinedKeyword 871145 871155 - VariableStatement 871156 871195 - VariableDeclarationList 871156 871194 - VariableDeclaration 871171 871194 - Identifier 871171 871181 - ArrayType 871182 871189 - TypeReference 871182 871187 - Identifier 871182 871187 - ArrayLiteralExpression 871191 871194 - VariableStatement 871195 871240 - VariableDeclarationList 871195 871239 - VariableDeclaration 871208 871239 - Identifier 871208 871219 - UnionType 871220 871239 - ArrayType 871220 871227 - TypeReference 871220 871225 - Identifier 871220 871225 - UndefinedKeyword 871229 871239 - VariableStatement 871240 871301 - VariableDeclarationList 871240 871300 - VariableDeclaration 871253 871300 - Identifier 871253 871275 - UnionType 871276 871300 - TypeReference 871276 871288 - Identifier 871276 871288 - UndefinedKeyword 871290 871300 - VariableStatement 871301 871353 - VariableDeclarationList 871301 871352 - VariableDeclaration 871314 871352 - Identifier 871314 871344 - FalseKeyword 871346 871352 - ForOfStatement 871353 872616 - VariableDeclarationList 871368 871378 - VariableDeclaration 871373 871378 - Identifier 871373 871378 - Identifier 871381 871387 - Block 871388 872616 - IfStatement 871390 871680 - PrefixUnaryExpression 871408 871430 - Identifier 871409 871430 - Block 871431 871512 - ExpressionStatement 871433 871497 - BinaryExpression 871433 871496 - Identifier 871433 871472 - EqualsToken 871472 871474 - PropertyAccessExpression 871474 871496 - Identifier 871474 871479 - Identifier 871480 871496 - IfStatement 871530 871680 - BinaryExpression 871535 871607 - PropertyAccessExpression 871535 871556 - Identifier 871535 871539 - Identifier 871540 871556 - AmpersandAmpersandToken 871556 871559 - BinaryExpression 871559 871607 - PropertyAccessExpression 871559 871581 - Identifier 871559 871564 - Identifier 871565 871581 - ExclamationEqualsEqualsToken 871581 871585 - Identifier 871585 871607 - Block 871608 871680 - ExpressionStatement 871610 871665 - BinaryExpression 871610 871664 - Identifier 871610 871657 - EqualsToken 871657 871659 - TrueKeyword 871659 871664 - ExpressionStatement 871680 871751 - BinaryExpression 871680 871750 - Identifier 871680 871706 - EqualsToken 871706 871708 - CallExpression 871708 871750 - Identifier 871708 871717 - Identifier 871718 871730 - PropertyAccessExpression 871731 871749 - Identifier 871731 871736 - Identifier 871737 871749 - VariableStatement 871751 871800 - VariableDeclarationList 871751 871799 - VariableDeclaration 871770 871799 - Identifier 871770 871775 - CallExpression 871777 871799 - Identifier 871777 871793 - Identifier 871794 871798 - IfStatement 871800 871940 - PrefixUnaryExpression 871818 871828 - Identifier 871819 871828 - Block 871829 871940 - ExpressionStatement 871831 871866 - BinaryExpression 871831 871865 - Identifier 871831 871858 - EqualsToken 871858 871860 - Identifier 871860 871865 - ExpressionStatement 871866 871925 - BinaryExpression 871866 871924 - Identifier 871866 871892 - EqualsToken 871892 871894 - PropertyAccessExpression 871894 871924 - CallExpression 871894 871915 - Identifier 871894 871909 - Identifier 871910 871914 - Identifier 871916 871924 - VariableStatement 871940 871999 - VariableDeclarationList 871940 871998 - VariableDeclaration 871959 871998 - Identifier 871959 871969 - CallExpression 871971 871998 - Identifier 871971 871992 - Identifier 871993 871997 - IfStatement 871999 872162 - BinaryExpression 872017 872049 - Identifier 872017 872027 - BarBarToken 872027 872030 - BinaryExpression 872030 872049 - Identifier 872030 872040 - ExclamationEqualsEqualsToken 872040 872044 - Identifier 872044 872049 - Block 872050 872162 - ExpressionStatement 872052 872147 - BinaryExpression 872052 872146 - Identifier 872052 872080 - EqualsToken 872080 872082 - CallExpression 872082 872146 - Identifier 872082 872089 - ConditionalExpression 872090 872134 - PrefixUnaryExpression 872090 872101 - Identifier 872091 872101 - QuestionToken 872101 872103 - CallExpression 872103 872121 - PropertyAccessExpression 872103 872119 - Identifier 872103 872113 - Identifier 872114 872119 - ColonToken 872121 872123 - Identifier 872123 872134 - Identifier 872135 872145 - IfStatement 872162 872277 - BinaryExpression 872180 872198 - Identifier 872180 872184 - ExclamationEqualsEqualsToken 872184 872188 - Identifier 872188 872198 - Block 872199 872277 - ExpressionStatement 872201 872262 - BinaryExpression 872201 872261 - Identifier 872201 872229 - BarEqualsToken 872229 872232 - PropertyAccessExpression 872232 872261 - Identifier 872232 872243 - Identifier 872244 872261 - IfStatement 872277 872420 - BinaryExpression 872295 872344 - CallExpression 872295 872314 - Identifier 872295 872308 - Identifier 872309 872313 - BarBarToken 872314 872317 - CallExpression 872317 872344 - Identifier 872317 872338 - Identifier 872339 872343 - Block 872345 872420 - ExpressionStatement 872347 872405 - BinaryExpression 872347 872404 - Identifier 872347 872375 - BarEqualsToken 872375 872378 - PropertyAccessExpression 872378 872404 - Identifier 872378 872389 - Identifier 872390 872404 - IfStatement 872420 872570 - BinaryExpression 872438 872496 - BinaryExpression 872438 872466 - PropertyAccessExpression 872438 872448 - Identifier 872438 872442 - Identifier 872443 872448 - AmpersandToken 872448 872450 - PropertyAccessExpression 872450 872466 - Identifier 872450 872460 - Identifier 872461 872466 - AmpersandAmpersandToken 872466 872469 - BinaryExpression 872469 872496 - Identifier 872469 872474 - ExclamationEqualsEqualsToken 872474 872478 - Identifier 872478 872496 - Block 872497 872570 - ExpressionStatement 872499 872555 - BinaryExpression 872499 872554 - Identifier 872499 872527 - BarEqualsToken 872527 872530 - PropertyAccessExpression 872530 872554 - Identifier 872530 872541 - Identifier 872542 872554 - ExpressionStatement 872570 872605 - CallExpression 872570 872604 - PropertyAccessExpression 872570 872598 - Identifier 872570 872593 - Identifier 872594 872598 - Identifier 872599 872603 - ExpressionStatement 872616 872658 - CallExpression 872616 872657 - Identifier 872616 872634 - Identifier 872635 872644 - Identifier 872645 872656 - VariableStatement 872658 872774 - VariableDeclarationList 872658 872773 - VariableDeclaration 872673 872773 - Identifier 872673 872680 - CallExpression 872682 872773 - Identifier 872682 872695 - BinaryExpression 872696 872738 - PropertyAccessExpression 872696 872716 - Identifier 872696 872707 - Identifier 872708 872716 - BarToken 872716 872718 - ParenthesizedExpression 872718 872738 - BinaryExpression 872720 872737 - Identifier 872720 872732 - QuestionQuestionToken 872732 872735 - NumericLiteral 872735 872737 - Identifier 872739 872744 - BinaryExpression 872745 872772 - Identifier 872745 872759 - BarToken 872759 872761 - Identifier 872761 872772 - ExpressionStatement 872774 872829 - BinaryExpression 872774 872828 - PropertyAccessExpression 872774 872811 - PropertyAccessExpression 872774 872796 - Identifier 872774 872790 - Identifier 872791 872796 - Identifier 872797 872811 - EqualsToken 872811 872813 - Identifier 872813 872828 - IfStatement 872829 873172 - BinaryExpression 872843 872898 - PrefixUnaryExpression 872843 872873 - Identifier 872844 872873 - AmpersandAmpersandToken 872873 872876 - Identifier 872876 872898 - Block 872899 873172 - ExpressionStatement 872901 872963 - BinaryExpression 872901 872962 - PropertyAccessExpression 872901 872938 - Identifier 872901 872921 - Identifier 872922 872938 - EqualsToken 872938 872940 - Identifier 872940 872962 - IfStatement 872963 873161 - PropertyAccessExpression 873038 873073 - PropertyAccessExpression 873038 873066 - Identifier 873038 873059 - Identifier 873060 873066 - Identifier 873067 873073 - Block 873074 873161 - ExpressionStatement 873076 873146 - BinaryExpression 873076 873145 - PropertyAccessExpression 873076 873107 - Identifier 873076 873100 - Identifier 873101 873107 - EqualsToken 873107 873109 - PropertyAccessExpression 873109 873145 - PropertyAccessExpression 873109 873138 - Identifier 873109 873131 - Identifier 873132 873138 - Identifier 873139 873145 - ExpressionStatement 873172 873219 - BinaryExpression 873172 873218 - PropertyAccessExpression 873172 873203 - Identifier 873172 873190 - Identifier 873191 873203 - EqualsToken 873203 873205 - Identifier 873205 873218 - ExpressionStatement 873219 873262 - BinaryExpression 873219 873261 - PropertyAccessExpression 873219 873250 - PropertyAccessExpression 873219 873241 - Identifier 873219 873235 - Identifier 873236 873241 - Identifier 873242 873250 - EqualsToken 873250 873252 - Identifier 873252 873261 - IfStatement 873262 873977 - BinaryExpression 873276 873296 - PropertyAccessExpression 873276 873292 - Identifier 873276 873285 - Identifier 873286 873292 - GreaterThanToken 873292 873294 - NumericLiteral 873294 873296 - Block 873297 873691 - ExpressionStatement 873299 873495 - BinaryExpression 873299 873494 - PropertyAccessExpression 873299 873467 - PropertyAccessExpression 873299 873456 - Identifier 873299 873450 - Identifier 873451 873456 - Identifier 873457 873467 - BarEqualsToken 873467 873470 - PropertyAccessExpression 873470 873494 - Identifier 873470 873481 - Identifier 873482 873494 - ExpressionStatement 873495 873554 - BinaryExpression 873495 873553 - PropertyAccessExpression 873495 873536 - PropertyAccessExpression 873495 873521 - Identifier 873495 873515 - Identifier 873516 873521 - Identifier 873522 873536 - EqualsToken 873536 873538 - Identifier 873538 873553 - ExpressionStatement 873554 873614 - BinaryExpression 873554 873613 - PropertyAccessExpression 873554 873601 - PropertyAccessExpression 873554 873580 - Identifier 873554 873574 - Identifier 873575 873580 - Identifier 873581 873601 - EqualsToken 873601 873603 - Identifier 873603 873613 - ExpressionStatement 873614 873680 - BinaryExpression 873614 873679 - PropertyAccessExpression 873614 873666 - PropertyAccessExpression 873614 873640 - Identifier 873614 873634 - Identifier 873635 873640 - Identifier 873641 873666 - EqualsToken 873666 873668 - Identifier 873668 873679 - Block 873705 873977 - ExpressionStatement 873707 873808 - BinaryExpression 873707 873807 - PropertyAccessExpression 873707 873738 - PropertyAccessExpression 873707 873733 - Identifier 873707 873727 - Identifier 873728 873733 - Identifier 873734 873738 - EqualsToken 873738 873740 - ConditionalExpression 873740 873807 - Identifier 873740 873748 - QuestionToken 873748 873750 - CallExpression 873750 873774 - Identifier 873750 873763 - Identifier 873764 873773 - ColonToken 873774 873776 - CallExpression 873776 873807 - Identifier 873776 873796 - Identifier 873797 873806 - IfStatement 873808 873966 - Identifier 873826 873836 - Block 873837 873966 - ExpressionStatement 873839 873951 - BinaryExpression 873839 873950 - PropertyAccessExpression 873839 873879 - PropertyAccessExpression 873839 873869 - Identifier 873839 873863 - Identifier 873864 873869 - Identifier 873870 873879 - EqualsToken 873879 873881 - ConditionalExpression 873881 873950 - Identifier 873881 873889 - QuestionToken 873889 873891 - CallExpression 873891 873916 - Identifier 873891 873904 - Identifier 873905 873915 - ColonToken 873916 873918 - CallExpression 873918 873950 - Identifier 873918 873938 - Identifier 873939 873949 - ReturnStatement 873977 874001 - Identifier 873993 874000 - FunctionDeclaration 874008 875781 - Identifier 874521 874552 - Parameter 874553 874582 - Identifier 874553 874557 - TypeReference 874558 874582 - Identifier 874558 874582 - Parameter 874583 874598 - Identifier 874583 874588 - TypeReference 874589 874598 - Identifier 874589 874598 - Parameter 874599 874643 - Identifier 874599 874633 - QuestionToken 874633 874634 - BooleanKeyword 874635 874643 - UnionType 874645 874664 - TypeReference 874645 874652 - Identifier 874645 874652 - UndefinedKeyword 874654 874664 - Block 874664 875781 - VariableStatement 874666 874851 - VariableDeclarationList 874666 874850 - VariableDeclaration 874679 874850 - Identifier 874679 874688 - ConditionalExpression 874690 874850 - Identifier 874690 874724 - QuestionToken 874724 874726 - CallExpression 874726 874805 - PropertyAccessExpression 874726 874799 - PropertyAccessExpression 874726 874794 - Identifier 874726 874744 - Identifier 874745 874794 - QuestionDotToken 874794 874796 - Identifier 874796 874799 - Identifier 874800 874804 - ColonToken 874805 874807 - CallExpression 874807 874850 - PropertyAccessExpression 874807 874844 - PropertyAccessExpression 874807 874839 - Identifier 874807 874825 - Identifier 874826 874839 - QuestionDotToken 874839 874841 - Identifier 874841 874844 - Identifier 874845 874849 - IfStatement 874851 875748 - PrefixUnaryExpression 874865 874874 - Identifier 874866 874874 - Block 874875 875748 - ExpressionStatement 874877 874983 - BinaryExpression 874877 874982 - Identifier 874877 874899 - EqualsToken 874899 874901 - CallExpression 874901 874982 - Identifier 874901 874935 - Identifier 874936 874940 - Identifier 874941 874946 - Identifier 874947 874981 - IfStatement 874983 875737 - Identifier 875001 875009 - Block 875010 875737 - VariableStatement 875012 875251 - VariableDeclarationList 875012 875250 - VariableDeclaration 875035 875250 - Identifier 875035 875046 - ConditionalExpression 875048 875250 - Identifier 875048 875082 - QuestionToken 875082 875084 - BinaryExpression 875084 875184 - PropertyAccessExpression 875084 875160 - Identifier 875084 875110 - Identifier 875111 875160 - BarBarEqualsToken 875160 875164 - CallExpression 875164 875184 - Identifier 875164 875182 - ColonToken 875184 875186 - BinaryExpression 875186 875250 - PropertyAccessExpression 875186 875226 - Identifier 875186 875212 - Identifier 875213 875226 - BarBarEqualsToken 875226 875230 - CallExpression 875230 875250 - Identifier 875230 875248 - ExpressionStatement 875251 875300 - CallExpression 875251 875299 - PropertyAccessExpression 875251 875283 - Identifier 875251 875279 - Identifier 875280 875283 - Identifier 875284 875288 - Identifier 875289 875298 - IfStatement 875300 875722 - BinaryExpression 875445 875563 - BinaryExpression 875445 875529 - Identifier 875445 875478 - AmpersandAmpersandToken 875478 875481 - PrefixUnaryExpression 875481 875529 - ParenthesizedExpression 875483 875529 - BinaryExpression 875484 875528 - CallExpression 875484 875507 - Identifier 875484 875497 - Identifier 875498 875506 - AmpersandToken 875507 875509 - PropertyAccessExpression 875509 875528 - Identifier 875509 875520 - Identifier 875521 875528 - AmpersandAmpersandToken 875529 875532 - PrefixUnaryExpression 875532 875563 - CallExpression 875534 875563 - PropertyAccessExpression 875534 875557 - PropertyAccessExpression 875534 875552 - Identifier 875534 875538 - Identifier 875539 875552 - QuestionDotToken 875552 875554 - Identifier 875554 875557 - Identifier 875558 875562 - Block 875564 875722 - VariableStatement 875566 875650 - VariableDeclarationList 875566 875649 - VariableDeclaration 875593 875649 - Identifier 875593 875604 - BinaryExpression 875606 875649 - PropertyAccessExpression 875606 875625 - Identifier 875606 875611 - Identifier 875612 875625 - BarBarEqualsToken 875625 875629 - CallExpression 875629 875649 - Identifier 875629 875647 - ExpressionStatement 875650 875703 - CallExpression 875650 875702 - PropertyAccessExpression 875650 875686 - Identifier 875650 875682 - Identifier 875683 875686 - Identifier 875687 875691 - Identifier 875692 875701 - ReturnStatement 875748 875774 - Identifier 875764 875773 - FunctionDeclaration 875781 876572 - Identifier 875797 875828 - Parameter 875829 875854 - Identifier 875829 875836 - TypeReference 875837 875854 - Identifier 875837 875846 - TypeReference 875847 875853 - Identifier 875847 875853 - Block 875855 876572 - VariableStatement 875857 875913 - VariableDeclarationList 875857 875912 - VariableDeclaration 875870 875912 - Identifier 875870 875889 - UnionType 875890 875912 - TypeReference 875890 875900 - Identifier 875890 875894 - TypeReference 875895 875899 - Identifier 875895 875899 - UndefinedKeyword 875902 875912 - ForOfStatement 875913 876529 - VariableDeclarationList 875928 875940 - VariableDeclaration 875933 875940 - Identifier 875933 875940 - Identifier 875943 875951 - Block 875952 876529 - IfStatement 875954 876045 - PrefixUnaryExpression 875972 875992 - PropertyAccessExpression 875973 875992 - Identifier 875973 875979 - Identifier 875980 875992 - Block 875993 876045 - ReturnStatement 875995 876030 - Identifier 876019 876029 - IfStatement 876045 876195 - PrefixUnaryExpression 876063 876082 - Identifier 876064 876082 - Block 876083 876195 - ExpressionStatement 876085 876153 - BinaryExpression 876085 876152 - Identifier 876085 876121 - EqualsToken 876121 876123 - NewExpression 876123 876152 - Identifier 876127 876131 - PropertyAccessExpression 876132 876151 - Identifier 876132 876138 - Identifier 876139 876151 - ContinueStatement 876153 876180 - ExpressionStatement 876195 876418 - CallExpression 876195 876417 - PropertyAccessExpression 876195 876235 - Identifier 876195 876227 - Identifier 876228 876235 - ArrowFunction 876236 876416 - Parameter 876236 876247 - Identifier 876236 876247 - EqualsGreaterThanToken 876247 876250 - Block 876250 876416 - IfStatement 876252 876401 - PrefixUnaryExpression 876274 876317 - CallExpression 876275 876317 - Identifier 876275 876283 - PropertyAccessExpression 876284 876303 - Identifier 876284 876290 - Identifier 876291 876303 - Identifier 876304 876316 - Block 876318 876401 - ExpressionStatement 876320 876382 - CallExpression 876320 876381 - PropertyAccessExpression 876320 876368 - NonNullExpression 876320 876361 - Identifier 876320 876360 - Identifier 876362 876368 - Identifier 876369 876380 - IfStatement 876418 876518 - BinaryExpression 876436 876465 - PropertyAccessExpression 876436 876459 - Identifier 876436 876454 - Identifier 876455 876459 - EqualsEqualsEqualsToken 876459 876463 - NumericLiteral 876463 876465 - Block 876466 876518 - ReturnStatement 876468 876503 - Identifier 876492 876502 - ReturnStatement 876529 876565 - Identifier 876545 876564 - FunctionDeclaration 876572 877023 - Identifier 876588 876625 - Parameter 876626 876655 - Identifier 876626 876630 - TypeReference 876631 876655 - Identifier 876631 876655 - Parameter 876656 876671 - Identifier 876656 876661 - TypeReference 876662 876671 - Identifier 876662 876671 - Parameter 876672 876716 - Identifier 876672 876706 - QuestionToken 876706 876707 - BooleanKeyword 876708 876716 - UnionType 876718 876737 - TypeReference 876718 876725 - Identifier 876718 876725 - UndefinedKeyword 876727 876737 - Block 876737 877023 - VariableStatement 876739 876844 - VariableDeclarationList 876739 876843 - VariableDeclaration 876754 876843 - Identifier 876754 876763 - CallExpression 876765 876843 - Identifier 876765 876796 - Identifier 876797 876801 - Identifier 876802 876807 - Identifier 876808 876842 - ReturnStatement 876844 877016 - ConditionalExpression 876928 877015 - BinaryExpression 876928 876992 - Identifier 876928 876937 - AmpersandAmpersandToken 876937 876940 - PrefixUnaryExpression 876940 876992 - ParenthesizedExpression 876942 876992 - BinaryExpression 876943 876991 - CallExpression 876943 876966 - Identifier 876943 876956 - Identifier 876957 876965 - AmpersandToken 876966 876968 - PropertyAccessExpression 876968 876991 - Identifier 876968 876979 - Identifier 876980 876991 - QuestionToken 876992 876994 - Identifier 876994 877003 - ColonToken 877003 877005 - Identifier 877005 877015 - FunctionDeclaration 877023 878432 - Identifier 877536 877551 - Parameter 877552 877562 - Identifier 877552 877556 - TypeReference 877557 877562 - Identifier 877557 877562 - TypeReference 877564 877569 - Identifier 877564 877569 - Block 877569 878432 - IfStatement 877571 878403 - BinaryExpression 877585 877684 - BinaryExpression 877585 877613 - PropertyAccessExpression 877585 877595 - Identifier 877585 877589 - Identifier 877590 877595 - AmpersandToken 877595 877597 - PropertyAccessExpression 877597 877613 - Identifier 877597 877607 - Identifier 877608 877613 - AmpersandAmpersandToken 877613 877616 - BinaryExpression 877616 877684 - PropertyAccessExpression 877616 877648 - ParenthesizedExpression 877616 877636 - AsExpression 877618 877635 - Identifier 877618 877622 - TypeReference 877625 877635 - Identifier 877625 877635 - Identifier 877637 877648 - AmpersandToken 877648 877650 - PropertyAccessExpression 877650 877684 - Identifier 877650 877662 - Identifier 877663 877684 - Block 877685 877845 - ReturnStatement 877687 877834 - BinaryExpression 877707 877833 - PropertyAccessExpression 877707 877747 - ParenthesizedExpression 877707 877727 - AsExpression 877709 877726 - Identifier 877709 877713 - TypeReference 877716 877726 - Identifier 877716 877726 - Identifier 877728 877747 - BarBarToken 877747 877750 - ParenthesizedExpression 877750 877833 - BinaryExpression 877752 877832 - PropertyAccessExpression 877752 877791 - ParenthesizedExpression 877752 877771 - AsExpression 877753 877770 - Identifier 877753 877757 - TypeReference 877760 877770 - Identifier 877760 877770 - Identifier 877772 877791 - EqualsToken 877791 877793 - CallExpression 877793 877832 - Identifier 877793 877813 - AsExpression 877814 877831 - Identifier 877814 877818 - TypeReference 877821 877831 - Identifier 877821 877831 - IfStatement 877859 878403 - BinaryExpression 877864 877899 - PropertyAccessExpression 877864 877874 - Identifier 877864 877868 - Identifier 877869 877874 - AmpersandToken 877874 877876 - PropertyAccessExpression 877876 877899 - Identifier 877876 877886 - Identifier 877887 877899 - Block 877900 878403 - IfStatement 877902 878279 - PrefixUnaryExpression 877920 878003 - ParenthesizedExpression 877921 878003 - BinaryExpression 877922 878002 - PropertyAccessExpression 877922 877960 - ParenthesizedExpression 877922 877948 - AsExpression 877923 877947 - Identifier 877923 877927 - TypeReference 877930 877947 - Identifier 877930 877947 - Identifier 877949 877960 - AmpersandToken 877960 877962 - PropertyAccessExpression 877962 878002 - Identifier 877962 877974 - Identifier 877975 878002 - Block 878004 878279 - ExpressionStatement 878006 878264 - BinaryExpression 878006 878263 - PropertyAccessExpression 878006 878062 - ParenthesizedExpression 878006 878050 - AsExpression 878025 878049 - Identifier 878025 878029 - TypeReference 878032 878049 - Identifier 878032 878049 - Identifier 878051 878062 - BarEqualsToken 878062 878065 - BinaryExpression 878065 878263 - PropertyAccessExpression 878065 878105 - Identifier 878065 878077 - Identifier 878078 878105 - BarToken 878105 878107 - ParenthesizedExpression 878107 878263 - ConditionalExpression 878130 878262 - CallExpression 878130 878224 - Identifier 878130 878134 - CallExpression 878135 878199 - Identifier 878135 878173 - AsExpression 878174 878198 - Identifier 878174 878178 - TypeReference 878181 878198 - Identifier 878181 878198 - Identifier 878200 878223 - QuestionToken 878224 878226 - PropertyAccessExpression 878226 878258 - Identifier 878226 878238 - Identifier 878239 878258 - ColonToken 878258 878260 - NumericLiteral 878260 878262 - ReturnStatement 878279 878392 - ConditionalExpression 878299 878391 - BinaryExpression 878299 878372 - PropertyAccessExpression 878299 878338 - ParenthesizedExpression 878299 878326 - AsExpression 878301 878325 - Identifier 878301 878305 - TypeReference 878308 878325 - Identifier 878308 878325 - Identifier 878327 878338 - AmpersandToken 878338 878340 - PropertyAccessExpression 878340 878372 - Identifier 878340 878352 - Identifier 878353 878372 - QuestionToken 878372 878374 - Identifier 878374 878384 - ColonToken 878384 878386 - Identifier 878386 878391 - ReturnStatement 878403 878425 - Identifier 878419 878424 - FunctionDeclaration 878432 878866 - Identifier 878448 878468 - Parameter 878469 878489 - Identifier 878469 878478 - TypeReference 878479 878489 - Identifier 878479 878489 - Block 878490 878866 - VariableStatement 878492 878564 - VariableDeclarationList 878492 878563 - VariableDeclaration 878507 878563 - Identifier 878507 878520 - CallExpression 878522 878563 - Identifier 878522 878530 - PropertyAccessExpression 878531 878546 - Identifier 878531 878540 - Identifier 878541 878546 - Identifier 878547 878562 - IfStatement 878564 878655 - BinaryExpression 878578 878610 - Identifier 878578 878590 - EqualsEqualsEqualsToken 878590 878594 - PropertyAccessExpression 878594 878610 - Identifier 878594 878604 - Identifier 878605 878610 - Block 878611 878655 - ReturnStatement 878613 878644 - Identifier 878633 878643 - VariableStatement 878655 878708 - VariableDeclarationList 878655 878707 - VariableDeclaration 878670 878707 - Identifier 878670 878678 - CallExpression 878680 878707 - Identifier 878680 878693 - Identifier 878694 878706 - IfStatement 878708 878834 - BinaryExpression 878722 878753 - PropertyAccessExpression 878722 878735 - Identifier 878722 878729 - Identifier 878730 878735 - AmpersandToken 878735 878737 - PropertyAccessExpression 878737 878753 - Identifier 878737 878747 - Identifier 878748 878753 - Block 878754 878834 - ExpressionStatement 878756 878823 - BinaryExpression 878756 878822 - PropertyAccessExpression 878756 878812 - ParenthesizedExpression 878756 878792 - AsExpression 878771 878791 - Identifier 878771 878778 - TypeReference 878781 878791 - Identifier 878781 878791 - Identifier 878793 878812 - EqualsToken 878812 878814 - Identifier 878814 878822 - ReturnStatement 878834 878859 - Identifier 878850 878858 - FunctionDeclaration 878866 879017 - Identifier 878882 878905 - Parameter 878906 878918 - Identifier 878906 878910 - TypeReference 878911 878918 - Identifier 878911 878918 - Block 878919 879017 - ReturnStatement 878921 879010 - BinaryExpression 878937 879009 - CallExpression 878937 878971 - Identifier 878937 878965 - Identifier 878966 878970 - BarBarToken 878971 878974 - CallExpression 878974 879009 - Identifier 878974 879003 - Identifier 879004 879008 - FunctionDeclaration 879017 879501 - Identifier 879033 879061 - Parameter 879062 879074 - Identifier 879062 879066 - TypeReference 879067 879074 - Identifier 879067 879074 - Block 879075 879501 - ReturnStatement 879077 879494 - BinaryExpression 879270 879493 - BinaryExpression 879270 879427 - PrefixUnaryExpression 879270 879307 - ParenthesizedExpression 879272 879307 - BinaryExpression 879273 879306 - PropertyAccessExpression 879273 879283 - Identifier 879273 879277 - Identifier 879278 879283 - AmpersandToken 879283 879285 - PropertyAccessExpression 879285 879306 - Identifier 879285 879297 - Identifier 879298 879306 - AmpersandAmpersandToken 879307 879310 - BinaryExpression 879310 879427 - ParenthesizedExpression 879310 879399 - BinaryExpression 879325 879398 - CallExpression 879325 879344 - Identifier 879325 879338 - Identifier 879339 879343 - AmpersandToken 879344 879346 - ParenthesizedExpression 879346 879398 - BinaryExpression 879348 879397 - PropertyAccessExpression 879348 879371 - Identifier 879348 879358 - Identifier 879359 879371 - BarToken 879371 879373 - PropertyAccessExpression 879373 879397 - Identifier 879373 879384 - Identifier 879385 879397 - EqualsEqualsEqualsToken 879399 879403 - PropertyAccessExpression 879403 879427 - Identifier 879403 879414 - Identifier 879415 879427 - AmpersandAmpersandToken 879427 879430 - PrefixUnaryExpression 879430 879493 - PrefixUnaryExpression 879445 879493 - ParenthesizedExpression 879446 879493 - BinaryExpression 879447 879492 - PropertyAccessExpression 879447 879474 - CallExpression 879447 879468 - Identifier 879447 879462 - Identifier 879463 879467 - Identifier 879469 879474 - AmpersandToken 879474 879476 - PropertyAccessExpression 879476 879492 - Identifier 879476 879486 - Identifier 879487 879492 - FunctionDeclaration 879501 879776 - Identifier 879517 879546 - Parameter 879547 879559 - Identifier 879547 879551 - TypeReference 879552 879559 - Identifier 879552 879559 - Block 879560 879776 - ReturnStatement 879562 879769 - BinaryExpression 879689 879768 - PrefixUnaryExpression 879689 879712 - PropertyAccessExpression 879691 879712 - Identifier 879691 879695 - Identifier 879696 879712 - AmpersandAmpersandToken 879712 879715 - PrefixUnaryExpression 879715 879768 - PrefixUnaryExpression 879717 879768 - ParenthesizedExpression 879718 879768 - BinaryExpression 879719 879767 - CallExpression 879719 879738 - Identifier 879719 879732 - Identifier 879733 879737 - AmpersandToken 879738 879740 - PropertyAccessExpression 879740 879767 - Identifier 879740 879751 - Identifier 879752 879767 - FunctionDeclaration 879776 880685 - Identifier 880347 880370 - Parameter 880371 880381 - Identifier 880371 880375 - TypeReference 880376 880381 - Identifier 880376 880381 - BooleanKeyword 880383 880391 - Block 880391 880685 - ReturnStatement 880393 880678 - PrefixUnaryExpression 880409 880677 - PrefixUnaryExpression 880411 880677 - ParenthesizedExpression 880412 880677 - BinaryExpression 880413 880676 - BinaryExpression 880413 880571 - BinaryExpression 880413 880512 - BinaryExpression 880413 880441 - PropertyAccessExpression 880413 880423 - Identifier 880413 880417 - Identifier 880418 880423 - AmpersandToken 880423 880425 - PropertyAccessExpression 880425 880441 - Identifier 880425 880435 - Identifier 880436 880441 - AmpersandAmpersandToken 880441 880444 - BinaryExpression 880444 880512 - PropertyAccessExpression 880444 880476 - ParenthesizedExpression 880444 880464 - AsExpression 880446 880463 - Identifier 880446 880450 - TypeReference 880453 880463 - Identifier 880453 880463 - Identifier 880465 880476 - AmpersandToken 880476 880478 - PropertyAccessExpression 880478 880512 - Identifier 880478 880490 - Identifier 880491 880512 - AmpersandAmpersandToken 880512 880515 - CallExpression 880515 880571 - Identifier 880515 880520 - PropertyAccessExpression 880521 880546 - ParenthesizedExpression 880521 880540 - AsExpression 880522 880539 - Identifier 880522 880526 - TypeReference 880529 880539 - Identifier 880529 880539 - Identifier 880541 880546 - Identifier 880547 880570 - BarBarToken 880571 880574 - BinaryExpression 880574 880676 - BinaryExpression 880574 880623 - PropertyAccessExpression 880574 880598 - Identifier 880574 880592 - Identifier 880593 880598 - AmpersandToken 880598 880600 - PropertyAccessExpression 880600 880623 - Identifier 880600 880610 - Identifier 880611 880623 - AmpersandAmpersandToken 880623 880626 - CallExpression 880626 880676 - Identifier 880626 880650 - AsExpression 880651 880675 - Identifier 880651 880655 - TypeReference 880658 880675 - Identifier 880658 880675 - FunctionDeclaration 880685 880978 - Identifier 880701 880725 - Parameter 880726 880748 - Identifier 880726 880730 - TypeReference 880731 880748 - Identifier 880731 880748 - Block 880749 880978 - VariableStatement 880751 880908 - VariableDeclarationList 880751 880907 - VariableDeclaration 880766 880907 - Identifier 880766 880779 - BinaryExpression 880781 880907 - PropertyAccessExpression 880781 880819 - Identifier 880781 880786 - Identifier 880787 880819 - BarBarToken 880819 880822 - ParenthesizedExpression 880822 880907 - BinaryExpression 880824 880906 - PropertyAccessExpression 880824 880861 - Identifier 880824 880828 - Identifier 880829 880861 - EqualsToken 880861 880863 - CallExpression 880863 880906 - Identifier 880863 880879 - Identifier 880880 880884 - Identifier 880885 880905 - ReturnStatement 880908 880971 - BinaryExpression 880924 880970 - CallExpression 880924 880953 - Identifier 880924 880939 - Identifier 880940 880952 - ExclamationEqualsEqualsToken 880953 880957 - Identifier 880957 880970 - FunctionDeclaration 880978 882192 - Identifier 880994 881021 - Parameter 881022 881067 - Identifier 881022 881031 - UnionType 881032 881067 - TypeReference 881032 881055 - Identifier 881032 881055 - UndefinedKeyword 881057 881067 - Parameter 881068 881079 - Identifier 881068 881073 - TypeReference 881074 881079 - Identifier 881074 881079 - Block 881080 882192 - IfStatement 881082 882158 - BinaryExpression 881096 881189 - BinaryExpression 881096 881131 - PropertyAccessExpression 881096 881106 - Identifier 881096 881100 - Identifier 881101 881106 - AmpersandToken 881106 881108 - PropertyAccessExpression 881108 881131 - Identifier 881108 881118 - Identifier 881119 881131 - AmpersandAmpersandToken 881131 881134 - BinaryExpression 881134 881189 - CallExpression 881134 881155 - Identifier 881134 881149 - Identifier 881150 881154 - AmpersandToken 881155 881157 - PropertyAccessExpression 881157 881189 - Identifier 881157 881169 - Identifier 881170 881189 - Block 881190 882158 - VariableStatement 881192 881324 - VariableDeclarationList 881192 881323 - VariableDeclaration 881211 881323 - Identifier 881211 881221 - CallExpression 881223 881323 - Identifier 881223 881228 - CallExpression 881229 881293 - Identifier 881229 881267 - AsExpression 881268 881292 - Identifier 881268 881272 - TypeReference 881275 881292 - Identifier 881275 881292 - Identifier 881294 881322 - IfStatement 881324 881660 - Identifier 881342 881351 - Block 881352 881660 - ReturnStatement 881354 881645 - CallExpression 881378 881644 - Identifier 881378 881402 - Identifier 881403 881412 - PropertyAccessExpression 881413 881527 - Identifier 881413 881425 - Identifier 881426 881527 - CallExpression 881528 881616 - Identifier 881528 881541 - Identifier 881542 881546 - Identifier 881547 881582 - PropertyAccessExpression 881583 881615 - Identifier 881583 881599 - Identifier 881600 881615 - CallExpression 881617 881643 - Identifier 881617 881632 - Identifier 881633 881642 - VariableStatement 881660 881795 - VariableDeclarationList 881660 881794 - VariableDeclaration 881679 881794 - Identifier 881679 881691 - CallExpression 881693 881794 - Identifier 881693 881698 - CallExpression 881699 881763 - Identifier 881699 881737 - AsExpression 881738 881762 - Identifier 881738 881742 - TypeReference 881745 881762 - Identifier 881745 881762 - Identifier 881764 881793 - IfStatement 881795 882147 - Identifier 881813 881824 - Block 881825 882147 - ReturnStatement 881827 882132 - CallExpression 881851 882131 - Identifier 881851 881875 - Identifier 881876 881885 - PropertyAccessExpression 881886 882012 - Identifier 881886 881898 - Identifier 881899 882012 - CallExpression 882013 882101 - Identifier 882013 882026 - Identifier 882027 882031 - Identifier 882032 882067 - PropertyAccessExpression 882068 882100 - Identifier 882068 882084 - Identifier 882085 882100 - CallExpression 882102 882130 - Identifier 882102 882117 - Identifier 882118 882129 - ReturnStatement 882158 882185 - Identifier 882174 882184 - FunctionDeclaration 882192 885020 - Identifier 882641 882659 - Parameter 882660 882670 - Identifier 882660 882664 - TypeReference 882665 882670 - Identifier 882665 882670 - Parameter 882671 882686 - Identifier 882671 882676 - TypeReference 882677 882686 - Identifier 882677 882686 - Parameter 882687 882731 - Identifier 882687 882721 - QuestionToken 882721 882722 - BooleanKeyword 882723 882731 - Parameter 882732 882765 - Identifier 882732 882755 - QuestionToken 882755 882756 - BooleanKeyword 882757 882765 - UnionType 882767 882786 - TypeReference 882767 882774 - Identifier 882767 882774 - UndefinedKeyword 882776 882786 - Block 882786 885020 - ExpressionStatement 882788 882834 - BinaryExpression 882788 882833 - Identifier 882788 882802 - EqualsToken 882802 882804 - CallExpression 882804 882833 - Identifier 882804 882827 - Identifier 882828 882832 - IfStatement 882834 884281 - BinaryExpression 882848 882877 - PropertyAccessExpression 882848 882858 - Identifier 882848 882852 - Identifier 882853 882858 - AmpersandToken 882858 882860 - PropertyAccessExpression 882860 882877 - Identifier 882860 882870 - Identifier 882871 882877 - Block 882878 884281 - VariableStatement 882880 882960 - VariableDeclarationList 882880 882959 - VariableDeclaration 882899 882959 - Identifier 882899 882908 - CallExpression 882910 882959 - Identifier 882910 882939 - AsExpression 882940 882958 - Identifier 882940 882944 - TypeReference 882947 882958 - Identifier 882947 882958 - VariableStatement 882960 883016 - VariableDeclarationList 882960 883015 - VariableDeclaration 882979 883015 - Identifier 882979 882986 - CallExpression 882988 883015 - PropertyAccessExpression 882988 883009 - PropertyAccessExpression 882988 883005 - Identifier 882988 882997 - Identifier 882998 883005 - Identifier 883006 883009 - Identifier 883010 883014 - IfStatement 883016 883521 - BinaryExpression 883034 883179 - BinaryExpression 883034 883115 - BinaryExpression 883034 883067 - Identifier 883034 883040 - AmpersandAmpersandToken 883040 883043 - PrefixUnaryExpression 883043 883067 - Identifier 883045 883067 - AmpersandAmpersandToken 883067 883070 - BinaryExpression 883070 883115 - PropertyAccessExpression 883070 883089 - PropertyAccessExpression 883070 883082 - Identifier 883070 883075 - Identifier 883076 883082 - QuestionDotToken 883082 883084 - Identifier 883084 883089 - AmpersandToken 883089 883091 - PropertyAccessExpression 883091 883115 - Identifier 883091 883103 - Identifier 883104 883115 - AmpersandAmpersandToken 883115 883118 - CallExpression 883118 883179 - PropertyAccessExpression 883118 883173 - PropertyAccessExpression 883118 883168 - CallExpression 883118 883146 - Identifier 883118 883133 - PropertyAccessExpression 883134 883145 - Identifier 883134 883138 - Identifier 883139 883145 - Identifier 883147 883168 - QuestionDotToken 883168 883170 - Identifier 883170 883173 - Identifier 883174 883178 - Block 883180 883521 - ReturnStatement 883182 883506 - Identifier 883495 883505 - IfStatement 883521 883644 - BinaryExpression 883539 883594 - Identifier 883539 883545 - AmpersandAmpersandToken 883545 883548 - CallExpression 883548 883594 - Identifier 883548 883562 - Identifier 883563 883569 - Identifier 883570 883593 - Block 883595 883644 - ReturnStatement 883597 883629 - Identifier 883621 883628 - IfStatement 883644 883714 - Identifier 883662 883695 - ReturnStatement 883696 883714 - Identifier 883703 883713 - VariableStatement 883714 883990 - VariableDeclarationList 883714 883989 - VariableDeclaration 883733 883989 - Identifier 883733 883746 - ConditionalExpression 883748 883989 - BinaryExpression 883748 883777 - Identifier 883748 883757 - EqualsEqualsEqualsToken 883757 883761 - Identifier 883761 883777 - QuestionToken 883777 883779 - Identifier 883779 883798 - ColonToken 883798 883800 - ConditionalExpression 883800 883989 - PropertyAccessExpression 883800 883848 - PropertyAccessExpression 883800 883841 - Identifier 883800 883826 - Identifier 883827 883841 - Identifier 883842 883848 - QuestionToken 883848 883850 - Identifier 883850 883877 - ColonToken 883877 883879 - ConditionalExpression 883879 883989 - PropertyAccessExpression 883879 883932 - PropertyAccessExpression 883879 883925 - Identifier 883879 883905 - Identifier 883906 883925 - Identifier 883926 883932 - QuestionToken 883932 883934 - Identifier 883934 883960 - ColonToken 883960 883962 - Identifier 883962 883989 - IfStatement 883990 884201 - Identifier 884008 884020 - Block 884021 884201 - VariableStatement 884023 884100 - VariableDeclarationList 884023 884099 - VariableDeclaration 884046 884099 - Identifier 884046 884053 - CallExpression 884055 884099 - Identifier 884055 884079 - Identifier 884080 884092 - Identifier 884093 884098 - IfStatement 884100 884186 - Identifier 884122 884128 - Block 884129 884186 - ReturnStatement 884131 884167 - Identifier 884159 884166 - ReturnStatement 884201 884270 - CallExpression 884221 884269 - Identifier 884221 884245 - Identifier 884246 884262 - Identifier 884263 884268 - IfStatement 884281 884798 - BinaryExpression 884295 884330 - PropertyAccessExpression 884295 884305 - Identifier 884295 884299 - Identifier 884300 884305 - AmpersandToken 884305 884307 - PropertyAccessExpression 884307 884330 - Identifier 884307 884317 - Identifier 884318 884330 - Block 884331 884798 - VariableStatement 884333 884480 - VariableDeclarationList 884333 884479 - VariableDeclaration 884352 884479 - Identifier 884352 884357 - CallExpression 884359 884479 - Identifier 884359 884396 - AsExpression 884397 884428 - Identifier 884397 884401 - TypeReference 884404 884428 - Identifier 884404 884428 - Identifier 884429 884434 - TrueKeyword 884435 884478 - IfStatement 884480 884550 - Identifier 884498 884502 - Block 884503 884550 - ReturnStatement 884505 884535 - Identifier 884529 884534 - IfStatement 884550 884756 - PrefixUnaryExpression 884568 884602 - Identifier 884569 884602 - Block 884603 884756 - ReturnStatement 884605 884741 - CallExpression 884629 884740 - Identifier 884629 884666 - AsExpression 884667 884698 - Identifier 884667 884671 - TypeReference 884674 884698 - Identifier 884674 884698 - Identifier 884699 884704 - Identifier 884705 884739 - ReturnStatement 884756 884787 - Identifier 884776 884786 - IfStatement 884798 884986 - BinaryExpression 884812 884840 - PropertyAccessExpression 884812 884822 - Identifier 884812 884816 - Identifier 884817 884822 - AmpersandToken 884822 884824 - PropertyAccessExpression 884824 884840 - Identifier 884824 884834 - Identifier 884835 884840 - Block 884841 884986 - ReturnStatement 884843 884975 - CallExpression 884863 884974 - Identifier 884863 884900 - AsExpression 884901 884932 - Identifier 884901 884905 - TypeReference 884908 884932 - Identifier 884908 884932 - Identifier 884933 884938 - Identifier 884939 884973 - ReturnStatement 884986 885013 - Identifier 885002 885012 - FunctionDeclaration 885020 885409 - Identifier 885036 885066 - Parameter 885067 885077 - Identifier 885067 885071 - TypeReference 885072 885077 - Identifier 885072 885077 - Parameter 885078 885098 - Identifier 885078 885083 - TypeReference 885084 885098 - Identifier 885084 885098 - TypeOperator 885100 885121 - ArrayType 885109 885121 - TypeReference 885109 885119 - Identifier 885109 885119 - Block 885121 885409 - IfStatement 885123 885374 - BinaryExpression 885137 885174 - PropertyAccessExpression 885137 885147 - Identifier 885137 885141 - Identifier 885142 885147 - AmpersandToken 885147 885149 - PropertyAccessExpression 885149 885174 - Identifier 885149 885159 - Identifier 885160 885174 - Block 885175 885374 - VariableStatement 885177 885257 - VariableDeclarationList 885177 885256 - VariableDeclaration 885196 885256 - Identifier 885196 885205 - CallExpression 885207 885256 - Identifier 885207 885236 - AsExpression 885237 885255 - Identifier 885237 885241 - TypeReference 885244 885255 - Identifier 885244 885255 - ReturnStatement 885257 885363 - ConditionalExpression 885277 885362 - BinaryExpression 885277 885305 - Identifier 885277 885282 - EqualsEqualsEqualsToken 885282 885286 - PropertyAccessExpression 885286 885305 - Identifier 885286 885300 - Identifier 885301 885305 - QuestionToken 885305 885307 - PropertyAccessExpression 885307 885331 - Identifier 885307 885316 - Identifier 885317 885331 - ColonToken 885331 885333 - PropertyAccessExpression 885333 885362 - Identifier 885333 885342 - Identifier 885343 885362 - ReturnStatement 885374 885402 - Identifier 885390 885401 - FunctionDeclaration 885409 887131 - Identifier 885642 885662 - Parameter 885663 885673 - Identifier 885663 885667 - TypeReference 885668 885673 - Identifier 885668 885673 - Parameter 885674 885694 - Identifier 885674 885679 - TypeReference 885680 885694 - Identifier 885680 885694 - TypeOperator 885696 885717 - ArrayType 885705 885717 - TypeReference 885705 885715 - Identifier 885705 885715 - Block 885717 887131 - VariableStatement 885719 885810 - VariableDeclarationList 885719 885809 - VariableDeclaration 885734 885809 - Identifier 885734 885741 - CallExpression 885743 885809 - Identifier 885743 885773 - CallExpression 885774 885802 - Identifier 885774 885796 - Identifier 885797 885801 - Identifier 885803 885808 - IfStatement 885810 887100 - BinaryExpression 885824 885902 - BinaryExpression 885824 885870 - BinaryExpression 885824 885851 - Identifier 885824 885828 - EqualsEqualsEqualsToken 885828 885832 - PropertyAccessExpression 885832 885851 - Identifier 885832 885846 - Identifier 885847 885851 - AmpersandAmpersandToken 885851 885854 - PrefixUnaryExpression 885854 885870 - CallExpression 885856 885870 - Identifier 885856 885862 - Identifier 885863 885869 - AmpersandAmpersandToken 885870 885873 - BinaryExpression 885873 885902 - PropertyAccessExpression 885873 885884 - Identifier 885873 885878 - Identifier 885879 885884 - AmpersandToken 885884 885886 - PropertyAccessExpression 885886 885902 - Identifier 885886 885896 - Identifier 885897 885902 - Block 885903 887100 - IfStatement 885905 886054 - PropertyAccessExpression 885923 885966 - ParenthesizedExpression 885923 885942 - AsExpression 885924 885941 - Identifier 885924 885928 - TypeReference 885931 885941 - Identifier 885931 885941 - Identifier 885943 885966 - Block 885967 886054 - ReturnStatement 885969 886039 - NonNullExpression 885993 886038 - PropertyAccessExpression 885993 886037 - ParenthesizedExpression 885993 886013 - AsExpression 885995 886012 - Identifier 885995 885999 - TypeReference 886002 886012 - Identifier 886002 886012 - Identifier 886014 886037 - VariableStatement 886054 886194 - VariableDeclarationList 886054 886193 - VariableDeclaration 886172 886193 - Identifier 886172 886183 - TypeReference 886184 886193 - Identifier 886184 886193 - IfStatement 886194 887022 - CallExpression 886212 886392 - Identifier 886212 886221 - Identifier 886222 886226 - ArrowFunction 886227 886391 - Parameter 886227 886229 - Identifier 886227 886229 - EqualsGreaterThanToken 886229 886232 - BinaryExpression 886232 886391 - BinaryExpression 886232 886292 - PrefixUnaryExpression 886232 886251 - PrefixUnaryExpression 886234 886251 - PropertyAccessExpression 886235 886251 - PropertyAccessExpression 886235 886243 - Identifier 886235 886236 - Identifier 886237 886243 - QuestionDotToken 886243 886245 - Identifier 886245 886251 - AmpersandAmpersandToken 886251 886254 - CallExpression 886254 886292 - Identifier 886254 886275 - PropertyAccessExpression 886276 886291 - PropertyAccessExpression 886276 886284 - Identifier 886276 886277 - Identifier 886278 886284 - Identifier 886285 886291 - AmpersandAmpersandToken 886292 886295 - ParenthesizedExpression 886295 886391 - ConditionalExpression 886297 886390 - PrefixUnaryExpression 886297 886308 - Identifier 886298 886308 - QuestionToken 886308 886310 - ParenthesizedExpression 886310 886352 - BinaryExpression 886312 886351 - BinaryExpression 886312 886345 - Identifier 886312 886322 - EqualsToken 886322 886324 - PropertyAccessExpression 886324 886345 - PropertyAccessExpression 886324 886333 - Identifier 886324 886326 - Identifier 886327 886333 - Identifier 886334 886345 - CommaToken 886345 886346 - TrueKeyword 886346 886351 - ColonToken 886352 886354 - BinaryExpression 886354 886390 - Identifier 886354 886365 - EqualsEqualsEqualsToken 886365 886369 - PropertyAccessExpression 886369 886390 - PropertyAccessExpression 886369 886378 - Identifier 886369 886371 - Identifier 886372 886378 - Identifier 886379 886390 - Block 886393 887022 - VariableStatement 886395 886737 - VariableDeclarationList 886395 886736 - VariableDeclaration 886556 886736 - Identifier 886556 886565 - CallExpression 886567 886736 - Identifier 886567 886575 - Identifier 886576 886580 - ArrowFunction 886581 886735 - Parameter 886581 886583 - Identifier 886581 886583 - EqualsGreaterThanToken 886583 886586 - CallExpression 886586 886735 - Identifier 886586 886600 - ElementAccessExpression 886601 886704 - NonNullExpression 886601 886701 - PropertyAccessExpression 886601 886700 - ParenthesizedExpression 886601 886685 - ConditionalExpression 886602 886684 - CallExpression 886602 886640 - Identifier 886602 886623 - PropertyAccessExpression 886624 886639 - PropertyAccessExpression 886624 886632 - Identifier 886624 886625 - Identifier 886626 886632 - Identifier 886633 886639 - QuestionToken 886640 886642 - Identifier 886642 886666 - ColonToken 886666 886668 - Identifier 886668 886684 - Identifier 886686 886700 - NumericLiteral 886702 886703 - NonNullExpression 886705 886734 - PropertyAccessExpression 886705 886733 - ParenthesizedExpression 886705 886726 - AsExpression 886707 886725 - Identifier 886707 886708 - TypeReference 886711 886725 - Identifier 886711 886725 - Identifier 886727 886733 - VariableStatement 886737 886860 - VariableDeclarationList 886737 886859 - VariableDeclaration 886760 886859 - Identifier 886760 886770 - CallExpression 886772 886859 - Identifier 886772 886788 - Identifier 886789 886797 - CallExpression 886798 886858 - Identifier 886798 886807 - Identifier 886808 886812 - ArrowFunction 886813 886857 - Parameter 886813 886815 - Identifier 886813 886815 - EqualsGreaterThanToken 886815 886818 - CallExpression 886818 886857 - Identifier 886818 886840 - PropertyAccessExpression 886841 886856 - PropertyAccessExpression 886841 886849 - Identifier 886841 886842 - Identifier 886843 886849 - Identifier 886850 886856 - ReturnStatement 886860 887007 - BinaryExpression 886884 887006 - PropertyAccessExpression 886884 886928 - ParenthesizedExpression 886884 886904 - AsExpression 886886 886903 - Identifier 886886 886890 - TypeReference 886893 886903 - Identifier 886893 886903 - Identifier 886905 886928 - EqualsToken 886928 886930 - CallExpression 886930 887006 - Identifier 886930 886950 - NonNullExpression 886951 886999 - CallExpression 886951 886998 - Identifier 886951 886974 - Identifier 886975 886984 - NonNullExpression 886985 886997 - Identifier 886985 886996 - Identifier 887000 887005 - ExpressionStatement 887022 887089 - BinaryExpression 887022 887088 - PropertyAccessExpression 887022 887079 - ParenthesizedExpression 887022 887055 - AsExpression 887037 887054 - Identifier 887037 887041 - TypeReference 887044 887054 - Identifier 887044 887054 - Identifier 887056 887079 - EqualsToken 887079 887081 - Identifier 887081 887088 - ReturnStatement 887100 887124 - Identifier 887116 887123 - FunctionDeclaration 887131 887475 - Identifier 887147 887168 - Parameter 887169 887195 - Identifier 887169 887175 - UnionType 887176 887195 - TypeReference 887176 887183 - Identifier 887176 887183 - UndefinedKeyword 887185 887195 - Block 887196 887475 - IfStatement 887198 887322 - BinaryExpression 887212 887281 - BinaryExpression 887212 887246 - PrefixUnaryExpression 887212 887219 - Identifier 887213 887219 - BarBarToken 887219 887222 - PrefixUnaryExpression 887222 887246 - PropertyAccessExpression 887224 887246 - Identifier 887224 887239 - Identifier 887240 887246 - BarBarToken 887246 887249 - PrefixUnaryExpression 887249 887281 - PropertyAccessExpression 887251 887281 - Identifier 887251 887274 - Identifier 887275 887281 - Block 887282 887322 - ReturnStatement 887284 887311 - FalseKeyword 887304 887310 - ReturnStatement 887322 887468 - BinaryExpression 887338 887467 - PrefixUnaryExpression 887338 887397 - PrefixUnaryExpression 887340 887397 - CallExpression 887341 887397 - Identifier 887341 887365 - Identifier 887366 887372 - PropertyAccessExpression 887373 887396 - Identifier 887373 887389 - Identifier 887390 887396 - BarBarToken 887397 887400 - PrefixUnaryExpression 887400 887467 - PrefixUnaryExpression 887402 887467 - CallExpression 887403 887467 - Identifier 887403 887427 - Identifier 887428 887434 - PropertyAccessExpression 887435 887466 - Identifier 887435 887459 - Identifier 887460 887466 - FunctionDeclaration 887475 887731 - Identifier 887491 887513 - Parameter 887514 887540 - Identifier 887514 887520 - UnionType 887521 887540 - TypeReference 887521 887528 - Identifier 887521 887528 - UndefinedKeyword 887530 887540 - Block 887541 887731 - IfStatement 887543 887640 - BinaryExpression 887557 887599 - PrefixUnaryExpression 887557 887564 - Identifier 887558 887564 - BarBarToken 887564 887567 - PrefixUnaryExpression 887567 887599 - PropertyAccessExpression 887569 887599 - Identifier 887569 887592 - Identifier 887593 887599 - Block 887600 887640 - ReturnStatement 887602 887629 - FalseKeyword 887622 887628 - ReturnStatement 887640 887724 - PrefixUnaryExpression 887656 887723 - PrefixUnaryExpression 887658 887723 - CallExpression 887659 887723 - Identifier 887659 887683 - Identifier 887684 887690 - PropertyAccessExpression 887691 887722 - Identifier 887691 887715 - Identifier 887716 887722 - FunctionDeclaration 887731 887887 - Identifier 887747 887761 - Parameter 887762 887794 - Identifier 887762 887772 - TypeOperator 887773 887794 - ArrayType 887782 887794 - TypeReference 887782 887792 - Identifier 887782 887792 - Parameter 887795 887809 - Identifier 887795 887803 - TypeReference 887804 887809 - Identifier 887804 887809 - Block 887810 887887 - ReturnStatement 887812 887880 - CallExpression 887828 887879 - Identifier 887828 887833 - Identifier 887834 887844 - ArrowFunction 887845 887878 - Parameter 887845 887850 - Identifier 887845 887850 - EqualsGreaterThanToken 887850 887853 - BinaryExpression 887853 887878 - PropertyAccessExpression 887853 887866 - Identifier 887853 887858 - Identifier 887859 887866 - EqualsEqualsEqualsToken 887866 887870 - Identifier 887870 887878 - FunctionDeclaration 887887 889407 - Identifier 887903 887927 - Parameter 887928 887960 - Identifier 887928 887938 - TypeOperator 887939 887960 - ArrayType 887948 887960 - TypeReference 887948 887958 - Identifier 887948 887958 - Parameter 887961 887975 - Identifier 887961 887969 - TypeReference 887970 887975 - Identifier 887970 887975 - Block 887976 889407 - VariableStatement 887978 888136 - VariableDeclarationList 887978 888135 - VariableDeclaration 888096 888135 - Identifier 888096 888112 - UnionType 888113 888135 - TypeReference 888113 888123 - Identifier 888113 888123 - UndefinedKeyword 888125 888135 - VariableStatement 888136 888188 - VariableDeclarationList 888136 888187 - VariableDeclaration 888149 888187 - Identifier 888149 888164 - UnionType 888165 888187 - TypeReference 888165 888175 - Identifier 888165 888175 - UndefinedKeyword 888177 888187 - VariableStatement 888188 888243 - VariableDeclarationList 888188 888242 - VariableDeclaration 888201 888242 - Identifier 888201 888217 - UnionType 888218 888242 - ArrayType 888218 888230 - TypeReference 888218 888228 - Identifier 888218 888228 - UndefinedKeyword 888232 888242 - ForOfStatement 888243 888722 - VariableDeclarationList 888258 888268 - VariableDeclaration 888263 888268 - Identifier 888263 888268 - Identifier 888271 888282 - Block 888283 888722 - IfStatement 888285 888711 - BinaryExpression 888303 888330 - PropertyAccessExpression 888303 888315 - Identifier 888303 888307 - Identifier 888308 888315 - EqualsEqualsEqualsToken 888315 888319 - Identifier 888319 888330 - Block 888331 888389 - ExpressionStatement 888333 888374 - BinaryExpression 888333 888373 - Identifier 888333 888366 - EqualsToken 888366 888368 - Identifier 888368 888373 - IfStatement 888407 888711 - CallExpression 888412 888456 - Identifier 888412 888433 - Identifier 888434 888441 - PropertyAccessExpression 888442 888455 - Identifier 888442 888447 - Identifier 888448 888455 - Block 888457 888711 - IfStatement 888459 888696 - PrefixUnaryExpression 888481 888496 - Identifier 888482 888496 - Block 888497 888562 - ExpressionStatement 888499 888543 - BinaryExpression 888499 888542 - Identifier 888499 888535 - EqualsToken 888535 888537 - Identifier 888537 888542 - Block 888584 888696 - ExpressionStatement 888586 888677 - CallExpression 888586 888676 - PropertyAccessExpression 888586 888670 - ParenthesizedExpression 888586 888665 - BinaryExpression 888609 888664 - Identifier 888609 888624 - BarBarToken 888624 888627 - ParenthesizedExpression 888627 888664 - BinaryExpression 888629 888663 - Identifier 888629 888644 - EqualsToken 888644 888646 - ArrayLiteralExpression 888646 888663 - Identifier 888648 888662 - Identifier 888666 888670 - Identifier 888671 888675 - ReturnStatement 888722 889400 - ConditionalExpression 889023 889399 - Identifier 889023 889039 - QuestionToken 889039 889041 - CallExpression 889041 889232 - Identifier 889041 889057 - Identifier 889058 889069 - CallExpression 889070 889131 - Identifier 889070 889090 - CallExpression 889091 889130 - Identifier 889091 889094 - Identifier 889095 889110 - ArrowFunction 889111 889129 - Parameter 889111 889116 - Identifier 889111 889116 - EqualsGreaterThanToken 889116 889119 - PropertyAccessExpression 889119 889129 - Identifier 889119 889124 - Identifier 889125 889129 - CallExpression 889132 889231 - Identifier 889132 889143 - Identifier 889144 889159 - ArrowFunction 889160 889212 - Parameter 889162 889172 - Identifier 889162 889172 - Parameter 889173 889178 - Identifier 889173 889178 - EqualsGreaterThanToken 889179 889182 - BinaryExpression 889182 889212 - Identifier 889182 889193 - AmpersandAmpersandToken 889193 889196 - PropertyAccessExpression 889196 889212 - Identifier 889196 889201 - Identifier 889202 889212 - TrueKeyword 889213 889230 - ColonToken 889232 889234 - ConditionalExpression 889234 889399 - Identifier 889234 889262 - QuestionToken 889262 889264 - Identifier 889264 889279 - ColonToken 889279 889281 - ConditionalExpression 889281 889399 - BinaryExpression 889281 889356 - Identifier 889281 889310 - AmpersandAmpersandToken 889310 889313 - CallExpression 889313 889356 - Identifier 889313 889335 - Identifier 889336 889343 - Identifier 889344 889355 - QuestionToken 889356 889358 - Identifier 889358 889374 - ColonToken 889374 889376 - Identifier 889376 889399 - FunctionDeclaration 889407 890024 - Identifier 889423 889445 - Parameter 889446 889458 - Identifier 889446 889452 - TypeReference 889453 889458 - Identifier 889453 889458 - Parameter 889459 889472 - Identifier 889459 889466 - TypeReference 889467 889472 - Identifier 889467 889472 - BooleanKeyword 889474 889482 - Block 889482 890024 - ReturnStatement 889484 890017 - BinaryExpression 889722 890016 - BinaryExpression 889722 889837 - CallExpression 889722 889757 - Identifier 889722 889741 - Identifier 889742 889748 - Identifier 889749 889756 - BarBarToken 889757 889760 - BinaryExpression 889760 889837 - BinaryExpression 889760 889795 - Identifier 889760 889780 - EqualsEqualsEqualsToken 889780 889784 - Identifier 889784 889795 - AmpersandAmpersandToken 889795 889798 - CallExpression 889798 889837 - Identifier 889798 889817 - Identifier 889818 889824 - Identifier 889825 889836 - BarBarToken 889837 889840 - BinaryExpression 889840 890016 - BinaryExpression 889840 889875 - Identifier 889840 889860 - EqualsEqualsEqualsToken 889860 889864 - Identifier 889864 889875 - AmpersandAmpersandToken 889875 889878 - ParenthesizedExpression 889878 890016 - BinaryExpression 889880 890015 - BinaryExpression 889880 889908 - Identifier 889880 889886 - EqualsEqualsEqualsToken 889886 889890 - Identifier 889890 889908 - BarBarToken 889908 889911 - BinaryExpression 889911 890015 - PrefixUnaryExpression 889911 889954 - PrefixUnaryExpression 889913 889954 - ParenthesizedExpression 889914 889954 - BinaryExpression 889915 889953 - PropertyAccessExpression 889915 889927 - Identifier 889915 889921 - Identifier 889922 889927 - AmpersandToken 889927 889929 - PropertyAccessExpression 889929 889953 - Identifier 889929 889939 - Identifier 889940 889953 - AmpersandAmpersandToken 889954 889957 - CallExpression 889957 890015 - Identifier 889957 889978 - PropertyAccessExpression 889979 890014 - ParenthesizedExpression 889979 890008 - AsExpression 889980 890007 - Identifier 889980 889986 - TypeReference 889989 890007 - Identifier 889989 890007 - Identifier 890009 890014 - FunctionDeclaration 890024 890327 - Identifier 890040 890070 - Parameter 890071 890081 - Identifier 890071 890075 - TypeReference 890076 890081 - Identifier 890076 890081 - TypeOperator 890083 890104 - ArrayType 890092 890104 - TypeReference 890092 890102 - Identifier 890092 890102 - Block 890104 890327 - IfStatement 890106 890292 - BinaryExpression 890120 890157 - PropertyAccessExpression 890120 890130 - Identifier 890120 890124 - Identifier 890125 890130 - AmpersandToken 890130 890132 - PropertyAccessExpression 890132 890157 - Identifier 890132 890142 - Identifier 890143 890157 - Block 890158 890292 - VariableStatement 890160 890240 - VariableDeclarationList 890160 890239 - VariableDeclaration 890179 890239 - Identifier 890179 890188 - CallExpression 890190 890239 - Identifier 890190 890219 - AsExpression 890220 890238 - Identifier 890220 890224 - TypeReference 890227 890238 - Identifier 890227 890238 - ReturnStatement 890240 890281 - PropertyAccessExpression 890260 890280 - Identifier 890260 890269 - Identifier 890270 890280 - ReturnStatement 890292 890320 - Identifier 890308 890319 - FunctionDeclaration 890327 890483 - Identifier 890343 890363 - Parameter 890364 890374 - Identifier 890364 890368 - TypeReference 890369 890374 - Identifier 890369 890374 - TypeOperator 890376 890397 - ArrayType 890385 890397 - TypeReference 890385 890395 - Identifier 890385 890395 - Block 890397 890483 - ReturnStatement 890399 890476 - CallExpression 890415 890475 - Identifier 890415 890445 - CallExpression 890446 890474 - Identifier 890446 890468 - Identifier 890469 890473 - FunctionDeclaration 890483 890847 - Identifier 890702 890721 - Parameter 890722 890732 - Identifier 890722 890726 - TypeReference 890727 890732 - Identifier 890727 890732 - Parameter 890733 890747 - Identifier 890733 890741 - TypeReference 890742 890747 - Identifier 890742 890747 - UnionType 890749 890771 - TypeReference 890749 890759 - Identifier 890749 890759 - UndefinedKeyword 890761 890771 - Block 890771 890847 - ReturnStatement 890773 890840 - CallExpression 890789 890839 - Identifier 890789 890803 - CallExpression 890804 890829 - Identifier 890804 890823 - Identifier 890824 890828 - Identifier 890830 890838 - FunctionDeclaration 890847 891193 - Identifier 891063 891082 - Parameter 891083 891093 - Identifier 891083 891087 - TypeReference 891088 891093 - Identifier 891088 891093 - Parameter 891094 891108 - Identifier 891094 891102 - TypeReference 891103 891108 - Identifier 891103 891108 - UnionType 891110 891127 - TypeReference 891110 891115 - Identifier 891110 891115 - UndefinedKeyword 891117 891127 - Block 891127 891193 - ReturnStatement 891129 891186 - PropertyAccessExpression 891145 891185 - CallExpression 891145 891179 - Identifier 891145 891164 - Identifier 891165 891169 - Identifier 891170 891178 - QuestionDotToken 891179 891181 - Identifier 891181 891185 - FunctionDeclaration 891193 891386 - Identifier 891209 891233 - Parameter 891234 891244 - Identifier 891234 891238 - TypeReference 891239 891244 - Identifier 891239 891244 - Parameter 891245 891259 - Identifier 891245 891253 - TypeReference 891254 891259 - Identifier 891254 891259 - ArrayType 891261 891273 - TypeReference 891261 891271 - Identifier 891261 891271 - Block 891273 891386 - ReturnStatement 891275 891379 - CallExpression 891291 891378 - PropertyAccessExpression 891291 891324 - CallExpression 891291 891317 - Identifier 891291 891311 - Identifier 891312 891316 - Identifier 891318 891324 - ArrowFunction 891325 891377 - Parameter 891325 891329 - Identifier 891325 891329 - EqualsGreaterThanToken 891329 891332 - CallExpression 891332 891377 - Identifier 891332 891354 - Identifier 891355 891362 - PropertyAccessExpression 891363 891376 - Identifier 891363 891368 - Identifier 891369 891376 - FunctionDeclaration 891386 891561 - Identifier 891402 891425 - Parameter 891426 891436 - Identifier 891426 891430 - TypeReference 891431 891436 - Identifier 891431 891436 - Parameter 891437 891451 - Identifier 891437 891445 - TypeReference 891446 891451 - Identifier 891446 891451 - UnionType 891453 891475 - TypeReference 891453 891463 - Identifier 891453 891463 - UndefinedKeyword 891465 891475 - Block 891475 891561 - ReturnStatement 891477 891554 - CallExpression 891493 891553 - Identifier 891493 891517 - CallExpression 891518 891543 - Identifier 891518 891537 - Identifier 891538 891542 - Identifier 891544 891552 - FunctionDeclaration 891561 891808 - Identifier 891577 891607 - Parameter 891608 891618 - Identifier 891608 891612 - TypeReference 891613 891618 - Identifier 891613 891618 - Parameter 891619 891634 - Identifier 891619 891624 - TypeReference 891625 891634 - Identifier 891625 891634 - UnionType 891636 891658 - TypeReference 891636 891646 - Identifier 891636 891646 - UndefinedKeyword 891648 891658 - Block 891658 891808 - ReturnStatement 891660 891801 - CallExpression 891676 891800 - Identifier 891676 891699 - Identifier 891700 891704 - ConditionalExpression 891705 891799 - CallExpression 891705 891727 - Identifier 891705 891721 - Identifier 891722 891726 - QuestionToken 891727 891729 - Identifier 891729 891742 - ColonToken 891742 891744 - CallExpression 891744 891799 - Identifier 891744 891765 - CallExpression 891766 891798 - Identifier 891766 891792 - Identifier 891793 891797 - FunctionDeclaration 891808 892505 - Identifier 891978 892011 - Parameter 892012 892054 - Identifier 892012 892023 - TypeReference 892024 892054 - Identifier 892024 892054 - UnionType 892056 892093 - TypeOperator 892056 892081 - ArrayType 892065 892081 - TypeReference 892065 892079 - Identifier 892065 892079 - UndefinedKeyword 892083 892093 - Block 892093 892505 - VariableStatement 892095 892145 - VariableDeclarationList 892095 892144 - VariableDeclaration 892108 892144 - Identifier 892108 892115 - UnionType 892116 892144 - ArrayType 892116 892132 - TypeReference 892116 892130 - Identifier 892116 892130 - UndefinedKeyword 892134 892144 - ForOfStatement 892145 892329 - VariableDeclarationList 892160 892170 - VariableDeclaration 892165 892170 - Identifier 892165 892170 - CallExpression 892173 892224 - Identifier 892173 892211 - Identifier 892212 892223 - Block 892225 892329 - ExpressionStatement 892227 892318 - BinaryExpression 892227 892317 - Identifier 892227 892247 - EqualsToken 892247 892249 - CallExpression 892249 892317 - Identifier 892249 892264 - Identifier 892265 892271 - CallExpression 892272 892316 - Identifier 892272 892303 - PropertyAccessExpression 892304 892315 - Identifier 892304 892308 - Identifier 892309 892315 - ReturnStatement 892329 892498 - ConditionalExpression 892345 892497 - PropertyAccessExpression 892345 892360 - Identifier 892345 892352 - QuestionDotToken 892352 892354 - Identifier 892354 892360 - QuestionToken 892360 892362 - Identifier 892362 892369 - ColonToken 892369 892384 - ConditionalExpression 892384 892497 - CallExpression 892384 892419 - Identifier 892384 892406 - Identifier 892407 892418 - QuestionToken 892419 892421 - PropertyAccessExpression 892421 892472 - CallExpression 892421 892456 - Identifier 892421 892443 - Identifier 892444 892455 - QuestionDotToken 892456 892458 - Identifier 892458 892472 - ColonToken 892472 892487 - Identifier 892487 892497 - FunctionDeclaration 892505 892794 - Identifier 892521 892536 - Parameter 892537 892557 - Identifier 892537 892544 - TypeReference 892545 892557 - Identifier 892545 892557 - ArrayType 892559 892568 - TypeReference 892559 892566 - Identifier 892559 892566 - Block 892568 892794 - VariableStatement 892570 892608 - VariableDeclarationList 892570 892607 - VariableDeclaration 892585 892607 - Identifier 892585 892592 - ArrayType 892593 892602 - TypeReference 892593 892600 - Identifier 892593 892600 - ArrayLiteralExpression 892604 892607 - ExpressionStatement 892608 892763 - CallExpression 892608 892762 - PropertyAccessExpression 892608 892633 - Identifier 892608 892625 - Identifier 892626 892633 - ArrowFunction 892634 892761 - Parameter 892635 892641 - Identifier 892635 892641 - Parameter 892642 892645 - Identifier 892642 892645 - EqualsGreaterThanToken 892646 892649 - Block 892649 892761 - IfStatement 892651 892750 - PrefixUnaryExpression 892669 892694 - CallExpression 892670 892694 - Identifier 892670 892690 - Identifier 892691 892693 - Block 892695 892750 - ExpressionStatement 892697 892735 - CallExpression 892697 892734 - PropertyAccessExpression 892697 892726 - Identifier 892697 892721 - Identifier 892722 892726 - Identifier 892727 892733 - ReturnStatement 892763 892787 - Identifier 892779 892786 - FunctionDeclaration 892794 893259 - Identifier 892810 892831 - Parameter 892832 892850 - Identifier 892832 892842 - StringKeyword 892843 892850 - Parameter 892851 892878 - Identifier 892851 892869 - BooleanKeyword 892870 892878 - Block 892879 893259 - IfStatement 892881 892980 - CallExpression 892895 892935 - Identifier 892895 892923 - Identifier 892924 892934 - Block 892936 892980 - ReturnStatement 892938 892969 - Identifier 892958 892968 - VariableStatement 892980 893085 - VariableDeclarationList 892980 893084 - VariableDeclaration 892995 893084 - Identifier 892995 893002 - CallExpression 893004 893084 - Identifier 893004 893014 - Identifier 893015 893022 - AsExpression 893023 893058 - BinaryExpression 893023 893046 - BinaryExpression 893023 893040 - StringLiteral 893023 893027 - PlusToken 893027 893029 - Identifier 893029 893040 - PlusToken 893040 893042 - StringLiteral 893042 893046 - TypeReference 893049 893058 - Identifier 893049 893058 - PropertyAccessExpression 893059 893083 - Identifier 893059 893071 - Identifier 893072 893083 - ReturnStatement 893085 893252 - ConditionalExpression 893188 893251 - BinaryExpression 893188 893216 - Identifier 893188 893195 - AmpersandAmpersandToken 893195 893198 - Identifier 893198 893216 - QuestionToken 893216 893218 - CallExpression 893218 893242 - Identifier 893218 893234 - Identifier 893235 893241 - ColonToken 893242 893244 - Identifier 893244 893251 - FunctionDeclaration 893259 893512 - Identifier 893275 893301 - Parameter 893302 893367 - Identifier 893302 893306 - UnionType 893307 893367 - TypeReference 893307 893328 - Identifier 893307 893328 - TypeReference 893330 893348 - Identifier 893330 893348 - TypeReference 893350 893367 - Identifier 893350 893367 - Block 893368 893512 - ReturnStatement 893370 893505 - BinaryExpression 893386 893504 - BinaryExpression 893386 893449 - CallExpression 893386 893409 - Identifier 893386 893403 - Identifier 893404 893408 - BarBarToken 893409 893412 - CallExpression 893412 893449 - Identifier 893412 893443 - Identifier 893444 893448 - BarBarToken 893449 893452 - BinaryExpression 893452 893504 - CallExpression 893452 893470 - Identifier 893452 893464 - Identifier 893465 893469 - AmpersandAmpersandToken 893470 893473 - CallExpression 893473 893504 - Identifier 893473 893498 - Identifier 893499 893503 - FunctionDeclaration 893512 894791 - Identifier 893528 893548 - Parameter 893549 893614 - Identifier 893549 893553 - UnionType 893554 893614 - TypeReference 893554 893575 - Identifier 893554 893575 - TypeReference 893577 893595 - Identifier 893577 893595 - TypeReference 893597 893614 - Identifier 893597 893614 - Block 893615 894791 - IfStatement 893617 893702 - CallExpression 893631 893662 - Identifier 893631 893656 - Identifier 893657 893661 - Block 893663 893702 - ReturnStatement 893665 893691 - TrueKeyword 893685 893690 - IfStatement 893702 893775 - PrefixUnaryExpression 893716 893734 - CallExpression 893717 893734 - Identifier 893717 893728 - Identifier 893729 893733 - Block 893735 893775 - ReturnStatement 893737 893764 - FalseKeyword 893757 893763 - IfStatement 893775 894479 - PropertyAccessExpression 893789 893805 - Identifier 893789 893793 - Identifier 893794 893805 - Block 893806 894479 - VariableStatement 893808 893881 - VariableDeclarationList 893808 893880 - VariableDeclaration 893827 893880 - Identifier 893827 893837 - CallExpression 893839 893880 - Identifier 893839 893867 - PropertyAccessExpression 893868 893879 - Identifier 893868 893872 - Identifier 893873 893879 - VariableStatement 893881 893955 - VariableDeclarationList 893881 893954 - VariableDeclaration 893900 893954 - Identifier 893900 893915 - CallExpression 893917 893954 - PropertyAccessExpression 893917 893948 - PropertyAccessExpression 893917 893940 - PropertyAccessExpression 893917 893929 - Identifier 893917 893922 - Identifier 893923 893929 - Identifier 893930 893940 - Identifier 893941 893948 - Identifier 893949 893953 - ExpressionStatement 893955 894003 - CallExpression 893955 894002 - PropertyAccessExpression 893955 893981 - Identifier 893955 893974 - Identifier 893975 893981 - BinaryExpression 893982 894001 - Identifier 893982 893996 - GreaterThanEqualsToken 893996 893999 - NumericLiteral 893999 894001 - ReturnStatement 894003 894468 - BinaryExpression 894329 894467 - Identifier 894329 894344 - GreaterThanEqualsToken 894344 894347 - CallExpression 894347 894467 - Identifier 894347 894367 - Identifier 894368 894377 - BinaryExpression 894378 894466 - PropertyAccessExpression 894378 894424 - Identifier 894378 894400 - Identifier 894401 894424 - BarToken 894424 894426 - PropertyAccessExpression 894426 894466 - Identifier 894426 894448 - Identifier 894449 894466 - VariableStatement 894479 894555 - VariableDeclarationList 894479 894554 - VariableDeclaration 894494 894554 - Identifier 894494 894499 - CallExpression 894501 894554 - Identifier 894501 894541 - PropertyAccessExpression 894542 894553 - Identifier 894542 894546 - Identifier 894547 894553 - IfStatement 894555 894759 - Identifier 894569 894573 - Block 894574 894759 - ReturnStatement 894576 894748 - BinaryExpression 894596 894747 - BinaryExpression 894596 894648 - PrefixUnaryExpression 894596 894607 - PropertyAccessExpression 894598 894607 - Identifier 894598 894602 - Identifier 894603 894607 - AmpersandAmpersandToken 894607 894610 - PrefixUnaryExpression 894610 894648 - PropertyAccessExpression 894629 894648 - Identifier 894629 894633 - Identifier 894634 894648 - AmpersandAmpersandToken 894648 894651 - BinaryExpression 894651 894747 - CallExpression 894651 894705 - PropertyAccessExpression 894651 894699 - PropertyAccessExpression 894651 894691 - PropertyAccessExpression 894651 894680 - Identifier 894651 894673 - Identifier 894674 894680 - Identifier 894681 894691 - Identifier 894692 894699 - Identifier 894700 894704 - GreaterThanEqualsToken 894705 894708 - PropertyAccessExpression 894708 894747 - CallExpression 894708 894740 - Identifier 894708 894734 - Identifier 894735 894739 - Identifier 894741 894747 - ReturnStatement 894759 894784 - FalseKeyword 894777 894783 - FunctionDeclaration 894791 894962 - Identifier 894807 894837 - Parameter 894838 894855 - Identifier 894838 894842 - TypeReference 894843 894855 - Identifier 894843 894855 - Block 894856 894962 - ReturnStatement 894858 894955 - BinaryExpression 894874 894954 - BinaryExpression 894874 894932 - CallExpression 894874 894902 - Identifier 894874 894896 - Identifier 894897 894901 - AmpersandAmpersandToken 894902 894905 - PrefixUnaryExpression 894905 894932 - CallExpression 894907 894932 - Identifier 894907 894926 - Identifier 894927 894931 - AmpersandAmpersandToken 894932 894935 - PropertyAccessExpression 894935 894954 - Identifier 894935 894940 - Identifier 894941 894954 - FunctionDeclaration 894962 895222 - Identifier 894978 894998 - Parameter 894999 895022 - Identifier 894999 895003 - TypeReference 895004 895022 - Identifier 895004 895022 - Parameter 895023 895057 - Identifier 895023 895037 - UnionType 895038 895057 - StringKeyword 895038 895045 - UndefinedKeyword 895047 895057 - Parameter 895058 895093 - Identifier 895058 895073 - UnionType 895074 895093 - NumberKeyword 895074 895081 - UndefinedKeyword 895083 895093 - Parameter 895094 895117 - Identifier 895094 895099 - UnionType 895100 895117 - TypeReference 895100 895105 - Identifier 895100 895105 - UndefinedKeyword 895107 895117 - TypeReference 895119 895133 - Identifier 895119 895133 - Block 895133 895222 - ReturnStatement 895135 895215 - AsExpression 895151 895214 - ObjectLiteralExpression 895151 895197 - ShorthandPropertyAssignment 895153 895158 - Identifier 895153 895158 - ShorthandPropertyAssignment 895159 895173 - Identifier 895159 895173 - ShorthandPropertyAssignment 895174 895189 - Identifier 895174 895189 - ShorthandPropertyAssignment 895190 895195 - Identifier 895190 895195 - TypeReference 895200 895214 - Identifier 895200 895214 - FunctionDeclaration 895222 895796 - Identifier 895366 895390 - Parameter 895391 895443 - Identifier 895391 895405 - UnionType 895406 895443 - TypeOperator 895406 895431 - ArrayType 895415 895431 - TypeReference 895415 895429 - Identifier 895415 895429 - UndefinedKeyword 895433 895443 - NumberKeyword 895445 895452 - Block 895452 895796 - VariableStatement 895454 895493 - VariableDeclarationList 895454 895492 - VariableDeclaration 895467 895492 - Identifier 895467 895488 - NumericLiteral 895490 895492 - IfStatement 895493 895751 - Identifier 895507 895521 - Block 895522 895751 - ForStatement 895524 895740 - VariableDeclarationList 895543 895552 - VariableDeclaration 895546 895552 - Identifier 895546 895548 - NumericLiteral 895550 895552 - BinaryExpression 895553 895579 - Identifier 895553 895555 - LessThanToken 895555 895557 - PropertyAccessExpression 895557 895579 - Identifier 895557 895572 - Identifier 895573 895579 - PostfixUnaryExpression 895580 895584 - Identifier 895580 895582 - Block 895585 895740 - IfStatement 895587 895725 - PrefixUnaryExpression 895609 895652 - CallExpression 895610 895652 - Identifier 895610 895633 - ElementAccessExpression 895634 895651 - Identifier 895634 895648 - Identifier 895649 895650 - Block 895653 895725 - ExpressionStatement 895655 895706 - BinaryExpression 895655 895705 - Identifier 895655 895697 - EqualsToken 895697 895699 - BinaryExpression 895699 895705 - Identifier 895699 895701 - PlusToken 895701 895703 - NumericLiteral 895703 895705 - ReturnStatement 895751 895789 - Identifier 895767 895788 - FunctionDeclaration 895796 896400 - Identifier 896216 896241 - Parameter 896242 896272 - Identifier 896242 896255 - TypeOperator 896256 896272 - ArrayType 896265 896272 - TypeReference 896265 896270 - Identifier 896265 896270 - Parameter 896273 896326 - Identifier 896273 896288 - UnionType 896289 896326 - TypeOperator 896289 896314 - ArrayType 896298 896314 - TypeReference 896298 896312 - Identifier 896298 896312 - UndefinedKeyword 896316 896326 - Parameter 896327 896356 - Identifier 896327 896348 - NumberKeyword 896349 896356 - Parameter 896357 896390 - Identifier 896357 896381 - BooleanKeyword 896382 896390 - ArrayType 896392 896399 - TypeReference 896392 896397 - Identifier 896392 896397 - FunctionDeclaration 896400 896622 - Identifier 896414 896439 - Parameter 896440 896482 - Identifier 896440 896453 - UnionType 896454 896482 - TypeOperator 896454 896470 - ArrayType 896463 896470 - TypeReference 896463 896468 - Identifier 896463 896468 - UndefinedKeyword 896472 896482 - Parameter 896483 896536 - Identifier 896483 896498 - UnionType 896499 896536 - TypeOperator 896499 896524 - ArrayType 896508 896524 - TypeReference 896508 896522 - Identifier 896508 896522 - UndefinedKeyword 896526 896536 - Parameter 896537 896566 - Identifier 896537 896558 - NumberKeyword 896559 896566 - Parameter 896567 896600 - Identifier 896567 896591 - BooleanKeyword 896592 896600 - UnionType 896602 896621 - ArrayType 896602 896609 - TypeReference 896602 896607 - Identifier 896602 896607 - UndefinedKeyword 896611 896621 - FunctionDeclaration 896622 898199 - Identifier 896636 896661 - Parameter 896662 896704 - Identifier 896662 896675 - UnionType 896676 896704 - TypeOperator 896676 896692 - ArrayType 896685 896692 - TypeReference 896685 896690 - Identifier 896685 896690 - UndefinedKeyword 896694 896704 - Parameter 896705 896758 - Identifier 896705 896720 - UnionType 896721 896758 - TypeOperator 896721 896746 - ArrayType 896730 896746 - TypeReference 896730 896744 - Identifier 896730 896744 - UndefinedKeyword 896748 896758 - Parameter 896759 896788 - Identifier 896759 896780 - NumberKeyword 896781 896788 - Parameter 896789 896822 - Identifier 896789 896813 - BooleanKeyword 896814 896822 - Block 896823 898199 - VariableStatement 896825 896884 - VariableDeclarationList 896825 896883 - VariableDeclaration 896840 896883 - Identifier 896840 896858 - CallExpression 896860 896883 - Identifier 896860 896867 - Identifier 896868 896882 - IfStatement 896884 896954 - PrefixUnaryExpression 896898 896916 - Identifier 896899 896916 - Block 896917 896954 - ReturnStatement 896919 896943 - ArrayLiteralExpression 896939 896942 - VariableStatement 896954 897011 - VariableDeclarationList 896954 897010 - VariableDeclaration 896969 897010 - Identifier 896969 896986 - CallExpression 896988 897010 - Identifier 896988 896995 - Identifier 896996 897009 - IfStatement 897011 898136 - BinaryExpression 897025 897135 - Identifier 897025 897048 - BarBarToken 897048 897051 - ParenthesizedExpression 897051 897135 - BinaryExpression 897053 897134 - BinaryExpression 897053 897093 - Identifier 897053 897069 - GreaterThanEqualsToken 897069 897072 - Identifier 897072 897093 - AmpersandAmpersandToken 897093 897096 - BinaryExpression 897096 897134 - Identifier 897096 897113 - LessThanEqualsToken 897113 897116 - Identifier 897116 897134 - Block 897136 898136 - VariableStatement 897138 897210 - VariableDeclarationList 897138 897209 - VariableDeclaration 897157 897209 - Identifier 897157 897164 - ConditionalExpression 897166 897209 - Identifier 897166 897180 - QuestionToken 897180 897182 - CallExpression 897182 897204 - PropertyAccessExpression 897182 897202 - Identifier 897182 897196 - Identifier 897197 897202 - ColonToken 897204 897206 - ArrayLiteralExpression 897206 897209 - ForStatement 897210 897421 - VariableDeclarationList 897311 897335 - VariableDeclaration 897314 897335 - Identifier 897314 897316 - Identifier 897318 897335 - BinaryExpression 897336 897358 - Identifier 897336 897338 - LessThanToken 897338 897340 - Identifier 897340 897358 - PostfixUnaryExpression 897359 897363 - Identifier 897359 897361 - Block 897364 897421 - ExpressionStatement 897366 897406 - BinaryExpression 897366 897405 - ElementAccessExpression 897366 897393 - Identifier 897366 897390 - Identifier 897391 897392 - EqualsToken 897393 897395 - Identifier 897395 897405 - VariableStatement 897421 897511 - VariableDeclarationList 897421 897510 - VariableDeclaration 897440 897510 - Identifier 897440 897456 - CallExpression 897458 897510 - Identifier 897458 897485 - Identifier 897486 897509 - ForStatement 897511 898044 - VariableDeclarationList 897530 897554 - VariableDeclaration 897533 897554 - Identifier 897533 897535 - Identifier 897537 897554 - BinaryExpression 897555 897577 - Identifier 897555 897557 - LessThanToken 897557 897559 - Identifier 897559 897577 - PostfixUnaryExpression 897578 897582 - Identifier 897578 897580 - Block 897583 898044 - VariableStatement 897585 897669 - VariableDeclarationList 897585 897668 - VariableDeclaration 897606 897668 - Identifier 897606 897618 - CallExpression 897620 897668 - Identifier 897620 897648 - ElementAccessExpression 897649 897667 - NonNullExpression 897649 897664 - Identifier 897649 897663 - Identifier 897665 897666 - IfStatement 897669 897895 - BinaryExpression 897691 897829 - BinaryExpression 897691 897729 - Identifier 897691 897714 - AmpersandAmpersandToken 897714 897717 - Identifier 897717 897729 - AmpersandAmpersandToken 897729 897732 - ParenthesizedExpression 897732 897829 - BinaryExpression 897734 897828 - CallExpression 897734 897777 - Identifier 897734 897751 - Identifier 897752 897763 - Identifier 897764 897776 - BarBarToken 897777 897780 - CallExpression 897780 897828 - Identifier 897780 897798 - Identifier 897799 897810 - Identifier 897811 897827 - Block 897830 897895 - ExpressionStatement 897832 897876 - BinaryExpression 897832 897875 - Identifier 897832 897865 - EqualsToken 897865 897867 - Identifier 897867 897875 - ExpressionStatement 897895 898029 - BinaryExpression 897895 898028 - ElementAccessExpression 897895 897922 - Identifier 897895 897919 - Identifier 897920 897921 - EqualsToken 897922 897924 - ConditionalExpression 897924 898028 - Identifier 897924 897936 - QuestionToken 897936 897938 - CallExpression 897938 898010 - Identifier 897938 897954 - Identifier 897955 897966 - CallExpression 897967 898009 - Identifier 897967 897984 - NonNullExpression 897985 898000 - Identifier 897985 897999 - Identifier 898001 898008 - ColonToken 898010 898012 - Identifier 898012 898028 - ExpressionStatement 898044 898097 - BinaryExpression 898044 898096 - PropertyAccessExpression 898044 898071 - Identifier 898044 898064 - Identifier 898065 898071 - EqualsToken 898071 898073 - PropertyAccessExpression 898073 898096 - NonNullExpression 898073 898089 - Identifier 898073 898088 - Identifier 898090 898096 - ReturnStatement 898097 898125 - Identifier 898117 898124 - ReturnStatement 898136 898192 - BinaryExpression 898152 898191 - Identifier 898152 898166 - AmpersandAmpersandToken 898166 898169 - CallExpression 898169 898191 - PropertyAccessExpression 898169 898189 - Identifier 898169 898183 - Identifier 898184 898189 - FunctionDeclaration 898199 903799 - Identifier 898215 898243 - Parameter 898244 898294 - Identifier 898244 898255 - UnionType 898256 898294 - TypeReference 898256 898277 - Identifier 898256 898277 - TypeReference 898279 898294 - Identifier 898279 898294 - TypeReference 898296 898306 - Identifier 898296 898306 - Block 898306 903799 - VariableStatement 898308 898358 - VariableDeclarationList 898308 898357 - VariableDeclaration 898323 898357 - Identifier 898323 898329 - CallExpression 898331 898357 - Identifier 898331 898344 - Identifier 898345 898356 - IfStatement 898358 903751 - PrefixUnaryExpression 898372 898396 - PropertyAccessExpression 898373 898396 - Identifier 898373 898378 - Identifier 898379 898396 - Block 898397 903751 - VariableStatement 898399 898445 - VariableDeclarationList 898399 898444 - VariableDeclaration 898418 898444 - Identifier 898418 898429 - ArrayType 898430 898439 - TypeReference 898430 898437 - Identifier 898430 898437 - ArrayLiteralExpression 898441 898444 - VariableStatement 898445 898491 - VariableDeclarationList 898445 898490 - VariableDeclaration 898462 898490 - Identifier 898462 898468 - PropertyAccessExpression 898470 898490 - Identifier 898470 898485 - Identifier 898486 898490 - VariableStatement 898491 898530 - VariableDeclarationList 898491 898529 - VariableDeclaration 898508 898529 - Identifier 898508 898525 - NumericLiteral 898527 898529 - VariableStatement 898530 898582 - VariableDeclarationList 898530 898581 - VariableDeclaration 898547 898581 - Identifier 898547 898561 - UnionType 898562 898581 - TypeReference 898562 898569 - Identifier 898562 898569 - UndefinedKeyword 898571 898581 - VariableStatement 898582 898703 - VariableDeclarationList 898582 898702 - VariableDeclaration 898599 898702 - Identifier 898599 898607 - UnionType 898608 898633 - TypeReference 898608 898621 - Identifier 898608 898621 - UndefinedKeyword 898623 898633 - ConditionalExpression 898635 898702 - CallExpression 898635 898659 - Identifier 898635 898646 - Identifier 898647 898658 - QuestionToken 898659 898661 - CallExpression 898661 898690 - Identifier 898661 898677 - Identifier 898678 898689 - ColonToken 898690 898692 - Identifier 898692 898702 - VariableStatement 898703 898746 - VariableDeclarationList 898703 898745 - VariableDeclaration 898720 898745 - Identifier 898720 898737 - FalseKeyword 898739 898745 - VariableStatement 898746 898826 - VariableDeclarationList 898746 898825 - VariableDeclaration 898765 898825 - Identifier 898765 898770 - CallExpression 898772 898825 - Identifier 898772 898812 - Identifier 898813 898824 - VariableStatement 898826 898910 - VariableDeclarationList 898826 898909 - VariableDeclaration 898845 898909 - Identifier 898845 898868 - CallExpression 898870 898909 - Identifier 898870 898896 - Identifier 898897 898908 - VariableStatement 898910 899256 - VariableDeclarationList 898910 899255 - VariableDeclaration 898929 899255 - Identifier 898929 898956 - BinaryExpression 898958 899255 - BinaryExpression 898958 899172 - BinaryExpression 898958 899125 - BinaryExpression 898958 899069 - BinaryExpression 898958 899008 - PrefixUnaryExpression 898958 898964 - Identifier 898960 898964 - AmpersandAmpersandToken 898964 898967 - CallExpression 898967 899008 - Identifier 898967 898995 - Identifier 898996 899007 - AmpersandAmpersandToken 899008 899011 - CallExpression 899011 899069 - Identifier 899011 899056 - Identifier 899057 899068 - AmpersandAmpersandToken 899069 899072 - PrefixUnaryExpression 899072 899125 - CallExpression 899091 899125 - Identifier 899091 899112 - Identifier 899113 899124 - AmpersandAmpersandToken 899125 899128 - PrefixUnaryExpression 899128 899172 - CallExpression 899147 899172 - Identifier 899147 899159 - Identifier 899160 899171 - AmpersandAmpersandToken 899172 899175 - PrefixUnaryExpression 899175 899255 - CallExpression 899194 899255 - Identifier 899194 899242 - Identifier 899243 899254 - IfStatement 899256 899387 - Identifier 899274 899300 - Block 899301 899387 - ExpressionStatement 899303 899372 - BinaryExpression 899303 899371 - Identifier 899303 899326 - BarEqualsToken 899326 899329 - PropertyAccessExpression 899329 899371 - Identifier 899329 899344 - Identifier 899345 899371 - ForStatement 899387 901466 - VariableDeclarationList 899625 899663 - VariableDeclaration 899628 899663 - Identifier 899628 899630 - ConditionalExpression 899632 899663 - Identifier 899632 899655 - QuestionToken 899655 899657 - NumericLiteral 899657 899659 - ColonToken 899659 899661 - NumericLiteral 899661 899663 - BinaryExpression 899664 899698 - Identifier 899664 899666 - LessThanToken 899666 899668 - PropertyAccessExpression 899668 899698 - PropertyAccessExpression 899668 899691 - Identifier 899668 899680 - Identifier 899681 899691 - Identifier 899692 899698 - PostfixUnaryExpression 899699 899703 - Identifier 899699 899701 - Block 899704 901466 - VariableStatement 899706 899764 - VariableDeclarationList 899706 899763 - VariableDeclaration 899729 899763 - Identifier 899729 899735 - ElementAccessExpression 899737 899763 - PropertyAccessExpression 899737 899760 - Identifier 899737 899749 - Identifier 899750 899760 - Identifier 899761 899762 - IfStatement 899764 899919 - BinaryExpression 899786 899828 - CallExpression 899786 899803 - Identifier 899786 899796 - Identifier 899797 899802 - AmpersandAmpersandToken 899803 899806 - CallExpression 899806 899828 - Identifier 899806 899821 - Identifier 899822 899827 - Block 899829 899919 - ExpressionStatement 899831 899869 - BinaryExpression 899831 899868 - Identifier 899831 899860 - EqualsToken 899860 899862 - Identifier 899862 899868 - ContinueStatement 899869 899900 - VariableStatement 899919 899970 - VariableDeclarationList 899919 899969 - VariableDeclaration 899942 899969 - Identifier 899942 899954 - PropertyAccessExpression 899956 899969 - Identifier 899956 899962 - Identifier 899963 899969 - VariableStatement 899970 900095 - VariableDeclarationList 899970 900094 - VariableDeclaration 899993 900094 - Identifier 899993 899998 - ConditionalExpression 900000 900094 - CallExpression 900000 900027 - Identifier 900000 900020 - Identifier 900021 900026 - QuestionToken 900027 900029 - ParenthesizedExpression 900029 900081 - BinaryExpression 900031 900080 - PropertyAccessExpression 900031 900051 - Identifier 900031 900036 - Identifier 900037 900051 - AmpersandAmpersandToken 900051 900054 - PropertyAccessExpression 900054 900080 - PropertyAccessExpression 900054 900075 - Identifier 900054 900060 - Identifier 900061 900075 - Identifier 900076 900080 - ColonToken 900081 900083 - PropertyAccessExpression 900083 900094 - Identifier 900083 900089 - Identifier 900090 900094 - IfStatement 900095 900532 - BinaryExpression 900206 900298 - BinaryExpression 900206 900265 - Identifier 900206 900217 - AmpersandAmpersandToken 900217 900220 - PrefixUnaryExpression 900220 900265 - PrefixUnaryExpression 900222 900265 - ParenthesizedExpression 900223 900265 - BinaryExpression 900224 900264 - PropertyAccessExpression 900224 900241 - Identifier 900224 900235 - Identifier 900236 900241 - AmpersandToken 900241 900243 - PropertyAccessExpression 900243 900264 - Identifier 900243 900255 - Identifier 900256 900264 - AmpersandAmpersandToken 900265 900268 - PrefixUnaryExpression 900268 900298 - CallExpression 900270 900298 - Identifier 900270 900286 - PropertyAccessExpression 900287 900297 - Identifier 900287 900292 - Identifier 900293 900297 - Block 900299 900532 - VariableStatement 900301 900461 - VariableDeclarationList 900301 900460 - VariableDeclaration 900328 900460 - Identifier 900328 900343 - CallExpression 900345 900460 - Identifier 900345 900357 - Identifier 900358 900363 - PropertyAccessExpression 900364 900388 - Identifier 900364 900376 - Identifier 900377 900388 - PropertyAccessExpression 900389 900407 - Identifier 900389 900401 - Identifier 900402 900407 - Identifier 900408 900442 - FalseKeyword 900443 900459 - ExpressionStatement 900461 900513 - BinaryExpression 900461 900512 - Identifier 900461 900494 - EqualsToken 900494 900496 - NonNullExpression 900496 900512 - Identifier 900496 900511 - IfStatement 900532 900829 - BinaryExpression 900554 900616 - BinaryExpression 900554 900561 - Identifier 900554 900555 - EqualsEqualsEqualsToken 900555 900559 - NumericLiteral 900559 900561 - AmpersandAmpersandToken 900561 900564 - BinaryExpression 900564 900616 - PropertyAccessExpression 900564 900588 - Identifier 900564 900576 - Identifier 900577 900588 - EqualsEqualsEqualsToken 900588 900592 - PropertyAccessExpression 900592 900616 - Identifier 900592 900611 - Identifier 900612 900616 - Block 900617 900735 - ExpressionStatement 900619 900665 - BinaryExpression 900619 900664 - Identifier 900619 900657 - EqualsToken 900657 900659 - TrueKeyword 900659 900664 - ExpressionStatement 900665 900716 - BinaryExpression 900665 900715 - Identifier 900665 900700 - EqualsToken 900700 900702 - PropertyAccessExpression 900702 900715 - Identifier 900702 900708 - Identifier 900709 900715 - Block 900757 900829 - ExpressionStatement 900759 900810 - CallExpression 900759 900809 - PropertyAccessExpression 900759 900796 - Identifier 900759 900791 - Identifier 900792 900796 - Identifier 900797 900808 - IfStatement 900829 900981 - BinaryExpression 900853 900897 - Identifier 900853 900857 - AmpersandAmpersandToken 900857 900860 - BinaryExpression 900860 900897 - PropertyAccessExpression 900860 900870 - Identifier 900860 900865 - Identifier 900866 900870 - EqualsEqualsEqualsToken 900870 900874 - PropertyAccessExpression 900874 900897 - Identifier 900874 900885 - Identifier 900886 900897 - Block 900898 900981 - ExpressionStatement 900900 900962 - BinaryExpression 900900 900961 - Identifier 900900 900927 - BarEqualsToken 900927 900930 - PropertyAccessExpression 900930 900961 - Identifier 900930 900945 - Identifier 900946 900961 - VariableStatement 900981 901328 - VariableDeclarationList 900981 901327 - VariableDeclaration 901099 901327 - Identifier 901099 901119 - BinaryExpression 901121 901327 - BinaryExpression 901121 901244 - BinaryExpression 901121 901218 - CallExpression 901121 901154 - Identifier 901121 901147 - Identifier 901148 901153 - BarBarToken 901154 901157 - BinaryExpression 901157 901218 - CallExpression 901157 901197 - Identifier 901157 901190 - Identifier 901191 901196 - AmpersandAmpersandToken 901197 901200 - PropertyAccessExpression 901200 901218 - Identifier 901200 901206 - Identifier 901207 901218 - BarBarToken 901218 901221 - CallExpression 901221 901244 - Identifier 901221 901237 - Identifier 901238 901243 - BarBarToken 901244 901247 - BinaryExpression 901247 901327 - BinaryExpression 901247 901318 - Identifier 901247 901273 - AmpersandAmpersandToken 901273 901276 - BinaryExpression 901276 901318 - PropertyAccessExpression 901276 901294 - Identifier 901276 901287 - Identifier 901288 901294 - GreaterThanToken 901294 901296 - PropertyAccessExpression 901296 901318 - PropertyAccessExpression 901296 901311 - Identifier 901296 901301 - Identifier 901302 901311 - Identifier 901312 901318 - AmpersandAmpersandToken 901318 901321 - PrefixUnaryExpression 901321 901327 - Identifier 901323 901327 - IfStatement 901328 901451 - PrefixUnaryExpression 901350 901370 - Identifier 901351 901370 - Block 901371 901451 - ExpressionStatement 901373 901432 - BinaryExpression 901373 901431 - Identifier 901373 901411 - EqualsToken 901411 901413 - PropertyAccessExpression 901413 901431 - Identifier 901413 901424 - Identifier 901425 901431 - IfStatement 901466 902241 - BinaryExpression 901612 901829 - BinaryExpression 901612 901771 - ParenthesizedExpression 901612 901722 - BinaryExpression 901631 901721 - BinaryExpression 901631 901674 - PropertyAccessExpression 901631 901647 - Identifier 901631 901642 - Identifier 901643 901647 - EqualsEqualsEqualsToken 901647 901651 - PropertyAccessExpression 901651 901674 - Identifier 901651 901662 - Identifier 901663 901674 - BarBarToken 901674 901677 - BinaryExpression 901677 901721 - PropertyAccessExpression 901677 901694 - Identifier 901677 901689 - Identifier 901690 901694 - EqualsEqualsEqualsToken 901694 901698 - PropertyAccessExpression 901698 901721 - Identifier 901698 901709 - Identifier 901710 901721 - AmpersandAmpersandToken 901722 901725 - CallExpression 901725 901771 - Identifier 901725 901758 - Identifier 901759 901770 - AmpersandAmpersandToken 901771 901774 - ParenthesizedExpression 901774 901829 - BinaryExpression 901793 901828 - PrefixUnaryExpression 901793 901810 - Identifier 901794 901810 - BarBarToken 901810 901813 - PrefixUnaryExpression 901813 901828 - Identifier 901815 901828 - Block 901844 902241 - VariableStatement 901846 901976 - VariableDeclarationList 901846 901975 - VariableDeclaration 901869 901975 - Identifier 901869 901879 - ConditionalExpression 901881 901975 - BinaryExpression 901881 901925 - PropertyAccessExpression 901881 901898 - Identifier 901881 901893 - Identifier 901894 901898 - EqualsEqualsEqualsToken 901898 901902 - PropertyAccessExpression 901902 901925 - Identifier 901902 901913 - Identifier 901914 901925 - QuestionToken 901925 901927 - PropertyAccessExpression 901927 901950 - Identifier 901927 901938 - Identifier 901939 901950 - ColonToken 901950 901952 - PropertyAccessExpression 901952 901975 - Identifier 901952 901963 - Identifier 901964 901975 - VariableStatement 901976 902098 - VariableDeclarationList 901976 902097 - VariableDeclaration 901999 902097 - Identifier 901999 902005 - CallExpression 902007 902097 - Identifier 902007 902028 - TypeReference 902029 902048 - Identifier 902029 902048 - CallExpression 902050 902085 - Identifier 902050 902072 - Identifier 902073 902084 - Identifier 902086 902096 - IfStatement 902098 902226 - Identifier 902120 902125 - Block 902126 902226 - ExpressionStatement 902128 902207 - BinaryExpression 902128 902206 - Identifier 902128 902163 - EqualsToken 902163 902165 - CallExpression 902165 902206 - Identifier 902165 902199 - Identifier 902200 902205 - IfStatement 902241 902487 - BinaryExpression 902261 902294 - Identifier 902261 902268 - AmpersandAmpersandToken 902268 902271 - PropertyAccessExpression 902271 902294 - Identifier 902271 902279 - Identifier 902280 902294 - Block 902295 902487 - ExpressionStatement 902297 902472 - BinaryExpression 902297 902471 - Identifier 902297 902328 - EqualsToken 902328 902330 - CallExpression 902330 902471 - Identifier 902330 902351 - CallExpression 902352 902425 - Identifier 902352 902364 - PropertyAccessExpression 902365 902399 - Identifier 902365 902376 - Identifier 902377 902399 - PropertyAccessExpression 902400 902424 - Identifier 902400 902419 - Identifier 902420 902424 - CallExpression 902426 902470 - Identifier 902426 902446 - PropertyAccessExpression 902447 902469 - Identifier 902447 902454 - Identifier 902455 902469 - VariableStatement 902487 902608 - VariableDeclarationList 902487 902607 - VariableDeclaration 902508 902607 - Identifier 902508 902524 - ConditionalExpression 902526 902607 - CallExpression 902526 902556 - Identifier 902526 902543 - Identifier 902544 902555 - QuestionToken 902556 902558 - CallExpression 902558 902593 - Identifier 902558 902580 - Identifier 902581 902592 - ColonToken 902593 902595 - Identifier 902595 902607 - VariableStatement 902608 902853 - VariableDeclarationList 902608 902852 - VariableDeclaration 902627 902852 - Identifier 902627 902637 - ConditionalExpression 902639 902852 - BinaryExpression 902639 902700 - Identifier 902639 902655 - AmpersandAmpersandToken 902655 902658 - CallExpression 902658 902700 - Identifier 902658 902683 - Identifier 902684 902699 - QuestionToken 902700 902702 - CallExpression 902702 902823 - Identifier 902702 902753 - CallExpression 902754 902822 - Identifier 902754 902769 - PropertyAccessExpression 902770 902821 - ParenthesizedExpression 902770 902814 - AsExpression 902771 902813 - PropertyAccessExpression 902771 902793 - Identifier 902771 902786 - Identifier 902787 902793 - TypeReference 902796 902813 - Identifier 902796 902813 - Identifier 902815 902821 - ColonToken 902823 902842 - Identifier 902842 902852 - VariableStatement 902853 902980 - VariableDeclarationList 902853 902979 - VariableDeclaration 902872 902979 - Identifier 902872 902887 - ConditionalExpression 902889 902979 - Identifier 902889 902899 - QuestionToken 902899 902901 - PropertyAccessExpression 902901 902931 - Identifier 902901 902911 - Identifier 902912 902931 - ColonToken 902931 902933 - CallExpression 902933 902979 - Identifier 902933 902966 - Identifier 902967 902978 - IfStatement 902980 903192 - BinaryExpression 902998 903115 - CallExpression 902998 903027 - Identifier 902998 903014 - Identifier 903015 903026 - BarBarToken 903027 903030 - BinaryExpression 903030 903115 - CallExpression 903030 903054 - Identifier 903030 903041 - Identifier 903042 903053 - AmpersandAmpersandToken 903054 903057 - CallExpression 903057 903115 - Identifier 903057 903090 - Identifier 903091 903102 - Identifier 903103 903114 - Block 903116 903192 - ExpressionStatement 903118 903177 - BinaryExpression 903118 903176 - Identifier 903118 903141 - BarEqualsToken 903141 903144 - PropertyAccessExpression 903144 903176 - Identifier 903144 903159 - Identifier 903160 903176 - IfStatement 903192 903532 - BinaryExpression 903210 903449 - BinaryExpression 903210 903323 - CallExpression 903210 903262 - Identifier 903210 903249 - Identifier 903250 903261 - AmpersandAmpersandToken 903262 903265 - CallExpression 903265 903323 - Identifier 903265 903286 - Identifier 903287 903298 - PropertyAccessExpression 903299 903322 - Identifier 903299 903313 - Identifier 903314 903322 - BarBarToken 903323 903326 - BinaryExpression 903326 903449 - CallExpression 903326 903381 - Identifier 903326 903368 - Identifier 903369 903380 - AmpersandAmpersandToken 903381 903384 - CallExpression 903384 903449 - Identifier 903384 903405 - PropertyAccessExpression 903406 903424 - Identifier 903406 903417 - Identifier 903418 903424 - PropertyAccessExpression 903425 903448 - Identifier 903425 903439 - Identifier 903440 903448 - Block 903464 903532 - ExpressionStatement 903466 903517 - BinaryExpression 903466 903516 - Identifier 903466 903489 - BarEqualsToken 903489 903492 - PropertyAccessExpression 903492 903516 - Identifier 903492 903507 - Identifier 903508 903516 - ExpressionStatement 903532 903740 - BinaryExpression 903532 903739 - PropertyAccessExpression 903532 903569 - Identifier 903532 903551 - Identifier 903552 903569 - EqualsToken 903569 903571 - CallExpression 903571 903739 - Identifier 903571 903587 - Identifier 903588 903599 - Identifier 903600 903615 - Identifier 903616 903630 - Identifier 903631 903642 - Identifier 903643 903676 - Identifier 903677 903713 - Identifier 903714 903731 - Identifier 903732 903738 - ReturnStatement 903751 903792 - PropertyAccessExpression 903767 903791 - Identifier 903767 903773 - Identifier 903774 903791 - FunctionDeclaration 903799 905927 - Identifier 904149 904182 - Parameter 904183 904233 - Identifier 904183 904194 - UnionType 904195 904233 - TypeReference 904195 904216 - Identifier 904195 904216 - TypeReference 904218 904233 - Identifier 904218 904233 - Parameter 904234 904255 - Identifier 904234 904245 - ArrayType 904246 904255 - TypeReference 904246 904253 - Identifier 904246 904253 - BooleanKeyword 904257 904265 - Block 904265 905927 - IfStatement 904267 904395 - BinaryExpression 904281 904354 - CallExpression 904281 904310 - Identifier 904281 904297 - Identifier 904298 904309 - BarBarToken 904310 904313 - PrefixUnaryExpression 904313 904354 - CallExpression 904315 904354 - Identifier 904315 904341 - Identifier 904342 904353 - Block 904355 904395 - ReturnStatement 904357 904384 - FalseKeyword 904377 904383 - VariableStatement 904395 904463 - VariableDeclarationList 904395 904462 - VariableDeclaration 904410 904462 - Identifier 904410 904420 - CallExpression 904422 904462 - Identifier 904422 904438 - PropertyAccessExpression 904439 904461 - Identifier 904439 904450 - Identifier 904451 904461 - VariableStatement 904463 904596 - VariableDeclarationList 904463 904595 - VariableDeclaration 904478 904595 - Identifier 904478 904492 - ConditionalExpression 904494 904595 - Identifier 904494 904504 - QuestionToken 904504 904506 - CallExpression 904506 904539 - Identifier 904506 904528 - Identifier 904529 904538 - ColonToken 904539 904541 - CallExpression 904541 904595 - PropertyAccessExpression 904541 904574 - CallExpression 904541 904567 - Identifier 904541 904554 - Identifier 904555 904566 - Identifier 904568 904574 - Identifier 904575 904594 - VariableStatement 904596 904769 - VariableDeclarationList 904596 904768 - VariableDeclaration 904611 904768 - Identifier 904611 904633 - CallExpression 904635 904768 - Identifier 904635 904648 - Identifier 904649 904662 - ArrowFunction 904663 904767 - Parameter 904663 904665 - Identifier 904663 904665 - EqualsGreaterThanToken 904665 904668 - ConditionalExpression 904668 904767 - BinaryExpression 904668 904731 - PropertyAccessExpression 904668 904685 - Identifier 904668 904670 - Identifier 904671 904685 - AmpersandAmpersandToken 904685 904688 - CallExpression 904688 904731 - Identifier 904688 904708 - PropertyAccessExpression 904709 904730 - PropertyAccessExpression 904709 904725 - Identifier 904709 904710 - Identifier 904711 904725 - Identifier 904726 904730 - QuestionToken 904731 904733 - PropertyAccessExpression 904733 904755 - PropertyAccessExpression 904733 904750 - Identifier 904733 904735 - Identifier 904736 904750 - Identifier 904751 904755 - ColonToken 904755 904757 - Identifier 904757 904767 - VariableStatement 904769 904890 - VariableDeclarationList 904769 904889 - VariableDeclaration 904786 904889 - Identifier 904786 904806 - CallExpression 904808 904889 - Identifier 904808 904821 - PropertyAccessExpression 904822 904842 - Identifier 904822 904833 - Identifier 904834 904842 - AsExpression 904843 904862 - StringLiteral 904843 904850 - TypeReference 904853 904862 - Identifier 904853 904862 - PropertyAccessExpression 904863 904888 - Identifier 904863 904874 - Identifier 904875 904888 - IfStatement 904890 905705 - Identifier 904904 904925 - Block 904926 905116 - ExpressionStatement 904928 905105 - BinaryExpression 904928 905104 - PropertyAccessExpression 904928 905037 - PropertyAccessExpression 904928 905032 - Identifier 904928 905026 - Identifier 905027 905032 - Identifier 905033 905037 - EqualsToken 905037 905039 - CallExpression 905039 905104 - Identifier 905039 905055 - CallExpression 905056 905103 - Identifier 905056 905075 - PropertyAccessExpression 905076 905102 - Identifier 905076 905097 - Identifier 905098 905102 - Block 905130 905705 - ExpressionStatement 905132 905466 - BinaryExpression 905132 905465 - PropertyAccessExpression 905132 905438 - PropertyAccessExpression 905132 905427 - Identifier 905132 905421 - Identifier 905422 905427 - Identifier 905428 905438 - BarEqualsToken 905438 905441 - PropertyAccessExpression 905441 905465 - Identifier 905441 905452 - Identifier 905453 905465 - ExpressionStatement 905466 905533 - BinaryExpression 905466 905532 - PropertyAccessExpression 905466 905520 - PropertyAccessExpression 905466 905505 - Identifier 905466 905499 - Identifier 905500 905505 - Identifier 905506 905520 - EqualsToken 905520 905522 - Identifier 905522 905532 - ExpressionStatement 905533 905611 - BinaryExpression 905533 905610 - PropertyAccessExpression 905533 905593 - PropertyAccessExpression 905533 905572 - Identifier 905533 905566 - Identifier 905567 905572 - Identifier 905573 905593 - EqualsToken 905593 905595 - ArrayLiteralExpression 905595 905610 - Identifier 905597 905609 - ExpressionStatement 905611 905694 - BinaryExpression 905611 905693 - PropertyAccessExpression 905611 905676 - PropertyAccessExpression 905611 905650 - Identifier 905611 905644 - Identifier 905645 905650 - Identifier 905651 905676 - EqualsToken 905676 905678 - ArrayLiteralExpression 905678 905693 - Identifier 905680 905692 - IfStatement 905705 905851 - Identifier 905719 905740 - Block 905741 905851 - ExpressionStatement 905743 905840 - CallExpression 905743 905839 - PropertyAccessExpression 905743 905837 - Identifier 905743 905833 - Identifier 905834 905837 - ExpressionStatement 905851 905898 - CallExpression 905851 905897 - PropertyAccessExpression 905851 905876 - Identifier 905851 905871 - Identifier 905872 905876 - Identifier 905877 905896 - ReturnStatement 905898 905920 - TrueKeyword 905914 905919 - FunctionDeclaration 905927 906337 - Identifier 905943 905965 - Parameter 905966 906009 - Identifier 905966 905970 - UnionType 905971 906009 - TypeReference 905971 905992 - Identifier 905971 905992 - TypeReference 905994 906009 - Identifier 905994 906009 - Block 906010 906337 - IfStatement 906012 906170 - PrefixUnaryExpression 906097 906151 - ParenthesizedExpression 906098 906151 - BinaryExpression 906099 906150 - CallExpression 906099 906115 - Identifier 906099 906109 - Identifier 906110 906114 - AmpersandAmpersandToken 906115 906118 - CallExpression 906118 906150 - Identifier 906118 906144 - Identifier 906145 906149 - ReturnStatement 906152 906170 - Identifier 906159 906169 - VariableStatement 906170 906218 - VariableDeclarationList 906170 906217 - VariableDeclaration 906185 906217 - Identifier 906185 906193 - CallExpression 906195 906217 - Identifier 906195 906211 - Identifier 906212 906216 - ReturnStatement 906218 906330 - BinaryExpression 906234 906329 - PropertyAccessExpression 906234 906258 - Identifier 906234 906242 - QuestionDotToken 906242 906244 - Identifier 906244 906258 - AmpersandAmpersandToken 906258 906261 - CallExpression 906261 906329 - Identifier 906261 906284 - CallExpression 906285 906328 - Identifier 906285 906304 - PropertyAccessExpression 906305 906327 - Identifier 906305 906312 - Identifier 906313 906327 - FunctionDeclaration 906337 906726 - Identifier 906353 906379 - Parameter 906380 906409 - Identifier 906380 906384 - TypeReference 906385 906409 - Identifier 906385 906409 - Parameter 906410 906442 - Identifier 906410 906420 - TypeReference 906421 906442 - Identifier 906421 906442 - Block 906443 906726 - VariableStatement 906445 906501 - VariableDeclarationList 906445 906500 - VariableDeclaration 906460 906500 - Identifier 906460 906470 - CallExpression 906472 906500 - Identifier 906472 906494 - Identifier 906495 906499 - IfStatement 906501 906544 - PrefixUnaryExpression 906515 906525 - Identifier 906516 906525 - ReturnStatement 906526 906544 - Identifier 906533 906543 - VariableStatement 906544 906601 - VariableDeclarationList 906544 906600 - VariableDeclaration 906559 906600 - Identifier 906559 906563 - CallExpression 906565 906600 - PropertyAccessExpression 906565 906589 - PropertyAccessExpression 906565 906581 - Identifier 906565 906570 - Identifier 906571 906581 - Identifier 906582 906589 - Identifier 906590 906599 - ReturnStatement 906601 906719 - ConditionalExpression 906617 906718 - PropertyAccessExpression 906617 906642 - Identifier 906617 906627 - Identifier 906628 906642 - QuestionToken 906642 906644 - CallExpression 906644 906682 - Identifier 906644 906666 - Identifier 906667 906676 - Identifier 906677 906681 - ColonToken 906682 906684 - CallExpression 906684 906718 - Identifier 906684 906702 - Identifier 906703 906712 - Identifier 906713 906717 - FunctionDeclaration 906726 906941 - Identifier 906742 906765 - Parameter 906766 906809 - Identifier 906766 906770 - UnionType 906771 906809 - TypeReference 906771 906792 - Identifier 906771 906792 - TypeReference 906794 906809 - Identifier 906794 906809 - Block 906810 906941 - VariableStatement 906812 906868 - VariableDeclarationList 906812 906867 - VariableDeclaration 906827 906867 - Identifier 906827 906837 - CallExpression 906839 906867 - Identifier 906839 906861 - Identifier 906862 906866 - ReturnStatement 906868 906934 - BinaryExpression 906884 906933 - Identifier 906884 906894 - AmpersandAmpersandToken 906894 906897 - CallExpression 906897 906933 - Identifier 906897 906922 - Identifier 906923 906932 - FunctionDeclaration 906941 908748 - Identifier 906957 906984 - Parameter 906985 907018 - Identifier 906985 906996 - TypeReference 906997 907018 - Identifier 906997 907018 - BooleanKeyword 907020 907028 - Block 907028 908748 - VariableStatement 907030 907080 - VariableDeclarationList 907030 907079 - VariableDeclaration 907045 907079 - Identifier 907045 907051 - CallExpression 907053 907079 - Identifier 907053 907066 - Identifier 907067 907078 - IfStatement 907080 907438 - BinaryExpression 907094 907140 - PropertyAccessExpression 907094 907126 - Identifier 907094 907099 - Identifier 907100 907126 - EqualsEqualsEqualsToken 907126 907130 - Identifier 907130 907140 - Block 907141 907438 - IfStatement 907143 907427 - BinaryExpression 907161 907206 - PropertyAccessExpression 907161 907172 - Identifier 907161 907166 - Identifier 907167 907172 - AmpersandToken 907172 907174 - PropertyAccessExpression 907174 907206 - Identifier 907174 907189 - Identifier 907190 907206 - Block 907207 907282 - ExpressionStatement 907209 907267 - BinaryExpression 907209 907266 - PropertyAccessExpression 907209 907259 - Identifier 907209 907232 - Identifier 907233 907259 - EqualsToken 907259 907261 - TrueKeyword 907261 907266 - Block 907300 907427 - ExpressionStatement 907302 907412 - BinaryExpression 907302 907411 - PropertyAccessExpression 907302 907352 - Identifier 907302 907325 - Identifier 907326 907352 - EqualsToken 907352 907354 - CallExpression 907354 907411 - Identifier 907354 907363 - NonNullExpression 907364 907410 - PropertyAccessExpression 907364 907409 - ParenthesizedExpression 907364 907404 - AsExpression 907365 907403 - Identifier 907365 907376 - TypeReference 907379 907403 - Identifier 907379 907403 - Identifier 907405 907409 - ReturnStatement 907438 907488 - PropertyAccessExpression 907454 907487 - Identifier 907454 907460 - Identifier 907461 907487 - FunctionDeclaration 907488 908741 - Identifier 907508 907517 - Parameter 907518 907528 - Identifier 907518 907522 - TypeReference 907523 907528 - Identifier 907523 907528 - BooleanKeyword 907530 907538 - Block 907538 908741 - IfStatement 907540 907578 - PrefixUnaryExpression 907558 907563 - Identifier 907559 907563 - ReturnStatement 907564 907578 - FalseKeyword 907571 907577 - SwitchStatement 907578 908730 - PropertyAccessExpression 907600 907609 - Identifier 907600 907604 - Identifier 907605 907609 - CaseBlock 907610 908730 - CaseClause 907612 907819 - PropertyAccessExpression 907634 907656 - Identifier 907634 907645 - Identifier 907646 907656 - ReturnStatement 907657 907819 - BinaryExpression 907685 907818 - BinaryExpression 907685 907750 - PropertyAccessExpression 907685 907718 - ParenthesizedExpression 907685 907706 - AsExpression 907687 907705 - Identifier 907687 907691 - TypeReference 907694 907705 - Identifier 907694 907705 - Identifier 907707 907718 - EqualsEqualsEqualsToken 907718 907722 - PropertyAccessExpression 907722 907750 - Identifier 907722 907738 - Identifier 907739 907750 - AmpersandAmpersandToken 907750 907753 - BinaryExpression 907753 907818 - CallExpression 907753 907798 - Identifier 907753 907778 - AsExpression 907779 907797 - Identifier 907779 907783 - TypeReference 907786 907797 - Identifier 907786 907797 - EqualsEqualsEqualsToken 907798 907802 - Identifier 907802 907818 - CaseClause 907819 907875 - PropertyAccessExpression 907843 907874 - Identifier 907843 907854 - Identifier 907855 907874 - CaseClause 907875 907927 - PropertyAccessExpression 907897 907926 - Identifier 907897 907908 - Identifier 907909 907926 - CaseClause 907927 907973 - PropertyAccessExpression 907949 907972 - Identifier 907949 907960 - Identifier 907961 907972 - CaseClause 907973 908193 - PropertyAccessExpression 907995 908018 - Identifier 907995 908006 - Identifier 908007 908018 - ReturnStatement 908019 908193 - BinaryExpression 908047 908192 - BinaryExpression 908047 908121 - PropertyAccessExpression 908047 908085 - NonNullExpression 908047 908080 - PropertyAccessExpression 908047 908079 - ParenthesizedExpression 908047 908074 - AsExpression 908049 908073 - Identifier 908049 908053 - TypeReference 908056 908073 - Identifier 908056 908073 - Identifier 908075 908079 - Identifier 908081 908085 - EqualsEqualsEqualsToken 908085 908089 - PropertyAccessExpression 908089 908121 - Identifier 908089 908100 - Identifier 908101 908121 - AmpersandAmpersandToken 908121 908149 - CallExpression 908149 908192 - Identifier 908149 908158 - NonNullExpression 908159 908191 - PropertyAccessExpression 908159 908190 - ParenthesizedExpression 908159 908185 - AsExpression 908160 908184 - Identifier 908160 908164 - TypeReference 908167 908184 - Identifier 908167 908184 - Identifier 908186 908190 - CaseClause 908193 908254 - PropertyAccessExpression 908217 908253 - Identifier 908217 908228 - Identifier 908229 908253 - CaseClause 908254 908423 - PropertyAccessExpression 908276 908311 - Identifier 908276 908287 - Identifier 908288 908311 - ReturnStatement 908312 908423 - CallExpression 908340 908422 - Identifier 908340 908349 - PropertyAccessExpression 908350 908421 - ParenthesizedExpression 908350 908410 - AsExpression 908351 908409 - Identifier 908351 908355 - UnionType 908358 908409 - TypeReference 908358 908383 - Identifier 908358 908383 - TypeReference 908385 908409 - Identifier 908385 908409 - Identifier 908411 908421 - CaseClause 908423 908558 - PropertyAccessExpression 908447 908477 - Identifier 908447 908458 - Identifier 908459 908477 - ReturnStatement 908478 908558 - CallExpression 908506 908557 - Identifier 908506 908515 - PropertyAccessExpression 908516 908556 - ParenthesizedExpression 908516 908544 - AsExpression 908517 908543 - Identifier 908517 908521 - TypeReference 908524 908543 - Identifier 908524 908543 - Identifier 908545 908556 - DefaultClause 908558 908715 - ReturnStatement 908586 908715 - BinaryExpression 908614 908714 - BinaryExpression 908614 908680 - PrefixUnaryExpression 908614 908653 - CallExpression 908616 908653 - Identifier 908616 908647 - Identifier 908648 908652 - AmpersandAmpersandToken 908653 908656 - PrefixUnaryExpression 908656 908680 - CallExpression 908658 908680 - Identifier 908658 908674 - Identifier 908675 908679 - AmpersandAmpersandToken 908680 908683 - PrefixUnaryExpression 908683 908714 - PrefixUnaryExpression 908685 908714 - CallExpression 908686 908714 - Identifier 908686 908698 - Identifier 908699 908703 - Identifier 908704 908713 - FunctionDeclaration 908748 911033 - Identifier 908764 908786 - Parameter 908787 908813 - Identifier 908787 908793 - UnionType 908794 908813 - TypeReference 908794 908801 - Identifier 908794 908801 - UndefinedKeyword 908803 908813 - ArrayType 908815 908827 - TypeReference 908815 908825 - Identifier 908815 908825 - Block 908827 911033 - IfStatement 908829 908894 - BinaryExpression 908843 908874 - PrefixUnaryExpression 908843 908850 - Identifier 908844 908850 - BarBarToken 908850 908853 - PrefixUnaryExpression 908853 908874 - PropertyAccessExpression 908855 908874 - Identifier 908855 908861 - Identifier 908862 908874 - ReturnStatement 908875 908894 - Identifier 908882 908893 - VariableStatement 908894 908935 - VariableDeclarationList 908894 908934 - VariableDeclaration 908909 908934 - Identifier 908909 908916 - ArrayType 908917 908929 - TypeReference 908917 908927 - Identifier 908917 908927 - ArrayLiteralExpression 908931 908934 - ForStatement 908935 911002 - VariableDeclarationList 908950 908959 - VariableDeclaration 908953 908959 - Identifier 908953 908955 - NumericLiteral 908957 908959 - BinaryExpression 908960 908991 - Identifier 908960 908962 - LessThanToken 908962 908964 - PropertyAccessExpression 908964 908991 - PropertyAccessExpression 908964 908984 - Identifier 908964 908971 - Identifier 908972 908984 - Identifier 908985 908991 - PostfixUnaryExpression 908992 908996 - Identifier 908992 908994 - Block 908997 911002 - VariableStatement 908999 909049 - VariableDeclarationList 908999 909048 - VariableDeclaration 909018 909048 - Identifier 909018 909023 - ElementAccessExpression 909025 909048 - PropertyAccessExpression 909025 909045 - Identifier 909025 909032 - Identifier 909033 909045 - Identifier 909046 909047 - IfStatement 909049 909099 - PrefixUnaryExpression 909067 909088 - CallExpression 909068 909088 - Identifier 909068 909082 - Identifier 909083 909087 - ContinueStatement 909089 909099 - IfStatement 909099 909760 - BinaryExpression 909467 909514 - BinaryExpression 909467 909472 - Identifier 909467 909468 - GreaterThanToken 909468 909470 - NumericLiteral 909470 909472 - AmpersandAmpersandToken 909472 909475 - PropertyAccessExpression 909475 909514 - ParenthesizedExpression 909475 909509 - AsExpression 909477 909508 - Identifier 909477 909481 - TypeReference 909484 909508 - Identifier 909484 909508 - Identifier 909510 909514 - Block 909515 909760 - VariableStatement 909517 909579 - VariableDeclarationList 909517 909578 - VariableDeclaration 909540 909578 - Identifier 909540 909549 - ElementAccessExpression 909551 909578 - PropertyAccessExpression 909551 909571 - Identifier 909551 909558 - Identifier 909559 909571 - BinaryExpression 909572 909577 - Identifier 909572 909573 - MinusToken 909573 909575 - NumericLiteral 909575 909577 - IfStatement 909579 909745 - BinaryExpression 909601 909692 - BinaryExpression 909601 909663 - BinaryExpression 909601 909632 - PropertyAccessExpression 909601 909612 - Identifier 909601 909605 - Identifier 909606 909612 - EqualsEqualsEqualsToken 909612 909616 - PropertyAccessExpression 909616 909632 - Identifier 909616 909625 - Identifier 909626 909632 - AmpersandAmpersandToken 909632 909635 - BinaryExpression 909635 909663 - PropertyAccessExpression 909635 909645 - Identifier 909635 909640 - Identifier 909641 909645 - EqualsEqualsEqualsToken 909645 909649 - PropertyAccessExpression 909649 909663 - Identifier 909649 909658 - Identifier 909659 909663 - AmpersandAmpersandToken 909663 909666 - BinaryExpression 909666 909692 - PropertyAccessExpression 909666 909675 - Identifier 909666 909671 - Identifier 909672 909675 - EqualsEqualsEqualsToken 909675 909679 - PropertyAccessExpression 909679 909692 - Identifier 909679 909688 - Identifier 909689 909692 - Block 909693 909745 - ContinueStatement 909695 909726 - IfStatement 909760 910393 - BinaryExpression 909778 909808 - CallExpression 909778 909794 - Identifier 909778 909788 - Identifier 909789 909793 - AmpersandAmpersandToken 909794 909797 - PropertyAccessExpression 909797 909808 - Identifier 909797 909802 - Identifier 909803 909808 - Block 909809 910393 - VariableStatement 909811 909869 - VariableDeclarationList 909811 909868 - VariableDeclaration 909834 909868 - Identifier 909834 909839 - CallExpression 909841 909868 - Identifier 909841 909862 - Identifier 909863 909867 - IfStatement 909869 910378 - CallExpression 909891 909903 - Identifier 909891 909897 - Identifier 909898 909902 - Block 909904 910378 - ForOfStatement 909906 910328 - VariableDeclarationList 909933 909942 - VariableDeclaration 909938 909942 - Identifier 909938 909942 - Identifier 909945 909950 - Block 909951 910328 - VariableStatement 909953 910021 - VariableDeclarationList 909953 910020 - VariableDeclaration 909984 910020 - Identifier 909984 909999 - PropertyAccessExpression 910001 910020 - Identifier 910001 910005 - Identifier 910006 910020 - IfStatement 910021 910222 - BinaryExpression 910051 910119 - BinaryExpression 910051 910084 - PropertyAccessExpression 910051 910070 - Identifier 910051 910065 - Identifier 910066 910070 - EqualsEqualsEqualsToken 910070 910074 - Identifier 910074 910084 - AmpersandAmpersandToken 910084 910087 - PrefixUnaryExpression 910087 910119 - CallExpression 910089 910119 - Identifier 910089 910113 - Identifier 910114 910118 - Block 910120 910222 - ExpressionStatement 910122 910195 - CallExpression 910122 910194 - Identifier 910122 910169 - Identifier 910170 910184 - Identifier 910185 910193 - ExpressionStatement 910222 910305 - CallExpression 910222 910304 - PropertyAccessExpression 910222 910259 - Identifier 910222 910254 - Identifier 910255 910259 - CallExpression 910260 910303 - Identifier 910260 910287 - Identifier 910288 910302 - ContinueStatement 910328 910359 - ExpressionStatement 910393 910991 - CallExpression 910393 910990 - PropertyAccessExpression 910393 910748 - Identifier 910393 910743 - Identifier 910744 910748 - BinaryExpression 910749 910974 - ParenthesizedExpression 910749 910916 - BinaryExpression 910768 910915 - BinaryExpression 910768 910863 - PrefixUnaryExpression 910768 910810 - CallExpression 910769 910810 - Identifier 910769 910804 - Identifier 910805 910809 - AmpersandAmpersandToken 910810 910813 - PrefixUnaryExpression 910813 910863 - CallExpression 910836 910863 - Identifier 910836 910857 - Identifier 910858 910862 - AmpersandAmpersandToken 910863 910866 - CallExpression 910866 910915 - Identifier 910866 910909 - Identifier 910910 910914 - BarBarToken 910916 910919 - CallExpression 910919 910974 - Identifier 910919 910968 - Identifier 910969 910973 - ReturnStatement 911002 911026 - Identifier 911018 911025 - FunctionDeclaration 911033 911445 - Identifier 911049 911084 - Parameter 911085 911104 - Identifier 911085 911089 - TypeReference 911090 911104 - Identifier 911090 911104 - Block 911105 911445 - VariableStatement 911107 911173 - VariableDeclarationList 911107 911172 - VariableDeclaration 911122 911172 - Identifier 911122 911132 - CallExpression 911134 911172 - Identifier 911134 911160 - Identifier 911161 911165 - Identifier 911166 911171 - IfStatement 911173 911411 - Identifier 911187 911196 - Block 911197 911411 - VariableStatement 911199 911281 - VariableDeclarationList 911199 911280 - VariableDeclaration 911218 911280 - Identifier 911218 911239 - CallExpression 911241 911280 - Identifier 911241 911269 - Identifier 911270 911279 - IfStatement 911281 911400 - Identifier 911299 911319 - Block 911320 911400 - ReturnStatement 911322 911385 - CallExpression 911346 911384 - Identifier 911346 911362 - Identifier 911363 911383 - ReturnStatement 911411 911438 - Identifier 911429 911437 - FunctionDeclaration 911445 911646 - Identifier 911461 911484 - Parameter 911485 911505 - Identifier 911485 911494 - TypeReference 911495 911505 - Identifier 911495 911505 - UnionType 911507 911524 - TypeReference 911507 911512 - Identifier 911507 911512 - UndefinedKeyword 911514 911524 - Block 911524 911646 - IfStatement 911526 911639 - PropertyAccessExpression 911540 911563 - Identifier 911540 911549 - Identifier 911550 911563 - Block 911564 911639 - ReturnStatement 911566 911628 - CallExpression 911586 911627 - Identifier 911586 911602 - PropertyAccessExpression 911603 911626 - Identifier 911603 911612 - Identifier 911613 911626 - FunctionDeclaration 911646 913981 - Identifier 911662 911690 - Parameter 911691 911711 - Identifier 911691 911700 - TypeReference 911701 911711 - Identifier 911701 911711 - UnionType 911713 911739 - TypeReference 911713 911727 - Identifier 911713 911727 - UndefinedKeyword 911729 911739 - Block 911739 913981 - IfStatement 911741 913859 - PrefixUnaryExpression 911755 911787 - PropertyAccessExpression 911756 911787 - Identifier 911756 911765 - Identifier 911766 911787 - Block 911788 913859 - IfStatement 911790 913786 - PropertyAccessExpression 911808 911824 - Identifier 911808 911817 - Identifier 911818 911824 - Block 911825 912091 - VariableStatement 911827 911919 - VariableDeclarationList 911827 911918 - VariableDeclaration 911850 911918 - Identifier 911850 911870 - CallExpression 911872 911918 - Identifier 911872 911900 - PropertyAccessExpression 911901 911917 - Identifier 911901 911910 - Identifier 911911 911917 - ExpressionStatement 911919 912076 - BinaryExpression 911919 912075 - PropertyAccessExpression 911919 911968 - Identifier 911919 911946 - Identifier 911947 911968 - EqualsToken 911968 911970 - ConditionalExpression 911970 912075 - Identifier 911970 911990 - QuestionToken 911990 911992 - CallExpression 911992 912057 - Identifier 911992 912017 - Identifier 912018 912037 - NonNullExpression 912038 912056 - PropertyAccessExpression 912038 912055 - Identifier 912038 912048 - Identifier 912049 912055 - ColonToken 912057 912059 - Identifier 912059 912075 - IfStatement 912109 913786 - PropertyAccessExpression 912114 912143 - Identifier 912114 912123 - Identifier 912124 912143 - Block 912144 912324 - ExpressionStatement 912146 912309 - BinaryExpression 912146 912308 - PropertyAccessExpression 912146 912195 - Identifier 912146 912173 - Identifier 912174 912195 - EqualsToken 912195 912197 - BinaryExpression 912197 912308 - CallExpression 912197 912289 - Identifier 912197 912233 - PropertyAccessExpression 912234 912263 - Identifier 912234 912243 - Identifier 912244 912263 - PropertyAccessExpression 912264 912288 - Identifier 912264 912274 - Identifier 912275 912288 - BarBarToken 912289 912292 - Identifier 912292 912308 - Block 912342 913786 - VariableStatement 912344 912450 - VariableDeclarationList 912344 912449 - VariableDeclaration 912367 912449 - Identifier 912367 912372 - BinaryExpression 912374 912449 - PropertyAccessExpression 912374 912396 - Identifier 912374 912384 - Identifier 912385 912396 - AmpersandAmpersandToken 912396 912399 - CallExpression 912399 912449 - Identifier 912399 912426 - PropertyAccessExpression 912427 912448 - Identifier 912427 912436 - Identifier 912437 912448 - VariableStatement 912450 912514 - VariableDeclarationList 912450 912513 - VariableDeclaration 912471 912513 - Identifier 912471 912486 - UnionType 912487 912513 - TypeReference 912487 912501 - Identifier 912487 912501 - UndefinedKeyword 912503 912513 - IfStatement 912514 912839 - PrefixUnaryExpression 912536 912541 - Identifier 912537 912541 - Block 912542 912839 - VariableStatement 912544 912635 - VariableDeclarationList 912544 912634 - VariableDeclaration 912571 912634 - Identifier 912571 912586 - CallExpression 912588 912634 - Identifier 912588 912610 - NonNullExpression 912611 912633 - PropertyAccessExpression 912611 912632 - Identifier 912611 912620 - Identifier 912621 912632 - IfStatement 912635 912820 - BinaryExpression 912661 912707 - Identifier 912661 912675 - AmpersandAmpersandToken 912675 912678 - BinaryExpression 912678 912707 - Identifier 912678 912688 - ExclamationEqualsEqualsToken 912688 912692 - Identifier 912692 912707 - Block 912708 912820 - ExpressionStatement 912710 912797 - BinaryExpression 912710 912796 - Identifier 912710 912750 - EqualsToken 912750 912752 - CallExpression 912752 912796 - Identifier 912752 912780 - Identifier 912781 912795 - IfStatement 912839 913771 - BinaryExpression 912861 912883 - Identifier 912861 912865 - BarBarToken 912865 912868 - Identifier 912868 912883 - Block 912884 913141 - ExpressionStatement 912886 913122 - BinaryExpression 912886 913121 - PropertyAccessExpression 912886 912939 - Identifier 912886 912917 - Identifier 912918 912939 - EqualsToken 912939 912941 - ConditionalExpression 912941 913121 - BinaryExpression 912941 912975 - Identifier 912941 912946 - AmpersandAmpersandToken 912946 912949 - CallExpression 912949 912975 - Identifier 912949 912969 - Identifier 912970 912974 - QuestionToken 912975 912977 - CallExpression 912977 913060 - Identifier 912977 913043 - Identifier 913044 913048 - Identifier 913049 913059 - ColonToken 913060 913062 - BinaryExpression 913062 913121 - Identifier 913062 913102 - BarBarToken 913102 913105 - Identifier 913105 913121 - IfStatement 913163 913771 - BinaryExpression 913168 913370 - BinaryExpression 913168 913334 - BinaryExpression 913168 913241 - PropertyAccessExpression 913168 913189 - Identifier 913168 913177 - Identifier 913178 913189 - AmpersandAmpersandToken 913189 913192 - CallExpression 913192 913241 - Identifier 913192 913218 - PropertyAccessExpression 913219 913240 - Identifier 913219 913228 - Identifier 913229 913240 - AmpersandAmpersandToken 913241 913244 - ParenthesizedExpression 913244 913334 - BinaryExpression 913246 913333 - PrefixUnaryExpression 913246 913275 - PropertyAccessExpression 913247 913275 - Identifier 913247 913256 - Identifier 913257 913275 - BarBarToken 913275 913278 - BinaryExpression 913278 913333 - PropertyAccessExpression 913278 913313 - PropertyAccessExpression 913278 913307 - Identifier 913278 913288 - Identifier 913289 913307 - Identifier 913308 913313 - AmpersandToken 913313 913315 - PropertyAccessExpression 913315 913333 - Identifier 913315 913325 - Identifier 913326 913333 - AmpersandAmpersandToken 913334 913337 - BinaryExpression 913337 913370 - CallExpression 913337 913366 - Identifier 913337 913355 - Identifier 913356 913365 - GreaterThanToken 913366 913368 - NumericLiteral 913368 913370 - Block 913371 913656 - VariableStatement 913373 913429 - VariableDeclarationList 913373 913428 - VariableDeclaration 913400 913428 - ObjectBindingPattern 913400 913416 - BindingElement 913402 913414 - Identifier 913402 913414 - Identifier 913418 913428 - ExpressionStatement 913429 913501 - BinaryExpression 913429 913500 - PropertyAccessExpression 913429 913482 - Identifier 913429 913460 - Identifier 913461 913482 - EqualsToken 913482 913484 - Identifier 913484 913500 - ExpressionStatement 913501 913637 - BinaryExpression 913501 913636 - PropertyAccessExpression 913501 913577 - Identifier 913501 913555 - Identifier 913556 913577 - EqualsToken 913577 913579 - BinaryExpression 913579 913636 - CallExpression 913579 913617 - Identifier 913579 913604 - Identifier 913605 913616 - BarBarToken 913617 913620 - Identifier 913620 913636 - Block 913678 913771 - ExpressionStatement 913680 913752 - BinaryExpression 913680 913751 - PropertyAccessExpression 913680 913733 - Identifier 913680 913711 - Identifier 913712 913733 - EqualsToken 913733 913735 - Identifier 913735 913751 - ExpressionStatement 913786 913848 - CallExpression 913786 913847 - PropertyAccessExpression 913786 913812 - Identifier 913786 913805 - Identifier 913806 913812 - PrefixUnaryExpression 913813 913846 - PrefixUnaryExpression 913814 913846 - PropertyAccessExpression 913815 913846 - Identifier 913815 913824 - Identifier 913825 913846 - ReturnStatement 913859 913974 - ConditionalExpression 913875 913973 - BinaryExpression 913875 913927 - PropertyAccessExpression 913875 913907 - Identifier 913875 913885 - Identifier 913886 913907 - EqualsEqualsEqualsToken 913907 913911 - Identifier 913911 913927 - QuestionToken 913927 913929 - Identifier 913929 913939 - ColonToken 913939 913941 - PropertyAccessExpression 913941 913973 - Identifier 913941 913951 - Identifier 913952 913973 - FunctionDeclaration 913981 914718 - Identifier 913997 914038 - Parameter 914039 914062 - Identifier 914039 914043 - TypeReference 914044 914062 - Identifier 914044 914062 - Parameter 914063 914084 - Identifier 914063 914073 - TypeReference 914074 914084 - Identifier 914074 914084 - TypeReference 914086 914100 - Identifier 914086 914100 - Block 914100 914718 - VariableStatement 914102 914153 - VariableDeclarationList 914102 914152 - VariableDeclaration 914117 914152 - Identifier 914117 914131 - PropertyAccessExpression 914133 914152 - Identifier 914133 914138 - Identifier 914139 914152 - VariableStatement 914153 914220 - VariableDeclarationList 914153 914219 - VariableDeclaration 914168 914219 - Identifier 914168 914173 - BinaryExpression 914175 914219 - PropertyAccessExpression 914175 914185 - Identifier 914175 914180 - Identifier 914181 914185 - AmpersandAmpersandToken 914185 914188 - CallExpression 914188 914219 - Identifier 914188 914208 - PropertyAccessExpression 914209 914218 - Identifier 914209 914213 - Identifier 914214 914218 - ReturnStatement 914220 914711 - ConditionalExpression 914236 914710 - BinaryExpression 914236 914279 - PropertyAccessExpression 914236 914255 - Identifier 914236 914250 - Identifier 914251 914255 - EqualsEqualsEqualsToken 914255 914259 - PropertyAccessExpression 914259 914279 - Identifier 914259 914270 - Identifier 914271 914279 - QuestionToken 914279 914281 - CallExpression 914281 914458 - Identifier 914281 914314 - ConditionalExpression 914315 914392 - PropertyAccessExpression 914315 914335 - Identifier 914315 914319 - Identifier 914320 914335 - QuestionToken 914335 914337 - PropertyAccessExpression 914337 914367 - Identifier 914337 914355 - Identifier 914356 914367 - ColonToken 914367 914369 - PropertyAccessExpression 914369 914392 - Identifier 914369 914387 - Identifier 914388 914392 - Identifier 914393 914421 - Identifier 914422 914451 - Identifier 914452 914457 - ColonToken 914458 914460 - CallExpression 914460 914710 - Identifier 914460 914493 - ConditionalExpression 914494 914583 - PropertyAccessExpression 914494 914514 - Identifier 914494 914498 - Identifier 914499 914514 - QuestionToken 914514 914516 - PropertyAccessExpression 914516 914552 - Identifier 914516 914534 - Identifier 914535 914552 - ColonToken 914552 914554 - PropertyAccessExpression 914554 914583 - Identifier 914554 914572 - Identifier 914573 914583 - AsExpression 914584 914620 - PropertyAccessExpression 914584 914610 - Identifier 914584 914598 - Identifier 914599 914610 - StringKeyword 914613 914620 - CallExpression 914621 914703 - Identifier 914621 914631 - PropertyAccessExpression 914632 914652 - Identifier 914632 914641 - Identifier 914642 914652 - ArrowFunction 914653 914702 - Parameter 914653 914655 - Identifier 914653 914655 - EqualsGreaterThanToken 914655 914658 - BinaryExpression 914658 914702 - PropertyAccessExpression 914658 914672 - Identifier 914658 914660 - Identifier 914661 914672 - EqualsEqualsEqualsToken 914672 914676 - PropertyAccessExpression 914676 914702 - Identifier 914676 914690 - Identifier 914691 914702 - Identifier 914704 914709 - FunctionDeclaration 914718 914963 - Identifier 914734 914761 - Parameter 914762 914775 - Identifier 914762 914767 - ArrayType 914768 914775 - TypeReference 914768 914773 - Identifier 914768 914773 - Parameter 914776 914804 - Identifier 914776 914781 - UnionType 914782 914804 - TypeReference 914782 914792 - Identifier 914782 914792 - UndefinedKeyword 914794 914804 - Parameter 914805 914837 - Identifier 914805 914820 - QuestionToken 914820 914821 - TypeReference 914822 914837 - Identifier 914822 914837 - Block 914838 914963 - ReturnStatement 914840 914956 - ConditionalExpression 914856 914955 - BinaryExpression 914856 914888 - Identifier 914856 914861 - ExclamationEqualsEqualsToken 914861 914865 - PropertyAccessExpression 914865 914888 - Identifier 914865 914875 - Identifier 914876 914888 - QuestionToken 914888 914890 - CallExpression 914890 914926 - Identifier 914890 914903 - Identifier 914904 914909 - Identifier 914910 914925 - ColonToken 914926 914928 - CallExpression 914928 914955 - Identifier 914928 914948 - Identifier 914949 914954 - FunctionDeclaration 914963 917438 - Identifier 914979 915004 - Parameter 915005 915025 - Identifier 915005 915014 - TypeReference 915015 915025 - Identifier 915015 915025 - TypeReference 915027 915032 - Identifier 915027 915032 - Block 915032 917438 - IfStatement 915034 917385 - PrefixUnaryExpression 915048 915077 - PropertyAccessExpression 915049 915077 - Identifier 915049 915058 - Identifier 915059 915077 - Block 915078 917385 - IfStatement 915080 915224 - PrefixUnaryExpression 915098 915171 - CallExpression 915099 915171 - Identifier 915099 915117 - Identifier 915118 915127 - PropertyAccessExpression 915128 915170 - Identifier 915128 915151 - Identifier 915152 915170 - Block 915172 915224 - ReturnStatement 915174 915209 - Identifier 915198 915208 - VariableStatement 915224 915818 - VariableDeclarationList 915224 915817 - VariableDeclaration 915241 915817 - Identifier 915241 915246 - ConditionalExpression 915248 915817 - PropertyAccessExpression 915248 915265 - Identifier 915248 915258 - Identifier 915259 915265 - QuestionToken 915265 915267 - CallExpression 915267 915345 - Identifier 915267 915283 - CallExpression 915284 915326 - Identifier 915284 915308 - PropertyAccessExpression 915309 915325 - Identifier 915309 915318 - Identifier 915319 915325 - PropertyAccessExpression 915327 915344 - Identifier 915327 915337 - Identifier 915338 915344 - ColonToken 915345 915347 - ConditionalExpression 915347 915817 - PropertyAccessExpression 915347 915394 - Identifier 915347 915374 - Identifier 915375 915394 - QuestionToken 915394 915396 - CallExpression 915396 915569 - Identifier 915396 915412 - CallExpression 915413 915550 - Identifier 915413 915439 - CallExpression 915440 915500 - Identifier 915440 915443 - PropertyAccessExpression 915444 915473 - Identifier 915444 915453 - Identifier 915454 915473 - Identifier 915474 915499 - PropertyAccessExpression 915501 915525 - Identifier 915501 915511 - Identifier 915512 915525 - PropertyAccessExpression 915526 915549 - Identifier 915526 915541 - Identifier 915542 915549 - PropertyAccessExpression 915551 915568 - Identifier 915551 915561 - Identifier 915562 915568 - ColonToken 915569 915571 - BinaryExpression 915571 915817 - CallExpression 915571 915640 - Identifier 915571 915616 - NonNullExpression 915617 915639 - PropertyAccessExpression 915617 915638 - Identifier 915617 915626 - Identifier 915627 915638 - BarBarToken 915640 915643 - ParenthesizedExpression 915643 915817 - ConditionalExpression 915662 915816 - CallExpression 915662 915732 - Identifier 915662 915675 - PropertyAccessExpression 915676 915731 - ParenthesizedExpression 915676 915726 - AsExpression 915677 915725 - PropertyAccessExpression 915677 915698 - Identifier 915677 915686 - Identifier 915687 915698 - TypeReference 915701 915725 - Identifier 915701 915725 - Identifier 915727 915731 - QuestionToken 915732 915734 - Identifier 915734 915742 - ColonToken 915742 915744 - CallExpression 915744 915816 - Identifier 915744 915766 - AsExpression 915767 915815 - PropertyAccessExpression 915767 915788 - Identifier 915767 915776 - Identifier 915777 915788 - TypeReference 915791 915815 - Identifier 915791 915815 - IfStatement 915818 916093 - BinaryExpression 915836 915885 - PropertyAccessExpression 915836 915851 - Identifier 915836 915845 - Identifier 915846 915851 - AmpersandToken 915851 915853 - PropertyAccessExpression 915853 915885 - Identifier 915853 915868 - Identifier 915869 915885 - Block 915886 915956 - ExpressionStatement 915888 915941 - BinaryExpression 915888 915940 - Identifier 915888 915910 - EqualsToken 915910 915912 - CallExpression 915912 915940 - Identifier 915912 915934 - Identifier 915935 915939 - IfStatement 915974 916093 - BinaryExpression 915979 916028 - PropertyAccessExpression 915979 915994 - Identifier 915979 915988 - Identifier 915989 915994 - AmpersandToken 915994 915996 - PropertyAccessExpression 915996 916028 - Identifier 915996 916011 - Identifier 916012 916028 - Block 916029 916093 - ExpressionStatement 916031 916078 - BinaryExpression 916031 916077 - Identifier 916031 916053 - EqualsToken 916053 916055 - CallExpression 916055 916077 - Identifier 916055 916071 - Identifier 916072 916076 - IfStatement 916093 917322 - PrefixUnaryExpression 916111 916131 - CallExpression 916112 916131 - Identifier 916112 916129 - Block 916132 917322 - IfStatement 916134 917274 - PropertyAccessExpression 916156 916177 - Identifier 916156 916165 - Identifier 916166 916177 - Block 916178 917274 - VariableStatement 916180 916269 - VariableDeclarationList 916180 916268 - VariableDeclaration 916207 916268 - Identifier 916207 916216 - CallExpression 916218 916268 - Identifier 916218 916245 - PropertyAccessExpression 916246 916267 - Identifier 916246 916255 - Identifier 916256 916267 - IfStatement 916269 917255 - Identifier 916295 916303 - Block 916304 916436 - ExpressionStatement 916306 916413 - CallExpression 916306 916412 - Identifier 916306 916337 - Identifier 916338 916346 - PropertyAccessExpression 916347 916411 - Identifier 916347 916359 - Identifier 916360 916411 - IfStatement 916462 917255 - Identifier 916467 916480 - Block 916481 917255 - VariableStatement 916483 916566 - VariableDeclarationList 916483 916565 - VariableDeclaration 916514 916565 - Identifier 916514 916526 - AsExpression 916528 916565 - PropertyAccessExpression 916528 916550 - Identifier 916528 916538 - Identifier 916539 916550 - TypeReference 916553 916565 - Identifier 916553 916565 - VariableStatement 916566 916639 - VariableDeclarationList 916566 916638 - VariableDeclaration 916597 916638 - Identifier 916597 916602 - CallExpression 916604 916638 - Identifier 916604 916625 - Identifier 916626 916637 - IfStatement 916639 917232 - Identifier 916669 916673 - Block 916674 916947 - ExpressionStatement 916676 916920 - CallExpression 916676 916919 - Identifier 916676 916711 - Identifier 916712 916716 - PropertyAccessExpression 916717 916887 - Identifier 916717 916729 - Identifier 916730 916887 - CallExpression 916888 916918 - Identifier 916888 916912 - Identifier 916913 916917 - Block 916977 917232 - ExpressionStatement 916979 917205 - CallExpression 916979 917204 - Identifier 916979 917014 - Identifier 917015 917026 - PropertyAccessExpression 917027 917203 - Identifier 917027 917039 - Identifier 917040 917203 - ExpressionStatement 917274 917307 - BinaryExpression 917274 917306 - Identifier 917274 917296 - EqualsToken 917296 917298 - Identifier 917298 917306 - ExpressionStatement 917322 917374 - BinaryExpression 917322 917373 - PropertyAccessExpression 917322 917364 - Identifier 917322 917345 - Identifier 917346 917364 - QuestionQuestionEqualsToken 917364 917368 - Identifier 917368 917373 - ReturnStatement 917385 917431 - PropertyAccessExpression 917401 917430 - Identifier 917401 917411 - Identifier 917412 917430 - FunctionDeclaration 917438 919028 - Identifier 917454 917482 - Parameter 917483 917533 - Identifier 917483 917494 - UnionType 917495 917533 - TypeReference 917495 917516 - Identifier 917495 917516 - TypeReference 917518 917533 - Identifier 917518 917533 - Block 917534 919028 - IfStatement 917536 917728 - BinaryExpression 917550 917593 - PropertyAccessExpression 917550 917566 - Identifier 917550 917561 - Identifier 917562 917566 - EqualsEqualsEqualsToken 917566 917570 - PropertyAccessExpression 917570 917593 - Identifier 917570 917581 - Identifier 917582 917593 - Block 917594 917728 - ReturnStatement 917596 917717 - CallExpression 917616 917716 - Identifier 917616 917650 - CallExpression 917651 917715 - Identifier 917651 917666 - PropertyAccessExpression 917667 917714 - ParenthesizedExpression 917667 917707 - AsExpression 917668 917706 - PropertyAccessExpression 917668 917686 - Identifier 917668 917679 - Identifier 917680 917686 - TypeReference 917689 917706 - Identifier 917689 917706 - Identifier 917708 917714 - VariableStatement 917728 917795 - VariableDeclarationList 917728 917794 - VariableDeclaration 917743 917794 - Identifier 917743 917752 - CallExpression 917754 917794 - Identifier 917754 917781 - Identifier 917782 917793 - IfStatement 917795 918124 - CallExpression 917809 917838 - Identifier 917809 917825 - Identifier 917826 917837 - Block 917839 918124 - VariableStatement 917841 917894 - VariableDeclarationList 917841 917893 - VariableDeclaration 917860 917893 - Identifier 917860 917865 - CallExpression 917867 917893 - Identifier 917867 917880 - Identifier 917881 917892 - IfStatement 917894 918113 - BinaryExpression 917912 917970 - BinaryExpression 917912 917957 - Identifier 917912 917916 - AmpersandAmpersandToken 917916 917919 - CallExpression 917919 917957 - Identifier 917919 917944 - PropertyAccessExpression 917945 917956 - Identifier 917945 917949 - Identifier 917950 917956 - AmpersandAmpersandToken 917957 917960 - PrefixUnaryExpression 917960 917970 - Identifier 917962 917970 - Block 917971 918113 - ReturnStatement 917973 918098 - CallExpression 917997 918097 - Identifier 917997 918031 - CallExpression 918032 918096 - Identifier 918032 918047 - PropertyAccessExpression 918048 918095 - ParenthesizedExpression 918048 918088 - AsExpression 918049 918087 - PropertyAccessExpression 918049 918067 - PropertyAccessExpression 918049 918060 - Identifier 918049 918053 - Identifier 918054 918060 - Identifier 918061 918067 - TypeReference 918070 918087 - Identifier 918070 918087 - Identifier 918089 918095 - IfStatement 918124 918308 - CallExpression 918138 918176 - Identifier 918138 918163 - Identifier 918164 918175 - Block 918177 918308 - ReturnStatement 918179 918279 - CallExpression 918199 918278 - Identifier 918199 918219 - NonNullExpression 918220 918277 - PropertyAccessExpression 918220 918276 - ParenthesizedExpression 918220 918271 - AsExpression 918221 918270 - ElementAccessExpression 918221 918246 - PropertyAccessExpression 918221 918243 - Identifier 918221 918232 - Identifier 918233 918243 - NumericLiteral 918244 918245 - TypeReference 918249 918270 - Identifier 918249 918270 - Identifier 918272 918276 - IfStatement 918308 918395 - Identifier 918322 918330 - Block 918331 918395 - ReturnStatement 918333 918384 - CallExpression 918353 918383 - Identifier 918353 918373 - Identifier 918374 918382 - IfStatement 918395 918968 - BinaryExpression 918409 918484 - BinaryExpression 918409 918452 - PropertyAccessExpression 918409 918425 - Identifier 918409 918420 - Identifier 918421 918425 - EqualsEqualsEqualsToken 918425 918429 - PropertyAccessExpression 918429 918452 - Identifier 918429 918440 - Identifier 918441 918452 - AmpersandAmpersandToken 918452 918455 - CallExpression 918455 918484 - Identifier 918455 918471 - Identifier 918472 918483 - Block 918485 918968 - VariableStatement 918487 918597 - VariableDeclarationList 918487 918596 - VariableDeclaration 918506 918596 - Identifier 918506 918516 - BinaryExpression 918518 918596 - CallExpression 918518 918542 - Identifier 918518 918529 - Identifier 918530 918541 - AmpersandAmpersandToken 918542 918545 - CallExpression 918545 918596 - Identifier 918545 918583 - Identifier 918584 918595 - IfStatement 918597 918677 - Identifier 918615 918624 - Block 918625 918677 - ReturnStatement 918627 918662 - Identifier 918651 918661 - VariableStatement 918677 918809 - VariableDeclarationList 918677 918808 - VariableDeclaration 918696 918808 - Identifier 918696 918703 - CallExpression 918705 918808 - Identifier 918705 918726 - TypeReference 918727 918746 - Identifier 918727 918746 - CallExpression 918748 918783 - Identifier 918748 918770 - Identifier 918771 918782 - PropertyAccessExpression 918784 918807 - Identifier 918784 918795 - Identifier 918796 918807 - VariableStatement 918809 918875 - VariableDeclarationList 918809 918874 - VariableDeclaration 918828 918874 - Identifier 918828 918839 - CallExpression 918841 918874 - Identifier 918841 918866 - Identifier 918867 918873 - IfStatement 918875 918957 - Identifier 918893 918903 - Block 918904 918957 - ReturnStatement 918906 918942 - Identifier 918930 918941 - ReturnStatement 918968 919021 - CallExpression 918984 919020 - Identifier 918984 919007 - Identifier 919008 919019 - FunctionDeclaration 919028 919375 - Identifier 919044 919077 - Parameter 919078 919098 - Identifier 919078 919087 - TypeReference 919088 919098 - Identifier 919088 919098 - BooleanKeyword 919100 919108 - Block 919108 919375 - ReturnStatement 919110 919368 - BinaryExpression 919126 919367 - BinaryExpression 919126 919229 - PropertyAccessExpression 919126 919156 - Identifier 919126 919136 - Identifier 919137 919156 - AmpersandAmpersandToken 919156 919159 - CallExpression 919159 919229 - Identifier 919159 919164 - PropertyAccessExpression 919165 919194 - Identifier 919165 919174 - Identifier 919175 919194 - Identifier 919195 919228 - BarBarToken 919229 919232 - BinaryExpression 919232 919367 - PrefixUnaryExpression 919232 919275 - PropertyAccessExpression 919247 919275 - Identifier 919247 919256 - Identifier 919257 919275 - AmpersandAmpersandToken 919275 919278 - BinaryExpression 919278 919367 - CallExpression 919278 919362 - Identifier 919278 919308 - Identifier 919309 919318 - PropertyAccessExpression 919319 919361 - Identifier 919319 919342 - Identifier 919343 919361 - GreaterThanEqualsToken 919362 919365 - NumericLiteral 919365 919367 - FunctionDeclaration 919375 919516 - Identifier 919391 919414 - Parameter 919415 919435 - Identifier 919415 919424 - TypeReference 919425 919435 - Identifier 919425 919435 - TypeReference 919437 919442 - Identifier 919437 919442 - Block 919442 919516 - ReturnStatement 919444 919509 - BinaryExpression 919460 919508 - CallExpression 919460 919497 - Identifier 919460 919486 - Identifier 919487 919496 - BarBarToken 919497 919500 - Identifier 919500 919508 - FunctionDeclaration 919516 919985 - Identifier 919532 919558 - Parameter 919559 919579 - Identifier 919559 919568 - TypeReference 919569 919579 - Identifier 919569 919579 - UnionType 919581 919598 - TypeReference 919581 919586 - Identifier 919581 919586 - UndefinedKeyword 919588 919598 - Block 919598 919985 - IfStatement 919600 919951 - CallExpression 919614 919650 - Identifier 919614 919639 - Identifier 919640 919649 - Block 919651 919951 - VariableStatement 919653 919758 - VariableDeclarationList 919653 919757 - VariableDeclaration 919672 919757 - Identifier 919672 919684 - CallExpression 919686 919757 - Identifier 919686 919702 - ElementAccessExpression 919703 919756 - PropertyAccessExpression 919703 919723 - Identifier 919703 919712 - Identifier 919713 919723 - BinaryExpression 919724 919755 - PropertyAccessExpression 919724 919751 - PropertyAccessExpression 919724 919744 - Identifier 919724 919733 - Identifier 919734 919744 - Identifier 919745 919751 - MinusToken 919751 919753 - NumericLiteral 919753 919755 - VariableStatement 919758 919866 - VariableDeclarationList 919758 919865 - VariableDeclaration 919777 919865 - Identifier 919777 919786 - ConditionalExpression 919788 919865 - CallExpression 919788 919813 - Identifier 919788 919800 - Identifier 919801 919812 - QuestionToken 919813 919815 - CallExpression 919815 919851 - Identifier 919815 919838 - Identifier 919839 919850 - ColonToken 919851 919853 - Identifier 919853 919865 - ReturnStatement 919866 919940 - BinaryExpression 919886 919939 - Identifier 919886 919895 - AmpersandAmpersandToken 919895 919898 - CallExpression 919898 919939 - Identifier 919898 919917 - Identifier 919918 919926 - Identifier 919927 919938 - ReturnStatement 919951 919978 - Identifier 919967 919977 - FunctionDeclaration 919985 921092 - Identifier 920001 920027 - Parameter 920028 920048 - Identifier 920028 920037 - TypeReference 920038 920048 - Identifier 920038 920048 - Parameter 920049 920092 - Identifier 920049 920063 - UnionType 920064 920092 - TypeOperator 920064 920080 - ArrayType 920073 920080 - TypeReference 920073 920078 - Identifier 920073 920078 - UndefinedKeyword 920082 920092 - Parameter 920093 920115 - Identifier 920093 920106 - BooleanKeyword 920107 920115 - Parameter 920116 920166 - Identifier 920116 920139 - QuestionToken 920139 920140 - TypeOperator 920141 920166 - ArrayType 920150 920166 - TypeReference 920150 920164 - Identifier 920150 920164 - TypeReference 920168 920178 - Identifier 920168 920178 - Block 920178 921092 - VariableStatement 920180 920418 - VariableDeclarationList 920180 920417 - VariableDeclaration 920195 920417 - Identifier 920195 920217 - CallExpression 920219 920417 - Identifier 920219 920274 - Identifier 920275 920284 - CallExpression 920285 920416 - Identifier 920285 920310 - Identifier 920311 920324 - PropertyAccessExpression 920325 920350 - Identifier 920325 920335 - Identifier 920336 920350 - CallExpression 920351 920401 - Identifier 920351 920375 - PropertyAccessExpression 920376 920400 - Identifier 920376 920385 - Identifier 920386 920400 - Identifier 920402 920415 - IfStatement 920418 921046 - Identifier 920432 920454 - Block 920455 921046 - VariableStatement 920457 920578 - VariableDeclarationList 920457 920577 - VariableDeclaration 920476 920577 - Identifier 920476 920492 - CallExpression 920494 920577 - Identifier 920494 920528 - CallExpression 920529 920576 - Identifier 920529 920553 - Identifier 920554 920575 - IfStatement 920578 921035 - Identifier 920596 920611 - Block 920612 921035 - VariableStatement 920614 920691 - VariableDeclarationList 920614 920690 - VariableDeclaration 920637 920690 - Identifier 920637 920656 - CallExpression 920658 920690 - Identifier 920658 920673 - Identifier 920674 920689 - ExpressionStatement 920691 920768 - BinaryExpression 920691 920767 - PropertyAccessExpression 920691 920742 - Identifier 920691 920727 - Identifier 920728 920742 - EqualsToken 920742 920744 - Identifier 920744 920767 - VariableStatement 920768 920857 - VariableDeclarationList 920768 920856 - VariableDeclaration 920791 920856 - Identifier 920791 920816 - CallExpression 920818 920856 - Identifier 920818 920833 - Identifier 920834 920855 - ExpressionStatement 920857 920970 - BinaryExpression 920857 920969 - PropertyAccessExpression 920857 920918 - Identifier 920857 920899 - Identifier 920900 920918 - EqualsToken 920918 920920 - CallExpression 920920 920969 - Identifier 920920 920949 - Identifier 920950 920968 - ReturnStatement 920970 921020 - Identifier 920994 921019 - ReturnStatement 921046 921085 - Identifier 921062 921084 - FunctionDeclaration 921092 921653 - Identifier 921108 921163 - Parameter 921164 921184 - Identifier 921164 921173 - TypeReference 921174 921184 - Identifier 921174 921184 - Parameter 921185 921228 - Identifier 921185 921199 - UnionType 921200 921228 - TypeOperator 921200 921216 - ArrayType 921209 921216 - TypeReference 921209 921214 - Identifier 921209 921214 - UndefinedKeyword 921218 921228 - TypeReference 921230 921240 - Identifier 921230 921240 - Block 921240 921653 - VariableStatement 921242 921361 - VariableDeclarationList 921242 921360 - VariableDeclaration 921257 921360 - Identifier 921257 921272 - BinaryExpression 921274 921360 - PropertyAccessExpression 921274 921299 - Identifier 921274 921284 - Identifier 921285 921299 - BarBarToken 921299 921302 - ParenthesizedExpression 921302 921360 - BinaryExpression 921304 921359 - PropertyAccessExpression 921304 921328 - Identifier 921304 921313 - Identifier 921314 921328 - EqualsToken 921328 921330 - NewExpression 921330 921359 - Identifier 921334 921338 - StringKeyword 921339 921345 - TypeReference 921346 921356 - Identifier 921346 921356 - VariableStatement 921361 921411 - VariableDeclarationList 921361 921410 - VariableDeclaration 921376 921410 - Identifier 921376 921379 - CallExpression 921381 921410 - Identifier 921381 921395 - Identifier 921396 921409 - VariableStatement 921411 921464 - VariableDeclarationList 921411 921463 - VariableDeclaration 921424 921463 - Identifier 921424 921438 - CallExpression 921440 921463 - PropertyAccessExpression 921440 921459 - Identifier 921440 921455 - Identifier 921456 921459 - Identifier 921460 921462 - IfStatement 921464 921615 - PrefixUnaryExpression 921478 921492 - Identifier 921479 921492 - Block 921493 921615 - ExpressionStatement 921495 921604 - CallExpression 921495 921603 - PropertyAccessExpression 921495 921527 - Identifier 921495 921523 - Identifier 921524 921527 - Identifier 921528 921530 - BinaryExpression 921531 921602 - Identifier 921531 921545 - EqualsToken 921545 921547 - CallExpression 921547 921602 - Identifier 921547 921576 - Identifier 921577 921586 - Identifier 921587 921601 - ReturnStatement 921615 921646 - Identifier 921631 921645 - FunctionDeclaration 921653 921916 - Identifier 921669 921698 - Parameter 921699 921719 - Identifier 921699 921708 - TypeReference 921709 921719 - Identifier 921709 921719 - Parameter 921720 921763 - Identifier 921720 921734 - UnionType 921735 921763 - TypeOperator 921735 921751 - ArrayType 921744 921751 - TypeReference 921744 921749 - Identifier 921744 921749 - UndefinedKeyword 921753 921763 - TypeReference 921765 921775 - Identifier 921765 921775 - Block 921775 921916 - ReturnStatement 921777 921909 - CallExpression 921793 921908 - Identifier 921793 921814 - Identifier 921815 921824 - CallExpression 921825 921877 - Identifier 921825 921851 - Identifier 921852 921861 - Identifier 921862 921876 - TrueKeyword 921878 921907 - FunctionDeclaration 921916 922096 - Identifier 921932 921959 - Parameter 921960 921980 - Identifier 921960 921969 - TypeReference 921970 921980 - Identifier 921970 921980 - Block 921981 922096 - ReturnStatement 921983 922089 - CallExpression 921999 922088 - Identifier 921999 922007 - PropertyAccessExpression 922008 922032 - Identifier 922008 922017 - Identifier 922018 922032 - ArrowFunction 922033 922087 - Parameter 922033 922036 - Identifier 922033 922036 - EqualsGreaterThanToken 922036 922039 - ConditionalExpression 922039 922087 - PropertyAccessExpression 922039 922049 - Identifier 922039 922042 - Identifier 922043 922049 - QuestionToken 922049 922051 - CallExpression 922051 922082 - Identifier 922051 922067 - Identifier 922068 922070 - PropertyAccessExpression 922071 922081 - Identifier 922071 922074 - Identifier 922075 922081 - ColonToken 922082 922084 - Identifier 922084 922087 - FunctionDeclaration 922096 922314 - Identifier 922112 922138 - Parameter 922139 922159 - Identifier 922139 922148 - TypeReference 922149 922159 - Identifier 922149 922159 - Parameter 922160 922203 - Identifier 922160 922174 - UnionType 922175 922203 - TypeOperator 922175 922191 - ArrayType 922184 922191 - TypeReference 922184 922189 - Identifier 922184 922189 - UndefinedKeyword 922193 922203 - TypeReference 922205 922216 - Identifier 922205 922216 - Block 922216 922314 - ReturnStatement 922218 922307 - CallExpression 922234 922306 - Identifier 922234 922251 - NonNullExpression 922252 922290 - CallExpression 922252 922289 - Identifier 922252 922278 - Identifier 922279 922288 - Identifier 922291 922305 - FunctionDeclaration 922314 922575 - Identifier 922330 922349 - Parameter 922350 922370 - Identifier 922350 922359 - TypeReference 922360 922370 - Identifier 922360 922370 - TypeReference 922372 922382 - Identifier 922372 922382 - Block 922382 922575 - ReturnStatement 922384 922568 - ConditionalExpression 922400 922567 - PropertyAccessExpression 922400 922425 - Identifier 922400 922410 - Identifier 922411 922425 - QuestionToken 922425 922427 - BinaryExpression 922427 922542 - PropertyAccessExpression 922427 922471 - Identifier 922427 922450 - Identifier 922451 922471 - BarBarToken 922471 922474 - ParenthesizedExpression 922474 922542 - BinaryExpression 922476 922541 - PropertyAccessExpression 922476 922506 - Identifier 922476 922485 - Identifier 922486 922506 - EqualsToken 922506 922508 - CallExpression 922508 922541 - Identifier 922508 922530 - Identifier 922531 922540 - ColonToken 922542 922544 - Identifier 922544 922567 - FunctionDeclaration 922575 922864 - Identifier 922591 922613 - Parameter 922614 922634 - Identifier 922614 922623 - TypeReference 922624 922634 - Identifier 922624 922634 - Block 922635 922864 - ReturnStatement 922637 922857 - CallExpression 922749 922856 - Identifier 922749 922770 - Identifier 922771 922780 - CallExpression 922781 922825 - Identifier 922781 922798 - NonNullExpression 922799 922824 - PropertyAccessExpression 922799 922823 - Identifier 922799 922808 - Identifier 922809 922823 - TrueKeyword 922826 922855 - FunctionDeclaration 922864 923137 - Identifier 922880 922902 - Parameter 922903 922923 - Identifier 922903 922912 - TypeReference 922913 922923 - Identifier 922913 922923 - TypeReference 922925 922935 - Identifier 922925 922935 - Block 922935 923137 - ReturnStatement 922937 923130 - ConditionalExpression 922953 923129 - PropertyAccessExpression 922953 922978 - Identifier 922953 922963 - Identifier 922964 922978 - QuestionToken 922978 922980 - BinaryExpression 922980 923104 - PropertyAccessExpression 922980 923027 - Identifier 922980 923003 - Identifier 923004 923027 - BarBarToken 923027 923030 - ParenthesizedExpression 923030 923104 - BinaryExpression 923032 923103 - PropertyAccessExpression 923032 923065 - Identifier 923032 923041 - Identifier 923042 923065 - EqualsToken 923065 923067 - CallExpression 923067 923103 - Identifier 923067 923092 - Identifier 923093 923102 - ColonToken 923104 923106 - Identifier 923106 923129 - FunctionDeclaration 923137 924118 - Identifier 923153 923178 - Parameter 923179 923199 - Identifier 923179 923188 - TypeReference 923189 923199 - Identifier 923189 923199 - Block 923200 924118 - ReturnStatement 923202 924111 - CallExpression 923878 924110 - Identifier 923878 923904 - Identifier 923905 923928 - CallExpression 923929 924050 - Identifier 923929 923946 - PropertyAccessExpression 923947 923971 - Identifier 923947 923956 - Identifier 923957 923971 - ArrowFunction 923972 924049 - Parameter 923972 923975 - Identifier 923972 923975 - EqualsGreaterThanToken 923975 923978 - ConditionalExpression 923978 924049 - BinaryExpression 923978 924032 - PropertyAccessExpression 923978 923988 - Identifier 923978 923981 - Identifier 923982 923988 - AmpersandAmpersandToken 923988 923991 - PrefixUnaryExpression 923991 924032 - CallExpression 923993 924032 - Identifier 923993 924021 - PropertyAccessExpression 924022 924031 - Identifier 924022 924024 - Identifier 924025 924031 - QuestionToken 924032 924034 - PropertyAccessExpression 924034 924044 - Identifier 924034 924037 - Identifier 924038 924044 - ColonToken 924044 924046 - Identifier 924046 924049 - CallExpression 924051 924098 - Identifier 924051 924075 - PropertyAccessExpression 924076 924097 - Identifier 924076 924085 - Identifier 924086 924097 - FunctionDeclaration 924118 924358 - Identifier 924134 924161 - Parameter 924162 924182 - Identifier 924162 924171 - TypeReference 924172 924182 - Identifier 924172 924182 - Block 924183 924358 - ReturnStatement 924185 924351 - ConditionalExpression 924201 924350 - PropertyAccessExpression 924201 924226 - Identifier 924201 924211 - Identifier 924212 924226 - QuestionToken 924226 924228 - BinaryExpression 924228 924325 - PropertyAccessExpression 924228 924280 - Identifier 924228 924251 - Identifier 924252 924280 - BarBarEqualsToken 924280 924284 - CallExpression 924284 924325 - Identifier 924284 924314 - Identifier 924315 924324 - ColonToken 924325 924327 - Identifier 924327 924350 - FunctionDeclaration 924358 924549 - Identifier 924374 924404 - Parameter 924405 924425 - Identifier 924405 924414 - TypeReference 924415 924425 - Identifier 924415 924425 - Block 924426 924549 - ReturnStatement 924428 924542 - ConditionalExpression 924444 924541 - PropertyAccessExpression 924444 924469 - Identifier 924444 924454 - Identifier 924455 924469 - QuestionToken 924469 924471 - CallExpression 924471 924529 - Identifier 924471 924492 - Identifier 924493 924502 - CallExpression 924503 924528 - Identifier 924503 924520 - ArrayLiteralExpression 924521 924523 - ArrayLiteralExpression 924524 924527 - ColonToken 924529 924531 - Identifier 924531 924541 - FunctionDeclaration 924549 925948 - Identifier 924565 924582 - Parameter 924583 924603 - Identifier 924583 924592 - TypeReference 924593 924603 - Identifier 924593 924603 - Block 924604 925948 - VariableStatement 924606 924664 - VariableDeclarationList 924606 924663 - VariableDeclaration 924621 924663 - Identifier 924621 924636 - PropertyAccessExpression 924638 924663 - Identifier 924638 924648 - Identifier 924649 924663 - IfStatement 924664 925914 - Identifier 924678 924692 - Block 924693 925914 - IfStatement 924695 924813 - PropertyAccessExpression 924713 924741 - Identifier 924713 924722 - Identifier 924723 924741 - Block 924742 924813 - ReturnStatement 924744 924798 - PropertyAccessExpression 924768 924797 - Identifier 924768 924778 - Identifier 924779 924797 - VariableStatement 924813 924879 - VariableDeclarationList 924813 924878 - VariableDeclaration 924832 924878 - Identifier 924832 924843 - CallExpression 924845 924878 - Identifier 924845 924862 - Identifier 924863 924877 - VariableStatement 924879 925031 - VariableDeclarationList 924879 925030 - VariableDeclaration 924898 925030 - Identifier 924898 924919 - CallExpression 924921 925030 - Identifier 924921 924938 - Identifier 924939 924953 - CallExpression 924954 925029 - Identifier 924954 924958 - Identifier 924959 924973 - ArrowFunction 924974 925028 - Parameter 924974 924977 - Identifier 924974 924977 - EqualsGreaterThanToken 924977 924980 - BinaryExpression 924980 925028 - CallExpression 924980 925013 - Identifier 924980 925009 - Identifier 925010 925012 - BarBarToken 925013 925016 - Identifier 925016 925028 - VariableStatement 925031 925168 - VariableDeclarationList 925031 925167 - VariableDeclaration 925048 925167 - Identifier 925048 925064 - TypeOperator 925065 925081 - ArrayType 925074 925081 - TypeReference 925074 925079 - Identifier 925074 925079 - CallExpression 925083 925167 - Identifier 925083 925087 - Identifier 925088 925102 - ArrowFunction 925103 925166 - Parameter 925103 925106 - Identifier 925103 925106 - EqualsGreaterThanToken 925106 925109 - BinaryExpression 925109 925166 - CallExpression 925109 925151 - Identifier 925109 925125 - Identifier 925126 925128 - Identifier 925129 925150 - BarBarToken 925151 925154 - Identifier 925154 925166 - ForStatement 925168 925554 - VariableDeclarationList 925399 925408 - VariableDeclaration 925402 925408 - Identifier 925402 925404 - NumericLiteral 925406 925408 - BinaryExpression 925409 925439 - Identifier 925409 925411 - LessThanToken 925411 925413 - BinaryExpression 925413 925439 - PropertyAccessExpression 925413 925435 - Identifier 925413 925428 - Identifier 925429 925435 - MinusToken 925435 925437 - NumericLiteral 925437 925439 - PostfixUnaryExpression 925440 925444 - Identifier 925440 925442 - Block 925445 925554 - ExpressionStatement 925447 925539 - BinaryExpression 925447 925538 - Identifier 925447 925480 - EqualsToken 925480 925482 - CallExpression 925482 925538 - Identifier 925482 925499 - Identifier 925500 925515 - Identifier 925516 925537 - ExpressionStatement 925554 925738 - BinaryExpression 925554 925737 - Identifier 925554 925689 - EqualsToken 925689 925691 - CallExpression 925691 925737 - Identifier 925691 925708 - Identifier 925709 925724 - Identifier 925725 925736 - ReturnStatement 925738 925903 - BinaryExpression 925758 925902 - PropertyAccessExpression 925758 925787 - Identifier 925758 925768 - Identifier 925769 925787 - EqualsToken 925787 925789 - CallExpression 925789 925902 - Identifier 925789 925810 - Identifier 925811 925820 - CallExpression 925821 925871 - Identifier 925821 925838 - Identifier 925839 925853 - Identifier 925854 925870 - TrueKeyword 925872 925901 - ReturnStatement 925914 925941 - Identifier 925930 925940 - FunctionDeclaration 925948 928168 - Identifier 925964 925993 - Parameter 925994 926014 - Identifier 925994 926003 - TypeReference 926004 926014 - Identifier 926004 926014 - Parameter 926015 926053 - Identifier 926015 926035 - QuestionToken 926035 926036 - ArrayType 926037 926053 - TypeReference 926037 926051 - Identifier 926037 926051 - TypeReference 926055 926066 - Identifier 926055 926066 - Block 926066 928168 - IfStatement 926068 928110 - PrefixUnaryExpression 926453 926485 - PropertyAccessExpression 926454 926485 - Identifier 926454 926463 - Identifier 926464 926485 - Block 926486 928110 - VariableStatement 926488 926543 - VariableDeclarationList 926488 926542 - VariableDeclaration 926507 926542 - Identifier 926507 926512 - PropertyAccessExpression 926514 926542 - PropertyAccessExpression 926514 926536 - Identifier 926514 926524 - Identifier 926525 926536 - QuestionDotToken 926536 926538 - Identifier 926538 926542 - VariableStatement 926543 926822 - VariableDeclarationList 926543 926821 - VariableDeclaration 926670 926821 - Identifier 926670 926684 - BinaryExpression 926686 926821 - BinaryExpression 926686 926782 - BinaryExpression 926686 926740 - BinaryExpression 926686 926705 - Identifier 926686 926691 - EqualsEqualsEqualsToken 926691 926695 - Identifier 926695 926705 - BarBarToken 926705 926708 - BinaryExpression 926708 926740 - Identifier 926708 926713 - EqualsEqualsEqualsToken 926713 926717 - PropertyAccessExpression 926717 926740 - Identifier 926717 926728 - Identifier 926729 926740 - BarBarToken 926740 926743 - BinaryExpression 926743 926782 - Identifier 926743 926748 - EqualsEqualsEqualsToken 926748 926752 - PropertyAccessExpression 926752 926782 - Identifier 926752 926763 - Identifier 926764 926782 - BarBarToken 926782 926785 - BinaryExpression 926785 926821 - Identifier 926785 926790 - EqualsEqualsEqualsToken 926790 926794 - PropertyAccessExpression 926794 926821 - Identifier 926794 926805 - Identifier 926806 926821 - VariableStatement 926822 927216 - VariableDeclarationList 926822 927215 - VariableDeclaration 927046 927215 - Identifier 927046 927051 - AsExpression 927053 927215 - CallExpression 927053 927192 - Identifier 927053 927070 - BinaryExpression 927071 927126 - PropertyAccessExpression 927071 927092 - Identifier 927071 927082 - Identifier 927083 927092 - BarToken 927092 927094 - PropertyAccessExpression 927094 927126 - Identifier 927094 927106 - Identifier 927107 927126 - CallExpression 927127 927191 - Identifier 927127 927140 - PropertyAccessExpression 927141 927161 - Identifier 927141 927152 - Identifier 927153 927161 - PropertyAccessExpression 927162 927190 - Identifier 927162 927181 - Identifier 927182 927190 - TypeReference 927195 927215 - Identifier 927195 927215 - IfStatement 927216 927559 - BinaryExpression 927234 927300 - PropertyAccessExpression 927234 927255 - Identifier 927234 927243 - Identifier 927244 927255 - AmpersandAmpersandToken 927255 927258 - PrefixUnaryExpression 927258 927300 - CallExpression 927260 927300 - Identifier 927260 927277 - PropertyAccessExpression 927278 927299 - Identifier 927278 927287 - Identifier 927288 927299 - Block 927301 927559 - ExpressionStatement 927303 927473 - BinaryExpression 927303 927472 - PropertyAccessExpression 927303 927446 - PropertyAccessExpression 927303 927433 - Identifier 927303 927426 - Identifier 927427 927433 - Identifier 927434 927446 - EqualsToken 927446 927448 - ArrayLiteralExpression 927448 927472 - PropertyAccessExpression 927450 927471 - Identifier 927450 927459 - Identifier 927460 927471 - ExpressionStatement 927473 927544 - BinaryExpression 927473 927543 - PropertyAccessExpression 927473 927519 - PropertyAccessExpression 927473 927502 - Identifier 927473 927495 - Identifier 927496 927502 - Identifier 927503 927519 - EqualsToken 927519 927521 - PropertyAccessExpression 927521 927543 - Identifier 927521 927531 - Identifier 927532 927543 - ExpressionStatement 927559 927695 - BinaryExpression 927559 927694 - Identifier 927559 927592 - BarBarEqualsToken 927592 927596 - BinaryExpression 927596 927694 - PropertyAccessExpression 927596 927618 - Identifier 927596 927606 - Identifier 927607 927618 - AmpersandAmpersandToken 927618 927621 - CallExpression 927621 927694 - Identifier 927621 927644 - PropertyAccessExpression 927645 927666 - Identifier 927645 927654 - Identifier 927655 927666 - TrueKeyword 927667 927693 - ExpressionStatement 927695 927756 - BinaryExpression 927695 927755 - PropertyAccessExpression 927695 927733 - Identifier 927695 927713 - Identifier 927714 927733 - EqualsToken 927733 927735 - Identifier 927735 927755 - ExpressionStatement 927756 927800 - BinaryExpression 927756 927799 - PropertyAccessExpression 927756 927784 - Identifier 927756 927776 - Identifier 927777 927784 - EqualsToken 927784 927786 - Identifier 927786 927799 - ExpressionStatement 927800 927843 - BinaryExpression 927800 927842 - PropertyAccessExpression 927800 927829 - Identifier 927800 927818 - Identifier 927819 927829 - EqualsToken 927829 927831 - Identifier 927831 927842 - ExpressionStatement 927843 927921 - BinaryExpression 927843 927920 - PropertyAccessExpression 927843 927876 - Identifier 927843 927861 - Identifier 927862 927876 - EqualsToken 927876 927878 - ConditionalExpression 927878 927920 - PrefixUnaryExpression 927878 927893 - Identifier 927880 927893 - QuestionToken 927893 927895 - ArrayLiteralExpression 927895 927907 - Identifier 927897 927906 - ColonToken 927907 927909 - Identifier 927909 927920 - ExpressionStatement 927921 928003 - BinaryExpression 927921 928002 - PropertyAccessExpression 927921 927959 - Identifier 927921 927939 - Identifier 927940 927959 - EqualsToken 927959 927961 - ConditionalExpression 927961 928002 - Identifier 927961 927975 - QuestionToken 927975 927977 - ArrayLiteralExpression 927977 927989 - Identifier 927979 927988 - ColonToken 927989 927991 - Identifier 927991 928002 - ExpressionStatement 928003 928046 - BinaryExpression 928003 928045 - PropertyAccessExpression 928003 928032 - Identifier 928003 928021 - Identifier 928022 928032 - EqualsToken 928032 928034 - Identifier 928034 928045 - ExpressionStatement 928046 928099 - BinaryExpression 928046 928098 - PropertyAccessExpression 928046 928091 - Identifier 928046 928069 - Identifier 928070 928091 - EqualsToken 928091 928093 - Identifier 928093 928098 - ReturnStatement 928110 928161 - PropertyAccessExpression 928128 928160 - Identifier 928128 928138 - Identifier 928139 928160 - FunctionDeclaration 928168 928348 - Identifier 928184 928199 - Parameter 928200 928214 - Identifier 928200 928206 - TypeReference 928207 928214 - Identifier 928207 928214 - UnionType 928216 928235 - TypeReference 928216 928223 - Identifier 928216 928223 - UndefinedKeyword 928225 928235 - Block 928235 928348 - ReturnStatement 928237 928341 - ConditionalExpression 928253 928340 - PropertyAccessExpression 928253 928268 - Identifier 928253 928260 - Identifier 928261 928268 - QuestionToken 928268 928270 - CallExpression 928270 928328 - Identifier 928270 928300 - CallExpression 928301 928327 - Identifier 928301 928319 - Identifier 928320 928326 - ColonToken 928328 928330 - Identifier 928330 928340 - FunctionDeclaration 928348 928508 - Identifier 928364 928394 - Parameter 928395 928419 - Identifier 928395 928406 - TypeReference 928407 928419 - Identifier 928407 928419 - UnionType 928421 928440 - TypeReference 928421 928428 - Identifier 928421 928428 - UndefinedKeyword 928430 928440 - Block 928440 928508 - ReturnStatement 928442 928501 - CallExpression 928458 928500 - PropertyAccessExpression 928458 928474 - Identifier 928458 928470 - Identifier 928471 928474 - PropertyAccessExpression 928475 928499 - Identifier 928475 928493 - Identifier 928494 928499 - FunctionDeclaration 928508 928769 - Identifier 928524 928540 - Parameter 928541 928554 - Identifier 928541 928548 - TypeReference 928549 928554 - Identifier 928549 928554 - Parameter 928555 928566 - Identifier 928555 928560 - TypeReference 928561 928566 - Identifier 928561 928566 - Parameter 928567 928587 - Identifier 928567 928578 - BooleanKeyword 928579 928587 - Parameter 928588 928628 - Identifier 928588 928600 - QuestionToken 928600 928601 - TypeReference 928602 928628 - Identifier 928602 928628 - Parameter 928629 928676 - Identifier 928629 928640 - QuestionToken 928640 928641 - ArrayType 928642 928676 - TypeReference 928642 928674 - Identifier 928642 928674 - TypeReference 928678 928688 - Identifier 928678 928688 - Block 928688 928769 - ReturnStatement 928690 928762 - ObjectLiteralExpression 928706 928761 - ShorthandPropertyAssignment 928708 928716 - Identifier 928708 928716 - ShorthandPropertyAssignment 928717 928722 - Identifier 928717 928722 - ShorthandPropertyAssignment 928723 928734 - Identifier 928723 928734 - ShorthandPropertyAssignment 928735 928747 - Identifier 928735 928747 - ShorthandPropertyAssignment 928748 928759 - Identifier 928748 928759 - FunctionDeclaration 928769 929030 - Identifier 928785 928807 - Parameter 928808 928822 - Identifier 928808 928814 - TypeReference 928815 928822 - Identifier 928815 928822 - ArrayType 928824 928836 - TypeReference 928824 928834 - Identifier 928824 928834 - Block 928836 929030 - VariableStatement 928838 928891 - VariableDeclarationList 928838 928890 - VariableDeclaration 928853 928890 - Identifier 928853 928865 - CallExpression 928867 928890 - Identifier 928867 928882 - Identifier 928883 928889 - ReturnStatement 928891 929023 - ConditionalExpression 928907 929022 - Identifier 928907 928919 - QuestionToken 928919 928921 - CallExpression 928921 929009 - Identifier 928921 928948 - Identifier 928949 928960 - CallExpression 928961 929008 - Identifier 928961 928971 - CallExpression 928972 929007 - PropertyAccessExpression 928972 929005 - CallExpression 928972 928998 - Identifier 928972 928990 - Identifier 928991 928997 - Identifier 928999 929005 - ColonToken 929009 929011 - Identifier 929011 929022 - FunctionDeclaration 929030 933368 - Identifier 929147 929174 - Parameter 929175 929194 - Identifier 929175 929186 - TypeReference 929187 929194 - Identifier 929187 929194 - Parameter 929195 929326 - Identifier 929195 929210 - UnionType 929211 929232 - ArrayType 929211 929220 - TypeReference 929211 929218 - Identifier 929211 929218 - UndefinedKeyword 929222 929232 - ConditionalExpression 929234 929326 - PropertyAccessExpression 929234 929253 - Identifier 929234 929246 - Identifier 929247 929253 - QuestionToken 929253 929255 - CallExpression 929255 929314 - Identifier 929255 929265 - CallExpression 929266 929313 - PropertyAccessExpression 929266 929311 - CallExpression 929266 929304 - Identifier 929266 929284 - PropertyAccessExpression 929285 929303 - Identifier 929285 929296 - Identifier 929297 929303 - Identifier 929305 929311 - ColonToken 929314 929316 - Identifier 929316 929326 - ArrayType 929328 929340 - TypeReference 929328 929338 - Identifier 929328 929338 - Block 929340 933368 - IfStatement 929342 933333 - PropertyAccessExpression 929356 929380 - Identifier 929356 929367 - Identifier 929368 929380 - Block 929381 933333 - VariableStatement 929383 929432 - VariableDeclarationList 929383 929431 - VariableDeclaration 929402 929431 - Identifier 929402 929413 - ArrayType 929414 929426 - TypeReference 929414 929424 - Identifier 929414 929424 - ArrayLiteralExpression 929428 929431 - VariableStatement 929432 929484 - VariableDeclarationList 929432 929483 - VariableDeclaration 929449 929483 - Identifier 929449 929475 - FalseKeyword 929477 929483 - VariableStatement 929484 929540 - VariableDeclarationList 929484 929539 - VariableDeclaration 929501 929539 - Identifier 929501 929532 - TrueKeyword 929534 929539 - VariableStatement 929540 929592 - VariableDeclarationList 929540 929591 - VariableDeclaration 929557 929591 - Identifier 929557 929583 - FalseKeyword 929585 929591 - VariableStatement 929592 929648 - VariableDeclarationList 929592 929647 - VariableDeclaration 929609 929647 - Identifier 929609 929640 - TrueKeyword 929642 929647 - VariableStatement 929648 929700 - VariableDeclarationList 929648 929699 - VariableDeclaration 929665 929699 - Identifier 929665 929691 - FalseKeyword 929693 929699 - VariableStatement 929700 929756 - VariableDeclarationList 929700 929755 - VariableDeclaration 929717 929755 - Identifier 929717 929748 - TrueKeyword 929750 929755 - VariableStatement 929756 929815 - VariableDeclarationList 929756 929814 - VariableDeclaration 929775 929814 - Identifier 929775 929799 - ArrayType 929800 929809 - TypeReference 929800 929807 - Identifier 929800 929807 - ArrayLiteralExpression 929811 929814 - ForOfStatement 929815 932464 - VariableDeclarationList 929834 929851 - VariableDeclaration 929839 929851 - Identifier 929839 929851 - PropertyAccessExpression 929854 929879 - Identifier 929854 929866 - Identifier 929867 929879 - Block 929880 932464 - IfStatement 929882 932449 - CallExpression 929904 929944 - Identifier 929904 929931 - Identifier 929932 929943 - Block 929945 930684 - IfStatement 929947 930665 - BinaryExpression 929973 930008 - PropertyAccessExpression 929973 930002 - PropertyAccessExpression 929973 929995 - Identifier 929973 929984 - Identifier 929985 929995 - Identifier 929996 930002 - EqualsEqualsEqualsToken 930002 930006 - NumericLiteral 930006 930008 - Block 930009 930665 - VariableStatement 930011 930081 - VariableDeclarationList 930011 930080 - VariableDeclaration 930042 930080 - Identifier 930042 930052 - ElementAccessExpression 930054 930080 - PropertyAccessExpression 930054 930077 - Identifier 930054 930066 - Identifier 930067 930077 - NumericLiteral 930078 930079 - IfStatement 930081 930642 - PropertyAccessExpression 930111 930125 - Identifier 930111 930120 - Identifier 930121 930125 - Block 930126 930642 - ExpressionStatement 930128 930615 - CallExpression 930128 930614 - Identifier 930128 930169 - CallExpression 930170 930205 - Identifier 930170 930189 - PropertyAccessExpression 930190 930204 - Identifier 930190 930199 - Identifier 930200 930204 - ArrowFunction 930206 930613 - Parameter 930206 930214 - Identifier 930206 930214 - EqualsGreaterThanToken 930214 930217 - Block 930217 930613 - IfStatement 930219 930582 - BinaryExpression 930257 930324 - CallExpression 930257 930285 - Identifier 930257 930276 - Identifier 930277 930284 - AmpersandAmpersandToken 930285 930288 - PrefixUnaryExpression 930288 930324 - CallExpression 930290 930324 - Identifier 930290 930303 - Identifier 930304 930314 - Identifier 930315 930323 - Block 930325 930582 - ExpressionStatement 930327 930547 - CallExpression 930327 930546 - PropertyAccessExpression 930327 930380 - Identifier 930327 930375 - Identifier 930376 930380 - CallExpression 930381 930545 - Identifier 930381 930396 - Identifier 930397 930404 - ConditionalExpression 930405 930472 - PropertyAccessExpression 930405 930422 - Identifier 930405 930417 - Identifier 930418 930422 - QuestionToken 930422 930424 - CallExpression 930424 930462 - Identifier 930424 930444 - PropertyAccessExpression 930445 930461 - Identifier 930445 930456 - Identifier 930457 930461 - ColonToken 930462 930464 - Identifier 930464 930472 - CallExpression 930473 930531 - Identifier 930473 930494 - Identifier 930495 930506 - PropertyAccessExpression 930507 930530 - Identifier 930507 930521 - Identifier 930522 930530 - Identifier 930532 930544 - IfStatement 930706 932449 - CallExpression 930711 930753 - Identifier 930711 930740 - Identifier 930741 930752 - Block 930754 932449 - VariableStatement 930756 930918 - VariableDeclarationList 930756 930917 - VariableDeclaration 930783 930917 - Identifier 930783 930792 - ConditionalExpression 930794 930917 - CallExpression 930794 930826 - Identifier 930794 930813 - Identifier 930814 930825 - QuestionToken 930826 930828 - AsExpression 930828 930872 - PropertyAccessExpression 930828 930845 - Identifier 930828 930840 - Identifier 930841 930845 - TypeReference 930848 930872 - Identifier 930848 930872 - ColonToken 930872 930874 - PropertyAccessExpression 930874 930917 - ParenthesizedExpression 930874 930912 - AsExpression 930876 930911 - Identifier 930876 930887 - TypeReference 930890 930911 - Identifier 930890 930911 - Identifier 930913 930917 - VariableStatement 930918 931083 - VariableDeclarationList 930918 931082 - VariableDeclaration 930945 931082 - Identifier 930945 930953 - ConditionalExpression 930955 931082 - CallExpression 930955 930991 - Identifier 930955 930981 - Identifier 930982 930990 - QuestionToken 930991 930993 - CallExpression 930993 931044 - Identifier 930993 931015 - PropertyAccessExpression 931016 931043 - Identifier 931016 931024 - Identifier 931025 931043 - ColonToken 931044 931046 - CallExpression 931046 931082 - Identifier 931046 931072 - Identifier 931073 931081 - IfStatement 931083 931250 - CallExpression 931109 931143 - Identifier 931109 931122 - Identifier 931123 931133 - Identifier 931134 931142 - Block 931144 931250 - ContinueStatement 931146 931181 - IfStatement 931250 932430 - CallExpression 931276 931327 - Identifier 931276 931294 - Identifier 931295 931302 - Identifier 931303 931326 - Block 931328 932430 - IfStatement 931330 932332 - CallExpression 931360 931399 - Identifier 931360 931378 - Identifier 931379 931386 - Identifier 931387 931398 - Block 931400 931675 - ExpressionStatement 931402 931465 - BinaryExpression 931402 931464 - Identifier 931402 931457 - EqualsToken 931457 931459 - TrueKeyword 931459 931464 - IfStatement 931465 931648 - PrefixUnaryExpression 931499 931541 - CallExpression 931500 931541 - Identifier 931500 931528 - Identifier 931529 931540 - Block 931542 931648 - ExpressionStatement 931544 931617 - BinaryExpression 931544 931616 - Identifier 931544 931608 - EqualsToken 931608 931610 - FalseKeyword 931610 931616 - IfStatement 931705 932332 - CallExpression 931710 931751 - Identifier 931710 931728 - Identifier 931729 931736 - Identifier 931737 931750 - Block 931752 932027 - ExpressionStatement 931754 931817 - BinaryExpression 931754 931816 - Identifier 931754 931809 - EqualsToken 931809 931811 - TrueKeyword 931811 931816 - IfStatement 931817 932000 - PrefixUnaryExpression 931851 931893 - CallExpression 931852 931893 - Identifier 931852 931880 - Identifier 931881 931892 - Block 931894 932000 - ExpressionStatement 931896 931969 - BinaryExpression 931896 931968 - Identifier 931896 931960 - EqualsToken 931960 931962 - FalseKeyword 931962 931968 - Block 932057 932332 - ExpressionStatement 932059 932122 - BinaryExpression 932059 932121 - Identifier 932059 932114 - EqualsToken 932114 932116 - TrueKeyword 932116 932121 - IfStatement 932122 932305 - PrefixUnaryExpression 932156 932198 - CallExpression 932157 932198 - Identifier 932157 932185 - Identifier 932186 932197 - Block 932199 932305 - ExpressionStatement 932201 932274 - BinaryExpression 932201 932273 - Identifier 932201 932265 - EqualsToken 932265 932267 - FalseKeyword 932267 932273 - ExpressionStatement 932332 932407 - CallExpression 932332 932406 - PropertyAccessExpression 932332 932386 - Identifier 932332 932381 - Identifier 932382 932386 - PropertyAccessExpression 932387 932405 - Identifier 932387 932398 - Identifier 932399 932405 - VariableStatement 932464 932590 - VariableDeclarationList 932464 932589 - VariableDeclaration 932483 932589 - Identifier 932483 932502 - CallExpression 932504 932589 - Identifier 932504 932516 - Identifier 932517 932540 - CallExpression 932541 932588 - Identifier 932541 932548 - Identifier 932549 932563 - ArrowFunction 932564 932587 - Parameter 932564 932566 - Identifier 932564 932566 - EqualsGreaterThanToken 932566 932569 - BinaryExpression 932569 932587 - Identifier 932569 932571 - ExclamationEqualsEqualsToken 932571 932575 - Identifier 932575 932587 - IfStatement 932590 932892 - BinaryExpression 932713 932780 - Identifier 932713 932738 - AmpersandAmpersandToken 932738 932741 - PrefixUnaryExpression 932741 932780 - CallExpression 932743 932780 - Identifier 932743 932756 - Identifier 932757 932767 - Identifier 932768 932779 - ExpressionStatement 932781 932892 - CallExpression 932781 932891 - PropertyAccessExpression 932781 932797 - Identifier 932781 932792 - Identifier 932793 932797 - CallExpression 932798 932890 - Identifier 932798 932823 - Identifier 932824 932854 - NumericLiteral 932855 932857 - Identifier 932858 932877 - Identifier 932878 932889 - IfStatement 932892 933089 - BinaryExpression 932910 932977 - Identifier 932910 932935 - AmpersandAmpersandToken 932935 932938 - PrefixUnaryExpression 932938 932977 - CallExpression 932940 932977 - Identifier 932940 932953 - Identifier 932954 932964 - Identifier 932965 932976 - ExpressionStatement 932978 933089 - CallExpression 932978 933088 - PropertyAccessExpression 932978 932994 - Identifier 932978 932989 - Identifier 932990 932994 - CallExpression 932995 933087 - Identifier 932995 933020 - Identifier 933021 933051 - NumericLiteral 933052 933054 - Identifier 933055 933074 - Identifier 933075 933086 - IfStatement 933089 933290 - BinaryExpression 933107 933176 - Identifier 933107 933132 - AmpersandAmpersandToken 933132 933135 - PrefixUnaryExpression 933135 933176 - CallExpression 933137 933176 - Identifier 933137 933150 - Identifier 933151 933161 - Identifier 933162 933175 - ExpressionStatement 933177 933290 - CallExpression 933177 933289 - PropertyAccessExpression 933177 933193 - Identifier 933177 933188 - Identifier 933189 933193 - CallExpression 933194 933288 - Identifier 933194 933219 - Identifier 933220 933250 - NumericLiteral 933251 933253 - Identifier 933254 933273 - Identifier 933274 933287 - ReturnStatement 933290 933322 - Identifier 933310 933321 - ReturnStatement 933333 933361 - Identifier 933349 933360 - FunctionDeclaration 933368 933700 - Identifier 933384 933404 - Parameter 933405 933415 - Identifier 933405 933409 - TypeReference 933410 933415 - Identifier 933410 933415 - BooleanKeyword 933417 933425 - Block 933425 933700 - ReturnStatement 933427 933693 - BinaryExpression 933443 933692 - BinaryExpression 933443 933549 - PrefixUnaryExpression 933443 933519 - PrefixUnaryExpression 933445 933519 - ParenthesizedExpression 933446 933519 - BinaryExpression 933447 933518 - PropertyAccessExpression 933447 933457 - Identifier 933447 933451 - Identifier 933452 933457 - AmpersandToken 933457 933459 - ParenthesizedExpression 933459 933518 - BinaryExpression 933461 933517 - BinaryExpression 933461 933496 - PropertyAccessExpression 933461 933477 - Identifier 933461 933470 - Identifier 933471 933477 - BarToken 933477 933479 - PropertyAccessExpression 933479 933496 - Identifier 933479 933489 - Identifier 933490 933496 - BarToken 933496 933498 - PropertyAccessExpression 933498 933517 - Identifier 933498 933508 - Identifier 933509 933517 - BarBarToken 933519 933522 - CallExpression 933522 933549 - Identifier 933522 933543 - Identifier 933544 933548 - BarBarToken 933549 933552 - BinaryExpression 933552 933692 - BinaryExpression 933552 933629 - PrefixUnaryExpression 933552 933605 - PrefixUnaryExpression 933567 933605 - ParenthesizedExpression 933568 933605 - BinaryExpression 933569 933604 - PropertyAccessExpression 933569 933579 - Identifier 933569 933573 - Identifier 933574 933579 - AmpersandToken 933579 933581 - PropertyAccessExpression 933581 933604 - Identifier 933581 933591 - Identifier 933592 933604 - AmpersandAmpersandToken 933605 933608 - PrefixUnaryExpression 933608 933629 - CallExpression 933610 933629 - Identifier 933610 933623 - Identifier 933624 933628 - AmpersandAmpersandToken 933629 933632 - CallExpression 933632 933692 - Identifier 933632 933637 - PropertyAccessExpression 933638 933670 - ParenthesizedExpression 933638 933664 - AsExpression 933639 933663 - Identifier 933639 933643 - TypeReference 933646 933663 - Identifier 933646 933663 - Identifier 933665 933670 - Identifier 933671 933691 - FunctionDeclaration 933700 933940 - Identifier 933716 933741 - Parameter 933742 933761 - Identifier 933742 933746 - TypeReference 933747 933761 - Identifier 933747 933761 - UnionType 933763 933784 - TypeReference 933763 933772 - Identifier 933763 933772 - UndefinedKeyword 933774 933784 - Block 933784 933940 - ReturnStatement 933786 933933 - ElementAccessExpression 933802 933932 - CallExpression 933802 933929 - Identifier 933802 933813 - CallExpression 933814 933889 - Identifier 933814 933820 - BinaryExpression 933821 933860 - PropertyAccessExpression 933821 933832 - Identifier 933821 933825 - Identifier 933826 933832 - AmpersandAmpersandToken 933832 933835 - PropertyAccessExpression 933835 933860 - PropertyAccessExpression 933835 933847 - Identifier 933835 933840 - Identifier 933841 933847 - Identifier 933848 933860 - Identifier 933861 933888 - Identifier 933890 933928 - NumericLiteral 933930 933931 - FunctionDeclaration 933940 940053 - Identifier 933956 933991 - Parameter 933992 934020 - Identifier 933992 934005 - TypeReference 934006 934020 - Identifier 934006 934020 - Parameter 934021 934050 - Identifier 934021 934040 - QuestionToken 934040 934041 - BooleanKeyword 934042 934050 - Block 934051 940053 - VariableStatement 934053 934098 - VariableDeclarationList 934053 934097 - VariableDeclaration 934066 934097 - Identifier 934066 934077 - UnionType 934078 934097 - ArrayType 934078 934085 - TypeReference 934078 934083 - Identifier 934078 934083 - UndefinedKeyword 934087 934097 - IfStatement 934098 939983 - PropertyAccessExpression 934112 934146 - PropertyAccessExpression 934112 934132 - Identifier 934112 934125 - Identifier 934126 934132 - QuestionDotToken 934132 934134 - Identifier 934134 934146 - Block 934147 939983 - ForOfStatement 934149 939972 - VariableDeclarationList 934168 934185 - VariableDeclaration 934173 934185 - Identifier 934173 934185 - PropertyAccessExpression 934188 934222 - PropertyAccessExpression 934188 934209 - Identifier 934188 934202 - Identifier 934203 934209 - Identifier 934210 934222 - Block 934223 939972 - IfStatement 934225 939957 - BinaryExpression 934247 934295 - PropertyAccessExpression 934247 934270 - PropertyAccessExpression 934247 934265 - Identifier 934247 934258 - Identifier 934259 934265 - Identifier 934266 934270 - EqualsEqualsEqualsToken 934270 934274 - PropertyAccessExpression 934274 934295 - Identifier 934274 934285 - Identifier 934286 934295 - Block 934296 939957 - VariableStatement 934298 934858 - VariableDeclarationList 934298 934857 - VariableDeclaration 934728 934857 - ArrayBindingPattern 934728 934783 - BindingElement 934730 934769 - Identifier 934730 934748 - PropertyAccessExpression 934750 934769 - Identifier 934750 934762 - Identifier 934763 934769 - BindingElement 934770 934782 - Identifier 934770 934782 - CallExpression 934785 934857 - Identifier 934785 934830 - PropertyAccessExpression 934831 934856 - PropertyAccessExpression 934831 934849 - Identifier 934831 934842 - Identifier 934843 934849 - Identifier 934850 934856 - IfStatement 934858 939938 - BinaryExpression 934884 934952 - BinaryExpression 934884 934929 - PropertyAccessExpression 934884 934900 - Identifier 934884 934895 - Identifier 934896 934900 - EqualsEqualsEqualsToken 934900 934904 - PropertyAccessExpression 934904 934929 - Identifier 934904 934915 - Identifier 934916 934929 - AmpersandAmpersandToken 934929 934932 - PrefixUnaryExpression 934932 934952 - Identifier 934934 934952 - Block 934953 937004 - VariableStatement 934955 935036 - VariableDeclarationList 934955 935035 - VariableDeclaration 934986 935035 - Identifier 934986 935000 - AsExpression 935002 935035 - Identifier 935002 935014 - TypeReference 935017 935035 - Identifier 935017 935035 - VariableStatement 935036 935142 - VariableDeclarationList 935036 935141 - VariableDeclaration 935067 935141 - Identifier 935067 935082 - CallExpression 935084 935141 - Identifier 935084 935126 - Identifier 935127 935140 - IfStatement 935142 936981 - Identifier 935172 935186 - Block 935187 936981 - VariableStatement 935189 935302 - VariableDeclarationList 935189 935301 - VariableDeclaration 935224 935301 - Identifier 935224 935230 - CallExpression 935232 935301 - PropertyAccessExpression 935232 935269 - NonNullExpression 935232 935261 - PropertyAccessExpression 935232 935260 - Identifier 935232 935246 - Identifier 935247 935260 - Identifier 935262 935269 - AsExpression 935270 935300 - Identifier 935270 935288 - TypeReference 935291 935300 - Identifier 935291 935300 - IfStatement 935302 936954 - BinaryExpression 935336 935365 - Identifier 935336 935341 - LessThanToken 935341 935343 - PropertyAccessExpression 935343 935365 - Identifier 935343 935358 - Identifier 935359 935365 - Block 935366 936954 - VariableStatement 935368 935481 - VariableDeclarationList 935368 935480 - VariableDeclaration 935407 935480 - Identifier 935407 935426 - CallExpression 935428 935480 - Identifier 935428 935457 - ElementAccessExpression 935458 935479 - Identifier 935458 935472 - Identifier 935473 935478 - IfStatement 935481 936923 - Identifier 935519 935537 - Block 935538 936923 - VariableStatement 935540 936589 - VariableDeclarationList 935540 936588 - VariableDeclaration 936209 936588 - Identifier 936209 936216 - CallExpression 936218 936588 - Identifier 936218 936241 - Identifier 936242 936298 - CallExpression 936299 936548 - PropertyAccessExpression 936299 936359 - Identifier 936299 936355 - Identifier 936356 936359 - ArrowFunction 936360 936547 - Parameter 936361 936362 - Identifier 936361 936362 - Parameter 936363 936369 - Identifier 936363 936369 - EqualsGreaterThanToken 936370 936373 - ArrowFunction 936373 936547 - EqualsGreaterThanToken 936376 936379 - Block 936379 936547 - ReturnStatement 936381 936504 - CallExpression 936433 936503 - Identifier 936433 936465 - Identifier 936466 936479 - Identifier 936480 936495 - Identifier 936496 936502 - VariableStatement 936589 936690 - VariableDeclarationList 936589 936689 - VariableDeclaration 936632 936689 - Identifier 936632 936643 - CallExpression 936645 936689 - Identifier 936645 936661 - Identifier 936662 936680 - Identifier 936681 936688 - IfStatement 936690 936888 - BinaryExpression 936732 936760 - Identifier 936732 936742 - ExclamationEqualsEqualsToken 936742 936746 - Identifier 936746 936760 - Block 936761 936888 - ExpressionStatement 936763 936849 - BinaryExpression 936763 936848 - Identifier 936763 936815 - EqualsToken 936815 936817 - CallExpression 936817 936848 - Identifier 936817 936824 - Identifier 936825 936835 - Identifier 936836 936847 - IfStatement 937245 939938 - BinaryExpression 937250 937571 - BinaryExpression 937250 937442 - BinaryExpression 937250 937373 - BinaryExpression 937250 937317 - PropertyAccessExpression 937250 937292 - Identifier 937250 937287 - Identifier 937288 937292 - EqualsEqualsEqualsToken 937292 937296 - PropertyAccessExpression 937296 937317 - Identifier 937296 937307 - Identifier 937308 937317 - AmpersandAmpersandToken 937317 937320 - PropertyAccessExpression 937320 937373 - ParenthesizedExpression 937320 937358 - AsExpression 937322 937357 - Identifier 937322 937333 - TypeReference 937336 937357 - Identifier 937336 937357 - Identifier 937359 937373 - BarBarToken 937373 937376 - BinaryExpression 937376 937442 - PropertyAccessExpression 937376 937418 - Identifier 937376 937413 - Identifier 937414 937418 - EqualsEqualsEqualsToken 937418 937422 - PropertyAccessExpression 937422 937442 - Identifier 937422 937433 - Identifier 937434 937442 - BarBarToken 937442 937445 - BinaryExpression 937445 937571 - BinaryExpression 937445 937519 - PropertyAccessExpression 937445 937487 - Identifier 937445 937482 - Identifier 937483 937487 - EqualsEqualsEqualsToken 937487 937491 - PropertyAccessExpression 937491 937519 - Identifier 937491 937502 - Identifier 937503 937519 - AmpersandAmpersandToken 937519 937522 - PropertyAccessExpression 937522 937571 - ParenthesizedExpression 937522 937556 - AsExpression 937524 937555 - Identifier 937524 937535 - TypeReference 937538 937555 - Identifier 937538 937555 - Identifier 937557 937571 - Block 937594 937707 - ExpressionStatement 937596 937684 - BinaryExpression 937596 937683 - Identifier 937596 937632 - EqualsToken 937632 937634 - CallExpression 937634 937683 - Identifier 937634 937641 - Identifier 937642 937652 - CallExpression 937653 937682 - Identifier 937653 937669 - Identifier 937670 937681 - IfStatement 937895 939938 - BinaryExpression 937900 937955 - PropertyAccessExpression 937900 937916 - Identifier 937900 937911 - Identifier 937912 937916 - EqualsEqualsEqualsToken 937916 937920 - PropertyAccessExpression 937920 937955 - Identifier 937920 937931 - Identifier 937932 937955 - Block 937956 938051 - ExpressionStatement 937958 938028 - BinaryExpression 937958 938027 - Identifier 937958 937994 - EqualsToken 937994 937996 - CallExpression 937996 938027 - Identifier 937996 938003 - Identifier 938004 938014 - Identifier 938015 938026 - IfStatement 938238 939938 - BinaryExpression 938243 938341 - BinaryExpression 938243 938288 - PropertyAccessExpression 938243 938259 - Identifier 938243 938254 - Identifier 938255 938259 - EqualsEqualsEqualsToken 938259 938263 - PropertyAccessExpression 938263 938288 - Identifier 938263 938274 - Identifier 938275 938288 - AmpersandAmpersandToken 938288 938291 - BinaryExpression 938291 938341 - PropertyAccessExpression 938291 938315 - PropertyAccessExpression 938291 938310 - Identifier 938291 938303 - Identifier 938304 938310 - Identifier 938311 938315 - EqualsEqualsEqualsToken 938315 938319 - PropertyAccessExpression 938319 938341 - Identifier 938319 938330 - Identifier 938331 938341 - Block 938342 938449 - ExpressionStatement 938344 938426 - BinaryExpression 938344 938425 - Identifier 938344 938380 - EqualsToken 938380 938382 - CallExpression 938382 938425 - Identifier 938382 938389 - Identifier 938390 938400 - Identifier 938401 938424 - IfStatement 938786 939938 - BinaryExpression 938791 939358 - BinaryExpression 938791 939251 - BinaryExpression 938791 939163 - BinaryExpression 938791 939063 - BinaryExpression 938791 939005 - BinaryExpression 938791 938899 - BinaryExpression 938791 938859 - PropertyAccessExpression 938791 938833 - Identifier 938791 938828 - Identifier 938829 938833 - EqualsEqualsEqualsToken 938833 938837 - PropertyAccessExpression 938837 938859 - Identifier 938837 938848 - Identifier 938849 938859 - AmpersandAmpersandToken 938859 938862 - PropertyAccessExpression 938862 938899 - ParenthesizedExpression 938862 938894 - AsExpression 938864 938893 - Identifier 938864 938875 - TypeReference 938878 938893 - Identifier 938878 938893 - Identifier 938895 938899 - AmpersandAmpersandToken 938899 938902 - BinaryExpression 938902 939005 - CallExpression 938902 938982 - Identifier 938902 938943 - NonNullExpression 938944 938981 - PropertyAccessExpression 938944 938980 - ParenthesizedExpression 938944 938975 - AsExpression 938945 938974 - Identifier 938945 938956 - TypeReference 938959 938974 - Identifier 938959 938974 - Identifier 938976 938980 - EqualsEqualsEqualsToken 938982 938986 - PropertyAccessExpression 938986 939005 - Identifier 938986 938998 - Identifier 938999 939005 - AmpersandAmpersandToken 939005 939008 - BinaryExpression 939008 939063 - PropertyAccessExpression 939008 939032 - PropertyAccessExpression 939008 939027 - Identifier 939008 939020 - Identifier 939021 939027 - Identifier 939028 939032 - EqualsEqualsEqualsToken 939032 939036 - PropertyAccessExpression 939036 939063 - Identifier 939036 939047 - Identifier 939048 939063 - AmpersandAmpersandToken 939063 939066 - BinaryExpression 939066 939163 - PropertyAccessExpression 939066 939147 - ParenthesizedExpression 939066 939135 - AsExpression 939093 939134 - PropertyAccessExpression 939093 939111 - Identifier 939093 939104 - Identifier 939105 939111 - TypeReference 939114 939134 - Identifier 939114 939134 - Identifier 939136 939147 - EqualsEqualsEqualsToken 939147 939151 - Identifier 939151 939163 - AmpersandAmpersandToken 939163 939166 - BinaryExpression 939166 939251 - PropertyAccessExpression 939166 939225 - PropertyAccessExpression 939166 939220 - ParenthesizedExpression 939166 939210 - AsExpression 939168 939209 - PropertyAccessExpression 939168 939186 - Identifier 939168 939179 - Identifier 939180 939186 - TypeReference 939189 939209 - Identifier 939189 939209 - Identifier 939211 939220 - Identifier 939221 939225 - EqualsEqualsEqualsToken 939225 939229 - PropertyAccessExpression 939229 939251 - Identifier 939229 939240 - Identifier 939241 939251 - AmpersandAmpersandToken 939251 939254 - PropertyAccessExpression 939254 939358 - ParenthesizedExpression 939254 939353 - AsExpression 939281 939352 - PropertyAccessExpression 939281 939334 - ParenthesizedExpression 939281 939324 - AsExpression 939282 939323 - PropertyAccessExpression 939282 939300 - Identifier 939282 939293 - Identifier 939294 939300 - TypeReference 939303 939323 - Identifier 939303 939323 - Identifier 939325 939334 - TypeReference 939337 939352 - Identifier 939337 939352 - Identifier 939354 939358 - Block 939381 939938 - VariableStatement 939383 939505 - VariableDeclarationList 939383 939504 - VariableDeclaration 939414 939504 - Identifier 939414 939430 - AsExpression 939432 939504 - PropertyAccessExpression 939432 939486 - ParenthesizedExpression 939432 939476 - AsExpression 939434 939475 - PropertyAccessExpression 939434 939452 - Identifier 939434 939445 - Identifier 939446 939452 - TypeReference 939455 939475 - Identifier 939455 939475 - Identifier 939477 939486 - TypeReference 939489 939504 - Identifier 939489 939504 - VariableStatement 939505 939591 - VariableDeclarationList 939505 939590 - VariableDeclaration 939536 939590 - Identifier 939536 939545 - CallExpression 939547 939590 - Identifier 939547 939567 - NonNullExpression 939568 939589 - PropertyAccessExpression 939568 939588 - Identifier 939568 939583 - Identifier 939584 939588 - ExpressionStatement 939591 939915 - BinaryExpression 939591 939914 - Identifier 939591 939627 - EqualsToken 939627 939629 - CallExpression 939629 939914 - Identifier 939629 939636 - Identifier 939637 939647 - CallExpression 939648 939913 - Identifier 939648 939664 - Identifier 939665 939673 - CallExpression 939674 939912 - Identifier 939674 939694 - CallExpression 939695 939780 - Identifier 939695 939725 - CallExpression 939726 939779 - Identifier 939726 939748 - PropertyAccessExpression 939749 939778 - Identifier 939749 939764 - Identifier 939765 939778 - ConditionalExpression 939781 939911 - PropertyAccessExpression 939781 939822 - PropertyAccessExpression 939781 939811 - Identifier 939781 939797 - Identifier 939798 939811 - Identifier 939812 939822 - QuestionToken 939822 939824 - CallExpression 939824 939886 - Identifier 939824 939844 - PropertyAccessExpression 939845 939885 - PropertyAccessExpression 939845 939874 - Identifier 939845 939860 - Identifier 939861 939874 - Identifier 939875 939885 - ColonToken 939886 939888 - Identifier 939888 939911 - ReturnStatement 939983 940046 - BinaryExpression 939999 940045 - Identifier 939999 940010 - AmpersandAmpersandToken 940010 940013 - CallExpression 940013 940045 - Identifier 940013 940033 - Identifier 940034 940044 - FunctionDeclaration 940053 941716 - Identifier 940184 940215 - Parameter 940216 940244 - Identifier 940216 940229 - TypeReference 940230 940244 - Identifier 940230 940244 - UnionType 940246 940263 - TypeReference 940246 940251 - Identifier 940246 940251 - UndefinedKeyword 940253 940263 - Block 940263 941716 - IfStatement 940265 941607 - PrefixUnaryExpression 940279 940304 - PropertyAccessExpression 940280 940304 - Identifier 940280 940293 - Identifier 940294 940304 - Block 940305 941607 - IfStatement 940307 941596 - PropertyAccessExpression 940325 940345 - Identifier 940325 940338 - Identifier 940339 940345 - Block 940346 940596 - VariableStatement 940348 940442 - VariableDeclarationList 940348 940441 - VariableDeclaration 940371 940441 - Identifier 940371 940388 - CallExpression 940390 940441 - Identifier 940390 940419 - PropertyAccessExpression 940420 940440 - Identifier 940420 940433 - Identifier 940434 940440 - ExpressionStatement 940442 940581 - BinaryExpression 940442 940580 - PropertyAccessExpression 940442 940484 - Identifier 940442 940473 - Identifier 940474 940484 - EqualsToken 940484 940486 - ConditionalExpression 940486 940580 - Identifier 940486 940503 - QuestionToken 940503 940505 - CallExpression 940505 940561 - Identifier 940505 940521 - Identifier 940522 940538 - PropertyAccessExpression 940539 940560 - Identifier 940539 940553 - Identifier 940554 940560 - ColonToken 940561 940563 - Identifier 940563 940580 - Block 940614 941596 - VariableStatement 940616 940704 - VariableDeclarationList 940616 940703 - VariableDeclaration 940639 940703 - Identifier 940639 940661 - CallExpression 940663 940703 - Identifier 940663 940688 - Identifier 940689 940702 - IfStatement 940704 941581 - PrefixUnaryExpression 940726 940748 - Identifier 940727 940748 - Block 940749 940889 - ExpressionStatement 940751 940870 - BinaryExpression 940751 940869 - PropertyAccessExpression 940751 940797 - Identifier 940751 940786 - Identifier 940787 940797 - EqualsToken 940797 940799 - BinaryExpression 940799 940869 - CallExpression 940799 940849 - Identifier 940799 940834 - Identifier 940835 940848 - BarBarToken 940849 940852 - Identifier 940852 940869 - Block 940911 941581 - VariableStatement 940913 940989 - VariableDeclarationList 940913 940988 - VariableDeclaration 940938 940988 - Identifier 940938 940943 - CallExpression 940945 940988 - Identifier 940945 940965 - Identifier 940966 940987 - IfStatement 940989 941508 - BinaryExpression 941015 941063 - BinaryExpression 941015 941041 - PropertyAccessExpression 941015 941025 - Identifier 941015 941019 - Identifier 941020 941025 - AmpersandToken 941025 941027 - PropertyAccessExpression 941027 941041 - Identifier 941027 941037 - Identifier 941038 941041 - AmpersandAmpersandToken 941041 941044 - PrefixUnaryExpression 941044 941063 - CallExpression 941046 941063 - Identifier 941046 941057 - Identifier 941058 941062 - Block 941064 941508 - ExpressionStatement 941066 941485 - BinaryExpression 941066 941484 - Identifier 941066 941376 - EqualsToken 941376 941378 - ConditionalExpression 941378 941484 - BinaryExpression 941378 941445 - PropertyAccessExpression 941378 941419 - PropertyAccessExpression 941378 941414 - PropertyAccessExpression 941378 941407 - Identifier 941378 941400 - Identifier 941401 941407 - Identifier 941408 941414 - Identifier 941415 941419 - EqualsEqualsEqualsToken 941419 941423 - PropertyAccessExpression 941423 941445 - Identifier 941423 941434 - Identifier 941435 941445 - QuestionToken 941445 941447 - Identifier 941447 941470 - ColonToken 941470 941472 - Identifier 941472 941484 - ExpressionStatement 941508 941562 - BinaryExpression 941508 941561 - PropertyAccessExpression 941508 941554 - Identifier 941508 941543 - Identifier 941544 941554 - EqualsToken 941554 941556 - Identifier 941556 941561 - ReturnStatement 941607 941709 - ConditionalExpression 941623 941708 - BinaryExpression 941623 941669 - PropertyAccessExpression 941623 941648 - Identifier 941623 941637 - Identifier 941638 941648 - EqualsEqualsEqualsToken 941648 941652 - Identifier 941652 941669 - QuestionToken 941669 941671 - Identifier 941671 941681 - ColonToken 941681 941683 - PropertyAccessExpression 941683 941708 - Identifier 941683 941697 - Identifier 941698 941708 - FunctionDeclaration 941716 942105 - Identifier 941732 941763 - Parameter 941764 941792 - Identifier 941764 941777 - TypeReference 941778 941792 - Identifier 941778 941792 - UnionType 941794 941813 - TypeReference 941794 941801 - Identifier 941794 941801 - UndefinedKeyword 941803 941813 - Block 941813 942105 - VariableStatement 941815 941932 - VariableDeclarationList 941815 941931 - VariableDeclaration 941830 941931 - Identifier 941830 941833 - NonNullExpression 941835 941931 - CallExpression 941835 941930 - Identifier 941835 941856 - TypeReference 941857 941881 - Identifier 941857 941881 - PropertyAccessExpression 941883 941903 - Identifier 941883 941896 - Identifier 941897 941903 - PropertyAccessExpression 941904 941929 - Identifier 941904 941915 - Identifier 941916 941929 - VariableStatement 941932 942051 - VariableDeclarationList 941932 942050 - VariableDeclaration 941947 942050 - Identifier 941947 941952 - ConditionalExpression 941954 942050 - CallExpression 941954 941984 - Identifier 941954 941973 - PropertyAccessExpression 941974 941983 - Identifier 941974 941976 - Identifier 941977 941983 - QuestionToken 941984 941986 - CallExpression 941986 942038 - Identifier 941986 942027 - PropertyAccessExpression 942028 942037 - Identifier 942028 942030 - Identifier 942031 942037 - ColonToken 942038 942040 - PropertyAccessExpression 942040 942050 - Identifier 942040 942043 - Identifier 942044 942050 - ReturnStatement 942051 942098 - BinaryExpression 942067 942097 - Identifier 942067 942072 - AmpersandAmpersandToken 942072 942075 - CallExpression 942075 942097 - Identifier 942075 942091 - Identifier 942092 942096 - FunctionDeclaration 942105 942849 - Identifier 942121 942135 - Parameter 942136 942170 - Identifier 942136 942141 - UnionType 942142 942170 - TypeOperator 942142 942158 - ArrayType 942151 942158 - TypeReference 942151 942156 - Identifier 942151 942156 - UndefinedKeyword 942160 942170 - Block 942171 942849 - VariableStatement 942173 942199 - VariableDeclarationList 942173 942198 - VariableDeclaration 942186 942198 - Identifier 942186 942193 - StringLiteral 942195 942198 - IfStatement 942199 942818 - Identifier 942213 942218 - Block 942219 942818 - VariableStatement 942221 942263 - VariableDeclarationList 942221 942262 - VariableDeclaration 942240 942262 - Identifier 942240 942247 - PropertyAccessExpression 942249 942262 - Identifier 942249 942255 - Identifier 942256 942262 - VariableStatement 942263 942287 - VariableDeclarationList 942263 942286 - VariableDeclaration 942280 942286 - Identifier 942280 942282 - NumericLiteral 942284 942286 - WhileStatement 942287 942807 - BinaryExpression 942308 942318 - Identifier 942308 942309 - LessThanToken 942309 942311 - Identifier 942311 942318 - Block 942319 942807 - VariableStatement 942321 942367 - VariableDeclarationList 942321 942366 - VariableDeclaration 942344 942366 - Identifier 942344 942352 - PropertyAccessExpression 942354 942366 - ElementAccessExpression 942354 942363 - Identifier 942354 942360 - Identifier 942361 942362 - Identifier 942364 942366 - VariableStatement 942367 942399 - VariableDeclarationList 942367 942398 - VariableDeclaration 942388 942398 - Identifier 942388 942394 - NumericLiteral 942396 942398 - WhileStatement 942399 942537 - BinaryExpression 942424 942485 - BinaryExpression 942424 942442 - BinaryExpression 942424 942433 - Identifier 942424 942425 - PlusToken 942425 942427 - Identifier 942427 942433 - LessThanToken 942433 942435 - Identifier 942435 942442 - AmpersandAmpersandToken 942442 942445 - BinaryExpression 942445 942485 - PropertyAccessExpression 942445 942465 - ElementAccessExpression 942445 942462 - Identifier 942445 942451 - BinaryExpression 942452 942461 - Identifier 942452 942453 - PlusToken 942453 942455 - Identifier 942455 942461 - Identifier 942463 942465 - EqualsEqualsEqualsToken 942465 942469 - BinaryExpression 942469 942485 - Identifier 942469 942477 - PlusToken 942477 942479 - Identifier 942479 942485 - Block 942486 942537 - ExpressionStatement 942488 942518 - PostfixUnaryExpression 942488 942517 - Identifier 942488 942515 - IfStatement 942537 942630 - PropertyAccessExpression 942559 942572 - Identifier 942559 942565 - Identifier 942566 942572 - Block 942573 942630 - ExpressionStatement 942575 942611 - BinaryExpression 942575 942610 - Identifier 942575 942603 - PlusEqualsToken 942603 942606 - StringLiteral 942606 942610 - ExpressionStatement 942630 942666 - BinaryExpression 942630 942665 - Identifier 942630 942654 - PlusEqualsToken 942654 942657 - Identifier 942657 942665 - IfStatement 942666 942763 - BinaryExpression 942688 942697 - Identifier 942688 942693 - GreaterThanToken 942693 942695 - NumericLiteral 942695 942697 - Block 942698 942763 - ExpressionStatement 942700 942744 - BinaryExpression 942700 942743 - Identifier 942700 942728 - PlusEqualsToken 942728 942731 - BinaryExpression 942731 942743 - StringLiteral 942731 942735 - PlusToken 942735 942737 - Identifier 942737 942743 - ExpressionStatement 942763 942792 - BinaryExpression 942763 942791 - Identifier 942763 942782 - PlusEqualsToken 942782 942785 - Identifier 942785 942791 - ReturnStatement 942818 942842 - Identifier 942834 942841 - FunctionDeclaration 942849 943104 - Identifier 942865 942876 - Parameter 942877 942908 - Identifier 942877 942888 - UnionType 942889 942908 - TypeReference 942889 942896 - Identifier 942889 942896 - UndefinedKeyword 942898 942908 - Parameter 942909 942957 - Identifier 942909 942928 - UnionType 942929 942957 - TypeOperator 942929 942945 - ArrayType 942938 942945 - TypeReference 942938 942943 - Identifier 942938 942943 - UndefinedKeyword 942947 942957 - Block 942958 943104 - ReturnStatement 942960 943097 - ConditionalExpression 942976 943096 - Identifier 942976 942988 - QuestionToken 942988 942990 - BinaryExpression 942990 943091 - TemplateExpression 942990 943021 - TemplateHead 942990 942995 - TemplateSpan 942995 943021 - CallExpression 942995 943019 - Identifier 942995 943006 - Identifier 943007 943018 - TemplateTail 943019 943021 - PlusToken 943021 943023 - ParenthesizedExpression 943023 943091 - ConditionalExpression 943025 943090 - Identifier 943025 943043 - QuestionToken 943043 943045 - TemplateExpression 943045 943085 - TemplateHead 943045 943050 - TemplateSpan 943050 943085 - CallExpression 943050 943083 - Identifier 943050 943063 - Identifier 943064 943082 - TemplateTail 943083 943085 - ColonToken 943085 943087 - StringLiteral 943087 943090 - ColonToken 943091 943093 - StringLiteral 943093 943096 - FunctionDeclaration 943104 943935 - Identifier 943552 943579 - Parameter 943580 943602 - Identifier 943580 943585 - TypeOperator 943586 943602 - ArrayType 943595 943602 - TypeReference 943595 943600 - Identifier 943595 943600 - Parameter 943603 943628 - Identifier 943603 943616 - QuestionToken 943616 943617 - TypeReference 943618 943628 - Identifier 943618 943628 - TypeReference 943630 943642 - Identifier 943630 943642 - Block 943642 943935 - VariableStatement 943644 943682 - VariableDeclarationList 943644 943681 - VariableDeclaration 943657 943681 - Identifier 943657 943664 - TypeReference 943665 943677 - Identifier 943665 943677 - NumericLiteral 943679 943681 - ForOfStatement 943682 943873 - VariableDeclarationList 943697 943707 - VariableDeclaration 943702 943707 - Identifier 943702 943707 - Identifier 943710 943716 - Block 943717 943873 - IfStatement 943719 943862 - BinaryExpression 943737 943795 - BinaryExpression 943737 943763 - Identifier 943737 943749 - EqualsEqualsEqualsToken 943749 943753 - Identifier 943753 943763 - BarBarToken 943763 943766 - PrefixUnaryExpression 943766 943795 - ParenthesizedExpression 943768 943795 - BinaryExpression 943769 943794 - PropertyAccessExpression 943769 943779 - Identifier 943769 943773 - Identifier 943774 943779 - AmpersandToken 943779 943781 - Identifier 943781 943794 - Block 943796 943862 - ExpressionStatement 943798 943847 - BinaryExpression 943798 943846 - Identifier 943798 943822 - BarEqualsToken 943822 943825 - CallExpression 943825 943846 - Identifier 943825 943840 - Identifier 943841 943845 - ReturnStatement 943873 943928 - BinaryExpression 943889 943927 - Identifier 943889 943896 - AmpersandToken 943896 943898 - PropertyAccessExpression 943898 943927 - Identifier 943898 943910 - Identifier 943911 943927 - FunctionDeclaration 943935 944227 - Identifier 943951 943974 - Parameter 943975 943994 - Identifier 943975 943981 - TypeReference 943982 943994 - Identifier 943982 943994 - Parameter 943995 944038 - Identifier 943995 944009 - UnionType 944010 944038 - TypeOperator 944010 944026 - ArrayType 944019 944026 - TypeReference 944019 944024 - Identifier 944019 944024 - UndefinedKeyword 944028 944038 - TypeReference 944040 944045 - Identifier 944040 944045 - Block 944045 944227 - IfStatement 944047 944158 - BinaryExpression 944061 944111 - CallExpression 944061 944080 - Identifier 944061 944065 - Identifier 944066 944079 - AmpersandAmpersandToken 944080 944083 - BinaryExpression 944083 944111 - Identifier 944083 944090 - EqualsEqualsEqualsToken 944090 944094 - Identifier 944094 944111 - Block 944112 944158 - ReturnStatement 944114 944147 - Identifier 944134 944146 - ReturnStatement 944158 944220 - CallExpression 944176 944219 - Identifier 944176 944196 - Identifier 944197 944203 - Identifier 944204 944218 - FunctionDeclaration 944227 944839 - Identifier 944243 944263 - Parameter 944264 944283 - Identifier 944264 944270 - TypeReference 944271 944283 - Identifier 944271 944283 - Parameter 944284 944327 - Identifier 944284 944298 - UnionType 944299 944327 - TypeOperator 944299 944315 - ArrayType 944308 944315 - TypeReference 944308 944313 - Identifier 944308 944313 - UndefinedKeyword 944317 944327 - TypeReference 944329 944343 - Identifier 944329 944343 - Block 944343 944839 - VariableStatement 944345 944395 - VariableDeclarationList 944345 944394 - VariableDeclaration 944360 944394 - Identifier 944360 944363 - CallExpression 944365 944394 - Identifier 944365 944379 - Identifier 944380 944393 - VariableStatement 944395 944446 - VariableDeclarationList 944395 944445 - VariableDeclaration 944408 944445 - Identifier 944408 944413 - CallExpression 944415 944445 - PropertyAccessExpression 944415 944441 - PropertyAccessExpression 944415 944437 - Identifier 944415 944422 - Identifier 944423 944437 - Identifier 944438 944441 - Identifier 944442 944444 - IfStatement 944446 944810 - PrefixUnaryExpression 944460 944465 - Identifier 944461 944465 - Block 944466 944810 - ExpressionStatement 944468 944561 - BinaryExpression 944468 944560 - Identifier 944468 944486 - EqualsToken 944486 944488 - AsExpression 944488 944560 - CallExpression 944488 944543 - Identifier 944488 944505 - PropertyAccessExpression 944506 944527 - Identifier 944506 944517 - Identifier 944518 944527 - PropertyAccessExpression 944528 944542 - Identifier 944528 944535 - Identifier 944536 944542 - TypeReference 944546 944560 - Identifier 944546 944560 - ExpressionStatement 944561 944611 - CallExpression 944561 944610 - PropertyAccessExpression 944561 944600 - PropertyAccessExpression 944561 944596 - Identifier 944561 944581 - Identifier 944582 944596 - Identifier 944597 944600 - Identifier 944601 944603 - Identifier 944604 944609 - ExpressionStatement 944611 944707 - BinaryExpression 944611 944706 - PropertyAccessExpression 944611 944641 - Identifier 944611 944629 - Identifier 944630 944641 - BarEqualsToken 944641 944644 - ConditionalExpression 944644 944706 - Identifier 944644 944658 - QuestionToken 944658 944660 - CallExpression 944660 944702 - Identifier 944660 944687 - Identifier 944688 944701 - ColonToken 944702 944704 - NumericLiteral 944704 944706 - ExpressionStatement 944707 944742 - BinaryExpression 944707 944741 - PropertyAccessExpression 944707 944732 - Identifier 944707 944725 - Identifier 944726 944732 - EqualsToken 944732 944734 - Identifier 944734 944741 - ExpressionStatement 944742 944799 - BinaryExpression 944742 944798 - PropertyAccessExpression 944742 944782 - Identifier 944742 944760 - Identifier 944761 944782 - EqualsToken 944782 944784 - Identifier 944784 944798 - ReturnStatement 944810 944832 - Identifier 944826 944831 - FunctionDeclaration 944839 945187 - Identifier 944855 944874 - Parameter 944875 944896 - Identifier 944875 944881 - TypeReference 944882 944896 - Identifier 944882 944896 - TypeReference 944898 944912 - Identifier 944898 944912 - Block 944912 945187 - VariableStatement 944914 945004 - VariableDeclarationList 944914 945003 - VariableDeclaration 944929 945003 - Identifier 944929 944934 - AsExpression 944936 945003 - CallExpression 944936 944986 - Identifier 944936 944957 - PropertyAccessExpression 944958 944970 - Identifier 944958 944964 - Identifier 944965 944970 - PropertyAccessExpression 944971 944985 - Identifier 944971 944978 - Identifier 944979 944985 - TypeReference 944989 945003 - Identifier 944989 945003 - ExpressionStatement 945004 945052 - BinaryExpression 945004 945051 - PropertyAccessExpression 945004 945030 - Identifier 945004 945018 - Identifier 945019 945030 - EqualsToken 945030 945032 - PropertyAccessExpression 945032 945051 - Identifier 945032 945039 - Identifier 945040 945051 - ExpressionStatement 945052 945090 - BinaryExpression 945052 945089 - PropertyAccessExpression 945052 945073 - Identifier 945052 945066 - Identifier 945067 945073 - EqualsToken 945073 945075 - PropertyAccessExpression 945075 945089 - Identifier 945075 945082 - Identifier 945083 945089 - ExpressionStatement 945090 945158 - BinaryExpression 945090 945157 - PropertyAccessExpression 945090 945126 - Identifier 945090 945104 - Identifier 945105 945126 - EqualsToken 945126 945128 - PropertyAccessExpression 945128 945157 - Identifier 945128 945135 - Identifier 945136 945157 - ReturnStatement 945158 945180 - Identifier 945174 945179 - FunctionDeclaration 945187 946042 - Identifier 945203 945231 - Parameter 945232 945251 - Identifier 945232 945238 - TypeReference 945239 945251 - Identifier 945239 945251 - Parameter 945252 945308 - Identifier 945252 945257 - UnionType 945258 945308 - TypeReference 945258 945276 - Identifier 945258 945276 - TypeReference 945278 945292 - Identifier 945278 945292 - TypeReference 945294 945308 - Identifier 945294 945308 - Parameter 945309 945329 - Identifier 945309 945316 - QuestionToken 945316 945317 - TypeReference 945318 945329 - Identifier 945318 945329 - Parameter 945330 945351 - Identifier 945330 945342 - QuestionToken 945342 945343 - TypeReference 945344 945351 - Identifier 945344 945351 - Parameter 945352 945389 - Identifier 945352 945371 - QuestionToken 945371 945372 - TypeOperator 945373 945389 - ArrayType 945382 945389 - TypeReference 945382 945387 - Identifier 945382 945387 - TypeReference 945391 945413 - Identifier 945391 945413 - Block 945413 946042 - IfStatement 945415 945725 - PrefixUnaryExpression 945429 945441 - Identifier 945430 945441 - Block 945442 945725 - ExpressionStatement 945444 945504 - BinaryExpression 945444 945503 - Identifier 945444 945469 - EqualsToken 945469 945471 - CallExpression 945471 945503 - Identifier 945471 945497 - Identifier 945498 945502 - VariableStatement 945504 945594 - VariableDeclarationList 945504 945593 - VariableDeclaration 945523 945593 - Identifier 945523 945547 - CallExpression 945549 945593 - Identifier 945549 945580 - Identifier 945581 945592 - ExpressionStatement 945594 945714 - BinaryExpression 945594 945713 - Identifier 945594 945626 - EqualsToken 945626 945628 - ConditionalExpression 945628 945713 - Identifier 945628 945635 - QuestionToken 945635 945637 - CallExpression 945637 945687 - Identifier 945637 945654 - Identifier 945655 945678 - Identifier 945679 945686 - ColonToken 945687 945689 - Identifier 945689 945713 - VariableStatement 945725 945828 - VariableDeclarationList 945725 945827 - VariableDeclaration 945740 945827 - Identifier 945740 945745 - AsExpression 945747 945827 - CallExpression 945747 945802 - Identifier 945747 945764 - PropertyAccessExpression 945765 945786 - Identifier 945765 945776 - Identifier 945777 945786 - PropertyAccessExpression 945787 945801 - Identifier 945787 945794 - Identifier 945795 945801 - TypeReference 945805 945827 - Identifier 945805 945827 - ExpressionStatement 945828 945859 - BinaryExpression 945828 945858 - PropertyAccessExpression 945828 945849 - Identifier 945828 945842 - Identifier 945843 945849 - EqualsToken 945849 945851 - Identifier 945851 945858 - ExpressionStatement 945859 945886 - BinaryExpression 945859 945885 - PropertyAccessExpression 945859 945878 - Identifier 945859 945873 - Identifier 945874 945878 - EqualsToken 945878 945880 - Identifier 945880 945885 - ExpressionStatement 945886 945917 - BinaryExpression 945886 945916 - PropertyAccessExpression 945886 945907 - Identifier 945886 945900 - Identifier 945901 945907 - EqualsToken 945907 945909 - Identifier 945909 945916 - ExpressionStatement 945917 945958 - BinaryExpression 945917 945957 - PropertyAccessExpression 945917 945943 - Identifier 945917 945931 - Identifier 945932 945943 - EqualsToken 945943 945945 - Identifier 945945 945957 - ExpressionStatement 945958 946013 - BinaryExpression 945958 946012 - PropertyAccessExpression 945958 945991 - Identifier 945958 945972 - Identifier 945973 945991 - EqualsToken 945991 945993 - Identifier 945993 946012 - ReturnStatement 946013 946035 - Identifier 946029 946034 - FunctionDeclaration 946042 947608 - Identifier 946058 946075 - Parameter 946076 946095 - Identifier 946076 946080 - TypeReference 946081 946095 - Identifier 946081 946095 - TypeOperator 946097 946113 - ArrayType 946106 946113 - TypeReference 946106 946111 - Identifier 946106 946111 - Block 946113 947608 - IfStatement 946115 947557 - PrefixUnaryExpression 946129 946156 - PropertyAccessExpression 946130 946156 - Identifier 946130 946134 - Identifier 946135 946156 - Block 946157 947557 - IfStatement 946159 946405 - PrefixUnaryExpression 946177 946248 - CallExpression 946178 946248 - Identifier 946178 946196 - Identifier 946197 946201 - PropertyAccessExpression 946202 946247 - Identifier 946202 946225 - Identifier 946226 946247 - Block 946249 946405 - ReturnStatement 946251 946390 - BinaryExpression 946275 946389 - CallExpression 946275 946375 - Identifier 946275 946287 - PropertyAccessExpression 946288 946319 - PropertyAccessExpression 946288 946299 - Identifier 946288 946292 - Identifier 946293 946299 - Identifier 946300 946319 - CallExpression 946320 946374 - PropertyAccessExpression 946320 946357 - PropertyAccessExpression 946320 946352 - PropertyAccessExpression 946320 946332 - Identifier 946320 946325 - Identifier 946326 946332 - Identifier 946333 946352 - QuestionDotToken 946352 946354 - Identifier 946354 946357 - ArrowFunction 946358 946373 - EqualsGreaterThanToken 946360 946363 - Identifier 946363 946373 - BarBarToken 946375 946378 - Identifier 946378 946389 - VariableStatement 946405 946442 - VariableDeclarationList 946405 946441 - VariableDeclaration 946424 946441 - Identifier 946424 946429 - PropertyAccessExpression 946431 946441 - Identifier 946431 946436 - Identifier 946437 946441 - VariableStatement 946442 946824 - VariableDeclarationList 946442 946823 - VariableDeclaration 946461 946823 - Identifier 946461 946475 - ConditionalExpression 946477 946823 - PrefixUnaryExpression 946477 946483 - Identifier 946479 946483 - QuestionToken 946483 946485 - Identifier 946485 946496 - ColonToken 946496 946498 - ConditionalExpression 946498 946823 - BinaryExpression 946498 946554 - PropertyAccessExpression 946498 946525 - Identifier 946498 946520 - Identifier 946521 946525 - EqualsEqualsEqualsToken 946525 946529 - PropertyAccessExpression 946529 946554 - Identifier 946529 946540 - Identifier 946541 946554 - QuestionToken 946554 946556 - CallExpression 946556 946668 - Identifier 946556 946568 - PropertyAccessExpression 946569 946600 - PropertyAccessExpression 946569 946580 - Identifier 946569 946573 - Identifier 946574 946580 - Identifier 946581 946600 - CallExpression 946601 946667 - Identifier 946601 946627 - Identifier 946628 946632 - NonNullExpression 946633 946666 - PropertyAccessExpression 946633 946665 - PropertyAccessExpression 946633 946645 - Identifier 946633 946638 - Identifier 946639 946645 - Identifier 946646 946665 - ColonToken 946668 946670 - ConditionalExpression 946670 946823 - BinaryExpression 946670 946722 - PropertyAccessExpression 946670 946697 - Identifier 946670 946692 - Identifier 946693 946697 - EqualsEqualsEqualsToken 946697 946701 - PropertyAccessExpression 946701 946722 - Identifier 946701 946712 - Identifier 946713 946722 - QuestionToken 946722 946724 - ArrayLiteralExpression 946724 946764 - CallExpression 946726 946763 - Identifier 946726 946745 - PropertyAccessExpression 946746 946762 - Identifier 946746 946750 - Identifier 946751 946762 - ColonToken 946764 946766 - CallExpression 946766 946823 - Identifier 946766 946787 - PropertyAccessExpression 946788 946801 - Identifier 946788 946792 - Identifier 946793 946801 - Identifier 946802 946822 - IfStatement 946824 947546 - CallExpression 946842 946861 - Identifier 946842 946859 - Block 946862 947003 - ExpressionStatement 946864 946988 - BinaryExpression 946864 946987 - PropertyAccessExpression 946864 946908 - Identifier 946864 946886 - Identifier 946887 946908 - QuestionQuestionEqualsToken 946908 946912 - ConditionalExpression 946912 946987 - PropertyAccessExpression 946912 946924 - Identifier 946912 946917 - Identifier 946918 946924 - QuestionToken 946924 946926 - CallExpression 946926 946971 - Identifier 946926 946943 - Identifier 946944 946957 - PropertyAccessExpression 946958 946970 - Identifier 946958 946963 - Identifier 946964 946970 - ColonToken 946971 946973 - Identifier 946973 946987 - Block 947021 947546 - ExpressionStatement 947023 947186 - BinaryExpression 947023 947185 - PropertyAccessExpression 947023 947067 - Identifier 947023 947045 - Identifier 947046 947067 - QuestionQuestionEqualsToken 947067 947071 - CallExpression 947071 947185 - Identifier 947071 947083 - PropertyAccessExpression 947084 947115 - PropertyAccessExpression 947084 947095 - Identifier 947084 947088 - Identifier 947089 947095 - Identifier 947096 947115 - BinaryExpression 947116 947184 - CallExpression 947116 947170 - PropertyAccessExpression 947116 947153 - PropertyAccessExpression 947116 947148 - PropertyAccessExpression 947116 947128 - Identifier 947116 947121 - Identifier 947122 947128 - Identifier 947129 947148 - QuestionDotToken 947148 947150 - Identifier 947150 947153 - ArrowFunction 947154 947169 - EqualsGreaterThanToken 947156 947159 - Identifier 947159 947169 - BarBarToken 947170 947173 - Identifier 947173 947184 - ExpressionStatement 947186 947531 - CallExpression 947186 947530 - Identifier 947186 947209 - BinaryExpression 947210 947256 - PropertyAccessExpression 947210 947241 - Identifier 947210 947236 - Identifier 947237 947241 - BarBarToken 947241 947244 - Identifier 947244 947256 - ConditionalExpression 947257 947431 - PropertyAccessExpression 947257 947297 - PropertyAccessExpression 947257 947290 - Identifier 947257 947283 - Identifier 947284 947290 - Identifier 947291 947297 - QuestionToken 947297 947299 - PropertyAccessExpression 947299 947364 - Identifier 947299 947311 - Identifier 947312 947364 - ColonToken 947364 947366 - PropertyAccessExpression 947366 947431 - Identifier 947366 947378 - Identifier 947379 947431 - BinaryExpression 947432 947510 - PropertyAccessExpression 947432 947472 - PropertyAccessExpression 947432 947465 - Identifier 947432 947458 - Identifier 947459 947465 - Identifier 947466 947472 - AmpersandAmpersandToken 947472 947475 - CallExpression 947475 947510 - Identifier 947475 947490 - PropertyAccessExpression 947491 947509 - PropertyAccessExpression 947491 947502 - Identifier 947491 947495 - Identifier 947496 947502 - Identifier 947503 947509 - ReturnStatement 947557 947601 - PropertyAccessExpression 947573 947600 - Identifier 947573 947578 - Identifier 947579 947600 - FunctionDeclaration 947608 947736 - Identifier 947624 947646 - Parameter 947647 947666 - Identifier 947647 947651 - TypeReference 947652 947666 - Identifier 947652 947666 - NumberKeyword 947668 947675 - Block 947675 947736 - ReturnStatement 947677 947729 - CallExpression 947693 947728 - Identifier 947693 947700 - PropertyAccessExpression 947701 947727 - PropertyAccessExpression 947701 947712 - Identifier 947701 947705 - Identifier 947706 947712 - Identifier 947713 947727 - FunctionDeclaration 947736 950582 - Identifier 947844 947881 - Parameter 947882 947909 - Identifier 947882 947886 - TypeReference 947887 947909 - Identifier 947887 947909 - Parameter 947910 947925 - Identifier 947910 947917 - TypeReference 947918 947925 - Identifier 947918 947925 - TypeReference 947927 947932 - Identifier 947927 947932 - Block 947932 950582 - VariableStatement 947934 948023 - VariableDeclarationList 947934 948022 - VariableDeclaration 947949 948022 - Identifier 947949 947954 - AsExpression 947956 948022 - CallExpression 947956 948005 - Identifier 947956 947980 - CallExpression 947981 948004 - Identifier 947981 947996 - Identifier 947997 948003 - TypeReference 948008 948022 - Identifier 948008 948022 - VariableStatement 948023 948081 - VariableDeclarationList 948023 948080 - VariableDeclaration 948038 948080 - Identifier 948038 948053 - PropertyAccessExpression 948055 948080 - Identifier 948055 948060 - Identifier 948061 948080 - IfStatement 948081 950504 - Identifier 948095 948109 - Block 948110 950504 - VariableStatement 948112 948178 - VariableDeclarationList 948112 948177 - VariableDeclaration 948131 948177 - Identifier 948131 948148 - CallExpression 948150 948177 - Identifier 948150 948157 - PropertyAccessExpression 948158 948176 - Identifier 948158 948162 - Identifier 948163 948176 - VariableStatement 948178 948261 - VariableDeclarationList 948178 948260 - VariableDeclaration 948197 948260 - Identifier 948197 948218 - CallExpression 948220 948260 - Identifier 948220 948244 - Identifier 948245 948259 - VariableStatement 948261 948305 - VariableDeclarationList 948261 948304 - VariableDeclaration 948280 948304 - Identifier 948280 948285 - CallExpression 948287 948304 - Identifier 948287 948298 - Identifier 948299 948303 - VariableStatement 948305 948366 - VariableDeclarationList 948305 948365 - VariableDeclaration 948324 948365 - Identifier 948324 948340 - BinaryExpression 948342 948365 - PrefixUnaryExpression 948342 948357 - Identifier 948344 948357 - AmpersandAmpersandToken 948357 948360 - Identifier 948360 948365 - IfStatement 948366 949639 - BinaryExpression 948384 948489 - PrefixUnaryExpression 948384 948400 - Identifier 948385 948400 - AmpersandAmpersandToken 948400 948403 - ParenthesizedExpression 948403 948489 - BinaryExpression 948405 948488 - BinaryExpression 948405 948444 - Identifier 948405 948421 - LessThanToken 948421 948423 - Identifier 948423 948444 - BarBarToken 948444 948447 - BinaryExpression 948447 948488 - Identifier 948447 948464 - GreaterThanToken 948464 948466 - PropertyAccessExpression 948466 948488 - Identifier 948466 948481 - Identifier 948482 948488 - Block 948490 949639 - VariableStatement 948492 948617 - VariableDeclarationList 948492 948616 - VariableDeclaration 948515 948616 - Identifier 948515 948534 - BinaryExpression 948536 948616 - BinaryExpression 948536 948580 - Identifier 948536 948541 - AmpersandAmpersandToken 948541 948544 - CallExpression 948544 948580 - Identifier 948544 948574 - Identifier 948575 948579 - AmpersandAmpersandToken 948580 948583 - PrefixUnaryExpression 948583 948616 - CallExpression 948585 948616 - Identifier 948585 948603 - PropertyAccessExpression 948604 948615 - Identifier 948604 948608 - Identifier 948609 948615 - VariableStatement 948617 949146 - VariableDeclarationList 948617 949145 - VariableDeclaration 948640 949145 - Identifier 948640 948645 - ConditionalExpression 948647 949145 - BinaryExpression 948647 948694 - Identifier 948647 948668 - EqualsEqualsEqualsToken 948668 948672 - PropertyAccessExpression 948672 948694 - Identifier 948672 948687 - Identifier 948688 948694 - QuestionToken 948694 948696 - ConditionalExpression 948696 948916 - Identifier 948696 948736 - QuestionToken 948736 948738 - PropertyAccessExpression 948738 948835 - Identifier 948738 948775 - Identifier 948776 948835 - ColonToken 948835 948837 - PropertyAccessExpression 948837 948916 - Identifier 948837 948874 - Identifier 948875 948916 - ColonToken 948916 948918 - ConditionalExpression 948918 949145 - Identifier 948918 948958 - QuestionToken 948958 948960 - PropertyAccessExpression 948960 949055 - Identifier 948960 948993 - Identifier 948994 949055 - ColonToken 949055 949057 - PropertyAccessExpression 949057 949145 - Identifier 949057 949090 - Identifier 949091 949145 - VariableStatement 949146 949278 - VariableDeclarationList 949146 949277 - VariableDeclaration 949171 949277 - Identifier 949171 949179 - CallExpression 949181 949277 - Identifier 949181 949194 - Identifier 949195 949199 - Identifier 949200 949235 - PropertyAccessExpression 949236 949276 - Identifier 949236 949252 - Identifier 949253 949276 - ExpressionStatement 949278 949368 - CallExpression 949278 949367 - Identifier 949278 949301 - Identifier 949302 949306 - Identifier 949307 949312 - Identifier 949313 949321 - Identifier 949322 949343 - PropertyAccessExpression 949344 949366 - Identifier 949344 949359 - Identifier 949360 949366 - IfStatement 949368 949624 - PrefixUnaryExpression 949390 949395 - Identifier 949391 949395 - Block 949396 949624 - ReturnStatement 949398 949605 - Identifier 949594 949604 - IfStatement 949639 949948 - BinaryExpression 949657 949807 - BinaryExpression 949657 949695 - PropertyAccessExpression 949657 949666 - Identifier 949657 949661 - Identifier 949662 949666 - EqualsEqualsEqualsToken 949666 949670 - PropertyAccessExpression 949670 949695 - Identifier 949670 949681 - Identifier 949682 949695 - AmpersandAmpersandToken 949695 949698 - CallExpression 949698 949807 - Identifier 949698 949726 - AsExpression 949727 949752 - Identifier 949727 949731 - TypeReference 949734 949752 - Identifier 949734 949752 - BinaryExpression 949753 949806 - CallExpression 949753 949780 - Identifier 949753 949760 - PropertyAccessExpression 949761 949779 - Identifier 949761 949765 - Identifier 949766 949779 - ExclamationEqualsEqualsToken 949780 949784 - PropertyAccessExpression 949784 949806 - Identifier 949784 949799 - Identifier 949800 949806 - Block 949808 949948 - ReturnStatement 949810 949933 - CallExpression 949834 949932 - Identifier 949834 949862 - AsExpression 949863 949882 - Identifier 949863 949867 - TypeReference 949870 949882 - Identifier 949870 949882 - AsExpression 949883 949909 - Identifier 949883 949888 - TypeReference 949891 949909 - Identifier 949891 949909 - Identifier 949910 949931 - VariableStatement 949948 950416 - VariableDeclarationList 949948 950415 - VariableDeclaration 950249 950415 - Identifier 950249 950263 - CallExpression 950265 950415 - Identifier 950265 950277 - PropertyAccessExpression 950278 950302 - Identifier 950278 950282 - Identifier 950283 950302 - CallExpression 950303 950414 - Identifier 950303 950328 - CallExpression 950329 950369 - Identifier 950329 950363 - Identifier 950364 950368 - Identifier 950370 950385 - Identifier 950386 950407 - Identifier 950408 950413 - ReturnStatement 950416 950493 - CallExpression 950436 950492 - Identifier 950436 950456 - AsExpression 950457 950476 - Identifier 950457 950461 - TypeReference 950464 950476 - Identifier 950464 950476 - Identifier 950477 950491 - ReturnStatement 950504 950575 - ConditionalExpression 950520 950574 - CallExpression 950520 950555 - Identifier 950520 950541 - Identifier 950542 950546 - Identifier 950547 950554 - QuestionToken 950555 950557 - Identifier 950557 950562 - ColonToken 950562 950564 - Identifier 950564 950574 - FunctionDeclaration 950582 951832 - Identifier 950598 950624 - Parameter 950625 950639 - Identifier 950625 950631 - TypeReference 950632 950639 - Identifier 950632 950639 - Parameter 950640 950683 - Identifier 950640 950654 - UnionType 950655 950683 - TypeOperator 950655 950671 - ArrayType 950664 950671 - TypeReference 950664 950669 - Identifier 950664 950669 - UndefinedKeyword 950673 950683 - Parameter 950684 950705 - Identifier 950684 950696 - QuestionToken 950696 950697 - TypeReference 950698 950705 - Identifier 950698 950705 - Parameter 950706 950743 - Identifier 950706 950725 - QuestionToken 950725 950726 - TypeOperator 950727 950743 - ArrayType 950736 950743 - TypeReference 950736 950741 - Identifier 950736 950741 - TypeReference 950745 950750 - Identifier 950745 950750 - Block 950750 951832 - VariableStatement 950752 950807 - VariableDeclarationList 950752 950806 - VariableDeclaration 950767 950806 - Identifier 950767 950772 - CallExpression 950774 950806 - Identifier 950774 950798 - Identifier 950799 950805 - IfStatement 950807 951200 - BinaryExpression 950821 950849 - Identifier 950821 950825 - EqualsEqualsEqualsToken 950825 950829 - Identifier 950829 950849 - Block 950850 951200 - VariableStatement 950852 950936 - VariableDeclarationList 950852 950935 - VariableDeclaration 950871 950935 - Identifier 950871 950880 - CallExpression 950882 950935 - PropertyAccessExpression 950882 950905 - Identifier 950882 950901 - Identifier 950902 950905 - AsExpression 950906 950934 - PropertyAccessExpression 950906 950924 - Identifier 950906 950912 - Identifier 950913 950924 - StringKeyword 950927 950934 - IfStatement 950936 951189 - BinaryExpression 950954 951023 - BinaryExpression 950954 950993 - BinaryExpression 950954 950976 - Identifier 950954 950962 - ExclamationEqualsEqualsToken 950962 950966 - Identifier 950966 950976 - AmpersandAmpersandToken 950976 950979 - Identifier 950979 950993 - AmpersandAmpersandToken 950993 950996 - BinaryExpression 950996 951023 - PropertyAccessExpression 950996 951017 - Identifier 950996 951010 - Identifier 951011 951017 - EqualsEqualsEqualsToken 951017 951021 - NumericLiteral 951021 951023 - Block 951024 951189 - ReturnStatement 951026 951174 - ConditionalExpression 951050 951173 - BinaryExpression 951050 951089 - Identifier 951050 951059 - EqualsEqualsEqualsToken 951059 951063 - PropertyAccessExpression 951063 951089 - Identifier 951063 951081 - Identifier 951082 951089 - QuestionToken 951089 951091 - CallExpression 951091 951124 - Identifier 951091 951106 - ElementAccessExpression 951107 951123 - Identifier 951107 951120 - NumericLiteral 951121 951122 - ColonToken 951124 951126 - CallExpression 951126 951173 - Identifier 951126 951147 - Identifier 951148 951154 - ElementAccessExpression 951155 951172 - Identifier 951155 951169 - NumericLiteral 951170 951171 - VariableStatement 951200 951247 - VariableDeclarationList 951200 951246 - VariableDeclaration 951215 951246 - Identifier 951215 951221 - CallExpression 951223 951246 - Identifier 951223 951238 - Identifier 951239 951245 - VariableStatement 951247 951302 - VariableDeclarationList 951247 951301 - VariableDeclaration 951262 951301 - Identifier 951262 951277 - NonNullExpression 951279 951301 - PropertyAccessExpression 951279 951300 - Identifier 951279 951285 - Identifier 951286 951300 - VariableStatement 951302 951398 - VariableDeclarationList 951302 951397 - VariableDeclaration 951317 951397 - Identifier 951317 951320 - BinaryExpression 951322 951397 - CallExpression 951322 951351 - Identifier 951322 951336 - Identifier 951337 951350 - PlusToken 951351 951353 - CallExpression 951353 951397 - Identifier 951353 951364 - Identifier 951365 951376 - Identifier 951377 951396 - VariableStatement 951398 951458 - VariableDeclarationList 951398 951457 - VariableDeclaration 951411 951457 - Identifier 951411 951425 - CallExpression 951427 951457 - PropertyAccessExpression 951427 951453 - NonNullExpression 951427 951449 - PropertyAccessExpression 951427 951448 - Identifier 951427 951433 - Identifier 951434 951448 - Identifier 951450 951453 - Identifier 951454 951456 - IfStatement 951458 951794 - PrefixUnaryExpression 951472 951486 - Identifier 951473 951486 - Block 951487 951794 - ExpressionStatement 951489 951783 - CallExpression 951489 951782 - PropertyAccessExpression 951489 951528 - NonNullExpression 951489 951524 - PropertyAccessExpression 951489 951523 - Identifier 951489 951508 - Identifier 951509 951523 - Identifier 951525 951528 - Identifier 951529 951531 - BinaryExpression 951532 951781 - Identifier 951532 951546 - EqualsToken 951546 951548 - CallExpression 951548 951781 - Identifier 951548 951573 - Identifier 951574 951578 - CallExpression 951579 951747 - Identifier 951579 951596 - Identifier 951597 951611 - CallExpression 951612 951746 - Identifier 951612 951637 - Identifier 951638 951651 - Identifier 951652 951667 - CallExpression 951668 951708 - Identifier 951668 951692 - Identifier 951693 951707 - CallExpression 951709 951745 - Identifier 951709 951720 - PropertyAccessExpression 951721 951744 - Identifier 951721 951727 - Identifier 951728 951744 - Identifier 951748 951760 - Identifier 951761 951780 - ReturnStatement 951794 951825 - Identifier 951810 951824 - FunctionDeclaration 951832 955667 - Identifier 952225 952255 - Parameter 952256 952283 - Identifier 952256 952260 - TypeReference 952261 952283 - Identifier 952261 952283 - Parameter 952284 952299 - Identifier 952284 952291 - TypeReference 952292 952299 - Identifier 952292 952299 - TypeReference 952301 952306 - Identifier 952301 952306 - Block 952306 955667 - IfStatement 952308 952919 - BinaryExpression 952322 952367 - CallExpression 952322 952343 - Identifier 952322 952335 - Identifier 952336 952342 - AmpersandToken 952343 952345 - PropertyAccessExpression 952345 952367 - Identifier 952345 952356 - Identifier 952357 952367 - Block 952368 952919 - VariableStatement 952370 952447 - VariableDeclarationList 952370 952446 - VariableDeclaration 952389 952446 - Identifier 952389 952403 - CallExpression 952405 952446 - Identifier 952405 952440 - Identifier 952441 952445 - VariableStatement 952447 952506 - VariableDeclarationList 952447 952505 - VariableDeclaration 952466 952505 - Identifier 952466 952469 - CallExpression 952471 952505 - Identifier 952471 952482 - Identifier 952483 952489 - Identifier 952490 952504 - VariableStatement 952506 952555 - VariableDeclarationList 952506 952554 - VariableDeclaration 952523 952554 - Identifier 952523 952533 - CallExpression 952535 952554 - PropertyAccessExpression 952535 952550 - Identifier 952535 952546 - Identifier 952547 952550 - Identifier 952551 952553 - IfStatement 952555 952877 - PrefixUnaryExpression 952573 952583 - Identifier 952574 952583 - Block 952584 952877 - ExpressionStatement 952586 952702 - BinaryExpression 952586 952701 - Identifier 952586 952613 - EqualsToken 952613 952615 - CallExpression 952615 952701 - Identifier 952615 952635 - PropertyAccessExpression 952636 952649 - Identifier 952636 952645 - Identifier 952646 952649 - StringLiteral 952650 952658 - Identifier 952659 952685 - TemplateExpression 952686 952700 - TemplateHead 952686 952696 - TemplateSpan 952696 952700 - Identifier 952696 952698 - TemplateTail 952698 952700 - ExpressionStatement 952702 952751 - BinaryExpression 952702 952750 - PropertyAccessExpression 952702 952741 - Identifier 952702 952729 - Identifier 952730 952741 - EqualsToken 952741 952743 - Identifier 952743 952750 - ExpressionStatement 952751 952814 - BinaryExpression 952751 952813 - PropertyAccessExpression 952751 952797 - Identifier 952751 952778 - Identifier 952779 952797 - EqualsToken 952797 952799 - Identifier 952799 952813 - ExpressionStatement 952814 952862 - CallExpression 952814 952861 - PropertyAccessExpression 952814 952846 - Identifier 952814 952842 - Identifier 952843 952846 - Identifier 952847 952849 - Identifier 952850 952860 - ReturnStatement 952877 952908 - Identifier 952897 952907 - VariableStatement 952919 952974 - VariableDeclarationList 952919 952973 - VariableDeclaration 952934 952973 - Identifier 952934 952939 - CallExpression 952941 952973 - Identifier 952941 952965 - Identifier 952966 952972 - VariableStatement 952974 953045 - VariableDeclarationList 952974 953044 - VariableDeclaration 952989 953044 - Identifier 952989 953004 - PropertyAccessExpression 953006 953044 - CallExpression 953006 953029 - Identifier 953006 953021 - Identifier 953022 953028 - Identifier 953030 953044 - IfStatement 953045 955589 - Identifier 953059 953073 - Block 953074 955589 - VariableStatement 953076 953142 - VariableDeclarationList 953076 953141 - VariableDeclaration 953095 953141 - Identifier 953095 953112 - CallExpression 953114 953141 - Identifier 953114 953121 - PropertyAccessExpression 953122 953140 - Identifier 953122 953126 - Identifier 953127 953140 - VariableStatement 953142 953225 - VariableDeclarationList 953142 953224 - VariableDeclaration 953161 953224 - Identifier 953161 953182 - CallExpression 953184 953224 - Identifier 953184 953208 - Identifier 953209 953223 - IfStatement 953225 953826 - BinaryExpression 953243 953326 - BinaryExpression 953243 953282 - Identifier 953243 953259 - LessThanToken 953259 953261 - Identifier 953261 953282 - BarBarToken 953282 953285 - BinaryExpression 953285 953326 - Identifier 953285 953302 - GreaterThanToken 953302 953304 - PropertyAccessExpression 953304 953326 - Identifier 953304 953319 - Identifier 953320 953326 - Block 953327 953826 - ExpressionStatement 953329 953776 - CallExpression 953329 953775 - Identifier 953329 953352 - Identifier 953353 953379 - ConditionalExpression 953380 953623 - BinaryExpression 953380 953448 - Identifier 953380 953422 - EqualsEqualsEqualsToken 953422 953426 - PropertyAccessExpression 953426 953448 - Identifier 953426 953441 - Identifier 953442 953448 - QuestionToken 953448 953450 - PropertyAccessExpression 953450 953529 - Identifier 953450 953487 - Identifier 953488 953529 - ColonToken 953529 953531 - PropertyAccessExpression 953531 953623 - Identifier 953531 953568 - Identifier 953569 953623 - CallExpression 953624 953668 - Identifier 953624 953660 - Identifier 953661 953667 - Identifier 953669 953711 - PropertyAccessExpression 953712 953755 - Identifier 953712 953748 - Identifier 953749 953755 - ReturnStatement 953776 953811 - Identifier 953800 953810 - VariableStatement 953826 954282 - VariableDeclarationList 953826 954281 - VariableDeclaration 954235 954281 - Identifier 954235 954247 - CallExpression 954249 954281 - Identifier 954249 954275 - Identifier 954276 954280 - VariableStatement 954282 954419 - VariableDeclarationList 954282 954418 - VariableDeclaration 954299 954418 - Identifier 954299 954314 - ConditionalExpression 954316 954418 - BinaryExpression 954316 954392 - Identifier 954316 954328 - AmpersandAmpersandToken 954328 954331 - ParenthesizedExpression 954331 954392 - BinaryExpression 954333 954391 - CallExpression 954333 954357 - Identifier 954333 954349 - Identifier 954350 954356 - BarBarToken 954357 954360 - PrefixUnaryExpression 954360 954391 - CallExpression 954362 954391 - Identifier 954362 954378 - Identifier 954379 954390 - QuestionToken 954392 954394 - Identifier 954394 954406 - ColonToken 954406 954408 - Identifier 954408 954418 - VariableStatement 954419 954476 - VariableDeclarationList 954419 954475 - VariableDeclaration 954436 954475 - Identifier 954436 954455 - UnionType 954456 954475 - ArrayType 954456 954463 - TypeReference 954456 954461 - Identifier 954456 954461 - UndefinedKeyword 954465 954475 - IfStatement 954476 955445 - Identifier 954494 954508 - Block 954509 954612 - ExpressionStatement 954511 954597 - BinaryExpression 954511 954596 - Identifier 954511 954547 - EqualsToken 954547 954549 - CallExpression 954549 954596 - Identifier 954549 954580 - Identifier 954581 954595 - IfStatement 954630 955445 - CallExpression 954635 954660 - Identifier 954635 954654 - Identifier 954655 954659 - Block 954661 955445 - VariableStatement 954663 954774 - VariableDeclarationList 954663 954773 - VariableDeclaration 954686 954773 - Identifier 954686 954698 - CallExpression 954700 954773 - Identifier 954700 954725 - Identifier 954726 954730 - PropertyAccessExpression 954731 954749 - Identifier 954731 954743 - Identifier 954744 954749 - TrueKeyword 954750 954772 - IfStatement 954774 955430 - BinaryExpression 955020 955064 - Identifier 955020 955031 - AmpersandAmpersandToken 955031 955034 - BinaryExpression 955034 955064 - Identifier 955034 955046 - ExclamationEqualsEqualsToken 955046 955050 - Identifier 955050 955064 - Block 955065 955430 - VariableStatement 955067 955132 - VariableDeclarationList 955067 955131 - VariableDeclaration 955094 955131 - Identifier 955094 955103 - CallExpression 955105 955131 - Identifier 955105 955118 - Identifier 955119 955130 - IfStatement 955132 955411 - BinaryExpression 955158 955208 - Identifier 955158 955166 - AmpersandAmpersandToken 955166 955169 - BinaryExpression 955169 955208 - PropertyAccessExpression 955169 955184 - Identifier 955169 955178 - Identifier 955179 955184 - AmpersandToken 955184 955186 - PropertyAccessExpression 955186 955208 - Identifier 955186 955198 - Identifier 955199 955208 - Block 955209 955411 - ExpressionStatement 955211 955263 - BinaryExpression 955211 955262 - Identifier 955211 955251 - EqualsToken 955251 955253 - Identifier 955253 955262 - ExpressionStatement 955263 955388 - BinaryExpression 955263 955387 - Identifier 955263 955307 - EqualsToken 955307 955309 - BinaryExpression 955309 955387 - CallExpression 955309 955350 - Identifier 955309 955344 - Identifier 955345 955349 - BarBarToken 955350 955353 - ParenthesizedExpression 955353 955387 - ConditionalExpression 955355 955386 - Identifier 955355 955369 - QuestionToken 955369 955371 - ArrayLiteralExpression 955371 955374 - ColonToken 955374 955376 - Identifier 955376 955386 - ReturnStatement 955445 955578 - CallExpression 955465 955577 - Identifier 955465 955491 - Identifier 955492 955498 - CallExpression 955499 955540 - Identifier 955499 955534 - Identifier 955535 955539 - Identifier 955541 955556 - Identifier 955557 955576 - ReturnStatement 955589 955660 - ConditionalExpression 955605 955659 - CallExpression 955605 955640 - Identifier 955605 955626 - Identifier 955627 955631 - Identifier 955632 955639 - QuestionToken 955640 955642 - Identifier 955642 955647 - ColonToken 955647 955649 - Identifier 955649 955659 - FunctionDeclaration 955667 955865 - Identifier 955683 955700 - Parameter 955701 955715 - Identifier 955701 955707 - TypeReference 955708 955715 - Identifier 955708 955715 - Block 955716 955865 - VariableStatement 955718 955787 - VariableDeclarationList 955718 955786 - VariableDeclaration 955733 955786 - Identifier 955733 955745 - CallExpression 955747 955786 - PropertyAccessExpression 955747 955773 - PropertyAccessExpression 955747 955767 - Identifier 955747 955754 - Identifier 955755 955767 - QuestionDotToken 955767 955769 - Identifier 955769 955773 - Identifier 955774 955785 - ReturnStatement 955787 955858 - PrefixUnaryExpression 955803 955857 - PrefixUnaryExpression 955805 955857 - ParenthesizedExpression 955806 955857 - BinaryExpression 955807 955856 - Identifier 955807 955818 - AmpersandAmpersandToken 955818 955821 - CallExpression 955821 955856 - Identifier 955821 955843 - Identifier 955844 955855 - FunctionDeclaration 955865 956528 - Identifier 955881 955902 - Parameter 955903 955926 - Identifier 955903 955907 - TypeReference 955908 955926 - Identifier 955908 955926 - UnionType 955928 955973 - TypeReference 955928 955961 - Identifier 955928 955961 - UndefinedKeyword 955963 955973 - Block 955973 956528 - SwitchStatement 955975 956492 - PropertyAccessExpression 955993 956002 - Identifier 955993 955997 - Identifier 955998 956002 - CaseBlock 956003 956492 - CaseClause 956005 956088 - PropertyAccessExpression 956023 956048 - Identifier 956023 956034 - Identifier 956035 956048 - ReturnStatement 956049 956088 - PropertyAccessExpression 956073 956087 - Identifier 956073 956078 - Identifier 956079 956087 - CaseClause 956088 956447 - PropertyAccessExpression 956106 956145 - Identifier 956106 956117 - Identifier 956118 956145 - VariableStatement 956146 956341 - VariableDeclarationList 956146 956340 - VariableDeclaration 956317 956340 - Identifier 956317 956322 - PropertyAccessExpression 956324 956340 - Identifier 956324 956329 - Identifier 956330 956340 - IfStatement 956341 956447 - CallExpression 956363 956391 - Identifier 956363 956385 - Identifier 956386 956390 - Block 956392 956447 - ReturnStatement 956394 956428 - Identifier 956422 956427 - ReturnStatement 956492 956521 - Identifier 956510 956520 - FunctionDeclaration 956528 956711 - Identifier 956544 956558 - Parameter 956559 956573 - Identifier 956559 956565 - TypeReference 956566 956573 - Identifier 956566 956573 - StringKeyword 956575 956582 - Block 956582 956711 - ReturnStatement 956584 956704 - ConditionalExpression 956600 956703 - PropertyAccessExpression 956600 956614 - Identifier 956600 956607 - Identifier 956608 956614 - QuestionToken 956614 956616 - TemplateExpression 956616 956672 - TemplateHead 956616 956620 - TemplateSpan 956620 956652 - CallExpression 956620 956648 - Identifier 956620 956633 - PropertyAccessExpression 956634 956647 - Identifier 956634 956640 - Identifier 956641 956647 - TemplateMiddle 956648 956652 - TemplateSpan 956652 956672 - PropertyAccessExpression 956652 956670 - Identifier 956652 956658 - Identifier 956659 956670 - TemplateTail 956670 956672 - ColonToken 956672 956674 - AsExpression 956674 956703 - PropertyAccessExpression 956674 956693 - Identifier 956674 956681 - Identifier 956682 956693 - StringKeyword 956696 956703 - FunctionDeclaration 956711 957821 - Identifier 956727 956760 - Parameter 956761 956799 - Identifier 956761 956765 - TypeReference 956766 956799 - Identifier 956766 956799 - Block 956800 957821 - VariableStatement 956802 956980 - VariableDeclarationList 956802 956979 - VariableDeclaration 956817 956979 - Identifier 956817 956828 - ConditionalExpression 956830 956979 - BinaryExpression 956830 956869 - PropertyAccessExpression 956830 956840 - Identifier 956830 956835 - Identifier 956836 956840 - EqualsEqualsEqualsToken 956840 956844 - PropertyAccessExpression 956844 956869 - Identifier 956844 956855 - Identifier 956856 956869 - QuestionToken 956869 956871 - PropertyAccessExpression 956871 956882 - Identifier 956871 956876 - Identifier 956877 956882 - ColonToken 956882 956884 - ConditionalExpression 956884 956979 - BinaryExpression 956884 956947 - PropertyAccessExpression 956884 956907 - Identifier 956884 956902 - Identifier 956903 956907 - EqualsEqualsEqualsToken 956907 956911 - PropertyAccessExpression 956911 956947 - Identifier 956911 956922 - Identifier 956923 956947 - QuestionToken 956947 956949 - PropertyAccessExpression 956949 956959 - Identifier 956949 956954 - Identifier 956955 956959 - ColonToken 956959 956961 - Identifier 956961 956979 - VariableStatement 956980 957026 - VariableDeclarationList 956980 957025 - VariableDeclaration 956995 957025 - Identifier 956995 957000 - PropertyAccessExpression 957002 957025 - Identifier 957002 957013 - Identifier 957014 957025 - IfStatement 957026 957783 - Identifier 957040 957044 - Block 957045 957783 - VariableStatement 957047 957317 - VariableDeclarationList 957047 957316 - VariableDeclaration 957066 957316 - Identifier 957066 957079 - ConditionalExpression 957081 957316 - BinaryExpression 957081 957120 - PropertyAccessExpression 957081 957091 - Identifier 957081 957086 - Identifier 957087 957091 - EqualsEqualsEqualsToken 957091 957095 - PropertyAccessExpression 957095 957120 - Identifier 957095 957106 - Identifier 957107 957120 - QuestionToken 957120 957122 - CallExpression 957122 957166 - Identifier 957122 957155 - PropertyAccessExpression 957156 957165 - Identifier 957156 957160 - Identifier 957161 957165 - ColonToken 957166 957168 - ConditionalExpression 957168 957316 - BinaryExpression 957168 957235 - PropertyAccessExpression 957168 957195 - Identifier 957168 957190 - Identifier 957191 957195 - EqualsEqualsEqualsToken 957195 957199 - PropertyAccessExpression 957199 957235 - Identifier 957199 957210 - Identifier 957211 957235 - QuestionToken 957235 957237 - CallExpression 957237 957287 - Identifier 957237 957270 - PropertyAccessExpression 957271 957286 - Identifier 957271 957275 - Identifier 957276 957286 - ColonToken 957287 957289 - Identifier 957289 957316 - VariableStatement 957317 957417 - VariableDeclarationList 957317 957416 - VariableDeclaration 957336 957416 - Identifier 957336 957341 - ConditionalExpression 957343 957416 - Identifier 957343 957356 - QuestionToken 957356 957358 - TemplateExpression 957358 957399 - TemplateHead 957358 957362 - TemplateSpan 957362 957393 - CallExpression 957362 957389 - Identifier 957362 957375 - Identifier 957376 957388 - TemplateMiddle 957389 957393 - TemplateSpan 957393 957399 - Identifier 957393 957397 - TemplateTail 957397 957399 - ColonToken 957399 957401 - AsExpression 957401 957416 - Identifier 957401 957406 - StringKeyword 957409 957416 - VariableStatement 957417 957472 - VariableDeclarationList 957417 957471 - VariableDeclaration 957434 957471 - Identifier 957434 957441 - CallExpression 957443 957471 - PropertyAccessExpression 957443 957465 - Identifier 957443 957461 - Identifier 957462 957465 - Identifier 957466 957470 - IfStatement 957472 957744 - PrefixUnaryExpression 957490 957497 - Identifier 957491 957497 - Block 957498 957744 - ExpressionStatement 957500 957621 - CallExpression 957500 957620 - PropertyAccessExpression 957500 957539 - Identifier 957500 957535 - Identifier 957536 957539 - Identifier 957540 957544 - BinaryExpression 957545 957619 - Identifier 957545 957552 - EqualsToken 957552 957554 - CallExpression 957554 957619 - Identifier 957554 957567 - PropertyAccessExpression 957568 957589 - Identifier 957568 957579 - Identifier 957580 957589 - Identifier 957590 957595 - PropertyAccessExpression 957596 957618 - Identifier 957596 957607 - Identifier 957608 957618 - ExpressionStatement 957621 957668 - BinaryExpression 957621 957667 - PropertyAccessExpression 957621 957652 - Identifier 957621 957645 - Identifier 957646 957652 - EqualsToken 957652 957654 - Identifier 957654 957667 - ExpressionStatement 957668 957729 - BinaryExpression 957668 957728 - PropertyAccessExpression 957668 957711 - PropertyAccessExpression 957668 957698 - Identifier 957668 957692 - Identifier 957693 957698 - Identifier 957699 957711 - EqualsToken 957711 957713 - Identifier 957713 957728 - ReturnStatement 957744 957772 - Identifier 957764 957771 - ReturnStatement 957783 957814 - Identifier 957799 957813 - FunctionDeclaration 957821 958296 - Identifier 957837 957862 - Parameter 957863 957895 - Identifier 957863 957876 - TypeReference 957877 957895 - Identifier 957877 957895 - Parameter 957896 957917 - Identifier 957896 957904 - TypeReference 957905 957917 - Identifier 957905 957917 - Parameter 957918 957941 - Identifier 957918 957931 - QuestionToken 957931 957932 - BooleanKeyword 957933 957941 - Block 957942 958296 - VariableStatement 957944 958003 - VariableDeclarationList 957944 958002 - VariableDeclaration 957959 958002 - Identifier 957959 957964 - CallExpression 957966 958002 - Identifier 957966 957987 - Identifier 957988 958001 - IfStatement 958003 958071 - PrefixUnaryExpression 958017 958022 - Identifier 958018 958022 - Block 958023 958071 - ReturnStatement 958025 958060 - Identifier 958045 958059 - VariableStatement 958071 958143 - VariableDeclarationList 958071 958142 - VariableDeclaration 958086 958142 - Identifier 958086 958093 - CallExpression 958095 958142 - Identifier 958095 958113 - Identifier 958114 958118 - Identifier 958119 958127 - Identifier 958128 958141 - ReturnStatement 958143 958289 - ConditionalExpression 958159 958288 - BinaryExpression 958159 958194 - Identifier 958159 958166 - AmpersandAmpersandToken 958166 958169 - BinaryExpression 958169 958194 - Identifier 958169 958176 - ExclamationEqualsEqualsToken 958176 958180 - Identifier 958180 958194 - QuestionToken 958194 958196 - Identifier 958196 958203 - ColonToken 958203 958205 - ConditionalExpression 958205 958288 - Identifier 958205 958231 - QuestionToken 958231 958233 - Identifier 958233 958247 - ColonToken 958247 958249 - CallExpression 958249 958288 - Identifier 958249 958282 - Identifier 958283 958287 - FunctionDeclaration 958296 959625 - Identifier 958312 958333 - Parameter 958334 958361 - Identifier 958334 958338 - TypeReference 958339 958361 - Identifier 958339 958361 - Parameter 958362 958377 - Identifier 958362 958369 - TypeReference 958370 958377 - Identifier 958370 958377 - TypeReference 958379 958384 - Identifier 958379 958384 - Block 958384 959625 - IfStatement 958386 958469 - BinaryExpression 958400 958424 - Identifier 958400 958406 - EqualsEqualsEqualsToken 958406 958410 - Identifier 958410 958424 - Block 958425 958469 - ReturnStatement 958427 958458 - Identifier 958447 958457 - ExpressionStatement 958469 958523 - BinaryExpression 958469 958522 - Identifier 958469 958485 - EqualsToken 958485 958487 - BinaryExpression 958487 958522 - CallExpression 958487 958512 - Identifier 958487 958504 - Identifier 958505 958511 - BarBarToken 958512 958515 - Identifier 958515 958522 - IfStatement 958523 958681 - BinaryExpression 958537 958595 - PropertyAccessExpression 958537 958549 - Identifier 958537 958543 - Identifier 958544 958549 - AmpersandToken 958549 958551 - ParenthesizedExpression 958551 958595 - BinaryExpression 958553 958594 - PropertyAccessExpression 958553 958570 - Identifier 958553 958564 - Identifier 958565 958570 - BarToken 958570 958572 - PropertyAccessExpression 958572 958594 - Identifier 958572 958584 - Identifier 958585 958594 - Block 958596 958681 - ReturnStatement 958598 958670 - CallExpression 958618 958669 - Identifier 958618 958655 - Identifier 958656 958660 - Identifier 958661 958668 - IfStatement 958681 958810 - BinaryExpression 958695 958731 - PropertyAccessExpression 958695 958707 - Identifier 958695 958701 - Identifier 958702 958707 - AmpersandToken 958707 958709 - PropertyAccessExpression 958709 958731 - Identifier 958709 958721 - Identifier 958722 958731 - Block 958732 958810 - ReturnStatement 958734 958799 - CallExpression 958754 958798 - Identifier 958754 958784 - Identifier 958785 958789 - Identifier 958790 958797 - VariableStatement 958810 958965 - VariableDeclarationList 958810 958964 - VariableDeclaration 958923 958964 - Identifier 958923 958927 - CallExpression 958929 958964 - Identifier 958929 958956 - Identifier 958957 958963 - IfStatement 958965 959099 - Identifier 958979 958982 - Block 958983 959099 - ReturnStatement 958985 959088 - ConditionalExpression 959005 959087 - CallExpression 959005 959040 - Identifier 959005 959026 - Identifier 959027 959031 - Identifier 959032 959039 - QuestionToken 959040 959042 - CallExpression 959042 959075 - Identifier 959042 959070 - Identifier 959071 959074 - ColonToken 959075 959077 - Identifier 959077 959087 - IfStatement 959099 959591 - BinaryExpression 959113 959175 - BinaryExpression 959113 959145 - PropertyAccessExpression 959113 959125 - Identifier 959113 959119 - Identifier 959120 959125 - AmpersandToken 959125 959127 - PropertyAccessExpression 959127 959145 - Identifier 959127 959139 - Identifier 959140 959145 - AmpersandAmpersandToken 959145 959148 - CallExpression 959148 959175 - Identifier 959148 959169 - Identifier 959170 959174 - Block 959176 959591 - VariableStatement 959178 959255 - VariableDeclarationList 959178 959254 - VariableDeclaration 959197 959254 - Identifier 959197 959207 - CallExpression 959209 959254 - Identifier 959209 959240 - Identifier 959241 959245 - Identifier 959246 959253 - IfStatement 959255 959580 - Identifier 959273 959282 - Block 959283 959335 - ReturnStatement 959285 959320 - Identifier 959309 959319 - Block 959353 959580 - ExpressionStatement 959355 959516 - CallExpression 959355 959515 - Identifier 959355 959491 - Identifier 959492 959496 - PropertyAccessExpression 959497 959514 - Identifier 959497 959509 - Identifier 959510 959514 - ReturnStatement 959516 959565 - CallExpression 959540 959564 - Identifier 959540 959556 - Identifier 959557 959563 - ReturnStatement 959591 959618 - Identifier 959607 959617 - FunctionDeclaration 959625 960648 - Identifier 959792 959823 - Parameter 959824 959851 - Identifier 959824 959828 - TypeReference 959829 959851 - Identifier 959829 959851 - Parameter 959852 959867 - Identifier 959852 959859 - TypeReference 959860 959867 - Identifier 959860 959867 - UnionType 959869 959886 - TypeReference 959869 959874 - Identifier 959869 959874 - UndefinedKeyword 959876 959886 - Block 959886 960648 - VariableStatement 959888 959931 - VariableDeclarationList 959888 959930 - VariableDeclaration 959903 959930 - Identifier 959903 959909 - CallExpression 959911 959930 - Identifier 959911 959924 - Identifier 959925 959929 - IfStatement 959931 960600 - PrefixUnaryExpression 959945 959969 - PropertyAccessExpression 959946 959969 - Identifier 959946 959951 - Identifier 959952 959969 - Block 959970 960600 - VariableStatement 959972 960028 - VariableDeclarationList 959972 960027 - VariableDeclaration 959991 960027 - Identifier 959991 960001 - CallExpression 960003 960027 - Identifier 960003 960019 - Identifier 960020 960026 - VariableStatement 960028 960067 - VariableDeclarationList 960028 960066 - VariableDeclaration 960045 960066 - Identifier 960045 960054 - Identifier 960056 960066 - IfStatement 960067 960540 - PropertyAccessExpression 960085 960108 - Identifier 960085 960091 - Identifier 960092 960108 - Block 960109 960540 - VariableStatement 960111 960237 - VariableDeclarationList 960111 960236 - VariableDeclaration 960134 960236 - Identifier 960134 960160 - BinaryExpression 960162 960236 - BinaryExpression 960162 960198 - PropertyAccessExpression 960162 960172 - Identifier 960162 960167 - Identifier 960168 960172 - EqualsEqualsEqualsToken 960172 960176 - PropertyAccessExpression 960176 960198 - Identifier 960176 960187 - Identifier 960188 960198 - AmpersandAmpersandToken 960198 960201 - PropertyAccessExpression 960201 960236 - ParenthesizedExpression 960201 960226 - AsExpression 960203 960225 - Identifier 960203 960207 - TypeReference 960210 960225 - Identifier 960210 960225 - Identifier 960227 960236 - IfStatement 960237 960525 - BinaryExpression 960349 960425 - BinaryExpression 960349 960396 - PropertyAccessExpression 960349 960365 - Identifier 960349 960358 - Identifier 960359 960365 - AmpersandAmpersandToken 960365 960368 - BinaryExpression 960368 960396 - PropertyAccessExpression 960368 960385 - Identifier 960368 960378 - Identifier 960379 960385 - ExclamationEqualsEqualsToken 960385 960389 - Identifier 960389 960396 - AmpersandAmpersandToken 960396 960399 - Identifier 960399 960425 - Block 960426 960525 - ExpressionStatement 960428 960506 - BinaryExpression 960428 960505 - Identifier 960428 960458 - EqualsToken 960458 960460 - CallExpression 960460 960505 - Identifier 960460 960481 - Identifier 960482 960486 - PropertyAccessExpression 960487 960504 - Identifier 960487 960497 - Identifier 960498 960504 - ExpressionStatement 960540 960589 - BinaryExpression 960540 960588 - PropertyAccessExpression 960540 960577 - Identifier 960540 960559 - Identifier 960560 960577 - EqualsToken 960577 960579 - Identifier 960579 960588 - ReturnStatement 960600 960641 - PropertyAccessExpression 960616 960640 - Identifier 960616 960622 - Identifier 960623 960640 - FunctionDeclaration 960648 960799 - Identifier 960664 960679 - Parameter 960680 960690 - Identifier 960680 960684 - TypeReference 960685 960690 - Identifier 960685 960690 - Block 960691 960799 - ReturnStatement 960693 960792 - ConditionalExpression 960709 960791 - CallExpression 960709 960735 - Identifier 960709 960729 - Identifier 960730 960734 - QuestionToken 960735 960737 - CallExpression 960737 960784 - Identifier 960737 960765 - Identifier 960766 960770 - Identifier 960771 960783 - ColonToken 960784 960786 - Identifier 960786 960791 - FunctionDeclaration 960799 961604 - Identifier 960815 960835 - Parameter 960836 960846 - Identifier 960836 960840 - TypeReference 960841 960846 - Identifier 960841 960846 - BooleanKeyword 960848 960856 - Block 960856 961604 - ReturnStatement 960858 961597 - PrefixUnaryExpression 961149 961596 - PrefixUnaryExpression 961151 961596 - ParenthesizedExpression 961152 961596 - BinaryExpression 961153 961595 - BinaryExpression 961153 961484 - BinaryExpression 961153 961401 - BinaryExpression 961153 961265 - BinaryExpression 961153 961195 - PropertyAccessExpression 961153 961163 - Identifier 961153 961157 - Identifier 961158 961163 - AmpersandToken 961163 961165 - PropertyAccessExpression 961165 961195 - Identifier 961165 961175 - Identifier 961176 961195 - AmpersandAmpersandToken 961195 961198 - CallExpression 961198 961265 - Identifier 961198 961203 - PropertyAccessExpression 961204 961243 - ParenthesizedExpression 961204 961237 - AsExpression 961205 961236 - Identifier 961205 961209 - TypeReference 961212 961236 - Identifier 961212 961236 - Identifier 961238 961243 - Identifier 961244 961264 - BarBarToken 961265 961268 - BinaryExpression 961268 961401 - BinaryExpression 961268 961341 - BinaryExpression 961268 961317 - PropertyAccessExpression 961268 961292 - Identifier 961268 961286 - Identifier 961287 961292 - AmpersandToken 961292 961294 - PropertyAccessExpression 961294 961317 - Identifier 961294 961304 - Identifier 961305 961317 - AmpersandAmpersandToken 961317 961320 - PrefixUnaryExpression 961320 961341 - CallExpression 961322 961341 - Identifier 961322 961335 - Identifier 961336 961340 - AmpersandAmpersandToken 961341 961344 - CallExpression 961344 961401 - Identifier 961344 961364 - PropertyAccessExpression 961365 961400 - ParenthesizedExpression 961365 961391 - AsExpression 961366 961390 - Identifier 961366 961370 - TypeReference 961373 961390 - Identifier 961373 961390 - Identifier 961392 961400 - BarBarToken 961401 961404 - BinaryExpression 961404 961484 - BinaryExpression 961404 961447 - PropertyAccessExpression 961404 961428 - Identifier 961404 961422 - Identifier 961423 961428 - AmpersandToken 961428 961430 - PropertyAccessExpression 961430 961447 - Identifier 961430 961440 - Identifier 961441 961447 - AmpersandAmpersandToken 961447 961450 - PrefixUnaryExpression 961450 961484 - CallExpression 961452 961484 - Identifier 961452 961478 - Identifier 961479 961483 - BarBarToken 961484 961487 - BinaryExpression 961487 961595 - BinaryExpression 961487 961564 - PropertyAccessExpression 961487 961511 - Identifier 961487 961505 - Identifier 961506 961511 - AmpersandToken 961511 961513 - ParenthesizedExpression 961513 961564 - BinaryExpression 961515 961563 - PropertyAccessExpression 961515 961537 - Identifier 961515 961524 - Identifier 961525 961537 - AmpersandToken 961537 961539 - PrefixUnaryExpression 961539 961563 - PropertyAccessExpression 961541 961563 - Identifier 961541 961550 - Identifier 961551 961563 - AmpersandAmpersandToken 961564 961567 - PrefixUnaryExpression 961567 961595 - CallExpression 961569 961595 - Identifier 961569 961589 - Identifier 961590 961594 - FunctionDeclaration 961604 961884 - Identifier 961620 961634 - Parameter 961635 961645 - Identifier 961635 961639 - TypeReference 961640 961645 - Identifier 961640 961645 - Block 961646 961884 - ReturnStatement 961648 961877 - PrefixUnaryExpression 961769 961876 - PrefixUnaryExpression 961771 961876 - ParenthesizedExpression 961772 961876 - BinaryExpression 961773 961875 - BinaryExpression 961773 961808 - PropertyAccessExpression 961773 961783 - Identifier 961773 961777 - Identifier 961778 961783 - AmpersandToken 961783 961785 - PropertyAccessExpression 961785 961808 - Identifier 961785 961795 - Identifier 961796 961808 - AmpersandAmpersandToken 961808 961811 - BinaryExpression 961811 961875 - PropertyAccessExpression 961811 961855 - PropertyAccessExpression 961811 961849 - ParenthesizedExpression 961811 961838 - AsExpression 961813 961837 - Identifier 961813 961817 - TypeReference 961820 961837 - Identifier 961820 961837 - Identifier 961839 961849 - Identifier 961850 961855 - AmpersandToken 961855 961857 - PropertyAccessExpression 961857 961875 - Identifier 961857 961867 - Identifier 961868 961875 - FunctionDeclaration 961884 962172 - Identifier 961900 961920 - Parameter 961921 961935 - Identifier 961921 961929 - TypeReference 961930 961935 - Identifier 961930 961935 - Parameter 961936 961953 - Identifier 961936 961947 - TypeReference 961948 961953 - Identifier 961948 961953 - Block 961954 962172 - ReturnStatement 961956 962165 - ConditionalExpression 961972 962164 - BinaryExpression 961972 962075 - BinaryExpression 961972 962041 - BinaryExpression 961972 962014 - PropertyAccessExpression 961972 961989 - Identifier 961972 961983 - Identifier 961984 961989 - AmpersandToken 961989 961991 - PropertyAccessExpression 961991 962014 - Identifier 961991 962001 - Identifier 962002 962014 - BarBarToken 962014 962017 - BinaryExpression 962017 962041 - Identifier 962017 962028 - EqualsEqualsEqualsToken 962028 962032 - Identifier 962032 962041 - BarBarToken 962041 962044 - BinaryExpression 962044 962075 - PropertyAccessExpression 962044 962059 - Identifier 962044 962053 - Identifier 962054 962059 - AmpersandToken 962059 962061 - PropertyAccessExpression 962061 962075 - Identifier 962061 962071 - Identifier 962072 962075 - QuestionToken 962075 962077 - Identifier 962077 962099 - ColonToken 962099 962101 - CallExpression 962101 962164 - Identifier 962101 962142 - Identifier 962143 962151 - Identifier 962152 962163 - FunctionDeclaration 962172 962669 - Identifier 962188 962216 - Parameter 962217 962231 - Identifier 962217 962225 - TypeReference 962226 962231 - Identifier 962226 962231 - Parameter 962232 962249 - Identifier 962232 962243 - TypeReference 962244 962249 - Identifier 962244 962249 - Block 962250 962669 - VariableStatement 962252 962323 - VariableDeclarationList 962252 962322 - VariableDeclaration 962267 962322 - Identifier 962267 962270 - TemplateExpression 962272 962322 - TemplateHead 962272 962276 - TemplateSpan 962276 962299 - CallExpression 962276 962295 - Identifier 962276 962285 - Identifier 962286 962294 - TemplateMiddle 962295 962299 - TemplateSpan 962299 962322 - CallExpression 962299 962320 - Identifier 962299 962308 - Identifier 962309 962319 - TemplateTail 962320 962322 - VariableStatement 962323 962374 - VariableDeclarationList 962323 962373 - VariableDeclaration 962338 962373 - Identifier 962338 962345 - CallExpression 962347 962373 - PropertyAccessExpression 962347 962369 - Identifier 962347 962365 - Identifier 962366 962369 - Identifier 962370 962372 - IfStatement 962374 962436 - Identifier 962388 962394 - Block 962395 962436 - ReturnStatement 962397 962425 - Identifier 962417 962424 - VariableStatement 962436 962516 - VariableDeclarationList 962436 962515 - VariableDeclaration 962451 962515 - Identifier 962451 962458 - AsExpression 962460 962515 - CallExpression 962460 962495 - Identifier 962460 962471 - PropertyAccessExpression 962472 962494 - Identifier 962472 962481 - Identifier 962482 962494 - TypeReference 962498 962515 - Identifier 962498 962515 - ExpressionStatement 962516 962553 - BinaryExpression 962516 962552 - PropertyAccessExpression 962516 962541 - Identifier 962516 962532 - Identifier 962533 962541 - EqualsToken 962541 962543 - Identifier 962543 962552 - ExpressionStatement 962553 962594 - BinaryExpression 962553 962593 - PropertyAccessExpression 962553 962580 - Identifier 962553 962569 - Identifier 962570 962580 - EqualsToken 962580 962582 - Identifier 962582 962593 - ExpressionStatement 962594 962638 - CallExpression 962594 962637 - PropertyAccessExpression 962594 962625 - Identifier 962594 962621 - Identifier 962622 962625 - Identifier 962626 962628 - Identifier 962629 962636 - ReturnStatement 962638 962662 - Identifier 962654 962661 - FunctionDeclaration 962669 962915 - Identifier 962685 962713 - Parameter 962714 962748 - Identifier 962714 962730 - TypeReference 962731 962748 - Identifier 962731 962748 - Block 962749 962915 - ReturnStatement 962751 962908 - ConditionalExpression 962767 962907 - CallExpression 962767 962799 - Identifier 962767 962781 - Identifier 962782 962798 - QuestionToken 962799 962801 - PropertyAccessExpression 962801 962827 - Identifier 962801 962818 - Identifier 962819 962827 - ColonToken 962827 962829 - CallExpression 962829 962907 - Identifier 962829 962849 - ArrayLiteralExpression 962850 962906 - PropertyAccessExpression 962851 962878 - Identifier 962851 962867 - Identifier 962868 962878 - PropertyAccessExpression 962879 962905 - Identifier 962879 962896 - Identifier 962897 962905 - FunctionDeclaration 962915 963078 - Identifier 962931 962952 - Parameter 962953 962967 - Identifier 962953 962957 - TypeReference 962958 962967 - Identifier 962958 962967 - Block 962968 963078 - ReturnStatement 962970 963071 - BinaryExpression 962986 963070 - BinaryExpression 962986 963021 - PropertyAccessExpression 962986 962996 - Identifier 962986 962991 - Identifier 962992 962996 - EqualsEqualsEqualsToken 962996 963000 - PropertyAccessExpression 963000 963021 - Identifier 963000 963011 - Identifier 963012 963021 - AmpersandAmpersandToken 963021 963024 - BinaryExpression 963024 963070 - PropertyAccessExpression 963024 963064 - PropertyAccessExpression 963024 963057 - ParenthesizedExpression 963024 963048 - AsExpression 963026 963047 - Identifier 963026 963030 - TypeReference 963033 963047 - Identifier 963033 963047 - Identifier 963049 963057 - Identifier 963058 963064 - EqualsEqualsEqualsToken 963064 963068 - NumericLiteral 963068 963070 - FunctionDeclaration 963078 963560 - Identifier 963094 963115 - Parameter 963116 963126 - Identifier 963116 963120 - TypeReference 963121 963126 - Identifier 963121 963126 - Parameter 963127 963147 - Identifier 963127 963137 - TypeReference 963138 963147 - Identifier 963138 963147 - Parameter 963148 963170 - Identifier 963148 963160 - TypeReference 963161 963170 - Identifier 963161 963170 - UnionType 963172 963189 - TypeReference 963172 963177 - Identifier 963172 963177 - UndefinedKeyword 963179 963189 - Block 963189 963560 - ReturnStatement 963191 963553 - ConditionalExpression 963207 963552 - BinaryExpression 963207 963276 - CallExpression 963207 963239 - Identifier 963207 963228 - Identifier 963229 963238 - AmpersandAmpersandToken 963239 963242 - CallExpression 963242 963276 - Identifier 963242 963263 - Identifier 963264 963275 - QuestionToken 963276 963278 - CallExpression 963278 963391 - Identifier 963278 963299 - Identifier 963300 963304 - ElementAccessExpression 963305 963346 - PropertyAccessExpression 963305 963343 - ParenthesizedExpression 963305 963334 - AsExpression 963307 963333 - Identifier 963307 963316 - TypeReference 963319 963333 - Identifier 963319 963333 - Identifier 963335 963343 - NumericLiteral 963344 963345 - ElementAccessExpression 963347 963390 - PropertyAccessExpression 963347 963387 - ParenthesizedExpression 963347 963378 - AsExpression 963349 963377 - Identifier 963349 963360 - TypeReference 963363 963377 - Identifier 963363 963377 - Identifier 963379 963387 - NumericLiteral 963388 963389 - ColonToken 963391 963393 - ConditionalExpression 963393 963552 - BinaryExpression 963393 963492 - CallExpression 963393 963460 - Identifier 963393 963428 - CallExpression 963429 963459 - Identifier 963429 963448 - Identifier 963449 963458 - EqualsEqualsEqualsToken 963460 963464 - CallExpression 963464 963492 - Identifier 963464 963486 - Identifier 963487 963491 - QuestionToken 963492 963494 - CallExpression 963494 963527 - Identifier 963494 963514 - Identifier 963515 963526 - ColonToken 963527 963529 - Identifier 963529 963552 - FunctionDeclaration 963560 966072 - Identifier 963576 963605 - Parameter 963606 963616 - Identifier 963606 963610 - TypeReference 963611 963616 - Identifier 963611 963616 - Parameter 963617 963628 - Identifier 963617 963622 - TypeReference 963623 963628 - Identifier 963623 963628 - Block 963629 966072 - VariableStatement 963631 963677 - VariableDeclarationList 963631 963676 - VariableDeclaration 963644 963676 - Identifier 963644 963656 - UnionType 963657 963676 - ArrayType 963657 963664 - TypeReference 963657 963662 - Identifier 963657 963662 - UndefinedKeyword 963666 963676 - VariableStatement 963677 963708 - VariableDeclarationList 963677 963707 - VariableDeclaration 963690 963707 - Identifier 963690 963700 - TrueKeyword 963702 963707 - WhileStatement 963708 965967 - BinaryExpression 963725 963785 - BinaryExpression 963725 963751 - Identifier 963725 963729 - AmpersandAmpersandToken 963729 963732 - PrefixUnaryExpression 963732 963751 - CallExpression 963734 963751 - Identifier 963734 963745 - Identifier 963746 963750 - AmpersandAmpersandToken 963751 963754 - BinaryExpression 963754 963785 - PropertyAccessExpression 963754 963764 - Identifier 963754 963759 - Identifier 963760 963764 - ExclamationEqualsEqualsToken 963764 963768 - PropertyAccessExpression 963768 963785 - Identifier 963768 963779 - Identifier 963780 963785 - Block 963786 965967 - VariableStatement 963788 963829 - VariableDeclarationList 963788 963828 - VariableDeclaration 963807 963828 - Identifier 963807 963814 - PropertyAccessExpression 963816 963828 - Identifier 963816 963821 - Identifier 963822 963828 - IfStatement 963829 964193 - BinaryExpression 964098 964134 - PropertyAccessExpression 964098 964109 - Identifier 964098 964104 - Identifier 964105 964109 - EqualsEqualsEqualsToken 964109 964113 - PropertyAccessExpression 964113 964134 - Identifier 964113 964124 - Identifier 964125 964134 - Block 964135 964193 - ExpressionStatement 964137 964178 - BinaryExpression 964137 964177 - Identifier 964137 964164 - EqualsToken 964164 964166 - PrefixUnaryExpression 964166 964177 - Identifier 964168 964177 - IfStatement 964193 965928 - BinaryExpression 964397 964546 - BinaryExpression 964397 964493 - ParenthesizedExpression 964397 964447 - BinaryExpression 964398 964446 - Identifier 964398 964407 - BarBarToken 964407 964410 - BinaryExpression 964410 964446 - PropertyAccessExpression 964410 964421 - Identifier 964410 964415 - Identifier 964416 964421 - AmpersandToken 964421 964423 - PropertyAccessExpression 964423 964446 - Identifier 964423 964433 - Identifier 964434 964446 - AmpersandAmpersandToken 964447 964450 - BinaryExpression 964450 964493 - PropertyAccessExpression 964450 964462 - Identifier 964450 964457 - Identifier 964458 964462 - EqualsEqualsEqualsToken 964462 964466 - PropertyAccessExpression 964466 964493 - Identifier 964466 964477 - Identifier 964478 964493 - AmpersandAmpersandToken 964493 964496 - BinaryExpression 964496 964546 - Identifier 964496 964501 - EqualsEqualsEqualsToken 964501 964505 - PropertyAccessExpression 964505 964546 - ParenthesizedExpression 964505 964537 - AsExpression 964507 964536 - Identifier 964507 964513 - TypeReference 964516 964536 - Identifier 964516 964536 - Identifier 964538 964546 - Block 964547 964838 - VariableStatement 964549 964701 - VariableDeclarationList 964549 964700 - VariableDeclaration 964572 964700 - Identifier 964572 964583 - CallExpression 964585 964700 - Identifier 964585 964606 - Identifier 964607 964611 - PropertyAccessExpression 964612 964654 - ParenthesizedExpression 964612 964644 - AsExpression 964614 964643 - Identifier 964614 964620 - TypeReference 964623 964643 - Identifier 964623 964643 - Identifier 964645 964654 - PropertyAccessExpression 964655 964699 - ParenthesizedExpression 964655 964687 - AsExpression 964657 964686 - Identifier 964657 964663 - TypeReference 964666 964686 - Identifier 964666 964686 - Identifier 964688 964699 - IfStatement 964701 964823 - Identifier 964723 964733 - Block 964734 964823 - ExpressionStatement 964736 964804 - BinaryExpression 964736 964803 - Identifier 964736 964769 - EqualsToken 964769 964771 - CallExpression 964771 964803 - Identifier 964771 964778 - Identifier 964779 964790 - Identifier 964791 964802 - IfStatement 965072 965928 - BinaryExpression 965077 965238 - BinaryExpression 965077 965194 - BinaryExpression 965077 965154 - BinaryExpression 965077 965113 - PropertyAccessExpression 965077 965087 - Identifier 965077 965081 - Identifier 965082 965087 - AmpersandToken 965087 965089 - PropertyAccessExpression 965089 965113 - Identifier 965089 965099 - Identifier 965100 965113 - AmpersandAmpersandToken 965113 965116 - BinaryExpression 965116 965154 - PropertyAccessExpression 965116 965128 - Identifier 965116 965123 - Identifier 965124 965128 - EqualsEqualsEqualsToken 965128 965132 - PropertyAccessExpression 965132 965154 - Identifier 965132 965143 - Identifier 965144 965154 - AmpersandAmpersandToken 965154 965157 - PrefixUnaryExpression 965157 965194 - PropertyAccessExpression 965159 965194 - ParenthesizedExpression 965159 965185 - AsExpression 965160 965184 - Identifier 965160 965166 - TypeReference 965169 965184 - Identifier 965169 965184 - Identifier 965186 965194 - AmpersandAmpersandToken 965194 965197 - BinaryExpression 965197 965238 - Identifier 965197 965202 - EqualsEqualsEqualsToken 965202 965206 - PropertyAccessExpression 965206 965238 - ParenthesizedExpression 965206 965233 - AsExpression 965208 965232 - Identifier 965208 965214 - TypeReference 965217 965232 - Identifier 965217 965232 - Identifier 965234 965238 - Block 965239 965928 - VariableStatement 965241 965332 - VariableDeclarationList 965241 965331 - VariableDeclaration 965264 965331 - Identifier 965264 965275 - AsExpression 965277 965331 - CallExpression 965277 965317 - Identifier 965277 965297 - AsExpression 965298 965316 - Identifier 965298 965304 - TypeReference 965307 965316 - Identifier 965307 965316 - TypeReference 965320 965331 - Identifier 965320 965331 - IfStatement 965332 965913 - BinaryExpression 965354 965428 - CallExpression 965354 965396 - Identifier 965354 965384 - Identifier 965385 965395 - EqualsEqualsEqualsToken 965396 965400 - CallExpression 965400 965428 - Identifier 965400 965422 - Identifier 965423 965427 - Block 965429 965913 - VariableStatement 965431 965514 - VariableDeclarationList 965431 965513 - VariableDeclaration 965458 965513 - Identifier 965458 965472 - CallExpression 965474 965513 - Identifier 965474 965501 - Identifier 965502 965512 - IfStatement 965514 965894 - Identifier 965540 965553 - Block 965554 965894 - VariableStatement 965556 965645 - VariableDeclarationList 965556 965644 - VariableDeclaration 965587 965644 - Identifier 965587 965598 - CallExpression 965600 965644 - Identifier 965600 965629 - Identifier 965630 965643 - IfStatement 965645 965871 - BinaryExpression 965675 965730 - Identifier 965675 965685 - AmpersandAmpersandToken 965685 965688 - CallExpression 965688 965730 - Identifier 965688 965698 - Identifier 965699 965709 - Identifier 965710 965729 - Block 965731 965871 - ExpressionStatement 965733 965844 - BinaryExpression 965733 965843 - Identifier 965733 965774 - EqualsToken 965774 965776 - CallExpression 965776 965843 - Identifier 965776 965783 - Identifier 965784 965795 - CallExpression 965796 965842 - Identifier 965796 965809 - ArrayLiteralExpression 965810 965841 - Identifier 965811 965821 - Identifier 965822 965840 - ExpressionStatement 965928 965956 - BinaryExpression 965928 965955 - Identifier 965928 965946 - EqualsToken 965946 965948 - Identifier 965948 965955 - ReturnStatement 965967 966065 - ConditionalExpression 965983 966064 - Identifier 965983 965995 - QuestionToken 965995 965997 - CallExpression 965997 966057 - Identifier 965997 966017 - Identifier 966018 966022 - CallExpression 966023 966056 - Identifier 966023 966043 - Identifier 966044 966055 - ColonToken 966057 966059 - Identifier 966059 966064 - FunctionDeclaration 966072 966290 - Identifier 966088 966109 - Parameter 966110 966120 - Identifier 966110 966114 - TypeReference 966115 966120 - Identifier 966115 966120 - TypePredicate 966122 966148 - Identifier 966122 966127 - TypeReference 966130 966148 - Identifier 966130 966148 - Block 966148 966290 - ReturnStatement 966150 966283 - BinaryExpression 966166 966282 - PrefixUnaryExpression 966166 966199 - PrefixUnaryExpression 966168 966199 - ParenthesizedExpression 966169 966199 - BinaryExpression 966170 966198 - PropertyAccessExpression 966170 966180 - Identifier 966170 966174 - Identifier 966175 966180 - AmpersandToken 966180 966182 - PropertyAccessExpression 966182 966198 - Identifier 966182 966192 - Identifier 966193 966198 - AmpersandAmpersandToken 966199 966202 - ParenthesizedExpression 966202 966282 - BinaryExpression 966204 966281 - BinaryExpression 966204 966242 - PropertyAccessExpression 966204 966213 - Identifier 966204 966208 - Identifier 966209 966213 - EqualsEqualsEqualsToken 966213 966217 - PropertyAccessExpression 966217 966242 - Identifier 966217 966228 - Identifier 966229 966242 - BarBarToken 966242 966245 - BinaryExpression 966245 966281 - PropertyAccessExpression 966245 966255 - Identifier 966245 966250 - Identifier 966251 966255 - EqualsEqualsEqualsToken 966255 966259 - PropertyAccessExpression 966259 966281 - Identifier 966259 966270 - Identifier 966271 966281 - FunctionDeclaration 966290 966681 - Identifier 966306 966327 - Parameter 966328 966355 - Identifier 966328 966332 - TypeReference 966333 966355 - Identifier 966333 966355 - Parameter 966356 966372 - Identifier 966356 966363 - QuestionToken 966363 966364 - TypeReference 966365 966372 - Identifier 966365 966372 - Block 966373 966681 - IfStatement 966375 966652 - PropertyAccessExpression 966389 966407 - Identifier 966389 966393 - Identifier 966394 966407 - Block 966408 966652 - ExpressionStatement 966410 966614 - CallExpression 966410 966613 - Identifier 966410 966429 - Identifier 966430 966434 - PropertyAccessExpression 966435 966469 - Identifier 966435 966447 - Identifier 966448 966469 - ConditionalExpression 966470 966612 - Identifier 966470 966477 - QuestionToken 966477 966479 - CallExpression 966479 966502 - Identifier 966479 966494 - Identifier 966495 966501 - ColonToken 966502 966504 - ConditionalExpression 966504 966612 - PropertyAccessExpression 966504 966541 - ParenthesizedExpression 966504 966532 - AsExpression 966506 966531 - Identifier 966506 966510 - TypeReference 966513 966531 - Identifier 966513 966531 - Identifier 966533 966541 - QuestionToken 966541 966543 - CallExpression 966543 966605 - Identifier 966543 966567 - PropertyAccessExpression 966568 966604 - ParenthesizedExpression 966568 966595 - AsExpression 966569 966594 - Identifier 966569 966573 - TypeReference 966576 966594 - Identifier 966576 966594 - Identifier 966596 966604 - ColonToken 966605 966607 - Identifier 966607 966612 - ReturnStatement 966614 966641 - FalseKeyword 966634 966640 - ReturnStatement 966652 966674 - TrueKeyword 966668 966673 - FunctionDeclaration 966681 969073 - Identifier 966697 966735 - Parameter 966736 966759 - Identifier 966736 966740 - TypeReference 966741 966759 - Identifier 966741 966759 - UnionType 966761 966778 - TypeReference 966761 966766 - Identifier 966761 966766 - UndefinedKeyword 966768 966778 - Block 966778 969073 - IfStatement 966780 969066 - CallExpression 966794 966821 - Identifier 966794 966806 - PropertyAccessExpression 966807 966820 - Identifier 966807 966811 - Identifier 966812 966820 - Block 966822 969066 - VariableStatement 966824 966874 - VariableDeclarationList 966824 966873 - VariableDeclaration 966843 966873 - Identifier 966843 966852 - PropertyAccessExpression 966854 966873 - Identifier 966854 966859 - Identifier 966860 966873 - SwitchStatement 966874 969055 - PropertyAccessExpression 966896 966921 - PropertyAccessExpression 966896 966909 - Identifier 966896 966900 - Identifier 966901 966909 - Identifier 966910 966921 - CaseBlock 966922 969055 - CaseClause 966924 967045 - StringLiteral 966946 966955 - ExpressionStatement 966956 967005 - CallExpression 966956 967004 - Identifier 966956 966998 - Identifier 966999 967003 - ReturnStatement 967005 967045 - Identifier 967033 967044 - CaseClause 967045 967166 - StringLiteral 967067 967076 - ExpressionStatement 967077 967126 - CallExpression 967077 967125 - Identifier 967077 967119 - Identifier 967120 967124 - ReturnStatement 967126 967166 - Identifier 967154 967165 - CaseClause 967166 967287 - StringLiteral 967188 967197 - ExpressionStatement 967198 967247 - CallExpression 967198 967246 - Identifier 967198 967240 - Identifier 967241 967245 - ReturnStatement 967247 967287 - Identifier 967275 967286 - CaseClause 967287 967410 - StringLiteral 967309 967319 - ExpressionStatement 967320 967369 - CallExpression 967320 967368 - Identifier 967320 967362 - Identifier 967363 967367 - ReturnStatement 967369 967410 - Identifier 967397 967409 - CaseClause 967410 967527 - StringLiteral 967432 967439 - ExpressionStatement 967440 967489 - CallExpression 967440 967488 - Identifier 967440 967482 - Identifier 967483 967487 - ReturnStatement 967489 967527 - Identifier 967517 967526 - CaseClause 967527 967654 - StringLiteral 967549 967561 - ExpressionStatement 967562 967611 - CallExpression 967562 967610 - Identifier 967562 967604 - Identifier 967605 967609 - ReturnStatement 967611 967654 - Identifier 967639 967653 - CaseClause 967654 967771 - StringLiteral 967676 967683 - ExpressionStatement 967684 967733 - CallExpression 967684 967732 - Identifier 967684 967726 - Identifier 967727 967731 - ReturnStatement 967733 967771 - Identifier 967761 967770 - CaseClause 967771 967805 - StringLiteral 967793 967804 - CaseClause 967805 967936 - StringLiteral 967827 967838 - ExpressionStatement 967839 967888 - CallExpression 967839 967887 - Identifier 967839 967881 - Identifier 967882 967886 - ReturnStatement 967888 967936 - Identifier 967916 967935 - CaseClause 967936 968073 - StringLiteral 967958 967966 - ReturnStatement 967967 968073 - ConditionalExpression 967995 968072 - BinaryExpression 967995 968045 - ParenthesizedExpression 967995 968027 - BinaryExpression 967997 968026 - PrefixUnaryExpression 967997 968006 - Identifier 967998 968006 - BarBarToken 968006 968009 - PrefixUnaryExpression 968009 968026 - PropertyAccessExpression 968011 968026 - Identifier 968011 968019 - Identifier 968020 968026 - AmpersandAmpersandToken 968027 968030 - PrefixUnaryExpression 968030 968045 - Identifier 968032 968045 - QuestionToken 968045 968047 - Identifier 968047 968060 - ColonToken 968060 968062 - Identifier 968062 968072 - CaseClause 968073 968226 - StringLiteral 968095 968105 - ReturnStatement 968106 968226 - ConditionalExpression 968134 968225 - BinaryExpression 968134 968184 - ParenthesizedExpression 968134 968166 - BinaryExpression 968136 968165 - PrefixUnaryExpression 968136 968145 - Identifier 968137 968145 - BarBarToken 968145 968148 - PrefixUnaryExpression 968148 968165 - PropertyAccessExpression 968150 968165 - Identifier 968150 968158 - Identifier 968159 968165 - AmpersandAmpersandToken 968166 968169 - PrefixUnaryExpression 968169 968184 - Identifier 968171 968184 - QuestionToken 968184 968186 - CallExpression 968186 968213 - Identifier 968186 968204 - Identifier 968205 968212 - ColonToken 968213 968215 - Identifier 968215 968225 - CaseClause 968226 969040 - StringLiteral 968248 968257 - IfStatement 968258 968925 - BinaryExpression 968284 968317 - Identifier 968284 968292 - AmpersandAmpersandToken 968292 968295 - BinaryExpression 968295 968317 - PropertyAccessExpression 968295 968311 - Identifier 968295 968304 - Identifier 968305 968311 - EqualsEqualsEqualsToken 968311 968315 - NumericLiteral 968315 968317 - Block 968318 968925 - IfStatement 968320 968861 - CallExpression 968350 968377 - Identifier 968350 968371 - Identifier 968372 968376 - Block 968378 968861 - VariableStatement 968380 968459 - VariableDeclarationList 968380 968458 - VariableDeclaration 968415 968458 - Identifier 968415 968423 - CallExpression 968425 968458 - Identifier 968425 968445 - ElementAccessExpression 968446 968457 - Identifier 968446 968454 - NumericLiteral 968455 968456 - VariableStatement 968459 968537 - VariableDeclarationList 968459 968536 - VariableDeclaration 968494 968536 - Identifier 968494 968501 - CallExpression 968503 968536 - Identifier 968503 968523 - ElementAccessExpression 968524 968535 - Identifier 968524 968532 - NumericLiteral 968533 968534 - VariableStatement 968537 968706 - VariableDeclarationList 968537 968705 - VariableDeclaration 968572 968705 - Identifier 968572 968582 - ConditionalExpression 968584 968705 - BinaryExpression 968584 968633 - BinaryExpression 968584 968607 - Identifier 968584 968592 - EqualsEqualsEqualsToken 968592 968596 - Identifier 968596 968607 - BarBarToken 968607 968610 - BinaryExpression 968610 968633 - Identifier 968610 968618 - EqualsEqualsEqualsToken 968618 968622 - Identifier 968622 968633 - QuestionToken 968633 968635 - ArrayLiteralExpression 968635 968692 - CallExpression 968637 968691 - Identifier 968637 968652 - Identifier 968653 968660 - Identifier 968661 968668 - FalseKeyword 968669 968690 - ColonToken 968692 968694 - Identifier 968694 968705 - ReturnStatement 968706 968834 - CallExpression 968742 968833 - Identifier 968742 968762 - Identifier 968763 968783 - Identifier 968784 968797 - Identifier 968798 968809 - Identifier 968810 968821 - Identifier 968822 968832 - ReturnStatement 968861 968902 - Identifier 968893 968901 - ExpressionStatement 968925 968974 - CallExpression 968925 968973 - Identifier 968925 968967 - Identifier 968968 968972 - ReturnStatement 968974 969040 - ConditionalExpression 969002 969039 - PrefixUnaryExpression 969002 969017 - Identifier 969004 969017 - QuestionToken 969017 969019 - Identifier 969019 969027 - ColonToken 969027 969029 - Identifier 969029 969039 - FunctionDeclaration 969073 969291 - Identifier 969089 969122 - Parameter 969123 969146 - Identifier 969123 969127 - TypeReference 969128 969146 - Identifier 969128 969146 - Block 969147 969291 - VariableStatement 969149 969203 - VariableDeclarationList 969149 969202 - VariableDeclaration 969164 969202 - Identifier 969164 969169 - CallExpression 969171 969202 - Identifier 969171 969191 - PropertyAccessExpression 969192 969201 - Identifier 969192 969196 - Identifier 969197 969201 - ReturnStatement 969203 969284 - ConditionalExpression 969219 969283 - Identifier 969219 969236 - QuestionToken 969236 969238 - CallExpression 969238 969276 - Identifier 969238 969254 - Identifier 969255 969259 - PropertyAccessExpression 969260 969275 - Identifier 969260 969270 - Identifier 969271 969275 - ColonToken 969276 969278 - Identifier 969278 969283 - FunctionDeclaration 969291 971069 - Identifier 969307 969332 - Parameter 969333 969356 - Identifier 969333 969337 - TypeReference 969338 969356 - Identifier 969338 969356 - TypeReference 969358 969363 - Identifier 969358 969363 - Block 969363 971069 - VariableStatement 969365 969408 - VariableDeclarationList 969365 969407 - VariableDeclaration 969380 969407 - Identifier 969380 969386 - CallExpression 969388 969407 - Identifier 969388 969401 - Identifier 969402 969406 - IfStatement 969408 971026 - PrefixUnaryExpression 969422 969441 - PropertyAccessExpression 969423 969441 - Identifier 969423 969428 - Identifier 969429 969441 - Block 969442 971026 - IfStatement 969444 969788 - BinaryExpression 969559 969623 - CallExpression 969559 969585 - Identifier 969559 969579 - Identifier 969580 969584 - AmpersandAmpersandToken 969585 969588 - CallExpression 969588 969623 - Identifier 969588 969610 - PropertyAccessExpression 969611 969622 - Identifier 969611 969615 - Identifier 969616 969622 - Block 969624 969788 - ExpressionStatement 969626 969681 - BinaryExpression 969626 969680 - PropertyAccessExpression 969626 969664 - Identifier 969626 969649 - Identifier 969650 969664 - EqualsToken 969664 969666 - Identifier 969666 969680 - ReturnStatement 969681 969773 - BinaryExpression 969705 969772 - PropertyAccessExpression 969705 969724 - Identifier 969705 969711 - Identifier 969712 969724 - EqualsToken 969724 969726 - CallExpression 969726 969772 - Identifier 969726 969748 - PropertyAccessExpression 969749 969771 - PropertyAccessExpression 969749 969760 - Identifier 969749 969753 - Identifier 969754 969760 - Identifier 969761 969771 - VariableStatement 969788 969833 - VariableDeclarationList 969788 969832 - VariableDeclaration 969805 969832 - Identifier 969805 969812 - UnionType 969813 969832 - TypeReference 969813 969820 - Identifier 969813 969820 - UndefinedKeyword 969822 969832 - VariableStatement 969833 969874 - VariableDeclarationList 969833 969873 - VariableDeclaration 969850 969873 - Identifier 969850 969855 - UnionType 969856 969873 - TypeReference 969856 969861 - Identifier 969856 969861 - UndefinedKeyword 969863 969873 - VariableStatement 969874 969921 - VariableDeclarationList 969874 969920 - VariableDeclaration 969893 969920 - Identifier 969893 969901 - PropertyAccessExpression 969903 969920 - Identifier 969903 969915 - Identifier 969916 969920 - IfStatement 969921 970587 - CallExpression 969939 969965 - Identifier 969939 969959 - Identifier 969960 969964 - Block 969966 970587 - ExpressionStatement 969968 970037 - BinaryExpression 969968 970036 - Identifier 969968 969990 - EqualsToken 969990 969992 - CallExpression 969992 970036 - Identifier 969992 970030 - Identifier 970031 970035 - IfStatement 970037 970572 - PrefixUnaryExpression 970059 970064 - Identifier 970060 970064 - Block 970065 970572 - ExpressionStatement 970067 970161 - BinaryExpression 970067 970160 - Identifier 970067 970095 - EqualsToken 970095 970097 - CallExpression 970097 970160 - Identifier 970097 970122 - Identifier 970123 970127 - Identifier 970128 970136 - TrueKeyword 970137 970159 - IfStatement 970161 970489 - BinaryExpression 970187 970211 - Identifier 970187 970193 - EqualsEqualsEqualsToken 970193 970197 - Identifier 970197 970211 - Block 970212 970332 - ExpressionStatement 970214 970309 - BinaryExpression 970214 970308 - Identifier 970214 970246 - EqualsToken 970246 970248 - CallExpression 970248 970308 - Identifier 970248 970273 - Identifier 970274 970278 - BinaryExpression 970279 970307 - Identifier 970279 970287 - BarToken 970287 970289 - PropertyAccessExpression 970289 970307 - Identifier 970289 970301 - Identifier 970302 970307 - Block 970358 970489 - ExpressionStatement 970360 970426 - CallExpression 970360 970425 - Identifier 970360 970410 - Identifier 970411 970415 - Identifier 970416 970424 - ExpressionStatement 970489 970553 - BinaryExpression 970489 970552 - Identifier 970489 970515 - EqualsToken 970515 970517 - CallExpression 970517 970552 - Identifier 970517 970538 - Identifier 970539 970543 - Identifier 970544 970551 - IfStatement 970587 970755 - PrefixUnaryExpression 970605 970610 - Identifier 970606 970610 - Block 970611 970755 - ExpressionStatement 970613 970680 - BinaryExpression 970613 970679 - Identifier 970613 970637 - EqualsToken 970637 970639 - CallExpression 970639 970679 - Identifier 970639 970664 - Identifier 970665 970669 - Identifier 970670 970678 - ExpressionStatement 970680 970740 - BinaryExpression 970680 970739 - Identifier 970680 970702 - EqualsToken 970702 970704 - CallExpression 970704 970739 - Identifier 970704 970725 - Identifier 970726 970730 - Identifier 970731 970738 - ExpressionStatement 970755 970975 - BinaryExpression 970755 970974 - PropertyAccessExpression 970755 970965 - Identifier 970755 970950 - Identifier 970951 970965 - EqualsToken 970965 970967 - Identifier 970967 970974 - ExpressionStatement 970975 971015 - BinaryExpression 970975 971014 - PropertyAccessExpression 970975 971007 - Identifier 970975 970994 - Identifier 970995 971007 - EqualsToken 971007 971009 - Identifier 971009 971014 - ReturnStatement 971026 971062 - PropertyAccessExpression 971042 971061 - Identifier 971042 971048 - Identifier 971049 971061 - FunctionDeclaration 971069 971240 - Identifier 971085 971120 - Parameter 971121 971148 - Identifier 971121 971125 - TypeReference 971126 971148 - Identifier 971126 971148 - UnionType 971150 971169 - ArrayType 971150 971157 - TypeReference 971150 971155 - Identifier 971150 971155 - UndefinedKeyword 971159 971169 - Block 971169 971240 - ReturnStatement 971171 971233 - CallExpression 971187 971232 - Identifier 971187 971191 - PropertyAccessExpression 971192 971210 - Identifier 971192 971196 - Identifier 971197 971210 - Identifier 971211 971231 - FunctionDeclaration 971240 971872 - Identifier 971256 971281 - Parameter 971282 971301 - Identifier 971282 971286 - TypeReference 971287 971301 - Identifier 971287 971301 - TypeReference 971303 971308 - Identifier 971303 971308 - Block 971308 971872 - VariableStatement 971310 971353 - VariableDeclarationList 971310 971352 - VariableDeclaration 971325 971352 - Identifier 971325 971331 - CallExpression 971333 971352 - Identifier 971333 971346 - Identifier 971347 971351 - IfStatement 971353 971829 - PrefixUnaryExpression 971367 971386 - PropertyAccessExpression 971368 971386 - Identifier 971368 971373 - Identifier 971374 971386 - Block 971387 971829 - VariableStatement 971389 971733 - VariableDeclarationList 971389 971732 - VariableDeclaration 971686 971732 - Identifier 971686 971691 - CallExpression 971693 971732 - Identifier 971693 971726 - Identifier 971727 971731 - ExpressionStatement 971733 971818 - BinaryExpression 971733 971817 - PropertyAccessExpression 971733 971765 - Identifier 971733 971752 - Identifier 971753 971765 - EqualsToken 971765 971767 - CallExpression 971767 971817 - Identifier 971767 971795 - CallExpression 971796 971816 - Identifier 971796 971810 - Identifier 971811 971815 - ReturnStatement 971829 971865 - PropertyAccessExpression 971845 971864 - Identifier 971845 971851 - Identifier 971852 971864 - FunctionDeclaration 971872 973271 - Identifier 971888 971910 - Parameter 971911 971937 - Identifier 971911 971917 - UnionType 971918 971937 - TypeReference 971918 971925 - Identifier 971918 971925 - UndefinedKeyword 971927 971937 - Parameter 971938 971952 - Identifier 971938 971944 - NumberKeyword 971945 971952 - TypeReference 971954 971965 - Identifier 971954 971965 - Block 971965 973271 - FunctionDeclaration 971967 972540 - Identifier 971985 972004 - Parameter 972005 972019 - Identifier 972005 972011 - TypeReference 972012 972019 - Identifier 972012 972019 - UnionType 972021 972045 - TypeReference 972021 972033 - Identifier 972021 972033 - UndefinedKeyword 972035 972045 - Block 972045 972540 - VariableStatement 972047 972102 - VariableDeclarationList 972047 972101 - VariableDeclaration 972066 972101 - Identifier 972066 972079 - PropertyAccessExpression 972081 972101 - Identifier 972081 972088 - Identifier 972089 972101 - IfStatement 972102 972529 - Identifier 972120 972132 - Block 972133 972529 - ForOfStatement 972135 972514 - VariableDeclarationList 972158 972175 - VariableDeclaration 972163 972175 - Identifier 972163 972175 - Identifier 972178 972191 - Block 972192 972514 - SwitchStatement 972194 972495 - PropertyAccessExpression 972224 972240 - Identifier 972224 972235 - Identifier 972236 972240 - CaseBlock 972241 972495 - CaseClause 972243 972302 - PropertyAccessExpression 972273 972301 - Identifier 972273 972284 - Identifier 972285 972301 - CaseClause 972302 972365 - PropertyAccessExpression 972332 972364 - Identifier 972332 972343 - Identifier 972344 972364 - CaseClause 972365 972472 - PropertyAccessExpression 972395 972422 - Identifier 972395 972406 - Identifier 972407 972422 - ReturnStatement 972423 972472 - Identifier 972459 972471 - IfStatement 972540 972641 - PrefixUnaryExpression 972556 972563 - Identifier 972557 972563 - Block 972564 972641 - ReturnStatement 972566 972630 - ConditionalExpression 972586 972629 - Identifier 972586 972592 - QuestionToken 972592 972594 - Identifier 972594 972611 - ColonToken 972611 972613 - Identifier 972613 972629 - VariableStatement 972641 972696 - VariableDeclarationList 972641 972695 - VariableDeclaration 972656 972695 - Identifier 972656 972661 - CallExpression 972663 972695 - Identifier 972663 972687 - Identifier 972688 972694 - IfStatement 972696 972949 - PrefixUnaryExpression 972710 972742 - ParenthesizedExpression 972711 972742 - BinaryExpression 972712 972741 - PropertyAccessExpression 972712 972722 - Identifier 972712 972716 - Identifier 972717 972722 - AmpersandToken 972722 972724 - PropertyAccessExpression 972724 972741 - Identifier 972724 972734 - Identifier 972735 972741 - Block 972743 972949 - ExpressionStatement 972745 972874 - CallExpression 972745 972873 - Identifier 972745 972764 - CallExpression 972765 972791 - Identifier 972765 972783 - Identifier 972784 972790 - PropertyAccessExpression 972792 972852 - Identifier 972792 972804 - Identifier 972805 972852 - CallExpression 972853 972872 - Identifier 972853 972864 - Identifier 972865 972871 - ReturnStatement 972874 972938 - ConditionalExpression 972894 972937 - Identifier 972894 972900 - QuestionToken 972900 972902 - Identifier 972902 972919 - ColonToken 972919 972921 - Identifier 972921 972937 - IfStatement 972949 973228 - BinaryExpression 972963 973019 - CallExpression 972963 973009 - Identifier 972963 972969 - PropertyAccessExpression 972970 973008 - ParenthesizedExpression 972970 972993 - AsExpression 972971 972992 - Identifier 972971 972975 - TypeReference 972978 972992 - Identifier 972978 972992 - Identifier 972994 973008 - ExclamationEqualsEqualsToken 973009 973013 - Identifier 973013 973019 - Block 973020 973228 - ExpressionStatement 973022 973153 - CallExpression 973022 973152 - Identifier 973022 973041 - CallExpression 973042 973068 - Identifier 973042 973060 - Identifier 973061 973067 - PropertyAccessExpression 973069 973124 - Identifier 973069 973081 - Identifier 973082 973124 - CallExpression 973125 973144 - Identifier 973125 973136 - Identifier 973137 973143 - Identifier 973145 973151 - ReturnStatement 973153 973217 - ConditionalExpression 973173 973216 - Identifier 973173 973179 - QuestionToken 973179 973181 - Identifier 973181 973198 - ColonToken 973198 973200 - Identifier 973200 973216 - ReturnStatement 973228 973264 - AsExpression 973244 973263 - Identifier 973244 973249 - TypeReference 973252 973263 - Identifier 973252 973263 - FunctionDeclaration 973271 973501 - Identifier 973287 973308 - Parameter 973309 973323 - Identifier 973309 973313 - TypeReference 973314 973323 - Identifier 973314 973323 - Parameter 973324 973346 - Identifier 973324 973337 - BooleanKeyword 973338 973346 - UnionType 973348 973367 - TypeReference 973348 973355 - Identifier 973348 973355 - UndefinedKeyword 973357 973367 - Block 973367 973501 - ReturnStatement 973369 973494 - CallExpression 973385 973493 - Identifier 973385 973401 - Identifier 973402 973406 - PropertyAccessExpression 973407 973425 - Identifier 973407 973419 - Identifier 973420 973425 - ConditionalExpression 973426 973492 - Identifier 973426 973439 - QuestionToken 973439 973441 - PropertyAccessExpression 973441 973480 - Identifier 973441 973453 - Identifier 973454 973480 - ColonToken 973480 973482 - Identifier 973482 973492 - FunctionDeclaration 973501 973728 - Identifier 973517 973537 - Parameter 973538 973552 - Identifier 973538 973542 - TypeReference 973543 973552 - Identifier 973543 973552 - Parameter 973553 973575 - Identifier 973553 973566 - BooleanKeyword 973567 973575 - UnionType 973577 973596 - TypeReference 973577 973584 - Identifier 973577 973584 - UndefinedKeyword 973586 973596 - Block 973596 973728 - ReturnStatement 973598 973721 - CallExpression 973614 973720 - Identifier 973614 973630 - Identifier 973631 973635 - PropertyAccessExpression 973636 973653 - Identifier 973636 973648 - Identifier 973649 973653 - ConditionalExpression 973654 973719 - Identifier 973654 973667 - QuestionToken 973667 973669 - PropertyAccessExpression 973669 973707 - Identifier 973669 973681 - Identifier 973682 973707 - ColonToken 973707 973709 - Identifier 973709 973719 - FunctionDeclaration 973728 974580 - Identifier 973744 973769 - Parameter 973770 973784 - Identifier 973770 973774 - TypeReference 973775 973784 - Identifier 973775 973784 - Parameter 973785 973799 - Identifier 973785 973791 - NumberKeyword 973792 973799 - Parameter 973800 973822 - Identifier 973800 973813 - BooleanKeyword 973814 973822 - UnionType 973824 973843 - TypeReference 973824 973831 - Identifier 973824 973831 - UndefinedKeyword 973833 973843 - Block 973843 974580 - VariableStatement 973845 973976 - VariableDeclarationList 973845 973975 - VariableDeclaration 973860 973975 - Identifier 973860 973867 - CallExpression 973869 973975 - Identifier 973869 973885 - Identifier 973886 973890 - PropertyAccessExpression 973891 973908 - Identifier 973891 973903 - Identifier 973904 973908 - ConditionalExpression 973909 973974 - Identifier 973909 973922 - QuestionToken 973922 973924 - PropertyAccessExpression 973924 973962 - Identifier 973924 973936 - Identifier 973937 973962 - ColonToken 973962 973964 - Identifier 973964 973974 - IfStatement 973976 974549 - Identifier 973990 973996 - Block 973997 974549 - ExpressionStatement 973999 974195 - CallExpression 973999 974194 - Identifier 973999 974186 - Identifier 974187 974193 - IfStatement 974195 974538 - BinaryExpression 974213 974268 - CallExpression 974213 974258 - Identifier 974213 974219 - PropertyAccessExpression 974220 974257 - CallExpression 974220 974242 - Identifier 974220 974234 - Identifier 974235 974241 - Identifier 974243 974257 - ExclamationEqualsEqualsToken 974258 974262 - Identifier 974262 974268 - Block 974269 974538 - VariableStatement 974271 974375 - VariableDeclarationList 974271 974374 - VariableDeclaration 974294 974374 - Identifier 974294 974299 - BinaryExpression 974301 974374 - PropertyAccessExpression 974301 974321 - Identifier 974301 974308 - Identifier 974309 974321 - AmpersandAmpersandToken 974321 974324 - CallExpression 974324 974374 - Identifier 974324 974329 - PropertyAccessExpression 974330 974349 - Identifier 974330 974336 - Identifier 974337 974349 - Identifier 974350 974373 - ExpressionStatement 974375 974488 - CallExpression 974375 974487 - Identifier 974375 974398 - Identifier 974399 974403 - PropertyAccessExpression 974404 974459 - Identifier 974404 974416 - Identifier 974417 974459 - CallExpression 974460 974479 - Identifier 974460 974471 - Identifier 974472 974478 - Identifier 974480 974486 - ReturnStatement 974488 974523 - Identifier 974512 974522 - ReturnStatement 974549 974573 - Identifier 974565 974572 - FunctionDeclaration 974580 974946 - Identifier 974596 974612 - Parameter 974613 974627 - Identifier 974613 974617 - TypeReference 974618 974627 - Identifier 974618 974627 - Parameter 974628 974649 - Identifier 974628 974636 - TypeReference 974637 974649 - Identifier 974637 974649 - Parameter 974650 974692 - Identifier 974650 974661 - UnionType 974662 974692 - TypeReference 974662 974680 - Identifier 974662 974680 - UndefinedKeyword 974682 974692 - UnionType 974694 974713 - TypeReference 974694 974701 - Identifier 974694 974701 - UndefinedKeyword 974703 974713 - Block 974713 974946 - ReturnStatement 974715 974939 - CallExpression 974832 974938 - Identifier 974832 974844 - Identifier 974845 974867 - Identifier 974868 974873 - Identifier 974874 974882 - Identifier 974883 974894 - FalseKeyword 974895 974911 - FalseKeyword 974912 974937 - FunctionDeclaration 974946 975035 - Identifier 974962 974976 - Parameter 974977 974991 - Identifier 974977 974981 - TypeReference 974982 974991 - Identifier 974982 974991 - Parameter 974992 975001 - Identifier 974992 974998 - LiteralType 974999 975001 - NumericLiteral 974999 975001 - Parameter 975002 975021 - Identifier 975002 975015 - LiteralType 975016 975021 - TrueKeyword 975016 975021 - TypeReference 975023 975034 - Identifier 975023 975034 - FunctionDeclaration 975035 975137 - Identifier 975049 975063 - Parameter 975064 975078 - Identifier 975064 975068 - TypeReference 975069 975078 - Identifier 975069 975078 - Parameter 975079 975088 - Identifier 975079 975085 - LiteralType 975086 975088 - NumericLiteral 975086 975088 - Parameter 975089 975111 - Identifier 975089 975102 - BooleanKeyword 975103 975111 - UnionType 975113 975136 - TypeReference 975113 975124 - Identifier 975113 975124 - UndefinedKeyword 975126 975136 - FunctionDeclaration 975137 975230 - Identifier 975151 975165 - Parameter 975166 975180 - Identifier 975166 975170 - TypeReference 975171 975180 - Identifier 975171 975180 - Parameter 975181 975195 - Identifier 975181 975187 - NumberKeyword 975188 975195 - Parameter 975196 975215 - Identifier 975196 975209 - LiteralType 975210 975215 - TrueKeyword 975210 975215 - TypeReference 975217 975229 - Identifier 975217 975229 - FunctionDeclaration 975230 975338 - Identifier 975244 975258 - Parameter 975259 975273 - Identifier 975259 975263 - TypeReference 975264 975273 - Identifier 975264 975273 - Parameter 975274 975288 - Identifier 975274 975280 - NumberKeyword 975281 975288 - Parameter 975289 975311 - Identifier 975289 975302 - BooleanKeyword 975303 975311 - UnionType 975313 975337 - TypeReference 975313 975325 - Identifier 975313 975325 - UndefinedKeyword 975327 975337 - FunctionDeclaration 975338 975609 - Identifier 975352 975366 - Parameter 975367 975381 - Identifier 975367 975371 - TypeReference 975372 975381 - Identifier 975372 975381 - Parameter 975382 975396 - Identifier 975382 975388 - NumberKeyword 975389 975396 - Parameter 975397 975419 - Identifier 975397 975410 - BooleanKeyword 975411 975419 - UnionType 975421 975444 - TypeReference 975421 975432 - Identifier 975421 975432 - UndefinedKeyword 975434 975444 - Block 975444 975609 - VariableStatement 975446 975511 - VariableDeclarationList 975446 975510 - VariableDeclaration 975461 975510 - Identifier 975461 975468 - CallExpression 975470 975510 - Identifier 975470 975490 - Identifier 975491 975495 - Identifier 975496 975509 - ReturnStatement 975511 975602 - ConditionalExpression 975527 975601 - BinaryExpression 975527 975550 - Identifier 975527 975534 - BarBarToken 975534 975537 - Identifier 975537 975550 - QuestionToken 975550 975552 - CallExpression 975552 975589 - Identifier 975552 975574 - Identifier 975575 975581 - Identifier 975582 975588 - ColonToken 975589 975591 - Identifier 975591 975601 - FunctionDeclaration 975609 975702 - Identifier 975625 975647 - Parameter 975648 975676 - Identifier 975648 975657 - TypeOperator 975658 975676 - ArrayType 975667 975676 - StringKeyword 975667 975674 - Parameter 975677 975686 - Identifier 975677 975683 - LiteralType 975684 975686 - NumericLiteral 975684 975686 - ArrayType 975688 975701 - TypeReference 975688 975699 - Identifier 975688 975699 - FunctionDeclaration 975702 975799 - Identifier 975716 975738 - Parameter 975739 975767 - Identifier 975739 975748 - TypeOperator 975749 975767 - ArrayType 975758 975767 - StringKeyword 975758 975765 - Parameter 975768 975782 - Identifier 975768 975774 - NumberKeyword 975775 975782 - ArrayType 975784 975798 - TypeReference 975784 975796 - Identifier 975784 975796 - FunctionDeclaration 975799 976126 - Identifier 975813 975835 - Parameter 975836 975864 - Identifier 975836 975845 - TypeOperator 975846 975864 - ArrayType 975855 975864 - StringKeyword 975855 975862 - Parameter 975865 975879 - Identifier 975865 975871 - NumberKeyword 975872 975879 - Block 975880 976126 - VariableStatement 975882 975922 - VariableDeclarationList 975882 975921 - VariableDeclaration 975895 975921 - Identifier 975895 975901 - UnionType 975902 975921 - ArrayType 975902 975909 - TypeReference 975902 975907 - Identifier 975902 975907 - UndefinedKeyword 975911 975921 - ForOfStatement 975922 976082 - VariableDeclarationList 975937 975951 - VariableDeclaration 975942 975951 - Identifier 975942 975951 - Identifier 975954 975964 - Block 975965 976082 - ExpressionStatement 975967 976071 - BinaryExpression 975967 976070 - Identifier 975967 975986 - EqualsToken 975986 975988 - CallExpression 975988 976070 - Identifier 975988 975995 - Identifier 975996 976001 - CallExpression 976002 976069 - Identifier 976002 976016 - AsExpression 976017 976037 - Identifier 976017 976025 - TypeReference 976028 976037 - Identifier 976028 976037 - Identifier 976038 976044 - FalseKeyword 976045 976068 - ReturnStatement 976082 976119 - BinaryExpression 976098 976118 - Identifier 976098 976104 - QuestionQuestionToken 976104 976107 - Identifier 976107 976118 - FunctionDeclaration 976126 976503 - Identifier 976142 976179 - Block 976181 976503 - ReturnStatement 976183 976496 - BinaryExpression 976340 976495 - Identifier 976340 976382 - BarBarEqualsToken 976382 976386 - BinaryExpression 976386 976495 - CallExpression 976386 976475 - Identifier 976386 976400 - AsExpression 976401 976438 - StringLiteral 976401 976426 - TypeReference 976429 976438 - Identifier 976429 976438 - NumericLiteral 976439 976451 - TrueKeyword 976452 976474 - BarBarToken 976475 976478 - Identifier 976478 976495 - FunctionDeclaration 976503 976870 - Identifier 976519 976553 - Block 976555 976870 - ReturnStatement 976557 976863 - BinaryExpression 976714 976862 - Identifier 976714 976753 - BarBarEqualsToken 976753 976757 - BinaryExpression 976757 976862 - CallExpression 976757 976843 - Identifier 976757 976771 - AsExpression 976772 976806 - StringLiteral 976772 976794 - TypeReference 976797 976806 - Identifier 976797 976806 - NumericLiteral 976807 976819 - TrueKeyword 976820 976842 - BarBarToken 976843 976846 - Identifier 976846 976862 - FunctionDeclaration 976870 977207 - Identifier 976886 976910 - Block 976912 977207 - ReturnStatement 976914 977200 - BinaryExpression 977071 977199 - Identifier 977071 977100 - BarBarEqualsToken 977100 977104 - BinaryExpression 977104 977199 - CallExpression 977104 977180 - Identifier 977104 977118 - AsExpression 977119 977143 - StringLiteral 977119 977131 - TypeReference 977134 977143 - Identifier 977134 977143 - NumericLiteral 977144 977156 - TrueKeyword 977157 977179 - BarBarToken 977180 977183 - Identifier 977183 977199 - FunctionDeclaration 977207 978106 - Identifier 977223 977257 - Block 977259 978106 - IfStatement 977261 978043 - PrefixUnaryExpression 977275 977314 - Identifier 977276 977314 - Block 977315 978043 - VariableStatement 977317 977499 - VariableDeclarationList 977317 977498 - VariableDeclaration 977422 977498 - Identifier 977422 977429 - CallExpression 977431 977498 - Identifier 977431 977444 - PropertyAccessExpression 977445 977461 - Identifier 977445 977456 - Identifier 977457 977461 - AsExpression 977462 977497 - StringLiteral 977462 977485 - TypeReference 977488 977497 - Identifier 977488 977497 - VariableStatement 977499 977562 - VariableDeclarationList 977499 977561 - VariableDeclaration 977518 977561 - Identifier 977518 977533 - CallExpression 977535 977561 - Identifier 977535 977559 - VariableStatement 977562 977681 - VariableDeclarationList 977562 977680 - VariableDeclaration 977583 977680 - Identifier 977583 977602 - CallExpression 977604 977680 - Identifier 977604 977617 - PropertyAccessExpression 977618 977638 - Identifier 977618 977629 - Identifier 977630 977638 - AsExpression 977639 977658 - StringLiteral 977639 977646 - TypeReference 977649 977658 - Identifier 977649 977658 - PropertyAccessExpression 977659 977679 - Identifier 977659 977670 - Identifier 977671 977679 - ExpressionStatement 977681 977730 - BinaryExpression 977681 977729 - PropertyAccessExpression 977681 977720 - Identifier 977681 977713 - Identifier 977714 977720 - EqualsToken 977720 977722 - Identifier 977722 977729 - ExpressionStatement 977730 977791 - BinaryExpression 977730 977790 - PropertyAccessExpression 977730 977773 - PropertyAccessExpression 977730 977768 - Identifier 977730 977762 - Identifier 977763 977768 - Identifier 977769 977773 - EqualsToken 977773 977775 - Identifier 977775 977790 - VariableStatement 977791 977863 - VariableDeclarationList 977791 977862 - VariableDeclaration 977812 977862 - Identifier 977812 977820 - CallExpression 977822 977862 - Identifier 977822 977840 - ArrayLiteralExpression 977841 977861 - Identifier 977842 977860 - ExpressionStatement 977863 977902 - BinaryExpression 977863 977901 - PropertyAccessExpression 977863 977891 - Identifier 977863 977883 - Identifier 977884 977891 - EqualsToken 977891 977893 - Identifier 977893 977901 - ExpressionStatement 977902 978032 - BinaryExpression 977902 978031 - Identifier 977902 977956 - EqualsToken 977956 977958 - CallExpression 977958 978031 - Identifier 977958 977978 - Identifier 977979 977985 - Identifier 977986 977994 - Identifier 977995 978006 - Identifier 978007 978018 - Identifier 978019 978030 - ReturnStatement 978043 978099 - Identifier 978059 978098 - FunctionDeclaration 978106 978337 - Identifier 978122 978153 - Parameter 978154 978175 - Identifier 978154 978166 - BooleanKeyword 978167 978175 - Block 978176 978337 - ReturnStatement 978178 978330 - BinaryExpression 978194 978329 - ParenthesizedExpression 978194 978310 - BinaryExpression 978196 978309 - Identifier 978196 978231 - BarBarEqualsToken 978231 978235 - CallExpression 978235 978309 - Identifier 978235 978249 - AsExpression 978250 978281 - StringLiteral 978250 978269 - TypeReference 978272 978281 - Identifier 978272 978281 - NumericLiteral 978282 978294 - Identifier 978295 978308 - BarBarToken 978310 978313 - Identifier 978313 978329 - FunctionDeclaration 978337 978565 - Identifier 978353 978383 - Parameter 978384 978405 - Identifier 978384 978396 - BooleanKeyword 978397 978405 - Block 978406 978565 - ReturnStatement 978408 978558 - BinaryExpression 978424 978557 - ParenthesizedExpression 978424 978538 - BinaryExpression 978426 978537 - Identifier 978426 978460 - BarBarEqualsToken 978460 978464 - CallExpression 978464 978537 - Identifier 978464 978478 - AsExpression 978479 978509 - StringLiteral 978479 978497 - TypeReference 978500 978509 - Identifier 978500 978509 - NumericLiteral 978510 978522 - Identifier 978523 978536 - BarBarToken 978538 978541 - Identifier 978541 978557 - FunctionDeclaration 978565 978786 - Identifier 978581 978616 - Parameter 978617 978638 - Identifier 978617 978629 - BooleanKeyword 978630 978638 - UnionType 978640 978659 - TypeReference 978640 978647 - Identifier 978640 978647 - UndefinedKeyword 978649 978659 - Block 978659 978786 - ReturnStatement 978661 978779 - BinaryExpression 978677 978778 - Identifier 978677 978717 - BarBarEqualsToken 978717 978721 - CallExpression 978721 978778 - Identifier 978721 978742 - AsExpression 978743 978763 - StringLiteral 978743 978751 - TypeReference 978754 978763 - Identifier 978754 978763 - Identifier 978764 978777 - FunctionDeclaration 978786 979025 - Identifier 978802 978841 - Parameter 978842 978863 - Identifier 978842 978854 - BooleanKeyword 978855 978863 - UnionType 978865 978884 - TypeReference 978865 978872 - Identifier 978865 978872 - UndefinedKeyword 978874 978884 - Block 978884 979025 - ReturnStatement 978886 979018 - BinaryExpression 978902 979017 - Identifier 978902 978946 - BarBarEqualsToken 978946 978950 - CallExpression 978950 979017 - Identifier 978950 978970 - AsExpression 978971 979002 - StringLiteral 978971 978990 - TypeReference 978993 979002 - Identifier 978993 979002 - Identifier 979003 979016 - FunctionDeclaration 979025 979216 - Identifier 979041 979063 - Block 979065 979216 - ReturnStatement 979067 979209 - BinaryExpression 979083 979208 - ParenthesizedExpression 979083 979189 - BinaryExpression 979085 979188 - Identifier 979085 979111 - BarBarEqualsToken 979111 979115 - CallExpression 979115 979188 - Identifier 979115 979129 - AsExpression 979130 979150 - StringLiteral 979130 979138 - TypeReference 979141 979150 - Identifier 979141 979150 - NumericLiteral 979151 979163 - FalseKeyword 979164 979187 - BarBarToken 979189 979192 - Identifier 979192 979208 - FunctionDeclaration 979216 979418 - Identifier 979232 979253 - Parameter 979254 979275 - Identifier 979254 979266 - BooleanKeyword 979267 979275 - Block 979276 979418 - ReturnStatement 979278 979411 - BinaryExpression 979294 979410 - ParenthesizedExpression 979294 979390 - BinaryExpression 979296 979389 - Identifier 979296 979321 - BarBarEqualsToken 979321 979325 - CallExpression 979325 979389 - Identifier 979325 979339 - AsExpression 979340 979361 - StringLiteral 979340 979349 - TypeReference 979352 979361 - Identifier 979352 979361 - NumericLiteral 979362 979374 - Identifier 979375 979388 - BarBarToken 979390 979393 - Identifier 979393 979410 - FunctionDeclaration 979418 979632 - Identifier 979434 979459 - Parameter 979460 979481 - Identifier 979460 979472 - BooleanKeyword 979473 979481 - Block 979482 979632 - ReturnStatement 979484 979625 - BinaryExpression 979500 979624 - ParenthesizedExpression 979500 979604 - BinaryExpression 979502 979603 - Identifier 979502 979531 - BarBarEqualsToken 979531 979535 - CallExpression 979535 979603 - Identifier 979535 979549 - AsExpression 979550 979575 - StringLiteral 979550 979563 - TypeReference 979566 979575 - Identifier 979566 979575 - NumericLiteral 979576 979588 - Identifier 979589 979602 - BarBarToken 979604 979607 - Identifier 979607 979624 - FunctionDeclaration 979632 979852 - Identifier 979648 979682 - Parameter 979683 979704 - Identifier 979683 979695 - BooleanKeyword 979696 979704 - UnionType 979706 979725 - TypeReference 979706 979713 - Identifier 979706 979713 - UndefinedKeyword 979715 979725 - Block 979725 979852 - ReturnStatement 979727 979845 - BinaryExpression 979743 979844 - Identifier 979743 979782 - BarBarEqualsToken 979782 979786 - CallExpression 979786 979844 - Identifier 979786 979807 - AsExpression 979808 979829 - StringLiteral 979808 979817 - TypeReference 979820 979829 - Identifier 979820 979829 - Identifier 979830 979843 - FunctionDeclaration 979852 980098 - Identifier 979868 979904 - Parameter 979905 979926 - Identifier 979905 979917 - BooleanKeyword 979918 979926 - Block 979927 980098 - ReturnStatement 979929 980091 - BinaryExpression 979945 980090 - ParenthesizedExpression 979945 980071 - BinaryExpression 979947 980070 - Identifier 979947 979987 - BarBarEqualsToken 979987 979991 - CallExpression 979991 980070 - Identifier 979991 980005 - AsExpression 980006 980042 - StringLiteral 980006 980030 - TypeReference 980033 980042 - Identifier 980033 980042 - NumericLiteral 980043 980055 - Identifier 980056 980069 - BarBarToken 980071 980074 - Identifier 980074 980090 - FunctionDeclaration 980098 980318 - Identifier 980114 980141 - Parameter 980142 980163 - Identifier 980142 980154 - BooleanKeyword 980155 980163 - Block 980164 980318 - ReturnStatement 980166 980311 - BinaryExpression 980182 980310 - ParenthesizedExpression 980182 980290 - BinaryExpression 980184 980289 - Identifier 980184 980215 - BarBarEqualsToken 980215 980219 - CallExpression 980219 980289 - Identifier 980219 980233 - AsExpression 980234 980261 - StringLiteral 980234 980249 - TypeReference 980252 980261 - Identifier 980252 980261 - NumericLiteral 980262 980274 - Identifier 980275 980288 - BarBarToken 980290 980293 - Identifier 980293 980310 - FunctionDeclaration 980318 980538 - Identifier 980334 980361 - Parameter 980362 980383 - Identifier 980362 980374 - BooleanKeyword 980375 980383 - Block 980384 980538 - ReturnStatement 980386 980531 - BinaryExpression 980402 980530 - ParenthesizedExpression 980402 980510 - BinaryExpression 980404 980509 - Identifier 980404 980435 - BarBarEqualsToken 980435 980439 - CallExpression 980439 980509 - Identifier 980439 980453 - AsExpression 980454 980481 - StringLiteral 980454 980469 - TypeReference 980472 980481 - Identifier 980472 980481 - NumericLiteral 980482 980494 - Identifier 980495 980508 - BarBarToken 980510 980513 - Identifier 980513 980530 - FunctionDeclaration 980538 980782 - Identifier 980554 980589 - Parameter 980590 980611 - Identifier 980590 980602 - BooleanKeyword 980603 980611 - Block 980612 980782 - ReturnStatement 980614 980775 - BinaryExpression 980630 980774 - ParenthesizedExpression 980630 980754 - BinaryExpression 980632 980753 - Identifier 980632 980671 - BarBarEqualsToken 980671 980675 - CallExpression 980675 980753 - Identifier 980675 980689 - AsExpression 980690 980725 - StringLiteral 980690 980713 - TypeReference 980716 980725 - Identifier 980716 980725 - NumericLiteral 980726 980738 - Identifier 980739 980752 - BarBarToken 980754 980757 - Identifier 980757 980774 - FunctionDeclaration 980782 981100 - Identifier 980798 980833 - Block 980835 981100 - ReturnStatement 980837 981093 - BinaryExpression 980990 981092 - Identifier 980990 981030 - QuestionQuestionEqualsToken 981030 981034 - CallExpression 981034 981092 - Identifier 981034 981056 - ArrayLiteralExpression 981057 981088 - StringLiteral 981058 981087 - NumericLiteral 981089 981091 - FunctionDeclaration 981100 981338 - Identifier 981116 981149 - Parameter 981150 981171 - Identifier 981150 981162 - BooleanKeyword 981163 981171 - Block 981172 981338 - ReturnStatement 981174 981331 - BinaryExpression 981190 981330 - ParenthesizedExpression 981190 981310 - BinaryExpression 981192 981309 - Identifier 981192 981229 - BarBarEqualsToken 981229 981233 - CallExpression 981233 981309 - Identifier 981233 981247 - AsExpression 981248 981281 - StringLiteral 981248 981269 - TypeReference 981272 981281 - Identifier 981272 981281 - NumericLiteral 981282 981294 - Identifier 981295 981308 - BarBarToken 981310 981313 - Identifier 981313 981330 - FunctionDeclaration 981338 981561 - Identifier 981354 981382 - Parameter 981383 981404 - Identifier 981383 981395 - BooleanKeyword 981396 981404 - Block 981405 981561 - ReturnStatement 981407 981554 - BinaryExpression 981423 981553 - ParenthesizedExpression 981423 981533 - BinaryExpression 981425 981532 - Identifier 981425 981457 - BarBarEqualsToken 981457 981461 - CallExpression 981461 981532 - Identifier 981461 981475 - AsExpression 981476 981504 - StringLiteral 981476 981492 - TypeReference 981495 981504 - Identifier 981495 981504 - NumericLiteral 981505 981517 - Identifier 981518 981531 - BarBarToken 981533 981536 - Identifier 981536 981553 - FunctionDeclaration 981561 981766 - Identifier 981577 981599 - Parameter 981600 981621 - Identifier 981600 981612 - BooleanKeyword 981613 981621 - Block 981622 981766 - ReturnStatement 981624 981759 - BinaryExpression 981640 981758 - ParenthesizedExpression 981640 981738 - BinaryExpression 981642 981737 - Identifier 981642 981668 - BarBarEqualsToken 981668 981672 - CallExpression 981672 981737 - Identifier 981672 981686 - AsExpression 981687 981709 - StringLiteral 981687 981697 - TypeReference 981700 981709 - Identifier 981700 981709 - NumericLiteral 981710 981722 - Identifier 981723 981736 - BarBarToken 981738 981741 - Identifier 981741 981758 - FunctionDeclaration 981766 981971 - Identifier 981782 981804 - Parameter 981805 981826 - Identifier 981805 981817 - BooleanKeyword 981818 981826 - Block 981827 981971 - ReturnStatement 981829 981964 - BinaryExpression 981845 981963 - ParenthesizedExpression 981845 981943 - BinaryExpression 981847 981942 - Identifier 981847 981873 - BarBarEqualsToken 981873 981877 - CallExpression 981877 981942 - Identifier 981877 981891 - AsExpression 981892 981914 - StringLiteral 981892 981902 - TypeReference 981905 981914 - Identifier 981905 981914 - NumericLiteral 981915 981927 - Identifier 981928 981941 - BarBarToken 981943 981946 - Identifier 981946 981963 - FunctionDeclaration 981971 982200 - Identifier 981987 982017 - Parameter 982018 982039 - Identifier 982018 982030 - BooleanKeyword 982031 982039 - Block 982040 982200 - ReturnStatement 982042 982193 - BinaryExpression 982058 982192 - ParenthesizedExpression 982058 982172 - BinaryExpression 982060 982171 - Identifier 982060 982094 - BarBarEqualsToken 982094 982098 - CallExpression 982098 982171 - Identifier 982098 982112 - AsExpression 982113 982143 - StringLiteral 982113 982131 - TypeReference 982134 982143 - Identifier 982134 982143 - NumericLiteral 982144 982156 - Identifier 982157 982170 - BarBarToken 982172 982175 - Identifier 982175 982192 - FunctionDeclaration 982200 982327 - Identifier 982216 982245 - Block 982247 982327 - ReturnStatement 982249 982320 - ConditionalExpression 982265 982319 - Identifier 982265 982293 - QuestionToken 982293 982295 - Identifier 982295 982309 - ColonToken 982309 982311 - Identifier 982311 982319 - FunctionDeclaration 982327 982663 - Identifier 982343 982373 - Block 982375 982663 - ReturnStatement 982377 982656 - BinaryExpression 982524 982655 - Identifier 982524 982559 - QuestionQuestionEqualsToken 982559 982563 - CallExpression 982563 982655 - Identifier 982563 982585 - ArrayLiteralExpression 982586 982651 - StringLiteral 982587 982602 - StringLiteral 982603 982617 - StringLiteral 982618 982632 - StringLiteral 982633 982650 - NumericLiteral 982652 982654 - FunctionDeclaration 982663 982886 - Identifier 982679 982707 - Parameter 982708 982729 - Identifier 982708 982720 - BooleanKeyword 982721 982729 - Block 982730 982886 - ReturnStatement 982732 982879 - BinaryExpression 982748 982878 - ParenthesizedExpression 982748 982858 - BinaryExpression 982750 982857 - Identifier 982750 982782 - BarBarEqualsToken 982782 982786 - CallExpression 982786 982857 - Identifier 982786 982800 - AsExpression 982801 982829 - StringLiteral 982801 982817 - TypeReference 982820 982829 - Identifier 982820 982829 - NumericLiteral 982830 982842 - Identifier 982843 982856 - BarBarToken 982858 982861 - Identifier 982861 982878 - FunctionDeclaration 982886 983094 - Identifier 982902 982925 - Parameter 982926 982947 - Identifier 982926 982938 - BooleanKeyword 982939 982947 - Block 982948 983094 - ReturnStatement 982950 983087 - BinaryExpression 982966 983086 - ParenthesizedExpression 982966 983066 - BinaryExpression 982968 983065 - Identifier 982968 982995 - BarBarEqualsToken 982995 982999 - CallExpression 982999 983065 - Identifier 982999 983013 - AsExpression 983014 983037 - StringLiteral 983014 983025 - TypeReference 983028 983037 - Identifier 983028 983037 - NumericLiteral 983038 983050 - Identifier 983051 983064 - BarBarToken 983066 983069 - Identifier 983069 983086 - FunctionDeclaration 983094 983332 - Identifier 983110 983143 - Parameter 983144 983165 - Identifier 983144 983156 - BooleanKeyword 983157 983165 - Block 983166 983332 - ReturnStatement 983168 983325 - BinaryExpression 983184 983324 - ParenthesizedExpression 983184 983304 - BinaryExpression 983186 983303 - Identifier 983186 983223 - BarBarEqualsToken 983223 983227 - CallExpression 983227 983303 - Identifier 983227 983241 - AsExpression 983242 983275 - StringLiteral 983242 983263 - TypeReference 983266 983275 - Identifier 983266 983275 - NumericLiteral 983276 983288 - Identifier 983289 983302 - BarBarToken 983304 983307 - Identifier 983307 983324 - FunctionDeclaration 983332 983573 - Identifier 983348 983382 - Parameter 983383 983404 - Identifier 983383 983395 - BooleanKeyword 983396 983404 - Block 983405 983573 - ReturnStatement 983407 983566 - BinaryExpression 983423 983565 - ParenthesizedExpression 983423 983545 - BinaryExpression 983425 983544 - Identifier 983425 983463 - BarBarEqualsToken 983463 983467 - CallExpression 983467 983544 - Identifier 983467 983481 - AsExpression 983482 983516 - StringLiteral 983482 983504 - TypeReference 983507 983516 - Identifier 983507 983516 - NumericLiteral 983517 983529 - Identifier 983530 983543 - BarBarToken 983545 983548 - Identifier 983548 983565 - FunctionDeclaration 983573 983783 - Identifier 983589 983613 - Parameter 983614 983635 - Identifier 983614 983626 - BooleanKeyword 983627 983635 - Block 983636 983783 - ReturnStatement 983638 983776 - BinaryExpression 983654 983775 - ParenthesizedExpression 983654 983756 - BinaryExpression 983656 983755 - Identifier 983656 983684 - BarBarEqualsToken 983684 983688 - CallExpression 983688 983755 - Identifier 983688 983702 - AsExpression 983703 983727 - StringLiteral 983703 983715 - TypeReference 983718 983727 - Identifier 983718 983727 - NumericLiteral 983728 983740 - Identifier 983741 983754 - BarBarToken 983756 983759 - Identifier 983759 983775 - FunctionDeclaration 983783 984008 - Identifier 983799 983828 - Parameter 983829 983850 - Identifier 983829 983841 - BooleanKeyword 983842 983850 - Block 983851 984008 - ReturnStatement 983853 984001 - BinaryExpression 983869 984000 - ParenthesizedExpression 983869 983981 - BinaryExpression 983871 983980 - Identifier 983871 983904 - BarBarEqualsToken 983904 983908 - CallExpression 983908 983980 - Identifier 983908 983922 - AsExpression 983923 983952 - StringLiteral 983923 983940 - TypeReference 983943 983952 - Identifier 983943 983952 - NumericLiteral 983953 983965 - Identifier 983966 983979 - BarBarToken 983981 983984 - Identifier 983984 984000 - FunctionDeclaration 984008 984279 - Identifier 984024 984049 - Parameter 984050 984064 - Identifier 984050 984054 - TypeReference 984055 984064 - Identifier 984055 984064 - Parameter 984065 984075 - Identifier 984065 984071 - NumericLiteral 984073 984075 - UnionType 984077 984100 - TypeReference 984077 984088 - Identifier 984077 984088 - UndefinedKeyword 984090 984100 - Block 984100 984279 - VariableStatement 984102 984193 - VariableDeclarationList 984102 984192 - VariableDeclaration 984117 984192 - Identifier 984117 984124 - CallExpression 984126 984192 - Identifier 984126 984142 - Identifier 984143 984147 - PropertyAccessExpression 984148 984165 - Identifier 984148 984160 - Identifier 984161 984165 - Identifier 984166 984191 - ReturnStatement 984193 984272 - BinaryExpression 984209 984271 - Identifier 984209 984216 - AmpersandAmpersandToken 984216 984219 - AsExpression 984219 984271 - CallExpression 984219 984256 - Identifier 984219 984241 - Identifier 984242 984248 - Identifier 984249 984255 - TypeReference 984259 984271 - Identifier 984259 984271 - FunctionDeclaration 984279 984738 - Identifier 984295 984318 - UnionType 984321 984340 - TypeReference 984321 984328 - Identifier 984321 984328 - UndefinedKeyword 984330 984340 - Block 984340 984738 - ExpressionStatement 984342 984626 - BinaryExpression 984342 984625 - Identifier 984342 984520 - BarBarEqualsToken 984520 984524 - BinaryExpression 984524 984625 - CallExpression 984524 984608 - Identifier 984524 984549 - AsExpression 984550 984571 - StringLiteral 984550 984559 - TypeReference 984562 984571 - Identifier 984562 984571 - NumericLiteral 984572 984584 - TrueKeyword 984585 984607 - BarBarToken 984608 984611 - Identifier 984611 984625 - ReturnStatement 984626 984731 - ConditionalExpression 984642 984730 - BinaryExpression 984642 984688 - Identifier 984642 984670 - EqualsEqualsEqualsToken 984670 984674 - Identifier 984674 984688 - QuestionToken 984688 984690 - Identifier 984690 984700 - ColonToken 984700 984702 - Identifier 984702 984730 - FunctionDeclaration 984738 985182 - Identifier 984754 984774 - UnionType 984777 984796 - TypeReference 984777 984784 - Identifier 984777 984784 - UndefinedKeyword 984786 984796 - Block 984796 985182 - ExpressionStatement 984798 985076 - BinaryExpression 984798 985075 - Identifier 984798 984973 - BarBarEqualsToken 984973 984977 - BinaryExpression 984977 985075 - CallExpression 984977 985058 - Identifier 984977 985002 - AsExpression 985003 985021 - StringLiteral 985003 985009 - TypeReference 985012 985021 - Identifier 985012 985021 - NumericLiteral 985022 985034 - TrueKeyword 985035 985057 - BarBarToken 985058 985061 - Identifier 985061 985075 - ReturnStatement 985076 985175 - ConditionalExpression 985092 985174 - BinaryExpression 985092 985135 - Identifier 985092 985117 - EqualsEqualsEqualsToken 985117 985121 - Identifier 985121 985135 - QuestionToken 985135 985137 - Identifier 985137 985147 - ColonToken 985147 985149 - Identifier 985149 985174 - FunctionDeclaration 985182 985657 - Identifier 985198 985221 - Parameter 985222 985243 - Identifier 985222 985234 - BooleanKeyword 985235 985243 - UnionType 985245 985264 - TypeReference 985245 985252 - Identifier 985245 985252 - UndefinedKeyword 985254 985264 - Block 985264 985657 - ExpressionStatement 985266 985545 - BinaryExpression 985266 985544 - Identifier 985266 985419 - BarBarEqualsToken 985419 985423 - BinaryExpression 985423 985544 - CallExpression 985423 985498 - Identifier 985423 985448 - AsExpression 985449 985470 - StringLiteral 985449 985458 - TypeReference 985461 985470 - Identifier 985461 985470 - NumericLiteral 985471 985483 - Identifier 985484 985497 - BarBarToken 985498 985501 - ParenthesizedExpression 985501 985544 - ConditionalExpression 985503 985543 - Identifier 985503 985515 - QuestionToken 985515 985517 - Identifier 985517 985531 - ColonToken 985531 985533 - Identifier 985533 985543 - ReturnStatement 985545 985650 - ConditionalExpression 985561 985649 - BinaryExpression 985561 985607 - Identifier 985561 985589 - EqualsEqualsEqualsToken 985589 985593 - Identifier 985593 985607 - QuestionToken 985607 985609 - Identifier 985609 985619 - ColonToken 985619 985621 - Identifier 985621 985649 - FunctionDeclaration 985657 985844 - Identifier 985673 985693 - Block 985695 985844 - ReturnStatement 985697 985837 - BinaryExpression 985713 985836 - ParenthesizedExpression 985713 985817 - BinaryExpression 985715 985816 - Identifier 985715 985739 - BarBarEqualsToken 985739 985743 - CallExpression 985743 985816 - Identifier 985743 985757 - AsExpression 985758 985778 - StringLiteral 985758 985766 - TypeReference 985769 985778 - Identifier 985769 985778 - NumericLiteral 985779 985791 - FalseKeyword 985792 985815 - BarBarToken 985817 985820 - Identifier 985820 985836 - FunctionDeclaration 985844 986088 - Identifier 985860 985895 - Parameter 985896 985917 - Identifier 985896 985908 - BooleanKeyword 985909 985917 - Block 985918 986088 - ReturnStatement 985920 986081 - BinaryExpression 985936 986080 - ParenthesizedExpression 985936 986060 - BinaryExpression 985938 986059 - Identifier 985938 985977 - QuestionQuestionEqualsToken 985977 985981 - CallExpression 985981 986059 - Identifier 985981 985995 - AsExpression 985996 986031 - StringLiteral 985996 986019 - TypeReference 986022 986031 - Identifier 986022 986031 - NumericLiteral 986032 986044 - Identifier 986045 986058 - QuestionQuestionToken 986060 986063 - Identifier 986063 986080 - FunctionDeclaration 986088 986350 - Identifier 986104 986145 - Parameter 986146 986167 - Identifier 986146 986158 - BooleanKeyword 986159 986167 - Block 986168 986350 - ReturnStatement 986170 986343 - BinaryExpression 986186 986342 - ParenthesizedExpression 986186 986322 - BinaryExpression 986188 986321 - Identifier 986188 986233 - QuestionQuestionEqualsToken 986233 986237 - CallExpression 986237 986321 - Identifier 986237 986251 - AsExpression 986252 986293 - StringLiteral 986252 986281 - TypeReference 986284 986293 - Identifier 986284 986293 - NumericLiteral 986294 986306 - Identifier 986307 986320 - QuestionQuestionToken 986322 986325 - Identifier 986325 986342 - FunctionDeclaration 986350 986612 - Identifier 986366 986407 - Parameter 986408 986429 - Identifier 986408 986420 - BooleanKeyword 986421 986429 - Block 986430 986612 - ReturnStatement 986432 986605 - BinaryExpression 986448 986604 - ParenthesizedExpression 986448 986584 - BinaryExpression 986450 986583 - Identifier 986450 986495 - QuestionQuestionEqualsToken 986495 986499 - CallExpression 986499 986583 - Identifier 986499 986513 - AsExpression 986514 986555 - StringLiteral 986514 986543 - TypeReference 986546 986555 - Identifier 986546 986555 - NumericLiteral 986556 986568 - Identifier 986569 986582 - QuestionQuestionToken 986584 986587 - Identifier 986587 986604 - FunctionDeclaration 986612 986874 - Identifier 986628 986669 - Parameter 986670 986691 - Identifier 986670 986682 - BooleanKeyword 986683 986691 - Block 986692 986874 - ReturnStatement 986694 986867 - BinaryExpression 986710 986866 - ParenthesizedExpression 986710 986846 - BinaryExpression 986712 986845 - Identifier 986712 986757 - QuestionQuestionEqualsToken 986757 986761 - CallExpression 986761 986845 - Identifier 986761 986775 - AsExpression 986776 986817 - StringLiteral 986776 986805 - TypeReference 986808 986817 - Identifier 986808 986817 - NumericLiteral 986818 986830 - Identifier 986831 986844 - QuestionQuestionToken 986846 986849 - Identifier 986849 986866 - FunctionDeclaration 986874 987142 - Identifier 986890 986933 - Parameter 986934 986955 - Identifier 986934 986946 - BooleanKeyword 986947 986955 - Block 986956 987142 - ReturnStatement 986958 987135 - BinaryExpression 986974 987134 - ParenthesizedExpression 986974 987114 - BinaryExpression 986976 987113 - Identifier 986976 987023 - QuestionQuestionEqualsToken 987023 987027 - CallExpression 987027 987113 - Identifier 987027 987041 - AsExpression 987042 987085 - StringLiteral 987042 987073 - TypeReference 987076 987085 - Identifier 987076 987085 - NumericLiteral 987086 987098 - Identifier 987099 987112 - QuestionQuestionToken 987114 987117 - Identifier 987117 987134 - FunctionDeclaration 987142 987407 - Identifier 987158 987200 - Parameter 987201 987222 - Identifier 987201 987213 - BooleanKeyword 987214 987222 - Block 987223 987407 - ReturnStatement 987225 987400 - BinaryExpression 987241 987399 - ParenthesizedExpression 987241 987379 - BinaryExpression 987243 987378 - Identifier 987243 987289 - QuestionQuestionEqualsToken 987289 987293 - CallExpression 987293 987378 - Identifier 987293 987307 - AsExpression 987308 987350 - StringLiteral 987308 987338 - TypeReference 987341 987350 - Identifier 987341 987350 - NumericLiteral 987351 987363 - Identifier 987364 987377 - QuestionQuestionToken 987379 987382 - Identifier 987382 987399 - FunctionDeclaration 987407 987672 - Identifier 987423 987465 - Parameter 987466 987487 - Identifier 987466 987478 - BooleanKeyword 987479 987487 - Block 987488 987672 - ReturnStatement 987490 987665 - BinaryExpression 987506 987664 - ParenthesizedExpression 987506 987644 - BinaryExpression 987508 987643 - Identifier 987508 987554 - QuestionQuestionEqualsToken 987554 987558 - CallExpression 987558 987643 - Identifier 987558 987572 - AsExpression 987573 987615 - StringLiteral 987573 987603 - TypeReference 987606 987615 - Identifier 987606 987615 - NumericLiteral 987616 987628 - Identifier 987629 987642 - QuestionQuestionToken 987644 987647 - Identifier 987647 987664 - FunctionDeclaration 987672 987931 - Identifier 987688 987728 - Parameter 987729 987750 - Identifier 987729 987741 - BooleanKeyword 987742 987750 - Block 987751 987931 - ReturnStatement 987753 987924 - BinaryExpression 987769 987923 - ParenthesizedExpression 987769 987903 - BinaryExpression 987771 987902 - Identifier 987771 987815 - QuestionQuestionEqualsToken 987815 987819 - CallExpression 987819 987902 - Identifier 987819 987833 - AsExpression 987834 987874 - StringLiteral 987834 987862 - TypeReference 987865 987874 - Identifier 987865 987874 - NumericLiteral 987875 987887 - Identifier 987888 987901 - QuestionQuestionToken 987903 987906 - Identifier 987906 987923 - FunctionDeclaration 987931 988108 - Identifier 987947 987966 - UnionType 987969 987988 - TypeReference 987969 987976 - Identifier 987969 987976 - UndefinedKeyword 987978 987988 - Block 987988 988108 - ReturnStatement 987990 988101 - ParenthesizedExpression 988006 988100 - BinaryExpression 988008 988099 - Identifier 988008 988031 - BarBarEqualsToken 988031 988035 - CallExpression 988035 988099 - Identifier 988035 988056 - AsExpression 988057 988074 - StringLiteral 988057 988062 - TypeReference 988065 988074 - Identifier 988065 988074 - FalseKeyword 988075 988098 - FunctionDeclaration 988108 988421 - Identifier 988124 988146 - UnionType 988149 988168 - TypeReference 988149 988156 - Identifier 988149 988156 - UndefinedKeyword 988158 988168 - Block 988168 988421 - ExpressionStatement 988170 988311 - BinaryExpression 988170 988310 - Identifier 988170 988206 - BarBarEqualsToken 988206 988210 - BinaryExpression 988210 988310 - CallExpression 988210 988293 - Identifier 988210 988235 - AsExpression 988236 988256 - StringLiteral 988236 988244 - TypeReference 988247 988256 - Identifier 988247 988256 - NumericLiteral 988257 988269 - TrueKeyword 988270 988292 - BarBarToken 988293 988296 - Identifier 988296 988310 - ReturnStatement 988311 988414 - ConditionalExpression 988327 988413 - BinaryExpression 988327 988372 - Identifier 988327 988354 - EqualsEqualsEqualsToken 988354 988358 - Identifier 988358 988372 - QuestionToken 988372 988374 - Identifier 988374 988384 - ColonToken 988384 988386 - Identifier 988386 988413 - FunctionDeclaration 988421 988809 - Identifier 988562 988594 - Parameter 988595 988625 - Identifier 988595 988612 - TypeReference 988613 988625 - Identifier 988613 988625 - Parameter 988626 988657 - Identifier 988626 988640 - TypeOperator 988641 988657 - ArrayType 988650 988657 - TypeReference 988650 988655 - Identifier 988650 988655 - TypeReference 988659 988670 - Identifier 988659 988670 - Block 988670 988809 - ReturnStatement 988672 988802 - ConditionalExpression 988688 988801 - BinaryExpression 988688 988727 - Identifier 988688 988706 - ExclamationEqualsEqualsToken 988706 988710 - Identifier 988710 988727 - QuestionToken 988727 988729 - CallExpression 988729 988783 - Identifier 988729 988749 - Identifier 988750 988767 - Identifier 988768 988782 - ColonToken 988783 988785 - Identifier 988785 988801 - FunctionDeclaration 988809 988999 - Identifier 988825 988859 - Parameter 988860 988878 - Identifier 988860 988872 - TypeReference 988873 988878 - Identifier 988873 988878 - TypeReference 988880 988885 - Identifier 988880 988885 - Block 988885 988999 - ReturnStatement 988887 988992 - CallExpression 988903 988991 - Identifier 988903 988935 - CallExpression 988936 988974 - Identifier 988936 988972 - ArrayLiteralExpression 988975 988990 - Identifier 988977 988989 - FunctionDeclaration 988999 989205 - Identifier 989015 989034 - Parameter 989035 989053 - Identifier 989035 989047 - TypeReference 989048 989053 - Identifier 989048 989053 - TypeReference 989055 989060 - Identifier 989055 989060 - Block 989060 989205 - ReturnStatement 989062 989198 - CallExpression 989078 989197 - Identifier 989078 989110 - CallExpression 989111 989155 - Identifier 989111 989132 - TrueKeyword 989133 989154 - ArrayLiteralExpression 989156 989196 - Identifier 989158 989170 - Identifier 989171 989180 - Identifier 989181 989195 - FunctionDeclaration 989205 989415 - Identifier 989221 989237 - Parameter 989238 989255 - Identifier 989238 989249 - TypeReference 989250 989255 - Identifier 989250 989255 - Parameter 989256 989275 - Identifier 989256 989265 - QuestionToken 989265 989266 - BooleanKeyword 989267 989275 - TypeReference 989277 989288 - Identifier 989277 989288 - Block 989288 989415 - ReturnStatement 989290 989408 - CallExpression 989306 989407 - Identifier 989306 989338 - ConditionalExpression 989339 989391 - Identifier 989339 989347 - QuestionToken 989347 989349 - Identifier 989349 989373 - ColonToken 989373 989375 - Identifier 989375 989391 - ArrayLiteralExpression 989392 989406 - Identifier 989394 989405 - FunctionDeclaration 989415 990086 - Identifier 989431 989452 - Parameter 989453 989467 - Identifier 989453 989457 - TypeReference 989458 989467 - Identifier 989458 989467 - Block 989468 990086 - SwitchStatement 989470 990079 - PropertyAccessExpression 989488 989497 - Identifier 989488 989492 - Identifier 989493 989497 - CaseBlock 989498 990079 - CaseClause 989500 989590 - PropertyAccessExpression 989518 989542 - Identifier 989518 989529 - Identifier 989530 989542 - ReturnStatement 989543 989590 - PropertyAccessExpression 989567 989589 - Identifier 989567 989580 - Identifier 989581 989589 - CaseClause 989590 989700 - PropertyAccessExpression 989608 989628 - Identifier 989608 989619 - Identifier 989620 989628 - ReturnStatement 989629 989700 - CallExpression 989653 989699 - Identifier 989653 989677 - AsExpression 989678 989698 - Identifier 989678 989682 - TypeReference 989685 989698 - Identifier 989685 989698 - CaseClause 989700 989999 - PropertyAccessExpression 989718 989746 - Identifier 989718 989729 - Identifier 989730 989746 - ReturnStatement 989747 989999 - ConditionalExpression 989771 989998 - PropertyAccessExpression 989771 989812 - ParenthesizedExpression 989771 989798 - AsExpression 989773 989797 - Identifier 989773 989777 - TypeReference 989780 989797 - Identifier 989780 989797 - Identifier 989799 989812 - QuestionToken 989812 989814 - PropertyAccessExpression 989814 989836 - Identifier 989814 989827 - Identifier 989828 989836 - ColonToken 989836 989838 - ConditionalExpression 989838 989998 - PropertyAccessExpression 989838 989901 - ParenthesizedExpression 989838 989886 - AsExpression 989861 989885 - Identifier 989861 989865 - TypeReference 989868 989885 - Identifier 989868 989885 - Identifier 989887 989901 - QuestionToken 989901 989903 - CallExpression 989903 989953 - Identifier 989903 989927 - AsExpression 989928 989952 - Identifier 989928 989932 - TypeReference 989935 989952 - Identifier 989935 989952 - ColonToken 989953 989955 - PropertyAccessExpression 989955 989998 - Identifier 989955 989989 - Identifier 989990 989998 - DefaultClause 989999 990068 - ReturnStatement 990021 990068 - PropertyAccessExpression 990045 990067 - Identifier 990045 990058 - Identifier 990059 990067 - FunctionDeclaration 990086 990270 - Identifier 990102 990126 - Parameter 990127 990164 - Identifier 990127 990131 - UnionType 990132 990164 - TypeReference 990132 990145 - Identifier 990132 990145 - TypeReference 990147 990164 - Identifier 990147 990164 - Block 990165 990270 - ReturnStatement 990167 990263 - ConditionalExpression 990183 990262 - CallExpression 990183 990218 - Identifier 990183 990207 - PropertyAccessExpression 990208 990217 - Identifier 990208 990212 - Identifier 990213 990217 - QuestionToken 990218 990220 - PropertyAccessExpression 990220 990238 - Identifier 990220 990233 - Identifier 990234 990238 - ColonToken 990238 990240 - PropertyAccessExpression 990240 990262 - Identifier 990240 990253 - Identifier 990254 990262 - FunctionDeclaration 990270 990832 - Identifier 990286 990312 - Parameter 990313 990348 - Identifier 990313 990317 - UnionType 990318 990348 - TypeReference 990318 990332 - Identifier 990318 990332 - TypeReference 990334 990348 - Identifier 990334 990348 - TypeReference 990350 990362 - Identifier 990350 990362 - Block 990362 990832 - VariableStatement 990364 990427 - VariableDeclarationList 990364 990426 - VariableDeclaration 990379 990426 - Identifier 990379 990388 - CallExpression 990390 990426 - Identifier 990390 990413 - PropertyAccessExpression 990414 990425 - Identifier 990414 990418 - Identifier 990419 990425 - VariableStatement 990427 990487 - VariableDeclarationList 990427 990486 - VariableDeclaration 990442 990486 - Identifier 990442 990454 - CallExpression 990456 990486 - Identifier 990456 990480 - Identifier 990481 990485 - IfStatement 990487 990600 - Identifier 990501 990512 - Block 990513 990600 - ReturnStatement 990515 990589 - ConditionalExpression 990535 990588 - Identifier 990535 990544 - QuestionToken 990544 990546 - Identifier 990546 990570 - ColonToken 990570 990572 - Identifier 990572 990588 - VariableStatement 990600 990691 - VariableDeclarationList 990600 990690 - VariableDeclaration 990615 990690 - Identifier 990615 990628 - CallExpression 990630 990690 - Identifier 990630 990634 - PropertyAccessExpression 990635 990667 - ParenthesizedExpression 990635 990658 - AsExpression 990636 990657 - Identifier 990636 990640 - TypeReference 990643 990657 - Identifier 990643 990657 - Identifier 990659 990667 - Identifier 990668 990689 - ReturnStatement 990691 990825 - CallExpression 990707 990824 - Identifier 990707 990726 - Identifier 990727 990739 - Identifier 990740 990749 - CallExpression 990750 990823 - Identifier 990750 990754 - PropertyAccessExpression 990755 990787 - ParenthesizedExpression 990755 990778 - AsExpression 990756 990777 - Identifier 990756 990760 - TypeReference 990763 990777 - Identifier 990763 990777 - Identifier 990779 990787 - Identifier 990788 990822 - FunctionDeclaration 990832 991046 - Identifier 990848 990882 - Parameter 990883 990895 - Identifier 990883 990889 - TypeReference 990890 990895 - Identifier 990890 990895 - UnionType 990897 990949 - TypeReference 990897 990914 - Identifier 990897 990914 - TypeReference 990916 990937 - Identifier 990916 990937 - UndefinedKeyword 990939 990949 - Block 990949 991046 - ReturnStatement 990951 991039 - ConditionalExpression 990967 991038 - BinaryExpression 990967 991017 - CallExpression 990967 990994 - Identifier 990967 990986 - Identifier 990987 990993 - BarBarToken 990994 990997 - CallExpression 990997 991017 - Identifier 990997 991009 - Identifier 991010 991016 - QuestionToken 991017 991019 - Identifier 991019 991026 - ColonToken 991026 991028 - Identifier 991028 991038 - FunctionDeclaration 991046 991789 - Identifier 991253 991281 - Parameter 991282 991337 - Identifier 991282 991286 - UnionType 991287 991337 - TypeReference 991287 991305 - Identifier 991287 991305 - TypeReference 991307 991321 - Identifier 991307 991321 - TypeReference 991323 991337 - Identifier 991323 991337 - Parameter 991338 991372 - Identifier 991338 991362 - QuestionToken 991362 991363 - BooleanKeyword 991364 991372 - Block 991373 991789 - ReturnStatement 991375 991782 - BinaryExpression 991391 991781 - PrefixUnaryExpression 991391 991425 - PrefixUnaryExpression 991393 991425 - CallExpression 991394 991425 - Identifier 991394 991419 - Identifier 991420 991424 - BarBarToken 991425 991428 - BinaryExpression 991428 991781 - CallExpression 991428 991456 - Identifier 991428 991450 - Identifier 991451 991455 - AmpersandAmpersandToken 991456 991459 - ParenthesizedExpression 991459 991781 - ConditionalExpression 991461 991762 - BinaryExpression 991461 991517 - PropertyAccessExpression 991461 991492 - Identifier 991461 991487 - Identifier 991488 991492 - EqualsEqualsEqualsToken 991492 991496 - PropertyAccessExpression 991496 991517 - Identifier 991496 991507 - Identifier 991508 991517 - QuestionToken 991517 991519 - CallExpression 991519 991557 - Identifier 991519 991539 - PropertyAccessExpression 991540 991556 - Identifier 991540 991544 - Identifier 991545 991556 - ColonToken 991557 991559 - ConditionalExpression 991559 991762 - BinaryExpression 991559 991619 - PropertyAccessExpression 991559 991594 - Identifier 991559 991589 - Identifier 991590 991594 - EqualsEqualsEqualsToken 991594 991598 - PropertyAccessExpression 991598 991619 - Identifier 991598 991609 - Identifier 991610 991619 - QuestionToken 991619 991621 - CallExpression 991621 991662 - Identifier 991621 991626 - PropertyAccessExpression 991627 991640 - Identifier 991627 991631 - Identifier 991632 991640 - Identifier 991641 991661 - ColonToken 991662 991664 - BinaryExpression 991664 991762 - Identifier 991664 991713 - BarBarToken 991713 991716 - CallExpression 991716 991762 - Identifier 991716 991721 - PropertyAccessExpression 991722 991740 - Identifier 991722 991726 - Identifier 991727 991740 - Identifier 991741 991761 - FunctionDeclaration 991789 992783 - Identifier 992049 992071 - Parameter 992072 992082 - Identifier 992072 992076 - TypeReference 992077 992082 - Identifier 992077 992082 - BooleanKeyword 992084 992092 - Block 992092 992783 - VariableStatement 992094 992131 - VariableDeclarationList 992094 992130 - VariableDeclaration 992109 992130 - Identifier 992109 992116 - PropertyAccessExpression 992118 992130 - Identifier 992118 992123 - Identifier 992124 992130 - SwitchStatement 992131 992753 - PropertyAccessExpression 992149 992160 - Identifier 992149 992155 - Identifier 992156 992160 - CaseBlock 992161 992753 - CaseClause 992163 992211 - PropertyAccessExpression 992181 992210 - Identifier 992181 992192 - Identifier 992193 992210 - CaseClause 992211 992258 - PropertyAccessExpression 992229 992257 - Identifier 992229 992240 - Identifier 992241 992257 - CaseClause 992258 992302 - PropertyAccessExpression 992276 992301 - Identifier 992276 992287 - Identifier 992288 992301 - CaseClause 992302 992342 - PropertyAccessExpression 992320 992341 - Identifier 992320 992331 - Identifier 992332 992341 - CaseClause 992342 992389 - PropertyAccessExpression 992360 992388 - Identifier 992360 992371 - Identifier 992372 992388 - CaseClause 992389 992437 - PropertyAccessExpression 992407 992436 - Identifier 992407 992418 - Identifier 992419 992436 - CaseClause 992437 992483 - PropertyAccessExpression 992455 992482 - Identifier 992455 992466 - Identifier 992467 992482 - CaseClause 992483 992526 - PropertyAccessExpression 992501 992525 - Identifier 992501 992512 - Identifier 992513 992525 - CaseClause 992526 992566 - PropertyAccessExpression 992544 992565 - Identifier 992544 992555 - Identifier 992556 992565 - CaseClause 992566 992661 - PropertyAccessExpression 992584 992605 - Identifier 992584 992595 - Identifier 992596 992605 - ReturnStatement 992606 992661 - CallExpression 992630 992660 - Identifier 992630 992652 - Identifier 992653 992659 - CaseClause 992661 992742 - PropertyAccessExpression 992679 992711 - Identifier 992679 992690 - Identifier 992691 992711 - ReturnStatement 992712 992742 - TrueKeyword 992736 992741 - ReturnStatement 992753 992776 - FalseKeyword 992769 992775 - FunctionDeclaration 992783 994922 - Identifier 992926 992946 - Parameter 992947 992957 - Identifier 992947 992951 - TypeReference 992952 992957 - Identifier 992952 992957 - BooleanKeyword 992959 992967 - Block 992967 994922 - SwitchStatement 992969 994892 - PropertyAccessExpression 992987 992996 - Identifier 992987 992991 - Identifier 992992 992996 - CaseBlock 992997 994892 - CaseClause 992999 993202 - PropertyAccessExpression 993017 993042 - Identifier 993017 993028 - Identifier 993029 993042 - ReturnStatement 993043 993202 - BinaryExpression 993067 993201 - CallExpression 993067 993094 - Identifier 993067 993088 - Identifier 993089 993093 - BarBarToken 993094 993097 - PrefixUnaryExpression 993097 993201 - PrefixUnaryExpression 993099 993201 - ParenthesizedExpression 993100 993201 - BinaryExpression 993101 993200 - PropertyAccessExpression 993101 993176 - CallExpression 993101 993170 - Identifier 993101 993125 - AsExpression 993126 993151 - Identifier 993126 993130 - TypeReference 993133 993151 - Identifier 993133 993151 - PropertyAccessExpression 993152 993169 - Identifier 993152 993164 - Identifier 993165 993169 - Identifier 993171 993176 - AmpersandToken 993176 993178 - PropertyAccessExpression 993178 993200 - Identifier 993178 993190 - Identifier 993191 993200 - CaseClause 993202 993272 - PropertyAccessExpression 993220 993241 - Identifier 993220 993231 - Identifier 993232 993241 - ReturnStatement 993242 993272 - TrueKeyword 993266 993271 - CaseClause 993272 993461 - PropertyAccessExpression 993290 993314 - Identifier 993290 993301 - Identifier 993302 993314 - ReturnStatement 993315 993461 - BinaryExpression 993339 993460 - BinaryExpression 993339 993404 - PropertyAccessExpression 993339 993375 - ParenthesizedExpression 993339 993366 - AsExpression 993341 993365 - Identifier 993341 993345 - TypeReference 993348 993365 - Identifier 993348 993365 - Identifier 993367 993375 - ExclamationEqualsEqualsToken 993375 993379 - PropertyAccessExpression 993379 993404 - Identifier 993379 993390 - Identifier 993391 993404 - AmpersandAmpersandToken 993404 993407 - CallExpression 993407 993460 - Identifier 993407 993427 - PropertyAccessExpression 993428 993459 - ParenthesizedExpression 993428 993454 - AsExpression 993429 993453 - Identifier 993429 993433 - TypeReference 993436 993453 - Identifier 993436 993453 - Identifier 993455 993459 - CaseClause 993461 993509 - PropertyAccessExpression 993479 993508 - Identifier 993479 993490 - Identifier 993491 993508 - CaseClause 993509 993552 - PropertyAccessExpression 993527 993551 - Identifier 993527 993538 - Identifier 993539 993551 - CaseClause 993552 993599 - PropertyAccessExpression 993570 993598 - Identifier 993570 993581 - Identifier 993582 993598 - CaseClause 993599 993647 - PropertyAccessExpression 993617 993646 - Identifier 993617 993628 - Identifier 993629 993646 - CaseClause 993647 993695 - PropertyAccessExpression 993665 993694 - Identifier 993665 993676 - Identifier 993677 993694 - CaseClause 993695 993746 - PropertyAccessExpression 993713 993745 - Identifier 993713 993724 - Identifier 993725 993745 - CaseClause 993746 993944 - PropertyAccessExpression 993764 993795 - Identifier 993764 993775 - Identifier 993776 993795 - ReturnStatement 993796 993944 - CallExpression 993820 993943 - Identifier 993820 993840 - PropertyAccessExpression 993841 993942 - ParenthesizedExpression 993841 993937 - AsExpression 993842 993936 - Identifier 993842 993846 - UnionType 993849 993936 - TypeReference 993849 993871 - Identifier 993849 993871 - TypeReference 993873 993890 - Identifier 993873 993890 - TypeReference 993892 993917 - Identifier 993892 993917 - TypeReference 993919 993936 - Identifier 993919 993936 - Identifier 993938 993942 - CaseClause 993944 994149 - PropertyAccessExpression 993962 993982 - Identifier 993962 993973 - Identifier 993974 993982 - ReturnStatement 993983 994149 - BinaryExpression 994007 994148 - BinaryExpression 994007 994065 - PropertyAccessExpression 994007 994040 - PropertyAccessExpression 994007 994035 - ParenthesizedExpression 994007 994030 - AsExpression 994009 994029 - Identifier 994009 994013 - TypeReference 994016 994029 - Identifier 994016 994029 - Identifier 994031 994035 - Identifier 994036 994040 - ExclamationEqualsEqualsToken 994040 994044 - PropertyAccessExpression 994044 994065 - Identifier 994044 994055 - Identifier 994056 994065 - BarBarToken 994065 994068 - CallExpression 994068 994148 - Identifier 994068 994088 - PropertyAccessExpression 994089 994147 - ParenthesizedExpression 994089 994135 - AsExpression 994090 994134 - PropertyAccessExpression 994090 994117 - ParenthesizedExpression 994090 994112 - AsExpression 994091 994111 - Identifier 994091 994095 - TypeReference 994098 994111 - Identifier 994098 994111 - Identifier 994113 994117 - TypeReference 994120 994134 - Identifier 994120 994134 - Identifier 994136 994147 - CaseClause 994149 994189 - PropertyAccessExpression 994167 994188 - Identifier 994167 994178 - Identifier 994179 994188 - CaseClause 994189 994332 - PropertyAccessExpression 994207 994235 - Identifier 994207 994218 - Identifier 994219 994235 - ReturnStatement 994236 994332 - CallExpression 994260 994331 - Identifier 994260 994265 - PropertyAccessExpression 994266 994309 - ParenthesizedExpression 994266 994303 - AsExpression 994267 994302 - Identifier 994267 994271 - TypeReference 994274 994302 - Identifier 994274 994302 - Identifier 994304 994309 - Identifier 994310 994330 - CaseClause 994332 994535 - PropertyAccessExpression 994350 994379 - Identifier 994350 994361 - Identifier 994362 994379 - ReturnStatement 994380 994535 - BinaryExpression 994404 994534 - CallExpression 994404 994468 - Identifier 994404 994424 - PropertyAccessExpression 994425 994467 - ParenthesizedExpression 994425 994456 - AsExpression 994426 994455 - Identifier 994426 994430 - TypeReference 994433 994455 - Identifier 994433 994455 - Identifier 994457 994467 - BarBarToken 994468 994471 - CallExpression 994471 994534 - Identifier 994471 994491 - PropertyAccessExpression 994492 994533 - ParenthesizedExpression 994492 994523 - AsExpression 994493 994522 - Identifier 994493 994497 - TypeReference 994500 994522 - Identifier 994500 994522 - Identifier 994524 994533 - CaseClause 994535 994881 - PropertyAccessExpression 994553 994580 - Identifier 994553 994564 - Identifier 994565 994580 - ReturnStatement 994581 994881 - BinaryExpression 994605 994880 - BinaryExpression 994605 994816 - BinaryExpression 994605 994732 - CallExpression 994605 994666 - Identifier 994605 994625 - PropertyAccessExpression 994626 994665 - ParenthesizedExpression 994626 994655 - AsExpression 994627 994654 - Identifier 994627 994631 - TypeReference 994634 994654 - Identifier 994634 994654 - Identifier 994656 994665 - BarBarToken 994666 994669 - CallExpression 994669 994732 - Identifier 994669 994689 - PropertyAccessExpression 994690 994731 - ParenthesizedExpression 994690 994719 - AsExpression 994691 994718 - Identifier 994691 994695 - TypeReference 994698 994718 - Identifier 994698 994718 - Identifier 994720 994731 - BarBarToken 994732 994735 - CallExpression 994735 994816 - Identifier 994735 994776 - PropertyAccessExpression 994777 994815 - ParenthesizedExpression 994777 994806 - AsExpression 994778 994805 - Identifier 994778 994782 - TypeReference 994785 994805 - Identifier 994785 994805 - Identifier 994807 994815 - BarBarToken 994816 994819 - CallExpression 994819 994880 - Identifier 994819 994839 - PropertyAccessExpression 994840 994879 - ParenthesizedExpression 994840 994869 - AsExpression 994841 994868 - Identifier 994841 994845 - TypeReference 994848 994868 - Identifier 994848 994868 - Identifier 994870 994879 - ReturnStatement 994892 994915 - FalseKeyword 994908 994914 - FunctionDeclaration 994922 996007 - Identifier 994938 994970 - Parameter 994971 995006 - Identifier 994971 994975 - UnionType 994976 995006 - TypeReference 994976 994990 - Identifier 994976 994990 - TypeReference 994992 995006 - Identifier 994992 995006 - TypeReference 995008 995013 - Identifier 995008 995013 - Block 995013 996007 - VariableStatement 995015 995058 - VariableDeclarationList 995015 995057 - VariableDeclaration 995030 995057 - Identifier 995030 995036 - CallExpression 995038 995057 - Identifier 995038 995051 - Identifier 995052 995056 - IfStatement 995058 995964 - PrefixUnaryExpression 995072 995091 - PropertyAccessExpression 995073 995091 - Identifier 995073 995078 - Identifier 995079 995091 - Block 995092 995964 - VariableStatement 995094 995155 - VariableDeclarationList 995094 995154 - VariableDeclaration 995113 995154 - Identifier 995113 995120 - CallExpression 995122 995154 - Identifier 995122 995148 - Identifier 995149 995153 - IfStatement 995155 995953 - BinaryExpression 995173 995200 - Identifier 995173 995179 - EqualsEqualsEqualsToken 995179 995183 - Identifier 995183 995200 - Block 995201 995273 - ExpressionStatement 995203 995258 - BinaryExpression 995203 995257 - PropertyAccessExpression 995203 995239 - Identifier 995203 995226 - Identifier 995227 995239 - EqualsToken 995239 995241 - Identifier 995241 995257 - IfStatement 995291 995953 - BinaryExpression 995296 995451 - PrefixUnaryExpression 995296 995414 - ParenthesizedExpression 995297 995414 - BinaryExpression 995298 995413 - BinaryExpression 995298 995332 - PropertyAccessExpression 995298 995307 - Identifier 995298 995302 - Identifier 995303 995307 - EqualsEqualsEqualsToken 995307 995311 - PropertyAccessExpression 995311 995332 - Identifier 995311 995322 - Identifier 995323 995332 - AmpersandAmpersandToken 995332 995335 - CallExpression 995335 995413 - Identifier 995335 995340 - PropertyAccessExpression 995341 995354 - Identifier 995341 995345 - Identifier 995346 995354 - ArrowFunction 995355 995412 - Parameter 995355 995357 - Identifier 995355 995357 - EqualsGreaterThanToken 995357 995360 - PrefixUnaryExpression 995360 995412 - PrefixUnaryExpression 995362 995412 - ParenthesizedExpression 995363 995412 - BinaryExpression 995364 995411 - CallExpression 995364 995387 - Identifier 995364 995384 - Identifier 995385 995386 - AmpersandToken 995387 995389 - PropertyAccessExpression 995389 995411 - Identifier 995389 995402 - Identifier 995403 995411 - AmpersandAmpersandToken 995414 995417 - CallExpression 995417 995451 - Identifier 995417 995445 - Identifier 995446 995450 - Block 995452 995669 - ExpressionStatement 995454 995654 - BinaryExpression 995454 995653 - PropertyAccessExpression 995454 995490 - Identifier 995454 995477 - Identifier 995478 995490 - EqualsToken 995490 995492 - ConditionalExpression 995492 995653 - BinaryExpression 995492 995557 - BinaryExpression 995492 995527 - PropertyAccessExpression 995492 995502 - Identifier 995492 995497 - Identifier 995498 995502 - EqualsEqualsEqualsToken 995502 995506 - PropertyAccessExpression 995506 995527 - Identifier 995506 995517 - Identifier 995518 995527 - AmpersandAmpersandToken 995527 995530 - BinaryExpression 995530 995557 - PropertyAccessExpression 995530 995551 - PropertyAccessExpression 995530 995544 - Identifier 995530 995535 - Identifier 995536 995544 - Identifier 995545 995551 - EqualsEqualsEqualsToken 995551 995555 - NumericLiteral 995555 995557 - QuestionToken 995557 995559 - Identifier 995559 995566 - ColonToken 995566 995568 - CallExpression 995568 995653 - Identifier 995568 995617 - Identifier 995618 995624 - Identifier 995625 995630 - Identifier 995631 995652 - Block 995687 995953 - VariableStatement 995689 995847 - VariableDeclarationList 995689 995846 - VariableDeclaration 995712 995846 - Identifier 995712 995725 - ConditionalExpression 995727 995846 - BinaryExpression 995727 995762 - PropertyAccessExpression 995727 995737 - Identifier 995727 995732 - Identifier 995733 995737 - EqualsEqualsEqualsToken 995737 995741 - PropertyAccessExpression 995741 995762 - Identifier 995741 995752 - Identifier 995753 995762 - QuestionToken 995762 995764 - ArrayLiteralExpression 995764 995804 - CallExpression 995766 995803 - Identifier 995766 995785 - PropertyAccessExpression 995786 995802 - Identifier 995786 995790 - Identifier 995791 995802 - ColonToken 995804 995806 - CallExpression 995806 995846 - Identifier 995806 995810 - PropertyAccessExpression 995811 995824 - Identifier 995811 995815 - Identifier 995816 995824 - Identifier 995825 995845 - ExpressionStatement 995847 995938 - BinaryExpression 995847 995937 - PropertyAccessExpression 995847 995883 - Identifier 995847 995870 - Identifier 995871 995883 - EqualsToken 995883 995885 - CallExpression 995885 995937 - Identifier 995885 995915 - Identifier 995916 995922 - Identifier 995923 995936 - ReturnStatement 995964 996000 - PropertyAccessExpression 995980 995999 - Identifier 995980 995986 - Identifier 995987 995999 - FunctionDeclaration 996007 996157 - Identifier 996023 996046 - Parameter 996047 996057 - Identifier 996047 996051 - TypeReference 996052 996057 - Identifier 996052 996057 - Block 996058 996157 - ReturnStatement 996060 996150 - BinaryExpression 996076 996149 - CallExpression 996076 996101 - Identifier 996076 996095 - Identifier 996096 996100 - AmpersandAmpersandToken 996101 996104 - BinaryExpression 996104 996149 - PropertyAccessExpression 996104 996118 - Identifier 996104 996109 - Identifier 996110 996118 - EqualsEqualsEqualsToken 996118 996122 - PropertyAccessExpression 996122 996149 - Identifier 996122 996133 - Identifier 996134 996149 - FunctionDeclaration 996157 996719 - Identifier 996173 996189 - Parameter 996190 996219 - Identifier 996190 996202 - TypeOperator 996203 996219 - ArrayType 996212 996219 - TypeReference 996212 996217 - Identifier 996212 996217 - Parameter 996220 996259 - Identifier 996220 996233 - QuestionToken 996233 996234 - TypeOperator 996235 996259 - ArrayType 996244 996259 - TypeReference 996244 996257 - Identifier 996244 996257 - Parameter 996260 996277 - Identifier 996260 996269 - FalseKeyword 996271 996277 - Parameter 996278 996373 - Identifier 996278 996302 - TypeOperator 996303 996368 - ArrayType 996312 996368 - ParenthesizedType 996312 996366 - UnionType 996314 996365 - TypeReference 996314 996330 - Identifier 996314 996330 - TypeReference 996332 996353 - Identifier 996332 996353 - UndefinedKeyword 996355 996365 - ArrayLiteralExpression 996370 996373 - Block 996374 996719 - VariableStatement 996376 996523 - VariableDeclarationList 996376 996522 - VariableDeclaration 996391 996522 - Identifier 996391 996403 - CallExpression 996405 996522 - Identifier 996405 996424 - BinaryExpression 996425 996486 - Identifier 996425 996437 - BarBarToken 996437 996440 - CallExpression 996440 996486 - Identifier 996440 996444 - Identifier 996445 996457 - ArrowFunction 996458 996485 - Parameter 996458 996460 - Identifier 996458 996460 - EqualsGreaterThanToken 996460 996463 - PropertyAccessExpression 996463 996485 - Identifier 996463 996476 - Identifier 996477 996485 - Identifier 996487 996496 - Identifier 996497 996521 - ReturnStatement 996523 996712 - ConditionalExpression 996539 996711 - BinaryExpression 996539 996572 - Identifier 996539 996551 - EqualsEqualsEqualsToken 996551 996555 - Identifier 996555 996572 - QuestionToken 996572 996574 - Identifier 996574 996590 - ColonToken 996590 996592 - ConditionalExpression 996592 996711 - PropertyAccessExpression 996592 996625 - Identifier 996592 996618 - Identifier 996619 996625 - QuestionToken 996625 996627 - CallExpression 996627 996684 - Identifier 996627 996657 - Identifier 996658 996669 - Identifier 996670 996683 - ColonToken 996684 996686 - Identifier 996686 996711 - FunctionDeclaration 996719 997696 - Identifier 996735 996754 - Parameter 996755 996792 - Identifier 996755 996767 - TypeOperator 996768 996792 - ArrayType 996777 996792 - TypeReference 996777 996790 - Identifier 996777 996790 - Parameter 996793 996811 - Identifier 996793 996802 - BooleanKeyword 996803 996811 - Parameter 996812 996902 - Identifier 996812 996836 - TypeOperator 996837 996902 - ArrayType 996846 996902 - ParenthesizedType 996846 996900 - UnionType 996848 996899 - TypeReference 996848 996864 - Identifier 996848 996864 - TypeReference 996866 996887 - Identifier 996866 996887 - UndefinedKeyword 996889 996899 - TypeReference 996904 996916 - Identifier 996904 996916 - Block 996916 997696 - IfStatement 996918 997135 - BinaryExpression 996932 996996 - BinaryExpression 996932 996957 - PropertyAccessExpression 996932 996951 - Identifier 996932 996944 - Identifier 996945 996951 - EqualsEqualsEqualsToken 996951 996955 - NumericLiteral 996955 996957 - AmpersandAmpersandToken 996957 996960 - BinaryExpression 996960 996996 - ElementAccessExpression 996960 996976 - Identifier 996960 996973 - NumericLiteral 996974 996975 - AmpersandToken 996976 996978 - PropertyAccessExpression 996978 996996 - Identifier 996978 996991 - Identifier 996992 996996 - Block 996997 997135 - ReturnStatement 996999 997124 - ConditionalExpression 997070 997123 - Identifier 997070 997079 - QuestionToken 997079 997081 - Identifier 997081 997105 - ColonToken 997105 997107 - Identifier 997107 997123 - VariableStatement 997135 997480 - VariableDeclarationList 997135 997479 - VariableDeclaration 997150 997479 - Identifier 997150 997154 - BinaryExpression 997156 997479 - BinaryExpression 997156 997326 - CallExpression 997156 997289 - PropertyAccessExpression 997156 997287 - CallExpression 997156 997282 - Identifier 997156 997160 - Identifier 997161 997173 - ArrowFunction 997174 997281 - Parameter 997174 997176 - Identifier 997174 997176 - EqualsGreaterThanToken 997176 997179 - ConditionalExpression 997179 997281 - BinaryExpression 997179 997205 - Identifier 997179 997181 - AmpersandToken 997181 997183 - PropertyAccessExpression 997183 997205 - Identifier 997183 997196 - Identifier 997197 997205 - QuestionToken 997205 997207 - StringLiteral 997207 997211 - ColonToken 997211 997213 - ConditionalExpression 997213 997281 - BinaryExpression 997213 997239 - Identifier 997213 997215 - AmpersandToken 997215 997217 - PropertyAccessExpression 997217 997239 - Identifier 997217 997230 - Identifier 997231 997239 - QuestionToken 997239 997241 - StringLiteral 997241 997245 - ColonToken 997245 997247 - ConditionalExpression 997247 997281 - BinaryExpression 997247 997269 - Identifier 997247 997249 - AmpersandToken 997249 997251 - PropertyAccessExpression 997251 997269 - Identifier 997251 997264 - Identifier 997265 997269 - QuestionToken 997269 997271 - StringLiteral 997271 997275 - ColonToken 997275 997277 - StringLiteral 997277 997281 - Identifier 997283 997287 - PlusToken 997289 997291 - ParenthesizedExpression 997291 997326 - ConditionalExpression 997306 997325 - Identifier 997306 997314 - QuestionToken 997314 997316 - StringLiteral 997316 997320 - ColonToken 997320 997322 - StringLiteral 997322 997325 - PlusToken 997326 997328 - ParenthesizedExpression 997328 997479 - ConditionalExpression 997343 997478 - CallExpression 997343 997388 - Identifier 997343 997347 - Identifier 997348 997371 - ArrowFunction 997372 997387 - Parameter 997372 997377 - Identifier 997372 997377 - EqualsGreaterThanToken 997377 997380 - PrefixUnaryExpression 997380 997387 - PrefixUnaryExpression 997382 997387 - Identifier 997383 997387 - QuestionToken 997388 997390 - BinaryExpression 997390 997473 - StringLiteral 997390 997394 - PlusToken 997394 997396 - CallExpression 997396 997473 - PropertyAccessExpression 997396 997468 - CallExpression 997396 997463 - Identifier 997396 997400 - Identifier 997401 997424 - ArrowFunction 997425 997462 - Parameter 997425 997430 - Identifier 997425 997430 - EqualsGreaterThanToken 997430 997433 - ConditionalExpression 997433 997462 - Identifier 997433 997438 - QuestionToken 997438 997440 - CallExpression 997440 997456 - Identifier 997440 997450 - Identifier 997451 997455 - ColonToken 997456 997458 - StringLiteral 997458 997462 - Identifier 997464 997468 - StringLiteral 997469 997472 - ColonToken 997473 997475 - StringLiteral 997475 997478 - VariableStatement 997480 997521 - VariableDeclarationList 997480 997520 - VariableDeclaration 997493 997520 - Identifier 997493 997498 - CallExpression 997500 997520 - PropertyAccessExpression 997500 997515 - Identifier 997500 997511 - Identifier 997512 997515 - Identifier 997516 997519 - IfStatement 997521 997667 - PrefixUnaryExpression 997535 997540 - Identifier 997536 997540 - Block 997541 997667 - ExpressionStatement 997543 997656 - CallExpression 997543 997655 - PropertyAccessExpression 997543 997571 - Identifier 997543 997567 - Identifier 997568 997571 - Identifier 997572 997575 - BinaryExpression 997576 997654 - Identifier 997576 997581 - EqualsToken 997581 997583 - CallExpression 997583 997654 - Identifier 997583 997605 - Identifier 997606 997618 - Identifier 997619 997628 - Identifier 997629 997653 - ReturnStatement 997667 997689 - Identifier 997683 997688 - FunctionDeclaration 997696 1001225 - Identifier 998150 998172 - Parameter 998173 998210 - Identifier 998173 998185 - TypeOperator 998186 998210 - ArrayType 998195 998210 - TypeReference 998195 998208 - Identifier 998195 998208 - Parameter 998211 998229 - Identifier 998211 998220 - BooleanKeyword 998221 998229 - Parameter 998230 998320 - Identifier 998230 998254 - TypeOperator 998255 998320 - ArrayType 998264 998320 - ParenthesizedType 998264 998318 - UnionType 998266 998317 - TypeReference 998266 998282 - Identifier 998266 998282 - TypeReference 998284 998305 - Identifier 998284 998305 - UndefinedKeyword 998307 998317 - TypeReference 998322 998332 - Identifier 998322 998332 - Block 998332 1001225 - VariableStatement 998334 998378 - VariableDeclarationList 998334 998377 - VariableDeclaration 998349 998377 - Identifier 998349 998355 - PropertyAccessExpression 998357 998377 - Identifier 998357 998370 - Identifier 998371 998377 - VariableStatement 998378 998493 - VariableDeclarationList 998378 998492 - VariableDeclaration 998393 998492 - Identifier 998393 998403 - CallExpression 998405 998492 - Identifier 998405 998416 - Identifier 998417 998429 - ArrowFunction 998430 998491 - Parameter 998430 998432 - Identifier 998430 998432 - EqualsGreaterThanToken 998432 998435 - PrefixUnaryExpression 998435 998491 - PrefixUnaryExpression 998437 998491 - ParenthesizedExpression 998438 998491 - BinaryExpression 998439 998490 - Identifier 998439 998440 - AmpersandToken 998440 998442 - ParenthesizedExpression 998442 998490 - BinaryExpression 998444 998489 - PropertyAccessExpression 998444 998465 - Identifier 998444 998456 - Identifier 998457 998465 - BarToken 998465 998467 - PropertyAccessExpression 998467 998489 - Identifier 998467 998480 - Identifier 998481 998489 - VariableStatement 998493 998551 - VariableDeclarationList 998493 998550 - VariableDeclaration 998506 998550 - Identifier 998506 998521 - UnionType 998522 998550 - ArrayType 998522 998538 - TypeReference 998522 998536 - Identifier 998522 998536 - UndefinedKeyword 998540 998550 - VariableStatement 998551 998593 - VariableDeclarationList 998551 998592 - VariableDeclaration 998566 998592 - Identifier 998566 998577 - ArrayType 998578 998587 - TypeReference 998578 998585 - Identifier 998578 998585 - ArrayLiteralExpression 998589 998592 - VariableStatement 998593 998641 - VariableDeclarationList 998593 998640 - VariableDeclaration 998606 998640 - Identifier 998606 998620 - AsExpression 998622 998640 - NumericLiteral 998622 998624 - TypeReference 998627 998640 - Identifier 998627 998640 - IfStatement 998641 999426 - Identifier 998655 998660 - Block 998661 999426 - ExpressionStatement 998663 998711 - BinaryExpression 998663 998710 - Identifier 998663 998691 - EqualsToken 998691 998693 - NewExpression 998693 998710 - Identifier 998697 998703 - Identifier 998704 998709 - ForStatement 998711 999415 - VariableDeclarationList 998730 998739 - VariableDeclaration 998733 998739 - Identifier 998733 998735 - NumericLiteral 998737 998739 - BinaryExpression 998740 998750 - Identifier 998740 998742 - LessThanToken 998742 998744 - Identifier 998744 998750 - PostfixUnaryExpression 998751 998755 - Identifier 998751 998753 - Block 998756 999415 - VariableStatement 998758 998840 - VariableDeclarationList 998758 998839 - VariableDeclaration 998781 998839 - Identifier 998781 998795 - BinaryExpression 998797 998839 - ElementAccessExpression 998797 998815 - Identifier 998797 998812 - Identifier 998813 998814 - EqualsToken 998815 998817 - CallExpression 998817 998839 - Identifier 998817 998837 - VariableStatement 998840 998888 - VariableDeclarationList 998840 998887 - VariableDeclaration 998863 998887 - Identifier 998863 998869 - ElementAccessExpression 998871 998887 - Identifier 998871 998884 - Identifier 998885 998886 - ExpressionStatement 998888 998929 - BinaryExpression 998888 998928 - Identifier 998888 998919 - BarEqualsToken 998919 998922 - Identifier 998922 998928 - IfStatement 998929 999400 - PrefixUnaryExpression 998951 998991 - ParenthesizedExpression 998952 998991 - BinaryExpression 998953 998990 - Identifier 998953 998966 - AmpersandToken 998966 998968 - PropertyAccessExpression 998968 998990 - Identifier 998968 998981 - Identifier 998982 998990 - Block 998992 999400 - VariableStatement 998994 999185 - VariableDeclarationList 998994 999184 - VariableDeclaration 999021 999184 - Identifier 999021 999030 - CallExpression 999032 999184 - Identifier 999032 999045 - BinaryExpression 999046 999127 - PropertyAccessExpression 999046 999066 - Identifier 999046 999057 - Identifier 999058 999066 - BarToken 999066 999068 - ParenthesizedExpression 999068 999127 - ConditionalExpression 999070 999126 - BinaryExpression 999070 999099 - Identifier 999070 999075 - AmpersandToken 999075 999077 - PropertyAccessExpression 999077 999099 - Identifier 999077 999090 - Identifier 999091 999099 - QuestionToken 999099 999101 - PropertyAccessExpression 999101 999122 - Identifier 999101 999113 - Identifier 999114 999122 - ColonToken 999122 999124 - NumericLiteral 999124 999126 - AsExpression 999128 999147 - BinaryExpression 999128 999135 - StringLiteral 999128 999131 - PlusToken 999131 999133 - Identifier 999133 999135 - TypeReference 999138 999147 - Identifier 999138 999147 - ConditionalExpression 999148 999183 - Identifier 999148 999157 - QuestionToken 999157 999159 - PropertyAccessExpression 999159 999179 - Identifier 999159 999170 - Identifier 999171 999179 - ColonToken 999179 999181 - NumericLiteral 999181 999183 - ExpressionStatement 999185 999275 - BinaryExpression 999185 999274 - PropertyAccessExpression 999185 999243 - PropertyAccessExpression 999185 999221 - Identifier 999185 999215 - Identifier 999216 999221 - Identifier 999222 999243 - EqualsToken 999243 999245 - ElementAccessExpression 999245 999274 - Identifier 999245 999269 - QuestionDotToken 999269 999271 - Identifier 999272 999273 - ExpressionStatement 999275 999333 - BinaryExpression 999275 999332 - PropertyAccessExpression 999275 999316 - PropertyAccessExpression 999275 999311 - Identifier 999275 999305 - Identifier 999306 999311 - Identifier 999312 999316 - EqualsToken 999316 999318 - Identifier 999318 999332 - ExpressionStatement 999333 999381 - CallExpression 999333 999380 - PropertyAccessExpression 999333 999370 - Identifier 999333 999365 - Identifier 999366 999370 - Identifier 999371 999379 - VariableStatement 999426 999474 - VariableDeclarationList 999426 999473 - VariableDeclaration 999441 999473 - Identifier 999441 999453 - PropertyAccessExpression 999455 999473 - Identifier 999455 999466 - Identifier 999467 999473 - VariableStatement 999474 999598 - VariableDeclarationList 999474 999597 - VariableDeclaration 999489 999597 - Identifier 999489 999502 - CallExpression 999504 999597 - Identifier 999504 999517 - PropertyAccessExpression 999518 999538 - Identifier 999518 999529 - Identifier 999530 999538 - AsExpression 999539 999560 - StringLiteral 999539 999548 - TypeReference 999551 999560 - Identifier 999551 999560 - ConditionalExpression 999561 999596 - Identifier 999561 999570 - QuestionToken 999570 999572 - PropertyAccessExpression 999572 999592 - Identifier 999572 999583 - Identifier 999584 999592 - ColonToken 999592 999594 - NumericLiteral 999594 999596 - IfStatement 999598 999944 - BinaryExpression 999612 999649 - Identifier 999612 999625 - AmpersandToken 999625 999627 - PropertyAccessExpression 999627 999649 - Identifier 999627 999640 - Identifier 999641 999649 - Block 999650 999714 - ExpressionStatement 999652 999703 - BinaryExpression 999652 999702 - PropertyAccessExpression 999652 999689 - PropertyAccessExpression 999652 999684 - Identifier 999652 999678 - Identifier 999679 999684 - Identifier 999685 999689 - EqualsToken 999689 999691 - Identifier 999691 999702 - Block 999728 999944 - VariableStatement 999730 999768 - VariableDeclarationList 999730 999767 - VariableDeclaration 999749 999767 - Identifier 999749 999762 - ArrayLiteralExpression 999764 999767 - ForStatement 999768 999866 - VariableDeclarationList 999787 999804 - VariableDeclaration 999790 999804 - Identifier 999790 999792 - Identifier 999794 999804 - BinaryExpression 999805 999816 - Identifier 999805 999807 - LessThanEqualsToken 999807 999810 - Identifier 999810 999816 - PostfixUnaryExpression 999817 999821 - Identifier 999817 999819 - ExpressionStatement 999822 999866 - CallExpression 999822 999865 - PropertyAccessExpression 999822 999840 - Identifier 999822 999835 - Identifier 999836 999840 - CallExpression 999841 999864 - Identifier 999841 999861 - Identifier 999862 999863 - ExpressionStatement 999866 999933 - BinaryExpression 999866 999932 - PropertyAccessExpression 999866 999903 - PropertyAccessExpression 999866 999898 - Identifier 999866 999892 - Identifier 999893 999898 - Identifier 999899 999903 - EqualsToken 999903 999905 - CallExpression 999905 999932 - Identifier 999905 999918 - Identifier 999919 999931 - ExpressionStatement 999944 999984 - CallExpression 999944 999983 - PropertyAccessExpression 999944 999969 - Identifier 999944 999964 - Identifier 999965 999969 - Identifier 999970 999982 - VariableStatement 999984 1000115 - VariableDeclarationList 999984 1000114 - VariableDeclaration 999999 1000114 - Identifier 999999 1000004 - AsExpression 1000006 1000114 - CallExpression 1000006 1000066 - Identifier 1000006 1000023 - BinaryExpression 1000024 1000065 - PropertyAccessExpression 1000024 1000041 - Identifier 1000024 1000035 - Identifier 1000036 1000041 - BarToken 1000041 1000043 - PropertyAccessExpression 1000043 1000065 - Identifier 1000043 1000055 - Identifier 1000056 1000065 - IntersectionType 1000069 1000114 - TypeReference 1000069 1000079 - Identifier 1000069 1000079 - TypeReference 1000081 1000114 - Identifier 1000081 1000114 - ExpressionStatement 1000115 1000162 - BinaryExpression 1000115 1000161 - PropertyAccessExpression 1000115 1000144 - Identifier 1000115 1000129 - Identifier 1000130 1000144 - EqualsToken 1000144 1000146 - Identifier 1000146 1000161 - ExpressionStatement 1000162 1000209 - BinaryExpression 1000162 1000208 - PropertyAccessExpression 1000162 1000196 - Identifier 1000162 1000176 - Identifier 1000177 1000196 - EqualsToken 1000196 1000198 - Identifier 1000198 1000208 - ExpressionStatement 1000209 1000261 - BinaryExpression 1000209 1000260 - PropertyAccessExpression 1000209 1000243 - Identifier 1000209 1000223 - Identifier 1000224 1000243 - EqualsToken 1000243 1000245 - Identifier 1000245 1000260 - ExpressionStatement 1000261 1000326 - BinaryExpression 1000261 1000325 - PropertyAccessExpression 1000261 1000290 - Identifier 1000261 1000275 - Identifier 1000276 1000290 - EqualsToken 1000290 1000292 - NewExpression 1000292 1000325 - Identifier 1000296 1000300 - StringKeyword 1000301 1000307 - TypeReference 1000308 1000322 - Identifier 1000308 1000322 - ExpressionStatement 1000326 1000417 - CallExpression 1000326 1000416 - PropertyAccessExpression 1000326 1000359 - PropertyAccessExpression 1000326 1000355 - Identifier 1000326 1000340 - Identifier 1000341 1000355 - Identifier 1000356 1000359 - CallExpression 1000360 1000394 - Identifier 1000360 1000373 - PropertyAccessExpression 1000374 1000393 - Identifier 1000374 1000378 - Identifier 1000379 1000393 - AsExpression 1000395 1000415 - Identifier 1000395 1000400 - TypeReference 1000403 1000415 - Identifier 1000403 1000415 - ExpressionStatement 1000417 1000461 - BinaryExpression 1000417 1000460 - PropertyAccessExpression 1000417 1000438 - Identifier 1000417 1000431 - Identifier 1000432 1000438 - EqualsToken 1000438 1000440 - AsExpression 1000440 1000460 - Identifier 1000440 1000445 - TypeReference 1000448 1000460 - Identifier 1000448 1000460 - ExpressionStatement 1000461 1000520 - BinaryExpression 1000461 1000519 - PropertyAccessExpression 1000461 1000497 - Identifier 1000461 1000475 - Identifier 1000476 1000497 - EqualsToken 1000497 1000499 - PropertyAccessExpression 1000499 1000519 - Identifier 1000499 1000504 - Identifier 1000505 1000519 - ExpressionStatement 1000520 1000568 - BinaryExpression 1000520 1000567 - PropertyAccessExpression 1000520 1000543 - Identifier 1000520 1000534 - Identifier 1000535 1000543 - EqualsToken 1000543 1000545 - CallExpression 1000545 1000567 - Identifier 1000545 1000565 - ExpressionStatement 1000568 1000610 - BinaryExpression 1000568 1000609 - PropertyAccessExpression 1000568 1000602 - PropertyAccessExpression 1000568 1000591 - Identifier 1000568 1000582 - Identifier 1000583 1000591 - Identifier 1000592 1000602 - EqualsToken 1000602 1000604 - TrueKeyword 1000604 1000609 - ExpressionStatement 1000610 1000652 - BinaryExpression 1000610 1000651 - PropertyAccessExpression 1000610 1000644 - PropertyAccessExpression 1000610 1000633 - Identifier 1000610 1000624 - Identifier 1000625 1000633 - Identifier 1000634 1000644 - EqualsToken 1000644 1000646 - Identifier 1000646 1000651 - ExpressionStatement 1000652 1000699 - BinaryExpression 1000652 1000698 - PropertyAccessExpression 1000652 1000685 - Identifier 1000652 1000666 - Identifier 1000667 1000685 - EqualsToken 1000685 1000687 - Identifier 1000687 1000698 - ExpressionStatement 1000699 1000750 - BinaryExpression 1000699 1000749 - PropertyAccessExpression 1000699 1000736 - Identifier 1000699 1000713 - Identifier 1000714 1000736 - EqualsToken 1000736 1000738 - Identifier 1000738 1000749 - ExpressionStatement 1000750 1000806 - BinaryExpression 1000750 1000805 - PropertyAccessExpression 1000750 1000792 - Identifier 1000750 1000764 - Identifier 1000765 1000792 - EqualsToken 1000792 1000794 - Identifier 1000794 1000805 - ExpressionStatement 1000806 1000853 - BinaryExpression 1000806 1000852 - PropertyAccessExpression 1000806 1000839 - Identifier 1000806 1000820 - Identifier 1000821 1000839 - EqualsToken 1000839 1000841 - Identifier 1000841 1000852 - ExpressionStatement 1000853 1000896 - BinaryExpression 1000853 1000895 - PropertyAccessExpression 1000853 1000880 - Identifier 1000853 1000867 - Identifier 1000868 1000880 - EqualsToken 1000880 1000882 - Identifier 1000882 1000895 - ExpressionStatement 1000896 1000933 - BinaryExpression 1000896 1000932 - PropertyAccessExpression 1000896 1000920 - Identifier 1000896 1000910 - Identifier 1000911 1000920 - EqualsToken 1000920 1000922 - Identifier 1000922 1000932 - ExpressionStatement 1000933 1000974 - BinaryExpression 1000933 1000973 - PropertyAccessExpression 1000933 1000959 - Identifier 1000933 1000947 - Identifier 1000948 1000959 - EqualsToken 1000959 1000961 - Identifier 1000961 1000973 - ExpressionStatement 1000974 1001048 - BinaryExpression 1000974 1001047 - PropertyAccessExpression 1000974 1001003 - Identifier 1000974 1000988 - Identifier 1000989 1001003 - EqualsToken 1001003 1001005 - PrefixUnaryExpression 1001005 1001047 - PrefixUnaryExpression 1001007 1001047 - ParenthesizedExpression 1001008 1001047 - BinaryExpression 1001009 1001046 - Identifier 1001009 1001022 - AmpersandToken 1001022 1001024 - PropertyAccessExpression 1001024 1001046 - Identifier 1001024 1001037 - Identifier 1001038 1001046 - ExpressionStatement 1001048 1001093 - BinaryExpression 1001048 1001092 - PropertyAccessExpression 1001048 1001076 - Identifier 1001048 1001062 - Identifier 1001063 1001076 - EqualsToken 1001076 1001078 - Identifier 1001078 1001092 - ExpressionStatement 1001093 1001128 - BinaryExpression 1001093 1001127 - PropertyAccessExpression 1001093 1001116 - Identifier 1001093 1001107 - Identifier 1001108 1001116 - EqualsToken 1001116 1001118 - Identifier 1001118 1001127 - ExpressionStatement 1001128 1001196 - BinaryExpression 1001128 1001195 - PropertyAccessExpression 1001128 1001169 - Identifier 1001128 1001142 - Identifier 1001143 1001169 - EqualsToken 1001169 1001171 - Identifier 1001171 1001195 - ReturnStatement 1001196 1001218 - Identifier 1001212 1001217 - FunctionDeclaration 1001225 1001511 - Identifier 1001241 1001271 - Parameter 1001272 1001291 - Identifier 1001272 1001278 - TypeReference 1001279 1001291 - Identifier 1001279 1001291 - Parameter 1001292 1001335 - Identifier 1001292 1001306 - UnionType 1001307 1001335 - TypeOperator 1001307 1001323 - ArrayType 1001316 1001323 - TypeReference 1001316 1001321 - Identifier 1001316 1001321 - UndefinedKeyword 1001325 1001335 - Block 1001336 1001511 - ReturnStatement 1001338 1001504 - ConditionalExpression 1001354 1001503 - BinaryExpression 1001354 1001393 - PropertyAccessExpression 1001354 1001373 - Identifier 1001354 1001361 - Identifier 1001362 1001373 - AmpersandToken 1001373 1001375 - PropertyAccessExpression 1001375 1001393 - Identifier 1001375 1001387 - Identifier 1001388 1001393 - QuestionToken 1001393 1001395 - CallExpression 1001395 1001458 - Identifier 1001395 1001421 - AsExpression 1001422 1001441 - Identifier 1001422 1001428 - TypeReference 1001431 1001441 - Identifier 1001431 1001441 - NonNullExpression 1001442 1001457 - Identifier 1001442 1001456 - ColonToken 1001458 1001460 - CallExpression 1001460 1001503 - Identifier 1001460 1001480 - Identifier 1001481 1001487 - Identifier 1001488 1001502 - FunctionDeclaration 1001511 1007532 - Identifier 1001527 1001553 - Parameter 1001554 1001571 - Identifier 1001554 1001560 - TypeReference 1001561 1001571 - Identifier 1001561 1001571 - Parameter 1001572 1001602 - Identifier 1001572 1001585 - TypeOperator 1001586 1001602 - ArrayType 1001595 1001602 - TypeReference 1001595 1001600 - Identifier 1001595 1001600 - TypeReference 1001604 1001609 - Identifier 1001604 1001609 - Block 1001609 1007532 - IfStatement 1001611 1001833 - PrefixUnaryExpression 1001625 1001675 - ParenthesizedExpression 1001626 1001675 - BinaryExpression 1001627 1001674 - PropertyAccessExpression 1001627 1001647 - Identifier 1001627 1001633 - Identifier 1001634 1001647 - AmpersandToken 1001647 1001649 - PropertyAccessExpression 1001649 1001674 - Identifier 1001649 1001662 - Identifier 1001663 1001674 - Block 1001676 1001833 - ReturnStatement 1001678 1001822 - CallExpression 1001779 1001821 - Identifier 1001779 1001799 - Identifier 1001800 1001806 - Identifier 1001807 1001820 - IfStatement 1001833 1002527 - BinaryExpression 1001847 1001891 - PropertyAccessExpression 1001847 1001867 - Identifier 1001847 1001853 - Identifier 1001854 1001867 - AmpersandToken 1001867 1001869 - PropertyAccessExpression 1001869 1001891 - Identifier 1001869 1001882 - Identifier 1001883 1001891 - Block 1001892 1002527 - VariableStatement 1001894 1002147 - VariableDeclarationList 1001894 1002146 - VariableDeclaration 1001998 1002146 - Identifier 1001998 1002009 - CallExpression 1002011 1002146 - Identifier 1002011 1002021 - Identifier 1002022 1002034 - ArrowFunction 1002035 1002145 - Parameter 1002037 1002038 - Identifier 1002037 1002038 - Parameter 1002039 1002041 - Identifier 1002039 1002041 - EqualsGreaterThanToken 1002042 1002045 - PrefixUnaryExpression 1002045 1002145 - PrefixUnaryExpression 1002047 1002145 - ParenthesizedExpression 1002048 1002145 - BinaryExpression 1002049 1002144 - BinaryExpression 1002049 1002095 - ElementAccessExpression 1002049 1002071 - PropertyAccessExpression 1002049 1002068 - Identifier 1002049 1002055 - Identifier 1002056 1002068 - Identifier 1002069 1002070 - AmpersandToken 1002071 1002073 - PropertyAccessExpression 1002073 1002095 - Identifier 1002073 1002086 - Identifier 1002087 1002095 - AmpersandAmpersandToken 1002095 1002098 - BinaryExpression 1002098 1002144 - PropertyAccessExpression 1002098 1002106 - Identifier 1002098 1002100 - Identifier 1002101 1002106 - AmpersandToken 1002106 1002108 - ParenthesizedExpression 1002108 1002144 - BinaryExpression 1002110 1002143 - PropertyAccessExpression 1002110 1002125 - Identifier 1002110 1002119 - Identifier 1002120 1002125 - BarToken 1002125 1002127 - PropertyAccessExpression 1002127 1002143 - Identifier 1002127 1002137 - Identifier 1002138 1002143 - IfStatement 1002147 1002516 - BinaryExpression 1002165 1002180 - Identifier 1002165 1002175 - GreaterThanEqualsToken 1002175 1002178 - NumericLiteral 1002178 1002180 - Block 1002181 1002516 - ReturnStatement 1002183 1002501 - ConditionalExpression 1002207 1002500 - CallExpression 1002207 1002325 - Identifier 1002207 1002230 - CallExpression 1002231 1002324 - Identifier 1002231 1002234 - Identifier 1002235 1002247 - ArrowFunction 1002248 1002323 - Parameter 1002250 1002251 - Identifier 1002250 1002251 - Parameter 1002252 1002254 - Identifier 1002252 1002254 - EqualsGreaterThanToken 1002255 1002258 - ConditionalExpression 1002258 1002323 - BinaryExpression 1002258 1002305 - ElementAccessExpression 1002258 1002281 - PropertyAccessExpression 1002258 1002278 - Identifier 1002258 1002265 - Identifier 1002266 1002278 - Identifier 1002279 1002280 - AmpersandToken 1002281 1002283 - PropertyAccessExpression 1002283 1002305 - Identifier 1002283 1002296 - Identifier 1002297 1002305 - QuestionToken 1002305 1002307 - Identifier 1002307 1002309 - ColonToken 1002309 1002311 - Identifier 1002311 1002323 - QuestionToken 1002325 1002327 - CallExpression 1002327 1002467 - Identifier 1002327 1002356 - ElementAccessExpression 1002357 1002381 - Identifier 1002357 1002369 - Identifier 1002370 1002380 - ArrowFunction 1002382 1002466 - Parameter 1002382 1002384 - Identifier 1002382 1002384 - EqualsGreaterThanToken 1002384 1002387 - CallExpression 1002387 1002466 - Identifier 1002387 1002413 - Identifier 1002414 1002420 - CallExpression 1002421 1002465 - Identifier 1002421 1002436 - Identifier 1002437 1002449 - Identifier 1002450 1002461 - Identifier 1002462 1002464 - ColonToken 1002467 1002469 - Identifier 1002469 1002500 - VariableStatement 1002527 1003168 - VariableDeclarationList 1002527 1003167 - VariableDeclaration 1003140 1003167 - Identifier 1003140 1003154 - ArrayType 1003155 1003162 - TypeReference 1003155 1003160 - Identifier 1003155 1003160 - ArrayLiteralExpression 1003164 1003167 - VariableStatement 1003168 1003219 - VariableDeclarationList 1003168 1003218 - VariableDeclaration 1003183 1003218 - Identifier 1003183 1003197 - ArrayType 1003198 1003213 - TypeReference 1003198 1003211 - Identifier 1003198 1003211 - ArrayLiteralExpression 1003215 1003218 - VariableStatement 1003219 1003318 - VariableDeclarationList 1003219 1003317 - VariableDeclaration 1003234 1003317 - Identifier 1003234 1003255 - ArrayType 1003256 1003312 - ParenthesizedType 1003256 1003310 - UnionType 1003258 1003309 - TypeReference 1003258 1003274 - Identifier 1003258 1003274 - TypeReference 1003276 1003297 - Identifier 1003276 1003297 - UndefinedKeyword 1003299 1003309 - ArrayLiteralExpression 1003314 1003317 - VariableStatement 1003318 1003355 - VariableDeclarationList 1003318 1003354 - VariableDeclaration 1003331 1003354 - Identifier 1003331 1003349 - PrefixUnaryExpression 1003351 1003354 - NumericLiteral 1003353 1003354 - VariableStatement 1003355 1003389 - VariableDeclarationList 1003355 1003388 - VariableDeclaration 1003368 1003388 - Identifier 1003368 1003383 - PrefixUnaryExpression 1003385 1003388 - NumericLiteral 1003387 1003388 - VariableStatement 1003389 1003432 - VariableDeclarationList 1003389 1003431 - VariableDeclaration 1003402 1003431 - Identifier 1003402 1003426 - PrefixUnaryExpression 1003428 1003431 - NumericLiteral 1003430 1003431 - ForStatement 1003432 1005481 - VariableDeclarationList 1003447 1003456 - VariableDeclaration 1003450 1003456 - Identifier 1003450 1003452 - NumericLiteral 1003454 1003456 - BinaryExpression 1003457 1003481 - Identifier 1003457 1003459 - LessThanToken 1003459 1003461 - PropertyAccessExpression 1003461 1003481 - Identifier 1003461 1003474 - Identifier 1003475 1003481 - PostfixUnaryExpression 1003482 1003486 - Identifier 1003482 1003484 - Block 1003487 1005481 - VariableStatement 1003489 1003532 - VariableDeclarationList 1003489 1003531 - VariableDeclaration 1003508 1003531 - Identifier 1003508 1003513 - ElementAccessExpression 1003515 1003531 - Identifier 1003515 1003528 - Identifier 1003529 1003530 - VariableStatement 1003532 1003583 - VariableDeclarationList 1003532 1003582 - VariableDeclaration 1003551 1003582 - Identifier 1003551 1003557 - ElementAccessExpression 1003559 1003582 - PropertyAccessExpression 1003559 1003579 - Identifier 1003559 1003566 - Identifier 1003567 1003579 - Identifier 1003580 1003581 - IfStatement 1003583 1005470 - BinaryExpression 1003601 1003630 - Identifier 1003601 1003606 - AmpersandToken 1003606 1003608 - PropertyAccessExpression 1003608 1003630 - Identifier 1003608 1003621 - Identifier 1003622 1003630 - Block 1003631 1005292 - IfStatement 1003633 1005277 - BinaryExpression 1003655 1003681 - PropertyAccessExpression 1003655 1003665 - Identifier 1003655 1003659 - Identifier 1003660 1003665 - AmpersandToken 1003665 1003667 - PropertyAccessExpression 1003667 1003681 - Identifier 1003667 1003677 - Identifier 1003678 1003681 - Block 1003682 1003801 - ExpressionStatement 1003684 1003782 - CallExpression 1003684 1003781 - Identifier 1003684 1003716 - Identifier 1003717 1003721 - PropertyAccessExpression 1003722 1003740 - Identifier 1003722 1003735 - Identifier 1003736 1003740 - ElementAccessExpression 1003741 1003780 - PropertyAccessExpression 1003741 1003775 - Identifier 1003741 1003748 - Identifier 1003749 1003775 - QuestionDotToken 1003775 1003777 - Identifier 1003778 1003779 - IfStatement 1003823 1005277 - BinaryExpression 1003828 1003904 - BinaryExpression 1003828 1003875 - PropertyAccessExpression 1003828 1003838 - Identifier 1003828 1003832 - Identifier 1003833 1003838 - AmpersandToken 1003838 1003840 - PropertyAccessExpression 1003840 1003875 - Identifier 1003840 1003850 - Identifier 1003851 1003875 - BarBarToken 1003875 1003878 - CallExpression 1003878 1003904 - Identifier 1003878 1003898 - Identifier 1003899 1003903 - Block 1003905 1004096 - ExpressionStatement 1003907 1004077 - CallExpression 1003907 1004076 - Identifier 1003907 1004007 - Identifier 1004008 1004012 - PropertyAccessExpression 1004013 1004035 - Identifier 1004013 1004026 - Identifier 1004027 1004035 - ElementAccessExpression 1004036 1004075 - PropertyAccessExpression 1004036 1004070 - Identifier 1004036 1004043 - Identifier 1004044 1004070 - QuestionDotToken 1004070 1004072 - Identifier 1004073 1004074 - IfStatement 1004118 1005277 - CallExpression 1004123 1004140 - Identifier 1004123 1004134 - Identifier 1004135 1004139 - Block 1004141 1004976 - VariableStatement 1004143 1004204 - VariableDeclarationList 1004143 1004203 - VariableDeclaration 1004170 1004203 - Identifier 1004170 1004179 - CallExpression 1004181 1004203 - Identifier 1004181 1004197 - Identifier 1004198 1004202 - IfStatement 1004204 1004726 - BinaryExpression 1004230 1004278 - BinaryExpression 1004230 1004268 - PropertyAccessExpression 1004230 1004245 - Identifier 1004230 1004238 - Identifier 1004239 1004245 - PlusToken 1004245 1004247 - PropertyAccessExpression 1004247 1004268 - Identifier 1004247 1004261 - Identifier 1004262 1004268 - GreaterThanEqualsToken 1004268 1004271 - NumericLiteral 1004271 1004278 - Block 1004279 1004726 - ExpressionStatement 1004281 1004660 - CallExpression 1004281 1004659 - Identifier 1004281 1004312 - Identifier 1004313 1004354 - ConditionalExpression 1004355 1004631 - CallExpression 1004355 1004415 - Identifier 1004355 1004401 - NonNullExpression 1004402 1004414 - Identifier 1004402 1004413 - QuestionToken 1004415 1004450 - PropertyAccessExpression 1004450 1004520 - Identifier 1004450 1004462 - Identifier 1004463 1004520 - ColonToken 1004520 1004555 - PropertyAccessExpression 1004555 1004631 - Identifier 1004555 1004567 - Identifier 1004568 1004631 - ReturnStatement 1004660 1004703 - Identifier 1004692 1004702 - ExpressionStatement 1004726 1004957 - CallExpression 1004726 1004956 - Identifier 1004726 1004847 - Identifier 1004848 1004856 - ArrowFunction 1004857 1004955 - Parameter 1004859 1004860 - Identifier 1004859 1004860 - Parameter 1004861 1004863 - Identifier 1004861 1004863 - EqualsGreaterThanToken 1004864 1004867 - CallExpression 1004867 1004955 - Identifier 1004867 1004878 - Identifier 1004879 1004880 - ElementAccessExpression 1004881 1004909 - PropertyAccessExpression 1004881 1004906 - PropertyAccessExpression 1004881 1004893 - Identifier 1004881 1004886 - Identifier 1004887 1004893 - Identifier 1004894 1004906 - Identifier 1004907 1004908 - ElementAccessExpression 1004910 1004954 - PropertyAccessExpression 1004910 1004949 - PropertyAccessExpression 1004910 1004922 - Identifier 1004910 1004915 - Identifier 1004916 1004922 - Identifier 1004923 1004949 - QuestionDotToken 1004949 1004951 - Identifier 1004952 1004953 - Block 1004998 1005277 - ExpressionStatement 1005000 1005258 - CallExpression 1005000 1005257 - Identifier 1005000 1005122 - BinaryExpression 1005123 1005197 - BinaryExpression 1005123 1005184 - CallExpression 1005123 1005144 - Identifier 1005123 1005138 - Identifier 1005139 1005143 - AmpersandAmpersandToken 1005144 1005147 - CallExpression 1005147 1005184 - Identifier 1005147 1005166 - Identifier 1005167 1005171 - Identifier 1005172 1005183 - BarBarToken 1005184 1005187 - Identifier 1005187 1005197 - PropertyAccessExpression 1005198 1005216 - Identifier 1005198 1005211 - Identifier 1005212 1005216 - ElementAccessExpression 1005217 1005256 - PropertyAccessExpression 1005217 1005251 - Identifier 1005217 1005224 - Identifier 1005225 1005251 - QuestionDotToken 1005251 1005253 - Identifier 1005254 1005255 - Block 1005310 1005470 - ExpressionStatement 1005312 1005455 - CallExpression 1005312 1005454 - Identifier 1005312 1005401 - Identifier 1005402 1005406 - Identifier 1005407 1005413 - ElementAccessExpression 1005414 1005453 - PropertyAccessExpression 1005414 1005448 - Identifier 1005414 1005421 - Identifier 1005422 1005448 - QuestionDotToken 1005448 1005450 - Identifier 1005451 1005452 - ForStatement 1005481 1005742 - VariableDeclarationList 1005590 1005599 - VariableDeclaration 1005593 1005599 - Identifier 1005593 1005595 - NumericLiteral 1005597 1005599 - BinaryExpression 1005600 1005622 - Identifier 1005600 1005602 - LessThanToken 1005602 1005604 - Identifier 1005604 1005622 - PostfixUnaryExpression 1005623 1005627 - Identifier 1005623 1005625 - Block 1005628 1005742 - IfStatement 1005630 1005731 - BinaryExpression 1005648 1005688 - ElementAccessExpression 1005648 1005664 - Identifier 1005648 1005661 - Identifier 1005662 1005663 - AmpersandToken 1005664 1005666 - PropertyAccessExpression 1005666 1005688 - Identifier 1005666 1005679 - Identifier 1005680 1005688 - ExpressionStatement 1005689 1005731 - BinaryExpression 1005689 1005730 - ElementAccessExpression 1005689 1005706 - Identifier 1005689 1005703 - Identifier 1005704 1005705 - EqualsToken 1005706 1005708 - PropertyAccessExpression 1005708 1005730 - Identifier 1005708 1005721 - Identifier 1005722 1005730 - IfStatement 1005742 1006475 - BinaryExpression 1005756 1005819 - BinaryExpression 1005756 1005775 - Identifier 1005756 1005770 - GreaterThanEqualsToken 1005770 1005773 - NumericLiteral 1005773 1005775 - AmpersandAmpersandToken 1005775 1005778 - BinaryExpression 1005778 1005819 - Identifier 1005778 1005793 - LessThanToken 1005793 1005795 - Identifier 1005795 1005819 - Block 1005820 1006475 - ExpressionStatement 1005822 1006166 - BinaryExpression 1005822 1006165 - ElementAccessExpression 1005822 1005964 - Identifier 1005822 1005948 - Identifier 1005949 1005963 - EqualsToken 1005964 1005966 - CallExpression 1005966 1006165 - Identifier 1005966 1005979 - CallExpression 1005980 1006164 - Identifier 1005980 1005987 - CallExpression 1005988 1006052 - PropertyAccessExpression 1005988 1006007 - Identifier 1005988 1006001 - Identifier 1006002 1006007 - Identifier 1006008 1006022 - BinaryExpression 1006023 1006051 - Identifier 1006023 1006047 - PlusToken 1006047 1006049 - NumericLiteral 1006049 1006051 - ArrowFunction 1006053 1006163 - Parameter 1006055 1006056 - Identifier 1006055 1006056 - Parameter 1006057 1006059 - Identifier 1006057 1006059 - EqualsGreaterThanToken 1006060 1006063 - ConditionalExpression 1006063 1006163 - BinaryExpression 1006063 1006121 - ElementAccessExpression 1006063 1006097 - Identifier 1006063 1006077 - BinaryExpression 1006078 1006096 - Identifier 1006078 1006092 - PlusToken 1006092 1006094 - Identifier 1006094 1006096 - AmpersandToken 1006097 1006099 - PropertyAccessExpression 1006099 1006121 - Identifier 1006099 1006112 - Identifier 1006113 1006121 - QuestionToken 1006121 1006123 - CallExpression 1006123 1006159 - Identifier 1006123 1006144 - Identifier 1006145 1006146 - Identifier 1006147 1006158 - ColonToken 1006159 1006161 - Identifier 1006161 1006163 - ExpressionStatement 1006166 1006263 - CallExpression 1006166 1006262 - PropertyAccessExpression 1006166 1006200 - Identifier 1006166 1006193 - Identifier 1006194 1006200 - BinaryExpression 1006201 1006219 - Identifier 1006201 1006215 - PlusToken 1006215 1006217 - NumericLiteral 1006217 1006219 - BinaryExpression 1006220 1006261 - Identifier 1006220 1006244 - MinusToken 1006244 1006246 - Identifier 1006246 1006261 - ExpressionStatement 1006263 1006360 - CallExpression 1006263 1006359 - PropertyAccessExpression 1006263 1006297 - Identifier 1006263 1006290 - Identifier 1006291 1006297 - BinaryExpression 1006298 1006316 - Identifier 1006298 1006312 - PlusToken 1006312 1006314 - NumericLiteral 1006314 1006316 - BinaryExpression 1006317 1006358 - Identifier 1006317 1006341 - MinusToken 1006341 1006343 - Identifier 1006343 1006358 - ExpressionStatement 1006360 1006464 - CallExpression 1006360 1006463 - PropertyAccessExpression 1006360 1006401 - Identifier 1006360 1006394 - Identifier 1006395 1006401 - BinaryExpression 1006402 1006420 - Identifier 1006402 1006416 - PlusToken 1006416 1006418 - NumericLiteral 1006418 1006420 - BinaryExpression 1006421 1006462 - Identifier 1006421 1006445 - MinusToken 1006445 1006447 - Identifier 1006447 1006462 - VariableStatement 1006475 1006578 - VariableDeclarationList 1006475 1006577 - VariableDeclaration 1006490 1006577 - Identifier 1006490 1006502 - CallExpression 1006504 1006577 - Identifier 1006504 1006523 - Identifier 1006524 1006537 - PropertyAccessExpression 1006538 1006554 - Identifier 1006538 1006545 - Identifier 1006546 1006554 - Identifier 1006555 1006576 - ReturnStatement 1006578 1006759 - ConditionalExpression 1006594 1006758 - BinaryExpression 1006594 1006627 - Identifier 1006594 1006606 - EqualsEqualsEqualsToken 1006606 1006610 - Identifier 1006610 1006627 - QuestionToken 1006627 1006629 - Identifier 1006629 1006645 - ColonToken 1006645 1006647 - ConditionalExpression 1006647 1006758 - PropertyAccessExpression 1006647 1006681 - Identifier 1006647 1006674 - Identifier 1006675 1006681 - QuestionToken 1006681 1006683 - CallExpression 1006683 1006731 - Identifier 1006683 1006703 - Identifier 1006704 1006715 - Identifier 1006716 1006730 - ColonToken 1006731 1006733 - Identifier 1006733 1006758 - FunctionDeclaration 1006759 1007525 - Identifier 1006779 1006790 - Parameter 1006791 1006801 - Identifier 1006791 1006795 - TypeReference 1006796 1006801 - Identifier 1006796 1006801 - Parameter 1006802 1006822 - Identifier 1006802 1006808 - TypeReference 1006809 1006822 - Identifier 1006809 1006822 - Parameter 1006823 1006888 - Identifier 1006823 1006835 - UnionType 1006836 1006888 - TypeReference 1006836 1006853 - Identifier 1006836 1006853 - TypeReference 1006855 1006876 - Identifier 1006855 1006876 - UndefinedKeyword 1006878 1006888 - Block 1006889 1007525 - IfStatement 1006891 1007015 - BinaryExpression 1006909 1006938 - Identifier 1006909 1006914 - AmpersandToken 1006914 1006916 - PropertyAccessExpression 1006916 1006938 - Identifier 1006916 1006929 - Identifier 1006930 1006938 - Block 1006939 1007015 - ExpressionStatement 1006941 1007000 - BinaryExpression 1006941 1006999 - Identifier 1006941 1006976 - EqualsToken 1006976 1006978 - PropertyAccessExpression 1006978 1006999 - Identifier 1006978 1006992 - Identifier 1006993 1006999 - IfStatement 1007015 1007154 - BinaryExpression 1007033 1007080 - BinaryExpression 1007033 1007058 - Identifier 1007033 1007038 - AmpersandToken 1007038 1007040 - PropertyAccessExpression 1007040 1007058 - Identifier 1007040 1007053 - Identifier 1007054 1007058 - AmpersandAmpersandToken 1007058 1007061 - BinaryExpression 1007061 1007080 - Identifier 1007061 1007076 - LessThanToken 1007076 1007078 - NumericLiteral 1007078 1007080 - Block 1007081 1007154 - ExpressionStatement 1007083 1007139 - BinaryExpression 1007083 1007138 - Identifier 1007083 1007115 - EqualsToken 1007115 1007117 - PropertyAccessExpression 1007117 1007138 - Identifier 1007117 1007131 - Identifier 1007132 1007138 - IfStatement 1007154 1007306 - BinaryExpression 1007172 1007223 - Identifier 1007172 1007177 - AmpersandToken 1007177 1007179 - ParenthesizedExpression 1007179 1007223 - BinaryExpression 1007181 1007222 - PropertyAccessExpression 1007181 1007202 - Identifier 1007181 1007193 - Identifier 1007194 1007202 - BarToken 1007202 1007204 - PropertyAccessExpression 1007204 1007222 - Identifier 1007204 1007217 - Identifier 1007218 1007222 - Block 1007224 1007306 - ExpressionStatement 1007226 1007291 - BinaryExpression 1007226 1007290 - Identifier 1007226 1007267 - EqualsToken 1007267 1007269 - PropertyAccessExpression 1007269 1007290 - Identifier 1007269 1007283 - Identifier 1007284 1007290 - ExpressionStatement 1007306 1007421 - CallExpression 1007306 1007420 - PropertyAccessExpression 1007306 1007338 - Identifier 1007306 1007333 - Identifier 1007334 1007338 - ConditionalExpression 1007339 1007419 - BinaryExpression 1007339 1007368 - Identifier 1007339 1007344 - AmpersandToken 1007344 1007346 - PropertyAccessExpression 1007346 1007368 - Identifier 1007346 1007359 - Identifier 1007360 1007368 - QuestionToken 1007368 1007370 - CallExpression 1007370 1007412 - Identifier 1007370 1007385 - Identifier 1007386 1007390 - TrueKeyword 1007391 1007411 - ColonToken 1007412 1007414 - Identifier 1007414 1007419 - ExpressionStatement 1007421 1007461 - CallExpression 1007421 1007460 - PropertyAccessExpression 1007421 1007453 - Identifier 1007421 1007448 - Identifier 1007449 1007453 - Identifier 1007454 1007459 - ExpressionStatement 1007461 1007514 - CallExpression 1007461 1007513 - PropertyAccessExpression 1007461 1007500 - Identifier 1007461 1007495 - Identifier 1007496 1007500 - Identifier 1007501 1007512 - FunctionDeclaration 1007532 1008086 - Identifier 1007548 1007563 - Parameter 1007564 1007588 - Identifier 1007564 1007568 - TypeReference 1007569 1007588 - Identifier 1007569 1007588 - Parameter 1007589 1007603 - Identifier 1007589 1007595 - NumberKeyword 1007596 1007603 - Parameter 1007604 1007621 - Identifier 1007604 1007617 - NumericLiteral 1007619 1007621 - Block 1007622 1008086 - VariableStatement 1007624 1007661 - VariableDeclarationList 1007624 1007660 - VariableDeclaration 1007639 1007660 - Identifier 1007639 1007646 - PropertyAccessExpression 1007648 1007660 - Identifier 1007648 1007653 - Identifier 1007654 1007660 - VariableStatement 1007661 1007731 - VariableDeclarationList 1007661 1007730 - VariableDeclaration 1007676 1007730 - Identifier 1007676 1007685 - BinaryExpression 1007687 1007730 - CallExpression 1007687 1007715 - Identifier 1007687 1007709 - Identifier 1007710 1007714 - MinusToken 1007715 1007717 - Identifier 1007717 1007730 - ReturnStatement 1007731 1008079 - ConditionalExpression 1007747 1008078 - BinaryExpression 1007747 1007774 - Identifier 1007747 1007753 - GreaterThanToken 1007753 1007755 - PropertyAccessExpression 1007755 1007774 - Identifier 1007755 1007762 - Identifier 1007763 1007774 - QuestionToken 1007774 1007776 - BinaryExpression 1007776 1007841 - CallExpression 1007776 1007810 - Identifier 1007776 1007804 - Identifier 1007805 1007809 - BarBarToken 1007810 1007813 - CallExpression 1007813 1007841 - Identifier 1007813 1007829 - Identifier 1007830 1007840 - ColonToken 1007841 1007843 - CallExpression 1007843 1008078 - Identifier 1007843 1007872 - CallExpression 1007873 1007918 - PropertyAccessExpression 1007873 1007901 - CallExpression 1007873 1007895 - Identifier 1007873 1007889 - Identifier 1007890 1007894 - Identifier 1007896 1007901 - Identifier 1007902 1007907 - Identifier 1007908 1007917 - CallExpression 1007919 1007962 - PropertyAccessExpression 1007919 1007945 - PropertyAccessExpression 1007919 1007939 - Identifier 1007919 1007926 - Identifier 1007927 1007939 - Identifier 1007940 1007945 - Identifier 1007946 1007951 - Identifier 1007952 1007961 - FalseKeyword 1007963 1007982 - BinaryExpression 1007983 1008077 - PropertyAccessExpression 1007983 1008017 - Identifier 1007983 1007990 - Identifier 1007991 1008017 - AmpersandAmpersandToken 1008017 1008020 - CallExpression 1008020 1008077 - PropertyAccessExpression 1008020 1008060 - PropertyAccessExpression 1008020 1008054 - Identifier 1008020 1008027 - Identifier 1008028 1008054 - Identifier 1008055 1008060 - Identifier 1008061 1008066 - Identifier 1008067 1008076 - FunctionDeclaration 1008086 1008348 - Identifier 1008102 1008126 - Parameter 1008127 1008151 - Identifier 1008127 1008131 - TypeReference 1008132 1008151 - Identifier 1008132 1008151 - Block 1008152 1008348 - ReturnStatement 1008154 1008341 - CallExpression 1008170 1008340 - Identifier 1008170 1008183 - CallExpression 1008184 1008339 - Identifier 1008184 1008190 - CallExpression 1008191 1008258 - Identifier 1008191 1008198 - PropertyAccessExpression 1008199 1008222 - PropertyAccessExpression 1008199 1008210 - Identifier 1008199 1008203 - Identifier 1008204 1008210 - Identifier 1008211 1008222 - ArrowFunction 1008223 1008257 - Parameter 1008223 1008225 - Identifier 1008223 1008225 - EqualsGreaterThanToken 1008225 1008228 - CallExpression 1008228 1008257 - Identifier 1008228 1008249 - BinaryExpression 1008250 1008256 - StringLiteral 1008250 1008252 - PlusToken 1008252 1008254 - Identifier 1008254 1008256 - CallExpression 1008259 1008338 - Identifier 1008259 1008272 - ConditionalExpression 1008273 1008337 - PropertyAccessExpression 1008273 1008293 - PropertyAccessExpression 1008273 1008284 - Identifier 1008273 1008277 - Identifier 1008278 1008284 - Identifier 1008285 1008293 - QuestionToken 1008293 1008295 - Identifier 1008295 1008319 - ColonToken 1008319 1008321 - Identifier 1008321 1008337 - FunctionDeclaration 1008348 1008648 - Identifier 1008445 1008466 - Parameter 1008467 1008482 - Identifier 1008467 1008471 - TypeReference 1008472 1008482 - Identifier 1008472 1008482 - Parameter 1008483 1008503 - Identifier 1008483 1008489 - TypeReference 1008490 1008503 - Identifier 1008490 1008503 - Block 1008504 1008648 - VariableStatement 1008506 1008578 - VariableDeclarationList 1008506 1008577 - VariableDeclaration 1008521 1008577 - Identifier 1008521 1008527 - CallExpression 1008529 1008577 - Identifier 1008529 1008539 - PropertyAccessExpression 1008540 1008557 - Identifier 1008540 1008544 - Identifier 1008545 1008557 - ArrowFunction 1008558 1008576 - Parameter 1008558 1008560 - Identifier 1008558 1008560 - EqualsGreaterThanToken 1008560 1008563 - PrefixUnaryExpression 1008563 1008576 - ParenthesizedExpression 1008565 1008576 - BinaryExpression 1008566 1008575 - Identifier 1008566 1008567 - AmpersandToken 1008567 1008569 - Identifier 1008569 1008575 - ReturnStatement 1008578 1008641 - ConditionalExpression 1008594 1008640 - BinaryExpression 1008594 1008605 - Identifier 1008594 1008600 - GreaterThanEqualsToken 1008600 1008603 - NumericLiteral 1008603 1008605 - QuestionToken 1008605 1008607 - Identifier 1008607 1008613 - ColonToken 1008613 1008615 - PropertyAccessExpression 1008615 1008640 - PropertyAccessExpression 1008615 1008633 - Identifier 1008615 1008620 - Identifier 1008621 1008633 - Identifier 1008634 1008640 - FunctionDeclaration 1008648 1008909 - Identifier 1008743 1008762 - Parameter 1008763 1008778 - Identifier 1008763 1008767 - TypeReference 1008768 1008778 - Identifier 1008768 1008778 - Parameter 1008779 1008799 - Identifier 1008779 1008785 - TypeReference 1008786 1008799 - Identifier 1008786 1008799 - Block 1008800 1008909 - ReturnStatement 1008802 1008902 - BinaryExpression 1008818 1008901 - BinaryExpression 1008818 1008897 - PropertyAccessExpression 1008818 1008843 - PropertyAccessExpression 1008818 1008836 - Identifier 1008818 1008823 - Identifier 1008824 1008836 - Identifier 1008837 1008843 - MinusToken 1008843 1008845 - CallExpression 1008845 1008897 - Identifier 1008845 1008859 - PropertyAccessExpression 1008860 1008877 - Identifier 1008860 1008864 - Identifier 1008865 1008877 - ArrowFunction 1008878 1008896 - Parameter 1008878 1008880 - Identifier 1008878 1008880 - EqualsGreaterThanToken 1008880 1008883 - PrefixUnaryExpression 1008883 1008896 - ParenthesizedExpression 1008885 1008896 - BinaryExpression 1008886 1008895 - Identifier 1008886 1008887 - AmpersandToken 1008887 1008889 - Identifier 1008889 1008895 - MinusToken 1008897 1008899 - NumericLiteral 1008899 1008901 - FunctionDeclaration 1008909 1009058 - Identifier 1008925 1008951 - Parameter 1008952 1008967 - Identifier 1008952 1008956 - TypeReference 1008957 1008967 - Identifier 1008957 1008967 - Block 1008968 1009058 - ReturnStatement 1008970 1009051 - BinaryExpression 1008986 1009050 - PropertyAccessExpression 1008986 1009003 - Identifier 1008986 1008991 - Identifier 1008992 1009003 - PlusToken 1009003 1009005 - CallExpression 1009005 1009050 - Identifier 1009005 1009024 - Identifier 1009025 1009029 - PropertyAccessExpression 1009030 1009049 - Identifier 1009030 1009043 - Identifier 1009044 1009049 - FunctionDeclaration 1009058 1009345 - Identifier 1009074 1009090 - Parameter 1009091 1009115 - Identifier 1009091 1009095 - TypeReference 1009096 1009115 - Identifier 1009096 1009115 - TypeOperator 1009117 1009133 - ArrayType 1009126 1009133 - TypeReference 1009126 1009131 - Identifier 1009126 1009131 - Block 1009133 1009345 - VariableStatement 1009135 1009190 - VariableDeclarationList 1009135 1009189 - VariableDeclaration 1009150 1009189 - Identifier 1009150 1009164 - CallExpression 1009166 1009189 - Identifier 1009166 1009183 - Identifier 1009184 1009188 - VariableStatement 1009190 1009242 - VariableDeclarationList 1009190 1009241 - VariableDeclaration 1009205 1009241 - Identifier 1009205 1009211 - CallExpression 1009213 1009241 - Identifier 1009213 1009235 - Identifier 1009236 1009240 - ReturnStatement 1009242 1009338 - ConditionalExpression 1009258 1009337 - BinaryExpression 1009258 1009289 - PropertyAccessExpression 1009258 1009279 - Identifier 1009258 1009272 - Identifier 1009273 1009279 - EqualsEqualsEqualsToken 1009279 1009283 - Identifier 1009283 1009289 - QuestionToken 1009289 1009291 - Identifier 1009291 1009305 - ColonToken 1009305 1009307 - CallExpression 1009307 1009337 - PropertyAccessExpression 1009307 1009327 - Identifier 1009307 1009321 - Identifier 1009322 1009327 - NumericLiteral 1009328 1009329 - Identifier 1009330 1009336 - FunctionDeclaration 1009345 1009513 - Identifier 1009361 1009389 - Parameter 1009390 1009412 - Identifier 1009390 1009394 - TypeReference 1009395 1009412 - Identifier 1009395 1009412 - TypeReference 1009414 1009419 - Identifier 1009414 1009419 - Block 1009419 1009513 - ReturnStatement 1009421 1009506 - CallExpression 1009437 1009505 - Identifier 1009437 1009452 - CallExpression 1009453 1009483 - Identifier 1009453 1009472 - PropertyAccessExpression 1009473 1009482 - Identifier 1009473 1009477 - Identifier 1009478 1009482 - TrueKeyword 1009484 1009504 - FunctionDeclaration 1009513 1009593 - Identifier 1009529 1009539 - Parameter 1009540 1009550 - Identifier 1009540 1009544 - TypeReference 1009545 1009550 - Identifier 1009545 1009550 - TypeReference 1009552 1009559 - Identifier 1009552 1009559 - Block 1009559 1009593 - ReturnStatement 1009561 1009586 - PropertyAccessExpression 1009577 1009585 - Identifier 1009577 1009582 - Identifier 1009583 1009585 - FunctionDeclaration 1009593 1009750 - Identifier 1009609 1009622 - Parameter 1009623 1009645 - Identifier 1009623 1009628 - TypeOperator 1009629 1009645 - ArrayType 1009638 1009645 - TypeReference 1009638 1009643 - Identifier 1009638 1009643 - Parameter 1009646 1009657 - Identifier 1009646 1009651 - TypeReference 1009652 1009657 - Identifier 1009652 1009657 - BooleanKeyword 1009659 1009667 - Block 1009667 1009750 - ReturnStatement 1009669 1009743 - BinaryExpression 1009685 1009742 - CallExpression 1009685 1009737 - Identifier 1009685 1009698 - Identifier 1009699 1009704 - Identifier 1009705 1009710 - Identifier 1009711 1009721 - Identifier 1009722 1009736 - GreaterThanEqualsToken 1009737 1009740 - NumericLiteral 1009740 1009742 - FunctionDeclaration 1009750 1010028 - Identifier 1009766 1009777 - Parameter 1009778 1009791 - Identifier 1009778 1009783 - ArrayType 1009784 1009791 - TypeReference 1009784 1009789 - Identifier 1009784 1009789 - Parameter 1009792 1009803 - Identifier 1009792 1009797 - TypeReference 1009798 1009803 - Identifier 1009798 1009803 - BooleanKeyword 1009805 1009813 - Block 1009813 1010028 - VariableStatement 1009815 1009891 - VariableDeclarationList 1009815 1009890 - VariableDeclaration 1009830 1009890 - Identifier 1009830 1009836 - CallExpression 1009838 1009890 - Identifier 1009838 1009851 - Identifier 1009852 1009857 - Identifier 1009858 1009863 - Identifier 1009864 1009874 - Identifier 1009875 1009889 - IfStatement 1009891 1009998 - BinaryExpression 1009905 1009914 - Identifier 1009905 1009910 - LessThanToken 1009910 1009912 - NumericLiteral 1009912 1009914 - Block 1009915 1009998 - ExpressionStatement 1009917 1009961 - CallExpression 1009917 1009960 - PropertyAccessExpression 1009917 1009943 - Identifier 1009917 1009936 - Identifier 1009937 1009943 - PrefixUnaryExpression 1009944 1009950 - Identifier 1009945 1009950 - NumericLiteral 1009951 1009953 - Identifier 1009954 1009959 - ReturnStatement 1009961 1009987 - TrueKeyword 1009981 1009986 - ReturnStatement 1009998 1010021 - FalseKeyword 1010014 1010020 - FunctionDeclaration 1010028 1011280 - Identifier 1010044 1010059 - Parameter 1010060 1010075 - Identifier 1010060 1010067 - ArrayType 1010068 1010075 - TypeReference 1010068 1010073 - Identifier 1010068 1010073 - Parameter 1010076 1010096 - Identifier 1010076 1010085 - TypeReference 1010086 1010096 - Identifier 1010086 1010096 - Parameter 1010097 1010108 - Identifier 1010097 1010102 - TypeReference 1010103 1010108 - Identifier 1010103 1010108 - Block 1010109 1011280 - VariableStatement 1010111 1010146 - VariableDeclarationList 1010111 1010145 - VariableDeclaration 1010126 1010145 - Identifier 1010126 1010132 - PropertyAccessExpression 1010134 1010145 - Identifier 1010134 1010139 - Identifier 1010140 1010145 - IfStatement 1010146 1011247 - PrefixUnaryExpression 1010206 1010232 - ParenthesizedExpression 1010207 1010232 - BinaryExpression 1010208 1010231 - Identifier 1010208 1010213 - AmpersandToken 1010213 1010215 - PropertyAccessExpression 1010215 1010231 - Identifier 1010215 1010225 - Identifier 1010226 1010231 - Block 1010233 1011247 - ExpressionStatement 1010235 1010292 - BinaryExpression 1010235 1010291 - Identifier 1010235 1010257 - BarEqualsToken 1010257 1010260 - BinaryExpression 1010260 1010291 - Identifier 1010260 1010266 - AmpersandToken 1010266 1010268 - PropertyAccessExpression 1010268 1010291 - Identifier 1010268 1010278 - Identifier 1010279 1010291 - IfStatement 1010292 1010385 - BinaryExpression 1010310 1010340 - Identifier 1010310 1010315 - AmpersandToken 1010315 1010317 - PropertyAccessExpression 1010317 1010340 - Identifier 1010317 1010327 - Identifier 1010328 1010340 - ExpressionStatement 1010341 1010385 - BinaryExpression 1010341 1010384 - Identifier 1010341 1010350 - BarEqualsToken 1010350 1010353 - PropertyAccessExpression 1010353 1010384 - Identifier 1010353 1010363 - Identifier 1010364 1010384 - IfStatement 1010385 1010553 - BinaryExpression 1010403 1010497 - BinaryExpression 1010403 1010433 - Identifier 1010403 1010408 - AmpersandToken 1010408 1010410 - PropertyAccessExpression 1010410 1010433 - Identifier 1010410 1010420 - Identifier 1010421 1010433 - AmpersandAmpersandToken 1010433 1010436 - BinaryExpression 1010436 1010497 - CallExpression 1010436 1010457 - Identifier 1010436 1010451 - Identifier 1010452 1010456 - AmpersandToken 1010457 1010459 - PropertyAccessExpression 1010459 1010497 - Identifier 1010459 1010471 - Identifier 1010472 1010497 - ExpressionStatement 1010498 1010553 - BinaryExpression 1010498 1010552 - Identifier 1010498 1010507 - BarEqualsToken 1010507 1010510 - PropertyAccessExpression 1010510 1010552 - Identifier 1010510 1010520 - Identifier 1010521 1010552 - IfStatement 1010553 1010633 - BinaryExpression 1010571 1010592 - Identifier 1010571 1010575 - EqualsEqualsEqualsToken 1010575 1010579 - Identifier 1010579 1010592 - ExpressionStatement 1010593 1010633 - BinaryExpression 1010593 1010632 - Identifier 1010593 1010602 - BarEqualsToken 1010602 1010605 - PropertyAccessExpression 1010605 1010632 - Identifier 1010605 1010615 - Identifier 1010616 1010632 - IfStatement 1010633 1010706 - CallExpression 1010651 1010668 - Identifier 1010651 1010662 - Identifier 1010663 1010667 - ExpressionStatement 1010669 1010706 - BinaryExpression 1010669 1010705 - Identifier 1010669 1010678 - BarEqualsToken 1010678 1010681 - PropertyAccessExpression 1010681 1010705 - Identifier 1010681 1010691 - Identifier 1010692 1010705 - IfStatement 1010706 1011236 - BinaryExpression 1010724 1010771 - PrefixUnaryExpression 1010724 1010741 - Identifier 1010725 1010741 - AmpersandAmpersandToken 1010741 1010744 - BinaryExpression 1010744 1010771 - Identifier 1010744 1010750 - AmpersandToken 1010750 1010752 - PropertyAccessExpression 1010752 1010771 - Identifier 1010752 1010762 - Identifier 1010763 1010771 - Block 1010772 1010917 - IfStatement 1010774 1010902 - PrefixUnaryExpression 1010796 1010854 - ParenthesizedExpression 1010797 1010854 - BinaryExpression 1010798 1010853 - CallExpression 1010798 1010818 - Identifier 1010798 1010812 - Identifier 1010813 1010817 - AmpersandToken 1010818 1010820 - PropertyAccessExpression 1010820 1010853 - Identifier 1010820 1010832 - Identifier 1010833 1010853 - ExpressionStatement 1010855 1010902 - BinaryExpression 1010855 1010901 - Identifier 1010855 1010864 - BarEqualsToken 1010864 1010867 - PropertyAccessExpression 1010867 1010901 - Identifier 1010867 1010877 - Identifier 1010878 1010901 - Block 1010935 1011236 - VariableStatement 1010937 1010982 - VariableDeclarationList 1010937 1010981 - VariableDeclaration 1010960 1010981 - Identifier 1010960 1010964 - PropertyAccessExpression 1010966 1010981 - Identifier 1010966 1010974 - Identifier 1010975 1010981 - VariableStatement 1010982 1011114 - VariableDeclarationList 1010982 1011113 - VariableDeclaration 1011005 1011113 - Identifier 1011005 1011011 - ConditionalExpression 1011013 1011113 - BinaryExpression 1011013 1011050 - Identifier 1011013 1011017 - AmpersandAmpersandToken 1011017 1011020 - BinaryExpression 1011020 1011050 - PropertyAccessExpression 1011020 1011028 - Identifier 1011020 1011025 - Identifier 1011026 1011028 - GreaterThanToken 1011028 1011030 - PropertyAccessExpression 1011030 1011050 - ElementAccessExpression 1011030 1011047 - Identifier 1011030 1011038 - BinaryExpression 1011039 1011046 - Identifier 1011039 1011042 - MinusToken 1011042 1011044 - NumericLiteral 1011044 1011046 - Identifier 1011048 1011050 - QuestionToken 1011050 1011052 - PrefixUnaryExpression 1011052 1011057 - Identifier 1011054 1011057 - ColonToken 1011057 1011059 - CallExpression 1011059 1011113 - Identifier 1011059 1011072 - Identifier 1011073 1011080 - Identifier 1011081 1011086 - Identifier 1011087 1011097 - Identifier 1011098 1011112 - IfStatement 1011114 1011221 - BinaryExpression 1011136 1011145 - Identifier 1011136 1011141 - LessThanToken 1011141 1011143 - NumericLiteral 1011143 1011145 - Block 1011146 1011221 - ExpressionStatement 1011148 1011202 - CallExpression 1011148 1011201 - PropertyAccessExpression 1011148 1011184 - Identifier 1011148 1011177 - Identifier 1011178 1011184 - PrefixUnaryExpression 1011185 1011191 - Identifier 1011186 1011191 - NumericLiteral 1011192 1011194 - Identifier 1011195 1011200 - ReturnStatement 1011247 1011273 - Identifier 1011263 1011272 - FunctionDeclaration 1011280 1012300 - Identifier 1011462 1011478 - Parameter 1011479 1011494 - Identifier 1011479 1011486 - ArrayType 1011487 1011494 - TypeReference 1011487 1011492 - Identifier 1011487 1011492 - Parameter 1011495 1011515 - Identifier 1011495 1011504 - TypeReference 1011505 1011515 - Identifier 1011505 1011515 - Parameter 1011516 1011539 - Identifier 1011516 1011522 - TypeOperator 1011523 1011539 - ArrayType 1011532 1011539 - TypeReference 1011532 1011537 - Identifier 1011532 1011537 - TypeReference 1011541 1011551 - Identifier 1011541 1011551 - Block 1011551 1012300 - VariableStatement 1011553 1011594 - VariableDeclarationList 1011553 1011593 - VariableDeclaration 1011566 1011593 - Identifier 1011566 1011575 - UnionType 1011576 1011593 - TypeReference 1011576 1011581 - Identifier 1011576 1011581 - UndefinedKeyword 1011583 1011593 - ForOfStatement 1011594 1012267 - VariableDeclarationList 1011609 1011619 - VariableDeclaration 1011614 1011619 - Identifier 1011614 1011619 - Identifier 1011622 1011628 - Block 1011629 1012267 - IfStatement 1011631 1012256 - BinaryExpression 1011932 1011949 - Identifier 1011932 1011936 - ExclamationEqualsEqualsToken 1011936 1011940 - Identifier 1011940 1011949 - Block 1011950 1012256 - ExpressionStatement 1011952 1012207 - BinaryExpression 1011952 1012206 - Identifier 1011952 1011978 - EqualsToken 1011978 1011980 - ConditionalExpression 1011980 1012206 - BinaryExpression 1011980 1012009 - PropertyAccessExpression 1011980 1011991 - Identifier 1011980 1011985 - Identifier 1011986 1011991 - AmpersandToken 1011991 1011993 - PropertyAccessExpression 1011993 1012009 - Identifier 1011993 1012003 - Identifier 1012004 1012009 - QuestionToken 1012009 1012011 - CallExpression 1012011 1012143 - Identifier 1012011 1012048 - Identifier 1012049 1012056 - BinaryExpression 1012057 1012115 - Identifier 1012057 1012066 - BarToken 1012066 1012068 - ParenthesizedExpression 1012068 1012115 - ConditionalExpression 1012070 1012114 - CallExpression 1012070 1012092 - Identifier 1012070 1012086 - Identifier 1012087 1012091 - QuestionToken 1012092 1012094 - PropertyAccessExpression 1012094 1012110 - Identifier 1012094 1012104 - Identifier 1012105 1012110 - ColonToken 1012110 1012112 - NumericLiteral 1012112 1012114 - PropertyAccessExpression 1012116 1012142 - ParenthesizedExpression 1012116 1012136 - AsExpression 1012118 1012135 - Identifier 1012118 1012122 - TypeReference 1012125 1012135 - Identifier 1012125 1012135 - Identifier 1012137 1012142 - ColonToken 1012143 1012145 - CallExpression 1012145 1012206 - Identifier 1012145 1012181 - Identifier 1012182 1012189 - Identifier 1012190 1012199 - Identifier 1012200 1012205 - ExpressionStatement 1012207 1012241 - BinaryExpression 1012207 1012240 - Identifier 1012207 1012233 - EqualsToken 1012233 1012235 - Identifier 1012235 1012240 - ReturnStatement 1012267 1012293 - Identifier 1012283 1012292 - FunctionDeclaration 1012300 1017289 - Identifier 1012316 1012331 - Parameter 1012332 1012345 - Identifier 1012332 1012337 - ArrayType 1012338 1012345 - TypeReference 1012338 1012343 - Identifier 1012338 1012343 - Parameter 1012346 1012370 - Identifier 1012346 1012361 - BooleanKeyword 1012362 1012370 - UnionType 1012372 1012391 - ArrayType 1012372 1012379 - TypeReference 1012372 1012377 - Identifier 1012372 1012377 - UndefinedKeyword 1012381 1012391 - Block 1012391 1017289 - IfStatement 1012393 1012533 - BinaryExpression 1012476 1012492 - PropertyAccessExpression 1012476 1012488 - Identifier 1012476 1012481 - Identifier 1012482 1012488 - LessThanToken 1012488 1012490 - NumericLiteral 1012490 1012492 - Block 1012493 1012533 - ReturnStatement 1012495 1012522 - Identifier 1012515 1012521 - VariableStatement 1012533 1012577 - VariableDeclarationList 1012533 1012576 - VariableDeclaration 1012550 1012576 - Identifier 1012550 1012553 - CallExpression 1012555 1012576 - Identifier 1012555 1012569 - Identifier 1012570 1012575 - VariableStatement 1012577 1012631 - VariableDeclarationList 1012577 1012630 - VariableDeclaration 1012592 1012630 - Identifier 1012592 1012598 - CallExpression 1012600 1012630 - PropertyAccessExpression 1012600 1012626 - Identifier 1012600 1012622 - Identifier 1012623 1012626 - Identifier 1012627 1012629 - IfStatement 1012631 1012691 - Identifier 1012645 1012650 - Block 1012651 1012691 - ReturnStatement 1012653 1012680 - Identifier 1012673 1012679 - VariableStatement 1012691 1013239 - VariableDeclarationList 1012691 1013238 - VariableDeclaration 1013057 1013238 - Identifier 1013057 1013072 - BinaryExpression 1013074 1013238 - Identifier 1013074 1013089 - AmpersandAmpersandToken 1013089 1013092 - CallExpression 1013092 1013238 - Identifier 1013092 1013097 - Identifier 1013098 1013103 - ArrowFunction 1013104 1013237 - Parameter 1013104 1013106 - Identifier 1013104 1013106 - EqualsGreaterThanToken 1013106 1013109 - BinaryExpression 1013109 1013237 - BinaryExpression 1013109 1013167 - PrefixUnaryExpression 1013109 1013140 - PrefixUnaryExpression 1013111 1013140 - ParenthesizedExpression 1013112 1013140 - BinaryExpression 1013113 1013139 - PropertyAccessExpression 1013113 1013120 - Identifier 1013113 1013114 - Identifier 1013115 1013120 - AmpersandToken 1013120 1013122 - PropertyAccessExpression 1013122 1013139 - Identifier 1013122 1013132 - Identifier 1013133 1013139 - AmpersandAmpersandToken 1013140 1013143 - PrefixUnaryExpression 1013143 1013167 - CallExpression 1013145 1013167 - Identifier 1013145 1013164 - Identifier 1013165 1013166 - AmpersandAmpersandToken 1013167 1013170 - CallExpression 1013170 1013237 - Identifier 1013170 1013190 - CallExpression 1013191 1013236 - Identifier 1013191 1013219 - AsExpression 1013220 1013235 - Identifier 1013220 1013221 - TypeReference 1013224 1013235 - Identifier 1013224 1013235 - VariableStatement 1013239 1013274 - VariableDeclarationList 1013239 1013273 - VariableDeclaration 1013254 1013273 - Identifier 1013254 1013258 - PropertyAccessExpression 1013260 1013273 - Identifier 1013260 1013266 - Identifier 1013267 1013273 - VariableStatement 1013274 1013296 - VariableDeclarationList 1013274 1013295 - VariableDeclaration 1013287 1013295 - Identifier 1013287 1013289 - Identifier 1013291 1013295 - VariableStatement 1013296 1013320 - VariableDeclarationList 1013296 1013319 - VariableDeclaration 1013309 1013319 - Identifier 1013309 1013315 - NumericLiteral 1013317 1013319 - WhileStatement 1013320 1017212 - BinaryExpression 1013337 1013342 - Identifier 1013337 1013338 - GreaterThanToken 1013338 1013340 - NumericLiteral 1013340 1013342 - Block 1013343 1017212 - ExpressionStatement 1013345 1013363 - PostfixUnaryExpression 1013345 1013362 - Identifier 1013345 1013360 - VariableStatement 1013363 1013401 - VariableDeclarationList 1013363 1013400 - VariableDeclaration 1013382 1013400 - Identifier 1013382 1013389 - ElementAccessExpression 1013391 1013400 - Identifier 1013391 1013397 - Identifier 1013398 1013399 - IfStatement 1013401 1017201 - BinaryExpression 1013419 1013486 - Identifier 1013419 1013433 - BarBarToken 1013433 1013436 - BinaryExpression 1013436 1013486 - PropertyAccessExpression 1013436 1013449 - Identifier 1013436 1013443 - Identifier 1013444 1013449 - AmpersandToken 1013449 1013451 - PropertyAccessExpression 1013451 1013486 - Identifier 1013451 1013461 - Identifier 1013462 1013486 - Block 1013487 1017201 - IfStatement 1013489 1014322 - BinaryExpression 1013957 1014054 - BinaryExpression 1013957 1013995 - PropertyAccessExpression 1013957 1013969 - Identifier 1013957 1013963 - Identifier 1013964 1013969 - AmpersandToken 1013969 1013971 - PropertyAccessExpression 1013971 1013995 - Identifier 1013971 1013981 - Identifier 1013982 1013995 - AmpersandAmpersandToken 1013995 1013998 - BinaryExpression 1013998 1014054 - PropertyAccessExpression 1013998 1014036 - CallExpression 1013998 1014030 - Identifier 1013998 1014022 - Identifier 1014023 1014029 - Identifier 1014031 1014036 - AmpersandToken 1014036 1014038 - PropertyAccessExpression 1014038 1014054 - Identifier 1014038 1014048 - Identifier 1014049 1014054 - Block 1014055 1014322 - IfStatement 1014057 1014272 - CallExpression 1014083 1014190 - Identifier 1014083 1014098 - Identifier 1014099 1014105 - CallExpression 1014106 1014166 - Identifier 1014106 1014119 - CallExpression 1014120 1014165 - Identifier 1014120 1014123 - Identifier 1014124 1014129 - ArrowFunction 1014130 1014164 - Parameter 1014130 1014132 - Identifier 1014130 1014132 - EqualsGreaterThanToken 1014132 1014135 - ConditionalExpression 1014135 1014164 - BinaryExpression 1014135 1014148 - Identifier 1014135 1014137 - EqualsEqualsEqualsToken 1014137 1014141 - Identifier 1014141 1014148 - QuestionToken 1014148 1014150 - Identifier 1014150 1014160 - ColonToken 1014160 1014162 - Identifier 1014162 1014164 - Identifier 1014167 1014189 - Block 1014191 1014272 - ExpressionStatement 1014193 1014249 - CallExpression 1014193 1014248 - Identifier 1014193 1014238 - Identifier 1014239 1014244 - Identifier 1014245 1014247 - ContinueStatement 1014272 1014303 - VariableStatement 1014322 1014891 - VariableDeclarationList 1014322 1014890 - VariableDeclaration 1014653 1014890 - Identifier 1014653 1014665 - ConditionalExpression 1014667 1014890 - BinaryExpression 1014667 1014763 - PropertyAccessExpression 1014667 1014680 - Identifier 1014667 1014674 - Identifier 1014675 1014680 - AmpersandToken 1014680 1014682 - ParenthesizedExpression 1014682 1014763 - BinaryExpression 1014684 1014762 - BinaryExpression 1014684 1014725 - PropertyAccessExpression 1014684 1014700 - Identifier 1014684 1014693 - Identifier 1014694 1014700 - BarToken 1014700 1014702 - PropertyAccessExpression 1014702 1014725 - Identifier 1014702 1014712 - Identifier 1014713 1014725 - BarToken 1014725 1014727 - PropertyAccessExpression 1014727 1014762 - Identifier 1014727 1014737 - Identifier 1014738 1014762 - QuestionToken 1014763 1014765 - CallExpression 1014765 1014857 - Identifier 1014765 1014791 - CallExpression 1014792 1014819 - Identifier 1014792 1014811 - Identifier 1014812 1014818 - ArrowFunction 1014820 1014856 - Parameter 1014820 1014822 - Identifier 1014820 1014822 - EqualsGreaterThanToken 1014822 1014825 - CallExpression 1014825 1014856 - Identifier 1014825 1014836 - CallExpression 1014837 1014855 - Identifier 1014837 1014852 - Identifier 1014853 1014854 - ColonToken 1014857 1014859 - Identifier 1014859 1014890 - VariableStatement 1014891 1015006 - VariableDeclarationList 1014891 1015005 - VariableDeclaration 1014914 1015005 - Identifier 1014914 1014930 - BinaryExpression 1014932 1015005 - Identifier 1014932 1014944 - AmpersandAmpersandToken 1014944 1014947 - CallExpression 1014947 1015005 - Identifier 1014947 1014975 - CallExpression 1014976 1015004 - Identifier 1014976 1014991 - Identifier 1014992 1015003 - ForOfStatement 1015006 1017186 - VariableDeclarationList 1015029 1015041 - VariableDeclaration 1015034 1015041 - Identifier 1015034 1015041 - Identifier 1015044 1015050 - Block 1015051 1017186 - IfStatement 1015053 1017167 - BinaryExpression 1015079 1015096 - Identifier 1015079 1015085 - ExclamationEqualsEqualsToken 1015085 1015089 - Identifier 1015089 1015096 - Block 1015097 1017167 - IfStatement 1015099 1016097 - BinaryExpression 1015129 1015145 - Identifier 1015129 1015134 - EqualsEqualsEqualsToken 1015134 1015138 - NumericLiteral 1015138 1015145 - Block 1015146 1016097 - VariableStatement 1015148 1015654 - VariableDeclarationList 1015148 1015653 - VariableDeclaration 1015610 1015653 - Identifier 1015610 1015625 - BinaryExpression 1015627 1015653 - ParenthesizedExpression 1015627 1015647 - BinaryExpression 1015629 1015646 - Identifier 1015629 1015634 - SlashToken 1015634 1015636 - ParenthesizedExpression 1015636 1015646 - BinaryExpression 1015638 1015645 - Identifier 1015638 1015641 - MinusToken 1015641 1015643 - Identifier 1015643 1015645 - AsteriskToken 1015647 1015649 - Identifier 1015649 1015653 - IfStatement 1015654 1016070 - BinaryExpression 1015688 1015712 - Identifier 1015688 1015702 - GreaterThanToken 1015702 1015704 - NumericLiteral 1015704 1015712 - Block 1015713 1016070 - ExpressionStatement 1015715 1015856 - CallExpression 1015715 1015855 - PropertyAccessExpression 1015715 1015765 - Identifier 1015715 1015756 - QuestionDotToken 1015756 1015758 - Identifier 1015758 1015765 - PropertyAccessExpression 1015766 1015790 - PropertyAccessExpression 1015766 1015779 - Identifier 1015766 1015773 - Identifier 1015774 1015779 - Identifier 1015780 1015790 - StringLiteral 1015791 1015819 - ObjectLiteralExpression 1015820 1015854 - PropertyAssignment 1015822 1015852 - Identifier 1015822 1015830 - CallExpression 1015831 1015852 - PropertyAccessExpression 1015831 1015841 - Identifier 1015831 1015837 - Identifier 1015838 1015841 - ArrowFunction 1015842 1015851 - Parameter 1015842 1015843 - Identifier 1015842 1015843 - EqualsGreaterThanToken 1015843 1015846 - PropertyAccessExpression 1015846 1015851 - Identifier 1015846 1015848 - Identifier 1015849 1015851 - ExpressionStatement 1015856 1015988 - CallExpression 1015856 1015987 - Identifier 1015856 1015895 - Identifier 1015896 1015907 - PropertyAccessExpression 1015908 1015986 - Identifier 1015908 1015920 - Identifier 1015921 1015986 - ReturnStatement 1015988 1016039 - Identifier 1016028 1016038 - ExpressionStatement 1016097 1016131 - PostfixUnaryExpression 1016097 1016130 - Identifier 1016097 1016128 - IfStatement 1016131 1016581 - BinaryExpression 1016161 1016271 - Identifier 1016161 1016172 - AmpersandAmpersandToken 1016172 1016175 - BinaryExpression 1016175 1016271 - PropertyAccessExpression 1016175 1016188 - Identifier 1016175 1016182 - Identifier 1016183 1016188 - AmpersandToken 1016188 1016190 - ParenthesizedExpression 1016190 1016271 - BinaryExpression 1016192 1016270 - BinaryExpression 1016192 1016233 - PropertyAccessExpression 1016192 1016208 - Identifier 1016192 1016201 - Identifier 1016202 1016208 - BarToken 1016208 1016210 - PropertyAccessExpression 1016210 1016233 - Identifier 1016210 1016220 - Identifier 1016221 1016233 - BarToken 1016233 1016235 - PropertyAccessExpression 1016235 1016270 - Identifier 1016235 1016245 - Identifier 1016246 1016270 - Block 1016272 1016581 - VariableStatement 1016274 1016371 - VariableDeclarationList 1016274 1016370 - VariableDeclaration 1016309 1016370 - Identifier 1016309 1016311 - CallExpression 1016313 1016370 - Identifier 1016313 1016337 - Identifier 1016338 1016344 - PropertyAccessExpression 1016345 1016369 - Identifier 1016345 1016357 - Identifier 1016358 1016369 - IfStatement 1016371 1016554 - BinaryExpression 1016405 1016477 - BinaryExpression 1016405 1016423 - Identifier 1016405 1016406 - AmpersandAmpersandToken 1016406 1016409 - CallExpression 1016409 1016423 - Identifier 1016409 1016420 - Identifier 1016421 1016422 - AmpersandAmpersandToken 1016423 1016426 - BinaryExpression 1016426 1016477 - CallExpression 1016426 1016457 - Identifier 1016426 1016454 - Identifier 1016455 1016456 - ExclamationEqualsEqualsToken 1016457 1016461 - Identifier 1016461 1016477 - Block 1016478 1016554 - ContinueStatement 1016480 1016523 - IfStatement 1016581 1017144 - BinaryExpression 1016611 1016992 - CallExpression 1016611 1016695 - Identifier 1016611 1016656 - Identifier 1016657 1016663 - Identifier 1016664 1016671 - Identifier 1016672 1016694 - AmpersandAmpersandToken 1016695 1016698 - ParenthesizedExpression 1016698 1016992 - BinaryExpression 1016700 1016961 - BinaryExpression 1016700 1016891 - PrefixUnaryExpression 1016700 1016794 - ParenthesizedExpression 1016735 1016794 - BinaryExpression 1016736 1016793 - CallExpression 1016736 1016773 - Identifier 1016736 1016750 - CallExpression 1016751 1016772 - Identifier 1016751 1016764 - Identifier 1016765 1016771 - AmpersandToken 1016773 1016775 - PropertyAccessExpression 1016775 1016793 - Identifier 1016775 1016787 - Identifier 1016788 1016793 - BarBarToken 1016794 1016797 - PrefixUnaryExpression 1016797 1016891 - ParenthesizedExpression 1016832 1016891 - BinaryExpression 1016833 1016890 - CallExpression 1016833 1016870 - Identifier 1016833 1016847 - CallExpression 1016848 1016869 - Identifier 1016848 1016861 - Identifier 1016862 1016868 - AmpersandToken 1016870 1016872 - PropertyAccessExpression 1016872 1016890 - Identifier 1016872 1016884 - Identifier 1016885 1016890 - BarBarToken 1016891 1016894 - CallExpression 1016894 1016961 - Identifier 1016894 1016945 - Identifier 1016946 1016952 - Identifier 1016953 1016960 - Block 1017019 1017144 - ExpressionStatement 1017021 1017081 - CallExpression 1017021 1017080 - Identifier 1017021 1017070 - Identifier 1017071 1017076 - Identifier 1017077 1017079 - BreakStatement 1017081 1017117 - ExpressionStatement 1017212 1017259 - CallExpression 1017212 1017258 - PropertyAccessExpression 1017212 1017247 - Identifier 1017212 1017243 - Identifier 1017244 1017247 - Identifier 1017248 1017250 - Identifier 1017251 1017257 - ReturnStatement 1017259 1017282 - Identifier 1017275 1017281 - FunctionDeclaration 1017289 1018249 - Identifier 1017305 1017333 - Parameter 1017334 1017347 - Identifier 1017334 1017339 - ArrayType 1017340 1017347 - TypeReference 1017340 1017345 - Identifier 1017340 1017345 - Parameter 1017348 1017368 - Identifier 1017348 1017357 - TypeReference 1017358 1017368 - Identifier 1017358 1017368 - Parameter 1017369 1017398 - Identifier 1017369 1017389 - BooleanKeyword 1017390 1017398 - Block 1017399 1018249 - VariableStatement 1017401 1017432 - VariableDeclarationList 1017401 1017431 - VariableDeclaration 1017414 1017431 - Identifier 1017414 1017416 - PropertyAccessExpression 1017418 1017431 - Identifier 1017418 1017424 - Identifier 1017425 1017431 - WhileStatement 1017432 1018242 - BinaryExpression 1017449 1017454 - Identifier 1017449 1017450 - GreaterThanToken 1017450 1017452 - NumericLiteral 1017452 1017454 - Block 1017455 1018242 - ExpressionStatement 1017457 1017475 - PostfixUnaryExpression 1017457 1017474 - Identifier 1017457 1017472 - VariableStatement 1017475 1017508 - VariableDeclarationList 1017475 1017507 - VariableDeclaration 1017494 1017507 - Identifier 1017494 1017496 - ElementAccessExpression 1017498 1017507 - Identifier 1017498 1017504 - Identifier 1017505 1017506 - VariableStatement 1017508 1017544 - VariableDeclarationList 1017508 1017543 - VariableDeclaration 1017527 1017543 - Identifier 1017527 1017533 - PropertyAccessExpression 1017535 1017543 - Identifier 1017535 1017537 - Identifier 1017538 1017543 - VariableStatement 1017544 1018141 - VariableDeclarationList 1017544 1018140 - VariableDeclaration 1017563 1018140 - Identifier 1017563 1017570 - BinaryExpression 1017572 1018140 - BinaryExpression 1017572 1018043 - BinaryExpression 1017572 1017943 - BinaryExpression 1017572 1017857 - BinaryExpression 1017572 1017774 - BinaryExpression 1017572 1017691 - BinaryExpression 1017572 1017660 - Identifier 1017572 1017578 - AmpersandToken 1017578 1017580 - ParenthesizedExpression 1017580 1017660 - BinaryExpression 1017582 1017659 - BinaryExpression 1017582 1017633 - PropertyAccessExpression 1017582 1017605 - Identifier 1017582 1017591 - Identifier 1017592 1017605 - BarToken 1017605 1017607 - PropertyAccessExpression 1017607 1017633 - Identifier 1017607 1017617 - Identifier 1017618 1017633 - BarToken 1017633 1017635 - PropertyAccessExpression 1017635 1017659 - Identifier 1017635 1017645 - Identifier 1017646 1017659 - AmpersandAmpersandToken 1017660 1017663 - BinaryExpression 1017663 1017691 - Identifier 1017663 1017672 - AmpersandToken 1017672 1017674 - PropertyAccessExpression 1017674 1017691 - Identifier 1017674 1017684 - Identifier 1017685 1017691 - BarBarToken 1017691 1017694 - BinaryExpression 1017694 1017774 - BinaryExpression 1017694 1017743 - Identifier 1017694 1017717 - AmpersandToken 1017717 1017719 - PropertyAccessExpression 1017719 1017743 - Identifier 1017719 1017729 - Identifier 1017730 1017743 - AmpersandAmpersandToken 1017743 1017746 - BinaryExpression 1017746 1017774 - Identifier 1017746 1017755 - AmpersandToken 1017755 1017757 - PropertyAccessExpression 1017757 1017774 - Identifier 1017757 1017767 - Identifier 1017768 1017774 - BarBarToken 1017774 1017777 - BinaryExpression 1017777 1017857 - BinaryExpression 1017777 1017826 - Identifier 1017777 1017800 - AmpersandToken 1017800 1017802 - PropertyAccessExpression 1017802 1017826 - Identifier 1017802 1017812 - Identifier 1017813 1017826 - AmpersandAmpersandToken 1017826 1017829 - BinaryExpression 1017829 1017857 - Identifier 1017829 1017838 - AmpersandToken 1017838 1017840 - PropertyAccessExpression 1017840 1017857 - Identifier 1017840 1017850 - Identifier 1017851 1017857 - BarBarToken 1017857 1017860 - BinaryExpression 1017860 1017943 - BinaryExpression 1017860 1017910 - Identifier 1017860 1017883 - AmpersandToken 1017883 1017885 - PropertyAccessExpression 1017885 1017910 - Identifier 1017885 1017895 - Identifier 1017896 1017910 - AmpersandAmpersandToken 1017910 1017913 - BinaryExpression 1017913 1017943 - Identifier 1017913 1017922 - AmpersandToken 1017922 1017924 - PropertyAccessExpression 1017924 1017943 - Identifier 1017924 1017934 - Identifier 1017935 1017943 - BarBarToken 1017943 1017946 - BinaryExpression 1017946 1018043 - BinaryExpression 1017946 1018014 - Identifier 1017946 1017983 - AmpersandAmpersandToken 1017983 1017986 - BinaryExpression 1017986 1018014 - Identifier 1017986 1017992 - AmpersandToken 1017992 1017994 - PropertyAccessExpression 1017994 1018014 - Identifier 1017994 1018004 - Identifier 1018005 1018014 - AmpersandAmpersandToken 1018014 1018017 - BinaryExpression 1018017 1018043 - Identifier 1018017 1018026 - AmpersandToken 1018026 1018028 - PropertyAccessExpression 1018028 1018043 - Identifier 1018028 1018038 - Identifier 1018039 1018043 - BarBarToken 1018043 1018046 - BinaryExpression 1018046 1018140 - CallExpression 1018046 1018085 - Identifier 1018046 1018082 - Identifier 1018083 1018084 - AmpersandAmpersandToken 1018085 1018088 - CallExpression 1018088 1018140 - Identifier 1018088 1018101 - Identifier 1018102 1018107 - PropertyAccessExpression 1018108 1018139 - ParenthesizedExpression 1018108 1018127 - AsExpression 1018110 1018126 - Identifier 1018110 1018111 - TypeReference 1018114 1018126 - Identifier 1018114 1018126 - Identifier 1018128 1018139 - IfStatement 1018141 1018231 - Identifier 1018159 1018165 - Block 1018166 1018231 - ExpressionStatement 1018168 1018216 - CallExpression 1018168 1018215 - Identifier 1018168 1018205 - Identifier 1018206 1018211 - Identifier 1018212 1018214 - FunctionDeclaration 1018249 1018848 - Identifier 1018265 1018311 - Parameter 1018312 1018325 - Identifier 1018312 1018317 - ArrayType 1018318 1018325 - TypeReference 1018318 1018323 - Identifier 1018318 1018323 - Block 1018326 1018848 - VariableStatement 1018328 1018439 - VariableDeclarationList 1018328 1018438 - VariableDeclaration 1018343 1018438 - Identifier 1018343 1018353 - AsExpression 1018355 1018438 - CallExpression 1018355 1018391 - Identifier 1018355 1018362 - Identifier 1018363 1018368 - Identifier 1018369 1018390 - ArrayType 1018394 1018438 - ParenthesizedType 1018394 1018436 - UnionType 1018396 1018435 - TypeReference 1018396 1018415 - Identifier 1018396 1018415 - TypeReference 1018417 1018435 - Identifier 1018417 1018435 - IfStatement 1018439 1018841 - PropertyAccessExpression 1018453 1018469 - Identifier 1018453 1018462 - Identifier 1018463 1018469 - Block 1018470 1018841 - VariableStatement 1018472 1018507 - VariableDeclarationList 1018472 1018506 - VariableDeclaration 1018489 1018506 - Identifier 1018489 1018491 - PropertyAccessExpression 1018493 1018506 - Identifier 1018493 1018499 - Identifier 1018500 1018506 - WhileStatement 1018507 1018830 - BinaryExpression 1018528 1018533 - Identifier 1018528 1018529 - GreaterThanToken 1018529 1018531 - NumericLiteral 1018531 1018533 - Block 1018534 1018830 - ExpressionStatement 1018536 1018558 - PostfixUnaryExpression 1018536 1018557 - Identifier 1018536 1018555 - VariableStatement 1018558 1018595 - VariableDeclarationList 1018558 1018594 - VariableDeclaration 1018581 1018594 - Identifier 1018581 1018583 - ElementAccessExpression 1018585 1018594 - Identifier 1018585 1018591 - Identifier 1018592 1018593 - IfStatement 1018595 1018815 - BinaryExpression 1018617 1018741 - BinaryExpression 1018617 1018650 - PropertyAccessExpression 1018617 1018624 - Identifier 1018617 1018618 - Identifier 1018619 1018624 - AmpersandToken 1018624 1018626 - PropertyAccessExpression 1018626 1018650 - Identifier 1018626 1018636 - Identifier 1018637 1018650 - AmpersandAmpersandToken 1018650 1018653 - CallExpression 1018653 1018741 - Identifier 1018653 1018658 - Identifier 1018659 1018668 - ArrowFunction 1018669 1018740 - Parameter 1018669 1018678 - Identifier 1018669 1018678 - EqualsGreaterThanToken 1018678 1018681 - CallExpression 1018681 1018740 - Identifier 1018681 1018727 - Identifier 1018728 1018729 - Identifier 1018730 1018739 - Block 1018742 1018815 - ExpressionStatement 1018744 1018796 - CallExpression 1018744 1018795 - Identifier 1018744 1018785 - Identifier 1018786 1018791 - Identifier 1018792 1018794 - FunctionDeclaration 1018848 1019186 - Identifier 1018864 1018910 - Parameter 1018911 1018921 - Identifier 1018911 1018915 - TypeReference 1018916 1018921 - Identifier 1018916 1018921 - Parameter 1018922 1018972 - Identifier 1018922 1018931 - UnionType 1018932 1018972 - TypeReference 1018932 1018952 - Identifier 1018932 1018952 - TypeReference 1018954 1018972 - Identifier 1018954 1018972 - Block 1018973 1019186 - ReturnStatement 1018975 1019179 - ConditionalExpression 1018991 1019178 - BinaryExpression 1018991 1019034 - PropertyAccessExpression 1018991 1019006 - Identifier 1018991 1019000 - Identifier 1019001 1019006 - AmpersandToken 1019006 1019008 - PropertyAccessExpression 1019008 1019034 - Identifier 1019008 1019018 - Identifier 1019019 1019034 - QuestionToken 1019034 1019036 - CallExpression 1019036 1019123 - Identifier 1019036 1019084 - Identifier 1019085 1019089 - AsExpression 1019090 1019122 - Identifier 1019090 1019099 - TypeReference 1019102 1019122 - Identifier 1019102 1019122 - ColonToken 1019123 1019125 - CallExpression 1019125 1019178 - Identifier 1019125 1019162 - Identifier 1019163 1019167 - Identifier 1019168 1019177 - FunctionDeclaration 1019186 1021849 - Identifier 1019202 1019233 - Parameter 1019234 1019247 - Identifier 1019234 1019239 - ArrayType 1019240 1019247 - TypeReference 1019240 1019245 - Identifier 1019240 1019245 - Block 1019248 1021849 - VariableStatement 1019250 1019301 - VariableDeclarationList 1019250 1019300 - VariableDeclaration 1019265 1019300 - Identifier 1019265 1019279 - ArrayType 1019280 1019295 - TypeReference 1019280 1019293 - Identifier 1019280 1019293 - ArrayLiteralExpression 1019297 1019300 - ForOfStatement 1019301 1019774 - VariableDeclarationList 1019412 1019422 - VariableDeclaration 1019417 1019422 - Identifier 1019417 1019422 - Identifier 1019425 1019431 - Block 1019432 1019774 - IfStatement 1019434 1019763 - BinaryExpression 1019452 1019551 - BinaryExpression 1019452 1019487 - PropertyAccessExpression 1019452 1019462 - Identifier 1019452 1019456 - Identifier 1019457 1019462 - AmpersandToken 1019462 1019464 - PropertyAccessExpression 1019464 1019487 - Identifier 1019464 1019474 - Identifier 1019475 1019487 - AmpersandAmpersandToken 1019487 1019490 - BinaryExpression 1019490 1019551 - CallExpression 1019490 1019511 - Identifier 1019490 1019505 - Identifier 1019506 1019510 - AmpersandToken 1019511 1019513 - PropertyAccessExpression 1019513 1019551 - Identifier 1019513 1019525 - Identifier 1019526 1019551 - Block 1019552 1019763 - VariableStatement 1019554 1019661 - VariableDeclarationList 1019554 1019660 - VariableDeclaration 1019577 1019660 - Identifier 1019577 1019583 - ConditionalExpression 1019585 1019660 - BinaryExpression 1019585 1019652 - PropertyAccessExpression 1019585 1019627 - ElementAccessExpression 1019585 1019621 - PropertyAccessExpression 1019585 1019618 - ParenthesizedExpression 1019585 1019612 - AsExpression 1019587 1019611 - Identifier 1019587 1019591 - TypeReference 1019594 1019611 - Identifier 1019594 1019611 - Identifier 1019613 1019618 - NumericLiteral 1019619 1019620 - Identifier 1019622 1019627 - AmpersandToken 1019627 1019629 - PropertyAccessExpression 1019629 1019652 - Identifier 1019629 1019639 - Identifier 1019640 1019652 - QuestionToken 1019652 1019654 - NumericLiteral 1019654 1019656 - ColonToken 1019656 1019658 - NumericLiteral 1019658 1019660 - ExpressionStatement 1019661 1019748 - CallExpression 1019661 1019747 - Identifier 1019661 1019691 - Identifier 1019692 1019705 - ElementAccessExpression 1019706 1019746 - PropertyAccessExpression 1019706 1019739 - ParenthesizedExpression 1019706 1019733 - AsExpression 1019708 1019732 - Identifier 1019708 1019712 - TypeReference 1019715 1019732 - Identifier 1019715 1019732 - Identifier 1019734 1019739 - Identifier 1019740 1019745 - ForOfStatement 1019774 1021842 - VariableDeclarationList 1020040 1020058 - VariableDeclaration 1020045 1020058 - Identifier 1020045 1020058 - Identifier 1020061 1020075 - Block 1020076 1021842 - VariableStatement 1020078 1020122 - VariableDeclarationList 1020078 1020121 - VariableDeclaration 1020097 1020121 - Identifier 1020097 1020108 - ArrayType 1020109 1020116 - TypeReference 1020109 1020114 - Identifier 1020109 1020114 - ArrayLiteralExpression 1020118 1020121 - ForOfStatement 1020122 1020721 - VariableDeclarationList 1020228 1020238 - VariableDeclaration 1020233 1020238 - Identifier 1020233 1020238 - Identifier 1020241 1020247 - Block 1020248 1020721 - IfStatement 1020250 1020706 - BinaryExpression 1020272 1020371 - BinaryExpression 1020272 1020307 - PropertyAccessExpression 1020272 1020282 - Identifier 1020272 1020276 - Identifier 1020277 1020282 - AmpersandToken 1020282 1020284 - PropertyAccessExpression 1020284 1020307 - Identifier 1020284 1020294 - Identifier 1020295 1020307 - AmpersandAmpersandToken 1020307 1020310 - BinaryExpression 1020310 1020371 - CallExpression 1020310 1020331 - Identifier 1020310 1020325 - Identifier 1020326 1020330 - AmpersandToken 1020331 1020333 - PropertyAccessExpression 1020333 1020371 - Identifier 1020333 1020345 - Identifier 1020346 1020371 - Block 1020372 1020706 - VariableStatement 1020374 1020485 - VariableDeclarationList 1020374 1020484 - VariableDeclaration 1020401 1020484 - Identifier 1020401 1020407 - ConditionalExpression 1020409 1020484 - BinaryExpression 1020409 1020476 - PropertyAccessExpression 1020409 1020451 - ElementAccessExpression 1020409 1020445 - PropertyAccessExpression 1020409 1020442 - ParenthesizedExpression 1020409 1020436 - AsExpression 1020411 1020435 - Identifier 1020411 1020415 - TypeReference 1020418 1020435 - Identifier 1020418 1020435 - Identifier 1020437 1020442 - NumericLiteral 1020443 1020444 - Identifier 1020446 1020451 - AmpersandToken 1020451 1020453 - PropertyAccessExpression 1020453 1020476 - Identifier 1020453 1020463 - Identifier 1020464 1020476 - QuestionToken 1020476 1020478 - NumericLiteral 1020478 1020480 - ColonToken 1020480 1020482 - NumericLiteral 1020482 1020484 - IfStatement 1020485 1020687 - BinaryExpression 1020511 1020567 - ElementAccessExpression 1020511 1020550 - PropertyAccessExpression 1020511 1020543 - ParenthesizedExpression 1020511 1020537 - AsExpression 1020512 1020536 - Identifier 1020512 1020516 - TypeReference 1020519 1020536 - Identifier 1020519 1020536 - Identifier 1020538 1020543 - Identifier 1020544 1020549 - EqualsEqualsEqualsToken 1020550 1020554 - Identifier 1020554 1020567 - Block 1020568 1020687 - ExpressionStatement 1020570 1020664 - CallExpression 1020570 1020663 - Identifier 1020570 1020606 - Identifier 1020607 1020617 - ElementAccessExpression 1020618 1020662 - PropertyAccessExpression 1020618 1020651 - ParenthesizedExpression 1020618 1020645 - AsExpression 1020620 1020644 - Identifier 1020620 1020624 - TypeReference 1020627 1020644 - Identifier 1020627 1020644 - Identifier 1020646 1020651 - BinaryExpression 1020652 1020661 - NumericLiteral 1020652 1020653 - MinusToken 1020653 1020655 - Identifier 1020655 1020661 - VariableStatement 1020721 1021014 - VariableDeclarationList 1020721 1021013 - VariableDeclaration 1020961 1021013 - Identifier 1020961 1020972 - NonNullExpression 1020974 1021013 - CallExpression 1020974 1021012 - Identifier 1020974 1020998 - Identifier 1020999 1021011 - IfStatement 1021014 1021831 - CallExpression 1021032 1021087 - Identifier 1021032 1021041 - Identifier 1021042 1021052 - ArrowFunction 1021053 1021086 - Parameter 1021053 1021055 - Identifier 1021053 1021055 - EqualsGreaterThanToken 1021055 1021058 - CallExpression 1021058 1021086 - Identifier 1021058 1021071 - Identifier 1021072 1021082 - Identifier 1021083 1021085 - Block 1021088 1021831 - VariableStatement 1021090 1021129 - VariableDeclarationList 1021090 1021128 - VariableDeclaration 1021111 1021128 - Identifier 1021111 1021113 - PropertyAccessExpression 1021115 1021128 - Identifier 1021115 1021121 - Identifier 1021122 1021128 - WhileStatement 1021129 1021766 - BinaryExpression 1021154 1021159 - Identifier 1021154 1021155 - GreaterThanToken 1021155 1021157 - NumericLiteral 1021157 1021159 - Block 1021160 1021766 - ExpressionStatement 1021162 1021188 - PostfixUnaryExpression 1021162 1021187 - Identifier 1021162 1021185 - VariableStatement 1021188 1021232 - VariableDeclarationList 1021188 1021231 - VariableDeclaration 1021215 1021231 - Identifier 1021215 1021220 - ElementAccessExpression 1021222 1021231 - Identifier 1021222 1021228 - Identifier 1021229 1021230 - IfStatement 1021232 1021747 - BinaryExpression 1021258 1021357 - BinaryExpression 1021258 1021293 - PropertyAccessExpression 1021258 1021268 - Identifier 1021258 1021262 - Identifier 1021263 1021268 - AmpersandToken 1021268 1021270 - PropertyAccessExpression 1021270 1021293 - Identifier 1021270 1021280 - Identifier 1021281 1021293 - AmpersandAmpersandToken 1021293 1021296 - BinaryExpression 1021296 1021357 - CallExpression 1021296 1021317 - Identifier 1021296 1021311 - Identifier 1021312 1021316 - AmpersandToken 1021317 1021319 - PropertyAccessExpression 1021319 1021357 - Identifier 1021319 1021331 - Identifier 1021332 1021357 - Block 1021358 1021747 - VariableStatement 1021360 1021475 - VariableDeclarationList 1021360 1021474 - VariableDeclaration 1021391 1021474 - Identifier 1021391 1021397 - ConditionalExpression 1021399 1021474 - BinaryExpression 1021399 1021466 - PropertyAccessExpression 1021399 1021441 - ElementAccessExpression 1021399 1021435 - PropertyAccessExpression 1021399 1021432 - ParenthesizedExpression 1021399 1021426 - AsExpression 1021401 1021425 - Identifier 1021401 1021405 - TypeReference 1021408 1021425 - Identifier 1021408 1021425 - Identifier 1021427 1021432 - NumericLiteral 1021433 1021434 - Identifier 1021436 1021441 - AmpersandToken 1021441 1021443 - PropertyAccessExpression 1021443 1021466 - Identifier 1021443 1021453 - Identifier 1021454 1021466 - QuestionToken 1021466 1021468 - NumericLiteral 1021468 1021470 - ColonToken 1021470 1021472 - NumericLiteral 1021472 1021474 - IfStatement 1021475 1021724 - BinaryExpression 1021505 1021634 - BinaryExpression 1021505 1021561 - ElementAccessExpression 1021505 1021544 - PropertyAccessExpression 1021505 1021537 - ParenthesizedExpression 1021505 1021531 - AsExpression 1021506 1021530 - Identifier 1021506 1021510 - TypeReference 1021513 1021530 - Identifier 1021513 1021530 - Identifier 1021532 1021537 - Identifier 1021538 1021543 - EqualsEqualsEqualsToken 1021544 1021548 - Identifier 1021548 1021561 - AmpersandAmpersandToken 1021561 1021564 - CallExpression 1021564 1021634 - Identifier 1021564 1021577 - Identifier 1021578 1021588 - ElementAccessExpression 1021589 1021633 - PropertyAccessExpression 1021589 1021622 - ParenthesizedExpression 1021589 1021616 - AsExpression 1021591 1021615 - Identifier 1021591 1021595 - TypeReference 1021598 1021615 - Identifier 1021598 1021615 - Identifier 1021617 1021622 - BinaryExpression 1021623 1021632 - NumericLiteral 1021623 1021624 - MinusToken 1021624 1021626 - Identifier 1021626 1021632 - Block 1021635 1021724 - ExpressionStatement 1021637 1021697 - CallExpression 1021637 1021696 - Identifier 1021637 1021686 - Identifier 1021687 1021692 - Identifier 1021693 1021695 - ExpressionStatement 1021766 1021816 - CallExpression 1021766 1021815 - Identifier 1021766 1021794 - Identifier 1021795 1021800 - Identifier 1021801 1021814 - FunctionDeclaration 1021849 1022005 - Identifier 1021865 1021882 - Parameter 1021883 1021893 - Identifier 1021883 1021887 - TypeReference 1021888 1021893 - Identifier 1021888 1021893 - Block 1021894 1022005 - ReturnStatement 1021896 1021998 - PrefixUnaryExpression 1021912 1021997 - PrefixUnaryExpression 1021914 1021997 - ParenthesizedExpression 1021915 1021997 - BinaryExpression 1021916 1021996 - BinaryExpression 1021916 1021944 - PropertyAccessExpression 1021916 1021926 - Identifier 1021916 1021920 - Identifier 1021921 1021926 - AmpersandToken 1021926 1021928 - PropertyAccessExpression 1021928 1021944 - Identifier 1021928 1021938 - Identifier 1021939 1021944 - AmpersandAmpersandToken 1021944 1021947 - ParenthesizedExpression 1021947 1021996 - BinaryExpression 1021949 1021995 - PropertyAccessExpression 1021949 1021965 - Identifier 1021949 1021953 - Identifier 1021954 1021965 - BarBarToken 1021965 1021968 - PropertyAccessExpression 1021968 1021995 - ParenthesizedExpression 1021968 1021988 - AsExpression 1021970 1021987 - Identifier 1021970 1021974 - TypeReference 1021977 1021987 - Identifier 1021977 1021987 - Identifier 1021989 1021995 - FunctionDeclaration 1022005 1022576 - Identifier 1022021 1022036 - Parameter 1022037 1022056 - Identifier 1022037 1022048 - ArrayType 1022049 1022056 - TypeReference 1022049 1022054 - Identifier 1022049 1022054 - Parameter 1022057 1022080 - Identifier 1022057 1022063 - TypeOperator 1022064 1022080 - ArrayType 1022073 1022080 - TypeReference 1022073 1022078 - Identifier 1022073 1022078 - Block 1022081 1022576 - ForOfStatement 1022083 1022569 - VariableDeclarationList 1022098 1022105 - VariableDeclaration 1022103 1022105 - Identifier 1022103 1022105 - Identifier 1022108 1022114 - Block 1022115 1022569 - IfStatement 1022117 1022558 - BinaryExpression 1022135 1022160 - PropertyAccessExpression 1022135 1022142 - Identifier 1022135 1022136 - Identifier 1022137 1022142 - AmpersandToken 1022142 1022144 - PropertyAccessExpression 1022144 1022160 - Identifier 1022144 1022154 - Identifier 1022155 1022160 - Block 1022161 1022558 - VariableStatement 1022163 1022220 - VariableDeclarationList 1022163 1022219 - VariableDeclaration 1022186 1022219 - Identifier 1022186 1022193 - PropertyAccessExpression 1022195 1022219 - ParenthesizedExpression 1022195 1022212 - AsExpression 1022197 1022211 - Identifier 1022197 1022198 - TypeReference 1022201 1022211 - Identifier 1022201 1022211 - Identifier 1022213 1022219 - IfStatement 1022220 1022543 - BinaryExpression 1022242 1022302 - PropertyAccessExpression 1022242 1022255 - Identifier 1022242 1022243 - Identifier 1022244 1022255 - BarBarToken 1022255 1022258 - BinaryExpression 1022258 1022302 - Identifier 1022258 1022265 - AmpersandAmpersandToken 1022265 1022268 - PrefixUnaryExpression 1022268 1022302 - ParenthesizedExpression 1022270 1022302 - BinaryExpression 1022271 1022301 - PropertyAccessExpression 1022271 1022283 - Identifier 1022271 1022277 - Identifier 1022278 1022283 - AmpersandToken 1022283 1022285 - PropertyAccessExpression 1022285 1022301 - Identifier 1022285 1022295 - Identifier 1022296 1022301 - Block 1022303 1022375 - ExpressionStatement 1022305 1022356 - CallExpression 1022305 1022355 - Identifier 1022305 1022339 - Identifier 1022340 1022351 - Identifier 1022352 1022354 - IfStatement 1022397 1022543 - BinaryExpression 1022402 1022442 - Identifier 1022402 1022408 - AmpersandAmpersandToken 1022408 1022411 - BinaryExpression 1022411 1022442 - PropertyAccessExpression 1022411 1022424 - Identifier 1022411 1022418 - Identifier 1022419 1022424 - AmpersandToken 1022424 1022426 - PropertyAccessExpression 1022426 1022442 - Identifier 1022426 1022436 - Identifier 1022437 1022442 - Block 1022443 1022543 - ExpressionStatement 1022445 1022524 - CallExpression 1022445 1022523 - Identifier 1022445 1022481 - Identifier 1022482 1022493 - PropertyAccessExpression 1022494 1022522 - ParenthesizedExpression 1022494 1022516 - AsExpression 1022496 1022515 - Identifier 1022496 1022502 - TypeReference 1022505 1022515 - Identifier 1022505 1022515 - Identifier 1022517 1022522 - FunctionDeclaration 1022576 1022801 - Identifier 1022592 1022628 - Parameter 1022629 1022645 - Identifier 1022629 1022634 - TypeReference 1022635 1022645 - Identifier 1022635 1022645 - Parameter 1022646 1022660 - Identifier 1022646 1022652 - ArrayType 1022653 1022660 - TypeReference 1022653 1022658 - Identifier 1022653 1022658 - Block 1022661 1022801 - VariableStatement 1022663 1022739 - VariableDeclarationList 1022663 1022738 - VariableDeclaration 1022678 1022738 - Identifier 1022678 1022685 - AsExpression 1022687 1022738 - CallExpression 1022687 1022711 - Identifier 1022687 1022704 - Identifier 1022705 1022710 - TypeReference 1022714 1022738 - Identifier 1022714 1022738 - ExpressionStatement 1022739 1022770 - BinaryExpression 1022739 1022769 - PropertyAccessExpression 1022739 1022761 - Identifier 1022739 1022755 - Identifier 1022756 1022761 - EqualsToken 1022761 1022763 - Identifier 1022763 1022769 - ReturnStatement 1022770 1022794 - Identifier 1022786 1022793 - FunctionDeclaration 1022801 1024838 - Identifier 1023559 1023572 - Parameter 1023573 1023595 - Identifier 1023573 1023578 - TypeOperator 1023579 1023595 - ArrayType 1023588 1023595 - TypeReference 1023588 1023593 - Identifier 1023588 1023593 - Parameter 1023596 1023652 - Identifier 1023596 1023611 - TypeReference 1023612 1023627 - Identifier 1023612 1023627 - PropertyAccessExpression 1023629 1023652 - Identifier 1023629 1023644 - Identifier 1023645 1023652 - Parameter 1023653 1023674 - Identifier 1023653 1023665 - QuestionToken 1023665 1023666 - TypeReference 1023667 1023674 - Identifier 1023667 1023674 - Parameter 1023675 1023712 - Identifier 1023675 1023694 - QuestionToken 1023694 1023695 - TypeOperator 1023696 1023712 - ArrayType 1023705 1023712 - TypeReference 1023705 1023710 - Identifier 1023705 1023710 - Parameter 1023713 1023727 - Identifier 1023713 1023720 - QuestionToken 1023720 1023721 - TypeReference 1023722 1023727 - Identifier 1023722 1023727 - TypeReference 1023729 1023734 - Identifier 1023729 1023734 - Block 1023734 1024838 - IfStatement 1023736 1023813 - BinaryExpression 1023750 1023768 - PropertyAccessExpression 1023750 1023762 - Identifier 1023750 1023755 - Identifier 1023756 1023762 - EqualsEqualsEqualsToken 1023762 1023766 - NumericLiteral 1023766 1023768 - Block 1023769 1023813 - ReturnStatement 1023771 1023802 - Identifier 1023791 1023801 - IfStatement 1023813 1023889 - BinaryExpression 1023827 1023845 - PropertyAccessExpression 1023827 1023839 - Identifier 1023827 1023832 - Identifier 1023833 1023839 - EqualsEqualsEqualsToken 1023839 1023843 - NumericLiteral 1023843 1023845 - Block 1023846 1023889 - ReturnStatement 1023848 1023878 - ElementAccessExpression 1023868 1023877 - Identifier 1023868 1023874 - NumericLiteral 1023875 1023876 - IfStatement 1023889 1024731 - BinaryExpression 1024016 1024119 - BinaryExpression 1024016 1024045 - BinaryExpression 1024016 1024034 - PropertyAccessExpression 1024016 1024028 - Identifier 1024016 1024021 - Identifier 1024022 1024028 - EqualsEqualsEqualsToken 1024028 1024032 - NumericLiteral 1024032 1024034 - AmpersandAmpersandToken 1024034 1024037 - PrefixUnaryExpression 1024037 1024045 - Identifier 1024039 1024045 - AmpersandAmpersandToken 1024045 1024048 - ParenthesizedExpression 1024048 1024119 - BinaryExpression 1024050 1024118 - BinaryExpression 1024050 1024082 - PropertyAccessExpression 1024050 1024064 - ElementAccessExpression 1024050 1024058 - Identifier 1024050 1024055 - NumericLiteral 1024056 1024057 - Identifier 1024059 1024064 - AmpersandToken 1024064 1024066 - PropertyAccessExpression 1024066 1024082 - Identifier 1024066 1024076 - Identifier 1024077 1024082 - BarBarToken 1024082 1024085 - BinaryExpression 1024085 1024118 - PropertyAccessExpression 1024085 1024100 - ElementAccessExpression 1024085 1024094 - Identifier 1024085 1024091 - NumericLiteral 1024092 1024093 - Identifier 1024095 1024100 - AmpersandToken 1024100 1024102 - PropertyAccessExpression 1024102 1024118 - Identifier 1024102 1024112 - Identifier 1024113 1024118 - Block 1024120 1024731 - VariableStatement 1024122 1024251 - VariableDeclarationList 1024122 1024250 - VariableDeclaration 1024141 1024250 - Identifier 1024141 1024147 - ConditionalExpression 1024149 1024250 - BinaryExpression 1024149 1024188 - Identifier 1024149 1024164 - EqualsEqualsEqualsToken 1024164 1024168 - PropertyAccessExpression 1024168 1024188 - Identifier 1024168 1024183 - Identifier 1024184 1024188 - QuestionToken 1024188 1024190 - StringLiteral 1024190 1024194 - ColonToken 1024194 1024196 - ConditionalExpression 1024196 1024250 - BinaryExpression 1024196 1024238 - Identifier 1024196 1024211 - EqualsEqualsEqualsToken 1024211 1024215 - PropertyAccessExpression 1024215 1024238 - Identifier 1024215 1024230 - Identifier 1024231 1024238 - QuestionToken 1024238 1024240 - StringLiteral 1024240 1024244 - ColonToken 1024244 1024246 - StringLiteral 1024246 1024250 - VariableStatement 1024251 1024313 - VariableDeclarationList 1024251 1024312 - VariableDeclaration 1024270 1024312 - Identifier 1024270 1024276 - ConditionalExpression 1024278 1024312 - BinaryExpression 1024278 1024304 - PropertyAccessExpression 1024278 1024290 - ElementAccessExpression 1024278 1024287 - Identifier 1024278 1024284 - NumericLiteral 1024285 1024286 - Identifier 1024288 1024290 - LessThanToken 1024290 1024292 - PropertyAccessExpression 1024292 1024304 - ElementAccessExpression 1024292 1024301 - Identifier 1024292 1024298 - NumericLiteral 1024299 1024300 - Identifier 1024302 1024304 - QuestionToken 1024304 1024306 - NumericLiteral 1024306 1024308 - ColonToken 1024308 1024310 - NumericLiteral 1024310 1024312 - VariableStatement 1024313 1024430 - VariableDeclarationList 1024313 1024429 - VariableDeclaration 1024332 1024429 - Identifier 1024332 1024335 - BinaryExpression 1024337 1024429 - BinaryExpression 1024337 1024383 - BinaryExpression 1024337 1024361 - PropertyAccessExpression 1024337 1024353 - ElementAccessExpression 1024337 1024350 - Identifier 1024337 1024343 - Identifier 1024344 1024349 - Identifier 1024351 1024353 - PlusToken 1024353 1024355 - Identifier 1024355 1024361 - PlusToken 1024361 1024363 - PropertyAccessExpression 1024363 1024383 - ElementAccessExpression 1024363 1024380 - Identifier 1024363 1024369 - BinaryExpression 1024370 1024379 - NumericLiteral 1024370 1024371 - MinusToken 1024371 1024373 - Identifier 1024373 1024379 - Identifier 1024381 1024383 - PlusToken 1024383 1024385 - CallExpression 1024385 1024429 - Identifier 1024385 1024396 - Identifier 1024397 1024408 - Identifier 1024409 1024428 - VariableStatement 1024430 1024481 - VariableDeclarationList 1024430 1024480 - VariableDeclaration 1024447 1024480 - Identifier 1024447 1024452 - CallExpression 1024454 1024480 - PropertyAccessExpression 1024454 1024476 - Identifier 1024454 1024472 - Identifier 1024473 1024476 - Identifier 1024477 1024479 - IfStatement 1024481 1024694 - PrefixUnaryExpression 1024499 1024504 - Identifier 1024500 1024504 - Block 1024505 1024694 - ExpressionStatement 1024507 1024629 - BinaryExpression 1024507 1024628 - Identifier 1024507 1024529 - EqualsToken 1024529 1024531 - CallExpression 1024531 1024628 - Identifier 1024531 1024550 - Identifier 1024551 1024556 - Identifier 1024557 1024572 - Identifier 1024573 1024585 - Identifier 1024586 1024605 - Identifier 1024606 1024627 - ExpressionStatement 1024629 1024679 - CallExpression 1024629 1024678 - PropertyAccessExpression 1024629 1024668 - Identifier 1024629 1024664 - Identifier 1024665 1024668 - Identifier 1024669 1024671 - Identifier 1024672 1024677 - ReturnStatement 1024694 1024720 - Identifier 1024714 1024719 - ReturnStatement 1024731 1024831 - CallExpression 1024747 1024830 - Identifier 1024747 1024766 - Identifier 1024767 1024772 - Identifier 1024773 1024788 - Identifier 1024789 1024801 - Identifier 1024802 1024821 - Identifier 1024822 1024829 - FunctionDeclaration 1024838 1028718 - Identifier 1024854 1024873 - Parameter 1024874 1024896 - Identifier 1024874 1024879 - TypeOperator 1024880 1024896 - ArrayType 1024889 1024896 - TypeReference 1024889 1024894 - Identifier 1024889 1024894 - Parameter 1024897 1024928 - Identifier 1024897 1024912 - TypeReference 1024913 1024928 - Identifier 1024913 1024928 - Parameter 1024929 1024961 - Identifier 1024929 1024941 - UnionType 1024942 1024961 - TypeReference 1024942 1024949 - Identifier 1024942 1024949 - UndefinedKeyword 1024951 1024961 - Parameter 1024962 1025010 - Identifier 1024962 1024981 - UnionType 1024982 1025010 - TypeOperator 1024982 1024998 - ArrayType 1024991 1024998 - TypeReference 1024991 1024996 - Identifier 1024991 1024996 - UndefinedKeyword 1025000 1025010 - Parameter 1025011 1025036 - Identifier 1025011 1025018 - UnionType 1025019 1025036 - TypeReference 1025019 1025024 - Identifier 1025019 1025024 - UndefinedKeyword 1025026 1025036 - TypeReference 1025038 1025043 - Identifier 1025038 1025043 - Block 1025043 1028718 - VariableStatement 1025045 1025092 - VariableDeclarationList 1025045 1025091 - VariableDeclaration 1025058 1025091 - Identifier 1025058 1025066 - UnionType 1025067 1025086 - ArrayType 1025067 1025074 - TypeReference 1025067 1025072 - Identifier 1025067 1025072 - UndefinedKeyword 1025076 1025086 - ArrayLiteralExpression 1025088 1025091 - VariableStatement 1025092 1025167 - VariableDeclarationList 1025092 1025166 - VariableDeclaration 1025107 1025166 - Identifier 1025107 1025116 - CallExpression 1025118 1025166 - Identifier 1025118 1025134 - Identifier 1025135 1025142 - AsExpression 1025143 1025158 - NumericLiteral 1025143 1025145 - TypeReference 1025148 1025158 - Identifier 1025148 1025158 - Identifier 1025159 1025165 - IfStatement 1025167 1027193 - BinaryExpression 1025181 1025219 - Identifier 1025181 1025195 - ExclamationEqualsEqualsToken 1025195 1025199 - PropertyAccessExpression 1025199 1025219 - Identifier 1025199 1025214 - Identifier 1025215 1025219 - Block 1025220 1027193 - IfStatement 1025222 1025536 - BinaryExpression 1025240 1025273 - Identifier 1025240 1025248 - AmpersandToken 1025248 1025250 - PropertyAccessExpression 1025250 1025273 - Identifier 1025250 1025260 - Identifier 1025261 1025273 - Block 1025274 1025536 - ReturnStatement 1025276 1025521 - ConditionalExpression 1025300 1025520 - BinaryExpression 1025300 1025325 - Identifier 1025300 1025309 - AmpersandToken 1025309 1025311 - PropertyAccessExpression 1025311 1025325 - Identifier 1025311 1025321 - Identifier 1025322 1025325 - QuestionToken 1025325 1025327 - ConditionalExpression 1025327 1025485 - BinaryExpression 1025327 1025386 - Identifier 1025327 1025357 - AmpersandToken 1025357 1025359 - PropertyAccessExpression 1025359 1025386 - Identifier 1025359 1025369 - Identifier 1025370 1025386 - QuestionToken 1025386 1025388 - Identifier 1025388 1025401 - ColonToken 1025401 1025403 - ConditionalExpression 1025403 1025485 - BinaryExpression 1025403 1025463 - Identifier 1025403 1025437 - AmpersandToken 1025437 1025439 - PropertyAccessExpression 1025439 1025463 - Identifier 1025439 1025449 - Identifier 1025450 1025463 - QuestionToken 1025463 1025465 - Identifier 1025465 1025475 - ColonToken 1025475 1025477 - Identifier 1025477 1025485 - ColonToken 1025485 1025487 - Identifier 1025487 1025520 - IfStatement 1025536 1025877 - BinaryExpression 1025554 1025584 - Identifier 1025554 1025562 - AmpersandToken 1025562 1025564 - PropertyAccessExpression 1025564 1025584 - Identifier 1025564 1025574 - Identifier 1025575 1025584 - Block 1025585 1025877 - IfStatement 1025587 1025862 - BinaryExpression 1025705 1025786 - BinaryExpression 1025705 1025756 - BinaryExpression 1025705 1025724 - PropertyAccessExpression 1025705 1025719 - Identifier 1025705 1025712 - Identifier 1025713 1025719 - GreaterThanEqualsToken 1025719 1025722 - NumericLiteral 1025722 1025724 - AmpersandAmpersandToken 1025724 1025727 - BinaryExpression 1025727 1025756 - ElementAccessExpression 1025727 1025738 - Identifier 1025727 1025735 - NumericLiteral 1025736 1025737 - EqualsEqualsEqualsToken 1025738 1025742 - Identifier 1025742 1025756 - AmpersandAmpersandToken 1025756 1025759 - BinaryExpression 1025759 1025786 - ElementAccessExpression 1025759 1025770 - Identifier 1025759 1025767 - NumericLiteral 1025768 1025769 - EqualsEqualsEqualsToken 1025770 1025774 - Identifier 1025774 1025786 - Block 1025787 1025862 - ExpressionStatement 1025789 1025843 - CallExpression 1025789 1025842 - Identifier 1025789 1025830 - Identifier 1025831 1025838 - NumericLiteral 1025839 1025841 - IfStatement 1025877 1026214 - BinaryExpression 1025895 1026086 - BinaryExpression 1025895 1026023 - Identifier 1025895 1025903 - AmpersandToken 1025903 1025905 - ParenthesizedExpression 1025905 1026023 - BinaryExpression 1025907 1026022 - BinaryExpression 1025907 1025996 - BinaryExpression 1025907 1025968 - BinaryExpression 1025907 1025941 - PropertyAccessExpression 1025907 1025921 - Identifier 1025907 1025916 - Identifier 1025917 1025921 - BarToken 1025921 1025923 - PropertyAccessExpression 1025923 1025941 - Identifier 1025923 1025933 - Identifier 1025934 1025941 - BarToken 1025941 1025943 - PropertyAccessExpression 1025943 1025968 - Identifier 1025943 1025953 - Identifier 1025954 1025968 - BarToken 1025968 1025970 - PropertyAccessExpression 1025970 1025996 - Identifier 1025970 1025980 - Identifier 1025981 1025996 - BarToken 1025996 1025998 - PropertyAccessExpression 1025998 1026022 - Identifier 1025998 1026008 - Identifier 1026009 1026022 - BarBarToken 1026023 1026026 - BinaryExpression 1026026 1026086 - BinaryExpression 1026026 1026052 - Identifier 1026026 1026035 - AmpersandToken 1026035 1026037 - PropertyAccessExpression 1026037 1026052 - Identifier 1026037 1026047 - Identifier 1026048 1026052 - AmpersandAmpersandToken 1026052 1026055 - BinaryExpression 1026055 1026086 - Identifier 1026055 1026064 - AmpersandToken 1026064 1026066 - PropertyAccessExpression 1026066 1026086 - Identifier 1026066 1026076 - Identifier 1026077 1026086 - Block 1026087 1026214 - ExpressionStatement 1026089 1026199 - CallExpression 1026089 1026198 - Identifier 1026089 1026134 - Identifier 1026135 1026142 - Identifier 1026143 1026152 - PrefixUnaryExpression 1026153 1026197 - PrefixUnaryExpression 1026155 1026197 - ParenthesizedExpression 1026156 1026197 - BinaryExpression 1026157 1026196 - Identifier 1026157 1026171 - AmpersandToken 1026171 1026173 - PropertyAccessExpression 1026173 1026196 - Identifier 1026173 1026188 - Identifier 1026189 1026196 - IfStatement 1026214 1026425 - BinaryExpression 1026232 1026334 - BinaryExpression 1026232 1026266 - Identifier 1026232 1026240 - AmpersandToken 1026240 1026242 - PropertyAccessExpression 1026242 1026266 - Identifier 1026242 1026252 - Identifier 1026253 1026266 - AmpersandAmpersandToken 1026266 1026269 - BinaryExpression 1026269 1026334 - Identifier 1026269 1026278 - AmpersandToken 1026278 1026280 - ParenthesizedExpression 1026280 1026334 - BinaryExpression 1026282 1026333 - PropertyAccessExpression 1026282 1026307 - Identifier 1026282 1026291 - Identifier 1026292 1026307 - BarToken 1026307 1026309 - PropertyAccessExpression 1026309 1026333 - Identifier 1026309 1026319 - Identifier 1026320 1026333 - Block 1026335 1026425 - ExpressionStatement 1026337 1026410 - CallExpression 1026337 1026409 - Identifier 1026337 1026400 - Identifier 1026401 1026408 - IfStatement 1026425 1026571 - BinaryExpression 1026443 1026495 - Identifier 1026443 1026451 - AmpersandToken 1026451 1026453 - PropertyAccessExpression 1026453 1026495 - Identifier 1026453 1026463 - Identifier 1026464 1026495 - Block 1026496 1026571 - ExpressionStatement 1026498 1026556 - CallExpression 1026498 1026555 - Identifier 1026498 1026546 - Identifier 1026547 1026554 - IfStatement 1026571 1026824 - BinaryExpression 1026589 1026630 - Identifier 1026589 1026603 - EqualsEqualsEqualsToken 1026603 1026607 - PropertyAccessExpression 1026607 1026630 - Identifier 1026607 1026622 - Identifier 1026623 1026630 - Block 1026631 1026824 - ExpressionStatement 1026633 1026718 - BinaryExpression 1026633 1026717 - Identifier 1026633 1026658 - EqualsToken 1026658 1026660 - CallExpression 1026660 1026717 - Identifier 1026660 1026675 - Identifier 1026676 1026683 - PrefixUnaryExpression 1026684 1026716 - PrefixUnaryExpression 1026686 1026716 - ParenthesizedExpression 1026687 1026716 - BinaryExpression 1026688 1026715 - Identifier 1026688 1026696 - AmpersandToken 1026696 1026698 - PropertyAccessExpression 1026698 1026715 - Identifier 1026698 1026708 - Identifier 1026709 1026715 - IfStatement 1026718 1026809 - PrefixUnaryExpression 1026740 1026748 - Identifier 1026741 1026748 - Block 1026749 1026809 - ReturnStatement 1026751 1026790 - Identifier 1026779 1026789 - IfStatement 1026824 1027182 - BinaryExpression 1026842 1026862 - PropertyAccessExpression 1026842 1026856 - Identifier 1026842 1026849 - Identifier 1026850 1026856 - EqualsEqualsEqualsToken 1026856 1026860 - NumericLiteral 1026860 1026862 - Block 1026863 1027182 - ReturnStatement 1026865 1027167 - ConditionalExpression 1026889 1027166 - BinaryExpression 1026889 1026915 - Identifier 1026889 1026898 - AmpersandToken 1026898 1026900 - PropertyAccessExpression 1026900 1026915 - Identifier 1026900 1026910 - Identifier 1026911 1026915 - QuestionToken 1026915 1026917 - ConditionalExpression 1026917 1026992 - BinaryExpression 1026917 1026962 - Identifier 1026917 1026926 - AmpersandToken 1026926 1026928 - PropertyAccessExpression 1026928 1026962 - Identifier 1026928 1026938 - Identifier 1026939 1026962 - QuestionToken 1026962 1026964 - Identifier 1026964 1026973 - ColonToken 1026973 1026975 - Identifier 1026975 1026992 - ColonToken 1026992 1026994 - ConditionalExpression 1026994 1027166 - BinaryExpression 1026994 1027046 - Identifier 1026994 1027024 - AmpersandToken 1027024 1027026 - PropertyAccessExpression 1027026 1027046 - Identifier 1027026 1027036 - Identifier 1027037 1027046 - QuestionToken 1027046 1027048 - ConditionalExpression 1027048 1027133 - BinaryExpression 1027048 1027093 - Identifier 1027048 1027057 - AmpersandToken 1027057 1027059 - PropertyAccessExpression 1027059 1027093 - Identifier 1027059 1027069 - Identifier 1027070 1027093 - QuestionToken 1027093 1027095 - Identifier 1027095 1027109 - ColonToken 1027109 1027111 - Identifier 1027111 1027133 - ColonToken 1027133 1027135 - Identifier 1027135 1027166 - IfStatement 1027193 1028409 - BinaryExpression 1027207 1027244 - PrefixUnaryExpression 1027207 1027214 - Identifier 1027208 1027214 - AmpersandAmpersandToken 1027214 1027217 - BinaryExpression 1027217 1027244 - Identifier 1027217 1027226 - AmpersandToken 1027226 1027228 - PropertyAccessExpression 1027228 1027244 - Identifier 1027228 1027238 - Identifier 1027239 1027244 - Block 1027245 1028409 - VariableStatement 1027247 1027292 - VariableDeclarationList 1027247 1027291 - VariableDeclaration 1027266 1027291 - Identifier 1027266 1027278 - ArrayType 1027279 1027286 - TypeReference 1027279 1027284 - Identifier 1027279 1027284 - ArrayLiteralExpression 1027288 1027291 - ExpressionStatement 1027292 1027341 - CallExpression 1027292 1027340 - Identifier 1027292 1027320 - Identifier 1027321 1027332 - Identifier 1027333 1027339 - VariableStatement 1027341 1027387 - VariableDeclarationList 1027341 1027386 - VariableDeclaration 1027360 1027386 - Identifier 1027360 1027373 - ArrayType 1027374 1027381 - TypeReference 1027374 1027379 - Identifier 1027374 1027379 - ArrayLiteralExpression 1027383 1027386 - ForOfStatement 1027387 1027601 - VariableDeclarationList 1027406 1027413 - VariableDeclaration 1027411 1027413 - Identifier 1027411 1027413 - Identifier 1027416 1027424 - Block 1027425 1027601 - IfStatement 1027427 1027586 - PrefixUnaryExpression 1027449 1027521 - CallExpression 1027450 1027521 - Identifier 1027450 1027454 - Identifier 1027455 1027466 - ArrowFunction 1027467 1027520 - Parameter 1027467 1027473 - Identifier 1027467 1027473 - EqualsGreaterThanToken 1027473 1027476 - CallExpression 1027476 1027520 - Identifier 1027476 1027489 - PropertyAccessExpression 1027490 1027516 - ParenthesizedExpression 1027490 1027510 - AsExpression 1027491 1027509 - Identifier 1027491 1027496 - TypeReference 1027499 1027509 - Identifier 1027499 1027509 - Identifier 1027511 1027516 - Identifier 1027517 1027519 - Block 1027522 1027586 - ExpressionStatement 1027524 1027567 - CallExpression 1027524 1027566 - PropertyAccessExpression 1027524 1027563 - Identifier 1027524 1027558 - Identifier 1027559 1027563 - Identifier 1027564 1027565 - IfStatement 1027601 1027746 - BinaryExpression 1027619 1027688 - BinaryExpression 1027619 1027659 - PrefixUnaryExpression 1027619 1027631 - Identifier 1027620 1027631 - AmpersandAmpersandToken 1027631 1027634 - BinaryExpression 1027634 1027659 - PropertyAccessExpression 1027634 1027653 - Identifier 1027634 1027646 - Identifier 1027647 1027653 - EqualsEqualsEqualsToken 1027653 1027657 - NumericLiteral 1027657 1027659 - AmpersandAmpersandToken 1027659 1027662 - BinaryExpression 1027662 1027688 - PropertyAccessExpression 1027662 1027682 - Identifier 1027662 1027675 - Identifier 1027676 1027682 - EqualsEqualsEqualsToken 1027682 1027686 - NumericLiteral 1027686 1027688 - Block 1027689 1027746 - ReturnStatement 1027691 1027731 - ElementAccessExpression 1027715 1027730 - Identifier 1027715 1027727 - NumericLiteral 1027728 1027729 - VariableStatement 1027746 1028095 - VariableDeclarationList 1027746 1028094 - VariableDeclaration 1027992 1028094 - Identifier 1027992 1028008 - CallExpression 1028010 1028094 - Identifier 1028010 1028021 - Identifier 1028022 1028033 - ArrowFunction 1028034 1028090 - Parameter 1028036 1028039 - Identifier 1028036 1028039 - Parameter 1028040 1028046 - Identifier 1028040 1028046 - EqualsGreaterThanToken 1028047 1028050 - BinaryExpression 1028050 1028090 - Identifier 1028050 1028054 - PlusToken 1028054 1028056 - PropertyAccessExpression 1028056 1028090 - PropertyAccessExpression 1028056 1028083 - ParenthesizedExpression 1028056 1028077 - AsExpression 1028058 1028076 - Identifier 1028058 1028063 - TypeReference 1028066 1028076 - Identifier 1028066 1028076 - Identifier 1028078 1028083 - Identifier 1028084 1028090 - NumericLiteral 1028091 1028093 - IfStatement 1028095 1028398 - BinaryExpression 1028113 1028169 - BinaryExpression 1028113 1028150 - Identifier 1028113 1028128 - PlusToken 1028128 1028130 - PropertyAccessExpression 1028130 1028150 - Identifier 1028130 1028143 - Identifier 1028144 1028150 - EqualsEqualsEqualsToken 1028150 1028154 - PropertyAccessExpression 1028154 1028169 - Identifier 1028154 1028162 - Identifier 1028163 1028169 - Block 1028170 1028398 - ForOfStatement 1028172 1028289 - VariableDeclarationList 1028195 1028202 - VariableDeclaration 1028200 1028202 - Identifier 1028200 1028202 - Identifier 1028205 1028217 - Block 1028218 1028289 - ExpressionStatement 1028220 1028270 - CallExpression 1028220 1028269 - Identifier 1028220 1028252 - Identifier 1028253 1028265 - Identifier 1028266 1028268 - ExpressionStatement 1028289 1028383 - BinaryExpression 1028289 1028382 - Identifier 1028289 1028313 - EqualsToken 1028313 1028315 - CallExpression 1028315 1028382 - Identifier 1028315 1028351 - PropertyAccessExpression 1028352 1028367 - Identifier 1028352 1028361 - Identifier 1028362 1028367 - Identifier 1028368 1028381 - VariableStatement 1028409 1028604 - VariableDeclarationList 1028409 1028603 - VariableDeclaration 1028424 1028603 - Identifier 1028424 1028436 - BinaryExpression 1028438 1028603 - ParenthesizedExpression 1028438 1028512 - ConditionalExpression 1028440 1028511 - BinaryExpression 1028440 1028478 - Identifier 1028440 1028448 - AmpersandToken 1028448 1028450 - PropertyAccessExpression 1028450 1028478 - Identifier 1028450 1028460 - Identifier 1028461 1028478 - QuestionToken 1028478 1028480 - NumericLiteral 1028480 1028482 - ColonToken 1028482 1028484 - PropertyAccessExpression 1028484 1028511 - Identifier 1028484 1028496 - Identifier 1028497 1028511 - BarToken 1028512 1028514 - ParenthesizedExpression 1028514 1028603 - ConditionalExpression 1028529 1028602 - BinaryExpression 1028529 1028562 - Identifier 1028529 1028537 - AmpersandToken 1028537 1028539 - PropertyAccessExpression 1028539 1028562 - Identifier 1028539 1028549 - Identifier 1028550 1028562 - QuestionToken 1028562 1028564 - PropertyAccessExpression 1028564 1028598 - Identifier 1028564 1028576 - Identifier 1028577 1028598 - ColonToken 1028598 1028600 - NumericLiteral 1028600 1028602 - ReturnStatement 1028604 1028711 - CallExpression 1028620 1028710 - Identifier 1028620 1028647 - Identifier 1028648 1028655 - Identifier 1028656 1028668 - Identifier 1028669 1028681 - Identifier 1028682 1028701 - Identifier 1028702 1028709 - FunctionDeclaration 1028718 1030161 - Identifier 1028734 1028770 - Parameter 1028771 1028803 - Identifier 1028771 1028781 - TypeOperator 1028782 1028803 - ArrayType 1028791 1028803 - TypeReference 1028791 1028801 - Identifier 1028791 1028801 - Parameter 1028804 1028832 - Identifier 1028804 1028809 - UnionType 1028810 1028832 - TypeReference 1028810 1028820 - Identifier 1028810 1028820 - UndefinedKeyword 1028822 1028832 - UnionType 1028834 1028860 - TypeReference 1028834 1028848 - Identifier 1028834 1028848 - UndefinedKeyword 1028850 1028860 - Block 1028860 1030161 - VariableStatement 1028862 1028908 - VariableDeclarationList 1028862 1028907 - VariableDeclaration 1028875 1028907 - Identifier 1028875 1028880 - UnionType 1028881 1028907 - TypeReference 1028881 1028895 - Identifier 1028881 1028895 - UndefinedKeyword 1028897 1028907 - VariableStatement 1028908 1028943 - VariableDeclarationList 1028908 1028942 - VariableDeclaration 1028923 1028942 - Identifier 1028923 1028929 - ArrayType 1028930 1028937 - TypeReference 1028930 1028935 - Identifier 1028930 1028935 - ArrayLiteralExpression 1028939 1028942 - ForOfStatement 1028943 1029914 - VariableDeclarationList 1028958 1028967 - VariableDeclaration 1028963 1028967 - Identifier 1028963 1028967 - Identifier 1028970 1028981 - Block 1028982 1029914 - VariableStatement 1028984 1029044 - VariableDeclarationList 1028984 1029043 - VariableDeclaration 1029003 1029043 - Identifier 1029003 1029008 - CallExpression 1029010 1029043 - Identifier 1029010 1029038 - Identifier 1029039 1029042 - IfStatement 1029044 1029903 - Identifier 1029062 1029066 - Block 1029067 1029503 - IfStatement 1029069 1029418 - BinaryExpression 1029227 1029357 - BinaryExpression 1029227 1029309 - BinaryExpression 1029227 1029263 - PropertyAccessExpression 1029227 1029236 - Identifier 1029227 1029231 - Identifier 1029232 1029236 - ExclamationEqualsEqualsToken 1029236 1029240 - PropertyAccessExpression 1029240 1029263 - Identifier 1029240 1029258 - Identifier 1029259 1029263 - AmpersandAmpersandToken 1029263 1029266 - BinaryExpression 1029266 1029309 - PropertyAccessExpression 1029266 1029276 - Identifier 1029266 1029271 - Identifier 1029272 1029276 - ExclamationEqualsEqualsToken 1029276 1029280 - PropertyAccessExpression 1029280 1029309 - Identifier 1029280 1029298 - Identifier 1029299 1029309 - BarBarToken 1029309 1029312 - BinaryExpression 1029312 1029357 - Identifier 1029312 1029317 - AmpersandAmpersandToken 1029317 1029320 - PrefixUnaryExpression 1029320 1029357 - CallExpression 1029322 1029357 - Identifier 1029322 1029345 - Identifier 1029346 1029350 - Identifier 1029351 1029356 - Block 1029358 1029418 - ReturnStatement 1029360 1029399 - Identifier 1029388 1029398 - ExpressionStatement 1029418 1029448 - BinaryExpression 1029418 1029447 - Identifier 1029418 1029440 - EqualsToken 1029440 1029442 - Identifier 1029442 1029447 - ExpressionStatement 1029448 1029488 - CallExpression 1029448 1029487 - PropertyAccessExpression 1029448 1029476 - Identifier 1029448 1029471 - Identifier 1029472 1029476 - PropertyAccessExpression 1029477 1029486 - Identifier 1029477 1029481 - Identifier 1029482 1029486 - Block 1029521 1029903 - VariableStatement 1029523 1029746 - VariableDeclarationList 1029523 1029745 - VariableDeclaration 1029656 1029745 - Identifier 1029656 1029667 - ConditionalExpression 1029669 1029745 - BinaryExpression 1029669 1029701 - Identifier 1029669 1029674 - ExclamationEqualsEqualsToken 1029674 1029678 - PropertyAccessExpression 1029678 1029701 - Identifier 1029678 1029688 - Identifier 1029689 1029701 - QuestionToken 1029701 1029703 - CallExpression 1029703 1029733 - Identifier 1029703 1029728 - Identifier 1029729 1029732 - ColonToken 1029733 1029735 - Identifier 1029735 1029745 - IfStatement 1029746 1029888 - BinaryExpression 1029768 1029827 - BinaryExpression 1029768 1029792 - Identifier 1029768 1029778 - ExclamationEqualsEqualsToken 1029778 1029782 - Identifier 1029782 1029792 - AmpersandAmpersandToken 1029792 1029795 - BinaryExpression 1029795 1029827 - Identifier 1029795 1029806 - ExclamationEqualsEqualsToken 1029806 1029810 - Identifier 1029810 1029827 - Block 1029828 1029888 - ReturnStatement 1029830 1029869 - Identifier 1029858 1029868 - IfStatement 1029914 1029978 - PrefixUnaryExpression 1029928 1029933 - Identifier 1029929 1029933 - Block 1029934 1029978 - ReturnStatement 1029936 1029967 - Identifier 1029956 1029966 - VariableStatement 1029978 1030050 - VariableDeclarationList 1029978 1030049 - VariableDeclaration 1029993 1030049 - Identifier 1029993 1030007 - CallExpression 1030009 1030049 - Identifier 1030009 1030036 - Identifier 1030037 1030042 - Identifier 1030043 1030048 - ReturnStatement 1030050 1030154 - CallExpression 1030066 1030153 - Identifier 1030066 1030086 - PropertyAccessExpression 1030087 1030096 - Identifier 1030087 1030091 - Identifier 1030092 1030096 - PropertyAccessExpression 1030097 1030116 - Identifier 1030097 1030102 - Identifier 1030103 1030116 - PropertyAccessExpression 1030117 1030137 - Identifier 1030117 1030122 - Identifier 1030123 1030137 - Identifier 1030138 1030152 - FunctionDeclaration 1030161 1030331 - Identifier 1030177 1030201 - Parameter 1030202 1030218 - Identifier 1030202 1030203 - TypeReference 1030204 1030218 - Identifier 1030204 1030218 - Parameter 1030219 1030236 - Identifier 1030219 1030221 - TypeReference 1030222 1030236 - Identifier 1030222 1030236 - BooleanKeyword 1030238 1030246 - Block 1030246 1030331 - ReturnStatement 1030248 1030324 - BinaryExpression 1030264 1030323 - BinaryExpression 1030264 1030282 - PropertyAccessExpression 1030264 1030271 - Identifier 1030264 1030266 - Identifier 1030267 1030271 - EqualsEqualsEqualsToken 1030271 1030275 - PropertyAccessExpression 1030275 1030282 - Identifier 1030275 1030277 - Identifier 1030278 1030282 - AmpersandAmpersandToken 1030282 1030285 - BinaryExpression 1030285 1030323 - PropertyAccessExpression 1030285 1030302 - Identifier 1030285 1030287 - Identifier 1030288 1030302 - EqualsEqualsEqualsToken 1030302 1030306 - PropertyAccessExpression 1030306 1030323 - Identifier 1030306 1030308 - Identifier 1030309 1030323 - FunctionDeclaration 1030331 1032057 - Identifier 1030431 1030458 - Parameter 1030459 1030472 - Identifier 1030459 1030464 - ArrayType 1030465 1030472 - TypeReference 1030465 1030470 - Identifier 1030465 1030470 - Parameter 1030473 1030509 - Identifier 1030473 1030496 - TypeReference 1030497 1030509 - Identifier 1030497 1030509 - Parameter 1030510 1030531 - Identifier 1030510 1030522 - QuestionToken 1030522 1030523 - TypeReference 1030524 1030531 - Identifier 1030524 1030531 - Parameter 1030532 1030569 - Identifier 1030532 1030551 - QuestionToken 1030551 1030552 - TypeOperator 1030553 1030569 - ArrayType 1030562 1030569 - TypeReference 1030562 1030567 - Identifier 1030562 1030567 - Parameter 1030570 1030584 - Identifier 1030570 1030577 - QuestionToken 1030577 1030578 - TypeReference 1030579 1030584 - Identifier 1030579 1030584 - TypeReference 1030586 1030591 - Identifier 1030586 1030591 - Block 1030591 1032057 - IfStatement 1030593 1030670 - BinaryExpression 1030607 1030625 - PropertyAccessExpression 1030607 1030619 - Identifier 1030607 1030612 - Identifier 1030613 1030619 - EqualsEqualsEqualsToken 1030619 1030623 - NumericLiteral 1030623 1030625 - Block 1030626 1030670 - ReturnStatement 1030628 1030659 - Identifier 1030648 1030658 - IfStatement 1030670 1030746 - BinaryExpression 1030684 1030702 - PropertyAccessExpression 1030684 1030696 - Identifier 1030684 1030689 - Identifier 1030690 1030696 - EqualsEqualsEqualsToken 1030696 1030700 - NumericLiteral 1030700 1030702 - Block 1030703 1030746 - ReturnStatement 1030705 1030735 - ElementAccessExpression 1030725 1030734 - Identifier 1030725 1030731 - NumericLiteral 1030732 1030733 - VariableStatement 1030746 1031086 - VariableDeclarationList 1030746 1031085 - VariableDeclaration 1030761 1031085 - Identifier 1030761 1030769 - ConditionalExpression 1030771 1031085 - PrefixUnaryExpression 1030771 1030779 - Identifier 1030773 1030779 - QuestionToken 1030779 1030781 - CallExpression 1030781 1030802 - Identifier 1030781 1030795 - Identifier 1030796 1030801 - ColonToken 1030802 1030804 - ConditionalExpression 1030804 1031085 - BinaryExpression 1030804 1030848 - PropertyAccessExpression 1030804 1030830 - Identifier 1030804 1030824 - Identifier 1030825 1030830 - AmpersandToken 1030830 1030832 - PropertyAccessExpression 1030832 1030848 - Identifier 1030832 1030842 - Identifier 1030843 1030848 - QuestionToken 1030848 1030850 - TemplateExpression 1030850 1030899 - TemplateHead 1030850 1030855 - TemplateSpan 1030855 1030899 - CallExpression 1030855 1030897 - Identifier 1030855 1030868 - PropertyAccessExpression 1030869 1030896 - ParenthesizedExpression 1030869 1030890 - AsExpression 1030870 1030889 - Identifier 1030870 1030876 - TypeReference 1030879 1030889 - Identifier 1030879 1030889 - Identifier 1030891 1030896 - TemplateTail 1030897 1030899 - ColonToken 1030899 1030901 - ConditionalExpression 1030901 1031085 - BinaryExpression 1030901 1030952 - PropertyAccessExpression 1030901 1030927 - Identifier 1030901 1030921 - Identifier 1030922 1030927 - AmpersandToken 1030927 1030929 - PropertyAccessExpression 1030929 1030952 - Identifier 1030929 1030939 - Identifier 1030940 1030952 - QuestionToken 1030952 1030954 - TemplateExpression 1030954 1031010 - TemplateHead 1030954 1030959 - TemplateSpan 1030959 1031010 - CallExpression 1030959 1031008 - Identifier 1030959 1030972 - PropertyAccessExpression 1030973 1031007 - ParenthesizedExpression 1030973 1031001 - AsExpression 1030974 1031000 - Identifier 1030974 1030980 - TypeReference 1030983 1031000 - Identifier 1030983 1031000 - Identifier 1031002 1031007 - TemplateTail 1031008 1031010 - ColonToken 1031010 1031012 - TemplateExpression 1031012 1031085 - TemplateHead 1031012 1031030 - TemplateSpan 1031030 1031063 - PropertyAccessExpression 1031030 1031059 - PropertyAccessExpression 1031030 1031056 - ParenthesizedExpression 1031030 1031051 - AsExpression 1031031 1031050 - Identifier 1031031 1031037 - TypeReference 1031040 1031050 - Identifier 1031040 1031050 - Identifier 1031052 1031056 - Identifier 1031057 1031059 - TemplateMiddle 1031059 1031063 - TemplateSpan 1031063 1031085 - CallExpression 1031063 1031083 - Identifier 1031063 1031076 - Identifier 1031077 1031082 - TemplateTail 1031083 1031085 - VariableStatement 1031086 1031279 - VariableDeclarationList 1031086 1031278 - VariableDeclaration 1031219 1031278 - Identifier 1031219 1031222 - BinaryExpression 1031224 1031278 - Identifier 1031224 1031232 - PlusToken 1031232 1031234 - CallExpression 1031234 1031278 - Identifier 1031234 1031245 - Identifier 1031246 1031257 - Identifier 1031258 1031277 - VariableStatement 1031279 1031319 - VariableDeclarationList 1031279 1031318 - VariableDeclaration 1031292 1031318 - Identifier 1031292 1031297 - CallExpression 1031299 1031318 - PropertyAccessExpression 1031299 1031314 - Identifier 1031299 1031310 - Identifier 1031311 1031314 - Identifier 1031315 1031317 - IfStatement 1031319 1032028 - PrefixUnaryExpression 1031333 1031338 - Identifier 1031334 1031338 - Block 1031339 1032028 - ExpressionStatement 1031341 1031403 - BinaryExpression 1031341 1031402 - Identifier 1031341 1031359 - EqualsToken 1031359 1031361 - AsExpression 1031361 1031402 - CallExpression 1031361 1031389 - Identifier 1031361 1031372 - PropertyAccessExpression 1031373 1031388 - Identifier 1031373 1031382 - Identifier 1031383 1031388 - TypeReference 1031392 1031402 - Identifier 1031392 1031402 - ExpressionStatement 1031403 1031532 - BinaryExpression 1031403 1031531 - PropertyAccessExpression 1031403 1031433 - Identifier 1031403 1031421 - Identifier 1031422 1031433 - EqualsToken 1031433 1031435 - BinaryExpression 1031435 1031531 - Identifier 1031435 1031458 - BarToken 1031458 1031460 - CallExpression 1031460 1031531 - Identifier 1031460 1031487 - Identifier 1031488 1031493 - PropertyAccessExpression 1031494 1031530 - Identifier 1031494 1031521 - Identifier 1031522 1031530 - ExpressionStatement 1031532 1031565 - BinaryExpression 1031532 1031564 - PropertyAccessExpression 1031532 1031556 - Identifier 1031532 1031550 - Identifier 1031551 1031556 - EqualsToken 1031556 1031558 - Identifier 1031558 1031564 - ExpressionStatement 1031565 1031600 - BinaryExpression 1031565 1031599 - PropertyAccessExpression 1031565 1031590 - Identifier 1031565 1031583 - Identifier 1031584 1031590 - EqualsToken 1031590 1031592 - Identifier 1031592 1031599 - ExpressionStatement 1031600 1031645 - BinaryExpression 1031600 1031644 - PropertyAccessExpression 1031600 1031630 - Identifier 1031600 1031618 - Identifier 1031619 1031630 - EqualsToken 1031630 1031632 - Identifier 1031632 1031644 - ExpressionStatement 1031645 1031704 - BinaryExpression 1031645 1031703 - PropertyAccessExpression 1031645 1031682 - Identifier 1031645 1031663 - Identifier 1031664 1031682 - EqualsToken 1031682 1031684 - Identifier 1031684 1031703 - IfStatement 1031704 1031978 - BinaryExpression 1031722 1031830 - BinaryExpression 1031722 1031785 - BinaryExpression 1031722 1031740 - PropertyAccessExpression 1031722 1031734 - Identifier 1031722 1031727 - Identifier 1031728 1031734 - EqualsEqualsEqualsToken 1031734 1031738 - NumericLiteral 1031738 1031740 - AmpersandAmpersandToken 1031740 1031743 - BinaryExpression 1031743 1031785 - PropertyAccessExpression 1031743 1031758 - ElementAccessExpression 1031743 1031752 - Identifier 1031743 1031749 - NumericLiteral 1031750 1031751 - Identifier 1031753 1031758 - AmpersandToken 1031758 1031760 - PropertyAccessExpression 1031760 1031785 - Identifier 1031760 1031770 - Identifier 1031771 1031785 - AmpersandAmpersandToken 1031785 1031788 - BinaryExpression 1031788 1031830 - PropertyAccessExpression 1031788 1031803 - ElementAccessExpression 1031788 1031797 - Identifier 1031788 1031794 - NumericLiteral 1031795 1031796 - Identifier 1031798 1031803 - AmpersandToken 1031803 1031805 - PropertyAccessExpression 1031805 1031830 - Identifier 1031805 1031815 - Identifier 1031816 1031830 - Block 1031831 1031978 - ExpressionStatement 1031833 1031883 - BinaryExpression 1031833 1031882 - PropertyAccessExpression 1031833 1031861 - Identifier 1031833 1031855 - Identifier 1031856 1031861 - BarEqualsToken 1031861 1031864 - PropertyAccessExpression 1031864 1031882 - Identifier 1031864 1031874 - Identifier 1031875 1031882 - ExpressionStatement 1031883 1031963 - BinaryExpression 1031883 1031962 - PropertyAccessExpression 1031883 1031950 - ParenthesizedExpression 1031883 1031936 - AsExpression 1031902 1031935 - Identifier 1031902 1031906 - IntersectionType 1031909 1031935 - TypeReference 1031909 1031919 - Identifier 1031909 1031919 - TypeReference 1031921 1031935 - Identifier 1031921 1031935 - Identifier 1031937 1031950 - EqualsToken 1031950 1031952 - StringLiteral 1031952 1031962 - ExpressionStatement 1031978 1032017 - CallExpression 1031978 1032016 - PropertyAccessExpression 1031978 1032006 - Identifier 1031978 1032002 - Identifier 1032003 1032006 - Identifier 1032007 1032009 - Identifier 1032010 1032015 - ReturnStatement 1032028 1032050 - Identifier 1032044 1032049 - FunctionDeclaration 1032057 1032494 - Identifier 1032073 1032098 - Parameter 1032099 1032118 - Identifier 1032099 1032103 - TypeReference 1032104 1032118 - Identifier 1032104 1032118 - TypeReference 1032120 1032125 - Identifier 1032120 1032125 - Block 1032125 1032494 - VariableStatement 1032127 1032170 - VariableDeclarationList 1032127 1032169 - VariableDeclaration 1032142 1032169 - Identifier 1032142 1032148 - CallExpression 1032150 1032169 - Identifier 1032150 1032163 - Identifier 1032164 1032168 - IfStatement 1032170 1032451 - PrefixUnaryExpression 1032184 1032203 - PropertyAccessExpression 1032185 1032203 - Identifier 1032185 1032190 - Identifier 1032191 1032203 - Block 1032204 1032451 - VariableStatement 1032206 1032272 - VariableDeclarationList 1032206 1032271 - VariableDeclaration 1032225 1032271 - Identifier 1032225 1032237 - CallExpression 1032239 1032271 - Identifier 1032239 1032265 - Identifier 1032266 1032270 - ExpressionStatement 1032272 1032440 - BinaryExpression 1032272 1032439 - PropertyAccessExpression 1032272 1032304 - Identifier 1032272 1032291 - Identifier 1032292 1032304 - EqualsToken 1032304 1032306 - CallExpression 1032306 1032439 - Identifier 1032306 1032319 - CallExpression 1032320 1032356 - Identifier 1032320 1032323 - PropertyAccessExpression 1032324 1032334 - Identifier 1032324 1032328 - Identifier 1032329 1032334 - Identifier 1032335 1032355 - PropertyAccessExpression 1032357 1032380 - Identifier 1032357 1032372 - Identifier 1032373 1032380 - Identifier 1032381 1032393 - CallExpression 1032394 1032438 - Identifier 1032394 1032425 - Identifier 1032426 1032437 - ReturnStatement 1032451 1032487 - PropertyAccessExpression 1032467 1032486 - Identifier 1032467 1032473 - Identifier 1032474 1032486 - FunctionDeclaration 1032494 1034151 - Identifier 1032510 1032532 - Parameter 1032533 1032559 - Identifier 1032533 1032540 - TypeReference 1032541 1032559 - Identifier 1032541 1032545 - StringKeyword 1032546 1032552 - TypeReference 1032553 1032558 - Identifier 1032553 1032558 - Parameter 1032560 1032580 - Identifier 1032560 1032569 - TypeReference 1032570 1032580 - Identifier 1032570 1032580 - Parameter 1032581 1032592 - Identifier 1032581 1032586 - TypeReference 1032587 1032592 - Identifier 1032587 1032592 - Block 1032593 1034151 - VariableStatement 1032595 1032630 - VariableDeclarationList 1032595 1032629 - VariableDeclaration 1032610 1032629 - Identifier 1032610 1032616 - PropertyAccessExpression 1032618 1032629 - Identifier 1032618 1032623 - Identifier 1032624 1032629 - IfStatement 1032630 1032785 - BinaryExpression 1032644 1032674 - Identifier 1032644 1032649 - AmpersandToken 1032649 1032651 - PropertyAccessExpression 1032651 1032674 - Identifier 1032651 1032661 - Identifier 1032662 1032674 - Block 1032675 1032785 - ReturnStatement 1032677 1032774 - CallExpression 1032697 1032773 - Identifier 1032697 1032720 - Identifier 1032721 1032728 - Identifier 1032729 1032738 - PropertyAccessExpression 1032739 1032772 - ParenthesizedExpression 1032739 1032766 - AsExpression 1032741 1032765 - Identifier 1032741 1032745 - TypeReference 1032748 1032765 - Identifier 1032748 1032765 - Identifier 1032767 1032772 - IfStatement 1032785 1034118 - CallExpression 1032799 1032831 - Identifier 1032799 1032825 - Identifier 1032826 1032830 - Block 1032832 1033040 - IfStatement 1032834 1033029 - PrefixUnaryExpression 1032852 1032895 - ParenthesizedExpression 1032853 1032895 - BinaryExpression 1032854 1032894 - Identifier 1032854 1032862 - AmpersandToken 1032862 1032864 - PropertyAccessExpression 1032864 1032894 - Identifier 1032864 1032874 - Identifier 1032875 1032894 - Block 1032896 1033029 - ExpressionStatement 1032898 1032958 - BinaryExpression 1032898 1032957 - Identifier 1032898 1032924 - BarEqualsToken 1032924 1032927 - PropertyAccessExpression 1032927 1032957 - Identifier 1032927 1032937 - Identifier 1032938 1032957 - ExpressionStatement 1032958 1033014 - CallExpression 1032958 1033013 - PropertyAccessExpression 1032958 1032987 - Identifier 1032958 1032983 - Identifier 1032984 1032987 - CallExpression 1032988 1033006 - PropertyAccessExpression 1032988 1033004 - PropertyAccessExpression 1032988 1032995 - Identifier 1032988 1032992 - Identifier 1032993 1032995 - Identifier 1032996 1033004 - Identifier 1033007 1033012 - Block 1033054 1034118 - IfStatement 1033056 1034050 - BinaryExpression 1033074 1033104 - Identifier 1033074 1033079 - AmpersandToken 1033079 1033081 - PropertyAccessExpression 1033081 1033104 - Identifier 1033081 1033091 - Identifier 1033092 1033104 - Block 1033105 1033283 - IfStatement 1033107 1033191 - BinaryExpression 1033129 1033150 - Identifier 1033129 1033133 - EqualsEqualsEqualsToken 1033133 1033137 - Identifier 1033137 1033150 - ExpressionStatement 1033151 1033191 - BinaryExpression 1033151 1033190 - Identifier 1033151 1033160 - BarEqualsToken 1033160 1033163 - PropertyAccessExpression 1033163 1033190 - Identifier 1033163 1033173 - Identifier 1033174 1033190 - IfStatement 1033191 1033268 - CallExpression 1033213 1033230 - Identifier 1033213 1033224 - Identifier 1033225 1033229 - ExpressionStatement 1033231 1033268 - BinaryExpression 1033231 1033267 - Identifier 1033231 1033240 - BarEqualsToken 1033240 1033243 - PropertyAccessExpression 1033243 1033267 - Identifier 1033243 1033253 - Identifier 1033254 1033267 - IfStatement 1033301 1034050 - BinaryExpression 1033306 1033355 - Identifier 1033306 1033322 - BarBarToken 1033322 1033325 - PrefixUnaryExpression 1033325 1033355 - ParenthesizedExpression 1033327 1033355 - BinaryExpression 1033328 1033354 - Identifier 1033328 1033333 - AmpersandToken 1033333 1033335 - PropertyAccessExpression 1033335 1033354 - Identifier 1033335 1033345 - Identifier 1033346 1033354 - Block 1033356 1034050 - IfStatement 1033358 1033529 - BinaryExpression 1033380 1033400 - Identifier 1033380 1033384 - EqualsEqualsEqualsToken 1033384 1033388 - Identifier 1033388 1033400 - Block 1033401 1033529 - ExpressionStatement 1033403 1033467 - BinaryExpression 1033403 1033466 - Identifier 1033403 1033433 - BarEqualsToken 1033433 1033436 - PropertyAccessExpression 1033436 1033466 - Identifier 1033436 1033446 - Identifier 1033447 1033466 - ExpressionStatement 1033467 1033510 - BinaryExpression 1033467 1033509 - Identifier 1033467 1033493 - EqualsToken 1033493 1033495 - Identifier 1033495 1033509 - IfStatement 1033529 1034035 - PrefixUnaryExpression 1033551 1033583 - CallExpression 1033552 1033583 - PropertyAccessExpression 1033552 1033563 - Identifier 1033552 1033559 - Identifier 1033560 1033563 - CallExpression 1033564 1033582 - PropertyAccessExpression 1033564 1033580 - PropertyAccessExpression 1033564 1033571 - Identifier 1033564 1033568 - Identifier 1033569 1033571 - Identifier 1033572 1033580 - Block 1033584 1034035 - IfStatement 1033586 1033956 - BinaryExpression 1033612 1033668 - BinaryExpression 1033612 1033639 - PropertyAccessExpression 1033612 1033622 - Identifier 1033612 1033616 - Identifier 1033617 1033622 - AmpersandToken 1033622 1033624 - PropertyAccessExpression 1033624 1033639 - Identifier 1033624 1033634 - Identifier 1033635 1033639 - AmpersandAmpersandToken 1033639 1033642 - BinaryExpression 1033642 1033668 - Identifier 1033642 1033651 - AmpersandToken 1033651 1033653 - PropertyAccessExpression 1033653 1033668 - Identifier 1033653 1033663 - Identifier 1033664 1033668 - Block 1033669 1033956 - ExpressionStatement 1033671 1033933 - BinaryExpression 1033671 1033932 - Identifier 1033671 1033906 - BarEqualsToken 1033906 1033909 - PropertyAccessExpression 1033909 1033932 - Identifier 1033909 1033919 - Identifier 1033920 1033932 - ExpressionStatement 1033956 1034016 - CallExpression 1033956 1034015 - PropertyAccessExpression 1033956 1033989 - Identifier 1033956 1033985 - Identifier 1033986 1033989 - CallExpression 1033990 1034008 - PropertyAccessExpression 1033990 1034006 - PropertyAccessExpression 1033990 1033997 - Identifier 1033990 1033994 - Identifier 1033995 1033997 - Identifier 1033998 1034006 - Identifier 1034009 1034014 - ExpressionStatement 1034050 1034107 - BinaryExpression 1034050 1034106 - Identifier 1034050 1034072 - BarEqualsToken 1034072 1034075 - BinaryExpression 1034075 1034106 - Identifier 1034075 1034081 - AmpersandToken 1034081 1034083 - PropertyAccessExpression 1034083 1034106 - Identifier 1034083 1034093 - Identifier 1034094 1034106 - ReturnStatement 1034118 1034144 - Identifier 1034134 1034143 - FunctionDeclaration 1034151 1034654 - Identifier 1034374 1034397 - Parameter 1034398 1034424 - Identifier 1034398 1034405 - TypeReference 1034406 1034424 - Identifier 1034406 1034410 - StringKeyword 1034411 1034417 - TypeReference 1034418 1034423 - Identifier 1034418 1034423 - Parameter 1034425 1034445 - Identifier 1034425 1034434 - TypeReference 1034435 1034445 - Identifier 1034435 1034445 - Parameter 1034446 1034469 - Identifier 1034446 1034452 - TypeOperator 1034453 1034469 - ArrayType 1034462 1034469 - TypeReference 1034462 1034467 - Identifier 1034462 1034467 - Block 1034470 1034654 - ForOfStatement 1034472 1034621 - VariableDeclarationList 1034487 1034497 - VariableDeclaration 1034492 1034497 - Identifier 1034492 1034497 - Identifier 1034500 1034506 - Block 1034507 1034621 - ExpressionStatement 1034509 1034610 - BinaryExpression 1034509 1034609 - Identifier 1034509 1034531 - EqualsToken 1034531 1034533 - CallExpression 1034533 1034609 - Identifier 1034533 1034555 - Identifier 1034556 1034563 - Identifier 1034564 1034573 - CallExpression 1034574 1034608 - Identifier 1034574 1034602 - Identifier 1034603 1034607 - ReturnStatement 1034621 1034647 - Identifier 1034637 1034646 - FunctionDeclaration 1034654 1035532 - Identifier 1034670 1034696 - Parameter 1034697 1034710 - Identifier 1034697 1034702 - ArrayType 1034703 1034710 - TypeReference 1034703 1034708 - Identifier 1034703 1034708 - Parameter 1034711 1034731 - Identifier 1034711 1034720 - TypeReference 1034721 1034731 - Identifier 1034721 1034731 - Block 1034732 1035532 - VariableStatement 1034734 1034765 - VariableDeclarationList 1034734 1034764 - VariableDeclaration 1034747 1034764 - Identifier 1034747 1034749 - PropertyAccessExpression 1034751 1034764 - Identifier 1034751 1034757 - Identifier 1034758 1034764 - WhileStatement 1034765 1035525 - BinaryExpression 1034782 1034787 - Identifier 1034782 1034783 - GreaterThanToken 1034783 1034785 - NumericLiteral 1034785 1034787 - Block 1034788 1035525 - ExpressionStatement 1034790 1034808 - PostfixUnaryExpression 1034790 1034807 - Identifier 1034790 1034805 - VariableStatement 1034808 1034841 - VariableDeclarationList 1034808 1034840 - VariableDeclaration 1034827 1034840 - Identifier 1034827 1034829 - ElementAccessExpression 1034831 1034840 - Identifier 1034831 1034837 - Identifier 1034838 1034839 - VariableStatement 1034841 1035424 - VariableDeclarationList 1034841 1035423 - VariableDeclaration 1034860 1035423 - Identifier 1034860 1034867 - BinaryExpression 1034869 1035423 - BinaryExpression 1034869 1035327 - BinaryExpression 1034869 1035248 - BinaryExpression 1034869 1035160 - BinaryExpression 1034869 1035075 - BinaryExpression 1034869 1034990 - BinaryExpression 1034869 1034896 - PropertyAccessExpression 1034869 1034877 - Identifier 1034869 1034871 - Identifier 1034872 1034877 - AmpersandToken 1034877 1034879 - PropertyAccessExpression 1034879 1034896 - Identifier 1034879 1034889 - Identifier 1034890 1034896 - AmpersandAmpersandToken 1034896 1034899 - BinaryExpression 1034899 1034990 - Identifier 1034899 1034908 - AmpersandToken 1034908 1034910 - ParenthesizedExpression 1034910 1034990 - BinaryExpression 1034912 1034989 - BinaryExpression 1034912 1034963 - PropertyAccessExpression 1034912 1034935 - Identifier 1034912 1034921 - Identifier 1034922 1034935 - BarToken 1034935 1034937 - PropertyAccessExpression 1034937 1034963 - Identifier 1034937 1034947 - Identifier 1034948 1034963 - BarToken 1034963 1034965 - PropertyAccessExpression 1034965 1034989 - Identifier 1034965 1034975 - Identifier 1034976 1034989 - BarBarToken 1034990 1034993 - BinaryExpression 1034993 1035075 - BinaryExpression 1034993 1035037 - PropertyAccessExpression 1034993 1035018 - Identifier 1034993 1035012 - Identifier 1035013 1035018 - AmpersandToken 1035018 1035020 - PropertyAccessExpression 1035020 1035037 - Identifier 1035020 1035030 - Identifier 1035031 1035037 - AmpersandAmpersandToken 1035037 1035040 - BinaryExpression 1035040 1035075 - Identifier 1035040 1035049 - AmpersandToken 1035049 1035051 - PropertyAccessExpression 1035051 1035075 - Identifier 1035051 1035061 - Identifier 1035062 1035075 - BarBarToken 1035075 1035078 - BinaryExpression 1035078 1035160 - BinaryExpression 1035078 1035122 - PropertyAccessExpression 1035078 1035103 - Identifier 1035078 1035097 - Identifier 1035098 1035103 - AmpersandToken 1035103 1035105 - PropertyAccessExpression 1035105 1035122 - Identifier 1035105 1035115 - Identifier 1035116 1035122 - AmpersandAmpersandToken 1035122 1035125 - BinaryExpression 1035125 1035160 - Identifier 1035125 1035134 - AmpersandToken 1035134 1035136 - PropertyAccessExpression 1035136 1035160 - Identifier 1035136 1035146 - Identifier 1035147 1035160 - BarBarToken 1035160 1035163 - BinaryExpression 1035163 1035248 - BinaryExpression 1035163 1035209 - PropertyAccessExpression 1035163 1035188 - Identifier 1035163 1035182 - Identifier 1035183 1035188 - AmpersandToken 1035188 1035190 - PropertyAccessExpression 1035190 1035209 - Identifier 1035190 1035200 - Identifier 1035201 1035209 - AmpersandAmpersandToken 1035209 1035212 - BinaryExpression 1035212 1035248 - Identifier 1035212 1035221 - AmpersandToken 1035221 1035223 - PropertyAccessExpression 1035223 1035248 - Identifier 1035223 1035233 - Identifier 1035234 1035248 - BarBarToken 1035248 1035251 - BinaryExpression 1035251 1035327 - BinaryExpression 1035251 1035293 - PropertyAccessExpression 1035251 1035276 - Identifier 1035251 1035270 - Identifier 1035271 1035276 - AmpersandToken 1035276 1035278 - PropertyAccessExpression 1035278 1035293 - Identifier 1035278 1035288 - Identifier 1035289 1035293 - AmpersandAmpersandToken 1035293 1035296 - BinaryExpression 1035296 1035327 - Identifier 1035296 1035305 - AmpersandToken 1035305 1035307 - PropertyAccessExpression 1035307 1035327 - Identifier 1035307 1035317 - Identifier 1035318 1035327 - BarBarToken 1035327 1035330 - BinaryExpression 1035330 1035423 - CallExpression 1035330 1035377 - Identifier 1035330 1035374 - Identifier 1035375 1035376 - AmpersandAmpersandToken 1035377 1035380 - BinaryExpression 1035380 1035423 - Identifier 1035380 1035389 - AmpersandToken 1035389 1035391 - PropertyAccessExpression 1035391 1035423 - Identifier 1035391 1035401 - Identifier 1035402 1035423 - IfStatement 1035424 1035514 - Identifier 1035442 1035448 - Block 1035449 1035514 - ExpressionStatement 1035451 1035499 - CallExpression 1035451 1035498 - Identifier 1035451 1035488 - Identifier 1035489 1035494 - Identifier 1035495 1035497 - FunctionDeclaration 1035532 1036760 - Identifier 1035814 1035832 - Parameter 1035833 1035856 - Identifier 1035833 1035843 - ArrayType 1035844 1035856 - TypeReference 1035844 1035854 - Identifier 1035844 1035854 - Parameter 1035857 1035868 - Identifier 1035857 1035862 - TypeReference 1035863 1035868 - Identifier 1035863 1035868 - Block 1035869 1036760 - ForOfStatement 1035871 1036731 - VariableDeclarationList 1035886 1035893 - VariableDeclaration 1035891 1035893 - Identifier 1035891 1035893 - Identifier 1035896 1035907 - Block 1035908 1036731 - IfStatement 1035910 1036720 - PrefixUnaryExpression 1035928 1035956 - CallExpression 1035929 1035956 - Identifier 1035929 1035941 - PropertyAccessExpression 1035942 1035949 - Identifier 1035942 1035943 - Identifier 1035944 1035949 - Identifier 1035950 1035955 - Block 1035957 1036720 - IfStatement 1035959 1036089 - BinaryExpression 1035981 1036001 - Identifier 1035981 1035985 - EqualsEqualsEqualsToken 1035985 1035989 - Identifier 1035989 1036001 - Block 1036002 1036089 - ReturnStatement 1036004 1036070 - CallExpression 1036032 1036069 - Identifier 1036032 1036045 - PropertyAccessExpression 1036046 1036053 - Identifier 1036046 1036047 - Identifier 1036048 1036053 - Identifier 1036054 1036068 - IfStatement 1036089 1036219 - BinaryExpression 1036111 1036133 - Identifier 1036111 1036115 - EqualsEqualsEqualsToken 1036115 1036119 - Identifier 1036119 1036133 - Block 1036134 1036219 - ReturnStatement 1036136 1036200 - CallExpression 1036164 1036199 - Identifier 1036164 1036177 - PropertyAccessExpression 1036178 1036185 - Identifier 1036178 1036179 - Identifier 1036180 1036185 - Identifier 1036186 1036198 - VariableStatement 1036219 1036579 - VariableDeclarationList 1036219 1036578 - VariableDeclaration 1036242 1036578 - Identifier 1036242 1036252 - ConditionalExpression 1036254 1036578 - BinaryExpression 1036254 1036291 - PropertyAccessExpression 1036254 1036265 - Identifier 1036254 1036259 - Identifier 1036260 1036265 - AmpersandToken 1036265 1036267 - PropertyAccessExpression 1036267 1036291 - Identifier 1036267 1036277 - Identifier 1036278 1036291 - QuestionToken 1036291 1036293 - Identifier 1036293 1036304 - ColonToken 1036304 1036306 - ConditionalExpression 1036306 1036578 - BinaryExpression 1036306 1036383 - PropertyAccessExpression 1036306 1036338 - Identifier 1036306 1036332 - Identifier 1036333 1036338 - AmpersandToken 1036338 1036340 - ParenthesizedExpression 1036340 1036383 - BinaryExpression 1036342 1036382 - PropertyAccessExpression 1036342 1036356 - Identifier 1036342 1036351 - Identifier 1036352 1036356 - BarToken 1036356 1036358 - PropertyAccessExpression 1036358 1036382 - Identifier 1036358 1036368 - Identifier 1036369 1036382 - QuestionToken 1036383 1036385 - Identifier 1036385 1036396 - ColonToken 1036396 1036398 - ConditionalExpression 1036398 1036578 - BinaryExpression 1036398 1036456 - PropertyAccessExpression 1036398 1036430 - Identifier 1036398 1036424 - Identifier 1036425 1036430 - AmpersandToken 1036430 1036432 - PropertyAccessExpression 1036432 1036456 - Identifier 1036432 1036442 - Identifier 1036443 1036456 - QuestionToken 1036456 1036458 - Identifier 1036458 1036469 - ColonToken 1036469 1036471 - ConditionalExpression 1036471 1036578 - BinaryExpression 1036471 1036530 - PropertyAccessExpression 1036471 1036503 - Identifier 1036471 1036497 - Identifier 1036498 1036503 - AmpersandToken 1036503 1036505 - PropertyAccessExpression 1036505 1036530 - Identifier 1036505 1036515 - Identifier 1036516 1036530 - QuestionToken 1036530 1036532 - Identifier 1036532 1036545 - ColonToken 1036545 1036547 - Identifier 1036547 1036578 - IfStatement 1036579 1036705 - BinaryExpression 1036601 1036648 - PrefixUnaryExpression 1036601 1036611 - Identifier 1036602 1036611 - BarBarToken 1036611 1036614 - PrefixUnaryExpression 1036614 1036648 - CallExpression 1036616 1036648 - Identifier 1036616 1036628 - PropertyAccessExpression 1036629 1036636 - Identifier 1036629 1036630 - Identifier 1036631 1036636 - Identifier 1036637 1036647 - Block 1036649 1036705 - ReturnStatement 1036651 1036686 - FalseKeyword 1036679 1036685 - ReturnStatement 1036731 1036753 - TrueKeyword 1036747 1036752 - FunctionDeclaration 1036760 1037783 - Identifier 1036971 1037004 - Parameter 1037005 1037018 - Identifier 1037005 1037010 - ArrayType 1037011 1037018 - TypeReference 1037011 1037016 - Identifier 1037011 1037016 - BooleanKeyword 1037020 1037028 - Block 1037028 1037783 - VariableStatement 1037030 1037061 - VariableDeclarationList 1037030 1037060 - VariableDeclaration 1037043 1037060 - Identifier 1037043 1037045 - PropertyAccessExpression 1037047 1037060 - Identifier 1037047 1037053 - Identifier 1037054 1037060 - VariableStatement 1037061 1037146 - VariableDeclarationList 1037061 1037145 - VariableDeclaration 1037076 1037145 - Identifier 1037076 1037085 - CallExpression 1037087 1037145 - Identifier 1037087 1037094 - Identifier 1037095 1037100 - ArrowFunction 1037101 1037144 - Parameter 1037101 1037103 - Identifier 1037101 1037103 - EqualsGreaterThanToken 1037103 1037106 - PrefixUnaryExpression 1037106 1037144 - PrefixUnaryExpression 1037108 1037144 - ParenthesizedExpression 1037109 1037144 - BinaryExpression 1037110 1037143 - PropertyAccessExpression 1037110 1037117 - Identifier 1037110 1037111 - Identifier 1037112 1037117 - AmpersandToken 1037117 1037119 - PropertyAccessExpression 1037119 1037143 - Identifier 1037119 1037129 - Identifier 1037130 1037143 - WhileStatement 1037146 1037753 - BinaryExpression 1037163 1037168 - Identifier 1037163 1037164 - GreaterThanToken 1037164 1037166 - NumericLiteral 1037166 1037168 - Block 1037169 1037753 - ExpressionStatement 1037171 1037189 - PostfixUnaryExpression 1037171 1037188 - Identifier 1037171 1037186 - VariableStatement 1037189 1037222 - VariableDeclarationList 1037189 1037221 - VariableDeclaration 1037208 1037221 - Identifier 1037208 1037210 - ElementAccessExpression 1037212 1037221 - Identifier 1037212 1037218 - Identifier 1037219 1037220 - IfStatement 1037222 1037317 - PrefixUnaryExpression 1037240 1037306 - ParenthesizedExpression 1037241 1037306 - BinaryExpression 1037242 1037305 - PropertyAccessExpression 1037242 1037249 - Identifier 1037242 1037243 - Identifier 1037244 1037249 - AmpersandToken 1037249 1037251 - ParenthesizedExpression 1037251 1037305 - BinaryExpression 1037253 1037304 - PropertyAccessExpression 1037253 1037278 - Identifier 1037253 1037262 - Identifier 1037263 1037278 - BarToken 1037278 1037280 - PropertyAccessExpression 1037280 1037304 - Identifier 1037280 1037290 - Identifier 1037291 1037304 - ContinueStatement 1037307 1037317 - ForOfStatement 1037317 1037742 - VariableDeclarationList 1037336 1037344 - VariableDeclaration 1037341 1037344 - Identifier 1037341 1037344 - Identifier 1037347 1037356 - Block 1037357 1037742 - IfStatement 1037359 1037727 - CallExpression 1037381 1037403 - Identifier 1037381 1037396 - Identifier 1037397 1037399 - Identifier 1037400 1037402 - Block 1037404 1037621 - ExpressionStatement 1037406 1037574 - CallExpression 1037406 1037573 - Identifier 1037406 1037563 - Identifier 1037564 1037569 - Identifier 1037570 1037572 - BreakStatement 1037574 1037602 - IfStatement 1037643 1037727 - CallExpression 1037648 1037671 - Identifier 1037648 1037668 - Identifier 1037669 1037670 - Block 1037672 1037727 - ReturnStatement 1037674 1037708 - TrueKeyword 1037702 1037707 - ReturnStatement 1037753 1037776 - FalseKeyword 1037769 1037775 - FunctionDeclaration 1037783 1037986 - Identifier 1037799 1037814 - Parameter 1037815 1037828 - Identifier 1037815 1037820 - ArrayType 1037821 1037828 - TypeReference 1037821 1037826 - Identifier 1037821 1037826 - Parameter 1037829 1037845 - Identifier 1037829 1037834 - TypeReference 1037835 1037845 - Identifier 1037835 1037845 - Block 1037846 1037986 - ForStatement 1037848 1037979 - VariableDeclarationList 1037863 1037872 - VariableDeclaration 1037866 1037872 - Identifier 1037866 1037868 - NumericLiteral 1037870 1037872 - BinaryExpression 1037873 1037890 - Identifier 1037873 1037875 - LessThanToken 1037875 1037877 - PropertyAccessExpression 1037877 1037890 - Identifier 1037877 1037883 - Identifier 1037884 1037890 - PostfixUnaryExpression 1037891 1037895 - Identifier 1037891 1037893 - Block 1037896 1037979 - ExpressionStatement 1037898 1037968 - BinaryExpression 1037898 1037967 - ElementAccessExpression 1037898 1037920 - Identifier 1037898 1037917 - Identifier 1037918 1037919 - EqualsToken 1037920 1037922 - CallExpression 1037922 1037967 - Identifier 1037922 1037933 - ElementAccessExpression 1037934 1037942 - Identifier 1037934 1037939 - Identifier 1037940 1037941 - ArrowFunction 1037943 1037966 - Parameter 1037943 1037945 - Identifier 1037943 1037945 - EqualsGreaterThanToken 1037945 1037948 - PrefixUnaryExpression 1037948 1037966 - ParenthesizedExpression 1037950 1037966 - BinaryExpression 1037951 1037965 - PropertyAccessExpression 1037951 1037958 - Identifier 1037951 1037952 - Identifier 1037953 1037958 - AmpersandToken 1037958 1037960 - Identifier 1037960 1037965 - FunctionDeclaration 1037986 1040444 - Identifier 1038272 1038304 - Parameter 1038305 1038318 - Identifier 1038305 1038310 - ArrayType 1038311 1038318 - TypeReference 1038311 1038316 - Identifier 1038311 1038316 - Block 1038319 1040444 - VariableStatement 1038321 1038371 - VariableDeclarationList 1038321 1038370 - VariableDeclaration 1038334 1038370 - Identifier 1038334 1038345 - UnionType 1038346 1038370 - ArrayType 1038346 1038358 - TypeReference 1038346 1038356 - Identifier 1038346 1038356 - UndefinedKeyword 1038360 1038370 - VariableStatement 1038371 1038469 - VariableDeclarationList 1038371 1038468 - VariableDeclaration 1038386 1038468 - Identifier 1038386 1038392 - CallExpression 1038394 1038468 - Identifier 1038394 1038404 - Identifier 1038405 1038410 - ArrowFunction 1038411 1038467 - Parameter 1038411 1038413 - Identifier 1038411 1038413 - EqualsGreaterThanToken 1038413 1038416 - PrefixUnaryExpression 1038416 1038467 - PrefixUnaryExpression 1038418 1038467 - ParenthesizedExpression 1038419 1038467 - BinaryExpression 1038420 1038466 - CallExpression 1038420 1038437 - Identifier 1038420 1038434 - Identifier 1038435 1038436 - AmpersandToken 1038437 1038439 - PropertyAccessExpression 1038439 1038466 - Identifier 1038439 1038451 - Identifier 1038452 1038466 - IfStatement 1038469 1038533 - BinaryExpression 1038483 1038492 - Identifier 1038483 1038488 - LessThanToken 1038488 1038490 - NumericLiteral 1038490 1038492 - Block 1038493 1038533 - ReturnStatement 1038495 1038522 - FalseKeyword 1038515 1038521 - VariableStatement 1038533 1038561 - VariableDeclarationList 1038533 1038560 - VariableDeclaration 1038546 1038560 - Identifier 1038546 1038548 - BinaryExpression 1038550 1038560 - Identifier 1038550 1038556 - PlusToken 1038556 1038558 - NumericLiteral 1038558 1038560 - WhileStatement 1038561 1039042 - BinaryExpression 1038694 1038710 - Identifier 1038694 1038695 - LessThanToken 1038695 1038697 - PropertyAccessExpression 1038697 1038710 - Identifier 1038697 1038703 - Identifier 1038704 1038710 - Block 1038711 1039042 - VariableStatement 1038713 1038746 - VariableDeclarationList 1038713 1038745 - VariableDeclaration 1038732 1038745 - Identifier 1038732 1038734 - ElementAccessExpression 1038736 1038745 - Identifier 1038736 1038742 - Identifier 1038743 1038744 - IfStatement 1038746 1039031 - BinaryExpression 1038764 1038810 - CallExpression 1038764 1038781 - Identifier 1038764 1038778 - Identifier 1038779 1038780 - AmpersandToken 1038781 1038783 - PropertyAccessExpression 1038783 1038810 - Identifier 1038783 1038795 - Identifier 1038796 1038810 - Block 1038811 1038974 - ExpressionStatement 1038813 1038911 - CallExpression 1038813 1038910 - PropertyAccessExpression 1038813 1038894 - ParenthesizedExpression 1038813 1038889 - BinaryExpression 1038832 1038888 - Identifier 1038832 1038842 - BarBarToken 1038842 1038845 - ParenthesizedExpression 1038845 1038888 - BinaryExpression 1038847 1038887 - Identifier 1038847 1038857 - EqualsToken 1038857 1038859 - ArrayLiteralExpression 1038859 1038887 - AsExpression 1038861 1038886 - ElementAccessExpression 1038861 1038873 - Identifier 1038861 1038866 - Identifier 1038867 1038872 - TypeReference 1038876 1038886 - Identifier 1038876 1038886 - Identifier 1038890 1038894 - AsExpression 1038895 1038909 - Identifier 1038895 1038896 - TypeReference 1038899 1038909 - Identifier 1038899 1038909 - ExpressionStatement 1038911 1038959 - CallExpression 1038911 1038958 - Identifier 1038911 1038948 - Identifier 1038949 1038954 - Identifier 1038955 1038957 - Block 1038992 1039031 - ExpressionStatement 1038994 1039016 - PostfixUnaryExpression 1038994 1039015 - Identifier 1038994 1039013 - IfStatement 1039042 1039180 - PrefixUnaryExpression 1039128 1039139 - Identifier 1039129 1039139 - Block 1039140 1039180 - ReturnStatement 1039142 1039169 - FalseKeyword 1039162 1039168 - VariableStatement 1039180 1039435 - VariableDeclarationList 1039180 1039434 - VariableDeclaration 1039413 1039434 - Identifier 1039413 1039421 - ArrayType 1039422 1039429 - TypeReference 1039422 1039427 - Identifier 1039422 1039427 - ArrayLiteralExpression 1039431 1039434 - VariableStatement 1039435 1039471 - VariableDeclarationList 1039435 1039470 - VariableDeclaration 1039450 1039470 - Identifier 1039450 1039457 - ArrayType 1039458 1039465 - TypeReference 1039458 1039463 - Identifier 1039458 1039463 - ArrayLiteralExpression 1039467 1039470 - ForOfStatement 1039471 1040267 - VariableDeclarationList 1039486 1039493 - VariableDeclaration 1039491 1039493 - Identifier 1039491 1039493 - Identifier 1039496 1039507 - Block 1039508 1040267 - ForOfStatement 1039510 1040256 - VariableDeclarationList 1039529 1039536 - VariableDeclaration 1039534 1039536 - Identifier 1039534 1039536 - PropertyAccessExpression 1039539 1039547 - Identifier 1039539 1039541 - Identifier 1039542 1039547 - Block 1039548 1040256 - IfStatement 1039550 1040241 - CallExpression 1039572 1039594 - Identifier 1039572 1039582 - Identifier 1039583 1039590 - Identifier 1039591 1039593 - Block 1039595 1040241 - IfStatement 1039597 1040222 - CallExpression 1039623 1039655 - Identifier 1039623 1039640 - Identifier 1039641 1039651 - Identifier 1039652 1039654 - Block 1039656 1040222 - IfStatement 1039658 1039933 - BinaryExpression 1039799 1039864 - BinaryExpression 1039799 1039835 - BinaryExpression 1039799 1039818 - Identifier 1039799 1039800 - EqualsEqualsEqualsToken 1039800 1039804 - Identifier 1039804 1039818 - AmpersandAmpersandToken 1039818 1039821 - PropertyAccessExpression 1039821 1039835 - Identifier 1039821 1039828 - Identifier 1039829 1039835 - AmpersandAmpersandToken 1039835 1039838 - BinaryExpression 1039838 1039864 - ElementAccessExpression 1039838 1039848 - Identifier 1039838 1039845 - NumericLiteral 1039846 1039847 - EqualsEqualsEqualsToken 1039848 1039852 - Identifier 1039852 1039864 - Block 1039865 1039933 - ContinueStatement 1039867 1039906 - IfStatement 1039933 1040151 - BinaryExpression 1039963 1040028 - BinaryExpression 1039963 1039997 - BinaryExpression 1039963 1039980 - Identifier 1039963 1039964 - EqualsEqualsEqualsToken 1039964 1039968 - Identifier 1039968 1039980 - AmpersandAmpersandToken 1039980 1039983 - PropertyAccessExpression 1039983 1039997 - Identifier 1039983 1039990 - Identifier 1039991 1039997 - AmpersandAmpersandToken 1039997 1040000 - BinaryExpression 1040000 1040028 - ElementAccessExpression 1040000 1040010 - Identifier 1040000 1040007 - NumericLiteral 1040008 1040009 - EqualsEqualsEqualsToken 1040010 1040014 - Identifier 1040014 1040028 - Block 1040029 1040151 - ExpressionStatement 1040031 1040085 - BinaryExpression 1040031 1040084 - ElementAccessExpression 1040031 1040070 - Identifier 1040031 1040067 - NumericLiteral 1040068 1040069 - EqualsToken 1040070 1040072 - Identifier 1040072 1040084 - ContinueStatement 1040085 1040124 - ExpressionStatement 1040151 1040199 - CallExpression 1040151 1040198 - Identifier 1040151 1040187 - Identifier 1040188 1040194 - Identifier 1040195 1040197 - ExpressionStatement 1040267 1040415 - BinaryExpression 1040267 1040414 - ElementAccessExpression 1040267 1040349 - Identifier 1040267 1040342 - Identifier 1040343 1040348 - EqualsToken 1040349 1040351 - CallExpression 1040351 1040414 - Identifier 1040351 1040378 - Identifier 1040379 1040385 - PropertyAccessExpression 1040386 1040413 - Identifier 1040386 1040398 - Identifier 1040399 1040413 - ReturnStatement 1040415 1040437 - TrueKeyword 1040431 1040436 - FunctionDeclaration 1040444 1040944 - Identifier 1040460 1040483 - Parameter 1040484 1040497 - Identifier 1040484 1040489 - ArrayType 1040490 1040497 - TypeReference 1040490 1040495 - Identifier 1040490 1040495 - Parameter 1040498 1040523 - Identifier 1040498 1040510 - TypeReference 1040511 1040523 - Identifier 1040511 1040523 - Parameter 1040524 1040545 - Identifier 1040524 1040536 - QuestionToken 1040536 1040537 - TypeReference 1040538 1040545 - Identifier 1040538 1040545 - Parameter 1040546 1040583 - Identifier 1040546 1040565 - QuestionToken 1040565 1040566 - TypeOperator 1040567 1040583 - ArrayType 1040576 1040583 - TypeReference 1040576 1040581 - Identifier 1040576 1040581 - Block 1040584 1040944 - VariableStatement 1040586 1040666 - VariableDeclarationList 1040586 1040665 - VariableDeclaration 1040601 1040665 - Identifier 1040601 1040608 - AsExpression 1040610 1040665 - CallExpression 1040610 1040645 - Identifier 1040610 1040621 - PropertyAccessExpression 1040622 1040644 - Identifier 1040622 1040631 - Identifier 1040632 1040644 - TypeReference 1040648 1040665 - Identifier 1040648 1040665 - ExpressionStatement 1040666 1040782 - BinaryExpression 1040666 1040781 - PropertyAccessExpression 1040666 1040694 - Identifier 1040666 1040682 - Identifier 1040683 1040694 - EqualsToken 1040694 1040696 - BinaryExpression 1040696 1040781 - Identifier 1040696 1040708 - BarToken 1040708 1040710 - CallExpression 1040710 1040781 - Identifier 1040710 1040737 - Identifier 1040738 1040743 - PropertyAccessExpression 1040744 1040780 - Identifier 1040744 1040771 - Identifier 1040772 1040780 - ExpressionStatement 1040782 1040813 - BinaryExpression 1040782 1040812 - PropertyAccessExpression 1040782 1040804 - Identifier 1040782 1040798 - Identifier 1040799 1040804 - EqualsToken 1040804 1040806 - Identifier 1040806 1040812 - ExpressionStatement 1040813 1040856 - BinaryExpression 1040813 1040855 - PropertyAccessExpression 1040813 1040841 - Identifier 1040813 1040829 - Identifier 1040830 1040841 - EqualsToken 1040841 1040843 - Identifier 1040843 1040855 - ExpressionStatement 1040856 1040913 - BinaryExpression 1040856 1040912 - PropertyAccessExpression 1040856 1040891 - Identifier 1040856 1040872 - Identifier 1040873 1040891 - EqualsToken 1040891 1040893 - Identifier 1040893 1040912 - ReturnStatement 1040913 1040937 - Identifier 1040929 1040936 - FunctionDeclaration 1040944 1052366 - Identifier 1041942 1041962 - Parameter 1041963 1041985 - Identifier 1041963 1041968 - TypeOperator 1041969 1041985 - ArrayType 1041978 1041985 - TypeReference 1041978 1041983 - Identifier 1041978 1041983 - Parameter 1041986 1042017 - Identifier 1041986 1041992 - PropertyAccessExpression 1041994 1042017 - Identifier 1041994 1042012 - Identifier 1042013 1042017 - Parameter 1042018 1042039 - Identifier 1042018 1042030 - QuestionToken 1042030 1042031 - TypeReference 1042032 1042039 - Identifier 1042032 1042039 - Parameter 1042040 1042077 - Identifier 1042040 1042059 - QuestionToken 1042059 1042060 - TypeOperator 1042061 1042077 - ArrayType 1042070 1042077 - TypeReference 1042070 1042075 - Identifier 1042070 1042075 - TypeReference 1042079 1042084 - Identifier 1042079 1042084 - Block 1042084 1052366 - VariableStatement 1042086 1042146 - VariableDeclarationList 1042086 1042145 - VariableDeclaration 1042101 1042145 - Identifier 1042101 1042119 - NewExpression 1042121 1042145 - Identifier 1042125 1042129 - StringKeyword 1042130 1042136 - TypeReference 1042137 1042142 - Identifier 1042137 1042142 - VariableStatement 1042146 1042238 - VariableDeclarationList 1042146 1042237 - VariableDeclaration 1042161 1042237 - Identifier 1042161 1042170 - CallExpression 1042172 1042237 - Identifier 1042172 1042195 - Identifier 1042196 1042213 - AsExpression 1042214 1042229 - NumericLiteral 1042214 1042216 - TypeReference 1042219 1042229 - Identifier 1042219 1042229 - Identifier 1042230 1042236 - VariableStatement 1042238 1042310 - VariableDeclarationList 1042238 1042309 - VariableDeclaration 1042253 1042309 - Identifier 1042253 1042261 - ArrayType 1042262 1042269 - TypeReference 1042262 1042267 - Identifier 1042262 1042267 - CallExpression 1042271 1042309 - Identifier 1042271 1042281 - CallExpression 1042282 1042308 - PropertyAccessExpression 1042282 1042306 - Identifier 1042282 1042299 - Identifier 1042300 1042306 - VariableStatement 1042310 1042355 - VariableDeclarationList 1042310 1042354 - VariableDeclaration 1042323 1042354 - Identifier 1042323 1042335 - PropertyAccessExpression 1042337 1042354 - Identifier 1042337 1042349 - Identifier 1042350 1042354 - IfStatement 1042355 1043064 - BinaryExpression 1042938 1042964 - Identifier 1042938 1042946 - AmpersandToken 1042946 1042948 - PropertyAccessExpression 1042948 1042964 - Identifier 1042948 1042958 - Identifier 1042959 1042964 - Block 1042965 1043064 - ReturnStatement 1042967 1043053 - ConditionalExpression 1042987 1043052 - CallExpression 1042987 1043022 - Identifier 1042987 1042996 - Identifier 1042997 1043004 - Identifier 1043005 1043021 - QuestionToken 1043022 1043024 - Identifier 1043024 1043040 - ColonToken 1043040 1043042 - Identifier 1043042 1043052 - IfStatement 1043064 1043974 - BinaryExpression 1043078 1043919 - BinaryExpression 1043078 1043809 - BinaryExpression 1043078 1043691 - BinaryExpression 1043078 1043577 - BinaryExpression 1043078 1043463 - BinaryExpression 1043078 1043349 - BinaryExpression 1043078 1043231 - BinaryExpression 1043078 1043141 - Identifier 1043078 1043108 - AmpersandAmpersandToken 1043108 1043111 - BinaryExpression 1043111 1043141 - Identifier 1043111 1043120 - AmpersandToken 1043120 1043122 - PropertyAccessExpression 1043122 1043141 - Identifier 1043122 1043132 - Identifier 1043133 1043141 - AmpersandAmpersandToken 1043141 1043144 - BinaryExpression 1043144 1043231 - Identifier 1043144 1043153 - AmpersandToken 1043153 1043155 - ParenthesizedExpression 1043155 1043231 - BinaryExpression 1043157 1043230 - BinaryExpression 1043157 1043198 - PropertyAccessExpression 1043157 1043173 - Identifier 1043157 1043166 - Identifier 1043167 1043173 - BarToken 1043173 1043175 - PropertyAccessExpression 1043175 1043198 - Identifier 1043175 1043185 - Identifier 1043186 1043198 - BarToken 1043198 1043200 - PropertyAccessExpression 1043200 1043230 - Identifier 1043200 1043210 - Identifier 1043211 1043230 - BarBarToken 1043231 1043234 - BinaryExpression 1043234 1043349 - BinaryExpression 1043234 1043281 - Identifier 1043234 1043256 - AmpersandToken 1043256 1043258 - PropertyAccessExpression 1043258 1043281 - Identifier 1043258 1043268 - Identifier 1043269 1043281 - AmpersandAmpersandToken 1043281 1043284 - BinaryExpression 1043284 1043349 - Identifier 1043284 1043293 - AmpersandToken 1043293 1043295 - ParenthesizedExpression 1043295 1043349 - BinaryExpression 1043297 1043348 - PropertyAccessExpression 1043297 1043322 - Identifier 1043297 1043306 - Identifier 1043307 1043322 - AmpersandToken 1043322 1043324 - PrefixUnaryExpression 1043324 1043348 - PropertyAccessExpression 1043326 1043348 - Identifier 1043326 1043335 - Identifier 1043336 1043348 - BarBarToken 1043349 1043352 - BinaryExpression 1043352 1043463 - BinaryExpression 1043352 1043397 - Identifier 1043352 1043374 - AmpersandToken 1043374 1043376 - PropertyAccessExpression 1043376 1043397 - Identifier 1043376 1043386 - Identifier 1043387 1043397 - AmpersandAmpersandToken 1043397 1043400 - BinaryExpression 1043400 1043463 - Identifier 1043400 1043409 - AmpersandToken 1043409 1043411 - ParenthesizedExpression 1043411 1043463 - BinaryExpression 1043413 1043462 - PropertyAccessExpression 1043413 1043438 - Identifier 1043413 1043422 - Identifier 1043423 1043438 - AmpersandToken 1043438 1043440 - PrefixUnaryExpression 1043440 1043462 - PropertyAccessExpression 1043442 1043462 - Identifier 1043442 1043451 - Identifier 1043452 1043462 - BarBarToken 1043463 1043466 - BinaryExpression 1043466 1043577 - BinaryExpression 1043466 1043511 - Identifier 1043466 1043488 - AmpersandToken 1043488 1043490 - PropertyAccessExpression 1043490 1043511 - Identifier 1043490 1043500 - Identifier 1043501 1043511 - AmpersandAmpersandToken 1043511 1043514 - BinaryExpression 1043514 1043577 - Identifier 1043514 1043523 - AmpersandToken 1043523 1043525 - ParenthesizedExpression 1043525 1043577 - BinaryExpression 1043527 1043576 - PropertyAccessExpression 1043527 1043552 - Identifier 1043527 1043536 - Identifier 1043537 1043552 - AmpersandToken 1043552 1043554 - PrefixUnaryExpression 1043554 1043576 - PropertyAccessExpression 1043556 1043576 - Identifier 1043556 1043565 - Identifier 1043566 1043576 - BarBarToken 1043577 1043580 - BinaryExpression 1043580 1043691 - BinaryExpression 1043580 1043625 - Identifier 1043580 1043602 - AmpersandToken 1043602 1043604 - PropertyAccessExpression 1043604 1043625 - Identifier 1043604 1043614 - Identifier 1043615 1043625 - AmpersandAmpersandToken 1043625 1043628 - BinaryExpression 1043628 1043691 - Identifier 1043628 1043637 - AmpersandToken 1043637 1043639 - ParenthesizedExpression 1043639 1043691 - BinaryExpression 1043641 1043690 - PropertyAccessExpression 1043641 1043666 - Identifier 1043641 1043650 - Identifier 1043651 1043666 - AmpersandToken 1043666 1043668 - PrefixUnaryExpression 1043668 1043690 - PropertyAccessExpression 1043670 1043690 - Identifier 1043670 1043679 - Identifier 1043680 1043690 - BarBarToken 1043691 1043694 - BinaryExpression 1043694 1043809 - BinaryExpression 1043694 1043741 - Identifier 1043694 1043716 - AmpersandToken 1043716 1043718 - PropertyAccessExpression 1043718 1043741 - Identifier 1043718 1043728 - Identifier 1043729 1043741 - AmpersandAmpersandToken 1043741 1043744 - BinaryExpression 1043744 1043809 - Identifier 1043744 1043753 - AmpersandToken 1043753 1043755 - ParenthesizedExpression 1043755 1043809 - BinaryExpression 1043757 1043808 - PropertyAccessExpression 1043757 1043782 - Identifier 1043757 1043766 - Identifier 1043767 1043782 - AmpersandToken 1043782 1043784 - PrefixUnaryExpression 1043784 1043808 - PropertyAccessExpression 1043786 1043808 - Identifier 1043786 1043795 - Identifier 1043796 1043808 - BarBarToken 1043809 1043812 - BinaryExpression 1043812 1043919 - BinaryExpression 1043812 1043855 - Identifier 1043812 1043834 - AmpersandToken 1043834 1043836 - PropertyAccessExpression 1043836 1043855 - Identifier 1043836 1043846 - Identifier 1043847 1043855 - AmpersandAmpersandToken 1043855 1043858 - BinaryExpression 1043858 1043919 - Identifier 1043858 1043867 - AmpersandToken 1043867 1043869 - ParenthesizedExpression 1043869 1043919 - BinaryExpression 1043871 1043918 - PropertyAccessExpression 1043871 1043896 - Identifier 1043871 1043880 - Identifier 1043881 1043896 - AmpersandToken 1043896 1043898 - PrefixUnaryExpression 1043898 1043918 - PropertyAccessExpression 1043900 1043918 - Identifier 1043900 1043909 - Identifier 1043910 1043918 - Block 1043930 1043974 - ReturnStatement 1043932 1043963 - Identifier 1043952 1043962 - IfStatement 1043974 1044180 - BinaryExpression 1043988 1044135 - BinaryExpression 1043988 1044090 - BinaryExpression 1043988 1044052 - Identifier 1043988 1043996 - AmpersandToken 1043996 1043998 - ParenthesizedExpression 1043998 1044052 - BinaryExpression 1044000 1044051 - PropertyAccessExpression 1044000 1044025 - Identifier 1044000 1044009 - Identifier 1044010 1044025 - BarToken 1044025 1044027 - PropertyAccessExpression 1044027 1044051 - Identifier 1044027 1044037 - Identifier 1044038 1044051 - AmpersandAmpersandToken 1044052 1044055 - BinaryExpression 1044055 1044090 - Identifier 1044055 1044064 - AmpersandToken 1044064 1044066 - PropertyAccessExpression 1044066 1044090 - Identifier 1044066 1044076 - Identifier 1044077 1044090 - AmpersandAmpersandToken 1044090 1044093 - CallExpression 1044093 1044135 - Identifier 1044093 1044126 - Identifier 1044127 1044134 - Block 1044136 1044180 - ReturnStatement 1044138 1044169 - Identifier 1044158 1044168 - IfStatement 1044180 1044365 - BinaryExpression 1044194 1044218 - Identifier 1044194 1044202 - AmpersandToken 1044202 1044204 - PropertyAccessExpression 1044204 1044218 - Identifier 1044204 1044214 - Identifier 1044215 1044218 - Block 1044219 1044365 - ReturnStatement 1044221 1044354 - ConditionalExpression 1044241 1044353 - BinaryExpression 1044241 1044279 - Identifier 1044241 1044250 - AmpersandToken 1044250 1044252 - PropertyAccessExpression 1044252 1044279 - Identifier 1044252 1044262 - Identifier 1044263 1044279 - QuestionToken 1044279 1044281 - Identifier 1044281 1044294 - ColonToken 1044294 1044296 - ConditionalExpression 1044296 1044353 - BinaryExpression 1044296 1044331 - Identifier 1044296 1044305 - AmpersandToken 1044305 1044307 - PropertyAccessExpression 1044307 1044331 - Identifier 1044307 1044317 - Identifier 1044318 1044331 - QuestionToken 1044331 1044333 - Identifier 1044333 1044343 - ColonToken 1044343 1044345 - Identifier 1044345 1044353 - IfStatement 1044365 1044577 - BinaryExpression 1044379 1044429 - PrefixUnaryExpression 1044379 1044396 - Identifier 1044380 1044396 - AmpersandAmpersandToken 1044396 1044399 - BinaryExpression 1044399 1044429 - Identifier 1044399 1044408 - AmpersandToken 1044408 1044410 - PropertyAccessExpression 1044410 1044429 - Identifier 1044410 1044420 - Identifier 1044421 1044429 - Block 1044430 1044577 - ReturnStatement 1044432 1044566 - ConditionalExpression 1044452 1044565 - BinaryExpression 1044452 1044493 - Identifier 1044452 1044461 - AmpersandToken 1044461 1044463 - PropertyAccessExpression 1044463 1044493 - Identifier 1044463 1044473 - Identifier 1044474 1044493 - QuestionToken 1044493 1044495 - Identifier 1044495 1044505 - ColonToken 1044505 1044507 - ConditionalExpression 1044507 1044565 - BinaryExpression 1044507 1044538 - Identifier 1044507 1044516 - AmpersandToken 1044516 1044518 - PropertyAccessExpression 1044518 1044538 - Identifier 1044518 1044528 - Identifier 1044529 1044538 - QuestionToken 1044538 1044540 - Identifier 1044540 1044554 - ColonToken 1044554 1044556 - Identifier 1044556 1044565 - IfStatement 1044577 1045292 - BinaryExpression 1044591 1045154 - BinaryExpression 1044591 1045051 - BinaryExpression 1044591 1044975 - BinaryExpression 1044591 1044890 - BinaryExpression 1044591 1044808 - BinaryExpression 1044591 1044726 - BinaryExpression 1044591 1044632 - Identifier 1044591 1044613 - AmpersandToken 1044613 1044615 - PropertyAccessExpression 1044615 1044632 - Identifier 1044615 1044625 - Identifier 1044626 1044632 - AmpersandAmpersandToken 1044632 1044635 - BinaryExpression 1044635 1044726 - Identifier 1044635 1044644 - AmpersandToken 1044644 1044646 - ParenthesizedExpression 1044646 1044726 - BinaryExpression 1044648 1044725 - BinaryExpression 1044648 1044699 - PropertyAccessExpression 1044648 1044671 - Identifier 1044648 1044657 - Identifier 1044658 1044671 - BarToken 1044671 1044673 - PropertyAccessExpression 1044673 1044699 - Identifier 1044673 1044683 - Identifier 1044684 1044699 - BarToken 1044699 1044701 - PropertyAccessExpression 1044701 1044725 - Identifier 1044701 1044711 - Identifier 1044712 1044725 - BarBarToken 1044726 1044729 - BinaryExpression 1044729 1044808 - BinaryExpression 1044729 1044770 - Identifier 1044729 1044751 - AmpersandToken 1044751 1044753 - PropertyAccessExpression 1044753 1044770 - Identifier 1044753 1044763 - Identifier 1044764 1044770 - AmpersandAmpersandToken 1044770 1044773 - BinaryExpression 1044773 1044808 - Identifier 1044773 1044782 - AmpersandToken 1044782 1044784 - PropertyAccessExpression 1044784 1044808 - Identifier 1044784 1044794 - Identifier 1044795 1044808 - BarBarToken 1044808 1044811 - BinaryExpression 1044811 1044890 - BinaryExpression 1044811 1044852 - Identifier 1044811 1044833 - AmpersandToken 1044833 1044835 - PropertyAccessExpression 1044835 1044852 - Identifier 1044835 1044845 - Identifier 1044846 1044852 - AmpersandAmpersandToken 1044852 1044855 - BinaryExpression 1044855 1044890 - Identifier 1044855 1044864 - AmpersandToken 1044864 1044866 - PropertyAccessExpression 1044866 1044890 - Identifier 1044866 1044876 - Identifier 1044877 1044890 - BarBarToken 1044890 1044893 - BinaryExpression 1044893 1044975 - BinaryExpression 1044893 1044936 - Identifier 1044893 1044915 - AmpersandToken 1044915 1044917 - PropertyAccessExpression 1044917 1044936 - Identifier 1044917 1044927 - Identifier 1044928 1044936 - AmpersandAmpersandToken 1044936 1044939 - BinaryExpression 1044939 1044975 - Identifier 1044939 1044948 - AmpersandToken 1044948 1044950 - PropertyAccessExpression 1044950 1044975 - Identifier 1044950 1044960 - Identifier 1044961 1044975 - BarBarToken 1044975 1044978 - BinaryExpression 1044978 1045051 - BinaryExpression 1044978 1045017 - Identifier 1044978 1045000 - AmpersandToken 1045000 1045002 - PropertyAccessExpression 1045002 1045017 - Identifier 1045002 1045012 - Identifier 1045013 1045017 - AmpersandAmpersandToken 1045017 1045020 - BinaryExpression 1045020 1045051 - Identifier 1045020 1045029 - AmpersandToken 1045029 1045031 - PropertyAccessExpression 1045031 1045051 - Identifier 1045031 1045041 - Identifier 1045042 1045051 - BarBarToken 1045051 1045054 - BinaryExpression 1045054 1045154 - BinaryExpression 1045054 1045108 - Identifier 1045054 1045076 - AmpersandToken 1045076 1045078 - PropertyAccessExpression 1045078 1045108 - Identifier 1045078 1045088 - Identifier 1045089 1045108 - AmpersandAmpersandToken 1045108 1045111 - BinaryExpression 1045111 1045154 - Identifier 1045111 1045120 - AmpersandToken 1045120 1045122 - PropertyAccessExpression 1045122 1045154 - Identifier 1045122 1045132 - Identifier 1045133 1045154 - Block 1045165 1045292 - IfStatement 1045167 1045281 - PrefixUnaryExpression 1045185 1045234 - ParenthesizedExpression 1045186 1045234 - BinaryExpression 1045187 1045233 - Identifier 1045187 1045192 - AmpersandToken 1045192 1045194 - PropertyAccessExpression 1045194 1045233 - Identifier 1045194 1045212 - Identifier 1045213 1045233 - ExpressionStatement 1045235 1045281 - CallExpression 1045235 1045280 - Identifier 1045235 1045261 - Identifier 1045262 1045269 - Identifier 1045270 1045279 - IfStatement 1045292 1045428 - BinaryExpression 1045306 1045346 - Identifier 1045306 1045314 - AmpersandToken 1045314 1045316 - PropertyAccessExpression 1045316 1045346 - Identifier 1045316 1045326 - Identifier 1045327 1045346 - Block 1045347 1045428 - ExpressionStatement 1045349 1045417 - BinaryExpression 1045349 1045416 - ElementAccessExpression 1045349 1045402 - Identifier 1045349 1045370 - CallExpression 1045371 1045401 - PropertyAccessExpression 1045371 1045386 - Identifier 1045371 1045378 - Identifier 1045379 1045386 - Identifier 1045387 1045400 - EqualsToken 1045402 1045404 - Identifier 1045404 1045416 - IfStatement 1045428 1045509 - BinaryExpression 1045442 1045462 - PropertyAccessExpression 1045442 1045456 - Identifier 1045442 1045449 - Identifier 1045450 1045456 - EqualsEqualsEqualsToken 1045456 1045460 - NumericLiteral 1045460 1045462 - Block 1045463 1045509 - ReturnStatement 1045465 1045498 - Identifier 1045485 1045497 - IfStatement 1045509 1045589 - BinaryExpression 1045523 1045543 - PropertyAccessExpression 1045523 1045537 - Identifier 1045523 1045530 - Identifier 1045531 1045537 - EqualsEqualsEqualsToken 1045537 1045541 - NumericLiteral 1045541 1045543 - Block 1045544 1045589 - ReturnStatement 1045546 1045578 - ElementAccessExpression 1045566 1045577 - Identifier 1045566 1045574 - NumericLiteral 1045575 1045576 - IfStatement 1045589 1048242 - BinaryExpression 1045603 1045677 - BinaryExpression 1045603 1045623 - PropertyAccessExpression 1045603 1045617 - Identifier 1045603 1045610 - Identifier 1045611 1045617 - EqualsEqualsEqualsToken 1045617 1045621 - NumericLiteral 1045621 1045623 - AmpersandAmpersandToken 1045623 1045626 - PrefixUnaryExpression 1045626 1045677 - ParenthesizedExpression 1045628 1045677 - BinaryExpression 1045629 1045676 - Identifier 1045629 1045634 - AmpersandToken 1045634 1045636 - PropertyAccessExpression 1045636 1045676 - Identifier 1045636 1045654 - Identifier 1045655 1045676 - Block 1045678 1048242 - VariableStatement 1045680 1045765 - VariableDeclarationList 1045680 1045764 - VariableDeclaration 1045699 1045764 - Identifier 1045699 1045712 - ConditionalExpression 1045714 1045764 - BinaryExpression 1045714 1045756 - PropertyAccessExpression 1045714 1045731 - ElementAccessExpression 1045714 1045725 - Identifier 1045714 1045722 - NumericLiteral 1045723 1045724 - Identifier 1045726 1045731 - AmpersandToken 1045731 1045733 - PropertyAccessExpression 1045733 1045756 - Identifier 1045733 1045743 - Identifier 1045744 1045756 - QuestionToken 1045756 1045758 - NumericLiteral 1045758 1045760 - ColonToken 1045760 1045762 - NumericLiteral 1045762 1045764 - VariableStatement 1045765 1045822 - VariableDeclarationList 1045765 1045821 - VariableDeclaration 1045784 1045821 - Identifier 1045784 1045797 - ElementAccessExpression 1045799 1045821 - Identifier 1045799 1045807 - Identifier 1045808 1045820 - VariableStatement 1045822 1045884 - VariableDeclarationList 1045822 1045883 - VariableDeclaration 1045841 1045883 - Identifier 1045841 1045855 - ElementAccessExpression 1045857 1045883 - Identifier 1045857 1045865 - BinaryExpression 1045866 1045882 - NumericLiteral 1045866 1045867 - MinusToken 1045867 1045869 - Identifier 1045869 1045882 - IfStatement 1045884 1048231 - BinaryExpression 1045902 1046141 - BinaryExpression 1045902 1045963 - PropertyAccessExpression 1045902 1045938 - Identifier 1045902 1045932 - Identifier 1045933 1045938 - AmpersandToken 1045938 1045940 - PropertyAccessExpression 1045940 1045963 - Identifier 1045940 1045950 - Identifier 1045951 1045963 - AmpersandAmpersandToken 1045963 1045966 - ParenthesizedExpression 1045966 1046141 - BinaryExpression 1045985 1046140 - BinaryExpression 1045985 1046096 - BinaryExpression 1045985 1046053 - PropertyAccessExpression 1045985 1046004 - Identifier 1045985 1045998 - Identifier 1045999 1046004 - AmpersandToken 1046004 1046006 - ParenthesizedExpression 1046006 1046053 - BinaryExpression 1046008 1046052 - PropertyAccessExpression 1046008 1046027 - Identifier 1046008 1046017 - Identifier 1046018 1046027 - BarToken 1046027 1046029 - PropertyAccessExpression 1046029 1046052 - Identifier 1046029 1046039 - Identifier 1046040 1046052 - AmpersandAmpersandToken 1046053 1046056 - PrefixUnaryExpression 1046056 1046096 - CallExpression 1046058 1046096 - Identifier 1046058 1046081 - Identifier 1046082 1046095 - BarBarToken 1046096 1046099 - BinaryExpression 1046099 1046140 - Identifier 1046099 1046108 - AmpersandToken 1046108 1046110 - PropertyAccessExpression 1046110 1046140 - Identifier 1046110 1046120 - Identifier 1046121 1046140 - Block 1046156 1048231 - VariableStatement 1046158 1046371 - VariableDeclarationList 1046158 1046370 - VariableDeclaration 1046319 1046370 - Identifier 1046319 1046330 - CallExpression 1046332 1046370 - Identifier 1046332 1046356 - Identifier 1046357 1046369 - IfStatement 1046371 1048216 - BinaryExpression 1046505 1046640 - Identifier 1046505 1046515 - AmpersandAmpersandToken 1046515 1046518 - CallExpression 1046518 1046640 - Identifier 1046518 1046528 - Identifier 1046529 1046539 - ArrowFunction 1046540 1046639 - Parameter 1046540 1046542 - Identifier 1046540 1046542 - EqualsGreaterThanToken 1046542 1046545 - BinaryExpression 1046545 1046639 - PrefixUnaryExpression 1046545 1046606 - PrefixUnaryExpression 1046547 1046606 - ParenthesizedExpression 1046548 1046606 - BinaryExpression 1046549 1046605 - PropertyAccessExpression 1046549 1046556 - Identifier 1046549 1046550 - Identifier 1046551 1046556 - AmpersandToken 1046556 1046558 - ParenthesizedExpression 1046558 1046605 - BinaryExpression 1046560 1046604 - PropertyAccessExpression 1046560 1046579 - Identifier 1046560 1046569 - Identifier 1046570 1046579 - BarToken 1046579 1046581 - PropertyAccessExpression 1046581 1046604 - Identifier 1046581 1046591 - Identifier 1046592 1046604 - BarBarToken 1046606 1046609 - CallExpression 1046609 1046639 - Identifier 1046609 1046636 - Identifier 1046637 1046638 - Block 1046641 1048216 - IfStatement 1046643 1046982 - CallExpression 1046862 1046910 - Identifier 1046862 1046883 - Identifier 1046884 1046894 - Identifier 1046895 1046909 - Block 1046911 1046982 - ReturnStatement 1046913 1046959 - Identifier 1046945 1046958 - IfStatement 1046982 1047649 - PrefixUnaryExpression 1047008 1047115 - ParenthesizedExpression 1047009 1047115 - BinaryExpression 1047010 1047114 - BinaryExpression 1047010 1047044 - PropertyAccessExpression 1047010 1047026 - Identifier 1047010 1047020 - Identifier 1047021 1047026 - AmpersandToken 1047026 1047028 - PropertyAccessExpression 1047028 1047044 - Identifier 1047028 1047038 - Identifier 1047039 1047044 - AmpersandAmpersandToken 1047044 1047047 - CallExpression 1047047 1047114 - Identifier 1047047 1047056 - Identifier 1047057 1047067 - ArrowFunction 1047068 1047113 - Parameter 1047068 1047070 - Identifier 1047068 1047070 - EqualsGreaterThanToken 1047070 1047073 - CallExpression 1047073 1047113 - Identifier 1047073 1047095 - Identifier 1047096 1047097 - Identifier 1047098 1047112 - Block 1047116 1047649 - IfStatement 1047118 1047626 - PrefixUnaryExpression 1047500 1047549 - CallExpression 1047501 1047549 - Identifier 1047501 1047522 - Identifier 1047523 1047536 - Identifier 1047537 1047548 - Block 1047550 1047626 - ReturnStatement 1047552 1047599 - Identifier 1047588 1047598 - ExpressionStatement 1047649 1048197 - BinaryExpression 1047649 1048196 - Identifier 1047649 1048156 - EqualsToken 1048156 1048158 - PropertyAccessExpression 1048158 1048196 - Identifier 1048158 1048170 - Identifier 1048171 1048196 - VariableStatement 1048242 1048390 - VariableDeclarationList 1048242 1048389 - VariableDeclaration 1048257 1048389 - Identifier 1048257 1048260 - BinaryExpression 1048262 1048389 - CallExpression 1048262 1048285 - Identifier 1048262 1048276 - Identifier 1048277 1048284 - PlusToken 1048285 1048287 - ParenthesizedExpression 1048287 1048389 - ConditionalExpression 1048289 1048388 - BinaryExpression 1048289 1048336 - Identifier 1048289 1048294 - AmpersandToken 1048294 1048296 - PropertyAccessExpression 1048296 1048336 - Identifier 1048296 1048314 - Identifier 1048315 1048336 - QuestionToken 1048336 1048338 - StringLiteral 1048338 1048342 - ColonToken 1048342 1048344 - CallExpression 1048344 1048388 - Identifier 1048344 1048355 - Identifier 1048356 1048367 - Identifier 1048368 1048387 - VariableStatement 1048390 1048439 - VariableDeclarationList 1048390 1048438 - VariableDeclaration 1048403 1048438 - Identifier 1048403 1048410 - CallExpression 1048412 1048438 - PropertyAccessExpression 1048412 1048434 - Identifier 1048412 1048430 - Identifier 1048431 1048434 - Identifier 1048435 1048437 - IfStatement 1048439 1052335 - PrefixUnaryExpression 1048453 1048460 - Identifier 1048454 1048460 - Block 1048461 1052335 - IfStatement 1048463 1052276 - BinaryExpression 1048481 1048507 - Identifier 1048481 1048489 - AmpersandToken 1048489 1048491 - PropertyAccessExpression 1048491 1048507 - Identifier 1048491 1048501 - Identifier 1048502 1048507 - Block 1048508 1052136 - IfStatement 1048510 1052121 - CallExpression 1048532 1048572 - Identifier 1048532 1048563 - Identifier 1048564 1048571 - Block 1048573 1049007 - ExpressionStatement 1048575 1048988 - BinaryExpression 1048575 1048987 - Identifier 1048575 1048916 - EqualsToken 1048916 1048918 - CallExpression 1048918 1048987 - Identifier 1048918 1048938 - Identifier 1048939 1048946 - Identifier 1048947 1048953 - Identifier 1048954 1048966 - Identifier 1048967 1048986 - IfStatement 1049029 1052121 - CallExpression 1049034 1049141 - Identifier 1049034 1049039 - Identifier 1049040 1049047 - ArrowFunction 1049048 1049140 - Parameter 1049048 1049050 - Identifier 1049048 1049050 - EqualsGreaterThanToken 1049050 1049053 - PrefixUnaryExpression 1049053 1049140 - PrefixUnaryExpression 1049055 1049140 - ParenthesizedExpression 1049056 1049140 - BinaryExpression 1049057 1049139 - BinaryExpression 1049057 1049082 - PropertyAccessExpression 1049057 1049064 - Identifier 1049057 1049058 - Identifier 1049059 1049064 - AmpersandToken 1049064 1049066 - PropertyAccessExpression 1049066 1049082 - Identifier 1049066 1049076 - Identifier 1049077 1049082 - AmpersandAmpersandToken 1049082 1049085 - BinaryExpression 1049085 1049139 - PropertyAccessExpression 1049085 1049117 - ElementAccessExpression 1049085 1049111 - PropertyAccessExpression 1049085 1049108 - ParenthesizedExpression 1049085 1049102 - AsExpression 1049087 1049101 - Identifier 1049087 1049088 - TypeReference 1049091 1049101 - Identifier 1049091 1049101 - Identifier 1049103 1049108 - NumericLiteral 1049109 1049110 - Identifier 1049112 1049117 - AmpersandToken 1049117 1049119 - PropertyAccessExpression 1049119 1049139 - Identifier 1049119 1049129 - Identifier 1049130 1049139 - Block 1049142 1049512 - VariableStatement 1049144 1049262 - VariableDeclarationList 1049144 1049261 - VariableDeclaration 1049171 1049261 - Identifier 1049171 1049194 - ConditionalExpression 1049196 1049261 - CallExpression 1049196 1049231 - Identifier 1049196 1049201 - Identifier 1049202 1049209 - Identifier 1049210 1049230 - QuestionToken 1049231 1049233 - Identifier 1049233 1049245 - ColonToken 1049245 1049247 - Identifier 1049247 1049261 - ExpressionStatement 1049262 1049329 - CallExpression 1049262 1049328 - Identifier 1049262 1049298 - Identifier 1049299 1049306 - PropertyAccessExpression 1049307 1049327 - Identifier 1049307 1049317 - Identifier 1049318 1049327 - ExpressionStatement 1049329 1049493 - BinaryExpression 1049329 1049492 - Identifier 1049329 1049357 - EqualsToken 1049357 1049359 - CallExpression 1049359 1049492 - Identifier 1049359 1049372 - ArrayLiteralExpression 1049373 1049434 - CallExpression 1049374 1049409 - Identifier 1049374 1049393 - Identifier 1049394 1049401 - Identifier 1049402 1049408 - Identifier 1049410 1049433 - PropertyAccessExpression 1049435 1049458 - Identifier 1049435 1049450 - Identifier 1049451 1049458 - Identifier 1049459 1049471 - Identifier 1049472 1049491 - IfStatement 1049534 1052121 - CallExpression 1049539 1049695 - Identifier 1049539 1049544 - Identifier 1049545 1049552 - ArrowFunction 1049553 1049694 - Parameter 1049553 1049555 - Identifier 1049553 1049555 - EqualsGreaterThanToken 1049555 1049558 - PrefixUnaryExpression 1049558 1049694 - PrefixUnaryExpression 1049560 1049694 - ParenthesizedExpression 1049561 1049694 - BinaryExpression 1049562 1049693 - BinaryExpression 1049562 1049587 - PropertyAccessExpression 1049562 1049569 - Identifier 1049562 1049563 - Identifier 1049564 1049569 - AmpersandToken 1049569 1049571 - PropertyAccessExpression 1049571 1049587 - Identifier 1049571 1049581 - Identifier 1049582 1049587 - AmpersandAmpersandToken 1049587 1049590 - ParenthesizedExpression 1049590 1049693 - BinaryExpression 1049592 1049692 - BinaryExpression 1049592 1049640 - PropertyAccessExpression 1049592 1049623 - ElementAccessExpression 1049592 1049617 - PropertyAccessExpression 1049592 1049614 - ParenthesizedExpression 1049592 1049608 - AsExpression 1049593 1049607 - Identifier 1049593 1049594 - TypeReference 1049597 1049607 - Identifier 1049597 1049607 - Identifier 1049609 1049614 - NumericLiteral 1049615 1049616 - Identifier 1049618 1049623 - AmpersandToken 1049623 1049625 - PropertyAccessExpression 1049625 1049640 - Identifier 1049625 1049635 - Identifier 1049636 1049640 - BarBarToken 1049640 1049643 - BinaryExpression 1049643 1049692 - PropertyAccessExpression 1049643 1049675 - ElementAccessExpression 1049643 1049669 - PropertyAccessExpression 1049643 1049666 - ParenthesizedExpression 1049643 1049660 - AsExpression 1049645 1049659 - Identifier 1049645 1049646 - TypeReference 1049649 1049659 - Identifier 1049649 1049659 - Identifier 1049661 1049666 - NumericLiteral 1049667 1049668 - Identifier 1049670 1049675 - AmpersandToken 1049675 1049677 - PropertyAccessExpression 1049677 1049692 - Identifier 1049677 1049687 - Identifier 1049688 1049692 - Block 1049696 1049929 - ExpressionStatement 1049698 1049760 - CallExpression 1049698 1049759 - Identifier 1049698 1049734 - Identifier 1049735 1049742 - PropertyAccessExpression 1049743 1049758 - Identifier 1049743 1049753 - Identifier 1049754 1049758 - ExpressionStatement 1049760 1049910 - BinaryExpression 1049760 1049909 - Identifier 1049760 1049788 - EqualsToken 1049788 1049790 - CallExpression 1049790 1049909 - Identifier 1049790 1049803 - ArrayLiteralExpression 1049804 1049851 - CallExpression 1049805 1049840 - Identifier 1049805 1049824 - Identifier 1049825 1049832 - Identifier 1049833 1049839 - Identifier 1049841 1049850 - PropertyAccessExpression 1049852 1049875 - Identifier 1049852 1049867 - Identifier 1049868 1049875 - Identifier 1049876 1049888 - Identifier 1049889 1049908 - IfStatement 1049951 1052121 - BinaryExpression 1049956 1049995 - BinaryExpression 1049956 1049975 - PropertyAccessExpression 1049956 1049970 - Identifier 1049956 1049963 - Identifier 1049964 1049970 - GreaterThanEqualsToken 1049970 1049973 - NumericLiteral 1049973 1049975 - AmpersandAmpersandToken 1049975 1049978 - BinaryExpression 1049978 1049995 - PropertyAccessExpression 1049978 1049991 - Identifier 1049978 1049984 - Identifier 1049985 1049991 - GreaterThanToken 1049991 1049993 - NumericLiteral 1049993 1049995 - Block 1049996 1050805 - VariableStatement 1049998 1050588 - VariableDeclarationList 1049998 1050587 - VariableDeclaration 1050547 1050587 - Identifier 1050547 1050554 - CallExpression 1050556 1050587 - PropertyAccessExpression 1050556 1050567 - Identifier 1050556 1050561 - Identifier 1050562 1050567 - BinaryExpression 1050568 1050586 - PropertyAccessExpression 1050568 1050582 - Identifier 1050568 1050575 - Identifier 1050576 1050582 - SlashToken 1050582 1050584 - NumericLiteral 1050584 1050586 - ExpressionStatement 1050588 1050786 - BinaryExpression 1050588 1050785 - Identifier 1050588 1050616 - EqualsToken 1050616 1050618 - CallExpression 1050618 1050785 - Identifier 1050618 1050638 - ArrayLiteralExpression 1050639 1050744 - CallExpression 1050640 1050692 - Identifier 1050640 1050659 - CallExpression 1050660 1050684 - PropertyAccessExpression 1050660 1050673 - Identifier 1050660 1050667 - Identifier 1050668 1050673 - NumericLiteral 1050674 1050675 - Identifier 1050676 1050683 - Identifier 1050685 1050691 - CallExpression 1050693 1050743 - Identifier 1050693 1050713 - CallExpression 1050714 1050735 - PropertyAccessExpression 1050714 1050727 - Identifier 1050714 1050721 - Identifier 1050722 1050727 - Identifier 1050728 1050734 - Identifier 1050736 1050742 - Identifier 1050745 1050751 - Identifier 1050752 1050764 - Identifier 1050765 1050784 - Block 1050827 1052121 - IfStatement 1050829 1051283 - PrefixUnaryExpression 1051182 1051214 - CallExpression 1051183 1051214 - Identifier 1051183 1051205 - Identifier 1051206 1051213 - Block 1051215 1051283 - ReturnStatement 1051217 1051260 - Identifier 1051249 1051259 - VariableStatement 1051283 1051371 - VariableDeclarationList 1051283 1051370 - VariableDeclaration 1051310 1051370 - Identifier 1051310 1051323 - CallExpression 1051325 1051370 - Identifier 1051325 1051354 - Identifier 1051355 1051362 - Identifier 1051363 1051369 - VariableStatement 1051371 1051979 - VariableDeclarationList 1051371 1051978 - VariableDeclaration 1051742 1051978 - Identifier 1051742 1051749 - ConditionalExpression 1051751 1051978 - BinaryExpression 1051751 1051895 - CallExpression 1051751 1051813 - Identifier 1051751 1051756 - Identifier 1051757 1051769 - ArrowFunction 1051770 1051812 - Parameter 1051770 1051772 - Identifier 1051770 1051772 - EqualsGreaterThanToken 1051772 1051775 - PrefixUnaryExpression 1051775 1051812 - PrefixUnaryExpression 1051777 1051812 - ParenthesizedExpression 1051778 1051812 - BinaryExpression 1051779 1051811 - PropertyAccessExpression 1051779 1051786 - Identifier 1051779 1051780 - Identifier 1051781 1051786 - AmpersandToken 1051786 1051788 - PropertyAccessExpression 1051788 1051811 - Identifier 1051788 1051798 - Identifier 1051799 1051811 - AmpersandAmpersandToken 1051813 1051816 - BinaryExpression 1051816 1051895 - CallExpression 1051816 1051857 - Identifier 1051816 1051843 - Identifier 1051844 1051856 - GreaterThanToken 1051857 1051859 - CallExpression 1051859 1051895 - Identifier 1051859 1051886 - Identifier 1051887 1051894 - QuestionToken 1051895 1051897 - CallExpression 1051897 1051966 - Identifier 1051897 1051933 - PropertyAccessExpression 1051934 1051956 - Identifier 1051934 1051943 - Identifier 1051944 1051956 - Identifier 1051957 1051965 - ColonToken 1051966 1051968 - Identifier 1051968 1051978 - ExpressionStatement 1051979 1052102 - BinaryExpression 1051979 1052101 - Identifier 1051979 1052007 - EqualsToken 1052007 1052009 - CallExpression 1052009 1052101 - Identifier 1052009 1052022 - Identifier 1052023 1052035 - PropertyAccessExpression 1052036 1052059 - Identifier 1052036 1052051 - Identifier 1052052 1052059 - Identifier 1052060 1052072 - Identifier 1052073 1052092 - Identifier 1052093 1052100 - Block 1052154 1052276 - ExpressionStatement 1052156 1052261 - BinaryExpression 1052156 1052260 - Identifier 1052156 1052180 - EqualsToken 1052180 1052182 - CallExpression 1052182 1052260 - Identifier 1052182 1052205 - Identifier 1052206 1052213 - Identifier 1052214 1052226 - Identifier 1052227 1052239 - Identifier 1052240 1052259 - ExpressionStatement 1052276 1052324 - CallExpression 1052276 1052323 - PropertyAccessExpression 1052276 1052311 - Identifier 1052276 1052307 - Identifier 1052308 1052311 - Identifier 1052312 1052314 - Identifier 1052315 1052322 - ReturnStatement 1052335 1052359 - Identifier 1052351 1052358 - FunctionDeclaration 1052366 1052587 - Identifier 1052382 1052407 - Parameter 1052408 1052430 - Identifier 1052408 1052413 - TypeOperator 1052414 1052430 - ArrayType 1052423 1052430 - TypeReference 1052423 1052428 - Identifier 1052423 1052428 - Block 1052431 1052587 - ReturnStatement 1052433 1052580 - CallExpression 1052449 1052579 - Identifier 1052449 1052460 - Identifier 1052461 1052466 - ArrowFunction 1052467 1052575 - Parameter 1052469 1052470 - Identifier 1052469 1052470 - Parameter 1052471 1052473 - Identifier 1052471 1052473 - EqualsGreaterThanToken 1052474 1052477 - ConditionalExpression 1052477 1052575 - BinaryExpression 1052477 1052503 - PropertyAccessExpression 1052477 1052485 - Identifier 1052477 1052479 - Identifier 1052480 1052485 - AmpersandToken 1052485 1052487 - PropertyAccessExpression 1052487 1052503 - Identifier 1052487 1052497 - Identifier 1052498 1052503 - QuestionToken 1052503 1052505 - BinaryExpression 1052505 1052539 - Identifier 1052505 1052507 - AsteriskToken 1052507 1052509 - PropertyAccessExpression 1052509 1052539 - PropertyAccessExpression 1052509 1052532 - ParenthesizedExpression 1052509 1052526 - AsExpression 1052511 1052525 - Identifier 1052511 1052512 - TypeReference 1052515 1052525 - Identifier 1052515 1052525 - Identifier 1052527 1052532 - Identifier 1052533 1052539 - ColonToken 1052539 1052541 - ConditionalExpression 1052541 1052575 - BinaryExpression 1052541 1052567 - PropertyAccessExpression 1052541 1052549 - Identifier 1052541 1052543 - Identifier 1052544 1052549 - AmpersandToken 1052549 1052551 - PropertyAccessExpression 1052551 1052567 - Identifier 1052551 1052561 - Identifier 1052562 1052567 - QuestionToken 1052567 1052569 - NumericLiteral 1052569 1052571 - ColonToken 1052571 1052573 - Identifier 1052573 1052575 - NumericLiteral 1052576 1052578 - FunctionDeclaration 1052587 1053052 - Identifier 1052603 1052626 - Parameter 1052627 1052649 - Identifier 1052627 1052632 - TypeOperator 1052633 1052649 - ArrayType 1052642 1052649 - TypeReference 1052642 1052647 - Identifier 1052642 1052647 - Block 1052650 1053052 - VariableStatement 1052652 1052707 - VariableDeclarationList 1052652 1052706 - VariableDeclaration 1052667 1052706 - Identifier 1052667 1052672 - CallExpression 1052674 1052706 - Identifier 1052674 1052699 - Identifier 1052700 1052705 - IfStatement 1052707 1053023 - BinaryExpression 1052721 1052735 - Identifier 1052721 1052725 - GreaterThanEqualsToken 1052725 1052728 - NumericLiteral 1052728 1052735 - Block 1052736 1053023 - ExpressionStatement 1052738 1052873 - CallExpression 1052738 1052872 - PropertyAccessExpression 1052738 1052768 - Identifier 1052738 1052759 - QuestionDotToken 1052759 1052761 - Identifier 1052761 1052768 - PropertyAccessExpression 1052769 1052793 - PropertyAccessExpression 1052769 1052782 - Identifier 1052769 1052776 - Identifier 1052777 1052782 - Identifier 1052783 1052793 - StringLiteral 1052794 1052830 - ObjectLiteralExpression 1052831 1052871 - PropertyAssignment 1052833 1052863 - Identifier 1052833 1052841 - CallExpression 1052842 1052863 - PropertyAccessExpression 1052842 1052852 - Identifier 1052842 1052848 - Identifier 1052849 1052852 - ArrowFunction 1052853 1052862 - Parameter 1052853 1052854 - Identifier 1052853 1052854 - EqualsGreaterThanToken 1052854 1052857 - PropertyAccessExpression 1052857 1052862 - Identifier 1052857 1052859 - Identifier 1052860 1052862 - ShorthandPropertyAssignment 1052864 1052869 - Identifier 1052864 1052869 - ExpressionStatement 1052873 1052985 - CallExpression 1052873 1052984 - Identifier 1052873 1052892 - Identifier 1052893 1052904 - PropertyAccessExpression 1052905 1052983 - Identifier 1052905 1052917 - Identifier 1052918 1052983 - ReturnStatement 1052985 1053012 - FalseKeyword 1053005 1053011 - ReturnStatement 1053023 1053045 - TrueKeyword 1053039 1053044 - FunctionDeclaration 1053052 1053939 - Identifier 1053068 1053097 - Parameter 1053098 1053120 - Identifier 1053098 1053103 - TypeOperator 1053104 1053120 - ArrayType 1053113 1053120 - TypeReference 1053113 1053118 - Identifier 1053113 1053118 - Parameter 1053121 1053146 - Identifier 1053121 1053127 - TypeReference 1053128 1053146 - Identifier 1053128 1053146 - Block 1053147 1053939 - VariableStatement 1053149 1053205 - VariableDeclarationList 1053149 1053204 - VariableDeclaration 1053164 1053204 - Identifier 1053164 1053170 - CallExpression 1053172 1053204 - Identifier 1053172 1053197 - Identifier 1053198 1053203 - VariableStatement 1053205 1053248 - VariableDeclarationList 1053205 1053247 - VariableDeclaration 1053220 1053247 - Identifier 1053220 1053234 - ArrayType 1053235 1053242 - TypeReference 1053235 1053240 - Identifier 1053235 1053240 - ArrayLiteralExpression 1053244 1053247 - ForStatement 1053248 1053901 - VariableDeclarationList 1053263 1053272 - VariableDeclaration 1053266 1053272 - Identifier 1053266 1053268 - NumericLiteral 1053270 1053272 - BinaryExpression 1053273 1053283 - Identifier 1053273 1053275 - LessThanToken 1053275 1053277 - Identifier 1053277 1053283 - PostfixUnaryExpression 1053284 1053288 - Identifier 1053284 1053286 - Block 1053289 1053901 - VariableStatement 1053291 1053340 - VariableDeclarationList 1053291 1053339 - VariableDeclaration 1053310 1053339 - Identifier 1053310 1053323 - CallExpression 1053325 1053339 - PropertyAccessExpression 1053325 1053337 - Identifier 1053325 1053331 - Identifier 1053332 1053337 - VariableStatement 1053340 1053364 - VariableDeclarationList 1053340 1053363 - VariableDeclaration 1053357 1053363 - Identifier 1053357 1053359 - Identifier 1053361 1053363 - ForStatement 1053364 1053755 - VariableDeclarationList 1053383 1053407 - VariableDeclaration 1053386 1053407 - Identifier 1053386 1053388 - BinaryExpression 1053390 1053407 - PropertyAccessExpression 1053390 1053403 - Identifier 1053390 1053396 - Identifier 1053397 1053403 - MinusToken 1053403 1053405 - NumericLiteral 1053405 1053407 - BinaryExpression 1053408 1053415 - Identifier 1053408 1053410 - GreaterThanEqualsToken 1053410 1053413 - NumericLiteral 1053413 1053415 - PostfixUnaryExpression 1053416 1053420 - Identifier 1053416 1053418 - Block 1053421 1053755 - IfStatement 1053423 1053740 - BinaryExpression 1053445 1053477 - PropertyAccessExpression 1053445 1053459 - ElementAccessExpression 1053445 1053453 - Identifier 1053445 1053450 - Identifier 1053451 1053452 - Identifier 1053454 1053459 - AmpersandToken 1053459 1053461 - PropertyAccessExpression 1053461 1053477 - Identifier 1053461 1053471 - Identifier 1053472 1053477 - Block 1053478 1053740 - VariableStatement 1053480 1053552 - VariableDeclarationList 1053480 1053551 - VariableDeclaration 1053507 1053551 - Identifier 1053507 1053519 - PropertyAccessExpression 1053521 1053551 - ParenthesizedExpression 1053521 1053545 - AsExpression 1053523 1053544 - ElementAccessExpression 1053523 1053531 - Identifier 1053523 1053528 - Identifier 1053529 1053530 - TypeReference 1053534 1053544 - Identifier 1053534 1053544 - Identifier 1053546 1053551 - VariableStatement 1053552 1053608 - VariableDeclarationList 1053552 1053607 - VariableDeclaration 1053579 1053607 - Identifier 1053579 1053586 - PropertyAccessExpression 1053588 1053607 - Identifier 1053588 1053600 - Identifier 1053601 1053607 - ExpressionStatement 1053608 1053672 - BinaryExpression 1053608 1053671 - ElementAccessExpression 1053608 1053645 - Identifier 1053608 1053642 - Identifier 1053643 1053644 - EqualsToken 1053645 1053647 - ElementAccessExpression 1053647 1053671 - Identifier 1053647 1053659 - BinaryExpression 1053660 1053670 - Identifier 1053660 1053661 - PercentToken 1053661 1053663 - Identifier 1053663 1053670 - ExpressionStatement 1053672 1053721 - BinaryExpression 1053672 1053720 - Identifier 1053672 1053695 - EqualsToken 1053695 1053697 - CallExpression 1053697 1053720 - PropertyAccessExpression 1053697 1053708 - Identifier 1053697 1053702 - Identifier 1053703 1053708 - BinaryExpression 1053709 1053719 - Identifier 1053709 1053710 - SlashToken 1053710 1053712 - Identifier 1053712 1053719 - VariableStatement 1053755 1053820 - VariableDeclarationList 1053755 1053819 - VariableDeclaration 1053774 1053819 - Identifier 1053774 1053776 - CallExpression 1053778 1053819 - Identifier 1053778 1053798 - Identifier 1053799 1053811 - Identifier 1053812 1053818 - IfStatement 1053820 1053890 - PrefixUnaryExpression 1053838 1053866 - ParenthesizedExpression 1053839 1053866 - BinaryExpression 1053840 1053865 - PropertyAccessExpression 1053840 1053847 - Identifier 1053840 1053841 - Identifier 1053842 1053847 - AmpersandToken 1053847 1053849 - PropertyAccessExpression 1053849 1053865 - Identifier 1053849 1053859 - Identifier 1053860 1053865 - ExpressionStatement 1053867 1053890 - CallExpression 1053867 1053889 - PropertyAccessExpression 1053867 1053886 - Identifier 1053867 1053881 - Identifier 1053882 1053886 - Identifier 1053887 1053888 - ReturnStatement 1053901 1053932 - Identifier 1053917 1053931 - FunctionDeclaration 1053939 1054299 - Identifier 1053955 1053975 - Parameter 1053976 1053986 - Identifier 1053976 1053980 - TypeReference 1053981 1053986 - Identifier 1053981 1053986 - NumberKeyword 1053988 1053995 - Block 1053995 1054299 - ReturnStatement 1053997 1054292 - ConditionalExpression 1054013 1054291 - BinaryExpression 1054013 1054079 - PrefixUnaryExpression 1054013 1054059 - ParenthesizedExpression 1054015 1054059 - BinaryExpression 1054016 1054058 - PropertyAccessExpression 1054016 1054026 - Identifier 1054016 1054020 - Identifier 1054021 1054026 - AmpersandToken 1054026 1054028 - PropertyAccessExpression 1054028 1054058 - Identifier 1054028 1054038 - Identifier 1054039 1054058 - BarBarToken 1054059 1054062 - PropertyAccessExpression 1054062 1054079 - Identifier 1054062 1054067 - Identifier 1054068 1054079 - QuestionToken 1054079 1054081 - NumericLiteral 1054081 1054083 - ColonToken 1054083 1054085 - ConditionalExpression 1054085 1054291 - BinaryExpression 1054085 1054157 - BinaryExpression 1054085 1054127 - PropertyAccessExpression 1054085 1054109 - Identifier 1054085 1054103 - Identifier 1054104 1054109 - AmpersandToken 1054109 1054111 - PropertyAccessExpression 1054111 1054127 - Identifier 1054111 1054121 - Identifier 1054122 1054127 - AmpersandAmpersandToken 1054127 1054130 - PropertyAccessExpression 1054130 1054157 - ParenthesizedExpression 1054130 1054150 - AsExpression 1054132 1054149 - Identifier 1054132 1054136 - TypeReference 1054139 1054149 - Identifier 1054139 1054149 - Identifier 1054151 1054157 - QuestionToken 1054157 1054159 - CallExpression 1054159 1054208 - Identifier 1054159 1054179 - NonNullExpression 1054180 1054207 - PropertyAccessExpression 1054180 1054206 - ParenthesizedExpression 1054180 1054199 - AsExpression 1054181 1054198 - Identifier 1054181 1054185 - TypeReference 1054188 1054198 - Identifier 1054188 1054198 - Identifier 1054200 1054206 - ColonToken 1054208 1054210 - CallExpression 1054210 1054291 - Identifier 1054210 1054250 - PropertyAccessExpression 1054251 1054290 - ParenthesizedExpression 1054251 1054284 - AsExpression 1054252 1054283 - Identifier 1054252 1054256 - TypeReference 1054259 1054283 - Identifier 1054259 1054283 - Identifier 1054285 1054290 - FunctionDeclaration 1054299 1054450 - Identifier 1054315 1054342 - Parameter 1054343 1054356 - Identifier 1054343 1054348 - ArrayType 1054349 1054356 - TypeReference 1054349 1054354 - Identifier 1054349 1054354 - NumberKeyword 1054358 1054365 - Block 1054365 1054450 - ReturnStatement 1054367 1054443 - CallExpression 1054383 1054442 - Identifier 1054383 1054394 - Identifier 1054395 1054400 - ArrowFunction 1054401 1054438 - Parameter 1054403 1054404 - Identifier 1054403 1054404 - Parameter 1054405 1054407 - Identifier 1054405 1054407 - EqualsGreaterThanToken 1054408 1054411 - BinaryExpression 1054411 1054438 - Identifier 1054411 1054413 - PlusToken 1054413 1054415 - CallExpression 1054415 1054438 - Identifier 1054415 1054435 - Identifier 1054436 1054437 - NumericLiteral 1054439 1054441 - FunctionDeclaration 1054450 1055675 - Identifier 1054466 1054498 - Parameter 1054499 1054525 - Identifier 1054499 1054503 - TypeReference 1054504 1054525 - Identifier 1054504 1054525 - TypeReference 1054527 1054532 - Identifier 1054527 1054532 - Block 1054532 1055675 - VariableStatement 1054534 1054577 - VariableDeclarationList 1054534 1054576 - VariableDeclaration 1054549 1054576 - Identifier 1054549 1054555 - CallExpression 1054557 1054576 - Identifier 1054557 1054570 - Identifier 1054571 1054575 - IfStatement 1054577 1055632 - PrefixUnaryExpression 1054591 1054610 - PropertyAccessExpression 1054592 1054610 - Identifier 1054592 1054597 - Identifier 1054598 1054610 - Block 1054611 1055632 - VariableStatement 1054613 1054679 - VariableDeclarationList 1054613 1054678 - VariableDeclaration 1054632 1054678 - Identifier 1054632 1054644 - CallExpression 1054646 1054678 - Identifier 1054646 1054672 - Identifier 1054673 1054677 - VariableStatement 1054679 1054744 - VariableDeclarationList 1054679 1054743 - VariableDeclaration 1054698 1054743 - Identifier 1054698 1054704 - CallExpression 1054706 1054743 - Identifier 1054706 1054710 - PropertyAccessExpression 1054711 1054721 - Identifier 1054711 1054715 - Identifier 1054716 1054721 - Identifier 1054722 1054742 - VariableStatement 1054744 1055176 - VariableDeclarationList 1054744 1055175 - VariableDeclaration 1055100 1055175 - Identifier 1055100 1055111 - ConditionalExpression 1055113 1055175 - BinaryExpression 1055113 1055132 - PropertyAccessExpression 1055113 1055126 - Identifier 1055113 1055119 - Identifier 1055120 1055126 - EqualsEqualsEqualsToken 1055126 1055130 - NumericLiteral 1055130 1055132 - QuestionToken 1055132 1055134 - CallExpression 1055134 1055170 - PropertyAccessExpression 1055134 1055148 - Identifier 1055134 1055140 - Identifier 1055141 1055148 - Identifier 1055149 1055169 - ColonToken 1055170 1055172 - PrefixUnaryExpression 1055172 1055175 - NumericLiteral 1055174 1055175 - VariableStatement 1055176 1055254 - VariableDeclarationList 1055176 1055253 - VariableDeclaration 1055195 1055253 - Identifier 1055195 1055197 - ConditionalExpression 1055199 1055253 - BinaryExpression 1055199 1055215 - Identifier 1055199 1055210 - GreaterThanEqualsToken 1055210 1055213 - NumericLiteral 1055213 1055215 - QuestionToken 1055215 1055217 - ElementAccessExpression 1055217 1055239 - Identifier 1055217 1055223 - BinaryExpression 1055224 1055238 - NumericLiteral 1055224 1055225 - MinusToken 1055225 1055227 - Identifier 1055227 1055238 - ColonToken 1055239 1055241 - Identifier 1055241 1055253 - VariableStatement 1055254 1055434 - VariableDeclarationList 1055254 1055433 - VariableDeclaration 1055273 1055433 - Identifier 1055273 1055294 - PrefixUnaryExpression 1055296 1055433 - PrefixUnaryExpression 1055298 1055433 - ParenthesizedExpression 1055299 1055433 - BinaryExpression 1055300 1055432 - BinaryExpression 1055300 1055366 - PropertyAccessExpression 1055300 1055307 - Identifier 1055300 1055301 - Identifier 1055302 1055307 - AmpersandToken 1055307 1055309 - ParenthesizedExpression 1055309 1055366 - BinaryExpression 1055311 1055365 - BinaryExpression 1055311 1055346 - PropertyAccessExpression 1055311 1055327 - Identifier 1055311 1055320 - Identifier 1055321 1055327 - BarToken 1055327 1055329 - PropertyAccessExpression 1055329 1055346 - Identifier 1055329 1055339 - Identifier 1055340 1055346 - BarToken 1055346 1055348 - PropertyAccessExpression 1055348 1055365 - Identifier 1055348 1055358 - Identifier 1055359 1055365 - BarBarToken 1055366 1055369 - BinaryExpression 1055369 1055432 - BinaryExpression 1055369 1055405 - PropertyAccessExpression 1055369 1055377 - Identifier 1055369 1055371 - Identifier 1055372 1055377 - AmpersandToken 1055377 1055379 - PropertyAccessExpression 1055379 1055405 - Identifier 1055379 1055389 - Identifier 1055390 1055405 - AmpersandAmpersandToken 1055405 1055408 - CallExpression 1055408 1055432 - Identifier 1055408 1055429 - Identifier 1055430 1055431 - ExpressionStatement 1055434 1055621 - BinaryExpression 1055434 1055620 - PropertyAccessExpression 1055434 1055466 - Identifier 1055434 1055453 - Identifier 1055454 1055466 - EqualsToken 1055466 1055468 - CallExpression 1055468 1055620 - Identifier 1055468 1055488 - Identifier 1055489 1055494 - ConditionalExpression 1055495 1055561 - Identifier 1055495 1055516 - QuestionToken 1055516 1055518 - PropertyAccessExpression 1055518 1055557 - Identifier 1055518 1055536 - Identifier 1055537 1055557 - ColonToken 1055557 1055559 - NumericLiteral 1055559 1055561 - Identifier 1055562 1055574 - CallExpression 1055575 1055619 - Identifier 1055575 1055606 - Identifier 1055607 1055618 - ReturnStatement 1055632 1055668 - PropertyAccessExpression 1055648 1055667 - Identifier 1055648 1055654 - Identifier 1055655 1055667 - FunctionDeclaration 1055675 1055950 - Identifier 1055691 1055707 - Parameter 1055708 1055756 - Identifier 1055708 1055712 - UnionType 1055713 1055756 - TypeReference 1055713 1055730 - Identifier 1055713 1055730 - TypeReference 1055732 1055756 - Identifier 1055732 1055756 - Parameter 1055757 1055780 - Identifier 1055757 1055768 - TypeReference 1055769 1055780 - Identifier 1055769 1055780 - Block 1055781 1055950 - VariableStatement 1055783 1055849 - VariableDeclarationList 1055783 1055848 - VariableDeclaration 1055798 1055848 - Identifier 1055798 1055805 - AsExpression 1055807 1055848 - CallExpression 1055807 1055835 - Identifier 1055807 1055818 - PropertyAccessExpression 1055819 1055834 - Identifier 1055819 1055828 - Identifier 1055829 1055834 - TypeReference 1055838 1055848 - Identifier 1055838 1055848 - ExpressionStatement 1055849 1055878 - BinaryExpression 1055849 1055877 - PropertyAccessExpression 1055849 1055870 - Identifier 1055849 1055865 - Identifier 1055866 1055870 - EqualsToken 1055870 1055872 - Identifier 1055872 1055877 - ExpressionStatement 1055878 1055919 - BinaryExpression 1055878 1055918 - PropertyAccessExpression 1055878 1055905 - Identifier 1055878 1055894 - Identifier 1055895 1055905 - EqualsToken 1055905 1055907 - Identifier 1055907 1055918 - ReturnStatement 1055919 1055943 - Identifier 1055935 1055942 - FunctionDeclaration 1055950 1056172 - Identifier 1055966 1055988 - Parameter 1055989 1056037 - Identifier 1055989 1055993 - UnionType 1055994 1056037 - TypeReference 1055994 1056011 - Identifier 1055994 1056011 - TypeReference 1056013 1056037 - Identifier 1056013 1056037 - Block 1056038 1056172 - VariableStatement 1056040 1056112 - VariableDeclarationList 1056040 1056111 - VariableDeclaration 1056055 1056111 - Identifier 1056055 1056062 - AsExpression 1056064 1056111 - CallExpression 1056064 1056098 - Identifier 1056064 1056081 - PropertyAccessExpression 1056082 1056097 - Identifier 1056082 1056091 - Identifier 1056092 1056097 - TypeReference 1056101 1056111 - Identifier 1056101 1056111 - ExpressionStatement 1056112 1056141 - BinaryExpression 1056112 1056140 - PropertyAccessExpression 1056112 1056133 - Identifier 1056112 1056128 - Identifier 1056129 1056133 - EqualsToken 1056133 1056135 - Identifier 1056135 1056140 - ReturnStatement 1056141 1056165 - Identifier 1056157 1056164 - FunctionDeclaration 1056172 1056584 - Identifier 1056188 1056215 - Parameter 1056216 1056264 - Identifier 1056216 1056220 - UnionType 1056221 1056264 - TypeReference 1056221 1056238 - Identifier 1056221 1056238 - TypeReference 1056240 1056264 - Identifier 1056240 1056264 - Parameter 1056265 1056288 - Identifier 1056265 1056276 - TypeReference 1056277 1056288 - Identifier 1056277 1056288 - Block 1056289 1056584 - ReturnStatement 1056291 1056577 - ConditionalExpression 1056307 1056576 - BinaryExpression 1056307 1056343 - Identifier 1056307 1056318 - AmpersandToken 1056318 1056320 - PropertyAccessExpression 1056320 1056343 - Identifier 1056320 1056331 - Identifier 1056332 1056343 - QuestionToken 1056343 1056345 - BinaryExpression 1056345 1056469 - PropertyAccessExpression 1056345 1056387 - Identifier 1056345 1056363 - Identifier 1056364 1056387 - BarBarToken 1056387 1056390 - ParenthesizedExpression 1056390 1056469 - BinaryExpression 1056392 1056468 - PropertyAccessExpression 1056392 1056420 - Identifier 1056392 1056396 - Identifier 1056397 1056420 - EqualsToken 1056420 1056422 - CallExpression 1056422 1056468 - Identifier 1056422 1056438 - Identifier 1056439 1056443 - PropertyAccessExpression 1056444 1056467 - Identifier 1056444 1056455 - Identifier 1056456 1056467 - ColonToken 1056469 1056471 - BinaryExpression 1056471 1056576 - PropertyAccessExpression 1056471 1056507 - Identifier 1056471 1056489 - Identifier 1056490 1056507 - BarBarToken 1056507 1056510 - ParenthesizedExpression 1056510 1056576 - BinaryExpression 1056512 1056575 - PropertyAccessExpression 1056512 1056534 - Identifier 1056512 1056516 - Identifier 1056517 1056534 - EqualsToken 1056534 1056536 - CallExpression 1056536 1056575 - Identifier 1056536 1056552 - Identifier 1056553 1056557 - PropertyAccessExpression 1056558 1056574 - Identifier 1056558 1056569 - Identifier 1056570 1056574 - FunctionDeclaration 1056584 1060464 - Identifier 1057193 1057219 - Parameter 1057220 1057236 - Identifier 1057220 1057224 - TypeReference 1057225 1057236 - Identifier 1057225 1057236 - Parameter 1057237 1057260 - Identifier 1057237 1057248 - TypeReference 1057249 1057260 - Identifier 1057249 1057260 - Block 1057261 1060464 - VariableStatement 1057263 1057332 - VariableDeclarationList 1057263 1057331 - VariableDeclaration 1057278 1057331 - Identifier 1057278 1057292 - CallExpression 1057294 1057331 - Identifier 1057294 1057325 - Identifier 1057326 1057330 - VariableStatement 1057332 1057403 - VariableDeclarationList 1057332 1057402 - VariableDeclaration 1057347 1057402 - Identifier 1057347 1057362 - CallExpression 1057364 1057402 - Identifier 1057364 1057396 - Identifier 1057397 1057401 - VariableStatement 1057403 1057491 - VariableDeclarationList 1057403 1057490 - VariableDeclaration 1057418 1057490 - Identifier 1057418 1057427 - CallExpression 1057429 1057490 - Identifier 1057429 1057455 - BinaryExpression 1057456 1057489 - AsExpression 1057456 1057481 - PropertyAccessExpression 1057456 1057467 - Identifier 1057456 1057460 - Identifier 1057461 1057467 - TypeReference 1057470 1057481 - Identifier 1057470 1057481 - BarBarToken 1057481 1057484 - Identifier 1057484 1057489 - IfStatement 1057491 1057731 - BinaryExpression 1057505 1057562 - PrefixUnaryExpression 1057505 1057514 - Identifier 1057506 1057514 - AmpersandAmpersandToken 1057514 1057517 - PrefixUnaryExpression 1057517 1057562 - ParenthesizedExpression 1057519 1057562 - BinaryExpression 1057520 1057561 - Identifier 1057520 1057530 - AmpersandToken 1057530 1057532 - PropertyAccessExpression 1057532 1057561 - Identifier 1057532 1057543 - Identifier 1057544 1057561 - Block 1057563 1057731 - ReturnStatement 1057565 1057720 - Identifier 1057704 1057719 - VariableStatement 1057731 1057769 - VariableDeclarationList 1057731 1057768 - VariableDeclaration 1057746 1057768 - Identifier 1057746 1057755 - ArrayType 1057756 1057763 - TypeReference 1057756 1057761 - Identifier 1057756 1057761 - ArrayLiteralExpression 1057765 1057768 - IfStatement 1057769 1059203 - CallExpression 1058131 1058165 - Identifier 1058131 1058149 - Identifier 1058150 1058164 - Block 1058166 1058705 - IfStatement 1058168 1058562 - CallExpression 1058186 1058234 - Identifier 1058186 1058228 - Identifier 1058229 1058233 - Block 1058235 1058562 - ReturnStatement 1058237 1058547 - CallExpression 1058501 1058546 - Identifier 1058501 1058528 - Identifier 1058529 1058533 - Identifier 1058534 1058545 - ExpressionStatement 1058562 1058694 - CallExpression 1058562 1058693 - Identifier 1058562 1058656 - Identifier 1058657 1058671 - Identifier 1058672 1058692 - IfStatement 1058719 1059203 - CallExpression 1058724 1058772 - Identifier 1058724 1058766 - Identifier 1058767 1058771 - Block 1058773 1059089 - VariableStatement 1058775 1058865 - VariableDeclarationList 1058775 1058864 - VariableDeclaration 1058794 1058864 - Identifier 1058794 1058808 - CallExpression 1058810 1058864 - Identifier 1058810 1058826 - CallExpression 1058827 1058863 - Identifier 1058827 1058857 - Identifier 1058858 1058862 - ExpressionStatement 1058865 1059078 - CallExpression 1058865 1059077 - Identifier 1058865 1058959 - Identifier 1058960 1058973 - PropertyAccessExpression 1058974 1059014 - Identifier 1058974 1058984 - Identifier 1058985 1059014 - PrefixUnaryExpression 1059015 1059055 - PrefixUnaryExpression 1059017 1059055 - ParenthesizedExpression 1059018 1059055 - BinaryExpression 1059019 1059054 - Identifier 1059019 1059029 - AmpersandToken 1059029 1059031 - PropertyAccessExpression 1059031 1059054 - Identifier 1059031 1059042 - Identifier 1059043 1059054 - Identifier 1059056 1059076 - Block 1059103 1059203 - ExpressionStatement 1059105 1059192 - CallExpression 1059105 1059191 - Identifier 1059105 1059130 - CallExpression 1059131 1059169 - Identifier 1059131 1059153 - Identifier 1059154 1059168 - Identifier 1059170 1059190 - VariableStatement 1059203 1059623 - VariableDeclarationList 1059203 1059622 - VariableDeclaration 1059455 1059622 - Identifier 1059455 1059462 - ConditionalExpression 1059464 1059622 - BinaryExpression 1059464 1059506 - Identifier 1059464 1059475 - AmpersandToken 1059475 1059477 - PropertyAccessExpression 1059477 1059506 - Identifier 1059477 1059488 - Identifier 1059489 1059506 - QuestionToken 1059506 1059508 - CallExpression 1059508 1059597 - Identifier 1059508 1059519 - CallExpression 1059520 1059542 - Identifier 1059520 1059532 - Identifier 1059533 1059541 - ArrowFunction 1059543 1059596 - Parameter 1059543 1059545 - Identifier 1059543 1059545 - EqualsGreaterThanToken 1059545 1059548 - PrefixUnaryExpression 1059548 1059596 - ParenthesizedExpression 1059550 1059596 - BinaryExpression 1059551 1059595 - PropertyAccessExpression 1059551 1059558 - Identifier 1059551 1059552 - Identifier 1059553 1059558 - AmpersandToken 1059558 1059560 - ParenthesizedExpression 1059560 1059595 - BinaryExpression 1059562 1059594 - PropertyAccessExpression 1059562 1059575 - Identifier 1059562 1059571 - Identifier 1059572 1059575 - BarToken 1059575 1059577 - PropertyAccessExpression 1059577 1059594 - Identifier 1059577 1059587 - Identifier 1059588 1059594 - ColonToken 1059597 1059599 - CallExpression 1059599 1059622 - Identifier 1059599 1059612 - Identifier 1059613 1059621 - IfStatement 1059623 1059860 - BinaryExpression 1059637 1059810 - BinaryExpression 1059637 1059709 - BinaryExpression 1059637 1059667 - PropertyAccessExpression 1059637 1059649 - Identifier 1059637 1059643 - Identifier 1059644 1059649 - AmpersandToken 1059649 1059651 - PropertyAccessExpression 1059651 1059667 - Identifier 1059651 1059661 - Identifier 1059662 1059667 - AmpersandAmpersandToken 1059667 1059670 - BinaryExpression 1059670 1059709 - PropertyAccessExpression 1059670 1059691 - Identifier 1059670 1059685 - Identifier 1059686 1059691 - AmpersandToken 1059691 1059693 - PropertyAccessExpression 1059693 1059709 - Identifier 1059693 1059703 - Identifier 1059704 1059709 - AmpersandAmpersandToken 1059709 1059712 - BinaryExpression 1059712 1059810 - CallExpression 1059712 1059755 - Identifier 1059712 1059726 - PropertyAccessExpression 1059727 1059754 - ParenthesizedExpression 1059727 1059748 - AsExpression 1059728 1059747 - Identifier 1059728 1059734 - TypeReference 1059737 1059747 - Identifier 1059737 1059747 - Identifier 1059749 1059754 - EqualsEqualsEqualsToken 1059755 1059759 - CallExpression 1059759 1059810 - Identifier 1059759 1059773 - PropertyAccessExpression 1059774 1059809 - ParenthesizedExpression 1059774 1059803 - AsExpression 1059775 1059802 - Identifier 1059775 1059789 - TypeReference 1059792 1059802 - Identifier 1059792 1059802 - Identifier 1059804 1059809 - Block 1059811 1059860 - ReturnStatement 1059813 1059849 - Identifier 1059833 1059848 - ReturnStatement 1059860 1059884 - Identifier 1059876 1059883 - FunctionDeclaration 1059884 1060457 - Identifier 1059904 1059924 - Parameter 1059925 1059938 - Identifier 1059925 1059932 - TypeReference 1059933 1059938 - Identifier 1059933 1059938 - Block 1059939 1060457 - VariableStatement 1059941 1060079 - VariableDeclarationList 1059941 1060078 - VariableDeclaration 1059960 1060078 - Identifier 1059960 1059973 - ConditionalExpression 1059975 1060078 - Identifier 1059975 1059984 - QuestionToken 1059984 1059986 - CallExpression 1059986 1060068 - Identifier 1059986 1060002 - Identifier 1060003 1060011 - CallExpression 1060012 1060067 - Identifier 1060012 1060030 - PropertyAccessExpression 1060031 1060042 - Identifier 1060031 1060035 - Identifier 1060036 1060042 - Identifier 1060043 1060057 - Identifier 1060058 1060066 - ColonToken 1060068 1060070 - Identifier 1060070 1060078 - ExpressionStatement 1060079 1060446 - CallExpression 1060079 1060445 - PropertyAccessExpression 1060079 1060380 - Identifier 1060079 1060375 - Identifier 1060376 1060380 - ConditionalExpression 1060381 1060444 - BinaryExpression 1060381 1060408 - Identifier 1060381 1060393 - EqualsEqualsEqualsToken 1060393 1060397 - Identifier 1060397 1060408 - QuestionToken 1060408 1060410 - Identifier 1060410 1060429 - ColonToken 1060429 1060431 - Identifier 1060431 1060444 - FunctionDeclaration 1060464 1062328 - Identifier 1061062 1061086 - Parameter 1061087 1061109 - Identifier 1061087 1061097 - TypeReference 1061098 1061109 - Identifier 1061098 1061109 - Block 1061110 1062328 - VariableStatement 1061112 1061186 - VariableDeclarationList 1061112 1061185 - VariableDeclaration 1061127 1061185 - Identifier 1061127 1061140 - CallExpression 1061142 1061185 - Identifier 1061142 1061173 - Identifier 1061174 1061184 - ReturnStatement 1061186 1061273 - CallExpression 1061202 1061272 - Identifier 1061202 1061217 - BinaryExpression 1061218 1061271 - CallExpression 1061218 1061255 - Identifier 1061218 1061243 - Identifier 1061244 1061254 - BarBarToken 1061255 1061258 - Identifier 1061258 1061271 - FunctionDeclaration 1061273 1062321 - Identifier 1061291 1061306 - Parameter 1061307 1061317 - Identifier 1061307 1061311 - TypeReference 1061312 1061317 - Identifier 1061312 1061317 - BooleanKeyword 1061319 1061327 - Block 1061327 1062321 - ReturnStatement 1061329 1062310 - ConditionalExpression 1061349 1062309 - BinaryExpression 1061349 1061497 - PropertyAccessExpression 1061349 1061360 - Identifier 1061349 1061354 - Identifier 1061355 1061360 - AmpersandToken 1061360 1061362 - ParenthesizedExpression 1061362 1061497 - BinaryExpression 1061364 1061496 - BinaryExpression 1061364 1061471 - BinaryExpression 1061364 1061452 - BinaryExpression 1061364 1061426 - BinaryExpression 1061364 1061408 - PropertyAccessExpression 1061364 1061386 - Identifier 1061364 1061373 - Identifier 1061374 1061386 - BarToken 1061386 1061388 - PropertyAccessExpression 1061388 1061408 - Identifier 1061388 1061398 - Identifier 1061399 1061408 - BarToken 1061408 1061410 - PropertyAccessExpression 1061410 1061426 - Identifier 1061410 1061420 - Identifier 1061421 1061426 - BarToken 1061426 1061428 - PropertyAccessExpression 1061428 1061452 - Identifier 1061428 1061438 - Identifier 1061439 1061452 - BarToken 1061452 1061454 - PropertyAccessExpression 1061454 1061471 - Identifier 1061454 1061464 - Identifier 1061465 1061471 - BarToken 1061471 1061473 - PropertyAccessExpression 1061473 1061496 - Identifier 1061473 1061483 - Identifier 1061484 1061496 - QuestionToken 1061497 1061499 - TrueKeyword 1061499 1061504 - ColonToken 1061504 1061506 - ConditionalExpression 1061506 1062309 - BinaryExpression 1061506 1061558 - PropertyAccessExpression 1061506 1061534 - Identifier 1061506 1061528 - Identifier 1061529 1061534 - AmpersandToken 1061534 1061536 - PropertyAccessExpression 1061536 1061558 - Identifier 1061536 1061546 - Identifier 1061547 1061558 - QuestionToken 1061558 1061560 - BinaryExpression 1061560 1061662 - PropertyAccessExpression 1061560 1061606 - PropertyAccessExpression 1061560 1061591 - ParenthesizedExpression 1061560 1061586 - AsExpression 1061562 1061585 - Identifier 1061562 1061566 - TypeReference 1061569 1061585 - Identifier 1061569 1061585 - Identifier 1061587 1061591 - Identifier 1061592 1061606 - AmpersandAmpersandToken 1061606 1061609 - BinaryExpression 1061609 1061662 - PropertyAccessExpression 1061609 1061645 - ParenthesizedExpression 1061609 1061635 - AsExpression 1061611 1061634 - Identifier 1061611 1061615 - TypeReference 1061618 1061634 - Identifier 1061618 1061634 - Identifier 1061636 1061645 - EqualsEqualsEqualsToken 1061645 1061649 - Identifier 1061649 1061662 - ColonToken 1061662 1061664 - ConditionalExpression 1061664 1062309 - BinaryExpression 1061664 1061754 - PropertyAccessExpression 1061664 1061692 - Identifier 1061664 1061686 - Identifier 1061687 1061692 - AmpersandToken 1061692 1061694 - ParenthesizedExpression 1061694 1061754 - BinaryExpression 1061696 1061753 - PropertyAccessExpression 1061696 1061725 - Identifier 1061696 1061705 - Identifier 1061706 1061725 - BarToken 1061725 1061727 - PropertyAccessExpression 1061727 1061753 - Identifier 1061727 1061737 - Identifier 1061738 1061753 - QuestionToken 1061754 1061756 - CallExpression 1061756 1061841 - Identifier 1061756 1061762 - PropertyAccessExpression 1061763 1061824 - ParenthesizedExpression 1061763 1061818 - AsExpression 1061764 1061817 - Identifier 1061764 1061768 - UnionType 1061771 1061817 - TypeReference 1061771 1061795 - Identifier 1061771 1061795 - TypeReference 1061797 1061817 - Identifier 1061797 1061817 - Identifier 1061819 1061824 - Identifier 1061825 1061840 - ColonToken 1061841 1061843 - ConditionalExpression 1061843 1062309 - BinaryExpression 1061843 1061897 - PropertyAccessExpression 1061843 1061871 - Identifier 1061843 1061865 - Identifier 1061866 1061871 - AmpersandToken 1061871 1061873 - PropertyAccessExpression 1061873 1061897 - Identifier 1061873 1061883 - Identifier 1061884 1061897 - QuestionToken 1061897 1061899 - BinaryExpression 1061899 1062011 - CallExpression 1061899 1061954 - Identifier 1061899 1061914 - PropertyAccessExpression 1061915 1061953 - ParenthesizedExpression 1061915 1061942 - AsExpression 1061916 1061941 - Identifier 1061916 1061920 - TypeReference 1061923 1061941 - Identifier 1061923 1061941 - Identifier 1061943 1061953 - AmpersandAmpersandToken 1061954 1061957 - CallExpression 1061957 1062011 - Identifier 1061957 1061972 - PropertyAccessExpression 1061973 1062010 - ParenthesizedExpression 1061973 1062000 - AsExpression 1061974 1061999 - Identifier 1061974 1061978 - TypeReference 1061981 1061999 - Identifier 1061981 1061999 - Identifier 1062001 1062010 - ColonToken 1062011 1062013 - ConditionalExpression 1062013 1062309 - BinaryExpression 1062013 1062066 - PropertyAccessExpression 1062013 1062041 - Identifier 1062013 1062035 - Identifier 1062036 1062041 - AmpersandToken 1062041 1062043 - PropertyAccessExpression 1062043 1062066 - Identifier 1062043 1062053 - Identifier 1062054 1062066 - QuestionToken 1062066 1062068 - BinaryExpression 1062068 1062177 - CallExpression 1062068 1062120 - Identifier 1062068 1062083 - PropertyAccessExpression 1062084 1062119 - ParenthesizedExpression 1062084 1062110 - AsExpression 1062085 1062109 - Identifier 1062085 1062089 - TypeReference 1062092 1062109 - Identifier 1062092 1062109 - Identifier 1062111 1062119 - AmpersandAmpersandToken 1062120 1062123 - CallExpression 1062123 1062177 - Identifier 1062123 1062138 - PropertyAccessExpression 1062139 1062176 - ParenthesizedExpression 1062139 1062165 - AsExpression 1062140 1062164 - Identifier 1062140 1062144 - TypeReference 1062147 1062164 - Identifier 1062147 1062164 - Identifier 1062166 1062176 - ColonToken 1062177 1062179 - ConditionalExpression 1062179 1062309 - BinaryExpression 1062179 1062233 - PropertyAccessExpression 1062179 1062207 - Identifier 1062179 1062201 - Identifier 1062202 1062207 - AmpersandToken 1062207 1062209 - PropertyAccessExpression 1062209 1062233 - Identifier 1062209 1062219 - Identifier 1062220 1062233 - QuestionToken 1062233 1062235 - CallExpression 1062235 1062284 - Identifier 1062235 1062250 - PropertyAccessExpression 1062251 1062283 - ParenthesizedExpression 1062251 1062278 - AsExpression 1062252 1062277 - Identifier 1062252 1062256 - TypeReference 1062259 1062277 - Identifier 1062259 1062277 - Identifier 1062279 1062283 - ColonToken 1062284 1062286 - FalseKeyword 1062286 1062309 - FunctionDeclaration 1062328 1063122 - Identifier 1062344 1062375 - Parameter 1062376 1062413 - Identifier 1062376 1062380 - UnionType 1062381 1062413 - TypeReference 1062381 1062394 - Identifier 1062381 1062394 - TypeReference 1062396 1062413 - Identifier 1062396 1062413 - Block 1062414 1063122 - IfStatement 1062416 1062500 - CallExpression 1062430 1062455 - Identifier 1062430 1062449 - Identifier 1062450 1062454 - Block 1062456 1062500 - ReturnStatement 1062458 1062489 - Identifier 1062478 1062488 - IfStatement 1062500 1062622 - CallExpression 1062514 1062536 - Identifier 1062514 1062530 - Identifier 1062531 1062535 - Block 1062537 1062622 - ReturnStatement 1062539 1062611 - CallExpression 1062559 1062610 - Identifier 1062559 1062587 - CallExpression 1062588 1062609 - Identifier 1062588 1062603 - Identifier 1062604 1062608 - IfStatement 1062622 1062760 - CallExpression 1062636 1062664 - Identifier 1062636 1062658 - Identifier 1062659 1062663 - Block 1062665 1062760 - ReturnStatement 1062667 1062749 - CallExpression 1062687 1062748 - Identifier 1062687 1062715 - CallExpression 1062716 1062747 - Identifier 1062716 1062741 - Identifier 1062742 1062746 - VariableStatement 1062760 1062832 - VariableDeclarationList 1062760 1062831 - VariableDeclaration 1062775 1062831 - Identifier 1062775 1062788 - CallExpression 1062790 1062831 - Identifier 1062790 1062825 - Identifier 1062826 1062830 - IfStatement 1062832 1062970 - BinaryExpression 1062846 1062872 - Identifier 1062846 1062858 - ExclamationEqualsEqualsToken 1062858 1062862 - Identifier 1062862 1062872 - Block 1062873 1062970 - ReturnStatement 1062875 1062959 - CallExpression 1062895 1062958 - Identifier 1062895 1062916 - CallExpression 1062917 1062957 - Identifier 1062917 1062943 - Identifier 1062944 1062956 - IfStatement 1062970 1063088 - CallExpression 1062984 1063002 - Identifier 1062984 1062996 - Identifier 1062997 1063001 - Block 1063003 1063088 - ReturnStatement 1063005 1063077 - CallExpression 1063025 1063076 - Identifier 1063025 1063053 - CallExpression 1063054 1063075 - Identifier 1063054 1063069 - Identifier 1063070 1063074 - ReturnStatement 1063088 1063115 - Identifier 1063104 1063114 - FunctionDeclaration 1063122 1063978 - Identifier 1063138 1063165 - Parameter 1063166 1063178 - Identifier 1063166 1063170 - TypeReference 1063171 1063178 - Identifier 1063171 1063178 - Parameter 1063179 1063198 - Identifier 1063179 1063187 - TypeReference 1063188 1063198 - Identifier 1063188 1063198 - Parameter 1063199 1063226 - Identifier 1063199 1063216 - QuestionToken 1063216 1063217 - BooleanKeyword 1063218 1063226 - Block 1063227 1063978 - IfStatement 1063229 1063944 - BinaryExpression 1063243 1063356 - Identifier 1063243 1063259 - BarBarToken 1063259 1063262 - PrefixUnaryExpression 1063262 1063356 - ParenthesizedExpression 1063264 1063356 - BinaryExpression 1063265 1063355 - CallExpression 1063265 1063308 - Identifier 1063265 1063302 - Identifier 1063303 1063307 - AmpersandToken 1063308 1063310 - PropertyAccessExpression 1063310 1063355 - Identifier 1063310 1063324 - Identifier 1063325 1063355 - Block 1063357 1063944 - VariableStatement 1063359 1063434 - VariableDeclarationList 1063359 1063433 - VariableDeclaration 1063376 1063433 - Identifier 1063376 1063381 - PropertyAccessExpression 1063383 1063433 - CallExpression 1063383 1063424 - Identifier 1063383 1063398 - CallExpression 1063399 1063423 - Identifier 1063399 1063417 - Identifier 1063418 1063422 - Identifier 1063425 1063433 - IfStatement 1063434 1063839 - PrefixUnaryExpression 1063452 1063457 - Identifier 1063453 1063457 - Block 1063458 1063839 - VariableStatement 1063460 1063570 - VariableDeclarationList 1063460 1063569 - VariableDeclaration 1063483 1063569 - Identifier 1063483 1063488 - AsExpression 1063490 1063569 - CallExpression 1063490 1063534 - Identifier 1063490 1063511 - PropertyAccessExpression 1063512 1063533 - Identifier 1063512 1063516 - Identifier 1063517 1063533 - UnionType 1063537 1063569 - TypeReference 1063537 1063550 - Identifier 1063537 1063550 - TypeReference 1063552 1063569 - Identifier 1063552 1063569 - ExpressionStatement 1063570 1063824 - BinaryExpression 1063570 1063823 - Identifier 1063570 1063592 - EqualsToken 1063592 1063594 - ConditionalExpression 1063594 1063823 - BinaryExpression 1063594 1063642 - PropertyAccessExpression 1063594 1063611 - Identifier 1063594 1063599 - Identifier 1063600 1063611 - EqualsEqualsEqualsToken 1063611 1063615 - PropertyAccessExpression 1063615 1063642 - Identifier 1063615 1063634 - Identifier 1063635 1063642 - QuestionToken 1063642 1063644 - CallExpression 1063644 1063676 - Identifier 1063644 1063665 - StringLiteral 1063666 1063675 - ColonToken 1063676 1063678 - BinaryExpression 1063678 1063823 - BinaryExpression 1063678 1063744 - Identifier 1063678 1063704 - AmpersandAmpersandToken 1063704 1063707 - CallExpression 1063707 1063744 - Identifier 1063707 1063738 - Identifier 1063739 1063743 - BarBarToken 1063744 1063747 - ParenthesizedExpression 1063747 1063823 - ConditionalExpression 1063749 1063822 - PrefixUnaryExpression 1063749 1063769 - CallExpression 1063750 1063769 - Identifier 1063750 1063763 - Identifier 1063764 1063768 - QuestionToken 1063769 1063771 - CallExpression 1063771 1063810 - Identifier 1063771 1063792 - CallExpression 1063793 1063809 - Identifier 1063793 1063803 - Identifier 1063804 1063808 - ColonToken 1063810 1063812 - Identifier 1063812 1063822 - IfStatement 1063839 1063933 - BinaryExpression 1063857 1063885 - Identifier 1063857 1063861 - AmpersandAmpersandToken 1063861 1063864 - BinaryExpression 1063864 1063885 - PropertyAccessExpression 1063864 1063875 - Identifier 1063864 1063869 - Identifier 1063870 1063875 - AmpersandToken 1063875 1063877 - Identifier 1063877 1063885 - Block 1063886 1063933 - ReturnStatement 1063888 1063918 - Identifier 1063912 1063917 - ReturnStatement 1063944 1063971 - Identifier 1063960 1063970 - FunctionDeclaration 1063978 1064233 - Identifier 1063994 1064012 - Parameter 1064013 1064026 - Identifier 1064013 1064020 - TypeReference 1064021 1064026 - Identifier 1064021 1064026 - Parameter 1064027 1064046 - Identifier 1064027 1064035 - TypeReference 1064036 1064046 - Identifier 1064036 1064046 - BooleanKeyword 1064048 1064056 - Block 1064056 1064233 - ReturnStatement 1064058 1064226 - PrefixUnaryExpression 1064074 1064225 - PrefixUnaryExpression 1064076 1064225 - ParenthesizedExpression 1064077 1064225 - BinaryExpression 1064078 1064224 - BinaryExpression 1064078 1064101 - PropertyAccessExpression 1064078 1064091 - Identifier 1064078 1064085 - Identifier 1064086 1064091 - AmpersandToken 1064091 1064093 - Identifier 1064093 1064101 - BarBarToken 1064101 1064104 - BinaryExpression 1064104 1064224 - BinaryExpression 1064104 1064143 - PropertyAccessExpression 1064104 1064118 - Identifier 1064104 1064112 - Identifier 1064113 1064118 - AmpersandToken 1064118 1064120 - PropertyAccessExpression 1064120 1064143 - Identifier 1064120 1064130 - Identifier 1064131 1064143 - AmpersandAmpersandToken 1064143 1064146 - CallExpression 1064146 1064224 - Identifier 1064146 1064151 - PropertyAccessExpression 1064152 1064187 - ParenthesizedExpression 1064152 1064181 - AsExpression 1064153 1064180 - Identifier 1064153 1064160 - TypeReference 1064163 1064180 - Identifier 1064163 1064180 - Identifier 1064182 1064187 - ArrowFunction 1064188 1064223 - Parameter 1064188 1064190 - Identifier 1064188 1064190 - EqualsGreaterThanToken 1064190 1064193 - CallExpression 1064193 1064223 - Identifier 1064193 1064211 - Identifier 1064212 1064213 - Identifier 1064214 1064222 - FunctionDeclaration 1064233 1065090 - Identifier 1064249 1064278 - Parameter 1064279 1064289 - Identifier 1064279 1064283 - TypeReference 1064284 1064289 - Identifier 1064284 1064289 - Parameter 1064290 1064309 - Identifier 1064290 1064298 - TypeReference 1064299 1064309 - Identifier 1064299 1064309 - Parameter 1064310 1064333 - Identifier 1064310 1064324 - BooleanKeyword 1064325 1064333 - Block 1064334 1065090 - VariableStatement 1064336 1064520 - VariableDeclarationList 1064336 1064519 - VariableDeclaration 1064351 1064519 - Identifier 1064351 1064358 - ConditionalExpression 1064360 1064519 - BinaryExpression 1064360 1064477 - Identifier 1064360 1064374 - AmpersandAmpersandToken 1064374 1064377 - ParenthesizedExpression 1064377 1064477 - BinaryExpression 1064379 1064476 - BinaryExpression 1064379 1064456 - CallExpression 1064379 1064399 - Identifier 1064379 1064393 - Identifier 1064394 1064398 - AmpersandToken 1064399 1064401 - ParenthesizedExpression 1064401 1064456 - BinaryExpression 1064403 1064455 - PropertyAccessExpression 1064403 1064431 - Identifier 1064403 1064414 - Identifier 1064415 1064431 - BarToken 1064431 1064433 - PropertyAccessExpression 1064433 1064455 - Identifier 1064433 1064445 - Identifier 1064446 1064455 - BarBarToken 1064456 1064459 - PropertyAccessExpression 1064459 1064476 - Identifier 1064459 1064464 - Identifier 1064465 1064476 - QuestionToken 1064477 1064479 - CallExpression 1064479 1064507 - Identifier 1064479 1064501 - Identifier 1064502 1064506 - ColonToken 1064507 1064509 - Identifier 1064509 1064519 - VariableStatement 1064520 1064634 - VariableDeclarationList 1064520 1064633 - VariableDeclaration 1064535 1064633 - Identifier 1064535 1064549 - CallExpression 1064551 1064633 - Identifier 1064551 1064555 - CallExpression 1064556 1064581 - Identifier 1064556 1064575 - Identifier 1064576 1064580 - ArrowFunction 1064582 1064632 - Parameter 1064582 1064587 - Identifier 1064582 1064587 - EqualsGreaterThanToken 1064587 1064590 - CallExpression 1064590 1064632 - Identifier 1064590 1064617 - Identifier 1064618 1064622 - Identifier 1064623 1064631 - VariableStatement 1064634 1064917 - VariableDeclarationList 1064634 1064916 - VariableDeclaration 1064649 1064916 - Identifier 1064649 1064663 - CallExpression 1064665 1064916 - Identifier 1064665 1064669 - CallExpression 1064670 1064695 - Identifier 1064670 1064689 - Identifier 1064690 1064694 - ArrowFunction 1064696 1064915 - Parameter 1064696 1064701 - Identifier 1064696 1064701 - EqualsGreaterThanToken 1064701 1064704 - ConditionalExpression 1064704 1064915 - BinaryExpression 1064704 1064790 - BinaryExpression 1064704 1064746 - Identifier 1064704 1064722 - ExclamationEqualsEqualsToken 1064722 1064726 - Identifier 1064726 1064746 - AmpersandAmpersandToken 1064746 1064749 - CallExpression 1064749 1064790 - Identifier 1064749 1064767 - PropertyAccessExpression 1064768 1064780 - Identifier 1064768 1064772 - Identifier 1064773 1064780 - Identifier 1064781 1064789 - QuestionToken 1064790 1064792 - ConditionalExpression 1064792 1064903 - BinaryExpression 1064792 1064867 - BinaryExpression 1064792 1064837 - PropertyAccessExpression 1064792 1064822 - Identifier 1064792 1064814 - Identifier 1064815 1064822 - EqualsEqualsEqualsToken 1064822 1064826 - Identifier 1064826 1064837 - AmpersandAmpersandToken 1064837 1064840 - BinaryExpression 1064840 1064867 - Identifier 1064840 1064848 - AmpersandToken 1064848 1064850 - PropertyAccessExpression 1064850 1064867 - Identifier 1064850 1064860 - Identifier 1064861 1064867 - QuestionToken 1064867 1064869 - Identifier 1064869 1064888 - ColonToken 1064888 1064890 - PropertyAccessExpression 1064890 1064903 - Identifier 1064890 1064895 - Identifier 1064896 1064903 - ColonToken 1064903 1064905 - Identifier 1064905 1064915 - ReturnStatement 1064917 1065083 - CallExpression 1064933 1065082 - Identifier 1064933 1064946 - CallExpression 1064947 1064988 - Identifier 1064947 1064958 - Identifier 1064959 1064972 - Identifier 1064973 1064987 - PropertyAccessExpression 1064989 1065012 - Identifier 1064989 1065004 - Identifier 1065005 1065012 - Identifier 1065013 1065039 - Identifier 1065040 1065073 - Identifier 1065074 1065081 - FunctionDeclaration 1065090 1065733 - Identifier 1065106 1065127 - Parameter 1065128 1065138 - Identifier 1065128 1065132 - TypeReference 1065133 1065138 - Identifier 1065133 1065138 - Parameter 1065139 1065168 - Identifier 1065139 1065150 - PropertyAccessExpression 1065152 1065168 - Identifier 1065152 1065163 - Identifier 1065164 1065168 - Block 1065169 1065733 - ReturnStatement 1065171 1065726 - PrefixUnaryExpression 1065187 1065725 - PrefixUnaryExpression 1065189 1065725 - ParenthesizedExpression 1065190 1065725 - BinaryExpression 1065191 1065724 - BinaryExpression 1065191 1065553 - BinaryExpression 1065191 1065429 - BinaryExpression 1065191 1065279 - BinaryExpression 1065191 1065238 - PropertyAccessExpression 1065191 1065201 - Identifier 1065191 1065195 - Identifier 1065196 1065201 - AmpersandToken 1065201 1065203 - PropertyAccessExpression 1065203 1065238 - Identifier 1065203 1065213 - Identifier 1065214 1065238 - BarBarToken 1065238 1065241 - CallExpression 1065241 1065279 - Identifier 1065241 1065273 - Identifier 1065274 1065278 - BarBarToken 1065279 1065282 - BinaryExpression 1065282 1065429 - CallExpression 1065282 1065321 - Identifier 1065282 1065315 - Identifier 1065316 1065320 - AmpersandAmpersandToken 1065321 1065324 - ParenthesizedExpression 1065324 1065429 - BinaryExpression 1065326 1065428 - PrefixUnaryExpression 1065326 1065356 - CallExpression 1065327 1065356 - Identifier 1065327 1065350 - Identifier 1065351 1065355 - BarBarToken 1065356 1065359 - BinaryExpression 1065359 1065428 - CallExpression 1065359 1065391 - Identifier 1065359 1065385 - Identifier 1065386 1065390 - EqualsEqualsEqualsToken 1065391 1065395 - PropertyAccessExpression 1065395 1065428 - Identifier 1065395 1065418 - Identifier 1065419 1065428 - BarBarToken 1065429 1065432 - BinaryExpression 1065432 1065553 - BinaryExpression 1065432 1065521 - BinaryExpression 1065432 1065474 - PropertyAccessExpression 1065432 1065456 - Identifier 1065432 1065450 - Identifier 1065451 1065456 - AmpersandToken 1065456 1065458 - PropertyAccessExpression 1065458 1065474 - Identifier 1065458 1065468 - Identifier 1065469 1065474 - AmpersandAmpersandToken 1065474 1065477 - PrefixUnaryExpression 1065477 1065521 - ParenthesizedExpression 1065479 1065521 - BinaryExpression 1065480 1065520 - Identifier 1065480 1065490 - AmpersandToken 1065490 1065492 - PropertyAccessExpression 1065492 1065520 - Identifier 1065492 1065503 - Identifier 1065504 1065520 - AmpersandAmpersandToken 1065521 1065524 - CallExpression 1065524 1065553 - Identifier 1065524 1065547 - Identifier 1065548 1065552 - BarBarToken 1065553 1065556 - BinaryExpression 1065556 1065724 - BinaryExpression 1065556 1065654 - BinaryExpression 1065556 1065605 - PropertyAccessExpression 1065556 1065580 - Identifier 1065556 1065574 - Identifier 1065575 1065580 - AmpersandToken 1065580 1065582 - PropertyAccessExpression 1065582 1065605 - Identifier 1065582 1065592 - Identifier 1065593 1065605 - AmpersandAmpersandToken 1065605 1065608 - CallExpression 1065608 1065654 - Identifier 1065608 1065624 - Identifier 1065625 1065629 - PropertyAccessExpression 1065630 1065653 - Identifier 1065630 1065640 - Identifier 1065641 1065653 - AmpersandAmpersandToken 1065654 1065657 - CallExpression 1065657 1065724 - Identifier 1065657 1065662 - PropertyAccessExpression 1065663 1065695 - ParenthesizedExpression 1065663 1065689 - AsExpression 1065664 1065688 - Identifier 1065664 1065668 - TypeReference 1065671 1065688 - Identifier 1065671 1065688 - Identifier 1065690 1065695 - Identifier 1065696 1065723 - FunctionDeclaration 1065733 1066974 - Identifier 1065749 1065762 - Parameter 1065763 1065773 - Identifier 1065763 1065767 - TypeReference 1065768 1065773 - Identifier 1065768 1065773 - Parameter 1065774 1065803 - Identifier 1065774 1065785 - PropertyAccessExpression 1065787 1065803 - Identifier 1065787 1065798 - Identifier 1065799 1065803 - TypeReference 1065805 1065810 - Identifier 1065805 1065810 - Block 1065810 1066974 - ExpressionStatement 1065812 1065850 - BinaryExpression 1065812 1065849 - Identifier 1065812 1065826 - EqualsToken 1065826 1065828 - CallExpression 1065828 1065849 - Identifier 1065828 1065843 - Identifier 1065844 1065848 - ReturnStatement 1065850 1066967 - ConditionalExpression 1065866 1066966 - CallExpression 1065866 1065886 - Identifier 1065866 1065880 - Identifier 1065881 1065885 - QuestionToken 1065886 1065888 - CallExpression 1065888 1065966 - Identifier 1065888 1065903 - CallExpression 1065904 1065965 - Identifier 1065904 1065916 - PropertyAccessExpression 1065917 1065952 - ParenthesizedExpression 1065917 1065943 - AsExpression 1065918 1065942 - Identifier 1065918 1065922 - TypeReference 1065925 1065942 - Identifier 1065925 1065942 - Identifier 1065944 1065952 - Identifier 1065953 1065964 - ColonToken 1065966 1065968 - ConditionalExpression 1065968 1066966 - CallExpression 1065968 1066020 - Identifier 1065968 1066002 - Identifier 1066003 1066007 - Identifier 1066008 1066019 - QuestionToken 1066020 1066022 - CallExpression 1066022 1066113 - Identifier 1066022 1066049 - AsExpression 1066050 1066100 - Identifier 1066050 1066054 - UnionType 1066057 1066100 - TypeReference 1066057 1066074 - Identifier 1066057 1066074 - TypeReference 1066076 1066100 - Identifier 1066076 1066100 - Identifier 1066101 1066112 - ColonToken 1066113 1066115 - ConditionalExpression 1066115 1066966 - BinaryExpression 1066115 1066157 - PropertyAccessExpression 1066115 1066139 - Identifier 1066115 1066133 - Identifier 1066134 1066139 - AmpersandToken 1066139 1066141 - PropertyAccessExpression 1066141 1066157 - Identifier 1066141 1066151 - Identifier 1066152 1066157 - QuestionToken 1066157 1066159 - CallExpression 1066159 1066245 - Identifier 1066159 1066179 - CallExpression 1066180 1066244 - Identifier 1066180 1066183 - PropertyAccessExpression 1066184 1066209 - ParenthesizedExpression 1066184 1066203 - AsExpression 1066185 1066202 - Identifier 1066185 1066189 - TypeReference 1066192 1066202 - Identifier 1066192 1066202 - Identifier 1066204 1066209 - ArrowFunction 1066210 1066243 - Parameter 1066210 1066212 - Identifier 1066210 1066212 - EqualsGreaterThanToken 1066212 1066215 - CallExpression 1066215 1066243 - Identifier 1066215 1066228 - Identifier 1066229 1066230 - Identifier 1066231 1066242 - ColonToken 1066245 1066247 - ConditionalExpression 1066247 1066966 - BinaryExpression 1066247 1066296 - PropertyAccessExpression 1066247 1066271 - Identifier 1066247 1066265 - Identifier 1066266 1066271 - AmpersandToken 1066271 1066273 - PropertyAccessExpression 1066273 1066296 - Identifier 1066273 1066283 - Identifier 1066284 1066296 - QuestionToken 1066296 1066298 - CallExpression 1066298 1066384 - Identifier 1066298 1066311 - CallExpression 1066312 1066383 - Identifier 1066312 1066315 - PropertyAccessExpression 1066316 1066348 - ParenthesizedExpression 1066316 1066342 - AsExpression 1066317 1066341 - Identifier 1066317 1066321 - TypeReference 1066324 1066341 - Identifier 1066324 1066341 - Identifier 1066343 1066348 - ArrowFunction 1066349 1066382 - Parameter 1066349 1066351 - Identifier 1066349 1066351 - EqualsGreaterThanToken 1066351 1066354 - CallExpression 1066354 1066382 - Identifier 1066354 1066367 - Identifier 1066368 1066369 - Identifier 1066370 1066381 - ColonToken 1066384 1066386 - ConditionalExpression 1066386 1066966 - BinaryExpression 1066386 1066441 - CallExpression 1066386 1066420 - Identifier 1066386 1066414 - Identifier 1066415 1066419 - AmpersandToken 1066420 1066422 - PropertyAccessExpression 1066422 1066441 - Identifier 1066422 1066434 - Identifier 1066435 1066441 - QuestionToken 1066441 1066443 - CallExpression 1066443 1066501 - Identifier 1066443 1066469 - AsExpression 1066470 1066488 - Identifier 1066470 1066474 - TypeReference 1066477 1066488 - Identifier 1066477 1066488 - Identifier 1066489 1066500 - ColonToken 1066501 1066503 - ConditionalExpression 1066503 1066966 - BinaryExpression 1066503 1066538 - Identifier 1066503 1066521 - EqualsEqualsEqualsToken 1066521 1066525 - Identifier 1066525 1066538 - QuestionToken 1066538 1066540 - Identifier 1066540 1066553 - ColonToken 1066553 1066555 - ConditionalExpression 1066555 1066966 - BinaryExpression 1066555 1066599 - PropertyAccessExpression 1066555 1066579 - Identifier 1066555 1066573 - Identifier 1066574 1066579 - AmpersandToken 1066579 1066581 - PropertyAccessExpression 1066581 1066599 - Identifier 1066581 1066591 - Identifier 1066592 1066599 - QuestionToken 1066599 1066601 - Identifier 1066601 1066611 - ColonToken 1066611 1066613 - ConditionalExpression 1066613 1066966 - BinaryExpression 1066613 1066673 - PropertyAccessExpression 1066613 1066637 - Identifier 1066613 1066631 - Identifier 1066632 1066637 - AmpersandToken 1066637 1066639 - ParenthesizedExpression 1066639 1066673 - BinaryExpression 1066641 1066672 - PropertyAccessExpression 1066641 1066654 - Identifier 1066641 1066650 - Identifier 1066651 1066654 - BarToken 1066654 1066656 - PropertyAccessExpression 1066656 1066672 - Identifier 1066656 1066666 - Identifier 1066667 1066672 - QuestionToken 1066673 1066675 - Identifier 1066675 1066698 - ColonToken 1066698 1066700 - CallExpression 1066700 1066966 - Identifier 1066700 1066742 - Identifier 1066743 1066747 - BinaryExpression 1066748 1066933 - ParenthesizedExpression 1066748 1066841 - ConditionalExpression 1066750 1066840 - BinaryExpression 1066750 1066791 - Identifier 1066750 1066760 - AmpersandToken 1066760 1066762 - PropertyAccessExpression 1066762 1066791 - Identifier 1066762 1066773 - Identifier 1066774 1066791 - QuestionToken 1066791 1066793 - PropertyAccessExpression 1066793 1066817 - Identifier 1066793 1066803 - Identifier 1066804 1066817 - ColonToken 1066817 1066819 - PropertyAccessExpression 1066819 1066840 - Identifier 1066819 1066829 - Identifier 1066830 1066840 - BarToken 1066841 1066843 - ParenthesizedExpression 1066843 1066933 - ConditionalExpression 1066845 1066932 - BinaryExpression 1066845 1066880 - Identifier 1066845 1066855 - AmpersandToken 1066855 1066857 - PropertyAccessExpression 1066857 1066880 - Identifier 1066857 1066868 - Identifier 1066869 1066880 - QuestionToken 1066880 1066882 - NumericLiteral 1066882 1066884 - ColonToken 1066884 1066886 - BinaryExpression 1066886 1066932 - PropertyAccessExpression 1066886 1066907 - Identifier 1066886 1066896 - Identifier 1066897 1066907 - BarToken 1066907 1066909 - PropertyAccessExpression 1066909 1066932 - Identifier 1066909 1066919 - Identifier 1066920 1066932 - BinaryExpression 1066934 1066965 - Identifier 1066934 1066945 - EqualsEqualsEqualsToken 1066945 1066949 - PropertyAccessExpression 1066949 1066965 - Identifier 1066949 1066960 - Identifier 1066961 1066965 - FunctionDeclaration 1066974 1067205 - Identifier 1066990 1067011 - Parameter 1067012 1067022 - Identifier 1067012 1067016 - TypeReference 1067017 1067022 - Identifier 1067017 1067022 - Block 1067023 1067205 - VariableStatement 1067025 1067085 - VariableDeclarationList 1067025 1067084 - VariableDeclaration 1067040 1067084 - Identifier 1067040 1067057 - CallExpression 1067059 1067084 - Identifier 1067059 1067082 - ReturnStatement 1067085 1067198 - ConditionalExpression 1067101 1067197 - Identifier 1067101 1067118 - QuestionToken 1067118 1067120 - CallExpression 1067120 1067184 - Identifier 1067120 1067146 - Identifier 1067147 1067163 - ArrayLiteralExpression 1067164 1067183 - Identifier 1067166 1067170 - Identifier 1067171 1067182 - ColonToken 1067184 1067186 - Identifier 1067186 1067197 - FunctionDeclaration 1067205 1067414 - Identifier 1067221 1067242 - Parameter 1067243 1067253 - Identifier 1067243 1067247 - TypeReference 1067248 1067253 - Identifier 1067248 1067253 - TypeReference 1067255 1067260 - Identifier 1067255 1067260 - Block 1067260 1067414 - VariableStatement 1067262 1067331 - VariableDeclarationList 1067262 1067330 - VariableDeclaration 1067277 1067330 - Identifier 1067277 1067287 - CallExpression 1067289 1067330 - Identifier 1067289 1067310 - CallExpression 1067311 1067329 - Identifier 1067311 1067323 - Identifier 1067324 1067328 - ReturnStatement 1067331 1067407 - ConditionalExpression 1067347 1067406 - BinaryExpression 1067347 1067381 - PropertyAccessExpression 1067347 1067363 - Identifier 1067347 1067357 - Identifier 1067358 1067363 - AmpersandToken 1067363 1067365 - PropertyAccessExpression 1067365 1067381 - Identifier 1067365 1067375 - Identifier 1067376 1067381 - QuestionToken 1067381 1067383 - Identifier 1067383 1067394 - ColonToken 1067394 1067396 - Identifier 1067396 1067406 - FunctionDeclaration 1067414 1068365 - Identifier 1067430 1067458 - Parameter 1067459 1067481 - Identifier 1067459 1067463 - TypeReference 1067464 1067481 - Identifier 1067464 1067481 - TypeReference 1067483 1067488 - Identifier 1067483 1067488 - Block 1067488 1068365 - VariableStatement 1067490 1067533 - VariableDeclarationList 1067490 1067532 - VariableDeclaration 1067505 1067532 - Identifier 1067505 1067511 - CallExpression 1067513 1067532 - Identifier 1067513 1067526 - Identifier 1067527 1067531 - IfStatement 1067533 1068322 - PrefixUnaryExpression 1067547 1067566 - PropertyAccessExpression 1067548 1067566 - Identifier 1067548 1067553 - Identifier 1067554 1067566 - Block 1067567 1068322 - SwitchStatement 1067569 1068311 - PropertyAccessExpression 1067591 1067604 - Identifier 1067591 1067595 - Identifier 1067596 1067604 - CaseBlock 1067605 1068311 - CaseClause 1067607 1067770 - PropertyAccessExpression 1067629 1067653 - Identifier 1067629 1067640 - Identifier 1067641 1067653 - ExpressionStatement 1067654 1067742 - BinaryExpression 1067654 1067741 - PropertyAccessExpression 1067654 1067694 - Identifier 1067654 1067681 - Identifier 1067682 1067694 - EqualsToken 1067694 1067696 - CallExpression 1067696 1067741 - Identifier 1067696 1067709 - CallExpression 1067710 1067740 - Identifier 1067710 1067729 - PropertyAccessExpression 1067730 1067739 - Identifier 1067730 1067734 - Identifier 1067735 1067739 - BreakStatement 1067742 1067770 - CaseClause 1067770 1068063 - PropertyAccessExpression 1067792 1067817 - Identifier 1067792 1067803 - Identifier 1067804 1067817 - ExpressionStatement 1067818 1068035 - BinaryExpression 1067818 1068034 - PropertyAccessExpression 1067818 1067858 - Identifier 1067818 1067845 - Identifier 1067846 1067858 - EqualsToken 1067858 1067860 - ConditionalExpression 1067860 1068034 - BinaryExpression 1067860 1067904 - PropertyAccessExpression 1067860 1067875 - PropertyAccessExpression 1067860 1067870 - Identifier 1067860 1067865 - Identifier 1067866 1067870 - Identifier 1067871 1067875 - EqualsEqualsEqualsToken 1067875 1067879 - PropertyAccessExpression 1067879 1067904 - Identifier 1067879 1067890 - Identifier 1067891 1067904 - QuestionToken 1067904 1067931 - CallExpression 1067931 1067997 - Identifier 1067931 1067958 - CallExpression 1067959 1067996 - Identifier 1067959 1067983 - PropertyAccessExpression 1067984 1067995 - Identifier 1067984 1067988 - Identifier 1067989 1067995 - ColonToken 1067997 1068024 - Identifier 1068024 1068034 - BreakStatement 1068035 1068063 - CaseClause 1068063 1068215 - PropertyAccessExpression 1068085 1068112 - Identifier 1068085 1068096 - Identifier 1068097 1068112 - ExpressionStatement 1068113 1068187 - BinaryExpression 1068113 1068186 - PropertyAccessExpression 1068113 1068153 - Identifier 1068113 1068140 - Identifier 1068141 1068153 - EqualsToken 1068153 1068155 - CallExpression 1068155 1068186 - Identifier 1068155 1068175 - PropertyAccessExpression 1068176 1068185 - Identifier 1068176 1068180 - Identifier 1068181 1068185 - BreakStatement 1068187 1068215 - DefaultClause 1068215 1068296 - ExpressionStatement 1068241 1068296 - CallExpression 1068241 1068295 - PropertyAccessExpression 1068241 1068280 - Identifier 1068241 1068268 - Identifier 1068269 1068280 - PropertyAccessExpression 1068281 1068294 - Identifier 1068281 1068285 - Identifier 1068286 1068294 - ReturnStatement 1068322 1068358 - PropertyAccessExpression 1068338 1068357 - Identifier 1068338 1068344 - Identifier 1068345 1068357 - FunctionDeclaration 1068365 1068821 - Identifier 1068381 1068409 - Parameter 1068410 1068439 - Identifier 1068410 1068414 - TypeReference 1068415 1068439 - Identifier 1068415 1068439 - Block 1068440 1068821 - VariableStatement 1068442 1068485 - VariableDeclarationList 1068442 1068484 - VariableDeclaration 1068457 1068484 - Identifier 1068457 1068463 - CallExpression 1068465 1068484 - Identifier 1068465 1068478 - Identifier 1068479 1068483 - IfStatement 1068485 1068778 - PrefixUnaryExpression 1068499 1068518 - PropertyAccessExpression 1068500 1068518 - Identifier 1068500 1068505 - Identifier 1068506 1068518 - Block 1068519 1068778 - ExpressionStatement 1068521 1068767 - BinaryExpression 1068521 1068766 - PropertyAccessExpression 1068521 1068553 - Identifier 1068521 1068540 - Identifier 1068541 1068553 - EqualsToken 1068553 1068555 - CallExpression 1068555 1068766 - Identifier 1068555 1068578 - ArrayLiteralExpression 1068579 1068668 - PropertyAccessExpression 1068598 1068612 - PropertyAccessExpression 1068598 1068607 - Identifier 1068598 1068602 - Identifier 1068603 1068607 - Identifier 1068608 1068612 - SpreadElement 1068613 1068667 - CallExpression 1068617 1068667 - Identifier 1068617 1068620 - PropertyAccessExpression 1068621 1068639 - Identifier 1068621 1068625 - Identifier 1068626 1068639 - ArrowFunction 1068640 1068666 - Parameter 1068640 1068645 - Identifier 1068640 1068645 - EqualsGreaterThanToken 1068645 1068648 - PropertyAccessExpression 1068648 1068666 - PropertyAccessExpression 1068648 1068661 - Identifier 1068648 1068653 - Identifier 1068654 1068661 - Identifier 1068662 1068666 - CallExpression 1068669 1068750 - Identifier 1068669 1068690 - PropertyAccessExpression 1068691 1068709 - Identifier 1068691 1068695 - Identifier 1068696 1068709 - ArrowFunction 1068710 1068749 - Parameter 1068710 1068715 - Identifier 1068710 1068715 - EqualsGreaterThanToken 1068715 1068718 - CallExpression 1068718 1068749 - Identifier 1068718 1068738 - PropertyAccessExpression 1068739 1068748 - Identifier 1068739 1068743 - Identifier 1068744 1068748 - ReturnStatement 1068778 1068814 - PropertyAccessExpression 1068794 1068813 - Identifier 1068794 1068800 - Identifier 1068801 1068813 - FunctionDeclaration 1068821 1071441 - Identifier 1068837 1068860 - Parameter 1068861 1068885 - Identifier 1068861 1068866 - TypeOperator 1068867 1068885 - ArrayType 1068876 1068885 - StringKeyword 1068876 1068883 - Parameter 1068886 1068909 - Identifier 1068886 1068892 - TypeOperator 1068893 1068909 - ArrayType 1068902 1068909 - TypeReference 1068902 1068907 - Identifier 1068902 1068907 - TypeReference 1068911 1068916 - Identifier 1068911 1068916 - Block 1068916 1071441 - VariableStatement 1068918 1069020 - VariableDeclarationList 1068918 1069019 - VariableDeclaration 1068933 1069019 - Identifier 1068933 1068944 - CallExpression 1068946 1069019 - Identifier 1068946 1068956 - Identifier 1068957 1068962 - ArrowFunction 1068963 1069018 - Parameter 1068963 1068965 - Identifier 1068963 1068965 - EqualsGreaterThanToken 1068965 1068968 - PrefixUnaryExpression 1068968 1069018 - PrefixUnaryExpression 1068970 1069018 - ParenthesizedExpression 1068971 1069018 - BinaryExpression 1068972 1069017 - PropertyAccessExpression 1068972 1068979 - Identifier 1068972 1068973 - Identifier 1068974 1068979 - AmpersandToken 1068979 1068981 - ParenthesizedExpression 1068981 1069017 - BinaryExpression 1068983 1069016 - PropertyAccessExpression 1068983 1068998 - Identifier 1068983 1068992 - Identifier 1068993 1068998 - BarToken 1068998 1069000 - PropertyAccessExpression 1069000 1069016 - Identifier 1069000 1069010 - Identifier 1069011 1069016 - IfStatement 1069020 1069263 - BinaryExpression 1069034 1069049 - Identifier 1069034 1069044 - GreaterThanEqualsToken 1069044 1069047 - NumericLiteral 1069047 1069049 - Block 1069050 1069263 - ReturnStatement 1069052 1069252 - ConditionalExpression 1069072 1069251 - CallExpression 1069072 1069102 - Identifier 1069072 1069095 - Identifier 1069096 1069101 - QuestionToken 1069102 1069104 - CallExpression 1069104 1069222 - Identifier 1069104 1069129 - ElementAccessExpression 1069130 1069147 - Identifier 1069130 1069135 - Identifier 1069136 1069146 - ArrowFunction 1069148 1069221 - Parameter 1069148 1069150 - Identifier 1069148 1069150 - EqualsGreaterThanToken 1069150 1069153 - CallExpression 1069153 1069221 - Identifier 1069153 1069176 - Identifier 1069177 1069182 - CallExpression 1069183 1069220 - Identifier 1069183 1069198 - Identifier 1069199 1069204 - Identifier 1069205 1069216 - Identifier 1069217 1069219 - ColonToken 1069222 1069224 - Identifier 1069224 1069251 - IfStatement 1069263 1069354 - CallExpression 1069277 1069306 - Identifier 1069277 1069285 - Identifier 1069286 1069291 - Identifier 1069292 1069305 - Block 1069307 1069354 - ReturnStatement 1069309 1069343 - Identifier 1069329 1069342 - VariableStatement 1069354 1069392 - VariableDeclarationList 1069354 1069391 - VariableDeclaration 1069369 1069391 - Identifier 1069369 1069378 - ArrayType 1069379 1069386 - TypeReference 1069379 1069384 - Identifier 1069379 1069384 - ArrayLiteralExpression 1069388 1069391 - VariableStatement 1069392 1069432 - VariableDeclarationList 1069392 1069431 - VariableDeclaration 1069407 1069431 - Identifier 1069407 1069416 - ArrayType 1069417 1069426 - StringKeyword 1069417 1069424 - ArrayLiteralExpression 1069428 1069431 - VariableStatement 1069432 1069462 - VariableDeclarationList 1069432 1069461 - VariableDeclaration 1069445 1069461 - Identifier 1069445 1069450 - ElementAccessExpression 1069452 1069461 - Identifier 1069452 1069458 - NumericLiteral 1069459 1069460 - IfStatement 1069462 1069545 - PrefixUnaryExpression 1069476 1069499 - CallExpression 1069477 1069499 - Identifier 1069477 1069485 - Identifier 1069486 1069491 - Identifier 1069492 1069498 - Block 1069500 1069545 - ReturnStatement 1069502 1069534 - Identifier 1069522 1069533 - IfStatement 1069545 1069642 - BinaryExpression 1069559 1069580 - PropertyAccessExpression 1069559 1069574 - Identifier 1069559 1069567 - Identifier 1069568 1069574 - EqualsEqualsEqualsToken 1069574 1069578 - NumericLiteral 1069578 1069580 - Block 1069581 1069642 - ReturnStatement 1069583 1069631 - CallExpression 1069603 1069630 - Identifier 1069603 1069624 - Identifier 1069625 1069629 - ExpressionStatement 1069642 1069672 - CallExpression 1069642 1069671 - PropertyAccessExpression 1069642 1069665 - Identifier 1069642 1069660 - Identifier 1069661 1069665 - Identifier 1069666 1069670 - IfStatement 1069672 1070047 - CallExpression 1069686 1069716 - Identifier 1069686 1069691 - Identifier 1069692 1069700 - ArrowFunction 1069701 1069715 - Parameter 1069701 1069703 - Identifier 1069701 1069703 - EqualsGreaterThanToken 1069703 1069706 - BinaryExpression 1069706 1069715 - Identifier 1069706 1069708 - EqualsEqualsEqualsToken 1069708 1069712 - StringLiteral 1069712 1069715 - Block 1069717 1070047 - IfStatement 1069719 1069843 - CallExpression 1069737 1069789 - Identifier 1069737 1069742 - Identifier 1069743 1069751 - ArrowFunction 1069752 1069788 - Parameter 1069752 1069754 - Identifier 1069752 1069754 - EqualsGreaterThanToken 1069754 1069757 - PrefixUnaryExpression 1069757 1069788 - PrefixUnaryExpression 1069759 1069788 - ParenthesizedExpression 1069760 1069788 - BinaryExpression 1069761 1069787 - PropertyAccessExpression 1069761 1069768 - Identifier 1069761 1069762 - Identifier 1069763 1069768 - AmpersandToken 1069768 1069770 - PropertyAccessExpression 1069770 1069787 - Identifier 1069770 1069780 - Identifier 1069781 1069787 - Block 1069790 1069843 - ReturnStatement 1069792 1069828 - Identifier 1069816 1069827 - IfStatement 1069843 1070036 - BinaryExpression 1069923 1069981 - BinaryExpression 1069923 1069944 - PropertyAccessExpression 1069923 1069938 - Identifier 1069923 1069931 - Identifier 1069932 1069938 - EqualsEqualsEqualsToken 1069938 1069942 - NumericLiteral 1069942 1069944 - AmpersandAmpersandToken 1069944 1069947 - CallExpression 1069947 1069981 - Identifier 1069947 1069968 - ElementAccessExpression 1069969 1069980 - Identifier 1069969 1069977 - NumericLiteral 1069978 1069979 - Block 1069982 1070036 - ReturnStatement 1069984 1070021 - ElementAccessExpression 1070008 1070020 - Identifier 1070008 1070017 - NumericLiteral 1070018 1070019 - VariableStatement 1070047 1070160 - VariableDeclarationList 1070047 1070159 - VariableDeclaration 1070062 1070159 - Identifier 1070062 1070065 - TemplateExpression 1070067 1070159 - TemplateHead 1070067 1070071 - TemplateSpan 1070071 1070098 - CallExpression 1070071 1070094 - Identifier 1070071 1070084 - Identifier 1070085 1070093 - TemplateMiddle 1070094 1070098 - TemplateSpan 1070098 1070140 - CallExpression 1070098 1070136 - PropertyAccessExpression 1070098 1070131 - CallExpression 1070098 1070126 - Identifier 1070098 1070101 - Identifier 1070102 1070110 - ArrowFunction 1070111 1070125 - Parameter 1070111 1070113 - Identifier 1070111 1070113 - EqualsGreaterThanToken 1070113 1070116 - PropertyAccessExpression 1070116 1070125 - Identifier 1070116 1070118 - Identifier 1070119 1070125 - Identifier 1070127 1070131 - StringLiteral 1070132 1070135 - TemplateMiddle 1070136 1070140 - TemplateSpan 1070140 1070159 - CallExpression 1070140 1070157 - PropertyAccessExpression 1070140 1070153 - Identifier 1070140 1070148 - Identifier 1070149 1070153 - StringLiteral 1070154 1070156 - TemplateTail 1070157 1070159 - VariableStatement 1070160 1070210 - VariableDeclarationList 1070160 1070209 - VariableDeclaration 1070173 1070209 - Identifier 1070173 1070178 - CallExpression 1070180 1070209 - PropertyAccessExpression 1070180 1070205 - Identifier 1070180 1070201 - Identifier 1070202 1070205 - Identifier 1070206 1070208 - IfStatement 1070210 1070340 - PrefixUnaryExpression 1070224 1070229 - Identifier 1070225 1070229 - Block 1070230 1070340 - ExpressionStatement 1070232 1070329 - CallExpression 1070232 1070328 - PropertyAccessExpression 1070232 1070270 - Identifier 1070232 1070266 - Identifier 1070267 1070270 - Identifier 1070271 1070273 - BinaryExpression 1070274 1070327 - Identifier 1070274 1070279 - EqualsToken 1070279 1070281 - CallExpression 1070281 1070327 - Identifier 1070281 1070307 - Identifier 1070308 1070316 - Identifier 1070317 1070326 - ReturnStatement 1070340 1070362 - Identifier 1070356 1070361 - FunctionDeclaration 1070362 1071434 - Identifier 1070382 1070391 - Parameter 1070392 1070416 - Identifier 1070392 1070397 - TypeOperator 1070398 1070416 - ArrayType 1070407 1070416 - StringKeyword 1070407 1070414 - Parameter 1070417 1070440 - Identifier 1070417 1070423 - TypeOperator 1070424 1070440 - ArrayType 1070433 1070440 - TypeReference 1070433 1070438 - Identifier 1070433 1070438 - BooleanKeyword 1070442 1070450 - Block 1070450 1071434 - ForStatement 1070452 1071397 - VariableDeclarationList 1070471 1070480 - VariableDeclaration 1070474 1070480 - Identifier 1070474 1070476 - NumericLiteral 1070478 1070480 - BinaryExpression 1070481 1070498 - Identifier 1070481 1070483 - LessThanToken 1070483 1070485 - PropertyAccessExpression 1070485 1070498 - Identifier 1070485 1070491 - Identifier 1070492 1070498 - PostfixUnaryExpression 1070499 1070503 - Identifier 1070499 1070501 - Block 1070504 1071397 - VariableStatement 1070506 1070543 - VariableDeclarationList 1070506 1070542 - VariableDeclaration 1070529 1070542 - Identifier 1070529 1070531 - ElementAccessExpression 1070533 1070542 - Identifier 1070533 1070539 - Identifier 1070540 1070541 - IfStatement 1070543 1071382 - BinaryExpression 1070565 1070633 - PropertyAccessExpression 1070565 1070572 - Identifier 1070565 1070566 - Identifier 1070567 1070572 - AmpersandToken 1070572 1070574 - ParenthesizedExpression 1070574 1070633 - BinaryExpression 1070576 1070632 - BinaryExpression 1070576 1070610 - PropertyAccessExpression 1070576 1070593 - Identifier 1070576 1070585 - Identifier 1070586 1070593 - BarToken 1070593 1070595 - PropertyAccessExpression 1070595 1070610 - Identifier 1070595 1070605 - Identifier 1070606 1070610 - BarToken 1070610 1070612 - PropertyAccessExpression 1070612 1070632 - Identifier 1070612 1070622 - Identifier 1070623 1070632 - Block 1070634 1070762 - ExpressionStatement 1070636 1070700 - BinaryExpression 1070636 1070699 - Identifier 1070636 1070662 - PlusEqualsToken 1070662 1070665 - BinaryExpression 1070665 1070699 - CallExpression 1070665 1070693 - Identifier 1070665 1070690 - Identifier 1070691 1070692 - BarBarToken 1070693 1070696 - StringLiteral 1070696 1070699 - ExpressionStatement 1070700 1070743 - BinaryExpression 1070700 1070742 - Identifier 1070700 1070726 - PlusEqualsToken 1070726 1070729 - ElementAccessExpression 1070729 1070742 - Identifier 1070729 1070735 - BinaryExpression 1070736 1070741 - Identifier 1070736 1070737 - PlusToken 1070737 1070739 - NumericLiteral 1070739 1070741 - IfStatement 1070784 1071382 - BinaryExpression 1070789 1070824 - PropertyAccessExpression 1070789 1070796 - Identifier 1070789 1070790 - Identifier 1070791 1070796 - AmpersandToken 1070796 1070798 - PropertyAccessExpression 1070798 1070824 - Identifier 1070798 1070808 - Identifier 1070809 1070824 - Block 1070825 1071073 - ExpressionStatement 1070827 1070893 - BinaryExpression 1070827 1070892 - Identifier 1070827 1070853 - PlusEqualsToken 1070853 1070856 - ElementAccessExpression 1070856 1070892 - PropertyAccessExpression 1070856 1070889 - ParenthesizedExpression 1070856 1070883 - AsExpression 1070858 1070882 - Identifier 1070858 1070859 - TypeReference 1070862 1070882 - Identifier 1070862 1070882 - Identifier 1070884 1070889 - NumericLiteral 1070890 1070891 - IfStatement 1070893 1071011 - PrefixUnaryExpression 1070919 1070996 - CallExpression 1070920 1070996 - Identifier 1070920 1070928 - PropertyAccessExpression 1070929 1070961 - ParenthesizedExpression 1070929 1070955 - AsExpression 1070930 1070954 - Identifier 1070930 1070931 - TypeReference 1070934 1070954 - Identifier 1070934 1070954 - Identifier 1070956 1070961 - PropertyAccessExpression 1070962 1070995 - ParenthesizedExpression 1070962 1070989 - AsExpression 1070964 1070988 - Identifier 1070964 1070965 - TypeReference 1070968 1070988 - Identifier 1070968 1070988 - Identifier 1070990 1070995 - ReturnStatement 1070997 1071011 - FalseKeyword 1071004 1071010 - ExpressionStatement 1071011 1071054 - BinaryExpression 1071011 1071053 - Identifier 1071011 1071037 - PlusEqualsToken 1071037 1071040 - ElementAccessExpression 1071040 1071053 - Identifier 1071040 1071046 - BinaryExpression 1071047 1071052 - Identifier 1071047 1071048 - PlusToken 1071048 1071050 - NumericLiteral 1071050 1071052 - IfStatement 1071095 1071382 - BinaryExpression 1071100 1071159 - CallExpression 1071100 1071121 - Identifier 1071100 1071118 - Identifier 1071119 1071120 - BarBarToken 1071121 1071124 - CallExpression 1071124 1071159 - Identifier 1071124 1071156 - Identifier 1071157 1071158 - Block 1071160 1071304 - ExpressionStatement 1071162 1071201 - CallExpression 1071162 1071200 - PropertyAccessExpression 1071162 1071197 - Identifier 1071162 1071192 - Identifier 1071193 1071197 - Identifier 1071198 1071199 - ExpressionStatement 1071201 1071243 - CallExpression 1071201 1071242 - PropertyAccessExpression 1071201 1071236 - Identifier 1071201 1071231 - Identifier 1071232 1071236 - Identifier 1071237 1071241 - ExpressionStatement 1071243 1071285 - BinaryExpression 1071243 1071284 - Identifier 1071243 1071269 - EqualsToken 1071269 1071271 - ElementAccessExpression 1071271 1071284 - Identifier 1071271 1071277 - BinaryExpression 1071278 1071283 - Identifier 1071278 1071279 - PlusToken 1071279 1071281 - NumericLiteral 1071281 1071283 - Block 1071326 1071382 - ReturnStatement 1071328 1071363 - FalseKeyword 1071356 1071362 - ReturnStatement 1071397 1071423 - TrueKeyword 1071417 1071422 - FunctionDeclaration 1071441 1071937 - Identifier 1071457 1071482 - Parameter 1071483 1071493 - Identifier 1071483 1071487 - TypeReference 1071488 1071493 - Identifier 1071488 1071493 - Block 1071494 1071937 - ReturnStatement 1071496 1071930 - ConditionalExpression 1071512 1071929 - BinaryExpression 1071512 1071549 - PropertyAccessExpression 1071512 1071523 - Identifier 1071512 1071517 - Identifier 1071518 1071523 - AmpersandToken 1071523 1071525 - PropertyAccessExpression 1071525 1071549 - Identifier 1071525 1071535 - Identifier 1071536 1071549 - QuestionToken 1071549 1071551 - PropertyAccessExpression 1071551 1071585 - ParenthesizedExpression 1071551 1071579 - AsExpression 1071553 1071578 - Identifier 1071553 1071557 - TypeReference 1071560 1071578 - Identifier 1071560 1071578 - Identifier 1071580 1071585 - ColonToken 1071585 1071587 - ConditionalExpression 1071587 1071929 - BinaryExpression 1071587 1071637 - PropertyAccessExpression 1071587 1071611 - Identifier 1071587 1071605 - Identifier 1071606 1071611 - AmpersandToken 1071611 1071613 - PropertyAccessExpression 1071613 1071637 - Identifier 1071613 1071623 - Identifier 1071624 1071637 - QuestionToken 1071637 1071639 - BinaryExpression 1071639 1071678 - StringLiteral 1071639 1071642 - PlusToken 1071642 1071644 - PropertyAccessExpression 1071644 1071678 - ParenthesizedExpression 1071644 1071672 - AsExpression 1071646 1071671 - Identifier 1071646 1071650 - TypeReference 1071653 1071671 - Identifier 1071653 1071671 - Identifier 1071673 1071678 - ColonToken 1071678 1071680 - ConditionalExpression 1071680 1071929 - BinaryExpression 1071680 1071730 - PropertyAccessExpression 1071680 1071704 - Identifier 1071680 1071698 - Identifier 1071699 1071704 - AmpersandToken 1071704 1071706 - PropertyAccessExpression 1071706 1071730 - Identifier 1071706 1071716 - Identifier 1071717 1071730 - QuestionToken 1071730 1071732 - CallExpression 1071732 1071788 - Identifier 1071732 1071753 - PropertyAccessExpression 1071754 1071787 - ParenthesizedExpression 1071754 1071781 - AsExpression 1071755 1071780 - Identifier 1071755 1071759 - TypeReference 1071762 1071780 - Identifier 1071762 1071780 - Identifier 1071782 1071787 - ColonToken 1071788 1071790 - ConditionalExpression 1071790 1071929 - BinaryExpression 1071790 1071864 - PropertyAccessExpression 1071790 1071814 - Identifier 1071790 1071808 - Identifier 1071809 1071814 - AmpersandToken 1071814 1071816 - ParenthesizedExpression 1071816 1071864 - BinaryExpression 1071818 1071863 - PropertyAccessExpression 1071818 1071842 - Identifier 1071818 1071827 - Identifier 1071828 1071842 - BarToken 1071842 1071844 - PropertyAccessExpression 1071844 1071863 - Identifier 1071844 1071854 - Identifier 1071855 1071863 - QuestionToken 1071864 1071866 - PropertyAccessExpression 1071866 1071904 - ParenthesizedExpression 1071866 1071890 - AsExpression 1071868 1071889 - Identifier 1071868 1071872 - TypeReference 1071875 1071889 - Identifier 1071875 1071889 - Identifier 1071891 1071904 - ColonToken 1071904 1071906 - Identifier 1071906 1071929 - FunctionDeclaration 1071937 1072202 - Identifier 1071953 1071979 - Parameter 1071980 1072004 - Identifier 1071980 1071985 - TypeOperator 1071986 1072004 - ArrayType 1071995 1072004 - StringKeyword 1071995 1072002 - Parameter 1072005 1072028 - Identifier 1072005 1072011 - TypeOperator 1072012 1072028 - ArrayType 1072021 1072028 - TypeReference 1072021 1072026 - Identifier 1072021 1072026 - Block 1072029 1072202 - VariableStatement 1072031 1072115 - VariableDeclarationList 1072031 1072114 - VariableDeclaration 1072046 1072114 - Identifier 1072046 1072051 - AsExpression 1072053 1072114 - CallExpression 1072053 1072091 - Identifier 1072053 1072064 - PropertyAccessExpression 1072065 1072090 - Identifier 1072065 1072074 - Identifier 1072075 1072090 - TypeReference 1072094 1072114 - Identifier 1072094 1072114 - ExpressionStatement 1072115 1072144 - BinaryExpression 1072115 1072143 - PropertyAccessExpression 1072115 1072135 - Identifier 1072115 1072129 - Identifier 1072130 1072135 - EqualsToken 1072135 1072137 - Identifier 1072137 1072143 - ExpressionStatement 1072144 1072173 - BinaryExpression 1072144 1072172 - PropertyAccessExpression 1072144 1072164 - Identifier 1072144 1072158 - Identifier 1072159 1072164 - EqualsToken 1072164 1072166 - Identifier 1072166 1072172 - ReturnStatement 1072173 1072195 - Identifier 1072189 1072194 - FunctionDeclaration 1072202 1073271 - Identifier 1072218 1072239 - Parameter 1072240 1072254 - Identifier 1072240 1072246 - TypeReference 1072247 1072254 - Identifier 1072247 1072254 - Parameter 1072255 1072266 - Identifier 1072255 1072260 - TypeReference 1072261 1072266 - Identifier 1072261 1072266 - TypeReference 1072268 1072273 - Identifier 1072268 1072273 - Block 1072273 1073271 - ReturnStatement 1072275 1073264 - ConditionalExpression 1072291 1073263 - BinaryExpression 1072291 1072340 - PropertyAccessExpression 1072291 1072302 - Identifier 1072291 1072296 - Identifier 1072297 1072302 - AmpersandToken 1072302 1072304 - ParenthesizedExpression 1072304 1072340 - BinaryExpression 1072306 1072339 - PropertyAccessExpression 1072306 1072321 - Identifier 1072306 1072315 - Identifier 1072316 1072321 - BarToken 1072321 1072323 - PropertyAccessExpression 1072323 1072339 - Identifier 1072323 1072333 - Identifier 1072334 1072339 - QuestionToken 1072340 1072342 - CallExpression 1072342 1072394 - Identifier 1072342 1072350 - Identifier 1072351 1072355 - ArrowFunction 1072356 1072393 - Parameter 1072356 1072358 - Identifier 1072356 1072358 - EqualsGreaterThanToken 1072358 1072361 - CallExpression 1072361 1072393 - Identifier 1072361 1072382 - Identifier 1072383 1072389 - Identifier 1072390 1072392 - ColonToken 1072394 1072396 - ConditionalExpression 1072396 1073263 - BinaryExpression 1072396 1072446 - PropertyAccessExpression 1072396 1072420 - Identifier 1072396 1072414 - Identifier 1072415 1072420 - AmpersandToken 1072420 1072422 - PropertyAccessExpression 1072422 1072446 - Identifier 1072422 1072432 - Identifier 1072433 1072446 - QuestionToken 1072446 1072448 - CallExpression 1072448 1072532 - Identifier 1072448 1072469 - CallExpression 1072470 1072531 - Identifier 1072470 1072488 - Identifier 1072489 1072495 - PropertyAccessExpression 1072496 1072530 - ParenthesizedExpression 1072496 1072524 - AsExpression 1072498 1072523 - Identifier 1072498 1072502 - TypeReference 1072505 1072523 - Identifier 1072505 1072523 - Identifier 1072525 1072530 - ColonToken 1072532 1072534 - ConditionalExpression 1072534 1073263 - BinaryExpression 1072534 1072586 - PropertyAccessExpression 1072534 1072558 - Identifier 1072534 1072552 - Identifier 1072553 1072558 - AmpersandToken 1072558 1072560 - PropertyAccessExpression 1072560 1072586 - Identifier 1072560 1072570 - Identifier 1072571 1072586 - QuestionToken 1072586 1072588 - CallExpression 1072588 1072724 - Identifier 1072588 1072611 - SpreadElement 1072612 1072723 - CallExpression 1072615 1072723 - Identifier 1072615 1072641 - Identifier 1072642 1072648 - PropertyAccessExpression 1072649 1072685 - ParenthesizedExpression 1072649 1072679 - AsExpression 1072651 1072678 - Identifier 1072651 1072655 - TypeReference 1072658 1072678 - Identifier 1072658 1072678 - Identifier 1072680 1072685 - PropertyAccessExpression 1072686 1072722 - ParenthesizedExpression 1072686 1072716 - AsExpression 1072688 1072715 - Identifier 1072688 1072692 - TypeReference 1072695 1072715 - Identifier 1072695 1072715 - Identifier 1072717 1072722 - ColonToken 1072724 1072726 - ConditionalExpression 1072726 1073263 - BinaryExpression 1072726 1072853 - BinaryExpression 1072726 1072827 - PropertyAccessExpression 1072726 1072801 - Identifier 1072726 1072795 - Identifier 1072796 1072801 - AmpersandToken 1072801 1072803 - PropertyAccessExpression 1072803 1072827 - Identifier 1072803 1072813 - Identifier 1072814 1072827 - AmpersandAmpersandToken 1072827 1072830 - BinaryExpression 1072830 1072853 - Identifier 1072830 1072837 - EqualsEqualsEqualsToken 1072837 1072841 - PropertyAccessExpression 1072841 1072853 - Identifier 1072841 1072846 - Identifier 1072847 1072853 - QuestionToken 1072853 1072855 - Identifier 1072855 1072860 - ColonToken 1072860 1072862 - ConditionalExpression 1072862 1073263 - BinaryExpression 1072862 1072977 - BinaryExpression 1072862 1072949 - PropertyAccessExpression 1072862 1072886 - Identifier 1072862 1072880 - Identifier 1072881 1072886 - AmpersandToken 1072886 1072888 - ParenthesizedExpression 1072888 1072949 - BinaryExpression 1072890 1072948 - BinaryExpression 1072890 1072922 - PropertyAccessExpression 1072890 1072903 - Identifier 1072890 1072899 - Identifier 1072900 1072903 - BarToken 1072903 1072905 - PropertyAccessExpression 1072905 1072922 - Identifier 1072905 1072915 - Identifier 1072916 1072922 - BarToken 1072922 1072924 - PropertyAccessExpression 1072924 1072948 - Identifier 1072924 1072934 - Identifier 1072935 1072948 - BarBarToken 1072949 1072952 - CallExpression 1072952 1072977 - Identifier 1072952 1072971 - Identifier 1072972 1072976 - QuestionToken 1072977 1072979 - CallExpression 1072979 1073028 - Identifier 1072979 1073014 - Identifier 1073015 1073021 - Identifier 1073022 1073027 - ColonToken 1073028 1073030 - ConditionalExpression 1073030 1073263 - CallExpression 1073030 1073156 - Identifier 1073030 1073150 - Identifier 1073151 1073155 - QuestionToken 1073156 1073158 - CallExpression 1073158 1073243 - Identifier 1073158 1073193 - Identifier 1073194 1073200 - CallExpression 1073201 1073242 - Identifier 1073201 1073224 - ArrayLiteralExpression 1073225 1073233 - StringLiteral 1073226 1073228 - StringLiteral 1073229 1073232 - ArrayLiteralExpression 1073234 1073241 - Identifier 1073236 1073240 - ColonToken 1073243 1073245 - Identifier 1073245 1073263 - FunctionDeclaration 1073271 1073863 - Identifier 1073287 1073306 - Parameter 1073307 1073321 - Identifier 1073307 1073313 - TypeReference 1073314 1073321 - Identifier 1073314 1073321 - Parameter 1073322 1073334 - Identifier 1073322 1073326 - StringKeyword 1073327 1073334 - Block 1073335 1073863 - SwitchStatement 1073337 1073835 - CallExpression 1073355 1073407 - PropertyAccessExpression 1073355 1073377 - Identifier 1073355 1073373 - Identifier 1073374 1073377 - AsExpression 1073378 1073406 - PropertyAccessExpression 1073378 1073396 - Identifier 1073378 1073384 - Identifier 1073385 1073396 - StringKeyword 1073399 1073406 - CaseBlock 1073408 1073835 - CaseClause 1073410 1073500 - PropertyAccessExpression 1073428 1073456 - Identifier 1073428 1073446 - Identifier 1073447 1073456 - ReturnStatement 1073457 1073500 - CallExpression 1073481 1073499 - PropertyAccessExpression 1073481 1073497 - Identifier 1073481 1073485 - Identifier 1073486 1073497 - CaseClause 1073500 1073590 - PropertyAccessExpression 1073518 1073546 - Identifier 1073518 1073536 - Identifier 1073537 1073546 - ReturnStatement 1073547 1073590 - CallExpression 1073571 1073589 - PropertyAccessExpression 1073571 1073587 - Identifier 1073571 1073575 - Identifier 1073576 1073587 - CaseClause 1073590 1073706 - PropertyAccessExpression 1073608 1073637 - Identifier 1073608 1073626 - Identifier 1073627 1073637 - ReturnStatement 1073638 1073706 - BinaryExpression 1073662 1073705 - CallExpression 1073662 1073690 - PropertyAccessExpression 1073662 1073688 - CallExpression 1073662 1073676 - PropertyAccessExpression 1073662 1073673 - Identifier 1073662 1073666 - Identifier 1073667 1073673 - NumericLiteral 1073674 1073675 - Identifier 1073677 1073688 - PlusToken 1073690 1073692 - CallExpression 1073692 1073705 - PropertyAccessExpression 1073692 1073702 - Identifier 1073692 1073696 - Identifier 1073697 1073702 - NumericLiteral 1073703 1073704 - CaseClause 1073706 1073824 - PropertyAccessExpression 1073724 1073755 - Identifier 1073724 1073742 - Identifier 1073743 1073755 - ReturnStatement 1073756 1073824 - BinaryExpression 1073780 1073823 - CallExpression 1073780 1073808 - PropertyAccessExpression 1073780 1073806 - CallExpression 1073780 1073794 - PropertyAccessExpression 1073780 1073791 - Identifier 1073780 1073784 - Identifier 1073785 1073791 - NumericLiteral 1073792 1073793 - Identifier 1073795 1073806 - PlusToken 1073808 1073810 - CallExpression 1073810 1073823 - PropertyAccessExpression 1073810 1073820 - Identifier 1073810 1073814 - Identifier 1073815 1073820 - NumericLiteral 1073821 1073822 - ReturnStatement 1073835 1073856 - Identifier 1073851 1073855 - FunctionDeclaration 1073863 1074985 - Identifier 1073879 1073906 - Parameter 1073907 1073921 - Identifier 1073907 1073913 - TypeReference 1073914 1073921 - Identifier 1073914 1073921 - Parameter 1073922 1073947 - Identifier 1073922 1073928 - TypeOperator 1073929 1073947 - ArrayType 1073938 1073947 - StringKeyword 1073938 1073945 - Parameter 1073948 1073971 - Identifier 1073948 1073954 - TypeOperator 1073955 1073971 - ArrayType 1073964 1073971 - TypeReference 1073964 1073969 - Identifier 1073964 1073969 - TupleType 1073973 1074024 - NamedTupleMember 1073975 1073999 - Identifier 1073975 1073980 - TypeOperator 1073981 1073999 - ArrayType 1073990 1073999 - StringKeyword 1073990 1073997 - NamedTupleMember 1074000 1074023 - Identifier 1074000 1074006 - TypeOperator 1074007 1074023 - ArrayType 1074016 1074023 - TypeReference 1074016 1074021 - Identifier 1074016 1074021 - Block 1074024 1074985 - SwitchStatement 1074026 1074946 - CallExpression 1074044 1074096 - PropertyAccessExpression 1074044 1074066 - Identifier 1074044 1074062 - Identifier 1074063 1074066 - AsExpression 1074067 1074095 - PropertyAccessExpression 1074067 1074085 - Identifier 1074067 1074073 - Identifier 1074074 1074085 - StringKeyword 1074088 1074095 - CaseBlock 1074097 1074946 - CaseClause 1074099 1074254 - PropertyAccessExpression 1074117 1074145 - Identifier 1074117 1074135 - Identifier 1074136 1074145 - ReturnStatement 1074146 1074254 - ArrayLiteralExpression 1074170 1074253 - CallExpression 1074172 1074203 - PropertyAccessExpression 1074172 1074181 - Identifier 1074172 1074177 - Identifier 1074178 1074181 - ArrowFunction 1074182 1074202 - Parameter 1074182 1074183 - Identifier 1074182 1074183 - EqualsGreaterThanToken 1074183 1074186 - CallExpression 1074186 1074202 - PropertyAccessExpression 1074186 1074200 - Identifier 1074186 1074188 - Identifier 1074189 1074200 - CallExpression 1074204 1074252 - PropertyAccessExpression 1074204 1074214 - Identifier 1074204 1074210 - Identifier 1074211 1074214 - ArrowFunction 1074215 1074251 - Parameter 1074215 1074216 - Identifier 1074215 1074216 - EqualsGreaterThanToken 1074216 1074219 - CallExpression 1074219 1074251 - Identifier 1074219 1074240 - Identifier 1074241 1074247 - Identifier 1074248 1074250 - CaseClause 1074254 1074409 - PropertyAccessExpression 1074272 1074300 - Identifier 1074272 1074290 - Identifier 1074291 1074300 - ReturnStatement 1074301 1074409 - ArrayLiteralExpression 1074325 1074408 - CallExpression 1074327 1074358 - PropertyAccessExpression 1074327 1074336 - Identifier 1074327 1074332 - Identifier 1074333 1074336 - ArrowFunction 1074337 1074357 - Parameter 1074337 1074338 - Identifier 1074337 1074338 - EqualsGreaterThanToken 1074338 1074341 - CallExpression 1074341 1074357 - PropertyAccessExpression 1074341 1074355 - Identifier 1074341 1074343 - Identifier 1074344 1074355 - CallExpression 1074359 1074407 - PropertyAccessExpression 1074359 1074369 - Identifier 1074359 1074365 - Identifier 1074366 1074369 - ArrowFunction 1074370 1074406 - Parameter 1074370 1074371 - Identifier 1074370 1074371 - EqualsGreaterThanToken 1074371 1074374 - CallExpression 1074374 1074406 - Identifier 1074374 1074395 - Identifier 1074396 1074402 - Identifier 1074403 1074405 - CaseClause 1074409 1074671 - PropertyAccessExpression 1074427 1074456 - Identifier 1074427 1074445 - Identifier 1074446 1074456 - ReturnStatement 1074457 1074671 - ArrayLiteralExpression 1074481 1074670 - ConditionalExpression 1074483 1074582 - BinaryExpression 1074483 1074498 - ElementAccessExpression 1074483 1074491 - Identifier 1074483 1074488 - NumericLiteral 1074489 1074490 - EqualsEqualsEqualsToken 1074491 1074495 - StringLiteral 1074495 1074498 - QuestionToken 1074498 1074500 - Identifier 1074500 1074506 - ColonToken 1074506 1074508 - ArrayLiteralExpression 1074508 1074582 - BinaryExpression 1074510 1074562 - CallExpression 1074510 1074542 - PropertyAccessExpression 1074510 1074540 - CallExpression 1074510 1074528 - PropertyAccessExpression 1074510 1074525 - ElementAccessExpression 1074510 1074518 - Identifier 1074510 1074515 - NumericLiteral 1074516 1074517 - Identifier 1074519 1074525 - NumericLiteral 1074526 1074527 - Identifier 1074529 1074540 - PlusToken 1074542 1074544 - CallExpression 1074544 1074562 - PropertyAccessExpression 1074544 1074559 - ElementAccessExpression 1074544 1074553 - Identifier 1074544 1074550 - NumericLiteral 1074551 1074552 - Identifier 1074554 1074559 - NumericLiteral 1074560 1074561 - SpreadElement 1074563 1074581 - CallExpression 1074567 1074581 - PropertyAccessExpression 1074567 1074578 - Identifier 1074567 1074572 - Identifier 1074573 1074578 - NumericLiteral 1074579 1074580 - ConditionalExpression 1074583 1074669 - BinaryExpression 1074583 1074599 - ElementAccessExpression 1074583 1074592 - Identifier 1074583 1074589 - NumericLiteral 1074590 1074591 - EqualsEqualsEqualsToken 1074592 1074596 - StringLiteral 1074596 1074599 - QuestionToken 1074599 1074601 - ArrayLiteralExpression 1074601 1074661 - CallExpression 1074603 1074641 - Identifier 1074603 1074623 - Identifier 1074624 1074630 - ElementAccessExpression 1074631 1074640 - Identifier 1074631 1074637 - NumericLiteral 1074638 1074639 - SpreadElement 1074642 1074660 - CallExpression 1074646 1074660 - PropertyAccessExpression 1074646 1074657 - Identifier 1074646 1074651 - Identifier 1074652 1074657 - NumericLiteral 1074658 1074659 - ColonToken 1074661 1074663 - Identifier 1074663 1074669 - CaseClause 1074671 1074935 - PropertyAccessExpression 1074689 1074720 - Identifier 1074689 1074707 - Identifier 1074708 1074720 - ReturnStatement 1074721 1074935 - ArrayLiteralExpression 1074745 1074934 - ConditionalExpression 1074747 1074846 - BinaryExpression 1074747 1074762 - ElementAccessExpression 1074747 1074755 - Identifier 1074747 1074752 - NumericLiteral 1074753 1074754 - EqualsEqualsEqualsToken 1074755 1074759 - StringLiteral 1074759 1074762 - QuestionToken 1074762 1074764 - Identifier 1074764 1074770 - ColonToken 1074770 1074772 - ArrayLiteralExpression 1074772 1074846 - BinaryExpression 1074774 1074826 - CallExpression 1074774 1074806 - PropertyAccessExpression 1074774 1074804 - CallExpression 1074774 1074792 - PropertyAccessExpression 1074774 1074789 - ElementAccessExpression 1074774 1074782 - Identifier 1074774 1074779 - NumericLiteral 1074780 1074781 - Identifier 1074783 1074789 - NumericLiteral 1074790 1074791 - Identifier 1074793 1074804 - PlusToken 1074806 1074808 - CallExpression 1074808 1074826 - PropertyAccessExpression 1074808 1074823 - ElementAccessExpression 1074808 1074817 - Identifier 1074808 1074814 - NumericLiteral 1074815 1074816 - Identifier 1074818 1074823 - NumericLiteral 1074824 1074825 - SpreadElement 1074827 1074845 - CallExpression 1074831 1074845 - PropertyAccessExpression 1074831 1074842 - Identifier 1074831 1074836 - Identifier 1074837 1074842 - NumericLiteral 1074843 1074844 - ConditionalExpression 1074847 1074933 - BinaryExpression 1074847 1074863 - ElementAccessExpression 1074847 1074856 - Identifier 1074847 1074853 - NumericLiteral 1074854 1074855 - EqualsEqualsEqualsToken 1074856 1074860 - StringLiteral 1074860 1074863 - QuestionToken 1074863 1074865 - ArrayLiteralExpression 1074865 1074925 - CallExpression 1074867 1074905 - Identifier 1074867 1074887 - Identifier 1074888 1074894 - ElementAccessExpression 1074895 1074904 - Identifier 1074895 1074901 - NumericLiteral 1074902 1074903 - SpreadElement 1074906 1074924 - CallExpression 1074910 1074924 - PropertyAccessExpression 1074910 1074921 - Identifier 1074910 1074915 - Identifier 1074916 1074921 - NumericLiteral 1074922 1074923 - ColonToken 1074925 1074927 - Identifier 1074927 1074933 - ReturnStatement 1074946 1074978 - ArrayLiteralExpression 1074962 1074977 - Identifier 1074964 1074969 - Identifier 1074970 1074976 - FunctionDeclaration 1074985 1075342 - Identifier 1075001 1075036 - Parameter 1075037 1075051 - Identifier 1075037 1075043 - TypeReference 1075044 1075051 - Identifier 1075044 1075051 - Parameter 1075052 1075063 - Identifier 1075052 1075057 - TypeReference 1075058 1075063 - Identifier 1075058 1075063 - TypeReference 1075065 1075070 - Identifier 1075065 1075070 - Block 1075070 1075342 - VariableStatement 1075072 1075137 - VariableDeclarationList 1075072 1075136 - VariableDeclaration 1075087 1075136 - Identifier 1075087 1075090 - TemplateExpression 1075092 1075136 - TemplateHead 1075092 1075096 - TemplateSpan 1075096 1075119 - CallExpression 1075096 1075115 - Identifier 1075096 1075107 - Identifier 1075108 1075114 - TemplateMiddle 1075115 1075119 - TemplateSpan 1075119 1075136 - CallExpression 1075119 1075134 - Identifier 1075119 1075128 - Identifier 1075129 1075133 - TemplateTail 1075134 1075136 - VariableStatement 1075137 1075187 - VariableDeclarationList 1075137 1075186 - VariableDeclaration 1075150 1075186 - Identifier 1075150 1075157 - CallExpression 1075159 1075186 - PropertyAccessExpression 1075159 1075182 - Identifier 1075159 1075178 - Identifier 1075179 1075182 - Identifier 1075183 1075185 - IfStatement 1075187 1075311 - PrefixUnaryExpression 1075201 1075208 - Identifier 1075202 1075208 - Block 1075209 1075311 - ExpressionStatement 1075211 1075300 - CallExpression 1075211 1075299 - PropertyAccessExpression 1075211 1075247 - Identifier 1075211 1075243 - Identifier 1075244 1075247 - Identifier 1075248 1075250 - BinaryExpression 1075251 1075298 - Identifier 1075251 1075258 - EqualsToken 1075258 1075260 - CallExpression 1075260 1075298 - Identifier 1075260 1075284 - Identifier 1075285 1075291 - Identifier 1075292 1075297 - ReturnStatement 1075311 1075335 - Identifier 1075327 1075334 - FunctionDeclaration 1075342 1075572 - Identifier 1075358 1075382 - Parameter 1075383 1075397 - Identifier 1075383 1075389 - TypeReference 1075390 1075397 - Identifier 1075390 1075397 - Parameter 1075398 1075409 - Identifier 1075398 1075403 - TypeReference 1075404 1075409 - Identifier 1075404 1075409 - Block 1075410 1075572 - VariableStatement 1075412 1075512 - VariableDeclarationList 1075412 1075511 - VariableDeclaration 1075427 1075511 - Identifier 1075427 1075434 - AsExpression 1075436 1075511 - CallExpression 1075436 1075490 - Identifier 1075436 1075457 - PropertyAccessExpression 1075458 1075481 - Identifier 1075458 1075467 - Identifier 1075468 1075481 - Identifier 1075482 1075489 - TypeReference 1075493 1075511 - Identifier 1075493 1075511 - ExpressionStatement 1075512 1075541 - BinaryExpression 1075512 1075540 - PropertyAccessExpression 1075512 1075533 - Identifier 1075512 1075528 - Identifier 1075529 1075533 - EqualsToken 1075533 1075535 - Identifier 1075535 1075540 - ReturnStatement 1075541 1075565 - Identifier 1075557 1075564 - FunctionDeclaration 1075572 1076079 - Identifier 1075588 1075612 - Parameter 1075613 1075629 - Identifier 1075613 1075623 - TypeReference 1075624 1075629 - Identifier 1075624 1075629 - Parameter 1075630 1075646 - Identifier 1075630 1075640 - TypeReference 1075641 1075646 - Identifier 1075641 1075646 - Parameter 1075647 1075672 - Identifier 1075647 1075659 - TypeReference 1075660 1075672 - Identifier 1075660 1075672 - Parameter 1075673 1075705 - Identifier 1075673 1075685 - UnionType 1075686 1075705 - TypeReference 1075686 1075693 - Identifier 1075686 1075693 - UndefinedKeyword 1075695 1075705 - Parameter 1075706 1075754 - Identifier 1075706 1075725 - UnionType 1075726 1075754 - TypeOperator 1075726 1075742 - ArrayType 1075735 1075742 - TypeReference 1075735 1075740 - Identifier 1075735 1075740 - UndefinedKeyword 1075744 1075754 - Block 1075755 1076079 - VariableStatement 1075757 1075837 - VariableDeclarationList 1075757 1075836 - VariableDeclaration 1075772 1075836 - Identifier 1075772 1075777 - AsExpression 1075779 1075836 - CallExpression 1075779 1075815 - Identifier 1075779 1075790 - PropertyAccessExpression 1075791 1075814 - Identifier 1075791 1075800 - Identifier 1075801 1075814 - TypeReference 1075818 1075836 - Identifier 1075818 1075836 - ExpressionStatement 1075837 1075876 - BinaryExpression 1075837 1075875 - PropertyAccessExpression 1075837 1075862 - Identifier 1075837 1075851 - Identifier 1075852 1075862 - EqualsToken 1075862 1075864 - Identifier 1075864 1075875 - ExpressionStatement 1075876 1075913 - BinaryExpression 1075876 1075912 - PropertyAccessExpression 1075876 1075900 - Identifier 1075876 1075890 - Identifier 1075891 1075900 - EqualsToken 1075900 1075902 - Identifier 1075902 1075912 - ExpressionStatement 1075913 1075954 - BinaryExpression 1075913 1075953 - PropertyAccessExpression 1075913 1075939 - Identifier 1075913 1075927 - Identifier 1075928 1075939 - EqualsToken 1075939 1075941 - Identifier 1075941 1075953 - ExpressionStatement 1075954 1075995 - BinaryExpression 1075954 1075994 - PropertyAccessExpression 1075954 1075980 - Identifier 1075954 1075968 - Identifier 1075969 1075980 - EqualsToken 1075980 1075982 - Identifier 1075982 1075994 - ExpressionStatement 1075995 1076050 - BinaryExpression 1075995 1076049 - PropertyAccessExpression 1075995 1076028 - Identifier 1075995 1076009 - Identifier 1076010 1076028 - EqualsToken 1076028 1076030 - Identifier 1076030 1076049 - ReturnStatement 1076050 1076072 - Identifier 1076066 1076071 - FunctionDeclaration 1076079 1077437 - Identifier 1076685 1076701 - Parameter 1076702 1076712 - Identifier 1076702 1076706 - TypeReference 1076707 1076712 - Identifier 1076707 1076712 - BooleanKeyword 1076714 1076722 - Block 1076722 1077437 - IfStatement 1076724 1076842 - Identifier 1076738 1076751 - Block 1076752 1076842 - ReturnStatement 1076754 1076781 - FalseKeyword 1076774 1076780 - IfStatement 1076842 1076940 - BinaryExpression 1076856 1076900 - CallExpression 1076856 1076876 - Identifier 1076856 1076870 - Identifier 1076871 1076875 - AmpersandToken 1076876 1076878 - PropertyAccessExpression 1076878 1076900 - Identifier 1076878 1076890 - Identifier 1076891 1076900 - Block 1076901 1076940 - ReturnStatement 1076903 1076929 - TrueKeyword 1076923 1076928 - IfStatement 1076940 1077067 - BinaryExpression 1076954 1076982 - PropertyAccessExpression 1076954 1076964 - Identifier 1076954 1076958 - Identifier 1076959 1076964 - AmpersandToken 1076964 1076966 - PropertyAccessExpression 1076966 1076982 - Identifier 1076966 1076976 - Identifier 1076977 1076982 - Block 1076983 1077067 - ReturnStatement 1076985 1077056 - CallExpression 1077005 1077055 - Identifier 1077005 1077011 - PropertyAccessExpression 1077012 1077037 - ParenthesizedExpression 1077012 1077031 - AsExpression 1077013 1077030 - Identifier 1077013 1077017 - TypeReference 1077020 1077030 - Identifier 1077020 1077030 - Identifier 1077032 1077037 - Identifier 1077038 1077054 - IfStatement 1077067 1077207 - BinaryExpression 1077081 1077116 - PropertyAccessExpression 1077081 1077091 - Identifier 1077081 1077085 - Identifier 1077086 1077091 - AmpersandToken 1077091 1077093 - PropertyAccessExpression 1077093 1077116 - Identifier 1077093 1077103 - Identifier 1077104 1077116 - Block 1077117 1077207 - ReturnStatement 1077119 1077196 - CallExpression 1077139 1077195 - Identifier 1077139 1077144 - PropertyAccessExpression 1077145 1077177 - ParenthesizedExpression 1077145 1077171 - AsExpression 1077146 1077170 - Identifier 1077146 1077150 - TypeReference 1077153 1077170 - Identifier 1077153 1077170 - Identifier 1077172 1077177 - Identifier 1077178 1077194 - IfStatement 1077207 1077407 - BinaryExpression 1077221 1077256 - PropertyAccessExpression 1077221 1077231 - Identifier 1077221 1077225 - Identifier 1077226 1077231 - AmpersandToken 1077231 1077233 - PropertyAccessExpression 1077233 1077256 - Identifier 1077233 1077243 - Identifier 1077244 1077256 - Block 1077257 1077407 - VariableStatement 1077259 1077324 - VariableDeclarationList 1077259 1077323 - VariableDeclaration 1077278 1077323 - Identifier 1077278 1077289 - CallExpression 1077291 1077323 - Identifier 1077291 1077317 - Identifier 1077318 1077322 - ReturnStatement 1077324 1077396 - BinaryExpression 1077344 1077395 - BinaryExpression 1077344 1077364 - Identifier 1077344 1077355 - ExclamationEqualsEqualsToken 1077355 1077359 - Identifier 1077359 1077364 - AmpersandAmpersandToken 1077364 1077367 - CallExpression 1077367 1077395 - Identifier 1077367 1077383 - Identifier 1077384 1077394 - ReturnStatement 1077407 1077430 - FalseKeyword 1077423 1077429 - FunctionDeclaration 1077437 1078017 - Identifier 1077453 1077478 - Parameter 1077479 1077494 - Identifier 1077479 1077488 - TypeReference 1077489 1077494 - Identifier 1077489 1077494 - Parameter 1077495 1077649 - Identifier 1077495 1077506 - UnionType 1077507 1077649 - TypeReference 1077507 1077520 - Identifier 1077507 1077520 - TypeReference 1077522 1077543 - Identifier 1077522 1077543 - TypeReference 1077545 1077565 - Identifier 1077545 1077565 - TypeReference 1077567 1077589 - Identifier 1077567 1077589 - TypeReference 1077591 1077615 - Identifier 1077591 1077615 - TypeReference 1077617 1077637 - Identifier 1077617 1077637 - UndefinedKeyword 1077639 1077649 - Block 1077650 1078017 - ReturnStatement 1077652 1078010 - ConditionalExpression 1077668 1078009 - CallExpression 1077668 1077706 - Identifier 1077668 1077695 - Identifier 1077696 1077705 - QuestionToken 1077706 1077708 - CallExpression 1077708 1077756 - Identifier 1077708 1077745 - Identifier 1077746 1077755 - ColonToken 1077756 1077758 - ConditionalExpression 1077758 1078009 - BinaryExpression 1077758 1077812 - Identifier 1077758 1077782 - AmpersandAmpersandToken 1077782 1077785 - CallExpression 1077785 1077812 - Identifier 1077785 1077800 - Identifier 1077801 1077811 - QuestionToken 1077812 1077814 - CallExpression 1077814 1077984 - Identifier 1077814 1077972 - Identifier 1077973 1077983 - ColonToken 1077984 1077986 - Identifier 1077986 1078009 - FunctionDeclaration 1078017 1078586 - Identifier 1078033 1078061 - Parameter 1078062 1078072 - Identifier 1078062 1078066 - TypeReference 1078067 1078072 - Identifier 1078067 1078072 - Parameter 1078073 1078088 - Identifier 1078073 1078080 - TypeReference 1078081 1078088 - Identifier 1078081 1078088 - Block 1078089 1078586 - IfStatement 1078091 1078557 - BinaryExpression 1078105 1078163 - PropertyAccessExpression 1078105 1078117 - Identifier 1078105 1078111 - Identifier 1078112 1078117 - AmpersandToken 1078117 1078119 - ParenthesizedExpression 1078119 1078163 - BinaryExpression 1078121 1078162 - PropertyAccessExpression 1078121 1078141 - Identifier 1078121 1078132 - Identifier 1078133 1078141 - BarToken 1078141 1078143 - PropertyAccessExpression 1078143 1078162 - Identifier 1078143 1078155 - Identifier 1078156 1078162 - Block 1078164 1078557 - VariableStatement 1078166 1078265 - VariableDeclarationList 1078166 1078264 - VariableDeclaration 1078185 1078264 - Identifier 1078185 1078192 - BinaryExpression 1078194 1078264 - CallExpression 1078194 1078249 - Identifier 1078194 1078207 - PropertyAccessExpression 1078208 1078219 - Identifier 1078208 1078212 - Identifier 1078213 1078219 - ArrowFunction 1078220 1078248 - Parameter 1078220 1078222 - Identifier 1078220 1078222 - EqualsGreaterThanToken 1078222 1078225 - PrefixUnaryExpression 1078225 1078248 - CallExpression 1078227 1078248 - Identifier 1078227 1078245 - Identifier 1078246 1078247 - BarBarToken 1078249 1078252 - PropertyAccessExpression 1078252 1078264 - Identifier 1078252 1078257 - Identifier 1078258 1078264 - IfStatement 1078265 1078443 - CallExpression 1078283 1078311 - Identifier 1078283 1078303 - Identifier 1078304 1078310 - Block 1078312 1078443 - ReturnStatement 1078314 1078428 - BinaryExpression 1078338 1078427 - BinaryExpression 1078338 1078390 - CallExpression 1078338 1078368 - Identifier 1078338 1078360 - Identifier 1078361 1078367 - AmpersandAmpersandToken 1078368 1078371 - CallExpression 1078371 1078390 - Identifier 1078371 1078384 - Identifier 1078385 1078389 - AmpersandAmpersandToken 1078390 1078393 - CallExpression 1078393 1078427 - Identifier 1078393 1078413 - Identifier 1078414 1078420 - Identifier 1078421 1078426 - ReturnStatement 1078443 1078546 - CallExpression 1078463 1078545 - Identifier 1078463 1078469 - PropertyAccessExpression 1078470 1078489 - Identifier 1078470 1078476 - Identifier 1078477 1078489 - ArrowFunction 1078490 1078544 - Parameter 1078490 1078492 - Identifier 1078490 1078492 - EqualsGreaterThanToken 1078492 1078495 - BinaryExpression 1078495 1078544 - PrefixUnaryExpression 1078495 1078514 - CallExpression 1078497 1078514 - Identifier 1078497 1078511 - Identifier 1078512 1078513 - BarBarToken 1078514 1078517 - CallExpression 1078517 1078544 - Identifier 1078517 1078541 - Identifier 1078542 1078543 - ReturnStatement 1078557 1078579 - TrueKeyword 1078573 1078578 - FunctionDeclaration 1078586 1093086 - Identifier 1078602 1078630 - Parameter 1078631 1078655 - Identifier 1078631 1078649 - TypeReference 1078650 1078655 - Identifier 1078650 1078655 - Parameter 1078656 1078673 - Identifier 1078656 1078667 - TypeReference 1078668 1078673 - Identifier 1078668 1078673 - Parameter 1078674 1078690 - Identifier 1078674 1078684 - TypeReference 1078685 1078690 - Identifier 1078685 1078690 - Parameter 1078691 1078711 - Identifier 1078691 1078705 - TypeReference 1078706 1078711 - Identifier 1078706 1078711 - Parameter 1078712 1078835 - Identifier 1078712 1078723 - UnionType 1078724 1078835 - TypeReference 1078724 1078748 - Identifier 1078724 1078748 - TypeReference 1078750 1078772 - Identifier 1078750 1078772 - TypeReference 1078774 1078787 - Identifier 1078774 1078787 - TypeReference 1078789 1078801 - Identifier 1078789 1078801 - TypeReference 1078803 1078823 - Identifier 1078803 1078823 - UndefinedKeyword 1078825 1078835 - Parameter 1078836 1078861 - Identifier 1078836 1078848 - TypeReference 1078849 1078861 - Identifier 1078849 1078861 - Block 1078862 1093086 - VariableStatement 1078864 1078993 - VariableDeclarationList 1078864 1078992 - VariableDeclaration 1078879 1078992 - Identifier 1078879 1078896 - ConditionalExpression 1078898 1078992 - BinaryExpression 1078898 1078967 - Identifier 1078898 1078909 - AmpersandAmpersandToken 1078909 1078912 - BinaryExpression 1078912 1078967 - PropertyAccessExpression 1078912 1078928 - Identifier 1078912 1078923 - Identifier 1078924 1078928 - EqualsEqualsEqualsToken 1078928 1078932 - PropertyAccessExpression 1078932 1078967 - Identifier 1078932 1078943 - Identifier 1078944 1078967 - QuestionToken 1078967 1078969 - Identifier 1078969 1078980 - ColonToken 1078980 1078982 - Identifier 1078982 1078992 - VariableStatement 1078993 1079128 - VariableDeclarationList 1078993 1079127 - VariableDeclaration 1079008 1079127 - Identifier 1079008 1079017 - ConditionalExpression 1079019 1079127 - BinaryExpression 1079019 1079065 - Identifier 1079019 1079030 - AmpersandAmpersandToken 1079030 1079033 - CallExpression 1079033 1079065 - Identifier 1079033 1079053 - Identifier 1079054 1079064 - QuestionToken 1079065 1079067 - Identifier 1079067 1079077 - ColonToken 1079077 1079079 - CallExpression 1079079 1079127 - Identifier 1079079 1079104 - Identifier 1079105 1079114 - Identifier 1079115 1079126 - IfStatement 1079128 1082696 - BinaryExpression 1079144 1079166 - Identifier 1079144 1079152 - ExclamationEqualsEqualsToken 1079152 1079156 - Identifier 1079156 1079166 - Block 1079167 1082696 - IfStatement 1079169 1079333 - BinaryExpression 1079187 1079223 - Identifier 1079187 1079198 - AmpersandToken 1079198 1079200 - PropertyAccessExpression 1079200 1079223 - Identifier 1079200 1079212 - Identifier 1079213 1079223 - Block 1079224 1079333 - ReturnStatement 1079226 1079318 - BinaryExpression 1079250 1079317 - CallExpression 1079250 1079306 - Identifier 1079250 1079284 - Identifier 1079285 1079295 - Identifier 1079296 1079305 - BarBarToken 1079306 1079309 - Identifier 1079309 1079317 - VariableStatement 1079333 1079400 - VariableDeclarationList 1079333 1079399 - VariableDeclaration 1079352 1079399 - Identifier 1079352 1079357 - CallExpression 1079359 1079399 - Identifier 1079359 1079377 - Identifier 1079378 1079388 - Identifier 1079389 1079398 - IfStatement 1079400 1081227 - Identifier 1079418 1079422 - Block 1079423 1081227 - IfStatement 1079425 1079883 - BinaryExpression 1079447 1079601 - BinaryExpression 1079447 1079552 - BinaryExpression 1079447 1079524 - BinaryExpression 1079447 1079503 - BinaryExpression 1079447 1079489 - Identifier 1079447 1079458 - AmpersandToken 1079458 1079460 - PropertyAccessExpression 1079460 1079489 - Identifier 1079460 1079472 - Identifier 1079473 1079489 - AmpersandAmpersandToken 1079489 1079492 - Identifier 1079492 1079503 - AmpersandAmpersandToken 1079503 1079506 - PropertyAccessExpression 1079506 1079524 - Identifier 1079506 1079511 - Identifier 1079512 1079524 - AmpersandAmpersandToken 1079524 1079527 - CallExpression 1079527 1079552 - Identifier 1079527 1079546 - Identifier 1079547 1079551 - AmpersandAmpersandToken 1079552 1079555 - CallExpression 1079555 1079601 - Identifier 1079555 1079583 - Identifier 1079584 1079594 - Identifier 1079595 1079600 - Block 1079602 1079883 - VariableStatement 1079604 1079763 - VariableDeclarationList 1079604 1079762 - VariableDeclaration 1079631 1079762 - Identifier 1079631 1079646 - BinaryExpression 1079648 1079762 - PropertyAccessExpression 1079648 1079685 - Identifier 1079648 1079665 - QuestionDotToken 1079665 1079667 - Identifier 1079667 1079685 - QuestionQuestionToken 1079685 1079688 - ParenthesizedExpression 1079688 1079762 - ConditionalExpression 1079690 1079761 - CallExpression 1079690 1079725 - Identifier 1079690 1079713 - Identifier 1079714 1079724 - QuestionToken 1079725 1079727 - PropertyAccessExpression 1079727 1079748 - Identifier 1079727 1079738 - Identifier 1079739 1079748 - ColonToken 1079748 1079750 - Identifier 1079750 1079761 - ExpressionStatement 1079763 1079864 - CallExpression 1079763 1079863 - Identifier 1079763 1079808 - Identifier 1079809 1079823 - PropertyAccessExpression 1079824 1079842 - Identifier 1079824 1079829 - Identifier 1079830 1079842 - AsExpression 1079843 1079862 - Identifier 1079843 1079852 - StringKeyword 1079855 1079862 - IfStatement 1079883 1080742 - Identifier 1079905 1079921 - Block 1079922 1080742 - ExpressionStatement 1079924 1080061 - CallExpression 1079924 1080060 - Identifier 1079924 1079970 - Identifier 1079971 1079975 - Identifier 1079976 1079993 - CallExpression 1079994 1080059 - Identifier 1079994 1080011 - PropertyAccessExpression 1080012 1080039 - Identifier 1080012 1080028 - Identifier 1080029 1080039 - PropertyAccessExpression 1080040 1080058 - Identifier 1080040 1080051 - Identifier 1080052 1080058 - IfStatement 1080061 1080409 - CallExpression 1080087 1080182 - Identifier 1080087 1080115 - Identifier 1080116 1080132 - Identifier 1080133 1080138 - CallExpression 1080139 1080181 - Identifier 1080139 1080163 - Identifier 1080164 1080180 - Block 1080183 1080409 - ExpressionStatement 1080185 1080343 - CallExpression 1080185 1080342 - Identifier 1080185 1080216 - PropertyAccessExpression 1080217 1080252 - Identifier 1080217 1080233 - Identifier 1080234 1080252 - PropertyAccessExpression 1080253 1080319 - Identifier 1080253 1080265 - Identifier 1080266 1080319 - CallExpression 1080320 1080341 - Identifier 1080320 1080335 - Identifier 1080336 1080340 - ReturnStatement 1080343 1080386 - Identifier 1080375 1080385 - IfStatement 1080409 1080572 - BinaryExpression 1080435 1080472 - Identifier 1080435 1080446 - AmpersandToken 1080446 1080448 - PropertyAccessExpression 1080448 1080472 - Identifier 1080448 1080460 - Identifier 1080461 1080472 - Block 1080473 1080572 - ExpressionStatement 1080475 1080549 - BinaryExpression 1080475 1080548 - PropertyAccessExpression 1080475 1080541 - CallExpression 1080475 1080526 - Identifier 1080475 1080513 - NonNullExpression 1080514 1080525 - Identifier 1080514 1080524 - Identifier 1080527 1080541 - EqualsToken 1080541 1080543 - Identifier 1080543 1080548 - IfStatement 1080572 1080723 - CallExpression 1080598 1080655 - Identifier 1080598 1080631 - Identifier 1080632 1080648 - Identifier 1080649 1080654 - Block 1080656 1080723 - ReturnStatement 1080658 1080700 - Identifier 1080690 1080699 - VariableStatement 1080742 1080864 - VariableDeclarationList 1080742 1080863 - VariableDeclaration 1080765 1080863 - Identifier 1080765 1080774 - ConditionalExpression 1080776 1080863 - BinaryExpression 1080776 1080810 - Identifier 1080776 1080788 - AmpersandToken 1080788 1080790 - PropertyAccessExpression 1080790 1080810 - Identifier 1080790 1080802 - Identifier 1080803 1080810 - QuestionToken 1080810 1080812 - CallExpression 1080812 1080839 - Identifier 1080812 1080833 - Identifier 1080834 1080838 - ColonToken 1080839 1080841 - CallExpression 1080841 1080863 - Identifier 1080841 1080857 - Identifier 1080858 1080862 - ReturnStatement 1080864 1081212 - ConditionalExpression 1080888 1081211 - BinaryExpression 1080888 1080978 - Identifier 1080888 1080905 - AmpersandAmpersandToken 1080905 1080908 - BinaryExpression 1080908 1080978 - CallExpression 1080908 1080950 - Identifier 1080908 1080932 - Identifier 1080933 1080949 - ExclamationEqualsEqualsToken 1080950 1080954 - PropertyAccessExpression 1080954 1080978 - Identifier 1080954 1080969 - Identifier 1080970 1080978 - QuestionToken 1080978 1080980 - CallExpression 1080980 1081031 - Identifier 1080980 1081003 - Identifier 1081004 1081020 - Identifier 1081021 1081030 - ColonToken 1081031 1081033 - ConditionalExpression 1081033 1081211 - BinaryExpression 1081033 1081137 - BinaryExpression 1081033 1081104 - Identifier 1081033 1081065 - AmpersandAmpersandToken 1081065 1081068 - CallExpression 1081068 1081104 - Identifier 1081068 1081092 - Identifier 1081093 1081103 - AmpersandAmpersandToken 1081104 1081107 - CallExpression 1081107 1081137 - Identifier 1081107 1081127 - Identifier 1081128 1081136 - QuestionToken 1081137 1081139 - CallExpression 1081139 1081179 - Identifier 1081139 1081152 - ArrayLiteralExpression 1081153 1081178 - Identifier 1081154 1081162 - Identifier 1081163 1081177 - ColonToken 1081179 1081181 - Identifier 1081181 1081211 - IfStatement 1081227 1082685 - BinaryExpression 1081245 1081313 - CallExpression 1081245 1081279 - Identifier 1081245 1081254 - Identifier 1081255 1081265 - Identifier 1081266 1081278 - AmpersandAmpersandToken 1081279 1081282 - CallExpression 1081282 1081313 - Identifier 1081282 1081303 - Identifier 1081304 1081312 - Block 1081314 1082685 - VariableStatement 1081316 1081358 - VariableDeclarationList 1081316 1081357 - VariableDeclaration 1081339 1081357 - Identifier 1081339 1081345 - PrefixUnaryExpression 1081347 1081357 - Identifier 1081349 1081357 - IfStatement 1081358 1082367 - BinaryExpression 1081380 1081540 - BinaryExpression 1081380 1081495 - Identifier 1081380 1081390 - AmpersandAmpersandToken 1081390 1081393 - CallExpression 1081393 1081495 - Identifier 1081393 1081403 - Identifier 1081404 1081414 - ArrowFunction 1081415 1081494 - Parameter 1081415 1081417 - Identifier 1081415 1081417 - EqualsGreaterThanToken 1081417 1081420 - PrefixUnaryExpression 1081420 1081494 - ParenthesizedExpression 1081422 1081494 - BinaryExpression 1081423 1081493 - PropertyAccessExpression 1081423 1081469 - PropertyAccessExpression 1081423 1081455 - ParenthesizedExpression 1081423 1081448 - AsExpression 1081424 1081447 - Identifier 1081424 1081425 - TypeReference 1081428 1081447 - Identifier 1081428 1081447 - Identifier 1081449 1081455 - Identifier 1081456 1081469 - AmpersandToken 1081469 1081471 - PropertyAccessExpression 1081471 1081493 - Identifier 1081471 1081484 - Identifier 1081485 1081493 - AmpersandAmpersandToken 1081495 1081498 - PrefixUnaryExpression 1081498 1081540 - ParenthesizedExpression 1081500 1081540 - BinaryExpression 1081501 1081539 - Identifier 1081501 1081512 - AmpersandToken 1081512 1081514 - PropertyAccessExpression 1081514 1081539 - Identifier 1081514 1081526 - Identifier 1081527 1081539 - Block 1081541 1082367 - VariableStatement 1081543 1081627 - VariableDeclarationList 1081543 1081626 - VariableDeclaration 1081570 1081626 - Identifier 1081570 1081580 - CallExpression 1081582 1081626 - Identifier 1081582 1081614 - Identifier 1081615 1081625 - IfStatement 1081627 1082348 - CallExpression 1081653 1081676 - Identifier 1081653 1081664 - Identifier 1081665 1081675 - Block 1081677 1082141 - IfStatement 1081679 1081912 - BinaryExpression 1081709 1081718 - Identifier 1081709 1081714 - LessThanToken 1081714 1081716 - NumericLiteral 1081716 1081718 - Block 1081719 1081912 - ExpressionStatement 1081721 1081834 - CallExpression 1081721 1081833 - Identifier 1081721 1081756 - Identifier 1081757 1081766 - PropertyAccessExpression 1081767 1081832 - Identifier 1081767 1081779 - Identifier 1081780 1081832 - ReturnStatement 1081834 1081885 - Identifier 1081870 1081884 - ExpressionStatement 1081912 1082118 - CallExpression 1081912 1082117 - Identifier 1081912 1081943 - Identifier 1081944 1081953 - PropertyAccessExpression 1081954 1082017 - Identifier 1081954 1081966 - Identifier 1081967 1082017 - CallExpression 1082018 1082043 - Identifier 1082018 1082031 - Identifier 1082032 1082042 - CallExpression 1082044 1082078 - Identifier 1082044 1082066 - Identifier 1082067 1082077 - CallExpression 1082079 1082116 - Identifier 1082079 1082106 - Identifier 1082107 1082115 - Block 1082167 1082348 - ExpressionStatement 1082169 1082325 - CallExpression 1082169 1082324 - Identifier 1082169 1082200 - Identifier 1082201 1082210 - PropertyAccessExpression 1082211 1082259 - Identifier 1082211 1082223 - Identifier 1082224 1082259 - CallExpression 1082260 1082297 - Identifier 1082260 1082287 - Identifier 1082288 1082296 - CallExpression 1082298 1082323 - Identifier 1082298 1082311 - Identifier 1082312 1082322 - IfStatement 1082367 1082670 - BinaryExpression 1082389 1082399 - Identifier 1082389 1082394 - GreaterThanEqualsToken 1082394 1082397 - NumericLiteral 1082397 1082399 - Block 1082400 1082670 - ExpressionStatement 1082402 1082498 - CallExpression 1082402 1082497 - Identifier 1082402 1082453 - CallExpression 1082454 1082496 - Identifier 1082454 1082472 - Identifier 1082473 1082483 - Identifier 1082484 1082495 - ReturnStatement 1082498 1082651 - CallExpression 1082526 1082650 - Identifier 1082526 1082561 - Identifier 1082562 1082572 - Identifier 1082573 1082579 - ConditionalExpression 1082580 1082649 - BinaryExpression 1082580 1082623 - Identifier 1082580 1082592 - AmpersandToken 1082592 1082594 - PropertyAccessExpression 1082594 1082623 - Identifier 1082594 1082606 - Identifier 1082607 1082623 - QuestionToken 1082623 1082625 - Identifier 1082625 1082637 - ColonToken 1082637 1082639 - Identifier 1082639 1082649 - IfStatement 1082696 1091417 - BinaryExpression 1082710 1082856 - PrefixUnaryExpression 1082710 1082749 - ParenthesizedExpression 1082711 1082749 - BinaryExpression 1082712 1082748 - PropertyAccessExpression 1082712 1082727 - Identifier 1082712 1082721 - Identifier 1082722 1082727 - AmpersandToken 1082727 1082729 - PropertyAccessExpression 1082729 1082748 - Identifier 1082729 1082739 - Identifier 1082740 1082748 - AmpersandAmpersandToken 1082749 1082752 - CallExpression 1082752 1082856 - Identifier 1082752 1082775 - Identifier 1082776 1082785 - BinaryExpression 1082786 1082855 - BinaryExpression 1082786 1082830 - PropertyAccessExpression 1082786 1082807 - Identifier 1082786 1082796 - Identifier 1082797 1082807 - BarToken 1082807 1082809 - PropertyAccessExpression 1082809 1082830 - Identifier 1082809 1082819 - Identifier 1082820 1082830 - BarToken 1082830 1082832 - PropertyAccessExpression 1082832 1082855 - Identifier 1082832 1082842 - Identifier 1082843 1082855 - Block 1082857 1091417 - IfStatement 1082859 1082983 - BinaryExpression 1082877 1082929 - PropertyAccessExpression 1082877 1082893 - Identifier 1082877 1082887 - Identifier 1082888 1082893 - AmpersandToken 1082893 1082895 - ParenthesizedExpression 1082895 1082929 - BinaryExpression 1082897 1082928 - PropertyAccessExpression 1082897 1082910 - Identifier 1082897 1082906 - Identifier 1082907 1082910 - BarToken 1082910 1082912 - PropertyAccessExpression 1082912 1082928 - Identifier 1082912 1082922 - Identifier 1082923 1082928 - Block 1082930 1082983 - ReturnStatement 1082932 1082968 - Identifier 1082956 1082967 - VariableStatement 1082983 1083320 - VariableDeclarationList 1082983 1083319 - VariableDeclaration 1083215 1083319 - Identifier 1083215 1083225 - BinaryExpression 1083227 1083319 - CallExpression 1083227 1083273 - Identifier 1083227 1083250 - Identifier 1083251 1083261 - Identifier 1083262 1083272 - BarBarToken 1083273 1083276 - CallExpression 1083276 1083319 - Identifier 1083276 1083295 - Identifier 1083296 1083306 - Identifier 1083307 1083318 - IfStatement 1083320 1085414 - Identifier 1083338 1083347 - Block 1083348 1085414 - IfStatement 1083350 1084051 - BinaryExpression 1083372 1083451 - BinaryExpression 1083372 1083415 - Identifier 1083372 1083383 - AmpersandToken 1083383 1083385 - PropertyAccessExpression 1083385 1083415 - Identifier 1083385 1083397 - Identifier 1083398 1083415 - AmpersandAmpersandToken 1083415 1083418 - BinaryExpression 1083418 1083451 - PropertyAccessExpression 1083418 1083436 - Identifier 1083418 1083428 - Identifier 1083429 1083436 - ExclamationEqualsEqualsToken 1083436 1083440 - Identifier 1083440 1083451 - Block 1083452 1084051 - IfStatement 1083454 1083993 - Identifier 1083480 1083496 - Block 1083497 1083993 - IfStatement 1083499 1083970 - BinaryExpression 1083529 1083562 - Identifier 1083529 1083540 - AmpersandToken 1083540 1083542 - PropertyAccessExpression 1083542 1083562 - Identifier 1083542 1083554 - Identifier 1083555 1083562 - Block 1083563 1083747 - ExpressionStatement 1083565 1083720 - CallExpression 1083565 1083719 - Identifier 1083565 1083600 - Identifier 1083601 1083617 - PropertyAccessExpression 1083618 1083684 - Identifier 1083618 1083630 - Identifier 1083631 1083684 - CallExpression 1083685 1083718 - Identifier 1083685 1083698 - Identifier 1083699 1083717 - Block 1083777 1083970 - ExpressionStatement 1083779 1083943 - CallExpression 1083779 1083942 - Identifier 1083779 1083814 - Identifier 1083815 1083831 - PropertyAccessExpression 1083832 1083882 - Identifier 1083832 1083844 - Identifier 1083845 1083882 - CallExpression 1083883 1083907 - Identifier 1083883 1083896 - Identifier 1083897 1083906 - CallExpression 1083908 1083941 - Identifier 1083908 1083921 - Identifier 1083922 1083940 - ReturnStatement 1083993 1084032 - Identifier 1084021 1084031 - IfStatement 1084051 1084551 - BinaryExpression 1084073 1084194 - BinaryExpression 1084073 1084119 - Identifier 1084073 1084083 - AmpersandAmpersandToken 1084083 1084086 - BinaryExpression 1084086 1084119 - PropertyAccessExpression 1084086 1084104 - Identifier 1084086 1084096 - Identifier 1084097 1084104 - EqualsEqualsEqualsToken 1084104 1084108 - Identifier 1084108 1084119 - AmpersandAmpersandToken 1084119 1084122 - PrefixUnaryExpression 1084122 1084194 - CallExpression 1084124 1084194 - Identifier 1084124 1084146 - Identifier 1084147 1084156 - BinaryExpression 1084157 1084193 - PropertyAccessExpression 1084157 1084174 - Identifier 1084157 1084167 - Identifier 1084168 1084174 - BarToken 1084174 1084176 - PropertyAccessExpression 1084176 1084193 - Identifier 1084176 1084186 - Identifier 1084187 1084193 - Block 1084195 1084551 - VariableStatement 1084197 1084281 - VariableDeclarationList 1084197 1084280 - VariableDeclaration 1084224 1084280 - Identifier 1084224 1084234 - CallExpression 1084236 1084280 - Identifier 1084236 1084268 - Identifier 1084269 1084279 - ExpressionStatement 1084281 1084397 - CallExpression 1084281 1084396 - Identifier 1084281 1084308 - Identifier 1084309 1084318 - PropertyAccessExpression 1084319 1084370 - Identifier 1084319 1084331 - Identifier 1084332 1084370 - CallExpression 1084371 1084395 - Identifier 1084371 1084384 - Identifier 1084385 1084394 - ReturnStatement 1084397 1084532 - ConditionalExpression 1084425 1084531 - BinaryExpression 1084425 1084468 - Identifier 1084425 1084437 - AmpersandToken 1084437 1084439 - PropertyAccessExpression 1084439 1084468 - Identifier 1084439 1084451 - Identifier 1084452 1084468 - QuestionToken 1084468 1084470 - CallExpression 1084470 1084514 - Identifier 1084470 1084483 - ArrayLiteralExpression 1084484 1084513 - PropertyAccessExpression 1084485 1084499 - Identifier 1084485 1084494 - Identifier 1084495 1084499 - Identifier 1084500 1084512 - ColonToken 1084514 1084516 - PropertyAccessExpression 1084516 1084531 - Identifier 1084516 1084526 - Identifier 1084527 1084531 - ExpressionStatement 1084551 1084610 - CallExpression 1084551 1084609 - Identifier 1084551 1084598 - Identifier 1084599 1084608 - IfStatement 1084610 1085359 - BinaryExpression 1084822 1085246 - ParenthesizedExpression 1084822 1084888 - BinaryExpression 1084845 1084887 - Identifier 1084845 1084856 - AmpersandToken 1084856 1084858 - PropertyAccessExpression 1084858 1084887 - Identifier 1084858 1084870 - Identifier 1084871 1084887 - AmpersandAmpersandToken 1084888 1084891 - PrefixUnaryExpression 1084891 1085246 - ParenthesizedExpression 1084914 1085246 - BinaryExpression 1084915 1085245 - BinaryExpression 1084915 1085036 - PropertyAccessExpression 1084915 1084932 - Identifier 1084915 1084925 - Identifier 1084926 1084932 - AmpersandAmpersandToken 1084932 1084935 - BinaryExpression 1084935 1085036 - PropertyAccessExpression 1084935 1084984 - PropertyAccessExpression 1084935 1084978 - Identifier 1084935 1084971 - Identifier 1084972 1084978 - Identifier 1084979 1084984 - AmpersandToken 1084984 1084986 - ParenthesizedExpression 1084986 1085036 - BinaryExpression 1084988 1085035 - PropertyAccessExpression 1084988 1085011 - Identifier 1084988 1084999 - Identifier 1085000 1085011 - BarToken 1085011 1085013 - PropertyAccessExpression 1085013 1085035 - Identifier 1085013 1085025 - Identifier 1085026 1085035 - AmpersandAmpersandToken 1085036 1085039 - ParenthesizedExpression 1085039 1085245 - BinaryExpression 1085066 1085244 - BinaryExpression 1085066 1085154 - PropertyAccessExpression 1085066 1085082 - Identifier 1085066 1085075 - Identifier 1085076 1085082 - AmpersandAmpersandToken 1085082 1085085 - BinaryExpression 1085085 1085154 - PropertyAccessExpression 1085085 1085130 - Identifier 1085085 1085124 - Identifier 1085125 1085130 - AmpersandToken 1085130 1085132 - PropertyAccessExpression 1085132 1085154 - Identifier 1085132 1085142 - Identifier 1085143 1085154 - AmpersandAmpersandToken 1085154 1085157 - BinaryExpression 1085157 1085244 - CallExpression 1085157 1085222 - Identifier 1085157 1085204 - PropertyAccessExpression 1085205 1085221 - Identifier 1085205 1085214 - Identifier 1085215 1085221 - EqualsEqualsEqualsToken 1085222 1085226 - PropertyAccessExpression 1085226 1085244 - Identifier 1085226 1085237 - Identifier 1085238 1085244 - Block 1085265 1085359 - ReturnStatement 1085267 1085340 - CallExpression 1085295 1085339 - Identifier 1085295 1085308 - ArrayLiteralExpression 1085309 1085338 - PropertyAccessExpression 1085310 1085324 - Identifier 1085310 1085319 - Identifier 1085320 1085324 - Identifier 1085325 1085337 - ReturnStatement 1085359 1085399 - PropertyAccessExpression 1085383 1085398 - Identifier 1085383 1085393 - Identifier 1085394 1085398 - IfStatement 1085414 1085518 - BinaryExpression 1085432 1085465 - PropertyAccessExpression 1085432 1085447 - Identifier 1085432 1085441 - Identifier 1085442 1085447 - AmpersandToken 1085447 1085449 - PropertyAccessExpression 1085449 1085465 - Identifier 1085449 1085459 - Identifier 1085460 1085465 - Block 1085466 1085518 - ReturnStatement 1085468 1085503 - Identifier 1085492 1085502 - IfStatement 1085518 1085614 - CallExpression 1085536 1085563 - Identifier 1085536 1085551 - Identifier 1085552 1085562 - Block 1085564 1085614 - ReturnStatement 1085566 1085599 - Identifier 1085590 1085598 - IfStatement 1085614 1091406 - BinaryExpression 1085632 1085686 - Identifier 1085632 1085648 - AmpersandAmpersandToken 1085648 1085651 - PrefixUnaryExpression 1085651 1085686 - CallExpression 1085653 1085686 - Identifier 1085653 1085674 - Identifier 1085675 1085685 - Block 1085687 1091406 - IfStatement 1085689 1086527 - CallExpression 1085711 1085742 - Identifier 1085711 1085730 - Identifier 1085731 1085741 - Block 1085743 1086527 - IfStatement 1085745 1086508 - BinaryExpression 1085771 1085857 - Identifier 1085771 1085784 - AmpersandAmpersandToken 1085784 1085787 - BinaryExpression 1085787 1085857 - PropertyAccessExpression 1085787 1085803 - Identifier 1085787 1085797 - Identifier 1085798 1085803 - AmpersandToken 1085803 1085805 - ParenthesizedExpression 1085805 1085857 - BinaryExpression 1085807 1085856 - PropertyAccessExpression 1085807 1085830 - Identifier 1085807 1085816 - Identifier 1085817 1085830 - BarToken 1085830 1085832 - PropertyAccessExpression 1085832 1085856 - Identifier 1085832 1085842 - Identifier 1085843 1085856 - Block 1085858 1086130 - ExpressionStatement 1085860 1086060 - CallExpression 1085860 1086059 - PropertyAccessExpression 1085860 1085901 - Identifier 1085860 1085897 - Identifier 1085898 1085901 - CallExpression 1085902 1086058 - Identifier 1085902 1085925 - Identifier 1085926 1085942 - PropertyAccessExpression 1085943 1085991 - Identifier 1085943 1085955 - Identifier 1085956 1085991 - PropertyAccessExpression 1085992 1086031 - ParenthesizedExpression 1085992 1086025 - AsExpression 1085994 1086024 - Identifier 1085994 1086003 - TypeReference 1086006 1086024 - Identifier 1086006 1086024 - Identifier 1086026 1086031 - CallExpression 1086032 1086057 - Identifier 1086032 1086045 - Identifier 1086046 1086056 - ReturnStatement 1086060 1086107 - Identifier 1086092 1086106 - IfStatement 1086156 1086508 - BinaryExpression 1086161 1086216 - PropertyAccessExpression 1086161 1086176 - Identifier 1086161 1086170 - Identifier 1086171 1086176 - AmpersandToken 1086176 1086178 - ParenthesizedExpression 1086178 1086216 - BinaryExpression 1086180 1086215 - PropertyAccessExpression 1086180 1086196 - Identifier 1086180 1086189 - Identifier 1086190 1086196 - BarToken 1086196 1086198 - PropertyAccessExpression 1086198 1086215 - Identifier 1086198 1086208 - Identifier 1086209 1086215 - Block 1086217 1086508 - VariableStatement 1086219 1086409 - VariableDeclarationList 1086219 1086408 - VariableDeclaration 1086250 1086408 - Identifier 1086250 1086256 - CallExpression 1086258 1086408 - Identifier 1086258 1086262 - PropertyAccessExpression 1086263 1086302 - ParenthesizedExpression 1086263 1086291 - AsExpression 1086264 1086290 - Identifier 1086264 1086274 - TypeReference 1086277 1086290 - Identifier 1086277 1086290 - Identifier 1086292 1086302 - ArrowFunction 1086303 1086407 - Parameter 1086303 1086312 - Identifier 1086303 1086312 - EqualsGreaterThanToken 1086312 1086315 - Block 1086315 1086407 - ReturnStatement 1086317 1086380 - CallExpression 1086353 1086379 - Identifier 1086353 1086369 - Identifier 1086370 1086378 - ReturnStatement 1086409 1086485 - CallExpression 1086441 1086484 - Identifier 1086441 1086454 - CallExpression 1086455 1086483 - Identifier 1086455 1086461 - Identifier 1086462 1086467 - Identifier 1086468 1086482 - IfStatement 1086527 1091356 - BinaryExpression 1086551 1086736 - BinaryExpression 1086551 1086658 - BinaryExpression 1086551 1086615 - BinaryExpression 1086551 1086589 - PropertyAccessExpression 1086551 1086568 - Identifier 1086551 1086561 - Identifier 1086562 1086568 - EqualsEqualsEqualsToken 1086568 1086572 - Identifier 1086572 1086589 - AmpersandAmpersandToken 1086589 1086592 - BinaryExpression 1086592 1086615 - Identifier 1086592 1086601 - ExclamationEqualsEqualsToken 1086601 1086605 - Identifier 1086605 1086615 - AmpersandAmpersandToken 1086615 1086618 - CallExpression 1086618 1086658 - PropertyAccessExpression 1086618 1086648 - NonNullExpression 1086618 1086644 - PropertyAccessExpression 1086618 1086643 - Identifier 1086618 1086635 - Identifier 1086636 1086643 - Identifier 1086645 1086648 - Identifier 1086649 1086657 - AmpersandAmpersandToken 1086658 1086661 - ParenthesizedExpression 1086661 1086736 - BinaryExpression 1086663 1086735 - PropertyAccessExpression 1086663 1086709 - NonNullExpression 1086663 1086703 - CallExpression 1086663 1086702 - PropertyAccessExpression 1086663 1086692 - NonNullExpression 1086663 1086688 - PropertyAccessExpression 1086663 1086687 - Identifier 1086663 1086679 - Identifier 1086680 1086687 - Identifier 1086689 1086692 - Identifier 1086693 1086701 - Identifier 1086704 1086709 - AmpersandToken 1086709 1086711 - PropertyAccessExpression 1086711 1086735 - Identifier 1086711 1086723 - Identifier 1086724 1086735 - Block 1086737 1086917 - ExpressionStatement 1086739 1086898 - CallExpression 1086739 1086897 - Identifier 1086739 1086766 - Identifier 1086767 1086783 - PropertyAccessExpression 1086784 1086832 - Identifier 1086784 1086796 - Identifier 1086797 1086832 - CallExpression 1086833 1086870 - Identifier 1086833 1086860 - Identifier 1086861 1086869 - CallExpression 1086871 1086896 - Identifier 1086871 1086884 - Identifier 1086885 1086895 - IfStatement 1086939 1091356 - BinaryExpression 1086944 1087016 - Identifier 1086944 1086957 - AmpersandAmpersandToken 1086957 1086960 - PrefixUnaryExpression 1086960 1087016 - ParenthesizedExpression 1086962 1087016 - BinaryExpression 1086963 1087015 - Identifier 1086963 1086974 - AmpersandToken 1086974 1086976 - PropertyAccessExpression 1086976 1087015 - Identifier 1086976 1086988 - Identifier 1086989 1087015 - Block 1087017 1091356 - IfStatement 1087019 1091337 - BinaryExpression 1087045 1087114 - BinaryExpression 1087045 1087067 - Identifier 1087045 1087053 - ExclamationEqualsEqualsToken 1087053 1087057 - Identifier 1087057 1087067 - AmpersandAmpersandToken 1087067 1087070 - CallExpression 1087070 1087114 - Identifier 1087070 1087092 - Identifier 1087093 1087101 - Identifier 1087102 1087113 - Block 1087115 1087463 - VariableStatement 1087117 1087185 - VariableDeclarationList 1087117 1087184 - VariableDeclaration 1087148 1087184 - Identifier 1087148 1087157 - CallExpression 1087159 1087184 - Identifier 1087159 1087172 - Identifier 1087173 1087183 - ExpressionStatement 1087185 1087440 - CallExpression 1087185 1087439 - Identifier 1087185 1087216 - Identifier 1087217 1087233 - PropertyAccessExpression 1087234 1087333 - Identifier 1087234 1087246 - Identifier 1087247 1087333 - AsExpression 1087334 1087353 - Identifier 1087334 1087343 - StringKeyword 1087346 1087353 - Identifier 1087354 1087363 - BinaryExpression 1087364 1087438 - BinaryExpression 1087364 1087432 - BinaryExpression 1087364 1087379 - Identifier 1087364 1087373 - PlusToken 1087373 1087375 - StringLiteral 1087375 1087379 - PlusToken 1087379 1087381 - CallExpression 1087381 1087432 - Identifier 1087381 1087395 - PropertyAccessExpression 1087396 1087431 - Identifier 1087396 1087412 - Identifier 1087413 1087431 - PlusToken 1087432 1087434 - StringLiteral 1087434 1087438 - IfStatement 1087489 1091337 - CallExpression 1087494 1087536 - Identifier 1087494 1087512 - Identifier 1087513 1087523 - Identifier 1087524 1087535 - Block 1087537 1087726 - ExpressionStatement 1087539 1087703 - CallExpression 1087539 1087702 - Identifier 1087539 1087570 - PropertyAccessExpression 1087571 1087606 - Identifier 1087571 1087587 - Identifier 1087588 1087606 - PropertyAccessExpression 1087607 1087701 - Identifier 1087607 1087619 - Identifier 1087620 1087701 - Block 1087752 1091337 - VariableStatement 1087754 1087815 - VariableDeclarationList 1087754 1087814 - VariableDeclaration 1087783 1087814 - Identifier 1087783 1087794 - UnionType 1087795 1087814 - StringKeyword 1087795 1087802 - UndefinedKeyword 1087804 1087814 - IfStatement 1087815 1091314 - BinaryExpression 1087845 1087953 - BinaryExpression 1087845 1087867 - Identifier 1087845 1087853 - ExclamationEqualsEqualsToken 1087853 1087857 - Identifier 1087857 1087867 - AmpersandAmpersandToken 1087867 1087870 - ParenthesizedExpression 1087870 1087953 - BinaryExpression 1087872 1087952 - Identifier 1087872 1087882 - EqualsToken 1087882 1087884 - CallExpression 1087884 1087952 - Identifier 1087884 1087920 - AsExpression 1087921 1087939 - Identifier 1087921 1087929 - StringKeyword 1087932 1087939 - Identifier 1087940 1087951 - Block 1087954 1088274 - IfStatement 1087956 1088247 - BinaryExpression 1087990 1088014 - Identifier 1087990 1088000 - ExclamationEqualsEqualsToken 1088000 1088004 - Identifier 1088004 1088014 - Block 1088015 1088247 - ExpressionStatement 1088017 1088216 - CallExpression 1088017 1088215 - Identifier 1088017 1088056 - PropertyAccessExpression 1088057 1088092 - Identifier 1088057 1088073 - Identifier 1088074 1088092 - PropertyAccessExpression 1088093 1088156 - Identifier 1088093 1088105 - Identifier 1088106 1088156 - AsExpression 1088157 1088176 - Identifier 1088157 1088166 - StringKeyword 1088169 1088176 - CallExpression 1088177 1088202 - Identifier 1088177 1088190 - Identifier 1088191 1088201 - Identifier 1088203 1088214 - Block 1088304 1091314 - VariableStatement 1088306 1088438 - VariableDeclarationList 1088306 1088437 - VariableDeclaration 1088341 1088437 - Identifier 1088341 1088352 - CallExpression 1088354 1088437 - Identifier 1088354 1088396 - Identifier 1088397 1088407 - Identifier 1088408 1088425 - Identifier 1088426 1088436 - IfStatement 1088438 1091287 - BinaryExpression 1088472 1088496 - Identifier 1088472 1088482 - ExclamationEqualsEqualsToken 1088482 1088486 - Identifier 1088486 1088496 - Block 1088497 1088735 - ExpressionStatement 1088499 1088704 - CallExpression 1088499 1088703 - Identifier 1088499 1088538 - Identifier 1088539 1088555 - PropertyAccessExpression 1088556 1088664 - Identifier 1088556 1088568 - Identifier 1088569 1088664 - CallExpression 1088665 1088690 - Identifier 1088665 1088678 - Identifier 1088679 1088689 - Identifier 1088691 1088702 - Block 1088769 1091287 - VariableStatement 1088771 1088855 - VariableDeclarationList 1088771 1088854 - VariableDeclaration 1088808 1088854 - Identifier 1088808 1088818 - UnionType 1088819 1088854 - TypeReference 1088819 1088842 - Identifier 1088819 1088842 - UndefinedKeyword 1088844 1088854 - IfStatement 1088855 1090668 - BinaryExpression 1088893 1088932 - PropertyAccessExpression 1088893 1088908 - Identifier 1088893 1088902 - Identifier 1088903 1088908 - AmpersandToken 1088908 1088910 - PropertyAccessExpression 1088910 1088932 - Identifier 1088910 1088920 - Identifier 1088921 1088932 - Block 1088933 1089179 - ExpressionStatement 1088935 1089144 - BinaryExpression 1088935 1089143 - Identifier 1088935 1088982 - EqualsToken 1088982 1088984 - CallExpression 1088984 1089143 - Identifier 1088984 1089008 - Identifier 1089009 1089030 - PropertyAccessExpression 1089031 1089079 - Identifier 1089031 1089043 - Identifier 1089044 1089079 - BinaryExpression 1089080 1089116 - BinaryExpression 1089080 1089110 - StringLiteral 1089080 1089084 - PlusToken 1089084 1089086 - CallExpression 1089086 1089110 - Identifier 1089086 1089099 - Identifier 1089100 1089109 - PlusToken 1089110 1089112 - StringLiteral 1089112 1089116 - CallExpression 1089117 1089142 - Identifier 1089117 1089130 - Identifier 1089131 1089141 - IfStatement 1089217 1090668 - BinaryExpression 1089222 1089264 - PropertyAccessExpression 1089222 1089237 - Identifier 1089222 1089231 - Identifier 1089232 1089237 - AmpersandToken 1089237 1089239 - PropertyAccessExpression 1089239 1089264 - Identifier 1089239 1089249 - Identifier 1089250 1089264 - Block 1089265 1089637 - VariableStatement 1089267 1089406 - VariableDeclarationList 1089267 1089405 - VariableDeclaration 1089310 1089405 - Identifier 1089310 1089321 - CallExpression 1089323 1089405 - Identifier 1089323 1089345 - PropertyAccessExpression 1089346 1089386 - ParenthesizedExpression 1089346 1089379 - AsExpression 1089347 1089378 - Identifier 1089347 1089356 - TypeReference 1089359 1089378 - Identifier 1089359 1089378 - Identifier 1089380 1089386 - Identifier 1089387 1089404 - ExpressionStatement 1089406 1089602 - BinaryExpression 1089406 1089601 - Identifier 1089406 1089453 - EqualsToken 1089453 1089455 - CallExpression 1089455 1089601 - Identifier 1089455 1089479 - Identifier 1089480 1089501 - PropertyAccessExpression 1089502 1089550 - Identifier 1089502 1089514 - Identifier 1089515 1089550 - BinaryExpression 1089551 1089574 - BinaryExpression 1089551 1089568 - StringLiteral 1089551 1089555 - PlusToken 1089555 1089557 - Identifier 1089557 1089568 - PlusToken 1089568 1089570 - StringLiteral 1089570 1089574 - CallExpression 1089575 1089600 - Identifier 1089575 1089588 - Identifier 1089589 1089599 - IfStatement 1089675 1090668 - BinaryExpression 1089680 1089721 - PropertyAccessExpression 1089680 1089695 - Identifier 1089680 1089689 - Identifier 1089690 1089695 - AmpersandToken 1089695 1089697 - PropertyAccessExpression 1089697 1089721 - Identifier 1089697 1089707 - Identifier 1089708 1089721 - Block 1089722 1089971 - ExpressionStatement 1089724 1089936 - BinaryExpression 1089724 1089935 - Identifier 1089724 1089771 - EqualsToken 1089771 1089773 - CallExpression 1089773 1089935 - Identifier 1089773 1089797 - Identifier 1089798 1089819 - PropertyAccessExpression 1089820 1089868 - Identifier 1089820 1089832 - Identifier 1089833 1089868 - PropertyAccessExpression 1089869 1089908 - ParenthesizedExpression 1089869 1089902 - AsExpression 1089871 1089901 - Identifier 1089871 1089880 - TypeReference 1089883 1089901 - Identifier 1089883 1089901 - Identifier 1089903 1089908 - CallExpression 1089909 1089934 - Identifier 1089909 1089922 - Identifier 1089923 1089933 - IfStatement 1090009 1090668 - BinaryExpression 1090014 1090055 - PropertyAccessExpression 1090014 1090029 - Identifier 1090014 1090023 - Identifier 1090024 1090029 - AmpersandToken 1090029 1090031 - PropertyAccessExpression 1090031 1090055 - Identifier 1090031 1090041 - Identifier 1090042 1090055 - Block 1090056 1090305 - ExpressionStatement 1090058 1090270 - BinaryExpression 1090058 1090269 - Identifier 1090058 1090105 - EqualsToken 1090105 1090107 - CallExpression 1090107 1090269 - Identifier 1090107 1090131 - Identifier 1090132 1090153 - PropertyAccessExpression 1090154 1090202 - Identifier 1090154 1090166 - Identifier 1090167 1090202 - PropertyAccessExpression 1090203 1090242 - ParenthesizedExpression 1090203 1090236 - AsExpression 1090205 1090235 - Identifier 1090205 1090214 - TypeReference 1090217 1090235 - Identifier 1090217 1090235 - Identifier 1090237 1090242 - CallExpression 1090243 1090268 - Identifier 1090243 1090256 - Identifier 1090257 1090267 - IfStatement 1090343 1090668 - BinaryExpression 1090348 1090403 - PropertyAccessExpression 1090348 1090363 - Identifier 1090348 1090357 - Identifier 1090358 1090363 - AmpersandToken 1090363 1090365 - ParenthesizedExpression 1090365 1090403 - BinaryExpression 1090367 1090402 - PropertyAccessExpression 1090367 1090383 - Identifier 1090367 1090376 - Identifier 1090377 1090383 - BarToken 1090383 1090385 - PropertyAccessExpression 1090385 1090402 - Identifier 1090385 1090395 - Identifier 1090396 1090402 - Block 1090404 1090668 - ExpressionStatement 1090406 1090633 - BinaryExpression 1090406 1090632 - Identifier 1090406 1090453 - EqualsToken 1090453 1090455 - CallExpression 1090455 1090632 - Identifier 1090455 1090479 - Identifier 1090480 1090501 - PropertyAccessExpression 1090502 1090580 - Identifier 1090502 1090514 - Identifier 1090515 1090580 - CallExpression 1090581 1090605 - Identifier 1090581 1090594 - Identifier 1090595 1090604 - CallExpression 1090606 1090631 - Identifier 1090606 1090619 - Identifier 1090620 1090630 - ExpressionStatement 1090668 1091097 - BinaryExpression 1090668 1091096 - Identifier 1090668 1090713 - EqualsToken 1090713 1090715 - CallExpression 1090715 1091096 - Identifier 1090715 1090739 - Identifier 1090740 1090787 - PropertyAccessExpression 1090788 1090931 - Identifier 1090788 1090837 - Identifier 1090838 1090931 - CallExpression 1090932 1090997 - Identifier 1090932 1090982 - Identifier 1090983 1090996 - CallExpression 1090998 1091060 - Identifier 1090998 1091048 - Identifier 1091049 1091059 - ExpressionStatement 1091097 1091256 - CallExpression 1091097 1091255 - PropertyAccessExpression 1091097 1091146 - Identifier 1091097 1091142 - Identifier 1091143 1091146 - CallExpression 1091147 1091254 - Identifier 1091147 1091186 - CallExpression 1091187 1091224 - Identifier 1091187 1091206 - Identifier 1091207 1091223 - Identifier 1091225 1091242 - Identifier 1091243 1091253 - ReturnStatement 1091356 1091391 - Identifier 1091380 1091390 - IfStatement 1091417 1091553 - BinaryExpression 1091431 1091504 - BinaryExpression 1091431 1091469 - Identifier 1091431 1091442 - AmpersandToken 1091442 1091444 - PropertyAccessExpression 1091444 1091469 - Identifier 1091444 1091456 - Identifier 1091457 1091469 - AmpersandAmpersandToken 1091469 1091472 - CallExpression 1091472 1091504 - Identifier 1091472 1091492 - Identifier 1091493 1091503 - Block 1091505 1091553 - ReturnStatement 1091507 1091542 - Identifier 1091527 1091541 - IfStatement 1091553 1091637 - CallExpression 1091567 1091594 - Identifier 1091567 1091582 - Identifier 1091583 1091593 - Block 1091595 1091637 - ReturnStatement 1091597 1091626 - Identifier 1091617 1091625 - IfStatement 1091637 1092575 - Identifier 1091651 1091661 - Block 1091662 1092575 - VariableStatement 1091664 1091740 - VariableDeclarationList 1091664 1091739 - VariableDeclaration 1091683 1091739 - Identifier 1091683 1091693 - CallExpression 1091695 1091739 - Identifier 1091695 1091727 - Identifier 1091728 1091738 - IfStatement 1091740 1092564 - BinaryExpression 1091758 1091874 - BinaryExpression 1091758 1091801 - PropertyAccessExpression 1091758 1091772 - Identifier 1091758 1091767 - Identifier 1091768 1091772 - ExclamationEqualsEqualsToken 1091772 1091776 - PropertyAccessExpression 1091776 1091801 - Identifier 1091776 1091787 - Identifier 1091788 1091801 - AmpersandAmpersandToken 1091801 1091804 - BinaryExpression 1091804 1091874 - PropertyAccessExpression 1091804 1091820 - Identifier 1091804 1091814 - Identifier 1091815 1091820 - AmpersandToken 1091820 1091822 - ParenthesizedExpression 1091822 1091874 - BinaryExpression 1091824 1091873 - PropertyAccessExpression 1091824 1091847 - Identifier 1091824 1091833 - Identifier 1091834 1091847 - BarToken 1091847 1091849 - PropertyAccessExpression 1091849 1091873 - Identifier 1091849 1091859 - Identifier 1091860 1091873 - Block 1091875 1092067 - ExpressionStatement 1091877 1092052 - CallExpression 1091877 1092051 - Identifier 1091877 1091900 - Identifier 1091901 1091910 - PropertyAccessExpression 1091911 1091959 - Identifier 1091911 1091923 - Identifier 1091924 1091959 - BinaryExpression 1091960 1092024 - StringLiteral 1091960 1091963 - PlusToken 1091963 1091965 - PropertyAccessExpression 1091965 1092024 - ParenthesizedExpression 1091965 1092018 - AsExpression 1091967 1092017 - Identifier 1091967 1091976 - UnionType 1091979 1092017 - TypeReference 1091979 1091997 - Identifier 1091979 1091997 - TypeReference 1091999 1092017 - Identifier 1091999 1092017 - Identifier 1092019 1092024 - CallExpression 1092025 1092050 - Identifier 1092025 1092038 - Identifier 1092039 1092049 - IfStatement 1092085 1092564 - BinaryExpression 1092090 1092145 - PropertyAccessExpression 1092090 1092105 - Identifier 1092090 1092099 - Identifier 1092100 1092105 - AmpersandToken 1092105 1092107 - ParenthesizedExpression 1092107 1092145 - BinaryExpression 1092109 1092144 - PropertyAccessExpression 1092109 1092125 - Identifier 1092109 1092118 - Identifier 1092119 1092125 - BarToken 1092125 1092127 - PropertyAccessExpression 1092127 1092144 - Identifier 1092127 1092137 - Identifier 1092138 1092144 - Block 1092146 1092312 - ExpressionStatement 1092148 1092297 - CallExpression 1092148 1092296 - Identifier 1092148 1092171 - Identifier 1092172 1092181 - PropertyAccessExpression 1092182 1092244 - Identifier 1092182 1092194 - Identifier 1092195 1092244 - CallExpression 1092245 1092270 - Identifier 1092245 1092258 - Identifier 1092259 1092269 - CallExpression 1092271 1092295 - Identifier 1092271 1092284 - Identifier 1092285 1092294 - Block 1092330 1092564 - VariableStatement 1092332 1092450 - VariableDeclarationList 1092332 1092449 - VariableDeclaration 1092355 1092449 - Identifier 1092355 1092366 - ConditionalExpression 1092368 1092449 - BinaryExpression 1092368 1092412 - PropertyAccessExpression 1092368 1092383 - Identifier 1092368 1092378 - Identifier 1092379 1092383 - EqualsEqualsEqualsToken 1092383 1092387 - PropertyAccessExpression 1092387 1092412 - Identifier 1092387 1092398 - Identifier 1092399 1092412 - QuestionToken 1092412 1092414 - StringLiteral 1092414 1092423 - ColonToken 1092423 1092425 - CallExpression 1092425 1092449 - Identifier 1092425 1092438 - Identifier 1092439 1092448 - ExpressionStatement 1092450 1092549 - CallExpression 1092450 1092548 - Identifier 1092450 1092473 - Identifier 1092474 1092483 - PropertyAccessExpression 1092484 1092535 - Identifier 1092484 1092496 - Identifier 1092497 1092535 - Identifier 1092536 1092547 - IfStatement 1092575 1092654 - CallExpression 1092589 1092609 - Identifier 1092589 1092598 - Identifier 1092599 1092608 - Block 1092610 1092654 - ReturnStatement 1092612 1092643 - Identifier 1092632 1092642 - ReturnStatement 1092654 1092681 - Identifier 1092670 1092680 - FunctionDeclaration 1092681 1093079 - Identifier 1092701 1092731 - Parameter 1092732 1092764 - Identifier 1092732 1092741 - UnionType 1092742 1092764 - TypeReference 1092742 1092752 - Identifier 1092742 1092752 - UndefinedKeyword 1092754 1092764 - VoidKeyword 1092766 1092771 - Block 1092771 1093079 - IfStatement 1092773 1093068 - BinaryExpression 1092791 1092922 - BinaryExpression 1092791 1092844 - BinaryExpression 1092791 1092824 - Identifier 1092791 1092800 - AmpersandAmpersandToken 1092800 1092803 - PropertyAccessExpression 1092803 1092824 - Identifier 1092803 1092813 - Identifier 1092814 1092824 - AmpersandAmpersandToken 1092824 1092827 - Identifier 1092827 1092844 - AmpersandAmpersandToken 1092844 1092847 - ParenthesizedExpression 1092847 1092922 - BinaryExpression 1092849 1092921 - CallExpression 1092849 1092885 - Identifier 1092849 1092867 - Identifier 1092868 1092884 - BarBarToken 1092885 1092888 - CallExpression 1092888 1092921 - Identifier 1092888 1092903 - Identifier 1092904 1092920 - Block 1092923 1093068 - ExpressionStatement 1092925 1093053 - CallExpression 1092925 1093052 - Identifier 1092925 1092948 - Identifier 1092949 1092965 - PropertyAccessExpression 1092966 1093025 - Identifier 1092966 1092978 - Identifier 1092979 1093025 - CallExpression 1093026 1093051 - Identifier 1093026 1093039 - Identifier 1093040 1093050 - FunctionDeclaration 1093086 1093563 - Identifier 1093102 1093134 - Parameter 1093135 1093245 - Identifier 1093135 1093145 - UnionType 1093146 1093245 - TypeReference 1093146 1093170 - Identifier 1093146 1093170 - TypeReference 1093172 1093194 - Identifier 1093172 1093194 - TypeReference 1093196 1093209 - Identifier 1093196 1093209 - TypeReference 1093211 1093223 - Identifier 1093211 1093223 - TypeReference 1093225 1093245 - Identifier 1093225 1093245 - Block 1093246 1093563 - ReturnStatement 1093248 1093556 - ConditionalExpression 1093264 1093555 - BinaryExpression 1093264 1093319 - PropertyAccessExpression 1093264 1093280 - Identifier 1093264 1093275 - Identifier 1093276 1093280 - EqualsEqualsEqualsToken 1093280 1093284 - PropertyAccessExpression 1093284 1093319 - Identifier 1093284 1093295 - Identifier 1093296 1093319 - QuestionToken 1093319 1093321 - PropertyAccessExpression 1093321 1093351 - Identifier 1093321 1093332 - Identifier 1093333 1093351 - ColonToken 1093351 1093353 - ConditionalExpression 1093353 1093555 - BinaryExpression 1093353 1093415 - PropertyAccessExpression 1093353 1093382 - Identifier 1093353 1093377 - Identifier 1093378 1093382 - EqualsEqualsEqualsToken 1093382 1093386 - PropertyAccessExpression 1093386 1093415 - Identifier 1093386 1093397 - Identifier 1093398 1093415 - QuestionToken 1093415 1093417 - PropertyAccessExpression 1093417 1093438 - Identifier 1093417 1093428 - Identifier 1093429 1093438 - ColonToken 1093438 1093440 - ConditionalExpression 1093440 1093555 - BinaryExpression 1093440 1093505 - PropertyAccessExpression 1093440 1093469 - Identifier 1093440 1093464 - Identifier 1093465 1093469 - EqualsEqualsEqualsToken 1093469 1093473 - PropertyAccessExpression 1093473 1093505 - Identifier 1093473 1093484 - Identifier 1093485 1093505 - QuestionToken 1093505 1093507 - PropertyAccessExpression 1093507 1093529 - Identifier 1093507 1093518 - Identifier 1093519 1093529 - ColonToken 1093529 1093531 - Identifier 1093531 1093555 - FunctionDeclaration 1093563 1094426 - Identifier 1093579 1093611 - Parameter 1093612 1093622 - Identifier 1093612 1093616 - TypeReference 1093617 1093622 - Identifier 1093617 1093622 - BooleanKeyword 1093624 1093632 - Block 1093632 1094426 - IfStatement 1093634 1094282 - BinaryExpression 1093648 1093683 - PropertyAccessExpression 1093648 1093658 - Identifier 1093648 1093652 - Identifier 1093653 1093658 - AmpersandToken 1093658 1093660 - PropertyAccessExpression 1093660 1093683 - Identifier 1093660 1093670 - Identifier 1093671 1093683 - Block 1093684 1094282 - VariableStatement 1093686 1093864 - VariableDeclarationList 1093686 1093863 - VariableDeclaration 1093839 1093863 - Identifier 1093839 1093855 - FalseKeyword 1093857 1093863 - ForOfStatement 1093864 1094234 - VariableDeclarationList 1093883 1093890 - VariableDeclaration 1093888 1093890 - Identifier 1093888 1093890 - PropertyAccessExpression 1093893 1093926 - ParenthesizedExpression 1093893 1093920 - AsExpression 1093895 1093919 - Identifier 1093895 1093899 - TypeReference 1093902 1093919 - Identifier 1093902 1093919 - Identifier 1093921 1093926 - Block 1093927 1094234 - IfStatement 1093929 1094219 - BinaryExpression 1093951 1094039 - BinaryExpression 1093951 1094001 - PropertyAccessExpression 1093951 1093958 - Identifier 1093951 1093952 - Identifier 1093953 1093958 - AmpersandToken 1093958 1093960 - ParenthesizedExpression 1093960 1094001 - BinaryExpression 1093962 1094000 - PropertyAccessExpression 1093962 1093979 - Identifier 1093962 1093971 - Identifier 1093972 1093979 - BarToken 1093979 1093981 - PropertyAccessExpression 1093981 1094000 - Identifier 1093981 1093991 - Identifier 1093992 1094000 - BarBarToken 1094001 1094004 - CallExpression 1094004 1094039 - Identifier 1094004 1094036 - Identifier 1094037 1094038 - Block 1094040 1094106 - ExpressionStatement 1094042 1094087 - BinaryExpression 1094042 1094086 - Identifier 1094042 1094079 - EqualsToken 1094079 1094081 - TrueKeyword 1094081 1094086 - IfStatement 1094128 1094219 - PrefixUnaryExpression 1094133 1094162 - ParenthesizedExpression 1094134 1094162 - BinaryExpression 1094135 1094161 - PropertyAccessExpression 1094135 1094142 - Identifier 1094135 1094136 - Identifier 1094137 1094142 - AmpersandToken 1094142 1094144 - PropertyAccessExpression 1094144 1094161 - Identifier 1094144 1094154 - Identifier 1094155 1094161 - Block 1094163 1094219 - ReturnStatement 1094165 1094200 - FalseKeyword 1094193 1094199 - ReturnStatement 1094234 1094271 - Identifier 1094254 1094270 - ReturnStatement 1094282 1094419 - BinaryExpression 1094298 1094418 - PrefixUnaryExpression 1094298 1094388 - PrefixUnaryExpression 1094300 1094388 - ParenthesizedExpression 1094301 1094388 - BinaryExpression 1094302 1094387 - PropertyAccessExpression 1094302 1094312 - Identifier 1094302 1094306 - Identifier 1094307 1094312 - AmpersandToken 1094312 1094314 - ParenthesizedExpression 1094314 1094387 - BinaryExpression 1094316 1094386 - BinaryExpression 1094316 1094367 - BinaryExpression 1094316 1094348 - PropertyAccessExpression 1094316 1094329 - Identifier 1094316 1094325 - Identifier 1094326 1094329 - BarToken 1094329 1094331 - PropertyAccessExpression 1094331 1094348 - Identifier 1094331 1094341 - Identifier 1094342 1094348 - BarToken 1094348 1094350 - PropertyAccessExpression 1094350 1094367 - Identifier 1094350 1094360 - Identifier 1094361 1094367 - BarToken 1094367 1094369 - PropertyAccessExpression 1094369 1094386 - Identifier 1094369 1094379 - Identifier 1094380 1094386 - BarBarToken 1094388 1094391 - CallExpression 1094391 1094418 - Identifier 1094391 1094412 - Identifier 1094413 1094417 - FunctionDeclaration 1094426 1094904 - Identifier 1094442 1094463 - Parameter 1094464 1094474 - Identifier 1094464 1094468 - TypeReference 1094469 1094474 - Identifier 1094469 1094474 - Block 1094475 1094904 - ReturnStatement 1094477 1094897 - BinaryExpression 1094648 1094896 - BinaryExpression 1094648 1094770 - PrefixUnaryExpression 1094648 1094691 - PrefixUnaryExpression 1094650 1094691 - ParenthesizedExpression 1094651 1094691 - BinaryExpression 1094652 1094690 - PropertyAccessExpression 1094652 1094662 - Identifier 1094652 1094656 - Identifier 1094657 1094662 - AmpersandToken 1094662 1094664 - PropertyAccessExpression 1094664 1094690 - Identifier 1094664 1094674 - Identifier 1094675 1094690 - AmpersandAmpersandToken 1094691 1094694 - CallExpression 1094694 1094770 - Identifier 1094694 1094700 - PropertyAccessExpression 1094701 1094736 - ParenthesizedExpression 1094701 1094730 - AsExpression 1094702 1094729 - Identifier 1094702 1094706 - TypeReference 1094709 1094729 - Identifier 1094709 1094729 - Identifier 1094731 1094736 - Identifier 1094737 1094769 - BarBarToken 1094770 1094773 - BinaryExpression 1094773 1094896 - PrefixUnaryExpression 1094773 1094827 - PrefixUnaryExpression 1094788 1094827 - ParenthesizedExpression 1094789 1094827 - BinaryExpression 1094790 1094826 - PropertyAccessExpression 1094790 1094800 - Identifier 1094790 1094794 - Identifier 1094795 1094800 - AmpersandToken 1094800 1094802 - PropertyAccessExpression 1094802 1094826 - Identifier 1094802 1094812 - Identifier 1094813 1094826 - AmpersandAmpersandToken 1094827 1094830 - CallExpression 1094830 1094896 - Identifier 1094830 1094862 - PropertyAccessExpression 1094863 1094895 - ParenthesizedExpression 1094863 1094890 - AsExpression 1094864 1094889 - Identifier 1094864 1094868 - TypeReference 1094871 1094889 - Identifier 1094871 1094889 - Identifier 1094891 1094895 - FunctionDeclaration 1094904 1095084 - Identifier 1094920 1094944 - Parameter 1094945 1094955 - Identifier 1094945 1094949 - TypeReference 1094950 1094955 - Identifier 1094950 1094955 - Block 1094956 1095084 - ReturnStatement 1094958 1095077 - BinaryExpression 1094974 1095076 - PrefixUnaryExpression 1094974 1095045 - PrefixUnaryExpression 1094976 1095045 - ParenthesizedExpression 1094977 1095045 - BinaryExpression 1094978 1095044 - PropertyAccessExpression 1094978 1094988 - Identifier 1094978 1094982 - Identifier 1094983 1094988 - AmpersandToken 1094988 1094990 - ParenthesizedExpression 1094990 1095044 - BinaryExpression 1094992 1095043 - PropertyAccessExpression 1094992 1095017 - Identifier 1094992 1095001 - Identifier 1095002 1095017 - BarToken 1095017 1095019 - PropertyAccessExpression 1095019 1095043 - Identifier 1095019 1095029 - Identifier 1095030 1095043 - AmpersandAmpersandToken 1095045 1095048 - PrefixUnaryExpression 1095048 1095076 - CallExpression 1095050 1095076 - Identifier 1095050 1095070 - Identifier 1095071 1095075 - FunctionDeclaration 1095084 1095191 - Identifier 1095100 1095114 - Parameter 1095115 1095125 - Identifier 1095115 1095119 - TypeReference 1095120 1095125 - Identifier 1095120 1095125 - BooleanKeyword 1095127 1095135 - Block 1095135 1095191 - ReturnStatement 1095137 1095184 - PrefixUnaryExpression 1095153 1095183 - PrefixUnaryExpression 1095155 1095183 - CallExpression 1095156 1095183 - Identifier 1095156 1095177 - Identifier 1095178 1095182 - FunctionDeclaration 1095191 1095340 - Identifier 1095207 1095227 - Parameter 1095228 1095238 - Identifier 1095228 1095232 - TypeReference 1095233 1095238 - Identifier 1095233 1095238 - BooleanKeyword 1095240 1095248 - Block 1095248 1095340 - ReturnStatement 1095250 1095333 - PrefixUnaryExpression 1095266 1095332 - PrefixUnaryExpression 1095268 1095332 - ParenthesizedExpression 1095269 1095332 - BinaryExpression 1095270 1095331 - CallExpression 1095270 1095297 - Identifier 1095270 1095291 - Identifier 1095292 1095296 - AmpersandToken 1095297 1095299 - PropertyAccessExpression 1095299 1095331 - Identifier 1095299 1095311 - Identifier 1095312 1095331 - FunctionDeclaration 1095340 1095487 - Identifier 1095356 1095375 - Parameter 1095376 1095386 - Identifier 1095376 1095380 - TypeReference 1095381 1095386 - Identifier 1095381 1095386 - BooleanKeyword 1095388 1095396 - Block 1095396 1095487 - ReturnStatement 1095398 1095480 - PrefixUnaryExpression 1095414 1095479 - PrefixUnaryExpression 1095416 1095479 - ParenthesizedExpression 1095417 1095479 - BinaryExpression 1095418 1095478 - CallExpression 1095418 1095445 - Identifier 1095418 1095439 - Identifier 1095440 1095444 - AmpersandToken 1095445 1095447 - PropertyAccessExpression 1095447 1095478 - Identifier 1095447 1095459 - Identifier 1095460 1095478 - FunctionDeclaration 1095487 1096893 - Identifier 1095503 1095525 - Parameter 1095526 1095536 - Identifier 1095526 1095530 - TypeReference 1095531 1095536 - Identifier 1095531 1095536 - TypeReference 1095538 1095550 - Identifier 1095538 1095550 - Block 1095550 1096893 - IfStatement 1095552 1096066 - BinaryExpression 1095566 1095610 - PropertyAccessExpression 1095566 1095576 - Identifier 1095566 1095570 - Identifier 1095571 1095576 - AmpersandToken 1095576 1095578 - ParenthesizedExpression 1095578 1095610 - PropertyAccessExpression 1095580 1095609 - Identifier 1095580 1095589 - Identifier 1095590 1095609 - Block 1095611 1096066 - IfStatement 1095613 1095960 - PrefixUnaryExpression 1095631 1095715 - ParenthesizedExpression 1095632 1095715 - BinaryExpression 1095633 1095714 - PropertyAccessExpression 1095633 1095678 - ParenthesizedExpression 1095633 1095666 - AsExpression 1095634 1095665 - Identifier 1095634 1095638 - TypeReference 1095641 1095665 - Identifier 1095641 1095665 - Identifier 1095667 1095678 - AmpersandToken 1095678 1095680 - PropertyAccessExpression 1095680 1095714 - Identifier 1095680 1095692 - Identifier 1095693 1095714 - Block 1095716 1095960 - ExpressionStatement 1095718 1095945 - BinaryExpression 1095718 1095944 - PropertyAccessExpression 1095718 1095781 - ParenthesizedExpression 1095718 1095769 - AsExpression 1095737 1095768 - Identifier 1095737 1095741 - TypeReference 1095744 1095768 - Identifier 1095744 1095768 - Identifier 1095770 1095781 - BarEqualsToken 1095781 1095784 - BinaryExpression 1095784 1095944 - PropertyAccessExpression 1095784 1095818 - Identifier 1095784 1095796 - Identifier 1095797 1095818 - BarToken 1095818 1095820 - CallExpression 1095820 1095944 - Identifier 1095820 1095852 - PropertyAccessExpression 1095853 1095892 - ParenthesizedExpression 1095853 1095886 - AsExpression 1095854 1095885 - Identifier 1095854 1095858 - TypeReference 1095861 1095885 - Identifier 1095861 1095885 - Identifier 1095887 1095892 - ArrowFunction 1095893 1095940 - Parameter 1095895 1095900 - Identifier 1095895 1095900 - Parameter 1095901 1095903 - Identifier 1095901 1095903 - EqualsGreaterThanToken 1095904 1095907 - BinaryExpression 1095907 1095940 - Identifier 1095907 1095913 - BarToken 1095913 1095915 - CallExpression 1095915 1095940 - Identifier 1095915 1095937 - Identifier 1095938 1095939 - NumericLiteral 1095941 1095943 - ReturnStatement 1095960 1096055 - BinaryExpression 1095980 1096054 - PropertyAccessExpression 1095980 1096026 - ParenthesizedExpression 1095980 1096014 - AsExpression 1095982 1096013 - Identifier 1095982 1095986 - TypeReference 1095989 1096013 - Identifier 1095989 1096013 - Identifier 1096015 1096026 - AmpersandToken 1096026 1096028 - PropertyAccessExpression 1096028 1096054 - Identifier 1096028 1096040 - Identifier 1096041 1096054 - IfStatement 1096066 1096569 - BinaryExpression 1096080 1096115 - PropertyAccessExpression 1096080 1096090 - Identifier 1096080 1096084 - Identifier 1096085 1096090 - AmpersandToken 1096090 1096092 - PropertyAccessExpression 1096092 1096115 - Identifier 1096092 1096102 - Identifier 1096103 1096115 - Block 1096116 1096569 - IfStatement 1096118 1096470 - PrefixUnaryExpression 1096136 1096213 - ParenthesizedExpression 1096137 1096213 - BinaryExpression 1096138 1096212 - PropertyAccessExpression 1096138 1096176 - ParenthesizedExpression 1096138 1096164 - AsExpression 1096139 1096163 - Identifier 1096139 1096143 - TypeReference 1096146 1096163 - Identifier 1096146 1096163 - Identifier 1096165 1096176 - AmpersandToken 1096176 1096178 - PropertyAccessExpression 1096178 1096212 - Identifier 1096178 1096190 - Identifier 1096191 1096212 - Block 1096214 1096470 - ExpressionStatement 1096216 1096455 - BinaryExpression 1096216 1096454 - PropertyAccessExpression 1096216 1096272 - ParenthesizedExpression 1096216 1096260 - AsExpression 1096235 1096259 - Identifier 1096235 1096239 - TypeReference 1096242 1096259 - Identifier 1096242 1096259 - Identifier 1096261 1096272 - BarEqualsToken 1096272 1096275 - BinaryExpression 1096275 1096454 - BinaryExpression 1096275 1096391 - PropertyAccessExpression 1096275 1096309 - Identifier 1096275 1096287 - Identifier 1096288 1096309 - BarToken 1096309 1096311 - CallExpression 1096311 1096391 - Identifier 1096311 1096354 - PropertyAccessExpression 1096355 1096390 - ParenthesizedExpression 1096355 1096381 - AsExpression 1096356 1096380 - Identifier 1096356 1096360 - TypeReference 1096363 1096380 - Identifier 1096363 1096380 - Identifier 1096382 1096390 - BarToken 1096391 1096393 - CallExpression 1096393 1096454 - Identifier 1096393 1096415 - PropertyAccessExpression 1096416 1096453 - ParenthesizedExpression 1096416 1096442 - AsExpression 1096417 1096441 - Identifier 1096417 1096421 - TypeReference 1096424 1096441 - Identifier 1096424 1096441 - Identifier 1096443 1096453 - ReturnStatement 1096470 1096558 - BinaryExpression 1096490 1096557 - PropertyAccessExpression 1096490 1096529 - ParenthesizedExpression 1096490 1096517 - AsExpression 1096492 1096516 - Identifier 1096492 1096496 - TypeReference 1096499 1096516 - Identifier 1096499 1096516 - Identifier 1096518 1096529 - AmpersandToken 1096529 1096531 - PropertyAccessExpression 1096531 1096557 - Identifier 1096531 1096543 - Identifier 1096544 1096557 - ReturnStatement 1096569 1096886 - BinaryExpression 1096585 1096885 - ParenthesizedExpression 1096585 1096730 - ConditionalExpression 1096587 1096729 - BinaryExpression 1096587 1096691 - BinaryExpression 1096587 1096663 - BinaryExpression 1096587 1096634 - PropertyAccessExpression 1096587 1096597 - Identifier 1096587 1096591 - Identifier 1096592 1096597 - AmpersandToken 1096597 1096599 - PropertyAccessExpression 1096599 1096634 - Identifier 1096599 1096609 - Identifier 1096610 1096634 - BarBarToken 1096634 1096637 - CallExpression 1096637 1096663 - Identifier 1096637 1096657 - Identifier 1096658 1096662 - BarBarToken 1096663 1096666 - CallExpression 1096666 1096691 - Identifier 1096666 1096685 - Identifier 1096686 1096690 - QuestionToken 1096691 1096693 - PropertyAccessExpression 1096693 1096725 - Identifier 1096693 1096705 - Identifier 1096706 1096725 - ColonToken 1096725 1096727 - NumericLiteral 1096727 1096729 - BarToken 1096730 1096732 - ParenthesizedExpression 1096732 1096885 - ConditionalExpression 1096747 1096884 - BinaryExpression 1096747 1096847 - BinaryExpression 1096747 1096814 - PropertyAccessExpression 1096747 1096757 - Identifier 1096747 1096751 - Identifier 1096752 1096757 - AmpersandToken 1096757 1096759 - ParenthesizedExpression 1096759 1096814 - BinaryExpression 1096761 1096813 - PropertyAccessExpression 1096761 1096795 - Identifier 1096761 1096770 - Identifier 1096771 1096795 - BarToken 1096795 1096797 - PropertyAccessExpression 1096797 1096813 - Identifier 1096797 1096807 - Identifier 1096808 1096813 - BarBarToken 1096814 1096817 - CallExpression 1096817 1096847 - Identifier 1096817 1096841 - Identifier 1096842 1096846 - QuestionToken 1096847 1096849 - PropertyAccessExpression 1096849 1096880 - Identifier 1096849 1096861 - Identifier 1096862 1096880 - ColonToken 1096880 1096882 - NumericLiteral 1096882 1096884 - FunctionDeclaration 1096893 1097230 - Identifier 1096909 1096927 - Parameter 1096928 1096938 - Identifier 1096928 1096932 - TypeReference 1096933 1096938 - Identifier 1096933 1096938 - Parameter 1096939 1096956 - Identifier 1096939 1096947 - BooleanKeyword 1096948 1096956 - TypeReference 1096958 1096963 - Identifier 1096958 1096963 - Block 1096963 1097230 - ReturnStatement 1096965 1097223 - ConditionalExpression 1096981 1097222 - BinaryExpression 1096981 1097018 - PropertyAccessExpression 1096981 1096992 - Identifier 1096981 1096986 - Identifier 1096987 1096992 - AmpersandToken 1096992 1096994 - PropertyAccessExpression 1096994 1097018 - Identifier 1096994 1097004 - Identifier 1097005 1097018 - QuestionToken 1097018 1097020 - CallExpression 1097020 1097087 - Identifier 1097020 1097051 - AsExpression 1097052 1097077 - Identifier 1097052 1097056 - TypeReference 1097059 1097077 - Identifier 1097059 1097077 - Identifier 1097078 1097086 - ColonToken 1097087 1097089 - ConditionalExpression 1097089 1097222 - BinaryExpression 1097089 1097137 - PropertyAccessExpression 1097089 1097113 - Identifier 1097089 1097107 - Identifier 1097108 1097113 - AmpersandToken 1097113 1097115 - PropertyAccessExpression 1097115 1097137 - Identifier 1097115 1097125 - Identifier 1097126 1097137 - QuestionToken 1097137 1097139 - CallExpression 1097139 1097202 - Identifier 1097139 1097168 - AsExpression 1097169 1097192 - Identifier 1097169 1097173 - TypeReference 1097176 1097192 - Identifier 1097176 1097192 - Identifier 1097193 1097201 - ColonToken 1097202 1097204 - Identifier 1097204 1097222 - FunctionDeclaration 1097230 1097889 - Identifier 1097246 1097276 - Parameter 1097277 1097293 - Identifier 1097277 1097287 - TypeReference 1097288 1097293 - Identifier 1097288 1097293 - Parameter 1097294 1097310 - Identifier 1097294 1097304 - TypeReference 1097305 1097310 - Identifier 1097305 1097310 - Parameter 1097311 1097328 - Identifier 1097311 1097319 - BooleanKeyword 1097320 1097328 - Block 1097329 1097889 - IfStatement 1097331 1097882 - BinaryExpression 1097479 1097595 - BinaryExpression 1097479 1097513 - PropertyAccessExpression 1097479 1097495 - Identifier 1097479 1097489 - Identifier 1097490 1097495 - AmpersandToken 1097495 1097497 - PropertyAccessExpression 1097497 1097513 - Identifier 1097497 1097507 - Identifier 1097508 1097513 - BarBarToken 1097513 1097516 - BinaryExpression 1097516 1097595 - BinaryExpression 1097516 1097558 - PropertyAccessExpression 1097516 1097533 - Identifier 1097516 1097527 - Identifier 1097528 1097533 - AmpersandToken 1097533 1097535 - PropertyAccessExpression 1097535 1097558 - Identifier 1097535 1097545 - Identifier 1097546 1097558 - AmpersandAmpersandToken 1097558 1097561 - PrefixUnaryExpression 1097561 1097595 - CallExpression 1097563 1097595 - Identifier 1097563 1097583 - Identifier 1097584 1097594 - Block 1097596 1097882 - VariableStatement 1097598 1097746 - VariableDeclarationList 1097598 1097745 - VariableDeclaration 1097617 1097745 - Identifier 1097617 1097623 - CallExpression 1097625 1097745 - Identifier 1097625 1097629 - PropertyAccessExpression 1097630 1097675 - ParenthesizedExpression 1097630 1097669 - AsExpression 1097631 1097668 - Identifier 1097631 1097641 - TypeReference 1097644 1097668 - Identifier 1097644 1097668 - Identifier 1097670 1097675 - ArrowFunction 1097676 1097744 - Parameter 1097676 1097678 - Identifier 1097676 1097678 - EqualsGreaterThanToken 1097678 1097681 - CallExpression 1097681 1097744 - Identifier 1097681 1097699 - CallExpression 1097700 1097734 - Identifier 1097700 1097720 - Identifier 1097721 1097722 - Identifier 1097723 1097733 - Identifier 1097735 1097743 - ReturnStatement 1097746 1097871 - ConditionalExpression 1097766 1097870 - BinaryExpression 1097766 1097819 - BinaryExpression 1097766 1097808 - PropertyAccessExpression 1097766 1097783 - Identifier 1097766 1097777 - Identifier 1097778 1097783 - AmpersandToken 1097783 1097785 - PropertyAccessExpression 1097785 1097808 - Identifier 1097785 1097795 - Identifier 1097796 1097808 - BarBarToken 1097808 1097811 - Identifier 1097811 1097819 - QuestionToken 1097819 1097821 - CallExpression 1097821 1097848 - Identifier 1097821 1097841 - Identifier 1097842 1097847 - ColonToken 1097848 1097850 - CallExpression 1097850 1097870 - Identifier 1097850 1097863 - Identifier 1097864 1097869 - FunctionDeclaration 1097889 1098364 - Identifier 1097905 1097935 - Parameter 1097936 1097952 - Identifier 1097936 1097946 - TypeReference 1097947 1097952 - Identifier 1097947 1097952 - Parameter 1097953 1097969 - Identifier 1097953 1097963 - TypeReference 1097964 1097969 - Identifier 1097964 1097969 - Parameter 1097970 1097987 - Identifier 1097970 1097978 - BooleanKeyword 1097979 1097987 - Block 1097988 1098364 - IfStatement 1097990 1098357 - BinaryExpression 1098096 1098129 - PropertyAccessExpression 1098096 1098111 - Identifier 1098096 1098105 - Identifier 1098106 1098111 - AmpersandToken 1098111 1098113 - PropertyAccessExpression 1098113 1098129 - Identifier 1098113 1098123 - Identifier 1098124 1098129 - Block 1098130 1098357 - VariableStatement 1098132 1098266 - VariableDeclarationList 1098132 1098265 - VariableDeclaration 1098151 1098265 - Identifier 1098151 1098157 - CallExpression 1098159 1098265 - Identifier 1098159 1098163 - PropertyAccessExpression 1098164 1098194 - ParenthesizedExpression 1098164 1098188 - AsExpression 1098165 1098187 - Identifier 1098165 1098174 - TypeReference 1098177 1098187 - Identifier 1098177 1098187 - Identifier 1098189 1098194 - ArrowFunction 1098195 1098264 - Parameter 1098195 1098197 - Identifier 1098195 1098197 - EqualsGreaterThanToken 1098197 1098200 - CallExpression 1098200 1098264 - Identifier 1098200 1098218 - CallExpression 1098219 1098254 - Identifier 1098219 1098239 - Identifier 1098240 1098250 - Identifier 1098251 1098253 - Identifier 1098255 1098263 - ReturnStatement 1098266 1098346 - ConditionalExpression 1098286 1098345 - Identifier 1098286 1098294 - QuestionToken 1098294 1098296 - CallExpression 1098296 1098323 - Identifier 1098296 1098316 - Identifier 1098317 1098322 - ColonToken 1098323 1098325 - CallExpression 1098325 1098345 - Identifier 1098325 1098338 - Identifier 1098339 1098344 - FunctionDeclaration 1098364 1101760 - Identifier 1098622 1098653 - Parameter 1098654 1098677 - Identifier 1098654 1098658 - TypeReference 1098659 1098677 - Identifier 1098659 1098677 - Parameter 1098678 1098695 - Identifier 1098678 1098686 - BooleanKeyword 1098687 1098695 - TypeReference 1098697 1098702 - Identifier 1098697 1098702 - Block 1098702 1101760 - VariableStatement 1098704 1098786 - VariableDeclarationList 1098704 1098785 - VariableDeclaration 1098719 1098785 - Identifier 1098719 1098725 - ConditionalExpression 1098727 1098785 - Identifier 1098727 1098735 - QuestionToken 1098735 1098737 - StringLiteral 1098737 1098760 - ColonToken 1098760 1098762 - StringLiteral 1098762 1098785 - IfStatement 1098786 1098906 - ElementAccessExpression 1098800 1098811 - Identifier 1098800 1098804 - Identifier 1098805 1098810 - Block 1098812 1098906 - ReturnStatement 1098814 1098895 - ConditionalExpression 1098834 1098894 - BinaryExpression 1098834 1098873 - ElementAccessExpression 1098834 1098846 - Identifier 1098834 1098839 - Identifier 1098840 1098845 - EqualsEqualsEqualsToken 1098846 1098850 - Identifier 1098850 1098873 - QuestionToken 1098873 1098875 - Identifier 1098875 1098880 - ColonToken 1098880 1098882 - ElementAccessExpression 1098882 1098894 - Identifier 1098882 1098887 - Identifier 1098888 1098893 - ExpressionStatement 1098906 1098953 - BinaryExpression 1098906 1098952 - ElementAccessExpression 1098906 1098927 - Identifier 1098906 1098920 - Identifier 1098921 1098926 - EqualsToken 1098927 1098929 - Identifier 1098929 1098952 - VariableStatement 1098953 1099253 - VariableDeclarationList 1098953 1099252 - VariableDeclaration 1099195 1099252 - Identifier 1099195 1099206 - CallExpression 1099208 1099252 - Identifier 1099208 1099226 - PropertyAccessExpression 1099227 1099242 - Identifier 1099227 1099231 - Identifier 1099232 1099242 - Identifier 1099243 1099251 - VariableStatement 1099253 1099324 - VariableDeclarationList 1099253 1099323 - VariableDeclaration 1099268 1099323 - Identifier 1099268 1099278 - CallExpression 1099280 1099323 - Identifier 1099280 1099298 - PropertyAccessExpression 1099299 1099313 - Identifier 1099299 1099303 - Identifier 1099304 1099313 - Identifier 1099314 1099322 - VariableStatement 1099324 1099517 - VariableDeclarationList 1099324 1099516 - VariableDeclaration 1099431 1099516 - Identifier 1099431 1099452 - CallExpression 1099454 1099516 - Identifier 1099454 1099484 - Identifier 1099485 1099495 - Identifier 1099496 1099506 - Identifier 1099507 1099515 - IfStatement 1099517 1099621 - Identifier 1099531 1099551 - Block 1099552 1099621 - ReturnStatement 1099554 1099610 - BinaryExpression 1099574 1099609 - ElementAccessExpression 1099574 1099586 - Identifier 1099574 1099579 - Identifier 1099580 1099585 - EqualsToken 1099586 1099588 - Identifier 1099588 1099609 - IfStatement 1099621 1100183 - PrefixUnaryExpression 1099756 1099799 - ParenthesizedExpression 1099757 1099799 - BinaryExpression 1099758 1099798 - PropertyAccessExpression 1099758 1099773 - Identifier 1099758 1099767 - Identifier 1099768 1099773 - AmpersandToken 1099773 1099775 - PropertyAccessExpression 1099775 1099798 - Identifier 1099775 1099785 - Identifier 1099786 1099798 - Block 1099800 1100183 - VariableStatement 1099802 1100054 - VariableDeclarationList 1099802 1100053 - VariableDeclaration 1099967 1100053 - Identifier 1099967 1099989 - CallExpression 1099991 1100053 - Identifier 1099991 1100021 - Identifier 1100022 1100032 - Identifier 1100033 1100043 - Identifier 1100044 1100052 - IfStatement 1100054 1100172 - Identifier 1100072 1100093 - Block 1100094 1100172 - ReturnStatement 1100096 1100157 - BinaryExpression 1100120 1100156 - ElementAccessExpression 1100120 1100132 - Identifier 1100120 1100125 - Identifier 1100126 1100131 - EqualsToken 1100132 1100134 - Identifier 1100134 1100156 - IfStatement 1100183 1101067 - BinaryExpression 1100703 1100775 - CallExpression 1100703 1100733 - Identifier 1100703 1100721 - Identifier 1100722 1100732 - AmpersandAmpersandToken 1100733 1100736 - BinaryExpression 1100736 1100775 - PropertyAccessExpression 1100736 1100752 - Identifier 1100736 1100746 - Identifier 1100747 1100752 - AmpersandToken 1100752 1100754 - PropertyAccessExpression 1100754 1100775 - Identifier 1100754 1100764 - Identifier 1100765 1100775 - Block 1100776 1101067 - VariableStatement 1100778 1100958 - VariableDeclarationList 1100778 1100957 - VariableDeclaration 1100797 1100957 - Identifier 1100797 1100809 - CallExpression 1100811 1100957 - Identifier 1100811 1100844 - Identifier 1100845 1100855 - ConditionalExpression 1100856 1100927 - BinaryExpression 1100856 1100891 - PropertyAccessExpression 1100856 1100872 - Identifier 1100856 1100866 - Identifier 1100867 1100872 - AmpersandToken 1100872 1100874 - PropertyAccessExpression 1100874 1100891 - Identifier 1100874 1100884 - Identifier 1100885 1100891 - QuestionToken 1100891 1100893 - NumericLiteral 1100893 1100895 - ColonToken 1100895 1100897 - PropertyAccessExpression 1100897 1100927 - PropertyAccessExpression 1100897 1100915 - Identifier 1100897 1100908 - Identifier 1100909 1100915 - Identifier 1100916 1100927 - NumericLiteral 1100928 1100947 - Identifier 1100948 1100956 - IfStatement 1100958 1101056 - Identifier 1100976 1100987 - Block 1100988 1101056 - ReturnStatement 1100990 1101041 - BinaryExpression 1101014 1101040 - ElementAccessExpression 1101014 1101026 - Identifier 1101014 1101019 - Identifier 1101020 1101025 - EqualsToken 1101026 1101028 - Identifier 1101028 1101040 - IfStatement 1101067 1101717 - CallExpression 1101422 1101453 - Identifier 1101422 1101441 - Identifier 1101442 1101452 - Block 1101454 1101717 - IfStatement 1101456 1101706 - BinaryExpression 1101474 1101548 - CallExpression 1101474 1101511 - Identifier 1101474 1101499 - Identifier 1101500 1101510 - ExclamationEqualsEqualsToken 1101511 1101515 - PropertyAccessExpression 1101515 1101548 - Identifier 1101515 1101538 - Identifier 1101539 1101548 - Block 1101549 1101706 - ReturnStatement 1101551 1101691 - BinaryExpression 1101575 1101690 - ElementAccessExpression 1101575 1101587 - Identifier 1101575 1101580 - Identifier 1101581 1101586 - EqualsToken 1101587 1101589 - CallExpression 1101589 1101690 - Identifier 1101589 1101597 - CallExpression 1101598 1101653 - Identifier 1101598 1101625 - Identifier 1101626 1101636 - PropertyAccessExpression 1101637 1101652 - Identifier 1101637 1101642 - Identifier 1101643 1101652 - ArrowFunction 1101654 1101689 - Parameter 1101654 1101656 - Identifier 1101654 1101656 - EqualsGreaterThanToken 1101656 1101659 - CallExpression 1101659 1101689 - Identifier 1101659 1101677 - Identifier 1101678 1101679 - Identifier 1101680 1101688 - ReturnStatement 1101717 1101753 - BinaryExpression 1101733 1101752 - ElementAccessExpression 1101733 1101745 - Identifier 1101733 1101738 - Identifier 1101739 1101744 - EqualsToken 1101745 1101747 - Identifier 1101747 1101752 - FunctionDeclaration 1101760 1103280 - Identifier 1101776 1101805 - Parameter 1101806 1101827 - Identifier 1101806 1101810 - TypeReference 1101811 1101827 - Identifier 1101811 1101827 - Parameter 1101828 1101845 - Identifier 1101828 1101836 - BooleanKeyword 1101837 1101845 - Block 1101846 1103280 - VariableStatement 1101848 1101891 - VariableDeclarationList 1101848 1101890 - VariableDeclaration 1101863 1101890 - Identifier 1101863 1101873 - PropertyAccessExpression 1101875 1101890 - Identifier 1101875 1101880 - Identifier 1101881 1101890 - VariableStatement 1101891 1101938 - VariableDeclarationList 1101891 1101937 - VariableDeclaration 1101906 1101937 - Identifier 1101906 1101918 - PropertyAccessExpression 1101920 1101937 - Identifier 1101920 1101925 - Identifier 1101926 1101937 - VariableStatement 1101938 1102002 - VariableDeclarationList 1101938 1102001 - VariableDeclaration 1101953 1102001 - Identifier 1101953 1101962 - CallExpression 1101964 1102001 - Identifier 1101964 1101995 - Identifier 1101996 1102000 - VariableStatement 1102002 1102068 - VariableDeclarationList 1102002 1102067 - VariableDeclaration 1102017 1102067 - Identifier 1102017 1102027 - CallExpression 1102029 1102067 - Identifier 1102029 1102061 - Identifier 1102062 1102066 - IfStatement 1102068 1103251 - BinaryExpression 1102189 1102294 - BinaryExpression 1102189 1102222 - PropertyAccessExpression 1102189 1102204 - Identifier 1102189 1102198 - Identifier 1102199 1102204 - AmpersandToken 1102204 1102206 - PropertyAccessExpression 1102206 1102222 - Identifier 1102206 1102216 - Identifier 1102217 1102222 - AmpersandAmpersandToken 1102222 1102225 - BinaryExpression 1102225 1102294 - CallExpression 1102225 1102257 - Identifier 1102225 1102247 - Identifier 1102248 1102256 - EqualsEqualsEqualsToken 1102257 1102261 - CallExpression 1102261 1102294 - Identifier 1102261 1102283 - Identifier 1102284 1102293 - Block 1102295 1102691 - IfStatement 1102297 1102680 - BinaryExpression 1102315 1102450 - BinaryExpression 1102315 1102346 - PropertyAccessExpression 1102315 1102330 - Identifier 1102315 1102324 - Identifier 1102325 1102330 - AmpersandToken 1102330 1102332 - PropertyAccessExpression 1102332 1102346 - Identifier 1102332 1102342 - Identifier 1102343 1102346 - BarBarToken 1102346 1102349 - CallExpression 1102349 1102450 - Identifier 1102349 1102368 - CallExpression 1102369 1102407 - Identifier 1102369 1102396 - Identifier 1102397 1102406 - CallExpression 1102408 1102449 - Identifier 1102408 1102436 - Identifier 1102437 1102448 - Block 1102451 1102545 - ReturnStatement 1102453 1102530 - CallExpression 1102492 1102529 - Identifier 1102492 1102510 - Identifier 1102511 1102519 - Identifier 1102520 1102528 - IfStatement 1102563 1102680 - CallExpression 1102568 1102611 - Identifier 1102568 1102587 - Identifier 1102588 1102597 - Identifier 1102598 1102610 - Block 1102612 1102680 - ReturnStatement 1102614 1102665 - Identifier 1102654 1102664 - IfStatement 1102705 1103251 - BinaryExpression 1102710 1102815 - BinaryExpression 1102710 1102742 - PropertyAccessExpression 1102710 1102724 - Identifier 1102710 1102718 - Identifier 1102719 1102724 - AmpersandToken 1102724 1102726 - PropertyAccessExpression 1102726 1102742 - Identifier 1102726 1102736 - Identifier 1102737 1102742 - AmpersandAmpersandToken 1102742 1102745 - BinaryExpression 1102745 1102815 - CallExpression 1102745 1102778 - Identifier 1102745 1102767 - Identifier 1102768 1102777 - EqualsEqualsEqualsToken 1102778 1102782 - CallExpression 1102782 1102815 - Identifier 1102782 1102804 - Identifier 1102805 1102814 - Block 1102816 1103251 - IfStatement 1102818 1103240 - BinaryExpression 1102836 1102974 - PrefixUnaryExpression 1102836 1102870 - ParenthesizedExpression 1102837 1102870 - BinaryExpression 1102838 1102869 - PropertyAccessExpression 1102838 1102853 - Identifier 1102838 1102847 - Identifier 1102848 1102853 - AmpersandToken 1102853 1102855 - PropertyAccessExpression 1102855 1102869 - Identifier 1102855 1102865 - Identifier 1102866 1102869 - AmpersandAmpersandToken 1102870 1102873 - CallExpression 1102873 1102974 - Identifier 1102873 1102892 - CallExpression 1102893 1102931 - Identifier 1102893 1102920 - Identifier 1102921 1102930 - CallExpression 1102932 1102973 - Identifier 1102932 1102960 - Identifier 1102961 1102972 - Block 1102975 1103042 - ReturnStatement 1102977 1103027 - Identifier 1103016 1103026 - IfStatement 1103060 1103240 - BinaryExpression 1103065 1103143 - BinaryExpression 1103065 1103096 - PropertyAccessExpression 1103065 1103080 - Identifier 1103065 1103074 - Identifier 1103075 1103080 - AmpersandToken 1103080 1103082 - PropertyAccessExpression 1103082 1103096 - Identifier 1103082 1103092 - Identifier 1103093 1103096 - BarBarToken 1103096 1103099 - CallExpression 1103099 1103143 - Identifier 1103099 1103119 - Identifier 1103120 1103129 - Identifier 1103130 1103142 - Block 1103144 1103240 - ReturnStatement 1103146 1103225 - CallExpression 1103186 1103224 - Identifier 1103186 1103204 - Identifier 1103205 1103214 - Identifier 1103215 1103223 - ReturnStatement 1103251 1103273 - Identifier 1103267 1103272 - FunctionDeclaration 1103280 1103588 - Identifier 1103432 1103452 - Parameter 1103453 1103464 - Identifier 1103453 1103458 - TypeReference 1103459 1103464 - Identifier 1103459 1103464 - Parameter 1103465 1103477 - Identifier 1103465 1103471 - TypeReference 1103472 1103477 - Identifier 1103472 1103477 - Block 1103478 1103588 - ReturnStatement 1103480 1103581 - PrefixUnaryExpression 1103496 1103580 - PrefixUnaryExpression 1103498 1103580 - ParenthesizedExpression 1103499 1103580 - BinaryExpression 1103500 1103579 - PropertyAccessExpression 1103500 1103561 - CallExpression 1103500 1103555 - Identifier 1103500 1103512 - ArrayLiteralExpression 1103513 1103554 - CallExpression 1103514 1103542 - Identifier 1103514 1103528 - Identifier 1103529 1103534 - Identifier 1103535 1103541 - Identifier 1103543 1103553 - Identifier 1103556 1103561 - AmpersandToken 1103561 1103563 - PropertyAccessExpression 1103563 1103579 - Identifier 1103563 1103573 - Identifier 1103574 1103579 - FunctionDeclaration 1103588 1104885 - Identifier 1104132 1104160 - Parameter 1104161 1104183 - Identifier 1104161 1104171 - TypeReference 1104172 1104183 - Identifier 1104172 1104183 - Parameter 1104184 1104196 - Identifier 1104184 1104190 - TypeReference 1104191 1104196 - Identifier 1104191 1104196 - Block 1104197 1104885 - VariableStatement 1104199 1104296 - VariableDeclarationList 1104199 1104295 - VariableDeclaration 1104214 1104295 - Identifier 1104214 1104221 - CallExpression 1104223 1104295 - Identifier 1104223 1104240 - ArrayLiteralExpression 1104241 1104285 - CallExpression 1104242 1104284 - Identifier 1104242 1104272 - Identifier 1104273 1104283 - ArrayLiteralExpression 1104286 1104294 - Identifier 1104288 1104293 - VariableStatement 1104296 1104375 - VariableDeclarationList 1104296 1104374 - VariableDeclaration 1104311 1104374 - Identifier 1104311 1104326 - CallExpression 1104328 1104374 - Identifier 1104328 1104347 - PropertyAccessExpression 1104348 1104365 - Identifier 1104348 1104358 - Identifier 1104359 1104365 - Identifier 1104366 1104373 - VariableStatement 1104375 1104528 - VariableDeclarationList 1104375 1104527 - VariableDeclaration 1104390 1104527 - Identifier 1104390 1104415 - CallExpression 1104417 1104527 - Identifier 1104417 1104433 - CallExpression 1104434 1104510 - Identifier 1104434 1104463 - BinaryExpression 1104464 1104509 - AsExpression 1104464 1104495 - PropertyAccessExpression 1104464 1104481 - Identifier 1104464 1104474 - Identifier 1104475 1104481 - TypeReference 1104484 1104495 - Identifier 1104484 1104495 - BarBarToken 1104495 1104498 - Identifier 1104498 1104509 - Identifier 1104511 1104526 - VariableStatement 1104528 1104787 - VariableDeclarationList 1104528 1104786 - VariableDeclaration 1104543 1104786 - Identifier 1104543 1104554 - BinaryExpression 1104556 1104786 - BinaryExpression 1104556 1104597 - CallExpression 1104556 1104593 - Identifier 1104556 1104581 - Identifier 1104582 1104592 - GreaterThanToken 1104593 1104595 - NumericLiteral 1104595 1104597 - BarBarToken 1104597 1104600 - ParenthesizedExpression 1104600 1104786 - ConditionalExpression 1104602 1104785 - CallExpression 1104602 1104627 - Identifier 1104602 1104615 - Identifier 1104616 1104626 - QuestionToken 1104627 1104629 - BinaryExpression 1104629 1104723 - CallExpression 1104629 1104719 - Identifier 1104629 1104675 - CallExpression 1104676 1104718 - Identifier 1104676 1104706 - Identifier 1104707 1104717 - GreaterThanToken 1104719 1104721 - NumericLiteral 1104721 1104723 - ColonToken 1104723 1104725 - CallExpression 1104725 1104785 - Identifier 1104725 1104766 - Identifier 1104767 1104777 - Identifier 1104778 1104784 - ReturnStatement 1104787 1104878 - CallExpression 1104803 1104877 - Identifier 1104803 1104818 - Identifier 1104819 1104843 - TrueKeyword 1104844 1104864 - Identifier 1104865 1104876 - FunctionDeclaration 1104885 1105410 - Identifier 1105015 1105043 - Parameter 1105044 1105060 - Identifier 1105044 1105054 - TypeReference 1105055 1105060 - Identifier 1105055 1105060 - Parameter 1105061 1105077 - Identifier 1105061 1105071 - TypeReference 1105072 1105077 - Identifier 1105072 1105077 - Block 1105078 1105410 - VariableStatement 1105080 1105149 - VariableDeclarationList 1105080 1105148 - VariableDeclaration 1105095 1105148 - Identifier 1105095 1105111 - CallExpression 1105113 1105148 - Identifier 1105113 1105137 - Identifier 1105138 1105147 - ReturnStatement 1105149 1105403 - BinaryExpression 1105165 1105402 - PrefixUnaryExpression 1105165 1105183 - PrefixUnaryExpression 1105167 1105183 - Identifier 1105168 1105183 - AmpersandAmpersandToken 1105183 1105186 - CallExpression 1105186 1105402 - Identifier 1105186 1105191 - CallExpression 1105192 1105223 - Identifier 1105192 1105211 - Identifier 1105212 1105222 - ArrowFunction 1105224 1105401 - Parameter 1105224 1105226 - Identifier 1105224 1105226 - EqualsGreaterThanToken 1105226 1105229 - BinaryExpression 1105229 1105401 - PrefixUnaryExpression 1105229 1105277 - PrefixUnaryExpression 1105244 1105277 - ParenthesizedExpression 1105245 1105277 - BinaryExpression 1105246 1105276 - PropertyAccessExpression 1105246 1105253 - Identifier 1105246 1105247 - Identifier 1105248 1105253 - AmpersandToken 1105253 1105255 - PropertyAccessExpression 1105255 1105276 - Identifier 1105255 1105267 - Identifier 1105268 1105276 - AmpersandAmpersandToken 1105277 1105280 - CallExpression 1105280 1105401 - Identifier 1105280 1105312 - CallExpression 1105313 1105383 - Identifier 1105313 1105339 - Identifier 1105340 1105341 - PropertyAccessExpression 1105342 1105382 - Identifier 1105342 1105352 - Identifier 1105353 1105382 - Identifier 1105384 1105400 - FunctionDeclaration 1105410 1105874 - Identifier 1105426 1105447 - Parameter 1105448 1105464 - Identifier 1105448 1105458 - TypeReference 1105459 1105464 - Identifier 1105459 1105464 - Parameter 1105465 1105481 - Identifier 1105465 1105475 - TypeReference 1105476 1105481 - Identifier 1105476 1105481 - Parameter 1105482 1105513 - Identifier 1105482 1105494 - PropertyAccessExpression 1105496 1105513 - Identifier 1105496 1105508 - Identifier 1105509 1105513 - Parameter 1105514 1105626 - Identifier 1105514 1105525 - QuestionToken 1105525 1105526 - UnionType 1105527 1105626 - TypeReference 1105527 1105551 - Identifier 1105527 1105551 - TypeReference 1105553 1105575 - Identifier 1105553 1105575 - TypeReference 1105577 1105590 - Identifier 1105577 1105590 - TypeReference 1105592 1105604 - Identifier 1105592 1105604 - TypeReference 1105606 1105626 - Identifier 1105606 1105626 - Parameter 1105627 1105648 - Identifier 1105627 1105639 - QuestionToken 1105639 1105640 - TypeReference 1105641 1105648 - Identifier 1105641 1105648 - Parameter 1105649 1105686 - Identifier 1105649 1105668 - QuestionToken 1105668 1105669 - TypeOperator 1105670 1105686 - ArrayType 1105679 1105686 - TypeReference 1105679 1105684 - Identifier 1105679 1105684 - TypeReference 1105688 1105693 - Identifier 1105688 1105693 - Block 1105693 1105874 - ReturnStatement 1105695 1105867 - BinaryExpression 1105711 1105866 - CallExpression 1105711 1105824 - Identifier 1105711 1105743 - Identifier 1105744 1105754 - Identifier 1105755 1105765 - Identifier 1105766 1105778 - Identifier 1105779 1105790 - Identifier 1105791 1105803 - Identifier 1105804 1105823 - BarBarToken 1105824 1105827 - ParenthesizedExpression 1105827 1105866 - ConditionalExpression 1105829 1105865 - Identifier 1105829 1105839 - QuestionToken 1105839 1105841 - Identifier 1105841 1105851 - ColonToken 1105851 1105853 - Identifier 1105853 1105865 - FunctionDeclaration 1105874 1106390 - Identifier 1105890 1105908 - Parameter 1105909 1105924 - Identifier 1105909 1105918 - TypeReference 1105919 1105924 - Identifier 1105919 1105924 - Parameter 1105925 1105939 - Identifier 1105925 1105931 - NumberKeyword 1105932 1105939 - Block 1105940 1106390 - ReturnStatement 1105942 1106383 - CallExpression 1105958 1106382 - Identifier 1105958 1105968 - Identifier 1105969 1105978 - ArrowFunction 1105979 1106381 - Parameter 1105979 1105981 - Identifier 1105979 1105981 - EqualsGreaterThanToken 1105981 1105984 - Block 1105984 1106381 - IfStatement 1105986 1106343 - BinaryExpression 1106004 1106045 - PropertyAccessExpression 1106004 1106011 - Identifier 1106004 1106005 - Identifier 1106006 1106011 - AmpersandToken 1106011 1106013 - PropertyAccessExpression 1106013 1106045 - Identifier 1106013 1106023 - Identifier 1106024 1106045 - Block 1106046 1106343 - VariableStatement 1106048 1106151 - VariableDeclarationList 1106048 1106150 - VariableDeclaration 1106071 1106150 - Identifier 1106071 1106080 - CallExpression 1106082 1106150 - Identifier 1106082 1106106 - AsExpression 1106107 1106149 - Identifier 1106107 1106108 - UnionType 1106111 1106149 - TypeReference 1106111 1106129 - Identifier 1106111 1106129 - TypeReference 1106131 1106149 - Identifier 1106131 1106149 - IfStatement 1106151 1106328 - CallExpression 1106173 1106203 - Identifier 1106173 1106193 - Identifier 1106194 1106202 - Block 1106204 1106328 - VariableStatement 1106206 1106252 - VariableDeclarationList 1106206 1106251 - VariableDeclaration 1106233 1106251 - Identifier 1106233 1106239 - PrefixUnaryExpression 1106241 1106251 - Identifier 1106243 1106251 - ReturnStatement 1106252 1106309 - BinaryExpression 1106280 1106308 - BinaryExpression 1106280 1106291 - Identifier 1106280 1106286 - GreaterThanEqualsToken 1106286 1106289 - NumericLiteral 1106289 1106291 - AmpersandAmpersandToken 1106291 1106294 - BinaryExpression 1106294 1106308 - Identifier 1106294 1106300 - LessThanToken 1106300 1106302 - Identifier 1106302 1106308 - ReturnStatement 1106343 1106370 - FalseKeyword 1106363 1106369 - FunctionDeclaration 1106390 1111319 - Identifier 1106406 1106438 - Parameter 1106439 1106455 - Identifier 1106439 1106449 - TypeReference 1106450 1106455 - Identifier 1106450 1106455 - Parameter 1106456 1106472 - Identifier 1106456 1106466 - TypeReference 1106467 1106472 - Identifier 1106467 1106472 - Parameter 1106473 1106504 - Identifier 1106473 1106485 - PropertyAccessExpression 1106487 1106504 - Identifier 1106487 1106499 - Identifier 1106500 1106504 - Parameter 1106505 1106617 - Identifier 1106505 1106516 - QuestionToken 1106516 1106517 - UnionType 1106518 1106617 - TypeReference 1106518 1106542 - Identifier 1106518 1106542 - TypeReference 1106544 1106566 - Identifier 1106544 1106566 - TypeReference 1106568 1106581 - Identifier 1106568 1106581 - TypeReference 1106583 1106595 - Identifier 1106583 1106595 - TypeReference 1106597 1106617 - Identifier 1106597 1106617 - Parameter 1106618 1106639 - Identifier 1106618 1106630 - QuestionToken 1106630 1106631 - TypeReference 1106632 1106639 - Identifier 1106632 1106639 - Parameter 1106640 1106677 - Identifier 1106640 1106659 - QuestionToken 1106659 1106660 - TypeOperator 1106661 1106677 - ArrayType 1106670 1106677 - TypeReference 1106670 1106675 - Identifier 1106670 1106675 - UnionType 1106679 1106696 - TypeReference 1106679 1106684 - Identifier 1106679 1106684 - UndefinedKeyword 1106686 1106696 - Block 1106696 1111319 - IfStatement 1106698 1106817 - BinaryExpression 1106712 1106769 - BinaryExpression 1106712 1106739 - Identifier 1106712 1106722 - EqualsEqualsEqualsToken 1106722 1106726 - Identifier 1106726 1106739 - BarBarToken 1106739 1106742 - BinaryExpression 1106742 1106769 - Identifier 1106742 1106752 - EqualsEqualsEqualsToken 1106752 1106756 - Identifier 1106756 1106769 - Block 1106770 1106817 - ReturnStatement 1106772 1106806 - Identifier 1106792 1106805 - ExpressionStatement 1106817 1106867 - BinaryExpression 1106817 1106866 - Identifier 1106817 1106837 - EqualsToken 1106837 1106839 - CallExpression 1106839 1106866 - Identifier 1106839 1106854 - Identifier 1106855 1106865 - IfStatement 1106867 1107289 - BinaryExpression 1107079 1107238 - BinaryExpression 1107079 1107164 - CallExpression 1107079 1107121 - Identifier 1107079 1107109 - Identifier 1107110 1107120 - AmpersandAmpersandToken 1107121 1107124 - PrefixUnaryExpression 1107124 1107164 - ParenthesizedExpression 1107126 1107164 - BinaryExpression 1107127 1107163 - PropertyAccessExpression 1107127 1107142 - Identifier 1107127 1107136 - Identifier 1107137 1107142 - AmpersandToken 1107142 1107144 - PropertyAccessExpression 1107144 1107163 - Identifier 1107144 1107154 - Identifier 1107155 1107163 - AmpersandAmpersandToken 1107164 1107167 - CallExpression 1107167 1107238 - Identifier 1107167 1107190 - Identifier 1107191 1107200 - BinaryExpression 1107201 1107237 - PropertyAccessExpression 1107201 1107218 - Identifier 1107201 1107211 - Identifier 1107212 1107218 - BarToken 1107218 1107220 - PropertyAccessExpression 1107220 1107237 - Identifier 1107220 1107230 - Identifier 1107231 1107237 - Block 1107239 1107289 - ExpressionStatement 1107241 1107278 - BinaryExpression 1107241 1107277 - Identifier 1107241 1107264 - EqualsToken 1107264 1107266 - Identifier 1107266 1107277 - IfStatement 1107289 1107643 - BinaryExpression 1107509 1107597 - PropertyAccessExpression 1107509 1107549 - Identifier 1107509 1107524 - Identifier 1107525 1107549 - AmpersandAmpersandToken 1107549 1107552 - BinaryExpression 1107552 1107597 - Identifier 1107552 1107564 - AmpersandToken 1107564 1107566 - PropertyAccessExpression 1107566 1107597 - Identifier 1107566 1107578 - Identifier 1107579 1107597 - ExpressionStatement 1107598 1107643 - BinaryExpression 1107598 1107642 - Identifier 1107598 1107610 - BarEqualsToken 1107610 1107613 - PropertyAccessExpression 1107613 1107642 - Identifier 1107613 1107625 - Identifier 1107626 1107642 - IfStatement 1107643 1109471 - BinaryExpression 1108331 1108768 - CallExpression 1108331 1108374 - Identifier 1108331 1108363 - Identifier 1108364 1108373 - BarBarToken 1108374 1108377 - ParenthesizedExpression 1108377 1108768 - ConditionalExpression 1108379 1108767 - BinaryExpression 1108379 1108441 - Identifier 1108379 1108389 - AmpersandAmpersandToken 1108389 1108392 - BinaryExpression 1108392 1108441 - PropertyAccessExpression 1108392 1108408 - Identifier 1108392 1108403 - Identifier 1108404 1108408 - ExclamationEqualsEqualsToken 1108408 1108412 - PropertyAccessExpression 1108412 1108441 - Identifier 1108412 1108423 - Identifier 1108424 1108441 - QuestionToken 1108441 1108443 - BinaryExpression 1108443 1108570 - CallExpression 1108443 1108491 - Identifier 1108443 1108479 - Identifier 1108480 1108490 - AmpersandAmpersandToken 1108491 1108494 - PrefixUnaryExpression 1108494 1108570 - CallExpression 1108496 1108570 - Identifier 1108496 1108513 - Identifier 1108514 1108523 - CallExpression 1108524 1108569 - Identifier 1108524 1108550 - PropertyAccessExpression 1108551 1108568 - Identifier 1108551 1108561 - Identifier 1108562 1108568 - ColonToken 1108570 1108572 - BinaryExpression 1108572 1108767 - BinaryExpression 1108572 1108729 - CallExpression 1108572 1108621 - Identifier 1108572 1108609 - Identifier 1108610 1108620 - AmpersandAmpersandToken 1108621 1108624 - PrefixUnaryExpression 1108624 1108729 - ParenthesizedExpression 1108626 1108729 - BinaryExpression 1108627 1108728 - CallExpression 1108627 1108650 - Identifier 1108627 1108638 - Identifier 1108639 1108649 - AmpersandAmpersandToken 1108650 1108653 - CallExpression 1108653 1108728 - Identifier 1108653 1108671 - Identifier 1108672 1108681 - CallExpression 1108682 1108727 - Identifier 1108682 1108708 - PropertyAccessExpression 1108709 1108726 - Identifier 1108709 1108719 - Identifier 1108720 1108726 - BarBarToken 1108729 1108732 - CallExpression 1108732 1108767 - Identifier 1108732 1108755 - Identifier 1108756 1108766 - Block 1108779 1109471 - IfStatement 1108781 1108894 - BinaryExpression 1108799 1108840 - PropertyAccessExpression 1108799 1108815 - Identifier 1108799 1108809 - Identifier 1108810 1108815 - AmpersandToken 1108815 1108817 - PropertyAccessExpression 1108817 1108840 - Identifier 1108817 1108827 - Identifier 1108828 1108840 - Block 1108841 1108894 - ReturnStatement 1108843 1108879 - Identifier 1108867 1108878 - VariableStatement 1108894 1109047 - VariableDeclarationList 1108894 1109046 - VariableDeclaration 1108985 1109046 - Identifier 1108985 1109007 - BinaryExpression 1109009 1109046 - Identifier 1109009 1109021 - AmpersandToken 1109021 1109023 - PropertyAccessExpression 1109023 1109046 - Identifier 1109023 1109035 - Identifier 1109036 1109046 - VariableStatement 1109047 1109183 - VariableDeclarationList 1109047 1109182 - VariableDeclaration 1109066 1109182 - Identifier 1109066 1109069 - BinaryExpression 1109071 1109182 - BinaryExpression 1109071 1109136 - BinaryExpression 1109071 1109112 - BinaryExpression 1109071 1109106 - BinaryExpression 1109071 1109091 - PropertyAccessExpression 1109071 1109085 - Identifier 1109071 1109082 - Identifier 1109083 1109085 - PlusToken 1109085 1109087 - StringLiteral 1109087 1109091 - PlusToken 1109091 1109093 - PropertyAccessExpression 1109093 1109106 - Identifier 1109093 1109103 - Identifier 1109104 1109106 - PlusToken 1109106 1109108 - StringLiteral 1109108 1109112 - PlusToken 1109112 1109114 - Identifier 1109114 1109136 - PlusToken 1109136 1109138 - CallExpression 1109138 1109182 - Identifier 1109138 1109149 - Identifier 1109150 1109161 - Identifier 1109162 1109181 - VariableStatement 1109183 1109235 - VariableDeclarationList 1109183 1109234 - VariableDeclaration 1109200 1109234 - Identifier 1109200 1109205 - CallExpression 1109207 1109234 - PropertyAccessExpression 1109207 1109230 - Identifier 1109207 1109226 - Identifier 1109227 1109230 - Identifier 1109231 1109233 - IfStatement 1109235 1109432 - PrefixUnaryExpression 1109253 1109258 - Identifier 1109254 1109258 - Block 1109259 1109432 - ExpressionStatement 1109261 1109417 - CallExpression 1109261 1109416 - PropertyAccessExpression 1109261 1109301 - Identifier 1109261 1109297 - Identifier 1109298 1109301 - Identifier 1109302 1109304 - BinaryExpression 1109305 1109415 - Identifier 1109305 1109310 - EqualsToken 1109310 1109312 - CallExpression 1109312 1109415 - Identifier 1109312 1109336 - Identifier 1109337 1109347 - Identifier 1109348 1109358 - Identifier 1109359 1109381 - Identifier 1109382 1109394 - Identifier 1109395 1109414 - ReturnStatement 1109432 1109460 - Identifier 1109454 1109459 - VariableStatement 1109471 1109823 - VariableDeclarationList 1109471 1109822 - VariableDeclaration 1109766 1109822 - Identifier 1109766 1109785 - CallExpression 1109787 1109822 - Identifier 1109787 1109810 - Identifier 1109811 1109821 - IfStatement 1109823 1111131 - BinaryExpression 1109837 1109912 - BinaryExpression 1109837 1109870 - PropertyAccessExpression 1109837 1109852 - Identifier 1109837 1109846 - Identifier 1109847 1109852 - AmpersandToken 1109852 1109854 - PropertyAccessExpression 1109854 1109870 - Identifier 1109854 1109864 - Identifier 1109865 1109870 - AmpersandAmpersandToken 1109870 1109873 - PrefixUnaryExpression 1109873 1109912 - ParenthesizedExpression 1109875 1109912 - BinaryExpression 1109876 1109911 - PropertyAccessExpression 1109876 1109891 - Identifier 1109876 1109885 - Identifier 1109886 1109891 - AmpersandToken 1109891 1109893 - PropertyAccessExpression 1109893 1109911 - Identifier 1109893 1109903 - Identifier 1109904 1109911 - Block 1109913 1111131 - VariableStatement 1109915 1109958 - VariableDeclarationList 1109915 1109957 - VariableDeclaration 1109934 1109957 - Identifier 1109934 1109944 - ArrayType 1109945 1109952 - TypeReference 1109945 1109950 - Identifier 1109945 1109950 - ArrayLiteralExpression 1109954 1109957 - VariableStatement 1109958 1109999 - VariableDeclarationList 1109958 1109998 - VariableDeclaration 1109975 1109998 - Identifier 1109975 1109990 - FalseKeyword 1109992 1109998 - ForOfStatement 1109999 1110773 - VariableDeclarationList 1110018 1110025 - VariableDeclaration 1110023 1110025 - Identifier 1110023 1110025 - PropertyAccessExpression 1110028 1110059 - ParenthesizedExpression 1110028 1110053 - AsExpression 1110030 1110052 - Identifier 1110030 1110039 - TypeReference 1110042 1110052 - Identifier 1110042 1110052 - Identifier 1110054 1110059 - Block 1110060 1110773 - VariableStatement 1110062 1110260 - VariableDeclarationList 1110062 1110259 - VariableDeclaration 1110085 1110259 - Identifier 1110085 1110094 - CallExpression 1110096 1110259 - Identifier 1110096 1110124 - Identifier 1110125 1110135 - Identifier 1110136 1110155 - Identifier 1110156 1110158 - Identifier 1110159 1110169 - Identifier 1110170 1110181 - BinaryExpression 1110182 1110258 - Identifier 1110182 1110194 - BarToken 1110194 1110196 - ParenthesizedExpression 1110196 1110258 - ConditionalExpression 1110198 1110257 - Identifier 1110198 1110212 - QuestionToken 1110212 1110214 - PropertyAccessExpression 1110214 1110253 - Identifier 1110214 1110226 - Identifier 1110227 1110253 - ColonToken 1110253 1110255 - NumericLiteral 1110255 1110257 - IfStatement 1110260 1110758 - Identifier 1110282 1110290 - Block 1110291 1110359 - ExpressionStatement 1110293 1110340 - CallExpression 1110293 1110339 - PropertyAccessExpression 1110293 1110329 - Identifier 1110293 1110324 - Identifier 1110325 1110329 - Identifier 1110330 1110338 - IfStatement 1110381 1110758 - PrefixUnaryExpression 1110386 1110397 - Identifier 1110387 1110397 - Block 1110398 1110561 - ReturnStatement 1110400 1110542 - Identifier 1110531 1110541 - Block 1110583 1110758 - ExpressionStatement 1110585 1110739 - BinaryExpression 1110585 1110738 - Identifier 1110585 1110731 - EqualsToken 1110731 1110733 - TrueKeyword 1110733 1110738 - IfStatement 1110773 1110858 - Identifier 1110791 1110805 - Block 1110806 1110858 - ReturnStatement 1110808 1110843 - Identifier 1110832 1110842 - ReturnStatement 1110858 1111120 - ConditionalExpression 1110878 1111119 - BinaryExpression 1110878 1110912 - Identifier 1110878 1110890 - AmpersandToken 1110890 1110892 - PropertyAccessExpression 1110892 1110912 - Identifier 1110892 1110904 - Identifier 1110905 1110912 - QuestionToken 1110912 1110931 - CallExpression 1110931 1111019 - Identifier 1110931 1110951 - Identifier 1110952 1110961 - PropertyAccessExpression 1110962 1110985 - Identifier 1110962 1110980 - Identifier 1110981 1110985 - Identifier 1110986 1110998 - Identifier 1110999 1111018 - ColonToken 1111019 1111038 - CallExpression 1111038 1111119 - Identifier 1111038 1111051 - Identifier 1111052 1111061 - PropertyAccessExpression 1111062 1111085 - Identifier 1111062 1111077 - Identifier 1111078 1111085 - Identifier 1111086 1111098 - Identifier 1111099 1111118 - ReturnStatement 1111131 1111312 - CallExpression 1111147 1111311 - Identifier 1111147 1111175 - Identifier 1111176 1111186 - Identifier 1111187 1111206 - Identifier 1111207 1111217 - Identifier 1111218 1111228 - Identifier 1111229 1111240 - BinaryExpression 1111241 1111310 - BinaryExpression 1111241 1111279 - Identifier 1111241 1111253 - BarToken 1111253 1111255 - PropertyAccessExpression 1111255 1111279 - Identifier 1111255 1111267 - Identifier 1111268 1111279 - BarToken 1111279 1111281 - PropertyAccessExpression 1111281 1111310 - Identifier 1111281 1111293 - Identifier 1111294 1111310 - FunctionDeclaration 1111319 1111906 - Identifier 1111335 1111368 - Parameter 1111369 1111396 - Identifier 1111369 1111373 - TypeReference 1111374 1111396 - Identifier 1111374 1111396 - Block 1111397 1111906 - VariableStatement 1111399 1111442 - VariableDeclarationList 1111399 1111441 - VariableDeclaration 1111414 1111441 - Identifier 1111414 1111420 - CallExpression 1111422 1111441 - Identifier 1111422 1111435 - Identifier 1111436 1111440 - IfStatement 1111442 1111863 - PrefixUnaryExpression 1111456 1111475 - PropertyAccessExpression 1111457 1111475 - Identifier 1111457 1111462 - Identifier 1111463 1111475 - Block 1111476 1111863 - VariableStatement 1111478 1111548 - VariableDeclarationList 1111478 1111547 - VariableDeclaration 1111497 1111547 - Identifier 1111497 1111508 - CallExpression 1111510 1111547 - Identifier 1111510 1111530 - PropertyAccessExpression 1111531 1111546 - Identifier 1111531 1111535 - Identifier 1111536 1111546 - VariableStatement 1111548 1111616 - VariableDeclarationList 1111548 1111615 - VariableDeclaration 1111567 1111615 - Identifier 1111567 1111577 - CallExpression 1111579 1111615 - Identifier 1111579 1111599 - PropertyAccessExpression 1111600 1111614 - Identifier 1111600 1111604 - Identifier 1111605 1111614 - VariableStatement 1111616 1111685 - VariableDeclarationList 1111616 1111684 - VariableDeclaration 1111635 1111684 - Identifier 1111635 1111650 - CallExpression 1111652 1111684 - Identifier 1111652 1111678 - Identifier 1111679 1111683 - ExpressionStatement 1111685 1111852 - BinaryExpression 1111685 1111851 - PropertyAccessExpression 1111685 1111717 - Identifier 1111685 1111704 - Identifier 1111705 1111717 - EqualsToken 1111717 1111719 - CallExpression 1111719 1111851 - Identifier 1111719 1111740 - Identifier 1111741 1111751 - Identifier 1111752 1111762 - PropertyAccessExpression 1111763 1111780 - Identifier 1111763 1111775 - Identifier 1111776 1111780 - Identifier 1111781 1111786 - Identifier 1111787 1111802 - CallExpression 1111803 1111850 - Identifier 1111803 1111834 - Identifier 1111835 1111849 - ReturnStatement 1111863 1111899 - PropertyAccessExpression 1111879 1111898 - Identifier 1111879 1111885 - Identifier 1111886 1111898 - FunctionDeclaration 1111906 1112662 - Identifier 1111922 1111948 - Parameter 1111949 1111969 - Identifier 1111949 1111953 - TypeReference 1111954 1111969 - Identifier 1111954 1111969 - TypeReference 1111971 1111976 - Identifier 1111971 1111976 - Block 1111976 1112662 - VariableStatement 1111978 1112021 - VariableDeclarationList 1111978 1112020 - VariableDeclaration 1111993 1112020 - Identifier 1111993 1111999 - CallExpression 1112001 1112020 - Identifier 1112001 1112014 - Identifier 1112015 1112019 - IfStatement 1112021 1112619 - PrefixUnaryExpression 1112035 1112054 - PropertyAccessExpression 1112036 1112054 - Identifier 1112036 1112041 - Identifier 1112042 1112054 - Block 1112055 1112619 - VariableStatement 1112057 1112148 - VariableDeclarationList 1112057 1112147 - VariableDeclaration 1112076 1112147 - Identifier 1112076 1112081 - AsExpression 1112083 1112147 - CallExpression 1112083 1112133 - Identifier 1112083 1112100 - PropertyAccessExpression 1112101 1112119 - Identifier 1112101 1112112 - Identifier 1112113 1112119 - PropertyAccessExpression 1112120 1112132 - Identifier 1112120 1112125 - Identifier 1112126 1112132 - TypeReference 1112136 1112147 - Identifier 1112136 1112147 - ExpressionStatement 1112148 1112186 - BinaryExpression 1112148 1112185 - PropertyAccessExpression 1112148 1112178 - Identifier 1112148 1112166 - Identifier 1112167 1112178 - EqualsToken 1112178 1112180 - Identifier 1112180 1112185 - ExpressionStatement 1112186 1112251 - BinaryExpression 1112186 1112250 - PropertyAccessExpression 1112186 1112216 - Identifier 1112186 1112204 - Identifier 1112205 1112216 - EqualsToken 1112216 1112218 - CallExpression 1112218 1112250 - Identifier 1112218 1112244 - Identifier 1112245 1112249 - ExpressionStatement 1112251 1112340 - BinaryExpression 1112251 1112339 - PropertyAccessExpression 1112251 1112288 - Identifier 1112251 1112269 - Identifier 1112270 1112288 - EqualsToken 1112288 1112290 - CallExpression 1112290 1112339 - Identifier 1112290 1112321 - PropertyAccessExpression 1112322 1112338 - Identifier 1112322 1112326 - Identifier 1112327 1112338 - ExpressionStatement 1112340 1112380 - BinaryExpression 1112340 1112379 - PropertyAccessExpression 1112340 1112372 - Identifier 1112340 1112359 - Identifier 1112360 1112372 - EqualsToken 1112372 1112374 - Identifier 1112374 1112379 - ExpressionStatement 1112380 1112608 - CallExpression 1112380 1112607 - Identifier 1112380 1112601 - Identifier 1112602 1112606 - ReturnStatement 1112619 1112655 - PropertyAccessExpression 1112635 1112654 - Identifier 1112635 1112641 - Identifier 1112642 1112654 - FunctionDeclaration 1112662 1113343 - Identifier 1112678 1112700 - Parameter 1112701 1112711 - Identifier 1112701 1112705 - TypeReference 1112706 1112711 - Identifier 1112706 1112711 - TypeReference 1112713 1112718 - Identifier 1112713 1112718 - Block 1112718 1113343 - IfStatement 1112720 1112863 - BinaryExpression 1112734 1112769 - PropertyAccessExpression 1112734 1112744 - Identifier 1112734 1112738 - Identifier 1112739 1112744 - AmpersandToken 1112744 1112746 - PropertyAccessExpression 1112746 1112769 - Identifier 1112746 1112756 - Identifier 1112757 1112769 - Block 1112770 1112863 - ReturnStatement 1112772 1112852 - CallExpression 1112792 1112851 - Identifier 1112792 1112814 - PropertyAccessExpression 1112815 1112850 - ParenthesizedExpression 1112815 1112841 - AsExpression 1112816 1112840 - Identifier 1112816 1112820 - TypeReference 1112823 1112840 - Identifier 1112823 1112840 - Identifier 1112842 1112850 - IfStatement 1112863 1113314 - BinaryExpression 1112877 1113123 - BinaryExpression 1112877 1112927 - PropertyAccessExpression 1112877 1112901 - Identifier 1112877 1112895 - Identifier 1112896 1112901 - AmpersandToken 1112901 1112903 - PropertyAccessExpression 1112903 1112927 - Identifier 1112903 1112913 - Identifier 1112914 1112927 - AmpersandAmpersandToken 1112927 1112930 - ParenthesizedExpression 1112930 1113123 - BinaryExpression 1112932 1113108 - BinaryExpression 1112932 1113019 - PropertyAccessExpression 1112932 1112994 - PropertyAccessExpression 1112932 1112988 - ParenthesizedExpression 1112932 1112977 - AsExpression 1112951 1112976 - Identifier 1112951 1112955 - TypeReference 1112958 1112976 - Identifier 1112958 1112976 - Identifier 1112978 1112988 - Identifier 1112989 1112994 - AmpersandToken 1112994 1112996 - PropertyAccessExpression 1112996 1113019 - Identifier 1112996 1113006 - Identifier 1113007 1113019 - BarBarToken 1113019 1113022 - BinaryExpression 1113022 1113108 - PropertyAccessExpression 1113022 1113083 - PropertyAccessExpression 1113022 1113077 - ParenthesizedExpression 1113022 1113067 - AsExpression 1113041 1113066 - Identifier 1113041 1113045 - TypeReference 1113048 1113066 - Identifier 1113048 1113066 - Identifier 1113068 1113077 - Identifier 1113078 1113083 - AmpersandToken 1113083 1113085 - PropertyAccessExpression 1113085 1113108 - Identifier 1113085 1113095 - Identifier 1113096 1113108 - Block 1113134 1113314 - ReturnStatement 1113136 1113303 - CallExpression 1113156 1113302 - Identifier 1113156 1113177 - CallExpression 1113178 1113239 - Identifier 1113178 1113199 - PropertyAccessExpression 1113200 1113238 - ParenthesizedExpression 1113200 1113227 - AsExpression 1113201 1113226 - Identifier 1113201 1113205 - TypeReference 1113208 1113226 - Identifier 1113208 1113226 - Identifier 1113228 1113238 - CallExpression 1113240 1113301 - Identifier 1113240 1113262 - PropertyAccessExpression 1113263 1113300 - ParenthesizedExpression 1113263 1113290 - AsExpression 1113264 1113289 - Identifier 1113264 1113268 - TypeReference 1113271 1113289 - Identifier 1113271 1113289 - Identifier 1113291 1113300 - ReturnStatement 1113314 1113336 - Identifier 1113330 1113335 - FunctionDeclaration 1113343 1113633 - Identifier 1113359 1113377 - Parameter 1113378 1113392 - Identifier 1113378 1113382 - TypeReference 1113383 1113392 - Identifier 1113383 1113392 - BooleanKeyword 1113394 1113402 - Block 1113402 1113633 - ReturnStatement 1113404 1113626 - BinaryExpression 1113420 1113625 - BinaryExpression 1113420 1113471 - CallExpression 1113420 1113442 - Identifier 1113420 1113436 - Identifier 1113437 1113441 - AmpersandAmpersandToken 1113442 1113445 - BinaryExpression 1113445 1113471 - CallExpression 1113445 1113467 - Identifier 1113445 1113452 - PropertyAccessExpression 1113453 1113466 - Identifier 1113453 1113457 - Identifier 1113458 1113466 - GreaterThanToken 1113467 1113469 - NumericLiteral 1113469 1113471 - AmpersandAmpersandToken 1113471 1113474 - PrefixUnaryExpression 1113474 1113625 - CallExpression 1113489 1113625 - Identifier 1113489 1113493 - PropertyAccessExpression 1113494 1113507 - Identifier 1113494 1113498 - Identifier 1113499 1113507 - ArrowFunction 1113508 1113624 - Parameter 1113508 1113510 - Identifier 1113508 1113510 - EqualsGreaterThanToken 1113510 1113513 - BinaryExpression 1113513 1113624 - BinaryExpression 1113513 1113556 - CallExpression 1113513 1113535 - Identifier 1113513 1113532 - Identifier 1113533 1113534 - BarBarToken 1113535 1113538 - CallExpression 1113538 1113556 - Identifier 1113538 1113553 - Identifier 1113554 1113555 - BarBarToken 1113556 1113559 - BinaryExpression 1113559 1113624 - CallExpression 1113559 1113581 - Identifier 1113559 1113578 - Identifier 1113579 1113580 - AmpersandAmpersandToken 1113581 1113584 - PrefixUnaryExpression 1113584 1113624 - PrefixUnaryExpression 1113586 1113624 - ParenthesizedExpression 1113587 1113624 - BinaryExpression 1113588 1113623 - PropertyAccessExpression 1113588 1113603 - Identifier 1113588 1113589 - Identifier 1113590 1113603 - BarBarToken 1113603 1113606 - PropertyAccessExpression 1113606 1113623 - Identifier 1113606 1113608 - Identifier 1113609 1113623 - FunctionDeclaration 1113633 1113826 - Identifier 1113649 1113664 - Parameter 1113665 1113675 - Identifier 1113665 1113669 - TypeReference 1113670 1113675 - Identifier 1113670 1113675 - Parameter 1113676 1113697 - Identifier 1113676 1113688 - BooleanKeyword 1113689 1113697 - Block 1113698 1113826 - ReturnStatement 1113700 1113819 - BinaryExpression 1113716 1113818 - CallExpression 1113716 1113736 - Identifier 1113716 1113730 - Identifier 1113731 1113735 - BarBarToken 1113736 1113739 - BinaryExpression 1113739 1113818 - BinaryExpression 1113739 1113772 - Identifier 1113739 1113751 - AmpersandAmpersandToken 1113751 1113754 - CallExpression 1113754 1113772 - Identifier 1113754 1113766 - Identifier 1113767 1113771 - AmpersandAmpersandToken 1113772 1113775 - CallExpression 1113775 1113818 - Identifier 1113775 1113780 - CallExpression 1113781 1113802 - Identifier 1113781 1113796 - Identifier 1113797 1113801 - Identifier 1113803 1113817 - FunctionDeclaration 1113826 1125645 - Identifier 1113842 1113861 - Parameter 1113862 1113883 - Identifier 1113862 1113866 - TypeReference 1113867 1113883 - Identifier 1113867 1113883 - Parameter 1113884 1113915 - Identifier 1113884 1113891 - UnionType 1113892 1113915 - TypeReference 1113892 1113903 - Identifier 1113892 1113903 - UndefinedKeyword 1113905 1113915 - Parameter 1113916 1113939 - Identifier 1113916 1113930 - BooleanKeyword 1113931 1113939 - Parameter 1113940 1113961 - Identifier 1113940 1113952 - QuestionToken 1113952 1113953 - TypeReference 1113954 1113961 - Identifier 1113954 1113961 - Parameter 1113962 1113999 - Identifier 1113962 1113981 - QuestionToken 1113981 1113982 - TypeOperator 1113983 1113999 - ArrayType 1113992 1113999 - TypeReference 1113992 1113997 - Identifier 1113992 1113997 - TypeReference 1114001 1114006 - Identifier 1114001 1114006 - Block 1114006 1125645 - VariableStatement 1114008 1114029 - VariableDeclarationList 1114008 1114028 - VariableDeclaration 1114021 1114028 - Identifier 1114021 1114028 - VariableStatement 1114029 1114074 - VariableDeclarationList 1114029 1114073 - VariableDeclaration 1114042 1114073 - Identifier 1114042 1114053 - UnionType 1114054 1114073 - ArrayType 1114054 1114061 - TypeReference 1114054 1114059 - Identifier 1114054 1114059 - UndefinedKeyword 1114063 1114073 - VariableStatement 1114074 1114102 - VariableDeclarationList 1114074 1114101 - VariableDeclaration 1114087 1114101 - Identifier 1114087 1114097 - NumericLiteral 1114099 1114101 - WhileStatement 1114102 1123830 - TrueKeyword 1114666 1114670 - Block 1114671 1123830 - IfStatement 1114673 1114873 - BinaryExpression 1114691 1114709 - Identifier 1114691 1114700 - EqualsEqualsEqualsToken 1114700 1114704 - NumericLiteral 1114704 1114709 - Block 1114710 1114873 - ExpressionStatement 1114712 1114823 - CallExpression 1114712 1114822 - Identifier 1114712 1114735 - Identifier 1114736 1114747 - PropertyAccessExpression 1114748 1114821 - Identifier 1114748 1114760 - Identifier 1114761 1114821 - ReturnStatement 1114823 1114858 - Identifier 1114847 1114857 - VariableStatement 1114873 1114968 - VariableDeclarationList 1114873 1114967 - VariableDeclaration 1114892 1114967 - Identifier 1114892 1114902 - CallExpression 1114904 1114967 - Identifier 1114904 1114920 - CallExpression 1114921 1114958 - Identifier 1114921 1114942 - PropertyAccessExpression 1114943 1114957 - Identifier 1114943 1114947 - Identifier 1114948 1114957 - Identifier 1114959 1114966 - VariableStatement 1114968 1115044 - VariableDeclarationList 1114968 1115043 - VariableDeclaration 1114987 1115043 - Identifier 1114987 1114999 - CallExpression 1115001 1115043 - Identifier 1115001 1115017 - PropertyAccessExpression 1115018 1115034 - Identifier 1115018 1115022 - Identifier 1115023 1115034 - Identifier 1115035 1115042 - IfStatement 1115044 1115167 - BinaryExpression 1115062 1115114 - BinaryExpression 1115062 1115085 - Identifier 1115062 1115071 - EqualsEqualsEqualsToken 1115071 1115075 - Identifier 1115075 1115085 - BarBarToken 1115085 1115088 - BinaryExpression 1115088 1115114 - Identifier 1115088 1115100 - EqualsEqualsEqualsToken 1115100 1115104 - Identifier 1115104 1115114 - Block 1115115 1115167 - ReturnStatement 1115117 1115152 - Identifier 1115141 1115151 - IfStatement 1115167 1115299 - BinaryExpression 1115185 1115243 - BinaryExpression 1115185 1115211 - Identifier 1115185 1115194 - EqualsEqualsEqualsToken 1115194 1115198 - Identifier 1115198 1115211 - BarBarToken 1115211 1115214 - BinaryExpression 1115214 1115243 - Identifier 1115214 1115226 - EqualsEqualsEqualsToken 1115226 1115230 - Identifier 1115230 1115243 - Block 1115244 1115299 - ReturnStatement 1115246 1115284 - Identifier 1115270 1115283 - VariableStatement 1115299 1115376 - VariableDeclarationList 1115299 1115375 - VariableDeclaration 1115318 1115375 - Identifier 1115318 1115332 - CallExpression 1115334 1115375 - Identifier 1115334 1115354 - PropertyAccessExpression 1115355 1115374 - PropertyAccessExpression 1115355 1115364 - Identifier 1115355 1115359 - Identifier 1115360 1115364 - Identifier 1115365 1115374 - VariableStatement 1115376 1115457 - VariableDeclarationList 1115376 1115456 - VariableDeclaration 1115395 1115456 - Identifier 1115395 1115411 - CallExpression 1115413 1115456 - Identifier 1115413 1115433 - PropertyAccessExpression 1115434 1115455 - PropertyAccessExpression 1115434 1115443 - Identifier 1115434 1115438 - Identifier 1115439 1115443 - Identifier 1115444 1115455 - VariableStatement 1115457 1116035 - VariableDeclarationList 1115457 1116034 - VariableDeclaration 1115823 1116034 - Identifier 1115823 1115835 - BinaryExpression 1115837 1116034 - BinaryExpression 1115837 1115908 - CallExpression 1115837 1115870 - Identifier 1115837 1115855 - Identifier 1115856 1115869 - AmpersandAmpersandToken 1115870 1115873 - CallExpression 1115873 1115908 - Identifier 1115873 1115891 - Identifier 1115892 1115907 - AmpersandAmpersandToken 1115908 1115911 - BinaryExpression 1115911 1116034 - CallExpression 1115911 1115978 - Identifier 1115911 1115935 - PropertyAccessExpression 1115936 1115977 - ParenthesizedExpression 1115936 1115968 - AsExpression 1115937 1115967 - Identifier 1115937 1115950 - TypeReference 1115953 1115967 - Identifier 1115953 1115967 - Identifier 1115969 1115977 - EqualsEqualsEqualsToken 1115978 1115982 - CallExpression 1115982 1116034 - Identifier 1115982 1115989 - PropertyAccessExpression 1115990 1116033 - ParenthesizedExpression 1115990 1116024 - AsExpression 1115991 1116023 - Identifier 1115991 1116006 - TypeReference 1116009 1116023 - Identifier 1116009 1116023 - Identifier 1116025 1116033 - VariableStatement 1116035 1116114 - VariableDeclarationList 1116035 1116113 - VariableDeclaration 1116054 1116113 - Identifier 1116054 1116072 - CallExpression 1116074 1116113 - Identifier 1116074 1116089 - Identifier 1116090 1116099 - Identifier 1116100 1116112 - VariableStatement 1116114 1116171 - VariableDeclarationList 1116114 1116170 - VariableDeclaration 1116131 1116170 - Identifier 1116131 1116146 - UnionType 1116147 1116170 - TypeReference 1116147 1116158 - Identifier 1116147 1116158 - UndefinedKeyword 1116160 1116170 - IfStatement 1116171 1119054 - PropertyAccessExpression 1116189 1116213 - Identifier 1116189 1116193 - Identifier 1116194 1116213 - Block 1116214 1119054 - VariableStatement 1116216 1117933 - VariableDeclarationList 1116216 1117932 - VariableDeclaration 1117827 1117932 - Identifier 1117827 1117835 - CallExpression 1117837 1117932 - Identifier 1117837 1117860 - PropertyAccessExpression 1117861 1117885 - Identifier 1117861 1117865 - Identifier 1117866 1117885 - Identifier 1117886 1117910 - PropertyAccessExpression 1117911 1117931 - Identifier 1117911 1117926 - Identifier 1117927 1117931 - IfStatement 1117933 1118083 - Identifier 1117955 1117961 - Block 1117962 1118083 - ExpressionStatement 1117964 1118064 - BinaryExpression 1117964 1118063 - PropertyAccessExpression 1117964 1118009 - Identifier 1117964 1117993 - Identifier 1117994 1118009 - EqualsToken 1118009 1118011 - CallExpression 1118011 1118063 - Identifier 1118011 1118030 - PropertyAccessExpression 1118031 1118054 - Identifier 1118031 1118038 - Identifier 1118039 1118054 - Identifier 1118055 1118062 - IfStatement 1118083 1118590 - PrefixUnaryExpression 1118105 1118123 - Identifier 1118106 1118123 - Block 1118124 1118590 - ExpressionStatement 1118126 1118571 - CallExpression 1118126 1118570 - Identifier 1118126 1118460 - PropertyAccessExpression 1118461 1118479 - Identifier 1118461 1118468 - Identifier 1118469 1118479 - Identifier 1118480 1118490 - Identifier 1118491 1118503 - BinaryExpression 1118504 1118569 - PropertyAccessExpression 1118504 1118536 - Identifier 1118504 1118522 - Identifier 1118523 1118536 - BarToken 1118536 1118538 - PropertyAccessExpression 1118538 1118569 - Identifier 1118538 1118556 - Identifier 1118557 1118569 - ExpressionStatement 1118590 1119039 - BinaryExpression 1118590 1119038 - Identifier 1118590 1118967 - EqualsToken 1118967 1118969 - ConditionalExpression 1118969 1119038 - Identifier 1118969 1118976 - QuestionToken 1118976 1118978 - CallExpression 1118978 1119021 - Identifier 1118978 1118997 - PropertyAccessExpression 1118998 1119012 - Identifier 1118998 1119005 - Identifier 1119006 1119012 - Identifier 1119013 1119020 - ColonToken 1119021 1119023 - PropertyAccessExpression 1119023 1119038 - Identifier 1119023 1119031 - Identifier 1119032 1119038 - VariableStatement 1119054 1119273 - VariableDeclarationList 1119054 1119272 - VariableDeclaration 1119169 1119272 - Identifier 1119169 1119189 - ConditionalExpression 1119191 1119272 - Identifier 1119191 1119206 - QuestionToken 1119206 1119208 - CallExpression 1119208 1119258 - Identifier 1119208 1119224 - PropertyAccessExpression 1119225 1119241 - Identifier 1119225 1119229 - Identifier 1119230 1119241 - Identifier 1119242 1119257 - ColonToken 1119258 1119260 - Identifier 1119260 1119272 - IfStatement 1119273 1123133 - BinaryExpression 1119404 1119475 - PrefixUnaryExpression 1119404 1119422 - Identifier 1119405 1119422 - AmpersandAmpersandToken 1119422 1119425 - PrefixUnaryExpression 1119425 1119475 - CallExpression 1119427 1119475 - Identifier 1119427 1119441 - Identifier 1119442 1119461 - Identifier 1119462 1119474 - Block 1119476 1123133 - IfStatement 1119478 1122055 - BinaryExpression 1119933 1120134 - PrefixUnaryExpression 1119933 1119986 - ParenthesizedExpression 1119934 1119986 - BinaryExpression 1119935 1119985 - PropertyAccessExpression 1119935 1119960 - Identifier 1119935 1119954 - Identifier 1119955 1119960 - AmpersandToken 1119960 1119962 - PropertyAccessExpression 1119962 1119985 - Identifier 1119962 1119972 - Identifier 1119973 1119985 - AmpersandAmpersandToken 1119986 1119989 - ParenthesizedExpression 1119989 1120134 - BinaryExpression 1119991 1120133 - BinaryExpression 1119991 1120022 - PropertyAccessExpression 1119991 1120006 - Identifier 1119991 1120000 - Identifier 1120001 1120006 - AmpersandToken 1120006 1120008 - PropertyAccessExpression 1120008 1120022 - Identifier 1120008 1120018 - Identifier 1120019 1120022 - BarBarToken 1120022 1120025 - PrefixUnaryExpression 1120025 1120133 - CallExpression 1120027 1120133 - Identifier 1120027 1120045 - CallExpression 1120046 1120083 - Identifier 1120046 1120072 - Identifier 1120073 1120082 - CallExpression 1120084 1120132 - Identifier 1120084 1120111 - Identifier 1120112 1120131 - Block 1120135 1122055 - IfStatement 1120137 1121126 - BinaryExpression 1120725 1120951 - BinaryExpression 1120725 1120756 - PropertyAccessExpression 1120725 1120740 - Identifier 1120725 1120734 - Identifier 1120735 1120740 - AmpersandToken 1120740 1120742 - PropertyAccessExpression 1120742 1120756 - Identifier 1120742 1120752 - Identifier 1120753 1120756 - BarBarToken 1120756 1120759 - BinaryExpression 1120759 1120951 - BinaryExpression 1120759 1120823 - Identifier 1120759 1120773 - AmpersandAmpersandToken 1120773 1120776 - PrefixUnaryExpression 1120776 1120823 - ParenthesizedExpression 1120778 1120823 - BinaryExpression 1120779 1120822 - PropertyAccessExpression 1120779 1120804 - Identifier 1120779 1120798 - Identifier 1120799 1120804 - AmpersandToken 1120804 1120806 - PropertyAccessExpression 1120806 1120822 - Identifier 1120806 1120816 - Identifier 1120817 1120822 - AmpersandAmpersandToken 1120823 1120826 - CallExpression 1120826 1120951 - Identifier 1120826 1120835 - CallExpression 1120836 1120883 - Identifier 1120836 1120862 - Identifier 1120863 1120882 - ArrowFunction 1120884 1120950 - Parameter 1120884 1120886 - Identifier 1120884 1120886 - EqualsGreaterThanToken 1120886 1120889 - CallExpression 1120889 1120950 - Identifier 1120889 1120908 - Identifier 1120909 1120910 - CallExpression 1120911 1120949 - Identifier 1120911 1120938 - Identifier 1120939 1120948 - Block 1120952 1121126 - ExpressionStatement 1120954 1121103 - CallExpression 1120954 1121102 - PropertyAccessExpression 1120954 1121018 - ParenthesizedExpression 1120954 1121013 - BinaryExpression 1120981 1121012 - Identifier 1120981 1120991 - BarBarToken 1120991 1120994 - ParenthesizedExpression 1120994 1121012 - BinaryExpression 1120996 1121011 - Identifier 1120996 1121006 - EqualsToken 1121006 1121008 - ArrayLiteralExpression 1121008 1121011 - Identifier 1121014 1121018 - CallExpression 1121019 1121101 - Identifier 1121019 1121034 - CallExpression 1121035 1121074 - Identifier 1121035 1121054 - PropertyAccessExpression 1121055 1121073 - PropertyAccessExpression 1121055 1121064 - Identifier 1121055 1121059 - Identifier 1121060 1121064 - Identifier 1121065 1121073 - BinaryExpression 1121075 1121100 - Identifier 1121075 1121090 - BarBarToken 1121090 1121093 - Identifier 1121093 1121100 - VariableStatement 1121126 1121395 - VariableDeclarationList 1121126 1121394 - VariableDeclaration 1121341 1121394 - Identifier 1121341 1121351 - CallExpression 1121353 1121394 - Identifier 1121353 1121373 - PropertyAccessExpression 1121374 1121393 - PropertyAccessExpression 1121374 1121383 - Identifier 1121374 1121378 - Identifier 1121379 1121383 - Identifier 1121384 1121393 - IfStatement 1121395 1121942 - BinaryExpression 1121421 1121460 - PropertyAccessExpression 1121421 1121436 - Identifier 1121421 1121430 - Identifier 1121431 1121436 - AmpersandToken 1121436 1121438 - PropertyAccessExpression 1121438 1121460 - Identifier 1121438 1121448 - Identifier 1121449 1121460 - Block 1121461 1121942 - VariableStatement 1121463 1121541 - VariableDeclarationList 1121463 1121540 - VariableDeclaration 1121494 1121540 - Identifier 1121494 1121502 - PropertyAccessExpression 1121504 1121540 - ParenthesizedExpression 1121504 1121535 - AsExpression 1121506 1121534 - Identifier 1121506 1121515 - TypeReference 1121518 1121534 - Identifier 1121518 1121534 - Identifier 1121536 1121540 - IfStatement 1121541 1121787 - BinaryExpression 1121571 1121673 - BinaryExpression 1121571 1121604 - PropertyAccessExpression 1121571 1121590 - PropertyAccessExpression 1121571 1121583 - Identifier 1121571 1121578 - Identifier 1121579 1121583 - Identifier 1121584 1121590 - EqualsEqualsEqualsToken 1121590 1121594 - PropertyAccessExpression 1121594 1121604 - Identifier 1121594 1121599 - Identifier 1121600 1121604 - AmpersandAmpersandToken 1121604 1121607 - ParenthesizedExpression 1121607 1121673 - BinaryExpression 1121609 1121672 - PrefixUnaryExpression 1121609 1121632 - PropertyAccessExpression 1121610 1121632 - Identifier 1121610 1121617 - Identifier 1121618 1121632 - BarBarToken 1121632 1121635 - BinaryExpression 1121635 1121672 - PropertyAccessExpression 1121635 1121653 - Identifier 1121635 1121643 - Identifier 1121644 1121653 - EqualsEqualsEqualsToken 1121653 1121657 - PropertyAccessExpression 1121657 1121672 - Identifier 1121657 1121662 - Identifier 1121663 1121672 - Block 1121674 1121787 - ExpressionStatement 1121676 1121721 - BinaryExpression 1121676 1121720 - Identifier 1121676 1121710 - EqualsToken 1121710 1121712 - Identifier 1121712 1121720 - ContinueStatement 1121721 1121760 - IfStatement 1121787 1121919 - CallExpression 1121817 1121850 - Identifier 1121817 1121831 - Identifier 1121832 1121841 - Identifier 1121842 1121849 - Block 1121851 1121919 - ContinueStatement 1121853 1121892 - ExpressionStatement 1121942 1122008 - BinaryExpression 1121942 1122007 - Identifier 1121942 1121970 - EqualsToken 1121970 1121972 - CallExpression 1121972 1122007 - Identifier 1121972 1121988 - Identifier 1121989 1121998 - Identifier 1121999 1122006 - BreakStatement 1122008 1122036 - IfStatement 1122055 1123118 - BinaryExpression 1122569 1122731 - BinaryExpression 1122569 1122619 - PropertyAccessExpression 1122569 1122594 - Identifier 1122569 1122588 - Identifier 1122589 1122594 - AmpersandToken 1122594 1122596 - PropertyAccessExpression 1122596 1122619 - Identifier 1122596 1122606 - Identifier 1122607 1122619 - BarBarToken 1122619 1122622 - CallExpression 1122622 1122731 - Identifier 1122622 1122641 - CallExpression 1122642 1122680 - Identifier 1122642 1122669 - Identifier 1122670 1122679 - CallExpression 1122681 1122730 - Identifier 1122681 1122709 - Identifier 1122710 1122729 - Block 1122732 1123118 - VariableStatement 1122734 1122813 - VariableDeclarationList 1122734 1122812 - VariableDeclaration 1122761 1122812 - Identifier 1122761 1122770 - CallExpression 1122772 1122812 - Identifier 1122772 1122792 - PropertyAccessExpression 1122793 1122811 - PropertyAccessExpression 1122793 1122802 - Identifier 1122793 1122797 - Identifier 1122798 1122802 - Identifier 1122803 1122811 - VariableStatement 1122813 1122879 - VariableDeclarationList 1122813 1122878 - VariableDeclaration 1122840 1122878 - Identifier 1122840 1122851 - BinaryExpression 1122853 1122878 - Identifier 1122853 1122868 - BarBarToken 1122868 1122871 - Identifier 1122871 1122878 - IfStatement 1122879 1123002 - CallExpression 1122905 1122941 - Identifier 1122905 1122919 - Identifier 1122920 1122928 - Identifier 1122929 1122940 - Block 1122942 1123002 - ContinueStatement 1122944 1122979 - ExpressionStatement 1123002 1123071 - BinaryExpression 1123002 1123070 - Identifier 1123002 1123030 - EqualsToken 1123030 1123032 - CallExpression 1123032 1123070 - Identifier 1123032 1123048 - Identifier 1123049 1123057 - Identifier 1123058 1123069 - BreakStatement 1123071 1123099 - ExpressionStatement 1123133 1123313 - BinaryExpression 1123133 1123312 - Identifier 1123133 1123257 - EqualsToken 1123257 1123259 - AsExpression 1123259 1123312 - CallExpression 1123259 1123293 - Identifier 1123259 1123270 - PropertyAccessExpression 1123271 1123292 - Identifier 1123271 1123280 - Identifier 1123281 1123292 - TypeReference 1123296 1123312 - Identifier 1123296 1123312 - ExpressionStatement 1123313 1123346 - BinaryExpression 1123313 1123345 - PropertyAccessExpression 1123313 1123338 - Identifier 1123313 1123333 - Identifier 1123334 1123338 - EqualsToken 1123338 1123340 - Identifier 1123340 1123345 - ExpressionStatement 1123346 1123419 - BinaryExpression 1123346 1123418 - PropertyAccessExpression 1123346 1123376 - Identifier 1123346 1123366 - Identifier 1123367 1123376 - EqualsToken 1123376 1123378 - CallExpression 1123378 1123418 - Identifier 1123378 1123394 - PropertyAccessExpression 1123395 1123409 - Identifier 1123395 1123399 - Identifier 1123400 1123409 - Identifier 1123410 1123417 - ExpressionStatement 1123419 1123496 - BinaryExpression 1123419 1123495 - PropertyAccessExpression 1123419 1123451 - Identifier 1123419 1123439 - Identifier 1123440 1123451 - EqualsToken 1123451 1123453 - CallExpression 1123453 1123495 - Identifier 1123453 1123469 - PropertyAccessExpression 1123470 1123486 - Identifier 1123470 1123474 - Identifier 1123475 1123486 - Identifier 1123487 1123494 - ExpressionStatement 1123496 1123533 - BinaryExpression 1123496 1123532 - PropertyAccessExpression 1123496 1123523 - Identifier 1123496 1123516 - Identifier 1123517 1123523 - EqualsToken 1123523 1123525 - Identifier 1123525 1123532 - ExpressionStatement 1123533 1123586 - BinaryExpression 1123533 1123585 - PropertyAccessExpression 1123533 1123568 - Identifier 1123533 1123553 - Identifier 1123554 1123568 - EqualsToken 1123568 1123570 - Identifier 1123570 1123585 - ExpressionStatement 1123586 1123653 - BinaryExpression 1123586 1123652 - PropertyAccessExpression 1123586 1123618 - Identifier 1123586 1123606 - Identifier 1123607 1123618 - EqualsToken 1123618 1123620 - BinaryExpression 1123620 1123652 - Identifier 1123620 1123632 - BarBarToken 1123632 1123635 - PropertyAccessExpression 1123635 1123652 - Identifier 1123635 1123640 - Identifier 1123641 1123652 - ExpressionStatement 1123653 1123781 - BinaryExpression 1123653 1123780 - PropertyAccessExpression 1123653 1123692 - Identifier 1123653 1123673 - Identifier 1123674 1123692 - EqualsToken 1123692 1123694 - ConditionalExpression 1123694 1123780 - Identifier 1123694 1123706 - QuestionToken 1123706 1123708 - Identifier 1123708 1123727 - ColonToken 1123727 1123729 - CallExpression 1123729 1123780 - Identifier 1123729 1123746 - PropertyAccessExpression 1123747 1123770 - Identifier 1123747 1123751 - Identifier 1123752 1123770 - NonNullExpression 1123771 1123779 - Identifier 1123771 1123778 - BreakStatement 1123781 1123819 - ReturnStatement 1123830 1123910 - ConditionalExpression 1123846 1123909 - Identifier 1123846 1123857 - QuestionToken 1123857 1123859 - CallExpression 1123859 1123900 - Identifier 1123859 1123872 - CallExpression 1123873 1123899 - Identifier 1123873 1123879 - Identifier 1123880 1123890 - Identifier 1123891 1123898 - ColonToken 1123900 1123902 - Identifier 1123902 1123909 - FunctionDeclaration 1123910 1125638 - Identifier 1124323 1124338 - Parameter 1124339 1124352 - Identifier 1124339 1124346 - TypeReference 1124347 1124352 - Identifier 1124347 1124352 - Parameter 1124353 1124387 - Identifier 1124353 1124363 - UnionType 1124364 1124387 - TypeReference 1124364 1124375 - Identifier 1124364 1124375 - UndefinedKeyword 1124377 1124387 - Block 1124388 1125638 - IfStatement 1124390 1125600 - BinaryExpression 1124408 1124458 - BinaryExpression 1124408 1124445 - PropertyAccessExpression 1124408 1124421 - Identifier 1124408 1124415 - Identifier 1124416 1124421 - AmpersandToken 1124421 1124423 - PropertyAccessExpression 1124423 1124445 - Identifier 1124423 1124433 - Identifier 1124434 1124445 - AmpersandAmpersandToken 1124445 1124448 - Identifier 1124448 1124458 - Block 1124459 1125600 - VariableStatement 1124461 1124529 - VariableDeclarationList 1124461 1124528 - VariableDeclaration 1124484 1124528 - Identifier 1124484 1124492 - PropertyAccessExpression 1124494 1124528 - ParenthesizedExpression 1124494 1124523 - AsExpression 1124496 1124522 - Identifier 1124496 1124503 - TypeReference 1124506 1124522 - Identifier 1124506 1124522 - Identifier 1124524 1124528 - IfStatement 1124529 1125585 - PropertyAccessExpression 1124551 1124578 - Identifier 1124551 1124558 - Identifier 1124559 1124578 - Block 1124579 1125585 - VariableStatement 1124581 1124694 - VariableDeclarationList 1124581 1124693 - VariableDeclaration 1124608 1124693 - Identifier 1124608 1124624 - CallExpression 1124626 1124693 - Identifier 1124626 1124645 - PropertyAccessExpression 1124646 1124681 - ParenthesizedExpression 1124646 1124674 - AsExpression 1124647 1124673 - Identifier 1124647 1124654 - TypeReference 1124657 1124673 - Identifier 1124657 1124673 - Identifier 1124675 1124681 - Identifier 1124682 1124692 - VariableStatement 1124694 1124811 - VariableDeclarationList 1124694 1124810 - VariableDeclaration 1124721 1124810 - Identifier 1124721 1124735 - CallExpression 1124737 1124810 - Identifier 1124737 1124741 - PropertyAccessExpression 1124742 1124769 - Identifier 1124742 1124749 - Identifier 1124750 1124769 - ArrowFunction 1124770 1124809 - Parameter 1124770 1124772 - Identifier 1124770 1124772 - EqualsGreaterThanToken 1124772 1124775 - CallExpression 1124775 1124809 - Identifier 1124775 1124789 - Identifier 1124790 1124791 - Identifier 1124792 1124808 - VariableStatement 1124811 1124916 - VariableDeclarationList 1124811 1124915 - VariableDeclaration 1124838 1124915 - Identifier 1124838 1124852 - CallExpression 1124854 1124915 - Identifier 1124854 1124871 - PropertyAccessExpression 1124872 1124899 - Identifier 1124872 1124879 - Identifier 1124880 1124899 - Identifier 1124900 1124914 - VariableStatement 1124916 1125044 - VariableDeclarationList 1124916 1125043 - VariableDeclaration 1124943 1125043 - Identifier 1124943 1124956 - ConditionalExpression 1124958 1125043 - PropertyAccessExpression 1124958 1124981 - Identifier 1124958 1124966 - Identifier 1124967 1124981 - QuestionToken 1124981 1124983 - CallExpression 1124983 1125031 - Identifier 1124983 1124997 - PropertyAccessExpression 1124998 1125015 - Identifier 1124998 1125005 - Identifier 1125006 1125015 - Identifier 1125016 1125030 - ColonToken 1125031 1125033 - Identifier 1125033 1125043 - IfStatement 1125044 1125566 - BinaryExpression 1125070 1125184 - BinaryExpression 1125070 1125121 - PrefixUnaryExpression 1125070 1125083 - Identifier 1125071 1125083 - BarBarToken 1125083 1125086 - BinaryExpression 1125086 1125121 - Identifier 1125086 1125099 - EqualsEqualsEqualsToken 1125099 1125103 - PropertyAccessExpression 1125103 1125121 - Identifier 1125103 1125111 - Identifier 1125112 1125121 - BarBarToken 1125121 1125124 - PrefixUnaryExpression 1125124 1125184 - ParenthesizedExpression 1125126 1125184 - BinaryExpression 1125127 1125183 - PropertyAccessExpression 1125127 1125145 - Identifier 1125127 1125139 - Identifier 1125140 1125145 - AmpersandToken 1125145 1125147 - ParenthesizedExpression 1125147 1125183 - BinaryExpression 1125149 1125182 - PropertyAccessExpression 1125149 1125164 - Identifier 1125149 1125158 - Identifier 1125159 1125164 - BarToken 1125164 1125166 - PropertyAccessExpression 1125166 1125182 - Identifier 1125166 1125176 - Identifier 1125177 1125182 - Block 1125185 1125566 - ExpressionStatement 1125187 1125228 - BinaryExpression 1125187 1125227 - Identifier 1125187 1125217 - EqualsToken 1125217 1125219 - Identifier 1125219 1125227 - ExpressionStatement 1125228 1125277 - BinaryExpression 1125228 1125276 - Identifier 1125228 1125260 - EqualsToken 1125260 1125262 - Identifier 1125262 1125276 - ExpressionStatement 1125277 1125327 - BinaryExpression 1125277 1125326 - Identifier 1125277 1125314 - EqualsToken 1125314 1125316 - Identifier 1125316 1125326 - ExpressionStatement 1125327 1125384 - BinaryExpression 1125327 1125383 - Identifier 1125327 1125371 - EqualsToken 1125371 1125373 - Identifier 1125373 1125383 - IfStatement 1125384 1125505 - PropertyAccessExpression 1125414 1125433 - Identifier 1125414 1125421 - Identifier 1125422 1125433 - Block 1125434 1125505 - ExpressionStatement 1125436 1125478 - PostfixUnaryExpression 1125436 1125477 - Identifier 1125436 1125475 - ReturnStatement 1125505 1125543 - TrueKeyword 1125537 1125542 - ReturnStatement 1125600 1125627 - FalseKeyword 1125620 1125626 - FunctionDeclaration 1125645 1125867 - Identifier 1125661 1125692 - Parameter 1125693 1125714 - Identifier 1125693 1125697 - TypeReference 1125698 1125714 - Identifier 1125698 1125714 - Block 1125715 1125867 - ReturnStatement 1125717 1125860 - BinaryExpression 1125733 1125859 - PropertyAccessExpression 1125733 1125755 - Identifier 1125733 1125738 - Identifier 1125739 1125755 - BarBarToken 1125755 1125758 - ParenthesizedExpression 1125758 1125859 - BinaryExpression 1125760 1125858 - PropertyAccessExpression 1125760 1125781 - Identifier 1125760 1125764 - Identifier 1125765 1125781 - EqualsToken 1125781 1125783 - CallExpression 1125783 1125858 - Identifier 1125783 1125799 - CallExpression 1125800 1125844 - Identifier 1125800 1125819 - PropertyAccessExpression 1125820 1125843 - PropertyAccessExpression 1125820 1125834 - PropertyAccessExpression 1125820 1125829 - Identifier 1125820 1125824 - Identifier 1125825 1125829 - Identifier 1125830 1125834 - Identifier 1125835 1125843 - PropertyAccessExpression 1125845 1125857 - Identifier 1125845 1125850 - Identifier 1125851 1125857 - FunctionDeclaration 1125867 1126093 - Identifier 1125883 1125915 - Parameter 1125916 1125937 - Identifier 1125916 1125920 - TypeReference 1125921 1125937 - Identifier 1125921 1125937 - Block 1125938 1126093 - ReturnStatement 1125940 1126086 - BinaryExpression 1125956 1126085 - PropertyAccessExpression 1125956 1125979 - Identifier 1125956 1125961 - Identifier 1125962 1125979 - BarBarToken 1125979 1125982 - ParenthesizedExpression 1125982 1126085 - BinaryExpression 1125984 1126084 - PropertyAccessExpression 1125984 1126006 - Identifier 1125984 1125988 - Identifier 1125989 1126006 - EqualsToken 1126006 1126008 - CallExpression 1126008 1126084 - Identifier 1126008 1126024 - CallExpression 1126025 1126070 - Identifier 1126025 1126044 - PropertyAccessExpression 1126045 1126069 - PropertyAccessExpression 1126045 1126059 - PropertyAccessExpression 1126045 1126054 - Identifier 1126045 1126049 - Identifier 1126050 1126054 - Identifier 1126055 1126059 - Identifier 1126060 1126069 - PropertyAccessExpression 1126071 1126083 - Identifier 1126071 1126076 - Identifier 1126077 1126083 - FunctionDeclaration 1126093 1126408 - Identifier 1126109 1126148 - Parameter 1126149 1126170 - Identifier 1126149 1126153 - TypeReference 1126154 1126170 - Identifier 1126154 1126170 - Block 1126171 1126408 - ReturnStatement 1126173 1126401 - BinaryExpression 1126189 1126400 - PropertyAccessExpression 1126189 1126219 - Identifier 1126189 1126194 - Identifier 1126195 1126219 - BarBarToken 1126219 1126222 - ParenthesizedExpression 1126222 1126400 - BinaryExpression 1126224 1126399 - PropertyAccessExpression 1126224 1126253 - Identifier 1126224 1126228 - Identifier 1126229 1126253 - EqualsToken 1126253 1126255 - ConditionalExpression 1126255 1126399 - PropertyAccessExpression 1126255 1126275 - Identifier 1126255 1126260 - Identifier 1126261 1126275 - QuestionToken 1126275 1126277 - CallExpression 1126277 1126360 - Identifier 1126277 1126293 - CallExpression 1126294 1126338 - Identifier 1126294 1126313 - PropertyAccessExpression 1126314 1126337 - PropertyAccessExpression 1126314 1126328 - PropertyAccessExpression 1126314 1126323 - Identifier 1126314 1126318 - Identifier 1126319 1126323 - Identifier 1126324 1126328 - Identifier 1126329 1126337 - PropertyAccessExpression 1126339 1126359 - Identifier 1126339 1126344 - Identifier 1126345 1126359 - ColonToken 1126360 1126362 - CallExpression 1126362 1126399 - Identifier 1126362 1126393 - Identifier 1126394 1126398 - FunctionDeclaration 1126408 1126850 - Identifier 1126424 1126447 - Parameter 1126448 1126473 - Identifier 1126448 1126452 - TypeReference 1126453 1126473 - Identifier 1126453 1126473 - UnionType 1126475 1126503 - ArrayType 1126475 1126491 - TypeReference 1126475 1126489 - Identifier 1126475 1126489 - UndefinedKeyword 1126493 1126503 - Block 1126503 1126850 - VariableStatement 1126505 1126555 - VariableDeclarationList 1126505 1126554 - VariableDeclaration 1126518 1126554 - Identifier 1126518 1126525 - UnionType 1126526 1126554 - ArrayType 1126526 1126542 - TypeReference 1126526 1126540 - Identifier 1126526 1126540 - UndefinedKeyword 1126544 1126554 - IfStatement 1126555 1126819 - PropertyAccessExpression 1126569 1126580 - Identifier 1126569 1126573 - Identifier 1126574 1126580 - Block 1126581 1126819 - ExpressionStatement 1126583 1126808 - CallExpression 1126583 1126807 - PropertyAccessExpression 1126583 1126616 - PropertyAccessExpression 1126583 1126608 - Identifier 1126583 1126601 - Identifier 1126602 1126608 - Identifier 1126609 1126616 - ArrowFunction 1126617 1126806 - Parameter 1126617 1126623 - Identifier 1126617 1126623 - EqualsGreaterThanToken 1126623 1126626 - Block 1126626 1126806 - IfStatement 1126628 1126791 - BinaryExpression 1126650 1126690 - PropertyAccessExpression 1126650 1126662 - Identifier 1126650 1126656 - Identifier 1126657 1126662 - AmpersandToken 1126662 1126664 - PropertyAccessExpression 1126664 1126690 - Identifier 1126664 1126676 - Identifier 1126677 1126690 - Block 1126691 1126791 - ExpressionStatement 1126693 1126772 - BinaryExpression 1126693 1126771 - Identifier 1126693 1126721 - EqualsToken 1126721 1126723 - CallExpression 1126723 1126771 - Identifier 1126723 1126730 - Identifier 1126731 1126737 - CallExpression 1126738 1126770 - Identifier 1126738 1126762 - Identifier 1126763 1126769 - ReturnStatement 1126819 1126843 - Identifier 1126835 1126842 - FunctionDeclaration 1126850 1127179 - Identifier 1126866 1126890 - Parameter 1126891 1126912 - Identifier 1126891 1126895 - TypeReference 1126896 1126912 - Identifier 1126896 1126912 - Block 1126913 1127179 - ReturnStatement 1126915 1127172 - BinaryExpression 1126931 1127171 - PropertyAccessExpression 1126931 1126951 - Identifier 1126931 1126936 - Identifier 1126937 1126951 - AmpersandAmpersandToken 1126951 1126954 - ParenthesizedExpression 1126954 1127171 - BinaryExpression 1126956 1127160 - CallExpression 1126956 1127056 - Identifier 1126956 1127003 - AsExpression 1127004 1127035 - PropertyAccessExpression 1127004 1127018 - Identifier 1127004 1127008 - Identifier 1127009 1127018 - TypeReference 1127021 1127035 - Identifier 1127021 1127035 - PropertyAccessExpression 1127036 1127055 - PropertyAccessExpression 1127036 1127046 - Identifier 1127036 1127041 - Identifier 1127042 1127046 - Identifier 1127047 1127055 - BarBarToken 1127056 1127059 - CallExpression 1127059 1127160 - Identifier 1127059 1127106 - AsExpression 1127107 1127138 - PropertyAccessExpression 1127107 1127121 - Identifier 1127107 1127111 - Identifier 1127112 1127121 - TypeReference 1127124 1127138 - Identifier 1127124 1127138 - PropertyAccessExpression 1127139 1127159 - PropertyAccessExpression 1127139 1127149 - Identifier 1127139 1127144 - Identifier 1127145 1127149 - Identifier 1127150 1127159 - FunctionDeclaration 1127179 1128686 - Identifier 1127195 1127226 - Parameter 1127227 1127252 - Identifier 1127227 1127231 - TypeReference 1127232 1127252 - Identifier 1127232 1127252 - TypeReference 1127254 1127259 - Identifier 1127254 1127259 - Block 1127259 1128686 - VariableStatement 1127261 1127304 - VariableDeclarationList 1127261 1127303 - VariableDeclaration 1127276 1127303 - Identifier 1127276 1127282 - CallExpression 1127284 1127303 - Identifier 1127284 1127297 - Identifier 1127298 1127302 - IfStatement 1127304 1128643 - PrefixUnaryExpression 1127318 1127337 - PropertyAccessExpression 1127319 1127337 - Identifier 1127319 1127324 - Identifier 1127325 1127337 - Block 1127338 1128643 - VariableStatement 1127340 1127408 - VariableDeclarationList 1127340 1127407 - VariableDeclaration 1127359 1127407 - Identifier 1127359 1127369 - CallExpression 1127371 1127407 - Identifier 1127371 1127391 - PropertyAccessExpression 1127392 1127406 - Identifier 1127392 1127396 - Identifier 1127397 1127406 - VariableStatement 1127408 1127474 - VariableDeclarationList 1127408 1127473 - VariableDeclaration 1127427 1127473 - Identifier 1127427 1127439 - CallExpression 1127441 1127473 - Identifier 1127441 1127467 - Identifier 1127468 1127472 - VariableStatement 1127474 1127559 - VariableDeclarationList 1127474 1127558 - VariableDeclaration 1127493 1127558 - Identifier 1127493 1127512 - CallExpression 1127514 1127558 - Identifier 1127514 1127545 - Identifier 1127546 1127557 - VariableStatement 1127559 1127660 - VariableDeclarationList 1127559 1127659 - VariableDeclaration 1127578 1127659 - Identifier 1127578 1127601 - CallExpression 1127603 1127659 - Identifier 1127603 1127626 - Identifier 1127627 1127631 - TrueKeyword 1127632 1127658 - VariableStatement 1127660 1127830 - VariableDeclarationList 1127660 1127829 - VariableDeclaration 1127679 1127829 - Identifier 1127679 1127699 - ConditionalExpression 1127701 1127829 - Identifier 1127701 1127720 - QuestionToken 1127720 1127722 - Identifier 1127722 1127745 - ColonToken 1127745 1127747 - CallExpression 1127747 1127829 - Identifier 1127747 1127754 - Identifier 1127755 1127777 - ArrowFunction 1127778 1127828 - Parameter 1127778 1127781 - Identifier 1127778 1127781 - EqualsGreaterThanToken 1127781 1127784 - CallExpression 1127784 1127828 - Identifier 1127784 1127818 - Identifier 1127819 1127821 - Identifier 1127822 1127827 - VariableStatement 1127830 1128308 - VariableDeclarationList 1127830 1128307 - VariableDeclaration 1127849 1128307 - Identifier 1127849 1127854 - TypeReference 1127855 1127871 - Identifier 1127855 1127871 - ObjectLiteralExpression 1127873 1128307 - ShorthandPropertyAssignment 1127875 1127897 - Identifier 1127875 1127897 - ShorthandPropertyAssignment 1127898 1127925 - Identifier 1127898 1127925 - PropertyAssignment 1127926 1127994 - Identifier 1127926 1127955 - CallExpression 1127956 1127994 - Identifier 1127956 1127976 - PropertyAccessExpression 1127977 1127993 - Identifier 1127977 1127981 - Identifier 1127982 1127993 - PropertyAssignment 1127995 1128074 - Identifier 1127995 1128027 - PrefixUnaryExpression 1128028 1128074 - PrefixUnaryExpression 1128030 1128074 - ParenthesizedExpression 1128031 1128074 - BinaryExpression 1128032 1128073 - PropertyAccessExpression 1128032 1128047 - Identifier 1128032 1128041 - Identifier 1128042 1128047 - AmpersandToken 1128047 1128049 - PropertyAccessExpression 1128049 1128073 - Identifier 1128049 1128059 - Identifier 1128060 1128073 - PropertyAssignment 1128075 1128142 - Identifier 1128075 1128112 - CallExpression 1128113 1128142 - Identifier 1128113 1128136 - Identifier 1128137 1128141 - ShorthandPropertyAssignment 1128143 1128180 - Identifier 1128143 1128180 - PropertyAssignment 1128181 1128224 - Identifier 1128181 1128213 - Identifier 1128214 1128224 - ShorthandPropertyAssignment 1128225 1128254 - Identifier 1128225 1128254 - ShorthandPropertyAssignment 1128255 1128291 - Identifier 1128255 1128291 - ExpressionStatement 1128308 1128415 - BinaryExpression 1128308 1128414 - PropertyAccessExpression 1128308 1128340 - Identifier 1128308 1128327 - Identifier 1128328 1128340 - EqualsToken 1128340 1128342 - CallExpression 1128342 1128414 - Identifier 1128342 1128361 - Identifier 1128362 1128366 - Identifier 1128367 1128388 - FalseKeyword 1128389 1128413 - IfStatement 1128415 1128632 - Identifier 1128433 1128452 - Block 1128453 1128632 - ExpressionStatement 1128455 1128519 - BinaryExpression 1128455 1128518 - PropertyAccessExpression 1128455 1128492 - Identifier 1128455 1128477 - Identifier 1128478 1128492 - EqualsToken 1128492 1128494 - NewExpression 1128494 1128518 - Identifier 1128498 1128502 - StringKeyword 1128503 1128509 - TypeReference 1128510 1128515 - Identifier 1128510 1128515 - ExpressionStatement 1128519 1128617 - CallExpression 1128519 1128616 - PropertyAccessExpression 1128519 1128560 - PropertyAccessExpression 1128519 1128556 - Identifier 1128519 1128541 - Identifier 1128542 1128556 - Identifier 1128557 1128560 - CallExpression 1128561 1128595 - Identifier 1128561 1128574 - Identifier 1128575 1128594 - PropertyAccessExpression 1128596 1128615 - Identifier 1128596 1128602 - Identifier 1128603 1128615 - ReturnStatement 1128643 1128679 - PropertyAccessExpression 1128659 1128678 - Identifier 1128659 1128665 - Identifier 1128666 1128678 - FunctionDeclaration 1128686 1128999 - Identifier 1128702 1128727 - Parameter 1128728 1128747 - Identifier 1128728 1128732 - TypeReference 1128733 1128747 - Identifier 1128733 1128747 - TypeReference 1128749 1128754 - Identifier 1128749 1128754 - Block 1128754 1128999 - VariableStatement 1128756 1128799 - VariableDeclarationList 1128756 1128798 - VariableDeclaration 1128771 1128798 - Identifier 1128771 1128777 - CallExpression 1128779 1128798 - Identifier 1128779 1128792 - Identifier 1128793 1128797 - IfStatement 1128799 1128956 - PrefixUnaryExpression 1128813 1128832 - PropertyAccessExpression 1128814 1128832 - Identifier 1128814 1128819 - Identifier 1128820 1128832 - Block 1128833 1128956 - ExpressionStatement 1128835 1128945 - BinaryExpression 1128835 1128944 - PropertyAccessExpression 1128835 1128867 - Identifier 1128835 1128854 - Identifier 1128855 1128867 - EqualsToken 1128867 1128869 - CallExpression 1128869 1128944 - Identifier 1128869 1128900 - CallExpression 1128901 1128943 - Identifier 1128901 1128923 - PropertyAccessExpression 1128924 1128942 - Identifier 1128924 1128928 - Identifier 1128929 1128942 - ReturnStatement 1128956 1128992 - PropertyAccessExpression 1128972 1128991 - Identifier 1128972 1128978 - Identifier 1128979 1128991 - FunctionDeclaration 1128999 1129247 - Identifier 1129015 1129034 - Parameter 1129035 1129051 - Identifier 1129035 1129039 - TypeReference 1129040 1129051 - Identifier 1129040 1129051 - ArrayType 1129053 1129066 - TypeReference 1129053 1129064 - Identifier 1129053 1129064 - Block 1129066 1129247 - IfStatement 1129068 1129240 - CallExpression 1129082 1129100 - Identifier 1129082 1129094 - Identifier 1129095 1129099 - Block 1129101 1129142 - ReturnStatement 1129103 1129131 - ArrayLiteralExpression 1129123 1129130 - Identifier 1129125 1129129 - Block 1129156 1129240 - ReturnStatement 1129158 1129229 - CallExpression 1129178 1129228 - Identifier 1129178 1129185 - CallExpression 1129186 1129215 - Identifier 1129186 1129204 - PropertyAccessExpression 1129205 1129214 - Identifier 1129205 1129209 - Identifier 1129210 1129214 - PropertyAccessExpression 1129216 1129227 - Identifier 1129216 1129221 - Identifier 1129222 1129227 - FunctionDeclaration 1129247 1133247 - Identifier 1129263 1129289 - Parameter 1129290 1129310 - Identifier 1129290 1129294 - TypeReference 1129295 1129310 - Identifier 1129295 1129310 - TypeReference 1129312 1129317 - Identifier 1129312 1129317 - Block 1129317 1133247 - VariableStatement 1129319 1129362 - VariableDeclarationList 1129319 1129361 - VariableDeclaration 1129334 1129361 - Identifier 1129334 1129340 - CallExpression 1129342 1129361 - Identifier 1129342 1129355 - Identifier 1129356 1129360 - IfStatement 1129362 1133204 - PrefixUnaryExpression 1129376 1129395 - PropertyAccessExpression 1129377 1129395 - Identifier 1129377 1129382 - Identifier 1129383 1129395 - Block 1129396 1133204 - IfStatement 1129398 1129651 - PrefixUnaryExpression 1129416 1129446 - CallExpression 1129417 1129446 - Identifier 1129417 1129440 - Identifier 1129441 1129445 - Block 1129447 1129651 - ExpressionStatement 1129449 1129525 - CallExpression 1129449 1129524 - Identifier 1129449 1129472 - PropertyAccessExpression 1129473 1129486 - Identifier 1129473 1129477 - Identifier 1129478 1129486 - PropertyAccessExpression 1129487 1129523 - Identifier 1129487 1129499 - Identifier 1129500 1129523 - ExpressionStatement 1129525 1129580 - BinaryExpression 1129525 1129579 - PropertyAccessExpression 1129525 1129563 - Identifier 1129525 1129548 - Identifier 1129549 1129563 - EqualsToken 1129563 1129565 - Identifier 1129565 1129579 - ReturnStatement 1129580 1129636 - BinaryExpression 1129604 1129635 - PropertyAccessExpression 1129604 1129623 - Identifier 1129604 1129610 - Identifier 1129611 1129623 - EqualsToken 1129623 1129625 - Identifier 1129625 1129635 - VariableStatement 1129651 1129810 - VariableDeclarationList 1129651 1129809 - VariableDeclaration 1129670 1129809 - Identifier 1129670 1129684 - ConditionalExpression 1129686 1129809 - PropertyAccessExpression 1129686 1129700 - Identifier 1129686 1129691 - Identifier 1129692 1129700 - QuestionToken 1129700 1129702 - PropertyAccessExpression 1129702 1129720 - Identifier 1129702 1129714 - Identifier 1129715 1129720 - ColonToken 1129720 1129722 - ConditionalExpression 1129722 1129809 - BinaryExpression 1129722 1129751 - PropertyAccessExpression 1129722 1129733 - Identifier 1129722 1129727 - Identifier 1129728 1129733 - AmpersandToken 1129733 1129735 - PropertyAccessExpression 1129735 1129751 - Identifier 1129735 1129745 - Identifier 1129746 1129751 - QuestionToken 1129751 1129753 - BinaryExpression 1129753 1129790 - PropertyAccessExpression 1129753 1129771 - Identifier 1129753 1129765 - Identifier 1129766 1129771 - BarToken 1129771 1129773 - PropertyAccessExpression 1129773 1129790 - Identifier 1129773 1129785 - Identifier 1129786 1129790 - ColonToken 1129790 1129792 - PropertyAccessExpression 1129792 1129809 - Identifier 1129792 1129804 - Identifier 1129805 1129809 - VariableStatement 1129810 1130000 - VariableDeclarationList 1129810 1129999 - VariableDeclaration 1129924 1129999 - Identifier 1129924 1129942 - CallExpression 1129944 1129999 - Identifier 1129944 1129970 - Identifier 1129971 1129975 - PropertyAccessExpression 1129976 1129998 - PropertyAccessExpression 1129976 1129990 - Identifier 1129976 1129981 - Identifier 1129982 1129990 - Identifier 1129991 1129998 - IfStatement 1130000 1130165 - PrefixUnaryExpression 1130018 1130036 - Identifier 1130019 1130036 - Block 1130037 1130165 - ExpressionStatement 1130039 1130094 - BinaryExpression 1130039 1130093 - PropertyAccessExpression 1130039 1130077 - Identifier 1130039 1130062 - Identifier 1130063 1130077 - EqualsToken 1130077 1130079 - Identifier 1130079 1130093 - ReturnStatement 1130094 1130150 - BinaryExpression 1130118 1130149 - PropertyAccessExpression 1130118 1130137 - Identifier 1130118 1130124 - Identifier 1130125 1130137 - EqualsToken 1130137 1130139 - Identifier 1130139 1130149 - VariableStatement 1130165 1130268 - VariableDeclarationList 1130165 1130267 - VariableDeclaration 1130184 1130267 - Identifier 1130184 1130199 - PrefixUnaryExpression 1130201 1130267 - PrefixUnaryExpression 1130203 1130267 - CallExpression 1130204 1130267 - PropertyAccessExpression 1130204 1130234 - PropertyAccessExpression 1130204 1130229 - Identifier 1130204 1130221 - Identifier 1130222 1130229 - QuestionDotToken 1130229 1130231 - Identifier 1130231 1130234 - PropertyAccessExpression 1130235 1130266 - Identifier 1130235 1130253 - Identifier 1130254 1130266 - VariableStatement 1130268 1130378 - VariableDeclarationList 1130268 1130377 - VariableDeclaration 1130287 1130377 - Identifier 1130287 1130300 - CallExpression 1130302 1130377 - Identifier 1130302 1130330 - Identifier 1130331 1130348 - FalseKeyword 1130349 1130376 - IfStatement 1130378 1133193 - PrefixUnaryExpression 1130396 1130426 - CallExpression 1130397 1130426 - Identifier 1130397 1130410 - PropertyAccessExpression 1130411 1130425 - Identifier 1130411 1130415 - Identifier 1130416 1130425 - Block 1130427 1132426 - VariableStatement 1130429 1130515 - VariableDeclarationList 1130429 1130514 - VariableDeclaration 1130452 1130514 - Identifier 1130452 1130462 - ArrayType 1130463 1130476 - TypeReference 1130463 1130474 - Identifier 1130463 1130474 - CallExpression 1130478 1130514 - Identifier 1130478 1130497 - NonNullExpression 1130498 1130513 - PropertyAccessExpression 1130498 1130512 - Identifier 1130498 1130502 - Identifier 1130503 1130512 - VariableStatement 1130515 1130569 - VariableDeclarationList 1130515 1130568 - VariableDeclaration 1130536 1130568 - Identifier 1130536 1130553 - Identifier 1130555 1130568 - VariableStatement 1130569 1130623 - VariableDeclarationList 1130569 1130622 - VariableDeclaration 1130590 1130622 - Identifier 1130590 1130598 - UnionType 1130599 1130622 - TypeReference 1130599 1130610 - Identifier 1130599 1130610 - UndefinedKeyword 1130612 1130622 - WhileStatement 1130623 1132302 - BinaryExpression 1130648 1130675 - Identifier 1130648 1130655 - EqualsToken 1130655 1130657 - CallExpression 1130657 1130675 - PropertyAccessExpression 1130657 1130673 - Identifier 1130657 1130667 - Identifier 1130668 1130673 - Block 1130676 1132302 - VariableStatement 1130678 1130773 - VariableDeclarationList 1130678 1130772 - VariableDeclaration 1130705 1130772 - Identifier 1130705 1130713 - ConditionalExpression 1130715 1130772 - PropertyAccessExpression 1130715 1130732 - Identifier 1130715 1130725 - Identifier 1130726 1130732 - QuestionToken 1130732 1130734 - PropertyAccessExpression 1130734 1130756 - Identifier 1130734 1130746 - Identifier 1130747 1130756 - ColonToken 1130756 1130758 - Identifier 1130758 1130772 - VariableStatement 1130773 1131259 - VariableDeclarationList 1130773 1131258 - VariableDeclaration 1131186 1131258 - Identifier 1131186 1131207 - CallExpression 1131209 1131258 - Identifier 1131209 1131225 - CallExpression 1131226 1131257 - Identifier 1131226 1131239 - Identifier 1131240 1131256 - VariableStatement 1131259 1131580 - VariableDeclarationList 1131259 1131579 - VariableDeclaration 1131286 1131579 - Identifier 1131286 1131305 - ConditionalExpression 1131307 1131579 - BinaryExpression 1131307 1131359 - PropertyAccessExpression 1131307 1131321 - Identifier 1131307 1131312 - Identifier 1131313 1131321 - BarBarToken 1131321 1131324 - BinaryExpression 1131324 1131359 - CallExpression 1131324 1131341 - Identifier 1131324 1131335 - Identifier 1131336 1131340 - AmpersandAmpersandToken 1131341 1131344 - Identifier 1131344 1131359 - QuestionToken 1131359 1131386 - CallExpression 1131386 1131542 - Identifier 1131386 1131404 - CallExpression 1131405 1131442 - Identifier 1131405 1131420 - Identifier 1131421 1131441 - PropertyAccessExpression 1131443 1131463 - Identifier 1131443 1131451 - Identifier 1131452 1131463 - FalseKeyword 1131464 1131508 - TrueKeyword 1131509 1131541 - ColonToken 1131542 1131569 - Identifier 1131569 1131579 - VariableStatement 1131580 1131737 - VariableDeclarationList 1131580 1131736 - VariableDeclaration 1131607 1131736 - Identifier 1131607 1131624 - ConditionalExpression 1131626 1131736 - PropertyAccessExpression 1131626 1131640 - Identifier 1131626 1131631 - Identifier 1131632 1131640 - QuestionToken 1131640 1131642 - Identifier 1131642 1131652 - ColonToken 1131652 1131654 - CallExpression 1131654 1131736 - Identifier 1131654 1131664 - CallExpression 1131665 1131705 - Identifier 1131665 1131683 - Identifier 1131684 1131704 - PropertyAccessExpression 1131706 1131726 - Identifier 1131706 1131714 - Identifier 1131715 1131726 - Identifier 1131727 1131735 - VariableStatement 1131737 1131811 - VariableDeclarationList 1131737 1131810 - VariableDeclaration 1131764 1131810 - Identifier 1131764 1131769 - BinaryExpression 1131771 1131810 - Identifier 1131771 1131788 - QuestionQuestionToken 1131788 1131791 - Identifier 1131791 1131810 - IfStatement 1131811 1132098 - PrefixUnaryExpression 1131837 1131842 - Identifier 1131838 1131842 - Block 1131843 1132098 - ExpressionStatement 1131845 1132011 - CallExpression 1131845 1132010 - Identifier 1131845 1131876 - Identifier 1131877 1131884 - PropertyAccessExpression 1131885 1131934 - Identifier 1131885 1131897 - Identifier 1131898 1131934 - CallExpression 1131935 1131975 - Identifier 1131935 1131957 - Identifier 1131958 1131974 - CallExpression 1131976 1132009 - Identifier 1131976 1132000 - Identifier 1132001 1132008 - ReturnStatement 1132011 1132075 - BinaryExpression 1132043 1132074 - PropertyAccessExpression 1132043 1132062 - Identifier 1132043 1132049 - Identifier 1132050 1132062 - EqualsToken 1132062 1132064 - Identifier 1132064 1132074 - ExpressionStatement 1132098 1132164 - BinaryExpression 1132098 1132163 - PropertyAccessExpression 1132098 1132156 - CallExpression 1132098 1132141 - Identifier 1132098 1132132 - Identifier 1132133 1132140 - Identifier 1132142 1132156 - EqualsToken 1132156 1132158 - Identifier 1132158 1132163 - ExpressionStatement 1132164 1132237 - BinaryExpression 1132164 1132236 - PropertyAccessExpression 1132164 1132229 - CallExpression 1132164 1132214 - Identifier 1132164 1132198 - PropertyAccessExpression 1132199 1132213 - Identifier 1132199 1132206 - Identifier 1132207 1132213 - Identifier 1132215 1132229 - EqualsToken 1132229 1132231 - Identifier 1132231 1132236 - ExpressionStatement 1132237 1132283 - BinaryExpression 1132237 1132282 - Identifier 1132237 1132275 - EqualsToken 1132275 1132277 - Identifier 1132277 1132282 - ExpressionStatement 1132302 1132411 - BinaryExpression 1132302 1132410 - PropertyAccessExpression 1132302 1132338 - Identifier 1132302 1132325 - Identifier 1132326 1132338 - EqualsToken 1132338 1132340 - CallExpression 1132340 1132410 - Identifier 1132340 1132364 - Identifier 1132365 1132369 - Identifier 1132370 1132376 - Identifier 1132377 1132394 - Identifier 1132395 1132409 - Block 1132444 1133193 - IfStatement 1132446 1133178 - BinaryExpression 1132468 1132502 - PropertyAccessExpression 1132468 1132486 - Identifier 1132468 1132480 - Identifier 1132481 1132486 - AmpersandToken 1132486 1132488 - Identifier 1132488 1132502 - Block 1132503 1132633 - ExpressionStatement 1132505 1132614 - BinaryExpression 1132505 1132613 - PropertyAccessExpression 1132505 1132545 - Identifier 1132505 1132532 - Identifier 1132533 1132545 - EqualsToken 1132545 1132547 - CallExpression 1132547 1132613 - Identifier 1132547 1132571 - Identifier 1132572 1132576 - Identifier 1132577 1132583 - Identifier 1132584 1132597 - Identifier 1132598 1132612 - Block 1132655 1133178 - VariableStatement 1132657 1132967 - VariableDeclarationList 1132657 1132966 - VariableDeclaration 1132684 1132966 - Identifier 1132684 1132697 - ConditionalExpression 1132699 1132966 - BinaryExpression 1132699 1132735 - Identifier 1132699 1132713 - EqualsEqualsEqualsToken 1132713 1132717 - PropertyAccessExpression 1132717 1132735 - Identifier 1132717 1132729 - Identifier 1132730 1132735 - QuestionToken 1132735 1132762 - PropertyAccessExpression 1132762 1132837 - Identifier 1132762 1132774 - Identifier 1132775 1132837 - ColonToken 1132837 1132864 - PropertyAccessExpression 1132864 1132966 - Identifier 1132864 1132876 - Identifier 1132877 1132966 - ExpressionStatement 1132967 1133045 - CallExpression 1132967 1133044 - Identifier 1132967 1132996 - Identifier 1132997 1133001 - Identifier 1133002 1133015 - PropertyAccessExpression 1133016 1133043 - PropertyAccessExpression 1133016 1133038 - PropertyAccessExpression 1133016 1133030 - Identifier 1133016 1133021 - Identifier 1133022 1133030 - Identifier 1133031 1133038 - Identifier 1133039 1133043 - ExpressionStatement 1133045 1133106 - BinaryExpression 1133045 1133105 - PropertyAccessExpression 1133045 1133089 - Identifier 1133045 1133074 - Identifier 1133075 1133089 - EqualsToken 1133089 1133091 - Identifier 1133091 1133105 - ExpressionStatement 1133106 1133159 - BinaryExpression 1133106 1133158 - PropertyAccessExpression 1133106 1133146 - Identifier 1133106 1133133 - Identifier 1133134 1133146 - EqualsToken 1133146 1133148 - Identifier 1133148 1133158 - ReturnStatement 1133204 1133240 - PropertyAccessExpression 1133220 1133239 - Identifier 1133220 1133226 - Identifier 1133227 1133239 - FunctionDeclaration 1133247 1133877 - Identifier 1133263 1133287 - Parameter 1133288 1133308 - Identifier 1133288 1133292 - TypeReference 1133293 1133308 - Identifier 1133293 1133308 - Parameter 1133309 1133326 - Identifier 1133309 1133315 - TypeReference 1133316 1133326 - Identifier 1133316 1133326 - Parameter 1133327 1133342 - Identifier 1133327 1133334 - TypeReference 1133335 1133342 - Identifier 1133335 1133342 - Parameter 1133343 1133364 - Identifier 1133343 1133351 - TypeReference 1133352 1133364 - Identifier 1133352 1133364 - Block 1133365 1133877 - VariableStatement 1133367 1133422 - VariableDeclarationList 1133367 1133421 - VariableDeclaration 1133382 1133421 - Identifier 1133382 1133397 - CallExpression 1133399 1133421 - Identifier 1133399 1133413 - Identifier 1133414 1133420 - ExpressionStatement 1133422 1133470 - BinaryExpression 1133422 1133469 - PropertyAccessExpression 1133422 1133452 - Identifier 1133422 1133437 - Identifier 1133438 1133452 - EqualsToken 1133452 1133454 - Identifier 1133454 1133469 - IfStatement 1133470 1133870 - BinaryExpression 1133484 1133513 - Identifier 1133484 1133491 - EqualsEqualsEqualsToken 1133491 1133495 - PropertyAccessExpression 1133495 1133513 - Identifier 1133495 1133507 - Identifier 1133508 1133513 - Block 1133514 1133698 - ReturnStatement 1133516 1133599 - CallExpression 1133536 1133598 - Identifier 1133536 1133567 - CallExpression 1133568 1133591 - Identifier 1133568 1133583 - Identifier 1133584 1133590 - Identifier 1133592 1133597 - Block 1133712 1133870 - ReturnStatement 1133714 1133778 - CallExpression 1133734 1133777 - Identifier 1133734 1133755 - Identifier 1133756 1133760 - Identifier 1133761 1133776 - FunctionDeclaration 1133877 1134958 - Identifier 1133893 1133947 - Parameter 1133948 1134057 - Identifier 1133948 1133952 - UnionType 1133953 1134057 - TypeReference 1133953 1133969 - Identifier 1133953 1133969 - TypeReference 1133971 1134001 - Identifier 1133971 1134001 - TypeReference 1134003 1134020 - Identifier 1134003 1134020 - TypeReference 1134022 1134040 - Identifier 1134022 1134040 - TypeReference 1134042 1134057 - Identifier 1134042 1134057 - TypeReference 1134059 1134064 - Identifier 1134059 1134064 - Block 1134064 1134958 - VariableStatement 1134066 1134109 - VariableDeclarationList 1134066 1134108 - VariableDeclaration 1134081 1134108 - Identifier 1134081 1134087 - CallExpression 1134089 1134108 - Identifier 1134089 1134102 - Identifier 1134103 1134107 - IfStatement 1134109 1134915 - PrefixUnaryExpression 1134123 1134142 - PropertyAccessExpression 1134124 1134142 - Identifier 1134124 1134129 - Identifier 1134130 1134142 - Block 1134143 1134915 - VariableStatement 1134145 1134297 - VariableDeclarationList 1134145 1134296 - VariableDeclaration 1134250 1134296 - Identifier 1134250 1134262 - CallExpression 1134264 1134296 - Identifier 1134264 1134290 - Identifier 1134291 1134295 - IfStatement 1134297 1134904 - BinaryExpression 1134315 1134389 - PrefixUnaryExpression 1134315 1134327 - PropertyAccessExpression 1134316 1134327 - Identifier 1134316 1134320 - Identifier 1134321 1134327 - BarBarToken 1134327 1134330 - BinaryExpression 1134330 1134389 - BinaryExpression 1134330 1134373 - PropertyAccessExpression 1134330 1134367 - CallExpression 1134330 1134362 - Identifier 1134330 1134349 - PropertyAccessExpression 1134350 1134361 - Identifier 1134350 1134354 - Identifier 1134355 1134361 - Identifier 1134363 1134367 - EqualsEqualsEqualsToken 1134367 1134371 - NumericLiteral 1134371 1134373 - AmpersandAmpersandToken 1134373 1134376 - PrefixUnaryExpression 1134376 1134389 - Identifier 1134378 1134389 - Block 1134390 1134467 - ExpressionStatement 1134392 1134452 - BinaryExpression 1134392 1134451 - PropertyAccessExpression 1134392 1134428 - Identifier 1134392 1134415 - Identifier 1134416 1134428 - EqualsToken 1134428 1134430 - Identifier 1134430 1134451 - Block 1134485 1134904 - VariableStatement 1134487 1134569 - VariableDeclarationList 1134487 1134568 - VariableDeclaration 1134508 1134568 - Identifier 1134508 1134513 - CallExpression 1134515 1134568 - Identifier 1134515 1134532 - PropertyAccessExpression 1134533 1134554 - Identifier 1134533 1134544 - Identifier 1134545 1134554 - PropertyAccessExpression 1134555 1134567 - Identifier 1134555 1134560 - Identifier 1134561 1134567 - ExpressionStatement 1134569 1134618 - BinaryExpression 1134569 1134617 - PropertyAccessExpression 1134569 1134603 - Identifier 1134569 1134591 - Identifier 1134592 1134603 - EqualsToken 1134603 1134605 - Identifier 1134605 1134617 - ExpressionStatement 1134618 1134706 - BinaryExpression 1134618 1134705 - PropertyAccessExpression 1134618 1134659 - Identifier 1134618 1134640 - Identifier 1134641 1134659 - EqualsToken 1134659 1134661 - CallExpression 1134661 1134705 - Identifier 1134661 1134692 - Identifier 1134693 1134704 - IfStatement 1134706 1134845 - BinaryExpression 1134728 1134772 - CallExpression 1134728 1134752 - Identifier 1134728 1134746 - Identifier 1134747 1134751 - AmpersandAmpersandToken 1134752 1134755 - PropertyAccessExpression 1134755 1134772 - Identifier 1134755 1134760 - Identifier 1134761 1134772 - Block 1134773 1134845 - ExpressionStatement 1134775 1134826 - BinaryExpression 1134775 1134825 - Identifier 1134775 1134801 - EqualsToken 1134801 1134803 - CallExpression 1134803 1134825 - Identifier 1134803 1134819 - Identifier 1134820 1134824 - ExpressionStatement 1134845 1134889 - BinaryExpression 1134845 1134888 - PropertyAccessExpression 1134845 1134881 - Identifier 1134845 1134868 - Identifier 1134869 1134881 - EqualsToken 1134881 1134883 - Identifier 1134883 1134888 - ReturnStatement 1134915 1134951 - PropertyAccessExpression 1134931 1134950 - Identifier 1134931 1134937 - Identifier 1134938 1134950 - FunctionDeclaration 1134958 1135332 - Identifier 1134974 1135000 - Parameter 1135001 1135011 - Identifier 1135001 1135005 - TypeReference 1135006 1135011 - Identifier 1135006 1135011 - Block 1135012 1135332 - VariableStatement 1135014 1135047 - VariableDeclarationList 1135014 1135046 - VariableDeclaration 1135027 1135046 - Identifier 1135027 1135032 - PropertyAccessExpression 1135034 1135046 - Identifier 1135034 1135039 - Identifier 1135040 1135046 - WhileStatement 1135047 1135247 - BinaryExpression 1135064 1135200 - BinaryExpression 1135064 1135124 - CallExpression 1135064 1135093 - Identifier 1135064 1135087 - Identifier 1135088 1135092 - BarBarToken 1135093 1135096 - CallExpression 1135096 1135124 - Identifier 1135096 1135118 - Identifier 1135119 1135123 - BarBarToken 1135124 1135127 - BinaryExpression 1135127 1135200 - CallExpression 1135127 1135152 - Identifier 1135127 1135146 - Identifier 1135147 1135151 - AmpersandAmpersandToken 1135152 1135155 - BinaryExpression 1135155 1135200 - PropertyAccessExpression 1135155 1135169 - Identifier 1135155 1135160 - Identifier 1135161 1135169 - EqualsEqualsEqualsToken 1135169 1135173 - PropertyAccessExpression 1135173 1135200 - Identifier 1135173 1135184 - Identifier 1135185 1135200 - Block 1135201 1135247 - ExpressionStatement 1135203 1135236 - BinaryExpression 1135203 1135235 - Identifier 1135203 1135221 - EqualsToken 1135221 1135223 - PropertyAccessExpression 1135223 1135235 - Identifier 1135223 1135228 - Identifier 1135229 1135235 - ReturnStatement 1135247 1135325 - ConditionalExpression 1135263 1135324 - CallExpression 1135263 1135281 - Identifier 1135263 1135275 - Identifier 1135276 1135280 - QuestionToken 1135281 1135283 - CallExpression 1135283 1135312 - Identifier 1135283 1135306 - Identifier 1135307 1135311 - ColonToken 1135312 1135314 - Identifier 1135314 1135324 - FunctionDeclaration 1135332 1135514 - Identifier 1135348 1135379 - Parameter 1135380 1135406 - Identifier 1135380 1135386 - UnionType 1135387 1135406 - TypeReference 1135387 1135394 - Identifier 1135387 1135394 - UndefinedKeyword 1135396 1135406 - Block 1135407 1135514 - ReturnStatement 1135409 1135507 - ConditionalExpression 1135425 1135506 - Identifier 1135425 1135432 - QuestionToken 1135432 1135434 - CallExpression 1135434 1135494 - Identifier 1135434 1135486 - Identifier 1135487 1135493 - ColonToken 1135494 1135496 - Identifier 1135496 1135506 - FunctionDeclaration 1135514 1135655 - Identifier 1135530 1135553 - Parameter 1135554 1135564 - Identifier 1135554 1135558 - TypeReference 1135559 1135564 - Identifier 1135559 1135564 - Block 1135565 1135655 - ReturnStatement 1135567 1135648 - BinaryExpression 1135583 1135647 - PrefixUnaryExpression 1135583 1135617 - PrefixUnaryExpression 1135585 1135617 - ParenthesizedExpression 1135586 1135617 - BinaryExpression 1135587 1135616 - PropertyAccessExpression 1135587 1135597 - Identifier 1135587 1135591 - Identifier 1135592 1135597 - AmpersandToken 1135597 1135599 - PropertyAccessExpression 1135599 1135616 - Identifier 1135599 1135609 - Identifier 1135610 1135616 - AmpersandAmpersandToken 1135617 1135620 - PrefixUnaryExpression 1135620 1135647 - CallExpression 1135622 1135647 - Identifier 1135622 1135641 - Identifier 1135642 1135646 - FunctionDeclaration 1135655 1135991 - Identifier 1135671 1135713 - Parameter 1135714 1135724 - Identifier 1135714 1135718 - TypeReference 1135719 1135724 - Identifier 1135719 1135724 - Block 1135725 1135991 - ReturnStatement 1135727 1135984 - BinaryExpression 1135743 1135983 - CallExpression 1135743 1135767 - Identifier 1135743 1135761 - Identifier 1135762 1135766 - BarBarToken 1135767 1135770 - PrefixUnaryExpression 1135770 1135983 - PrefixUnaryExpression 1135772 1135983 - ParenthesizedExpression 1135773 1135983 - BinaryExpression 1135774 1135982 - PropertyAccessExpression 1135774 1135784 - Identifier 1135774 1135778 - Identifier 1135779 1135784 - AmpersandToken 1135784 1135786 - ParenthesizedExpression 1135786 1135982 - BinaryExpression 1135788 1135981 - BinaryExpression 1135788 1135963 - BinaryExpression 1135788 1135938 - BinaryExpression 1135788 1135917 - BinaryExpression 1135788 1135894 - BinaryExpression 1135788 1135871 - BinaryExpression 1135788 1135848 - BinaryExpression 1135788 1135824 - PropertyAccessExpression 1135788 1135802 - Identifier 1135788 1135797 - Identifier 1135798 1135802 - BarToken 1135802 1135804 - PropertyAccessExpression 1135804 1135824 - Identifier 1135804 1135814 - Identifier 1135815 1135824 - BarToken 1135824 1135826 - PropertyAccessExpression 1135826 1135848 - Identifier 1135826 1135836 - Identifier 1135837 1135848 - BarToken 1135848 1135850 - PropertyAccessExpression 1135850 1135871 - Identifier 1135850 1135860 - Identifier 1135861 1135871 - BarToken 1135871 1135873 - PropertyAccessExpression 1135873 1135894 - Identifier 1135873 1135883 - Identifier 1135884 1135894 - BarToken 1135894 1135896 - PropertyAccessExpression 1135896 1135917 - Identifier 1135896 1135906 - Identifier 1135907 1135917 - BarToken 1135917 1135919 - PropertyAccessExpression 1135919 1135938 - Identifier 1135919 1135929 - Identifier 1135930 1135938 - BarToken 1135938 1135940 - PropertyAccessExpression 1135940 1135963 - Identifier 1135940 1135950 - Identifier 1135951 1135963 - BarToken 1135963 1135965 - PropertyAccessExpression 1135965 1135981 - Identifier 1135965 1135975 - Identifier 1135976 1135981 - FunctionDeclaration 1135991 1138359 - Identifier 1136007 1136047 - Parameter 1136048 1136058 - Identifier 1136048 1136052 - TypeReference 1136053 1136058 - Identifier 1136053 1136058 - Parameter 1136059 1136077 - Identifier 1136059 1136068 - BooleanKeyword 1136069 1136077 - TypeReference 1136079 1136084 - Identifier 1136079 1136084 - Block 1136084 1138359 - IfStatement 1136086 1136171 - PrefixUnaryExpression 1136100 1136131 - ParenthesizedExpression 1136101 1136131 - BinaryExpression 1136102 1136130 - PropertyAccessExpression 1136102 1136112 - Identifier 1136102 1136106 - Identifier 1136107 1136112 - AmpersandToken 1136112 1136114 - PropertyAccessExpression 1136114 1136130 - Identifier 1136114 1136124 - Identifier 1136125 1136130 - Block 1136132 1136171 - ReturnStatement 1136134 1136160 - Identifier 1136154 1136159 - IfStatement 1136171 1136365 - CallExpression 1136185 1136260 - Identifier 1136185 1136190 - PropertyAccessExpression 1136191 1136216 - ParenthesizedExpression 1136191 1136210 - AsExpression 1136192 1136209 - Identifier 1136192 1136196 - TypeReference 1136199 1136209 - Identifier 1136199 1136209 - Identifier 1136211 1136216 - Identifier 1136217 1136259 - Block 1136261 1136365 - ReturnStatement 1136263 1136354 - BinaryExpression 1136283 1136353 - CallExpression 1136283 1136334 - Identifier 1136283 1136288 - PropertyAccessExpression 1136289 1136314 - ParenthesizedExpression 1136289 1136308 - AsExpression 1136290 1136307 - Identifier 1136290 1136294 - TypeReference 1136297 1136307 - Identifier 1136297 1136307 - Identifier 1136309 1136314 - Identifier 1136315 1136333 - BarBarToken 1136334 1136337 - Identifier 1136337 1136353 - VariableStatement 1136365 1136477 - VariableDeclarationList 1136365 1136476 - VariableDeclaration 1136380 1136476 - Identifier 1136380 1136390 - CallExpression 1136392 1136476 - Identifier 1136392 1136397 - PropertyAccessExpression 1136398 1136423 - ParenthesizedExpression 1136398 1136417 - AsExpression 1136399 1136416 - Identifier 1136399 1136403 - TypeReference 1136406 1136416 - Identifier 1136406 1136416 - Identifier 1136418 1136423 - ArrowFunction 1136424 1136475 - Parameter 1136424 1136426 - Identifier 1136424 1136426 - EqualsGreaterThanToken 1136426 1136429 - PrefixUnaryExpression 1136429 1136475 - CallExpression 1136431 1136475 - Identifier 1136431 1136472 - Identifier 1136473 1136474 - IfStatement 1136477 1136541 - PrefixUnaryExpression 1136491 1136501 - Identifier 1136492 1136501 - Block 1136502 1136541 - ReturnStatement 1136504 1136530 - Identifier 1136524 1136529 - VariableStatement 1136541 1136673 - VariableDeclarationList 1136541 1136672 - VariableDeclaration 1136556 1136672 - Identifier 1136556 1136567 - CallExpression 1136569 1136672 - Identifier 1136569 1136574 - PropertyAccessExpression 1136575 1136600 - ParenthesizedExpression 1136575 1136594 - AsExpression 1136576 1136593 - Identifier 1136576 1136580 - TypeReference 1136583 1136593 - Identifier 1136583 1136593 - Identifier 1136595 1136600 - ArrowFunction 1136601 1136671 - Parameter 1136601 1136603 - Identifier 1136601 1136603 - EqualsGreaterThanToken 1136603 1136606 - BinaryExpression 1136606 1136671 - BinaryExpression 1136606 1136622 - Identifier 1136606 1136608 - ExclamationEqualsEqualsToken 1136608 1136612 - Identifier 1136612 1136622 - AmpersandAmpersandToken 1136622 1136625 - PrefixUnaryExpression 1136625 1136671 - CallExpression 1136627 1136671 - Identifier 1136627 1136668 - Identifier 1136669 1136670 - IfStatement 1136673 1136737 - Identifier 1136687 1136697 - Block 1136698 1136737 - ReturnStatement 1136700 1136726 - Identifier 1136720 1136725 - ReturnStatement 1136737 1136789 - CallExpression 1136753 1136788 - Identifier 1136753 1136777 - Identifier 1136778 1136787 - FunctionDeclaration 1136789 1138352 - Identifier 1136809 1136833 - Parameter 1136834 1136844 - Identifier 1136834 1136838 - TypeReference 1136839 1136844 - Identifier 1136839 1136844 - Block 1136845 1138352 - VariableStatement 1136847 1137005 - VariableDeclarationList 1136847 1137004 - VariableDeclaration 1136974 1137004 - Identifier 1136974 1136982 - CallExpression 1136984 1137004 - Identifier 1136984 1137002 - ForOfStatement 1137005 1138086 - VariableDeclarationList 1137024 1137034 - VariableDeclaration 1137029 1137034 - Identifier 1137029 1137034 - CallExpression 1137037 1137063 - Identifier 1137037 1137057 - Identifier 1137058 1137062 - Block 1137064 1138086 - IfStatement 1137066 1138071 - BinaryExpression 1137088 1137183 - CallExpression 1137088 1137131 - Identifier 1137088 1137125 - Identifier 1137126 1137130 - AmpersandToken 1137131 1137133 - ParenthesizedExpression 1137133 1137183 - BinaryExpression 1137135 1137182 - PropertyAccessExpression 1137135 1137156 - Identifier 1137135 1137148 - Identifier 1137149 1137156 - BarToken 1137156 1137158 - PropertyAccessExpression 1137158 1137182 - Identifier 1137158 1137172 - Identifier 1137173 1137182 - Block 1137184 1137255 - IfStatement 1137277 1138071 - CallExpression 1137282 1137308 - Identifier 1137282 1137302 - Identifier 1137303 1137307 - Block 1137309 1138071 - VariableStatement 1137311 1137439 - VariableDeclarationList 1137311 1137438 - VariableDeclaration 1137338 1137438 - Identifier 1137338 1137356 - BinaryExpression 1137358 1137438 - BinaryExpression 1137358 1137395 - PropertyAccessExpression 1137358 1137369 - Identifier 1137358 1137363 - Identifier 1137364 1137369 - AmpersandToken 1137369 1137371 - PropertyAccessExpression 1137371 1137395 - Identifier 1137371 1137383 - Identifier 1137384 1137395 - AmpersandAmpersandToken 1137395 1137398 - PrefixUnaryExpression 1137398 1137438 - ParenthesizedExpression 1137400 1137438 - BinaryExpression 1137401 1137437 - PropertyAccessExpression 1137401 1137411 - Identifier 1137401 1137405 - Identifier 1137406 1137411 - AmpersandToken 1137411 1137413 - PropertyAccessExpression 1137413 1137437 - Identifier 1137413 1137425 - Identifier 1137426 1137437 - VariableStatement 1137439 1137519 - VariableDeclarationList 1137439 1137518 - VariableDeclaration 1137466 1137518 - Identifier 1137466 1137472 - BinaryExpression 1137474 1137518 - PropertyAccessExpression 1137474 1137495 - Identifier 1137474 1137486 - Identifier 1137487 1137495 - BarToken 1137495 1137497 - PropertyAccessExpression 1137497 1137518 - Identifier 1137497 1137509 - Identifier 1137510 1137518 - VariableStatement 1137519 1137659 - VariableDeclarationList 1137519 1137658 - VariableDeclaration 1137546 1137658 - Identifier 1137546 1137553 - CallExpression 1137555 1137658 - Identifier 1137555 1137568 - Identifier 1137569 1137574 - PropertyAccessExpression 1137575 1137592 - Identifier 1137575 1137580 - Identifier 1137581 1137592 - BinaryExpression 1137593 1137657 - CallExpression 1137593 1137618 - Identifier 1137593 1137612 - Identifier 1137613 1137617 - BarToken 1137618 1137620 - ParenthesizedExpression 1137620 1137657 - ConditionalExpression 1137622 1137656 - Identifier 1137622 1137630 - QuestionToken 1137630 1137632 - PropertyAccessExpression 1137632 1137652 - Identifier 1137632 1137643 - Identifier 1137644 1137652 - ColonToken 1137652 1137654 - NumericLiteral 1137654 1137656 - ExpressionStatement 1137659 1137796 - BinaryExpression 1137659 1137795 - PropertyAccessExpression 1137659 1137698 - PropertyAccessExpression 1137659 1137693 - Identifier 1137659 1137687 - Identifier 1137688 1137693 - Identifier 1137694 1137698 - EqualsToken 1137698 1137700 - ConditionalExpression 1137700 1137795 - Identifier 1137700 1137718 - QuestionToken 1137718 1137720 - Identifier 1137720 1137734 - ColonToken 1137734 1137736 - CallExpression 1137736 1137795 - Identifier 1137736 1137751 - CallExpression 1137752 1137773 - Identifier 1137752 1137767 - Identifier 1137768 1137772 - TrueKeyword 1137774 1137794 - ExpressionStatement 1137796 1137858 - BinaryExpression 1137796 1137857 - PropertyAccessExpression 1137796 1137837 - Identifier 1137796 1137824 - Identifier 1137825 1137837 - EqualsToken 1137837 1137839 - PropertyAccessExpression 1137839 1137857 - Identifier 1137839 1137844 - Identifier 1137845 1137857 - ExpressionStatement 1137858 1137934 - BinaryExpression 1137858 1137933 - PropertyAccessExpression 1137858 1137901 - PropertyAccessExpression 1137858 1137892 - Identifier 1137858 1137886 - Identifier 1137887 1137892 - Identifier 1137893 1137901 - EqualsToken 1137901 1137903 - PropertyAccessExpression 1137903 1137933 - CallExpression 1137903 1137924 - Identifier 1137903 1137918 - Identifier 1137919 1137923 - Identifier 1137925 1137933 - ExpressionStatement 1137934 1137992 - BinaryExpression 1137934 1137991 - PropertyAccessExpression 1137934 1137984 - PropertyAccessExpression 1137934 1137968 - Identifier 1137934 1137962 - Identifier 1137963 1137968 - Identifier 1137969 1137984 - EqualsToken 1137984 1137986 - Identifier 1137986 1137991 - ExpressionStatement 1137992 1138052 - CallExpression 1137992 1138051 - PropertyAccessExpression 1137992 1138025 - Identifier 1137992 1138021 - Identifier 1138022 1138025 - PropertyAccessExpression 1138026 1138042 - Identifier 1138026 1138030 - Identifier 1138031 1138042 - Identifier 1138043 1138050 - VariableStatement 1138086 1138208 - VariableDeclarationList 1138086 1138207 - VariableDeclaration 1138105 1138207 - Identifier 1138105 1138112 - CallExpression 1138114 1138207 - Identifier 1138114 1138134 - PropertyAccessExpression 1138135 1138146 - Identifier 1138135 1138139 - Identifier 1138140 1138146 - Identifier 1138147 1138155 - Identifier 1138156 1138167 - Identifier 1138168 1138179 - CallExpression 1138180 1138206 - Identifier 1138180 1138200 - Identifier 1138201 1138205 - ExpressionStatement 1138208 1138313 - BinaryExpression 1138208 1138312 - PropertyAccessExpression 1138208 1138240 - Identifier 1138208 1138228 - Identifier 1138229 1138240 - BarEqualsToken 1138240 1138243 - BinaryExpression 1138243 1138312 - PropertyAccessExpression 1138243 1138269 - Identifier 1138243 1138255 - Identifier 1138256 1138269 - BarToken 1138269 1138271 - PropertyAccessExpression 1138271 1138312 - Identifier 1138271 1138283 - Identifier 1138284 1138312 - ReturnStatement 1138313 1138341 - Identifier 1138333 1138340 - FunctionDeclaration 1138359 1144079 - Identifier 1138636 1138650 - Parameter 1138651 1138661 - Identifier 1138651 1138655 - TypeReference 1138656 1138661 - Identifier 1138656 1138661 - Parameter 1138662 1138674 - Identifier 1138662 1138668 - TypeReference 1138669 1138674 - Identifier 1138669 1138674 - Parameter 1138675 1138702 - Identifier 1138675 1138682 - UnionType 1138683 1138702 - TypeReference 1138683 1138690 - Identifier 1138683 1138690 - UndefinedKeyword 1138692 1138702 - Parameter 1138703 1138728 - Identifier 1138703 1138715 - TypeReference 1138716 1138728 - Identifier 1138716 1138728 - Parameter 1138729 1138747 - Identifier 1138729 1138738 - BooleanKeyword 1138739 1138747 - TypeReference 1138749 1138754 - Identifier 1138749 1138754 - Block 1138754 1144079 - IfStatement 1138756 1138870 - BinaryExpression 1138770 1138827 - BinaryExpression 1138770 1138796 - PropertyAccessExpression 1138770 1138780 - Identifier 1138770 1138774 - Identifier 1138775 1138780 - AmpersandToken 1138780 1138782 - PropertyAccessExpression 1138782 1138796 - Identifier 1138782 1138792 - Identifier 1138793 1138796 - BarBarToken 1138796 1138799 - BinaryExpression 1138799 1138827 - PropertyAccessExpression 1138799 1138811 - Identifier 1138799 1138805 - Identifier 1138806 1138811 - AmpersandToken 1138811 1138813 - PropertyAccessExpression 1138813 1138827 - Identifier 1138813 1138823 - Identifier 1138824 1138827 - Block 1138828 1138870 - ReturnStatement 1138830 1138859 - Identifier 1138850 1138858 - IfStatement 1138870 1138996 - BinaryExpression 1138884 1138949 - BinaryExpression 1138884 1138914 - PropertyAccessExpression 1138884 1138894 - Identifier 1138884 1138888 - Identifier 1138889 1138894 - AmpersandToken 1138894 1138896 - PropertyAccessExpression 1138896 1138914 - Identifier 1138896 1138906 - Identifier 1138907 1138914 - BarBarToken 1138914 1138917 - BinaryExpression 1138917 1138949 - PropertyAccessExpression 1138917 1138929 - Identifier 1138917 1138923 - Identifier 1138924 1138929 - AmpersandToken 1138929 1138931 - PropertyAccessExpression 1138931 1138949 - Identifier 1138931 1138941 - Identifier 1138942 1138949 - Block 1138950 1138996 - ReturnStatement 1138952 1138985 - Identifier 1138972 1138984 - IfStatement 1138996 1139079 - BinaryExpression 1139010 1139038 - PropertyAccessExpression 1139010 1139020 - Identifier 1139010 1139014 - Identifier 1139015 1139020 - AmpersandToken 1139020 1139022 - PropertyAccessExpression 1139022 1139038 - Identifier 1139022 1139032 - Identifier 1139033 1139038 - Block 1139039 1139079 - ReturnStatement 1139041 1139068 - Identifier 1139061 1139067 - IfStatement 1139079 1139162 - BinaryExpression 1139093 1139122 - PropertyAccessExpression 1139093 1139104 - Identifier 1139093 1139098 - Identifier 1139099 1139104 - AmpersandToken 1139104 1139106 - PropertyAccessExpression 1139106 1139122 - Identifier 1139106 1139116 - Identifier 1139117 1139122 - Block 1139123 1139162 - ReturnStatement 1139125 1139151 - Identifier 1139145 1139150 - ExpressionStatement 1139162 1139235 - BinaryExpression 1139162 1139234 - Identifier 1139162 1139176 - EqualsToken 1139176 1139178 - CallExpression 1139178 1139234 - Identifier 1139178 1139218 - Identifier 1139219 1139223 - Identifier 1139224 1139233 - IfStatement 1139235 1139473 - BinaryExpression 1139249 1139277 - PropertyAccessExpression 1139249 1139259 - Identifier 1139249 1139253 - Identifier 1139254 1139259 - AmpersandToken 1139259 1139261 - PropertyAccessExpression 1139261 1139277 - Identifier 1139261 1139271 - Identifier 1139272 1139277 - Block 1139278 1139473 - ReturnStatement 1139280 1139462 - ConditionalExpression 1139300 1139461 - CallExpression 1139300 1139338 - Identifier 1139300 1139323 - ArrayLiteralExpression 1139324 1139337 - Identifier 1139325 1139329 - Identifier 1139330 1139336 - QuestionToken 1139338 1139357 - CallExpression 1139357 1139432 - Identifier 1139357 1139365 - Identifier 1139366 1139370 - ArrowFunction 1139371 1139431 - Parameter 1139371 1139373 - Identifier 1139371 1139373 - EqualsGreaterThanToken 1139373 1139376 - CallExpression 1139376 1139431 - Identifier 1139376 1139390 - Identifier 1139391 1139392 - Identifier 1139393 1139399 - Identifier 1139400 1139407 - Identifier 1139408 1139420 - Identifier 1139421 1139430 - ColonToken 1139432 1139451 - Identifier 1139451 1139461 - ExpressionStatement 1139473 1139548 - BinaryExpression 1139473 1139547 - Identifier 1139473 1139488 - EqualsToken 1139488 1139490 - CallExpression 1139490 1139547 - Identifier 1139490 1139530 - Identifier 1139531 1139536 - Identifier 1139537 1139546 - IfStatement 1139548 1139787 - BinaryExpression 1139562 1139591 - PropertyAccessExpression 1139562 1139573 - Identifier 1139562 1139567 - Identifier 1139568 1139573 - AmpersandToken 1139573 1139575 - PropertyAccessExpression 1139575 1139591 - Identifier 1139575 1139585 - Identifier 1139586 1139591 - Block 1139592 1139787 - ReturnStatement 1139594 1139776 - ConditionalExpression 1139614 1139775 - CallExpression 1139614 1139652 - Identifier 1139614 1139637 - ArrayLiteralExpression 1139638 1139651 - Identifier 1139639 1139643 - Identifier 1139644 1139650 - QuestionToken 1139652 1139671 - CallExpression 1139671 1139746 - Identifier 1139671 1139679 - Identifier 1139680 1139685 - ArrowFunction 1139686 1139745 - Parameter 1139686 1139688 - Identifier 1139686 1139688 - EqualsGreaterThanToken 1139688 1139691 - CallExpression 1139691 1139745 - Identifier 1139691 1139705 - Identifier 1139706 1139710 - Identifier 1139711 1139713 - Identifier 1139714 1139721 - Identifier 1139722 1139734 - Identifier 1139735 1139744 - ColonToken 1139746 1139765 - Identifier 1139765 1139775 - IfStatement 1139787 1140011 - BinaryExpression 1139801 1139971 - PropertyAccessExpression 1139801 1139812 - Identifier 1139801 1139806 - Identifier 1139807 1139812 - AmpersandToken 1139812 1139814 - ParenthesizedExpression 1139814 1139971 - BinaryExpression 1139816 1139970 - BinaryExpression 1139816 1139952 - BinaryExpression 1139816 1139927 - BinaryExpression 1139816 1139906 - BinaryExpression 1139816 1139883 - BinaryExpression 1139816 1139860 - PropertyAccessExpression 1139816 1139837 - Identifier 1139816 1139825 - Identifier 1139826 1139837 - BarToken 1139837 1139839 - PropertyAccessExpression 1139839 1139860 - Identifier 1139839 1139849 - Identifier 1139850 1139860 - BarToken 1139860 1139862 - PropertyAccessExpression 1139862 1139883 - Identifier 1139862 1139872 - Identifier 1139873 1139883 - BarToken 1139883 1139885 - PropertyAccessExpression 1139885 1139906 - Identifier 1139885 1139895 - Identifier 1139896 1139906 - BarToken 1139906 1139908 - PropertyAccessExpression 1139908 1139927 - Identifier 1139908 1139918 - Identifier 1139919 1139927 - BarToken 1139927 1139929 - PropertyAccessExpression 1139929 1139952 - Identifier 1139929 1139939 - Identifier 1139940 1139952 - BarToken 1139952 1139954 - PropertyAccessExpression 1139954 1139970 - Identifier 1139954 1139964 - Identifier 1139965 1139970 - Block 1139972 1140011 - ReturnStatement 1139974 1140000 - Identifier 1139994 1139999 - IfStatement 1140011 1141012 - BinaryExpression 1140027 1140082 - CallExpression 1140027 1140052 - Identifier 1140027 1140046 - Identifier 1140047 1140051 - BarBarToken 1140052 1140055 - CallExpression 1140055 1140082 - Identifier 1140055 1140075 - Identifier 1140076 1140081 - Block 1140083 1141012 - IfStatement 1140085 1140175 - CallExpression 1140103 1140126 - Identifier 1140103 1140120 - Identifier 1140121 1140125 - Block 1140127 1140175 - ReturnStatement 1140129 1140160 - Identifier 1140153 1140159 - IfStatement 1140175 1140945 - BinaryExpression 1140498 1140533 - PropertyAccessExpression 1140498 1140508 - Identifier 1140498 1140502 - Identifier 1140503 1140508 - AmpersandToken 1140508 1140510 - PropertyAccessExpression 1140510 1140533 - Identifier 1140510 1140520 - Identifier 1140521 1140533 - Block 1140534 1140945 - VariableStatement 1140536 1140601 - VariableDeclarationList 1140536 1140600 - VariableDeclaration 1140559 1140600 - Identifier 1140559 1140565 - PropertyAccessExpression 1140567 1140600 - ParenthesizedExpression 1140567 1140594 - AsExpression 1140569 1140593 - Identifier 1140569 1140573 - TypeReference 1140576 1140593 - Identifier 1140576 1140593 - Identifier 1140595 1140600 - VariableStatement 1140601 1140660 - VariableDeclarationList 1140601 1140659 - VariableDeclaration 1140624 1140659 - Identifier 1140624 1140633 - ElementAccessExpression 1140635 1140659 - Identifier 1140635 1140641 - BinaryExpression 1140642 1140658 - PropertyAccessExpression 1140642 1140654 - Identifier 1140642 1140647 - Identifier 1140648 1140654 - MinusToken 1140654 1140656 - NumericLiteral 1140656 1140658 - IfStatement 1140660 1140930 - BinaryExpression 1140682 1140747 - CallExpression 1140682 1140714 - Identifier 1140682 1140704 - Identifier 1140705 1140713 - AmpersandAmpersandToken 1140714 1140717 - CallExpression 1140717 1140747 - Identifier 1140717 1140740 - Identifier 1140741 1140746 - Block 1140748 1140930 - ReturnStatement 1140750 1140911 - CallExpression 1140778 1140910 - Identifier 1140778 1140798 - CallExpression 1140799 1140909 - Identifier 1140799 1140810 - CallExpression 1140811 1140843 - PropertyAccessExpression 1140811 1140822 - Identifier 1140811 1140816 - Identifier 1140817 1140822 - NumericLiteral 1140823 1140824 - BinaryExpression 1140825 1140842 - PropertyAccessExpression 1140825 1140838 - Identifier 1140825 1140831 - Identifier 1140832 1140838 - MinusToken 1140838 1140840 - NumericLiteral 1140840 1140842 - ArrayLiteralExpression 1140844 1140908 - CallExpression 1140846 1140907 - Identifier 1140846 1140859 - Identifier 1140860 1140868 - Identifier 1140869 1140875 - Identifier 1140876 1140883 - Identifier 1140884 1140896 - Identifier 1140897 1140906 - ReturnStatement 1140945 1141001 - CallExpression 1140965 1141000 - Identifier 1140965 1140985 - ArrayLiteralExpression 1140986 1140999 - Identifier 1140987 1140991 - Identifier 1140992 1140998 - VariableStatement 1141012 1141060 - VariableDeclarationList 1141012 1141059 - VariableDeclaration 1141029 1141059 - Identifier 1141029 1141037 - CallExpression 1141039 1141059 - Identifier 1141039 1141057 - VariableStatement 1141060 1141120 - VariableDeclarationList 1141060 1141119 - VariableDeclaration 1141075 1141119 - Identifier 1141075 1141097 - NewExpression 1141099 1141119 - Identifier 1141103 1141107 - TypeReference 1141108 1141116 - Identifier 1141108 1141116 - VariableStatement 1141120 1141239 - VariableDeclarationList 1141120 1141238 - VariableDeclaration 1141135 1141238 - Identifier 1141135 1141146 - ConditionalExpression 1141148 1141238 - BinaryExpression 1141148 1141173 - Identifier 1141148 1141153 - EqualsEqualsEqualsToken 1141153 1141157 - Identifier 1141157 1141173 - QuestionToken 1141173 1141175 - CallExpression 1141175 1141202 - Identifier 1141175 1141195 - Identifier 1141196 1141201 - ColonToken 1141202 1141204 - CallExpression 1141204 1141238 - Identifier 1141204 1141223 - ArrayLiteralExpression 1141224 1141237 - Identifier 1141225 1141229 - Identifier 1141230 1141236 - ForOfStatement 1141239 1141681 - VariableDeclarationList 1141256 1141271 - VariableDeclaration 1141261 1141271 - Identifier 1141261 1141271 - CallExpression 1141274 1141301 - Identifier 1141274 1141294 - Identifier 1141295 1141300 - Block 1141302 1141681 - IfStatement 1141304 1141670 - BinaryExpression 1141322 1141422 - CallExpression 1141322 1141370 - Identifier 1141322 1141359 - Identifier 1141360 1141369 - AmpersandToken 1141370 1141372 - ParenthesizedExpression 1141372 1141422 - BinaryExpression 1141374 1141421 - PropertyAccessExpression 1141374 1141395 - Identifier 1141374 1141387 - Identifier 1141388 1141395 - BarToken 1141395 1141397 - PropertyAccessExpression 1141397 1141421 - Identifier 1141397 1141411 - Identifier 1141412 1141421 - Block 1141423 1141507 - ExpressionStatement 1141425 1141492 - CallExpression 1141425 1141491 - PropertyAccessExpression 1141425 1141468 - Identifier 1141425 1141464 - Identifier 1141465 1141468 - PropertyAccessExpression 1141469 1141490 - Identifier 1141469 1141478 - Identifier 1141479 1141490 - IfStatement 1141525 1141670 - CallExpression 1141530 1141561 - Identifier 1141530 1141550 - Identifier 1141551 1141560 - Block 1141562 1141670 - ExpressionStatement 1141564 1141655 - CallExpression 1141564 1141654 - PropertyAccessExpression 1141564 1141593 - Identifier 1141564 1141589 - Identifier 1141590 1141593 - PropertyAccessExpression 1141594 1141615 - Identifier 1141594 1141603 - Identifier 1141604 1141615 - CallExpression 1141616 1141653 - Identifier 1141616 1141632 - Identifier 1141633 1141642 - Identifier 1141643 1141652 - ForOfStatement 1141681 1143745 - VariableDeclarationList 1141698 1141712 - VariableDeclaration 1141703 1141712 - Identifier 1141703 1141712 - CallExpression 1141715 1141741 - Identifier 1141715 1141735 - Identifier 1141736 1141740 - Block 1141742 1143745 - IfStatement 1141744 1141889 - BinaryExpression 1141762 1141844 - CallExpression 1141762 1141809 - PropertyAccessExpression 1141762 1141787 - Identifier 1141762 1141783 - Identifier 1141784 1141787 - PropertyAccessExpression 1141788 1141808 - Identifier 1141788 1141796 - Identifier 1141797 1141808 - BarBarToken 1141809 1141812 - PrefixUnaryExpression 1141812 1141844 - CallExpression 1141814 1141844 - Identifier 1141814 1141834 - Identifier 1141835 1141843 - Block 1141845 1141889 - ContinueStatement 1141847 1141874 - IfStatement 1141889 1143734 - CallExpression 1141907 1141940 - PropertyAccessExpression 1141907 1141918 - Identifier 1141907 1141914 - Identifier 1141915 1141918 - PropertyAccessExpression 1141919 1141939 - Identifier 1141919 1141927 - Identifier 1141928 1141939 - Block 1141941 1143610 - VariableStatement 1141943 1142014 - VariableDeclarationList 1141943 1142013 - VariableDeclaration 1141966 1142013 - Identifier 1141966 1141976 - NonNullExpression 1141978 1142013 - CallExpression 1141978 1142012 - PropertyAccessExpression 1141978 1141990 - Identifier 1141978 1141986 - Identifier 1141987 1141990 - PropertyAccessExpression 1141991 1142011 - Identifier 1141991 1141999 - Identifier 1142000 1142011 - VariableStatement 1142014 1142077 - VariableDeclarationList 1142014 1142076 - VariableDeclaration 1142037 1142076 - Identifier 1142037 1142047 - CallExpression 1142049 1142076 - Identifier 1142049 1142065 - Identifier 1142066 1142075 - IfStatement 1142077 1143595 - BinaryExpression 1142099 1142137 - PropertyAccessExpression 1142099 1142114 - Identifier 1142099 1142108 - Identifier 1142109 1142114 - AmpersandToken 1142114 1142116 - PropertyAccessExpression 1142116 1142137 - Identifier 1142116 1142128 - Identifier 1142129 1142137 - Block 1142138 1143595 - VariableStatement 1142140 1142242 - VariableDeclarationList 1142140 1142241 - VariableDeclaration 1142167 1142241 - Identifier 1142167 1142180 - CallExpression 1142182 1142241 - Identifier 1142182 1142194 - PropertyAccessExpression 1142195 1142216 - Identifier 1142195 1142203 - Identifier 1142204 1142216 - PropertyAccessExpression 1142217 1142240 - Identifier 1142217 1142227 - Identifier 1142228 1142240 - VariableStatement 1142242 1142341 - VariableDeclarationList 1142242 1142340 - VariableDeclaration 1142269 1142340 - Identifier 1142269 1142275 - BinaryExpression 1142277 1142340 - PropertyAccessExpression 1142277 1142298 - Identifier 1142277 1142289 - Identifier 1142290 1142298 - BarToken 1142298 1142300 - ParenthesizedExpression 1142300 1142340 - BinaryExpression 1142302 1142339 - PropertyAccessExpression 1142302 1142316 - Identifier 1142302 1142310 - Identifier 1142311 1142316 - AmpersandToken 1142316 1142318 - PropertyAccessExpression 1142318 1142339 - Identifier 1142318 1142330 - Identifier 1142331 1142339 - VariableStatement 1142341 1142420 - VariableDeclarationList 1142341 1142419 - VariableDeclaration 1142368 1142419 - Identifier 1142368 1142375 - CallExpression 1142377 1142419 - Identifier 1142377 1142390 - Identifier 1142391 1142396 - PropertyAccessExpression 1142397 1142418 - Identifier 1142397 1142406 - Identifier 1142407 1142418 - VariableStatement 1142420 1142883 - VariableDeclarationList 1142420 1142882 - VariableDeclaration 1142845 1142882 - Identifier 1142845 1142854 - CallExpression 1142856 1142882 - Identifier 1142856 1142872 - Identifier 1142873 1142881 - VariableStatement 1142883 1142977 - VariableDeclarationList 1142883 1142976 - VariableDeclaration 1142910 1142976 - Identifier 1142910 1142935 - CallExpression 1142937 1142976 - Identifier 1142937 1142966 - Identifier 1142967 1142975 - VariableStatement 1142977 1143073 - VariableDeclarationList 1142977 1143072 - VariableDeclaration 1143004 1143072 - Identifier 1143004 1143030 - CallExpression 1143032 1143072 - Identifier 1143032 1143061 - Identifier 1143062 1143071 - ExpressionStatement 1143073 1143259 - BinaryExpression 1143073 1143258 - PropertyAccessExpression 1143073 1143112 - PropertyAccessExpression 1143073 1143107 - Identifier 1143073 1143101 - Identifier 1143102 1143107 - Identifier 1143108 1143112 - EqualsToken 1143112 1143114 - ConditionalExpression 1143114 1143258 - BinaryExpression 1143114 1143169 - Identifier 1143114 1143139 - EqualsEqualsEqualsToken 1143139 1143143 - Identifier 1143143 1143169 - QuestionToken 1143169 1143171 - Identifier 1143171 1143180 - ColonToken 1143180 1143182 - CallExpression 1143182 1143258 - Identifier 1143182 1143195 - ArrayLiteralExpression 1143196 1143233 - Identifier 1143197 1143205 - Identifier 1143206 1143232 - PropertyAccessExpression 1143234 1143257 - Identifier 1143234 1143249 - Identifier 1143250 1143257 - ExpressionStatement 1143259 1143316 - BinaryExpression 1143259 1143315 - PropertyAccessExpression 1143259 1143304 - PropertyAccessExpression 1143259 1143293 - Identifier 1143259 1143287 - Identifier 1143288 1143293 - Identifier 1143294 1143304 - EqualsToken 1143304 1143306 - Identifier 1143306 1143315 - ExpressionStatement 1143316 1143375 - BinaryExpression 1143316 1143374 - PropertyAccessExpression 1143316 1143362 - PropertyAccessExpression 1143316 1143350 - Identifier 1143316 1143344 - Identifier 1143345 1143350 - Identifier 1143351 1143362 - EqualsToken 1143362 1143364 - Identifier 1143364 1143374 - ExpressionStatement 1143375 1143432 - BinaryExpression 1143375 1143431 - PropertyAccessExpression 1143375 1143416 - Identifier 1143375 1143403 - Identifier 1143404 1143416 - EqualsToken 1143416 1143418 - Identifier 1143418 1143431 - ExpressionStatement 1143432 1143512 - BinaryExpression 1143432 1143511 - PropertyAccessExpression 1143432 1143475 - PropertyAccessExpression 1143432 1143466 - Identifier 1143432 1143460 - Identifier 1143461 1143466 - Identifier 1143467 1143475 - EqualsToken 1143475 1143477 - PropertyAccessExpression 1143477 1143511 - CallExpression 1143477 1143502 - Identifier 1143477 1143492 - Identifier 1143493 1143501 - Identifier 1143503 1143511 - ExpressionStatement 1143512 1143576 - CallExpression 1143512 1143575 - PropertyAccessExpression 1143512 1143545 - Identifier 1143512 1143541 - Identifier 1143542 1143545 - PropertyAccessExpression 1143546 1143566 - Identifier 1143546 1143554 - Identifier 1143555 1143566 - Identifier 1143567 1143574 - Block 1143628 1143734 - ExpressionStatement 1143630 1143719 - CallExpression 1143630 1143718 - PropertyAccessExpression 1143630 1143659 - Identifier 1143630 1143655 - Identifier 1143656 1143659 - PropertyAccessExpression 1143660 1143680 - Identifier 1143660 1143668 - Identifier 1143669 1143680 - CallExpression 1143681 1143717 - Identifier 1143681 1143697 - Identifier 1143698 1143706 - Identifier 1143707 1143716 - VariableStatement 1143745 1143904 - VariableDeclarationList 1143745 1143903 - VariableDeclaration 1143762 1143903 - Identifier 1143762 1143769 - CallExpression 1143771 1143903 - Identifier 1143771 1143791 - Identifier 1143792 1143798 - Identifier 1143799 1143807 - Identifier 1143808 1143819 - Identifier 1143820 1143831 - CallExpression 1143832 1143902 - Identifier 1143832 1143840 - Identifier 1143841 1143851 - ArrowFunction 1143852 1143901 - Parameter 1143852 1143857 - Identifier 1143852 1143857 - EqualsGreaterThanToken 1143857 1143860 - CallExpression 1143860 1143901 - Identifier 1143860 1143885 - Identifier 1143886 1143890 - Identifier 1143891 1143900 - ExpressionStatement 1143904 1144048 - BinaryExpression 1143904 1144047 - PropertyAccessExpression 1143904 1143932 - Identifier 1143904 1143920 - Identifier 1143921 1143932 - BarEqualsToken 1143932 1143935 - BinaryExpression 1143935 1144047 - BinaryExpression 1143935 1144033 - BinaryExpression 1143935 1144004 - PropertyAccessExpression 1143935 1143961 - Identifier 1143935 1143947 - Identifier 1143948 1143961 - BarToken 1143961 1143963 - PropertyAccessExpression 1143963 1144004 - Identifier 1143963 1143975 - Identifier 1143976 1144004 - BarToken 1144004 1144006 - PropertyAccessExpression 1144006 1144033 - Identifier 1144006 1144018 - Identifier 1144019 1144033 - BarToken 1144033 1144035 - Identifier 1144035 1144047 - ReturnStatement 1144048 1144072 - Identifier 1144064 1144071 - FunctionDeclaration 1144079 1144525 - Identifier 1144200 1144221 - Parameter 1144222 1144234 - Identifier 1144222 1144226 - TypeReference 1144227 1144234 - Identifier 1144227 1144234 - BooleanKeyword 1144236 1144244 - Block 1144244 1144525 - ReturnStatement 1144246 1144518 - BinaryExpression 1144262 1144517 - PrefixUnaryExpression 1144262 1144331 - CallExpression 1144264 1144331 - Identifier 1144264 1144268 - PropertyAccessExpression 1144269 1144286 - Identifier 1144269 1144273 - Identifier 1144274 1144286 - Identifier 1144287 1144330 - AmpersandAmpersandToken 1144331 1144334 - ParenthesizedExpression 1144334 1144517 - BinaryExpression 1144349 1144516 - PrefixUnaryExpression 1144349 1144437 - ParenthesizedExpression 1144350 1144437 - BinaryExpression 1144351 1144436 - PropertyAccessExpression 1144351 1144361 - Identifier 1144351 1144355 - Identifier 1144356 1144361 - AmpersandToken 1144361 1144363 - ParenthesizedExpression 1144363 1144436 - BinaryExpression 1144365 1144435 - BinaryExpression 1144365 1144409 - PropertyAccessExpression 1144365 1144383 - Identifier 1144365 1144376 - Identifier 1144377 1144383 - BarToken 1144383 1144385 - PropertyAccessExpression 1144385 1144409 - Identifier 1144385 1144397 - Identifier 1144398 1144409 - BarToken 1144409 1144411 - PropertyAccessExpression 1144411 1144435 - Identifier 1144411 1144423 - Identifier 1144424 1144435 - BarBarToken 1144437 1144440 - PrefixUnaryExpression 1144440 1144516 - CallExpression 1144459 1144516 - PropertyAccessExpression 1144459 1144482 - PropertyAccessExpression 1144459 1144476 - Identifier 1144459 1144463 - Identifier 1144464 1144476 - QuestionDotToken 1144476 1144478 - Identifier 1144478 1144482 - ArrowFunction 1144483 1144515 - Parameter 1144483 1144487 - Identifier 1144483 1144487 - EqualsGreaterThanToken 1144487 1144490 - CallExpression 1144490 1144515 - Identifier 1144490 1144502 - PropertyAccessExpression 1144503 1144514 - Identifier 1144503 1144507 - Identifier 1144508 1144514 - FunctionDeclaration 1144525 1145309 - Identifier 1144541 1144557 - Parameter 1144558 1144570 - Identifier 1144558 1144562 - TypeReference 1144563 1144570 - Identifier 1144563 1144570 - Parameter 1144571 1144589 - Identifier 1144571 1144580 - BooleanKeyword 1144581 1144589 - Block 1144590 1145309 - VariableStatement 1144592 1144708 - VariableDeclarationList 1144592 1144707 - VariableDeclaration 1144607 1144707 - Identifier 1144607 1144625 - BinaryExpression 1144627 1144707 - BinaryExpression 1144627 1144664 - PropertyAccessExpression 1144627 1144638 - Identifier 1144627 1144632 - Identifier 1144633 1144638 - AmpersandToken 1144638 1144640 - PropertyAccessExpression 1144640 1144664 - Identifier 1144640 1144652 - Identifier 1144653 1144664 - AmpersandAmpersandToken 1144664 1144667 - PrefixUnaryExpression 1144667 1144707 - ParenthesizedExpression 1144669 1144707 - BinaryExpression 1144670 1144706 - PropertyAccessExpression 1144670 1144680 - Identifier 1144670 1144674 - Identifier 1144675 1144680 - AmpersandToken 1144680 1144682 - PropertyAccessExpression 1144682 1144706 - Identifier 1144682 1144694 - Identifier 1144695 1144706 - IfStatement 1144708 1144819 - BinaryExpression 1144722 1144779 - PrefixUnaryExpression 1144722 1144740 - Identifier 1144723 1144740 - AmpersandAmpersandToken 1144740 1144743 - BinaryExpression 1144743 1144779 - Identifier 1144743 1144752 - EqualsEqualsEqualsToken 1144752 1144756 - CallExpression 1144756 1144779 - Identifier 1144756 1144773 - Identifier 1144774 1144778 - Block 1144780 1144819 - ReturnStatement 1144782 1144808 - Identifier 1144802 1144807 - VariableStatement 1144819 1144902 - VariableDeclarationList 1144819 1144901 - VariableDeclaration 1144834 1144901 - Identifier 1144834 1144840 - BinaryExpression 1144842 1144901 - PropertyAccessExpression 1144842 1144863 - Identifier 1144842 1144854 - Identifier 1144855 1144863 - BarToken 1144863 1144865 - ParenthesizedExpression 1144865 1144901 - BinaryExpression 1144867 1144900 - PropertyAccessExpression 1144867 1144877 - Identifier 1144867 1144871 - Identifier 1144872 1144877 - AmpersandToken 1144877 1144879 - PropertyAccessExpression 1144879 1144900 - Identifier 1144879 1144891 - Identifier 1144892 1144900 - VariableStatement 1144902 1145030 - VariableDeclarationList 1144902 1145029 - VariableDeclaration 1144917 1145029 - Identifier 1144917 1144924 - CallExpression 1144926 1145029 - Identifier 1144926 1144939 - Identifier 1144940 1144945 - PropertyAccessExpression 1144946 1144963 - Identifier 1144946 1144951 - Identifier 1144952 1144963 - BinaryExpression 1144964 1145028 - CallExpression 1144964 1144989 - Identifier 1144964 1144983 - Identifier 1144984 1144988 - BarToken 1144989 1144991 - ParenthesizedExpression 1144991 1145028 - ConditionalExpression 1144993 1145027 - Identifier 1144993 1145001 - QuestionToken 1145001 1145003 - PropertyAccessExpression 1145003 1145023 - Identifier 1145003 1145014 - Identifier 1145015 1145023 - ColonToken 1145023 1145025 - NumericLiteral 1145025 1145027 - ExpressionStatement 1145030 1145118 - BinaryExpression 1145030 1145117 - PropertyAccessExpression 1145030 1145057 - PropertyAccessExpression 1145030 1145052 - Identifier 1145030 1145046 - Identifier 1145047 1145052 - Identifier 1145053 1145057 - EqualsToken 1145057 1145059 - ConditionalExpression 1145059 1145117 - Identifier 1145059 1145077 - QuestionToken 1145077 1145079 - Identifier 1145079 1145093 - ColonToken 1145093 1145095 - CallExpression 1145095 1145117 - Identifier 1145095 1145111 - Identifier 1145112 1145116 - ExpressionStatement 1145118 1145168 - BinaryExpression 1145118 1145167 - PropertyAccessExpression 1145118 1145147 - Identifier 1145118 1145134 - Identifier 1145135 1145147 - EqualsToken 1145147 1145149 - PropertyAccessExpression 1145149 1145167 - Identifier 1145149 1145154 - Identifier 1145155 1145167 - ExpressionStatement 1145168 1145232 - BinaryExpression 1145168 1145231 - PropertyAccessExpression 1145168 1145199 - PropertyAccessExpression 1145168 1145190 - Identifier 1145168 1145184 - Identifier 1145185 1145190 - Identifier 1145191 1145199 - EqualsToken 1145199 1145201 - PropertyAccessExpression 1145201 1145231 - CallExpression 1145201 1145222 - Identifier 1145201 1145216 - Identifier 1145217 1145221 - Identifier 1145223 1145231 - ExpressionStatement 1145232 1145278 - BinaryExpression 1145232 1145277 - PropertyAccessExpression 1145232 1145270 - PropertyAccessExpression 1145232 1145254 - Identifier 1145232 1145248 - Identifier 1145249 1145254 - Identifier 1145255 1145270 - EqualsToken 1145270 1145272 - Identifier 1145272 1145277 - ReturnStatement 1145278 1145302 - Identifier 1145294 1145301 - FunctionDeclaration 1145309 1145536 - Identifier 1145325 1145350 - Parameter 1145351 1145366 - Identifier 1145351 1145355 - TypeReference 1145356 1145366 - Identifier 1145356 1145366 - Parameter 1145367 1145385 - Identifier 1145367 1145376 - BooleanKeyword 1145377 1145385 - Block 1145386 1145536 - ReturnStatement 1145388 1145529 - ConditionalExpression 1145404 1145528 - BinaryExpression 1145404 1145433 - PropertyAccessExpression 1145404 1145420 - Identifier 1145404 1145409 - Identifier 1145410 1145420 - ExclamationEqualsEqualsToken 1145420 1145424 - Identifier 1145424 1145433 - QuestionToken 1145433 1145435 - CallExpression 1145435 1145521 - Identifier 1145435 1145451 - PropertyAccessExpression 1145452 1145464 - Identifier 1145452 1145456 - Identifier 1145457 1145464 - PropertyAccessExpression 1145465 1145475 - Identifier 1145465 1145470 - Identifier 1145471 1145475 - Identifier 1145476 1145485 - PropertyAccessExpression 1145486 1145503 - Identifier 1145486 1145491 - Identifier 1145492 1145503 - PropertyAccessExpression 1145504 1145520 - Identifier 1145504 1145509 - Identifier 1145510 1145520 - ColonToken 1145521 1145523 - Identifier 1145523 1145528 - FunctionDeclaration 1145536 1145855 - Identifier 1145552 1145570 - Parameter 1145571 1145587 - Identifier 1145571 1145576 - TypeReference 1145577 1145587 - Identifier 1145577 1145587 - Parameter 1145588 1145626 - Identifier 1145588 1145594 - UnionType 1145595 1145626 - StringKeyword 1145595 1145602 - NumberKeyword 1145604 1145611 - TypeReference 1145613 1145626 - Identifier 1145613 1145626 - Parameter 1145627 1145643 - Identifier 1145627 1145634 - QuestionToken 1145634 1145635 - TypeReference 1145636 1145643 - Identifier 1145636 1145643 - Parameter 1145644 1145670 - Identifier 1145644 1145656 - QuestionToken 1145656 1145657 - TypeReference 1145658 1145670 - Identifier 1145658 1145670 - Block 1145671 1145855 - VariableStatement 1145673 1145748 - VariableDeclarationList 1145673 1145747 - VariableDeclaration 1145688 1145747 - Identifier 1145688 1145693 - AsExpression 1145695 1145747 - CallExpression 1145695 1145732 - Identifier 1145695 1145716 - Identifier 1145717 1145722 - NonNullExpression 1145723 1145731 - Identifier 1145723 1145730 - TypeReference 1145735 1145747 - Identifier 1145735 1145747 - ExpressionStatement 1145748 1145777 - BinaryExpression 1145748 1145776 - PropertyAccessExpression 1145748 1145768 - Identifier 1145748 1145762 - Identifier 1145763 1145768 - EqualsToken 1145768 1145770 - Identifier 1145770 1145776 - ExpressionStatement 1145777 1145826 - BinaryExpression 1145777 1145825 - PropertyAccessExpression 1145777 1145803 - Identifier 1145777 1145791 - Identifier 1145792 1145803 - EqualsToken 1145803 1145805 - BinaryExpression 1145805 1145825 - Identifier 1145805 1145817 - BarBarToken 1145817 1145820 - Identifier 1145820 1145825 - ReturnStatement 1145826 1145848 - Identifier 1145842 1145847 - FunctionDeclaration 1145855 1146391 - Identifier 1145871 1145897 - Parameter 1145898 1145908 - Identifier 1145898 1145902 - TypeReference 1145903 1145908 - Identifier 1145903 1145908 - TypeReference 1145910 1145915 - Identifier 1145910 1145915 - Block 1145915 1146391 - IfStatement 1145917 1146362 - BinaryExpression 1145931 1145963 - PropertyAccessExpression 1145931 1145941 - Identifier 1145931 1145935 - Identifier 1145936 1145941 - AmpersandToken 1145941 1145943 - PropertyAccessExpression 1145943 1145963 - Identifier 1145943 1145953 - Identifier 1145954 1145963 - Block 1145964 1146362 - IfStatement 1145966 1146296 - PrefixUnaryExpression 1145984 1146018 - PropertyAccessExpression 1145985 1146018 - ParenthesizedExpression 1145985 1146008 - AsExpression 1145986 1146007 - Identifier 1145986 1145990 - TypeReference 1145993 1146007 - Identifier 1145993 1146007 - Identifier 1146009 1146018 - Block 1146019 1146296 - VariableStatement 1146021 1146167 - VariableDeclarationList 1146021 1146166 - VariableDeclaration 1146044 1146166 - Identifier 1146044 1146054 - CallExpression 1146056 1146166 - Identifier 1146056 1146074 - PropertyAccessExpression 1146075 1146085 - Identifier 1146075 1146079 - Identifier 1146080 1146085 - PropertyAccessExpression 1146086 1146114 - ParenthesizedExpression 1146086 1146108 - AsExpression 1146088 1146107 - Identifier 1146088 1146092 - TypeReference 1146095 1146107 - Identifier 1146095 1146107 - Identifier 1146109 1146114 - PropertyAccessExpression 1146115 1146144 - ParenthesizedExpression 1146115 1146137 - AsExpression 1146117 1146136 - Identifier 1146117 1146121 - TypeReference 1146124 1146136 - Identifier 1146124 1146136 - Identifier 1146138 1146144 - AsExpression 1146145 1146165 - Identifier 1146145 1146150 - TypeReference 1146153 1146165 - Identifier 1146153 1146165 - ExpressionStatement 1146167 1146217 - BinaryExpression 1146167 1146216 - PropertyAccessExpression 1146167 1146204 - Identifier 1146167 1146194 - Identifier 1146195 1146204 - EqualsToken 1146204 1146206 - Identifier 1146206 1146216 - ExpressionStatement 1146217 1146281 - BinaryExpression 1146217 1146280 - PropertyAccessExpression 1146217 1146268 - ParenthesizedExpression 1146217 1146258 - AsExpression 1146236 1146257 - Identifier 1146236 1146240 - TypeReference 1146243 1146257 - Identifier 1146243 1146257 - Identifier 1146259 1146268 - EqualsToken 1146268 1146270 - Identifier 1146270 1146280 - ReturnStatement 1146296 1146351 - PropertyAccessExpression 1146316 1146350 - ParenthesizedExpression 1146316 1146340 - AsExpression 1146318 1146339 - Identifier 1146318 1146322 - TypeReference 1146325 1146339 - Identifier 1146325 1146339 - Identifier 1146341 1146350 - ReturnStatement 1146362 1146384 - Identifier 1146378 1146383 - FunctionDeclaration 1146391 1146745 - Identifier 1146407 1146435 - Parameter 1146436 1146446 - Identifier 1146436 1146440 - TypeReference 1146441 1146446 - Identifier 1146441 1146446 - TypeReference 1146448 1146453 - Identifier 1146448 1146453 - Block 1146453 1146745 - ReturnStatement 1146455 1146738 - ConditionalExpression 1146471 1146737 - BinaryExpression 1146471 1146504 - PropertyAccessExpression 1146471 1146482 - Identifier 1146471 1146476 - Identifier 1146477 1146482 - AmpersandToken 1146482 1146484 - PropertyAccessExpression 1146484 1146504 - Identifier 1146484 1146494 - Identifier 1146495 1146504 - QuestionToken 1146504 1146506 - PropertyAccessExpression 1146506 1146542 - ParenthesizedExpression 1146506 1146530 - AsExpression 1146508 1146529 - Identifier 1146508 1146512 - TypeReference 1146515 1146529 - Identifier 1146515 1146529 - Identifier 1146531 1146542 - ColonToken 1146542 1146544 - ConditionalExpression 1146544 1146737 - BinaryExpression 1146544 1146586 - PropertyAccessExpression 1146544 1146568 - Identifier 1146544 1146562 - Identifier 1146563 1146568 - AmpersandToken 1146568 1146570 - PropertyAccessExpression 1146570 1146586 - Identifier 1146570 1146580 - Identifier 1146581 1146586 - QuestionToken 1146586 1146588 - ParenthesizedExpression 1146588 1146717 - BinaryExpression 1146590 1146716 - PropertyAccessExpression 1146590 1146621 - ParenthesizedExpression 1146590 1146609 - AsExpression 1146591 1146608 - Identifier 1146591 1146595 - TypeReference 1146598 1146608 - Identifier 1146598 1146608 - Identifier 1146610 1146621 - BarBarToken 1146621 1146624 - ParenthesizedExpression 1146624 1146716 - BinaryExpression 1146626 1146715 - PropertyAccessExpression 1146626 1146657 - ParenthesizedExpression 1146626 1146645 - AsExpression 1146627 1146644 - Identifier 1146627 1146631 - TypeReference 1146634 1146644 - Identifier 1146634 1146644 - Identifier 1146646 1146657 - EqualsToken 1146657 1146659 - AsExpression 1146659 1146715 - CallExpression 1146659 1146702 - Identifier 1146659 1146667 - Identifier 1146668 1146672 - Identifier 1146673 1146701 - TypeReference 1146705 1146715 - Identifier 1146705 1146715 - ColonToken 1146717 1146719 - Identifier 1146719 1146737 - FunctionDeclaration 1146745 1146899 - Identifier 1146761 1146780 - Parameter 1146781 1146791 - Identifier 1146781 1146785 - TypeReference 1146786 1146791 - Identifier 1146786 1146791 - Block 1146792 1146899 - ReturnStatement 1146794 1146892 - BinaryExpression 1146810 1146891 - PrefixUnaryExpression 1146810 1146847 - PrefixUnaryExpression 1146812 1146847 - ParenthesizedExpression 1146813 1146847 - BinaryExpression 1146814 1146846 - PropertyAccessExpression 1146814 1146824 - Identifier 1146814 1146818 - Identifier 1146819 1146824 - AmpersandToken 1146824 1146826 - PropertyAccessExpression 1146826 1146846 - Identifier 1146826 1146836 - Identifier 1146837 1146846 - AmpersandAmpersandToken 1146847 1146850 - BinaryExpression 1146850 1146891 - PropertyAccessExpression 1146850 1146882 - ParenthesizedExpression 1146850 1146872 - AsExpression 1146852 1146871 - Identifier 1146852 1146856 - TypeReference 1146859 1146871 - Identifier 1146859 1146871 - Identifier 1146873 1146882 - EqualsEqualsEqualsToken 1146882 1146886 - Identifier 1146886 1146891 - FunctionDeclaration 1146899 1147178 - Identifier 1146915 1146936 - Parameter 1146937 1146950 - Identifier 1146937 1146942 - StringKeyword 1146943 1146950 - TypeReference 1146952 1146970 - Identifier 1146952 1146970 - Block 1146970 1147178 - VariableStatement 1146972 1146991 - VariableDeclarationList 1146972 1146990 - VariableDeclaration 1146985 1146990 - Identifier 1146985 1146990 - ReturnStatement 1146991 1147171 - BinaryExpression 1147007 1147170 - CallExpression 1147007 1147037 - PropertyAccessExpression 1147007 1147030 - Identifier 1147007 1147026 - Identifier 1147027 1147030 - Identifier 1147031 1147036 - BarBarToken 1147037 1147040 - ParenthesizedExpression 1147040 1147170 - BinaryExpression 1147055 1147169 - CallExpression 1147055 1147163 - PropertyAccessExpression 1147055 1147077 - Identifier 1147055 1147073 - Identifier 1147074 1147077 - Identifier 1147078 1147083 - BinaryExpression 1147084 1147162 - Identifier 1147084 1147089 - EqualsToken 1147089 1147091 - AsExpression 1147091 1147162 - CallExpression 1147091 1147141 - Identifier 1147091 1147109 - PropertyAccessExpression 1147110 1147133 - Identifier 1147110 1147119 - Identifier 1147120 1147133 - Identifier 1147134 1147140 - TypeReference 1147144 1147162 - Identifier 1147144 1147162 - CommaToken 1147163 1147164 - Identifier 1147164 1147169 - FunctionDeclaration 1147178 1147457 - Identifier 1147194 1147215 - Parameter 1147216 1147229 - Identifier 1147216 1147221 - NumberKeyword 1147222 1147229 - TypeReference 1147231 1147249 - Identifier 1147231 1147249 - Block 1147249 1147457 - VariableStatement 1147251 1147270 - VariableDeclarationList 1147251 1147269 - VariableDeclaration 1147264 1147269 - Identifier 1147264 1147269 - ReturnStatement 1147270 1147450 - BinaryExpression 1147286 1147449 - CallExpression 1147286 1147316 - PropertyAccessExpression 1147286 1147309 - Identifier 1147286 1147305 - Identifier 1147306 1147309 - Identifier 1147310 1147315 - BarBarToken 1147316 1147319 - ParenthesizedExpression 1147319 1147449 - BinaryExpression 1147334 1147448 - CallExpression 1147334 1147442 - PropertyAccessExpression 1147334 1147356 - Identifier 1147334 1147352 - Identifier 1147353 1147356 - Identifier 1147357 1147362 - BinaryExpression 1147363 1147441 - Identifier 1147363 1147368 - EqualsToken 1147368 1147370 - AsExpression 1147370 1147441 - CallExpression 1147370 1147420 - Identifier 1147370 1147388 - PropertyAccessExpression 1147389 1147412 - Identifier 1147389 1147398 - Identifier 1147399 1147412 - Identifier 1147413 1147419 - TypeReference 1147423 1147441 - Identifier 1147423 1147441 - CommaToken 1147442 1147443 - Identifier 1147443 1147448 - FunctionDeclaration 1147457 1147788 - Identifier 1147473 1147494 - Parameter 1147495 1147514 - Identifier 1147495 1147500 - TypeReference 1147501 1147514 - Identifier 1147501 1147514 - TypeReference 1147516 1147534 - Identifier 1147516 1147534 - Block 1147534 1147788 - VariableStatement 1147536 1147555 - VariableDeclarationList 1147536 1147554 - VariableDeclaration 1147549 1147554 - Identifier 1147549 1147554 - VariableStatement 1147555 1147605 - VariableDeclarationList 1147555 1147604 - VariableDeclaration 1147570 1147604 - Identifier 1147570 1147574 - CallExpression 1147576 1147604 - Identifier 1147576 1147597 - Identifier 1147598 1147603 - ReturnStatement 1147605 1147781 - BinaryExpression 1147621 1147780 - CallExpression 1147621 1147649 - PropertyAccessExpression 1147621 1147644 - Identifier 1147621 1147640 - Identifier 1147641 1147644 - Identifier 1147645 1147648 - BarBarToken 1147649 1147652 - ParenthesizedExpression 1147652 1147780 - BinaryExpression 1147667 1147779 - CallExpression 1147667 1147773 - PropertyAccessExpression 1147667 1147689 - Identifier 1147667 1147685 - Identifier 1147686 1147689 - Identifier 1147690 1147693 - BinaryExpression 1147694 1147772 - Identifier 1147694 1147699 - EqualsToken 1147699 1147701 - AsExpression 1147701 1147772 - CallExpression 1147701 1147751 - Identifier 1147701 1147719 - PropertyAccessExpression 1147720 1147743 - Identifier 1147720 1147729 - Identifier 1147730 1147743 - Identifier 1147744 1147750 - TypeReference 1147754 1147772 - Identifier 1147754 1147772 - CommaToken 1147773 1147774 - Identifier 1147774 1147779 - FunctionDeclaration 1147788 1148271 - Identifier 1147804 1147823 - Parameter 1147824 1147846 - Identifier 1147824 1147829 - UnionType 1147830 1147846 - StringKeyword 1147830 1147837 - NumberKeyword 1147839 1147846 - Parameter 1147847 1147862 - Identifier 1147847 1147854 - NumberKeyword 1147855 1147862 - Parameter 1147863 1147878 - Identifier 1147863 1147870 - TypeReference 1147871 1147878 - Identifier 1147871 1147878 - TypeReference 1147880 1147892 - Identifier 1147880 1147892 - Block 1147892 1148271 - VariableStatement 1147894 1147913 - VariableDeclarationList 1147894 1147912 - VariableDeclaration 1147907 1147912 - Identifier 1147907 1147912 - VariableStatement 1147913 1147995 - VariableDeclarationList 1147913 1147994 - VariableDeclaration 1147928 1147994 - Identifier 1147928 1147932 - TemplateExpression 1147934 1147994 - TemplateHead 1147934 1147938 - TemplateSpan 1147938 1147947 - Identifier 1147938 1147944 - TemplateMiddle 1147944 1147947 - TemplateSpan 1147947 1147987 - ConditionalExpression 1147947 1147984 - BinaryExpression 1147947 1147972 - TypeOfExpression 1147947 1147959 - Identifier 1147953 1147959 - EqualsEqualsEqualsToken 1147959 1147963 - StringLiteral 1147963 1147972 - QuestionToken 1147972 1147974 - StringLiteral 1147974 1147978 - ColonToken 1147978 1147980 - StringLiteral 1147980 1147984 - TemplateMiddle 1147984 1147987 - TemplateSpan 1147987 1147994 - Identifier 1147987 1147992 - TemplateTail 1147992 1147994 - VariableStatement 1147995 1148123 - VariableDeclarationList 1147995 1148122 - VariableDeclaration 1148010 1148122 - Identifier 1148010 1148016 - BinaryExpression 1148018 1148122 - PropertyAccessExpression 1148018 1148040 - Identifier 1148018 1148028 - Identifier 1148029 1148040 - BarToken 1148040 1148042 - ParenthesizedExpression 1148042 1148122 - ConditionalExpression 1148044 1148121 - BinaryExpression 1148044 1148069 - TypeOfExpression 1148044 1148056 - Identifier 1148050 1148056 - EqualsEqualsEqualsToken 1148056 1148060 - StringLiteral 1148060 1148069 - QuestionToken 1148069 1148071 - PropertyAccessExpression 1148071 1148095 - Identifier 1148071 1148081 - Identifier 1148082 1148095 - ColonToken 1148095 1148097 - PropertyAccessExpression 1148097 1148121 - Identifier 1148097 1148107 - Identifier 1148108 1148121 - ReturnStatement 1148123 1148264 - BinaryExpression 1148139 1148263 - CallExpression 1148139 1148165 - PropertyAccessExpression 1148139 1148160 - Identifier 1148139 1148156 - Identifier 1148157 1148160 - Identifier 1148161 1148164 - BarBarToken 1148165 1148168 - ParenthesizedExpression 1148168 1148263 - BinaryExpression 1148183 1148262 - CallExpression 1148183 1148256 - PropertyAccessExpression 1148183 1148203 - Identifier 1148183 1148199 - Identifier 1148200 1148203 - Identifier 1148204 1148207 - BinaryExpression 1148208 1148255 - Identifier 1148208 1148213 - EqualsToken 1148213 1148215 - CallExpression 1148215 1148255 - Identifier 1148215 1148233 - Identifier 1148234 1148239 - Identifier 1148240 1148246 - Identifier 1148247 1148254 - CommaToken 1148256 1148257 - Identifier 1148257 1148262 - FunctionDeclaration 1148271 1148674 - Identifier 1148287 1148314 - Parameter 1148315 1148336 - Identifier 1148315 1148319 - TypeReference 1148320 1148336 - Identifier 1148320 1148336 - TypeReference 1148338 1148343 - Identifier 1148338 1148343 - Block 1148343 1148674 - IfStatement 1148345 1148447 - BinaryExpression 1148359 1148403 - PropertyAccessExpression 1148359 1148376 - PropertyAccessExpression 1148359 1148371 - Identifier 1148359 1148363 - Identifier 1148364 1148371 - Identifier 1148372 1148376 - EqualsEqualsEqualsToken 1148376 1148380 - PropertyAccessExpression 1148380 1148403 - Identifier 1148380 1148391 - Identifier 1148392 1148403 - Block 1148404 1148447 - ReturnStatement 1148406 1148436 - Identifier 1148426 1148435 - VariableStatement 1148447 1148490 - VariableDeclarationList 1148447 1148489 - VariableDeclaration 1148462 1148489 - Identifier 1148462 1148468 - CallExpression 1148470 1148489 - Identifier 1148470 1148483 - Identifier 1148484 1148488 - IfStatement 1148490 1148631 - PrefixUnaryExpression 1148504 1148523 - PropertyAccessExpression 1148505 1148523 - Identifier 1148505 1148510 - Identifier 1148511 1148523 - Block 1148524 1148631 - ExpressionStatement 1148526 1148620 - BinaryExpression 1148526 1148619 - PropertyAccessExpression 1148526 1148558 - Identifier 1148526 1148545 - Identifier 1148546 1148558 - EqualsToken 1148558 1148560 - CallExpression 1148560 1148619 - Identifier 1148560 1148588 - CallExpression 1148589 1148618 - Identifier 1148589 1148604 - PropertyAccessExpression 1148605 1148617 - Identifier 1148605 1148609 - Identifier 1148610 1148617 - ReturnStatement 1148631 1148667 - PropertyAccessExpression 1148647 1148666 - Identifier 1148647 1148653 - Identifier 1148654 1148666 - FunctionDeclaration 1148674 1148963 - Identifier 1148690 1148715 - Parameter 1148716 1148730 - Identifier 1148716 1148722 - TypeReference 1148723 1148730 - Identifier 1148723 1148730 - Block 1148731 1148963 - VariableStatement 1148733 1148833 - VariableDeclarationList 1148733 1148832 - VariableDeclaration 1148748 1148832 - Identifier 1148748 1148753 - AsExpression 1148755 1148832 - CallExpression 1148755 1148810 - Identifier 1148755 1148776 - PropertyAccessExpression 1148777 1148801 - Identifier 1148777 1148786 - Identifier 1148787 1148801 - Identifier 1148802 1148809 - TypeReference 1148813 1148832 - Identifier 1148813 1148832 - ExpressionStatement 1148833 1148934 - BinaryExpression 1148833 1148933 - PropertyAccessExpression 1148833 1148859 - Identifier 1148833 1148847 - Identifier 1148848 1148859 - EqualsToken 1148859 1148861 - AsExpression 1148861 1148933 - TemplateExpression 1148861 1148921 - TemplateHead 1148861 1148868 - TemplateSpan 1148868 1148895 - PropertyAccessExpression 1148868 1148891 - PropertyAccessExpression 1148868 1148879 - Identifier 1148868 1148872 - Identifier 1148873 1148879 - Identifier 1148880 1148891 - TemplateMiddle 1148891 1148895 - TemplateSpan 1148895 1148921 - CallExpression 1148895 1148919 - Identifier 1148895 1148906 - PropertyAccessExpression 1148907 1148918 - Identifier 1148907 1148911 - Identifier 1148912 1148918 - TemplateTail 1148919 1148921 - TypeReference 1148924 1148933 - Identifier 1148924 1148933 - ReturnStatement 1148934 1148956 - Identifier 1148950 1148955 - FunctionDeclaration 1148963 1149711 - Identifier 1148979 1149006 - Parameter 1149007 1149017 - Identifier 1149007 1149011 - TypeReference 1149012 1149017 - Identifier 1149012 1149017 - Block 1149018 1149711 - IfStatement 1149020 1149257 - BinaryExpression 1149034 1149081 - CallExpression 1149034 1149050 - Identifier 1149034 1149044 - Identifier 1149045 1149049 - AmpersandAmpersandToken 1149050 1149053 - CallExpression 1149053 1149081 - Identifier 1149053 1149075 - Identifier 1149076 1149080 - Block 1149082 1149257 - VariableStatement 1149084 1149130 - VariableDeclarationList 1149084 1149129 - VariableDeclaration 1149103 1149129 - Identifier 1149103 1149108 - CallExpression 1149110 1149129 - Identifier 1149110 1149123 - Identifier 1149124 1149128 - IfStatement 1149130 1149246 - Identifier 1149148 1149152 - Block 1149153 1149246 - ExpressionStatement 1149155 1149231 - BinaryExpression 1149155 1149230 - Identifier 1149155 1149177 - EqualsToken 1149177 1149179 - BinaryExpression 1149179 1149230 - CallExpression 1149179 1149222 - Identifier 1149179 1149216 - Identifier 1149217 1149221 - BarBarToken 1149222 1149225 - Identifier 1149225 1149230 - IfStatement 1149257 1149674 - CallExpression 1149271 1149303 - Identifier 1149271 1149297 - Identifier 1149298 1149302 - Block 1149304 1149674 - VariableStatement 1149306 1149451 - VariableDeclarationList 1149306 1149450 - VariableDeclaration 1149325 1149450 - Identifier 1149325 1149332 - ConditionalExpression 1149334 1149450 - CallExpression 1149334 1149375 - Identifier 1149334 1149369 - Identifier 1149370 1149374 - QuestionToken 1149375 1149377 - CallExpression 1149377 1149426 - Identifier 1149377 1149393 - PropertyAccessExpression 1149394 1149425 - ParenthesizedExpression 1149394 1149420 - AsExpression 1149395 1149419 - Identifier 1149395 1149399 - TypeReference 1149402 1149419 - Identifier 1149402 1149419 - Identifier 1149421 1149425 - ColonToken 1149426 1149428 - CallExpression 1149428 1149450 - Identifier 1149428 1149444 - Identifier 1149445 1149449 - IfStatement 1149451 1149663 - Identifier 1149469 1149475 - Block 1149476 1149663 - VariableStatement 1149478 1149533 - VariableDeclarationList 1149478 1149532 - VariableDeclaration 1149501 1149532 - Identifier 1149501 1149507 - CallExpression 1149509 1149532 - Identifier 1149509 1149524 - Identifier 1149525 1149531 - ReturnStatement 1149533 1149648 - BinaryExpression 1149557 1149647 - PropertyAccessExpression 1149557 1149582 - Identifier 1149557 1149563 - Identifier 1149564 1149582 - BarBarToken 1149582 1149585 - ParenthesizedExpression 1149585 1149647 - BinaryExpression 1149587 1149646 - PropertyAccessExpression 1149587 1149611 - Identifier 1149587 1149592 - Identifier 1149593 1149611 - EqualsToken 1149611 1149613 - CallExpression 1149613 1149646 - Identifier 1149613 1149638 - Identifier 1149639 1149645 - ReturnStatement 1149674 1149704 - Identifier 1149690 1149703 - FunctionDeclaration 1149711 1151614 - Identifier 1149727 1149739 - Parameter 1149740 1149750 - Identifier 1149740 1149744 - TypeReference 1149745 1149750 - Identifier 1149745 1149750 - TypeReference 1149752 1149757 - Identifier 1149752 1149757 - Block 1149757 1151614 - VariableStatement 1149759 1149887 - VariableDeclarationList 1149759 1149886 - VariableDeclaration 1149774 1149886 - Identifier 1149774 1149784 - CallExpression 1149786 1149886 - Identifier 1149786 1149803 - Identifier 1149804 1149808 - FalseKeyword 1149809 1149841 - FalseKeyword 1149842 1149885 - VariableStatement 1149887 1149942 - VariableDeclarationList 1149887 1149941 - VariableDeclaration 1149902 1149941 - Identifier 1149902 1149909 - BinaryExpression 1149911 1149941 - Identifier 1149911 1149921 - AmpersandAmpersandToken 1149921 1149924 - PropertyAccessExpression 1149924 1149941 - Identifier 1149924 1149934 - Identifier 1149935 1149941 - IfStatement 1149942 1150391 - BinaryExpression 1149956 1150038 - Identifier 1149956 1149962 - AmpersandAmpersandToken 1149962 1149965 - ParenthesizedExpression 1149965 1150038 - BinaryExpression 1149967 1150037 - CallExpression 1149967 1149986 - Identifier 1149967 1149978 - Identifier 1149979 1149985 - BarBarToken 1149986 1149989 - BinaryExpression 1149989 1150037 - PropertyAccessExpression 1149989 1150001 - Identifier 1149989 1149996 - Identifier 1149997 1150001 - EqualsEqualsEqualsToken 1150001 1150005 - PropertyAccessExpression 1150005 1150037 - Identifier 1150005 1150016 - Identifier 1150017 1150037 - Block 1150039 1150391 - IfStatement 1150041 1150380 - BinaryExpression 1150059 1150200 - PrefixUnaryExpression 1150059 1150097 - CallExpression 1150078 1150097 - Identifier 1150078 1150086 - Identifier 1150087 1150096 - AmpersandAmpersandToken 1150097 1150100 - ParenthesizedExpression 1150100 1150200 - BinaryExpression 1150119 1150199 - PrefixUnaryExpression 1150119 1150155 - CallExpression 1150120 1150155 - Identifier 1150120 1150144 - Identifier 1150145 1150154 - BarBarToken 1150155 1150158 - CallExpression 1150158 1150199 - Identifier 1150158 1150177 - Identifier 1150178 1150182 - PropertyAccessExpression 1150183 1150198 - Identifier 1150183 1150193 - Identifier 1150194 1150198 - Block 1150215 1150380 - ReturnStatement 1150217 1150365 - NonNullExpression 1150241 1150364 - PropertyAccessExpression 1150241 1150363 - CallExpression 1150241 1150354 - Identifier 1150241 1150275 - CallExpression 1150276 1150353 - Identifier 1150276 1150298 - AsExpression 1150299 1150352 - Identifier 1150299 1150305 - UnionType 1150308 1150352 - TypeReference 1150308 1150329 - Identifier 1150308 1150329 - TypeReference 1150331 1150352 - Identifier 1150331 1150352 - Identifier 1150355 1150363 - IfStatement 1150391 1150740 - BinaryExpression 1150448 1150615 - BinaryExpression 1150448 1150528 - BinaryExpression 1150448 1150491 - Identifier 1150448 1150454 - AmpersandAmpersandToken 1150454 1150457 - CallExpression 1150457 1150491 - Identifier 1150457 1150483 - Identifier 1150484 1150490 - AmpersandAmpersandToken 1150491 1150494 - CallExpression 1150494 1150528 - Identifier 1150494 1150513 - PropertyAccessExpression 1150514 1150527 - Identifier 1150514 1150520 - Identifier 1150521 1150527 - AmpersandAmpersandToken 1150528 1150531 - BinaryExpression 1150531 1150615 - CallExpression 1150531 1150575 - Identifier 1150531 1150560 - PropertyAccessExpression 1150561 1150574 - Identifier 1150561 1150567 - Identifier 1150568 1150574 - EqualsEqualsEqualsToken 1150575 1150579 - PropertyAccessExpression 1150579 1150615 - Identifier 1150579 1150605 - Identifier 1150606 1150615 - Block 1150616 1150740 - ReturnStatement 1150618 1150729 - NonNullExpression 1150638 1150728 - PropertyAccessExpression 1150638 1150727 - CallExpression 1150638 1150718 - Identifier 1150638 1150672 - NonNullExpression 1150673 1150717 - PropertyAccessExpression 1150673 1150716 - NonNullExpression 1150673 1150709 - CallExpression 1150673 1150708 - Identifier 1150673 1150688 - PropertyAccessExpression 1150689 1150707 - PropertyAccessExpression 1150689 1150702 - Identifier 1150689 1150695 - Identifier 1150696 1150702 - Identifier 1150703 1150707 - Identifier 1150710 1150716 - Identifier 1150719 1150727 - VariableStatement 1150740 1150919 - VariableDeclarationList 1150740 1150918 - VariableDeclaration 1150836 1150918 - Identifier 1150836 1150841 - ConditionalExpression 1150843 1150918 - BinaryExpression 1150843 1150872 - PropertyAccessExpression 1150843 1150854 - Identifier 1150843 1150848 - Identifier 1150849 1150854 - AmpersandToken 1150854 1150856 - PropertyAccessExpression 1150856 1150872 - Identifier 1150856 1150866 - Identifier 1150867 1150872 - QuestionToken 1150872 1150874 - CallExpression 1150874 1150906 - Identifier 1150874 1150900 - Identifier 1150901 1150905 - ColonToken 1150906 1150908 - Identifier 1150908 1150918 - IfStatement 1150919 1151218 - BinaryExpression 1150933 1151095 - BinaryExpression 1150933 1151002 - BinaryExpression 1150933 1150967 - Identifier 1150933 1150937 - AmpersandAmpersandToken 1150937 1150940 - CallExpression 1150940 1150967 - Identifier 1150940 1150961 - Identifier 1150962 1150966 - AmpersandAmpersandToken 1150967 1150970 - CallExpression 1150970 1151002 - Identifier 1150970 1150989 - PropertyAccessExpression 1150990 1151001 - Identifier 1150990 1150994 - Identifier 1150995 1151001 - AmpersandAmpersandToken 1151002 1151005 - BinaryExpression 1151005 1151095 - CallExpression 1151005 1151047 - Identifier 1151005 1151034 - PropertyAccessExpression 1151035 1151046 - Identifier 1151035 1151039 - Identifier 1151040 1151046 - EqualsEqualsEqualsToken 1151047 1151051 - PropertyAccessExpression 1151051 1151095 - Identifier 1151051 1151077 - Identifier 1151078 1151095 - Block 1151096 1151218 - ReturnStatement 1151098 1151207 - NonNullExpression 1151118 1151206 - PropertyAccessExpression 1151118 1151205 - CallExpression 1151118 1151196 - Identifier 1151118 1151152 - NonNullExpression 1151153 1151195 - PropertyAccessExpression 1151153 1151194 - NonNullExpression 1151153 1151187 - CallExpression 1151153 1151186 - Identifier 1151153 1151168 - PropertyAccessExpression 1151169 1151185 - PropertyAccessExpression 1151169 1151180 - Identifier 1151169 1151173 - Identifier 1151174 1151180 - Identifier 1151181 1151185 - Identifier 1151188 1151194 - Identifier 1151197 1151205 - IfStatement 1151218 1151468 - BinaryExpression 1151284 1151354 - CallExpression 1151284 1151310 - Identifier 1151284 1151299 - Identifier 1151300 1151309 - AmpersandAmpersandToken 1151310 1151313 - CallExpression 1151313 1151354 - Identifier 1151313 1151332 - Identifier 1151333 1151337 - PropertyAccessExpression 1151338 1151353 - Identifier 1151338 1151348 - Identifier 1151349 1151353 - Block 1151355 1151468 - ReturnStatement 1151357 1151457 - NonNullExpression 1151377 1151456 - PropertyAccessExpression 1151377 1151455 - CallExpression 1151377 1151446 - Identifier 1151377 1151411 - CallExpression 1151412 1151445 - Identifier 1151412 1151434 - Identifier 1151435 1151444 - Identifier 1151447 1151455 - ExpressionStatement 1151468 1151580 - CallExpression 1151468 1151579 - Identifier 1151468 1151483 - Identifier 1151484 1151488 - PropertyAccessExpression 1151489 1151578 - Identifier 1151489 1151501 - Identifier 1151502 1151578 - ReturnStatement 1151580 1151607 - Identifier 1151596 1151606 - FunctionDeclaration 1151614 1151885 - Identifier 1151630 1151654 - Parameter 1151655 1151690 - Identifier 1151655 1151659 - UnionType 1151660 1151690 - TypeReference 1151660 1151675 - Identifier 1151660 1151675 - TypeReference 1151677 1151690 - Identifier 1151677 1151690 - TypeReference 1151692 1151697 - Identifier 1151692 1151697 - Block 1151697 1151885 - VariableStatement 1151699 1151742 - VariableDeclarationList 1151699 1151741 - VariableDeclaration 1151714 1151741 - Identifier 1151714 1151720 - CallExpression 1151722 1151741 - Identifier 1151722 1151735 - Identifier 1151736 1151740 - IfStatement 1151742 1151842 - PrefixUnaryExpression 1151756 1151775 - PropertyAccessExpression 1151757 1151775 - Identifier 1151757 1151762 - Identifier 1151763 1151775 - Block 1151776 1151842 - ExpressionStatement 1151778 1151831 - BinaryExpression 1151778 1151830 - PropertyAccessExpression 1151778 1151810 - Identifier 1151778 1151797 - Identifier 1151798 1151810 - EqualsToken 1151810 1151812 - CallExpression 1151812 1151830 - Identifier 1151812 1151824 - Identifier 1151825 1151829 - ReturnStatement 1151842 1151878 - PropertyAccessExpression 1151858 1151877 - Identifier 1151858 1151864 - Identifier 1151865 1151877 - FunctionDeclaration 1151885 1152059 - Identifier 1151901 1151925 - Parameter 1151926 1151963 - Identifier 1151926 1151930 - UnionType 1151931 1151963 - TypeReference 1151931 1151944 - Identifier 1151931 1151944 - TypeReference 1151946 1151963 - Identifier 1151946 1151963 - Block 1151964 1152059 - ReturnStatement 1151966 1152052 - CallExpression 1151982 1152051 - Identifier 1151982 1152002 - BinaryExpression 1152003 1152050 - CallExpression 1152003 1152037 - Identifier 1152003 1152026 - PropertyAccessExpression 1152027 1152036 - Identifier 1152027 1152031 - Identifier 1152032 1152036 - BarBarToken 1152037 1152040 - PropertyAccessExpression 1152040 1152050 - Identifier 1152040 1152045 - Identifier 1152046 1152050 - FunctionDeclaration 1152059 1152948 - Identifier 1152075 1152099 - Parameter 1152100 1152114 - Identifier 1152100 1152104 - TypeReference 1152105 1152114 - Identifier 1152105 1152114 - UnionType 1152116 1152137 - TypeReference 1152116 1152125 - Identifier 1152116 1152125 - UndefinedKeyword 1152127 1152137 - Block 1152137 1152948 - SwitchStatement 1152139 1152914 - PropertyAccessExpression 1152157 1152166 - Identifier 1152157 1152161 - Identifier 1152162 1152166 - CaseBlock 1152167 1152914 - CaseClause 1152169 1152304 - PropertyAccessExpression 1152187 1152216 - Identifier 1152187 1152198 - Identifier 1152199 1152216 - ReturnStatement 1152217 1152304 - CallExpression 1152241 1152303 - Identifier 1152241 1152265 - PropertyAccessExpression 1152266 1152302 - ParenthesizedExpression 1152266 1152297 - AsExpression 1152267 1152296 - Identifier 1152267 1152271 - TypeReference 1152274 1152296 - Identifier 1152274 1152296 - Identifier 1152298 1152302 - CaseClause 1152304 1152802 - PropertyAccessExpression 1152322 1152343 - Identifier 1152322 1152333 - Identifier 1152334 1152343 - IfStatement 1152344 1152778 - BinaryExpression 1152366 1152411 - PropertyAccessExpression 1152366 1152405 - PropertyAccessExpression 1152366 1152398 - ParenthesizedExpression 1152366 1152389 - AsExpression 1152367 1152388 - Identifier 1152367 1152371 - TypeReference 1152374 1152388 - Identifier 1152374 1152388 - Identifier 1152390 1152398 - Identifier 1152399 1152405 - EqualsEqualsEqualsToken 1152405 1152409 - NumericLiteral 1152409 1152411 - Block 1152412 1152778 - ExpressionStatement 1152414 1152479 - BinaryExpression 1152414 1152478 - Identifier 1152414 1152440 - EqualsToken 1152440 1152442 - ElementAccessExpression 1152442 1152478 - PropertyAccessExpression 1152442 1152475 - ParenthesizedExpression 1152442 1152466 - AsExpression 1152444 1152465 - Identifier 1152444 1152448 - TypeReference 1152451 1152465 - Identifier 1152451 1152465 - Identifier 1152467 1152475 - NumericLiteral 1152476 1152477 - IfStatement 1152479 1152759 - BinaryExpression 1152505 1152628 - BinaryExpression 1152505 1152538 - PropertyAccessExpression 1152505 1152514 - Identifier 1152505 1152509 - Identifier 1152510 1152514 - EqualsEqualsEqualsToken 1152514 1152518 - PropertyAccessExpression 1152518 1152538 - Identifier 1152518 1152529 - Identifier 1152530 1152538 - BarBarToken 1152538 1152541 - BinaryExpression 1152541 1152628 - BinaryExpression 1152541 1152583 - PropertyAccessExpression 1152541 1152551 - Identifier 1152541 1152546 - Identifier 1152547 1152551 - EqualsEqualsEqualsToken 1152551 1152555 - PropertyAccessExpression 1152555 1152583 - Identifier 1152555 1152566 - Identifier 1152567 1152583 - AmpersandAmpersandToken 1152583 1152586 - PropertyAccessExpression 1152586 1152628 - ParenthesizedExpression 1152586 1152613 - AsExpression 1152588 1152612 - Identifier 1152588 1152592 - TypeReference 1152595 1152612 - Identifier 1152595 1152612 - Identifier 1152614 1152628 - Block 1152629 1152759 - ReturnStatement 1152631 1152736 - CallExpression 1152663 1152735 - Identifier 1152663 1152687 - PropertyAccessExpression 1152688 1152734 - ParenthesizedExpression 1152688 1152729 - AsExpression 1152689 1152728 - Identifier 1152689 1152693 - UnionType 1152696 1152728 - TypeReference 1152696 1152709 - Identifier 1152696 1152709 - TypeReference 1152711 1152728 - Identifier 1152711 1152728 - Identifier 1152730 1152734 - BreakStatement 1152778 1152802 - CaseClause 1152802 1152903 - PropertyAccessExpression 1152820 1152841 - Identifier 1152820 1152831 - Identifier 1152832 1152841 - ReturnStatement 1152842 1152903 - PropertyAccessExpression 1152866 1152902 - ParenthesizedExpression 1152866 1152890 - AsExpression 1152868 1152889 - Identifier 1152868 1152872 - TypeReference 1152875 1152889 - Identifier 1152875 1152889 - Identifier 1152891 1152902 - ReturnStatement 1152914 1152941 - Identifier 1152930 1152940 - FunctionDeclaration 1152948 1153295 - Identifier 1152964 1152994 - Parameter 1152995 1153017 - Identifier 1152995 1152999 - TypeReference 1153000 1153017 - Identifier 1153000 1153017 - TypeReference 1153019 1153024 - Identifier 1153019 1153024 - Block 1153024 1153295 - VariableStatement 1153026 1153069 - VariableDeclarationList 1153026 1153068 - VariableDeclaration 1153041 1153068 - Identifier 1153041 1153047 - CallExpression 1153049 1153068 - Identifier 1153049 1153062 - Identifier 1153063 1153067 - ReturnStatement 1153069 1153288 - BinaryExpression 1153085 1153287 - PropertyAccessExpression 1153085 1153104 - Identifier 1153085 1153091 - Identifier 1153092 1153104 - BarBarToken 1153104 1153107 - ParenthesizedExpression 1153107 1153287 - BinaryExpression 1153109 1153286 - PropertyAccessExpression 1153109 1153127 - Identifier 1153109 1153114 - Identifier 1153115 1153127 - EqualsToken 1153127 1153129 - ConditionalExpression 1153129 1153286 - PropertyAccessExpression 1153129 1153149 - Identifier 1153129 1153134 - Identifier 1153135 1153149 - QuestionToken 1153149 1153151 - CallExpression 1153151 1153181 - Identifier 1153151 1153175 - Identifier 1153176 1153180 - ColonToken 1153181 1153183 - CallExpression 1153183 1153286 - Identifier 1153183 1153211 - CallExpression 1153212 1153242 - Identifier 1153212 1153231 - PropertyAccessExpression 1153232 1153241 - Identifier 1153232 1153236 - Identifier 1153237 1153241 - TrueKeyword 1153243 1153263 - PrefixUnaryExpression 1153264 1153285 - PrefixUnaryExpression 1153266 1153285 - PropertyAccessExpression 1153267 1153285 - Identifier 1153267 1153271 - Identifier 1153272 1153285 - FunctionDeclaration 1153295 1153447 - Identifier 1153311 1153331 - Parameter 1153332 1153346 - Identifier 1153332 1153336 - TypeReference 1153337 1153346 - Identifier 1153337 1153346 - TypeReference 1153348 1153353 - Identifier 1153348 1153353 - Block 1153353 1153447 - ReturnStatement 1153355 1153440 - CallExpression 1153371 1153439 - Identifier 1153371 1153400 - CallExpression 1153401 1153432 - Identifier 1153401 1153426 - Identifier 1153427 1153431 - Identifier 1153433 1153438 - FunctionDeclaration 1153447 1159582 - Identifier 1153463 1153489 - Parameter 1153490 1153504 - Identifier 1153490 1153494 - TypeReference 1153495 1153504 - Identifier 1153495 1153504 - TypeReference 1153506 1153511 - Identifier 1153506 1153511 - Block 1153511 1159582 - SwitchStatement 1153513 1159575 - PropertyAccessExpression 1153531 1153540 - Identifier 1153531 1153535 - Identifier 1153536 1153540 - CaseBlock 1153541 1159575 - CaseClause 1153543 1153584 - PropertyAccessExpression 1153561 1153583 - Identifier 1153561 1153572 - Identifier 1153573 1153583 - CaseClause 1153584 1153627 - PropertyAccessExpression 1153602 1153626 - Identifier 1153602 1153613 - Identifier 1153614 1153626 - CaseClause 1153627 1153707 - PropertyAccessExpression 1153645 1153673 - Identifier 1153645 1153656 - Identifier 1153657 1153673 - ReturnStatement 1153674 1153707 - Identifier 1153698 1153706 - CaseClause 1153707 1153789 - PropertyAccessExpression 1153725 1153751 - Identifier 1153725 1153736 - Identifier 1153737 1153751 - ReturnStatement 1153752 1153789 - Identifier 1153776 1153788 - CaseClause 1153789 1153869 - PropertyAccessExpression 1153807 1153832 - Identifier 1153807 1153818 - Identifier 1153819 1153832 - ReturnStatement 1153833 1153869 - Identifier 1153857 1153868 - CaseClause 1153869 1153949 - PropertyAccessExpression 1153887 1153912 - Identifier 1153887 1153898 - Identifier 1153899 1153912 - ReturnStatement 1153913 1153949 - Identifier 1153937 1153948 - CaseClause 1153949 1154029 - PropertyAccessExpression 1153967 1153992 - Identifier 1153967 1153978 - Identifier 1153979 1153992 - ReturnStatement 1153993 1154029 - Identifier 1154017 1154028 - CaseClause 1154029 1154111 - PropertyAccessExpression 1154047 1154073 - Identifier 1154047 1154058 - Identifier 1154059 1154073 - ReturnStatement 1154074 1154111 - Identifier 1154098 1154110 - CaseClause 1154111 1154193 - PropertyAccessExpression 1154129 1154154 - Identifier 1154129 1154140 - Identifier 1154141 1154154 - ReturnStatement 1154155 1154193 - Identifier 1154179 1154192 - CaseClause 1154193 1154269 - PropertyAccessExpression 1154211 1154234 - Identifier 1154211 1154222 - Identifier 1154223 1154234 - ReturnStatement 1154235 1154269 - Identifier 1154259 1154268 - CaseClause 1154269 1154355 - PropertyAccessExpression 1154287 1154315 - Identifier 1154287 1154298 - Identifier 1154299 1154315 - ReturnStatement 1154316 1154355 - Identifier 1154340 1154354 - CaseClause 1154355 1154615 - AsExpression 1154373 1154418 - PropertyAccessExpression 1154373 1154396 - Identifier 1154373 1154384 - Identifier 1154385 1154396 - TypeReference 1154399 1154418 - Identifier 1154399 1154418 - ReturnStatement 1154419 1154615 - Identifier 1154605 1154614 - CaseClause 1154615 1154693 - PropertyAccessExpression 1154633 1154657 - Identifier 1154633 1154644 - Identifier 1154645 1154657 - ReturnStatement 1154658 1154693 - Identifier 1154682 1154692 - CaseClause 1154693 1154847 - PropertyAccessExpression 1154711 1154736 - Identifier 1154711 1154722 - Identifier 1154723 1154736 - ReturnStatement 1154737 1154847 - ConditionalExpression 1154761 1154846 - BinaryExpression 1154761 1154817 - BinaryExpression 1154761 1154799 - PropertyAccessExpression 1154761 1154772 - Identifier 1154761 1154766 - Identifier 1154767 1154772 - AmpersandToken 1154772 1154774 - PropertyAccessExpression 1154774 1154799 - Identifier 1154774 1154784 - Identifier 1154785 1154799 - AmpersandAmpersandToken 1154799 1154802 - PrefixUnaryExpression 1154802 1154817 - Identifier 1154804 1154817 - QuestionToken 1154817 1154819 - Identifier 1154819 1154827 - ColonToken 1154827 1154829 - Identifier 1154829 1154846 - CaseClause 1154847 1154939 - PropertyAccessExpression 1154865 1154893 - Identifier 1154865 1154876 - Identifier 1154877 1154893 - ReturnStatement 1154894 1154939 - Identifier 1154918 1154938 - CaseClause 1154939 1154978 - PropertyAccessExpression 1154957 1154977 - Identifier 1154957 1154968 - Identifier 1154969 1154977 - CaseClause 1154978 1155326 - AsExpression 1154996 1155041 - PropertyAccessExpression 1154996 1155019 - Identifier 1154996 1155007 - Identifier 1155008 1155019 - TypeReference 1155022 1155041 - Identifier 1155022 1155041 - ReturnStatement 1155042 1155326 - CallExpression 1155262 1155325 - Identifier 1155262 1155286 - AsExpression 1155287 1155324 - Identifier 1155287 1155291 - UnionType 1155294 1155324 - TypeReference 1155294 1155309 - Identifier 1155294 1155309 - TypeReference 1155311 1155324 - Identifier 1155311 1155324 - CaseClause 1155326 1155445 - PropertyAccessExpression 1155344 1155367 - Identifier 1155344 1155355 - Identifier 1155356 1155367 - ReturnStatement 1155368 1155445 - CallExpression 1155392 1155444 - Identifier 1155392 1155419 - AsExpression 1155420 1155443 - Identifier 1155420 1155424 - TypeReference 1155427 1155443 - Identifier 1155427 1155443 - CaseClause 1155445 1155566 - PropertyAccessExpression 1155463 1155488 - Identifier 1155463 1155474 - Identifier 1155475 1155488 - ReturnStatement 1155489 1155566 - CallExpression 1155513 1155565 - Identifier 1155513 1155538 - AsExpression 1155539 1155564 - Identifier 1155539 1155543 - TypeReference 1155546 1155564 - Identifier 1155546 1155564 - CaseClause 1155566 1155704 - PropertyAccessExpression 1155584 1155609 - Identifier 1155584 1155595 - Identifier 1155596 1155609 - ReturnStatement 1155610 1155704 - ConditionalExpression 1155634 1155703 - PropertyAccessExpression 1155634 1155678 - ParenthesizedExpression 1155634 1155662 - AsExpression 1155636 1155661 - Identifier 1155636 1155640 - TypeReference 1155643 1155661 - Identifier 1155643 1155661 - Identifier 1155663 1155678 - QuestionToken 1155678 1155680 - Identifier 1155680 1155689 - ColonToken 1155689 1155691 - Identifier 1155691 1155703 - CaseClause 1155704 1155849 - PropertyAccessExpression 1155722 1155761 - Identifier 1155722 1155733 - Identifier 1155734 1155761 - ReturnStatement 1155762 1155849 - CallExpression 1155786 1155848 - Identifier 1155786 1155811 - AsExpression 1155812 1155847 - Identifier 1155812 1155816 - TypeReference 1155819 1155847 - Identifier 1155819 1155847 - CaseClause 1155849 1155962 - PropertyAccessExpression 1155867 1155888 - Identifier 1155867 1155878 - Identifier 1155879 1155888 - ReturnStatement 1155889 1155962 - CallExpression 1155913 1155961 - Identifier 1155913 1155938 - AsExpression 1155939 1155960 - Identifier 1155939 1155943 - TypeReference 1155946 1155960 - Identifier 1155946 1155960 - CaseClause 1155962 1156002 - PropertyAccessExpression 1155980 1156001 - Identifier 1155980 1155991 - Identifier 1155992 1156001 - CaseClause 1156002 1156138 - PropertyAccessExpression 1156020 1156041 - Identifier 1156020 1156031 - Identifier 1156032 1156041 - ReturnStatement 1156042 1156138 - CallExpression 1156066 1156137 - Identifier 1156066 1156098 - AsExpression 1156099 1156136 - Identifier 1156099 1156103 - UnionType 1156106 1156136 - TypeReference 1156106 1156120 - Identifier 1156106 1156120 - TypeReference 1156122 1156136 - Identifier 1156122 1156136 - CaseClause 1156138 1156260 - PropertyAccessExpression 1156156 1156180 - Identifier 1156156 1156167 - Identifier 1156168 1156180 - ReturnStatement 1156181 1156260 - CallExpression 1156205 1156259 - Identifier 1156205 1156233 - AsExpression 1156234 1156258 - Identifier 1156234 1156238 - TypeReference 1156241 1156258 - Identifier 1156241 1156258 - CaseClause 1156260 1156373 - PropertyAccessExpression 1156278 1156299 - Identifier 1156278 1156289 - Identifier 1156290 1156299 - ReturnStatement 1156300 1156373 - CallExpression 1156324 1156372 - Identifier 1156324 1156349 - AsExpression 1156350 1156371 - Identifier 1156350 1156354 - TypeReference 1156357 1156371 - Identifier 1156357 1156371 - CaseClause 1156373 1156507 - PropertyAccessExpression 1156391 1156419 - Identifier 1156391 1156402 - Identifier 1156403 1156419 - ReturnStatement 1156420 1156507 - CallExpression 1156444 1156506 - Identifier 1156444 1156476 - AsExpression 1156477 1156505 - Identifier 1156477 1156481 - TypeReference 1156484 1156505 - Identifier 1156484 1156505 - CaseClause 1156507 1156640 - PropertyAccessExpression 1156525 1156554 - Identifier 1156525 1156536 - Identifier 1156537 1156554 - ReturnStatement 1156555 1156640 - CallExpression 1156579 1156639 - Identifier 1156579 1156612 - AsExpression 1156613 1156638 - Identifier 1156613 1156617 - TypeReference 1156620 1156638 - Identifier 1156620 1156638 - CaseClause 1156640 1156783 - PropertyAccessExpression 1156658 1156687 - Identifier 1156658 1156669 - Identifier 1156670 1156687 - ReturnStatement 1156688 1156783 - CallExpression 1156712 1156782 - Identifier 1156712 1156727 - CallExpression 1156728 1156781 - Identifier 1156728 1156747 - PropertyAccessExpression 1156748 1156780 - ParenthesizedExpression 1156748 1156775 - AsExpression 1156749 1156774 - Identifier 1156749 1156753 - TypeReference 1156756 1156774 - Identifier 1156756 1156774 - Identifier 1156776 1156780 - CaseClause 1156783 1156911 - PropertyAccessExpression 1156801 1156829 - Identifier 1156801 1156812 - Identifier 1156813 1156829 - ReturnStatement 1156830 1156911 - CallExpression 1156854 1156910 - Identifier 1156854 1156884 - AsExpression 1156885 1156909 - Identifier 1156885 1156889 - TypeReference 1156892 1156909 - Identifier 1156892 1156909 - CaseClause 1156911 1156959 - PropertyAccessExpression 1156929 1156958 - Identifier 1156929 1156940 - Identifier 1156941 1156958 - CaseClause 1156959 1157010 - PropertyAccessExpression 1156977 1157009 - Identifier 1156977 1156988 - Identifier 1156989 1157009 - CaseClause 1157010 1157211 - PropertyAccessExpression 1157028 1157059 - Identifier 1157028 1157039 - Identifier 1157040 1157059 - ReturnStatement 1157060 1157211 - CallExpression 1157084 1157210 - Identifier 1157084 1157104 - PropertyAccessExpression 1157105 1157209 - ParenthesizedExpression 1157105 1157204 - AsExpression 1157106 1157203 - Identifier 1157106 1157110 - UnionType 1157113 1157203 - TypeReference 1157113 1157135 - Identifier 1157113 1157135 - TypeReference 1157137 1157162 - Identifier 1157137 1157162 - TypeReference 1157164 1157184 - Identifier 1157164 1157184 - TypeReference 1157186 1157203 - Identifier 1157186 1157203 - Identifier 1157205 1157209 - CaseClause 1157211 1157321 - PropertyAccessExpression 1157229 1157249 - Identifier 1157229 1157240 - Identifier 1157241 1157249 - ReturnStatement 1157250 1157321 - CallExpression 1157274 1157320 - Identifier 1157274 1157298 - AsExpression 1157299 1157319 - Identifier 1157299 1157303 - TypeReference 1157306 1157319 - Identifier 1157306 1157319 - CaseClause 1157321 1157450 - PropertyAccessExpression 1157339 1157368 - Identifier 1157339 1157350 - Identifier 1157351 1157368 - ReturnStatement 1157369 1157450 - CallExpression 1157393 1157449 - Identifier 1157393 1157422 - AsExpression 1157423 1157448 - Identifier 1157423 1157427 - TypeReference 1157430 1157448 - Identifier 1157430 1157448 - CaseClause 1157450 1157493 - PropertyAccessExpression 1157468 1157492 - Identifier 1157468 1157479 - Identifier 1157480 1157492 - CaseClause 1157493 1157539 - PropertyAccessExpression 1157511 1157538 - Identifier 1157511 1157522 - Identifier 1157523 1157538 - CaseClause 1157539 1157581 - PropertyAccessExpression 1157557 1157580 - Identifier 1157557 1157568 - Identifier 1157569 1157580 - CaseClause 1157581 1157628 - PropertyAccessExpression 1157599 1157627 - Identifier 1157599 1157610 - Identifier 1157611 1157627 - CaseClause 1157628 1157676 - PropertyAccessExpression 1157646 1157675 - Identifier 1157646 1157657 - Identifier 1157658 1157675 - CaseClause 1157676 1157913 - PropertyAccessExpression 1157694 1157720 - Identifier 1157694 1157705 - Identifier 1157706 1157720 - ReturnStatement 1157721 1157913 - CallExpression 1157745 1157912 - Identifier 1157745 1157799 - AsExpression 1157800 1157911 - Identifier 1157800 1157804 - UnionType 1157807 1157911 - TypeReference 1157807 1157823 - Identifier 1157807 1157823 - TypeReference 1157825 1157855 - Identifier 1157825 1157855 - TypeReference 1157857 1157874 - Identifier 1157857 1157874 - TypeReference 1157876 1157894 - Identifier 1157876 1157894 - TypeReference 1157896 1157911 - Identifier 1157896 1157911 - CaseClause 1157913 1158035 - PropertyAccessExpression 1157931 1157955 - Identifier 1157931 1157942 - Identifier 1157943 1157955 - ReturnStatement 1157956 1158035 - CallExpression 1157980 1158034 - Identifier 1157980 1158008 - AsExpression 1158009 1158033 - Identifier 1158009 1158013 - TypeReference 1158016 1158033 - Identifier 1158016 1158033 - CaseClause 1158035 1158172 - PropertyAccessExpression 1158053 1158082 - Identifier 1158053 1158064 - Identifier 1158065 1158082 - ReturnStatement 1158083 1158172 - CallExpression 1158107 1158171 - Identifier 1158107 1158140 - AsExpression 1158141 1158170 - Identifier 1158141 1158145 - TypeReference 1158148 1158170 - Identifier 1158148 1158170 - CaseClause 1158172 1158288 - PropertyAccessExpression 1158190 1158212 - Identifier 1158190 1158201 - Identifier 1158202 1158212 - ReturnStatement 1158213 1158288 - CallExpression 1158237 1158287 - Identifier 1158237 1158263 - AsExpression 1158264 1158286 - Identifier 1158264 1158268 - TypeReference 1158271 1158286 - Identifier 1158271 1158286 - CaseClause 1158288 1158419 - PropertyAccessExpression 1158306 1158333 - Identifier 1158306 1158317 - Identifier 1158318 1158333 - ReturnStatement 1158334 1158419 - CallExpression 1158358 1158418 - Identifier 1158358 1158389 - AsExpression 1158390 1158417 - Identifier 1158390 1158394 - TypeReference 1158397 1158417 - Identifier 1158397 1158417 - CaseClause 1158419 1158532 - PropertyAccessExpression 1158437 1158458 - Identifier 1158437 1158448 - Identifier 1158449 1158458 - ReturnStatement 1158459 1158532 - CallExpression 1158483 1158531 - Identifier 1158483 1158508 - AsExpression 1158509 1158530 - Identifier 1158509 1158513 - TypeReference 1158516 1158530 - Identifier 1158516 1158530 - CaseClause 1158532 1158668 - PropertyAccessExpression 1158550 1158581 - Identifier 1158550 1158561 - Identifier 1158562 1158581 - ReturnStatement 1158582 1158668 - CallExpression 1158606 1158667 - Identifier 1158606 1158634 - AsExpression 1158635 1158666 - Identifier 1158635 1158639 - TypeReference 1158642 1158666 - Identifier 1158642 1158666 - CaseClause 1158668 1158784 - PropertyAccessExpression 1158686 1158708 - Identifier 1158686 1158697 - Identifier 1158698 1158708 - ReturnStatement 1158709 1158784 - CallExpression 1158733 1158783 - Identifier 1158733 1158759 - AsExpression 1158760 1158782 - Identifier 1158760 1158764 - TypeReference 1158767 1158782 - Identifier 1158767 1158782 - CaseClause 1158784 1159227 - AsExpression 1159182 1159226 - PropertyAccessExpression 1159182 1159204 - Identifier 1159182 1159193 - Identifier 1159194 1159204 - TypeReference 1159207 1159226 - Identifier 1159207 1159226 - CaseClause 1159227 1159293 - AsExpression 1159245 1159292 - PropertyAccessExpression 1159245 1159270 - Identifier 1159245 1159256 - Identifier 1159257 1159270 - TypeReference 1159273 1159292 - Identifier 1159273 1159292 - CaseClause 1159293 1159507 - AsExpression 1159311 1159369 - PropertyAccessExpression 1159311 1159347 - Identifier 1159311 1159322 - Identifier 1159323 1159347 - TypeReference 1159350 1159369 - Identifier 1159350 1159369 - VariableStatement 1159370 1159429 - VariableDeclarationList 1159370 1159428 - VariableDeclaration 1159393 1159428 - Identifier 1159393 1159400 - CallExpression 1159402 1159428 - Identifier 1159402 1159422 - Identifier 1159423 1159427 - ReturnStatement 1159429 1159507 - ConditionalExpression 1159453 1159506 - Identifier 1159453 1159460 - QuestionToken 1159460 1159462 - CallExpression 1159462 1159494 - Identifier 1159462 1159486 - Identifier 1159487 1159493 - ColonToken 1159494 1159496 - Identifier 1159496 1159506 - DefaultClause 1159507 1159564 - ReturnStatement 1159529 1159564 - Identifier 1159553 1159563 - FunctionDeclaration 1159582 1159723 - Identifier 1159598 1159614 - TypeParameter 1159615 1159616 - Identifier 1159615 1159616 - Parameter 1159618 1159637 - Identifier 1159618 1159623 - TypeOperator 1159624 1159637 - ArrayType 1159633 1159637 - TypeReference 1159633 1159635 - Identifier 1159633 1159635 - Parameter 1159638 1159657 - Identifier 1159638 1159645 - TypeReference 1159646 1159657 - Identifier 1159646 1159657 - Parameter 1159658 1159707 - Identifier 1159658 1159671 - FunctionType 1159672 1159707 - Parameter 1159674 1159681 - Identifier 1159674 1159678 - TypeReference 1159679 1159681 - Identifier 1159679 1159681 - Parameter 1159682 1159701 - Identifier 1159682 1159689 - TypeReference 1159690 1159701 - Identifier 1159690 1159701 - TypeReference 1159705 1159707 - Identifier 1159705 1159707 - TypeOperator 1159709 1159722 - ArrayType 1159718 1159722 - TypeReference 1159718 1159720 - Identifier 1159718 1159720 - FunctionDeclaration 1159723 1159886 - Identifier 1159737 1159753 - TypeParameter 1159754 1159755 - Identifier 1159754 1159755 - Parameter 1159757 1159788 - Identifier 1159757 1159762 - UnionType 1159763 1159788 - TypeOperator 1159763 1159776 - ArrayType 1159772 1159776 - TypeReference 1159772 1159774 - Identifier 1159772 1159774 - UndefinedKeyword 1159778 1159788 - Parameter 1159789 1159808 - Identifier 1159789 1159796 - TypeReference 1159797 1159808 - Identifier 1159797 1159808 - Parameter 1159809 1159858 - Identifier 1159809 1159822 - FunctionType 1159823 1159858 - Parameter 1159825 1159832 - Identifier 1159825 1159829 - TypeReference 1159830 1159832 - Identifier 1159830 1159832 - Parameter 1159833 1159852 - Identifier 1159833 1159840 - TypeReference 1159841 1159852 - Identifier 1159841 1159852 - TypeReference 1159856 1159858 - Identifier 1159856 1159858 - UnionType 1159860 1159885 - TypeOperator 1159860 1159873 - ArrayType 1159869 1159873 - TypeReference 1159869 1159871 - Identifier 1159869 1159871 - UndefinedKeyword 1159875 1159885 - FunctionDeclaration 1159886 1160654 - Identifier 1159900 1159916 - TypeParameter 1159917 1159918 - Identifier 1159917 1159918 - Parameter 1159920 1159951 - Identifier 1159920 1159925 - UnionType 1159926 1159951 - TypeOperator 1159926 1159939 - ArrayType 1159935 1159939 - TypeReference 1159935 1159937 - Identifier 1159935 1159937 - UndefinedKeyword 1159941 1159951 - Parameter 1159952 1159971 - Identifier 1159952 1159959 - TypeReference 1159960 1159971 - Identifier 1159960 1159971 - Parameter 1159972 1160021 - Identifier 1159972 1159985 - FunctionType 1159986 1160021 - Parameter 1159988 1159995 - Identifier 1159988 1159992 - TypeReference 1159993 1159995 - Identifier 1159993 1159995 - Parameter 1159996 1160015 - Identifier 1159996 1160003 - TypeReference 1160004 1160015 - Identifier 1160004 1160015 - TypeReference 1160019 1160021 - Identifier 1160019 1160021 - UnionType 1160023 1160048 - TypeOperator 1160023 1160036 - ArrayType 1160032 1160036 - TypeReference 1160032 1160034 - Identifier 1160032 1160034 - UndefinedKeyword 1160038 1160048 - Block 1160048 1160654 - IfStatement 1160050 1160624 - BinaryExpression 1160064 1160085 - Identifier 1160064 1160069 - AmpersandAmpersandToken 1160069 1160072 - PropertyAccessExpression 1160072 1160085 - Identifier 1160072 1160078 - Identifier 1160079 1160085 - Block 1160086 1160624 - ForStatement 1160088 1160613 - VariableDeclarationList 1160107 1160116 - VariableDeclaration 1160110 1160116 - Identifier 1160110 1160112 - NumericLiteral 1160114 1160116 - BinaryExpression 1160117 1160134 - Identifier 1160117 1160119 - LessThanToken 1160119 1160121 - PropertyAccessExpression 1160121 1160134 - Identifier 1160121 1160127 - Identifier 1160128 1160134 - PostfixUnaryExpression 1160135 1160139 - Identifier 1160135 1160137 - Block 1160140 1160613 - VariableStatement 1160142 1160182 - VariableDeclarationList 1160142 1160181 - VariableDeclaration 1160165 1160181 - Identifier 1160165 1160170 - ElementAccessExpression 1160172 1160181 - Identifier 1160172 1160178 - Identifier 1160179 1160180 - VariableStatement 1160182 1160242 - VariableDeclarationList 1160182 1160241 - VariableDeclaration 1160205 1160241 - Identifier 1160205 1160212 - CallExpression 1160214 1160241 - Identifier 1160214 1160227 - Identifier 1160228 1160232 - Identifier 1160233 1160240 - IfStatement 1160242 1160598 - BinaryExpression 1160264 1160279 - Identifier 1160264 1160268 - ExclamationEqualsEqualsToken 1160268 1160272 - Identifier 1160272 1160279 - Block 1160280 1160598 - VariableStatement 1160282 1160352 - VariableDeclarationList 1160282 1160351 - VariableDeclaration 1160309 1160351 - Identifier 1160309 1160316 - ConditionalExpression 1160318 1160351 - BinaryExpression 1160318 1160326 - Identifier 1160318 1160320 - EqualsEqualsEqualsToken 1160320 1160324 - NumericLiteral 1160324 1160326 - QuestionToken 1160326 1160328 - ArrayLiteralExpression 1160328 1160331 - ColonToken 1160331 1160333 - CallExpression 1160333 1160351 - PropertyAccessExpression 1160333 1160345 - Identifier 1160333 1160339 - Identifier 1160340 1160345 - NumericLiteral 1160346 1160347 - Identifier 1160348 1160350 - ExpressionStatement 1160352 1160394 - CallExpression 1160352 1160393 - PropertyAccessExpression 1160352 1160385 - Identifier 1160352 1160380 - Identifier 1160381 1160385 - Identifier 1160386 1160392 - ForStatement 1160394 1160543 - PostfixUnaryExpression 1160421 1160424 - Identifier 1160421 1160422 - BinaryExpression 1160425 1160442 - Identifier 1160425 1160427 - LessThanToken 1160427 1160429 - PropertyAccessExpression 1160429 1160442 - Identifier 1160429 1160435 - Identifier 1160436 1160442 - PostfixUnaryExpression 1160443 1160447 - Identifier 1160443 1160445 - Block 1160448 1160543 - ExpressionStatement 1160450 1160520 - CallExpression 1160450 1160519 - PropertyAccessExpression 1160450 1160487 - Identifier 1160450 1160482 - Identifier 1160483 1160487 - CallExpression 1160488 1160518 - Identifier 1160488 1160500 - ElementAccessExpression 1160501 1160509 - Identifier 1160501 1160506 - Identifier 1160507 1160508 - Identifier 1160510 1160517 - ReturnStatement 1160543 1160579 - Identifier 1160571 1160578 - ReturnStatement 1160624 1160647 - Identifier 1160640 1160646 - FunctionDeclaration 1160654 1160749 - Identifier 1160670 1160687 - Parameter 1160688 1160710 - Identifier 1160688 1160693 - TypeOperator 1160694 1160710 - ArrayType 1160703 1160710 - TypeReference 1160703 1160708 - Identifier 1160703 1160708 - Parameter 1160711 1160730 - Identifier 1160711 1160718 - TypeReference 1160719 1160730 - Identifier 1160719 1160730 - TypeOperator 1160732 1160748 - ArrayType 1160741 1160748 - TypeReference 1160741 1160746 - Identifier 1160741 1160746 - FunctionDeclaration 1160749 1160866 - Identifier 1160763 1160780 - Parameter 1160781 1160815 - Identifier 1160781 1160786 - UnionType 1160787 1160815 - TypeOperator 1160787 1160803 - ArrayType 1160796 1160803 - TypeReference 1160796 1160801 - Identifier 1160796 1160801 - UndefinedKeyword 1160805 1160815 - Parameter 1160816 1160835 - Identifier 1160816 1160823 - TypeReference 1160824 1160835 - Identifier 1160824 1160835 - UnionType 1160837 1160865 - TypeOperator 1160837 1160853 - ArrayType 1160846 1160853 - TypeReference 1160846 1160851 - Identifier 1160846 1160851 - UndefinedKeyword 1160855 1160865 - FunctionDeclaration 1160866 1161062 - Identifier 1160880 1160897 - Parameter 1160898 1160932 - Identifier 1160898 1160903 - UnionType 1160904 1160932 - TypeOperator 1160904 1160920 - ArrayType 1160913 1160920 - TypeReference 1160913 1160918 - Identifier 1160913 1160918 - UndefinedKeyword 1160922 1160932 - Parameter 1160933 1160952 - Identifier 1160933 1160940 - TypeReference 1160941 1160952 - Identifier 1160941 1160952 - UnionType 1160954 1160982 - TypeOperator 1160954 1160970 - ArrayType 1160963 1160970 - TypeReference 1160963 1160968 - Identifier 1160963 1160968 - UndefinedKeyword 1160972 1160982 - Block 1160982 1161062 - ReturnStatement 1160984 1161055 - CallExpression 1161000 1161054 - Identifier 1161000 1161016 - TypeReference 1161017 1161021 - Identifier 1161017 1161021 - Identifier 1161023 1161028 - Identifier 1161029 1161036 - Identifier 1161037 1161053 - FunctionDeclaration 1161062 1161271 - Identifier 1161078 1161100 - Parameter 1161101 1161133 - Identifier 1161101 1161111 - TypeOperator 1161112 1161133 - ArrayType 1161121 1161133 - TypeReference 1161121 1161131 - Identifier 1161121 1161131 - Parameter 1161134 1161153 - Identifier 1161134 1161141 - TypeReference 1161142 1161153 - Identifier 1161142 1161153 - TypeOperator 1161155 1161176 - ArrayType 1161164 1161176 - TypeReference 1161164 1161174 - Identifier 1161164 1161174 - Block 1161176 1161271 - ReturnStatement 1161178 1161264 - CallExpression 1161194 1161263 - Identifier 1161194 1161210 - TypeReference 1161211 1161220 - Identifier 1161211 1161220 - Identifier 1161222 1161232 - Identifier 1161233 1161240 - Identifier 1161241 1161262 - FunctionDeclaration 1161271 1161480 - Identifier 1161287 1161309 - Parameter 1161310 1161342 - Identifier 1161310 1161320 - TypeOperator 1161321 1161342 - ArrayType 1161330 1161342 - TypeReference 1161330 1161340 - Identifier 1161330 1161340 - Parameter 1161343 1161362 - Identifier 1161343 1161350 - TypeReference 1161351 1161362 - Identifier 1161351 1161362 - TypeOperator 1161364 1161385 - ArrayType 1161373 1161385 - TypeReference 1161373 1161383 - Identifier 1161373 1161383 - Block 1161385 1161480 - ReturnStatement 1161387 1161473 - CallExpression 1161403 1161472 - Identifier 1161403 1161419 - TypeReference 1161420 1161429 - Identifier 1161420 1161429 - Identifier 1161431 1161441 - Identifier 1161442 1161449 - Identifier 1161450 1161471 - FunctionDeclaration 1161480 1161751 - Identifier 1161496 1161513 - Parameter 1161514 1161547 - Identifier 1161514 1161521 - TypeOperator 1161522 1161547 - ArrayType 1161531 1161547 - TypeReference 1161531 1161545 - Identifier 1161531 1161545 - Parameter 1161548 1161585 - Identifier 1161548 1161556 - UnionType 1161557 1161585 - TypeOperator 1161557 1161573 - ArrayType 1161566 1161573 - TypeReference 1161566 1161571 - Identifier 1161566 1161571 - UndefinedKeyword 1161575 1161585 - TypeReference 1161587 1161598 - Identifier 1161587 1161598 - Block 1161598 1161751 - ReturnStatement 1161600 1161744 - ConditionalExpression 1161616 1161743 - BinaryExpression 1161616 1161637 - PropertyAccessExpression 1161616 1161631 - Identifier 1161616 1161624 - Identifier 1161625 1161631 - EqualsEqualsEqualsToken 1161631 1161635 - NumericLiteral 1161635 1161637 - QuestionToken 1161637 1161639 - CallExpression 1161639 1161703 - Identifier 1161639 1161659 - ElementAccessExpression 1161660 1161670 - Identifier 1161660 1161667 - NumericLiteral 1161668 1161669 - ConditionalExpression 1161671 1161702 - Identifier 1161671 1161679 - QuestionToken 1161679 1161681 - ElementAccessExpression 1161681 1161692 - Identifier 1161681 1161689 - NumericLiteral 1161690 1161691 - ColonToken 1161692 1161694 - Identifier 1161694 1161702 - ColonToken 1161703 1161705 - CallExpression 1161705 1161743 - Identifier 1161705 1161725 - Identifier 1161726 1161733 - Identifier 1161734 1161742 - FunctionDeclaration 1161751 1163136 - Identifier 1161767 1161781 - Parameter 1161782 1161792 - Identifier 1161782 1161786 - TypeReference 1161787 1161792 - Identifier 1161787 1161792 - Parameter 1161793 1161812 - Identifier 1161793 1161800 - TypeReference 1161801 1161812 - Identifier 1161801 1161812 - TypeReference 1161814 1161819 - Identifier 1161814 1161819 - Block 1161819 1163136 - SwitchStatement 1161821 1163129 - PropertyAccessExpression 1161839 1161850 - Identifier 1161839 1161845 - Identifier 1161846 1161850 - CaseBlock 1161851 1163129 - CaseClause 1161853 1161962 - PropertyAccessExpression 1161871 1161890 - Identifier 1161871 1161883 - Identifier 1161884 1161890 - ReturnStatement 1161891 1161962 - ConditionalExpression 1161915 1161961 - BinaryExpression 1161915 1161938 - Identifier 1161915 1161920 - EqualsEqualsEqualsToken 1161920 1161924 - PropertyAccessExpression 1161924 1161938 - Identifier 1161924 1161931 - Identifier 1161932 1161938 - QuestionToken 1161938 1161940 - PropertyAccessExpression 1161940 1161954 - Identifier 1161940 1161947 - Identifier 1161948 1161954 - ColonToken 1161954 1161956 - Identifier 1161956 1161961 - CaseClause 1161962 1162358 - PropertyAccessExpression 1161980 1161998 - Identifier 1161980 1161992 - Identifier 1161993 1161998 - Block 1161999 1162358 - VariableStatement 1162001 1162050 - VariableDeclarationList 1162001 1162049 - VariableDeclaration 1162024 1162049 - Identifier 1162024 1162032 - PropertyAccessExpression 1162034 1162049 - Identifier 1162034 1162041 - Identifier 1162042 1162049 - VariableStatement 1162050 1162099 - VariableDeclarationList 1162050 1162098 - VariableDeclaration 1162073 1162098 - Identifier 1162073 1162081 - PropertyAccessExpression 1162083 1162098 - Identifier 1162083 1162090 - Identifier 1162091 1162098 - ForStatement 1162099 1162313 - VariableDeclarationList 1162122 1162131 - VariableDeclaration 1162125 1162131 - Identifier 1162125 1162127 - NumericLiteral 1162129 1162131 - BinaryExpression 1162132 1162151 - Identifier 1162132 1162134 - LessThanToken 1162134 1162136 - PropertyAccessExpression 1162136 1162151 - Identifier 1162136 1162144 - Identifier 1162145 1162151 - PostfixUnaryExpression 1162152 1162156 - Identifier 1162152 1162154 - Block 1162157 1162313 - IfStatement 1162159 1162294 - BinaryExpression 1162185 1162204 - Identifier 1162185 1162189 - EqualsEqualsEqualsToken 1162189 1162193 - ElementAccessExpression 1162193 1162204 - Identifier 1162193 1162201 - Identifier 1162202 1162203 - Block 1162205 1162294 - ReturnStatement 1162207 1162271 - ConditionalExpression 1162239 1162270 - Identifier 1162239 1162247 - QuestionToken 1162247 1162249 - ElementAccessExpression 1162249 1162260 - Identifier 1162249 1162257 - Identifier 1162258 1162259 - ColonToken 1162260 1162262 - Identifier 1162262 1162270 - ReturnStatement 1162313 1162343 - Identifier 1162337 1162342 - CaseClause 1162358 1162739 - PropertyAccessExpression 1162376 1162397 - Identifier 1162376 1162388 - Identifier 1162389 1162397 - Block 1162398 1162739 - VariableStatement 1162400 1162449 - VariableDeclarationList 1162400 1162448 - VariableDeclaration 1162423 1162448 - Identifier 1162423 1162431 - PropertyAccessExpression 1162433 1162448 - Identifier 1162433 1162440 - Identifier 1162441 1162448 - VariableStatement 1162449 1162498 - VariableDeclarationList 1162449 1162497 - VariableDeclaration 1162472 1162497 - Identifier 1162472 1162480 - PropertyAccessExpression 1162482 1162497 - Identifier 1162482 1162489 - Identifier 1162490 1162497 - ForStatement 1162498 1162694 - VariableDeclarationList 1162521 1162530 - VariableDeclaration 1162524 1162530 - Identifier 1162524 1162526 - NumericLiteral 1162528 1162530 - BinaryExpression 1162531 1162550 - Identifier 1162531 1162533 - LessThanToken 1162533 1162535 - PropertyAccessExpression 1162535 1162550 - Identifier 1162535 1162543 - Identifier 1162544 1162550 - PostfixUnaryExpression 1162551 1162555 - Identifier 1162551 1162553 - Block 1162556 1162694 - IfStatement 1162558 1162675 - BinaryExpression 1162584 1162603 - Identifier 1162584 1162588 - EqualsEqualsEqualsToken 1162588 1162592 - ElementAccessExpression 1162592 1162603 - Identifier 1162592 1162600 - Identifier 1162601 1162602 - Block 1162604 1162675 - ReturnStatement 1162606 1162652 - CallExpression 1162638 1162651 - ElementAccessExpression 1162638 1162649 - Identifier 1162638 1162646 - Identifier 1162647 1162648 - ReturnStatement 1162694 1162724 - Identifier 1162718 1162723 - CaseClause 1162739 1162822 - PropertyAccessExpression 1162757 1162778 - Identifier 1162757 1162769 - Identifier 1162770 1162778 - ReturnStatement 1162779 1162822 - CallExpression 1162803 1162821 - PropertyAccessExpression 1162803 1162815 - Identifier 1162803 1162810 - Identifier 1162811 1162815 - Identifier 1162816 1162820 - CaseClause 1162822 1162863 - PropertyAccessExpression 1162840 1162862 - Identifier 1162840 1162852 - Identifier 1162853 1162862 - CaseClause 1162863 1163118 - PropertyAccessExpression 1162881 1162900 - Identifier 1162881 1162893 - Identifier 1162894 1162900 - VariableStatement 1162901 1162966 - VariableDeclarationList 1162901 1162965 - VariableDeclaration 1162924 1162965 - Identifier 1162924 1162927 - CallExpression 1162929 1162965 - Identifier 1162929 1162943 - Identifier 1162944 1162948 - PropertyAccessExpression 1162949 1162964 - Identifier 1162949 1162956 - Identifier 1162957 1162964 - ReturnStatement 1162966 1163118 - ConditionalExpression 1162990 1163117 - BinaryExpression 1162990 1163043 - BinaryExpression 1162990 1163002 - Identifier 1162990 1162993 - ExclamationEqualsEqualsToken 1162993 1162997 - Identifier 1162997 1163002 - AmpersandAmpersandToken 1163002 1163005 - BinaryExpression 1163005 1163043 - PropertyAccessExpression 1163005 1163017 - Identifier 1163005 1163012 - Identifier 1163013 1163017 - EqualsEqualsEqualsToken 1163017 1163021 - PropertyAccessExpression 1163021 1163043 - Identifier 1163021 1163033 - Identifier 1163034 1163043 - QuestionToken 1163043 1163045 - CallExpression 1163045 1163081 - Identifier 1163045 1163061 - Identifier 1163062 1163064 - PropertyAccessExpression 1163065 1163080 - Identifier 1163065 1163072 - Identifier 1163073 1163080 - ColonToken 1163081 1163083 - CallExpression 1163083 1163117 - Identifier 1163083 1163097 - Identifier 1163098 1163100 - PropertyAccessExpression 1163101 1163116 - Identifier 1163101 1163108 - Identifier 1163109 1163116 - FunctionDeclaration 1163136 1163318 - Identifier 1163152 1163172 - Parameter 1163173 1163185 - Identifier 1163173 1163179 - TypeReference 1163180 1163185 - Identifier 1163180 1163185 - Parameter 1163186 1163199 - Identifier 1163186 1163193 - TypeReference 1163194 1163199 - Identifier 1163194 1163199 - TypeReference 1163201 1163212 - Identifier 1163201 1163212 - Block 1163212 1163318 - ReturnStatement 1163214 1163311 - CallExpression 1163230 1163310 - PropertyAccessExpression 1163230 1163264 - Identifier 1163230 1163236 - Identifier 1163237 1163264 - ObjectLiteralExpression 1163265 1163309 - PropertyAssignment 1163266 1163291 - Identifier 1163266 1163271 - PropertyAccessExpression 1163272 1163291 - Identifier 1163272 1163284 - Identifier 1163285 1163291 - ShorthandPropertyAssignment 1163292 1163299 - Identifier 1163292 1163299 - ShorthandPropertyAssignment 1163300 1163307 - Identifier 1163300 1163307 - FunctionDeclaration 1163318 1163546 - Identifier 1163334 1163354 - Parameter 1163355 1163388 - Identifier 1163355 1163362 - TypeOperator 1163363 1163388 - ArrayType 1163372 1163388 - TypeReference 1163372 1163386 - Identifier 1163372 1163386 - Parameter 1163389 1163426 - Identifier 1163389 1163397 - UnionType 1163398 1163426 - TypeOperator 1163398 1163414 - ArrayType 1163407 1163414 - TypeReference 1163407 1163412 - Identifier 1163407 1163412 - UndefinedKeyword 1163416 1163426 - TypeReference 1163428 1163439 - Identifier 1163428 1163439 - Block 1163439 1163546 - ReturnStatement 1163441 1163539 - CallExpression 1163457 1163538 - PropertyAccessExpression 1163457 1163491 - Identifier 1163457 1163463 - Identifier 1163464 1163491 - ObjectLiteralExpression 1163492 1163537 - PropertyAssignment 1163493 1163517 - Identifier 1163493 1163498 - PropertyAccessExpression 1163499 1163517 - Identifier 1163499 1163511 - Identifier 1163512 1163517 - ShorthandPropertyAssignment 1163518 1163526 - Identifier 1163518 1163526 - ShorthandPropertyAssignment 1163527 1163535 - Identifier 1163527 1163535 - FunctionDeclaration 1163546 1163799 - Identifier 1163562 1163585 - Parameter 1163586 1163609 - Identifier 1163586 1163590 - FunctionType 1163591 1163609 - Parameter 1163593 1163600 - Identifier 1163593 1163594 - TypeReference 1163595 1163600 - Identifier 1163595 1163600 - TypeReference 1163604 1163609 - Identifier 1163604 1163609 - Parameter 1163610 1163634 - Identifier 1163610 1163620 - FunctionType 1163621 1163634 - StringKeyword 1163627 1163634 - TypeReference 1163636 1163647 - Identifier 1163636 1163647 - Block 1163647 1163799 - ReturnStatement 1163649 1163792 - CallExpression 1163665 1163791 - PropertyAccessExpression 1163665 1163699 - Identifier 1163665 1163671 - Identifier 1163672 1163699 - ObjectLiteralExpression 1163700 1163790 - PropertyAssignment 1163701 1163728 - Identifier 1163701 1163706 - PropertyAccessExpression 1163707 1163728 - Identifier 1163707 1163719 - Identifier 1163720 1163728 - ShorthandPropertyAssignment 1163729 1163734 - Identifier 1163729 1163734 - PropertyAssignment 1163735 1163788 - Identifier 1163735 1163745 - ConditionalExpression 1163746 1163788 - PropertyAccessExpression 1163746 1163764 - Identifier 1163746 1163752 - Identifier 1163753 1163764 - QuestionToken 1163764 1163766 - Identifier 1163766 1163776 - ColonToken 1163776 1163778 - Identifier 1163778 1163788 - FunctionDeclaration 1163799 1164008 - Identifier 1163815 1163838 - Parameter 1163839 1163872 - Identifier 1163839 1163846 - TypeOperator 1163847 1163872 - ArrayType 1163856 1163872 - TypeReference 1163856 1163870 - Identifier 1163856 1163870 - Parameter 1163873 1163897 - Identifier 1163873 1163881 - ArrayType 1163882 1163897 - ParenthesizedType 1163882 1163895 - FunctionType 1163884 1163894 - TypeReference 1163889 1163894 - Identifier 1163889 1163894 - Block 1163898 1164008 - ReturnStatement 1163900 1164001 - CallExpression 1163916 1164000 - PropertyAccessExpression 1163916 1163950 - Identifier 1163916 1163922 - Identifier 1163923 1163950 - ObjectLiteralExpression 1163951 1163999 - PropertyAssignment 1163952 1163979 - Identifier 1163952 1163957 - PropertyAccessExpression 1163958 1163979 - Identifier 1163958 1163970 - Identifier 1163971 1163979 - ShorthandPropertyAssignment 1163980 1163988 - Identifier 1163980 1163988 - ShorthandPropertyAssignment 1163989 1163997 - Identifier 1163989 1163997 - FunctionDeclaration 1164008 1164240 - Identifier 1164024 1164048 - Parameter 1164049 1164097 - Identifier 1164049 1164053 - UnionType 1164054 1164097 - TypeReference 1164054 1164076 - QualifiedName 1164054 1164076 - Identifier 1164054 1164066 - Identifier 1164067 1164076 - TypeReference 1164078 1164097 - QualifiedName 1164078 1164097 - Identifier 1164078 1164090 - Identifier 1164091 1164097 - Parameter 1164098 1164118 - Identifier 1164098 1164106 - TypeReference 1164107 1164118 - Identifier 1164107 1164118 - Parameter 1164119 1164139 - Identifier 1164119 1164127 - TypeReference 1164128 1164139 - Identifier 1164128 1164139 - TypeReference 1164141 1164152 - Identifier 1164141 1164152 - Block 1164152 1164240 - ReturnStatement 1164154 1164233 - CallExpression 1164170 1164232 - PropertyAccessExpression 1164170 1164204 - Identifier 1164170 1164176 - Identifier 1164177 1164204 - ObjectLiteralExpression 1164205 1164231 - ShorthandPropertyAssignment 1164206 1164211 - Identifier 1164206 1164211 - ShorthandPropertyAssignment 1164212 1164220 - Identifier 1164212 1164220 - ShorthandPropertyAssignment 1164221 1164229 - Identifier 1164221 1164229 - FunctionDeclaration 1164240 1164395 - Identifier 1164256 1164273 - Parameter 1164274 1164307 - Identifier 1164274 1164281 - TypeOperator 1164282 1164307 - ArrayType 1164291 1164307 - TypeReference 1164291 1164305 - Identifier 1164291 1164305 - TypeReference 1164309 1164320 - Identifier 1164309 1164320 - Block 1164320 1164395 - ReturnStatement 1164322 1164388 - CallExpression 1164338 1164387 - Identifier 1164338 1164355 - Identifier 1164356 1164363 - Identifier 1164364 1164386 - FunctionDeclaration 1164395 1164875 - Identifier 1164595 1164621 - Parameter 1164622 1164647 - Identifier 1164622 1164629 - TypeReference 1164630 1164647 - Identifier 1164630 1164647 - Parameter 1164648 1164662 - Identifier 1164648 1164654 - NumberKeyword 1164655 1164662 - TypeReference 1164664 1164675 - Identifier 1164664 1164675 - Block 1164675 1164875 - VariableStatement 1164677 1164745 - VariableDeclarationList 1164677 1164744 - VariableDeclaration 1164692 1164744 - Identifier 1164692 1164710 - CallExpression 1164712 1164744 - PropertyAccessExpression 1164712 1164737 - PropertyAccessExpression 1164712 1164731 - Identifier 1164712 1164720 - Identifier 1164721 1164731 - Identifier 1164732 1164737 - Identifier 1164738 1164743 - ReturnStatement 1164745 1164868 - CallExpression 1164761 1164867 - Identifier 1164761 1164778 - CallExpression 1164779 1164823 - Identifier 1164779 1164782 - Identifier 1164783 1164800 - ArrowFunction 1164801 1164822 - Parameter 1164801 1164803 - Identifier 1164801 1164803 - EqualsGreaterThanToken 1164803 1164806 - PropertyAccessExpression 1164806 1164822 - Identifier 1164806 1164808 - Identifier 1164809 1164822 - CallExpression 1164824 1164866 - Identifier 1164824 1164828 - Identifier 1164829 1164846 - ArrowFunction 1164847 1164865 - EqualsGreaterThanToken 1164850 1164853 - Identifier 1164853 1164865 - FunctionDeclaration 1164875 1165087 - Identifier 1164891 1164910 - Parameter 1164911 1164942 - Identifier 1164911 1164918 - UnionType 1164919 1164942 - TypeReference 1164919 1164930 - Identifier 1164919 1164930 - UndefinedKeyword 1164932 1164942 - Parameter 1164943 1164963 - Identifier 1164943 1164951 - TypeReference 1164952 1164963 - Identifier 1164952 1164963 - TypeReference 1164965 1164976 - Identifier 1164965 1164976 - Block 1164976 1165087 - ReturnStatement 1164978 1165080 - ConditionalExpression 1164994 1165079 - Identifier 1164994 1165002 - QuestionToken 1165002 1165004 - CallExpression 1165004 1165069 - Identifier 1165004 1165028 - PropertyAccessExpression 1165029 1165050 - Identifier 1165029 1165040 - Identifier 1165041 1165050 - Identifier 1165051 1165059 - Identifier 1165060 1165068 - ColonToken 1165069 1165071 - Identifier 1165071 1165079 - FunctionDeclaration 1165087 1165294 - Identifier 1165103 1165120 - Parameter 1165121 1165152 - Identifier 1165121 1165128 - UnionType 1165129 1165152 - TypeReference 1165129 1165140 - Identifier 1165129 1165140 - UndefinedKeyword 1165142 1165152 - Parameter 1165153 1165173 - Identifier 1165153 1165161 - TypeReference 1165162 1165173 - Identifier 1165162 1165173 - TypeReference 1165175 1165186 - Identifier 1165175 1165186 - Block 1165186 1165294 - ReturnStatement 1165188 1165287 - ConditionalExpression 1165204 1165286 - Identifier 1165204 1165212 - QuestionToken 1165212 1165214 - CallExpression 1165214 1165276 - Identifier 1165214 1165238 - PropertyAccessExpression 1165239 1165257 - Identifier 1165239 1165250 - Identifier 1165251 1165257 - Identifier 1165258 1165266 - Identifier 1165267 1165275 - ColonToken 1165276 1165278 - Identifier 1165278 1165286 - FunctionDeclaration 1165294 1165552 - Identifier 1165310 1165329 - Parameter 1165330 1165342 - Identifier 1165330 1165336 - TypeReference 1165337 1165342 - Identifier 1165337 1165342 - Parameter 1165343 1165356 - Identifier 1165343 1165350 - TypeReference 1165351 1165356 - Identifier 1165351 1165356 - Parameter 1165357 1165388 - Identifier 1165357 1165364 - UnionType 1165365 1165388 - TypeReference 1165365 1165376 - Identifier 1165365 1165376 - UndefinedKeyword 1165378 1165388 - Block 1165389 1165552 - ReturnStatement 1165391 1165545 - ConditionalExpression 1165407 1165544 - PrefixUnaryExpression 1165407 1165415 - Identifier 1165409 1165415 - QuestionToken 1165415 1165417 - CallExpression 1165417 1165453 - Identifier 1165417 1165437 - Identifier 1165438 1165444 - Identifier 1165445 1165452 - ColonToken 1165453 1165455 - CallExpression 1165455 1165544 - Identifier 1165455 1165479 - PropertyAccessExpression 1165480 1165498 - Identifier 1165480 1165491 - Identifier 1165492 1165498 - CallExpression 1165499 1165535 - Identifier 1165499 1165519 - Identifier 1165520 1165526 - Identifier 1165527 1165534 - Identifier 1165536 1165543 - FunctionDeclaration 1165552 1165809 - Identifier 1165568 1165586 - Parameter 1165587 1165617 - Identifier 1165587 1165593 - UnionType 1165594 1165617 - TypeReference 1165594 1165605 - Identifier 1165594 1165605 - UndefinedKeyword 1165607 1165617 - Parameter 1165618 1165631 - Identifier 1165618 1165625 - TypeReference 1165626 1165631 - Identifier 1165626 1165631 - Parameter 1165632 1165645 - Identifier 1165632 1165639 - TypeReference 1165640 1165645 - Identifier 1165640 1165645 - Block 1165646 1165809 - ReturnStatement 1165648 1165802 - ConditionalExpression 1165664 1165801 - PrefixUnaryExpression 1165664 1165672 - Identifier 1165666 1165672 - QuestionToken 1165672 1165674 - CallExpression 1165674 1165710 - Identifier 1165674 1165694 - Identifier 1165695 1165701 - Identifier 1165702 1165709 - ColonToken 1165710 1165712 - CallExpression 1165712 1165801 - Identifier 1165712 1165736 - PropertyAccessExpression 1165737 1165755 - Identifier 1165737 1165748 - Identifier 1165749 1165755 - Identifier 1165756 1165763 - CallExpression 1165764 1165800 - Identifier 1165764 1165784 - Identifier 1165785 1165791 - Identifier 1165792 1165799 - FunctionDeclaration 1165809 1166216 - Identifier 1165825 1165853 - Parameter 1165854 1165871 - Identifier 1165854 1165856 - TypeReference 1165857 1165871 - Identifier 1165857 1165871 - Block 1165872 1166216 - ReturnStatement 1165874 1166209 - ConditionalExpression 1165890 1166208 - BinaryExpression 1165890 1165976 - BinaryExpression 1165890 1165938 - PrefixUnaryExpression 1165890 1165905 - PropertyAccessExpression 1165892 1165905 - Identifier 1165892 1165894 - Identifier 1165895 1165905 - AmpersandAmpersandToken 1165905 1165908 - PrefixUnaryExpression 1165908 1165938 - CallExpression 1165910 1165938 - Identifier 1165910 1165934 - Identifier 1165935 1165937 - BarBarToken 1165938 1165941 - BinaryExpression 1165941 1165976 - PropertyAccessExpression 1165941 1165955 - Identifier 1165941 1165944 - Identifier 1165945 1165955 - EqualsEqualsEqualsToken 1165955 1165959 - Identifier 1165959 1165976 - QuestionToken 1165976 1165978 - Identifier 1165978 1165981 - ColonToken 1165981 1165983 - BinaryExpression 1165983 1166208 - PropertyAccessExpression 1165983 1166011 - Identifier 1165983 1165986 - Identifier 1165987 1166011 - BarBarToken 1166011 1166014 - ParenthesizedExpression 1166014 1166208 - BinaryExpression 1166016 1166197 - BinaryExpression 1166016 1166168 - BinaryExpression 1166016 1166090 - PropertyAccessExpression 1166016 1166057 - Identifier 1166016 1166032 - Identifier 1166033 1166057 - EqualsToken 1166057 1166059 - CallExpression 1166059 1166090 - Identifier 1166059 1166079 - PropertyAccessExpression 1166080 1166089 - Identifier 1166080 1166082 - Identifier 1166083 1166089 - CommaToken 1166090 1166091 - BinaryExpression 1166091 1166168 - PropertyAccessExpression 1166091 1166149 - ParenthesizedExpression 1166091 1166138 - AsExpression 1166093 1166137 - PropertyAccessExpression 1166093 1166120 - Identifier 1166093 1166095 - Identifier 1166096 1166120 - TypeReference 1166123 1166137 - Identifier 1166123 1166137 - Identifier 1166139 1166149 - EqualsToken 1166149 1166151 - Identifier 1166151 1166168 - CommaToken 1166168 1166169 - PropertyAccessExpression 1166169 1166197 - Identifier 1166169 1166172 - Identifier 1166173 1166197 - FunctionDeclaration 1166216 1166436 - Identifier 1166232 1166251 - Parameter 1166252 1166280 - Identifier 1166252 1166265 - TypeReference 1166266 1166280 - Identifier 1166266 1166280 - TypeReference 1166282 1166296 - Identifier 1166282 1166296 - Block 1166296 1166436 - VariableStatement 1166298 1166365 - VariableDeclarationList 1166298 1166364 - VariableDeclaration 1166313 1166364 - Identifier 1166313 1166320 - CallExpression 1166322 1166364 - Identifier 1166322 1166342 - PropertyAccessExpression 1166343 1166363 - Identifier 1166343 1166356 - Identifier 1166357 1166363 - ExpressionStatement 1166365 1166405 - BinaryExpression 1166365 1166404 - PropertyAccessExpression 1166365 1166388 - Identifier 1166365 1166381 - Identifier 1166382 1166388 - EqualsToken 1166388 1166390 - Identifier 1166390 1166404 - ReturnStatement 1166405 1166429 - Identifier 1166421 1166428 - FunctionDeclaration 1166436 1166692 - Identifier 1166452 1166477 - Parameter 1166478 1166502 - Identifier 1166478 1166487 - TypeReference 1166488 1166502 - Identifier 1166488 1166502 - Parameter 1166503 1166522 - Identifier 1166503 1166510 - TypeReference 1166511 1166522 - Identifier 1166511 1166522 - TypeReference 1166524 1166538 - Identifier 1166524 1166538 - Block 1166538 1166692 - ReturnStatement 1166540 1166685 - CallExpression 1166556 1166684 - Identifier 1166556 1166576 - PropertyAccessExpression 1166577 1166591 - Identifier 1166577 1166586 - Identifier 1166587 1166591 - PropertyAccessExpression 1166592 1166616 - Identifier 1166592 1166602 - Identifier 1166603 1166616 - PropertyAccessExpression 1166617 1166642 - Identifier 1166617 1166627 - Identifier 1166628 1166642 - CallExpression 1166643 1166683 - Identifier 1166643 1166659 - PropertyAccessExpression 1166660 1166674 - Identifier 1166660 1166669 - Identifier 1166670 1166674 - Identifier 1166675 1166682 - FunctionDeclaration 1166692 1168244 - Identifier 1166708 1166729 - Parameter 1166730 1166750 - Identifier 1166730 1166739 - TypeReference 1166740 1166750 - Identifier 1166740 1166750 - Parameter 1166751 1166770 - Identifier 1166751 1166758 - TypeReference 1166759 1166770 - Identifier 1166759 1166770 - Parameter 1166771 1166801 - Identifier 1166771 1166791 - QuestionToken 1166791 1166792 - BooleanKeyword 1166793 1166801 - TypeReference 1166803 1166813 - Identifier 1166803 1166813 - Block 1166813 1168244 - VariableStatement 1166815 1166878 - VariableDeclarationList 1166815 1166877 - VariableDeclaration 1166828 1166877 - Identifier 1166828 1166848 - UnionType 1166849 1166877 - ArrayType 1166849 1166865 - TypeReference 1166849 1166863 - Identifier 1166849 1166863 - UndefinedKeyword 1166867 1166877 - IfStatement 1166878 1167549 - BinaryExpression 1166892 1166940 - PropertyAccessExpression 1166892 1166916 - Identifier 1166892 1166901 - Identifier 1166902 1166916 - AmpersandAmpersandToken 1166916 1166919 - PrefixUnaryExpression 1166919 1166940 - Identifier 1166921 1166940 - Block 1166941 1167549 - ExpressionStatement 1166943 1167318 - BinaryExpression 1166943 1167317 - Identifier 1166943 1167265 - EqualsToken 1167265 1167267 - CallExpression 1167267 1167317 - Identifier 1167267 1167271 - PropertyAccessExpression 1167272 1167296 - Identifier 1167272 1167281 - Identifier 1167282 1167296 - Identifier 1167297 1167316 - ExpressionStatement 1167318 1167433 - BinaryExpression 1167318 1167432 - Identifier 1167318 1167338 - EqualsToken 1167338 1167340 - CallExpression 1167340 1167432 - Identifier 1167340 1167359 - CallExpression 1167360 1167423 - Identifier 1167360 1167376 - PropertyAccessExpression 1167377 1167401 - Identifier 1167377 1167386 - Identifier 1167387 1167401 - Identifier 1167402 1167422 - Identifier 1167424 1167431 - ForOfStatement 1167433 1167538 - VariableDeclarationList 1167452 1167460 - VariableDeclaration 1167457 1167460 - Identifier 1167457 1167460 - Identifier 1167463 1167483 - Block 1167484 1167538 - ExpressionStatement 1167486 1167523 - BinaryExpression 1167486 1167522 - PropertyAccessExpression 1167486 1167513 - Identifier 1167486 1167506 - Identifier 1167507 1167513 - EqualsToken 1167513 1167515 - Identifier 1167515 1167522 - VariableStatement 1167549 1168144 - VariableDeclarationList 1167549 1168143 - VariableDeclaration 1167779 1168143 - Identifier 1167779 1167786 - CallExpression 1167788 1168143 - Identifier 1167788 1167804 - PropertyAccessExpression 1167805 1167826 - Identifier 1167805 1167814 - Identifier 1167815 1167826 - Identifier 1167827 1167847 - BinaryExpression 1167848 1167926 - PropertyAccessExpression 1167848 1167872 - Identifier 1167848 1167858 - Identifier 1167859 1167872 - AmpersandAmpersandToken 1167872 1167875 - CallExpression 1167875 1167926 - Identifier 1167875 1167893 - PropertyAccessExpression 1167894 1167917 - Identifier 1167894 1167903 - Identifier 1167904 1167917 - Identifier 1167918 1167925 - CallExpression 1167927 1167992 - Identifier 1167927 1167943 - PropertyAccessExpression 1167944 1167964 - Identifier 1167944 1167953 - Identifier 1167954 1167964 - Identifier 1167965 1167972 - Identifier 1167973 1167991 - Identifier 1167993 1168026 - Identifier 1168027 1168063 - PropertyAccessExpression 1168064 1168091 - Identifier 1168064 1168074 - Identifier 1168075 1168091 - BinaryExpression 1168092 1168142 - PropertyAccessExpression 1168092 1168108 - Identifier 1168092 1168102 - Identifier 1168103 1168108 - AmpersandToken 1168108 1168110 - PropertyAccessExpression 1168110 1168142 - Identifier 1168110 1168125 - Identifier 1168126 1168142 - ExpressionStatement 1168144 1168180 - BinaryExpression 1168144 1168179 - PropertyAccessExpression 1168144 1168167 - Identifier 1168144 1168160 - Identifier 1168161 1168167 - EqualsToken 1168167 1168169 - Identifier 1168169 1168179 - ExpressionStatement 1168180 1168213 - BinaryExpression 1168180 1168212 - PropertyAccessExpression 1168180 1168203 - Identifier 1168180 1168196 - Identifier 1168197 1168203 - EqualsToken 1168203 1168205 - Identifier 1168205 1168212 - ReturnStatement 1168213 1168237 - Identifier 1168229 1168236 - FunctionDeclaration 1168244 1170165 - Identifier 1168260 1168278 - Parameter 1168279 1168293 - Identifier 1168279 1168285 - TypeReference 1168286 1168293 - Identifier 1168286 1168293 - Parameter 1168294 1168313 - Identifier 1168294 1168301 - TypeReference 1168302 1168313 - Identifier 1168302 1168313 - TypeReference 1168315 1168322 - Identifier 1168315 1168322 - Block 1168322 1170165 - VariableStatement 1168324 1168371 - VariableDeclarationList 1168324 1168370 - VariableDeclaration 1168339 1168370 - Identifier 1168339 1168345 - CallExpression 1168347 1168370 - Identifier 1168347 1168362 - Identifier 1168363 1168369 - IfStatement 1168371 1168912 - BinaryExpression 1168555 1168607 - PropertyAccessExpression 1168555 1168565 - Identifier 1168555 1168560 - Identifier 1168561 1168565 - AmpersandAmpersandToken 1168565 1168568 - PrefixUnaryExpression 1168568 1168607 - CallExpression 1168570 1168607 - Identifier 1168570 1168595 - PropertyAccessExpression 1168596 1168606 - Identifier 1168596 1168601 - Identifier 1168602 1168606 - Block 1168608 1168912 - IfStatement 1168610 1168719 - PrefixUnaryExpression 1168628 1168669 - ParenthesizedExpression 1168629 1168669 - BinaryExpression 1168630 1168668 - PropertyAccessExpression 1168630 1168642 - Identifier 1168630 1168636 - Identifier 1168637 1168642 - AmpersandToken 1168642 1168644 - PropertyAccessExpression 1168644 1168668 - Identifier 1168644 1168656 - Identifier 1168657 1168668 - Block 1168670 1168719 - ReturnStatement 1168672 1168704 - Identifier 1168696 1168703 - IfStatement 1168719 1168901 - BinaryExpression 1168789 1168851 - PropertyAccessExpression 1168789 1168804 - Identifier 1168789 1168794 - Identifier 1168795 1168804 - AmpersandAmpersandToken 1168804 1168807 - PrefixUnaryExpression 1168807 1168851 - CallExpression 1168809 1168851 - Identifier 1168809 1168834 - PropertyAccessExpression 1168835 1168850 - Identifier 1168835 1168840 - Identifier 1168841 1168850 - Block 1168852 1168901 - ReturnStatement 1168854 1168886 - Identifier 1168878 1168885 - IfStatement 1168912 1169363 - BinaryExpression 1168926 1168973 - CallExpression 1168926 1168947 - Identifier 1168926 1168939 - Identifier 1168940 1168946 - AmpersandToken 1168947 1168949 - PropertyAccessExpression 1168949 1168973 - Identifier 1168949 1168960 - Identifier 1168961 1168973 - Block 1168974 1169363 - ExpressionStatement 1168976 1169288 - BinaryExpression 1168976 1169287 - Identifier 1168976 1169271 - EqualsToken 1169271 1169273 - NonNullExpression 1169273 1169287 - PropertyAccessExpression 1169273 1169286 - Identifier 1169273 1169279 - Identifier 1169280 1169286 - ExpressionStatement 1169288 1169352 - BinaryExpression 1169288 1169351 - Identifier 1169288 1169308 - EqualsToken 1169308 1169310 - CallExpression 1169310 1169351 - Identifier 1169310 1169329 - PropertyAccessExpression 1169330 1169342 - Identifier 1169330 1169335 - Identifier 1169336 1169342 - Identifier 1169343 1169350 - VariableStatement 1169363 1169754 - VariableDeclarationList 1169363 1169753 - VariableDeclaration 1169548 1169753 - Identifier 1169548 1169555 - CallExpression 1169557 1169753 - Identifier 1169557 1169570 - PropertyAccessExpression 1169571 1169583 - Identifier 1169571 1169577 - Identifier 1169578 1169583 - PropertyAccessExpression 1169584 1169603 - Identifier 1169584 1169591 - Identifier 1169592 1169603 - BinaryExpression 1169604 1169752 - PropertyAccessExpression 1169604 1169628 - Identifier 1169604 1169615 - Identifier 1169616 1169628 - BarToken 1169628 1169630 - BinaryExpression 1169630 1169752 - CallExpression 1169630 1169652 - Identifier 1169630 1169644 - Identifier 1169645 1169651 - AmpersandToken 1169652 1169654 - ParenthesizedExpression 1169654 1169752 - BinaryExpression 1169656 1169751 - BinaryExpression 1169656 1169724 - BinaryExpression 1169656 1169693 - PropertyAccessExpression 1169656 1169675 - Identifier 1169656 1169666 - Identifier 1169667 1169675 - BarToken 1169675 1169677 - PropertyAccessExpression 1169677 1169693 - Identifier 1169677 1169688 - Identifier 1169689 1169693 - BarToken 1169693 1169695 - PropertyAccessExpression 1169695 1169724 - Identifier 1169695 1169706 - Identifier 1169707 1169724 - BarToken 1169724 1169726 - PropertyAccessExpression 1169726 1169751 - Identifier 1169726 1169737 - Identifier 1169738 1169751 - ExpressionStatement 1169754 1169806 - BinaryExpression 1169754 1169805 - PropertyAccessExpression 1169754 1169783 - Identifier 1169754 1169770 - Identifier 1169771 1169783 - EqualsToken 1169783 1169785 - PropertyAccessExpression 1169785 1169805 - Identifier 1169785 1169792 - Identifier 1169793 1169805 - ExpressionStatement 1169806 1169846 - BinaryExpression 1169806 1169845 - PropertyAccessExpression 1169806 1169829 - Identifier 1169806 1169822 - Identifier 1169823 1169829 - EqualsToken 1169829 1169831 - PropertyAccessExpression 1169831 1169845 - Identifier 1169831 1169838 - Identifier 1169839 1169845 - ExpressionStatement 1169846 1169885 - BinaryExpression 1169846 1169884 - PropertyAccessExpression 1169846 1169875 - PropertyAccessExpression 1169846 1169868 - Identifier 1169846 1169862 - Identifier 1169863 1169868 - Identifier 1169869 1169875 - EqualsToken 1169875 1169877 - Identifier 1169877 1169884 - ExpressionStatement 1169885 1169924 - BinaryExpression 1169885 1169923 - PropertyAccessExpression 1169885 1169914 - PropertyAccessExpression 1169885 1169907 - Identifier 1169885 1169901 - Identifier 1169902 1169907 - Identifier 1169908 1169914 - EqualsToken 1169914 1169916 - Identifier 1169916 1169923 - IfStatement 1169924 1170039 - PropertyAccessExpression 1169938 1169961 - Identifier 1169938 1169944 - Identifier 1169945 1169961 - Block 1169962 1170039 - ExpressionStatement 1169964 1170028 - BinaryExpression 1169964 1170027 - PropertyAccessExpression 1169964 1170001 - Identifier 1169964 1169984 - Identifier 1169985 1170001 - EqualsToken 1170001 1170003 - PropertyAccessExpression 1170003 1170027 - Identifier 1170003 1170010 - Identifier 1170011 1170027 - IfStatement 1170039 1170134 - PropertyAccessExpression 1170053 1170067 - Identifier 1170053 1170058 - Identifier 1170059 1170067 - Block 1170068 1170134 - ExpressionStatement 1170070 1170123 - BinaryExpression 1170070 1170122 - PropertyAccessExpression 1170070 1170105 - PropertyAccessExpression 1170070 1170096 - Identifier 1170070 1170090 - Identifier 1170091 1170096 - Identifier 1170097 1170105 - EqualsToken 1170105 1170107 - PropertyAccessExpression 1170107 1170122 - Identifier 1170107 1170113 - Identifier 1170114 1170122 - ReturnStatement 1170134 1170158 - Identifier 1170150 1170157 - FunctionDeclaration 1170165 1176580 - Identifier 1170181 1170208 - Parameter 1170209 1170252 - Identifier 1170209 1170213 - UnionType 1170214 1170252 - TypeReference 1170214 1170228 - Identifier 1170214 1170228 - TypeReference 1170230 1170252 - Identifier 1170230 1170252 - Parameter 1170253 1170272 - Identifier 1170253 1170260 - TypeReference 1170261 1170272 - Identifier 1170261 1170272 - Parameter 1170273 1170294 - Identifier 1170273 1170285 - QuestionToken 1170285 1170286 - TypeReference 1170287 1170294 - Identifier 1170287 1170294 - Parameter 1170295 1170332 - Identifier 1170295 1170314 - QuestionToken 1170314 1170315 - TypeOperator 1170316 1170332 - ArrayType 1170325 1170332 - TypeReference 1170325 1170330 - Identifier 1170325 1170330 - Block 1170333 1176580 - VariableStatement 1170335 1170601 - VariableDeclarationList 1170335 1170600 - VariableDeclaration 1170350 1170600 - Identifier 1170350 1170362 - ConditionalExpression 1170364 1170600 - BinaryExpression 1170364 1170405 - PropertyAccessExpression 1170364 1170381 - Identifier 1170364 1170369 - Identifier 1170370 1170381 - AmpersandToken 1170381 1170383 - PropertyAccessExpression 1170383 1170405 - Identifier 1170383 1170395 - Identifier 1170396 1170405 - QuestionToken 1170405 1170407 - NonNullExpression 1170407 1170437 - PropertyAccessExpression 1170407 1170436 - ParenthesizedExpression 1170407 1170431 - AsExpression 1170409 1170430 - Identifier 1170409 1170413 - TypeReference 1170416 1170430 - Identifier 1170416 1170430 - Identifier 1170432 1170436 - ColonToken 1170437 1170439 - ConditionalExpression 1170439 1170600 - BinaryExpression 1170439 1170511 - PropertyAccessExpression 1170439 1170469 - Identifier 1170439 1170457 - Identifier 1170458 1170469 - AmpersandToken 1170469 1170471 - PropertyAccessExpression 1170471 1170511 - Identifier 1170471 1170483 - Identifier 1170484 1170511 - QuestionToken 1170511 1170513 - PropertyAccessExpression 1170513 1170556 - ParenthesizedExpression 1170513 1170551 - AsExpression 1170515 1170550 - Identifier 1170515 1170519 - TypeReference 1170522 1170550 - Identifier 1170522 1170550 - Identifier 1170552 1170556 - ColonToken 1170556 1170558 - ElementAccessExpression 1170558 1170600 - NonNullExpression 1170558 1170597 - PropertyAccessExpression 1170558 1170596 - PropertyAccessExpression 1170558 1170583 - Identifier 1170558 1170576 - Identifier 1170577 1170583 - Identifier 1170584 1170596 - NumericLiteral 1170598 1170599 - VariableStatement 1170601 1170651 - VariableDeclarationList 1170601 1170650 - VariableDeclaration 1170616 1170650 - Identifier 1170616 1170622 - CallExpression 1170624 1170650 - Identifier 1170624 1170637 - Identifier 1170638 1170649 - VariableStatement 1170651 1170845 - VariableDeclarationList 1170651 1170844 - VariableDeclaration 1170666 1170844 - Identifier 1170666 1170673 - ConditionalExpression 1170675 1170844 - BinaryExpression 1170675 1170716 - PropertyAccessExpression 1170675 1170692 - Identifier 1170675 1170680 - Identifier 1170681 1170692 - AmpersandToken 1170692 1170694 - PropertyAccessExpression 1170694 1170716 - Identifier 1170694 1170706 - Identifier 1170707 1170716 - QuestionToken 1170716 1170718 - AsExpression 1170718 1170763 - NonNullExpression 1170718 1170738 - PropertyAccessExpression 1170718 1170737 - Identifier 1170718 1170724 - Identifier 1170725 1170737 - TypeReference 1170741 1170763 - Identifier 1170741 1170763 - ColonToken 1170763 1170765 - ConditionalExpression 1170765 1170844 - BinaryExpression 1170765 1170822 - PropertyAccessExpression 1170765 1170795 - Identifier 1170765 1170783 - Identifier 1170784 1170795 - AmpersandToken 1170795 1170797 - PropertyAccessExpression 1170797 1170822 - Identifier 1170797 1170809 - Identifier 1170810 1170822 - QuestionToken 1170822 1170824 - NonNullExpression 1170824 1170837 - PropertyAccessExpression 1170824 1170836 - Identifier 1170824 1170829 - Identifier 1170830 1170836 - ColonToken 1170837 1170839 - Identifier 1170839 1170844 - VariableStatement 1170845 1171007 - VariableDeclarationList 1170845 1171006 - VariableDeclaration 1170858 1171006 - Identifier 1170858 1170873 - ConditionalExpression 1170875 1171006 - BinaryExpression 1170875 1170926 - PropertyAccessExpression 1170875 1170892 - Identifier 1170875 1170880 - Identifier 1170881 1170892 - AmpersandToken 1170892 1170894 - PropertyAccessExpression 1170894 1170926 - Identifier 1170894 1170906 - Identifier 1170907 1170926 - QuestionToken 1170926 1170928 - PropertyAccessExpression 1170928 1170978 - ParenthesizedExpression 1170928 1170958 - AsExpression 1170930 1170957 - Identifier 1170930 1170934 - TypeReference 1170937 1170957 - Identifier 1170937 1170957 - Identifier 1170959 1170978 - ColonToken 1170978 1170980 - PropertyAccessExpression 1170980 1171006 - Identifier 1170980 1170986 - Identifier 1170987 1171006 - IfStatement 1171007 1172534 - PrefixUnaryExpression 1171021 1171036 - Identifier 1171022 1171036 - Block 1171037 1172534 - VariableStatement 1171039 1171555 - VariableDeclarationList 1171039 1171554 - VariableDeclaration 1171469 1171554 - Identifier 1171469 1171489 - CallExpression 1171491 1171554 - Identifier 1171491 1171514 - Identifier 1171515 1171526 - TrueKeyword 1171527 1171553 - IfStatement 1171555 1171839 - CallExpression 1171573 1171601 - Identifier 1171573 1171588 - Identifier 1171589 1171600 - Block 1171602 1171839 - VariableStatement 1171604 1171731 - VariableDeclarationList 1171604 1171730 - VariableDeclaration 1171627 1171730 - Identifier 1171627 1171649 - CallExpression 1171651 1171730 - Identifier 1171651 1171684 - AsExpression 1171685 1171729 - Identifier 1171685 1171696 - TypeReference 1171699 1171729 - Identifier 1171699 1171729 - ExpressionStatement 1171731 1171824 - BinaryExpression 1171731 1171823 - Identifier 1171731 1171768 - EqualsToken 1171768 1171770 - CallExpression 1171770 1171823 - Identifier 1171770 1171779 - Identifier 1171780 1171799 - Identifier 1171800 1171822 - ExpressionStatement 1171839 1171904 - BinaryExpression 1171839 1171903 - Identifier 1171839 1171867 - EqualsToken 1171867 1171869 - BinaryExpression 1171869 1171903 - Identifier 1171869 1171889 - BarBarToken 1171889 1171892 - Identifier 1171892 1171903 - VariableStatement 1171904 1172071 - VariableDeclarationList 1171904 1172070 - VariableDeclaration 1171923 1172070 - Identifier 1171923 1171939 - ConditionalExpression 1171941 1172070 - BinaryExpression 1171941 1172026 - PropertyAccessExpression 1171941 1171958 - Identifier 1171941 1171946 - Identifier 1171947 1171958 - AmpersandToken 1171958 1171960 - ParenthesizedExpression 1171960 1172026 - BinaryExpression 1171962 1172025 - PropertyAccessExpression 1171962 1171983 - Identifier 1171962 1171973 - Identifier 1171974 1171983 - BarToken 1171983 1171985 - PropertyAccessExpression 1171985 1172025 - Identifier 1171985 1171997 - Identifier 1171998 1172025 - QuestionToken 1172026 1172028 - ArrayLiteralExpression 1172028 1172042 - Identifier 1172030 1172041 - ColonToken 1172042 1172044 - NonNullExpression 1172044 1172070 - PropertyAccessExpression 1172044 1172069 - PropertyAccessExpression 1172044 1172056 - Identifier 1172044 1172049 - Identifier 1172050 1172056 - Identifier 1172057 1172069 - ExpressionStatement 1172071 1172466 - BinaryExpression 1172071 1172465 - Identifier 1172071 1172099 - EqualsToken 1172099 1172101 - ConditionalExpression 1172101 1172465 - BinaryExpression 1172101 1172313 - ParenthesizedExpression 1172101 1172283 - BinaryExpression 1172103 1172282 - BinaryExpression 1172103 1172233 - BinaryExpression 1172103 1172189 - PropertyAccessExpression 1172103 1172121 - Identifier 1172103 1172109 - Identifier 1172110 1172121 - AmpersandToken 1172121 1172123 - ParenthesizedExpression 1172123 1172189 - BinaryExpression 1172125 1172188 - PropertyAccessExpression 1172125 1172146 - Identifier 1172125 1172136 - Identifier 1172137 1172146 - BarToken 1172146 1172148 - PropertyAccessExpression 1172148 1172188 - Identifier 1172148 1172160 - Identifier 1172161 1172188 - BarBarToken 1172189 1172192 - BinaryExpression 1172192 1172233 - PropertyAccessExpression 1172192 1172212 - PropertyAccessExpression 1172192 1172206 - Identifier 1172192 1172199 - Identifier 1172200 1172206 - Identifier 1172207 1172212 - AmpersandToken 1172212 1172214 - PropertyAccessExpression 1172214 1172233 - Identifier 1172214 1172226 - Identifier 1172227 1172233 - BarBarToken 1172233 1172236 - BinaryExpression 1172236 1172282 - PropertyAccessExpression 1172236 1172256 - PropertyAccessExpression 1172236 1172250 - Identifier 1172236 1172243 - Identifier 1172244 1172250 - Identifier 1172251 1172256 - AmpersandToken 1172256 1172258 - PropertyAccessExpression 1172258 1172282 - Identifier 1172258 1172270 - Identifier 1172271 1172282 - AmpersandAmpersandToken 1172283 1172286 - PrefixUnaryExpression 1172286 1172313 - PropertyAccessExpression 1172288 1172313 - Identifier 1172288 1172294 - Identifier 1172295 1172313 - QuestionToken 1172313 1172315 - CallExpression 1172315 1172431 - Identifier 1172315 1172339 - Identifier 1172340 1172354 - ArrowFunction 1172355 1172430 - Parameter 1172355 1172358 - Identifier 1172355 1172358 - EqualsGreaterThanToken 1172358 1172361 - CallExpression 1172361 1172430 - Identifier 1172361 1172366 - Identifier 1172367 1172382 - ArrowFunction 1172383 1172429 - Parameter 1172383 1172385 - Identifier 1172383 1172385 - EqualsGreaterThanToken 1172385 1172388 - CallExpression 1172388 1172429 - Identifier 1172388 1172422 - Identifier 1172423 1172425 - Identifier 1172426 1172428 - ColonToken 1172431 1172433 - Identifier 1172433 1172465 - ExpressionStatement 1172466 1172523 - BinaryExpression 1172466 1172522 - PropertyAccessExpression 1172466 1172505 - Identifier 1172466 1172485 - Identifier 1172486 1172505 - EqualsToken 1172505 1172507 - Identifier 1172507 1172522 - IfStatement 1172534 1176551 - PropertyAccessExpression 1172548 1172569 - Identifier 1172548 1172562 - Identifier 1172563 1172569 - Block 1172570 1176551 - VariableStatement 1172572 1172953 - VariableDeclarationList 1172572 1172952 - VariableDeclaration 1172895 1172952 - Identifier 1172895 1172910 - CallExpression 1172912 1172952 - Identifier 1172912 1172931 - PropertyAccessExpression 1172932 1172943 - Identifier 1172932 1172936 - Identifier 1172937 1172943 - Identifier 1172944 1172951 - VariableStatement 1172953 1173048 - VariableDeclarationList 1172953 1173047 - VariableDeclaration 1172972 1173047 - Identifier 1172972 1172986 - CallExpression 1172988 1173047 - Identifier 1172988 1172992 - Identifier 1172993 1173007 - ArrowFunction 1173008 1173046 - Parameter 1173008 1173010 - Identifier 1173008 1173010 - EqualsGreaterThanToken 1173010 1173013 - CallExpression 1173013 1173046 - Identifier 1173013 1173027 - Identifier 1173028 1173029 - Identifier 1173030 1173045 - VariableStatement 1173048 1173117 - VariableDeclarationList 1173048 1173116 - VariableDeclaration 1173067 1173116 - Identifier 1173067 1173082 - BinaryExpression 1173084 1173116 - Identifier 1173084 1173096 - BarBarToken 1173096 1173099 - PropertyAccessExpression 1173099 1173116 - Identifier 1173099 1173104 - Identifier 1173105 1173116 - VariableStatement 1173117 1173246 - VariableDeclarationList 1173117 1173245 - VariableDeclaration 1173136 1173245 - Identifier 1173136 1173158 - ConditionalExpression 1173160 1173245 - Identifier 1173160 1173172 - QuestionToken 1173172 1173174 - Identifier 1173174 1173193 - ColonToken 1173193 1173195 - CallExpression 1173195 1173245 - Identifier 1173195 1173212 - PropertyAccessExpression 1173213 1173236 - Identifier 1173213 1173217 - Identifier 1173218 1173236 - Identifier 1173237 1173244 - VariableStatement 1173246 1173418 - VariableDeclarationList 1173246 1173417 - VariableDeclaration 1173265 1173417 - Identifier 1173265 1173268 - BinaryExpression 1173270 1173417 - BinaryExpression 1173270 1173365 - ParenthesizedExpression 1173270 1173334 - ConditionalExpression 1173272 1173333 - BinaryExpression 1173272 1173322 - PropertyAccessExpression 1173272 1173288 - Identifier 1173272 1173276 - Identifier 1173277 1173288 - AmpersandToken 1173288 1173290 - PropertyAccessExpression 1173290 1173322 - Identifier 1173290 1173302 - Identifier 1173303 1173322 - QuestionToken 1173322 1173324 - StringLiteral 1173324 1173328 - ColonToken 1173328 1173330 - StringLiteral 1173330 1173333 - PlusToken 1173334 1173336 - CallExpression 1173336 1173365 - Identifier 1173336 1173350 - Identifier 1173351 1173364 - PlusToken 1173365 1173367 - CallExpression 1173367 1173417 - Identifier 1173367 1173378 - Identifier 1173379 1173393 - Identifier 1173394 1173416 - IfStatement 1173418 1173685 - PrefixUnaryExpression 1173436 1173458 - PropertyAccessExpression 1173437 1173458 - Identifier 1173437 1173443 - Identifier 1173444 1173458 - Block 1173459 1173685 - ExpressionStatement 1173461 1173527 - BinaryExpression 1173461 1173526 - PropertyAccessExpression 1173461 1173500 - Identifier 1173461 1173485 - Identifier 1173486 1173500 - EqualsToken 1173500 1173502 - NewExpression 1173502 1173526 - Identifier 1173506 1173510 - StringKeyword 1173511 1173517 - TypeReference 1173518 1173523 - Identifier 1173518 1173523 - ExpressionStatement 1173527 1173670 - CallExpression 1173527 1173669 - PropertyAccessExpression 1173527 1173570 - PropertyAccessExpression 1173527 1173566 - Identifier 1173527 1173551 - Identifier 1173552 1173566 - Identifier 1173567 1173570 - BinaryExpression 1173571 1173660 - CallExpression 1173571 1173600 - Identifier 1173571 1173584 - Identifier 1173585 1173599 - PlusToken 1173600 1173602 - CallExpression 1173602 1173660 - Identifier 1173602 1173613 - PropertyAccessExpression 1173614 1173632 - Identifier 1173614 1173620 - Identifier 1173621 1173632 - PropertyAccessExpression 1173633 1173659 - Identifier 1173633 1173640 - Identifier 1173641 1173659 - Identifier 1173661 1173668 - VariableStatement 1173685 1173742 - VariableDeclarationList 1173685 1173741 - VariableDeclaration 1173702 1173741 - Identifier 1173702 1173709 - CallExpression 1173711 1173741 - PropertyAccessExpression 1173711 1173737 - PropertyAccessExpression 1173711 1173733 - Identifier 1173711 1173718 - Identifier 1173719 1173733 - Identifier 1173734 1173737 - Identifier 1173738 1173740 - IfStatement 1173742 1176512 - PrefixUnaryExpression 1173760 1173767 - Identifier 1173761 1173767 - Block 1173768 1176512 - IfStatement 1173770 1174030 - BinaryExpression 1173792 1173842 - PropertyAccessExpression 1173792 1173808 - Identifier 1173792 1173796 - Identifier 1173797 1173808 - AmpersandToken 1173808 1173810 - PropertyAccessExpression 1173810 1173842 - Identifier 1173810 1173822 - Identifier 1173823 1173842 - Block 1173843 1174030 - ExpressionStatement 1173845 1173915 - BinaryExpression 1173845 1173914 - Identifier 1173845 1173873 - EqualsToken 1173873 1173875 - CallExpression 1173875 1173914 - Identifier 1173875 1173900 - Identifier 1173901 1173905 - Identifier 1173906 1173913 - ExpressionStatement 1173915 1173975 - CallExpression 1173915 1173974 - PropertyAccessExpression 1173915 1173962 - PropertyAccessExpression 1173915 1173958 - Identifier 1173915 1173943 - Identifier 1173944 1173958 - Identifier 1173959 1173962 - Identifier 1173963 1173965 - Identifier 1173966 1173973 - ReturnStatement 1173975 1174011 - Identifier 1174003 1174010 - VariableStatement 1174030 1174114 - VariableDeclarationList 1174030 1174113 - VariableDeclaration 1174053 1174113 - Identifier 1174053 1174063 - CallExpression 1174065 1174113 - Identifier 1174065 1174082 - Identifier 1174083 1174097 - Identifier 1174098 1174112 - ExpressionStatement 1174114 1174607 - BinaryExpression 1174114 1174606 - Identifier 1174114 1174138 - EqualsToken 1174138 1174140 - ConditionalExpression 1174140 1174606 - BinaryExpression 1174140 1174183 - PropertyAccessExpression 1174140 1174159 - Identifier 1174140 1174147 - Identifier 1174148 1174159 - AmpersandToken 1174159 1174161 - PropertyAccessExpression 1174161 1174183 - Identifier 1174161 1174173 - Identifier 1174174 1174183 - QuestionToken 1174183 1174185 - CallExpression 1174185 1174341 - Identifier 1174185 1174213 - PropertyAccessExpression 1174214 1174252 - ParenthesizedExpression 1174214 1174245 - AsExpression 1174215 1174244 - Identifier 1174215 1174219 - TypeReference 1174222 1174244 - Identifier 1174222 1174244 - Identifier 1174246 1174252 - PropertyAccessExpression 1174253 1174290 - ParenthesizedExpression 1174253 1174285 - AsExpression 1174255 1174284 - Identifier 1174255 1174259 - TypeReference 1174262 1174284 - Identifier 1174262 1174284 - Identifier 1174286 1174290 - Identifier 1174291 1174301 - Identifier 1174302 1174317 - Identifier 1174318 1174340 - ColonToken 1174341 1174343 - ConditionalExpression 1174343 1174606 - BinaryExpression 1174343 1174404 - PropertyAccessExpression 1174343 1174383 - Identifier 1174343 1174371 - Identifier 1174372 1174383 - AmpersandToken 1174383 1174385 - PropertyAccessExpression 1174385 1174404 - Identifier 1174385 1174397 - Identifier 1174398 1174404 - QuestionToken 1174404 1174406 - CallExpression 1174406 1174500 - Identifier 1174406 1174428 - AsExpression 1174429 1174449 - Identifier 1174429 1174435 - TypeReference 1174438 1174449 - Identifier 1174438 1174449 - Identifier 1174450 1174460 - Identifier 1174461 1174476 - Identifier 1174477 1174499 - ColonToken 1174500 1174502 - CallExpression 1174502 1174606 - Identifier 1174502 1174548 - Identifier 1174549 1174555 - Identifier 1174556 1174566 - Identifier 1174567 1174582 - Identifier 1174583 1174605 - ExpressionStatement 1174607 1174663 - CallExpression 1174607 1174662 - PropertyAccessExpression 1174607 1174650 - PropertyAccessExpression 1174607 1174646 - Identifier 1174607 1174631 - Identifier 1174632 1174646 - Identifier 1174647 1174650 - Identifier 1174651 1174653 - Identifier 1174654 1174661 - VariableStatement 1174663 1174856 - VariableDeclarationList 1174663 1174855 - VariableDeclaration 1174812 1174855 - Identifier 1174812 1174830 - CallExpression 1174832 1174855 - Identifier 1174832 1174847 - Identifier 1174848 1174854 - IfStatement 1174856 1176497 - BinaryExpression 1174878 1174990 - BinaryExpression 1174878 1174918 - PropertyAccessExpression 1174878 1174890 - Identifier 1174878 1174884 - Identifier 1174885 1174890 - AmpersandToken 1174890 1174892 - PropertyAccessExpression 1174892 1174918 - Identifier 1174892 1174902 - Identifier 1174903 1174918 - AmpersandAmpersandToken 1174918 1174921 - PrefixUnaryExpression 1174921 1174990 - ParenthesizedExpression 1174923 1174990 - BinaryExpression 1174924 1174989 - Identifier 1174924 1174941 - AmpersandToken 1174941 1174943 - PropertyAccessExpression 1174943 1174989 - Identifier 1174943 1174955 - Identifier 1174956 1174989 - Block 1174991 1176497 - VariableStatement 1174993 1175102 - VariableDeclarationList 1174993 1175101 - VariableDeclaration 1175020 1175101 - Identifier 1175020 1175052 - CallExpression 1175054 1175101 - Identifier 1175054 1175059 - Identifier 1175060 1175073 - Identifier 1175074 1175100 - IfStatement 1175102 1176478 - PrefixUnaryExpression 1175194 1175267 - ParenthesizedExpression 1175195 1175267 - BinaryExpression 1175196 1175266 - CallExpression 1175196 1175218 - Identifier 1175196 1175210 - Identifier 1175211 1175217 - AmpersandToken 1175218 1175220 - PropertyAccessExpression 1175220 1175266 - Identifier 1175220 1175232 - Identifier 1175233 1175266 - Block 1175268 1176478 - IfStatement 1175270 1176455 - BinaryExpression 1175530 1175618 - Identifier 1175530 1175547 - AmpersandToken 1175547 1175549 - ParenthesizedExpression 1175549 1175618 - BinaryExpression 1175551 1175617 - BinaryExpression 1175551 1175593 - PropertyAccessExpression 1175551 1175569 - Identifier 1175551 1175562 - Identifier 1175563 1175569 - BarToken 1175569 1175571 - PropertyAccessExpression 1175571 1175593 - Identifier 1175571 1175583 - Identifier 1175584 1175593 - BarToken 1175593 1175595 - PropertyAccessExpression 1175595 1175617 - Identifier 1175595 1175607 - Identifier 1175608 1175617 - Block 1175619 1175847 - ExpressionStatement 1175621 1175820 - BinaryExpression 1175621 1175819 - PropertyAccessExpression 1175621 1175690 - ParenthesizedExpression 1175621 1175678 - AsExpression 1175652 1175677 - Identifier 1175652 1175658 - TypeReference 1175661 1175677 - Identifier 1175661 1175677 - Identifier 1175679 1175690 - BarEqualsToken 1175690 1175693 - BinaryExpression 1175693 1175819 - PropertyAccessExpression 1175693 1175739 - Identifier 1175693 1175705 - Identifier 1175706 1175739 - BarToken 1175739 1175741 - ParenthesizedExpression 1175741 1175819 - ConditionalExpression 1175743 1175818 - Identifier 1175743 1175774 - QuestionToken 1175774 1175776 - PropertyAccessExpression 1175776 1175814 - Identifier 1175776 1175788 - Identifier 1175789 1175814 - ColonToken 1175814 1175816 - NumericLiteral 1175816 1175818 - Block 1176268 1176455 - ExpressionStatement 1176270 1176428 - BinaryExpression 1176270 1176427 - PropertyAccessExpression 1176270 1176339 - ParenthesizedExpression 1176270 1176327 - AsExpression 1176301 1176326 - Identifier 1176301 1176307 - TypeReference 1176310 1176326 - Identifier 1176310 1176326 - Identifier 1176328 1176339 - BarEqualsToken 1176339 1176342 - ConditionalExpression 1176342 1176427 - PrefixUnaryExpression 1176342 1176375 - Identifier 1176344 1176375 - QuestionToken 1176375 1176377 - PropertyAccessExpression 1176377 1176423 - Identifier 1176377 1176389 - Identifier 1176390 1176423 - ColonToken 1176423 1176425 - NumericLiteral 1176425 1176427 - ReturnStatement 1176512 1176540 - Identifier 1176532 1176539 - ReturnStatement 1176551 1176573 - Identifier 1176567 1176572 - FunctionDeclaration 1176580 1176981 - Identifier 1176596 1176624 - Parameter 1176625 1176635 - Identifier 1176625 1176629 - TypeReference 1176630 1176635 - Identifier 1176630 1176635 - Block 1176636 1176981 - ReturnStatement 1176638 1176974 - PrefixUnaryExpression 1176654 1176973 - ParenthesizedExpression 1176656 1176973 - BinaryExpression 1176657 1176972 - BinaryExpression 1176657 1176810 - BinaryExpression 1176657 1176754 - BinaryExpression 1176657 1176702 - PropertyAccessExpression 1176657 1176673 - PropertyAccessExpression 1176657 1176668 - Identifier 1176657 1176661 - Identifier 1176662 1176668 - Identifier 1176669 1176673 - EqualsEqualsEqualsToken 1176673 1176677 - PropertyAccessExpression 1176677 1176702 - Identifier 1176677 1176688 - Identifier 1176689 1176702 - AmpersandAmpersandToken 1176702 1176705 - PropertyAccessExpression 1176705 1176754 - ParenthesizedExpression 1176705 1176740 - AsExpression 1176707 1176739 - PropertyAccessExpression 1176707 1176718 - Identifier 1176707 1176711 - Identifier 1176712 1176718 - TypeReference 1176721 1176739 - Identifier 1176721 1176739 - Identifier 1176741 1176754 - AmpersandAmpersandToken 1176754 1176757 - BinaryExpression 1176757 1176810 - Identifier 1176757 1176762 - EqualsEqualsEqualsToken 1176762 1176766 - PropertyAccessExpression 1176766 1176810 - ParenthesizedExpression 1176766 1176801 - AsExpression 1176768 1176800 - PropertyAccessExpression 1176768 1176779 - Identifier 1176768 1176772 - Identifier 1176773 1176779 - TypeReference 1176782 1176800 - Identifier 1176782 1176800 - Identifier 1176802 1176810 - BarBarToken 1176810 1176813 - BinaryExpression 1176813 1176972 - BinaryExpression 1176813 1176918 - BinaryExpression 1176813 1176869 - PropertyAccessExpression 1176813 1176843 - PropertyAccessExpression 1176813 1176838 - Identifier 1176813 1176831 - Identifier 1176832 1176838 - Identifier 1176839 1176843 - EqualsEqualsEqualsToken 1176843 1176847 - PropertyAccessExpression 1176847 1176869 - Identifier 1176847 1176858 - Identifier 1176859 1176869 - AmpersandAmpersandToken 1176869 1176872 - PropertyAccessExpression 1176872 1176918 - ParenthesizedExpression 1176872 1176904 - AsExpression 1176874 1176903 - PropertyAccessExpression 1176874 1176885 - Identifier 1176874 1176878 - Identifier 1176879 1176885 - TypeReference 1176888 1176903 - Identifier 1176888 1176903 - Identifier 1176905 1176918 - AmpersandAmpersandToken 1176918 1176921 - BinaryExpression 1176921 1176972 - Identifier 1176921 1176926 - EqualsEqualsEqualsToken 1176926 1176930 - PropertyAccessExpression 1176930 1176972 - ParenthesizedExpression 1176930 1176962 - AsExpression 1176932 1176961 - PropertyAccessExpression 1176932 1176943 - Identifier 1176932 1176936 - Identifier 1176937 1176943 - TypeReference 1176946 1176961 - Identifier 1176946 1176961 - Identifier 1176963 1176972 - FunctionDeclaration 1176981 1180510 - Identifier 1176997 1177031 - Parameter 1177032 1177049 - Identifier 1177032 1177034 - TypeReference 1177035 1177049 - Identifier 1177035 1177049 - Parameter 1177050 1177061 - Identifier 1177050 1177055 - TypeReference 1177056 1177061 - Identifier 1177056 1177061 - Block 1177062 1180510 - IfStatement 1177064 1178008 - BinaryExpression 1177503 1177577 - BinaryExpression 1177503 1177538 - PropertyAccessExpression 1177503 1177512 - Identifier 1177503 1177505 - Identifier 1177506 1177512 - AmpersandAmpersandToken 1177512 1177515 - PropertyAccessExpression 1177515 1177538 - PropertyAccessExpression 1177515 1177525 - Identifier 1177515 1177518 - Identifier 1177519 1177525 - Identifier 1177526 1177538 - AmpersandAmpersandToken 1177538 1177541 - BinaryExpression 1177541 1177577 - PropertyAccessExpression 1177541 1177571 - PropertyAccessExpression 1177541 1177564 - PropertyAccessExpression 1177541 1177551 - Identifier 1177541 1177544 - Identifier 1177545 1177551 - Identifier 1177552 1177564 - Identifier 1177565 1177571 - EqualsEqualsEqualsToken 1177571 1177575 - NumericLiteral 1177575 1177577 - Block 1177578 1178008 - VariableStatement 1177580 1177645 - VariableDeclarationList 1177580 1177644 - VariableDeclaration 1177599 1177644 - Identifier 1177599 1177609 - PropertyAccessExpression 1177611 1177644 - ElementAccessExpression 1177611 1177637 - PropertyAccessExpression 1177611 1177634 - PropertyAccessExpression 1177611 1177621 - Identifier 1177611 1177614 - Identifier 1177615 1177621 - Identifier 1177622 1177634 - NumericLiteral 1177635 1177636 - Identifier 1177638 1177644 - ForStatement 1177645 1177952 - VariableDeclarationList 1177664 1177676 - VariableDeclaration 1177667 1177676 - Identifier 1177667 1177669 - Identifier 1177671 1177676 - BinaryExpression 1177677 1177693 - Identifier 1177677 1177679 - ExclamationEqualsEqualsToken 1177679 1177683 - Identifier 1177683 1177693 - BinaryExpression 1177694 1177707 - Identifier 1177694 1177696 - EqualsToken 1177696 1177698 - PropertyAccessExpression 1177698 1177707 - Identifier 1177698 1177700 - Identifier 1177701 1177707 - Block 1177708 1177952 - IfStatement 1177710 1177937 - BinaryExpression 1177732 1177881 - BinaryExpression 1177732 1177765 - PrefixUnaryExpression 1177732 1177734 - Identifier 1177733 1177734 - BarBarToken 1177734 1177737 - BinaryExpression 1177737 1177765 - PropertyAccessExpression 1177737 1177744 - Identifier 1177737 1177739 - Identifier 1177740 1177744 - EqualsEqualsEqualsToken 1177744 1177748 - PropertyAccessExpression 1177748 1177765 - Identifier 1177748 1177759 - Identifier 1177760 1177765 - BarBarToken 1177765 1177768 - BinaryExpression 1177768 1177881 - BinaryExpression 1177768 1177806 - PropertyAccessExpression 1177768 1177775 - Identifier 1177768 1177770 - Identifier 1177771 1177775 - EqualsEqualsEqualsToken 1177775 1177779 - PropertyAccessExpression 1177779 1177806 - Identifier 1177779 1177790 - Identifier 1177791 1177806 - AmpersandAmpersandToken 1177806 1177809 - CallExpression 1177809 1177881 - Identifier 1177809 1177822 - PropertyAccessExpression 1177823 1177861 - ParenthesizedExpression 1177823 1177849 - AsExpression 1177824 1177848 - Identifier 1177824 1177825 - TypeReference 1177828 1177848 - Identifier 1177828 1177848 - Identifier 1177850 1177861 - Identifier 1177862 1177880 - Block 1177882 1177937 - ReturnStatement 1177884 1177918 - TrueKeyword 1177912 1177917 - ReturnStatement 1177952 1177997 - CallExpression 1177972 1177996 - Identifier 1177972 1177990 - Identifier 1177991 1177995 - ReturnStatement 1178008 1178030 - TrueKeyword 1178024 1178029 - FunctionDeclaration 1178030 1180503 - Identifier 1178048 1178066 - Parameter 1178067 1178077 - Identifier 1178067 1178071 - TypeReference 1178072 1178077 - Identifier 1178072 1178077 - BooleanKeyword 1178079 1178087 - Block 1178087 1180503 - SwitchStatement 1178089 1180431 - PropertyAccessExpression 1178111 1178120 - Identifier 1178111 1178115 - Identifier 1178116 1178120 - CaseBlock 1178121 1180431 - CaseClause 1178123 1178211 - PropertyAccessExpression 1178145 1178165 - Identifier 1178145 1178156 - Identifier 1178157 1178165 - ReturnStatement 1178166 1178211 - PrefixUnaryExpression 1178194 1178210 - PrefixUnaryExpression 1178196 1178210 - PropertyAccessExpression 1178197 1178210 - Identifier 1178197 1178199 - Identifier 1178200 1178210 - CaseClause 1178211 1178442 - PropertyAccessExpression 1178233 1178255 - Identifier 1178233 1178244 - Identifier 1178245 1178255 - ReturnStatement 1178256 1178442 - BinaryExpression 1178284 1178441 - BinaryExpression 1178284 1178362 - BinaryExpression 1178284 1178325 - PrefixUnaryExpression 1178284 1178299 - PropertyAccessExpression 1178286 1178299 - Identifier 1178286 1178288 - Identifier 1178289 1178299 - AmpersandAmpersandToken 1178299 1178302 - CallExpression 1178302 1178325 - Identifier 1178302 1178319 - Identifier 1178320 1178324 - AmpersandAmpersandToken 1178325 1178328 - CallExpression 1178328 1178362 - Identifier 1178328 1178356 - Identifier 1178357 1178361 - AmpersandAmpersandToken 1178362 1178365 - BinaryExpression 1178365 1178441 - CallExpression 1178365 1178434 - Identifier 1178365 1178416 - AsExpression 1178417 1178433 - Identifier 1178417 1178421 - TypeReference 1178424 1178433 - Identifier 1178424 1178433 - EqualsEqualsEqualsToken 1178434 1178438 - Identifier 1178438 1178441 - CaseClause 1178442 1179870 - PropertyAccessExpression 1178517 1178538 - Identifier 1178517 1178528 - Identifier 1178529 1178538 - VariableStatement 1178539 1178613 - VariableDeclarationList 1178539 1178612 - VariableDeclaration 1178566 1178612 - Identifier 1178566 1178577 - PropertyAccessExpression 1178579 1178612 - ParenthesizedExpression 1178579 1178603 - AsExpression 1178581 1178602 - Identifier 1178581 1178585 - TypeReference 1178588 1178602 - Identifier 1178588 1178602 - Identifier 1178604 1178612 - VariableStatement 1178613 1178690 - VariableDeclarationList 1178613 1178689 - VariableDeclaration 1178640 1178689 - Identifier 1178640 1178656 - CallExpression 1178658 1178689 - Identifier 1178658 1178677 - Identifier 1178678 1178688 - IfStatement 1178690 1179836 - PrefixUnaryExpression 1178716 1178750 - CallExpression 1178717 1178750 - Identifier 1178717 1178733 - Identifier 1178734 1178749 - Block 1178751 1179836 - VariableStatement 1178753 1178888 - VariableDeclarationList 1178753 1178887 - VariableDeclaration 1178828 1178887 - Identifier 1178828 1178850 - CallExpression 1178852 1178887 - Identifier 1178852 1178870 - Identifier 1178871 1178886 - VariableStatement 1178888 1178963 - VariableDeclarationList 1178888 1178962 - VariableDeclaration 1178919 1178962 - Identifier 1178919 1178933 - ElementAccessExpression 1178935 1178962 - NonNullExpression 1178935 1178959 - PropertyAccessExpression 1178935 1178958 - PropertyAccessExpression 1178935 1178945 - Identifier 1178935 1178938 - Identifier 1178939 1178945 - Identifier 1178946 1178958 - NumericLiteral 1178960 1178961 - VariableStatement 1178963 1179400 - VariableDeclarationList 1178963 1179399 - VariableDeclaration 1179075 1179399 - Identifier 1179075 1179083 - ConditionalExpression 1179085 1179399 - BinaryExpression 1179085 1179133 - PropertyAccessExpression 1179085 1179104 - Identifier 1179085 1179099 - Identifier 1179100 1179104 - EqualsEqualsEqualsToken 1179104 1179108 - PropertyAccessExpression 1179108 1179133 - Identifier 1179108 1179119 - Identifier 1179120 1179133 - QuestionToken 1179133 1179135 - PropertyAccessExpression 1179135 1179156 - Identifier 1179135 1179149 - Identifier 1179150 1179156 - ColonToken 1179156 1179158 - ConditionalExpression 1179158 1179399 - PropertyAccessExpression 1179158 1179260 - Identifier 1179158 1179249 - Identifier 1179250 1179260 - QuestionToken 1179260 1179262 - Identifier 1179262 1179276 - ColonToken 1179276 1179278 - Identifier 1179278 1179399 - IfStatement 1179400 1179813 - BinaryExpression 1179514 1179559 - PropertyAccessExpression 1179514 1179548 - Identifier 1179514 1179535 - Identifier 1179536 1179548 - AmpersandAmpersandToken 1179548 1179551 - Identifier 1179551 1179559 - Block 1179560 1179813 - ReturnStatement 1179562 1179786 - BinaryExpression 1179598 1179785 - CallExpression 1179598 1179686 - Identifier 1179598 1179603 - PropertyAccessExpression 1179604 1179638 - Identifier 1179604 1179625 - Identifier 1179626 1179638 - ArrowFunction 1179639 1179685 - Parameter 1179639 1179646 - Identifier 1179639 1179646 - EqualsGreaterThanToken 1179646 1179649 - CallExpression 1179649 1179685 - Identifier 1179649 1179668 - Identifier 1179669 1179675 - Identifier 1179676 1179684 - BarBarToken 1179686 1179689 - CallExpression 1179689 1179785 - Identifier 1179689 1179727 - PropertyAccessExpression 1179728 1179765 - ParenthesizedExpression 1179728 1179751 - AsExpression 1179729 1179750 - Identifier 1179729 1179733 - TypeReference 1179736 1179750 - Identifier 1179736 1179750 - Identifier 1179752 1179765 - Identifier 1179766 1179784 - ReturnStatement 1179836 1179870 - TrueKeyword 1179864 1179869 - CaseClause 1179870 1179922 - PropertyAccessExpression 1179892 1179921 - Identifier 1179892 1179903 - Identifier 1179904 1179921 - CaseClause 1179922 1180416 - PropertyAccessExpression 1179944 1179971 - Identifier 1179944 1179955 - Identifier 1179956 1179971 - ReturnStatement 1179972 1180416 - BinaryExpression 1180000 1180415 - BinaryExpression 1180000 1180284 - BinaryExpression 1180000 1180186 - BinaryExpression 1180000 1180084 - PrefixUnaryExpression 1180000 1180040 - PropertyAccessExpression 1180002 1180040 - ParenthesizedExpression 1180002 1180035 - AsExpression 1180003 1180034 - Identifier 1180003 1180007 - TypeReference 1180010 1180034 - Identifier 1180010 1180034 - Identifier 1180036 1180040 - AmpersandAmpersandToken 1180040 1180043 - PrefixUnaryExpression 1180043 1180084 - PrefixUnaryExpression 1180045 1180084 - PropertyAccessExpression 1180046 1180084 - ParenthesizedExpression 1180046 1180079 - AsExpression 1180047 1180078 - Identifier 1180047 1180051 - TypeReference 1180054 1180078 - Identifier 1180054 1180078 - Identifier 1180080 1180084 - BarBarToken 1180084 1180087 - CallExpression 1180087 1180186 - Identifier 1180087 1180117 - PropertyAccessExpression 1180118 1180166 - ParenthesizedExpression 1180118 1180151 - AsExpression 1180119 1180150 - Identifier 1180119 1180123 - TypeReference 1180126 1180150 - Identifier 1180126 1180150 - Identifier 1180152 1180166 - Identifier 1180167 1180185 - BarBarToken 1180186 1180189 - CallExpression 1180189 1180284 - Identifier 1180189 1180219 - PropertyAccessExpression 1180220 1180264 - ParenthesizedExpression 1180220 1180253 - AsExpression 1180221 1180252 - Identifier 1180221 1180225 - TypeReference 1180228 1180252 - Identifier 1180228 1180252 - Identifier 1180254 1180264 - Identifier 1180265 1180283 - BarBarToken 1180284 1180287 - BinaryExpression 1180287 1180415 - PrefixUnaryExpression 1180287 1180353 - PrefixUnaryExpression 1180314 1180353 - PropertyAccessExpression 1180315 1180353 - ParenthesizedExpression 1180315 1180348 - AsExpression 1180316 1180347 - Identifier 1180316 1180320 - TypeReference 1180323 1180347 - Identifier 1180323 1180347 - Identifier 1180349 1180353 - AmpersandAmpersandToken 1180353 1180356 - CallExpression 1180356 1180415 - Identifier 1180356 1180374 - NonNullExpression 1180375 1180414 - PropertyAccessExpression 1180375 1180413 - ParenthesizedExpression 1180375 1180408 - AsExpression 1180376 1180407 - Identifier 1180376 1180380 - TypeReference 1180383 1180407 - Identifier 1180383 1180407 - Identifier 1180409 1180413 - ReturnStatement 1180431 1180492 - PrefixUnaryExpression 1180451 1180491 - PrefixUnaryExpression 1180453 1180491 - CallExpression 1180454 1180491 - Identifier 1180454 1180466 - Identifier 1180467 1180471 - Identifier 1180472 1180490 - FunctionDeclaration 1180510 1180972 - Identifier 1180526 1180553 - Parameter 1180554 1180570 - Identifier 1180554 1180558 - TypeReference 1180559 1180570 - Identifier 1180559 1180570 - Block 1180571 1180972 - VariableStatement 1180573 1180644 - VariableDeclarationList 1180573 1180643 - VariableDeclaration 1180588 1180643 - Identifier 1180588 1180603 - CallExpression 1180605 1180643 - Identifier 1180605 1180637 - Identifier 1180638 1180642 - IfStatement 1180644 1180938 - BinaryExpression 1180658 1180696 - PropertyAccessExpression 1180658 1180678 - Identifier 1180658 1180672 - Identifier 1180673 1180678 - AmpersandToken 1180678 1180680 - PropertyAccessExpression 1180680 1180696 - Identifier 1180680 1180690 - Identifier 1180691 1180696 - Block 1180697 1180938 - VariableStatement 1180699 1180792 - VariableDeclarationList 1180699 1180791 - VariableDeclaration 1180718 1180791 - Identifier 1180718 1180731 - CallExpression 1180733 1180791 - Identifier 1180733 1180755 - PropertyAccessExpression 1180756 1180790 - ParenthesizedExpression 1180756 1180785 - AsExpression 1180757 1180784 - Identifier 1180757 1180771 - TypeReference 1180774 1180784 - Identifier 1180774 1180784 - Identifier 1180786 1180790 - IfStatement 1180792 1180927 - BinaryExpression 1180810 1180854 - PropertyAccessExpression 1180810 1180828 - Identifier 1180810 1180822 - Identifier 1180823 1180828 - AmpersandToken 1180828 1180830 - PropertyAccessExpression 1180830 1180854 - Identifier 1180830 1180840 - Identifier 1180841 1180854 - Block 1180855 1180927 - ReturnStatement 1180857 1180912 - AsExpression 1180881 1180911 - Identifier 1180881 1180894 - TypeReference 1180897 1180911 - Identifier 1180897 1180911 - ReturnStatement 1180938 1180965 - Identifier 1180954 1180964 - FunctionDeclaration 1180972 1184150 - Identifier 1180988 1181010 - Parameter 1181011 1181027 - Identifier 1181011 1181015 - TypeReference 1181016 1181027 - Identifier 1181016 1181027 - Parameter 1181028 1181047 - Identifier 1181028 1181035 - TypeReference 1181036 1181047 - Identifier 1181036 1181047 - Parameter 1181048 1181069 - Identifier 1181048 1181060 - QuestionToken 1181060 1181061 - TypeReference 1181062 1181069 - Identifier 1181062 1181069 - Parameter 1181070 1181107 - Identifier 1181070 1181089 - QuestionToken 1181089 1181090 - TypeOperator 1181091 1181107 - ArrayType 1181100 1181107 - TypeReference 1181100 1181105 - Identifier 1181100 1181105 - TypeReference 1181109 1181114 - Identifier 1181109 1181114 - Block 1181114 1184150 - VariableStatement 1181116 1182187 - VariableDeclarationList 1181116 1182186 - VariableDeclaration 1182138 1182186 - Identifier 1182138 1182151 - CallExpression 1182153 1182186 - Identifier 1182153 1182180 - Identifier 1182181 1182185 - IfStatement 1182187 1182512 - Identifier 1182201 1182213 - Block 1182214 1182512 - VariableStatement 1182216 1182295 - VariableDeclarationList 1182216 1182294 - VariableDeclaration 1182235 1182294 - Identifier 1182235 1182254 - CallExpression 1182256 1182294 - Identifier 1182256 1182272 - Identifier 1182273 1182285 - Identifier 1182286 1182293 - IfStatement 1182295 1182501 - BinaryExpression 1182313 1182348 - Identifier 1182313 1182325 - ExclamationEqualsEqualsToken 1182325 1182329 - Identifier 1182329 1182348 - Block 1182349 1182501 - ReturnStatement 1182351 1182486 - CallExpression 1182375 1182485 - Identifier 1182375 1182392 - CallExpression 1182393 1182427 - Identifier 1182393 1182407 - Identifier 1182408 1182426 - Identifier 1182428 1182451 - Identifier 1182452 1182464 - Identifier 1182465 1182484 - ReturnStatement 1182512 1182802 - ConditionalExpression 1182632 1182801 - BinaryExpression 1182632 1182712 - CallExpression 1182632 1182695 - Identifier 1182632 1182648 - CallExpression 1182649 1182686 - Identifier 1182649 1182680 - Identifier 1182681 1182685 - Identifier 1182687 1182694 - EqualsEqualsEqualsToken 1182695 1182699 - Identifier 1182699 1182712 - QuestionToken 1182712 1182714 - Identifier 1182714 1182727 - ColonToken 1182727 1182729 - CallExpression 1182729 1182801 - Identifier 1182729 1182754 - Identifier 1182755 1182759 - Identifier 1182760 1182767 - Identifier 1182768 1182780 - Identifier 1182781 1182800 - FunctionDeclaration 1182802 1184143 - Identifier 1182822 1182845 - Parameter 1182846 1182853 - Identifier 1182846 1182847 - TypeReference 1182848 1182853 - Identifier 1182848 1182853 - TypeReference 1182855 1182860 - Identifier 1182855 1182860 - Block 1182860 1184143 - IfStatement 1182862 1184109 - BinaryExpression 1182880 1183036 - BinaryExpression 1182880 1183017 - BinaryExpression 1182880 1182995 - PropertyAccessExpression 1182880 1182887 - Identifier 1182880 1182881 - Identifier 1182882 1182887 - AmpersandToken 1182887 1182889 - ParenthesizedExpression 1182889 1182995 - BinaryExpression 1182891 1182994 - BinaryExpression 1182891 1182969 - BinaryExpression 1182891 1182950 - PropertyAccessExpression 1182891 1182913 - Identifier 1182891 1182900 - Identifier 1182901 1182913 - BarToken 1182913 1182915 - PropertyAccessExpression 1182915 1182950 - Identifier 1182915 1182925 - Identifier 1182926 1182950 - BarToken 1182950 1182952 - PropertyAccessExpression 1182952 1182969 - Identifier 1182952 1182962 - Identifier 1182963 1182969 - BarToken 1182969 1182971 - PropertyAccessExpression 1182971 1182994 - Identifier 1182971 1182981 - Identifier 1182982 1182994 - AmpersandAmpersandToken 1182995 1182998 - BinaryExpression 1182998 1183017 - Identifier 1182998 1183000 - ExclamationEqualsEqualsToken 1183000 1183004 - Identifier 1183004 1183017 - AmpersandAmpersandToken 1183017 1183020 - PrefixUnaryExpression 1183020 1183036 - CallExpression 1183022 1183036 - Identifier 1183022 1183033 - Identifier 1183034 1183035 - Block 1183037 1184109 - IfStatement 1183039 1183992 - PrefixUnaryExpression 1183061 1183087 - PropertyAccessExpression 1183062 1183087 - PropertyAccessExpression 1183062 1183078 - Identifier 1183062 1183066 - Identifier 1183067 1183078 - Identifier 1183079 1183087 - Block 1183088 1183992 - VariableStatement 1183090 1183127 - VariableDeclarationList 1183090 1183126 - VariableDeclaration 1183115 1183126 - Identifier 1183115 1183126 - IfStatement 1183127 1183619 - BinaryExpression 1183153 1183456 - CallExpression 1183153 1183193 - Identifier 1183153 1183190 - Identifier 1183191 1183192 - BarBarToken 1183193 1183196 - BinaryExpression 1183196 1183456 - BinaryExpression 1183196 1183411 - BinaryExpression 1183196 1183320 - BinaryExpression 1183196 1183220 - PropertyAccessExpression 1183196 1183204 - Identifier 1183196 1183198 - Identifier 1183199 1183204 - AmpersandToken 1183204 1183206 - PropertyAccessExpression 1183206 1183220 - Identifier 1183206 1183216 - Identifier 1183217 1183220 - AmpersandAmpersandToken 1183220 1183223 - BinaryExpression 1183223 1183320 - CallExpression 1183223 1183316 - Identifier 1183223 1183253 - NonNullExpression 1183254 1183267 - Identifier 1183254 1183266 - PropertyAccessExpression 1183268 1183315 - Identifier 1183268 1183291 - Identifier 1183292 1183315 - LessThanToken 1183316 1183318 - NumericLiteral 1183318 1183320 - AmpersandAmpersandToken 1183320 1183323 - ParenthesizedExpression 1183323 1183411 - BinaryExpression 1183354 1183410 - Identifier 1183354 1183364 - EqualsToken 1183364 1183366 - CallExpression 1183366 1183410 - Identifier 1183366 1183395 - NonNullExpression 1183396 1183409 - Identifier 1183396 1183408 - AmpersandAmpersandToken 1183411 1183414 - CallExpression 1183414 1183456 - Identifier 1183414 1183424 - Identifier 1183425 1183435 - Identifier 1183436 1183455 - Block 1183479 1183619 - ReturnStatement 1183481 1183596 - CallExpression 1183513 1183595 - Identifier 1183513 1183540 - Identifier 1183541 1183542 - Identifier 1183543 1183548 - CallExpression 1183549 1183594 - Identifier 1183549 1183568 - NonNullExpression 1183569 1183582 - Identifier 1183569 1183581 - Identifier 1183583 1183585 - Identifier 1183586 1183593 - IfStatement 1183619 1183777 - CallExpression 1183645 1183659 - Identifier 1183645 1183656 - Identifier 1183657 1183658 - Block 1183660 1183777 - ReturnStatement 1183662 1183754 - CallExpression 1183694 1183753 - Identifier 1183694 1183721 - Identifier 1183722 1183723 - Identifier 1183724 1183729 - NonNullExpression 1183730 1183744 - Identifier 1183730 1183743 - Identifier 1183745 1183752 - IfStatement 1183777 1183973 - CallExpression 1183803 1183834 - Identifier 1183803 1183831 - Identifier 1183832 1183833 - Block 1183835 1183973 - ReturnStatement 1183837 1183950 - CallExpression 1183869 1183949 - Identifier 1183869 1183889 - CallExpression 1183890 1183948 - Identifier 1183890 1183893 - PropertyAccessExpression 1183894 1183923 - ParenthesizedExpression 1183894 1183917 - AsExpression 1183895 1183916 - Identifier 1183895 1183896 - TypeReference 1183899 1183916 - Identifier 1183899 1183916 - Identifier 1183918 1183923 - Identifier 1183924 1183947 - ReturnStatement 1183992 1184094 - CallExpression 1184016 1184093 - Identifier 1184016 1184041 - Identifier 1184042 1184046 - CallExpression 1184047 1184092 - Identifier 1184047 1184066 - NonNullExpression 1184067 1184080 - Identifier 1184067 1184079 - Identifier 1184081 1184083 - Identifier 1184084 1184091 - ReturnStatement 1184109 1184132 - Identifier 1184129 1184131 - FunctionDeclaration 1184150 1184386 - Identifier 1184166 1184191 - Parameter 1184192 1184206 - Identifier 1184192 1184197 - BooleanKeyword 1184198 1184206 - Parameter 1184207 1184238 - Identifier 1184207 1184217 - TypeReference 1184218 1184238 - Identifier 1184218 1184238 - Block 1184239 1184386 - ReturnStatement 1184241 1184379 - ConditionalExpression 1184257 1184378 - BinaryExpression 1184257 1184305 - Identifier 1184257 1184267 - AmpersandToken 1184267 1184269 - PropertyAccessExpression 1184269 1184305 - Identifier 1184269 1184289 - Identifier 1184290 1184305 - QuestionToken 1184305 1184307 - TrueKeyword 1184307 1184312 - ColonToken 1184312 1184314 - ConditionalExpression 1184314 1184378 - BinaryExpression 1184314 1184362 - Identifier 1184314 1184324 - AmpersandToken 1184324 1184326 - PropertyAccessExpression 1184326 1184362 - Identifier 1184326 1184346 - Identifier 1184347 1184362 - QuestionToken 1184362 1184364 - FalseKeyword 1184364 1184370 - ColonToken 1184370 1184372 - Identifier 1184372 1184378 - FunctionDeclaration 1184386 1186752 - Identifier 1184402 1184429 - Parameter 1184430 1184459 - Identifier 1184430 1184439 - TypeReference 1184440 1184459 - Identifier 1184440 1184459 - Parameter 1184460 1184483 - Identifier 1184460 1184471 - TypeReference 1184472 1184483 - Identifier 1184472 1184483 - Parameter 1184484 1184511 - Identifier 1184484 1184497 - TypeReference 1184498 1184511 - Identifier 1184498 1184511 - Parameter 1184512 1184531 - Identifier 1184512 1184519 - TypeReference 1184520 1184531 - Identifier 1184520 1184531 - Block 1184532 1186752 - VariableStatement 1184534 1185301 - VariableDeclarationList 1184534 1185300 - VariableDeclaration 1185255 1185300 - Identifier 1185255 1185268 - PropertyAccessExpression 1185270 1185300 - PropertyAccessExpression 1185270 1185287 - Identifier 1185270 1185280 - Identifier 1185281 1185287 - Identifier 1185288 1185300 - VariableStatement 1185301 1185360 - VariableDeclarationList 1185301 1185359 - VariableDeclaration 1185316 1185359 - Identifier 1185316 1185328 - PropertyAccessExpression 1185330 1185359 - PropertyAccessExpression 1185330 1185347 - Identifier 1185330 1185340 - Identifier 1185341 1185347 - Identifier 1185348 1185359 - VariableStatement 1185360 1185465 - VariableDeclarationList 1185360 1185464 - VariableDeclaration 1185375 1185464 - Identifier 1185375 1185387 - ConditionalExpression 1185389 1185464 - Identifier 1185389 1185401 - QuestionToken 1185401 1185403 - CallExpression 1185403 1185455 - Identifier 1185403 1185422 - Identifier 1185423 1185435 - Identifier 1185436 1185446 - Identifier 1185447 1185454 - ColonToken 1185455 1185457 - Identifier 1185457 1185464 - VariableStatement 1185465 1186042 - VariableDeclarationList 1185465 1186041 - VariableDeclaration 1185480 1186041 - Identifier 1185480 1185496 - CallExpression 1185498 1186041 - Identifier 1185498 1185502 - CallExpression 1185503 1185529 - Identifier 1185503 1185518 - Identifier 1185519 1185528 - ArrowFunction 1185530 1186040 - Parameter 1185532 1185536 - Identifier 1185532 1185536 - Parameter 1185537 1185539 - Identifier 1185537 1185539 - EqualsGreaterThanToken 1185540 1185543 - Block 1185543 1186040 - VariableStatement 1185545 1185589 - VariableDeclarationList 1185545 1185588 - VariableDeclaration 1185564 1185588 - Identifier 1185564 1185570 - ElementAccessExpression 1185572 1185588 - Identifier 1185572 1185585 - Identifier 1185586 1185587 - ReturnStatement 1185589 1186029 - ConditionalExpression 1185609 1186028 - BinaryExpression 1185609 1185625 - Identifier 1185609 1185611 - LessThanToken 1185611 1185613 - Identifier 1185613 1185625 - QuestionToken 1185625 1185627 - CallExpression 1185627 1185747 - Identifier 1185627 1185657 - Identifier 1185658 1185668 - CallExpression 1185669 1185698 - Identifier 1185669 1185690 - BinaryExpression 1185691 1185697 - StringLiteral 1185691 1185693 - PlusToken 1185693 1185695 - Identifier 1185695 1185697 - PrefixUnaryExpression 1185699 1185733 - PrefixUnaryExpression 1185701 1185733 - ParenthesizedExpression 1185702 1185733 - BinaryExpression 1185703 1185732 - Identifier 1185703 1185708 - AmpersandToken 1185708 1185710 - PropertyAccessExpression 1185710 1185732 - Identifier 1185710 1185723 - Identifier 1185724 1185732 - Identifier 1185734 1185746 - ColonToken 1185747 1185749 - ConditionalExpression 1185749 1186028 - BinaryExpression 1185749 1185796 - Identifier 1185749 1185772 - AmpersandToken 1185772 1185774 - PropertyAccessExpression 1185774 1185796 - Identifier 1185774 1185787 - Identifier 1185788 1185796 - QuestionToken 1185796 1185798 - CallExpression 1185798 1185874 - Identifier 1185798 1185814 - Identifier 1185815 1185825 - CallExpression 1185826 1185873 - Identifier 1185826 1185845 - Identifier 1185846 1185858 - Identifier 1185859 1185864 - Identifier 1185865 1185872 - ColonToken 1185874 1185876 - BinaryExpression 1185876 1186028 - CallExpression 1185876 1186013 - Identifier 1185876 1185919 - CallExpression 1185920 1186012 - Identifier 1185920 1185935 - Identifier 1185936 1185946 - CallExpression 1185947 1186011 - Identifier 1185947 1185966 - Identifier 1185967 1185979 - CallExpression 1185980 1186002 - Identifier 1185980 1185996 - Identifier 1185997 1186001 - Identifier 1186003 1186010 - QuestionQuestionToken 1186013 1186016 - Identifier 1186016 1186028 - VariableStatement 1186042 1186105 - VariableDeclarationList 1186042 1186104 - VariableDeclaration 1186057 1186104 - Identifier 1186057 1186067 - CallExpression 1186069 1186104 - Identifier 1186069 1186092 - Identifier 1186093 1186103 - VariableStatement 1186105 1186438 - VariableDeclarationList 1186105 1186437 - VariableDeclaration 1186120 1186437 - Identifier 1186120 1186136 - ConditionalExpression 1186138 1186437 - BinaryExpression 1186138 1186186 - Identifier 1186138 1186148 - AmpersandToken 1186148 1186150 - PropertyAccessExpression 1186150 1186186 - Identifier 1186150 1186170 - Identifier 1186171 1186186 - QuestionToken 1186186 1186188 - CallExpression 1186188 1186266 - Identifier 1186188 1186192 - Identifier 1186193 1186205 - ArrowFunction 1186206 1186265 - Parameter 1186206 1186208 - Identifier 1186206 1186208 - EqualsGreaterThanToken 1186208 1186211 - ConditionalExpression 1186211 1186265 - BinaryExpression 1186211 1186237 - Identifier 1186211 1186213 - AmpersandToken 1186213 1186215 - PropertyAccessExpression 1186215 1186237 - Identifier 1186215 1186228 - Identifier 1186229 1186237 - QuestionToken 1186237 1186239 - PropertyAccessExpression 1186239 1186261 - Identifier 1186239 1186252 - Identifier 1186253 1186261 - ColonToken 1186261 1186263 - Identifier 1186263 1186265 - ColonToken 1186266 1186268 - ConditionalExpression 1186268 1186437 - BinaryExpression 1186268 1186329 - Identifier 1186268 1186291 - AmpersandToken 1186291 1186293 - PropertyAccessExpression 1186293 1186329 - Identifier 1186293 1186313 - Identifier 1186314 1186329 - QuestionToken 1186329 1186331 - CallExpression 1186331 1186409 - Identifier 1186331 1186335 - Identifier 1186336 1186348 - ArrowFunction 1186349 1186408 - Parameter 1186349 1186351 - Identifier 1186349 1186351 - EqualsGreaterThanToken 1186351 1186354 - ConditionalExpression 1186354 1186408 - BinaryExpression 1186354 1186380 - Identifier 1186354 1186356 - AmpersandToken 1186356 1186358 - PropertyAccessExpression 1186358 1186380 - Identifier 1186358 1186371 - Identifier 1186372 1186380 - QuestionToken 1186380 1186382 - PropertyAccessExpression 1186382 1186404 - Identifier 1186382 1186395 - Identifier 1186396 1186404 - ColonToken 1186404 1186406 - Identifier 1186406 1186408 - ColonToken 1186409 1186411 - Identifier 1186411 1186437 - VariableStatement 1186438 1186556 - VariableDeclarationList 1186438 1186555 - VariableDeclaration 1186453 1186555 - Identifier 1186453 1186465 - CallExpression 1186467 1186555 - Identifier 1186467 1186492 - PropertyAccessExpression 1186493 1186518 - PropertyAccessExpression 1186493 1186509 - Identifier 1186493 1186502 - Identifier 1186503 1186509 - Identifier 1186510 1186518 - CallExpression 1186519 1186554 - Identifier 1186519 1186542 - Identifier 1186543 1186553 - ReturnStatement 1186556 1186745 - ConditionalExpression 1186572 1186744 - CallExpression 1186572 1186609 - Identifier 1186572 1186581 - Identifier 1186582 1186597 - Identifier 1186598 1186608 - QuestionToken 1186609 1186611 - Identifier 1186611 1186621 - ColonToken 1186621 1186623 - CallExpression 1186623 1186744 - Identifier 1186623 1186652 - Identifier 1186653 1186668 - Identifier 1186669 1186685 - Identifier 1186686 1186698 - PropertyAccessExpression 1186699 1186743 - PropertyAccessExpression 1186699 1186716 - Identifier 1186699 1186709 - Identifier 1186710 1186716 - Identifier 1186717 1186743 - FunctionDeclaration 1186752 1187170 - Identifier 1186768 1186795 - Parameter 1186796 1186811 - Identifier 1186796 1186805 - TypeReference 1186806 1186811 - Identifier 1186806 1186811 - Parameter 1186812 1186835 - Identifier 1186812 1186823 - TypeReference 1186824 1186835 - Identifier 1186824 1186835 - Parameter 1186836 1186855 - Identifier 1186836 1186843 - TypeReference 1186844 1186855 - Identifier 1186844 1186855 - Block 1186856 1187170 - VariableStatement 1186858 1186971 - VariableDeclarationList 1186858 1186970 - VariableDeclaration 1186873 1186970 - Identifier 1186873 1186885 - CallExpression 1186887 1186970 - Identifier 1186887 1186917 - Identifier 1186918 1186928 - Identifier 1186929 1186940 - TrueKeyword 1186941 1186961 - Identifier 1186962 1186969 - ReturnStatement 1186971 1187163 - ConditionalExpression 1186987 1187162 - CallExpression 1186987 1187012 - Identifier 1186987 1186999 - Identifier 1187000 1187011 - QuestionToken 1187012 1187014 - Identifier 1187014 1187024 - ColonToken 1187024 1187026 - CallExpression 1187026 1187162 - Identifier 1187026 1187055 - Identifier 1187056 1187067 - CallExpression 1187068 1187161 - Identifier 1187068 1187093 - CallExpression 1187094 1187124 - Identifier 1187094 1187113 - Identifier 1187114 1187123 - CallExpression 1187125 1187160 - Identifier 1187125 1187148 - Identifier 1187149 1187159 - FunctionDeclaration 1187170 1187954 - Identifier 1187186 1187216 - Parameter 1187217 1187233 - Identifier 1187217 1187221 - TypeReference 1187222 1187233 - Identifier 1187222 1187233 - Parameter 1187234 1187244 - Identifier 1187234 1187238 - TypeReference 1187239 1187244 - Identifier 1187239 1187244 - Parameter 1187245 1187265 - Identifier 1187245 1187256 - BooleanKeyword 1187257 1187265 - Parameter 1187266 1187285 - Identifier 1187266 1187273 - TypeReference 1187274 1187285 - Identifier 1187274 1187285 - Block 1187286 1187954 - VariableStatement 1187288 1187390 - VariableDeclarationList 1187288 1187389 - VariableDeclaration 1187303 1187389 - Identifier 1187303 1187318 - CallExpression 1187320 1187389 - Identifier 1187320 1187338 - Identifier 1187339 1187345 - CallExpression 1187346 1187383 - Identifier 1187346 1187377 - Identifier 1187378 1187382 - Identifier 1187384 1187388 - VariableStatement 1187390 1187515 - VariableDeclarationList 1187390 1187514 - VariableDeclaration 1187405 1187514 - Identifier 1187405 1187414 - CallExpression 1187416 1187514 - Identifier 1187416 1187432 - CallExpression 1187433 1187497 - Identifier 1187433 1187462 - BinaryExpression 1187463 1187496 - AsExpression 1187463 1187488 - PropertyAccessExpression 1187463 1187474 - Identifier 1187463 1187467 - Identifier 1187468 1187474 - TypeReference 1187477 1187488 - Identifier 1187477 1187488 - BarBarToken 1187488 1187491 - Identifier 1187491 1187496 - Identifier 1187498 1187513 - VariableStatement 1187515 1187572 - VariableDeclarationList 1187515 1187571 - VariableDeclaration 1187530 1187571 - Identifier 1187530 1187540 - CallExpression 1187542 1187571 - Identifier 1187542 1187565 - Identifier 1187566 1187570 - ReturnStatement 1187572 1187947 - ConditionalExpression 1187588 1187946 - BinaryExpression 1187588 1187724 - BinaryExpression 1187588 1187656 - Identifier 1187588 1187605 - AmpersandAmpersandToken 1187605 1187608 - BinaryExpression 1187608 1187656 - Identifier 1187608 1187618 - AmpersandToken 1187618 1187620 - PropertyAccessExpression 1187620 1187656 - Identifier 1187620 1187640 - Identifier 1187641 1187656 - AmpersandAmpersandToken 1187656 1187659 - PrefixUnaryExpression 1187659 1187724 - CallExpression 1187661 1187724 - Identifier 1187661 1187676 - Identifier 1187677 1187685 - BinaryExpression 1187686 1187723 - PropertyAccessExpression 1187686 1187706 - Identifier 1187686 1187696 - Identifier 1187697 1187706 - BarToken 1187706 1187708 - PropertyAccessExpression 1187708 1187723 - Identifier 1187708 1187718 - Identifier 1187719 1187723 - QuestionToken 1187724 1187726 - CallExpression 1187726 1187773 - Identifier 1187726 1187742 - Identifier 1187743 1187751 - TrueKeyword 1187752 1187772 - ColonToken 1187773 1187775 - ConditionalExpression 1187775 1187946 - BinaryExpression 1187775 1187870 - BinaryExpression 1187775 1187856 - Identifier 1187775 1187805 - AmpersandAmpersandToken 1187805 1187808 - BinaryExpression 1187808 1187856 - Identifier 1187808 1187818 - AmpersandToken 1187818 1187820 - PropertyAccessExpression 1187820 1187856 - Identifier 1187820 1187840 - Identifier 1187841 1187856 - AmpersandAmpersandToken 1187856 1187859 - Identifier 1187859 1187870 - QuestionToken 1187870 1187872 - CallExpression 1187872 1187922 - Identifier 1187872 1187889 - Identifier 1187890 1187898 - PropertyAccessExpression 1187899 1187921 - Identifier 1187899 1187909 - Identifier 1187910 1187921 - ColonToken 1187922 1187924 - Identifier 1187924 1187946 - FunctionDeclaration 1187954 1189788 - Identifier 1187970 1187995 - Parameter 1187996 1188015 - Identifier 1187996 1188000 - TypeReference 1188001 1188015 - Identifier 1188001 1188015 - Parameter 1188016 1188035 - Identifier 1188016 1188023 - TypeReference 1188024 1188035 - Identifier 1188024 1188035 - Parameter 1188036 1188057 - Identifier 1188036 1188048 - QuestionToken 1188048 1188049 - TypeReference 1188050 1188057 - Identifier 1188050 1188057 - Parameter 1188058 1188095 - Identifier 1188058 1188077 - QuestionToken 1188077 1188078 - TypeOperator 1188079 1188095 - ArrayType 1188088 1188095 - TypeReference 1188088 1188093 - Identifier 1188088 1188093 - TypeReference 1188097 1188111 - Identifier 1188097 1188111 - Block 1188111 1189788 - ExpressionStatement 1188113 1188203 - CallExpression 1188113 1188202 - PropertyAccessExpression 1188113 1188135 - Identifier 1188113 1188128 - Identifier 1188129 1188135 - PropertyAccessExpression 1188136 1188147 - Identifier 1188136 1188140 - Identifier 1188141 1188147 - StringLiteral 1188148 1188201 - VariableStatement 1188203 1188411 - VariableDeclarationList 1188203 1188410 - VariableDeclaration 1188218 1188410 - Identifier 1188218 1188225 - AsExpression 1188227 1188410 - CallExpression 1188227 1188393 - Identifier 1188227 1188244 - BinaryExpression 1188245 1188379 - BinaryExpression 1188245 1188352 - PropertyAccessExpression 1188245 1188261 - Identifier 1188245 1188249 - Identifier 1188250 1188261 - AmpersandToken 1188261 1188263 - PrefixUnaryExpression 1188263 1188352 - ParenthesizedExpression 1188265 1188352 - BinaryExpression 1188266 1188351 - PropertyAccessExpression 1188266 1188311 - Identifier 1188266 1188277 - Identifier 1188278 1188311 - BarToken 1188311 1188313 - PropertyAccessExpression 1188313 1188351 - Identifier 1188313 1188325 - Identifier 1188326 1188351 - BarToken 1188352 1188354 - PropertyAccessExpression 1188354 1188379 - Identifier 1188354 1188366 - Identifier 1188367 1188379 - PropertyAccessExpression 1188380 1188392 - Identifier 1188380 1188385 - Identifier 1188386 1188392 - TypeReference 1188396 1188410 - Identifier 1188396 1188410 - IfStatement 1188411 1189003 - BinaryExpression 1188425 1188462 - PropertyAccessExpression 1188425 1188441 - Identifier 1188425 1188429 - Identifier 1188430 1188441 - AmpersandToken 1188441 1188443 - PropertyAccessExpression 1188443 1188462 - Identifier 1188443 1188455 - Identifier 1188456 1188462 - Block 1188463 1189003 - ExpressionStatement 1188465 1188549 - BinaryExpression 1188465 1188548 - PropertyAccessExpression 1188465 1188513 - ParenthesizedExpression 1188465 1188501 - AsExpression 1188480 1188500 - Identifier 1188480 1188486 - TypeReference 1188489 1188500 - Identifier 1188489 1188500 - Identifier 1188502 1188513 - EqualsToken 1188513 1188515 - PropertyAccessExpression 1188515 1188548 - ParenthesizedExpression 1188515 1188536 - AsExpression 1188517 1188535 - Identifier 1188517 1188521 - TypeReference 1188524 1188535 - Identifier 1188524 1188535 - Identifier 1188537 1188548 - VariableStatement 1188549 1188682 - VariableDeclarationList 1188549 1188681 - VariableDeclaration 1188610 1188681 - Identifier 1188610 1188628 - CallExpression 1188630 1188681 - Identifier 1188630 1188661 - AsExpression 1188662 1188680 - Identifier 1188662 1188666 - TypeReference 1188669 1188680 - Identifier 1188669 1188680 - VariableStatement 1188682 1188761 - VariableDeclarationList 1188682 1188760 - VariableDeclaration 1188701 1188760 - Identifier 1188701 1188720 - CallExpression 1188722 1188760 - Identifier 1188722 1188741 - Identifier 1188742 1188759 - ExpressionStatement 1188761 1188833 - BinaryExpression 1188761 1188832 - PropertyAccessExpression 1188761 1188811 - ParenthesizedExpression 1188761 1188797 - AsExpression 1188776 1188796 - Identifier 1188776 1188782 - TypeReference 1188785 1188796 - Identifier 1188785 1188796 - Identifier 1188798 1188811 - EqualsToken 1188811 1188813 - Identifier 1188813 1188832 - ExpressionStatement 1188833 1188943 - BinaryExpression 1188833 1188942 - Identifier 1188833 1188853 - EqualsToken 1188853 1188855 - CallExpression 1188855 1188942 - Identifier 1188855 1188874 - CallExpression 1188875 1188933 - Identifier 1188875 1188894 - Identifier 1188895 1188912 - Identifier 1188913 1188932 - Identifier 1188934 1188941 - ExpressionStatement 1188943 1188992 - BinaryExpression 1188943 1188991 - PropertyAccessExpression 1188943 1188982 - Identifier 1188943 1188975 - Identifier 1188976 1188982 - EqualsToken 1188982 1188984 - Identifier 1188984 1188991 - IfStatement 1189003 1189193 - BinaryExpression 1189017 1189075 - PropertyAccessExpression 1189017 1189033 - Identifier 1189017 1189021 - Identifier 1189022 1189033 - AmpersandToken 1189033 1189035 - PropertyAccessExpression 1189035 1189075 - Identifier 1189035 1189047 - Identifier 1189048 1189075 - Block 1189076 1189193 - ExpressionStatement 1189078 1189182 - BinaryExpression 1189078 1189181 - PropertyAccessExpression 1189078 1189136 - ParenthesizedExpression 1189078 1189131 - AsExpression 1189093 1189130 - Identifier 1189093 1189099 - TypeReference 1189102 1189130 - Identifier 1189102 1189130 - Identifier 1189132 1189136 - EqualsToken 1189136 1189138 - PropertyAccessExpression 1189138 1189181 - ParenthesizedExpression 1189138 1189176 - AsExpression 1189140 1189175 - Identifier 1189140 1189144 - TypeReference 1189147 1189175 - Identifier 1189147 1189175 - Identifier 1189177 1189181 - IfStatement 1189193 1189389 - BinaryExpression 1189207 1189257 - PropertyAccessExpression 1189207 1189223 - Identifier 1189207 1189211 - Identifier 1189212 1189223 - AmpersandToken 1189223 1189225 - PropertyAccessExpression 1189225 1189257 - Identifier 1189225 1189237 - Identifier 1189238 1189257 - Block 1189258 1189389 - ExpressionStatement 1189260 1189378 - BinaryExpression 1189260 1189377 - PropertyAccessExpression 1189260 1189325 - ParenthesizedExpression 1189260 1189305 - AsExpression 1189275 1189304 - Identifier 1189275 1189281 - TypeReference 1189284 1189304 - Identifier 1189284 1189304 - Identifier 1189306 1189325 - EqualsToken 1189325 1189327 - PropertyAccessExpression 1189327 1189377 - ParenthesizedExpression 1189327 1189357 - AsExpression 1189329 1189356 - Identifier 1189329 1189333 - TypeReference 1189336 1189356 - Identifier 1189336 1189356 - Identifier 1189358 1189377 - ExpressionStatement 1189389 1189420 - BinaryExpression 1189389 1189419 - PropertyAccessExpression 1189389 1189412 - Identifier 1189389 1189405 - Identifier 1189406 1189412 - EqualsToken 1189412 1189414 - Identifier 1189414 1189419 - ExpressionStatement 1189420 1189453 - BinaryExpression 1189420 1189452 - PropertyAccessExpression 1189420 1189443 - Identifier 1189420 1189436 - Identifier 1189437 1189443 - EqualsToken 1189443 1189445 - Identifier 1189445 1189452 - ExpressionStatement 1189453 1189516 - BinaryExpression 1189453 1189515 - PropertyAccessExpression 1189453 1189481 - Identifier 1189453 1189469 - Identifier 1189470 1189481 - EqualsToken 1189481 1189483 - BinaryExpression 1189483 1189515 - Identifier 1189483 1189495 - BarBarToken 1189495 1189498 - PropertyAccessExpression 1189498 1189515 - Identifier 1189498 1189503 - Identifier 1189504 1189515 - ExpressionStatement 1189516 1189639 - BinaryExpression 1189516 1189638 - PropertyAccessExpression 1189516 1189551 - Identifier 1189516 1189532 - Identifier 1189533 1189551 - EqualsToken 1189551 1189553 - ConditionalExpression 1189553 1189638 - Identifier 1189553 1189565 - QuestionToken 1189565 1189567 - Identifier 1189567 1189586 - ColonToken 1189586 1189588 - CallExpression 1189588 1189638 - Identifier 1189588 1189605 - PropertyAccessExpression 1189606 1189629 - Identifier 1189606 1189610 - Identifier 1189611 1189629 - Identifier 1189630 1189637 - ExpressionStatement 1189639 1189757 - BinaryExpression 1189639 1189756 - PropertyAccessExpression 1189639 1189667 - Identifier 1189639 1189655 - Identifier 1189656 1189667 - BarEqualsToken 1189667 1189670 - ConditionalExpression 1189670 1189756 - PropertyAccessExpression 1189670 1189696 - Identifier 1189670 1189677 - Identifier 1189678 1189696 - QuestionToken 1189696 1189698 - CallExpression 1189698 1189752 - Identifier 1189698 1189725 - PropertyAccessExpression 1189726 1189751 - Identifier 1189726 1189732 - Identifier 1189733 1189751 - ColonToken 1189752 1189754 - NumericLiteral 1189754 1189756 - ReturnStatement 1189757 1189781 - Identifier 1189773 1189780 - FunctionDeclaration 1189788 1191795 - Identifier 1189804 1189836 - Parameter 1189837 1189858 - Identifier 1189837 1189841 - TypeReference 1189842 1189858 - Identifier 1189842 1189858 - Parameter 1189859 1189878 - Identifier 1189859 1189866 - TypeReference 1189867 1189878 - Identifier 1189867 1189878 - Parameter 1189879 1189902 - Identifier 1189879 1189893 - BooleanKeyword 1189894 1189902 - Parameter 1189903 1189924 - Identifier 1189903 1189915 - QuestionToken 1189915 1189916 - TypeReference 1189917 1189924 - Identifier 1189917 1189924 - Parameter 1189925 1189962 - Identifier 1189925 1189944 - QuestionToken 1189944 1189945 - TypeOperator 1189946 1189962 - ArrayType 1189955 1189962 - TypeReference 1189955 1189960 - Identifier 1189955 1189960 - TypeReference 1189964 1189969 - Identifier 1189964 1189969 - Block 1189969 1191795 - VariableStatement 1189971 1190004 - VariableDeclarationList 1189971 1190003 - VariableDeclaration 1189986 1190003 - Identifier 1189986 1189991 - PropertyAccessExpression 1189993 1190003 - Identifier 1189993 1189998 - Identifier 1189999 1190003 - IfStatement 1190004 1191766 - PropertyAccessExpression 1190018 1190042 - Identifier 1190018 1190022 - Identifier 1190023 1190042 - Block 1190043 1191766 - VariableStatement 1190045 1190447 - VariableDeclarationList 1190045 1190446 - VariableDeclaration 1190369 1190446 - Identifier 1190369 1190383 - CallExpression 1190385 1190446 - Identifier 1190385 1190389 - PropertyAccessExpression 1190390 1190414 - Identifier 1190390 1190394 - Identifier 1190395 1190414 - ArrowFunction 1190415 1190445 - Parameter 1190415 1190417 - Identifier 1190415 1190417 - EqualsGreaterThanToken 1190417 1190420 - CallExpression 1190420 1190445 - Identifier 1190420 1190434 - Identifier 1190435 1190436 - Identifier 1190437 1190444 - VariableStatement 1190447 1190576 - VariableDeclarationList 1190447 1190575 - VariableDeclaration 1190466 1190575 - Identifier 1190466 1190469 - BinaryExpression 1190471 1190575 - BinaryExpression 1190471 1190529 - ParenthesizedExpression 1190471 1190498 - ConditionalExpression 1190473 1190497 - Identifier 1190473 1190486 - QuestionToken 1190486 1190488 - StringLiteral 1190488 1190492 - ColonToken 1190492 1190494 - StringLiteral 1190494 1190497 - PlusToken 1190498 1190500 - CallExpression 1190500 1190529 - Identifier 1190500 1190514 - Identifier 1190515 1190528 - PlusToken 1190529 1190531 - CallExpression 1190531 1190575 - Identifier 1190531 1190542 - Identifier 1190543 1190554 - Identifier 1190555 1190574 - VariableStatement 1190576 1190632 - VariableDeclarationList 1190576 1190631 - VariableDeclaration 1190593 1190631 - Identifier 1190593 1190600 - CallExpression 1190602 1190631 - PropertyAccessExpression 1190602 1190627 - NonNullExpression 1190602 1190623 - PropertyAccessExpression 1190602 1190622 - Identifier 1190602 1190607 - Identifier 1190608 1190622 - Identifier 1190624 1190627 - Identifier 1190628 1190630 - IfStatement 1190632 1191727 - PrefixUnaryExpression 1190650 1190657 - Identifier 1190651 1190657 - Block 1190658 1191727 - VariableStatement 1190660 1190754 - VariableDeclarationList 1190660 1190753 - VariableDeclaration 1190683 1190753 - Identifier 1190683 1190693 - CallExpression 1190695 1190753 - Identifier 1190695 1190712 - PropertyAccessExpression 1190713 1190737 - Identifier 1190713 1190717 - Identifier 1190718 1190737 - Identifier 1190738 1190752 - VariableStatement 1190754 1190805 - VariableDeclarationList 1190754 1190804 - VariableDeclaration 1190777 1190804 - Identifier 1190777 1190787 - PropertyAccessExpression 1190789 1190804 - Identifier 1190789 1190794 - Identifier 1190795 1190804 - VariableStatement 1190805 1190934 - VariableDeclarationList 1190805 1190933 - VariableDeclaration 1190828 1190933 - Identifier 1190828 1190845 - ConditionalExpression 1190847 1190933 - PropertyAccessExpression 1190847 1190867 - Identifier 1190847 1190852 - Identifier 1190853 1190867 - QuestionToken 1190867 1190869 - CallExpression 1190869 1190921 - Identifier 1190869 1190884 - CallExpression 1190885 1190920 - Identifier 1190885 1190898 - Identifier 1190899 1190908 - Identifier 1190909 1190919 - ColonToken 1190921 1190923 - Identifier 1190923 1190933 - ExpressionStatement 1190934 1191657 - BinaryExpression 1190934 1191656 - Identifier 1190934 1191250 - EqualsToken 1191250 1191252 - ConditionalExpression 1191252 1191656 - BinaryExpression 1191252 1191367 - BinaryExpression 1191252 1191303 - Identifier 1191252 1191269 - AmpersandAmpersandToken 1191269 1191272 - BinaryExpression 1191272 1191303 - Identifier 1191272 1191282 - ExclamationEqualsEqualsToken 1191282 1191286 - Identifier 1191286 1191303 - AmpersandAmpersandToken 1191303 1191306 - BinaryExpression 1191306 1191367 - PropertyAccessExpression 1191306 1191329 - Identifier 1191306 1191323 - Identifier 1191324 1191329 - AmpersandToken 1191329 1191331 - ParenthesizedExpression 1191331 1191367 - BinaryExpression 1191333 1191366 - PropertyAccessExpression 1191333 1191348 - Identifier 1191333 1191342 - Identifier 1191343 1191348 - BarToken 1191348 1191350 - PropertyAccessExpression 1191350 1191366 - Identifier 1191350 1191360 - Identifier 1191361 1191366 - QuestionToken 1191367 1191369 - CallExpression 1191369 1191549 - Identifier 1191369 1191407 - Identifier 1191408 1191424 - ArrowFunction 1191425 1191515 - Parameter 1191425 1191427 - Identifier 1191425 1191427 - EqualsGreaterThanToken 1191427 1191430 - CallExpression 1191430 1191515 - Identifier 1191430 1191449 - Identifier 1191450 1191454 - CallExpression 1191455 1191499 - Identifier 1191455 1191474 - Identifier 1191475 1191484 - Identifier 1191485 1191487 - Identifier 1191488 1191498 - Identifier 1191500 1191514 - Identifier 1191516 1191528 - Identifier 1191529 1191548 - ColonToken 1191549 1191551 - CallExpression 1191551 1191656 - Identifier 1191551 1191591 - Identifier 1191592 1191596 - Identifier 1191597 1191607 - Identifier 1191608 1191622 - Identifier 1191623 1191635 - Identifier 1191636 1191655 - ExpressionStatement 1191657 1191712 - CallExpression 1191657 1191711 - PropertyAccessExpression 1191657 1191699 - NonNullExpression 1191657 1191695 - PropertyAccessExpression 1191657 1191694 - Identifier 1191657 1191679 - Identifier 1191680 1191694 - Identifier 1191696 1191699 - Identifier 1191700 1191702 - Identifier 1191703 1191710 - ReturnStatement 1191727 1191755 - Identifier 1191747 1191754 - ReturnStatement 1191766 1191788 - Identifier 1191782 1191787 - FunctionDeclaration 1191795 1191878 - Identifier 1191811 1191827 - Parameter 1191828 1191838 - Identifier 1191828 1191832 - TypeReference 1191833 1191838 - Identifier 1191833 1191838 - Parameter 1191839 1191870 - Identifier 1191839 1191846 - UnionType 1191847 1191870 - TypeReference 1191847 1191858 - Identifier 1191847 1191858 - UndefinedKeyword 1191860 1191870 - TypeReference 1191872 1191877 - Identifier 1191872 1191877 - FunctionDeclaration 1191878 1191983 - Identifier 1191892 1191908 - Parameter 1191909 1191931 - Identifier 1191909 1191913 - UnionType 1191914 1191931 - TypeReference 1191914 1191919 - Identifier 1191914 1191919 - UndefinedKeyword 1191921 1191931 - Parameter 1191932 1191963 - Identifier 1191932 1191939 - UnionType 1191940 1191963 - TypeReference 1191940 1191951 - Identifier 1191940 1191951 - UndefinedKeyword 1191953 1191963 - UnionType 1191965 1191982 - TypeReference 1191965 1191970 - Identifier 1191965 1191970 - UndefinedKeyword 1191972 1191982 - FunctionDeclaration 1191983 1192237 - Identifier 1191997 1192013 - Parameter 1192014 1192036 - Identifier 1192014 1192018 - UnionType 1192019 1192036 - TypeReference 1192019 1192024 - Identifier 1192019 1192024 - UndefinedKeyword 1192026 1192036 - Parameter 1192037 1192068 - Identifier 1192037 1192044 - UnionType 1192045 1192068 - TypeReference 1192045 1192056 - Identifier 1192045 1192056 - UndefinedKeyword 1192058 1192068 - UnionType 1192070 1192087 - TypeReference 1192070 1192075 - Identifier 1192070 1192075 - UndefinedKeyword 1192077 1192087 - Block 1192087 1192237 - ReturnStatement 1192089 1192230 - ConditionalExpression 1192105 1192229 - BinaryExpression 1192105 1192120 - Identifier 1192105 1192110 - AmpersandAmpersandToken 1192110 1192113 - Identifier 1192113 1192120 - QuestionToken 1192120 1192122 - CallExpression 1192122 1192222 - Identifier 1192122 1192147 - Identifier 1192148 1192152 - Identifier 1192153 1192160 - Identifier 1192161 1192187 - Identifier 1192188 1192221 - ColonToken 1192222 1192224 - Identifier 1192224 1192229 - FunctionDeclaration 1192237 1193478 - Identifier 1192253 1192278 - Parameter 1192279 1192289 - Identifier 1192279 1192283 - TypeReference 1192284 1192289 - Identifier 1192284 1192289 - Parameter 1192290 1192309 - Identifier 1192290 1192297 - TypeReference 1192298 1192309 - Identifier 1192298 1192309 - Parameter 1192310 1192342 - Identifier 1192310 1192322 - UnionType 1192323 1192342 - TypeReference 1192323 1192330 - Identifier 1192323 1192330 - UndefinedKeyword 1192332 1192342 - Parameter 1192343 1192391 - Identifier 1192343 1192362 - UnionType 1192363 1192391 - TypeOperator 1192363 1192379 - ArrayType 1192372 1192379 - TypeReference 1192372 1192377 - Identifier 1192372 1192377 - UndefinedKeyword 1192381 1192391 - TypeReference 1192393 1192398 - Identifier 1192393 1192398 - Block 1192398 1193478 - IfStatement 1192400 1192486 - PrefixUnaryExpression 1192414 1192446 - CallExpression 1192415 1192446 - Identifier 1192415 1192440 - Identifier 1192441 1192445 - Block 1192447 1192486 - ReturnStatement 1192449 1192475 - Identifier 1192469 1192474 - IfStatement 1192486 1193224 - BinaryExpression 1192500 1192559 - BinaryExpression 1192500 1192526 - Identifier 1192500 1192518 - EqualsEqualsEqualsToken 1192518 1192522 - NumericLiteral 1192522 1192526 - BarBarToken 1192526 1192529 - BinaryExpression 1192529 1192559 - Identifier 1192529 1192548 - GreaterThanEqualsToken 1192548 1192551 - NumericLiteral 1192551 1192559 - Block 1192560 1193224 - ExpressionStatement 1192562 1193075 - CallExpression 1192562 1193074 - PropertyAccessExpression 1192562 1192957 - Identifier 1192562 1192948 - QuestionDotToken 1192948 1192950 - Identifier 1192950 1192957 - PropertyAccessExpression 1192958 1192982 - PropertyAccessExpression 1192958 1192971 - Identifier 1192958 1192965 - Identifier 1192966 1192971 - Identifier 1192972 1192982 - StringLiteral 1192983 1193012 - ObjectLiteralExpression 1193013 1193073 - PropertyAssignment 1193015 1193031 - Identifier 1193015 1193022 - PropertyAccessExpression 1193023 1193031 - Identifier 1193023 1193028 - Identifier 1193029 1193031 - ShorthandPropertyAssignment 1193032 1193051 - Identifier 1193032 1193051 - ShorthandPropertyAssignment 1193052 1193071 - Identifier 1193052 1193071 - ExpressionStatement 1193075 1193182 - CallExpression 1193075 1193181 - Identifier 1193075 1193094 - Identifier 1193095 1193106 - PropertyAccessExpression 1193107 1193180 - Identifier 1193107 1193119 - Identifier 1193120 1193180 - ReturnStatement 1193182 1193213 - Identifier 1193202 1193212 - ExpressionStatement 1193224 1193260 - PostfixUnaryExpression 1193224 1193259 - Identifier 1193224 1193257 - ExpressionStatement 1193260 1193291 - PostfixUnaryExpression 1193260 1193290 - Identifier 1193260 1193288 - ExpressionStatement 1193291 1193322 - PostfixUnaryExpression 1193291 1193321 - Identifier 1193291 1193319 - VariableStatement 1193322 1193416 - VariableDeclarationList 1193322 1193415 - VariableDeclaration 1193337 1193415 - Identifier 1193337 1193344 - CallExpression 1193346 1193415 - Identifier 1193346 1193368 - Identifier 1193369 1193373 - Identifier 1193374 1193381 - Identifier 1193382 1193394 - Identifier 1193395 1193414 - ExpressionStatement 1193416 1193447 - PostfixUnaryExpression 1193416 1193446 - Identifier 1193416 1193444 - ReturnStatement 1193447 1193471 - Identifier 1193463 1193470 - FunctionDeclaration 1193478 1198552 - Identifier 1193494 1193516 - Parameter 1193517 1193527 - Identifier 1193517 1193521 - TypeReference 1193522 1193527 - Identifier 1193522 1193527 - Parameter 1193528 1193547 - Identifier 1193528 1193535 - TypeReference 1193536 1193547 - Identifier 1193536 1193547 - Parameter 1193548 1193580 - Identifier 1193548 1193560 - UnionType 1193561 1193580 - TypeReference 1193561 1193568 - Identifier 1193561 1193568 - UndefinedKeyword 1193570 1193580 - Parameter 1193581 1193629 - Identifier 1193581 1193600 - UnionType 1193601 1193629 - TypeOperator 1193601 1193617 - ArrayType 1193610 1193617 - TypeReference 1193610 1193615 - Identifier 1193610 1193615 - UndefinedKeyword 1193619 1193629 - TypeReference 1193631 1193636 - Identifier 1193631 1193636 - Block 1193636 1198552 - VariableStatement 1193638 1193673 - VariableDeclarationList 1193638 1193672 - VariableDeclaration 1193653 1193672 - Identifier 1193653 1193659 - PropertyAccessExpression 1193661 1193672 - Identifier 1193661 1193666 - Identifier 1193667 1193672 - IfStatement 1193673 1193781 - BinaryExpression 1193687 1193718 - Identifier 1193687 1193692 - AmpersandToken 1193692 1193694 - PropertyAccessExpression 1193694 1193718 - Identifier 1193694 1193704 - Identifier 1193705 1193718 - Block 1193719 1193781 - ReturnStatement 1193721 1193770 - CallExpression 1193741 1193769 - Identifier 1193741 1193755 - Identifier 1193756 1193760 - Identifier 1193761 1193768 - IfStatement 1193781 1194831 - BinaryExpression 1193795 1193819 - Identifier 1193795 1193800 - AmpersandToken 1193800 1193802 - PropertyAccessExpression 1193802 1193819 - Identifier 1193802 1193812 - Identifier 1193813 1193819 - Block 1193820 1194831 - VariableStatement 1193822 1193889 - VariableDeclarationList 1193822 1193888 - VariableDeclaration 1193841 1193888 - Identifier 1193841 1193853 - PropertyAccessExpression 1193855 1193888 - ParenthesizedExpression 1193855 1193876 - AsExpression 1193857 1193875 - Identifier 1193857 1193861 - TypeReference 1193864 1193875 - Identifier 1193864 1193875 - Identifier 1193877 1193888 - IfStatement 1193889 1194794 - BinaryExpression 1193907 1193989 - Identifier 1193907 1193918 - AmpersandToken 1193918 1193920 - ParenthesizedExpression 1193920 1193989 - BinaryExpression 1193922 1193988 - BinaryExpression 1193922 1193967 - PropertyAccessExpression 1193922 1193943 - Identifier 1193922 1193933 - Identifier 1193934 1193943 - BarToken 1193943 1193945 - PropertyAccessExpression 1193945 1193967 - Identifier 1193945 1193957 - Identifier 1193958 1193967 - BarToken 1193967 1193969 - PropertyAccessExpression 1193969 1193988 - Identifier 1193969 1193981 - Identifier 1193982 1193988 - Block 1193990 1194794 - IfStatement 1193992 1194458 - BinaryExpression 1194014 1194082 - BinaryExpression 1194014 1194049 - Identifier 1194014 1194025 - AmpersandToken 1194025 1194027 - PropertyAccessExpression 1194027 1194049 - Identifier 1194027 1194039 - Identifier 1194040 1194049 - AmpersandAmpersandToken 1194049 1194052 - PrefixUnaryExpression 1194052 1194082 - PropertyAccessExpression 1194054 1194082 - ParenthesizedExpression 1194054 1194077 - AsExpression 1194055 1194076 - Identifier 1194055 1194059 - TypeReference 1194062 1194076 - Identifier 1194062 1194076 - Identifier 1194078 1194082 - Block 1194083 1194458 - VariableStatement 1194085 1194183 - VariableDeclarationList 1194085 1194182 - VariableDeclaration 1194112 1194182 - Identifier 1194112 1194134 - PropertyAccessExpression 1194136 1194182 - ParenthesizedExpression 1194136 1194160 - AsExpression 1194138 1194159 - Identifier 1194138 1194142 - TypeReference 1194145 1194159 - Identifier 1194145 1194159 - Identifier 1194161 1194182 - VariableStatement 1194183 1194278 - VariableDeclarationList 1194183 1194277 - VariableDeclaration 1194210 1194277 - Identifier 1194210 1194227 - CallExpression 1194229 1194277 - Identifier 1194229 1194246 - Identifier 1194247 1194268 - Identifier 1194269 1194276 - ReturnStatement 1194278 1194439 - ConditionalExpression 1194306 1194438 - BinaryExpression 1194306 1194349 - Identifier 1194306 1194323 - ExclamationEqualsEqualsToken 1194323 1194327 - Identifier 1194327 1194349 - QuestionToken 1194349 1194351 - CallExpression 1194351 1194431 - Identifier 1194351 1194381 - PropertyAccessExpression 1194382 1194412 - ParenthesizedExpression 1194382 1194405 - AsExpression 1194383 1194404 - Identifier 1194383 1194387 - TypeReference 1194390 1194404 - Identifier 1194390 1194404 - Identifier 1194406 1194412 - Identifier 1194413 1194430 - ColonToken 1194431 1194433 - Identifier 1194433 1194438 - IfStatement 1194458 1194634 - BinaryExpression 1194480 1194519 - Identifier 1194480 1194491 - AmpersandToken 1194491 1194493 - PropertyAccessExpression 1194493 1194519 - Identifier 1194493 1194505 - Identifier 1194506 1194519 - Block 1194520 1194634 - ReturnStatement 1194522 1194615 - CallExpression 1194550 1194614 - Identifier 1194550 1194579 - AsExpression 1194580 1194605 - Identifier 1194580 1194584 - TypeReference 1194587 1194605 - Identifier 1194587 1194605 - Identifier 1194606 1194613 - ReturnStatement 1194634 1194779 - CallExpression 1194658 1194778 - Identifier 1194658 1194685 - AsExpression 1194686 1194736 - Identifier 1194686 1194690 - UnionType 1194693 1194736 - TypeReference 1194693 1194707 - Identifier 1194693 1194707 - TypeReference 1194709 1194723 - Identifier 1194709 1194723 - TypeReference 1194725 1194736 - Identifier 1194725 1194736 - Identifier 1194737 1194744 - Identifier 1194745 1194757 - Identifier 1194758 1194777 - ReturnStatement 1194794 1194820 - Identifier 1194814 1194819 - IfStatement 1194831 1195865 - BinaryExpression 1194845 1194882 - Identifier 1194845 1194850 - AmpersandToken 1194850 1194852 - PropertyAccessExpression 1194852 1194882 - Identifier 1194852 1194862 - Identifier 1194863 1194882 - Block 1194883 1195865 - VariableStatement 1194885 1194984 - VariableDeclarationList 1194885 1194983 - VariableDeclaration 1194904 1194983 - Identifier 1194904 1194911 - ConditionalExpression 1194913 1194983 - BinaryExpression 1194913 1194942 - PropertyAccessExpression 1194913 1194924 - Identifier 1194913 1194918 - Identifier 1194919 1194924 - AmpersandToken 1194924 1194926 - PropertyAccessExpression 1194926 1194942 - Identifier 1194926 1194936 - Identifier 1194937 1194942 - QuestionToken 1194942 1194944 - PropertyAccessExpression 1194944 1194971 - ParenthesizedExpression 1194944 1194964 - AsExpression 1194946 1194963 - Identifier 1194946 1194950 - TypeReference 1194953 1194963 - Identifier 1194953 1194963 - Identifier 1194965 1194971 - ColonToken 1194971 1194973 - Identifier 1194973 1194983 - VariableStatement 1194984 1195153 - VariableDeclarationList 1194984 1195152 - VariableDeclaration 1195003 1195152 - Identifier 1195003 1195009 - ConditionalExpression 1195011 1195152 - BinaryExpression 1195011 1195066 - Identifier 1195011 1195018 - AmpersandAmpersandToken 1195018 1195021 - BinaryExpression 1195021 1195066 - PropertyAccessExpression 1195021 1195034 - Identifier 1195021 1195028 - Identifier 1195029 1195034 - AmpersandToken 1195034 1195036 - PropertyAccessExpression 1195036 1195066 - Identifier 1195036 1195046 - Identifier 1195047 1195066 - QuestionToken 1195066 1195068 - PropertyAccessExpression 1195068 1195110 - ParenthesizedExpression 1195068 1195104 - AsExpression 1195070 1195103 - Identifier 1195070 1195076 - TypeReference 1195079 1195103 - Identifier 1195079 1195103 - Identifier 1195105 1195110 - ColonToken 1195110 1195112 - PropertyAccessExpression 1195112 1195152 - ParenthesizedExpression 1195112 1195146 - AsExpression 1195114 1195145 - Identifier 1195114 1195118 - TypeReference 1195121 1195145 - Identifier 1195121 1195145 - Identifier 1195147 1195152 - VariableStatement 1195153 1195216 - VariableDeclarationList 1195153 1195215 - VariableDeclaration 1195172 1195215 - Identifier 1195172 1195181 - CallExpression 1195183 1195215 - Identifier 1195183 1195200 - Identifier 1195201 1195206 - Identifier 1195207 1195214 - IfStatement 1195216 1195336 - BinaryExpression 1195234 1195288 - BinaryExpression 1195234 1195252 - Identifier 1195234 1195242 - EqualsEqualsEqualsToken 1195242 1195246 - Identifier 1195246 1195252 - AmpersandAmpersandToken 1195252 1195255 - BinaryExpression 1195255 1195288 - Identifier 1195255 1195267 - EqualsEqualsEqualsToken 1195267 1195271 - PropertyAccessExpression 1195271 1195288 - Identifier 1195271 1195276 - Identifier 1195277 1195288 - Block 1195289 1195336 - ReturnStatement 1195291 1195321 - Identifier 1195315 1195320 - VariableStatement 1195336 1195405 - VariableDeclarationList 1195336 1195404 - VariableDeclaration 1195355 1195404 - Identifier 1195355 1195370 - BinaryExpression 1195372 1195404 - Identifier 1195372 1195384 - BarBarToken 1195384 1195387 - PropertyAccessExpression 1195387 1195404 - Identifier 1195387 1195392 - Identifier 1195393 1195404 - VariableStatement 1195405 1195534 - VariableDeclarationList 1195405 1195533 - VariableDeclaration 1195424 1195533 - Identifier 1195424 1195446 - ConditionalExpression 1195448 1195533 - Identifier 1195448 1195460 - QuestionToken 1195460 1195462 - Identifier 1195462 1195481 - ColonToken 1195481 1195483 - CallExpression 1195483 1195533 - Identifier 1195483 1195500 - PropertyAccessExpression 1195501 1195524 - Identifier 1195501 1195505 - Identifier 1195506 1195524 - Identifier 1195525 1195532 - ReturnStatement 1195534 1195854 - ConditionalExpression 1195554 1195853 - BinaryExpression 1195554 1195636 - BinaryExpression 1195554 1195585 - Identifier 1195554 1195560 - AmpersandToken 1195560 1195562 - PropertyAccessExpression 1195562 1195585 - Identifier 1195562 1195572 - Identifier 1195573 1195585 - BarBarToken 1195585 1195588 - BinaryExpression 1195588 1195636 - Identifier 1195588 1195595 - AmpersandAmpersandToken 1195595 1195598 - BinaryExpression 1195598 1195636 - PropertyAccessExpression 1195598 1195611 - Identifier 1195598 1195605 - Identifier 1195606 1195611 - AmpersandToken 1195611 1195613 - PropertyAccessExpression 1195613 1195636 - Identifier 1195613 1195623 - Identifier 1195624 1195636 - QuestionToken 1195636 1195638 - CallExpression 1195638 1195748 - Identifier 1195638 1195675 - Identifier 1195676 1195684 - PropertyAccessExpression 1195685 1195708 - Identifier 1195685 1195703 - Identifier 1195704 1195708 - Identifier 1195709 1195724 - Identifier 1195725 1195747 - ColonToken 1195748 1195750 - CallExpression 1195750 1195853 - Identifier 1195750 1195780 - Identifier 1195781 1195789 - PropertyAccessExpression 1195790 1195813 - Identifier 1195790 1195805 - Identifier 1195806 1195813 - Identifier 1195814 1195829 - Identifier 1195830 1195852 - IfStatement 1195865 1196001 - BinaryExpression 1195879 1195902 - Identifier 1195879 1195884 - AmpersandToken 1195884 1195886 - PropertyAccessExpression 1195886 1195902 - Identifier 1195886 1195896 - Identifier 1195897 1195902 - Block 1195903 1196001 - ReturnStatement 1195905 1195990 - CallExpression 1195925 1195989 - Identifier 1195925 1195938 - CallExpression 1195939 1195988 - Identifier 1195939 1195954 - PropertyAccessExpression 1195955 1195979 - ParenthesizedExpression 1195955 1195974 - AsExpression 1195956 1195973 - Identifier 1195956 1195960 - TypeReference 1195963 1195973 - Identifier 1195963 1195973 - Identifier 1195975 1195979 - Identifier 1195980 1195987 - IfStatement 1196001 1196206 - BinaryExpression 1196015 1196048 - Identifier 1196015 1196020 - AmpersandToken 1196020 1196022 - PropertyAccessExpression 1196022 1196048 - Identifier 1196022 1196032 - Identifier 1196033 1196048 - Block 1196049 1196206 - ReturnStatement 1196051 1196195 - CallExpression 1196071 1196194 - Identifier 1196071 1196094 - PropertyAccessExpression 1196095 1196130 - ParenthesizedExpression 1196095 1196124 - AsExpression 1196096 1196123 - Identifier 1196096 1196100 - TypeReference 1196103 1196123 - Identifier 1196103 1196123 - Identifier 1196125 1196130 - CallExpression 1196131 1196193 - Identifier 1196131 1196148 - PropertyAccessExpression 1196149 1196184 - ParenthesizedExpression 1196149 1196178 - AsExpression 1196150 1196177 - Identifier 1196150 1196154 - TypeReference 1196157 1196177 - Identifier 1196157 1196177 - Identifier 1196179 1196184 - Identifier 1196185 1196192 - IfStatement 1196206 1196402 - BinaryExpression 1196220 1196251 - Identifier 1196220 1196225 - AmpersandToken 1196225 1196227 - PropertyAccessExpression 1196227 1196251 - Identifier 1196227 1196237 - Identifier 1196238 1196251 - Block 1196252 1196402 - ReturnStatement 1196254 1196391 - CallExpression 1196274 1196390 - Identifier 1196274 1196295 - PropertyAccessExpression 1196296 1196330 - ParenthesizedExpression 1196296 1196323 - AsExpression 1196297 1196322 - Identifier 1196297 1196301 - TypeReference 1196304 1196322 - Identifier 1196304 1196322 - Identifier 1196324 1196330 - CallExpression 1196331 1196389 - Identifier 1196331 1196347 - PropertyAccessExpression 1196348 1196380 - ParenthesizedExpression 1196348 1196375 - AsExpression 1196349 1196374 - Identifier 1196349 1196353 - TypeReference 1196356 1196374 - Identifier 1196356 1196374 - Identifier 1196376 1196380 - Identifier 1196381 1196388 - IfStatement 1196402 1196936 - BinaryExpression 1196416 1196447 - Identifier 1196416 1196421 - AmpersandToken 1196421 1196423 - PropertyAccessExpression 1196423 1196447 - Identifier 1196423 1196433 - Identifier 1196434 1196447 - Block 1196448 1196936 - VariableStatement 1196450 1196519 - VariableDeclarationList 1196450 1196518 - VariableDeclaration 1196469 1196518 - Identifier 1196469 1196484 - BinaryExpression 1196486 1196518 - Identifier 1196486 1196498 - BarBarToken 1196498 1196501 - PropertyAccessExpression 1196501 1196518 - Identifier 1196501 1196506 - Identifier 1196507 1196518 - VariableStatement 1196519 1196648 - VariableDeclarationList 1196519 1196647 - VariableDeclaration 1196538 1196647 - Identifier 1196538 1196560 - ConditionalExpression 1196562 1196647 - Identifier 1196562 1196574 - QuestionToken 1196574 1196576 - Identifier 1196576 1196595 - ColonToken 1196595 1196597 - CallExpression 1196597 1196647 - Identifier 1196597 1196614 - PropertyAccessExpression 1196615 1196638 - Identifier 1196615 1196619 - Identifier 1196620 1196638 - Identifier 1196639 1196646 - ReturnStatement 1196648 1196925 - CallExpression 1196668 1196924 - Identifier 1196668 1196689 - CallExpression 1196690 1196753 - Identifier 1196690 1196705 - PropertyAccessExpression 1196706 1196744 - ParenthesizedExpression 1196706 1196733 - AsExpression 1196707 1196732 - Identifier 1196707 1196711 - TypeReference 1196714 1196732 - Identifier 1196714 1196732 - Identifier 1196734 1196744 - Identifier 1196745 1196752 - CallExpression 1196754 1196817 - Identifier 1196754 1196770 - PropertyAccessExpression 1196771 1196808 - ParenthesizedExpression 1196771 1196798 - AsExpression 1196772 1196797 - Identifier 1196772 1196776 - TypeReference 1196779 1196797 - Identifier 1196779 1196797 - Identifier 1196799 1196808 - Identifier 1196809 1196816 - PropertyAccessExpression 1196818 1196858 - ParenthesizedExpression 1196818 1196846 - AsExpression 1196820 1196845 - Identifier 1196820 1196824 - TypeReference 1196827 1196845 - Identifier 1196827 1196845 - Identifier 1196847 1196858 - Identifier 1196859 1196884 - Identifier 1196885 1196900 - Identifier 1196901 1196923 - IfStatement 1196936 1197292 - BinaryExpression 1196950 1196979 - Identifier 1196950 1196955 - AmpersandToken 1196955 1196957 - PropertyAccessExpression 1196957 1196979 - Identifier 1196957 1196967 - Identifier 1196968 1196979 - Block 1196980 1197292 - ReturnStatement 1196982 1197281 - CallExpression 1197002 1197280 - Identifier 1197002 1197034 - AsExpression 1197035 1197076 - Identifier 1197035 1197057 - TypeReference 1197060 1197076 - Identifier 1197060 1197076 - CallExpression 1197077 1197155 - Identifier 1197077 1197113 - PropertyAccessExpression 1197114 1197146 - ParenthesizedExpression 1197114 1197139 - AsExpression 1197115 1197138 - Identifier 1197115 1197119 - TypeReference 1197122 1197138 - Identifier 1197122 1197138 - Identifier 1197140 1197146 - Identifier 1197147 1197154 - FalseKeyword 1197156 1197197 - Identifier 1197198 1197227 - Identifier 1197228 1197264 - IfStatement 1197292 1198523 - BinaryExpression 1197306 1197336 - Identifier 1197306 1197311 - AmpersandToken 1197311 1197313 - PropertyAccessExpression 1197313 1197336 - Identifier 1197313 1197323 - Identifier 1197324 1197336 - Block 1197337 1198523 - VariableStatement 1197339 1197434 - VariableDeclarationList 1197339 1197433 - VariableDeclaration 1197358 1197433 - Identifier 1197358 1197370 - CallExpression 1197372 1197433 - Identifier 1197372 1197388 - PropertyAccessExpression 1197389 1197424 - ParenthesizedExpression 1197389 1197415 - AsExpression 1197390 1197414 - Identifier 1197390 1197394 - TypeReference 1197397 1197414 - Identifier 1197397 1197414 - Identifier 1197416 1197424 - Identifier 1197425 1197432 - IfStatement 1197434 1197542 - CallExpression 1197452 1197471 - Identifier 1197452 1197465 - Identifier 1197466 1197470 - Block 1197472 1197542 - ReturnStatement 1197474 1197527 - CallExpression 1197498 1197526 - Identifier 1197498 1197513 - Identifier 1197514 1197525 - VariableStatement 1197542 1197641 - VariableDeclarationList 1197542 1197640 - VariableDeclaration 1197561 1197640 - Identifier 1197561 1197575 - CallExpression 1197577 1197640 - Identifier 1197577 1197593 - PropertyAccessExpression 1197594 1197631 - ParenthesizedExpression 1197594 1197620 - AsExpression 1197595 1197619 - Identifier 1197595 1197599 - TypeReference 1197602 1197619 - Identifier 1197602 1197619 - Identifier 1197621 1197631 - Identifier 1197632 1197639 - IfStatement 1197641 1198121 - BinaryExpression 1197956 1198030 - BinaryExpression 1197956 1197998 - PropertyAccessExpression 1197956 1197973 - Identifier 1197956 1197967 - Identifier 1197968 1197973 - AmpersandToken 1197973 1197975 - PropertyAccessExpression 1197975 1197998 - Identifier 1197975 1197985 - Identifier 1197986 1197998 - AmpersandAmpersandToken 1197998 1198001 - CallExpression 1198001 1198030 - Identifier 1198001 1198015 - Identifier 1198016 1198029 - Block 1198031 1198121 - ReturnStatement 1198033 1198106 - CallExpression 1198057 1198105 - Identifier 1198057 1198077 - Identifier 1198078 1198089 - Identifier 1198090 1198104 - IfStatement 1198121 1198346 - BinaryExpression 1198139 1198291 - BinaryExpression 1198139 1198183 - PropertyAccessExpression 1198139 1198158 - Identifier 1198139 1198152 - Identifier 1198153 1198158 - AmpersandToken 1198158 1198160 - PropertyAccessExpression 1198160 1198183 - Identifier 1198160 1198170 - Identifier 1198171 1198183 - BarBarToken 1198183 1198186 - CallExpression 1198186 1198291 - Identifier 1198186 1198205 - CallExpression 1198206 1198246 - Identifier 1198206 1198233 - Identifier 1198234 1198245 - CallExpression 1198247 1198290 - Identifier 1198247 1198275 - Identifier 1198276 1198289 - Block 1198292 1198346 - ReturnStatement 1198294 1198331 - Identifier 1198318 1198330 - ReturnStatement 1198346 1198512 - ConditionalExpression 1198366 1198511 - BinaryExpression 1198366 1198409 - PropertyAccessExpression 1198366 1198384 - Identifier 1198366 1198378 - Identifier 1198379 1198384 - AmpersandToken 1198384 1198386 - PropertyAccessExpression 1198386 1198409 - Identifier 1198386 1198396 - Identifier 1198397 1198409 - QuestionToken 1198409 1198411 - CallExpression 1198411 1198459 - Identifier 1198411 1198431 - Identifier 1198432 1198443 - Identifier 1198444 1198458 - ColonToken 1198459 1198461 - CallExpression 1198461 1198511 - Identifier 1198461 1198481 - ArrayLiteralExpression 1198482 1198510 - Identifier 1198483 1198496 - Identifier 1198497 1198509 - ReturnStatement 1198523 1198545 - Identifier 1198539 1198544 - FunctionDeclaration 1198552 1199433 - Identifier 1198568 1198597 - Parameter 1198598 1198621 - Identifier 1198598 1198602 - TypeReference 1198603 1198621 - Identifier 1198603 1198621 - Parameter 1198622 1198641 - Identifier 1198622 1198629 - TypeReference 1198630 1198641 - Identifier 1198630 1198641 - Block 1198642 1199433 - VariableStatement 1198644 1198719 - VariableDeclarationList 1198644 1198718 - VariableDeclaration 1198659 1198718 - Identifier 1198659 1198675 - CallExpression 1198677 1198718 - Identifier 1198677 1198693 - PropertyAccessExpression 1198694 1198709 - Identifier 1198694 1198698 - Identifier 1198699 1198709 - Identifier 1198710 1198717 - IfStatement 1198719 1198828 - PrefixUnaryExpression 1198733 1198788 - ParenthesizedExpression 1198734 1198788 - BinaryExpression 1198735 1198787 - CallExpression 1198735 1198766 - Identifier 1198735 1198749 - Identifier 1198750 1198765 - AmpersandToken 1198766 1198768 - PropertyAccessExpression 1198768 1198787 - Identifier 1198768 1198780 - Identifier 1198781 1198787 - Block 1198789 1198828 - ReturnStatement 1198791 1198817 - Identifier 1198811 1198816 - VariableStatement 1198828 1198906 - VariableDeclarationList 1198828 1198905 - VariableDeclaration 1198843 1198905 - Identifier 1198843 1198858 - CallExpression 1198860 1198905 - Identifier 1198860 1198876 - PropertyAccessExpression 1198877 1198896 - Identifier 1198877 1198881 - Identifier 1198882 1198896 - Identifier 1198897 1198904 - IfStatement 1198906 1199001 - PrefixUnaryExpression 1198920 1198961 - ParenthesizedExpression 1198921 1198961 - BinaryExpression 1198922 1198960 - PropertyAccessExpression 1198922 1198942 - Identifier 1198922 1198936 - Identifier 1198937 1198942 - AmpersandToken 1198942 1198944 - PropertyAccessExpression 1198944 1198960 - Identifier 1198944 1198954 - Identifier 1198955 1198960 - Block 1198962 1199001 - ReturnStatement 1198964 1198990 - Identifier 1198984 1198989 - VariableStatement 1199001 1199215 - VariableDeclarationList 1199001 1199214 - VariableDeclaration 1199016 1199214 - Identifier 1199016 1199029 - CallExpression 1199031 1199214 - Identifier 1199031 1199065 - CallExpression 1199066 1199116 - Identifier 1199066 1199095 - PropertyAccessExpression 1199096 1199107 - Identifier 1199096 1199100 - Identifier 1199101 1199107 - Identifier 1199108 1199115 - AsExpression 1199117 1199160 - Identifier 1199117 1199146 - TypeReference 1199149 1199160 - Identifier 1199149 1199160 - AsExpression 1199161 1199202 - Identifier 1199161 1199189 - TypeReference 1199192 1199202 - Identifier 1199192 1199202 - IfStatement 1199215 1199289 - Identifier 1199229 1199241 - Block 1199242 1199289 - ReturnStatement 1199244 1199278 - Identifier 1199264 1199277 - ReturnStatement 1199289 1199311 - Identifier 1199305 1199310 - FunctionDeclaration 1199433 1199719 - Identifier 1199449 1199476 - Parameter 1199477 1199487 - Identifier 1199477 1199481 - TypeReference 1199482 1199487 - Identifier 1199482 1199487 - Block 1199488 1199719 - ReturnStatement 1199490 1199712 - ConditionalExpression 1199506 1199711 - BinaryExpression 1199506 1199584 - PropertyAccessExpression 1199506 1199517 - Identifier 1199506 1199511 - Identifier 1199512 1199517 - AmpersandToken 1199517 1199519 - ParenthesizedExpression 1199519 1199584 - BinaryExpression 1199521 1199583 - BinaryExpression 1199521 1199565 - PropertyAccessExpression 1199521 1199540 - Identifier 1199521 1199530 - Identifier 1199531 1199540 - BarToken 1199540 1199542 - PropertyAccessExpression 1199542 1199565 - Identifier 1199542 1199552 - Identifier 1199553 1199565 - BarToken 1199565 1199567 - PropertyAccessExpression 1199567 1199583 - Identifier 1199567 1199577 - Identifier 1199578 1199583 - QuestionToken 1199584 1199586 - Identifier 1199586 1199591 - ColonToken 1199591 1199593 - BinaryExpression 1199593 1199711 - PropertyAccessExpression 1199593 1199635 - Identifier 1199593 1199611 - Identifier 1199612 1199635 - BarBarToken 1199635 1199638 - ParenthesizedExpression 1199638 1199711 - BinaryExpression 1199640 1199710 - PropertyAccessExpression 1199640 1199668 - Identifier 1199640 1199644 - Identifier 1199645 1199668 - EqualsToken 1199668 1199670 - CallExpression 1199670 1199710 - Identifier 1199670 1199686 - Identifier 1199687 1199691 - Identifier 1199692 1199709 - FunctionDeclaration 1199719 1200828 - Identifier 1199735 1199763 - Parameter 1199764 1199774 - Identifier 1199764 1199768 - TypeReference 1199769 1199774 - Identifier 1199769 1199774 - Block 1199775 1200828 - IfStatement 1199777 1199908 - BinaryExpression 1199791 1199868 - PropertyAccessExpression 1199791 1199801 - Identifier 1199791 1199795 - Identifier 1199796 1199801 - AmpersandToken 1199801 1199803 - ParenthesizedExpression 1199803 1199868 - BinaryExpression 1199805 1199867 - BinaryExpression 1199805 1199849 - PropertyAccessExpression 1199805 1199824 - Identifier 1199805 1199814 - Identifier 1199815 1199824 - BarToken 1199824 1199826 - PropertyAccessExpression 1199826 1199849 - Identifier 1199826 1199836 - Identifier 1199837 1199849 - BarToken 1199849 1199851 - PropertyAccessExpression 1199851 1199867 - Identifier 1199851 1199861 - Identifier 1199862 1199867 - Block 1199869 1199908 - ReturnStatement 1199871 1199897 - Identifier 1199891 1199896 - IfStatement 1199908 1200016 - PropertyAccessExpression 1199922 1199951 - Identifier 1199922 1199926 - Identifier 1199927 1199951 - Block 1199952 1200016 - ReturnStatement 1199954 1200005 - PropertyAccessExpression 1199974 1200004 - Identifier 1199974 1199979 - Identifier 1199980 1200004 - ExpressionStatement 1200016 1200099 - BinaryExpression 1200016 1200098 - PropertyAccessExpression 1200016 1200055 - Identifier 1200016 1200030 - Identifier 1200031 1200055 - EqualsToken 1200055 1200057 - CallExpression 1200057 1200098 - Identifier 1200057 1200073 - Identifier 1200074 1200078 - Identifier 1200079 1200097 - ExpressionStatement 1200099 1200774 - BinaryExpression 1200099 1200773 - PropertyAccessExpression 1200099 1200741 - PropertyAccessExpression 1200099 1200716 - Identifier 1200099 1200691 - Identifier 1200692 1200716 - Identifier 1200717 1200741 - EqualsToken 1200741 1200743 - PropertyAccessExpression 1200743 1200773 - Identifier 1200743 1200748 - Identifier 1200749 1200773 - ReturnStatement 1200774 1200821 - PropertyAccessExpression 1200790 1200820 - Identifier 1200790 1200795 - Identifier 1200796 1200820 - FunctionDeclaration 1200828 1201046 - Identifier 1200844 1200865 - Parameter 1200866 1200881 - Identifier 1200866 1200870 - TypeReference 1200871 1200881 - Identifier 1200871 1200881 - Parameter 1200882 1200901 - Identifier 1200882 1200889 - TypeReference 1200890 1200901 - Identifier 1200890 1200901 - Block 1200902 1201046 - ReturnStatement 1200904 1201039 - CallExpression 1200920 1201038 - Identifier 1200920 1200936 - PropertyAccessExpression 1200937 1200949 - Identifier 1200937 1200941 - Identifier 1200942 1200949 - CallExpression 1200950 1200985 - Identifier 1200950 1200966 - PropertyAccessExpression 1200967 1200976 - Identifier 1200967 1200971 - Identifier 1200972 1200976 - Identifier 1200977 1200984 - PropertyAccessExpression 1200986 1201002 - Identifier 1200986 1200991 - Identifier 1200992 1201002 - PropertyAccessExpression 1201003 1201020 - Identifier 1201003 1201008 - Identifier 1201009 1201020 - PropertyAccessExpression 1201021 1201037 - Identifier 1201021 1201026 - Identifier 1201027 1201037 - FunctionDeclaration 1201046 1203908 - Identifier 1201219 1201238 - Parameter 1201239 1201332 - Identifier 1201239 1201243 - UnionType 1201244 1201332 - TypeReference 1201244 1201255 - Identifier 1201244 1201255 - TypeReference 1201257 1201275 - Identifier 1201257 1201275 - TypeReference 1201277 1201302 - Identifier 1201277 1201302 - TypeReference 1201304 1201321 - Identifier 1201304 1201321 - TypeReference 1201323 1201332 - Identifier 1201323 1201332 - BooleanKeyword 1201334 1201342 - Block 1201342 1203908 - ExpressionStatement 1201344 1201442 - CallExpression 1201344 1201441 - PropertyAccessExpression 1201344 1201366 - Identifier 1201344 1201359 - Identifier 1201360 1201366 - BinaryExpression 1201367 1201440 - BinaryExpression 1201367 1201409 - PropertyAccessExpression 1201367 1201376 - Identifier 1201367 1201371 - Identifier 1201372 1201376 - ExclamationEqualsEqualsToken 1201376 1201380 - PropertyAccessExpression 1201380 1201409 - Identifier 1201380 1201391 - Identifier 1201392 1201409 - BarBarToken 1201409 1201412 - CallExpression 1201412 1201440 - Identifier 1201412 1201434 - Identifier 1201435 1201439 - SwitchStatement 1201442 1203876 - PropertyAccessExpression 1201460 1201469 - Identifier 1201460 1201464 - Identifier 1201465 1201469 - CaseBlock 1201470 1203876 - CaseClause 1201472 1201521 - PropertyAccessExpression 1201490 1201520 - Identifier 1201490 1201501 - Identifier 1201502 1201520 - CaseClause 1201521 1201565 - PropertyAccessExpression 1201539 1201564 - Identifier 1201539 1201550 - Identifier 1201551 1201564 - CaseClause 1201565 1201613 - PropertyAccessExpression 1201583 1201612 - Identifier 1201583 1201594 - Identifier 1201595 1201612 - CaseClause 1201613 1201870 - PropertyAccessExpression 1201631 1201662 - Identifier 1201631 1201642 - Identifier 1201643 1201662 - ReturnStatement 1201663 1201870 - CallExpression 1201763 1201869 - Identifier 1201763 1201805 - AsExpression 1201806 1201868 - Identifier 1201806 1201810 - UnionType 1201813 1201868 - TypeReference 1201813 1201832 - Identifier 1201813 1201832 - TypeReference 1201834 1201848 - Identifier 1201834 1201848 - TypeReference 1201850 1201868 - Identifier 1201850 1201868 - CaseClause 1201870 1202020 - PropertyAccessExpression 1201888 1201923 - Identifier 1201888 1201899 - Identifier 1201900 1201923 - ReturnStatement 1201924 1202020 - CallExpression 1201948 1202019 - Identifier 1201948 1201953 - PropertyAccessExpression 1201954 1201998 - ParenthesizedExpression 1201954 1201987 - AsExpression 1201955 1201986 - Identifier 1201955 1201959 - TypeReference 1201962 1201986 - Identifier 1201962 1201986 - Identifier 1201988 1201998 - Identifier 1201999 1202018 - CaseClause 1202020 1202166 - PropertyAccessExpression 1202038 1202072 - Identifier 1202038 1202049 - Identifier 1202050 1202072 - ReturnStatement 1202073 1202166 - CallExpression 1202097 1202165 - Identifier 1202097 1202102 - PropertyAccessExpression 1202103 1202144 - ParenthesizedExpression 1202103 1202135 - AsExpression 1202104 1202134 - Identifier 1202104 1202108 - TypeReference 1202111 1202134 - Identifier 1202111 1202134 - Identifier 1202136 1202144 - Identifier 1202145 1202164 - CaseClause 1202166 1202390 - PropertyAccessExpression 1202184 1202217 - Identifier 1202184 1202195 - Identifier 1202196 1202217 - ReturnStatement 1202218 1202390 - BinaryExpression 1202242 1202389 - CallExpression 1202242 1202303 - Identifier 1202242 1202261 - PropertyAccessExpression 1202262 1202302 - ParenthesizedExpression 1202262 1202293 - AsExpression 1202263 1202292 - Identifier 1202263 1202267 - TypeReference 1202270 1202292 - Identifier 1202270 1202292 - Identifier 1202294 1202302 - BarBarToken 1202303 1202306 - CallExpression 1202306 1202389 - Identifier 1202306 1202346 - PropertyAccessExpression 1202347 1202388 - ParenthesizedExpression 1202347 1202378 - AsExpression 1202348 1202377 - Identifier 1202348 1202352 - TypeReference 1202355 1202377 - Identifier 1202355 1202377 - Identifier 1202379 1202388 - CaseClause 1202390 1202757 - PropertyAccessExpression 1202408 1202436 - Identifier 1202408 1202419 - Identifier 1202420 1202436 - ReturnStatement 1202437 1202757 - BinaryExpression 1202461 1202756 - ParenthesizedExpression 1202461 1202622 - BinaryExpression 1202463 1202621 - BinaryExpression 1202463 1202535 - PropertyAccessExpression 1202463 1202508 - PropertyAccessExpression 1202463 1202503 - ParenthesizedExpression 1202463 1202489 - AsExpression 1202464 1202488 - Identifier 1202464 1202468 - TypeReference 1202471 1202488 - Identifier 1202471 1202488 - Identifier 1202490 1202503 - Identifier 1202504 1202508 - EqualsEqualsEqualsToken 1202508 1202512 - PropertyAccessExpression 1202512 1202535 - Identifier 1202512 1202523 - Identifier 1202524 1202535 - BarBarToken 1202535 1202538 - BinaryExpression 1202538 1202621 - PropertyAccessExpression 1202538 1202584 - PropertyAccessExpression 1202538 1202579 - ParenthesizedExpression 1202538 1202565 - AsExpression 1202540 1202564 - Identifier 1202540 1202544 - TypeReference 1202547 1202564 - Identifier 1202547 1202564 - Identifier 1202566 1202579 - Identifier 1202580 1202584 - EqualsEqualsEqualsToken 1202584 1202588 - PropertyAccessExpression 1202588 1202621 - Identifier 1202588 1202599 - Identifier 1202600 1202621 - AmpersandAmpersandToken 1202622 1202625 - ParenthesizedExpression 1202625 1202756 - BinaryExpression 1202648 1202755 - CallExpression 1202648 1202699 - Identifier 1202648 1202666 - PropertyAccessExpression 1202667 1202698 - ParenthesizedExpression 1202667 1202693 - AsExpression 1202668 1202692 - Identifier 1202668 1202672 - TypeReference 1202675 1202692 - Identifier 1202675 1202692 - Identifier 1202694 1202698 - BarBarToken 1202699 1202702 - CallExpression 1202702 1202755 - Identifier 1202702 1202721 - PropertyAccessExpression 1202722 1202754 - ParenthesizedExpression 1202722 1202748 - AsExpression 1202723 1202747 - Identifier 1202723 1202727 - TypeReference 1202730 1202747 - Identifier 1202730 1202747 - Identifier 1202749 1202754 - CaseClause 1202757 1202892 - PropertyAccessExpression 1202775 1202805 - Identifier 1202775 1202786 - Identifier 1202787 1202805 - ReturnStatement 1202806 1202892 - CallExpression 1202830 1202891 - Identifier 1202830 1202849 - PropertyAccessExpression 1202850 1202890 - ParenthesizedExpression 1202850 1202878 - AsExpression 1202851 1202877 - Identifier 1202851 1202855 - TypeReference 1202858 1202877 - Identifier 1202858 1202877 - Identifier 1202879 1202890 - CaseClause 1202892 1203036 - PropertyAccessExpression 1202910 1202945 - Identifier 1202910 1202921 - Identifier 1202922 1202945 - ReturnStatement 1202946 1203036 - CallExpression 1202970 1203035 - Identifier 1202970 1202989 - PropertyAccessExpression 1202990 1203034 - ParenthesizedExpression 1202990 1203023 - AsExpression 1202991 1203022 - Identifier 1202991 1202995 - TypeReference 1202998 1203022 - Identifier 1202998 1203022 - Identifier 1203024 1203034 - CaseClause 1203036 1203259 - PropertyAccessExpression 1203054 1203079 - Identifier 1203054 1203065 - Identifier 1203066 1203079 - ReturnStatement 1203080 1203259 - BinaryExpression 1203104 1203258 - CallExpression 1203104 1203165 - Identifier 1203104 1203109 - PropertyAccessExpression 1203110 1203144 - ParenthesizedExpression 1203110 1203133 - AsExpression 1203111 1203132 - Identifier 1203111 1203115 - TypeReference 1203118 1203132 - Identifier 1203118 1203132 - Identifier 1203134 1203144 - Identifier 1203145 1203164 - BarBarToken 1203165 1203168 - BinaryExpression 1203168 1203258 - CallExpression 1203168 1203201 - Identifier 1203168 1203188 - PropertyAccessExpression 1203189 1203200 - Identifier 1203189 1203193 - Identifier 1203194 1203200 - AmpersandAmpersandToken 1203201 1203204 - CallExpression 1203204 1203258 - Identifier 1203204 1203209 - PropertyAccessExpression 1203210 1203237 - PropertyAccessExpression 1203210 1203228 - PropertyAccessExpression 1203210 1203221 - Identifier 1203210 1203214 - Identifier 1203215 1203221 - Identifier 1203222 1203228 - Identifier 1203229 1203237 - Identifier 1203238 1203257 - CaseClause 1203259 1203578 - PropertyAccessExpression 1203277 1203301 - Identifier 1203277 1203288 - Identifier 1203289 1203301 - Block 1203302 1203578 - VariableStatement 1203304 1203489 - VariableDeclarationList 1203304 1203488 - VariableDeclaration 1203449 1203488 - ObjectBindingPattern 1203449 1203465 - BindingElement 1203451 1203463 - Identifier 1203451 1203463 - AsExpression 1203467 1203488 - Identifier 1203467 1203472 - TypeReference 1203475 1203488 - Identifier 1203475 1203488 - ReturnStatement 1203489 1203563 - BinaryExpression 1203513 1203562 - PrefixUnaryExpression 1203513 1203527 - PrefixUnaryExpression 1203515 1203527 - Identifier 1203516 1203527 - AmpersandAmpersandToken 1203527 1203530 - CallExpression 1203530 1203562 - Identifier 1203530 1203549 - Identifier 1203550 1203561 - CaseClause 1203578 1203865 - PropertyAccessExpression 1203596 1203621 - Identifier 1203596 1203607 - Identifier 1203608 1203621 - Block 1203622 1203865 - VariableStatement 1203624 1203778 - VariableDeclarationList 1203624 1203777 - VariableDeclaration 1203738 1203777 - ObjectBindingPattern 1203738 1203753 - BindingElement 1203740 1203751 - Identifier 1203740 1203751 - AsExpression 1203755 1203777 - Identifier 1203755 1203760 - TypeReference 1203763 1203777 - Identifier 1203763 1203777 - ReturnStatement 1203778 1203850 - BinaryExpression 1203802 1203849 - PrefixUnaryExpression 1203802 1203815 - PrefixUnaryExpression 1203804 1203815 - Identifier 1203805 1203815 - AmpersandAmpersandToken 1203815 1203818 - CallExpression 1203818 1203849 - Identifier 1203818 1203837 - Identifier 1203838 1203848 - ReturnStatement 1203876 1203901 - FalseKeyword 1203894 1203900 - FunctionDeclaration 1203908 1204113 - Identifier 1203924 1203966 - Parameter 1203967 1203996 - Identifier 1203967 1203971 - TypeReference 1203972 1203996 - Identifier 1203972 1203996 - BooleanKeyword 1203998 1204006 - Block 1204006 1204113 - ReturnStatement 1204008 1204106 - BinaryExpression 1204024 1204105 - CallExpression 1204024 1204060 - Identifier 1204024 1204054 - Identifier 1204055 1204059 - BarBarToken 1204060 1204063 - CallExpression 1204063 1204105 - Identifier 1204063 1204099 - Identifier 1204100 1204104 - FunctionDeclaration 1204113 1204586 - Identifier 1204129 1204165 - Parameter 1204166 1204195 - Identifier 1204166 1204170 - TypeReference 1204171 1204195 - Identifier 1204171 1204195 - Block 1204196 1204586 - IfStatement 1204198 1204322 - BinaryExpression 1204212 1204281 - BinaryExpression 1204212 1204267 - PropertyAccessExpression 1204212 1204231 - Identifier 1204212 1204216 - Identifier 1204217 1204231 - BarBarToken 1204231 1204234 - CallExpression 1204234 1204267 - Identifier 1204234 1204261 - Identifier 1204262 1204266 - BarBarToken 1204267 1204270 - PrefixUnaryExpression 1204270 1204281 - PropertyAccessExpression 1204272 1204281 - Identifier 1204272 1204276 - Identifier 1204277 1204281 - Block 1204282 1204322 - ReturnStatement 1204284 1204311 - FalseKeyword 1204304 1204310 - IfStatement 1204322 1204436 - BinaryExpression 1204336 1204371 - PropertyAccessExpression 1204336 1204350 - PropertyAccessExpression 1204336 1204345 - Identifier 1204336 1204340 - Identifier 1204341 1204345 - Identifier 1204346 1204350 - ExclamationEqualsEqualsToken 1204350 1204354 - PropertyAccessExpression 1204354 1204371 - Identifier 1204354 1204365 - Identifier 1204366 1204371 - Block 1204372 1204436 - ReturnStatement 1204374 1204425 - CallExpression 1204394 1204424 - Identifier 1204394 1204413 - PropertyAccessExpression 1204414 1204423 - Identifier 1204414 1204418 - Identifier 1204419 1204423 - ReturnStatement 1204436 1204579 - PrefixUnaryExpression 1204452 1204578 - PrefixUnaryExpression 1204454 1204578 - CallExpression 1204455 1204578 - Identifier 1204455 1204477 - AsExpression 1204478 1204496 - PropertyAccessExpression 1204478 1204487 - Identifier 1204478 1204482 - Identifier 1204483 1204487 - TypeReference 1204490 1204496 - Identifier 1204490 1204496 - ArrowFunction 1204497 1204577 - Parameter 1204497 1204507 - Identifier 1204497 1204507 - EqualsGreaterThanToken 1204507 1204510 - BinaryExpression 1204510 1204577 - PrefixUnaryExpression 1204510 1204533 - PrefixUnaryExpression 1204512 1204533 - PropertyAccessExpression 1204513 1204533 - Identifier 1204513 1204522 - Identifier 1204523 1204533 - AmpersandAmpersandToken 1204533 1204536 - CallExpression 1204536 1204577 - Identifier 1204536 1204555 - PropertyAccessExpression 1204556 1204576 - Identifier 1204556 1204565 - Identifier 1204566 1204576 - FunctionDeclaration 1204586 1204891 - Identifier 1204602 1204650 - Parameter 1204651 1204661 - Identifier 1204651 1204655 - TypeReference 1204656 1204661 - Identifier 1204656 1204661 - TypePredicate 1204663 1204726 - Identifier 1204663 1204668 - UnionType 1204671 1204726 - TypeReference 1204671 1204690 - Identifier 1204671 1204690 - TypeReference 1204692 1204706 - Identifier 1204692 1204706 - TypeReference 1204708 1204726 - Identifier 1204708 1204726 - Block 1204726 1204891 - ReturnStatement 1204728 1204884 - BinaryExpression 1204744 1204883 - ParenthesizedExpression 1204744 1204819 - BinaryExpression 1204746 1204818 - CallExpression 1204746 1204787 - Identifier 1204746 1204781 - Identifier 1204782 1204786 - BarBarToken 1204787 1204790 - CallExpression 1204790 1204818 - Identifier 1204790 1204812 - Identifier 1204813 1204817 - AmpersandAmpersandToken 1204819 1204822 - CallExpression 1204822 1204883 - Identifier 1204822 1204877 - Identifier 1204878 1204882 - FunctionDeclaration 1204891 1205785 - Identifier 1204907 1204932 - Parameter 1204933 1204943 - Identifier 1204933 1204937 - TypeReference 1204938 1204943 - Identifier 1204938 1204943 - TypeReference 1204945 1204950 - Identifier 1204945 1204950 - Block 1204950 1205785 - IfStatement 1204952 1205756 - BinaryExpression 1204966 1204995 - PropertyAccessExpression 1204966 1204976 - Identifier 1204966 1204970 - Identifier 1204971 1204976 - AmpersandToken 1204976 1204978 - PropertyAccessExpression 1204978 1204995 - Identifier 1204978 1204988 - Identifier 1204989 1204995 - Block 1204996 1205582 - VariableStatement 1204998 1205078 - VariableDeclarationList 1204998 1205077 - VariableDeclaration 1205017 1205077 - Identifier 1205017 1205026 - CallExpression 1205028 1205077 - Identifier 1205028 1205057 - AsExpression 1205058 1205076 - Identifier 1205058 1205062 - TypeReference 1205065 1205076 - Identifier 1205065 1205076 - IfStatement 1205078 1205571 - BinaryExpression 1205096 1205165 - PropertyAccessExpression 1205096 1205131 - PropertyAccessExpression 1205096 1205124 - Identifier 1205096 1205104 - Identifier 1205105 1205124 - Identifier 1205125 1205131 - BarBarToken 1205131 1205134 - PropertyAccessExpression 1205134 1205165 - PropertyAccessExpression 1205134 1205158 - Identifier 1205134 1205143 - Identifier 1205144 1205158 - Identifier 1205159 1205165 - Block 1205166 1205571 - VariableStatement 1205168 1205254 - VariableDeclarationList 1205168 1205253 - VariableDeclaration 1205191 1205253 - Identifier 1205191 1205198 - CallExpression 1205200 1205253 - Identifier 1205200 1205217 - PropertyAccessExpression 1205218 1205239 - Identifier 1205218 1205229 - Identifier 1205230 1205239 - PropertyAccessExpression 1205240 1205252 - Identifier 1205240 1205245 - Identifier 1205246 1205252 - ExpressionStatement 1205254 1205306 - BinaryExpression 1205254 1205305 - PropertyAccessExpression 1205254 1205286 - Identifier 1205254 1205278 - Identifier 1205279 1205286 - EqualsToken 1205286 1205288 - PropertyAccessExpression 1205288 1205305 - Identifier 1205288 1205297 - Identifier 1205298 1205305 - ExpressionStatement 1205306 1205364 - BinaryExpression 1205306 1205363 - PropertyAccessExpression 1205306 1205341 - Identifier 1205306 1205330 - Identifier 1205331 1205341 - EqualsToken 1205341 1205343 - PropertyAccessExpression 1205343 1205363 - Identifier 1205343 1205352 - Identifier 1205353 1205363 - ExpressionStatement 1205364 1205417 - BinaryExpression 1205364 1205416 - PropertyAccessExpression 1205364 1205403 - Identifier 1205364 1205388 - Identifier 1205389 1205403 - EqualsToken 1205403 1205405 - Identifier 1205405 1205416 - ExpressionStatement 1205417 1205475 - BinaryExpression 1205417 1205474 - PropertyAccessExpression 1205417 1205461 - Identifier 1205417 1205441 - Identifier 1205442 1205461 - EqualsToken 1205461 1205463 - Identifier 1205463 1205474 - ExpressionStatement 1205475 1205524 - BinaryExpression 1205475 1205523 - PropertyAccessExpression 1205475 1205510 - Identifier 1205475 1205499 - Identifier 1205500 1205510 - EqualsToken 1205510 1205512 - Identifier 1205512 1205523 - ReturnStatement 1205524 1205556 - Identifier 1205548 1205555 - IfStatement 1205596 1205756 - BinaryExpression 1205601 1205636 - PropertyAccessExpression 1205601 1205611 - Identifier 1205601 1205605 - Identifier 1205606 1205611 - AmpersandToken 1205611 1205613 - PropertyAccessExpression 1205613 1205636 - Identifier 1205613 1205623 - Identifier 1205624 1205636 - Block 1205637 1205756 - ReturnStatement 1205639 1205745 - CallExpression 1205659 1205744 - Identifier 1205659 1205679 - CallExpression 1205680 1205743 - Identifier 1205680 1205683 - PropertyAccessExpression 1205684 1205716 - ParenthesizedExpression 1205684 1205710 - AsExpression 1205685 1205709 - Identifier 1205685 1205689 - TypeReference 1205692 1205709 - Identifier 1205692 1205709 - Identifier 1205711 1205716 - Identifier 1205717 1205742 - ReturnStatement 1205756 1205778 - Identifier 1205772 1205777 - FunctionDeclaration 1205785 1205956 - Identifier 1205825 1205843 - Parameter 1205844 1205856 - Identifier 1205844 1205850 - TypeReference 1205851 1205856 - Identifier 1205851 1205856 - Parameter 1205857 1205870 - Identifier 1205857 1205864 - TypeReference 1205865 1205870 - Identifier 1205865 1205870 - BooleanKeyword 1205872 1205880 - Block 1205880 1205956 - ReturnStatement 1205882 1205949 - CallExpression 1205898 1205948 - Identifier 1205898 1205914 - Identifier 1205915 1205921 - Identifier 1205922 1205929 - Identifier 1205930 1205947 - FunctionDeclaration 1205956 1206138 - Identifier 1205972 1205994 - Parameter 1205995 1206007 - Identifier 1205995 1206001 - TypeReference 1206002 1206007 - Identifier 1206002 1206007 - Parameter 1206008 1206021 - Identifier 1206008 1206015 - TypeReference 1206016 1206021 - Identifier 1206016 1206021 - TypeReference 1206023 1206031 - Identifier 1206023 1206031 - Block 1206031 1206138 - ReturnStatement 1206033 1206131 - ConditionalExpression 1206049 1206130 - CallExpression 1206049 1206099 - Identifier 1206049 1206065 - Identifier 1206066 1206072 - Identifier 1206073 1206080 - Identifier 1206081 1206098 - QuestionToken 1206099 1206101 - PropertyAccessExpression 1206101 1206114 - Identifier 1206101 1206109 - Identifier 1206110 1206114 - ColonToken 1206114 1206116 - PropertyAccessExpression 1206116 1206130 - Identifier 1206116 1206124 - Identifier 1206125 1206130 - FunctionDeclaration 1206138 1206323 - Identifier 1206154 1206177 - Parameter 1206178 1206190 - Identifier 1206178 1206184 - TypeReference 1206185 1206190 - Identifier 1206185 1206190 - Parameter 1206191 1206204 - Identifier 1206191 1206198 - TypeReference 1206199 1206204 - Identifier 1206199 1206204 - TypeReference 1206206 1206214 - Identifier 1206206 1206214 - Block 1206214 1206323 - ReturnStatement 1206216 1206316 - ConditionalExpression 1206232 1206315 - CallExpression 1206232 1206284 - Identifier 1206232 1206248 - Identifier 1206249 1206255 - Identifier 1206256 1206263 - Identifier 1206264 1206283 - QuestionToken 1206284 1206286 - PropertyAccessExpression 1206286 1206299 - Identifier 1206286 1206294 - Identifier 1206295 1206299 - ColonToken 1206299 1206301 - PropertyAccessExpression 1206301 1206315 - Identifier 1206301 1206309 - Identifier 1206310 1206315 - FunctionDeclaration 1206323 1206504 - Identifier 1206339 1206361 - Parameter 1206362 1206374 - Identifier 1206362 1206368 - TypeReference 1206369 1206374 - Identifier 1206369 1206374 - Parameter 1206375 1206388 - Identifier 1206375 1206382 - TypeReference 1206383 1206388 - Identifier 1206383 1206388 - TypeReference 1206390 1206398 - Identifier 1206390 1206398 - Block 1206398 1206504 - ReturnStatement 1206400 1206497 - ConditionalExpression 1206416 1206496 - CallExpression 1206416 1206465 - Identifier 1206416 1206432 - Identifier 1206433 1206439 - Identifier 1206440 1206447 - Identifier 1206448 1206464 - QuestionToken 1206465 1206467 - PropertyAccessExpression 1206467 1206480 - Identifier 1206467 1206475 - Identifier 1206476 1206480 - ColonToken 1206480 1206482 - PropertyAccessExpression 1206482 1206496 - Identifier 1206482 1206490 - Identifier 1206491 1206496 - FunctionDeclaration 1206504 1206648 - Identifier 1206520 1206536 - Parameter 1206537 1206549 - Identifier 1206537 1206543 - TypeReference 1206544 1206549 - Identifier 1206544 1206549 - Parameter 1206550 1206563 - Identifier 1206550 1206557 - TypeReference 1206558 1206563 - Identifier 1206558 1206563 - BooleanKeyword 1206565 1206573 - Block 1206573 1206648 - ReturnStatement 1206575 1206641 - CallExpression 1206591 1206640 - Identifier 1206591 1206607 - Identifier 1206608 1206614 - Identifier 1206615 1206622 - Identifier 1206623 1206639 - FunctionDeclaration 1206648 1206804 - Identifier 1206664 1206686 - Parameter 1206687 1206699 - Identifier 1206687 1206693 - TypeReference 1206694 1206699 - Identifier 1206694 1206699 - Parameter 1206700 1206713 - Identifier 1206700 1206707 - TypeReference 1206708 1206713 - Identifier 1206708 1206713 - BooleanKeyword 1206715 1206723 - Block 1206723 1206804 - ReturnStatement 1206725 1206797 - CallExpression 1206741 1206796 - Identifier 1206741 1206757 - Identifier 1206758 1206764 - Identifier 1206765 1206772 - Identifier 1206773 1206795 - FunctionDeclaration 1206804 1206954 - Identifier 1206820 1206839 - Parameter 1206840 1206852 - Identifier 1206840 1206846 - TypeReference 1206847 1206852 - Identifier 1206847 1206852 - Parameter 1206853 1206866 - Identifier 1206853 1206860 - TypeReference 1206861 1206866 - Identifier 1206861 1206866 - BooleanKeyword 1206868 1206876 - Block 1206876 1206954 - ReturnStatement 1206878 1206947 - CallExpression 1206894 1206946 - Identifier 1206894 1206910 - Identifier 1206911 1206917 - Identifier 1206918 1206925 - Identifier 1206926 1206945 - FunctionDeclaration 1206954 1208848 - Identifier 1207715 1207733 - Parameter 1207734 1207746 - Identifier 1207734 1207740 - TypeReference 1207741 1207746 - Identifier 1207741 1207746 - Parameter 1207747 1207760 - Identifier 1207747 1207754 - TypeReference 1207755 1207760 - Identifier 1207755 1207760 - BooleanKeyword 1207762 1207770 - Block 1207770 1208848 - ReturnStatement 1207772 1208841 - ConditionalExpression 1207788 1208840 - BinaryExpression 1207788 1207819 - PropertyAccessExpression 1207788 1207801 - Identifier 1207788 1207795 - Identifier 1207796 1207801 - AmpersandToken 1207801 1207803 - PropertyAccessExpression 1207803 1207819 - Identifier 1207803 1207813 - Identifier 1207814 1207819 - QuestionToken 1207819 1207821 - CallExpression 1207821 1207891 - Identifier 1207821 1207827 - PropertyAccessExpression 1207828 1207855 - ParenthesizedExpression 1207828 1207849 - AsExpression 1207829 1207848 - Identifier 1207829 1207835 - TypeReference 1207838 1207848 - Identifier 1207838 1207848 - Identifier 1207850 1207855 - ArrowFunction 1207856 1207890 - Parameter 1207856 1207858 - Identifier 1207856 1207858 - EqualsGreaterThanToken 1207858 1207861 - CallExpression 1207861 1207890 - Identifier 1207861 1207879 - Identifier 1207880 1207881 - Identifier 1207882 1207889 - ColonToken 1207891 1207893 - ConditionalExpression 1207893 1208840 - BinaryExpression 1207893 1207937 - PropertyAccessExpression 1207893 1207919 - Identifier 1207893 1207913 - Identifier 1207914 1207919 - AmpersandToken 1207919 1207921 - PropertyAccessExpression 1207921 1207937 - Identifier 1207921 1207931 - Identifier 1207932 1207937 - QuestionToken 1207937 1207939 - CallExpression 1207939 1208008 - Identifier 1207939 1207944 - PropertyAccessExpression 1207945 1207972 - ParenthesizedExpression 1207945 1207966 - AsExpression 1207946 1207965 - Identifier 1207946 1207952 - TypeReference 1207955 1207965 - Identifier 1207955 1207965 - Identifier 1207967 1207972 - ArrowFunction 1207973 1208007 - Parameter 1207973 1207975 - Identifier 1207973 1207975 - EqualsGreaterThanToken 1207975 1207978 - CallExpression 1207978 1208007 - Identifier 1207978 1207996 - Identifier 1207997 1208003 - Identifier 1208004 1208006 - ColonToken 1208008 1208010 - ConditionalExpression 1208010 1208840 - BinaryExpression 1208010 1208061 - PropertyAccessExpression 1208010 1208036 - Identifier 1208010 1208030 - Identifier 1208031 1208036 - AmpersandToken 1208036 1208038 - PropertyAccessExpression 1208038 1208061 - Identifier 1208038 1208048 - Identifier 1208049 1208061 - QuestionToken 1208061 1208063 - CallExpression 1208063 1208139 - Identifier 1208063 1208068 - PropertyAccessExpression 1208069 1208103 - ParenthesizedExpression 1208069 1208097 - AsExpression 1208070 1208096 - Identifier 1208070 1208076 - TypeReference 1208079 1208096 - Identifier 1208079 1208096 - Identifier 1208098 1208103 - ArrowFunction 1208104 1208138 - Parameter 1208104 1208106 - Identifier 1208104 1208106 - EqualsGreaterThanToken 1208106 1208109 - CallExpression 1208109 1208138 - Identifier 1208109 1208127 - Identifier 1208128 1208129 - Identifier 1208130 1208137 - ColonToken 1208139 1208141 - ConditionalExpression 1208141 1208840 - BinaryExpression 1208141 1208204 - PropertyAccessExpression 1208141 1208167 - Identifier 1208141 1208161 - Identifier 1208162 1208167 - AmpersandToken 1208167 1208169 - PropertyAccessExpression 1208169 1208204 - Identifier 1208169 1208179 - Identifier 1208180 1208204 - QuestionToken 1208204 1208206 - CallExpression 1208206 1208280 - Identifier 1208206 1208224 - BinaryExpression 1208225 1208271 - CallExpression 1208225 1208256 - Identifier 1208225 1208248 - Identifier 1208249 1208255 - BarBarToken 1208256 1208259 - Identifier 1208259 1208271 - Identifier 1208272 1208279 - ColonToken 1208280 1208282 - ConditionalExpression 1208282 1208840 - CallExpression 1208282 1208330 - Identifier 1208282 1208322 - Identifier 1208323 1208329 - QuestionToken 1208330 1208332 - PrefixUnaryExpression 1208332 1208395 - PrefixUnaryExpression 1208334 1208395 - ParenthesizedExpression 1208335 1208395 - BinaryExpression 1208336 1208394 - PropertyAccessExpression 1208336 1208348 - Identifier 1208336 1208342 - Identifier 1208343 1208348 - AmpersandToken 1208348 1208350 - ParenthesizedExpression 1208350 1208394 - BinaryExpression 1208352 1208393 - PropertyAccessExpression 1208352 1208368 - Identifier 1208352 1208361 - Identifier 1208362 1208368 - BarToken 1208368 1208370 - PropertyAccessExpression 1208370 1208393 - Identifier 1208370 1208380 - Identifier 1208381 1208393 - ColonToken 1208395 1208397 - ConditionalExpression 1208397 1208840 - BinaryExpression 1208397 1208438 - Identifier 1208397 1208417 - EqualsEqualsEqualsToken 1208417 1208421 - Identifier 1208421 1208438 - QuestionToken 1208438 1208440 - BinaryExpression 1208440 1208542 - PrefixUnaryExpression 1208440 1208503 - PrefixUnaryExpression 1208442 1208503 - ParenthesizedExpression 1208443 1208503 - BinaryExpression 1208444 1208502 - PropertyAccessExpression 1208444 1208456 - Identifier 1208444 1208450 - Identifier 1208451 1208456 - AmpersandToken 1208456 1208458 - ParenthesizedExpression 1208458 1208502 - BinaryExpression 1208460 1208501 - PropertyAccessExpression 1208460 1208476 - Identifier 1208460 1208469 - Identifier 1208470 1208476 - BarToken 1208476 1208478 - PropertyAccessExpression 1208478 1208501 - Identifier 1208478 1208488 - Identifier 1208489 1208501 - AmpersandAmpersandToken 1208503 1208506 - PrefixUnaryExpression 1208506 1208542 - CallExpression 1208508 1208542 - Identifier 1208508 1208534 - Identifier 1208535 1208541 - ColonToken 1208542 1208544 - ConditionalExpression 1208544 1208840 - BinaryExpression 1208544 1208587 - Identifier 1208544 1208564 - EqualsEqualsEqualsToken 1208564 1208568 - Identifier 1208568 1208587 - QuestionToken 1208587 1208589 - BinaryExpression 1208589 1208671 - PrefixUnaryExpression 1208589 1208625 - PrefixUnaryExpression 1208591 1208625 - ParenthesizedExpression 1208592 1208625 - BinaryExpression 1208593 1208624 - PropertyAccessExpression 1208593 1208605 - Identifier 1208593 1208599 - Identifier 1208600 1208605 - AmpersandToken 1208605 1208607 - PropertyAccessExpression 1208607 1208624 - Identifier 1208607 1208617 - Identifier 1208618 1208624 - AmpersandAmpersandToken 1208625 1208628 - CallExpression 1208628 1208671 - Identifier 1208628 1208649 - AsExpression 1208650 1208670 - Identifier 1208650 1208656 - TypeReference 1208659 1208670 - Identifier 1208659 1208670 - ColonToken 1208671 1208673 - BinaryExpression 1208673 1208840 - CallExpression 1208673 1208729 - Identifier 1208673 1208698 - Identifier 1208699 1208705 - CallExpression 1208706 1208728 - Identifier 1208706 1208720 - Identifier 1208721 1208727 - BarBarToken 1208729 1208732 - ParenthesizedExpression 1208732 1208840 - BinaryExpression 1208734 1208839 - BinaryExpression 1208734 1208785 - CallExpression 1208734 1208753 - Identifier 1208734 1208745 - Identifier 1208746 1208752 - AmpersandAmpersandToken 1208753 1208756 - PrefixUnaryExpression 1208756 1208785 - CallExpression 1208758 1208785 - Identifier 1208758 1208777 - Identifier 1208778 1208784 - AmpersandAmpersandToken 1208785 1208788 - CallExpression 1208788 1208839 - Identifier 1208788 1208806 - Identifier 1208807 1208813 - Identifier 1208814 1208838 - FunctionDeclaration 1208848 1209679 - Identifier 1209545 1209564 - Parameter 1209565 1209577 - Identifier 1209565 1209571 - TypeReference 1209572 1209577 - Identifier 1209572 1209577 - Parameter 1209578 1209591 - Identifier 1209578 1209585 - TypeReference 1209586 1209591 - Identifier 1209586 1209591 - BooleanKeyword 1209593 1209601 - Block 1209601 1209679 - ReturnStatement 1209603 1209672 - CallExpression 1209619 1209671 - Identifier 1209619 1209635 - Identifier 1209636 1209642 - Identifier 1209643 1209650 - Identifier 1209651 1209670 - FunctionDeclaration 1209679 1209844 - Identifier 1209695 1209714 - Parameter 1209715 1209726 - Identifier 1209715 1209720 - TypeReference 1209721 1209726 - Identifier 1209721 1209726 - Parameter 1209727 1209739 - Identifier 1209727 1209733 - TypeReference 1209734 1209739 - Identifier 1209734 1209739 - BooleanKeyword 1209741 1209749 - Block 1209749 1209844 - ReturnStatement 1209751 1209837 - BinaryExpression 1209767 1209836 - CallExpression 1209767 1209800 - Identifier 1209767 1209786 - Identifier 1209787 1209792 - Identifier 1209793 1209799 - BarBarToken 1209800 1209803 - CallExpression 1209803 1209836 - Identifier 1209803 1209822 - Identifier 1209823 1209828 - Identifier 1209829 1209835 - FunctionDeclaration 1209844 1210244 - Identifier 1209860 1209882 - Parameter 1209883 1209895 - Identifier 1209883 1209889 - TypeReference 1209890 1209895 - Identifier 1209890 1209895 - Parameter 1209896 1209909 - Identifier 1209896 1209903 - TypeReference 1209904 1209909 - Identifier 1209904 1209909 - Parameter 1209910 1209938 - Identifier 1209910 1209920 - UnionType 1209921 1209938 - TypeReference 1209921 1209926 - Identifier 1209921 1209926 - UndefinedKeyword 1209928 1209938 - Parameter 1209939 1209971 - Identifier 1209939 1209951 - QuestionToken 1209951 1209952 - TypeReference 1209953 1209971 - Identifier 1209953 1209971 - Parameter 1209972 1210038 - Identifier 1209972 1209995 - QuestionToken 1209995 1209996 - FunctionType 1209997 1210038 - UnionType 1210003 1210038 - TypeReference 1210003 1210026 - Identifier 1210003 1210026 - UndefinedKeyword 1210028 1210038 - Parameter 1210039 1210086 - Identifier 1210039 1210057 - QuestionToken 1210057 1210058 - TypeLiteral 1210059 1210086 - PropertySignature 1210061 1210084 - Identifier 1210061 1210068 - QuestionToken 1210068 1210069 - ArrayType 1210070 1210083 - TypeReference 1210070 1210081 - Identifier 1210070 1210081 - BooleanKeyword 1210088 1210096 - Block 1210096 1210244 - ReturnStatement 1210098 1210237 - CallExpression 1210114 1210236 - Identifier 1210114 1210133 - Identifier 1210134 1210140 - Identifier 1210141 1210148 - Identifier 1210149 1210168 - Identifier 1210169 1210179 - Identifier 1210180 1210192 - Identifier 1210193 1210216 - Identifier 1210217 1210235 - FunctionDeclaration 1210244 1210985 - Identifier 1210552 1210596 - Parameter 1210597 1210609 - Identifier 1210597 1210603 - TypeReference 1210604 1210609 - Identifier 1210604 1210609 - Parameter 1210610 1210623 - Identifier 1210610 1210617 - TypeReference 1210618 1210623 - Identifier 1210618 1210623 - Parameter 1210624 1210652 - Identifier 1210624 1210634 - UnionType 1210635 1210652 - TypeReference 1210635 1210640 - Identifier 1210635 1210640 - UndefinedKeyword 1210642 1210652 - Parameter 1210653 1210682 - Identifier 1210653 1210658 - UnionType 1210659 1210682 - TypeReference 1210659 1210670 - Identifier 1210659 1210670 - UndefinedKeyword 1210672 1210682 - Parameter 1210683 1210715 - Identifier 1210683 1210695 - QuestionToken 1210695 1210696 - TypeReference 1210697 1210715 - Identifier 1210697 1210715 - Parameter 1210716 1210782 - Identifier 1210716 1210739 - QuestionToken 1210739 1210740 - FunctionType 1210741 1210782 - UnionType 1210747 1210782 - TypeReference 1210747 1210770 - Identifier 1210747 1210770 - UndefinedKeyword 1210772 1210782 - BooleanKeyword 1210784 1210792 - Block 1210792 1210985 - ReturnStatement 1210794 1210978 - CallExpression 1210810 1210977 - Identifier 1210810 1210851 - Identifier 1210852 1210858 - Identifier 1210859 1210866 - Identifier 1210867 1210886 - Identifier 1210887 1210897 - Identifier 1210898 1210903 - Identifier 1210904 1210916 - Identifier 1210917 1210940 - Identifier 1210941 1210976 - FunctionDeclaration 1210985 1211832 - Identifier 1211001 1211042 - Parameter 1211043 1211065 - Identifier 1211043 1211059 - TypeReference 1211060 1211065 - Identifier 1211060 1211065 - Parameter 1211066 1211088 - Identifier 1211066 1211082 - TypeReference 1211083 1211088 - Identifier 1211083 1211088 - Parameter 1211089 1211146 - Identifier 1211089 1211107 - TypeReference 1211108 1211146 - Identifier 1211108 1211112 - StringKeyword 1211113 1211119 - TypeReference 1211120 1211145 - Identifier 1211120 1211145 - Parameter 1211147 1211184 - Identifier 1211147 1211166 - UnionType 1211167 1211184 - TypeReference 1211167 1211172 - Identifier 1211167 1211172 - UndefinedKeyword 1211174 1211184 - Parameter 1211185 1211223 - Identifier 1211185 1211199 - UnionType 1211200 1211223 - TypeReference 1211200 1211211 - Identifier 1211200 1211211 - UndefinedKeyword 1211213 1211223 - Parameter 1211224 1211276 - Identifier 1211224 1211245 - UnionType 1211246 1211276 - TypeReference 1211246 1211264 - Identifier 1211246 1211264 - UndefinedKeyword 1211266 1211276 - Parameter 1211277 1211365 - Identifier 1211277 1211309 - UnionType 1211310 1211365 - ParenthesizedType 1211310 1211353 - FunctionType 1211312 1211352 - UnionType 1211317 1211352 - TypeReference 1211317 1211340 - Identifier 1211317 1211340 - UndefinedKeyword 1211342 1211352 - UndefinedKeyword 1211355 1211365 - Parameter 1211366 1211430 - Identifier 1211366 1211396 - UnionType 1211397 1211430 - TypeReference 1211397 1211418 - Identifier 1211397 1211418 - UndefinedKeyword 1211420 1211430 - BooleanKeyword 1211439 1211447 - Block 1211447 1211832 - IfStatement 1211449 1211518 - CallExpression 1211463 1211504 - Identifier 1211463 1211478 - Identifier 1211479 1211485 - Identifier 1211486 1211493 - Identifier 1211494 1211503 - ReturnStatement 1211505 1211518 - TrueKeyword 1211512 1211517 - IfStatement 1211518 1211802 - BinaryExpression 1211532 1211652 - PrefixUnaryExpression 1211532 1211542 - Identifier 1211533 1211542 - BarBarToken 1211542 1211545 - PrefixUnaryExpression 1211545 1211652 - CallExpression 1211547 1211652 - Identifier 1211547 1211561 - Identifier 1211562 1211566 - Identifier 1211567 1211574 - Identifier 1211575 1211582 - Identifier 1211583 1211592 - Identifier 1211593 1211605 - Identifier 1211606 1211629 - Identifier 1211630 1211651 - Block 1211653 1211802 - ReturnStatement 1211655 1211791 - CallExpression 1211675 1211790 - Identifier 1211675 1211694 - Identifier 1211695 1211701 - Identifier 1211702 1211709 - Identifier 1211710 1211719 - Identifier 1211720 1211730 - Identifier 1211731 1211743 - Identifier 1211744 1211767 - Identifier 1211768 1211789 - ReturnStatement 1211802 1211825 - FalseKeyword 1211818 1211824 - FunctionDeclaration 1211832 1212070 - Identifier 1211848 1211874 - Parameter 1211875 1211885 - Identifier 1211875 1211879 - TypeReference 1211880 1211885 - Identifier 1211880 1211885 - BooleanKeyword 1211887 1211895 - Block 1211895 1212070 - ReturnStatement 1211897 1212063 - PrefixUnaryExpression 1211913 1212062 - PrefixUnaryExpression 1211915 1212062 - ParenthesizedExpression 1211916 1212062 - BinaryExpression 1211917 1212061 - BinaryExpression 1211917 1211951 - PropertyAccessExpression 1211917 1211927 - Identifier 1211917 1211921 - Identifier 1211922 1211927 - AmpersandToken 1211927 1211929 - PropertyAccessExpression 1211929 1211951 - Identifier 1211929 1211939 - Identifier 1211940 1211951 - BarBarToken 1211951 1211954 - ParenthesizedExpression 1211954 1212061 - BinaryExpression 1211956 1212060 - BinaryExpression 1211956 1211991 - PropertyAccessExpression 1211956 1211966 - Identifier 1211956 1211960 - Identifier 1211961 1211966 - AmpersandToken 1211966 1211968 - PropertyAccessExpression 1211968 1211991 - Identifier 1211968 1211978 - Identifier 1211979 1211991 - AmpersandAmpersandToken 1211991 1211994 - CallExpression 1211994 1212060 - Identifier 1211994 1211999 - PropertyAccessExpression 1212000 1212032 - ParenthesizedExpression 1212000 1212026 - AsExpression 1212001 1212025 - Identifier 1212001 1212005 - TypeReference 1212008 1212025 - Identifier 1212008 1212025 - Identifier 1212027 1212032 - Identifier 1212033 1212059 - FunctionDeclaration 1212070 1214589 - Identifier 1212086 1212101 - Parameter 1212102 1212140 - Identifier 1212102 1212116 - UnionType 1212117 1212140 - TypeReference 1212117 1212128 - Identifier 1212117 1212128 - UndefinedKeyword 1212130 1212140 - Parameter 1212141 1212163 - Identifier 1212141 1212157 - TypeReference 1212158 1212163 - Identifier 1212158 1212163 - Parameter 1212164 1212186 - Identifier 1212164 1212180 - TypeReference 1212181 1212186 - Identifier 1212181 1212186 - Parameter 1212187 1212244 - Identifier 1212187 1212205 - TypeReference 1212206 1212244 - Identifier 1212206 1212210 - StringKeyword 1212211 1212217 - TypeReference 1212218 1212243 - Identifier 1212218 1212243 - Parameter 1212245 1212297 - Identifier 1212245 1212266 - UnionType 1212267 1212297 - TypeReference 1212267 1212285 - Identifier 1212267 1212285 - UndefinedKeyword 1212287 1212297 - Parameter 1212298 1212386 - Identifier 1212298 1212330 - UnionType 1212331 1212386 - ParenthesizedType 1212331 1212374 - FunctionType 1212333 1212373 - UnionType 1212338 1212373 - TypeReference 1212338 1212361 - Identifier 1212338 1212361 - UndefinedKeyword 1212363 1212373 - UndefinedKeyword 1212376 1212386 - Parameter 1212387 1212451 - Identifier 1212387 1212417 - UnionType 1212418 1212451 - TypeReference 1212418 1212439 - Identifier 1212418 1212439 - UndefinedKeyword 1212441 1212451 - BooleanKeyword 1212460 1212468 - Block 1212468 1214589 - IfStatement 1212470 1212541 - BinaryExpression 1212484 1212526 - PrefixUnaryExpression 1212484 1212489 - Identifier 1212485 1212489 - BarBarToken 1212489 1212492 - CallExpression 1212492 1212526 - Identifier 1212492 1212518 - Identifier 1212519 1212525 - ReturnStatement 1212527 1212541 - FalseKeyword 1212534 1212540 - IfStatement 1212541 1212833 - BinaryExpression 1212555 1212783 - PrefixUnaryExpression 1212555 1212639 - CallExpression 1212570 1212639 - Identifier 1212570 1212588 - Identifier 1212589 1212595 - Identifier 1212596 1212603 - Identifier 1212604 1212613 - Identifier 1212614 1212638 - AmpersandAmpersandToken 1212639 1212655 - CallExpression 1212655 1212783 - Identifier 1212655 1212692 - Identifier 1212693 1212697 - Identifier 1212698 1212705 - Identifier 1212706 1212713 - Identifier 1212714 1212723 - Identifier 1212724 1212736 - Identifier 1212737 1212760 - Identifier 1212761 1212782 - Block 1212794 1212833 - ReturnStatement 1212796 1212822 - TrueKeyword 1212816 1212821 - SwitchStatement 1212833 1214559 - PropertyAccessExpression 1212851 1212860 - Identifier 1212851 1212855 - Identifier 1212856 1212860 - CaseBlock 1212861 1214559 - CaseClause 1212863 1213001 - PropertyAccessExpression 1212881 1212905 - Identifier 1212881 1212892 - Identifier 1212893 1212905 - IfStatement 1212906 1213001 - PrefixUnaryExpression 1212928 1212951 - CallExpression 1212929 1212951 - Identifier 1212929 1212945 - Identifier 1212946 1212950 - Block 1212952 1213001 - BreakStatement 1212954 1212982 - CaseClause 1213001 1213077 - PropertyAccessExpression 1213051 1213076 - Identifier 1213051 1213062 - Identifier 1213063 1213076 - CaseClause 1213077 1213333 - PropertyAccessExpression 1213095 1213130 - Identifier 1213095 1213106 - Identifier 1213107 1213130 - ReturnStatement 1213131 1213333 - CallExpression 1213155 1213332 - Identifier 1213155 1213170 - PropertyAccessExpression 1213171 1213246 - ParenthesizedExpression 1213171 1213235 - AsExpression 1213172 1213234 - Identifier 1213172 1213176 - UnionType 1213179 1213234 - TypeReference 1213179 1213192 - Identifier 1213179 1213192 - TypeReference 1213194 1213218 - Identifier 1213194 1213218 - TypeReference 1213220 1213234 - Identifier 1213220 1213234 - Identifier 1213236 1213246 - Identifier 1213247 1213254 - Identifier 1213255 1213262 - Identifier 1213263 1213272 - Identifier 1213273 1213285 - Identifier 1213286 1213309 - Identifier 1213310 1213331 - CaseClause 1213333 1213763 - PropertyAccessExpression 1213351 1213379 - Identifier 1213351 1213362 - Identifier 1213363 1213379 - SwitchStatement 1213380 1213739 - PropertyAccessExpression 1213406 1213451 - PropertyAccessExpression 1213406 1213446 - ParenthesizedExpression 1213406 1213432 - AsExpression 1213407 1213431 - Identifier 1213407 1213411 - TypeReference 1213414 1213431 - Identifier 1213414 1213431 - Identifier 1213433 1213446 - Identifier 1213447 1213451 - CaseBlock 1213452 1213739 - CaseClause 1213454 1213504 - PropertyAccessExpression 1213480 1213503 - Identifier 1213480 1213491 - Identifier 1213492 1213503 - CaseClause 1213504 1213720 - PropertyAccessExpression 1213530 1213552 - Identifier 1213530 1213541 - Identifier 1213542 1213552 - ReturnStatement 1213553 1213720 - CallExpression 1213585 1213719 - Identifier 1213585 1213600 - PropertyAccessExpression 1213601 1213633 - ParenthesizedExpression 1213601 1213627 - AsExpression 1213602 1213626 - Identifier 1213602 1213606 - TypeReference 1213609 1213626 - Identifier 1213609 1213626 - Identifier 1213628 1213633 - Identifier 1213634 1213641 - Identifier 1213642 1213649 - Identifier 1213650 1213659 - Identifier 1213660 1213672 - Identifier 1213673 1213696 - Identifier 1213697 1213718 - BreakStatement 1213739 1213763 - CaseClause 1213763 1213970 - PropertyAccessExpression 1213781 1213816 - Identifier 1213781 1213792 - Identifier 1213793 1213816 - ReturnStatement 1213817 1213970 - CallExpression 1213841 1213969 - Identifier 1213841 1213864 - AsExpression 1213865 1213896 - Identifier 1213865 1213869 - TypeReference 1213872 1213896 - Identifier 1213872 1213896 - Identifier 1213897 1213904 - Identifier 1213905 1213912 - Identifier 1213913 1213922 - Identifier 1213923 1213946 - Identifier 1213947 1213968 - CaseClause 1213970 1214174 - PropertyAccessExpression 1213988 1214022 - Identifier 1213988 1213999 - Identifier 1214000 1214022 - ReturnStatement 1214023 1214174 - CallExpression 1214047 1214173 - Identifier 1214047 1214069 - AsExpression 1214070 1214100 - Identifier 1214070 1214074 - TypeReference 1214077 1214100 - Identifier 1214077 1214100 - Identifier 1214101 1214108 - Identifier 1214109 1214116 - Identifier 1214117 1214126 - Identifier 1214127 1214150 - Identifier 1214151 1214172 - CaseClause 1214174 1214361 - PropertyAccessExpression 1214192 1214217 - Identifier 1214192 1214203 - Identifier 1214204 1214217 - ReturnStatement 1214218 1214361 - CallExpression 1214242 1214360 - Identifier 1214242 1214265 - AsExpression 1214266 1214287 - Identifier 1214266 1214270 - TypeReference 1214273 1214287 - Identifier 1214273 1214287 - Identifier 1214288 1214295 - Identifier 1214296 1214303 - Identifier 1214304 1214313 - Identifier 1214314 1214337 - Identifier 1214338 1214359 - CaseClause 1214361 1214548 - PropertyAccessExpression 1214379 1214404 - Identifier 1214379 1214390 - Identifier 1214391 1214404 - ReturnStatement 1214405 1214548 - CallExpression 1214429 1214547 - Identifier 1214429 1214452 - AsExpression 1214453 1214474 - Identifier 1214453 1214457 - TypeReference 1214460 1214474 - Identifier 1214460 1214474 - Identifier 1214475 1214482 - Identifier 1214483 1214490 - Identifier 1214491 1214500 - Identifier 1214501 1214524 - Identifier 1214525 1214546 - ReturnStatement 1214559 1214582 - FalseKeyword 1214575 1214581 - FunctionDeclaration 1214589 1216303 - Identifier 1214605 1214642 - Parameter 1214643 1214669 - Identifier 1214643 1214657 - TypeReference 1214658 1214669 - Identifier 1214658 1214669 - Parameter 1214670 1214692 - Identifier 1214670 1214686 - TypeReference 1214687 1214692 - Identifier 1214687 1214692 - Parameter 1214693 1214715 - Identifier 1214693 1214709 - TypeReference 1214710 1214715 - Identifier 1214710 1214715 - Parameter 1214716 1214773 - Identifier 1214716 1214734 - TypeReference 1214735 1214773 - Identifier 1214735 1214739 - StringKeyword 1214740 1214746 - TypeReference 1214747 1214772 - Identifier 1214747 1214772 - Parameter 1214774 1214826 - Identifier 1214774 1214795 - UnionType 1214796 1214826 - TypeReference 1214796 1214814 - Identifier 1214796 1214814 - UndefinedKeyword 1214816 1214826 - Parameter 1214827 1214915 - Identifier 1214827 1214859 - UnionType 1214860 1214915 - ParenthesizedType 1214860 1214903 - FunctionType 1214862 1214902 - UnionType 1214867 1214902 - TypeReference 1214867 1214890 - Identifier 1214867 1214890 - UndefinedKeyword 1214892 1214902 - UndefinedKeyword 1214905 1214915 - Parameter 1214916 1214980 - Identifier 1214916 1214946 - UnionType 1214947 1214980 - TypeReference 1214947 1214968 - Identifier 1214947 1214968 - UndefinedKeyword 1214970 1214980 - BooleanKeyword 1214989 1214997 - Block 1214997 1216303 - VariableStatement 1214999 1215080 - VariableDeclarationList 1214999 1215079 - VariableDeclaration 1215014 1215079 - Identifier 1215014 1215029 - CallExpression 1215031 1215079 - Identifier 1215031 1215051 - Identifier 1215052 1215058 - PropertyAccessExpression 1215059 1215078 - Identifier 1215059 1215073 - Identifier 1215074 1215078 - VariableStatement 1215080 1215171 - VariableDeclarationList 1215080 1215170 - VariableDeclaration 1215095 1215170 - Identifier 1215095 1215115 - CallExpression 1215117 1215170 - Identifier 1215117 1215137 - Identifier 1215138 1215144 - PropertyAccessExpression 1215145 1215169 - Identifier 1215145 1215159 - Identifier 1215160 1215169 - ForOfStatement 1215171 1216273 - VariableDeclarationList 1215186 1215202 - VariableDeclaration 1215191 1215202 - Identifier 1215191 1215202 - ArrayLiteralExpression 1215205 1215243 - Identifier 1215207 1215226 - Identifier 1215227 1215242 - Block 1215244 1216273 - IfStatement 1215246 1216262 - CallExpression 1215264 1215556 - Identifier 1215264 1215286 - Identifier 1215287 1215297 - ArrowFunction 1215298 1215555 - Parameter 1215298 1215300 - Identifier 1215298 1215300 - EqualsGreaterThanToken 1215300 1215303 - Block 1215303 1215555 - VariableStatement 1215305 1215374 - VariableDeclarationList 1215305 1215373 - VariableDeclaration 1215332 1215373 - Identifier 1215332 1215343 - CallExpression 1215345 1215373 - Identifier 1215345 1215370 - Identifier 1215371 1215372 - ReturnStatement 1215374 1215536 - BinaryExpression 1215402 1215535 - PrefixUnaryExpression 1215402 1215458 - ParenthesizedExpression 1215404 1215458 - BinaryExpression 1215405 1215457 - PropertyAccessExpression 1215405 1215421 - Identifier 1215405 1215415 - Identifier 1215416 1215421 - AmpersandToken 1215421 1215423 - ParenthesizedExpression 1215423 1215457 - BinaryExpression 1215425 1215456 - PropertyAccessExpression 1215425 1215438 - Identifier 1215425 1215434 - Identifier 1215435 1215438 - BarToken 1215438 1215440 - PropertyAccessExpression 1215440 1215456 - Identifier 1215440 1215450 - Identifier 1215451 1215456 - AmpersandAmpersandToken 1215458 1215461 - CallExpression 1215461 1215535 - Identifier 1215461 1215480 - Identifier 1215481 1215491 - Identifier 1215492 1215499 - Identifier 1215500 1215509 - Identifier 1215510 1215534 - Block 1215571 1216262 - VariableStatement 1215573 1215664 - VariableDeclarationList 1215573 1215663 - VariableDeclaration 1215596 1215663 - Identifier 1215596 1215606 - TypeLiteral 1215607 1215634 - PropertySignature 1215609 1215632 - Identifier 1215609 1215616 - QuestionToken 1215616 1215617 - ArrayType 1215618 1215631 - TypeReference 1215618 1215629 - Identifier 1215618 1215629 - BinaryExpression 1215636 1215663 - Identifier 1215636 1215657 - BarBarToken 1215657 1215660 - ObjectLiteralExpression 1215660 1215663 - ExpressionStatement 1215664 1215774 - CallExpression 1215664 1215773 - Identifier 1215664 1215703 - Identifier 1215704 1215710 - Identifier 1215711 1215718 - Identifier 1215719 1215724 - Identifier 1215725 1215737 - Identifier 1215738 1215761 - Identifier 1215762 1215772 - VariableStatement 1215774 1215859 - VariableDeclarationList 1215774 1215858 - VariableDeclaration 1215797 1215858 - Identifier 1215797 1215808 - ElementAccessExpression 1215810 1215858 - NonNullExpression 1215810 1215828 - PropertyAccessExpression 1215810 1215827 - Identifier 1215810 1215820 - Identifier 1215821 1215827 - BinaryExpression 1215829 1215857 - PropertyAccessExpression 1215829 1215853 - NonNullExpression 1215829 1215846 - PropertyAccessExpression 1215829 1215845 - Identifier 1215829 1215838 - Identifier 1215839 1215845 - Identifier 1215847 1215853 - MinusToken 1215853 1215855 - NumericLiteral 1215855 1215857 - ExpressionStatement 1215859 1216217 - CallExpression 1215859 1216216 - Identifier 1215859 1215891 - Identifier 1215892 1215924 - CallExpression 1215925 1216196 - Identifier 1215925 1215970 - Identifier 1215971 1216001 - ConditionalExpression 1216002 1216172 - BinaryExpression 1216002 1216062 - Identifier 1216002 1216038 - EqualsEqualsEqualsToken 1216038 1216042 - Identifier 1216042 1216062 - QuestionToken 1216062 1216064 - PropertyAccessExpression 1216064 1216121 - Identifier 1216064 1216076 - Identifier 1216077 1216121 - ColonToken 1216121 1216123 - PropertyAccessExpression 1216123 1216172 - Identifier 1216123 1216135 - Identifier 1216136 1216172 - ReturnStatement 1216217 1216247 - TrueKeyword 1216241 1216246 - ReturnStatement 1216273 1216296 - FalseKeyword 1216289 1216295 - FunctionDeclaration 1216303 1219476 - Identifier 1216319 1216342 - Parameter 1216343 1216372 - Identifier 1216343 1216357 - TypeReference 1216358 1216372 - Identifier 1216358 1216372 - Parameter 1216373 1216395 - Identifier 1216373 1216389 - TypeReference 1216390 1216395 - Identifier 1216390 1216395 - Parameter 1216396 1216418 - Identifier 1216396 1216412 - TypeReference 1216413 1216418 - Identifier 1216413 1216418 - Parameter 1216419 1216476 - Identifier 1216419 1216437 - TypeReference 1216438 1216476 - Identifier 1216438 1216442 - StringKeyword 1216443 1216449 - TypeReference 1216450 1216475 - Identifier 1216450 1216475 - Parameter 1216477 1216565 - Identifier 1216477 1216509 - UnionType 1216510 1216565 - ParenthesizedType 1216510 1216553 - FunctionType 1216512 1216552 - UnionType 1216517 1216552 - TypeReference 1216517 1216540 - Identifier 1216517 1216540 - UndefinedKeyword 1216542 1216552 - UndefinedKeyword 1216555 1216565 - Parameter 1216566 1216630 - Identifier 1216566 1216596 - UnionType 1216597 1216630 - TypeReference 1216597 1216618 - Identifier 1216597 1216618 - UndefinedKeyword 1216620 1216630 - BooleanKeyword 1216639 1216647 - Block 1216647 1219476 - IfStatement 1216649 1216757 - CallExpression 1216698 1216716 - Identifier 1216698 1216705 - PropertyAccessExpression 1216706 1216715 - Identifier 1216706 1216710 - Identifier 1216711 1216715 - Block 1216717 1216757 - ReturnStatement 1216719 1216746 - FalseKeyword 1216739 1216745 - IfStatement 1216757 1216898 - CallExpression 1216827 1216857 - Identifier 1216827 1216831 - PropertyAccessExpression 1216832 1216847 - Identifier 1216832 1216836 - Identifier 1216837 1216847 - Identifier 1216848 1216856 - Block 1216858 1216898 - ReturnStatement 1216860 1216887 - FalseKeyword 1216880 1216886 - VariableStatement 1216898 1216957 - VariableDeclarationList 1216898 1216956 - VariableDeclaration 1216913 1216956 - Identifier 1216913 1216923 - CallExpression 1216925 1216956 - Identifier 1216925 1216948 - Identifier 1216949 1216955 - IfStatement 1216957 1217022 - PrefixUnaryExpression 1216971 1216981 - Identifier 1216972 1216981 - Block 1216982 1217022 - ReturnStatement 1216984 1217011 - FalseKeyword 1217004 1217010 - VariableStatement 1217022 1217105 - VariableDeclarationList 1217022 1217104 - VariableDeclaration 1217037 1217104 - Identifier 1217037 1217054 - CallExpression 1217056 1217104 - Identifier 1217056 1217076 - Identifier 1217077 1217083 - PropertyAccessExpression 1217084 1217103 - Identifier 1217084 1217098 - Identifier 1217099 1217103 - IfStatement 1217105 1217185 - PrefixUnaryExpression 1217119 1217144 - CallExpression 1217120 1217144 - Identifier 1217120 1217126 - Identifier 1217127 1217143 - Block 1217145 1217185 - ReturnStatement 1217147 1217174 - FalseKeyword 1217167 1217173 - VariableStatement 1217185 1217230 - VariableDeclarationList 1217185 1217229 - VariableDeclaration 1217200 1217229 - Identifier 1217200 1217217 - PropertyAccessExpression 1217219 1217229 - Identifier 1217219 1217224 - Identifier 1217225 1217229 - VariableStatement 1217230 1217297 - VariableDeclarationList 1217230 1217296 - VariableDeclaration 1217245 1217296 - Identifier 1217245 1217258 - CallExpression 1217260 1217296 - Identifier 1217260 1217285 - Identifier 1217286 1217295 - VariableStatement 1217297 1217390 - VariableDeclarationList 1217297 1217389 - VariableDeclaration 1217312 1217389 - Identifier 1217312 1217325 - CallExpression 1217327 1217389 - Identifier 1217327 1217340 - CallExpression 1217341 1217388 - Identifier 1217341 1217344 - Identifier 1217345 1217361 - Identifier 1217362 1217387 - IfStatement 1217390 1219446 - PrefixUnaryExpression 1217404 1217486 - CallExpression 1217405 1217486 - Identifier 1217405 1217423 - Identifier 1217424 1217436 - Identifier 1217437 1217450 - Identifier 1217451 1217460 - Identifier 1217461 1217485 - Block 1217487 1219446 - VariableStatement 1217489 1217686 - VariableDeclarationList 1217489 1217685 - VariableDeclaration 1217508 1217685 - Identifier 1217508 1217519 - BinaryExpression 1217521 1217685 - Identifier 1217521 1217538 - AmpersandAmpersandToken 1217538 1217541 - CallExpression 1217541 1217685 - Identifier 1217541 1217556 - Identifier 1217557 1217573 - Identifier 1217574 1217587 - Identifier 1217588 1217601 - Identifier 1217602 1217611 - Identifier 1217612 1217638 - Identifier 1217639 1217662 - Identifier 1217663 1217684 - IfStatement 1217686 1217768 - Identifier 1217704 1217714 - Block 1217715 1217768 - ReturnStatement 1217717 1217753 - Identifier 1217741 1217752 - VariableStatement 1217768 1217855 - VariableDeclarationList 1217768 1217854 - VariableDeclaration 1217787 1217854 - Identifier 1217787 1217797 - TypeLiteral 1217798 1217825 - PropertySignature 1217800 1217823 - Identifier 1217800 1217807 - QuestionToken 1217807 1217808 - ArrayType 1217809 1217822 - TypeReference 1217809 1217820 - Identifier 1217809 1217820 - BinaryExpression 1217827 1217854 - Identifier 1217827 1217848 - BarBarToken 1217848 1217851 - ObjectLiteralExpression 1217851 1217854 - ExpressionStatement 1217855 1218006 - CallExpression 1217855 1218005 - Identifier 1217855 1217887 - Identifier 1217888 1217900 - Identifier 1217901 1217914 - Identifier 1217915 1217924 - Identifier 1217925 1217942 - Identifier 1217943 1217969 - Identifier 1217970 1217993 - Identifier 1217994 1218004 - IfStatement 1218006 1219435 - PropertyAccessExpression 1218024 1218040 - Identifier 1218024 1218033 - Identifier 1218034 1218040 - Block 1218041 1219435 - IfStatement 1218043 1218515 - BinaryExpression 1218065 1218116 - PropertyAccessExpression 1218065 1218078 - Identifier 1218065 1218071 - Identifier 1218072 1218078 - AmpersandAmpersandToken 1218078 1218081 - CallExpression 1218081 1218116 - Identifier 1218081 1218088 - PropertyAccessExpression 1218089 1218115 - PropertyAccessExpression 1218089 1218102 - Identifier 1218089 1218095 - Identifier 1218096 1218102 - Identifier 1218103 1218115 - Block 1218117 1218515 - ExpressionStatement 1218119 1218496 - CallExpression 1218119 1218495 - Identifier 1218119 1218155 - ElementAccessExpression 1218156 1218227 - PropertyAccessExpression 1218156 1218198 - Identifier 1218156 1218191 - Identifier 1218192 1218198 - BinaryExpression 1218199 1218226 - PropertyAccessExpression 1218199 1218222 - PropertyAccessExpression 1218199 1218215 - Identifier 1218199 1218208 - Identifier 1218209 1218215 - Identifier 1218216 1218222 - MinusToken 1218222 1218224 - NumericLiteral 1218224 1218226 - CallExpression 1218228 1218471 - Identifier 1218228 1218277 - ElementAccessExpression 1218278 1218338 - NonNullExpression 1218278 1218335 - PropertyAccessExpression 1218278 1218334 - PropertyAccessExpression 1218278 1218321 - Identifier 1218278 1218314 - Identifier 1218315 1218321 - Identifier 1218322 1218334 - NumericLiteral 1218336 1218337 - PropertyAccessExpression 1218339 1218443 - Identifier 1218339 1218380 - Identifier 1218381 1218443 - IfStatement 1218515 1219390 - BinaryExpression 1218537 1219018 - BinaryExpression 1218537 1218893 - BinaryExpression 1218537 1218611 - ParenthesizedExpression 1218537 1218605 - BinaryExpression 1218560 1218604 - CallExpression 1218560 1218582 - Identifier 1218560 1218576 - Identifier 1218577 1218581 - AmpersandToken 1218582 1218584 - PropertyAccessExpression 1218584 1218604 - Identifier 1218584 1218598 - Identifier 1218599 1218604 - EqualsEqualsEqualsToken 1218605 1218609 - NumericLiteral 1218609 1218611 - AmpersandAmpersandToken 1218611 1218834 - PrefixUnaryExpression 1218834 1218893 - CallExpression 1218836 1218893 - Identifier 1218836 1218859 - Identifier 1218860 1218872 - AsExpression 1218873 1218892 - StringLiteral 1218873 1218880 - TypeReference 1218883 1218892 - Identifier 1218883 1218892 - AmpersandAmpersandToken 1218893 1218917 - CallExpression 1218917 1219018 - Identifier 1218917 1218936 - CallExpression 1218937 1218968 - Identifier 1218937 1218954 - Identifier 1218955 1218967 - Identifier 1218969 1218982 - Identifier 1218983 1218992 - Identifier 1218993 1219017 - Block 1219037 1219390 - ExpressionStatement 1219039 1219371 - CallExpression 1219039 1219370 - Identifier 1219039 1219075 - ElementAccessExpression 1219076 1219147 - PropertyAccessExpression 1219076 1219118 - Identifier 1219076 1219111 - Identifier 1219112 1219118 - BinaryExpression 1219119 1219146 - PropertyAccessExpression 1219119 1219142 - PropertyAccessExpression 1219119 1219135 - Identifier 1219119 1219128 - Identifier 1219129 1219135 - Identifier 1219136 1219142 - MinusToken 1219142 1219144 - NumericLiteral 1219144 1219146 - CallExpression 1219148 1219346 - Identifier 1219148 1219197 - Identifier 1219198 1219232 - PropertyAccessExpression 1219233 1219318 - Identifier 1219233 1219274 - Identifier 1219275 1219318 - ReturnStatement 1219390 1219420 - TrueKeyword 1219414 1219419 - ReturnStatement 1219446 1219469 - FalseKeyword 1219462 1219468 - FunctionDeclaration 1219476 1219961 - Identifier 1219492 1219533 - Parameter 1219534 1219546 - Identifier 1219534 1219540 - TypeReference 1219541 1219546 - Identifier 1219541 1219546 - Parameter 1219547 1219560 - Identifier 1219547 1219554 - TypeReference 1219555 1219560 - Identifier 1219555 1219560 - Parameter 1219561 1219576 - Identifier 1219561 1219570 - TypeReference 1219571 1219576 - Identifier 1219571 1219576 - Block 1219577 1219961 - VariableStatement 1219579 1219651 - VariableDeclarationList 1219579 1219650 - VariableDeclaration 1219594 1219650 - Identifier 1219594 1219598 - CallExpression 1219600 1219650 - Identifier 1219600 1219632 - Identifier 1219633 1219639 - Identifier 1219640 1219649 - IfStatement 1219651 1219707 - Identifier 1219665 1219668 - Block 1219669 1219707 - ReturnStatement 1219671 1219696 - Identifier 1219691 1219695 - IfStatement 1219707 1219954 - BinaryExpression 1219721 1219751 - PropertyAccessExpression 1219721 1219733 - Identifier 1219721 1219727 - Identifier 1219728 1219733 - AmpersandToken 1219733 1219735 - PropertyAccessExpression 1219735 1219751 - Identifier 1219735 1219745 - Identifier 1219746 1219751 - Block 1219752 1219954 - VariableStatement 1219754 1219830 - VariableDeclarationList 1219754 1219829 - VariableDeclaration 1219773 1219829 - Identifier 1219773 1219778 - CallExpression 1219780 1219829 - Identifier 1219780 1219800 - Identifier 1219801 1219807 - AsExpression 1219808 1219828 - Identifier 1219808 1219815 - TypeReference 1219818 1219828 - Identifier 1219818 1219828 - IfStatement 1219830 1219943 - Identifier 1219848 1219852 - Block 1219853 1219943 - ReturnStatement 1219855 1219928 - CallExpression 1219879 1219927 - Identifier 1219879 1219911 - Identifier 1219912 1219916 - Identifier 1219917 1219926 - FunctionDeclaration 1219961 1220289 - Identifier 1219977 1220029 - Parameter 1220030 1220046 - Identifier 1220030 1220034 - TypeReference 1220035 1220046 - Identifier 1220035 1220046 - Parameter 1220047 1220068 - Identifier 1220047 1220062 - TypeReference 1220063 1220068 - Identifier 1220063 1220068 - Block 1220069 1220289 - ExpressionStatement 1220071 1220141 - CallExpression 1220071 1220140 - Identifier 1220071 1220099 - Identifier 1220100 1220104 - Identifier 1220105 1220120 - FalseKeyword 1220121 1220139 - VariableStatement 1220141 1220228 - VariableDeclarationList 1220141 1220227 - VariableDeclaration 1220156 1220227 - Identifier 1220156 1220163 - CallExpression 1220165 1220227 - Identifier 1220165 1220199 - Identifier 1220200 1220204 - PropertyAccessExpression 1220205 1220226 - Identifier 1220205 1220215 - Identifier 1220216 1220226 - ExpressionStatement 1220228 1220258 - CallExpression 1220228 1220257 - Identifier 1220228 1220255 - ReturnStatement 1220258 1220282 - Identifier 1220274 1220281 - TypeAliasDeclaration 1220289 1220466 - Identifier 1220301 1220321 - TypeReference 1220323 1220465 - Identifier 1220323 1220340 - TypeLiteral 1220341 1220464 - PropertySignature 1220342 1220359 - Identifier 1220342 1220352 - TypeReference 1220353 1220358 - Identifier 1220353 1220358 - PropertySignature 1220359 1220400 - Identifier 1220359 1220375 - UnionType 1220376 1220399 - TypeReference 1220376 1220387 - Identifier 1220376 1220387 - UndefinedKeyword 1220389 1220399 - PropertySignature 1220400 1220416 - Identifier 1220400 1220409 - TypeReference 1220410 1220415 - Identifier 1220410 1220415 - PropertySignature 1220416 1220462 - Identifier 1220416 1220429 - QuestionToken 1220429 1220430 - UnionType 1220431 1220461 - TypeReference 1220431 1220449 - Identifier 1220431 1220449 - UndefinedKeyword 1220451 1220461 - FunctionDeclaration 1220466 1226612 - Identifier 1220892 1220913 - Parameter 1220914 1220953 - Identifier 1220914 1220932 - TypeReference 1220933 1220953 - Identifier 1220933 1220953 - Parameter 1220954 1220976 - Identifier 1220954 1220970 - TypeReference 1220971 1220976 - Identifier 1220971 1220976 - Parameter 1220977 1220999 - Identifier 1220977 1220993 - TypeReference 1220994 1220999 - Identifier 1220994 1220999 - Parameter 1221000 1221057 - Identifier 1221000 1221018 - TypeReference 1221019 1221057 - Identifier 1221019 1221023 - StringKeyword 1221024 1221030 - TypeReference 1221031 1221056 - Identifier 1221031 1221056 - Parameter 1221058 1221146 - Identifier 1221058 1221090 - UnionType 1221091 1221146 - ParenthesizedType 1221091 1221134 - FunctionType 1221093 1221133 - UnionType 1221098 1221133 - TypeReference 1221098 1221121 - Identifier 1221098 1221121 - UndefinedKeyword 1221123 1221133 - UndefinedKeyword 1221136 1221146 - Parameter 1221147 1221211 - Identifier 1221147 1221177 - UnionType 1221178 1221211 - TypeReference 1221178 1221199 - Identifier 1221178 1221199 - UndefinedKeyword 1221201 1221211 - Block 1221219 1226612 - VariableStatement 1221221 1221374 - VariableDeclarationList 1221221 1221373 - VariableDeclaration 1221351 1221373 - Identifier 1221351 1221365 - FalseKeyword 1221367 1221373 - ForOfStatement 1221374 1226574 - VariableDeclarationList 1221389 1221400 - VariableDeclaration 1221394 1221400 - Identifier 1221394 1221400 - Identifier 1221403 1221412 - Block 1221413 1226574 - VariableStatement 1221415 1221510 - VariableDeclarationList 1221415 1221509 - VariableDeclaration 1221434 1221509 - ObjectBindingPattern 1221434 1221501 - BindingElement 1221436 1221452 - Identifier 1221436 1221446 - Identifier 1221447 1221452 - BindingElement 1221453 1221475 - Identifier 1221453 1221469 - Identifier 1221470 1221475 - BindingElement 1221476 1221485 - Identifier 1221476 1221485 - BindingElement 1221486 1221499 - Identifier 1221486 1221499 - Identifier 1221503 1221509 - VariableStatement 1221510 1221612 - VariableDeclarationList 1221510 1221611 - VariableDeclaration 1221527 1221611 - Identifier 1221527 1221542 - CallExpression 1221544 1221611 - Identifier 1221544 1221585 - Identifier 1221586 1221592 - Identifier 1221593 1221600 - Identifier 1221601 1221610 - IfStatement 1221612 1221706 - BinaryExpression 1221630 1221695 - PrefixUnaryExpression 1221630 1221645 - Identifier 1221631 1221645 - BarBarToken 1221645 1221648 - BinaryExpression 1221648 1221695 - PropertyAccessExpression 1221648 1221669 - Identifier 1221648 1221663 - Identifier 1221664 1221669 - AmpersandToken 1221669 1221671 - PropertyAccessExpression 1221671 1221695 - Identifier 1221671 1221681 - Identifier 1221682 1221695 - ContinueStatement 1221696 1221706 - VariableStatement 1221706 1221842 - VariableDeclarationList 1221706 1221841 - VariableDeclaration 1221774 1221841 - Identifier 1221774 1221789 - CallExpression 1221791 1221841 - Identifier 1221791 1221823 - Identifier 1221824 1221830 - Identifier 1221831 1221840 - IfStatement 1221842 1221886 - PrefixUnaryExpression 1221860 1221875 - Identifier 1221861 1221875 - ContinueStatement 1221876 1221886 - VariableStatement 1221886 1221978 - VariableDeclarationList 1221886 1221977 - VariableDeclaration 1221905 1221977 - Identifier 1221905 1221914 - CallExpression 1221916 1221977 - Identifier 1221916 1221941 - Identifier 1221942 1221950 - Identifier 1221951 1221976 - IfStatement 1221978 1226563 - PrefixUnaryExpression 1221996 1222082 - CallExpression 1221997 1222082 - Identifier 1221997 1222015 - Identifier 1222016 1222030 - Identifier 1222031 1222046 - Identifier 1222047 1222056 - Identifier 1222057 1222081 - Block 1222083 1226563 - VariableStatement 1222085 1222266 - VariableDeclarationList 1222085 1222265 - VariableDeclaration 1222108 1222265 - Identifier 1222108 1222119 - BinaryExpression 1222121 1222265 - Identifier 1222121 1222126 - AmpersandAmpersandToken 1222126 1222129 - CallExpression 1222129 1222265 - Identifier 1222129 1222144 - Identifier 1222145 1222149 - Identifier 1222150 1222165 - Identifier 1222166 1222181 - Identifier 1222182 1222191 - Identifier 1222192 1222218 - Identifier 1222219 1222242 - Identifier 1222243 1222264 - ExpressionStatement 1222266 1222305 - BinaryExpression 1222266 1222304 - Identifier 1222266 1222297 - EqualsToken 1222297 1222299 - TrueKeyword 1222299 1222304 - IfStatement 1222305 1226548 - PrefixUnaryExpression 1222327 1222338 - Identifier 1222328 1222338 - Block 1222339 1226548 - VariableStatement 1222341 1222536 - VariableDeclarationList 1222341 1222535 - VariableDeclaration 1222468 1222535 - Identifier 1222468 1222478 - TypeLiteral 1222479 1222506 - PropertySignature 1222481 1222504 - Identifier 1222481 1222488 - QuestionToken 1222488 1222489 - ArrayType 1222490 1222503 - TypeReference 1222490 1222501 - Identifier 1222490 1222501 - BinaryExpression 1222508 1222535 - Identifier 1222508 1222529 - BarBarToken 1222529 1222532 - ObjectLiteralExpression 1222532 1222535 - VariableStatement 1222536 1222741 - VariableDeclarationList 1222536 1222740 - VariableDeclaration 1222625 1222740 - Identifier 1222625 1222640 - ConditionalExpression 1222642 1222740 - Identifier 1222642 1222647 - QuestionToken 1222647 1222649 - CallExpression 1222649 1222723 - Identifier 1222649 1222701 - Identifier 1222702 1222706 - Identifier 1222707 1222722 - ColonToken 1222723 1222725 - Identifier 1222725 1222740 - IfStatement 1222741 1224382 - BinaryExpression 1222767 1222860 - Identifier 1222767 1222793 - AmpersandAmpersandToken 1222793 1222796 - CallExpression 1222796 1222860 - Identifier 1222796 1222828 - Identifier 1222829 1222843 - Identifier 1222844 1222859 - Block 1222861 1223258 - VariableStatement 1222863 1223135 - VariableDeclarationList 1222863 1223134 - VariableDeclaration 1222894 1223134 - Identifier 1222894 1222899 - CallExpression 1222901 1223134 - Identifier 1222901 1222925 - Identifier 1222926 1222930 - PropertyAccessExpression 1222931 1223073 - Identifier 1222931 1222943 - Identifier 1222944 1223073 - CallExpression 1223074 1223103 - Identifier 1223074 1223087 - Identifier 1223088 1223102 - CallExpression 1223104 1223133 - Identifier 1223104 1223117 - Identifier 1223118 1223132 - ExpressionStatement 1223135 1223183 - CallExpression 1223135 1223182 - PropertyAccessExpression 1223135 1223176 - Identifier 1223135 1223172 - Identifier 1223173 1223176 - Identifier 1223177 1223181 - ExpressionStatement 1223183 1223235 - BinaryExpression 1223183 1223234 - PropertyAccessExpression 1223183 1223225 - Identifier 1223183 1223218 - Identifier 1223219 1223225 - EqualsToken 1223225 1223227 - ArrayLiteralExpression 1223227 1223234 - Identifier 1223229 1223233 - Block 1223284 1224382 - VariableStatement 1223286 1223437 - VariableDeclarationList 1223286 1223436 - VariableDeclaration 1223317 1223436 - Identifier 1223317 1223334 - PrefixUnaryExpression 1223336 1223436 - PrefixUnaryExpression 1223338 1223436 - ParenthesizedExpression 1223339 1223436 - BinaryExpression 1223340 1223435 - Identifier 1223340 1223348 - AmpersandAmpersandToken 1223348 1223351 - BinaryExpression 1223351 1223435 - PropertyAccessExpression 1223351 1223412 - ParenthesizedExpression 1223351 1223406 - BinaryExpression 1223353 1223405 - CallExpression 1223353 1223388 - Identifier 1223353 1223370 - Identifier 1223371 1223377 - Identifier 1223378 1223387 - BarBarToken 1223388 1223391 - Identifier 1223391 1223405 - Identifier 1223407 1223412 - AmpersandToken 1223412 1223414 - PropertyAccessExpression 1223414 1223435 - Identifier 1223414 1223426 - Identifier 1223427 1223435 - VariableStatement 1223437 1223588 - VariableDeclarationList 1223437 1223587 - VariableDeclaration 1223468 1223587 - Identifier 1223468 1223485 - PrefixUnaryExpression 1223487 1223587 - PrefixUnaryExpression 1223489 1223587 - ParenthesizedExpression 1223490 1223587 - BinaryExpression 1223491 1223586 - Identifier 1223491 1223499 - AmpersandAmpersandToken 1223499 1223502 - BinaryExpression 1223502 1223586 - PropertyAccessExpression 1223502 1223563 - ParenthesizedExpression 1223502 1223557 - BinaryExpression 1223504 1223556 - CallExpression 1223504 1223539 - Identifier 1223504 1223521 - Identifier 1223522 1223528 - Identifier 1223529 1223538 - BarBarToken 1223539 1223542 - Identifier 1223542 1223556 - Identifier 1223558 1223563 - AmpersandToken 1223563 1223565 - PropertyAccessExpression 1223565 1223586 - Identifier 1223565 1223577 - Identifier 1223578 1223586 - ExpressionStatement 1223588 1223683 - BinaryExpression 1223588 1223682 - Identifier 1223588 1223628 - EqualsToken 1223628 1223630 - CallExpression 1223630 1223682 - Identifier 1223630 1223648 - Identifier 1223649 1223663 - Identifier 1223664 1223681 - ExpressionStatement 1223683 1223798 - BinaryExpression 1223683 1223797 - Identifier 1223683 1223723 - EqualsToken 1223723 1223725 - CallExpression 1223725 1223797 - Identifier 1223725 1223743 - Identifier 1223744 1223758 - BinaryExpression 1223759 1223796 - Identifier 1223759 1223776 - AmpersandAmpersandToken 1223776 1223779 - Identifier 1223779 1223796 - VariableStatement 1223798 1223955 - VariableDeclarationList 1223798 1223954 - VariableDeclaration 1223829 1223954 - Identifier 1223829 1223836 - CallExpression 1223838 1223954 - Identifier 1223838 1223857 - Identifier 1223858 1223872 - Identifier 1223873 1223888 - Identifier 1223889 1223898 - Identifier 1223899 1223904 - Identifier 1223905 1223918 - Identifier 1223919 1223942 - Identifier 1223943 1223953 - IfStatement 1223955 1224359 - BinaryExpression 1223985 1224028 - Identifier 1223985 1223991 - AmpersandAmpersandToken 1223991 1223994 - BinaryExpression 1223994 1224028 - Identifier 1223994 1224009 - ExclamationEqualsEqualsToken 1224009 1224013 - Identifier 1224013 1224028 - Block 1224029 1224359 - ExpressionStatement 1224031 1224332 - CallExpression 1224031 1224331 - Identifier 1224031 1224234 - Identifier 1224235 1224249 - Identifier 1224250 1224265 - Identifier 1224266 1224275 - Identifier 1224276 1224281 - Identifier 1224282 1224295 - Identifier 1224296 1224319 - Identifier 1224320 1224330 - IfStatement 1224382 1226529 - PropertyAccessExpression 1224408 1224424 - Identifier 1224408 1224417 - Identifier 1224418 1224424 - Block 1224425 1226529 - VariableStatement 1224427 1224520 - VariableDeclarationList 1224427 1224519 - VariableDeclaration 1224458 1224519 - Identifier 1224458 1224471 - ElementAccessExpression 1224473 1224519 - PropertyAccessExpression 1224473 1224490 - Identifier 1224473 1224483 - Identifier 1224484 1224490 - BinaryExpression 1224491 1224518 - PropertyAccessExpression 1224491 1224514 - PropertyAccessExpression 1224491 1224507 - Identifier 1224491 1224500 - Identifier 1224501 1224507 - Identifier 1224508 1224514 - MinusToken 1224514 1224516 - NumericLiteral 1224516 1224518 - VariableStatement 1224520 1224652 - VariableDeclarationList 1224520 1224651 - VariableDeclaration 1224551 1224651 - Identifier 1224551 1224564 - ConditionalExpression 1224566 1224651 - CallExpression 1224566 1224603 - Identifier 1224566 1224593 - Identifier 1224594 1224602 - QuestionToken 1224603 1224605 - CallExpression 1224605 1224639 - Identifier 1224605 1224629 - Identifier 1224630 1224638 - ColonToken 1224639 1224641 - Identifier 1224641 1224651 - VariableStatement 1224652 1224778 - VariableDeclarationList 1224652 1224777 - VariableDeclaration 1224683 1224777 - Identifier 1224683 1224694 - ConditionalExpression 1224696 1224777 - BinaryExpression 1224696 1224723 - Identifier 1224696 1224709 - ExclamationEqualsEqualsToken 1224709 1224713 - Identifier 1224713 1224723 - QuestionToken 1224723 1224725 - CallExpression 1224725 1224765 - Identifier 1224725 1224743 - Identifier 1224744 1224750 - Identifier 1224751 1224764 - ColonToken 1224765 1224767 - Identifier 1224767 1224777 - VariableStatement 1224778 1224836 - VariableDeclarationList 1224778 1224835 - VariableDeclaration 1224809 1224835 - Identifier 1224809 1224827 - FalseKeyword 1224829 1224835 - IfStatement 1224836 1225394 - PrefixUnaryExpression 1224866 1224877 - Identifier 1224867 1224877 - Block 1224878 1225394 - VariableStatement 1224880 1224969 - VariableDeclarationList 1224880 1224968 - VariableDeclaration 1224915 1224968 - Identifier 1224915 1224925 - CallExpression 1224927 1224968 - Identifier 1224927 1224950 - Identifier 1224951 1224957 - Identifier 1224958 1224967 - IfStatement 1224969 1225367 - BinaryExpression 1225003 1225100 - BinaryExpression 1225003 1225037 - Identifier 1225003 1225012 - AmpersandAmpersandToken 1225012 1225015 - PropertyAccessExpression 1225015 1225037 - Identifier 1225015 1225025 - Identifier 1225026 1225037 - AmpersandAmpersandToken 1225037 1225040 - PrefixUnaryExpression 1225040 1225100 - PropertyAccessExpression 1225042 1225100 - CallExpression 1225042 1225084 - Identifier 1225042 1225061 - PropertyAccessExpression 1225062 1225083 - Identifier 1225062 1225071 - Identifier 1225072 1225083 - Identifier 1225085 1225100 - Block 1225101 1225367 - ExpressionStatement 1225103 1225162 - BinaryExpression 1225103 1225161 - Identifier 1225103 1225154 - EqualsToken 1225154 1225156 - TrueKeyword 1225156 1225161 - ExpressionStatement 1225162 1225336 - CallExpression 1225162 1225335 - Identifier 1225162 1225210 - Identifier 1225211 1225223 - CallExpression 1225224 1225334 - Identifier 1225224 1225248 - PropertyAccessExpression 1225249 1225270 - Identifier 1225249 1225258 - Identifier 1225259 1225270 - PropertyAccessExpression 1225271 1225333 - Identifier 1225271 1225283 - Identifier 1225284 1225333 - IfStatement 1225394 1226506 - BinaryExpression 1225426 1225550 - PrefixUnaryExpression 1225426 1225444 - Identifier 1225427 1225444 - AmpersandAmpersandToken 1225444 1225447 - ParenthesizedExpression 1225447 1225550 - BinaryExpression 1225449 1225549 - BinaryExpression 1225449 1225494 - Identifier 1225449 1225459 - AmpersandAmpersandToken 1225459 1225462 - CallExpression 1225462 1225494 - Identifier 1225462 1225469 - PropertyAccessExpression 1225470 1225493 - Identifier 1225470 1225480 - Identifier 1225481 1225493 - BarBarToken 1225494 1225497 - BinaryExpression 1225497 1225549 - PropertyAccessExpression 1225497 1225511 - Identifier 1225497 1225504 - Identifier 1225505 1225511 - AmpersandAmpersandToken 1225511 1225514 - CallExpression 1225514 1225549 - Identifier 1225514 1225521 - PropertyAccessExpression 1225522 1225548 - PropertyAccessExpression 1225522 1225535 - Identifier 1225522 1225528 - Identifier 1225529 1225535 - Identifier 1225536 1225548 - Block 1225551 1226506 - VariableStatement 1225553 1225711 - VariableDeclarationList 1225553 1225710 - VariableDeclaration 1225588 1225710 - Identifier 1225588 1225599 - ConditionalExpression 1225601 1225710 - BinaryExpression 1225601 1225647 - Identifier 1225601 1225612 - AmpersandAmpersandToken 1225612 1225615 - CallExpression 1225615 1225647 - Identifier 1225615 1225622 - PropertyAccessExpression 1225623 1225646 - Identifier 1225623 1225633 - Identifier 1225634 1225646 - QuestionToken 1225647 1225649 - ElementAccessExpression 1225649 1225677 - NonNullExpression 1225649 1225674 - PropertyAccessExpression 1225649 1225673 - Identifier 1225649 1225660 - Identifier 1225661 1225673 - NumericLiteral 1225675 1225676 - ColonToken 1225677 1225679 - ElementAccessExpression 1225679 1225710 - NonNullExpression 1225679 1225707 - PropertyAccessExpression 1225679 1225706 - PropertyAccessExpression 1225679 1225693 - Identifier 1225679 1225686 - Identifier 1225687 1225693 - Identifier 1225694 1225706 - NumericLiteral 1225708 1225709 - IfStatement 1225711 1226479 - PrefixUnaryExpression 1225745 1225793 - PropertyAccessExpression 1225746 1225793 - CallExpression 1225746 1225777 - Identifier 1225746 1225765 - Identifier 1225766 1225776 - Identifier 1225778 1225793 - Block 1225794 1226479 - ExpressionStatement 1225796 1226448 - CallExpression 1225796 1226447 - Identifier 1225796 1225844 - Identifier 1225845 1225895 - CallExpression 1225896 1226411 - Identifier 1225896 1225957 - Identifier 1225958 1226010 - PropertyAccessExpression 1226011 1226137 - Identifier 1226011 1226064 - Identifier 1226065 1226137 - ConditionalExpression 1226138 1226308 - BinaryExpression 1226138 1226240 - Identifier 1226138 1226192 - AmpersandAmpersandToken 1226192 1226195 - PrefixUnaryExpression 1226195 1226240 - ParenthesizedExpression 1226197 1226240 - BinaryExpression 1226198 1226239 - PropertyAccessExpression 1226198 1226212 - Identifier 1226198 1226206 - Identifier 1226207 1226212 - AmpersandToken 1226212 1226214 - PropertyAccessExpression 1226214 1226239 - Identifier 1226214 1226224 - Identifier 1226225 1226239 - QuestionToken 1226240 1226242 - CallExpression 1226242 1226283 - Identifier 1226242 1226269 - Identifier 1226270 1226282 - ColonToken 1226283 1226285 - CallExpression 1226285 1226308 - Identifier 1226285 1226298 - Identifier 1226299 1226307 - CallExpression 1226309 1226371 - Identifier 1226309 1226363 - Identifier 1226364 1226370 - ReturnStatement 1226574 1226605 - Identifier 1226590 1226604 - FunctionDeclaration 1226612 1231251 - Identifier 1226820 1226866 - Parameter 1226867 1226906 - Identifier 1226867 1226885 - TypeReference 1226886 1226906 - Identifier 1226886 1226906 - Parameter 1226907 1226929 - Identifier 1226907 1226923 - TypeReference 1226924 1226929 - Identifier 1226924 1226929 - Parameter 1226930 1226952 - Identifier 1226930 1226946 - TypeReference 1226947 1226952 - Identifier 1226947 1226952 - Parameter 1226953 1227010 - Identifier 1226953 1226971 - TypeReference 1226972 1227010 - Identifier 1226972 1226976 - StringKeyword 1226977 1226983 - TypeReference 1226984 1227009 - Identifier 1226984 1227009 - Parameter 1227011 1227099 - Identifier 1227011 1227043 - UnionType 1227044 1227099 - ParenthesizedType 1227044 1227087 - FunctionType 1227046 1227086 - UnionType 1227051 1227086 - TypeReference 1227051 1227074 - Identifier 1227051 1227074 - UndefinedKeyword 1227076 1227086 - UndefinedKeyword 1227089 1227099 - Parameter 1227100 1227164 - Identifier 1227100 1227130 - UnionType 1227131 1227164 - TypeReference 1227131 1227152 - Identifier 1227131 1227152 - UndefinedKeyword 1227154 1227164 - Block 1227172 1231251 - VariableStatement 1227174 1227263 - VariableDeclarationList 1227174 1227262 - VariableDeclaration 1227189 1227262 - Identifier 1227189 1227217 - CallExpression 1227219 1227262 - Identifier 1227219 1227230 - Identifier 1227231 1227237 - Identifier 1227238 1227261 - VariableStatement 1227263 1227364 - VariableDeclarationList 1227263 1227363 - VariableDeclaration 1227278 1227363 - Identifier 1227278 1227309 - CallExpression 1227311 1227363 - Identifier 1227311 1227322 - Identifier 1227323 1227329 - ArrowFunction 1227330 1227362 - Parameter 1227330 1227332 - Identifier 1227330 1227332 - EqualsGreaterThanToken 1227332 1227335 - PrefixUnaryExpression 1227335 1227362 - CallExpression 1227337 1227362 - Identifier 1227337 1227359 - Identifier 1227360 1227361 - VariableStatement 1227364 1227719 - VariableDeclarationList 1227364 1227718 - VariableDeclaration 1227488 1227718 - Identifier 1227488 1227502 - ConditionalExpression 1227504 1227718 - BinaryExpression 1227504 1227549 - Identifier 1227504 1227535 - ExclamationEqualsEqualsToken 1227535 1227539 - Identifier 1227539 1227549 - QuestionToken 1227549 1227564 - CallExpression 1227564 1227693 - Identifier 1227564 1227591 - PropertyAccessExpression 1227592 1227610 - Identifier 1227592 1227604 - Identifier 1227605 1227610 - PropertyAccessExpression 1227611 1227635 - Identifier 1227611 1227629 - Identifier 1227630 1227635 - Identifier 1227636 1227667 - Identifier 1227668 1227692 - ColonToken 1227693 1227708 - Identifier 1227708 1227718 - VariableStatement 1227719 1227757 - VariableDeclarationList 1227719 1227756 - VariableDeclaration 1227734 1227756 - Identifier 1227734 1227748 - FalseKeyword 1227750 1227756 - ForStatement 1227757 1231213 - VariableDeclarationList 1227772 1227800 - VariableDeclaration 1227775 1227800 - Identifier 1227775 1227782 - CallExpression 1227784 1227800 - PropertyAccessExpression 1227784 1227798 - Identifier 1227784 1227793 - Identifier 1227794 1227798 - PrefixUnaryExpression 1227801 1227814 - PropertyAccessExpression 1227803 1227814 - Identifier 1227803 1227809 - Identifier 1227810 1227814 - BinaryExpression 1227815 1227840 - Identifier 1227815 1227822 - EqualsToken 1227822 1227824 - CallExpression 1227824 1227840 - PropertyAccessExpression 1227824 1227838 - Identifier 1227824 1227833 - Identifier 1227834 1227838 - Block 1227841 1231213 - VariableStatement 1227843 1227945 - VariableDeclarationList 1227843 1227944 - VariableDeclaration 1227862 1227944 - ObjectBindingPattern 1227862 1227929 - BindingElement 1227864 1227880 - Identifier 1227864 1227874 - Identifier 1227875 1227880 - BindingElement 1227881 1227903 - Identifier 1227881 1227897 - Identifier 1227898 1227903 - BindingElement 1227904 1227913 - Identifier 1227904 1227913 - BindingElement 1227914 1227927 - Identifier 1227914 1227927 - PropertyAccessExpression 1227931 1227944 - Identifier 1227931 1227938 - Identifier 1227939 1227944 - VariableStatement 1227945 1227994 - VariableDeclarationList 1227945 1227993 - VariableDeclaration 1227962 1227993 - Identifier 1227962 1227977 - Identifier 1227979 1227993 - VariableStatement 1227994 1228182 - VariableDeclarationList 1227994 1228181 - VariableDeclaration 1228013 1228181 - Identifier 1228013 1228035 - ConditionalExpression 1228037 1228181 - BinaryExpression 1228037 1228079 - Identifier 1228037 1228065 - ExclamationEqualsEqualsToken 1228065 1228069 - Identifier 1228069 1228079 - QuestionToken 1228079 1228081 - CallExpression 1228081 1228169 - Identifier 1228081 1228122 - Identifier 1228123 1228129 - Identifier 1228130 1228158 - Identifier 1228159 1228168 - ColonToken 1228169 1228171 - Identifier 1228171 1228181 - IfStatement 1228182 1228478 - BinaryExpression 1228200 1228281 - Identifier 1228200 1228221 - AmpersandAmpersandToken 1228221 1228224 - PrefixUnaryExpression 1228224 1228281 - ParenthesizedExpression 1228226 1228281 - BinaryExpression 1228227 1228280 - PropertyAccessExpression 1228227 1228254 - Identifier 1228227 1228248 - Identifier 1228249 1228254 - AmpersandToken 1228254 1228256 - PropertyAccessExpression 1228256 1228280 - Identifier 1228256 1228266 - Identifier 1228267 1228280 - Block 1228282 1228478 - ExpressionStatement 1228284 1228463 - BinaryExpression 1228284 1228462 - Identifier 1228284 1228367 - EqualsToken 1228367 1228369 - ConditionalExpression 1228369 1228462 - Identifier 1228369 1228383 - QuestionToken 1228383 1228385 - CallExpression 1228385 1228438 - Identifier 1228385 1228398 - ArrayLiteralExpression 1228399 1228437 - Identifier 1228400 1228413 - Identifier 1228414 1228436 - ColonToken 1228438 1228440 - Identifier 1228440 1228462 - IfStatement 1228478 1228522 - PrefixUnaryExpression 1228496 1228511 - Identifier 1228497 1228511 - ContinueStatement 1228512 1228522 - VariableStatement 1228522 1228607 - VariableDeclarationList 1228522 1228606 - VariableDeclaration 1228539 1228606 - Identifier 1228539 1228554 - CallExpression 1228556 1228606 - Identifier 1228556 1228588 - Identifier 1228589 1228595 - Identifier 1228596 1228605 - IfStatement 1228607 1228651 - PrefixUnaryExpression 1228625 1228640 - Identifier 1228626 1228640 - ContinueStatement 1228641 1228651 - VariableStatement 1228651 1228743 - VariableDeclarationList 1228651 1228742 - VariableDeclaration 1228670 1228742 - Identifier 1228670 1228679 - CallExpression 1228681 1228742 - Identifier 1228681 1228706 - Identifier 1228707 1228715 - Identifier 1228716 1228741 - IfStatement 1228743 1231202 - PrefixUnaryExpression 1228761 1228847 - CallExpression 1228762 1228847 - Identifier 1228762 1228780 - Identifier 1228781 1228795 - Identifier 1228796 1228811 - Identifier 1228812 1228821 - Identifier 1228822 1228846 - Block 1228848 1231202 - VariableStatement 1228850 1229031 - VariableDeclarationList 1228850 1229030 - VariableDeclaration 1228873 1229030 - Identifier 1228873 1228884 - BinaryExpression 1228886 1229030 - Identifier 1228886 1228891 - AmpersandAmpersandToken 1228891 1228894 - CallExpression 1228894 1229030 - Identifier 1228894 1228909 - Identifier 1228910 1228914 - Identifier 1228915 1228930 - Identifier 1228931 1228946 - Identifier 1228947 1228956 - Identifier 1228957 1228983 - Identifier 1228984 1229007 - Identifier 1229008 1229029 - ExpressionStatement 1229031 1229070 - BinaryExpression 1229031 1229069 - Identifier 1229031 1229062 - EqualsToken 1229062 1229064 - TrueKeyword 1229064 1229069 - IfStatement 1229070 1231187 - PrefixUnaryExpression 1229092 1229103 - Identifier 1229093 1229103 - Block 1229104 1231187 - VariableStatement 1229106 1229301 - VariableDeclarationList 1229106 1229300 - VariableDeclaration 1229233 1229300 - Identifier 1229233 1229243 - TypeLiteral 1229244 1229271 - PropertySignature 1229246 1229269 - Identifier 1229246 1229253 - QuestionToken 1229253 1229254 - ArrayType 1229255 1229268 - TypeReference 1229255 1229266 - Identifier 1229255 1229266 - BinaryExpression 1229273 1229300 - Identifier 1229273 1229294 - BarBarToken 1229294 1229297 - ObjectLiteralExpression 1229297 1229300 - VariableStatement 1229301 1229506 - VariableDeclarationList 1229301 1229505 - VariableDeclaration 1229390 1229505 - Identifier 1229390 1229405 - ConditionalExpression 1229407 1229505 - Identifier 1229407 1229412 - QuestionToken 1229412 1229414 - CallExpression 1229414 1229488 - Identifier 1229414 1229466 - Identifier 1229467 1229471 - Identifier 1229472 1229487 - ColonToken 1229488 1229490 - Identifier 1229490 1229505 - IfStatement 1229506 1231168 - BinaryExpression 1229532 1229625 - Identifier 1229532 1229558 - AmpersandAmpersandToken 1229558 1229561 - CallExpression 1229561 1229625 - Identifier 1229561 1229593 - Identifier 1229594 1229608 - Identifier 1229609 1229624 - Block 1229626 1230023 - VariableStatement 1229628 1229900 - VariableDeclarationList 1229628 1229899 - VariableDeclaration 1229659 1229899 - Identifier 1229659 1229664 - CallExpression 1229666 1229899 - Identifier 1229666 1229690 - Identifier 1229691 1229695 - PropertyAccessExpression 1229696 1229838 - Identifier 1229696 1229708 - Identifier 1229709 1229838 - CallExpression 1229839 1229868 - Identifier 1229839 1229852 - Identifier 1229853 1229867 - CallExpression 1229869 1229898 - Identifier 1229869 1229882 - Identifier 1229883 1229897 - ExpressionStatement 1229900 1229948 - CallExpression 1229900 1229947 - PropertyAccessExpression 1229900 1229941 - Identifier 1229900 1229937 - Identifier 1229938 1229941 - Identifier 1229942 1229946 - ExpressionStatement 1229948 1230000 - BinaryExpression 1229948 1229999 - PropertyAccessExpression 1229948 1229990 - Identifier 1229948 1229983 - Identifier 1229984 1229990 - EqualsToken 1229990 1229992 - ArrayLiteralExpression 1229992 1229999 - Identifier 1229994 1229998 - Block 1230049 1231168 - VariableStatement 1230051 1230223 - VariableDeclarationList 1230051 1230222 - VariableDeclaration 1230082 1230222 - Identifier 1230082 1230099 - PrefixUnaryExpression 1230101 1230222 - PrefixUnaryExpression 1230103 1230222 - ParenthesizedExpression 1230104 1230222 - BinaryExpression 1230105 1230221 - Identifier 1230105 1230113 - AmpersandAmpersandToken 1230113 1230116 - BinaryExpression 1230116 1230221 - PropertyAccessExpression 1230116 1230198 - ParenthesizedExpression 1230116 1230192 - BinaryExpression 1230118 1230191 - CallExpression 1230118 1230174 - Identifier 1230118 1230135 - Identifier 1230136 1230163 - Identifier 1230164 1230173 - BarBarToken 1230174 1230177 - Identifier 1230177 1230191 - Identifier 1230193 1230198 - AmpersandToken 1230198 1230200 - PropertyAccessExpression 1230200 1230221 - Identifier 1230200 1230212 - Identifier 1230213 1230221 - VariableStatement 1230223 1230374 - VariableDeclarationList 1230223 1230373 - VariableDeclaration 1230254 1230373 - Identifier 1230254 1230271 - PrefixUnaryExpression 1230273 1230373 - PrefixUnaryExpression 1230275 1230373 - ParenthesizedExpression 1230276 1230373 - BinaryExpression 1230277 1230372 - Identifier 1230277 1230285 - AmpersandAmpersandToken 1230285 1230288 - BinaryExpression 1230288 1230372 - PropertyAccessExpression 1230288 1230349 - ParenthesizedExpression 1230288 1230343 - BinaryExpression 1230290 1230342 - CallExpression 1230290 1230325 - Identifier 1230290 1230307 - Identifier 1230308 1230314 - Identifier 1230315 1230324 - BarBarToken 1230325 1230328 - Identifier 1230328 1230342 - Identifier 1230344 1230349 - AmpersandToken 1230349 1230351 - PropertyAccessExpression 1230351 1230372 - Identifier 1230351 1230363 - Identifier 1230364 1230372 - ExpressionStatement 1230374 1230469 - BinaryExpression 1230374 1230468 - Identifier 1230374 1230414 - EqualsToken 1230414 1230416 - CallExpression 1230416 1230468 - Identifier 1230416 1230434 - Identifier 1230435 1230449 - Identifier 1230450 1230467 - ExpressionStatement 1230469 1230584 - BinaryExpression 1230469 1230583 - Identifier 1230469 1230509 - EqualsToken 1230509 1230511 - CallExpression 1230511 1230583 - Identifier 1230511 1230529 - Identifier 1230530 1230544 - BinaryExpression 1230545 1230582 - Identifier 1230545 1230562 - AmpersandAmpersandToken 1230562 1230565 - Identifier 1230565 1230582 - VariableStatement 1230584 1230741 - VariableDeclarationList 1230584 1230740 - VariableDeclaration 1230615 1230740 - Identifier 1230615 1230622 - CallExpression 1230624 1230740 - Identifier 1230624 1230643 - Identifier 1230644 1230658 - Identifier 1230659 1230674 - Identifier 1230675 1230684 - Identifier 1230685 1230690 - Identifier 1230691 1230704 - Identifier 1230705 1230728 - Identifier 1230729 1230739 - IfStatement 1230741 1231145 - BinaryExpression 1230771 1230814 - Identifier 1230771 1230777 - AmpersandAmpersandToken 1230777 1230780 - BinaryExpression 1230780 1230814 - Identifier 1230780 1230795 - ExclamationEqualsEqualsToken 1230795 1230799 - Identifier 1230799 1230814 - Block 1230815 1231145 - ExpressionStatement 1230817 1231118 - CallExpression 1230817 1231117 - Identifier 1230817 1231020 - Identifier 1231021 1231035 - Identifier 1231036 1231051 - Identifier 1231052 1231061 - Identifier 1231062 1231067 - Identifier 1231068 1231081 - Identifier 1231082 1231105 - Identifier 1231106 1231116 - ReturnStatement 1231213 1231244 - Identifier 1231229 1231243 - FunctionDeclaration 1231251 1231712 - AsteriskToken 1231267 1231268 - Identifier 1231268 1231290 - Parameter 1231291 1231310 - Identifier 1231291 1231295 - TypeReference 1231296 1231310 - Identifier 1231296 1231310 - TypeReference 1231312 1231332 - Identifier 1231312 1231332 - Block 1231332 1231712 - IfStatement 1231334 1231381 - PrefixUnaryExpression 1231348 1231372 - CallExpression 1231349 1231372 - Identifier 1231349 1231355 - PropertyAccessExpression 1231356 1231371 - Identifier 1231356 1231360 - Identifier 1231361 1231371 - ReturnStatement 1231373 1231381 - ForOfStatement 1231381 1231705 - VariableDeclarationList 1231396 1231406 - VariableDeclaration 1231401 1231406 - Identifier 1231401 1231406 - PropertyAccessExpression 1231409 1231425 - Identifier 1231409 1231414 - Identifier 1231415 1231425 - Block 1231426 1231705 - IfStatement 1231428 1231544 - BinaryExpression 1231446 1231533 - CallExpression 1231446 1231472 - Identifier 1231446 1231466 - Identifier 1231467 1231471 - BarBarToken 1231472 1231475 - CallExpression 1231475 1231533 - Identifier 1231475 1231495 - CallExpression 1231496 1231532 - Identifier 1231496 1231521 - PropertyAccessExpression 1231522 1231531 - Identifier 1231522 1231526 - Identifier 1231527 1231531 - ContinueStatement 1231534 1231544 - ExpressionStatement 1231544 1231694 - YieldExpression 1231544 1231693 - ObjectLiteralExpression 1231563 1231693 - PropertyAssignment 1231565 1231586 - Identifier 1231565 1231575 - PropertyAccessExpression 1231576 1231586 - Identifier 1231576 1231581 - Identifier 1231582 1231586 - PropertyAssignment 1231587 1231621 - Identifier 1231587 1231603 - PropertyAccessExpression 1231604 1231621 - Identifier 1231604 1231609 - Identifier 1231610 1231621 - PropertyAssignment 1231622 1231691 - Identifier 1231622 1231631 - CallExpression 1231632 1231691 - Identifier 1231632 1231653 - CallExpression 1231654 1231690 - Identifier 1231654 1231679 - PropertyAccessExpression 1231680 1231689 - Identifier 1231680 1231684 - Identifier 1231685 1231689 - FunctionDeclaration 1231712 1232348 - AsteriskToken 1231728 1231729 - Identifier 1231729 1231749 - Parameter 1231750 1231766 - Identifier 1231750 1231754 - TypeReference 1231755 1231766 - Identifier 1231755 1231766 - Parameter 1231767 1231817 - Identifier 1231767 1231792 - FunctionType 1231793 1231817 - TypeReference 1231799 1231817 - Identifier 1231799 1231817 - TypeReference 1231819 1231839 - Identifier 1231819 1231839 - Block 1231839 1232348 - IfStatement 1231841 1231886 - PrefixUnaryExpression 1231855 1231877 - CallExpression 1231856 1231877 - Identifier 1231856 1231862 - PropertyAccessExpression 1231863 1231876 - Identifier 1231863 1231867 - Identifier 1231868 1231876 - ReturnStatement 1231878 1231886 - VariableStatement 1231886 1231917 - VariableDeclarationList 1231886 1231916 - VariableDeclaration 1231899 1231916 - Identifier 1231899 1231912 - NumericLiteral 1231914 1231916 - ForStatement 1231917 1232341 - VariableDeclarationList 1231932 1231941 - VariableDeclaration 1231935 1231941 - Identifier 1231935 1231937 - NumericLiteral 1231939 1231941 - BinaryExpression 1231942 1231967 - Identifier 1231942 1231944 - LessThanToken 1231944 1231946 - PropertyAccessExpression 1231946 1231967 - PropertyAccessExpression 1231946 1231960 - Identifier 1231946 1231951 - Identifier 1231952 1231960 - Identifier 1231961 1231967 - PostfixUnaryExpression 1231968 1231972 - Identifier 1231968 1231970 - Block 1231973 1232341 - VariableStatement 1231975 1232020 - VariableDeclarationList 1231975 1232019 - VariableDeclaration 1231994 1232019 - Identifier 1231994 1232000 - ElementAccessExpression 1232002 1232019 - PropertyAccessExpression 1232002 1232016 - Identifier 1232002 1232007 - Identifier 1232008 1232016 - Identifier 1232017 1232018 - VariableStatement 1232020 1232090 - VariableDeclarationList 1232020 1232089 - VariableDeclaration 1232039 1232089 - Identifier 1232039 1232048 - CallExpression 1232050 1232089 - Identifier 1232050 1232071 - BinaryExpression 1232072 1232088 - Identifier 1232072 1232073 - MinusToken 1232073 1232075 - Identifier 1232075 1232088 - VariableStatement 1232090 1232193 - VariableDeclarationList 1232090 1232192 - VariableDeclaration 1232109 1232192 - Identifier 1232109 1232114 - CallExpression 1232116 1232192 - Identifier 1232116 1232149 - Identifier 1232150 1232155 - Identifier 1232156 1232165 - Identifier 1232166 1232191 - IfStatement 1232193 1232330 - Identifier 1232211 1232215 - Block 1232216 1232262 - ExpressionStatement 1232218 1232247 - YieldExpression 1232218 1232246 - Identifier 1232241 1232246 - Block 1232280 1232330 - ExpressionStatement 1232282 1232315 - PostfixUnaryExpression 1232282 1232314 - Identifier 1232282 1232312 - FunctionDeclaration 1232348 1233453 - Identifier 1232364 1232397 - Parameter 1232398 1232413 - Identifier 1232398 1232403 - TypeReference 1232404 1232413 - Identifier 1232404 1232413 - Parameter 1232414 1232436 - Identifier 1232414 1232423 - TypeReference 1232424 1232436 - Identifier 1232424 1232436 - Parameter 1232437 1232487 - Identifier 1232437 1232462 - FunctionType 1232463 1232487 - TypeReference 1232469 1232487 - Identifier 1232469 1232487 - Block 1232488 1233453 - SwitchStatement 1232490 1233446 - PropertyAccessExpression 1232508 1232518 - Identifier 1232508 1232513 - Identifier 1232514 1232518 - CaseBlock 1232519 1233446 - CaseClause 1232521 1232715 - PropertyAccessExpression 1232539 1232564 - Identifier 1232539 1232550 - Identifier 1232551 1232564 - ReturnStatement 1232565 1232715 - ObjectLiteralExpression 1232648 1232714 - PropertyAssignment 1232650 1232667 - Identifier 1232650 1232660 - Identifier 1232661 1232667 - PropertyAssignment 1232668 1232702 - Identifier 1232668 1232684 - PropertyAccessExpression 1232685 1232702 - Identifier 1232685 1232691 - Identifier 1232692 1232702 - ShorthandPropertyAssignment 1232703 1232712 - Identifier 1232703 1232712 - CaseClause 1232715 1233072 - PropertyAccessExpression 1232733 1232752 - Identifier 1232733 1232744 - Identifier 1232745 1232752 - IfStatement 1232753 1232908 - PropertyAccessExpression 1232775 1232810 - Identifier 1232775 1232780 - Identifier 1232781 1232810 - Block 1232811 1232908 - BreakStatement 1232813 1232841 - ReturnStatement 1232908 1233072 - ObjectLiteralExpression 1232970 1233071 - PropertyAssignment 1232972 1232989 - Identifier 1232972 1232982 - Identifier 1232983 1232989 - PropertyAssignment 1232990 1233017 - Identifier 1232990 1233006 - Identifier 1233007 1233017 - ShorthandPropertyAssignment 1233018 1233027 - Identifier 1233018 1233027 - PropertyAssignment 1233028 1233069 - Identifier 1233028 1233041 - CallExpression 1233042 1233069 - Identifier 1233042 1233067 - CaseClause 1233072 1233113 - PropertyAccessExpression 1233090 1233112 - Identifier 1233090 1233101 - Identifier 1233102 1233112 - CaseClause 1233113 1233165 - PropertyAccessExpression 1233131 1233164 - Identifier 1233131 1233142 - Identifier 1233143 1233164 - CaseClause 1233165 1233336 - PropertyAccessExpression 1233183 1233206 - Identifier 1233183 1233194 - Identifier 1233195 1233206 - ReturnStatement 1233207 1233336 - ObjectLiteralExpression 1233280 1233335 - PropertyAssignment 1233282 1233299 - Identifier 1233282 1233292 - Identifier 1233293 1233299 - PropertyAssignment 1233300 1233323 - Identifier 1233300 1233316 - Identifier 1233317 1233323 - ShorthandPropertyAssignment 1233324 1233333 - Identifier 1233324 1233333 - DefaultClause 1233336 1233435 - ReturnStatement 1233358 1233435 - CallExpression 1233382 1233434 - PropertyAccessExpression 1233382 1233400 - Identifier 1233382 1233388 - Identifier 1233389 1233400 - Identifier 1233401 1233406 - StringLiteral 1233407 1233433 - FunctionDeclaration 1233453 1239477 - Identifier 1233469 1233492 - Parameter 1233493 1233522 - Identifier 1233493 1233507 - TypeReference 1233508 1233522 - Identifier 1233508 1233522 - Parameter 1233523 1233545 - Identifier 1233523 1233539 - TypeReference 1233540 1233545 - Identifier 1233540 1233545 - Parameter 1233546 1233568 - Identifier 1233546 1233562 - TypeReference 1233563 1233568 - Identifier 1233563 1233568 - Parameter 1233569 1233626 - Identifier 1233569 1233587 - TypeReference 1233588 1233626 - Identifier 1233588 1233592 - StringKeyword 1233593 1233599 - TypeReference 1233600 1233625 - Identifier 1233600 1233625 - Parameter 1233627 1233715 - Identifier 1233627 1233659 - UnionType 1233660 1233715 - ParenthesizedType 1233660 1233703 - FunctionType 1233662 1233702 - UnionType 1233667 1233702 - TypeReference 1233667 1233690 - Identifier 1233667 1233690 - UndefinedKeyword 1233692 1233702 - UndefinedKeyword 1233705 1233715 - Parameter 1233716 1233780 - Identifier 1233716 1233746 - UnionType 1233747 1233780 - TypeReference 1233747 1233768 - Identifier 1233747 1233768 - UndefinedKeyword 1233770 1233780 - Block 1233788 1239477 - VariableStatement 1233790 1233935 - VariableDeclarationList 1233790 1233934 - VariableDeclaration 1233803 1233934 - Identifier 1233803 1233810 - CallExpression 1233812 1233934 - Identifier 1233812 1233833 - CallExpression 1233834 1233861 - Identifier 1233834 1233855 - Identifier 1233856 1233860 - Identifier 1233862 1233869 - Identifier 1233870 1233877 - Identifier 1233878 1233887 - Identifier 1233888 1233911 - Identifier 1233912 1233933 - VariableStatement 1233935 1234002 - VariableDeclarationList 1233935 1234001 - VariableDeclaration 1233948 1234001 - Identifier 1233948 1233970 - UnionType 1233971 1234001 - TypeReference 1233971 1233989 - Identifier 1233971 1233989 - UndefinedKeyword 1233991 1234001 - IfStatement 1234002 1238509 - BinaryExpression 1234016 1234084 - CallExpression 1234016 1234048 - Identifier 1234016 1234035 - PropertyAccessExpression 1234036 1234047 - Identifier 1234036 1234040 - Identifier 1234041 1234047 - AmpersandAmpersandToken 1234048 1234051 - CallExpression 1234051 1234084 - Identifier 1234051 1234064 - PropertyAccessExpression 1234065 1234083 - PropertyAccessExpression 1234065 1234076 - Identifier 1234065 1234069 - Identifier 1234070 1234076 - Identifier 1234077 1234083 - Block 1234085 1238509 - VariableStatement 1234087 1234146 - VariableDeclarationList 1234087 1234145 - VariableDeclaration 1234106 1234145 - Identifier 1234106 1234124 - PropertyAccessExpression 1234126 1234145 - PropertyAccessExpression 1234126 1234138 - Identifier 1234126 1234131 - Identifier 1234132 1234138 - Identifier 1234139 1234145 - VariableStatement 1234146 1234241 - VariableDeclarationList 1234146 1234240 - VariableDeclaration 1234165 1234240 - Identifier 1234165 1234179 - CallExpression 1234181 1234240 - Identifier 1234181 1234215 - CallExpression 1234216 1234239 - Identifier 1234216 1234233 - Identifier 1234234 1234238 - VariableStatement 1234241 1234365 - VariableDeclarationList 1234241 1234364 - VariableDeclaration 1234260 1234364 - Identifier 1234260 1234277 - ConditionalExpression 1234279 1234364 - BinaryExpression 1234279 1234307 - Identifier 1234279 1234293 - EqualsEqualsEqualsToken 1234293 1234297 - Identifier 1234297 1234307 - QuestionToken 1234307 1234309 - StringLiteral 1234309 1234320 - ColonToken 1234320 1234322 - CallExpression 1234322 1234364 - Identifier 1234322 1234349 - Identifier 1234350 1234363 - VariableStatement 1234365 1234443 - VariableDeclarationList 1234365 1234442 - VariableDeclaration 1234384 1234442 - Identifier 1234384 1234401 - CallExpression 1234403 1234442 - Identifier 1234403 1234424 - Identifier 1234425 1234441 - VariableStatement 1234443 1234531 - VariableDeclarationList 1234443 1234530 - VariableDeclaration 1234462 1234530 - Identifier 1234462 1234481 - CallExpression 1234483 1234530 - Identifier 1234483 1234504 - Identifier 1234505 1234511 - Identifier 1234512 1234529 - VariableStatement 1234531 1234618 - VariableDeclarationList 1234531 1234617 - VariableDeclaration 1234550 1234617 - Identifier 1234550 1234564 - CallExpression 1234566 1234617 - Identifier 1234566 1234589 - PropertyAccessExpression 1234590 1234616 - Identifier 1234590 1234607 - Identifier 1234608 1234616 - IfStatement 1234618 1234708 - PrefixUnaryExpression 1234636 1234658 - CallExpression 1234637 1234658 - Identifier 1234637 1234643 - Identifier 1234644 1234657 - Block 1234659 1234708 - ReturnStatement 1234661 1234693 - Identifier 1234685 1234692 - VariableStatement 1234708 1234780 - VariableDeclarationList 1234708 1234779 - VariableDeclaration 1234727 1234779 - Identifier 1234727 1234751 - BinaryExpression 1234753 1234779 - CallExpression 1234753 1234775 - Identifier 1234753 1234760 - Identifier 1234761 1234774 - GreaterThanToken 1234775 1234777 - NumericLiteral 1234777 1234779 - VariableStatement 1234780 1234825 - VariableDeclarationList 1234780 1234824 - VariableDeclaration 1234797 1234824 - Identifier 1234797 1234818 - TypeReference 1234819 1234824 - Identifier 1234819 1234824 - VariableStatement 1234825 1234873 - VariableDeclarationList 1234825 1234872 - VariableDeclaration 1234842 1234872 - Identifier 1234842 1234866 - TypeReference 1234867 1234872 - Identifier 1234867 1234872 - VariableStatement 1234873 1234954 - VariableDeclarationList 1234873 1234953 - VariableDeclaration 1234892 1234953 - Identifier 1234892 1234905 - CallExpression 1234907 1234953 - Identifier 1234907 1234929 - FalseKeyword 1234930 1234952 - IfStatement 1234954 1235558 - BinaryExpression 1234972 1235005 - Identifier 1234972 1234984 - ExclamationEqualsEqualsToken 1234984 1234988 - Identifier 1234988 1235005 - Block 1235006 1235319 - VariableStatement 1235008 1235074 - VariableDeclarationList 1235008 1235073 - VariableDeclaration 1235031 1235073 - Identifier 1235031 1235043 - CallExpression 1235045 1235073 - Identifier 1235045 1235064 - Identifier 1235065 1235072 - ExpressionStatement 1235074 1235187 - BinaryExpression 1235074 1235186 - Identifier 1235074 1235112 - EqualsToken 1235112 1235114 - CallExpression 1235114 1235186 - Identifier 1235114 1235125 - Identifier 1235126 1235144 - ArrowFunction 1235145 1235185 - Parameter 1235145 1235147 - Identifier 1235145 1235147 - EqualsGreaterThanToken 1235147 1235150 - CallExpression 1235150 1235185 - Identifier 1235150 1235169 - Identifier 1235170 1235171 - Identifier 1235172 1235184 - ExpressionStatement 1235187 1235304 - BinaryExpression 1235187 1235303 - Identifier 1235187 1235228 - EqualsToken 1235228 1235230 - CallExpression 1235230 1235303 - Identifier 1235230 1235241 - Identifier 1235242 1235260 - ArrowFunction 1235261 1235302 - Parameter 1235261 1235263 - Identifier 1235261 1235263 - EqualsGreaterThanToken 1235263 1235266 - PrefixUnaryExpression 1235266 1235302 - CallExpression 1235268 1235302 - Identifier 1235268 1235286 - Identifier 1235287 1235288 - Identifier 1235289 1235301 - Block 1235337 1235558 - ExpressionStatement 1235339 1235435 - BinaryExpression 1235339 1235434 - Identifier 1235339 1235377 - EqualsToken 1235377 1235379 - CallExpression 1235379 1235434 - Identifier 1235379 1235390 - Identifier 1235391 1235409 - Identifier 1235410 1235433 - ExpressionStatement 1235435 1235543 - BinaryExpression 1235435 1235542 - Identifier 1235435 1235476 - EqualsToken 1235476 1235478 - CallExpression 1235478 1235542 - Identifier 1235478 1235489 - Identifier 1235490 1235508 - ArrowFunction 1235509 1235541 - Parameter 1235509 1235511 - Identifier 1235509 1235511 - EqualsGreaterThanToken 1235511 1235514 - PrefixUnaryExpression 1235514 1235541 - CallExpression 1235516 1235541 - Identifier 1235516 1235538 - Identifier 1235539 1235540 - IfStatement 1235558 1238498 - Identifier 1235576 1235599 - Block 1235600 1236900 - IfStatement 1235602 1236885 - BinaryExpression 1235624 1235658 - Identifier 1235624 1235644 - ExclamationEqualsEqualsToken 1235644 1235648 - Identifier 1235648 1235658 - Block 1235659 1236091 - VariableStatement 1235661 1235773 - VariableDeclarationList 1235661 1235772 - VariableDeclaration 1235688 1235772 - Identifier 1235688 1235699 - CallExpression 1235701 1235772 - Identifier 1235701 1235717 - CallExpression 1235718 1235771 - Identifier 1235718 1235734 - Identifier 1235735 1235752 - PropertyAccessExpression 1235753 1235770 - Identifier 1235753 1235763 - Identifier 1235764 1235770 - VariableStatement 1235773 1235885 - VariableDeclarationList 1235773 1235884 - VariableDeclaration 1235800 1235884 - Identifier 1235800 1235809 - CallExpression 1235811 1235884 - Identifier 1235811 1235831 - Identifier 1235832 1235849 - Identifier 1235850 1235883 - ExpressionStatement 1235885 1236072 - BinaryExpression 1235885 1236071 - Identifier 1235885 1235913 - EqualsToken 1235913 1235915 - BinaryExpression 1235915 1236071 - CallExpression 1235915 1236061 - Identifier 1235915 1235961 - Identifier 1235962 1235970 - Identifier 1235971 1235982 - Identifier 1235983 1236004 - Identifier 1236005 1236014 - Identifier 1236015 1236038 - Identifier 1236039 1236060 - BarBarToken 1236061 1236064 - Identifier 1236064 1236071 - IfStatement 1236113 1236885 - PrefixUnaryExpression 1236118 1236212 - CallExpression 1236119 1236212 - Identifier 1236119 1236134 - CallExpression 1236135 1236181 - Identifier 1236135 1236155 - Identifier 1236156 1236162 - Identifier 1236163 1236180 - Identifier 1236182 1236201 - Identifier 1236202 1236211 - Block 1236213 1236885 - ExpressionStatement 1236215 1236290 - BinaryExpression 1236215 1236289 - Identifier 1236215 1236282 - EqualsToken 1236282 1236284 - TrueKeyword 1236284 1236289 - VariableStatement 1236290 1236653 - VariableDeclarationList 1236290 1236652 - VariableDeclaration 1236317 1236652 - Identifier 1236317 1236322 - CallExpression 1236324 1236652 - Identifier 1236324 1236330 - PropertyAccessExpression 1236331 1236397 - PropertyAccessExpression 1236331 1236389 - Identifier 1236331 1236374 - Identifier 1236375 1236389 - Identifier 1236390 1236397 - PropertyAccessExpression 1236398 1236526 - Identifier 1236398 1236435 - Identifier 1236436 1236526 - Identifier 1236527 1236569 - CallExpression 1236570 1236628 - Identifier 1236570 1236608 - Identifier 1236609 1236627 - IfStatement 1236653 1236866 - BinaryExpression 1236679 1236735 - Identifier 1236679 1236699 - AmpersandAmpersandToken 1236699 1236702 - PropertyAccessExpression 1236702 1236735 - Identifier 1236702 1236723 - Identifier 1236724 1236735 - Block 1236736 1236866 - ExpressionStatement 1236738 1236843 - CallExpression 1236738 1236842 - PropertyAccessExpression 1236738 1236836 - ParenthesizedExpression 1236738 1236831 - BinaryExpression 1236765 1236830 - PropertyAccessExpression 1236765 1236792 - Identifier 1236765 1236785 - Identifier 1236786 1236792 - BarBarToken 1236792 1236795 - ParenthesizedExpression 1236795 1236830 - BinaryExpression 1236797 1236829 - PropertyAccessExpression 1236797 1236824 - Identifier 1236797 1236817 - Identifier 1236818 1236824 - EqualsToken 1236824 1236826 - ArrayLiteralExpression 1236826 1236829 - Identifier 1236832 1236836 - Identifier 1236837 1236841 - Block 1236918 1238498 - IfStatement 1236920 1238483 - BinaryExpression 1236942 1236979 - Identifier 1236942 1236965 - ExclamationEqualsEqualsToken 1236965 1236969 - Identifier 1236969 1236979 - Block 1236980 1237673 - VariableStatement 1236982 1237035 - VariableDeclarationList 1236982 1237034 - VariableDeclaration 1237009 1237034 - Identifier 1237009 1237015 - ElementAccessExpression 1237017 1237034 - Identifier 1237017 1237031 - NumericLiteral 1237032 1237033 - VariableStatement 1237035 1237162 - VariableDeclarationList 1237035 1237161 - VariableDeclaration 1237062 1237161 - Identifier 1237062 1237067 - CallExpression 1237069 1237161 - Identifier 1237069 1237102 - Identifier 1237103 1237108 - Identifier 1237109 1237126 - Identifier 1237127 1237160 - IfStatement 1237162 1237654 - Identifier 1237188 1237192 - Block 1237193 1237654 - ExpressionStatement 1237195 1237631 - BinaryExpression 1237195 1237630 - Identifier 1237195 1237227 - EqualsToken 1237227 1237229 - BinaryExpression 1237229 1237630 - CallExpression 1237229 1237620 - Identifier 1237229 1237250 - CallExpression 1237251 1237375 - ParenthesizedExpression 1237251 1237373 - FunctionExpression 1237282 1237372 - AsteriskToken 1237290 1237291 - Block 1237294 1237372 - ExpressionStatement 1237296 1237341 - YieldExpression 1237296 1237340 - Identifier 1237335 1237340 - Identifier 1237376 1237412 - Identifier 1237413 1237449 - Identifier 1237450 1237488 - Identifier 1237489 1237541 - Identifier 1237542 1237592 - BarBarToken 1237620 1237623 - Identifier 1237623 1237630 - IfStatement 1237695 1238483 - PrefixUnaryExpression 1237700 1237794 - CallExpression 1237701 1237794 - Identifier 1237701 1237716 - CallExpression 1237717 1237763 - Identifier 1237717 1237737 - Identifier 1237738 1237744 - Identifier 1237745 1237762 - Identifier 1237764 1237783 - Identifier 1237784 1237793 - Block 1237795 1238483 - ExpressionStatement 1237797 1237872 - BinaryExpression 1237797 1237871 - Identifier 1237797 1237864 - EqualsToken 1237864 1237866 - TrueKeyword 1237866 1237871 - VariableStatement 1237872 1238251 - VariableDeclarationList 1237872 1238250 - VariableDeclaration 1237899 1238250 - Identifier 1237899 1237904 - CallExpression 1237906 1238250 - Identifier 1237906 1237912 - PropertyAccessExpression 1237913 1237979 - PropertyAccessExpression 1237913 1237971 - Identifier 1237913 1237956 - Identifier 1237957 1237971 - Identifier 1237972 1237979 - PropertyAccessExpression 1237980 1238124 - Identifier 1237980 1238017 - Identifier 1238018 1238124 - Identifier 1238125 1238167 - CallExpression 1238168 1238226 - Identifier 1238168 1238206 - Identifier 1238207 1238225 - IfStatement 1238251 1238464 - BinaryExpression 1238277 1238333 - Identifier 1238277 1238297 - AmpersandAmpersandToken 1238297 1238300 - PropertyAccessExpression 1238300 1238333 - Identifier 1238300 1238321 - Identifier 1238322 1238333 - Block 1238334 1238464 - ExpressionStatement 1238336 1238441 - CallExpression 1238336 1238440 - PropertyAccessExpression 1238336 1238434 - ParenthesizedExpression 1238336 1238429 - BinaryExpression 1238363 1238428 - PropertyAccessExpression 1238363 1238390 - Identifier 1238363 1238383 - Identifier 1238384 1238390 - BarBarToken 1238390 1238393 - ParenthesizedExpression 1238393 1238428 - BinaryExpression 1238395 1238427 - PropertyAccessExpression 1238395 1238422 - Identifier 1238395 1238415 - Identifier 1238416 1238422 - EqualsToken 1238422 1238424 - ArrayLiteralExpression 1238424 1238427 - Identifier 1238430 1238434 - Identifier 1238435 1238439 - ReturnStatement 1238509 1238533 - Identifier 1238525 1238532 - FunctionDeclaration 1238533 1239470 - Identifier 1238553 1238586 - Block 1238588 1239470 - IfStatement 1238590 1239416 - PrefixUnaryExpression 1238608 1238630 - Identifier 1238609 1238630 - Block 1238631 1239416 - VariableStatement 1238633 1238706 - VariableDeclarationList 1238633 1238705 - VariableDeclaration 1238656 1238705 - Identifier 1238656 1238668 - CallExpression 1238670 1238705 - Identifier 1238670 1238684 - PropertyAccessExpression 1238685 1238704 - PropertyAccessExpression 1238685 1238696 - Identifier 1238685 1238689 - Identifier 1238690 1238696 - Identifier 1238697 1238704 - VariableStatement 1238706 1238805 - VariableDeclarationList 1238706 1238804 - VariableDeclaration 1238729 1238804 - Identifier 1238729 1238743 - CallExpression 1238745 1238804 - Identifier 1238745 1238779 - CallExpression 1238780 1238803 - Identifier 1238780 1238797 - Identifier 1238798 1238802 - VariableStatement 1238805 1238933 - VariableDeclarationList 1238805 1238932 - VariableDeclaration 1238828 1238932 - Identifier 1238828 1238845 - ConditionalExpression 1238847 1238932 - BinaryExpression 1238847 1238875 - Identifier 1238847 1238861 - EqualsEqualsEqualsToken 1238861 1238865 - Identifier 1238865 1238875 - QuestionToken 1238875 1238877 - StringLiteral 1238877 1238888 - ColonToken 1238888 1238890 - CallExpression 1238890 1238932 - Identifier 1238890 1238917 - Identifier 1238918 1238931 - VariableStatement 1238933 1239047 - VariableDeclarationList 1238933 1239046 - VariableDeclaration 1238956 1239046 - Identifier 1238956 1238975 - CallExpression 1238977 1239046 - Identifier 1238977 1238998 - Identifier 1238999 1239005 - CallExpression 1239006 1239045 - Identifier 1239006 1239027 - Identifier 1239028 1239044 - VariableStatement 1239047 1239210 - VariableDeclarationList 1239047 1239209 - VariableDeclaration 1239070 1239209 - Identifier 1239070 1239081 - PropertyAccessExpression 1239083 1239209 - Identifier 1239083 1239095 - Identifier 1239096 1239209 - ExpressionStatement 1239210 1239401 - BinaryExpression 1239210 1239400 - Identifier 1239210 1239249 - EqualsToken 1239249 1239251 - ObjectLiteralExpression 1239251 1239400 - SpreadAssignment 1239253 1239267 - Identifier 1239257 1239267 - PropertyAssignment 1239268 1239297 - Identifier 1239268 1239272 - StringLiteral 1239273 1239297 - PropertyAssignment 1239298 1239398 - Identifier 1239298 1239306 - CallExpression 1239307 1239398 - Identifier 1239307 1239321 - Identifier 1239322 1239332 - Identifier 1239333 1239345 - Identifier 1239346 1239363 - CallExpression 1239364 1239397 - Identifier 1239364 1239377 - Identifier 1239378 1239396 - ReturnStatement 1239416 1239459 - Identifier 1239436 1239458 - FunctionDeclaration 1239477 1240284 - AsteriskToken 1239493 1239494 - Identifier 1239494 1239523 - Parameter 1239524 1239552 - Identifier 1239524 1239528 - TypeReference 1239529 1239552 - Identifier 1239529 1239552 - Parameter 1239553 1239566 - Identifier 1239553 1239560 - TypeReference 1239561 1239566 - Identifier 1239561 1239566 - TypeReference 1239568 1239588 - Identifier 1239568 1239588 - Block 1239588 1240284 - VariableStatement 1239590 1239634 - VariableDeclarationList 1239590 1239633 - VariableDeclaration 1239605 1239633 - Identifier 1239605 1239609 - CallExpression 1239611 1239633 - Identifier 1239611 1239618 - PropertyAccessExpression 1239619 1239632 - Identifier 1239619 1239623 - Identifier 1239624 1239632 - IfStatement 1239634 1239661 - PrefixUnaryExpression 1239648 1239652 - Identifier 1239649 1239652 - ReturnStatement 1239653 1239661 - ForStatement 1239661 1240277 - VariableDeclarationList 1239676 1239685 - VariableDeclaration 1239679 1239685 - Identifier 1239679 1239681 - NumericLiteral 1239683 1239685 - BinaryExpression 1239686 1239694 - Identifier 1239686 1239688 - LessThanToken 1239688 1239690 - Identifier 1239690 1239694 - PostfixUnaryExpression 1239695 1239699 - Identifier 1239695 1239697 - Block 1239700 1240277 - IfStatement 1239702 1239970 - BinaryExpression 1239884 1239959 - CallExpression 1239884 1239907 - Identifier 1239884 1239899 - Identifier 1239900 1239906 - AmpersandAmpersandToken 1239907 1239910 - PrefixUnaryExpression 1239910 1239959 - CallExpression 1239912 1239959 - Identifier 1239912 1239929 - Identifier 1239930 1239936 - AsExpression 1239937 1239958 - ParenthesizedExpression 1239937 1239946 - BinaryExpression 1239939 1239945 - StringLiteral 1239939 1239941 - PlusToken 1239941 1239943 - Identifier 1239943 1239945 - TypeReference 1239949 1239958 - Identifier 1239949 1239958 - ContinueStatement 1239960 1239970 - VariableStatement 1239970 1240014 - VariableDeclarationList 1239970 1240013 - VariableDeclaration 1239989 1240013 - Identifier 1239989 1239994 - ElementAccessExpression 1239996 1240013 - PropertyAccessExpression 1239996 1240010 - Identifier 1239996 1240001 - Identifier 1240002 1240010 - Identifier 1240011 1240012 - IfStatement 1240014 1240068 - CallExpression 1240032 1240057 - Identifier 1240032 1240051 - Identifier 1240052 1240056 - ContinueStatement 1240058 1240068 - VariableStatement 1240068 1240123 - VariableDeclarationList 1240068 1240122 - VariableDeclaration 1240087 1240122 - Identifier 1240087 1240096 - CallExpression 1240098 1240122 - Identifier 1240098 1240119 - Identifier 1240120 1240121 - VariableStatement 1240123 1240183 - VariableDeclarationList 1240123 1240182 - VariableDeclaration 1240142 1240182 - Identifier 1240142 1240152 - CallExpression 1240154 1240182 - Identifier 1240154 1240176 - Identifier 1240177 1240181 - ExpressionStatement 1240183 1240266 - YieldExpression 1240183 1240265 - ObjectLiteralExpression 1240202 1240265 - PropertyAssignment 1240204 1240225 - Identifier 1240204 1240214 - Identifier 1240215 1240225 - PropertyAssignment 1240226 1240253 - Identifier 1240226 1240242 - Identifier 1240243 1240253 - ShorthandPropertyAssignment 1240254 1240263 - Identifier 1240254 1240263 - FunctionDeclaration 1240284 1241518 - Identifier 1240300 1240322 - Parameter 1240323 1240361 - Identifier 1240323 1240337 - TypeReference 1240338 1240361 - Identifier 1240338 1240361 - Parameter 1240362 1240384 - Identifier 1240362 1240378 - TypeReference 1240379 1240384 - Identifier 1240379 1240384 - Parameter 1240385 1240407 - Identifier 1240385 1240401 - TypeReference 1240402 1240407 - Identifier 1240402 1240407 - Parameter 1240408 1240465 - Identifier 1240408 1240426 - TypeReference 1240427 1240465 - Identifier 1240427 1240431 - StringKeyword 1240432 1240438 - TypeReference 1240439 1240464 - Identifier 1240439 1240464 - Parameter 1240466 1240554 - Identifier 1240466 1240498 - UnionType 1240499 1240554 - ParenthesizedType 1240499 1240542 - FunctionType 1240501 1240541 - UnionType 1240506 1240541 - TypeReference 1240506 1240529 - Identifier 1240506 1240529 - UndefinedKeyword 1240531 1240541 - UndefinedKeyword 1240544 1240554 - Parameter 1240555 1240619 - Identifier 1240555 1240585 - UnionType 1240586 1240619 - TypeReference 1240586 1240607 - Identifier 1240586 1240607 - UndefinedKeyword 1240609 1240619 - Block 1240627 1241518 - IfStatement 1240629 1240712 - BinaryExpression 1240643 1240697 - PropertyAccessExpression 1240643 1240655 - Identifier 1240643 1240649 - Identifier 1240650 1240655 - AmpersandToken 1240655 1240657 - ParenthesizedExpression 1240657 1240697 - BinaryExpression 1240659 1240696 - PropertyAccessExpression 1240659 1240678 - Identifier 1240659 1240668 - Identifier 1240669 1240678 - BarToken 1240678 1240680 - PropertyAccessExpression 1240680 1240696 - Identifier 1240680 1240690 - Identifier 1240691 1240696 - ReturnStatement 1240698 1240712 - FalseKeyword 1240705 1240711 - IfStatement 1240712 1240921 - CallExpression 1240726 1240749 - Identifier 1240726 1240741 - Identifier 1240742 1240748 - Block 1240750 1240921 - ReturnStatement 1240752 1240910 - CallExpression 1240772 1240909 - Identifier 1240772 1240793 - CallExpression 1240794 1240836 - Identifier 1240794 1240822 - Identifier 1240823 1240827 - Identifier 1240828 1240835 - Identifier 1240837 1240844 - Identifier 1240845 1240852 - Identifier 1240853 1240862 - Identifier 1240863 1240886 - Identifier 1240887 1240908 - ExpressionStatement 1240921 1241136 - CallExpression 1240921 1241135 - Identifier 1240921 1241102 - Identifier 1241103 1241107 - Identifier 1241108 1241115 - FalseKeyword 1241116 1241134 - VariableStatement 1241136 1241235 - VariableDeclarationList 1241136 1241234 - VariableDeclaration 1241151 1241234 - Identifier 1241151 1241165 - CallExpression 1241167 1241234 - Identifier 1241167 1241185 - Identifier 1241186 1241190 - PropertyAccessExpression 1241191 1241212 - Identifier 1241191 1241201 - Identifier 1241202 1241212 - TrueKeyword 1241213 1241233 - ExpressionStatement 1241235 1241265 - CallExpression 1241235 1241264 - Identifier 1241235 1241262 - IfStatement 1241265 1241488 - CallExpression 1241279 1241309 - Identifier 1241279 1241294 - Identifier 1241295 1241308 - Block 1241310 1241488 - ReturnStatement 1241312 1241477 - CallExpression 1241332 1241476 - Identifier 1241332 1241353 - CallExpression 1241354 1241396 - Identifier 1241354 1241382 - Identifier 1241383 1241387 - Identifier 1241388 1241395 - Identifier 1241397 1241411 - Identifier 1241412 1241419 - Identifier 1241420 1241429 - Identifier 1241430 1241453 - Identifier 1241454 1241475 - ReturnStatement 1241488 1241511 - FalseKeyword 1241504 1241510 - FunctionDeclaration 1241518 1242798 - AsteriskToken 1241534 1241535 - Identifier 1241535 1241565 - Parameter 1241566 1241595 - Identifier 1241566 1241570 - TypeReference 1241571 1241595 - Identifier 1241571 1241595 - TypeReference 1241597 1241617 - Identifier 1241597 1241617 - Block 1241617 1242798 - IfStatement 1241619 1241666 - PrefixUnaryExpression 1241633 1241657 - CallExpression 1241634 1241657 - Identifier 1241634 1241640 - PropertyAccessExpression 1241641 1241656 - Identifier 1241641 1241645 - Identifier 1241646 1241656 - ReturnStatement 1241658 1241666 - ForOfStatement 1241666 1242791 - VariableDeclarationList 1241681 1241691 - VariableDeclaration 1241686 1241691 - Identifier 1241686 1241691 - PropertyAccessExpression 1241694 1241710 - Identifier 1241694 1241699 - Identifier 1241700 1241710 - Block 1241711 1242791 - IfStatement 1241713 1241766 - CallExpression 1241731 1241755 - Identifier 1241731 1241749 - Identifier 1241750 1241754 - ContinueStatement 1241756 1241766 - VariableStatement 1241766 1241891 - VariableDeclarationList 1241766 1241890 - VariableDeclaration 1241785 1241890 - Identifier 1241785 1241790 - CallExpression 1241792 1241890 - Identifier 1241792 1241819 - CallExpression 1241820 1241848 - Identifier 1241820 1241842 - Identifier 1241843 1241847 - PropertyAccessExpression 1241849 1241889 - Identifier 1241849 1241859 - Identifier 1241860 1241889 - IfStatement 1241891 1241993 - BinaryExpression 1241909 1241948 - PrefixUnaryExpression 1241909 1241914 - Identifier 1241910 1241914 - BarBarToken 1241914 1241917 - ParenthesizedExpression 1241917 1241948 - BinaryExpression 1241919 1241947 - PropertyAccessExpression 1241919 1241929 - Identifier 1241919 1241923 - Identifier 1241924 1241929 - AmpersandToken 1241929 1241931 - PropertyAccessExpression 1241931 1241947 - Identifier 1241931 1241941 - Identifier 1241942 1241947 - Block 1241949 1241993 - ContinueStatement 1241951 1241978 - SwitchStatement 1241993 1242780 - PropertyAccessExpression 1242015 1242024 - Identifier 1242015 1242019 - Identifier 1242020 1242024 - CaseBlock 1242025 1242780 - CaseClause 1242027 1242073 - PropertyAccessExpression 1242049 1242072 - Identifier 1242049 1242060 - Identifier 1242061 1242072 - CaseClause 1242073 1242119 - PropertyAccessExpression 1242095 1242118 - Identifier 1242095 1242106 - Identifier 1242107 1242118 - CaseClause 1242119 1242171 - PropertyAccessExpression 1242141 1242170 - Identifier 1242141 1242152 - Identifier 1242153 1242170 - CaseClause 1242171 1242358 - PropertyAccessExpression 1242193 1242232 - Identifier 1242193 1242204 - Identifier 1242205 1242232 - ExpressionStatement 1242233 1242330 - YieldExpression 1242233 1242329 - ObjectLiteralExpression 1242260 1242329 - PropertyAssignment 1242262 1242283 - Identifier 1242262 1242272 - PropertyAccessExpression 1242273 1242283 - Identifier 1242273 1242278 - Identifier 1242279 1242283 - PropertyAssignment 1242284 1242311 - Identifier 1242284 1242300 - Identifier 1242301 1242311 - PropertyAssignment 1242312 1242327 - Identifier 1242312 1242321 - Identifier 1242322 1242327 - BreakStatement 1242330 1242358 - CaseClause 1242358 1242693 - PropertyAccessExpression 1242380 1242410 - Identifier 1242380 1242391 - Identifier 1242392 1242410 - ExpressionStatement 1242411 1242665 - YieldExpression 1242411 1242664 - ObjectLiteralExpression 1242438 1242664 - PropertyAssignment 1242440 1242461 - Identifier 1242440 1242450 - PropertyAccessExpression 1242451 1242461 - Identifier 1242451 1242456 - Identifier 1242457 1242461 - PropertyAssignment 1242462 1242496 - Identifier 1242462 1242478 - PropertyAccessExpression 1242479 1242496 - Identifier 1242479 1242484 - Identifier 1242485 1242496 - PropertyAssignment 1242497 1242512 - Identifier 1242497 1242506 - Identifier 1242507 1242512 - PropertyAssignment 1242513 1242662 - Identifier 1242513 1242526 - ConditionalExpression 1242527 1242662 - CallExpression 1242527 1242563 - Identifier 1242527 1242552 - PropertyAccessExpression 1242553 1242562 - Identifier 1242553 1242557 - Identifier 1242558 1242562 - QuestionToken 1242563 1242565 - PropertyAccessExpression 1242565 1242650 - Identifier 1242565 1242577 - Identifier 1242578 1242650 - ColonToken 1242650 1242652 - Identifier 1242652 1242662 - BreakStatement 1242665 1242693 - DefaultClause 1242693 1242765 - ExpressionStatement 1242719 1242765 - CallExpression 1242719 1242764 - PropertyAccessExpression 1242719 1242758 - Identifier 1242719 1242746 - Identifier 1242747 1242758 - Identifier 1242759 1242763 - FunctionDeclaration 1242798 1243382 - Identifier 1242814 1242837 - Parameter 1242838 1242877 - Identifier 1242838 1242852 - TypeReference 1242853 1242877 - Identifier 1242853 1242877 - Parameter 1242878 1242900 - Identifier 1242878 1242894 - TypeReference 1242895 1242900 - Identifier 1242895 1242900 - Parameter 1242901 1242923 - Identifier 1242901 1242917 - TypeReference 1242918 1242923 - Identifier 1242918 1242923 - Parameter 1242924 1242981 - Identifier 1242924 1242942 - TypeReference 1242943 1242981 - Identifier 1242943 1242947 - StringKeyword 1242948 1242954 - TypeReference 1242955 1242980 - Identifier 1242955 1242980 - Parameter 1242982 1243070 - Identifier 1242982 1243014 - UnionType 1243015 1243070 - ParenthesizedType 1243015 1243058 - FunctionType 1243017 1243057 - UnionType 1243022 1243057 - TypeReference 1243022 1243045 - Identifier 1243022 1243045 - UndefinedKeyword 1243047 1243057 - UndefinedKeyword 1243060 1243070 - Parameter 1243071 1243135 - Identifier 1243071 1243101 - UnionType 1243102 1243135 - TypeReference 1243102 1243123 - Identifier 1243102 1243123 - UndefinedKeyword 1243125 1243135 - Block 1243143 1243382 - IfStatement 1243145 1243228 - BinaryExpression 1243159 1243213 - PropertyAccessExpression 1243159 1243171 - Identifier 1243159 1243165 - Identifier 1243166 1243171 - AmpersandToken 1243171 1243173 - ParenthesizedExpression 1243173 1243213 - BinaryExpression 1243175 1243212 - PropertyAccessExpression 1243175 1243194 - Identifier 1243175 1243184 - Identifier 1243185 1243194 - BarToken 1243194 1243196 - PropertyAccessExpression 1243196 1243212 - Identifier 1243196 1243206 - Identifier 1243207 1243212 - ReturnStatement 1243214 1243228 - FalseKeyword 1243221 1243227 - ReturnStatement 1243228 1243375 - CallExpression 1243244 1243374 - Identifier 1243244 1243265 - CallExpression 1243266 1243301 - Identifier 1243266 1243295 - Identifier 1243296 1243300 - Identifier 1243302 1243309 - Identifier 1243310 1243317 - Identifier 1243318 1243327 - Identifier 1243328 1243351 - Identifier 1243352 1243373 - FunctionDeclaration 1243382 1243899 - Identifier 1243594 1243616 - Parameter 1243617 1243629 - Identifier 1243617 1243623 - TypeReference 1243624 1243629 - Identifier 1243624 1243629 - Parameter 1243630 1243643 - Identifier 1243630 1243637 - TypeReference 1243638 1243643 - Identifier 1243638 1243643 - Parameter 1243644 1243660 - Identifier 1243644 1243654 - TypeReference 1243655 1243660 - Identifier 1243655 1243660 - Parameter 1243661 1243693 - Identifier 1243661 1243673 - QuestionToken 1243673 1243674 - TypeReference 1243675 1243693 - Identifier 1243675 1243693 - Parameter 1243694 1243760 - Identifier 1243694 1243717 - QuestionToken 1243717 1243718 - FunctionType 1243719 1243760 - UnionType 1243725 1243760 - TypeReference 1243725 1243748 - Identifier 1243725 1243748 - UndefinedKeyword 1243750 1243760 - BooleanKeyword 1243762 1243770 - Block 1243770 1243899 - ReturnStatement 1243772 1243892 - CallExpression 1243788 1243891 - Identifier 1243788 1243807 - Identifier 1243808 1243814 - Identifier 1243815 1243822 - Identifier 1243823 1243842 - Identifier 1243843 1243853 - Identifier 1243854 1243866 - Identifier 1243867 1243890 - FunctionDeclaration 1243899 1244340 - Identifier 1243915 1243939 - Parameter 1243940 1243957 - Identifier 1243940 1243946 - TypeReference 1243947 1243957 - Identifier 1243947 1243957 - Parameter 1243958 1243976 - Identifier 1243958 1243965 - TypeReference 1243966 1243976 - Identifier 1243966 1243976 - Parameter 1243977 1244004 - Identifier 1243977 1243995 - BooleanKeyword 1243996 1244004 - BooleanKeyword 1244006 1244014 - Block 1244014 1244340 - ReturnStatement 1244016 1244333 - BinaryExpression 1244032 1244332 - CallExpression 1244032 1244314 - Identifier 1244032 1244057 - Identifier 1244058 1244064 - Identifier 1244065 1244072 - ConditionalExpression 1244073 1244156 - Identifier 1244073 1244091 - QuestionToken 1244091 1244093 - PropertyAccessExpression 1244093 1244130 - Identifier 1244093 1244112 - Identifier 1244113 1244130 - ColonToken 1244130 1244132 - PropertyAccessExpression 1244132 1244156 - Identifier 1244132 1244151 - Identifier 1244152 1244156 - FalseKeyword 1244157 1244180 - Identifier 1244181 1244209 - Identifier 1244210 1244250 - Identifier 1244251 1244274 - Identifier 1244275 1244313 - ExclamationEqualsEqualsToken 1244314 1244318 - PropertyAccessExpression 1244318 1244332 - Identifier 1244318 1244326 - Identifier 1244327 1244332 - TypeAliasDeclaration 1244340 1244436 - Identifier 1244352 1244366 - FunctionType 1244368 1244435 - Parameter 1244370 1244396 - Identifier 1244370 1244377 - TypeReference 1244378 1244396 - Identifier 1244378 1244396 - Parameter 1244397 1244426 - DotDotDotToken 1244397 1244401 - Identifier 1244401 1244405 - TypeReference 1244406 1244426 - Identifier 1244406 1244426 - VoidKeyword 1244430 1244435 - FunctionDeclaration 1244436 1245148 - Identifier 1244604 1244619 - Parameter 1244620 1244632 - Identifier 1244620 1244621 - TypeReference 1244622 1244632 - Identifier 1244622 1244632 - Block 1244633 1245148 - IfStatement 1244635 1245118 - BinaryExpression 1244649 1244799 - BinaryExpression 1244649 1244767 - BinaryExpression 1244649 1244738 - PrefixUnaryExpression 1244649 1244666 - PropertyAccessExpression 1244650 1244666 - Identifier 1244650 1244651 - Identifier 1244652 1244666 - AmpersandAmpersandToken 1244666 1244669 - ParenthesizedExpression 1244669 1244738 - BinaryExpression 1244671 1244737 - PrefixUnaryExpression 1244671 1244687 - PropertyAccessExpression 1244672 1244687 - Identifier 1244672 1244673 - Identifier 1244674 1244687 - BarBarToken 1244687 1244690 - CallExpression 1244690 1244737 - Identifier 1244690 1244700 - CallExpression 1244701 1244736 - Identifier 1244701 1244719 - PropertyAccessExpression 1244720 1244735 - Identifier 1244720 1244721 - Identifier 1244722 1244735 - AmpersandAmpersandToken 1244738 1244741 - BinaryExpression 1244741 1244767 - PropertyAccessExpression 1244741 1244761 - PropertyAccessExpression 1244741 1244754 - Identifier 1244741 1244743 - Identifier 1244744 1244754 - Identifier 1244755 1244761 - EqualsEqualsEqualsToken 1244761 1244765 - NumericLiteral 1244765 1244767 - AmpersandAmpersandToken 1244767 1244770 - CallExpression 1244770 1244799 - Identifier 1244770 1244796 - Identifier 1244797 1244798 - Block 1244800 1245118 - VariableStatement 1244802 1244870 - VariableDeclarationList 1244802 1244869 - VariableDeclaration 1244821 1244869 - Identifier 1244821 1244831 - CallExpression 1244833 1244869 - Identifier 1244833 1244852 - ElementAccessExpression 1244853 1244868 - PropertyAccessExpression 1244853 1244865 - Identifier 1244853 1244854 - Identifier 1244855 1244865 - NumericLiteral 1244866 1244867 - VariableStatement 1244870 1244969 - VariableDeclarationList 1244870 1244968 - VariableDeclaration 1244889 1244968 - Identifier 1244889 1244898 - ConditionalExpression 1244900 1244968 - CallExpression 1244900 1244923 - Identifier 1244900 1244912 - Identifier 1244913 1244922 - QuestionToken 1244923 1244925 - ElementAccessExpression 1244925 1244956 - CallExpression 1244925 1244953 - Identifier 1244925 1244942 - Identifier 1244943 1244952 - NumericLiteral 1244954 1244955 - ColonToken 1244956 1244958 - Identifier 1244958 1244968 - ReturnStatement 1244969 1245107 - PrefixUnaryExpression 1244989 1245106 - PrefixUnaryExpression 1244991 1245106 - ParenthesizedExpression 1244992 1245106 - BinaryExpression 1244993 1245105 - BinaryExpression 1244993 1245043 - PropertyAccessExpression 1244993 1245007 - Identifier 1244993 1245001 - Identifier 1245002 1245007 - AmpersandToken 1245007 1245009 - ParenthesizedExpression 1245009 1245043 - BinaryExpression 1245011 1245042 - PropertyAccessExpression 1245011 1245024 - Identifier 1245011 1245020 - Identifier 1245021 1245024 - BarToken 1245024 1245026 - PropertyAccessExpression 1245026 1245042 - Identifier 1245026 1245036 - Identifier 1245037 1245042 - AmpersandAmpersandToken 1245043 1245046 - BinaryExpression 1245046 1245105 - PropertyAccessExpression 1245046 1245080 - CallExpression 1245046 1245074 - Identifier 1245046 1245071 - Identifier 1245072 1245073 - Identifier 1245075 1245080 - AmpersandToken 1245080 1245082 - PropertyAccessExpression 1245082 1245105 - Identifier 1245082 1245092 - Identifier 1245093 1245105 - ReturnStatement 1245118 1245141 - FalseKeyword 1245134 1245140 - FunctionDeclaration 1245148 1254974 - Identifier 1245241 1245266 - Parameter 1245267 1245284 - Identifier 1245267 1245273 - TypeReference 1245274 1245284 - Identifier 1245274 1245284 - Parameter 1245285 1245303 - Identifier 1245285 1245292 - TypeReference 1245293 1245303 - Identifier 1245293 1245303 - Parameter 1245304 1245334 - Identifier 1245304 1245314 - TypeReference 1245315 1245334 - Identifier 1245315 1245334 - Parameter 1245335 1245357 - Identifier 1245335 1245348 - BooleanKeyword 1245349 1245357 - Parameter 1245358 1245399 - Identifier 1245358 1245372 - UnionType 1245373 1245399 - TypeReference 1245373 1245387 - Identifier 1245373 1245387 - UndefinedKeyword 1245389 1245399 - Parameter 1245400 1245478 - Identifier 1245400 1245426 - UnionType 1245427 1245478 - ParenthesizedType 1245427 1245466 - FunctionType 1245429 1245465 - Parameter 1245430 1245442 - Identifier 1245430 1245436 - TypeReference 1245437 1245442 - Identifier 1245437 1245442 - Parameter 1245443 1245456 - Identifier 1245443 1245450 - TypeReference 1245451 1245456 - Identifier 1245451 1245456 - VoidKeyword 1245460 1245465 - UndefinedKeyword 1245468 1245478 - Parameter 1245479 1245506 - Identifier 1245479 1245492 - TypeReference 1245493 1245506 - Identifier 1245493 1245506 - Parameter 1245507 1245555 - Identifier 1245507 1245531 - UnionType 1245532 1245555 - TypeReference 1245532 1245543 - Identifier 1245532 1245543 - UndefinedKeyword 1245545 1245555 - TypeReference 1245557 1245565 - Identifier 1245557 1245565 - Block 1245565 1254974 - IfStatement 1245567 1245718 - BinaryExpression 1245653 1245670 - Identifier 1245653 1245659 - EqualsEqualsEqualsToken 1245659 1245663 - Identifier 1245663 1245670 - Block 1245671 1245718 - ReturnStatement 1245673 1245707 - PropertyAccessExpression 1245693 1245706 - Identifier 1245693 1245701 - Identifier 1245702 1245706 - IfStatement 1245718 1245886 - BinaryExpression 1245734 1245838 - PrefixUnaryExpression 1245734 1245812 - ParenthesizedExpression 1245735 1245812 - BinaryExpression 1245736 1245811 - BinaryExpression 1245736 1245785 - Identifier 1245736 1245745 - AmpersandToken 1245745 1245747 - PropertyAccessExpression 1245747 1245785 - Identifier 1245747 1245766 - Identifier 1245767 1245785 - AmpersandAmpersandToken 1245785 1245788 - CallExpression 1245788 1245811 - Identifier 1245788 1245803 - Identifier 1245804 1245810 - AmpersandAmpersandToken 1245812 1245815 - CallExpression 1245815 1245838 - Identifier 1245815 1245830 - Identifier 1245831 1245837 - Block 1245839 1245886 - ReturnStatement 1245841 1245875 - PropertyAccessExpression 1245861 1245874 - Identifier 1245861 1245869 - Identifier 1245870 1245874 - IfStatement 1245886 1246051 - BinaryExpression 1245900 1246002 - BinaryExpression 1245900 1245975 - BinaryExpression 1245900 1245949 - Identifier 1245900 1245909 - AmpersandToken 1245909 1245911 - PropertyAccessExpression 1245911 1245949 - Identifier 1245911 1245930 - Identifier 1245931 1245949 - AmpersandAmpersandToken 1245949 1245952 - CallExpression 1245952 1245975 - Identifier 1245952 1245967 - Identifier 1245968 1245974 - AmpersandAmpersandToken 1245975 1245978 - PrefixUnaryExpression 1245978 1246002 - CallExpression 1245980 1246002 - Identifier 1245980 1245994 - Identifier 1245995 1246001 - Block 1246003 1246051 - ReturnStatement 1246005 1246040 - PropertyAccessExpression 1246025 1246039 - Identifier 1246025 1246033 - Identifier 1246034 1246039 - VariableStatement 1246051 1246109 - VariableDeclarationList 1246051 1246108 - VariableDeclaration 1246068 1246108 - Identifier 1246068 1246080 - CallExpression 1246082 1246108 - Identifier 1246082 1246100 - Identifier 1246101 1246107 - VariableStatement 1246109 1246370 - VariableDeclarationList 1246109 1246369 - VariableDeclaration 1246124 1246369 - Identifier 1246124 1246148 - BinaryExpression 1246150 1246369 - PrefixUnaryExpression 1246150 1246185 - CallExpression 1246152 1246185 - Identifier 1246152 1246177 - Identifier 1246178 1246184 - AmpersandAmpersandToken 1246185 1246188 - ParenthesizedExpression 1246188 1246369 - ConditionalExpression 1246203 1246368 - BinaryExpression 1246203 1246245 - Identifier 1246203 1246212 - AmpersandToken 1246212 1246214 - PropertyAccessExpression 1246214 1246245 - Identifier 1246214 1246233 - Identifier 1246234 1246245 - QuestionToken 1246245 1246247 - BinaryExpression 1246247 1246324 - CallExpression 1246247 1246281 - Identifier 1246247 1246273 - Identifier 1246274 1246280 - BarBarToken 1246281 1246284 - BinaryExpression 1246284 1246324 - CallExpression 1246284 1246310 - Identifier 1246284 1246302 - Identifier 1246303 1246309 - GreaterThanToken 1246310 1246312 - Identifier 1246312 1246324 - ColonToken 1246324 1246326 - BinaryExpression 1246326 1246368 - CallExpression 1246326 1246354 - Identifier 1246326 1246346 - Identifier 1246347 1246353 - GreaterThanToken 1246354 1246356 - Identifier 1246356 1246368 - IfStatement 1246370 1246918 - Identifier 1246384 1246407 - Block 1246408 1246918 - IfStatement 1246410 1246872 - BinaryExpression 1246428 1246489 - Identifier 1246428 1246440 - AmpersandAmpersandToken 1246440 1246443 - PrefixUnaryExpression 1246443 1246489 - ParenthesizedExpression 1246445 1246489 - BinaryExpression 1246446 1246488 - Identifier 1246446 1246455 - AmpersandToken 1246455 1246457 - PropertyAccessExpression 1246457 1246488 - Identifier 1246457 1246476 - Identifier 1246477 1246488 - Block 1246490 1246872 - ExpressionStatement 1246492 1246857 - CallExpression 1246492 1246856 - NonNullExpression 1246492 1246728 - Identifier 1246492 1246727 - PropertyAccessExpression 1246729 1246813 - Identifier 1246729 1246740 - Identifier 1246741 1246813 - CallExpression 1246814 1246842 - Identifier 1246814 1246834 - Identifier 1246835 1246841 - Identifier 1246843 1246855 - ReturnStatement 1246872 1246907 - PropertyAccessExpression 1246892 1246906 - Identifier 1246892 1246900 - Identifier 1246901 1246906 - IfStatement 1246918 1247190 - BinaryExpression 1246934 1247006 - PropertyAccessExpression 1246934 1246955 - Identifier 1246934 1246940 - Identifier 1246941 1246955 - AmpersandAmpersandToken 1246955 1246958 - BinaryExpression 1246958 1247006 - PropertyAccessExpression 1246958 1246980 - Identifier 1246958 1246965 - Identifier 1246966 1246980 - ExclamationEqualsEqualsToken 1246980 1246984 - PropertyAccessExpression 1246984 1247006 - Identifier 1246984 1246991 - Identifier 1246992 1247006 - Block 1247007 1247190 - ExpressionStatement 1247009 1247062 - BinaryExpression 1247009 1247061 - Identifier 1247009 1247029 - EqualsToken 1247029 1247031 - CallExpression 1247031 1247061 - Identifier 1247031 1247053 - Identifier 1247054 1247060 - ExpressionStatement 1247062 1247179 - BinaryExpression 1247062 1247178 - Identifier 1247062 1247082 - EqualsToken 1247082 1247084 - CallExpression 1247084 1247178 - Identifier 1247084 1247116 - Identifier 1247117 1247123 - Identifier 1247124 1247131 - Identifier 1247132 1247163 - Identifier 1247164 1247177 - VariableStatement 1247190 1247248 - VariableDeclarationList 1247190 1247247 - VariableDeclaration 1247207 1247247 - Identifier 1247207 1247219 - CallExpression 1247221 1247247 - Identifier 1247221 1247239 - Identifier 1247240 1247246 - VariableStatement 1247248 1247309 - VariableDeclarationList 1247248 1247308 - VariableDeclaration 1247263 1247308 - Identifier 1247263 1247278 - CallExpression 1247280 1247308 - Identifier 1247280 1247300 - Identifier 1247301 1247307 - VariableStatement 1247309 1247370 - VariableDeclarationList 1247309 1247369 - VariableDeclaration 1247324 1247369 - Identifier 1247324 1247339 - CallExpression 1247341 1247369 - Identifier 1247341 1247361 - Identifier 1247362 1247368 - IfStatement 1247370 1247524 - BinaryExpression 1247384 1247416 - Identifier 1247384 1247398 - BarBarToken 1247398 1247401 - Identifier 1247401 1247416 - Block 1247417 1247524 - ExpressionStatement 1247419 1247513 - VoidExpression 1247419 1247512 - CallExpression 1247437 1247512 - Identifier 1247437 1247453 - BinaryExpression 1247454 1247486 - Identifier 1247454 1247468 - BarBarToken 1247468 1247471 - Identifier 1247471 1247486 - Identifier 1247487 1247511 - VariableStatement 1247524 1247615 - VariableDeclarationList 1247524 1247614 - VariableDeclaration 1247541 1247614 - Identifier 1247541 1247546 - ConditionalExpression 1247548 1247614 - PropertyAccessExpression 1247548 1247567 - Identifier 1247548 1247555 - Identifier 1247556 1247567 - QuestionToken 1247567 1247569 - PropertyAccessExpression 1247569 1247593 - PropertyAccessExpression 1247569 1247588 - Identifier 1247569 1247576 - Identifier 1247577 1247588 - Identifier 1247589 1247593 - ColonToken 1247593 1247595 - PropertyAccessExpression 1247595 1247614 - Identifier 1247595 1247606 - Identifier 1247607 1247614 - VariableStatement 1247615 1247842 - VariableDeclarationList 1247615 1247841 - VariableDeclaration 1247630 1247841 - Identifier 1247630 1247645 - BinaryExpression 1247647 1247841 - BinaryExpression 1247647 1247806 - BinaryExpression 1247647 1247754 - BinaryExpression 1247647 1247713 - PrefixUnaryExpression 1247647 1247690 - ParenthesizedExpression 1247649 1247690 - BinaryExpression 1247650 1247689 - Identifier 1247650 1247659 - AmpersandToken 1247659 1247661 - PropertyAccessExpression 1247661 1247689 - Identifier 1247661 1247680 - Identifier 1247681 1247689 - AmpersandAmpersandToken 1247690 1247693 - Identifier 1247693 1247713 - AmpersandAmpersandToken 1247713 1247716 - BinaryExpression 1247716 1247754 - Identifier 1247716 1247721 - ExclamationEqualsEqualsToken 1247721 1247725 - PropertyAccessExpression 1247725 1247754 - Identifier 1247725 1247736 - Identifier 1247737 1247754 - AmpersandAmpersandToken 1247754 1247757 - BinaryExpression 1247757 1247806 - Identifier 1247757 1247775 - ExclamationEqualsEqualsToken 1247775 1247779 - PropertyAccessExpression 1247779 1247806 - Identifier 1247779 1247790 - Identifier 1247791 1247806 - AmpersandAmpersandToken 1247806 1247809 - BinaryExpression 1247809 1247841 - Identifier 1247809 1247814 - ExclamationEqualsEqualsToken 1247814 1247818 - PropertyAccessExpression 1247818 1247841 - Identifier 1247818 1247829 - Identifier 1247830 1247841 - VariableStatement 1247842 1247878 - VariableDeclarationList 1247842 1247877 - VariableDeclaration 1247855 1247877 - Identifier 1247855 1247862 - PropertyAccessExpression 1247864 1247877 - Identifier 1247864 1247872 - Identifier 1247873 1247877 - VariableStatement 1247878 1247944 - VariableDeclarationList 1247878 1247943 - VariableDeclaration 1247895 1247943 - Identifier 1247895 1247910 - CallExpression 1247912 1247943 - Identifier 1247912 1247935 - Identifier 1247936 1247942 - IfStatement 1247944 1248700 - BinaryExpression 1247958 1248003 - Identifier 1247958 1247972 - AmpersandAmpersandToken 1247972 1247975 - BinaryExpression 1247975 1248003 - Identifier 1247975 1247990 - ExclamationEqualsEqualsToken 1247990 1247994 - Identifier 1247994 1248003 - Block 1248004 1248700 - VariableStatement 1248006 1248074 - VariableDeclarationList 1248006 1248073 - VariableDeclaration 1248025 1248073 - Identifier 1248025 1248040 - CallExpression 1248042 1248073 - Identifier 1248042 1248065 - Identifier 1248066 1248072 - IfStatement 1248074 1248689 - Identifier 1248092 1248106 - Block 1248107 1248689 - VariableStatement 1248109 1248375 - VariableDeclarationList 1248109 1248374 - VariableDeclaration 1248193 1248374 - Identifier 1248193 1248201 - BinaryExpression 1248203 1248374 - BinaryExpression 1248203 1248291 - PrefixUnaryExpression 1248203 1248219 - Identifier 1248205 1248219 - AmpersandAmpersandToken 1248219 1248222 - CallExpression 1248222 1248291 - Identifier 1248222 1248235 - Identifier 1248236 1248250 - Identifier 1248251 1248266 - FalseKeyword 1248267 1248290 - BarBarToken 1248291 1248315 - CallExpression 1248315 1248374 - Identifier 1248315 1248328 - Identifier 1248329 1248343 - Identifier 1248344 1248359 - Identifier 1248360 1248373 - IfStatement 1248375 1248638 - PrefixUnaryExpression 1248397 1248405 - Identifier 1248398 1248405 - Block 1248406 1248638 - IfStatement 1248408 1248576 - Identifier 1248434 1248446 - Block 1248447 1248576 - ExpressionStatement 1248449 1248553 - CallExpression 1248449 1248552 - NonNullExpression 1248449 1248489 - Identifier 1248449 1248488 - PropertyAccessExpression 1248490 1248551 - Identifier 1248490 1248501 - Identifier 1248502 1248551 - ReturnStatement 1248576 1248619 - PropertyAccessExpression 1248604 1248618 - Identifier 1248604 1248612 - Identifier 1248613 1248618 - ExpressionStatement 1248638 1248674 - BinaryExpression 1248638 1248673 - Identifier 1248638 1248662 - AmpersandEqualsToken 1248662 1248665 - Identifier 1248665 1248673 - VariableStatement 1248700 1248838 - VariableDeclarationList 1248700 1248837 - VariableDeclaration 1248717 1248837 - Identifier 1248717 1248728 - ConditionalExpression 1248730 1248837 - BinaryExpression 1248730 1248763 - Identifier 1248730 1248745 - BarBarToken 1248745 1248748 - Identifier 1248748 1248763 - QuestionToken 1248763 1248765 - CallExpression 1248765 1248800 - PropertyAccessExpression 1248765 1248774 - Identifier 1248765 1248770 - Identifier 1248771 1248774 - Identifier 1248775 1248786 - Identifier 1248787 1248799 - ColonToken 1248800 1248802 - CallExpression 1248802 1248837 - PropertyAccessExpression 1248802 1248811 - Identifier 1248802 1248807 - Identifier 1248808 1248811 - Identifier 1248812 1248823 - Identifier 1248824 1248836 - VariableStatement 1248838 1248921 - VariableDeclarationList 1248838 1248920 - VariableDeclaration 1248853 1248920 - Identifier 1248853 1248863 - ConditionalExpression 1248865 1248920 - BinaryExpression 1248865 1248898 - Identifier 1248865 1248880 - BarBarToken 1248880 1248883 - Identifier 1248883 1248898 - QuestionToken 1248898 1248900 - BinaryExpression 1248900 1248915 - Identifier 1248900 1248911 - MinusToken 1248911 1248913 - NumericLiteral 1248913 1248915 - ColonToken 1248915 1248917 - PrefixUnaryExpression 1248917 1248920 - NumericLiteral 1248919 1248920 - ForStatement 1248921 1252275 - VariableDeclarationList 1248938 1248947 - VariableDeclaration 1248941 1248947 - Identifier 1248941 1248943 - NumericLiteral 1248945 1248947 - BinaryExpression 1248948 1248963 - Identifier 1248948 1248950 - LessThanToken 1248950 1248952 - Identifier 1248952 1248963 - PostfixUnaryExpression 1248964 1248968 - Identifier 1248964 1248966 - Block 1248969 1252275 - VariableStatement 1248971 1249094 - VariableDeclarationList 1248971 1249093 - VariableDeclaration 1248990 1249093 - Identifier 1248990 1249001 - ConditionalExpression 1249003 1249093 - BinaryExpression 1249003 1249019 - Identifier 1249003 1249005 - EqualsEqualsEqualsToken 1249005 1249009 - Identifier 1249009 1249019 - QuestionToken 1249019 1249021 - CallExpression 1249021 1249059 - Identifier 1249021 1249048 - Identifier 1249049 1249055 - Identifier 1249056 1249058 - ColonToken 1249059 1249061 - CallExpression 1249061 1249093 - Identifier 1249061 1249082 - Identifier 1249083 1249089 - Identifier 1249090 1249092 - VariableStatement 1249094 1249217 - VariableDeclarationList 1249094 1249216 - VariableDeclaration 1249113 1249216 - Identifier 1249113 1249124 - ConditionalExpression 1249126 1249216 - BinaryExpression 1249126 1249142 - Identifier 1249126 1249128 - EqualsEqualsEqualsToken 1249128 1249132 - Identifier 1249132 1249142 - QuestionToken 1249142 1249144 - CallExpression 1249144 1249182 - Identifier 1249144 1249171 - Identifier 1249172 1249178 - Identifier 1249179 1249181 - ColonToken 1249182 1249184 - CallExpression 1249184 1249216 - Identifier 1249184 1249205 - Identifier 1249206 1249212 - Identifier 1249213 1249215 - IfStatement 1249217 1252264 - BinaryExpression 1249235 1249336 - BinaryExpression 1249235 1249259 - Identifier 1249235 1249245 - AmpersandAmpersandToken 1249245 1249248 - Identifier 1249248 1249259 - AmpersandAmpersandToken 1249259 1249262 - ParenthesizedExpression 1249262 1249336 - BinaryExpression 1249264 1249335 - BinaryExpression 1249264 1249289 - Identifier 1249264 1249274 - ExclamationEqualsEqualsToken 1249274 1249278 - Identifier 1249278 1249289 - BarBarToken 1249289 1249292 - BinaryExpression 1249292 1249335 - Identifier 1249292 1249302 - AmpersandToken 1249302 1249304 - PropertyAccessExpression 1249304 1249335 - Identifier 1249304 1249323 - Identifier 1249324 1249335 - Block 1249337 1252264 - VariableStatement 1249339 1250402 - VariableDeclarationList 1249339 1250401 - VariableDeclaration 1250235 1250401 - Identifier 1250235 1250245 - ConditionalExpression 1250247 1250401 - BinaryExpression 1250247 1250332 - BinaryExpression 1250247 1250287 - Identifier 1250247 1250257 - AmpersandToken 1250257 1250259 - PropertyAccessExpression 1250259 1250287 - Identifier 1250259 1250278 - Identifier 1250279 1250287 - BarBarToken 1250287 1250290 - CallExpression 1250290 1250332 - Identifier 1250290 1250321 - Identifier 1250322 1250328 - Identifier 1250329 1250331 - QuestionToken 1250332 1250334 - Identifier 1250334 1250344 - ColonToken 1250344 1250346 - CallExpression 1250346 1250401 - Identifier 1250346 1250369 - CallExpression 1250370 1250400 - Identifier 1250370 1250388 - Identifier 1250389 1250399 - VariableStatement 1250402 1250592 - VariableDeclarationList 1250402 1250591 - VariableDeclaration 1250425 1250591 - Identifier 1250425 1250435 - ConditionalExpression 1250437 1250591 - BinaryExpression 1250437 1250522 - BinaryExpression 1250437 1250477 - Identifier 1250437 1250447 - AmpersandToken 1250447 1250449 - PropertyAccessExpression 1250449 1250477 - Identifier 1250449 1250468 - Identifier 1250469 1250477 - BarBarToken 1250477 1250480 - CallExpression 1250480 1250522 - Identifier 1250480 1250511 - Identifier 1250512 1250518 - Identifier 1250519 1250521 - QuestionToken 1250522 1250524 - Identifier 1250524 1250534 - ColonToken 1250534 1250536 - CallExpression 1250536 1250591 - Identifier 1250536 1250559 - CallExpression 1250560 1250590 - Identifier 1250560 1250578 - Identifier 1250579 1250589 - VariableStatement 1250592 1250873 - VariableDeclarationList 1250592 1250872 - VariableDeclaration 1250615 1250872 - Identifier 1250615 1250625 - BinaryExpression 1250627 1250872 - BinaryExpression 1250627 1250736 - BinaryExpression 1250627 1250693 - BinaryExpression 1250627 1250650 - Identifier 1250627 1250637 - AmpersandAmpersandToken 1250637 1250640 - Identifier 1250640 1250650 - AmpersandAmpersandToken 1250650 1250653 - PrefixUnaryExpression 1250653 1250693 - CallExpression 1250655 1250693 - Identifier 1250655 1250682 - Identifier 1250683 1250692 - AmpersandAmpersandToken 1250693 1250696 - PrefixUnaryExpression 1250696 1250736 - CallExpression 1250698 1250736 - Identifier 1250698 1250725 - Identifier 1250726 1250735 - AmpersandAmpersandToken 1250736 1250739 - BinaryExpression 1250739 1250872 - CallExpression 1250739 1250814 - Identifier 1250739 1250773 - Identifier 1250774 1250784 - PropertyAccessExpression 1250785 1250813 - Identifier 1250785 1250795 - Identifier 1250796 1250813 - EqualsEqualsEqualsToken 1250814 1250818 - CallExpression 1250818 1250872 - Identifier 1250818 1250831 - Identifier 1250832 1250842 - PropertyAccessExpression 1250843 1250871 - Identifier 1250843 1250853 - Identifier 1250854 1250871 - VariableStatement 1250873 1251423 - VariableDeclarationList 1250873 1251422 - VariableDeclaration 1250894 1251422 - Identifier 1250894 1250902 - ConditionalExpression 1250904 1251422 - Identifier 1250904 1250914 - QuestionToken 1250914 1250916 - CallExpression 1250916 1251219 - Identifier 1250916 1250962 - Identifier 1250963 1250972 - Identifier 1250973 1250983 - BinaryExpression 1250984 1251123 - ParenthesizedExpression 1250984 1251029 - BinaryExpression 1250986 1251028 - Identifier 1250986 1250995 - AmpersandToken 1250995 1250997 - PropertyAccessExpression 1250997 1251028 - Identifier 1250997 1251016 - Identifier 1251017 1251028 - BarToken 1251029 1251031 - ParenthesizedExpression 1251031 1251123 - ConditionalExpression 1251033 1251122 - Identifier 1251033 1251047 - QuestionToken 1251047 1251049 - PropertyAccessExpression 1251049 1251083 - Identifier 1251049 1251068 - Identifier 1251069 1251083 - ColonToken 1251083 1251085 - PropertyAccessExpression 1251085 1251122 - Identifier 1251085 1251104 - Identifier 1251105 1251122 - Identifier 1251124 1251137 - Identifier 1251138 1251152 - Identifier 1251153 1251179 - Identifier 1251180 1251193 - Identifier 1251194 1251218 - ColonToken 1251219 1251221 - BinaryExpression 1251221 1251422 - BinaryExpression 1251221 1251368 - BinaryExpression 1251221 1251304 - PrefixUnaryExpression 1251221 1251285 - ParenthesizedExpression 1251244 1251285 - BinaryExpression 1251245 1251284 - Identifier 1251245 1251254 - AmpersandToken 1251254 1251256 - PropertyAccessExpression 1251256 1251284 - Identifier 1251256 1251275 - Identifier 1251276 1251284 - AmpersandAmpersandToken 1251285 1251288 - PrefixUnaryExpression 1251288 1251304 - Identifier 1251290 1251304 - AmpersandAmpersandToken 1251304 1251307 - CallExpression 1251307 1251368 - Identifier 1251307 1251320 - Identifier 1251321 1251331 - Identifier 1251332 1251343 - FalseKeyword 1251344 1251367 - BarBarToken 1251368 1251371 - CallExpression 1251371 1251422 - Identifier 1251371 1251384 - Identifier 1251385 1251395 - Identifier 1251396 1251407 - Identifier 1251408 1251421 - IfStatement 1251423 1251821 - BinaryExpression 1251565 1251753 - BinaryExpression 1251565 1251689 - BinaryExpression 1251565 1251654 - BinaryExpression 1251565 1251618 - Identifier 1251565 1251572 - AmpersandAmpersandToken 1251572 1251575 - BinaryExpression 1251575 1251618 - Identifier 1251575 1251585 - AmpersandToken 1251585 1251587 - PropertyAccessExpression 1251587 1251618 - Identifier 1251587 1251606 - Identifier 1251607 1251618 - AmpersandAmpersandToken 1251618 1251621 - BinaryExpression 1251621 1251654 - Identifier 1251621 1251623 - GreaterThanEqualsToken 1251623 1251626 - CallExpression 1251626 1251654 - Identifier 1251626 1251646 - Identifier 1251647 1251653 - AmpersandAmpersandToken 1251654 1251657 - BinaryExpression 1251657 1251689 - Identifier 1251657 1251659 - LessThanToken 1251659 1251661 - CallExpression 1251661 1251689 - Identifier 1251661 1251681 - Identifier 1251682 1251688 - AmpersandAmpersandToken 1251689 1251692 - CallExpression 1251692 1251753 - Identifier 1251692 1251705 - Identifier 1251706 1251716 - Identifier 1251717 1251728 - FalseKeyword 1251729 1251752 - Block 1251754 1251821 - ExpressionStatement 1251756 1251802 - BinaryExpression 1251756 1251801 - Identifier 1251756 1251785 - EqualsToken 1251785 1251787 - PropertyAccessExpression 1251787 1251801 - Identifier 1251787 1251795 - Identifier 1251796 1251801 - IfStatement 1251821 1252213 - PrefixUnaryExpression 1251843 1251851 - Identifier 1251844 1251851 - Block 1251852 1252213 - IfStatement 1251854 1252151 - Identifier 1251880 1251892 - Block 1251893 1252151 - ExpressionStatement 1251895 1252128 - CallExpression 1251895 1252127 - NonNullExpression 1251895 1251935 - Identifier 1251895 1251934 - PropertyAccessExpression 1251936 1251992 - Identifier 1251936 1251947 - Identifier 1251948 1251992 - CallExpression 1251993 1252059 - Identifier 1251993 1252020 - CallExpression 1252021 1252058 - Identifier 1252021 1252047 - Identifier 1252048 1252054 - Identifier 1252055 1252057 - CallExpression 1252060 1252126 - Identifier 1252060 1252087 - CallExpression 1252088 1252125 - Identifier 1252088 1252114 - Identifier 1252115 1252121 - Identifier 1252122 1252124 - ReturnStatement 1252151 1252194 - PropertyAccessExpression 1252179 1252193 - Identifier 1252179 1252187 - Identifier 1252188 1252193 - ExpressionStatement 1252213 1252249 - BinaryExpression 1252213 1252248 - Identifier 1252213 1252237 - AmpersandEqualsToken 1252237 1252240 - Identifier 1252240 1252248 - IfStatement 1252275 1254941 - PrefixUnaryExpression 1252291 1252342 - ParenthesizedExpression 1252292 1252342 - BinaryExpression 1252293 1252341 - Identifier 1252293 1252302 - AmpersandToken 1252302 1252304 - PropertyAccessExpression 1252304 1252341 - Identifier 1252304 1252323 - Identifier 1252324 1252341 - Block 1252343 1254941 - VariableStatement 1252345 1252799 - VariableDeclarationList 1252345 1252798 - VariableDeclaration 1252519 1252798 - Identifier 1252519 1252536 - ConditionalExpression 1252538 1252798 - CallExpression 1252538 1252579 - Identifier 1252538 1252571 - Identifier 1252572 1252578 - QuestionToken 1252579 1252581 - Identifier 1252581 1252589 - ColonToken 1252589 1252608 - ConditionalExpression 1252608 1252798 - BinaryExpression 1252608 1252666 - PropertyAccessExpression 1252608 1252627 - Identifier 1252608 1252615 - Identifier 1252616 1252627 - AmpersandAmpersandToken 1252627 1252630 - CallExpression 1252630 1252666 - Identifier 1252630 1252646 - PropertyAccessExpression 1252647 1252665 - Identifier 1252647 1252653 - Identifier 1252654 1252665 - QuestionToken 1252666 1252668 - CallExpression 1252668 1252746 - Identifier 1252668 1252702 - CallExpression 1252703 1252745 - Identifier 1252703 1252718 - PropertyAccessExpression 1252719 1252744 - PropertyAccessExpression 1252719 1252737 - Identifier 1252719 1252725 - Identifier 1252726 1252737 - Identifier 1252738 1252744 - ColonToken 1252746 1252765 - CallExpression 1252765 1252798 - Identifier 1252765 1252790 - Identifier 1252791 1252797 - IfStatement 1252799 1252928 - BinaryExpression 1252817 1252878 - BinaryExpression 1252817 1252846 - Identifier 1252817 1252833 - EqualsEqualsEqualsToken 1252833 1252837 - Identifier 1252837 1252846 - BarBarToken 1252846 1252849 - BinaryExpression 1252849 1252878 - Identifier 1252849 1252866 - EqualsEqualsEqualsToken 1252866 1252870 - Identifier 1252870 1252878 - Block 1252879 1252928 - ReturnStatement 1252881 1252913 - Identifier 1252905 1252912 - VariableStatement 1252928 1253227 - VariableDeclarationList 1252928 1253226 - VariableDeclaration 1252947 1253226 - Identifier 1252947 1252964 - ConditionalExpression 1252966 1253226 - CallExpression 1252966 1253007 - Identifier 1252966 1252999 - Identifier 1253000 1253006 - QuestionToken 1253007 1253009 - Identifier 1253009 1253017 - ColonToken 1253017 1253036 - ConditionalExpression 1253036 1253226 - BinaryExpression 1253036 1253094 - PropertyAccessExpression 1253036 1253055 - Identifier 1253036 1253043 - Identifier 1253044 1253055 - AmpersandAmpersandToken 1253055 1253058 - CallExpression 1253058 1253094 - Identifier 1253058 1253074 - PropertyAccessExpression 1253075 1253093 - Identifier 1253075 1253081 - Identifier 1253082 1253093 - QuestionToken 1253094 1253096 - CallExpression 1253096 1253174 - Identifier 1253096 1253130 - CallExpression 1253131 1253173 - Identifier 1253131 1253146 - PropertyAccessExpression 1253147 1253172 - PropertyAccessExpression 1253147 1253165 - Identifier 1253147 1253153 - Identifier 1253154 1253165 - Identifier 1253166 1253172 - ColonToken 1253174 1253193 - CallExpression 1253193 1253226 - Identifier 1253193 1253218 - Identifier 1253219 1253225 - VariableStatement 1253227 1253457 - VariableDeclarationList 1253227 1253456 - VariableDeclaration 1253398 1253456 - Identifier 1253398 1253418 - CallExpression 1253420 1253456 - Identifier 1253420 1253448 - Identifier 1253449 1253455 - IfStatement 1253457 1254930 - Identifier 1253475 1253494 - Block 1253495 1254168 - VariableStatement 1253497 1253579 - VariableDeclarationList 1253497 1253578 - VariableDeclaration 1253520 1253578 - Identifier 1253520 1253540 - CallExpression 1253542 1253578 - Identifier 1253542 1253570 - Identifier 1253571 1253577 - IfStatement 1253579 1254153 - Identifier 1253601 1253620 - Block 1253621 1253789 - ExpressionStatement 1253623 1253770 - BinaryExpression 1253623 1253769 - Identifier 1253623 1253651 - AmpersandEqualsToken 1253651 1253654 - CallExpression 1253654 1253769 - Identifier 1253654 1253684 - Identifier 1253685 1253704 - Identifier 1253705 1253725 - Identifier 1253726 1253739 - Identifier 1253740 1253754 - Identifier 1253755 1253768 - IfStatement 1253811 1254153 - BinaryExpression 1253816 1253906 - CallExpression 1253816 1253862 - Identifier 1253816 1253841 - Identifier 1253842 1253861 - BarBarToken 1253862 1253865 - CallExpression 1253865 1253906 - Identifier 1253865 1253885 - Identifier 1253886 1253905 - Block 1253907 1254153 - IfStatement 1253909 1254091 - Identifier 1253935 1253947 - Block 1253948 1254091 - ExpressionStatement 1253950 1254068 - CallExpression 1253950 1254067 - NonNullExpression 1253950 1253990 - Identifier 1253950 1253989 - PropertyAccessExpression 1253991 1254039 - Identifier 1253991 1254002 - Identifier 1254003 1254039 - CallExpression 1254040 1254066 - Identifier 1254040 1254058 - Identifier 1254059 1254065 - ReturnStatement 1254091 1254134 - PropertyAccessExpression 1254119 1254133 - Identifier 1254119 1254127 - Identifier 1254128 1254133 - Block 1254186 1254930 - ExpressionStatement 1254188 1254735 - BinaryExpression 1254188 1254734 - Identifier 1254188 1254519 - AmpersandEqualsToken 1254519 1254522 - BinaryExpression 1254522 1254734 - BinaryExpression 1254522 1254647 - BinaryExpression 1254522 1254571 - Identifier 1254522 1254532 - AmpersandToken 1254532 1254534 - PropertyAccessExpression 1254534 1254571 - Identifier 1254534 1254553 - Identifier 1254554 1254571 - AmpersandAmpersandToken 1254571 1254574 - CallExpression 1254574 1254647 - Identifier 1254574 1254587 - Identifier 1254588 1254604 - Identifier 1254605 1254622 - FalseKeyword 1254623 1254646 - BarBarToken 1254647 1254650 - CallExpression 1254650 1254734 - Identifier 1254650 1254684 - Identifier 1254685 1254701 - Identifier 1254702 1254719 - Identifier 1254720 1254733 - IfStatement 1254735 1254915 - BinaryExpression 1254757 1254809 - BinaryExpression 1254757 1254780 - PrefixUnaryExpression 1254757 1254764 - Identifier 1254758 1254764 - AmpersandAmpersandToken 1254764 1254767 - Identifier 1254767 1254780 - AmpersandAmpersandToken 1254780 1254783 - Identifier 1254783 1254809 - Block 1254810 1254915 - ExpressionStatement 1254812 1254896 - CallExpression 1254812 1254895 - Identifier 1254812 1254859 - Identifier 1254860 1254876 - Identifier 1254877 1254894 - ReturnStatement 1254941 1254967 - Identifier 1254959 1254966 - FunctionDeclaration 1254974 1256780 - Identifier 1254990 1255020 - Parameter 1255021 1255052 - Identifier 1255021 1255037 - TypeReference 1255038 1255052 - Identifier 1255038 1255052 - Parameter 1255053 1255084 - Identifier 1255053 1255069 - TypeReference 1255070 1255084 - Identifier 1255070 1255084 - Parameter 1255085 1255116 - Identifier 1255085 1255107 - BooleanKeyword 1255108 1255116 - Parameter 1255117 1255167 - Identifier 1255117 1255140 - UnionType 1255141 1255167 - TypeReference 1255141 1255155 - Identifier 1255141 1255155 - UndefinedKeyword 1255157 1255167 - Parameter 1255168 1255245 - Identifier 1255168 1255190 - FunctionType 1255191 1255245 - Parameter 1255193 1255200 - Identifier 1255193 1255194 - TypeReference 1255195 1255200 - Identifier 1255195 1255200 - Parameter 1255201 1255209 - Identifier 1255201 1255203 - TypeReference 1255204 1255209 - Identifier 1255204 1255209 - Parameter 1255210 1255233 - Identifier 1255210 1255223 - QuestionToken 1255223 1255224 - BooleanKeyword 1255225 1255233 - TypeReference 1255237 1255245 - Identifier 1255237 1255245 - TypeReference 1255254 1255262 - Identifier 1255254 1255262 - Block 1255262 1256780 - IfStatement 1255264 1255672 - BinaryExpression 1255278 1255305 - PropertyAccessExpression 1255278 1255289 - Identifier 1255278 1255284 - Identifier 1255285 1255289 - ExclamationEqualsEqualsToken 1255289 1255293 - PropertyAccessExpression 1255293 1255305 - Identifier 1255293 1255300 - Identifier 1255301 1255305 - Block 1255306 1255672 - IfStatement 1255308 1255626 - Identifier 1255326 1255338 - Block 1255339 1255626 - ExpressionStatement 1255341 1255463 - CallExpression 1255341 1255462 - NonNullExpression 1255341 1255373 - Identifier 1255341 1255372 - PropertyAccessExpression 1255374 1255461 - Identifier 1255374 1255385 - Identifier 1255386 1255461 - ExpressionStatement 1255463 1255611 - CallExpression 1255463 1255610 - NonNullExpression 1255463 1255495 - Identifier 1255463 1255494 - PropertyAccessExpression 1255496 1255547 - Identifier 1255496 1255507 - Identifier 1255508 1255547 - CallExpression 1255548 1255578 - Identifier 1255548 1255570 - Identifier 1255571 1255577 - CallExpression 1255579 1255609 - Identifier 1255579 1255601 - Identifier 1255602 1255608 - ReturnStatement 1255626 1255661 - PropertyAccessExpression 1255646 1255660 - Identifier 1255646 1255654 - Identifier 1255655 1255660 - IfStatement 1255672 1256338 - BinaryExpression 1255688 1255787 - BinaryExpression 1255688 1255732 - PropertyAccessExpression 1255688 1255699 - Identifier 1255688 1255694 - Identifier 1255695 1255699 - EqualsEqualsEqualsToken 1255699 1255703 - PropertyAccessExpression 1255703 1255732 - Identifier 1255703 1255721 - Identifier 1255722 1255732 - BarBarToken 1255732 1255735 - BinaryExpression 1255735 1255787 - PropertyAccessExpression 1255735 1255747 - Identifier 1255735 1255742 - Identifier 1255743 1255747 - EqualsEqualsEqualsToken 1255747 1255751 - PropertyAccessExpression 1255751 1255787 - Identifier 1255751 1255769 - Identifier 1255770 1255787 - Block 1255788 1256338 - IfStatement 1255790 1256327 - BinaryExpression 1255808 1255884 - PropertyAccessExpression 1255808 1255829 - Identifier 1255808 1255814 - Identifier 1255815 1255829 - ExclamationEqualsEqualsToken 1255829 1255833 - PropertyAccessExpression 1255833 1255884 - ParenthesizedExpression 1255833 1255869 - AsExpression 1255835 1255868 - Identifier 1255835 1255841 - TypeReference 1255844 1255868 - Identifier 1255844 1255868 - Identifier 1255870 1255884 - Block 1255885 1256327 - IfStatement 1255887 1256273 - Identifier 1255909 1255921 - Block 1255922 1256273 - ExpressionStatement 1255924 1256102 - CallExpression 1255924 1256101 - NonNullExpression 1255924 1255960 - Identifier 1255924 1255959 - PropertyAccessExpression 1255961 1256027 - Identifier 1255961 1255972 - Identifier 1255973 1256027 - PropertyAccessExpression 1256028 1256049 - Identifier 1256028 1256035 - Identifier 1256036 1256049 - PropertyAccessExpression 1256050 1256100 - ParenthesizedExpression 1256050 1256086 - AsExpression 1256052 1256085 - Identifier 1256052 1256058 - TypeReference 1256061 1256085 - Identifier 1256061 1256085 - Identifier 1256087 1256100 - ExpressionStatement 1256102 1256254 - CallExpression 1256102 1256253 - NonNullExpression 1256102 1256138 - Identifier 1256102 1256137 - PropertyAccessExpression 1256139 1256190 - Identifier 1256139 1256150 - Identifier 1256151 1256190 - CallExpression 1256191 1256221 - Identifier 1256191 1256213 - Identifier 1256214 1256220 - CallExpression 1256222 1256252 - Identifier 1256222 1256244 - Identifier 1256245 1256251 - ReturnStatement 1256273 1256312 - PropertyAccessExpression 1256297 1256311 - Identifier 1256297 1256305 - Identifier 1256306 1256311 - VariableStatement 1256338 1256535 - VariableDeclarationList 1256338 1256534 - VariableDeclaration 1256355 1256534 - Identifier 1256355 1256363 - ConditionalExpression 1256365 1256534 - BinaryExpression 1256365 1256393 - PropertyAccessExpression 1256365 1256377 - Identifier 1256365 1256372 - Identifier 1256373 1256377 - EqualsEqualsEqualsToken 1256377 1256381 - PropertyAccessExpression 1256381 1256393 - Identifier 1256381 1256388 - Identifier 1256389 1256393 - QuestionToken 1256393 1256395 - PropertyAccessExpression 1256395 1256408 - Identifier 1256395 1256403 - Identifier 1256404 1256408 - ColonToken 1256408 1256410 - ConditionalExpression 1256410 1256534 - BinaryExpression 1256410 1256450 - PropertyAccessExpression 1256410 1256435 - Identifier 1256410 1256430 - Identifier 1256431 1256435 - AmpersandAmpersandToken 1256435 1256438 - PropertyAccessExpression 1256438 1256450 - Identifier 1256438 1256445 - Identifier 1256446 1256450 - QuestionToken 1256450 1256452 - CallExpression 1256452 1256505 - Identifier 1256452 1256465 - PropertyAccessExpression 1256466 1256477 - Identifier 1256466 1256472 - Identifier 1256473 1256477 - PropertyAccessExpression 1256478 1256490 - Identifier 1256478 1256485 - Identifier 1256486 1256490 - Identifier 1256491 1256504 - ColonToken 1256505 1256507 - PropertyAccessExpression 1256507 1256534 - Identifier 1256507 1256528 - Identifier 1256529 1256534 - IfStatement 1256535 1256748 - BinaryExpression 1256549 1256590 - BinaryExpression 1256549 1256574 - Identifier 1256549 1256556 - EqualsEqualsEqualsToken 1256556 1256560 - PropertyAccessExpression 1256560 1256574 - Identifier 1256560 1256568 - Identifier 1256569 1256574 - AmpersandAmpersandToken 1256574 1256577 - Identifier 1256577 1256590 - Block 1256591 1256748 - ExpressionStatement 1256593 1256737 - CallExpression 1256593 1256736 - NonNullExpression 1256593 1256621 - Identifier 1256593 1256620 - PropertyAccessExpression 1256622 1256673 - Identifier 1256622 1256633 - Identifier 1256634 1256673 - CallExpression 1256674 1256704 - Identifier 1256674 1256696 - Identifier 1256697 1256703 - CallExpression 1256705 1256735 - Identifier 1256705 1256727 - Identifier 1256728 1256734 - ReturnStatement 1256748 1256773 - Identifier 1256764 1256772 - FunctionDeclaration 1256780 1257638 - Identifier 1256796 1256835 - Parameter 1256836 1256861 - Identifier 1256836 1256850 - TypeReference 1256851 1256861 - Identifier 1256851 1256861 - Parameter 1256862 1256882 - Identifier 1256862 1256871 - TypeReference 1256872 1256882 - Identifier 1256872 1256882 - BooleanKeyword 1256884 1256892 - Block 1256892 1257638 - VariableStatement 1256894 1256960 - VariableDeclarationList 1256894 1256959 - VariableDeclaration 1256909 1256959 - Identifier 1256909 1256922 - CallExpression 1256924 1256959 - Identifier 1256924 1256943 - Identifier 1256944 1256958 - VariableStatement 1256960 1257020 - VariableDeclarationList 1256960 1257019 - VariableDeclaration 1256975 1257019 - Identifier 1256975 1256988 - CallExpression 1256990 1257019 - Identifier 1256990 1257009 - Identifier 1257010 1257018 - VariableStatement 1257020 1257174 - VariableDeclarationList 1257020 1257173 - VariableDeclaration 1257115 1257173 - Identifier 1257115 1257132 - CallExpression 1257134 1257173 - Identifier 1257134 1257159 - Identifier 1257160 1257172 - VariableStatement 1257174 1257248 - VariableDeclarationList 1257174 1257247 - VariableDeclaration 1257189 1257247 - Identifier 1257189 1257206 - CallExpression 1257208 1257247 - Identifier 1257208 1257233 - Identifier 1257234 1257246 - IfStatement 1257248 1257606 - BinaryExpression 1257262 1257481 - BinaryExpression 1257262 1257393 - BinaryExpression 1257262 1257305 - Identifier 1257262 1257292 - EqualsEqualsEqualsToken 1257292 1257296 - Identifier 1257296 1257305 - BarBarToken 1257305 1257321 - CallExpression 1257321 1257393 - Identifier 1257321 1257337 - Identifier 1257338 1257354 - Identifier 1257355 1257372 - Identifier 1257373 1257392 - BarBarToken 1257393 1257409 - CallExpression 1257409 1257481 - Identifier 1257409 1257425 - Identifier 1257426 1257442 - Identifier 1257443 1257460 - Identifier 1257461 1257480 - Block 1257492 1257606 - ReturnStatement 1257494 1257595 - CallExpression 1257514 1257594 - Identifier 1257514 1257538 - Identifier 1257539 1257551 - Identifier 1257552 1257565 - TrueKeyword 1257566 1257593 - ReturnStatement 1257606 1257631 - FalseKeyword 1257624 1257630 - FunctionDeclaration 1257638 1257920 - Identifier 1257654 1257674 - Parameter 1257675 1257690 - Identifier 1257675 1257676 - TypeReference 1257677 1257690 - Identifier 1257677 1257690 - Block 1257691 1257920 - ReturnStatement 1257693 1257913 - BinaryExpression 1257709 1257912 - BinaryExpression 1257709 1257870 - BinaryExpression 1257709 1257819 - BinaryExpression 1257709 1257773 - BinaryExpression 1257709 1257731 - Identifier 1257709 1257711 - ExclamationEqualsEqualsToken 1257711 1257715 - Identifier 1257715 1257731 - AmpersandAmpersandToken 1257731 1257734 - BinaryExpression 1257734 1257773 - PropertyAccessExpression 1257734 1257767 - PropertyAccessExpression 1257734 1257760 - Identifier 1257734 1257749 - Identifier 1257750 1257760 - Identifier 1257761 1257767 - EqualsEqualsEqualsToken 1257767 1257771 - NumericLiteral 1257771 1257773 - AmpersandAmpersandToken 1257773 1257776 - BinaryExpression 1257776 1257819 - PropertyAccessExpression 1257776 1257813 - PropertyAccessExpression 1257776 1257806 - Identifier 1257776 1257791 - Identifier 1257792 1257806 - Identifier 1257807 1257813 - EqualsEqualsEqualsToken 1257813 1257817 - NumericLiteral 1257817 1257819 - AmpersandAmpersandToken 1257819 1257822 - BinaryExpression 1257822 1257870 - PropertyAccessExpression 1257822 1257864 - PropertyAccessExpression 1257822 1257857 - Identifier 1257822 1257837 - Identifier 1257838 1257857 - Identifier 1257858 1257864 - EqualsEqualsEqualsToken 1257864 1257868 - NumericLiteral 1257868 1257870 - AmpersandAmpersandToken 1257870 1257873 - BinaryExpression 1257873 1257912 - PropertyAccessExpression 1257873 1257906 - PropertyAccessExpression 1257873 1257899 - Identifier 1257873 1257888 - Identifier 1257889 1257899 - Identifier 1257900 1257906 - EqualsEqualsEqualsToken 1257906 1257910 - NumericLiteral 1257910 1257912 - FunctionDeclaration 1257920 1258414 - Identifier 1257936 1257954 - Parameter 1257955 1257965 - Identifier 1257955 1257959 - TypeReference 1257960 1257965 - Identifier 1257960 1257965 - BooleanKeyword 1257967 1257975 - Block 1257975 1258414 - ReturnStatement 1257977 1258407 - ConditionalExpression 1257993 1258406 - BinaryExpression 1257993 1258023 - PropertyAccessExpression 1257993 1258004 - Identifier 1257993 1257998 - Identifier 1257999 1258004 - AmpersandToken 1258004 1258006 - PropertyAccessExpression 1258006 1258023 - Identifier 1258006 1258016 - Identifier 1258017 1258023 - QuestionToken 1258023 1258025 - BinaryExpression 1258025 1258125 - PrefixUnaryExpression 1258025 1258052 - CallExpression 1258027 1258052 - Identifier 1258027 1258046 - Identifier 1258047 1258051 - AmpersandAmpersandToken 1258052 1258055 - CallExpression 1258055 1258125 - Identifier 1258055 1258075 - CallExpression 1258076 1258124 - Identifier 1258076 1258104 - AsExpression 1258105 1258123 - Identifier 1258105 1258109 - TypeReference 1258112 1258123 - Identifier 1258112 1258123 - ColonToken 1258125 1258127 - ConditionalExpression 1258127 1258406 - BinaryExpression 1258127 1258176 - PropertyAccessExpression 1258127 1258151 - Identifier 1258127 1258145 - Identifier 1258146 1258151 - AmpersandToken 1258151 1258153 - PropertyAccessExpression 1258153 1258176 - Identifier 1258153 1258163 - Identifier 1258164 1258176 - QuestionToken 1258176 1258178 - TrueKeyword 1258178 1258183 - ColonToken 1258183 1258185 - ConditionalExpression 1258185 1258406 - BinaryExpression 1258185 1258227 - PropertyAccessExpression 1258185 1258209 - Identifier 1258185 1258203 - Identifier 1258204 1258209 - AmpersandToken 1258209 1258211 - PropertyAccessExpression 1258211 1258227 - Identifier 1258211 1258221 - Identifier 1258222 1258227 - QuestionToken 1258227 1258229 - CallExpression 1258229 1258280 - Identifier 1258229 1258234 - PropertyAccessExpression 1258235 1258260 - ParenthesizedExpression 1258235 1258254 - AsExpression 1258236 1258253 - Identifier 1258236 1258240 - TypeReference 1258243 1258253 - Identifier 1258243 1258253 - Identifier 1258255 1258260 - Identifier 1258261 1258279 - ColonToken 1258280 1258282 - ConditionalExpression 1258282 1258406 - BinaryExpression 1258282 1258331 - PropertyAccessExpression 1258282 1258306 - Identifier 1258282 1258300 - Identifier 1258301 1258306 - AmpersandToken 1258306 1258308 - PropertyAccessExpression 1258308 1258331 - Identifier 1258308 1258318 - Identifier 1258319 1258331 - QuestionToken 1258331 1258333 - CallExpression 1258333 1258385 - Identifier 1258333 1258339 - PropertyAccessExpression 1258340 1258365 - ParenthesizedExpression 1258340 1258359 - AsExpression 1258341 1258358 - Identifier 1258341 1258345 - TypeReference 1258348 1258358 - Identifier 1258348 1258358 - Identifier 1258360 1258365 - Identifier 1258366 1258384 - ColonToken 1258385 1258387 - FalseKeyword 1258387 1258406 - FunctionDeclaration 1258414 1258770 - Identifier 1258430 1258457 - Parameter 1258458 1258468 - Identifier 1258458 1258462 - TypeReference 1258463 1258468 - Identifier 1258463 1258468 - Block 1258469 1258770 - ReturnStatement 1258471 1258763 - PrefixUnaryExpression 1258487 1258762 - PrefixUnaryExpression 1258489 1258762 - ParenthesizedExpression 1258490 1258762 - BinaryExpression 1258491 1258761 - BinaryExpression 1258491 1258535 - CallExpression 1258491 1258511 - Identifier 1258491 1258505 - Identifier 1258506 1258510 - AmpersandToken 1258511 1258513 - PropertyAccessExpression 1258513 1258535 - Identifier 1258513 1258525 - Identifier 1258526 1258535 - AmpersandAmpersandToken 1258535 1258538 - ParenthesizedExpression 1258538 1258761 - BinaryExpression 1258540 1258750 - BinaryExpression 1258540 1258629 - PropertyAccessExpression 1258540 1258584 - ParenthesizedExpression 1258540 1258576 - AsExpression 1258555 1258575 - Identifier 1258555 1258559 - TypeReference 1258562 1258575 - Identifier 1258562 1258575 - Identifier 1258577 1258584 - AmpersandAmpersandToken 1258584 1258587 - CallExpression 1258587 1258629 - Identifier 1258587 1258607 - AsExpression 1258608 1258628 - Identifier 1258608 1258612 - TypeReference 1258615 1258628 - Identifier 1258615 1258628 - BarBarToken 1258629 1258632 - BinaryExpression 1258632 1258750 - BinaryExpression 1258632 1258704 - PropertyAccessExpression 1258632 1258657 - Identifier 1258632 1258650 - Identifier 1258651 1258657 - AmpersandAmpersandToken 1258657 1258660 - BinaryExpression 1258660 1258704 - PropertyAccessExpression 1258660 1258678 - PropertyAccessExpression 1258660 1258672 - Identifier 1258660 1258665 - Identifier 1258666 1258672 - Identifier 1258673 1258678 - AmpersandToken 1258678 1258680 - PropertyAccessExpression 1258680 1258704 - Identifier 1258680 1258692 - Identifier 1258693 1258704 - AmpersandAmpersandToken 1258704 1258707 - BinaryExpression 1258707 1258750 - PropertyAccessExpression 1258707 1258744 - CallExpression 1258707 1258739 - Identifier 1258707 1258726 - PropertyAccessExpression 1258727 1258738 - Identifier 1258727 1258731 - Identifier 1258732 1258738 - Identifier 1258740 1258744 - EqualsEqualsEqualsToken 1258744 1258748 - NumericLiteral 1258748 1258750 - FunctionDeclaration 1258770 1259482 - Identifier 1258786 1258809 - Parameter 1258810 1258820 - Identifier 1258810 1258814 - TypeReference 1258815 1258820 - Identifier 1258815 1258820 - Block 1258821 1259482 - IfStatement 1258823 1259452 - BinaryExpression 1258837 1258885 - Identifier 1258837 1258853 - AmpersandAmpersandToken 1258853 1258856 - BinaryExpression 1258856 1258885 - PropertyAccessExpression 1258856 1258867 - Identifier 1258856 1258861 - Identifier 1258862 1258867 - AmpersandToken 1258867 1258869 - PropertyAccessExpression 1258869 1258885 - Identifier 1258869 1258879 - Identifier 1258880 1258885 - Block 1258886 1259452 - IfStatement 1258888 1259351 - PrefixUnaryExpression 1258906 1258981 - ParenthesizedExpression 1258907 1258981 - BinaryExpression 1258908 1258980 - PropertyAccessExpression 1258908 1258939 - ParenthesizedExpression 1258908 1258927 - AsExpression 1258909 1258926 - Identifier 1258909 1258913 - TypeReference 1258916 1258926 - Identifier 1258916 1258926 - Identifier 1258928 1258939 - AmpersandToken 1258939 1258941 - PropertyAccessExpression 1258941 1258980 - Identifier 1258941 1258953 - Identifier 1258954 1258980 - Block 1258982 1259351 - VariableStatement 1258984 1259042 - VariableDeclarationList 1258984 1259041 - VariableDeclaration 1259007 1259041 - Identifier 1259007 1259013 - PropertyAccessExpression 1259015 1259041 - ParenthesizedExpression 1259015 1259035 - AsExpression 1259017 1259034 - Identifier 1259017 1259021 - TypeReference 1259024 1259034 - Identifier 1259024 1259034 - Identifier 1259036 1259041 - ExpressionStatement 1259042 1259336 - BinaryExpression 1259042 1259335 - PropertyAccessExpression 1259042 1259091 - ParenthesizedExpression 1259042 1259079 - AsExpression 1259061 1259078 - Identifier 1259061 1259065 - TypeReference 1259068 1259078 - Identifier 1259068 1259078 - Identifier 1259080 1259091 - BarEqualsToken 1259091 1259094 - BinaryExpression 1259094 1259335 - PropertyAccessExpression 1259094 1259133 - Identifier 1259094 1259106 - Identifier 1259107 1259133 - BarToken 1259133 1259135 - ParenthesizedExpression 1259135 1259335 - ConditionalExpression 1259137 1259334 - BinaryExpression 1259137 1259297 - BinaryExpression 1259137 1259254 - BinaryExpression 1259137 1259194 - BinaryExpression 1259137 1259154 - PropertyAccessExpression 1259137 1259149 - Identifier 1259137 1259142 - Identifier 1259143 1259149 - GreaterThanEqualsToken 1259149 1259152 - NumericLiteral 1259152 1259154 - AmpersandAmpersandToken 1259154 1259157 - BinaryExpression 1259157 1259194 - PropertyAccessExpression 1259157 1259172 - ElementAccessExpression 1259157 1259166 - Identifier 1259157 1259163 - NumericLiteral 1259164 1259165 - Identifier 1259167 1259172 - AmpersandToken 1259172 1259174 - PropertyAccessExpression 1259174 1259194 - Identifier 1259174 1259184 - Identifier 1259185 1259194 - AmpersandAmpersandToken 1259194 1259197 - BinaryExpression 1259197 1259254 - PropertyAccessExpression 1259197 1259237 - ElementAccessExpression 1259197 1259231 - Identifier 1259197 1259228 - NumericLiteral 1259229 1259230 - Identifier 1259232 1259237 - AmpersandToken 1259237 1259239 - PropertyAccessExpression 1259239 1259254 - Identifier 1259239 1259249 - Identifier 1259250 1259254 - AmpersandAmpersandToken 1259254 1259257 - CallExpression 1259257 1259297 - Identifier 1259257 1259262 - Identifier 1259263 1259268 - Identifier 1259269 1259296 - QuestionToken 1259297 1259299 - PropertyAccessExpression 1259299 1259330 - Identifier 1259299 1259311 - Identifier 1259312 1259330 - ColonToken 1259330 1259332 - NumericLiteral 1259332 1259334 - ReturnStatement 1259351 1259441 - PrefixUnaryExpression 1259371 1259440 - PrefixUnaryExpression 1259373 1259440 - ParenthesizedExpression 1259374 1259440 - BinaryExpression 1259375 1259439 - PropertyAccessExpression 1259375 1259406 - ParenthesizedExpression 1259375 1259394 - AsExpression 1259376 1259393 - Identifier 1259376 1259380 - TypeReference 1259383 1259393 - Identifier 1259383 1259393 - Identifier 1259395 1259406 - AmpersandToken 1259406 1259408 - PropertyAccessExpression 1259408 1259439 - Identifier 1259408 1259420 - Identifier 1259421 1259439 - ReturnStatement 1259452 1259475 - FalseKeyword 1259468 1259474 - FunctionDeclaration 1259482 1259659 - Identifier 1259498 1259520 - Parameter 1259521 1259531 - Identifier 1259521 1259525 - TypeReference 1259526 1259531 - Identifier 1259526 1259531 - Block 1259532 1259659 - ReturnStatement 1259534 1259652 - PrefixUnaryExpression 1259550 1259651 - PrefixUnaryExpression 1259552 1259651 - ParenthesizedExpression 1259553 1259651 - BinaryExpression 1259554 1259650 - PropertyAccessExpression 1259554 1259628 - ParenthesizedExpression 1259554 1259622 - ConditionalExpression 1259555 1259621 - BinaryExpression 1259555 1259583 - PropertyAccessExpression 1259555 1259565 - Identifier 1259555 1259559 - Identifier 1259560 1259565 - AmpersandToken 1259565 1259567 - PropertyAccessExpression 1259567 1259583 - Identifier 1259567 1259577 - Identifier 1259578 1259583 - QuestionToken 1259583 1259585 - ElementAccessExpression 1259585 1259614 - PropertyAccessExpression 1259585 1259611 - ParenthesizedExpression 1259585 1259605 - AsExpression 1259587 1259604 - Identifier 1259587 1259591 - TypeReference 1259594 1259604 - Identifier 1259594 1259604 - Identifier 1259606 1259611 - NumericLiteral 1259612 1259613 - ColonToken 1259614 1259616 - Identifier 1259616 1259621 - Identifier 1259623 1259628 - AmpersandToken 1259628 1259630 - PropertyAccessExpression 1259630 1259650 - Identifier 1259630 1259640 - Identifier 1259641 1259650 - FunctionDeclaration 1259659 1259911 - Identifier 1259675 1259707 - Parameter 1259708 1259718 - Identifier 1259708 1259712 - TypeReference 1259713 1259718 - Identifier 1259713 1259718 - Block 1259719 1259911 - VariableStatement 1259721 1259816 - VariableDeclarationList 1259721 1259815 - VariableDeclaration 1259736 1259815 - Identifier 1259736 1259746 - ConditionalExpression 1259748 1259815 - BinaryExpression 1259748 1259777 - PropertyAccessExpression 1259748 1259759 - Identifier 1259748 1259753 - Identifier 1259754 1259759 - AmpersandToken 1259759 1259761 - PropertyAccessExpression 1259761 1259777 - Identifier 1259761 1259771 - Identifier 1259772 1259777 - QuestionToken 1259777 1259779 - ElementAccessExpression 1259779 1259808 - PropertyAccessExpression 1259779 1259805 - ParenthesizedExpression 1259779 1259799 - AsExpression 1259781 1259798 - Identifier 1259781 1259785 - TypeReference 1259788 1259798 - Identifier 1259788 1259798 - Identifier 1259800 1259805 - NumericLiteral 1259806 1259807 - ColonToken 1259808 1259810 - Identifier 1259810 1259815 - ReturnStatement 1259816 1259904 - BinaryExpression 1259832 1259903 - PrefixUnaryExpression 1259832 1259874 - PrefixUnaryExpression 1259834 1259874 - ParenthesizedExpression 1259835 1259874 - BinaryExpression 1259836 1259873 - PropertyAccessExpression 1259836 1259851 - Identifier 1259836 1259845 - Identifier 1259846 1259851 - AmpersandToken 1259851 1259853 - PropertyAccessExpression 1259853 1259873 - Identifier 1259853 1259863 - Identifier 1259864 1259873 - AmpersandAmpersandToken 1259874 1259877 - BinaryExpression 1259877 1259903 - Identifier 1259877 1259887 - ExclamationEqualsEqualsToken 1259887 1259891 - Identifier 1259891 1259903 - FunctionDeclaration 1259911 1260354 - Identifier 1259927 1259958 - Parameter 1259959 1259969 - Identifier 1259959 1259963 - TypeReference 1259964 1259969 - Identifier 1259964 1259969 - BooleanKeyword 1259971 1259979 - Block 1259979 1260354 - ReturnStatement 1259981 1260347 - BinaryExpression 1259997 1260346 - BinaryExpression 1259997 1260324 - BinaryExpression 1259997 1260183 - BinaryExpression 1259997 1260141 - BinaryExpression 1259997 1260099 - BinaryExpression 1259997 1260057 - BinaryExpression 1259997 1260027 - PropertyAccessExpression 1259997 1260008 - Identifier 1259997 1260002 - Identifier 1260003 1260008 - AmpersandToken 1260008 1260010 - PropertyAccessExpression 1260010 1260027 - Identifier 1260010 1260020 - Identifier 1260021 1260027 - AmpersandAmpersandToken 1260027 1260030 - PrefixUnaryExpression 1260030 1260057 - CallExpression 1260032 1260057 - Identifier 1260032 1260051 - Identifier 1260052 1260056 - AmpersandAmpersandToken 1260057 1260060 - BinaryExpression 1260060 1260099 - PropertyAccessExpression 1260060 1260093 - CallExpression 1260060 1260086 - Identifier 1260060 1260080 - Identifier 1260081 1260085 - Identifier 1260087 1260093 - EqualsEqualsEqualsToken 1260093 1260097 - NumericLiteral 1260097 1260099 - AmpersandAmpersandToken 1260099 1260102 - BinaryExpression 1260102 1260141 - PropertyAccessExpression 1260102 1260135 - CallExpression 1260102 1260128 - Identifier 1260102 1260122 - Identifier 1260123 1260127 - Identifier 1260129 1260135 - EqualsEqualsEqualsToken 1260135 1260139 - NumericLiteral 1260139 1260141 - AmpersandAmpersandToken 1260141 1260144 - PrefixUnaryExpression 1260144 1260183 - PrefixUnaryExpression 1260146 1260183 - CallExpression 1260147 1260183 - Identifier 1260147 1260165 - Identifier 1260166 1260170 - Identifier 1260171 1260182 - BarBarToken 1260183 1260186 - BinaryExpression 1260186 1260324 - BinaryExpression 1260186 1260242 - PropertyAccessExpression 1260186 1260210 - Identifier 1260186 1260204 - Identifier 1260205 1260210 - AmpersandToken 1260210 1260212 - PropertyAccessExpression 1260212 1260242 - Identifier 1260212 1260222 - Identifier 1260223 1260242 - AmpersandAmpersandToken 1260242 1260245 - CallExpression 1260245 1260324 - Identifier 1260245 1260251 - PropertyAccessExpression 1260252 1260291 - ParenthesizedExpression 1260252 1260285 - AsExpression 1260253 1260284 - Identifier 1260253 1260257 - TypeReference 1260260 1260284 - Identifier 1260260 1260284 - Identifier 1260286 1260291 - Identifier 1260292 1260323 - BarBarToken 1260324 1260327 - FalseKeyword 1260327 1260346 - FunctionDeclaration 1260354 1264777 - Identifier 1260370 1260390 - Parameter 1260391 1260405 - Identifier 1260391 1260397 - TypeReference 1260398 1260405 - Identifier 1260398 1260405 - Parameter 1260406 1260421 - Identifier 1260406 1260413 - TypeReference 1260414 1260421 - Identifier 1260414 1260421 - Parameter 1260422 1260452 - Identifier 1260422 1260436 - QuestionToken 1260436 1260437 - TypeReference 1260438 1260452 - Identifier 1260438 1260452 - Block 1260453 1264777 - VariableStatement 1260455 1260562 - VariableDeclarationList 1260455 1260561 - VariableDeclaration 1260470 1260561 - Identifier 1260470 1260483 - ConditionalExpression 1260485 1260561 - BinaryExpression 1260485 1260523 - PropertyAccessExpression 1260485 1260498 - Identifier 1260485 1260492 - Identifier 1260493 1260498 - AmpersandToken 1260498 1260500 - PropertyAccessExpression 1260500 1260523 - Identifier 1260500 1260512 - Identifier 1260513 1260523 - QuestionToken 1260523 1260525 - NonNullExpression 1260525 1260552 - CallExpression 1260525 1260551 - Identifier 1260525 1260543 - Identifier 1260544 1260550 - ColonToken 1260552 1260554 - Identifier 1260554 1260561 - VariableStatement 1260562 1260669 - VariableDeclarationList 1260562 1260668 - VariableDeclaration 1260577 1260668 - Identifier 1260577 1260590 - ConditionalExpression 1260592 1260668 - BinaryExpression 1260592 1260630 - PropertyAccessExpression 1260592 1260605 - Identifier 1260592 1260599 - Identifier 1260600 1260605 - AmpersandToken 1260605 1260607 - PropertyAccessExpression 1260607 1260630 - Identifier 1260607 1260619 - Identifier 1260620 1260630 - QuestionToken 1260630 1260632 - NonNullExpression 1260632 1260659 - CallExpression 1260632 1260658 - Identifier 1260632 1260650 - Identifier 1260651 1260657 - ColonToken 1260659 1260661 - Identifier 1260661 1260668 - IfStatement 1260669 1260752 - BinaryExpression 1260683 1260712 - Identifier 1260683 1260695 - EqualsEqualsEqualsToken 1260695 1260699 - Identifier 1260699 1260712 - Block 1260713 1260752 - ReturnStatement 1260715 1260741 - TrueKeyword 1260735 1260740 - IfStatement 1260752 1260962 - BinaryExpression 1260766 1260921 - BinaryExpression 1260766 1260870 - BinaryExpression 1260766 1260819 - PropertyAccessExpression 1260766 1260790 - Identifier 1260766 1260778 - Identifier 1260779 1260790 - ExclamationEqualsEqualsToken 1260790 1260794 - PropertyAccessExpression 1260794 1260819 - Identifier 1260794 1260807 - Identifier 1260808 1260819 - BarBarToken 1260819 1260822 - PrefixUnaryExpression 1260822 1260870 - ParenthesizedExpression 1260824 1260870 - BinaryExpression 1260825 1260869 - PropertyAccessExpression 1260825 1260843 - Identifier 1260825 1260837 - Identifier 1260838 1260843 - AmpersandToken 1260843 1260845 - PropertyAccessExpression 1260845 1260869 - Identifier 1260845 1260857 - Identifier 1260858 1260869 - BarBarToken 1260870 1260873 - PrefixUnaryExpression 1260873 1260921 - ParenthesizedExpression 1260875 1260921 - BinaryExpression 1260876 1260920 - PropertyAccessExpression 1260876 1260894 - Identifier 1260876 1260888 - Identifier 1260889 1260894 - AmpersandToken 1260894 1260896 - PropertyAccessExpression 1260896 1260920 - Identifier 1260896 1260908 - Identifier 1260909 1260920 - Block 1260922 1260962 - ReturnStatement 1260924 1260951 - FalseKeyword 1260944 1260950 - VariableStatement 1260962 1261043 - VariableDeclarationList 1260962 1261042 - VariableDeclaration 1260977 1261042 - Identifier 1260977 1260980 - BinaryExpression 1260982 1261042 - BinaryExpression 1260982 1261014 - CallExpression 1260982 1261008 - Identifier 1260982 1260994 - Identifier 1260995 1261007 - PlusToken 1261008 1261010 - StringLiteral 1261010 1261014 - PlusToken 1261014 1261016 - CallExpression 1261016 1261042 - Identifier 1261016 1261028 - Identifier 1261029 1261041 - VariableStatement 1261043 1261088 - VariableDeclarationList 1261043 1261087 - VariableDeclaration 1261058 1261087 - Identifier 1261058 1261064 - CallExpression 1261066 1261087 - PropertyAccessExpression 1261066 1261083 - Identifier 1261066 1261079 - Identifier 1261080 1261083 - Identifier 1261084 1261086 - IfStatement 1261088 1261266 - BinaryExpression 1261102 1261184 - BinaryExpression 1261102 1261121 - Identifier 1261102 1261107 - ExclamationEqualsEqualsToken 1261107 1261111 - Identifier 1261111 1261121 - AmpersandAmpersandToken 1261121 1261124 - PrefixUnaryExpression 1261124 1261184 - ParenthesizedExpression 1261126 1261184 - BinaryExpression 1261127 1261183 - BinaryExpression 1261127 1261166 - Identifier 1261127 1261132 - AmpersandToken 1261132 1261134 - PropertyAccessExpression 1261134 1261166 - Identifier 1261134 1261159 - Identifier 1261160 1261166 - AmpersandAmpersandToken 1261166 1261169 - Identifier 1261169 1261183 - Block 1261185 1261266 - ReturnStatement 1261187 1261255 - PrefixUnaryExpression 1261207 1261254 - PrefixUnaryExpression 1261209 1261254 - ParenthesizedExpression 1261210 1261254 - BinaryExpression 1261211 1261253 - Identifier 1261211 1261216 - AmpersandToken 1261216 1261218 - PropertyAccessExpression 1261218 1261253 - Identifier 1261218 1261243 - Identifier 1261244 1261253 - VariableStatement 1261266 1261329 - VariableDeclarationList 1261266 1261328 - VariableDeclaration 1261281 1261328 - Identifier 1261281 1261296 - CallExpression 1261298 1261328 - Identifier 1261298 1261314 - Identifier 1261315 1261327 - ForOfStatement 1261329 1264681 - VariableDeclarationList 1261344 1261364 - VariableDeclaration 1261349 1261364 - Identifier 1261349 1261364 - CallExpression 1261367 1261418 - Identifier 1261367 1261387 - CallExpression 1261388 1261417 - Identifier 1261388 1261403 - Identifier 1261404 1261416 - Block 1261419 1264681 - IfStatement 1261421 1264670 - BinaryExpression 1261439 1261484 - PropertyAccessExpression 1261439 1261459 - Identifier 1261439 1261453 - Identifier 1261454 1261459 - AmpersandToken 1261459 1261461 - PropertyAccessExpression 1261461 1261484 - Identifier 1261461 1261473 - Identifier 1261474 1261484 - Block 1261485 1264670 - VariableStatement 1261487 1261590 - VariableDeclarationList 1261487 1261589 - VariableDeclaration 1261510 1261589 - Identifier 1261510 1261525 - CallExpression 1261527 1261589 - Identifier 1261527 1261545 - Identifier 1261546 1261560 - PropertyAccessExpression 1261561 1261588 - Identifier 1261561 1261576 - Identifier 1261577 1261588 - IfStatement 1261590 1262118 - BinaryExpression 1261612 1261679 - PrefixUnaryExpression 1261612 1261627 - Identifier 1261613 1261627 - BarBarToken 1261627 1261630 - PrefixUnaryExpression 1261630 1261679 - ParenthesizedExpression 1261632 1261679 - BinaryExpression 1261633 1261678 - PropertyAccessExpression 1261633 1261653 - Identifier 1261633 1261647 - Identifier 1261648 1261653 - AmpersandToken 1261653 1261655 - PropertyAccessExpression 1261655 1261678 - Identifier 1261655 1261667 - Identifier 1261668 1261678 - Block 1261680 1262118 - IfStatement 1261682 1261988 - Identifier 1261708 1261721 - Block 1261722 1261988 - ExpressionStatement 1261724 1261965 - CallExpression 1261724 1261964 - Identifier 1261724 1261763 - PropertyAccessExpression 1261764 1261807 - Identifier 1261764 1261775 - Identifier 1261776 1261807 - CallExpression 1261808 1261835 - Identifier 1261808 1261819 - Identifier 1261820 1261834 - CallExpression 1261836 1261963 - Identifier 1261836 1261849 - CallExpression 1261850 1261887 - Identifier 1261850 1261873 - Identifier 1261874 1261886 - Identifier 1261888 1261923 - PropertyAccessExpression 1261924 1261962 - Identifier 1261924 1261940 - Identifier 1261941 1261962 - ExpressionStatement 1261988 1262064 - CallExpression 1261988 1262063 - PropertyAccessExpression 1261988 1262026 - Identifier 1261988 1262022 - Identifier 1262023 1262026 - Identifier 1262027 1262029 - PropertyAccessExpression 1262030 1262062 - Identifier 1262030 1262055 - Identifier 1262056 1262062 - ReturnStatement 1262064 1262099 - FalseKeyword 1262092 1262098 - VariableStatement 1262118 1262243 - VariableDeclarationList 1262118 1262242 - VariableDeclaration 1262141 1262242 - Identifier 1262141 1262153 - PropertyAccessExpression 1262155 1262242 - CallExpression 1262155 1262236 - Identifier 1262155 1262174 - NonNullExpression 1262175 1262235 - CallExpression 1262175 1262234 - Identifier 1262175 1262195 - Identifier 1262196 1262210 - PropertyAccessExpression 1262211 1262233 - Identifier 1262211 1262222 - Identifier 1262223 1262233 - Identifier 1262237 1262242 - VariableStatement 1262243 1262368 - VariableDeclarationList 1262243 1262367 - VariableDeclaration 1262266 1262367 - Identifier 1262266 1262278 - PropertyAccessExpression 1262280 1262367 - CallExpression 1262280 1262361 - Identifier 1262280 1262299 - NonNullExpression 1262300 1262360 - CallExpression 1262300 1262359 - Identifier 1262300 1262320 - Identifier 1262321 1262335 - PropertyAccessExpression 1262336 1262358 - Identifier 1262336 1262347 - Identifier 1262348 1262358 - Identifier 1262362 1262367 - IfStatement 1262368 1264655 - BinaryExpression 1262390 1262417 - Identifier 1262390 1262401 - ExclamationEqualsEqualsToken 1262401 1262405 - Identifier 1262405 1262417 - Block 1262418 1264655 - VariableStatement 1262420 1262497 - VariableDeclarationList 1262420 1262496 - VariableDeclaration 1262447 1262496 - Identifier 1262447 1262462 - BinaryExpression 1262464 1262496 - TypeOfExpression 1262464 1262483 - Identifier 1262471 1262483 - EqualsEqualsEqualsToken 1262483 1262487 - StringLiteral 1262487 1262496 - VariableStatement 1262497 1262574 - VariableDeclarationList 1262497 1262573 - VariableDeclaration 1262524 1262573 - Identifier 1262524 1262539 - BinaryExpression 1262541 1262573 - TypeOfExpression 1262541 1262560 - Identifier 1262548 1262560 - EqualsEqualsEqualsToken 1262560 1262564 - StringLiteral 1262564 1262573 - IfStatement 1262574 1263428 - BinaryExpression 1262701 1262755 - BinaryExpression 1262701 1262726 - Identifier 1262701 1262712 - ExclamationEqualsEqualsToken 1262712 1262716 - Identifier 1262716 1262726 - AmpersandAmpersandToken 1262726 1262729 - BinaryExpression 1262729 1262755 - Identifier 1262729 1262741 - ExclamationEqualsEqualsToken 1262741 1262745 - Identifier 1262745 1262755 - Block 1262756 1263428 - IfStatement 1262758 1263286 - Identifier 1262788 1262801 - Block 1262802 1263286 - VariableStatement 1262804 1262920 - VariableDeclarationList 1262804 1262919 - VariableDeclaration 1262839 1262919 - Identifier 1262839 1262853 - ConditionalExpression 1262855 1262919 - Identifier 1262855 1262870 - QuestionToken 1262870 1262872 - TemplateExpression 1262872 1262905 - TemplateHead 1262872 1262877 - TemplateSpan 1262877 1262905 - CallExpression 1262877 1262902 - Identifier 1262877 1262889 - Identifier 1262890 1262901 - TemplateTail 1262902 1262905 - ColonToken 1262905 1262907 - Identifier 1262907 1262919 - VariableStatement 1262920 1263036 - VariableDeclarationList 1262920 1263035 - VariableDeclaration 1262955 1263035 - Identifier 1262955 1262969 - ConditionalExpression 1262971 1263035 - Identifier 1262971 1262986 - QuestionToken 1262986 1262988 - TemplateExpression 1262988 1263021 - TemplateHead 1262988 1262993 - TemplateSpan 1262993 1263021 - CallExpression 1262993 1263018 - Identifier 1262993 1263005 - Identifier 1263006 1263017 - TemplateTail 1263018 1263021 - ColonToken 1263021 1263023 - Identifier 1263023 1263035 - ExpressionStatement 1263036 1263259 - CallExpression 1263036 1263258 - Identifier 1263036 1263079 - PropertyAccessExpression 1263080 1263173 - Identifier 1263080 1263091 - Identifier 1263092 1263173 - CallExpression 1263174 1263199 - Identifier 1263174 1263185 - Identifier 1263186 1263198 - CallExpression 1263200 1263227 - Identifier 1263200 1263211 - Identifier 1263212 1263226 - Identifier 1263228 1263242 - Identifier 1263243 1263257 - ExpressionStatement 1263286 1263366 - CallExpression 1263286 1263365 - PropertyAccessExpression 1263286 1263328 - Identifier 1263286 1263324 - Identifier 1263325 1263328 - Identifier 1263329 1263331 - PropertyAccessExpression 1263332 1263364 - Identifier 1263332 1263357 - Identifier 1263358 1263364 - ReturnStatement 1263366 1263405 - FalseKeyword 1263398 1263404 - IfStatement 1263428 1264636 - BinaryExpression 1263920 1263952 - Identifier 1263920 1263934 - BarBarToken 1263934 1263937 - Identifier 1263937 1263952 - Block 1263953 1264636 - IfStatement 1263955 1264494 - Identifier 1263985 1263998 - Block 1263999 1264494 - VariableStatement 1264001 1264083 - VariableDeclarationList 1264001 1264082 - VariableDeclaration 1264036 1264082 - Identifier 1264036 1264053 - BinaryExpression 1264055 1264082 - Identifier 1264055 1264067 - QuestionQuestionToken 1264067 1264070 - Identifier 1264070 1264082 - ExpressionStatement 1264083 1264164 - CallExpression 1264083 1264163 - PropertyAccessExpression 1264083 1264125 - Identifier 1264083 1264118 - Identifier 1264119 1264125 - BinaryExpression 1264126 1264162 - TypeOfExpression 1264126 1264149 - Identifier 1264132 1264149 - EqualsEqualsEqualsToken 1264149 1264153 - StringLiteral 1264153 1264162 - VariableStatement 1264164 1264253 - VariableDeclarationList 1264164 1264252 - VariableDeclaration 1264199 1264252 - Identifier 1264199 1264212 - TemplateExpression 1264214 1264252 - TemplateHead 1264214 1264219 - TemplateSpan 1264219 1264252 - CallExpression 1264219 1264249 - Identifier 1264219 1264231 - Identifier 1264232 1264248 - TemplateTail 1264249 1264252 - ExpressionStatement 1264253 1264467 - CallExpression 1264253 1264466 - Identifier 1264253 1264296 - PropertyAccessExpression 1264297 1264397 - Identifier 1264297 1264308 - Identifier 1264309 1264397 - CallExpression 1264398 1264423 - Identifier 1264398 1264409 - Identifier 1264410 1264422 - CallExpression 1264424 1264451 - Identifier 1264424 1264435 - Identifier 1264436 1264450 - Identifier 1264452 1264465 - ExpressionStatement 1264494 1264574 - CallExpression 1264494 1264573 - PropertyAccessExpression 1264494 1264536 - Identifier 1264494 1264532 - Identifier 1264533 1264536 - Identifier 1264537 1264539 - PropertyAccessExpression 1264540 1264572 - Identifier 1264540 1264565 - Identifier 1264566 1264572 - ReturnStatement 1264574 1264613 - FalseKeyword 1264606 1264612 - ExpressionStatement 1264681 1264748 - CallExpression 1264681 1264747 - PropertyAccessExpression 1264681 1264707 - Identifier 1264681 1264703 - Identifier 1264704 1264707 - Identifier 1264708 1264710 - PropertyAccessExpression 1264711 1264746 - Identifier 1264711 1264736 - Identifier 1264737 1264746 - ReturnStatement 1264748 1264770 - TrueKeyword 1264764 1264769 - FunctionDeclaration 1264777 1268728 - Identifier 1264793 1264815 - Parameter 1264816 1264828 - Identifier 1264816 1264822 - TypeReference 1264823 1264828 - Identifier 1264823 1264828 - Parameter 1264829 1264842 - Identifier 1264829 1264836 - TypeReference 1264837 1264842 - Identifier 1264837 1264842 - Parameter 1264843 1264891 - Identifier 1264843 1264852 - TypeReference 1264853 1264891 - Identifier 1264853 1264857 - StringKeyword 1264858 1264864 - TypeReference 1264865 1264890 - Identifier 1264865 1264890 - Parameter 1264892 1264922 - Identifier 1264892 1264906 - QuestionToken 1264906 1264907 - TypeReference 1264908 1264922 - Identifier 1264908 1264922 - Block 1264923 1268728 - VariableStatement 1264925 1264958 - VariableDeclarationList 1264925 1264957 - VariableDeclaration 1264940 1264957 - Identifier 1264940 1264942 - PropertyAccessExpression 1264944 1264957 - Identifier 1264944 1264951 - Identifier 1264952 1264957 - VariableStatement 1264958 1264991 - VariableDeclarationList 1264958 1264990 - VariableDeclaration 1264973 1264990 - Identifier 1264973 1264975 - PropertyAccessExpression 1264977 1264990 - Identifier 1264977 1264984 - Identifier 1264985 1264990 - IfStatement 1264991 1265086 - BinaryExpression 1265005 1265072 - BinaryExpression 1265005 1265045 - BinaryExpression 1265005 1265022 - Identifier 1265005 1265006 - AmpersandToken 1265006 1265008 - PropertyAccessExpression 1265008 1265022 - Identifier 1265008 1265018 - Identifier 1265019 1265022 - BarBarToken 1265022 1265025 - BinaryExpression 1265025 1265045 - Identifier 1265025 1265027 - AmpersandToken 1265027 1265029 - PropertyAccessExpression 1265029 1265045 - Identifier 1265029 1265039 - Identifier 1265040 1265045 - BarBarToken 1265045 1265048 - BinaryExpression 1265048 1265072 - Identifier 1265048 1265055 - EqualsEqualsEqualsToken 1265055 1265059 - Identifier 1265059 1265072 - ReturnStatement 1265073 1265086 - TrueKeyword 1265080 1265085 - IfStatement 1265086 1265197 - BinaryExpression 1265100 1265183 - BinaryExpression 1265100 1265121 - Identifier 1265100 1265101 - AmpersandToken 1265101 1265103 - PropertyAccessExpression 1265103 1265121 - Identifier 1265103 1265113 - Identifier 1265114 1265121 - AmpersandAmpersandToken 1265121 1265124 - PrefixUnaryExpression 1265124 1265183 - ParenthesizedExpression 1265126 1265183 - BinaryExpression 1265127 1265182 - BinaryExpression 1265127 1265161 - Identifier 1265127 1265135 - EqualsEqualsEqualsToken 1265135 1265139 - Identifier 1265139 1265161 - AmpersandAmpersandToken 1265161 1265164 - BinaryExpression 1265164 1265182 - Identifier 1265164 1265166 - AmpersandToken 1265166 1265168 - PropertyAccessExpression 1265168 1265182 - Identifier 1265168 1265178 - Identifier 1265179 1265182 - ReturnStatement 1265184 1265197 - TrueKeyword 1265191 1265196 - IfStatement 1265197 1265245 - BinaryExpression 1265211 1265230 - Identifier 1265211 1265212 - AmpersandToken 1265212 1265214 - PropertyAccessExpression 1265214 1265230 - Identifier 1265214 1265224 - Identifier 1265225 1265230 - ReturnStatement 1265231 1265245 - FalseKeyword 1265238 1265244 - IfStatement 1265245 1265321 - BinaryExpression 1265259 1265307 - BinaryExpression 1265259 1265283 - Identifier 1265259 1265260 - AmpersandToken 1265260 1265262 - PropertyAccessExpression 1265262 1265283 - Identifier 1265262 1265272 - Identifier 1265273 1265283 - AmpersandAmpersandToken 1265283 1265286 - BinaryExpression 1265286 1265307 - Identifier 1265286 1265288 - AmpersandToken 1265288 1265290 - PropertyAccessExpression 1265290 1265307 - Identifier 1265290 1265300 - Identifier 1265301 1265307 - ReturnStatement 1265308 1265321 - TrueKeyword 1265315 1265320 - IfStatement 1265321 1265597 - BinaryExpression 1265335 1265573 - BinaryExpression 1265335 1265481 - BinaryExpression 1265335 1265449 - BinaryExpression 1265335 1265405 - BinaryExpression 1265335 1265376 - Identifier 1265335 1265350 - AmpersandToken 1265350 1265352 - PropertyAccessExpression 1265352 1265376 - Identifier 1265352 1265362 - Identifier 1265363 1265376 - AmpersandAmpersandToken 1265376 1265379 - BinaryExpression 1265379 1265405 - Identifier 1265379 1265381 - AmpersandToken 1265381 1265383 - PropertyAccessExpression 1265383 1265405 - Identifier 1265383 1265393 - Identifier 1265394 1265405 - AmpersandAmpersandToken 1265405 1265408 - BinaryExpression 1265408 1265449 - Identifier 1265408 1265423 - AmpersandToken 1265423 1265425 - PropertyAccessExpression 1265425 1265449 - Identifier 1265425 1265435 - Identifier 1265436 1265449 - AmpersandAmpersandToken 1265449 1265452 - PrefixUnaryExpression 1265452 1265481 - ParenthesizedExpression 1265454 1265481 - BinaryExpression 1265455 1265480 - Identifier 1265455 1265456 - AmpersandToken 1265456 1265458 - PropertyAccessExpression 1265458 1265480 - Identifier 1265458 1265468 - Identifier 1265469 1265480 - AmpersandAmpersandToken 1265481 1265484 - BinaryExpression 1265484 1265573 - PropertyAccessExpression 1265484 1265533 - ParenthesizedExpression 1265484 1265527 - AsExpression 1265499 1265526 - Identifier 1265499 1265505 - TypeReference 1265508 1265526 - Identifier 1265508 1265526 - Identifier 1265528 1265533 - EqualsEqualsEqualsToken 1265533 1265537 - PropertyAccessExpression 1265537 1265573 - ParenthesizedExpression 1265537 1265567 - AsExpression 1265539 1265566 - Identifier 1265539 1265545 - TypeReference 1265548 1265566 - Identifier 1265548 1265566 - Identifier 1265568 1265573 - ReturnStatement 1265584 1265597 - TrueKeyword 1265591 1265596 - IfStatement 1265597 1265673 - BinaryExpression 1265611 1265659 - BinaryExpression 1265611 1265635 - Identifier 1265611 1265612 - AmpersandToken 1265612 1265614 - PropertyAccessExpression 1265614 1265635 - Identifier 1265614 1265624 - Identifier 1265625 1265635 - AmpersandAmpersandToken 1265635 1265638 - BinaryExpression 1265638 1265659 - Identifier 1265638 1265640 - AmpersandToken 1265640 1265642 - PropertyAccessExpression 1265642 1265659 - Identifier 1265642 1265652 - Identifier 1265653 1265659 - ReturnStatement 1265660 1265673 - TrueKeyword 1265667 1265672 - IfStatement 1265673 1265949 - BinaryExpression 1265687 1265925 - BinaryExpression 1265687 1265833 - BinaryExpression 1265687 1265801 - BinaryExpression 1265687 1265757 - BinaryExpression 1265687 1265728 - Identifier 1265687 1265702 - AmpersandToken 1265702 1265704 - PropertyAccessExpression 1265704 1265728 - Identifier 1265704 1265714 - Identifier 1265715 1265728 - AmpersandAmpersandToken 1265728 1265731 - BinaryExpression 1265731 1265757 - Identifier 1265731 1265733 - AmpersandToken 1265733 1265735 - PropertyAccessExpression 1265735 1265757 - Identifier 1265735 1265745 - Identifier 1265746 1265757 - AmpersandAmpersandToken 1265757 1265760 - BinaryExpression 1265760 1265801 - Identifier 1265760 1265775 - AmpersandToken 1265775 1265777 - PropertyAccessExpression 1265777 1265801 - Identifier 1265777 1265787 - Identifier 1265788 1265801 - AmpersandAmpersandToken 1265801 1265804 - PrefixUnaryExpression 1265804 1265833 - ParenthesizedExpression 1265806 1265833 - BinaryExpression 1265807 1265832 - Identifier 1265807 1265808 - AmpersandToken 1265808 1265810 - PropertyAccessExpression 1265810 1265832 - Identifier 1265810 1265820 - Identifier 1265821 1265832 - AmpersandAmpersandToken 1265833 1265836 - BinaryExpression 1265836 1265925 - PropertyAccessExpression 1265836 1265885 - ParenthesizedExpression 1265836 1265879 - AsExpression 1265851 1265878 - Identifier 1265851 1265857 - TypeReference 1265860 1265878 - Identifier 1265860 1265878 - Identifier 1265880 1265885 - EqualsEqualsEqualsToken 1265885 1265889 - PropertyAccessExpression 1265889 1265925 - ParenthesizedExpression 1265889 1265919 - AsExpression 1265891 1265918 - Identifier 1265891 1265897 - TypeReference 1265900 1265918 - Identifier 1265900 1265918 - Identifier 1265920 1265925 - ReturnStatement 1265936 1265949 - TrueKeyword 1265943 1265948 - IfStatement 1265949 1266025 - BinaryExpression 1265963 1266011 - BinaryExpression 1265963 1265987 - Identifier 1265963 1265964 - AmpersandToken 1265964 1265966 - PropertyAccessExpression 1265966 1265987 - Identifier 1265966 1265976 - Identifier 1265977 1265987 - AmpersandAmpersandToken 1265987 1265990 - BinaryExpression 1265990 1266011 - Identifier 1265990 1265992 - AmpersandToken 1265992 1265994 - PropertyAccessExpression 1265994 1266011 - Identifier 1265994 1266004 - Identifier 1266005 1266011 - ReturnStatement 1266012 1266025 - TrueKeyword 1266019 1266024 - IfStatement 1266025 1266103 - BinaryExpression 1266039 1266089 - BinaryExpression 1266039 1266064 - Identifier 1266039 1266040 - AmpersandToken 1266040 1266042 - PropertyAccessExpression 1266042 1266064 - Identifier 1266042 1266052 - Identifier 1266053 1266064 - AmpersandAmpersandToken 1266064 1266067 - BinaryExpression 1266067 1266089 - Identifier 1266067 1266069 - AmpersandToken 1266069 1266071 - PropertyAccessExpression 1266071 1266089 - Identifier 1266071 1266081 - Identifier 1266082 1266089 - ReturnStatement 1266090 1266103 - TrueKeyword 1266097 1266102 - IfStatement 1266103 1266183 - BinaryExpression 1266117 1266169 - BinaryExpression 1266117 1266143 - Identifier 1266117 1266118 - AmpersandToken 1266118 1266120 - PropertyAccessExpression 1266120 1266143 - Identifier 1266120 1266130 - Identifier 1266131 1266143 - AmpersandAmpersandToken 1266143 1266146 - BinaryExpression 1266146 1266169 - Identifier 1266146 1266148 - AmpersandToken 1266148 1266150 - PropertyAccessExpression 1266150 1266169 - Identifier 1266150 1266160 - Identifier 1266161 1266169 - ReturnStatement 1266170 1266183 - TrueKeyword 1266177 1266182 - IfStatement 1266183 1266415 - BinaryExpression 1266197 1266391 - BinaryExpression 1266197 1266310 - BinaryExpression 1266197 1266251 - BinaryExpression 1266197 1266229 - Identifier 1266197 1266212 - AmpersandToken 1266212 1266214 - PropertyAccessExpression 1266214 1266229 - Identifier 1266214 1266224 - Identifier 1266225 1266229 - AmpersandAmpersandToken 1266229 1266232 - BinaryExpression 1266232 1266251 - Identifier 1266232 1266234 - AmpersandToken 1266234 1266236 - PropertyAccessExpression 1266236 1266251 - Identifier 1266236 1266246 - Identifier 1266247 1266251 - AmpersandAmpersandToken 1266251 1266254 - BinaryExpression 1266254 1266310 - PropertyAccessExpression 1266254 1266280 - PropertyAccessExpression 1266254 1266268 - Identifier 1266254 1266261 - Identifier 1266262 1266268 - Identifier 1266269 1266280 - EqualsEqualsEqualsToken 1266280 1266284 - PropertyAccessExpression 1266284 1266310 - PropertyAccessExpression 1266284 1266298 - Identifier 1266284 1266291 - Identifier 1266292 1266298 - Identifier 1266299 1266310 - AmpersandAmpersandToken 1266310 1266313 - CallExpression 1266313 1266391 - Identifier 1266313 1266346 - PropertyAccessExpression 1266347 1266360 - Identifier 1266347 1266353 - Identifier 1266354 1266360 - PropertyAccessExpression 1266361 1266375 - Identifier 1266361 1266368 - Identifier 1266369 1266375 - Identifier 1266376 1266390 - ReturnStatement 1266402 1266415 - TrueKeyword 1266409 1266414 - IfStatement 1266415 1266901 - BinaryExpression 1266429 1266483 - BinaryExpression 1266429 1266454 - Identifier 1266429 1266430 - AmpersandToken 1266430 1266432 - PropertyAccessExpression 1266432 1266454 - Identifier 1266432 1266442 - Identifier 1266443 1266454 - AmpersandAmpersandToken 1266454 1266457 - BinaryExpression 1266457 1266483 - Identifier 1266457 1266459 - AmpersandToken 1266459 1266461 - PropertyAccessExpression 1266461 1266483 - Identifier 1266461 1266471 - Identifier 1266472 1266483 - Block 1266484 1266901 - IfStatement 1266486 1266628 - BinaryExpression 1266504 1266614 - BinaryExpression 1266504 1266546 - BinaryExpression 1266504 1266523 - Identifier 1266504 1266505 - AmpersandToken 1266505 1266507 - PropertyAccessExpression 1266507 1266523 - Identifier 1266507 1266517 - Identifier 1266518 1266523 - AmpersandAmpersandToken 1266523 1266526 - BinaryExpression 1266526 1266546 - Identifier 1266526 1266528 - AmpersandToken 1266528 1266530 - PropertyAccessExpression 1266530 1266546 - Identifier 1266530 1266540 - Identifier 1266541 1266546 - AmpersandAmpersandToken 1266546 1266549 - CallExpression 1266549 1266614 - Identifier 1266549 1266569 - PropertyAccessExpression 1266570 1266583 - Identifier 1266570 1266576 - Identifier 1266577 1266583 - PropertyAccessExpression 1266584 1266598 - Identifier 1266584 1266591 - Identifier 1266592 1266598 - Identifier 1266599 1266613 - ReturnStatement 1266615 1266628 - TrueKeyword 1266622 1266627 - IfStatement 1266628 1266890 - BinaryExpression 1266646 1266862 - BinaryExpression 1266646 1266777 - BinaryExpression 1266646 1266710 - BinaryExpression 1266646 1266685 - Identifier 1266646 1266665 - AmpersandToken 1266665 1266667 - PropertyAccessExpression 1266667 1266685 - Identifier 1266667 1266677 - Identifier 1266678 1266685 - AmpersandAmpersandToken 1266685 1266688 - BinaryExpression 1266688 1266710 - Identifier 1266688 1266690 - AmpersandToken 1266690 1266692 - PropertyAccessExpression 1266692 1266710 - Identifier 1266692 1266702 - Identifier 1266703 1266710 - AmpersandAmpersandToken 1266710 1266713 - BinaryExpression 1266713 1266777 - PropertyAccessExpression 1266713 1266743 - ParenthesizedExpression 1266713 1266737 - AsExpression 1266715 1266736 - Identifier 1266715 1266721 - TypeReference 1266724 1266736 - Identifier 1266724 1266736 - Identifier 1266738 1266743 - EqualsEqualsEqualsToken 1266743 1266747 - PropertyAccessExpression 1266747 1266777 - ParenthesizedExpression 1266747 1266771 - AsExpression 1266749 1266770 - Identifier 1266749 1266755 - TypeReference 1266758 1266770 - Identifier 1266758 1266770 - Identifier 1266772 1266777 - AmpersandAmpersandToken 1266777 1266780 - CallExpression 1266780 1266862 - Identifier 1266780 1266817 - PropertyAccessExpression 1266818 1266831 - Identifier 1266818 1266824 - Identifier 1266825 1266831 - PropertyAccessExpression 1266832 1266846 - Identifier 1266832 1266839 - Identifier 1266840 1266846 - Identifier 1266847 1266861 - ReturnStatement 1266877 1266890 - TrueKeyword 1266884 1266889 - IfStatement 1266901 1267257 - BinaryExpression 1267111 1267243 - BinaryExpression 1267111 1267134 - Identifier 1267111 1267112 - AmpersandToken 1267112 1267114 - PropertyAccessExpression 1267114 1267134 - Identifier 1267114 1267124 - Identifier 1267125 1267134 - AmpersandAmpersandToken 1267134 1267137 - ParenthesizedExpression 1267137 1267243 - BinaryExpression 1267139 1267242 - BinaryExpression 1267139 1267196 - PrefixUnaryExpression 1267139 1267156 - Identifier 1267140 1267156 - AmpersandAmpersandToken 1267156 1267159 - PrefixUnaryExpression 1267159 1267196 - ParenthesizedExpression 1267161 1267196 - BinaryExpression 1267162 1267195 - Identifier 1267162 1267163 - AmpersandToken 1267163 1267165 - PropertyAccessExpression 1267165 1267195 - Identifier 1267165 1267175 - Identifier 1267176 1267195 - BarBarToken 1267196 1267199 - BinaryExpression 1267199 1267242 - Identifier 1267199 1267201 - AmpersandToken 1267201 1267203 - ParenthesizedExpression 1267203 1267242 - BinaryExpression 1267205 1267241 - PropertyAccessExpression 1267205 1267224 - Identifier 1267205 1267214 - Identifier 1267215 1267224 - BarToken 1267224 1267226 - PropertyAccessExpression 1267226 1267241 - Identifier 1267226 1267236 - Identifier 1267237 1267241 - ReturnStatement 1267244 1267257 - TrueKeyword 1267251 1267256 - IfStatement 1267257 1267388 - BinaryExpression 1267271 1267374 - BinaryExpression 1267271 1267289 - Identifier 1267271 1267272 - AmpersandToken 1267272 1267274 - PropertyAccessExpression 1267274 1267289 - Identifier 1267274 1267284 - Identifier 1267285 1267289 - AmpersandAmpersandToken 1267289 1267292 - ParenthesizedExpression 1267292 1267374 - BinaryExpression 1267294 1267373 - BinaryExpression 1267294 1267351 - PrefixUnaryExpression 1267294 1267311 - Identifier 1267295 1267311 - AmpersandAmpersandToken 1267311 1267314 - PrefixUnaryExpression 1267314 1267351 - ParenthesizedExpression 1267316 1267351 - BinaryExpression 1267317 1267350 - Identifier 1267317 1267318 - AmpersandToken 1267318 1267320 - PropertyAccessExpression 1267320 1267350 - Identifier 1267320 1267330 - Identifier 1267331 1267350 - BarBarToken 1267351 1267354 - BinaryExpression 1267354 1267373 - Identifier 1267354 1267356 - AmpersandToken 1267356 1267358 - PropertyAccessExpression 1267358 1267373 - Identifier 1267358 1267368 - Identifier 1267369 1267373 - ReturnStatement 1267375 1267388 - TrueKeyword 1267382 1267387 - IfStatement 1267388 1267601 - BinaryExpression 1267402 1267587 - BinaryExpression 1267402 1267452 - BinaryExpression 1267402 1267422 - Identifier 1267402 1267403 - AmpersandToken 1267403 1267405 - PropertyAccessExpression 1267405 1267422 - Identifier 1267405 1267415 - Identifier 1267416 1267422 - AmpersandAmpersandToken 1267422 1267425 - BinaryExpression 1267425 1267452 - Identifier 1267425 1267427 - AmpersandToken 1267427 1267429 - PropertyAccessExpression 1267429 1267452 - Identifier 1267429 1267439 - Identifier 1267440 1267452 - AmpersandAmpersandToken 1267452 1267455 - PrefixUnaryExpression 1267455 1267587 - ParenthesizedExpression 1267457 1267587 - BinaryExpression 1267458 1267586 - BinaryExpression 1267458 1267530 - BinaryExpression 1267458 1267492 - Identifier 1267458 1267466 - EqualsEqualsEqualsToken 1267466 1267470 - Identifier 1267470 1267492 - AmpersandAmpersandToken 1267492 1267495 - CallExpression 1267495 1267530 - Identifier 1267495 1267522 - Identifier 1267523 1267529 - AmpersandAmpersandToken 1267530 1267533 - PrefixUnaryExpression 1267533 1267586 - ParenthesizedExpression 1267535 1267586 - BinaryExpression 1267536 1267585 - CallExpression 1267536 1267558 - Identifier 1267536 1267550 - Identifier 1267551 1267557 - AmpersandToken 1267558 1267560 - PropertyAccessExpression 1267560 1267585 - Identifier 1267560 1267572 - Identifier 1267573 1267585 - ReturnStatement 1267588 1267601 - TrueKeyword 1267595 1267600 - IfStatement 1267601 1268698 - BinaryExpression 1267615 1267681 - BinaryExpression 1267615 1267646 - Identifier 1267615 1267623 - EqualsEqualsEqualsToken 1267623 1267627 - Identifier 1267627 1267646 - BarBarToken 1267646 1267649 - BinaryExpression 1267649 1267681 - Identifier 1267649 1267658 - EqualsEqualsEqualsToken 1267658 1267662 - Identifier 1267662 1267681 - Block 1267682 1268698 - IfStatement 1267684 1267733 - BinaryExpression 1267702 1267719 - Identifier 1267702 1267703 - AmpersandToken 1267703 1267705 - PropertyAccessExpression 1267705 1267719 - Identifier 1267705 1267715 - Identifier 1267716 1267719 - ReturnStatement 1267720 1267733 - TrueKeyword 1267727 1267732 - IfStatement 1267733 1268208 - BinaryExpression 1268090 1268194 - BinaryExpression 1268090 1268110 - Identifier 1268090 1268091 - AmpersandToken 1268091 1268093 - PropertyAccessExpression 1268093 1268110 - Identifier 1268093 1268103 - Identifier 1268104 1268110 - AmpersandAmpersandToken 1268110 1268113 - ParenthesizedExpression 1268113 1268194 - BinaryExpression 1268115 1268193 - BinaryExpression 1268115 1268133 - Identifier 1268115 1268116 - AmpersandToken 1268116 1268118 - PropertyAccessExpression 1268118 1268133 - Identifier 1268118 1268128 - Identifier 1268129 1268133 - BarBarToken 1268133 1268136 - BinaryExpression 1268136 1268193 - BinaryExpression 1268136 1268164 - Identifier 1268136 1268138 - AmpersandToken 1268138 1268140 - PropertyAccessExpression 1268140 1268164 - Identifier 1268140 1268150 - Identifier 1268151 1268164 - AmpersandAmpersandToken 1268164 1268167 - BinaryExpression 1268167 1268193 - Identifier 1268167 1268169 - AmpersandToken 1268169 1268171 - PropertyAccessExpression 1268171 1268193 - Identifier 1268171 1268181 - Identifier 1268182 1268193 - ReturnStatement 1268195 1268208 - TrueKeyword 1268202 1268207 - IfStatement 1268208 1268540 - BinaryExpression 1268226 1268512 - BinaryExpression 1268226 1268303 - BinaryExpression 1268226 1268271 - Identifier 1268226 1268245 - AmpersandToken 1268245 1268247 - PropertyAccessExpression 1268247 1268271 - Identifier 1268247 1268257 - Identifier 1268258 1268271 - AmpersandAmpersandToken 1268271 1268274 - PrefixUnaryExpression 1268274 1268303 - ParenthesizedExpression 1268276 1268303 - BinaryExpression 1268277 1268302 - Identifier 1268277 1268278 - AmpersandToken 1268278 1268280 - PropertyAccessExpression 1268280 1268302 - Identifier 1268280 1268290 - Identifier 1268291 1268302 - AmpersandAmpersandToken 1268303 1268306 - ParenthesizedExpression 1268306 1268512 - BinaryExpression 1268308 1268511 - BinaryExpression 1268308 1268326 - Identifier 1268308 1268309 - AmpersandToken 1268309 1268311 - PropertyAccessExpression 1268311 1268326 - Identifier 1268311 1268321 - Identifier 1268322 1268326 - BarBarToken 1268326 1268329 - BinaryExpression 1268329 1268511 - BinaryExpression 1268329 1268407 - BinaryExpression 1268329 1268378 - Identifier 1268329 1268352 - AmpersandToken 1268352 1268354 - PropertyAccessExpression 1268354 1268378 - Identifier 1268354 1268364 - Identifier 1268365 1268378 - AmpersandAmpersandToken 1268378 1268381 - BinaryExpression 1268381 1268407 - Identifier 1268381 1268383 - AmpersandToken 1268383 1268385 - PropertyAccessExpression 1268385 1268407 - Identifier 1268385 1268395 - Identifier 1268396 1268407 - AmpersandAmpersandToken 1268407 1268410 - BinaryExpression 1268410 1268511 - PropertyAccessExpression 1268410 1268471 - ParenthesizedExpression 1268410 1268465 - AsExpression 1268437 1268464 - Identifier 1268437 1268443 - TypeReference 1268446 1268464 - Identifier 1268446 1268464 - Identifier 1268466 1268471 - EqualsEqualsEqualsToken 1268471 1268475 - PropertyAccessExpression 1268475 1268511 - ParenthesizedExpression 1268475 1268505 - AsExpression 1268477 1268504 - Identifier 1268477 1268483 - TypeReference 1268486 1268504 - Identifier 1268486 1268504 - Identifier 1268506 1268511 - ReturnStatement 1268527 1268540 - TrueKeyword 1268534 1268539 - IfStatement 1268540 1268687 - CallExpression 1268643 1268673 - Identifier 1268643 1268665 - Identifier 1268666 1268672 - ReturnStatement 1268674 1268687 - TrueKeyword 1268681 1268686 - ReturnStatement 1268698 1268721 - FalseKeyword 1268714 1268720 - FunctionDeclaration 1268728 1270457 - Identifier 1268744 1268760 - Parameter 1268761 1268773 - Identifier 1268761 1268767 - TypeReference 1268768 1268773 - Identifier 1268768 1268773 - Parameter 1268774 1268787 - Identifier 1268774 1268781 - TypeReference 1268782 1268787 - Identifier 1268782 1268787 - Parameter 1268788 1268836 - Identifier 1268788 1268797 - TypeReference 1268798 1268836 - Identifier 1268798 1268802 - StringKeyword 1268803 1268809 - TypeReference 1268810 1268835 - Identifier 1268810 1268835 - Block 1268837 1270457 - IfStatement 1268839 1268954 - CallExpression 1268853 1268879 - Identifier 1268853 1268871 - Identifier 1268872 1268878 - Block 1268880 1268954 - ExpressionStatement 1268882 1268943 - BinaryExpression 1268882 1268942 - Identifier 1268882 1268902 - EqualsToken 1268902 1268904 - PropertyAccessExpression 1268904 1268942 - ParenthesizedExpression 1268904 1268930 - AsExpression 1268906 1268929 - Identifier 1268906 1268912 - TypeReference 1268915 1268929 - Identifier 1268915 1268929 - Identifier 1268931 1268942 - IfStatement 1268954 1269069 - CallExpression 1268968 1268994 - Identifier 1268968 1268986 - Identifier 1268987 1268993 - Block 1268995 1269069 - ExpressionStatement 1268997 1269058 - BinaryExpression 1268997 1269057 - Identifier 1268997 1269017 - EqualsToken 1269017 1269019 - PropertyAccessExpression 1269019 1269057 - ParenthesizedExpression 1269019 1269045 - AsExpression 1269021 1269044 - Identifier 1269021 1269027 - TypeReference 1269030 1269044 - Identifier 1269030 1269044 - Identifier 1269046 1269057 - IfStatement 1269069 1269140 - BinaryExpression 1269083 1269100 - Identifier 1269083 1269089 - EqualsEqualsEqualsToken 1269089 1269093 - Identifier 1269093 1269100 - Block 1269101 1269140 - ReturnStatement 1269103 1269129 - TrueKeyword 1269123 1269128 - IfStatement 1269140 1269843 - BinaryExpression 1269154 1269183 - Identifier 1269154 1269162 - ExclamationEqualsEqualsToken 1269162 1269166 - Identifier 1269166 1269183 - Block 1269184 1269433 - IfStatement 1269186 1269422 - BinaryExpression 1269204 1269374 - BinaryExpression 1269204 1269323 - BinaryExpression 1269204 1269272 - BinaryExpression 1269204 1269235 - Identifier 1269204 1269212 - EqualsEqualsEqualsToken 1269212 1269216 - Identifier 1269216 1269235 - AmpersandAmpersandToken 1269235 1269238 - PrefixUnaryExpression 1269238 1269272 - ParenthesizedExpression 1269240 1269272 - BinaryExpression 1269241 1269271 - PropertyAccessExpression 1269241 1269253 - Identifier 1269241 1269247 - Identifier 1269248 1269253 - AmpersandToken 1269253 1269255 - PropertyAccessExpression 1269255 1269271 - Identifier 1269255 1269265 - Identifier 1269266 1269271 - AmpersandAmpersandToken 1269272 1269275 - CallExpression 1269275 1269323 - Identifier 1269275 1269297 - Identifier 1269298 1269304 - Identifier 1269305 1269312 - Identifier 1269313 1269322 - BarBarToken 1269323 1269326 - CallExpression 1269326 1269374 - Identifier 1269326 1269348 - Identifier 1269349 1269355 - Identifier 1269356 1269363 - Identifier 1269364 1269373 - Block 1269375 1269422 - ReturnStatement 1269377 1269407 - TrueKeyword 1269401 1269406 - IfStatement 1269447 1269843 - PrefixUnaryExpression 1269452 1269593 - ParenthesizedExpression 1269453 1269593 - BinaryExpression 1269454 1269592 - ParenthesizedExpression 1269454 1269483 - BinaryExpression 1269455 1269482 - PropertyAccessExpression 1269455 1269467 - Identifier 1269455 1269461 - Identifier 1269462 1269467 - BarToken 1269467 1269469 - PropertyAccessExpression 1269469 1269482 - Identifier 1269469 1269476 - Identifier 1269477 1269482 - AmpersandToken 1269483 1269485 - ParenthesizedExpression 1269485 1269592 - BinaryExpression 1269487 1269591 - BinaryExpression 1269487 1269566 - BinaryExpression 1269487 1269542 - PropertyAccessExpression 1269487 1269516 - Identifier 1269487 1269496 - Identifier 1269497 1269516 - BarToken 1269516 1269518 - PropertyAccessExpression 1269518 1269542 - Identifier 1269518 1269528 - Identifier 1269529 1269542 - BarToken 1269542 1269544 - PropertyAccessExpression 1269544 1269566 - Identifier 1269544 1269554 - Identifier 1269555 1269566 - BarToken 1269566 1269568 - PropertyAccessExpression 1269568 1269591 - Identifier 1269568 1269578 - Identifier 1269579 1269591 - Block 1269594 1269843 - IfStatement 1269596 1269766 - BinaryExpression 1269722 1269751 - PropertyAccessExpression 1269722 1269734 - Identifier 1269722 1269728 - Identifier 1269729 1269734 - ExclamationEqualsEqualsToken 1269734 1269738 - PropertyAccessExpression 1269738 1269751 - Identifier 1269738 1269745 - Identifier 1269746 1269751 - ReturnStatement 1269752 1269766 - FalseKeyword 1269759 1269765 - IfStatement 1269766 1269832 - BinaryExpression 1269784 1269818 - PropertyAccessExpression 1269784 1269796 - Identifier 1269784 1269790 - Identifier 1269791 1269796 - AmpersandToken 1269796 1269798 - PropertyAccessExpression 1269798 1269818 - Identifier 1269798 1269808 - Identifier 1269809 1269818 - ReturnStatement 1269819 1269832 - TrueKeyword 1269826 1269831 - IfStatement 1269843 1270206 - BinaryExpression 1269857 1269923 - BinaryExpression 1269857 1269888 - PropertyAccessExpression 1269857 1269869 - Identifier 1269857 1269863 - Identifier 1269864 1269869 - AmpersandToken 1269869 1269871 - PropertyAccessExpression 1269871 1269888 - Identifier 1269871 1269881 - Identifier 1269882 1269888 - AmpersandAmpersandToken 1269888 1269891 - BinaryExpression 1269891 1269923 - PropertyAccessExpression 1269891 1269904 - Identifier 1269891 1269898 - Identifier 1269899 1269904 - AmpersandToken 1269904 1269906 - PropertyAccessExpression 1269906 1269923 - Identifier 1269906 1269916 - Identifier 1269917 1269923 - Block 1269924 1270206 - VariableStatement 1269926 1270064 - VariableDeclarationList 1269926 1270063 - VariableDeclaration 1269945 1270063 - Identifier 1269945 1269953 - CallExpression 1269955 1270063 - PropertyAccessExpression 1269955 1269968 - Identifier 1269955 1269964 - Identifier 1269965 1269968 - CallExpression 1269969 1270062 - Identifier 1269969 1269983 - Identifier 1269984 1269990 - Identifier 1269991 1269998 - PropertyAccessExpression 1269999 1270022 - Identifier 1269999 1270017 - Identifier 1270018 1270022 - Identifier 1270023 1270032 - FalseKeyword 1270033 1270061 - IfStatement 1270064 1270195 - BinaryExpression 1270082 1270103 - Identifier 1270082 1270089 - ExclamationEqualsEqualsToken 1270089 1270093 - Identifier 1270093 1270103 - Block 1270104 1270195 - ReturnStatement 1270106 1270180 - PrefixUnaryExpression 1270130 1270179 - PrefixUnaryExpression 1270132 1270179 - ParenthesizedExpression 1270133 1270179 - BinaryExpression 1270134 1270178 - Identifier 1270134 1270141 - AmpersandToken 1270141 1270143 - PropertyAccessExpression 1270143 1270178 - Identifier 1270143 1270168 - Identifier 1270169 1270178 - IfStatement 1270206 1270427 - BinaryExpression 1270220 1270322 - BinaryExpression 1270220 1270269 - PropertyAccessExpression 1270220 1270232 - Identifier 1270220 1270226 - Identifier 1270227 1270232 - AmpersandToken 1270232 1270234 - PropertyAccessExpression 1270234 1270269 - Identifier 1270234 1270244 - Identifier 1270245 1270269 - BarBarToken 1270269 1270272 - BinaryExpression 1270272 1270322 - PropertyAccessExpression 1270272 1270285 - Identifier 1270272 1270279 - Identifier 1270280 1270285 - AmpersandToken 1270285 1270287 - PropertyAccessExpression 1270287 1270322 - Identifier 1270287 1270297 - Identifier 1270298 1270322 - Block 1270323 1270427 - ReturnStatement 1270325 1270416 - CallExpression 1270345 1270415 - Identifier 1270345 1270364 - Identifier 1270365 1270371 - Identifier 1270372 1270379 - Identifier 1270380 1270389 - Identifier 1270390 1270414 - ReturnStatement 1270427 1270450 - FalseKeyword 1270443 1270449 - FunctionDeclaration 1270457 1270652 - Identifier 1270473 1270494 - Parameter 1270495 1270507 - Identifier 1270495 1270501 - TypeReference 1270502 1270507 - Identifier 1270502 1270507 - Parameter 1270508 1270527 - Identifier 1270508 1270519 - TypeReference 1270520 1270527 - Identifier 1270520 1270527 - Block 1270528 1270652 - ReturnStatement 1270530 1270645 - BinaryExpression 1270546 1270644 - BinaryExpression 1270546 1270597 - CallExpression 1270546 1270569 - Identifier 1270546 1270561 - Identifier 1270562 1270568 - AmpersandToken 1270569 1270571 - PropertyAccessExpression 1270571 1270597 - Identifier 1270571 1270583 - Identifier 1270584 1270597 - AmpersandAmpersandToken 1270597 1270600 - CallExpression 1270600 1270644 - Identifier 1270600 1270620 - PropertyAccessExpression 1270621 1270643 - Identifier 1270621 1270631 - Identifier 1270632 1270643 - FunctionDeclaration 1270652 1271658 - Identifier 1270668 1270686 - Parameter 1270687 1270697 - Identifier 1270687 1270691 - TypeReference 1270692 1270697 - Identifier 1270692 1270697 - Parameter 1270698 1270715 - Identifier 1270698 1270706 - BooleanKeyword 1270707 1270715 - TypeReference 1270717 1270722 - Identifier 1270717 1270722 - Block 1270722 1271658 - WhileStatement 1270724 1271651 - TrueKeyword 1270741 1270745 - Block 1270746 1271651 - VariableStatement 1270748 1271578 - VariableDeclarationList 1270748 1271577 - VariableDeclaration 1270767 1271577 - Identifier 1270767 1270769 - ConditionalExpression 1270771 1271577 - CallExpression 1270771 1270796 - Identifier 1270771 1270790 - Identifier 1270791 1270795 - QuestionToken 1270796 1270798 - PropertyAccessExpression 1270798 1270834 - ParenthesizedExpression 1270798 1270822 - AsExpression 1270800 1270821 - Identifier 1270800 1270804 - TypeReference 1270807 1270821 - Identifier 1270807 1270821 - Identifier 1270823 1270834 - ColonToken 1270834 1270836 - ConditionalExpression 1270836 1271577 - CallExpression 1270836 1270878 - Identifier 1270836 1270872 - Identifier 1270873 1270877 - QuestionToken 1270878 1270880 - CallExpression 1270880 1270918 - Identifier 1270880 1270903 - Identifier 1270904 1270908 - Identifier 1270909 1270917 - ColonToken 1270918 1270920 - ConditionalExpression 1270920 1271577 - BinaryExpression 1270920 1270982 - CallExpression 1270920 1270958 - Identifier 1270920 1270952 - Identifier 1270953 1270957 - AmpersandToken 1270958 1270960 - PropertyAccessExpression 1270960 1270982 - Identifier 1270960 1270972 - Identifier 1270973 1270982 - QuestionToken 1270982 1270984 - ConditionalExpression 1270984 1271161 - PropertyAccessExpression 1270984 1271013 - ParenthesizedExpression 1270984 1271008 - AsExpression 1270986 1271007 - Identifier 1270986 1270990 - TypeReference 1270993 1271007 - Identifier 1270993 1271007 - Identifier 1271009 1271013 - QuestionToken 1271013 1271015 - CallExpression 1271015 1271108 - Identifier 1271015 1271035 - PropertyAccessExpression 1271036 1271066 - ParenthesizedExpression 1271036 1271059 - AsExpression 1271037 1271058 - Identifier 1271037 1271041 - TypeReference 1271044 1271058 - Identifier 1271044 1271058 - Identifier 1271060 1271066 - CallExpression 1271067 1271107 - Identifier 1271067 1271084 - AsExpression 1271085 1271106 - Identifier 1271085 1271089 - TypeReference 1271092 1271106 - Identifier 1271092 1271106 - ColonToken 1271108 1271110 - BinaryExpression 1271110 1271161 - CallExpression 1271110 1271153 - Identifier 1271110 1271147 - Identifier 1271148 1271152 - BarBarToken 1271153 1271156 - Identifier 1271156 1271161 - ColonToken 1271161 1271163 - ConditionalExpression 1271163 1271577 - BinaryExpression 1271163 1271223 - PropertyAccessExpression 1271163 1271191 - Identifier 1271163 1271185 - Identifier 1271186 1271191 - AmpersandToken 1271191 1271193 - PropertyAccessExpression 1271193 1271223 - Identifier 1271193 1271203 - Identifier 1271204 1271223 - QuestionToken 1271223 1271225 - CallExpression 1271225 1271304 - Identifier 1271225 1271262 - AsExpression 1271263 1271294 - Identifier 1271263 1271267 - TypeReference 1271270 1271294 - Identifier 1271270 1271294 - Identifier 1271295 1271303 - ColonToken 1271304 1271306 - ConditionalExpression 1271306 1271577 - BinaryExpression 1271306 1271359 - PropertyAccessExpression 1271306 1271334 - Identifier 1271306 1271328 - Identifier 1271329 1271334 - AmpersandToken 1271334 1271336 - PropertyAccessExpression 1271336 1271359 - Identifier 1271336 1271346 - Identifier 1271347 1271359 - QuestionToken 1271359 1271361 - ConditionalExpression 1271361 1271463 - Identifier 1271361 1271369 - QuestionToken 1271369 1271371 - PropertyAccessExpression 1271371 1271407 - ParenthesizedExpression 1271371 1271398 - AsExpression 1271373 1271397 - Identifier 1271373 1271377 - TypeReference 1271380 1271397 - Identifier 1271380 1271397 - Identifier 1271399 1271407 - ColonToken 1271407 1271409 - CallExpression 1271409 1271463 - Identifier 1271409 1271437 - AsExpression 1271438 1271462 - Identifier 1271438 1271442 - TypeReference 1271445 1271462 - Identifier 1271445 1271462 - ColonToken 1271463 1271465 - ConditionalExpression 1271465 1271577 - BinaryExpression 1271465 1271518 - PropertyAccessExpression 1271465 1271493 - Identifier 1271465 1271487 - Identifier 1271488 1271493 - AmpersandToken 1271493 1271495 - PropertyAccessExpression 1271495 1271518 - Identifier 1271495 1271505 - Identifier 1271506 1271518 - QuestionToken 1271518 1271520 - CallExpression 1271520 1271553 - Identifier 1271520 1271538 - Identifier 1271539 1271543 - Identifier 1271544 1271552 - ColonToken 1271553 1271555 - Identifier 1271555 1271577 - IfStatement 1271578 1271617 - BinaryExpression 1271596 1271606 - Identifier 1271596 1271597 - EqualsEqualsEqualsToken 1271597 1271601 - Identifier 1271601 1271606 - ReturnStatement 1271607 1271617 - Identifier 1271614 1271616 - ExpressionStatement 1271617 1271640 - BinaryExpression 1271617 1271639 - Identifier 1271617 1271635 - EqualsToken 1271635 1271637 - Identifier 1271637 1271639 - FunctionDeclaration 1271658 1272604 - Identifier 1271674 1271711 - Parameter 1271712 1271741 - Identifier 1271712 1271716 - TypeReference 1271717 1271741 - Identifier 1271717 1271741 - Parameter 1271742 1271759 - Identifier 1271742 1271750 - BooleanKeyword 1271751 1271759 - Block 1271760 1272604 - VariableStatement 1271762 1271809 - VariableDeclarationList 1271762 1271808 - VariableDeclaration 1271777 1271808 - Identifier 1271777 1271785 - CallExpression 1271787 1271808 - Identifier 1271787 1271802 - Identifier 1271803 1271807 - IfStatement 1271809 1271882 - BinaryExpression 1271823 1271839 - Identifier 1271823 1271830 - ExclamationEqualsEqualsToken 1271830 1271834 - Identifier 1271834 1271839 - Block 1271840 1271882 - ReturnStatement 1271842 1271871 - Identifier 1271862 1271870 - IfStatement 1271882 1272575 - BinaryExpression 1271896 1271988 - BinaryExpression 1271896 1271931 - PropertyAccessExpression 1271896 1271906 - Identifier 1271896 1271900 - Identifier 1271901 1271906 - AmpersandToken 1271906 1271908 - PropertyAccessExpression 1271908 1271931 - Identifier 1271908 1271918 - Identifier 1271919 1271931 - AmpersandAmpersandToken 1271931 1271934 - CallExpression 1271934 1271988 - Identifier 1271934 1271962 - AsExpression 1271963 1271987 - Identifier 1271963 1271967 - TypeReference 1271970 1271987 - Identifier 1271970 1271987 - Block 1271989 1272575 - VariableStatement 1271991 1272436 - VariableDeclarationList 1271991 1272435 - VariableDeclaration 1272361 1272435 - Identifier 1272361 1272377 - CallExpression 1272379 1272435 - Identifier 1272379 1272387 - PropertyAccessExpression 1272388 1272398 - Identifier 1272388 1272392 - Identifier 1272393 1272398 - ArrowFunction 1272399 1272434 - Parameter 1272399 1272401 - Identifier 1272399 1272401 - EqualsGreaterThanToken 1272401 1272404 - CallExpression 1272404 1272434 - Identifier 1272404 1272422 - Identifier 1272423 1272424 - Identifier 1272425 1272433 - IfStatement 1272436 1272564 - BinaryExpression 1272454 1272484 - Identifier 1272454 1272469 - ExclamationEqualsEqualsToken 1272469 1272473 - PropertyAccessExpression 1272473 1272484 - Identifier 1272473 1272478 - Identifier 1272479 1272484 - Block 1272485 1272564 - ReturnStatement 1272487 1272549 - CallExpression 1272511 1272548 - Identifier 1272511 1272531 - Identifier 1272532 1272547 - ReturnStatement 1272575 1272597 - Identifier 1272591 1272596 - FunctionDeclaration 1272604 1273076 - Identifier 1272620 1272648 - Parameter 1272649 1272671 - Identifier 1272649 1272653 - TypeReference 1272654 1272671 - Identifier 1272654 1272671 - Block 1272672 1273076 - VariableStatement 1272674 1272712 - VariableDeclarationList 1272674 1272711 - VariableDeclaration 1272687 1272711 - Identifier 1272687 1272703 - FalseKeyword 1272705 1272711 - VariableStatement 1272712 1272753 - VariableDeclarationList 1272712 1272752 - VariableDeclaration 1272725 1272752 - Identifier 1272725 1272744 - FalseKeyword 1272746 1272752 - ForOfStatement 1272753 1273046 - VariableDeclarationList 1272768 1272775 - VariableDeclaration 1272773 1272775 - Identifier 1272773 1272775 - PropertyAccessExpression 1272778 1272789 - Identifier 1272778 1272783 - Identifier 1272784 1272789 - Block 1272790 1273046 - ExpressionStatement 1272792 1272863 - BinaryExpression 1272792 1272862 - Identifier 1272792 1272821 - BarBarEqualsToken 1272821 1272825 - PrefixUnaryExpression 1272825 1272862 - PrefixUnaryExpression 1272827 1272862 - ParenthesizedExpression 1272828 1272862 - BinaryExpression 1272829 1272861 - PropertyAccessExpression 1272829 1272836 - Identifier 1272829 1272830 - Identifier 1272831 1272836 - AmpersandToken 1272836 1272838 - PropertyAccessExpression 1272838 1272861 - Identifier 1272838 1272848 - Identifier 1272849 1272861 - ExpressionStatement 1272863 1272966 - BinaryExpression 1272863 1272965 - Identifier 1272863 1272895 - BarBarEqualsToken 1272895 1272899 - BinaryExpression 1272899 1272965 - PrefixUnaryExpression 1272899 1272932 - PrefixUnaryExpression 1272901 1272932 - ParenthesizedExpression 1272902 1272932 - BinaryExpression 1272903 1272931 - PropertyAccessExpression 1272903 1272910 - Identifier 1272903 1272904 - Identifier 1272905 1272910 - AmpersandToken 1272910 1272912 - PropertyAccessExpression 1272912 1272931 - Identifier 1272912 1272922 - Identifier 1272923 1272931 - BarBarToken 1272932 1272935 - CallExpression 1272935 1272965 - Identifier 1272935 1272962 - Identifier 1272963 1272964 - IfStatement 1272966 1273035 - BinaryExpression 1272984 1273021 - Identifier 1272984 1272999 - AmpersandAmpersandToken 1272999 1273002 - Identifier 1273002 1273021 - ReturnStatement 1273022 1273035 - TrueKeyword 1273029 1273034 - ReturnStatement 1273046 1273069 - FalseKeyword 1273062 1273068 - FunctionDeclaration 1273076 1273470 - Identifier 1273092 1273115 - Parameter 1273116 1273140 - Identifier 1273116 1273120 - TypeReference 1273121 1273140 - Identifier 1273121 1273140 - Parameter 1273141 1273158 - Identifier 1273141 1273149 - BooleanKeyword 1273150 1273158 - TypeReference 1273160 1273165 - Identifier 1273160 1273165 - Block 1273165 1273470 - VariableStatement 1273167 1273216 - VariableDeclarationList 1273167 1273215 - VariableDeclaration 1273182 1273215 - Identifier 1273182 1273191 - CallExpression 1273193 1273215 - Identifier 1273193 1273209 - Identifier 1273210 1273214 - VariableStatement 1273216 1273346 - VariableDeclarationList 1273216 1273345 - VariableDeclaration 1273231 1273345 - Identifier 1273231 1273250 - CallExpression 1273252 1273345 - Identifier 1273252 1273260 - Identifier 1273261 1273269 - ArrowFunction 1273270 1273344 - Parameter 1273270 1273272 - Identifier 1273270 1273272 - EqualsGreaterThanToken 1273272 1273275 - ConditionalExpression 1273275 1273344 - BinaryExpression 1273275 1273308 - PropertyAccessExpression 1273275 1273283 - Identifier 1273275 1273277 - Identifier 1273278 1273283 - AmpersandToken 1273283 1273285 - PropertyAccessExpression 1273285 1273308 - Identifier 1273285 1273295 - Identifier 1273296 1273308 - QuestionToken 1273308 1273310 - CallExpression 1273310 1273340 - Identifier 1273310 1273328 - Identifier 1273329 1273330 - Identifier 1273331 1273339 - ColonToken 1273340 1273342 - Identifier 1273342 1273344 - ReturnStatement 1273346 1273463 - ConditionalExpression 1273362 1273462 - BinaryExpression 1273362 1273394 - Identifier 1273362 1273371 - ExclamationEqualsEqualsToken 1273371 1273375 - Identifier 1273375 1273394 - QuestionToken 1273394 1273396 - CallExpression 1273396 1273455 - Identifier 1273396 1273422 - PropertyAccessExpression 1273423 1273434 - Identifier 1273423 1273427 - Identifier 1273428 1273434 - Identifier 1273435 1273454 - ColonToken 1273455 1273457 - Identifier 1273457 1273462 - FunctionDeclaration 1273470 1443461 - Identifier 1274393 1274412 - Parameter 1274413 1274435 - Identifier 1274413 1274429 - TypeReference 1274430 1274435 - Identifier 1274430 1274435 - Parameter 1274436 1274458 - Identifier 1274436 1274452 - TypeReference 1274453 1274458 - Identifier 1274453 1274458 - Parameter 1274459 1274516 - Identifier 1274459 1274477 - TypeReference 1274478 1274516 - Identifier 1274478 1274482 - StringKeyword 1274483 1274489 - TypeReference 1274490 1274515 - Identifier 1274490 1274515 - Parameter 1274517 1274554 - Identifier 1274517 1274536 - UnionType 1274537 1274554 - TypeReference 1274537 1274542 - Identifier 1274537 1274542 - UndefinedKeyword 1274544 1274554 - Parameter 1274555 1274596 - Identifier 1274555 1274576 - QuestionToken 1274576 1274577 - TypeReference 1274578 1274596 - Identifier 1274578 1274596 - Parameter 1274597 1274672 - Identifier 1274597 1274629 - QuestionToken 1274629 1274630 - FunctionType 1274631 1274672 - UnionType 1274637 1274672 - TypeReference 1274637 1274660 - Identifier 1274637 1274660 - UndefinedKeyword 1274662 1274672 - Parameter 1274673 1274726 - Identifier 1274673 1274703 - QuestionToken 1274703 1274704 - TypeReference 1274705 1274726 - Identifier 1274705 1274726 - BooleanKeyword 1274735 1274743 - Block 1274743 1443461 - VariableStatement 1274745 1274805 - VariableDeclarationList 1274745 1274804 - VariableDeclaration 1274758 1274804 - Identifier 1274758 1274768 - UnionType 1274769 1274804 - TypeReference 1274769 1274792 - Identifier 1274769 1274792 - UndefinedKeyword 1274794 1274804 - VariableStatement 1274805 1274910 - VariableDeclarationList 1274805 1274909 - VariableDeclaration 1274818 1274909 - Identifier 1274818 1274830 - UnionType 1274831 1274909 - TupleType 1274831 1274897 - TypeReference 1274833 1274861 - Identifier 1274833 1274861 - RestType 1274862 1274896 - ArrayType 1274866 1274896 - TypeReference 1274866 1274894 - Identifier 1274866 1274894 - UndefinedKeyword 1274899 1274909 - VariableStatement 1274910 1274944 - VariableDeclarationList 1274910 1274943 - VariableDeclaration 1274923 1274943 - Identifier 1274923 1274933 - ArrayType 1274934 1274943 - StringKeyword 1274934 1274941 - VariableStatement 1274944 1274984 - VariableDeclarationList 1274944 1274983 - VariableDeclaration 1274957 1274983 - Identifier 1274957 1274970 - TypeReference 1274971 1274983 - Identifier 1274971 1274975 - StringKeyword 1274976 1274982 - VariableStatement 1274984 1275018 - VariableDeclarationList 1274984 1275017 - VariableDeclaration 1274997 1275017 - Identifier 1274997 1275009 - ArrayType 1275010 1275017 - TypeReference 1275010 1275015 - Identifier 1275010 1275015 - VariableStatement 1275018 1275052 - VariableDeclarationList 1275018 1275051 - VariableDeclaration 1275031 1275051 - Identifier 1275031 1275043 - ArrayType 1275044 1275051 - TypeReference 1275044 1275049 - Identifier 1275044 1275049 - VariableStatement 1275052 1275081 - VariableDeclarationList 1275052 1275080 - VariableDeclaration 1275065 1275080 - Identifier 1275065 1275076 - NumericLiteral 1275078 1275080 - VariableStatement 1275081 1275111 - VariableDeclarationList 1275081 1275110 - VariableDeclaration 1275094 1275110 - Identifier 1275094 1275106 - NumericLiteral 1275108 1275110 - VariableStatement 1275111 1275141 - VariableDeclarationList 1275111 1275140 - VariableDeclaration 1275124 1275140 - Identifier 1275124 1275136 - NumericLiteral 1275138 1275140 - VariableStatement 1275141 1275192 - VariableDeclarationList 1275141 1275191 - VariableDeclaration 1275154 1275191 - Identifier 1275154 1275169 - PropertyAccessExpression 1275171 1275191 - Identifier 1275171 1275186 - Identifier 1275187 1275191 - VariableStatement 1275192 1275223 - VariableDeclarationList 1275192 1275222 - VariableDeclaration 1275205 1275222 - Identifier 1275205 1275214 - FalseKeyword 1275216 1275222 - VariableStatement 1275223 1275263 - VariableDeclarationList 1275223 1275262 - VariableDeclaration 1275236 1275262 - Identifier 1275236 1275258 - NumericLiteral 1275260 1275262 - VariableStatement 1275263 1275384 - VariableDeclarationList 1275263 1275383 - VariableDeclaration 1275361 1275383 - Identifier 1275361 1275379 - NumericLiteral 1275381 1275383 - VariableStatement 1275384 1275512 - VariableDeclarationList 1275384 1275511 - VariableDeclaration 1275469 1275511 - Identifier 1275469 1275485 - UnionType 1275486 1275511 - TupleType 1275486 1275499 - TypeReference 1275488 1275492 - Identifier 1275488 1275492 - TypeReference 1275493 1275498 - Identifier 1275493 1275498 - UndefinedKeyword 1275501 1275511 - VariableStatement 1275512 1275582 - VariableDeclarationList 1275512 1275581 - VariableDeclaration 1275525 1275581 - Identifier 1275525 1275543 - UnionType 1275544 1275581 - ArrayType 1275544 1275569 - TypeReference 1275544 1275567 - Identifier 1275544 1275567 - UndefinedKeyword 1275571 1275581 - VariableStatement 1275582 1275856 - VariableDeclarationList 1275582 1275855 - VariableDeclaration 1275805 1275855 - Identifier 1275805 1275819 - BinaryExpression 1275821 1275855 - ParenthesizedExpression 1275821 1275850 - BinaryExpression 1275823 1275849 - NumericLiteral 1275823 1275833 - MinusToken 1275833 1275835 - PropertyAccessExpression 1275835 1275849 - Identifier 1275835 1275844 - Identifier 1275845 1275849 - GreaterThanGreaterThanToken 1275850 1275853 - NumericLiteral 1275853 1275855 - ExpressionStatement 1275856 1275969 - CallExpression 1275856 1275968 - PropertyAccessExpression 1275856 1275880 - Identifier 1275856 1275873 - Identifier 1275874 1275880 - BinaryExpression 1275881 1275924 - BinaryExpression 1275881 1275910 - Identifier 1275881 1275889 - ExclamationEqualsEqualsToken 1275889 1275893 - Identifier 1275893 1275910 - BarBarToken 1275910 1275913 - PrefixUnaryExpression 1275913 1275924 - Identifier 1275915 1275924 - StringLiteral 1275925 1275967 - VariableStatement 1275969 1276088 - VariableDeclarationList 1275969 1276087 - VariableDeclaration 1275986 1276087 - Identifier 1275986 1275993 - CallExpression 1275995 1276087 - Identifier 1275995 1276007 - Identifier 1276008 1276014 - Identifier 1276015 1276022 - PropertyAccessExpression 1276023 1276043 - Identifier 1276023 1276038 - Identifier 1276039 1276043 - PrefixUnaryExpression 1276044 1276073 - PrefixUnaryExpression 1276063 1276073 - Identifier 1276064 1276073 - Identifier 1276074 1276086 - IfStatement 1276088 1276173 - Identifier 1276102 1276119 - Block 1276120 1276173 - ExpressionStatement 1276122 1276162 - CallExpression 1276122 1276161 - Identifier 1276122 1276159 - IfStatement 1276173 1279356 - Identifier 1276187 1276195 - Block 1276196 1277279 - VariableStatement 1276198 1276453 - VariableDeclarationList 1276198 1276452 - VariableDeclaration 1276331 1276452 - Identifier 1276331 1276334 - CallExpression 1276336 1276452 - Identifier 1276336 1276351 - Identifier 1276352 1276358 - Identifier 1276359 1276366 - PropertyAccessExpression 1276367 1276412 - Identifier 1276367 1276407 - Identifier 1276408 1276412 - Identifier 1276413 1276422 - FalseKeyword 1276423 1276451 - ExpressionStatement 1276453 1276632 - CallExpression 1276453 1276631 - PropertyAccessExpression 1276453 1276479 - Identifier 1276453 1276475 - Identifier 1276476 1276479 - Identifier 1276480 1276482 - BinaryExpression 1276483 1276630 - PropertyAccessExpression 1276483 1276515 - Identifier 1276483 1276508 - Identifier 1276509 1276515 - BarToken 1276515 1276517 - ParenthesizedExpression 1276517 1276630 - ConditionalExpression 1276519 1276629 - BinaryExpression 1276519 1276537 - Identifier 1276519 1276532 - LessThanEqualsToken 1276532 1276535 - NumericLiteral 1276535 1276537 - QuestionToken 1276537 1276539 - PropertyAccessExpression 1276539 1276583 - Identifier 1276539 1276564 - Identifier 1276565 1276583 - ColonToken 1276583 1276585 - PropertyAccessExpression 1276585 1276629 - Identifier 1276585 1276610 - Identifier 1276611 1276629 - ExpressionStatement 1276632 1276801 - CallExpression 1276632 1276800 - PropertyAccessExpression 1276632 1276662 - Identifier 1276632 1276653 - QuestionDotToken 1276653 1276655 - Identifier 1276655 1276662 - PropertyAccessExpression 1276663 1276687 - PropertyAccessExpression 1276663 1276676 - Identifier 1276663 1276670 - Identifier 1276671 1276676 - Identifier 1276677 1276687 - StringLiteral 1276688 1276720 - ObjectLiteralExpression 1276721 1276799 - PropertyAssignment 1276723 1276743 - Identifier 1276723 1276732 - PropertyAccessExpression 1276733 1276743 - Identifier 1276733 1276740 - Identifier 1276741 1276743 - PropertyAssignment 1276744 1276764 - Identifier 1276744 1276753 - PropertyAccessExpression 1276754 1276764 - Identifier 1276754 1276761 - Identifier 1276762 1276764 - PropertyAssignment 1276765 1276784 - Identifier 1276765 1276771 - Identifier 1276772 1276784 - ShorthandPropertyAssignment 1276785 1276797 - Identifier 1276785 1276797 - VariableStatement 1276801 1277003 - VariableDeclarationList 1276801 1277002 - VariableDeclaration 1276820 1277002 - Identifier 1276820 1276828 - ConditionalExpression 1276830 1277002 - BinaryExpression 1276830 1276849 - Identifier 1276830 1276844 - LessThanEqualsToken 1276844 1276847 - NumericLiteral 1276847 1276849 - QuestionToken 1276849 1276851 - PropertyAccessExpression 1276851 1276925 - Identifier 1276851 1276880 - Identifier 1276881 1276925 - ColonToken 1276925 1276927 - PropertyAccessExpression 1276927 1277002 - Identifier 1276927 1276956 - Identifier 1276957 1277002 - VariableStatement 1277003 1277115 - VariableDeclarationList 1277003 1277114 - VariableDeclaration 1277022 1277114 - Identifier 1277022 1277027 - CallExpression 1277029 1277114 - Identifier 1277029 1277035 - BinaryExpression 1277036 1277060 - Identifier 1277036 1277045 - BarBarToken 1277045 1277048 - Identifier 1277048 1277060 - Identifier 1277061 1277069 - CallExpression 1277070 1277091 - Identifier 1277070 1277083 - Identifier 1277084 1277090 - CallExpression 1277092 1277113 - Identifier 1277092 1277105 - Identifier 1277106 1277112 - IfStatement 1277115 1277268 - Identifier 1277133 1277153 - Block 1277154 1277268 - ExpressionStatement 1277156 1277253 - CallExpression 1277156 1277252 - PropertyAccessExpression 1277156 1277246 - ParenthesizedExpression 1277156 1277241 - BinaryExpression 1277175 1277240 - PropertyAccessExpression 1277175 1277202 - Identifier 1277175 1277195 - Identifier 1277196 1277202 - BarBarToken 1277202 1277205 - ParenthesizedExpression 1277205 1277240 - BinaryExpression 1277207 1277239 - PropertyAccessExpression 1277207 1277234 - Identifier 1277207 1277227 - Identifier 1277228 1277234 - EqualsToken 1277234 1277236 - ArrayLiteralExpression 1277236 1277239 - Identifier 1277242 1277246 - Identifier 1277247 1277251 - IfStatement 1277293 1279356 - Identifier 1277298 1277307 - Block 1277308 1279356 - IfStatement 1277310 1277589 - Identifier 1277328 1277350 - Block 1277351 1277589 - VariableStatement 1277353 1277410 - VariableDeclarationList 1277353 1277409 - VariableDeclaration 1277376 1277409 - Identifier 1277376 1277382 - CallExpression 1277384 1277409 - Identifier 1277384 1277407 - IfStatement 1277410 1277574 - Identifier 1277432 1277437 - Block 1277438 1277574 - ExpressionStatement 1277440 1277515 - CallExpression 1277440 1277514 - Identifier 1277440 1277496 - Identifier 1277497 1277502 - Identifier 1277503 1277513 - ExpressionStatement 1277515 1277555 - BinaryExpression 1277515 1277554 - Identifier 1277515 1277546 - EqualsToken 1277546 1277548 - Identifier 1277548 1277554 - VariableStatement 1277589 1277672 - VariableDeclarationList 1277589 1277671 - VariableDeclaration 1277608 1277671 - Identifier 1277608 1277627 - UnionType 1277628 1277671 - ArrayType 1277628 1277659 - TypeReference 1277628 1277657 - Identifier 1277628 1277657 - UndefinedKeyword 1277661 1277671 - IfStatement 1277672 1278813 - BinaryExpression 1277815 1277867 - BinaryExpression 1277815 1277850 - BinaryExpression 1277815 1277839 - Identifier 1277815 1277826 - AmpersandAmpersandToken 1277826 1277829 - Identifier 1277829 1277839 - AmpersandAmpersandToken 1277839 1277842 - PrefixUnaryExpression 1277842 1277850 - Identifier 1277844 1277850 - AmpersandAmpersandToken 1277850 1277853 - PropertyAccessExpression 1277853 1277867 - Identifier 1277853 1277860 - Identifier 1277861 1277867 - Block 1277868 1278813 - VariableStatement 1277870 1277932 - VariableDeclarationList 1277870 1277931 - VariableDeclaration 1277893 1277931 - Identifier 1277893 1277899 - CallExpression 1277901 1277931 - Identifier 1277901 1277916 - PropertyAccessExpression 1277917 1277930 - Identifier 1277917 1277923 - Identifier 1277924 1277930 - IfStatement 1277932 1278798 - BinaryExpression 1277954 1278019 - PropertyAccessExpression 1277954 1277977 - Identifier 1277954 1277959 - Identifier 1277960 1277977 - AmpersandAmpersandToken 1277977 1277980 - PrefixUnaryExpression 1277980 1278019 - CallExpression 1277982 1278019 - Identifier 1277982 1277994 - PropertyAccessExpression 1277995 1278018 - Identifier 1277995 1278000 - Identifier 1278001 1278018 - Block 1278020 1278798 - VariableStatement 1278022 1278159 - VariableDeclarationList 1278022 1278158 - VariableDeclaration 1278049 1278158 - Identifier 1278049 1278062 - CallExpression 1278064 1278158 - Identifier 1278064 1278083 - CallExpression 1278084 1278114 - Identifier 1278084 1278099 - NonNullExpression 1278100 1278113 - PropertyAccessExpression 1278100 1278112 - Identifier 1278100 1278105 - Identifier 1278106 1278112 - Identifier 1278115 1278122 - Identifier 1278123 1278132 - Identifier 1278133 1278157 - IfStatement 1278159 1278779 - Identifier 1278185 1278197 - Block 1278198 1278779 - VariableStatement 1278200 1278614 - VariableDeclarationList 1278200 1278613 - VariableDeclaration 1278357 1278613 - Identifier 1278357 1278362 - CallExpression 1278364 1278613 - Identifier 1278364 1278388 - PropertyAccessExpression 1278389 1278412 - Identifier 1278389 1278394 - Identifier 1278395 1278412 - PropertyAccessExpression 1278413 1278612 - Identifier 1278413 1278425 - Identifier 1278426 1278612 - ExpressionStatement 1278614 1278694 - BinaryExpression 1278614 1278693 - Identifier 1278614 1278658 - EqualsToken 1278658 1278660 - CallExpression 1278660 1278693 - Identifier 1278660 1278667 - Identifier 1278668 1278686 - Identifier 1278687 1278692 - VariableStatement 1278813 1278956 - VariableDeclarationList 1278813 1278955 - VariableDeclaration 1278832 1278955 - Identifier 1278832 1278837 - CallExpression 1278839 1278955 - Identifier 1278839 1278879 - CallExpression 1278880 1278911 - Identifier 1278880 1278899 - NonNullExpression 1278900 1278910 - Identifier 1278900 1278909 - NonNullExpression 1278912 1278923 - Identifier 1278912 1278922 - Identifier 1278924 1278934 - Identifier 1278935 1278954 - IfStatement 1278956 1279058 - Identifier 1278974 1278985 - Block 1278986 1279058 - ExpressionStatement 1278988 1279043 - CallExpression 1278988 1279042 - Identifier 1278988 1279020 - Identifier 1279021 1279025 - SpreadElement 1279026 1279041 - Identifier 1279030 1279041 - IfStatement 1279058 1279211 - Identifier 1279076 1279096 - Block 1279097 1279211 - ExpressionStatement 1279099 1279196 - CallExpression 1279099 1279195 - PropertyAccessExpression 1279099 1279189 - ParenthesizedExpression 1279099 1279184 - BinaryExpression 1279118 1279183 - PropertyAccessExpression 1279118 1279145 - Identifier 1279118 1279138 - Identifier 1279139 1279145 - BarBarToken 1279145 1279148 - ParenthesizedExpression 1279148 1279183 - BinaryExpression 1279150 1279182 - PropertyAccessExpression 1279150 1279177 - Identifier 1279150 1279170 - Identifier 1279171 1279177 - EqualsToken 1279177 1279179 - ArrayLiteralExpression 1279179 1279182 - Identifier 1279185 1279189 - Identifier 1279190 1279194 - IfStatement 1279211 1279345 - BinaryExpression 1279229 1279287 - PrefixUnaryExpression 1279229 1279250 - Identifier 1279230 1279250 - BarBarToken 1279250 1279253 - PrefixUnaryExpression 1279253 1279287 - PropertyAccessExpression 1279255 1279287 - Identifier 1279255 1279275 - Identifier 1279276 1279287 - Block 1279288 1279345 - ExpressionStatement 1279290 1279330 - CallExpression 1279290 1279329 - PropertyAccessExpression 1279290 1279323 - Identifier 1279290 1279319 - Identifier 1279320 1279323 - Identifier 1279324 1279328 - IfStatement 1279356 1279585 - BinaryExpression 1279370 1279467 - BinaryExpression 1279370 1279439 - BinaryExpression 1279370 1279403 - Identifier 1279370 1279379 - AmpersandAmpersandToken 1279379 1279382 - Identifier 1279382 1279403 - AmpersandAmpersandToken 1279403 1279406 - PropertyAccessExpression 1279406 1279439 - Identifier 1279406 1279427 - Identifier 1279428 1279439 - AmpersandAmpersandToken 1279439 1279442 - BinaryExpression 1279442 1279467 - Identifier 1279442 1279449 - EqualsEqualsEqualsToken 1279449 1279453 - PropertyAccessExpression 1279453 1279467 - Identifier 1279453 1279461 - Identifier 1279462 1279467 - Block 1279468 1279585 - ExpressionStatement 1279470 1279574 - CallExpression 1279470 1279573 - PropertyAccessExpression 1279470 1279496 - Identifier 1279470 1279489 - Identifier 1279490 1279496 - PrefixUnaryExpression 1279497 1279526 - PrefixUnaryExpression 1279498 1279526 - PropertyAccessExpression 1279499 1279526 - Identifier 1279499 1279519 - Identifier 1279520 1279526 - StringLiteral 1279527 1279572 - ReturnStatement 1279585 1279629 - BinaryExpression 1279603 1279628 - Identifier 1279603 1279610 - ExclamationEqualsEqualsToken 1279610 1279614 - PropertyAccessExpression 1279614 1279628 - Identifier 1279614 1279622 - Identifier 1279623 1279628 - FunctionDeclaration 1279629 1280057 - Identifier 1279649 1279664 - Parameter 1279665 1279719 - Identifier 1279665 1279670 - TypeReference 1279671 1279719 - Identifier 1279671 1279682 - TypeQuery 1279683 1279718 - Identifier 1279689 1279718 - Block 1279720 1280057 - ExpressionStatement 1279722 1279764 - BinaryExpression 1279722 1279763 - Identifier 1279722 1279745 - EqualsToken 1279745 1279747 - PropertyAccessExpression 1279747 1279763 - Identifier 1279747 1279753 - Identifier 1279754 1279763 - ExpressionStatement 1279764 1279818 - BinaryExpression 1279764 1279817 - Identifier 1279764 1279793 - EqualsToken 1279793 1279795 - PropertyAccessExpression 1279795 1279817 - Identifier 1279795 1279801 - Identifier 1279802 1279817 - ExpressionStatement 1279818 1279876 - BinaryExpression 1279818 1279875 - Identifier 1279818 1279849 - EqualsToken 1279849 1279851 - PropertyAccessExpression 1279851 1279875 - Identifier 1279851 1279857 - Identifier 1279858 1279875 - ExpressionStatement 1279876 1279942 - BinaryExpression 1279876 1279941 - Identifier 1279876 1279911 - EqualsToken 1279911 1279913 - PropertyAccessExpression 1279913 1279941 - Identifier 1279913 1279919 - Identifier 1279920 1279941 - ExpressionStatement 1279942 1280000 - BinaryExpression 1279942 1279999 - Identifier 1279942 1279973 - EqualsToken 1279973 1279975 - PropertyAccessExpression 1279975 1279999 - Identifier 1279975 1279981 - Identifier 1279982 1279999 - ExpressionStatement 1280000 1280046 - BinaryExpression 1280000 1280045 - Identifier 1280000 1280025 - EqualsToken 1280025 1280027 - PropertyAccessExpression 1280027 1280045 - Identifier 1280027 1280033 - Identifier 1280034 1280045 - FunctionDeclaration 1280057 1280494 - Identifier 1280077 1280106 - Block 1280108 1280494 - ReturnStatement 1280110 1280483 - ObjectLiteralExpression 1280130 1280482 - ShorthandPropertyAssignment 1280132 1280159 - Identifier 1280132 1280159 - ShorthandPropertyAssignment 1280160 1280193 - Identifier 1280160 1280193 - PropertyAssignment 1280194 1280257 - Identifier 1280194 1280229 - CallExpression 1280230 1280257 - PropertyAccessExpression 1280230 1280255 - Identifier 1280230 1280248 - QuestionDotToken 1280248 1280250 - Identifier 1280250 1280255 - ShorthandPropertyAssignment 1280258 1280297 - Identifier 1280258 1280297 - ShorthandPropertyAssignment 1280298 1280333 - Identifier 1280298 1280333 - PropertyAssignment 1280334 1280466 - Identifier 1280334 1280363 - AsExpression 1280364 1280466 - CallExpression 1280364 1280385 - PropertyAccessExpression 1280364 1280383 - Identifier 1280364 1280376 - QuestionDotToken 1280376 1280378 - Identifier 1280378 1280383 - UnionType 1280388 1280466 - TupleType 1280388 1280454 - TypeReference 1280390 1280418 - Identifier 1280390 1280418 - RestType 1280419 1280453 - ArrayType 1280423 1280453 - TypeReference 1280423 1280451 - Identifier 1280423 1280451 - UndefinedKeyword 1280456 1280466 - FunctionDeclaration 1280494 1280819 - Identifier 1280514 1280538 - Parameter 1280539 1280565 - Identifier 1280539 1280546 - TypeReference 1280547 1280565 - Identifier 1280547 1280565 - Parameter 1280566 1280595 - DotDotDotToken 1280566 1280570 - Identifier 1280570 1280574 - TypeReference 1280575 1280595 - Identifier 1280575 1280595 - Block 1280596 1280819 - ExpressionStatement 1280598 1280636 - PostfixUnaryExpression 1280598 1280635 - Identifier 1280598 1280633 - ExpressionStatement 1280636 1280714 - BinaryExpression 1280636 1280713 - Identifier 1280636 1280701 - EqualsToken 1280701 1280703 - Identifier 1280703 1280713 - ExpressionStatement 1280714 1280808 - CallExpression 1280714 1280807 - PropertyAccessExpression 1280714 1280787 - ParenthesizedExpression 1280714 1280782 - BinaryExpression 1280757 1280781 - Identifier 1280757 1280774 - BarBarEqualsToken 1280774 1280778 - ArrayLiteralExpression 1280778 1280781 - Identifier 1280783 1280787 - ArrayLiteralExpression 1280788 1280806 - Identifier 1280789 1280796 - SpreadElement 1280797 1280805 - Identifier 1280801 1280805 - FunctionDeclaration 1280819 1287467 - Identifier 1280839 1280863 - Block 1280865 1287467 - VariableStatement 1280867 1280919 - VariableDeclarationList 1280867 1280918 - VariableDeclaration 1280886 1280918 - Identifier 1280886 1280892 - BinaryExpression 1280894 1280918 - Identifier 1280894 1280912 - BarBarToken 1280912 1280915 - ArrayLiteralExpression 1280915 1280918 - ExpressionStatement 1280919 1280963 - BinaryExpression 1280919 1280962 - Identifier 1280919 1280950 - EqualsToken 1280950 1280952 - Identifier 1280952 1280962 - VariableStatement 1280963 1281006 - VariableDeclarationList 1280963 1281005 - VariableDeclaration 1280982 1281005 - Identifier 1280982 1280987 - Identifier 1280989 1281005 - ExpressionStatement 1281006 1281048 - BinaryExpression 1281006 1281047 - Identifier 1281006 1281035 - EqualsToken 1281035 1281037 - Identifier 1281037 1281047 - IfStatement 1281048 1281352 - BinaryExpression 1281066 1281084 - PropertyAccessExpression 1281066 1281078 - Identifier 1281066 1281071 - Identifier 1281072 1281078 - EqualsEqualsEqualsToken 1281078 1281082 - NumericLiteral 1281082 1281084 - Block 1281085 1281352 - ExpressionStatement 1281087 1281130 - CallExpression 1281087 1281129 - Identifier 1281087 1281116 - SpreadElement 1281117 1281128 - ElementAccessExpression 1281120 1281128 - Identifier 1281120 1281125 - NumericLiteral 1281126 1281127 - IfStatement 1281130 1281312 - Identifier 1281152 1281156 - Block 1281157 1281312 - ExpressionStatement 1281159 1281293 - CallExpression 1281159 1281292 - Identifier 1281159 1281260 - Identifier 1281261 1281282 - SpreadElement 1281283 1281291 - Identifier 1281287 1281291 - ReturnStatement 1281312 1281337 - VariableStatement 1281352 1281549 - VariableDeclarationList 1281352 1281548 - VariableDeclaration 1281538 1281548 - Identifier 1281538 1281543 - StringLiteral 1281545 1281548 - VariableStatement 1281549 1281620 - VariableDeclarationList 1281549 1281619 - VariableDeclaration 1281568 1281619 - Identifier 1281568 1281588 - ArrayType 1281589 1281614 - TypeReference 1281589 1281612 - Identifier 1281589 1281612 - ArrayLiteralExpression 1281616 1281619 - WhileStatement 1281620 1286327 - PropertyAccessExpression 1281641 1281653 - Identifier 1281641 1281646 - Identifier 1281647 1281653 - Block 1281654 1286327 - VariableStatement 1281656 1281710 - VariableDeclarationList 1281656 1281709 - VariableDeclaration 1281679 1281709 - ArrayBindingPattern 1281679 1281694 - BindingElement 1281681 1281684 - Identifier 1281681 1281684 - BindingElement 1281685 1281693 - DotDotDotToken 1281685 1281689 - Identifier 1281689 1281693 - NonNullExpression 1281696 1281709 - CallExpression 1281696 1281708 - PropertyAccessExpression 1281696 1281706 - Identifier 1281696 1281702 - Identifier 1281703 1281706 - SwitchStatement 1281710 1286312 - PropertyAccessExpression 1281736 1281744 - Identifier 1281736 1281739 - Identifier 1281740 1281744 - CaseBlock 1281745 1286312 - CaseClause 1281747 1283063 - PropertyAccessExpression 1281773 1281827 - PropertyAccessExpression 1281773 1281822 - Identifier 1281773 1281785 - Identifier 1281786 1281822 - Identifier 1281823 1281827 - Block 1281828 1283063 - IfStatement 1281830 1282030 - BinaryExpression 1281925 1281951 - CallExpression 1281925 1281945 - PropertyAccessExpression 1281925 1281937 - Identifier 1281925 1281929 - Identifier 1281930 1281937 - StringLiteral 1281938 1281944 - EqualsEqualsEqualsToken 1281945 1281949 - NumericLiteral 1281949 1281951 - Block 1281952 1282030 - ExpressionStatement 1281954 1282003 - BinaryExpression 1281954 1282002 - Identifier 1281954 1281988 - EqualsToken 1281988 1281990 - TemplateExpression 1281990 1282002 - TemplateHead 1281990 1281995 - TemplateSpan 1281995 1282002 - Identifier 1281995 1281999 - TemplateTail 1281999 1282002 - VariableStatement 1282030 1282081 - VariableDeclarationList 1282030 1282080 - VariableDeclaration 1282061 1282080 - Identifier 1282061 1282065 - BinaryExpression 1282067 1282080 - StringLiteral 1282067 1282070 - PlusToken 1282070 1282072 - ElementAccessExpression 1282072 1282080 - Identifier 1282072 1282077 - NumericLiteral 1282078 1282079 - IfStatement 1282081 1283008 - BinaryExpression 1282220 1282237 - PropertyAccessExpression 1282220 1282231 - Identifier 1282220 1282224 - Identifier 1282225 1282231 - EqualsEqualsEqualsToken 1282231 1282235 - NumericLiteral 1282235 1282237 - Block 1282238 1282313 - ExpressionStatement 1282240 1282286 - BinaryExpression 1282240 1282285 - Identifier 1282240 1282274 - EqualsToken 1282274 1282276 - TemplateExpression 1282276 1282285 - TemplateHead 1282276 1282280 - TemplateSpan 1282280 1282285 - Identifier 1282280 1282283 - TemplateTail 1282283 1282285 - IfStatement 1282413 1283008 - CallExpression 1282418 1282477 - Identifier 1282418 1282434 - Identifier 1282435 1282438 - CallExpression 1282439 1282476 - Identifier 1282439 1282459 - Identifier 1282460 1282475 - Block 1282478 1282561 - ExpressionStatement 1282480 1282534 - BinaryExpression 1282480 1282533 - Identifier 1282480 1282514 - EqualsToken 1282514 1282516 - TemplateExpression 1282516 1282533 - TemplateHead 1282516 1282520 - TemplateSpan 1282520 1282528 - Identifier 1282520 1282524 - TemplateMiddle 1282524 1282528 - TemplateSpan 1282528 1282533 - Identifier 1282528 1282531 - TemplateTail 1282531 1282533 - IfStatement 1282678 1283008 - BinaryExpression 1282683 1282728 - BinaryExpression 1282683 1282697 - ElementAccessExpression 1282683 1282689 - Identifier 1282683 1282686 - NumericLiteral 1282687 1282688 - EqualsEqualsEqualsToken 1282689 1282693 - StringLiteral 1282693 1282697 - AmpersandAmpersandToken 1282697 1282700 - BinaryExpression 1282700 1282728 - ElementAccessExpression 1282700 1282720 - Identifier 1282700 1282704 - BinaryExpression 1282705 1282719 - PropertyAccessExpression 1282705 1282715 - Identifier 1282705 1282708 - Identifier 1282709 1282715 - MinusToken 1282715 1282717 - NumericLiteral 1282717 1282719 - EqualsEqualsEqualsToken 1282720 1282724 - StringLiteral 1282724 1282728 - Block 1282729 1282811 - ExpressionStatement 1282731 1282784 - BinaryExpression 1282731 1282783 - Identifier 1282731 1282765 - EqualsToken 1282765 1282767 - TemplateExpression 1282767 1282783 - TemplateHead 1282767 1282771 - TemplateSpan 1282771 1282778 - Identifier 1282771 1282775 - TemplateMiddle 1282775 1282778 - TemplateSpan 1282778 1282783 - Identifier 1282778 1282781 - TemplateTail 1282781 1282783 - Block 1282924 1283008 - ExpressionStatement 1282926 1282981 - BinaryExpression 1282926 1282980 - Identifier 1282926 1282960 - EqualsToken 1282960 1282962 - TemplateExpression 1282962 1282980 - TemplateHead 1282962 1282966 - TemplateSpan 1282966 1282974 - Identifier 1282966 1282970 - TemplateMiddle 1282970 1282974 - TemplateSpan 1282974 1282980 - Identifier 1282974 1282977 - TemplateTail 1282977 1282980 - BreakStatement 1283008 1283040 - CaseClause 1283063 1283160 - PropertyAccessExpression 1283089 1283159 - PropertyAccessExpression 1283089 1283154 - Identifier 1283089 1283101 - Identifier 1283102 1283154 - Identifier 1283155 1283159 - CaseClause 1283160 1283262 - PropertyAccessExpression 1283186 1283261 - PropertyAccessExpression 1283186 1283256 - Identifier 1283186 1283198 - Identifier 1283199 1283256 - Identifier 1283257 1283261 - CaseClause 1283262 1283379 - PropertyAccessExpression 1283288 1283378 - PropertyAccessExpression 1283288 1283373 - Identifier 1283288 1283300 - Identifier 1283301 1283373 - Identifier 1283374 1283378 - CaseClause 1283379 1285451 - PropertyAccessExpression 1283405 1283500 - PropertyAccessExpression 1283405 1283495 - Identifier 1283405 1283417 - Identifier 1283418 1283495 - Identifier 1283496 1283500 - Block 1283501 1285451 - IfStatement 1283503 1285396 - BinaryExpression 1283533 1283550 - PropertyAccessExpression 1283533 1283544 - Identifier 1283533 1283537 - Identifier 1283538 1283544 - EqualsEqualsEqualsToken 1283544 1283548 - NumericLiteral 1283548 1283550 - Block 1283551 1284530 - VariableStatement 1283553 1283837 - VariableDeclarationList 1283553 1283836 - VariableDeclaration 1283820 1283836 - Identifier 1283820 1283830 - Identifier 1283832 1283836 - IfStatement 1283837 1284414 - BinaryExpression 1283871 1283973 - PropertyAccessExpression 1283871 1283879 - Identifier 1283871 1283874 - Identifier 1283875 1283879 - EqualsEqualsEqualsToken 1283879 1283883 - PropertyAccessExpression 1283883 1283973 - PropertyAccessExpression 1283883 1283968 - Identifier 1283883 1283895 - Identifier 1283896 1283968 - Identifier 1283969 1283973 - Block 1283974 1284118 - ExpressionStatement 1283976 1284087 - BinaryExpression 1283976 1284086 - Identifier 1283976 1284019 - EqualsToken 1284019 1284021 - PropertyAccessExpression 1284021 1284086 - Identifier 1284021 1284033 - Identifier 1284034 1284086 - IfStatement 1284152 1284414 - BinaryExpression 1284157 1284264 - PropertyAccessExpression 1284157 1284165 - Identifier 1284157 1284160 - Identifier 1284161 1284165 - EqualsEqualsEqualsToken 1284165 1284169 - PropertyAccessExpression 1284169 1284264 - PropertyAccessExpression 1284169 1284259 - Identifier 1284169 1284181 - Identifier 1284182 1284259 - Identifier 1284260 1284264 - Block 1284265 1284414 - ExpressionStatement 1284267 1284383 - BinaryExpression 1284267 1284382 - Identifier 1284267 1284310 - EqualsToken 1284310 1284312 - PropertyAccessExpression 1284312 1284382 - Identifier 1284312 1284324 - Identifier 1284325 1284382 - ExpressionStatement 1284414 1284503 - CallExpression 1284414 1284502 - PropertyAccessExpression 1284414 1284471 - Identifier 1284414 1284463 - Identifier 1284464 1284471 - ArrayLiteralExpression 1284472 1284501 - Identifier 1284473 1284482 - ElementAccessExpression 1284483 1284491 - Identifier 1284483 1284488 - NumericLiteral 1284489 1284490 - ElementAccessExpression 1284492 1284500 - Identifier 1284492 1284497 - NumericLiteral 1284498 1284499 - Block 1284560 1285396 - VariableStatement 1284562 1284925 - VariableDeclarationList 1284562 1284924 - VariableDeclaration 1284597 1284924 - Identifier 1284597 1284604 - ConditionalExpression 1284606 1284924 - ParenthesizedExpression 1284606 1284844 - BinaryExpression 1284608 1284843 - BinaryExpression 1284608 1284695 - PropertyAccessExpression 1284608 1284616 - Identifier 1284608 1284611 - Identifier 1284612 1284616 - EqualsEqualsEqualsToken 1284616 1284620 - PropertyAccessExpression 1284620 1284695 - PropertyAccessExpression 1284620 1284690 - Identifier 1284620 1284632 - Identifier 1284633 1284690 - Identifier 1284691 1284695 - BarBarToken 1284695 1284698 - BinaryExpression 1284698 1284843 - PropertyAccessExpression 1284698 1284744 - Identifier 1284698 1284739 - Identifier 1284740 1284744 - EqualsEqualsEqualsToken 1284744 1284748 - PropertyAccessExpression 1284748 1284843 - PropertyAccessExpression 1284748 1284838 - Identifier 1284748 1284760 - Identifier 1284761 1284838 - Identifier 1284839 1284843 - QuestionToken 1284844 1284879 - StringLiteral 1284879 1284886 - ColonToken 1284886 1284921 - StringLiteral 1284921 1284924 - VariableStatement 1284925 1285302 - VariableDeclarationList 1284925 1285301 - VariableDeclaration 1284960 1285301 - Identifier 1284960 1284967 - ConditionalExpression 1284969 1285301 - ParenthesizedExpression 1284969 1285222 - BinaryExpression 1284971 1285221 - BinaryExpression 1284971 1285073 - PropertyAccessExpression 1284971 1284979 - Identifier 1284971 1284974 - Identifier 1284975 1284979 - EqualsEqualsEqualsToken 1284979 1284983 - PropertyAccessExpression 1284983 1285073 - PropertyAccessExpression 1284983 1285068 - Identifier 1284983 1284995 - Identifier 1284996 1285068 - Identifier 1285069 1285073 - BarBarToken 1285073 1285076 - BinaryExpression 1285076 1285221 - PropertyAccessExpression 1285076 1285122 - Identifier 1285076 1285117 - Identifier 1285118 1285122 - EqualsEqualsEqualsToken 1285122 1285126 - PropertyAccessExpression 1285126 1285221 - PropertyAccessExpression 1285126 1285216 - Identifier 1285126 1285138 - Identifier 1285139 1285216 - Identifier 1285217 1285221 - QuestionToken 1285222 1285257 - StringLiteral 1285257 1285260 - ColonToken 1285260 1285295 - StringLiteral 1285295 1285301 - ExpressionStatement 1285302 1285369 - BinaryExpression 1285302 1285368 - Identifier 1285302 1285336 - EqualsToken 1285336 1285338 - TemplateExpression 1285338 1285368 - TemplateHead 1285338 1285342 - TemplateSpan 1285342 1285351 - Identifier 1285342 1285348 - TemplateMiddle 1285348 1285351 - TemplateSpan 1285351 1285359 - Identifier 1285351 1285355 - TemplateMiddle 1285355 1285359 - TemplateSpan 1285359 1285368 - Identifier 1285359 1285365 - TemplateTail 1285365 1285368 - BreakStatement 1285396 1285428 - CaseClause 1285451 1285801 - PropertyAccessExpression 1285477 1285575 - PropertyAccessExpression 1285477 1285570 - Identifier 1285477 1285489 - Identifier 1285490 1285570 - Identifier 1285571 1285575 - Block 1285576 1285801 - ExpressionStatement 1285578 1285746 - CallExpression 1285578 1285745 - PropertyAccessExpression 1285578 1285631 - Identifier 1285578 1285623 - Identifier 1285624 1285631 - ArrayLiteralExpression 1285632 1285744 - PropertyAccessExpression 1285633 1285725 - Identifier 1285633 1285644 - Identifier 1285645 1285725 - ElementAccessExpression 1285726 1285734 - Identifier 1285726 1285731 - NumericLiteral 1285732 1285733 - ElementAccessExpression 1285735 1285743 - Identifier 1285735 1285740 - NumericLiteral 1285741 1285742 - BreakStatement 1285746 1285778 - CaseClause 1285801 1286182 - PropertyAccessExpression 1285827 1285936 - PropertyAccessExpression 1285827 1285931 - Identifier 1285827 1285839 - Identifier 1285840 1285931 - Identifier 1285932 1285936 - Block 1285937 1286182 - ExpressionStatement 1285939 1286127 - CallExpression 1285939 1286126 - PropertyAccessExpression 1285939 1285992 - Identifier 1285939 1285984 - Identifier 1285985 1285992 - ArrayLiteralExpression 1285993 1286125 - PropertyAccessExpression 1285994 1286097 - Identifier 1285994 1286005 - Identifier 1286006 1286097 - ElementAccessExpression 1286098 1286106 - Identifier 1286098 1286103 - NumericLiteral 1286104 1286105 - ElementAccessExpression 1286107 1286115 - Identifier 1286107 1286112 - NumericLiteral 1286113 1286114 - ElementAccessExpression 1286116 1286124 - Identifier 1286116 1286121 - NumericLiteral 1286122 1286123 - BreakStatement 1286127 1286159 - DefaultClause 1286182 1286293 - ReturnStatement 1286212 1286293 - CallExpression 1286244 1286292 - PropertyAccessExpression 1286244 1286255 - Identifier 1286244 1286250 - Identifier 1286251 1286255 - TemplateExpression 1286256 1286291 - TemplateHead 1286256 1286281 - TemplateSpan 1286281 1286291 - PropertyAccessExpression 1286281 1286289 - Identifier 1286281 1286284 - Identifier 1286285 1286289 - TemplateTail 1286289 1286291 - IfStatement 1286327 1286907 - Identifier 1286345 1286349 - Block 1286350 1286687 - ExpressionStatement 1286352 1286672 - CallExpression 1286352 1286671 - Identifier 1286352 1286381 - ConditionalExpression 1286382 1286624 - BinaryExpression 1286382 1286433 - ElementAccessExpression 1286382 1286425 - Identifier 1286382 1286408 - BinaryExpression 1286409 1286424 - PropertyAccessExpression 1286409 1286420 - Identifier 1286409 1286413 - Identifier 1286414 1286420 - MinusToken 1286420 1286422 - NumericLiteral 1286422 1286424 - EqualsEqualsEqualsToken 1286425 1286429 - StringLiteral 1286429 1286433 - QuestionToken 1286433 1286460 - PropertyAccessExpression 1286460 1286533 - Identifier 1286460 1286472 - Identifier 1286473 1286533 - ColonToken 1286533 1286560 - PropertyAccessExpression 1286560 1286624 - Identifier 1286560 1286572 - Identifier 1286573 1286624 - Identifier 1286625 1286651 - Block 1286705 1286907 - ExpressionStatement 1286707 1286892 - CallExpression 1286707 1286891 - PropertyAccessExpression 1286707 1286889 - Identifier 1286707 1286883 - Identifier 1286884 1286889 - ForOfStatement 1286907 1287290 - VariableDeclarationList 1286926 1286946 - VariableDeclaration 1286931 1286946 - ArrayBindingPattern 1286931 1286946 - BindingElement 1286933 1286936 - Identifier 1286933 1286936 - BindingElement 1286937 1286945 - DotDotDotToken 1286937 1286941 - Identifier 1286941 1286945 - Identifier 1286949 1286969 - Block 1286970 1287290 - VariableStatement 1286972 1287045 - VariableDeclarationList 1286972 1287044 - VariableDeclaration 1286995 1287044 - Identifier 1286995 1287009 - PropertyAccessExpression 1287011 1287044 - Identifier 1287011 1287015 - Identifier 1287016 1287044 - ExpressionStatement 1287045 1287104 - BinaryExpression 1287045 1287103 - PropertyAccessExpression 1287045 1287095 - Identifier 1287045 1287066 - Identifier 1287067 1287095 - EqualsToken 1287095 1287097 - FalseKeyword 1287097 1287103 - ExpressionStatement 1287104 1287208 - CallExpression 1287104 1287207 - Identifier 1287104 1287193 - Identifier 1287194 1287197 - SpreadElement 1287198 1287206 - Identifier 1287202 1287206 - ExpressionStatement 1287208 1287275 - BinaryExpression 1287208 1287274 - PropertyAccessExpression 1287208 1287258 - Identifier 1287208 1287229 - Identifier 1287230 1287258 - EqualsToken 1287258 1287260 - Identifier 1287260 1287274 - IfStatement 1287290 1287456 - Identifier 1287308 1287312 - Block 1287313 1287456 - ExpressionStatement 1287315 1287441 - CallExpression 1287315 1287440 - Identifier 1287315 1287408 - Identifier 1287409 1287430 - SpreadElement 1287431 1287439 - Identifier 1287435 1287439 - FunctionDeclaration 1287467 1287957 - Identifier 1287487 1287499 - Parameter 1287500 1287526 - Identifier 1287500 1287507 - TypeReference 1287508 1287526 - Identifier 1287508 1287526 - Parameter 1287527 1287556 - DotDotDotToken 1287527 1287531 - Identifier 1287531 1287535 - TypeReference 1287536 1287556 - Identifier 1287536 1287556 - VoidKeyword 1287558 1287563 - Block 1287563 1287957 - ExpressionStatement 1287565 1287605 - CallExpression 1287565 1287604 - PropertyAccessExpression 1287565 1287591 - Identifier 1287565 1287584 - Identifier 1287585 1287591 - PrefixUnaryExpression 1287592 1287603 - PrefixUnaryExpression 1287593 1287603 - Identifier 1287594 1287603 - IfStatement 1287605 1287668 - Identifier 1287623 1287640 - ExpressionStatement 1287641 1287668 - CallExpression 1287641 1287667 - Identifier 1287641 1287665 - IfStatement 1287668 1287731 - PropertyAccessExpression 1287686 1287722 - Identifier 1287686 1287693 - Identifier 1287694 1287722 - ReturnStatement 1287723 1287731 - IfStatement 1287731 1287946 - BinaryExpression 1287749 1287772 - Identifier 1287749 1287766 - EqualsEqualsEqualsToken 1287766 1287770 - NumericLiteral 1287770 1287772 - Block 1287773 1287873 - ExpressionStatement 1287775 1287858 - BinaryExpression 1287775 1287857 - Identifier 1287775 1287802 - EqualsToken 1287802 1287804 - CallExpression 1287804 1287857 - Identifier 1287804 1287828 - Identifier 1287829 1287838 - Identifier 1287839 1287847 - SpreadElement 1287848 1287856 - Identifier 1287852 1287856 - Block 1287891 1287946 - ExpressionStatement 1287893 1287931 - PostfixUnaryExpression 1287893 1287930 - Identifier 1287893 1287928 - FunctionDeclaration 1287957 1288157 - Identifier 1287977 1288002 - Parameter 1288003 1288029 - Identifier 1288003 1288010 - TypeReference 1288011 1288029 - Identifier 1288011 1288029 - Parameter 1288030 1288059 - DotDotDotToken 1288030 1288034 - Identifier 1288034 1288038 - TypeReference 1288039 1288059 - Identifier 1288039 1288059 - VoidKeyword 1288061 1288066 - Block 1288066 1288157 - ExpressionStatement 1288068 1288112 - CallExpression 1288068 1288111 - Identifier 1288068 1288093 - Identifier 1288094 1288101 - SpreadElement 1288102 1288110 - Identifier 1288106 1288110 - ExpressionStatement 1288112 1288146 - PostfixUnaryExpression 1288112 1288145 - Identifier 1288112 1288143 - FunctionDeclaration 1288157 1288450 - Identifier 1288177 1288198 - Parameter 1288199 1288233 - Identifier 1288199 1288203 - TypeReference 1288204 1288233 - Identifier 1288204 1288233 - Block 1288234 1288450 - ExpressionStatement 1288236 1288276 - CallExpression 1288236 1288275 - PropertyAccessExpression 1288236 1288262 - Identifier 1288236 1288255 - Identifier 1288256 1288262 - PrefixUnaryExpression 1288263 1288274 - PrefixUnaryExpression 1288264 1288274 - Identifier 1288265 1288274 - IfStatement 1288276 1288439 - PrefixUnaryExpression 1288294 1288306 - Identifier 1288295 1288306 - Block 1288307 1288363 - ExpressionStatement 1288309 1288348 - BinaryExpression 1288309 1288347 - Identifier 1288309 1288338 - EqualsToken 1288338 1288340 - ArrayLiteralExpression 1288340 1288347 - Identifier 1288342 1288346 - Block 1288381 1288439 - ExpressionStatement 1288383 1288424 - CallExpression 1288383 1288423 - PropertyAccessExpression 1288383 1288417 - Identifier 1288383 1288412 - Identifier 1288413 1288417 - Identifier 1288418 1288422 - FunctionDeclaration 1288450 1292900 - Identifier 1288470 1288490 - Parameter 1288491 1288529 - Identifier 1288491 1288498 - UnionType 1288499 1288529 - TypeReference 1288499 1288517 - Identifier 1288499 1288517 - UndefinedKeyword 1288519 1288529 - Parameter 1288530 1288543 - Identifier 1288530 1288537 - TypeReference 1288538 1288543 - Identifier 1288538 1288543 - Parameter 1288544 1288557 - Identifier 1288544 1288551 - TypeReference 1288552 1288557 - Identifier 1288552 1288557 - Block 1288558 1292900 - IfStatement 1288560 1288623 - Identifier 1288578 1288595 - ExpressionStatement 1288596 1288623 - CallExpression 1288596 1288622 - Identifier 1288596 1288620 - VariableStatement 1288623 1288714 - VariableDeclarationList 1288623 1288713 - VariableDeclaration 1288642 1288713 - ArrayBindingPattern 1288642 1288667 - BindingElement 1288644 1288654 - Identifier 1288644 1288654 - BindingElement 1288655 1288666 - Identifier 1288655 1288666 - CallExpression 1288669 1288713 - Identifier 1288669 1288697 - Identifier 1288698 1288704 - Identifier 1288705 1288712 - VariableStatement 1288714 1288759 - VariableDeclarationList 1288714 1288758 - VariableDeclaration 1288731 1288758 - Identifier 1288731 1288749 - Identifier 1288751 1288758 - VariableStatement 1288759 1288812 - VariableDeclarationList 1288759 1288811 - VariableDeclaration 1288776 1288811 - Identifier 1288776 1288798 - Identifier 1288800 1288811 - IfStatement 1288812 1289385 - BinaryExpression 1288977 1289083 - BinaryExpression 1288977 1289035 - PrefixUnaryExpression 1288977 1289010 - ParenthesizedExpression 1288978 1289010 - BinaryExpression 1288979 1289009 - PropertyAccessExpression 1288979 1288991 - Identifier 1288979 1288985 - Identifier 1288986 1288991 - AmpersandToken 1288991 1288993 - PropertyAccessExpression 1288993 1289009 - Identifier 1288993 1289003 - Identifier 1289004 1289009 - AmpersandAmpersandToken 1289010 1289013 - CallExpression 1289013 1289035 - Identifier 1289013 1289027 - Identifier 1289028 1289034 - AmpersandAmpersandToken 1289035 1289038 - PrefixUnaryExpression 1289038 1289083 - CallExpression 1289040 1289083 - Identifier 1289040 1289075 - Identifier 1289076 1289082 - Block 1289084 1289385 - ExpressionStatement 1289086 1289157 - BinaryExpression 1289086 1289156 - Identifier 1289086 1289121 - EqualsToken 1289121 1289123 - CallExpression 1289123 1289156 - Identifier 1289123 1289148 - Identifier 1289149 1289155 - ExpressionStatement 1289157 1289282 - CallExpression 1289157 1289281 - PropertyAccessExpression 1289157 1289187 - Identifier 1289157 1289180 - Identifier 1289181 1289187 - PrefixUnaryExpression 1289188 1289234 - CallExpression 1289189 1289234 - Identifier 1289189 1289207 - Identifier 1289208 1289225 - Identifier 1289226 1289233 - StringLiteral 1289235 1289280 - ExpressionStatement 1289282 1289370 - BinaryExpression 1289282 1289369 - Identifier 1289282 1289321 - EqualsToken 1289321 1289323 - CallExpression 1289323 1289369 - Identifier 1289323 1289350 - Identifier 1289351 1289368 - VariableStatement 1289385 1289745 - VariableDeclarationList 1289385 1289744 - VariableDeclaration 1289548 1289744 - Identifier 1289548 1289560 - ConditionalExpression 1289562 1289744 - BinaryExpression 1289562 1289646 - BinaryExpression 1289562 1289601 - PropertyAccessExpression 1289562 1289575 - Identifier 1289562 1289569 - Identifier 1289570 1289575 - AmpersandToken 1289575 1289577 - PropertyAccessExpression 1289577 1289601 - Identifier 1289577 1289587 - Identifier 1289588 1289601 - AmpersandAmpersandToken 1289601 1289604 - PrefixUnaryExpression 1289604 1289646 - ParenthesizedExpression 1289606 1289646 - BinaryExpression 1289607 1289645 - PropertyAccessExpression 1289607 1289619 - Identifier 1289607 1289613 - Identifier 1289614 1289619 - AmpersandToken 1289619 1289621 - PropertyAccessExpression 1289621 1289645 - Identifier 1289621 1289631 - Identifier 1289632 1289645 - QuestionToken 1289646 1289648 - PropertyAccessExpression 1289648 1289712 - PropertyAccessExpression 1289648 1289706 - ParenthesizedExpression 1289648 1289695 - AsExpression 1289667 1289694 - Identifier 1289667 1289673 - TypeReference 1289676 1289694 - Identifier 1289676 1289694 - Identifier 1289696 1289706 - Identifier 1289707 1289712 - ColonToken 1289712 1289714 - PropertyAccessExpression 1289714 1289744 - Identifier 1289714 1289738 - Identifier 1289739 1289744 - IfStatement 1289745 1290907 - BinaryExpression 1289765 1289876 - BinaryExpression 1289765 1289840 - BinaryExpression 1289765 1289802 - Identifier 1289765 1289776 - AmpersandToken 1289776 1289778 - PropertyAccessExpression 1289778 1289802 - Identifier 1289778 1289788 - Identifier 1289789 1289802 - AmpersandAmpersandToken 1289802 1289805 - BinaryExpression 1289805 1289840 - Identifier 1289805 1289812 - ExclamationEqualsEqualsToken 1289812 1289816 - Identifier 1289816 1289840 - AmpersandAmpersandToken 1289840 1289843 - BinaryExpression 1289843 1289876 - Identifier 1289843 1289850 - ExclamationEqualsEqualsToken 1289850 1289854 - Identifier 1289854 1289876 - Block 1289877 1290907 - VariableStatement 1289879 1289948 - VariableDeclarationList 1289879 1289947 - VariableDeclaration 1289902 1289947 - Identifier 1289902 1289913 - CallExpression 1289915 1289947 - Identifier 1289915 1289939 - Identifier 1289940 1289946 - VariableStatement 1289948 1289990 - VariableDeclarationList 1289948 1289989 - VariableDeclaration 1289969 1289989 - Identifier 1289969 1289989 - IfStatement 1289990 1290892 - BinaryExpression 1290012 1290143 - Identifier 1290012 1290022 - AmpersandAmpersandToken 1290022 1290025 - ParenthesizedExpression 1290025 1290143 - BinaryExpression 1290027 1290142 - CallExpression 1290027 1290076 - Identifier 1290027 1290045 - Identifier 1290046 1290063 - Identifier 1290064 1290075 - BarBarToken 1290076 1290079 - ParenthesizedExpression 1290079 1290142 - BinaryExpression 1290081 1290141 - Identifier 1290081 1290100 - EqualsToken 1290100 1290102 - CallExpression 1290102 1290141 - Identifier 1290102 1290121 - Identifier 1290122 1290128 - Identifier 1290129 1290140 - Block 1290144 1290546 - ExpressionStatement 1290146 1290527 - CallExpression 1290146 1290526 - Identifier 1290146 1290179 - PropertyAccessExpression 1290180 1290331 - Identifier 1290180 1290217 - Identifier 1290218 1290331 - ConditionalExpression 1290332 1290414 - Identifier 1290332 1290377 - QuestionToken 1290377 1290379 - Identifier 1290379 1290390 - ColonToken 1290390 1290392 - Identifier 1290392 1290414 - Identifier 1290415 1290451 - CallExpression 1290452 1290502 - Identifier 1290452 1290490 - Identifier 1290491 1290501 - Block 1290568 1290892 - ExpressionStatement 1290570 1290614 - BinaryExpression 1290570 1290613 - Identifier 1290570 1290601 - EqualsToken 1290601 1290603 - Identifier 1290603 1290613 - ExpressionStatement 1290614 1290873 - CallExpression 1290614 1290872 - Identifier 1290614 1290647 - PropertyAccessExpression 1290648 1290763 - Identifier 1290648 1290685 - Identifier 1290686 1290763 - Identifier 1290764 1290800 - Identifier 1290801 1290848 - IfStatement 1290907 1292817 - PrefixUnaryExpression 1290927 1290935 - Identifier 1290928 1290935 - Block 1290936 1292323 - IfStatement 1290938 1292308 - BinaryExpression 1290960 1290991 - Identifier 1290960 1290968 - EqualsEqualsEqualsToken 1290968 1290972 - Identifier 1290972 1290991 - Block 1290992 1291092 - ExpressionStatement 1290994 1291073 - BinaryExpression 1290994 1291072 - Identifier 1290994 1291023 - EqualsToken 1291023 1291025 - PropertyAccessExpression 1291025 1291072 - Identifier 1291025 1291037 - Identifier 1291038 1291072 - IfStatement 1291114 1292308 - BinaryExpression 1291119 1291144 - Identifier 1291119 1291129 - EqualsEqualsEqualsToken 1291129 1291133 - Identifier 1291133 1291144 - Block 1291145 1291309 - ExpressionStatement 1291147 1291290 - BinaryExpression 1291147 1291289 - Identifier 1291147 1291176 - EqualsToken 1291176 1291178 - PropertyAccessExpression 1291178 1291289 - Identifier 1291178 1291190 - Identifier 1291191 1291289 - IfStatement 1291331 1292308 - BinaryExpression 1291336 1291427 - Identifier 1291336 1291362 - AmpersandAmpersandToken 1291362 1291365 - PropertyAccessExpression 1291365 1291427 - CallExpression 1291365 1291420 - Identifier 1291365 1291404 - Identifier 1291405 1291411 - Identifier 1291412 1291419 - Identifier 1291421 1291427 - Block 1291428 1291637 - ExpressionStatement 1291430 1291618 - BinaryExpression 1291430 1291617 - Identifier 1291430 1291459 - EqualsToken 1291459 1291461 - PropertyAccessExpression 1291461 1291617 - Identifier 1291461 1291473 - Identifier 1291474 1291617 - Block 1291659 1292308 - IfStatement 1291661 1292210 - BinaryExpression 1291687 1291759 - BinaryExpression 1291687 1291725 - PropertyAccessExpression 1291687 1291699 - Identifier 1291687 1291693 - Identifier 1291694 1291699 - AmpersandToken 1291699 1291701 - PropertyAccessExpression 1291701 1291725 - Identifier 1291701 1291711 - Identifier 1291712 1291725 - AmpersandAmpersandToken 1291725 1291728 - BinaryExpression 1291728 1291759 - PropertyAccessExpression 1291728 1291741 - Identifier 1291728 1291735 - Identifier 1291736 1291741 - AmpersandToken 1291741 1291743 - PropertyAccessExpression 1291743 1291759 - Identifier 1291743 1291753 - Identifier 1291754 1291759 - Block 1291760 1292210 - VariableStatement 1291762 1291908 - VariableDeclarationList 1291762 1291907 - VariableDeclaration 1291793 1291907 - Identifier 1291793 1291807 - CallExpression 1291809 1291907 - Identifier 1291809 1291857 - AsExpression 1291858 1291885 - Identifier 1291858 1291864 - TypeReference 1291867 1291885 - Identifier 1291867 1291885 - AsExpression 1291886 1291906 - Identifier 1291886 1291893 - TypeReference 1291896 1291906 - Identifier 1291896 1291906 - IfStatement 1291908 1292187 - Identifier 1291938 1291951 - Block 1291952 1292187 - ExpressionStatement 1291954 1292123 - CallExpression 1291954 1292122 - Identifier 1291954 1291995 - PropertyAccessExpression 1291996 1292057 - Identifier 1291996 1292007 - Identifier 1292008 1292057 - Identifier 1292058 1292080 - Identifier 1292081 1292092 - CallExpression 1292093 1292121 - Identifier 1292093 1292106 - Identifier 1292107 1292120 - ReturnStatement 1292123 1292160 - ExpressionStatement 1292210 1292289 - BinaryExpression 1292210 1292288 - Identifier 1292210 1292239 - EqualsToken 1292239 1292241 - PropertyAccessExpression 1292241 1292288 - Identifier 1292241 1292253 - Identifier 1292254 1292288 - IfStatement 1292341 1292817 - BinaryExpression 1292346 1292576 - BinaryExpression 1292346 1292494 - BinaryExpression 1292346 1292447 - Identifier 1292346 1292371 - EqualsEqualsEqualsToken 1292371 1292375 - PropertyAccessExpression 1292375 1292447 - Identifier 1292375 1292387 - Identifier 1292388 1292447 - AmpersandAmpersandToken 1292447 1292467 - Identifier 1292467 1292494 - AmpersandAmpersandToken 1292494 1292514 - PropertyAccessExpression 1292514 1292576 - CallExpression 1292514 1292569 - Identifier 1292514 1292553 - Identifier 1292554 1292560 - Identifier 1292561 1292568 - Identifier 1292570 1292576 - Block 1292591 1292817 - ExpressionStatement 1292593 1292802 - BinaryExpression 1292593 1292801 - Identifier 1292593 1292618 - EqualsToken 1292618 1292620 - PropertyAccessExpression 1292620 1292801 - Identifier 1292620 1292632 - Identifier 1292633 1292801 - ExpressionStatement 1292817 1292889 - CallExpression 1292817 1292888 - Identifier 1292817 1292844 - Identifier 1292845 1292852 - Identifier 1292853 1292875 - Identifier 1292876 1292887 - FunctionDeclaration 1292900 1293837 - Identifier 1292920 1292962 - Parameter 1292963 1292975 - Identifier 1292963 1292969 - TypeReference 1292970 1292975 - Identifier 1292970 1292975 - Parameter 1292976 1292989 - Identifier 1292976 1292983 - TypeReference 1292984 1292989 - Identifier 1292984 1292989 - Block 1292990 1293837 - VariableStatement 1292992 1293159 - VariableDeclarationList 1292992 1293158 - VariableDeclaration 1293011 1293158 - Identifier 1293011 1293022 - ConditionalExpression 1293024 1293158 - CallExpression 1293024 1293080 - Identifier 1293024 1293065 - PropertyAccessExpression 1293066 1293079 - Identifier 1293066 1293072 - Identifier 1293073 1293079 - QuestionToken 1293080 1293082 - CallExpression 1293082 1293135 - Identifier 1293082 1293095 - Identifier 1293096 1293102 - PropertyAccessExpression 1293103 1293134 - PropertyAccessExpression 1293103 1293117 - Identifier 1293103 1293110 - Identifier 1293111 1293117 - Identifier 1293118 1293134 - ColonToken 1293135 1293137 - CallExpression 1293137 1293158 - Identifier 1293137 1293150 - Identifier 1293151 1293157 - VariableStatement 1293159 1293326 - VariableDeclarationList 1293159 1293325 - VariableDeclaration 1293178 1293325 - Identifier 1293178 1293189 - ConditionalExpression 1293191 1293325 - CallExpression 1293191 1293247 - Identifier 1293191 1293232 - PropertyAccessExpression 1293233 1293246 - Identifier 1293233 1293239 - Identifier 1293240 1293246 - QuestionToken 1293247 1293249 - CallExpression 1293249 1293302 - Identifier 1293249 1293262 - Identifier 1293263 1293269 - PropertyAccessExpression 1293270 1293301 - PropertyAccessExpression 1293270 1293284 - Identifier 1293270 1293277 - Identifier 1293278 1293284 - Identifier 1293285 1293301 - ColonToken 1293302 1293304 - CallExpression 1293304 1293325 - Identifier 1293304 1293317 - Identifier 1293318 1293324 - IfStatement 1293326 1293826 - BinaryExpression 1293346 1293654 - BinaryExpression 1293346 1293570 - BinaryExpression 1293346 1293493 - ParenthesizedExpression 1293346 1293418 - BinaryExpression 1293365 1293417 - BinaryExpression 1293365 1293392 - Identifier 1293365 1293381 - EqualsEqualsEqualsToken 1293381 1293385 - Identifier 1293385 1293392 - AmpersandAmpersandToken 1293392 1293395 - BinaryExpression 1293395 1293417 - Identifier 1293395 1293406 - EqualsEqualsEqualsToken 1293406 1293410 - Identifier 1293410 1293417 - BarBarToken 1293418 1293421 - ParenthesizedExpression 1293421 1293493 - BinaryExpression 1293440 1293492 - BinaryExpression 1293440 1293467 - Identifier 1293440 1293456 - EqualsEqualsEqualsToken 1293456 1293460 - Identifier 1293460 1293467 - AmpersandAmpersandToken 1293467 1293470 - BinaryExpression 1293470 1293492 - Identifier 1293470 1293481 - EqualsEqualsEqualsToken 1293481 1293485 - Identifier 1293485 1293492 - BarBarToken 1293493 1293496 - ParenthesizedExpression 1293496 1293570 - BinaryExpression 1293515 1293569 - BinaryExpression 1293515 1293543 - Identifier 1293515 1293532 - EqualsEqualsEqualsToken 1293532 1293536 - Identifier 1293536 1293543 - AmpersandAmpersandToken 1293543 1293546 - BinaryExpression 1293546 1293569 - Identifier 1293546 1293558 - EqualsEqualsEqualsToken 1293558 1293562 - Identifier 1293562 1293569 - BarBarToken 1293570 1293573 - ParenthesizedExpression 1293573 1293654 - BinaryExpression 1293592 1293653 - BinaryExpression 1293592 1293626 - CallExpression 1293592 1293615 - Identifier 1293592 1293613 - EqualsEqualsEqualsToken 1293615 1293619 - Identifier 1293619 1293626 - AmpersandAmpersandToken 1293626 1293629 - BinaryExpression 1293629 1293653 - Identifier 1293629 1293642 - EqualsEqualsEqualsToken 1293642 1293646 - Identifier 1293646 1293653 - Block 1293669 1293826 - ExpressionStatement 1293671 1293811 - CallExpression 1293671 1293810 - Identifier 1293671 1293700 - PropertyAccessExpression 1293701 1293785 - Identifier 1293701 1293712 - Identifier 1293713 1293785 - Identifier 1293786 1293797 - Identifier 1293798 1293809 - FunctionDeclaration 1293837 1295740 - Identifier 1294110 1294138 - Parameter 1294139 1294151 - Identifier 1294139 1294145 - TypeReference 1294146 1294151 - Identifier 1294146 1294151 - Parameter 1294152 1294165 - Identifier 1294152 1294159 - TypeReference 1294160 1294165 - Identifier 1294160 1294165 - Parameter 1294166 1294188 - Identifier 1294166 1294179 - BooleanKeyword 1294180 1294188 - BooleanKeyword 1294190 1294198 - Block 1294198 1295740 - IfStatement 1294200 1295261 - CallExpression 1294811 1294830 - Identifier 1294811 1294822 - Identifier 1294823 1294829 - Block 1294831 1295261 - IfStatement 1294833 1295194 - BinaryExpression 1294855 1294910 - PropertyAccessExpression 1294855 1294877 - PropertyAccessExpression 1294855 1294868 - Identifier 1294855 1294861 - Identifier 1294862 1294868 - Identifier 1294869 1294877 - AmpersandAmpersandToken 1294877 1294880 - CallExpression 1294880 1294910 - Identifier 1294880 1294902 - Identifier 1294903 1294909 - Block 1294911 1295194 - IfStatement 1294913 1295140 - Identifier 1294939 1294951 - Block 1294952 1295140 - ExpressionStatement 1294954 1295117 - CallExpression 1294954 1295116 - Identifier 1294954 1294991 - PropertyAccessExpression 1294992 1295071 - Identifier 1294992 1295003 - Identifier 1295004 1295071 - CallExpression 1295072 1295093 - Identifier 1295072 1295085 - Identifier 1295086 1295092 - CallExpression 1295094 1295115 - Identifier 1295094 1295107 - Identifier 1295108 1295114 - ReturnStatement 1295140 1295175 - FalseKeyword 1295168 1295174 - ReturnStatement 1295194 1295246 - CallExpression 1295218 1295245 - Identifier 1295218 1295237 - Identifier 1295238 1295244 - IfStatement 1295261 1295603 - BinaryExpression 1295279 1295339 - CallExpression 1295279 1295306 - Identifier 1295279 1295298 - Identifier 1295299 1295305 - AmpersandAmpersandToken 1295306 1295309 - CallExpression 1295309 1295339 - Identifier 1295309 1295331 - Identifier 1295332 1295338 - Block 1295340 1295603 - IfStatement 1295342 1295557 - Identifier 1295364 1295376 - Block 1295377 1295557 - ExpressionStatement 1295379 1295538 - CallExpression 1295379 1295537 - Identifier 1295379 1295412 - PropertyAccessExpression 1295413 1295492 - Identifier 1295413 1295424 - Identifier 1295425 1295492 - CallExpression 1295493 1295514 - Identifier 1295493 1295506 - Identifier 1295507 1295513 - CallExpression 1295515 1295536 - Identifier 1295515 1295528 - Identifier 1295529 1295535 - ReturnStatement 1295557 1295588 - FalseKeyword 1295581 1295587 - IfStatement 1295603 1295703 - CallExpression 1295621 1295640 - Identifier 1295621 1295632 - Identifier 1295633 1295639 - Block 1295641 1295703 - ReturnStatement 1295643 1295688 - CallExpression 1295667 1295687 - Identifier 1295667 1295679 - Identifier 1295680 1295686 - ReturnStatement 1295703 1295729 - TrueKeyword 1295723 1295728 - FunctionDeclaration 1295740 1295927 - Identifier 1295760 1295778 - Parameter 1295779 1295791 - Identifier 1295779 1295785 - TypeReference 1295786 1295791 - Identifier 1295786 1295791 - Parameter 1295792 1295805 - Identifier 1295792 1295799 - TypeReference 1295800 1295805 - Identifier 1295800 1295805 - Parameter 1295806 1295829 - Identifier 1295806 1295819 - QuestionToken 1295819 1295820 - BooleanKeyword 1295821 1295829 - Block 1295830 1295927 - ReturnStatement 1295832 1295916 - CallExpression 1295852 1295915 - Identifier 1295852 1295864 - Identifier 1295865 1295871 - Identifier 1295872 1295879 - PropertyAccessExpression 1295880 1295900 - Identifier 1295880 1295895 - Identifier 1295896 1295900 - Identifier 1295901 1295914 - FunctionDeclaration 1295927 1304094 - Identifier 1296227 1296239 - Parameter 1296240 1296260 - Identifier 1296240 1296254 - TypeReference 1296255 1296260 - Identifier 1296255 1296260 - Parameter 1296261 1296282 - Identifier 1296261 1296276 - TypeReference 1296277 1296282 - Identifier 1296277 1296282 - Parameter 1296283 1296336 - Identifier 1296283 1296298 - TypeReference 1296299 1296314 - Identifier 1296299 1296314 - PropertyAccessExpression 1296316 1296336 - Identifier 1296316 1296331 - Identifier 1296332 1296336 - Parameter 1296337 1296358 - Identifier 1296337 1296350 - FalseKeyword 1296352 1296358 - Parameter 1296359 1296391 - Identifier 1296359 1296371 - QuestionToken 1296371 1296372 - TypeReference 1296373 1296391 - Identifier 1296373 1296391 - Parameter 1296392 1296435 - Identifier 1296392 1296410 - PropertyAccessExpression 1296412 1296435 - Identifier 1296412 1296430 - Identifier 1296431 1296435 - TypeReference 1296437 1296445 - Identifier 1296437 1296445 - Block 1296445 1304094 - IfStatement 1296447 1296520 - BinaryExpression 1296465 1296498 - Identifier 1296465 1296479 - EqualsEqualsEqualsToken 1296479 1296483 - Identifier 1296483 1296498 - ReturnStatement 1296499 1296520 - PropertyAccessExpression 1296506 1296519 - Identifier 1296506 1296514 - Identifier 1296515 1296519 - IfStatement 1296520 1297451 - BinaryExpression 1296738 1296823 - BinaryExpression 1296738 1296777 - PropertyAccessExpression 1296738 1296758 - Identifier 1296738 1296752 - Identifier 1296753 1296758 - AmpersandToken 1296758 1296760 - PropertyAccessExpression 1296760 1296777 - Identifier 1296760 1296770 - Identifier 1296771 1296777 - AmpersandAmpersandToken 1296777 1296780 - BinaryExpression 1296780 1296823 - PropertyAccessExpression 1296780 1296801 - Identifier 1296780 1296795 - Identifier 1296796 1296801 - AmpersandToken 1296801 1296803 - PropertyAccessExpression 1296803 1296823 - Identifier 1296803 1296813 - Identifier 1296814 1296823 - Block 1296824 1297451 - IfStatement 1296826 1297223 - BinaryExpression 1296848 1297141 - BinaryExpression 1296848 1297013 - BinaryExpression 1296848 1296946 - BinaryExpression 1296848 1296901 - Identifier 1296848 1296878 - EqualsEqualsEqualsToken 1296878 1296882 - Identifier 1296882 1296901 - AmpersandAmpersandToken 1296901 1296904 - PrefixUnaryExpression 1296904 1296946 - ParenthesizedExpression 1296906 1296946 - BinaryExpression 1296907 1296945 - PropertyAccessExpression 1296907 1296927 - Identifier 1296907 1296921 - Identifier 1296922 1296927 - AmpersandToken 1296927 1296929 - PropertyAccessExpression 1296929 1296945 - Identifier 1296929 1296939 - Identifier 1296940 1296945 - AmpersandAmpersandToken 1296946 1296949 - CallExpression 1296949 1297013 - Identifier 1296949 1296971 - Identifier 1296972 1296986 - Identifier 1296987 1297002 - Identifier 1297003 1297012 - BarBarToken 1297013 1297016 - CallExpression 1297016 1297141 - Identifier 1297016 1297059 - Identifier 1297060 1297074 - Identifier 1297075 1297090 - Identifier 1297091 1297100 - ConditionalExpression 1297101 1297140 - Identifier 1297101 1297114 - QuestionToken 1297114 1297116 - Identifier 1297116 1297128 - ColonToken 1297128 1297130 - Identifier 1297130 1297140 - Block 1297160 1297223 - ReturnStatement 1297162 1297204 - PropertyAccessExpression 1297190 1297203 - Identifier 1297190 1297198 - Identifier 1297199 1297203 - IfStatement 1297223 1297397 - Identifier 1297245 1297257 - Block 1297258 1297397 - ExpressionStatement 1297260 1297378 - CallExpression 1297260 1297377 - Identifier 1297260 1297300 - Identifier 1297301 1297315 - Identifier 1297316 1297331 - Identifier 1297332 1297347 - Identifier 1297348 1297363 - Identifier 1297364 1297376 - ReturnStatement 1297397 1297436 - PropertyAccessExpression 1297421 1297435 - Identifier 1297421 1297429 - Identifier 1297430 1297435 - VariableStatement 1297451 1297920 - VariableDeclarationList 1297451 1297919 - VariableDeclaration 1297857 1297919 - Identifier 1297857 1297864 - CallExpression 1297866 1297919 - Identifier 1297866 1297884 - Identifier 1297885 1297899 - FalseKeyword 1297900 1297918 - VariableStatement 1297920 1297999 - VariableDeclarationList 1297920 1297998 - VariableDeclaration 1297937 1297998 - Identifier 1297937 1297944 - CallExpression 1297946 1297998 - Identifier 1297946 1297964 - Identifier 1297965 1297979 - TrueKeyword 1297980 1297997 - IfStatement 1297999 1298058 - BinaryExpression 1298019 1298036 - Identifier 1298019 1298025 - EqualsEqualsEqualsToken 1298025 1298029 - Identifier 1298029 1298036 - ReturnStatement 1298037 1298058 - PropertyAccessExpression 1298044 1298057 - Identifier 1298044 1298052 - Identifier 1298053 1298057 - IfStatement 1298058 1298474 - BinaryExpression 1298078 1298107 - Identifier 1298078 1298086 - EqualsEqualsEqualsToken 1298086 1298090 - Identifier 1298090 1298107 - Block 1298108 1298474 - IfStatement 1298110 1298184 - BinaryExpression 1298132 1298161 - PropertyAccessExpression 1298132 1298144 - Identifier 1298132 1298138 - Identifier 1298139 1298144 - ExclamationEqualsEqualsToken 1298144 1298148 - PropertyAccessExpression 1298148 1298161 - Identifier 1298148 1298155 - Identifier 1298156 1298161 - ReturnStatement 1298162 1298184 - PropertyAccessExpression 1298169 1298183 - Identifier 1298169 1298177 - Identifier 1298178 1298183 - IfStatement 1298184 1298262 - BinaryExpression 1298206 1298240 - PropertyAccessExpression 1298206 1298218 - Identifier 1298206 1298212 - Identifier 1298213 1298218 - AmpersandToken 1298218 1298220 - PropertyAccessExpression 1298220 1298240 - Identifier 1298220 1298230 - Identifier 1298231 1298240 - ReturnStatement 1298241 1298262 - PropertyAccessExpression 1298248 1298261 - Identifier 1298248 1298256 - Identifier 1298257 1298261 - ExpressionStatement 1298262 1298331 - CallExpression 1298262 1298330 - Identifier 1298262 1298314 - Identifier 1298315 1298321 - Identifier 1298322 1298329 - ReturnStatement 1298331 1298459 - CallExpression 1298355 1298458 - Identifier 1298355 1298378 - Identifier 1298379 1298385 - Identifier 1298386 1298393 - FalseKeyword 1298394 1298417 - PropertyAccessExpression 1298418 1298441 - Identifier 1298418 1298436 - Identifier 1298437 1298441 - Identifier 1298442 1298457 - IfStatement 1298474 1299130 - BinaryExpression 1298994 1299074 - BinaryExpression 1298994 1299032 - PropertyAccessExpression 1298994 1299006 - Identifier 1298994 1299000 - Identifier 1299001 1299006 - AmpersandToken 1299006 1299008 - PropertyAccessExpression 1299008 1299032 - Identifier 1299008 1299018 - Identifier 1299019 1299032 - AmpersandAmpersandToken 1299032 1299035 - BinaryExpression 1299035 1299074 - CallExpression 1299035 1299063 - Identifier 1299035 1299055 - Identifier 1299056 1299062 - EqualsEqualsEqualsToken 1299063 1299067 - Identifier 1299067 1299074 - Block 1299075 1299130 - ReturnStatement 1299077 1299115 - PropertyAccessExpression 1299101 1299114 - Identifier 1299101 1299109 - Identifier 1299110 1299114 - IfStatement 1299130 1300039 - BinaryExpression 1299373 1299453 - BinaryExpression 1299373 1299419 - PropertyAccessExpression 1299373 1299385 - Identifier 1299373 1299379 - Identifier 1299380 1299385 - AmpersandToken 1299385 1299387 - PropertyAccessExpression 1299387 1299419 - Identifier 1299387 1299397 - Identifier 1299398 1299419 - AmpersandAmpersandToken 1299419 1299422 - BinaryExpression 1299422 1299453 - PropertyAccessExpression 1299422 1299435 - Identifier 1299422 1299429 - Identifier 1299430 1299435 - AmpersandToken 1299435 1299437 - PropertyAccessExpression 1299437 1299453 - Identifier 1299437 1299447 - Identifier 1299448 1299453 - Block 1299454 1300039 - VariableStatement 1299456 1299516 - VariableDeclarationList 1299456 1299515 - VariableDeclaration 1299479 1299515 - Identifier 1299479 1299485 - PropertyAccessExpression 1299487 1299515 - ParenthesizedExpression 1299487 1299509 - AsExpression 1299489 1299508 - Identifier 1299489 1299495 - TypeReference 1299498 1299508 - Identifier 1299498 1299508 - Identifier 1299510 1299515 - VariableStatement 1299516 1299785 - VariableDeclarationList 1299516 1299784 - VariableDeclaration 1299539 1299784 - Identifier 1299539 1299549 - ConditionalExpression 1299551 1299784 - BinaryExpression 1299551 1299609 - BinaryExpression 1299551 1299570 - PropertyAccessExpression 1299551 1299564 - Identifier 1299551 1299557 - Identifier 1299558 1299564 - EqualsEqualsEqualsToken 1299564 1299568 - NumericLiteral 1299568 1299570 - AmpersandAmpersandToken 1299570 1299573 - BinaryExpression 1299573 1299609 - PropertyAccessExpression 1299573 1299588 - ElementAccessExpression 1299573 1299582 - Identifier 1299573 1299579 - NumericLiteral 1299580 1299581 - Identifier 1299583 1299588 - AmpersandToken 1299588 1299590 - PropertyAccessExpression 1299590 1299609 - Identifier 1299590 1299600 - Identifier 1299601 1299609 - QuestionToken 1299609 1299611 - ElementAccessExpression 1299611 1299620 - Identifier 1299611 1299617 - NumericLiteral 1299618 1299619 - ColonToken 1299620 1299622 - ConditionalExpression 1299622 1299784 - BinaryExpression 1299622 1299740 - BinaryExpression 1299622 1299701 - BinaryExpression 1299622 1299662 - PropertyAccessExpression 1299622 1299656 - Identifier 1299622 1299649 - Identifier 1299650 1299656 - EqualsEqualsEqualsToken 1299656 1299660 - NumericLiteral 1299660 1299662 - AmpersandAmpersandToken 1299662 1299665 - BinaryExpression 1299665 1299701 - PropertyAccessExpression 1299665 1299680 - ElementAccessExpression 1299665 1299674 - Identifier 1299665 1299671 - NumericLiteral 1299672 1299673 - Identifier 1299675 1299680 - AmpersandToken 1299680 1299682 - PropertyAccessExpression 1299682 1299701 - Identifier 1299682 1299692 - Identifier 1299693 1299701 - AmpersandAmpersandToken 1299701 1299704 - BinaryExpression 1299704 1299740 - PropertyAccessExpression 1299704 1299719 - ElementAccessExpression 1299704 1299713 - Identifier 1299704 1299710 - NumericLiteral 1299711 1299712 - Identifier 1299714 1299719 - AmpersandToken 1299719 1299721 - PropertyAccessExpression 1299721 1299740 - Identifier 1299721 1299731 - Identifier 1299732 1299740 - QuestionToken 1299740 1299742 - ElementAccessExpression 1299742 1299751 - Identifier 1299742 1299748 - NumericLiteral 1299749 1299750 - ColonToken 1299751 1299753 - Identifier 1299753 1299784 - IfStatement 1299785 1300024 - BinaryExpression 1299807 1299859 - Identifier 1299807 1299816 - AmpersandAmpersandToken 1299816 1299819 - PrefixUnaryExpression 1299819 1299859 - ParenthesizedExpression 1299821 1299859 - BinaryExpression 1299822 1299858 - PropertyAccessExpression 1299822 1299837 - Identifier 1299822 1299831 - Identifier 1299832 1299837 - AmpersandToken 1299837 1299839 - PropertyAccessExpression 1299839 1299858 - Identifier 1299839 1299849 - Identifier 1299850 1299858 - Block 1299860 1300024 - ExpressionStatement 1299862 1299940 - BinaryExpression 1299862 1299939 - Identifier 1299862 1299890 - EqualsToken 1299890 1299892 - CallExpression 1299892 1299939 - Identifier 1299892 1299910 - Identifier 1299911 1299920 - TrueKeyword 1299921 1299938 - IfStatement 1299940 1300005 - BinaryExpression 1299966 1299983 - Identifier 1299966 1299972 - EqualsEqualsEqualsToken 1299972 1299976 - Identifier 1299976 1299983 - ReturnStatement 1299984 1300005 - PropertyAccessExpression 1299991 1300004 - Identifier 1299991 1299999 - Identifier 1300000 1300004 - IfStatement 1300039 1300340 - BinaryExpression 1300059 1300304 - BinaryExpression 1300059 1300196 - BinaryExpression 1300059 1300145 - BinaryExpression 1300059 1300108 - Identifier 1300059 1300085 - EqualsEqualsEqualsToken 1300085 1300089 - Identifier 1300089 1300108 - AmpersandAmpersandToken 1300108 1300111 - PrefixUnaryExpression 1300111 1300145 - ParenthesizedExpression 1300113 1300145 - BinaryExpression 1300114 1300144 - PropertyAccessExpression 1300114 1300126 - Identifier 1300114 1300120 - Identifier 1300121 1300126 - AmpersandToken 1300126 1300128 - PropertyAccessExpression 1300128 1300144 - Identifier 1300128 1300138 - Identifier 1300139 1300144 - AmpersandAmpersandToken 1300145 1300148 - CallExpression 1300148 1300196 - Identifier 1300148 1300170 - Identifier 1300171 1300177 - Identifier 1300178 1300185 - Identifier 1300186 1300195 - BarBarToken 1300196 1300199 - CallExpression 1300199 1300304 - Identifier 1300199 1300238 - Identifier 1300239 1300245 - Identifier 1300246 1300253 - Identifier 1300254 1300263 - ConditionalExpression 1300264 1300303 - Identifier 1300264 1300277 - QuestionToken 1300277 1300279 - Identifier 1300279 1300291 - ColonToken 1300291 1300293 - Identifier 1300293 1300303 - ReturnStatement 1300319 1300340 - PropertyAccessExpression 1300326 1300339 - Identifier 1300326 1300334 - Identifier 1300335 1300339 - IfStatement 1300340 1303900 - BinaryExpression 1300360 1300462 - BinaryExpression 1300360 1300409 - PropertyAccessExpression 1300360 1300372 - Identifier 1300360 1300366 - Identifier 1300367 1300372 - AmpersandToken 1300372 1300374 - PropertyAccessExpression 1300374 1300409 - Identifier 1300374 1300384 - Identifier 1300385 1300409 - BarBarToken 1300409 1300412 - BinaryExpression 1300412 1300462 - PropertyAccessExpression 1300412 1300425 - Identifier 1300412 1300419 - Identifier 1300420 1300425 - AmpersandToken 1300425 1300427 - PropertyAccessExpression 1300427 1300462 - Identifier 1300427 1300437 - Identifier 1300438 1300462 - Block 1300463 1303900 - VariableStatement 1300465 1300658 - VariableDeclarationList 1300465 1300657 - VariableDeclaration 1300488 1300657 - Identifier 1300488 1300521 - BinaryExpression 1300523 1300657 - PrefixUnaryExpression 1300523 1300571 - ParenthesizedExpression 1300525 1300571 - BinaryExpression 1300526 1300570 - Identifier 1300526 1300543 - AmpersandToken 1300543 1300545 - PropertyAccessExpression 1300545 1300570 - Identifier 1300545 1300563 - Identifier 1300564 1300570 - AmpersandAmpersandToken 1300571 1300574 - ParenthesizedExpression 1300574 1300657 - BinaryExpression 1300576 1300656 - CallExpression 1300576 1300603 - Identifier 1300576 1300595 - Identifier 1300596 1300602 - AmpersandAmpersandToken 1300603 1300606 - BinaryExpression 1300606 1300656 - CallExpression 1300606 1300629 - Identifier 1300606 1300621 - Identifier 1300622 1300628 - AmpersandToken 1300629 1300631 - PropertyAccessExpression 1300631 1300656 - Identifier 1300631 1300643 - Identifier 1300644 1300656 - IfStatement 1300658 1301105 - Identifier 1300680 1300712 - Block 1300713 1301105 - IfStatement 1300715 1301086 - CallExpression 1300741 1300816 - Identifier 1300741 1300760 - AsExpression 1300761 1300793 - Identifier 1300761 1300767 - TypeReference 1300770 1300793 - Identifier 1300770 1300793 - Identifier 1300794 1300801 - Identifier 1300802 1300815 - Block 1300817 1301086 - IfStatement 1300819 1301016 - Identifier 1300849 1300861 - Block 1300862 1301016 - ExpressionStatement 1300864 1300989 - CallExpression 1300864 1300988 - Identifier 1300864 1300913 - Identifier 1300914 1300925 - Identifier 1300926 1300933 - ConditionalExpression 1300934 1300987 - PropertyAccessExpression 1300934 1300961 - Identifier 1300934 1300949 - Identifier 1300950 1300961 - QuestionToken 1300961 1300963 - Identifier 1300963 1300978 - ColonToken 1300978 1300980 - Identifier 1300980 1300987 - ReturnStatement 1301016 1301063 - PropertyAccessExpression 1301048 1301062 - Identifier 1301048 1301056 - Identifier 1301057 1301062 - VariableStatement 1301105 1301644 - VariableDeclarationList 1301105 1301643 - VariableDeclaration 1301130 1301643 - Identifier 1301130 1301163 - BinaryExpression 1301165 1301643 - BinaryExpression 1301165 1301534 - BinaryExpression 1301165 1301512 - BinaryExpression 1301165 1301429 - BinaryExpression 1301165 1301398 - BinaryExpression 1301165 1301293 - ParenthesizedExpression 1301165 1301221 - BinaryExpression 1301167 1301220 - BinaryExpression 1301167 1301198 - Identifier 1301167 1301175 - ExclamationEqualsEqualsToken 1301175 1301179 - Identifier 1301179 1301198 - BarBarToken 1301198 1301201 - CallExpression 1301201 1301220 - Identifier 1301201 1301212 - Identifier 1301213 1301219 - AmpersandAmpersandToken 1301221 1301224 - PrefixUnaryExpression 1301224 1301293 - ParenthesizedExpression 1301247 1301293 - BinaryExpression 1301248 1301292 - Identifier 1301248 1301265 - AmpersandToken 1301265 1301267 - PropertyAccessExpression 1301267 1301292 - Identifier 1301267 1301285 - Identifier 1301286 1301292 - AmpersandAmpersandToken 1301293 1301296 - BinaryExpression 1301296 1301398 - PropertyAccessExpression 1301296 1301330 - Identifier 1301296 1301324 - Identifier 1301325 1301330 - AmpersandToken 1301330 1301332 - ParenthesizedExpression 1301332 1301398 - BinaryExpression 1301334 1301397 - BinaryExpression 1301334 1301372 - PropertyAccessExpression 1301334 1301353 - Identifier 1301334 1301343 - Identifier 1301344 1301353 - BarToken 1301353 1301355 - PropertyAccessExpression 1301355 1301372 - Identifier 1301355 1301365 - Identifier 1301366 1301372 - BarToken 1301372 1301374 - PropertyAccessExpression 1301374 1301397 - Identifier 1301374 1301384 - Identifier 1301385 1301397 - AmpersandAmpersandToken 1301398 1301401 - BinaryExpression 1301401 1301429 - Identifier 1301401 1301408 - ExclamationEqualsEqualsToken 1301408 1301412 - Identifier 1301412 1301429 - AmpersandAmpersandToken 1301429 1301432 - BinaryExpression 1301432 1301512 - PropertyAccessExpression 1301432 1301466 - Identifier 1301432 1301460 - Identifier 1301461 1301466 - AmpersandToken 1301466 1301468 - ParenthesizedExpression 1301468 1301512 - BinaryExpression 1301470 1301511 - PropertyAccessExpression 1301470 1301486 - Identifier 1301470 1301479 - Identifier 1301480 1301486 - BarToken 1301486 1301488 - PropertyAccessExpression 1301488 1301511 - Identifier 1301488 1301498 - Identifier 1301499 1301511 - AmpersandAmpersandToken 1301512 1301515 - CallExpression 1301515 1301534 - Identifier 1301515 1301526 - Identifier 1301527 1301533 - AmpersandAmpersandToken 1301534 1301537 - ParenthesizedExpression 1301537 1301643 - BinaryExpression 1301560 1301642 - BinaryExpression 1301560 1301598 - PropertyAccessExpression 1301560 1301594 - CallExpression 1301560 1301587 - Identifier 1301560 1301579 - Identifier 1301580 1301586 - Identifier 1301588 1301594 - GreaterThanToken 1301594 1301596 - NumericLiteral 1301596 1301598 - BarBarToken 1301598 1301601 - CallExpression 1301601 1301642 - Identifier 1301601 1301634 - Identifier 1301635 1301641 - VariableStatement 1301644 1301750 - VariableDeclarationList 1301644 1301749 - VariableDeclaration 1301667 1301749 - Identifier 1301667 1301692 - PrefixUnaryExpression 1301694 1301749 - PrefixUnaryExpression 1301696 1301749 - ParenthesizedExpression 1301697 1301749 - BinaryExpression 1301698 1301748 - CallExpression 1301698 1301720 - Identifier 1301698 1301712 - Identifier 1301713 1301719 - AmpersandToken 1301720 1301722 - PropertyAccessExpression 1301722 1301748 - Identifier 1301722 1301734 - Identifier 1301735 1301748 - IfStatement 1301750 1303168 - BinaryExpression 1301772 1301870 - Identifier 1301772 1301804 - AmpersandAmpersandToken 1301804 1301807 - PrefixUnaryExpression 1301807 1301870 - CallExpression 1301809 1301870 - Identifier 1301809 1301828 - Identifier 1301829 1301835 - Identifier 1301836 1301843 - Identifier 1301844 1301869 - Block 1301871 1303168 - IfStatement 1301873 1303106 - Identifier 1301899 1301911 - Block 1301912 1303106 - VariableStatement 1301914 1302028 - VariableDeclarationList 1301914 1302027 - VariableDeclaration 1301945 1302027 - Identifier 1301945 1301958 - CallExpression 1301960 1302027 - Identifier 1301960 1301973 - ConditionalExpression 1301974 1302026 - PropertyAccessExpression 1301974 1302000 - Identifier 1301974 1301988 - Identifier 1301989 1302000 - QuestionToken 1302000 1302002 - Identifier 1302002 1302017 - ColonToken 1302017 1302019 - Identifier 1302019 1302026 - VariableStatement 1302028 1302142 - VariableDeclarationList 1302028 1302141 - VariableDeclaration 1302059 1302141 - Identifier 1302059 1302072 - CallExpression 1302074 1302141 - Identifier 1302074 1302087 - ConditionalExpression 1302088 1302140 - PropertyAccessExpression 1302088 1302114 - Identifier 1302088 1302102 - Identifier 1302103 1302114 - QuestionToken 1302114 1302116 - Identifier 1302116 1302131 - ColonToken 1302131 1302133 - Identifier 1302133 1302140 - VariableStatement 1302142 1302230 - VariableDeclarationList 1302142 1302229 - VariableDeclaration 1302173 1302229 - Identifier 1302173 1302179 - CallExpression 1302181 1302229 - Identifier 1302181 1302201 - Identifier 1302202 1302208 - PropertyAccessExpression 1302209 1302228 - Identifier 1302209 1302223 - Identifier 1302224 1302228 - VariableStatement 1302230 1302328 - VariableDeclarationList 1302230 1302327 - VariableDeclaration 1302261 1302327 - Identifier 1302261 1302272 - CallExpression 1302274 1302327 - Identifier 1302274 1302294 - Identifier 1302295 1302301 - PropertyAccessExpression 1302302 1302326 - Identifier 1302302 1302316 - Identifier 1302317 1302326 - IfStatement 1302328 1303083 - BinaryExpression 1302358 1302675 - BinaryExpression 1302358 1302510 - BinaryExpression 1302358 1302404 - PropertyAccessExpression 1302358 1302400 - Identifier 1302358 1302393 - Identifier 1302394 1302400 - GreaterThanToken 1302400 1302402 - NumericLiteral 1302402 1302404 - AmpersandAmpersandToken 1302404 1302407 - CallExpression 1302407 1302510 - Identifier 1302407 1302419 - CallExpression 1302420 1302454 - Identifier 1302420 1302444 - ElementAccessExpression 1302445 1302453 - Identifier 1302445 1302450 - NumericLiteral 1302451 1302452 - Identifier 1302455 1302462 - PropertyAccessExpression 1302463 1302485 - Identifier 1302463 1302478 - Identifier 1302479 1302485 - FalseKeyword 1302486 1302509 - BarBarToken 1302510 1302513 - BinaryExpression 1302513 1302675 - BinaryExpression 1302513 1302564 - PropertyAccessExpression 1302513 1302560 - Identifier 1302513 1302553 - Identifier 1302554 1302560 - GreaterThanToken 1302560 1302562 - NumericLiteral 1302562 1302564 - AmpersandAmpersandToken 1302564 1302567 - CallExpression 1302567 1302675 - Identifier 1302567 1302579 - CallExpression 1302580 1302619 - Identifier 1302580 1302604 - ElementAccessExpression 1302605 1302618 - Identifier 1302605 1302615 - NumericLiteral 1302616 1302617 - Identifier 1302620 1302627 - PropertyAccessExpression 1302628 1302650 - Identifier 1302628 1302643 - Identifier 1302644 1302650 - FalseKeyword 1302651 1302674 - Block 1302702 1302894 - ExpressionStatement 1302704 1302867 - CallExpression 1302704 1302866 - Identifier 1302704 1302745 - PropertyAccessExpression 1302746 1302837 - Identifier 1302746 1302757 - Identifier 1302758 1302837 - Identifier 1302838 1302851 - Identifier 1302852 1302865 - Block 1302924 1303083 - ExpressionStatement 1302926 1303056 - CallExpression 1302926 1303055 - Identifier 1302926 1302967 - PropertyAccessExpression 1302968 1303026 - Identifier 1302968 1302979 - Identifier 1302980 1303026 - Identifier 1303027 1303040 - Identifier 1303041 1303054 - ReturnStatement 1303106 1303149 - PropertyAccessExpression 1303134 1303148 - Identifier 1303134 1303142 - Identifier 1303143 1303148 - ExpressionStatement 1303168 1303239 - CallExpression 1303168 1303238 - Identifier 1303168 1303222 - Identifier 1303223 1303229 - Identifier 1303230 1303237 - VariableStatement 1303239 1303542 - VariableDeclarationList 1303239 1303541 - VariableDeclaration 1303264 1303541 - Identifier 1303264 1303276 - BinaryExpression 1303278 1303541 - BinaryExpression 1303278 1303388 - BinaryExpression 1303278 1303351 - BinaryExpression 1303278 1303309 - PropertyAccessExpression 1303278 1303291 - Identifier 1303278 1303285 - Identifier 1303286 1303291 - AmpersandToken 1303291 1303293 - PropertyAccessExpression 1303293 1303309 - Identifier 1303293 1303303 - Identifier 1303304 1303309 - AmpersandAmpersandToken 1303309 1303312 - BinaryExpression 1303312 1303351 - PropertyAccessExpression 1303312 1303347 - PropertyAccessExpression 1303312 1303340 - ParenthesizedExpression 1303312 1303334 - AsExpression 1303314 1303333 - Identifier 1303314 1303320 - TypeReference 1303323 1303333 - Identifier 1303323 1303333 - Identifier 1303335 1303340 - Identifier 1303341 1303347 - LessThanToken 1303347 1303349 - NumericLiteral 1303349 1303351 - AmpersandAmpersandToken 1303351 1303354 - PrefixUnaryExpression 1303354 1303388 - ParenthesizedExpression 1303356 1303388 - BinaryExpression 1303357 1303387 - PropertyAccessExpression 1303357 1303369 - Identifier 1303357 1303363 - Identifier 1303364 1303369 - AmpersandToken 1303369 1303371 - PropertyAccessExpression 1303371 1303387 - Identifier 1303371 1303381 - Identifier 1303382 1303387 - BarBarToken 1303388 1303391 - BinaryExpression 1303391 1303541 - BinaryExpression 1303391 1303485 - BinaryExpression 1303391 1303443 - PropertyAccessExpression 1303391 1303425 - Identifier 1303391 1303419 - Identifier 1303420 1303425 - AmpersandToken 1303425 1303427 - PropertyAccessExpression 1303427 1303443 - Identifier 1303427 1303437 - Identifier 1303438 1303443 - AmpersandAmpersandToken 1303443 1303446 - BinaryExpression 1303446 1303485 - PropertyAccessExpression 1303446 1303481 - PropertyAccessExpression 1303446 1303474 - ParenthesizedExpression 1303446 1303468 - AsExpression 1303448 1303467 - Identifier 1303448 1303454 - TypeReference 1303457 1303467 - Identifier 1303457 1303467 - Identifier 1303469 1303474 - Identifier 1303475 1303481 - LessThanToken 1303481 1303483 - NumericLiteral 1303483 1303485 - AmpersandAmpersandToken 1303485 1303488 - PrefixUnaryExpression 1303488 1303541 - ParenthesizedExpression 1303490 1303541 - BinaryExpression 1303491 1303540 - PropertyAccessExpression 1303491 1303503 - Identifier 1303491 1303497 - Identifier 1303498 1303503 - AmpersandToken 1303503 1303505 - PropertyAccessExpression 1303505 1303540 - Identifier 1303505 1303515 - Identifier 1303516 1303540 - VariableStatement 1303542 1303799 - VariableDeclarationList 1303542 1303798 - VariableDeclaration 1303565 1303798 - Identifier 1303565 1303572 - ConditionalExpression 1303574 1303798 - Identifier 1303574 1303586 - QuestionToken 1303586 1303588 - CallExpression 1303588 1303687 - Identifier 1303588 1303638 - Identifier 1303639 1303645 - Identifier 1303646 1303653 - Identifier 1303654 1303667 - Identifier 1303668 1303686 - ColonToken 1303687 1303689 - CallExpression 1303689 1303798 - Identifier 1303689 1303733 - Identifier 1303734 1303740 - Identifier 1303741 1303748 - Identifier 1303749 1303762 - Identifier 1303763 1303781 - Identifier 1303782 1303797 - IfStatement 1303799 1303885 - Identifier 1303821 1303827 - Block 1303828 1303885 - ReturnStatement 1303830 1303866 - Identifier 1303858 1303865 - IfStatement 1303900 1304048 - Identifier 1303920 1303932 - Block 1303933 1304048 - ExpressionStatement 1303935 1304033 - CallExpression 1303935 1304032 - Identifier 1303935 1303971 - Identifier 1303972 1303986 - Identifier 1303987 1304002 - Identifier 1304003 1304010 - Identifier 1304011 1304018 - Identifier 1304019 1304031 - ReturnStatement 1304048 1304083 - PropertyAccessExpression 1304068 1304082 - Identifier 1304068 1304076 - Identifier 1304077 1304082 - FunctionDeclaration 1304094 1308425 - Identifier 1304114 1304133 - Parameter 1304134 1304154 - Identifier 1304134 1304148 - TypeReference 1304149 1304154 - Identifier 1304149 1304154 - Parameter 1304155 1304176 - Identifier 1304155 1304170 - TypeReference 1304171 1304176 - Identifier 1304171 1304176 - Parameter 1304177 1304190 - Identifier 1304177 1304184 - TypeReference 1304185 1304190 - Identifier 1304185 1304190 - Parameter 1304191 1304204 - Identifier 1304191 1304198 - TypeReference 1304199 1304204 - Identifier 1304199 1304204 - Parameter 1304205 1304248 - Identifier 1304205 1304217 - UnionType 1304218 1304248 - TypeReference 1304218 1304236 - Identifier 1304218 1304236 - UndefinedKeyword 1304238 1304248 - Block 1304249 1308425 - VariableStatement 1304251 1304342 - VariableDeclarationList 1304251 1304341 - VariableDeclaration 1304270 1304341 - Identifier 1304270 1304284 - PrefixUnaryExpression 1304286 1304341 - PrefixUnaryExpression 1304288 1304341 - CallExpression 1304289 1304341 - Identifier 1304289 1304325 - Identifier 1304326 1304340 - VariableStatement 1304342 1304433 - VariableDeclarationList 1304342 1304432 - VariableDeclaration 1304361 1304432 - Identifier 1304361 1304375 - PrefixUnaryExpression 1304377 1304432 - PrefixUnaryExpression 1304379 1304432 - CallExpression 1304380 1304432 - Identifier 1304380 1304416 - Identifier 1304417 1304431 - ExpressionStatement 1304433 1304528 - BinaryExpression 1304433 1304527 - Identifier 1304433 1304453 - EqualsToken 1304453 1304455 - ConditionalExpression 1304455 1304527 - ParenthesizedExpression 1304455 1304501 - BinaryExpression 1304457 1304500 - PropertyAccessExpression 1304457 1304483 - Identifier 1304457 1304471 - Identifier 1304472 1304483 - BarBarToken 1304483 1304486 - Identifier 1304486 1304500 - QuestionToken 1304501 1304503 - Identifier 1304503 1304518 - ColonToken 1304518 1304520 - Identifier 1304520 1304527 - ExpressionStatement 1304528 1304623 - BinaryExpression 1304528 1304622 - Identifier 1304528 1304548 - EqualsToken 1304548 1304550 - ConditionalExpression 1304550 1304622 - ParenthesizedExpression 1304550 1304596 - BinaryExpression 1304552 1304595 - PropertyAccessExpression 1304552 1304578 - Identifier 1304552 1304566 - Identifier 1304567 1304578 - BarBarToken 1304578 1304581 - Identifier 1304581 1304595 - QuestionToken 1304596 1304598 - Identifier 1304598 1304613 - ColonToken 1304613 1304615 - Identifier 1304615 1304622 - VariableStatement 1304623 1304683 - VariableDeclarationList 1304623 1304682 - VariableDeclaration 1304640 1304682 - Identifier 1304640 1304654 - BinaryExpression 1304656 1304682 - Identifier 1304656 1304678 - GreaterThanToken 1304678 1304680 - NumericLiteral 1304680 1304682 - IfStatement 1304683 1304774 - Identifier 1304701 1304714 - Block 1304715 1304774 - ExpressionStatement 1304717 1304759 - PostfixUnaryExpression 1304717 1304758 - Identifier 1304717 1304756 - IfStatement 1304774 1305130 - BinaryExpression 1304792 1304858 - BinaryExpression 1304792 1304823 - PropertyAccessExpression 1304792 1304804 - Identifier 1304792 1304798 - Identifier 1304799 1304804 - AmpersandToken 1304804 1304806 - PropertyAccessExpression 1304806 1304823 - Identifier 1304806 1304816 - Identifier 1304817 1304823 - AmpersandAmpersandToken 1304823 1304826 - BinaryExpression 1304826 1304858 - PropertyAccessExpression 1304826 1304839 - Identifier 1304826 1304833 - Identifier 1304834 1304839 - AmpersandToken 1304839 1304841 - PropertyAccessExpression 1304841 1304858 - Identifier 1304841 1304851 - Identifier 1304852 1304858 - Block 1304859 1305130 - VariableStatement 1304861 1304910 - VariableDeclarationList 1304861 1304909 - VariableDeclaration 1304884 1304909 - Identifier 1304884 1304897 - Identifier 1304899 1304909 - ExpressionStatement 1304910 1304995 - CallExpression 1304910 1304994 - Identifier 1304910 1304955 - Identifier 1304956 1304962 - Identifier 1304963 1304970 - TrueKeyword 1304971 1304993 - IfStatement 1304995 1305115 - BinaryExpression 1305017 1305043 - Identifier 1305017 1305026 - ExclamationEqualsEqualsToken 1305026 1305030 - Identifier 1305030 1305043 - Block 1305044 1305115 - ExpressionStatement 1305046 1305096 - BinaryExpression 1305046 1305095 - Identifier 1305046 1305081 - EqualsToken 1305081 1305083 - PrefixUnaryExpression 1305083 1305095 - PrefixUnaryExpression 1305085 1305095 - Identifier 1305086 1305095 - IfStatement 1305130 1306455 - BinaryExpression 1305148 1305217 - BinaryExpression 1305148 1305179 - PropertyAccessExpression 1305148 1305160 - Identifier 1305148 1305154 - Identifier 1305155 1305160 - AmpersandToken 1305160 1305162 - PropertyAccessExpression 1305162 1305179 - Identifier 1305162 1305172 - Identifier 1305173 1305179 - AmpersandAmpersandToken 1305179 1305182 - BinaryExpression 1305182 1305217 - PropertyAccessExpression 1305182 1305195 - Identifier 1305182 1305189 - Identifier 1305190 1305195 - AmpersandToken 1305195 1305197 - PropertyAccessExpression 1305197 1305217 - Identifier 1305197 1305207 - Identifier 1305208 1305217 - Block 1305218 1305311 - ExpressionStatement 1305220 1305296 - CallExpression 1305220 1305295 - Identifier 1305220 1305279 - Identifier 1305280 1305286 - Identifier 1305287 1305294 - IfStatement 1305329 1306455 - BinaryExpression 1305334 1305413 - BinaryExpression 1305334 1305382 - PropertyAccessExpression 1305334 1305347 - Identifier 1305334 1305340 - Identifier 1305341 1305347 - AmpersandAmpersandToken 1305347 1305350 - BinaryExpression 1305350 1305382 - PropertyAccessExpression 1305350 1305363 - Identifier 1305350 1305357 - Identifier 1305358 1305363 - AmpersandToken 1305363 1305365 - PropertyAccessExpression 1305365 1305382 - Identifier 1305365 1305375 - Identifier 1305376 1305382 - AmpersandAmpersandToken 1305382 1305385 - BinaryExpression 1305385 1305413 - Identifier 1305385 1305402 - EqualsEqualsEqualsToken 1305402 1305406 - Identifier 1305406 1305413 - Block 1305414 1305569 - ExpressionStatement 1305416 1305554 - CallExpression 1305416 1305553 - Identifier 1305416 1305445 - PropertyAccessExpression 1305446 1305552 - Identifier 1305446 1305457 - Identifier 1305458 1305552 - IfStatement 1305587 1306455 - BinaryExpression 1305592 1305683 - BinaryExpression 1305592 1305642 - CallExpression 1305592 1305614 - Identifier 1305592 1305606 - Identifier 1305607 1305613 - AmpersandToken 1305614 1305616 - PropertyAccessExpression 1305616 1305642 - Identifier 1305616 1305628 - Identifier 1305629 1305642 - AmpersandAmpersandToken 1305642 1305645 - BinaryExpression 1305645 1305683 - PropertyAccessExpression 1305645 1305658 - Identifier 1305645 1305652 - Identifier 1305653 1305658 - AmpersandToken 1305658 1305660 - PropertyAccessExpression 1305660 1305683 - Identifier 1305660 1305670 - Identifier 1305671 1305683 - Block 1305684 1306336 - VariableStatement 1305686 1305759 - VariableDeclarationList 1305686 1305758 - VariableDeclaration 1305709 1305758 - Identifier 1305709 1305721 - PropertyAccessExpression 1305723 1305758 - ParenthesizedExpression 1305723 1305752 - AsExpression 1305725 1305751 - Identifier 1305725 1305731 - TypeReference 1305734 1305751 - Identifier 1305734 1305751 - Identifier 1305753 1305758 - VariableStatement 1305759 1305857 - VariableDeclarationList 1305759 1305856 - VariableDeclaration 1305782 1305856 - Identifier 1305782 1305802 - CallExpression 1305804 1305856 - Identifier 1305804 1305815 - PropertyAccessExpression 1305816 1305844 - Identifier 1305816 1305824 - Identifier 1305825 1305844 - Identifier 1305845 1305855 - VariableStatement 1305857 1305965 - VariableDeclarationList 1305857 1305964 - VariableDeclaration 1305880 1305964 - Identifier 1305880 1305905 - CallExpression 1305907 1305964 - Identifier 1305907 1305918 - PropertyAccessExpression 1305919 1305952 - Identifier 1305919 1305927 - Identifier 1305928 1305952 - Identifier 1305953 1305963 - IfStatement 1305965 1306321 - BinaryExpression 1305987 1306204 - BinaryExpression 1305987 1306084 - PrefixUnaryExpression 1305987 1306042 - CallExpression 1306010 1306042 - Identifier 1306010 1306021 - Identifier 1306022 1306041 - AmpersandAmpersandToken 1306042 1306045 - PrefixUnaryExpression 1306045 1306084 - CallExpression 1306047 1306084 - Identifier 1306047 1306058 - Identifier 1306059 1306083 - AmpersandAmpersandToken 1306084 1306087 - ParenthesizedExpression 1306087 1306204 - BinaryExpression 1306110 1306203 - CallExpression 1306110 1306152 - Identifier 1306110 1306118 - Identifier 1306119 1306130 - Identifier 1306131 1306151 - BarBarToken 1306152 1306155 - CallExpression 1306155 1306203 - Identifier 1306155 1306164 - Identifier 1306165 1306176 - Identifier 1306177 1306202 - Block 1306223 1306321 - ReturnStatement 1306225 1306302 - Block 1306354 1306455 - ExpressionStatement 1306356 1306440 - BinaryExpression 1306356 1306439 - Identifier 1306356 1306383 - EqualsToken 1306383 1306385 - CallExpression 1306385 1306439 - Identifier 1306385 1306412 - Identifier 1306413 1306422 - Identifier 1306423 1306438 - IfStatement 1306455 1307609 - BinaryExpression 1306590 1306619 - PrefixUnaryExpression 1306590 1306602 - Identifier 1306591 1306602 - AmpersandAmpersandToken 1306602 1306605 - Identifier 1306605 1306619 - Block 1306620 1307609 - VariableStatement 1306622 1307050 - VariableDeclarationList 1306622 1307049 - VariableDeclaration 1307000 1307049 - Identifier 1307000 1307016 - CallExpression 1307018 1307049 - Identifier 1307018 1307047 - ExpressionStatement 1307050 1307117 - CallExpression 1307050 1307116 - Identifier 1307050 1307087 - Identifier 1307088 1307099 - Identifier 1307100 1307107 - Identifier 1307108 1307115 - VariableStatement 1307117 1307149 - VariableDeclarationList 1307117 1307148 - VariableDeclaration 1307138 1307148 - Identifier 1307138 1307148 - IfStatement 1307149 1307340 - BinaryExpression 1307171 1307223 - Identifier 1307171 1307180 - AmpersandAmpersandToken 1307180 1307183 - BinaryExpression 1307183 1307223 - Identifier 1307183 1307193 - ExclamationEqualsEqualsToken 1307193 1307197 - PropertyAccessExpression 1307197 1307223 - Identifier 1307197 1307213 - Identifier 1307214 1307223 - Block 1307224 1307340 - ExpressionStatement 1307226 1307321 - BinaryExpression 1307226 1307320 - Identifier 1307226 1307257 - EqualsToken 1307257 1307259 - ObjectLiteralExpression 1307259 1307320 - PropertyAssignment 1307261 1307282 - Identifier 1307261 1307266 - PropertyAccessExpression 1307267 1307282 - Identifier 1307267 1307277 - Identifier 1307278 1307282 - PropertyAssignment 1307283 1307318 - Identifier 1307283 1307295 - PropertyAccessExpression 1307296 1307318 - Identifier 1307296 1307306 - Identifier 1307307 1307318 - ExpressionStatement 1307340 1307390 - CallExpression 1307340 1307389 - Identifier 1307340 1307372 - Identifier 1307373 1307388 - IfStatement 1307390 1307514 - BinaryExpression 1307412 1307434 - Identifier 1307412 1307421 - AmpersandAmpersandToken 1307421 1307424 - Identifier 1307424 1307434 - Block 1307435 1307514 - ExpressionStatement 1307437 1307495 - BinaryExpression 1307437 1307494 - PropertyAccessExpression 1307437 1307482 - Identifier 1307437 1307468 - Identifier 1307469 1307482 - EqualsToken 1307482 1307484 - Identifier 1307484 1307494 - ExpressionStatement 1307514 1307569 - BinaryExpression 1307514 1307568 - Identifier 1307514 1307549 - EqualsToken 1307549 1307551 - ArrayLiteralExpression 1307551 1307568 - Identifier 1307553 1307559 - Identifier 1307560 1307567 - ReturnStatement 1307569 1307594 - ExpressionStatement 1307609 1307672 - CallExpression 1307609 1307671 - Identifier 1307609 1307642 - Identifier 1307643 1307654 - Identifier 1307655 1307662 - Identifier 1307663 1307670 - IfStatement 1307672 1308414 - BinaryExpression 1307690 1307812 - BinaryExpression 1307690 1307764 - BinaryExpression 1307690 1307728 - PropertyAccessExpression 1307690 1307702 - Identifier 1307690 1307696 - Identifier 1307697 1307702 - AmpersandToken 1307702 1307704 - PropertyAccessExpression 1307704 1307728 - Identifier 1307704 1307714 - Identifier 1307715 1307728 - AmpersandAmpersandToken 1307728 1307731 - ElementAccessExpression 1307731 1307764 - PropertyAccessExpression 1307731 1307759 - PropertyAccessExpression 1307731 1307745 - Identifier 1307731 1307738 - Identifier 1307739 1307745 - QuestionDotToken 1307745 1307747 - Identifier 1307747 1307759 - QuestionDotToken 1307759 1307761 - NumericLiteral 1307762 1307763 - AmpersandAmpersandToken 1307764 1307767 - PrefixUnaryExpression 1307767 1307812 - CallExpression 1307769 1307812 - Identifier 1307769 1307788 - AsExpression 1307789 1307811 - Identifier 1307789 1307795 - TypeReference 1307798 1307811 - Identifier 1307798 1307811 - Block 1307813 1308414 - VariableStatement 1307815 1307900 - VariableDeclarationList 1307815 1307899 - VariableDeclaration 1307838 1307899 - Identifier 1307838 1307853 - CallExpression 1307855 1307899 - Identifier 1307855 1307874 - AsExpression 1307875 1307898 - Identifier 1307875 1307881 - TypeReference 1307884 1307898 - Identifier 1307884 1307898 - ExpressionStatement 1307900 1308015 - BinaryExpression 1307900 1308014 - PropertyAccessExpression 1307900 1307943 - Identifier 1307900 1307932 - Identifier 1307933 1307943 - EqualsToken 1307943 1307945 - CallExpression 1307945 1308014 - Identifier 1307945 1307961 - Identifier 1307962 1307968 - CallExpression 1307969 1308013 - Identifier 1307969 1307989 - Identifier 1307990 1307996 - Identifier 1307997 1308012 - IfStatement 1308015 1308399 - CallExpression 1308037 1308081 - Identifier 1308037 1308065 - Identifier 1308066 1308080 - Block 1308082 1308399 - VariableStatement 1308084 1308189 - VariableDeclarationList 1308084 1308188 - VariableDeclaration 1308111 1308188 - Identifier 1308111 1308134 - CallExpression 1308136 1308188 - Identifier 1308136 1308149 - Identifier 1308150 1308156 - ElementAccessExpression 1308157 1308187 - PropertyAccessExpression 1308157 1308184 - PropertyAccessExpression 1308157 1308171 - Identifier 1308157 1308164 - Identifier 1308165 1308171 - Identifier 1308172 1308184 - NumericLiteral 1308185 1308186 - ExpressionStatement 1308189 1308380 - CallExpression 1308189 1308379 - Identifier 1308189 1308231 - CallExpression 1308232 1308378 - Identifier 1308232 1308255 - ElementAccessExpression 1308256 1308285 - PropertyAccessExpression 1308256 1308282 - PropertyAccessExpression 1308256 1308269 - Identifier 1308256 1308262 - Identifier 1308263 1308269 - Identifier 1308270 1308282 - NumericLiteral 1308283 1308284 - PropertyAccessExpression 1308286 1308353 - Identifier 1308286 1308298 - Identifier 1308299 1308353 - Identifier 1308354 1308377 - FunctionDeclaration 1308425 1309782 - Identifier 1308445 1308480 - Parameter 1308481 1308493 - Identifier 1308481 1308487 - TypeReference 1308488 1308493 - Identifier 1308488 1308493 - Parameter 1308494 1308507 - Identifier 1308494 1308501 - TypeReference 1308502 1308507 - Identifier 1308502 1308507 - VoidKeyword 1308509 1308514 - Block 1308514 1309782 - IfStatement 1308516 1308585 - PrefixUnaryExpression 1308534 1308542 - Identifier 1308535 1308542 - Block 1308543 1308585 - ReturnStatement 1308545 1308570 - IfStatement 1308585 1309771 - BinaryExpression 1308605 1308701 - ParenthesizedExpression 1308605 1308651 - BinaryExpression 1308606 1308650 - PropertyAccessExpression 1308606 1308618 - Identifier 1308606 1308612 - Identifier 1308613 1308618 - AmpersandToken 1308618 1308620 - PropertyAccessExpression 1308620 1308650 - Identifier 1308620 1308630 - Identifier 1308631 1308650 - AmpersandAmpersandToken 1308651 1308654 - ParenthesizedExpression 1308654 1308701 - BinaryExpression 1308656 1308700 - PropertyAccessExpression 1308656 1308668 - Identifier 1308656 1308662 - Identifier 1308663 1308668 - AmpersandToken 1308668 1308670 - PropertyAccessExpression 1308670 1308700 - Identifier 1308670 1308680 - Identifier 1308681 1308700 - Block 1308702 1309771 - VariableStatement 1308704 1308790 - VariableDeclarationList 1308704 1308789 - VariableDeclaration 1308727 1308789 - Identifier 1308727 1308753 - AsExpression 1308755 1308789 - Identifier 1308755 1308762 - TypeReference 1308765 1308789 - Identifier 1308765 1308789 - VariableStatement 1308790 1308876 - VariableDeclarationList 1308790 1308875 - VariableDeclaration 1308813 1308875 - Identifier 1308813 1308839 - AsExpression 1308841 1308875 - Identifier 1308841 1308848 - TypeReference 1308851 1308875 - Identifier 1308851 1308875 - IfStatement 1308876 1309132 - BinaryExpression 1308900 1309006 - BinaryExpression 1308900 1308977 - PropertyAccessExpression 1308900 1308937 - Identifier 1308900 1308925 - Identifier 1308926 1308937 - AmpersandToken 1308937 1308939 - PropertyAccessExpression 1308939 1308977 - Identifier 1308939 1308965 - Identifier 1308966 1308977 - AmpersandToken 1308977 1308979 - PropertyAccessExpression 1308979 1309006 - Identifier 1308979 1308991 - Identifier 1308992 1309006 - Block 1309007 1309132 - ReturnStatement 1309009 1309113 - VariableStatement 1309132 1309210 - VariableDeclarationList 1309132 1309209 - VariableDeclaration 1309157 1309209 - Identifier 1309157 1309168 - PropertyAccessExpression 1309170 1309209 - PropertyAccessExpression 1309170 1309202 - Identifier 1309170 1309196 - Identifier 1309197 1309202 - Identifier 1309203 1309209 - VariableStatement 1309210 1309286 - VariableDeclarationList 1309210 1309285 - VariableDeclaration 1309233 1309285 - Identifier 1309233 1309244 - PropertyAccessExpression 1309246 1309285 - PropertyAccessExpression 1309246 1309278 - Identifier 1309246 1309272 - Identifier 1309273 1309278 - Identifier 1309279 1309285 - IfStatement 1309286 1309756 - BinaryExpression 1309308 1309337 - BinaryExpression 1309308 1309331 - Identifier 1309308 1309318 - AsteriskToken 1309318 1309320 - Identifier 1309320 1309331 - GreaterThanToken 1309331 1309333 - NumericLiteral 1309333 1309337 - Block 1309338 1309756 - ExpressionStatement 1309340 1309737 - CallExpression 1309340 1309736 - PropertyAccessExpression 1309340 1309377 - Identifier 1309340 1309369 - Identifier 1309370 1309377 - PropertyAccessExpression 1309378 1309402 - PropertyAccessExpression 1309378 1309391 - Identifier 1309378 1309385 - Identifier 1309386 1309391 - Identifier 1309392 1309402 - StringLiteral 1309403 1309451 - ObjectLiteralExpression 1309452 1309735 - PropertyAssignment 1309454 1309499 - Identifier 1309454 1309488 - PropertyAccessExpression 1309489 1309499 - Identifier 1309489 1309496 - Identifier 1309497 1309499 - ShorthandPropertyAssignment 1309500 1309536 - Identifier 1309500 1309536 - PropertyAssignment 1309537 1309582 - Identifier 1309537 1309571 - PropertyAccessExpression 1309572 1309582 - Identifier 1309572 1309579 - Identifier 1309580 1309582 - ShorthandPropertyAssignment 1309583 1309619 - Identifier 1309583 1309619 - PropertyAssignment 1309620 1309665 - Identifier 1309620 1309649 - PropertyAccessExpression 1309650 1309665 - Identifier 1309650 1309660 - QuestionDotToken 1309660 1309662 - Identifier 1309662 1309665 - PropertyAssignment 1309666 1309711 - Identifier 1309666 1309695 - PropertyAccessExpression 1309696 1309711 - Identifier 1309696 1309706 - QuestionDotToken 1309706 1309708 - Identifier 1309708 1309711 - FunctionDeclaration 1309782 1310501 - Identifier 1309802 1309827 - Parameter 1309828 1309841 - Identifier 1309828 1309833 - ArrayType 1309834 1309841 - TypeReference 1309834 1309839 - Identifier 1309834 1309839 - Parameter 1309842 1309857 - Identifier 1309842 1309847 - TypeReference 1309848 1309857 - Identifier 1309848 1309857 - Block 1309858 1310501 - VariableStatement 1309860 1310384 - VariableDeclarationList 1309860 1310383 - VariableDeclaration 1309879 1310383 - Identifier 1309879 1309894 - ArrowFunction 1309896 1310383 - Parameter 1309898 1309927 - Identifier 1309898 1309907 - UnionType 1309908 1309927 - ArrayType 1309908 1309915 - TypeReference 1309908 1309913 - Identifier 1309908 1309913 - UndefinedKeyword 1309917 1309927 - Parameter 1309928 1309939 - Identifier 1309928 1309933 - TypeReference 1309934 1309939 - Identifier 1309934 1309939 - EqualsGreaterThanToken 1309940 1309943 - Block 1309943 1310383 - ExpressionStatement 1309945 1309992 - BinaryExpression 1309945 1309991 - Identifier 1309945 1309967 - EqualsToken 1309967 1309969 - CallExpression 1309969 1309991 - Identifier 1309969 1309985 - Identifier 1309986 1309990 - VariableStatement 1309992 1310182 - VariableDeclarationList 1309992 1310181 - VariableDeclaration 1310015 1310181 - Identifier 1310015 1310020 - ConditionalExpression 1310022 1310181 - BinaryExpression 1310022 1310065 - PropertyAccessExpression 1310022 1310033 - Identifier 1310022 1310027 - Identifier 1310028 1310033 - AmpersandToken 1310033 1310035 - PropertyAccessExpression 1310035 1310065 - Identifier 1310035 1310045 - Identifier 1310046 1310065 - QuestionToken 1310065 1310067 - CallExpression 1310067 1310143 - Identifier 1310067 1310104 - AsExpression 1310105 1310136 - Identifier 1310105 1310109 - TypeReference 1310112 1310136 - Identifier 1310112 1310136 - Identifier 1310137 1310142 - ColonToken 1310143 1310145 - CallExpression 1310145 1310181 - Identifier 1310145 1310169 - Identifier 1310170 1310174 - Identifier 1310175 1310180 - VariableStatement 1310182 1310315 - VariableDeclarationList 1310182 1310314 - VariableDeclaration 1310205 1310314 - Identifier 1310205 1310214 - BinaryExpression 1310216 1310314 - BinaryExpression 1310216 1310297 - BinaryExpression 1310216 1310246 - Identifier 1310216 1310221 - AmpersandAmpersandToken 1310221 1310224 - CallExpression 1310224 1310246 - Identifier 1310224 1310240 - Identifier 1310241 1310245 - BarBarToken 1310246 1310249 - PropertyAccessExpression 1310249 1310297 - CallExpression 1310249 1310291 - Identifier 1310249 1310279 - Identifier 1310280 1310284 - Identifier 1310285 1310290 - QuestionDotToken 1310291 1310293 - Identifier 1310293 1310297 - BarBarToken 1310297 1310300 - Identifier 1310300 1310314 - ReturnStatement 1310315 1310368 - CallExpression 1310339 1310367 - Identifier 1310339 1310346 - Identifier 1310347 1310356 - Identifier 1310357 1310366 - ReturnStatement 1310384 1310490 - CallExpression 1310404 1310489 - Identifier 1310404 1310417 - BinaryExpression 1310418 1310488 - CallExpression 1310418 1310474 - Identifier 1310418 1310428 - Identifier 1310429 1310434 - Identifier 1310435 1310450 - Identifier 1310451 1310473 - BarBarToken 1310474 1310477 - Identifier 1310477 1310488 - FunctionDeclaration 1310501 1316932 - Identifier 1310521 1310541 - Parameter 1310542 1310572 - Identifier 1310542 1310548 - TypeReference 1310549 1310572 - Identifier 1310549 1310572 - Parameter 1310573 1310586 - Identifier 1310573 1310580 - TypeReference 1310581 1310586 - Identifier 1310581 1310586 - Parameter 1310587 1310609 - Identifier 1310587 1310600 - BooleanKeyword 1310601 1310609 - BooleanKeyword 1310611 1310619 - Block 1310619 1316932 - IfStatement 1310621 1310926 - BinaryExpression 1310639 1310743 - PrefixUnaryExpression 1310639 1310675 - CallExpression 1310640 1310675 - Identifier 1310640 1310667 - Identifier 1310668 1310674 - BarBarToken 1310675 1310678 - BinaryExpression 1310678 1310743 - PrefixUnaryExpression 1310678 1310693 - Identifier 1310680 1310693 - AmpersandAmpersandToken 1310693 1310696 - BinaryExpression 1310696 1310743 - CallExpression 1310696 1310719 - Identifier 1310696 1310711 - Identifier 1310712 1310718 - AmpersandToken 1310719 1310721 - PropertyAccessExpression 1310721 1310743 - Identifier 1310721 1310733 - Identifier 1310734 1310743 - Block 1310744 1310926 - ReturnStatement 1310746 1310777 - FalseKeyword 1310770 1310776 - VariableStatement 1310926 1311028 - VariableDeclarationList 1310926 1311027 - VariableDeclaration 1310945 1311027 - Identifier 1310945 1310970 - PrefixUnaryExpression 1310972 1311027 - PrefixUnaryExpression 1310974 1311027 - ParenthesizedExpression 1310975 1311027 - BinaryExpression 1310976 1311026 - CallExpression 1310976 1310998 - Identifier 1310976 1310990 - Identifier 1310991 1310997 - AmpersandToken 1310998 1311000 - PropertyAccessExpression 1311000 1311026 - Identifier 1311000 1311012 - Identifier 1311013 1311026 - IfStatement 1311028 1311318 - BinaryExpression 1311046 1311255 - ParenthesizedExpression 1311046 1311132 - BinaryExpression 1311065 1311131 - BinaryExpression 1311065 1311096 - Identifier 1311065 1311073 - EqualsEqualsEqualsToken 1311073 1311077 - Identifier 1311077 1311096 - BarBarToken 1311096 1311099 - BinaryExpression 1311099 1311131 - Identifier 1311099 1311108 - EqualsEqualsEqualsToken 1311108 1311112 - Identifier 1311112 1311131 - AmpersandAmpersandToken 1311132 1311135 - ParenthesizedExpression 1311135 1311255 - BinaryExpression 1311154 1311254 - CallExpression 1311154 1311194 - Identifier 1311154 1311168 - Identifier 1311169 1311185 - Identifier 1311186 1311193 - BarBarToken 1311194 1311197 - ParenthesizedExpression 1311197 1311254 - BinaryExpression 1311199 1311253 - PrefixUnaryExpression 1311199 1311224 - Identifier 1311200 1311224 - AmpersandAmpersandToken 1311224 1311227 - CallExpression 1311227 1311253 - Identifier 1311227 1311245 - Identifier 1311246 1311252 - Block 1311270 1311318 - ReturnStatement 1311272 1311303 - FalseKeyword 1311296 1311302 - VariableStatement 1311318 1311359 - VariableDeclarationList 1311318 1311358 - VariableDeclaration 1311335 1311358 - Identifier 1311335 1311349 - Identifier 1311351 1311358 - VariableStatement 1311359 1311408 - VariableDeclarationList 1311359 1311407 - VariableDeclaration 1311376 1311407 - Identifier 1311376 1311387 - UnionType 1311388 1311407 - ArrayType 1311388 1311395 - TypeReference 1311388 1311393 - Identifier 1311388 1311393 - UndefinedKeyword 1311397 1311407 - IfStatement 1311408 1311766 - BinaryExpression 1311426 1311456 - PropertyAccessExpression 1311426 1311438 - Identifier 1311426 1311432 - Identifier 1311433 1311438 - AmpersandToken 1311438 1311440 - PropertyAccessExpression 1311440 1311456 - Identifier 1311440 1311450 - Identifier 1311451 1311456 - Block 1311457 1311766 - ExpressionStatement 1311459 1311627 - BinaryExpression 1311459 1311626 - Identifier 1311459 1311490 - EqualsToken 1311490 1311492 - BinaryExpression 1311492 1311626 - CallExpression 1311492 1311563 - Identifier 1311492 1311521 - Identifier 1311522 1311528 - AsExpression 1311529 1311549 - Identifier 1311529 1311536 - TypeReference 1311539 1311549 - Identifier 1311539 1311549 - Identifier 1311550 1311562 - BarBarToken 1311563 1311566 - CallExpression 1311566 1311626 - Identifier 1311566 1311605 - AsExpression 1311606 1311625 - Identifier 1311606 1311612 - TypeReference 1311615 1311625 - Identifier 1311615 1311625 - ExpressionStatement 1311627 1311751 - BinaryExpression 1311627 1311750 - Identifier 1311627 1311655 - EqualsToken 1311655 1311657 - ConditionalExpression 1311657 1311750 - BinaryExpression 1311657 1311695 - PropertyAccessExpression 1311657 1311677 - Identifier 1311657 1311671 - Identifier 1311672 1311677 - AmpersandToken 1311677 1311679 - PropertyAccessExpression 1311679 1311695 - Identifier 1311679 1311689 - Identifier 1311690 1311695 - QuestionToken 1311695 1311697 - PropertyAccessExpression 1311697 1311732 - ParenthesizedExpression 1311697 1311726 - AsExpression 1311699 1311725 - Identifier 1311699 1311712 - TypeReference 1311715 1311725 - Identifier 1311715 1311725 - Identifier 1311727 1311732 - ColonToken 1311732 1311734 - ArrayLiteralExpression 1311734 1311750 - Identifier 1311736 1311749 - ForOfStatement 1311766 1316894 - VariableDeclarationList 1311785 1311795 - VariableDeclaration 1311790 1311795 - Identifier 1311790 1311795 - CallExpression 1311798 1311826 - Identifier 1311798 1311818 - Identifier 1311819 1311825 - Block 1311827 1316894 - IfStatement 1311829 1316879 - BinaryExpression 1311851 1311938 - CallExpression 1311851 1311899 - Identifier 1311851 1311878 - Identifier 1311879 1311883 - PropertyAccessExpression 1311884 1311898 - Identifier 1311884 1311891 - Identifier 1311892 1311898 - AmpersandAmpersandToken 1311899 1311902 - PrefixUnaryExpression 1311902 1311938 - CallExpression 1311904 1311938 - Identifier 1311904 1311924 - Identifier 1311925 1311931 - Identifier 1311932 1311937 - Block 1311939 1316879 - IfStatement 1311941 1316432 - PrefixUnaryExpression 1311967 1312042 - CallExpression 1311968 1312042 - Identifier 1311968 1311983 - Identifier 1311984 1311997 - PropertyAccessExpression 1311998 1312015 - Identifier 1311998 1312003 - Identifier 1312004 1312015 - Identifier 1312016 1312041 - Block 1312043 1316432 - IfStatement 1312045 1316371 - Identifier 1312075 1312087 - Block 1312088 1316371 - VariableStatement 1312090 1312367 - VariableDeclarationList 1312090 1312366 - VariableDeclaration 1312297 1312366 - Identifier 1312297 1312309 - CallExpression 1312311 1312366 - Identifier 1312311 1312322 - Identifier 1312323 1312336 - Identifier 1312337 1312365 - IfStatement 1312367 1312698 - PrefixUnaryExpression 1312666 1312676 - Identifier 1312667 1312676 - ReturnStatement 1312677 1312698 - CallExpression 1312684 1312697 - PropertyAccessExpression 1312684 1312695 - Identifier 1312684 1312690 - Identifier 1312691 1312695 - IfStatement 1312698 1316344 - BinaryExpression 1312732 1312841 - BinaryExpression 1312732 1312796 - CallExpression 1312732 1312758 - Identifier 1312732 1312747 - Identifier 1312748 1312757 - BarBarToken 1312758 1312761 - CallExpression 1312761 1312796 - Identifier 1312761 1312785 - Identifier 1312786 1312795 - BarBarToken 1312796 1312799 - CallExpression 1312799 1312841 - Identifier 1312799 1312823 - PropertyAccessExpression 1312824 1312840 - Identifier 1312824 1312833 - Identifier 1312834 1312840 - Block 1312842 1314504 - IfStatement 1312844 1313697 - BinaryExpression 1313177 1313325 - BinaryExpression 1313177 1313239 - PropertyAccessExpression 1313177 1313198 - Identifier 1313177 1313181 - Identifier 1313182 1313198 - AmpersandAmpersandToken 1313198 1313201 - CallExpression 1313201 1313239 - Identifier 1313201 1313216 - PropertyAccessExpression 1313217 1313238 - Identifier 1313217 1313221 - Identifier 1313222 1313238 - AmpersandAmpersandToken 1313239 1313242 - BinaryExpression 1313242 1313325 - CallExpression 1313242 1313273 - Identifier 1313242 1313262 - Identifier 1313263 1313272 - EqualsEqualsEqualsToken 1313273 1313277 - CallExpression 1313277 1313325 - Identifier 1313277 1313297 - PropertyAccessExpression 1313298 1313324 - PropertyAccessExpression 1313298 1313319 - Identifier 1313298 1313302 - Identifier 1313303 1313319 - Identifier 1313320 1313324 - Block 1313326 1313697 - ExpressionStatement 1313328 1313662 - BinaryExpression 1313328 1313661 - Identifier 1313328 1313632 - EqualsToken 1313632 1313634 - PropertyAccessExpression 1313634 1313661 - PropertyAccessExpression 1313634 1313656 - Identifier 1313634 1313639 - Identifier 1313640 1313656 - Identifier 1313657 1313661 - VariableStatement 1313697 1313769 - VariableDeclarationList 1313697 1313768 - VariableDeclaration 1313736 1313768 - Identifier 1313736 1313745 - CallExpression 1313747 1313768 - Identifier 1313747 1313762 - Identifier 1313763 1313767 - VariableStatement 1313769 1313896 - VariableDeclarationList 1313769 1313895 - VariableDeclaration 1313808 1313895 - Identifier 1313808 1313825 - CallExpression 1313827 1313895 - Identifier 1313827 1313872 - Identifier 1313873 1313881 - Identifier 1313882 1313894 - VariableStatement 1313896 1314013 - VariableDeclarationList 1313896 1314012 - VariableDeclaration 1313935 1314012 - Identifier 1313935 1313946 - ConditionalExpression 1313948 1314012 - Identifier 1313948 1313965 - QuestionToken 1313965 1313967 - CallExpression 1313967 1314000 - Identifier 1313967 1313982 - Identifier 1313983 1313999 - ColonToken 1314000 1314002 - Identifier 1314002 1314012 - IfStatement 1314013 1314473 - Identifier 1314051 1314061 - Block 1314062 1314262 - ExpressionStatement 1314064 1314227 - CallExpression 1314064 1314226 - Identifier 1314064 1314113 - PropertyAccessExpression 1314114 1314176 - Identifier 1314114 1314125 - Identifier 1314126 1314176 - Identifier 1314177 1314186 - CallExpression 1314187 1314213 - Identifier 1314187 1314200 - Identifier 1314201 1314212 - Identifier 1314214 1314225 - Block 1314300 1314473 - ExpressionStatement 1314302 1314438 - CallExpression 1314302 1314437 - Identifier 1314302 1314351 - PropertyAccessExpression 1314352 1314399 - Identifier 1314352 1314363 - Identifier 1314364 1314399 - Identifier 1314400 1314409 - CallExpression 1314410 1314436 - Identifier 1314410 1314423 - Identifier 1314424 1314435 - Block 1314538 1316344 - VariableStatement 1314540 1314810 - VariableDeclarationList 1314540 1314809 - VariableDeclaration 1314706 1314809 - Identifier 1314706 1314731 - BinaryExpression 1314733 1314809 - PropertyAccessExpression 1314733 1314761 - PropertyAccessExpression 1314733 1314747 - Identifier 1314733 1314740 - Identifier 1314741 1314747 - QuestionDotToken 1314747 1314749 - Identifier 1314749 1314761 - AmpersandAmpersandToken 1314761 1314764 - CallExpression 1314764 1314809 - Identifier 1314764 1314781 - PropertyAccessExpression 1314782 1314808 - PropertyAccessExpression 1314782 1314795 - Identifier 1314782 1314788 - Identifier 1314789 1314795 - Identifier 1314796 1314808 - VariableStatement 1314810 1314879 - VariableDeclarationList 1314810 1314878 - VariableDeclaration 1314847 1314878 - Identifier 1314847 1314858 - UnionType 1314859 1314878 - StringKeyword 1314859 1314866 - UndefinedKeyword 1314868 1314878 - IfStatement 1314879 1315692 - BinaryExpression 1314917 1315098 - BinaryExpression 1314917 1315014 - PropertyAccessExpression 1314917 1314938 - Identifier 1314917 1314921 - Identifier 1314922 1314938 - AmpersandAmpersandToken 1314938 1314941 - CallExpression 1314941 1315014 - Identifier 1314941 1314954 - PropertyAccessExpression 1314955 1314976 - Identifier 1314955 1314959 - Identifier 1314960 1314976 - ArrowFunction 1314977 1315013 - Parameter 1314977 1314979 - Identifier 1314977 1314979 - EqualsGreaterThanToken 1314979 1314982 - BinaryExpression 1314982 1315013 - Identifier 1314982 1314984 - EqualsEqualsEqualsToken 1314984 1314988 - Identifier 1314988 1315013 - AmpersandAmpersandToken 1315014 1315017 - BinaryExpression 1315017 1315098 - CallExpression 1315017 1315063 - Identifier 1315017 1315037 - Identifier 1315038 1315062 - EqualsEqualsEqualsToken 1315063 1315067 - CallExpression 1315067 1315098 - Identifier 1315067 1315087 - Identifier 1315088 1315097 - Block 1315099 1315692 - VariableStatement 1315101 1315213 - VariableDeclarationList 1315101 1315212 - VariableDeclaration 1315144 1315212 - Identifier 1315144 1315160 - AsExpression 1315162 1315212 - PropertyAccessExpression 1315162 1315184 - Identifier 1315162 1315167 - Identifier 1315168 1315184 - TypeReference 1315187 1315212 - Identifier 1315187 1315212 - ExpressionStatement 1315213 1315313 - CallExpression 1315213 1315312 - PropertyAccessExpression 1315213 1315267 - Identifier 1315213 1315256 - Identifier 1315257 1315267 - Identifier 1315268 1315283 - Identifier 1315284 1315311 - VariableStatement 1315313 1315388 - VariableDeclarationList 1315313 1315387 - VariableDeclaration 1315358 1315387 - Identifier 1315358 1315363 - NonNullExpression 1315365 1315387 - PropertyAccessExpression 1315365 1315386 - Identifier 1315365 1315381 - Identifier 1315382 1315386 - ExpressionStatement 1315388 1315443 - BinaryExpression 1315388 1315442 - Identifier 1315388 1315435 - EqualsToken 1315435 1315437 - Identifier 1315437 1315442 - IfStatement 1315443 1315657 - CallExpression 1315487 1315505 - Identifier 1315487 1315499 - Identifier 1315500 1315504 - Block 1315506 1315657 - ExpressionStatement 1315508 1315618 - BinaryExpression 1315508 1315617 - Identifier 1315508 1315560 - EqualsToken 1315560 1315562 - CallExpression 1315562 1315617 - Identifier 1315562 1315598 - Identifier 1315599 1315603 - Identifier 1315604 1315616 - IfStatement 1315692 1316313 - BinaryExpression 1315730 1315754 - Identifier 1315730 1315740 - ExclamationEqualsEqualsToken 1315740 1315744 - Identifier 1315744 1315754 - Block 1315755 1316033 - ExpressionStatement 1315757 1315998 - CallExpression 1315757 1315997 - Identifier 1315757 1315819 - PropertyAccessExpression 1315820 1315935 - Identifier 1315820 1315831 - Identifier 1315832 1315935 - CallExpression 1315936 1315957 - Identifier 1315936 1315951 - Identifier 1315952 1315956 - CallExpression 1315958 1315984 - Identifier 1315958 1315971 - Identifier 1315972 1315983 - Identifier 1315985 1315996 - Block 1316071 1316313 - ExpressionStatement 1316073 1316278 - CallExpression 1316073 1316277 - Identifier 1316073 1316135 - PropertyAccessExpression 1316136 1316227 - Identifier 1316136 1316147 - Identifier 1316148 1316227 - CallExpression 1316228 1316249 - Identifier 1316228 1316243 - Identifier 1316244 1316248 - CallExpression 1316250 1316276 - Identifier 1316250 1316263 - Identifier 1316264 1316275 - ReturnStatement 1316371 1316409 - TrueKeyword 1316403 1316408 - IfStatement 1316432 1316860 - BinaryExpression 1316458 1316598 - Identifier 1316458 1316468 - AmpersandAmpersandToken 1316468 1316471 - PrefixUnaryExpression 1316471 1316598 - CallExpression 1316473 1316598 - Identifier 1316473 1316484 - CallExpression 1316485 1316506 - Identifier 1316485 1316500 - Identifier 1316501 1316505 - CallExpression 1316507 1316562 - Identifier 1316507 1316532 - Identifier 1316533 1316543 - PropertyAccessExpression 1316544 1316561 - Identifier 1316544 1316549 - Identifier 1316550 1316561 - PropertyAccessExpression 1316563 1316583 - Identifier 1316563 1316578 - Identifier 1316579 1316583 - Identifier 1316584 1316597 - Block 1316599 1316860 - IfStatement 1316601 1316799 - Identifier 1316631 1316643 - Block 1316644 1316799 - ExpressionStatement 1316646 1316772 - CallExpression 1316646 1316771 - Identifier 1316646 1316699 - PropertyAccessExpression 1316700 1316748 - Identifier 1316700 1316711 - Identifier 1316712 1316748 - CallExpression 1316749 1316770 - Identifier 1316749 1316764 - Identifier 1316765 1316769 - ReturnStatement 1316799 1316837 - TrueKeyword 1316831 1316836 - ReturnStatement 1316894 1316921 - FalseKeyword 1316914 1316920 - FunctionDeclaration 1316932 1317162 - Identifier 1316952 1316980 - Parameter 1316981 1316993 - Identifier 1316981 1316985 - TypeReference 1316986 1316993 - Identifier 1316986 1316993 - Parameter 1316994 1317012 - Identifier 1316994 1317004 - TypeReference 1317005 1317012 - Identifier 1317005 1317012 - Block 1317013 1317162 - ReturnStatement 1317015 1317151 - BinaryExpression 1317035 1317150 - BinaryExpression 1317035 1317087 - PropertyAccessExpression 1317035 1317057 - Identifier 1317035 1317040 - Identifier 1317041 1317057 - AmpersandAmpersandToken 1317057 1317060 - PropertyAccessExpression 1317060 1317087 - Identifier 1317060 1317070 - Identifier 1317071 1317087 - AmpersandAmpersandToken 1317087 1317090 - BinaryExpression 1317090 1317150 - PropertyAccessExpression 1317090 1317119 - PropertyAccessExpression 1317090 1317112 - Identifier 1317090 1317095 - Identifier 1317096 1317112 - Identifier 1317113 1317119 - EqualsEqualsEqualsToken 1317119 1317123 - PropertyAccessExpression 1317123 1317150 - Identifier 1317123 1317133 - Identifier 1317134 1317150 - FunctionDeclaration 1317162 1321904 - Identifier 1317182 1317211 - Parameter 1317212 1317224 - Identifier 1317212 1317218 - TypeReference 1317219 1317224 - Identifier 1317219 1317224 - Parameter 1317225 1317238 - Identifier 1317225 1317232 - TypeReference 1317233 1317238 - Identifier 1317233 1317238 - Parameter 1317239 1317261 - Identifier 1317239 1317252 - BooleanKeyword 1317253 1317261 - Parameter 1317262 1317299 - Identifier 1317262 1317280 - TypeReference 1317281 1317299 - Identifier 1317281 1317299 - TypeReference 1317301 1317309 - Identifier 1317301 1317309 - Block 1317309 1321904 - IfStatement 1317311 1319455 - BinaryExpression 1317649 1317679 - PropertyAccessExpression 1317649 1317661 - Identifier 1317649 1317655 - Identifier 1317656 1317661 - AmpersandToken 1317661 1317663 - PropertyAccessExpression 1317663 1317679 - Identifier 1317663 1317673 - Identifier 1317674 1317679 - Block 1317680 1319455 - IfStatement 1317682 1319087 - BinaryExpression 1317704 1317734 - PropertyAccessExpression 1317704 1317716 - Identifier 1317704 1317710 - Identifier 1317711 1317716 - AmpersandToken 1317716 1317718 - PropertyAccessExpression 1317718 1317734 - Identifier 1317718 1317728 - Identifier 1317729 1317734 - Block 1317735 1319087 - VariableStatement 1317737 1318293 - VariableDeclarationList 1317737 1318292 - VariableDeclaration 1318248 1318292 - Identifier 1318248 1318261 - PropertyAccessExpression 1318263 1318292 - ParenthesizedExpression 1318263 1318285 - AsExpression 1318265 1318284 - Identifier 1318265 1318271 - TypeReference 1318274 1318284 - Identifier 1318274 1318284 - Identifier 1318286 1318292 - IfStatement 1318293 1318534 - BinaryExpression 1318319 1318462 - BinaryExpression 1318319 1318400 - BinaryExpression 1318319 1318378 - Identifier 1318319 1318331 - AmpersandAmpersandToken 1318331 1318334 - BinaryExpression 1318334 1318378 - PropertyAccessExpression 1318334 1318353 - Identifier 1318334 1318347 - Identifier 1318348 1318353 - AmpersandToken 1318353 1318355 - PropertyAccessExpression 1318355 1318378 - Identifier 1318355 1318365 - Identifier 1318366 1318378 - AmpersandAmpersandToken 1318378 1318381 - PropertyAccessExpression 1318381 1318400 - Identifier 1318381 1318388 - Identifier 1318389 1318400 - AmpersandAmpersandToken 1318400 1318403 - CallExpression 1318403 1318462 - Identifier 1318403 1318412 - PropertyAccessExpression 1318413 1318453 - ParenthesizedExpression 1318413 1318447 - AsExpression 1318414 1318446 - Identifier 1318414 1318426 - TypeReference 1318429 1318446 - Identifier 1318429 1318446 - Identifier 1318448 1318453 - Identifier 1318454 1318461 - Block 1318463 1318534 - ReturnStatement 1318465 1318511 - PropertyAccessExpression 1318497 1318510 - Identifier 1318497 1318505 - Identifier 1318506 1318510 - VariableStatement 1318534 1318841 - VariableDeclarationList 1318534 1318840 - VariableDeclaration 1318796 1318840 - Identifier 1318796 1318809 - PropertyAccessExpression 1318811 1318840 - ParenthesizedExpression 1318811 1318833 - AsExpression 1318813 1318832 - Identifier 1318813 1318819 - TypeReference 1318822 1318832 - Identifier 1318822 1318832 - Identifier 1318834 1318840 - IfStatement 1318841 1319068 - BinaryExpression 1318867 1318996 - BinaryExpression 1318867 1318941 - BinaryExpression 1318867 1318919 - Identifier 1318867 1318879 - AmpersandAmpersandToken 1318879 1318882 - BinaryExpression 1318882 1318919 - PropertyAccessExpression 1318882 1318901 - Identifier 1318882 1318895 - Identifier 1318896 1318901 - AmpersandToken 1318901 1318903 - PropertyAccessExpression 1318903 1318919 - Identifier 1318903 1318913 - Identifier 1318914 1318919 - AmpersandAmpersandToken 1318919 1318922 - PropertyAccessExpression 1318922 1318941 - Identifier 1318922 1318929 - Identifier 1318930 1318941 - AmpersandAmpersandToken 1318941 1318944 - CallExpression 1318944 1318996 - Identifier 1318944 1318953 - PropertyAccessExpression 1318954 1318987 - ParenthesizedExpression 1318954 1318981 - AsExpression 1318955 1318980 - Identifier 1318955 1318967 - TypeReference 1318970 1318980 - Identifier 1318970 1318980 - Identifier 1318982 1318987 - Identifier 1318988 1318995 - Block 1318997 1319068 - ReturnStatement 1318999 1319045 - PropertyAccessExpression 1319031 1319044 - Identifier 1319031 1319039 - Identifier 1319040 1319044 - ReturnStatement 1319087 1319440 - ConditionalExpression 1319111 1319439 - BinaryExpression 1319111 1319143 - Identifier 1319111 1319120 - EqualsEqualsEqualsToken 1319120 1319124 - Identifier 1319124 1319143 - QuestionToken 1319143 1319145 - CallExpression 1319145 1319291 - Identifier 1319145 1319188 - AsExpression 1319189 1319208 - Identifier 1319189 1319195 - TypeReference 1319198 1319208 - Identifier 1319198 1319208 - Identifier 1319209 1319216 - BinaryExpression 1319217 1319271 - Identifier 1319217 1319230 - AmpersandAmpersandToken 1319230 1319233 - PrefixUnaryExpression 1319233 1319271 - ParenthesizedExpression 1319235 1319271 - BinaryExpression 1319236 1319270 - PropertyAccessExpression 1319236 1319248 - Identifier 1319236 1319242 - Identifier 1319243 1319248 - AmpersandToken 1319248 1319250 - PropertyAccessExpression 1319250 1319270 - Identifier 1319250 1319260 - Identifier 1319261 1319270 - Identifier 1319272 1319290 - ColonToken 1319291 1319293 - CallExpression 1319293 1319439 - Identifier 1319293 1319336 - AsExpression 1319337 1319356 - Identifier 1319337 1319343 - TypeReference 1319346 1319356 - Identifier 1319346 1319356 - Identifier 1319357 1319364 - BinaryExpression 1319365 1319419 - Identifier 1319365 1319378 - AmpersandAmpersandToken 1319378 1319381 - PrefixUnaryExpression 1319381 1319419 - ParenthesizedExpression 1319383 1319419 - BinaryExpression 1319384 1319418 - PropertyAccessExpression 1319384 1319396 - Identifier 1319384 1319390 - Identifier 1319391 1319396 - AmpersandToken 1319396 1319398 - PropertyAccessExpression 1319398 1319418 - Identifier 1319398 1319408 - Identifier 1319409 1319418 - Identifier 1319420 1319438 - IfStatement 1319455 1319743 - BinaryExpression 1319473 1319503 - PropertyAccessExpression 1319473 1319485 - Identifier 1319473 1319479 - Identifier 1319480 1319485 - AmpersandToken 1319485 1319487 - PropertyAccessExpression 1319487 1319503 - Identifier 1319487 1319497 - Identifier 1319498 1319503 - Block 1319504 1319743 - ReturnStatement 1319506 1319728 - CallExpression 1319530 1319727 - Identifier 1319530 1319552 - CallExpression 1319553 1319590 - Identifier 1319553 1319582 - Identifier 1319583 1319589 - AsExpression 1319591 1319611 - Identifier 1319591 1319598 - TypeReference 1319601 1319611 - Identifier 1319601 1319611 - BinaryExpression 1319612 1319707 - BinaryExpression 1319612 1319666 - Identifier 1319612 1319625 - AmpersandAmpersandToken 1319625 1319628 - PrefixUnaryExpression 1319628 1319666 - ParenthesizedExpression 1319630 1319666 - BinaryExpression 1319631 1319665 - PropertyAccessExpression 1319631 1319643 - Identifier 1319631 1319637 - Identifier 1319638 1319643 - AmpersandToken 1319643 1319645 - PropertyAccessExpression 1319645 1319665 - Identifier 1319645 1319655 - Identifier 1319656 1319665 - AmpersandAmpersandToken 1319666 1319669 - PrefixUnaryExpression 1319669 1319707 - ParenthesizedExpression 1319671 1319707 - BinaryExpression 1319672 1319706 - PropertyAccessExpression 1319672 1319684 - Identifier 1319672 1319678 - Identifier 1319679 1319684 - AmpersandToken 1319684 1319686 - PropertyAccessExpression 1319686 1319706 - Identifier 1319686 1319696 - Identifier 1319697 1319706 - Identifier 1319708 1319726 - IfStatement 1319743 1319939 - BinaryExpression 1319761 1319798 - PropertyAccessExpression 1319761 1319773 - Identifier 1319761 1319767 - Identifier 1319768 1319773 - AmpersandToken 1319773 1319775 - PropertyAccessExpression 1319775 1319798 - Identifier 1319775 1319785 - Identifier 1319786 1319798 - Block 1319799 1319939 - ReturnStatement 1319801 1319924 - CallExpression 1319825 1319923 - Identifier 1319825 1319847 - Identifier 1319848 1319854 - AsExpression 1319855 1319882 - Identifier 1319855 1319862 - TypeReference 1319865 1319882 - Identifier 1319865 1319882 - Identifier 1319883 1319896 - PropertyAccessExpression 1319897 1319922 - Identifier 1319897 1319915 - Identifier 1319916 1319922 - IfStatement 1319939 1321328 - BinaryExpression 1320478 1320547 - BinaryExpression 1320478 1320509 - Identifier 1320478 1320486 - EqualsEqualsEqualsToken 1320486 1320490 - Identifier 1320490 1320509 - AmpersandAmpersandToken 1320509 1320512 - BinaryExpression 1320512 1320547 - PropertyAccessExpression 1320512 1320525 - Identifier 1320512 1320519 - Identifier 1320520 1320525 - AmpersandToken 1320525 1320527 - PropertyAccessExpression 1320527 1320547 - Identifier 1320527 1320537 - Identifier 1320538 1320547 - Block 1320548 1321328 - VariableStatement 1320550 1320719 - VariableDeclarationList 1320550 1320718 - VariableDeclaration 1320573 1320718 - Identifier 1320573 1320585 - CallExpression 1320587 1320718 - Identifier 1320587 1320595 - PropertyAccessExpression 1320596 1320630 - ParenthesizedExpression 1320596 1320624 - AsExpression 1320597 1320623 - Identifier 1320597 1320603 - TypeReference 1320606 1320623 - Identifier 1320606 1320623 - Identifier 1320625 1320630 - ArrowFunction 1320631 1320717 - Parameter 1320631 1320633 - Identifier 1320631 1320633 - EqualsGreaterThanToken 1320633 1320636 - ConditionalExpression 1320636 1320717 - BinaryExpression 1320636 1320669 - PropertyAccessExpression 1320636 1320644 - Identifier 1320636 1320638 - Identifier 1320639 1320644 - AmpersandToken 1320644 1320646 - PropertyAccessExpression 1320646 1320669 - Identifier 1320646 1320656 - Identifier 1320657 1320669 - QuestionToken 1320669 1320671 - BinaryExpression 1320671 1320713 - CallExpression 1320671 1320698 - Identifier 1320671 1320695 - Identifier 1320696 1320697 - BarBarToken 1320698 1320701 - Identifier 1320701 1320713 - ColonToken 1320713 1320715 - Identifier 1320715 1320717 - IfStatement 1320719 1321313 - BinaryExpression 1320741 1320791 - Identifier 1320741 1320752 - ExclamationEqualsEqualsToken 1320752 1320756 - PropertyAccessExpression 1320756 1320791 - ParenthesizedExpression 1320756 1320785 - AsExpression 1320758 1320784 - Identifier 1320758 1320764 - TypeReference 1320767 1320784 - Identifier 1320767 1320784 - Identifier 1320786 1320791 - Block 1320792 1321313 - ExpressionStatement 1320794 1320858 - BinaryExpression 1320794 1320857 - Identifier 1320794 1320822 - EqualsToken 1320822 1320824 - CallExpression 1320824 1320857 - Identifier 1320824 1320844 - Identifier 1320845 1320856 - IfStatement 1320858 1320987 - BinaryExpression 1320884 1320914 - PropertyAccessExpression 1320884 1320896 - Identifier 1320884 1320890 - Identifier 1320891 1320896 - AmpersandToken 1320896 1320898 - PropertyAccessExpression 1320898 1320914 - Identifier 1320898 1320908 - Identifier 1320909 1320914 - Block 1320915 1320987 - ReturnStatement 1320917 1320964 - PropertyAccessExpression 1320949 1320963 - Identifier 1320949 1320957 - Identifier 1320958 1320963 - IfStatement 1320987 1321294 - PrefixUnaryExpression 1321013 1321053 - ParenthesizedExpression 1321014 1321053 - BinaryExpression 1321015 1321052 - PropertyAccessExpression 1321015 1321027 - Identifier 1321015 1321021 - Identifier 1321022 1321027 - AmpersandToken 1321027 1321029 - PropertyAccessExpression 1321029 1321052 - Identifier 1321029 1321039 - Identifier 1321040 1321052 - Block 1321054 1321294 - ReturnStatement 1321056 1321271 - BinaryExpression 1321088 1321270 - CallExpression 1321088 1321163 - Identifier 1321088 1321100 - Identifier 1321101 1321107 - Identifier 1321108 1321115 - PropertyAccessExpression 1321116 1321138 - Identifier 1321116 1321131 - Identifier 1321132 1321138 - FalseKeyword 1321139 1321162 - BarBarToken 1321163 1321166 - CallExpression 1321166 1321270 - Identifier 1321166 1321207 - Identifier 1321208 1321214 - Identifier 1321215 1321222 - PropertyAccessExpression 1321223 1321245 - Identifier 1321223 1321238 - Identifier 1321239 1321245 - FalseKeyword 1321246 1321269 - ReturnStatement 1321328 1321893 - CallExpression 1321784 1321892 - Identifier 1321784 1321806 - AsExpression 1321807 1321833 - Identifier 1321807 1321813 - TypeReference 1321816 1321833 - Identifier 1321816 1321833 - Identifier 1321834 1321841 - FalseKeyword 1321842 1321865 - PropertyAccessExpression 1321866 1321891 - Identifier 1321866 1321884 - Identifier 1321885 1321891 - FunctionDeclaration 1321904 1322476 - Identifier 1321924 1321950 - Parameter 1321951 1321982 - Identifier 1321951 1321957 - TypeReference 1321958 1321982 - Identifier 1321958 1321982 - Parameter 1321983 1322015 - Identifier 1321983 1321990 - TypeReference 1321991 1322015 - Identifier 1321991 1322015 - TypeReference 1322017 1322025 - Identifier 1322017 1322025 - Block 1322025 1322476 - VariableStatement 1322027 1322067 - VariableDeclarationList 1322027 1322066 - VariableDeclaration 1322044 1322066 - Identifier 1322044 1322051 - PropertyAccessExpression 1322053 1322066 - Identifier 1322053 1322061 - Identifier 1322062 1322066 - VariableStatement 1322067 1322114 - VariableDeclarationList 1322067 1322113 - VariableDeclaration 1322086 1322113 - Identifier 1322086 1322098 - PropertyAccessExpression 1322100 1322113 - Identifier 1322100 1322107 - Identifier 1322108 1322113 - ForOfStatement 1322114 1322437 - VariableDeclarationList 1322133 1322149 - VariableDeclaration 1322138 1322149 - Identifier 1322138 1322149 - Identifier 1322152 1322164 - Block 1322165 1322437 - VariableStatement 1322167 1322291 - VariableDeclarationList 1322167 1322290 - VariableDeclaration 1322190 1322290 - Identifier 1322190 1322198 - CallExpression 1322200 1322290 - Identifier 1322200 1322222 - Identifier 1322223 1322233 - Identifier 1322234 1322241 - FalseKeyword 1322242 1322265 - PropertyAccessExpression 1322266 1322289 - Identifier 1322266 1322284 - Identifier 1322285 1322289 - IfStatement 1322291 1322386 - PrefixUnaryExpression 1322313 1322321 - Identifier 1322314 1322321 - Block 1322322 1322386 - ReturnStatement 1322324 1322367 - PropertyAccessExpression 1322352 1322366 - Identifier 1322352 1322360 - Identifier 1322361 1322366 - ExpressionStatement 1322386 1322422 - BinaryExpression 1322386 1322421 - Identifier 1322386 1322410 - AmpersandEqualsToken 1322410 1322413 - Identifier 1322413 1322421 - ReturnStatement 1322437 1322465 - Identifier 1322457 1322464 - FunctionDeclaration 1322476 1325898 - Identifier 1322496 1322518 - Parameter 1322519 1322531 - Identifier 1322519 1322525 - TypeReference 1322526 1322531 - Identifier 1322526 1322531 - Parameter 1322532 1322564 - Identifier 1322532 1322539 - TypeReference 1322540 1322564 - Identifier 1322540 1322564 - Parameter 1322565 1322587 - Identifier 1322565 1322578 - BooleanKeyword 1322579 1322587 - Parameter 1322588 1322625 - Identifier 1322588 1322606 - TypeReference 1322607 1322625 - Identifier 1322607 1322625 - TypeReference 1322627 1322635 - Identifier 1322627 1322635 - Block 1322635 1325898 - VariableStatement 1322637 1322684 - VariableDeclarationList 1322637 1322683 - VariableDeclaration 1322656 1322683 - Identifier 1322656 1322668 - PropertyAccessExpression 1322670 1322683 - Identifier 1322670 1322677 - Identifier 1322678 1322683 - IfStatement 1322684 1325106 - BinaryExpression 1322702 1322732 - PropertyAccessExpression 1322702 1322714 - Identifier 1322702 1322708 - Identifier 1322709 1322714 - AmpersandToken 1322714 1322716 - PropertyAccessExpression 1322716 1322732 - Identifier 1322716 1322726 - Identifier 1322727 1322732 - Block 1322733 1325106 - IfStatement 1322735 1322854 - CallExpression 1322757 1322790 - Identifier 1322757 1322769 - Identifier 1322770 1322781 - Identifier 1322782 1322789 - Block 1322791 1322854 - ReturnStatement 1322793 1322835 - PropertyAccessExpression 1322821 1322834 - Identifier 1322821 1322829 - Identifier 1322830 1322834 - IfStatement 1322854 1324688 - BinaryExpression 1322876 1323313 - BinaryExpression 1322876 1323027 - BinaryExpression 1322876 1322984 - BinaryExpression 1322876 1322929 - Identifier 1322876 1322906 - ExclamationEqualsEqualsToken 1322906 1322910 - Identifier 1322910 1322929 - AmpersandAmpersandToken 1322929 1322932 - BinaryExpression 1322932 1322984 - CallExpression 1322932 1322955 - Identifier 1322932 1322947 - Identifier 1322948 1322954 - AmpersandToken 1322955 1322957 - PropertyAccessExpression 1322957 1322984 - Identifier 1322957 1322969 - Identifier 1322970 1322984 - AmpersandAmpersandToken 1322984 1322987 - PrefixUnaryExpression 1322987 1323027 - ParenthesizedExpression 1322989 1323027 - BinaryExpression 1322990 1323026 - PropertyAccessExpression 1322990 1323002 - Identifier 1322990 1322996 - Identifier 1322997 1323002 - AmpersandToken 1323002 1323004 - PropertyAccessExpression 1323004 1323026 - Identifier 1323004 1323014 - Identifier 1323015 1323026 - AmpersandAmpersandToken 1323027 1323030 - ParenthesizedExpression 1323030 1323313 - BinaryExpression 1323032 1323290 - BinaryExpression 1323032 1323151 - PropertyAccessExpression 1323032 1323070 - Identifier 1323032 1323064 - Identifier 1323065 1323070 - AmpersandToken 1323070 1323072 - ParenthesizedExpression 1323072 1323151 - BinaryExpression 1323074 1323150 - BinaryExpression 1323074 1323124 - PropertyAccessExpression 1323074 1323097 - Identifier 1323074 1323083 - Identifier 1323084 1323097 - BarToken 1323097 1323099 - PropertyAccessExpression 1323099 1323124 - Identifier 1323099 1323109 - Identifier 1323110 1323124 - BarToken 1323124 1323126 - PropertyAccessExpression 1323126 1323150 - Identifier 1323126 1323136 - Identifier 1323137 1323150 - BarBarToken 1323151 1323154 - BinaryExpression 1323154 1323290 - ParenthesizedExpression 1323154 1323248 - BinaryExpression 1323181 1323247 - BinaryExpression 1323181 1323209 - Identifier 1323181 1323189 - EqualsEqualsEqualsToken 1323189 1323193 - Identifier 1323193 1323209 - BarBarToken 1323209 1323212 - BinaryExpression 1323212 1323247 - Identifier 1323212 1323221 - EqualsEqualsEqualsToken 1323221 1323225 - Identifier 1323225 1323247 - AmpersandAmpersandToken 1323248 1323251 - BinaryExpression 1323251 1323290 - PropertyAccessExpression 1323251 1323264 - Identifier 1323251 1323258 - Identifier 1323259 1323264 - AmpersandToken 1323264 1323266 - PropertyAccessExpression 1323266 1323290 - Identifier 1323266 1323276 - Identifier 1323277 1323290 - Block 1323332 1324688 - VariableStatement 1323334 1324211 - VariableDeclarationList 1323334 1324210 - VariableDeclaration 1324055 1324210 - Identifier 1324055 1324069 - ConditionalExpression 1324071 1324210 - BinaryExpression 1324071 1324124 - Identifier 1324071 1324078 - EqualsEqualsEqualsToken 1324078 1324082 - PropertyAccessExpression 1324082 1324124 - ParenthesizedExpression 1324082 1324112 - AsExpression 1324084 1324111 - Identifier 1324084 1324090 - TypeReference 1324093 1324111 - Identifier 1324093 1324111 - Identifier 1324113 1324124 - QuestionToken 1324124 1324126 - PropertyAccessExpression 1324126 1324166 - ParenthesizedExpression 1324126 1324156 - AsExpression 1324128 1324155 - Identifier 1324128 1324134 - TypeReference 1324137 1324155 - Identifier 1324137 1324155 - Identifier 1324157 1324166 - ColonToken 1324166 1324168 - PropertyAccessExpression 1324168 1324210 - ParenthesizedExpression 1324168 1324198 - AsExpression 1324170 1324197 - Identifier 1324170 1324176 - TypeReference 1324179 1324197 - Identifier 1324179 1324197 - Identifier 1324199 1324210 - VariableStatement 1324211 1324498 - VariableDeclarationList 1324211 1324497 - VariableDeclaration 1324238 1324497 - Identifier 1324238 1324248 - ConditionalExpression 1324250 1324497 - BinaryExpression 1324250 1324289 - PropertyAccessExpression 1324250 1324263 - Identifier 1324250 1324257 - Identifier 1324258 1324263 - AmpersandToken 1324263 1324265 - PropertyAccessExpression 1324265 1324289 - Identifier 1324265 1324275 - Identifier 1324276 1324289 - QuestionToken 1324289 1324291 - Identifier 1324291 1324302 - ColonToken 1324302 1324304 - ConditionalExpression 1324304 1324497 - BinaryExpression 1324304 1324368 - PropertyAccessExpression 1324304 1324342 - Identifier 1324304 1324336 - Identifier 1324337 1324342 - AmpersandToken 1324342 1324344 - PropertyAccessExpression 1324344 1324368 - Identifier 1324344 1324354 - Identifier 1324355 1324368 - QuestionToken 1324368 1324370 - Identifier 1324370 1324381 - ColonToken 1324381 1324383 - ConditionalExpression 1324383 1324497 - BinaryExpression 1324383 1324447 - PropertyAccessExpression 1324383 1324421 - Identifier 1324383 1324415 - Identifier 1324416 1324421 - AmpersandToken 1324421 1324423 - PropertyAccessExpression 1324423 1324447 - Identifier 1324423 1324433 - Identifier 1324434 1324447 - QuestionToken 1324447 1324449 - Identifier 1324449 1324460 - ColonToken 1324460 1324462 - Identifier 1324462 1324497 - ReturnStatement 1324498 1324669 - ConditionalExpression 1324526 1324668 - BinaryExpression 1324526 1324637 - BinaryExpression 1324526 1324576 - Identifier 1324526 1324536 - AmpersandAmpersandToken 1324536 1324539 - CallExpression 1324539 1324576 - Identifier 1324539 1324552 - Identifier 1324553 1324564 - Identifier 1324565 1324575 - BarBarToken 1324576 1324579 - BinaryExpression 1324579 1324637 - Identifier 1324579 1324593 - AmpersandAmpersandToken 1324593 1324596 - CallExpression 1324596 1324637 - Identifier 1324596 1324609 - Identifier 1324610 1324621 - Identifier 1324622 1324636 - QuestionToken 1324637 1324639 - PropertyAccessExpression 1324639 1324652 - Identifier 1324639 1324647 - Identifier 1324648 1324652 - ColonToken 1324652 1324654 - PropertyAccessExpression 1324654 1324668 - Identifier 1324654 1324662 - Identifier 1324663 1324668 - VariableStatement 1324688 1324784 - VariableDeclarationList 1324688 1324783 - VariableDeclaration 1324711 1324783 - Identifier 1324711 1324717 - CallExpression 1324719 1324783 - Identifier 1324719 1324754 - AsExpression 1324755 1324774 - Identifier 1324755 1324761 - TypeReference 1324764 1324774 - Identifier 1324764 1324774 - Identifier 1324775 1324782 - IfStatement 1324784 1325091 - Identifier 1324806 1324811 - Block 1324812 1325091 - VariableStatement 1324814 1324972 - VariableDeclarationList 1324814 1324971 - VariableDeclaration 1324841 1324971 - Identifier 1324841 1324849 - CallExpression 1324851 1324971 - Identifier 1324851 1324863 - Identifier 1324864 1324870 - Identifier 1324871 1324877 - PropertyAccessExpression 1324878 1324900 - Identifier 1324878 1324893 - Identifier 1324894 1324900 - FalseKeyword 1324901 1324924 - Identifier 1324925 1324951 - Identifier 1324952 1324970 - IfStatement 1324972 1325072 - Identifier 1324998 1325005 - Block 1325006 1325072 - ReturnStatement 1325008 1325049 - Identifier 1325040 1325048 - ForOfStatement 1325106 1325409 - VariableDeclarationList 1325125 1325135 - VariableDeclaration 1325130 1325135 - Identifier 1325130 1325135 - Identifier 1325138 1325150 - Block 1325151 1325409 - VariableStatement 1325153 1325306 - VariableDeclarationList 1325153 1325305 - VariableDeclaration 1325176 1325305 - Identifier 1325176 1325184 - CallExpression 1325186 1325305 - Identifier 1325186 1325198 - Identifier 1325199 1325205 - Identifier 1325206 1325211 - PropertyAccessExpression 1325212 1325234 - Identifier 1325212 1325227 - Identifier 1325228 1325234 - FalseKeyword 1325235 1325258 - Identifier 1325259 1325285 - Identifier 1325286 1325304 - IfStatement 1325306 1325394 - Identifier 1325328 1325335 - Block 1325336 1325394 - ReturnStatement 1325338 1325375 - Identifier 1325366 1325374 - IfStatement 1325409 1325852 - Identifier 1325427 1325439 - Block 1325440 1325852 - VariableStatement 1325442 1325625 - VariableDeclarationList 1325442 1325624 - VariableDeclaration 1325556 1325624 - Identifier 1325556 1325573 - CallExpression 1325575 1325624 - Identifier 1325575 1325595 - Identifier 1325596 1325602 - Identifier 1325603 1325610 - Identifier 1325611 1325623 - IfStatement 1325625 1325837 - Identifier 1325647 1325663 - Block 1325664 1325837 - ExpressionStatement 1325666 1325818 - CallExpression 1325666 1325817 - Identifier 1325666 1325699 - Identifier 1325700 1325706 - Identifier 1325707 1325724 - PropertyAccessExpression 1325725 1325747 - Identifier 1325725 1325740 - Identifier 1325741 1325747 - TrueKeyword 1325748 1325770 - Identifier 1325771 1325797 - Identifier 1325798 1325816 - ReturnStatement 1325852 1325887 - PropertyAccessExpression 1325872 1325886 - Identifier 1325872 1325880 - Identifier 1325881 1325886 - FunctionDeclaration 1325898 1326526 - Identifier 1325918 1325940 - Parameter 1325941 1325953 - Identifier 1325941 1325947 - TypeReference 1325948 1325953 - Identifier 1325948 1325953 - Parameter 1325954 1325979 - Identifier 1325954 1325961 - TypeReference 1325962 1325979 - Identifier 1325962 1325979 - Parameter 1325980 1326002 - Identifier 1325980 1325993 - BooleanKeyword 1325994 1326002 - Parameter 1326003 1326040 - Identifier 1326003 1326021 - TypeReference 1326022 1326040 - Identifier 1326022 1326040 - TypeReference 1326042 1326050 - Identifier 1326042 1326050 - Block 1326050 1326526 - VariableStatement 1326052 1326092 - VariableDeclarationList 1326052 1326091 - VariableDeclaration 1326069 1326091 - Identifier 1326069 1326076 - PropertyAccessExpression 1326078 1326091 - Identifier 1326078 1326086 - Identifier 1326087 1326091 - VariableStatement 1326092 1326139 - VariableDeclarationList 1326092 1326138 - VariableDeclaration 1326111 1326138 - Identifier 1326111 1326123 - PropertyAccessExpression 1326125 1326138 - Identifier 1326125 1326132 - Identifier 1326133 1326138 - ForOfStatement 1326139 1326487 - VariableDeclarationList 1326158 1326174 - VariableDeclaration 1326163 1326174 - Identifier 1326163 1326174 - Identifier 1326177 1326189 - Block 1326190 1326487 - VariableStatement 1326192 1326341 - VariableDeclarationList 1326192 1326340 - VariableDeclaration 1326215 1326340 - Identifier 1326215 1326223 - CallExpression 1326225 1326340 - Identifier 1326225 1326237 - Identifier 1326238 1326244 - Identifier 1326245 1326256 - PropertyAccessExpression 1326257 1326279 - Identifier 1326257 1326272 - Identifier 1326273 1326279 - Identifier 1326280 1326293 - Identifier 1326294 1326320 - Identifier 1326321 1326339 - IfStatement 1326341 1326436 - PrefixUnaryExpression 1326363 1326371 - Identifier 1326364 1326371 - Block 1326372 1326436 - ReturnStatement 1326374 1326417 - PropertyAccessExpression 1326402 1326416 - Identifier 1326402 1326410 - Identifier 1326411 1326416 - ExpressionStatement 1326436 1326472 - BinaryExpression 1326436 1326471 - Identifier 1326436 1326460 - AmpersandEqualsToken 1326460 1326463 - Identifier 1326463 1326471 - ReturnStatement 1326487 1326515 - Identifier 1326507 1326514 - FunctionDeclaration 1326526 1327284 - Identifier 1326546 1326568 - Parameter 1326569 1326600 - Identifier 1326569 1326575 - TypeReference 1326576 1326600 - Identifier 1326576 1326600 - Parameter 1326601 1326614 - Identifier 1326601 1326608 - TypeReference 1326609 1326614 - Identifier 1326609 1326614 - Parameter 1326615 1326637 - Identifier 1326615 1326628 - BooleanKeyword 1326629 1326637 - Parameter 1326638 1326675 - Identifier 1326638 1326656 - TypeReference 1326657 1326675 - Identifier 1326657 1326675 - TypeReference 1326677 1326685 - Identifier 1326677 1326685 - Block 1326685 1327284 - VariableStatement 1326687 1326734 - VariableDeclarationList 1326687 1326733 - VariableDeclaration 1326706 1326733 - Identifier 1326706 1326718 - PropertyAccessExpression 1326720 1326733 - Identifier 1326720 1326727 - Identifier 1326728 1326733 - IfStatement 1326734 1326875 - BinaryExpression 1326752 1326819 - BinaryExpression 1326752 1326782 - PropertyAccessExpression 1326752 1326764 - Identifier 1326752 1326758 - Identifier 1326759 1326764 - AmpersandToken 1326764 1326766 - PropertyAccessExpression 1326766 1326782 - Identifier 1326766 1326776 - Identifier 1326777 1326782 - AmpersandAmpersandToken 1326782 1326785 - CallExpression 1326785 1326819 - Identifier 1326785 1326798 - Identifier 1326799 1326810 - Identifier 1326811 1326818 - Block 1326820 1326875 - ReturnStatement 1326822 1326860 - PropertyAccessExpression 1326846 1326859 - Identifier 1326846 1326854 - Identifier 1326855 1326859 - VariableStatement 1326875 1326920 - VariableDeclarationList 1326875 1326919 - VariableDeclaration 1326894 1326919 - Identifier 1326894 1326898 - PropertyAccessExpression 1326900 1326919 - Identifier 1326900 1326912 - Identifier 1326913 1326919 - ForStatement 1326920 1327238 - VariableDeclarationList 1326939 1326948 - VariableDeclaration 1326942 1326948 - Identifier 1326942 1326944 - NumericLiteral 1326946 1326948 - BinaryExpression 1326949 1326957 - Identifier 1326949 1326951 - LessThanToken 1326951 1326953 - Identifier 1326953 1326957 - PostfixUnaryExpression 1326958 1326962 - Identifier 1326958 1326960 - Block 1326963 1327238 - VariableStatement 1326965 1327135 - VariableDeclarationList 1326965 1327134 - VariableDeclaration 1326988 1327134 - Identifier 1326988 1326996 - CallExpression 1326998 1327134 - Identifier 1326998 1327010 - ElementAccessExpression 1327011 1327025 - Identifier 1327011 1327022 - Identifier 1327023 1327024 - Identifier 1327026 1327033 - PropertyAccessExpression 1327034 1327056 - Identifier 1327034 1327049 - Identifier 1327050 1327056 - BinaryExpression 1327057 1327087 - Identifier 1327057 1327070 - AmpersandAmpersandToken 1327070 1327073 - BinaryExpression 1327073 1327087 - Identifier 1327073 1327075 - EqualsEqualsEqualsToken 1327075 1327079 - BinaryExpression 1327079 1327087 - Identifier 1327079 1327083 - MinusToken 1327083 1327085 - NumericLiteral 1327085 1327087 - Identifier 1327088 1327114 - Identifier 1327115 1327133 - IfStatement 1327135 1327223 - Identifier 1327157 1327164 - Block 1327165 1327223 - ReturnStatement 1327167 1327204 - Identifier 1327195 1327203 - ReturnStatement 1327238 1327273 - PropertyAccessExpression 1327258 1327272 - Identifier 1327258 1327266 - Identifier 1327267 1327272 - FunctionDeclaration 1327284 1327758 - Identifier 1327304 1327339 - Parameter 1327340 1327352 - Identifier 1327340 1327346 - TypeReference 1327347 1327352 - Identifier 1327347 1327352 - Parameter 1327353 1327366 - Identifier 1327353 1327360 - TypeReference 1327361 1327366 - Identifier 1327361 1327366 - Block 1327367 1327758 - IfStatement 1327369 1327719 - BinaryExpression 1327387 1327613 - BinaryExpression 1327387 1327551 - BinaryExpression 1327387 1327469 - BinaryExpression 1327387 1327435 - PropertyAccessExpression 1327387 1327417 - Identifier 1327387 1327411 - Identifier 1327412 1327417 - AmpersandToken 1327417 1327419 - PropertyAccessExpression 1327419 1327435 - Identifier 1327419 1327429 - Identifier 1327430 1327435 - AmpersandAmpersandToken 1327435 1327438 - BinaryExpression 1327438 1327469 - PropertyAccessExpression 1327438 1327451 - Identifier 1327438 1327445 - Identifier 1327446 1327451 - AmpersandToken 1327451 1327453 - PropertyAccessExpression 1327453 1327469 - Identifier 1327453 1327463 - Identifier 1327464 1327469 - AmpersandAmpersandToken 1327469 1327472 - PrefixUnaryExpression 1327472 1327551 - ParenthesizedExpression 1327491 1327551 - BinaryExpression 1327492 1327550 - PropertyAccessExpression 1327492 1327528 - ElementAccessExpression 1327492 1327522 - PropertyAccessExpression 1327492 1327519 - ParenthesizedExpression 1327492 1327513 - AsExpression 1327493 1327512 - Identifier 1327493 1327499 - TypeReference 1327502 1327512 - Identifier 1327502 1327512 - Identifier 1327514 1327519 - NumericLiteral 1327520 1327521 - Identifier 1327523 1327528 - AmpersandToken 1327528 1327530 - PropertyAccessExpression 1327530 1327550 - Identifier 1327530 1327540 - Identifier 1327541 1327550 - AmpersandAmpersandToken 1327551 1327554 - BinaryExpression 1327554 1327613 - PropertyAccessExpression 1327554 1327591 - ElementAccessExpression 1327554 1327585 - PropertyAccessExpression 1327554 1327582 - ParenthesizedExpression 1327554 1327576 - AsExpression 1327556 1327575 - Identifier 1327556 1327562 - TypeReference 1327565 1327575 - Identifier 1327565 1327575 - Identifier 1327577 1327582 - NumericLiteral 1327583 1327584 - Identifier 1327586 1327591 - AmpersandToken 1327591 1327593 - PropertyAccessExpression 1327593 1327613 - Identifier 1327593 1327603 - Identifier 1327604 1327613 - Block 1327628 1327719 - ReturnStatement 1327630 1327704 - CallExpression 1327654 1327703 - Identifier 1327654 1327673 - Identifier 1327674 1327680 - PrefixUnaryExpression 1327681 1327702 - PropertyAccessExpression 1327683 1327702 - Identifier 1327683 1327692 - Identifier 1327693 1327702 - ReturnStatement 1327719 1327747 - Identifier 1327739 1327746 - FunctionDeclaration 1327758 1330288 - Identifier 1327778 1327800 - Parameter 1327801 1327832 - Identifier 1327801 1327807 - TypeReference 1327808 1327832 - Identifier 1327808 1327832 - Parameter 1327833 1327846 - Identifier 1327833 1327840 - TypeReference 1327841 1327846 - Identifier 1327841 1327846 - Parameter 1327847 1327869 - Identifier 1327847 1327860 - BooleanKeyword 1327861 1327869 - Parameter 1327870 1327907 - Identifier 1327870 1327888 - TypeReference 1327889 1327907 - Identifier 1327889 1327907 - TypeReference 1327909 1327917 - Identifier 1327909 1327917 - Block 1327917 1330288 - VariableStatement 1327919 1327959 - VariableDeclarationList 1327919 1327958 - VariableDeclaration 1327936 1327958 - Identifier 1327936 1327943 - PropertyAccessExpression 1327945 1327958 - Identifier 1327945 1327953 - Identifier 1327954 1327958 - VariableStatement 1327959 1328006 - VariableDeclarationList 1327959 1328005 - VariableDeclaration 1327978 1328005 - Identifier 1327978 1327990 - PropertyAccessExpression 1327992 1328005 - Identifier 1327992 1327999 - Identifier 1328000 1328005 - VariableStatement 1328006 1328386 - VariableDeclarationList 1328006 1328385 - VariableDeclaration 1328295 1328385 - Identifier 1328295 1328319 - CallExpression 1328321 1328385 - Identifier 1328321 1328356 - Identifier 1328357 1328363 - AsExpression 1328364 1328384 - Identifier 1328364 1328371 - TypeReference 1328374 1328384 - Identifier 1328374 1328384 - ForStatement 1328386 1330249 - VariableDeclarationList 1328405 1328414 - VariableDeclaration 1328408 1328414 - Identifier 1328408 1328410 - NumericLiteral 1328412 1328414 - BinaryExpression 1328415 1328438 - Identifier 1328415 1328417 - LessThanToken 1328417 1328419 - PropertyAccessExpression 1328419 1328438 - Identifier 1328419 1328431 - Identifier 1328432 1328438 - PostfixUnaryExpression 1328439 1328443 - Identifier 1328439 1328441 - Block 1328444 1330249 - VariableStatement 1328446 1328498 - VariableDeclarationList 1328446 1328497 - VariableDeclaration 1328469 1328497 - Identifier 1328469 1328480 - ElementAccessExpression 1328482 1328497 - Identifier 1328482 1328494 - Identifier 1328495 1328496 - IfStatement 1328498 1329954 - BinaryExpression 1328520 1328726 - BinaryExpression 1328520 1328644 - BinaryExpression 1328520 1328567 - PropertyAccessExpression 1328520 1328549 - Identifier 1328520 1328543 - Identifier 1328544 1328549 - AmpersandToken 1328549 1328551 - PropertyAccessExpression 1328551 1328567 - Identifier 1328551 1328561 - Identifier 1328562 1328567 - AmpersandAmpersandToken 1328567 1328570 - BinaryExpression 1328570 1328644 - PropertyAccessExpression 1328570 1328589 - Identifier 1328570 1328582 - Identifier 1328583 1328589 - GreaterThanEqualsToken 1328589 1328592 - PropertyAccessExpression 1328592 1328644 - PropertyAccessExpression 1328592 1328637 - ParenthesizedExpression 1328592 1328631 - AsExpression 1328594 1328630 - Identifier 1328594 1328617 - TypeReference 1328620 1328630 - Identifier 1328620 1328630 - Identifier 1328632 1328637 - Identifier 1328638 1328644 - AmpersandAmpersandToken 1328644 1328647 - BinaryExpression 1328647 1328726 - BinaryExpression 1328647 1328720 - PropertyAccessExpression 1328647 1328666 - Identifier 1328647 1328659 - Identifier 1328660 1328666 - PercentToken 1328666 1328668 - PropertyAccessExpression 1328668 1328720 - PropertyAccessExpression 1328668 1328713 - ParenthesizedExpression 1328668 1328707 - AsExpression 1328670 1328706 - Identifier 1328670 1328693 - TypeReference 1328696 1328706 - Identifier 1328696 1328706 - Identifier 1328708 1328713 - Identifier 1328714 1328720 - EqualsEqualsEqualsToken 1328720 1328724 - NumericLiteral 1328724 1328726 - Block 1328727 1329954 - VariableStatement 1328729 1329797 - VariableDeclarationList 1328729 1329796 - VariableDeclaration 1329568 1329796 - Identifier 1329568 1329576 - CallExpression 1329578 1329796 - Identifier 1329578 1329590 - Identifier 1329591 1329601 - ElementAccessExpression 1329602 1329704 - PropertyAccessExpression 1329602 1329647 - ParenthesizedExpression 1329602 1329641 - AsExpression 1329604 1329640 - Identifier 1329604 1329627 - TypeReference 1329630 1329640 - Identifier 1329630 1329640 - Identifier 1329642 1329647 - BinaryExpression 1329648 1329703 - Identifier 1329648 1329649 - PercentToken 1329649 1329651 - PropertyAccessExpression 1329651 1329703 - PropertyAccessExpression 1329651 1329696 - ParenthesizedExpression 1329651 1329690 - AsExpression 1329653 1329689 - Identifier 1329653 1329676 - TypeReference 1329679 1329689 - Identifier 1329679 1329689 - Identifier 1329691 1329696 - Identifier 1329697 1329703 - PropertyAccessExpression 1329705 1329725 - Identifier 1329705 1329720 - Identifier 1329721 1329725 - FalseKeyword 1329726 1329749 - Identifier 1329750 1329776 - Identifier 1329777 1329795 - IfStatement 1329797 1329935 - Identifier 1329823 1329830 - Block 1329831 1329935 - ExpressionStatement 1329833 1329877 - BinaryExpression 1329833 1329876 - Identifier 1329833 1329865 - AmpersandEqualsToken 1329865 1329868 - Identifier 1329868 1329876 - ContinueStatement 1329877 1329912 - VariableStatement 1329954 1330103 - VariableDeclarationList 1329954 1330102 - VariableDeclaration 1329977 1330102 - Identifier 1329977 1329985 - CallExpression 1329987 1330102 - Identifier 1329987 1329999 - Identifier 1330000 1330010 - Identifier 1330011 1330018 - PropertyAccessExpression 1330019 1330041 - Identifier 1330019 1330034 - Identifier 1330035 1330041 - Identifier 1330042 1330055 - Identifier 1330056 1330082 - Identifier 1330083 1330101 - IfStatement 1330103 1330198 - PrefixUnaryExpression 1330125 1330133 - Identifier 1330126 1330133 - Block 1330134 1330198 - ReturnStatement 1330136 1330179 - PropertyAccessExpression 1330164 1330178 - Identifier 1330164 1330172 - Identifier 1330173 1330178 - ExpressionStatement 1330198 1330234 - BinaryExpression 1330198 1330233 - Identifier 1330198 1330222 - AmpersandEqualsToken 1330222 1330225 - Identifier 1330225 1330233 - ReturnStatement 1330249 1330277 - Identifier 1330269 1330276 - FunctionDeclaration 1330288 1334403 - Identifier 1330308 1330331 - Parameter 1330332 1330369 - Identifier 1330332 1330339 - TypeOperator 1330340 1330356 - ArrayType 1330349 1330356 - TypeReference 1330349 1330354 - Identifier 1330349 1330354 - Identifier 1330358 1330369 - Parameter 1330370 1330408 - Identifier 1330370 1330378 - TypeOperator 1330379 1330395 - ArrayType 1330388 1330395 - TypeReference 1330388 1330393 - Identifier 1330388 1330393 - Identifier 1330397 1330408 - Parameter 1330409 1330458 - Identifier 1330409 1330419 - TypeOperator 1330420 1330445 - ArrayType 1330429 1330445 - TypeReference 1330429 1330443 - Identifier 1330429 1330443 - Identifier 1330447 1330458 - Parameter 1330459 1330481 - Identifier 1330459 1330472 - BooleanKeyword 1330473 1330481 - Parameter 1330482 1330519 - Identifier 1330482 1330500 - TypeReference 1330501 1330519 - Identifier 1330501 1330519 - TypeReference 1330521 1330529 - Identifier 1330521 1330529 - Block 1330529 1334403 - IfStatement 1330531 1330672 - BinaryExpression 1330549 1330615 - BinaryExpression 1330549 1330582 - PropertyAccessExpression 1330549 1330563 - Identifier 1330549 1330556 - Identifier 1330557 1330563 - ExclamationEqualsEqualsToken 1330563 1330567 - PropertyAccessExpression 1330567 1330582 - Identifier 1330567 1330575 - Identifier 1330576 1330582 - AmpersandAmpersandToken 1330582 1330585 - BinaryExpression 1330585 1330615 - Identifier 1330585 1330594 - EqualsEqualsEqualsToken 1330594 1330598 - Identifier 1330598 1330615 - Block 1330616 1330672 - ReturnStatement 1330618 1330657 - PropertyAccessExpression 1330642 1330656 - Identifier 1330642 1330650 - Identifier 1330651 1330656 - VariableStatement 1330672 1330768 - VariableDeclarationList 1330672 1330767 - VariableDeclaration 1330691 1330767 - Identifier 1330691 1330698 - ConditionalExpression 1330700 1330767 - BinaryExpression 1330700 1330733 - PropertyAccessExpression 1330700 1330715 - Identifier 1330700 1330708 - Identifier 1330709 1330715 - LessThanEqualsToken 1330715 1330718 - PropertyAccessExpression 1330718 1330733 - Identifier 1330718 1330726 - Identifier 1330727 1330733 - QuestionToken 1330733 1330735 - PropertyAccessExpression 1330735 1330750 - Identifier 1330735 1330743 - Identifier 1330744 1330750 - ColonToken 1330750 1330752 - PropertyAccessExpression 1330752 1330767 - Identifier 1330752 1330760 - Identifier 1330761 1330767 - VariableStatement 1330768 1330808 - VariableDeclarationList 1330768 1330807 - VariableDeclaration 1330785 1330807 - Identifier 1330785 1330792 - PropertyAccessExpression 1330794 1330807 - Identifier 1330794 1330802 - Identifier 1330803 1330807 - ForStatement 1330808 1334364 - VariableDeclarationList 1330827 1330836 - VariableDeclaration 1330830 1330836 - Identifier 1330830 1330832 - NumericLiteral 1330834 1330836 - BinaryExpression 1330837 1330848 - Identifier 1330837 1330839 - LessThanToken 1330839 1330841 - Identifier 1330841 1330848 - PostfixUnaryExpression 1330849 1330853 - Identifier 1330849 1330851 - Block 1330854 1334364 - VariableStatement 1330856 1331210 - VariableDeclarationList 1330856 1331209 - VariableDeclaration 1331131 1331209 - Identifier 1331131 1331145 - ConditionalExpression 1331147 1331209 - BinaryExpression 1331147 1331168 - Identifier 1331147 1331149 - LessThanToken 1331149 1331151 - PropertyAccessExpression 1331151 1331168 - Identifier 1331151 1331161 - Identifier 1331162 1331168 - QuestionToken 1331168 1331170 - ElementAccessExpression 1331170 1331183 - Identifier 1331170 1331180 - Identifier 1331181 1331182 - ColonToken 1331183 1331185 - PropertyAccessExpression 1331185 1331209 - Identifier 1331185 1331199 - Identifier 1331200 1331209 - VariableStatement 1331210 1331288 - VariableDeclarationList 1331210 1331287 - VariableDeclaration 1331233 1331287 - Identifier 1331233 1331242 - BinaryExpression 1331244 1331287 - Identifier 1331244 1331258 - AmpersandToken 1331258 1331260 - PropertyAccessExpression 1331260 1331287 - Identifier 1331260 1331274 - Identifier 1331275 1331287 - IfStatement 1331288 1334349 - BinaryExpression 1331417 1331455 - Identifier 1331417 1331425 - ExclamationEqualsEqualsToken 1331425 1331429 - PropertyAccessExpression 1331429 1331455 - Identifier 1331429 1331443 - Identifier 1331444 1331455 - Block 1331456 1334349 - VariableStatement 1331458 1331501 - VariableDeclarationList 1331458 1331500 - VariableDeclaration 1331485 1331500 - Identifier 1331485 1331487 - ElementAccessExpression 1331489 1331500 - Identifier 1331489 1331497 - Identifier 1331498 1331499 - VariableStatement 1331501 1331544 - VariableDeclarationList 1331501 1331543 - VariableDeclaration 1331528 1331543 - Identifier 1331528 1331530 - ElementAccessExpression 1331532 1331543 - Identifier 1331532 1331540 - Identifier 1331541 1331542 - VariableStatement 1331544 1331593 - VariableDeclarationList 1331544 1331592 - VariableDeclaration 1331569 1331592 - Identifier 1331569 1331577 - PropertyAccessExpression 1331579 1331592 - Identifier 1331579 1331587 - Identifier 1331588 1331592 - IfStatement 1331593 1334183 - BinaryExpression 1331619 1331661 - Identifier 1331619 1331632 - AmpersandToken 1331632 1331634 - PropertyAccessExpression 1331634 1331661 - Identifier 1331634 1331648 - Identifier 1331649 1331661 - Block 1331662 1332275 - ExpressionStatement 1331664 1332252 - BinaryExpression 1331664 1332251 - Identifier 1331664 1332124 - EqualsToken 1332124 1332126 - ConditionalExpression 1332126 1332251 - BinaryExpression 1332126 1332156 - Identifier 1332126 1332135 - EqualsEqualsEqualsToken 1332135 1332139 - Identifier 1332139 1332156 - QuestionToken 1332156 1332158 - CallExpression 1332158 1332221 - Identifier 1332158 1332170 - Identifier 1332171 1332172 - Identifier 1332173 1332175 - PropertyAccessExpression 1332176 1332196 - Identifier 1332176 1332191 - Identifier 1332192 1332196 - FalseKeyword 1332197 1332220 - ColonToken 1332221 1332223 - CallExpression 1332223 1332251 - Identifier 1332223 1332245 - Identifier 1332246 1332247 - Identifier 1332248 1332250 - IfStatement 1332301 1334183 - BinaryExpression 1332306 1332342 - Identifier 1332306 1332314 - EqualsEqualsEqualsToken 1332314 1332318 - PropertyAccessExpression 1332318 1332342 - Identifier 1332318 1332332 - Identifier 1332333 1332342 - Block 1332343 1332503 - ExpressionStatement 1332345 1332480 - BinaryExpression 1332345 1332479 - Identifier 1332345 1332378 - EqualsToken 1332378 1332380 - CallExpression 1332380 1332479 - Identifier 1332380 1332392 - Identifier 1332393 1332394 - Identifier 1332395 1332397 - PropertyAccessExpression 1332398 1332418 - Identifier 1332398 1332413 - Identifier 1332414 1332418 - Identifier 1332419 1332432 - Identifier 1332433 1332459 - Identifier 1332460 1332478 - IfStatement 1332529 1334183 - BinaryExpression 1332534 1332574 - Identifier 1332534 1332542 - EqualsEqualsEqualsToken 1332542 1332546 - PropertyAccessExpression 1332546 1332574 - Identifier 1332546 1332560 - Identifier 1332561 1332574 - Block 1332575 1332735 - ExpressionStatement 1332577 1332712 - BinaryExpression 1332577 1332711 - Identifier 1332577 1332610 - EqualsToken 1332610 1332612 - CallExpression 1332612 1332711 - Identifier 1332612 1332624 - Identifier 1332625 1332626 - Identifier 1332627 1332629 - PropertyAccessExpression 1332630 1332650 - Identifier 1332630 1332645 - Identifier 1332646 1332650 - Identifier 1332651 1332664 - Identifier 1332665 1332691 - Identifier 1332692 1332710 - IfStatement 1332761 1334183 - BinaryExpression 1332766 1332802 - Identifier 1332766 1332774 - EqualsEqualsEqualsToken 1332774 1332778 - PropertyAccessExpression 1332778 1332802 - Identifier 1332778 1332792 - Identifier 1332793 1332802 - Block 1332803 1333512 - ExpressionStatement 1332805 1333282 - BinaryExpression 1332805 1333281 - Identifier 1332805 1333216 - EqualsToken 1333216 1333218 - CallExpression 1333218 1333281 - Identifier 1333218 1333230 - Identifier 1333231 1333232 - Identifier 1333233 1333235 - PropertyAccessExpression 1333236 1333256 - Identifier 1333236 1333251 - Identifier 1333252 1333256 - FalseKeyword 1333257 1333280 - IfStatement 1333282 1333489 - PrefixUnaryExpression 1333312 1333320 - Identifier 1333313 1333320 - Block 1333321 1333489 - ExpressionStatement 1333323 1333462 - BinaryExpression 1333323 1333461 - Identifier 1333323 1333360 - EqualsToken 1333360 1333362 - CallExpression 1333362 1333461 - Identifier 1333362 1333374 - Identifier 1333375 1333376 - Identifier 1333377 1333379 - PropertyAccessExpression 1333380 1333400 - Identifier 1333380 1333395 - Identifier 1333396 1333400 - Identifier 1333401 1333414 - Identifier 1333415 1333441 - Identifier 1333442 1333460 - Block 1333538 1334183 - ExpressionStatement 1333540 1333953 - BinaryExpression 1333540 1333952 - Identifier 1333540 1333851 - EqualsToken 1333851 1333853 - CallExpression 1333853 1333952 - Identifier 1333853 1333865 - Identifier 1333866 1333867 - Identifier 1333868 1333870 - PropertyAccessExpression 1333871 1333891 - Identifier 1333871 1333886 - Identifier 1333887 1333891 - Identifier 1333892 1333905 - Identifier 1333906 1333932 - Identifier 1333933 1333951 - IfStatement 1333953 1334160 - Identifier 1333983 1333990 - Block 1333991 1334160 - ExpressionStatement 1333993 1334133 - BinaryExpression 1333993 1334132 - Identifier 1333993 1334030 - AmpersandEqualsToken 1334030 1334033 - CallExpression 1334033 1334132 - Identifier 1334033 1334045 - Identifier 1334046 1334047 - Identifier 1334048 1334050 - PropertyAccessExpression 1334051 1334071 - Identifier 1334051 1334066 - Identifier 1334067 1334071 - Identifier 1334072 1334085 - Identifier 1334086 1334112 - Identifier 1334113 1334131 - IfStatement 1334183 1334290 - PrefixUnaryExpression 1334209 1334217 - Identifier 1334210 1334217 - Block 1334218 1334290 - ReturnStatement 1334220 1334267 - PropertyAccessExpression 1334252 1334266 - Identifier 1334252 1334260 - Identifier 1334261 1334266 - ExpressionStatement 1334290 1334330 - BinaryExpression 1334290 1334329 - Identifier 1334290 1334318 - AmpersandEqualsToken 1334318 1334321 - Identifier 1334321 1334329 - ReturnStatement 1334364 1334392 - Identifier 1334384 1334391 - FunctionDeclaration 1334403 1343110 - Identifier 1335056 1335079 - Parameter 1335080 1335092 - Identifier 1335080 1335086 - TypeReference 1335087 1335092 - Identifier 1335087 1335092 - Parameter 1335093 1335106 - Identifier 1335093 1335100 - TypeReference 1335101 1335106 - Identifier 1335101 1335106 - Parameter 1335107 1335129 - Identifier 1335107 1335120 - BooleanKeyword 1335121 1335129 - Parameter 1335130 1335167 - Identifier 1335130 1335148 - TypeReference 1335149 1335167 - Identifier 1335149 1335167 - Parameter 1335168 1335199 - Identifier 1335168 1335183 - TypeReference 1335184 1335199 - Identifier 1335184 1335199 - TypeReference 1335201 1335209 - Identifier 1335201 1335209 - Block 1335209 1343110 - IfStatement 1335211 1335294 - Identifier 1335229 1335237 - Block 1335238 1335294 - ReturnStatement 1335240 1335279 - PropertyAccessExpression 1335264 1335278 - Identifier 1335264 1335272 - Identifier 1335273 1335278 - VariableStatement 1335294 1335408 - VariableDeclarationList 1335294 1335407 - VariableDeclaration 1335313 1335407 - Identifier 1335313 1335316 - CallExpression 1335318 1335407 - Identifier 1335318 1335333 - Identifier 1335334 1335340 - Identifier 1335341 1335348 - Identifier 1335349 1335367 - Identifier 1335368 1335377 - FalseKeyword 1335378 1335406 - VariableStatement 1335408 1335453 - VariableDeclarationList 1335408 1335452 - VariableDeclaration 1335427 1335452 - Identifier 1335427 1335433 - CallExpression 1335435 1335452 - PropertyAccessExpression 1335435 1335448 - Identifier 1335435 1335444 - Identifier 1335445 1335448 - Identifier 1335449 1335451 - IfStatement 1335453 1337219 - BinaryExpression 1335471 1335490 - Identifier 1335471 1335476 - ExclamationEqualsEqualsToken 1335476 1335480 - Identifier 1335480 1335490 - Block 1335491 1337219 - IfStatement 1335493 1337204 - BinaryExpression 1335515 1335618 - BinaryExpression 1335515 1335570 - Identifier 1335515 1335527 - AmpersandAmpersandToken 1335527 1335530 - BinaryExpression 1335530 1335570 - Identifier 1335530 1335536 - AmpersandToken 1335536 1335538 - PropertyAccessExpression 1335538 1335570 - Identifier 1335538 1335563 - Identifier 1335564 1335570 - AmpersandAmpersandToken 1335570 1335573 - PrefixUnaryExpression 1335573 1335618 - ParenthesizedExpression 1335575 1335618 - BinaryExpression 1335576 1335617 - Identifier 1335576 1335581 - AmpersandToken 1335581 1335583 - PropertyAccessExpression 1335583 1335617 - Identifier 1335583 1335608 - Identifier 1335609 1335617 - Block 1335619 1335848 - Block 1335870 1337204 - IfStatement 1335872 1336561 - Identifier 1335898 1335928 - Block 1335929 1336561 - VariableStatement 1335931 1336158 - VariableDeclarationList 1335931 1336157 - VariableDeclaration 1336104 1336157 - Identifier 1336104 1336110 - BinaryExpression 1336112 1336157 - Identifier 1336112 1336118 - AmpersandToken 1336118 1336120 - PropertyAccessExpression 1336120 1336157 - Identifier 1336120 1336145 - Identifier 1336146 1336157 - IfStatement 1336158 1336350 - BinaryExpression 1336188 1336240 - Identifier 1336188 1336193 - AmpersandToken 1336193 1336195 - PropertyAccessExpression 1336195 1336240 - Identifier 1336195 1336220 - Identifier 1336221 1336240 - Block 1336241 1336350 - ExpressionStatement 1336243 1336323 - CallExpression 1336243 1336322 - Identifier 1336243 1336288 - Identifier 1336289 1336295 - Identifier 1336296 1336321 - IfStatement 1336350 1336538 - BinaryExpression 1336380 1336430 - Identifier 1336380 1336385 - AmpersandToken 1336385 1336387 - PropertyAccessExpression 1336387 1336430 - Identifier 1336387 1336412 - Identifier 1336413 1336430 - Block 1336431 1336538 - ExpressionStatement 1336433 1336511 - CallExpression 1336433 1336510 - Identifier 1336433 1336478 - Identifier 1336479 1336485 - Identifier 1336486 1336509 - IfStatement 1336561 1337082 - BinaryExpression 1336587 1336644 - Identifier 1336587 1336599 - AmpersandAmpersandToken 1336599 1336602 - BinaryExpression 1336602 1336644 - Identifier 1336602 1336608 - AmpersandToken 1336608 1336610 - PropertyAccessExpression 1336610 1336644 - Identifier 1336610 1336635 - Identifier 1336636 1336644 - Block 1336645 1337082 - VariableStatement 1336647 1336918 - VariableDeclarationList 1336647 1336917 - VariableDeclaration 1336678 1336917 - Identifier 1336678 1336686 - ConditionalExpression 1336688 1336917 - BinaryExpression 1336688 1336740 - Identifier 1336688 1336694 - AmpersandToken 1336694 1336696 - PropertyAccessExpression 1336696 1336740 - Identifier 1336696 1336721 - Identifier 1336722 1336740 - QuestionToken 1336740 1336742 - PropertyAccessExpression 1336742 1336828 - Identifier 1336742 1336783 - Identifier 1336784 1336828 - ColonToken 1336828 1336830 - PropertyAccessExpression 1336830 1336917 - Identifier 1336830 1336871 - Identifier 1336872 1336917 - ExpressionStatement 1336918 1337009 - CallExpression 1336918 1337008 - Identifier 1336918 1336955 - Identifier 1336956 1336963 - CallExpression 1336964 1336985 - Identifier 1336964 1336977 - Identifier 1336978 1336984 - CallExpression 1336986 1337007 - Identifier 1336986 1336999 - Identifier 1337000 1337006 - ExpressionStatement 1337009 1337059 - PostfixUnaryExpression 1337009 1337058 - Identifier 1337009 1337056 - ReturnStatement 1337082 1337185 - ConditionalExpression 1337110 1337184 - BinaryExpression 1337110 1337153 - Identifier 1337110 1337116 - AmpersandToken 1337116 1337118 - PropertyAccessExpression 1337118 1337153 - Identifier 1337118 1337143 - Identifier 1337144 1337153 - QuestionToken 1337153 1337155 - PropertyAccessExpression 1337155 1337168 - Identifier 1337155 1337163 - Identifier 1337164 1337168 - ColonToken 1337168 1337170 - PropertyAccessExpression 1337170 1337184 - Identifier 1337170 1337178 - Identifier 1337179 1337184 - IfStatement 1337219 1337346 - BinaryExpression 1337237 1337255 - Identifier 1337237 1337250 - LessThanEqualsToken 1337250 1337253 - NumericLiteral 1337253 1337255 - Block 1337256 1337346 - ExpressionStatement 1337258 1337292 - BinaryExpression 1337258 1337291 - Identifier 1337258 1337284 - EqualsToken 1337284 1337286 - TrueKeyword 1337286 1337291 - ReturnStatement 1337292 1337331 - PropertyAccessExpression 1337316 1337330 - Identifier 1337316 1337324 - Identifier 1337325 1337330 - IfStatement 1337346 1338561 - PrefixUnaryExpression 1337364 1337374 - Identifier 1337365 1337374 - Block 1337375 1337538 - ExpressionStatement 1337377 1337410 - BinaryExpression 1337377 1337409 - Identifier 1337377 1337404 - EqualsToken 1337404 1337406 - ArrayLiteralExpression 1337406 1337409 - ExpressionStatement 1337410 1337453 - BinaryExpression 1337410 1337452 - Identifier 1337410 1337440 - EqualsToken 1337440 1337442 - NewExpression 1337442 1337452 - Identifier 1337446 1337450 - ExpressionStatement 1337453 1337488 - BinaryExpression 1337453 1337487 - Identifier 1337453 1337482 - EqualsToken 1337482 1337484 - ArrayLiteralExpression 1337484 1337487 - ExpressionStatement 1337488 1337523 - BinaryExpression 1337488 1337522 - Identifier 1337488 1337517 - EqualsToken 1337517 1337519 - ArrayLiteralExpression 1337519 1337522 - Block 1337556 1338561 - IfStatement 1337558 1337773 - CallExpression 1337688 1337708 - PropertyAccessExpression 1337688 1337704 - Identifier 1337688 1337700 - Identifier 1337701 1337704 - Identifier 1337705 1337707 - Block 1337709 1337773 - ReturnStatement 1337711 1337754 - PropertyAccessExpression 1337739 1337753 - Identifier 1337739 1337747 - Identifier 1337748 1337753 - VariableStatement 1337773 1338228 - VariableDeclarationList 1337773 1338227 - VariableDeclaration 1338083 1338227 - Identifier 1338083 1338104 - ConditionalExpression 1338106 1338227 - CallExpression 1338106 1338125 - PropertyAccessExpression 1338106 1338120 - Identifier 1338106 1338109 - Identifier 1338110 1338120 - StringLiteral 1338121 1338124 - QuestionToken 1338125 1338127 - CallExpression 1338127 1338215 - Identifier 1338127 1338142 - Identifier 1338143 1338149 - Identifier 1338150 1338157 - Identifier 1338158 1338176 - Identifier 1338177 1338186 - TrueKeyword 1338187 1338214 - ColonToken 1338215 1338217 - Identifier 1338217 1338227 - IfStatement 1338228 1338377 - BinaryExpression 1338250 1338312 - Identifier 1338250 1338270 - AmpersandAmpersandToken 1338270 1338273 - CallExpression 1338273 1338312 - PropertyAccessExpression 1338273 1338290 - Identifier 1338273 1338286 - Identifier 1338287 1338290 - Identifier 1338291 1338311 - Block 1338313 1338377 - ReturnStatement 1338315 1338358 - PropertyAccessExpression 1338343 1338357 - Identifier 1338343 1338351 - Identifier 1338352 1338357 - IfStatement 1338377 1338546 - BinaryExpression 1338401 1338443 - BinaryExpression 1338401 1338420 - Identifier 1338401 1338412 - EqualsEqualsEqualsToken 1338412 1338416 - NumericLiteral 1338416 1338420 - BarBarToken 1338420 1338423 - BinaryExpression 1338423 1338443 - Identifier 1338423 1338435 - EqualsEqualsEqualsToken 1338435 1338439 - NumericLiteral 1338439 1338443 - Block 1338444 1338546 - ExpressionStatement 1338446 1338484 - BinaryExpression 1338446 1338483 - Identifier 1338446 1338476 - EqualsToken 1338476 1338478 - TrueKeyword 1338478 1338483 - ReturnStatement 1338484 1338527 - PropertyAccessExpression 1338512 1338526 - Identifier 1338512 1338520 - Identifier 1338521 1338526 - VariableStatement 1338561 1338605 - VariableDeclarationList 1338561 1338604 - VariableDeclaration 1338580 1338604 - Identifier 1338580 1338591 - Identifier 1338593 1338604 - ExpressionStatement 1338605 1338646 - BinaryExpression 1338605 1338645 - ElementAccessExpression 1338605 1338640 - Identifier 1338605 1338628 - Identifier 1338629 1338639 - EqualsToken 1338640 1338642 - Identifier 1338642 1338645 - ExpressionStatement 1338646 1338681 - CallExpression 1338646 1338680 - PropertyAccessExpression 1338646 1338676 - Identifier 1338646 1338672 - Identifier 1338673 1338676 - Identifier 1338677 1338679 - ExpressionStatement 1338681 1338708 - PostfixUnaryExpression 1338681 1338707 - Identifier 1338681 1338705 - VariableStatement 1338708 1338764 - VariableDeclarationList 1338708 1338763 - VariableDeclaration 1338727 1338763 - Identifier 1338727 1338746 - Identifier 1338748 1338763 - IfStatement 1338764 1339083 - BinaryExpression 1338782 1338820 - Identifier 1338782 1338796 - AmpersandToken 1338796 1338798 - PropertyAccessExpression 1338798 1338820 - Identifier 1338798 1338813 - Identifier 1338814 1338820 - Block 1338821 1339083 - ExpressionStatement 1338823 1338875 - BinaryExpression 1338823 1338874 - ElementAccessExpression 1338823 1338865 - Identifier 1338823 1338852 - Identifier 1338853 1338864 - EqualsToken 1338865 1338867 - Identifier 1338867 1338874 - ExpressionStatement 1338875 1338907 - PostfixUnaryExpression 1338875 1338906 - Identifier 1338875 1338904 - IfStatement 1338907 1339068 - BinaryExpression 1338929 1339026 - PrefixUnaryExpression 1338929 1338970 - ParenthesizedExpression 1338930 1338970 - BinaryExpression 1338931 1338969 - Identifier 1338931 1338945 - AmpersandToken 1338945 1338947 - PropertyAccessExpression 1338947 1338969 - Identifier 1338947 1338962 - Identifier 1338963 1338969 - AmpersandAmpersandToken 1338970 1338973 - CallExpression 1338973 1339026 - Identifier 1338973 1338992 - Identifier 1338993 1338999 - Identifier 1339000 1339012 - Identifier 1339013 1339025 - ExpressionStatement 1339027 1339068 - BinaryExpression 1339027 1339067 - Identifier 1339027 1339042 - BarEqualsToken 1339042 1339045 - PropertyAccessExpression 1339045 1339067 - Identifier 1339045 1339060 - Identifier 1339061 1339067 - IfStatement 1339083 1339402 - BinaryExpression 1339101 1339139 - Identifier 1339101 1339115 - AmpersandToken 1339115 1339117 - PropertyAccessExpression 1339117 1339139 - Identifier 1339117 1339132 - Identifier 1339133 1339139 - Block 1339140 1339402 - ExpressionStatement 1339142 1339194 - BinaryExpression 1339142 1339193 - ElementAccessExpression 1339142 1339184 - Identifier 1339142 1339171 - Identifier 1339172 1339183 - EqualsToken 1339184 1339186 - Identifier 1339186 1339193 - ExpressionStatement 1339194 1339226 - PostfixUnaryExpression 1339194 1339225 - Identifier 1339194 1339223 - IfStatement 1339226 1339387 - BinaryExpression 1339248 1339345 - PrefixUnaryExpression 1339248 1339289 - ParenthesizedExpression 1339249 1339289 - BinaryExpression 1339250 1339288 - Identifier 1339250 1339264 - AmpersandToken 1339264 1339266 - PropertyAccessExpression 1339266 1339288 - Identifier 1339266 1339281 - Identifier 1339282 1339288 - AmpersandAmpersandToken 1339289 1339292 - CallExpression 1339292 1339345 - Identifier 1339292 1339311 - Identifier 1339312 1339318 - Identifier 1339319 1339331 - Identifier 1339332 1339344 - ExpressionStatement 1339346 1339387 - BinaryExpression 1339346 1339386 - Identifier 1339346 1339361 - BarEqualsToken 1339361 1339364 - PropertyAccessExpression 1339364 1339386 - Identifier 1339364 1339379 - Identifier 1339380 1339386 - VariableStatement 1339402 1339475 - VariableDeclarationList 1339402 1339474 - VariableDeclaration 1339419 1339474 - Identifier 1339419 1339435 - TypeQuery 1339436 1339474 - Identifier 1339443 1339474 - VariableStatement 1339475 1339550 - VariableDeclarationList 1339475 1339549 - VariableDeclaration 1339492 1339549 - Identifier 1339492 1339517 - AsExpression 1339519 1339549 - NumericLiteral 1339519 1339521 - TypeReference 1339524 1339549 - Identifier 1339524 1339549 - IfStatement 1339550 1339992 - Identifier 1339568 1339598 - Block 1339599 1339992 - ExpressionStatement 1339601 1339668 - BinaryExpression 1339601 1339667 - Identifier 1339601 1339634 - EqualsToken 1339634 1339636 - Identifier 1339636 1339667 - ExpressionStatement 1339668 1339977 - BinaryExpression 1339668 1339976 - Identifier 1339668 1339716 - EqualsToken 1339716 1339718 - ArrowFunction 1339718 1339976 - Parameter 1339718 1339733 - Identifier 1339718 1339733 - EqualsGreaterThanToken 1339733 1339736 - Block 1339736 1339976 - ExpressionStatement 1339738 1339895 - BinaryExpression 1339738 1339894 - Identifier 1339738 1339784 - BarEqualsToken 1339784 1339787 - ConditionalExpression 1339787 1339894 - Identifier 1339787 1339802 - QuestionToken 1339802 1339804 - PropertyAccessExpression 1339804 1339847 - Identifier 1339804 1339829 - Identifier 1339830 1339847 - ColonToken 1339847 1339849 - PropertyAccessExpression 1339849 1339894 - Identifier 1339849 1339874 - Identifier 1339875 1339894 - ReturnStatement 1339895 1339957 - CallExpression 1339923 1339956 - NonNullExpression 1339923 1339940 - Identifier 1339923 1339939 - Identifier 1339941 1339955 - VariableStatement 1339992 1340028 - VariableDeclarationList 1339992 1340027 - VariableDeclaration 1340011 1340027 - Identifier 1340011 1340018 - TypeReference 1340019 1340027 - Identifier 1340019 1340027 - IfStatement 1340028 1340849 - BinaryExpression 1340046 1340084 - Identifier 1340046 1340060 - EqualsEqualsEqualsToken 1340060 1340064 - PropertyAccessExpression 1340064 1340084 - Identifier 1340064 1340079 - Identifier 1340080 1340084 - Block 1340085 1340550 - ExpressionStatement 1340087 1340494 - CallExpression 1340087 1340493 - PropertyAccessExpression 1340087 1340121 - Identifier 1340087 1340112 - QuestionDotToken 1340112 1340114 - Identifier 1340114 1340121 - PropertyAccessExpression 1340122 1340146 - PropertyAccessExpression 1340122 1340135 - Identifier 1340122 1340129 - Identifier 1340130 1340135 - Identifier 1340136 1340146 - StringLiteral 1340147 1340183 - ObjectLiteralExpression 1340184 1340492 - PropertyAssignment 1340186 1340227 - Identifier 1340186 1340216 - PropertyAccessExpression 1340217 1340227 - Identifier 1340217 1340224 - Identifier 1340225 1340227 - PropertyAssignment 1340228 1340291 - Identifier 1340228 1340263 - CallExpression 1340264 1340291 - PropertyAccessExpression 1340264 1340280 - Identifier 1340264 1340276 - Identifier 1340277 1340280 - ArrowFunction 1340281 1340290 - Parameter 1340281 1340282 - Identifier 1340281 1340282 - EqualsGreaterThanToken 1340282 1340285 - PropertyAccessExpression 1340285 1340290 - Identifier 1340285 1340287 - Identifier 1340288 1340290 - PropertyAssignment 1340292 1340333 - Identifier 1340292 1340322 - PropertyAccessExpression 1340323 1340333 - Identifier 1340323 1340330 - Identifier 1340331 1340333 - PropertyAssignment 1340334 1340397 - Identifier 1340334 1340369 - CallExpression 1340370 1340397 - PropertyAccessExpression 1340370 1340386 - Identifier 1340370 1340382 - Identifier 1340383 1340386 - ArrowFunction 1340387 1340396 - Parameter 1340387 1340388 - Identifier 1340387 1340388 - EqualsGreaterThanToken 1340388 1340391 - PropertyAccessExpression 1340391 1340396 - Identifier 1340391 1340393 - Identifier 1340394 1340396 - PropertyAssignment 1340398 1340438 - Identifier 1340398 1340425 - Identifier 1340426 1340438 - ShorthandPropertyAssignment 1340439 1340472 - Identifier 1340439 1340472 - ExpressionStatement 1340494 1340535 - BinaryExpression 1340494 1340534 - Identifier 1340494 1340518 - EqualsToken 1340518 1340520 - PropertyAccessExpression 1340520 1340534 - Identifier 1340520 1340528 - Identifier 1340529 1340534 - Block 1340568 1340849 - ExpressionStatement 1340570 1340701 - CallExpression 1340570 1340700 - PropertyAccessExpression 1340570 1340601 - Identifier 1340570 1340595 - QuestionDotToken 1340595 1340597 - Identifier 1340597 1340601 - PropertyAccessExpression 1340602 1340626 - PropertyAccessExpression 1340602 1340615 - Identifier 1340602 1340609 - Identifier 1340610 1340615 - Identifier 1340616 1340626 - StringLiteral 1340627 1340653 - ObjectLiteralExpression 1340654 1340699 - PropertyAssignment 1340656 1340676 - Identifier 1340656 1340665 - PropertyAccessExpression 1340666 1340676 - Identifier 1340666 1340673 - Identifier 1340674 1340676 - PropertyAssignment 1340677 1340697 - Identifier 1340677 1340686 - PropertyAccessExpression 1340687 1340697 - Identifier 1340687 1340694 - Identifier 1340695 1340697 - ExpressionStatement 1340701 1340801 - BinaryExpression 1340701 1340800 - Identifier 1340701 1340725 - EqualsToken 1340725 1340727 - CallExpression 1340727 1340800 - Identifier 1340727 1340751 - Identifier 1340752 1340758 - Identifier 1340759 1340766 - Identifier 1340767 1340780 - Identifier 1340781 1340799 - ExpressionStatement 1340801 1340834 - CallExpression 1340801 1340833 - PropertyAccessExpression 1340801 1340831 - Identifier 1340801 1340826 - QuestionDotToken 1340826 1340828 - Identifier 1340828 1340831 - IfStatement 1340849 1340984 - Identifier 1340869 1340899 - Block 1340900 1340984 - ExpressionStatement 1340902 1340969 - BinaryExpression 1340902 1340968 - Identifier 1340902 1340950 - EqualsToken 1340950 1340952 - Identifier 1340952 1340968 - IfStatement 1340984 1341090 - BinaryExpression 1341002 1341040 - Identifier 1341002 1341016 - AmpersandToken 1341016 1341018 - PropertyAccessExpression 1341018 1341040 - Identifier 1341018 1341033 - Identifier 1341034 1341040 - Block 1341041 1341090 - ExpressionStatement 1341043 1341075 - PostfixUnaryExpression 1341043 1341074 - Identifier 1341043 1341072 - IfStatement 1341090 1341196 - BinaryExpression 1341108 1341146 - Identifier 1341108 1341122 - AmpersandToken 1341122 1341124 - PropertyAccessExpression 1341124 1341146 - Identifier 1341124 1341139 - Identifier 1341140 1341146 - Block 1341147 1341196 - ExpressionStatement 1341149 1341181 - PostfixUnaryExpression 1341149 1341180 - Identifier 1341149 1341178 - ExpressionStatement 1341196 1341246 - BinaryExpression 1341196 1341245 - Identifier 1341196 1341224 - EqualsToken 1341224 1341226 - Identifier 1341226 1341245 - IfStatement 1341246 1342575 - Identifier 1341264 1341270 - Block 1341271 1342174 - IfStatement 1341273 1341930 - BinaryExpression 1341295 1341362 - BinaryExpression 1341295 1341318 - Identifier 1341295 1341301 - EqualsEqualsEqualsToken 1341301 1341305 - PropertyAccessExpression 1341305 1341318 - Identifier 1341305 1341313 - Identifier 1341314 1341318 - BarBarToken 1341318 1341321 - ParenthesizedExpression 1341321 1341362 - BinaryExpression 1341323 1341361 - BinaryExpression 1341323 1341340 - Identifier 1341323 1341334 - EqualsEqualsEqualsToken 1341334 1341338 - NumericLiteral 1341338 1341340 - AmpersandAmpersandToken 1341340 1341343 - BinaryExpression 1341343 1341361 - Identifier 1341343 1341355 - EqualsEqualsEqualsToken 1341355 1341359 - NumericLiteral 1341359 1341361 - Block 1341363 1341930 - IfStatement 1341365 1341911 - BinaryExpression 1341391 1341442 - BinaryExpression 1341391 1341414 - Identifier 1341391 1341397 - EqualsEqualsEqualsToken 1341397 1341401 - PropertyAccessExpression 1341401 1341414 - Identifier 1341401 1341409 - Identifier 1341410 1341414 - BarBarToken 1341414 1341417 - BinaryExpression 1341417 1341442 - Identifier 1341417 1341424 - EqualsEqualsEqualsToken 1341424 1341428 - PropertyAccessExpression 1341428 1341442 - Identifier 1341428 1341436 - Identifier 1341437 1341442 - Block 1341443 1341788 - ExpressionStatement 1341445 1341765 - CallExpression 1341445 1341764 - Identifier 1341445 1341735 - TrueKeyword 1341736 1341763 - Block 1341814 1341911 - ExpressionStatement 1341816 1341888 - CallExpression 1341816 1341887 - Identifier 1341816 1341857 - FalseKeyword 1341858 1341886 - Block 1342192 1342575 - ExpressionStatement 1342194 1342462 - CallExpression 1342194 1342461 - PropertyAccessExpression 1342194 1342397 - Identifier 1342194 1342393 - Identifier 1342394 1342397 - Identifier 1342398 1342400 - BinaryExpression 1342401 1342460 - PropertyAccessExpression 1342401 1342433 - Identifier 1342401 1342426 - Identifier 1342427 1342433 - BarToken 1342433 1342435 - Identifier 1342435 1342460 - ExpressionStatement 1342462 1342496 - PostfixUnaryExpression 1342462 1342495 - Identifier 1342462 1342493 - ExpressionStatement 1342496 1342560 - CallExpression 1342496 1342559 - Identifier 1342496 1342529 - FalseKeyword 1342530 1342558 - ReturnStatement 1342575 1342603 - Identifier 1342595 1342602 - FunctionDeclaration 1342603 1343099 - Identifier 1342627 1342643 - Parameter 1342644 1342671 - Identifier 1342644 1342662 - BooleanKeyword 1342663 1342671 - Block 1342672 1343099 - ForStatement 1342674 1343042 - VariableDeclarationList 1342697 1342715 - VariableDeclaration 1342700 1342715 - Identifier 1342700 1342702 - Identifier 1342704 1342715 - BinaryExpression 1342716 1342731 - Identifier 1342716 1342718 - LessThanToken 1342718 1342720 - Identifier 1342720 1342731 - PostfixUnaryExpression 1342732 1342736 - Identifier 1342732 1342734 - Block 1342737 1343042 - ExpressionStatement 1342739 1342795 - CallExpression 1342739 1342794 - PropertyAccessExpression 1342739 1342780 - Identifier 1342739 1342773 - Identifier 1342774 1342780 - ElementAccessExpression 1342781 1342793 - Identifier 1342781 1342790 - Identifier 1342791 1342792 - IfStatement 1342795 1343023 - Identifier 1342821 1342839 - Block 1342840 1343023 - ExpressionStatement 1342842 1342958 - CallExpression 1342842 1342957 - PropertyAccessExpression 1342842 1342880 - Identifier 1342842 1342876 - Identifier 1342877 1342880 - ElementAccessExpression 1342881 1342893 - Identifier 1342881 1342890 - Identifier 1342891 1342892 - BinaryExpression 1342894 1342956 - PropertyAccessExpression 1342894 1342929 - Identifier 1342894 1342919 - Identifier 1342920 1342929 - BarToken 1342929 1342931 - Identifier 1342931 1342956 - ExpressionStatement 1342958 1343000 - PostfixUnaryExpression 1342958 1342999 - Identifier 1342958 1342997 - ExpressionStatement 1343042 1343084 - BinaryExpression 1343042 1343083 - Identifier 1343042 1343070 - EqualsToken 1343070 1343072 - Identifier 1343072 1343083 - FunctionDeclaration 1343110 1348355 - Identifier 1343130 1343154 - Parameter 1343155 1343167 - Identifier 1343155 1343161 - TypeReference 1343162 1343167 - Identifier 1343162 1343167 - Parameter 1343168 1343181 - Identifier 1343168 1343175 - TypeReference 1343176 1343181 - Identifier 1343176 1343181 - Parameter 1343182 1343204 - Identifier 1343182 1343195 - BooleanKeyword 1343196 1343204 - Parameter 1343205 1343242 - Identifier 1343205 1343223 - TypeReference 1343224 1343242 - Identifier 1343224 1343242 - TypeReference 1343244 1343252 - Identifier 1343244 1343252 - Block 1343252 1348355 - VariableStatement 1343254 1343321 - VariableDeclarationList 1343254 1343320 - VariableDeclaration 1343273 1343320 - Identifier 1343273 1343287 - CallExpression 1343289 1343320 - Identifier 1343289 1343318 - VariableStatement 1343321 1343442 - VariableDeclarationList 1343321 1343441 - VariableDeclaration 1343338 1343441 - Identifier 1343338 1343345 - CallExpression 1343347 1343441 - Identifier 1343347 1343377 - Identifier 1343378 1343384 - Identifier 1343385 1343392 - Identifier 1343393 1343406 - Identifier 1343407 1343425 - Identifier 1343426 1343440 - IfStatement 1343442 1348226 - BinaryExpression 1343460 1343489 - Identifier 1343460 1343468 - ExclamationEqualsEqualsToken 1343468 1343472 - Identifier 1343472 1343489 - Block 1343490 1348226 - IfStatement 1343492 1345774 - BinaryExpression 1344974 1345100 - PrefixUnaryExpression 1344974 1344981 - Identifier 1344975 1344981 - AmpersandAmpersandToken 1344981 1344984 - ParenthesizedExpression 1344984 1345100 - BinaryExpression 1344986 1345099 - BinaryExpression 1344986 1345023 - PropertyAccessExpression 1344986 1344998 - Identifier 1344986 1344992 - Identifier 1344993 1344998 - AmpersandToken 1344998 1345000 - PropertyAccessExpression 1345000 1345023 - Identifier 1345000 1345010 - Identifier 1345011 1345023 - BarBarToken 1345023 1345026 - BinaryExpression 1345026 1345099 - BinaryExpression 1345026 1345065 - PropertyAccessExpression 1345026 1345039 - Identifier 1345026 1345033 - Identifier 1345034 1345039 - AmpersandToken 1345039 1345041 - PropertyAccessExpression 1345041 1345065 - Identifier 1345041 1345051 - Identifier 1345052 1345065 - AmpersandAmpersandToken 1345065 1345068 - BinaryExpression 1345068 1345099 - PropertyAccessExpression 1345068 1345081 - Identifier 1345068 1345075 - Identifier 1345076 1345081 - AmpersandToken 1345081 1345083 - PropertyAccessExpression 1345083 1345099 - Identifier 1345083 1345093 - Identifier 1345094 1345099 - Block 1345101 1345774 - VariableStatement 1345103 1345304 - VariableDeclarationList 1345103 1345303 - VariableDeclaration 1345130 1345303 - Identifier 1345130 1345141 - CallExpression 1345143 1345303 - Identifier 1345143 1345180 - ConditionalExpression 1345181 1345266 - BinaryExpression 1345181 1345218 - PropertyAccessExpression 1345181 1345193 - Identifier 1345181 1345187 - Identifier 1345188 1345193 - AmpersandToken 1345193 1345195 - PropertyAccessExpression 1345195 1345218 - Identifier 1345195 1345205 - Identifier 1345206 1345218 - QuestionToken 1345218 1345220 - PropertyAccessExpression 1345220 1345255 - ParenthesizedExpression 1345220 1345249 - AsExpression 1345222 1345248 - Identifier 1345222 1345228 - TypeReference 1345231 1345248 - Identifier 1345231 1345248 - Identifier 1345250 1345255 - ColonToken 1345255 1345257 - ArrayLiteralExpression 1345257 1345266 - Identifier 1345259 1345265 - PrefixUnaryExpression 1345267 1345302 - PrefixUnaryExpression 1345269 1345302 - ParenthesizedExpression 1345270 1345302 - BinaryExpression 1345271 1345301 - PropertyAccessExpression 1345271 1345283 - Identifier 1345271 1345277 - Identifier 1345278 1345283 - AmpersandToken 1345283 1345285 - PropertyAccessExpression 1345285 1345301 - Identifier 1345285 1345295 - Identifier 1345296 1345301 - IfStatement 1345304 1345755 - BinaryExpression 1345330 1345384 - Identifier 1345330 1345340 - AmpersandAmpersandToken 1345340 1345343 - CallExpression 1345343 1345384 - Identifier 1345343 1345353 - Identifier 1345354 1345364 - ArrowFunction 1345365 1345383 - Parameter 1345365 1345367 - Identifier 1345365 1345367 - EqualsGreaterThanToken 1345367 1345370 - BinaryExpression 1345370 1345383 - Identifier 1345370 1345372 - ExclamationEqualsEqualsToken 1345372 1345376 - Identifier 1345376 1345383 - Block 1345385 1345755 - ExpressionStatement 1345387 1345732 - BinaryExpression 1345387 1345731 - Identifier 1345387 1345604 - EqualsToken 1345604 1345606 - CallExpression 1345606 1345731 - Identifier 1345606 1345618 - Identifier 1345619 1345629 - Identifier 1345630 1345637 - PropertyAccessExpression 1345638 1345660 - Identifier 1345638 1345653 - Identifier 1345654 1345660 - FalseKeyword 1345661 1345684 - Identifier 1345685 1345711 - Identifier 1345712 1345730 - IfStatement 1345774 1348211 - BinaryExpression 1346465 1346700 - BinaryExpression 1346465 1346638 - BinaryExpression 1346465 1346585 - BinaryExpression 1346465 1346544 - Identifier 1346465 1346493 - AmpersandAmpersandToken 1346493 1346496 - PrefixUnaryExpression 1346496 1346544 - ParenthesizedExpression 1346498 1346544 - BinaryExpression 1346499 1346543 - Identifier 1346499 1346516 - AmpersandToken 1346516 1346518 - PropertyAccessExpression 1346518 1346543 - Identifier 1346518 1346536 - Identifier 1346537 1346543 - AmpersandAmpersandToken 1346544 1346547 - BinaryExpression 1346547 1346585 - PropertyAccessExpression 1346547 1346560 - Identifier 1346547 1346554 - Identifier 1346555 1346560 - AmpersandToken 1346560 1346562 - PropertyAccessExpression 1346562 1346585 - Identifier 1346562 1346572 - Identifier 1346573 1346585 - AmpersandAmpersandToken 1346585 1346588 - PrefixUnaryExpression 1346588 1346638 - CallExpression 1346611 1346638 - Identifier 1346611 1346630 - Identifier 1346631 1346637 - AmpersandAmpersandToken 1346638 1346641 - BinaryExpression 1346641 1346700 - PropertyAccessExpression 1346641 1346654 - Identifier 1346641 1346648 - Identifier 1346649 1346654 - AmpersandToken 1346654 1346656 - ParenthesizedExpression 1346656 1346700 - BinaryExpression 1346658 1346699 - PropertyAccessExpression 1346658 1346674 - Identifier 1346658 1346667 - Identifier 1346668 1346674 - BarToken 1346674 1346676 - PropertyAccessExpression 1346676 1346699 - Identifier 1346676 1346686 - Identifier 1346687 1346699 - Block 1346719 1347191 - ExpressionStatement 1346721 1346886 - BinaryExpression 1346721 1346885 - Identifier 1346721 1346749 - AmpersandEqualsToken 1346749 1346752 - CallExpression 1346752 1346885 - Identifier 1346752 1346772 - Identifier 1346773 1346779 - Identifier 1346780 1346787 - Identifier 1346788 1346801 - Identifier 1346802 1346835 - FalseKeyword 1346836 1346860 - PropertyAccessExpression 1346861 1346884 - Identifier 1346861 1346879 - Identifier 1346880 1346884 - IfStatement 1346886 1347172 - BinaryExpression 1346912 1347002 - BinaryExpression 1346912 1346949 - Identifier 1346912 1346918 - AmpersandAmpersandToken 1346918 1346921 - CallExpression 1346921 1346949 - Identifier 1346921 1346941 - Identifier 1346942 1346948 - AmpersandAmpersandToken 1346949 1346952 - BinaryExpression 1346952 1347002 - CallExpression 1346952 1346975 - Identifier 1346952 1346967 - Identifier 1346968 1346974 - AmpersandToken 1346975 1346977 - PropertyAccessExpression 1346977 1347002 - Identifier 1346977 1346989 - Identifier 1346990 1347002 - Block 1347003 1347172 - ExpressionStatement 1347005 1347149 - BinaryExpression 1347005 1347148 - Identifier 1347005 1347037 - AmpersandEqualsToken 1347037 1347040 - CallExpression 1347040 1347148 - Identifier 1347040 1347065 - Identifier 1347066 1347072 - Identifier 1347073 1347080 - FalseKeyword 1347081 1347109 - Identifier 1347110 1347123 - PropertyAccessExpression 1347124 1347147 - Identifier 1347124 1347142 - Identifier 1347143 1347147 - IfStatement 1347650 1348211 - BinaryExpression 1347655 1348012 - BinaryExpression 1347655 1347870 - BinaryExpression 1347655 1347810 - BinaryExpression 1347655 1347748 - BinaryExpression 1347655 1347717 - Identifier 1347655 1347683 - AmpersandAmpersandToken 1347683 1347686 - CallExpression 1347686 1347717 - Identifier 1347686 1347709 - Identifier 1347710 1347716 - AmpersandAmpersandToken 1347717 1347720 - PrefixUnaryExpression 1347720 1347748 - CallExpression 1347722 1347748 - Identifier 1347722 1347740 - Identifier 1347741 1347747 - AmpersandAmpersandToken 1347748 1347751 - BinaryExpression 1347751 1347810 - PropertyAccessExpression 1347751 1347785 - Identifier 1347751 1347779 - Identifier 1347780 1347785 - AmpersandToken 1347785 1347787 - PropertyAccessExpression 1347787 1347810 - Identifier 1347787 1347797 - Identifier 1347798 1347810 - AmpersandAmpersandToken 1347810 1347813 - BinaryExpression 1347813 1347870 - PropertyAccessExpression 1347813 1347843 - CallExpression 1347813 1347837 - Identifier 1347813 1347829 - Identifier 1347830 1347836 - Identifier 1347838 1347843 - AmpersandToken 1347843 1347845 - PropertyAccessExpression 1347845 1347870 - Identifier 1347845 1347855 - Identifier 1347856 1347870 - AmpersandAmpersandToken 1347870 1347873 - PrefixUnaryExpression 1347873 1348012 - CallExpression 1347896 1348012 - Identifier 1347896 1347900 - PropertyAccessExpression 1347901 1347935 - ParenthesizedExpression 1347901 1347929 - AsExpression 1347902 1347928 - Identifier 1347902 1347908 - TypeReference 1347911 1347928 - Identifier 1347911 1347928 - Identifier 1347930 1347935 - ArrowFunction 1347936 1348011 - Parameter 1347936 1347938 - Identifier 1347936 1347938 - EqualsGreaterThanToken 1347938 1347941 - BinaryExpression 1347941 1348011 - BinaryExpression 1347941 1347954 - Identifier 1347941 1347943 - EqualsEqualsEqualsToken 1347943 1347947 - Identifier 1347947 1347954 - BarBarToken 1347954 1347957 - PrefixUnaryExpression 1347957 1348011 - PrefixUnaryExpression 1347959 1348011 - ParenthesizedExpression 1347960 1348011 - BinaryExpression 1347961 1348010 - CallExpression 1347961 1347978 - Identifier 1347961 1347975 - Identifier 1347976 1347977 - AmpersandToken 1347978 1347980 - PropertyAccessExpression 1347980 1348010 - Identifier 1347980 1347992 - Identifier 1347993 1348010 - Block 1348031 1348211 - ExpressionStatement 1348033 1348192 - BinaryExpression 1348033 1348191 - Identifier 1348033 1348061 - AmpersandEqualsToken 1348061 1348064 - CallExpression 1348064 1348191 - Identifier 1348064 1348084 - Identifier 1348085 1348091 - Identifier 1348092 1348099 - Identifier 1348100 1348113 - Identifier 1348114 1348147 - TrueKeyword 1348148 1348171 - Identifier 1348172 1348190 - IfStatement 1348226 1348316 - Identifier 1348244 1348250 - Block 1348251 1348316 - ExpressionStatement 1348253 1348301 - CallExpression 1348253 1348300 - Identifier 1348253 1348285 - Identifier 1348286 1348299 - ReturnStatement 1348316 1348344 - Identifier 1348336 1348343 - FunctionDeclaration 1348355 1349013 - Identifier 1348375 1348401 - Parameter 1348402 1348416 - Identifier 1348402 1348410 - TypeReference 1348411 1348416 - Identifier 1348411 1348416 - Parameter 1348417 1348440 - Identifier 1348417 1348428 - TypeReference 1348429 1348440 - Identifier 1348429 1348440 - Block 1348441 1349013 - VariableStatement 1348443 1348539 - VariableDeclarationList 1348443 1348538 - VariableDeclaration 1348462 1348538 - Identifier 1348462 1348476 - CallExpression 1348478 1348538 - Identifier 1348478 1348494 - CallExpression 1348495 1348537 - Identifier 1348495 1348525 - Identifier 1348526 1348536 - VariableStatement 1348539 1348583 - VariableDeclarationList 1348539 1348582 - VariableDeclaration 1348558 1348582 - Identifier 1348558 1348569 - ArrayType 1348570 1348577 - TypeReference 1348570 1348575 - Identifier 1348570 1348575 - ArrayLiteralExpression 1348579 1348582 - ExpressionStatement 1348583 1348956 - CallExpression 1348583 1348955 - Identifier 1348583 1348653 - Identifier 1348654 1348685 - PropertyAccessExpression 1348686 1348743 - Identifier 1348686 1348713 - Identifier 1348714 1348743 - FalseKeyword 1348744 1348783 - ArrowFunction 1348784 1348939 - Parameter 1348784 1348803 - Identifier 1348784 1348803 - EqualsGreaterThanToken 1348803 1348806 - VoidExpression 1348806 1348939 - CallExpression 1348811 1348939 - PropertyAccessExpression 1348811 1348827 - Identifier 1348811 1348822 - Identifier 1348823 1348827 - CallExpression 1348828 1348938 - Identifier 1348828 1348843 - Identifier 1348844 1348852 - CallExpression 1348853 1348937 - Identifier 1348853 1348871 - PropertyAccessExpression 1348872 1348889 - Identifier 1348872 1348882 - Identifier 1348883 1348889 - CallExpression 1348890 1348933 - Identifier 1348890 1348921 - Identifier 1348922 1348932 - Identifier 1348934 1348936 - ReturnStatement 1348956 1349002 - CallExpression 1348976 1349001 - Identifier 1348976 1348989 - Identifier 1348990 1349000 - FunctionDeclaration 1349013 1395404 - Identifier 1349033 1349063 - Parameter 1349064 1349076 - Identifier 1349064 1349070 - TypeReference 1349071 1349076 - Identifier 1349071 1349076 - Parameter 1349077 1349090 - Identifier 1349077 1349084 - TypeReference 1349085 1349090 - Identifier 1349085 1349090 - Parameter 1349091 1349113 - Identifier 1349091 1349104 - BooleanKeyword 1349105 1349113 - Parameter 1349114 1349151 - Identifier 1349114 1349132 - TypeReference 1349133 1349151 - Identifier 1349133 1349151 - Parameter 1349152 1349215 - Identifier 1349152 1349166 - TypeReference 1349167 1349215 - Identifier 1349167 1349178 - TypeQuery 1349179 1349214 - Identifier 1349185 1349214 - TypeReference 1349217 1349225 - Identifier 1349217 1349225 - Block 1349225 1395404 - VariableStatement 1349227 1349261 - VariableDeclarationList 1349227 1349260 - VariableDeclaration 1349244 1349260 - Identifier 1349244 1349251 - TypeReference 1349252 1349260 - Identifier 1349252 1349260 - VariableStatement 1349261 1349333 - VariableDeclarationList 1349261 1349332 - VariableDeclaration 1349278 1349332 - Identifier 1349278 1349296 - UnionType 1349297 1349332 - TypeReference 1349297 1349320 - Identifier 1349297 1349320 - UndefinedKeyword 1349322 1349332 - VariableStatement 1349333 1349379 - VariableDeclarationList 1349333 1349378 - VariableDeclaration 1349350 1349378 - Identifier 1349350 1349370 - FalseKeyword 1349372 1349378 - VariableStatement 1349379 1349424 - VariableDeclarationList 1349379 1349423 - VariableDeclaration 1349396 1349423 - Identifier 1349396 1349408 - PropertyAccessExpression 1349410 1349423 - Identifier 1349410 1349417 - Identifier 1349418 1349423 - VariableStatement 1349424 1349471 - VariableDeclarationList 1349424 1349470 - VariableDeclaration 1349443 1349470 - Identifier 1349443 1349455 - PropertyAccessExpression 1349457 1349470 - Identifier 1349457 1349464 - Identifier 1349465 1349470 - IfStatement 1349471 1354104 - BinaryExpression 1349489 1349518 - Identifier 1349489 1349497 - EqualsEqualsEqualsToken 1349497 1349501 - Identifier 1349501 1349518 - Block 1349519 1352702 - IfStatement 1349521 1350056 - BinaryExpression 1349634 1349677 - Identifier 1349634 1349645 - AmpersandToken 1349645 1349647 - PropertyAccessExpression 1349647 1349677 - Identifier 1349647 1349657 - Identifier 1349658 1349677 - Block 1349678 1350056 - VariableStatement 1349680 1349811 - VariableDeclarationList 1349680 1349810 - VariableDeclaration 1349705 1349810 - Identifier 1349705 1349712 - CallExpression 1349714 1349810 - Identifier 1349714 1349740 - AsExpression 1349741 1349774 - Identifier 1349741 1349747 - TypeReference 1349750 1349774 - Identifier 1349750 1349774 - AsExpression 1349775 1349809 - Identifier 1349775 1349782 - TypeReference 1349785 1349809 - Identifier 1349785 1349809 - IfStatement 1349811 1350001 - Identifier 1349837 1349843 - Block 1349844 1350001 - ExpressionStatement 1349846 1349978 - BinaryExpression 1349846 1349977 - Identifier 1349846 1349878 - AmpersandEqualsToken 1349878 1349881 - CallExpression 1349881 1349977 - Identifier 1349881 1349907 - AsExpression 1349908 1349941 - Identifier 1349908 1349914 - TypeReference 1349917 1349941 - Identifier 1349917 1349941 - AsExpression 1349942 1349976 - Identifier 1349942 1349949 - TypeReference 1349952 1349976 - Identifier 1349952 1349976 - ReturnStatement 1350001 1350037 - Identifier 1350029 1350036 - IfStatement 1350056 1350271 - BinaryExpression 1350078 1350107 - Identifier 1350078 1350089 - AmpersandToken 1350089 1350091 - PropertyAccessExpression 1350091 1350107 - Identifier 1350091 1350101 - Identifier 1350102 1350107 - Block 1350108 1350271 - ReturnStatement 1350110 1350252 - CallExpression 1350138 1350251 - Identifier 1350138 1350150 - PropertyAccessExpression 1350151 1350177 - ParenthesizedExpression 1350151 1350172 - AsExpression 1350152 1350171 - Identifier 1350152 1350158 - TypeReference 1350161 1350171 - Identifier 1350161 1350171 - Identifier 1350173 1350177 - PropertyAccessExpression 1350178 1350205 - ParenthesizedExpression 1350178 1350200 - AsExpression 1350180 1350199 - Identifier 1350180 1350186 - TypeReference 1350189 1350199 - Identifier 1350189 1350199 - Identifier 1350201 1350205 - PropertyAccessExpression 1350206 1350226 - Identifier 1350206 1350221 - Identifier 1350222 1350226 - FalseKeyword 1350227 1350250 - IfStatement 1350271 1350805 - BinaryExpression 1350293 1350330 - Identifier 1350293 1350304 - AmpersandToken 1350304 1350306 - PropertyAccessExpression 1350306 1350330 - Identifier 1350306 1350316 - Identifier 1350317 1350330 - Block 1350331 1350805 - IfStatement 1350333 1350786 - BinaryExpression 1350359 1350508 - Identifier 1350359 1350365 - EqualsToken 1350365 1350367 - CallExpression 1350367 1350508 - Identifier 1350367 1350379 - PropertyAccessExpression 1350380 1350420 - ParenthesizedExpression 1350380 1350409 - AsExpression 1350381 1350408 - Identifier 1350381 1350387 - TypeReference 1350390 1350408 - Identifier 1350390 1350408 - Identifier 1350410 1350420 - PropertyAccessExpression 1350421 1350462 - ParenthesizedExpression 1350421 1350451 - AsExpression 1350423 1350450 - Identifier 1350423 1350429 - TypeReference 1350432 1350450 - Identifier 1350432 1350450 - Identifier 1350452 1350462 - PropertyAccessExpression 1350463 1350483 - Identifier 1350463 1350478 - Identifier 1350479 1350483 - FalseKeyword 1350484 1350507 - Block 1350509 1350786 - IfStatement 1350511 1350763 - BinaryExpression 1350541 1350689 - Identifier 1350541 1350547 - AmpersandEqualsToken 1350547 1350550 - CallExpression 1350550 1350689 - Identifier 1350550 1350562 - PropertyAccessExpression 1350563 1350602 - ParenthesizedExpression 1350563 1350592 - AsExpression 1350564 1350591 - Identifier 1350564 1350570 - TypeReference 1350573 1350591 - Identifier 1350573 1350591 - Identifier 1350593 1350602 - PropertyAccessExpression 1350603 1350643 - ParenthesizedExpression 1350603 1350633 - AsExpression 1350605 1350632 - Identifier 1350605 1350611 - TypeReference 1350614 1350632 - Identifier 1350614 1350632 - Identifier 1350634 1350643 - PropertyAccessExpression 1350644 1350664 - Identifier 1350644 1350659 - Identifier 1350660 1350664 - FalseKeyword 1350665 1350688 - Block 1350690 1350763 - ReturnStatement 1350692 1350736 - Identifier 1350728 1350735 - IfStatement 1350805 1352040 - BinaryExpression 1350827 1350862 - Identifier 1350827 1350838 - AmpersandToken 1350838 1350840 - PropertyAccessExpression 1350840 1350862 - Identifier 1350840 1350850 - Identifier 1350851 1350862 - Block 1350863 1352040 - IfStatement 1350865 1352021 - BinaryExpression 1350891 1350990 - PropertyAccessExpression 1350891 1350938 - PropertyAccessExpression 1350891 1350923 - ParenthesizedExpression 1350891 1350918 - AsExpression 1350892 1350917 - Identifier 1350892 1350898 - TypeReference 1350901 1350917 - Identifier 1350901 1350917 - Identifier 1350919 1350923 - Identifier 1350924 1350938 - EqualsEqualsEqualsToken 1350938 1350942 - PropertyAccessExpression 1350942 1350990 - PropertyAccessExpression 1350942 1350975 - ParenthesizedExpression 1350942 1350970 - AsExpression 1350944 1350969 - Identifier 1350944 1350950 - TypeReference 1350953 1350969 - Identifier 1350953 1350969 - Identifier 1350971 1350975 - Identifier 1350976 1350990 - Block 1350991 1352021 - IfStatement 1350993 1351998 - BinaryExpression 1351023 1351166 - Identifier 1351023 1351029 - EqualsToken 1351029 1351031 - CallExpression 1351031 1351166 - Identifier 1351031 1351043 - PropertyAccessExpression 1351044 1351081 - ParenthesizedExpression 1351044 1351071 - AsExpression 1351045 1351070 - Identifier 1351045 1351051 - TypeReference 1351054 1351070 - Identifier 1351054 1351070 - Identifier 1351072 1351081 - PropertyAccessExpression 1351082 1351120 - ParenthesizedExpression 1351082 1351110 - AsExpression 1351084 1351109 - Identifier 1351084 1351090 - TypeReference 1351093 1351109 - Identifier 1351093 1351109 - Identifier 1351111 1351120 - PropertyAccessExpression 1351121 1351141 - Identifier 1351121 1351136 - Identifier 1351137 1351141 - FalseKeyword 1351142 1351165 - Block 1351167 1351998 - IfStatement 1351169 1351971 - BinaryExpression 1351203 1351351 - Identifier 1351203 1351209 - AmpersandEqualsToken 1351209 1351212 - CallExpression 1351212 1351351 - Identifier 1351212 1351224 - PropertyAccessExpression 1351225 1351264 - ParenthesizedExpression 1351225 1351252 - AsExpression 1351226 1351251 - Identifier 1351226 1351232 - TypeReference 1351235 1351251 - Identifier 1351235 1351251 - Identifier 1351253 1351264 - PropertyAccessExpression 1351265 1351305 - ParenthesizedExpression 1351265 1351293 - AsExpression 1351267 1351292 - Identifier 1351267 1351273 - TypeReference 1351276 1351292 - Identifier 1351276 1351292 - Identifier 1351294 1351305 - PropertyAccessExpression 1351306 1351326 - Identifier 1351306 1351321 - Identifier 1351322 1351326 - FalseKeyword 1351327 1351350 - Block 1351352 1351971 - IfStatement 1351354 1351940 - BinaryExpression 1351392 1351576 - Identifier 1351392 1351398 - AmpersandEqualsToken 1351398 1351401 - CallExpression 1351401 1351576 - Identifier 1351401 1351413 - CallExpression 1351414 1351471 - Identifier 1351414 1351444 - AsExpression 1351445 1351470 - Identifier 1351445 1351451 - TypeReference 1351454 1351470 - Identifier 1351454 1351470 - CallExpression 1351472 1351530 - Identifier 1351472 1351503 - AsExpression 1351504 1351529 - Identifier 1351504 1351510 - TypeReference 1351513 1351529 - Identifier 1351513 1351529 - PropertyAccessExpression 1351531 1351551 - Identifier 1351531 1351546 - Identifier 1351547 1351551 - FalseKeyword 1351552 1351575 - Block 1351577 1351940 - IfStatement 1351579 1351905 - BinaryExpression 1351621 1351807 - Identifier 1351621 1351627 - AmpersandEqualsToken 1351627 1351630 - CallExpression 1351630 1351807 - Identifier 1351630 1351642 - CallExpression 1351643 1351701 - Identifier 1351643 1351674 - AsExpression 1351675 1351700 - Identifier 1351675 1351681 - TypeReference 1351684 1351700 - Identifier 1351684 1351700 - CallExpression 1351702 1351761 - Identifier 1351702 1351734 - AsExpression 1351735 1351760 - Identifier 1351735 1351741 - TypeReference 1351744 1351760 - Identifier 1351744 1351760 - PropertyAccessExpression 1351762 1351782 - Identifier 1351762 1351777 - Identifier 1351778 1351782 - FalseKeyword 1351783 1351806 - Block 1351808 1351905 - ReturnStatement 1351810 1351866 - Identifier 1351858 1351865 - IfStatement 1352040 1352567 - BinaryExpression 1352062 1352098 - Identifier 1352062 1352073 - AmpersandToken 1352073 1352075 - PropertyAccessExpression 1352075 1352098 - Identifier 1352075 1352085 - Identifier 1352086 1352098 - Block 1352099 1352567 - IfStatement 1352101 1352548 - BinaryExpression 1352127 1352270 - Identifier 1352127 1352133 - EqualsToken 1352133 1352135 - CallExpression 1352135 1352270 - Identifier 1352135 1352147 - PropertyAccessExpression 1352148 1352185 - ParenthesizedExpression 1352148 1352176 - AsExpression 1352149 1352175 - Identifier 1352149 1352155 - TypeReference 1352158 1352175 - Identifier 1352158 1352175 - Identifier 1352177 1352185 - PropertyAccessExpression 1352186 1352224 - ParenthesizedExpression 1352186 1352215 - AsExpression 1352188 1352214 - Identifier 1352188 1352194 - TypeReference 1352197 1352214 - Identifier 1352197 1352214 - Identifier 1352216 1352224 - PropertyAccessExpression 1352225 1352245 - Identifier 1352225 1352240 - Identifier 1352241 1352245 - FalseKeyword 1352246 1352269 - Block 1352271 1352548 - IfStatement 1352273 1352525 - BinaryExpression 1352303 1352451 - Identifier 1352303 1352309 - AmpersandEqualsToken 1352309 1352312 - CallExpression 1352312 1352451 - Identifier 1352312 1352324 - PropertyAccessExpression 1352325 1352364 - ParenthesizedExpression 1352325 1352353 - AsExpression 1352326 1352352 - Identifier 1352326 1352332 - TypeReference 1352335 1352352 - Identifier 1352335 1352352 - Identifier 1352354 1352364 - PropertyAccessExpression 1352365 1352405 - ParenthesizedExpression 1352365 1352394 - AsExpression 1352367 1352393 - Identifier 1352367 1352373 - TypeReference 1352376 1352393 - Identifier 1352376 1352393 - Identifier 1352395 1352405 - PropertyAccessExpression 1352406 1352426 - Identifier 1352406 1352421 - Identifier 1352422 1352426 - FalseKeyword 1352427 1352450 - Block 1352452 1352525 - ReturnStatement 1352454 1352498 - Identifier 1352490 1352497 - IfStatement 1352567 1352687 - PrefixUnaryExpression 1352589 1352622 - ParenthesizedExpression 1352590 1352622 - BinaryExpression 1352591 1352621 - Identifier 1352591 1352602 - AmpersandToken 1352602 1352604 - PropertyAccessExpression 1352604 1352621 - Identifier 1352604 1352614 - Identifier 1352615 1352621 - Block 1352623 1352687 - ReturnStatement 1352625 1352668 - PropertyAccessExpression 1352653 1352667 - Identifier 1352653 1352661 - Identifier 1352662 1352667 - IfStatement 1352720 1354104 - BinaryExpression 1352725 1352815 - BinaryExpression 1352725 1352768 - Identifier 1352725 1352736 - AmpersandToken 1352736 1352738 - PropertyAccessExpression 1352738 1352768 - Identifier 1352738 1352748 - Identifier 1352749 1352768 - BarBarToken 1352768 1352771 - BinaryExpression 1352771 1352815 - Identifier 1352771 1352783 - AmpersandToken 1352783 1352785 - PropertyAccessExpression 1352785 1352815 - Identifier 1352785 1352795 - Identifier 1352796 1352815 - Block 1352816 1354104 - IfStatement 1352818 1352984 - BinaryExpression 1352840 1352926 - Identifier 1352840 1352846 - EqualsToken 1352846 1352848 - CallExpression 1352848 1352926 - Identifier 1352848 1352877 - Identifier 1352878 1352884 - Identifier 1352885 1352892 - Identifier 1352893 1352906 - Identifier 1352907 1352925 - Block 1352927 1352984 - ReturnStatement 1352929 1352965 - Identifier 1352957 1352964 - IfStatement 1352984 1354089 - PrefixUnaryExpression 1353709 1354006 - ParenthesizedExpression 1353732 1354006 - BinaryExpression 1353733 1354005 - BinaryExpression 1353733 1353861 - BinaryExpression 1353733 1353769 - Identifier 1353733 1353744 - AmpersandToken 1353744 1353746 - PropertyAccessExpression 1353746 1353769 - Identifier 1353746 1353756 - Identifier 1353757 1353769 - BarBarToken 1353769 1353772 - BinaryExpression 1353772 1353861 - BinaryExpression 1353772 1353828 - Identifier 1353772 1353809 - AmpersandToken 1353809 1353811 - PropertyAccessExpression 1353811 1353828 - Identifier 1353811 1353821 - Identifier 1353822 1353828 - AmpersandAmpersandToken 1353828 1353831 - BinaryExpression 1353831 1353861 - Identifier 1353831 1353843 - AmpersandToken 1353843 1353845 - PropertyAccessExpression 1353845 1353861 - Identifier 1353845 1353855 - Identifier 1353856 1353861 - BarBarToken 1353861 1353864 - BinaryExpression 1353864 1354005 - BinaryExpression 1353864 1353926 - Identifier 1353864 1353901 - AmpersandToken 1353901 1353903 - PropertyAccessExpression 1353903 1353926 - Identifier 1353903 1353913 - Identifier 1353914 1353926 - AmpersandAmpersandToken 1353926 1353929 - BinaryExpression 1353929 1354005 - Identifier 1353929 1353941 - AmpersandToken 1353941 1353943 - ParenthesizedExpression 1353943 1354005 - BinaryExpression 1353945 1354004 - BinaryExpression 1353945 1353979 - PropertyAccessExpression 1353945 1353961 - Identifier 1353945 1353954 - Identifier 1353955 1353961 - BarToken 1353961 1353963 - PropertyAccessExpression 1353963 1353979 - Identifier 1353963 1353973 - Identifier 1353974 1353979 - BarToken 1353979 1353981 - PropertyAccessExpression 1353981 1354004 - Identifier 1353981 1353991 - Identifier 1353992 1354004 - Block 1354025 1354089 - ReturnStatement 1354027 1354070 - PropertyAccessExpression 1354055 1354069 - Identifier 1354055 1354063 - Identifier 1354064 1354069 - IfStatement 1354104 1355558 - BinaryExpression 1354404 1354642 - BinaryExpression 1354404 1354591 - BinaryExpression 1354404 1354529 - BinaryExpression 1354404 1354500 - BinaryExpression 1354404 1354478 - Identifier 1354404 1354433 - AmpersandToken 1354433 1354435 - ParenthesizedExpression 1354435 1354478 - BinaryExpression 1354437 1354477 - PropertyAccessExpression 1354437 1354453 - Identifier 1354437 1354446 - Identifier 1354447 1354453 - BarToken 1354453 1354455 - PropertyAccessExpression 1354455 1354477 - Identifier 1354455 1354465 - Identifier 1354466 1354477 - AmpersandAmpersandToken 1354478 1354481 - PropertyAccessExpression 1354481 1354500 - Identifier 1354481 1354488 - Identifier 1354489 1354500 - AmpersandAmpersandToken 1354500 1354503 - PropertyAccessExpression 1354503 1354529 - Identifier 1354503 1354510 - Identifier 1354511 1354529 - AmpersandAmpersandToken 1354529 1354532 - BinaryExpression 1354532 1354591 - PropertyAccessExpression 1354532 1354568 - Identifier 1354532 1354556 - Identifier 1354557 1354568 - EqualsEqualsEqualsToken 1354568 1354572 - PropertyAccessExpression 1354572 1354591 - Identifier 1354572 1354579 - Identifier 1354580 1354591 - AmpersandAmpersandToken 1354591 1354594 - PrefixUnaryExpression 1354594 1354642 - ParenthesizedExpression 1354596 1354642 - BinaryExpression 1354597 1354641 - CallExpression 1354597 1354617 - Identifier 1354597 1354609 - Identifier 1354610 1354616 - BarBarToken 1354617 1354620 - CallExpression 1354620 1354641 - Identifier 1354620 1354633 - Identifier 1354634 1354640 - Block 1354657 1355558 - VariableStatement 1354659 1354733 - VariableDeclarationList 1354659 1354732 - VariableDeclaration 1354682 1354732 - Identifier 1354682 1354692 - CallExpression 1354694 1354732 - Identifier 1354694 1354712 - PropertyAccessExpression 1354713 1354731 - Identifier 1354713 1354719 - Identifier 1354720 1354731 - IfStatement 1354733 1354846 - BinaryExpression 1354755 1354779 - Identifier 1354755 1354764 - EqualsEqualsEqualsToken 1354764 1354768 - Identifier 1354768 1354779 - Block 1354780 1354846 - ReturnStatement 1354782 1354827 - PropertyAccessExpression 1354810 1354826 - Identifier 1354810 1354818 - Identifier 1354819 1354826 - VariableStatement 1354846 1354930 - VariableDeclarationList 1354846 1354929 - VariableDeclaration 1354869 1354929 - Identifier 1354869 1354876 - NonNullExpression 1354878 1354929 - PropertyAccessExpression 1354878 1354928 - CallExpression 1354878 1354913 - Identifier 1354878 1354893 - PropertyAccessExpression 1354894 1354912 - Identifier 1354894 1354900 - Identifier 1354901 1354912 - Identifier 1354914 1354928 - VariableStatement 1354930 1354998 - VariableDeclarationList 1354930 1354997 - VariableDeclaration 1354953 1354997 - Identifier 1354953 1354963 - CallExpression 1354965 1354997 - Identifier 1354965 1354989 - Identifier 1354990 1354996 - VariableStatement 1354998 1355156 - VariableDeclarationList 1354998 1355155 - VariableDeclaration 1355021 1355155 - Identifier 1355021 1355033 - CallExpression 1355035 1355155 - Identifier 1355035 1355060 - PropertyAccessExpression 1355061 1355086 - Identifier 1355061 1355067 - Identifier 1355068 1355086 - Identifier 1355087 1355094 - Identifier 1355095 1355105 - CallExpression 1355106 1355154 - Identifier 1355106 1355117 - PropertyAccessExpression 1355118 1355153 - PropertyAccessExpression 1355118 1355136 - Identifier 1355118 1355124 - Identifier 1355125 1355136 - Identifier 1355137 1355153 - VariableStatement 1355156 1355314 - VariableDeclarationList 1355156 1355313 - VariableDeclaration 1355179 1355313 - Identifier 1355179 1355191 - CallExpression 1355193 1355313 - Identifier 1355193 1355218 - PropertyAccessExpression 1355219 1355244 - Identifier 1355219 1355225 - Identifier 1355226 1355244 - Identifier 1355245 1355252 - Identifier 1355253 1355263 - CallExpression 1355264 1355312 - Identifier 1355264 1355275 - PropertyAccessExpression 1355276 1355311 - PropertyAccessExpression 1355276 1355294 - Identifier 1355276 1355282 - Identifier 1355283 1355294 - Identifier 1355295 1355311 - VariableStatement 1355314 1355427 - VariableDeclarationList 1355314 1355426 - VariableDeclaration 1355337 1355426 - Identifier 1355337 1355352 - CallExpression 1355354 1355426 - Identifier 1355354 1355370 - Identifier 1355371 1355382 - Identifier 1355383 1355395 - Identifier 1355396 1355406 - Identifier 1355407 1355425 - IfStatement 1355427 1355543 - BinaryExpression 1355449 1355477 - Identifier 1355449 1355463 - ExclamationEqualsEqualsToken 1355463 1355467 - Identifier 1355467 1355477 - Block 1355478 1355543 - ReturnStatement 1355480 1355524 - Identifier 1355508 1355523 - IfStatement 1355558 1356294 - BinaryExpression 1355818 1356230 - BinaryExpression 1355818 1355988 - BinaryExpression 1355818 1355902 - CallExpression 1355818 1355875 - Identifier 1355818 1355867 - Identifier 1355868 1355874 - AmpersandAmpersandToken 1355875 1355878 - PrefixUnaryExpression 1355878 1355902 - PropertyAccessExpression 1355880 1355902 - PropertyAccessExpression 1355880 1355893 - Identifier 1355880 1355886 - Identifier 1355887 1355893 - Identifier 1355894 1355902 - AmpersandAmpersandToken 1355902 1355905 - ParenthesizedExpression 1355905 1355988 - BinaryExpression 1355907 1355987 - Identifier 1355907 1355913 - EqualsToken 1355913 1355915 - CallExpression 1355915 1355987 - Identifier 1355915 1355927 - ElementAccessExpression 1355928 1355955 - CallExpression 1355928 1355952 - Identifier 1355928 1355944 - Identifier 1355945 1355951 - NumericLiteral 1355953 1355954 - Identifier 1355956 1355963 - PropertyAccessExpression 1355964 1355986 - Identifier 1355964 1355979 - Identifier 1355980 1355986 - BarBarToken 1355988 1355991 - BinaryExpression 1355991 1356230 - BinaryExpression 1355991 1356144 - CallExpression 1355991 1356048 - Identifier 1355991 1356040 - Identifier 1356041 1356047 - AmpersandAmpersandToken 1356048 1356051 - ParenthesizedExpression 1356051 1356144 - BinaryExpression 1356053 1356143 - PropertyAccessExpression 1356053 1356075 - PropertyAccessExpression 1356053 1356066 - Identifier 1356053 1356059 - Identifier 1356060 1356066 - Identifier 1356067 1356075 - BarBarToken 1356075 1356078 - CallExpression 1356078 1356143 - Identifier 1356078 1356100 - BinaryExpression 1356101 1356142 - CallExpression 1356101 1356132 - Identifier 1356101 1356124 - Identifier 1356125 1356131 - BarBarToken 1356132 1356135 - Identifier 1356135 1356142 - AmpersandAmpersandToken 1356144 1356147 - ParenthesizedExpression 1356147 1356230 - BinaryExpression 1356149 1356229 - Identifier 1356149 1356155 - EqualsToken 1356155 1356157 - CallExpression 1356157 1356229 - Identifier 1356157 1356169 - Identifier 1356170 1356176 - ElementAccessExpression 1356177 1356205 - CallExpression 1356177 1356202 - Identifier 1356177 1356194 - Identifier 1356195 1356201 - NumericLiteral 1356203 1356204 - PropertyAccessExpression 1356206 1356228 - Identifier 1356206 1356221 - Identifier 1356222 1356228 - Block 1356245 1356294 - ReturnStatement 1356247 1356279 - Identifier 1356271 1356278 - IfStatement 1356294 1374493 - BinaryExpression 1356314 1356351 - Identifier 1356314 1356325 - AmpersandToken 1356325 1356327 - PropertyAccessExpression 1356327 1356351 - Identifier 1356327 1356337 - Identifier 1356338 1356351 - Block 1356352 1358281 - IfStatement 1356354 1357298 - BinaryExpression 1356509 1356713 - BinaryExpression 1356509 1356600 - BinaryExpression 1356509 1356552 - CallExpression 1356509 1356531 - Identifier 1356509 1356523 - Identifier 1356524 1356530 - AmpersandToken 1356531 1356533 - PropertyAccessExpression 1356533 1356552 - Identifier 1356533 1356545 - Identifier 1356546 1356552 - AmpersandAmpersandToken 1356552 1356555 - PrefixUnaryExpression 1356555 1356600 - PropertyAccessExpression 1356557 1356600 - PropertyAccessExpression 1356557 1356591 - ParenthesizedExpression 1356557 1356579 - AsExpression 1356558 1356578 - Identifier 1356558 1356564 - TypeReference 1356567 1356578 - Identifier 1356567 1356578 - Identifier 1356580 1356591 - Identifier 1356592 1356600 - AmpersandAmpersandToken 1356600 1356603 - CallExpression 1356603 1356713 - Identifier 1356603 1356615 - CallExpression 1356616 1356636 - Identifier 1356616 1356628 - Identifier 1356629 1356635 - CallExpression 1356637 1356691 - Identifier 1356637 1356669 - AsExpression 1356670 1356690 - Identifier 1356670 1356676 - TypeReference 1356679 1356690 - Identifier 1356679 1356690 - PropertyAccessExpression 1356692 1356712 - Identifier 1356692 1356707 - Identifier 1356708 1356712 - Block 1356714 1357298 - IfStatement 1356716 1357279 - PrefixUnaryExpression 1356742 1356827 - ParenthesizedExpression 1356743 1356827 - BinaryExpression 1356744 1356826 - CallExpression 1356744 1356788 - Identifier 1356744 1356766 - AsExpression 1356767 1356787 - Identifier 1356767 1356773 - TypeReference 1356776 1356787 - Identifier 1356776 1356787 - AmpersandToken 1356788 1356790 - PropertyAccessExpression 1356790 1356826 - Identifier 1356790 1356810 - Identifier 1356811 1356826 - Block 1356828 1357279 - VariableStatement 1356830 1356929 - VariableDeclarationList 1356830 1356928 - VariableDeclaration 1356861 1356928 - Identifier 1356861 1356874 - CallExpression 1356876 1356928 - Identifier 1356876 1356906 - AsExpression 1356907 1356927 - Identifier 1356907 1356913 - TypeReference 1356916 1356927 - Identifier 1356916 1356927 - VariableStatement 1356929 1357064 - VariableDeclarationList 1356929 1357063 - VariableDeclaration 1356960 1357063 - Identifier 1356960 1356978 - CallExpression 1356980 1357063 - Identifier 1356980 1357001 - Identifier 1357002 1357008 - CallExpression 1357009 1357062 - Identifier 1357009 1357040 - AsExpression 1357041 1357061 - Identifier 1357041 1357047 - TypeReference 1357050 1357061 - Identifier 1357050 1357061 - IfStatement 1357064 1357256 - BinaryExpression 1357094 1357182 - Identifier 1357094 1357100 - EqualsToken 1357100 1357102 - CallExpression 1357102 1357182 - Identifier 1357102 1357114 - Identifier 1357115 1357127 - Identifier 1357128 1357146 - PropertyAccessExpression 1357147 1357167 - Identifier 1357147 1357162 - Identifier 1357163 1357167 - Identifier 1357168 1357181 - Block 1357183 1357256 - ReturnStatement 1357185 1357229 - Identifier 1357221 1357228 - IfStatement 1357298 1358266 - BinaryExpression 1357320 1357392 - BinaryExpression 1357320 1357351 - Identifier 1357320 1357328 - EqualsEqualsEqualsToken 1357328 1357332 - Identifier 1357332 1357351 - AmpersandAmpersandToken 1357351 1357354 - BinaryExpression 1357354 1357392 - Identifier 1357354 1357366 - AmpersandToken 1357366 1357368 - PropertyAccessExpression 1357368 1357392 - Identifier 1357368 1357378 - Identifier 1357379 1357392 - Block 1357393 1358266 - VariableStatement 1357395 1357714 - VariableDeclarationList 1357395 1357713 - VariableDeclaration 1357663 1357713 - Identifier 1357663 1357674 - CallExpression 1357676 1357713 - Identifier 1357676 1357705 - Identifier 1357706 1357712 - IfStatement 1357714 1358204 - Identifier 1357740 1357750 - Block 1357751 1358204 - WhileStatement 1357753 1358181 - BinaryExpression 1357786 1357864 - Identifier 1357786 1357796 - AmpersandAmpersandToken 1357796 1357799 - CallExpression 1357799 1357864 - Identifier 1357799 1357808 - Identifier 1357809 1357819 - ArrowFunction 1357820 1357863 - Parameter 1357820 1357822 - Identifier 1357820 1357822 - EqualsGreaterThanToken 1357822 1357825 - PrefixUnaryExpression 1357825 1357863 - PrefixUnaryExpression 1357827 1357863 - ParenthesizedExpression 1357828 1357863 - BinaryExpression 1357829 1357862 - PropertyAccessExpression 1357829 1357836 - Identifier 1357829 1357830 - Identifier 1357831 1357836 - AmpersandToken 1357836 1357838 - PropertyAccessExpression 1357838 1357862 - Identifier 1357838 1357848 - Identifier 1357849 1357862 - Block 1357865 1358181 - IfStatement 1357867 1358070 - BinaryExpression 1357901 1357988 - Identifier 1357901 1357907 - EqualsToken 1357907 1357909 - CallExpression 1357909 1357988 - Identifier 1357909 1357921 - Identifier 1357922 1357932 - Identifier 1357933 1357940 - PropertyAccessExpression 1357941 1357963 - Identifier 1357941 1357956 - Identifier 1357957 1357963 - FalseKeyword 1357964 1357987 - Block 1357989 1358070 - ReturnStatement 1357991 1358039 - Identifier 1358031 1358038 - ExpressionStatement 1358070 1358154 - BinaryExpression 1358070 1358153 - Identifier 1358070 1358110 - EqualsToken 1358110 1358112 - CallExpression 1358112 1358153 - Identifier 1358112 1358141 - Identifier 1358142 1358152 - ReturnStatement 1358204 1358247 - PropertyAccessExpression 1358232 1358246 - Identifier 1358232 1358240 - Identifier 1358241 1358246 - IfStatement 1358299 1374493 - BinaryExpression 1358304 1358333 - Identifier 1358304 1358315 - AmpersandToken 1358315 1358317 - PropertyAccessExpression 1358317 1358333 - Identifier 1358317 1358327 - Identifier 1358328 1358333 - Block 1358334 1361993 - VariableStatement 1358336 1358400 - VariableDeclarationList 1358336 1358399 - VariableDeclaration 1358359 1358399 - Identifier 1358359 1358370 - PropertyAccessExpression 1358372 1358399 - ParenthesizedExpression 1358372 1358394 - AsExpression 1358374 1358393 - Identifier 1358374 1358380 - TypeReference 1358383 1358393 - Identifier 1358383 1358393 - Identifier 1358395 1358399 - IfStatement 1358400 1358746 - BinaryExpression 1358498 1358527 - Identifier 1358498 1358509 - AmpersandToken 1358509 1358511 - PropertyAccessExpression 1358511 1358527 - Identifier 1358511 1358521 - Identifier 1358522 1358527 - Block 1358528 1358746 - IfStatement 1358530 1358727 - BinaryExpression 1358556 1358661 - Identifier 1358556 1358562 - EqualsToken 1358562 1358564 - CallExpression 1358564 1358661 - Identifier 1358564 1358576 - Identifier 1358577 1358587 - PropertyAccessExpression 1358588 1358615 - ParenthesizedExpression 1358588 1358610 - AsExpression 1358590 1358609 - Identifier 1358590 1358596 - TypeReference 1358599 1358609 - Identifier 1358599 1358609 - Identifier 1358611 1358615 - PropertyAccessExpression 1358616 1358636 - Identifier 1358616 1358631 - Identifier 1358632 1358636 - FalseKeyword 1358637 1358660 - Block 1358662 1358727 - ReturnStatement 1358664 1358704 - Identifier 1358696 1358703 - IfStatement 1358746 1361978 - CallExpression 1358768 1358791 - Identifier 1358768 1358779 - Identifier 1358780 1358790 - Block 1358792 1359214 - IfStatement 1358794 1359195 - BinaryExpression 1359027 1359129 - Identifier 1359027 1359033 - EqualsToken 1359033 1359035 - CallExpression 1359035 1359129 - Identifier 1359035 1359047 - Identifier 1359048 1359054 - CallExpression 1359055 1359091 - Identifier 1359055 1359079 - Identifier 1359080 1359090 - PropertyAccessExpression 1359092 1359114 - Identifier 1359092 1359107 - Identifier 1359108 1359114 - Identifier 1359115 1359128 - Block 1359130 1359195 - ReturnStatement 1359132 1359172 - Identifier 1359164 1359171 - Block 1359236 1361978 - VariableStatement 1359238 1359518 - VariableDeclarationList 1359238 1359517 - VariableDeclaration 1359462 1359517 - Identifier 1359462 1359473 - CallExpression 1359475 1359517 - Identifier 1359475 1359505 - Identifier 1359506 1359516 - IfStatement 1359518 1361959 - Identifier 1359544 1359554 - Block 1359555 1360210 - IfStatement 1359557 1360187 - BinaryExpression 1359944 1360107 - CallExpression 1359944 1360090 - Identifier 1359944 1359955 - Identifier 1359956 1359962 - CallExpression 1359963 1360052 - Identifier 1359963 1359976 - Identifier 1359977 1359987 - BinaryExpression 1359988 1360051 - PropertyAccessExpression 1359988 1360021 - ParenthesizedExpression 1359988 1360010 - AsExpression 1359990 1360009 - Identifier 1359990 1359996 - TypeReference 1359999 1360009 - Identifier 1359999 1360009 - Identifier 1360011 1360021 - BarToken 1360021 1360023 - PropertyAccessExpression 1360023 1360051 - Identifier 1360023 1360034 - Identifier 1360035 1360051 - PropertyAccessExpression 1360053 1360075 - Identifier 1360053 1360068 - Identifier 1360069 1360075 - Identifier 1360076 1360089 - EqualsEqualsEqualsToken 1360090 1360094 - PropertyAccessExpression 1360094 1360107 - Identifier 1360094 1360102 - Identifier 1360103 1360107 - Block 1360108 1360187 - ReturnStatement 1360110 1360160 - PropertyAccessExpression 1360146 1360159 - Identifier 1360146 1360154 - Identifier 1360155 1360159 - IfStatement 1360236 1361959 - CallExpression 1360241 1360272 - Identifier 1360241 1360260 - Identifier 1360261 1360271 - Block 1360273 1361959 - VariableStatement 1360275 1360746 - VariableDeclarationList 1360275 1360745 - VariableDeclaration 1360696 1360745 - Identifier 1360696 1360705 - CallExpression 1360707 1360745 - Identifier 1360707 1360733 - Identifier 1360734 1360744 - VariableStatement 1360746 1360839 - VariableDeclarationList 1360746 1360838 - VariableDeclaration 1360777 1360838 - Identifier 1360777 1360792 - CallExpression 1360794 1360838 - Identifier 1360794 1360826 - Identifier 1360827 1360837 - VariableStatement 1360839 1360880 - VariableDeclarationList 1360839 1360879 - VariableDeclaration 1360868 1360879 - Identifier 1360868 1360879 - IfStatement 1360880 1361741 - BinaryExpression 1360910 1360976 - Identifier 1360910 1360918 - AmpersandAmpersandToken 1360918 1360921 - CallExpression 1360921 1360976 - Identifier 1360921 1360964 - Identifier 1360965 1360975 - Block 1360977 1361612 - VariableStatement 1360979 1361327 - VariableDeclarationList 1360979 1361326 - VariableDeclaration 1361265 1361326 - Identifier 1361265 1361276 - CallExpression 1361278 1361326 - Identifier 1361278 1361304 - Identifier 1361305 1361313 - Identifier 1361314 1361325 - ExpressionStatement 1361327 1361585 - BinaryExpression 1361327 1361584 - Identifier 1361327 1361545 - EqualsToken 1361545 1361547 - CallExpression 1361547 1361584 - Identifier 1361547 1361560 - ArrayLiteralExpression 1361561 1361583 - Identifier 1361562 1361572 - Identifier 1361573 1361582 - Block 1361642 1361741 - ExpressionStatement 1361644 1361714 - BinaryExpression 1361644 1361713 - Identifier 1361644 1361684 - EqualsToken 1361684 1361686 - BinaryExpression 1361686 1361713 - Identifier 1361686 1361695 - BarBarToken 1361695 1361698 - Identifier 1361698 1361713 - IfStatement 1361741 1361936 - BinaryExpression 1361771 1361856 - CallExpression 1361771 1361839 - Identifier 1361771 1361782 - Identifier 1361783 1361789 - Identifier 1361790 1361801 - PropertyAccessExpression 1361802 1361824 - Identifier 1361802 1361817 - Identifier 1361818 1361824 - Identifier 1361825 1361838 - EqualsEqualsEqualsToken 1361839 1361843 - PropertyAccessExpression 1361843 1361856 - Identifier 1361843 1361851 - Identifier 1361852 1361856 - Block 1361857 1361936 - ReturnStatement 1361859 1361909 - PropertyAccessExpression 1361895 1361908 - Identifier 1361895 1361903 - Identifier 1361904 1361908 - IfStatement 1362011 1374493 - BinaryExpression 1362016 1362053 - Identifier 1362016 1362027 - AmpersandToken 1362027 1362029 - PropertyAccessExpression 1362029 1362053 - Identifier 1362029 1362039 - Identifier 1362040 1362053 - Block 1362054 1364988 - IfStatement 1362056 1362916 - BinaryExpression 1362078 1362115 - Identifier 1362078 1362089 - AmpersandToken 1362089 1362091 - PropertyAccessExpression 1362091 1362115 - Identifier 1362091 1362101 - Identifier 1362102 1362115 - Block 1362116 1362916 - IfStatement 1362118 1362679 - BinaryExpression 1362349 1362488 - Identifier 1362349 1362355 - EqualsToken 1362355 1362357 - CallExpression 1362357 1362488 - Identifier 1362357 1362369 - PropertyAccessExpression 1362370 1362410 - ParenthesizedExpression 1362370 1362399 - AsExpression 1362371 1362398 - Identifier 1362371 1362377 - TypeReference 1362380 1362398 - Identifier 1362380 1362398 - Identifier 1362400 1362410 - PropertyAccessExpression 1362411 1362452 - ParenthesizedExpression 1362411 1362441 - AsExpression 1362413 1362440 - Identifier 1362413 1362419 - TypeReference 1362422 1362440 - Identifier 1362422 1362440 - Identifier 1362442 1362452 - PropertyAccessExpression 1362453 1362473 - Identifier 1362453 1362468 - Identifier 1362469 1362473 - Identifier 1362474 1362487 - Block 1362489 1362679 - ExpressionStatement 1362491 1362656 - BinaryExpression 1362491 1362655 - Identifier 1362491 1362523 - AmpersandEqualsToken 1362523 1362526 - CallExpression 1362526 1362655 - Identifier 1362526 1362538 - PropertyAccessExpression 1362539 1362578 - ParenthesizedExpression 1362539 1362568 - AsExpression 1362540 1362567 - Identifier 1362540 1362546 - TypeReference 1362549 1362567 - Identifier 1362549 1362567 - Identifier 1362569 1362578 - PropertyAccessExpression 1362579 1362619 - ParenthesizedExpression 1362579 1362609 - AsExpression 1362581 1362608 - Identifier 1362581 1362587 - TypeReference 1362590 1362608 - Identifier 1362590 1362608 - Identifier 1362610 1362619 - PropertyAccessExpression 1362620 1362640 - Identifier 1362620 1362635 - Identifier 1362636 1362640 - Identifier 1362641 1362654 - IfStatement 1362679 1362777 - Identifier 1362705 1362711 - Block 1362712 1362777 - ReturnStatement 1362714 1362754 - Identifier 1362746 1362753 - IfStatement 1362777 1362897 - Identifier 1362803 1362815 - Block 1362816 1362897 - ExpressionStatement 1362818 1362874 - BinaryExpression 1362818 1362873 - Identifier 1362818 1362861 - EqualsToken 1362861 1362863 - Identifier 1362863 1362873 - IfStatement 1362916 1364865 - BinaryExpression 1363087 1363153 - BinaryExpression 1363087 1363118 - Identifier 1363087 1363095 - EqualsEqualsEqualsToken 1363095 1363099 - Identifier 1363099 1363118 - BarBarToken 1363118 1363121 - BinaryExpression 1363121 1363153 - Identifier 1363121 1363130 - EqualsEqualsEqualsToken 1363130 1363134 - Identifier 1363134 1363153 - Block 1363154 1364865 - VariableStatement 1363156 1363238 - VariableDeclarationList 1363156 1363237 - VariableDeclaration 1363183 1363237 - Identifier 1363183 1363194 - PropertyAccessExpression 1363196 1363237 - ParenthesizedExpression 1363196 1363226 - AsExpression 1363198 1363225 - Identifier 1363198 1363204 - TypeReference 1363207 1363225 - Identifier 1363207 1363225 - Identifier 1363227 1363237 - VariableStatement 1363238 1363318 - VariableDeclarationList 1363238 1363317 - VariableDeclaration 1363265 1363317 - Identifier 1363265 1363275 - PropertyAccessExpression 1363277 1363317 - ParenthesizedExpression 1363277 1363307 - AsExpression 1363279 1363306 - Identifier 1363279 1363285 - TypeReference 1363288 1363306 - Identifier 1363288 1363306 - Identifier 1363308 1363317 - VariableStatement 1363318 1363413 - VariableDeclarationList 1363318 1363412 - VariableDeclaration 1363345 1363412 - Identifier 1363345 1363360 - BinaryExpression 1363362 1363412 - CallExpression 1363362 1363398 - Identifier 1363362 1363386 - Identifier 1363387 1363397 - BarBarToken 1363398 1363401 - Identifier 1363401 1363412 - VariableStatement 1363413 1363505 - VariableDeclarationList 1363413 1363504 - VariableDeclaration 1363440 1363504 - Identifier 1363440 1363454 - BinaryExpression 1363456 1363504 - CallExpression 1363456 1363491 - Identifier 1363456 1363480 - Identifier 1363481 1363490 - BarBarToken 1363491 1363494 - Identifier 1363494 1363504 - IfStatement 1363505 1364846 - BinaryExpression 1363531 1363605 - PrefixUnaryExpression 1363531 1363567 - CallExpression 1363532 1363567 - Identifier 1363532 1363551 - Identifier 1363552 1363566 - AmpersandAmpersandToken 1363567 1363570 - PrefixUnaryExpression 1363570 1363605 - CallExpression 1363572 1363605 - Identifier 1363572 1363590 - Identifier 1363591 1363604 - Block 1363606 1364846 - VariableStatement 1363608 1363744 - VariableDeclarationList 1363608 1363743 - VariableDeclaration 1363639 1363743 - Identifier 1363639 1363651 - BinaryExpression 1363653 1363743 - PropertyAccessExpression 1363653 1363673 - Identifier 1363653 1363665 - Identifier 1363666 1363673 - BarToken 1363673 1363675 - ParenthesizedExpression 1363675 1363743 - ConditionalExpression 1363677 1363742 - BinaryExpression 1363677 1363706 - Identifier 1363677 1363691 - ExclamationEqualsEqualsToken 1363691 1363695 - Identifier 1363695 1363706 - QuestionToken 1363706 1363708 - PropertyAccessExpression 1363708 1363738 - Identifier 1363708 1363720 - Identifier 1363721 1363738 - ColonToken 1363738 1363740 - NumericLiteral 1363740 1363742 - VariableStatement 1363744 1363865 - VariableDeclarationList 1363744 1363864 - VariableDeclaration 1363775 1363864 - Identifier 1363775 1363786 - CallExpression 1363788 1363864 - Identifier 1363788 1363820 - Identifier 1363821 1363835 - Identifier 1363836 1363850 - Identifier 1363851 1363863 - IfStatement 1363865 1364823 - Identifier 1363895 1363905 - Block 1363906 1364823 - IfStatement 1363908 1364153 - BinaryExpression 1363942 1363975 - Identifier 1363942 1363954 - AmpersandAmpersandToken 1363954 1363957 - Identifier 1363957 1363975 - Block 1363976 1364153 - ExpressionStatement 1363978 1364122 - CallExpression 1363978 1364121 - Identifier 1363978 1364106 - Identifier 1364107 1364120 - IfStatement 1364153 1364392 - BinaryExpression 1364187 1364310 - Identifier 1364187 1364193 - EqualsToken 1364193 1364195 - CallExpression 1364195 1364310 - Identifier 1364195 1364207 - Identifier 1364208 1364214 - Identifier 1364215 1364226 - PropertyAccessExpression 1364227 1364249 - Identifier 1364227 1364242 - Identifier 1364243 1364249 - Identifier 1364250 1364263 - Identifier 1364264 1364290 - Identifier 1364291 1364309 - Block 1364311 1364392 - ReturnStatement 1364313 1364361 - Identifier 1364353 1364360 - IfStatement 1364392 1364796 - BinaryExpression 1364551 1364597 - BinaryExpression 1364551 1364584 - Identifier 1364551 1364563 - AmpersandAmpersandToken 1364563 1364566 - Identifier 1364566 1364584 - AmpersandAmpersandToken 1364584 1364587 - Identifier 1364587 1364597 - Block 1364598 1364796 - ExpressionStatement 1364600 1364765 - BinaryExpression 1364600 1364764 - Identifier 1364600 1364643 - EqualsToken 1364643 1364645 - ConditionalExpression 1364645 1364764 - BinaryExpression 1364645 1364732 - CallExpression 1364645 1364691 - Identifier 1364645 1364670 - ArrayLiteralExpression 1364671 1364690 - Identifier 1364672 1364689 - LessThanEqualsToken 1364691 1364694 - CallExpression 1364694 1364732 - Identifier 1364694 1364719 - ArrayLiteralExpression 1364720 1364731 - Identifier 1364721 1364730 - QuestionToken 1364732 1364734 - Identifier 1364734 1364752 - ColonToken 1364752 1364754 - Identifier 1364754 1364764 - IfStatement 1364865 1364973 - Identifier 1364887 1364899 - Block 1364900 1364973 - ExpressionStatement 1364902 1364954 - BinaryExpression 1364902 1364953 - Identifier 1364902 1364941 - EqualsToken 1364941 1364943 - Identifier 1364943 1364953 - IfStatement 1365006 1374493 - BinaryExpression 1365011 1365071 - CallExpression 1365011 1365038 - Identifier 1365011 1365030 - Identifier 1365031 1365037 - AmpersandAmpersandToken 1365038 1365041 - BinaryExpression 1365041 1365071 - Identifier 1365041 1365050 - ExclamationEqualsEqualsToken 1365050 1365054 - Identifier 1365054 1365071 - Block 1365072 1371074 - VariableStatement 1365074 1365258 - VariableDeclarationList 1365074 1365257 - VariableDeclaration 1365212 1365257 - Identifier 1365212 1365225 - PrefixUnaryExpression 1365227 1365257 - PrefixUnaryExpression 1365229 1365257 - PropertyAccessExpression 1365230 1365257 - PropertyAccessExpression 1365230 1365248 - Identifier 1365230 1365236 - Identifier 1365237 1365248 - Identifier 1365249 1365257 - VariableStatement 1365258 1365335 - VariableDeclarationList 1365258 1365334 - VariableDeclaration 1365281 1365334 - Identifier 1365281 1365294 - CallExpression 1365296 1365334 - Identifier 1365296 1365326 - Identifier 1365327 1365333 - VariableStatement 1365335 1365402 - VariableDeclarationList 1365335 1365401 - VariableDeclaration 1365358 1365401 - Identifier 1365358 1365368 - CallExpression 1365370 1365401 - Identifier 1365370 1365393 - Identifier 1365394 1365400 - IfStatement 1365402 1371059 - PrefixUnaryExpression 1365424 1365474 - ParenthesizedExpression 1365425 1365474 - BinaryExpression 1365426 1365473 - Identifier 1365426 1365435 - AmpersandToken 1365435 1365437 - PropertyAccessExpression 1365437 1365473 - Identifier 1365437 1365457 - Identifier 1365458 1365473 - Block 1365475 1371059 - IfStatement 1365477 1366052 - BinaryExpression 1365693 1365958 - BinaryExpression 1365693 1365841 - BinaryExpression 1365693 1365780 - PrefixUnaryExpression 1365693 1365732 - Identifier 1365720 1365732 - AmpersandAmpersandToken 1365732 1365735 - BinaryExpression 1365735 1365780 - PropertyAccessExpression 1365735 1365754 - Identifier 1365735 1365748 - Identifier 1365749 1365754 - AmpersandToken 1365754 1365756 - PropertyAccessExpression 1365756 1365780 - Identifier 1365756 1365766 - Identifier 1365767 1365780 - AmpersandAmpersandToken 1365780 1365783 - BinaryExpression 1365783 1365841 - PropertyAccessExpression 1365783 1365830 - ParenthesizedExpression 1365783 1365819 - AsExpression 1365785 1365818 - Identifier 1365785 1365797 - TypeReference 1365800 1365818 - Identifier 1365800 1365818 - Identifier 1365820 1365830 - EqualsEqualsEqualsToken 1365830 1365834 - Identifier 1365834 1365841 - AmpersandAmpersandToken 1365841 1365844 - BinaryExpression 1365844 1365958 - PropertyAccessExpression 1365844 1365915 - ParenthesizedExpression 1365844 1365905 - AsExpression 1365871 1365904 - Identifier 1365871 1365883 - TypeReference 1365886 1365904 - Identifier 1365886 1365904 - Identifier 1365906 1365915 - EqualsEqualsEqualsToken 1365915 1365919 - CallExpression 1365919 1365958 - Identifier 1365919 1365950 - Identifier 1365951 1365957 - Block 1365981 1366052 - ReturnStatement 1365983 1366029 - PropertyAccessExpression 1366015 1366028 - Identifier 1366015 1366023 - Identifier 1366024 1366028 - IfStatement 1366052 1371040 - PrefixUnaryExpression 1366078 1366106 - CallExpression 1366079 1366106 - Identifier 1366079 1366098 - Identifier 1366099 1366105 - Block 1366107 1371040 - VariableStatement 1366109 1366442 - VariableDeclarationList 1366109 1366441 - VariableDeclaration 1366336 1366441 - Identifier 1366336 1366347 - ConditionalExpression 1366349 1366441 - Identifier 1366349 1366362 - QuestionToken 1366362 1366364 - NonNullExpression 1366364 1366399 - CallExpression 1366364 1366398 - Identifier 1366364 1366390 - Identifier 1366391 1366397 - ColonToken 1366399 1366401 - CallExpression 1366401 1366441 - Identifier 1366401 1366433 - Identifier 1366434 1366440 - VariableStatement 1366442 1366619 - VariableDeclarationList 1366442 1366618 - VariableDeclaration 1366554 1366618 - Identifier 1366554 1366565 - CallExpression 1366567 1366618 - Identifier 1366567 1366580 - Identifier 1366581 1366587 - PropertyAccessExpression 1366588 1366617 - Identifier 1366588 1366599 - Identifier 1366600 1366617 - VariableStatement 1366619 1366717 - VariableDeclarationList 1366619 1366716 - VariableDeclaration 1366650 1366716 - Identifier 1366650 1366666 - BinaryExpression 1366668 1366716 - Identifier 1366668 1366678 - AmpersandToken 1366678 1366680 - PropertyAccessExpression 1366680 1366716 - Identifier 1366680 1366700 - Identifier 1366701 1366716 - VariableStatement 1366717 1366844 - VariableDeclarationList 1366717 1366843 - VariableDeclaration 1366748 1366843 - Identifier 1366748 1366772 - ConditionalExpression 1366774 1366843 - Identifier 1366774 1366790 - QuestionToken 1366790 1366792 - CallExpression 1366792 1366831 - Identifier 1366792 1366807 - Identifier 1366808 1366818 - Identifier 1366819 1366830 - ColonToken 1366831 1366833 - Identifier 1366833 1366843 - IfStatement 1366844 1370905 - ConditionalExpression 1367549 1367773 - Identifier 1367549 1367594 - QuestionToken 1367594 1367629 - PrefixUnaryExpression 1367629 1367681 - ParenthesizedExpression 1367631 1367681 - BinaryExpression 1367632 1367680 - PropertyAccessExpression 1367632 1367662 - NonNullExpression 1367632 1367656 - Identifier 1367632 1367655 - Identifier 1367657 1367662 - AmpersandToken 1367662 1367664 - PropertyAccessExpression 1367664 1367680 - Identifier 1367664 1367674 - Identifier 1367675 1367680 - ColonToken 1367681 1367716 - CallExpression 1367716 1367773 - Identifier 1367716 1367728 - Identifier 1367729 1367739 - Identifier 1367740 1367751 - PropertyAccessExpression 1367752 1367772 - Identifier 1367752 1367767 - Identifier 1367768 1367772 - Block 1367800 1370905 - VariableStatement 1367802 1367891 - VariableDeclarationList 1367802 1367890 - VariableDeclaration 1367837 1367890 - Identifier 1367837 1367850 - CallExpression 1367852 1367890 - Identifier 1367852 1367882 - Identifier 1367883 1367889 - VariableStatement 1367891 1367982 - VariableDeclarationList 1367891 1367981 - VariableDeclaration 1367926 1367981 - Identifier 1367926 1367940 - CallExpression 1367942 1367981 - Identifier 1367942 1367973 - Identifier 1367974 1367980 - VariableStatement 1367982 1368401 - VariableDeclarationList 1367982 1368400 - VariableDeclaration 1368327 1368400 - Identifier 1368327 1368344 - CallExpression 1368346 1368400 - Identifier 1368346 1368365 - Identifier 1368366 1368378 - PrefixUnaryExpression 1368379 1368399 - PropertyAccessExpression 1368381 1368399 - Identifier 1368381 1368390 - Identifier 1368391 1368399 - IfStatement 1368401 1370878 - BinaryExpression 1368435 1368571 - BinaryExpression 1368435 1368500 - PrefixUnaryExpression 1368435 1368448 - Identifier 1368436 1368448 - AmpersandAmpersandToken 1368448 1368451 - BinaryExpression 1368451 1368500 - PropertyAccessExpression 1368451 1368474 - Identifier 1368451 1368468 - Identifier 1368469 1368474 - AmpersandToken 1368474 1368476 - PropertyAccessExpression 1368476 1368500 - Identifier 1368476 1368486 - Identifier 1368487 1368500 - AmpersandAmpersandToken 1368500 1368503 - BinaryExpression 1368503 1368571 - PropertyAccessExpression 1368503 1368553 - ParenthesizedExpression 1368503 1368543 - AsExpression 1368505 1368542 - Identifier 1368505 1368521 - TypeReference 1368524 1368542 - Identifier 1368524 1368542 - Identifier 1368544 1368553 - EqualsEqualsEqualsToken 1368553 1368557 - Identifier 1368557 1368571 - Block 1368572 1368850 - IfStatement 1368574 1368819 - BinaryExpression 1368612 1368729 - Identifier 1368612 1368618 - EqualsToken 1368618 1368620 - CallExpression 1368620 1368729 - Identifier 1368620 1368632 - Identifier 1368633 1368639 - PropertyAccessExpression 1368640 1368691 - ParenthesizedExpression 1368640 1368680 - AsExpression 1368642 1368679 - Identifier 1368642 1368658 - TypeReference 1368661 1368679 - Identifier 1368661 1368679 - Identifier 1368681 1368691 - PropertyAccessExpression 1368692 1368714 - Identifier 1368692 1368707 - Identifier 1368708 1368714 - Identifier 1368715 1368728 - Block 1368730 1368819 - ReturnStatement 1368732 1368784 - Identifier 1368776 1368783 - Block 1368884 1370878 - VariableStatement 1368886 1370402 - VariableDeclarationList 1368886 1370401 - VariableDeclaration 1370077 1370401 - Identifier 1370077 1370090 - ConditionalExpression 1370092 1370401 - Identifier 1370092 1370105 - QuestionToken 1370105 1370144 - ParenthesizedExpression 1370144 1370184 - BinaryExpression 1370146 1370183 - Identifier 1370146 1370169 - BarBarToken 1370169 1370172 - Identifier 1370172 1370183 - ColonToken 1370184 1370223 - ConditionalExpression 1370223 1370401 - Identifier 1370223 1370247 - QuestionToken 1370247 1370286 - CallExpression 1370286 1370348 - Identifier 1370286 1370306 - ArrayLiteralExpression 1370307 1370347 - Identifier 1370308 1370331 - Identifier 1370332 1370346 - ColonToken 1370348 1370387 - Identifier 1370387 1370401 - VariableStatement 1370402 1370505 - VariableDeclarationList 1370402 1370504 - VariableDeclaration 1370441 1370504 - Identifier 1370441 1370459 - CallExpression 1370461 1370504 - Identifier 1370461 1370482 - Identifier 1370483 1370489 - Identifier 1370490 1370503 - IfStatement 1370505 1370847 - BinaryExpression 1370669 1370757 - Identifier 1370669 1370675 - EqualsToken 1370675 1370677 - CallExpression 1370677 1370757 - Identifier 1370677 1370689 - Identifier 1370690 1370707 - Identifier 1370708 1370721 - PropertyAccessExpression 1370722 1370742 - Identifier 1370722 1370737 - Identifier 1370738 1370742 - Identifier 1370743 1370756 - Block 1370758 1370847 - ReturnStatement 1370760 1370812 - Identifier 1370804 1370811 - ExpressionStatement 1370905 1370961 - BinaryExpression 1370905 1370960 - Identifier 1370905 1370948 - EqualsToken 1370948 1370950 - Identifier 1370950 1370960 - ExpressionStatement 1370961 1371017 - CallExpression 1370961 1371016 - Identifier 1370961 1371001 - Identifier 1371002 1371015 - IfStatement 1371092 1374493 - BinaryExpression 1371097 1371132 - Identifier 1371097 1371108 - AmpersandToken 1371108 1371110 - PropertyAccessExpression 1371110 1371132 - Identifier 1371110 1371120 - Identifier 1371121 1371132 - Block 1371133 1373304 - IfStatement 1371135 1371488 - CallExpression 1371367 1371423 - Identifier 1371367 1371385 - Identifier 1371386 1371392 - Identifier 1371393 1371405 - Identifier 1371406 1371418 - NumericLiteral 1371419 1371422 - Block 1371424 1371488 - ReturnStatement 1371426 1371469 - PropertyAccessExpression 1371454 1371468 - Identifier 1371454 1371462 - Identifier 1371463 1371468 - VariableStatement 1371488 1371542 - VariableDeclarationList 1371488 1371541 - VariableDeclaration 1371511 1371541 - Identifier 1371511 1371513 - AsExpression 1371515 1371541 - Identifier 1371515 1371522 - TypeReference 1371525 1371541 - Identifier 1371525 1371541 - IfStatement 1371542 1373289 - BinaryExpression 1371980 1372133 - BinaryExpression 1371980 1372043 - PrefixUnaryExpression 1371980 1372007 - PropertyAccessExpression 1371981 1372007 - PropertyAccessExpression 1371981 1371987 - Identifier 1371981 1371982 - Identifier 1371983 1371987 - Identifier 1371988 1372007 - AmpersandAmpersandToken 1372007 1372010 - PrefixUnaryExpression 1372010 1372043 - CallExpression 1372012 1372043 - Identifier 1372012 1372035 - PropertyAccessExpression 1372036 1372042 - Identifier 1372036 1372037 - Identifier 1372038 1372042 - AmpersandAmpersandToken 1372043 1372046 - PrefixUnaryExpression 1372046 1372133 - ParenthesizedExpression 1372048 1372133 - BinaryExpression 1372049 1372132 - BinaryExpression 1372049 1372085 - PropertyAccessExpression 1372049 1372061 - Identifier 1372049 1372055 - Identifier 1372056 1372061 - AmpersandToken 1372061 1372063 - PropertyAccessExpression 1372063 1372085 - Identifier 1372063 1372073 - Identifier 1372074 1372085 - AmpersandAmpersandToken 1372085 1372088 - BinaryExpression 1372088 1372132 - PropertyAccessExpression 1372088 1372121 - ParenthesizedExpression 1372088 1372116 - AsExpression 1372090 1372115 - Identifier 1372090 1372096 - TypeReference 1372099 1372115 - Identifier 1372099 1372115 - Identifier 1372117 1372121 - EqualsEqualsEqualsToken 1372121 1372125 - PropertyAccessExpression 1372125 1372132 - Identifier 1372125 1372127 - Identifier 1372128 1372132 - Block 1372134 1373289 - VariableStatement 1372136 1372405 - VariableDeclarationList 1372136 1372404 - VariableDeclaration 1372289 1372404 - Identifier 1372289 1372298 - PrefixUnaryExpression 1372300 1372404 - CallExpression 1372302 1372404 - Identifier 1372302 1372320 - CallExpression 1372321 1372360 - Identifier 1372321 1372347 - PropertyAccessExpression 1372348 1372359 - Identifier 1372348 1372349 - Identifier 1372350 1372359 - CallExpression 1372361 1372403 - Identifier 1372361 1372388 - PropertyAccessExpression 1372389 1372402 - Identifier 1372389 1372390 - Identifier 1372391 1372402 - VariableStatement 1372405 1372563 - VariableDeclarationList 1372405 1372562 - VariableDeclaration 1372432 1372562 - Identifier 1372432 1372442 - BinaryExpression 1372444 1372562 - PrefixUnaryExpression 1372444 1372454 - Identifier 1372446 1372454 - AmpersandAmpersandToken 1372454 1372457 - CallExpression 1372457 1372562 - Identifier 1372457 1372476 - CallExpression 1372477 1372517 - Identifier 1372477 1372504 - PropertyAccessExpression 1372505 1372516 - Identifier 1372505 1372506 - Identifier 1372507 1372516 - CallExpression 1372518 1372561 - Identifier 1372518 1372546 - PropertyAccessExpression 1372547 1372560 - Identifier 1372547 1372548 - Identifier 1372549 1372560 - IfStatement 1372563 1373270 - BinaryExpression 1372740 1372922 - Identifier 1372740 1372746 - EqualsToken 1372746 1372748 - ConditionalExpression 1372748 1372922 - Identifier 1372748 1372757 - QuestionToken 1372757 1372759 - PropertyAccessExpression 1372759 1372772 - Identifier 1372759 1372767 - Identifier 1372768 1372772 - ColonToken 1372772 1372774 - CallExpression 1372774 1372922 - Identifier 1372774 1372786 - Identifier 1372787 1372793 - CallExpression 1372794 1372828 - Identifier 1372794 1372825 - Identifier 1372826 1372827 - PropertyAccessExpression 1372829 1372851 - Identifier 1372829 1372844 - Identifier 1372845 1372851 - FalseKeyword 1372852 1372875 - Identifier 1372876 1372902 - Identifier 1372903 1372921 - Block 1372923 1373270 - ExpressionStatement 1372925 1373137 - BinaryExpression 1372925 1373136 - Identifier 1372925 1372957 - AmpersandEqualsToken 1372957 1372960 - ConditionalExpression 1372960 1373136 - Identifier 1372960 1372970 - QuestionToken 1372970 1372972 - PropertyAccessExpression 1372972 1372985 - Identifier 1372972 1372980 - Identifier 1372981 1372985 - ColonToken 1372985 1372987 - CallExpression 1372987 1373136 - Identifier 1372987 1372999 - Identifier 1373000 1373006 - CallExpression 1373007 1373042 - Identifier 1373007 1373039 - Identifier 1373040 1373041 - PropertyAccessExpression 1373043 1373065 - Identifier 1373043 1373058 - Identifier 1373059 1373065 - FalseKeyword 1373066 1373089 - Identifier 1373090 1373116 - Identifier 1373117 1373135 - IfStatement 1373137 1373247 - Identifier 1373167 1373173 - Block 1373174 1373247 - ReturnStatement 1373176 1373220 - Identifier 1373212 1373219 - IfStatement 1373322 1374493 - BinaryExpression 1373327 1373366 - Identifier 1373327 1373338 - AmpersandToken 1373338 1373340 - PropertyAccessExpression 1373340 1373366 - Identifier 1373340 1373350 - Identifier 1373351 1373366 - Block 1373367 1374192 - IfStatement 1373369 1374018 - BinaryExpression 1373391 1373430 - Identifier 1373391 1373402 - AmpersandToken 1373402 1373404 - PropertyAccessExpression 1373404 1373430 - Identifier 1373404 1373414 - Identifier 1373415 1373430 - Block 1373431 1374018 - IfStatement 1373433 1373682 - BinaryExpression 1373459 1373490 - Identifier 1373459 1373467 - EqualsEqualsEqualsToken 1373467 1373471 - Identifier 1373471 1373490 - Block 1373491 1373682 - ReturnStatement 1373493 1373659 - ConditionalExpression 1373525 1373658 - CallExpression 1373525 1373627 - Identifier 1373525 1373565 - AsExpression 1373566 1373595 - Identifier 1373566 1373572 - TypeReference 1373575 1373595 - Identifier 1373575 1373595 - AsExpression 1373596 1373626 - Identifier 1373596 1373603 - TypeReference 1373606 1373626 - Identifier 1373606 1373626 - QuestionToken 1373627 1373629 - PropertyAccessExpression 1373629 1373643 - Identifier 1373629 1373637 - Identifier 1373638 1373643 - ColonToken 1373643 1373645 - PropertyAccessExpression 1373645 1373658 - Identifier 1373645 1373653 - Identifier 1373654 1373658 - ExpressionStatement 1373682 1373999 - CallExpression 1373682 1373998 - Identifier 1373682 1373966 - Identifier 1373967 1373973 - Identifier 1373974 1373997 - IfStatement 1374018 1374177 - CallExpression 1374040 1374113 - Identifier 1374040 1374074 - Identifier 1374075 1374081 - AsExpression 1374082 1374112 - Identifier 1374082 1374089 - TypeReference 1374092 1374112 - Identifier 1374092 1374112 - Block 1374114 1374177 - ReturnStatement 1374116 1374158 - PropertyAccessExpression 1374144 1374157 - Identifier 1374144 1374152 - Identifier 1374153 1374157 - IfStatement 1374210 1374493 - BinaryExpression 1374215 1374253 - PropertyAccessExpression 1374215 1374227 - Identifier 1374215 1374221 - Identifier 1374222 1374227 - AmpersandToken 1374227 1374229 - PropertyAccessExpression 1374229 1374253 - Identifier 1374229 1374239 - Identifier 1374240 1374253 - Block 1374254 1374493 - IfStatement 1374256 1374478 - PrefixUnaryExpression 1374278 1374319 - ParenthesizedExpression 1374279 1374319 - BinaryExpression 1374280 1374318 - PropertyAccessExpression 1374280 1374292 - Identifier 1374280 1374286 - Identifier 1374287 1374292 - AmpersandToken 1374292 1374294 - PropertyAccessExpression 1374294 1374318 - Identifier 1374294 1374304 - Identifier 1374305 1374318 - Block 1374320 1374478 - IfStatement 1374322 1374459 - CallExpression 1374348 1374387 - Identifier 1374348 1374371 - Identifier 1374372 1374378 - Identifier 1374379 1374386 - Block 1374388 1374459 - ReturnStatement 1374390 1374436 - PropertyAccessExpression 1374422 1374435 - Identifier 1374422 1374430 - Identifier 1374431 1374435 - IfStatement 1374493 1391523 - BinaryExpression 1374513 1374549 - Identifier 1374513 1374524 - AmpersandToken 1374524 1374526 - PropertyAccessExpression 1374526 1374549 - Identifier 1374526 1374536 - Identifier 1374537 1374549 - Block 1374550 1376666 - IfStatement 1374552 1376651 - PrefixUnaryExpression 1374692 1374773 - ParenthesizedExpression 1374693 1374773 - BinaryExpression 1374694 1374772 - BinaryExpression 1374694 1374731 - Identifier 1374694 1374705 - AmpersandToken 1374705 1374707 - PropertyAccessExpression 1374707 1374731 - Identifier 1374707 1374717 - Identifier 1374718 1374731 - AmpersandAmpersandToken 1374731 1374734 - BinaryExpression 1374734 1374772 - Identifier 1374734 1374746 - AmpersandToken 1374746 1374748 - PropertyAccessExpression 1374748 1374772 - Identifier 1374748 1374758 - Identifier 1374759 1374772 - Block 1374774 1376651 - VariableStatement 1374776 1374876 - VariableDeclarationList 1374776 1374875 - VariableDeclaration 1374803 1374875 - Identifier 1374803 1374814 - BinaryExpression 1374816 1374875 - CallExpression 1374816 1374860 - Identifier 1374816 1374836 - AsExpression 1374837 1374859 - Identifier 1374837 1374843 - TypeReference 1374846 1374859 - Identifier 1374846 1374859 - BarBarToken 1374860 1374863 - Identifier 1374863 1374875 - IfStatement 1374876 1375830 - BinaryExpression 1375097 1375230 - Identifier 1375097 1375103 - EqualsToken 1375103 1375105 - CallExpression 1375105 1375230 - Identifier 1375105 1375117 - Identifier 1375118 1375128 - Identifier 1375129 1375136 - PropertyAccessExpression 1375137 1375159 - Identifier 1375137 1375152 - Identifier 1375153 1375159 - FalseKeyword 1375160 1375183 - Identifier 1375184 1375210 - Identifier 1375211 1375229 - Block 1375231 1375296 - ReturnStatement 1375233 1375273 - Identifier 1375265 1375272 - IfStatement 1375515 1375830 - BinaryExpression 1375520 1375764 - Identifier 1375520 1375526 - EqualsToken 1375526 1375528 - CallExpression 1375528 1375764 - Identifier 1375528 1375540 - CallExpression 1375541 1375584 - Identifier 1375541 1375564 - Identifier 1375565 1375575 - Identifier 1375576 1375583 - Identifier 1375585 1375592 - PropertyAccessExpression 1375593 1375615 - Identifier 1375593 1375608 - Identifier 1375609 1375615 - BinaryExpression 1375616 1375717 - BinaryExpression 1375616 1375659 - Identifier 1375616 1375629 - AmpersandAmpersandToken 1375629 1375632 - BinaryExpression 1375632 1375659 - Identifier 1375632 1375643 - ExclamationEqualsEqualsToken 1375643 1375647 - Identifier 1375647 1375659 - AmpersandAmpersandToken 1375659 1375662 - PrefixUnaryExpression 1375662 1375717 - ParenthesizedExpression 1375664 1375717 - BinaryExpression 1375665 1375716 - BinaryExpression 1375665 1375690 - Identifier 1375665 1375676 - AmpersandToken 1375676 1375678 - Identifier 1375678 1375690 - AmpersandToken 1375690 1375692 - PropertyAccessExpression 1375692 1375716 - Identifier 1375692 1375702 - Identifier 1375703 1375716 - Identifier 1375718 1375744 - Identifier 1375745 1375763 - Block 1375765 1375830 - ReturnStatement 1375767 1375807 - Identifier 1375799 1375806 - IfStatement 1375830 1376632 - CallExpression 1375856 1375896 - Identifier 1375856 1375888 - Identifier 1375889 1375895 - Block 1375897 1376632 - VariableStatement 1375899 1376272 - VariableDeclarationList 1375899 1376271 - VariableDeclaration 1376192 1376271 - Identifier 1376192 1376208 - CallExpression 1376210 1376271 - Identifier 1376210 1376230 - PropertyAccessExpression 1376231 1376270 - ParenthesizedExpression 1376231 1376260 - AsExpression 1376232 1376259 - Identifier 1376232 1376238 - TypeReference 1376241 1376259 - Identifier 1376241 1376259 - Identifier 1376261 1376270 - IfStatement 1376272 1376609 - Identifier 1376302 1376317 - Block 1376318 1376609 - IfStatement 1376320 1376582 - BinaryExpression 1376354 1376500 - Identifier 1376354 1376360 - EqualsToken 1376360 1376362 - CallExpression 1376362 1376500 - Identifier 1376362 1376374 - CallExpression 1376375 1376454 - Identifier 1376375 1376395 - PropertyAccessExpression 1376396 1376436 - ParenthesizedExpression 1376396 1376425 - AsExpression 1376397 1376424 - Identifier 1376397 1376403 - TypeReference 1376406 1376424 - Identifier 1376406 1376424 - Identifier 1376426 1376436 - Identifier 1376437 1376453 - Identifier 1376455 1376462 - PropertyAccessExpression 1376463 1376485 - Identifier 1376463 1376478 - Identifier 1376479 1376485 - Identifier 1376486 1376499 - Block 1376501 1376582 - ReturnStatement 1376503 1376551 - Identifier 1376543 1376550 - IfStatement 1376684 1391523 - BinaryExpression 1376689 1376718 - Identifier 1376689 1376700 - AmpersandToken 1376700 1376702 - PropertyAccessExpression 1376702 1376718 - Identifier 1376702 1376712 - Identifier 1376713 1376718 - Block 1376719 1378515 - VariableStatement 1376721 1376919 - VariableDeclarationList 1376721 1376918 - VariableDeclaration 1376744 1376918 - Identifier 1376744 1376766 - BinaryExpression 1376768 1376918 - CallExpression 1376768 1376851 - Identifier 1376768 1376789 - PropertyAccessExpression 1376790 1376816 - ParenthesizedExpression 1376790 1376811 - AsExpression 1376791 1376810 - Identifier 1376791 1376797 - TypeReference 1376800 1376810 - Identifier 1376800 1376810 - Identifier 1376812 1376816 - PropertyAccessExpression 1376817 1376850 - ParenthesizedExpression 1376817 1376839 - AsExpression 1376819 1376838 - Identifier 1376819 1376825 - TypeReference 1376828 1376838 - Identifier 1376828 1376838 - Identifier 1376840 1376850 - AmpersandAmpersandToken 1376851 1376854 - BinaryExpression 1376854 1376918 - CallExpression 1376854 1376897 - Identifier 1376854 1376869 - PropertyAccessExpression 1376870 1376896 - ParenthesizedExpression 1376870 1376891 - AsExpression 1376871 1376890 - Identifier 1376871 1376877 - TypeReference 1376880 1376890 - Identifier 1376880 1376890 - Identifier 1376892 1376896 - AmpersandToken 1376897 1376899 - PropertyAccessExpression 1376899 1376918 - Identifier 1376899 1376911 - Identifier 1376912 1376918 - IfStatement 1376919 1377114 - BinaryExpression 1376941 1377056 - Identifier 1376941 1376947 - EqualsToken 1376947 1376949 - CallExpression 1376949 1377056 - Identifier 1376949 1376961 - Identifier 1376962 1376984 - Identifier 1376985 1376992 - PropertyAccessExpression 1376993 1377015 - Identifier 1376993 1377008 - Identifier 1377009 1377015 - BinaryExpression 1377016 1377055 - Identifier 1377016 1377029 - AmpersandAmpersandToken 1377029 1377032 - PrefixUnaryExpression 1377032 1377055 - Identifier 1377034 1377055 - Block 1377057 1377114 - ReturnStatement 1377059 1377095 - Identifier 1377087 1377094 - IfStatement 1377114 1378500 - Identifier 1377136 1377157 - Block 1377158 1378500 - VariableStatement 1377160 1377242 - VariableDeclarationList 1377160 1377241 - VariableDeclaration 1377187 1377241 - Identifier 1377187 1377198 - AsExpression 1377200 1377241 - PropertyAccessExpression 1377200 1377227 - ParenthesizedExpression 1377200 1377222 - AsExpression 1377202 1377221 - Identifier 1377202 1377208 - TypeReference 1377211 1377221 - Identifier 1377211 1377221 - Identifier 1377223 1377227 - TypeReference 1377230 1377241 - Identifier 1377230 1377241 - VariableStatement 1377242 1377319 - VariableDeclarationList 1377242 1377318 - VariableDeclaration 1377269 1377318 - Identifier 1377269 1377278 - CallExpression 1377280 1377318 - Identifier 1377280 1377306 - Identifier 1377307 1377317 - VariableStatement 1377319 1378306 - VariableDeclarationList 1377319 1378305 - VariableDeclaration 1378109 1378305 - Identifier 1378109 1378126 - ConditionalExpression 1378128 1378305 - BinaryExpression 1378128 1378195 - Identifier 1378128 1378137 - AmpersandAmpersandToken 1378137 1378140 - CallExpression 1378140 1378195 - Identifier 1378140 1378183 - Identifier 1378184 1378194 - QuestionToken 1378195 1378197 - CallExpression 1378197 1378245 - Identifier 1378197 1378223 - Identifier 1378224 1378232 - Identifier 1378233 1378244 - ColonToken 1378245 1378247 - ParenthesizedExpression 1378247 1378305 - BinaryExpression 1378249 1378304 - Identifier 1378249 1378257 - BarBarToken 1378257 1378260 - CallExpression 1378260 1378304 - Identifier 1378260 1378292 - Identifier 1378293 1378303 - IfStatement 1378306 1378481 - BinaryExpression 1378332 1378415 - Identifier 1378332 1378338 - EqualsToken 1378338 1378340 - CallExpression 1378340 1378415 - Identifier 1378340 1378352 - Identifier 1378353 1378369 - Identifier 1378370 1378377 - PropertyAccessExpression 1378378 1378400 - Identifier 1378378 1378393 - Identifier 1378394 1378400 - Identifier 1378401 1378414 - Block 1378416 1378481 - ReturnStatement 1378418 1378458 - Identifier 1378450 1378457 - IfStatement 1378533 1391523 - BinaryExpression 1378538 1378614 - BinaryExpression 1378538 1378577 - Identifier 1378538 1378549 - AmpersandToken 1378549 1378551 - PropertyAccessExpression 1378551 1378577 - Identifier 1378551 1378561 - Identifier 1378562 1378577 - AmpersandAmpersandToken 1378577 1378580 - PrefixUnaryExpression 1378580 1378614 - ParenthesizedExpression 1378582 1378614 - BinaryExpression 1378583 1378613 - Identifier 1378583 1378594 - AmpersandToken 1378594 1378596 - PropertyAccessExpression 1378596 1378613 - Identifier 1378596 1378606 - Identifier 1378607 1378613 - Block 1378615 1379001 - IfStatement 1378617 1378986 - PrefixUnaryExpression 1378639 1378681 - ParenthesizedExpression 1378640 1378681 - BinaryExpression 1378641 1378680 - Identifier 1378641 1378652 - AmpersandToken 1378652 1378654 - PropertyAccessExpression 1378654 1378680 - Identifier 1378654 1378664 - Identifier 1378665 1378680 - Block 1378682 1378986 - VariableStatement 1378684 1378757 - VariableDeclarationList 1378684 1378756 - VariableDeclaration 1378711 1378756 - Identifier 1378711 1378722 - CallExpression 1378724 1378756 - Identifier 1378724 1378748 - Identifier 1378749 1378755 - IfStatement 1378757 1378967 - BinaryExpression 1378783 1378901 - BinaryExpression 1378783 1378818 - Identifier 1378783 1378793 - AmpersandAmpersandToken 1378793 1378796 - BinaryExpression 1378796 1378818 - Identifier 1378796 1378807 - ExclamationEqualsEqualsToken 1378807 1378811 - Identifier 1378811 1378818 - AmpersandAmpersandToken 1378818 1378821 - ParenthesizedExpression 1378821 1378901 - BinaryExpression 1378823 1378900 - Identifier 1378823 1378829 - EqualsToken 1378829 1378831 - CallExpression 1378831 1378900 - Identifier 1378831 1378843 - Identifier 1378844 1378854 - Identifier 1378855 1378862 - PropertyAccessExpression 1378863 1378885 - Identifier 1378863 1378878 - Identifier 1378879 1378885 - Identifier 1378886 1378899 - Block 1378902 1378967 - ReturnStatement 1378904 1378944 - Identifier 1378936 1378943 - IfStatement 1379019 1391523 - BinaryExpression 1379024 1379061 - Identifier 1379024 1379035 - AmpersandToken 1379035 1379037 - PropertyAccessExpression 1379037 1379061 - Identifier 1379037 1379047 - Identifier 1379048 1379061 - Block 1379062 1379856 - IfStatement 1379064 1379841 - BinaryExpression 1379086 1379123 - Identifier 1379086 1379097 - AmpersandToken 1379097 1379099 - PropertyAccessExpression 1379099 1379123 - Identifier 1379099 1379109 - Identifier 1379110 1379123 - Block 1379124 1379540 - IfStatement 1379126 1379302 - BinaryExpression 1379152 1379229 - PropertyAccessExpression 1379152 1379188 - ParenthesizedExpression 1379152 1379181 - AsExpression 1379153 1379180 - Identifier 1379153 1379159 - TypeReference 1379162 1379180 - Identifier 1379162 1379180 - Identifier 1379182 1379188 - ExclamationEqualsEqualsToken 1379188 1379192 - PropertyAccessExpression 1379192 1379229 - ParenthesizedExpression 1379192 1379222 - AsExpression 1379194 1379221 - Identifier 1379194 1379200 - TypeReference 1379203 1379221 - Identifier 1379203 1379221 - Identifier 1379223 1379229 - Block 1379230 1379302 - ReturnStatement 1379232 1379279 - PropertyAccessExpression 1379264 1379278 - Identifier 1379264 1379272 - Identifier 1379273 1379278 - IfStatement 1379302 1379521 - BinaryExpression 1379328 1379455 - Identifier 1379328 1379334 - EqualsToken 1379334 1379336 - CallExpression 1379336 1379455 - Identifier 1379336 1379348 - PropertyAccessExpression 1379349 1379383 - ParenthesizedExpression 1379349 1379378 - AsExpression 1379350 1379377 - Identifier 1379350 1379356 - TypeReference 1379359 1379377 - Identifier 1379359 1379377 - Identifier 1379379 1379383 - PropertyAccessExpression 1379384 1379419 - ParenthesizedExpression 1379384 1379414 - AsExpression 1379386 1379413 - Identifier 1379386 1379392 - TypeReference 1379395 1379413 - Identifier 1379395 1379413 - Identifier 1379415 1379419 - PropertyAccessExpression 1379420 1379440 - Identifier 1379420 1379435 - Identifier 1379436 1379440 - Identifier 1379441 1379454 - Block 1379456 1379521 - ReturnStatement 1379458 1379498 - Identifier 1379490 1379497 - Block 1379562 1379841 - VariableStatement 1379564 1379637 - VariableDeclarationList 1379564 1379636 - VariableDeclaration 1379591 1379636 - Identifier 1379591 1379602 - CallExpression 1379604 1379636 - Identifier 1379604 1379628 - Identifier 1379629 1379635 - IfStatement 1379637 1379822 - BinaryExpression 1379663 1379756 - Identifier 1379663 1379673 - AmpersandAmpersandToken 1379673 1379676 - ParenthesizedExpression 1379676 1379756 - BinaryExpression 1379678 1379755 - Identifier 1379678 1379684 - EqualsToken 1379684 1379686 - CallExpression 1379686 1379755 - Identifier 1379686 1379698 - Identifier 1379699 1379709 - Identifier 1379710 1379717 - PropertyAccessExpression 1379718 1379740 - Identifier 1379718 1379733 - Identifier 1379734 1379740 - Identifier 1379741 1379754 - Block 1379757 1379822 - ReturnStatement 1379759 1379799 - Identifier 1379791 1379798 - IfStatement 1379874 1391523 - BinaryExpression 1379879 1379914 - Identifier 1379879 1379890 - AmpersandToken 1379890 1379892 - PropertyAccessExpression 1379892 1379914 - Identifier 1379892 1379902 - Identifier 1379903 1379914 - Block 1379915 1383889 - IfStatement 1379917 1380270 - CallExpression 1380149 1380205 - Identifier 1380149 1380167 - Identifier 1380168 1380174 - Identifier 1380175 1380187 - Identifier 1380188 1380200 - NumericLiteral 1380201 1380204 - Block 1380206 1380270 - ReturnStatement 1380208 1380251 - PropertyAccessExpression 1380236 1380250 - Identifier 1380236 1380244 - Identifier 1380245 1380250 - IfStatement 1380270 1382499 - BinaryExpression 1380292 1380327 - Identifier 1380292 1380303 - AmpersandToken 1380303 1380305 - PropertyAccessExpression 1380305 1380327 - Identifier 1380305 1380315 - Identifier 1380316 1380327 - Block 1380328 1382499 - VariableStatement 1380330 1380710 - VariableDeclarationList 1380330 1380709 - VariableDeclaration 1380641 1380709 - Identifier 1380641 1380654 - PropertyAccessExpression 1380656 1380709 - PropertyAccessExpression 1380656 1380689 - ParenthesizedExpression 1380656 1380684 - AsExpression 1380658 1380683 - Identifier 1380658 1380664 - TypeReference 1380667 1380683 - Identifier 1380667 1380683 - Identifier 1380685 1380689 - Identifier 1380690 1380709 - VariableStatement 1380710 1380792 - VariableDeclarationList 1380710 1380791 - VariableDeclaration 1380735 1380791 - Identifier 1380735 1380749 - PropertyAccessExpression 1380751 1380791 - ParenthesizedExpression 1380751 1380779 - AsExpression 1380753 1380778 - Identifier 1380753 1380759 - TypeReference 1380762 1380778 - Identifier 1380762 1380778 - Identifier 1380780 1380791 - VariableStatement 1380792 1380849 - VariableDeclarationList 1380792 1380848 - VariableDeclaration 1380817 1380848 - Identifier 1380817 1380824 - UnionType 1380825 1380848 - TypeReference 1380825 1380836 - Identifier 1380825 1380836 - UndefinedKeyword 1380838 1380848 - IfStatement 1380849 1381477 - Identifier 1380875 1380887 - Block 1380888 1381477 - VariableStatement 1380890 1381148 - VariableDeclarationList 1380890 1381147 - VariableDeclaration 1381039 1381147 - Identifier 1381039 1381043 - CallExpression 1381045 1381147 - Identifier 1381045 1381068 - Identifier 1381069 1381081 - Identifier 1381082 1381106 - PropertyAccessExpression 1381107 1381127 - Identifier 1381107 1381122 - Identifier 1381123 1381127 - Identifier 1381128 1381146 - ExpressionStatement 1381148 1381323 - CallExpression 1381148 1381322 - Identifier 1381148 1381184 - PropertyAccessExpression 1381185 1381199 - Identifier 1381185 1381188 - Identifier 1381189 1381199 - PropertyAccessExpression 1381200 1381240 - ParenthesizedExpression 1381200 1381228 - AsExpression 1381202 1381227 - Identifier 1381202 1381208 - TypeReference 1381211 1381227 - Identifier 1381211 1381227 - Identifier 1381229 1381240 - Identifier 1381241 1381255 - BinaryExpression 1381256 1381321 - PropertyAccessExpression 1381256 1381288 - Identifier 1381256 1381274 - Identifier 1381275 1381288 - BarToken 1381288 1381290 - PropertyAccessExpression 1381290 1381321 - Identifier 1381290 1381308 - Identifier 1381309 1381321 - ExpressionStatement 1381323 1381408 - BinaryExpression 1381323 1381407 - Identifier 1381323 1381362 - EqualsToken 1381362 1381364 - CallExpression 1381364 1381407 - Identifier 1381364 1381380 - Identifier 1381381 1381394 - PropertyAccessExpression 1381395 1381406 - Identifier 1381395 1381399 - Identifier 1381400 1381406 - ExpressionStatement 1381408 1381454 - BinaryExpression 1381408 1381453 - Identifier 1381408 1381440 - EqualsToken 1381440 1381442 - PropertyAccessExpression 1381442 1381453 - Identifier 1381442 1381446 - Identifier 1381447 1381453 - IfStatement 1381477 1382480 - BinaryExpression 1381503 1381857 - CallExpression 1381503 1381602 - Identifier 1381503 1381546 - Identifier 1381547 1381560 - PropertyAccessExpression 1381561 1381601 - ParenthesizedExpression 1381561 1381589 - AsExpression 1381563 1381588 - Identifier 1381563 1381569 - TypeReference 1381572 1381588 - Identifier 1381572 1381588 - Identifier 1381590 1381601 - AmpersandAmpersandToken 1381602 1381605 - ParenthesizedExpression 1381605 1381857 - BinaryExpression 1381632 1381856 - CallExpression 1381632 1381742 - Identifier 1381632 1381643 - PropertyAccessExpression 1381644 1381681 - ParenthesizedExpression 1381644 1381671 - AsExpression 1381645 1381670 - Identifier 1381645 1381651 - TypeReference 1381654 1381670 - Identifier 1381654 1381670 - Identifier 1381672 1381681 - PropertyAccessExpression 1381682 1381720 - ParenthesizedExpression 1381682 1381710 - AsExpression 1381684 1381709 - Identifier 1381684 1381690 - TypeReference 1381693 1381709 - Identifier 1381693 1381709 - Identifier 1381711 1381720 - PropertyAccessExpression 1381721 1381741 - Identifier 1381721 1381736 - Identifier 1381737 1381741 - BarBarToken 1381742 1381745 - CallExpression 1381745 1381856 - Identifier 1381745 1381757 - PropertyAccessExpression 1381758 1381795 - ParenthesizedExpression 1381758 1381785 - AsExpression 1381759 1381784 - Identifier 1381759 1381765 - TypeReference 1381768 1381784 - Identifier 1381768 1381784 - Identifier 1381786 1381795 - PropertyAccessExpression 1381796 1381834 - ParenthesizedExpression 1381796 1381824 - AsExpression 1381798 1381823 - Identifier 1381798 1381804 - TypeReference 1381807 1381823 - Identifier 1381807 1381823 - Identifier 1381825 1381834 - PropertyAccessExpression 1381835 1381855 - Identifier 1381835 1381850 - Identifier 1381851 1381855 - Block 1381880 1382480 - IfStatement 1381882 1382347 - BinaryExpression 1381912 1382110 - Identifier 1381912 1381918 - EqualsToken 1381918 1381920 - CallExpression 1381920 1382110 - Identifier 1381920 1381932 - CallExpression 1381933 1382015 - Identifier 1381933 1381948 - CallExpression 1381949 1382006 - Identifier 1381949 1381979 - AsExpression 1381980 1382005 - Identifier 1381980 1381986 - TypeReference 1381989 1382005 - Identifier 1381989 1382005 - Identifier 1382007 1382014 - CallExpression 1382016 1382074 - Identifier 1382016 1382047 - AsExpression 1382048 1382073 - Identifier 1382048 1382054 - TypeReference 1382057 1382073 - Identifier 1382057 1382073 - PropertyAccessExpression 1382075 1382095 - Identifier 1382075 1382090 - Identifier 1382091 1382095 - Identifier 1382096 1382109 - Block 1382111 1382347 - ExpressionStatement 1382113 1382320 - BinaryExpression 1382113 1382319 - Identifier 1382113 1382149 - AmpersandEqualsToken 1382149 1382152 - CallExpression 1382152 1382319 - Identifier 1382152 1382164 - CallExpression 1382165 1382223 - Identifier 1382165 1382196 - AsExpression 1382197 1382222 - Identifier 1382197 1382203 - TypeReference 1382206 1382222 - Identifier 1382206 1382222 - CallExpression 1382224 1382283 - Identifier 1382224 1382256 - AsExpression 1382257 1382282 - Identifier 1382257 1382263 - TypeReference 1382266 1382282 - Identifier 1382266 1382282 - PropertyAccessExpression 1382284 1382304 - Identifier 1382284 1382299 - Identifier 1382300 1382304 - Identifier 1382305 1382318 - IfStatement 1382347 1382457 - Identifier 1382377 1382383 - Block 1382384 1382457 - ReturnStatement 1382386 1382430 - Identifier 1382422 1382429 - VariableStatement 1382499 1382856 - VariableDeclarationList 1382499 1382855 - VariableDeclaration 1382770 1382855 - Identifier 1382770 1382788 - CallExpression 1382790 1382855 - Identifier 1382790 1382828 - AsExpression 1382829 1382854 - Identifier 1382829 1382835 - TypeReference 1382838 1382854 - Identifier 1382838 1382854 - IfStatement 1382856 1383093 - Identifier 1382878 1382895 - Block 1382896 1383093 - IfStatement 1382898 1383074 - BinaryExpression 1382924 1383008 - Identifier 1382924 1382930 - EqualsToken 1382930 1382932 - CallExpression 1382932 1383008 - Identifier 1382932 1382944 - Identifier 1382945 1382962 - Identifier 1382963 1382970 - PropertyAccessExpression 1382971 1382993 - Identifier 1382971 1382986 - Identifier 1382987 1382993 - Identifier 1382994 1383007 - Block 1383009 1383074 - ReturnStatement 1383011 1383051 - Identifier 1383043 1383050 - VariableStatement 1383093 1383575 - VariableDeclarationList 1383093 1383574 - VariableDeclaration 1383386 1383574 - Identifier 1383386 1383409 - ConditionalExpression 1383411 1383574 - BinaryExpression 1383411 1383490 - PrefixUnaryExpression 1383411 1383450 - ParenthesizedExpression 1383413 1383450 - BinaryExpression 1383414 1383449 - Identifier 1383414 1383425 - AmpersandToken 1383425 1383427 - PropertyAccessExpression 1383427 1383449 - Identifier 1383427 1383437 - Identifier 1383438 1383449 - AmpersandAmpersandToken 1383450 1383453 - CallExpression 1383453 1383490 - Identifier 1383453 1383482 - Identifier 1383483 1383489 - QuestionToken 1383490 1383492 - CallExpression 1383492 1383562 - Identifier 1383492 1383535 - AsExpression 1383536 1383561 - Identifier 1383536 1383542 - TypeReference 1383545 1383561 - Identifier 1383545 1383561 - ColonToken 1383562 1383564 - Identifier 1383564 1383574 - IfStatement 1383575 1383874 - Identifier 1383597 1383619 - Block 1383620 1383874 - ExpressionStatement 1383622 1383674 - CallExpression 1383622 1383673 - Identifier 1383622 1383658 - Identifier 1383659 1383672 - IfStatement 1383674 1383855 - BinaryExpression 1383700 1383789 - Identifier 1383700 1383706 - EqualsToken 1383706 1383708 - CallExpression 1383708 1383789 - Identifier 1383708 1383720 - Identifier 1383721 1383743 - Identifier 1383744 1383751 - PropertyAccessExpression 1383752 1383774 - Identifier 1383752 1383767 - Identifier 1383768 1383774 - Identifier 1383775 1383788 - Block 1383790 1383855 - ReturnStatement 1383792 1383832 - Identifier 1383824 1383831 - Block 1383907 1391523 - IfStatement 1383909 1384222 - BinaryExpression 1384032 1384158 - BinaryExpression 1384032 1384129 - BinaryExpression 1384032 1384098 - BinaryExpression 1384032 1384060 - Identifier 1384032 1384040 - ExclamationEqualsEqualsToken 1384040 1384044 - Identifier 1384044 1384060 - AmpersandAmpersandToken 1384060 1384063 - BinaryExpression 1384063 1384098 - Identifier 1384063 1384072 - ExclamationEqualsEqualsToken 1384072 1384076 - Identifier 1384076 1384098 - AmpersandAmpersandToken 1384098 1384101 - CallExpression 1384101 1384129 - Identifier 1384101 1384121 - Identifier 1384122 1384128 - AmpersandAmpersandToken 1384129 1384132 - CallExpression 1384132 1384158 - Identifier 1384132 1384150 - Identifier 1384151 1384157 - Block 1384159 1384222 - ReturnStatement 1384161 1384203 - PropertyAccessExpression 1384189 1384202 - Identifier 1384189 1384197 - Identifier 1384198 1384202 - IfStatement 1384222 1384577 - CallExpression 1384244 1384271 - Identifier 1384244 1384263 - Identifier 1384264 1384270 - Block 1384272 1384577 - IfStatement 1384274 1384515 - CallExpression 1384300 1384327 - Identifier 1384300 1384319 - Identifier 1384320 1384326 - Block 1384328 1384515 - IfStatement 1384330 1384492 - BinaryExpression 1384360 1384418 - Identifier 1384360 1384366 - EqualsToken 1384366 1384368 - CallExpression 1384368 1384418 - Identifier 1384368 1384388 - Identifier 1384389 1384395 - Identifier 1384396 1384403 - Identifier 1384404 1384417 - Block 1384419 1384492 - ReturnStatement 1384421 1384465 - Identifier 1384457 1384464 - ReturnStatement 1384515 1384558 - PropertyAccessExpression 1384543 1384557 - Identifier 1384543 1384551 - Identifier 1384552 1384557 - VariableStatement 1384577 1384659 - VariableDeclarationList 1384577 1384658 - VariableDeclaration 1384600 1384658 - Identifier 1384600 1384618 - PrefixUnaryExpression 1384620 1384658 - PrefixUnaryExpression 1384622 1384658 - ParenthesizedExpression 1384623 1384658 - BinaryExpression 1384624 1384657 - Identifier 1384624 1384635 - AmpersandToken 1384635 1384637 - PropertyAccessExpression 1384637 1384657 - Identifier 1384637 1384647 - Identifier 1384648 1384657 - IfStatement 1384659 1384955 - BinaryExpression 1384681 1384710 - Identifier 1384681 1384689 - ExclamationEqualsEqualsToken 1384689 1384693 - Identifier 1384693 1384710 - Block 1384711 1384836 - ExpressionStatement 1384713 1384768 - BinaryExpression 1384713 1384767 - Identifier 1384713 1384741 - EqualsToken 1384741 1384743 - CallExpression 1384743 1384767 - Identifier 1384743 1384759 - Identifier 1384760 1384766 - ExpressionStatement 1384768 1384817 - BinaryExpression 1384768 1384816 - Identifier 1384768 1384801 - EqualsToken 1384801 1384803 - PropertyAccessExpression 1384803 1384816 - Identifier 1384803 1384810 - Identifier 1384811 1384816 - IfStatement 1384858 1384955 - CallExpression 1384863 1384890 - Identifier 1384863 1384882 - Identifier 1384883 1384889 - Block 1384891 1384955 - ReturnStatement 1384893 1384936 - PropertyAccessExpression 1384921 1384935 - Identifier 1384921 1384929 - Identifier 1384930 1384935 - IfStatement 1384955 1388548 - BinaryExpression 1384977 1385264 - BinaryExpression 1384977 1385213 - BinaryExpression 1384977 1385168 - BinaryExpression 1384977 1385095 - BinaryExpression 1384977 1385045 - CallExpression 1384977 1385021 - Identifier 1384977 1385013 - Identifier 1385014 1385020 - AmpersandToken 1385021 1385023 - PropertyAccessExpression 1385023 1385045 - Identifier 1385023 1385035 - Identifier 1385036 1385045 - AmpersandAmpersandToken 1385045 1385048 - BinaryExpression 1385048 1385095 - CallExpression 1385048 1385071 - Identifier 1385048 1385063 - Identifier 1385064 1385070 - AmpersandToken 1385071 1385073 - PropertyAccessExpression 1385073 1385095 - Identifier 1385073 1385085 - Identifier 1385086 1385095 - AmpersandAmpersandToken 1385095 1385098 - BinaryExpression 1385098 1385168 - PropertyAccessExpression 1385098 1385131 - ParenthesizedExpression 1385098 1385124 - AsExpression 1385100 1385123 - Identifier 1385100 1385106 - TypeReference 1385109 1385123 - Identifier 1385109 1385123 - Identifier 1385125 1385131 - EqualsEqualsEqualsToken 1385131 1385135 - PropertyAccessExpression 1385135 1385168 - ParenthesizedExpression 1385135 1385161 - AsExpression 1385137 1385160 - Identifier 1385137 1385143 - TypeReference 1385146 1385160 - Identifier 1385146 1385160 - Identifier 1385162 1385168 - AmpersandAmpersandToken 1385168 1385171 - PrefixUnaryExpression 1385171 1385213 - CallExpression 1385194 1385213 - Identifier 1385194 1385205 - Identifier 1385206 1385212 - AmpersandAmpersandToken 1385213 1385216 - PrefixUnaryExpression 1385216 1385264 - ParenthesizedExpression 1385218 1385264 - BinaryExpression 1385219 1385263 - CallExpression 1385219 1385239 - Identifier 1385219 1385231 - Identifier 1385232 1385238 - BarBarToken 1385239 1385242 - CallExpression 1385242 1385263 - Identifier 1385242 1385255 - Identifier 1385256 1385262 - Block 1385283 1386828 - IfStatement 1385285 1385652 - CallExpression 1385549 1385580 - Identifier 1385549 1385572 - Identifier 1385573 1385579 - Block 1385581 1385652 - ReturnStatement 1385583 1385629 - PropertyAccessExpression 1385615 1385628 - Identifier 1385615 1385623 - Identifier 1385624 1385628 - VariableStatement 1385652 1386065 - VariableDeclarationList 1385652 1386064 - VariableDeclaration 1386005 1386064 - Identifier 1386005 1386015 - CallExpression 1386017 1386064 - Identifier 1386017 1386030 - PropertyAccessExpression 1386031 1386063 - ParenthesizedExpression 1386031 1386056 - AsExpression 1386032 1386055 - Identifier 1386032 1386038 - TypeReference 1386041 1386055 - Identifier 1386041 1386055 - Identifier 1386057 1386063 - IfStatement 1386065 1386504 - BinaryExpression 1386405 1386429 - Identifier 1386405 1386414 - EqualsEqualsEqualsToken 1386414 1386418 - Identifier 1386418 1386429 - Block 1386430 1386504 - ReturnStatement 1386432 1386481 - PropertyAccessExpression 1386464 1386480 - Identifier 1386464 1386472 - Identifier 1386473 1386480 - VariableStatement 1386504 1386681 - VariableDeclarationList 1386504 1386680 - VariableDeclaration 1386531 1386680 - Identifier 1386531 1386546 - CallExpression 1386548 1386680 - Identifier 1386548 1386564 - CallExpression 1386565 1386606 - Identifier 1386565 1386581 - AsExpression 1386582 1386605 - Identifier 1386582 1386588 - TypeReference 1386591 1386605 - Identifier 1386591 1386605 - CallExpression 1386607 1386649 - Identifier 1386607 1386624 - AsExpression 1386625 1386648 - Identifier 1386625 1386631 - TypeReference 1386634 1386648 - Identifier 1386634 1386648 - Identifier 1386650 1386660 - Identifier 1386661 1386679 - IfStatement 1386681 1386809 - BinaryExpression 1386707 1386735 - Identifier 1386707 1386721 - ExclamationEqualsEqualsToken 1386721 1386725 - Identifier 1386725 1386735 - Block 1386736 1386809 - ReturnStatement 1386738 1386786 - Identifier 1386770 1386785 - IfStatement 1386850 1388548 - ConditionalExpression 1386855 1387008 - CallExpression 1386855 1386882 - Identifier 1386855 1386874 - Identifier 1386875 1386881 - QuestionToken 1386882 1386884 - CallExpression 1386884 1386922 - Identifier 1386884 1386894 - Identifier 1386895 1386901 - Identifier 1386902 1386921 - ColonToken 1386922 1386924 - BinaryExpression 1386924 1387008 - CallExpression 1386924 1386944 - Identifier 1386924 1386936 - Identifier 1386937 1386943 - AmpersandAmpersandToken 1386944 1386947 - CallExpression 1386947 1387008 - Identifier 1386947 1386957 - Identifier 1386958 1386964 - ArrowFunction 1386965 1387007 - Parameter 1386965 1386967 - Identifier 1386965 1386967 - EqualsGreaterThanToken 1386967 1386970 - BinaryExpression 1386970 1387007 - CallExpression 1386970 1386985 - Identifier 1386970 1386982 - Identifier 1386983 1386984 - AmpersandAmpersandToken 1386985 1386988 - PrefixUnaryExpression 1386988 1387007 - PropertyAccessExpression 1386990 1387007 - PropertyAccessExpression 1386990 1386998 - Identifier 1386990 1386991 - Identifier 1386992 1386998 - Identifier 1386999 1387007 - Block 1387009 1387662 - IfStatement 1387011 1387643 - BinaryExpression 1387037 1387066 - Identifier 1387037 1387045 - ExclamationEqualsEqualsToken 1387045 1387049 - Identifier 1387049 1387066 - Block 1387067 1387274 - ReturnStatement 1387069 1387251 - CallExpression 1387101 1387250 - Identifier 1387101 1387113 - BinaryExpression 1387114 1387163 - CallExpression 1387114 1387152 - Identifier 1387114 1387132 - Identifier 1387133 1387139 - Identifier 1387140 1387151 - BarBarToken 1387152 1387155 - Identifier 1387155 1387163 - BinaryExpression 1387164 1387214 - CallExpression 1387164 1387203 - Identifier 1387164 1387183 - Identifier 1387184 1387190 - Identifier 1387191 1387202 - BarBarToken 1387203 1387206 - Identifier 1387206 1387214 - PropertyAccessExpression 1387215 1387235 - Identifier 1387215 1387230 - Identifier 1387231 1387235 - Identifier 1387236 1387249 - Block 1387300 1387643 - ReturnStatement 1387302 1387620 - PropertyAccessExpression 1387605 1387619 - Identifier 1387605 1387613 - Identifier 1387614 1387619 - IfStatement 1387684 1388548 - BinaryExpression 1387689 1387769 - BinaryExpression 1387689 1387738 - CallExpression 1387689 1387715 - Identifier 1387689 1387707 - Identifier 1387708 1387714 - AmpersandAmpersandToken 1387715 1387718 - CallExpression 1387718 1387738 - Identifier 1387718 1387730 - Identifier 1387731 1387737 - AmpersandAmpersandToken 1387738 1387741 - PrefixUnaryExpression 1387741 1387769 - CallExpression 1387743 1387769 - Identifier 1387743 1387761 - Identifier 1387762 1387768 - Block 1387770 1388039 - VariableStatement 1387772 1387845 - VariableDeclarationList 1387772 1387844 - VariableDeclaration 1387799 1387844 - Identifier 1387799 1387810 - CallExpression 1387812 1387844 - Identifier 1387812 1387836 - Identifier 1387837 1387843 - IfStatement 1387845 1388020 - BinaryExpression 1387871 1387892 - Identifier 1387871 1387881 - ExclamationEqualsEqualsToken 1387881 1387885 - Identifier 1387885 1387892 - Block 1387893 1388020 - ReturnStatement 1387895 1387997 - CallExpression 1387927 1387996 - Identifier 1387927 1387939 - Identifier 1387940 1387950 - Identifier 1387951 1387958 - PropertyAccessExpression 1387959 1387981 - Identifier 1387959 1387974 - Identifier 1387975 1387981 - Identifier 1387982 1387995 - IfStatement 1388298 1388548 - BinaryExpression 1388303 1388483 - BinaryExpression 1388303 1388453 - BinaryExpression 1388303 1388400 - ParenthesizedExpression 1388303 1388371 - BinaryExpression 1388304 1388370 - BinaryExpression 1388304 1388332 - Identifier 1388304 1388312 - EqualsEqualsEqualsToken 1388312 1388316 - Identifier 1388316 1388332 - BarBarToken 1388332 1388335 - BinaryExpression 1388335 1388370 - Identifier 1388335 1388344 - EqualsEqualsEqualsToken 1388344 1388348 - Identifier 1388348 1388370 - AmpersandAmpersandToken 1388371 1388374 - CallExpression 1388374 1388400 - Identifier 1388374 1388392 - Identifier 1388393 1388399 - AmpersandAmpersandToken 1388400 1388403 - BinaryExpression 1388403 1388453 - CallExpression 1388403 1388426 - Identifier 1388403 1388418 - Identifier 1388419 1388425 - AmpersandToken 1388426 1388428 - PropertyAccessExpression 1388428 1388453 - Identifier 1388428 1388440 - Identifier 1388441 1388453 - AmpersandAmpersandToken 1388453 1388456 - PrefixUnaryExpression 1388456 1388483 - CallExpression 1388458 1388483 - Identifier 1388458 1388475 - Identifier 1388476 1388482 - Block 1388484 1388548 - ReturnStatement 1388486 1388529 - PropertyAccessExpression 1388514 1388528 - Identifier 1388514 1388522 - Identifier 1388523 1388528 - IfStatement 1388548 1390544 - BinaryExpression 1389069 1389160 - BinaryExpression 1389069 1389126 - Identifier 1389069 1389080 - AmpersandToken 1389080 1389082 - ParenthesizedExpression 1389082 1389126 - BinaryExpression 1389084 1389125 - PropertyAccessExpression 1389084 1389100 - Identifier 1389084 1389093 - Identifier 1389094 1389100 - BarToken 1389100 1389102 - PropertyAccessExpression 1389102 1389125 - Identifier 1389102 1389112 - Identifier 1389113 1389125 - AmpersandAmpersandToken 1389126 1389129 - BinaryExpression 1389129 1389160 - Identifier 1389129 1389141 - AmpersandToken 1389141 1389143 - PropertyAccessExpression 1389143 1389160 - Identifier 1389143 1389153 - Identifier 1389154 1389160 - Block 1389161 1390544 - VariableStatement 1389163 1389384 - VariableDeclarationList 1389163 1389383 - VariableDeclaration 1389282 1389383 - Identifier 1389282 1389305 - BinaryExpression 1389307 1389383 - BinaryExpression 1389307 1389361 - Identifier 1389307 1389320 - AmpersandAmpersandToken 1389320 1389323 - BinaryExpression 1389323 1389361 - Identifier 1389323 1389333 - EqualsEqualsEqualsToken 1389333 1389337 - PropertyAccessExpression 1389337 1389361 - Identifier 1389337 1389351 - Identifier 1389352 1389361 - AmpersandAmpersandToken 1389361 1389364 - PrefixUnaryExpression 1389364 1389383 - Identifier 1389366 1389383 - ExpressionStatement 1389384 1389553 - BinaryExpression 1389384 1389552 - Identifier 1389384 1389412 - EqualsToken 1389412 1389414 - CallExpression 1389414 1389552 - Identifier 1389414 1389434 - Identifier 1389435 1389441 - Identifier 1389442 1389449 - Identifier 1389450 1389473 - Identifier 1389474 1389507 - FalseKeyword 1389508 1389532 - Identifier 1389533 1389551 - IfStatement 1389553 1390177 - Identifier 1389579 1389585 - Block 1389586 1390177 - ExpressionStatement 1389588 1389723 - BinaryExpression 1389588 1389722 - Identifier 1389588 1389620 - AmpersandEqualsToken 1389620 1389623 - CallExpression 1389623 1389722 - Identifier 1389623 1389643 - Identifier 1389644 1389650 - Identifier 1389651 1389658 - PropertyAccessExpression 1389659 1389678 - Identifier 1389659 1389673 - Identifier 1389674 1389678 - Identifier 1389679 1389702 - Identifier 1389703 1389721 - IfStatement 1389723 1390154 - Identifier 1389753 1389759 - Block 1389760 1390154 - ExpressionStatement 1389762 1389906 - BinaryExpression 1389762 1389905 - Identifier 1389762 1389798 - AmpersandEqualsToken 1389798 1389801 - CallExpression 1389801 1389905 - Identifier 1389801 1389821 - Identifier 1389822 1389828 - Identifier 1389829 1389836 - PropertyAccessExpression 1389837 1389861 - Identifier 1389837 1389851 - Identifier 1389852 1389861 - Identifier 1389862 1389885 - Identifier 1389886 1389904 - IfStatement 1389906 1390127 - Identifier 1389940 1389946 - Block 1389947 1390127 - ExpressionStatement 1389949 1390096 - BinaryExpression 1389949 1390095 - Identifier 1389949 1389989 - AmpersandEqualsToken 1389989 1389992 - CallExpression 1389992 1390095 - Identifier 1389992 1390017 - Identifier 1390018 1390024 - Identifier 1390025 1390032 - Identifier 1390033 1390051 - Identifier 1390052 1390075 - Identifier 1390076 1390094 - IfStatement 1390177 1390525 - BinaryExpression 1390203 1390232 - Identifier 1390203 1390222 - AmpersandAmpersandToken 1390222 1390225 - Identifier 1390225 1390232 - Block 1390233 1390422 - ExpressionStatement 1390235 1390331 - BinaryExpression 1390235 1390330 - Identifier 1390235 1390270 - EqualsToken 1390270 1390272 - BinaryExpression 1390272 1390330 - BinaryExpression 1390272 1390303 - Identifier 1390272 1390290 - BarBarToken 1390290 1390293 - Identifier 1390293 1390303 - BarBarToken 1390303 1390306 - PropertyAccessExpression 1390306 1390330 - Identifier 1390306 1390320 - Identifier 1390321 1390330 - IfStatement 1390448 1390525 - Identifier 1390453 1390459 - Block 1390460 1390525 - ReturnStatement 1390462 1390502 - Identifier 1390494 1390501 - IfStatement 1390544 1391508 - BinaryExpression 1390941 1391031 - BinaryExpression 1390941 1390998 - Identifier 1390941 1390952 - AmpersandToken 1390952 1390954 - ParenthesizedExpression 1390954 1390998 - BinaryExpression 1390956 1390997 - PropertyAccessExpression 1390956 1390972 - Identifier 1390956 1390965 - Identifier 1390966 1390972 - BarToken 1390972 1390974 - PropertyAccessExpression 1390974 1390997 - Identifier 1390974 1390984 - Identifier 1390985 1390997 - AmpersandAmpersandToken 1390998 1391001 - BinaryExpression 1391001 1391031 - Identifier 1391001 1391013 - AmpersandToken 1391013 1391015 - PropertyAccessExpression 1391015 1391031 - Identifier 1391015 1391025 - Identifier 1391026 1391031 - Block 1391032 1391508 - VariableStatement 1391034 1391176 - VariableDeclarationList 1391034 1391175 - VariableDeclaration 1391061 1391175 - Identifier 1391061 1391078 - CallExpression 1391080 1391175 - Identifier 1391080 1391099 - Identifier 1391100 1391106 - BinaryExpression 1391107 1391174 - BinaryExpression 1391107 1391149 - PropertyAccessExpression 1391107 1391124 - Identifier 1391107 1391117 - Identifier 1391118 1391124 - BarToken 1391124 1391126 - PropertyAccessExpression 1391126 1391149 - Identifier 1391126 1391136 - Identifier 1391137 1391149 - BarToken 1391149 1391151 - PropertyAccessExpression 1391151 1391174 - Identifier 1391151 1391161 - Identifier 1391162 1391174 - IfStatement 1391176 1391489 - BinaryExpression 1391202 1391242 - PropertyAccessExpression 1391202 1391224 - Identifier 1391202 1391218 - Identifier 1391219 1391224 - AmpersandToken 1391224 1391226 - PropertyAccessExpression 1391226 1391242 - Identifier 1391226 1391236 - Identifier 1391237 1391242 - Block 1391243 1391489 - VariableStatement 1391245 1391356 - VariableDeclarationList 1391245 1391355 - VariableDeclaration 1391276 1391355 - Identifier 1391276 1391283 - CallExpression 1391285 1391355 - Identifier 1391285 1391316 - Identifier 1391317 1391323 - AsExpression 1391324 1391354 - Identifier 1391324 1391341 - TypeReference 1391344 1391354 - Identifier 1391344 1391354 - IfStatement 1391356 1391466 - Identifier 1391386 1391392 - Block 1391393 1391466 - ReturnStatement 1391395 1391439 - Identifier 1391431 1391438 - ReturnStatement 1391523 1391558 - PropertyAccessExpression 1391543 1391557 - Identifier 1391543 1391551 - Identifier 1391552 1391557 - FunctionDeclaration 1391558 1391827 - Identifier 1391582 1391607 - Parameter 1391608 1391650 - Identifier 1391608 1391612 - UnionType 1391613 1391650 - ArrayType 1391613 1391638 - TypeReference 1391613 1391636 - Identifier 1391613 1391636 - UndefinedKeyword 1391640 1391650 - NumberKeyword 1391652 1391659 - Block 1391659 1391827 - IfStatement 1391661 1391699 - PrefixUnaryExpression 1391683 1391688 - Identifier 1391684 1391688 - ReturnStatement 1391689 1391699 - NumericLiteral 1391696 1391698 - ReturnStatement 1391699 1391812 - CallExpression 1391723 1391811 - Identifier 1391723 1391734 - Identifier 1391735 1391739 - ArrowFunction 1391740 1391807 - Parameter 1391742 1391747 - Identifier 1391742 1391747 - Parameter 1391748 1391754 - Identifier 1391748 1391754 - EqualsGreaterThanToken 1391755 1391758 - BinaryExpression 1391758 1391807 - BinaryExpression 1391758 1391768 - Identifier 1391758 1391764 - PlusToken 1391764 1391766 - NumericLiteral 1391766 1391768 - PlusToken 1391768 1391770 - CallExpression 1391770 1391807 - Identifier 1391770 1391795 - PropertyAccessExpression 1391796 1391806 - Identifier 1391796 1391801 - Identifier 1391802 1391806 - NumericLiteral 1391808 1391810 - FunctionDeclaration 1391827 1395393 - Identifier 1391851 1391867 - Parameter 1391868 1391916 - Identifier 1391868 1391887 - UnionType 1391888 1391916 - TypeOperator 1391888 1391904 - ArrayType 1391897 1391904 - TypeReference 1391897 1391902 - Identifier 1391897 1391902 - UndefinedKeyword 1391906 1391916 - Parameter 1391917 1391966 - Identifier 1391917 1391937 - UnionType 1391938 1391966 - TypeOperator 1391938 1391954 - ArrayType 1391947 1391954 - TypeReference 1391947 1391952 - Identifier 1391947 1391952 - UndefinedKeyword 1391956 1391966 - Parameter 1391967 1391994 - Identifier 1391967 1391977 - ArrayType 1391978 1391994 - TypeReference 1391978 1391992 - Identifier 1391978 1391992 - Parameter 1391995 1392032 - Identifier 1391995 1392013 - TypeReference 1392014 1392032 - Identifier 1392014 1392032 - Block 1392033 1395393 - IfStatement 1392035 1392232 - BinaryExpression 1392057 1392174 - Identifier 1392057 1392063 - EqualsToken 1392063 1392065 - CallExpression 1392065 1392174 - Identifier 1392065 1392088 - Identifier 1392089 1392108 - Identifier 1392109 1392129 - Identifier 1392130 1392140 - Identifier 1392141 1392154 - Identifier 1392155 1392173 - Block 1392175 1392232 - ReturnStatement 1392177 1392213 - Identifier 1392205 1392212 - IfStatement 1392232 1392897 - CallExpression 1392254 1392322 - Identifier 1392254 1392258 - Identifier 1392259 1392268 - ArrowFunction 1392269 1392321 - Parameter 1392269 1392271 - Identifier 1392269 1392271 - EqualsGreaterThanToken 1392271 1392274 - PrefixUnaryExpression 1392274 1392321 - PrefixUnaryExpression 1392276 1392321 - ParenthesizedExpression 1392277 1392321 - BinaryExpression 1392278 1392320 - Identifier 1392278 1392279 - AmpersandToken 1392279 1392281 - PropertyAccessExpression 1392281 1392320 - Identifier 1392281 1392295 - Identifier 1392296 1392320 - Block 1392323 1392897 - ExpressionStatement 1392325 1392787 - BinaryExpression 1392325 1392786 - Identifier 1392325 1392774 - EqualsToken 1392774 1392776 - Identifier 1392776 1392786 - ExpressionStatement 1392787 1392839 - CallExpression 1392787 1392838 - Identifier 1392787 1392823 - Identifier 1392824 1392837 - ReturnStatement 1392839 1392878 - Identifier 1392867 1392877 - VariableStatement 1392897 1393027 - VariableDeclarationList 1392897 1393026 - VariableDeclaration 1392920 1393026 - Identifier 1392920 1392944 - BinaryExpression 1392946 1393026 - Identifier 1392946 1392966 - AmpersandAmpersandToken 1392966 1392969 - CallExpression 1392969 1393026 - Identifier 1392969 1392994 - Identifier 1392995 1393014 - Identifier 1393015 1393025 - ExpressionStatement 1393027 1393092 - BinaryExpression 1393027 1393091 - Identifier 1393027 1393064 - EqualsToken 1393064 1393066 - PrefixUnaryExpression 1393066 1393091 - Identifier 1393068 1393091 - IfStatement 1393092 1395378 - BinaryExpression 1393823 1393875 - BinaryExpression 1393823 1393847 - Identifier 1393823 1393832 - ExclamationEqualsEqualsToken 1393832 1393836 - Identifier 1393836 1393847 - AmpersandAmpersandToken 1393847 1393850 - PrefixUnaryExpression 1393850 1393875 - Identifier 1393852 1393875 - Block 1393876 1395378 - IfStatement 1393878 1394938 - BinaryExpression 1394741 1394865 - Identifier 1394741 1394760 - AmpersandAmpersandToken 1394760 1394763 - PrefixUnaryExpression 1394763 1394865 - ParenthesizedExpression 1394765 1394865 - BinaryExpression 1394766 1394864 - Identifier 1394766 1394778 - AmpersandAmpersandToken 1394778 1394781 - CallExpression 1394781 1394864 - Identifier 1394781 1394786 - Identifier 1394787 1394796 - ArrowFunction 1394797 1394863 - Parameter 1394797 1394799 - Identifier 1394797 1394799 - EqualsGreaterThanToken 1394799 1394802 - BinaryExpression 1394802 1394863 - ParenthesizedExpression 1394802 1394835 - BinaryExpression 1394804 1394834 - Identifier 1394804 1394805 - AmpersandToken 1394805 1394807 - PropertyAccessExpression 1394807 1394834 - Identifier 1394807 1394821 - Identifier 1394822 1394834 - EqualsEqualsEqualsToken 1394835 1394839 - PropertyAccessExpression 1394839 1394863 - Identifier 1394839 1394853 - Identifier 1394854 1394863 - Block 1394866 1394938 - ReturnStatement 1394868 1394915 - PropertyAccessExpression 1394900 1394914 - Identifier 1394900 1394908 - Identifier 1394909 1394914 - ExpressionStatement 1394938 1395307 - BinaryExpression 1394938 1395306 - Identifier 1394938 1395294 - EqualsToken 1395294 1395296 - Identifier 1395296 1395306 - ExpressionStatement 1395307 1395359 - CallExpression 1395307 1395358 - Identifier 1395307 1395343 - Identifier 1395344 1395357 - FunctionDeclaration 1395404 1397120 - Identifier 1395693 1395713 - Parameter 1395714 1395732 - Identifier 1395714 1395720 - TypeReference 1395721 1395732 - Identifier 1395721 1395732 - Parameter 1395733 1395752 - Identifier 1395733 1395740 - TypeReference 1395741 1395752 - Identifier 1395741 1395752 - Parameter 1395753 1395775 - Identifier 1395753 1395766 - BooleanKeyword 1395767 1395775 - TypeReference 1395777 1395785 - Identifier 1395777 1395785 - Block 1395785 1397120 - VariableStatement 1395787 1396065 - VariableDeclarationList 1395787 1396064 - VariableDeclaration 1395806 1396064 - Identifier 1395806 1395823 - BinaryExpression 1395825 1396064 - BinaryExpression 1395825 1395857 - Identifier 1395825 1395834 - EqualsEqualsEqualsToken 1395834 1395838 - Identifier 1395838 1395857 - BarBarToken 1395857 1395860 - ParenthesizedExpression 1395860 1396064 - ConditionalExpression 1395862 1396063 - BinaryExpression 1395862 1395891 - Identifier 1395862 1395870 - EqualsEqualsEqualsToken 1395870 1395874 - Identifier 1395874 1395891 - QuestionToken 1395891 1395893 - BinaryExpression 1395893 1395959 - CallExpression 1395893 1395924 - Identifier 1395893 1395916 - Identifier 1395917 1395923 - EqualsEqualsEqualsToken 1395924 1395928 - CallExpression 1395928 1395959 - Identifier 1395928 1395951 - Identifier 1395952 1395958 - ColonToken 1395959 1395961 - BinaryExpression 1395961 1396063 - CallExpression 1395961 1396019 - Identifier 1395961 1396011 - Identifier 1396012 1396018 - LessThanEqualsToken 1396019 1396022 - CallExpression 1396022 1396063 - Identifier 1396022 1396055 - Identifier 1396056 1396062 - IfStatement 1396065 1397074 - Identifier 1396083 1396099 - Block 1396100 1397074 - VariableStatement 1396102 1396140 - VariableDeclarationList 1396102 1396139 - VariableDeclaration 1396123 1396139 - Identifier 1396123 1396130 - TypeReference 1396131 1396139 - Identifier 1396131 1396139 - VariableStatement 1396140 1396223 - VariableDeclarationList 1396140 1396222 - VariableDeclaration 1396163 1396222 - Identifier 1396163 1396180 - CallExpression 1396182 1396222 - Identifier 1396182 1396214 - Identifier 1396215 1396221 - VariableStatement 1396223 1396421 - VariableDeclarationList 1396223 1396420 - VariableDeclaration 1396246 1396420 - Identifier 1396246 1396263 - CallExpression 1396265 1396420 - Identifier 1396265 1396281 - CallExpression 1396282 1396321 - Identifier 1396282 1396313 - Identifier 1396314 1396320 - ConditionalExpression 1396322 1396419 - BinaryExpression 1396322 1396367 - CallExpression 1396322 1396363 - Identifier 1396322 1396355 - Identifier 1396356 1396362 - LessThanToken 1396363 1396365 - NumericLiteral 1396365 1396367 - QuestionToken 1396367 1396369 - Identifier 1396369 1396394 - ColonToken 1396394 1396396 - Identifier 1396396 1396419 - IfStatement 1396421 1397059 - BinaryExpression 1396443 1396534 - Identifier 1396443 1396449 - EqualsToken 1396449 1396451 - CallExpression 1396451 1396534 - Identifier 1396451 1396463 - Identifier 1396464 1396480 - Identifier 1396481 1396498 - PropertyAccessExpression 1396499 1396519 - Identifier 1396499 1396514 - Identifier 1396515 1396519 - Identifier 1396520 1396533 - Block 1396535 1397059 - VariableStatement 1396537 1396675 - VariableDeclarationList 1396537 1396674 - VariableDeclaration 1396564 1396674 - Identifier 1396564 1396571 - CallExpression 1396573 1396674 - Identifier 1396573 1396590 - ArrayLiteralExpression 1396591 1396631 - CallExpression 1396592 1396630 - Identifier 1396592 1396622 - Identifier 1396623 1396629 - ArrayLiteralExpression 1396632 1396673 - CallExpression 1396634 1396672 - Identifier 1396634 1396664 - Identifier 1396665 1396671 - IfStatement 1396675 1397040 - BinaryExpression 1396701 1396822 - CallExpression 1396701 1396759 - Identifier 1396701 1396716 - CallExpression 1396717 1396750 - Identifier 1396717 1396742 - Identifier 1396743 1396749 - Identifier 1396751 1396758 - EqualsEqualsEqualsToken 1396759 1396763 - CallExpression 1396763 1396822 - Identifier 1396763 1396779 - CallExpression 1396780 1396813 - Identifier 1396780 1396805 - Identifier 1396806 1396812 - Identifier 1396814 1396821 - Block 1396823 1397040 - ReturnStatement 1396825 1397017 - BinaryExpression 1396857 1397016 - Identifier 1396857 1396864 - AmpersandToken 1396864 1396866 - CallExpression 1396866 1397016 - Identifier 1396866 1396878 - CallExpression 1396879 1396941 - Identifier 1396879 1396894 - CallExpression 1396895 1396932 - Identifier 1396895 1396924 - Identifier 1396925 1396931 - Identifier 1396933 1396940 - CallExpression 1396942 1396980 - Identifier 1396942 1396972 - Identifier 1396973 1396979 - PropertyAccessExpression 1396981 1397001 - Identifier 1396981 1396996 - Identifier 1396997 1397001 - Identifier 1397002 1397015 - ReturnStatement 1397074 1397109 - PropertyAccessExpression 1397094 1397108 - Identifier 1397094 1397102 - Identifier 1397103 1397108 - FunctionDeclaration 1397120 1403398 - Identifier 1397140 1397171 - Parameter 1397172 1397184 - Identifier 1397172 1397178 - TypeReference 1397179 1397184 - Identifier 1397179 1397184 - Parameter 1397185 1397203 - Identifier 1397185 1397192 - TypeReference 1397193 1397203 - Identifier 1397193 1397203 - Block 1397204 1403398 - VariableStatement 1397206 1398058 - VariableDeclarationList 1397206 1398057 - VariableDeclaration 1398010 1398057 - Identifier 1398010 1398027 - CallExpression 1398029 1398057 - Identifier 1398029 1398049 - Identifier 1398050 1398056 - VariableStatement 1398058 1398158 - VariableDeclarationList 1398058 1398157 - VariableDeclaration 1398077 1398157 - Identifier 1398077 1398102 - CallExpression 1398104 1398157 - Identifier 1398104 1398131 - Identifier 1398132 1398148 - Identifier 1398149 1398156 - IfStatement 1398158 1398224 - PrefixUnaryExpression 1398176 1398201 - Identifier 1398177 1398201 - ReturnStatement 1398202 1398224 - PropertyAccessExpression 1398209 1398223 - Identifier 1398209 1398217 - Identifier 1398218 1398223 - VariableStatement 1398224 1398653 - VariableDeclarationList 1398224 1398652 - VariableDeclaration 1398632 1398652 - Identifier 1398632 1398648 - NumericLiteral 1398650 1398652 - ForOfStatement 1398653 1399169 - VariableDeclarationList 1398672 1398692 - VariableDeclaration 1398677 1398692 - Identifier 1398677 1398692 - Identifier 1398695 1398720 - Block 1398721 1399169 - ExpressionStatement 1398723 1398814 - BinaryExpression 1398723 1398813 - Identifier 1398723 1398756 - AsteriskEqualsToken 1398756 1398759 - CallExpression 1398759 1398813 - Identifier 1398759 1398770 - CallExpression 1398771 1398812 - Identifier 1398771 1398796 - Identifier 1398797 1398811 - IfStatement 1398814 1399154 - BinaryExpression 1398836 1398856 - Identifier 1398836 1398851 - GreaterThanToken 1398851 1398853 - NumericLiteral 1398853 1398856 - Block 1398857 1399154 - ExpressionStatement 1398859 1399092 - CallExpression 1398859 1399091 - PropertyAccessExpression 1398859 1398957 - Identifier 1398859 1398948 - QuestionDotToken 1398948 1398950 - Identifier 1398950 1398957 - PropertyAccessExpression 1398958 1398982 - PropertyAccessExpression 1398958 1398971 - Identifier 1398958 1398965 - Identifier 1398966 1398971 - Identifier 1398972 1398982 - StringLiteral 1398983 1399027 - ObjectLiteralExpression 1399028 1399090 - PropertyAssignment 1399030 1399050 - Identifier 1399030 1399039 - PropertyAccessExpression 1399040 1399050 - Identifier 1399040 1399047 - Identifier 1399048 1399050 - PropertyAssignment 1399051 1399071 - Identifier 1399051 1399060 - PropertyAccessExpression 1399061 1399071 - Identifier 1399061 1399068 - Identifier 1399069 1399071 - ShorthandPropertyAssignment 1399072 1399088 - Identifier 1399072 1399088 - ReturnStatement 1399092 1399135 - PropertyAccessExpression 1399120 1399134 - Identifier 1399120 1399128 - Identifier 1399129 1399134 - VariableStatement 1399169 1399351 - VariableDeclarationList 1399169 1399350 - VariableDeclaration 1399263 1399350 - Identifier 1399263 1399287 - ArrayType 1399288 1399297 - ArrayType 1399288 1399295 - TypeReference 1399288 1399293 - Identifier 1399288 1399293 - NewExpression 1399299 1399350 - Identifier 1399303 1399309 - ArrayType 1399310 1399316 - TypeReference 1399310 1399314 - Identifier 1399310 1399314 - PropertyAccessExpression 1399318 1399349 - Identifier 1399318 1399342 - Identifier 1399343 1399349 - VariableStatement 1399351 1399412 - VariableDeclarationList 1399351 1399411 - VariableDeclaration 1399370 1399411 - Identifier 1399370 1399389 - NewExpression 1399391 1399411 - Identifier 1399395 1399399 - TypeReference 1399400 1399408 - Identifier 1399400 1399408 - ForStatement 1399412 1399922 - VariableDeclarationList 1399431 1399440 - VariableDeclaration 1399434 1399440 - Identifier 1399434 1399436 - NumericLiteral 1399438 1399440 - BinaryExpression 1399441 1399477 - Identifier 1399441 1399443 - LessThanToken 1399443 1399445 - PropertyAccessExpression 1399445 1399477 - Identifier 1399445 1399470 - Identifier 1399471 1399477 - PostfixUnaryExpression 1399478 1399482 - Identifier 1399478 1399480 - Block 1399483 1399922 - VariableStatement 1399485 1399554 - VariableDeclarationList 1399485 1399553 - VariableDeclaration 1399508 1399553 - Identifier 1399508 1399523 - ElementAccessExpression 1399525 1399553 - Identifier 1399525 1399550 - Identifier 1399551 1399552 - VariableStatement 1399554 1399641 - VariableDeclarationList 1399554 1399640 - VariableDeclaration 1399577 1399640 - Identifier 1399577 1399596 - CallExpression 1399598 1399640 - Identifier 1399598 1399624 - Identifier 1399625 1399639 - ExpressionStatement 1399641 1399838 - BinaryExpression 1399641 1399837 - ElementAccessExpression 1399641 1399685 - Identifier 1399641 1399682 - Identifier 1399683 1399684 - EqualsToken 1399685 1399687 - ConditionalExpression 1399687 1399837 - BinaryExpression 1399687 1399730 - PropertyAccessExpression 1399687 1399712 - Identifier 1399687 1399706 - Identifier 1399707 1399712 - AmpersandToken 1399712 1399714 - PropertyAccessExpression 1399714 1399730 - Identifier 1399714 1399724 - Identifier 1399725 1399730 - QuestionToken 1399730 1399753 - PropertyAccessExpression 1399753 1399793 - ParenthesizedExpression 1399753 1399787 - AsExpression 1399755 1399786 - Identifier 1399755 1399773 - TypeReference 1399776 1399786 - Identifier 1399776 1399786 - Identifier 1399788 1399793 - ColonToken 1399793 1399816 - ArrayLiteralExpression 1399816 1399837 - Identifier 1399818 1399836 - ExpressionStatement 1399838 1399907 - CallExpression 1399838 1399906 - PropertyAccessExpression 1399838 1399878 - Identifier 1399838 1399874 - Identifier 1399875 1399878 - PropertyAccessExpression 1399879 1399905 - Identifier 1399879 1399893 - Identifier 1399894 1399905 - VariableStatement 1399922 1400234 - VariableDeclarationList 1399922 1400233 - VariableDeclaration 1400164 1400233 - Identifier 1400164 1400189 - CallExpression 1400191 1400233 - Identifier 1400191 1400208 - Identifier 1400209 1400232 - VariableStatement 1400234 1400281 - VariableDeclarationList 1400234 1400280 - VariableDeclaration 1400253 1400280 - Identifier 1400253 1400267 - ArrayType 1400268 1400275 - TypeReference 1400268 1400273 - Identifier 1400268 1400273 - ArrayLiteralExpression 1400277 1400280 - ForOfStatement 1400281 1401848 - VariableDeclarationList 1400300 1400317 - VariableDeclaration 1400305 1400317 - Identifier 1400305 1400317 - Identifier 1400320 1400345 - Block 1400346 1401848 - VariableStatement 1400348 1400387 - VariableDeclarationList 1400348 1400386 - VariableDeclaration 1400369 1400386 - Identifier 1400369 1400378 - FalseKeyword 1400380 1400386 - LabeledStatement 1400387 1401663 - Identifier 1400387 1400410 - ForOfStatement 1400411 1401663 - VariableDeclarationList 1400434 1400444 - VariableDeclaration 1400439 1400444 - Identifier 1400439 1400444 - PropertyAccessExpression 1400447 1400460 - Identifier 1400447 1400454 - Identifier 1400455 1400460 - Block 1400461 1401663 - ForStatement 1400463 1401536 - VariableDeclarationList 1400490 1400499 - VariableDeclaration 1400493 1400499 - Identifier 1400493 1400495 - NumericLiteral 1400497 1400499 - BinaryExpression 1400500 1400536 - Identifier 1400500 1400502 - LessThanToken 1400502 1400504 - PropertyAccessExpression 1400504 1400536 - Identifier 1400504 1400529 - Identifier 1400530 1400536 - PostfixUnaryExpression 1400537 1400541 - Identifier 1400537 1400539 - Block 1400542 1401536 - VariableStatement 1400544 1400621 - VariableDeclarationList 1400544 1400620 - VariableDeclaration 1400575 1400620 - Identifier 1400575 1400590 - ElementAccessExpression 1400592 1400620 - Identifier 1400592 1400617 - Identifier 1400618 1400619 - VariableStatement 1400621 1400722 - VariableDeclarationList 1400621 1400721 - VariableDeclaration 1400652 1400721 - Identifier 1400652 1400667 - CallExpression 1400669 1400721 - Identifier 1400669 1400687 - Identifier 1400688 1400692 - PropertyAccessExpression 1400693 1400720 - Identifier 1400693 1400708 - Identifier 1400709 1400720 - IfStatement 1400722 1400784 - PrefixUnaryExpression 1400752 1400767 - Identifier 1400753 1400767 - ContinueStatement 1400768 1400784 - Identifier 1400777 1400783 - IfStatement 1400784 1400858 - BinaryExpression 1400814 1400847 - Identifier 1400814 1400828 - EqualsEqualsEqualsToken 1400828 1400832 - Identifier 1400832 1400847 - ContinueStatement 1400848 1400858 - VariableStatement 1400858 1401224 - VariableDeclarationList 1400858 1401223 - VariableDeclaration 1401008 1401223 - Identifier 1401008 1401016 - CallExpression 1401018 1401223 - Identifier 1401018 1401036 - Identifier 1401037 1401043 - Identifier 1401044 1401051 - Identifier 1401052 1401067 - Identifier 1401068 1401083 - ArrowFunction 1401084 1401104 - Parameter 1401084 1401086 - Identifier 1401084 1401086 - EqualsGreaterThanToken 1401086 1401089 - ElementAccessExpression 1401089 1401104 - Identifier 1401089 1401101 - Identifier 1401102 1401103 - FalseKeyword 1401105 1401128 - PropertyAccessExpression 1401129 1401152 - Identifier 1401129 1401147 - Identifier 1401148 1401152 - BinaryExpression 1401153 1401222 - Identifier 1401153 1401187 - BarBarToken 1401187 1401190 - BinaryExpression 1401190 1401222 - Identifier 1401190 1401199 - EqualsEqualsEqualsToken 1401199 1401203 - Identifier 1401203 1401222 - IfStatement 1401224 1401513 - PrefixUnaryExpression 1401430 1401438 - Identifier 1401431 1401438 - Block 1401439 1401513 - ContinueStatement 1401441 1401486 - Identifier 1401479 1401485 - ExpressionStatement 1401536 1401606 - CallExpression 1401536 1401605 - Identifier 1401536 1401570 - Identifier 1401571 1401584 - Identifier 1401585 1401590 - Identifier 1401591 1401604 - ExpressionStatement 1401606 1401644 - BinaryExpression 1401606 1401643 - Identifier 1401606 1401636 - EqualsToken 1401636 1401638 - TrueKeyword 1401638 1401643 - IfStatement 1401663 1401833 - PrefixUnaryExpression 1401685 1401694 - Identifier 1401686 1401694 - Block 1401695 1401833 - ReturnStatement 1401697 1401814 - PropertyAccessExpression 1401799 1401813 - Identifier 1401799 1401807 - Identifier 1401808 1401813 - VariableStatement 1401848 1401971 - VariableDeclarationList 1401848 1401970 - VariableDeclaration 1401948 1401970 - Identifier 1401948 1401955 - PropertyAccessExpression 1401957 1401970 - Identifier 1401957 1401965 - Identifier 1401966 1401970 - ForOfStatement 1401971 1403359 - VariableDeclarationList 1401990 1402000 - VariableDeclaration 1401995 1402000 - Identifier 1401995 1402000 - Identifier 1402003 1402017 - Block 1402018 1403359 - ExpressionStatement 1402020 1402175 - BinaryExpression 1402020 1402174 - Identifier 1402020 1402044 - AmpersandEqualsToken 1402044 1402047 - CallExpression 1402047 1402174 - Identifier 1402047 1402067 - Identifier 1402068 1402074 - Identifier 1402075 1402080 - FalseKeyword 1402081 1402104 - Identifier 1402105 1402124 - FalseKeyword 1402125 1402149 - PropertyAccessExpression 1402150 1402173 - Identifier 1402150 1402168 - Identifier 1402169 1402173 - IfStatement 1402175 1403257 - Identifier 1402197 1402203 - Block 1402204 1403257 - ExpressionStatement 1402206 1402340 - BinaryExpression 1402206 1402339 - Identifier 1402206 1402234 - AmpersandEqualsToken 1402234 1402237 - CallExpression 1402237 1402339 - Identifier 1402237 1402257 - Identifier 1402258 1402264 - Identifier 1402265 1402270 - PropertyAccessExpression 1402271 1402290 - Identifier 1402271 1402285 - Identifier 1402286 1402290 - FalseKeyword 1402291 1402314 - PropertyAccessExpression 1402315 1402338 - Identifier 1402315 1402333 - Identifier 1402334 1402338 - IfStatement 1402340 1403238 - Identifier 1402366 1402372 - Block 1402373 1403238 - ExpressionStatement 1402375 1402518 - BinaryExpression 1402375 1402517 - Identifier 1402375 1402407 - AmpersandEqualsToken 1402407 1402410 - CallExpression 1402410 1402517 - Identifier 1402410 1402430 - Identifier 1402431 1402437 - Identifier 1402438 1402443 - PropertyAccessExpression 1402444 1402468 - Identifier 1402444 1402458 - Identifier 1402459 1402468 - FalseKeyword 1402469 1402492 - PropertyAccessExpression 1402493 1402516 - Identifier 1402493 1402511 - Identifier 1402512 1402516 - IfStatement 1402518 1403215 - BinaryExpression 1402548 1402601 - Identifier 1402548 1402554 - AmpersandAmpersandToken 1402554 1402557 - PrefixUnaryExpression 1402557 1402601 - ParenthesizedExpression 1402559 1402601 - BinaryExpression 1402560 1402600 - CallExpression 1402560 1402579 - Identifier 1402560 1402571 - Identifier 1402572 1402578 - AmpersandAmpersandToken 1402579 1402582 - CallExpression 1402582 1402600 - Identifier 1402582 1402594 - Identifier 1402595 1402599 - Block 1402602 1403215 - ExpressionStatement 1402604 1403188 - BinaryExpression 1402604 1403187 - Identifier 1402604 1403068 - AmpersandEqualsToken 1403068 1403071 - CallExpression 1403071 1403187 - Identifier 1403071 1403096 - Identifier 1403097 1403103 - Identifier 1403104 1403109 - FalseKeyword 1403110 1403138 - FalseKeyword 1403139 1403162 - PropertyAccessExpression 1403163 1403186 - Identifier 1403163 1403181 - Identifier 1403182 1403186 - IfStatement 1403257 1403344 - PrefixUnaryExpression 1403279 1403286 - Identifier 1403280 1403286 - Block 1403287 1403344 - ReturnStatement 1403289 1403325 - Identifier 1403317 1403324 - ReturnStatement 1403359 1403387 - Identifier 1403379 1403386 - FunctionDeclaration 1403398 1404080 - Identifier 1403418 1403436 - Parameter 1403437 1403457 - Identifier 1403437 1403447 - ArrayType 1403448 1403457 - TypeReference 1403448 1403455 - Identifier 1403448 1403455 - Parameter 1403458 1403504 - Identifier 1403458 1403477 - UnionType 1403478 1403504 - TypeReference 1403478 1403492 - Identifier 1403478 1403482 - TypeReference 1403483 1403491 - Identifier 1403483 1403491 - UndefinedKeyword 1403494 1403504 - Block 1403505 1404080 - IfStatement 1403507 1403591 - BinaryExpression 1403525 1403571 - PrefixUnaryExpression 1403525 1403544 - Identifier 1403526 1403544 - BarBarToken 1403544 1403547 - BinaryExpression 1403547 1403571 - PropertyAccessExpression 1403547 1403565 - Identifier 1403547 1403558 - Identifier 1403559 1403565 - EqualsEqualsEqualsToken 1403565 1403569 - NumericLiteral 1403569 1403571 - ReturnStatement 1403572 1403591 - Identifier 1403579 1403590 - VariableStatement 1403591 1403638 - VariableDeclarationList 1403591 1403637 - VariableDeclaration 1403608 1403637 - Identifier 1403608 1403615 - UnionType 1403616 1403637 - ArrayType 1403616 1403625 - TypeReference 1403616 1403623 - Identifier 1403616 1403623 - UndefinedKeyword 1403627 1403637 - ForStatement 1403638 1404027 - VariableDeclarationList 1403657 1403666 - VariableDeclaration 1403660 1403666 - Identifier 1403660 1403662 - NumericLiteral 1403664 1403666 - BinaryExpression 1403667 1403689 - Identifier 1403667 1403669 - LessThanToken 1403669 1403671 - PropertyAccessExpression 1403671 1403689 - Identifier 1403671 1403682 - Identifier 1403683 1403689 - PostfixUnaryExpression 1403690 1403694 - Identifier 1403690 1403692 - Block 1403695 1404027 - IfStatement 1403697 1404012 - PrefixUnaryExpression 1403719 1403769 - CallExpression 1403720 1403769 - PropertyAccessExpression 1403720 1403742 - Identifier 1403720 1403738 - Identifier 1403739 1403742 - PropertyAccessExpression 1403743 1403768 - ElementAccessExpression 1403743 1403756 - Identifier 1403743 1403753 - Identifier 1403754 1403755 - Identifier 1403757 1403768 - Block 1403770 1403902 - IfStatement 1403772 1403883 - Identifier 1403798 1403804 - Block 1403805 1403883 - ExpressionStatement 1403807 1403860 - CallExpression 1403807 1403859 - PropertyAccessExpression 1403807 1403844 - Identifier 1403807 1403839 - Identifier 1403840 1403844 - ElementAccessExpression 1403845 1403858 - Identifier 1403845 1403855 - Identifier 1403856 1403857 - IfStatement 1403924 1404012 - PrefixUnaryExpression 1403929 1403936 - Identifier 1403930 1403936 - Block 1403937 1404012 - ExpressionStatement 1403939 1403993 - BinaryExpression 1403939 1403992 - Identifier 1403939 1403967 - EqualsToken 1403967 1403969 - CallExpression 1403969 1403992 - PropertyAccessExpression 1403969 1403986 - Identifier 1403969 1403980 - Identifier 1403981 1403986 - NumericLiteral 1403987 1403988 - Identifier 1403989 1403991 - ReturnStatement 1404027 1404069 - BinaryExpression 1404047 1404068 - Identifier 1404047 1404054 - BarBarToken 1404054 1404057 - Identifier 1404057 1404068 - FunctionDeclaration 1404080 1404763 - Identifier 1404100 1404128 - Parameter 1404129 1404147 - Identifier 1404129 1404139 - TypeReference 1404140 1404147 - Identifier 1404140 1404147 - Parameter 1404148 1404167 - Identifier 1404148 1404159 - TypeReference 1404160 1404167 - Identifier 1404160 1404167 - Parameter 1404168 1404215 - Identifier 1404168 1404192 - FunctionType 1404193 1404215 - Parameter 1404195 1404206 - Identifier 1404195 1404198 - TypeReference 1404199 1404206 - Identifier 1404199 1404206 - TypeReference 1404210 1404215 - Identifier 1404210 1404215 - Parameter 1404216 1404238 - Identifier 1404216 1404229 - BooleanKeyword 1404230 1404238 - Parameter 1404239 1404276 - Identifier 1404239 1404257 - TypeReference 1404258 1404276 - Identifier 1404258 1404276 - TypeReference 1404278 1404286 - Identifier 1404278 1404286 - Block 1404286 1404763 - VariableStatement 1404288 1404398 - VariableDeclarationList 1404288 1404397 - VariableDeclaration 1404307 1404397 - Identifier 1404307 1404324 - BinaryExpression 1404326 1404397 - Identifier 1404326 1404343 - AmpersandAmpersandToken 1404343 1404346 - PrefixUnaryExpression 1404346 1404397 - PrefixUnaryExpression 1404348 1404397 - ParenthesizedExpression 1404349 1404397 - BinaryExpression 1404350 1404396 - CallExpression 1404350 1404375 - Identifier 1404350 1404363 - Identifier 1404364 1404374 - AmpersandToken 1404375 1404377 - PropertyAccessExpression 1404377 1404396 - Identifier 1404377 1404388 - Identifier 1404389 1404396 - VariableStatement 1404398 1404530 - VariableDeclarationList 1404398 1404529 - VariableDeclaration 1404417 1404529 - Identifier 1404417 1404433 - CallExpression 1404435 1404529 - Identifier 1404435 1404450 - CallExpression 1404451 1404488 - Identifier 1404451 1404476 - Identifier 1404477 1404487 - FalseKeyword 1404489 1404510 - Identifier 1404511 1404528 - VariableStatement 1404530 1404604 - VariableDeclarationList 1404530 1404603 - VariableDeclaration 1404549 1404603 - Identifier 1404549 1404565 - CallExpression 1404567 1404603 - Identifier 1404567 1404591 - Identifier 1404592 1404602 - ReturnStatement 1404604 1404752 - CallExpression 1404624 1404751 - Identifier 1404624 1404636 - Identifier 1404637 1404652 - Identifier 1404653 1404669 - PropertyAccessExpression 1404670 1404690 - Identifier 1404670 1404685 - Identifier 1404686 1404690 - Identifier 1404691 1404704 - Identifier 1404705 1404731 - Identifier 1404732 1404750 - FunctionDeclaration 1404763 1409321 - Identifier 1404783 1404801 - Parameter 1404802 1404814 - Identifier 1404802 1404808 - TypeReference 1404809 1404814 - Identifier 1404809 1404814 - Parameter 1404815 1404828 - Identifier 1404815 1404822 - TypeReference 1404823 1404828 - Identifier 1404823 1404828 - Parameter 1404829 1404848 - Identifier 1404829 1404840 - TypeReference 1404841 1404848 - Identifier 1404841 1404848 - Parameter 1404849 1404868 - Identifier 1404849 1404860 - TypeReference 1404861 1404868 - Identifier 1404861 1404868 - Parameter 1404869 1404916 - Identifier 1404869 1404893 - FunctionType 1404894 1404916 - Parameter 1404896 1404907 - Identifier 1404896 1404899 - TypeReference 1404900 1404907 - Identifier 1404900 1404907 - TypeReference 1404911 1404916 - Identifier 1404911 1404916 - Parameter 1404917 1404939 - Identifier 1404917 1404930 - BooleanKeyword 1404931 1404939 - Parameter 1404940 1404977 - Identifier 1404940 1404958 - TypeReference 1404959 1404977 - Identifier 1404959 1404977 - Parameter 1404978 1405000 - Identifier 1404978 1404991 - BooleanKeyword 1404992 1405000 - TypeReference 1405002 1405010 - Identifier 1405002 1405010 - Block 1405010 1409321 - VariableStatement 1405012 1405100 - VariableDeclarationList 1405012 1405099 - VariableDeclaration 1405031 1405099 - Identifier 1405031 1405047 - CallExpression 1405049 1405099 - Identifier 1405049 1405087 - Identifier 1405088 1405098 - VariableStatement 1405100 1405188 - VariableDeclarationList 1405100 1405187 - VariableDeclaration 1405119 1405187 - Identifier 1405119 1405135 - CallExpression 1405137 1405187 - Identifier 1405137 1405175 - Identifier 1405176 1405186 - IfStatement 1405188 1407016 - BinaryExpression 1405206 1405288 - BinaryExpression 1405206 1405245 - Identifier 1405206 1405221 - AmpersandToken 1405221 1405223 - PropertyAccessExpression 1405223 1405245 - Identifier 1405223 1405237 - Identifier 1405238 1405245 - BarBarToken 1405245 1405248 - BinaryExpression 1405248 1405288 - Identifier 1405248 1405264 - AmpersandToken 1405264 1405266 - PropertyAccessExpression 1405266 1405288 - Identifier 1405266 1405280 - Identifier 1405281 1405288 - Block 1405289 1406136 - IfStatement 1405291 1406121 - BinaryExpression 1405313 1405372 - PropertyAccessExpression 1405313 1405340 - Identifier 1405313 1405323 - Identifier 1405324 1405340 - ExclamationEqualsEqualsToken 1405340 1405344 - PropertyAccessExpression 1405344 1405372 - Identifier 1405344 1405355 - Identifier 1405356 1405372 - Block 1405373 1406121 - IfStatement 1405375 1406059 - Identifier 1405401 1405413 - Block 1405414 1406059 - IfStatement 1405416 1406036 - BinaryExpression 1405446 1405528 - BinaryExpression 1405446 1405485 - Identifier 1405446 1405461 - AmpersandToken 1405461 1405463 - PropertyAccessExpression 1405463 1405485 - Identifier 1405463 1405477 - Identifier 1405478 1405485 - AmpersandAmpersandToken 1405485 1405488 - BinaryExpression 1405488 1405528 - Identifier 1405488 1405504 - AmpersandToken 1405504 1405506 - PropertyAccessExpression 1405506 1405528 - Identifier 1405506 1405520 - Identifier 1405521 1405528 - Block 1405529 1405698 - ExpressionStatement 1405531 1405671 - CallExpression 1405531 1405670 - Identifier 1405531 1405572 - PropertyAccessExpression 1405573 1405641 - Identifier 1405573 1405584 - Identifier 1405585 1405641 - CallExpression 1405642 1405669 - Identifier 1405642 1405657 - Identifier 1405658 1405668 - Block 1405728 1406036 - ExpressionStatement 1405730 1406009 - CallExpression 1405730 1406008 - Identifier 1405730 1405771 - PropertyAccessExpression 1405772 1405833 - Identifier 1405772 1405783 - Identifier 1405784 1405833 - CallExpression 1405834 1405861 - Identifier 1405834 1405849 - Identifier 1405850 1405860 - CallExpression 1405862 1405934 - Identifier 1405862 1405875 - ConditionalExpression 1405876 1405933 - BinaryExpression 1405876 1405915 - Identifier 1405876 1405891 - AmpersandToken 1405891 1405893 - PropertyAccessExpression 1405893 1405915 - Identifier 1405893 1405907 - Identifier 1405908 1405915 - QuestionToken 1405915 1405917 - Identifier 1405917 1405924 - ColonToken 1405924 1405926 - Identifier 1405926 1405933 - CallExpression 1405935 1406007 - Identifier 1405935 1405948 - ConditionalExpression 1405949 1406006 - BinaryExpression 1405949 1405988 - Identifier 1405949 1405964 - AmpersandToken 1405964 1405966 - PropertyAccessExpression 1405966 1405988 - Identifier 1405966 1405980 - Identifier 1405981 1405988 - QuestionToken 1405988 1405990 - Identifier 1405990 1405997 - ColonToken 1405997 1405999 - Identifier 1405999 1406006 - ReturnStatement 1406059 1406102 - PropertyAccessExpression 1406087 1406101 - Identifier 1406087 1406095 - Identifier 1406096 1406101 - IfStatement 1406154 1407016 - BinaryExpression 1406159 1406200 - Identifier 1406159 1406174 - AmpersandToken 1406174 1406176 - PropertyAccessExpression 1406176 1406200 - Identifier 1406176 1406190 - Identifier 1406191 1406200 - Block 1406201 1406665 - IfStatement 1406203 1406650 - PrefixUnaryExpression 1406225 1406267 - CallExpression 1406226 1406267 - Identifier 1406226 1406243 - Identifier 1406244 1406254 - Identifier 1406255 1406266 - Block 1406268 1406650 - IfStatement 1406270 1406588 - Identifier 1406296 1406308 - Block 1406309 1406588 - ExpressionStatement 1406311 1406565 - CallExpression 1406311 1406564 - Identifier 1406311 1406348 - PropertyAccessExpression 1406349 1406425 - Identifier 1406349 1406360 - Identifier 1406361 1406425 - CallExpression 1406426 1406453 - Identifier 1406426 1406441 - Identifier 1406442 1406452 - CallExpression 1406454 1406508 - Identifier 1406454 1406467 - BinaryExpression 1406468 1406507 - CallExpression 1406468 1406497 - Identifier 1406468 1406485 - Identifier 1406486 1406496 - BarBarToken 1406497 1406500 - Identifier 1406500 1406507 - CallExpression 1406509 1406563 - Identifier 1406509 1406522 - BinaryExpression 1406523 1406562 - CallExpression 1406523 1406552 - Identifier 1406523 1406540 - Identifier 1406541 1406551 - BarBarToken 1406552 1406555 - Identifier 1406555 1406562 - ReturnStatement 1406588 1406631 - PropertyAccessExpression 1406616 1406630 - Identifier 1406616 1406624 - Identifier 1406625 1406630 - IfStatement 1406683 1407016 - BinaryExpression 1406688 1406729 - Identifier 1406688 1406703 - AmpersandToken 1406703 1406705 - PropertyAccessExpression 1406705 1406729 - Identifier 1406705 1406719 - Identifier 1406720 1406729 - Block 1406730 1407016 - IfStatement 1406732 1406962 - Identifier 1406754 1406766 - Block 1406767 1406962 - ExpressionStatement 1406769 1406943 - CallExpression 1406769 1406942 - Identifier 1406769 1406802 - PropertyAccessExpression 1406803 1406869 - Identifier 1406803 1406814 - Identifier 1406815 1406869 - CallExpression 1406870 1406897 - Identifier 1406870 1406885 - Identifier 1406886 1406896 - CallExpression 1406898 1406919 - Identifier 1406898 1406911 - Identifier 1406912 1406918 - CallExpression 1406920 1406941 - Identifier 1406920 1406933 - Identifier 1406934 1406940 - ReturnStatement 1406962 1407001 - PropertyAccessExpression 1406986 1407000 - Identifier 1406986 1406994 - Identifier 1406995 1407000 - IfStatement 1407016 1407786 - BinaryExpression 1407581 1407715 - BinaryExpression 1407581 1407682 - BinaryExpression 1407581 1407633 - Identifier 1407581 1407607 - EqualsEqualsEqualsToken 1407607 1407611 - Identifier 1407611 1407633 - AmpersandAmpersandToken 1407633 1407636 - CallExpression 1407636 1407682 - Identifier 1407636 1407670 - Identifier 1407671 1407681 - AmpersandAmpersandToken 1407682 1407685 - PrefixUnaryExpression 1407685 1407715 - CallExpression 1407687 1407715 - Identifier 1407687 1407703 - Identifier 1407704 1407714 - Block 1407730 1407786 - ReturnStatement 1407732 1407771 - PropertyAccessExpression 1407756 1407770 - Identifier 1407756 1407764 - Identifier 1407765 1407770 - VariableStatement 1407786 1408026 - VariableDeclarationList 1407786 1408025 - VariableDeclaration 1407905 1408025 - Identifier 1407905 1407913 - CallExpression 1407915 1408025 - Identifier 1407915 1407943 - Identifier 1407944 1407954 - Identifier 1407955 1407966 - Identifier 1407967 1407991 - Identifier 1407992 1408005 - Identifier 1408006 1408024 - IfStatement 1408026 1408289 - PrefixUnaryExpression 1408044 1408052 - Identifier 1408045 1408052 - Block 1408053 1408289 - IfStatement 1408055 1408235 - Identifier 1408077 1408089 - Block 1408090 1408235 - ExpressionStatement 1408092 1408216 - CallExpression 1408092 1408215 - Identifier 1408092 1408137 - PropertyAccessExpression 1408138 1408186 - Identifier 1408138 1408149 - Identifier 1408150 1408186 - CallExpression 1408187 1408214 - Identifier 1408187 1408202 - Identifier 1408203 1408213 - ReturnStatement 1408235 1408274 - PropertyAccessExpression 1408259 1408273 - Identifier 1408259 1408267 - Identifier 1408268 1408273 - IfStatement 1408289 1409281 - BinaryExpression 1408398 1408546 - BinaryExpression 1408398 1408500 - BinaryExpression 1408398 1408454 - PrefixUnaryExpression 1408398 1408411 - Identifier 1408399 1408411 - AmpersandAmpersandToken 1408411 1408414 - BinaryExpression 1408414 1408454 - PropertyAccessExpression 1408414 1408431 - Identifier 1408414 1408425 - Identifier 1408426 1408431 - AmpersandToken 1408431 1408433 - PropertyAccessExpression 1408433 1408454 - Identifier 1408433 1408445 - Identifier 1408446 1408454 - AmpersandAmpersandToken 1408454 1408457 - BinaryExpression 1408457 1408500 - PropertyAccessExpression 1408457 1408474 - Identifier 1408457 1408468 - Identifier 1408469 1408474 - AmpersandToken 1408474 1408476 - PropertyAccessExpression 1408476 1408500 - Identifier 1408476 1408488 - Identifier 1408489 1408500 - AmpersandAmpersandToken 1408500 1408503 - PrefixUnaryExpression 1408503 1408546 - ParenthesizedExpression 1408505 1408546 - BinaryExpression 1408506 1408545 - PropertyAccessExpression 1408506 1408522 - Identifier 1408506 1408516 - Identifier 1408517 1408522 - AmpersandToken 1408522 1408524 - PropertyAccessExpression 1408524 1408545 - Identifier 1408524 1408536 - Identifier 1408537 1408545 - Block 1408547 1409281 - IfStatement 1408549 1409227 - Identifier 1409018 1409030 - Block 1409031 1409227 - ExpressionStatement 1409033 1409208 - CallExpression 1409033 1409207 - Identifier 1409033 1409066 - PropertyAccessExpression 1409067 1409134 - Identifier 1409067 1409078 - Identifier 1409079 1409134 - CallExpression 1409135 1409162 - Identifier 1409135 1409150 - Identifier 1409151 1409161 - CallExpression 1409163 1409184 - Identifier 1409163 1409176 - Identifier 1409177 1409183 - CallExpression 1409185 1409206 - Identifier 1409185 1409198 - Identifier 1409199 1409205 - ReturnStatement 1409227 1409266 - PropertyAccessExpression 1409251 1409265 - Identifier 1409251 1409259 - Identifier 1409260 1409265 - ReturnStatement 1409281 1409310 - Identifier 1409301 1409309 - FunctionDeclaration 1409321 1413255 - Identifier 1409341 1409365 - Parameter 1409366 1409378 - Identifier 1409366 1409372 - TypeReference 1409373 1409378 - Identifier 1409373 1409378 - Parameter 1409379 1409392 - Identifier 1409379 1409386 - TypeReference 1409387 1409392 - Identifier 1409387 1409392 - Parameter 1409393 1409419 - Identifier 1409393 1409411 - TypeReference 1409412 1409419 - Identifier 1409412 1409419 - Parameter 1409420 1409455 - Identifier 1409420 1409446 - BooleanKeyword 1409447 1409455 - Block 1409456 1413255 - VariableStatement 1409458 1409506 - VariableDeclarationList 1409458 1409505 - VariableDeclaration 1409475 1409505 - Identifier 1409475 1409497 - FalseKeyword 1409499 1409505 - IfStatement 1409506 1410951 - BinaryExpression 1409614 1409916 - BinaryExpression 1409614 1409856 - BinaryExpression 1409614 1409822 - BinaryExpression 1409614 1409741 - PropertyAccessExpression 1409614 1409666 - Identifier 1409614 1409649 - Identifier 1409650 1409666 - AmpersandAmpersandToken 1409666 1409686 - CallExpression 1409686 1409741 - Identifier 1409686 1409705 - PropertyAccessExpression 1409706 1409740 - Identifier 1409706 1409723 - Identifier 1409724 1409740 - AmpersandAmpersandToken 1409741 1409761 - CallExpression 1409761 1409822 - Identifier 1409761 1409781 - PropertyAccessExpression 1409782 1409821 - PropertyAccessExpression 1409782 1409816 - Identifier 1409782 1409799 - Identifier 1409800 1409816 - Identifier 1409817 1409821 - AmpersandAmpersandToken 1409822 1409842 - PropertyAccessExpression 1409842 1409856 - Identifier 1409842 1409849 - Identifier 1409850 1409856 - AmpersandAmpersandToken 1409856 1409876 - BinaryExpression 1409876 1409916 - PropertyAccessExpression 1409876 1409896 - PropertyAccessExpression 1409876 1409890 - Identifier 1409876 1409883 - Identifier 1409884 1409890 - Identifier 1409891 1409896 - AmpersandToken 1409896 1409898 - PropertyAccessExpression 1409898 1409916 - Identifier 1409898 1409910 - Identifier 1409911 1409916 - Block 1409931 1410951 - VariableStatement 1409933 1410040 - VariableDeclarationList 1409933 1410039 - VariableDeclaration 1409956 1410039 - Identifier 1409956 1409985 - PropertyAccessExpression 1409987 1410039 - PropertyAccessExpression 1409987 1410027 - PropertyAccessExpression 1409987 1410022 - Identifier 1409987 1410005 - Identifier 1410006 1410022 - Identifier 1410023 1410027 - Identifier 1410028 1410039 - VariableStatement 1410040 1410160 - VariableDeclarationList 1410040 1410159 - VariableDeclaration 1410063 1410159 - Identifier 1410063 1410078 - CallExpression 1410080 1410159 - Identifier 1410080 1410114 - PropertyAccessExpression 1410115 1410128 - Identifier 1410115 1410121 - Identifier 1410122 1410128 - Identifier 1410129 1410158 - IfStatement 1410160 1410936 - BinaryExpression 1410182 1410241 - Identifier 1410182 1410196 - AmpersandAmpersandToken 1410196 1410199 - CallExpression 1410199 1410241 - Identifier 1410199 1410217 - Identifier 1410218 1410224 - Identifier 1410225 1410240 - Block 1410242 1410936 - VariableStatement 1410244 1410344 - VariableDeclarationList 1410244 1410343 - VariableDeclaration 1410271 1410343 - Identifier 1410271 1410282 - CallExpression 1410284 1410343 - PropertyAccessExpression 1410284 1410311 - Identifier 1410284 1410292 - Identifier 1410293 1410311 - PropertyAccessExpression 1410312 1410342 - PropertyAccessExpression 1410312 1410325 - Identifier 1410312 1410318 - Identifier 1410319 1410325 - Identifier 1410326 1410342 - VariableStatement 1410344 1410444 - VariableDeclarationList 1410344 1410443 - VariableDeclaration 1410371 1410443 - Identifier 1410371 1410382 - CallExpression 1410384 1410443 - PropertyAccessExpression 1410384 1410411 - Identifier 1410384 1410392 - Identifier 1410393 1410411 - PropertyAccessExpression 1410412 1410442 - PropertyAccessExpression 1410412 1410425 - Identifier 1410412 1410418 - Identifier 1410419 1410425 - Identifier 1410426 1410442 - ExpressionStatement 1410444 1410888 - CallExpression 1410444 1410887 - Identifier 1410444 1410477 - PropertyAccessExpression 1410478 1410608 - Identifier 1410478 1410515 - Identifier 1410516 1410608 - CallExpression 1410609 1410679 - Identifier 1410609 1410649 - Identifier 1410650 1410678 - CallExpression 1410680 1410771 - Identifier 1410680 1410720 - ConditionalExpression 1410721 1410770 - BinaryExpression 1410721 1410750 - PropertyAccessExpression 1410721 1410743 - Identifier 1410721 1410731 - Identifier 1410732 1410743 - EqualsEqualsEqualsToken 1410743 1410747 - StringLiteral 1410747 1410750 - QuestionToken 1410750 1410752 - Identifier 1410752 1410757 - ColonToken 1410757 1410759 - Identifier 1410759 1410770 - CallExpression 1410772 1410863 - Identifier 1410772 1410812 - ConditionalExpression 1410813 1410862 - BinaryExpression 1410813 1410842 - PropertyAccessExpression 1410813 1410835 - Identifier 1410813 1410823 - Identifier 1410824 1410835 - EqualsEqualsEqualsToken 1410835 1410839 - StringLiteral 1410839 1410842 - QuestionToken 1410842 1410844 - Identifier 1410844 1410849 - ColonToken 1410849 1410851 - Identifier 1410851 1410862 - ReturnStatement 1410888 1410917 - VariableStatement 1410951 1411095 - VariableDeclarationList 1410951 1411094 - VariableDeclaration 1410970 1411094 - Identifier 1410970 1410976 - CallExpression 1410978 1411094 - Identifier 1410978 1410988 - CallExpression 1410989 1411093 - Identifier 1410989 1411011 - Identifier 1411012 1411018 - Identifier 1411019 1411026 - Identifier 1411027 1411053 - FalseKeyword 1411054 1411092 - IfStatement 1411095 1411551 - BinaryExpression 1411113 1411393 - PrefixUnaryExpression 1411113 1411143 - Identifier 1411132 1411143 - BarBarToken 1411143 1411146 - ParenthesizedExpression 1411146 1411393 - BinaryExpression 1411148 1411392 - BinaryExpression 1411148 1411228 - PropertyAccessExpression 1411148 1411164 - Identifier 1411148 1411159 - Identifier 1411160 1411164 - ExclamationEqualsEqualsToken 1411164 1411168 - PropertyAccessExpression 1411168 1411228 - PropertyAccessExpression 1411168 1411223 - Identifier 1411168 1411180 - Identifier 1411181 1411223 - Identifier 1411224 1411228 - AmpersandAmpersandToken 1411228 1411231 - BinaryExpression 1411231 1411392 - PropertyAccessExpression 1411231 1411269 - Identifier 1411231 1411264 - Identifier 1411265 1411269 - ExclamationEqualsEqualsToken 1411269 1411273 - PropertyAccessExpression 1411273 1411392 - PropertyAccessExpression 1411273 1411387 - Identifier 1411273 1411285 - Identifier 1411286 1411387 - Identifier 1411388 1411392 - Block 1411408 1411551 - ExpressionStatement 1411410 1411457 - BinaryExpression 1411410 1411456 - Identifier 1411410 1411449 - EqualsToken 1411449 1411451 - TrueKeyword 1411451 1411456 - IfStatement 1411551 1413133 - BinaryExpression 1411569 1411587 - PropertyAccessExpression 1411569 1411581 - Identifier 1411569 1411574 - Identifier 1411575 1411581 - EqualsEqualsEqualsToken 1411581 1411585 - NumericLiteral 1411585 1411587 - Block 1411588 1412312 - VariableStatement 1411590 1411788 - VariableDeclarationList 1411590 1411787 - VariableDeclaration 1411613 1411787 - Identifier 1411613 1411622 - CallExpression 1411624 1411787 - Identifier 1411624 1411639 - Identifier 1411640 1411657 - Identifier 1411658 1411693 - PropertyAccessExpression 1411694 1411711 - Identifier 1411694 1411706 - Identifier 1411707 1411711 - BinaryExpression 1411712 1411786 - PropertyAccessExpression 1411712 1411747 - Identifier 1411712 1411730 - Identifier 1411731 1411747 - BarToken 1411747 1411749 - PropertyAccessExpression 1411749 1411786 - Identifier 1411749 1411767 - Identifier 1411768 1411786 - ExpressionStatement 1411788 1411944 - CallExpression 1411788 1411943 - Identifier 1411788 1411817 - PropertyAccessExpression 1411818 1411884 - Identifier 1411818 1411829 - Identifier 1411830 1411884 - Identifier 1411885 1411894 - SpreadElement 1411895 1411942 - CallExpression 1411899 1411942 - Identifier 1411899 1411926 - Identifier 1411927 1411933 - Identifier 1411934 1411941 - IfStatement 1411944 1412173 - CallExpression 1411966 1412004 - Identifier 1411966 1411972 - PropertyAccessExpression 1411973 1412003 - Identifier 1411973 1411990 - Identifier 1411991 1412003 - Block 1412005 1412173 - ExpressionStatement 1412007 1412154 - CallExpression 1412007 1412153 - Identifier 1412007 1412049 - CallExpression 1412050 1412152 - Identifier 1412050 1412073 - ElementAccessExpression 1412074 1412108 - NonNullExpression 1412074 1412105 - PropertyAccessExpression 1412074 1412104 - Identifier 1412074 1412091 - Identifier 1412092 1412104 - NumericLiteral 1412106 1412107 - PropertyAccessExpression 1412109 1412141 - Identifier 1412109 1412121 - Identifier 1412122 1412141 - Identifier 1412142 1412151 - IfStatement 1412173 1412297 - BinaryExpression 1412195 1412229 - Identifier 1412195 1412216 - AmpersandAmpersandToken 1412216 1412219 - Identifier 1412219 1412229 - Block 1412230 1412297 - ExpressionStatement 1412232 1412278 - PostfixUnaryExpression 1412232 1412277 - Identifier 1412232 1412275 - IfStatement 1412330 1413133 - CallExpression 1412335 1412402 - Identifier 1412335 1412362 - Identifier 1412363 1412369 - Identifier 1412370 1412377 - FalseKeyword 1412378 1412401 - Block 1412403 1413133 - IfStatement 1412405 1412994 - BinaryExpression 1412427 1412443 - PropertyAccessExpression 1412427 1412439 - Identifier 1412427 1412432 - Identifier 1412433 1412439 - GreaterThanToken 1412439 1412441 - NumericLiteral 1412441 1412443 - Block 1412444 1412750 - ExpressionStatement 1412446 1412731 - CallExpression 1412446 1412730 - Identifier 1412446 1412522 - PropertyAccessExpression 1412523 1412608 - Identifier 1412523 1412534 - Identifier 1412535 1412608 - CallExpression 1412609 1412630 - Identifier 1412609 1412622 - Identifier 1412623 1412629 - CallExpression 1412631 1412652 - Identifier 1412631 1412644 - Identifier 1412645 1412651 - CallExpression 1412653 1412711 - PropertyAccessExpression 1412653 1412705 - CallExpression 1412653 1412700 - Identifier 1412653 1412657 - CallExpression 1412658 1412675 - PropertyAccessExpression 1412658 1412669 - Identifier 1412658 1412663 - Identifier 1412664 1412669 - NumericLiteral 1412670 1412671 - NumericLiteral 1412672 1412674 - ArrowFunction 1412676 1412699 - Parameter 1412676 1412678 - Identifier 1412676 1412678 - EqualsGreaterThanToken 1412678 1412681 - CallExpression 1412681 1412699 - Identifier 1412681 1412696 - Identifier 1412697 1412698 - Identifier 1412701 1412705 - StringLiteral 1412706 1412710 - BinaryExpression 1412712 1412729 - PropertyAccessExpression 1412712 1412725 - Identifier 1412712 1412718 - Identifier 1412719 1412725 - MinusToken 1412725 1412727 - NumericLiteral 1412727 1412729 - Block 1412772 1412994 - ExpressionStatement 1412774 1412975 - CallExpression 1412774 1412974 - Identifier 1412774 1412807 - PropertyAccessExpression 1412808 1412882 - Identifier 1412808 1412819 - Identifier 1412820 1412882 - CallExpression 1412883 1412904 - Identifier 1412883 1412896 - Identifier 1412897 1412903 - CallExpression 1412905 1412926 - Identifier 1412905 1412918 - Identifier 1412919 1412925 - CallExpression 1412927 1412973 - PropertyAccessExpression 1412927 1412967 - CallExpression 1412927 1412962 - Identifier 1412927 1412931 - Identifier 1412932 1412937 - ArrowFunction 1412938 1412961 - Parameter 1412938 1412940 - Identifier 1412938 1412940 - EqualsGreaterThanToken 1412940 1412943 - CallExpression 1412943 1412961 - Identifier 1412943 1412958 - Identifier 1412959 1412960 - Identifier 1412963 1412967 - StringLiteral 1412968 1412972 - IfStatement 1412994 1413118 - BinaryExpression 1413016 1413050 - Identifier 1413016 1413037 - AmpersandAmpersandToken 1413037 1413040 - Identifier 1413040 1413050 - Block 1413051 1413118 - ExpressionStatement 1413053 1413099 - PostfixUnaryExpression 1413053 1413098 - Identifier 1413053 1413096 - FunctionDeclaration 1413255 1423485 - Identifier 1413275 1413295 - Parameter 1413296 1413308 - Identifier 1413296 1413302 - TypeReference 1413303 1413308 - Identifier 1413303 1413308 - Parameter 1413309 1413322 - Identifier 1413309 1413316 - TypeReference 1413317 1413322 - Identifier 1413317 1413322 - Parameter 1413323 1413345 - Identifier 1413323 1413336 - BooleanKeyword 1413337 1413345 - Parameter 1413346 1413392 - Identifier 1413346 1413365 - UnionType 1413366 1413392 - TypeReference 1413366 1413380 - Identifier 1413366 1413370 - TypeReference 1413371 1413379 - Identifier 1413371 1413379 - UndefinedKeyword 1413382 1413392 - Parameter 1413393 1413416 - Identifier 1413393 1413407 - BooleanKeyword 1413408 1413416 - Parameter 1413417 1413454 - Identifier 1413417 1413435 - TypeReference 1413436 1413454 - Identifier 1413436 1413454 - TypeReference 1413456 1413464 - Identifier 1413456 1413464 - Block 1413464 1423485 - IfStatement 1413466 1413614 - BinaryExpression 1413484 1413513 - Identifier 1413484 1413492 - EqualsEqualsEqualsToken 1413492 1413496 - Identifier 1413496 1413513 - Block 1413514 1413614 - ReturnStatement 1413516 1413599 - CallExpression 1413540 1413598 - Identifier 1413540 1413562 - Identifier 1413563 1413569 - Identifier 1413570 1413577 - Identifier 1413578 1413597 - VariableStatement 1413614 1413654 - VariableDeclarationList 1413614 1413653 - VariableDeclaration 1413631 1413653 - Identifier 1413631 1413638 - PropertyAccessExpression 1413640 1413653 - Identifier 1413640 1413648 - Identifier 1413649 1413653 - IfStatement 1413654 1420763 - CallExpression 1413672 1413691 - Identifier 1413672 1413683 - Identifier 1413684 1413690 - Block 1413692 1420763 - IfStatement 1413694 1420610 - CallExpression 1413716 1413742 - Identifier 1413716 1413734 - Identifier 1413735 1413741 - Block 1413743 1420610 - IfStatement 1413745 1413949 - BinaryExpression 1413771 1413876 - PrefixUnaryExpression 1413771 1413794 - PropertyAccessExpression 1413772 1413794 - PropertyAccessExpression 1413772 1413785 - Identifier 1413772 1413778 - Identifier 1413779 1413785 - Identifier 1413786 1413794 - AmpersandAmpersandToken 1413794 1413797 - ParenthesizedExpression 1413797 1413876 - BinaryExpression 1413799 1413875 - CallExpression 1413799 1413826 - Identifier 1413799 1413818 - Identifier 1413819 1413825 - BarBarToken 1413826 1413829 - BinaryExpression 1413829 1413875 - CallExpression 1413829 1413849 - Identifier 1413829 1413841 - Identifier 1413842 1413848 - AmpersandAmpersandToken 1413849 1413852 - PropertyAccessExpression 1413852 1413875 - PropertyAccessExpression 1413852 1413866 - Identifier 1413852 1413859 - Identifier 1413860 1413866 - Identifier 1413867 1413875 - Block 1413877 1413949 - ReturnStatement 1413879 1413926 - PropertyAccessExpression 1413911 1413925 - Identifier 1413911 1413919 - Identifier 1413920 1413925 - VariableStatement 1413949 1414021 - VariableDeclarationList 1413949 1414020 - VariableDeclaration 1413976 1414020 - Identifier 1413976 1413988 - CallExpression 1413990 1414020 - Identifier 1413990 1414012 - Identifier 1414013 1414019 - VariableStatement 1414021 1414093 - VariableDeclarationList 1414021 1414092 - VariableDeclaration 1414048 1414092 - Identifier 1414048 1414060 - CallExpression 1414062 1414092 - Identifier 1414062 1414084 - Identifier 1414085 1414091 - VariableStatement 1414093 1414228 - VariableDeclarationList 1414093 1414227 - VariableDeclaration 1414120 1414227 - Identifier 1414120 1414135 - ConditionalExpression 1414137 1414227 - CallExpression 1414137 1414157 - Identifier 1414137 1414149 - Identifier 1414150 1414156 - QuestionToken 1414157 1414159 - BinaryExpression 1414159 1414207 - PropertyAccessExpression 1414159 1414187 - PropertyAccessExpression 1414159 1414173 - Identifier 1414159 1414166 - Identifier 1414167 1414173 - Identifier 1414174 1414187 - AmpersandToken 1414187 1414189 - PropertyAccessExpression 1414189 1414207 - Identifier 1414189 1414202 - Identifier 1414203 1414207 - ColonToken 1414207 1414209 - PropertyAccessExpression 1414209 1414227 - Identifier 1414209 1414222 - Identifier 1414223 1414227 - VariableStatement 1414228 1414335 - VariableDeclarationList 1414228 1414334 - VariableDeclaration 1414255 1414334 - Identifier 1414255 1414276 - PrefixUnaryExpression 1414278 1414334 - PrefixUnaryExpression 1414280 1414334 - ParenthesizedExpression 1414281 1414334 - BinaryExpression 1414282 1414333 - PropertyAccessExpression 1414282 1414309 - PropertyAccessExpression 1414282 1414295 - Identifier 1414282 1414288 - Identifier 1414289 1414295 - Identifier 1414296 1414309 - AmpersandToken 1414309 1414311 - PropertyAccessExpression 1414311 1414333 - Identifier 1414311 1414324 - Identifier 1414325 1414333 - VariableStatement 1414335 1414431 - VariableDeclarationList 1414335 1414430 - VariableDeclaration 1414362 1414430 - Identifier 1414362 1414378 - ConditionalExpression 1414380 1414430 - CallExpression 1414380 1414400 - Identifier 1414380 1414392 - Identifier 1414393 1414399 - QuestionToken 1414400 1414402 - PropertyAccessExpression 1414402 1414426 - PropertyAccessExpression 1414402 1414416 - Identifier 1414402 1414409 - Identifier 1414410 1414416 - Identifier 1414417 1414426 - ColonToken 1414426 1414428 - NumericLiteral 1414428 1414430 - VariableStatement 1414431 1414501 - VariableDeclarationList 1414431 1414500 - VariableDeclaration 1414458 1414500 - Identifier 1414458 1414474 - PropertyAccessExpression 1414476 1414500 - PropertyAccessExpression 1414476 1414490 - Identifier 1414476 1414483 - Identifier 1414484 1414490 - Identifier 1414491 1414500 - IfStatement 1414501 1414850 - BinaryExpression 1414527 1414575 - PrefixUnaryExpression 1414527 1414542 - Identifier 1414528 1414542 - AmpersandAmpersandToken 1414542 1414545 - BinaryExpression 1414545 1414575 - Identifier 1414545 1414557 - LessThanToken 1414557 1414559 - Identifier 1414559 1414575 - Block 1414576 1414850 - IfStatement 1414578 1414780 - Identifier 1414608 1414620 - Block 1414621 1414780 - ExpressionStatement 1414623 1414753 - CallExpression 1414623 1414752 - Identifier 1414623 1414664 - PropertyAccessExpression 1414665 1414721 - Identifier 1414665 1414676 - Identifier 1414677 1414721 - Identifier 1414722 1414734 - Identifier 1414735 1414751 - ReturnStatement 1414780 1414827 - PropertyAccessExpression 1414812 1414826 - Identifier 1414812 1414820 - Identifier 1414821 1414826 - IfStatement 1414850 1415208 - BinaryExpression 1414876 1414930 - PrefixUnaryExpression 1414876 1414897 - Identifier 1414877 1414897 - AmpersandAmpersandToken 1414897 1414900 - BinaryExpression 1414900 1414930 - Identifier 1414900 1414912 - LessThanToken 1414912 1414914 - Identifier 1414914 1414930 - Block 1414931 1415208 - IfStatement 1414933 1415138 - Identifier 1414963 1414975 - Block 1414976 1415138 - ExpressionStatement 1414978 1415111 - CallExpression 1414978 1415110 - Identifier 1414978 1415019 - PropertyAccessExpression 1415020 1415079 - Identifier 1415020 1415031 - Identifier 1415032 1415079 - Identifier 1415080 1415096 - Identifier 1415097 1415109 - ReturnStatement 1415138 1415185 - PropertyAccessExpression 1415170 1415184 - Identifier 1415170 1415178 - Identifier 1415179 1415184 - IfStatement 1415208 1415875 - BinaryExpression 1415234 1415304 - PrefixUnaryExpression 1415234 1415255 - Identifier 1415235 1415255 - AmpersandAmpersandToken 1415255 1415258 - ParenthesizedExpression 1415258 1415304 - BinaryExpression 1415260 1415303 - Identifier 1415260 1415274 - BarBarToken 1415274 1415277 - BinaryExpression 1415277 1415303 - Identifier 1415277 1415289 - LessThanToken 1415289 1415291 - Identifier 1415291 1415303 - Block 1415305 1415875 - IfStatement 1415307 1415805 - Identifier 1415337 1415349 - Block 1415350 1415805 - IfStatement 1415352 1415778 - BinaryExpression 1415386 1415419 - Identifier 1415386 1415401 - LessThanToken 1415401 1415403 - Identifier 1415403 1415419 - Block 1415420 1415583 - ExpressionStatement 1415422 1415552 - CallExpression 1415422 1415551 - Identifier 1415422 1415467 - PropertyAccessExpression 1415468 1415533 - Identifier 1415468 1415479 - Identifier 1415480 1415533 - Identifier 1415534 1415550 - Block 1415617 1415778 - ExpressionStatement 1415619 1415747 - CallExpression 1415619 1415746 - Identifier 1415619 1415664 - PropertyAccessExpression 1415665 1415732 - Identifier 1415665 1415676 - Identifier 1415677 1415732 - Identifier 1415733 1415745 - ReturnStatement 1415805 1415852 - PropertyAccessExpression 1415837 1415851 - Identifier 1415837 1415845 - Identifier 1415846 1415851 - VariableStatement 1415875 1415950 - VariableDeclarationList 1415875 1415949 - VariableDeclaration 1415902 1415949 - Identifier 1415902 1415922 - CallExpression 1415924 1415949 - Identifier 1415924 1415941 - Identifier 1415942 1415948 - VariableStatement 1415950 1416025 - VariableDeclarationList 1415950 1416024 - VariableDeclaration 1415977 1416024 - Identifier 1415977 1415997 - CallExpression 1415999 1416024 - Identifier 1415999 1416016 - Identifier 1416017 1416023 - VariableStatement 1416025 1416130 - VariableDeclarationList 1416025 1416129 - VariableDeclaration 1416052 1416129 - Identifier 1416052 1416069 - CallExpression 1416071 1416129 - Identifier 1416071 1416092 - PropertyAccessExpression 1416093 1416106 - Identifier 1416093 1416099 - Identifier 1416100 1416106 - PropertyAccessExpression 1416107 1416128 - Identifier 1416107 1416120 - Identifier 1416121 1416128 - VariableStatement 1416130 1416231 - VariableDeclarationList 1416130 1416230 - VariableDeclaration 1416157 1416230 - Identifier 1416157 1416172 - CallExpression 1416174 1416230 - Identifier 1416174 1416193 - PropertyAccessExpression 1416194 1416207 - Identifier 1416194 1416200 - Identifier 1416201 1416207 - PropertyAccessExpression 1416208 1416229 - Identifier 1416208 1416221 - Identifier 1416222 1416229 - VariableStatement 1416231 1416304 - VariableDeclarationList 1416231 1416303 - VariableDeclaration 1416256 1416303 - Identifier 1416256 1416280 - PrefixUnaryExpression 1416282 1416303 - PrefixUnaryExpression 1416284 1416303 - Identifier 1416285 1416303 - ForStatement 1416304 1420555 - VariableDeclarationList 1416331 1416353 - VariableDeclaration 1416334 1416353 - Identifier 1416334 1416349 - NumericLiteral 1416351 1416353 - BinaryExpression 1416354 1416383 - Identifier 1416354 1416369 - LessThanToken 1416369 1416371 - Identifier 1416371 1416383 - PostfixUnaryExpression 1416384 1416401 - Identifier 1416384 1416399 - Block 1416402 1420555 - VariableStatement 1416404 1416535 - VariableDeclarationList 1416404 1416534 - VariableDeclaration 1416435 1416534 - Identifier 1416435 1416447 - ConditionalExpression 1416449 1416534 - CallExpression 1416449 1416469 - Identifier 1416449 1416461 - Identifier 1416462 1416468 - QuestionToken 1416469 1416471 - ElementAccessExpression 1416471 1416514 - PropertyAccessExpression 1416471 1416498 - PropertyAccessExpression 1416471 1416485 - Identifier 1416471 1416478 - Identifier 1416479 1416485 - Identifier 1416486 1416498 - Identifier 1416499 1416513 - ColonToken 1416514 1416516 - PropertyAccessExpression 1416516 1416534 - Identifier 1416516 1416529 - Identifier 1416530 1416534 - VariableStatement 1416535 1416624 - VariableDeclarationList 1416535 1416623 - VariableDeclaration 1416566 1416623 - Identifier 1416566 1416588 - BinaryExpression 1416590 1416623 - BinaryExpression 1416590 1416606 - Identifier 1416590 1416602 - MinusToken 1416602 1416604 - NumericLiteral 1416604 1416606 - MinusToken 1416606 1416608 - Identifier 1416608 1416623 - VariableStatement 1416624 1416877 - VariableDeclarationList 1416624 1416876 - VariableDeclaration 1416657 1416876 - Identifier 1416657 1416672 - ConditionalExpression 1416674 1416876 - BinaryExpression 1416674 1416733 - Identifier 1416674 1416695 - AmpersandAmpersandToken 1416695 1416698 - BinaryExpression 1416698 1416733 - Identifier 1416698 1416713 - GreaterThanEqualsToken 1416713 1416716 - Identifier 1416716 1416733 - QuestionToken 1416733 1416764 - BinaryExpression 1416764 1416830 - BinaryExpression 1416764 1416780 - Identifier 1416764 1416776 - MinusToken 1416776 1416778 - NumericLiteral 1416778 1416780 - MinusToken 1416780 1416782 - CallExpression 1416782 1416830 - PropertyAccessExpression 1416782 1416791 - Identifier 1416782 1416787 - Identifier 1416788 1416791 - Identifier 1416792 1416813 - Identifier 1416814 1416829 - ColonToken 1416830 1416861 - Identifier 1416861 1416876 - VariableStatement 1416877 1416968 - VariableDeclarationList 1416877 1416967 - VariableDeclaration 1416910 1416967 - Identifier 1416910 1416922 - ElementAccessExpression 1416924 1416967 - PropertyAccessExpression 1416924 1416951 - PropertyAccessExpression 1416924 1416938 - Identifier 1416924 1416931 - Identifier 1416932 1416938 - Identifier 1416939 1416951 - Identifier 1416952 1416966 - IfStatement 1416968 1417383 - BinaryExpression 1417000 1417077 - BinaryExpression 1417000 1417035 - Identifier 1417000 1417011 - AmpersandToken 1417011 1417013 - PropertyAccessExpression 1417013 1417035 - Identifier 1417013 1417026 - Identifier 1417027 1417035 - AmpersandAmpersandToken 1417035 1417038 - PrefixUnaryExpression 1417038 1417077 - ParenthesizedExpression 1417040 1417077 - BinaryExpression 1417041 1417076 - Identifier 1417041 1417052 - AmpersandToken 1417052 1417054 - PropertyAccessExpression 1417054 1417076 - Identifier 1417054 1417067 - Identifier 1417068 1417076 - Block 1417078 1417383 - IfStatement 1417080 1417305 - Identifier 1417114 1417126 - Block 1417127 1417305 - ExpressionStatement 1417129 1417274 - CallExpression 1417129 1417273 - Identifier 1417129 1417174 - PropertyAccessExpression 1417175 1417256 - Identifier 1417175 1417186 - Identifier 1417187 1417256 - Identifier 1417257 1417272 - ReturnStatement 1417305 1417356 - PropertyAccessExpression 1417341 1417355 - Identifier 1417341 1417349 - Identifier 1417350 1417355 - IfStatement 1417383 1417830 - BinaryExpression 1417413 1417490 - BinaryExpression 1417413 1417448 - Identifier 1417413 1417424 - AmpersandToken 1417424 1417426 - PropertyAccessExpression 1417426 1417448 - Identifier 1417426 1417439 - Identifier 1417440 1417448 - AmpersandAmpersandToken 1417448 1417451 - PrefixUnaryExpression 1417451 1417490 - ParenthesizedExpression 1417453 1417490 - BinaryExpression 1417454 1417489 - Identifier 1417454 1417465 - AmpersandToken 1417465 1417467 - PropertyAccessExpression 1417467 1417489 - Identifier 1417467 1417480 - Identifier 1417481 1417489 - Block 1417491 1417830 - IfStatement 1417493 1417752 - Identifier 1417527 1417539 - Block 1417540 1417752 - ExpressionStatement 1417542 1417721 - CallExpression 1417542 1417720 - Identifier 1417542 1417587 - PropertyAccessExpression 1417588 1417687 - Identifier 1417588 1417599 - Identifier 1417600 1417687 - Identifier 1417688 1417703 - Identifier 1417704 1417719 - ReturnStatement 1417752 1417803 - PropertyAccessExpression 1417788 1417802 - Identifier 1417788 1417796 - Identifier 1417797 1417802 - IfStatement 1417830 1418243 - BinaryExpression 1417860 1417937 - BinaryExpression 1417860 1417895 - Identifier 1417860 1417871 - AmpersandToken 1417871 1417873 - PropertyAccessExpression 1417873 1417895 - Identifier 1417873 1417886 - Identifier 1417887 1417895 - AmpersandAmpersandToken 1417895 1417898 - PrefixUnaryExpression 1417898 1417937 - ParenthesizedExpression 1417900 1417937 - BinaryExpression 1417901 1417936 - Identifier 1417901 1417912 - AmpersandToken 1417912 1417914 - PropertyAccessExpression 1417914 1417936 - Identifier 1417914 1417927 - Identifier 1417928 1417936 - Block 1417938 1418243 - IfStatement 1417940 1418165 - Identifier 1417974 1417986 - Block 1417987 1418165 - ExpressionStatement 1417989 1418134 - CallExpression 1417989 1418133 - Identifier 1417989 1418034 - PropertyAccessExpression 1418035 1418116 - Identifier 1418035 1418046 - Identifier 1418047 1418116 - Identifier 1418117 1418132 - ReturnStatement 1418165 1418216 - PropertyAccessExpression 1418201 1418215 - Identifier 1418201 1418209 - Identifier 1418210 1418215 - IfStatement 1418243 1418860 - Identifier 1418403 1418426 - Block 1418427 1418860 - IfStatement 1418429 1418637 - BinaryExpression 1418463 1418537 - BinaryExpression 1418463 1418498 - Identifier 1418463 1418474 - AmpersandToken 1418474 1418476 - PropertyAccessExpression 1418476 1418498 - Identifier 1418476 1418489 - Identifier 1418490 1418498 - BarBarToken 1418498 1418501 - BinaryExpression 1418501 1418537 - Identifier 1418501 1418513 - AmpersandToken 1418513 1418515 - PropertyAccessExpression 1418515 1418537 - Identifier 1418515 1418528 - Identifier 1418529 1418537 - Block 1418538 1418637 - ExpressionStatement 1418540 1418606 - BinaryExpression 1418540 1418605 - Identifier 1418540 1418597 - EqualsToken 1418597 1418599 - FalseKeyword 1418599 1418605 - IfStatement 1418637 1418833 - BinaryExpression 1418671 1418756 - Identifier 1418671 1418694 - AmpersandAmpersandToken 1418694 1418697 - CallExpression 1418697 1418756 - PropertyAccessExpression 1418697 1418721 - Identifier 1418697 1418716 - QuestionDotToken 1418716 1418718 - Identifier 1418718 1418721 - AsExpression 1418722 1418755 - ParenthesizedExpression 1418722 1418743 - BinaryExpression 1418723 1418742 - StringLiteral 1418723 1418725 - PlusToken 1418725 1418727 - Identifier 1418727 1418742 - TypeReference 1418746 1418755 - Identifier 1418746 1418755 - Block 1418757 1418833 - ContinueStatement 1418759 1418802 - VariableStatement 1418860 1419017 - VariableDeclarationList 1418860 1419016 - VariableDeclaration 1418893 1419016 - Identifier 1418893 1418904 - CallExpression 1418906 1419016 - Identifier 1418906 1418924 - ElementAccessExpression 1418925 1418960 - Identifier 1418925 1418944 - Identifier 1418945 1418959 - PrefixUnaryExpression 1418961 1419015 - PrefixUnaryExpression 1418963 1419015 - ParenthesizedExpression 1418964 1419015 - BinaryExpression 1418965 1419014 - BinaryExpression 1418965 1418990 - Identifier 1418965 1418976 - AmpersandToken 1418976 1418978 - Identifier 1418978 1418990 - AmpersandToken 1418990 1418992 - PropertyAccessExpression 1418992 1419014 - Identifier 1418992 1419005 - Identifier 1419006 1419014 - VariableStatement 1419017 1419098 - VariableDeclarationList 1419017 1419097 - VariableDeclaration 1419048 1419097 - Identifier 1419048 1419059 - ElementAccessExpression 1419061 1419097 - Identifier 1419061 1419081 - Identifier 1419082 1419096 - VariableStatement 1419098 1419353 - VariableDeclarationList 1419098 1419352 - VariableDeclaration 1419131 1419352 - Identifier 1419131 1419147 - ConditionalExpression 1419149 1419352 - BinaryExpression 1419149 1419220 - BinaryExpression 1419149 1419185 - Identifier 1419149 1419161 - AmpersandToken 1419161 1419163 - PropertyAccessExpression 1419163 1419185 - Identifier 1419163 1419176 - Identifier 1419177 1419185 - AmpersandAmpersandToken 1419185 1419188 - BinaryExpression 1419188 1419220 - Identifier 1419188 1419200 - AmpersandToken 1419200 1419202 - PropertyAccessExpression 1419202 1419220 - Identifier 1419202 1419215 - Identifier 1419216 1419220 - QuestionToken 1419220 1419222 - CallExpression 1419222 1419250 - Identifier 1419222 1419238 - Identifier 1419239 1419249 - ColonToken 1419250 1419252 - CallExpression 1419252 1419352 - Identifier 1419252 1419299 - Identifier 1419300 1419310 - PrefixUnaryExpression 1419311 1419351 - PrefixUnaryExpression 1419313 1419351 - ParenthesizedExpression 1419314 1419351 - BinaryExpression 1419315 1419350 - Identifier 1419315 1419326 - AmpersandToken 1419326 1419328 - PropertyAccessExpression 1419328 1419350 - Identifier 1419328 1419341 - Identifier 1419342 1419350 - VariableStatement 1419353 1419517 - VariableDeclarationList 1419353 1419516 - VariableDeclaration 1419384 1419516 - Identifier 1419384 1419392 - CallExpression 1419394 1419516 - Identifier 1419394 1419406 - Identifier 1419407 1419417 - Identifier 1419418 1419434 - PropertyAccessExpression 1419435 1419455 - Identifier 1419435 1419450 - Identifier 1419451 1419455 - Identifier 1419456 1419469 - Identifier 1419470 1419496 - Identifier 1419497 1419515 - IfStatement 1419517 1420488 - PrefixUnaryExpression 1419547 1419555 - Identifier 1419548 1419555 - Block 1419556 1420488 - IfStatement 1419558 1420410 - BinaryExpression 1419592 1419644 - Identifier 1419592 1419604 - AmpersandAmpersandToken 1419604 1419607 - ParenthesizedExpression 1419607 1419644 - BinaryExpression 1419609 1419643 - BinaryExpression 1419609 1419624 - Identifier 1419609 1419620 - GreaterThanToken 1419620 1419622 - NumericLiteral 1419622 1419624 - BarBarToken 1419624 1419627 - BinaryExpression 1419627 1419643 - Identifier 1419627 1419639 - GreaterThanToken 1419639 1419641 - NumericLiteral 1419641 1419643 - Block 1419645 1420410 - IfStatement 1419647 1420379 - BinaryExpression 1419685 1419843 - BinaryExpression 1419685 1419786 - BinaryExpression 1419685 1419743 - Identifier 1419685 1419705 - AmpersandAmpersandToken 1419705 1419708 - BinaryExpression 1419708 1419743 - Identifier 1419708 1419723 - GreaterThanEqualsToken 1419723 1419726 - Identifier 1419726 1419743 - AmpersandAmpersandToken 1419743 1419746 - BinaryExpression 1419746 1419786 - Identifier 1419746 1419768 - GreaterThanEqualsToken 1419768 1419771 - Identifier 1419771 1419786 - AmpersandAmpersandToken 1419786 1419789 - BinaryExpression 1419789 1419843 - Identifier 1419789 1419806 - ExclamationEqualsEqualsToken 1419806 1419810 - BinaryExpression 1419810 1419843 - BinaryExpression 1419810 1419839 - Identifier 1419810 1419822 - MinusToken 1419822 1419824 - Identifier 1419824 1419839 - MinusToken 1419839 1419841 - NumericLiteral 1419841 1419843 - Block 1419844 1420116 - ExpressionStatement 1419846 1420081 - CallExpression 1419846 1420080 - Identifier 1419846 1419907 - PropertyAccessExpression 1419908 1420011 - Identifier 1419908 1419919 - Identifier 1419920 1420011 - Identifier 1420012 1420029 - BinaryExpression 1420030 1420063 - BinaryExpression 1420030 1420059 - Identifier 1420030 1420042 - MinusToken 1420042 1420044 - Identifier 1420044 1420059 - MinusToken 1420059 1420061 - NumericLiteral 1420061 1420063 - Identifier 1420064 1420079 - Block 1420154 1420379 - ExpressionStatement 1420156 1420344 - CallExpression 1420156 1420343 - Identifier 1420156 1420217 - PropertyAccessExpression 1420218 1420310 - Identifier 1420218 1420229 - Identifier 1420230 1420310 - Identifier 1420311 1420326 - Identifier 1420327 1420342 - ReturnStatement 1420410 1420461 - PropertyAccessExpression 1420446 1420460 - Identifier 1420446 1420454 - Identifier 1420455 1420460 - ExpressionStatement 1420488 1420532 - BinaryExpression 1420488 1420531 - Identifier 1420488 1420520 - AmpersandEqualsToken 1420520 1420523 - Identifier 1420523 1420531 - ReturnStatement 1420555 1420591 - Identifier 1420583 1420590 - IfStatement 1420610 1420748 - BinaryExpression 1420632 1420683 - PropertyAccessExpression 1420632 1420659 - PropertyAccessExpression 1420632 1420645 - Identifier 1420632 1420638 - Identifier 1420639 1420645 - Identifier 1420646 1420659 - AmpersandToken 1420659 1420661 - PropertyAccessExpression 1420661 1420683 - Identifier 1420661 1420674 - Identifier 1420675 1420683 - Block 1420684 1420748 - ReturnStatement 1420686 1420729 - PropertyAccessExpression 1420714 1420728 - Identifier 1420714 1420722 - Identifier 1420723 1420728 - VariableStatement 1420763 1420972 - VariableDeclarationList 1420763 1420971 - VariableDeclaration 1420782 1420971 - Identifier 1420782 1420808 - BinaryExpression 1420810 1420971 - BinaryExpression 1420810 1420947 - BinaryExpression 1420810 1420911 - ParenthesizedExpression 1420810 1420879 - BinaryExpression 1420812 1420878 - BinaryExpression 1420812 1420840 - Identifier 1420812 1420820 - EqualsEqualsEqualsToken 1420820 1420824 - Identifier 1420824 1420840 - BarBarToken 1420840 1420843 - BinaryExpression 1420843 1420878 - Identifier 1420843 1420852 - EqualsEqualsEqualsToken 1420852 1420856 - Identifier 1420856 1420878 - AmpersandAmpersandToken 1420879 1420882 - PrefixUnaryExpression 1420882 1420911 - CallExpression 1420884 1420911 - Identifier 1420884 1420903 - Identifier 1420904 1420910 - AmpersandAmpersandToken 1420911 1420914 - PrefixUnaryExpression 1420914 1420947 - CallExpression 1420916 1420947 - Identifier 1420916 1420939 - Identifier 1420940 1420946 - AmpersandAmpersandToken 1420947 1420950 - PrefixUnaryExpression 1420950 1420971 - CallExpression 1420952 1420971 - Identifier 1420952 1420963 - Identifier 1420964 1420970 - VariableStatement 1420972 1421115 - VariableDeclarationList 1420972 1421114 - VariableDeclaration 1420991 1421114 - Identifier 1420991 1421009 - CallExpression 1421011 1421114 - Identifier 1421011 1421032 - Identifier 1421033 1421039 - Identifier 1421040 1421047 - Identifier 1421048 1421074 - FalseKeyword 1421075 1421113 - IfStatement 1421115 1421425 - Identifier 1421133 1421150 - Block 1421151 1421425 - IfStatement 1421153 1421371 - BinaryExpression 1421175 1421241 - Identifier 1421175 1421187 - AmpersandAmpersandToken 1421187 1421190 - CallExpression 1421190 1421241 - Identifier 1421190 1421225 - Identifier 1421226 1421232 - Identifier 1421233 1421240 - Block 1421242 1421371 - ExpressionStatement 1421244 1421352 - CallExpression 1421244 1421351 - Identifier 1421244 1421289 - Identifier 1421290 1421296 - Identifier 1421297 1421304 - Identifier 1421305 1421323 - Identifier 1421324 1421350 - ReturnStatement 1421371 1421410 - PropertyAccessExpression 1421395 1421409 - Identifier 1421395 1421403 - Identifier 1421404 1421409 - IfStatement 1421425 1422177 - CallExpression 1421443 1421470 - Identifier 1421443 1421462 - Identifier 1421463 1421469 - Block 1421471 1422177 - ForOfStatement 1421473 1422162 - VariableDeclarationList 1421496 1421512 - VariableDeclaration 1421501 1421512 - Identifier 1421501 1421512 - CallExpression 1421515 1421582 - Identifier 1421515 1421533 - CallExpression 1421534 1421561 - Identifier 1421534 1421553 - Identifier 1421554 1421560 - Identifier 1421562 1421581 - Block 1421583 1422162 - IfStatement 1421585 1422143 - PrefixUnaryExpression 1421611 1421667 - CallExpression 1421612 1421667 - Identifier 1421612 1421635 - Identifier 1421636 1421642 - PropertyAccessExpression 1421643 1421666 - Identifier 1421643 1421654 - Identifier 1421655 1421666 - Block 1421668 1422143 - VariableStatement 1421670 1421743 - VariableDeclarationList 1421670 1421742 - VariableDeclaration 1421701 1421742 - Identifier 1421701 1421712 - CallExpression 1421714 1421742 - Identifier 1421714 1421730 - Identifier 1421731 1421741 - IfStatement 1421743 1422120 - PrefixUnaryExpression 1421773 1421814 - ParenthesizedExpression 1421774 1421814 - BinaryExpression 1421775 1421813 - PropertyAccessExpression 1421775 1421791 - Identifier 1421775 1421785 - Identifier 1421786 1421791 - AmpersandToken 1421791 1421793 - PropertyAccessExpression 1421793 1421813 - Identifier 1421793 1421803 - Identifier 1421804 1421813 - Block 1421815 1422120 - IfStatement 1421817 1422042 - Identifier 1421851 1421863 - Block 1421864 1422042 - ExpressionStatement 1421866 1422011 - CallExpression 1421866 1422010 - Identifier 1421866 1421911 - PropertyAccessExpression 1421912 1421959 - Identifier 1421912 1421923 - Identifier 1421924 1421959 - CallExpression 1421960 1421987 - Identifier 1421960 1421975 - Identifier 1421976 1421986 - CallExpression 1421988 1422009 - Identifier 1421988 1422001 - Identifier 1422002 1422008 - ReturnStatement 1422042 1422093 - PropertyAccessExpression 1422078 1422092 - Identifier 1422078 1422086 - Identifier 1422087 1422092 - VariableStatement 1422177 1422460 - VariableDeclarationList 1422177 1422459 - VariableDeclaration 1422418 1422459 - Identifier 1422418 1422429 - CallExpression 1422431 1422459 - Identifier 1422431 1422451 - Identifier 1422452 1422458 - VariableStatement 1422460 1422542 - VariableDeclarationList 1422460 1422541 - VariableDeclaration 1422479 1422541 - Identifier 1422479 1422496 - BinaryExpression 1422498 1422541 - CallExpression 1422498 1422518 - Identifier 1422498 1422510 - Identifier 1422511 1422517 - AmpersandAmpersandToken 1422518 1422521 - CallExpression 1422521 1422541 - Identifier 1422521 1422533 - Identifier 1422534 1422540 - ForOfStatement 1422542 1423446 - VariableDeclarationList 1422561 1422577 - VariableDeclaration 1422566 1422577 - Identifier 1422566 1422577 - CallExpression 1422580 1422630 - Identifier 1422580 1422598 - Identifier 1422599 1422609 - Identifier 1422610 1422629 - Block 1422631 1423446 - VariableStatement 1422633 1422687 - VariableDeclarationList 1422633 1422686 - VariableDeclaration 1422656 1422686 - Identifier 1422656 1422661 - PropertyAccessExpression 1422663 1422686 - Identifier 1422663 1422674 - Identifier 1422675 1422686 - IfStatement 1422687 1423431 - BinaryExpression 1422709 1422889 - BinaryExpression 1422709 1422826 - PrefixUnaryExpression 1422709 1422752 - ParenthesizedExpression 1422710 1422752 - BinaryExpression 1422711 1422751 - PropertyAccessExpression 1422711 1422727 - Identifier 1422711 1422721 - Identifier 1422722 1422727 - AmpersandToken 1422727 1422729 - PropertyAccessExpression 1422729 1422751 - Identifier 1422729 1422741 - Identifier 1422742 1422751 - AmpersandAmpersandToken 1422752 1422755 - ParenthesizedExpression 1422755 1422826 - BinaryExpression 1422757 1422825 - BinaryExpression 1422757 1422804 - PrefixUnaryExpression 1422757 1422774 - Identifier 1422758 1422774 - BarBarToken 1422774 1422777 - CallExpression 1422777 1422804 - Identifier 1422777 1422798 - Identifier 1422799 1422803 - BarBarToken 1422804 1422807 - BinaryExpression 1422807 1422825 - Identifier 1422807 1422812 - EqualsEqualsEqualsToken 1422812 1422816 - StringLiteral 1422816 1422825 - AmpersandAmpersandToken 1422826 1422829 - ParenthesizedExpression 1422829 1422889 - BinaryExpression 1422831 1422888 - PrefixUnaryExpression 1422831 1422845 - Identifier 1422832 1422845 - BarBarToken 1422845 1422848 - BinaryExpression 1422848 1422888 - PropertyAccessExpression 1422848 1422865 - Identifier 1422848 1422859 - Identifier 1422860 1422865 - AmpersandToken 1422865 1422867 - PropertyAccessExpression 1422867 1422888 - Identifier 1422867 1422879 - Identifier 1422880 1422888 - Block 1422890 1423431 - VariableStatement 1422892 1422965 - VariableDeclarationList 1422892 1422964 - VariableDeclaration 1422919 1422964 - Identifier 1422919 1422930 - CallExpression 1422932 1422964 - Identifier 1422932 1422950 - Identifier 1422951 1422957 - Identifier 1422958 1422963 - IfStatement 1422965 1423412 - BinaryExpression 1422991 1423030 - Identifier 1422991 1423001 - AmpersandAmpersandToken 1423001 1423004 - BinaryExpression 1423004 1423030 - Identifier 1423004 1423015 - ExclamationEqualsEqualsToken 1423015 1423019 - Identifier 1423019 1423030 - Block 1423031 1423412 - VariableStatement 1423033 1423226 - VariableDeclarationList 1423033 1423225 - VariableDeclaration 1423064 1423225 - Identifier 1423064 1423072 - CallExpression 1423074 1423225 - Identifier 1423074 1423092 - Identifier 1423093 1423099 - Identifier 1423100 1423107 - Identifier 1423108 1423119 - Identifier 1423120 1423131 - Identifier 1423132 1423158 - Identifier 1423159 1423172 - Identifier 1423173 1423191 - BinaryExpression 1423192 1423224 - Identifier 1423192 1423201 - EqualsEqualsEqualsToken 1423201 1423205 - Identifier 1423205 1423224 - IfStatement 1423226 1423345 - PrefixUnaryExpression 1423256 1423264 - Identifier 1423257 1423264 - Block 1423265 1423345 - ReturnStatement 1423267 1423318 - PropertyAccessExpression 1423303 1423317 - Identifier 1423303 1423311 - Identifier 1423312 1423317 - ExpressionStatement 1423345 1423389 - BinaryExpression 1423345 1423388 - Identifier 1423345 1423377 - AmpersandEqualsToken 1423377 1423380 - Identifier 1423380 1423388 - ReturnStatement 1423446 1423474 - Identifier 1423466 1423473 - FunctionDeclaration 1423485 1424670 - Identifier 1423505 1423527 - Parameter 1423528 1423540 - Identifier 1423528 1423534 - TypeReference 1423535 1423540 - Identifier 1423535 1423540 - Parameter 1423541 1423554 - Identifier 1423541 1423548 - TypeReference 1423549 1423554 - Identifier 1423549 1423554 - Parameter 1423555 1423601 - Identifier 1423555 1423574 - UnionType 1423575 1423601 - TypeReference 1423575 1423589 - Identifier 1423575 1423579 - TypeReference 1423580 1423588 - Identifier 1423580 1423588 - UndefinedKeyword 1423591 1423601 - TypeReference 1423603 1423611 - Identifier 1423603 1423611 - Block 1423611 1424670 - IfStatement 1423613 1423757 - PrefixUnaryExpression 1423631 1423700 - ParenthesizedExpression 1423632 1423700 - BinaryExpression 1423633 1423699 - BinaryExpression 1423633 1423664 - PropertyAccessExpression 1423633 1423645 - Identifier 1423633 1423639 - Identifier 1423640 1423645 - AmpersandToken 1423645 1423647 - PropertyAccessExpression 1423647 1423664 - Identifier 1423647 1423657 - Identifier 1423658 1423664 - AmpersandAmpersandToken 1423664 1423667 - BinaryExpression 1423667 1423699 - PropertyAccessExpression 1423667 1423680 - Identifier 1423667 1423674 - Identifier 1423675 1423680 - AmpersandToken 1423680 1423682 - PropertyAccessExpression 1423682 1423699 - Identifier 1423682 1423692 - Identifier 1423693 1423699 - Block 1423701 1423757 - ReturnStatement 1423703 1423742 - PropertyAccessExpression 1423727 1423741 - Identifier 1423727 1423735 - Identifier 1423736 1423741 - VariableStatement 1423757 1423869 - VariableDeclarationList 1423757 1423868 - VariableDeclaration 1423776 1423868 - Identifier 1423776 1423793 - CallExpression 1423795 1423868 - Identifier 1423795 1423813 - CallExpression 1423814 1423847 - Identifier 1423814 1423839 - Identifier 1423840 1423846 - Identifier 1423848 1423867 - VariableStatement 1423869 1423981 - VariableDeclarationList 1423869 1423980 - VariableDeclaration 1423888 1423980 - Identifier 1423888 1423905 - CallExpression 1423907 1423980 - Identifier 1423907 1423925 - CallExpression 1423926 1423959 - Identifier 1423926 1423951 - Identifier 1423952 1423958 - Identifier 1423960 1423979 - IfStatement 1423981 1424107 - BinaryExpression 1423999 1424050 - PropertyAccessExpression 1423999 1424022 - Identifier 1423999 1424015 - Identifier 1424016 1424022 - ExclamationEqualsEqualsToken 1424022 1424026 - PropertyAccessExpression 1424026 1424050 - Identifier 1424026 1424043 - Identifier 1424044 1424050 - Block 1424051 1424107 - ReturnStatement 1424053 1424092 - PropertyAccessExpression 1424077 1424091 - Identifier 1424077 1424085 - Identifier 1424086 1424091 - VariableStatement 1424107 1424147 - VariableDeclarationList 1424107 1424146 - VariableDeclaration 1424124 1424146 - Identifier 1424124 1424131 - PropertyAccessExpression 1424133 1424146 - Identifier 1424133 1424141 - Identifier 1424142 1424146 - ForOfStatement 1424147 1424631 - VariableDeclarationList 1424166 1424182 - VariableDeclaration 1424171 1424182 - Identifier 1424171 1424182 - Identifier 1424185 1424202 - Block 1424203 1424631 - VariableStatement 1424205 1424298 - VariableDeclarationList 1424205 1424297 - VariableDeclaration 1424228 1424297 - Identifier 1424228 1424239 - CallExpression 1424241 1424297 - Identifier 1424241 1424265 - Identifier 1424266 1424272 - PropertyAccessExpression 1424273 1424296 - Identifier 1424273 1424284 - Identifier 1424285 1424296 - IfStatement 1424298 1424396 - PrefixUnaryExpression 1424320 1424331 - Identifier 1424321 1424331 - Block 1424332 1424396 - ReturnStatement 1424334 1424377 - PropertyAccessExpression 1424362 1424376 - Identifier 1424362 1424370 - Identifier 1424371 1424376 - VariableStatement 1424396 1424485 - VariableDeclarationList 1424396 1424484 - VariableDeclaration 1424419 1424484 - Identifier 1424419 1424427 - CallExpression 1424429 1424484 - Identifier 1424429 1424447 - Identifier 1424448 1424458 - Identifier 1424459 1424470 - Identifier 1424471 1424483 - IfStatement 1424485 1424580 - PrefixUnaryExpression 1424507 1424515 - Identifier 1424508 1424515 - Block 1424516 1424580 - ReturnStatement 1424518 1424561 - PropertyAccessExpression 1424546 1424560 - Identifier 1424546 1424554 - Identifier 1424555 1424560 - ExpressionStatement 1424580 1424616 - BinaryExpression 1424580 1424615 - Identifier 1424580 1424604 - AmpersandEqualsToken 1424604 1424607 - Identifier 1424607 1424615 - ReturnStatement 1424631 1424659 - Identifier 1424651 1424658 - FunctionDeclaration 1424670 1431641 - Identifier 1424690 1424710 - Parameter 1424711 1424723 - Identifier 1424711 1424717 - TypeReference 1424718 1424723 - Identifier 1424718 1424723 - Parameter 1424724 1424737 - Identifier 1424724 1424731 - TypeReference 1424732 1424737 - Identifier 1424732 1424737 - Parameter 1424738 1424758 - Identifier 1424738 1424743 - TypeReference 1424744 1424758 - Identifier 1424744 1424758 - Parameter 1424759 1424781 - Identifier 1424759 1424772 - BooleanKeyword 1424773 1424781 - Parameter 1424782 1424819 - Identifier 1424782 1424800 - TypeReference 1424801 1424819 - Identifier 1424801 1424819 - TypeReference 1424821 1424829 - Identifier 1424821 1424829 - Block 1424829 1431641 - IfStatement 1424831 1424965 - BinaryExpression 1424849 1424878 - Identifier 1424849 1424857 - EqualsEqualsEqualsToken 1424857 1424861 - Identifier 1424861 1424878 - Block 1424879 1424965 - ReturnStatement 1424881 1424950 - CallExpression 1424905 1424949 - Identifier 1424905 1424927 - Identifier 1424928 1424934 - Identifier 1424935 1424942 - Identifier 1424943 1424948 - IfStatement 1424965 1425095 - BinaryExpression 1424983 1425039 - BinaryExpression 1424983 1425009 - Identifier 1424983 1424989 - EqualsEqualsEqualsToken 1424989 1424993 - Identifier 1424993 1425009 - BarBarToken 1425009 1425012 - BinaryExpression 1425012 1425039 - Identifier 1425012 1425019 - EqualsEqualsEqualsToken 1425019 1425023 - Identifier 1425023 1425039 - Block 1425040 1425095 - ReturnStatement 1425042 1425080 - PropertyAccessExpression 1425066 1425079 - Identifier 1425066 1425074 - Identifier 1425075 1425079 - VariableStatement 1425095 1425206 - VariableDeclarationList 1425095 1425205 - VariableDeclaration 1425116 1425205 - Identifier 1425116 1425138 - BinaryExpression 1425140 1425205 - PropertyAccessExpression 1425140 1425154 - Identifier 1425140 1425147 - Identifier 1425148 1425154 - AmpersandAmpersandToken 1425154 1425157 - CallExpression 1425157 1425205 - Identifier 1425157 1425173 - PropertyAccessExpression 1425174 1425204 - PropertyAccessExpression 1425174 1425187 - Identifier 1425174 1425180 - Identifier 1425181 1425187 - Identifier 1425188 1425204 - VariableStatement 1425206 1425315 - VariableDeclarationList 1425206 1425314 - VariableDeclaration 1425225 1425314 - Identifier 1425225 1425247 - BinaryExpression 1425249 1425314 - PropertyAccessExpression 1425249 1425263 - Identifier 1425249 1425256 - Identifier 1425257 1425263 - AmpersandAmpersandToken 1425263 1425266 - CallExpression 1425266 1425314 - Identifier 1425266 1425282 - PropertyAccessExpression 1425283 1425313 - PropertyAccessExpression 1425283 1425296 - Identifier 1425283 1425289 - Identifier 1425290 1425296 - Identifier 1425297 1425313 - VariableStatement 1425315 1425544 - VariableDeclarationList 1425315 1425543 - VariableDeclaration 1425336 1425543 - Identifier 1425336 1425353 - CallExpression 1425355 1425543 - Identifier 1425355 1425375 - Identifier 1425376 1425400 - ConditionalExpression 1425401 1425527 - ParenthesizedExpression 1425401 1425478 - BinaryExpression 1425420 1425477 - Identifier 1425420 1425441 - AmpersandAmpersandToken 1425441 1425444 - BinaryExpression 1425444 1425477 - Identifier 1425444 1425449 - EqualsEqualsEqualsToken 1425449 1425453 - PropertyAccessExpression 1425453 1425477 - Identifier 1425453 1425467 - Identifier 1425468 1425477 - QuestionToken 1425478 1425480 - PropertyAccessExpression 1425480 1425520 - Identifier 1425480 1425515 - Identifier 1425516 1425520 - ColonToken 1425520 1425522 - Identifier 1425522 1425527 - VariableStatement 1425544 1425771 - VariableDeclarationList 1425544 1425770 - VariableDeclaration 1425563 1425770 - Identifier 1425563 1425580 - CallExpression 1425582 1425770 - Identifier 1425582 1425602 - Identifier 1425603 1425627 - ConditionalExpression 1425628 1425754 - ParenthesizedExpression 1425628 1425705 - BinaryExpression 1425647 1425704 - Identifier 1425647 1425668 - AmpersandAmpersandToken 1425668 1425671 - BinaryExpression 1425671 1425704 - Identifier 1425671 1425676 - EqualsEqualsEqualsToken 1425676 1425680 - PropertyAccessExpression 1425680 1425704 - Identifier 1425680 1425694 - Identifier 1425695 1425704 - QuestionToken 1425705 1425707 - PropertyAccessExpression 1425707 1425747 - Identifier 1425707 1425742 - Identifier 1425743 1425747 - ColonToken 1425747 1425749 - Identifier 1425749 1425754 - IfStatement 1425771 1426972 - BinaryExpression 1425791 1425877 - BinaryExpression 1425791 1425850 - BinaryExpression 1425791 1425823 - Identifier 1425791 1425795 - EqualsEqualsEqualsToken 1425795 1425799 - PropertyAccessExpression 1425799 1425823 - Identifier 1425799 1425813 - Identifier 1425814 1425823 - AmpersandAmpersandToken 1425823 1425826 - PropertyAccessExpression 1425826 1425850 - Identifier 1425826 1425843 - Identifier 1425844 1425850 - AmpersandAmpersandToken 1425850 1425853 - PropertyAccessExpression 1425853 1425877 - Identifier 1425853 1425870 - Identifier 1425871 1425877 - Block 1425878 1426972 - VariableStatement 1425880 1425979 - VariableDeclarationList 1425880 1425978 - VariableDeclaration 1425903 1425978 - Identifier 1425903 1425920 - PrefixUnaryExpression 1425922 1425978 - PrefixUnaryExpression 1425924 1425978 - ParenthesizedExpression 1425925 1425978 - BinaryExpression 1425926 1425977 - PropertyAccessExpression 1425926 1425951 - ElementAccessExpression 1425926 1425945 - Identifier 1425926 1425942 - NumericLiteral 1425943 1425944 - Identifier 1425946 1425951 - AmpersandToken 1425951 1425953 - PropertyAccessExpression 1425953 1425977 - Identifier 1425953 1425968 - Identifier 1425969 1425977 - VariableStatement 1425979 1426078 - VariableDeclarationList 1425979 1426077 - VariableDeclaration 1426002 1426077 - Identifier 1426002 1426019 - PrefixUnaryExpression 1426021 1426077 - PrefixUnaryExpression 1426023 1426077 - ParenthesizedExpression 1426024 1426077 - BinaryExpression 1426025 1426076 - PropertyAccessExpression 1426025 1426050 - ElementAccessExpression 1426025 1426044 - Identifier 1426025 1426041 - NumericLiteral 1426042 1426043 - Identifier 1426045 1426050 - AmpersandToken 1426050 1426052 - PropertyAccessExpression 1426052 1426076 - Identifier 1426052 1426067 - Identifier 1426068 1426076 - IfStatement 1426078 1426777 - BinaryExpression 1426100 1426137 - Identifier 1426100 1426116 - AmpersandAmpersandToken 1426116 1426119 - PrefixUnaryExpression 1426119 1426137 - Identifier 1426121 1426137 - Block 1426138 1426777 - IfStatement 1426140 1426715 - Identifier 1426548 1426560 - Block 1426561 1426715 - ExpressionStatement 1426563 1426692 - CallExpression 1426563 1426691 - Identifier 1426563 1426600 - PropertyAccessExpression 1426601 1426690 - Identifier 1426601 1426612 - Identifier 1426613 1426690 - ReturnStatement 1426715 1426758 - PropertyAccessExpression 1426743 1426757 - Identifier 1426743 1426751 - Identifier 1426752 1426757 - IfStatement 1426777 1426957 - PrefixUnaryExpression 1426799 1426892 - CallExpression 1426800 1426892 - Identifier 1426800 1426836 - ElementAccessExpression 1426837 1426856 - Identifier 1426837 1426853 - NumericLiteral 1426854 1426855 - ElementAccessExpression 1426857 1426877 - Identifier 1426857 1426874 - NumericLiteral 1426875 1426876 - Identifier 1426878 1426891 - Block 1426893 1426957 - ReturnStatement 1426895 1426938 - PropertyAccessExpression 1426923 1426937 - Identifier 1426923 1426931 - Identifier 1426932 1426937 - VariableStatement 1426972 1427014 - VariableDeclarationList 1426972 1427013 - VariableDeclaration 1426991 1427013 - Identifier 1426991 1426998 - PropertyAccessExpression 1427000 1427013 - Identifier 1427000 1427008 - Identifier 1427009 1427013 - VariableStatement 1427014 1427175 - VariableDeclarationList 1427014 1427174 - VariableDeclaration 1427033 1427174 - Identifier 1427033 1427054 - ConditionalExpression 1427056 1427174 - BinaryExpression 1427056 1427089 - Identifier 1427056 1427061 - EqualsEqualsEqualsToken 1427061 1427065 - PropertyAccessExpression 1427065 1427089 - Identifier 1427065 1427079 - Identifier 1427080 1427089 - QuestionToken 1427089 1427091 - Identifier 1427091 1427134 - ColonToken 1427134 1427136 - Identifier 1427136 1427174 - VariableStatement 1427175 1427238 - VariableDeclarationList 1427175 1427237 - VariableDeclaration 1427194 1427237 - Identifier 1427194 1427212 - CallExpression 1427214 1427237 - Identifier 1427214 1427229 - Identifier 1427230 1427236 - VariableStatement 1427238 1427301 - VariableDeclarationList 1427238 1427300 - VariableDeclaration 1427257 1427300 - Identifier 1427257 1427275 - CallExpression 1427277 1427300 - Identifier 1427277 1427292 - Identifier 1427293 1427299 - IfStatement 1427301 1431602 - BinaryExpression 1427319 1427644 - BinaryExpression 1427319 1427464 - BinaryExpression 1427319 1427429 - BinaryExpression 1427319 1427381 - Identifier 1427319 1427354 - AmpersandToken 1427354 1427356 - PropertyAccessExpression 1427356 1427381 - Identifier 1427356 1427368 - Identifier 1427369 1427381 - AmpersandAmpersandToken 1427381 1427384 - BinaryExpression 1427384 1427429 - Identifier 1427384 1427402 - AmpersandToken 1427402 1427404 - PropertyAccessExpression 1427404 1427429 - Identifier 1427404 1427416 - Identifier 1427417 1427429 - AmpersandAmpersandToken 1427429 1427432 - BinaryExpression 1427432 1427464 - PropertyAccessExpression 1427432 1427446 - Identifier 1427432 1427439 - Identifier 1427440 1427446 - EqualsEqualsEqualsToken 1427446 1427450 - PropertyAccessExpression 1427450 1427464 - Identifier 1427450 1427457 - Identifier 1427458 1427464 - BarBarToken 1427464 1427467 - BinaryExpression 1427467 1427644 - BinaryExpression 1427467 1427571 - BinaryExpression 1427467 1427526 - Identifier 1427467 1427502 - AmpersandToken 1427502 1427504 - PropertyAccessExpression 1427504 1427526 - Identifier 1427504 1427516 - Identifier 1427517 1427526 - AmpersandAmpersandToken 1427526 1427529 - BinaryExpression 1427529 1427571 - Identifier 1427529 1427547 - AmpersandToken 1427547 1427549 - PropertyAccessExpression 1427549 1427571 - Identifier 1427549 1427561 - Identifier 1427562 1427571 - AmpersandAmpersandToken 1427571 1427574 - BinaryExpression 1427574 1427644 - PropertyAccessExpression 1427574 1427607 - ParenthesizedExpression 1427574 1427600 - AsExpression 1427576 1427599 - Identifier 1427576 1427582 - TypeReference 1427585 1427599 - Identifier 1427585 1427599 - Identifier 1427601 1427607 - EqualsEqualsEqualsToken 1427607 1427611 - PropertyAccessExpression 1427611 1427644 - ParenthesizedExpression 1427611 1427637 - AsExpression 1427613 1427636 - Identifier 1427613 1427619 - TypeReference 1427622 1427636 - Identifier 1427622 1427636 - Identifier 1427638 1427644 - Block 1427659 1428607 - ExpressionStatement 1427661 1428145 - CallExpression 1427661 1428144 - PropertyAccessExpression 1427661 1428094 - Identifier 1427661 1428082 - Identifier 1428083 1428094 - PropertyAccessExpression 1428095 1428118 - Identifier 1428095 1428111 - Identifier 1428112 1428118 - PropertyAccessExpression 1428119 1428143 - Identifier 1428119 1428136 - Identifier 1428137 1428143 - ForStatement 1428145 1428592 - VariableDeclarationList 1428168 1428177 - VariableDeclaration 1428171 1428177 - Identifier 1428171 1428173 - NumericLiteral 1428175 1428177 - BinaryExpression 1428178 1428206 - Identifier 1428178 1428180 - LessThanToken 1428180 1428182 - PropertyAccessExpression 1428182 1428206 - Identifier 1428182 1428199 - Identifier 1428200 1428206 - PostfixUnaryExpression 1428207 1428211 - Identifier 1428207 1428209 - Block 1428212 1428592 - VariableStatement 1428214 1428426 - VariableDeclarationList 1428214 1428425 - VariableDeclaration 1428241 1428425 - Identifier 1428241 1428249 - CallExpression 1428251 1428425 - Identifier 1428251 1428270 - ElementAccessExpression 1428271 1428290 - Identifier 1428271 1428287 - Identifier 1428288 1428289 - ElementAccessExpression 1428291 1428311 - Identifier 1428291 1428308 - Identifier 1428309 1428310 - TrueKeyword 1428312 1428327 - Identifier 1428328 1428341 - Identifier 1428342 1428360 - CallExpression 1428361 1428424 - Identifier 1428361 1428382 - ElementAccessExpression 1428383 1428402 - Identifier 1428383 1428399 - Identifier 1428400 1428401 - ElementAccessExpression 1428403 1428423 - Identifier 1428403 1428420 - Identifier 1428421 1428422 - IfStatement 1428426 1428533 - PrefixUnaryExpression 1428452 1428460 - Identifier 1428453 1428460 - Block 1428461 1428533 - ReturnStatement 1428463 1428510 - PropertyAccessExpression 1428495 1428509 - Identifier 1428495 1428503 - Identifier 1428504 1428509 - ExpressionStatement 1428533 1428573 - BinaryExpression 1428533 1428572 - Identifier 1428533 1428561 - AmpersandEqualsToken 1428561 1428564 - Identifier 1428564 1428572 - IfStatement 1428625 1431602 - BinaryExpression 1428630 1428692 - BinaryExpression 1428630 1428659 - PropertyAccessExpression 1428630 1428653 - Identifier 1428630 1428646 - Identifier 1428647 1428653 - EqualsEqualsEqualsToken 1428653 1428657 - NumericLiteral 1428657 1428659 - AmpersandAmpersandToken 1428659 1428662 - BinaryExpression 1428662 1428692 - PropertyAccessExpression 1428662 1428686 - Identifier 1428662 1428679 - Identifier 1428680 1428686 - EqualsEqualsEqualsToken 1428686 1428690 - NumericLiteral 1428690 1428692 - Block 1428693 1430436 - VariableStatement 1428695 1429270 - VariableDeclarationList 1428695 1429269 - VariableDeclaration 1429221 1429269 - Identifier 1429221 1429235 - BinaryExpression 1429237 1429269 - Identifier 1429237 1429246 - EqualsEqualsEqualsToken 1429246 1429250 - Identifier 1429250 1429269 - VariableStatement 1429270 1429336 - VariableDeclarationList 1429270 1429335 - VariableDeclaration 1429293 1429335 - Identifier 1429293 1429309 - CallExpression 1429311 1429335 - Identifier 1429311 1429317 - Identifier 1429318 1429334 - VariableStatement 1429336 1429402 - VariableDeclarationList 1429336 1429401 - VariableDeclaration 1429359 1429401 - Identifier 1429359 1429375 - CallExpression 1429377 1429401 - Identifier 1429377 1429383 - Identifier 1429384 1429400 - ExpressionStatement 1429402 1429586 - BinaryExpression 1429402 1429585 - Identifier 1429402 1429426 - EqualsToken 1429426 1429428 - CallExpression 1429428 1429585 - Identifier 1429428 1429447 - Identifier 1429448 1429463 - Identifier 1429464 1429480 - Identifier 1429481 1429495 - Identifier 1429496 1429509 - Identifier 1429510 1429528 - CallExpression 1429529 1429584 - Identifier 1429529 1429550 - Identifier 1429551 1429566 - Identifier 1429567 1429583 - IfStatement 1429586 1430421 - BinaryExpression 1429608 1429883 - BinaryExpression 1429608 1429732 - BinaryExpression 1429608 1429689 - BinaryExpression 1429608 1429653 - PrefixUnaryExpression 1429608 1429637 - Identifier 1429631 1429637 - AmpersandAmpersandToken 1429637 1429640 - Identifier 1429640 1429653 - AmpersandAmpersandToken 1429653 1429656 - BinaryExpression 1429656 1429689 - Identifier 1429656 1429661 - EqualsEqualsEqualsToken 1429661 1429665 - PropertyAccessExpression 1429665 1429689 - Identifier 1429665 1429679 - Identifier 1429680 1429689 - AmpersandAmpersandToken 1429689 1429692 - ParenthesizedExpression 1429692 1429732 - BinaryExpression 1429694 1429731 - Identifier 1429694 1429711 - AmpersandToken 1429711 1429713 - Identifier 1429713 1429731 - AmpersandAmpersandToken 1429732 1429735 - ParenthesizedExpression 1429735 1429883 - BinaryExpression 1429758 1429882 - BinaryExpression 1429758 1429818 - PropertyAccessExpression 1429758 1429791 - PropertyAccessExpression 1429758 1429785 - Identifier 1429758 1429773 - Identifier 1429774 1429785 - QuestionDotToken 1429785 1429787 - Identifier 1429787 1429791 - EqualsEqualsEqualsToken 1429791 1429795 - PropertyAccessExpression 1429795 1429818 - Identifier 1429795 1429806 - Identifier 1429807 1429818 - BarBarToken 1429818 1429821 - BinaryExpression 1429821 1429882 - PropertyAccessExpression 1429821 1429855 - PropertyAccessExpression 1429821 1429849 - Identifier 1429821 1429837 - Identifier 1429838 1429849 - QuestionDotToken 1429849 1429851 - Identifier 1429851 1429855 - EqualsEqualsEqualsToken 1429855 1429859 - PropertyAccessExpression 1429859 1429882 - Identifier 1429859 1429870 - Identifier 1429871 1429882 - Block 1429902 1430421 - VariableStatement 1429904 1430100 - VariableDeclarationList 1429904 1430099 - VariableDeclaration 1429931 1430099 - Identifier 1429931 1429958 - ArrowFunction 1429960 1430099 - Parameter 1429962 1429982 - Identifier 1429962 1429971 - TypeReference 1429972 1429982 - Identifier 1429972 1429982 - EqualsGreaterThanToken 1429983 1429986 - CallExpression 1429986 1430099 - Identifier 1429986 1430004 - Identifier 1430005 1430014 - Identifier 1430015 1430050 - PropertyAccessExpression 1430051 1430092 - Identifier 1430051 1430067 - Identifier 1430068 1430092 - Identifier 1430093 1430098 - ExpressionStatement 1430100 1430272 - CallExpression 1430100 1430271 - Identifier 1430100 1430133 - PropertyAccessExpression 1430134 1430180 - Identifier 1430134 1430145 - Identifier 1430146 1430180 - CallExpression 1430181 1430225 - Identifier 1430181 1430208 - Identifier 1430209 1430224 - CallExpression 1430226 1430270 - Identifier 1430226 1430253 - Identifier 1430254 1430269 - ExpressionStatement 1430272 1430366 - CallExpression 1430272 1430365 - Identifier 1430272 1430305 - PropertyAccessExpression 1430306 1430364 - Identifier 1430306 1430317 - Identifier 1430318 1430364 - ReturnStatement 1430366 1430402 - Identifier 1430394 1430401 - Block 1430454 1431602 - LabeledStatement 1430456 1431587 - Identifier 1430456 1430479 - ForOfStatement 1430480 1431587 - VariableDeclarationList 1430503 1430510 - VariableDeclaration 1430508 1430510 - Identifier 1430508 1430510 - Identifier 1430513 1430530 - Block 1430531 1431587 - VariableStatement 1430533 1430608 - VariableDeclarationList 1430533 1430607 - VariableDeclaration 1430560 1430607 - Identifier 1430560 1430574 - CallExpression 1430576 1430607 - Identifier 1430576 1430605 - VariableStatement 1430608 1430740 - VariableDeclarationList 1430608 1430739 - VariableDeclaration 1430702 1430739 - Identifier 1430702 1430724 - Identifier 1430726 1430739 - ForOfStatement 1430740 1431249 - VariableDeclarationList 1430767 1430774 - VariableDeclaration 1430772 1430774 - Identifier 1430772 1430774 - Identifier 1430777 1430794 - Block 1430795 1431249 - VariableStatement 1430797 1430950 - VariableDeclarationList 1430797 1430949 - VariableDeclaration 1430828 1430949 - Identifier 1430828 1430836 - CallExpression 1430838 1430949 - Identifier 1430838 1430857 - Identifier 1430858 1430859 - Identifier 1430860 1430862 - TrueKeyword 1430863 1430878 - Identifier 1430879 1430901 - Identifier 1430902 1430920 - CallExpression 1430921 1430948 - Identifier 1430921 1430942 - Identifier 1430943 1430944 - Identifier 1430945 1430947 - IfStatement 1430950 1431170 - Identifier 1430980 1430987 - Block 1430988 1431170 - ExpressionStatement 1430990 1431038 - BinaryExpression 1430990 1431037 - Identifier 1430990 1431026 - AmpersandEqualsToken 1431026 1431029 - Identifier 1431029 1431037 - ExpressionStatement 1431038 1431098 - CallExpression 1431038 1431097 - Identifier 1431038 1431082 - Identifier 1431083 1431096 - ContinueStatement 1431098 1431143 - Identifier 1431136 1431142 - ExpressionStatement 1431170 1431226 - BinaryExpression 1431170 1431225 - Identifier 1431170 1431217 - EqualsToken 1431217 1431219 - FalseKeyword 1431219 1431225 - IfStatement 1431249 1431525 - Identifier 1431275 1431296 - Block 1431297 1431525 - ExpressionStatement 1431299 1431502 - CallExpression 1431299 1431501 - Identifier 1431299 1431336 - PropertyAccessExpression 1431337 1431393 - Identifier 1431337 1431348 - Identifier 1431349 1431393 - CallExpression 1431394 1431415 - Identifier 1431394 1431407 - Identifier 1431408 1431414 - CallExpression 1431416 1431500 - Identifier 1431416 1431434 - Identifier 1431435 1431436 - Identifier 1431437 1431472 - Identifier 1431473 1431493 - Identifier 1431494 1431499 - ReturnStatement 1431525 1431568 - PropertyAccessExpression 1431553 1431567 - Identifier 1431553 1431561 - Identifier 1431562 1431567 - ReturnStatement 1431602 1431630 - Identifier 1431622 1431629 - FunctionDeclaration 1431641 1432615 - Identifier 1431661 1431696 - Parameter 1431697 1431709 - Identifier 1431697 1431703 - TypeReference 1431704 1431709 - Identifier 1431704 1431709 - Parameter 1431710 1431723 - Identifier 1431710 1431717 - TypeReference 1431718 1431723 - Identifier 1431718 1431723 - BooleanKeyword 1431725 1431733 - Block 1431733 1432615 - VariableStatement 1431735 1431834 - VariableDeclarationList 1431735 1431833 - VariableDeclaration 1431754 1431833 - Identifier 1431754 1431773 - CallExpression 1431775 1431833 - Identifier 1431775 1431805 - Identifier 1431806 1431812 - PropertyAccessExpression 1431813 1431832 - Identifier 1431813 1431827 - Identifier 1431828 1431832 - VariableStatement 1431834 1431943 - VariableDeclarationList 1431834 1431942 - VariableDeclaration 1431853 1431942 - Identifier 1431853 1431877 - CallExpression 1431879 1431942 - Identifier 1431879 1431909 - Identifier 1431910 1431916 - PropertyAccessExpression 1431917 1431941 - Identifier 1431917 1431931 - Identifier 1431932 1431941 - VariableStatement 1431943 1432014 - VariableDeclarationList 1431943 1432013 - VariableDeclaration 1431962 1432013 - Identifier 1431962 1431977 - CallExpression 1431979 1432013 - Identifier 1431979 1432005 - Identifier 1432006 1432012 - IfStatement 1432014 1432578 - BinaryExpression 1432032 1432119 - ParenthesizedExpression 1432032 1432093 - BinaryExpression 1432033 1432092 - PropertyAccessExpression 1432033 1432058 - Identifier 1432033 1432051 - Identifier 1432052 1432058 - BarBarToken 1432058 1432061 - PropertyAccessExpression 1432061 1432092 - Identifier 1432061 1432085 - Identifier 1432086 1432092 - AmpersandAmpersandToken 1432093 1432096 - PrefixUnaryExpression 1432096 1432119 - PropertyAccessExpression 1432098 1432119 - Identifier 1432098 1432112 - Identifier 1432113 1432119 - Block 1432120 1432578 - IfStatement 1432122 1432532 - BinaryExpression 1432144 1432371 - ParenthesizedExpression 1432144 1432251 - BinaryExpression 1432167 1432250 - PropertyAccessExpression 1432167 1432221 - CallExpression 1432167 1432214 - Identifier 1432167 1432186 - Identifier 1432187 1432193 - PropertyAccessExpression 1432194 1432213 - Identifier 1432194 1432208 - Identifier 1432209 1432213 - Identifier 1432215 1432221 - AmpersandAmpersandToken 1432221 1432224 - PropertyAccessExpression 1432224 1432250 - Identifier 1432224 1432243 - Identifier 1432244 1432250 - BarBarToken 1432251 1432254 - ParenthesizedExpression 1432254 1432371 - BinaryExpression 1432277 1432370 - PropertyAccessExpression 1432277 1432336 - CallExpression 1432277 1432329 - Identifier 1432277 1432296 - Identifier 1432297 1432303 - PropertyAccessExpression 1432304 1432328 - Identifier 1432304 1432318 - Identifier 1432319 1432328 - Identifier 1432330 1432336 - AmpersandAmpersandToken 1432336 1432339 - PropertyAccessExpression 1432339 1432370 - Identifier 1432339 1432363 - Identifier 1432364 1432370 - Block 1432390 1432532 - ReturnStatement 1432392 1432426 - TrueKeyword 1432420 1432425 - ReturnStatement 1432532 1432563 - FalseKeyword 1432556 1432562 - ReturnStatement 1432578 1432604 - TrueKeyword 1432598 1432603 - FunctionDeclaration 1432615 1433214 - Identifier 1432635 1432673 - Parameter 1432674 1432689 - Identifier 1432674 1432678 - TypeReference 1432679 1432689 - Identifier 1432679 1432689 - Parameter 1432690 1432706 - Identifier 1432690 1432695 - TypeReference 1432696 1432706 - Identifier 1432696 1432706 - Block 1432707 1433214 - IfStatement 1432709 1433016 - BinaryExpression 1432727 1432787 - BinaryExpression 1432727 1432755 - PropertyAccessExpression 1432727 1432749 - PropertyAccessExpression 1432727 1432742 - Identifier 1432727 1432731 - Identifier 1432732 1432742 - Identifier 1432743 1432749 - EqualsEqualsEqualsToken 1432749 1432753 - NumericLiteral 1432753 1432755 - AmpersandAmpersandToken 1432755 1432758 - BinaryExpression 1432758 1432787 - PropertyAccessExpression 1432758 1432781 - PropertyAccessExpression 1432758 1432774 - Identifier 1432758 1432763 - Identifier 1432764 1432774 - Identifier 1432775 1432781 - EqualsEqualsEqualsToken 1432781 1432785 - NumericLiteral 1432785 1432787 - Block 1432788 1433016 - ReturnStatement 1432790 1433001 - ArrowFunction 1432814 1433000 - Parameter 1432816 1432828 - Identifier 1432816 1432822 - TypeReference 1432823 1432828 - Identifier 1432823 1432828 - Parameter 1432829 1432842 - Identifier 1432829 1432836 - TypeReference 1432837 1432842 - Identifier 1432837 1432842 - EqualsGreaterThanToken 1432843 1432846 - CallExpression 1432846 1433000 - Identifier 1432846 1432870 - PropertyAccessExpression 1432871 1432955 - Identifier 1432871 1432882 - Identifier 1432883 1432955 - CallExpression 1432956 1432977 - Identifier 1432956 1432969 - Identifier 1432970 1432976 - CallExpression 1432978 1432999 - Identifier 1432978 1432991 - Identifier 1432992 1432998 - ReturnStatement 1433016 1433203 - ArrowFunction 1433036 1433202 - Parameter 1433038 1433050 - Identifier 1433038 1433044 - TypeReference 1433045 1433050 - Identifier 1433045 1433050 - Parameter 1433051 1433064 - Identifier 1433051 1433058 - TypeReference 1433059 1433064 - Identifier 1433059 1433064 - EqualsGreaterThanToken 1433065 1433068 - CallExpression 1433068 1433202 - Identifier 1433068 1433092 - PropertyAccessExpression 1433093 1433157 - Identifier 1433093 1433104 - Identifier 1433105 1433157 - CallExpression 1433158 1433179 - Identifier 1433158 1433171 - Identifier 1433172 1433178 - CallExpression 1433180 1433201 - Identifier 1433180 1433193 - Identifier 1433194 1433200 - FunctionDeclaration 1433214 1433828 - Identifier 1433234 1433277 - Parameter 1433278 1433293 - Identifier 1433278 1433282 - TypeReference 1433283 1433293 - Identifier 1433283 1433293 - Parameter 1433294 1433310 - Identifier 1433294 1433299 - TypeReference 1433300 1433310 - Identifier 1433300 1433310 - Block 1433311 1433828 - IfStatement 1433313 1433625 - BinaryExpression 1433331 1433391 - BinaryExpression 1433331 1433359 - PropertyAccessExpression 1433331 1433353 - PropertyAccessExpression 1433331 1433346 - Identifier 1433331 1433335 - Identifier 1433336 1433346 - Identifier 1433347 1433353 - EqualsEqualsEqualsToken 1433353 1433357 - NumericLiteral 1433357 1433359 - AmpersandAmpersandToken 1433359 1433362 - BinaryExpression 1433362 1433391 - PropertyAccessExpression 1433362 1433385 - PropertyAccessExpression 1433362 1433378 - Identifier 1433362 1433367 - Identifier 1433368 1433378 - Identifier 1433379 1433385 - EqualsEqualsEqualsToken 1433385 1433389 - NumericLiteral 1433389 1433391 - Block 1433392 1433625 - ReturnStatement 1433394 1433610 - ArrowFunction 1433418 1433609 - Parameter 1433420 1433432 - Identifier 1433420 1433426 - TypeReference 1433427 1433432 - Identifier 1433427 1433432 - Parameter 1433433 1433446 - Identifier 1433433 1433440 - TypeReference 1433441 1433446 - Identifier 1433441 1433446 - EqualsGreaterThanToken 1433447 1433450 - CallExpression 1433450 1433609 - Identifier 1433450 1433474 - PropertyAccessExpression 1433475 1433564 - Identifier 1433475 1433486 - Identifier 1433487 1433564 - CallExpression 1433565 1433586 - Identifier 1433565 1433578 - Identifier 1433579 1433585 - CallExpression 1433587 1433608 - Identifier 1433587 1433600 - Identifier 1433601 1433607 - ReturnStatement 1433625 1433817 - ArrowFunction 1433645 1433816 - Parameter 1433647 1433659 - Identifier 1433647 1433653 - TypeReference 1433654 1433659 - Identifier 1433654 1433659 - Parameter 1433660 1433673 - Identifier 1433660 1433667 - TypeReference 1433668 1433673 - Identifier 1433668 1433673 - EqualsGreaterThanToken 1433674 1433677 - CallExpression 1433677 1433816 - Identifier 1433677 1433701 - PropertyAccessExpression 1433702 1433771 - Identifier 1433702 1433713 - Identifier 1433714 1433771 - CallExpression 1433772 1433793 - Identifier 1433772 1433785 - Identifier 1433786 1433792 - CallExpression 1433794 1433815 - Identifier 1433794 1433807 - Identifier 1433808 1433814 - FunctionDeclaration 1433828 1434909 - Identifier 1433940 1433959 - Parameter 1433960 1433977 - Identifier 1433960 1433966 - TypeReference 1433967 1433977 - Identifier 1433967 1433977 - Parameter 1433978 1433996 - Identifier 1433978 1433985 - TypeReference 1433986 1433996 - Identifier 1433986 1433996 - Parameter 1433997 1434012 - Identifier 1433997 1434003 - BooleanKeyword 1434004 1434012 - Parameter 1434013 1434035 - Identifier 1434013 1434026 - BooleanKeyword 1434027 1434035 - Parameter 1434036 1434073 - Identifier 1434036 1434054 - TypeReference 1434055 1434073 - Identifier 1434055 1434073 - Parameter 1434074 1434133 - Identifier 1434074 1434095 - FunctionType 1434096 1434133 - Parameter 1434098 1434110 - Identifier 1434098 1434104 - TypeReference 1434105 1434110 - Identifier 1434105 1434110 - Parameter 1434111 1434124 - Identifier 1434111 1434118 - TypeReference 1434119 1434124 - Identifier 1434119 1434124 - VoidKeyword 1434128 1434133 - TypeReference 1434135 1434143 - Identifier 1434135 1434143 - Block 1434143 1434909 - VariableStatement 1434145 1434416 - VariableDeclarationList 1434145 1434415 - VariableDeclaration 1434164 1434415 - Identifier 1434164 1434174 - ConditionalExpression 1434176 1434415 - BinaryExpression 1434176 1434205 - Identifier 1434176 1434185 - EqualsEqualsEqualsToken 1434185 1434189 - Identifier 1434189 1434205 - QuestionToken 1434205 1434207 - PropertyAccessExpression 1434207 1434245 - Identifier 1434207 1434226 - Identifier 1434227 1434245 - ColonToken 1434245 1434247 - ConditionalExpression 1434247 1434415 - BinaryExpression 1434247 1434299 - Identifier 1434247 1434273 - EqualsEqualsEqualsToken 1434273 1434277 - Identifier 1434277 1434299 - QuestionToken 1434299 1434301 - BinaryExpression 1434301 1434372 - PropertyAccessExpression 1434301 1434339 - Identifier 1434301 1434320 - Identifier 1434321 1434339 - BarToken 1434339 1434341 - PropertyAccessExpression 1434341 1434372 - Identifier 1434341 1434360 - Identifier 1434361 1434372 - ColonToken 1434372 1434374 - PropertyAccessExpression 1434374 1434415 - Identifier 1434374 1434410 - Identifier 1434411 1434415 - ReturnStatement 1434416 1434655 - CallExpression 1434436 1434654 - Identifier 1434436 1434461 - ConditionalExpression 1434462 1434505 - Identifier 1434462 1434467 - QuestionToken 1434467 1434469 - CallExpression 1434469 1434496 - Identifier 1434469 1434488 - Identifier 1434489 1434495 - ColonToken 1434496 1434498 - Identifier 1434498 1434505 - ConditionalExpression 1434506 1434550 - Identifier 1434506 1434512 - QuestionToken 1434512 1434514 - CallExpression 1434514 1434541 - Identifier 1434514 1434533 - Identifier 1434534 1434540 - ColonToken 1434541 1434543 - Identifier 1434543 1434550 - Identifier 1434551 1434561 - Identifier 1434562 1434575 - Identifier 1434576 1434588 - Identifier 1434589 1434610 - Identifier 1434611 1434629 - Identifier 1434630 1434653 - FunctionDeclaration 1434655 1434898 - Identifier 1434677 1434695 - Parameter 1434696 1434708 - Identifier 1434696 1434702 - TypeReference 1434703 1434708 - Identifier 1434703 1434708 - Parameter 1434709 1434722 - Identifier 1434709 1434716 - TypeReference 1434717 1434722 - Identifier 1434717 1434722 - Parameter 1434723 1434746 - Identifier 1434723 1434736 - QuestionToken 1434736 1434737 - BooleanKeyword 1434738 1434746 - Block 1434747 1434898 - ReturnStatement 1434749 1434883 - CallExpression 1434773 1434882 - Identifier 1434773 1434785 - Identifier 1434786 1434792 - Identifier 1434793 1434800 - PropertyAccessExpression 1434801 1434821 - Identifier 1434801 1434816 - Identifier 1434817 1434821 - Identifier 1434822 1434835 - Identifier 1434836 1434862 - Identifier 1434863 1434881 - FunctionDeclaration 1434909 1435769 - Identifier 1434929 1434951 - Parameter 1434952 1434964 - Identifier 1434952 1434958 - TypeReference 1434959 1434964 - Identifier 1434959 1434964 - Parameter 1434965 1434978 - Identifier 1434965 1434972 - TypeReference 1434973 1434978 - Identifier 1434973 1434978 - Parameter 1434979 1434999 - Identifier 1434979 1434984 - TypeReference 1434985 1434999 - Identifier 1434985 1434999 - TypeReference 1435001 1435009 - Identifier 1435001 1435009 - Block 1435009 1435769 - VariableStatement 1435011 1435084 - VariableDeclarationList 1435011 1435083 - VariableDeclaration 1435030 1435083 - Identifier 1435030 1435047 - CallExpression 1435049 1435083 - Identifier 1435049 1435069 - Identifier 1435070 1435076 - Identifier 1435077 1435082 - VariableStatement 1435084 1435157 - VariableDeclarationList 1435084 1435156 - VariableDeclaration 1435103 1435156 - Identifier 1435103 1435120 - CallExpression 1435122 1435156 - Identifier 1435122 1435142 - Identifier 1435143 1435149 - Identifier 1435150 1435155 - IfStatement 1435157 1435283 - BinaryExpression 1435175 1435226 - PropertyAccessExpression 1435175 1435198 - Identifier 1435175 1435191 - Identifier 1435192 1435198 - ExclamationEqualsEqualsToken 1435198 1435202 - PropertyAccessExpression 1435202 1435226 - Identifier 1435202 1435219 - Identifier 1435220 1435226 - Block 1435227 1435283 - ReturnStatement 1435229 1435268 - PropertyAccessExpression 1435253 1435267 - Identifier 1435253 1435261 - Identifier 1435262 1435267 - VariableStatement 1435283 1435323 - VariableDeclarationList 1435283 1435322 - VariableDeclaration 1435300 1435322 - Identifier 1435300 1435307 - PropertyAccessExpression 1435309 1435322 - Identifier 1435309 1435317 - Identifier 1435318 1435322 - ForStatement 1435323 1435730 - VariableDeclarationList 1435342 1435351 - VariableDeclaration 1435345 1435351 - Identifier 1435345 1435347 - NumericLiteral 1435349 1435351 - BinaryExpression 1435352 1435380 - Identifier 1435352 1435354 - LessThanToken 1435354 1435356 - PropertyAccessExpression 1435356 1435380 - Identifier 1435356 1435373 - Identifier 1435374 1435380 - PostfixUnaryExpression 1435381 1435385 - Identifier 1435381 1435383 - Block 1435386 1435730 - VariableStatement 1435388 1435584 - VariableDeclarationList 1435388 1435583 - VariableDeclaration 1435411 1435583 - Identifier 1435411 1435419 - CallExpression 1435421 1435583 - Identifier 1435421 1435448 - ElementAccessExpression 1435449 1435468 - Identifier 1435449 1435465 - Identifier 1435466 1435467 - ElementAccessExpression 1435469 1435489 - Identifier 1435469 1435486 - Identifier 1435487 1435488 - FalseKeyword 1435490 1435513 - FalseKeyword 1435514 1435540 - FalseKeyword 1435541 1435569 - Identifier 1435570 1435582 - IfStatement 1435584 1435679 - PrefixUnaryExpression 1435606 1435614 - Identifier 1435607 1435614 - Block 1435615 1435679 - ReturnStatement 1435617 1435660 - PropertyAccessExpression 1435645 1435659 - Identifier 1435645 1435653 - Identifier 1435654 1435659 - ExpressionStatement 1435679 1435715 - BinaryExpression 1435679 1435714 - Identifier 1435679 1435703 - AmpersandEqualsToken 1435703 1435706 - Identifier 1435706 1435714 - ReturnStatement 1435730 1435758 - Identifier 1435750 1435757 - FunctionDeclaration 1435769 1437875 - Identifier 1435789 1435815 - Parameter 1435816 1435828 - Identifier 1435816 1435822 - TypeReference 1435823 1435828 - Identifier 1435823 1435828 - Parameter 1435829 1435851 - Identifier 1435829 1435840 - TypeReference 1435841 1435851 - Identifier 1435841 1435851 - Parameter 1435852 1435874 - Identifier 1435852 1435865 - BooleanKeyword 1435866 1435874 - Parameter 1435875 1435912 - Identifier 1435875 1435893 - TypeReference 1435894 1435912 - Identifier 1435894 1435912 - TypeReference 1435914 1435922 - Identifier 1435914 1435922 - Block 1435922 1437875 - VariableStatement 1435924 1435964 - VariableDeclarationList 1435924 1435963 - VariableDeclaration 1435941 1435963 - Identifier 1435941 1435948 - PropertyAccessExpression 1435950 1435963 - Identifier 1435950 1435958 - Identifier 1435959 1435963 - VariableStatement 1435964 1436013 - VariableDeclarationList 1435964 1436012 - VariableDeclaration 1435983 1436012 - Identifier 1435983 1435991 - PropertyAccessExpression 1435993 1436012 - Identifier 1435993 1436004 - Identifier 1436005 1436012 - VariableStatement 1436013 1436184 - VariableDeclarationList 1436013 1436183 - VariableDeclaration 1436032 1436183 - Identifier 1436032 1436038 - ConditionalExpression 1436040 1436183 - BinaryExpression 1436040 1436078 - PropertyAccessExpression 1436040 1436053 - Identifier 1436040 1436047 - Identifier 1436048 1436053 - AmpersandToken 1436053 1436055 - PropertyAccessExpression 1436055 1436078 - Identifier 1436055 1436065 - Identifier 1436066 1436078 - QuestionToken 1436078 1436080 - CallExpression 1436080 1436147 - Identifier 1436080 1436119 - AsExpression 1436120 1436146 - Identifier 1436120 1436126 - TypeReference 1436129 1436146 - Identifier 1436129 1436146 - ColonToken 1436147 1436149 - CallExpression 1436149 1436183 - Identifier 1436149 1436175 - Identifier 1436176 1436182 - ForOfStatement 1436184 1437415 - VariableDeclarationList 1436203 1436213 - VariableDeclaration 1436208 1436213 - Identifier 1436208 1436213 - Identifier 1436216 1436222 - Block 1436223 1437415 - IfStatement 1436225 1436401 - CallExpression 1436314 1436348 - Identifier 1436314 1436334 - Identifier 1436335 1436341 - Identifier 1436342 1436347 - Block 1436349 1436401 - ContinueStatement 1436351 1436382 - IfStatement 1436401 1437400 - CallExpression 1436423 1436528 - Identifier 1436423 1436444 - CallExpression 1436445 1436518 - Identifier 1436445 1436471 - Identifier 1436472 1436476 - PropertyAccessExpression 1436477 1436517 - Identifier 1436477 1436487 - Identifier 1436488 1436517 - Identifier 1436519 1436527 - Block 1436529 1437400 - VariableStatement 1436531 1436602 - VariableDeclarationList 1436531 1436601 - VariableDeclaration 1436558 1436601 - Identifier 1436558 1436567 - CallExpression 1436569 1436601 - Identifier 1436569 1436595 - Identifier 1436596 1436600 - VariableStatement 1436602 1436883 - VariableDeclarationList 1436602 1436882 - VariableDeclaration 1436629 1436882 - Identifier 1436629 1436634 - ConditionalExpression 1436636 1436882 - BinaryExpression 1436636 1436769 - BinaryExpression 1436636 1436729 - BinaryExpression 1436636 1436703 - Identifier 1436636 1436663 - BarBarToken 1436663 1436666 - BinaryExpression 1436666 1436703 - PropertyAccessExpression 1436666 1436681 - Identifier 1436666 1436675 - Identifier 1436676 1436681 - AmpersandToken 1436681 1436683 - PropertyAccessExpression 1436683 1436703 - Identifier 1436683 1436693 - Identifier 1436694 1436703 - BarBarToken 1436703 1436706 - BinaryExpression 1436706 1436729 - Identifier 1436706 1436714 - EqualsEqualsEqualsToken 1436714 1436718 - Identifier 1436718 1436729 - BarBarToken 1436729 1436732 - PrefixUnaryExpression 1436732 1436769 - ParenthesizedExpression 1436734 1436769 - BinaryExpression 1436735 1436768 - PropertyAccessExpression 1436735 1436745 - Identifier 1436735 1436739 - Identifier 1436740 1436745 - AmpersandToken 1436745 1436747 - PropertyAccessExpression 1436747 1436768 - Identifier 1436747 1436759 - Identifier 1436760 1436768 - QuestionToken 1436769 1436796 - Identifier 1436796 1436805 - ColonToken 1436805 1436832 - CallExpression 1436832 1436882 - Identifier 1436832 1436849 - Identifier 1436850 1436858 - PropertyAccessExpression 1436859 1436881 - Identifier 1436859 1436869 - Identifier 1436870 1436881 - VariableStatement 1436883 1437037 - VariableDeclarationList 1436883 1437036 - VariableDeclaration 1436910 1437036 - Identifier 1436910 1436918 - CallExpression 1436920 1437036 - Identifier 1436920 1436932 - Identifier 1436933 1436937 - PropertyAccessExpression 1436938 1436954 - Identifier 1436938 1436949 - Identifier 1436950 1436954 - PropertyAccessExpression 1436955 1436975 - Identifier 1436955 1436970 - Identifier 1436971 1436975 - Identifier 1436976 1436989 - Identifier 1436990 1437016 - Identifier 1437017 1437035 - IfStatement 1437037 1437341 - PrefixUnaryExpression 1437063 1437071 - Identifier 1437064 1437071 - Block 1437072 1437341 - IfStatement 1437074 1437271 - Identifier 1437104 1437116 - Block 1437117 1437271 - ExpressionStatement 1437119 1437244 - CallExpression 1437119 1437243 - Identifier 1437119 1437160 - PropertyAccessExpression 1437161 1437220 - Identifier 1437161 1437172 - Identifier 1437173 1437220 - CallExpression 1437221 1437242 - Identifier 1437221 1437236 - Identifier 1437237 1437241 - ReturnStatement 1437271 1437318 - PropertyAccessExpression 1437303 1437317 - Identifier 1437303 1437311 - Identifier 1437312 1437317 - ExpressionStatement 1437341 1437381 - BinaryExpression 1437341 1437380 - Identifier 1437341 1437369 - AmpersandEqualsToken 1437369 1437372 - Identifier 1437372 1437380 - ForOfStatement 1437415 1437836 - VariableDeclarationList 1437434 1437444 - VariableDeclaration 1437439 1437444 - Identifier 1437439 1437444 - CallExpression 1437447 1437475 - Identifier 1437447 1437467 - Identifier 1437468 1437474 - Block 1437476 1437836 - IfStatement 1437478 1437821 - CallExpression 1437500 1437544 - Identifier 1437500 1437521 - PropertyAccessExpression 1437522 1437534 - Identifier 1437522 1437526 - Identifier 1437527 1437534 - Identifier 1437535 1437543 - Block 1437545 1437821 - VariableStatement 1437547 1437655 - VariableDeclarationList 1437547 1437654 - VariableDeclaration 1437574 1437654 - Identifier 1437574 1437582 - CallExpression 1437584 1437654 - Identifier 1437584 1437603 - Identifier 1437604 1437608 - Identifier 1437609 1437620 - Identifier 1437621 1437634 - Identifier 1437635 1437653 - IfStatement 1437655 1437762 - PrefixUnaryExpression 1437681 1437689 - Identifier 1437682 1437689 - Block 1437690 1437762 - ReturnStatement 1437692 1437739 - PropertyAccessExpression 1437724 1437738 - Identifier 1437724 1437732 - Identifier 1437733 1437738 - ExpressionStatement 1437762 1437802 - BinaryExpression 1437762 1437801 - Identifier 1437762 1437790 - AmpersandEqualsToken 1437790 1437793 - Identifier 1437793 1437801 - ReturnStatement 1437836 1437864 - Identifier 1437856 1437863 - FunctionDeclaration 1437875 1438684 - Identifier 1437895 1437914 - Parameter 1437915 1437936 - Identifier 1437915 1437925 - TypeReference 1437926 1437936 - Identifier 1437926 1437936 - Parameter 1437937 1437959 - Identifier 1437937 1437948 - TypeReference 1437949 1437959 - Identifier 1437949 1437959 - Parameter 1437960 1437982 - Identifier 1437960 1437973 - BooleanKeyword 1437974 1437982 - Parameter 1437983 1438020 - Identifier 1437983 1438001 - TypeReference 1438002 1438020 - Identifier 1438002 1438020 - Block 1438021 1438684 - VariableStatement 1438023 1438180 - VariableDeclarationList 1438023 1438179 - VariableDeclaration 1438042 1438179 - Identifier 1438042 1438050 - CallExpression 1438052 1438179 - Identifier 1438052 1438064 - PropertyAccessExpression 1438065 1438080 - Identifier 1438065 1438075 - Identifier 1438076 1438080 - PropertyAccessExpression 1438081 1438097 - Identifier 1438081 1438092 - Identifier 1438093 1438097 - PropertyAccessExpression 1438098 1438118 - Identifier 1438098 1438113 - Identifier 1438114 1438118 - Identifier 1438119 1438132 - Identifier 1438133 1438159 - Identifier 1438160 1438178 - IfStatement 1438180 1438644 - BinaryExpression 1438198 1438222 - PrefixUnaryExpression 1438198 1438206 - Identifier 1438199 1438206 - AmpersandAmpersandToken 1438206 1438209 - Identifier 1438209 1438222 - Block 1438223 1438644 - IfStatement 1438225 1438629 - BinaryExpression 1438247 1438288 - PropertyAccessExpression 1438247 1438265 - Identifier 1438247 1438257 - Identifier 1438258 1438265 - EqualsEqualsEqualsToken 1438265 1438269 - PropertyAccessExpression 1438269 1438288 - Identifier 1438269 1438280 - Identifier 1438281 1438288 - Block 1438289 1438428 - ExpressionStatement 1438291 1438409 - CallExpression 1438291 1438408 - Identifier 1438291 1438324 - PropertyAccessExpression 1438325 1438373 - Identifier 1438325 1438336 - Identifier 1438337 1438373 - CallExpression 1438374 1438407 - Identifier 1438374 1438387 - PropertyAccessExpression 1438388 1438406 - Identifier 1438388 1438398 - Identifier 1438399 1438406 - Block 1438450 1438629 - ExpressionStatement 1438452 1438610 - CallExpression 1438452 1438609 - Identifier 1438452 1438485 - PropertyAccessExpression 1438486 1438540 - Identifier 1438486 1438497 - Identifier 1438498 1438540 - CallExpression 1438541 1438574 - Identifier 1438541 1438554 - PropertyAccessExpression 1438555 1438573 - Identifier 1438555 1438565 - Identifier 1438566 1438573 - CallExpression 1438575 1438608 - Identifier 1438575 1438588 - PropertyAccessExpression 1438589 1438607 - Identifier 1438589 1438599 - Identifier 1438600 1438607 - ReturnStatement 1438644 1438673 - Identifier 1438664 1438672 - FunctionDeclaration 1438684 1439875 - Identifier 1438704 1438729 - Parameter 1438730 1438742 - Identifier 1438730 1438736 - TypeReference 1438737 1438742 - Identifier 1438737 1438742 - Parameter 1438743 1438756 - Identifier 1438743 1438750 - TypeReference 1438751 1438756 - Identifier 1438751 1438756 - Parameter 1438757 1438784 - Identifier 1438757 1438775 - BooleanKeyword 1438776 1438784 - Parameter 1438785 1438807 - Identifier 1438785 1438798 - BooleanKeyword 1438799 1438807 - Parameter 1438808 1438845 - Identifier 1438808 1438826 - TypeReference 1438827 1438845 - Identifier 1438827 1438845 - TypeReference 1438847 1438855 - Identifier 1438847 1438855 - Block 1438855 1439875 - IfStatement 1438857 1438990 - BinaryExpression 1438875 1438904 - Identifier 1438875 1438883 - EqualsEqualsEqualsToken 1438883 1438887 - Identifier 1438887 1438904 - Block 1438905 1438990 - ReturnStatement 1438907 1438975 - CallExpression 1438931 1438974 - Identifier 1438931 1438958 - Identifier 1438959 1438965 - Identifier 1438966 1438973 - VariableStatement 1438990 1439051 - VariableDeclarationList 1438990 1439050 - VariableDeclaration 1439009 1439050 - Identifier 1439009 1439020 - CallExpression 1439022 1439050 - Identifier 1439022 1439042 - Identifier 1439043 1439049 - VariableStatement 1439051 1439148 - VariableDeclarationList 1439051 1439147 - VariableDeclaration 1439070 1439147 - Identifier 1439070 1439091 - CallExpression 1439093 1439147 - Identifier 1439093 1439098 - Identifier 1439099 1439109 - ArrowFunction 1439110 1439146 - Parameter 1439110 1439115 - Identifier 1439110 1439115 - EqualsGreaterThanToken 1439115 1439118 - BinaryExpression 1439118 1439146 - PropertyAccessExpression 1439118 1439131 - Identifier 1439118 1439123 - Identifier 1439124 1439131 - EqualsEqualsEqualsToken 1439131 1439135 - Identifier 1439135 1439146 - VariableStatement 1439148 1439188 - VariableDeclarationList 1439148 1439187 - VariableDeclaration 1439165 1439187 - Identifier 1439165 1439172 - PropertyAccessExpression 1439174 1439187 - Identifier 1439174 1439182 - Identifier 1439183 1439187 - ForOfStatement 1439188 1439836 - VariableDeclarationList 1439207 1439223 - VariableDeclaration 1439212 1439223 - Identifier 1439212 1439223 - Identifier 1439226 1439237 - Block 1439238 1439836 - VariableStatement 1439240 1439690 - VariableDeclarationList 1439240 1439689 - VariableDeclaration 1439263 1439689 - Identifier 1439263 1439271 - ConditionalExpression 1439273 1439689 - BinaryExpression 1439273 1439395 - BinaryExpression 1439273 1439354 - BinaryExpression 1439273 1439330 - BinaryExpression 1439273 1439308 - Identifier 1439273 1439282 - ExclamationEqualsEqualsToken 1439282 1439286 - Identifier 1439286 1439308 - AmpersandAmpersandToken 1439308 1439311 - PrefixUnaryExpression 1439311 1439330 - Identifier 1439313 1439330 - AmpersandAmpersandToken 1439330 1439333 - Identifier 1439333 1439354 - AmpersandAmpersandToken 1439354 1439357 - BinaryExpression 1439357 1439395 - PropertyAccessExpression 1439357 1439379 - PropertyAccessExpression 1439357 1439373 - Identifier 1439357 1439368 - Identifier 1439369 1439373 - Identifier 1439374 1439379 - AmpersandToken 1439379 1439381 - PropertyAccessExpression 1439381 1439395 - Identifier 1439381 1439391 - Identifier 1439392 1439395 - QuestionToken 1439395 1439397 - PropertyAccessExpression 1439397 1439410 - Identifier 1439397 1439405 - Identifier 1439406 1439410 - ColonToken 1439410 1439412 - ConditionalExpression 1439412 1439689 - BinaryExpression 1439412 1439485 - CallExpression 1439412 1439461 - Identifier 1439412 1439453 - Identifier 1439454 1439460 - AmpersandAmpersandToken 1439461 1439464 - Identifier 1439464 1439485 - QuestionToken 1439485 1439487 - CallExpression 1439487 1439590 - Identifier 1439487 1439499 - CallExpression 1439500 1439537 - Identifier 1439500 1439529 - Identifier 1439530 1439536 - PropertyAccessExpression 1439538 1439554 - Identifier 1439538 1439549 - Identifier 1439550 1439554 - PropertyAccessExpression 1439555 1439575 - Identifier 1439555 1439570 - Identifier 1439571 1439575 - Identifier 1439576 1439589 - ColonToken 1439590 1439592 - CallExpression 1439592 1439689 - Identifier 1439592 1439636 - Identifier 1439637 1439643 - Identifier 1439644 1439655 - Identifier 1439656 1439669 - Identifier 1439670 1439688 - IfStatement 1439690 1439785 - PrefixUnaryExpression 1439712 1439720 - Identifier 1439713 1439720 - Block 1439721 1439785 - ReturnStatement 1439723 1439766 - PropertyAccessExpression 1439751 1439765 - Identifier 1439751 1439759 - Identifier 1439760 1439765 - ExpressionStatement 1439785 1439821 - BinaryExpression 1439785 1439820 - Identifier 1439785 1439809 - AmpersandEqualsToken 1439809 1439812 - Identifier 1439812 1439820 - ReturnStatement 1439836 1439864 - Identifier 1439856 1439863 - FunctionDeclaration 1439875 1441192 - Identifier 1439895 1439918 - Parameter 1439919 1439931 - Identifier 1439919 1439925 - TypeReference 1439926 1439931 - Identifier 1439926 1439931 - Parameter 1439932 1439954 - Identifier 1439932 1439943 - TypeReference 1439944 1439954 - Identifier 1439944 1439954 - Parameter 1439955 1439977 - Identifier 1439955 1439968 - BooleanKeyword 1439969 1439977 - Parameter 1439978 1440015 - Identifier 1439978 1439996 - TypeReference 1439997 1440015 - Identifier 1439997 1440015 - TypeReference 1440017 1440025 - Identifier 1440017 1440025 - Block 1440025 1441192 - VariableStatement 1440027 1440111 - VariableDeclarationList 1440027 1440110 - VariableDeclaration 1440046 1440110 - Identifier 1440046 1440057 - CallExpression 1440059 1440110 - Identifier 1440059 1440082 - Identifier 1440083 1440089 - PropertyAccessExpression 1440090 1440109 - Identifier 1440090 1440101 - Identifier 1440102 1440109 - IfStatement 1440111 1440258 - Identifier 1440129 1440139 - Block 1440140 1440258 - ReturnStatement 1440142 1440243 - CallExpression 1440166 1440242 - Identifier 1440166 1440185 - Identifier 1440186 1440196 - Identifier 1440197 1440208 - Identifier 1440209 1440222 - Identifier 1440223 1440241 - IfStatement 1440258 1440951 - BinaryExpression 1440647 1440829 - BinaryExpression 1440647 1440787 - PrefixUnaryExpression 1440647 1440694 - ParenthesizedExpression 1440648 1440694 - BinaryExpression 1440649 1440693 - Identifier 1440649 1440666 - AmpersandToken 1440666 1440668 - PropertyAccessExpression 1440668 1440693 - Identifier 1440668 1440686 - Identifier 1440687 1440693 - AmpersandAmpersandToken 1440694 1440697 - ParenthesizedExpression 1440697 1440787 - BinaryExpression 1440699 1440786 - BinaryExpression 1440699 1440733 - Identifier 1440699 1440707 - ExclamationEqualsEqualsToken 1440707 1440711 - Identifier 1440711 1440733 - BarBarToken 1440733 1440736 - BinaryExpression 1440736 1440786 - CallExpression 1440736 1440759 - Identifier 1440736 1440751 - Identifier 1440752 1440758 - AmpersandToken 1440759 1440761 - PropertyAccessExpression 1440761 1440786 - Identifier 1440761 1440773 - Identifier 1440774 1440786 - AmpersandAmpersandToken 1440787 1440790 - CallExpression 1440790 1440829 - Identifier 1440790 1440821 - Identifier 1440822 1440828 - Block 1440830 1440951 - ReturnStatement 1440832 1440936 - CallExpression 1440856 1440935 - Identifier 1440856 1440882 - Identifier 1440883 1440889 - Identifier 1440890 1440901 - Identifier 1440902 1440915 - Identifier 1440916 1440934 - IfStatement 1440951 1441146 - Identifier 1440969 1440981 - Block 1440982 1441146 - ExpressionStatement 1440984 1441131 - CallExpression 1440984 1441130 - Identifier 1440984 1441013 - PropertyAccessExpression 1441014 1441073 - Identifier 1441014 1441025 - Identifier 1441026 1441073 - CallExpression 1441074 1441107 - Identifier 1441074 1441087 - PropertyAccessExpression 1441088 1441106 - Identifier 1441088 1441098 - Identifier 1441099 1441106 - CallExpression 1441108 1441129 - Identifier 1441108 1441121 - Identifier 1441122 1441128 - ReturnStatement 1441146 1441181 - PropertyAccessExpression 1441166 1441180 - Identifier 1441166 1441174 - Identifier 1441175 1441180 - FunctionDeclaration 1441192 1441936 - Identifier 1441212 1441239 - Parameter 1441240 1441252 - Identifier 1441240 1441246 - TypeReference 1441247 1441252 - Identifier 1441247 1441252 - Parameter 1441253 1441266 - Identifier 1441253 1441260 - TypeReference 1441261 1441266 - Identifier 1441261 1441266 - TypeReference 1441268 1441276 - Identifier 1441268 1441276 - Block 1441276 1441936 - VariableStatement 1441278 1441340 - VariableDeclarationList 1441278 1441339 - VariableDeclaration 1441297 1441339 - Identifier 1441297 1441309 - CallExpression 1441311 1441339 - Identifier 1441311 1441331 - Identifier 1441332 1441338 - VariableStatement 1441340 1441402 - VariableDeclarationList 1441340 1441401 - VariableDeclaration 1441359 1441401 - Identifier 1441359 1441371 - CallExpression 1441373 1441401 - Identifier 1441373 1441393 - Identifier 1441394 1441400 - IfStatement 1441402 1441518 - BinaryExpression 1441420 1441461 - PropertyAccessExpression 1441420 1441438 - Identifier 1441420 1441431 - Identifier 1441432 1441438 - ExclamationEqualsEqualsToken 1441438 1441442 - PropertyAccessExpression 1441442 1441461 - Identifier 1441442 1441454 - Identifier 1441455 1441461 - Block 1441462 1441518 - ReturnStatement 1441464 1441503 - PropertyAccessExpression 1441488 1441502 - Identifier 1441488 1441496 - Identifier 1441497 1441502 - ForOfStatement 1441518 1441891 - VariableDeclarationList 1441537 1441553 - VariableDeclaration 1441542 1441553 - Identifier 1441542 1441553 - Identifier 1441556 1441568 - Block 1441569 1441891 - VariableStatement 1441571 1441655 - VariableDeclarationList 1441571 1441654 - VariableDeclaration 1441594 1441654 - Identifier 1441594 1441605 - CallExpression 1441607 1441654 - Identifier 1441607 1441626 - Identifier 1441627 1441633 - PropertyAccessExpression 1441634 1441653 - Identifier 1441634 1441645 - Identifier 1441646 1441653 - IfStatement 1441655 1441876 - PrefixUnaryExpression 1441677 1441811 - ParenthesizedExpression 1441678 1441811 - BinaryExpression 1441679 1441810 - BinaryExpression 1441679 1441759 - Identifier 1441679 1441689 - AmpersandAmpersandToken 1441689 1441692 - CallExpression 1441692 1441759 - Identifier 1441692 1441704 - PropertyAccessExpression 1441705 1441720 - Identifier 1441705 1441715 - Identifier 1441716 1441720 - PropertyAccessExpression 1441721 1441737 - Identifier 1441721 1441732 - Identifier 1441733 1441737 - PropertyAccessExpression 1441738 1441758 - Identifier 1441738 1441753 - Identifier 1441754 1441758 - AmpersandAmpersandToken 1441759 1441762 - BinaryExpression 1441762 1441810 - PropertyAccessExpression 1441762 1441784 - Identifier 1441762 1441773 - Identifier 1441774 1441784 - EqualsEqualsEqualsToken 1441784 1441788 - PropertyAccessExpression 1441788 1441810 - Identifier 1441788 1441799 - Identifier 1441800 1441810 - Block 1441812 1441876 - ReturnStatement 1441814 1441857 - PropertyAccessExpression 1441842 1441856 - Identifier 1441842 1441850 - Identifier 1441851 1441856 - ReturnStatement 1441891 1441925 - PropertyAccessExpression 1441911 1441924 - Identifier 1441911 1441919 - Identifier 1441920 1441924 - FunctionDeclaration 1441936 1443454 - Identifier 1441956 1441993 - Parameter 1441994 1442020 - Identifier 1441994 1442009 - TypeReference 1442010 1442020 - Identifier 1442010 1442020 - Parameter 1442021 1442048 - Identifier 1442021 1442037 - TypeReference 1442038 1442048 - Identifier 1442038 1442048 - Parameter 1442049 1442071 - Identifier 1442049 1442062 - BooleanKeyword 1442063 1442071 - Block 1442072 1443454 - IfStatement 1442074 1442200 - BinaryExpression 1442092 1442152 - PrefixUnaryExpression 1442092 1442120 - PropertyAccessExpression 1442093 1442120 - Identifier 1442093 1442108 - Identifier 1442109 1442120 - BarBarToken 1442120 1442123 - PrefixUnaryExpression 1442123 1442152 - PropertyAccessExpression 1442125 1442152 - Identifier 1442125 1442140 - Identifier 1442141 1442152 - Block 1442153 1442200 - ReturnStatement 1442155 1442185 - TrueKeyword 1442179 1442184 - VariableStatement 1442200 1442353 - VariableDeclarationList 1442200 1442352 - VariableDeclaration 1442221 1442352 - Identifier 1442221 1442241 - CallExpression 1442243 1442352 - Identifier 1442243 1442277 - PropertyAccessExpression 1442278 1442305 - Identifier 1442278 1442293 - Identifier 1442294 1442305 - PropertyAccessExpression 1442306 1442351 - Identifier 1442306 1442320 - Identifier 1442321 1442351 - VariableStatement 1442353 1442504 - VariableDeclarationList 1442353 1442503 - VariableDeclaration 1442372 1442503 - Identifier 1442372 1442392 - CallExpression 1442394 1442503 - Identifier 1442394 1442428 - PropertyAccessExpression 1442429 1442456 - Identifier 1442429 1442444 - Identifier 1442445 1442456 - PropertyAccessExpression 1442457 1442502 - Identifier 1442457 1442471 - Identifier 1442472 1442502 - IfStatement 1442504 1442713 - BinaryExpression 1442620 1442665 - Identifier 1442620 1442639 - EqualsEqualsEqualsToken 1442639 1442643 - PropertyAccessExpression 1442643 1442665 - Identifier 1442643 1442657 - Identifier 1442658 1442665 - Block 1442666 1442713 - ReturnStatement 1442668 1442698 - TrueKeyword 1442692 1442697 - IfStatement 1442713 1442966 - BinaryExpression 1442822 1442918 - BinaryExpression 1442822 1442869 - Identifier 1442822 1442841 - EqualsEqualsEqualsToken 1442841 1442845 - PropertyAccessExpression 1442845 1442869 - Identifier 1442845 1442859 - Identifier 1442860 1442869 - AmpersandAmpersandToken 1442869 1442872 - BinaryExpression 1442872 1442918 - Identifier 1442872 1442892 - ExclamationEqualsEqualsToken 1442892 1442896 - PropertyAccessExpression 1442896 1442918 - Identifier 1442896 1442910 - Identifier 1442911 1442918 - Block 1442919 1442966 - ReturnStatement 1442921 1442951 - TrueKeyword 1442945 1442950 - IfStatement 1442966 1443180 - BinaryExpression 1443061 1443132 - BinaryExpression 1443061 1443108 - Identifier 1443061 1443080 - ExclamationEqualsEqualsToken 1443080 1443084 - PropertyAccessExpression 1443084 1443108 - Identifier 1443084 1443098 - Identifier 1443099 1443108 - AmpersandAmpersandToken 1443108 1443111 - PrefixUnaryExpression 1443111 1443132 - Identifier 1443113 1443132 - Block 1443133 1443180 - ReturnStatement 1443135 1443165 - TrueKeyword 1443159 1443164 - IfStatement 1443180 1443414 - Identifier 1443200 1443212 - Block 1443213 1443414 - ExpressionStatement 1443215 1443399 - CallExpression 1443215 1443398 - Identifier 1443215 1443244 - PropertyAccessExpression 1443245 1443315 - Identifier 1443245 1443256 - Identifier 1443257 1443315 - CallExpression 1443316 1443356 - Identifier 1443316 1443335 - Identifier 1443336 1443355 - CallExpression 1443357 1443397 - Identifier 1443357 1443376 - Identifier 1443377 1443396 - ReturnStatement 1443414 1443443 - FalseKeyword 1443436 1443442 - FunctionDeclaration 1443461 1444416 - Identifier 1443477 1443513 - Parameter 1443514 1443524 - Identifier 1443514 1443518 - TypeReference 1443519 1443524 - Identifier 1443519 1443524 - BooleanKeyword 1443526 1443534 - Block 1443534 1444416 - IfStatement 1443536 1443843 - BinaryExpression 1443772 1443802 - PropertyAccessExpression 1443772 1443782 - Identifier 1443772 1443776 - Identifier 1443777 1443782 - AmpersandToken 1443782 1443784 - PropertyAccessExpression 1443784 1443802 - Identifier 1443784 1443794 - Identifier 1443795 1443802 - Block 1443803 1443843 - ReturnStatement 1443805 1443832 - FalseKeyword 1443825 1443831 - IfStatement 1443843 1444017 - BinaryExpression 1443859 1443901 - PropertyAccessExpression 1443859 1443869 - Identifier 1443859 1443863 - Identifier 1443864 1443869 - AmpersandToken 1443869 1443871 - PropertyAccessExpression 1443871 1443901 - Identifier 1443871 1443881 - Identifier 1443882 1443901 - Block 1443902 1444017 - ReturnStatement 1443904 1444006 - PrefixUnaryExpression 1443924 1444005 - PrefixUnaryExpression 1443926 1444005 - CallExpression 1443927 1444005 - Identifier 1443927 1443934 - PropertyAccessExpression 1443935 1443967 - ParenthesizedExpression 1443935 1443961 - AsExpression 1443936 1443960 - Identifier 1443936 1443940 - TypeReference 1443943 1443960 - Identifier 1443943 1443960 - Identifier 1443962 1443967 - Identifier 1443968 1444004 - IfStatement 1444017 1444283 - BinaryExpression 1444033 1444068 - PropertyAccessExpression 1444033 1444043 - Identifier 1444033 1444037 - Identifier 1444038 1444043 - AmpersandToken 1444043 1444045 - PropertyAccessExpression 1444045 1444068 - Identifier 1444045 1444055 - Identifier 1444056 1444068 - Block 1444069 1444283 - VariableStatement 1444071 1444130 - VariableDeclarationList 1444071 1444129 - VariableDeclaration 1444090 1444129 - Identifier 1444090 1444101 - CallExpression 1444103 1444129 - Identifier 1444103 1444123 - Identifier 1444124 1444128 - IfStatement 1444130 1444272 - BinaryExpression 1444148 1444181 - Identifier 1444148 1444158 - AmpersandAmpersandToken 1444158 1444161 - BinaryExpression 1444161 1444181 - Identifier 1444161 1444172 - ExclamationEqualsEqualsToken 1444172 1444176 - Identifier 1444176 1444181 - Block 1444182 1444272 - ReturnStatement 1444184 1444257 - CallExpression 1444208 1444256 - Identifier 1444208 1444244 - Identifier 1444245 1444255 - ReturnStatement 1444283 1444409 - BinaryExpression 1444301 1444408 - BinaryExpression 1444301 1444364 - CallExpression 1444301 1444318 - Identifier 1444301 1444312 - Identifier 1444313 1444317 - BarBarToken 1444318 1444321 - PrefixUnaryExpression 1444321 1444364 - PrefixUnaryExpression 1444323 1444364 - ParenthesizedExpression 1444324 1444364 - BinaryExpression 1444325 1444363 - PropertyAccessExpression 1444325 1444335 - Identifier 1444325 1444329 - Identifier 1444330 1444335 - AmpersandToken 1444335 1444337 - PropertyAccessExpression 1444337 1444363 - Identifier 1444337 1444347 - Identifier 1444348 1444363 - BarBarToken 1444364 1444367 - PrefixUnaryExpression 1444367 1444408 - PrefixUnaryExpression 1444369 1444408 - ParenthesizedExpression 1444370 1444408 - BinaryExpression 1444371 1444407 - PropertyAccessExpression 1444371 1444381 - Identifier 1444371 1444375 - Identifier 1444376 1444381 - AmpersandToken 1444381 1444383 - PropertyAccessExpression 1444383 1444407 - Identifier 1444383 1444393 - Identifier 1444394 1444407 - FunctionDeclaration 1444416 1444783 - Identifier 1444432 1444471 - Parameter 1444472 1444484 - Identifier 1444472 1444478 - TypeReference 1444479 1444484 - Identifier 1444479 1444484 - Parameter 1444485 1444498 - Identifier 1444485 1444492 - TypeReference 1444493 1444498 - Identifier 1444493 1444498 - Block 1444499 1444783 - IfStatement 1444501 1444577 - BinaryExpression 1444515 1444557 - CallExpression 1444515 1444534 - Identifier 1444515 1444526 - Identifier 1444527 1444533 - AmpersandAmpersandToken 1444534 1444537 - CallExpression 1444537 1444557 - Identifier 1444537 1444549 - Identifier 1444550 1444556 - ReturnStatement 1444558 1444577 - Identifier 1444565 1444576 - ReturnStatement 1444577 1444776 - CallExpression 1444593 1444775 - PropertyAccessExpression 1444593 1444642 - CallExpression 1444593 1444621 - Identifier 1444593 1444613 - Identifier 1444614 1444620 - Identifier 1444636 1444642 - ArrowFunction 1444643 1444774 - Parameter 1444643 1444653 - Identifier 1444643 1444653 - EqualsGreaterThanToken 1444653 1444656 - CallExpression 1444656 1444774 - Identifier 1444656 1444688 - CallExpression 1444689 1444744 - Identifier 1444689 1444712 - Identifier 1444713 1444719 - PropertyAccessExpression 1444720 1444743 - Identifier 1444720 1444731 - Identifier 1444732 1444743 - CallExpression 1444745 1444773 - Identifier 1444745 1444761 - Identifier 1444762 1444772 - FunctionDeclaration 1444783 1445011 - Identifier 1444799 1444831 - Parameter 1444832 1444856 - Identifier 1444832 1444838 - UnionType 1444839 1444856 - TypeReference 1444839 1444844 - Identifier 1444839 1444844 - UndefinedKeyword 1444846 1444856 - Parameter 1444857 1444882 - Identifier 1444857 1444864 - UnionType 1444865 1444882 - TypeReference 1444865 1444870 - Identifier 1444865 1444870 - UndefinedKeyword 1444872 1444882 - Block 1444883 1445011 - ReturnStatement 1444885 1445004 - BinaryExpression 1444901 1445003 - BinaryExpression 1444901 1444970 - BinaryExpression 1444901 1444922 - PrefixUnaryExpression 1444901 1444910 - PrefixUnaryExpression 1444903 1444910 - Identifier 1444904 1444910 - AmpersandAmpersandToken 1444910 1444913 - PrefixUnaryExpression 1444913 1444922 - PrefixUnaryExpression 1444915 1444922 - Identifier 1444916 1444922 - AmpersandAmpersandToken 1444922 1444925 - CallExpression 1444925 1444970 - Identifier 1444925 1444941 - Identifier 1444942 1444948 - PropertyAccessExpression 1444949 1444969 - Identifier 1444949 1444959 - Identifier 1444960 1444969 - AmpersandAmpersandToken 1444970 1444973 - PrefixUnaryExpression 1444973 1445003 - PrefixUnaryExpression 1444975 1445003 - CallExpression 1444976 1445003 - Identifier 1444976 1444995 - Identifier 1444996 1445002 - FunctionDeclaration 1445011 1445189 - Identifier 1445027 1445054 - Parameter 1445055 1445065 - Identifier 1445055 1445059 - TypeReference 1445060 1445065 - Identifier 1445060 1445065 - Block 1445066 1445189 - ReturnStatement 1445068 1445182 - CallExpression 1445084 1445181 - PropertyAccessExpression 1445084 1445117 - CallExpression 1445084 1445110 - Identifier 1445084 1445104 - Identifier 1445105 1445109 - Identifier 1445111 1445117 - ArrowFunction 1445118 1445180 - Parameter 1445118 1445128 - Identifier 1445118 1445128 - EqualsGreaterThanToken 1445128 1445131 - CallExpression 1445131 1445180 - Identifier 1445131 1445151 - CallExpression 1445152 1445179 - Identifier 1445152 1445167 - Identifier 1445168 1445178 - FunctionDeclaration 1445189 1445644 - Identifier 1445205 1445225 - Parameter 1445226 1445238 - Identifier 1445226 1445232 - TypeReference 1445233 1445238 - Identifier 1445233 1445238 - Parameter 1445239 1445271 - Identifier 1445239 1445246 - TypeReference 1445247 1445271 - Identifier 1445247 1445271 - Parameter 1445272 1445309 - Identifier 1445272 1445284 - Identifier 1445286 1445309 - Block 1445310 1445644 - ReturnStatement 1445312 1445637 - BinaryExpression 1445328 1445636 - BinaryExpression 1445328 1445582 - BinaryExpression 1445328 1445525 - BinaryExpression 1445328 1445464 - CallExpression 1445328 1445386 - Identifier 1445328 1445357 - Identifier 1445358 1445364 - Identifier 1445365 1445372 - Identifier 1445373 1445385 - BarBarToken 1445386 1445389 - CallExpression 1445389 1445464 - Identifier 1445389 1445448 - Identifier 1445449 1445455 - Identifier 1445456 1445463 - BarBarToken 1445464 1445467 - CallExpression 1445467 1445525 - Identifier 1445467 1445509 - Identifier 1445510 1445516 - Identifier 1445517 1445524 - BarBarToken 1445525 1445528 - CallExpression 1445528 1445582 - Identifier 1445528 1445566 - Identifier 1445567 1445573 - Identifier 1445574 1445581 - BarBarToken 1445582 1445585 - CallExpression 1445585 1445636 - Identifier 1445585 1445620 - Identifier 1445621 1445627 - Identifier 1445628 1445635 - FunctionDeclaration 1445644 1447499 - Identifier 1445660 1445697 - Parameter 1445698 1445715 - Identifier 1445698 1445704 - TypeReference 1445705 1445715 - Identifier 1445705 1445715 - Parameter 1445716 1445768 - Identifier 1445716 1445731 - ArrayType 1445732 1445768 - ParenthesizedType 1445732 1445766 - TypeOperator 1445734 1445765 - TupleType 1445742 1445765 - FunctionType 1445744 1445754 - TypeReference 1445749 1445754 - Identifier 1445749 1445754 - TypeReference 1445755 1445764 - Identifier 1445755 1445764 - Parameter 1445769 1445828 - Identifier 1445769 1445777 - FunctionType 1445778 1445828 - Parameter 1445780 1445792 - Identifier 1445780 1445786 - TypeReference 1445787 1445792 - Identifier 1445787 1445792 - Parameter 1445793 1445806 - Identifier 1445793 1445800 - TypeReference 1445801 1445806 - Identifier 1445801 1445806 - UnionType 1445810 1445828 - BooleanKeyword 1445810 1445818 - TypeReference 1445820 1445828 - Identifier 1445820 1445828 - Block 1445829 1447499 - VariableStatement 1445831 1445868 - VariableDeclarationList 1445831 1445867 - VariableDeclaration 1445846 1445867 - Identifier 1445846 1445852 - PropertyAccessExpression 1445854 1445867 - Identifier 1445854 1445861 - Identifier 1445862 1445867 - VariableStatement 1445868 1445982 - VariableDeclarationList 1445868 1445981 - VariableDeclaration 1445883 1445981 - Identifier 1445883 1445891 - ArrayType 1445892 1445902 - TypeReference 1445892 1445900 - Identifier 1445892 1445900 - CallExpression 1445904 1445981 - PropertyAccessExpression 1445904 1445914 - Identifier 1445904 1445910 - Identifier 1445911 1445914 - ArrowFunction 1445915 1445980 - Parameter 1445915 1445916 - Identifier 1445915 1445916 - EqualsGreaterThanToken 1445916 1445919 - ConditionalExpression 1445919 1445980 - BinaryExpression 1445919 1445949 - PropertyAccessExpression 1445919 1445927 - Identifier 1445919 1445921 - Identifier 1445922 1445927 - AmpersandToken 1445927 1445929 - PropertyAccessExpression 1445929 1445949 - Identifier 1445929 1445939 - Identifier 1445940 1445949 - QuestionToken 1445949 1445951 - PropertyAccessExpression 1445951 1445965 - Identifier 1445951 1445959 - Identifier 1445960 1445965 - ColonToken 1445965 1445967 - PropertyAccessExpression 1445967 1445980 - Identifier 1445967 1445975 - Identifier 1445976 1445980 - ForOfStatement 1445982 1447281 - VariableDeclarationList 1445997 1446040 - VariableDeclaration 1446002 1446040 - ArrayBindingPattern 1446002 1446040 - BindingElement 1446004 1446025 - Identifier 1446004 1446025 - BindingElement 1446026 1446039 - Identifier 1446026 1446039 - Identifier 1446043 1446058 - Block 1446059 1447281 - VariableStatement 1446061 1446436 - VariableDeclarationList 1446061 1446435 - VariableDeclaration 1446419 1446435 - Identifier 1446419 1446427 - FalseKeyword 1446429 1446435 - ForStatement 1446436 1446939 - VariableDeclarationList 1446455 1446464 - VariableDeclaration 1446458 1446464 - Identifier 1446458 1446460 - NumericLiteral 1446462 1446464 - BinaryExpression 1446465 1446482 - Identifier 1446465 1446467 - LessThanToken 1446467 1446469 - PropertyAccessExpression 1446469 1446482 - Identifier 1446469 1446475 - Identifier 1446476 1446482 - PostfixUnaryExpression 1446483 1446487 - Identifier 1446483 1446485 - Block 1446488 1446939 - IfStatement 1446490 1446924 - ElementAccessExpression 1446512 1446522 - Identifier 1446512 1446519 - Identifier 1446520 1446521 - Block 1446523 1446924 - VariableStatement 1446525 1446630 - VariableDeclarationList 1446525 1446629 - VariableDeclaration 1446552 1446629 - Identifier 1446552 1446563 - CallExpression 1446565 1446629 - Identifier 1446565 1446605 - ElementAccessExpression 1446606 1446614 - Identifier 1446606 1446611 - Identifier 1446612 1446613 - Identifier 1446615 1446628 - IfStatement 1446630 1446905 - BinaryExpression 1446656 1446734 - Identifier 1446656 1446666 - AmpersandAmpersandToken 1446666 1446669 - CallExpression 1446669 1446734 - Identifier 1446669 1446678 - CallExpression 1446679 1446702 - Identifier 1446679 1446700 - ArrowFunction 1446703 1446733 - Parameter 1446703 1446705 - Identifier 1446703 1446705 - EqualsGreaterThanToken 1446705 1446708 - PrefixUnaryExpression 1446708 1446733 - PrefixUnaryExpression 1446710 1446733 - CallExpression 1446711 1446733 - Identifier 1446711 1446718 - Identifier 1446719 1446720 - Identifier 1446721 1446732 - Block 1446735 1446801 - ExpressionStatement 1446737 1446778 - BinaryExpression 1446737 1446777 - Identifier 1446737 1446770 - EqualsToken 1446770 1446772 - TrueKeyword 1446772 1446777 - Block 1446827 1446905 - ExpressionStatement 1446829 1446882 - BinaryExpression 1446829 1446881 - ElementAccessExpression 1446829 1446865 - Identifier 1446829 1446862 - Identifier 1446863 1446864 - EqualsToken 1446865 1446867 - PropertyAccessExpression 1446867 1446881 - Identifier 1446867 1446875 - Identifier 1446876 1446881 - ForStatement 1446939 1447270 - VariableDeclarationList 1447074 1447083 - VariableDeclaration 1447077 1447083 - Identifier 1447077 1447079 - NumericLiteral 1447081 1447083 - BinaryExpression 1447084 1447101 - Identifier 1447084 1447086 - LessThanToken 1447086 1447088 - PropertyAccessExpression 1447088 1447101 - Identifier 1447088 1447094 - Identifier 1447095 1447101 - PostfixUnaryExpression 1447102 1447106 - Identifier 1447102 1447104 - Block 1447107 1447270 - IfStatement 1447109 1447255 - BinaryExpression 1447131 1447159 - ElementAccessExpression 1447131 1447141 - Identifier 1447131 1447138 - Identifier 1447139 1447140 - EqualsEqualsEqualsToken 1447141 1447145 - PropertyAccessExpression 1447145 1447159 - Identifier 1447145 1447153 - Identifier 1447154 1447159 - Block 1447160 1447255 - ExpressionStatement 1447162 1447236 - BinaryExpression 1447162 1447235 - ElementAccessExpression 1447162 1447194 - Identifier 1447162 1447191 - Identifier 1447192 1447193 - EqualsToken 1447194 1447196 - ConditionalExpression 1447196 1447235 - Identifier 1447196 1447204 - QuestionToken 1447204 1447206 - PropertyAccessExpression 1447206 1447220 - Identifier 1447206 1447214 - Identifier 1447215 1447220 - ColonToken 1447220 1447222 - PropertyAccessExpression 1447222 1447235 - Identifier 1447222 1447230 - Identifier 1447231 1447235 - VariableStatement 1447281 1447422 - VariableDeclarationList 1447281 1447421 - VariableDeclaration 1447296 1447421 - Identifier 1447296 1447305 - ConditionalExpression 1447307 1447421 - CallExpression 1447307 1447340 - Identifier 1447307 1447316 - Identifier 1447317 1447324 - PropertyAccessExpression 1447325 1447339 - Identifier 1447325 1447333 - Identifier 1447334 1447339 - QuestionToken 1447340 1447342 - CallExpression 1447342 1447412 - Identifier 1447342 1447355 - CallExpression 1447356 1447390 - PropertyAccessExpression 1447356 1447368 - Identifier 1447356 1447361 - Identifier 1447362 1447368 - ArrowFunction 1447369 1447389 - Parameter 1447370 1447371 - Identifier 1447370 1447371 - Parameter 1447372 1447374 - Identifier 1447372 1447374 - EqualsGreaterThanToken 1447375 1447378 - ElementAccessExpression 1447378 1447389 - Identifier 1447378 1447386 - Identifier 1447387 1447388 - PropertyAccessExpression 1447391 1447411 - Identifier 1447391 1447406 - Identifier 1447407 1447411 - ColonToken 1447412 1447414 - Identifier 1447414 1447421 - ReturnStatement 1447422 1447492 - ConditionalExpression 1447438 1447491 - BinaryExpression 1447438 1447471 - PropertyAccessExpression 1447438 1447453 - Identifier 1447438 1447447 - Identifier 1447448 1447453 - AmpersandToken 1447453 1447455 - PropertyAccessExpression 1447455 1447471 - Identifier 1447455 1447465 - Identifier 1447466 1447471 - QuestionToken 1447471 1447473 - Identifier 1447473 1447480 - ColonToken 1447480 1447482 - Identifier 1447482 1447491 - FunctionDeclaration 1447499 1448430 - Identifier 1447700 1447711 - Parameter 1447712 1447722 - Identifier 1447712 1447716 - TypeReference 1447717 1447722 - Identifier 1447717 1447722 - BooleanKeyword 1447724 1447732 - Block 1447732 1448430 - IfStatement 1447734 1448132 - BinaryExpression 1447748 1447777 - PropertyAccessExpression 1447748 1447758 - Identifier 1447748 1447752 - Identifier 1447753 1447758 - AmpersandToken 1447758 1447760 - PropertyAccessExpression 1447760 1447777 - Identifier 1447760 1447770 - Identifier 1447771 1447777 - Block 1447778 1448132 - VariableStatement 1447780 1447860 - VariableDeclarationList 1447780 1447859 - VariableDeclaration 1447799 1447859 - Identifier 1447799 1447808 - CallExpression 1447810 1447859 - Identifier 1447810 1447839 - AsExpression 1447840 1447858 - Identifier 1447840 1447844 - TypeReference 1447847 1447858 - Identifier 1447847 1447858 - ReturnStatement 1447860 1448121 - BinaryExpression 1447880 1448120 - BinaryExpression 1447880 1448049 - BinaryExpression 1447880 1447998 - BinaryExpression 1447880 1447962 - BinaryExpression 1447880 1447917 - PropertyAccessExpression 1447880 1447911 - PropertyAccessExpression 1447880 1447904 - Identifier 1447880 1447889 - Identifier 1447890 1447904 - Identifier 1447905 1447911 - EqualsEqualsEqualsToken 1447911 1447915 - NumericLiteral 1447915 1447917 - AmpersandAmpersandToken 1447917 1447920 - BinaryExpression 1447920 1447962 - PropertyAccessExpression 1447920 1447956 - PropertyAccessExpression 1447920 1447949 - Identifier 1447920 1447929 - Identifier 1447930 1447949 - Identifier 1447950 1447956 - EqualsEqualsEqualsToken 1447956 1447960 - NumericLiteral 1447960 1447962 - AmpersandAmpersandToken 1447962 1447965 - BinaryExpression 1447965 1447998 - PropertyAccessExpression 1447965 1447992 - PropertyAccessExpression 1447965 1447985 - Identifier 1447965 1447974 - Identifier 1447975 1447985 - Identifier 1447986 1447992 - EqualsEqualsEqualsToken 1447992 1447996 - NumericLiteral 1447996 1447998 - AmpersandAmpersandToken 1447998 1448001 - BinaryExpression 1448001 1448049 - PropertyAccessExpression 1448001 1448045 - PropertyAccessExpression 1448001 1448038 - Identifier 1448001 1448027 - Identifier 1448028 1448038 - Identifier 1448039 1448045 - GreaterThanToken 1448045 1448047 - NumericLiteral 1448047 1448049 - AmpersandAmpersandToken 1448049 1448052 - CallExpression 1448052 1448120 - Identifier 1448052 1448058 - PropertyAccessExpression 1448059 1448078 - Identifier 1448059 1448067 - Identifier 1448068 1448078 - ArrowFunction 1448079 1448119 - Parameter 1448079 1448081 - Identifier 1448079 1448081 - EqualsGreaterThanToken 1448081 1448084 - PrefixUnaryExpression 1448084 1448119 - PrefixUnaryExpression 1448086 1448119 - ParenthesizedExpression 1448087 1448119 - BinaryExpression 1448088 1448118 - PropertyAccessExpression 1448088 1448095 - Identifier 1448088 1448089 - Identifier 1448090 1448095 - AmpersandToken 1448095 1448097 - PropertyAccessExpression 1448097 1448118 - Identifier 1448097 1448109 - Identifier 1448110 1448118 - IfStatement 1448132 1448264 - BinaryExpression 1448146 1448181 - PropertyAccessExpression 1448146 1448156 - Identifier 1448146 1448150 - Identifier 1448151 1448156 - AmpersandToken 1448156 1448158 - PropertyAccessExpression 1448158 1448181 - Identifier 1448158 1448168 - Identifier 1448169 1448181 - Block 1448182 1448264 - ReturnStatement 1448184 1448253 - CallExpression 1448204 1448252 - Identifier 1448204 1448215 - PropertyAccessExpression 1448216 1448251 - ParenthesizedExpression 1448216 1448242 - AsExpression 1448217 1448241 - Identifier 1448217 1448221 - TypeReference 1448224 1448241 - Identifier 1448224 1448241 - Identifier 1448243 1448251 - IfStatement 1448264 1448400 - BinaryExpression 1448278 1448313 - PropertyAccessExpression 1448278 1448288 - Identifier 1448278 1448282 - Identifier 1448283 1448288 - AmpersandToken 1448288 1448290 - PropertyAccessExpression 1448290 1448313 - Identifier 1448290 1448300 - Identifier 1448301 1448313 - Block 1448314 1448400 - ReturnStatement 1448316 1448389 - CallExpression 1448336 1448388 - Identifier 1448336 1448342 - PropertyAccessExpression 1448343 1448375 - ParenthesizedExpression 1448343 1448369 - AsExpression 1448344 1448368 - Identifier 1448344 1448348 - TypeReference 1448351 1448368 - Identifier 1448351 1448368 - Identifier 1448370 1448375 - Identifier 1448376 1448387 - ReturnStatement 1448400 1448423 - FalseKeyword 1448416 1448422 - FunctionDeclaration 1448430 1448764 - Identifier 1448446 1448466 - Parameter 1448467 1448479 - Identifier 1448467 1448473 - TypeReference 1448474 1448479 - Identifier 1448474 1448479 - Parameter 1448480 1448493 - Identifier 1448480 1448487 - TypeReference 1448488 1448493 - Identifier 1448488 1448493 - Parameter 1448494 1448528 - Identifier 1448494 1448519 - BooleanKeyword 1448520 1448528 - Block 1448529 1448764 - ForOfStatement 1448531 1448734 - VariableDeclarationList 1448546 1448556 - VariableDeclaration 1448551 1448556 - Identifier 1448551 1448556 - CallExpression 1448559 1448587 - Identifier 1448559 1448579 - Identifier 1448580 1448586 - Block 1448588 1448734 - IfStatement 1448590 1448723 - CallExpression 1448608 1448675 - Identifier 1448608 1448623 - Identifier 1448624 1448630 - PropertyAccessExpression 1448631 1448648 - Identifier 1448631 1448636 - Identifier 1448637 1448648 - Identifier 1448649 1448674 - Block 1448676 1448723 - ReturnStatement 1448678 1448708 - TrueKeyword 1448702 1448707 - ReturnStatement 1448734 1448757 - FalseKeyword 1448750 1448756 - FunctionDeclaration 1448764 1449149 - Identifier 1448780 1448793 - Parameter 1448794 1448811 - Identifier 1448794 1448798 - TypeReference 1448799 1448811 - Identifier 1448799 1448811 - ArrayType 1448813 1448829 - TypeReference 1448813 1448827 - Identifier 1448813 1448827 - Block 1448829 1449149 - ReturnStatement 1448831 1449142 - ConditionalExpression 1448942 1449141 - BinaryExpression 1448942 1449043 - BinaryExpression 1448942 1449003 - BinaryExpression 1448942 1448967 - Identifier 1448942 1448947 - EqualsEqualsEqualsToken 1448947 1448951 - Identifier 1448951 1448967 - BarBarToken 1448967 1448970 - BinaryExpression 1448970 1449003 - Identifier 1448970 1448975 - EqualsEqualsEqualsToken 1448975 1448979 - Identifier 1448979 1449003 - BarBarToken 1449003 1449006 - BinaryExpression 1449006 1449043 - PropertyAccessExpression 1449006 1449023 - Identifier 1449006 1449011 - Identifier 1449012 1449023 - AmpersandToken 1449023 1449025 - PropertyAccessExpression 1449025 1449043 - Identifier 1449025 1449037 - Identifier 1449038 1449043 - QuestionToken 1449043 1449045 - Identifier 1449045 1449073 - ColonToken 1449073 1449075 - CallExpression 1449075 1449141 - Identifier 1449075 1449107 - PropertyAccessExpression 1449108 1449119 - Identifier 1449108 1449112 - Identifier 1449113 1449119 - PropertyAccessExpression 1449120 1449140 - Identifier 1449120 1449125 - Identifier 1449126 1449140 - FunctionDeclaration 1449149 1449291 - Identifier 1449165 1449183 - Parameter 1449184 1449198 - Identifier 1449184 1449190 - TypeReference 1449191 1449198 - Identifier 1449191 1449198 - Block 1449199 1449291 - ReturnStatement 1449201 1449284 - CallExpression 1449217 1449283 - Identifier 1449217 1449236 - Identifier 1449237 1449243 - PropertyAccessExpression 1449244 1449282 - CallExpression 1449244 1449267 - Identifier 1449244 1449259 - Identifier 1449260 1449266 - Identifier 1449268 1449282 - FunctionDeclaration 1449291 1453360 - Identifier 1449795 1449814 - Parameter 1449815 1449829 - Identifier 1449815 1449821 - TypeReference 1449822 1449829 - Identifier 1449822 1449829 - Parameter 1449830 1449884 - Identifier 1449830 1449845 - TypeOperator 1449846 1449871 - ArrayType 1449855 1449871 - TypeReference 1449855 1449869 - Identifier 1449855 1449869 - Identifier 1449873 1449884 - ArrayType 1449886 1449902 - TypeReference 1449886 1449900 - Identifier 1449886 1449900 - Block 1449902 1453360 - VariableStatement 1449904 1449951 - VariableDeclarationList 1449904 1449950 - VariableDeclaration 1449919 1449950 - Identifier 1449919 1449925 - CallExpression 1449927 1449950 - Identifier 1449927 1449942 - Identifier 1449943 1449949 - IfStatement 1449951 1453320 - PrefixUnaryExpression 1449965 1449981 - PropertyAccessExpression 1449966 1449981 - Identifier 1449966 1449971 - Identifier 1449972 1449981 - Block 1449982 1453320 - ExpressionStatement 1449984 1450142 - CallExpression 1449984 1450141 - PropertyAccessExpression 1449984 1450011 - Identifier 1449984 1450005 - QuestionDotToken 1450005 1450007 - Identifier 1450007 1450011 - PropertyAccessExpression 1450012 1450036 - PropertyAccessExpression 1450012 1450025 - Identifier 1450012 1450019 - Identifier 1450020 1450025 - Identifier 1450026 1450036 - StringLiteral 1450037 1450058 - ObjectLiteralExpression 1450059 1450140 - PropertyAssignment 1450061 1450090 - Identifier 1450061 1450067 - PropertyAccessExpression 1450068 1450090 - Identifier 1450068 1450083 - Identifier 1450084 1450090 - PropertyAssignment 1450091 1450138 - Identifier 1450091 1450094 - CallExpression 1450095 1450138 - Identifier 1450095 1450105 - CallExpression 1450106 1450137 - Identifier 1450106 1450129 - Identifier 1450130 1450136 - VariableStatement 1450142 1450209 - VariableDeclarationList 1450142 1450208 - VariableDeclaration 1450161 1450208 - Identifier 1450161 1450184 - Identifier 1450186 1450208 - VariableStatement 1450209 1450267 - VariableDeclarationList 1450209 1450266 - VariableDeclaration 1450228 1450266 - Identifier 1450228 1450248 - Identifier 1450250 1450266 - IfStatement 1450267 1450433 - PrefixUnaryExpression 1450285 1450307 - Identifier 1450286 1450307 - Block 1450308 1450433 - ExpressionStatement 1450310 1450357 - BinaryExpression 1450310 1450356 - Identifier 1450310 1450349 - EqualsToken 1450349 1450351 - TrueKeyword 1450351 1450356 - ExpressionStatement 1450357 1450418 - BinaryExpression 1450357 1450417 - Identifier 1450357 1450390 - EqualsToken 1450390 1450392 - PropertyAccessExpression 1450392 1450417 - Identifier 1450392 1450410 - Identifier 1450411 1450417 - ExpressionStatement 1450433 1450476 - BinaryExpression 1450433 1450475 - PropertyAccessExpression 1450433 1450462 - Identifier 1450433 1450452 - Identifier 1450453 1450462 - EqualsToken 1450462 1450464 - Identifier 1450464 1450475 - VariableStatement 1450476 1450511 - VariableDeclarationList 1450476 1450510 - VariableDeclaration 1450495 1450510 - Identifier 1450495 1450505 - ArrayLiteralExpression 1450507 1450510 - ForOfStatement 1450511 1453025 - VariableDeclarationList 1450530 1450538 - VariableDeclaration 1450535 1450538 - Identifier 1450535 1450538 - Identifier 1450541 1450556 - Block 1450557 1453025 - VariableStatement 1450559 1450625 - VariableDeclarationList 1450559 1450624 - VariableDeclaration 1450582 1450624 - Identifier 1450582 1450592 - CallExpression 1450594 1450624 - Identifier 1450594 1450620 - Identifier 1450621 1450623 - VariableStatement 1450625 1450886 - VariableDeclarationList 1450625 1450885 - VariableDeclaration 1450646 1450885 - Identifier 1450646 1450655 - ConditionalExpression 1450657 1450885 - BinaryExpression 1450657 1450687 - Identifier 1450657 1450667 - AmpersandToken 1450667 1450669 - PropertyAccessExpression 1450669 1450687 - Identifier 1450669 1450683 - Identifier 1450684 1450687 - QuestionToken 1450687 1450689 - ConditionalExpression 1450689 1450791 - BinaryExpression 1450689 1450739 - Identifier 1450689 1450720 - AmpersandToken 1450720 1450722 - PropertyAccessExpression 1450722 1450739 - Identifier 1450722 1450736 - Identifier 1450737 1450739 - QuestionToken 1450739 1450741 - PropertyAccessExpression 1450741 1450765 - Identifier 1450741 1450755 - Identifier 1450756 1450765 - ColonToken 1450765 1450767 - PropertyAccessExpression 1450767 1450791 - Identifier 1450767 1450781 - Identifier 1450782 1450791 - ColonToken 1450791 1450793 - ConditionalExpression 1450793 1450885 - BinaryExpression 1450793 1450843 - Identifier 1450793 1450824 - AmpersandToken 1450824 1450826 - PropertyAccessExpression 1450826 1450843 - Identifier 1450826 1450840 - Identifier 1450841 1450843 - QuestionToken 1450843 1450845 - PropertyAccessExpression 1450845 1450873 - Identifier 1450845 1450859 - Identifier 1450860 1450873 - ColonToken 1450873 1450875 - Identifier 1450875 1450885 - IfStatement 1450886 1452967 - BinaryExpression 1450908 1450930 - Identifier 1450908 1450916 - EqualsEqualsEqualsToken 1450916 1450920 - Identifier 1450920 1450930 - Block 1450931 1452967 - VariableStatement 1450933 1450980 - VariableDeclarationList 1450933 1450979 - VariableDeclaration 1450958 1450979 - Identifier 1450958 1450971 - FalseKeyword 1450973 1450979 - VariableStatement 1450980 1451025 - VariableDeclarationList 1450980 1451024 - VariableDeclaration 1451005 1451024 - Identifier 1451005 1451016 - FalseKeyword 1451018 1451024 - VariableStatement 1451025 1451097 - VariableDeclarationList 1451025 1451096 - VariableDeclaration 1451052 1451096 - Identifier 1451052 1451063 - Identifier 1451065 1451096 - ExpressionStatement 1451097 1451227 - BinaryExpression 1451097 1451226 - Identifier 1451097 1451149 - EqualsToken 1451149 1451151 - ArrowFunction 1451151 1451226 - Parameter 1451151 1451166 - Identifier 1451151 1451166 - EqualsGreaterThanToken 1451166 1451169 - ConditionalExpression 1451169 1451226 - Identifier 1451169 1451184 - QuestionToken 1451184 1451186 - BinaryExpression 1451186 1451204 - Identifier 1451186 1451197 - EqualsToken 1451197 1451199 - TrueKeyword 1451199 1451204 - ColonToken 1451204 1451206 - BinaryExpression 1451206 1451226 - Identifier 1451206 1451219 - EqualsToken 1451219 1451221 - TrueKeyword 1451221 1451226 - VariableStatement 1451227 1451593 - VariableDeclarationList 1451227 1451592 - VariableDeclaration 1451530 1451592 - Identifier 1451530 1451544 - CallExpression 1451546 1451592 - Identifier 1451546 1451563 - Identifier 1451564 1451570 - Identifier 1451571 1451574 - Identifier 1451575 1451591 - VariableStatement 1451593 1451679 - VariableDeclarationList 1451593 1451678 - VariableDeclaration 1451620 1451678 - Identifier 1451620 1451632 - CallExpression 1451634 1451678 - Identifier 1451634 1451651 - Identifier 1451652 1451658 - Identifier 1451659 1451662 - Identifier 1451663 1451677 - ExpressionStatement 1451679 1451901 - BinaryExpression 1451679 1451900 - Identifier 1451679 1451709 - EqualsToken 1451709 1451711 - BinaryExpression 1451711 1451900 - ParenthesizedExpression 1451711 1451790 - ConditionalExpression 1451713 1451789 - CallExpression 1451713 1451759 - Identifier 1451713 1451731 - Identifier 1451732 1451743 - Identifier 1451744 1451758 - QuestionToken 1451759 1451761 - PropertyAccessExpression 1451761 1451785 - Identifier 1451761 1451775 - Identifier 1451776 1451785 - ColonToken 1451785 1451787 - NumericLiteral 1451787 1451789 - BarToken 1451790 1451792 - ParenthesizedExpression 1451792 1451900 - ConditionalExpression 1451819 1451899 - CallExpression 1451819 1451865 - Identifier 1451819 1451837 - Identifier 1451838 1451851 - Identifier 1451852 1451864 - QuestionToken 1451865 1451867 - PropertyAccessExpression 1451867 1451895 - Identifier 1451867 1451881 - Identifier 1451882 1451895 - ColonToken 1451895 1451897 - NumericLiteral 1451897 1451899 - IfStatement 1451901 1452526 - BinaryExpression 1452317 1452437 - BinaryExpression 1452317 1452353 - Identifier 1452317 1452325 - EqualsEqualsEqualsToken 1452325 1452329 - PropertyAccessExpression 1452329 1452353 - Identifier 1452329 1452343 - Identifier 1452344 1452353 - AmpersandAmpersandToken 1452353 1452356 - CallExpression 1452356 1452437 - Identifier 1452356 1452375 - CallExpression 1452376 1452421 - Identifier 1452376 1452392 - Identifier 1452393 1452399 - Identifier 1452400 1452403 - Identifier 1452404 1452420 - Identifier 1452422 1452436 - Block 1452438 1452526 - ExpressionStatement 1452440 1452503 - BinaryExpression 1452440 1452502 - Identifier 1452440 1452474 - EqualsToken 1452474 1452476 - PropertyAccessExpression 1452476 1452502 - Identifier 1452476 1452490 - Identifier 1452491 1452502 - ExpressionStatement 1452526 1452592 - BinaryExpression 1452526 1452591 - Identifier 1452526 1452578 - EqualsToken 1452578 1452580 - Identifier 1452580 1452591 - IfStatement 1452592 1452948 - BinaryExpression 1452618 1452644 - Identifier 1452618 1452630 - BarBarToken 1452630 1452633 - Identifier 1452633 1452644 - Block 1452645 1452948 - IfStatement 1452647 1452788 - Identifier 1452677 1452689 - Block 1452690 1452788 - ExpressionStatement 1452692 1452761 - BinaryExpression 1452692 1452760 - Identifier 1452692 1452730 - BarEqualsToken 1452730 1452733 - PropertyAccessExpression 1452733 1452760 - Identifier 1452733 1452747 - Identifier 1452748 1452760 - IfStatement 1452788 1452925 - Identifier 1452818 1452828 - Block 1452829 1452925 - ExpressionStatement 1452831 1452898 - BinaryExpression 1452831 1452897 - Identifier 1452831 1452869 - BarEqualsToken 1452869 1452872 - PropertyAccessExpression 1452872 1452897 - Identifier 1452872 1452886 - Identifier 1452887 1452897 - ExpressionStatement 1452967 1453010 - CallExpression 1452967 1453009 - PropertyAccessExpression 1452967 1452999 - Identifier 1452967 1452994 - Identifier 1452995 1452999 - Identifier 1453000 1453008 - IfStatement 1453025 1453188 - PrefixUnaryExpression 1453043 1453066 - Identifier 1453044 1453066 - Block 1453067 1453188 - ExpressionStatement 1453069 1453117 - BinaryExpression 1453069 1453116 - Identifier 1453069 1453108 - EqualsToken 1453108 1453110 - FalseKeyword 1453110 1453116 - ExpressionStatement 1453117 1453173 - BinaryExpression 1453117 1453172 - Identifier 1453117 1453150 - EqualsToken 1453150 1453152 - Identifier 1453152 1453172 - ExpressionStatement 1453188 1453230 - BinaryExpression 1453188 1453229 - PropertyAccessExpression 1453188 1453217 - Identifier 1453188 1453207 - Identifier 1453208 1453217 - EqualsToken 1453217 1453219 - Identifier 1453219 1453229 - ExpressionStatement 1453230 1453309 - CallExpression 1453230 1453308 - PropertyAccessExpression 1453230 1453256 - Identifier 1453230 1453251 - QuestionDotToken 1453251 1453253 - Identifier 1453253 1453256 - ObjectLiteralExpression 1453257 1453307 - PropertyAssignment 1453258 1453305 - Identifier 1453258 1453268 - CallExpression 1453269 1453305 - PropertyAccessExpression 1453269 1453283 - Identifier 1453269 1453279 - Identifier 1453280 1453283 - PropertyAccessExpression 1453284 1453304 - Identifier 1453284 1453289 - Identifier 1453290 1453304 - ReturnStatement 1453320 1453353 - PropertyAccessExpression 1453336 1453352 - Identifier 1453336 1453342 - Identifier 1453343 1453352 - FunctionDeclaration 1453360 1454008 - Identifier 1453376 1453393 - Parameter 1453394 1453408 - Identifier 1453394 1453400 - TypeReference 1453401 1453408 - Identifier 1453401 1453408 - Parameter 1453409 1453431 - Identifier 1453409 1453416 - TypeReference 1453417 1453431 - Identifier 1453417 1453431 - Parameter 1453432 1453445 - Identifier 1453432 1453439 - TypeReference 1453440 1453445 - Identifier 1453440 1453445 - Block 1453446 1454008 - VariableStatement 1453448 1453509 - VariableDeclarationList 1453448 1453508 - VariableDeclaration 1453463 1453508 - Identifier 1453463 1453470 - CallExpression 1453472 1453508 - Identifier 1453472 1453492 - Identifier 1453493 1453499 - Identifier 1453500 1453507 - VariableStatement 1453509 1453564 - VariableDeclarationList 1453509 1453563 - VariableDeclaration 1453524 1453563 - Identifier 1453524 1453529 - CallExpression 1453531 1453563 - Identifier 1453531 1453555 - Identifier 1453556 1453562 - IfStatement 1453564 1453635 - CallExpression 1453578 1453595 - Identifier 1453578 1453589 - Identifier 1453590 1453594 - Block 1453596 1453635 - ReturnStatement 1453598 1453624 - Identifier 1453618 1453623 - VariableStatement 1453635 1453932 - VariableDeclarationList 1453635 1453931 - VariableDeclaration 1453650 1453931 - Identifier 1453650 1453657 - ConditionalExpression 1453659 1453931 - BinaryExpression 1453659 1453696 - PropertyAccessExpression 1453659 1453672 - Identifier 1453659 1453666 - Identifier 1453667 1453672 - AmpersandToken 1453672 1453674 - PropertyAccessExpression 1453674 1453696 - Identifier 1453674 1453686 - Identifier 1453687 1453696 - QuestionToken 1453696 1453698 - CallExpression 1453698 1453811 - Identifier 1453698 1453737 - Identifier 1453738 1453744 - CallExpression 1453745 1453810 - Identifier 1453745 1453762 - NonNullExpression 1453763 1453801 - PropertyAccessExpression 1453763 1453800 - CallExpression 1453763 1453785 - Identifier 1453763 1453777 - Identifier 1453778 1453784 - Identifier 1453786 1453800 - Identifier 1453802 1453809 - ColonToken 1453811 1453813 - CallExpression 1453813 1453931 - Identifier 1453813 1453846 - AsExpression 1453847 1453866 - Identifier 1453847 1453851 - TypeReference 1453854 1453866 - Identifier 1453854 1453866 - CallExpression 1453867 1453930 - Identifier 1453867 1453884 - PropertyAccessExpression 1453885 1453921 - ParenthesizedExpression 1453885 1453906 - AsExpression 1453886 1453905 - Identifier 1453886 1453890 - TypeReference 1453893 1453905 - Identifier 1453893 1453905 - Identifier 1453907 1453921 - Identifier 1453922 1453929 - ExpressionStatement 1453932 1453977 - CallExpression 1453932 1453976 - PropertyAccessExpression 1453932 1453957 - Identifier 1453932 1453953 - Identifier 1453954 1453957 - CallExpression 1453958 1453975 - Identifier 1453958 1453967 - Identifier 1453968 1453974 - ReturnStatement 1453977 1454001 - Identifier 1453993 1454000 - FunctionDeclaration 1454008 1454108 - Identifier 1454024 1454037 - Parameter 1454038 1454048 - Identifier 1454038 1454042 - TypeReference 1454043 1454048 - Identifier 1454043 1454048 - Block 1454049 1454108 - ReturnStatement 1454051 1454101 - CallExpression 1454067 1454100 - PropertyAccessExpression 1454067 1454083 - Identifier 1454067 1454079 - Identifier 1454080 1454083 - CallExpression 1454084 1454099 - Identifier 1454084 1454093 - Identifier 1454094 1454098 - FunctionDeclaration 1454108 1454389 - Identifier 1454124 1454150 - Parameter 1454151 1454168 - Identifier 1454151 1454153 - TypeReference 1454154 1454168 - Identifier 1454154 1454168 - TypeReference 1454170 1454184 - Identifier 1454170 1454184 - Block 1454184 1454389 - ReturnStatement 1454186 1454382 - BinaryExpression 1454202 1454381 - CallExpression 1454202 1454318 - Identifier 1454202 1454213 - PropertyAccessExpression 1454214 1454237 - PropertyAccessExpression 1454214 1454223 - Identifier 1454214 1454216 - Identifier 1454217 1454223 - QuestionDotToken 1454223 1454225 - Identifier 1454225 1454237 - ArrowFunction 1454238 1454297 - Parameter 1454240 1454249 - Identifier 1454240 1454249 - Parameter 1454250 1454252 - Identifier 1454250 1454252 - EqualsGreaterThanToken 1454253 1454256 - BinaryExpression 1454256 1454297 - Identifier 1454256 1454266 - BarToken 1454266 1454268 - CallExpression 1454268 1454297 - Identifier 1454268 1454294 - Identifier 1454295 1454296 - PropertyAccessExpression 1454298 1454317 - Identifier 1454298 1454312 - Identifier 1454313 1454317 - AmpersandToken 1454318 1454320 - ParenthesizedExpression 1454320 1454381 - BinaryExpression 1454322 1454380 - BinaryExpression 1454322 1454358 - PropertyAccessExpression 1454322 1454338 - Identifier 1454322 1454335 - Identifier 1454336 1454338 - BarToken 1454338 1454340 - PropertyAccessExpression 1454340 1454358 - Identifier 1454340 1454354 - Identifier 1454355 1454358 - BarToken 1454358 1454360 - PropertyAccessExpression 1454360 1454380 - Identifier 1454360 1454374 - Identifier 1454375 1454380 - FunctionDeclaration 1454389 1454965 - Identifier 1454594 1454619 - Parameter 1454620 1454650 - Identifier 1454620 1454633 - TypeOperator 1454634 1454650 - ArrayType 1454643 1454650 - TypeReference 1454643 1454648 - Identifier 1454643 1454648 - Parameter 1454651 1454678 - Identifier 1454651 1454661 - ArrayType 1454662 1454678 - TypeReference 1454662 1454676 - Identifier 1454662 1454676 - BooleanKeyword 1454680 1454688 - Block 1454688 1454965 - ForStatement 1454690 1454935 - VariableDeclarationList 1454705 1454714 - VariableDeclaration 1454708 1454714 - Identifier 1454708 1454710 - NumericLiteral 1454712 1454714 - BinaryExpression 1454715 1454736 - Identifier 1454715 1454717 - LessThanToken 1454717 1454719 - PropertyAccessExpression 1454719 1454736 - Identifier 1454719 1454729 - Identifier 1454730 1454736 - PostfixUnaryExpression 1454737 1454741 - Identifier 1454737 1454739 - Block 1454742 1454935 - IfStatement 1454744 1454924 - BinaryExpression 1454762 1454876 - BinaryExpression 1454762 1454833 - ParenthesizedExpression 1454762 1454805 - BinaryExpression 1454763 1454804 - ElementAccessExpression 1454763 1454775 - Identifier 1454763 1454772 - Identifier 1454773 1454774 - AmpersandToken 1454775 1454777 - PropertyAccessExpression 1454777 1454804 - Identifier 1454777 1454791 - Identifier 1454792 1454804 - EqualsEqualsEqualsToken 1454805 1454809 - PropertyAccessExpression 1454809 1454833 - Identifier 1454809 1454823 - Identifier 1454824 1454833 - AmpersandAmpersandToken 1454833 1454836 - BinaryExpression 1454836 1454876 - PropertyAccessExpression 1454836 1454859 - ElementAccessExpression 1454836 1454853 - Identifier 1454836 1454850 - Identifier 1454851 1454852 - Identifier 1454854 1454859 - AmpersandToken 1454859 1454861 - PropertyAccessExpression 1454861 1454876 - Identifier 1454861 1454871 - Identifier 1454872 1454876 - Block 1454877 1454924 - ReturnStatement 1454879 1454909 - TrueKeyword 1454903 1454908 - ReturnStatement 1454935 1454958 - FalseKeyword 1454951 1454957 - FunctionDeclaration 1454965 1455141 - Identifier 1454981 1455010 - Parameter 1455011 1455021 - Identifier 1455011 1455015 - TypeReference 1455016 1455021 - Identifier 1455016 1455021 - Block 1455022 1455141 - ReturnStatement 1455024 1455134 - BinaryExpression 1455040 1455133 - BinaryExpression 1455040 1455077 - PropertyAccessExpression 1455040 1455051 - Identifier 1455040 1455045 - Identifier 1455046 1455051 - AmpersandToken 1455051 1455053 - PropertyAccessExpression 1455053 1455077 - Identifier 1455053 1455063 - Identifier 1455064 1455077 - AmpersandAmpersandToken 1455077 1455080 - PrefixUnaryExpression 1455080 1455133 - CallExpression 1455082 1455133 - Identifier 1455082 1455110 - AsExpression 1455111 1455132 - Identifier 1455111 1455115 - TypeReference 1455118 1455132 - Identifier 1455118 1455132 - FunctionDeclaration 1455141 1455327 - Identifier 1455157 1455184 - Parameter 1455185 1455195 - Identifier 1455185 1455189 - TypeReference 1455190 1455195 - Identifier 1455190 1455195 - TypePredicate 1455197 1455219 - Identifier 1455197 1455202 - TypeReference 1455205 1455219 - Identifier 1455205 1455219 - Block 1455219 1455327 - ReturnStatement 1455221 1455320 - BinaryExpression 1455237 1455319 - PrefixUnaryExpression 1455237 1455286 - PrefixUnaryExpression 1455239 1455286 - ParenthesizedExpression 1455240 1455286 - BinaryExpression 1455241 1455285 - CallExpression 1455241 1455261 - Identifier 1455241 1455255 - Identifier 1455256 1455260 - AmpersandToken 1455261 1455263 - PropertyAccessExpression 1455263 1455285 - Identifier 1455263 1455275 - Identifier 1455276 1455285 - AmpersandAmpersandToken 1455286 1455289 - PrefixUnaryExpression 1455289 1455319 - PropertyAccessExpression 1455291 1455319 - ParenthesizedExpression 1455291 1455314 - AsExpression 1455292 1455313 - Identifier 1455292 1455296 - TypeReference 1455299 1455313 - Identifier 1455299 1455313 - Identifier 1455315 1455319 - FunctionDeclaration 1455327 1455577 - Identifier 1455343 1455379 - Parameter 1455380 1455390 - Identifier 1455380 1455384 - TypeReference 1455385 1455390 - Identifier 1455385 1455390 - BooleanKeyword 1455392 1455400 - Block 1455400 1455577 - ReturnStatement 1455402 1455570 - BinaryExpression 1455418 1455569 - CallExpression 1455418 1455451 - Identifier 1455418 1455445 - Identifier 1455446 1455450 - AmpersandAmpersandToken 1455451 1455454 - CallExpression 1455454 1455569 - Identifier 1455454 1455459 - CallExpression 1455460 1455482 - Identifier 1455460 1455476 - Identifier 1455477 1455481 - ArrowFunction 1455483 1455568 - Parameter 1455483 1455485 - Identifier 1455483 1455485 - EqualsGreaterThanToken 1455485 1455488 - BinaryExpression 1455488 1455568 - PrefixUnaryExpression 1455488 1455526 - PrefixUnaryExpression 1455490 1455526 - ParenthesizedExpression 1455491 1455526 - BinaryExpression 1455492 1455525 - PropertyAccessExpression 1455492 1455499 - Identifier 1455492 1455493 - Identifier 1455494 1455499 - AmpersandToken 1455499 1455501 - PropertyAccessExpression 1455501 1455525 - Identifier 1455501 1455511 - Identifier 1455512 1455525 - BarBarToken 1455526 1455529 - CallExpression 1455529 1455568 - Identifier 1455529 1455565 - Identifier 1455566 1455567 - FunctionDeclaration 1455577 1457351 - Identifier 1455593 1455628 - Parameter 1455629 1455650 - Identifier 1455629 1455635 - TypeReference 1455636 1455650 - Identifier 1455636 1455650 - Parameter 1455651 1455673 - Identifier 1455651 1455658 - TypeReference 1455659 1455673 - Identifier 1455659 1455673 - Parameter 1455674 1455690 - Identifier 1455674 1455682 - StringKeyword 1455683 1455690 - Parameter 1455691 1455718 - Identifier 1455691 1455709 - BooleanKeyword 1455710 1455718 - Block 1455719 1457351 - VariableStatement 1455721 1455765 - VariableDeclarationList 1455721 1455764 - VariableDeclaration 1455736 1455764 - Identifier 1455736 1455751 - ArrayType 1455752 1455759 - TypeReference 1455752 1455757 - Identifier 1455752 1455757 - ArrayLiteralExpression 1455761 1455764 - VariableStatement 1455765 1455801 - VariableDeclarationList 1455765 1455800 - VariableDeclaration 1455778 1455800 - Identifier 1455778 1455795 - StringLiteral 1455797 1455800 - VariableStatement 1455801 1455858 - VariableDeclarationList 1455801 1455857 - VariableDeclaration 1455816 1455857 - Identifier 1455816 1455825 - CallExpression 1455827 1455857 - Identifier 1455827 1455846 - Identifier 1455847 1455853 - NumericLiteral 1455854 1455856 - VariableStatement 1455858 1455915 - VariableDeclarationList 1455858 1455914 - VariableDeclaration 1455873 1455914 - Identifier 1455873 1455882 - CallExpression 1455884 1455914 - Identifier 1455884 1455903 - Identifier 1455904 1455910 - NumericLiteral 1455911 1455913 - ReturnStatement 1455915 1455987 - TemplateExpression 1455931 1455986 - TemplateHead 1455931 1455935 - TemplateSpan 1455935 1455954 - Identifier 1455935 1455951 - TemplateMiddle 1455951 1455954 - TemplateSpan 1455954 1455966 - Identifier 1455954 1455962 - TemplateMiddle 1455962 1455966 - TemplateSpan 1455966 1455977 - Identifier 1455966 1455974 - TemplateMiddle 1455974 1455977 - TemplateSpan 1455977 1455986 - Identifier 1455977 1455984 - TemplateTail 1455984 1455986 - FunctionDeclaration 1455987 1457344 - Identifier 1456118 1456137 - Parameter 1456138 1456157 - Identifier 1456138 1456142 - TypeReference 1456143 1456157 - Identifier 1456143 1456157 - Parameter 1456158 1456168 - Identifier 1456158 1456164 - NumericLiteral 1456166 1456168 - Block 1456169 1457344 - VariableStatement 1456171 1456218 - VariableDeclarationList 1456171 1456217 - VariableDeclaration 1456188 1456217 - Identifier 1456188 1456195 - BinaryExpression 1456197 1456217 - StringLiteral 1456197 1456200 - PlusToken 1456200 1456202 - PropertyAccessExpression 1456202 1456217 - PropertyAccessExpression 1456202 1456214 - Identifier 1456202 1456207 - Identifier 1456208 1456214 - Identifier 1456215 1456217 - ForOfStatement 1456218 1457305 - VariableDeclarationList 1456237 1456244 - VariableDeclaration 1456242 1456244 - Identifier 1456242 1456244 - CallExpression 1456247 1456270 - Identifier 1456247 1456264 - Identifier 1456265 1456269 - Block 1456271 1457305 - IfStatement 1456273 1457251 - BinaryExpression 1456295 1456328 - PropertyAccessExpression 1456295 1456302 - Identifier 1456295 1456296 - Identifier 1456297 1456302 - AmpersandToken 1456302 1456304 - PropertyAccessExpression 1456304 1456328 - Identifier 1456304 1456314 - Identifier 1456315 1456328 - Block 1456329 1457026 - IfStatement 1456331 1456764 - BinaryExpression 1456357 1456409 - Identifier 1456357 1456374 - BarBarToken 1456374 1456377 - CallExpression 1456377 1456409 - Identifier 1456377 1456406 - Identifier 1456407 1456408 - Block 1456410 1456764 - VariableStatement 1456412 1456476 - VariableDeclarationList 1456412 1456475 - VariableDeclaration 1456441 1456475 - Identifier 1456441 1456447 - CallExpression 1456449 1456475 - PropertyAccessExpression 1456449 1456472 - Identifier 1456449 1456464 - Identifier 1456465 1456472 - Identifier 1456473 1456474 - IfStatement 1456476 1456658 - BinaryExpression 1456506 1456515 - Identifier 1456506 1456511 - LessThanToken 1456511 1456513 - NumericLiteral 1456513 1456515 - Block 1456516 1456658 - ExpressionStatement 1456518 1456578 - BinaryExpression 1456518 1456577 - Identifier 1456518 1456553 - EqualsToken 1456553 1456555 - PropertyAccessExpression 1456555 1456577 - Identifier 1456555 1456570 - Identifier 1456571 1456577 - ExpressionStatement 1456578 1456631 - CallExpression 1456578 1456630 - PropertyAccessExpression 1456578 1456627 - Identifier 1456578 1456622 - Identifier 1456623 1456627 - Identifier 1456628 1456629 - ExpressionStatement 1456658 1456706 - BinaryExpression 1456658 1456705 - Identifier 1456658 1456690 - PlusEqualsToken 1456690 1456693 - BinaryExpression 1456693 1456705 - StringLiteral 1456693 1456697 - PlusToken 1456697 1456699 - Identifier 1456699 1456705 - ContinueStatement 1456706 1456741 - ExpressionStatement 1456764 1457007 - BinaryExpression 1456764 1457006 - Identifier 1456764 1457000 - EqualsToken 1457000 1457002 - StringLiteral 1457002 1457006 - IfStatement 1457048 1457251 - BinaryExpression 1457053 1457104 - BinaryExpression 1457053 1457062 - Identifier 1457053 1457058 - LessThanToken 1457058 1457060 - NumericLiteral 1457060 1457062 - AmpersandAmpersandToken 1457062 1457065 - CallExpression 1457065 1457104 - Identifier 1457065 1457101 - Identifier 1457102 1457103 - Block 1457105 1457251 - ExpressionStatement 1457107 1457201 - BinaryExpression 1457107 1457200 - Identifier 1457107 1457135 - PlusEqualsToken 1457135 1457138 - BinaryExpression 1457138 1457200 - BinaryExpression 1457138 1457194 - StringLiteral 1457138 1457142 - PlusToken 1457142 1457144 - CallExpression 1457144 1457194 - Identifier 1457144 1457163 - AsExpression 1457164 1457182 - Identifier 1457164 1457165 - TypeReference 1457168 1457182 - Identifier 1457168 1457182 - BinaryExpression 1457183 1457193 - Identifier 1457183 1457189 - PlusToken 1457189 1457191 - NumericLiteral 1457191 1457193 - PlusToken 1457194 1457196 - StringLiteral 1457196 1457200 - ContinueStatement 1457201 1457232 - ExpressionStatement 1457251 1457290 - BinaryExpression 1457251 1457289 - Identifier 1457251 1457275 - PlusEqualsToken 1457275 1457278 - BinaryExpression 1457278 1457289 - StringLiteral 1457278 1457282 - PlusToken 1457282 1457284 - PropertyAccessExpression 1457284 1457289 - Identifier 1457284 1457286 - Identifier 1457287 1457289 - ReturnStatement 1457305 1457333 - Identifier 1457325 1457332 - FunctionDeclaration 1457351 1458260 - Identifier 1457555 1457570 - Parameter 1457571 1457583 - Identifier 1457571 1457577 - TypeReference 1457578 1457583 - Identifier 1457578 1457583 - Parameter 1457584 1457597 - Identifier 1457584 1457591 - TypeReference 1457592 1457597 - Identifier 1457592 1457597 - Parameter 1457598 1457635 - Identifier 1457598 1457616 - TypeReference 1457617 1457635 - Identifier 1457617 1457635 - Parameter 1457636 1457684 - Identifier 1457636 1457645 - TypeReference 1457646 1457684 - Identifier 1457646 1457650 - StringKeyword 1457651 1457657 - TypeReference 1457658 1457683 - Identifier 1457658 1457683 - Parameter 1457685 1457712 - Identifier 1457685 1457703 - BooleanKeyword 1457704 1457712 - Block 1457713 1458260 - IfStatement 1457715 1457889 - BinaryExpression 1457729 1457783 - BinaryExpression 1457729 1457758 - Identifier 1457729 1457737 - EqualsEqualsEqualsToken 1457737 1457741 - Identifier 1457741 1457758 - AmpersandAmpersandToken 1457758 1457761 - BinaryExpression 1457761 1457783 - PropertyAccessExpression 1457761 1457771 - Identifier 1457761 1457768 - Identifier 1457769 1457771 - GreaterThanToken 1457771 1457773 - PropertyAccessExpression 1457773 1457783 - Identifier 1457773 1457780 - Identifier 1457781 1457783 - Block 1457784 1457889 - VariableStatement 1457786 1457820 - VariableDeclarationList 1457786 1457819 - VariableDeclaration 1457805 1457819 - Identifier 1457805 1457810 - Identifier 1457812 1457819 - ExpressionStatement 1457820 1457850 - BinaryExpression 1457820 1457849 - Identifier 1457820 1457840 - EqualsToken 1457840 1457842 - Identifier 1457842 1457849 - ExpressionStatement 1457850 1457878 - BinaryExpression 1457850 1457877 - Identifier 1457850 1457870 - EqualsToken 1457870 1457872 - Identifier 1457872 1457877 - VariableStatement 1457889 1457964 - VariableDeclarationList 1457889 1457963 - VariableDeclaration 1457904 1457963 - Identifier 1457904 1457912 - ConditionalExpression 1457914 1457963 - Identifier 1457914 1457932 - QuestionToken 1457932 1457934 - BinaryExpression 1457934 1457958 - StringLiteral 1457934 1457938 - PlusToken 1457938 1457940 - Identifier 1457940 1457958 - ColonToken 1457958 1457960 - StringLiteral 1457960 1457963 - ReturnStatement 1457964 1458253 - ConditionalExpression 1457980 1458252 - BinaryExpression 1457980 1458071 - CallExpression 1457980 1458024 - Identifier 1457980 1458016 - Identifier 1458017 1458023 - AmpersandAmpersandToken 1458024 1458027 - CallExpression 1458027 1458071 - Identifier 1458027 1458063 - Identifier 1458064 1458070 - QuestionToken 1458071 1458073 - CallExpression 1458073 1458199 - Identifier 1458073 1458121 - AsExpression 1458122 1458145 - Identifier 1458122 1458128 - TypeReference 1458131 1458145 - Identifier 1458131 1458145 - AsExpression 1458146 1458170 - Identifier 1458146 1458153 - TypeReference 1458156 1458170 - Identifier 1458156 1458170 - Identifier 1458171 1458179 - Identifier 1458180 1458198 - ColonToken 1458199 1458201 - TemplateExpression 1458201 1458252 - TemplateHead 1458201 1458218 - TemplateSpan 1458218 1458231 - PropertyAccessExpression 1458218 1458227 - Identifier 1458218 1458224 - Identifier 1458225 1458227 - TemplateMiddle 1458227 1458231 - TemplateSpan 1458231 1458243 - PropertyAccessExpression 1458231 1458240 - Identifier 1458231 1458237 - Identifier 1458238 1458240 - TemplateMiddle 1458240 1458243 - TemplateSpan 1458243 1458252 - Identifier 1458243 1458250 - TemplateTail 1458250 1458252 - FunctionDeclaration 1458260 1459077 - Identifier 1458417 1458433 - TypeParameter 1458434 1458435 - Identifier 1458434 1458435 - Parameter 1458437 1458449 - Identifier 1458437 1458441 - TypeReference 1458442 1458449 - Identifier 1458442 1458449 - Parameter 1458450 1458477 - Identifier 1458450 1458459 - FunctionType 1458460 1458477 - Parameter 1458462 1458471 - Identifier 1458462 1458463 - TypeReference 1458464 1458471 - Identifier 1458464 1458471 - TypeReference 1458475 1458477 - Identifier 1458475 1458477 - UnionType 1458479 1458493 - TypeReference 1458479 1458481 - Identifier 1458479 1458481 - UndefinedKeyword 1458483 1458493 - Block 1458493 1459077 - IfStatement 1458495 1459038 - BinaryExpression 1458509 1458551 - CallExpression 1458509 1458528 - Identifier 1458509 1458522 - Identifier 1458523 1458527 - AmpersandToken 1458528 1458530 - PropertyAccessExpression 1458530 1458551 - Identifier 1458530 1458541 - Identifier 1458542 1458551 - Block 1458552 1459038 - ForOfStatement 1458554 1458996 - VariableDeclarationList 1458694 1458701 - VariableDeclaration 1458699 1458701 - Identifier 1458699 1458701 - PropertyAccessExpression 1458704 1458758 - NonNullExpression 1458704 1458752 - PropertyAccessExpression 1458704 1458751 - PropertyAccessExpression 1458704 1458736 - ParenthesizedExpression 1458704 1458730 - AsExpression 1458706 1458729 - Identifier 1458706 1458710 - TypeReference 1458713 1458729 - Identifier 1458713 1458729 - Identifier 1458731 1458736 - Identifier 1458737 1458751 - Identifier 1458753 1458758 - Block 1458759 1458996 - VariableStatement 1458761 1458828 - VariableDeclarationList 1458761 1458827 - VariableDeclaration 1458784 1458827 - Identifier 1458784 1458786 - CallExpression 1458788 1458827 - Identifier 1458788 1458806 - Identifier 1458807 1458808 - PropertyAccessExpression 1458809 1458826 - Identifier 1458809 1458814 - Identifier 1458815 1458826 - VariableStatement 1458828 1458895 - VariableDeclarationList 1458828 1458894 - VariableDeclaration 1458851 1458894 - Identifier 1458851 1458858 - BinaryExpression 1458860 1458894 - Identifier 1458860 1458862 - AmpersandAmpersandToken 1458862 1458865 - CallExpression 1458865 1458894 - Identifier 1458865 1458881 - Identifier 1458882 1458883 - Identifier 1458884 1458893 - IfStatement 1458895 1458981 - Identifier 1458917 1458923 - Block 1458924 1458981 - ReturnStatement 1458926 1458962 - Identifier 1458954 1458961 - ReturnStatement 1458996 1459027 - Identifier 1459016 1459026 - ReturnStatement 1459038 1459070 - CallExpression 1459054 1459069 - Identifier 1459054 1459063 - Identifier 1459064 1459068 - FunctionDeclaration 1459077 1459386 - Identifier 1459194 1459212 - Parameter 1459213 1459225 - Identifier 1459213 1459217 - TypeReference 1459218 1459225 - Identifier 1459218 1459225 - Block 1459226 1459386 - ReturnStatement 1459228 1459379 - ConditionalExpression 1459244 1459378 - BinaryExpression 1459244 1459297 - PropertyAccessExpression 1459244 1459256 - Identifier 1459244 1459249 - Identifier 1459250 1459256 - AmpersandAmpersandToken 1459256 1459259 - BinaryExpression 1459259 1459297 - PropertyAccessExpression 1459259 1459277 - PropertyAccessExpression 1459259 1459271 - Identifier 1459259 1459264 - Identifier 1459265 1459271 - Identifier 1459272 1459277 - AmpersandToken 1459277 1459279 - PropertyAccessExpression 1459279 1459297 - Identifier 1459279 1459291 - Identifier 1459292 1459297 - QuestionToken 1459297 1459299 - AsExpression 1459299 1459366 - CallExpression 1459299 1459349 - Identifier 1459299 1459323 - NonNullExpression 1459324 1459348 - CallExpression 1459324 1459347 - Identifier 1459324 1459341 - Identifier 1459342 1459346 - TypeReference 1459352 1459366 - Identifier 1459352 1459366 - ColonToken 1459366 1459368 - Identifier 1459368 1459378 - FunctionDeclaration 1459386 1459793 - Identifier 1459514 1459543 - Parameter 1459544 1459560 - Identifier 1459544 1459552 - TypeReference 1459553 1459560 - Identifier 1459553 1459560 - Block 1459561 1459793 - VariableStatement 1459563 1459619 - VariableDeclarationList 1459563 1459618 - VariableDeclaration 1459578 1459618 - Identifier 1459578 1459588 - CallExpression 1459590 1459618 - Identifier 1459590 1459608 - Identifier 1459609 1459617 - VariableStatement 1459619 1459691 - VariableDeclarationList 1459619 1459690 - VariableDeclaration 1459634 1459690 - Identifier 1459634 1459648 - BinaryExpression 1459650 1459690 - Identifier 1459650 1459660 - AmpersandAmpersandToken 1459660 1459663 - ElementAccessExpression 1459663 1459690 - CallExpression 1459663 1459687 - Identifier 1459663 1459676 - Identifier 1459677 1459686 - NumericLiteral 1459688 1459689 - ReturnStatement 1459691 1459786 - BinaryExpression 1459707 1459785 - Identifier 1459707 1459721 - AmpersandAmpersandToken 1459721 1459724 - CallExpression 1459724 1459785 - Identifier 1459724 1459748 - Identifier 1459749 1459762 - PropertyAccessExpression 1459763 1459784 - Identifier 1459763 1459772 - Identifier 1459773 1459784 - FunctionDeclaration 1459793 1460210 - Identifier 1459935 1459964 - Parameter 1459965 1459977 - Identifier 1459965 1459969 - TypeReference 1459970 1459977 - Identifier 1459970 1459977 - Parameter 1459978 1460006 - Identifier 1459978 1459988 - UnionType 1459989 1460006 - TypeReference 1459989 1459994 - Identifier 1459989 1459994 - UndefinedKeyword 1459996 1460006 - Block 1460007 1460210 - ReturnStatement 1460009 1460203 - CallExpression 1460025 1460202 - Identifier 1460025 1460041 - Identifier 1460042 1460046 - ArrowFunction 1460047 1460201 - Parameter 1460047 1460050 - Identifier 1460047 1460050 - EqualsGreaterThanToken 1460050 1460053 - Block 1460053 1460201 - VariableStatement 1460055 1460111 - VariableDeclarationList 1460055 1460110 - VariableDeclaration 1460074 1460110 - Identifier 1460074 1460086 - CallExpression 1460088 1460110 - Identifier 1460088 1460106 - Identifier 1460107 1460109 - ReturnStatement 1460111 1460190 - ConditionalExpression 1460131 1460189 - Identifier 1460131 1460143 - QuestionToken 1460143 1460145 - CallExpression 1460145 1460181 - Identifier 1460145 1460157 - Identifier 1460158 1460169 - Identifier 1460170 1460180 - ColonToken 1460181 1460183 - FalseKeyword 1460183 1460189 - FunctionDeclaration 1460210 1460617 - Identifier 1460324 1460342 - Parameter 1460343 1460361 - Identifier 1460343 1460353 - TypeReference 1460354 1460361 - Identifier 1460354 1460361 - Parameter 1460362 1460381 - Identifier 1460362 1460373 - TypeReference 1460374 1460381 - Identifier 1460374 1460381 - Block 1460382 1460617 - ReturnStatement 1460384 1460610 - PrefixUnaryExpression 1460400 1460609 - CallExpression 1460402 1460609 - Identifier 1460402 1460417 - Identifier 1460418 1460428 - ArrowFunction 1460429 1460608 - Parameter 1460429 1460432 - Identifier 1460429 1460432 - EqualsGreaterThanToken 1460432 1460435 - ConditionalExpression 1460435 1460608 - BinaryExpression 1460435 1460516 - CallExpression 1460435 1460490 - Identifier 1460435 1460486 - Identifier 1460487 1460489 - AmpersandToken 1460490 1460492 - PropertyAccessExpression 1460492 1460516 - Identifier 1460492 1460506 - Identifier 1460507 1460516 - QuestionToken 1460516 1460518 - PrefixUnaryExpression 1460518 1460600 - CallExpression 1460537 1460600 - Identifier 1460537 1460565 - Identifier 1460566 1460576 - CallExpression 1460577 1460599 - Identifier 1460577 1460595 - Identifier 1460596 1460598 - ColonToken 1460600 1460602 - FalseKeyword 1460602 1460608 - FunctionDeclaration 1460617 1461124 - Identifier 1460776 1460811 - TypeParameter 1460812 1460826 - Identifier 1460812 1460813 - TypeReference 1460821 1460826 - Identifier 1460821 1460826 - Parameter 1460828 1460841 - Identifier 1460828 1460838 - TypeReference 1460839 1460841 - Identifier 1460839 1460841 - Parameter 1460842 1460855 - Identifier 1460842 1460847 - TypeReference 1460848 1460855 - Identifier 1460848 1460855 - Parameter 1460856 1460873 - Identifier 1460856 1460864 - BooleanKeyword 1460865 1460873 - Block 1460874 1461124 - ReturnStatement 1460876 1461117 - ConditionalExpression 1460892 1461116 - CallExpression 1460892 1461091 - Identifier 1460892 1460908 - Identifier 1460909 1460913 - ArrowFunction 1460914 1461090 - Parameter 1460914 1460916 - Identifier 1460914 1460916 - EqualsGreaterThanToken 1460916 1460919 - ConditionalExpression 1460919 1461090 - BinaryExpression 1460919 1461012 - CallExpression 1460919 1460986 - Identifier 1460919 1460974 - Identifier 1460975 1460976 - Identifier 1460977 1460985 - AmpersandToken 1460986 1460988 - PropertyAccessExpression 1460988 1461012 - Identifier 1460988 1461002 - Identifier 1461003 1461012 - QuestionToken 1461012 1461014 - PrefixUnaryExpression 1461014 1461082 - CallExpression 1461037 1461082 - Identifier 1461037 1461048 - Identifier 1461049 1461059 - CallExpression 1461060 1461081 - Identifier 1461060 1461078 - Identifier 1461079 1461080 - ColonToken 1461082 1461084 - FalseKeyword 1461084 1461090 - QuestionToken 1461091 1461093 - Identifier 1461093 1461103 - ColonToken 1461103 1461105 - Identifier 1461105 1461116 - FunctionDeclaration 1461124 1463623 - Identifier 1462316 1462335 - Parameter 1462336 1462346 - Identifier 1462336 1462340 - TypeReference 1462341 1462346 - Identifier 1462341 1462346 - Parameter 1462347 1462361 - Identifier 1462347 1462353 - ArrayType 1462354 1462361 - TypeReference 1462354 1462359 - Identifier 1462354 1462359 - Parameter 1462362 1462376 - Identifier 1462362 1462368 - NumberKeyword 1462369 1462376 - Parameter 1462377 1462390 - Identifier 1462377 1462386 - NumericLiteral 1462388 1462390 - BooleanKeyword 1462392 1462400 - Block 1462400 1463623 - IfStatement 1462402 1463593 - BinaryExpression 1462416 1462433 - Identifier 1462416 1462421 - GreaterThanEqualsToken 1462421 1462424 - Identifier 1462424 1462433 - Block 1462434 1463593 - IfStatement 1462436 1462619 - BinaryExpression 1462454 1462544 - ParenthesizedExpression 1462454 1462509 - BinaryExpression 1462455 1462508 - CallExpression 1462455 1462475 - Identifier 1462455 1462469 - Identifier 1462470 1462474 - AmpersandToken 1462475 1462477 - PropertyAccessExpression 1462477 1462508 - Identifier 1462477 1462489 - Identifier 1462490 1462508 - EqualsEqualsEqualsToken 1462509 1462513 - PropertyAccessExpression 1462513 1462544 - Identifier 1462513 1462525 - Identifier 1462526 1462544 - Block 1462545 1462619 - ExpressionStatement 1462547 1462604 - BinaryExpression 1462547 1462603 - Identifier 1462547 1462569 - EqualsToken 1462569 1462571 - CallExpression 1462571 1462603 - Identifier 1462571 1462597 - Identifier 1462598 1462602 - IfStatement 1462619 1462806 - BinaryExpression 1462637 1462672 - PropertyAccessExpression 1462637 1462647 - Identifier 1462637 1462641 - Identifier 1462642 1462647 - AmpersandToken 1462647 1462649 - PropertyAccessExpression 1462649 1462672 - Identifier 1462649 1462659 - Identifier 1462660 1462672 - Block 1462673 1462806 - ReturnStatement 1462675 1462791 - CallExpression 1462699 1462790 - Identifier 1462699 1462704 - PropertyAccessExpression 1462705 1462737 - ParenthesizedExpression 1462705 1462731 - AsExpression 1462706 1462730 - Identifier 1462706 1462710 - TypeReference 1462713 1462730 - Identifier 1462713 1462730 - Identifier 1462732 1462737 - ArrowFunction 1462738 1462789 - Parameter 1462738 1462740 - Identifier 1462738 1462740 - EqualsGreaterThanToken 1462740 1462743 - CallExpression 1462743 1462789 - Identifier 1462743 1462762 - Identifier 1462763 1462764 - Identifier 1462765 1462771 - Identifier 1462772 1462778 - Identifier 1462779 1462788 - VariableStatement 1462806 1462864 - VariableDeclarationList 1462806 1462863 - VariableDeclaration 1462825 1462863 - Identifier 1462825 1462834 - CallExpression 1462836 1462863 - Identifier 1462836 1462857 - Identifier 1462858 1462862 - VariableStatement 1462864 1462892 - VariableDeclarationList 1462864 1462891 - VariableDeclaration 1462881 1462891 - Identifier 1462881 1462887 - NumericLiteral 1462889 1462891 - VariableStatement 1462892 1462925 - VariableDeclarationList 1462892 1462924 - VariableDeclaration 1462909 1462924 - Identifier 1462909 1462920 - NumericLiteral 1462922 1462924 - ForStatement 1462925 1463582 - VariableDeclarationList 1462944 1462953 - VariableDeclaration 1462947 1462953 - Identifier 1462947 1462949 - NumericLiteral 1462951 1462953 - BinaryExpression 1462954 1462964 - Identifier 1462954 1462956 - LessThanToken 1462956 1462958 - Identifier 1462958 1462964 - PostfixUnaryExpression 1462965 1462969 - Identifier 1462965 1462967 - Block 1462970 1463582 - VariableStatement 1462972 1463009 - VariableDeclarationList 1462972 1463008 - VariableDeclaration 1462995 1463008 - Identifier 1462995 1462997 - ElementAccessExpression 1462999 1463008 - Identifier 1462999 1463005 - Identifier 1463006 1463007 - IfStatement 1463009 1463567 - CallExpression 1463031 1463072 - Identifier 1463031 1463059 - Identifier 1463060 1463061 - Identifier 1463062 1463071 - Block 1463073 1463567 - IfStatement 1463075 1463508 - BinaryExpression 1463311 1463329 - PropertyAccessExpression 1463311 1463315 - Identifier 1463311 1463312 - Identifier 1463313 1463315 - GreaterThanEqualsToken 1463315 1463318 - Identifier 1463318 1463329 - Block 1463330 1463508 - ExpressionStatement 1463332 1463366 - PostfixUnaryExpression 1463332 1463365 - Identifier 1463332 1463363 - IfStatement 1463366 1463485 - BinaryExpression 1463396 1463413 - Identifier 1463396 1463401 - GreaterThanEqualsToken 1463401 1463404 - Identifier 1463404 1463413 - Block 1463414 1463485 - ReturnStatement 1463416 1463458 - TrueKeyword 1463452 1463457 - ExpressionStatement 1463508 1463548 - BinaryExpression 1463508 1463547 - Identifier 1463508 1463540 - EqualsToken 1463540 1463542 - PropertyAccessExpression 1463542 1463547 - Identifier 1463542 1463544 - Identifier 1463545 1463547 - ReturnStatement 1463593 1463616 - FalseKeyword 1463609 1463615 - FunctionDeclaration 1463623 1464574 - Identifier 1464099 1464125 - Parameter 1464126 1464136 - Identifier 1464126 1464130 - TypeReference 1464131 1464136 - Identifier 1464131 1464136 - Block 1464137 1464574 - VariableStatement 1464139 1464160 - VariableDeclarationList 1464139 1464159 - VariableDeclaration 1464152 1464159 - Identifier 1464152 1464159 - WhileStatement 1464160 1464545 - BinaryExpression 1464177 1464493 - BinaryExpression 1464177 1464359 - BinaryExpression 1464177 1464281 - ParenthesizedExpression 1464177 1464246 - BinaryExpression 1464192 1464245 - CallExpression 1464192 1464212 - Identifier 1464192 1464206 - Identifier 1464207 1464211 - AmpersandToken 1464212 1464214 - PropertyAccessExpression 1464214 1464245 - Identifier 1464214 1464226 - Identifier 1464227 1464245 - EqualsEqualsEqualsToken 1464246 1464250 - PropertyAccessExpression 1464250 1464281 - Identifier 1464250 1464262 - Identifier 1464263 1464281 - AmpersandAmpersandToken 1464281 1464284 - ParenthesizedExpression 1464284 1464359 - BinaryExpression 1464299 1464358 - Identifier 1464299 1464305 - EqualsToken 1464305 1464307 - CallExpression 1464307 1464358 - Identifier 1464307 1464338 - AsExpression 1464339 1464357 - Identifier 1464339 1464343 - TypeReference 1464346 1464357 - Identifier 1464346 1464357 - AmpersandAmpersandToken 1464359 1464362 - ParenthesizedExpression 1464362 1464493 - BinaryExpression 1464377 1464492 - PropertyAccessExpression 1464377 1464390 - Identifier 1464377 1464383 - Identifier 1464384 1464390 - BarBarToken 1464390 1464393 - BinaryExpression 1464393 1464492 - BinaryExpression 1464393 1464431 - PropertyAccessExpression 1464393 1464406 - Identifier 1464393 1464400 - Identifier 1464401 1464406 - AmpersandToken 1464406 1464408 - PropertyAccessExpression 1464408 1464431 - Identifier 1464408 1464418 - Identifier 1464419 1464431 - AmpersandAmpersandToken 1464431 1464434 - CallExpression 1464434 1464492 - Identifier 1464434 1464439 - PropertyAccessExpression 1464440 1464474 - ParenthesizedExpression 1464440 1464468 - AsExpression 1464441 1464467 - Identifier 1464441 1464447 - TypeReference 1464450 1464467 - Identifier 1464450 1464467 - Identifier 1464469 1464474 - ArrowFunction 1464475 1464491 - Parameter 1464475 1464477 - Identifier 1464475 1464477 - EqualsGreaterThanToken 1464477 1464480 - PrefixUnaryExpression 1464480 1464491 - PrefixUnaryExpression 1464482 1464491 - PropertyAccessExpression 1464483 1464491 - Identifier 1464483 1464484 - Identifier 1464485 1464491 - Block 1464504 1464545 - ExpressionStatement 1464506 1464534 - BinaryExpression 1464506 1464533 - Identifier 1464506 1464524 - EqualsToken 1464524 1464526 - Identifier 1464526 1464533 - ReturnStatement 1464545 1464567 - Identifier 1464561 1464566 - FunctionDeclaration 1464574 1465066 - Identifier 1464590 1464619 - Parameter 1464620 1464630 - Identifier 1464620 1464624 - TypeReference 1464625 1464630 - Identifier 1464625 1464630 - Parameter 1464631 1464648 - Identifier 1464631 1464640 - ObjectKeyword 1464641 1464648 - BooleanKeyword 1464650 1464658 - Block 1464658 1465066 - IfStatement 1464660 1464831 - BinaryExpression 1464674 1464764 - ParenthesizedExpression 1464674 1464729 - BinaryExpression 1464675 1464728 - CallExpression 1464675 1464695 - Identifier 1464675 1464689 - Identifier 1464690 1464694 - AmpersandToken 1464695 1464697 - PropertyAccessExpression 1464697 1464728 - Identifier 1464697 1464709 - Identifier 1464710 1464728 - EqualsEqualsEqualsToken 1464729 1464733 - PropertyAccessExpression 1464733 1464764 - Identifier 1464733 1464745 - Identifier 1464746 1464764 - Block 1464765 1464831 - ExpressionStatement 1464767 1464820 - BinaryExpression 1464767 1464819 - Identifier 1464767 1464785 - EqualsToken 1464785 1464787 - CallExpression 1464787 1464819 - Identifier 1464787 1464813 - Identifier 1464814 1464818 - IfStatement 1464831 1465002 - BinaryExpression 1464845 1464880 - PropertyAccessExpression 1464845 1464855 - Identifier 1464845 1464849 - Identifier 1464850 1464855 - AmpersandToken 1464855 1464857 - PropertyAccessExpression 1464857 1464880 - Identifier 1464857 1464867 - Identifier 1464868 1464880 - Block 1464881 1465002 - ReturnStatement 1464883 1464991 - CallExpression 1464903 1464990 - Identifier 1464903 1464908 - PropertyAccessExpression 1464909 1464941 - ParenthesizedExpression 1464909 1464935 - AsExpression 1464910 1464934 - Identifier 1464910 1464914 - TypeReference 1464917 1464934 - Identifier 1464917 1464934 - Identifier 1464936 1464941 - ArrowFunction 1464942 1464989 - Parameter 1464942 1464944 - Identifier 1464942 1464944 - EqualsGreaterThanToken 1464944 1464947 - CallExpression 1464947 1464989 - Identifier 1464947 1464976 - Identifier 1464977 1464978 - Identifier 1464979 1464988 - ReturnStatement 1465002 1465059 - BinaryExpression 1465018 1465058 - CallExpression 1465018 1465045 - Identifier 1465018 1465039 - Identifier 1465040 1465044 - EqualsEqualsEqualsToken 1465045 1465049 - Identifier 1465049 1465058 - FunctionDeclaration 1465066 1467784 - Identifier 1465764 1465785 - Parameter 1465786 1465796 - Identifier 1465786 1465790 - TypeReference 1465791 1465796 - Identifier 1465791 1465796 - ObjectKeyword 1465798 1465805 - Block 1465805 1467784 - IfStatement 1465807 1466939 - BinaryExpression 1465942 1466008 - BinaryExpression 1465942 1465971 - PropertyAccessExpression 1465942 1465952 - Identifier 1465942 1465946 - Identifier 1465947 1465952 - AmpersandToken 1465952 1465954 - PropertyAccessExpression 1465954 1465971 - Identifier 1465954 1465964 - Identifier 1465965 1465971 - AmpersandAmpersandToken 1465971 1465974 - PrefixUnaryExpression 1465974 1466008 - CallExpression 1465976 1466008 - Identifier 1465976 1466002 - Identifier 1466003 1466007 - Block 1466009 1466939 - IfStatement 1466011 1466437 - BinaryExpression 1466029 1466105 - BinaryExpression 1466029 1466073 - CallExpression 1466029 1466049 - Identifier 1466029 1466043 - Identifier 1466044 1466048 - AmpersandToken 1466049 1466051 - PropertyAccessExpression 1466051 1466073 - Identifier 1466051 1466063 - Identifier 1466064 1466073 - AmpersandAmpersandToken 1466073 1466076 - PropertyAccessExpression 1466076 1466105 - ParenthesizedExpression 1466076 1466100 - AsExpression 1466078 1466099 - Identifier 1466078 1466082 - TypeReference 1466085 1466099 - Identifier 1466085 1466099 - Identifier 1466101 1466105 - Block 1466106 1466437 - ReturnStatement 1466108 1466422 - NonNullExpression 1466391 1466421 - PropertyAccessExpression 1466391 1466420 - ParenthesizedExpression 1466391 1466415 - AsExpression 1466393 1466414 - Identifier 1466393 1466397 - TypeReference 1466400 1466414 - Identifier 1466400 1466414 - Identifier 1466416 1466420 - IfStatement 1466437 1466838 - BinaryExpression 1466455 1466558 - PropertyAccessExpression 1466455 1466466 - Identifier 1466455 1466459 - Identifier 1466460 1466466 - AmpersandAmpersandToken 1466466 1466469 - PrefixUnaryExpression 1466469 1466558 - ParenthesizedExpression 1466471 1466558 - BinaryExpression 1466472 1466557 - BinaryExpression 1466472 1466516 - CallExpression 1466472 1466492 - Identifier 1466472 1466486 - Identifier 1466487 1466491 - AmpersandToken 1466492 1466494 - PropertyAccessExpression 1466494 1466516 - Identifier 1466494 1466506 - Identifier 1466507 1466516 - AmpersandAmpersandToken 1466516 1466519 - BinaryExpression 1466519 1466557 - PropertyAccessExpression 1466519 1466537 - PropertyAccessExpression 1466519 1466531 - Identifier 1466519 1466524 - Identifier 1466525 1466531 - Identifier 1466532 1466537 - AmpersandToken 1466537 1466539 - PropertyAccessExpression 1466539 1466557 - Identifier 1466539 1466551 - Identifier 1466552 1466557 - Block 1466559 1466838 - ReturnStatement 1466561 1466823 - PropertyAccessExpression 1466810 1466822 - Identifier 1466810 1466815 - Identifier 1466816 1466822 - IfStatement 1466838 1466928 - CallExpression 1466856 1466873 - Identifier 1466856 1466867 - Identifier 1466868 1466872 - Block 1466874 1466928 - ReturnStatement 1466876 1466913 - PropertyAccessExpression 1466900 1466912 - Identifier 1466900 1466905 - Identifier 1466906 1466912 - IfStatement 1466939 1467202 - BinaryExpression 1466953 1466989 - PropertyAccessExpression 1466953 1466963 - Identifier 1466953 1466957 - Identifier 1466958 1466963 - AmpersandToken 1466963 1466965 - PropertyAccessExpression 1466965 1466989 - Identifier 1466965 1466975 - Identifier 1466976 1466989 - Block 1466990 1467202 - ReturnStatement 1466992 1467191 - PropertyAccessExpression 1467178 1467190 - Identifier 1467178 1467183 - Identifier 1467184 1467190 - IfStatement 1467202 1467563 - BinaryExpression 1467216 1467252 - PropertyAccessExpression 1467216 1467226 - Identifier 1467216 1467220 - Identifier 1467221 1467226 - AmpersandToken 1467226 1467228 - PropertyAccessExpression 1467228 1467252 - Identifier 1467228 1467238 - Identifier 1467239 1467252 - Block 1467253 1467563 - DoStatement 1467255 1467526 - Block 1467386 1467467 - ExpressionStatement 1467388 1467452 - BinaryExpression 1467388 1467451 - Identifier 1467388 1467410 - EqualsToken 1467410 1467412 - PropertyAccessExpression 1467412 1467451 - ParenthesizedExpression 1467412 1467440 - AsExpression 1467414 1467439 - Identifier 1467414 1467418 - TypeReference 1467421 1467439 - Identifier 1467421 1467439 - Identifier 1467441 1467451 - BinaryExpression 1467488 1467524 - PropertyAccessExpression 1467488 1467498 - Identifier 1467488 1467492 - Identifier 1467493 1467498 - AmpersandToken 1467498 1467500 - PropertyAccessExpression 1467500 1467524 - Identifier 1467500 1467510 - Identifier 1467511 1467524 - ReturnStatement 1467526 1467552 - Identifier 1467546 1467551 - IfStatement 1467563 1467755 - BinaryExpression 1467577 1467611 - PropertyAccessExpression 1467577 1467587 - Identifier 1467577 1467581 - Identifier 1467582 1467587 - AmpersandToken 1467587 1467589 - PropertyAccessExpression 1467589 1467611 - Identifier 1467589 1467599 - Identifier 1467600 1467611 - Block 1467612 1467755 - ReturnStatement 1467614 1467744 - PropertyAccessExpression 1467712 1467743 - ParenthesizedExpression 1467712 1467738 - AsExpression 1467714 1467737 - Identifier 1467714 1467718 - TypeReference 1467721 1467737 - Identifier 1467721 1467737 - Identifier 1467739 1467743 - ReturnStatement 1467755 1467777 - Identifier 1467771 1467776 - FunctionDeclaration 1467784 1467980 - Identifier 1467800 1467822 - Parameter 1467823 1467841 - Identifier 1467823 1467833 - TypeReference 1467834 1467841 - Identifier 1467834 1467841 - Parameter 1467842 1467861 - Identifier 1467842 1467853 - TypeReference 1467854 1467861 - Identifier 1467854 1467861 - BooleanKeyword 1467863 1467871 - Block 1467871 1467980 - ReturnStatement 1467873 1467973 - BinaryExpression 1467889 1467972 - CallExpression 1467889 1467954 - Identifier 1467889 1467907 - Identifier 1467908 1467918 - Identifier 1467919 1467930 - Identifier 1467931 1467953 - ExclamationEqualsEqualsToken 1467954 1467958 - PropertyAccessExpression 1467958 1467972 - Identifier 1467958 1467966 - Identifier 1467967 1467972 - FunctionDeclaration 1467980 1469451 - Identifier 1467996 1468014 - Parameter 1468015 1468033 - Identifier 1468015 1468025 - TypeReference 1468026 1468033 - Identifier 1468026 1468033 - Parameter 1468034 1468053 - Identifier 1468034 1468045 - TypeReference 1468046 1468053 - Identifier 1468046 1468053 - Parameter 1468054 1468108 - Identifier 1468054 1468067 - FunctionType 1468068 1468108 - Parameter 1468070 1468082 - Identifier 1468070 1468076 - TypeReference 1468077 1468082 - Identifier 1468077 1468082 - Parameter 1468083 1468096 - Identifier 1468083 1468090 - TypeReference 1468091 1468096 - Identifier 1468091 1468096 - TypeReference 1468100 1468108 - Identifier 1468100 1468108 - TypeReference 1468110 1468118 - Identifier 1468110 1468118 - Block 1468118 1469451 - IfStatement 1468120 1468466 - BinaryExpression 1468393 1468418 - Identifier 1468393 1468403 - EqualsEqualsEqualsToken 1468403 1468407 - Identifier 1468407 1468418 - Block 1468419 1468466 - ReturnStatement 1468421 1468455 - PropertyAccessExpression 1468441 1468454 - Identifier 1468441 1468449 - Identifier 1468450 1468454 - VariableStatement 1468466 1468605 - VariableDeclarationList 1468466 1468604 - VariableDeclaration 1468481 1468604 - Identifier 1468481 1468505 - BinaryExpression 1468507 1468604 - CallExpression 1468507 1468557 - Identifier 1468507 1468545 - Identifier 1468546 1468556 - AmpersandToken 1468557 1468559 - PropertyAccessExpression 1468559 1468604 - Identifier 1468559 1468573 - Identifier 1468574 1468604 - VariableStatement 1468605 1468744 - VariableDeclarationList 1468605 1468743 - VariableDeclaration 1468620 1468743 - Identifier 1468620 1468644 - BinaryExpression 1468646 1468743 - CallExpression 1468646 1468696 - Identifier 1468646 1468684 - Identifier 1468685 1468695 - AmpersandToken 1468696 1468698 - PropertyAccessExpression 1468698 1468743 - Identifier 1468698 1468712 - Identifier 1468713 1468743 - IfStatement 1468744 1468858 - BinaryExpression 1468758 1468809 - Identifier 1468758 1468781 - ExclamationEqualsEqualsToken 1468781 1468785 - Identifier 1468785 1468809 - Block 1468810 1468858 - ReturnStatement 1468812 1468847 - PropertyAccessExpression 1468832 1468846 - Identifier 1468832 1468840 - Identifier 1468841 1468846 - IfStatement 1468858 1469232 - Identifier 1468872 1468895 - Block 1468896 1469043 - IfStatement 1468898 1469032 - BinaryExpression 1468916 1468975 - CallExpression 1468916 1468943 - Identifier 1468916 1468931 - Identifier 1468932 1468942 - ExclamationEqualsEqualsToken 1468943 1468947 - CallExpression 1468947 1468975 - Identifier 1468947 1468963 - Identifier 1468964 1468974 - Block 1468976 1469032 - ReturnStatement 1468978 1469017 - PropertyAccessExpression 1469002 1469016 - Identifier 1469002 1469010 - Identifier 1469011 1469016 - Block 1469057 1469232 - IfStatement 1469059 1469221 - BinaryExpression 1469077 1469164 - ParenthesizedExpression 1469077 1469118 - BinaryExpression 1469078 1469117 - PropertyAccessExpression 1469078 1469094 - Identifier 1469078 1469088 - Identifier 1469089 1469094 - AmpersandToken 1469094 1469096 - PropertyAccessExpression 1469096 1469117 - Identifier 1469096 1469108 - Identifier 1469109 1469117 - ExclamationEqualsEqualsToken 1469118 1469122 - ParenthesizedExpression 1469122 1469164 - BinaryExpression 1469124 1469163 - PropertyAccessExpression 1469124 1469140 - Identifier 1469124 1469134 - Identifier 1469135 1469140 - AmpersandToken 1469140 1469142 - PropertyAccessExpression 1469142 1469163 - Identifier 1469142 1469154 - Identifier 1469155 1469163 - Block 1469165 1469221 - ReturnStatement 1469167 1469206 - PropertyAccessExpression 1469191 1469205 - Identifier 1469191 1469199 - Identifier 1469200 1469205 - IfStatement 1469232 1469356 - BinaryExpression 1469246 1469307 - CallExpression 1469246 1469274 - Identifier 1469246 1469262 - Identifier 1469263 1469273 - ExclamationEqualsEqualsToken 1469274 1469278 - CallExpression 1469278 1469307 - Identifier 1469278 1469295 - Identifier 1469296 1469306 - Block 1469308 1469356 - ReturnStatement 1469310 1469345 - PropertyAccessExpression 1469330 1469344 - Identifier 1469330 1469338 - Identifier 1469339 1469344 - ReturnStatement 1469356 1469444 - CallExpression 1469372 1469443 - Identifier 1469372 1469385 - CallExpression 1469386 1469413 - Identifier 1469386 1469401 - Identifier 1469402 1469412 - CallExpression 1469414 1469442 - Identifier 1469414 1469430 - Identifier 1469431 1469441 - FunctionDeclaration 1469451 1470665 - Identifier 1469467 1469487 - Parameter 1469488 1469505 - Identifier 1469488 1469494 - TypeReference 1469495 1469505 - Identifier 1469495 1469505 - Parameter 1469506 1469524 - Identifier 1469506 1469513 - TypeReference 1469514 1469524 - Identifier 1469514 1469524 - Parameter 1469525 1469547 - Identifier 1469525 1469538 - BooleanKeyword 1469539 1469547 - Block 1469548 1470665 - VariableStatement 1469550 1469615 - VariableDeclarationList 1469550 1469614 - VariableDeclaration 1469565 1469614 - Identifier 1469565 1469586 - CallExpression 1469588 1469614 - Identifier 1469588 1469606 - Identifier 1469607 1469613 - VariableStatement 1469615 1469680 - VariableDeclarationList 1469615 1469679 - VariableDeclaration 1469630 1469679 - Identifier 1469630 1469651 - CallExpression 1469653 1469679 - Identifier 1469653 1469671 - Identifier 1469672 1469678 - VariableStatement 1469680 1469749 - VariableDeclarationList 1469680 1469748 - VariableDeclaration 1469695 1469748 - Identifier 1469695 1469718 - CallExpression 1469720 1469748 - Identifier 1469720 1469740 - Identifier 1469741 1469747 - VariableStatement 1469749 1469818 - VariableDeclarationList 1469749 1469817 - VariableDeclaration 1469764 1469817 - Identifier 1469764 1469787 - CallExpression 1469789 1469817 - Identifier 1469789 1469809 - Identifier 1469810 1469816 - VariableStatement 1469818 1469893 - VariableDeclarationList 1469818 1469892 - VariableDeclaration 1469833 1469892 - Identifier 1469833 1469856 - CallExpression 1469858 1469892 - Identifier 1469858 1469884 - Identifier 1469885 1469891 - VariableStatement 1469893 1469968 - VariableDeclarationList 1469893 1469967 - VariableDeclaration 1469908 1469967 - Identifier 1469908 1469931 - CallExpression 1469933 1469967 - Identifier 1469933 1469959 - Identifier 1469960 1469966 - IfStatement 1469968 1470380 - BinaryExpression 1470139 1470330 - BinaryExpression 1470139 1470264 - BinaryExpression 1470139 1470198 - Identifier 1470139 1470173 - EqualsEqualsEqualsToken 1470173 1470177 - Identifier 1470177 1470198 - AmpersandAmpersandToken 1470198 1470201 - BinaryExpression 1470201 1470264 - Identifier 1470201 1470237 - EqualsEqualsEqualsToken 1470237 1470241 - Identifier 1470241 1470264 - AmpersandAmpersandToken 1470264 1470267 - BinaryExpression 1470267 1470330 - Identifier 1470267 1470303 - EqualsEqualsEqualsToken 1470303 1470307 - Identifier 1470307 1470330 - Block 1470341 1470380 - ReturnStatement 1470343 1470369 - TrueKeyword 1470363 1470368 - IfStatement 1470380 1470635 - BinaryExpression 1470531 1470595 - Identifier 1470531 1470543 - AmpersandAmpersandToken 1470543 1470546 - BinaryExpression 1470546 1470595 - Identifier 1470546 1470569 - LessThanEqualsToken 1470569 1470572 - Identifier 1470572 1470595 - Block 1470596 1470635 - ReturnStatement 1470598 1470624 - TrueKeyword 1470618 1470623 - ReturnStatement 1470635 1470658 - FalseKeyword 1470651 1470657 - FunctionDeclaration 1470665 1473948 - Identifier 1470758 1470785 - Parameter 1470786 1470803 - Identifier 1470786 1470792 - TypeReference 1470793 1470803 - Identifier 1470793 1470803 - Parameter 1470804 1470822 - Identifier 1470804 1470811 - TypeReference 1470812 1470822 - Identifier 1470812 1470822 - Parameter 1470823 1470845 - Identifier 1470823 1470836 - BooleanKeyword 1470837 1470845 - Parameter 1470846 1470871 - Identifier 1470846 1470862 - BooleanKeyword 1470863 1470871 - Parameter 1470872 1470899 - Identifier 1470872 1470890 - BooleanKeyword 1470891 1470899 - Parameter 1470900 1470944 - Identifier 1470900 1470913 - FunctionType 1470914 1470944 - Parameter 1470916 1470923 - Identifier 1470916 1470917 - TypeReference 1470918 1470923 - Identifier 1470918 1470923 - Parameter 1470924 1470932 - Identifier 1470924 1470926 - TypeReference 1470927 1470932 - Identifier 1470927 1470932 - TypeReference 1470936 1470944 - Identifier 1470936 1470944 - TypeReference 1470946 1470954 - Identifier 1470946 1470954 - Block 1470954 1473948 - IfStatement 1470956 1471107 - BinaryExpression 1471042 1471059 - Identifier 1471042 1471048 - EqualsEqualsEqualsToken 1471048 1471052 - Identifier 1471052 1471059 - Block 1471060 1471107 - ReturnStatement 1471062 1471096 - PropertyAccessExpression 1471082 1471095 - Identifier 1471082 1471090 - Identifier 1471091 1471095 - IfStatement 1471107 1471222 - PrefixUnaryExpression 1471121 1471173 - ParenthesizedExpression 1471122 1471173 - CallExpression 1471123 1471172 - Identifier 1471123 1471142 - Identifier 1471143 1471149 - Identifier 1471150 1471157 - Identifier 1471158 1471171 - Block 1471174 1471222 - ReturnStatement 1471176 1471211 - PropertyAccessExpression 1471196 1471210 - Identifier 1471196 1471204 - Identifier 1471205 1471210 - IfStatement 1471222 1471431 - BinaryExpression 1471319 1471382 - CallExpression 1471319 1471348 - Identifier 1471319 1471325 - PropertyAccessExpression 1471326 1471347 - Identifier 1471326 1471332 - Identifier 1471333 1471347 - ExclamationEqualsEqualsToken 1471348 1471352 - CallExpression 1471352 1471382 - Identifier 1471352 1471359 - PropertyAccessExpression 1471360 1471381 - Identifier 1471360 1471366 - Identifier 1471367 1471381 - Block 1471383 1471431 - ReturnStatement 1471385 1471420 - PropertyAccessExpression 1471405 1471419 - Identifier 1471405 1471413 - Identifier 1471414 1471419 - IfStatement 1471431 1472502 - PropertyAccessExpression 1471650 1471671 - Identifier 1471650 1471656 - Identifier 1471657 1471671 - Block 1471672 1472502 - VariableStatement 1471674 1471767 - VariableDeclarationList 1471674 1471766 - VariableDeclaration 1471693 1471766 - Identifier 1471693 1471700 - CallExpression 1471702 1471766 - Identifier 1471702 1471719 - NonNullExpression 1471720 1471742 - PropertyAccessExpression 1471720 1471741 - Identifier 1471720 1471726 - Identifier 1471727 1471741 - PropertyAccessExpression 1471743 1471765 - Identifier 1471743 1471750 - Identifier 1471751 1471765 - ForStatement 1471767 1472401 - VariableDeclarationList 1471786 1471795 - VariableDeclaration 1471789 1471795 - Identifier 1471789 1471791 - NumericLiteral 1471793 1471795 - BinaryExpression 1471796 1471829 - Identifier 1471796 1471798 - LessThanToken 1471798 1471800 - PropertyAccessExpression 1471800 1471829 - PropertyAccessExpression 1471800 1471822 - Identifier 1471800 1471807 - Identifier 1471808 1471822 - Identifier 1471823 1471829 - PostfixUnaryExpression 1471830 1471834 - Identifier 1471830 1471832 - Block 1471835 1472401 - VariableStatement 1471837 1471891 - VariableDeclarationList 1471837 1471890 - VariableDeclaration 1471860 1471890 - Identifier 1471860 1471862 - ElementAccessExpression 1471864 1471890 - NonNullExpression 1471864 1471887 - PropertyAccessExpression 1471864 1471886 - Identifier 1471864 1471871 - Identifier 1471872 1471886 - Identifier 1471888 1471889 - VariableStatement 1471891 1471944 - VariableDeclarationList 1471891 1471943 - VariableDeclaration 1471914 1471943 - Identifier 1471914 1471916 - ElementAccessExpression 1471918 1471943 - PropertyAccessExpression 1471918 1471940 - Identifier 1471918 1471925 - Identifier 1471926 1471940 - Identifier 1471941 1471942 - IfStatement 1471944 1472386 - PrefixUnaryExpression 1471966 1472303 - ParenthesizedExpression 1471989 1472303 - BinaryExpression 1471990 1472302 - BinaryExpression 1471990 1471997 - Identifier 1471990 1471991 - EqualsEqualsEqualsToken 1471991 1471995 - Identifier 1471995 1471997 - BarBarToken 1471997 1472000 - BinaryExpression 1472000 1472302 - CallExpression 1472000 1472138 - Identifier 1472000 1472013 - BinaryExpression 1472014 1472087 - CallExpression 1472014 1472072 - Identifier 1472014 1472029 - CallExpression 1472030 1472063 - Identifier 1472030 1472060 - Identifier 1472061 1472062 - Identifier 1472064 1472071 - BarBarToken 1472072 1472075 - Identifier 1472075 1472087 - BinaryExpression 1472088 1472137 - CallExpression 1472088 1472122 - Identifier 1472088 1472119 - Identifier 1472120 1472121 - BarBarToken 1472122 1472125 - Identifier 1472125 1472137 - AmpersandAmpersandToken 1472138 1472141 - CallExpression 1472141 1472302 - Identifier 1472141 1472183 - BinaryExpression 1472184 1472254 - CallExpression 1472184 1472239 - Identifier 1472184 1472199 - CallExpression 1472200 1472230 - Identifier 1472200 1472227 - Identifier 1472228 1472229 - Identifier 1472231 1472238 - BarBarToken 1472239 1472242 - Identifier 1472242 1472254 - BinaryExpression 1472255 1472301 - CallExpression 1472255 1472286 - Identifier 1472255 1472283 - Identifier 1472284 1472285 - BarBarToken 1472286 1472289 - Identifier 1472289 1472301 - Block 1472322 1472386 - ReturnStatement 1472324 1472367 - PropertyAccessExpression 1472352 1472366 - Identifier 1472352 1472360 - Identifier 1472361 1472366 - ExpressionStatement 1472401 1472491 - BinaryExpression 1472401 1472490 - Identifier 1472401 1472421 - EqualsToken 1472421 1472423 - CallExpression 1472423 1472490 - Identifier 1472423 1472444 - Identifier 1472445 1472451 - Identifier 1472452 1472459 - TrueKeyword 1472460 1472489 - VariableStatement 1472502 1472538 - VariableDeclarationList 1472502 1472537 - VariableDeclaration 1472515 1472537 - Identifier 1472515 1472522 - PropertyAccessExpression 1472524 1472537 - Identifier 1472524 1472532 - Identifier 1472533 1472537 - IfStatement 1472538 1473060 - PrefixUnaryExpression 1472552 1472568 - Identifier 1472553 1472568 - Block 1472569 1473060 - VariableStatement 1472571 1472639 - VariableDeclarationList 1472571 1472638 - VariableDeclaration 1472590 1472638 - Identifier 1472590 1472605 - CallExpression 1472607 1472638 - Identifier 1472607 1472630 - Identifier 1472631 1472637 - IfStatement 1472639 1473049 - Identifier 1472657 1472671 - Block 1472672 1473049 - VariableStatement 1472674 1472746 - VariableDeclarationList 1472674 1472745 - VariableDeclaration 1472697 1472745 - Identifier 1472697 1472712 - CallExpression 1472714 1472745 - Identifier 1472714 1472737 - Identifier 1472738 1472744 - IfStatement 1472746 1473034 - Identifier 1472768 1472782 - Block 1472783 1473034 - VariableStatement 1472785 1472868 - VariableDeclarationList 1472785 1472867 - VariableDeclaration 1472812 1472867 - Identifier 1472812 1472820 - CallExpression 1472822 1472867 - Identifier 1472822 1472835 - Identifier 1472836 1472850 - Identifier 1472851 1472866 - IfStatement 1472868 1472975 - PrefixUnaryExpression 1472894 1472902 - Identifier 1472895 1472902 - Block 1472903 1472975 - ReturnStatement 1472905 1472952 - PropertyAccessExpression 1472937 1472951 - Identifier 1472937 1472945 - Identifier 1472946 1472951 - ExpressionStatement 1472975 1473015 - BinaryExpression 1472975 1473014 - Identifier 1472975 1473003 - AmpersandEqualsToken 1473003 1473006 - Identifier 1473006 1473014 - VariableStatement 1473060 1473114 - VariableDeclarationList 1473060 1473113 - VariableDeclaration 1473075 1473113 - Identifier 1473075 1473085 - CallExpression 1473087 1473113 - Identifier 1473087 1473105 - Identifier 1473106 1473112 - ForStatement 1473114 1473442 - VariableDeclarationList 1473129 1473138 - VariableDeclaration 1473132 1473138 - Identifier 1473132 1473134 - NumericLiteral 1473136 1473138 - BinaryExpression 1473139 1473153 - Identifier 1473139 1473141 - LessThanToken 1473141 1473143 - Identifier 1473143 1473153 - PostfixUnaryExpression 1473154 1473158 - Identifier 1473154 1473156 - Block 1473159 1473442 - VariableStatement 1473161 1473214 - VariableDeclarationList 1473161 1473213 - VariableDeclaration 1473180 1473213 - Identifier 1473180 1473182 - CallExpression 1473184 1473213 - Identifier 1473184 1473202 - Identifier 1473203 1473209 - Identifier 1473210 1473212 - VariableStatement 1473214 1473267 - VariableDeclarationList 1473214 1473266 - VariableDeclaration 1473233 1473266 - Identifier 1473233 1473235 - CallExpression 1473237 1473266 - Identifier 1473237 1473255 - Identifier 1473256 1473262 - Identifier 1473263 1473265 - VariableStatement 1473267 1473316 - VariableDeclarationList 1473267 1473315 - VariableDeclaration 1473286 1473315 - Identifier 1473286 1473294 - CallExpression 1473296 1473315 - Identifier 1473296 1473309 - Identifier 1473310 1473311 - Identifier 1473312 1473314 - IfStatement 1473316 1473399 - PrefixUnaryExpression 1473334 1473342 - Identifier 1473335 1473342 - Block 1473343 1473399 - ReturnStatement 1473345 1473384 - PropertyAccessExpression 1473369 1473383 - Identifier 1473369 1473377 - Identifier 1473378 1473383 - ExpressionStatement 1473399 1473431 - BinaryExpression 1473399 1473430 - Identifier 1473399 1473419 - AmpersandEqualsToken 1473419 1473422 - Identifier 1473422 1473430 - IfStatement 1473442 1473917 - PrefixUnaryExpression 1473456 1473474 - Identifier 1473457 1473474 - Block 1473475 1473917 - VariableStatement 1473477 1473555 - VariableDeclarationList 1473477 1473554 - VariableDeclaration 1473496 1473554 - Identifier 1473496 1473516 - CallExpression 1473518 1473554 - Identifier 1473518 1473546 - Identifier 1473547 1473553 - VariableStatement 1473555 1473633 - VariableDeclarationList 1473555 1473632 - VariableDeclaration 1473574 1473632 - Identifier 1473574 1473594 - CallExpression 1473596 1473632 - Identifier 1473596 1473624 - Identifier 1473625 1473631 - ExpressionStatement 1473633 1473906 - BinaryExpression 1473633 1473905 - Identifier 1473633 1473653 - AmpersandEqualsToken 1473653 1473656 - ConditionalExpression 1473656 1473905 - BinaryExpression 1473656 1473699 - Identifier 1473656 1473676 - BarBarToken 1473676 1473679 - Identifier 1473679 1473699 - QuestionToken 1473699 1473701 - CallExpression 1473701 1473805 - Identifier 1473701 1473749 - Identifier 1473750 1473769 - Identifier 1473770 1473790 - Identifier 1473791 1473804 - ColonToken 1473805 1473807 - CallExpression 1473807 1473905 - Identifier 1473807 1473837 - CallExpression 1473838 1473870 - Identifier 1473838 1473862 - Identifier 1473863 1473869 - CallExpression 1473871 1473904 - Identifier 1473871 1473896 - Identifier 1473897 1473903 - ReturnStatement 1473917 1473941 - Identifier 1473933 1473940 - FunctionDeclaration 1473948 1474394 - Identifier 1473964 1473995 - Parameter 1473996 1474029 - Identifier 1473996 1474002 - UnionType 1474003 1474029 - TypeReference 1474003 1474017 - Identifier 1474003 1474017 - UndefinedKeyword 1474019 1474029 - Parameter 1474030 1474064 - Identifier 1474030 1474037 - UnionType 1474038 1474064 - TypeReference 1474038 1474052 - Identifier 1474038 1474052 - UndefinedKeyword 1474054 1474064 - Parameter 1474065 1474109 - Identifier 1474065 1474078 - FunctionType 1474079 1474109 - Parameter 1474081 1474088 - Identifier 1474081 1474082 - TypeReference 1474083 1474088 - Identifier 1474083 1474088 - Parameter 1474089 1474097 - Identifier 1474089 1474091 - TypeReference 1474092 1474097 - Identifier 1474092 1474097 - TypeReference 1474101 1474109 - Identifier 1474101 1474109 - TypeReference 1474111 1474119 - Identifier 1474111 1474119 - Block 1474119 1474394 - ReturnStatement 1474121 1474387 - ConditionalExpression 1474137 1474386 - PrefixUnaryExpression 1474137 1474200 - ParenthesizedExpression 1474139 1474200 - BinaryExpression 1474140 1474199 - BinaryExpression 1474140 1474156 - Identifier 1474140 1474146 - AmpersandAmpersandToken 1474146 1474149 - Identifier 1474149 1474156 - AmpersandAmpersandToken 1474156 1474159 - CallExpression 1474159 1474199 - Identifier 1474159 1474183 - Identifier 1474184 1474190 - Identifier 1474191 1474198 - QuestionToken 1474200 1474202 - PropertyAccessExpression 1474202 1474216 - Identifier 1474202 1474210 - Identifier 1474211 1474216 - ColonToken 1474216 1474218 - ConditionalExpression 1474218 1474386 - BinaryExpression 1474218 1474259 - PropertyAccessExpression 1474218 1474243 - Identifier 1474218 1474238 - Identifier 1474239 1474243 - EqualsEqualsEqualsToken 1474243 1474247 - PropertyAccessExpression 1474247 1474259 - Identifier 1474247 1474254 - Identifier 1474255 1474259 - QuestionToken 1474259 1474261 - PropertyAccessExpression 1474261 1474274 - Identifier 1474261 1474269 - Identifier 1474270 1474274 - ColonToken 1474274 1474276 - ConditionalExpression 1474276 1474386 - BinaryExpression 1474276 1474316 - PropertyAccessExpression 1474276 1474301 - Identifier 1474276 1474296 - Identifier 1474297 1474301 - AmpersandAmpersandToken 1474301 1474304 - PropertyAccessExpression 1474304 1474316 - Identifier 1474304 1474311 - Identifier 1474312 1474316 - QuestionToken 1474316 1474318 - CallExpression 1474318 1474357 - Identifier 1474318 1474331 - PropertyAccessExpression 1474332 1474343 - Identifier 1474332 1474338 - Identifier 1474339 1474343 - PropertyAccessExpression 1474344 1474356 - Identifier 1474344 1474351 - Identifier 1474352 1474356 - ColonToken 1474357 1474359 - PropertyAccessExpression 1474359 1474386 - Identifier 1474359 1474380 - Identifier 1474381 1474386 - FunctionDeclaration 1474394 1474883 - Identifier 1474410 1474439 - Parameter 1474440 1474453 - Identifier 1474440 1474445 - ArrayType 1474446 1474453 - TypeReference 1474446 1474451 - Identifier 1474446 1474451 - BooleanKeyword 1474455 1474463 - Block 1474463 1474883 - VariableStatement 1474465 1474512 - VariableDeclarationList 1474465 1474511 - VariableDeclaration 1474478 1474511 - Identifier 1474478 1474493 - UnionType 1474494 1474511 - TypeReference 1474494 1474499 - Identifier 1474494 1474499 - UndefinedKeyword 1474501 1474511 - ForOfStatement 1474512 1474854 - VariableDeclarationList 1474527 1474534 - VariableDeclaration 1474532 1474534 - Identifier 1474532 1474534 - Identifier 1474537 1474543 - Block 1474544 1474854 - IfStatement 1474546 1474843 - PrefixUnaryExpression 1474564 1474592 - ParenthesizedExpression 1474565 1474592 - BinaryExpression 1474566 1474591 - PropertyAccessExpression 1474566 1474573 - Identifier 1474566 1474567 - Identifier 1474568 1474573 - AmpersandToken 1474573 1474575 - PropertyAccessExpression 1474575 1474591 - Identifier 1474575 1474585 - Identifier 1474586 1474591 - Block 1474593 1474843 - VariableStatement 1474595 1474658 - VariableDeclarationList 1474595 1474657 - VariableDeclaration 1474618 1474657 - Identifier 1474618 1474627 - CallExpression 1474629 1474657 - Identifier 1474629 1474654 - Identifier 1474655 1474656 - ExpressionStatement 1474658 1474704 - BinaryExpression 1474658 1474703 - Identifier 1474658 1474690 - QuestionQuestionEqualsToken 1474690 1474694 - Identifier 1474694 1474703 - IfStatement 1474704 1474828 - BinaryExpression 1474726 1474771 - BinaryExpression 1474726 1474740 - Identifier 1474726 1474734 - EqualsEqualsEqualsToken 1474734 1474738 - Identifier 1474738 1474740 - BarBarToken 1474740 1474743 - BinaryExpression 1474743 1474771 - Identifier 1474743 1474752 - ExclamationEqualsEqualsToken 1474752 1474756 - Identifier 1474756 1474771 - Block 1474772 1474828 - ReturnStatement 1474774 1474809 - FalseKeyword 1474802 1474808 - ReturnStatement 1474854 1474876 - TrueKeyword 1474870 1474875 - FunctionDeclaration 1474883 1475114 - Identifier 1474899 1474920 - Parameter 1474921 1474934 - Identifier 1474921 1474926 - ArrayType 1474927 1474934 - TypeReference 1474927 1474932 - Identifier 1474927 1474932 - TypeReference 1474936 1474946 - Identifier 1474936 1474946 - Block 1474946 1475114 - ReturnStatement 1474948 1475107 - CallExpression 1474964 1475106 - Identifier 1474964 1474975 - Identifier 1474976 1474981 - ArrowFunction 1474982 1475089 - Parameter 1474984 1474989 - Identifier 1474984 1474989 - Parameter 1474990 1474992 - Identifier 1474990 1474992 - EqualsGreaterThanToken 1474993 1474996 - BinaryExpression 1474996 1475089 - Identifier 1474996 1475002 - BarToken 1475002 1475004 - ParenthesizedExpression 1475004 1475089 - ConditionalExpression 1475006 1475088 - BinaryExpression 1475006 1475031 - PropertyAccessExpression 1475006 1475013 - Identifier 1475006 1475007 - Identifier 1475008 1475013 - AmpersandToken 1475013 1475015 - PropertyAccessExpression 1475015 1475031 - Identifier 1475015 1475025 - Identifier 1475026 1475031 - QuestionToken 1475031 1475033 - CallExpression 1475033 1475078 - Identifier 1475033 1475054 - PropertyAccessExpression 1475055 1475077 - ParenthesizedExpression 1475055 1475071 - AsExpression 1475056 1475070 - Identifier 1475056 1475057 - TypeReference 1475060 1475070 - Identifier 1475060 1475070 - Identifier 1475072 1475077 - ColonToken 1475078 1475080 - PropertyAccessExpression 1475080 1475088 - Identifier 1475080 1475082 - Identifier 1475083 1475088 - AsExpression 1475090 1475105 - NumericLiteral 1475090 1475092 - TypeReference 1475095 1475105 - Identifier 1475095 1475105 - FunctionDeclaration 1475114 1476113 - Identifier 1475130 1475149 - Parameter 1475150 1475163 - Identifier 1475150 1475155 - ArrayType 1475156 1475163 - TypeReference 1475156 1475161 - Identifier 1475156 1475161 - TypeReference 1475165 1475170 - Identifier 1475165 1475170 - Block 1475170 1476113 - IfStatement 1475172 1475248 - BinaryExpression 1475186 1475204 - PropertyAccessExpression 1475186 1475198 - Identifier 1475186 1475191 - Identifier 1475192 1475198 - EqualsEqualsEqualsToken 1475198 1475202 - NumericLiteral 1475202 1475204 - Block 1475205 1475248 - ReturnStatement 1475207 1475237 - ElementAccessExpression 1475227 1475236 - Identifier 1475227 1475233 - NumericLiteral 1475234 1475235 - VariableStatement 1475248 1475442 - VariableDeclarationList 1475248 1475441 - VariableDeclaration 1475326 1475441 - Identifier 1475326 1475339 - ConditionalExpression 1475341 1475441 - Identifier 1475341 1475358 - QuestionToken 1475358 1475360 - CallExpression 1475360 1475433 - Identifier 1475360 1475368 - Identifier 1475369 1475374 - ArrowFunction 1475375 1475432 - Parameter 1475375 1475377 - Identifier 1475375 1475377 - EqualsGreaterThanToken 1475377 1475380 - CallExpression 1475380 1475432 - Identifier 1475380 1475391 - Identifier 1475392 1475393 - ArrowFunction 1475394 1475431 - Parameter 1475394 1475396 - Identifier 1475394 1475396 - EqualsGreaterThanToken 1475396 1475399 - PrefixUnaryExpression 1475399 1475431 - ParenthesizedExpression 1475401 1475431 - BinaryExpression 1475402 1475430 - PropertyAccessExpression 1475402 1475409 - Identifier 1475402 1475403 - Identifier 1475404 1475409 - AmpersandToken 1475409 1475411 - PropertyAccessExpression 1475411 1475430 - Identifier 1475411 1475421 - Identifier 1475422 1475430 - ColonToken 1475433 1475435 - Identifier 1475435 1475441 - VariableStatement 1475442 1475874 - VariableDeclarationList 1475442 1475873 - VariableDeclaration 1475687 1475873 - Identifier 1475687 1475704 - ConditionalExpression 1475706 1475873 - CallExpression 1475706 1475749 - Identifier 1475706 1475735 - Identifier 1475736 1475748 - QuestionToken 1475749 1475751 - CallExpression 1475751 1475791 - Identifier 1475751 1475777 - Identifier 1475778 1475790 - ColonToken 1475791 1475793 - NonNullExpression 1475793 1475873 - CallExpression 1475793 1475872 - Identifier 1475793 1475817 - Identifier 1475818 1475830 - ArrowFunction 1475831 1475871 - Parameter 1475833 1475834 - Identifier 1475833 1475834 - Parameter 1475835 1475837 - Identifier 1475835 1475837 - EqualsGreaterThanToken 1475838 1475841 - ConditionalExpression 1475841 1475871 - CallExpression 1475841 1475863 - Identifier 1475841 1475857 - Identifier 1475858 1475859 - Identifier 1475860 1475862 - QuestionToken 1475863 1475865 - Identifier 1475865 1475867 - ColonToken 1475867 1475869 - Identifier 1475869 1475871 - ReturnStatement 1475874 1476106 - ConditionalExpression 1475977 1476105 - BinaryExpression 1475977 1476000 - Identifier 1475977 1475990 - EqualsEqualsEqualsToken 1475990 1475994 - Identifier 1475994 1476000 - QuestionToken 1476000 1476002 - Identifier 1476002 1476019 - ColonToken 1476019 1476021 - CallExpression 1476021 1476105 - Identifier 1476021 1476037 - Identifier 1476038 1476054 - BinaryExpression 1476055 1476104 - CallExpression 1476055 1476083 - Identifier 1476055 1476076 - Identifier 1476077 1476082 - AmpersandToken 1476083 1476085 - PropertyAccessExpression 1476085 1476104 - Identifier 1476085 1476095 - Identifier 1476096 1476104 - FunctionDeclaration 1476113 1476325 - Identifier 1476207 1476224 - Parameter 1476225 1476238 - Identifier 1476225 1476230 - ArrayType 1476231 1476238 - TypeReference 1476231 1476236 - Identifier 1476231 1476236 - Block 1476239 1476325 - ReturnStatement 1476241 1476318 - NonNullExpression 1476257 1476317 - CallExpression 1476257 1476316 - Identifier 1476257 1476268 - Identifier 1476269 1476274 - ArrowFunction 1476275 1476315 - Parameter 1476277 1476278 - Identifier 1476277 1476278 - Parameter 1476279 1476281 - Identifier 1476279 1476281 - EqualsGreaterThanToken 1476282 1476285 - ConditionalExpression 1476285 1476315 - CallExpression 1476285 1476307 - Identifier 1476285 1476301 - Identifier 1476302 1476303 - Identifier 1476304 1476306 - QuestionToken 1476307 1476309 - Identifier 1476309 1476311 - ColonToken 1476311 1476313 - Identifier 1476313 1476315 - FunctionDeclaration 1476325 1476581 - Identifier 1476341 1476353 - Parameter 1476354 1476364 - Identifier 1476354 1476358 - TypeReference 1476359 1476364 - Identifier 1476359 1476364 - TypePredicate 1476366 1476388 - Identifier 1476366 1476371 - TypeReference 1476374 1476388 - Identifier 1476374 1476388 - Block 1476388 1476581 - ReturnStatement 1476390 1476574 - BinaryExpression 1476406 1476573 - PrefixUnaryExpression 1476406 1476455 - PrefixUnaryExpression 1476408 1476455 - ParenthesizedExpression 1476409 1476455 - BinaryExpression 1476410 1476454 - CallExpression 1476410 1476430 - Identifier 1476410 1476424 - Identifier 1476425 1476429 - AmpersandToken 1476430 1476432 - PropertyAccessExpression 1476432 1476454 - Identifier 1476432 1476444 - Identifier 1476445 1476454 - AmpersandAmpersandToken 1476455 1476458 - ParenthesizedExpression 1476458 1476573 - BinaryExpression 1476460 1476572 - BinaryExpression 1476460 1476510 - PropertyAccessExpression 1476460 1476490 - ParenthesizedExpression 1476460 1476483 - AsExpression 1476461 1476482 - Identifier 1476461 1476465 - TypeReference 1476468 1476482 - Identifier 1476468 1476482 - Identifier 1476484 1476490 - EqualsEqualsEqualsToken 1476490 1476494 - Identifier 1476494 1476510 - BarBarToken 1476510 1476513 - BinaryExpression 1476513 1476572 - PropertyAccessExpression 1476513 1476544 - ParenthesizedExpression 1476513 1476537 - AsExpression 1476515 1476536 - Identifier 1476515 1476519 - TypeReference 1476522 1476536 - Identifier 1476522 1476536 - Identifier 1476538 1476544 - EqualsEqualsEqualsToken 1476544 1476548 - Identifier 1476548 1476572 - FunctionDeclaration 1476581 1476775 - Identifier 1476597 1476617 - Parameter 1476618 1476628 - Identifier 1476618 1476622 - TypeReference 1476623 1476628 - Identifier 1476623 1476628 - BooleanKeyword 1476630 1476638 - Block 1476638 1476775 - ReturnStatement 1476640 1476768 - BinaryExpression 1476656 1476767 - PrefixUnaryExpression 1476656 1476705 - PrefixUnaryExpression 1476658 1476705 - ParenthesizedExpression 1476659 1476705 - BinaryExpression 1476660 1476704 - CallExpression 1476660 1476680 - Identifier 1476660 1476674 - Identifier 1476675 1476679 - AmpersandToken 1476680 1476682 - PropertyAccessExpression 1476682 1476704 - Identifier 1476682 1476694 - Identifier 1476695 1476704 - AmpersandAmpersandToken 1476705 1476708 - BinaryExpression 1476708 1476767 - PropertyAccessExpression 1476708 1476739 - ParenthesizedExpression 1476708 1476732 - AsExpression 1476710 1476731 - Identifier 1476710 1476714 - TypeReference 1476717 1476731 - Identifier 1476717 1476731 - Identifier 1476733 1476739 - EqualsEqualsEqualsToken 1476739 1476743 - Identifier 1476743 1476767 - FunctionDeclaration 1476775 1476910 - Identifier 1476791 1476810 - Parameter 1476811 1476821 - Identifier 1476811 1476815 - TypeReference 1476816 1476821 - Identifier 1476816 1476821 - TypePredicate 1476823 1476845 - Identifier 1476823 1476828 - TypeReference 1476831 1476845 - Identifier 1476831 1476845 - Block 1476845 1476910 - ReturnStatement 1476847 1476903 - BinaryExpression 1476863 1476902 - CallExpression 1476863 1476881 - Identifier 1476863 1476875 - Identifier 1476876 1476880 - BarBarToken 1476881 1476884 - CallExpression 1476884 1476902 - Identifier 1476884 1476896 - Identifier 1476897 1476901 - FunctionDeclaration 1476910 1477089 - Identifier 1476926 1476948 - Parameter 1476949 1476959 - Identifier 1476949 1476953 - TypeReference 1476954 1476959 - Identifier 1476954 1476959 - BooleanKeyword 1476961 1476969 - Block 1476969 1477089 - ReturnStatement 1476971 1477082 - BinaryExpression 1476987 1477081 - BinaryExpression 1476987 1477035 - CallExpression 1476987 1477005 - Identifier 1476987 1476999 - Identifier 1477000 1477004 - AmpersandAmpersandToken 1477005 1477008 - PrefixUnaryExpression 1477008 1477035 - CallExpression 1477010 1477035 - Identifier 1477010 1477029 - Identifier 1477030 1477034 - BarBarToken 1477035 1477038 - BinaryExpression 1477038 1477081 - CallExpression 1477038 1477056 - Identifier 1477038 1477050 - Identifier 1477051 1477055 - AmpersandAmpersandToken 1477056 1477059 - PrefixUnaryExpression 1477059 1477081 - PropertyAccessExpression 1477061 1477081 - PropertyAccessExpression 1477061 1477072 - Identifier 1477061 1477065 - Identifier 1477066 1477072 - Identifier 1477073 1477081 - FunctionDeclaration 1477089 1477245 - Identifier 1477105 1477131 - Parameter 1477132 1477142 - Identifier 1477132 1477136 - TypeReference 1477137 1477142 - Identifier 1477137 1477142 - UnionType 1477144 1477161 - TypeReference 1477144 1477149 - Identifier 1477144 1477149 - UndefinedKeyword 1477151 1477161 - Block 1477161 1477245 - ReturnStatement 1477163 1477238 - ConditionalExpression 1477179 1477237 - CallExpression 1477179 1477197 - Identifier 1477179 1477191 - Identifier 1477192 1477196 - QuestionToken 1477197 1477199 - ElementAccessExpression 1477199 1477225 - CallExpression 1477199 1477222 - Identifier 1477199 1477216 - Identifier 1477217 1477221 - NumericLiteral 1477223 1477224 - ColonToken 1477225 1477227 - Identifier 1477227 1477237 - FunctionDeclaration 1477245 1477635 - Identifier 1477261 1477277 - Parameter 1477278 1477288 - Identifier 1477278 1477282 - TypeReference 1477283 1477288 - Identifier 1477283 1477288 - BooleanKeyword 1477290 1477298 - Block 1477298 1477635 - ReturnStatement 1477300 1477628 - BinaryExpression 1477521 1477627 - CallExpression 1477521 1477539 - Identifier 1477521 1477533 - Identifier 1477534 1477538 - BarBarToken 1477539 1477542 - BinaryExpression 1477542 1477627 - PrefixUnaryExpression 1477542 1477577 - ParenthesizedExpression 1477544 1477577 - BinaryExpression 1477545 1477576 - PropertyAccessExpression 1477545 1477555 - Identifier 1477545 1477549 - Identifier 1477550 1477555 - AmpersandToken 1477555 1477557 - PropertyAccessExpression 1477557 1477576 - Identifier 1477557 1477567 - Identifier 1477568 1477576 - AmpersandAmpersandToken 1477577 1477580 - CallExpression 1477580 1477627 - Identifier 1477580 1477599 - Identifier 1477600 1477604 - Identifier 1477605 1477626 - FunctionDeclaration 1477635 1478033 - Identifier 1477651 1477674 - Parameter 1477675 1477685 - Identifier 1477675 1477679 - TypeReference 1477680 1477685 - Identifier 1477680 1477685 - BooleanKeyword 1477687 1477695 - Block 1477695 1478033 - ReturnStatement 1477697 1478026 - BinaryExpression 1477899 1478025 - CallExpression 1477899 1477927 - Identifier 1477899 1477921 - Identifier 1477922 1477926 - BarBarToken 1477927 1477930 - BinaryExpression 1477930 1478025 - PrefixUnaryExpression 1477930 1477983 - ParenthesizedExpression 1477932 1477983 - BinaryExpression 1477933 1477982 - PropertyAccessExpression 1477933 1477943 - Identifier 1477933 1477937 - Identifier 1477938 1477943 - AmpersandToken 1477943 1477945 - ParenthesizedExpression 1477945 1477982 - BinaryExpression 1477947 1477981 - PropertyAccessExpression 1477947 1477960 - Identifier 1477947 1477956 - Identifier 1477957 1477960 - BarToken 1477960 1477962 - PropertyAccessExpression 1477962 1477981 - Identifier 1477962 1477972 - Identifier 1477973 1477981 - AmpersandAmpersandToken 1477983 1477986 - CallExpression 1477986 1478025 - Identifier 1477986 1478005 - Identifier 1478006 1478010 - Identifier 1478011 1478024 - FunctionDeclaration 1478033 1480209 - Identifier 1478049 1478086 - Parameter 1478087 1478097 - Identifier 1478087 1478091 - TypeReference 1478092 1478097 - Identifier 1478092 1478097 - Block 1478098 1480209 - IfStatement 1478100 1478290 - BinaryExpression 1478114 1478245 - PrefixUnaryExpression 1478114 1478161 - ParenthesizedExpression 1478115 1478161 - BinaryExpression 1478116 1478160 - CallExpression 1478116 1478136 - Identifier 1478116 1478130 - Identifier 1478131 1478135 - AmpersandToken 1478136 1478138 - PropertyAccessExpression 1478138 1478160 - Identifier 1478138 1478150 - Identifier 1478151 1478160 - BarBarToken 1478161 1478164 - PrefixUnaryExpression 1478164 1478245 - ParenthesizedExpression 1478166 1478245 - BinaryExpression 1478167 1478244 - CallExpression 1478167 1478213 - Identifier 1478167 1478181 - PropertyAccessExpression 1478182 1478212 - ParenthesizedExpression 1478182 1478205 - AsExpression 1478183 1478204 - Identifier 1478183 1478187 - TypeReference 1478190 1478204 - Identifier 1478190 1478204 - Identifier 1478206 1478212 - AmpersandToken 1478213 1478215 - PropertyAccessExpression 1478215 1478244 - Identifier 1478215 1478227 - Identifier 1478228 1478244 - Block 1478246 1478290 - ReturnStatement 1478248 1478279 - Identifier 1478268 1478278 - IfStatement 1478290 1478523 - BinaryExpression 1478304 1478366 - CallExpression 1478304 1478324 - Identifier 1478304 1478318 - Identifier 1478319 1478323 - AmpersandToken 1478324 1478326 - PropertyAccessExpression 1478326 1478366 - Identifier 1478326 1478338 - Identifier 1478339 1478366 - Block 1478367 1478523 - ReturnStatement 1478369 1478512 - ConditionalExpression 1478389 1478511 - BinaryExpression 1478389 1478448 - CallExpression 1478389 1478410 - Identifier 1478389 1478404 - Identifier 1478405 1478409 - AmpersandToken 1478410 1478412 - PropertyAccessExpression 1478412 1478448 - Identifier 1478412 1478424 - Identifier 1478425 1478448 - QuestionToken 1478448 1478450 - PropertyAccessExpression 1478450 1478499 - ParenthesizedExpression 1478450 1478474 - AsExpression 1478452 1478473 - Identifier 1478452 1478456 - TypeReference 1478459 1478473 - Identifier 1478459 1478473 - Identifier 1478475 1478499 - ColonToken 1478499 1478501 - Identifier 1478501 1478511 - ExpressionStatement 1478523 1478612 - BinaryExpression 1478523 1478611 - PropertyAccessExpression 1478523 1478568 - ParenthesizedExpression 1478523 1478556 - AsExpression 1478534 1478555 - Identifier 1478534 1478538 - TypeReference 1478541 1478555 - Identifier 1478541 1478555 - Identifier 1478557 1478568 - BarEqualsToken 1478568 1478571 - PropertyAccessExpression 1478571 1478611 - Identifier 1478571 1478583 - Identifier 1478584 1478611 - VariableStatement 1478612 1478685 - VariableDeclarationList 1478612 1478684 - VariableDeclaration 1478627 1478684 - Identifier 1478627 1478634 - AsExpression 1478636 1478684 - PropertyAccessExpression 1478636 1478667 - ParenthesizedExpression 1478636 1478660 - AsExpression 1478638 1478659 - Identifier 1478638 1478642 - TypeReference 1478645 1478659 - Identifier 1478645 1478659 - Identifier 1478661 1478667 - TypeReference 1478670 1478684 - Identifier 1478670 1478684 - IfStatement 1478685 1479240 - BinaryExpression 1478699 1478741 - CallExpression 1478699 1478721 - Identifier 1478699 1478713 - Identifier 1478714 1478720 - AmpersandToken 1478721 1478723 - PropertyAccessExpression 1478723 1478741 - Identifier 1478723 1478735 - Identifier 1478736 1478741 - Block 1478742 1479240 - VariableStatement 1478744 1478810 - VariableDeclarationList 1478744 1478809 - VariableDeclaration 1478763 1478809 - Identifier 1478763 1478776 - CallExpression 1478778 1478809 - Identifier 1478778 1478801 - Identifier 1478802 1478808 - IfStatement 1478810 1479229 - BinaryExpression 1479034 1479176 - BinaryExpression 1479034 1479104 - Identifier 1479034 1479046 - AmpersandAmpersandToken 1479046 1479049 - BinaryExpression 1479049 1479104 - PropertyAccessExpression 1479049 1479078 - PropertyAccessExpression 1479049 1479073 - Identifier 1479049 1479062 - Identifier 1479063 1479073 - Identifier 1479074 1479078 - ExclamationEqualsEqualsToken 1479078 1479082 - PropertyAccessExpression 1479082 1479104 - Identifier 1479082 1479093 - Identifier 1479094 1479104 - AmpersandAmpersandToken 1479104 1479107 - BinaryExpression 1479107 1479176 - PropertyAccessExpression 1479107 1479136 - PropertyAccessExpression 1479107 1479131 - Identifier 1479107 1479120 - Identifier 1479121 1479131 - Identifier 1479132 1479136 - ExclamationEqualsEqualsToken 1479136 1479140 - PropertyAccessExpression 1479140 1479176 - Identifier 1479140 1479151 - Identifier 1479152 1479176 - Block 1479177 1479229 - ReturnStatement 1479179 1479214 - Identifier 1479203 1479213 - VariableStatement 1479240 1479285 - VariableDeclarationList 1479240 1479284 - VariableDeclaration 1479255 1479284 - Identifier 1479255 1479261 - CallExpression 1479263 1479284 - Identifier 1479263 1479276 - Identifier 1479277 1479283 - IfStatement 1479285 1479362 - BinaryExpression 1479299 1479317 - PropertyAccessExpression 1479299 1479311 - Identifier 1479299 1479304 - Identifier 1479305 1479311 - ExclamationEqualsEqualsToken 1479311 1479315 - NumericLiteral 1479315 1479317 - Block 1479318 1479362 - ReturnStatement 1479320 1479351 - Identifier 1479340 1479350 - IfStatement 1479362 1479577 - PropertyAccessExpression 1479376 1479412 - CallExpression 1479376 1479407 - Identifier 1479376 1479394 - PropertyAccessExpression 1479395 1479406 - Identifier 1479395 1479399 - Identifier 1479400 1479406 - Identifier 1479408 1479412 - Block 1479413 1479577 - ReturnStatement 1479415 1479446 - Identifier 1479435 1479445 - VariableStatement 1479577 1479803 - VariableDeclarationList 1479577 1479802 - VariableDeclaration 1479590 1479802 - Identifier 1479590 1479607 - ConditionalExpression 1479609 1479802 - PrefixUnaryExpression 1479609 1479640 - CallExpression 1479611 1479640 - Identifier 1479611 1479617 - PropertyAccessExpression 1479618 1479639 - Identifier 1479618 1479624 - Identifier 1479625 1479639 - QuestionToken 1479640 1479642 - ElementAccessExpression 1479642 1479651 - Identifier 1479642 1479648 - NumericLiteral 1479649 1479650 - ColonToken 1479651 1479653 - CallExpression 1479653 1479802 - Identifier 1479653 1479669 - ElementAccessExpression 1479670 1479678 - Identifier 1479670 1479675 - NumericLiteral 1479676 1479677 - CallExpression 1479679 1479801 - Identifier 1479679 1479696 - NonNullExpression 1479697 1479719 - PropertyAccessExpression 1479697 1479718 - Identifier 1479697 1479703 - Identifier 1479704 1479718 - CallExpression 1479720 1479800 - PropertyAccessExpression 1479720 1479766 - CallExpression 1479720 1479760 - Identifier 1479720 1479737 - AsExpression 1479738 1479759 - Identifier 1479738 1479742 - TypeReference 1479745 1479759 - Identifier 1479745 1479759 - Identifier 1479761 1479766 - NumericLiteral 1479767 1479768 - PropertyAccessExpression 1479769 1479799 - NonNullExpression 1479769 1479792 - PropertyAccessExpression 1479769 1479791 - Identifier 1479769 1479776 - Identifier 1479777 1479791 - Identifier 1479793 1479799 - IfStatement 1479803 1480032 - BinaryExpression 1479817 1479896 - CallExpression 1479817 1479864 - Identifier 1479817 1479823 - CallExpression 1479824 1479863 - Identifier 1479824 1479840 - AsExpression 1479841 1479862 - Identifier 1479841 1479845 - TypeReference 1479848 1479862 - Identifier 1479848 1479862 - GreaterThanToken 1479864 1479866 - CallExpression 1479866 1479896 - Identifier 1479866 1479873 - PropertyAccessExpression 1479874 1479895 - Identifier 1479874 1479880 - Identifier 1479881 1479895 - Block 1479897 1480032 - ExpressionStatement 1479899 1480021 - BinaryExpression 1479899 1480020 - Identifier 1479899 1479929 - EqualsToken 1479929 1479931 - CallExpression 1479931 1480020 - Identifier 1479931 1479955 - Identifier 1479956 1479972 - CallExpression 1479973 1480019 - Identifier 1479973 1479978 - CallExpression 1479979 1480018 - Identifier 1479979 1479995 - AsExpression 1479996 1480017 - Identifier 1479996 1480000 - TypeReference 1480003 1480017 - Identifier 1480003 1480017 - ExpressionStatement 1480032 1480117 - BinaryExpression 1480032 1480116 - PropertyAccessExpression 1480032 1480077 - ParenthesizedExpression 1480032 1480065 - AsExpression 1480043 1480064 - Identifier 1480043 1480047 - TypeReference 1480050 1480064 - Identifier 1480050 1480064 - Identifier 1480066 1480077 - BarEqualsToken 1480077 1480080 - PropertyAccessExpression 1480080 1480116 - Identifier 1480080 1480092 - Identifier 1480093 1480116 - ReturnStatement 1480117 1480202 - BinaryExpression 1480133 1480201 - PropertyAccessExpression 1480133 1480182 - ParenthesizedExpression 1480133 1480157 - AsExpression 1480135 1480156 - Identifier 1480135 1480139 - TypeReference 1480142 1480156 - Identifier 1480142 1480156 - Identifier 1480158 1480182 - EqualsToken 1480182 1480184 - Identifier 1480184 1480201 - FunctionDeclaration 1480209 1480370 - Identifier 1480225 1480244 - Parameter 1480245 1480255 - Identifier 1480245 1480249 - TypeReference 1480250 1480255 - Identifier 1480250 1480255 - BooleanKeyword 1480257 1480265 - Block 1480265 1480370 - ReturnStatement 1480267 1480363 - ConditionalExpression 1480283 1480362 - Identifier 1480283 1480300 - QuestionToken 1480300 1480302 - BinaryExpression 1480302 1480329 - Identifier 1480302 1480307 - EqualsEqualsEqualsToken 1480307 1480311 - Identifier 1480311 1480329 - ColonToken 1480329 1480331 - BinaryExpression 1480331 1480362 - Identifier 1480331 1480336 - EqualsEqualsEqualsToken 1480336 1480340 - Identifier 1480340 1480362 - FunctionDeclaration 1480370 1480568 - Identifier 1480386 1480410 - Parameter 1480411 1480421 - Identifier 1480411 1480415 - TypeReference 1480416 1480421 - Identifier 1480416 1480421 - BooleanKeyword 1480423 1480431 - Block 1480431 1480568 - VariableStatement 1480433 1480495 - VariableDeclarationList 1480433 1480494 - VariableDeclaration 1480448 1480494 - Identifier 1480448 1480460 - CallExpression 1480462 1480494 - Identifier 1480462 1480488 - Identifier 1480489 1480493 - ReturnStatement 1480495 1480561 - BinaryExpression 1480511 1480560 - PrefixUnaryExpression 1480511 1480525 - PrefixUnaryExpression 1480513 1480525 - Identifier 1480514 1480525 - AmpersandAmpersandToken 1480525 1480528 - CallExpression 1480528 1480560 - Identifier 1480528 1480547 - Identifier 1480548 1480559 - FunctionDeclaration 1480568 1480928 - Identifier 1480584 1480600 - Parameter 1480601 1480611 - Identifier 1480601 1480605 - TypeReference 1480606 1480611 - Identifier 1480606 1480611 - BooleanKeyword 1480613 1480621 - Block 1480621 1480928 - VariableStatement 1480623 1480648 - VariableDeclarationList 1480623 1480647 - VariableDeclaration 1480636 1480647 - Identifier 1480636 1480647 - ReturnStatement 1480648 1480921 - BinaryExpression 1480664 1480920 - BinaryExpression 1480664 1480741 - CallExpression 1480664 1480682 - Identifier 1480664 1480676 - Identifier 1480677 1480681 - BarBarToken 1480682 1480685 - PrefixUnaryExpression 1480685 1480741 - PrefixUnaryExpression 1480700 1480741 - CallExpression 1480701 1480741 - Identifier 1480701 1480718 - Identifier 1480719 1480723 - AsExpression 1480724 1480740 - StringLiteral 1480724 1480728 - TypeReference 1480731 1480740 - Identifier 1480731 1480740 - BarBarToken 1480741 1480744 - BinaryExpression 1480744 1480920 - BinaryExpression 1480744 1480851 - CallExpression 1480744 1480779 - Identifier 1480744 1480773 - Identifier 1480774 1480778 - AmpersandAmpersandToken 1480779 1480782 - PrefixUnaryExpression 1480782 1480851 - PrefixUnaryExpression 1480784 1480851 - ParenthesizedExpression 1480785 1480851 - BinaryExpression 1480786 1480850 - Identifier 1480786 1480796 - EqualsToken 1480796 1480798 - CallExpression 1480798 1480850 - Identifier 1480798 1480822 - Identifier 1480823 1480827 - AsExpression 1480828 1480849 - StringLiteral 1480828 1480837 - TypeReference 1480840 1480849 - Identifier 1480840 1480849 - AmpersandAmpersandToken 1480851 1480854 - CallExpression 1480854 1480920 - Identifier 1480854 1480864 - Identifier 1480865 1480875 - ArrowFunction 1480876 1480919 - Parameter 1480876 1480878 - Identifier 1480876 1480878 - EqualsGreaterThanToken 1480878 1480881 - PrefixUnaryExpression 1480881 1480919 - PrefixUnaryExpression 1480883 1480919 - ParenthesizedExpression 1480884 1480919 - BinaryExpression 1480885 1480918 - PropertyAccessExpression 1480885 1480892 - Identifier 1480885 1480886 - Identifier 1480887 1480892 - AmpersandToken 1480892 1480894 - PropertyAccessExpression 1480894 1480918 - Identifier 1480894 1480904 - Identifier 1480905 1480918 - FunctionDeclaration 1480928 1481061 - Identifier 1480944 1480967 - Parameter 1480968 1480978 - Identifier 1480968 1480972 - TypeReference 1480973 1480978 - Identifier 1480973 1480978 - BooleanKeyword 1480980 1480988 - Block 1480988 1481061 - ReturnStatement 1480990 1481054 - BinaryExpression 1481006 1481053 - CallExpression 1481006 1481028 - Identifier 1481006 1481022 - Identifier 1481023 1481027 - BarBarToken 1481028 1481031 - CallExpression 1481031 1481053 - Identifier 1481031 1481047 - Identifier 1481048 1481052 - FunctionDeclaration 1481061 1481502 - Identifier 1481077 1481097 - Parameter 1481098 1481108 - Identifier 1481098 1481102 - TypeReference 1481103 1481108 - Identifier 1481103 1481108 - Parameter 1481109 1481123 - Identifier 1481109 1481115 - NumberKeyword 1481116 1481123 - Block 1481124 1481502 - VariableStatement 1481126 1481207 - VariableDeclarationList 1481126 1481206 - VariableDeclaration 1481141 1481206 - Identifier 1481141 1481150 - CallExpression 1481152 1481206 - Identifier 1481152 1481176 - Identifier 1481177 1481181 - AsExpression 1481182 1481205 - BinaryExpression 1481182 1481193 - StringLiteral 1481182 1481185 - PlusToken 1481185 1481187 - Identifier 1481187 1481193 - TypeReference 1481196 1481205 - Identifier 1481196 1481205 - IfStatement 1481207 1481273 - Identifier 1481221 1481229 - Block 1481230 1481273 - ReturnStatement 1481232 1481262 - Identifier 1481252 1481261 - IfStatement 1481273 1481468 - CallExpression 1481287 1481315 - Identifier 1481287 1481296 - Identifier 1481297 1481301 - Identifier 1481302 1481314 - Block 1481316 1481468 - ReturnStatement 1481318 1481457 - CallExpression 1481338 1481456 - Identifier 1481338 1481373 - Identifier 1481374 1481378 - Identifier 1481379 1481385 - ConditionalExpression 1481386 1481455 - PropertyAccessExpression 1481386 1481427 - Identifier 1481386 1481402 - Identifier 1481403 1481427 - QuestionToken 1481427 1481429 - Identifier 1481429 1481443 - ColonToken 1481443 1481445 - Identifier 1481445 1481455 - ReturnStatement 1481468 1481495 - Identifier 1481484 1481494 - FunctionDeclaration 1481502 1481642 - Identifier 1481518 1481544 - Parameter 1481545 1481555 - Identifier 1481545 1481549 - TypeReference 1481550 1481555 - Identifier 1481550 1481555 - BooleanKeyword 1481557 1481565 - Block 1481565 1481642 - ReturnStatement 1481567 1481635 - PrefixUnaryExpression 1481583 1481634 - ParenthesizedExpression 1481585 1481634 - BinaryExpression 1481586 1481633 - PropertyAccessExpression 1481586 1481596 - Identifier 1481586 1481590 - Identifier 1481591 1481596 - AmpersandToken 1481596 1481598 - ParenthesizedExpression 1481598 1481633 - BinaryExpression 1481600 1481632 - PropertyAccessExpression 1481600 1481614 - Identifier 1481600 1481609 - Identifier 1481610 1481614 - BarToken 1481614 1481616 - PropertyAccessExpression 1481616 1481632 - Identifier 1481616 1481626 - Identifier 1481627 1481632 - FunctionDeclaration 1481642 1481748 - Identifier 1481658 1481669 - Parameter 1481670 1481680 - Identifier 1481670 1481674 - TypeReference 1481675 1481680 - Identifier 1481675 1481680 - BooleanKeyword 1481682 1481690 - Block 1481690 1481748 - ReturnStatement 1481692 1481741 - PrefixUnaryExpression 1481708 1481740 - PrefixUnaryExpression 1481710 1481740 - ParenthesizedExpression 1481711 1481740 - BinaryExpression 1481712 1481739 - PropertyAccessExpression 1481712 1481722 - Identifier 1481712 1481716 - Identifier 1481717 1481722 - AmpersandToken 1481722 1481724 - PropertyAccessExpression 1481724 1481739 - Identifier 1481724 1481734 - Identifier 1481735 1481739 - FunctionDeclaration 1481748 1482172 - Identifier 1481764 1481779 - Parameter 1481780 1481790 - Identifier 1481780 1481784 - TypeReference 1481785 1481790 - Identifier 1481785 1481790 - BooleanKeyword 1481792 1481800 - Block 1481800 1482172 - VariableStatement 1481802 1481960 - VariableDeclarationList 1481802 1481959 - VariableDeclaration 1481925 1481959 - Identifier 1481925 1481927 - CallExpression 1481929 1481959 - Identifier 1481929 1481953 - Identifier 1481954 1481958 - ReturnStatement 1481960 1482165 - ConditionalExpression 1482065 1482164 - BinaryExpression 1482065 1482098 - PropertyAccessExpression 1482065 1482073 - Identifier 1482065 1482067 - Identifier 1482068 1482073 - AmpersandToken 1482073 1482075 - PropertyAccessExpression 1482075 1482098 - Identifier 1482075 1482085 - Identifier 1482086 1482098 - QuestionToken 1482098 1482100 - CallExpression 1482100 1482148 - Identifier 1482100 1482105 - PropertyAccessExpression 1482106 1482135 - ParenthesizedExpression 1482106 1482129 - AsExpression 1482107 1482128 - Identifier 1482107 1482108 - TypeReference 1482111 1482128 - Identifier 1482111 1482128 - Identifier 1482130 1482135 - Identifier 1482136 1482147 - ColonToken 1482148 1482150 - CallExpression 1482150 1482164 - Identifier 1482150 1482161 - Identifier 1482162 1482163 - FunctionDeclaration 1482172 1482346 - Identifier 1482188 1482204 - Parameter 1482205 1482215 - Identifier 1482205 1482209 - TypeReference 1482210 1482215 - Identifier 1482210 1482215 - Block 1482216 1482346 - ReturnStatement 1482218 1482339 - ConditionalExpression 1482234 1482338 - BinaryExpression 1482234 1482270 - PropertyAccessExpression 1482234 1482245 - Identifier 1482234 1482239 - Identifier 1482240 1482245 - AmpersandToken 1482245 1482247 - PropertyAccessExpression 1482247 1482270 - Identifier 1482247 1482257 - Identifier 1482258 1482270 - QuestionToken 1482270 1482272 - BinaryExpression 1482272 1482331 - CallExpression 1482272 1482323 - Identifier 1482272 1482277 - PropertyAccessExpression 1482278 1482310 - ParenthesizedExpression 1482278 1482304 - AsExpression 1482279 1482303 - Identifier 1482279 1482283 - TypeReference 1482286 1482303 - Identifier 1482286 1482303 - Identifier 1482305 1482310 - Identifier 1482311 1482322 - BarBarToken 1482323 1482326 - Identifier 1482326 1482331 - ColonToken 1482331 1482333 - Identifier 1482333 1482338 - FunctionDeclaration 1482346 1482628 - Identifier 1482362 1482376 - Parameter 1482377 1482387 - Identifier 1482377 1482381 - TypeReference 1482382 1482387 - Identifier 1482382 1482387 - BooleanKeyword 1482389 1482397 - Block 1482397 1482628 - ReturnStatement 1482399 1482621 - ConditionalExpression 1482415 1482620 - BinaryExpression 1482415 1482446 - PropertyAccessExpression 1482415 1482426 - Identifier 1482415 1482420 - Identifier 1482421 1482426 - AmpersandToken 1482426 1482428 - PropertyAccessExpression 1482428 1482446 - Identifier 1482428 1482438 - Identifier 1482439 1482446 - QuestionToken 1482446 1482448 - TrueKeyword 1482448 1482453 - ColonToken 1482453 1482455 - ConditionalExpression 1482455 1482620 - BinaryExpression 1482455 1482497 - PropertyAccessExpression 1482455 1482479 - Identifier 1482455 1482473 - Identifier 1482474 1482479 - AmpersandToken 1482479 1482481 - PropertyAccessExpression 1482481 1482497 - Identifier 1482481 1482491 - Identifier 1482492 1482497 - QuestionToken 1482497 1482499 - ConditionalExpression 1482499 1482588 - BinaryExpression 1482499 1482534 - PropertyAccessExpression 1482499 1482510 - Identifier 1482499 1482504 - Identifier 1482505 1482510 - AmpersandToken 1482510 1482512 - PropertyAccessExpression 1482512 1482534 - Identifier 1482512 1482522 - Identifier 1482523 1482534 - QuestionToken 1482534 1482536 - TrueKeyword 1482536 1482541 - ColonToken 1482541 1482543 - CallExpression 1482543 1482588 - Identifier 1482543 1482549 - PropertyAccessExpression 1482550 1482575 - ParenthesizedExpression 1482550 1482569 - AsExpression 1482551 1482568 - Identifier 1482551 1482555 - TypeReference 1482558 1482568 - Identifier 1482558 1482568 - Identifier 1482570 1482575 - Identifier 1482576 1482587 - ColonToken 1482588 1482590 - CallExpression 1482590 1482620 - Identifier 1482590 1482614 - Identifier 1482615 1482619 - FunctionDeclaration 1482628 1483227 - Identifier 1482644 1482669 - Parameter 1482670 1482680 - Identifier 1482670 1482674 - TypeReference 1482675 1482680 - Identifier 1482675 1482680 - TypeReference 1482682 1482687 - Identifier 1482682 1482687 - Block 1482687 1483227 - ReturnStatement 1482689 1483220 - ConditionalExpression 1482705 1483219 - BinaryExpression 1482705 1482737 - PropertyAccessExpression 1482705 1482716 - Identifier 1482705 1482710 - Identifier 1482711 1482716 - AmpersandToken 1482716 1482718 - PropertyAccessExpression 1482718 1482737 - Identifier 1482718 1482728 - Identifier 1482729 1482737 - QuestionToken 1482737 1482739 - CallExpression 1482739 1482786 - Identifier 1482739 1482765 - AsExpression 1482766 1482785 - Identifier 1482766 1482770 - TypeReference 1482773 1482785 - Identifier 1482773 1482785 - ColonToken 1482786 1482788 - ConditionalExpression 1482788 1483219 - BinaryExpression 1482788 1482894 - PropertyAccessExpression 1482788 1482812 - Identifier 1482788 1482806 - Identifier 1482807 1482812 - AmpersandToken 1482812 1482814 - ParenthesizedExpression 1482814 1482894 - BinaryExpression 1482816 1482893 - BinaryExpression 1482816 1482867 - PropertyAccessExpression 1482816 1482839 - Identifier 1482816 1482825 - Identifier 1482826 1482839 - BarToken 1482839 1482841 - PropertyAccessExpression 1482841 1482867 - Identifier 1482841 1482851 - Identifier 1482852 1482867 - BarToken 1482867 1482869 - PropertyAccessExpression 1482869 1482893 - Identifier 1482869 1482879 - Identifier 1482880 1482893 - QuestionToken 1482894 1482896 - Identifier 1482896 1482907 - ColonToken 1482907 1482909 - ConditionalExpression 1482909 1483219 - BinaryExpression 1482909 1482959 - PropertyAccessExpression 1482909 1482933 - Identifier 1482909 1482927 - Identifier 1482928 1482933 - AmpersandToken 1482933 1482935 - PropertyAccessExpression 1482935 1482959 - Identifier 1482935 1482945 - Identifier 1482946 1482959 - QuestionToken 1482959 1482961 - Identifier 1482961 1482972 - ColonToken 1482972 1482974 - ConditionalExpression 1482974 1483219 - BinaryExpression 1482974 1483024 - PropertyAccessExpression 1482974 1482998 - Identifier 1482974 1482992 - Identifier 1482993 1482998 - AmpersandToken 1482998 1483000 - PropertyAccessExpression 1483000 1483024 - Identifier 1483000 1483010 - Identifier 1483011 1483024 - QuestionToken 1483024 1483026 - Identifier 1483026 1483037 - ColonToken 1483037 1483039 - ConditionalExpression 1483039 1483219 - BinaryExpression 1483039 1483090 - PropertyAccessExpression 1483039 1483063 - Identifier 1483039 1483057 - Identifier 1483058 1483063 - AmpersandToken 1483063 1483065 - PropertyAccessExpression 1483065 1483090 - Identifier 1483065 1483075 - Identifier 1483076 1483090 - QuestionToken 1483090 1483092 - Identifier 1483092 1483104 - ColonToken 1483104 1483106 - ConditionalExpression 1483106 1483219 - BinaryExpression 1483106 1483148 - PropertyAccessExpression 1483106 1483130 - Identifier 1483106 1483124 - Identifier 1483125 1483130 - AmpersandToken 1483130 1483132 - PropertyAccessExpression 1483132 1483148 - Identifier 1483132 1483142 - Identifier 1483143 1483148 - QuestionToken 1483148 1483150 - CallExpression 1483150 1483199 - Identifier 1483150 1483180 - AsExpression 1483181 1483198 - Identifier 1483181 1483185 - TypeReference 1483188 1483198 - Identifier 1483188 1483198 - ColonToken 1483199 1483201 - Identifier 1483201 1483219 - FunctionDeclaration 1483227 1483442 - Identifier 1483243 1483273 - Parameter 1483274 1483289 - Identifier 1483274 1483278 - TypeReference 1483279 1483289 - Identifier 1483279 1483289 - Block 1483290 1483442 - VariableStatement 1483292 1483336 - VariableDeclarationList 1483292 1483335 - VariableDeclaration 1483307 1483335 - Identifier 1483307 1483311 - TemplateExpression 1483313 1483335 - TemplateHead 1483313 1483318 - TemplateSpan 1483318 1483335 - CallExpression 1483318 1483333 - Identifier 1483318 1483327 - Identifier 1483328 1483332 - TemplateTail 1483333 1483335 - ReturnStatement 1483336 1483435 - BinaryExpression 1483352 1483434 - CallExpression 1483352 1483371 - Identifier 1483352 1483366 - Identifier 1483367 1483370 - QuestionQuestionToken 1483371 1483374 - CallExpression 1483374 1483434 - Identifier 1483374 1483388 - Identifier 1483389 1483392 - CallExpression 1483393 1483433 - Identifier 1483393 1483401 - Identifier 1483402 1483406 - Identifier 1483407 1483432 - FunctionDeclaration 1483442 1484187 - Identifier 1483664 1483702 - Parameter 1483703 1483713 - Identifier 1483703 1483707 - TypeReference 1483708 1483713 - Identifier 1483708 1483713 - TypeReference 1483715 1483720 - Identifier 1483715 1483720 - Block 1483720 1484187 - ReturnStatement 1483722 1484180 - ConditionalExpression 1483738 1484179 - BinaryExpression 1483738 1483831 - PropertyAccessExpression 1483738 1483749 - Identifier 1483738 1483743 - Identifier 1483744 1483749 - AmpersandToken 1483749 1483751 - ParenthesizedExpression 1483751 1483831 - BinaryExpression 1483753 1483830 - BinaryExpression 1483753 1483804 - PropertyAccessExpression 1483753 1483776 - Identifier 1483753 1483762 - Identifier 1483763 1483776 - BarToken 1483776 1483778 - PropertyAccessExpression 1483778 1483804 - Identifier 1483778 1483788 - Identifier 1483789 1483804 - BarToken 1483804 1483806 - PropertyAccessExpression 1483806 1483830 - Identifier 1483806 1483816 - Identifier 1483817 1483830 - QuestionToken 1483831 1483833 - Identifier 1483833 1483844 - ColonToken 1483844 1483846 - ConditionalExpression 1483846 1484179 - BinaryExpression 1483846 1483915 - PropertyAccessExpression 1483846 1483870 - Identifier 1483846 1483864 - Identifier 1483865 1483870 - AmpersandToken 1483870 1483872 - ParenthesizedExpression 1483872 1483915 - BinaryExpression 1483874 1483914 - PropertyAccessExpression 1483874 1483897 - Identifier 1483874 1483883 - Identifier 1483884 1483897 - BarToken 1483897 1483899 - PropertyAccessExpression 1483899 1483914 - Identifier 1483899 1483909 - Identifier 1483910 1483914 - QuestionToken 1483915 1483917 - Identifier 1483917 1483928 - ColonToken 1483928 1483930 - ConditionalExpression 1483930 1484179 - BinaryExpression 1483930 1483980 - PropertyAccessExpression 1483930 1483954 - Identifier 1483930 1483948 - Identifier 1483949 1483954 - AmpersandToken 1483954 1483956 - PropertyAccessExpression 1483956 1483980 - Identifier 1483956 1483966 - Identifier 1483967 1483980 - QuestionToken 1483980 1483982 - Identifier 1483982 1483993 - ColonToken 1483993 1483995 - ConditionalExpression 1483995 1484179 - BinaryExpression 1483995 1484046 - PropertyAccessExpression 1483995 1484019 - Identifier 1483995 1484013 - Identifier 1484014 1484019 - AmpersandToken 1484019 1484021 - PropertyAccessExpression 1484021 1484046 - Identifier 1484021 1484031 - Identifier 1484032 1484046 - QuestionToken 1484046 1484048 - Identifier 1484048 1484060 - ColonToken 1484060 1484062 - ConditionalExpression 1484062 1484179 - BinaryExpression 1484062 1484104 - PropertyAccessExpression 1484062 1484086 - Identifier 1484062 1484080 - Identifier 1484081 1484086 - AmpersandToken 1484086 1484088 - PropertyAccessExpression 1484088 1484104 - Identifier 1484088 1484098 - Identifier 1484099 1484104 - QuestionToken 1484104 1484106 - CallExpression 1484106 1484159 - Identifier 1484106 1484114 - Identifier 1484115 1484119 - Identifier 1484120 1484158 - ColonToken 1484159 1484161 - Identifier 1484161 1484179 - FunctionDeclaration 1484187 1484868 - Identifier 1484203 1484225 - Parameter 1484226 1484236 - Identifier 1484226 1484230 - TypeReference 1484231 1484236 - Identifier 1484231 1484236 - TypeReference 1484238 1484243 - Identifier 1484238 1484243 - Block 1484243 1484868 - ReturnStatement 1484245 1484861 - ConditionalExpression 1484261 1484860 - BinaryExpression 1484261 1484321 - BinaryExpression 1484261 1484293 - PropertyAccessExpression 1484261 1484272 - Identifier 1484261 1484266 - Identifier 1484267 1484272 - AmpersandToken 1484272 1484274 - PropertyAccessExpression 1484274 1484293 - Identifier 1484274 1484284 - Identifier 1484285 1484293 - AmpersandAmpersandToken 1484293 1484296 - CallExpression 1484296 1484321 - Identifier 1484296 1484315 - Identifier 1484316 1484320 - QuestionToken 1484321 1484323 - CallExpression 1484323 1484370 - Identifier 1484323 1484349 - AsExpression 1484350 1484369 - Identifier 1484350 1484354 - TypeReference 1484357 1484369 - Identifier 1484357 1484369 - ColonToken 1484370 1484372 - ConditionalExpression 1484372 1484860 - BinaryExpression 1484372 1484450 - BinaryExpression 1484372 1484422 - PropertyAccessExpression 1484372 1484396 - Identifier 1484372 1484390 - Identifier 1484391 1484396 - AmpersandToken 1484396 1484398 - PropertyAccessExpression 1484398 1484422 - Identifier 1484398 1484408 - Identifier 1484409 1484422 - AmpersandAmpersandToken 1484422 1484425 - CallExpression 1484425 1484450 - Identifier 1484425 1484444 - Identifier 1484445 1484449 - QuestionToken 1484450 1484452 - Identifier 1484452 1484463 - ColonToken 1484463 1484465 - ConditionalExpression 1484465 1484860 - BinaryExpression 1484465 1484543 - BinaryExpression 1484465 1484515 - PropertyAccessExpression 1484465 1484489 - Identifier 1484465 1484483 - Identifier 1484484 1484489 - AmpersandToken 1484489 1484491 - PropertyAccessExpression 1484491 1484515 - Identifier 1484491 1484501 - Identifier 1484502 1484515 - AmpersandAmpersandToken 1484515 1484518 - CallExpression 1484518 1484543 - Identifier 1484518 1484537 - Identifier 1484538 1484542 - QuestionToken 1484543 1484545 - Identifier 1484545 1484556 - ColonToken 1484556 1484558 - ConditionalExpression 1484558 1484860 - BinaryExpression 1484558 1484636 - BinaryExpression 1484558 1484608 - PropertyAccessExpression 1484558 1484582 - Identifier 1484558 1484576 - Identifier 1484577 1484582 - AmpersandToken 1484582 1484584 - PropertyAccessExpression 1484584 1484608 - Identifier 1484584 1484594 - Identifier 1484595 1484608 - AmpersandAmpersandToken 1484608 1484611 - CallExpression 1484611 1484636 - Identifier 1484611 1484630 - Identifier 1484631 1484635 - QuestionToken 1484636 1484638 - Identifier 1484638 1484649 - ColonToken 1484649 1484651 - ConditionalExpression 1484651 1484860 - BinaryExpression 1484651 1484730 - BinaryExpression 1484651 1484702 - PropertyAccessExpression 1484651 1484675 - Identifier 1484651 1484669 - Identifier 1484670 1484675 - AmpersandToken 1484675 1484677 - PropertyAccessExpression 1484677 1484702 - Identifier 1484677 1484687 - Identifier 1484688 1484702 - AmpersandAmpersandToken 1484702 1484705 - CallExpression 1484705 1484730 - Identifier 1484705 1484724 - Identifier 1484725 1484729 - QuestionToken 1484730 1484732 - Identifier 1484732 1484744 - ColonToken 1484744 1484746 - ConditionalExpression 1484746 1484860 - BinaryExpression 1484746 1484788 - PropertyAccessExpression 1484746 1484770 - Identifier 1484746 1484764 - Identifier 1484765 1484770 - AmpersandToken 1484770 1484772 - PropertyAccessExpression 1484772 1484788 - Identifier 1484772 1484782 - Identifier 1484783 1484788 - QuestionToken 1484788 1484790 - CallExpression 1484790 1484840 - Identifier 1484790 1484798 - AsExpression 1484799 1484816 - Identifier 1484799 1484803 - TypeReference 1484806 1484816 - Identifier 1484806 1484816 - Identifier 1484817 1484839 - ColonToken 1484840 1484842 - Identifier 1484842 1484860 - FunctionDeclaration 1484868 1485133 - Identifier 1484884 1484913 - Parameter 1484914 1484924 - Identifier 1484914 1484918 - TypeReference 1484919 1484924 - Identifier 1484919 1484924 - TypeReference 1484926 1484931 - Identifier 1484926 1484931 - Block 1484931 1485133 - ReturnStatement 1484933 1485126 - ConditionalExpression 1484949 1485125 - BinaryExpression 1484949 1484987 - PropertyAccessExpression 1484949 1484960 - Identifier 1484949 1484954 - Identifier 1484955 1484960 - AmpersandToken 1484960 1484962 - PropertyAccessExpression 1484962 1484987 - Identifier 1484962 1484972 - Identifier 1484973 1484987 - QuestionToken 1484987 1484989 - Identifier 1484989 1485002 - ColonToken 1485002 1485004 - ConditionalExpression 1485004 1485125 - BinaryExpression 1485004 1485046 - PropertyAccessExpression 1485004 1485028 - Identifier 1485004 1485022 - Identifier 1485023 1485028 - AmpersandToken 1485028 1485030 - PropertyAccessExpression 1485030 1485046 - Identifier 1485030 1485040 - Identifier 1485041 1485046 - QuestionToken 1485046 1485048 - CallExpression 1485048 1485105 - Identifier 1485048 1485056 - AsExpression 1485057 1485074 - Identifier 1485057 1485061 - TypeReference 1485064 1485074 - Identifier 1485064 1485074 - Identifier 1485075 1485104 - ColonToken 1485105 1485107 - Identifier 1485107 1485125 - FunctionDeclaration 1485133 1485453 - Identifier 1485149 1485192 - Parameter 1485193 1485203 - Identifier 1485193 1485197 - TypeReference 1485198 1485203 - Identifier 1485198 1485203 - Parameter 1485204 1485237 - Identifier 1485204 1485219 - UnionType 1485220 1485237 - TypeReference 1485220 1485225 - Identifier 1485220 1485225 - UndefinedKeyword 1485227 1485237 - Block 1485238 1485453 - IfStatement 1485240 1485395 - PrefixUnaryExpression 1485254 1485302 - CallExpression 1485255 1485302 - Identifier 1485255 1485280 - Identifier 1485281 1485285 - Identifier 1485286 1485301 - Block 1485303 1485395 - ExpressionStatement 1485305 1485384 - BinaryExpression 1485305 1485383 - Identifier 1485305 1485323 - EqualsToken 1485323 1485325 - CallExpression 1485325 1485383 - Identifier 1485325 1485354 - CallExpression 1485355 1485382 - Identifier 1485355 1485376 - Identifier 1485377 1485381 - ReturnStatement 1485395 1485446 - CallExpression 1485411 1485445 - Identifier 1485411 1485439 - Identifier 1485440 1485444 - FunctionDeclaration 1485453 1486000 - Identifier 1485469 1485526 - Parameter 1485527 1485549 - Identifier 1485527 1485531 - UnionType 1485532 1485549 - TypeReference 1485532 1485537 - Identifier 1485532 1485537 - UndefinedKeyword 1485539 1485549 - Parameter 1485550 1485598 - Identifier 1485550 1485580 - UnionType 1485581 1485598 - TypeReference 1485581 1485586 - Identifier 1485581 1485586 - UndefinedKeyword 1485588 1485598 - Parameter 1485599 1485616 - Identifier 1485599 1485607 - BooleanKeyword 1485608 1485616 - Block 1485617 1486000 - IfStatement 1485619 1485971 - BinaryExpression 1485633 1485657 - Identifier 1485633 1485637 - AmpersandAmpersandToken 1485637 1485640 - CallExpression 1485640 1485657 - Identifier 1485640 1485651 - Identifier 1485652 1485656 - Block 1485658 1485971 - VariableStatement 1485660 1485874 - VariableDeclarationList 1485660 1485873 - VariableDeclaration 1485679 1485873 - Identifier 1485679 1485694 - ConditionalExpression 1485696 1485873 - PrefixUnaryExpression 1485696 1485727 - Identifier 1485698 1485727 - QuestionToken 1485727 1485729 - Identifier 1485729 1485739 - ColonToken 1485739 1485741 - ConditionalExpression 1485741 1485873 - Identifier 1485741 1485766 - QuestionToken 1485766 1485768 - CallExpression 1485768 1485824 - Identifier 1485768 1485793 - Identifier 1485794 1485823 - ColonToken 1485824 1485826 - Identifier 1485826 1485873 - ExpressionStatement 1485874 1485960 - BinaryExpression 1485874 1485959 - Identifier 1485874 1485892 - EqualsToken 1485892 1485894 - CallExpression 1485894 1485959 - Identifier 1485894 1485937 - Identifier 1485938 1485942 - Identifier 1485943 1485958 - ReturnStatement 1485971 1485993 - Identifier 1485987 1485992 - FunctionDeclaration 1486000 1486570 - Identifier 1486016 1486076 - Parameter 1486077 1486099 - Identifier 1486077 1486081 - UnionType 1486082 1486099 - TypeReference 1486082 1486087 - Identifier 1486082 1486087 - UndefinedKeyword 1486089 1486099 - Parameter 1486100 1486148 - Identifier 1486100 1486130 - UnionType 1486131 1486148 - TypeReference 1486131 1486136 - Identifier 1486131 1486136 - UndefinedKeyword 1486138 1486148 - Parameter 1486149 1486173 - Identifier 1486149 1486154 - TypeReference 1486155 1486173 - Identifier 1486155 1486173 - Parameter 1486174 1486200 - Identifier 1486174 1486191 - BooleanKeyword 1486192 1486200 - Block 1486201 1486570 - IfStatement 1486203 1486541 - BinaryExpression 1486217 1486241 - Identifier 1486217 1486221 - AmpersandAmpersandToken 1486221 1486224 - CallExpression 1486224 1486241 - Identifier 1486224 1486235 - Identifier 1486236 1486240 - Block 1486242 1486541 - VariableStatement 1486244 1486444 - VariableDeclarationList 1486244 1486443 - VariableDeclaration 1486263 1486443 - Identifier 1486263 1486278 - ConditionalExpression 1486280 1486443 - PrefixUnaryExpression 1486280 1486311 - Identifier 1486282 1486311 - QuestionToken 1486311 1486313 - Identifier 1486313 1486323 - ColonToken 1486323 1486325 - CallExpression 1486325 1486443 - Identifier 1486325 1486388 - Identifier 1486389 1486393 - Identifier 1486394 1486424 - Identifier 1486425 1486442 - ExpressionStatement 1486444 1486530 - BinaryExpression 1486444 1486529 - Identifier 1486444 1486462 - EqualsToken 1486462 1486464 - CallExpression 1486464 1486529 - Identifier 1486464 1486507 - Identifier 1486508 1486512 - Identifier 1486513 1486528 - ReturnStatement 1486541 1486563 - Identifier 1486557 1486562 - FunctionDeclaration 1486570 1486962 - Identifier 1486769 1486781 - Parameter 1486782 1486792 - Identifier 1486782 1486786 - TypeReference 1486787 1486792 - Identifier 1486787 1486792 - TypePredicate 1486794 1486821 - Identifier 1486794 1486799 - TypeReference 1486802 1486821 - Identifier 1486802 1486821 - Block 1486821 1486962 - ReturnStatement 1486823 1486955 - PrefixUnaryExpression 1486839 1486954 - PrefixUnaryExpression 1486841 1486954 - ParenthesizedExpression 1486842 1486954 - BinaryExpression 1486843 1486953 - BinaryExpression 1486843 1486887 - CallExpression 1486843 1486863 - Identifier 1486843 1486857 - Identifier 1486858 1486862 - AmpersandToken 1486863 1486865 - PropertyAccessExpression 1486865 1486887 - Identifier 1486865 1486877 - Identifier 1486878 1486887 - AmpersandAmpersandToken 1486887 1486890 - BinaryExpression 1486890 1486953 - PropertyAccessExpression 1486890 1486933 - PropertyAccessExpression 1486890 1486921 - ParenthesizedExpression 1486890 1486914 - AsExpression 1486892 1486913 - Identifier 1486892 1486896 - TypeReference 1486899 1486913 - Identifier 1486899 1486913 - Identifier 1486915 1486921 - Identifier 1486922 1486933 - AmpersandToken 1486933 1486935 - PropertyAccessExpression 1486935 1486953 - Identifier 1486935 1486947 - Identifier 1486948 1486953 - FunctionDeclaration 1486962 1487138 - Identifier 1486978 1486997 - Parameter 1486998 1487008 - Identifier 1486998 1487002 - TypeReference 1487003 1487008 - Identifier 1487003 1487008 - TypePredicate 1487010 1487037 - Identifier 1487010 1487015 - TypeReference 1487018 1487037 - Identifier 1487018 1487037 - Block 1487037 1487138 - ReturnStatement 1487039 1487131 - BinaryExpression 1487055 1487130 - CallExpression 1487055 1487073 - Identifier 1487055 1487067 - Identifier 1487068 1487072 - AmpersandAmpersandToken 1487073 1487076 - PrefixUnaryExpression 1487076 1487130 - PrefixUnaryExpression 1487078 1487130 - ParenthesizedExpression 1487079 1487130 - BinaryExpression 1487080 1487129 - PropertyAccessExpression 1487080 1487105 - PropertyAccessExpression 1487080 1487091 - Identifier 1487080 1487084 - Identifier 1487085 1487091 - Identifier 1487092 1487105 - AmpersandToken 1487105 1487107 - PropertyAccessExpression 1487107 1487129 - Identifier 1487107 1487120 - Identifier 1487121 1487129 - FunctionDeclaration 1487138 1487318 - Identifier 1487154 1487186 - Parameter 1487187 1487197 - Identifier 1487187 1487191 - TypeReference 1487192 1487197 - Identifier 1487192 1487197 - TypePredicate 1487199 1487226 - Identifier 1487199 1487204 - TypeReference 1487207 1487226 - Identifier 1487207 1487226 - Block 1487226 1487318 - ReturnStatement 1487228 1487311 - BinaryExpression 1487244 1487310 - CallExpression 1487244 1487269 - Identifier 1487244 1487263 - Identifier 1487264 1487268 - AmpersandAmpersandToken 1487269 1487272 - BinaryExpression 1487272 1487310 - PropertyAccessExpression 1487272 1487304 - PropertyAccessExpression 1487272 1487297 - PropertyAccessExpression 1487272 1487284 - Identifier 1487272 1487277 - Identifier 1487278 1487284 - Identifier 1487285 1487297 - Identifier 1487298 1487304 - EqualsEqualsEqualsToken 1487304 1487308 - NumericLiteral 1487308 1487310 - FunctionDeclaration 1487318 1487473 - Identifier 1487334 1487357 - Parameter 1487358 1487382 - Identifier 1487358 1487362 - TypeReference 1487363 1487382 - Identifier 1487363 1487382 - Block 1487383 1487473 - ReturnStatement 1487385 1487466 - CallExpression 1487401 1487465 - Identifier 1487401 1487434 - Identifier 1487435 1487439 - PropertyAccessExpression 1487440 1487464 - PropertyAccessExpression 1487440 1487452 - Identifier 1487440 1487445 - Identifier 1487446 1487452 - Identifier 1487453 1487464 - FunctionDeclaration 1487473 1488075 - Identifier 1487489 1487524 - Parameter 1487525 1487535 - Identifier 1487525 1487529 - TypeReference 1487530 1487535 - Identifier 1487530 1487535 - Parameter 1487536 1487550 - Identifier 1487536 1487542 - NumberKeyword 1487543 1487550 - Parameter 1487551 1487592 - Identifier 1487551 1487574 - UnionType 1487575 1487592 - TypeReference 1487575 1487580 - Identifier 1487575 1487580 - UndefinedKeyword 1487582 1487592 - Block 1487593 1488075 - ReturnStatement 1487595 1488068 - CallExpression 1487611 1488067 - Identifier 1487611 1487619 - Identifier 1487620 1487624 - ArrowFunction 1487625 1488066 - Parameter 1487625 1487627 - Identifier 1487625 1487627 - EqualsGreaterThanToken 1487627 1487630 - Block 1487630 1488066 - VariableStatement 1487632 1487688 - VariableDeclarationList 1487632 1487687 - VariableDeclaration 1487651 1487687 - Identifier 1487651 1487661 - AsExpression 1487663 1487687 - Identifier 1487663 1487665 - TypeReference 1487668 1487687 - Identifier 1487668 1487687 - VariableStatement 1487688 1487753 - VariableDeclarationList 1487688 1487752 - VariableDeclaration 1487707 1487752 - Identifier 1487707 1487716 - CallExpression 1487718 1487752 - Identifier 1487718 1487741 - Identifier 1487742 1487751 - IfStatement 1487753 1487837 - PrefixUnaryExpression 1487771 1487780 - Identifier 1487772 1487780 - Block 1487781 1487837 - ReturnStatement 1487783 1487822 - Identifier 1487807 1487821 - IfStatement 1487837 1488025 - BinaryExpression 1487855 1487933 - Identifier 1487855 1487877 - AmpersandAmpersandToken 1487877 1487880 - BinaryExpression 1487880 1487933 - Identifier 1487880 1487886 - GreaterThanEqualsToken 1487886 1487889 - CallExpression 1487889 1487933 - Identifier 1487889 1487915 - PropertyAccessExpression 1487916 1487932 - Identifier 1487916 1487925 - Identifier 1487926 1487932 - Block 1487934 1488025 - ReturnStatement 1487936 1488010 - CallExpression 1487960 1488009 - Identifier 1487960 1487973 - ArrayLiteralExpression 1487974 1488008 - Identifier 1487975 1487983 - Identifier 1487984 1488007 - ReturnStatement 1488025 1488055 - Identifier 1488045 1488054 - FunctionDeclaration 1488075 1488265 - Identifier 1488091 1488119 - Parameter 1488120 1488144 - Identifier 1488120 1488124 - TypeReference 1488125 1488144 - Identifier 1488125 1488144 - Block 1488145 1488265 - VariableStatement 1488147 1488203 - VariableDeclarationList 1488147 1488202 - VariableDeclaration 1488162 1488202 - Identifier 1488162 1488171 - CallExpression 1488173 1488202 - Identifier 1488173 1488196 - Identifier 1488197 1488201 - ReturnStatement 1488203 1488258 - BinaryExpression 1488219 1488257 - Identifier 1488219 1488228 - AmpersandAmpersandToken 1488228 1488231 - CallExpression 1488231 1488257 - Identifier 1488231 1488247 - Identifier 1488248 1488256 - FunctionDeclaration 1488265 1489061 - Identifier 1488281 1488314 - Parameter 1488315 1488339 - Identifier 1488315 1488319 - TypeReference 1488320 1488339 - Identifier 1488320 1488339 - Parameter 1488340 1488354 - Identifier 1488340 1488346 - NumberKeyword 1488347 1488354 - Parameter 1488355 1488372 - Identifier 1488355 1488368 - NumericLiteral 1488370 1488372 - Parameter 1488373 1488389 - Identifier 1488373 1488381 - FalseKeyword 1488383 1488389 - Parameter 1488390 1488411 - Identifier 1488390 1488403 - FalseKeyword 1488405 1488411 - Block 1488412 1489061 - VariableStatement 1488414 1488482 - VariableDeclarationList 1488414 1488481 - VariableDeclaration 1488429 1488481 - Identifier 1488429 1488436 - BinaryExpression 1488438 1488481 - CallExpression 1488438 1488466 - Identifier 1488438 1488460 - Identifier 1488461 1488465 - MinusToken 1488466 1488468 - Identifier 1488468 1488481 - IfStatement 1488482 1489027 - BinaryExpression 1488496 1488510 - Identifier 1488496 1488501 - LessThanToken 1488501 1488503 - Identifier 1488503 1488510 - Block 1488511 1489027 - VariableStatement 1488513 1488572 - VariableDeclarationList 1488513 1488571 - VariableDeclaration 1488532 1488571 - Identifier 1488532 1488546 - CallExpression 1488548 1488571 - Identifier 1488548 1488565 - Identifier 1488566 1488570 - VariableStatement 1488572 1488618 - VariableDeclarationList 1488572 1488617 - VariableDeclaration 1488591 1488617 - Identifier 1488591 1488604 - ArrayType 1488605 1488612 - TypeReference 1488605 1488610 - Identifier 1488605 1488610 - ArrayLiteralExpression 1488614 1488617 - ForStatement 1488618 1488861 - VariableDeclarationList 1488637 1488650 - VariableDeclaration 1488640 1488650 - Identifier 1488640 1488642 - Identifier 1488644 1488650 - BinaryExpression 1488651 1488662 - Identifier 1488651 1488653 - LessThanToken 1488653 1488655 - Identifier 1488655 1488662 - PostfixUnaryExpression 1488663 1488667 - Identifier 1488663 1488665 - Block 1488668 1488861 - VariableStatement 1488670 1488715 - VariableDeclarationList 1488670 1488714 - VariableDeclaration 1488693 1488714 - Identifier 1488693 1488695 - ElementAccessExpression 1488697 1488714 - Identifier 1488697 1488711 - Identifier 1488712 1488713 - ExpressionStatement 1488715 1488846 - CallExpression 1488715 1488845 - PropertyAccessExpression 1488715 1488750 - Identifier 1488715 1488745 - Identifier 1488746 1488750 - ConditionalExpression 1488751 1488844 - BinaryExpression 1488751 1488802 - ElementAccessExpression 1488751 1488778 - PropertyAccessExpression 1488751 1488775 - PropertyAccessExpression 1488751 1488762 - Identifier 1488751 1488755 - Identifier 1488756 1488762 - Identifier 1488763 1488775 - Identifier 1488776 1488777 - AmpersandToken 1488778 1488780 - PropertyAccessExpression 1488780 1488802 - Identifier 1488780 1488793 - Identifier 1488794 1488802 - QuestionToken 1488802 1488804 - CallExpression 1488804 1488840 - Identifier 1488804 1488825 - Identifier 1488826 1488827 - Identifier 1488828 1488839 - ColonToken 1488840 1488842 - Identifier 1488842 1488844 - ReturnStatement 1488861 1489016 - ConditionalExpression 1488881 1489015 - Identifier 1488881 1488889 - QuestionToken 1488889 1488891 - CallExpression 1488891 1488925 - Identifier 1488891 1488911 - Identifier 1488912 1488924 - ColonToken 1488925 1488927 - CallExpression 1488927 1489015 - Identifier 1488927 1488940 - Identifier 1488941 1488953 - ConditionalExpression 1488954 1489014 - Identifier 1488954 1488967 - QuestionToken 1488967 1488969 - PropertyAccessExpression 1488969 1488989 - Identifier 1488969 1488984 - Identifier 1488985 1488989 - ColonToken 1488989 1488991 - PropertyAccessExpression 1488991 1489014 - Identifier 1488991 1489006 - Identifier 1489007 1489014 - ReturnStatement 1489027 1489054 - Identifier 1489043 1489053 - FunctionDeclaration 1489061 1489377 - Identifier 1489077 1489106 - Parameter 1489107 1489129 - Identifier 1489107 1489109 - TypeReference 1489110 1489129 - Identifier 1489110 1489129 - Parameter 1489130 1489153 - Identifier 1489130 1489133 - TypeReference 1489134 1489153 - Identifier 1489134 1489153 - Block 1489154 1489377 - ReturnStatement 1489156 1489370 - BinaryExpression 1489172 1489369 - BinaryExpression 1489172 1489228 - CallExpression 1489172 1489198 - Identifier 1489172 1489194 - Identifier 1489195 1489197 - EqualsEqualsEqualsToken 1489198 1489202 - CallExpression 1489202 1489228 - Identifier 1489202 1489224 - Identifier 1489225 1489227 - AmpersandAmpersandToken 1489228 1489231 - CallExpression 1489231 1489369 - Identifier 1489231 1489250 - PropertyAccessExpression 1489251 1489273 - PropertyAccessExpression 1489251 1489260 - Identifier 1489251 1489253 - Identifier 1489254 1489260 - Identifier 1489261 1489273 - ArrowFunction 1489274 1489368 - Parameter 1489276 1489277 - Identifier 1489276 1489277 - Parameter 1489278 1489280 - Identifier 1489278 1489280 - EqualsGreaterThanToken 1489281 1489284 - BinaryExpression 1489284 1489368 - ParenthesizedExpression 1489284 1489312 - BinaryExpression 1489286 1489311 - Identifier 1489286 1489287 - AmpersandToken 1489287 1489289 - PropertyAccessExpression 1489289 1489311 - Identifier 1489289 1489302 - Identifier 1489303 1489311 - EqualsEqualsEqualsToken 1489312 1489316 - ParenthesizedExpression 1489316 1489368 - BinaryExpression 1489318 1489367 - ElementAccessExpression 1489318 1489343 - PropertyAccessExpression 1489318 1489340 - PropertyAccessExpression 1489318 1489327 - Identifier 1489318 1489320 - Identifier 1489321 1489327 - Identifier 1489328 1489340 - Identifier 1489341 1489342 - AmpersandToken 1489343 1489345 - PropertyAccessExpression 1489345 1489367 - Identifier 1489345 1489358 - Identifier 1489359 1489367 - FunctionDeclaration 1489377 1489488 - Identifier 1489393 1489406 - Parameter 1489407 1489435 - ObjectBindingPattern 1489407 1489416 - BindingElement 1489408 1489414 - Identifier 1489408 1489414 - TypeReference 1489417 1489435 - Identifier 1489417 1489435 - Block 1489436 1489488 - ReturnStatement 1489438 1489481 - BinaryExpression 1489454 1489480 - PropertyAccessExpression 1489454 1489472 - Identifier 1489454 1489460 - Identifier 1489461 1489472 - EqualsEqualsEqualsToken 1489472 1489476 - StringLiteral 1489476 1489480 - FunctionDeclaration 1489488 1489632 - Identifier 1489504 1489531 - Parameter 1489532 1489542 - Identifier 1489532 1489536 - TypeReference 1489537 1489542 - Identifier 1489537 1489542 - TypeReference 1489544 1489549 - Identifier 1489544 1489549 - Block 1489549 1489632 - ReturnStatement 1489551 1489625 - CallExpression 1489567 1489624 - Identifier 1489567 1489578 - Identifier 1489579 1489583 - ArrowFunction 1489584 1489623 - Parameter 1489584 1489586 - Identifier 1489584 1489586 - EqualsGreaterThanToken 1489586 1489589 - CallExpression 1489589 1489623 - Identifier 1489589 1489602 - Identifier 1489603 1489604 - PropertyAccessExpression 1489605 1489622 - Identifier 1489605 1489615 - Identifier 1489616 1489622 - FunctionDeclaration 1489632 1489764 - Identifier 1489648 1489676 - Parameter 1489677 1489687 - Identifier 1489677 1489681 - TypeReference 1489682 1489687 - Identifier 1489682 1489687 - TypeReference 1489689 1489694 - Identifier 1489689 1489694 - Block 1489694 1489764 - ReturnStatement 1489696 1489757 - CallExpression 1489712 1489756 - Identifier 1489712 1489720 - Identifier 1489721 1489725 - Identifier 1489726 1489755 - FunctionDeclaration 1489764 1490546 - Identifier 1489780 1489809 - Parameter 1489810 1489820 - Identifier 1489810 1489814 - TypeReference 1489815 1489820 - Identifier 1489815 1489820 - TypeReference 1489822 1489827 - Identifier 1489822 1489827 - Block 1489827 1490546 - ReturnStatement 1489829 1490539 - ConditionalExpression 1489845 1490538 - BinaryExpression 1489845 1489875 - PropertyAccessExpression 1489845 1489856 - Identifier 1489845 1489850 - Identifier 1489851 1489856 - AmpersandToken 1489856 1489858 - PropertyAccessExpression 1489858 1489875 - Identifier 1489858 1489868 - Identifier 1489869 1489875 - QuestionToken 1489875 1489877 - Identifier 1489877 1489893 - ColonToken 1489893 1489895 - ConditionalExpression 1489895 1490538 - BinaryExpression 1489895 1489938 - PropertyAccessExpression 1489895 1489919 - Identifier 1489895 1489913 - Identifier 1489914 1489919 - AmpersandToken 1489919 1489921 - PropertyAccessExpression 1489921 1489938 - Identifier 1489921 1489931 - Identifier 1489932 1489938 - QuestionToken 1489938 1489940 - Identifier 1489940 1489949 - ColonToken 1489949 1489951 - ConditionalExpression 1489951 1490538 - BinaryExpression 1489951 1489994 - PropertyAccessExpression 1489951 1489975 - Identifier 1489951 1489969 - Identifier 1489970 1489975 - AmpersandToken 1489975 1489977 - PropertyAccessExpression 1489977 1489994 - Identifier 1489977 1489987 - Identifier 1489988 1489994 - QuestionToken 1489994 1489996 - Identifier 1489996 1490011 - ColonToken 1490011 1490013 - ConditionalExpression 1490013 1490538 - BinaryExpression 1490013 1490506 - BinaryExpression 1490013 1490406 - BinaryExpression 1490013 1490306 - BinaryExpression 1490013 1490205 - BinaryExpression 1490013 1490091 - BinaryExpression 1490013 1490052 - Identifier 1490013 1490031 - EqualsEqualsEqualsToken 1490031 1490035 - Identifier 1490035 1490052 - BarBarToken 1490052 1490055 - BinaryExpression 1490055 1490091 - Identifier 1490055 1490077 - EqualsEqualsEqualsToken 1490077 1490081 - Identifier 1490081 1490091 - BarBarToken 1490091 1490094 - BinaryExpression 1490094 1490205 - PropertyAccessExpression 1490094 1490122 - Identifier 1490094 1490116 - Identifier 1490117 1490122 - AmpersandToken 1490122 1490124 - ParenthesizedExpression 1490124 1490205 - BinaryExpression 1490126 1490204 - BinaryExpression 1490126 1490179 - BinaryExpression 1490126 1490162 - PropertyAccessExpression 1490126 1490140 - Identifier 1490126 1490135 - Identifier 1490136 1490140 - BarToken 1490140 1490142 - PropertyAccessExpression 1490142 1490162 - Identifier 1490142 1490152 - Identifier 1490153 1490162 - BarToken 1490162 1490164 - PropertyAccessExpression 1490164 1490179 - Identifier 1490164 1490174 - Identifier 1490175 1490179 - BarToken 1490179 1490181 - PropertyAccessExpression 1490181 1490204 - Identifier 1490181 1490191 - Identifier 1490192 1490204 - BarBarToken 1490205 1490208 - BinaryExpression 1490208 1490306 - BinaryExpression 1490208 1490262 - PropertyAccessExpression 1490208 1490236 - Identifier 1490208 1490230 - Identifier 1490231 1490236 - AmpersandToken 1490236 1490238 - PropertyAccessExpression 1490238 1490262 - Identifier 1490238 1490248 - Identifier 1490249 1490262 - AmpersandAmpersandToken 1490262 1490265 - BinaryExpression 1490265 1490306 - PropertyAccessExpression 1490265 1490299 - ParenthesizedExpression 1490265 1490293 - AsExpression 1490267 1490292 - Identifier 1490267 1490271 - TypeReference 1490274 1490292 - Identifier 1490274 1490292 - Identifier 1490294 1490299 - EqualsEqualsEqualsToken 1490299 1490303 - StringLiteral 1490303 1490306 - BarBarToken 1490306 1490309 - BinaryExpression 1490309 1490406 - BinaryExpression 1490309 1490363 - PropertyAccessExpression 1490309 1490337 - Identifier 1490309 1490331 - Identifier 1490332 1490337 - AmpersandToken 1490337 1490339 - PropertyAccessExpression 1490339 1490363 - Identifier 1490339 1490349 - Identifier 1490350 1490363 - AmpersandAmpersandToken 1490363 1490366 - BinaryExpression 1490366 1490406 - PropertyAccessExpression 1490366 1490400 - ParenthesizedExpression 1490366 1490394 - AsExpression 1490368 1490393 - Identifier 1490368 1490372 - TypeReference 1490375 1490393 - Identifier 1490375 1490393 - Identifier 1490395 1490400 - EqualsEqualsEqualsToken 1490400 1490404 - NumericLiteral 1490404 1490406 - BarBarToken 1490406 1490409 - BinaryExpression 1490409 1490506 - BinaryExpression 1490409 1490463 - PropertyAccessExpression 1490409 1490437 - Identifier 1490409 1490431 - Identifier 1490432 1490437 - AmpersandToken 1490437 1490439 - PropertyAccessExpression 1490439 1490463 - Identifier 1490439 1490449 - Identifier 1490450 1490463 - AmpersandAmpersandToken 1490463 1490466 - CallExpression 1490466 1490506 - Identifier 1490466 1490479 - AsExpression 1490480 1490505 - Identifier 1490480 1490484 - TypeReference 1490487 1490505 - Identifier 1490487 1490505 - QuestionToken 1490506 1490508 - Identifier 1490508 1490513 - ColonToken 1490513 1490515 - Identifier 1490515 1490538 - FunctionDeclaration 1490546 1491209 - Identifier 1490800 1490816 - Parameter 1490817 1490827 - Identifier 1490817 1490821 - TypeReference 1490822 1490827 - Identifier 1490822 1490827 - Parameter 1490828 1490845 - Identifier 1490828 1490834 - TypeReference 1490835 1490845 - Identifier 1490835 1490845 - TypeReference 1490847 1490852 - Identifier 1490847 1490852 - Block 1490852 1491209 - VariableStatement 1490854 1490943 - VariableDeclarationList 1490854 1490942 - VariableDeclaration 1490869 1490942 - Identifier 1490869 1490877 - BinaryExpression 1490879 1490942 - ParenthesizedExpression 1490879 1490901 - BinaryExpression 1490881 1490900 - Identifier 1490881 1490886 - AmpersandToken 1490886 1490888 - PrefixUnaryExpression 1490888 1490900 - PropertyAccessExpression 1490890 1490900 - Identifier 1490890 1490894 - Identifier 1490895 1490900 - AmpersandToken 1490901 1490903 - ParenthesizedExpression 1490903 1490942 - BinaryExpression 1490905 1490941 - PropertyAccessExpression 1490905 1490924 - Identifier 1490905 1490914 - Identifier 1490915 1490924 - BarToken 1490924 1490926 - PropertyAccessExpression 1490926 1490941 - Identifier 1490926 1490936 - Identifier 1490937 1490941 - ReturnStatement 1490943 1491202 - ConditionalExpression 1490959 1491201 - BinaryExpression 1490959 1490973 - Identifier 1490959 1490967 - EqualsEqualsEqualsToken 1490967 1490971 - NumericLiteral 1490971 1490973 - QuestionToken 1490973 1490975 - Identifier 1490975 1490980 - ColonToken 1490980 1490982 - ConditionalExpression 1490982 1491201 - BinaryExpression 1490982 1491027 - Identifier 1490982 1491003 - EqualsEqualsEqualsToken 1491003 1491007 - PropertyAccessExpression 1491007 1491027 - Identifier 1491007 1491017 - Identifier 1491018 1491027 - QuestionToken 1491027 1491029 - CallExpression 1491029 1491065 - Identifier 1491029 1491042 - ArrayLiteralExpression 1491043 1491064 - Identifier 1491044 1491048 - Identifier 1491049 1491063 - ColonToken 1491065 1491067 - ConditionalExpression 1491067 1491201 - BinaryExpression 1491067 1491107 - Identifier 1491067 1491088 - EqualsEqualsEqualsToken 1491088 1491092 - PropertyAccessExpression 1491092 1491107 - Identifier 1491092 1491102 - Identifier 1491103 1491107 - QuestionToken 1491107 1491109 - CallExpression 1491109 1491140 - Identifier 1491109 1491122 - ArrayLiteralExpression 1491123 1491139 - Identifier 1491124 1491128 - Identifier 1491129 1491138 - ColonToken 1491140 1491142 - CallExpression 1491142 1491201 - Identifier 1491142 1491168 - ArrayLiteralExpression 1491169 1491200 - Identifier 1491170 1491174 - Identifier 1491175 1491189 - Identifier 1491190 1491199 - FunctionDeclaration 1491209 1491600 - Identifier 1491225 1491241 - Parameter 1491242 1491252 - Identifier 1491242 1491246 - TypeReference 1491247 1491252 - Identifier 1491247 1491252 - Parameter 1491253 1491272 - Identifier 1491253 1491264 - FalseKeyword 1491266 1491272 - TypeReference 1491274 1491279 - Identifier 1491274 1491279 - Block 1491279 1491600 - ExpressionStatement 1491281 1491322 - CallExpression 1491281 1491321 - PropertyAccessExpression 1491281 1491303 - Identifier 1491281 1491296 - Identifier 1491297 1491303 - Identifier 1491304 1491320 - VariableStatement 1491322 1491411 - VariableDeclarationList 1491322 1491410 - VariableDeclaration 1491337 1491410 - Identifier 1491337 1491356 - ConditionalExpression 1491358 1491410 - Identifier 1491358 1491369 - QuestionToken 1491369 1491371 - Identifier 1491371 1491394 - ColonToken 1491394 1491396 - Identifier 1491396 1491410 - ReturnStatement 1491411 1491593 - ConditionalExpression 1491427 1491592 - BinaryExpression 1491427 1491542 - BinaryExpression 1491427 1491455 - Identifier 1491427 1491432 - EqualsEqualsEqualsToken 1491432 1491436 - Identifier 1491436 1491455 - BarBarToken 1491455 1491458 - BinaryExpression 1491458 1491542 - BinaryExpression 1491458 1491487 - PropertyAccessExpression 1491458 1491469 - Identifier 1491458 1491463 - Identifier 1491464 1491469 - AmpersandToken 1491469 1491471 - PropertyAccessExpression 1491471 1491487 - Identifier 1491471 1491481 - Identifier 1491482 1491487 - AmpersandAmpersandToken 1491487 1491490 - BinaryExpression 1491490 1491542 - ElementAccessExpression 1491490 1491519 - PropertyAccessExpression 1491490 1491516 - ParenthesizedExpression 1491490 1491510 - AsExpression 1491492 1491509 - Identifier 1491492 1491496 - TypeReference 1491499 1491509 - Identifier 1491499 1491509 - Identifier 1491511 1491516 - NumericLiteral 1491517 1491518 - EqualsEqualsEqualsToken 1491519 1491523 - Identifier 1491523 1491542 - QuestionToken 1491542 1491544 - Identifier 1491544 1491549 - ColonToken 1491549 1491551 - CallExpression 1491551 1491592 - Identifier 1491551 1491564 - ArrayLiteralExpression 1491565 1491591 - Identifier 1491566 1491570 - Identifier 1491571 1491590 - FunctionDeclaration 1491600 1492113 - Identifier 1491616 1491654 - Parameter 1491655 1491665 - Identifier 1491655 1491659 - TypeReference 1491660 1491665 - Identifier 1491660 1491665 - Block 1491666 1492113 - IfStatement 1491668 1491891 - PrefixUnaryExpression 1491682 1491717 - Identifier 1491683 1491717 - Block 1491718 1491891 - ExpressionStatement 1491720 1491880 - BinaryExpression 1491720 1491879 - Identifier 1491720 1491768 - EqualsToken 1491768 1491770 - BinaryExpression 1491770 1491879 - CallExpression 1491770 1491862 - Identifier 1491770 1491786 - AsExpression 1491787 1491812 - StringLiteral 1491787 1491800 - TypeReference 1491803 1491812 - Identifier 1491803 1491812 - PropertyAccessExpression 1491813 1491835 - Identifier 1491813 1491825 - Identifier 1491826 1491835 - Identifier 1491836 1491861 - BarBarToken 1491862 1491865 - Identifier 1491865 1491879 - ReturnStatement 1491891 1492106 - ConditionalExpression 1491907 1492105 - BinaryExpression 1491907 1491960 - Identifier 1491907 1491942 - ExclamationEqualsEqualsToken 1491942 1491946 - Identifier 1491946 1491960 - QuestionToken 1491960 1491962 - CallExpression 1491962 1492045 - Identifier 1491962 1492001 - Identifier 1492002 1492036 - ArrayLiteralExpression 1492037 1492044 - Identifier 1492039 1492043 - ColonToken 1492045 1492047 - CallExpression 1492047 1492105 - Identifier 1492047 1492080 - ArrayLiteralExpression 1492081 1492104 - Identifier 1492082 1492086 - Identifier 1492087 1492103 - FunctionDeclaration 1492113 1492278 - Identifier 1492129 1492148 - Parameter 1492149 1492159 - Identifier 1492149 1492153 - TypeReference 1492154 1492159 - Identifier 1492154 1492159 - TypeReference 1492161 1492166 - Identifier 1492161 1492166 - Block 1492166 1492278 - ReturnStatement 1492168 1492271 - ConditionalExpression 1492184 1492270 - Identifier 1492184 1492201 - QuestionToken 1492201 1492203 - CallExpression 1492203 1492263 - Identifier 1492203 1492228 - Identifier 1492229 1492233 - PropertyAccessExpression 1492234 1492262 - Identifier 1492234 1492244 - Identifier 1492245 1492262 - ColonToken 1492263 1492265 - Identifier 1492265 1492270 - FunctionDeclaration 1492278 1492415 - Identifier 1492294 1492316 - Parameter 1492317 1492327 - Identifier 1492317 1492321 - TypeReference 1492322 1492327 - Identifier 1492322 1492327 - Block 1492328 1492415 - ReturnStatement 1492330 1492408 - ConditionalExpression 1492346 1492407 - Identifier 1492346 1492363 - QuestionToken 1492363 1492365 - CallExpression 1492365 1492400 - Identifier 1492365 1492378 - ArrayLiteralExpression 1492379 1492399 - Identifier 1492380 1492384 - Identifier 1492385 1492398 - ColonToken 1492400 1492402 - Identifier 1492402 1492407 - FunctionDeclaration 1492415 1492557 - Identifier 1492431 1492456 - Parameter 1492457 1492467 - Identifier 1492457 1492461 - TypeReference 1492462 1492467 - Identifier 1492462 1492467 - TypeReference 1492469 1492474 - Identifier 1492469 1492474 - Block 1492474 1492557 - ReturnStatement 1492476 1492550 - ConditionalExpression 1492492 1492549 - Identifier 1492492 1492509 - QuestionToken 1492509 1492511 - CallExpression 1492511 1492542 - Identifier 1492511 1492522 - Identifier 1492523 1492527 - Identifier 1492528 1492541 - ColonToken 1492542 1492544 - Identifier 1492544 1492549 - FunctionDeclaration 1492557 1492788 - Identifier 1492573 1492601 - Parameter 1492602 1492612 - Identifier 1492602 1492606 - TypeReference 1492607 1492612 - Identifier 1492607 1492612 - Parameter 1492613 1492633 - Identifier 1492613 1492618 - TypeReference 1492619 1492633 - Identifier 1492619 1492633 - Parameter 1492634 1492655 - Identifier 1492634 1492646 - BooleanKeyword 1492647 1492655 - Block 1492656 1492788 - ReturnStatement 1492658 1492781 - ConditionalExpression 1492674 1492780 - Identifier 1492674 1492686 - QuestionToken 1492686 1492688 - ConditionalExpression 1492688 1492773 - CallExpression 1492688 1492719 - Identifier 1492688 1492713 - Identifier 1492714 1492718 - QuestionToken 1492719 1492721 - CallExpression 1492721 1492743 - Identifier 1492721 1492737 - Identifier 1492738 1492742 - ColonToken 1492743 1492745 - CallExpression 1492745 1492773 - Identifier 1492745 1492767 - Identifier 1492768 1492772 - ColonToken 1492773 1492775 - Identifier 1492775 1492780 - FunctionDeclaration 1492788 1493075 - Identifier 1492804 1492830 - Parameter 1492831 1492845 - Identifier 1492831 1492839 - TypeReference 1492840 1492845 - Identifier 1492840 1492845 - Parameter 1492846 1492869 - Identifier 1492846 1492857 - TypeReference 1492858 1492869 - Identifier 1492858 1492869 - Block 1492870 1493075 - ReturnStatement 1492872 1493068 - ConditionalExpression 1492888 1493067 - CallExpression 1492888 1492932 - Identifier 1492888 1492920 - Identifier 1492921 1492931 - QuestionToken 1492932 1492934 - CallExpression 1492934 1492963 - Identifier 1492934 1492953 - Identifier 1492954 1492962 - ColonToken 1492963 1492965 - ConditionalExpression 1492965 1493067 - CallExpression 1492965 1493006 - Identifier 1492965 1492994 - Identifier 1492995 1493005 - QuestionToken 1493006 1493008 - CallExpression 1493008 1493043 - Identifier 1493008 1493033 - Identifier 1493034 1493042 - ColonToken 1493043 1493045 - Identifier 1493045 1493067 - FunctionDeclaration 1493075 1493248 - Identifier 1493091 1493109 - Parameter 1493110 1493120 - Identifier 1493110 1493114 - TypeReference 1493115 1493120 - Identifier 1493115 1493120 - Parameter 1493121 1493141 - Identifier 1493121 1493132 - BooleanKeyword 1493133 1493141 - Block 1493142 1493248 - ReturnStatement 1493144 1493241 - ConditionalExpression 1493160 1493240 - BinaryExpression 1493160 1493201 - Identifier 1493160 1493187 - AmpersandAmpersandToken 1493187 1493190 - Identifier 1493190 1493201 - QuestionToken 1493201 1493203 - CallExpression 1493203 1493233 - Identifier 1493203 1493214 - Identifier 1493215 1493219 - Identifier 1493220 1493232 - ColonToken 1493233 1493235 - Identifier 1493235 1493240 - FunctionDeclaration 1493248 1493427 - Identifier 1493264 1493284 - Parameter 1493285 1493295 - Identifier 1493285 1493289 - TypeReference 1493290 1493295 - Identifier 1493290 1493295 - Block 1493296 1493427 - ReturnStatement 1493298 1493420 - BinaryExpression 1493314 1493419 - BinaryExpression 1493314 1493335 - Identifier 1493314 1493319 - EqualsEqualsEqualsToken 1493319 1493323 - Identifier 1493323 1493335 - BarBarToken 1493335 1493338 - BinaryExpression 1493338 1493419 - PrefixUnaryExpression 1493338 1493371 - PrefixUnaryExpression 1493340 1493371 - ParenthesizedExpression 1493341 1493371 - BinaryExpression 1493342 1493370 - PropertyAccessExpression 1493342 1493352 - Identifier 1493342 1493346 - Identifier 1493347 1493352 - AmpersandToken 1493352 1493354 - PropertyAccessExpression 1493354 1493370 - Identifier 1493354 1493364 - Identifier 1493365 1493370 - AmpersandAmpersandToken 1493371 1493374 - BinaryExpression 1493374 1493419 - ElementAccessExpression 1493374 1493403 - PropertyAccessExpression 1493374 1493400 - ParenthesizedExpression 1493374 1493394 - AsExpression 1493376 1493393 - Identifier 1493376 1493380 - TypeReference 1493383 1493393 - Identifier 1493383 1493393 - Identifier 1493395 1493400 - NumericLiteral 1493401 1493402 - EqualsEqualsEqualsToken 1493403 1493407 - Identifier 1493407 1493419 - FunctionDeclaration 1493427 1493623 - Identifier 1493443 1493472 - Parameter 1493473 1493483 - Identifier 1493473 1493477 - TypeReference 1493478 1493483 - Identifier 1493478 1493483 - TypeReference 1493485 1493490 - Identifier 1493485 1493490 - Block 1493490 1493623 - ReturnStatement 1493492 1493616 - ConditionalExpression 1493508 1493615 - Identifier 1493508 1493535 - QuestionToken 1493535 1493537 - CallExpression 1493537 1493567 - Identifier 1493537 1493548 - Identifier 1493549 1493553 - Identifier 1493554 1493566 - ColonToken 1493567 1493569 - CallExpression 1493569 1493615 - Identifier 1493569 1493586 - Identifier 1493587 1493591 - PropertyAccessExpression 1493592 1493614 - Identifier 1493592 1493602 - Identifier 1493603 1493614 - FunctionDeclaration 1493623 1494617 - Identifier 1494336 1494365 - Parameter 1494366 1494378 - Identifier 1494366 1494372 - TypeReference 1494373 1494378 - Identifier 1494373 1494378 - Parameter 1494379 1494392 - Identifier 1494379 1494386 - TypeReference 1494387 1494392 - Identifier 1494387 1494392 - BooleanKeyword 1494394 1494402 - Block 1494402 1494617 - ReturnStatement 1494404 1494610 - BinaryExpression 1494420 1494609 - ParenthesizedExpression 1494420 1494510 - BinaryExpression 1494422 1494509 - ParenthesizedExpression 1494422 1494503 - BinaryExpression 1494423 1494502 - PropertyAccessExpression 1494423 1494435 - Identifier 1494423 1494429 - Identifier 1494430 1494435 - AmpersandToken 1494435 1494437 - ParenthesizedExpression 1494437 1494502 - BinaryExpression 1494439 1494501 - BinaryExpression 1494439 1494474 - PropertyAccessExpression 1494439 1494455 - Identifier 1494439 1494448 - Identifier 1494449 1494455 - BarToken 1494455 1494457 - PropertyAccessExpression 1494457 1494474 - Identifier 1494457 1494467 - Identifier 1494468 1494474 - BarToken 1494474 1494476 - PropertyAccessExpression 1494476 1494501 - Identifier 1494476 1494486 - Identifier 1494487 1494501 - ExclamationEqualsEqualsToken 1494503 1494507 - NumericLiteral 1494507 1494509 - AmpersandAmpersandToken 1494510 1494526 - ParenthesizedExpression 1494526 1494609 - BinaryExpression 1494528 1494608 - ParenthesizedExpression 1494528 1494602 - BinaryExpression 1494529 1494601 - PropertyAccessExpression 1494529 1494541 - Identifier 1494529 1494535 - Identifier 1494536 1494541 - AmpersandToken 1494541 1494543 - ParenthesizedExpression 1494543 1494601 - BinaryExpression 1494545 1494600 - BinaryExpression 1494545 1494580 - PropertyAccessExpression 1494545 1494561 - Identifier 1494545 1494554 - Identifier 1494555 1494561 - BarToken 1494561 1494563 - PropertyAccessExpression 1494563 1494580 - Identifier 1494563 1494573 - Identifier 1494574 1494580 - BarToken 1494580 1494582 - PropertyAccessExpression 1494582 1494600 - Identifier 1494582 1494592 - Identifier 1494593 1494600 - ExclamationEqualsEqualsToken 1494602 1494606 - NumericLiteral 1494606 1494608 - FunctionDeclaration 1494617 1495605 - Identifier 1494825 1494856 - Parameter 1494857 1494867 - Identifier 1494857 1494861 - TypeReference 1494862 1494867 - Identifier 1494862 1494867 - BooleanKeyword 1494869 1494877 - Block 1494877 1495605 - VariableStatement 1494879 1494930 - VariableDeclarationList 1494879 1494929 - VariableDeclaration 1494894 1494929 - Identifier 1494894 1494906 - CallExpression 1494908 1494929 - Identifier 1494908 1494923 - Identifier 1494924 1494928 - ReturnStatement 1494930 1495598 - ConditionalExpression 1494946 1495597 - BinaryExpression 1494946 1494982 - PropertyAccessExpression 1494946 1494957 - Identifier 1494946 1494951 - Identifier 1494952 1494957 - AmpersandToken 1494957 1494959 - PropertyAccessExpression 1494959 1494982 - Identifier 1494959 1494969 - Identifier 1494970 1494982 - QuestionToken 1494982 1494997 - CallExpression 1494997 1495069 - Identifier 1494997 1495003 - PropertyAccessExpression 1495004 1495036 - ParenthesizedExpression 1495004 1495030 - AsExpression 1495005 1495029 - Identifier 1495005 1495009 - TypeReference 1495012 1495029 - Identifier 1495012 1495029 - Identifier 1495031 1495036 - Identifier 1495037 1495068 - ColonToken 1495069 1495084 - BinaryExpression 1495084 1495597 - BinaryExpression 1495084 1495480 - PrefixUnaryExpression 1495084 1495400 - PrefixUnaryExpression 1495086 1495400 - ParenthesizedExpression 1495087 1495400 - BinaryExpression 1495088 1495385 - BinaryExpression 1495088 1495325 - BinaryExpression 1495088 1495264 - PropertyAccessExpression 1495088 1495117 - Identifier 1495088 1495110 - Identifier 1495111 1495117 - AmpersandAmpersandToken 1495117 1495137 - BinaryExpression 1495137 1495264 - ParenthesizedExpression 1495137 1495258 - BinaryExpression 1495139 1495257 - PropertyAccessExpression 1495139 1495156 - PropertyAccessExpression 1495139 1495150 - Identifier 1495139 1495143 - Identifier 1495144 1495150 - Identifier 1495151 1495156 - AmpersandToken 1495156 1495158 - ParenthesizedExpression 1495158 1495257 - BinaryExpression 1495160 1495256 - BinaryExpression 1495160 1495230 - BinaryExpression 1495160 1495211 - PropertyAccessExpression 1495160 1495185 - Identifier 1495160 1495171 - Identifier 1495172 1495185 - BarToken 1495185 1495187 - PropertyAccessExpression 1495187 1495211 - Identifier 1495187 1495199 - Identifier 1495200 1495211 - BarToken 1495211 1495213 - PropertyAccessExpression 1495213 1495230 - Identifier 1495213 1495225 - Identifier 1495226 1495230 - BarToken 1495230 1495232 - PropertyAccessExpression 1495232 1495256 - Identifier 1495232 1495244 - Identifier 1495245 1495256 - ExclamationEqualsEqualsToken 1495258 1495262 - NumericLiteral 1495262 1495264 - AmpersandAmpersandToken 1495264 1495284 - PrefixUnaryExpression 1495284 1495325 - ParenthesizedExpression 1495286 1495325 - BinaryExpression 1495287 1495324 - PropertyAccessExpression 1495287 1495304 - PropertyAccessExpression 1495287 1495298 - Identifier 1495287 1495291 - Identifier 1495292 1495298 - Identifier 1495299 1495304 - AmpersandToken 1495304 1495306 - PropertyAccessExpression 1495306 1495324 - Identifier 1495306 1495318 - Identifier 1495319 1495324 - AmpersandAmpersandToken 1495325 1495345 - PrefixUnaryExpression 1495345 1495385 - CallExpression 1495347 1495385 - Identifier 1495347 1495379 - Identifier 1495380 1495384 - BarBarToken 1495400 1495403 - PrefixUnaryExpression 1495403 1495480 - PrefixUnaryExpression 1495405 1495480 - ParenthesizedExpression 1495406 1495480 - BinaryExpression 1495407 1495465 - Identifier 1495407 1495436 - AmpersandToken 1495436 1495438 - PropertyAccessExpression 1495438 1495465 - Identifier 1495438 1495450 - Identifier 1495451 1495465 - BarBarToken 1495480 1495483 - PrefixUnaryExpression 1495483 1495597 - PrefixUnaryExpression 1495485 1495597 - ParenthesizedExpression 1495486 1495597 - BinaryExpression 1495487 1495596 - BinaryExpression 1495487 1495526 - Identifier 1495487 1495498 - AmpersandToken 1495498 1495500 - PropertyAccessExpression 1495500 1495526 - Identifier 1495500 1495512 - Identifier 1495513 1495526 - AmpersandAmpersandToken 1495526 1495529 - CallExpression 1495529 1495596 - Identifier 1495529 1495560 - PropertyAccessExpression 1495561 1495595 - ParenthesizedExpression 1495561 1495588 - AsExpression 1495562 1495587 - Identifier 1495562 1495566 - TypeReference 1495569 1495587 - Identifier 1495569 1495587 - Identifier 1495589 1495595 - FunctionDeclaration 1495605 1496255 - Identifier 1495621 1495642 - Parameter 1495643 1495657 - Identifier 1495643 1495649 - TypeReference 1495650 1495657 - Identifier 1495650 1495657 - Parameter 1495658 1495681 - Identifier 1495658 1495663 - UnionType 1495664 1495681 - TypeReference 1495664 1495669 - Identifier 1495664 1495669 - UndefinedKeyword 1495671 1495681 - Block 1495682 1496255 - VariableStatement 1495684 1495801 - VariableDeclarationList 1495684 1495800 - VariableDeclaration 1495699 1495800 - Identifier 1495699 1495706 - CallExpression 1495708 1495800 - Identifier 1495708 1495721 - PropertyAccessExpression 1495722 1495734 - Identifier 1495722 1495728 - Identifier 1495729 1495734 - PropertyAccessExpression 1495735 1495754 - Identifier 1495735 1495742 - Identifier 1495743 1495754 - BinaryExpression 1495755 1495799 - CallExpression 1495755 1495777 - Identifier 1495755 1495769 - Identifier 1495770 1495776 - AmpersandToken 1495777 1495779 - PropertyAccessExpression 1495779 1495799 - Identifier 1495779 1495790 - Identifier 1495791 1495799 - ExpressionStatement 1495801 1495853 - BinaryExpression 1495801 1495852 - PropertyAccessExpression 1495801 1495830 - Identifier 1495801 1495817 - Identifier 1495818 1495830 - EqualsToken 1495830 1495832 - PropertyAccessExpression 1495832 1495852 - Identifier 1495832 1495839 - Identifier 1495840 1495852 - ExpressionStatement 1495853 1495893 - BinaryExpression 1495853 1495892 - PropertyAccessExpression 1495853 1495876 - Identifier 1495853 1495869 - Identifier 1495870 1495876 - EqualsToken 1495876 1495878 - PropertyAccessExpression 1495878 1495892 - Identifier 1495878 1495885 - Identifier 1495886 1495892 - ExpressionStatement 1495893 1495928 - BinaryExpression 1495893 1495927 - PropertyAccessExpression 1495893 1495920 - PropertyAccessExpression 1495893 1495915 - Identifier 1495893 1495909 - Identifier 1495910 1495915 - Identifier 1495916 1495920 - EqualsToken 1495920 1495922 - Identifier 1495922 1495927 - ExpressionStatement 1495928 1495967 - BinaryExpression 1495928 1495966 - PropertyAccessExpression 1495928 1495957 - PropertyAccessExpression 1495928 1495950 - Identifier 1495928 1495944 - Identifier 1495945 1495950 - Identifier 1495951 1495957 - EqualsToken 1495957 1495959 - Identifier 1495959 1495966 - IfStatement 1495967 1496082 - PropertyAccessExpression 1495981 1496004 - Identifier 1495981 1495987 - Identifier 1495988 1496004 - Block 1496005 1496082 - ExpressionStatement 1496007 1496071 - BinaryExpression 1496007 1496070 - PropertyAccessExpression 1496007 1496044 - Identifier 1496007 1496027 - Identifier 1496028 1496044 - EqualsToken 1496044 1496046 - PropertyAccessExpression 1496046 1496070 - Identifier 1496046 1496053 - Identifier 1496054 1496070 - VariableStatement 1496082 1496141 - VariableDeclarationList 1496082 1496140 - VariableDeclaration 1496097 1496140 - Identifier 1496097 1496106 - PropertyAccessExpression 1496108 1496140 - CallExpression 1496108 1496131 - Identifier 1496108 1496123 - Identifier 1496124 1496130 - Identifier 1496132 1496140 - IfStatement 1496141 1496224 - Identifier 1496155 1496163 - Block 1496164 1496224 - ExpressionStatement 1496166 1496213 - BinaryExpression 1496166 1496212 - PropertyAccessExpression 1496166 1496201 - PropertyAccessExpression 1496166 1496192 - Identifier 1496166 1496186 - Identifier 1496187 1496192 - Identifier 1496193 1496201 - EqualsToken 1496201 1496203 - Identifier 1496203 1496212 - ReturnStatement 1496224 1496248 - Identifier 1496240 1496247 - FunctionDeclaration 1496255 1496719 - Identifier 1496271 1496294 - Parameter 1496295 1496305 - Identifier 1496295 1496299 - TypeReference 1496300 1496305 - Identifier 1496300 1496305 - Parameter 1496306 1496338 - Identifier 1496306 1496308 - FunctionType 1496309 1496338 - Parameter 1496311 1496329 - Identifier 1496311 1496323 - TypeReference 1496324 1496329 - Identifier 1496324 1496329 - TypeReference 1496333 1496338 - Identifier 1496333 1496338 - Block 1496339 1496719 - VariableStatement 1496341 1496387 - VariableDeclarationList 1496341 1496386 - VariableDeclaration 1496356 1496386 - Identifier 1496356 1496364 - CallExpression 1496366 1496386 - Identifier 1496366 1496384 - ForOfStatement 1496387 1496687 - VariableDeclarationList 1496402 1496416 - VariableDeclaration 1496407 1496416 - Identifier 1496407 1496416 - CallExpression 1496419 1496451 - Identifier 1496419 1496445 - Identifier 1496446 1496450 - Block 1496452 1496687 - VariableStatement 1496454 1496511 - VariableDeclarationList 1496454 1496510 - VariableDeclaration 1496473 1496510 - Identifier 1496473 1496482 - CallExpression 1496484 1496510 - Identifier 1496484 1496500 - Identifier 1496501 1496509 - VariableStatement 1496511 1496553 - VariableDeclarationList 1496511 1496552 - VariableDeclaration 1496530 1496552 - Identifier 1496530 1496538 - CallExpression 1496540 1496552 - Identifier 1496540 1496542 - Identifier 1496543 1496551 - ExpressionStatement 1496553 1496676 - CallExpression 1496553 1496675 - PropertyAccessExpression 1496553 1496578 - Identifier 1496553 1496574 - Identifier 1496575 1496578 - PropertyAccessExpression 1496579 1496599 - Identifier 1496579 1496587 - Identifier 1496588 1496599 - ConditionalExpression 1496600 1496674 - BinaryExpression 1496600 1496621 - Identifier 1496600 1496608 - EqualsEqualsEqualsToken 1496608 1496612 - Identifier 1496612 1496621 - QuestionToken 1496621 1496623 - Identifier 1496623 1496632 - ColonToken 1496632 1496634 - CallExpression 1496634 1496674 - Identifier 1496634 1496655 - Identifier 1496656 1496664 - Identifier 1496665 1496673 - ReturnStatement 1496687 1496712 - Identifier 1496703 1496711 - FunctionDeclaration 1496719 1497848 - Identifier 1496999 1497029 - Parameter 1497030 1497040 - Identifier 1497030 1497034 - TypeReference 1497035 1497040 - Identifier 1497035 1497040 - TypeReference 1497042 1497047 - Identifier 1497042 1497047 - Block 1497047 1497848 - IfStatement 1497049 1497182 - PrefixUnaryExpression 1497063 1497142 - ParenthesizedExpression 1497064 1497142 - BinaryExpression 1497065 1497141 - CallExpression 1497065 1497090 - Identifier 1497065 1497084 - Identifier 1497085 1497089 - AmpersandAmpersandToken 1497090 1497093 - BinaryExpression 1497093 1497141 - CallExpression 1497093 1497114 - Identifier 1497093 1497108 - Identifier 1497109 1497113 - AmpersandToken 1497114 1497116 - PropertyAccessExpression 1497116 1497141 - Identifier 1497116 1497128 - Identifier 1497129 1497141 - Block 1497143 1497182 - ReturnStatement 1497145 1497171 - Identifier 1497165 1497170 - VariableStatement 1497182 1497257 - VariableDeclarationList 1497182 1497256 - VariableDeclaration 1497197 1497256 - Identifier 1497197 1497209 - PropertyAccessExpression 1497211 1497256 - ParenthesizedExpression 1497211 1497244 - AsExpression 1497213 1497243 - Identifier 1497213 1497217 - TypeReference 1497220 1497243 - Identifier 1497220 1497243 - Identifier 1497245 1497256 - IfStatement 1497257 1497329 - Identifier 1497271 1497282 - Block 1497283 1497329 - ReturnStatement 1497285 1497318 - Identifier 1497305 1497317 - VariableStatement 1497329 1497379 - VariableDeclarationList 1497329 1497378 - VariableDeclaration 1497346 1497378 - Identifier 1497346 1497355 - AsExpression 1497357 1497378 - Identifier 1497357 1497362 - TypeReference 1497365 1497378 - Identifier 1497365 1497378 - VariableStatement 1497379 1497465 - VariableDeclarationList 1497379 1497464 - VariableDeclaration 1497394 1497464 - Identifier 1497394 1497402 - CallExpression 1497404 1497464 - Identifier 1497404 1497427 - Identifier 1497428 1497432 - Identifier 1497433 1497463 - VariableStatement 1497465 1497616 - VariableDeclarationList 1497465 1497615 - VariableDeclaration 1497480 1497615 - Identifier 1497480 1497491 - CallExpression 1497493 1497615 - Identifier 1497493 1497513 - PropertyAccessExpression 1497514 1497529 - Identifier 1497514 1497522 - Identifier 1497523 1497529 - Identifier 1497530 1497538 - PropertyAccessExpression 1497539 1497563 - Identifier 1497539 1497548 - Identifier 1497549 1497563 - PropertyAccessExpression 1497564 1497593 - Identifier 1497564 1497573 - Identifier 1497574 1497593 - PropertyAccessExpression 1497594 1497614 - Identifier 1497594 1497603 - Identifier 1497604 1497614 - ExpressionStatement 1497616 1497660 - BinaryExpression 1497616 1497659 - PropertyAccessExpression 1497616 1497642 - Identifier 1497616 1497636 - Identifier 1497637 1497642 - EqualsToken 1497642 1497644 - PropertyAccessExpression 1497644 1497659 - Identifier 1497644 1497653 - Identifier 1497654 1497659 - ExpressionStatement 1497660 1497745 - BinaryExpression 1497660 1497744 - PropertyAccessExpression 1497660 1497692 - Identifier 1497660 1497680 - Identifier 1497681 1497692 - BarEqualsToken 1497692 1497695 - BinaryExpression 1497695 1497744 - PropertyAccessExpression 1497695 1497716 - Identifier 1497695 1497704 - Identifier 1497705 1497716 - AmpersandToken 1497716 1497718 - PrefixUnaryExpression 1497718 1497744 - PropertyAccessExpression 1497720 1497744 - Identifier 1497720 1497731 - Identifier 1497732 1497744 - ExpressionStatement 1497745 1497813 - BinaryExpression 1497745 1497812 - PropertyAccessExpression 1497745 1497799 - ParenthesizedExpression 1497745 1497787 - AsExpression 1497756 1497786 - Identifier 1497756 1497760 - TypeReference 1497763 1497786 - Identifier 1497763 1497786 - Identifier 1497788 1497799 - EqualsToken 1497799 1497801 - Identifier 1497801 1497812 - ReturnStatement 1497813 1497841 - Identifier 1497829 1497840 - FunctionDeclaration 1497848 1498098 - Identifier 1497864 1497886 - Parameter 1497887 1497922 - Identifier 1497887 1497893 - UnionType 1497894 1497922 - TypeReference 1497894 1497910 - Identifier 1497894 1497910 - UndefinedKeyword 1497912 1497922 - Parameter 1497923 1497958 - Identifier 1497923 1497936 - UnionType 1497937 1497958 - TypeReference 1497937 1497946 - Identifier 1497937 1497946 - UndefinedKeyword 1497948 1497958 - Parameter 1497959 1497988 - Identifier 1497959 1497968 - UnionType 1497969 1497988 - ArrayType 1497969 1497976 - TypeReference 1497969 1497974 - Identifier 1497969 1497974 - UndefinedKeyword 1497978 1497988 - TypeReference 1497990 1498006 - Identifier 1497990 1498006 - Block 1498006 1498098 - ReturnStatement 1498008 1498091 - ObjectLiteralExpression 1498024 1498090 - ShorthandPropertyAssignment 1498026 1498033 - Identifier 1498026 1498033 - ShorthandPropertyAssignment 1498034 1498047 - Identifier 1498034 1498047 - ShorthandPropertyAssignment 1498048 1498057 - Identifier 1498048 1498057 - PropertyAssignment 1498058 1498088 - Identifier 1498058 1498077 - Identifier 1498078 1498088 - FunctionDeclaration 1498098 1498785 - Identifier 1498114 1498135 - Parameter 1498136 1498160 - Identifier 1498136 1498143 - TypeReference 1498144 1498160 - Identifier 1498144 1498160 - ArrayType 1498162 1498169 - TypeReference 1498162 1498167 - Identifier 1498162 1498167 - Block 1498169 1498785 - IfStatement 1498171 1498744 - PrefixUnaryExpression 1498185 1498202 - PropertyAccessExpression 1498186 1498202 - Identifier 1498186 1498193 - Identifier 1498194 1498202 - Block 1498203 1498744 - VariableStatement 1498205 1498247 - VariableDeclarationList 1498205 1498246 - VariableDeclaration 1498224 1498246 - Identifier 1498224 1498233 - ArrayType 1498234 1498241 - TypeReference 1498234 1498239 - Identifier 1498234 1498239 - ArrayLiteralExpression 1498243 1498246 - ForOfStatement 1498247 1498691 - VariableDeclarationList 1498266 1498276 - VariableDeclaration 1498271 1498276 - Identifier 1498271 1498276 - CallExpression 1498279 1498317 - Identifier 1498279 1498300 - NonNullExpression 1498301 1498316 - PropertyAccessExpression 1498301 1498315 - Identifier 1498301 1498308 - Identifier 1498309 1498315 - Block 1498318 1498691 - IfStatement 1498320 1498676 - CallExpression 1498342 1498367 - Identifier 1498342 1498361 - Identifier 1498362 1498366 - Block 1498368 1498676 - VariableStatement 1498370 1498458 - VariableDeclarationList 1498370 1498457 - VariableDeclaration 1498397 1498457 - Identifier 1498397 1498402 - CallExpression 1498404 1498457 - Identifier 1498404 1498428 - Identifier 1498429 1498433 - NonNullExpression 1498434 1498456 - PropertyAccessExpression 1498434 1498455 - Identifier 1498434 1498442 - Identifier 1498443 1498455 - IfStatement 1498458 1498657 - Identifier 1498484 1498488 - Block 1498489 1498657 - ExpressionStatement 1498491 1498634 - CallExpression 1498491 1498633 - Identifier 1498491 1498528 - CallExpression 1498529 1498550 - Identifier 1498529 1498544 - Identifier 1498545 1498549 - ArrowFunction 1498551 1498632 - Parameter 1498551 1498553 - Identifier 1498551 1498553 - EqualsGreaterThanToken 1498553 1498556 - Block 1498556 1498632 - ExpressionStatement 1498558 1498605 - CallExpression 1498558 1498604 - PropertyAccessExpression 1498558 1498601 - Identifier 1498558 1498596 - Identifier 1498597 1498601 - Identifier 1498602 1498603 - ExpressionStatement 1498691 1498733 - BinaryExpression 1498691 1498732 - PropertyAccessExpression 1498691 1498721 - Identifier 1498691 1498712 - Identifier 1498713 1498721 - EqualsToken 1498721 1498723 - Identifier 1498723 1498732 - ReturnStatement 1498744 1498778 - PropertyAccessExpression 1498760 1498777 - Identifier 1498760 1498768 - Identifier 1498769 1498777 - FunctionDeclaration 1498785 1499438 - Identifier 1498801 1498824 - Parameter 1498825 1498849 - Identifier 1498825 1498832 - TypeReference 1498833 1498849 - Identifier 1498833 1498849 - ArrayType 1498851 1498860 - TypeReference 1498851 1498858 - Identifier 1498851 1498858 - Block 1498860 1499438 - IfStatement 1498862 1499387 - PrefixUnaryExpression 1498876 1498903 - PropertyAccessExpression 1498877 1498903 - Identifier 1498877 1498884 - Identifier 1498885 1498903 - Block 1498904 1499387 - VariableStatement 1498906 1498962 - VariableDeclarationList 1498906 1498961 - VariableDeclaration 1498925 1498961 - Identifier 1498925 1498931 - NewExpression 1498933 1498961 - Identifier 1498937 1498941 - TypeReference 1498942 1498950 - Identifier 1498942 1498950 - TypeReference 1498951 1498958 - Identifier 1498951 1498958 - ForOfStatement 1498962 1499307 - VariableDeclarationList 1498981 1498988 - VariableDeclaration 1498986 1498988 - Identifier 1498986 1498988 - CallExpression 1498991 1499021 - Identifier 1498991 1499012 - Identifier 1499013 1499020 - Block 1499022 1499307 - IfStatement 1499024 1499292 - BinaryExpression 1499046 1499121 - CallExpression 1499046 1499068 - Identifier 1499046 1499065 - Identifier 1499066 1499067 - AmpersandAmpersandToken 1499068 1499071 - PrefixUnaryExpression 1499071 1499121 - ParenthesizedExpression 1499073 1499121 - BinaryExpression 1499074 1499120 - CallExpression 1499074 1499091 - Identifier 1499074 1499088 - Identifier 1499089 1499090 - AmpersandToken 1499091 1499093 - PropertyAccessExpression 1499093 1499120 - Identifier 1499093 1499105 - Identifier 1499106 1499120 - Block 1499122 1499292 - ForOfStatement 1499124 1499273 - VariableDeclarationList 1499151 1499161 - VariableDeclaration 1499156 1499161 - Identifier 1499156 1499161 - CallExpression 1499164 1499187 - Identifier 1499164 1499184 - Identifier 1499185 1499186 - Block 1499188 1499273 - ExpressionStatement 1499190 1499250 - CallExpression 1499190 1499249 - PropertyAccessExpression 1499190 1499225 - Identifier 1499190 1499221 - Identifier 1499222 1499225 - PropertyAccessExpression 1499226 1499242 - Identifier 1499226 1499230 - Identifier 1499231 1499242 - Identifier 1499243 1499248 - ExpressionStatement 1499307 1499376 - BinaryExpression 1499307 1499375 - PropertyAccessExpression 1499307 1499347 - Identifier 1499307 1499328 - Identifier 1499329 1499347 - EqualsToken 1499347 1499349 - CallExpression 1499349 1499375 - Identifier 1499349 1499359 - CallExpression 1499360 1499374 - PropertyAccessExpression 1499360 1499372 - Identifier 1499360 1499365 - Identifier 1499366 1499372 - ReturnStatement 1499387 1499431 - PropertyAccessExpression 1499403 1499430 - Identifier 1499403 1499411 - Identifier 1499412 1499430 - FunctionDeclaration 1499438 1500096 - Identifier 1499454 1499473 - Parameter 1499474 1499486 - Identifier 1499474 1499478 - TypeReference 1499479 1499486 - Identifier 1499479 1499486 - Parameter 1499487 1499524 - Identifier 1499487 1499495 - UnionType 1499496 1499524 - TypeReference 1499496 1499512 - Identifier 1499496 1499512 - UndefinedKeyword 1499514 1499524 - TypeReference 1499526 1499533 - Identifier 1499526 1499533 - Block 1499533 1500096 - IfStatement 1499535 1499768 - PrefixUnaryExpression 1499549 1499585 - ParenthesizedExpression 1499550 1499585 - BinaryExpression 1499551 1499584 - PropertyAccessExpression 1499551 1499561 - Identifier 1499551 1499555 - Identifier 1499556 1499561 - AmpersandToken 1499561 1499563 - PropertyAccessExpression 1499563 1499584 - Identifier 1499563 1499575 - Identifier 1499576 1499584 - Block 1499586 1499768 - ReturnStatement 1499588 1499757 - Identifier 1499751 1499756 - VariableStatement 1499768 1499817 - VariableDeclarationList 1499768 1499816 - VariableDeclaration 1499783 1499816 - Identifier 1499783 1499792 - CallExpression 1499794 1499816 - Identifier 1499794 1499810 - Identifier 1499811 1499815 - VariableStatement 1499817 1499931 - VariableDeclarationList 1499817 1499930 - VariableDeclaration 1499832 1499930 - Identifier 1499832 1499844 - BinaryExpression 1499846 1499930 - Identifier 1499846 1499854 - AmpersandAmpersandToken 1499854 1499857 - CallExpression 1499857 1499930 - Identifier 1499857 1499879 - Identifier 1499880 1499887 - PropertyAccessExpression 1499888 1499905 - Identifier 1499888 1499893 - Identifier 1499894 1499905 - Identifier 1499906 1499929 - VariableStatement 1499931 1500006 - VariableDeclarationList 1499931 1500005 - VariableDeclaration 1499946 1500005 - Identifier 1499946 1499954 - CallExpression 1499956 1500005 - Identifier 1499956 1499982 - Identifier 1499983 1499991 - Identifier 1499992 1500004 - ReturnStatement 1500006 1500089 - ConditionalExpression 1500022 1500088 - BinaryExpression 1500022 1500043 - Identifier 1500022 1500030 - EqualsEqualsEqualsToken 1500030 1500034 - Identifier 1500034 1500043 - QuestionToken 1500043 1500045 - Identifier 1500045 1500050 - ColonToken 1500050 1500052 - CallExpression 1500052 1500088 - Identifier 1500052 1500073 - Identifier 1500074 1500078 - Identifier 1500079 1500087 - FunctionDeclaration 1500096 1500492 - Identifier 1500112 1500133 - Parameter 1500134 1500146 - Identifier 1500134 1500138 - TypeReference 1500139 1500146 - Identifier 1500139 1500146 - Block 1500147 1500492 - VariableStatement 1500149 1500216 - VariableDeclarationList 1500149 1500215 - VariableDeclaration 1500164 1500215 - Identifier 1500164 1500171 - CallExpression 1500173 1500215 - PropertyAccessExpression 1500173 1500197 - Identifier 1500173 1500193 - Identifier 1500194 1500197 - PropertyAccessExpression 1500198 1500214 - Identifier 1500198 1500202 - Identifier 1500203 1500214 - IfStatement 1500216 1500278 - Identifier 1500230 1500236 - Block 1500237 1500278 - ReturnStatement 1500239 1500267 - Identifier 1500259 1500266 - VariableStatement 1500278 1500354 - VariableDeclarationList 1500278 1500353 - VariableDeclaration 1500293 1500353 - Identifier 1500293 1500300 - CallExpression 1500302 1500353 - Identifier 1500302 1500323 - Identifier 1500324 1500328 - Identifier 1500329 1500352 - ExpressionStatement 1500354 1500401 - BinaryExpression 1500354 1500400 - PropertyAccessExpression 1500354 1500376 - Identifier 1500354 1500370 - Identifier 1500371 1500376 - BarEqualsToken 1500376 1500379 - PropertyAccessExpression 1500379 1500400 - Identifier 1500379 1500391 - Identifier 1500392 1500400 - ExpressionStatement 1500401 1500461 - CallExpression 1500401 1500460 - PropertyAccessExpression 1500401 1500434 - Identifier 1500401 1500430 - Identifier 1500431 1500434 - PropertyAccessExpression 1500435 1500451 - Identifier 1500435 1500439 - Identifier 1500440 1500451 - Identifier 1500452 1500459 - ReturnStatement 1500461 1500485 - Identifier 1500477 1500484 - FunctionDeclaration 1500492 1501496 - Identifier 1500508 1500538 - Parameter 1500539 1500549 - Identifier 1500539 1500543 - TypeReference 1500544 1500549 - Identifier 1500544 1500549 - Parameter 1500550 1500587 - Identifier 1500550 1500558 - UnionType 1500559 1500587 - TypeReference 1500559 1500575 - Identifier 1500559 1500575 - UndefinedKeyword 1500577 1500587 - TypeReference 1500589 1500594 - Identifier 1500589 1500594 - Block 1500594 1501496 - VariableStatement 1500596 1500642 - VariableDeclarationList 1500596 1500641 - VariableDeclaration 1500611 1500641 - Identifier 1500611 1500619 - CallExpression 1500621 1500641 - Identifier 1500621 1500639 - ForOfStatement 1500642 1500795 - VariableDeclarationList 1500657 1500667 - VariableDeclaration 1500662 1500667 - Identifier 1500662 1500667 - CallExpression 1500670 1500702 - Identifier 1500670 1500696 - Identifier 1500697 1500701 - Block 1500703 1500795 - ExpressionStatement 1500705 1500784 - CallExpression 1500705 1500783 - PropertyAccessExpression 1500705 1500730 - Identifier 1500705 1500726 - Identifier 1500727 1500730 - PropertyAccessExpression 1500731 1500747 - Identifier 1500731 1500735 - Identifier 1500736 1500747 - CallExpression 1500748 1500782 - Identifier 1500748 1500767 - Identifier 1500768 1500772 - Identifier 1500773 1500781 - IfStatement 1500795 1501066 - Identifier 1500809 1500816 - Block 1500817 1501066 - ForOfStatement 1500819 1501055 - VariableDeclarationList 1500838 1500848 - VariableDeclaration 1500843 1500848 - Identifier 1500843 1500848 - CallExpression 1500851 1500883 - Identifier 1500851 1500874 - Identifier 1500875 1500882 - Block 1500884 1501055 - IfStatement 1500886 1501040 - PrefixUnaryExpression 1500908 1500938 - CallExpression 1500909 1500938 - PropertyAccessExpression 1500909 1500920 - Identifier 1500909 1500916 - Identifier 1500917 1500920 - PropertyAccessExpression 1500921 1500937 - Identifier 1500921 1500925 - Identifier 1500926 1500937 - Block 1500939 1501040 - ExpressionStatement 1500941 1501021 - CallExpression 1500941 1501020 - PropertyAccessExpression 1500941 1500974 - Identifier 1500941 1500970 - Identifier 1500971 1500974 - PropertyAccessExpression 1500975 1500991 - Identifier 1500975 1500979 - Identifier 1500980 1500991 - CallExpression 1500992 1501019 - Identifier 1500992 1501013 - Identifier 1501014 1501018 - VariableStatement 1501066 1501311 - VariableDeclarationList 1501066 1501310 - VariableDeclaration 1501081 1501310 - Identifier 1501081 1501088 - CallExpression 1501090 1501310 - Identifier 1501090 1501110 - PropertyAccessExpression 1501111 1501122 - Identifier 1501111 1501115 - Identifier 1501116 1501122 - Identifier 1501123 1501131 - Identifier 1501132 1501143 - Identifier 1501144 1501155 - CallExpression 1501156 1501309 - Identifier 1501156 1501164 - CallExpression 1501165 1501190 - Identifier 1501165 1501184 - Identifier 1501185 1501189 - ArrowFunction 1501191 1501308 - Parameter 1501191 1501196 - Identifier 1501191 1501196 - EqualsGreaterThanToken 1501196 1501199 - CallExpression 1501199 1501308 - Identifier 1501199 1501215 - PropertyAccessExpression 1501216 1501228 - Identifier 1501216 1501220 - Identifier 1501221 1501228 - CallExpression 1501229 1501255 - Identifier 1501229 1501244 - PropertyAccessExpression 1501245 1501254 - Identifier 1501245 1501249 - Identifier 1501250 1501254 - PropertyAccessExpression 1501256 1501272 - Identifier 1501256 1501261 - Identifier 1501262 1501272 - PropertyAccessExpression 1501273 1501290 - Identifier 1501273 1501278 - Identifier 1501279 1501290 - PropertyAccessExpression 1501291 1501307 - Identifier 1501291 1501296 - Identifier 1501297 1501307 - ExpressionStatement 1501311 1501422 - BinaryExpression 1501311 1501421 - PropertyAccessExpression 1501311 1501339 - Identifier 1501311 1501327 - Identifier 1501328 1501339 - BarEqualsToken 1501339 1501342 - BinaryExpression 1501342 1501421 - CallExpression 1501342 1501363 - Identifier 1501342 1501357 - Identifier 1501358 1501362 - AmpersandToken 1501363 1501365 - ParenthesizedExpression 1501365 1501421 - BinaryExpression 1501367 1501420 - PropertyAccessExpression 1501367 1501388 - Identifier 1501367 1501378 - Identifier 1501379 1501388 - BarToken 1501388 1501390 - PropertyAccessExpression 1501390 1501420 - Identifier 1501390 1501402 - Identifier 1501403 1501420 - ReturnStatement 1501422 1501489 - Identifier 1501481 1501488 - FunctionDeclaration 1501496 1501620 - Identifier 1501512 1501527 - Parameter 1501528 1501538 - Identifier 1501528 1501532 - TypeReference 1501533 1501538 - Identifier 1501533 1501538 - Block 1501539 1501620 - ReturnStatement 1501541 1501613 - CallExpression 1501557 1501612 - Identifier 1501557 1501583 - Identifier 1501584 1501588 - Identifier 1501589 1501611 - FunctionDeclaration 1501620 1503552 - Identifier 1501636 1501662 - Parameter 1501663 1501673 - Identifier 1501663 1501667 - TypeReference 1501668 1501673 - Identifier 1501668 1501673 - Parameter 1501674 1501711 - Identifier 1501674 1501682 - UnionType 1501683 1501711 - TypeReference 1501683 1501699 - Identifier 1501683 1501699 - UndefinedKeyword 1501701 1501711 - TypeReference 1501713 1501718 - Identifier 1501713 1501718 - Block 1501718 1503552 - IfStatement 1501720 1503523 - BinaryExpression 1501734 1501785 - CallExpression 1501734 1501754 - Identifier 1501734 1501748 - Identifier 1501749 1501753 - AmpersandToken 1501754 1501756 - PropertyAccessExpression 1501756 1501785 - Identifier 1501756 1501768 - Identifier 1501769 1501785 - Block 1501786 1503523 - IfStatement 1501788 1501899 - BinaryExpression 1501806 1501843 - BinaryExpression 1501806 1501827 - Identifier 1501806 1501813 - EqualsEqualsEqualsToken 1501813 1501817 - Identifier 1501817 1501827 - AmpersandAmpersandToken 1501827 1501830 - PropertyAccessExpression 1501830 1501843 - Identifier 1501830 1501835 - Identifier 1501836 1501843 - Block 1501844 1501899 - ReturnStatement 1501846 1501884 - PropertyAccessExpression 1501870 1501883 - Identifier 1501870 1501875 - Identifier 1501876 1501883 - VariableStatement 1501899 1501942 - VariableDeclarationList 1501899 1501941 - VariableDeclaration 1501916 1501941 - Identifier 1501916 1501923 - UnionType 1501924 1501941 - TypeReference 1501924 1501929 - Identifier 1501924 1501929 - UndefinedKeyword 1501931 1501941 - IfStatement 1501942 1503369 - BinaryExpression 1501960 1502009 - PropertyAccessExpression 1501960 1501970 - Identifier 1501960 1501964 - Identifier 1501965 1501970 - AmpersandToken 1501970 1501972 - ParenthesizedExpression 1501972 1502009 - BinaryExpression 1501974 1502008 - PropertyAccessExpression 1501974 1501987 - Identifier 1501974 1501983 - Identifier 1501984 1501987 - BarToken 1501987 1501989 - PropertyAccessExpression 1501989 1502008 - Identifier 1501989 1501999 - Identifier 1502000 1502008 - Block 1502010 1502062 - ExpressionStatement 1502012 1502047 - BinaryExpression 1502012 1502046 - Identifier 1502012 1502036 - EqualsToken 1502036 1502038 - Identifier 1502038 1502046 - IfStatement 1502080 1503369 - CallExpression 1502085 1502110 - Identifier 1502085 1502104 - Identifier 1502105 1502109 - Block 1502111 1502200 - ExpressionStatement 1502113 1502185 - BinaryExpression 1502113 1502184 - Identifier 1502113 1502137 - EqualsToken 1502137 1502139 - CallExpression 1502139 1502184 - Identifier 1502139 1502169 - Identifier 1502170 1502174 - Identifier 1502175 1502183 - IfStatement 1502218 1503369 - BinaryExpression 1502223 1502251 - PropertyAccessExpression 1502223 1502233 - Identifier 1502223 1502227 - Identifier 1502228 1502233 - AmpersandToken 1502233 1502235 - PropertyAccessExpression 1502235 1502251 - Identifier 1502235 1502245 - Identifier 1502246 1502251 - Block 1502252 1503013 - VariableStatement 1502254 1502403 - VariableDeclarationList 1502254 1502402 - VariableDeclaration 1502277 1502402 - Identifier 1502277 1502290 - BinaryExpression 1502292 1502402 - Identifier 1502292 1502300 - BarBarToken 1502300 1502303 - CallExpression 1502303 1502402 - Identifier 1502303 1502325 - Identifier 1502326 1502346 - Identifier 1502347 1502374 - PropertyAccessExpression 1502375 1502401 - ParenthesizedExpression 1502375 1502395 - AsExpression 1502377 1502394 - Identifier 1502377 1502381 - TypeReference 1502384 1502394 - Identifier 1502384 1502394 - Identifier 1502396 1502401 - VariableStatement 1502403 1502561 - VariableDeclarationList 1502403 1502560 - VariableDeclaration 1502426 1502560 - Identifier 1502426 1502439 - CallExpression 1502441 1502560 - Identifier 1502441 1502449 - PropertyAccessExpression 1502450 1502475 - ParenthesizedExpression 1502450 1502469 - AsExpression 1502451 1502468 - Identifier 1502451 1502455 - TypeReference 1502458 1502468 - Identifier 1502458 1502468 - Identifier 1502470 1502475 - ArrowFunction 1502476 1502559 - Parameter 1502476 1502478 - Identifier 1502476 1502478 - EqualsGreaterThanToken 1502478 1502481 - ConditionalExpression 1502481 1502559 - BinaryExpression 1502481 1502510 - PropertyAccessExpression 1502481 1502489 - Identifier 1502481 1502483 - Identifier 1502484 1502489 - AmpersandToken 1502489 1502491 - PropertyAccessExpression 1502491 1502510 - Identifier 1502491 1502501 - Identifier 1502502 1502510 - QuestionToken 1502510 1502512 - Identifier 1502512 1502514 - ColonToken 1502514 1502516 - CallExpression 1502516 1502559 - Identifier 1502516 1502542 - Identifier 1502543 1502544 - Identifier 1502545 1502558 - ExpressionStatement 1502561 1502998 - BinaryExpression 1502561 1502997 - Identifier 1502561 1502879 - EqualsToken 1502879 1502881 - CallExpression 1502881 1502997 - Identifier 1502881 1502894 - Identifier 1502895 1502907 - ConditionalExpression 1502908 1502996 - CallExpression 1502908 1502946 - Identifier 1502908 1502913 - Identifier 1502914 1502926 - Identifier 1502927 1502945 - QuestionToken 1502946 1502948 - PropertyAccessExpression 1502948 1502971 - Identifier 1502948 1502963 - Identifier 1502964 1502971 - ColonToken 1502971 1502973 - PropertyAccessExpression 1502973 1502996 - Identifier 1502973 1502988 - Identifier 1502989 1502996 - IfStatement 1503031 1503369 - BinaryExpression 1503036 1503071 - PropertyAccessExpression 1503036 1503046 - Identifier 1503036 1503040 - Identifier 1503041 1503046 - AmpersandToken 1503046 1503048 - PropertyAccessExpression 1503048 1503071 - Identifier 1503048 1503058 - Identifier 1503059 1503071 - Block 1503072 1503195 - ExpressionStatement 1503074 1503180 - BinaryExpression 1503074 1503179 - Identifier 1503074 1503098 - EqualsToken 1503098 1503100 - CallExpression 1503100 1503179 - Identifier 1503100 1503120 - CallExpression 1503121 1503178 - Identifier 1503121 1503128 - PropertyAccessExpression 1503129 1503161 - ParenthesizedExpression 1503129 1503155 - AsExpression 1503130 1503154 - Identifier 1503130 1503134 - TypeReference 1503137 1503154 - Identifier 1503137 1503154 - Identifier 1503156 1503161 - Identifier 1503162 1503177 - IfStatement 1503213 1503369 - CallExpression 1503218 1503242 - Identifier 1503218 1503236 - Identifier 1503237 1503241 - Block 1503243 1503369 - ExpressionStatement 1503245 1503354 - BinaryExpression 1503245 1503353 - Identifier 1503245 1503269 - EqualsToken 1503269 1503271 - CallExpression 1503271 1503353 - Identifier 1503271 1503291 - PropertyAccessExpression 1503292 1503303 - Identifier 1503292 1503296 - Identifier 1503297 1503303 - CallExpression 1503304 1503352 - Identifier 1503304 1503312 - CallExpression 1503313 1503335 - Identifier 1503313 1503329 - Identifier 1503330 1503334 - Identifier 1503336 1503351 - IfStatement 1503369 1503476 - BinaryExpression 1503387 1503418 - Identifier 1503387 1503393 - AmpersandAmpersandToken 1503393 1503396 - BinaryExpression 1503396 1503418 - Identifier 1503396 1503404 - EqualsEqualsEqualsToken 1503404 1503408 - Identifier 1503408 1503418 - Block 1503419 1503476 - ExpressionStatement 1503421 1503461 - BinaryExpression 1503421 1503460 - PropertyAccessExpression 1503421 1503451 - Identifier 1503421 1503443 - Identifier 1503444 1503451 - EqualsToken 1503451 1503453 - Identifier 1503453 1503460 - ReturnStatement 1503476 1503512 - BinaryExpression 1503496 1503511 - Identifier 1503496 1503503 - BarBarToken 1503503 1503506 - Identifier 1503506 1503511 - ReturnStatement 1503523 1503545 - Identifier 1503539 1503544 - FunctionDeclaration 1503552 1506193 - Identifier 1504322 1504349 - Parameter 1504350 1504360 - Identifier 1504350 1504354 - TypeReference 1504355 1504360 - Identifier 1504355 1504360 - BooleanKeyword 1504362 1504370 - Block 1504370 1506193 - VariableStatement 1504372 1504408 - VariableDeclarationList 1504372 1504407 - VariableDeclaration 1504385 1504407 - Identifier 1504385 1504399 - FalseKeyword 1504401 1504407 - IfStatement 1504408 1506155 - BinaryExpression 1504422 1504477 - CallExpression 1504422 1504442 - Identifier 1504422 1504436 - Identifier 1504437 1504441 - AmpersandToken 1504442 1504444 - PropertyAccessExpression 1504444 1504477 - Identifier 1504444 1504456 - Identifier 1504457 1504477 - Block 1504478 1506155 - IfStatement 1504480 1506144 - BinaryExpression 1504498 1504526 - PropertyAccessExpression 1504498 1504508 - Identifier 1504498 1504502 - Identifier 1504503 1504508 - AmpersandToken 1504508 1504510 - PropertyAccessExpression 1504510 1504526 - Identifier 1504510 1504520 - Identifier 1504521 1504526 - Block 1504527 1504887 - IfStatement 1504529 1504872 - CallExpression 1504551 1504601 - Identifier 1504551 1504555 - PropertyAccessExpression 1504556 1504581 - ParenthesizedExpression 1504556 1504575 - AsExpression 1504557 1504574 - Identifier 1504557 1504561 - TypeReference 1504564 1504574 - Identifier 1504564 1504574 - Identifier 1504576 1504581 - Identifier 1504582 1504600 - Block 1504602 1504666 - ExpressionStatement 1504604 1504647 - BinaryExpression 1504604 1504646 - Identifier 1504604 1504639 - EqualsToken 1504639 1504641 - TrueKeyword 1504641 1504646 - Block 1504688 1504872 - ForOfStatement 1504690 1504853 - VariableDeclarationList 1504717 1504724 - VariableDeclaration 1504722 1504724 - Identifier 1504722 1504724 - PropertyAccessExpression 1504727 1504753 - ParenthesizedExpression 1504727 1504747 - AsExpression 1504729 1504746 - Identifier 1504729 1504733 - TypeReference 1504736 1504746 - Identifier 1504736 1504746 - Identifier 1504748 1504753 - Block 1504754 1504853 - ExpressionStatement 1504756 1504830 - BinaryExpression 1504756 1504829 - Identifier 1504756 1504795 - BarBarEqualsToken 1504795 1504799 - CallExpression 1504799 1504829 - Identifier 1504799 1504826 - Identifier 1504827 1504828 - IfStatement 1504905 1506144 - CallExpression 1504910 1504934 - Identifier 1504910 1504928 - Identifier 1504929 1504933 - Block 1504935 1505100 - ForOfStatement 1504937 1505085 - VariableDeclarationList 1504960 1504967 - VariableDeclaration 1504965 1504967 - Identifier 1504965 1504967 - CallExpression 1504970 1504993 - Identifier 1504970 1504987 - Identifier 1504988 1504992 - Block 1504994 1505085 - ExpressionStatement 1504996 1505066 - BinaryExpression 1504996 1505065 - Identifier 1504996 1505031 - BarBarEqualsToken 1505031 1505035 - CallExpression 1505035 1505065 - Identifier 1505035 1505062 - Identifier 1505063 1505064 - IfStatement 1505118 1506144 - CallExpression 1505123 1505148 - Identifier 1505123 1505142 - Identifier 1505143 1505147 - Block 1505149 1506144 - ForOfStatement 1505151 1506129 - VariableDeclarationList 1505174 1505181 - VariableDeclaration 1505179 1505181 - Identifier 1505179 1505181 - CallExpression 1505184 1505216 - Identifier 1505184 1505210 - Identifier 1505211 1505215 - Block 1505217 1506129 - VariableStatement 1505219 1505270 - VariableDeclarationList 1505219 1505269 - VariableDeclaration 1505246 1505269 - Identifier 1505246 1505248 - CallExpression 1505250 1505269 - Identifier 1505250 1505266 - Identifier 1505267 1505268 - IfStatement 1505270 1506110 - BinaryExpression 1505296 1505348 - CallExpression 1505296 1505313 - Identifier 1505296 1505310 - Identifier 1505311 1505312 - AmpersandToken 1505313 1505315 - PropertyAccessExpression 1505315 1505348 - Identifier 1505315 1505327 - Identifier 1505328 1505348 - Block 1505349 1506110 - ExpressionStatement 1505351 1505423 - BinaryExpression 1505351 1505422 - Identifier 1505351 1505390 - EqualsToken 1505390 1505392 - CallExpression 1505392 1505422 - Identifier 1505392 1505419 - Identifier 1505420 1505421 - IfStatement 1505423 1506087 - PrefixUnaryExpression 1505453 1505467 - Identifier 1505454 1505467 - Block 1505468 1506087 - VariableStatement 1505470 1505745 - VariableDeclarationList 1505470 1505744 - VariableDeclaration 1505631 1505744 - Identifier 1505631 1505648 - CallExpression 1505650 1505744 - PropertyAccessExpression 1505650 1505671 - PropertyAccessExpression 1505650 1505665 - Identifier 1505650 1505652 - Identifier 1505653 1505665 - QuestionDotToken 1505665 1505667 - Identifier 1505667 1505671 - ArrowFunction 1505672 1505743 - Parameter 1505672 1505673 - Identifier 1505672 1505673 - EqualsGreaterThanToken 1505673 1505676 - BinaryExpression 1505676 1505743 - PropertyAccessExpression 1505676 1505710 - PropertyAccessExpression 1505676 1505702 - PropertyAccessExpression 1505676 1505685 - Identifier 1505676 1505678 - Identifier 1505679 1505685 - Identifier 1505686 1505702 - QuestionDotToken 1505702 1505704 - Identifier 1505704 1505710 - EqualsEqualsEqualsToken 1505710 1505714 - PropertyAccessExpression 1505714 1505743 - PropertyAccessExpression 1505714 1505726 - Identifier 1505714 1505719 - Identifier 1505720 1505726 - Identifier 1505727 1505743 - IfStatement 1505745 1506060 - Identifier 1505779 1505795 - Block 1505796 1506060 - ExpressionStatement 1505798 1505974 - CallExpression 1505798 1505973 - Identifier 1505798 1505837 - Identifier 1505838 1505854 - PropertyAccessExpression 1505855 1505920 - Identifier 1505855 1505867 - Identifier 1505868 1505920 - CallExpression 1505921 1505939 - Identifier 1505921 1505936 - Identifier 1505937 1505938 - CallExpression 1505940 1505972 - Identifier 1505940 1505953 - CallExpression 1505954 1505971 - Identifier 1505954 1505968 - Identifier 1505969 1505970 - ExpressionStatement 1505974 1506029 - BinaryExpression 1505974 1506028 - Identifier 1505974 1506021 - EqualsToken 1506021 1506023 - TrueKeyword 1506023 1506028 - ReturnStatement 1506155 1506186 - Identifier 1506171 1506185 - FunctionDeclaration 1506193 1511547 - Identifier 1506209 1506227 - Parameter 1506228 1506252 - Identifier 1506228 1506239 - TypeReference 1506240 1506252 - Identifier 1506240 1506252 - Parameter 1506253 1506264 - Identifier 1506253 1506258 - TypeReference 1506259 1506264 - Identifier 1506259 1506264 - Parameter 1506265 1506293 - Identifier 1506265 1506278 - QuestionToken 1506278 1506279 - TypeReference 1506280 1506293 - Identifier 1506280 1506293 - Block 1506294 1511547 - VariableStatement 1506296 1506362 - VariableDeclarationList 1506296 1506361 - VariableDeclaration 1506311 1506361 - Identifier 1506311 1506324 - CallExpression 1506326 1506361 - Identifier 1506326 1506339 - CallExpression 1506340 1506360 - Identifier 1506340 1506354 - Identifier 1506355 1506359 - IfStatement 1506362 1506601 - BinaryExpression 1506376 1506478 - CallExpression 1506376 1506399 - Identifier 1506376 1506386 - Identifier 1506387 1506398 - AmpersandAmpersandToken 1506399 1506402 - PrefixUnaryExpression 1506402 1506478 - CallExpression 1506404 1506478 - Identifier 1506404 1506427 - CallExpression 1506428 1506460 - Identifier 1506428 1506447 - Identifier 1506448 1506459 - Identifier 1506461 1506477 - Block 1506479 1506601 - ReturnStatement 1506481 1506590 - VariableStatement 1506601 1506645 - VariableDeclarationList 1506601 1506644 - VariableDeclaration 1506614 1506644 - Identifier 1506614 1506625 - TypeReference 1506626 1506644 - Identifier 1506626 1506644 - SwitchStatement 1506645 1511398 - PropertyAccessExpression 1506663 1506679 - Identifier 1506663 1506674 - Identifier 1506675 1506679 - CaseBlock 1506680 1511398 - CaseClause 1506682 1506729 - PropertyAccessExpression 1506700 1506728 - Identifier 1506700 1506711 - Identifier 1506712 1506728 - CaseClause 1506729 1506779 - PropertyAccessExpression 1506747 1506778 - Identifier 1506747 1506758 - Identifier 1506759 1506778 - CaseClause 1506779 1507037 - PropertyAccessExpression 1506797 1506826 - Identifier 1506797 1506808 - Identifier 1506809 1506826 - ExpressionStatement 1506827 1507013 - BinaryExpression 1506827 1507012 - Identifier 1506827 1506855 - EqualsToken 1506855 1506857 - ConditionalExpression 1506857 1507012 - Identifier 1506857 1506871 - QuestionToken 1506871 1506873 - PropertyAccessExpression 1506873 1506919 - Identifier 1506873 1506885 - Identifier 1506886 1506919 - ColonToken 1506919 1506921 - PropertyAccessExpression 1506921 1507012 - Identifier 1506921 1506933 - Identifier 1506934 1507012 - BreakStatement 1507013 1507037 - CaseClause 1507037 1508701 - PropertyAccessExpression 1507055 1507076 - Identifier 1507055 1507066 - Identifier 1507067 1507076 - VariableStatement 1507077 1507145 - VariableDeclarationList 1507077 1507144 - VariableDeclaration 1507100 1507144 - Identifier 1507100 1507106 - AsExpression 1507108 1507144 - Identifier 1507108 1507120 - TypeReference 1507123 1507144 - Identifier 1507123 1507144 - IfStatement 1507145 1508211 - CallExpression 1507167 1507191 - Identifier 1507167 1507179 - PropertyAccessExpression 1507180 1507190 - Identifier 1507180 1507185 - Identifier 1507186 1507190 - Block 1507192 1508211 - VariableStatement 1507194 1507280 - VariableDeclarationList 1507194 1507279 - VariableDeclaration 1507221 1507279 - Identifier 1507221 1507241 - CallExpression 1507243 1507279 - Identifier 1507243 1507267 - PropertyAccessExpression 1507268 1507278 - Identifier 1507268 1507273 - Identifier 1507274 1507278 - IfStatement 1507280 1508192 - BinaryExpression 1507306 1507746 - BinaryExpression 1507306 1507513 - ParenthesizedExpression 1507306 1507445 - BinaryExpression 1507333 1507444 - BinaryExpression 1507333 1507408 - CallExpression 1507333 1507373 - Identifier 1507333 1507359 - PropertyAccessExpression 1507360 1507372 - Identifier 1507360 1507365 - Identifier 1507366 1507372 - BarBarToken 1507373 1507376 - CallExpression 1507376 1507408 - Identifier 1507376 1507394 - PropertyAccessExpression 1507395 1507407 - Identifier 1507395 1507400 - Identifier 1507401 1507407 - BarBarToken 1507408 1507411 - CallExpression 1507411 1507444 - Identifier 1507411 1507430 - PropertyAccessExpression 1507431 1507443 - Identifier 1507431 1507436 - Identifier 1507437 1507443 - AmpersandAmpersandToken 1507445 1507448 - CallExpression 1507448 1507513 - PropertyAccessExpression 1507448 1507506 - PropertyAccessExpression 1507448 1507497 - PropertyAccessExpression 1507448 1507486 - Identifier 1507448 1507479 - Identifier 1507480 1507486 - Identifier 1507487 1507497 - Identifier 1507498 1507506 - Identifier 1507507 1507512 - AmpersandAmpersandToken 1507513 1507516 - ParenthesizedExpression 1507516 1507746 - BinaryExpression 1507543 1507745 - CallExpression 1507543 1507654 - Identifier 1507543 1507554 - Identifier 1507555 1507560 - PropertyAccessExpression 1507561 1507584 - PropertyAccessExpression 1507561 1507572 - Identifier 1507561 1507567 - Identifier 1507568 1507572 - Identifier 1507573 1507584 - PropertyAccessExpression 1507585 1507602 - Identifier 1507585 1507597 - Identifier 1507598 1507602 - Identifier 1507603 1507637 - TrueKeyword 1507638 1507653 - BarBarToken 1507654 1507657 - BinaryExpression 1507657 1507745 - Identifier 1507657 1507706 - AmpersandAmpersandToken 1507706 1507709 - CallExpression 1507709 1507745 - Identifier 1507709 1507724 - Identifier 1507725 1507744 - Block 1507769 1508192 - VariableStatement 1507771 1507860 - VariableDeclarationList 1507771 1507859 - VariableDeclaration 1507802 1507859 - Identifier 1507802 1507810 - BinaryExpression 1507812 1507859 - StringLiteral 1507812 1507818 - PlusToken 1507818 1507820 - CallExpression 1507820 1507859 - PropertyAccessExpression 1507820 1507852 - PropertyAccessExpression 1507820 1507844 - PropertyAccessExpression 1507820 1507833 - Identifier 1507820 1507826 - Identifier 1507827 1507833 - Identifier 1507834 1507844 - Identifier 1507845 1507852 - Identifier 1507853 1507858 - VariableStatement 1507860 1507976 - VariableDeclarationList 1507860 1507975 - VariableDeclaration 1507891 1507975 - Identifier 1507891 1507900 - BinaryExpression 1507902 1507975 - CallExpression 1507902 1507938 - Identifier 1507902 1507926 - PropertyAccessExpression 1507927 1507937 - Identifier 1507927 1507932 - Identifier 1507933 1507937 - PlusToken 1507938 1507940 - ParenthesizedExpression 1507940 1507975 - ConditionalExpression 1507942 1507974 - PropertyAccessExpression 1507942 1507962 - Identifier 1507942 1507947 - Identifier 1507948 1507962 - QuestionToken 1507962 1507964 - StringLiteral 1507964 1507969 - ColonToken 1507969 1507971 - StringLiteral 1507971 1507974 - ExpressionStatement 1507976 1508136 - CallExpression 1507976 1508135 - Identifier 1507976 1508019 - Identifier 1508020 1508033 - Identifier 1508034 1508046 - PropertyAccessExpression 1508047 1508115 - Identifier 1508047 1508059 - Identifier 1508060 1508115 - Identifier 1508116 1508124 - Identifier 1508125 1508134 - ReturnStatement 1508136 1508169 - ExpressionStatement 1508211 1508677 - BinaryExpression 1508211 1508676 - Identifier 1508211 1508239 - EqualsToken 1508239 1508241 - ConditionalExpression 1508241 1508676 - PropertyAccessExpression 1508241 1508294 - ParenthesizedExpression 1508241 1508279 - AsExpression 1508243 1508278 - Identifier 1508243 1508254 - TypeReference 1508257 1508278 - Identifier 1508257 1508278 - Identifier 1508280 1508294 - QuestionToken 1508294 1508296 - ConditionalExpression 1508296 1508492 - Identifier 1508296 1508331 - QuestionToken 1508331 1508333 - PropertyAccessExpression 1508333 1508389 - Identifier 1508333 1508345 - Identifier 1508346 1508389 - ColonToken 1508389 1508391 - PropertyAccessExpression 1508391 1508492 - Identifier 1508391 1508403 - Identifier 1508404 1508492 - ColonToken 1508492 1508494 - ConditionalExpression 1508494 1508676 - Identifier 1508494 1508529 - QuestionToken 1508529 1508531 - PropertyAccessExpression 1508531 1508580 - Identifier 1508531 1508543 - Identifier 1508544 1508580 - ColonToken 1508580 1508582 - PropertyAccessExpression 1508582 1508676 - Identifier 1508582 1508594 - Identifier 1508595 1508676 - BreakStatement 1508677 1508701 - CaseClause 1508701 1509057 - PropertyAccessExpression 1508719 1508745 - Identifier 1508719 1508730 - Identifier 1508731 1508745 - ExpressionStatement 1508746 1508832 - BinaryExpression 1508746 1508831 - Identifier 1508746 1508774 - EqualsToken 1508774 1508776 - PropertyAccessExpression 1508776 1508831 - Identifier 1508776 1508788 - Identifier 1508789 1508831 - IfStatement 1508832 1509033 - PrefixUnaryExpression 1508854 1508868 - Identifier 1508855 1508868 - Block 1508869 1509033 - ReturnStatement 1508871 1509014 - BreakStatement 1509033 1509057 - CaseClause 1509057 1509275 - PropertyAccessExpression 1509075 1509104 - Identifier 1509075 1509086 - Identifier 1509087 1509104 - ExpressionStatement 1509105 1509250 - CallExpression 1509105 1509249 - Identifier 1509105 1509128 - Identifier 1509129 1509140 - PropertyAccessExpression 1509141 1509234 - Identifier 1509141 1509153 - Identifier 1509154 1509234 - Identifier 1509235 1509248 - ReturnStatement 1509250 1509275 - CaseClause 1509275 1509613 - PropertyAccessExpression 1509293 1509319 - Identifier 1509293 1509304 - Identifier 1509305 1509319 - IfStatement 1509320 1509588 - BinaryExpression 1509342 1509397 - Identifier 1509342 1509355 - AmpersandAmpersandToken 1509355 1509358 - CallExpression 1509358 1509397 - Identifier 1509358 1509377 - PropertyAccessExpression 1509378 1509396 - Identifier 1509378 1509389 - Identifier 1509390 1509396 - Block 1509398 1509588 - ExpressionStatement 1509400 1509569 - CallExpression 1509400 1509568 - Identifier 1509400 1509427 - PropertyAccessExpression 1509428 1509454 - PropertyAccessExpression 1509428 1509446 - Identifier 1509428 1509439 - Identifier 1509440 1509446 - Identifier 1509447 1509454 - PropertyAccessExpression 1509455 1509553 - Identifier 1509455 1509467 - Identifier 1509468 1509553 - Identifier 1509554 1509567 - ReturnStatement 1509588 1509613 - CaseClause 1509613 1509663 - PropertyAccessExpression 1509631 1509662 - Identifier 1509631 1509642 - Identifier 1509643 1509662 - CaseClause 1509663 1509711 - PropertyAccessExpression 1509681 1509710 - Identifier 1509681 1509692 - Identifier 1509693 1509710 - CaseClause 1509711 1509757 - PropertyAccessExpression 1509729 1509756 - Identifier 1509729 1509740 - Identifier 1509741 1509756 - CaseClause 1509757 1509799 - PropertyAccessExpression 1509775 1509798 - Identifier 1509775 1509786 - Identifier 1509787 1509798 - CaseClause 1509799 1509841 - PropertyAccessExpression 1509817 1509840 - Identifier 1509817 1509828 - Identifier 1509829 1509840 - CaseClause 1509841 1509890 - PropertyAccessExpression 1509859 1509889 - Identifier 1509859 1509870 - Identifier 1509871 1509889 - CaseClause 1509890 1510943 - PropertyAccessExpression 1509908 1509933 - Identifier 1509908 1509919 - Identifier 1509920 1509933 - IfStatement 1509934 1510523 - BinaryExpression 1509956 1510012 - Identifier 1509956 1509969 - AmpersandAmpersandToken 1509969 1509972 - PrefixUnaryExpression 1509972 1510012 - PropertyAccessExpression 1509974 1510012 - ParenthesizedExpression 1509974 1510007 - AsExpression 1509975 1510006 - Identifier 1509975 1509986 - TypeReference 1509989 1510006 - Identifier 1509989 1510006 - Identifier 1510008 1510012 - Block 1510013 1510523 - IfStatement 1510015 1510475 - BinaryExpression 1510041 1510085 - Identifier 1510041 1510053 - EqualsEqualsEqualsToken 1510053 1510057 - PropertyAccessExpression 1510057 1510085 - Identifier 1510057 1510070 - Identifier 1510071 1510085 - Block 1510086 1510265 - ExpressionStatement 1510088 1510242 - CallExpression 1510088 1510241 - Identifier 1510088 1510119 - Identifier 1510120 1510131 - PropertyAccessExpression 1510132 1510226 - Identifier 1510132 1510144 - Identifier 1510145 1510226 - Identifier 1510227 1510240 - Block 1510291 1510475 - ExpressionStatement 1510293 1510452 - CallExpression 1510293 1510451 - Identifier 1510293 1510324 - Identifier 1510325 1510336 - PropertyAccessExpression 1510337 1510436 - Identifier 1510337 1510349 - Identifier 1510350 1510436 - Identifier 1510437 1510450 - ReturnStatement 1510475 1510504 - ExpressionStatement 1510523 1510919 - BinaryExpression 1510523 1510918 - Identifier 1510523 1510551 - EqualsToken 1510551 1510553 - ConditionalExpression 1510553 1510918 - PrefixUnaryExpression 1510553 1510568 - Identifier 1510555 1510568 - QuestionToken 1510568 1510570 - PropertyAccessExpression 1510570 1510662 - Identifier 1510570 1510582 - Identifier 1510583 1510662 - ColonToken 1510662 1510664 - ConditionalExpression 1510664 1510918 - BinaryExpression 1510664 1510730 - Identifier 1510664 1510698 - EqualsEqualsEqualsToken 1510698 1510702 - PropertyAccessExpression 1510702 1510730 - Identifier 1510702 1510715 - Identifier 1510716 1510730 - QuestionToken 1510730 1510732 - PropertyAccessExpression 1510732 1510813 - Identifier 1510732 1510744 - Identifier 1510745 1510813 - ColonToken 1510813 1510815 - PropertyAccessExpression 1510815 1510918 - Identifier 1510815 1510848 - Identifier 1510849 1510918 - BreakStatement 1510919 1510943 - CaseClause 1510943 1511175 - PropertyAccessExpression 1510961 1510983 - Identifier 1510961 1510972 - Identifier 1510973 1510983 - IfStatement 1510984 1511150 - Identifier 1511006 1511019 - Block 1511020 1511150 - ExpressionStatement 1511022 1511131 - CallExpression 1511022 1511130 - Identifier 1511022 1511049 - Identifier 1511050 1511061 - PropertyAccessExpression 1511062 1511129 - Identifier 1511062 1511074 - Identifier 1511075 1511129 - ReturnStatement 1511150 1511175 - DefaultClause 1511175 1511387 - ExpressionStatement 1511197 1511387 - BinaryExpression 1511197 1511386 - Identifier 1511197 1511225 - EqualsToken 1511225 1511227 - ConditionalExpression 1511227 1511386 - Identifier 1511227 1511241 - QuestionToken 1511241 1511243 - PropertyAccessExpression 1511243 1511291 - Identifier 1511243 1511255 - Identifier 1511256 1511291 - ColonToken 1511291 1511293 - PropertyAccessExpression 1511293 1511386 - Identifier 1511293 1511305 - Identifier 1511306 1511386 - ExpressionStatement 1511398 1511540 - CallExpression 1511398 1511539 - Identifier 1511398 1511425 - Identifier 1511426 1511439 - Identifier 1511440 1511452 - Identifier 1511453 1511464 - CallExpression 1511465 1511524 - Identifier 1511465 1511489 - CallExpression 1511490 1511523 - Identifier 1511490 1511510 - Identifier 1511511 1511522 - Identifier 1511525 1511538 - FunctionDeclaration 1511547 1513051 - Identifier 1511563 1511617 - Parameter 1511618 1511654 - Identifier 1511618 1511629 - TypeReference 1511630 1511654 - Identifier 1511630 1511654 - Parameter 1511655 1511682 - Identifier 1511655 1511668 - TypeReference 1511669 1511682 - Identifier 1511669 1511682 - Block 1511683 1513051 - VariableStatement 1511685 1511775 - VariableDeclarationList 1511685 1511774 - VariableDeclaration 1511700 1511774 - Identifier 1511700 1511710 - CallExpression 1511712 1511774 - Identifier 1511712 1511761 - Identifier 1511762 1511773 - IfStatement 1511775 1511839 - PrefixUnaryExpression 1511789 1511799 - Identifier 1511790 1511799 - Block 1511800 1511839 - ReturnStatement 1511802 1511828 - TrueKeyword 1511822 1511827 - VariableStatement 1511839 1511902 - VariableDeclarationList 1511839 1511901 - VariableDeclaration 1511852 1511901 - Identifier 1511852 1511863 - CallExpression 1511865 1511901 - Identifier 1511865 1511890 - Identifier 1511891 1511900 - VariableStatement 1511902 1511956 - VariableDeclarationList 1511902 1511955 - VariableDeclaration 1511917 1511955 - Identifier 1511917 1511923 - CallExpression 1511925 1511955 - Identifier 1511925 1511942 - Identifier 1511943 1511954 - SwitchStatement 1511956 1513021 - Identifier 1511974 1511986 - CaseBlock 1511987 1513021 - CaseClause 1511989 1512487 - PropertyAccessExpression 1512007 1512035 - Identifier 1512007 1512020 - Identifier 1512021 1512035 - IfStatement 1512036 1512436 - BinaryExpression 1512058 1512089 - Identifier 1512058 1512063 - AmpersandToken 1512063 1512065 - PropertyAccessExpression 1512065 1512089 - Identifier 1512065 1512079 - Identifier 1512080 1512089 - Block 1512090 1512277 - ExpressionStatement 1512092 1512258 - BinaryExpression 1512092 1512257 - Identifier 1512092 1512124 - EqualsToken 1512124 1512126 - BinaryExpression 1512126 1512257 - CallExpression 1512126 1512243 - Identifier 1512126 1512172 - PropertyAccessExpression 1512173 1512197 - Identifier 1512173 1512190 - Identifier 1512191 1512197 - Identifier 1512198 1512209 - PrefixUnaryExpression 1512210 1512242 - PrefixUnaryExpression 1512212 1512242 - ParenthesizedExpression 1512213 1512242 - BinaryExpression 1512214 1512241 - Identifier 1512214 1512219 - AmpersandToken 1512219 1512221 - PropertyAccessExpression 1512221 1512241 - Identifier 1512221 1512235 - Identifier 1512236 1512241 - QuestionQuestionToken 1512243 1512246 - Identifier 1512246 1512257 - IfStatement 1512299 1512436 - BinaryExpression 1512304 1512331 - Identifier 1512304 1512309 - AmpersandToken 1512309 1512311 - PropertyAccessExpression 1512311 1512331 - Identifier 1512311 1512325 - Identifier 1512326 1512331 - Block 1512332 1512436 - ExpressionStatement 1512334 1512417 - BinaryExpression 1512334 1512416 - Identifier 1512334 1512366 - EqualsToken 1512366 1512368 - BinaryExpression 1512368 1512416 - CallExpression 1512368 1512402 - Identifier 1512368 1512390 - Identifier 1512391 1512401 - QuestionQuestionToken 1512402 1512405 - Identifier 1512405 1512416 - ReturnStatement 1512436 1512487 - CallExpression 1512460 1512486 - Identifier 1512460 1512474 - Identifier 1512475 1512485 - CaseClause 1512487 1512751 - PropertyAccessExpression 1512505 1512533 - Identifier 1512505 1512518 - Identifier 1512519 1512533 - VariableStatement 1512534 1512686 - VariableDeclarationList 1512534 1512685 - VariableDeclaration 1512557 1512685 - Identifier 1512557 1512567 - CallExpression 1512569 1512685 - Identifier 1512569 1512615 - PropertyAccessExpression 1512616 1512639 - Identifier 1512616 1512633 - Identifier 1512634 1512639 - Identifier 1512640 1512651 - PrefixUnaryExpression 1512652 1512684 - PrefixUnaryExpression 1512654 1512684 - ParenthesizedExpression 1512655 1512684 - BinaryExpression 1512656 1512683 - Identifier 1512656 1512661 - AmpersandToken 1512661 1512663 - PropertyAccessExpression 1512663 1512683 - Identifier 1512663 1512677 - Identifier 1512678 1512683 - ReturnStatement 1512686 1512751 - BinaryExpression 1512710 1512750 - PrefixUnaryExpression 1512710 1512722 - PrefixUnaryExpression 1512712 1512722 - Identifier 1512713 1512722 - AmpersandAmpersandToken 1512722 1512725 - CallExpression 1512725 1512750 - Identifier 1512725 1512739 - Identifier 1512740 1512749 - CaseClause 1512751 1513010 - PropertyAccessExpression 1512769 1512796 - Identifier 1512769 1512782 - Identifier 1512783 1512796 - VariableStatement 1512797 1512947 - VariableDeclarationList 1512797 1512946 - VariableDeclaration 1512820 1512946 - Identifier 1512820 1512829 - CallExpression 1512831 1512946 - Identifier 1512831 1512877 - PropertyAccessExpression 1512878 1512900 - Identifier 1512878 1512895 - Identifier 1512896 1512900 - Identifier 1512901 1512912 - PrefixUnaryExpression 1512913 1512945 - PrefixUnaryExpression 1512915 1512945 - ParenthesizedExpression 1512916 1512945 - BinaryExpression 1512917 1512944 - Identifier 1512917 1512922 - AmpersandToken 1512922 1512924 - PropertyAccessExpression 1512924 1512944 - Identifier 1512924 1512938 - Identifier 1512939 1512944 - ReturnStatement 1512947 1513010 - BinaryExpression 1512971 1513009 - PrefixUnaryExpression 1512971 1512982 - PrefixUnaryExpression 1512973 1512982 - Identifier 1512974 1512982 - AmpersandAmpersandToken 1512982 1512985 - CallExpression 1512985 1513009 - Identifier 1512985 1512999 - Identifier 1513000 1513008 - ReturnStatement 1513021 1513044 - FalseKeyword 1513037 1513043 - FunctionDeclaration 1513051 1513782 - Identifier 1513067 1513092 - Parameter 1513093 1513117 - Identifier 1513093 1513104 - TypeReference 1513105 1513117 - Identifier 1513105 1513117 - Parameter 1513118 1513129 - Identifier 1513118 1513123 - TypeReference 1513124 1513129 - Identifier 1513124 1513129 - Parameter 1513130 1513158 - Identifier 1513130 1513143 - QuestionToken 1513143 1513144 - TypeReference 1513145 1513158 - Identifier 1513145 1513158 - Block 1513159 1513782 - ExpressionStatement 1513161 1513775 - CallExpression 1513161 1513774 - Identifier 1513161 1513188 - ArrowFunction 1513189 1513773 - EqualsGreaterThanToken 1513191 1513194 - Block 1513194 1513773 - IfStatement 1513196 1513762 - BinaryExpression 1513214 1513286 - Identifier 1513214 1513227 - AmpersandAmpersandToken 1513227 1513230 - BinaryExpression 1513230 1513286 - CallExpression 1513230 1513251 - Identifier 1513230 1513245 - Identifier 1513246 1513250 - AmpersandToken 1513251 1513253 - PropertyAccessExpression 1513253 1513286 - Identifier 1513253 1513265 - Identifier 1513266 1513286 - Block 1513287 1513762 - IfStatement 1513289 1513747 - BinaryExpression 1513311 1513450 - PrefixUnaryExpression 1513311 1513324 - Identifier 1513312 1513324 - BarBarToken 1513324 1513327 - BinaryExpression 1513327 1513450 - CallExpression 1513327 1513366 - Identifier 1513327 1513353 - Identifier 1513354 1513365 - AmpersandAmpersandToken 1513366 1513369 - CallExpression 1513369 1513450 - Identifier 1513369 1513423 - Identifier 1513424 1513435 - Identifier 1513436 1513449 - Block 1513451 1513747 - IfStatement 1513453 1513728 - PrefixUnaryExpression 1513592 1513625 - CallExpression 1513593 1513625 - Identifier 1513593 1513619 - Identifier 1513620 1513624 - Block 1513626 1513728 - ExpressionStatement 1513628 1513705 - CallExpression 1513628 1513704 - Identifier 1513628 1513671 - Identifier 1513672 1513683 - Identifier 1513684 1513689 - Identifier 1513690 1513703 - FunctionDeclaration 1513782 1514986 - Identifier 1513798 1513820 - Parameter 1513821 1513838 - Identifier 1513821 1513827 - TypeReference 1513828 1513838 - Identifier 1513828 1513838 - Parameter 1513839 1513857 - Identifier 1513839 1513846 - TypeReference 1513847 1513857 - Identifier 1513847 1513857 - Parameter 1513858 1513895 - Identifier 1513858 1513867 - FunctionType 1513868 1513895 - Parameter 1513870 1513877 - Identifier 1513870 1513871 - TypeReference 1513872 1513877 - Identifier 1513872 1513877 - Parameter 1513878 1513886 - Identifier 1513878 1513880 - TypeReference 1513881 1513886 - Identifier 1513881 1513886 - VoidKeyword 1513890 1513895 - Block 1513896 1514986 - VariableStatement 1513898 1513954 - VariableDeclarationList 1513898 1513953 - VariableDeclaration 1513913 1513953 - Identifier 1513913 1513925 - CallExpression 1513927 1513953 - Identifier 1513927 1513945 - Identifier 1513946 1513952 - VariableStatement 1513954 1514010 - VariableDeclarationList 1513954 1514009 - VariableDeclaration 1513969 1514009 - Identifier 1513969 1513981 - CallExpression 1513983 1514009 - Identifier 1513983 1514001 - Identifier 1514002 1514008 - VariableStatement 1514010 1514072 - VariableDeclarationList 1514010 1514071 - VariableDeclaration 1514025 1514071 - Identifier 1514025 1514040 - CallExpression 1514042 1514071 - Identifier 1514042 1514063 - Identifier 1514064 1514070 - VariableStatement 1514072 1514134 - VariableDeclarationList 1514072 1514133 - VariableDeclaration 1514087 1514133 - Identifier 1514087 1514102 - CallExpression 1514104 1514133 - Identifier 1514104 1514125 - Identifier 1514126 1514132 - VariableStatement 1514134 1514218 - VariableDeclarationList 1514134 1514217 - VariableDeclaration 1514149 1514217 - Identifier 1514149 1514168 - ConditionalExpression 1514170 1514217 - Identifier 1514170 1514185 - QuestionToken 1514185 1514187 - BinaryExpression 1514187 1514203 - Identifier 1514187 1514199 - MinusToken 1514199 1514201 - NumericLiteral 1514201 1514203 - ColonToken 1514203 1514205 - Identifier 1514205 1514217 - VariableStatement 1514218 1514327 - VariableDeclarationList 1514218 1514326 - VariableDeclaration 1514233 1514326 - Identifier 1514233 1514244 - ConditionalExpression 1514246 1514326 - Identifier 1514246 1514261 - QuestionToken 1514261 1514263 - Identifier 1514263 1514282 - ColonToken 1514282 1514284 - CallExpression 1514284 1514326 - PropertyAccessExpression 1514284 1514293 - Identifier 1514284 1514289 - Identifier 1514290 1514293 - Identifier 1514294 1514305 - Identifier 1514306 1514325 - VariableStatement 1514327 1514391 - VariableDeclarationList 1514327 1514390 - VariableDeclaration 1514342 1514390 - Identifier 1514342 1514357 - CallExpression 1514359 1514390 - Identifier 1514359 1514382 - Identifier 1514383 1514389 - IfStatement 1514391 1514610 - Identifier 1514405 1514419 - Block 1514420 1514610 - VariableStatement 1514422 1514490 - VariableDeclarationList 1514422 1514489 - VariableDeclaration 1514441 1514489 - Identifier 1514441 1514456 - CallExpression 1514458 1514489 - Identifier 1514458 1514481 - Identifier 1514482 1514488 - IfStatement 1514490 1514599 - Identifier 1514508 1514522 - Block 1514523 1514599 - ExpressionStatement 1514525 1514584 - CallExpression 1514525 1514583 - Identifier 1514525 1514551 - Identifier 1514552 1514566 - Identifier 1514567 1514582 - ForStatement 1514610 1514752 - VariableDeclarationList 1514625 1514634 - VariableDeclaration 1514628 1514634 - Identifier 1514628 1514630 - NumericLiteral 1514632 1514634 - BinaryExpression 1514635 1514650 - Identifier 1514635 1514637 - LessThanToken 1514637 1514639 - Identifier 1514639 1514650 - PostfixUnaryExpression 1514651 1514655 - Identifier 1514651 1514653 - Block 1514656 1514752 - ExpressionStatement 1514658 1514741 - CallExpression 1514658 1514740 - Identifier 1514658 1514680 - CallExpression 1514681 1514709 - Identifier 1514681 1514698 - Identifier 1514699 1514705 - Identifier 1514706 1514708 - CallExpression 1514710 1514739 - Identifier 1514710 1514728 - Identifier 1514729 1514735 - Identifier 1514736 1514738 - IfStatement 1514752 1514979 - Identifier 1514766 1514780 - Block 1514781 1514979 - ExpressionStatement 1514783 1514968 - CallExpression 1514783 1514967 - Identifier 1514783 1514805 - CallExpression 1514806 1514950 - Identifier 1514806 1514827 - Identifier 1514828 1514834 - Identifier 1514835 1514846 - BinaryExpression 1514847 1514949 - CallExpression 1514847 1514896 - Identifier 1514847 1514880 - Identifier 1514881 1514895 - AmpersandAmpersandToken 1514896 1514899 - PrefixUnaryExpression 1514899 1514949 - CallExpression 1514901 1514949 - Identifier 1514901 1514909 - Identifier 1514910 1514924 - Identifier 1514925 1514948 - Identifier 1514951 1514966 - FunctionDeclaration 1514986 1515803 - Identifier 1515002 1515021 - Parameter 1515022 1515039 - Identifier 1515022 1515028 - TypeReference 1515029 1515039 - Identifier 1515029 1515039 - Parameter 1515040 1515058 - Identifier 1515040 1515047 - TypeReference 1515048 1515058 - Identifier 1515048 1515058 - Parameter 1515059 1515096 - Identifier 1515059 1515068 - FunctionType 1515069 1515096 - Parameter 1515071 1515078 - Identifier 1515071 1515072 - TypeReference 1515073 1515078 - Identifier 1515073 1515078 - Parameter 1515079 1515087 - Identifier 1515079 1515081 - TypeReference 1515082 1515087 - Identifier 1515082 1515087 - VoidKeyword 1515091 1515096 - Block 1515097 1515803 - VariableStatement 1515099 1515173 - VariableDeclarationList 1515099 1515172 - VariableDeclaration 1515114 1515172 - Identifier 1515114 1515134 - CallExpression 1515136 1515172 - Identifier 1515136 1515164 - Identifier 1515165 1515171 - IfStatement 1515173 1515582 - Identifier 1515187 1515206 - Block 1515207 1515582 - VariableStatement 1515209 1515287 - VariableDeclarationList 1515209 1515286 - VariableDeclaration 1515228 1515286 - Identifier 1515228 1515248 - CallExpression 1515250 1515286 - Identifier 1515250 1515278 - Identifier 1515279 1515285 - IfStatement 1515287 1515571 - BinaryExpression 1515305 1515449 - BinaryExpression 1515305 1515421 - BinaryExpression 1515305 1515393 - Identifier 1515305 1515324 - AmpersandAmpersandToken 1515324 1515327 - CallExpression 1515327 1515393 - Identifier 1515327 1515351 - Identifier 1515352 1515371 - Identifier 1515372 1515392 - AmpersandAmpersandToken 1515393 1515396 - PropertyAccessExpression 1515396 1515421 - Identifier 1515396 1515416 - Identifier 1515417 1515421 - AmpersandAmpersandToken 1515421 1515424 - PropertyAccessExpression 1515424 1515449 - Identifier 1515424 1515444 - Identifier 1515445 1515449 - Block 1515450 1515571 - ExpressionStatement 1515452 1515531 - CallExpression 1515452 1515530 - Identifier 1515452 1515478 - PropertyAccessExpression 1515479 1515503 - Identifier 1515479 1515498 - Identifier 1515499 1515503 - PropertyAccessExpression 1515504 1515529 - Identifier 1515504 1515524 - Identifier 1515525 1515529 - ReturnStatement 1515531 1515556 - VariableStatement 1515582 1515650 - VariableDeclarationList 1515582 1515649 - VariableDeclaration 1515597 1515649 - Identifier 1515597 1515614 - CallExpression 1515616 1515649 - Identifier 1515616 1515641 - Identifier 1515642 1515648 - IfStatement 1515650 1515796 - CallExpression 1515664 1515707 - Identifier 1515664 1515689 - Identifier 1515690 1515706 - Block 1515708 1515796 - ExpressionStatement 1515710 1515785 - CallExpression 1515710 1515784 - Identifier 1515710 1515732 - CallExpression 1515733 1515765 - Identifier 1515733 1515757 - Identifier 1515758 1515764 - Identifier 1515766 1515783 - FunctionDeclaration 1515803 1516142 - Identifier 1515819 1515842 - Parameter 1515843 1515883 - Identifier 1515843 1515857 - TypeOperator 1515858 1515883 - ArrayType 1515867 1515883 - TypeReference 1515867 1515881 - Identifier 1515867 1515881 - Parameter 1515884 1515917 - Identifier 1515884 1515894 - UnionType 1515895 1515917 - TypeReference 1515895 1515905 - Identifier 1515895 1515905 - UndefinedKeyword 1515907 1515917 - Parameter 1515918 1515940 - Identifier 1515918 1515924 - TypeReference 1515925 1515940 - Identifier 1515925 1515940 - Parameter 1515941 1515969 - Identifier 1515941 1515954 - QuestionToken 1515954 1515955 - TypeReference 1515956 1515969 - Identifier 1515956 1515969 - TypeReference 1515971 1515988 - Identifier 1515971 1515988 - Block 1515988 1516142 - ReturnStatement 1515990 1516135 - CallExpression 1516006 1516134 - Identifier 1516006 1516035 - CallExpression 1516036 1516075 - PropertyAccessExpression 1516036 1516054 - Identifier 1516036 1516050 - Identifier 1516051 1516054 - Identifier 1516055 1516074 - Identifier 1516076 1516086 - Identifier 1516087 1516093 - BinaryExpression 1516094 1516133 - Identifier 1516094 1516107 - BarBarToken 1516107 1516110 - Identifier 1516110 1516133 - FunctionDeclaration 1516142 1516478 - Identifier 1516158 1516180 - TypeParameter 1516181 1516219 - Identifier 1516181 1516182 - UnionType 1516190 1516219 - TypeReference 1516190 1516207 - Identifier 1516190 1516207 - UndefinedKeyword 1516209 1516219 - Parameter 1516221 1516231 - Identifier 1516221 1516228 - TypeReference 1516229 1516231 - Identifier 1516229 1516231 - Parameter 1516232 1516263 - Identifier 1516232 1516243 - TypeReference 1516244 1516259 - Identifier 1516244 1516259 - NumericLiteral 1516261 1516263 - UnionType 1516265 1516298 - TypeReference 1516265 1516282 - Identifier 1516265 1516282 - IntersectionType 1516284 1516298 - TypeReference 1516284 1516286 - Identifier 1516284 1516286 - UndefinedKeyword 1516288 1516298 - Block 1516298 1516478 - ReturnStatement 1516300 1516471 - BinaryExpression 1516316 1516470 - Identifier 1516316 1516324 - AmpersandAmpersandToken 1516324 1516327 - CallExpression 1516327 1516470 - Identifier 1516327 1516356 - CallExpression 1516357 1516400 - Identifier 1516357 1516360 - PropertyAccessExpression 1516361 1516379 - Identifier 1516361 1516368 - Identifier 1516369 1516379 - Identifier 1516380 1516399 - PropertyAccessExpression 1516401 1516419 - Identifier 1516401 1516409 - Identifier 1516410 1516419 - BinaryExpression 1516420 1516447 - PropertyAccessExpression 1516420 1516434 - Identifier 1516420 1516428 - Identifier 1516429 1516434 - BarToken 1516434 1516436 - Identifier 1516436 1516447 - PropertyAccessExpression 1516448 1516469 - Identifier 1516448 1516456 - Identifier 1516457 1516469 - FunctionDeclaration 1516478 1517209 - Identifier 1516494 1516523 - Parameter 1516524 1516551 - Identifier 1516524 1516534 - ArrayType 1516535 1516551 - TypeReference 1516535 1516549 - Identifier 1516535 1516549 - Parameter 1516552 1516585 - Identifier 1516552 1516562 - UnionType 1516563 1516585 - TypeReference 1516563 1516573 - Identifier 1516563 1516573 - UndefinedKeyword 1516575 1516585 - Parameter 1516586 1516608 - Identifier 1516586 1516592 - TypeReference 1516593 1516608 - Identifier 1516593 1516608 - Parameter 1516609 1516636 - Identifier 1516609 1516622 - TypeReference 1516623 1516636 - Identifier 1516623 1516636 - TypeReference 1516638 1516655 - Identifier 1516638 1516655 - Block 1516655 1517209 - VariableStatement 1516657 1517039 - VariableDeclarationList 1516657 1517038 - VariableDeclaration 1516672 1517038 - Identifier 1516672 1516680 - TypeReference 1516681 1516698 - Identifier 1516681 1516698 - ObjectLiteralExpression 1516700 1517038 - ShorthandPropertyAssignment 1516702 1516726 - Identifier 1516702 1516726 - ShorthandPropertyAssignment 1516727 1516750 - Identifier 1516727 1516750 - ShorthandPropertyAssignment 1516751 1516770 - Identifier 1516751 1516770 - ShorthandPropertyAssignment 1516771 1516797 - Identifier 1516771 1516797 - PropertyAssignment 1516798 1516844 - Identifier 1516798 1516818 - Identifier 1516819 1516844 - PropertyAssignment 1516845 1517026 - Identifier 1516845 1517000 - Identifier 1517001 1517026 - ExpressionStatement 1517039 1517102 - BinaryExpression 1517039 1517101 - PropertyAccessExpression 1517039 1517063 - Identifier 1517039 1517056 - Identifier 1517057 1517063 - EqualsToken 1517063 1517065 - CallExpression 1517065 1517101 - Identifier 1517065 1517092 - Identifier 1517093 1517100 - ExpressionStatement 1517102 1517177 - BinaryExpression 1517102 1517176 - PropertyAccessExpression 1517102 1517135 - Identifier 1517102 1517119 - Identifier 1517120 1517135 - EqualsToken 1517135 1517137 - CallExpression 1517137 1517176 - Identifier 1517137 1517167 - Identifier 1517168 1517175 - ReturnStatement 1517177 1517202 - Identifier 1517193 1517201 - FunctionDeclaration 1517209 1517972 - Identifier 1517225 1517252 - Parameter 1517253 1517278 - Identifier 1517253 1517260 - TypeReference 1517261 1517278 - Identifier 1517261 1517278 - Block 1517279 1517972 - ReturnStatement 1517281 1517965 - CallExpression 1517297 1517964 - Identifier 1517297 1517320 - CallExpression 1517321 1517380 - Identifier 1517321 1517338 - PropertyAccessExpression 1517339 1517357 - Identifier 1517339 1517346 - Identifier 1517347 1517357 - ArrowFunction 1517358 1517379 - Parameter 1517358 1517360 - Identifier 1517358 1517360 - EqualsGreaterThanToken 1517360 1517363 - PropertyAccessExpression 1517363 1517379 - Identifier 1517363 1517365 - Identifier 1517366 1517379 - CallExpression 1517381 1517952 - Identifier 1517381 1517398 - PropertyAccessExpression 1517399 1517417 - Identifier 1517399 1517406 - Identifier 1517407 1517417 - ArrowFunction 1517418 1517951 - Parameter 1517420 1517429 - Identifier 1517420 1517429 - Parameter 1517430 1517432 - Identifier 1517430 1517432 - EqualsGreaterThanToken 1517433 1517436 - ArrowFunction 1517436 1517951 - EqualsGreaterThanToken 1517439 1517442 - Block 1517442 1517951 - IfStatement 1517444 1517883 - PrefixUnaryExpression 1517466 1517484 - PropertyAccessExpression 1517467 1517484 - Identifier 1517467 1517476 - Identifier 1517477 1517484 - Block 1517485 1517883 - ExpressionStatement 1517487 1517753 - CallExpression 1517487 1517752 - Identifier 1517487 1517743 - Identifier 1517744 1517751 - ExpressionStatement 1517753 1517817 - CallExpression 1517753 1517816 - Identifier 1517753 1517796 - PropertyAccessExpression 1517797 1517815 - Identifier 1517797 1517804 - Identifier 1517805 1517815 - ExpressionStatement 1517817 1517864 - BinaryExpression 1517817 1517863 - PropertyAccessExpression 1517817 1517856 - Identifier 1517817 1517848 - Identifier 1517849 1517856 - EqualsToken 1517856 1517858 - TrueKeyword 1517858 1517863 - ReturnStatement 1517883 1517936 - CallExpression 1517907 1517935 - Identifier 1517907 1517923 - Identifier 1517924 1517931 - Identifier 1517932 1517934 - FunctionDeclaration 1517972 1518291 - Identifier 1517988 1518018 - Parameter 1518019 1518044 - Identifier 1518019 1518026 - TypeReference 1518027 1518044 - Identifier 1518027 1518044 - Block 1518045 1518291 - ReturnStatement 1518047 1518284 - CallExpression 1518063 1518283 - Identifier 1518063 1518086 - CallExpression 1518087 1518146 - Identifier 1518087 1518104 - PropertyAccessExpression 1518105 1518123 - Identifier 1518105 1518112 - Identifier 1518113 1518123 - ArrowFunction 1518124 1518145 - Parameter 1518124 1518126 - Identifier 1518124 1518126 - EqualsGreaterThanToken 1518126 1518129 - PropertyAccessExpression 1518129 1518145 - Identifier 1518129 1518131 - Identifier 1518132 1518145 - CallExpression 1518147 1518271 - Identifier 1518147 1518164 - PropertyAccessExpression 1518165 1518183 - Identifier 1518165 1518172 - Identifier 1518173 1518183 - ArrowFunction 1518184 1518270 - Parameter 1518186 1518187 - Identifier 1518186 1518187 - Parameter 1518188 1518190 - Identifier 1518188 1518190 - EqualsGreaterThanToken 1518191 1518194 - ArrowFunction 1518194 1518270 - EqualsGreaterThanToken 1518197 1518200 - Block 1518200 1518270 - ReturnStatement 1518202 1518255 - CallExpression 1518226 1518254 - Identifier 1518226 1518242 - Identifier 1518243 1518250 - Identifier 1518251 1518253 - FunctionDeclaration 1518291 1518532 - Identifier 1518307 1518329 - Parameter 1518330 1518357 - Identifier 1518330 1518340 - ArrayType 1518341 1518357 - TypeReference 1518341 1518355 - Identifier 1518341 1518355 - Block 1518358 1518532 - ForOfStatement 1518360 1518525 - VariableDeclarationList 1518375 1518390 - VariableDeclaration 1518380 1518390 - Identifier 1518380 1518390 - Identifier 1518393 1518404 - Block 1518405 1518525 - IfStatement 1518407 1518514 - PrefixUnaryExpression 1518425 1518443 - PropertyAccessExpression 1518426 1518443 - Identifier 1518426 1518435 - Identifier 1518436 1518443 - Block 1518444 1518514 - ExpressionStatement 1518446 1518499 - BinaryExpression 1518446 1518498 - PropertyAccessExpression 1518446 1518486 - Identifier 1518446 1518473 - Identifier 1518474 1518486 - EqualsToken 1518486 1518488 - Identifier 1518488 1518498 - FunctionDeclaration 1518532 1518744 - Identifier 1518548 1518580 - Parameter 1518581 1518606 - Identifier 1518581 1518588 - TypeReference 1518589 1518606 - Identifier 1518589 1518606 - Parameter 1518607 1518644 - Identifier 1518607 1518612 - UnionType 1518613 1518644 - TypeReference 1518613 1518624 - Identifier 1518613 1518624 - TypeReference 1518626 1518644 - Identifier 1518626 1518644 - Parameter 1518645 1518656 - Identifier 1518645 1518650 - TypeReference 1518651 1518656 - Identifier 1518651 1518656 - Block 1518657 1518744 - ExpressionStatement 1518659 1518737 - CallExpression 1518659 1518736 - PropertyAccessExpression 1518659 1518720 - ParenthesizedExpression 1518659 1518715 - BinaryExpression 1518670 1518714 - PropertyAccessExpression 1518670 1518707 - Identifier 1518670 1518677 - Identifier 1518678 1518707 - QuestionQuestionEqualsToken 1518707 1518711 - ArrayLiteralExpression 1518711 1518714 - Identifier 1518716 1518720 - ObjectLiteralExpression 1518721 1518735 - ShorthandPropertyAssignment 1518722 1518727 - Identifier 1518722 1518727 - ShorthandPropertyAssignment 1518728 1518733 - Identifier 1518728 1518733 - FunctionDeclaration 1518744 1520553 - Identifier 1519850 1519880 - Parameter 1519881 1519906 - Identifier 1519881 1519888 - TypeReference 1519889 1519906 - Identifier 1519889 1519906 - Block 1519907 1520553 - IfStatement 1519909 1520546 - PropertyAccessExpression 1519923 1519960 - Identifier 1519923 1519930 - Identifier 1519931 1519960 - Block 1519961 1520546 - ForOfStatement 1519963 1520471 - VariableDeclarationList 1519982 1520002 - VariableDeclaration 1519987 1520002 - ObjectBindingPattern 1519987 1520002 - BindingElement 1519989 1519994 - Identifier 1519989 1519994 - BindingElement 1519995 1520000 - Identifier 1519995 1520000 - PropertyAccessExpression 1520005 1520043 - Identifier 1520005 1520013 - Identifier 1520014 1520043 - Block 1520044 1520471 - VariableStatement 1520046 1520323 - VariableDeclarationList 1520046 1520322 - VariableDeclaration 1520069 1520322 - Identifier 1520069 1520084 - ConditionalExpression 1520086 1520322 - BinaryExpression 1520086 1520129 - PropertyAccessExpression 1520086 1520096 - Identifier 1520086 1520091 - Identifier 1520092 1520096 - EqualsEqualsEqualsToken 1520096 1520100 - PropertyAccessExpression 1520100 1520129 - Identifier 1520100 1520111 - Identifier 1520112 1520129 - QuestionToken 1520129 1520131 - CallExpression 1520131 1520247 - Identifier 1520131 1520192 - AsExpression 1520193 1520218 - Identifier 1520193 1520197 - TypeReference 1520200 1520218 - Identifier 1520200 1520218 - PropertyAccessExpression 1520219 1520246 - Identifier 1520219 1520232 - Identifier 1520233 1520246 - ColonToken 1520247 1520249 - CallExpression 1520249 1520322 - Identifier 1520249 1520288 - Identifier 1520289 1520293 - PropertyAccessExpression 1520294 1520321 - Identifier 1520294 1520307 - Identifier 1520308 1520321 - IfStatement 1520323 1520456 - Identifier 1520345 1520359 - Block 1520360 1520456 - ExpressionStatement 1520362 1520437 - CallExpression 1520362 1520436 - Identifier 1520362 1520394 - PropertyAccessExpression 1520395 1520413 - Identifier 1520395 1520402 - Identifier 1520403 1520413 - Identifier 1520414 1520419 - Identifier 1520420 1520435 - ExpressionStatement 1520471 1520535 - BinaryExpression 1520471 1520534 - PropertyAccessExpression 1520471 1520522 - Identifier 1520471 1520492 - Identifier 1520493 1520522 - EqualsToken 1520522 1520524 - Identifier 1520524 1520534 - FunctionDeclaration 1520553 1520947 - Identifier 1520569 1520589 - Parameter 1520590 1520618 - Identifier 1520590 1520603 - TypeReference 1520604 1520618 - Identifier 1520604 1520618 - TypeReference 1520620 1520634 - Identifier 1520620 1520634 - Block 1520634 1520947 - ReturnStatement 1520636 1520940 - ObjectLiteralExpression 1520652 1520939 - ShorthandPropertyAssignment 1520654 1520681 - Identifier 1520654 1520681 - PropertyAssignment 1520682 1520717 - Identifier 1520682 1520706 - Identifier 1520707 1520717 - PropertyAssignment 1520718 1520759 - Identifier 1520718 1520748 - Identifier 1520749 1520759 - PropertyAssignment 1520760 1520797 - Identifier 1520760 1520786 - Identifier 1520787 1520797 - PropertyAssignment 1520798 1520831 - Identifier 1520798 1520820 - Identifier 1520821 1520831 - PropertyAssignment 1520832 1520860 - Identifier 1520832 1520854 - TrueKeyword 1520855 1520860 - PropertyAssignment 1520861 1520889 - Identifier 1520861 1520882 - FalseKeyword 1520883 1520889 - PropertyAssignment 1520890 1520927 - Identifier 1520890 1520916 - Identifier 1520917 1520927 - FunctionDeclaration 1520947 1521520 - Identifier 1520963 1520982 - Parameter 1520983 1521007 - Identifier 1520983 1520992 - TypeReference 1520993 1521007 - Identifier 1520993 1521007 - TypeReference 1521009 1521023 - Identifier 1521009 1521023 - Block 1521023 1521520 - ReturnStatement 1521025 1521513 - ObjectLiteralExpression 1521041 1521512 - PropertyAssignment 1521043 1521095 - Identifier 1521043 1521070 - PropertyAccessExpression 1521071 1521095 - Identifier 1521071 1521081 - Identifier 1521082 1521095 - PropertyAssignment 1521096 1521174 - Identifier 1521096 1521120 - BinaryExpression 1521121 1521174 - PropertyAccessExpression 1521121 1521142 - Identifier 1521121 1521131 - Identifier 1521132 1521142 - AmpersandAmpersandToken 1521142 1521145 - CallExpression 1521145 1521174 - PropertyAccessExpression 1521145 1521172 - PropertyAccessExpression 1521145 1521166 - Identifier 1521145 1521155 - Identifier 1521156 1521166 - Identifier 1521167 1521172 - PropertyAssignment 1521175 1521271 - Identifier 1521175 1521205 - BinaryExpression 1521206 1521271 - PropertyAccessExpression 1521206 1521233 - Identifier 1521206 1521216 - Identifier 1521217 1521233 - AmpersandAmpersandToken 1521233 1521236 - CallExpression 1521236 1521271 - PropertyAccessExpression 1521236 1521269 - PropertyAccessExpression 1521236 1521263 - Identifier 1521236 1521246 - Identifier 1521247 1521263 - Identifier 1521264 1521269 - PropertyAssignment 1521272 1521322 - Identifier 1521272 1521298 - PropertyAccessExpression 1521299 1521322 - Identifier 1521299 1521309 - Identifier 1521310 1521322 - PropertyAssignment 1521323 1521365 - Identifier 1521323 1521345 - PropertyAccessExpression 1521346 1521365 - Identifier 1521346 1521356 - Identifier 1521357 1521365 - PropertyAssignment 1521366 1521408 - Identifier 1521366 1521388 - PropertyAccessExpression 1521389 1521408 - Identifier 1521389 1521399 - Identifier 1521400 1521408 - PropertyAssignment 1521409 1521449 - Identifier 1521409 1521430 - PropertyAccessExpression 1521431 1521449 - Identifier 1521431 1521441 - Identifier 1521442 1521449 - PropertyAssignment 1521450 1521500 - Identifier 1521450 1521476 - PropertyAccessExpression 1521477 1521500 - Identifier 1521477 1521487 - Identifier 1521488 1521500 - FunctionDeclaration 1521520 1521906 - Identifier 1521536 1521563 - Parameter 1521564 1521589 - Identifier 1521564 1521571 - TypeReference 1521572 1521589 - Identifier 1521572 1521589 - UnionType 1521591 1521620 - TypeReference 1521591 1521608 - Identifier 1521591 1521608 - UndefinedKeyword 1521610 1521620 - Block 1521620 1521906 - VariableStatement 1521622 1521702 - VariableDeclarationList 1521622 1521701 - VariableDeclaration 1521637 1521701 - Identifier 1521637 1521648 - CallExpression 1521650 1521701 - Identifier 1521650 1521657 - PropertyAccessExpression 1521658 1521676 - Identifier 1521658 1521665 - Identifier 1521666 1521676 - Identifier 1521677 1521700 - ReturnStatement 1521702 1521899 - ConditionalExpression 1521718 1521898 - PropertyAccessExpression 1521718 1521736 - Identifier 1521718 1521729 - Identifier 1521730 1521736 - QuestionToken 1521736 1521738 - CallExpression 1521738 1521873 - Identifier 1521738 1521780 - CallExpression 1521781 1521816 - Identifier 1521781 1521784 - Identifier 1521785 1521795 - Identifier 1521796 1521815 - PropertyAccessExpression 1521817 1521835 - Identifier 1521817 1521825 - Identifier 1521826 1521835 - PropertyAccessExpression 1521836 1521850 - Identifier 1521836 1521844 - Identifier 1521845 1521850 - PropertyAccessExpression 1521851 1521872 - Identifier 1521851 1521859 - Identifier 1521860 1521872 - ColonToken 1521873 1521875 - Identifier 1521875 1521898 - FunctionDeclaration 1521906 1522075 - Identifier 1521922 1521943 - TypeParameter 1521944 1521982 - Identifier 1521944 1521945 - UnionType 1521953 1521982 - TypeReference 1521953 1521970 - Identifier 1521953 1521970 - UndefinedKeyword 1521972 1521982 - Parameter 1521984 1521994 - Identifier 1521984 1521991 - TypeReference 1521992 1521994 - Identifier 1521992 1521994 - UnionType 1521996 1522023 - TypeReference 1521996 1522007 - Identifier 1521996 1522007 - IntersectionType 1522009 1522023 - TypeReference 1522009 1522011 - Identifier 1522009 1522011 - UndefinedKeyword 1522013 1522023 - Block 1522023 1522075 - ReturnStatement 1522025 1522068 - BinaryExpression 1522041 1522067 - Identifier 1522041 1522049 - AmpersandAmpersandToken 1522049 1522052 - PropertyAccessExpression 1522052 1522067 - Identifier 1522052 1522060 - Identifier 1522061 1522067 - FunctionDeclaration 1522075 1523945 - Identifier 1522345 1522371 - Parameter 1522372 1522382 - Identifier 1522372 1522376 - TypeReference 1522377 1522382 - Identifier 1522377 1522382 - BooleanKeyword 1522384 1522392 - Block 1522392 1523945 - VariableStatement 1522394 1522445 - VariableDeclarationList 1522394 1522444 - VariableDeclaration 1522409 1522444 - Identifier 1522409 1522421 - CallExpression 1522423 1522444 - Identifier 1522423 1522438 - Identifier 1522439 1522443 - IfStatement 1522445 1522609 - BinaryExpression 1522459 1522518 - Identifier 1522459 1522470 - AmpersandToken 1522470 1522472 - PropertyAccessExpression 1522472 1522518 - Identifier 1522472 1522484 - Identifier 1522485 1522518 - Block 1522519 1522609 - ReturnStatement 1522521 1522598 - PrefixUnaryExpression 1522541 1522597 - PrefixUnaryExpression 1522543 1522597 - ParenthesizedExpression 1522544 1522597 - BinaryExpression 1522545 1522596 - Identifier 1522545 1522556 - AmpersandToken 1522556 1522558 - PropertyAccessExpression 1522558 1522596 - Identifier 1522558 1522570 - Identifier 1522571 1522596 - VariableStatement 1522609 1523692 - VariableDeclarationList 1522609 1523691 - VariableDeclaration 1522624 1523691 - Identifier 1522624 1522631 - PrefixUnaryExpression 1522633 1523691 - PrefixUnaryExpression 1522635 1523691 - ParenthesizedExpression 1522636 1523691 - BinaryExpression 1522637 1523690 - BinaryExpression 1522637 1523479 - BinaryExpression 1522637 1522672 - PropertyAccessExpression 1522637 1522647 - Identifier 1522637 1522641 - Identifier 1522642 1522647 - AmpersandToken 1522647 1522649 - PropertyAccessExpression 1522649 1522672 - Identifier 1522649 1522659 - Identifier 1522660 1522672 - BarBarToken 1522672 1522675 - BinaryExpression 1522675 1523479 - BinaryExpression 1522675 1522753 - BinaryExpression 1522675 1522718 - PropertyAccessExpression 1522675 1522699 - Identifier 1522675 1522693 - Identifier 1522694 1522699 - AmpersandToken 1522699 1522701 - PropertyAccessExpression 1522701 1522718 - Identifier 1522701 1522711 - Identifier 1522712 1522718 - AmpersandAmpersandToken 1522718 1522721 - PrefixUnaryExpression 1522721 1522753 - CallExpression 1522723 1522753 - Identifier 1522723 1522747 - Identifier 1522748 1522752 - AmpersandAmpersandToken 1522753 1522756 - ParenthesizedExpression 1522756 1523479 - BinaryExpression 1522758 1523460 - BinaryExpression 1522758 1523302 - BinaryExpression 1522758 1523058 - BinaryExpression 1522758 1522925 - BinaryExpression 1522758 1522815 - Identifier 1522758 1522791 - AmpersandToken 1522791 1522793 - PropertyAccessExpression 1522793 1522815 - Identifier 1522793 1522805 - Identifier 1522806 1522815 - AmpersandAmpersandToken 1522815 1522818 - ParenthesizedExpression 1522818 1522925 - BinaryExpression 1522820 1522924 - PropertyAccessExpression 1522820 1522848 - ParenthesizedExpression 1522820 1522843 - AsExpression 1522821 1522842 - Identifier 1522821 1522825 - TypeReference 1522828 1522842 - Identifier 1522828 1522842 - Identifier 1522844 1522848 - BarBarToken 1522848 1522851 - CallExpression 1522851 1522924 - Identifier 1522851 1522856 - CallExpression 1522857 1522896 - Identifier 1522857 1522873 - AsExpression 1522874 1522895 - Identifier 1522874 1522878 - TypeReference 1522881 1522895 - Identifier 1522881 1522895 - Identifier 1522897 1522923 - BarBarToken 1522925 1522928 - BinaryExpression 1522928 1523058 - BinaryExpression 1522928 1522995 - Identifier 1522928 1522961 - AmpersandToken 1522961 1522963 - PropertyAccessExpression 1522963 1522995 - Identifier 1522963 1522975 - Identifier 1522976 1522995 - AmpersandAmpersandToken 1522995 1522998 - PrefixUnaryExpression 1522998 1523058 - PrefixUnaryExpression 1523000 1523058 - CallExpression 1523001 1523058 - Identifier 1523001 1523007 - PropertyAccessExpression 1523008 1523057 - ParenthesizedExpression 1523008 1523037 - AsExpression 1523009 1523036 - Identifier 1523009 1523013 - TypeReference 1523016 1523036 - Identifier 1523016 1523036 - Identifier 1523038 1523057 - BarBarToken 1523058 1523061 - BinaryExpression 1523061 1523302 - BinaryExpression 1523061 1523274 - BinaryExpression 1523061 1523133 - BinaryExpression 1523061 1523118 - Identifier 1523061 1523094 - AmpersandToken 1523094 1523096 - PropertyAccessExpression 1523096 1523118 - Identifier 1523096 1523108 - Identifier 1523109 1523118 - AmpersandAmpersandToken 1523118 1523121 - PropertyAccessExpression 1523121 1523133 - Identifier 1523121 1523126 - Identifier 1523127 1523133 - AmpersandAmpersandToken 1523133 1523136 - BinaryExpression 1523136 1523274 - PropertyAccessExpression 1523136 1523154 - PropertyAccessExpression 1523136 1523148 - Identifier 1523136 1523141 - Identifier 1523142 1523148 - Identifier 1523149 1523154 - AmpersandToken 1523154 1523156 - ParenthesizedExpression 1523156 1523274 - BinaryExpression 1523158 1523273 - BinaryExpression 1523158 1523245 - BinaryExpression 1523158 1523219 - BinaryExpression 1523158 1523199 - PropertyAccessExpression 1523158 1523178 - Identifier 1523158 1523169 - Identifier 1523170 1523178 - BarToken 1523178 1523180 - PropertyAccessExpression 1523180 1523199 - Identifier 1523180 1523192 - Identifier 1523193 1523199 - BarToken 1523199 1523201 - PropertyAccessExpression 1523201 1523219 - Identifier 1523201 1523213 - Identifier 1523214 1523219 - BarToken 1523219 1523221 - PropertyAccessExpression 1523221 1523245 - Identifier 1523221 1523233 - Identifier 1523234 1523245 - BarToken 1523245 1523247 - PropertyAccessExpression 1523247 1523273 - Identifier 1523247 1523259 - Identifier 1523260 1523273 - AmpersandAmpersandToken 1523274 1523277 - PropertyAccessExpression 1523277 1523302 - PropertyAccessExpression 1523277 1523289 - Identifier 1523277 1523282 - Identifier 1523283 1523289 - Identifier 1523290 1523302 - BarBarToken 1523302 1523305 - BinaryExpression 1523305 1523460 - Identifier 1523305 1523338 - AmpersandToken 1523338 1523340 - ParenthesizedExpression 1523340 1523460 - BinaryExpression 1523342 1523459 - BinaryExpression 1523342 1523417 - BinaryExpression 1523342 1523388 - PropertyAccessExpression 1523342 1523360 - Identifier 1523342 1523353 - Identifier 1523354 1523360 - BarToken 1523360 1523362 - PropertyAccessExpression 1523362 1523388 - Identifier 1523362 1523374 - Identifier 1523375 1523388 - BarToken 1523388 1523390 - PropertyAccessExpression 1523390 1523417 - Identifier 1523390 1523402 - Identifier 1523403 1523417 - BarToken 1523417 1523419 - PropertyAccessExpression 1523419 1523459 - Identifier 1523419 1523431 - Identifier 1523432 1523459 - BarBarToken 1523479 1523482 - BinaryExpression 1523482 1523690 - BinaryExpression 1523482 1523614 - BinaryExpression 1523482 1523579 - BinaryExpression 1523482 1523538 - PropertyAccessExpression 1523482 1523506 - Identifier 1523482 1523500 - Identifier 1523501 1523506 - AmpersandToken 1523506 1523508 - PropertyAccessExpression 1523508 1523538 - Identifier 1523508 1523518 - Identifier 1523519 1523538 - AmpersandAmpersandToken 1523538 1523541 - PrefixUnaryExpression 1523541 1523579 - ParenthesizedExpression 1523543 1523579 - BinaryExpression 1523544 1523578 - PropertyAccessExpression 1523544 1523554 - Identifier 1523544 1523548 - Identifier 1523549 1523554 - AmpersandToken 1523554 1523556 - PropertyAccessExpression 1523556 1523578 - Identifier 1523556 1523566 - Identifier 1523567 1523578 - AmpersandAmpersandToken 1523579 1523582 - PrefixUnaryExpression 1523582 1523614 - CallExpression 1523584 1523614 - Identifier 1523584 1523608 - Identifier 1523609 1523613 - AmpersandAmpersandToken 1523614 1523617 - CallExpression 1523617 1523690 - Identifier 1523617 1523622 - PropertyAccessExpression 1523623 1523662 - ParenthesizedExpression 1523623 1523656 - AsExpression 1523624 1523655 - Identifier 1523624 1523628 - TypeReference 1523631 1523655 - Identifier 1523631 1523655 - Identifier 1523657 1523662 - Identifier 1523663 1523689 - IfStatement 1523692 1523914 - BinaryExpression 1523706 1523744 - PropertyAccessExpression 1523706 1523716 - Identifier 1523706 1523710 - Identifier 1523711 1523716 - AmpersandToken 1523716 1523718 - PropertyAccessExpression 1523718 1523744 - Identifier 1523718 1523728 - Identifier 1523729 1523744 - Block 1523745 1523914 - ExpressionStatement 1523747 1523903 - BinaryExpression 1523747 1523902 - PropertyAccessExpression 1523747 1523798 - ParenthesizedExpression 1523747 1523786 - AsExpression 1523762 1523785 - Identifier 1523762 1523766 - TypeReference 1523769 1523785 - Identifier 1523769 1523785 - Identifier 1523787 1523798 - BarEqualsToken 1523798 1523801 - BinaryExpression 1523801 1523902 - PropertyAccessExpression 1523801 1523847 - Identifier 1523801 1523813 - Identifier 1523814 1523847 - BarToken 1523847 1523849 - ParenthesizedExpression 1523849 1523902 - ConditionalExpression 1523851 1523901 - Identifier 1523851 1523857 - QuestionToken 1523857 1523859 - PropertyAccessExpression 1523859 1523897 - Identifier 1523859 1523871 - Identifier 1523872 1523897 - ColonToken 1523897 1523899 - NumericLiteral 1523899 1523901 - ReturnStatement 1523914 1523938 - Identifier 1523930 1523937 - FunctionDeclaration 1523945 1524386 - Identifier 1523961 1523986 - Parameter 1523987 1523997 - Identifier 1523987 1523991 - TypeReference 1523992 1523997 - Identifier 1523992 1523997 - Block 1523998 1524386 - IfStatement 1524000 1524356 - BinaryExpression 1524014 1524058 - PropertyAccessExpression 1524014 1524030 - Identifier 1524014 1524018 - Identifier 1524019 1524030 - AmpersandAmpersandToken 1524030 1524033 - PrefixUnaryExpression 1524033 1524058 - PropertyAccessExpression 1524035 1524058 - Identifier 1524035 1524039 - Identifier 1524040 1524058 - Block 1524059 1524356 - VariableStatement 1524061 1524167 - VariableDeclarationList 1524061 1524166 - VariableDeclaration 1524080 1524166 - Identifier 1524080 1524092 - CallExpression 1524094 1524166 - Identifier 1524094 1524115 - PropertyAccessExpression 1524116 1524132 - Identifier 1524116 1524120 - Identifier 1524121 1524132 - PropertyAccessExpression 1524133 1524165 - Identifier 1524133 1524144 - Identifier 1524145 1524165 - ReturnStatement 1524167 1524345 - PrefixUnaryExpression 1524187 1524344 - PrefixUnaryExpression 1524189 1524344 - ParenthesizedExpression 1524190 1524344 - BinaryExpression 1524191 1524343 - Identifier 1524191 1524202 - AmpersandAmpersandToken 1524202 1524205 - CallExpression 1524205 1524343 - Identifier 1524205 1524218 - PropertyAccessExpression 1524219 1524237 - Identifier 1524219 1524230 - Identifier 1524231 1524237 - ArrowFunction 1524238 1524342 - Parameter 1524238 1524240 - Identifier 1524238 1524240 - EqualsGreaterThanToken 1524240 1524243 - ConditionalExpression 1524243 1524342 - BinaryExpression 1524243 1524276 - PropertyAccessExpression 1524243 1524250 - Identifier 1524243 1524245 - Identifier 1524246 1524250 - EqualsEqualsEqualsToken 1524250 1524254 - PropertyAccessExpression 1524254 1524276 - Identifier 1524254 1524265 - Identifier 1524266 1524276 - QuestionToken 1524276 1524278 - TrueKeyword 1524278 1524283 - ColonToken 1524283 1524285 - ConditionalExpression 1524285 1524342 - BinaryExpression 1524285 1524325 - PropertyAccessExpression 1524285 1524292 - Identifier 1524285 1524287 - Identifier 1524288 1524292 - EqualsEqualsEqualsToken 1524292 1524296 - PropertyAccessExpression 1524296 1524325 - Identifier 1524296 1524307 - Identifier 1524308 1524325 - QuestionToken 1524325 1524327 - FalseKeyword 1524327 1524333 - ColonToken 1524333 1524335 - StringLiteral 1524335 1524342 - ReturnStatement 1524356 1524379 - FalseKeyword 1524372 1524378 - FunctionDeclaration 1524386 1525005 - Identifier 1524402 1524428 - Parameter 1524429 1524439 - Identifier 1524429 1524433 - TypeReference 1524434 1524439 - Identifier 1524434 1524439 - Parameter 1524440 1524458 - Identifier 1524440 1524443 - TypeReference 1524444 1524458 - Identifier 1524444 1524458 - Parameter 1524459 1524469 - Identifier 1524459 1524465 - NumericLiteral 1524467 1524469 - BooleanKeyword 1524471 1524479 - Block 1524479 1525005 - ReturnStatement 1524481 1524998 - PrefixUnaryExpression 1524497 1524997 - PrefixUnaryExpression 1524499 1524997 - ParenthesizedExpression 1524500 1524997 - BinaryExpression 1524501 1524996 - BinaryExpression 1524501 1524666 - BinaryExpression 1524501 1524512 - Identifier 1524501 1524505 - EqualsEqualsEqualsToken 1524505 1524509 - Identifier 1524509 1524512 - BarBarToken 1524512 1524515 - BinaryExpression 1524515 1524666 - BinaryExpression 1524515 1524571 - PropertyAccessExpression 1524515 1524539 - Identifier 1524515 1524533 - Identifier 1524534 1524539 - AmpersandToken 1524539 1524541 - PropertyAccessExpression 1524541 1524571 - Identifier 1524541 1524551 - Identifier 1524552 1524571 - AmpersandAmpersandToken 1524571 1524574 - CallExpression 1524574 1524666 - Identifier 1524574 1524579 - PropertyAccessExpression 1524580 1524619 - ParenthesizedExpression 1524580 1524613 - AsExpression 1524581 1524612 - Identifier 1524581 1524585 - TypeReference 1524588 1524612 - Identifier 1524588 1524612 - Identifier 1524614 1524619 - ArrowFunction 1524620 1524665 - Parameter 1524620 1524622 - Identifier 1524620 1524622 - EqualsGreaterThanToken 1524622 1524625 - CallExpression 1524625 1524665 - Identifier 1524625 1524651 - Identifier 1524652 1524653 - Identifier 1524654 1524657 - Identifier 1524658 1524664 - BarBarToken 1524666 1524669 - BinaryExpression 1524669 1524996 - BinaryExpression 1524669 1524730 - BinaryExpression 1524669 1524692 - Identifier 1524669 1524688 - LessThanToken 1524688 1524690 - NumericLiteral 1524690 1524692 - AmpersandAmpersandToken 1524692 1524695 - BinaryExpression 1524695 1524730 - PropertyAccessExpression 1524695 1524706 - Identifier 1524695 1524700 - Identifier 1524701 1524706 - AmpersandToken 1524706 1524708 - PropertyAccessExpression 1524708 1524730 - Identifier 1524708 1524718 - Identifier 1524719 1524730 - AmpersandAmpersandToken 1524730 1524733 - ParenthesizedExpression 1524733 1524996 - BinaryExpression 1524735 1524977 - CallExpression 1524735 1524854 - Identifier 1524735 1524782 - CallExpression 1524783 1524838 - Identifier 1524783 1524813 - AsExpression 1524814 1524837 - Identifier 1524814 1524818 - TypeReference 1524821 1524837 - Identifier 1524821 1524837 - Identifier 1524839 1524842 - BinaryExpression 1524843 1524853 - Identifier 1524843 1524849 - PlusToken 1524849 1524851 - NumericLiteral 1524851 1524853 - BarBarToken 1524854 1524857 - CallExpression 1524857 1524977 - Identifier 1524857 1524904 - CallExpression 1524905 1524961 - Identifier 1524905 1524936 - AsExpression 1524937 1524960 - Identifier 1524937 1524941 - TypeReference 1524944 1524960 - Identifier 1524944 1524960 - Identifier 1524962 1524965 - BinaryExpression 1524966 1524976 - Identifier 1524966 1524972 - PlusToken 1524972 1524974 - NumericLiteral 1524974 1524976 - FunctionDeclaration 1525005 1525402 - Identifier 1525021 1525059 - Parameter 1525060 1525080 - Identifier 1525060 1525069 - TypeReference 1525070 1525080 - Identifier 1525070 1525080 - Parameter 1525081 1525110 - Identifier 1525081 1525095 - TypeReference 1525096 1525110 - Identifier 1525096 1525110 - Block 1525111 1525402 - VariableStatement 1525113 1525184 - VariableDeclarationList 1525113 1525183 - VariableDeclaration 1525128 1525183 - Identifier 1525128 1525142 - CallExpression 1525144 1525183 - Identifier 1525144 1525172 - Identifier 1525173 1525182 - ReturnStatement 1525184 1525395 - ConditionalExpression 1525200 1525394 - Identifier 1525200 1525214 - QuestionToken 1525214 1525216 - BinaryExpression 1525216 1525301 - PrefixUnaryExpression 1525216 1525237 - PrefixUnaryExpression 1525218 1525237 - PropertyAccessExpression 1525219 1525237 - Identifier 1525219 1525232 - Identifier 1525233 1525237 - AmpersandAmpersandToken 1525237 1525240 - CallExpression 1525240 1525301 - Identifier 1525240 1525266 - PropertyAccessExpression 1525267 1525285 - Identifier 1525267 1525280 - Identifier 1525281 1525285 - Identifier 1525286 1525300 - ColonToken 1525301 1525303 - CallExpression 1525303 1525394 - Identifier 1525303 1525342 - CallExpression 1525343 1525378 - Identifier 1525343 1525367 - Identifier 1525368 1525377 - Identifier 1525379 1525393 - FunctionDeclaration 1525402 1526461 - Identifier 1525527 1525566 - Parameter 1525567 1525577 - Identifier 1525567 1525571 - TypeReference 1525572 1525577 - Identifier 1525572 1525577 - Block 1525578 1526461 - VariableStatement 1525580 1525626 - VariableDeclarationList 1525580 1525625 - VariableDeclaration 1525595 1525625 - Identifier 1525595 1525603 - CallExpression 1525605 1525625 - Identifier 1525605 1525623 - ExpressionStatement 1525626 1526207 - CallExpression 1525626 1526206 - Identifier 1525626 1525647 - Identifier 1525648 1525652 - ArrowFunction 1525653 1526205 - Parameter 1525653 1525655 - Identifier 1525653 1525655 - EqualsGreaterThanToken 1525655 1525658 - Block 1525658 1526205 - IfStatement 1525660 1525757 - PrefixUnaryExpression 1525678 1525714 - ParenthesizedExpression 1525679 1525714 - BinaryExpression 1525680 1525713 - PropertyAccessExpression 1525680 1525687 - Identifier 1525680 1525681 - Identifier 1525682 1525687 - AmpersandToken 1525687 1525689 - PropertyAccessExpression 1525689 1525713 - Identifier 1525689 1525699 - Identifier 1525700 1525713 - Block 1525715 1525757 - ReturnStatement 1525717 1525742 - VariableStatement 1525757 1525841 - VariableDeclarationList 1525757 1525840 - VariableDeclaration 1525776 1525840 - Identifier 1525776 1525781 - CallExpression 1525783 1525840 - Identifier 1525783 1525808 - PropertyAccessExpression 1525809 1525839 - ParenthesizedExpression 1525809 1525833 - AsExpression 1525810 1525832 - Identifier 1525810 1525811 - TypeReference 1525814 1525832 - Identifier 1525814 1525832 - Identifier 1525834 1525839 - VariableStatement 1525841 1525916 - VariableDeclarationList 1525841 1525915 - VariableDeclaration 1525860 1525915 - Identifier 1525860 1525872 - CallExpression 1525874 1525915 - Identifier 1525874 1525887 - PropertyAccessExpression 1525888 1525908 - Identifier 1525888 1525899 - Identifier 1525900 1525908 - Identifier 1525909 1525914 - ExpressionStatement 1525916 1525963 - BinaryExpression 1525916 1525962 - PropertyAccessExpression 1525916 1525952 - PropertyAccessExpression 1525916 1525947 - Identifier 1525916 1525941 - Identifier 1525942 1525947 - Identifier 1525948 1525952 - EqualsToken 1525952 1525954 - Identifier 1525954 1525962 - IfStatement 1525963 1526149 - PropertyAccessExpression 1525981 1525989 - Identifier 1525981 1525982 - Identifier 1525983 1525989 - Block 1525990 1526149 - ExpressionStatement 1525992 1526059 - BinaryExpression 1525992 1526058 - PropertyAccessExpression 1525992 1526034 - Identifier 1525992 1526021 - Identifier 1526022 1526034 - EqualsToken 1526034 1526036 - PropertyAccessExpression 1526036 1526058 - PropertyAccessExpression 1526036 1526045 - Identifier 1526036 1526038 - Identifier 1526039 1526045 - Identifier 1526046 1526058 - ExpressionStatement 1526059 1526134 - BinaryExpression 1526059 1526133 - PropertyAccessExpression 1526059 1526105 - Identifier 1526059 1526088 - Identifier 1526089 1526105 - EqualsToken 1526105 1526107 - PropertyAccessExpression 1526107 1526133 - PropertyAccessExpression 1526107 1526116 - Identifier 1526107 1526109 - Identifier 1526110 1526116 - Identifier 1526117 1526133 - ExpressionStatement 1526149 1526194 - CallExpression 1526149 1526193 - PropertyAccessExpression 1526149 1526174 - Identifier 1526149 1526170 - Identifier 1526171 1526174 - Identifier 1526175 1526179 - Identifier 1526180 1526192 - VariableStatement 1526207 1526350 - VariableDeclarationList 1526207 1526349 - VariableDeclaration 1526222 1526349 - Identifier 1526222 1526233 - ConditionalExpression 1526235 1526349 - BinaryExpression 1526235 1526265 - PropertyAccessExpression 1526235 1526246 - Identifier 1526235 1526240 - Identifier 1526241 1526246 - AmpersandToken 1526246 1526248 - PropertyAccessExpression 1526248 1526265 - Identifier 1526248 1526258 - Identifier 1526259 1526265 - QuestionToken 1526265 1526267 - ArrayLiteralExpression 1526267 1526336 - CallExpression 1526269 1526335 - Identifier 1526269 1526284 - Identifier 1526285 1526295 - Identifier 1526296 1526312 - FalseKeyword 1526313 1526334 - ColonToken 1526336 1526338 - Identifier 1526338 1526349 - ReturnStatement 1526350 1526454 - CallExpression 1526366 1526453 - Identifier 1526366 1526386 - Identifier 1526387 1526407 - Identifier 1526408 1526416 - Identifier 1526417 1526428 - Identifier 1526429 1526440 - Identifier 1526441 1526452 - FunctionDeclaration 1526461 1527367 - Identifier 1526879 1526913 - Parameter 1526914 1526926 - Identifier 1526914 1526920 - TypeReference 1526921 1526926 - Identifier 1526921 1526926 - Parameter 1526927 1526946 - Identifier 1526927 1526934 - TypeReference 1526935 1526946 - Identifier 1526935 1526946 - Parameter 1526947 1526969 - Identifier 1526947 1526958 - TypeReference 1526959 1526969 - Identifier 1526959 1526969 - UnionType 1526971 1526988 - TypeReference 1526971 1526976 - Identifier 1526971 1526976 - UndefinedKeyword 1526978 1526988 - Block 1526988 1527367 - VariableStatement 1526990 1527067 - VariableDeclarationList 1526990 1527066 - VariableDeclaration 1527005 1527066 - Identifier 1527005 1527014 - BinaryExpression 1527016 1527066 - BinaryExpression 1527016 1527050 - BinaryExpression 1527016 1527044 - BinaryExpression 1527016 1527032 - PropertyAccessExpression 1527016 1527026 - Identifier 1527016 1527023 - Identifier 1527024 1527026 - PlusToken 1527026 1527028 - StringLiteral 1527028 1527032 - PlusToken 1527032 1527034 - PropertyAccessExpression 1527034 1527044 - Identifier 1527034 1527041 - Identifier 1527042 1527044 - PlusToken 1527044 1527046 - StringLiteral 1527046 1527050 - PlusToken 1527050 1527052 - PropertyAccessExpression 1527052 1527066 - Identifier 1527052 1527063 - Identifier 1527064 1527066 - IfStatement 1527067 1527203 - CallExpression 1527081 1527124 - PropertyAccessExpression 1527081 1527114 - Identifier 1527081 1527110 - Identifier 1527111 1527114 - Identifier 1527115 1527123 - Block 1527125 1527203 - ReturnStatement 1527127 1527192 - CallExpression 1527147 1527191 - PropertyAccessExpression 1527147 1527181 - Identifier 1527147 1527177 - Identifier 1527178 1527181 - Identifier 1527182 1527190 - VariableStatement 1527203 1527278 - VariableDeclarationList 1527203 1527277 - VariableDeclaration 1527218 1527277 - Identifier 1527218 1527223 - CallExpression 1527225 1527277 - Identifier 1527225 1527249 - Identifier 1527250 1527256 - Identifier 1527257 1527264 - Identifier 1527265 1527276 - ExpressionStatement 1527278 1527338 - CallExpression 1527278 1527337 - PropertyAccessExpression 1527278 1527321 - Identifier 1527278 1527317 - Identifier 1527318 1527321 - Identifier 1527322 1527330 - Identifier 1527331 1527336 - ReturnStatement 1527338 1527360 - Identifier 1527354 1527359 - FunctionDeclaration 1527367 1528148 - Identifier 1527795 1527820 - Parameter 1527821 1527831 - Identifier 1527821 1527825 - TypeReference 1527826 1527831 - Identifier 1527826 1527831 - BooleanKeyword 1527833 1527841 - Block 1527841 1528148 - ReturnStatement 1527843 1528141 - BinaryExpression 1527859 1528140 - BinaryExpression 1527859 1528049 - PrefixUnaryExpression 1527859 1527915 - ParenthesizedExpression 1527861 1527915 - BinaryExpression 1527862 1527914 - CallExpression 1527862 1527882 - Identifier 1527862 1527876 - Identifier 1527877 1527881 - AmpersandToken 1527882 1527884 - PropertyAccessExpression 1527884 1527914 - Identifier 1527884 1527896 - Identifier 1527897 1527914 - BarBarToken 1527915 1527918 - BinaryExpression 1527918 1528049 - CallExpression 1527918 1527957 - Identifier 1527918 1527951 - Identifier 1527952 1527956 - AmpersandAmpersandToken 1527957 1527960 - CallExpression 1527960 1528049 - Identifier 1527960 1527965 - CallExpression 1527966 1527991 - Identifier 1527966 1527985 - Identifier 1527986 1527990 - ArrowFunction 1527992 1528048 - Parameter 1527992 1527997 - Identifier 1527992 1527997 - EqualsGreaterThanToken 1527997 1528000 - CallExpression 1528000 1528048 - Identifier 1528000 1528025 - CallExpression 1528026 1528047 - Identifier 1528026 1528041 - Identifier 1528042 1528046 - BarBarToken 1528049 1528052 - BinaryExpression 1528052 1528140 - CallExpression 1528052 1528083 - Identifier 1528052 1528077 - Identifier 1528078 1528082 - AmpersandAmpersandToken 1528083 1528086 - CallExpression 1528086 1528140 - Identifier 1528086 1528091 - CallExpression 1528092 1528113 - Identifier 1528092 1528107 - Identifier 1528108 1528112 - Identifier 1528114 1528139 - FunctionDeclaration 1528148 1530178 - Identifier 1528164 1528188 - Parameter 1528189 1528201 - Identifier 1528189 1528195 - TypeReference 1528196 1528201 - Identifier 1528196 1528201 - Parameter 1528202 1528221 - Identifier 1528202 1528209 - TypeReference 1528210 1528221 - Identifier 1528210 1528221 - Parameter 1528222 1528244 - Identifier 1528222 1528233 - TypeReference 1528234 1528244 - Identifier 1528234 1528244 - Block 1528245 1530178 - IfStatement 1528247 1528603 - PrefixUnaryExpression 1528437 1528558 - ParenthesizedExpression 1528438 1528558 - BinaryExpression 1528439 1528557 - CallExpression 1528439 1528477 - Identifier 1528439 1528457 - Identifier 1528458 1528464 - Identifier 1528465 1528476 - BarBarToken 1528477 1528480 - BinaryExpression 1528480 1528557 - BinaryExpression 1528480 1528521 - PropertyAccessExpression 1528480 1528515 - CallExpression 1528480 1528508 - Identifier 1528480 1528500 - Identifier 1528501 1528507 - Identifier 1528509 1528515 - ExclamationEqualsEqualsToken 1528515 1528519 - NumericLiteral 1528519 1528521 - AmpersandAmpersandToken 1528521 1528524 - CallExpression 1528524 1528557 - Identifier 1528524 1528549 - Identifier 1528550 1528556 - Block 1528559 1528603 - ReturnStatement 1528561 1528592 - Identifier 1528581 1528591 - IfStatement 1528603 1529062 - CallExpression 1528761 1528780 - Identifier 1528761 1528772 - Identifier 1528773 1528779 - Block 1528781 1529062 - VariableStatement 1528783 1528889 - VariableDeclarationList 1528783 1528888 - VariableDeclaration 1528802 1528888 - Identifier 1528802 1528814 - CallExpression 1528816 1528888 - Identifier 1528816 1528839 - ElementAccessExpression 1528840 1528867 - CallExpression 1528840 1528864 - Identifier 1528840 1528856 - Identifier 1528857 1528863 - NumericLiteral 1528865 1528866 - Identifier 1528868 1528875 - Identifier 1528876 1528887 - IfStatement 1528889 1528972 - PrefixUnaryExpression 1528907 1528919 - Identifier 1528908 1528919 - Block 1528920 1528972 - ReturnStatement 1528922 1528957 - Identifier 1528946 1528956 - ReturnStatement 1528972 1529051 - CallExpression 1528992 1529050 - Identifier 1528992 1529008 - Identifier 1529009 1529020 - CallExpression 1529021 1529049 - Identifier 1529021 1529041 - Identifier 1529042 1529048 - IfStatement 1529062 1529735 - CallExpression 1529076 1529095 - Identifier 1529076 1529087 - Identifier 1529088 1529094 - Block 1529096 1529735 - VariableStatement 1529098 1529214 - VariableDeclarationList 1529098 1529213 - VariableDeclaration 1529117 1529213 - Identifier 1529117 1529130 - CallExpression 1529132 1529213 - Identifier 1529132 1529136 - CallExpression 1529137 1529160 - Identifier 1529137 1529152 - Identifier 1529153 1529159 - ArrowFunction 1529161 1529212 - Parameter 1529161 1529163 - Identifier 1529161 1529163 - EqualsGreaterThanToken 1529163 1529166 - CallExpression 1529166 1529212 - Identifier 1529166 1529189 - Identifier 1529190 1529191 - Identifier 1529192 1529199 - Identifier 1529200 1529211 - IfStatement 1529214 1529328 - PrefixUnaryExpression 1529232 1529275 - CallExpression 1529233 1529275 - Identifier 1529233 1529238 - Identifier 1529239 1529251 - ArrowFunction 1529252 1529274 - Parameter 1529254 1529255 - Identifier 1529254 1529255 - TypePredicate 1529257 1529267 - Identifier 1529257 1529259 - TypeReference 1529262 1529267 - Identifier 1529262 1529267 - EqualsGreaterThanToken 1529267 1529270 - PrefixUnaryExpression 1529270 1529274 - PrefixUnaryExpression 1529272 1529274 - Identifier 1529273 1529274 - Block 1529276 1529328 - ReturnStatement 1529278 1529313 - Identifier 1529302 1529312 - VariableStatement 1529328 1529593 - VariableDeclarationList 1529328 1529592 - VariableDeclaration 1529347 1529592 - Identifier 1529347 1529360 - ConditionalExpression 1529362 1529592 - BinaryExpression 1529362 1529431 - CallExpression 1529362 1529393 - Identifier 1529362 1529385 - Identifier 1529386 1529392 - AmpersandToken 1529393 1529395 - PropertyAccessExpression 1529395 1529431 - Identifier 1529395 1529415 - Identifier 1529416 1529431 - QuestionToken 1529431 1529433 - CallExpression 1529433 1529546 - Identifier 1529433 1529458 - PropertyAccessExpression 1529459 1529485 - PropertyAccessExpression 1529459 1529472 - Identifier 1529459 1529465 - Identifier 1529466 1529472 - Identifier 1529473 1529485 - ArrowFunction 1529486 1529545 - Parameter 1529486 1529488 - Identifier 1529486 1529488 - EqualsGreaterThanToken 1529488 1529491 - ConditionalExpression 1529491 1529545 - BinaryExpression 1529491 1529517 - Identifier 1529491 1529493 - AmpersandToken 1529493 1529495 - PropertyAccessExpression 1529495 1529517 - Identifier 1529495 1529508 - Identifier 1529509 1529517 - QuestionToken 1529517 1529519 - PropertyAccessExpression 1529519 1529541 - Identifier 1529519 1529532 - Identifier 1529533 1529541 - ColonToken 1529541 1529543 - Identifier 1529543 1529545 - ColonToken 1529546 1529548 - PropertyAccessExpression 1529548 1529592 - PropertyAccessExpression 1529548 1529579 - Identifier 1529548 1529572 - Identifier 1529573 1529579 - Identifier 1529580 1529592 - ReturnStatement 1529593 1529724 - CallExpression 1529613 1529723 - Identifier 1529613 1529629 - Identifier 1529630 1529642 - Identifier 1529643 1529656 - PropertyAccessExpression 1529657 1529680 - PropertyAccessExpression 1529657 1529671 - Identifier 1529657 1529664 - Identifier 1529665 1529671 - Identifier 1529672 1529680 - PropertyAccessExpression 1529681 1529722 - PropertyAccessExpression 1529681 1529695 - Identifier 1529681 1529688 - Identifier 1529689 1529695 - Identifier 1529696 1529722 - VariableStatement 1529735 1530024 - VariableDeclarationList 1529735 1530023 - VariableDeclaration 1529901 1530023 - Identifier 1529901 1529910 - AsExpression 1529912 1530023 - CallExpression 1529912 1530002 - Identifier 1529912 1529929 - BinaryExpression 1529930 1529979 - PropertyAccessExpression 1529930 1529955 - Identifier 1529930 1529941 - Identifier 1529942 1529955 - BarToken 1529955 1529957 - PropertyAccessExpression 1529957 1529979 - Identifier 1529957 1529969 - Identifier 1529970 1529979 - Identifier 1529980 1530001 - TypeReference 1530005 1530023 - Identifier 1530005 1530023 - ExpressionStatement 1530024 1530059 - BinaryExpression 1530024 1530058 - PropertyAccessExpression 1530024 1530049 - Identifier 1530024 1530042 - Identifier 1530043 1530049 - EqualsToken 1530049 1530051 - Identifier 1530051 1530058 - ExpressionStatement 1530059 1530098 - BinaryExpression 1530059 1530097 - PropertyAccessExpression 1530059 1530088 - Identifier 1530059 1530077 - Identifier 1530078 1530088 - EqualsToken 1530088 1530090 - Identifier 1530090 1530097 - ExpressionStatement 1530098 1530145 - BinaryExpression 1530098 1530144 - PropertyAccessExpression 1530098 1530131 - Identifier 1530098 1530116 - Identifier 1530117 1530131 - EqualsToken 1530131 1530133 - Identifier 1530133 1530144 - ReturnStatement 1530145 1530171 - Identifier 1530161 1530170 - FunctionDeclaration 1530178 1530527 - Identifier 1530194 1530223 - Parameter 1530224 1530251 - Identifier 1530224 1530230 - TypeReference 1530231 1530251 - Identifier 1530231 1530251 - TypeReference 1530253 1530258 - Identifier 1530253 1530258 - Block 1530258 1530527 - VariableStatement 1530260 1530307 - VariableDeclarationList 1530260 1530306 - VariableDeclaration 1530275 1530306 - Identifier 1530275 1530281 - CallExpression 1530283 1530306 - Identifier 1530283 1530298 - Identifier 1530299 1530305 - IfStatement 1530307 1530492 - PrefixUnaryExpression 1530321 1530332 - PropertyAccessExpression 1530322 1530332 - Identifier 1530322 1530327 - Identifier 1530328 1530332 - Block 1530333 1530492 - ExpressionStatement 1530335 1530481 - BinaryExpression 1530335 1530480 - PropertyAccessExpression 1530335 1530359 - Identifier 1530335 1530354 - Identifier 1530355 1530359 - EqualsToken 1530359 1530361 - BinaryExpression 1530361 1530480 - CallExpression 1530361 1530465 - Identifier 1530361 1530384 - PropertyAccessExpression 1530385 1530410 - PropertyAccessExpression 1530385 1530397 - Identifier 1530385 1530391 - Identifier 1530392 1530397 - Identifier 1530398 1530410 - PropertyAccessExpression 1530411 1530435 - PropertyAccessExpression 1530411 1530424 - Identifier 1530411 1530418 - Identifier 1530419 1530424 - Identifier 1530425 1530435 - PropertyAccessExpression 1530436 1530464 - PropertyAccessExpression 1530436 1530449 - Identifier 1530436 1530443 - Identifier 1530444 1530449 - Identifier 1530450 1530464 - BarBarToken 1530465 1530468 - Identifier 1530468 1530480 - ReturnStatement 1530492 1530520 - PropertyAccessExpression 1530508 1530519 - Identifier 1530508 1530514 - Identifier 1530515 1530519 - FunctionDeclaration 1530527 1531031 - Identifier 1530543 1530572 - Parameter 1530573 1530589 - Identifier 1530573 1530583 - TypeReference 1530584 1530589 - Identifier 1530584 1530589 - Parameter 1530590 1530609 - Identifier 1530590 1530597 - TypeReference 1530598 1530609 - Identifier 1530598 1530609 - Parameter 1530610 1530632 - Identifier 1530610 1530621 - TypeReference 1530622 1530632 - Identifier 1530622 1530632 - TypeReference 1530634 1530639 - Identifier 1530634 1530639 - Block 1530639 1531031 - VariableStatement 1530641 1530768 - VariableDeclarationList 1530641 1530767 - VariableDeclaration 1530656 1530767 - Identifier 1530656 1530670 - AsExpression 1530672 1530767 - CallExpression 1530672 1530750 - Identifier 1530672 1530693 - PropertyAccessExpression 1530694 1530709 - Identifier 1530694 1530704 - Identifier 1530705 1530709 - CallExpression 1530710 1530749 - Identifier 1530710 1530741 - Identifier 1530742 1530748 - TypeReference 1530753 1530767 - Identifier 1530753 1530767 - VariableStatement 1530768 1530837 - VariableDeclarationList 1530768 1530836 - VariableDeclaration 1530783 1530836 - Identifier 1530783 1530796 - CallExpression 1530798 1530836 - Identifier 1530798 1530828 - Identifier 1530829 1530835 - VariableStatement 1530837 1530900 - VariableDeclarationList 1530837 1530899 - VariableDeclaration 1530852 1530899 - Identifier 1530852 1530862 - CallExpression 1530864 1530899 - Identifier 1530864 1530884 - Identifier 1530885 1530898 - ExpressionStatement 1530900 1530960 - CallExpression 1530900 1530959 - Identifier 1530900 1530920 - ArrayLiteralExpression 1530921 1530932 - Identifier 1530922 1530931 - Identifier 1530933 1530944 - Identifier 1530945 1530958 - ReturnStatement 1530960 1531024 - BinaryExpression 1530976 1531023 - CallExpression 1530976 1531008 - Identifier 1530976 1530997 - Identifier 1530998 1531007 - BarBarToken 1531008 1531011 - Identifier 1531011 1531023 - FunctionDeclaration 1531031 1532193 - Identifier 1531047 1531070 - Parameter 1531071 1531083 - Identifier 1531071 1531077 - TypeReference 1531078 1531083 - Identifier 1531078 1531083 - Parameter 1531084 1531103 - Identifier 1531084 1531091 - TypeReference 1531092 1531103 - Identifier 1531092 1531103 - Parameter 1531104 1531126 - Identifier 1531104 1531115 - TypeReference 1531116 1531126 - Identifier 1531116 1531126 - UnionType 1531128 1531145 - TypeReference 1531128 1531133 - Identifier 1531128 1531133 - UndefinedKeyword 1531135 1531145 - Block 1531145 1532193 - VariableStatement 1531147 1531224 - VariableDeclarationList 1531147 1531223 - VariableDeclaration 1531162 1531223 - Identifier 1531162 1531171 - BinaryExpression 1531173 1531223 - BinaryExpression 1531173 1531207 - BinaryExpression 1531173 1531201 - BinaryExpression 1531173 1531189 - PropertyAccessExpression 1531173 1531183 - Identifier 1531173 1531180 - Identifier 1531181 1531183 - PlusToken 1531183 1531185 - StringLiteral 1531185 1531189 - PlusToken 1531189 1531191 - PropertyAccessExpression 1531191 1531201 - Identifier 1531191 1531198 - Identifier 1531199 1531201 - PlusToken 1531201 1531203 - StringLiteral 1531203 1531207 - PlusToken 1531207 1531209 - PropertyAccessExpression 1531209 1531223 - Identifier 1531209 1531220 - Identifier 1531221 1531223 - IfStatement 1531224 1531353 - CallExpression 1531238 1531270 - PropertyAccessExpression 1531238 1531260 - Identifier 1531238 1531256 - Identifier 1531257 1531260 - Identifier 1531261 1531269 - Block 1531271 1531353 - ReturnStatement 1531273 1531342 - BinaryExpression 1531293 1531341 - CallExpression 1531293 1531326 - PropertyAccessExpression 1531293 1531316 - Identifier 1531293 1531312 - Identifier 1531313 1531316 - Identifier 1531317 1531325 - BarBarToken 1531326 1531329 - Identifier 1531329 1531341 - ExpressionStatement 1531353 1531401 - CallExpression 1531353 1531400 - PropertyAccessExpression 1531353 1531392 - Identifier 1531353 1531387 - Identifier 1531388 1531392 - Identifier 1531393 1531399 - ExpressionStatement 1531401 1531449 - CallExpression 1531401 1531448 - PropertyAccessExpression 1531401 1531440 - Identifier 1531401 1531435 - Identifier 1531436 1531440 - Identifier 1531441 1531447 - VariableStatement 1531449 1531508 - VariableDeclarationList 1531449 1531507 - VariableDeclaration 1531464 1531507 - Identifier 1531464 1531483 - Identifier 1531485 1531507 - IfStatement 1531508 1531659 - CallExpression 1531522 1531610 - Identifier 1531522 1531540 - Identifier 1531541 1531547 - Identifier 1531548 1531573 - PropertyAccessExpression 1531574 1531606 - Identifier 1531574 1531599 - Identifier 1531600 1531606 - NumericLiteral 1531607 1531609 - ExpressionStatement 1531611 1531659 - BinaryExpression 1531611 1531658 - Identifier 1531611 1531633 - BarEqualsToken 1531633 1531636 - PropertyAccessExpression 1531636 1531658 - Identifier 1531636 1531651 - Identifier 1531652 1531658 - IfStatement 1531659 1531810 - CallExpression 1531673 1531761 - Identifier 1531673 1531691 - Identifier 1531692 1531698 - Identifier 1531699 1531724 - PropertyAccessExpression 1531725 1531757 - Identifier 1531725 1531750 - Identifier 1531751 1531757 - NumericLiteral 1531758 1531760 - ExpressionStatement 1531762 1531810 - BinaryExpression 1531762 1531809 - Identifier 1531762 1531784 - BarEqualsToken 1531784 1531787 - PropertyAccessExpression 1531787 1531809 - Identifier 1531787 1531802 - Identifier 1531803 1531809 - VariableStatement 1531810 1531829 - VariableDeclarationList 1531810 1531828 - VariableDeclaration 1531823 1531828 - Identifier 1531823 1531828 - IfStatement 1531829 1531980 - BinaryExpression 1531843 1531888 - Identifier 1531843 1531864 - ExclamationEqualsEqualsToken 1531864 1531868 - PropertyAccessExpression 1531868 1531888 - Identifier 1531868 1531883 - Identifier 1531884 1531888 - Block 1531889 1531980 - ExpressionStatement 1531891 1531969 - BinaryExpression 1531891 1531968 - Identifier 1531891 1531909 - EqualsToken 1531909 1531911 - CallExpression 1531911 1531968 - Identifier 1531911 1531940 - Identifier 1531941 1531947 - Identifier 1531948 1531955 - Identifier 1531956 1531967 - ExpressionStatement 1531980 1532021 - CallExpression 1531980 1532020 - PropertyAccessExpression 1531980 1532018 - Identifier 1531980 1532014 - Identifier 1532015 1532018 - ExpressionStatement 1532021 1532062 - CallExpression 1532021 1532061 - PropertyAccessExpression 1532021 1532059 - Identifier 1532021 1532055 - Identifier 1532056 1532059 - ExpressionStatement 1532062 1532115 - BinaryExpression 1532062 1532114 - Identifier 1532062 1532093 - EqualsToken 1532093 1532095 - Identifier 1532095 1532114 - ExpressionStatement 1532115 1532164 - CallExpression 1532115 1532163 - PropertyAccessExpression 1532115 1532147 - Identifier 1532115 1532143 - Identifier 1532144 1532147 - Identifier 1532148 1532156 - Identifier 1532157 1532162 - ReturnStatement 1532164 1532186 - Identifier 1532180 1532185 - FunctionDeclaration 1532193 1533620 - AsteriskToken 1532209 1532210 - Identifier 1532210 1532233 - Parameter 1532234 1532246 - Identifier 1532234 1532240 - TypeReference 1532241 1532246 - Identifier 1532241 1532246 - Parameter 1532247 1532260 - Identifier 1532247 1532254 - TypeReference 1532255 1532260 - Identifier 1532255 1532260 - Parameter 1532261 1532296 - Identifier 1532261 1532287 - BooleanKeyword 1532288 1532296 - Parameter 1532297 1532334 - Identifier 1532297 1532325 - BooleanKeyword 1532326 1532334 - TypeReference 1532336 1532361 - Identifier 1532336 1532353 - TypeReference 1532354 1532360 - Identifier 1532354 1532360 - Block 1532361 1533620 - VariableStatement 1532363 1532420 - VariableDeclarationList 1532363 1532419 - VariableDeclaration 1532378 1532419 - Identifier 1532378 1532389 - CallExpression 1532391 1532419 - Identifier 1532391 1532411 - Identifier 1532412 1532418 - ForOfStatement 1532420 1533613 - VariableDeclarationList 1532435 1532451 - VariableDeclaration 1532440 1532451 - Identifier 1532440 1532451 - Identifier 1532454 1532465 - Block 1532466 1533613 - IfStatement 1532468 1532732 - CallExpression 1532642 1532687 - Identifier 1532642 1532675 - Identifier 1532676 1532686 - Block 1532688 1532732 - ContinueStatement 1532690 1532717 - IfStatement 1532732 1533602 - BinaryExpression 1532750 1532871 - Identifier 1532750 1532775 - BarBarToken 1532775 1532778 - PrefixUnaryExpression 1532778 1532871 - ParenthesizedExpression 1532780 1532871 - BinaryExpression 1532781 1532870 - BinaryExpression 1532781 1532820 - PropertyAccessExpression 1532781 1532797 - Identifier 1532781 1532791 - Identifier 1532792 1532797 - AmpersandToken 1532797 1532799 - PropertyAccessExpression 1532799 1532820 - Identifier 1532799 1532811 - Identifier 1532812 1532820 - BarBarToken 1532820 1532823 - BinaryExpression 1532823 1532870 - CallExpression 1532823 1532849 - Identifier 1532823 1532837 - Identifier 1532838 1532848 - AmpersandToken 1532849 1532851 - PropertyAccessExpression 1532851 1532870 - Identifier 1532851 1532862 - Identifier 1532863 1532870 - Block 1532872 1533602 - VariableStatement 1532874 1532961 - VariableDeclarationList 1532874 1532960 - VariableDeclaration 1532897 1532960 - Identifier 1532897 1532908 - CallExpression 1532910 1532960 - Identifier 1532910 1532928 - Identifier 1532929 1532935 - PropertyAccessExpression 1532936 1532959 - Identifier 1532936 1532947 - Identifier 1532948 1532959 - IfStatement 1532961 1533587 - PrefixUnaryExpression 1532983 1532994 - Identifier 1532984 1532994 - Block 1532995 1533055 - ExpressionStatement 1532997 1533036 - YieldExpression 1532997 1533035 - Identifier 1533024 1533035 - IfStatement 1533077 1533587 - Identifier 1533082 1533109 - Block 1533110 1533587 - VariableStatement 1533112 1533181 - VariableDeclarationList 1533112 1533180 - VariableDeclaration 1533139 1533180 - Identifier 1533139 1533150 - CallExpression 1533152 1533180 - Identifier 1533152 1533168 - Identifier 1533169 1533179 - IfStatement 1533181 1533568 - BinaryExpression 1533207 1533240 - PropertyAccessExpression 1533207 1533223 - Identifier 1533207 1533217 - Identifier 1533218 1533223 - AmpersandToken 1533223 1533225 - PropertyAccessExpression 1533225 1533240 - Identifier 1533225 1533235 - Identifier 1533236 1533240 - Block 1533241 1533568 - VariableStatement 1533243 1533316 - VariableDeclarationList 1533243 1533315 - VariableDeclaration 1533274 1533315 - Identifier 1533274 1533285 - CallExpression 1533287 1533315 - Identifier 1533287 1533303 - Identifier 1533304 1533314 - IfStatement 1533316 1533545 - PrefixUnaryExpression 1533346 1533468 - ParenthesizedExpression 1533347 1533468 - BinaryExpression 1533348 1533467 - BinaryExpression 1533348 1533380 - PropertyAccessExpression 1533348 1533364 - Identifier 1533348 1533358 - Identifier 1533359 1533364 - AmpersandToken 1533364 1533366 - PropertyAccessExpression 1533366 1533380 - Identifier 1533366 1533376 - Identifier 1533377 1533380 - BarBarToken 1533380 1533383 - BinaryExpression 1533383 1533467 - CallExpression 1533383 1533423 - Identifier 1533383 1533411 - Identifier 1533412 1533422 - EqualsEqualsEqualsToken 1533423 1533427 - CallExpression 1533427 1533467 - Identifier 1533427 1533455 - Identifier 1533456 1533466 - Block 1533469 1533545 - ExpressionStatement 1533471 1533518 - YieldExpression 1533471 1533517 - Identifier 1533506 1533517 - FunctionDeclaration 1533620 1533926 - Identifier 1533636 1533657 - Parameter 1533658 1533670 - Identifier 1533658 1533664 - TypeReference 1533665 1533670 - Identifier 1533665 1533670 - Parameter 1533671 1533684 - Identifier 1533671 1533678 - TypeReference 1533679 1533684 - Identifier 1533679 1533684 - Parameter 1533685 1533720 - Identifier 1533685 1533711 - BooleanKeyword 1533712 1533720 - Parameter 1533721 1533758 - Identifier 1533721 1533749 - BooleanKeyword 1533750 1533758 - UnionType 1533760 1533779 - TypeReference 1533760 1533767 - Identifier 1533760 1533767 - UndefinedKeyword 1533769 1533779 - Block 1533779 1533926 - ReturnStatement 1533781 1533919 - CallExpression 1533797 1533918 - Identifier 1533797 1533822 - CallExpression 1533823 1533917 - Identifier 1533823 1533845 - Identifier 1533846 1533852 - Identifier 1533853 1533860 - Identifier 1533861 1533887 - Identifier 1533888 1533916 - FunctionDeclaration 1533926 1534351 - Identifier 1533942 1533972 - Parameter 1533973 1533999 - Identifier 1533973 1533979 - TypeReference 1533980 1533999 - Identifier 1533980 1533999 - Parameter 1534000 1534027 - Identifier 1534000 1534007 - TypeReference 1534008 1534027 - Identifier 1534008 1534027 - Block 1534028 1534351 - ReturnStatement 1534030 1534344 - BinaryExpression 1534046 1534343 - BinaryExpression 1534046 1534154 - PrefixUnaryExpression 1534046 1534101 - ParenthesizedExpression 1534048 1534101 - BinaryExpression 1534049 1534100 - PropertyAccessExpression 1534049 1534076 - PropertyAccessExpression 1534049 1534062 - Identifier 1534049 1534055 - Identifier 1534056 1534062 - Identifier 1534063 1534076 - AmpersandToken 1534076 1534078 - PropertyAccessExpression 1534078 1534100 - Identifier 1534078 1534091 - Identifier 1534092 1534100 - AmpersandAmpersandToken 1534101 1534104 - BinaryExpression 1534104 1534154 - PropertyAccessExpression 1534104 1534128 - PropertyAccessExpression 1534104 1534118 - Identifier 1534104 1534111 - Identifier 1534112 1534118 - Identifier 1534119 1534128 - GreaterThanToken 1534128 1534130 - PropertyAccessExpression 1534130 1534154 - PropertyAccessExpression 1534130 1534144 - Identifier 1534130 1534137 - Identifier 1534138 1534144 - Identifier 1534145 1534154 - BarBarToken 1534154 1534157 - BinaryExpression 1534157 1534343 - PrefixUnaryExpression 1534157 1534225 - ParenthesizedExpression 1534172 1534225 - BinaryExpression 1534173 1534224 - PropertyAccessExpression 1534173 1534200 - PropertyAccessExpression 1534173 1534186 - Identifier 1534173 1534179 - Identifier 1534180 1534186 - Identifier 1534187 1534200 - AmpersandToken 1534200 1534202 - PropertyAccessExpression 1534202 1534224 - Identifier 1534202 1534215 - Identifier 1534216 1534224 - AmpersandAmpersandToken 1534225 1534228 - ParenthesizedExpression 1534228 1534343 - BinaryExpression 1534230 1534342 - PrefixUnaryExpression 1534230 1534285 - PrefixUnaryExpression 1534231 1534285 - ParenthesizedExpression 1534232 1534285 - BinaryExpression 1534233 1534284 - PropertyAccessExpression 1534233 1534260 - PropertyAccessExpression 1534233 1534246 - Identifier 1534233 1534239 - Identifier 1534240 1534246 - Identifier 1534247 1534260 - AmpersandToken 1534260 1534262 - PropertyAccessExpression 1534262 1534284 - Identifier 1534262 1534275 - Identifier 1534276 1534284 - BarBarToken 1534285 1534288 - BinaryExpression 1534288 1534342 - PropertyAccessExpression 1534288 1534314 - PropertyAccessExpression 1534288 1534302 - Identifier 1534288 1534295 - Identifier 1534296 1534302 - Identifier 1534303 1534314 - LessThanToken 1534314 1534316 - PropertyAccessExpression 1534316 1534342 - PropertyAccessExpression 1534316 1534330 - Identifier 1534316 1534323 - Identifier 1534324 1534330 - Identifier 1534331 1534342 - FunctionDeclaration 1534351 1534989 - Identifier 1534367 1534392 - Parameter 1534393 1534405 - Identifier 1534393 1534399 - TypeReference 1534400 1534405 - Identifier 1534400 1534405 - Parameter 1534406 1534419 - Identifier 1534406 1534413 - TypeReference 1534414 1534419 - Identifier 1534414 1534419 - Block 1534420 1534989 - ReturnStatement 1534422 1534982 - ConditionalExpression 1534630 1534981 - BinaryExpression 1534630 1534673 - CallExpression 1534630 1534650 - Identifier 1534630 1534642 - Identifier 1534643 1534649 - AmpersandAmpersandToken 1534650 1534653 - CallExpression 1534653 1534673 - Identifier 1534653 1534665 - Identifier 1534666 1534672 - QuestionToken 1534673 1534675 - CallExpression 1534675 1534721 - Identifier 1534675 1534705 - Identifier 1534706 1534712 - Identifier 1534713 1534720 - ColonToken 1534721 1534723 - BinaryExpression 1534723 1534981 - PrefixUnaryExpression 1534723 1534850 - PrefixUnaryExpression 1534738 1534850 - CallExpression 1534739 1534850 - Identifier 1534739 1534759 - Identifier 1534760 1534766 - Identifier 1534767 1534774 - FalseKeyword 1534775 1534811 - TrueKeyword 1534812 1534849 - AmpersandAmpersandToken 1534850 1534853 - PrefixUnaryExpression 1534853 1534981 - PrefixUnaryExpression 1534868 1534981 - CallExpression 1534869 1534981 - Identifier 1534869 1534889 - Identifier 1534890 1534896 - Identifier 1534897 1534904 - FalseKeyword 1534905 1534941 - FalseKeyword 1534942 1534980 - FunctionDeclaration 1534989 1535277 - Identifier 1535005 1535026 - Parameter 1535027 1535051 - Identifier 1535027 1535036 - TypeReference 1535037 1535051 - Identifier 1535037 1535051 - Block 1535052 1535277 - ReturnStatement 1535054 1535270 - ConditionalExpression 1535070 1535269 - PropertyAccessExpression 1535070 1535091 - Identifier 1535070 1535080 - Identifier 1535081 1535091 - QuestionToken 1535091 1535093 - CallExpression 1535093 1535152 - Identifier 1535093 1535106 - PropertyAccessExpression 1535107 1535127 - Identifier 1535107 1535116 - Identifier 1535117 1535127 - PropertyAccessExpression 1535128 1535151 - Identifier 1535128 1535143 - Identifier 1535144 1535151 - ColonToken 1535152 1535154 - ConditionalExpression 1535154 1535269 - PropertyAccessExpression 1535154 1535194 - Identifier 1535154 1535177 - Identifier 1535178 1535194 - QuestionToken 1535194 1535196 - CallExpression 1535196 1535244 - Identifier 1535196 1535216 - PropertyAccessExpression 1535217 1535243 - Identifier 1535217 1535226 - Identifier 1535227 1535243 - ColonToken 1535244 1535246 - Identifier 1535246 1535269 - FunctionDeclaration 1535277 1535399 - Identifier 1535293 1535320 - Parameter 1535321 1535331 - Identifier 1535321 1535325 - TypeReference 1535326 1535331 - Identifier 1535326 1535331 - Block 1535332 1535399 - ReturnStatement 1535334 1535392 - PrefixUnaryExpression 1535350 1535391 - PrefixUnaryExpression 1535352 1535391 - PropertyAccessExpression 1535353 1535391 - CallExpression 1535353 1535371 - Identifier 1535353 1535365 - Identifier 1535366 1535370 - Identifier 1535372 1535391 - FunctionDeclaration 1535399 1535560 - Identifier 1535415 1535444 - Parameter 1535445 1535455 - Identifier 1535445 1535449 - TypeReference 1535450 1535455 - Identifier 1535450 1535455 - Block 1535456 1535560 - ReturnStatement 1535458 1535553 - PrefixUnaryExpression 1535474 1535552 - PrefixUnaryExpression 1535476 1535552 - ParenthesizedExpression 1535477 1535552 - BinaryExpression 1535478 1535551 - PropertyAccessExpression 1535478 1535489 - Identifier 1535478 1535482 - Identifier 1535483 1535489 - AmpersandAmpersandToken 1535489 1535492 - CallExpression 1535492 1535551 - Identifier 1535492 1535497 - PropertyAccessExpression 1535498 1535522 - PropertyAccessExpression 1535498 1535509 - Identifier 1535498 1535502 - Identifier 1535503 1535509 - Identifier 1535510 1535522 - Identifier 1535523 1535550 - FunctionDeclaration 1535560 1536361 - Identifier 1535576 1535616 - Parameter 1535617 1535644 - Identifier 1535617 1535623 - TypeReference 1535624 1535644 - Identifier 1535624 1535644 - Parameter 1535645 1535673 - Identifier 1535645 1535652 - TypeReference 1535653 1535673 - Identifier 1535653 1535673 - Block 1535674 1536361 - VariableStatement 1535676 1535841 - VariableDeclarationList 1535676 1535840 - VariableDeclaration 1535810 1535840 - Identifier 1535810 1535822 - ElementAccessExpression 1535824 1535840 - PropertyAccessExpression 1535824 1535837 - Identifier 1535824 1535831 - Identifier 1535832 1535837 - NumericLiteral 1535838 1535839 - VariableStatement 1535841 1535887 - VariableDeclarationList 1535841 1535886 - VariableDeclaration 1535856 1535886 - Identifier 1535856 1535868 - ElementAccessExpression 1535870 1535886 - PropertyAccessExpression 1535870 1535883 - Identifier 1535870 1535877 - Identifier 1535878 1535883 - NumericLiteral 1535884 1535885 - VariableStatement 1535887 1535953 - VariableDeclarationList 1535887 1535952 - VariableDeclaration 1535902 1535952 - Identifier 1535902 1535912 - ElementAccessExpression 1535914 1535952 - PropertyAccessExpression 1535914 1535927 - Identifier 1535914 1535921 - Identifier 1535922 1535927 - BinaryExpression 1535928 1535951 - PropertyAccessExpression 1535928 1535947 - PropertyAccessExpression 1535928 1535940 - Identifier 1535928 1535934 - Identifier 1535935 1535940 - Identifier 1535941 1535947 - MinusToken 1535947 1535949 - NumericLiteral 1535949 1535951 - VariableStatement 1535953 1536019 - VariableDeclarationList 1535953 1536018 - VariableDeclaration 1535968 1536018 - Identifier 1535968 1535978 - ElementAccessExpression 1535980 1536018 - PropertyAccessExpression 1535980 1535993 - Identifier 1535980 1535987 - Identifier 1535988 1535993 - BinaryExpression 1535994 1536017 - PropertyAccessExpression 1535994 1536013 - PropertyAccessExpression 1535994 1536006 - Identifier 1535994 1536000 - Identifier 1536001 1536006 - Identifier 1536007 1536013 - MinusToken 1536013 1536015 - NumericLiteral 1536015 1536017 - VariableStatement 1536019 1536095 - VariableDeclarationList 1536019 1536094 - VariableDeclaration 1536034 1536094 - Identifier 1536034 1536043 - CallExpression 1536045 1536094 - PropertyAccessExpression 1536045 1536054 - Identifier 1536045 1536050 - Identifier 1536051 1536054 - PropertyAccessExpression 1536055 1536073 - Identifier 1536055 1536066 - Identifier 1536067 1536073 - PropertyAccessExpression 1536074 1536093 - Identifier 1536074 1536086 - Identifier 1536087 1536093 - VariableStatement 1536095 1536165 - VariableDeclarationList 1536095 1536164 - VariableDeclaration 1536110 1536164 - Identifier 1536110 1536117 - CallExpression 1536119 1536164 - PropertyAccessExpression 1536119 1536128 - Identifier 1536119 1536124 - Identifier 1536125 1536128 - PropertyAccessExpression 1536129 1536145 - Identifier 1536129 1536138 - Identifier 1536139 1536145 - PropertyAccessExpression 1536146 1536163 - Identifier 1536146 1536156 - Identifier 1536157 1536163 - ReturnStatement 1536165 1536354 - BinaryExpression 1536181 1536353 - BinaryExpression 1536181 1536247 - CallExpression 1536181 1536212 - PropertyAccessExpression 1536181 1536199 - Identifier 1536181 1536193 - Identifier 1536194 1536199 - NumericLiteral 1536200 1536201 - Identifier 1536202 1536211 - ExclamationEqualsEqualsToken 1536212 1536216 - CallExpression 1536216 1536247 - PropertyAccessExpression 1536216 1536234 - Identifier 1536216 1536228 - Identifier 1536229 1536234 - NumericLiteral 1536235 1536236 - Identifier 1536237 1536246 - BarBarToken 1536247 1536250 - BinaryExpression 1536250 1536353 - CallExpression 1536250 1536306 - PropertyAccessExpression 1536250 1536279 - Identifier 1536250 1536273 - Identifier 1536274 1536279 - BinaryExpression 1536280 1536305 - PropertyAccessExpression 1536280 1536296 - Identifier 1536280 1536289 - Identifier 1536290 1536296 - MinusToken 1536296 1536298 - Identifier 1536298 1536305 - ExclamationEqualsEqualsToken 1536306 1536310 - CallExpression 1536310 1536353 - PropertyAccessExpression 1536310 1536326 - Identifier 1536310 1536320 - Identifier 1536321 1536326 - BinaryExpression 1536327 1536352 - PropertyAccessExpression 1536327 1536343 - Identifier 1536327 1536336 - Identifier 1536337 1536343 - MinusToken 1536343 1536345 - Identifier 1536345 1536352 - FunctionDeclaration 1536361 1536810 - Identifier 1536612 1536632 - Parameter 1536633 1536642 - Identifier 1536633 1536634 - StringKeyword 1536635 1536642 - Parameter 1536643 1536666 - Identifier 1536643 1536657 - BooleanKeyword 1536658 1536666 - BooleanKeyword 1536668 1536676 - Block 1536676 1536810 - IfStatement 1536678 1536715 - BinaryExpression 1536692 1536700 - Identifier 1536692 1536693 - EqualsEqualsEqualsToken 1536693 1536697 - StringLiteral 1536697 1536700 - ReturnStatement 1536701 1536715 - FalseKeyword 1536708 1536714 - VariableStatement 1536715 1536738 - VariableDeclarationList 1536715 1536737 - VariableDeclaration 1536730 1536737 - Identifier 1536730 1536732 - PrefixUnaryExpression 1536734 1536737 - Identifier 1536736 1536737 - ReturnStatement 1536738 1536803 - BinaryExpression 1536754 1536802 - CallExpression 1536754 1536766 - Identifier 1536754 1536763 - Identifier 1536764 1536765 - AmpersandAmpersandToken 1536766 1536769 - ParenthesizedExpression 1536769 1536802 - BinaryExpression 1536771 1536801 - PrefixUnaryExpression 1536771 1536785 - Identifier 1536772 1536785 - BarBarToken 1536785 1536788 - BinaryExpression 1536788 1536801 - BinaryExpression 1536788 1536795 - StringLiteral 1536788 1536791 - PlusToken 1536791 1536793 - Identifier 1536793 1536795 - EqualsEqualsEqualsToken 1536795 1536799 - Identifier 1536799 1536801 - FunctionDeclaration 1536810 1537134 - Identifier 1537026 1537049 - Parameter 1537050 1537062 - Identifier 1537050 1537054 - StringKeyword 1537055 1537062 - Block 1537063 1537134 - ReturnStatement 1537065 1537127 - CallExpression 1537081 1537126 - Identifier 1537081 1537102 - CallExpression 1537103 1537125 - Identifier 1537103 1537119 - Identifier 1537120 1537124 - FunctionDeclaration 1537134 1538449 - Identifier 1537150 1537174 - Parameter 1537175 1537187 - Identifier 1537175 1537181 - TypeReference 1537182 1537187 - Identifier 1537182 1537187 - Parameter 1537188 1537201 - Identifier 1537188 1537195 - TypeReference 1537196 1537201 - Identifier 1537196 1537201 - BooleanKeyword 1537203 1537211 - Block 1537211 1538449 - IfStatement 1537213 1537295 - BinaryExpression 1537227 1537255 - PropertyAccessExpression 1537227 1537239 - Identifier 1537227 1537233 - Identifier 1537234 1537239 - AmpersandToken 1537239 1537241 - PropertyAccessExpression 1537241 1537255 - Identifier 1537241 1537251 - Identifier 1537252 1537255 - Block 1537256 1537295 - ReturnStatement 1537258 1537284 - TrueKeyword 1537278 1537283 - IfStatement 1537295 1537440 - BinaryExpression 1537309 1537370 - PropertyAccessExpression 1537309 1537321 - Identifier 1537309 1537315 - Identifier 1537316 1537321 - AmpersandToken 1537321 1537323 - ParenthesizedExpression 1537323 1537370 - BinaryExpression 1537325 1537369 - PropertyAccessExpression 1537325 1537341 - Identifier 1537325 1537334 - Identifier 1537335 1537341 - BarToken 1537341 1537343 - PropertyAccessExpression 1537343 1537369 - Identifier 1537343 1537353 - Identifier 1537354 1537369 - Block 1537371 1537440 - ReturnStatement 1537373 1537429 - CallExpression 1537393 1537428 - Identifier 1537393 1537412 - Identifier 1537413 1537419 - Identifier 1537420 1537427 - IfStatement 1537440 1538419 - BinaryExpression 1537454 1537492 - PropertyAccessExpression 1537454 1537466 - Identifier 1537454 1537460 - Identifier 1537461 1537466 - AmpersandToken 1537466 1537468 - PropertyAccessExpression 1537468 1537492 - Identifier 1537468 1537478 - Identifier 1537479 1537492 - Block 1537493 1538419 - VariableStatement 1537495 1538007 - VariableDeclarationList 1537495 1538006 - VariableDeclaration 1537988 1538006 - Identifier 1537988 1538001 - ArrayLiteralExpression 1538003 1538006 - WhileStatement 1538007 1538200 - BinaryExpression 1538028 1538066 - PropertyAccessExpression 1538028 1538040 - Identifier 1538028 1538034 - Identifier 1538035 1538040 - AmpersandToken 1538040 1538042 - PropertyAccessExpression 1538042 1538066 - Identifier 1538042 1538052 - Identifier 1538053 1538066 - Block 1538067 1538200 - ExpressionStatement 1538069 1538123 - CallExpression 1538069 1538122 - PropertyAccessExpression 1538069 1538107 - Identifier 1538069 1538099 - Identifier 1538100 1538107 - PropertyAccessExpression 1538108 1538121 - Identifier 1538108 1538114 - Identifier 1538115 1538121 - ExpressionStatement 1538123 1538185 - BinaryExpression 1538123 1538184 - Identifier 1538123 1538147 - EqualsToken 1538147 1538149 - PropertyAccessExpression 1538149 1538184 - ParenthesizedExpression 1538149 1538179 - AsExpression 1538151 1538178 - Identifier 1538151 1538157 - TypeReference 1538160 1538178 - Identifier 1538160 1538178 - Identifier 1538180 1538184 - VariableStatement 1538200 1538320 - VariableDeclarationList 1538200 1538319 - VariableDeclaration 1538219 1538319 - Identifier 1538219 1538232 - CallExpression 1538234 1538319 - Identifier 1538234 1538245 - Identifier 1538246 1538258 - ArrowFunction 1538259 1538310 - Parameter 1538261 1538265 - Identifier 1538261 1538265 - Parameter 1538266 1538272 - Identifier 1538266 1538272 - EqualsGreaterThanToken 1538273 1538276 - CallExpression 1538276 1538310 - Identifier 1538276 1538297 - Identifier 1538298 1538303 - Identifier 1538304 1538309 - Identifier 1538311 1538318 - ReturnStatement 1538320 1538408 - BinaryExpression 1538340 1538407 - BinaryExpression 1538340 1538364 - Identifier 1538340 1538353 - EqualsEqualsEqualsToken 1538353 1538357 - Identifier 1538357 1538364 - AmpersandAmpersandToken 1538364 1538367 - CallExpression 1538367 1538407 - Identifier 1538367 1538391 - Identifier 1538392 1538398 - Identifier 1538399 1538406 - ReturnStatement 1538419 1538442 - FalseKeyword 1538435 1538441 - FunctionDeclaration 1538449 1539923 - Identifier 1538465 1538506 - Parameter 1538507 1538519 - Identifier 1538507 1538513 - TypeReference 1538514 1538519 - Identifier 1538514 1538519 - Parameter 1538520 1538533 - Identifier 1538520 1538527 - TypeReference 1538528 1538533 - Identifier 1538528 1538533 - BooleanKeyword 1538535 1538543 - Block 1538543 1539923 - IfStatement 1538545 1538761 - BinaryExpression 1538559 1538596 - PropertyAccessExpression 1538559 1538571 - Identifier 1538559 1538565 - Identifier 1538566 1538571 - AmpersandToken 1538571 1538573 - PropertyAccessExpression 1538573 1538596 - Identifier 1538573 1538583 - Identifier 1538584 1538596 - Block 1538597 1538761 - ReturnStatement 1538599 1538750 - CallExpression 1538619 1538749 - Identifier 1538619 1538625 - PropertyAccessExpression 1538626 1538660 - ParenthesizedExpression 1538626 1538654 - AsExpression 1538627 1538653 - Identifier 1538627 1538633 - TypeReference 1538636 1538653 - Identifier 1538636 1538653 - Identifier 1538655 1538660 - ArrowFunction 1538661 1538748 - Parameter 1538661 1538663 - Identifier 1538661 1538663 - EqualsGreaterThanToken 1538663 1538666 - BinaryExpression 1538666 1538748 - BinaryExpression 1538666 1538693 - Identifier 1538666 1538668 - EqualsEqualsEqualsToken 1538668 1538672 - Identifier 1538672 1538693 - BarBarToken 1538693 1538696 - CallExpression 1538696 1538748 - Identifier 1538696 1538737 - Identifier 1538738 1538744 - Identifier 1538745 1538747 - IfStatement 1538761 1538884 - BinaryExpression 1538775 1538844 - BinaryExpression 1538775 1538806 - PropertyAccessExpression 1538775 1538787 - Identifier 1538775 1538781 - Identifier 1538782 1538787 - AmpersandToken 1538787 1538789 - PropertyAccessExpression 1538789 1538806 - Identifier 1538789 1538799 - Identifier 1538800 1538806 - BarBarToken 1538806 1538809 - CallExpression 1538809 1538844 - Identifier 1538809 1538828 - Identifier 1538829 1538835 - Identifier 1538836 1538843 - Block 1538845 1538884 - ReturnStatement 1538847 1538873 - TrueKeyword 1538867 1538872 - IfStatement 1538884 1539609 - BinaryExpression 1538898 1538936 - PropertyAccessExpression 1538898 1538910 - Identifier 1538898 1538904 - Identifier 1538905 1538910 - AmpersandToken 1538910 1538912 - PropertyAccessExpression 1538912 1538936 - Identifier 1538912 1538922 - Identifier 1538923 1538936 - Block 1538937 1539609 - VariableStatement 1538939 1539003 - VariableDeclarationList 1538939 1539002 - VariableDeclaration 1538958 1539002 - Identifier 1538958 1538964 - PropertyAccessExpression 1538966 1539002 - ParenthesizedExpression 1538966 1538996 - AsExpression 1538968 1538995 - Identifier 1538968 1538974 - TypeReference 1538977 1538995 - Identifier 1538977 1538995 - Identifier 1538997 1539002 - ReturnStatement 1539003 1539598 - PrefixUnaryExpression 1539023 1539597 - PrefixUnaryExpression 1539025 1539597 - ParenthesizedExpression 1539026 1539597 - BinaryExpression 1539027 1539596 - BinaryExpression 1539027 1539458 - BinaryExpression 1539027 1539356 - BinaryExpression 1539027 1539220 - BinaryExpression 1539027 1539113 - BinaryExpression 1539027 1539058 - PropertyAccessExpression 1539027 1539039 - Identifier 1539027 1539033 - Identifier 1539034 1539039 - AmpersandToken 1539039 1539041 - PropertyAccessExpression 1539041 1539058 - Identifier 1539041 1539051 - Identifier 1539052 1539058 - AmpersandAmpersandToken 1539058 1539061 - CallExpression 1539061 1539113 - Identifier 1539061 1539081 - Identifier 1539082 1539087 - FalseKeyword 1539088 1539112 - BarBarToken 1539113 1539116 - BinaryExpression 1539116 1539220 - BinaryExpression 1539116 1539165 - PropertyAccessExpression 1539116 1539146 - Identifier 1539116 1539140 - Identifier 1539141 1539146 - AmpersandToken 1539146 1539148 - PropertyAccessExpression 1539148 1539165 - Identifier 1539148 1539158 - Identifier 1539159 1539165 - AmpersandAmpersandToken 1539165 1539168 - CallExpression 1539168 1539220 - Identifier 1539168 1539188 - Identifier 1539189 1539194 - FalseKeyword 1539195 1539219 - BarBarToken 1539220 1539223 - BinaryExpression 1539223 1539356 - BinaryExpression 1539223 1539303 - PropertyAccessExpression 1539223 1539253 - Identifier 1539223 1539247 - Identifier 1539248 1539253 - AmpersandToken 1539253 1539255 - ParenthesizedExpression 1539255 1539303 - BinaryExpression 1539257 1539302 - PropertyAccessExpression 1539257 1539281 - Identifier 1539257 1539266 - Identifier 1539267 1539281 - BarToken 1539281 1539283 - PropertyAccessExpression 1539283 1539302 - Identifier 1539283 1539293 - Identifier 1539294 1539302 - AmpersandAmpersandToken 1539303 1539306 - BinaryExpression 1539306 1539356 - Identifier 1539306 1539312 - EqualsEqualsEqualsToken 1539312 1539316 - PropertyAccessExpression 1539316 1539356 - ParenthesizedExpression 1539316 1539342 - AsExpression 1539318 1539341 - Identifier 1539318 1539324 - TypeReference 1539327 1539341 - Identifier 1539327 1539341 - Identifier 1539343 1539356 - BarBarToken 1539356 1539359 - BinaryExpression 1539359 1539458 - BinaryExpression 1539359 1539415 - PropertyAccessExpression 1539359 1539389 - Identifier 1539359 1539383 - Identifier 1539384 1539389 - AmpersandToken 1539389 1539391 - PropertyAccessExpression 1539391 1539415 - Identifier 1539391 1539401 - Identifier 1539402 1539415 - AmpersandAmpersandToken 1539415 1539418 - CallExpression 1539418 1539458 - Identifier 1539418 1539442 - Identifier 1539443 1539449 - Identifier 1539450 1539457 - BarBarToken 1539458 1539461 - BinaryExpression 1539461 1539596 - BinaryExpression 1539461 1539519 - PropertyAccessExpression 1539461 1539491 - Identifier 1539461 1539485 - Identifier 1539486 1539491 - AmpersandToken 1539491 1539493 - PropertyAccessExpression 1539493 1539519 - Identifier 1539493 1539503 - Identifier 1539504 1539519 - AmpersandAmpersandToken 1539519 1539522 - CallExpression 1539522 1539596 - Identifier 1539522 1539557 - Identifier 1539558 1539564 - AsExpression 1539565 1539595 - Identifier 1539565 1539572 - TypeReference 1539575 1539595 - Identifier 1539575 1539595 - IfStatement 1539609 1539893 - BinaryExpression 1539623 1539663 - PropertyAccessExpression 1539623 1539635 - Identifier 1539623 1539629 - Identifier 1539630 1539635 - AmpersandToken 1539635 1539637 - PropertyAccessExpression 1539637 1539663 - Identifier 1539637 1539647 - Identifier 1539648 1539663 - Block 1539664 1539893 - VariableStatement 1539666 1539732 - VariableDeclarationList 1539666 1539731 - VariableDeclaration 1539685 1539731 - Identifier 1539685 1539691 - PropertyAccessExpression 1539693 1539731 - ParenthesizedExpression 1539693 1539725 - AsExpression 1539695 1539724 - Identifier 1539695 1539701 - TypeReference 1539704 1539724 - Identifier 1539704 1539724 - Identifier 1539726 1539731 - ReturnStatement 1539732 1539882 - BinaryExpression 1539752 1539881 - BinaryExpression 1539752 1539809 - BinaryExpression 1539752 1539790 - BinaryExpression 1539752 1539771 - PropertyAccessExpression 1539752 1539765 - Identifier 1539752 1539758 - Identifier 1539759 1539765 - EqualsEqualsEqualsToken 1539765 1539769 - NumericLiteral 1539769 1539771 - AmpersandAmpersandToken 1539771 1539774 - BinaryExpression 1539774 1539790 - ElementAccessExpression 1539774 1539783 - Identifier 1539774 1539780 - NumericLiteral 1539781 1539782 - EqualsEqualsEqualsToken 1539783 1539787 - StringLiteral 1539787 1539790 - AmpersandAmpersandToken 1539790 1539793 - BinaryExpression 1539793 1539809 - ElementAccessExpression 1539793 1539802 - Identifier 1539793 1539799 - NumericLiteral 1539800 1539801 - EqualsEqualsEqualsToken 1539802 1539806 - StringLiteral 1539806 1539809 - AmpersandAmpersandToken 1539809 1539812 - CallExpression 1539812 1539881 - Identifier 1539812 1539831 - ElementAccessExpression 1539832 1539872 - PropertyAccessExpression 1539832 1539869 - ParenthesizedExpression 1539832 1539863 - AsExpression 1539833 1539862 - Identifier 1539833 1539839 - TypeReference 1539842 1539862 - Identifier 1539842 1539862 - Identifier 1539864 1539869 - NumericLiteral 1539870 1539871 - Identifier 1539873 1539880 - ReturnStatement 1539893 1539916 - FalseKeyword 1539909 1539915 - FunctionDeclaration 1539923 1540730 - Identifier 1539939 1539973 - Parameter 1539974 1539986 - Identifier 1539974 1539980 - TypeReference 1539981 1539986 - Identifier 1539981 1539986 - Parameter 1539987 1540015 - Identifier 1539987 1539994 - TypeReference 1539995 1540015 - Identifier 1539995 1540015 - UnionType 1540017 1540036 - ArrayType 1540017 1540024 - TypeReference 1540017 1540022 - Identifier 1540017 1540022 - UndefinedKeyword 1540026 1540036 - Block 1540036 1540730 - ReturnStatement 1540038 1540723 - ConditionalExpression 1540054 1540722 - BinaryExpression 1540054 1540093 - PropertyAccessExpression 1540054 1540067 - Identifier 1540054 1540061 - Identifier 1540062 1540067 - AmpersandToken 1540067 1540069 - PropertyAccessExpression 1540069 1540093 - Identifier 1540069 1540079 - Identifier 1540080 1540093 - QuestionToken 1540093 1540095 - CallExpression 1540095 1540193 - Identifier 1540095 1540134 - ArrayLiteralExpression 1540135 1540172 - PropertyAccessExpression 1540136 1540171 - ParenthesizedExpression 1540136 1540165 - AsExpression 1540137 1540164 - Identifier 1540137 1540143 - TypeReference 1540146 1540164 - Identifier 1540146 1540164 - Identifier 1540166 1540171 - Identifier 1540173 1540184 - Identifier 1540185 1540192 - ColonToken 1540193 1540195 - ConditionalExpression 1540195 1540722 - BinaryExpression 1540195 1540249 - PropertyAccessExpression 1540195 1540221 - Identifier 1540195 1540215 - Identifier 1540216 1540221 - AmpersandToken 1540221 1540223 - PropertyAccessExpression 1540223 1540249 - Identifier 1540223 1540233 - Identifier 1540234 1540249 - QuestionToken 1540249 1540251 - ConditionalExpression 1540251 1540697 - CallExpression 1540251 1540332 - Identifier 1540251 1540279 - PropertyAccessExpression 1540280 1540317 - ParenthesizedExpression 1540280 1540311 - AsExpression 1540281 1540310 - Identifier 1540281 1540287 - TypeReference 1540290 1540310 - Identifier 1540290 1540310 - Identifier 1540312 1540317 - PropertyAccessExpression 1540318 1540331 - Identifier 1540318 1540325 - Identifier 1540326 1540331 - QuestionToken 1540332 1540334 - CallExpression 1540334 1540553 - Identifier 1540334 1540338 - PropertyAccessExpression 1540339 1540376 - ParenthesizedExpression 1540339 1540370 - AsExpression 1540340 1540369 - Identifier 1540340 1540346 - TypeReference 1540349 1540369 - Identifier 1540349 1540369 - Identifier 1540371 1540376 - ArrowFunction 1540377 1540552 - Parameter 1540379 1540380 - Identifier 1540379 1540380 - Parameter 1540381 1540383 - Identifier 1540381 1540383 - EqualsGreaterThanToken 1540384 1540387 - Block 1540387 1540552 - ReturnStatement 1540389 1540537 - ConditionalExpression 1540413 1540536 - CallExpression 1540413 1540502 - Identifier 1540413 1540432 - CallExpression 1540433 1540459 - Identifier 1540433 1540456 - Identifier 1540457 1540458 - CallExpression 1540460 1540501 - Identifier 1540460 1540484 - ElementAccessExpression 1540485 1540500 - PropertyAccessExpression 1540485 1540497 - Identifier 1540485 1540491 - Identifier 1540492 1540497 - Identifier 1540498 1540499 - QuestionToken 1540502 1540504 - Identifier 1540504 1540506 - ColonToken 1540506 1540508 - CallExpression 1540508 1540536 - Identifier 1540508 1540533 - Identifier 1540534 1540535 - ColonToken 1540553 1540555 - CallExpression 1540555 1540697 - Identifier 1540555 1540611 - PropertyAccessExpression 1540612 1540649 - ParenthesizedExpression 1540612 1540643 - AsExpression 1540613 1540642 - Identifier 1540613 1540619 - TypeReference 1540622 1540642 - Identifier 1540622 1540642 - Identifier 1540644 1540649 - PropertyAccessExpression 1540650 1540688 - ParenthesizedExpression 1540650 1540682 - AsExpression 1540652 1540681 - Identifier 1540652 1540658 - TypeReference 1540661 1540681 - Identifier 1540661 1540681 - Identifier 1540683 1540688 - Identifier 1540689 1540696 - ColonToken 1540697 1540699 - Identifier 1540699 1540722 - FunctionDeclaration 1540730 1541044 - Identifier 1540746 1540781 - Parameter 1540782 1540794 - Identifier 1540782 1540788 - TypeReference 1540789 1540794 - Identifier 1540789 1540794 - Parameter 1540795 1540823 - Identifier 1540795 1540802 - TypeReference 1540803 1540823 - Identifier 1540803 1540823 - BooleanKeyword 1540825 1540833 - Block 1540833 1541044 - VariableStatement 1540835 1540914 - VariableDeclarationList 1540835 1540913 - VariableDeclaration 1540850 1540913 - Identifier 1540850 1540861 - CallExpression 1540863 1540913 - Identifier 1540863 1540897 - Identifier 1540898 1540904 - Identifier 1540905 1540912 - ReturnStatement 1540914 1541037 - BinaryExpression 1540930 1541036 - PrefixUnaryExpression 1540930 1540943 - PrefixUnaryExpression 1540932 1540943 - Identifier 1540933 1540943 - AmpersandAmpersandToken 1540943 1540946 - CallExpression 1540946 1541036 - Identifier 1540946 1540952 - Identifier 1540953 1540963 - ArrowFunction 1540964 1541035 - Parameter 1540966 1540967 - Identifier 1540966 1540967 - Parameter 1540968 1540970 - Identifier 1540968 1540970 - EqualsGreaterThanToken 1540971 1540974 - CallExpression 1540974 1541035 - Identifier 1540974 1541015 - Identifier 1541016 1541017 - ElementAccessExpression 1541018 1541034 - PropertyAccessExpression 1541018 1541031 - Identifier 1541018 1541025 - Identifier 1541026 1541031 - Identifier 1541032 1541033 - FunctionDeclaration 1541044 1541225 - Identifier 1541060 1541085 - Parameter 1541086 1541096 - Identifier 1541086 1541090 - TypeReference 1541091 1541096 - Identifier 1541091 1541096 - Block 1541097 1541225 - ReturnStatement 1541099 1541218 - ConditionalExpression 1541115 1541217 - BinaryExpression 1541115 1541167 - PropertyAccessExpression 1541115 1541126 - Identifier 1541115 1541120 - Identifier 1541121 1541126 - AmpersandToken 1541126 1541128 - ParenthesizedExpression 1541128 1541167 - BinaryExpression 1541130 1541166 - PropertyAccessExpression 1541130 1541143 - Identifier 1541130 1541139 - Identifier 1541140 1541143 - BarToken 1541143 1541145 - PropertyAccessExpression 1541145 1541166 - Identifier 1541145 1541155 - Identifier 1541156 1541166 - QuestionToken 1541167 1541169 - Identifier 1541169 1541174 - ColonToken 1541174 1541176 - CallExpression 1541176 1541217 - Identifier 1541176 1541199 - ArrayLiteralExpression 1541200 1541208 - StringLiteral 1541201 1541203 - StringLiteral 1541204 1541207 - ArrayLiteralExpression 1541209 1541216 - Identifier 1541211 1541215 - FunctionDeclaration 1541225 1545603 - Identifier 1543029 1543068 - Parameter 1543069 1543099 - Identifier 1543069 1543080 - TypeOperator 1543081 1543099 - ArrayType 1543090 1543099 - StringKeyword 1543090 1543097 - Parameter 1543100 1543129 - Identifier 1543100 1543112 - TypeOperator 1543113 1543129 - ArrayType 1543122 1543129 - TypeReference 1543122 1543127 - Identifier 1543122 1543127 - Parameter 1543130 1543158 - Identifier 1543130 1543137 - TypeReference 1543138 1543158 - Identifier 1543138 1543158 - UnionType 1543160 1543179 - ArrayType 1543160 1543167 - TypeReference 1543160 1543165 - Identifier 1543160 1543165 - UndefinedKeyword 1543169 1543179 - Block 1543179 1545603 - VariableStatement 1543181 1543238 - VariableDeclarationList 1543181 1543237 - VariableDeclaration 1543196 1543237 - Identifier 1543196 1543212 - BinaryExpression 1543214 1543237 - PropertyAccessExpression 1543214 1543233 - Identifier 1543214 1543226 - Identifier 1543227 1543233 - MinusToken 1543233 1543235 - NumericLiteral 1543235 1543237 - VariableStatement 1543238 1543287 - VariableDeclarationList 1543238 1543286 - VariableDeclaration 1543253 1543286 - Identifier 1543253 1543269 - ElementAccessExpression 1543271 1543286 - Identifier 1543271 1543283 - NumericLiteral 1543284 1543285 - VariableStatement 1543287 1543348 - VariableDeclarationList 1543287 1543347 - VariableDeclaration 1543302 1543347 - Identifier 1543302 1543316 - ElementAccessExpression 1543318 1543347 - Identifier 1543318 1543330 - Identifier 1543331 1543346 - VariableStatement 1543348 1543391 - VariableDeclarationList 1543348 1543390 - VariableDeclaration 1543363 1543390 - Identifier 1543363 1543375 - PropertyAccessExpression 1543377 1543390 - Identifier 1543377 1543384 - Identifier 1543385 1543390 - VariableStatement 1543391 1543448 - VariableDeclarationList 1543391 1543447 - VariableDeclaration 1543406 1543447 - Identifier 1543406 1543422 - BinaryExpression 1543424 1543447 - PropertyAccessExpression 1543424 1543443 - Identifier 1543424 1543436 - Identifier 1543437 1543443 - MinusToken 1543443 1543445 - NumericLiteral 1543445 1543447 - VariableStatement 1543448 1543497 - VariableDeclarationList 1543448 1543496 - VariableDeclaration 1543463 1543496 - Identifier 1543463 1543479 - ElementAccessExpression 1543481 1543496 - Identifier 1543481 1543493 - NumericLiteral 1543494 1543495 - VariableStatement 1543497 1543558 - VariableDeclarationList 1543497 1543557 - VariableDeclaration 1543512 1543557 - Identifier 1543512 1543526 - ElementAccessExpression 1543528 1543557 - Identifier 1543528 1543540 - Identifier 1543541 1543556 - IfStatement 1543558 1543813 - BinaryExpression 1543572 1543784 - BinaryExpression 1543572 1543742 - BinaryExpression 1543572 1543681 - BinaryExpression 1543572 1543607 - Identifier 1543572 1543601 - EqualsEqualsEqualsToken 1543601 1543605 - NumericLiteral 1543605 1543607 - AmpersandAmpersandToken 1543607 1543610 - BinaryExpression 1543610 1543681 - PropertyAccessExpression 1543610 1543633 - Identifier 1543610 1543626 - Identifier 1543627 1543633 - LessThanToken 1543633 1543635 - BinaryExpression 1543635 1543681 - PropertyAccessExpression 1543635 1543658 - Identifier 1543635 1543651 - Identifier 1543652 1543658 - PlusToken 1543658 1543660 - PropertyAccessExpression 1543660 1543681 - Identifier 1543660 1543674 - Identifier 1543675 1543681 - BarBarToken 1543681 1543684 - PrefixUnaryExpression 1543684 1543742 - CallExpression 1543699 1543742 - PropertyAccessExpression 1543699 1543725 - Identifier 1543699 1543714 - Identifier 1543715 1543725 - Identifier 1543726 1543741 - BarBarToken 1543742 1543745 - PrefixUnaryExpression 1543745 1543784 - CallExpression 1543747 1543784 - PropertyAccessExpression 1543747 1543769 - Identifier 1543747 1543760 - Identifier 1543761 1543769 - Identifier 1543770 1543783 - ReturnStatement 1543795 1543813 - Identifier 1543802 1543812 - VariableStatement 1543813 1543916 - VariableDeclarationList 1543813 1543915 - VariableDeclaration 1543828 1543915 - Identifier 1543828 1543845 - CallExpression 1543847 1543915 - PropertyAccessExpression 1543847 1543867 - Identifier 1543847 1543861 - Identifier 1543862 1543867 - NumericLiteral 1543868 1543869 - BinaryExpression 1543870 1543914 - PropertyAccessExpression 1543870 1543891 - Identifier 1543870 1543884 - Identifier 1543885 1543891 - MinusToken 1543891 1543893 - PropertyAccessExpression 1543893 1543914 - Identifier 1543893 1543907 - Identifier 1543908 1543914 - VariableStatement 1543916 1543953 - VariableDeclarationList 1543916 1543952 - VariableDeclaration 1543931 1543952 - Identifier 1543931 1543939 - ArrayType 1543940 1543947 - TypeReference 1543940 1543945 - Identifier 1543940 1543945 - ArrayLiteralExpression 1543949 1543952 - VariableStatement 1543953 1543975 - VariableDeclarationList 1543953 1543974 - VariableDeclaration 1543966 1543974 - Identifier 1543966 1543970 - NumericLiteral 1543972 1543974 - VariableStatement 1543975 1544018 - VariableDeclarationList 1543975 1544017 - VariableDeclaration 1543988 1544017 - Identifier 1543988 1543992 - PropertyAccessExpression 1543994 1544017 - Identifier 1543994 1544010 - Identifier 1544011 1544017 - ForStatement 1544018 1544867 - VariableDeclarationList 1544033 1544042 - VariableDeclaration 1544036 1544042 - Identifier 1544036 1544038 - NumericLiteral 1544040 1544042 - BinaryExpression 1544043 1544063 - Identifier 1544043 1544045 - LessThanToken 1544045 1544047 - Identifier 1544047 1544063 - PostfixUnaryExpression 1544064 1544068 - Identifier 1544064 1544066 - Block 1544069 1544867 - VariableStatement 1544071 1544114 - VariableDeclarationList 1544071 1544113 - VariableDeclaration 1544090 1544113 - Identifier 1544090 1544096 - ElementAccessExpression 1544098 1544113 - Identifier 1544098 1544110 - Identifier 1544111 1544112 - IfStatement 1544114 1544856 - BinaryExpression 1544132 1544148 - PropertyAccessExpression 1544132 1544144 - Identifier 1544132 1544137 - Identifier 1544138 1544144 - GreaterThanToken 1544144 1544146 - NumericLiteral 1544146 1544148 - Block 1544149 1544572 - VariableStatement 1544151 1544181 - VariableDeclarationList 1544151 1544180 - VariableDeclaration 1544172 1544180 - Identifier 1544172 1544174 - Identifier 1544176 1544180 - VariableStatement 1544181 1544211 - VariableDeclarationList 1544181 1544210 - VariableDeclaration 1544202 1544210 - Identifier 1544202 1544204 - Identifier 1544206 1544210 - WhileStatement 1544211 1544486 - TrueKeyword 1544236 1544240 - Block 1544241 1544486 - ExpressionStatement 1544243 1544304 - BinaryExpression 1544243 1544303 - Identifier 1544243 1544266 - EqualsToken 1544266 1544268 - CallExpression 1544268 1544303 - PropertyAccessExpression 1544268 1544293 - CallExpression 1544268 1544285 - Identifier 1544268 1544282 - Identifier 1544283 1544284 - Identifier 1544286 1544293 - Identifier 1544294 1544299 - Identifier 1544300 1544302 - IfStatement 1544304 1544344 - BinaryExpression 1544330 1544336 - Identifier 1544330 1544331 - GreaterThanEqualsToken 1544331 1544334 - NumericLiteral 1544334 1544336 - BreakStatement 1544337 1544344 - ExpressionStatement 1544344 1544370 - PostfixUnaryExpression 1544344 1544369 - Identifier 1544344 1544367 - IfStatement 1544370 1544439 - BinaryExpression 1544396 1544420 - Identifier 1544396 1544397 - EqualsEqualsEqualsToken 1544397 1544401 - PropertyAccessExpression 1544401 1544420 - Identifier 1544401 1544413 - Identifier 1544414 1544420 - ReturnStatement 1544421 1544439 - Identifier 1544428 1544438 - ExpressionStatement 1544439 1544467 - BinaryExpression 1544439 1544466 - Identifier 1544439 1544462 - EqualsToken 1544462 1544464 - NumericLiteral 1544464 1544466 - ExpressionStatement 1544486 1544519 - CallExpression 1544486 1544518 - Identifier 1544486 1544512 - Identifier 1544513 1544514 - Identifier 1544515 1544517 - ExpressionStatement 1544519 1544557 - BinaryExpression 1544519 1544556 - Identifier 1544519 1544540 - PlusEqualsToken 1544540 1544543 - PropertyAccessExpression 1544543 1544556 - Identifier 1544543 1544549 - Identifier 1544550 1544556 - IfStatement 1544590 1544856 - BinaryExpression 1544595 1544626 - Identifier 1544595 1544598 - LessThanToken 1544598 1544600 - PropertyAccessExpression 1544600 1544626 - CallExpression 1544600 1544619 - Identifier 1544600 1544614 - Identifier 1544615 1544618 - Identifier 1544620 1544626 - Block 1544627 1544685 - ExpressionStatement 1544629 1544670 - CallExpression 1544629 1544669 - Identifier 1544629 1544655 - Identifier 1544656 1544659 - BinaryExpression 1544660 1544668 - Identifier 1544660 1544664 - PlusToken 1544664 1544666 - NumericLiteral 1544666 1544668 - IfStatement 1544703 1544856 - BinaryExpression 1544708 1544729 - Identifier 1544708 1544711 - LessThanToken 1544711 1544713 - Identifier 1544713 1544729 - Block 1544730 1544786 - ExpressionStatement 1544732 1544771 - CallExpression 1544732 1544770 - Identifier 1544732 1544758 - BinaryExpression 1544759 1544766 - Identifier 1544759 1544762 - PlusToken 1544762 1544764 - NumericLiteral 1544764 1544766 - NumericLiteral 1544767 1544769 - Block 1544804 1544856 - ReturnStatement 1544806 1544841 - Identifier 1544830 1544840 - ExpressionStatement 1544867 1544942 - CallExpression 1544867 1544941 - Identifier 1544867 1544885 - Identifier 1544886 1544901 - PropertyAccessExpression 1544902 1544940 - CallExpression 1544902 1544933 - Identifier 1544902 1544916 - Identifier 1544917 1544932 - Identifier 1544934 1544940 - ReturnStatement 1544942 1544967 - Identifier 1544958 1544966 - FunctionDeclaration 1544967 1545112 - Identifier 1544985 1544999 - Parameter 1545000 1545013 - Identifier 1545000 1545005 - NumberKeyword 1545006 1545013 - Block 1545014 1545112 - ReturnStatement 1545016 1545101 - ConditionalExpression 1545036 1545100 - BinaryExpression 1545036 1545060 - Identifier 1545036 1545042 - LessThanToken 1545042 1545044 - Identifier 1545044 1545060 - QuestionToken 1545060 1545062 - ElementAccessExpression 1545062 1545081 - Identifier 1545062 1545074 - Identifier 1545075 1545080 - ColonToken 1545081 1545083 - Identifier 1545083 1545100 - FunctionDeclaration 1545112 1545596 - Identifier 1545130 1545139 - Parameter 1545140 1545149 - Identifier 1545140 1545141 - NumberKeyword 1545142 1545149 - Parameter 1545150 1545160 - Identifier 1545150 1545152 - NumberKeyword 1545153 1545160 - Block 1545161 1545596 - VariableStatement 1545163 1545503 - VariableDeclarationList 1545163 1545502 - VariableDeclaration 1545182 1545502 - Identifier 1545182 1545192 - ConditionalExpression 1545194 1545502 - BinaryExpression 1545194 1545204 - Identifier 1545194 1545196 - EqualsEqualsEqualsToken 1545196 1545200 - Identifier 1545200 1545204 - QuestionToken 1545204 1545206 - CallExpression 1545206 1545276 - Identifier 1545206 1545244 - CallExpression 1545245 1545275 - PropertyAccessExpression 1545245 1545267 - CallExpression 1545245 1545261 - Identifier 1545245 1545258 - Identifier 1545259 1545260 - Identifier 1545262 1545267 - Identifier 1545268 1545271 - Identifier 1545272 1545274 - ColonToken 1545276 1545278 - CallExpression 1545278 1545502 - Identifier 1545278 1545318 - ArrayLiteralExpression 1545319 1545434 - CallExpression 1545342 1545369 - PropertyAccessExpression 1545342 1545364 - ElementAccessExpression 1545342 1545358 - Identifier 1545342 1545353 - Identifier 1545354 1545357 - Identifier 1545359 1545364 - Identifier 1545365 1545368 - SpreadElement 1545370 1545403 - CallExpression 1545374 1545403 - PropertyAccessExpression 1545374 1545391 - Identifier 1545374 1545385 - Identifier 1545386 1545391 - BinaryExpression 1545392 1545399 - Identifier 1545392 1545395 - PlusToken 1545395 1545397 - NumericLiteral 1545397 1545399 - Identifier 1545400 1545402 - CallExpression 1545404 1545433 - PropertyAccessExpression 1545404 1545427 - CallExpression 1545404 1545421 - Identifier 1545404 1545418 - Identifier 1545419 1545420 - Identifier 1545422 1545427 - NumericLiteral 1545428 1545429 - Identifier 1545430 1545432 - CallExpression 1545435 1545482 - PropertyAccessExpression 1545435 1545474 - Identifier 1545435 1545468 - Identifier 1545469 1545474 - Identifier 1545475 1545478 - Identifier 1545479 1545481 - ExpressionStatement 1545503 1545541 - CallExpression 1545503 1545540 - PropertyAccessExpression 1545503 1545529 - Identifier 1545503 1545524 - Identifier 1545525 1545529 - Identifier 1545530 1545539 - ExpressionStatement 1545541 1545563 - BinaryExpression 1545541 1545562 - Identifier 1545541 1545558 - EqualsToken 1545558 1545560 - Identifier 1545560 1545562 - ExpressionStatement 1545563 1545585 - BinaryExpression 1545563 1545584 - Identifier 1545563 1545580 - EqualsToken 1545580 1545582 - Identifier 1545582 1545584 - FunctionDeclaration 1545603 1545971 - Identifier 1545723 1545737 - Parameter 1545738 1545766 - Identifier 1545738 1545751 - TypeReference 1545752 1545766 - Identifier 1545752 1545766 - Parameter 1545767 1545778 - Identifier 1545767 1545772 - TypeReference 1545773 1545778 - Identifier 1545773 1545778 - Block 1545779 1545971 - ReturnStatement 1545781 1545964 - BinaryExpression 1545797 1545963 - BinaryExpression 1545797 1545912 - CallExpression 1545797 1545815 - Identifier 1545797 1545809 - Identifier 1545810 1545814 - AmpersandAmpersandToken 1545815 1545818 - BinaryExpression 1545818 1545912 - CallExpression 1545818 1545847 - Identifier 1545818 1545838 - Identifier 1545839 1545843 - NumericLiteral 1545844 1545846 - EqualsEqualsEqualsToken 1545847 1545851 - CallExpression 1545851 1545912 - Identifier 1545851 1545872 - Identifier 1545873 1545886 - CallExpression 1545887 1545911 - Identifier 1545887 1545908 - NumericLiteral 1545909 1545910 - AmpersandAmpersandToken 1545912 1545915 - PrefixUnaryExpression 1545915 1545963 - CallExpression 1545917 1545963 - Identifier 1545917 1545940 - Identifier 1545941 1545945 - AsExpression 1545946 1545962 - StringLiteral 1545946 1545950 - TypeReference 1545953 1545962 - Identifier 1545953 1545962 - FunctionDeclaration 1545971 1599321 - Identifier 1545987 1545998 - Parameter 1545999 1546026 - Identifier 1545999 1546009 - ArrayType 1546010 1546026 - TypeReference 1546010 1546024 - Identifier 1546010 1546024 - Parameter 1546027 1546048 - Identifier 1546027 1546042 - TypeReference 1546043 1546048 - Identifier 1546043 1546048 - Parameter 1546049 1546070 - Identifier 1546049 1546064 - TypeReference 1546065 1546070 - Identifier 1546065 1546070 - Parameter 1546071 1546105 - Identifier 1546071 1546080 - PropertyAccessExpression 1546082 1546105 - Identifier 1546082 1546100 - Identifier 1546101 1546105 - Parameter 1546106 1546128 - Identifier 1546106 1546120 - FalseKeyword 1546122 1546128 - Block 1546129 1599321 - VariableStatement 1546131 1546163 - VariableDeclarationList 1546131 1546162 - VariableDeclaration 1546144 1546162 - Identifier 1546144 1546154 - FalseKeyword 1546156 1546162 - VariableStatement 1546163 1546199 - VariableDeclarationList 1546163 1546198 - VariableDeclaration 1546176 1546198 - Identifier 1546176 1546192 - TypeReference 1546193 1546198 - Identifier 1546193 1546198 - VariableStatement 1546199 1546268 - VariableDeclarationList 1546199 1546267 - VariableDeclaration 1546212 1546267 - Identifier 1546212 1546230 - NumberKeyword 1546231 1546238 - PropertyAccessExpression 1546240 1546267 - Identifier 1546240 1546258 - Identifier 1546259 1546267 - VariableStatement 1546268 1546311 - VariableDeclarationList 1546268 1546310 - VariableDeclaration 1546281 1546310 - Identifier 1546281 1546289 - TypeReference 1546290 1546310 - Identifier 1546290 1546294 - StringKeyword 1546295 1546301 - NumberKeyword 1546302 1546309 - VariableStatement 1546311 1546345 - VariableDeclarationList 1546311 1546344 - VariableDeclaration 1546324 1546344 - Identifier 1546324 1546336 - ArrayType 1546337 1546344 - TypeReference 1546337 1546342 - Identifier 1546337 1546342 - VariableStatement 1546345 1546379 - VariableDeclarationList 1546345 1546378 - VariableDeclaration 1546358 1546378 - Identifier 1546358 1546370 - ArrayType 1546371 1546378 - TypeReference 1546371 1546376 - Identifier 1546371 1546376 - VariableStatement 1546379 1546430 - VariableDeclarationList 1546379 1546429 - VariableDeclaration 1546392 1546429 - Identifier 1546392 1546407 - PropertyAccessExpression 1546409 1546429 - Identifier 1546409 1546424 - Identifier 1546425 1546429 - ExpressionStatement 1546430 1546487 - CallExpression 1546430 1546486 - Identifier 1546430 1546454 - Identifier 1546455 1546469 - Identifier 1546470 1546485 - FunctionDeclaration 1546487 1562352 - Identifier 1546507 1546522 - Parameter 1546523 1546535 - Identifier 1546523 1546529 - TypeReference 1546530 1546535 - Identifier 1546530 1546535 - Parameter 1546536 1546549 - Identifier 1546536 1546543 - TypeReference 1546544 1546549 - Identifier 1546544 1546549 - VoidKeyword 1546551 1546556 - Block 1546556 1562352 - IfStatement 1546558 1546678 - BinaryExpression 1546576 1546635 - PrefixUnaryExpression 1546576 1546610 - CallExpression 1546577 1546610 - Identifier 1546577 1546602 - Identifier 1546603 1546609 - BarBarToken 1546610 1546613 - CallExpression 1546613 1546635 - Identifier 1546613 1546627 - Identifier 1546628 1546634 - Block 1546636 1546678 - ReturnStatement 1546638 1546663 - IfStatement 1546678 1547325 - BinaryExpression 1546696 1546751 - BinaryExpression 1546696 1546719 - Identifier 1546696 1546702 - EqualsEqualsEqualsToken 1546702 1546706 - Identifier 1546706 1546719 - BarBarToken 1546719 1546722 - BinaryExpression 1546722 1546751 - Identifier 1546722 1546729 - EqualsEqualsEqualsToken 1546729 1546733 - Identifier 1546733 1546751 - Block 1546752 1547325 - VariableStatement 1546754 1547137 - VariableDeclarationList 1546754 1547136 - VariableDeclaration 1547098 1547136 - Identifier 1547098 1547118 - Identifier 1547120 1547136 - ExpressionStatement 1547137 1547180 - BinaryExpression 1547137 1547179 - Identifier 1547137 1547170 - EqualsToken 1547170 1547172 - Identifier 1547172 1547179 - ExpressionStatement 1547180 1547229 - CallExpression 1547180 1547228 - Identifier 1547180 1547212 - Identifier 1547213 1547219 - Identifier 1547220 1547227 - ExpressionStatement 1547229 1547285 - BinaryExpression 1547229 1547284 - Identifier 1547229 1547262 - EqualsToken 1547262 1547264 - Identifier 1547264 1547284 - ReturnStatement 1547285 1547310 - IfStatement 1547325 1548461 - BinaryExpression 1547343 1547406 - PropertyAccessExpression 1547343 1547361 - Identifier 1547343 1547349 - Identifier 1547350 1547361 - AmpersandAmpersandToken 1547361 1547364 - BinaryExpression 1547364 1547406 - PropertyAccessExpression 1547364 1547383 - Identifier 1547364 1547371 - Identifier 1547372 1547383 - EqualsEqualsEqualsToken 1547383 1547387 - PropertyAccessExpression 1547387 1547406 - Identifier 1547387 1547394 - Identifier 1547395 1547406 - Block 1547407 1548461 - IfStatement 1547409 1548294 - PropertyAccessExpression 1547431 1547456 - Identifier 1547431 1547437 - Identifier 1547438 1547456 - Block 1547457 1548294 - VariableStatement 1547459 1547768 - VariableDeclarationList 1547459 1547767 - VariableDeclaration 1547707 1547767 - Identifier 1547707 1547714 - NonNullExpression 1547716 1547767 - PropertyAccessExpression 1547716 1547766 - CallExpression 1547716 1547751 - Identifier 1547716 1547731 - PropertyAccessExpression 1547732 1547750 - Identifier 1547732 1547738 - Identifier 1547739 1547750 - Identifier 1547752 1547766 - VariableStatement 1547768 1547840 - VariableDeclarationList 1547768 1547839 - VariableDeclaration 1547795 1547839 - Identifier 1547795 1547805 - CallExpression 1547807 1547839 - Identifier 1547807 1547831 - Identifier 1547832 1547838 - VariableStatement 1547840 1548002 - VariableDeclarationList 1547840 1548001 - VariableDeclaration 1547867 1548001 - Identifier 1547867 1547879 - CallExpression 1547881 1548001 - Identifier 1547881 1547906 - PropertyAccessExpression 1547907 1547932 - Identifier 1547907 1547913 - Identifier 1547914 1547932 - Identifier 1547933 1547940 - Identifier 1547941 1547951 - CallExpression 1547952 1548000 - Identifier 1547952 1547963 - PropertyAccessExpression 1547964 1547999 - PropertyAccessExpression 1547964 1547982 - Identifier 1547964 1547970 - Identifier 1547971 1547982 - Identifier 1547983 1547999 - VariableStatement 1548002 1548164 - VariableDeclarationList 1548002 1548163 - VariableDeclaration 1548029 1548163 - Identifier 1548029 1548041 - CallExpression 1548043 1548163 - Identifier 1548043 1548068 - PropertyAccessExpression 1548069 1548094 - Identifier 1548069 1548075 - Identifier 1548076 1548094 - Identifier 1548095 1548102 - Identifier 1548103 1548113 - CallExpression 1548114 1548162 - Identifier 1548114 1548125 - PropertyAccessExpression 1548126 1548161 - PropertyAccessExpression 1548126 1548144 - Identifier 1548126 1548132 - Identifier 1548133 1548144 - Identifier 1548145 1548161 - ExpressionStatement 1548164 1548275 - CallExpression 1548164 1548274 - Identifier 1548164 1548208 - Identifier 1548209 1548220 - NonNullExpression 1548221 1548234 - Identifier 1548221 1548233 - CallExpression 1548235 1548273 - Identifier 1548235 1548253 - PropertyAccessExpression 1548254 1548272 - Identifier 1548254 1548260 - Identifier 1548261 1548272 - ReturnStatement 1548294 1548446 - IfStatement 1548461 1548876 - BinaryExpression 1548479 1548544 - BinaryExpression 1548479 1548496 - Identifier 1548479 1548485 - EqualsEqualsEqualsToken 1548485 1548489 - Identifier 1548489 1548496 - AmpersandAmpersandToken 1548496 1548499 - BinaryExpression 1548499 1548544 - PropertyAccessExpression 1548499 1548512 - Identifier 1548499 1548506 - Identifier 1548507 1548512 - AmpersandToken 1548512 1548514 - PropertyAccessExpression 1548514 1548544 - Identifier 1548514 1548524 - Identifier 1548525 1548544 - Block 1548545 1548876 - ForOfStatement 1548547 1548836 - VariableDeclarationList 1548719 1548726 - VariableDeclaration 1548724 1548726 - Identifier 1548724 1548726 - PropertyAccessExpression 1548729 1548771 - ParenthesizedExpression 1548729 1548765 - AsExpression 1548731 1548764 - Identifier 1548731 1548737 - TypeReference 1548740 1548764 - Identifier 1548740 1548764 - Identifier 1548766 1548771 - Block 1548772 1548836 - ExpressionStatement 1548774 1548817 - CallExpression 1548774 1548816 - Identifier 1548774 1548810 - Identifier 1548811 1548812 - Identifier 1548813 1548815 - ReturnStatement 1548836 1548861 - IfStatement 1548876 1551818 - BinaryExpression 1548894 1548924 - PropertyAccessExpression 1548894 1548906 - Identifier 1548894 1548900 - Identifier 1548901 1548906 - AmpersandToken 1548906 1548908 - PropertyAccessExpression 1548908 1548924 - Identifier 1548908 1548918 - Identifier 1548919 1548924 - Block 1548925 1550591 - VariableStatement 1548927 1549274 - VariableDeclarationList 1548927 1549273 - VariableDeclaration 1549094 1549273 - ArrayBindingPattern 1549094 1549121 - BindingElement 1549096 1549107 - Identifier 1549096 1549107 - BindingElement 1549108 1549120 - Identifier 1549108 1549120 - CallExpression 1549123 1549273 - Identifier 1549123 1549146 - ConditionalExpression 1549147 1549218 - BinaryExpression 1549147 1549177 - PropertyAccessExpression 1549147 1549159 - Identifier 1549147 1549153 - Identifier 1549154 1549159 - AmpersandToken 1549159 1549161 - PropertyAccessExpression 1549161 1549177 - Identifier 1549161 1549171 - Identifier 1549172 1549177 - QuestionToken 1549177 1549179 - PropertyAccessExpression 1549179 1549207 - ParenthesizedExpression 1549179 1549201 - AsExpression 1549181 1549200 - Identifier 1549181 1549187 - TypeReference 1549190 1549200 - Identifier 1549190 1549200 - Identifier 1549202 1549207 - ColonToken 1549207 1549209 - ArrayLiteralExpression 1549209 1549218 - Identifier 1549211 1549217 - PropertyAccessExpression 1549219 1549247 - ParenthesizedExpression 1549219 1549241 - AsExpression 1549221 1549240 - Identifier 1549221 1549227 - TypeReference 1549230 1549240 - Identifier 1549230 1549240 - Identifier 1549242 1549247 - Identifier 1549248 1549272 - VariableStatement 1549274 1549666 - VariableDeclarationList 1549274 1549665 - VariableDeclaration 1549571 1549665 - ArrayBindingPattern 1549571 1549590 - BindingElement 1549573 1549580 - Identifier 1549573 1549580 - BindingElement 1549581 1549589 - Identifier 1549581 1549589 - CallExpression 1549592 1549665 - Identifier 1549592 1549615 - Identifier 1549616 1549627 - Identifier 1549628 1549640 - Identifier 1549641 1549664 - IfStatement 1549666 1549759 - BinaryExpression 1549688 1549708 - PropertyAccessExpression 1549688 1549702 - Identifier 1549688 1549695 - Identifier 1549696 1549702 - EqualsEqualsEqualsToken 1549702 1549706 - NumericLiteral 1549706 1549708 - Block 1549709 1549759 - ReturnStatement 1549711 1549740 - ExpressionStatement 1549759 1549808 - BinaryExpression 1549759 1549807 - Identifier 1549759 1549783 - EqualsToken 1549783 1549785 - CallExpression 1549785 1549807 - Identifier 1549785 1549798 - Identifier 1549799 1549806 - IfStatement 1549808 1550527 - BinaryExpression 1549830 1549850 - PropertyAccessExpression 1549830 1549844 - Identifier 1549830 1549837 - Identifier 1549838 1549844 - EqualsEqualsEqualsToken 1549844 1549848 - NumericLiteral 1549848 1549850 - Block 1549851 1550527 - ExpressionStatement 1549853 1550479 - CallExpression 1549853 1550478 - Identifier 1549853 1550425 - Identifier 1550426 1550432 - Identifier 1550433 1550440 - PropertyAccessExpression 1550441 1550477 - Identifier 1550441 1550459 - Identifier 1550460 1550477 - ReturnStatement 1550479 1550508 - ExpressionStatement 1550527 1550576 - BinaryExpression 1550527 1550575 - Identifier 1550527 1550551 - EqualsToken 1550551 1550553 - CallExpression 1550553 1550575 - Identifier 1550553 1550566 - Identifier 1550567 1550574 - IfStatement 1550609 1551818 - BinaryExpression 1550614 1550721 - BinaryExpression 1550614 1550651 - PropertyAccessExpression 1550614 1550626 - Identifier 1550614 1550620 - Identifier 1550621 1550626 - AmpersandToken 1550626 1550628 - PropertyAccessExpression 1550628 1550651 - Identifier 1550628 1550638 - Identifier 1550639 1550651 - AmpersandAmpersandToken 1550651 1550654 - PrefixUnaryExpression 1550654 1550721 - CallExpression 1550656 1550721 - Identifier 1550656 1550661 - PropertyAccessExpression 1550662 1550696 - ParenthesizedExpression 1550662 1550690 - AsExpression 1550663 1550689 - Identifier 1550663 1550669 - TypeReference 1550672 1550689 - Identifier 1550672 1550689 - Identifier 1550691 1550696 - Identifier 1550697 1550720 - Block 1550722 1551818 - IfStatement 1550724 1551803 - PrefixUnaryExpression 1551164 1551197 - ParenthesizedExpression 1551165 1551197 - BinaryExpression 1551166 1551196 - PropertyAccessExpression 1551166 1551178 - Identifier 1551166 1551172 - Identifier 1551173 1551178 - AmpersandToken 1551178 1551180 - PropertyAccessExpression 1551180 1551196 - Identifier 1551180 1551190 - Identifier 1551191 1551196 - Block 1551198 1551803 - VariableStatement 1551200 1551535 - VariableDeclarationList 1551200 1551534 - VariableDeclaration 1551348 1551534 - ArrayBindingPattern 1551348 1551367 - BindingElement 1551350 1551357 - Identifier 1551350 1551357 - BindingElement 1551358 1551366 - Identifier 1551358 1551366 - CallExpression 1551369 1551534 - Identifier 1551369 1551392 - ConditionalExpression 1551393 1551478 - BinaryExpression 1551393 1551430 - PropertyAccessExpression 1551393 1551405 - Identifier 1551393 1551399 - Identifier 1551400 1551405 - AmpersandToken 1551405 1551407 - PropertyAccessExpression 1551407 1551430 - Identifier 1551407 1551417 - Identifier 1551418 1551430 - QuestionToken 1551430 1551432 - PropertyAccessExpression 1551432 1551467 - ParenthesizedExpression 1551432 1551461 - AsExpression 1551434 1551460 - Identifier 1551434 1551440 - TypeReference 1551443 1551460 - Identifier 1551443 1551460 - Identifier 1551462 1551467 - ColonToken 1551467 1551469 - ArrayLiteralExpression 1551469 1551478 - Identifier 1551471 1551477 - PropertyAccessExpression 1551479 1551514 - ParenthesizedExpression 1551479 1551508 - AsExpression 1551481 1551507 - Identifier 1551481 1551487 - TypeReference 1551490 1551507 - Identifier 1551490 1551507 - Identifier 1551509 1551514 - Identifier 1551515 1551533 - IfStatement 1551535 1551664 - BinaryExpression 1551561 1551605 - BinaryExpression 1551561 1551581 - PropertyAccessExpression 1551561 1551575 - Identifier 1551561 1551568 - Identifier 1551569 1551575 - EqualsEqualsEqualsToken 1551575 1551579 - NumericLiteral 1551579 1551581 - BarBarToken 1551581 1551584 - BinaryExpression 1551584 1551605 - PropertyAccessExpression 1551584 1551599 - Identifier 1551584 1551592 - Identifier 1551593 1551599 - EqualsEqualsEqualsToken 1551599 1551603 - NumericLiteral 1551603 1551605 - Block 1551606 1551664 - ReturnStatement 1551608 1551641 - ExpressionStatement 1551664 1551724 - BinaryExpression 1551664 1551723 - Identifier 1551664 1551692 - EqualsToken 1551692 1551694 - CallExpression 1551694 1551723 - Identifier 1551694 1551714 - Identifier 1551715 1551722 - ExpressionStatement 1551724 1551784 - BinaryExpression 1551724 1551783 - Identifier 1551724 1551752 - EqualsToken 1551752 1551754 - CallExpression 1551754 1551783 - Identifier 1551754 1551774 - Identifier 1551775 1551782 - IfStatement 1551818 1552070 - BinaryExpression 1551836 1551901 - PropertyAccessExpression 1551836 1551848 - Identifier 1551836 1551842 - Identifier 1551843 1551848 - AmpersandToken 1551848 1551850 - ParenthesizedExpression 1551850 1551901 - BinaryExpression 1551852 1551900 - PropertyAccessExpression 1551852 1551875 - Identifier 1551852 1551861 - Identifier 1551862 1551875 - BarToken 1551875 1551877 - PropertyAccessExpression 1551877 1551900 - Identifier 1551877 1551887 - Identifier 1551888 1551900 - Block 1551902 1552070 - IfStatement 1551904 1551998 - CallExpression 1551926 1551947 - Identifier 1551926 1551939 - Identifier 1551940 1551946 - Block 1551948 1551998 - ReturnStatement 1551950 1551979 - ExpressionStatement 1551998 1552055 - BinaryExpression 1551998 1552054 - Identifier 1551998 1552022 - EqualsToken 1552022 1552024 - CallExpression 1552024 1552054 - Identifier 1552024 1552046 - Identifier 1552047 1552053 - IfStatement 1552070 1557907 - BinaryExpression 1552088 1552125 - PropertyAccessExpression 1552088 1552100 - Identifier 1552088 1552094 - Identifier 1552095 1552100 - AmpersandToken 1552100 1552102 - PropertyAccessExpression 1552102 1552125 - Identifier 1552102 1552112 - Identifier 1552113 1552125 - Block 1552126 1557907 - IfStatement 1552128 1552412 - CallExpression 1552325 1552361 - Identifier 1552325 1552353 - Identifier 1552354 1552360 - Block 1552362 1552412 - ReturnStatement 1552364 1552393 - VariableStatement 1552412 1552480 - VariableDeclarationList 1552412 1552479 - VariableDeclaration 1552435 1552479 - Identifier 1552435 1552445 - CallExpression 1552447 1552479 - Identifier 1552447 1552471 - Identifier 1552472 1552478 - IfStatement 1552480 1556575 - Identifier 1552502 1552511 - Block 1552512 1556575 - IfStatement 1552514 1554015 - BinaryExpression 1553867 1553956 - BinaryExpression 1553867 1553921 - CallExpression 1553867 1553889 - Identifier 1553867 1553881 - Identifier 1553882 1553888 - AmpersandToken 1553889 1553891 - PropertyAccessExpression 1553891 1553921 - Identifier 1553891 1553903 - Identifier 1553904 1553921 - BarBarToken 1553921 1553924 - BinaryExpression 1553924 1553956 - Identifier 1553924 1553931 - EqualsEqualsEqualsToken 1553931 1553935 - Identifier 1553935 1553956 - Block 1553957 1554015 - ReturnStatement 1553959 1553992 - IfStatement 1554015 1556447 - PrefixUnaryExpression 1554041 1554059 - PropertyAccessExpression 1554042 1554059 - Identifier 1554042 1554051 - Identifier 1554052 1554059 - Block 1554060 1556447 - VariableStatement 1554062 1554132 - VariableDeclarationList 1554062 1554131 - VariableDeclaration 1554093 1554131 - Identifier 1554093 1554103 - BinaryExpression 1554105 1554131 - Identifier 1554105 1554121 - BarBarToken 1554121 1554124 - Identifier 1554124 1554131 - IfStatement 1554132 1554260 - BinaryExpression 1554162 1554193 - Identifier 1554162 1554171 - EqualsEqualsEqualsToken 1554171 1554175 - Identifier 1554175 1554193 - Block 1554194 1554260 - ReturnStatement 1554196 1554233 - IfStatement 1554260 1554633 - BinaryExpression 1554290 1554355 - BinaryExpression 1554290 1554322 - PropertyAccessExpression 1554290 1554308 - Identifier 1554290 1554299 - Identifier 1554300 1554308 - EqualsEqualsEqualsToken 1554308 1554312 - Identifier 1554312 1554322 - BarBarToken 1554322 1554325 - BinaryExpression 1554325 1554355 - Identifier 1554325 1554334 - LessThanToken 1554334 1554336 - PropertyAccessExpression 1554336 1554355 - Identifier 1554336 1554346 - Identifier 1554347 1554355 - Block 1554356 1554633 - ExpressionStatement 1554358 1554421 - BinaryExpression 1554358 1554420 - PropertyAccessExpression 1554358 1554408 - Identifier 1554358 1554397 - Identifier 1554398 1554408 - EqualsToken 1554408 1554410 - Identifier 1554410 1554420 - ExpressionStatement 1554421 1554490 - BinaryExpression 1554421 1554489 - PropertyAccessExpression 1554421 1554477 - Identifier 1554421 1554460 - Identifier 1554461 1554477 - EqualsToken 1554477 1554479 - Identifier 1554479 1554489 - ExpressionStatement 1554490 1554546 - BinaryExpression 1554490 1554545 - PropertyAccessExpression 1554490 1554538 - Identifier 1554490 1554529 - Identifier 1554530 1554538 - EqualsToken 1554538 1554540 - TrueKeyword 1554540 1554545 - ExpressionStatement 1554546 1554606 - BinaryExpression 1554546 1554605 - PropertyAccessExpression 1554546 1554594 - Identifier 1554546 1554585 - Identifier 1554586 1554594 - EqualsToken 1554594 1554596 - Identifier 1554596 1554605 - IfStatement 1554633 1556066 - BinaryExpression 1554663 1554694 - Identifier 1554663 1554671 - EqualsEqualsEqualsToken 1554671 1554675 - PropertyAccessExpression 1554675 1554694 - Identifier 1554675 1554685 - Identifier 1554686 1554694 - Block 1554695 1556066 - IfStatement 1554697 1555147 - CallExpression 1555023 1555072 - Identifier 1555023 1555036 - PropertyAccessExpression 1555037 1555060 - Identifier 1555037 1555046 - Identifier 1555047 1555060 - Identifier 1555061 1555071 - Block 1555073 1555147 - ReturnStatement 1555075 1555116 - IfStatement 1555147 1556039 - BinaryExpression 1555389 1555416 - Identifier 1555389 1555402 - AmpersandAmpersandToken 1555402 1555405 - PrefixUnaryExpression 1555405 1555416 - Identifier 1555407 1555416 - Block 1555417 1555759 - IfStatement 1555419 1555728 - PrefixUnaryExpression 1555457 1555505 - CallExpression 1555458 1555505 - Identifier 1555458 1555466 - PropertyAccessExpression 1555467 1555493 - Identifier 1555467 1555476 - Identifier 1555477 1555493 - Identifier 1555494 1555504 - Block 1555506 1555728 - ExpressionStatement 1555508 1555621 - BinaryExpression 1555508 1555620 - PropertyAccessExpression 1555508 1555572 - Identifier 1555508 1555555 - Identifier 1555556 1555572 - EqualsToken 1555572 1555574 - CallExpression 1555574 1555620 - Identifier 1555574 1555581 - PropertyAccessExpression 1555582 1555608 - Identifier 1555582 1555591 - Identifier 1555592 1555608 - Identifier 1555609 1555619 - ExpressionStatement 1555621 1555693 - CallExpression 1555621 1555692 - Identifier 1555621 1555680 - Identifier 1555681 1555691 - IfStatement 1555793 1556039 - PrefixUnaryExpression 1555798 1555840 - CallExpression 1555799 1555840 - Identifier 1555799 1555807 - PropertyAccessExpression 1555808 1555828 - Identifier 1555808 1555817 - Identifier 1555818 1555828 - Identifier 1555829 1555839 - Block 1555841 1556039 - ExpressionStatement 1555843 1555940 - BinaryExpression 1555843 1555939 - PropertyAccessExpression 1555843 1555897 - Identifier 1555843 1555886 - Identifier 1555887 1555897 - EqualsToken 1555897 1555899 - CallExpression 1555899 1555939 - Identifier 1555899 1555906 - PropertyAccessExpression 1555907 1555927 - Identifier 1555907 1555916 - Identifier 1555917 1555927 - Identifier 1555928 1555938 - ExpressionStatement 1555940 1556008 - CallExpression 1555940 1556007 - Identifier 1555940 1555995 - Identifier 1555996 1556006 - IfStatement 1556066 1556424 - BinaryExpression 1556096 1556273 - BinaryExpression 1556096 1556202 - BinaryExpression 1556096 1556180 - PrefixUnaryExpression 1556096 1556138 - ParenthesizedExpression 1556097 1556138 - BinaryExpression 1556098 1556137 - Identifier 1556098 1556106 - AmpersandToken 1556106 1556108 - PropertyAccessExpression 1556108 1556137 - Identifier 1556108 1556126 - Identifier 1556127 1556137 - AmpersandAmpersandToken 1556138 1556141 - BinaryExpression 1556141 1556180 - PropertyAccessExpression 1556141 1556154 - Identifier 1556141 1556148 - Identifier 1556149 1556154 - AmpersandToken 1556154 1556156 - PropertyAccessExpression 1556156 1556180 - Identifier 1556156 1556166 - Identifier 1556167 1556180 - AmpersandAmpersandToken 1556180 1556183 - PropertyAccessExpression 1556183 1556202 - Identifier 1556183 1556193 - Identifier 1556194 1556202 - AmpersandAmpersandToken 1556202 1556205 - PrefixUnaryExpression 1556205 1556273 - CallExpression 1556207 1556273 - Identifier 1556207 1556232 - Identifier 1556233 1556247 - AsExpression 1556248 1556272 - Identifier 1556248 1556255 - TypeReference 1556258 1556272 - Identifier 1556258 1556272 - Block 1556274 1556424 - ExpressionStatement 1556276 1556333 - BinaryExpression 1556276 1556332 - PropertyAccessExpression 1556276 1556324 - Identifier 1556276 1556315 - Identifier 1556316 1556324 - EqualsToken 1556324 1556326 - FalseKeyword 1556326 1556332 - ExpressionStatement 1556333 1556397 - CallExpression 1556333 1556396 - Identifier 1556333 1556384 - Identifier 1556385 1556395 - ExpressionStatement 1556447 1556527 - BinaryExpression 1556447 1556526 - Identifier 1556447 1556486 - EqualsToken 1556486 1556488 - CallExpression 1556488 1556526 - PropertyAccessExpression 1556488 1556497 - Identifier 1556488 1556493 - Identifier 1556494 1556497 - Identifier 1556498 1556515 - Identifier 1556516 1556525 - ReturnStatement 1556527 1556556 - VariableStatement 1556575 1556816 - VariableDeclarationList 1556575 1556815 - VariableDeclaration 1556757 1556815 - Identifier 1556757 1556768 - CallExpression 1556770 1556815 - Identifier 1556770 1556788 - Identifier 1556789 1556795 - FalseKeyword 1556796 1556814 - IfStatement 1556816 1557892 - BinaryExpression 1556838 1556859 - Identifier 1556838 1556848 - ExclamationEqualsEqualsToken 1556848 1556852 - Identifier 1556852 1556859 - Block 1556860 1556938 - ExpressionStatement 1556862 1556919 - CallExpression 1556862 1556918 - Identifier 1556862 1556898 - Identifier 1556899 1556905 - Identifier 1556906 1556917 - IfStatement 1556960 1557892 - BinaryExpression 1556965 1557003 - PropertyAccessExpression 1556965 1556977 - Identifier 1556965 1556971 - Identifier 1556972 1556977 - AmpersandToken 1556977 1556979 - PropertyAccessExpression 1556979 1557003 - Identifier 1556979 1556989 - Identifier 1556990 1557003 - Block 1557004 1557892 - VariableStatement 1557006 1557124 - VariableDeclarationList 1557006 1557123 - VariableDeclaration 1557033 1557123 - Identifier 1557033 1557043 - CallExpression 1557045 1557123 - Identifier 1557045 1557063 - PropertyAccessExpression 1557064 1557103 - ParenthesizedExpression 1557064 1557093 - AsExpression 1557065 1557092 - Identifier 1557065 1557071 - TypeReference 1557074 1557092 - Identifier 1557074 1557092 - Identifier 1557094 1557103 - FalseKeyword 1557104 1557122 - IfStatement 1557124 1557873 - BinaryExpression 1557462 1557502 - PropertyAccessExpression 1557462 1557477 - Identifier 1557462 1557471 - Identifier 1557472 1557477 - AmpersandToken 1557477 1557479 - PropertyAccessExpression 1557479 1557502 - Identifier 1557479 1557489 - Identifier 1557490 1557502 - Block 1557503 1557873 - VariableStatement 1557505 1557690 - VariableDeclarationList 1557505 1557689 - VariableDeclaration 1557536 1557689 - Identifier 1557536 1557547 - CallExpression 1557549 1557689 - Identifier 1557549 1557579 - CallExpression 1557580 1557658 - Identifier 1557580 1557597 - PropertyAccessExpression 1557598 1557638 - ParenthesizedExpression 1557598 1557627 - AsExpression 1557599 1557626 - Identifier 1557599 1557605 - TypeReference 1557608 1557626 - Identifier 1557608 1557626 - Identifier 1557628 1557638 - FalseKeyword 1557639 1557657 - Identifier 1557659 1557669 - FalseKeyword 1557670 1557688 - IfStatement 1557690 1557850 - BinaryExpression 1557720 1557755 - Identifier 1557720 1557730 - AmpersandAmpersandToken 1557730 1557733 - BinaryExpression 1557733 1557755 - Identifier 1557733 1557744 - ExclamationEqualsEqualsToken 1557744 1557748 - Identifier 1557748 1557755 - Block 1557756 1557850 - ExpressionStatement 1557758 1557823 - CallExpression 1557758 1557822 - Identifier 1557758 1557802 - Identifier 1557803 1557809 - Identifier 1557810 1557821 - IfStatement 1557907 1562341 - BinaryExpression 1557925 1558288 - BinaryExpression 1557925 1558200 - BinaryExpression 1557925 1558039 - BinaryExpression 1557925 1557989 - CallExpression 1557925 1557965 - Identifier 1557925 1557957 - Identifier 1557958 1557964 - AmpersandToken 1557965 1557967 - PropertyAccessExpression 1557967 1557989 - Identifier 1557967 1557979 - Identifier 1557980 1557989 - AmpersandAmpersandToken 1557989 1557992 - BinaryExpression 1557992 1558039 - CallExpression 1557992 1558015 - Identifier 1557992 1558007 - Identifier 1558008 1558014 - AmpersandToken 1558015 1558017 - PropertyAccessExpression 1558017 1558039 - Identifier 1558017 1558029 - Identifier 1558030 1558039 - AmpersandAmpersandToken 1558039 1558042 - ParenthesizedExpression 1558042 1558200 - BinaryExpression 1558044 1558181 - BinaryExpression 1558044 1558135 - PropertyAccessExpression 1558044 1558098 - ParenthesizedExpression 1558044 1558091 - AsExpression 1558067 1558090 - Identifier 1558067 1558073 - TypeReference 1558076 1558090 - Identifier 1558076 1558090 - Identifier 1558092 1558098 - EqualsEqualsEqualsToken 1558098 1558102 - PropertyAccessExpression 1558102 1558135 - ParenthesizedExpression 1558102 1558128 - AsExpression 1558104 1558127 - Identifier 1558104 1558110 - TypeReference 1558113 1558127 - Identifier 1558113 1558127 - Identifier 1558129 1558135 - BarBarToken 1558135 1558138 - BinaryExpression 1558138 1558181 - CallExpression 1558138 1558158 - Identifier 1558138 1558150 - Identifier 1558151 1558157 - AmpersandAmpersandToken 1558158 1558161 - CallExpression 1558161 1558181 - Identifier 1558161 1558173 - Identifier 1558174 1558180 - AmpersandAmpersandToken 1558200 1558203 - PrefixUnaryExpression 1558203 1558288 - ParenthesizedExpression 1558222 1558288 - BinaryExpression 1558223 1558287 - PropertyAccessExpression 1558223 1558253 - ParenthesizedExpression 1558223 1558248 - AsExpression 1558224 1558247 - Identifier 1558224 1558230 - TypeReference 1558233 1558247 - Identifier 1558233 1558247 - Identifier 1558249 1558253 - AmpersandAmpersandToken 1558253 1558256 - PropertyAccessExpression 1558256 1558287 - ParenthesizedExpression 1558256 1558282 - AsExpression 1558258 1558281 - Identifier 1558258 1558264 - TypeReference 1558267 1558281 - Identifier 1558267 1558281 - Identifier 1558283 1558287 - Block 1558303 1558603 - ExpressionStatement 1558305 1558588 - CallExpression 1558305 1558587 - Identifier 1558305 1558453 - CallExpression 1558454 1558495 - Identifier 1558454 1558470 - AsExpression 1558471 1558494 - Identifier 1558471 1558477 - TypeReference 1558480 1558494 - Identifier 1558480 1558494 - CallExpression 1558496 1558538 - Identifier 1558496 1558513 - AsExpression 1558514 1558537 - Identifier 1558514 1558520 - TypeReference 1558523 1558537 - Identifier 1558523 1558537 - CallExpression 1558539 1558586 - Identifier 1558539 1558552 - PropertyAccessExpression 1558553 1558585 - ParenthesizedExpression 1558553 1558578 - AsExpression 1558554 1558577 - Identifier 1558554 1558560 - TypeReference 1558563 1558577 - Identifier 1558563 1558577 - Identifier 1558579 1558585 - IfStatement 1558621 1562341 - BinaryExpression 1558626 1558690 - BinaryExpression 1558626 1558656 - PropertyAccessExpression 1558626 1558638 - Identifier 1558626 1558632 - Identifier 1558633 1558638 - AmpersandToken 1558638 1558640 - PropertyAccessExpression 1558640 1558656 - Identifier 1558640 1558650 - Identifier 1558651 1558656 - AmpersandAmpersandToken 1558656 1558659 - BinaryExpression 1558659 1558690 - PropertyAccessExpression 1558659 1558672 - Identifier 1558659 1558666 - Identifier 1558667 1558672 - AmpersandToken 1558672 1558674 - PropertyAccessExpression 1558674 1558690 - Identifier 1558674 1558684 - Identifier 1558685 1558690 - Block 1558691 1558810 - ExpressionStatement 1558693 1558795 - CallExpression 1558693 1558794 - Identifier 1558693 1558738 - PropertyAccessExpression 1558739 1558765 - ParenthesizedExpression 1558739 1558760 - AsExpression 1558740 1558759 - Identifier 1558740 1558746 - TypeReference 1558749 1558759 - Identifier 1558749 1558759 - Identifier 1558761 1558765 - PropertyAccessExpression 1558766 1558793 - ParenthesizedExpression 1558766 1558788 - AsExpression 1558768 1558787 - Identifier 1558768 1558774 - TypeReference 1558777 1558787 - Identifier 1558777 1558787 - Identifier 1558789 1558793 - IfStatement 1558828 1562341 - BinaryExpression 1558833 1558925 - ParenthesizedExpression 1558833 1558891 - BinaryExpression 1558834 1558890 - CallExpression 1558834 1558855 - Identifier 1558834 1558847 - Identifier 1558848 1558854 - BarBarToken 1558855 1558858 - BinaryExpression 1558858 1558890 - PropertyAccessExpression 1558858 1558871 - Identifier 1558858 1558865 - Identifier 1558866 1558871 - AmpersandToken 1558871 1558873 - PropertyAccessExpression 1558873 1558890 - Identifier 1558873 1558883 - Identifier 1558884 1558890 - AmpersandAmpersandToken 1558891 1558894 - BinaryExpression 1558894 1558925 - PropertyAccessExpression 1558894 1558907 - Identifier 1558894 1558901 - Identifier 1558902 1558907 - AmpersandToken 1558907 1558909 - PropertyAccessExpression 1558909 1558925 - Identifier 1558909 1558919 - Identifier 1558920 1558925 - Block 1558926 1559147 - VariableStatement 1558928 1559007 - VariableDeclarationList 1558928 1559006 - VariableDeclaration 1558951 1559006 - Identifier 1558951 1558957 - CallExpression 1558959 1559006 - Identifier 1558959 1558998 - Identifier 1558999 1559005 - ExpressionStatement 1559007 1559132 - CallExpression 1559007 1559131 - Identifier 1559007 1559064 - Identifier 1559065 1559070 - PropertyAccessExpression 1559071 1559098 - ParenthesizedExpression 1559071 1559093 - AsExpression 1559073 1559092 - Identifier 1559073 1559079 - TypeReference 1559082 1559092 - Identifier 1559082 1559092 - Identifier 1559094 1559098 - PropertyAccessExpression 1559099 1559130 - Identifier 1559099 1559117 - Identifier 1559118 1559130 - IfStatement 1559165 1562341 - BinaryExpression 1559170 1559250 - BinaryExpression 1559170 1559208 - PropertyAccessExpression 1559170 1559182 - Identifier 1559170 1559176 - Identifier 1559177 1559182 - AmpersandToken 1559182 1559184 - PropertyAccessExpression 1559184 1559208 - Identifier 1559184 1559194 - Identifier 1559195 1559208 - AmpersandAmpersandToken 1559208 1559211 - BinaryExpression 1559211 1559250 - PropertyAccessExpression 1559211 1559224 - Identifier 1559211 1559218 - Identifier 1559219 1559224 - AmpersandToken 1559224 1559226 - PropertyAccessExpression 1559226 1559250 - Identifier 1559226 1559236 - Identifier 1559237 1559250 - Block 1559251 1559500 - ExpressionStatement 1559253 1559370 - CallExpression 1559253 1559369 - Identifier 1559253 1559285 - PropertyAccessExpression 1559286 1559326 - ParenthesizedExpression 1559286 1559315 - AsExpression 1559287 1559314 - Identifier 1559287 1559293 - TypeReference 1559296 1559314 - Identifier 1559296 1559314 - Identifier 1559316 1559326 - PropertyAccessExpression 1559327 1559368 - ParenthesizedExpression 1559327 1559357 - AsExpression 1559329 1559356 - Identifier 1559329 1559335 - TypeReference 1559338 1559356 - Identifier 1559338 1559356 - Identifier 1559358 1559368 - ExpressionStatement 1559370 1559485 - CallExpression 1559370 1559484 - Identifier 1559370 1559402 - PropertyAccessExpression 1559403 1559442 - ParenthesizedExpression 1559403 1559432 - AsExpression 1559404 1559431 - Identifier 1559404 1559410 - TypeReference 1559413 1559431 - Identifier 1559413 1559431 - Identifier 1559433 1559442 - PropertyAccessExpression 1559443 1559483 - ParenthesizedExpression 1559443 1559473 - AsExpression 1559445 1559472 - Identifier 1559445 1559451 - TypeReference 1559454 1559472 - Identifier 1559454 1559472 - Identifier 1559474 1559483 - IfStatement 1559518 1562341 - BinaryExpression 1559523 1559603 - BinaryExpression 1559523 1559561 - PropertyAccessExpression 1559523 1559535 - Identifier 1559523 1559529 - Identifier 1559530 1559535 - AmpersandToken 1559535 1559537 - PropertyAccessExpression 1559537 1559561 - Identifier 1559537 1559547 - Identifier 1559548 1559561 - AmpersandAmpersandToken 1559561 1559564 - BinaryExpression 1559564 1559603 - PropertyAccessExpression 1559564 1559577 - Identifier 1559564 1559571 - Identifier 1559572 1559577 - AmpersandToken 1559577 1559579 - PropertyAccessExpression 1559579 1559603 - Identifier 1559579 1559589 - Identifier 1559590 1559603 - Block 1559604 1559851 - IfStatement 1559606 1559836 - BinaryExpression 1559628 1559705 - PropertyAccessExpression 1559628 1559664 - ParenthesizedExpression 1559628 1559657 - AsExpression 1559629 1559656 - Identifier 1559629 1559635 - TypeReference 1559638 1559656 - Identifier 1559638 1559656 - Identifier 1559658 1559664 - EqualsEqualsEqualsToken 1559664 1559668 - PropertyAccessExpression 1559668 1559705 - ParenthesizedExpression 1559668 1559698 - AsExpression 1559670 1559697 - Identifier 1559670 1559676 - TypeReference 1559679 1559697 - Identifier 1559679 1559697 - Identifier 1559699 1559705 - Block 1559706 1559836 - ExpressionStatement 1559708 1559817 - CallExpression 1559708 1559816 - Identifier 1559708 1559744 - PropertyAccessExpression 1559745 1559779 - ParenthesizedExpression 1559745 1559774 - AsExpression 1559746 1559773 - Identifier 1559746 1559752 - TypeReference 1559755 1559773 - Identifier 1559755 1559773 - Identifier 1559775 1559779 - PropertyAccessExpression 1559780 1559815 - ParenthesizedExpression 1559780 1559810 - AsExpression 1559782 1559809 - Identifier 1559782 1559788 - TypeReference 1559791 1559809 - Identifier 1559791 1559809 - Identifier 1559811 1559815 - IfStatement 1559869 1562341 - BinaryExpression 1559874 1559911 - PropertyAccessExpression 1559874 1559886 - Identifier 1559874 1559880 - Identifier 1559881 1559886 - AmpersandToken 1559886 1559888 - PropertyAccessExpression 1559888 1559911 - Identifier 1559888 1559898 - Identifier 1559899 1559911 - Block 1559912 1560195 - ExpressionStatement 1559914 1559994 - CallExpression 1559914 1559993 - Identifier 1559914 1559946 - PropertyAccessExpression 1559947 1559984 - ParenthesizedExpression 1559947 1559975 - AsExpression 1559948 1559974 - Identifier 1559948 1559954 - TypeReference 1559957 1559974 - Identifier 1559957 1559974 - Identifier 1559976 1559984 - Identifier 1559985 1559992 - ExpressionStatement 1559994 1560131 - CallExpression 1559994 1560130 - Identifier 1559994 1560029 - CallExpression 1560030 1560085 - Identifier 1560030 1560057 - AsExpression 1560058 1560084 - Identifier 1560058 1560064 - TypeReference 1560067 1560084 - Identifier 1560067 1560084 - Identifier 1560086 1560093 - PropertyAccessExpression 1560094 1560129 - Identifier 1560094 1560112 - Identifier 1560113 1560129 - IfStatement 1560213 1562341 - BinaryExpression 1560218 1560254 - PropertyAccessExpression 1560218 1560230 - Identifier 1560218 1560224 - Identifier 1560225 1560230 - AmpersandToken 1560230 1560232 - PropertyAccessExpression 1560232 1560254 - Identifier 1560232 1560242 - Identifier 1560243 1560254 - Block 1560255 1560360 - ExpressionStatement 1560257 1560345 - CallExpression 1560257 1560344 - Identifier 1560257 1560285 - Identifier 1560286 1560292 - AsExpression 1560293 1560319 - Identifier 1560293 1560300 - TypeReference 1560303 1560319 - Identifier 1560303 1560319 - Identifier 1560320 1560343 - IfStatement 1560378 1562341 - BinaryExpression 1560383 1560427 - PropertyAccessExpression 1560383 1560395 - Identifier 1560383 1560389 - Identifier 1560390 1560395 - AmpersandToken 1560395 1560397 - PropertyAccessExpression 1560397 1560427 - Identifier 1560397 1560407 - Identifier 1560408 1560427 - Block 1560428 1560549 - ExpressionStatement 1560430 1560534 - CallExpression 1560430 1560533 - Identifier 1560430 1560468 - Identifier 1560469 1560475 - PropertyAccessExpression 1560476 1560518 - ParenthesizedExpression 1560476 1560512 - AsExpression 1560478 1560511 - Identifier 1560478 1560484 - TypeReference 1560487 1560511 - Identifier 1560487 1560511 - Identifier 1560513 1560518 - PropertyAccessExpression 1560519 1560532 - Identifier 1560519 1560526 - Identifier 1560527 1560532 - IfStatement 1560567 1562341 - BinaryExpression 1560572 1560602 - PropertyAccessExpression 1560572 1560584 - Identifier 1560572 1560578 - Identifier 1560579 1560584 - AmpersandToken 1560584 1560586 - PropertyAccessExpression 1560586 1560602 - Identifier 1560586 1560596 - Identifier 1560597 1560602 - Block 1560603 1560926 - VariableStatement 1560605 1560778 - VariableDeclarationList 1560605 1560777 - VariableDeclaration 1560721 1560777 - Identifier 1560721 1560733 - PropertyAccessExpression 1560735 1560777 - ParenthesizedExpression 1560735 1560771 - AsExpression 1560737 1560770 - Identifier 1560737 1560743 - TypeReference 1560746 1560770 - Identifier 1560746 1560770 - Identifier 1560772 1560777 - ForOfStatement 1560778 1560911 - VariableDeclarationList 1560801 1560817 - VariableDeclaration 1560806 1560817 - Identifier 1560806 1560817 - Identifier 1560820 1560832 - Block 1560833 1560911 - ExpressionStatement 1560835 1560892 - CallExpression 1560835 1560891 - Identifier 1560835 1560871 - Identifier 1560872 1560882 - Identifier 1560883 1560890 - IfStatement 1560944 1562341 - BinaryExpression 1560949 1560989 - PropertyAccessExpression 1560949 1560961 - Identifier 1560949 1560955 - Identifier 1560956 1560961 - AmpersandToken 1560961 1560963 - PropertyAccessExpression 1560963 1560989 - Identifier 1560963 1560973 - Identifier 1560974 1560989 - Block 1560990 1561091 - ExpressionStatement 1560992 1561076 - CallExpression 1560992 1561075 - Identifier 1560992 1561036 - Identifier 1561037 1561043 - AsExpression 1561044 1561074 - Identifier 1561044 1561051 - TypeReference 1561054 1561074 - Identifier 1561054 1561074 - Block 1561109 1562341 - ExpressionStatement 1561111 1561161 - BinaryExpression 1561111 1561160 - Identifier 1561111 1561135 - EqualsToken 1561135 1561137 - CallExpression 1561137 1561160 - Identifier 1561137 1561152 - Identifier 1561153 1561159 - IfStatement 1561161 1561341 - BinaryExpression 1561183 1561241 - CallExpression 1561183 1561210 - Identifier 1561183 1561202 - Identifier 1561203 1561209 - AmpersandAmpersandToken 1561210 1561213 - CallExpression 1561213 1561241 - Identifier 1561213 1561233 - Identifier 1561234 1561240 - Block 1561242 1561341 - ExpressionStatement 1561244 1561322 - CallExpression 1561244 1561321 - Identifier 1561244 1561276 - Identifier 1561277 1561283 - Identifier 1561284 1561291 - Identifier 1561292 1561320 - IfStatement 1561341 1562153 - PrefixUnaryExpression 1561363 1561476 - ParenthesizedExpression 1561364 1561476 - BinaryExpression 1561365 1561475 - BinaryExpression 1561365 1561407 - Identifier 1561365 1561373 - AmpersandToken 1561373 1561375 - PropertyAccessExpression 1561375 1561407 - Identifier 1561375 1561393 - Identifier 1561394 1561407 - AmpersandAmpersandToken 1561407 1561410 - BinaryExpression 1561410 1561475 - PropertyAccessExpression 1561410 1561423 - Identifier 1561410 1561417 - Identifier 1561418 1561423 - AmpersandToken 1561423 1561425 - ParenthesizedExpression 1561425 1561475 - BinaryExpression 1561427 1561474 - PropertyAccessExpression 1561427 1561449 - Identifier 1561427 1561436 - Identifier 1561437 1561449 - BarToken 1561449 1561451 - PropertyAccessExpression 1561451 1561474 - Identifier 1561451 1561461 - Identifier 1561462 1561474 - Block 1561477 1562153 - VariableStatement 1561479 1561548 - VariableDeclarationList 1561479 1561547 - VariableDeclaration 1561506 1561547 - Identifier 1561506 1561521 - CallExpression 1561523 1561547 - Identifier 1561523 1561539 - Identifier 1561540 1561546 - IfStatement 1561548 1562088 - BinaryExpression 1561892 1561990 - BinaryExpression 1561892 1561917 - Identifier 1561892 1561906 - ExclamationEqualsEqualsToken 1561906 1561910 - Identifier 1561910 1561917 - AmpersandAmpersandToken 1561917 1561920 - PrefixUnaryExpression 1561920 1561990 - ParenthesizedExpression 1561922 1561990 - BinaryExpression 1561923 1561989 - PropertyAccessExpression 1561923 1561943 - Identifier 1561923 1561937 - Identifier 1561938 1561943 - AmpersandToken 1561943 1561945 - ParenthesizedExpression 1561945 1561989 - BinaryExpression 1561947 1561988 - PropertyAccessExpression 1561947 1561963 - Identifier 1561947 1561956 - Identifier 1561957 1561963 - BarToken 1561963 1561965 - PropertyAccessExpression 1561965 1561988 - Identifier 1561965 1561975 - Identifier 1561976 1561988 - Block 1561991 1562088 - ReturnStatement 1561993 1562065 - CallExpression 1562025 1562064 - Identifier 1562025 1562040 - Identifier 1562041 1562055 - Identifier 1562056 1562063 - ExpressionStatement 1562088 1562134 - BinaryExpression 1562088 1562133 - Identifier 1562088 1562116 - EqualsToken 1562116 1562118 - Identifier 1562118 1562133 - IfStatement 1562153 1562326 - BinaryExpression 1562175 1562233 - PropertyAccessExpression 1562175 1562187 - Identifier 1562175 1562181 - Identifier 1562182 1562187 - AmpersandToken 1562187 1562189 - ParenthesizedExpression 1562189 1562233 - BinaryExpression 1562191 1562232 - PropertyAccessExpression 1562191 1562207 - Identifier 1562191 1562200 - Identifier 1562201 1562207 - BarToken 1562207 1562209 - PropertyAccessExpression 1562209 1562232 - Identifier 1562209 1562219 - Identifier 1562220 1562232 - Block 1562234 1562326 - ExpressionStatement 1562236 1562307 - CallExpression 1562236 1562306 - Identifier 1562236 1562268 - Identifier 1562269 1562275 - Identifier 1562276 1562283 - Identifier 1562284 1562305 - FunctionDeclaration 1562352 1562628 - Identifier 1562372 1562390 - Parameter 1562391 1562403 - Identifier 1562391 1562397 - TypeReference 1562398 1562403 - Identifier 1562398 1562403 - Parameter 1562404 1562417 - Identifier 1562404 1562411 - TypeReference 1562412 1562417 - Identifier 1562412 1562417 - Parameter 1562418 1562449 - Identifier 1562418 1562430 - TypeReference 1562431 1562449 - Identifier 1562431 1562449 - Block 1562450 1562628 - VariableStatement 1562452 1562496 - VariableDeclarationList 1562452 1562495 - VariableDeclaration 1562471 1562495 - Identifier 1562471 1562484 - Identifier 1562486 1562495 - ExpressionStatement 1562496 1562534 - BinaryExpression 1562496 1562533 - Identifier 1562496 1562518 - BarEqualsToken 1562518 1562521 - Identifier 1562521 1562533 - ExpressionStatement 1562534 1562579 - CallExpression 1562534 1562578 - Identifier 1562534 1562562 - Identifier 1562563 1562569 - Identifier 1562570 1562577 - ExpressionStatement 1562579 1562617 - BinaryExpression 1562579 1562616 - Identifier 1562579 1562601 - EqualsToken 1562601 1562603 - Identifier 1562603 1562616 - FunctionDeclaration 1562628 1562939 - Identifier 1562648 1562688 - Parameter 1562689 1562701 - Identifier 1562689 1562695 - TypeReference 1562696 1562701 - Identifier 1562696 1562701 - Parameter 1562702 1562715 - Identifier 1562702 1562709 - TypeReference 1562710 1562715 - Identifier 1562710 1562715 - Parameter 1562716 1562747 - Identifier 1562716 1562728 - TypeReference 1562729 1562747 - Identifier 1562729 1562747 - Block 1562748 1562939 - VariableStatement 1562750 1562794 - VariableDeclarationList 1562750 1562793 - VariableDeclaration 1562769 1562793 - Identifier 1562769 1562782 - Identifier 1562784 1562793 - ExpressionStatement 1562794 1562832 - BinaryExpression 1562794 1562831 - Identifier 1562794 1562816 - BarEqualsToken 1562816 1562819 - Identifier 1562819 1562831 - ExpressionStatement 1562832 1562890 - CallExpression 1562832 1562889 - Identifier 1562832 1562873 - Identifier 1562874 1562880 - Identifier 1562881 1562888 - ExpressionStatement 1562890 1562928 - BinaryExpression 1562890 1562927 - Identifier 1562890 1562912 - EqualsToken 1562912 1562914 - Identifier 1562914 1562927 - FunctionDeclaration 1562939 1563277 - Identifier 1562959 1562992 - Parameter 1562993 1563005 - Identifier 1562993 1562999 - TypeReference 1563000 1563005 - Identifier 1563000 1563005 - Parameter 1563006 1563022 - Identifier 1563006 1563014 - ArrayType 1563015 1563022 - TypeReference 1563015 1563020 - Identifier 1563015 1563020 - Parameter 1563023 1563046 - Identifier 1563023 1563035 - TypeReference 1563036 1563046 - Identifier 1563036 1563046 - Parameter 1563047 1563078 - Identifier 1563047 1563059 - TypeReference 1563060 1563078 - Identifier 1563060 1563078 - Block 1563079 1563277 - VariableStatement 1563081 1563125 - VariableDeclarationList 1563081 1563124 - VariableDeclaration 1563100 1563124 - Identifier 1563100 1563113 - Identifier 1563115 1563124 - ExpressionStatement 1563125 1563163 - BinaryExpression 1563125 1563162 - Identifier 1563125 1563147 - BarEqualsToken 1563147 1563150 - Identifier 1563150 1563162 - ExpressionStatement 1563163 1563228 - CallExpression 1563163 1563227 - Identifier 1563163 1563197 - Identifier 1563198 1563204 - Identifier 1563205 1563213 - Identifier 1563214 1563226 - ExpressionStatement 1563228 1563266 - BinaryExpression 1563228 1563265 - Identifier 1563228 1563250 - EqualsToken 1563250 1563252 - Identifier 1563252 1563265 - FunctionDeclaration 1563277 1566115 - Identifier 1564443 1564454 - TypeParameter 1564455 1564474 - Identifier 1564455 1564461 - TypeReference 1564469 1564474 - Identifier 1564469 1564474 - TypeParameter 1564475 1564495 - Identifier 1564475 1564482 - TypeReference 1564490 1564495 - Identifier 1564490 1564495 - Parameter 1564497 1564511 - Identifier 1564497 1564503 - TypeReference 1564504 1564511 - Identifier 1564504 1564511 - Parameter 1564512 1564527 - Identifier 1564512 1564519 - TypeReference 1564520 1564527 - Identifier 1564520 1564527 - Parameter 1564528 1564577 - Identifier 1564528 1564535 - FunctionType 1564536 1564577 - Parameter 1564538 1564552 - Identifier 1564538 1564544 - TypeReference 1564545 1564552 - Identifier 1564545 1564552 - Parameter 1564553 1564568 - Identifier 1564553 1564560 - TypeReference 1564561 1564568 - Identifier 1564561 1564568 - VoidKeyword 1564572 1564577 - Block 1564578 1566115 - VariableStatement 1564580 1564634 - VariableDeclarationList 1564580 1564633 - VariableDeclaration 1564599 1564633 - Identifier 1564599 1564603 - BinaryExpression 1564605 1564633 - BinaryExpression 1564605 1564621 - PropertyAccessExpression 1564605 1564615 - Identifier 1564605 1564612 - Identifier 1564613 1564615 - PlusToken 1564615 1564617 - StringLiteral 1564617 1564621 - PlusToken 1564621 1564623 - PropertyAccessExpression 1564623 1564633 - Identifier 1564623 1564630 - Identifier 1564631 1564633 - VariableStatement 1564634 1564691 - VariableDeclarationList 1564634 1564690 - VariableDeclaration 1564653 1564690 - Identifier 1564653 1564660 - BinaryExpression 1564662 1564690 - Identifier 1564662 1564670 - AmpersandAmpersandToken 1564670 1564673 - CallExpression 1564673 1564690 - PropertyAccessExpression 1564673 1564685 - Identifier 1564673 1564681 - Identifier 1564682 1564685 - Identifier 1564686 1564689 - IfStatement 1564691 1564846 - BinaryExpression 1564709 1564729 - Identifier 1564709 1564715 - ExclamationEqualsEqualsToken 1564715 1564719 - Identifier 1564719 1564729 - Block 1564730 1564846 - ExpressionStatement 1564732 1564806 - BinaryExpression 1564732 1564805 - Identifier 1564732 1564767 - EqualsToken 1564767 1564769 - CallExpression 1564769 1564805 - PropertyAccessExpression 1564769 1564778 - Identifier 1564769 1564774 - Identifier 1564775 1564778 - Identifier 1564779 1564796 - Identifier 1564797 1564804 - ReturnStatement 1564806 1564831 - ExpressionStatement 1564846 1564951 - CallExpression 1564846 1564950 - PropertyAccessExpression 1564846 1564914 - ParenthesizedExpression 1564846 1564910 - BinaryExpression 1564861 1564909 - Identifier 1564861 1564868 - BarBarToken 1564868 1564871 - ParenthesizedExpression 1564871 1564909 - BinaryExpression 1564873 1564908 - Identifier 1564873 1564880 - EqualsToken 1564880 1564882 - NewExpression 1564882 1564908 - Identifier 1564886 1564890 - StringKeyword 1564891 1564897 - NumberKeyword 1564898 1564905 - Identifier 1564911 1564914 - Identifier 1564915 1564918 - PropertyAccessExpression 1564919 1564949 - Identifier 1564919 1564937 - Identifier 1564938 1564949 - VariableStatement 1564951 1565013 - VariableDeclarationList 1564951 1565012 - VariableDeclaration 1564970 1565012 - Identifier 1564970 1564992 - Identifier 1564994 1565012 - ExpressionStatement 1565013 1565074 - BinaryExpression 1565013 1565073 - Identifier 1565013 1565044 - EqualsToken 1565044 1565046 - PropertyAccessExpression 1565046 1565073 - Identifier 1565046 1565064 - Identifier 1565065 1565073 - VariableStatement 1565074 1565297 - VariableDeclarationList 1565074 1565296 - VariableDeclaration 1565260 1565296 - Identifier 1565260 1565279 - Identifier 1565281 1565296 - ExpressionStatement 1565297 1565345 - CallExpression 1565297 1565344 - PropertyAccessExpression 1565297 1565336 - ParenthesizedExpression 1565297 1565331 - BinaryExpression 1565312 1565330 - Identifier 1565312 1565323 - QuestionQuestionEqualsToken 1565323 1565327 - ArrayLiteralExpression 1565327 1565330 - Identifier 1565332 1565336 - Identifier 1565337 1565343 - ExpressionStatement 1565345 1565393 - CallExpression 1565345 1565392 - PropertyAccessExpression 1565345 1565384 - ParenthesizedExpression 1565345 1565379 - BinaryExpression 1565360 1565378 - Identifier 1565360 1565371 - QuestionQuestionEqualsToken 1565371 1565375 - ArrayLiteralExpression 1565375 1565378 - Identifier 1565380 1565384 - Identifier 1565385 1565391 - IfStatement 1565393 1565515 - CallExpression 1565411 1565473 - Identifier 1565411 1565429 - Identifier 1565430 1565436 - Identifier 1565437 1565449 - PropertyAccessExpression 1565450 1565469 - Identifier 1565450 1565462 - Identifier 1565463 1565469 - NumericLiteral 1565470 1565472 - ExpressionStatement 1565474 1565515 - BinaryExpression 1565474 1565514 - Identifier 1565474 1565489 - BarEqualsToken 1565489 1565492 - PropertyAccessExpression 1565492 1565514 - Identifier 1565492 1565507 - Identifier 1565508 1565514 - IfStatement 1565515 1565637 - CallExpression 1565533 1565595 - Identifier 1565533 1565551 - Identifier 1565552 1565558 - Identifier 1565559 1565571 - PropertyAccessExpression 1565572 1565591 - Identifier 1565572 1565584 - Identifier 1565585 1565591 - NumericLiteral 1565592 1565594 - ExpressionStatement 1565596 1565637 - BinaryExpression 1565596 1565636 - Identifier 1565596 1565611 - BarEqualsToken 1565611 1565614 - PropertyAccessExpression 1565614 1565636 - Identifier 1565614 1565629 - Identifier 1565630 1565636 - IfStatement 1565637 1565855 - BinaryExpression 1565655 1565693 - Identifier 1565655 1565669 - ExclamationEqualsEqualsToken 1565669 1565673 - PropertyAccessExpression 1565673 1565693 - Identifier 1565673 1565688 - Identifier 1565689 1565693 - Block 1565694 1565752 - ExpressionStatement 1565696 1565737 - CallExpression 1565696 1565736 - Identifier 1565696 1565720 - Identifier 1565721 1565727 - Identifier 1565728 1565735 - Block 1565770 1565855 - ExpressionStatement 1565772 1565840 - BinaryExpression 1565772 1565839 - Identifier 1565772 1565807 - EqualsToken 1565807 1565809 - PropertyAccessExpression 1565809 1565839 - Identifier 1565809 1565827 - Identifier 1565828 1565839 - ExpressionStatement 1565855 1565887 - CallExpression 1565855 1565886 - PropertyAccessExpression 1565855 1565884 - Identifier 1565855 1565880 - Identifier 1565881 1565884 - ExpressionStatement 1565887 1565919 - CallExpression 1565887 1565918 - PropertyAccessExpression 1565887 1565916 - Identifier 1565887 1565912 - Identifier 1565913 1565916 - ExpressionStatement 1565919 1565969 - BinaryExpression 1565919 1565968 - Identifier 1565919 1565947 - EqualsToken 1565947 1565949 - Identifier 1565949 1565968 - ExpressionStatement 1565969 1566019 - CallExpression 1565969 1566018 - PropertyAccessExpression 1565969 1565994 - Identifier 1565969 1565990 - Identifier 1565991 1565994 - Identifier 1565995 1565998 - Identifier 1565999 1566017 - ExpressionStatement 1566019 1566104 - BinaryExpression 1566019 1566103 - Identifier 1566019 1566050 - EqualsToken 1566050 1566052 - CallExpression 1566052 1566103 - PropertyAccessExpression 1566052 1566061 - Identifier 1566052 1566057 - Identifier 1566058 1566061 - Identifier 1566062 1566079 - Identifier 1566080 1566102 - FunctionDeclaration 1566115 1566983 - Identifier 1566135 1566158 - Parameter 1566159 1566174 - Identifier 1566159 1566166 - ArrayType 1566167 1566174 - TypeReference 1566167 1566172 - Identifier 1566167 1566172 - Parameter 1566175 1566191 - Identifier 1566175 1566183 - ArrayType 1566184 1566191 - TypeReference 1566184 1566189 - Identifier 1566184 1566189 - Parameter 1566192 1566231 - Identifier 1566192 1566200 - FunctionType 1566201 1566231 - Parameter 1566203 1566210 - Identifier 1566203 1566204 - TypeReference 1566205 1566210 - Identifier 1566205 1566210 - Parameter 1566211 1566219 - Identifier 1566211 1566213 - TypeReference 1566214 1566219 - Identifier 1566214 1566219 - BooleanKeyword 1566223 1566231 - TupleType 1566233 1566250 - ArrayType 1566235 1566241 - TypeReference 1566235 1566239 - Identifier 1566235 1566239 - ArrayType 1566242 1566249 - TypeReference 1566242 1566247 - Identifier 1566242 1566247 - Block 1566250 1566983 - VariableStatement 1566252 1566305 - VariableDeclarationList 1566252 1566304 - VariableDeclaration 1566269 1566304 - Identifier 1566269 1566284 - UnionType 1566285 1566304 - ArrayType 1566285 1566292 - TypeReference 1566285 1566290 - Identifier 1566285 1566290 - UndefinedKeyword 1566294 1566304 - VariableStatement 1566305 1566358 - VariableDeclarationList 1566305 1566357 - VariableDeclaration 1566322 1566357 - Identifier 1566322 1566337 - UnionType 1566338 1566357 - ArrayType 1566338 1566345 - TypeReference 1566338 1566343 - Identifier 1566338 1566343 - UndefinedKeyword 1566347 1566357 - ForOfStatement 1566358 1566742 - VariableDeclarationList 1566377 1566384 - VariableDeclaration 1566382 1566384 - Identifier 1566382 1566384 - Identifier 1566387 1566395 - Block 1566396 1566742 - ForOfStatement 1566398 1566727 - VariableDeclarationList 1566421 1566428 - VariableDeclaration 1566426 1566428 - Identifier 1566426 1566428 - Identifier 1566431 1566439 - Block 1566440 1566727 - IfStatement 1566442 1566708 - CallExpression 1566468 1566481 - Identifier 1566468 1566475 - Identifier 1566476 1566477 - Identifier 1566478 1566480 - Block 1566482 1566708 - ExpressionStatement 1566484 1566531 - CallExpression 1566484 1566530 - Identifier 1566484 1566524 - Identifier 1566525 1566526 - Identifier 1566527 1566529 - ExpressionStatement 1566531 1566608 - BinaryExpression 1566531 1566607 - Identifier 1566531 1566571 - EqualsToken 1566571 1566573 - CallExpression 1566573 1566607 - Identifier 1566573 1566588 - Identifier 1566589 1566603 - Identifier 1566604 1566606 - ExpressionStatement 1566608 1566685 - BinaryExpression 1566608 1566684 - Identifier 1566608 1566648 - EqualsToken 1566648 1566650 - CallExpression 1566650 1566684 - Identifier 1566650 1566665 - Identifier 1566666 1566680 - Identifier 1566681 1566683 - ReturnStatement 1566742 1566972 - ArrayLiteralExpression 1566762 1566971 - ConditionalExpression 1566764 1566859 - Identifier 1566764 1566796 - QuestionToken 1566796 1566798 - CallExpression 1566798 1566849 - Identifier 1566798 1566805 - Identifier 1566806 1566813 - ArrowFunction 1566814 1566848 - Parameter 1566814 1566816 - Identifier 1566814 1566816 - EqualsGreaterThanToken 1566816 1566819 - PrefixUnaryExpression 1566819 1566848 - CallExpression 1566821 1566848 - Identifier 1566821 1566829 - Identifier 1566830 1566844 - Identifier 1566845 1566847 - ColonToken 1566849 1566851 - Identifier 1566851 1566859 - ConditionalExpression 1566860 1566955 - Identifier 1566860 1566892 - QuestionToken 1566892 1566894 - CallExpression 1566894 1566945 - Identifier 1566894 1566901 - Identifier 1566902 1566909 - ArrowFunction 1566910 1566944 - Parameter 1566910 1566912 - Identifier 1566910 1566912 - EqualsGreaterThanToken 1566912 1566915 - PrefixUnaryExpression 1566915 1566944 - CallExpression 1566917 1566944 - Identifier 1566917 1566925 - Identifier 1566926 1566940 - Identifier 1566941 1566943 - ColonToken 1566945 1566947 - Identifier 1566947 1566955 - FunctionDeclaration 1566983 1567645 - Identifier 1567003 1567026 - Parameter 1567027 1567055 - Identifier 1567027 1567038 - TypeOperator 1567039 1567055 - ArrayType 1567048 1567055 - TypeReference 1567048 1567053 - Identifier 1567048 1567053 - Parameter 1567056 1567085 - Identifier 1567056 1567068 - TypeOperator 1567069 1567085 - ArrayType 1567078 1567085 - TypeReference 1567078 1567083 - Identifier 1567078 1567083 - Parameter 1567086 1567122 - Identifier 1567086 1567096 - TypeOperator 1567097 1567122 - ArrayType 1567106 1567122 - TypeReference 1567106 1567120 - Identifier 1567106 1567120 - Block 1567123 1567645 - VariableStatement 1567125 1567235 - VariableDeclarationList 1567125 1567234 - VariableDeclaration 1567144 1567234 - Identifier 1567144 1567150 - ConditionalExpression 1567152 1567234 - BinaryExpression 1567152 1567192 - PropertyAccessExpression 1567152 1567171 - Identifier 1567152 1567164 - Identifier 1567165 1567171 - LessThanToken 1567171 1567173 - PropertyAccessExpression 1567173 1567192 - Identifier 1567173 1567185 - Identifier 1567186 1567192 - QuestionToken 1567192 1567194 - PropertyAccessExpression 1567194 1567213 - Identifier 1567194 1567206 - Identifier 1567207 1567213 - ColonToken 1567213 1567215 - PropertyAccessExpression 1567215 1567234 - Identifier 1567215 1567227 - Identifier 1567228 1567234 - ForStatement 1567235 1567634 - VariableDeclarationList 1567254 1567263 - VariableDeclaration 1567257 1567263 - Identifier 1567257 1567259 - NumericLiteral 1567261 1567263 - BinaryExpression 1567264 1567274 - Identifier 1567264 1567266 - LessThanToken 1567266 1567268 - Identifier 1567268 1567274 - PostfixUnaryExpression 1567275 1567279 - Identifier 1567275 1567277 - Block 1567280 1567634 - IfStatement 1567282 1567619 - BinaryExpression 1567304 1567403 - BinaryExpression 1567304 1567324 - Identifier 1567304 1567305 - LessThanToken 1567305 1567307 - PropertyAccessExpression 1567307 1567324 - Identifier 1567307 1567317 - Identifier 1567318 1567324 - AmpersandAmpersandToken 1567324 1567327 - BinaryExpression 1567327 1567403 - ParenthesizedExpression 1567327 1567371 - BinaryExpression 1567329 1567370 - ElementAccessExpression 1567329 1567341 - Identifier 1567329 1567338 - Identifier 1567339 1567340 - AmpersandToken 1567341 1567343 - PropertyAccessExpression 1567343 1567370 - Identifier 1567343 1567357 - Identifier 1567358 1567370 - EqualsEqualsEqualsToken 1567371 1567375 - PropertyAccessExpression 1567375 1567403 - Identifier 1567375 1567389 - Identifier 1567390 1567403 - Block 1567404 1567507 - ExpressionStatement 1567406 1567488 - CallExpression 1567406 1567487 - Identifier 1567406 1567455 - ElementAccessExpression 1567456 1567470 - Identifier 1567456 1567467 - Identifier 1567468 1567469 - ElementAccessExpression 1567471 1567486 - Identifier 1567471 1567483 - Identifier 1567484 1567485 - Block 1567529 1567619 - ExpressionStatement 1567531 1567600 - CallExpression 1567531 1567599 - Identifier 1567531 1567567 - ElementAccessExpression 1567568 1567582 - Identifier 1567568 1567579 - Identifier 1567580 1567581 - ElementAccessExpression 1567583 1567598 - Identifier 1567583 1567595 - Identifier 1567596 1567597 - FunctionDeclaration 1567645 1567869 - Identifier 1567665 1567693 - Parameter 1567694 1567706 - Identifier 1567694 1567700 - TypeReference 1567701 1567706 - Identifier 1567701 1567706 - Parameter 1567707 1567720 - Identifier 1567707 1567714 - TypeReference 1567715 1567720 - Identifier 1567715 1567720 - Block 1567721 1567869 - ExpressionStatement 1567723 1567768 - BinaryExpression 1567723 1567767 - Identifier 1567723 1567750 - EqualsToken 1567750 1567752 - PrefixUnaryExpression 1567752 1567767 - Identifier 1567754 1567767 - ExpressionStatement 1567768 1567813 - CallExpression 1567768 1567812 - Identifier 1567768 1567796 - Identifier 1567797 1567803 - Identifier 1567804 1567811 - ExpressionStatement 1567813 1567858 - BinaryExpression 1567813 1567857 - Identifier 1567813 1567840 - EqualsToken 1567840 1567842 - PrefixUnaryExpression 1567842 1567857 - Identifier 1567844 1567857 - FunctionDeclaration 1567869 1568225 - Identifier 1567889 1567938 - Parameter 1567939 1567951 - Identifier 1567939 1567945 - TypeReference 1567946 1567951 - Identifier 1567946 1567951 - Parameter 1567952 1567965 - Identifier 1567952 1567959 - TypeReference 1567960 1567965 - Identifier 1567960 1567965 - Block 1567966 1568225 - IfStatement 1567968 1568214 - BinaryExpression 1567986 1568050 - Identifier 1567986 1568005 - BarBarToken 1568005 1568008 - BinaryExpression 1568008 1568050 - Identifier 1568008 1568017 - AmpersandToken 1568017 1568019 - PropertyAccessExpression 1568019 1568050 - Identifier 1568019 1568037 - Identifier 1568038 1568050 - Block 1568051 1568130 - ExpressionStatement 1568053 1568115 - CallExpression 1568053 1568114 - Identifier 1568053 1568098 - Identifier 1568099 1568105 - Identifier 1568106 1568113 - Block 1568148 1568214 - ExpressionStatement 1568150 1568199 - CallExpression 1568150 1568198 - Identifier 1568150 1568182 - Identifier 1568183 1568189 - Identifier 1568190 1568197 - FunctionDeclaration 1568225 1568597 - Identifier 1568245 1568269 - Parameter 1568270 1568280 - Identifier 1568270 1568274 - TypeReference 1568275 1568280 - Identifier 1568275 1568280 - Block 1568281 1568597 - IfStatement 1568283 1568555 - BinaryExpression 1568301 1568336 - PropertyAccessExpression 1568301 1568311 - Identifier 1568301 1568305 - Identifier 1568306 1568311 - AmpersandToken 1568311 1568313 - PropertyAccessExpression 1568313 1568336 - Identifier 1568313 1568323 - Identifier 1568324 1568336 - Block 1568337 1568555 - ForOfStatement 1568339 1568540 - VariableDeclarationList 1568362 1568377 - VariableDeclaration 1568367 1568377 - Identifier 1568367 1568377 - Identifier 1568380 1568391 - Block 1568392 1568540 - IfStatement 1568394 1568521 - BinaryExpression 1568420 1568452 - Identifier 1568420 1568424 - EqualsEqualsEqualsToken 1568424 1568428 - PropertyAccessExpression 1568428 1568452 - Identifier 1568428 1568438 - Identifier 1568439 1568452 - Block 1568453 1568521 - ReturnStatement 1568455 1568498 - Identifier 1568487 1568497 - ReturnStatement 1568555 1568586 - Identifier 1568575 1568585 - FunctionDeclaration 1568597 1569126 - Identifier 1568617 1568660 - Parameter 1568661 1568674 - Identifier 1568661 1568666 - ArrayType 1568667 1568674 - TypeReference 1568667 1568672 - Identifier 1568667 1568672 - Block 1568675 1569126 - VariableStatement 1568677 1568726 - VariableDeclarationList 1568677 1568725 - VariableDeclaration 1568694 1568725 - Identifier 1568694 1568707 - UnionType 1568708 1568725 - TypeReference 1568708 1568713 - Identifier 1568708 1568713 - UndefinedKeyword 1568715 1568725 - ForOfStatement 1568726 1569081 - VariableDeclarationList 1568745 1568755 - VariableDeclaration 1568750 1568755 - Identifier 1568750 1568755 - Identifier 1568758 1568764 - Block 1568765 1569081 - VariableStatement 1568767 1568908 - VariableDeclarationList 1568767 1568907 - VariableDeclaration 1568790 1568907 - Identifier 1568790 1568792 - BinaryExpression 1568794 1568907 - BinaryExpression 1568794 1568830 - PropertyAccessExpression 1568794 1568805 - Identifier 1568794 1568799 - Identifier 1568800 1568805 - AmpersandToken 1568805 1568807 - PropertyAccessExpression 1568807 1568830 - Identifier 1568807 1568817 - Identifier 1568818 1568830 - AmpersandAmpersandToken 1568830 1568833 - CallExpression 1568833 1568907 - Identifier 1568833 1568838 - PropertyAccessExpression 1568839 1568871 - ParenthesizedExpression 1568839 1568865 - AsExpression 1568840 1568864 - Identifier 1568840 1568844 - TypeReference 1568847 1568864 - Identifier 1568847 1568864 - Identifier 1568866 1568871 - ArrowFunction 1568872 1568906 - Parameter 1568872 1568874 - Identifier 1568872 1568874 - EqualsGreaterThanToken 1568874 1568877 - PrefixUnaryExpression 1568877 1568906 - PrefixUnaryExpression 1568879 1568906 - CallExpression 1568880 1568906 - Identifier 1568880 1568903 - Identifier 1568904 1568905 - IfStatement 1568908 1569031 - BinaryExpression 1568930 1568970 - PrefixUnaryExpression 1568930 1568932 - Identifier 1568931 1568932 - BarBarToken 1568932 1568935 - BinaryExpression 1568935 1568970 - Identifier 1568935 1568948 - AmpersandAmpersandToken 1568948 1568951 - BinaryExpression 1568951 1568970 - Identifier 1568951 1568953 - ExclamationEqualsEqualsToken 1568953 1568957 - Identifier 1568957 1568970 - Block 1568971 1569031 - ReturnStatement 1568973 1569012 - Identifier 1569001 1569011 - ExpressionStatement 1569031 1569066 - BinaryExpression 1569031 1569065 - Identifier 1569031 1569061 - EqualsToken 1569061 1569063 - Identifier 1569063 1569065 - ReturnStatement 1569081 1569115 - Identifier 1569101 1569114 - FunctionDeclaration 1569126 1573595 - Identifier 1569146 1569167 - Parameter 1569168 1569180 - Identifier 1569168 1569174 - TypeReference 1569175 1569180 - Identifier 1569175 1569180 - Parameter 1569181 1569197 - Identifier 1569181 1569189 - ArrayType 1569190 1569197 - TypeReference 1569190 1569195 - Identifier 1569190 1569195 - Parameter 1569198 1569221 - Identifier 1569198 1569210 - TypeReference 1569211 1569221 - Identifier 1569211 1569221 - Block 1569222 1573595 - VariableStatement 1569224 1569264 - VariableDeclarationList 1569224 1569263 - VariableDeclaration 1569241 1569263 - Identifier 1569241 1569259 - NumericLiteral 1569261 1569263 - IfStatement 1569264 1572871 - BinaryExpression 1569282 1569311 - Identifier 1569282 1569293 - AmpersandToken 1569293 1569295 - PropertyAccessExpression 1569295 1569311 - Identifier 1569295 1569305 - Identifier 1569306 1569311 - Block 1569312 1572281 - VariableStatement 1569314 1569372 - VariableDeclarationList 1569314 1569371 - VariableDeclaration 1569335 1569371 - Identifier 1569335 1569353 - UnionType 1569354 1569371 - TypeReference 1569354 1569359 - Identifier 1569354 1569359 - UndefinedKeyword 1569361 1569371 - VariableStatement 1569372 1569478 - VariableDeclarationList 1569372 1569477 - VariableDeclaration 1569395 1569477 - Identifier 1569395 1569403 - ConditionalExpression 1569405 1569477 - BinaryExpression 1569405 1569436 - PropertyAccessExpression 1569405 1569418 - Identifier 1569405 1569412 - Identifier 1569413 1569418 - AmpersandToken 1569418 1569420 - PropertyAccessExpression 1569420 1569436 - Identifier 1569420 1569430 - Identifier 1569431 1569436 - QuestionToken 1569436 1569438 - PropertyAccessExpression 1569438 1569466 - ParenthesizedExpression 1569438 1569460 - AsExpression 1569440 1569459 - Identifier 1569440 1569446 - TypeReference 1569449 1569459 - Identifier 1569449 1569459 - Identifier 1569461 1569466 - ColonToken 1569466 1569468 - ArrayLiteralExpression 1569468 1569477 - Identifier 1569470 1569476 - VariableStatement 1569478 1569547 - VariableDeclarationList 1569478 1569546 - VariableDeclaration 1569501 1569546 - Identifier 1569501 1569509 - NewExpression 1569511 1569546 - Identifier 1569515 1569521 - BooleanKeyword 1569522 1569529 - PropertyAccessExpression 1569531 1569545 - Identifier 1569531 1569538 - Identifier 1569539 1569545 - VariableStatement 1569547 1569598 - VariableDeclarationList 1569547 1569597 - VariableDeclaration 1569568 1569597 - Identifier 1569568 1569589 - FalseKeyword 1569591 1569597 - ForOfStatement 1569598 1570839 - VariableDeclarationList 1569952 1569959 - VariableDeclaration 1569957 1569959 - Identifier 1569957 1569959 - Identifier 1569962 1569970 - Block 1569971 1570839 - IfStatement 1569973 1570820 - CallExpression 1569999 1570025 - Identifier 1569999 1570022 - Identifier 1570023 1570024 - Block 1570026 1570145 - ExpressionStatement 1570028 1570076 - BinaryExpression 1570028 1570075 - Identifier 1570028 1570071 - EqualsToken 1570071 1570073 - Identifier 1570073 1570075 - ExpressionStatement 1570076 1570122 - PostfixUnaryExpression 1570076 1570121 - Identifier 1570076 1570119 - Block 1570171 1570820 - ForStatement 1570173 1570797 - VariableDeclarationList 1570204 1570213 - VariableDeclaration 1570207 1570213 - Identifier 1570207 1570209 - NumericLiteral 1570211 1570213 - BinaryExpression 1570214 1570233 - Identifier 1570214 1570216 - LessThanToken 1570216 1570218 - PropertyAccessExpression 1570218 1570233 - Identifier 1570218 1570226 - Identifier 1570227 1570233 - PostfixUnaryExpression 1570234 1570238 - Identifier 1570234 1570236 - Block 1570239 1570797 - VariableStatement 1570241 1570319 - VariableDeclarationList 1570241 1570318 - VariableDeclaration 1570276 1570318 - Identifier 1570276 1570298 - Identifier 1570300 1570318 - ExpressionStatement 1570319 1570396 - BinaryExpression 1570319 1570395 - Identifier 1570319 1570366 - EqualsToken 1570366 1570368 - PropertyAccessExpression 1570368 1570395 - Identifier 1570368 1570386 - Identifier 1570387 1570395 - ExpressionStatement 1570396 1570456 - CallExpression 1570396 1570455 - Identifier 1570396 1570440 - ElementAccessExpression 1570441 1570451 - Identifier 1570441 1570448 - Identifier 1570449 1570450 - Identifier 1570452 1570454 - IfStatement 1570456 1570540 - BinaryExpression 1570490 1570520 - Identifier 1570490 1570507 - EqualsEqualsEqualsToken 1570507 1570511 - Identifier 1570511 1570520 - ExpressionStatement 1570521 1570540 - BinaryExpression 1570521 1570539 - ElementAccessExpression 1570521 1570532 - Identifier 1570521 1570529 - Identifier 1570530 1570531 - EqualsToken 1570532 1570534 - TrueKeyword 1570534 1570539 - ExpressionStatement 1570540 1570669 - BinaryExpression 1570540 1570668 - Identifier 1570540 1570590 - EqualsToken 1570590 1570592 - BinaryExpression 1570592 1570668 - Identifier 1570592 1570613 - BarBarToken 1570613 1570616 - BinaryExpression 1570616 1570668 - Identifier 1570616 1570634 - EqualsEqualsEqualsToken 1570634 1570638 - PropertyAccessExpression 1570638 1570668 - Identifier 1570638 1570656 - Identifier 1570657 1570668 - ExpressionStatement 1570669 1570770 - BinaryExpression 1570669 1570769 - Identifier 1570669 1570716 - EqualsToken 1570716 1570718 - CallExpression 1570718 1570769 - PropertyAccessExpression 1570718 1570727 - Identifier 1570718 1570723 - Identifier 1570724 1570727 - Identifier 1570728 1570745 - Identifier 1570746 1570768 - IfStatement 1570839 1571536 - BinaryExpression 1570861 1570884 - Identifier 1570861 1570878 - EqualsEqualsEqualsToken 1570878 1570882 - NumericLiteral 1570882 1570884 - Block 1570885 1571536 - VariableStatement 1570887 1571297 - VariableDeclarationList 1570887 1571296 - VariableDeclaration 1571217 1571296 - Identifier 1571217 1571242 - CallExpression 1571244 1571296 - Identifier 1571244 1571287 - Identifier 1571288 1571295 - IfStatement 1571297 1571488 - Identifier 1571323 1571347 - Block 1571348 1571488 - ExpressionStatement 1571350 1571465 - CallExpression 1571350 1571464 - Identifier 1571350 1571393 - Identifier 1571394 1571400 - Identifier 1571401 1571426 - PropertyAccessExpression 1571427 1571463 - Identifier 1571427 1571445 - Identifier 1571446 1571463 - ReturnStatement 1571488 1571517 - IfStatement 1571536 1572266 - BinaryExpression 1571914 1571962 - BinaryExpression 1571914 1571937 - Identifier 1571914 1571931 - EqualsEqualsEqualsToken 1571931 1571935 - NumericLiteral 1571935 1571937 - AmpersandAmpersandToken 1571937 1571940 - PrefixUnaryExpression 1571940 1571962 - Identifier 1571942 1571962 - Block 1571963 1572266 - VariableStatement 1571965 1572060 - VariableDeclarationList 1571965 1572059 - VariableDeclaration 1571992 1572059 - Identifier 1571992 1572002 - CallExpression 1572004 1572059 - Identifier 1572004 1572012 - Identifier 1572013 1572020 - ArrowFunction 1572021 1572058 - Parameter 1572023 1572024 - Identifier 1572023 1572024 - Parameter 1572025 1572027 - Identifier 1572025 1572027 - EqualsGreaterThanToken 1572028 1572031 - ConditionalExpression 1572031 1572058 - ElementAccessExpression 1572031 1572042 - Identifier 1572031 1572039 - Identifier 1572040 1572041 - QuestionToken 1572042 1572044 - Identifier 1572044 1572054 - ColonToken 1572054 1572056 - Identifier 1572056 1572058 - IfStatement 1572060 1572247 - PropertyAccessExpression 1572086 1572102 - Identifier 1572086 1572095 - Identifier 1572096 1572102 - Block 1572103 1572247 - ExpressionStatement 1572105 1572191 - CallExpression 1572105 1572190 - Identifier 1572105 1572145 - CallExpression 1572146 1572169 - Identifier 1572146 1572158 - Identifier 1572159 1572168 - NonNullExpression 1572170 1572189 - Identifier 1572170 1572188 - ReturnStatement 1572191 1572224 - Block 1572299 1572871 - ForOfStatement 1572301 1572856 - VariableDeclarationList 1572589 1572596 - VariableDeclaration 1572594 1572596 - Identifier 1572594 1572596 - Identifier 1572599 1572607 - Block 1572608 1572856 - IfStatement 1572610 1572837 - CallExpression 1572636 1572662 - Identifier 1572636 1572659 - Identifier 1572660 1572661 - Block 1572663 1572734 - ExpressionStatement 1572665 1572711 - PostfixUnaryExpression 1572665 1572710 - Identifier 1572665 1572708 - Block 1572760 1572837 - ExpressionStatement 1572762 1572814 - CallExpression 1572762 1572813 - Identifier 1572762 1572802 - Identifier 1572803 1572809 - Identifier 1572810 1572812 - IfStatement 1572871 1573584 - ConditionalExpression 1573247 1573333 - BinaryExpression 1573247 1573283 - Identifier 1573247 1573258 - AmpersandToken 1573258 1573260 - PropertyAccessExpression 1573260 1573283 - Identifier 1573260 1573270 - Identifier 1573271 1573283 - QuestionToken 1573283 1573285 - BinaryExpression 1573285 1573309 - Identifier 1573285 1573303 - EqualsEqualsEqualsToken 1573303 1573307 - NumericLiteral 1573307 1573309 - ColonToken 1573309 1573311 - BinaryExpression 1573311 1573333 - Identifier 1573311 1573329 - GreaterThanToken 1573329 1573331 - NumericLiteral 1573331 1573333 - Block 1573334 1573584 - ForOfStatement 1573336 1573569 - VariableDeclarationList 1573359 1573366 - VariableDeclaration 1573364 1573366 - Identifier 1573364 1573366 - Identifier 1573369 1573377 - Block 1573378 1573569 - IfStatement 1573380 1573550 - CallExpression 1573406 1573432 - Identifier 1573406 1573429 - Identifier 1573430 1573431 - Block 1573433 1573550 - ExpressionStatement 1573435 1573527 - CallExpression 1573435 1573526 - Identifier 1573435 1573478 - Identifier 1573479 1573485 - Identifier 1573486 1573488 - PropertyAccessExpression 1573489 1573525 - Identifier 1573489 1573507 - Identifier 1573508 1573525 - FunctionDeclaration 1573595 1577363 - Identifier 1573615 1573633 - Parameter 1573634 1573646 - Identifier 1573634 1573640 - TypeReference 1573641 1573646 - Identifier 1573641 1573646 - Parameter 1573647 1573666 - Identifier 1573647 1573654 - TypeReference 1573655 1573666 - Identifier 1573655 1573666 - Parameter 1573667 1573688 - Identifier 1573667 1573682 - TypeReference 1573683 1573688 - Identifier 1573683 1573688 - BooleanKeyword 1573690 1573698 - Block 1573698 1577363 - IfStatement 1573700 1574092 - BinaryExpression 1573718 1573809 - ParenthesizedExpression 1573718 1573758 - BinaryExpression 1573719 1573757 - PropertyAccessExpression 1573719 1573739 - Identifier 1573719 1573733 - Identifier 1573734 1573739 - AmpersandToken 1573739 1573741 - PropertyAccessExpression 1573741 1573757 - Identifier 1573741 1573751 - Identifier 1573752 1573757 - BarBarToken 1573758 1573761 - ParenthesizedExpression 1573761 1573809 - BinaryExpression 1573763 1573808 - PropertyAccessExpression 1573763 1573783 - Identifier 1573763 1573777 - Identifier 1573778 1573783 - AmpersandToken 1573783 1573785 - PropertyAccessExpression 1573785 1573808 - Identifier 1573785 1573795 - Identifier 1573796 1573808 - Block 1573810 1574092 - VariableStatement 1573812 1573849 - VariableDeclarationList 1573812 1573848 - VariableDeclaration 1573833 1573848 - Identifier 1573833 1573840 - FalseKeyword 1573842 1573848 - ForOfStatement 1573849 1574045 - VariableDeclarationList 1573872 1573882 - VariableDeclaration 1573877 1573882 - Identifier 1573877 1573882 - PropertyAccessExpression 1573885 1573942 - ParenthesizedExpression 1573885 1573936 - AsExpression 1573887 1573935 - Identifier 1573887 1573901 - ParenthesizedType 1573904 1573935 - UnionType 1573906 1573934 - TypeReference 1573906 1573915 - Identifier 1573906 1573915 - TypeReference 1573917 1573934 - Identifier 1573917 1573934 - Identifier 1573937 1573942 - Block 1573943 1574045 - ExpressionStatement 1573945 1574026 - BinaryExpression 1573945 1574025 - Identifier 1573945 1573973 - EqualsToken 1573973 1573975 - BinaryExpression 1573975 1574025 - CallExpression 1573975 1574015 - Identifier 1573975 1573993 - Identifier 1573994 1574000 - Identifier 1574001 1574008 - Identifier 1574009 1574014 - BarBarToken 1574015 1574018 - Identifier 1574018 1574025 - ReturnStatement 1574045 1574077 - Identifier 1574069 1574076 - IfStatement 1574092 1575741 - BinaryExpression 1574110 1574148 - PropertyAccessExpression 1574110 1574130 - Identifier 1574110 1574124 - Identifier 1574125 1574130 - AmpersandToken 1574130 1574132 - PropertyAccessExpression 1574132 1574148 - Identifier 1574132 1574142 - Identifier 1574143 1574148 - Block 1574149 1575741 - VariableStatement 1574151 1574694 - VariableDeclarationList 1574151 1574693 - VariableDeclaration 1574621 1574693 - Identifier 1574621 1574631 - CallExpression 1574633 1574693 - Identifier 1574633 1574657 - PropertyAccessExpression 1574658 1574692 - ParenthesizedExpression 1574658 1574687 - AsExpression 1574659 1574686 - Identifier 1574659 1574673 - TypeReference 1574676 1574686 - Identifier 1574676 1574686 - Identifier 1574688 1574692 - IfStatement 1574694 1575696 - BinaryExpression 1574716 1574788 - BinaryExpression 1574716 1574747 - Identifier 1574716 1574725 - AmpersandAmpersandToken 1574725 1574728 - PrefixUnaryExpression 1574728 1574747 - PropertyAccessExpression 1574730 1574747 - Identifier 1574730 1574739 - Identifier 1574740 1574747 - AmpersandAmpersandToken 1574747 1574750 - PrefixUnaryExpression 1574750 1574788 - CallExpression 1574752 1574788 - Identifier 1574752 1574780 - Identifier 1574781 1574787 - Block 1574789 1575696 - VariableStatement 1574791 1574913 - VariableDeclarationList 1574791 1574912 - VariableDeclaration 1574818 1574912 - Identifier 1574818 1574831 - CallExpression 1574833 1574912 - Identifier 1574833 1574867 - Identifier 1574868 1574874 - Identifier 1574875 1574882 - AsExpression 1574883 1574911 - Identifier 1574883 1574898 - TypeReference 1574901 1574911 - Identifier 1574901 1574911 - IfStatement 1574913 1575677 - Identifier 1574939 1574951 - Block 1574952 1575677 - ExpressionStatement 1574954 1575654 - CallExpression 1574954 1575653 - Identifier 1574954 1575286 - Identifier 1575287 1575329 - PropertyAccessExpression 1575330 1575383 - Identifier 1575330 1575369 - Identifier 1575370 1575383 - ConditionalExpression 1575384 1575625 - BinaryExpression 1575384 1575468 - CallExpression 1575384 1575436 - Identifier 1575384 1575428 - Identifier 1575429 1575435 - AmpersandToken 1575436 1575438 - PropertyAccessExpression 1575438 1575468 - Identifier 1575438 1575450 - Identifier 1575451 1575468 - QuestionToken 1575468 1575470 - PropertyAccessExpression 1575470 1575550 - Identifier 1575470 1575521 - Identifier 1575522 1575550 - ColonToken 1575550 1575552 - PropertyAccessExpression 1575552 1575625 - Identifier 1575552 1575603 - Identifier 1575604 1575625 - ReturnStatement 1575696 1575726 - TrueKeyword 1575720 1575725 - IfStatement 1575741 1577325 - BinaryExpression 1575759 1575805 - PropertyAccessExpression 1575759 1575779 - Identifier 1575759 1575773 - Identifier 1575774 1575779 - AmpersandToken 1575779 1575781 - PropertyAccessExpression 1575781 1575805 - Identifier 1575781 1575791 - Identifier 1575792 1575805 - Block 1575806 1577325 - ExpressionStatement 1575808 1576180 - CallExpression 1575808 1576179 - Identifier 1575808 1576019 - CallExpression 1576020 1576122 - Identifier 1576020 1576032 - Identifier 1576033 1576039 - ConditionalExpression 1576040 1576121 - PrefixUnaryExpression 1576040 1576072 - PrefixUnaryExpression 1576057 1576072 - PropertyAccessExpression 1576058 1576072 - Identifier 1576058 1576064 - Identifier 1576065 1576072 - QuestionToken 1576072 1576074 - PropertyAccessExpression 1576074 1576103 - Identifier 1576074 1576085 - Identifier 1576086 1576103 - ColonToken 1576103 1576105 - PropertyAccessExpression 1576105 1576121 - Identifier 1576105 1576116 - Identifier 1576117 1576121 - Identifier 1576123 1576138 - PropertyAccessExpression 1576139 1576178 - Identifier 1576139 1576157 - Identifier 1576158 1576178 - VariableStatement 1576180 1576620 - VariableDeclarationList 1576180 1576619 - VariableDeclaration 1576562 1576619 - Identifier 1576562 1576581 - CallExpression 1576583 1576619 - Identifier 1576583 1576603 - Identifier 1576604 1576618 - IfStatement 1576620 1576773 - BinaryExpression 1576642 1576717 - Identifier 1576642 1576660 - AmpersandAmpersandToken 1576660 1576663 - CallExpression 1576663 1576717 - Identifier 1576663 1576681 - Identifier 1576682 1576688 - Identifier 1576689 1576696 - Identifier 1576697 1576716 - Block 1576718 1576773 - ReturnStatement 1576720 1576754 - TrueKeyword 1576748 1576753 - VariableStatement 1576773 1577026 - VariableDeclarationList 1576773 1577025 - VariableDeclaration 1576963 1577025 - Identifier 1576963 1576973 - CallExpression 1576975 1577025 - Identifier 1576975 1576979 - CallExpression 1576980 1577007 - Identifier 1576980 1576999 - Identifier 1577000 1577006 - Identifier 1577008 1577024 - VariableStatement 1577026 1577158 - VariableDeclarationList 1577026 1577157 - VariableDeclaration 1577049 1577157 - Identifier 1577049 1577060 - CallExpression 1577062 1577157 - Identifier 1577062 1577066 - CallExpression 1577067 1577094 - Identifier 1577067 1577086 - Identifier 1577087 1577093 - ArrowFunction 1577095 1577156 - Parameter 1577095 1577100 - Identifier 1577095 1577100 - EqualsGreaterThanToken 1577100 1577103 - ConditionalExpression 1577103 1577156 - BinaryExpression 1577103 1577132 - Identifier 1577103 1577108 - ExclamationEqualsEqualsToken 1577108 1577112 - Identifier 1577112 1577132 - QuestionToken 1577132 1577134 - PropertyAccessExpression 1577134 1577144 - Identifier 1577134 1577139 - Identifier 1577140 1577144 - ColonToken 1577144 1577146 - Identifier 1577146 1577156 - ExpressionStatement 1577158 1577280 - CallExpression 1577158 1577279 - Identifier 1577158 1577190 - CallExpression 1577191 1577239 - Identifier 1577191 1577203 - CallExpression 1577204 1577238 - Identifier 1577204 1577215 - Identifier 1577216 1577225 - Identifier 1577226 1577237 - CallExpression 1577240 1577278 - Identifier 1577240 1577270 - Identifier 1577271 1577277 - ReturnStatement 1577280 1577310 - TrueKeyword 1577304 1577309 - ReturnStatement 1577325 1577352 - FalseKeyword 1577345 1577351 - FunctionDeclaration 1577363 1578285 - Identifier 1577383 1577406 - Parameter 1577407 1577419 - Identifier 1577407 1577413 - TypeReference 1577414 1577419 - Identifier 1577414 1577419 - Parameter 1577420 1577444 - Identifier 1577420 1577427 - TypeReference 1577428 1577444 - Identifier 1577428 1577444 - Block 1577445 1578285 - IfStatement 1577447 1578274 - BinaryExpression 1577465 1577501 - PropertyAccessExpression 1577465 1577477 - Identifier 1577465 1577471 - Identifier 1577472 1577477 - AmpersandToken 1577477 1577479 - PropertyAccessExpression 1577479 1577501 - Identifier 1577479 1577489 - Identifier 1577490 1577501 - Block 1577502 1577969 - ExpressionStatement 1577504 1577594 - CallExpression 1577504 1577593 - Identifier 1577504 1577536 - PropertyAccessExpression 1577537 1577574 - ParenthesizedExpression 1577537 1577564 - AsExpression 1577538 1577563 - Identifier 1577538 1577544 - TypeReference 1577547 1577563 - Identifier 1577547 1577563 - Identifier 1577565 1577574 - PropertyAccessExpression 1577575 1577592 - Identifier 1577575 1577582 - Identifier 1577583 1577592 - ExpressionStatement 1577594 1577688 - CallExpression 1577594 1577687 - Identifier 1577594 1577626 - PropertyAccessExpression 1577627 1577666 - ParenthesizedExpression 1577627 1577654 - AsExpression 1577628 1577653 - Identifier 1577628 1577634 - TypeReference 1577637 1577653 - Identifier 1577637 1577653 - Identifier 1577655 1577666 - PropertyAccessExpression 1577667 1577686 - Identifier 1577667 1577674 - Identifier 1577675 1577686 - ExpressionStatement 1577688 1577820 - CallExpression 1577688 1577819 - Identifier 1577688 1577720 - CallExpression 1577721 1577778 - Identifier 1577721 1577751 - AsExpression 1577752 1577777 - Identifier 1577752 1577758 - TypeReference 1577761 1577777 - Identifier 1577761 1577777 - CallExpression 1577779 1577818 - Identifier 1577779 1577810 - Identifier 1577811 1577817 - ExpressionStatement 1577820 1577954 - CallExpression 1577820 1577953 - Identifier 1577820 1577852 - CallExpression 1577853 1577911 - Identifier 1577853 1577884 - AsExpression 1577885 1577910 - Identifier 1577885 1577891 - TypeReference 1577894 1577910 - Identifier 1577894 1577910 - CallExpression 1577912 1577952 - Identifier 1577912 1577944 - Identifier 1577945 1577951 - Block 1577987 1578274 - VariableStatement 1577989 1578109 - VariableDeclarationList 1577989 1578108 - VariableDeclaration 1578012 1578108 - Identifier 1578012 1578024 - ArrayLiteralExpression 1578026 1578108 - CallExpression 1578028 1578066 - Identifier 1578028 1578058 - Identifier 1578059 1578065 - CallExpression 1578067 1578107 - Identifier 1578067 1578099 - Identifier 1578100 1578106 - ExpressionStatement 1578109 1578259 - CallExpression 1578109 1578258 - Identifier 1578109 1578159 - Identifier 1578160 1578166 - Identifier 1578167 1578179 - PropertyAccessExpression 1578180 1578193 - Identifier 1578180 1578187 - Identifier 1578188 1578193 - ConditionalExpression 1578194 1578257 - Identifier 1578194 1578208 - QuestionToken 1578208 1578210 - PropertyAccessExpression 1578210 1578253 - Identifier 1578210 1578228 - Identifier 1578229 1578253 - ColonToken 1578253 1578255 - NumericLiteral 1578255 1578257 - FunctionDeclaration 1578285 1584393 - Identifier 1578305 1578332 - Parameter 1578333 1578345 - Identifier 1578333 1578339 - TypeReference 1578340 1578345 - Identifier 1578340 1578345 - Parameter 1578346 1578374 - Identifier 1578346 1578353 - TypeReference 1578354 1578374 - Identifier 1578354 1578374 - Block 1578375 1584393 - VariableStatement 1578377 1578457 - VariableDeclarationList 1578377 1578456 - VariableDeclaration 1578396 1578456 - Identifier 1578396 1578404 - CallExpression 1578406 1578456 - Identifier 1578406 1578440 - Identifier 1578441 1578447 - Identifier 1578448 1578455 - VariableStatement 1578457 1578498 - VariableDeclarationList 1578457 1578497 - VariableDeclaration 1578476 1578497 - Identifier 1578476 1578482 - PropertyAccessExpression 1578484 1578497 - Identifier 1578484 1578491 - Identifier 1578492 1578497 - IfStatement 1578498 1584382 - BinaryExpression 1579207 1579258 - Identifier 1579207 1579214 - BarBarToken 1579214 1579217 - CallExpression 1579217 1579258 - Identifier 1579217 1579223 - PropertyAccessExpression 1579224 1579236 - Identifier 1579224 1579230 - Identifier 1579231 1579236 - ArrowFunction 1579237 1579257 - Parameter 1579237 1579239 - Identifier 1579237 1579239 - EqualsGreaterThanToken 1579239 1579242 - BinaryExpression 1579242 1579257 - PropertyAccessExpression 1579242 1579251 - Identifier 1579242 1579244 - Identifier 1579245 1579251 - EqualsEqualsEqualsToken 1579251 1579255 - NumericLiteral 1579255 1579257 - Block 1579259 1584382 - ForStatement 1579261 1584367 - VariableDeclarationList 1579284 1579293 - VariableDeclaration 1579287 1579293 - Identifier 1579287 1579289 - NumericLiteral 1579291 1579293 - BinaryExpression 1579294 1579311 - Identifier 1579294 1579296 - LessThanToken 1579296 1579298 - PropertyAccessExpression 1579298 1579311 - Identifier 1579298 1579304 - Identifier 1579305 1579311 - PostfixUnaryExpression 1579312 1579316 - Identifier 1579312 1579314 - Block 1579317 1584367 - VariableStatement 1579319 1579389 - VariableDeclarationList 1579319 1579388 - VariableDeclaration 1579346 1579388 - Identifier 1579346 1579353 - ConditionalExpression 1579355 1579388 - Identifier 1579355 1579363 - QuestionToken 1579363 1579365 - ElementAccessExpression 1579365 1579376 - Identifier 1579365 1579373 - Identifier 1579374 1579375 - ColonToken 1579376 1579378 - Identifier 1579378 1579388 - VariableStatement 1579389 1579435 - VariableDeclarationList 1579389 1579434 - VariableDeclaration 1579416 1579434 - Identifier 1579416 1579423 - ElementAccessExpression 1579425 1579434 - Identifier 1579425 1579431 - Identifier 1579432 1579433 - IfStatement 1579435 1584293 - BinaryExpression 1579717 1579796 - BinaryExpression 1579717 1579755 - PropertyAccessExpression 1579717 1579729 - Identifier 1579717 1579723 - Identifier 1579724 1579729 - AmpersandToken 1579729 1579731 - PropertyAccessExpression 1579731 1579755 - Identifier 1579731 1579741 - Identifier 1579742 1579755 - AmpersandAmpersandToken 1579755 1579758 - BinaryExpression 1579758 1579796 - PropertyAccessExpression 1579758 1579771 - Identifier 1579758 1579765 - Identifier 1579766 1579771 - AmpersandToken 1579771 1579773 - PropertyAccessExpression 1579773 1579796 - Identifier 1579773 1579783 - Identifier 1579784 1579796 - Block 1579797 1584293 - VariableStatement 1579799 1579882 - VariableDeclarationList 1579799 1579881 - VariableDeclaration 1579830 1579881 - Identifier 1579830 1579847 - CallExpression 1579849 1579881 - Identifier 1579849 1579873 - Identifier 1579874 1579880 - VariableStatement 1579882 1580014 - VariableDeclarationList 1579882 1580013 - VariableDeclaration 1579913 1580013 - Identifier 1579913 1579924 - ConditionalExpression 1579926 1580013 - Identifier 1579926 1579943 - QuestionToken 1579943 1579945 - CallExpression 1579945 1580001 - Identifier 1579945 1579969 - PropertyAccessExpression 1579970 1580000 - Identifier 1579970 1579986 - Identifier 1579987 1580000 - ColonToken 1580001 1580003 - Identifier 1580003 1580013 - IfStatement 1580014 1584270 - BinaryExpression 1580044 1580080 - Identifier 1580044 1580054 - AmpersandAmpersandToken 1580054 1580057 - PrefixUnaryExpression 1580057 1580080 - CallExpression 1580059 1580080 - Identifier 1580059 1580068 - Identifier 1580069 1580079 - Block 1580081 1584270 - VariableStatement 1580083 1580221 - VariableDeclarationList 1580083 1580220 - VariableDeclaration 1580118 1580220 - Identifier 1580118 1580134 - ConditionalExpression 1580136 1580220 - BinaryExpression 1580136 1580171 - PropertyAccessExpression 1580136 1580153 - Identifier 1580136 1580147 - Identifier 1580148 1580153 - AmpersandToken 1580153 1580155 - PropertyAccessExpression 1580155 1580171 - Identifier 1580155 1580165 - Identifier 1580166 1580171 - QuestionToken 1580171 1580173 - PropertyAccessExpression 1580173 1580205 - ParenthesizedExpression 1580173 1580199 - AsExpression 1580175 1580198 - Identifier 1580175 1580185 - TypeReference 1580188 1580198 - Identifier 1580188 1580198 - Identifier 1580200 1580205 - ColonToken 1580205 1580207 - ArrayLiteralExpression 1580207 1580220 - Identifier 1580209 1580219 - VariableStatement 1580221 1580356 - VariableDeclarationList 1580221 1580355 - VariableDeclaration 1580254 1580355 - Identifier 1580254 1580267 - TypeReference 1580268 1580278 - Identifier 1580268 1580278 - CallExpression 1580280 1580355 - Identifier 1580280 1580291 - Identifier 1580292 1580307 - ArrowFunction 1580308 1580338 - Parameter 1580310 1580315 - Identifier 1580310 1580315 - Parameter 1580316 1580318 - Identifier 1580316 1580318 - EqualsGreaterThanToken 1580319 1580322 - BinaryExpression 1580322 1580338 - Identifier 1580322 1580328 - BarToken 1580328 1580330 - PropertyAccessExpression 1580330 1580338 - Identifier 1580330 1580332 - Identifier 1580333 1580338 - AsExpression 1580339 1580354 - NumericLiteral 1580339 1580341 - TypeReference 1580344 1580354 - Identifier 1580344 1580354 - IfStatement 1580356 1584243 - PrefixUnaryExpression 1580509 1580543 - ParenthesizedExpression 1580510 1580543 - BinaryExpression 1580511 1580542 - Identifier 1580511 1580523 - AmpersandToken 1580523 1580525 - PropertyAccessExpression 1580525 1580542 - Identifier 1580525 1580535 - Identifier 1580536 1580542 - Block 1580544 1584243 - VariableStatement 1580546 1580628 - VariableDeclarationList 1580546 1580627 - VariableDeclaration 1580585 1580627 - Identifier 1580585 1580589 - PropertyAccessExpression 1580591 1580627 - ParenthesizedExpression 1580591 1580621 - AsExpression 1580593 1580620 - Identifier 1580593 1580599 - TypeReference 1580602 1580620 - Identifier 1580602 1580620 - Identifier 1580622 1580627 - IfStatement 1580628 1581009 - BinaryExpression 1580807 1580895 - BinaryExpression 1580807 1580842 - Identifier 1580807 1580819 - AmpersandToken 1580819 1580821 - PropertyAccessExpression 1580821 1580842 - Identifier 1580821 1580831 - Identifier 1580832 1580842 - AmpersandAmpersandToken 1580842 1580845 - PrefixUnaryExpression 1580845 1580895 - CallExpression 1580847 1580895 - Identifier 1580847 1580866 - Identifier 1580867 1580870 - TrueKeyword 1580871 1580894 - Block 1580896 1581009 - ExpressionStatement 1580898 1580974 - BinaryExpression 1580898 1580973 - Identifier 1580898 1580948 - AmpersandEqualsToken 1580948 1580951 - PrefixUnaryExpression 1580951 1580973 - PropertyAccessExpression 1580953 1580973 - Identifier 1580953 1580962 - Identifier 1580963 1580973 - IfStatement 1581009 1581390 - BinaryExpression 1581188 1581276 - BinaryExpression 1581188 1581223 - Identifier 1581188 1581200 - AmpersandToken 1581200 1581202 - PropertyAccessExpression 1581202 1581223 - Identifier 1581202 1581212 - Identifier 1581213 1581223 - AmpersandAmpersandToken 1581223 1581226 - PrefixUnaryExpression 1581226 1581276 - CallExpression 1581228 1581276 - Identifier 1581228 1581247 - Identifier 1581248 1581251 - TrueKeyword 1581252 1581275 - Block 1581277 1581390 - ExpressionStatement 1581279 1581355 - BinaryExpression 1581279 1581354 - Identifier 1581279 1581329 - AmpersandEqualsToken 1581329 1581332 - PrefixUnaryExpression 1581332 1581354 - PropertyAccessExpression 1581334 1581354 - Identifier 1581334 1581343 - Identifier 1581344 1581354 - VariableStatement 1581390 1583973 - VariableDeclarationList 1581390 1583972 - VariableDeclaration 1581540 1583972 - Identifier 1581540 1581553 - CallExpression 1581555 1583972 - Identifier 1581555 1581566 - Identifier 1581567 1581582 - ArrowFunction 1581583 1583952 - Parameter 1581585 1581589 - Identifier 1581585 1581589 - Parameter 1581590 1581596 - Identifier 1581590 1581596 - EqualsGreaterThanToken 1581597 1581600 - ConditionalExpression 1581600 1583952 - PrefixUnaryExpression 1581600 1581667 - ParenthesizedExpression 1581639 1581667 - BinaryExpression 1581640 1581666 - PropertyAccessExpression 1581640 1581651 - Identifier 1581640 1581645 - Identifier 1581646 1581651 - AmpersandToken 1581651 1581653 - Identifier 1581653 1581666 - QuestionToken 1581667 1581669 - Identifier 1581669 1581674 - ColonToken 1581674 1581676 - ConditionalExpression 1581676 1583952 - BinaryExpression 1581676 1581747 - PropertyAccessExpression 1581676 1581728 - Identifier 1581676 1581722 - Identifier 1581723 1581728 - AmpersandToken 1581728 1581730 - PropertyAccessExpression 1581730 1581747 - Identifier 1581730 1581740 - Identifier 1581741 1581747 - QuestionToken 1581747 1581749 - Identifier 1581749 1581754 - ColonToken 1581754 1581756 - ConditionalExpression 1581756 1583952 - BinaryExpression 1581756 1581787 - PropertyAccessExpression 1581756 1581768 - Identifier 1581756 1581762 - Identifier 1581763 1581768 - AmpersandToken 1581768 1581770 - PropertyAccessExpression 1581770 1581787 - Identifier 1581770 1581780 - Identifier 1581781 1581787 - QuestionToken 1581787 1581789 - Identifier 1581789 1581796 - ColonToken 1581796 1581798 - ConditionalExpression 1581798 1583952 - BinaryExpression 1581798 1581878 - PropertyAccessExpression 1581798 1581850 - Identifier 1581798 1581844 - Identifier 1581845 1581850 - AmpersandToken 1581850 1581852 - PropertyAccessExpression 1581852 1581878 - Identifier 1581852 1581862 - Identifier 1581863 1581878 - QuestionToken 1581878 1581880 - Identifier 1581880 1581885 - ColonToken 1581885 1581887 - ConditionalExpression 1581887 1583952 - BinaryExpression 1581887 1582003 - BinaryExpression 1581887 1581927 - PropertyAccessExpression 1581887 1581899 - Identifier 1581887 1581893 - Identifier 1581894 1581899 - AmpersandToken 1581899 1581901 - PropertyAccessExpression 1581901 1581927 - Identifier 1581901 1581911 - Identifier 1581912 1581927 - AmpersandAmpersandToken 1581927 1581930 - CallExpression 1581930 1582003 - Identifier 1581930 1581965 - Identifier 1581966 1581972 - AsExpression 1581973 1582002 - Identifier 1581973 1581979 - TypeReference 1581982 1582002 - Identifier 1581982 1582002 - QuestionToken 1582003 1582005 - Identifier 1582005 1582012 - ColonToken 1582012 1582014 - ConditionalExpression 1582014 1583952 - BinaryExpression 1582014 1582092 - PropertyAccessExpression 1582014 1582066 - Identifier 1582014 1582060 - Identifier 1582061 1582066 - AmpersandToken 1582066 1582068 - PropertyAccessExpression 1582068 1582092 - Identifier 1582068 1582078 - Identifier 1582079 1582092 - QuestionToken 1582092 1582094 - Identifier 1582094 1582099 - ColonToken 1582099 1582101 - ConditionalExpression 1582101 1583952 - BinaryExpression 1582101 1582188 - BinaryExpression 1582101 1582139 - PropertyAccessExpression 1582101 1582113 - Identifier 1582101 1582107 - Identifier 1582108 1582113 - AmpersandToken 1582113 1582115 - PropertyAccessExpression 1582115 1582139 - Identifier 1582115 1582125 - Identifier 1582126 1582139 - AmpersandAmpersandToken 1582139 1582142 - BinaryExpression 1582142 1582188 - Identifier 1582142 1582146 - EqualsEqualsEqualsToken 1582146 1582150 - CallExpression 1582150 1582188 - Identifier 1582150 1582169 - PropertyAccessExpression 1582170 1582182 - Identifier 1582170 1582175 - Identifier 1582176 1582182 - Identifier 1582183 1582187 - QuestionToken 1582188 1582190 - Identifier 1582190 1582197 - ColonToken 1582197 1582199 - ConditionalExpression 1582199 1583952 - BinaryExpression 1582199 1582277 - PropertyAccessExpression 1582199 1582251 - Identifier 1582199 1582245 - Identifier 1582246 1582251 - AmpersandToken 1582251 1582253 - PropertyAccessExpression 1582253 1582277 - Identifier 1582253 1582263 - Identifier 1582264 1582277 - QuestionToken 1582277 1582279 - Identifier 1582279 1582284 - ColonToken 1582284 1582286 - ConditionalExpression 1582286 1583952 - BinaryExpression 1582286 1582370 - BinaryExpression 1582286 1582324 - PropertyAccessExpression 1582286 1582298 - Identifier 1582286 1582292 - Identifier 1582293 1582298 - AmpersandToken 1582298 1582300 - PropertyAccessExpression 1582300 1582324 - Identifier 1582300 1582310 - Identifier 1582311 1582324 - AmpersandAmpersandToken 1582324 1582327 - BinaryExpression 1582327 1582370 - PropertyAccessExpression 1582327 1582362 - ParenthesizedExpression 1582327 1582356 - AsExpression 1582329 1582355 - Identifier 1582329 1582334 - TypeReference 1582337 1582355 - Identifier 1582337 1582355 - Identifier 1582357 1582362 - EqualsEqualsEqualsToken 1582362 1582366 - Identifier 1582366 1582370 - QuestionToken 1582370 1582372 - Identifier 1582372 1582378 - ColonToken 1582378 1582380 - ConditionalExpression 1582380 1583952 - BinaryExpression 1582380 1582451 - PropertyAccessExpression 1582380 1582432 - Identifier 1582380 1582426 - Identifier 1582427 1582432 - AmpersandToken 1582432 1582434 - PropertyAccessExpression 1582434 1582451 - Identifier 1582434 1582444 - Identifier 1582445 1582451 - QuestionToken 1582451 1582453 - Identifier 1582453 1582458 - ColonToken 1582458 1582460 - ConditionalExpression 1582460 1583952 - BinaryExpression 1582460 1582491 - PropertyAccessExpression 1582460 1582472 - Identifier 1582460 1582466 - Identifier 1582467 1582472 - AmpersandToken 1582472 1582474 - PropertyAccessExpression 1582474 1582491 - Identifier 1582474 1582484 - Identifier 1582485 1582491 - QuestionToken 1582491 1582493 - CallExpression 1582493 1582520 - Identifier 1582493 1582514 - PrefixUnaryExpression 1582515 1582519 - Identifier 1582516 1582519 - ColonToken 1582520 1582522 - ConditionalExpression 1582522 1583952 - BinaryExpression 1582522 1582591 - PropertyAccessExpression 1582522 1582574 - Identifier 1582522 1582568 - Identifier 1582569 1582574 - AmpersandToken 1582574 1582576 - PropertyAccessExpression 1582576 1582591 - Identifier 1582576 1582586 - Identifier 1582587 1582591 - QuestionToken 1582591 1582593 - Identifier 1582593 1582598 - ColonToken 1582598 1582600 - ConditionalExpression 1582600 1583952 - BinaryExpression 1582600 1582629 - PropertyAccessExpression 1582600 1582612 - Identifier 1582600 1582606 - Identifier 1582607 1582612 - AmpersandToken 1582612 1582614 - PropertyAccessExpression 1582614 1582629 - Identifier 1582614 1582624 - Identifier 1582625 1582629 - QuestionToken 1582629 1582631 - CallExpression 1582631 1582658 - Identifier 1582631 1582652 - PrefixUnaryExpression 1582653 1582657 - Identifier 1582654 1582657 - ColonToken 1582658 1582660 - ConditionalExpression 1582660 1583952 - BinaryExpression 1582660 1582738 - PropertyAccessExpression 1582660 1582712 - Identifier 1582660 1582706 - Identifier 1582707 1582712 - AmpersandToken 1582712 1582714 - PropertyAccessExpression 1582714 1582738 - Identifier 1582714 1582724 - Identifier 1582725 1582738 - QuestionToken 1582738 1582740 - Identifier 1582740 1582745 - ColonToken 1582745 1582747 - ConditionalExpression 1582747 1583952 - BinaryExpression 1582747 1582832 - BinaryExpression 1582747 1582785 - PropertyAccessExpression 1582747 1582759 - Identifier 1582747 1582753 - Identifier 1582754 1582759 - AmpersandToken 1582759 1582761 - PropertyAccessExpression 1582761 1582785 - Identifier 1582761 1582771 - Identifier 1582772 1582785 - AmpersandAmpersandToken 1582785 1582788 - BinaryExpression 1582788 1582832 - PropertyAccessExpression 1582788 1582823 - ParenthesizedExpression 1582788 1582817 - AsExpression 1582790 1582816 - Identifier 1582790 1582795 - TypeReference 1582798 1582816 - Identifier 1582798 1582816 - Identifier 1582818 1582823 - EqualsEqualsEqualsToken 1582823 1582827 - PrefixUnaryExpression 1582827 1582832 - Identifier 1582829 1582832 - QuestionToken 1582832 1582834 - Identifier 1582834 1582840 - ColonToken 1582840 1582842 - ConditionalExpression 1582842 1583952 - BinaryExpression 1582842 1582913 - PropertyAccessExpression 1582842 1582894 - Identifier 1582842 1582888 - Identifier 1582889 1582894 - AmpersandToken 1582894 1582896 - PropertyAccessExpression 1582896 1582913 - Identifier 1582896 1582906 - Identifier 1582907 1582913 - QuestionToken 1582913 1582915 - Identifier 1582915 1582920 - ColonToken 1582920 1582922 - ConditionalExpression 1582922 1583952 - BinaryExpression 1582922 1582953 - PropertyAccessExpression 1582922 1582934 - Identifier 1582922 1582928 - Identifier 1582929 1582934 - AmpersandToken 1582934 1582936 - PropertyAccessExpression 1582936 1582953 - Identifier 1582936 1582946 - Identifier 1582947 1582953 - QuestionToken 1582953 1582955 - CallExpression 1582955 1582983 - Identifier 1582955 1582978 - Identifier 1582979 1582982 - ColonToken 1582983 1582985 - ConditionalExpression 1582985 1583952 - BinaryExpression 1582985 1583063 - PropertyAccessExpression 1582985 1583037 - Identifier 1582985 1583031 - Identifier 1583032 1583037 - AmpersandToken 1583037 1583039 - PropertyAccessExpression 1583039 1583063 - Identifier 1583039 1583049 - Identifier 1583050 1583063 - QuestionToken 1583063 1583065 - Identifier 1583065 1583070 - ColonToken 1583070 1583072 - ConditionalExpression 1583072 1583952 - BinaryExpression 1583072 1583178 - BinaryExpression 1583072 1583110 - PropertyAccessExpression 1583072 1583084 - Identifier 1583072 1583078 - Identifier 1583079 1583084 - AmpersandToken 1583084 1583086 - PropertyAccessExpression 1583086 1583110 - Identifier 1583086 1583096 - Identifier 1583097 1583110 - AmpersandAmpersandToken 1583110 1583113 - BinaryExpression 1583113 1583178 - CallExpression 1583113 1583170 - Identifier 1583113 1583134 - PropertyAccessExpression 1583135 1583169 - ParenthesizedExpression 1583135 1583163 - AsExpression 1583136 1583162 - Identifier 1583136 1583141 - TypeReference 1583144 1583162 - Identifier 1583144 1583162 - Identifier 1583164 1583169 - EqualsEqualsEqualsToken 1583170 1583174 - Identifier 1583174 1583178 - QuestionToken 1583178 1583180 - Identifier 1583180 1583186 - ColonToken 1583186 1583188 - ConditionalExpression 1583188 1583952 - BinaryExpression 1583188 1583260 - PropertyAccessExpression 1583188 1583240 - Identifier 1583188 1583234 - Identifier 1583235 1583240 - AmpersandToken 1583240 1583242 - PropertyAccessExpression 1583242 1583260 - Identifier 1583242 1583252 - Identifier 1583253 1583260 - QuestionToken 1583260 1583262 - Identifier 1583262 1583267 - ColonToken 1583267 1583269 - ConditionalExpression 1583269 1583952 - BinaryExpression 1583269 1583301 - PropertyAccessExpression 1583269 1583281 - Identifier 1583269 1583275 - Identifier 1583276 1583281 - AmpersandToken 1583281 1583283 - PropertyAccessExpression 1583283 1583301 - Identifier 1583283 1583293 - Identifier 1583294 1583301 - QuestionToken 1583301 1583303 - ConditionalExpression 1583303 1583373 - BinaryExpression 1583303 1583318 - Identifier 1583303 1583307 - EqualsEqualsEqualsToken 1583307 1583311 - StringLiteral 1583311 1583318 - QuestionToken 1583318 1583320 - Identifier 1583320 1583329 - ColonToken 1583329 1583331 - ConditionalExpression 1583331 1583373 - BinaryExpression 1583331 1583347 - Identifier 1583331 1583335 - EqualsEqualsEqualsToken 1583335 1583339 - StringLiteral 1583339 1583347 - QuestionToken 1583347 1583349 - Identifier 1583349 1583359 - ColonToken 1583359 1583361 - Identifier 1583361 1583373 - ColonToken 1583373 1583375 - ConditionalExpression 1583375 1583952 - BinaryExpression 1583375 1583454 - PropertyAccessExpression 1583375 1583427 - Identifier 1583375 1583421 - Identifier 1583422 1583427 - AmpersandToken 1583427 1583429 - PropertyAccessExpression 1583429 1583454 - Identifier 1583429 1583439 - Identifier 1583440 1583454 - QuestionToken 1583454 1583456 - Identifier 1583456 1583461 - ColonToken 1583461 1583463 - ConditionalExpression 1583463 1583952 - BinaryExpression 1583463 1583552 - BinaryExpression 1583463 1583502 - PropertyAccessExpression 1583463 1583475 - Identifier 1583463 1583469 - Identifier 1583470 1583475 - AmpersandToken 1583475 1583477 - PropertyAccessExpression 1583477 1583502 - Identifier 1583477 1583487 - Identifier 1583488 1583502 - AmpersandAmpersandToken 1583502 1583505 - BinaryExpression 1583505 1583552 - PropertyAccessExpression 1583505 1583544 - ParenthesizedExpression 1583505 1583530 - AsExpression 1583507 1583529 - Identifier 1583507 1583512 - TypeReference 1583515 1583529 - Identifier 1583515 1583529 - Identifier 1583531 1583544 - EqualsEqualsEqualsToken 1583544 1583548 - Identifier 1583548 1583552 - QuestionToken 1583552 1583554 - Identifier 1583554 1583560 - ColonToken 1583560 1583562 - ConditionalExpression 1583562 1583952 - BinaryExpression 1583562 1583636 - PropertyAccessExpression 1583562 1583614 - Identifier 1583562 1583608 - Identifier 1583609 1583614 - AmpersandToken 1583614 1583616 - PropertyAccessExpression 1583616 1583636 - Identifier 1583616 1583626 - Identifier 1583627 1583636 - QuestionToken 1583636 1583638 - Identifier 1583638 1583643 - ColonToken 1583643 1583645 - ConditionalExpression 1583645 1583952 - BinaryExpression 1583645 1583729 - BinaryExpression 1583645 1583679 - PropertyAccessExpression 1583645 1583657 - Identifier 1583645 1583651 - Identifier 1583652 1583657 - AmpersandToken 1583657 1583659 - PropertyAccessExpression 1583659 1583679 - Identifier 1583659 1583669 - Identifier 1583670 1583679 - AmpersandAmpersandToken 1583679 1583682 - BinaryExpression 1583682 1583729 - PropertyAccessExpression 1583682 1583721 - ParenthesizedExpression 1583682 1583707 - AsExpression 1583684 1583706 - Identifier 1583684 1583689 - TypeReference 1583692 1583706 - Identifier 1583692 1583706 - Identifier 1583708 1583721 - EqualsEqualsEqualsToken 1583721 1583725 - Identifier 1583725 1583729 - QuestionToken 1583729 1583731 - Identifier 1583731 1583737 - ColonToken 1583737 1583739 - ConditionalExpression 1583739 1583952 - BinaryExpression 1583739 1583808 - PropertyAccessExpression 1583739 1583791 - Identifier 1583739 1583785 - Identifier 1583786 1583791 - AmpersandToken 1583791 1583793 - PropertyAccessExpression 1583793 1583808 - Identifier 1583793 1583803 - Identifier 1583804 1583808 - QuestionToken 1583808 1583810 - Identifier 1583810 1583815 - ColonToken 1583815 1583817 - ConditionalExpression 1583817 1583952 - BinaryExpression 1583817 1583896 - BinaryExpression 1583817 1583846 - PropertyAccessExpression 1583817 1583829 - Identifier 1583817 1583823 - Identifier 1583824 1583829 - AmpersandToken 1583829 1583831 - PropertyAccessExpression 1583831 1583846 - Identifier 1583831 1583841 - Identifier 1583842 1583846 - AmpersandAmpersandToken 1583846 1583849 - BinaryExpression 1583849 1583896 - PropertyAccessExpression 1583849 1583888 - ParenthesizedExpression 1583849 1583874 - AsExpression 1583851 1583873 - Identifier 1583851 1583856 - TypeReference 1583859 1583873 - Identifier 1583859 1583873 - Identifier 1583875 1583888 - EqualsEqualsEqualsToken 1583888 1583892 - Identifier 1583892 1583896 - QuestionToken 1583896 1583898 - Identifier 1583898 1583904 - ColonToken 1583904 1583906 - Identifier 1583906 1583952 - AsExpression 1583953 1583971 - Identifier 1583953 1583963 - TypeReference 1583966 1583971 - Identifier 1583966 1583971 - IfStatement 1583973 1584212 - PrefixUnaryExpression 1584013 1584052 - ParenthesizedExpression 1584014 1584052 - BinaryExpression 1584015 1584051 - PropertyAccessExpression 1584015 1584033 - Identifier 1584015 1584027 - Identifier 1584028 1584033 - AmpersandToken 1584033 1584035 - PropertyAccessExpression 1584035 1584051 - Identifier 1584035 1584045 - Identifier 1584046 1584051 - Block 1584053 1584212 - ExpressionStatement 1584055 1584130 - CallExpression 1584055 1584129 - Identifier 1584055 1584107 - Identifier 1584108 1584120 - Identifier 1584121 1584128 - ContinueStatement 1584130 1584177 - ExpressionStatement 1584293 1584348 - CallExpression 1584293 1584347 - Identifier 1584293 1584331 - Identifier 1584332 1584338 - Identifier 1584339 1584346 - FunctionDeclaration 1584393 1585109 - Identifier 1584413 1584441 - Parameter 1584442 1584460 - Identifier 1584442 1584448 - TypeReference 1584449 1584460 - Identifier 1584449 1584460 - Parameter 1584461 1584480 - Identifier 1584461 1584468 - TypeReference 1584469 1584480 - Identifier 1584469 1584480 - Block 1584481 1585109 - ExpressionStatement 1584483 1584750 - CallExpression 1584483 1584749 - Identifier 1584483 1584667 - CallExpression 1584668 1584707 - Identifier 1584668 1584699 - Identifier 1584700 1584706 - CallExpression 1584708 1584748 - Identifier 1584708 1584740 - Identifier 1584741 1584747 - ExpressionStatement 1584750 1584857 - CallExpression 1584750 1584856 - Identifier 1584750 1584778 - CallExpression 1584779 1584816 - Identifier 1584779 1584808 - Identifier 1584809 1584815 - CallExpression 1584817 1584855 - Identifier 1584817 1584847 - Identifier 1584848 1584854 - VariableStatement 1584857 1584928 - VariableDeclarationList 1584857 1584927 - VariableDeclaration 1584876 1584927 - Identifier 1584876 1584891 - CallExpression 1584893 1584927 - Identifier 1584893 1584919 - Identifier 1584920 1584926 - VariableStatement 1584928 1584999 - VariableDeclarationList 1584928 1584998 - VariableDeclaration 1584947 1584998 - Identifier 1584947 1584962 - CallExpression 1584964 1584998 - Identifier 1584964 1584990 - Identifier 1584991 1584997 - IfStatement 1584999 1585098 - BinaryExpression 1585017 1585049 - Identifier 1585017 1585031 - AmpersandAmpersandToken 1585031 1585034 - Identifier 1585034 1585049 - ExpressionStatement 1585050 1585098 - CallExpression 1585050 1585097 - Identifier 1585050 1585065 - Identifier 1585066 1585080 - Identifier 1585081 1585096 - FunctionDeclaration 1585109 1595059 - Identifier 1585129 1585150 - Parameter 1585151 1585163 - Identifier 1585151 1585157 - TypeReference 1585158 1585163 - Identifier 1585158 1585163 - Parameter 1585164 1585177 - Identifier 1585164 1585171 - TypeReference 1585172 1585177 - Identifier 1585172 1585177 - Block 1585178 1595059 - IfStatement 1585180 1585813 - BinaryExpression 1585198 1585473 - BinaryExpression 1585198 1585312 - BinaryExpression 1585198 1585262 - CallExpression 1585198 1585238 - Identifier 1585198 1585230 - Identifier 1585231 1585237 - AmpersandToken 1585238 1585240 - PropertyAccessExpression 1585240 1585262 - Identifier 1585240 1585252 - Identifier 1585253 1585262 - AmpersandAmpersandToken 1585262 1585265 - BinaryExpression 1585265 1585312 - CallExpression 1585265 1585288 - Identifier 1585265 1585280 - Identifier 1585281 1585287 - AmpersandToken 1585288 1585290 - PropertyAccessExpression 1585290 1585312 - Identifier 1585290 1585302 - Identifier 1585303 1585312 - AmpersandAmpersandToken 1585312 1585315 - ParenthesizedExpression 1585315 1585473 - BinaryExpression 1585317 1585454 - BinaryExpression 1585317 1585408 - PropertyAccessExpression 1585317 1585371 - ParenthesizedExpression 1585317 1585364 - AsExpression 1585340 1585363 - Identifier 1585340 1585346 - TypeReference 1585349 1585363 - Identifier 1585349 1585363 - Identifier 1585365 1585371 - EqualsEqualsEqualsToken 1585371 1585375 - PropertyAccessExpression 1585375 1585408 - ParenthesizedExpression 1585375 1585401 - AsExpression 1585377 1585400 - Identifier 1585377 1585383 - TypeReference 1585386 1585400 - Identifier 1585386 1585400 - Identifier 1585402 1585408 - BarBarToken 1585408 1585411 - BinaryExpression 1585411 1585454 - CallExpression 1585411 1585431 - Identifier 1585411 1585423 - Identifier 1585424 1585430 - AmpersandAmpersandToken 1585431 1585434 - CallExpression 1585434 1585454 - Identifier 1585434 1585446 - Identifier 1585447 1585453 - Block 1585488 1585813 - ExpressionStatement 1585490 1585773 - CallExpression 1585490 1585772 - Identifier 1585490 1585638 - CallExpression 1585639 1585680 - Identifier 1585639 1585655 - AsExpression 1585656 1585679 - Identifier 1585656 1585662 - TypeReference 1585665 1585679 - Identifier 1585665 1585679 - CallExpression 1585681 1585723 - Identifier 1585681 1585698 - AsExpression 1585699 1585722 - Identifier 1585699 1585705 - TypeReference 1585708 1585722 - Identifier 1585708 1585722 - CallExpression 1585724 1585771 - Identifier 1585724 1585737 - PropertyAccessExpression 1585738 1585770 - ParenthesizedExpression 1585738 1585763 - AsExpression 1585739 1585762 - Identifier 1585739 1585745 - TypeReference 1585748 1585762 - Identifier 1585748 1585762 - Identifier 1585764 1585770 - ReturnStatement 1585773 1585798 - IfStatement 1585813 1585969 - BinaryExpression 1585831 1585889 - CallExpression 1585831 1585858 - Identifier 1585831 1585850 - Identifier 1585851 1585857 - AmpersandAmpersandToken 1585858 1585861 - CallExpression 1585861 1585889 - Identifier 1585861 1585881 - Identifier 1585882 1585888 - Block 1585890 1585969 - ExpressionStatement 1585892 1585954 - CallExpression 1585892 1585953 - Identifier 1585892 1585937 - Identifier 1585938 1585944 - Identifier 1585945 1585952 - IfStatement 1585969 1586327 - BinaryExpression 1585987 1586078 - BinaryExpression 1585987 1586030 - CallExpression 1585987 1586009 - Identifier 1585987 1586001 - Identifier 1586002 1586008 - AmpersandToken 1586009 1586011 - PropertyAccessExpression 1586011 1586030 - Identifier 1586011 1586023 - Identifier 1586024 1586030 - AmpersandAmpersandToken 1586030 1586033 - PrefixUnaryExpression 1586033 1586078 - PropertyAccessExpression 1586035 1586078 - PropertyAccessExpression 1586035 1586069 - ParenthesizedExpression 1586035 1586057 - AsExpression 1586036 1586056 - Identifier 1586036 1586042 - TypeReference 1586045 1586056 - Identifier 1586045 1586056 - Identifier 1586058 1586069 - Identifier 1586070 1586078 - Block 1586079 1586327 - VariableStatement 1586081 1586176 - VariableDeclarationList 1586081 1586175 - VariableDeclaration 1586104 1586175 - Identifier 1586104 1586119 - CallExpression 1586121 1586175 - Identifier 1586121 1586153 - AsExpression 1586154 1586174 - Identifier 1586154 1586160 - TypeReference 1586163 1586174 - Identifier 1586163 1586174 - IfStatement 1586176 1586312 - CallExpression 1586198 1586261 - Identifier 1586198 1586215 - Identifier 1586216 1586222 - AsExpression 1586223 1586244 - Identifier 1586223 1586230 - TypeReference 1586233 1586244 - Identifier 1586233 1586244 - Identifier 1586245 1586260 - Block 1586262 1586312 - ReturnStatement 1586264 1586293 - IfStatement 1586327 1595048 - PrefixUnaryExpression 1586448 1586489 - CallExpression 1586449 1586489 - Identifier 1586449 1586473 - Identifier 1586474 1586480 - Identifier 1586481 1586488 - Block 1586490 1595048 - IfStatement 1586492 1594772 - CallExpression 1586514 1586540 - Identifier 1586514 1586532 - Identifier 1586533 1586539 - Block 1586541 1594772 - IfStatement 1586543 1594587 - CallExpression 1586569 1586588 - Identifier 1586569 1586580 - Identifier 1586581 1586587 - Block 1586589 1594587 - VariableStatement 1586591 1586667 - VariableDeclarationList 1586591 1586666 - VariableDeclaration 1586622 1586666 - Identifier 1586622 1586634 - CallExpression 1586636 1586666 - Identifier 1586636 1586658 - Identifier 1586659 1586665 - VariableStatement 1586667 1586743 - VariableDeclarationList 1586667 1586742 - VariableDeclaration 1586698 1586742 - Identifier 1586698 1586710 - CallExpression 1586712 1586742 - Identifier 1586712 1586734 - Identifier 1586735 1586741 - VariableStatement 1586743 1586815 - VariableDeclarationList 1586743 1586814 - VariableDeclaration 1586774 1586814 - Identifier 1586774 1586787 - CallExpression 1586789 1586814 - Identifier 1586789 1586806 - Identifier 1586807 1586813 - VariableStatement 1586815 1586889 - VariableDeclarationList 1586815 1586888 - VariableDeclaration 1586846 1586888 - Identifier 1586846 1586859 - PropertyAccessExpression 1586861 1586888 - PropertyAccessExpression 1586861 1586875 - Identifier 1586861 1586868 - Identifier 1586869 1586875 - Identifier 1586876 1586888 - IfStatement 1586889 1587482 - BinaryExpression 1587153 1587220 - CallExpression 1587153 1587172 - Identifier 1587153 1587164 - Identifier 1587165 1587171 - AmpersandAmpersandToken 1587172 1587175 - CallExpression 1587175 1587220 - Identifier 1587175 1587204 - Identifier 1587205 1587211 - Identifier 1587212 1587219 - Block 1587221 1587482 - ForStatement 1587223 1587418 - VariableDeclarationList 1587258 1587267 - VariableDeclaration 1587261 1587267 - Identifier 1587261 1587263 - NumericLiteral 1587265 1587267 - BinaryExpression 1587268 1587284 - Identifier 1587268 1587270 - LessThanToken 1587270 1587272 - Identifier 1587272 1587284 - PostfixUnaryExpression 1587285 1587289 - Identifier 1587285 1587287 - Block 1587290 1587418 - ExpressionStatement 1587292 1587387 - CallExpression 1587292 1587386 - Identifier 1587292 1587340 - ElementAccessExpression 1587341 1587368 - CallExpression 1587341 1587365 - Identifier 1587341 1587357 - Identifier 1587358 1587364 - Identifier 1587366 1587367 - ElementAccessExpression 1587369 1587385 - Identifier 1587369 1587382 - Identifier 1587383 1587384 - ReturnStatement 1587418 1587455 - VariableStatement 1587482 1587617 - VariableDeclarationList 1587482 1587616 - VariableDeclaration 1587513 1587616 - Identifier 1587513 1587525 - ConditionalExpression 1587527 1587616 - CallExpression 1587527 1587547 - Identifier 1587527 1587539 - Identifier 1587540 1587546 - QuestionToken 1587547 1587549 - CallExpression 1587549 1587612 - PropertyAccessExpression 1587549 1587558 - Identifier 1587549 1587554 - Identifier 1587555 1587558 - PropertyAccessExpression 1587559 1587584 - PropertyAccessExpression 1587559 1587572 - Identifier 1587559 1587565 - Identifier 1587566 1587572 - Identifier 1587573 1587584 - PropertyAccessExpression 1587585 1587611 - PropertyAccessExpression 1587585 1587599 - Identifier 1587585 1587592 - Identifier 1587593 1587599 - Identifier 1587600 1587611 - ColonToken 1587612 1587614 - NumericLiteral 1587614 1587616 - VariableStatement 1587617 1587864 - VariableDeclarationList 1587617 1587863 - VariableDeclaration 1587648 1587863 - Identifier 1587648 1587658 - CallExpression 1587660 1587863 - PropertyAccessExpression 1587660 1587669 - Identifier 1587660 1587665 - Identifier 1587666 1587669 - ConditionalExpression 1587670 1587749 - CallExpression 1587670 1587689 - Identifier 1587670 1587681 - Identifier 1587682 1587688 - QuestionToken 1587689 1587691 - CallExpression 1587691 1587745 - Identifier 1587691 1587710 - PropertyAccessExpression 1587711 1587724 - Identifier 1587711 1587717 - Identifier 1587718 1587724 - PropertyAccessExpression 1587725 1587744 - Identifier 1587725 1587738 - Identifier 1587739 1587744 - ColonToken 1587745 1587747 - NumericLiteral 1587747 1587749 - ConditionalExpression 1587750 1587862 - BinaryExpression 1587750 1587802 - PropertyAccessExpression 1587750 1587778 - PropertyAccessExpression 1587750 1587764 - Identifier 1587750 1587757 - Identifier 1587758 1587764 - Identifier 1587765 1587778 - AmpersandToken 1587778 1587780 - PropertyAccessExpression 1587780 1587802 - Identifier 1587780 1587793 - Identifier 1587794 1587802 - QuestionToken 1587802 1587804 - CallExpression 1587804 1587858 - Identifier 1587804 1587823 - PropertyAccessExpression 1587824 1587837 - Identifier 1587824 1587830 - Identifier 1587831 1587837 - PropertyAccessExpression 1587838 1587857 - Identifier 1587838 1587851 - Identifier 1587852 1587857 - ColonToken 1587858 1587860 - NumericLiteral 1587860 1587862 - ForStatement 1587864 1588114 - VariableDeclarationList 1587962 1587971 - VariableDeclaration 1587965 1587971 - Identifier 1587965 1587967 - NumericLiteral 1587969 1587971 - BinaryExpression 1587972 1587988 - Identifier 1587972 1587974 - LessThanToken 1587974 1587976 - Identifier 1587976 1587988 - PostfixUnaryExpression 1587989 1587993 - Identifier 1587989 1587991 - Block 1587994 1588114 - ExpressionStatement 1587996 1588087 - CallExpression 1587996 1588086 - Identifier 1587996 1588040 - ElementAccessExpression 1588041 1588068 - CallExpression 1588041 1588065 - Identifier 1588041 1588057 - Identifier 1588058 1588064 - Identifier 1588066 1588067 - ElementAccessExpression 1588069 1588085 - Identifier 1588069 1588082 - Identifier 1588083 1588084 - IfStatement 1588114 1594250 - BinaryExpression 1588144 1588274 - PrefixUnaryExpression 1588144 1588164 - CallExpression 1588145 1588164 - Identifier 1588145 1588156 - Identifier 1588157 1588163 - BarBarToken 1588164 1588167 - BinaryExpression 1588167 1588274 - BinaryExpression 1588167 1588211 - BinaryExpression 1588167 1588205 - BinaryExpression 1588167 1588193 - Identifier 1588167 1588179 - MinusToken 1588179 1588181 - Identifier 1588181 1588193 - MinusToken 1588193 1588195 - Identifier 1588195 1588205 - EqualsEqualsEqualsToken 1588205 1588209 - NumericLiteral 1588209 1588211 - AmpersandAmpersandToken 1588211 1588214 - BinaryExpression 1588214 1588274 - ElementAccessExpression 1588214 1588254 - PropertyAccessExpression 1588214 1588241 - PropertyAccessExpression 1588214 1588228 - Identifier 1588214 1588221 - Identifier 1588222 1588228 - Identifier 1588229 1588241 - Identifier 1588242 1588253 - AmpersandToken 1588254 1588256 - PropertyAccessExpression 1588256 1588274 - Identifier 1588256 1588269 - Identifier 1588270 1588274 - Block 1588275 1588771 - VariableStatement 1588277 1588476 - VariableDeclarationList 1588277 1588475 - VariableDeclaration 1588426 1588475 - Identifier 1588426 1588435 - ElementAccessExpression 1588437 1588475 - CallExpression 1588437 1588462 - Identifier 1588437 1588454 - Identifier 1588455 1588461 - Identifier 1588463 1588474 - ForStatement 1588476 1588744 - VariableDeclarationList 1588511 1588530 - VariableDeclaration 1588514 1588530 - Identifier 1588514 1588516 - Identifier 1588518 1588530 - BinaryExpression 1588531 1588559 - Identifier 1588531 1588533 - LessThanToken 1588533 1588535 - BinaryExpression 1588535 1588559 - Identifier 1588535 1588547 - MinusToken 1588547 1588549 - Identifier 1588549 1588559 - PostfixUnaryExpression 1588560 1588564 - Identifier 1588560 1588562 - Block 1588565 1588744 - ExpressionStatement 1588567 1588713 - CallExpression 1588567 1588712 - Identifier 1588567 1588615 - ConditionalExpression 1588616 1588694 - BinaryExpression 1588616 1588655 - ElementAccessExpression 1588616 1588631 - Identifier 1588616 1588628 - Identifier 1588629 1588630 - AmpersandToken 1588631 1588633 - PropertyAccessExpression 1588633 1588655 - Identifier 1588633 1588646 - Identifier 1588647 1588655 - QuestionToken 1588655 1588657 - CallExpression 1588657 1588683 - Identifier 1588657 1588673 - Identifier 1588674 1588682 - ColonToken 1588683 1588685 - Identifier 1588685 1588694 - ElementAccessExpression 1588695 1588711 - Identifier 1588695 1588708 - Identifier 1588709 1588710 - Block 1588801 1594250 - VariableStatement 1588803 1588892 - VariableDeclarationList 1588803 1588891 - VariableDeclaration 1588838 1588891 - Identifier 1588838 1588851 - BinaryExpression 1588853 1588891 - BinaryExpression 1588853 1588879 - Identifier 1588853 1588865 - MinusToken 1588865 1588867 - Identifier 1588867 1588879 - MinusToken 1588879 1588881 - Identifier 1588881 1588891 - IfStatement 1588892 1594223 - BinaryExpression 1588926 1588944 - Identifier 1588926 1588938 - EqualsEqualsEqualsToken 1588938 1588942 - NumericLiteral 1588942 1588944 - Block 1588945 1592858 - IfStatement 1588947 1592827 - BinaryExpression 1588985 1589066 - BinaryExpression 1588985 1589042 - ElementAccessExpression 1588985 1589010 - Identifier 1588985 1588997 - Identifier 1588998 1589009 - AmpersandToken 1589010 1589012 - ElementAccessExpression 1589012 1589042 - Identifier 1589012 1589025 - BinaryExpression 1589026 1589041 - Identifier 1589026 1589037 - PlusToken 1589037 1589039 - NumericLiteral 1589039 1589041 - AmpersandToken 1589042 1589044 - PropertyAccessExpression 1589044 1589066 - Identifier 1589044 1589057 - Identifier 1589058 1589066 - Block 1589067 1589877 - VariableStatement 1589069 1589275 - VariableDeclarationList 1589069 1589274 - VariableDeclaration 1589210 1589274 - Identifier 1589210 1589221 - CallExpression 1589223 1589274 - Identifier 1589223 1589247 - ElementAccessExpression 1589248 1589273 - Identifier 1589248 1589260 - Identifier 1589261 1589272 - IfStatement 1589275 1589842 - BinaryExpression 1589317 1589368 - Identifier 1589317 1589327 - AmpersandAmpersandToken 1589327 1589330 - BinaryExpression 1589330 1589368 - PropertyAccessExpression 1589330 1589354 - Identifier 1589330 1589341 - Identifier 1589342 1589354 - ExclamationEqualsEqualsToken 1589354 1589358 - Identifier 1589358 1589368 - Block 1589369 1589842 - ExpressionStatement 1589371 1589641 - CallExpression 1589371 1589640 - Identifier 1589371 1589525 - CallExpression 1589526 1589612 - Identifier 1589526 1589540 - Identifier 1589541 1589547 - Identifier 1589548 1589560 - BinaryExpression 1589561 1589611 - BinaryExpression 1589561 1589585 - Identifier 1589561 1589571 - PlusToken 1589571 1589573 - Identifier 1589573 1589585 - MinusToken 1589585 1589587 - PropertyAccessExpression 1589587 1589611 - Identifier 1589587 1589598 - Identifier 1589599 1589611 - ElementAccessExpression 1589613 1589639 - Identifier 1589613 1589626 - Identifier 1589627 1589638 - ExpressionStatement 1589641 1589803 - CallExpression 1589641 1589802 - Identifier 1589641 1589697 - CallExpression 1589698 1589770 - Identifier 1589698 1589712 - Identifier 1589713 1589719 - BinaryExpression 1589720 1589758 - Identifier 1589720 1589732 - PlusToken 1589732 1589734 - PropertyAccessExpression 1589734 1589758 - Identifier 1589734 1589745 - Identifier 1589746 1589758 - Identifier 1589759 1589769 - ElementAccessExpression 1589771 1589801 - Identifier 1589771 1589784 - BinaryExpression 1589785 1589800 - Identifier 1589785 1589796 - PlusToken 1589796 1589798 - NumericLiteral 1589798 1589800 - IfStatement 1589915 1592827 - BinaryExpression 1589920 1590022 - BinaryExpression 1589920 1589969 - ElementAccessExpression 1589920 1589945 - Identifier 1589920 1589932 - Identifier 1589933 1589944 - AmpersandToken 1589945 1589947 - PropertyAccessExpression 1589947 1589969 - Identifier 1589947 1589960 - Identifier 1589961 1589969 - AmpersandAmpersandToken 1589969 1589972 - BinaryExpression 1589972 1590022 - ElementAccessExpression 1589972 1590002 - Identifier 1589972 1589985 - BinaryExpression 1589986 1590001 - Identifier 1589986 1589997 - PlusToken 1589997 1589999 - NumericLiteral 1589999 1590001 - AmpersandToken 1590002 1590004 - PropertyAccessExpression 1590004 1590022 - Identifier 1590004 1590017 - Identifier 1590018 1590022 - Block 1590023 1591114 - VariableStatement 1590025 1590371 - VariableDeclarationList 1590025 1590370 - VariableDeclaration 1590296 1590370 - Identifier 1590296 1590302 - PropertyAccessExpression 1590304 1590370 - CallExpression 1590304 1590355 - Identifier 1590304 1590328 - ElementAccessExpression 1590329 1590354 - Identifier 1590329 1590341 - Identifier 1590342 1590353 - QuestionDotToken 1590355 1590357 - Identifier 1590357 1590370 - VariableStatement 1590371 1590468 - VariableDeclarationList 1590371 1590467 - VariableDeclaration 1590414 1590467 - Identifier 1590414 1590425 - BinaryExpression 1590427 1590467 - Identifier 1590427 1590433 - AmpersandAmpersandToken 1590433 1590436 - CallExpression 1590436 1590467 - Identifier 1590436 1590460 - Identifier 1590461 1590466 - IfStatement 1590468 1591079 - BinaryExpression 1590510 1590609 - BinaryExpression 1590510 1590547 - Identifier 1590510 1590520 - AmpersandAmpersandToken 1590520 1590523 - CallExpression 1590523 1590547 - Identifier 1590523 1590535 - Identifier 1590536 1590546 - AmpersandAmpersandToken 1590547 1590550 - PrefixUnaryExpression 1590550 1590609 - ParenthesizedExpression 1590552 1590609 - BinaryExpression 1590553 1590608 - PropertyAccessExpression 1590553 1590584 - PropertyAccessExpression 1590553 1590570 - Identifier 1590553 1590563 - Identifier 1590564 1590570 - Identifier 1590571 1590584 - AmpersandToken 1590584 1590586 - PropertyAccessExpression 1590586 1590608 - Identifier 1590586 1590599 - Identifier 1590600 1590608 - Block 1590610 1591079 - VariableStatement 1590612 1590705 - VariableDeclarationList 1590612 1590704 - VariableDeclaration 1590659 1590704 - Identifier 1590659 1590672 - PropertyAccessExpression 1590674 1590704 - PropertyAccessExpression 1590674 1590692 - Identifier 1590674 1590685 - Identifier 1590686 1590692 - Identifier 1590693 1590704 - ExpressionStatement 1590705 1590870 - CallExpression 1590705 1590869 - Identifier 1590705 1590761 - CallExpression 1590762 1590841 - Identifier 1590762 1590776 - Identifier 1590777 1590783 - Identifier 1590784 1590796 - BinaryExpression 1590797 1590840 - Identifier 1590797 1590809 - MinusToken 1590809 1590811 - ParenthesizedExpression 1590811 1590840 - BinaryExpression 1590813 1590839 - Identifier 1590813 1590824 - PlusToken 1590824 1590826 - Identifier 1590826 1590839 - ElementAccessExpression 1590842 1590868 - Identifier 1590842 1590855 - Identifier 1590856 1590867 - ExpressionStatement 1590870 1591040 - CallExpression 1590870 1591039 - Identifier 1590870 1590926 - NonNullExpression 1590927 1591007 - CallExpression 1590927 1591006 - Identifier 1590927 1590959 - Identifier 1590960 1590966 - BinaryExpression 1590967 1590994 - Identifier 1590967 1590979 - PlusToken 1590979 1590981 - Identifier 1590981 1590994 - Identifier 1590995 1591005 - ElementAccessExpression 1591008 1591038 - Identifier 1591008 1591021 - BinaryExpression 1591022 1591037 - Identifier 1591022 1591033 - PlusToken 1591033 1591035 - NumericLiteral 1591035 1591037 - IfStatement 1591152 1592827 - BinaryExpression 1591157 1591259 - BinaryExpression 1591157 1591202 - ElementAccessExpression 1591157 1591182 - Identifier 1591157 1591169 - Identifier 1591170 1591181 - AmpersandToken 1591182 1591184 - PropertyAccessExpression 1591184 1591202 - Identifier 1591184 1591197 - Identifier 1591198 1591202 - AmpersandAmpersandToken 1591202 1591205 - BinaryExpression 1591205 1591259 - ElementAccessExpression 1591205 1591235 - Identifier 1591205 1591218 - BinaryExpression 1591219 1591234 - Identifier 1591219 1591230 - PlusToken 1591230 1591232 - NumericLiteral 1591232 1591234 - AmpersandToken 1591235 1591237 - PropertyAccessExpression 1591237 1591259 - Identifier 1591237 1591250 - Identifier 1591251 1591259 - Block 1591260 1592827 - VariableStatement 1591262 1591612 - VariableDeclarationList 1591262 1591611 - VariableDeclaration 1591533 1591611 - Identifier 1591533 1591539 - PropertyAccessExpression 1591541 1591611 - CallExpression 1591541 1591596 - Identifier 1591541 1591565 - ElementAccessExpression 1591566 1591595 - Identifier 1591566 1591578 - BinaryExpression 1591579 1591594 - Identifier 1591579 1591590 - PlusToken 1591590 1591592 - NumericLiteral 1591592 1591594 - QuestionDotToken 1591596 1591598 - Identifier 1591598 1591611 - VariableStatement 1591612 1591709 - VariableDeclarationList 1591612 1591708 - VariableDeclaration 1591655 1591708 - Identifier 1591655 1591666 - BinaryExpression 1591668 1591708 - Identifier 1591668 1591674 - AmpersandAmpersandToken 1591674 1591677 - CallExpression 1591677 1591708 - Identifier 1591677 1591701 - Identifier 1591702 1591707 - IfStatement 1591709 1592792 - BinaryExpression 1591751 1591850 - BinaryExpression 1591751 1591788 - Identifier 1591751 1591761 - AmpersandAmpersandToken 1591761 1591764 - CallExpression 1591764 1591788 - Identifier 1591764 1591776 - Identifier 1591777 1591787 - AmpersandAmpersandToken 1591788 1591791 - PrefixUnaryExpression 1591791 1591850 - ParenthesizedExpression 1591793 1591850 - BinaryExpression 1591794 1591849 - PropertyAccessExpression 1591794 1591825 - PropertyAccessExpression 1591794 1591811 - Identifier 1591794 1591804 - Identifier 1591805 1591811 - Identifier 1591812 1591825 - AmpersandToken 1591825 1591827 - PropertyAccessExpression 1591827 1591849 - Identifier 1591827 1591840 - Identifier 1591841 1591849 - Block 1591851 1592792 - VariableStatement 1591853 1591946 - VariableDeclarationList 1591853 1591945 - VariableDeclaration 1591900 1591945 - Identifier 1591900 1591913 - PropertyAccessExpression 1591915 1591945 - PropertyAccessExpression 1591915 1591933 - Identifier 1591915 1591926 - Identifier 1591927 1591933 - Identifier 1591934 1591945 - VariableStatement 1591946 1592073 - VariableDeclarationList 1591946 1592072 - VariableDeclaration 1591993 1592072 - Identifier 1591993 1592002 - BinaryExpression 1592004 1592072 - Identifier 1592004 1592016 - MinusToken 1592016 1592018 - CallExpression 1592018 1592072 - Identifier 1592018 1592037 - PropertyAccessExpression 1592038 1592051 - Identifier 1592038 1592044 - Identifier 1592045 1592051 - PropertyAccessExpression 1592052 1592071 - Identifier 1592052 1592065 - Identifier 1592066 1592071 - VariableStatement 1592073 1592158 - VariableDeclarationList 1592073 1592157 - VariableDeclaration 1592120 1592157 - Identifier 1592120 1592131 - BinaryExpression 1592133 1592157 - Identifier 1592133 1592142 - MinusToken 1592142 1592144 - Identifier 1592144 1592157 - VariableStatement 1592158 1592482 - VariableDeclarationList 1592158 1592481 - VariableDeclaration 1592205 1592481 - Identifier 1592205 1592219 - CallExpression 1592221 1592481 - Identifier 1592221 1592237 - CallExpression 1592238 1592290 - PropertyAccessExpression 1592238 1592268 - CallExpression 1592238 1592262 - Identifier 1592238 1592254 - Identifier 1592255 1592261 - Identifier 1592263 1592268 - Identifier 1592269 1592279 - Identifier 1592280 1592289 - CallExpression 1592291 1592346 - PropertyAccessExpression 1592291 1592324 - PropertyAccessExpression 1592291 1592318 - PropertyAccessExpression 1592291 1592305 - Identifier 1592291 1592298 - Identifier 1592299 1592305 - Identifier 1592306 1592318 - Identifier 1592319 1592324 - Identifier 1592325 1592335 - Identifier 1592336 1592345 - FalseKeyword 1592347 1592366 - BinaryExpression 1592367 1592480 - PropertyAccessExpression 1592367 1592408 - PropertyAccessExpression 1592367 1592381 - Identifier 1592367 1592374 - Identifier 1592375 1592381 - Identifier 1592382 1592408 - AmpersandAmpersandToken 1592408 1592411 - CallExpression 1592411 1592480 - PropertyAccessExpression 1592411 1592458 - PropertyAccessExpression 1592411 1592452 - PropertyAccessExpression 1592411 1592425 - Identifier 1592411 1592418 - Identifier 1592419 1592425 - Identifier 1592426 1592452 - Identifier 1592453 1592458 - Identifier 1592459 1592469 - Identifier 1592470 1592479 - ExpressionStatement 1592482 1592650 - CallExpression 1592482 1592649 - Identifier 1592482 1592540 - NonNullExpression 1592541 1592621 - CallExpression 1592541 1592620 - Identifier 1592541 1592573 - Identifier 1592574 1592580 - Identifier 1592581 1592593 - BinaryExpression 1592594 1592619 - Identifier 1592594 1592604 - PlusToken 1592604 1592606 - Identifier 1592606 1592619 - ElementAccessExpression 1592622 1592648 - Identifier 1592622 1592635 - Identifier 1592636 1592647 - ExpressionStatement 1592650 1592753 - CallExpression 1592650 1592752 - Identifier 1592650 1592706 - Identifier 1592707 1592720 - ElementAccessExpression 1592721 1592751 - Identifier 1592721 1592734 - BinaryExpression 1592735 1592750 - Identifier 1592735 1592746 - PlusToken 1592746 1592748 - NumericLiteral 1592748 1592750 - IfStatement 1592892 1594223 - BinaryExpression 1592897 1592968 - BinaryExpression 1592897 1592915 - Identifier 1592897 1592909 - EqualsEqualsEqualsToken 1592909 1592913 - NumericLiteral 1592913 1592915 - AmpersandAmpersandToken 1592915 1592918 - BinaryExpression 1592918 1592968 - ElementAccessExpression 1592918 1592944 - Identifier 1592918 1592931 - Identifier 1592932 1592943 - AmpersandToken 1592944 1592946 - PropertyAccessExpression 1592946 1592968 - Identifier 1592946 1592959 - Identifier 1592960 1592968 - Block 1592969 1593640 - VariableStatement 1592971 1593359 - VariableDeclarationList 1592971 1593358 - VariableDeclaration 1593273 1593358 - Identifier 1593273 1593288 - BinaryExpression 1593290 1593358 - ElementAccessExpression 1593290 1593334 - PropertyAccessExpression 1593290 1593317 - PropertyAccessExpression 1593290 1593304 - Identifier 1593290 1593297 - Identifier 1593298 1593304 - Identifier 1593305 1593317 - BinaryExpression 1593318 1593333 - Identifier 1593318 1593329 - MinusToken 1593329 1593331 - NumericLiteral 1593331 1593333 - AmpersandToken 1593334 1593336 - PropertyAccessExpression 1593336 1593358 - Identifier 1593336 1593349 - Identifier 1593350 1593358 - VariableStatement 1593359 1593460 - VariableDeclarationList 1593359 1593459 - VariableDeclaration 1593398 1593459 - Identifier 1593398 1593410 - CallExpression 1593412 1593459 - Identifier 1593412 1593427 - Identifier 1593428 1593434 - Identifier 1593435 1593447 - Identifier 1593448 1593458 - ExpressionStatement 1593460 1593609 - CallExpression 1593460 1593608 - Identifier 1593460 1593511 - Identifier 1593512 1593523 - ElementAccessExpression 1593524 1593550 - Identifier 1593524 1593537 - Identifier 1593538 1593549 - ConditionalExpression 1593551 1593607 - Identifier 1593551 1593566 - QuestionToken 1593566 1593568 - PropertyAccessExpression 1593568 1593603 - Identifier 1593568 1593586 - Identifier 1593587 1593603 - ColonToken 1593603 1593605 - NumericLiteral 1593605 1593607 - IfStatement 1593674 1594223 - BinaryExpression 1593679 1593746 - BinaryExpression 1593679 1593697 - Identifier 1593679 1593691 - EqualsEqualsEqualsToken 1593691 1593695 - NumericLiteral 1593695 1593697 - AmpersandAmpersandToken 1593697 1593700 - BinaryExpression 1593700 1593746 - ElementAccessExpression 1593700 1593726 - Identifier 1593700 1593713 - Identifier 1593714 1593725 - AmpersandToken 1593726 1593728 - PropertyAccessExpression 1593728 1593746 - Identifier 1593728 1593741 - Identifier 1593742 1593746 - Block 1593747 1594223 - VariableStatement 1593749 1594018 - VariableDeclarationList 1593749 1594017 - VariableDeclaration 1593941 1594017 - Identifier 1593941 1593950 - CallExpression 1593952 1594017 - Identifier 1593952 1593985 - Identifier 1593986 1593992 - Identifier 1593993 1594005 - Identifier 1594006 1594016 - IfStatement 1594018 1594192 - Identifier 1594056 1594064 - Block 1594065 1594192 - ExpressionStatement 1594067 1594157 - CallExpression 1594067 1594156 - Identifier 1594067 1594119 - Identifier 1594120 1594128 - ElementAccessExpression 1594129 1594155 - Identifier 1594129 1594142 - Identifier 1594143 1594154 - ForStatement 1594250 1594531 - VariableDeclarationList 1594345 1594354 - VariableDeclaration 1594348 1594354 - Identifier 1594348 1594350 - NumericLiteral 1594352 1594354 - BinaryExpression 1594355 1594369 - Identifier 1594355 1594357 - LessThanToken 1594357 1594359 - Identifier 1594359 1594369 - PostfixUnaryExpression 1594370 1594374 - Identifier 1594370 1594372 - Block 1594375 1594531 - ExpressionStatement 1594377 1594504 - CallExpression 1594377 1594503 - Identifier 1594377 1594421 - ElementAccessExpression 1594422 1594467 - CallExpression 1594422 1594446 - Identifier 1594422 1594438 - Identifier 1594439 1594445 - BinaryExpression 1594447 1594466 - BinaryExpression 1594447 1594462 - Identifier 1594447 1594458 - MinusToken 1594458 1594460 - Identifier 1594460 1594462 - MinusToken 1594462 1594464 - NumericLiteral 1594464 1594466 - ElementAccessExpression 1594468 1594502 - Identifier 1594468 1594481 - BinaryExpression 1594482 1594501 - BinaryExpression 1594482 1594497 - Identifier 1594482 1594493 - MinusToken 1594493 1594495 - Identifier 1594495 1594497 - MinusToken 1594497 1594499 - NumericLiteral 1594499 1594501 - ReturnStatement 1594531 1594564 - IfStatement 1594587 1594753 - CallExpression 1594613 1594632 - Identifier 1594613 1594624 - Identifier 1594625 1594631 - Block 1594633 1594753 - ExpressionStatement 1594635 1594697 - CallExpression 1594635 1594696 - Identifier 1594635 1594680 - Identifier 1594681 1594687 - Identifier 1594688 1594695 - ReturnStatement 1594697 1594730 - ExpressionStatement 1594772 1594826 - CallExpression 1594772 1594825 - Identifier 1594772 1594809 - Identifier 1594810 1594816 - Identifier 1594817 1594824 - ExpressionStatement 1594826 1594900 - CallExpression 1594826 1594899 - Identifier 1594826 1594863 - Identifier 1594864 1594870 - Identifier 1594871 1594878 - PropertyAccessExpression 1594879 1594898 - Identifier 1594879 1594893 - Identifier 1594894 1594898 - ExpressionStatement 1594900 1594979 - CallExpression 1594900 1594978 - Identifier 1594900 1594937 - Identifier 1594938 1594944 - Identifier 1594945 1594952 - PropertyAccessExpression 1594953 1594977 - Identifier 1594953 1594967 - Identifier 1594968 1594977 - ExpressionStatement 1594979 1595033 - CallExpression 1594979 1595032 - Identifier 1594979 1595016 - Identifier 1595017 1595023 - Identifier 1595024 1595031 - FunctionDeclaration 1595059 1595774 - Identifier 1595079 1595099 - Parameter 1595100 1595112 - Identifier 1595100 1595106 - TypeReference 1595107 1595112 - Identifier 1595107 1595112 - Parameter 1595113 1595126 - Identifier 1595113 1595120 - TypeReference 1595121 1595126 - Identifier 1595121 1595126 - Block 1595127 1595774 - VariableStatement 1595129 1595196 - VariableDeclarationList 1595129 1595195 - VariableDeclaration 1595148 1595195 - Identifier 1595148 1595159 - CallExpression 1595161 1595195 - Identifier 1595161 1595187 - Identifier 1595188 1595194 - ForOfStatement 1595196 1595763 - VariableDeclarationList 1595215 1595231 - VariableDeclaration 1595220 1595231 - Identifier 1595220 1595231 - Identifier 1595234 1595245 - Block 1595246 1595763 - VariableStatement 1595248 1595335 - VariableDeclarationList 1595248 1595334 - VariableDeclaration 1595271 1595334 - Identifier 1595271 1595282 - CallExpression 1595284 1595334 - Identifier 1595284 1595302 - Identifier 1595303 1595309 - PropertyAccessExpression 1595310 1595333 - Identifier 1595310 1595321 - Identifier 1595322 1595333 - IfStatement 1595335 1595748 - BinaryExpression 1595357 1595429 - Identifier 1595357 1595367 - AmpersandAmpersandToken 1595367 1595370 - PrefixUnaryExpression 1595370 1595429 - CallExpression 1595372 1595429 - Identifier 1595372 1595376 - PropertyAccessExpression 1595377 1595400 - Identifier 1595377 1595387 - Identifier 1595388 1595400 - Identifier 1595401 1595428 - Block 1595430 1595748 - ExpressionStatement 1595432 1595729 - CallExpression 1595432 1595728 - Identifier 1595432 1595468 - CallExpression 1595469 1595586 - Identifier 1595469 1595512 - CallExpression 1595513 1595540 - Identifier 1595513 1595528 - Identifier 1595529 1595539 - PrefixUnaryExpression 1595541 1595585 - PrefixUnaryExpression 1595543 1595585 - ParenthesizedExpression 1595544 1595585 - BinaryExpression 1595545 1595584 - PropertyAccessExpression 1595545 1595561 - Identifier 1595545 1595555 - Identifier 1595556 1595561 - AmpersandToken 1595561 1595563 - PropertyAccessExpression 1595563 1595584 - Identifier 1595563 1595575 - Identifier 1595576 1595584 - CallExpression 1595587 1595704 - Identifier 1595587 1595630 - CallExpression 1595631 1595658 - Identifier 1595631 1595646 - Identifier 1595647 1595657 - PrefixUnaryExpression 1595659 1595703 - PrefixUnaryExpression 1595661 1595703 - ParenthesizedExpression 1595662 1595703 - BinaryExpression 1595663 1595702 - PropertyAccessExpression 1595663 1595679 - Identifier 1595663 1595673 - Identifier 1595674 1595679 - AmpersandToken 1595679 1595681 - PropertyAccessExpression 1595681 1595702 - Identifier 1595681 1595693 - Identifier 1595694 1595702 - FunctionDeclaration 1595774 1596705 - Identifier 1595794 1595814 - Parameter 1595815 1595827 - Identifier 1595815 1595821 - TypeReference 1595822 1595827 - Identifier 1595822 1595827 - Parameter 1595828 1595841 - Identifier 1595828 1595835 - TypeReference 1595836 1595841 - Identifier 1595836 1595841 - Parameter 1595842 1595862 - Identifier 1595842 1595847 - TypeReference 1595848 1595862 - Identifier 1595848 1595862 - Block 1595863 1596705 - VariableStatement 1595865 1595938 - VariableDeclarationList 1595865 1595937 - VariableDeclaration 1595884 1595937 - Identifier 1595884 1595901 - CallExpression 1595903 1595937 - Identifier 1595903 1595923 - Identifier 1595924 1595930 - Identifier 1595931 1595936 - VariableStatement 1595938 1595994 - VariableDeclarationList 1595938 1595993 - VariableDeclaration 1595957 1595993 - Identifier 1595957 1595967 - PropertyAccessExpression 1595969 1595993 - Identifier 1595969 1595986 - Identifier 1595987 1595993 - IfStatement 1595994 1596694 - BinaryExpression 1596012 1596025 - Identifier 1596012 1596021 - GreaterThanToken 1596021 1596023 - NumericLiteral 1596023 1596025 - Block 1596026 1596694 - VariableStatement 1596028 1596333 - VariableDeclarationList 1596028 1596332 - VariableDeclaration 1596279 1596332 - Identifier 1596279 1596296 - CallExpression 1596298 1596332 - Identifier 1596298 1596318 - Identifier 1596319 1596325 - Identifier 1596326 1596331 - VariableStatement 1596333 1596393 - VariableDeclarationList 1596333 1596392 - VariableDeclaration 1596356 1596392 - Identifier 1596356 1596366 - PropertyAccessExpression 1596368 1596392 - Identifier 1596368 1596385 - Identifier 1596386 1596392 - ForStatement 1596393 1596679 - VariableDeclarationList 1596416 1596425 - VariableDeclaration 1596419 1596425 - Identifier 1596419 1596421 - NumericLiteral 1596423 1596425 - BinaryExpression 1596426 1596440 - Identifier 1596426 1596428 - LessThanToken 1596428 1596430 - Identifier 1596430 1596440 - PostfixUnaryExpression 1596441 1596445 - Identifier 1596441 1596443 - Block 1596446 1596679 - VariableStatement 1596448 1596529 - VariableDeclarationList 1596448 1596528 - VariableDeclaration 1596475 1596528 - Identifier 1596475 1596487 - CallExpression 1596489 1596528 - PropertyAccessExpression 1596489 1596498 - Identifier 1596489 1596494 - Identifier 1596495 1596498 - BinaryExpression 1596499 1596524 - BinaryExpression 1596499 1596520 - Identifier 1596499 1596508 - MinusToken 1596508 1596510 - Identifier 1596510 1596520 - PlusToken 1596520 1596522 - Identifier 1596522 1596524 - NumericLiteral 1596525 1596527 - ExpressionStatement 1596529 1596660 - CallExpression 1596529 1596659 - Identifier 1596529 1596569 - CallExpression 1596570 1596617 - Identifier 1596570 1596586 - ElementAccessExpression 1596587 1596616 - Identifier 1596587 1596603 - Identifier 1596604 1596615 - CallExpression 1596618 1596658 - Identifier 1596618 1596637 - ElementAccessExpression 1596638 1596657 - Identifier 1596638 1596654 - Identifier 1596655 1596656 - FunctionDeclaration 1596705 1597505 - Identifier 1596725 1596744 - Parameter 1596745 1596762 - Identifier 1596745 1596751 - TypeReference 1596752 1596762 - Identifier 1596752 1596762 - Parameter 1596763 1596781 - Identifier 1596763 1596770 - TypeReference 1596771 1596781 - Identifier 1596771 1596781 - Block 1596782 1597505 - IfStatement 1596784 1597429 - PrefixUnaryExpression 1596802 1596850 - ParenthesizedExpression 1596803 1596850 - BinaryExpression 1596804 1596849 - PropertyAccessExpression 1596804 1596816 - Identifier 1596804 1596810 - Identifier 1596811 1596816 - AmpersandToken 1596816 1596818 - PropertyAccessExpression 1596818 1596849 - Identifier 1596818 1596833 - Identifier 1596834 1596849 - Block 1596851 1597429 - VariableStatement 1596853 1596903 - VariableDeclarationList 1596853 1596902 - VariableDeclaration 1596876 1596902 - Identifier 1596876 1596890 - Identifier 1596892 1596902 - VariableStatement 1596903 1597000 - VariableDeclarationList 1596903 1596999 - VariableDeclaration 1596926 1596999 - Identifier 1596926 1596931 - ConditionalExpression 1596933 1596999 - PropertyAccessExpression 1596933 1596952 - Identifier 1596933 1596940 - Identifier 1596941 1596952 - QuestionToken 1596952 1596954 - PropertyAccessExpression 1596954 1596978 - PropertyAccessExpression 1596954 1596973 - Identifier 1596954 1596961 - Identifier 1596962 1596973 - Identifier 1596974 1596978 - ColonToken 1596978 1596980 - PropertyAccessExpression 1596980 1596999 - Identifier 1596980 1596991 - Identifier 1596992 1596999 - ExpressionStatement 1597000 1597264 - BinaryExpression 1597000 1597263 - Identifier 1597000 1597136 - EqualsToken 1597136 1597138 - BinaryExpression 1597138 1597263 - BinaryExpression 1597138 1597228 - BinaryExpression 1597138 1597189 - Identifier 1597138 1597148 - BarBarToken 1597148 1597151 - BinaryExpression 1597151 1597189 - Identifier 1597151 1597156 - EqualsEqualsEqualsToken 1597156 1597160 - PropertyAccessExpression 1597160 1597189 - Identifier 1597160 1597171 - Identifier 1597172 1597189 - BarBarToken 1597189 1597192 - BinaryExpression 1597192 1597228 - Identifier 1597192 1597197 - EqualsEqualsEqualsToken 1597197 1597201 - PropertyAccessExpression 1597201 1597228 - Identifier 1597201 1597212 - Identifier 1597213 1597228 - BarBarToken 1597228 1597231 - BinaryExpression 1597231 1597263 - Identifier 1597231 1597236 - EqualsEqualsEqualsToken 1597236 1597240 - PropertyAccessExpression 1597240 1597263 - Identifier 1597240 1597251 - Identifier 1597252 1597263 - ExpressionStatement 1597264 1597370 - CallExpression 1597264 1597369 - Identifier 1597264 1597303 - Identifier 1597304 1597310 - Identifier 1597311 1597318 - Identifier 1597319 1597368 - ExpressionStatement 1597370 1597414 - BinaryExpression 1597370 1597413 - Identifier 1597370 1597397 - EqualsToken 1597397 1597399 - Identifier 1597399 1597413 - ExpressionStatement 1597429 1597494 - CallExpression 1597429 1597493 - Identifier 1597429 1597461 - Identifier 1597462 1597468 - Identifier 1597469 1597476 - Identifier 1597477 1597492 - FunctionDeclaration 1597505 1599314 - Identifier 1597525 1597545 - Parameter 1597546 1597558 - Identifier 1597546 1597552 - TypeReference 1597553 1597558 - Identifier 1597553 1597558 - Parameter 1597559 1597572 - Identifier 1597559 1597566 - TypeReference 1597567 1597572 - Identifier 1597567 1597572 - Block 1597573 1599314 - VariableStatement 1597575 1597849 - VariableDeclarationList 1597575 1597848 - VariableDeclaration 1597720 1597848 - Identifier 1597720 1597729 - ConditionalExpression 1597731 1597848 - ParenthesizedExpression 1597731 1597802 - BinaryExpression 1597733 1597801 - BinaryExpression 1597733 1597780 - CallExpression 1597733 1597755 - Identifier 1597733 1597747 - Identifier 1597748 1597754 - AmpersandToken 1597755 1597757 - CallExpression 1597757 1597780 - Identifier 1597757 1597772 - Identifier 1597773 1597779 - AmpersandToken 1597780 1597782 - PropertyAccessExpression 1597782 1597801 - Identifier 1597782 1597794 - Identifier 1597795 1597801 - QuestionToken 1597802 1597804 - PropertyAccessExpression 1597804 1597844 - Identifier 1597804 1597822 - Identifier 1597823 1597844 - ColonToken 1597844 1597846 - NumericLiteral 1597846 1597848 - VariableStatement 1597849 1597910 - VariableDeclarationList 1597849 1597909 - VariableDeclaration 1597868 1597909 - Identifier 1597868 1597879 - CallExpression 1597881 1597909 - Identifier 1597881 1597901 - Identifier 1597902 1597908 - IfStatement 1597910 1599010 - CallExpression 1597928 1597966 - Identifier 1597928 1597958 - Identifier 1597959 1597965 - Block 1597967 1599010 - ForOfStatement 1597969 1598995 - VariableDeclarationList 1597992 1598008 - VariableDeclaration 1597997 1598008 - Identifier 1597997 1598008 - Identifier 1598011 1598022 - Block 1598023 1598995 - VariableStatement 1598025 1598076 - VariableDeclarationList 1598025 1598075 - VariableDeclaration 1598052 1598075 - Identifier 1598052 1598062 - ArrayType 1598063 1598070 - TypeReference 1598063 1598068 - Identifier 1598063 1598068 - ArrayLiteralExpression 1598072 1598075 - ForOfStatement 1598076 1598547 - VariableDeclarationList 1598103 1598113 - VariableDeclaration 1598108 1598113 - Identifier 1598108 1598113 - CallExpression 1598116 1598144 - Identifier 1598116 1598136 - Identifier 1598137 1598143 - Block 1598145 1598547 - IfStatement 1598147 1598524 - CallExpression 1598177 1598293 - Identifier 1598177 1598198 - CallExpression 1598199 1598272 - Identifier 1598199 1598225 - Identifier 1598226 1598230 - PropertyAccessExpression 1598231 1598271 - Identifier 1598231 1598241 - Identifier 1598242 1598271 - PropertyAccessExpression 1598273 1598292 - Identifier 1598273 1598284 - Identifier 1598285 1598292 - Block 1598294 1598524 - VariableStatement 1598296 1598365 - VariableDeclarationList 1598296 1598364 - VariableDeclaration 1598331 1598364 - Identifier 1598331 1598340 - CallExpression 1598342 1598364 - Identifier 1598342 1598358 - Identifier 1598359 1598363 - ExpressionStatement 1598365 1598497 - CallExpression 1598365 1598496 - PropertyAccessExpression 1598365 1598409 - Identifier 1598365 1598404 - Identifier 1598405 1598409 - ConditionalExpression 1598410 1598495 - BinaryExpression 1598410 1598443 - PropertyAccessExpression 1598410 1598420 - Identifier 1598410 1598414 - Identifier 1598415 1598420 - AmpersandToken 1598420 1598422 - PropertyAccessExpression 1598422 1598443 - Identifier 1598422 1598434 - Identifier 1598435 1598443 - QuestionToken 1598443 1598445 - CallExpression 1598445 1598484 - Identifier 1598445 1598474 - Identifier 1598475 1598483 - ColonToken 1598484 1598486 - Identifier 1598486 1598495 - ForOfStatement 1598547 1598812 - VariableDeclarationList 1598574 1598584 - VariableDeclaration 1598579 1598584 - Identifier 1598579 1598584 - CallExpression 1598587 1598615 - Identifier 1598587 1598607 - Identifier 1598608 1598614 - Block 1598616 1598812 - IfStatement 1598618 1598789 - CallExpression 1598648 1598703 - Identifier 1598648 1598669 - PropertyAccessExpression 1598670 1598682 - Identifier 1598670 1598674 - Identifier 1598675 1598682 - PropertyAccessExpression 1598683 1598702 - Identifier 1598683 1598694 - Identifier 1598695 1598702 - Block 1598704 1598789 - ExpressionStatement 1598706 1598762 - CallExpression 1598706 1598761 - PropertyAccessExpression 1598706 1598750 - Identifier 1598706 1598745 - Identifier 1598746 1598750 - PropertyAccessExpression 1598751 1598760 - Identifier 1598751 1598755 - Identifier 1598756 1598760 - IfStatement 1598812 1598976 - PropertyAccessExpression 1598838 1598854 - Identifier 1598838 1598847 - Identifier 1598848 1598854 - Block 1598855 1598976 - ExpressionStatement 1598857 1598953 - CallExpression 1598857 1598952 - Identifier 1598857 1598900 - CallExpression 1598901 1598924 - Identifier 1598901 1598913 - Identifier 1598914 1598923 - PropertyAccessExpression 1598925 1598941 - Identifier 1598925 1598936 - Identifier 1598937 1598941 - Identifier 1598942 1598951 - ForOfStatement 1599010 1599303 - VariableDeclarationList 1599029 1599045 - VariableDeclaration 1599034 1599045 - Identifier 1599034 1599045 - Identifier 1599048 1599059 - Block 1599060 1599303 - VariableStatement 1599062 1599150 - VariableDeclarationList 1599062 1599149 - VariableDeclaration 1599085 1599149 - Identifier 1599085 1599096 - CallExpression 1599098 1599149 - Identifier 1599098 1599121 - Identifier 1599122 1599128 - PropertyAccessExpression 1599129 1599148 - Identifier 1599129 1599140 - Identifier 1599141 1599148 - IfStatement 1599150 1599288 - Identifier 1599172 1599182 - Block 1599183 1599288 - ExpressionStatement 1599185 1599269 - CallExpression 1599185 1599268 - Identifier 1599185 1599224 - PropertyAccessExpression 1599225 1599240 - Identifier 1599225 1599235 - Identifier 1599236 1599240 - PropertyAccessExpression 1599241 1599257 - Identifier 1599241 1599252 - Identifier 1599253 1599257 - Identifier 1599258 1599267 - FunctionDeclaration 1599321 1599612 - Identifier 1599337 1599361 - Parameter 1599362 1599369 - Identifier 1599362 1599363 - TypeReference 1599364 1599369 - Identifier 1599364 1599369 - Parameter 1599370 1599378 - Identifier 1599370 1599372 - TypeReference 1599373 1599378 - Identifier 1599373 1599378 - Block 1599379 1599612 - ReturnStatement 1599381 1599605 - ConditionalExpression 1599397 1599604 - BinaryExpression 1599397 1599415 - Identifier 1599397 1599399 - EqualsEqualsEqualsToken 1599399 1599403 - Identifier 1599403 1599415 - QuestionToken 1599415 1599417 - BinaryExpression 1599417 1599425 - Identifier 1599417 1599419 - EqualsEqualsEqualsToken 1599419 1599423 - Identifier 1599423 1599425 - ColonToken 1599425 1599427 - ParenthesizedExpression 1599427 1599604 - BinaryExpression 1599442 1599603 - CallExpression 1599442 1599465 - Identifier 1599442 1599459 - Identifier 1599460 1599461 - Identifier 1599462 1599464 - BarBarToken 1599465 1599468 - PrefixUnaryExpression 1599468 1599603 - PrefixUnaryExpression 1599470 1599603 - ParenthesizedExpression 1599471 1599603 - BinaryExpression 1599472 1599602 - BinaryExpression 1599472 1599535 - BinaryExpression 1599472 1599498 - PropertyAccessExpression 1599472 1599479 - Identifier 1599472 1599473 - Identifier 1599474 1599479 - AmpersandToken 1599479 1599481 - PropertyAccessExpression 1599481 1599498 - Identifier 1599481 1599491 - Identifier 1599492 1599498 - AmpersandAmpersandToken 1599498 1599501 - BinaryExpression 1599501 1599535 - PropertyAccessExpression 1599501 1599509 - Identifier 1599501 1599503 - Identifier 1599504 1599509 - AmpersandToken 1599509 1599511 - PropertyAccessExpression 1599511 1599535 - Identifier 1599511 1599521 - Identifier 1599522 1599535 - BarBarToken 1599535 1599538 - BinaryExpression 1599538 1599602 - BinaryExpression 1599538 1599565 - PropertyAccessExpression 1599538 1599546 - Identifier 1599538 1599540 - Identifier 1599541 1599546 - AmpersandToken 1599546 1599548 - PropertyAccessExpression 1599548 1599565 - Identifier 1599548 1599558 - Identifier 1599559 1599565 - AmpersandAmpersandToken 1599565 1599568 - BinaryExpression 1599568 1599602 - PropertyAccessExpression 1599568 1599576 - Identifier 1599568 1599570 - Identifier 1599571 1599576 - AmpersandToken 1599576 1599578 - PropertyAccessExpression 1599578 1599602 - Identifier 1599578 1599588 - Identifier 1599589 1599602 - FunctionDeclaration 1599612 1599882 - Identifier 1599628 1599651 - Parameter 1599652 1599659 - Identifier 1599652 1599653 - TypeReference 1599654 1599659 - Identifier 1599654 1599659 - Parameter 1599660 1599668 - Identifier 1599660 1599662 - TypeReference 1599663 1599668 - Identifier 1599663 1599668 - Block 1599669 1599882 - ReturnStatement 1599671 1599875 - PrefixUnaryExpression 1599687 1599874 - PrefixUnaryExpression 1599689 1599874 - ParenthesizedExpression 1599690 1599874 - BinaryExpression 1599691 1599873 - BinaryExpression 1599691 1599784 - BinaryExpression 1599691 1599759 - BinaryExpression 1599691 1599747 - BinaryExpression 1599691 1599717 - PropertyAccessExpression 1599691 1599698 - Identifier 1599691 1599692 - Identifier 1599693 1599698 - AmpersandToken 1599698 1599700 - PropertyAccessExpression 1599700 1599717 - Identifier 1599700 1599710 - Identifier 1599711 1599717 - AmpersandAmpersandToken 1599717 1599720 - BinaryExpression 1599720 1599747 - PropertyAccessExpression 1599720 1599728 - Identifier 1599720 1599722 - Identifier 1599723 1599728 - AmpersandToken 1599728 1599730 - PropertyAccessExpression 1599730 1599747 - Identifier 1599730 1599740 - Identifier 1599741 1599747 - AmpersandAmpersandToken 1599747 1599750 - PropertyAccessExpression 1599750 1599759 - Identifier 1599750 1599752 - Identifier 1599753 1599759 - AmpersandAmpersandToken 1599759 1599762 - BinaryExpression 1599762 1599784 - PropertyAccessExpression 1599762 1599771 - Identifier 1599762 1599764 - Identifier 1599765 1599771 - EqualsEqualsEqualsToken 1599771 1599775 - PropertyAccessExpression 1599775 1599784 - Identifier 1599775 1599777 - Identifier 1599778 1599784 - BarBarToken 1599784 1599787 - BinaryExpression 1599787 1599873 - BinaryExpression 1599787 1599838 - PropertyAccessExpression 1599787 1599814 - Identifier 1599787 1599802 - Identifier 1599803 1599814 - AmpersandAmpersandToken 1599814 1599817 - PropertyAccessExpression 1599817 1599838 - Identifier 1599817 1599819 - Identifier 1599820 1599838 - AmpersandAmpersandToken 1599838 1599841 - BinaryExpression 1599841 1599873 - PropertyAccessExpression 1599841 1599855 - Identifier 1599841 1599843 - Identifier 1599844 1599855 - EqualsEqualsEqualsToken 1599855 1599859 - PropertyAccessExpression 1599859 1599873 - Identifier 1599859 1599861 - Identifier 1599862 1599873 - FunctionDeclaration 1599882 1600292 - Identifier 1599898 1599921 - Parameter 1599922 1599941 - Identifier 1599922 1599926 - TypeReference 1599927 1599941 - Identifier 1599927 1599941 - BooleanKeyword 1599943 1599951 - Block 1599951 1600292 - VariableStatement 1599953 1600017 - VariableDeclarationList 1599953 1600016 - VariableDeclaration 1599968 1600016 - Identifier 1599968 1599979 - CallExpression 1599981 1600016 - Identifier 1599981 1600010 - Identifier 1600011 1600015 - ReturnStatement 1600017 1600285 - BinaryExpression 1600033 1600284 - PrefixUnaryExpression 1600033 1600046 - PrefixUnaryExpression 1600035 1600046 - Identifier 1600036 1600046 - AmpersandAmpersandToken 1600046 1600049 - CallExpression 1600049 1600284 - Identifier 1600049 1600065 - ConditionalExpression 1600066 1600190 - BinaryExpression 1600066 1600106 - PropertyAccessExpression 1600066 1600082 - Identifier 1600066 1600076 - Identifier 1600077 1600082 - AmpersandToken 1600082 1600084 - PropertyAccessExpression 1600084 1600106 - Identifier 1600084 1600094 - Identifier 1600095 1600106 - QuestionToken 1600106 1600108 - CallExpression 1600108 1600177 - Identifier 1600108 1600146 - AsExpression 1600147 1600176 - Identifier 1600147 1600157 - TypeReference 1600160 1600176 - Identifier 1600160 1600176 - ColonToken 1600177 1600179 - Identifier 1600179 1600190 - BinaryExpression 1600191 1600283 - BinaryExpression 1600191 1600257 - BinaryExpression 1600191 1600229 - PropertyAccessExpression 1600191 1600211 - Identifier 1600191 1600201 - Identifier 1600202 1600211 - BarToken 1600211 1600213 - PropertyAccessExpression 1600213 1600229 - Identifier 1600213 1600223 - Identifier 1600224 1600229 - BarToken 1600229 1600231 - PropertyAccessExpression 1600231 1600257 - Identifier 1600231 1600241 - Identifier 1600242 1600257 - BarToken 1600257 1600259 - PropertyAccessExpression 1600259 1600283 - Identifier 1600259 1600269 - Identifier 1600270 1600283 - FunctionDeclaration 1600292 1600419 - Identifier 1600308 1600328 - Parameter 1600329 1600339 - Identifier 1600329 1600333 - TypeReference 1600334 1600339 - Identifier 1600334 1600339 - Block 1600340 1600419 - ReturnStatement 1600342 1600412 - PrefixUnaryExpression 1600358 1600411 - PrefixUnaryExpression 1600360 1600411 - ParenthesizedExpression 1600361 1600411 - BinaryExpression 1600362 1600410 - CallExpression 1600362 1600382 - Identifier 1600362 1600376 - Identifier 1600377 1600381 - AmpersandToken 1600382 1600384 - PropertyAccessExpression 1600384 1600410 - Identifier 1600384 1600396 - Identifier 1600397 1600410 - FunctionDeclaration 1600419 1600582 - Identifier 1600435 1600462 - Parameter 1600463 1600473 - Identifier 1600463 1600467 - TypeReference 1600468 1600473 - Identifier 1600468 1600473 - Block 1600474 1600582 - ReturnStatement 1600476 1600575 - PrefixUnaryExpression 1600492 1600574 - PrefixUnaryExpression 1600494 1600574 - ParenthesizedExpression 1600495 1600574 - BinaryExpression 1600496 1600573 - CallExpression 1600496 1600516 - Identifier 1600496 1600510 - Identifier 1600511 1600515 - AmpersandToken 1600516 1600518 - ParenthesizedExpression 1600518 1600573 - BinaryExpression 1600520 1600572 - PropertyAccessExpression 1600520 1600545 - Identifier 1600520 1600531 - Identifier 1600532 1600545 - BarToken 1600545 1600547 - PropertyAccessExpression 1600547 1600572 - Identifier 1600547 1600559 - Identifier 1600560 1600572 - FunctionDeclaration 1600582 1601092 - Identifier 1600598 1600635 - Parameter 1600636 1600654 - Identifier 1600636 1600646 - ArrayType 1600647 1600654 - TypeReference 1600647 1600652 - Identifier 1600647 1600652 - ArrayType 1600656 1600663 - TypeReference 1600656 1600661 - Identifier 1600656 1600661 - Block 1600663 1601092 - IfStatement 1600665 1601057 - BinaryExpression 1600679 1600700 - PropertyAccessExpression 1600679 1600696 - Identifier 1600679 1600689 - Identifier 1600690 1600696 - GreaterThanToken 1600696 1600698 - NumericLiteral 1600698 1600700 - Block 1600701 1601057 - VariableStatement 1600703 1600787 - VariableDeclarationList 1600703 1600786 - VariableDeclaration 1600722 1600786 - Identifier 1600722 1600737 - CallExpression 1600739 1600786 - Identifier 1600739 1600746 - Identifier 1600747 1600757 - Identifier 1600758 1600785 - IfStatement 1600787 1601046 - PropertyAccessExpression 1600805 1600826 - Identifier 1600805 1600819 - Identifier 1600820 1600826 - Block 1600827 1601046 - VariableStatement 1600829 1600921 - VariableDeclarationList 1600829 1600920 - VariableDeclaration 1600852 1600920 - Identifier 1600852 1600865 - CallExpression 1600867 1600920 - Identifier 1600867 1600880 - Identifier 1600881 1600895 - PropertyAccessExpression 1600896 1600919 - Identifier 1600896 1600911 - Identifier 1600912 1600919 - ReturnStatement 1600921 1601031 - CallExpression 1600945 1601030 - Identifier 1600945 1600957 - CallExpression 1600958 1601013 - Identifier 1600958 1600964 - Identifier 1600965 1600975 - ArrowFunction 1600976 1601012 - Parameter 1600976 1600978 - Identifier 1600976 1600978 - EqualsGreaterThanToken 1600978 1600981 - PrefixUnaryExpression 1600981 1601012 - CallExpression 1600983 1601012 - Identifier 1600983 1601009 - Identifier 1601010 1601011 - ArrayLiteralExpression 1601014 1601029 - Identifier 1601016 1601028 - ReturnStatement 1601057 1601085 - Identifier 1601073 1601084 - FunctionDeclaration 1601092 1601352 - Identifier 1601108 1601134 - Parameter 1601135 1601159 - Identifier 1601135 1601144 - TypeReference 1601145 1601159 - Identifier 1601145 1601159 - Block 1601160 1601352 - ReturnStatement 1601162 1601345 - ConditionalExpression 1601178 1601344 - BinaryExpression 1601178 1601245 - NonNullExpression 1601178 1601198 - PropertyAccessExpression 1601178 1601197 - Identifier 1601178 1601188 - Identifier 1601189 1601197 - AmpersandToken 1601198 1601200 - PropertyAccessExpression 1601200 1601245 - Identifier 1601200 1601218 - Identifier 1601219 1601245 - QuestionToken 1601245 1601247 - CallExpression 1601247 1601296 - Identifier 1601247 1601267 - NonNullExpression 1601268 1601295 - PropertyAccessExpression 1601268 1601294 - Identifier 1601268 1601277 - Identifier 1601278 1601294 - ColonToken 1601296 1601298 - CallExpression 1601298 1601344 - Identifier 1601298 1601315 - NonNullExpression 1601316 1601343 - PropertyAccessExpression 1601316 1601342 - Identifier 1601316 1601325 - Identifier 1601326 1601342 - FunctionDeclaration 1601352 1602963 - Identifier 1601368 1601390 - Parameter 1601391 1601415 - Identifier 1601391 1601400 - TypeReference 1601401 1601415 - Identifier 1601401 1601415 - Parameter 1601416 1601437 - Identifier 1601416 1601426 - TypeReference 1601427 1601437 - Identifier 1601427 1601437 - Block 1601438 1602963 - VariableStatement 1601440 1601644 - VariableDeclarationList 1601440 1601643 - VariableDeclaration 1601570 1601643 - Identifier 1601570 1601581 - CallExpression 1601583 1601643 - Identifier 1601583 1601620 - NonNullExpression 1601621 1601642 - PropertyAccessExpression 1601621 1601641 - Identifier 1601621 1601630 - Identifier 1601631 1601641 - VariableStatement 1601644 1602134 - VariableDeclarationList 1601644 1602133 - VariableDeclaration 1602015 1602133 - Identifier 1602015 1602035 - BinaryExpression 1602037 1602133 - CallExpression 1602037 1602085 - Identifier 1602037 1602060 - PropertyAccessExpression 1602061 1602084 - Identifier 1602061 1602070 - Identifier 1602071 1602084 - BarBarToken 1602085 1602088 - CallExpression 1602088 1602133 - Identifier 1602088 1602108 - PropertyAccessExpression 1602109 1602132 - Identifier 1602109 1602118 - Identifier 1602119 1602132 - VariableStatement 1602134 1602327 - VariableDeclarationList 1602134 1602326 - VariableDeclaration 1602149 1602326 - Identifier 1602149 1602167 - BinaryExpression 1602169 1602326 - BinaryExpression 1602169 1602212 - PrefixUnaryExpression 1602169 1602190 - Identifier 1602171 1602190 - AmpersandAmpersandToken 1602190 1602193 - PropertyAccessExpression 1602193 1602212 - Identifier 1602193 1602203 - Identifier 1602204 1602212 - AmpersandAmpersandToken 1602212 1602215 - ParenthesizedExpression 1602215 1602326 - BinaryExpression 1602230 1602325 - PropertyAccessExpression 1602230 1602247 - Identifier 1602230 1602239 - Identifier 1602240 1602247 - BarBarToken 1602247 1602250 - PrefixUnaryExpression 1602250 1602325 - CallExpression 1602252 1602325 - Identifier 1602252 1602289 - Identifier 1602290 1602299 - PropertyAccessExpression 1602300 1602324 - Identifier 1602300 1602310 - Identifier 1602311 1602324 - VariableStatement 1602327 1602535 - VariableDeclarationList 1602327 1602534 - VariableDeclaration 1602342 1602534 - Identifier 1602342 1602357 - ConditionalExpression 1602359 1602534 - Identifier 1602359 1602379 - QuestionToken 1602379 1602381 - CallExpression 1602381 1602430 - Identifier 1602381 1602389 - Identifier 1602390 1602400 - Identifier 1602401 1602429 - ColonToken 1602430 1602432 - ConditionalExpression 1602432 1602534 - Identifier 1602432 1602463 - QuestionToken 1602463 1602465 - CallExpression 1602465 1602508 - Identifier 1602465 1602473 - Identifier 1602474 1602484 - Identifier 1602485 1602507 - ColonToken 1602508 1602510 - Identifier 1602510 1602534 - VariableStatement 1602535 1602909 - VariableDeclarationList 1602535 1602908 - VariableDeclaration 1602707 1602908 - Identifier 1602707 1602721 - ConditionalExpression 1602723 1602908 - BinaryExpression 1602723 1602790 - NonNullExpression 1602723 1602743 - PropertyAccessExpression 1602723 1602742 - Identifier 1602723 1602733 - Identifier 1602734 1602742 - AmpersandToken 1602743 1602745 - PropertyAccessExpression 1602745 1602790 - Identifier 1602745 1602763 - Identifier 1602764 1602790 - QuestionToken 1602790 1602792 - CallExpression 1602792 1602858 - Identifier 1602792 1602818 - Identifier 1602819 1602833 - PropertyAccessExpression 1602834 1602857 - Identifier 1602834 1602849 - Identifier 1602850 1602857 - ColonToken 1602858 1602860 - CallExpression 1602860 1602908 - Identifier 1602860 1602892 - Identifier 1602893 1602907 - ReturnStatement 1602909 1602956 - CallExpression 1602925 1602955 - Identifier 1602925 1602940 - Identifier 1602941 1602954 - FunctionDeclaration 1602963 1607432 - Identifier 1602979 1602995 - Parameter 1602996 1603021 - Identifier 1602996 1603003 - TypeReference 1603004 1603021 - Identifier 1603004 1603021 - Parameter 1603022 1603036 - Identifier 1603022 1603028 - NumberKeyword 1603029 1603036 - TypeReference 1603038 1603043 - Identifier 1603038 1603043 - Block 1603043 1607432 - VariableStatement 1603045 1603099 - VariableDeclarationList 1603045 1603098 - VariableDeclaration 1603060 1603098 - Identifier 1603060 1603070 - ElementAccessExpression 1603072 1603098 - PropertyAccessExpression 1603072 1603091 - Identifier 1603072 1603080 - Identifier 1603081 1603091 - Identifier 1603092 1603097 - IfStatement 1603099 1607383 - PrefixUnaryExpression 1603113 1603136 - PropertyAccessExpression 1603114 1603136 - Identifier 1603114 1603123 - Identifier 1603124 1603136 - Block 1603137 1607383 - VariableStatement 1603139 1603188 - VariableDeclarationList 1603139 1603187 - VariableDeclaration 1603156 1603187 - Identifier 1603156 1603169 - UnionType 1603170 1603187 - TypeReference 1603170 1603175 - Identifier 1603170 1603175 - UndefinedKeyword 1603177 1603187 - VariableStatement 1603188 1603237 - VariableDeclarationList 1603188 1603236 - VariableDeclaration 1603205 1603236 - Identifier 1603205 1603218 - UnionType 1603219 1603236 - TypeReference 1603219 1603224 - Identifier 1603219 1603224 - UndefinedKeyword 1603226 1603236 - IfStatement 1603237 1606526 - PropertyAccessExpression 1603255 1603272 - Identifier 1603255 1603262 - Identifier 1603263 1603272 - Block 1603273 1606426 - VariableStatement 1603275 1603410 - VariableDeclarationList 1603275 1603409 - VariableDeclaration 1603298 1603409 - Identifier 1603298 1603320 - ConditionalExpression 1603322 1603409 - PropertyAccessExpression 1603322 1603343 - Identifier 1603322 1603332 - Identifier 1603333 1603343 - QuestionToken 1603343 1603345 - CallExpression 1603345 1603397 - Identifier 1603345 1603367 - Identifier 1603368 1603377 - PropertyAccessExpression 1603378 1603396 - Identifier 1603378 1603386 - Identifier 1603387 1603396 - ColonToken 1603397 1603399 - Identifier 1603399 1603409 - VariableStatement 1603410 1603540 - VariableDeclarationList 1603410 1603539 - VariableDeclaration 1603433 1603539 - Identifier 1603433 1603459 - ConditionalExpression 1603461 1603539 - PropertyAccessExpression 1603461 1603488 - Identifier 1603461 1603471 - Identifier 1603472 1603488 - QuestionToken 1603488 1603490 - CallExpression 1603490 1603527 - Identifier 1603490 1603516 - Identifier 1603517 1603526 - ColonToken 1603527 1603529 - Identifier 1603529 1603539 - IfStatement 1603540 1606411 - BinaryExpression 1603562 1603612 - Identifier 1603562 1603583 - BarBarToken 1603583 1603586 - Identifier 1603586 1603612 - Block 1603613 1605194 - VariableStatement 1603615 1604957 - VariableDeclarationList 1603615 1604956 - VariableDeclaration 1604356 1604956 - Identifier 1604356 1604376 - BinaryExpression 1604378 1604956 - Identifier 1604378 1604400 - AmpersandAmpersandToken 1604400 1604403 - ParenthesizedExpression 1604403 1604956 - BinaryExpression 1604405 1604955 - PrefixUnaryExpression 1604405 1604431 - Identifier 1604406 1604431 - BarBarToken 1604431 1604434 - BinaryExpression 1604434 1604955 - BinaryExpression 1604434 1604642 - PrefixUnaryExpression 1604434 1604526 - ParenthesizedExpression 1604461 1604526 - BinaryExpression 1604462 1604525 - PropertyAccessExpression 1604462 1604489 - Identifier 1604462 1604483 - Identifier 1604484 1604489 - AmpersandToken 1604489 1604491 - ParenthesizedExpression 1604491 1604525 - BinaryExpression 1604493 1604524 - PropertyAccessExpression 1604493 1604508 - Identifier 1604493 1604502 - Identifier 1604503 1604508 - BarToken 1604508 1604510 - PropertyAccessExpression 1604510 1604524 - Identifier 1604510 1604520 - Identifier 1604521 1604524 - AmpersandAmpersandToken 1604526 1604529 - CallExpression 1604529 1604642 - Identifier 1604529 1604563 - PropertyAccessExpression 1604564 1604590 - Identifier 1604564 1604573 - Identifier 1604574 1604590 - ArrowFunction 1604591 1604641 - Parameter 1604591 1604593 - Identifier 1604591 1604593 - EqualsGreaterThanToken 1604593 1604596 - CallExpression 1604596 1604641 - Identifier 1604596 1604615 - Identifier 1604616 1604637 - Identifier 1604638 1604640 - AmpersandAmpersandToken 1604642 1604645 - CallExpression 1604645 1604955 - Identifier 1604645 1604680 - PropertyAccessExpression 1604681 1604699 - Identifier 1604681 1604688 - Identifier 1604689 1604699 - ArrowFunction 1604700 1604954 - Parameter 1604700 1604706 - Identifier 1604700 1604706 - EqualsGreaterThanToken 1604706 1604709 - BinaryExpression 1604709 1604954 - BinaryExpression 1604709 1604843 - BinaryExpression 1604709 1604762 - Identifier 1604709 1604748 - ExclamationEqualsEqualsToken 1604748 1604752 - Identifier 1604752 1604762 - AmpersandAmpersandToken 1604762 1604765 - BinaryExpression 1604765 1604843 - CallExpression 1604765 1604815 - Identifier 1604765 1604794 - PropertyAccessExpression 1604795 1604814 - Identifier 1604795 1604800 - Identifier 1604801 1604814 - ExclamationEqualsEqualsToken 1604815 1604819 - PropertyAccessExpression 1604819 1604843 - Identifier 1604819 1604829 - Identifier 1604830 1604843 - BarBarToken 1604843 1604846 - CallExpression 1604846 1604954 - Identifier 1604846 1604885 - PropertyAccessExpression 1604886 1604902 - Identifier 1604886 1604891 - Identifier 1604892 1604902 - ArrowFunction 1604903 1604953 - Parameter 1604903 1604905 - Identifier 1604903 1604905 - EqualsGreaterThanToken 1604905 1604908 - CallExpression 1604908 1604953 - Identifier 1604908 1604927 - Identifier 1604928 1604929 - Identifier 1604930 1604952 - ExpressionStatement 1604957 1605066 - BinaryExpression 1604957 1605065 - Identifier 1604957 1604991 - EqualsToken 1604991 1604993 - ConditionalExpression 1604993 1605065 - Identifier 1604993 1605013 - QuestionToken 1605013 1605015 - Identifier 1605015 1605037 - ColonToken 1605037 1605039 - Identifier 1605039 1605065 - ExpressionStatement 1605066 1605175 - BinaryExpression 1605066 1605174 - Identifier 1605066 1605100 - EqualsToken 1605100 1605102 - ConditionalExpression 1605102 1605174 - Identifier 1605102 1605122 - QuestionToken 1605122 1605124 - Identifier 1605124 1605150 - ColonToken 1605150 1605152 - Identifier 1605152 1605174 - IfStatement 1605216 1606411 - BinaryExpression 1605221 1605261 - PropertyAccessExpression 1605221 1605234 - Identifier 1605221 1605228 - Identifier 1605229 1605234 - AmpersandToken 1605234 1605236 - PropertyAccessExpression 1605236 1605261 - Identifier 1605236 1605251 - Identifier 1605252 1605261 - Block 1605262 1605427 - ExpressionStatement 1605264 1605408 - BinaryExpression 1605264 1605407 - Identifier 1605264 1605389 - EqualsToken 1605389 1605391 - Identifier 1605391 1605407 - Block 1605449 1606411 - VariableStatement 1605451 1605996 - VariableDeclarationList 1605451 1605995 - VariableDeclaration 1605928 1605995 - Identifier 1605928 1605940 - CallExpression 1605942 1605995 - Identifier 1605942 1605970 - PropertyAccessExpression 1605971 1605994 - Identifier 1605971 1605980 - Identifier 1605981 1605994 - IfStatement 1605996 1606392 - Identifier 1606022 1606033 - Block 1606034 1606392 - ExpressionStatement 1606036 1606369 - BinaryExpression 1606036 1606368 - Identifier 1606036 1606251 - EqualsToken 1606251 1606253 - CallExpression 1606253 1606368 - Identifier 1606253 1606269 - Identifier 1606270 1606281 - CallExpression 1606282 1606367 - Identifier 1606282 1606299 - CallExpression 1606300 1606341 - Identifier 1606300 1606325 - Identifier 1606326 1606333 - Identifier 1606334 1606340 - PropertyAccessExpression 1606342 1606366 - Identifier 1606342 1606350 - Identifier 1606351 1606366 - Block 1606444 1606526 - ExpressionStatement 1606446 1606511 - BinaryExpression 1606446 1606510 - Identifier 1606446 1606476 - EqualsToken 1606476 1606478 - CallExpression 1606478 1606510 - Identifier 1606478 1606499 - Identifier 1606500 1606509 - ExpressionStatement 1606526 1606657 - BinaryExpression 1606526 1606656 - PropertyAccessExpression 1606526 1606564 - Identifier 1606526 1606551 - Identifier 1606552 1606564 - EqualsToken 1606564 1606566 - BinaryExpression 1606566 1606656 - Identifier 1606566 1606579 - BarBarToken 1606579 1606582 - CallExpression 1606582 1606656 - Identifier 1606582 1606609 - PrefixUnaryExpression 1606610 1606655 - PrefixUnaryExpression 1606611 1606655 - ParenthesizedExpression 1606612 1606655 - BinaryExpression 1606613 1606654 - PropertyAccessExpression 1606613 1606626 - Identifier 1606613 1606620 - Identifier 1606621 1606626 - AmpersandToken 1606626 1606628 - PropertyAccessExpression 1606628 1606654 - Identifier 1606628 1606643 - Identifier 1606644 1606654 - VariableStatement 1606657 1606746 - VariableDeclarationList 1606657 1606745 - VariableDeclaration 1606678 1606745 - Identifier 1606678 1606689 - CallExpression 1606691 1606745 - Identifier 1606691 1606720 - PropertyAccessExpression 1606721 1606744 - Identifier 1606721 1606730 - Identifier 1606731 1606744 - IfStatement 1606746 1607372 - Identifier 1606764 1606774 - Block 1606775 1607372 - VariableStatement 1606777 1606879 - VariableDeclarationList 1606777 1606878 - VariableDeclaration 1606800 1606878 - Identifier 1606800 1606823 - CallExpression 1606825 1606878 - Identifier 1606825 1606841 - Identifier 1606842 1606852 - PropertyAccessExpression 1606853 1606877 - Identifier 1606853 1606861 - Identifier 1606862 1606877 - IfStatement 1606879 1607357 - BinaryExpression 1606901 1607016 - PrefixUnaryExpression 1606901 1606914 - Identifier 1606902 1606914 - BarBarToken 1606914 1606917 - PrefixUnaryExpression 1606917 1607016 - CallExpression 1606919 1607016 - PropertyAccessExpression 1606919 1606939 - Identifier 1606919 1606926 - Identifier 1606927 1606939 - Identifier 1606940 1606952 - CallExpression 1606953 1607015 - Identifier 1606953 1606977 - Identifier 1606978 1607000 - Identifier 1607001 1607014 - Block 1607017 1607357 - ExpressionStatement 1607019 1607338 - BinaryExpression 1607019 1607337 - PropertyAccessExpression 1607019 1607181 - Identifier 1607019 1607168 - Identifier 1607169 1607181 - EqualsToken 1607181 1607183 - ConditionalExpression 1607183 1607337 - BinaryExpression 1607183 1607297 - Identifier 1607183 1607196 - AmpersandAmpersandToken 1607196 1607199 - CallExpression 1607199 1607297 - PropertyAccessExpression 1607199 1607220 - Identifier 1607199 1607207 - Identifier 1607208 1607220 - Identifier 1607221 1607233 - CallExpression 1607234 1607296 - Identifier 1607234 1607258 - Identifier 1607259 1607281 - Identifier 1607282 1607295 - QuestionToken 1607297 1607299 - Identifier 1607299 1607312 - ColonToken 1607312 1607314 - Identifier 1607314 1607337 - ReturnStatement 1607383 1607425 - PropertyAccessExpression 1607401 1607424 - Identifier 1607401 1607411 - Identifier 1607412 1607424 - FunctionDeclaration 1607432 1607579 - Identifier 1607448 1607475 - Parameter 1607476 1607503 - Identifier 1607476 1607494 - BooleanKeyword 1607495 1607503 - TypeReference 1607505 1607510 - Identifier 1607505 1607510 - Block 1607510 1607579 - ReturnStatement 1607512 1607572 - ConditionalExpression 1607528 1607571 - Identifier 1607528 1607547 - QuestionToken 1607547 1607549 - Identifier 1607549 1607557 - ColonToken 1607557 1607559 - Identifier 1607559 1607571 - FunctionDeclaration 1607579 1607845 - Identifier 1607595 1607612 - Parameter 1607613 1607638 - Identifier 1607613 1607620 - TypeReference 1607621 1607638 - Identifier 1607621 1607638 - ArrayType 1607640 1607647 - TypeReference 1607640 1607645 - Identifier 1607640 1607645 - Block 1607647 1607845 - VariableStatement 1607649 1607685 - VariableDeclarationList 1607649 1607684 - VariableDeclaration 1607664 1607684 - Identifier 1607664 1607671 - ArrayType 1607672 1607679 - TypeReference 1607672 1607677 - Identifier 1607672 1607677 - ArrayLiteralExpression 1607681 1607684 - ForStatement 1607685 1607814 - VariableDeclarationList 1607700 1607709 - VariableDeclaration 1607703 1607709 - Identifier 1607703 1607705 - NumericLiteral 1607707 1607709 - BinaryExpression 1607710 1607740 - Identifier 1607710 1607712 - LessThanToken 1607712 1607714 - PropertyAccessExpression 1607714 1607740 - PropertyAccessExpression 1607714 1607733 - Identifier 1607714 1607722 - Identifier 1607723 1607733 - Identifier 1607734 1607740 - PostfixUnaryExpression 1607741 1607745 - Identifier 1607741 1607743 - Block 1607746 1607814 - ExpressionStatement 1607748 1607803 - CallExpression 1607748 1607802 - PropertyAccessExpression 1607748 1607773 - Identifier 1607748 1607768 - Identifier 1607769 1607773 - CallExpression 1607774 1607801 - Identifier 1607774 1607789 - Identifier 1607790 1607797 - Identifier 1607798 1607800 - ReturnStatement 1607814 1607838 - Identifier 1607830 1607837 - FunctionDeclaration 1607845 1611456 - Identifier 1607896 1607931 - Parameter 1607932 1607948 - Identifier 1607932 1607936 - TypeReference 1607937 1607948 - Identifier 1607937 1607948 - TypeReference 1607950 1607968 - Identifier 1607950 1607968 - Block 1607968 1611456 - SwitchStatement 1607970 1611449 - PropertyAccessExpression 1607988 1608004 - Identifier 1607988 1607992 - Identifier 1607993 1608004 - CaseBlock 1608005 1611449 - CaseClause 1608007 1608037 - StringLiteral 1608025 1608036 - CaseClause 1608037 1608216 - StringLiteral 1608055 1608065 - ReturnStatement 1608066 1608216 - PropertyAccessExpression 1608090 1608215 - Identifier 1608090 1608102 - Identifier 1608103 1608215 - CaseClause 1608216 1608626 - StringLiteral 1608234 1608238 - ReturnStatement 1608239 1608626 - ConditionalExpression 1608263 1608625 - PropertyAccessExpression 1608263 1608285 - Identifier 1608263 1608279 - Identifier 1608280 1608285 - QuestionToken 1608285 1608308 - PropertyAccessExpression 1608308 1608483 - Identifier 1608308 1608320 - Identifier 1608321 1608483 - ColonToken 1608483 1608506 - PropertyAccessExpression 1608506 1608625 - Identifier 1608506 1608518 - Identifier 1608519 1608625 - CaseClause 1608626 1608656 - StringLiteral 1608644 1608655 - CaseClause 1608656 1608683 - StringLiteral 1608674 1608682 - CaseClause 1608683 1608707 - StringLiteral 1608701 1608706 - CaseClause 1608707 1609207 - StringLiteral 1608725 1608732 - ReturnStatement 1608733 1609207 - ConditionalExpression 1608757 1609206 - PropertyAccessExpression 1608757 1608779 - Identifier 1608757 1608773 - Identifier 1608774 1608779 - QuestionToken 1608779 1608802 - PropertyAccessExpression 1608802 1609024 - Identifier 1608802 1608814 - Identifier 1608815 1609024 - ColonToken 1609024 1609047 - PropertyAccessExpression 1609047 1609206 - Identifier 1609047 1609059 - Identifier 1609060 1609206 - CaseClause 1609207 1609236 - StringLiteral 1609225 1609235 - CaseClause 1609236 1609265 - StringLiteral 1609254 1609264 - CaseClause 1609265 1609293 - StringLiteral 1609283 1609292 - CaseClause 1609293 1609698 - StringLiteral 1609311 1609320 - ReturnStatement 1609321 1609698 - ConditionalExpression 1609345 1609697 - PropertyAccessExpression 1609345 1609367 - Identifier 1609345 1609361 - Identifier 1609362 1609367 - QuestionToken 1609367 1609390 - PropertyAccessExpression 1609390 1609559 - Identifier 1609390 1609402 - Identifier 1609403 1609559 - ColonToken 1609559 1609582 - PropertyAccessExpression 1609582 1609697 - Identifier 1609582 1609594 - Identifier 1609595 1609697 - CaseClause 1609698 1610095 - StringLiteral 1609716 1609722 - ReturnStatement 1609723 1610095 - ConditionalExpression 1609747 1610094 - PropertyAccessExpression 1609747 1609769 - Identifier 1609747 1609763 - Identifier 1609764 1609769 - QuestionToken 1609769 1609792 - PropertyAccessExpression 1609792 1609958 - Identifier 1609792 1609804 - Identifier 1609805 1609958 - ColonToken 1609958 1609981 - PropertyAccessExpression 1609981 1610094 - Identifier 1609981 1609993 - Identifier 1609994 1610094 - CaseClause 1610095 1610120 - StringLiteral 1610113 1610119 - CaseClause 1610120 1610145 - StringLiteral 1610138 1610144 - CaseClause 1610145 1610174 - StringLiteral 1610163 1610173 - CaseClause 1610174 1610202 - StringLiteral 1610192 1610201 - CaseClause 1610202 1610231 - StringLiteral 1610220 1610230 - CaseClause 1610231 1610260 - StringLiteral 1610249 1610259 - CaseClause 1610260 1610290 - StringLiteral 1610278 1610289 - CaseClause 1610290 1610325 - StringLiteral 1610308 1610324 - CaseClause 1610325 1610364 - StringLiteral 1610343 1610363 - CaseClause 1610364 1610393 - StringLiteral 1610382 1610392 - CaseClause 1610393 1610428 - StringLiteral 1610411 1610427 - CaseClause 1610428 1610471 - StringLiteral 1610446 1610470 - CaseClause 1610471 1610507 - StringLiteral 1610489 1610506 - CaseClause 1610507 1610551 - StringLiteral 1610525 1610550 - CaseClause 1610551 1610579 - StringLiteral 1610569 1610578 - CaseClause 1610579 1610608 - StringLiteral 1610597 1610607 - CaseClause 1610608 1610643 - StringLiteral 1610626 1610642 - CaseClause 1610643 1610828 - StringLiteral 1610661 1610678 - ReturnStatement 1610679 1610828 - PropertyAccessExpression 1610703 1610827 - Identifier 1610703 1610715 - Identifier 1610716 1610827 - CaseClause 1610828 1611036 - StringLiteral 1610846 1610854 - IfStatement 1610855 1611036 - CallExpression 1610877 1610906 - Identifier 1610877 1610893 - PropertyAccessExpression 1610894 1610905 - Identifier 1610894 1610898 - Identifier 1610899 1610905 - Block 1610907 1611036 - ReturnStatement 1610909 1611017 - PropertyAccessExpression 1610937 1611016 - Identifier 1610937 1610949 - Identifier 1610950 1611016 - DefaultClause 1611036 1611438 - IfStatement 1611092 1611438 - BinaryExpression 1611114 1611173 - PropertyAccessExpression 1611114 1611130 - PropertyAccessExpression 1611114 1611125 - Identifier 1611114 1611118 - Identifier 1611119 1611125 - Identifier 1611126 1611130 - EqualsEqualsEqualsToken 1611130 1611134 - PropertyAccessExpression 1611134 1611173 - Identifier 1611134 1611145 - Identifier 1611146 1611173 - Block 1611174 1611335 - ReturnStatement 1611176 1611316 - PropertyAccessExpression 1611204 1611315 - Identifier 1611204 1611216 - Identifier 1611217 1611315 - Block 1611357 1611438 - ReturnStatement 1611359 1611419 - PropertyAccessExpression 1611387 1611418 - Identifier 1611387 1611399 - Identifier 1611400 1611418 - FunctionDeclaration 1611456 1612091 - Identifier 1611472 1611490 - Parameter 1611491 1611507 - Identifier 1611491 1611495 - TypeReference 1611496 1611507 - Identifier 1611496 1611507 - TypeReference 1611509 1611516 - Identifier 1611509 1611516 - Block 1611516 1612091 - VariableStatement 1611518 1611561 - VariableDeclarationList 1611518 1611560 - VariableDeclaration 1611533 1611560 - Identifier 1611533 1611539 - CallExpression 1611541 1611560 - Identifier 1611541 1611554 - Identifier 1611555 1611559 - IfStatement 1611561 1612046 - PrefixUnaryExpression 1611575 1611596 - PropertyAccessExpression 1611576 1611596 - Identifier 1611576 1611581 - Identifier 1611582 1611596 - Block 1611597 1612046 - ExpressionStatement 1611599 1612035 - BinaryExpression 1611599 1612034 - PropertyAccessExpression 1611599 1611633 - Identifier 1611599 1611618 - Identifier 1611619 1611633 - EqualsToken 1611633 1611635 - BinaryExpression 1611635 1612034 - BinaryExpression 1611635 1612017 - PrefixUnaryExpression 1611635 1611656 - CallExpression 1611637 1611656 - Identifier 1611637 1611650 - Identifier 1611651 1611655 - AmpersandAmpersandToken 1611656 1611659 - CallExpression 1611659 1612017 - Identifier 1611659 1611692 - Identifier 1611693 1611723 - Identifier 1611724 1611754 - BinaryExpression 1611755 1611824 - PropertyAccessExpression 1611755 1611798 - Identifier 1611755 1611792 - Identifier 1611793 1611798 - BarToken 1611798 1611800 - PropertyAccessExpression 1611800 1611824 - Identifier 1611800 1611812 - Identifier 1611813 1611824 - CallExpression 1611825 1611891 - Identifier 1611825 1611885 - Identifier 1611886 1611890 - PrefixUnaryExpression 1611892 1611942 - CallExpression 1611919 1611942 - Identifier 1611919 1611936 - Identifier 1611937 1611941 - FalseKeyword 1611943 1611993 - BarBarToken 1612017 1612020 - Identifier 1612020 1612034 - ReturnStatement 1612046 1612084 - PropertyAccessExpression 1612062 1612083 - Identifier 1612062 1612068 - Identifier 1612069 1612083 - FunctionDeclaration 1612091 1612318 - Identifier 1612107 1612129 - Parameter 1612130 1612140 - Identifier 1612130 1612134 - TypeReference 1612135 1612140 - Identifier 1612135 1612140 - BooleanKeyword 1612142 1612150 - Block 1612150 1612318 - ReturnStatement 1612152 1612311 - PrefixUnaryExpression 1612168 1612310 - PrefixUnaryExpression 1612170 1612310 - ParenthesizedExpression 1612171 1612310 - BinaryExpression 1612172 1612309 - BinaryExpression 1612172 1612202 - PropertyAccessExpression 1612172 1612182 - Identifier 1612172 1612176 - Identifier 1612177 1612182 - AmpersandToken 1612182 1612184 - PropertyAccessExpression 1612184 1612202 - Identifier 1612184 1612194 - Identifier 1612195 1612202 - BarBarToken 1612202 1612205 - CallExpression 1612205 1612309 - Identifier 1612205 1612218 - Identifier 1612219 1612223 - ArrowFunction 1612224 1612308 - Parameter 1612224 1612226 - Identifier 1612224 1612226 - EqualsGreaterThanToken 1612226 1612229 - BinaryExpression 1612229 1612308 - BinaryExpression 1612229 1612284 - CallExpression 1612229 1612255 - Identifier 1612229 1612252 - Identifier 1612253 1612254 - BarBarToken 1612255 1612258 - CallExpression 1612258 1612284 - Identifier 1612258 1612281 - Identifier 1612282 1612283 - BarBarToken 1612284 1612287 - CallExpression 1612287 1612308 - Identifier 1612287 1612305 - Identifier 1612306 1612307 - FunctionDeclaration 1612318 1615431 - Identifier 1612664 1612680 - Parameter 1612681 1612691 - Identifier 1612681 1612685 - TypeReference 1612686 1612691 - Identifier 1612686 1612691 - Parameter 1612692 1612711 - Identifier 1612692 1612705 - TypeReference 1612706 1612711 - Identifier 1612706 1612711 - Parameter 1612712 1612730 - Identifier 1612712 1612724 - TypeReference 1612725 1612730 - Identifier 1612725 1612730 - Parameter 1612731 1612763 - Identifier 1612731 1612745 - UnionType 1612746 1612763 - TypeReference 1612746 1612751 - Identifier 1612746 1612751 - UndefinedKeyword 1612753 1612763 - UnionType 1612765 1612784 - StringKeyword 1612765 1612772 - UndefinedKeyword 1612774 1612784 - Block 1612784 1615431 - SwitchStatement 1612786 1615397 - PropertyAccessExpression 1612804 1612813 - Identifier 1612804 1612808 - Identifier 1612809 1612813 - CaseBlock 1612814 1615397 - CaseClause 1612816 1613197 - PropertyAccessExpression 1612834 1612856 - Identifier 1612834 1612845 - Identifier 1612846 1612856 - IfStatement 1612857 1613197 - PrefixUnaryExpression 1612879 1612903 - CallExpression 1612880 1612903 - Identifier 1612880 1612897 - Identifier 1612898 1612902 - Block 1612904 1613197 - VariableStatement 1612906 1612981 - VariableDeclarationList 1612906 1612980 - VariableDeclaration 1612933 1612980 - Identifier 1612933 1612940 - CallExpression 1612942 1612980 - Identifier 1612942 1612960 - AsExpression 1612961 1612979 - Identifier 1612961 1612965 - TypeReference 1612968 1612979 - Identifier 1612968 1612979 - ReturnStatement 1612981 1613178 - ConditionalExpression 1613009 1613177 - BinaryExpression 1613009 1613034 - Identifier 1613009 1613016 - ExclamationEqualsEqualsToken 1613016 1613020 - Identifier 1613020 1613034 - QuestionToken 1613034 1613036 - TemplateExpression 1613036 1613165 - TemplateHead 1613036 1613040 - TemplateSpan 1613040 1613091 - ConditionalExpression 1613040 1613087 - Identifier 1613040 1613053 - QuestionToken 1613053 1613055 - CallExpression 1613055 1613080 - Identifier 1613055 1613065 - Identifier 1613066 1613079 - ColonToken 1613080 1613082 - StringLiteral 1613082 1613087 - TemplateMiddle 1613087 1613091 - TemplateSpan 1613091 1613118 - CallExpression 1613091 1613114 - Identifier 1613091 1613100 - Identifier 1613101 1613113 - TemplateMiddle 1613114 1613118 - TemplateSpan 1613118 1613144 - CallExpression 1613118 1613140 - Identifier 1613118 1613127 - Identifier 1613128 1613139 - TemplateMiddle 1613140 1613144 - TemplateSpan 1613144 1613165 - CallExpression 1613144 1613163 - Identifier 1613144 1613155 - Identifier 1613156 1613162 - TemplateTail 1613163 1613165 - ColonToken 1613165 1613167 - Identifier 1613167 1613177 - CaseClause 1613197 1613406 - PropertyAccessExpression 1613249 1613272 - Identifier 1613249 1613260 - Identifier 1613261 1613272 - ReturnStatement 1613273 1613406 - TemplateExpression 1613297 1613405 - TemplateHead 1613297 1613303 - TemplateSpan 1613303 1613354 - ConditionalExpression 1613303 1613350 - Identifier 1613303 1613316 - QuestionToken 1613316 1613318 - CallExpression 1613318 1613343 - Identifier 1613318 1613328 - Identifier 1613329 1613342 - ColonToken 1613343 1613345 - StringLiteral 1613345 1613350 - TemplateMiddle 1613350 1613354 - TemplateSpan 1613354 1613381 - CallExpression 1613354 1613377 - Identifier 1613354 1613363 - Identifier 1613364 1613376 - TemplateMiddle 1613377 1613381 - TemplateSpan 1613381 1613405 - CallExpression 1613381 1613403 - Identifier 1613381 1613390 - Identifier 1613391 1613402 - TemplateTail 1613403 1613405 - CaseClause 1613406 1613454 - PropertyAccessExpression 1613424 1613453 - Identifier 1613424 1613435 - Identifier 1613436 1613453 - CaseClause 1613454 1613657 - PropertyAccessExpression 1613472 1613507 - Identifier 1613472 1613483 - Identifier 1613484 1613507 - ReturnStatement 1613508 1613657 - CallExpression 1613532 1613656 - Identifier 1613532 1613548 - PropertyAccessExpression 1613549 1613613 - ParenthesizedExpression 1613549 1613602 - AsExpression 1613550 1613601 - Identifier 1613550 1613554 - UnionType 1613557 1613601 - TypeReference 1613557 1613575 - Identifier 1613557 1613575 - TypeReference 1613577 1613601 - Identifier 1613577 1613601 - Identifier 1613603 1613613 - Identifier 1613614 1613627 - Identifier 1613628 1613640 - Identifier 1613641 1613655 - CaseClause 1613657 1613908 - PropertyAccessExpression 1613675 1613700 - Identifier 1613675 1613686 - Identifier 1613687 1613700 - VariableStatement 1613701 1613820 - VariableDeclarationList 1613701 1613819 - VariableDeclaration 1613724 1613819 - Identifier 1613724 1613729 - CallExpression 1613731 1613819 - Identifier 1613731 1613747 - PropertyAccessExpression 1613748 1613776 - ParenthesizedExpression 1613748 1613771 - AsExpression 1613749 1613770 - Identifier 1613749 1613753 - TypeReference 1613756 1613770 - Identifier 1613756 1613770 - Identifier 1613772 1613776 - Identifier 1613777 1613790 - Identifier 1613791 1613803 - Identifier 1613804 1613818 - ReturnStatement 1613820 1613908 - BinaryExpression 1613844 1613907 - Identifier 1613844 1613849 - AmpersandAmpersandToken 1613849 1613852 - TemplateExpression 1613852 1613907 - TemplateHead 1613852 1613856 - TemplateSpan 1613856 1613864 - Identifier 1613856 1613860 - TemplateMiddle 1613860 1613864 - TemplateSpan 1613864 1613907 - PropertyAccessExpression 1613864 1613905 - PropertyAccessExpression 1613864 1613893 - ParenthesizedExpression 1613864 1613887 - AsExpression 1613865 1613886 - Identifier 1613865 1613869 - TypeReference 1613872 1613886 - Identifier 1613872 1613886 - Identifier 1613888 1613893 - Identifier 1613894 1613905 - TemplateTail 1613905 1613907 - CaseClause 1613908 1613963 - PropertyAccessExpression 1613926 1613962 - Identifier 1613926 1613937 - Identifier 1613938 1613962 - CaseClause 1613963 1614936 - PropertyAccessExpression 1613981 1614016 - Identifier 1613981 1613992 - Identifier 1613993 1614016 - VariableStatement 1614017 1614102 - VariableDeclarationList 1614017 1614101 - VariableDeclaration 1614040 1614101 - Identifier 1614040 1614049 - CallExpression 1614051 1614101 - Identifier 1614051 1614075 - AsExpression 1614076 1614100 - Identifier 1614076 1614080 - TypeReference 1614083 1614100 - Identifier 1614083 1614100 - IfStatement 1614102 1614356 - BinaryExpression 1614124 1614146 - Identifier 1614124 1614132 - ExclamationEqualsEqualsToken 1614132 1614136 - Identifier 1614136 1614146 - Block 1614147 1614356 - VariableStatement 1614149 1614280 - VariableDeclarationList 1614149 1614279 - VariableDeclaration 1614176 1614279 - Identifier 1614176 1614180 - CallExpression 1614182 1614279 - Identifier 1614182 1614198 - PropertyAccessExpression 1614199 1614236 - ParenthesizedExpression 1614199 1614225 - AsExpression 1614200 1614224 - Identifier 1614200 1614204 - TypeReference 1614207 1614224 - Identifier 1614207 1614224 - Identifier 1614226 1614236 - Identifier 1614237 1614250 - Identifier 1614251 1614263 - Identifier 1614264 1614278 - ReturnStatement 1614280 1614337 - BinaryExpression 1614308 1614336 - Identifier 1614308 1614312 - AmpersandAmpersandToken 1614312 1614315 - TemplateExpression 1614315 1614336 - TemplateHead 1614315 1614319 - TemplateSpan 1614319 1614326 - Identifier 1614319 1614322 - TemplateMiddle 1614322 1614326 - TemplateSpan 1614326 1614336 - Identifier 1614326 1614334 - TemplateTail 1614334 1614336 - IfStatement 1614356 1614912 - BinaryExpression 1614378 1614450 - CallExpression 1614378 1614409 - Identifier 1614378 1614403 - Identifier 1614404 1614408 - AmpersandAmpersandToken 1614409 1614412 - CallExpression 1614412 1614450 - Identifier 1614412 1614425 - PropertyAccessExpression 1614426 1614449 - Identifier 1614426 1614430 - Identifier 1614431 1614449 - Block 1614451 1614912 - VariableStatement 1614453 1614533 - VariableDeclarationList 1614453 1614532 - VariableDeclaration 1614480 1614532 - Identifier 1614480 1614487 - CallExpression 1614489 1614532 - Identifier 1614489 1614507 - PropertyAccessExpression 1614508 1614531 - Identifier 1614508 1614512 - Identifier 1614513 1614531 - IfStatement 1614533 1614893 - BinaryExpression 1614559 1614659 - CallExpression 1614559 1614585 - Identifier 1614559 1614577 - Identifier 1614578 1614584 - BarBarToken 1614585 1614588 - BinaryExpression 1614588 1614659 - CallExpression 1614588 1614630 - Identifier 1614588 1614622 - Identifier 1614623 1614629 - AmpersandAmpersandToken 1614630 1614633 - PrefixUnaryExpression 1614633 1614659 - CallExpression 1614635 1614659 - Identifier 1614635 1614651 - Identifier 1614652 1614658 - Block 1614660 1614893 - VariableStatement 1614662 1614797 - VariableDeclarationList 1614662 1614796 - VariableDeclaration 1614693 1614796 - Identifier 1614693 1614697 - CallExpression 1614699 1614796 - Identifier 1614699 1614715 - PropertyAccessExpression 1614716 1614753 - ParenthesizedExpression 1614716 1614742 - AsExpression 1614717 1614741 - Identifier 1614717 1614721 - TypeReference 1614724 1614741 - Identifier 1614724 1614741 - Identifier 1614743 1614753 - Identifier 1614754 1614767 - Identifier 1614768 1614780 - Identifier 1614781 1614795 - ReturnStatement 1614797 1614870 - BinaryExpression 1614829 1614869 - Identifier 1614829 1614833 - AmpersandAmpersandToken 1614833 1614836 - TemplateExpression 1614836 1614869 - TemplateHead 1614836 1614840 - TemplateSpan 1614840 1614848 - Identifier 1614840 1614843 - TemplateMiddle 1614843 1614848 - TemplateSpan 1614848 1614869 - CallExpression 1614848 1614867 - Identifier 1614848 1614859 - Identifier 1614860 1614866 - TemplateTail 1614867 1614869 - BreakStatement 1614912 1614936 - CaseClause 1614936 1614987 - PropertyAccessExpression 1614954 1614986 - Identifier 1614954 1614965 - Identifier 1614966 1614986 - CaseClause 1614987 1615037 - PropertyAccessExpression 1615005 1615036 - Identifier 1615005 1615016 - Identifier 1615017 1615036 - CaseClause 1615037 1615087 - PropertyAccessExpression 1615055 1615086 - Identifier 1615055 1615066 - Identifier 1615067 1615086 - CaseClause 1615087 1615136 - PropertyAccessExpression 1615105 1615135 - Identifier 1615105 1615116 - Identifier 1615117 1615135 - CaseClause 1615136 1615180 - PropertyAccessExpression 1615154 1615179 - Identifier 1615154 1615165 - Identifier 1615166 1615179 - CaseClause 1615180 1615386 - PropertyAccessExpression 1615198 1615227 - Identifier 1615198 1615209 - Identifier 1615210 1615227 - ReturnStatement 1615228 1615386 - TemplateExpression 1615337 1615385 - TemplateHead 1615337 1615341 - TemplateSpan 1615341 1615360 - CallExpression 1615341 1615356 - Identifier 1615341 1615350 - Identifier 1615351 1615355 - TemplateMiddle 1615356 1615360 - TemplateSpan 1615360 1615385 - CallExpression 1615360 1615383 - Identifier 1615360 1615369 - Identifier 1615370 1615382 - TemplateTail 1615383 1615385 - ReturnStatement 1615397 1615424 - Identifier 1615413 1615423 - FunctionDeclaration 1615431 1619331 - Identifier 1615447 1615467 - Parameter 1615468 1615480 - Identifier 1615468 1615474 - TypeReference 1615475 1615480 - Identifier 1615475 1615480 - Parameter 1615481 1615494 - Identifier 1615481 1615488 - TypeReference 1615489 1615494 - Identifier 1615489 1615494 - BooleanKeyword 1615496 1615504 - Block 1615504 1619331 - SwitchStatement 1615506 1616074 - PropertyAccessExpression 1615524 1615535 - Identifier 1615524 1615530 - Identifier 1615531 1615535 - CaseBlock 1615536 1616074 - CaseClause 1615538 1615592 - PropertyAccessExpression 1615556 1615591 - Identifier 1615556 1615567 - Identifier 1615568 1615591 - CaseClause 1615592 1615761 - PropertyAccessExpression 1615610 1615639 - Identifier 1615610 1615621 - Identifier 1615622 1615639 - ReturnStatement 1615640 1615761 - CallExpression 1615664 1615760 - Identifier 1615664 1615684 - Identifier 1615685 1615691 - PropertyAccessExpression 1615692 1615759 - ParenthesizedExpression 1615692 1615748 - AsExpression 1615694 1615747 - Identifier 1615694 1615700 - UnionType 1615703 1615747 - TypeReference 1615703 1615721 - Identifier 1615703 1615721 - TypeReference 1615723 1615747 - Identifier 1615723 1615747 - Identifier 1615749 1615759 - CaseClause 1615761 1616063 - PropertyAccessExpression 1615779 1615807 - Identifier 1615779 1615790 - Identifier 1615791 1615807 - ReturnStatement 1615808 1616063 - BinaryExpression 1615832 1616062 - ParenthesizedExpression 1615832 1615909 - BinaryExpression 1615834 1615908 - CallExpression 1615834 1615864 - Identifier 1615834 1615856 - Identifier 1615857 1615863 - AmpersandAmpersandToken 1615864 1615867 - CallExpression 1615867 1615908 - Identifier 1615867 1615887 - Identifier 1615888 1615894 - PropertyAccessExpression 1615895 1615907 - Identifier 1615895 1615902 - Identifier 1615903 1615907 - BarBarToken 1615909 1615912 - ParenthesizedExpression 1615912 1616062 - BinaryExpression 1615935 1616061 - BinaryExpression 1615935 1616016 - CallExpression 1615935 1615961 - Identifier 1615935 1615953 - Identifier 1615954 1615960 - AmpersandAmpersandToken 1615961 1615964 - BinaryExpression 1615964 1616016 - PropertyAccessExpression 1615964 1615990 - PropertyAccessExpression 1615964 1615985 - Identifier 1615964 1615971 - Identifier 1615972 1615985 - Identifier 1615986 1615990 - EqualsEqualsEqualsToken 1615990 1615994 - PropertyAccessExpression 1615994 1616016 - Identifier 1615994 1616005 - Identifier 1616006 1616016 - AmpersandAmpersandToken 1616016 1616019 - CallExpression 1616019 1616061 - Identifier 1616019 1616039 - Identifier 1616040 1616046 - PropertyAccessExpression 1616047 1616060 - Identifier 1616047 1616054 - Identifier 1616055 1616060 - SwitchStatement 1616074 1619301 - PropertyAccessExpression 1616092 1616103 - Identifier 1616092 1616098 - Identifier 1616099 1616103 - CaseBlock 1616104 1619301 - CaseClause 1616106 1616430 - PropertyAccessExpression 1616124 1616148 - Identifier 1616124 1616135 - Identifier 1616136 1616148 - ReturnStatement 1616149 1616430 - BinaryExpression 1616173 1616429 - BinaryExpression 1616173 1616317 - BinaryExpression 1616173 1616213 - PropertyAccessExpression 1616173 1616185 - Identifier 1616173 1616180 - Identifier 1616181 1616185 - EqualsEqualsEqualsToken 1616185 1616189 - PropertyAccessExpression 1616189 1616213 - Identifier 1616189 1616200 - Identifier 1616201 1616213 - AmpersandAmpersandToken 1616213 1616237 - BinaryExpression 1616237 1616317 - PropertyAccessExpression 1616237 1616275 - ParenthesizedExpression 1616237 1616262 - AsExpression 1616239 1616261 - Identifier 1616239 1616245 - TypeReference 1616248 1616261 - Identifier 1616248 1616261 - Identifier 1616263 1616275 - EqualsEqualsEqualsToken 1616275 1616279 - PropertyAccessExpression 1616279 1616317 - ParenthesizedExpression 1616279 1616304 - AsExpression 1616281 1616303 - Identifier 1616281 1616287 - TypeReference 1616290 1616303 - Identifier 1616290 1616303 - Identifier 1616305 1616317 - AmpersandAmpersandToken 1616317 1616341 - BinaryExpression 1616341 1616429 - PropertyAccessExpression 1616341 1616383 - PropertyAccessExpression 1616341 1616371 - ParenthesizedExpression 1616341 1616366 - AsExpression 1616343 1616365 - Identifier 1616343 1616349 - TypeReference 1616352 1616365 - Identifier 1616352 1616365 - Identifier 1616367 1616371 - Identifier 1616372 1616383 - EqualsEqualsEqualsToken 1616383 1616387 - PropertyAccessExpression 1616387 1616429 - PropertyAccessExpression 1616387 1616417 - ParenthesizedExpression 1616387 1616412 - AsExpression 1616389 1616411 - Identifier 1616389 1616395 - TypeReference 1616398 1616411 - Identifier 1616398 1616411 - Identifier 1616413 1616417 - Identifier 1616418 1616429 - CaseClause 1616430 1616471 - PropertyAccessExpression 1616448 1616470 - Identifier 1616448 1616459 - Identifier 1616460 1616470 - CaseClause 1616471 1617007 - PropertyAccessExpression 1616489 1616518 - Identifier 1616489 1616500 - Identifier 1616501 1616518 - ReturnStatement 1616519 1617007 - ConditionalExpression 1616543 1617006 - CallExpression 1616543 1616569 - Identifier 1616543 1616561 - Identifier 1616562 1616568 - QuestionToken 1616569 1616571 - BinaryExpression 1616571 1616631 - PropertyAccessExpression 1616571 1616604 - Identifier 1616571 1616599 - Identifier 1616600 1616604 - EqualsEqualsEqualsToken 1616604 1616608 - PropertyAccessExpression 1616608 1616631 - Identifier 1616608 1616619 - Identifier 1616620 1616631 - ColonToken 1616631 1616633 - BinaryExpression 1616633 1617006 - BinaryExpression 1616633 1616779 - BinaryExpression 1616633 1616692 - PropertyAccessExpression 1616633 1616666 - Identifier 1616633 1616661 - Identifier 1616662 1616666 - EqualsEqualsEqualsToken 1616666 1616670 - PropertyAccessExpression 1616670 1616692 - Identifier 1616670 1616681 - Identifier 1616682 1616692 - AmpersandAmpersandToken 1616692 1616695 - BinaryExpression 1616695 1616779 - CallExpression 1616695 1616735 - Identifier 1616695 1616713 - AsExpression 1616714 1616734 - Identifier 1616714 1616720 - TypeReference 1616723 1616734 - Identifier 1616723 1616734 - EqualsEqualsEqualsToken 1616735 1616739 - CallExpression 1616739 1616779 - Identifier 1616739 1616757 - AsExpression 1616758 1616778 - Identifier 1616758 1616764 - TypeReference 1616767 1616778 - Identifier 1616767 1616778 - BarBarToken 1616779 1616782 - BinaryExpression 1616782 1617006 - ParenthesizedExpression 1616782 1616863 - BinaryExpression 1616805 1616862 - CallExpression 1616805 1616834 - Identifier 1616805 1616826 - Identifier 1616827 1616833 - BarBarToken 1616834 1616837 - CallExpression 1616837 1616862 - Identifier 1616837 1616854 - Identifier 1616855 1616861 - AmpersandAmpersandToken 1616863 1616866 - BinaryExpression 1616866 1617006 - CallExpression 1616866 1616971 - Identifier 1616866 1616930 - CallExpression 1616931 1616970 - Identifier 1616931 1616948 - AsExpression 1616949 1616969 - Identifier 1616949 1616955 - TypeReference 1616958 1616969 - Identifier 1616958 1616969 - EqualsEqualsEqualsToken 1616971 1616975 - CallExpression 1616975 1617006 - Identifier 1616975 1616998 - Identifier 1616999 1617005 - CaseClause 1617007 1617113 - PropertyAccessExpression 1617025 1617048 - Identifier 1617025 1617036 - Identifier 1617037 1617048 - ReturnStatement 1617049 1617113 - BinaryExpression 1617073 1617112 - PropertyAccessExpression 1617073 1617085 - Identifier 1617073 1617080 - Identifier 1617081 1617085 - EqualsEqualsEqualsToken 1617085 1617089 - PropertyAccessExpression 1617089 1617112 - Identifier 1617089 1617100 - Identifier 1617101 1617112 - CaseClause 1617113 1617221 - PropertyAccessExpression 1617131 1617155 - Identifier 1617131 1617142 - Identifier 1617143 1617155 - ReturnStatement 1617156 1617221 - BinaryExpression 1617180 1617220 - PropertyAccessExpression 1617180 1617192 - Identifier 1617180 1617187 - Identifier 1617188 1617192 - EqualsEqualsEqualsToken 1617192 1617196 - PropertyAccessExpression 1617196 1617220 - Identifier 1617196 1617207 - Identifier 1617208 1617220 - CaseClause 1617221 1617269 - PropertyAccessExpression 1617239 1617268 - Identifier 1617239 1617250 - Identifier 1617251 1617268 - CaseClause 1617269 1617323 - PropertyAccessExpression 1617287 1617322 - Identifier 1617287 1617298 - Identifier 1617299 1617322 - CaseClause 1617323 1617516 - PropertyAccessExpression 1617341 1617372 - Identifier 1617341 1617352 - Identifier 1617353 1617372 - ReturnStatement 1617373 1617516 - CallExpression 1617397 1617515 - Identifier 1617397 1617417 - PropertyAccessExpression 1617418 1617506 - ParenthesizedExpression 1617418 1617495 - AsExpression 1617419 1617494 - Identifier 1617419 1617425 - UnionType 1617428 1617494 - TypeReference 1617428 1617446 - Identifier 1617428 1617446 - TypeReference 1617448 1617472 - Identifier 1617448 1617472 - TypeReference 1617474 1617494 - Identifier 1617474 1617494 - Identifier 1617496 1617506 - Identifier 1617507 1617514 - CaseClause 1617516 1617571 - PropertyAccessExpression 1617534 1617570 - Identifier 1617534 1617545 - Identifier 1617546 1617570 - CaseClause 1617571 1618794 - PropertyAccessExpression 1617589 1617624 - Identifier 1617589 1617600 - Identifier 1617601 1617624 - VariableStatement 1617625 1617722 - VariableDeclarationList 1617625 1617721 - VariableDeclaration 1617648 1617721 - Identifier 1617648 1617667 - CallExpression 1617669 1617721 - Identifier 1617669 1617693 - AsExpression 1617694 1617720 - Identifier 1617694 1617700 - TypeReference 1617703 1617720 - Identifier 1617703 1617720 - IfStatement 1617722 1618184 - BinaryExpression 1617744 1617776 - Identifier 1617744 1617762 - ExclamationEqualsEqualsToken 1617762 1617766 - Identifier 1617766 1617776 - Block 1617777 1618184 - VariableStatement 1617779 1617901 - VariableDeclarationList 1617779 1617900 - VariableDeclaration 1617806 1617900 - Identifier 1617806 1617825 - ConditionalExpression 1617827 1617900 - CallExpression 1617827 1617854 - Identifier 1617827 1617846 - Identifier 1617847 1617853 - QuestionToken 1617854 1617856 - CallExpression 1617856 1617888 - Identifier 1617856 1617880 - Identifier 1617881 1617887 - ColonToken 1617888 1617890 - Identifier 1617890 1617900 - IfStatement 1617901 1618165 - BinaryExpression 1617927 1617959 - Identifier 1617927 1617945 - ExclamationEqualsEqualsToken 1617945 1617949 - Identifier 1617949 1617959 - Block 1617960 1618165 - ReturnStatement 1617962 1618142 - BinaryExpression 1617994 1618141 - BinaryExpression 1617994 1618036 - Identifier 1617994 1618013 - EqualsEqualsEqualsToken 1618013 1618017 - Identifier 1618017 1618036 - AmpersandAmpersandToken 1618036 1618039 - CallExpression 1618039 1618141 - Identifier 1618039 1618059 - PropertyAccessExpression 1618060 1618099 - ParenthesizedExpression 1618060 1618088 - AsExpression 1618061 1618087 - Identifier 1618061 1618067 - TypeReference 1618070 1618087 - Identifier 1618070 1618087 - Identifier 1618089 1618099 - PropertyAccessExpression 1618100 1618140 - ParenthesizedExpression 1618100 1618129 - AsExpression 1618102 1618128 - Identifier 1618102 1618108 - TypeReference 1618111 1618128 - Identifier 1618111 1618128 - Identifier 1618130 1618140 - IfStatement 1618184 1618770 - BinaryExpression 1618206 1618362 - BinaryExpression 1618206 1618319 - BinaryExpression 1618206 1618276 - CallExpression 1618206 1618239 - Identifier 1618206 1618231 - Identifier 1618232 1618238 - AmpersandAmpersandToken 1618239 1618242 - CallExpression 1618242 1618276 - Identifier 1618242 1618268 - Identifier 1618269 1618275 - AmpersandAmpersandToken 1618276 1618279 - CallExpression 1618279 1618319 - Identifier 1618279 1618292 - PropertyAccessExpression 1618293 1618318 - Identifier 1618293 1618299 - Identifier 1618300 1618318 - AmpersandAmpersandToken 1618319 1618322 - CallExpression 1618322 1618362 - Identifier 1618322 1618335 - PropertyAccessExpression 1618336 1618361 - Identifier 1618336 1618342 - Identifier 1618343 1618361 - Block 1618363 1618770 - VariableStatement 1618365 1618447 - VariableDeclarationList 1618365 1618446 - VariableDeclaration 1618392 1618446 - Identifier 1618392 1618399 - CallExpression 1618401 1618446 - Identifier 1618401 1618419 - PropertyAccessExpression 1618420 1618445 - Identifier 1618420 1618426 - Identifier 1618427 1618445 - IfStatement 1618447 1618751 - BinaryExpression 1618473 1618634 - BinaryExpression 1618473 1618528 - Identifier 1618473 1618479 - EqualsEqualsEqualsToken 1618479 1618483 - CallExpression 1618483 1618528 - Identifier 1618483 1618501 - PropertyAccessExpression 1618502 1618527 - Identifier 1618502 1618508 - Identifier 1618509 1618527 - AmpersandAmpersandToken 1618528 1618531 - ParenthesizedExpression 1618531 1618634 - BinaryExpression 1618533 1618633 - CallExpression 1618533 1618559 - Identifier 1618533 1618551 - Identifier 1618552 1618558 - BarBarToken 1618559 1618562 - BinaryExpression 1618562 1618633 - CallExpression 1618562 1618604 - Identifier 1618562 1618596 - Identifier 1618597 1618603 - AmpersandAmpersandToken 1618604 1618607 - PrefixUnaryExpression 1618607 1618633 - CallExpression 1618609 1618633 - Identifier 1618609 1618625 - Identifier 1618626 1618632 - Block 1618635 1618751 - ReturnStatement 1618637 1618728 - CallExpression 1618669 1618727 - Identifier 1618669 1618689 - PropertyAccessExpression 1618690 1618707 - Identifier 1618690 1618696 - Identifier 1618697 1618707 - PropertyAccessExpression 1618708 1618726 - Identifier 1618708 1618715 - Identifier 1618716 1618726 - BreakStatement 1618770 1618794 - CaseClause 1618794 1619089 - PropertyAccessExpression 1618812 1618837 - Identifier 1618812 1618823 - Identifier 1618824 1618837 - ReturnStatement 1618838 1619089 - BinaryExpression 1618862 1619088 - BinaryExpression 1618862 1618993 - CallExpression 1618862 1618889 - Identifier 1618862 1618881 - Identifier 1618882 1618888 - AmpersandAmpersandToken 1618889 1618892 - BinaryExpression 1618892 1618993 - PropertyAccessExpression 1618892 1618957 - PropertyAccessExpression 1618892 1618945 - ParenthesizedExpression 1618892 1618939 - AsExpression 1618915 1618938 - Identifier 1618915 1618921 - TypeReference 1618924 1618938 - Identifier 1618924 1618938 - Identifier 1618940 1618945 - Identifier 1618946 1618957 - EqualsEqualsEqualsToken 1618957 1618961 - CallExpression 1618961 1618993 - Identifier 1618961 1618985 - Identifier 1618986 1618992 - AmpersandAmpersandToken 1618993 1618996 - CallExpression 1618996 1619088 - Identifier 1618996 1619037 - PropertyAccessExpression 1619038 1619068 - ParenthesizedExpression 1619038 1619063 - AsExpression 1619039 1619062 - Identifier 1619039 1619045 - TypeReference 1619048 1619062 - Identifier 1619048 1619062 - Identifier 1619064 1619068 - PropertyAccessExpression 1619069 1619087 - Identifier 1619069 1619076 - Identifier 1619077 1619087 - CaseClause 1619089 1619290 - PropertyAccessExpression 1619107 1619135 - Identifier 1619107 1619118 - Identifier 1619119 1619135 - ReturnStatement 1619136 1619290 - ParenthesizedExpression 1619160 1619289 - BinaryExpression 1619162 1619288 - BinaryExpression 1619162 1619243 - CallExpression 1619162 1619188 - Identifier 1619162 1619180 - Identifier 1619181 1619187 - AmpersandAmpersandToken 1619188 1619191 - BinaryExpression 1619191 1619243 - PropertyAccessExpression 1619191 1619217 - PropertyAccessExpression 1619191 1619212 - Identifier 1619191 1619198 - Identifier 1619199 1619212 - Identifier 1619213 1619217 - EqualsEqualsEqualsToken 1619217 1619221 - PropertyAccessExpression 1619221 1619243 - Identifier 1619221 1619232 - Identifier 1619233 1619243 - AmpersandAmpersandToken 1619243 1619246 - CallExpression 1619246 1619288 - Identifier 1619246 1619266 - PropertyAccessExpression 1619267 1619279 - Identifier 1619267 1619273 - Identifier 1619274 1619279 - Identifier 1619280 1619287 - ReturnStatement 1619301 1619324 - FalseKeyword 1619317 1619323 - FunctionDeclaration 1619331 1620041 - Identifier 1619347 1619371 - Parameter 1619372 1619436 - Identifier 1619372 1619378 - UnionType 1619379 1619436 - TypeReference 1619379 1619396 - Identifier 1619379 1619396 - TypeReference 1619398 1619413 - Identifier 1619398 1619413 - TypeReference 1619415 1619436 - Identifier 1619415 1619436 - UnionType 1619438 1619459 - TypeReference 1619438 1619447 - Identifier 1619438 1619447 - UndefinedKeyword 1619449 1619459 - Block 1619459 1620041 - IfStatement 1619461 1619568 - CallExpression 1619475 1619509 - Identifier 1619475 1619501 - Identifier 1619502 1619508 - Block 1619510 1619568 - ReturnStatement 1619512 1619557 - PropertyAccessExpression 1619532 1619556 - PropertyAccessExpression 1619532 1619544 - Identifier 1619532 1619539 - Identifier 1619540 1619544 - Identifier 1619545 1619556 - IfStatement 1619568 1619692 - CallExpression 1619582 1619615 - Identifier 1619582 1619607 - Identifier 1619608 1619614 - Block 1619616 1619692 - ReturnStatement 1619618 1619681 - CallExpression 1619638 1619680 - Identifier 1619638 1619672 - Identifier 1619673 1619679 - IfStatement 1619692 1619879 - CallExpression 1619706 1619730 - Identifier 1619706 1619722 - Identifier 1619723 1619729 - Block 1619731 1619879 - VariableStatement 1619733 1619797 - VariableDeclarationList 1619733 1619796 - VariableDeclaration 1619752 1619796 - Identifier 1619752 1619757 - CallExpression 1619759 1619796 - Identifier 1619759 1619788 - Identifier 1619789 1619795 - ReturnStatement 1619797 1619868 - ConditionalExpression 1619817 1619867 - Identifier 1619817 1619822 - QuestionToken 1619822 1619824 - CallExpression 1619824 1619855 - Identifier 1619824 1619849 - Identifier 1619850 1619854 - ColonToken 1619855 1619857 - Identifier 1619857 1619867 - IfStatement 1619879 1620007 - CallExpression 1619893 1619912 - Identifier 1619893 1619904 - Identifier 1619905 1619911 - Block 1619913 1620007 - ReturnStatement 1619915 1619996 - AsExpression 1619935 1619995 - ParenthesizedExpression 1619935 1619983 - BinaryExpression 1619937 1619982 - StringLiteral 1619937 1619939 - PlusToken 1619939 1619941 - CallExpression 1619941 1619982 - PropertyAccessExpression 1619941 1619974 - PropertyAccessExpression 1619941 1619966 - PropertyAccessExpression 1619941 1619955 - Identifier 1619941 1619948 - Identifier 1619949 1619955 - Identifier 1619956 1619966 - Identifier 1619967 1619974 - Identifier 1619975 1619981 - TypeReference 1619986 1619995 - Identifier 1619986 1619995 - ReturnStatement 1620007 1620034 - Identifier 1620023 1620033 - FunctionDeclaration 1620041 1620354 - Identifier 1620057 1620076 - Parameter 1620077 1620087 - Identifier 1620077 1620081 - TypeReference 1620082 1620087 - Identifier 1620082 1620087 - Block 1620088 1620354 - ReturnStatement 1620090 1620347 - ConditionalExpression 1620106 1620346 - BinaryExpression 1620106 1620144 - PropertyAccessExpression 1620106 1620117 - Identifier 1620106 1620111 - Identifier 1620112 1620117 - AmpersandToken 1620117 1620119 - PropertyAccessExpression 1620119 1620144 - Identifier 1620119 1620129 - Identifier 1620130 1620144 - QuestionToken 1620144 1620146 - PropertyAccessExpression 1620146 1620187 - ParenthesizedExpression 1620146 1620175 - AsExpression 1620148 1620174 - Identifier 1620148 1620152 - TypeReference 1620155 1620174 - Identifier 1620155 1620174 - Identifier 1620176 1620187 - ColonToken 1620187 1620189 - ConditionalExpression 1620189 1620346 - BinaryExpression 1620189 1620247 - PropertyAccessExpression 1620189 1620213 - Identifier 1620189 1620207 - Identifier 1620208 1620213 - AmpersandToken 1620213 1620215 - PropertyAccessExpression 1620215 1620247 - Identifier 1620215 1620225 - Identifier 1620226 1620247 - QuestionToken 1620247 1620249 - CallExpression 1620249 1620334 - Identifier 1620249 1620274 - BinaryExpression 1620275 1620333 - StringLiteral 1620275 1620277 - PlusToken 1620277 1620279 - PropertyAccessExpression 1620279 1620333 - ParenthesizedExpression 1620279 1620327 - AsExpression 1620281 1620326 - Identifier 1620281 1620285 - UnionType 1620288 1620326 - TypeReference 1620288 1620306 - Identifier 1620288 1620306 - TypeReference 1620308 1620326 - Identifier 1620308 1620326 - Identifier 1620328 1620333 - ColonToken 1620334 1620336 - Identifier 1620336 1620346 - FunctionDeclaration 1620354 1620709 - Identifier 1620370 1620404 - Parameter 1620405 1620434 - Identifier 1620405 1620409 - TypeReference 1620410 1620434 - Identifier 1620410 1620434 - Block 1620435 1620709 - ReturnStatement 1620437 1620702 - ConditionalExpression 1620453 1620701 - CallExpression 1620453 1620507 - Identifier 1620453 1620482 - PropertyAccessExpression 1620483 1620506 - Identifier 1620483 1620487 - Identifier 1620488 1620506 - QuestionToken 1620507 1620509 - CallExpression 1620509 1620564 - Identifier 1620509 1620534 - PropertyAccessExpression 1620535 1620563 - PropertyAccessExpression 1620535 1620558 - Identifier 1620535 1620539 - Identifier 1620540 1620558 - Identifier 1620559 1620563 - ColonToken 1620564 1620566 - ConditionalExpression 1620566 1620701 - CallExpression 1620566 1620627 - Identifier 1620566 1620602 - PropertyAccessExpression 1620603 1620626 - Identifier 1620603 1620607 - Identifier 1620608 1620626 - QuestionToken 1620627 1620629 - CallExpression 1620629 1620689 - Identifier 1620629 1620664 - PropertyAccessExpression 1620665 1620688 - Identifier 1620665 1620669 - Identifier 1620670 1620688 - ColonToken 1620689 1620691 - Identifier 1620691 1620701 - FunctionDeclaration 1620709 1622017 - Identifier 1620725 1620760 - Parameter 1620761 1620799 - Identifier 1620761 1620765 - TypeReference 1620766 1620799 - Identifier 1620766 1620799 - Block 1620800 1622017 - VariableStatement 1620802 1620893 - VariableDeclarationList 1620802 1620892 - VariableDeclaration 1620817 1620892 - Identifier 1620817 1620824 - CallExpression 1620826 1620892 - Identifier 1620826 1620844 - Identifier 1620845 1620849 - PropertyAccessExpression 1620850 1620868 - Identifier 1620850 1620862 - Identifier 1620863 1620868 - TrueKeyword 1620869 1620891 - IfStatement 1620893 1621009 - BinaryExpression 1620907 1620990 - PrefixUnaryExpression 1620907 1620914 - Identifier 1620908 1620914 - BarBarToken 1620914 1620917 - PrefixUnaryExpression 1620917 1620990 - ParenthesizedExpression 1620919 1620990 - BinaryExpression 1620920 1620989 - CallExpression 1620920 1620946 - Identifier 1620920 1620938 - Identifier 1620939 1620945 - BarBarToken 1620946 1620949 - ParenthesizedExpression 1620949 1620989 - BinaryExpression 1620951 1620988 - PropertyAccessExpression 1620951 1620963 - Identifier 1620951 1620957 - Identifier 1620958 1620963 - AmpersandToken 1620963 1620965 - PropertyAccessExpression 1620965 1620988 - Identifier 1620965 1620977 - Identifier 1620978 1620988 - ReturnStatement 1620991 1621009 - Identifier 1620998 1621008 - VariableStatement 1621009 1621065 - VariableDeclarationList 1621009 1621064 - VariableDeclaration 1621026 1621064 - Identifier 1621026 1621038 - PropertyAccessExpression 1621040 1621064 - Identifier 1621040 1621047 - Identifier 1621048 1621064 - IfStatement 1621065 1621123 - BinaryExpression 1621079 1621104 - Identifier 1621079 1621090 - EqualsEqualsEqualsToken 1621090 1621094 - Identifier 1621094 1621104 - ReturnStatement 1621105 1621123 - Identifier 1621112 1621122 - VariableStatement 1621123 1621193 - VariableDeclarationList 1621123 1621192 - VariableDeclaration 1621140 1621192 - Identifier 1621140 1621145 - CallExpression 1621147 1621192 - Identifier 1621147 1621179 - Identifier 1621180 1621191 - IfStatement 1621193 1621361 - Identifier 1621207 1621211 - Block 1621212 1621361 - VariableStatement 1621214 1621266 - VariableDeclarationList 1621214 1621265 - VariableDeclaration 1621233 1621265 - Identifier 1621233 1621238 - CallExpression 1621240 1621265 - Identifier 1621240 1621259 - Identifier 1621260 1621264 - IfStatement 1621266 1621350 - BinaryExpression 1621284 1621302 - Identifier 1621284 1621288 - ExclamationEqualsEqualsToken 1621288 1621292 - Identifier 1621292 1621302 - Block 1621303 1621350 - ReturnStatement 1621305 1621335 - Identifier 1621329 1621334 - IfStatement 1621361 1621983 - BinaryExpression 1621375 1621473 - CallExpression 1621375 1621416 - Identifier 1621375 1621403 - Identifier 1621404 1621415 - AmpersandAmpersandToken 1621416 1621419 - CallExpression 1621419 1621473 - Identifier 1621419 1621454 - Identifier 1621455 1621466 - Identifier 1621467 1621472 - Block 1621474 1621983 - VariableStatement 1621476 1621547 - VariableDeclarationList 1621476 1621546 - VariableDeclaration 1621495 1621546 - Identifier 1621495 1621507 - CallExpression 1621509 1621546 - Identifier 1621509 1621533 - Identifier 1621534 1621545 - IfStatement 1621547 1621846 - Identifier 1621565 1621576 - Block 1621577 1621846 - VariableStatement 1621579 1621751 - VariableDeclarationList 1621579 1621750 - VariableDeclaration 1621602 1621750 - Identifier 1621602 1621618 - ConditionalExpression 1621620 1621750 - CallExpression 1621620 1621657 - Identifier 1621620 1621637 - PropertyAccessExpression 1621638 1621656 - Identifier 1621638 1621649 - Identifier 1621650 1621656 - QuestionToken 1621657 1621659 - CallExpression 1621659 1621715 - Identifier 1621659 1621684 - AsExpression 1621685 1621714 - Identifier 1621685 1621696 - TypeReference 1621699 1621714 - Identifier 1621699 1621714 - ColonToken 1621715 1621717 - CallExpression 1621717 1621750 - Identifier 1621717 1621737 - Identifier 1621738 1621749 - ReturnStatement 1621751 1621831 - BinaryExpression 1621775 1621830 - Identifier 1621775 1621791 - AmpersandAmpersandToken 1621791 1621794 - CallExpression 1621794 1621830 - Identifier 1621794 1621813 - Identifier 1621814 1621829 - IfStatement 1621846 1621972 - CallExpression 1621864 1621889 - Identifier 1621864 1621876 - Identifier 1621877 1621888 - Block 1621890 1621972 - ReturnStatement 1621892 1621957 - CallExpression 1621916 1621956 - Identifier 1621916 1621938 - PropertyAccessExpression 1621939 1621955 - Identifier 1621939 1621950 - Identifier 1621951 1621955 - ReturnStatement 1621983 1622010 - Identifier 1621999 1622009 - FunctionDeclaration 1622017 1622318 - Identifier 1622033 1622059 - Parameter 1622060 1622072 - Identifier 1622060 1622066 - TypeReference 1622067 1622072 - Identifier 1622067 1622072 - Parameter 1622073 1622086 - Identifier 1622073 1622080 - TypeReference 1622081 1622086 - Identifier 1622081 1622086 - Block 1622087 1622318 - WhileStatement 1622089 1622288 - CallExpression 1622106 1622132 - Identifier 1622106 1622124 - Identifier 1622125 1622131 - Block 1622133 1622288 - ExpressionStatement 1622135 1622176 - BinaryExpression 1622135 1622175 - Identifier 1622135 1622155 - EqualsToken 1622155 1622157 - PropertyAccessExpression 1622157 1622175 - Identifier 1622157 1622164 - Identifier 1622165 1622175 - IfStatement 1622176 1622277 - CallExpression 1622194 1622229 - Identifier 1622194 1622213 - Identifier 1622214 1622220 - Identifier 1622221 1622228 - Block 1622230 1622277 - ReturnStatement 1622232 1622262 - TrueKeyword 1622256 1622261 - ReturnStatement 1622288 1622311 - FalseKeyword 1622304 1622310 - FunctionDeclaration 1622318 1622621 - Identifier 1622334 1622365 - Parameter 1622366 1622378 - Identifier 1622366 1622372 - TypeReference 1622373 1622378 - Identifier 1622373 1622378 - Parameter 1622379 1622392 - Identifier 1622379 1622386 - TypeReference 1622387 1622392 - Identifier 1622387 1622392 - Block 1622393 1622621 - WhileStatement 1622395 1622591 - CallExpression 1622412 1622435 - Identifier 1622412 1622427 - Identifier 1622428 1622434 - Block 1622436 1622591 - ExpressionStatement 1622438 1622479 - BinaryExpression 1622438 1622478 - Identifier 1622438 1622458 - EqualsToken 1622458 1622460 - PropertyAccessExpression 1622460 1622478 - Identifier 1622460 1622467 - Identifier 1622468 1622478 - IfStatement 1622479 1622580 - CallExpression 1622497 1622532 - Identifier 1622497 1622516 - Identifier 1622517 1622523 - Identifier 1622524 1622531 - Block 1622533 1622580 - ReturnStatement 1622535 1622565 - TrueKeyword 1622559 1622564 - ReturnStatement 1622591 1622614 - FalseKeyword 1622607 1622613 - FunctionDeclaration 1622621 1623544 - Identifier 1622637 1622660 - Parameter 1622661 1622683 - Identifier 1622661 1622665 - UnionType 1622666 1622683 - TypeReference 1622666 1622671 - Identifier 1622666 1622671 - UndefinedKeyword 1622673 1622683 - Parameter 1622684 1622699 - Identifier 1622684 1622689 - TypeReference 1622690 1622699 - Identifier 1622690 1622699 - Block 1622700 1623544 - IfStatement 1622702 1623514 - BinaryExpression 1622716 1622752 - Identifier 1622716 1622720 - AmpersandAmpersandToken 1622720 1622723 - BinaryExpression 1622723 1622752 - PropertyAccessExpression 1622723 1622734 - Identifier 1622723 1622728 - Identifier 1622729 1622734 - AmpersandToken 1622734 1622736 - PropertyAccessExpression 1622736 1622752 - Identifier 1622736 1622746 - Identifier 1622747 1622752 - Block 1622753 1623514 - VariableStatement 1622755 1622838 - VariableDeclarationList 1622755 1622837 - VariableDeclaration 1622774 1622837 - Identifier 1622774 1622779 - CallExpression 1622781 1622837 - Identifier 1622781 1622812 - AsExpression 1622813 1622830 - Identifier 1622813 1622817 - TypeReference 1622820 1622830 - Identifier 1622820 1622830 - Identifier 1622831 1622836 - IfStatement 1622838 1623503 - BinaryExpression 1622856 1622914 - Identifier 1622856 1622860 - AmpersandAmpersandToken 1622860 1622863 - BinaryExpression 1622863 1622914 - CallExpression 1622863 1622883 - Identifier 1622863 1622877 - Identifier 1622878 1622882 - AmpersandToken 1622883 1622885 - PropertyAccessExpression 1622885 1622914 - Identifier 1622885 1622896 - Identifier 1622897 1622914 - Block 1622915 1623503 - IfStatement 1622917 1623406 - BinaryExpression 1623072 1623140 - PropertyAccessExpression 1623072 1623126 - PropertyAccessExpression 1623072 1623103 - ParenthesizedExpression 1623072 1623097 - AsExpression 1623073 1623096 - Identifier 1623073 1623077 - TypeReference 1623080 1623096 - Identifier 1623080 1623096 - Identifier 1623098 1623103 - Identifier 1623104 1623126 - EqualsEqualsEqualsToken 1623126 1623130 - Identifier 1623130 1623140 - Block 1623141 1623406 - ExpressionStatement 1623143 1623387 - BinaryExpression 1623143 1623386 - PropertyAccessExpression 1623143 1623219 - PropertyAccessExpression 1623143 1623196 - ParenthesizedExpression 1623143 1623190 - AsExpression 1623166 1623189 - Identifier 1623166 1623170 - TypeReference 1623173 1623189 - Identifier 1623173 1623189 - Identifier 1623191 1623196 - Identifier 1623197 1623219 - EqualsToken 1623219 1623221 - BinaryExpression 1623221 1623386 - BinaryExpression 1623221 1623320 - ParenthesizedExpression 1623221 1623292 - BinaryExpression 1623223 1623291 - PropertyAccessExpression 1623223 1623265 - PropertyAccessExpression 1623223 1623254 - ParenthesizedExpression 1623223 1623248 - AsExpression 1623224 1623247 - Identifier 1623224 1623228 - TypeReference 1623231 1623247 - Identifier 1623231 1623247 - Identifier 1623249 1623254 - Identifier 1623255 1623265 - AmpersandToken 1623265 1623267 - PropertyAccessExpression 1623267 1623291 - Identifier 1623267 1623278 - Identifier 1623279 1623291 - EqualsEqualsEqualsToken 1623292 1623296 - PropertyAccessExpression 1623296 1623320 - Identifier 1623296 1623307 - Identifier 1623308 1623320 - AmpersandAmpersandToken 1623320 1623323 - PrefixUnaryExpression 1623323 1623386 - CallExpression 1623350 1623386 - Identifier 1623350 1623363 - CallExpression 1623364 1623385 - Identifier 1623364 1623379 - Identifier 1623380 1623384 - ReturnStatement 1623406 1623488 - PrefixUnaryExpression 1623430 1623487 - PrefixUnaryExpression 1623432 1623487 - PropertyAccessExpression 1623433 1623487 - PropertyAccessExpression 1623433 1623464 - ParenthesizedExpression 1623433 1623458 - AsExpression 1623434 1623457 - Identifier 1623434 1623438 - TypeReference 1623441 1623457 - Identifier 1623441 1623457 - Identifier 1623459 1623464 - Identifier 1623465 1623487 - ReturnStatement 1623514 1623537 - FalseKeyword 1623530 1623536 - FunctionDeclaration 1623544 1624065 - Identifier 1623560 1623587 - Parameter 1623588 1623614 - Identifier 1623588 1623604 - ArrayType 1623605 1623614 - TypeReference 1623605 1623612 - Identifier 1623605 1623612 - Parameter 1623615 1623628 - Identifier 1623615 1623622 - TypeReference 1623623 1623628 - Identifier 1623623 1623628 - UnionType 1623630 1623651 - ArrayType 1623630 1623639 - TypeReference 1623630 1623637 - Identifier 1623630 1623637 - UndefinedKeyword 1623641 1623651 - Block 1623651 1624065 - VariableStatement 1623653 1623696 - VariableDeclarationList 1623653 1623695 - VariableDeclaration 1623666 1623695 - Identifier 1623666 1623673 - UnionType 1623674 1623695 - ArrayType 1623674 1623683 - TypeReference 1623674 1623681 - Identifier 1623674 1623681 - UndefinedKeyword 1623685 1623695 - ForOfStatement 1623696 1624034 - VariableDeclarationList 1623711 1623731 - VariableDeclaration 1623716 1623731 - Identifier 1623716 1623731 - Identifier 1623734 1623751 - Block 1623752 1624034 - IfStatement 1623754 1624023 - CallExpression 1623772 1623830 - Identifier 1623772 1623794 - Identifier 1623795 1623801 - PropertyAccessExpression 1623802 1623829 - Identifier 1623802 1623817 - Identifier 1623818 1623829 - Block 1623831 1624023 - IfStatement 1623833 1623964 - Identifier 1623855 1623861 - Block 1623862 1623964 - ExpressionStatement 1623864 1623914 - CallExpression 1623864 1623913 - PropertyAccessExpression 1623864 1623897 - Identifier 1623864 1623892 - Identifier 1623893 1623897 - Identifier 1623898 1623912 - ContinueStatement 1623914 1623945 - ExpressionStatement 1623964 1624008 - BinaryExpression 1623964 1624007 - Identifier 1623964 1623988 - EqualsToken 1623988 1623990 - ArrayLiteralExpression 1623990 1624007 - Identifier 1623992 1624006 - ReturnStatement 1624034 1624058 - Identifier 1624050 1624057 - FunctionDeclaration 1624065 1625720 - Identifier 1624470 1624492 - Parameter 1624493 1624506 - Identifier 1624493 1624498 - ArrayType 1624499 1624506 - TypeReference 1624499 1624504 - Identifier 1624499 1624504 - Parameter 1624507 1624522 - Identifier 1624507 1624512 - TypeReference 1624513 1624522 - Identifier 1624513 1624522 - Block 1624523 1625720 - VariableStatement 1624525 1624571 - VariableDeclarationList 1624525 1624570 - VariableDeclaration 1624540 1624570 - Identifier 1624540 1624544 - NewExpression 1624546 1624570 - Identifier 1624550 1624554 - TypeReference 1624555 1624561 - Identifier 1624555 1624561 - TypeReference 1624562 1624567 - Identifier 1624562 1624567 - VariableStatement 1624571 1624595 - VariableDeclarationList 1624571 1624594 - VariableDeclaration 1624584 1624594 - Identifier 1624584 1624590 - NumericLiteral 1624592 1624594 - ForOfStatement 1624595 1625637 - VariableDeclarationList 1624610 1624620 - VariableDeclaration 1624615 1624620 - Identifier 1624615 1624620 - Identifier 1624623 1624629 - Block 1624630 1625637 - IfStatement 1624632 1625626 - BinaryExpression 1624650 1624743 - PropertyAccessExpression 1624650 1624660 - Identifier 1624650 1624654 - Identifier 1624655 1624660 - AmpersandToken 1624660 1624662 - ParenthesizedExpression 1624662 1624743 - BinaryExpression 1624664 1624742 - BinaryExpression 1624664 1624705 - PropertyAccessExpression 1624664 1624680 - Identifier 1624664 1624673 - Identifier 1624674 1624680 - BarToken 1624680 1624682 - PropertyAccessExpression 1624682 1624705 - Identifier 1624682 1624692 - Identifier 1624693 1624705 - BarToken 1624705 1624707 - PropertyAccessExpression 1624707 1624742 - Identifier 1624707 1624717 - Identifier 1624718 1624742 - Block 1624744 1625626 - VariableStatement 1624746 1624821 - VariableDeclarationList 1624746 1624820 - VariableDeclaration 1624769 1624820 - Identifier 1624769 1624782 - CallExpression 1624784 1624820 - Identifier 1624784 1624808 - Identifier 1624809 1624813 - Identifier 1624814 1624819 - IfStatement 1624821 1625611 - Identifier 1624843 1624855 - Block 1624856 1625611 - IfStatement 1624858 1624981 - PrefixUnaryExpression 1624884 1624912 - CallExpression 1624885 1624912 - Identifier 1624885 1624898 - Identifier 1624899 1624911 - Block 1624913 1624981 - ReturnStatement 1624915 1624958 - Identifier 1624947 1624957 - VariableStatement 1624981 1625025 - VariableDeclarationList 1624981 1625024 - VariableDeclaration 1625006 1625024 - Identifier 1625006 1625016 - FalseKeyword 1625018 1625024 - ExpressionStatement 1625025 1625546 - CallExpression 1625025 1625545 - Identifier 1625025 1625058 - Identifier 1625059 1625071 - ArrowFunction 1625072 1625544 - Parameter 1625072 1625074 - Identifier 1625072 1625074 - EqualsGreaterThanToken 1625074 1625077 - Block 1625077 1625544 - VariableStatement 1625079 1625158 - VariableDeclarationList 1625079 1625157 - VariableDeclaration 1625110 1625157 - Identifier 1625110 1625113 - CallExpression 1625115 1625157 - Identifier 1625115 1625125 - CallExpression 1625126 1625156 - Identifier 1625126 1625153 - Identifier 1625154 1625155 - VariableStatement 1625158 1625213 - VariableDeclarationList 1625158 1625212 - VariableDeclaration 1625189 1625212 - Identifier 1625189 1625198 - CallExpression 1625200 1625212 - PropertyAccessExpression 1625200 1625208 - Identifier 1625200 1625204 - Identifier 1625205 1625208 - Identifier 1625209 1625211 - IfStatement 1625213 1625521 - PrefixUnaryExpression 1625243 1625252 - Identifier 1625244 1625252 - Block 1625253 1625330 - ExpressionStatement 1625255 1625303 - CallExpression 1625255 1625302 - PropertyAccessExpression 1625255 1625292 - Identifier 1625255 1625288 - Identifier 1625289 1625292 - Identifier 1625293 1625295 - Identifier 1625296 1625301 - IfStatement 1625360 1625521 - BinaryExpression 1625365 1625389 - Identifier 1625365 1625373 - ExclamationEqualsEqualsToken 1625373 1625377 - Identifier 1625377 1625389 - Block 1625390 1625521 - ExpressionStatement 1625392 1625447 - CallExpression 1625392 1625446 - PropertyAccessExpression 1625392 1625429 - Identifier 1625392 1625425 - Identifier 1625426 1625429 - Identifier 1625430 1625432 - Identifier 1625433 1625445 - ExpressionStatement 1625447 1625494 - BinaryExpression 1625447 1625493 - Identifier 1625447 1625486 - EqualsToken 1625486 1625488 - TrueKeyword 1625488 1625493 - IfStatement 1625546 1625592 - PrefixUnaryExpression 1625572 1625582 - Identifier 1625573 1625582 - ExpressionStatement 1625583 1625592 - PostfixUnaryExpression 1625583 1625591 - Identifier 1625583 1625589 - ReturnStatement 1625637 1625713 - ConditionalExpression 1625653 1625712 - BinaryExpression 1625653 1625694 - BinaryExpression 1625653 1625665 - Identifier 1625653 1625659 - GreaterThanEqualsToken 1625659 1625662 - NumericLiteral 1625662 1625665 - AmpersandAmpersandToken 1625665 1625668 - BinaryExpression 1625668 1625694 - BinaryExpression 1625668 1625678 - Identifier 1625668 1625674 - AsteriskToken 1625674 1625676 - NumericLiteral 1625676 1625678 - GreaterThanEqualsToken 1625678 1625681 - PropertyAccessExpression 1625681 1625694 - Identifier 1625681 1625687 - Identifier 1625688 1625694 - QuestionToken 1625694 1625696 - Identifier 1625696 1625700 - ColonToken 1625700 1625702 - Identifier 1625702 1625712 - FunctionDeclaration 1625720 1627293 - Identifier 1625956 1625975 - Parameter 1625976 1625996 - Identifier 1625976 1625985 - TypeReference 1625986 1625996 - Identifier 1625986 1625996 - UnionType 1625998 1626019 - TypeReference 1625998 1626007 - Identifier 1625998 1626007 - UndefinedKeyword 1626009 1626019 - Block 1626019 1627293 - VariableStatement 1626021 1626061 - VariableDeclarationList 1626021 1626060 - VariableDeclaration 1626036 1626060 - Identifier 1626036 1626042 - PropertyAccessExpression 1626044 1626060 - Identifier 1626044 1626054 - Identifier 1626055 1626060 - IfStatement 1626061 1626418 - BinaryExpression 1626159 1626363 - BinaryExpression 1626159 1626248 - BinaryExpression 1626159 1626190 - PropertyAccessExpression 1626159 1626185 - Identifier 1626159 1626178 - Identifier 1626179 1626185 - LessThanToken 1626185 1626187 - NumericLiteral 1626187 1626190 - BarBarToken 1626190 1626193 - BinaryExpression 1626193 1626248 - CallExpression 1626193 1626219 - Identifier 1626193 1626208 - Identifier 1626209 1626218 - AmpersandToken 1626219 1626221 - PropertyAccessExpression 1626221 1626248 - Identifier 1626221 1626233 - Identifier 1626234 1626248 - BarBarToken 1626248 1626251 - BinaryExpression 1626251 1626363 - CallExpression 1626251 1626358 - Identifier 1626251 1626275 - Identifier 1626276 1626281 - ArrowFunction 1626282 1626357 - Parameter 1626282 1626284 - Identifier 1626282 1626284 - EqualsGreaterThanToken 1626284 1626287 - PrefixUnaryExpression 1626287 1626357 - PrefixUnaryExpression 1626289 1626357 - ParenthesizedExpression 1626290 1626357 - BinaryExpression 1626291 1626356 - PropertyAccessExpression 1626291 1626298 - Identifier 1626291 1626292 - Identifier 1626293 1626298 - AmpersandToken 1626298 1626300 - ParenthesizedExpression 1626300 1626356 - BinaryExpression 1626302 1626355 - PropertyAccessExpression 1626302 1626318 - Identifier 1626302 1626311 - Identifier 1626312 1626318 - BarToken 1626318 1626320 - PropertyAccessExpression 1626320 1626355 - Identifier 1626320 1626330 - Identifier 1626331 1626355 - LessThanToken 1626358 1626360 - NumericLiteral 1626360 1626363 - Block 1626374 1626418 - ReturnStatement 1626376 1626407 - Identifier 1626396 1626406 - IfStatement 1626418 1627184 - BinaryExpression 1626432 1626471 - PropertyAccessExpression 1626432 1626457 - Identifier 1626432 1626441 - Identifier 1626442 1626457 - EqualsEqualsEqualsToken 1626457 1626461 - Identifier 1626461 1626471 - Block 1626472 1627184 - VariableStatement 1626474 1626917 - VariableDeclarationList 1626474 1626916 - VariableDeclaration 1626641 1626916 - Identifier 1626641 1626657 - CallExpression 1626659 1626916 - Identifier 1626659 1626667 - Identifier 1626668 1626673 - ArrowFunction 1626674 1626915 - Parameter 1626674 1626676 - Identifier 1626674 1626676 - EqualsGreaterThanToken 1626676 1626679 - ConditionalExpression 1626679 1626915 - BinaryExpression 1626679 1626762 - PropertyAccessExpression 1626679 1626704 - Identifier 1626679 1626698 - Identifier 1626699 1626704 - AmpersandToken 1626704 1626706 - ParenthesizedExpression 1626706 1626762 - BinaryExpression 1626708 1626761 - PropertyAccessExpression 1626708 1626724 - Identifier 1626708 1626717 - Identifier 1626718 1626724 - BarToken 1626724 1626726 - PropertyAccessExpression 1626726 1626761 - Identifier 1626726 1626736 - Identifier 1626737 1626761 - QuestionToken 1626762 1626764 - CallExpression 1626764 1626882 - Identifier 1626764 1626793 - CallExpression 1626794 1626816 - Identifier 1626794 1626813 - Identifier 1626814 1626815 - ArrowFunction 1626817 1626881 - Parameter 1626817 1626819 - Identifier 1626817 1626819 - EqualsGreaterThanToken 1626819 1626822 - ConditionalExpression 1626822 1626881 - CallExpression 1626822 1626853 - Identifier 1626822 1626833 - CallExpression 1626834 1626852 - Identifier 1626834 1626849 - Identifier 1626850 1626851 - QuestionToken 1626853 1626855 - PropertyAccessExpression 1626855 1626869 - Identifier 1626855 1626857 - Identifier 1626858 1626869 - ColonToken 1626869 1626871 - Identifier 1626871 1626881 - ColonToken 1626882 1626884 - Identifier 1626884 1626915 - VariableStatement 1626917 1627021 - VariableDeclarationList 1626917 1627020 - VariableDeclaration 1626936 1627020 - Identifier 1626936 1626953 - BinaryExpression 1626955 1627020 - Identifier 1626955 1626971 - AmpersandAmpersandToken 1626971 1626974 - CallExpression 1626974 1627020 - Identifier 1626974 1626996 - Identifier 1626997 1627002 - Identifier 1627003 1627019 - ExpressionStatement 1627021 1627115 - BinaryExpression 1627021 1627114 - PropertyAccessExpression 1627021 1627060 - Identifier 1627021 1627044 - Identifier 1627045 1627060 - EqualsToken 1627060 1627062 - ConditionalExpression 1627062 1627114 - Identifier 1627062 1627079 - QuestionToken 1627079 1627081 - Identifier 1627081 1627097 - ColonToken 1627097 1627099 - AsExpression 1627099 1627114 - StringLiteral 1627099 1627102 - TypeReference 1627105 1627114 - Identifier 1627105 1627114 - ExpressionStatement 1627115 1627173 - BinaryExpression 1627115 1627172 - PropertyAccessExpression 1627115 1627153 - Identifier 1627115 1627138 - Identifier 1627139 1627153 - EqualsToken 1627153 1627155 - Identifier 1627155 1627172 - ReturnStatement 1627184 1627286 - ConditionalExpression 1627200 1627285 - PropertyAccessExpression 1627200 1627245 - ParenthesizedExpression 1627200 1627238 - AsExpression 1627202 1627237 - PropertyAccessExpression 1627202 1627227 - Identifier 1627202 1627211 - Identifier 1627212 1627227 - StringKeyword 1627230 1627237 - Identifier 1627239 1627245 - QuestionToken 1627245 1627247 - PropertyAccessExpression 1627247 1627273 - Identifier 1627247 1627257 - Identifier 1627258 1627273 - ColonToken 1627273 1627275 - Identifier 1627275 1627285 - FunctionDeclaration 1627293 1627732 - Identifier 1627492 1627521 - Parameter 1627522 1627542 - Identifier 1627522 1627531 - TypeReference 1627532 1627542 - Identifier 1627532 1627542 - Parameter 1627543 1627557 - Identifier 1627543 1627551 - TypeReference 1627552 1627557 - Identifier 1627552 1627557 - Block 1627558 1627732 - VariableStatement 1627560 1627664 - VariableDeclarationList 1627560 1627663 - VariableDeclaration 1627575 1627663 - Identifier 1627575 1627582 - CallExpression 1627584 1627663 - PropertyAccessExpression 1627584 1627614 - PropertyAccessExpression 1627584 1627609 - Identifier 1627584 1627594 - Identifier 1627595 1627609 - QuestionDotToken 1627609 1627611 - Identifier 1627611 1627614 - CallExpression 1627615 1627662 - Identifier 1627615 1627624 - CallExpression 1627625 1627661 - Identifier 1627625 1627652 - Identifier 1627653 1627660 - ReturnStatement 1627664 1627725 - ConditionalExpression 1627680 1627724 - BinaryExpression 1627680 1627703 - Identifier 1627680 1627687 - ExclamationEqualsEqualsToken 1627687 1627691 - Identifier 1627691 1627703 - QuestionToken 1627703 1627705 - Identifier 1627705 1627712 - ColonToken 1627712 1627714 - Identifier 1627714 1627724 - FunctionDeclaration 1627732 1628062 - Identifier 1627748 1627783 - Parameter 1627784 1627804 - Identifier 1627784 1627793 - TypeReference 1627794 1627804 - Identifier 1627794 1627804 - Parameter 1627805 1627816 - Identifier 1627805 1627810 - TypeReference 1627811 1627816 - Identifier 1627811 1627816 - Block 1627817 1628062 - VariableStatement 1627819 1627883 - VariableDeclarationList 1627819 1627882 - VariableDeclaration 1627834 1627882 - Identifier 1627834 1627850 - CallExpression 1627852 1627882 - Identifier 1627852 1627871 - Identifier 1627872 1627881 - VariableStatement 1627883 1627976 - VariableDeclarationList 1627883 1627975 - VariableDeclaration 1627898 1627975 - Identifier 1627898 1627907 - BinaryExpression 1627909 1627975 - Identifier 1627909 1627925 - AmpersandAmpersandToken 1627925 1627928 - CallExpression 1627928 1627975 - Identifier 1627928 1627952 - Identifier 1627953 1627957 - Identifier 1627958 1627974 - ReturnStatement 1627976 1628055 - BinaryExpression 1627992 1628054 - Identifier 1627992 1628001 - AmpersandAmpersandToken 1628001 1628004 - CallExpression 1628004 1628054 - Identifier 1628004 1628033 - Identifier 1628034 1628043 - Identifier 1628044 1628053 - FunctionDeclaration 1628062 1628686 - Identifier 1628078 1628122 - Parameter 1628123 1628143 - Identifier 1628123 1628132 - TypeReference 1628133 1628143 - Identifier 1628133 1628143 - Parameter 1628144 1628174 - Identifier 1628144 1628149 - TypeReference 1628150 1628174 - Identifier 1628150 1628174 - Block 1628175 1628686 - VariableStatement 1628177 1628241 - VariableDeclarationList 1628177 1628240 - VariableDeclaration 1628192 1628240 - Identifier 1628192 1628208 - CallExpression 1628210 1628240 - Identifier 1628210 1628229 - Identifier 1628230 1628239 - VariableStatement 1628241 1628484 - VariableDeclarationList 1628241 1628483 - VariableDeclaration 1628256 1628483 - Identifier 1628256 1628265 - BinaryExpression 1628267 1628483 - Identifier 1628267 1628283 - AmpersandAmpersandToken 1628283 1628286 - CallExpression 1628286 1628483 - Identifier 1628286 1628291 - PropertyAccessExpression 1628292 1628307 - Identifier 1628292 1628296 - Identifier 1628297 1628307 - ArrowFunction 1628308 1628482 - Parameter 1628308 1628310 - Identifier 1628308 1628310 - EqualsGreaterThanToken 1628310 1628313 - BinaryExpression 1628313 1628482 - BinaryExpression 1628313 1628436 - BinaryExpression 1628313 1628379 - PropertyAccessExpression 1628313 1628335 - Identifier 1628313 1628328 - Identifier 1628329 1628335 - AmpersandAmpersandToken 1628335 1628338 - BinaryExpression 1628338 1628379 - PropertyAccessExpression 1628338 1628345 - Identifier 1628338 1628340 - Identifier 1628341 1628345 - EqualsEqualsEqualsToken 1628345 1628349 - PropertyAccessExpression 1628349 1628379 - Identifier 1628349 1628360 - Identifier 1628361 1628379 - AmpersandAmpersandToken 1628379 1628382 - BinaryExpression 1628382 1628436 - PropertyAccessExpression 1628382 1628416 - PropertyAccessExpression 1628382 1628404 - Identifier 1628382 1628397 - Identifier 1628398 1628404 - Identifier 1628405 1628416 - EqualsEqualsEqualsToken 1628416 1628420 - Identifier 1628420 1628436 - AmpersandAmpersandToken 1628436 1628439 - CallExpression 1628439 1628482 - Identifier 1628439 1628467 - PropertyAccessExpression 1628468 1628481 - Identifier 1628468 1628469 - Identifier 1628470 1628481 - VariableStatement 1628484 1628600 - VariableDeclarationList 1628484 1628599 - VariableDeclaration 1628499 1628599 - Identifier 1628499 1628508 - BinaryExpression 1628510 1628599 - Identifier 1628510 1628519 - AmpersandAmpersandToken 1628519 1628522 - CallExpression 1628522 1628599 - Identifier 1628522 1628553 - PropertyAccessExpression 1628554 1628598 - ParenthesizedExpression 1628554 1628586 - AsExpression 1628555 1628585 - Identifier 1628555 1628563 - TypeReference 1628566 1628585 - Identifier 1628566 1628585 - Identifier 1628587 1628598 - ReturnStatement 1628600 1628679 - BinaryExpression 1628616 1628678 - Identifier 1628616 1628625 - AmpersandAmpersandToken 1628625 1628628 - CallExpression 1628628 1628678 - Identifier 1628628 1628657 - Identifier 1628658 1628667 - Identifier 1628668 1628677 - FunctionDeclaration 1628686 1628867 - Identifier 1628702 1628732 - Parameter 1628733 1628745 - Identifier 1628733 1628739 - TypeReference 1628740 1628745 - Identifier 1628740 1628745 - Parameter 1628746 1628759 - Identifier 1628746 1628753 - TypeReference 1628754 1628759 - Identifier 1628754 1628759 - Block 1628760 1628867 - ReturnStatement 1628762 1628860 - BinaryExpression 1628778 1628859 - CallExpression 1628778 1628814 - Identifier 1628778 1628798 - Identifier 1628799 1628805 - Identifier 1628806 1628813 - BarBarToken 1628814 1628817 - CallExpression 1628817 1628859 - Identifier 1628817 1628843 - Identifier 1628844 1628850 - Identifier 1628851 1628858 - FunctionDeclaration 1628867 1629567 - Identifier 1628883 1628903 - Parameter 1628904 1628946 - Identifier 1628904 1628914 - UnionType 1628915 1628946 - TypeReference 1628915 1628930 - Identifier 1628915 1628930 - TypeReference 1628932 1628946 - Identifier 1628932 1628946 - Parameter 1628947 1628963 - Identifier 1628947 1628957 - TypeReference 1628958 1628963 - Identifier 1628958 1628963 - Block 1628964 1629567 - IfStatement 1628966 1629272 - PropertyAccessExpression 1628980 1629000 - Identifier 1628980 1628990 - Identifier 1628991 1629000 - Block 1629001 1629272 - ForOfStatement 1629003 1629261 - VariableDeclarationList 1629022 1629036 - VariableDeclaration 1629027 1629036 - Identifier 1629027 1629036 - PropertyAccessExpression 1629039 1629060 - Identifier 1629039 1629050 - Identifier 1629051 1629060 - Block 1629061 1629261 - IfStatement 1629063 1629246 - BinaryExpression 1629085 1629190 - CallExpression 1629085 1629135 - Identifier 1629085 1629114 - Identifier 1629115 1629124 - Identifier 1629125 1629134 - BarBarToken 1629135 1629138 - CallExpression 1629138 1629190 - Identifier 1629138 1629169 - Identifier 1629170 1629178 - Identifier 1629179 1629189 - Block 1629191 1629246 - ReturnStatement 1629193 1629227 - TrueKeyword 1629221 1629226 - IfStatement 1629272 1629537 - BinaryExpression 1629286 1629487 - BinaryExpression 1629286 1629366 - PropertyAccessExpression 1629286 1629326 - PropertyAccessExpression 1629286 1629321 - Identifier 1629286 1629310 - Identifier 1629311 1629321 - Identifier 1629322 1629326 - EqualsEqualsEqualsToken 1629326 1629330 - PropertyAccessExpression 1629330 1629366 - Identifier 1629330 1629341 - Identifier 1629342 1629366 - AmpersandAmpersandToken 1629366 1629369 - CallExpression 1629369 1629487 - Identifier 1629369 1629412 - Identifier 1629413 1629422 - PropertyAccessExpression 1629423 1629486 - ParenthesizedExpression 1629423 1629475 - AsExpression 1629425 1629474 - PropertyAccessExpression 1629425 1629446 - Identifier 1629425 1629435 - Identifier 1629436 1629446 - TypeReference 1629449 1629474 - Identifier 1629449 1629474 - Identifier 1629476 1629486 - Block 1629498 1629537 - ReturnStatement 1629500 1629526 - TrueKeyword 1629520 1629525 - ReturnStatement 1629537 1629560 - FalseKeyword 1629553 1629559 - FunctionDeclaration 1629567 1629757 - Identifier 1629583 1629597 - Parameter 1629598 1629612 - Identifier 1629598 1629602 - TypeReference 1629603 1629612 - Identifier 1629603 1629612 - NumberKeyword 1629614 1629621 - Block 1629621 1629757 - IfStatement 1629623 1629725 - BinaryExpression 1629637 1629649 - PropertyAccessExpression 1629637 1629644 - Identifier 1629637 1629641 - Identifier 1629642 1629644 - LessThanEqualsToken 1629644 1629647 - NumericLiteral 1629647 1629649 - Block 1629650 1629725 - ExpressionStatement 1629652 1629687 - BinaryExpression 1629652 1629686 - PropertyAccessExpression 1629652 1629673 - Identifier 1629652 1629670 - Identifier 1629671 1629673 - EqualsToken 1629673 1629675 - Identifier 1629675 1629686 - ExpressionStatement 1629687 1629714 - PostfixUnaryExpression 1629687 1629713 - Identifier 1629687 1629711 - ReturnStatement 1629725 1629750 - PropertyAccessExpression 1629741 1629749 - Identifier 1629741 1629746 - Identifier 1629747 1629749 - FunctionDeclaration 1629757 1630134 - Identifier 1629773 1629795 - Parameter 1629796 1629808 - Identifier 1629796 1629802 - TypeReference 1629803 1629808 - Identifier 1629803 1629808 - Parameter 1629809 1629822 - Identifier 1629809 1629816 - TypeReference 1629817 1629822 - Identifier 1629817 1629822 - Block 1629823 1630134 - IfStatement 1629825 1629942 - PrefixUnaryExpression 1629839 1629872 - ParenthesizedExpression 1629840 1629872 - BinaryExpression 1629841 1629871 - PropertyAccessExpression 1629841 1629853 - Identifier 1629841 1629847 - Identifier 1629848 1629853 - AmpersandToken 1629853 1629855 - PropertyAccessExpression 1629855 1629871 - Identifier 1629855 1629865 - Identifier 1629866 1629871 - Block 1629873 1629942 - ReturnStatement 1629875 1629931 - CallExpression 1629895 1629930 - Identifier 1629895 1629914 - Identifier 1629915 1629921 - Identifier 1629922 1629929 - ForOfStatement 1629942 1630104 - VariableDeclarationList 1629957 1629964 - VariableDeclaration 1629962 1629964 - Identifier 1629962 1629964 - PropertyAccessExpression 1629967 1629995 - ParenthesizedExpression 1629967 1629989 - AsExpression 1629969 1629988 - Identifier 1629969 1629975 - TypeReference 1629978 1629988 - Identifier 1629978 1629988 - Identifier 1629990 1629995 - Block 1629996 1630104 - IfStatement 1629998 1630093 - CallExpression 1630016 1630045 - Identifier 1630016 1630034 - Identifier 1630035 1630036 - Identifier 1630037 1630044 - Block 1630046 1630093 - ReturnStatement 1630048 1630078 - TrueKeyword 1630072 1630077 - ReturnStatement 1630104 1630127 - FalseKeyword 1630120 1630126 - FunctionDeclaration 1630134 1630878 - Identifier 1630413 1630438 - Parameter 1630439 1630462 - Identifier 1630439 1630451 - TypeReference 1630452 1630462 - Identifier 1630452 1630462 - Parameter 1630463 1630482 - Identifier 1630463 1630476 - TypeReference 1630477 1630482 - Identifier 1630477 1630482 - Block 1630483 1630878 - IfStatement 1630485 1630576 - BinaryExpression 1630499 1630528 - Identifier 1630499 1630511 - EqualsEqualsEqualsToken 1630511 1630515 - Identifier 1630515 1630528 - Block 1630529 1630576 - ReturnStatement 1630531 1630565 - Identifier 1630551 1630564 - IfStatement 1630576 1630674 - BinaryExpression 1630590 1630626 - PropertyAccessExpression 1630590 1630608 - Identifier 1630590 1630602 - Identifier 1630603 1630608 - AmpersandToken 1630608 1630610 - PropertyAccessExpression 1630610 1630626 - Identifier 1630610 1630620 - Identifier 1630621 1630626 - Block 1630627 1630674 - ReturnStatement 1630629 1630663 - Identifier 1630649 1630662 - VariableStatement 1630674 1630753 - VariableDeclarationList 1630674 1630752 - VariableDeclaration 1630689 1630752 - Identifier 1630689 1630693 - TemplateExpression 1630695 1630752 - TemplateHead 1630695 1630700 - TemplateSpan 1630700 1630727 - CallExpression 1630700 1630723 - Identifier 1630700 1630709 - Identifier 1630710 1630722 - TemplateMiddle 1630723 1630727 - TemplateSpan 1630727 1630752 - CallExpression 1630727 1630750 - Identifier 1630727 1630736 - Identifier 1630737 1630749 - TemplateTail 1630750 1630752 - ReturnStatement 1630753 1630871 - BinaryExpression 1630769 1630870 - CallExpression 1630769 1630788 - Identifier 1630769 1630783 - Identifier 1630784 1630787 - QuestionQuestionToken 1630788 1630791 - CallExpression 1630791 1630870 - Identifier 1630791 1630805 - Identifier 1630806 1630809 - CallExpression 1630810 1630869 - Identifier 1630810 1630841 - Identifier 1630842 1630854 - Identifier 1630855 1630868 - FunctionDeclaration 1630878 1631766 - Identifier 1630894 1630925 - Parameter 1630926 1630949 - Identifier 1630926 1630938 - TypeReference 1630939 1630949 - Identifier 1630939 1630949 - Parameter 1630950 1630969 - Identifier 1630950 1630963 - TypeReference 1630964 1630969 - Identifier 1630964 1630969 - Block 1630970 1631766 - VariableStatement 1630972 1631073 - VariableDeclarationList 1630972 1631072 - VariableDeclaration 1630987 1631072 - Identifier 1630987 1631000 - CallExpression 1631002 1631072 - Identifier 1631002 1631013 - Identifier 1631014 1631026 - ArrowFunction 1631027 1631071 - Parameter 1631027 1631029 - Identifier 1631027 1631029 - EqualsGreaterThanToken 1631029 1631032 - CallExpression 1631032 1631071 - Identifier 1631032 1631054 - Identifier 1631055 1631067 - Identifier 1631068 1631070 - VariableStatement 1631073 1631351 - VariableDeclarationList 1631073 1631350 - VariableDeclaration 1631188 1631350 - Identifier 1631188 1631200 - ConditionalExpression 1631202 1631350 - BinaryExpression 1631202 1631284 - BinaryExpression 1631202 1631248 - PropertyAccessExpression 1631202 1631221 - Identifier 1631202 1631215 - Identifier 1631216 1631221 - AmpersandToken 1631221 1631223 - PropertyAccessExpression 1631223 1631248 - Identifier 1631223 1631233 - Identifier 1631234 1631248 - AmpersandAmpersandToken 1631248 1631251 - CallExpression 1631251 1631284 - Identifier 1631251 1631270 - Identifier 1631271 1631283 - QuestionToken 1631284 1631286 - CallExpression 1631286 1631335 - Identifier 1631286 1631294 - Identifier 1631295 1631307 - Identifier 1631308 1631334 - ColonToken 1631335 1631337 - Identifier 1631337 1631350 - ReturnStatement 1631351 1631759 - ConditionalExpression 1631683 1631758 - CallExpression 1631683 1631729 - Identifier 1631683 1631702 - Identifier 1631703 1631715 - Identifier 1631716 1631728 - QuestionToken 1631729 1631731 - Identifier 1631731 1631743 - ColonToken 1631743 1631745 - Identifier 1631745 1631758 - FunctionDeclaration 1631766 1632402 - Identifier 1631782 1631803 - Parameter 1631804 1631820 - Identifier 1631804 1631808 - TypeReference 1631809 1631820 - Identifier 1631809 1631820 - BooleanKeyword 1631822 1631830 - Block 1631830 1632402 - IfStatement 1631832 1631935 - BinaryExpression 1631846 1631894 - CallExpression 1631846 1631866 - Identifier 1631846 1631860 - Identifier 1631861 1631865 - AmpersandToken 1631866 1631868 - PropertyAccessExpression 1631868 1631894 - Identifier 1631868 1631880 - Identifier 1631881 1631894 - Block 1631895 1631935 - ReturnStatement 1631897 1631924 - FalseKeyword 1631917 1631923 - VariableStatement 1631935 1632202 - VariableDeclarationList 1631935 1632201 - VariableDeclaration 1632155 1632201 - Identifier 1632155 1632164 - CallExpression 1632166 1632201 - Identifier 1632166 1632195 - Identifier 1632196 1632200 - ReturnStatement 1632202 1632395 - PrefixUnaryExpression 1632218 1632394 - PrefixUnaryExpression 1632220 1632394 - ParenthesizedExpression 1632221 1632394 - BinaryExpression 1632222 1632393 - BinaryExpression 1632222 1632291 - PropertyAccessExpression 1632222 1632252 - PropertyAccessExpression 1632222 1632245 - Identifier 1632222 1632230 - Identifier 1632231 1632245 - Identifier 1632246 1632252 - BarBarToken 1632252 1632255 - PropertyAccessExpression 1632255 1632291 - PropertyAccessExpression 1632255 1632284 - Identifier 1632255 1632264 - Identifier 1632265 1632284 - Identifier 1632285 1632291 - BarBarToken 1632291 1632294 - BinaryExpression 1632294 1632393 - CallExpression 1632294 1632348 - PropertyAccessExpression 1632294 1632328 - PropertyAccessExpression 1632294 1632324 - Identifier 1632294 1632316 - Identifier 1632317 1632324 - Identifier 1632325 1632328 - AsExpression 1632329 1632347 - StringLiteral 1632329 1632335 - TypeReference 1632338 1632347 - Identifier 1632338 1632347 - AmpersandAmpersandToken 1632348 1632351 - CallExpression 1632351 1632393 - Identifier 1632351 1632367 - Identifier 1632368 1632372 - Identifier 1632373 1632392 - FunctionDeclaration 1632402 1632535 - Identifier 1632418 1632431 - Parameter 1632432 1632442 - Identifier 1632432 1632436 - TypeReference 1632437 1632442 - Identifier 1632437 1632442 - Parameter 1632443 1632459 - Identifier 1632443 1632448 - TypeReference 1632449 1632459 - Identifier 1632449 1632459 - TypeReference 1632461 1632471 - Identifier 1632461 1632471 - Block 1632471 1632535 - ReturnStatement 1632473 1632528 - BinaryExpression 1632489 1632527 - CallExpression 1632489 1632520 - Identifier 1632489 1632508 - Identifier 1632509 1632513 - Identifier 1632514 1632519 - AmpersandToken 1632520 1632522 - Identifier 1632522 1632527 - FunctionDeclaration 1632535 1632659 - Identifier 1632551 1632564 - Parameter 1632565 1632575 - Identifier 1632565 1632569 - TypeReference 1632570 1632575 - Identifier 1632570 1632575 - Parameter 1632576 1632592 - Identifier 1632576 1632581 - TypeReference 1632582 1632592 - Identifier 1632582 1632592 - BooleanKeyword 1632594 1632602 - Block 1632602 1632659 - ReturnStatement 1632604 1632652 - BinaryExpression 1632620 1632651 - CallExpression 1632620 1632645 - Identifier 1632620 1632633 - Identifier 1632634 1632638 - Identifier 1632639 1632644 - ExclamationEqualsEqualsToken 1632645 1632649 - NumericLiteral 1632649 1632651 - FunctionDeclaration 1632659 1637108 - Identifier 1632675 1632694 - Parameter 1632695 1632705 - Identifier 1632695 1632699 - TypeReference 1632700 1632705 - Identifier 1632700 1632705 - Parameter 1632706 1632733 - Identifier 1632706 1632722 - TypeReference 1632723 1632733 - Identifier 1632723 1632733 - TypeReference 1632735 1632745 - Identifier 1632735 1632745 - Block 1632745 1637108 - IfStatement 1632747 1632903 - BinaryExpression 1632761 1632823 - PropertyAccessExpression 1632761 1632771 - Identifier 1632761 1632765 - Identifier 1632766 1632771 - AmpersandToken 1632771 1632773 - ParenthesizedExpression 1632773 1632823 - BinaryExpression 1632775 1632822 - PropertyAccessExpression 1632775 1632797 - Identifier 1632775 1632784 - Identifier 1632785 1632797 - BarToken 1632797 1632799 - PropertyAccessExpression 1632799 1632822 - Identifier 1632799 1632809 - Identifier 1632810 1632822 - Block 1632824 1632903 - ExpressionStatement 1632826 1632892 - BinaryExpression 1632826 1632891 - Identifier 1632826 1632844 - EqualsToken 1632844 1632846 - BinaryExpression 1632846 1632891 - CallExpression 1632846 1632876 - Identifier 1632846 1632870 - Identifier 1632871 1632875 - BarBarToken 1632876 1632879 - Identifier 1632879 1632891 - VariableStatement 1632903 1632938 - VariableDeclarationList 1632903 1632937 - VariableDeclaration 1632918 1632937 - Identifier 1632918 1632924 - PropertyAccessExpression 1632926 1632937 - Identifier 1632926 1632931 - Identifier 1632932 1632937 - IfStatement 1632938 1633110 - BinaryExpression 1632952 1633004 - Identifier 1632952 1632957 - AmpersandToken 1632957 1632959 - ParenthesizedExpression 1632959 1633004 - BinaryExpression 1632961 1633003 - PropertyAccessExpression 1632961 1632977 - Identifier 1632961 1632970 - Identifier 1632971 1632977 - BarToken 1632977 1632979 - PropertyAccessExpression 1632979 1633003 - Identifier 1632979 1632989 - Identifier 1632990 1633003 - Block 1633005 1633110 - ReturnStatement 1633007 1633099 - ConditionalExpression 1633027 1633098 - Identifier 1633027 1633044 - QuestionToken 1633044 1633046 - PropertyAccessExpression 1633046 1633074 - Identifier 1633046 1633056 - Identifier 1633057 1633074 - ColonToken 1633074 1633076 - PropertyAccessExpression 1633076 1633098 - Identifier 1633076 1633086 - Identifier 1633087 1633098 - IfStatement 1633110 1633531 - BinaryExpression 1633124 1633185 - Identifier 1633124 1633129 - AmpersandToken 1633129 1633131 - ParenthesizedExpression 1633131 1633185 - BinaryExpression 1633133 1633184 - PropertyAccessExpression 1633133 1633156 - Identifier 1633133 1633142 - Identifier 1633143 1633156 - BarToken 1633156 1633158 - PropertyAccessExpression 1633158 1633184 - Identifier 1633158 1633168 - Identifier 1633169 1633184 - Block 1633186 1633531 - VariableStatement 1633188 1633294 - VariableDeclarationList 1633188 1633293 - VariableDeclaration 1633207 1633293 - Identifier 1633207 1633215 - BinaryExpression 1633217 1633293 - BinaryExpression 1633217 1633249 - Identifier 1633217 1633223 - AmpersandToken 1633223 1633225 - PropertyAccessExpression 1633225 1633249 - Identifier 1633225 1633235 - Identifier 1633236 1633249 - AmpersandAmpersandToken 1633249 1633252 - BinaryExpression 1633252 1633293 - PropertyAccessExpression 1633252 1633286 - ParenthesizedExpression 1633252 1633280 - AsExpression 1633254 1633279 - Identifier 1633254 1633258 - TypeReference 1633261 1633279 - Identifier 1633261 1633279 - Identifier 1633281 1633286 - EqualsEqualsEqualsToken 1633286 1633290 - StringLiteral 1633290 1633293 - ReturnStatement 1633294 1633520 - ConditionalExpression 1633314 1633519 - Identifier 1633314 1633331 - QuestionToken 1633331 1633333 - ConditionalExpression 1633333 1633431 - Identifier 1633333 1633358 - QuestionToken 1633358 1633360 - PropertyAccessExpression 1633360 1633393 - Identifier 1633360 1633370 - Identifier 1633371 1633393 - ColonToken 1633393 1633395 - PropertyAccessExpression 1633395 1633431 - Identifier 1633395 1633405 - Identifier 1633406 1633431 - ColonToken 1633431 1633433 - ConditionalExpression 1633433 1633519 - Identifier 1633433 1633458 - QuestionToken 1633458 1633460 - PropertyAccessExpression 1633460 1633487 - Identifier 1633460 1633470 - Identifier 1633471 1633487 - ColonToken 1633487 1633489 - PropertyAccessExpression 1633489 1633519 - Identifier 1633489 1633499 - Identifier 1633500 1633519 - IfStatement 1633531 1633694 - BinaryExpression 1633545 1633588 - Identifier 1633545 1633550 - AmpersandToken 1633550 1633552 - ParenthesizedExpression 1633552 1633588 - BinaryExpression 1633554 1633587 - PropertyAccessExpression 1633554 1633570 - Identifier 1633554 1633563 - Identifier 1633564 1633570 - BarToken 1633570 1633572 - PropertyAccessExpression 1633572 1633587 - Identifier 1633572 1633582 - Identifier 1633583 1633587 - Block 1633589 1633694 - ReturnStatement 1633591 1633683 - ConditionalExpression 1633611 1633682 - Identifier 1633611 1633628 - QuestionToken 1633628 1633630 - PropertyAccessExpression 1633630 1633658 - Identifier 1633630 1633640 - Identifier 1633641 1633658 - ColonToken 1633658 1633660 - PropertyAccessExpression 1633660 1633682 - Identifier 1633660 1633670 - Identifier 1633671 1633682 - IfStatement 1633694 1634042 - BinaryExpression 1633708 1633739 - Identifier 1633708 1633713 - AmpersandToken 1633713 1633715 - PropertyAccessExpression 1633715 1633739 - Identifier 1633715 1633725 - Identifier 1633726 1633739 - Block 1633740 1634042 - VariableStatement 1633742 1633811 - VariableDeclarationList 1633742 1633810 - VariableDeclaration 1633761 1633810 - Identifier 1633761 1633768 - BinaryExpression 1633770 1633810 - PropertyAccessExpression 1633770 1633804 - ParenthesizedExpression 1633770 1633798 - AsExpression 1633772 1633797 - Identifier 1633772 1633776 - TypeReference 1633779 1633797 - Identifier 1633779 1633797 - Identifier 1633799 1633804 - EqualsEqualsEqualsToken 1633804 1633808 - NumericLiteral 1633808 1633810 - ReturnStatement 1633811 1634031 - ConditionalExpression 1633831 1634030 - Identifier 1633831 1633848 - QuestionToken 1633848 1633850 - ConditionalExpression 1633850 1633945 - Identifier 1633850 1633874 - QuestionToken 1633874 1633876 - PropertyAccessExpression 1633876 1633908 - Identifier 1633876 1633886 - Identifier 1633887 1633908 - ColonToken 1633908 1633910 - PropertyAccessExpression 1633910 1633945 - Identifier 1633910 1633920 - Identifier 1633921 1633945 - ColonToken 1633945 1633947 - ConditionalExpression 1633947 1634030 - Identifier 1633947 1633971 - QuestionToken 1633971 1633973 - PropertyAccessExpression 1633973 1633999 - Identifier 1633973 1633983 - Identifier 1633984 1633999 - ColonToken 1633999 1634001 - PropertyAccessExpression 1634001 1634030 - Identifier 1634001 1634011 - Identifier 1634012 1634030 - IfStatement 1634042 1634186 - BinaryExpression 1634056 1634080 - Identifier 1634056 1634061 - AmpersandToken 1634061 1634063 - PropertyAccessExpression 1634063 1634080 - Identifier 1634063 1634073 - Identifier 1634074 1634080 - Block 1634081 1634186 - ReturnStatement 1634083 1634175 - ConditionalExpression 1634103 1634174 - Identifier 1634103 1634120 - QuestionToken 1634120 1634122 - PropertyAccessExpression 1634122 1634150 - Identifier 1634122 1634132 - Identifier 1634133 1634150 - ColonToken 1634150 1634152 - PropertyAccessExpression 1634152 1634174 - Identifier 1634152 1634162 - Identifier 1634163 1634174 - IfStatement 1634186 1634534 - BinaryExpression 1634200 1634231 - Identifier 1634200 1634205 - AmpersandToken 1634205 1634207 - PropertyAccessExpression 1634207 1634231 - Identifier 1634207 1634217 - Identifier 1634218 1634231 - Block 1634232 1634534 - VariableStatement 1634234 1634303 - VariableDeclarationList 1634234 1634302 - VariableDeclaration 1634253 1634302 - Identifier 1634253 1634260 - CallExpression 1634262 1634302 - Identifier 1634262 1634275 - AsExpression 1634276 1634301 - Identifier 1634276 1634280 - TypeReference 1634283 1634301 - Identifier 1634283 1634301 - ReturnStatement 1634303 1634523 - ConditionalExpression 1634323 1634522 - Identifier 1634323 1634340 - QuestionToken 1634340 1634342 - ConditionalExpression 1634342 1634437 - Identifier 1634342 1634366 - QuestionToken 1634366 1634368 - PropertyAccessExpression 1634368 1634400 - Identifier 1634368 1634378 - Identifier 1634379 1634400 - ColonToken 1634400 1634402 - PropertyAccessExpression 1634402 1634437 - Identifier 1634402 1634412 - Identifier 1634413 1634437 - ColonToken 1634437 1634439 - ConditionalExpression 1634439 1634522 - Identifier 1634439 1634463 - QuestionToken 1634463 1634465 - PropertyAccessExpression 1634465 1634491 - Identifier 1634465 1634475 - Identifier 1634476 1634491 - ColonToken 1634491 1634493 - PropertyAccessExpression 1634493 1634522 - Identifier 1634493 1634503 - Identifier 1634504 1634522 - IfStatement 1634534 1634681 - BinaryExpression 1634548 1634573 - Identifier 1634548 1634553 - AmpersandToken 1634553 1634555 - PropertyAccessExpression 1634555 1634573 - Identifier 1634555 1634565 - Identifier 1634566 1634573 - Block 1634574 1634681 - ReturnStatement 1634576 1634670 - ConditionalExpression 1634596 1634669 - Identifier 1634596 1634613 - QuestionToken 1634613 1634615 - PropertyAccessExpression 1634615 1634644 - Identifier 1634615 1634625 - Identifier 1634626 1634644 - ColonToken 1634644 1634646 - PropertyAccessExpression 1634646 1634669 - Identifier 1634646 1634656 - Identifier 1634657 1634669 - IfStatement 1634681 1635016 - BinaryExpression 1634695 1634724 - Identifier 1634695 1634700 - AmpersandToken 1634700 1634702 - PropertyAccessExpression 1634702 1634724 - Identifier 1634702 1634712 - Identifier 1634713 1634724 - Block 1634725 1635016 - ReturnStatement 1634727 1635005 - ConditionalExpression 1634747 1635004 - Identifier 1634747 1634764 - QuestionToken 1634764 1634766 - ConditionalExpression 1634766 1634890 - ParenthesizedExpression 1634766 1634833 - BinaryExpression 1634785 1634832 - BinaryExpression 1634785 1634803 - Identifier 1634785 1634789 - EqualsEqualsEqualsToken 1634789 1634793 - Identifier 1634793 1634803 - BarBarToken 1634803 1634806 - BinaryExpression 1634806 1634832 - Identifier 1634806 1634811 - EqualsEqualsEqualsToken 1634811 1634815 - Identifier 1634815 1634832 - QuestionToken 1634833 1634835 - PropertyAccessExpression 1634835 1634862 - Identifier 1634835 1634845 - Identifier 1634846 1634862 - ColonToken 1634862 1634864 - PropertyAccessExpression 1634864 1634890 - Identifier 1634864 1634874 - Identifier 1634875 1634890 - ColonToken 1634890 1634892 - ConditionalExpression 1634892 1635004 - ParenthesizedExpression 1634892 1634959 - BinaryExpression 1634911 1634958 - BinaryExpression 1634911 1634929 - Identifier 1634911 1634915 - EqualsEqualsEqualsToken 1634915 1634919 - Identifier 1634919 1634929 - BarBarToken 1634929 1634932 - BinaryExpression 1634932 1634958 - Identifier 1634932 1634937 - EqualsEqualsEqualsToken 1634937 1634941 - Identifier 1634941 1634958 - QuestionToken 1634959 1634961 - PropertyAccessExpression 1634961 1634982 - Identifier 1634961 1634971 - Identifier 1634972 1634982 - ColonToken 1634982 1634984 - PropertyAccessExpression 1634984 1635004 - Identifier 1634984 1634994 - Identifier 1634995 1635004 - IfStatement 1635016 1636056 - BinaryExpression 1635030 1635054 - Identifier 1635030 1635035 - AmpersandToken 1635035 1635037 - PropertyAccessExpression 1635037 1635054 - Identifier 1635037 1635047 - Identifier 1635048 1635054 - Block 1635055 1636056 - VariableStatement 1635057 1635320 - VariableDeclarationList 1635057 1635319 - VariableDeclaration 1635076 1635319 - Identifier 1635076 1635090 - ConditionalExpression 1635092 1635319 - Identifier 1635092 1635109 - QuestionToken 1635109 1635128 - BinaryExpression 1635128 1635223 - BinaryExpression 1635128 1635193 - PropertyAccessExpression 1635128 1635161 - Identifier 1635128 1635138 - Identifier 1635139 1635161 - BarToken 1635161 1635163 - PropertyAccessExpression 1635163 1635193 - Identifier 1635163 1635173 - Identifier 1635174 1635193 - BarToken 1635193 1635195 - PropertyAccessExpression 1635195 1635223 - Identifier 1635195 1635205 - Identifier 1635206 1635223 - ColonToken 1635223 1635242 - BinaryExpression 1635242 1635319 - BinaryExpression 1635242 1635295 - PropertyAccessExpression 1635242 1635269 - Identifier 1635242 1635252 - Identifier 1635253 1635269 - BarToken 1635269 1635271 - PropertyAccessExpression 1635271 1635295 - Identifier 1635271 1635281 - Identifier 1635282 1635295 - BarToken 1635295 1635297 - PropertyAccessExpression 1635297 1635319 - Identifier 1635297 1635307 - Identifier 1635308 1635319 - IfStatement 1635320 1635592 - BinaryExpression 1635340 1635379 - ParenthesizedExpression 1635340 1635373 - BinaryExpression 1635341 1635372 - Identifier 1635341 1635356 - AmpersandToken 1635356 1635358 - Identifier 1635358 1635372 - EqualsEqualsEqualsToken 1635373 1635377 - NumericLiteral 1635377 1635379 - Block 1635380 1635592 - ReturnStatement 1635382 1635577 - NumericLiteral 1635574 1635576 - ReturnStatement 1635592 1636045 - ConditionalExpression 1635614 1636044 - BinaryExpression 1635614 1635700 - BinaryExpression 1635614 1635659 - CallExpression 1635614 1635635 - Identifier 1635614 1635629 - Identifier 1635630 1635634 - AmpersandToken 1635635 1635637 - PropertyAccessExpression 1635637 1635659 - Identifier 1635637 1635649 - Identifier 1635650 1635659 - AmpersandAmpersandToken 1635659 1635662 - CallExpression 1635662 1635700 - Identifier 1635662 1635680 - AsExpression 1635681 1635699 - Identifier 1635681 1635685 - TypeReference 1635688 1635699 - Identifier 1635688 1635699 - QuestionToken 1635700 1635702 - ConditionalExpression 1635702 1635800 - Identifier 1635702 1635736 - QuestionToken 1635736 1635738 - PropertyAccessExpression 1635738 1635771 - Identifier 1635738 1635748 - Identifier 1635749 1635771 - ColonToken 1635771 1635773 - PropertyAccessExpression 1635773 1635800 - Identifier 1635773 1635783 - Identifier 1635784 1635800 - ColonToken 1635800 1635802 - ConditionalExpression 1635802 1636044 - CallExpression 1635802 1635860 - Identifier 1635802 1635840 - AsExpression 1635841 1635859 - Identifier 1635841 1635845 - TypeReference 1635848 1635859 - Identifier 1635848 1635859 - QuestionToken 1635860 1635862 - ConditionalExpression 1635862 1635954 - Identifier 1635862 1635896 - QuestionToken 1635896 1635898 - PropertyAccessExpression 1635898 1635928 - Identifier 1635898 1635908 - Identifier 1635909 1635928 - ColonToken 1635928 1635930 - PropertyAccessExpression 1635930 1635954 - Identifier 1635930 1635940 - Identifier 1635941 1635954 - ColonToken 1635954 1635956 - ConditionalExpression 1635956 1636044 - Identifier 1635956 1635990 - QuestionToken 1635990 1635992 - PropertyAccessExpression 1635992 1636020 - Identifier 1635992 1636002 - Identifier 1636003 1636020 - ColonToken 1636020 1636022 - PropertyAccessExpression 1636022 1636044 - Identifier 1636022 1636032 - Identifier 1636033 1636044 - IfStatement 1636056 1636147 - BinaryExpression 1636070 1636092 - Identifier 1636070 1636075 - AmpersandToken 1636075 1636077 - PropertyAccessExpression 1636077 1636092 - Identifier 1636077 1636087 - Identifier 1636088 1636092 - Block 1636093 1636147 - ReturnStatement 1636095 1636136 - PropertyAccessExpression 1636115 1636135 - Identifier 1636115 1636125 - Identifier 1636126 1636135 - IfStatement 1636147 1636248 - BinaryExpression 1636161 1636188 - Identifier 1636161 1636166 - AmpersandToken 1636166 1636168 - PropertyAccessExpression 1636168 1636188 - Identifier 1636168 1636178 - Identifier 1636179 1636188 - Block 1636189 1636248 - ReturnStatement 1636191 1636237 - PropertyAccessExpression 1636211 1636236 - Identifier 1636211 1636221 - Identifier 1636222 1636236 - IfStatement 1636248 1636339 - BinaryExpression 1636262 1636284 - Identifier 1636262 1636267 - AmpersandToken 1636267 1636269 - PropertyAccessExpression 1636269 1636284 - Identifier 1636269 1636279 - Identifier 1636280 1636284 - Block 1636285 1636339 - ReturnStatement 1636287 1636328 - PropertyAccessExpression 1636307 1636327 - Identifier 1636307 1636317 - Identifier 1636318 1636327 - IfStatement 1636339 1636489 - BinaryExpression 1636353 1636383 - Identifier 1636353 1636358 - AmpersandToken 1636358 1636360 - PropertyAccessExpression 1636360 1636383 - Identifier 1636360 1636370 - Identifier 1636371 1636383 - Block 1636384 1636489 - ReturnStatement 1636386 1636478 - ConditionalExpression 1636406 1636477 - Identifier 1636406 1636423 - QuestionToken 1636423 1636425 - PropertyAccessExpression 1636425 1636453 - Identifier 1636425 1636435 - Identifier 1636436 1636453 - ColonToken 1636453 1636455 - PropertyAccessExpression 1636455 1636477 - Identifier 1636455 1636465 - Identifier 1636466 1636477 - IfStatement 1636489 1636639 - BinaryExpression 1636503 1636533 - Identifier 1636503 1636508 - AmpersandToken 1636508 1636510 - PropertyAccessExpression 1636510 1636533 - Identifier 1636510 1636520 - Identifier 1636521 1636533 - Block 1636534 1636639 - ReturnStatement 1636536 1636628 - ConditionalExpression 1636556 1636627 - Identifier 1636556 1636573 - QuestionToken 1636573 1636575 - PropertyAccessExpression 1636575 1636603 - Identifier 1636575 1636585 - Identifier 1636586 1636603 - ColonToken 1636603 1636605 - PropertyAccessExpression 1636605 1636627 - Identifier 1636605 1636615 - Identifier 1636616 1636627 - IfStatement 1636639 1636726 - BinaryExpression 1636653 1636676 - Identifier 1636653 1636658 - AmpersandToken 1636658 1636660 - PropertyAccessExpression 1636660 1636676 - Identifier 1636660 1636670 - Identifier 1636671 1636676 - Block 1636677 1636726 - ReturnStatement 1636679 1636715 - PropertyAccessExpression 1636699 1636714 - Identifier 1636699 1636709 - Identifier 1636710 1636714 - IfStatement 1636726 1636914 - BinaryExpression 1636740 1636763 - Identifier 1636740 1636745 - AmpersandToken 1636745 1636747 - PropertyAccessExpression 1636747 1636763 - Identifier 1636747 1636757 - Identifier 1636758 1636763 - Block 1636764 1636914 - ReturnStatement 1636766 1636903 - CallExpression 1636786 1636902 - Identifier 1636786 1636797 - PropertyAccessExpression 1636798 1636823 - ParenthesizedExpression 1636798 1636817 - AsExpression 1636799 1636816 - Identifier 1636799 1636803 - TypeReference 1636806 1636816 - Identifier 1636806 1636816 - Identifier 1636818 1636823 - ArrowFunction 1636824 1636885 - Parameter 1636826 1636831 - Identifier 1636826 1636831 - Parameter 1636832 1636834 - Identifier 1636832 1636834 - EqualsGreaterThanToken 1636835 1636838 - BinaryExpression 1636838 1636885 - Identifier 1636838 1636844 - BarToken 1636844 1636846 - CallExpression 1636846 1636885 - Identifier 1636846 1636865 - Identifier 1636866 1636867 - Identifier 1636868 1636884 - PropertyAccessExpression 1636886 1636901 - Identifier 1636886 1636896 - Identifier 1636897 1636901 - IfStatement 1636914 1637061 - BinaryExpression 1636928 1636958 - Identifier 1636928 1636933 - AmpersandToken 1636933 1636935 - PropertyAccessExpression 1636935 1636958 - Identifier 1636935 1636945 - Identifier 1636946 1636958 - Block 1636959 1637061 - ReturnStatement 1636961 1637050 - CallExpression 1636981 1637049 - Identifier 1636981 1637006 - AsExpression 1637007 1637031 - Identifier 1637007 1637011 - TypeReference 1637014 1637031 - Identifier 1637014 1637031 - Identifier 1637032 1637048 - ReturnStatement 1637061 1637101 - PropertyAccessExpression 1637077 1637100 - Identifier 1637077 1637087 - Identifier 1637088 1637100 - FunctionDeclaration 1637108 1638099 - Identifier 1637124 1637149 - Parameter 1637150 1637172 - Identifier 1637150 1637154 - TypeReference 1637155 1637172 - Identifier 1637155 1637172 - Parameter 1637173 1637200 - Identifier 1637173 1637189 - TypeReference 1637190 1637200 - Identifier 1637190 1637200 - TypeReference 1637202 1637212 - Identifier 1637202 1637212 - Block 1637212 1638099 - VariableStatement 1637214 1637502 - VariableDeclarationList 1637214 1637501 - VariableDeclaration 1637442 1637501 - Identifier 1637442 1637456 - CallExpression 1637458 1637501 - Identifier 1637458 1637474 - Identifier 1637475 1637479 - PropertyAccessExpression 1637480 1637500 - Identifier 1637480 1637490 - Identifier 1637491 1637500 - VariableStatement 1637502 1637696 - VariableDeclarationList 1637502 1637695 - VariableDeclaration 1637668 1637695 - Identifier 1637668 1637678 - PropertyAccessExpression 1637680 1637695 - Identifier 1637680 1637690 - Identifier 1637691 1637695 - VariableStatement 1637696 1637737 - VariableDeclarationList 1637696 1637736 - VariableDeclaration 1637709 1637736 - Identifier 1637709 1637720 - PropertyAccessExpression 1637722 1637736 - Identifier 1637722 1637732 - Identifier 1637733 1637736 - ForOfStatement 1637737 1638003 - VariableDeclarationList 1637752 1637759 - VariableDeclaration 1637757 1637759 - Identifier 1637757 1637759 - PropertyAccessExpression 1637762 1637773 - Identifier 1637762 1637767 - Identifier 1637768 1637773 - Block 1637774 1638003 - IfStatement 1637776 1637992 - PrefixUnaryExpression 1637794 1637840 - ParenthesizedExpression 1637795 1637840 - BinaryExpression 1637796 1637839 - Identifier 1637796 1637809 - AmpersandAmpersandToken 1637809 1637812 - BinaryExpression 1637812 1637839 - PropertyAccessExpression 1637812 1637820 - Identifier 1637812 1637814 - Identifier 1637815 1637820 - AmpersandToken 1637820 1637822 - PropertyAccessExpression 1637822 1637839 - Identifier 1637822 1637832 - Identifier 1637833 1637839 - Block 1637841 1637992 - VariableStatement 1637843 1637910 - VariableDeclarationList 1637843 1637909 - VariableDeclaration 1637866 1637909 - Identifier 1637866 1637868 - CallExpression 1637870 1637909 - Identifier 1637870 1637889 - Identifier 1637890 1637891 - Identifier 1637892 1637908 - ExpressionStatement 1637910 1637943 - BinaryExpression 1637910 1637942 - Identifier 1637910 1637937 - BarEqualsToken 1637937 1637940 - Identifier 1637940 1637942 - ExpressionStatement 1637943 1637977 - BinaryExpression 1637943 1637976 - Identifier 1637943 1637971 - AmpersandEqualsToken 1637971 1637974 - Identifier 1637974 1637976 - ReturnStatement 1638003 1638092 - BinaryExpression 1638019 1638091 - BinaryExpression 1638019 1638053 - Identifier 1638019 1638029 - AmpersandToken 1638029 1638031 - PropertyAccessExpression 1638031 1638053 - Identifier 1638031 1638041 - Identifier 1638042 1638053 - BarToken 1638053 1638055 - BinaryExpression 1638055 1638091 - Identifier 1638055 1638066 - AmpersandToken 1638066 1638068 - PropertyAccessExpression 1638068 1638091 - Identifier 1638068 1638078 - Identifier 1638079 1638091 - FunctionDeclaration 1638099 1638238 - Identifier 1638115 1638132 - Parameter 1638133 1638143 - Identifier 1638133 1638137 - TypeReference 1638138 1638143 - Identifier 1638138 1638143 - Parameter 1638144 1638163 - Identifier 1638144 1638152 - TypeReference 1638153 1638163 - Identifier 1638153 1638163 - Block 1638164 1638238 - ReturnStatement 1638166 1638231 - CallExpression 1638182 1638230 - Identifier 1638182 1638193 - Identifier 1638194 1638198 - ArrowFunction 1638199 1638229 - Parameter 1638199 1638201 - Identifier 1638199 1638201 - EqualsGreaterThanToken 1638201 1638204 - CallExpression 1638204 1638229 - Identifier 1638204 1638217 - Identifier 1638218 1638219 - Identifier 1638220 1638228 - FunctionDeclaration 1638238 1639512 - Identifier 1638582 1638607 - Parameter 1638608 1638618 - Identifier 1638608 1638612 - TypeReference 1638613 1638618 - Identifier 1638613 1638618 - Parameter 1638619 1638636 - Identifier 1638619 1638625 - TypeReference 1638626 1638636 - Identifier 1638626 1638636 - Block 1638637 1639512 - VariableStatement 1638639 1638789 - VariableDeclarationList 1638639 1638788 - VariableDeclaration 1638654 1638788 - Identifier 1638654 1638662 - CallExpression 1638664 1638788 - Identifier 1638664 1638685 - CallExpression 1638686 1638787 - Identifier 1638686 1638702 - ConditionalExpression 1638703 1638779 - BinaryExpression 1638703 1638753 - Identifier 1638703 1638719 - AmpersandAmpersandToken 1638719 1638722 - BinaryExpression 1638722 1638753 - PropertyAccessExpression 1638722 1638733 - Identifier 1638722 1638727 - Identifier 1638728 1638733 - AmpersandToken 1638733 1638735 - PropertyAccessExpression 1638735 1638753 - Identifier 1638735 1638745 - Identifier 1638746 1638753 - QuestionToken 1638753 1638755 - Identifier 1638755 1638772 - ColonToken 1638772 1638774 - Identifier 1638774 1638779 - Identifier 1638780 1638786 - IfStatement 1638789 1639480 - Identifier 1638803 1638819 - Block 1638820 1639480 - SwitchStatement 1638822 1639469 - Identifier 1638844 1638849 - CaseBlock 1638850 1639469 - CaseClause 1638852 1639033 - PropertyAccessExpression 1638874 1638896 - Identifier 1638874 1638884 - Identifier 1638885 1638896 - ReturnStatement 1638897 1639033 - CallExpression 1638925 1639032 - Identifier 1638925 1638954 - Identifier 1638955 1638962 - PropertyAccessExpression 1638963 1638985 - Identifier 1638963 1638973 - Identifier 1638974 1638985 - PropertyAccessExpression 1638986 1639003 - Identifier 1638986 1638996 - Identifier 1638997 1639003 - PropertyAccessExpression 1639004 1639021 - Identifier 1639004 1639014 - Identifier 1639015 1639021 - Identifier 1639022 1639031 - CaseClause 1639033 1639219 - PropertyAccessExpression 1639055 1639072 - Identifier 1639055 1639065 - Identifier 1639066 1639072 - ReturnStatement 1639073 1639219 - CallExpression 1639101 1639218 - Identifier 1639101 1639130 - Identifier 1639131 1639138 - PropertyAccessExpression 1639139 1639156 - Identifier 1639139 1639149 - Identifier 1639150 1639156 - PropertyAccessExpression 1639157 1639179 - Identifier 1639157 1639167 - Identifier 1639168 1639179 - PropertyAccessExpression 1639180 1639202 - Identifier 1639180 1639190 - Identifier 1639191 1639202 - Identifier 1639203 1639217 - CaseClause 1639219 1639270 - PropertyAccessExpression 1639241 1639269 - Identifier 1639241 1639251 - Identifier 1639252 1639269 - CaseClause 1639270 1639454 - PropertyAccessExpression 1639292 1639309 - Identifier 1639292 1639302 - Identifier 1639303 1639309 - ReturnStatement 1639310 1639454 - CallExpression 1639338 1639453 - Identifier 1639338 1639346 - Identifier 1639347 1639354 - ArrowFunction 1639355 1639452 - Parameter 1639355 1639357 - Identifier 1639355 1639357 - EqualsGreaterThanToken 1639357 1639360 - ConditionalExpression 1639360 1639452 - CallExpression 1639360 1639405 - Identifier 1639360 1639373 - Identifier 1639374 1639375 - PropertyAccessExpression 1639376 1639404 - Identifier 1639376 1639386 - Identifier 1639387 1639404 - QuestionToken 1639405 1639407 - CallExpression 1639407 1639448 - Identifier 1639407 1639445 - Identifier 1639446 1639447 - ColonToken 1639448 1639450 - Identifier 1639450 1639452 - ReturnStatement 1639480 1639505 - Identifier 1639496 1639504 - FunctionDeclaration 1639512 1640620 - Identifier 1639528 1639557 - Parameter 1639558 1639568 - Identifier 1639558 1639562 - TypeReference 1639563 1639568 - Identifier 1639563 1639568 - Parameter 1639569 1639592 - Identifier 1639569 1639581 - TypeReference 1639582 1639592 - Identifier 1639582 1639592 - Parameter 1639593 1639615 - Identifier 1639593 1639604 - TypeReference 1639605 1639615 - Identifier 1639605 1639615 - Parameter 1639616 1639646 - Identifier 1639616 1639635 - TypeReference 1639636 1639646 - Identifier 1639636 1639646 - Parameter 1639647 1639663 - Identifier 1639647 1639657 - TypeReference 1639658 1639663 - Identifier 1639658 1639663 - Block 1639664 1640620 - VariableStatement 1639666 1639794 - VariableDeclarationList 1639666 1639793 - VariableDeclaration 1639681 1639793 - Identifier 1639681 1639687 - CallExpression 1639689 1639793 - Identifier 1639689 1639702 - Identifier 1639703 1639707 - BinaryExpression 1639708 1639792 - BinaryExpression 1639708 1639773 - BinaryExpression 1639708 1639749 - PropertyAccessExpression 1639708 1639730 - Identifier 1639708 1639718 - Identifier 1639719 1639730 - BarToken 1639730 1639732 - PropertyAccessExpression 1639732 1639749 - Identifier 1639732 1639742 - Identifier 1639743 1639749 - BarToken 1639749 1639751 - PropertyAccessExpression 1639751 1639773 - Identifier 1639751 1639761 - Identifier 1639762 1639773 - BarToken 1639773 1639775 - PropertyAccessExpression 1639775 1639792 - Identifier 1639775 1639785 - Identifier 1639786 1639792 - IfStatement 1639794 1639956 - PrefixUnaryExpression 1639894 1639916 - ParenthesizedExpression 1639895 1639916 - BinaryExpression 1639896 1639915 - Identifier 1639896 1639901 - AmpersandToken 1639901 1639903 - Identifier 1639903 1639915 - Block 1639917 1639956 - ReturnStatement 1639919 1639945 - Identifier 1639939 1639944 - VariableStatement 1639956 1640118 - VariableDeclarationList 1639956 1640117 - VariableDeclaration 1640053 1640117 - Identifier 1640053 1640072 - CallExpression 1640074 1640117 - Identifier 1640074 1640087 - ArrayLiteralExpression 1640088 1640116 - Identifier 1640089 1640104 - Identifier 1640105 1640115 - ReturnStatement 1640118 1640613 - CallExpression 1640431 1640612 - Identifier 1640431 1640439 - Identifier 1640440 1640444 - ArrowFunction 1640445 1640611 - Parameter 1640445 1640447 - Identifier 1640445 1640447 - EqualsGreaterThanToken 1640447 1640450 - ConditionalExpression 1640450 1640611 - CallExpression 1640450 1640479 - Identifier 1640450 1640463 - Identifier 1640464 1640465 - Identifier 1640466 1640478 - QuestionToken 1640479 1640481 - CallExpression 1640481 1640607 - Identifier 1640481 1640501 - ArrayLiteralExpression 1640502 1640606 - Identifier 1640503 1640504 - ConditionalExpression 1640505 1640605 - BinaryExpression 1640505 1640566 - PrefixUnaryExpression 1640505 1640535 - ParenthesizedExpression 1640507 1640535 - BinaryExpression 1640508 1640534 - Identifier 1640508 1640513 - AmpersandToken 1640513 1640515 - Identifier 1640515 1640534 - AmpersandAmpersandToken 1640535 1640538 - CallExpression 1640538 1640566 - Identifier 1640538 1640551 - Identifier 1640552 1640553 - Identifier 1640554 1640565 - QuestionToken 1640566 1640568 - Identifier 1640568 1640587 - ColonToken 1640587 1640589 - Identifier 1640589 1640605 - ColonToken 1640607 1640609 - Identifier 1640609 1640611 - FunctionDeclaration 1640620 1640742 - Identifier 1640636 1640657 - Parameter 1640658 1640668 - Identifier 1640658 1640662 - TypeReference 1640663 1640668 - Identifier 1640663 1640668 - Block 1640669 1640742 - ReturnStatement 1640671 1640735 - ConditionalExpression 1640687 1640734 - BinaryExpression 1640687 1640713 - Identifier 1640687 1640692 - EqualsEqualsEqualsToken 1640692 1640696 - Identifier 1640696 1640713 - QuestionToken 1640713 1640715 - Identifier 1640715 1640727 - ColonToken 1640727 1640729 - Identifier 1640729 1640734 - FunctionDeclaration 1640742 1640981 - Identifier 1640758 1640777 - Parameter 1640778 1640788 - Identifier 1640778 1640782 - TypeReference 1640783 1640788 - Identifier 1640783 1640788 - Parameter 1640789 1640819 - Identifier 1640789 1640807 - TypeReference 1640808 1640819 - Identifier 1640808 1640819 - Block 1640820 1640981 - ReturnStatement 1640822 1640974 - ConditionalExpression 1640838 1640973 - Identifier 1640838 1640856 - QuestionToken 1640856 1640858 - CallExpression 1640858 1640953 - Identifier 1640858 1640884 - ArrayLiteralExpression 1640885 1640952 - CallExpression 1640886 1640911 - Identifier 1640886 1640905 - Identifier 1640906 1640910 - CallExpression 1640912 1640951 - Identifier 1640912 1640932 - Identifier 1640933 1640950 - ColonToken 1640953 1640955 - Identifier 1640955 1640973 - FunctionDeclaration 1640981 1641410 - Identifier 1640997 1641027 - Parameter 1641028 1641038 - Identifier 1641028 1641032 - TypeReference 1641033 1641038 - Identifier 1641033 1641038 - Parameter 1641039 1641058 - Identifier 1641039 1641044 - TypeReference 1641045 1641058 - Identifier 1641045 1641058 - Block 1641059 1641410 - VariableStatement 1641061 1641125 - VariableDeclarationList 1641061 1641124 - VariableDeclaration 1641076 1641124 - Identifier 1641076 1641085 - CallExpression 1641087 1641124 - Identifier 1641087 1641118 - Identifier 1641119 1641123 - IfStatement 1641125 1641195 - PrefixUnaryExpression 1641139 1641176 - CallExpression 1641140 1641176 - Identifier 1641140 1641166 - Identifier 1641167 1641175 - ReturnStatement 1641177 1641195 - Identifier 1641184 1641194 - VariableStatement 1641195 1641252 - VariableDeclarationList 1641195 1641251 - VariableDeclaration 1641210 1641251 - Identifier 1641210 1641215 - CallExpression 1641217 1641251 - Identifier 1641217 1641241 - Identifier 1641242 1641250 - ReturnStatement 1641252 1641403 - BinaryExpression 1641268 1641402 - BinaryExpression 1641268 1641389 - CallExpression 1641268 1641304 - Identifier 1641268 1641292 - Identifier 1641293 1641297 - Identifier 1641298 1641303 - BarBarToken 1641304 1641307 - CallExpression 1641307 1641389 - Identifier 1641307 1641340 - PropertyAccessExpression 1641341 1641388 - CallExpression 1641341 1641382 - Identifier 1641341 1641370 - Identifier 1641371 1641375 - Identifier 1641376 1641381 - QuestionDotToken 1641382 1641384 - Identifier 1641384 1641388 - BarBarToken 1641389 1641392 - Identifier 1641392 1641402 - FunctionDeclaration 1641410 1641763 - Identifier 1641426 1641460 - Parameter 1641461 1641471 - Identifier 1641461 1641465 - TypeReference 1641466 1641471 - Identifier 1641466 1641471 - Parameter 1641472 1641486 - Identifier 1641472 1641478 - NumberKeyword 1641479 1641486 - Block 1641487 1641763 - ReturnStatement 1641489 1641756 - BinaryExpression 1641505 1641755 - BinaryExpression 1641505 1641729 - BinaryExpression 1641505 1641574 - CallExpression 1641505 1641538 - Identifier 1641505 1641515 - Identifier 1641516 1641520 - Identifier 1641521 1641537 - AmpersandAmpersandToken 1641538 1641541 - CallExpression 1641541 1641574 - Identifier 1641541 1641561 - Identifier 1641562 1641566 - Identifier 1641567 1641573 - BarBarToken 1641574 1641577 - CallExpression 1641577 1641729 - Identifier 1641577 1641623 - CallExpression 1641624 1641728 - Identifier 1641624 1641654 - PropertyAccessExpression 1641655 1641681 - Identifier 1641655 1641667 - Identifier 1641668 1641681 - Identifier 1641682 1641687 - Identifier 1641688 1641702 - Identifier 1641703 1641727 - BarBarToken 1641729 1641732 - Identifier 1641732 1641755 - FunctionDeclaration 1641763 1642023 - Identifier 1641779 1641812 - Parameter 1641813 1641835 - Identifier 1641813 1641817 - UnionType 1641818 1641835 - TypeReference 1641818 1641823 - Identifier 1641818 1641823 - UndefinedKeyword 1641825 1641835 - UnionType 1641837 1641854 - TypeReference 1641837 1641842 - Identifier 1641837 1641842 - UndefinedKeyword 1641844 1641854 - Block 1641854 1642023 - IfStatement 1641856 1641889 - PrefixUnaryExpression 1641870 1641875 - Identifier 1641871 1641875 - ReturnStatement 1641876 1641889 - Identifier 1641883 1641888 - ReturnStatement 1641889 1642016 - ConditionalExpression 1641905 1642015 - PropertyAccessExpression 1641905 1641946 - Identifier 1641905 1641921 - Identifier 1641922 1641946 - QuestionToken 1641946 1641948 - CallExpression 1641948 1641995 - Identifier 1641948 1641974 - ArrayLiteralExpression 1641975 1641994 - Identifier 1641976 1641980 - Identifier 1641981 1641993 - ColonToken 1641995 1641997 - Identifier 1641997 1642015 - FunctionDeclaration 1642023 1642250 - Identifier 1642039 1642077 - Parameter 1642078 1642088 - Identifier 1642078 1642082 - TypeReference 1642083 1642088 - Identifier 1642083 1642088 - Block 1642089 1642250 - ReturnStatement 1642091 1642243 - CallExpression 1642107 1642242 - Identifier 1642107 1642123 - BinaryExpression 1642124 1642241 - CallExpression 1642124 1642228 - Identifier 1642124 1642154 - PropertyAccessExpression 1642155 1642181 - Identifier 1642155 1642167 - Identifier 1642168 1642181 - Identifier 1642182 1642187 - Identifier 1642188 1642202 - Identifier 1642203 1642227 - BarBarToken 1642228 1642231 - Identifier 1642231 1642241 - FunctionDeclaration 1642250 1642781 - Identifier 1642266 1642300 - Parameter 1642301 1642323 - Identifier 1642301 1642305 - TypeReference 1642306 1642323 - Identifier 1642306 1642323 - TypeReference 1642325 1642330 - Identifier 1642325 1642330 - Block 1642330 1642781 - VariableStatement 1642332 1642608 - VariableDeclarationList 1642332 1642607 - VariableDeclaration 1642347 1642607 - Identifier 1642347 1642380 - BinaryExpression 1642382 1642607 - BinaryExpression 1642382 1642485 - BinaryExpression 1642382 1642437 - PropertyAccessExpression 1642382 1642399 - PropertyAccessExpression 1642382 1642394 - Identifier 1642382 1642387 - Identifier 1642388 1642394 - Identifier 1642395 1642399 - EqualsEqualsEqualsToken 1642399 1642403 - PropertyAccessExpression 1642403 1642437 - Identifier 1642403 1642414 - Identifier 1642415 1642437 - AmpersandAmpersandToken 1642437 1642440 - CallExpression 1642440 1642485 - Identifier 1642440 1642472 - PropertyAccessExpression 1642473 1642484 - Identifier 1642473 1642477 - Identifier 1642478 1642484 - BarBarToken 1642485 1642488 - BinaryExpression 1642488 1642607 - BinaryExpression 1642488 1642552 - PropertyAccessExpression 1642488 1642518 - PropertyAccessExpression 1642488 1642513 - Identifier 1642488 1642506 - Identifier 1642507 1642513 - Identifier 1642514 1642518 - EqualsEqualsEqualsToken 1642518 1642522 - PropertyAccessExpression 1642522 1642552 - Identifier 1642522 1642533 - Identifier 1642534 1642552 - AmpersandAmpersandToken 1642552 1642555 - CallExpression 1642555 1642607 - Identifier 1642555 1642587 - PropertyAccessExpression 1642588 1642606 - PropertyAccessExpression 1642588 1642599 - Identifier 1642588 1642592 - Identifier 1642593 1642599 - Identifier 1642600 1642606 - ReturnStatement 1642608 1642774 - ConditionalExpression 1642624 1642773 - Identifier 1642624 1642657 - QuestionToken 1642657 1642659 - CallExpression 1642659 1642726 - Identifier 1642659 1642691 - CallExpression 1642692 1642713 - Identifier 1642692 1642707 - Identifier 1642708 1642712 - PropertyAccessExpression 1642714 1642725 - Identifier 1642714 1642719 - Identifier 1642720 1642725 - ColonToken 1642726 1642728 - CallExpression 1642728 1642773 - Identifier 1642728 1642761 - PropertyAccessExpression 1642762 1642772 - Identifier 1642762 1642766 - Identifier 1642767 1642772 - FunctionDeclaration 1642781 1643100 - Identifier 1642797 1642829 - Parameter 1642830 1642842 - Identifier 1642830 1642836 - TypeReference 1642837 1642842 - Identifier 1642837 1642842 - Block 1642843 1643100 - ReturnStatement 1642845 1643093 - BinaryExpression 1642861 1643092 - BinaryExpression 1642861 1642967 - BinaryExpression 1642861 1642912 - PropertyAccessExpression 1642861 1642880 - PropertyAccessExpression 1642861 1642875 - Identifier 1642861 1642868 - Identifier 1642869 1642875 - Identifier 1642876 1642880 - EqualsEqualsEqualsToken 1642880 1642884 - PropertyAccessExpression 1642884 1642912 - Identifier 1642884 1642895 - Identifier 1642896 1642912 - AmpersandAmpersandToken 1642912 1642915 - BinaryExpression 1642915 1642967 - PropertyAccessExpression 1642915 1642956 - ParenthesizedExpression 1642915 1642951 - AsExpression 1642917 1642950 - PropertyAccessExpression 1642917 1642930 - Identifier 1642917 1642923 - Identifier 1642924 1642930 - TypeReference 1642933 1642950 - Identifier 1642933 1642950 - Identifier 1642952 1642956 - EqualsEqualsEqualsToken 1642956 1642960 - Identifier 1642960 1642967 - BarBarToken 1642967 1642970 - BinaryExpression 1642970 1643092 - BinaryExpression 1642970 1643032 - PropertyAccessExpression 1642970 1643002 - PropertyAccessExpression 1642970 1642997 - Identifier 1642970 1642990 - Identifier 1642991 1642997 - Identifier 1642998 1643002 - EqualsEqualsEqualsToken 1643002 1643006 - PropertyAccessExpression 1643006 1643032 - Identifier 1643006 1643017 - Identifier 1643018 1643032 - AmpersandAmpersandToken 1643032 1643035 - BinaryExpression 1643035 1643092 - PropertyAccessExpression 1643035 1643081 - ParenthesizedExpression 1643035 1643069 - AsExpression 1643037 1643068 - PropertyAccessExpression 1643037 1643050 - Identifier 1643037 1643043 - Identifier 1643044 1643050 - TypeReference 1643053 1643068 - Identifier 1643053 1643068 - Identifier 1643070 1643081 - EqualsEqualsEqualsToken 1643081 1643085 - Identifier 1643085 1643092 - FunctionDeclaration 1643100 1643325 - Identifier 1643116 1643153 - Parameter 1643154 1643182 - Identifier 1643154 1643158 - TypeReference 1643159 1643182 - Identifier 1643159 1643182 - Parameter 1643183 1643203 - Identifier 1643183 1643191 - TypeReference 1643192 1643203 - Identifier 1643192 1643203 - TypeReference 1643205 1643210 - Identifier 1643205 1643210 - Block 1643210 1643325 - ReturnStatement 1643212 1643318 - CallExpression 1643228 1643317 - Identifier 1643228 1643262 - CallExpression 1643263 1643284 - Identifier 1643263 1643278 - Identifier 1643279 1643283 - CallExpression 1643285 1643316 - PropertyAccessExpression 1643285 1643307 - PropertyAccessExpression 1643285 1643299 - Identifier 1643285 1643290 - Identifier 1643291 1643299 - Identifier 1643300 1643307 - Identifier 1643308 1643315 - FunctionDeclaration 1643325 1643522 - Identifier 1643341 1643375 - Parameter 1643376 1643395 - Identifier 1643376 1643380 - TypeReference 1643381 1643395 - Identifier 1643381 1643395 - TypeReference 1643397 1643402 - Identifier 1643397 1643402 - Block 1643402 1643522 - ReturnStatement 1643404 1643515 - CallExpression 1643420 1643514 - Identifier 1643420 1643458 - CallExpression 1643459 1643513 - Identifier 1643459 1643474 - AsExpression 1643475 1643512 - PropertyAccessExpression 1643475 1643486 - Identifier 1643475 1643479 - Identifier 1643480 1643486 - TypeReference 1643489 1643512 - Identifier 1643489 1643512 - FunctionDeclaration 1643522 1643733 - Identifier 1643538 1643574 - Parameter 1643575 1643629 - Identifier 1643575 1643579 - UnionType 1643580 1643629 - TypeReference 1643580 1643599 - Identifier 1643580 1643599 - TypeReference 1643601 1643629 - Identifier 1643601 1643629 - TypeReference 1643631 1643636 - Identifier 1643631 1643636 - Block 1643636 1643733 - ReturnStatement 1643638 1643726 - CallExpression 1643654 1643725 - Identifier 1643654 1643684 - CallExpression 1643685 1643713 - Identifier 1643685 1643700 - PropertyAccessExpression 1643701 1643712 - Identifier 1643701 1643705 - Identifier 1643706 1643712 - PropertyAccessExpression 1643714 1643724 - Identifier 1643714 1643719 - Identifier 1643720 1643724 - FunctionDeclaration 1643733 1643958 - Identifier 1643749 1643794 - Parameter 1643795 1643828 - Identifier 1643795 1643799 - TypeReference 1643800 1643828 - Identifier 1643800 1643828 - TypeReference 1643830 1643835 - Identifier 1643830 1643835 - Block 1643835 1643958 - ReturnStatement 1643837 1643951 - CallExpression 1643853 1643950 - Identifier 1643853 1643872 - CallExpression 1643873 1643914 - Identifier 1643873 1643908 - Identifier 1643909 1643913 - NonNullExpression 1643915 1643949 - PropertyAccessExpression 1643915 1643948 - Identifier 1643915 1643920 - Identifier 1643921 1643948 - FunctionDeclaration 1643958 1645153 - Identifier 1643974 1643990 - Parameter 1643991 1644007 - Identifier 1643991 1643995 - TypeReference 1643996 1644007 - Identifier 1643996 1644007 - TypeReference 1644009 1644014 - Identifier 1644009 1644014 - Block 1644014 1645153 - VariableStatement 1644016 1644050 - VariableDeclarationList 1644016 1644049 - VariableDeclaration 1644031 1644049 - ObjectBindingPattern 1644031 1644042 - BindingElement 1644033 1644040 - Identifier 1644033 1644040 - Identifier 1644044 1644049 - SwitchStatement 1644050 1645119 - PropertyAccessExpression 1644068 1644079 - Identifier 1644068 1644074 - Identifier 1644075 1644079 - CaseBlock 1644080 1645119 - CaseClause 1644082 1644163 - PropertyAccessExpression 1644100 1644126 - Identifier 1644100 1644111 - Identifier 1644112 1644126 - ReturnStatement 1644127 1644163 - Identifier 1644151 1644162 - CaseClause 1644163 1644298 - PropertyAccessExpression 1644181 1644207 - Identifier 1644181 1644192 - Identifier 1644193 1644207 - ReturnStatement 1644208 1644298 - BinaryExpression 1644232 1644297 - CallExpression 1644232 1644284 - Identifier 1644232 1644258 - AsExpression 1644259 1644283 - Identifier 1644259 1644265 - TypeReference 1644268 1644283 - Identifier 1644268 1644283 - BarBarToken 1644284 1644287 - Identifier 1644287 1644297 - CaseClause 1644298 1644432 - PropertyAccessExpression 1644316 1644344 - Identifier 1644316 1644327 - Identifier 1644328 1644344 - ReturnStatement 1644345 1644432 - CallExpression 1644369 1644431 - Identifier 1644369 1644403 - AsExpression 1644404 1644430 - Identifier 1644404 1644410 - TypeReference 1644413 1644430 - Identifier 1644413 1644430 - CaseClause 1644432 1644518 - PropertyAccessExpression 1644450 1644478 - Identifier 1644450 1644461 - Identifier 1644462 1644478 - ReturnStatement 1644479 1644518 - Identifier 1644503 1644517 - CaseClause 1644518 1644673 - PropertyAccessExpression 1644536 1644570 - Identifier 1644536 1644547 - Identifier 1644548 1644570 - ReturnStatement 1644571 1644673 - CallExpression 1644595 1644672 - Identifier 1644595 1644632 - AsExpression 1644633 1644665 - Identifier 1644633 1644639 - TypeReference 1644642 1644665 - Identifier 1644642 1644665 - Identifier 1644666 1644671 - CaseClause 1644673 1644801 - PropertyAccessExpression 1644691 1644716 - Identifier 1644691 1644702 - Identifier 1644703 1644716 - ReturnStatement 1644717 1644801 - CallExpression 1644741 1644800 - Identifier 1644741 1644775 - AsExpression 1644776 1644799 - Identifier 1644776 1644782 - TypeReference 1644785 1644799 - Identifier 1644785 1644799 - CaseClause 1644801 1644941 - PropertyAccessExpression 1644819 1644849 - Identifier 1644819 1644830 - Identifier 1644831 1644849 - ReturnStatement 1644850 1644941 - CallExpression 1644874 1644940 - Identifier 1644874 1644910 - AsExpression 1644911 1644939 - Identifier 1644911 1644917 - TypeReference 1644920 1644939 - Identifier 1644920 1644939 - CaseClause 1644941 1645108 - PropertyAccessExpression 1644959 1644998 - Identifier 1644959 1644970 - Identifier 1644971 1644998 - ReturnStatement 1644999 1645108 - CallExpression 1645023 1645107 - Identifier 1645023 1645068 - AsExpression 1645069 1645106 - Identifier 1645069 1645075 - TypeReference 1645078 1645106 - Identifier 1645078 1645106 - ReturnStatement 1645119 1645146 - Identifier 1645135 1645145 - FunctionDeclaration 1645153 1645805 - Identifier 1645169 1645200 - Parameter 1645201 1645221 - Identifier 1645201 1645205 - TypeReference 1645206 1645221 - Identifier 1645206 1645221 - TypeReference 1645223 1645228 - Identifier 1645223 1645228 - Block 1645228 1645805 - VariableStatement 1645230 1645268 - VariableDeclarationList 1645230 1645267 - VariableDeclaration 1645245 1645267 - Identifier 1645245 1645253 - PropertyAccessExpression 1645255 1645267 - Identifier 1645255 1645260 - Identifier 1645261 1645267 - VariableStatement 1645268 1645368 - VariableDeclarationList 1645268 1645367 - VariableDeclaration 1645283 1645367 - Identifier 1645283 1645294 - CallExpression 1645296 1645367 - Identifier 1645296 1645311 - AsExpression 1645312 1645366 - PropertyAccessExpression 1645312 1645326 - Identifier 1645312 1645319 - Identifier 1645320 1645326 - UnionType 1645329 1645366 - TypeReference 1645329 1645349 - Identifier 1645329 1645349 - TypeReference 1645351 1645366 - Identifier 1645351 1645366 - VariableStatement 1645368 1645737 - VariableDeclarationList 1645368 1645736 - VariableDeclaration 1645383 1645736 - Identifier 1645383 1645388 - ConditionalExpression 1645390 1645736 - BinaryExpression 1645390 1645439 - PropertyAccessExpression 1645390 1645403 - Identifier 1645390 1645398 - Identifier 1645399 1645403 - EqualsEqualsEqualsToken 1645403 1645407 - PropertyAccessExpression 1645407 1645439 - Identifier 1645407 1645418 - Identifier 1645419 1645439 - QuestionToken 1645439 1645441 - CallExpression 1645441 1645542 - Identifier 1645441 1645484 - Identifier 1645485 1645495 - BinaryExpression 1645496 1645541 - PropertyAccessExpression 1645496 1645514 - Identifier 1645496 1645501 - Identifier 1645502 1645514 - BarBarToken 1645514 1645517 - AsExpression 1645517 1645541 - PropertyAccessExpression 1645517 1645527 - Identifier 1645517 1645522 - Identifier 1645523 1645527 - TypeReference 1645530 1645541 - Identifier 1645530 1645541 - ColonToken 1645542 1645544 - ConditionalExpression 1645544 1645736 - PrefixUnaryExpression 1645544 1645578 - PropertyAccessExpression 1645559 1645578 - Identifier 1645559 1645563 - Identifier 1645564 1645578 - QuestionToken 1645578 1645580 - CallExpression 1645580 1645671 - Identifier 1645580 1645627 - Identifier 1645628 1645638 - CallExpression 1645639 1645670 - PropertyAccessExpression 1645639 1645664 - PropertyAccessExpression 1645639 1645656 - Identifier 1645639 1645647 - Identifier 1645648 1645656 - Identifier 1645657 1645664 - Identifier 1645665 1645669 - ColonToken 1645671 1645673 - CallExpression 1645673 1645736 - Identifier 1645673 1645724 - Identifier 1645725 1645735 - ReturnStatement 1645737 1645798 - CallExpression 1645753 1645797 - Identifier 1645753 1645772 - Identifier 1645773 1645777 - NonNullExpression 1645778 1645796 - PropertyAccessExpression 1645778 1645795 - Identifier 1645778 1645783 - Identifier 1645784 1645795 - FunctionDeclaration 1645805 1646241 - Identifier 1645821 1645842 - Parameter 1645843 1645859 - Identifier 1645843 1645847 - TypeReference 1645848 1645859 - Identifier 1645848 1645859 - Block 1645860 1646241 - VariableStatement 1645862 1646169 - VariableDeclarationList 1645862 1646168 - VariableDeclaration 1646141 1646168 - Identifier 1646141 1646147 - CallExpression 1646149 1646168 - Identifier 1646149 1646162 - Identifier 1646163 1646167 - ReturnStatement 1646169 1646234 - BinaryExpression 1646185 1646233 - PropertyAccessExpression 1646185 1646204 - Identifier 1646185 1646191 - Identifier 1646192 1646204 - BarBarToken 1646204 1646207 - CallExpression 1646207 1646233 - Identifier 1646207 1646227 - Identifier 1646228 1646232 - FunctionDeclaration 1646241 1646734 - Identifier 1646257 1646293 - Parameter 1646294 1646319 - Identifier 1646294 1646298 - TypeReference 1646299 1646319 - Identifier 1646299 1646319 - Block 1646320 1646734 - IfStatement 1646322 1646426 - PropertyAccessExpression 1646336 1646352 - Identifier 1646336 1646340 - Identifier 1646341 1646352 - Block 1646353 1646426 - ReturnStatement 1646355 1646415 - CallExpression 1646375 1646414 - Identifier 1646375 1646396 - PropertyAccessExpression 1646397 1646413 - Identifier 1646397 1646401 - Identifier 1646402 1646413 - IfStatement 1646426 1646539 - BinaryExpression 1646440 1646493 - PropertyAccessExpression 1646440 1646463 - PropertyAccessExpression 1646440 1646458 - PropertyAccessExpression 1646440 1646451 - Identifier 1646440 1646444 - Identifier 1646445 1646451 - Identifier 1646452 1646458 - Identifier 1646459 1646463 - EqualsEqualsEqualsToken 1646463 1646467 - PropertyAccessExpression 1646467 1646493 - Identifier 1646467 1646478 - Identifier 1646479 1646493 - Block 1646494 1646539 - ReturnStatement 1646496 1646528 - Identifier 1646516 1646527 - IfStatement 1646539 1646700 - BinaryExpression 1646553 1646606 - PropertyAccessExpression 1646553 1646576 - PropertyAccessExpression 1646553 1646571 - PropertyAccessExpression 1646553 1646564 - Identifier 1646553 1646557 - Identifier 1646558 1646564 - Identifier 1646565 1646571 - Identifier 1646572 1646576 - EqualsEqualsEqualsToken 1646576 1646580 - PropertyAccessExpression 1646580 1646606 - Identifier 1646580 1646591 - Identifier 1646592 1646606 - Block 1646607 1646700 - ReturnStatement 1646609 1646689 - BinaryExpression 1646629 1646688 - CallExpression 1646629 1646675 - Identifier 1646629 1646655 - PropertyAccessExpression 1646656 1646674 - PropertyAccessExpression 1646656 1646667 - Identifier 1646656 1646660 - Identifier 1646661 1646667 - Identifier 1646668 1646674 - BarBarToken 1646675 1646678 - Identifier 1646678 1646688 - ReturnStatement 1646700 1646727 - Identifier 1646716 1646726 - FunctionDeclaration 1646734 1646989 - Identifier 1646750 1646765 - Parameter 1646766 1646808 - Identifier 1646766 1646770 - UnionType 1646771 1646808 - TypeReference 1646771 1646791 - Identifier 1646771 1646791 - TypeReference 1646793 1646808 - Identifier 1646793 1646808 - Block 1646809 1646989 - ReturnStatement 1646811 1646982 - ConditionalExpression 1646827 1646981 - BinaryExpression 1646827 1646872 - PropertyAccessExpression 1646827 1646837 - Identifier 1646827 1646832 - Identifier 1646833 1646837 - EqualsEqualsEqualsToken 1646837 1646841 - PropertyAccessExpression 1646841 1646872 - Identifier 1646841 1646852 - Identifier 1646853 1646872 - QuestionToken 1646872 1646874 - CallExpression 1646874 1646929 - Identifier 1646874 1646923 - Identifier 1646924 1646928 - ColonToken 1646929 1646931 - CallExpression 1646931 1646981 - Identifier 1646931 1646975 - Identifier 1646976 1646980 - FunctionDeclaration 1646989 1647474 - Identifier 1647005 1647028 - Parameter 1647029 1647084 - Identifier 1647029 1647033 - UnionType 1647034 1647084 - TypeReference 1647034 1647054 - Identifier 1647034 1647054 - TypeReference 1647056 1647071 - Identifier 1647056 1647071 - TypeReference 1647073 1647084 - Identifier 1647073 1647084 - Block 1647085 1647474 - ReturnStatement 1647087 1647467 - BinaryExpression 1647103 1647466 - BinaryExpression 1647103 1647277 - BinaryExpression 1647103 1647193 - BinaryExpression 1647103 1647148 - PropertyAccessExpression 1647103 1647113 - Identifier 1647103 1647108 - Identifier 1647109 1647113 - EqualsEqualsEqualsToken 1647113 1647117 - PropertyAccessExpression 1647117 1647148 - Identifier 1647117 1647128 - Identifier 1647129 1647148 - AmpersandAmpersandToken 1647148 1647151 - PropertyAccessExpression 1647151 1647193 - ParenthesizedExpression 1647151 1647181 - AsExpression 1647153 1647180 - Identifier 1647153 1647157 - TypeReference 1647160 1647180 - Identifier 1647160 1647180 - Identifier 1647182 1647193 - AmpersandAmpersandToken 1647193 1647196 - CallExpression 1647196 1647277 - Identifier 1647196 1647233 - NonNullExpression 1647234 1647276 - PropertyAccessExpression 1647234 1647275 - ParenthesizedExpression 1647234 1647263 - AsExpression 1647235 1647262 - Identifier 1647235 1647239 - TypeReference 1647242 1647262 - Identifier 1647242 1647262 - Identifier 1647264 1647275 - BarBarToken 1647277 1647280 - BinaryExpression 1647280 1647466 - BinaryExpression 1647280 1647385 - BinaryExpression 1647280 1647333 - PropertyAccessExpression 1647280 1647303 - Identifier 1647280 1647298 - Identifier 1647299 1647303 - ExclamationEqualsEqualsToken 1647303 1647307 - PropertyAccessExpression 1647307 1647333 - Identifier 1647307 1647318 - Identifier 1647319 1647333 - AmpersandAmpersandToken 1647333 1647336 - BinaryExpression 1647336 1647385 - PropertyAccessExpression 1647336 1647353 - PropertyAccessExpression 1647336 1647348 - Identifier 1647336 1647341 - Identifier 1647342 1647348 - Identifier 1647349 1647353 - EqualsEqualsEqualsToken 1647353 1647357 - PropertyAccessExpression 1647357 1647385 - Identifier 1647357 1647368 - Identifier 1647369 1647385 - AmpersandAmpersandToken 1647385 1647388 - CallExpression 1647388 1647466 - Identifier 1647388 1647425 - PropertyAccessExpression 1647426 1647465 - ParenthesizedExpression 1647426 1647459 - AsExpression 1647427 1647458 - PropertyAccessExpression 1647427 1647438 - Identifier 1647427 1647431 - Identifier 1647432 1647438 - TypeReference 1647441 1647458 - Identifier 1647441 1647458 - Identifier 1647460 1647465 - FunctionDeclaration 1647474 1648367 - Identifier 1647490 1647512 - Parameter 1647513 1647529 - Identifier 1647513 1647517 - TypeReference 1647518 1647529 - Identifier 1647518 1647529 - TypeReference 1647531 1647542 - Identifier 1647531 1647542 - Block 1647542 1648367 - SwitchStatement 1647544 1648338 - PropertyAccessExpression 1647562 1647571 - Identifier 1647562 1647566 - Identifier 1647567 1647571 - CaseBlock 1647572 1648338 - CaseClause 1647574 1647721 - PropertyAccessExpression 1647592 1647627 - Identifier 1647592 1647603 - Identifier 1647604 1647627 - ReturnStatement 1647628 1647721 - CallExpression 1647652 1647720 - Identifier 1647652 1647674 - PropertyAccessExpression 1647675 1647719 - ParenthesizedExpression 1647675 1647708 - AsExpression 1647676 1647707 - Identifier 1647676 1647680 - TypeReference 1647683 1647707 - Identifier 1647683 1647707 - Identifier 1647709 1647719 - CaseClause 1647721 1648327 - PropertyAccessExpression 1647739 1647767 - Identifier 1647739 1647750 - Identifier 1647751 1647767 - SwitchStatement 1647768 1648327 - PropertyAccessExpression 1647794 1647839 - PropertyAccessExpression 1647794 1647834 - ParenthesizedExpression 1647794 1647820 - AsExpression 1647795 1647819 - Identifier 1647795 1647799 - TypeReference 1647802 1647819 - Identifier 1647802 1647819 - Identifier 1647821 1647834 - Identifier 1647835 1647839 - CaseBlock 1647840 1648327 - CaseClause 1647842 1647892 - PropertyAccessExpression 1647868 1647891 - Identifier 1647868 1647879 - Identifier 1647880 1647891 - CaseClause 1647892 1647948 - PropertyAccessExpression 1647918 1647947 - Identifier 1647918 1647929 - Identifier 1647930 1647947 - CaseClause 1647948 1648016 - PropertyAccessExpression 1647974 1648015 - Identifier 1647974 1647985 - Identifier 1647986 1648015 - CaseClause 1648016 1648170 - PropertyAccessExpression 1648042 1648081 - Identifier 1648042 1648053 - Identifier 1648054 1648081 - ReturnStatement 1648082 1648170 - CallExpression 1648114 1648169 - Identifier 1648114 1648136 - PropertyAccessExpression 1648137 1648168 - ParenthesizedExpression 1648137 1648163 - AsExpression 1648138 1648162 - Identifier 1648138 1648142 - TypeReference 1648145 1648162 - Identifier 1648145 1648162 - Identifier 1648164 1648168 - CaseClause 1648170 1648308 - PropertyAccessExpression 1648196 1648218 - Identifier 1648196 1648207 - Identifier 1648208 1648218 - ReturnStatement 1648219 1648308 - CallExpression 1648251 1648307 - Identifier 1648251 1648273 - PropertyAccessExpression 1648274 1648306 - ParenthesizedExpression 1648274 1648300 - AsExpression 1648275 1648299 - Identifier 1648275 1648279 - TypeReference 1648282 1648299 - Identifier 1648282 1648299 - Identifier 1648301 1648306 - ReturnStatement 1648338 1648360 - Identifier 1648354 1648359 - FunctionDeclaration 1648367 1648952 - Identifier 1648383 1648400 - Parameter 1648401 1648411 - Identifier 1648401 1648405 - TypeReference 1648406 1648411 - Identifier 1648406 1648411 - TypeReference 1648413 1648418 - Identifier 1648413 1648418 - Block 1648418 1648952 - VariableStatement 1648420 1648454 - VariableDeclarationList 1648420 1648453 - VariableDeclaration 1648435 1648453 - ObjectBindingPattern 1648435 1648446 - BindingElement 1648437 1648444 - Identifier 1648437 1648444 - Identifier 1648448 1648453 - ReturnStatement 1648454 1648945 - ConditionalExpression 1648470 1648944 - BinaryExpression 1648470 1648897 - BinaryExpression 1648470 1648709 - BinaryExpression 1648470 1648521 - PropertyAccessExpression 1648470 1648482 - Identifier 1648470 1648477 - Identifier 1648478 1648482 - EqualsEqualsEqualsToken 1648482 1648486 - PropertyAccessExpression 1648486 1648521 - Identifier 1648486 1648497 - Identifier 1648498 1648521 - BarBarToken 1648521 1648524 - BinaryExpression 1648524 1648709 - BinaryExpression 1648524 1648663 - BinaryExpression 1648524 1648585 - PropertyAccessExpression 1648524 1648553 - Identifier 1648524 1648548 - Identifier 1648549 1648553 - EqualsEqualsEqualsToken 1648553 1648557 - PropertyAccessExpression 1648557 1648585 - Identifier 1648557 1648568 - Identifier 1648569 1648585 - AmpersandAmpersandToken 1648585 1648588 - BinaryExpression 1648588 1648663 - PropertyAccessExpression 1648588 1648636 - PropertyAccessExpression 1648588 1648631 - ParenthesizedExpression 1648588 1648617 - AsExpression 1648590 1648616 - Identifier 1648590 1648596 - TypeReference 1648599 1648616 - Identifier 1648599 1648616 - Identifier 1648618 1648631 - Identifier 1648632 1648636 - EqualsEqualsEqualsToken 1648636 1648640 - PropertyAccessExpression 1648640 1648663 - Identifier 1648640 1648651 - Identifier 1648652 1648663 - AmpersandAmpersandToken 1648663 1648666 - BinaryExpression 1648666 1648709 - PropertyAccessExpression 1648666 1648700 - ParenthesizedExpression 1648666 1648695 - AsExpression 1648668 1648694 - Identifier 1648668 1648674 - TypeReference 1648677 1648694 - Identifier 1648677 1648694 - Identifier 1648696 1648700 - EqualsEqualsEqualsToken 1648700 1648704 - Identifier 1648704 1648709 - BarBarToken 1648709 1648712 - BinaryExpression 1648712 1648897 - BinaryExpression 1648712 1648850 - BinaryExpression 1648712 1648773 - PropertyAccessExpression 1648712 1648741 - Identifier 1648712 1648736 - Identifier 1648737 1648741 - EqualsEqualsEqualsToken 1648741 1648745 - PropertyAccessExpression 1648745 1648773 - Identifier 1648745 1648756 - Identifier 1648757 1648773 - AmpersandAmpersandToken 1648773 1648776 - BinaryExpression 1648776 1648850 - PropertyAccessExpression 1648776 1648824 - PropertyAccessExpression 1648776 1648819 - ParenthesizedExpression 1648776 1648805 - AsExpression 1648778 1648804 - Identifier 1648778 1648784 - TypeReference 1648787 1648804 - Identifier 1648787 1648804 - Identifier 1648806 1648819 - Identifier 1648820 1648824 - EqualsEqualsEqualsToken 1648824 1648828 - PropertyAccessExpression 1648828 1648850 - Identifier 1648828 1648839 - Identifier 1648840 1648850 - AmpersandAmpersandToken 1648850 1648853 - BinaryExpression 1648853 1648897 - PropertyAccessExpression 1648853 1648888 - ParenthesizedExpression 1648853 1648882 - AsExpression 1648855 1648881 - Identifier 1648855 1648861 - TypeReference 1648864 1648881 - Identifier 1648864 1648881 - Identifier 1648883 1648888 - EqualsEqualsEqualsToken 1648888 1648892 - Identifier 1648892 1648897 - QuestionToken 1648897 1648899 - CallExpression 1648899 1648937 - Identifier 1648899 1648929 - Identifier 1648930 1648936 - ColonToken 1648937 1648939 - Identifier 1648939 1648944 - FunctionDeclaration 1648952 1649216 - Identifier 1648968 1648990 - Parameter 1648991 1649025 - Identifier 1648991 1648997 - UnionType 1648998 1649025 - TypeReference 1648998 1649009 - Identifier 1648998 1649009 - TypeReference 1649011 1649025 - Identifier 1649011 1649025 - Block 1649026 1649216 - IfStatement 1649028 1649182 - BinaryExpression 1649042 1649079 - PropertyAccessExpression 1649042 1649053 - Identifier 1649042 1649048 - Identifier 1649049 1649053 - EqualsEqualsEqualsToken 1649053 1649057 - PropertyAccessExpression 1649057 1649079 - Identifier 1649057 1649068 - Identifier 1649069 1649079 - Block 1649080 1649182 - ReturnStatement 1649082 1649171 - CallExpression 1649102 1649170 - Identifier 1649102 1649130 - CallExpression 1649131 1649169 - Identifier 1649131 1649150 - PropertyAccessExpression 1649151 1649168 - Identifier 1649151 1649157 - Identifier 1649158 1649168 - ReturnStatement 1649182 1649209 - Identifier 1649198 1649208 - FunctionDeclaration 1649216 1649634 - Identifier 1649232 1649253 - Parameter 1649254 1649286 - Identifier 1649254 1649269 - TypeReference 1649270 1649286 - Identifier 1649270 1649286 - ArrayType 1649288 1649295 - TypeReference 1649288 1649293 - Identifier 1649288 1649293 - Block 1649295 1649634 - VariableStatement 1649297 1649351 - VariableDeclarationList 1649297 1649350 - VariableDeclaration 1649312 1649350 - Identifier 1649312 1649318 - CallExpression 1649320 1649350 - Identifier 1649320 1649333 - Identifier 1649334 1649349 - IfStatement 1649351 1649592 - PrefixUnaryExpression 1649365 1649383 - PropertyAccessExpression 1649366 1649383 - Identifier 1649366 1649371 - Identifier 1649372 1649383 - Block 1649384 1649592 - ExpressionStatement 1649386 1649423 - BinaryExpression 1649386 1649422 - PropertyAccessExpression 1649386 1649417 - Identifier 1649386 1649405 - Identifier 1649406 1649417 - EqualsToken 1649417 1649419 - ArrayLiteralExpression 1649419 1649422 - ForOfStatement 1649423 1649581 - VariableDeclarationList 1649442 1649454 - VariableDeclaration 1649447 1649454 - Identifier 1649447 1649454 - PropertyAccessExpression 1649457 1649491 - PropertyAccessExpression 1649457 1649483 - Identifier 1649457 1649473 - Identifier 1649474 1649483 - Identifier 1649484 1649491 - Block 1649492 1649581 - ExpressionStatement 1649494 1649566 - CallExpression 1649494 1649565 - PropertyAccessExpression 1649494 1649534 - PropertyAccessExpression 1649494 1649529 - Identifier 1649494 1649517 - Identifier 1649518 1649529 - Identifier 1649530 1649534 - CallExpression 1649535 1649564 - Identifier 1649535 1649556 - Identifier 1649557 1649563 - ReturnStatement 1649592 1649627 - PropertyAccessExpression 1649608 1649626 - Identifier 1649608 1649614 - Identifier 1649615 1649626 - FunctionDeclaration 1649634 1650552 - Identifier 1649883 1649914 - Parameter 1649915 1649947 - Identifier 1649915 1649930 - TypeReference 1649931 1649947 - Identifier 1649931 1649947 - UnionType 1649949 1649984 - ArrayType 1649949 1649972 - ParenthesizedType 1649949 1649970 - UnionType 1649951 1649969 - StringKeyword 1649951 1649957 - UndefinedKeyword 1649959 1649969 - UndefinedKeyword 1649974 1649984 - Block 1649984 1650552 - IfStatement 1649986 1650176 - CallExpression 1650000 1650131 - Identifier 1650000 1650004 - PropertyAccessExpression 1650005 1650038 - PropertyAccessExpression 1650005 1650030 - Identifier 1650005 1650020 - Identifier 1650021 1650030 - Identifier 1650031 1650038 - ArrowFunction 1650039 1650130 - Parameter 1650039 1650046 - Identifier 1650039 1650046 - EqualsGreaterThanToken 1650046 1650049 - BinaryExpression 1650049 1650130 - BinaryExpression 1650049 1650087 - PropertyAccessExpression 1650049 1650061 - Identifier 1650049 1650056 - Identifier 1650057 1650061 - EqualsEqualsEqualsToken 1650061 1650065 - PropertyAccessExpression 1650065 1650087 - Identifier 1650065 1650076 - Identifier 1650077 1650087 - AmpersandAmpersandToken 1650087 1650090 - PrefixUnaryExpression 1650090 1650130 - CallExpression 1650092 1650130 - Identifier 1650092 1650111 - PropertyAccessExpression 1650112 1650129 - Identifier 1650112 1650118 - Identifier 1650119 1650129 - Block 1650132 1650176 - ReturnStatement 1650134 1650165 - Identifier 1650154 1650164 - VariableStatement 1650176 1650231 - VariableDeclarationList 1650176 1650230 - VariableDeclaration 1650191 1650230 - Identifier 1650191 1650201 - ArrayType 1650202 1650225 - ParenthesizedType 1650202 1650223 - UnionType 1650204 1650222 - StringKeyword 1650204 1650210 - UndefinedKeyword 1650212 1650222 - ArrayLiteralExpression 1650227 1650230 - ForOfStatement 1650231 1650518 - VariableDeclarationList 1650246 1650258 - VariableDeclaration 1650251 1650258 - Identifier 1650251 1650258 - PropertyAccessExpression 1650261 1650295 - PropertyAccessExpression 1650261 1650287 - Identifier 1650261 1650277 - Identifier 1650278 1650287 - Identifier 1650288 1650295 - Block 1650296 1650518 - VariableStatement 1650298 1650423 - VariableDeclarationList 1650298 1650422 - VariableDeclaration 1650317 1650422 - Identifier 1650317 1650322 - ConditionalExpression 1650324 1650422 - BinaryExpression 1650324 1650362 - PropertyAccessExpression 1650324 1650336 - Identifier 1650324 1650331 - Identifier 1650332 1650336 - EqualsEqualsEqualsToken 1650336 1650340 - PropertyAccessExpression 1650340 1650362 - Identifier 1650340 1650351 - Identifier 1650352 1650362 - QuestionToken 1650362 1650364 - PropertyAccessExpression 1650364 1650410 - ParenthesizedExpression 1650364 1650405 - AsExpression 1650366 1650404 - PropertyAccessExpression 1650366 1650383 - Identifier 1650366 1650372 - Identifier 1650373 1650383 - TypeReference 1650386 1650404 - Identifier 1650386 1650404 - Identifier 1650406 1650410 - ColonToken 1650410 1650412 - Identifier 1650412 1650422 - ExpressionStatement 1650423 1650507 - CallExpression 1650423 1650506 - PropertyAccessExpression 1650423 1650451 - Identifier 1650423 1650446 - Identifier 1650447 1650451 - ConditionalExpression 1650452 1650505 - BinaryExpression 1650452 1650486 - Identifier 1650452 1650456 - AmpersandAmpersandToken 1650456 1650459 - PrefixUnaryExpression 1650459 1650486 - CallExpression 1650461 1650486 - Identifier 1650461 1650469 - Identifier 1650470 1650479 - Identifier 1650480 1650485 - QuestionToken 1650486 1650488 - Identifier 1650488 1650493 - ColonToken 1650493 1650495 - Identifier 1650495 1650505 - ReturnStatement 1650518 1650545 - Identifier 1650534 1650544 - FunctionDeclaration 1650552 1650766 - Identifier 1650568 1650588 - Parameter 1650589 1650601 - Identifier 1650589 1650595 - TypeReference 1650596 1650601 - Identifier 1650596 1650601 - Parameter 1650602 1650616 - Identifier 1650602 1650608 - ArrayType 1650609 1650616 - TypeReference 1650609 1650614 - Identifier 1650609 1650614 - Block 1650617 1650766 - ReturnStatement 1650619 1650759 - ConditionalExpression 1650635 1650758 - BinaryExpression 1650635 1650666 - PropertyAccessExpression 1650635 1650648 - Identifier 1650635 1650642 - Identifier 1650643 1650648 - AmpersandToken 1650648 1650650 - PropertyAccessExpression 1650650 1650666 - Identifier 1650650 1650660 - Identifier 1650661 1650666 - QuestionToken 1650666 1650668 - PrefixUnaryExpression 1650668 1650732 - CallExpression 1650670 1650732 - Identifier 1650670 1650677 - PropertyAccessExpression 1650678 1650705 - ParenthesizedExpression 1650678 1650699 - AsExpression 1650679 1650698 - Identifier 1650679 1650685 - TypeReference 1650688 1650698 - Identifier 1650688 1650698 - Identifier 1650700 1650705 - ArrowFunction 1650706 1650731 - Parameter 1650706 1650708 - Identifier 1650706 1650708 - EqualsGreaterThanToken 1650708 1650711 - PrefixUnaryExpression 1650711 1650731 - CallExpression 1650713 1650731 - Identifier 1650713 1650721 - Identifier 1650722 1650727 - Identifier 1650728 1650730 - ColonToken 1650732 1650734 - CallExpression 1650734 1650758 - Identifier 1650734 1650743 - Identifier 1650744 1650749 - Identifier 1650750 1650757 - FunctionDeclaration 1650766 1650993 - Identifier 1650782 1650797 - Parameter 1650798 1650810 - Identifier 1650798 1650804 - TypeReference 1650805 1650810 - Identifier 1650805 1650810 - Parameter 1650811 1650824 - Identifier 1650811 1650818 - TypeReference 1650819 1650824 - Identifier 1650819 1650824 - Block 1650825 1650993 - ReturnStatement 1650827 1650986 - PrefixUnaryExpression 1650843 1650985 - PrefixUnaryExpression 1650845 1650985 - ParenthesizedExpression 1650846 1650985 - BinaryExpression 1650847 1650984 - BinaryExpression 1650847 1650898 - BinaryExpression 1650847 1650864 - Identifier 1650847 1650853 - EqualsEqualsEqualsToken 1650853 1650857 - Identifier 1650857 1650864 - BarBarToken 1650864 1650867 - BinaryExpression 1650867 1650898 - PropertyAccessExpression 1650867 1650880 - Identifier 1650867 1650874 - Identifier 1650875 1650880 - AmpersandToken 1650880 1650882 - PropertyAccessExpression 1650882 1650898 - Identifier 1650882 1650892 - Identifier 1650893 1650898 - BarBarToken 1650898 1650901 - BinaryExpression 1650901 1650984 - BinaryExpression 1650901 1650932 - PropertyAccessExpression 1650901 1650914 - Identifier 1650901 1650908 - Identifier 1650909 1650914 - AmpersandToken 1650914 1650916 - PropertyAccessExpression 1650916 1650932 - Identifier 1650916 1650926 - Identifier 1650927 1650932 - AmpersandAmpersandToken 1650932 1650935 - CallExpression 1650935 1650984 - Identifier 1650935 1650955 - Identifier 1650956 1650962 - AsExpression 1650963 1650983 - Identifier 1650963 1650970 - TypeReference 1650973 1650983 - Identifier 1650973 1650983 - FunctionDeclaration 1650993 1651541 - Identifier 1651009 1651029 - Parameter 1651030 1651042 - Identifier 1651030 1651036 - TypeReference 1651037 1651042 - Identifier 1651037 1651042 - Parameter 1651043 1651061 - Identifier 1651043 1651050 - TypeReference 1651051 1651061 - Identifier 1651051 1651061 - Block 1651062 1651541 - IfStatement 1651064 1651332 - BinaryExpression 1651078 1651108 - PropertyAccessExpression 1651078 1651090 - Identifier 1651078 1651084 - Identifier 1651085 1651090 - AmpersandToken 1651090 1651092 - PropertyAccessExpression 1651092 1651108 - Identifier 1651092 1651102 - Identifier 1651103 1651108 - Block 1651109 1651332 - ForOfStatement 1651111 1651295 - VariableDeclarationList 1651130 1651137 - VariableDeclaration 1651135 1651137 - Identifier 1651135 1651137 - PropertyAccessExpression 1651140 1651168 - ParenthesizedExpression 1651140 1651162 - AsExpression 1651142 1651161 - Identifier 1651142 1651148 - TypeReference 1651151 1651161 - Identifier 1651151 1651161 - Identifier 1651163 1651168 - Block 1651169 1651295 - IfStatement 1651171 1651280 - PrefixUnaryExpression 1651193 1651223 - CallExpression 1651194 1651223 - Identifier 1651194 1651206 - PropertyAccessExpression 1651207 1651219 - Identifier 1651207 1651213 - Identifier 1651214 1651219 - Identifier 1651220 1651222 - Block 1651224 1651280 - ReturnStatement 1651226 1651261 - FalseKeyword 1651254 1651260 - ReturnStatement 1651295 1651321 - TrueKeyword 1651315 1651320 - IfStatement 1651332 1651482 - BinaryExpression 1651346 1651442 - BinaryExpression 1651346 1651379 - PropertyAccessExpression 1651346 1651358 - Identifier 1651346 1651352 - Identifier 1651353 1651358 - AmpersandToken 1651358 1651360 - PropertyAccessExpression 1651360 1651379 - Identifier 1651360 1651370 - Identifier 1651371 1651379 - AmpersandAmpersandToken 1651379 1651382 - BinaryExpression 1651382 1651442 - CallExpression 1651382 1651431 - Identifier 1651382 1651408 - AsExpression 1651409 1651430 - Identifier 1651409 1651415 - TypeReference 1651418 1651430 - Identifier 1651418 1651430 - EqualsEqualsEqualsToken 1651431 1651435 - Identifier 1651435 1651442 - Block 1651443 1651482 - ReturnStatement 1651445 1651471 - TrueKeyword 1651465 1651470 - ReturnStatement 1651482 1651534 - CallExpression 1651498 1651533 - Identifier 1651498 1651511 - PropertyAccessExpression 1651512 1651524 - Identifier 1651512 1651518 - Identifier 1651519 1651524 - Identifier 1651525 1651532 - FunctionDeclaration 1651541 1651735 - Identifier 1651557 1651569 - TypeParameter 1651570 1651571 - Identifier 1651570 1651571 - Parameter 1651573 1651583 - Identifier 1651573 1651577 - TypeReference 1651578 1651583 - Identifier 1651578 1651583 - Parameter 1651584 1651614 - Identifier 1651584 1651586 - FunctionType 1651587 1651614 - Parameter 1651589 1651596 - Identifier 1651589 1651590 - TypeReference 1651591 1651596 - Identifier 1651591 1651596 - UnionType 1651600 1651614 - TypeReference 1651600 1651602 - Identifier 1651600 1651602 - UndefinedKeyword 1651604 1651614 - UnionType 1651616 1651630 - TypeReference 1651616 1651618 - Identifier 1651616 1651618 - UndefinedKeyword 1651620 1651630 - Block 1651630 1651735 - ReturnStatement 1651632 1651728 - ConditionalExpression 1651648 1651727 - BinaryExpression 1651648 1651677 - PropertyAccessExpression 1651648 1651659 - Identifier 1651648 1651653 - Identifier 1651654 1651659 - AmpersandToken 1651659 1651661 - PropertyAccessExpression 1651661 1651677 - Identifier 1651661 1651671 - Identifier 1651672 1651677 - QuestionToken 1651677 1651679 - CallExpression 1651679 1651717 - Identifier 1651679 1651687 - PropertyAccessExpression 1651688 1651713 - ParenthesizedExpression 1651688 1651707 - AsExpression 1651689 1651706 - Identifier 1651689 1651693 - TypeReference 1651696 1651706 - Identifier 1651696 1651706 - Identifier 1651708 1651713 - Identifier 1651714 1651716 - ColonToken 1651717 1651719 - CallExpression 1651719 1651727 - Identifier 1651719 1651721 - Identifier 1651722 1651726 - FunctionDeclaration 1651735 1651908 - Identifier 1651751 1651760 - Parameter 1651761 1651771 - Identifier 1651761 1651765 - TypeReference 1651766 1651771 - Identifier 1651766 1651771 - Parameter 1651772 1651796 - Identifier 1651772 1651774 - FunctionType 1651775 1651796 - Parameter 1651777 1651784 - Identifier 1651777 1651778 - TypeReference 1651779 1651784 - Identifier 1651779 1651784 - BooleanKeyword 1651788 1651796 - BooleanKeyword 1651798 1651806 - Block 1651806 1651908 - ReturnStatement 1651808 1651901 - ConditionalExpression 1651824 1651900 - BinaryExpression 1651824 1651853 - PropertyAccessExpression 1651824 1651835 - Identifier 1651824 1651829 - Identifier 1651830 1651835 - AmpersandToken 1651835 1651837 - PropertyAccessExpression 1651837 1651853 - Identifier 1651837 1651847 - Identifier 1651848 1651853 - QuestionToken 1651853 1651855 - CallExpression 1651855 1651890 - Identifier 1651855 1651860 - PropertyAccessExpression 1651861 1651886 - ParenthesizedExpression 1651861 1651880 - AsExpression 1651862 1651879 - Identifier 1651862 1651866 - TypeReference 1651869 1651879 - Identifier 1651869 1651879 - Identifier 1651881 1651886 - Identifier 1651887 1651889 - ColonToken 1651890 1651892 - CallExpression 1651892 1651900 - Identifier 1651892 1651894 - Identifier 1651895 1651899 - FunctionDeclaration 1651908 1652083 - Identifier 1651924 1651934 - Parameter 1651935 1651945 - Identifier 1651935 1651939 - TypeReference 1651940 1651945 - Identifier 1651940 1651945 - Parameter 1651946 1651970 - Identifier 1651946 1651948 - FunctionType 1651949 1651970 - Parameter 1651951 1651958 - Identifier 1651951 1651952 - TypeReference 1651953 1651958 - Identifier 1651953 1651958 - BooleanKeyword 1651962 1651970 - BooleanKeyword 1651972 1651980 - Block 1651980 1652083 - ReturnStatement 1651982 1652076 - ConditionalExpression 1651998 1652075 - BinaryExpression 1651998 1652027 - PropertyAccessExpression 1651998 1652009 - Identifier 1651998 1652003 - Identifier 1652004 1652009 - AmpersandToken 1652009 1652011 - PropertyAccessExpression 1652011 1652027 - Identifier 1652011 1652021 - Identifier 1652022 1652027 - QuestionToken 1652027 1652029 - CallExpression 1652029 1652065 - Identifier 1652029 1652035 - PropertyAccessExpression 1652036 1652061 - ParenthesizedExpression 1652036 1652055 - AsExpression 1652037 1652054 - Identifier 1652037 1652041 - TypeReference 1652044 1652054 - Identifier 1652044 1652054 - Identifier 1652056 1652061 - Identifier 1652062 1652064 - ColonToken 1652065 1652067 - CallExpression 1652067 1652075 - Identifier 1652067 1652069 - Identifier 1652070 1652074 - FunctionDeclaration 1652083 1652295 - Identifier 1652099 1652118 - Parameter 1652119 1652129 - Identifier 1652119 1652123 - TypeReference 1652124 1652129 - Identifier 1652124 1652129 - Parameter 1652130 1652154 - Identifier 1652130 1652132 - FunctionType 1652133 1652154 - Parameter 1652135 1652142 - Identifier 1652135 1652136 - TypeReference 1652137 1652142 - Identifier 1652137 1652142 - BooleanKeyword 1652146 1652154 - BooleanKeyword 1652156 1652164 - Block 1652164 1652295 - ReturnStatement 1652166 1652288 - ConditionalExpression 1652182 1652287 - BinaryExpression 1652182 1652225 - PropertyAccessExpression 1652182 1652193 - Identifier 1652182 1652187 - Identifier 1652188 1652193 - AmpersandToken 1652193 1652195 - PropertyAccessExpression 1652195 1652225 - Identifier 1652195 1652205 - Identifier 1652206 1652225 - QuestionToken 1652225 1652227 - CallExpression 1652227 1652277 - Identifier 1652227 1652233 - PropertyAccessExpression 1652234 1652273 - ParenthesizedExpression 1652234 1652267 - AsExpression 1652235 1652266 - Identifier 1652235 1652239 - TypeReference 1652242 1652266 - Identifier 1652242 1652266 - Identifier 1652268 1652273 - Identifier 1652274 1652276 - ColonToken 1652277 1652279 - CallExpression 1652279 1652287 - Identifier 1652279 1652281 - Identifier 1652282 1652286 - FunctionDeclaration 1652295 1654380 - Identifier 1652311 1652322 - Parameter 1652323 1652333 - Identifier 1652323 1652327 - TypeReference 1652328 1652333 - Identifier 1652328 1652333 - Parameter 1652334 1652358 - Identifier 1652334 1652336 - FunctionType 1652337 1652358 - Parameter 1652339 1652346 - Identifier 1652339 1652340 - TypeReference 1652341 1652346 - Identifier 1652341 1652346 - BooleanKeyword 1652350 1652358 - TypeReference 1652360 1652365 - Identifier 1652360 1652365 - Block 1652365 1654380 - IfStatement 1652367 1654297 - BinaryExpression 1652381 1652409 - PropertyAccessExpression 1652381 1652391 - Identifier 1652381 1652385 - Identifier 1652386 1652391 - AmpersandToken 1652391 1652393 - PropertyAccessExpression 1652393 1652409 - Identifier 1652393 1652403 - Identifier 1652404 1652409 - Block 1652410 1654297 - VariableStatement 1652412 1652466 - VariableDeclarationList 1652412 1652465 - VariableDeclaration 1652431 1652465 - Identifier 1652431 1652437 - PropertyAccessExpression 1652439 1652465 - ParenthesizedExpression 1652439 1652459 - AsExpression 1652441 1652458 - Identifier 1652441 1652445 - TypeReference 1652448 1652458 - Identifier 1652448 1652458 - Identifier 1652460 1652465 - VariableStatement 1652466 1652514 - VariableDeclarationList 1652466 1652513 - VariableDeclaration 1652485 1652513 - Identifier 1652485 1652494 - CallExpression 1652496 1652513 - Identifier 1652496 1652503 - Identifier 1652504 1652509 - Identifier 1652510 1652512 - IfStatement 1652514 1652598 - BinaryExpression 1652532 1652550 - Identifier 1652532 1652540 - EqualsEqualsEqualsToken 1652540 1652544 - Identifier 1652544 1652550 - Block 1652551 1652598 - ReturnStatement 1652553 1652583 - Identifier 1652577 1652582 - VariableStatement 1652598 1652654 - VariableDeclarationList 1652598 1652653 - VariableDeclaration 1652617 1652653 - Identifier 1652617 1652624 - PropertyAccessExpression 1652626 1652653 - ParenthesizedExpression 1652626 1652646 - AsExpression 1652628 1652645 - Identifier 1652628 1652632 - TypeReference 1652635 1652645 - Identifier 1652635 1652645 - Identifier 1652647 1652653 - VariableStatement 1652654 1652700 - VariableDeclarationList 1652654 1652699 - VariableDeclaration 1652671 1652699 - Identifier 1652671 1652681 - UnionType 1652682 1652699 - TypeReference 1652682 1652687 - Identifier 1652682 1652687 - UndefinedKeyword 1652689 1652699 - IfStatement 1652700 1653843 - BinaryExpression 1652718 1652758 - Identifier 1652718 1652724 - AmpersandAmpersandToken 1652724 1652727 - BinaryExpression 1652727 1652758 - PropertyAccessExpression 1652727 1652740 - Identifier 1652727 1652734 - Identifier 1652735 1652740 - AmpersandToken 1652740 1652742 - PropertyAccessExpression 1652742 1652758 - Identifier 1652742 1652752 - Identifier 1652753 1652758 - Block 1652759 1653843 - VariableStatement 1652761 1653369 - VariableDeclarationList 1652761 1653368 - VariableDeclaration 1653326 1653368 - Identifier 1653326 1653338 - PropertyAccessExpression 1653340 1653368 - ParenthesizedExpression 1653340 1653362 - AsExpression 1653342 1653361 - Identifier 1653342 1653348 - TypeReference 1653351 1653361 - Identifier 1653351 1653361 - Identifier 1653363 1653368 - VariableStatement 1653369 1653474 - VariableDeclarationList 1653369 1653473 - VariableDeclaration 1653392 1653473 - Identifier 1653392 1653407 - CallExpression 1653409 1653473 - Identifier 1653409 1653416 - Identifier 1653417 1653428 - ArrowFunction 1653429 1653472 - Parameter 1653429 1653431 - Identifier 1653429 1653431 - EqualsGreaterThanToken 1653431 1653434 - BinaryExpression 1653434 1653472 - PrefixUnaryExpression 1653434 1653464 - PrefixUnaryExpression 1653436 1653464 - ParenthesizedExpression 1653437 1653464 - BinaryExpression 1653438 1653463 - PropertyAccessExpression 1653438 1653445 - Identifier 1653438 1653439 - Identifier 1653440 1653445 - AmpersandToken 1653445 1653447 - PropertyAccessExpression 1653447 1653463 - Identifier 1653447 1653457 - Identifier 1653458 1653463 - BarBarToken 1653464 1653467 - CallExpression 1653467 1653472 - Identifier 1653467 1653469 - Identifier 1653470 1653471 - IfStatement 1653474 1653828 - BinaryExpression 1653496 1653573 - BinaryExpression 1653496 1653538 - PropertyAccessExpression 1653496 1653514 - Identifier 1653496 1653507 - Identifier 1653508 1653514 - MinusToken 1653514 1653516 - PropertyAccessExpression 1653516 1653538 - Identifier 1653516 1653531 - Identifier 1653532 1653538 - EqualsEqualsEqualsToken 1653538 1653542 - BinaryExpression 1653542 1653573 - PropertyAccessExpression 1653542 1653555 - Identifier 1653542 1653548 - Identifier 1653549 1653555 - MinusToken 1653555 1653557 - PropertyAccessExpression 1653557 1653573 - Identifier 1653557 1653566 - Identifier 1653567 1653573 - Block 1653574 1653828 - IfStatement 1653576 1653706 - BinaryExpression 1653602 1653629 - PropertyAccessExpression 1653602 1653623 - Identifier 1653602 1653616 - Identifier 1653617 1653623 - EqualsEqualsEqualsToken 1653623 1653627 - NumericLiteral 1653627 1653629 - Block 1653630 1653706 - ReturnStatement 1653632 1653683 - ElementAccessExpression 1653664 1653682 - Identifier 1653664 1653679 - NumericLiteral 1653680 1653681 - ExpressionStatement 1653706 1653809 - BinaryExpression 1653706 1653808 - Identifier 1653706 1653737 - EqualsToken 1653737 1653739 - CallExpression 1653739 1653808 - Identifier 1653739 1653775 - PropertyAccessExpression 1653776 1653791 - Identifier 1653776 1653785 - Identifier 1653786 1653791 - Identifier 1653792 1653807 - ReturnStatement 1653843 1654286 - CallExpression 1654076 1654285 - Identifier 1654076 1654103 - Identifier 1654104 1654112 - BinaryExpression 1654113 1654212 - PropertyAccessExpression 1654113 1654145 - ParenthesizedExpression 1654113 1654133 - AsExpression 1654115 1654132 - Identifier 1654115 1654119 - TypeReference 1654122 1654132 - Identifier 1654122 1654132 - Identifier 1654134 1654145 - AmpersandToken 1654145 1654147 - ParenthesizedExpression 1654147 1654212 - BinaryExpression 1654149 1654211 - PropertyAccessExpression 1654149 1654175 - Identifier 1654149 1654160 - Identifier 1654161 1654175 - BarToken 1654175 1654177 - PropertyAccessExpression 1654177 1654211 - Identifier 1654177 1654189 - Identifier 1654190 1654211 - Identifier 1654213 1654239 - Identifier 1654240 1654273 - Identifier 1654274 1654284 - ReturnStatement 1654297 1654373 - ConditionalExpression 1654313 1654372 - BinaryExpression 1654313 1654353 - BinaryExpression 1654313 1654342 - PropertyAccessExpression 1654313 1654324 - Identifier 1654313 1654318 - Identifier 1654319 1654324 - AmpersandToken 1654324 1654326 - PropertyAccessExpression 1654326 1654342 - Identifier 1654326 1654336 - Identifier 1654337 1654342 - BarBarToken 1654342 1654345 - CallExpression 1654345 1654353 - Identifier 1654345 1654347 - Identifier 1654348 1654352 - QuestionToken 1654353 1654355 - Identifier 1654355 1654360 - ColonToken 1654360 1654362 - Identifier 1654362 1654372 - FunctionDeclaration 1654380 1654503 - Identifier 1654396 1654407 - Parameter 1654408 1654418 - Identifier 1654408 1654412 - TypeReference 1654413 1654418 - Identifier 1654413 1654418 - Parameter 1654419 1654436 - Identifier 1654419 1654430 - TypeReference 1654431 1654436 - Identifier 1654431 1654436 - Block 1654437 1654503 - ReturnStatement 1654439 1654496 - CallExpression 1654455 1654495 - Identifier 1654455 1654466 - Identifier 1654467 1654471 - ArrowFunction 1654472 1654494 - Parameter 1654472 1654474 - Identifier 1654472 1654474 - EqualsGreaterThanToken 1654474 1654477 - BinaryExpression 1654477 1654494 - Identifier 1654477 1654479 - ExclamationEqualsEqualsToken 1654479 1654483 - Identifier 1654483 1654494 - FunctionDeclaration 1654503 1654636 - Identifier 1654519 1654530 - Parameter 1654531 1654541 - Identifier 1654531 1654535 - TypeReference 1654536 1654541 - Identifier 1654536 1654541 - Block 1654542 1654636 - ReturnStatement 1654544 1654629 - ConditionalExpression 1654560 1654628 - BinaryExpression 1654560 1654589 - PropertyAccessExpression 1654560 1654571 - Identifier 1654560 1654565 - Identifier 1654566 1654571 - AmpersandToken 1654571 1654573 - PropertyAccessExpression 1654573 1654589 - Identifier 1654573 1654583 - Identifier 1654584 1654589 - QuestionToken 1654589 1654591 - PropertyAccessExpression 1654591 1654624 - PropertyAccessExpression 1654591 1654617 - ParenthesizedExpression 1654591 1654611 - AsExpression 1654593 1654610 - Identifier 1654593 1654597 - TypeReference 1654600 1654610 - Identifier 1654600 1654610 - Identifier 1654612 1654617 - Identifier 1654618 1654624 - ColonToken 1654624 1654626 - NumericLiteral 1654626 1654628 - FunctionDeclaration 1654636 1654961 - Identifier 1654883 1654891 - Parameter 1654892 1654902 - Identifier 1654892 1654896 - TypeReference 1654897 1654902 - Identifier 1654897 1654902 - Parameter 1654903 1654929 - Identifier 1654903 1654910 - FunctionType 1654911 1654929 - Parameter 1654913 1654920 - Identifier 1654913 1654914 - TypeReference 1654915 1654920 - Identifier 1654915 1654920 - TypeReference 1654924 1654929 - Identifier 1654924 1654929 - Parameter 1654930 1654953 - Identifier 1654930 1654943 - QuestionToken 1654943 1654944 - BooleanKeyword 1654945 1654953 - TypeReference 1654955 1654960 - Identifier 1654955 1654960 - FunctionDeclaration 1654961 1655077 - Identifier 1654975 1654983 - Parameter 1654984 1654994 - Identifier 1654984 1654988 - TypeReference 1654989 1654994 - Identifier 1654989 1654994 - Parameter 1654995 1655033 - Identifier 1654995 1655002 - FunctionType 1655003 1655033 - Parameter 1655005 1655012 - Identifier 1655005 1655006 - TypeReference 1655007 1655012 - Identifier 1655007 1655012 - UnionType 1655016 1655033 - TypeReference 1655016 1655021 - Identifier 1655016 1655021 - UndefinedKeyword 1655023 1655033 - Parameter 1655034 1655057 - Identifier 1655034 1655047 - QuestionToken 1655047 1655048 - BooleanKeyword 1655049 1655057 - UnionType 1655059 1655076 - TypeReference 1655059 1655064 - Identifier 1655059 1655064 - UndefinedKeyword 1655066 1655076 - FunctionDeclaration 1655077 1656182 - Identifier 1655091 1655099 - Parameter 1655100 1655110 - Identifier 1655100 1655104 - TypeReference 1655105 1655110 - Identifier 1655105 1655110 - Parameter 1655111 1655149 - Identifier 1655111 1655118 - FunctionType 1655119 1655149 - Parameter 1655121 1655128 - Identifier 1655121 1655122 - TypeReference 1655123 1655128 - Identifier 1655123 1655128 - UnionType 1655132 1655149 - TypeReference 1655132 1655137 - Identifier 1655132 1655137 - UndefinedKeyword 1655139 1655149 - Parameter 1655150 1655173 - Identifier 1655150 1655163 - QuestionToken 1655163 1655164 - BooleanKeyword 1655165 1655173 - UnionType 1655175 1655192 - TypeReference 1655175 1655180 - Identifier 1655175 1655180 - UndefinedKeyword 1655182 1655192 - Block 1655192 1656182 - IfStatement 1655194 1655276 - BinaryExpression 1655208 1655236 - PropertyAccessExpression 1655208 1655218 - Identifier 1655208 1655212 - Identifier 1655213 1655218 - AmpersandToken 1655218 1655220 - PropertyAccessExpression 1655220 1655236 - Identifier 1655220 1655230 - Identifier 1655231 1655236 - Block 1655237 1655276 - ReturnStatement 1655239 1655265 - Identifier 1655259 1655264 - IfStatement 1655276 1655369 - PrefixUnaryExpression 1655290 1655321 - ParenthesizedExpression 1655291 1655321 - BinaryExpression 1655292 1655320 - PropertyAccessExpression 1655292 1655302 - Identifier 1655292 1655296 - Identifier 1655297 1655302 - AmpersandToken 1655302 1655304 - PropertyAccessExpression 1655304 1655320 - Identifier 1655304 1655314 - Identifier 1655315 1655320 - Block 1655322 1655369 - ReturnStatement 1655324 1655358 - CallExpression 1655344 1655357 - Identifier 1655344 1655351 - Identifier 1655352 1655356 - VariableStatement 1655369 1655421 - VariableDeclarationList 1655369 1655420 - VariableDeclaration 1655384 1655420 - Identifier 1655384 1655391 - PropertyAccessExpression 1655393 1655420 - ParenthesizedExpression 1655393 1655413 - AsExpression 1655395 1655412 - Identifier 1655395 1655399 - TypeReference 1655402 1655412 - Identifier 1655402 1655412 - Identifier 1655414 1655420 - VariableStatement 1655421 1655544 - VariableDeclarationList 1655421 1655543 - VariableDeclaration 1655436 1655543 - Identifier 1655436 1655442 - ConditionalExpression 1655444 1655543 - BinaryExpression 1655444 1655485 - Identifier 1655444 1655451 - AmpersandAmpersandToken 1655451 1655454 - BinaryExpression 1655454 1655485 - PropertyAccessExpression 1655454 1655467 - Identifier 1655454 1655461 - Identifier 1655462 1655467 - AmpersandToken 1655467 1655469 - PropertyAccessExpression 1655469 1655485 - Identifier 1655469 1655479 - Identifier 1655480 1655485 - QuestionToken 1655485 1655487 - PropertyAccessExpression 1655487 1655515 - ParenthesizedExpression 1655487 1655509 - AsExpression 1655489 1655508 - Identifier 1655489 1655495 - TypeReference 1655498 1655508 - Identifier 1655498 1655508 - Identifier 1655510 1655515 - ColonToken 1655515 1655517 - PropertyAccessExpression 1655517 1655543 - ParenthesizedExpression 1655517 1655537 - AsExpression 1655519 1655536 - Identifier 1655519 1655523 - TypeReference 1655526 1655536 - Identifier 1655526 1655536 - Identifier 1655538 1655543 - VariableStatement 1655544 1655590 - VariableDeclarationList 1655544 1655589 - VariableDeclaration 1655557 1655589 - Identifier 1655557 1655569 - UnionType 1655570 1655589 - ArrayType 1655570 1655577 - TypeReference 1655570 1655575 - Identifier 1655570 1655575 - UndefinedKeyword 1655579 1655589 - VariableStatement 1655590 1655620 - VariableDeclarationList 1655590 1655619 - VariableDeclaration 1655603 1655619 - Identifier 1655603 1655611 - FalseKeyword 1655613 1655619 - ForOfStatement 1655620 1656039 - VariableDeclarationList 1655635 1655642 - VariableDeclaration 1655640 1655642 - Identifier 1655640 1655642 - Identifier 1655645 1655651 - Block 1655652 1656039 - VariableStatement 1655654 1655756 - VariableDeclarationList 1655654 1655755 - VariableDeclaration 1655673 1655755 - Identifier 1655673 1655680 - ConditionalExpression 1655682 1655755 - BinaryExpression 1655682 1655708 - PropertyAccessExpression 1655682 1655690 - Identifier 1655682 1655684 - Identifier 1655685 1655690 - AmpersandToken 1655690 1655692 - PropertyAccessExpression 1655692 1655708 - Identifier 1655692 1655702 - Identifier 1655703 1655708 - QuestionToken 1655708 1655710 - CallExpression 1655710 1655743 - Identifier 1655710 1655718 - Identifier 1655719 1655720 - Identifier 1655721 1655728 - Identifier 1655729 1655742 - ColonToken 1655743 1655745 - CallExpression 1655745 1655755 - Identifier 1655745 1655752 - Identifier 1655753 1655754 - ExpressionStatement 1655756 1655795 - BinaryExpression 1655756 1655794 - Identifier 1655756 1655777 - BarBarEqualsToken 1655777 1655781 - BinaryExpression 1655781 1655794 - Identifier 1655781 1655783 - ExclamationEqualsEqualsToken 1655783 1655787 - Identifier 1655787 1655794 - IfStatement 1655795 1656028 - Identifier 1655813 1655819 - Block 1655820 1656028 - IfStatement 1655822 1656013 - PrefixUnaryExpression 1655844 1655856 - Identifier 1655845 1655856 - Block 1655857 1655923 - ExpressionStatement 1655859 1655904 - BinaryExpression 1655859 1655903 - Identifier 1655859 1655892 - EqualsToken 1655892 1655894 - ArrayLiteralExpression 1655894 1655903 - Identifier 1655896 1655902 - Block 1655945 1656013 - ExpressionStatement 1655947 1655994 - CallExpression 1655947 1655993 - PropertyAccessExpression 1655947 1655985 - Identifier 1655947 1655980 - Identifier 1655981 1655985 - Identifier 1655986 1655992 - ReturnStatement 1656039 1656175 - ConditionalExpression 1656055 1656174 - Identifier 1656055 1656063 - QuestionToken 1656063 1656065 - BinaryExpression 1656065 1656167 - Identifier 1656065 1656077 - AmpersandAmpersandToken 1656077 1656080 - CallExpression 1656080 1656167 - Identifier 1656080 1656093 - Identifier 1656094 1656105 - ConditionalExpression 1656106 1656166 - Identifier 1656106 1656119 - QuestionToken 1656119 1656121 - PropertyAccessExpression 1656121 1656141 - Identifier 1656121 1656136 - Identifier 1656137 1656141 - ColonToken 1656141 1656143 - PropertyAccessExpression 1656143 1656166 - Identifier 1656143 1656158 - Identifier 1656159 1656166 - ColonToken 1656167 1656169 - Identifier 1656169 1656174 - FunctionDeclaration 1656182 1656568 - Identifier 1656198 1656215 - Parameter 1656216 1656226 - Identifier 1656216 1656220 - TypeReference 1656221 1656226 - Identifier 1656221 1656226 - Parameter 1656227 1656253 - Identifier 1656227 1656234 - FunctionType 1656235 1656253 - Parameter 1656237 1656244 - Identifier 1656237 1656238 - TypeReference 1656239 1656244 - Identifier 1656239 1656244 - TypeReference 1656248 1656253 - Identifier 1656248 1656253 - Parameter 1656254 1656286 - Identifier 1656254 1656266 - UnionType 1656267 1656286 - TypeReference 1656267 1656274 - Identifier 1656267 1656274 - UndefinedKeyword 1656276 1656286 - Parameter 1656287 1656335 - Identifier 1656287 1656306 - UnionType 1656307 1656335 - TypeOperator 1656307 1656323 - ArrayType 1656316 1656323 - TypeReference 1656316 1656321 - Identifier 1656316 1656321 - UndefinedKeyword 1656325 1656335 - Block 1656336 1656568 - ReturnStatement 1656338 1656561 - ConditionalExpression 1656354 1656560 - BinaryExpression 1656354 1656398 - BinaryExpression 1656354 1656383 - PropertyAccessExpression 1656354 1656365 - Identifier 1656354 1656359 - Identifier 1656360 1656365 - AmpersandToken 1656365 1656367 - PropertyAccessExpression 1656367 1656383 - Identifier 1656367 1656377 - Identifier 1656378 1656383 - AmpersandAmpersandToken 1656383 1656386 - Identifier 1656386 1656398 - QuestionToken 1656398 1656400 - CallExpression 1656400 1656523 - Identifier 1656400 1656426 - CallExpression 1656427 1656465 - Identifier 1656427 1656430 - PropertyAccessExpression 1656431 1656456 - ParenthesizedExpression 1656431 1656450 - AsExpression 1656432 1656449 - Identifier 1656432 1656436 - TypeReference 1656439 1656449 - Identifier 1656439 1656449 - Identifier 1656451 1656456 - Identifier 1656457 1656464 - PropertyAccessExpression 1656466 1656489 - Identifier 1656466 1656481 - Identifier 1656482 1656489 - Identifier 1656490 1656502 - Identifier 1656503 1656522 - ColonToken 1656523 1656525 - CallExpression 1656525 1656560 - Identifier 1656525 1656546 - Identifier 1656547 1656551 - Identifier 1656552 1656559 - FunctionDeclaration 1656568 1656704 - Identifier 1656584 1656603 - Parameter 1656604 1656614 - Identifier 1656604 1656608 - TypeReference 1656609 1656614 - Identifier 1656609 1656614 - Parameter 1656615 1656631 - Identifier 1656615 1656620 - TypeReference 1656621 1656631 - Identifier 1656621 1656631 - Block 1656632 1656704 - ReturnStatement 1656634 1656697 - CallExpression 1656650 1656696 - Identifier 1656650 1656661 - Identifier 1656662 1656666 - ArrowFunction 1656667 1656695 - Parameter 1656667 1656669 - Identifier 1656667 1656669 - EqualsGreaterThanToken 1656669 1656672 - BinaryExpression 1656672 1656695 - ParenthesizedExpression 1656672 1656689 - BinaryExpression 1656674 1656688 - PropertyAccessExpression 1656674 1656681 - Identifier 1656674 1656675 - Identifier 1656676 1656681 - AmpersandToken 1656681 1656683 - Identifier 1656683 1656688 - ExclamationEqualsEqualsToken 1656689 1656693 - NumericLiteral 1656693 1656695 - FunctionDeclaration 1656704 1658432 - Identifier 1657228 1657258 - Parameter 1657259 1657283 - Identifier 1657259 1657277 - TypeReference 1657278 1657283 - Identifier 1657278 1657283 - Parameter 1657284 1657307 - Identifier 1657284 1657301 - TypeReference 1657302 1657307 - Identifier 1657302 1657307 - Block 1657308 1658432 - IfStatement 1657310 1658389 - BinaryExpression 1657324 1657638 - CallExpression 1657324 1657457 - Identifier 1657324 1657353 - Identifier 1657354 1657372 - BinaryExpression 1657373 1657456 - BinaryExpression 1657373 1657437 - BinaryExpression 1657373 1657418 - PropertyAccessExpression 1657373 1657390 - Identifier 1657373 1657383 - Identifier 1657384 1657390 - BarToken 1657390 1657392 - PropertyAccessExpression 1657392 1657418 - Identifier 1657392 1657402 - Identifier 1657403 1657418 - BarToken 1657418 1657420 - PropertyAccessExpression 1657420 1657437 - Identifier 1657420 1657430 - Identifier 1657431 1657437 - BarToken 1657437 1657439 - PropertyAccessExpression 1657439 1657456 - Identifier 1657439 1657449 - Identifier 1657450 1657456 - AmpersandAmpersandToken 1657457 1657460 - CallExpression 1657460 1657638 - Identifier 1657460 1657489 - Identifier 1657490 1657506 - BinaryExpression 1657507 1657637 - BinaryExpression 1657507 1657611 - BinaryExpression 1657507 1657585 - BinaryExpression 1657507 1657559 - PropertyAccessExpression 1657507 1657531 - Identifier 1657507 1657517 - Identifier 1657518 1657531 - BarToken 1657531 1657533 - PropertyAccessExpression 1657533 1657559 - Identifier 1657533 1657543 - Identifier 1657544 1657559 - BarToken 1657559 1657561 - PropertyAccessExpression 1657561 1657585 - Identifier 1657561 1657571 - Identifier 1657572 1657585 - BarToken 1657585 1657587 - PropertyAccessExpression 1657587 1657611 - Identifier 1657587 1657597 - Identifier 1657598 1657611 - BarToken 1657611 1657613 - PropertyAccessExpression 1657613 1657637 - Identifier 1657613 1657623 - Identifier 1657624 1657637 - Block 1657649 1658389 - ReturnStatement 1657651 1658378 - CallExpression 1657671 1658377 - Identifier 1657671 1657679 - Identifier 1657680 1657698 - ArrowFunction 1657699 1658376 - Parameter 1657699 1657701 - Identifier 1657699 1657701 - EqualsGreaterThanToken 1657701 1657704 - ConditionalExpression 1657704 1658376 - BinaryExpression 1657704 1657748 - PropertyAccessExpression 1657704 1657729 - Identifier 1657704 1657723 - Identifier 1657724 1657729 - AmpersandToken 1657729 1657731 - PropertyAccessExpression 1657731 1657748 - Identifier 1657731 1657741 - Identifier 1657742 1657748 - QuestionToken 1657748 1657750 - CallExpression 1657750 1657885 - Identifier 1657750 1657769 - Identifier 1657770 1657786 - BinaryExpression 1657787 1657884 - BinaryExpression 1657787 1657858 - BinaryExpression 1657787 1657830 - PropertyAccessExpression 1657787 1657804 - Identifier 1657787 1657797 - Identifier 1657798 1657804 - BarToken 1657804 1657806 - PropertyAccessExpression 1657806 1657830 - Identifier 1657806 1657816 - Identifier 1657817 1657830 - BarToken 1657830 1657832 - PropertyAccessExpression 1657832 1657858 - Identifier 1657832 1657842 - Identifier 1657843 1657858 - BarToken 1657858 1657860 - PropertyAccessExpression 1657860 1657884 - Identifier 1657860 1657870 - Identifier 1657871 1657884 - ColonToken 1657885 1657887 - ConditionalExpression 1657887 1658376 - BinaryExpression 1657887 1658042 - CallExpression 1657887 1657932 - Identifier 1657887 1657929 - Identifier 1657930 1657931 - AmpersandAmpersandToken 1657932 1657935 - PrefixUnaryExpression 1657935 1658042 - CallExpression 1657937 1658042 - Identifier 1657937 1657952 - Identifier 1657953 1657969 - BinaryExpression 1657970 1658041 - BinaryExpression 1657970 1658015 - PropertyAccessExpression 1657970 1657987 - Identifier 1657970 1657980 - Identifier 1657981 1657987 - BarToken 1657987 1657989 - PropertyAccessExpression 1657989 1658015 - Identifier 1657989 1657999 - Identifier 1658000 1658015 - BarToken 1658015 1658017 - PropertyAccessExpression 1658017 1658041 - Identifier 1658017 1658027 - Identifier 1658028 1658041 - QuestionToken 1658042 1658044 - CallExpression 1658044 1658106 - Identifier 1658044 1658063 - Identifier 1658064 1658080 - PropertyAccessExpression 1658081 1658105 - Identifier 1658081 1658091 - Identifier 1658092 1658105 - ColonToken 1658106 1658108 - ConditionalExpression 1658108 1658376 - BinaryExpression 1658108 1658156 - PropertyAccessExpression 1658108 1658137 - Identifier 1658108 1658131 - Identifier 1658132 1658137 - AmpersandToken 1658137 1658139 - PropertyAccessExpression 1658139 1658156 - Identifier 1658139 1658149 - Identifier 1658150 1658156 - QuestionToken 1658156 1658158 - CallExpression 1658158 1658239 - Identifier 1658158 1658177 - Identifier 1658178 1658194 - BinaryExpression 1658195 1658238 - PropertyAccessExpression 1658195 1658212 - Identifier 1658195 1658205 - Identifier 1658206 1658212 - BarToken 1658212 1658214 - PropertyAccessExpression 1658214 1658238 - Identifier 1658214 1658224 - Identifier 1658225 1658238 - ColonToken 1658239 1658241 - ConditionalExpression 1658241 1658376 - BinaryExpression 1658241 1658289 - PropertyAccessExpression 1658241 1658270 - Identifier 1658241 1658264 - Identifier 1658265 1658270 - AmpersandToken 1658270 1658272 - PropertyAccessExpression 1658272 1658289 - Identifier 1658272 1658282 - Identifier 1658283 1658289 - QuestionToken 1658289 1658291 - CallExpression 1658291 1658372 - Identifier 1658291 1658310 - Identifier 1658311 1658327 - BinaryExpression 1658328 1658371 - PropertyAccessExpression 1658328 1658345 - Identifier 1658328 1658338 - Identifier 1658339 1658345 - BarToken 1658345 1658347 - PropertyAccessExpression 1658347 1658371 - Identifier 1658347 1658357 - Identifier 1658358 1658371 - ColonToken 1658372 1658374 - Identifier 1658374 1658376 - ReturnStatement 1658389 1658425 - Identifier 1658405 1658424 - FunctionDeclaration 1658432 1658528 - Identifier 1658448 1658461 - Parameter 1658462 1658480 - Identifier 1658462 1658470 - TypeReference 1658471 1658480 - Identifier 1658471 1658480 - Block 1658481 1658528 - ReturnStatement 1658483 1658521 - BinaryExpression 1658499 1658520 - PropertyAccessExpression 1658499 1658514 - Identifier 1658499 1658508 - Identifier 1658509 1658514 - EqualsEqualsEqualsToken 1658514 1658518 - NumericLiteral 1658518 1658520 - FunctionDeclaration 1658528 1658666 - Identifier 1658544 1658564 - Parameter 1658565 1658583 - Identifier 1658565 1658573 - TypeReference 1658574 1658583 - Identifier 1658574 1658583 - Block 1658584 1658666 - ReturnStatement 1658586 1658659 - ConditionalExpression 1658602 1658658 - BinaryExpression 1658602 1658623 - PropertyAccessExpression 1658602 1658617 - Identifier 1658602 1658611 - Identifier 1658612 1658617 - EqualsEqualsEqualsToken 1658617 1658621 - NumericLiteral 1658621 1658623 - QuestionToken 1658623 1658625 - PropertyAccessExpression 1658625 1658639 - Identifier 1658625 1658634 - Identifier 1658635 1658639 - ColonToken 1658639 1658641 - AsExpression 1658641 1658658 - Identifier 1658641 1658650 - TypeReference 1658653 1658658 - Identifier 1658653 1658658 - FunctionDeclaration 1658666 1658860 - Identifier 1658682 1658697 - Parameter 1658698 1658708 - Identifier 1658698 1658702 - TypeReference 1658703 1658708 - Identifier 1658703 1658708 - Parameter 1658709 1658729 - Identifier 1658709 1658720 - BooleanKeyword 1658721 1658729 - TypeReference 1658731 1658740 - Identifier 1658731 1658740 - Block 1658740 1658860 - ReturnStatement 1658742 1658853 - ConditionalExpression 1658758 1658852 - Identifier 1658758 1658769 - QuestionToken 1658769 1658771 - ObjectLiteralExpression 1658771 1658845 - PropertyAssignment 1658773 1658782 - Identifier 1658773 1658779 - NumericLiteral 1658780 1658782 - PropertyAssignment 1658783 1658843 - Identifier 1658783 1658788 - ConditionalExpression 1658789 1658843 - BinaryExpression 1658789 1658818 - PropertyAccessExpression 1658789 1658800 - Identifier 1658789 1658794 - Identifier 1658795 1658800 - AmpersandToken 1658800 1658802 - PropertyAccessExpression 1658802 1658818 - Identifier 1658802 1658812 - Identifier 1658813 1658818 - QuestionToken 1658818 1658820 - Identifier 1658820 1658836 - ColonToken 1658836 1658838 - Identifier 1658838 1658843 - ColonToken 1658845 1658847 - Identifier 1658847 1658852 - FunctionDeclaration 1658860 1659443 - Identifier 1659215 1659239 - Parameter 1659240 1659257 - Identifier 1659240 1659251 - TypeReference 1659252 1659257 - Identifier 1659252 1659257 - TypeReference 1659259 1659277 - Identifier 1659259 1659277 - Block 1659277 1659443 - VariableStatement 1659279 1659369 - VariableDeclarationList 1659279 1659368 - VariableDeclaration 1659294 1659368 - Identifier 1659294 1659301 - AsExpression 1659303 1659368 - CallExpression 1659303 1659347 - Identifier 1659303 1659320 - PropertyAccessExpression 1659321 1659346 - Identifier 1659321 1659332 - Identifier 1659333 1659346 - TypeReference 1659350 1659368 - Identifier 1659350 1659368 - ExpressionStatement 1659369 1659412 - BinaryExpression 1659369 1659411 - PropertyAccessExpression 1659369 1659397 - Identifier 1659369 1659385 - Identifier 1659386 1659397 - EqualsToken 1659397 1659399 - Identifier 1659399 1659411 - ReturnStatement 1659412 1659436 - Identifier 1659428 1659435 - FunctionDeclaration 1659443 1659658 - Identifier 1659459 1659480 - Parameter 1659481 1659498 - Identifier 1659481 1659492 - TypeReference 1659493 1659498 - Identifier 1659493 1659498 - TypeReference 1659500 1659518 - Identifier 1659500 1659518 - Block 1659518 1659658 - ReturnStatement 1659520 1659651 - BinaryExpression 1659536 1659650 - ElementAccessExpression 1659536 1659571 - Identifier 1659536 1659555 - PropertyAccessExpression 1659556 1659570 - Identifier 1659556 1659567 - Identifier 1659568 1659570 - BarBarToken 1659571 1659574 - ParenthesizedExpression 1659574 1659650 - BinaryExpression 1659576 1659649 - ElementAccessExpression 1659576 1659610 - Identifier 1659576 1659594 - PropertyAccessExpression 1659595 1659609 - Identifier 1659595 1659606 - Identifier 1659607 1659609 - EqualsToken 1659610 1659612 - CallExpression 1659612 1659649 - Identifier 1659612 1659636 - Identifier 1659637 1659648 - FunctionDeclaration 1659658 1660298 - Identifier 1659883 1659911 - Parameter 1659912 1659948 - Identifier 1659912 1659929 - TypeReference 1659930 1659948 - Identifier 1659930 1659948 - Parameter 1659949 1659966 - Identifier 1659949 1659954 - TypeReference 1659955 1659966 - Identifier 1659955 1659966 - TypeReference 1659968 1659986 - Identifier 1659968 1659986 - Block 1659986 1660298 - VariableStatement 1659988 1660112 - VariableDeclarationList 1659988 1660111 - VariableDeclaration 1660003 1660111 - Identifier 1660003 1660015 - CallExpression 1660017 1660111 - Identifier 1660017 1660047 - CallExpression 1660048 1660110 - Identifier 1660048 1660072 - CallExpression 1660073 1660109 - Identifier 1660073 1660103 - Identifier 1660104 1660108 - ReturnStatement 1660112 1660291 - ConditionalExpression 1660128 1660290 - CallExpression 1660128 1660187 - Identifier 1660128 1660143 - Identifier 1660144 1660155 - PropertyAccessExpression 1660156 1660186 - Identifier 1660156 1660174 - Identifier 1660175 1660186 - QuestionToken 1660187 1660189 - Identifier 1660189 1660207 - ColonToken 1660207 1660209 - CallExpression 1660209 1660290 - Identifier 1660209 1660230 - CallExpression 1660231 1660289 - Identifier 1660231 1660243 - ArrayLiteralExpression 1660244 1660288 - PropertyAccessExpression 1660245 1660274 - Identifier 1660245 1660262 - Identifier 1660263 1660274 - Identifier 1660275 1660287 - FunctionDeclaration 1660298 1660675 - Identifier 1660314 1660335 - Parameter 1660336 1660353 - Identifier 1660336 1660347 - TypeReference 1660348 1660353 - Identifier 1660348 1660353 - Block 1660354 1660675 - ReturnStatement 1660356 1660668 - ConditionalExpression 1660372 1660667 - BinaryExpression 1660372 1660408 - PropertyAccessExpression 1660372 1660390 - Identifier 1660372 1660384 - Identifier 1660385 1660390 - AmpersandToken 1660390 1660392 - PropertyAccessExpression 1660392 1660408 - Identifier 1660392 1660402 - Identifier 1660403 1660408 - QuestionToken 1660408 1660410 - Identifier 1660410 1660437 - ColonToken 1660437 1660439 - CallExpression 1660439 1660667 - Identifier 1660439 1660468 - ConditionalExpression 1660469 1660651 - BinaryExpression 1660469 1660522 - PropertyAccessExpression 1660469 1660504 - Identifier 1660469 1660498 - Identifier 1660499 1660504 - AmpersandToken 1660504 1660506 - PropertyAccessExpression 1660506 1660522 - Identifier 1660506 1660516 - Identifier 1660517 1660522 - QuestionToken 1660522 1660524 - CallExpression 1660524 1660616 - Identifier 1660524 1660558 - PropertyAccessExpression 1660559 1660591 - ParenthesizedExpression 1660559 1660585 - AsExpression 1660560 1660584 - Identifier 1660560 1660571 - TypeReference 1660574 1660584 - Identifier 1660574 1660584 - Identifier 1660586 1660591 - PropertyAccessExpression 1660592 1660615 - Identifier 1660592 1660607 - Identifier 1660608 1660615 - ColonToken 1660616 1660618 - Identifier 1660618 1660651 - FunctionDeclaration 1660675 1661006 - Identifier 1660793 1660811 - Parameter 1660812 1660848 - Identifier 1660812 1660829 - TypeReference 1660830 1660848 - Identifier 1660830 1660848 - TypeReference 1660850 1660855 - Identifier 1660850 1660855 - Block 1660855 1661006 - ReturnStatement 1660857 1660999 - BinaryExpression 1660873 1660998 - PropertyAccessExpression 1660873 1660906 - Identifier 1660873 1660891 - Identifier 1660892 1660906 - BarBarToken 1660906 1660909 - ParenthesizedExpression 1660909 1660998 - BinaryExpression 1660911 1660997 - PropertyAccessExpression 1660911 1660943 - Identifier 1660911 1660928 - Identifier 1660929 1660943 - EqualsToken 1660943 1660945 - CallExpression 1660945 1660997 - Identifier 1660945 1660966 - PropertyAccessExpression 1660967 1660996 - Identifier 1660967 1660984 - Identifier 1660985 1660996 - FunctionDeclaration 1661006 1661195 - Identifier 1661022 1661048 - Parameter 1661049 1661059 - Identifier 1661049 1661053 - TypeReference 1661054 1661059 - Identifier 1661054 1661059 - TypeReference 1661061 1661066 - Identifier 1661061 1661066 - Block 1661066 1661195 - ReturnStatement 1661068 1661188 - ConditionalExpression 1661084 1661187 - BinaryExpression 1661084 1661133 - CallExpression 1661084 1661105 - Identifier 1661084 1661099 - Identifier 1661100 1661104 - AmpersandToken 1661105 1661107 - PropertyAccessExpression 1661107 1661133 - Identifier 1661107 1661119 - Identifier 1661120 1661133 - QuestionToken 1661133 1661135 - CallExpression 1661135 1661180 - Identifier 1661135 1661153 - AsExpression 1661154 1661179 - Identifier 1661154 1661158 - TypeReference 1661161 1661179 - Identifier 1661161 1661179 - ColonToken 1661180 1661182 - Identifier 1661182 1661187 - FunctionDeclaration 1661195 1661386 - Identifier 1661211 1661245 - Parameter 1661246 1661256 - Identifier 1661246 1661250 - TypeReference 1661251 1661256 - Identifier 1661251 1661256 - Block 1661257 1661386 - ReturnStatement 1661259 1661379 - ConditionalExpression 1661275 1661378 - BinaryExpression 1661275 1661324 - CallExpression 1661275 1661296 - Identifier 1661275 1661290 - Identifier 1661291 1661295 - AmpersandToken 1661296 1661298 - PropertyAccessExpression 1661298 1661324 - Identifier 1661298 1661310 - Identifier 1661311 1661324 - QuestionToken 1661324 1661326 - PropertyAccessExpression 1661326 1661366 - ParenthesizedExpression 1661326 1661354 - AsExpression 1661328 1661353 - Identifier 1661328 1661332 - TypeReference 1661335 1661353 - Identifier 1661335 1661353 - Identifier 1661355 1661366 - ColonToken 1661366 1661368 - Identifier 1661368 1661378 - FunctionDeclaration 1661386 1661813 - Identifier 1661402 1661426 - Parameter 1661427 1661440 - Identifier 1661427 1661432 - ArrayType 1661433 1661440 - TypeReference 1661433 1661438 - Identifier 1661433 1661438 - Block 1661441 1661813 - VariableStatement 1661443 1661486 - VariableDeclarationList 1661443 1661485 - VariableDeclaration 1661456 1661485 - Identifier 1661456 1661477 - FalseKeyword 1661479 1661485 - ForOfStatement 1661486 1661768 - VariableDeclarationList 1661501 1661508 - VariableDeclaration 1661506 1661508 - Identifier 1661506 1661508 - Identifier 1661511 1661517 - Block 1661518 1661768 - IfStatement 1661520 1661757 - PrefixUnaryExpression 1661538 1661566 - ParenthesizedExpression 1661539 1661566 - BinaryExpression 1661540 1661565 - PropertyAccessExpression 1661540 1661547 - Identifier 1661540 1661541 - Identifier 1661542 1661547 - AmpersandToken 1661547 1661549 - PropertyAccessExpression 1661549 1661565 - Identifier 1661549 1661559 - Identifier 1661560 1661565 - Block 1661567 1661757 - IfStatement 1661569 1661696 - PrefixUnaryExpression 1661591 1661639 - ParenthesizedExpression 1661592 1661639 - BinaryExpression 1661593 1661638 - CallExpression 1661593 1661610 - Identifier 1661593 1661607 - Identifier 1661608 1661609 - AmpersandToken 1661610 1661612 - PropertyAccessExpression 1661612 1661638 - Identifier 1661612 1661624 - Identifier 1661625 1661638 - Block 1661640 1661696 - ReturnStatement 1661642 1661677 - FalseKeyword 1661670 1661676 - ExpressionStatement 1661696 1661742 - BinaryExpression 1661696 1661741 - Identifier 1661696 1661734 - EqualsToken 1661734 1661736 - TrueKeyword 1661736 1661741 - ReturnStatement 1661768 1661806 - Identifier 1661784 1661805 - FunctionDeclaration 1661813 1663129 - Identifier 1662038 1662069 - Parameter 1662070 1662080 - Identifier 1662070 1662074 - TypeReference 1662075 1662080 - Identifier 1662075 1662080 - Block 1662081 1663129 - VariableStatement 1662083 1662129 - VariableDeclarationList 1662083 1662128 - VariableDeclaration 1662098 1662128 - Identifier 1662098 1662103 - CallExpression 1662105 1662128 - Identifier 1662105 1662122 - Identifier 1662123 1662127 - VariableStatement 1662129 1662166 - VariableDeclarationList 1662129 1662165 - VariableDeclaration 1662144 1662165 - Identifier 1662144 1662151 - PropertyAccessExpression 1662153 1662165 - Identifier 1662153 1662158 - Identifier 1662159 1662165 - VariableStatement 1662166 1662477 - VariableDeclarationList 1662166 1662476 - VariableDeclaration 1662181 1662476 - Identifier 1662181 1662203 - BinaryExpression 1662205 1662476 - CallExpression 1662205 1662240 - Identifier 1662205 1662232 - Identifier 1662233 1662239 - AmpersandAmpersandToken 1662240 1662243 - ParenthesizedExpression 1662243 1662476 - BinaryExpression 1662245 1662465 - BinaryExpression 1662245 1662295 - PropertyAccessExpression 1662245 1662282 - PropertyAccessExpression 1662245 1662270 - Identifier 1662245 1662265 - Identifier 1662266 1662270 - Identifier 1662271 1662282 - EqualsEqualsEqualsToken 1662282 1662286 - StringLiteral 1662286 1662295 - BarBarToken 1662295 1662298 - BinaryExpression 1662298 1662465 - BinaryExpression 1662298 1662406 - BinaryExpression 1662298 1662360 - PropertyAccessExpression 1662298 1662330 - PropertyAccessExpression 1662298 1662325 - Identifier 1662298 1662318 - Identifier 1662319 1662325 - Identifier 1662326 1662330 - EqualsEqualsEqualsToken 1662330 1662334 - PropertyAccessExpression 1662334 1662360 - Identifier 1662334 1662345 - Identifier 1662346 1662360 - AmpersandAmpersandToken 1662360 1662380 - CallExpression 1662380 1662406 - Identifier 1662380 1662393 - PropertyAccessExpression 1662394 1662405 - Identifier 1662394 1662400 - Identifier 1662401 1662405 - AmpersandAmpersandToken 1662406 1662426 - CallExpression 1662426 1662465 - Identifier 1662426 1662452 - PropertyAccessExpression 1662453 1662464 - Identifier 1662453 1662459 - Identifier 1662460 1662464 - VariableStatement 1662477 1663060 - VariableDeclarationList 1662477 1663059 - VariableDeclaration 1662492 1663059 - Identifier 1662492 1662512 - BinaryExpression 1662514 1663059 - BinaryExpression 1662514 1662921 - BinaryExpression 1662514 1662870 - BinaryExpression 1662514 1662802 - BinaryExpression 1662514 1662704 - BinaryExpression 1662514 1662637 - BinaryExpression 1662514 1662565 - PropertyAccessExpression 1662514 1662526 - Identifier 1662514 1662521 - Identifier 1662522 1662526 - EqualsEqualsEqualsToken 1662526 1662530 - PropertyAccessExpression 1662530 1662565 - Identifier 1662530 1662541 - Identifier 1662542 1662565 - AmpersandAmpersandToken 1662565 1662568 - BinaryExpression 1662568 1662637 - PropertyAccessExpression 1662568 1662628 - ParenthesizedExpression 1662568 1662617 - AsExpression 1662583 1662616 - Identifier 1662583 1662589 - TypeReference 1662592 1662616 - Identifier 1662592 1662616 - Identifier 1662618 1662628 - EqualsEqualsEqualsToken 1662628 1662632 - Identifier 1662632 1662637 - AmpersandAmpersandToken 1662637 1662640 - BinaryExpression 1662640 1662704 - PropertyAccessExpression 1662640 1662672 - PropertyAccessExpression 1662640 1662667 - Identifier 1662640 1662660 - Identifier 1662661 1662667 - Identifier 1662668 1662672 - EqualsEqualsEqualsToken 1662672 1662676 - PropertyAccessExpression 1662676 1662704 - Identifier 1662676 1662687 - Identifier 1662688 1662704 - AmpersandAmpersandToken 1662704 1662707 - BinaryExpression 1662707 1662802 - PropertyAccessExpression 1662707 1662775 - PropertyAccessExpression 1662707 1662770 - ParenthesizedExpression 1662707 1662756 - AsExpression 1662722 1662755 - PropertyAccessExpression 1662722 1662735 - Identifier 1662722 1662728 - Identifier 1662729 1662735 - TypeReference 1662738 1662755 - Identifier 1662738 1662755 - Identifier 1662757 1662770 - Identifier 1662771 1662775 - EqualsEqualsEqualsToken 1662775 1662779 - PropertyAccessExpression 1662779 1662802 - Identifier 1662779 1662790 - Identifier 1662791 1662802 - AmpersandAmpersandToken 1662802 1662805 - BinaryExpression 1662805 1662870 - PropertyAccessExpression 1662805 1662859 - ParenthesizedExpression 1662805 1662854 - AsExpression 1662820 1662853 - PropertyAccessExpression 1662820 1662833 - Identifier 1662820 1662826 - Identifier 1662827 1662833 - TypeReference 1662836 1662853 - Identifier 1662836 1662853 - Identifier 1662855 1662859 - EqualsEqualsEqualsToken 1662859 1662863 - Identifier 1662863 1662870 - AmpersandAmpersandToken 1662870 1662873 - PrefixUnaryExpression 1662873 1662921 - CallExpression 1662888 1662921 - Identifier 1662888 1662906 - PropertyAccessExpression 1662907 1662920 - Identifier 1662907 1662913 - Identifier 1662914 1662920 - AmpersandAmpersandToken 1662921 1662924 - CallExpression 1662924 1663059 - Identifier 1662924 1662960 - CallExpression 1662961 1663036 - Identifier 1662961 1662980 - PropertyAccessExpression 1662981 1663035 - ParenthesizedExpression 1662981 1663016 - AsExpression 1662982 1663015 - Identifier 1662982 1662988 - TypeReference 1662991 1663015 - Identifier 1662991 1663015 - Identifier 1663017 1663035 - PropertyAccessExpression 1663037 1663058 - Identifier 1663037 1663047 - Identifier 1663048 1663058 - ReturnStatement 1663060 1663122 - BinaryExpression 1663076 1663121 - Identifier 1663076 1663098 - BarBarToken 1663098 1663101 - Identifier 1663101 1663121 - FunctionDeclaration 1663129 1663584 - Identifier 1663145 1663185 - Parameter 1663186 1663203 - Identifier 1663186 1663190 - TypeReference 1663191 1663203 - Identifier 1663191 1663203 - Block 1663204 1663584 - ReturnStatement 1663206 1663577 - BinaryExpression 1663222 1663576 - ParenthesizedExpression 1663222 1663333 - BinaryExpression 1663224 1663332 - BinaryExpression 1663224 1663311 - BinaryExpression 1663224 1663282 - CallExpression 1663224 1663251 - Identifier 1663224 1663245 - Identifier 1663246 1663250 - BarBarToken 1663251 1663254 - CallExpression 1663254 1663282 - Identifier 1663254 1663276 - Identifier 1663277 1663281 - BarBarToken 1663282 1663285 - CallExpression 1663285 1663311 - Identifier 1663285 1663305 - Identifier 1663306 1663310 - BarBarToken 1663311 1663314 - CallExpression 1663314 1663332 - Identifier 1663314 1663326 - Identifier 1663327 1663331 - AmpersandAmpersandToken 1663333 1663336 - PrefixUnaryExpression 1663336 1663576 - PrefixUnaryExpression 1663351 1663576 - ParenthesizedExpression 1663352 1663576 - BinaryExpression 1663353 1663575 - CallExpression 1663353 1663389 - Identifier 1663353 1663383 - Identifier 1663384 1663388 - BarBarToken 1663389 1663392 - BinaryExpression 1663392 1663575 - BinaryExpression 1663392 1663527 - BinaryExpression 1663392 1663470 - BinaryExpression 1663392 1663450 - CallExpression 1663392 1663426 - Identifier 1663392 1663420 - Identifier 1663421 1663425 - AmpersandAmpersandToken 1663426 1663429 - CallExpression 1663429 1663450 - Identifier 1663429 1663444 - Identifier 1663445 1663449 - AmpersandAmpersandToken 1663450 1663453 - PropertyAccessExpression 1663453 1663470 - Identifier 1663453 1663458 - Identifier 1663459 1663470 - AmpersandAmpersandToken 1663470 1663473 - CallExpression 1663473 1663527 - Identifier 1663473 1663509 - PropertyAccessExpression 1663510 1663526 - Identifier 1663510 1663514 - Identifier 1663515 1663526 - AmpersandAmpersandToken 1663527 1663530 - CallExpression 1663530 1663575 - Identifier 1663530 1663557 - PropertyAccessExpression 1663558 1663574 - Identifier 1663558 1663562 - Identifier 1663563 1663574 - FunctionDeclaration 1663584 1665365 - Identifier 1663600 1663624 - Parameter 1663625 1663639 - Identifier 1663625 1663631 - TypeReference 1663632 1663639 - Identifier 1663632 1663639 - Parameter 1663640 1663664 - Identifier 1663640 1663651 - QuestionToken 1663651 1663652 - TypeReference 1663653 1663664 - Identifier 1663653 1663664 - Block 1663665 1665365 - ExpressionStatement 1663667 1663708 - BinaryExpression 1663667 1663707 - Identifier 1663667 1663683 - EqualsToken 1663683 1663685 - CallExpression 1663685 1663707 - Identifier 1663685 1663699 - Identifier 1663700 1663706 - IfStatement 1663708 1663885 - BinaryExpression 1663722 1663826 - PropertyAccessExpression 1663722 1663734 - Identifier 1663722 1663728 - Identifier 1663729 1663734 - AmpersandToken 1663734 1663736 - ParenthesizedExpression 1663736 1663826 - BinaryExpression 1663738 1663825 - BinaryExpression 1663738 1663799 - BinaryExpression 1663738 1663779 - PropertyAccessExpression 1663738 1663758 - Identifier 1663738 1663749 - Identifier 1663750 1663758 - BarToken 1663758 1663760 - PropertyAccessExpression 1663760 1663779 - Identifier 1663760 1663772 - Identifier 1663773 1663779 - BarToken 1663779 1663781 - PropertyAccessExpression 1663781 1663799 - Identifier 1663781 1663793 - Identifier 1663794 1663799 - BarToken 1663799 1663801 - PropertyAccessExpression 1663801 1663825 - Identifier 1663801 1663813 - Identifier 1663814 1663825 - Block 1663827 1663885 - ReturnStatement 1663829 1663874 - CallExpression 1663849 1663873 - Identifier 1663849 1663865 - Identifier 1663866 1663872 - IfStatement 1663885 1665358 - BinaryExpression 1663899 1663959 - PropertyAccessExpression 1663899 1663911 - Identifier 1663899 1663905 - Identifier 1663906 1663911 - AmpersandToken 1663911 1663913 - ParenthesizedExpression 1663913 1663959 - BinaryExpression 1663915 1663958 - PropertyAccessExpression 1663915 1663935 - Identifier 1663915 1663926 - Identifier 1663927 1663935 - BarToken 1663935 1663937 - PropertyAccessExpression 1663937 1663958 - Identifier 1663937 1663949 - Identifier 1663950 1663958 - Block 1663960 1665358 - IfStatement 1663962 1664257 - BinaryExpression 1663980 1664021 - CallExpression 1663980 1664001 - Identifier 1663980 1663993 - Identifier 1663994 1664000 - AmpersandToken 1664001 1664003 - PropertyAccessExpression 1664003 1664021 - Identifier 1664003 1664014 - Identifier 1664015 1664021 - Block 1664022 1664257 - VariableStatement 1664024 1664104 - VariableDeclarationList 1664024 1664103 - VariableDeclaration 1664047 1664103 - Identifier 1664047 1664054 - PropertyAccessExpression 1664056 1664103 - PropertyAccessExpression 1664056 1664087 - ParenthesizedExpression 1664056 1664081 - AsExpression 1664058 1664080 - Identifier 1664058 1664064 - TypeReference 1664067 1664080 - Identifier 1664067 1664080 - Identifier 1664082 1664087 - Identifier 1664088 1664103 - IfStatement 1664104 1664242 - BinaryExpression 1664126 1664167 - Identifier 1664126 1664132 - AmpersandAmpersandToken 1664132 1664135 - CallExpression 1664135 1664167 - Identifier 1664135 1664159 - Identifier 1664160 1664166 - Block 1664168 1664242 - ReturnStatement 1664170 1664223 - CallExpression 1664198 1664222 - Identifier 1664198 1664214 - Identifier 1664215 1664221 - VariableStatement 1664257 1664315 - VariableDeclarationList 1664257 1664314 - VariableDeclaration 1664276 1664314 - Identifier 1664276 1664288 - PropertyAccessExpression 1664290 1664314 - Identifier 1664290 1664297 - Identifier 1664298 1664314 - IfStatement 1664315 1665347 - Identifier 1664333 1664344 - Block 1664345 1665347 - IfStatement 1664347 1664496 - CallExpression 1664369 1664421 - Identifier 1664369 1664408 - Identifier 1664409 1664420 - Block 1664422 1664496 - ReturnStatement 1664424 1664477 - CallExpression 1664452 1664476 - Identifier 1664452 1664468 - Identifier 1664469 1664475 - IfStatement 1664496 1665117 - BinaryExpression 1664518 1664616 - CallExpression 1664518 1664552 - Identifier 1664518 1664539 - Identifier 1664540 1664551 - AmpersandAmpersandToken 1664552 1664555 - BinaryExpression 1664555 1664616 - PropertyAccessExpression 1664555 1664586 - PropertyAccessExpression 1664555 1664581 - PropertyAccessExpression 1664555 1664574 - Identifier 1664555 1664567 - Identifier 1664568 1664574 - Identifier 1664575 1664581 - Identifier 1664582 1664586 - EqualsEqualsEqualsToken 1664586 1664590 - PropertyAccessExpression 1664590 1664616 - Identifier 1664590 1664601 - Identifier 1664602 1664616 - Block 1664617 1665117 - VariableStatement 1664619 1664685 - VariableDeclarationList 1664619 1664684 - VariableDeclaration 1664646 1664684 - Identifier 1664646 1664656 - PropertyAccessExpression 1664658 1664684 - PropertyAccessExpression 1664658 1664677 - Identifier 1664658 1664670 - Identifier 1664671 1664677 - Identifier 1664678 1664684 - VariableStatement 1664685 1664798 - VariableDeclarationList 1664685 1664797 - VariableDeclaration 1664712 1664797 - Identifier 1664712 1664727 - CallExpression 1664729 1664797 - Identifier 1664729 1664749 - PropertyAccessExpression 1664750 1664770 - Identifier 1664750 1664759 - Identifier 1664760 1664770 - Identifier 1664771 1664796 - IfStatement 1664798 1665098 - Identifier 1664824 1664838 - Block 1664839 1665098 - VariableStatement 1664841 1664950 - VariableDeclarationList 1664841 1664949 - VariableDeclaration 1664872 1664949 - Identifier 1664872 1664876 - ConditionalExpression 1664878 1664949 - PropertyAccessExpression 1664878 1664902 - Identifier 1664878 1664888 - Identifier 1664889 1664902 - QuestionToken 1664902 1664904 - PropertyAccessExpression 1664904 1664928 - Identifier 1664904 1664917 - Identifier 1664918 1664928 - ColonToken 1664928 1664930 - PropertyAccessExpression 1664930 1664949 - Identifier 1664930 1664943 - Identifier 1664944 1664949 - ReturnStatement 1664950 1665075 - CallExpression 1664982 1665074 - Identifier 1664982 1665013 - Identifier 1665014 1665017 - Identifier 1665018 1665033 - Identifier 1665034 1665048 - Identifier 1665049 1665073 - IfStatement 1665117 1665332 - Identifier 1665139 1665149 - Block 1665150 1665332 - ExpressionStatement 1665152 1665313 - CallExpression 1665152 1665312 - Identifier 1665152 1665188 - Identifier 1665189 1665199 - CallExpression 1665200 1665311 - Identifier 1665200 1665224 - Identifier 1665225 1665236 - PropertyAccessExpression 1665237 1665286 - Identifier 1665237 1665249 - Identifier 1665250 1665286 - CallExpression 1665287 1665310 - Identifier 1665287 1665302 - Identifier 1665303 1665309 - FunctionDeclaration 1665365 1667582 - Identifier 1665774 1665794 - Parameter 1665795 1665811 - Identifier 1665795 1665799 - TypeReference 1665800 1665811 - Identifier 1665800 1665811 - Parameter 1665812 1665847 - Identifier 1665812 1665823 - UnionType 1665824 1665847 - TypeReference 1665824 1665835 - Identifier 1665824 1665835 - UndefinedKeyword 1665837 1665847 - UnionType 1665849 1665866 - TypeReference 1665849 1665854 - Identifier 1665849 1665854 - UndefinedKeyword 1665856 1665866 - Block 1665866 1667582 - IfStatement 1665868 1667575 - PrefixUnaryExpression 1665882 1665923 - ParenthesizedExpression 1665883 1665923 - BinaryExpression 1665884 1665922 - PropertyAccessExpression 1665884 1665894 - Identifier 1665884 1665888 - Identifier 1665889 1665894 - AmpersandToken 1665894 1665896 - PropertyAccessExpression 1665896 1665922 - Identifier 1665896 1665906 - Identifier 1665907 1665922 - Block 1665924 1667575 - SwitchStatement 1665926 1667564 - PropertyAccessExpression 1665948 1665957 - Identifier 1665948 1665952 - Identifier 1665953 1665957 - CaseBlock 1665958 1667564 - CaseClause 1665960 1666193 - PropertyAccessExpression 1665982 1666004 - Identifier 1665982 1665993 - Identifier 1665994 1666004 - VariableStatement 1666005 1666120 - VariableDeclarationList 1666005 1666119 - VariableDeclaration 1666032 1666119 - Identifier 1666032 1666039 - CallExpression 1666041 1666119 - Identifier 1666041 1666080 - CallExpression 1666081 1666118 - Identifier 1666081 1666098 - AsExpression 1666099 1666117 - Identifier 1666099 1666103 - TypeReference 1666106 1666117 - Identifier 1666106 1666117 - ReturnStatement 1666120 1666193 - CallExpression 1666148 1666192 - Identifier 1666148 1666172 - Identifier 1666173 1666179 - Identifier 1666180 1666191 - CaseClause 1666193 1666294 - PropertyAccessExpression 1666215 1666238 - Identifier 1666215 1666226 - Identifier 1666227 1666238 - ReturnStatement 1666239 1666294 - CallExpression 1666267 1666293 - Identifier 1666267 1666287 - Identifier 1666288 1666292 - CaseClause 1666294 1666397 - PropertyAccessExpression 1666316 1666340 - Identifier 1666316 1666327 - Identifier 1666328 1666340 - ReturnStatement 1666341 1666397 - CallExpression 1666369 1666396 - Identifier 1666369 1666390 - Identifier 1666391 1666395 - CaseClause 1666397 1667384 - PropertyAccessExpression 1666419 1666455 - Identifier 1666419 1666430 - Identifier 1666431 1666455 - Block 1666456 1667384 - VariableStatement 1666458 1666572 - VariableDeclarationList 1666458 1666571 - VariableDeclaration 1666485 1666571 - Identifier 1666485 1666490 - CallExpression 1666492 1666571 - Identifier 1666492 1666512 - PropertyAccessExpression 1666513 1666558 - ParenthesizedExpression 1666513 1666547 - AsExpression 1666514 1666546 - Identifier 1666514 1666518 - TypeReference 1666521 1666546 - Identifier 1666521 1666546 - Identifier 1666548 1666558 - Identifier 1666559 1666570 - IfStatement 1666572 1667326 - Identifier 1666598 1666602 - Block 1666603 1667326 - VariableStatement 1666605 1666684 - VariableDeclarationList 1666605 1666683 - VariableDeclaration 1666636 1666683 - Identifier 1666636 1666641 - PropertyAccessExpression 1666643 1666683 - ParenthesizedExpression 1666643 1666678 - AsExpression 1666645 1666677 - Identifier 1666645 1666649 - TypeReference 1666652 1666677 - Identifier 1666652 1666677 - Identifier 1666679 1666683 - VariableStatement 1666684 1666739 - VariableDeclarationList 1666684 1666738 - VariableDeclaration 1666713 1666738 - Identifier 1666713 1666718 - UnionType 1666719 1666738 - TypeReference 1666719 1666726 - Identifier 1666719 1666726 - UndefinedKeyword 1666728 1666738 - IfStatement 1666739 1667220 - CallExpression 1666769 1666794 - Identifier 1666769 1666788 - Identifier 1666789 1666793 - Block 1666795 1667082 - IfStatement 1666797 1666928 - PrefixUnaryExpression 1666831 1666843 - PropertyAccessExpression 1666832 1666843 - Identifier 1666832 1666836 - Identifier 1666837 1666843 - Block 1666844 1666928 - ReturnStatement 1666846 1666897 - Identifier 1666886 1666896 - ExpressionStatement 1666928 1667055 - BinaryExpression 1666928 1667054 - Identifier 1666928 1666962 - EqualsToken 1666962 1666964 - CallExpression 1666964 1667054 - Identifier 1666964 1666982 - Identifier 1666983 1666987 - CallExpression 1666988 1667053 - Identifier 1666988 1667022 - PropertyAccessExpression 1667023 1667034 - Identifier 1667023 1667027 - Identifier 1667028 1667034 - PropertyAccessExpression 1667035 1667052 - Identifier 1667035 1667040 - Identifier 1667041 1667052 - Block 1667112 1667220 - ExpressionStatement 1667114 1667193 - BinaryExpression 1667114 1667192 - Identifier 1667114 1667148 - EqualsToken 1667148 1667150 - CallExpression 1667150 1667192 - Identifier 1667150 1667168 - Identifier 1667169 1667173 - PropertyAccessExpression 1667174 1667191 - Identifier 1667174 1667179 - Identifier 1667180 1667191 - ReturnStatement 1667220 1667303 - BinaryExpression 1667252 1667302 - Identifier 1667252 1667257 - AmpersandAmpersandToken 1667257 1667260 - CallExpression 1667260 1667302 - Identifier 1667260 1667284 - Identifier 1667285 1667289 - Identifier 1667290 1667301 - ReturnStatement 1667326 1667365 - Identifier 1667354 1667364 - CaseClause 1667384 1667549 - PropertyAccessExpression 1667406 1667441 - Identifier 1667406 1667417 - Identifier 1667418 1667441 - ReturnStatement 1667442 1667549 - CallExpression 1667470 1667548 - Identifier 1667470 1667490 - PropertyAccessExpression 1667491 1667535 - ParenthesizedExpression 1667491 1667524 - AsExpression 1667492 1667523 - Identifier 1667492 1667496 - TypeReference 1667499 1667523 - Identifier 1667499 1667523 - Identifier 1667525 1667535 - Identifier 1667536 1667547 - FunctionDeclaration 1667582 1669683 - Identifier 1667598 1667618 - Parameter 1667619 1667662 - Identifier 1667619 1667623 - UnionType 1667624 1667662 - TypeReference 1667624 1667639 - Identifier 1667624 1667639 - TypeReference 1667641 1667662 - Identifier 1667641 1667662 - Block 1667663 1669683 - VariableStatement 1667665 1667708 - VariableDeclarationList 1667665 1667707 - VariableDeclaration 1667680 1667707 - Identifier 1667680 1667686 - CallExpression 1667688 1667707 - Identifier 1667688 1667701 - Identifier 1667702 1667706 - VariableStatement 1667708 1667757 - VariableDeclarationList 1667708 1667756 - VariableDeclaration 1667721 1667756 - Identifier 1667721 1667731 - PropertyAccessExpression 1667733 1667756 - Identifier 1667733 1667739 - Identifier 1667740 1667756 - IfStatement 1667757 1669604 - BinaryExpression 1667771 1667794 - Identifier 1667771 1667780 - EqualsEqualsEqualsToken 1667780 1667784 - Identifier 1667784 1667794 - Block 1667795 1669604 - VariableStatement 1667797 1668209 - VariableDeclarationList 1667797 1668208 - VariableDeclaration 1668181 1668208 - Identifier 1668181 1668190 - UnionType 1668191 1668208 - TypeReference 1668191 1668196 - Identifier 1668191 1668196 - UndefinedKeyword 1668198 1668208 - IfStatement 1668209 1669092 - CallExpression 1668227 1668251 - Identifier 1668227 1668245 - Identifier 1668246 1668250 - Block 1668252 1668419 - VariableStatement 1668254 1668325 - VariableDeclarationList 1668254 1668324 - VariableDeclaration 1668277 1668324 - Identifier 1668277 1668287 - CallExpression 1668289 1668324 - Identifier 1668289 1668312 - PropertyAccessExpression 1668313 1668323 - Identifier 1668313 1668317 - Identifier 1668318 1668323 - ExpressionStatement 1668325 1668404 - BinaryExpression 1668325 1668403 - Identifier 1668325 1668351 - EqualsToken 1668351 1668353 - CallExpression 1668353 1668403 - Identifier 1668353 1668392 - Identifier 1668393 1668402 - IfStatement 1668437 1669092 - BinaryExpression 1668442 1668493 - PropertyAccessExpression 1668442 1668458 - PropertyAccessExpression 1668442 1668453 - Identifier 1668442 1668446 - Identifier 1668447 1668453 - Identifier 1668454 1668458 - EqualsEqualsEqualsToken 1668458 1668462 - PropertyAccessExpression 1668462 1668493 - Identifier 1668462 1668473 - Identifier 1668474 1668493 - Block 1668494 1668603 - ExpressionStatement 1668496 1668588 - BinaryExpression 1668496 1668587 - Identifier 1668496 1668522 - EqualsToken 1668522 1668524 - CallExpression 1668524 1668587 - Identifier 1668524 1668544 - PropertyAccessExpression 1668545 1668560 - Identifier 1668545 1668549 - Identifier 1668550 1668560 - Identifier 1668561 1668586 - IfStatement 1668621 1669092 - BinaryExpression 1668626 1668674 - PropertyAccessExpression 1668626 1668646 - PropertyAccessExpression 1668626 1668641 - Identifier 1668626 1668630 - Identifier 1668631 1668641 - Identifier 1668642 1668646 - ExclamationEqualsEqualsToken 1668646 1668650 - PropertyAccessExpression 1668650 1668674 - Identifier 1668650 1668661 - Identifier 1668662 1668674 - Block 1668675 1669092 - IfStatement 1668677 1669077 - CallExpression 1668699 1668720 - Identifier 1668699 1668714 - Identifier 1668715 1668719 - Block 1668721 1668961 - ExpressionStatement 1668723 1668942 - BinaryExpression 1668723 1668941 - Identifier 1668723 1668753 - EqualsToken 1668753 1668755 - CallExpression 1668755 1668941 - Identifier 1668755 1668772 - CallExpression 1668773 1668875 - Identifier 1668773 1668824 - CallExpression 1668825 1668857 - Identifier 1668825 1668840 - PropertyAccessExpression 1668841 1668856 - Identifier 1668841 1668845 - Identifier 1668846 1668856 - PropertyAccessExpression 1668858 1668874 - Identifier 1668858 1668863 - Identifier 1668864 1668874 - PropertyAccessExpression 1668876 1668917 - Identifier 1668876 1668906 - Identifier 1668907 1668917 - Block 1668983 1669077 - ExpressionStatement 1668985 1669058 - BinaryExpression 1668985 1669057 - Identifier 1668985 1669015 - EqualsToken 1669015 1669017 - CallExpression 1669017 1669057 - Identifier 1669017 1669040 - PropertyAccessExpression 1669041 1669056 - Identifier 1669041 1669045 - Identifier 1669046 1669056 - VariableStatement 1669092 1669219 - VariableDeclarationList 1669092 1669218 - VariableDeclaration 1669111 1669218 - Identifier 1669111 1669122 - CallExpression 1669124 1669218 - Identifier 1669124 1669144 - BinaryExpression 1669145 1669197 - BinaryExpression 1669145 1669182 - Identifier 1669145 1669153 - AmpersandAmpersandToken 1669153 1669156 - CallExpression 1669156 1669182 - Identifier 1669156 1669172 - Identifier 1669173 1669181 - BarBarToken 1669182 1669185 - Identifier 1669185 1669197 - PropertyAccessExpression 1669198 1669217 - Identifier 1669198 1669212 - Identifier 1669213 1669217 - VariableStatement 1669219 1669453 - VariableDeclarationList 1669219 1669452 - VariableDeclaration 1669238 1669452 - Identifier 1669238 1669248 - ConditionalExpression 1669250 1669452 - BinaryExpression 1669250 1669307 - BinaryExpression 1669250 1669274 - PropertyAccessExpression 1669250 1669268 - Identifier 1669250 1669261 - Identifier 1669262 1669268 - EqualsEqualsEqualsToken 1669268 1669272 - NumericLiteral 1669272 1669274 - AmpersandAmpersandToken 1669274 1669277 - PrefixUnaryExpression 1669277 1669307 - PropertyAccessExpression 1669279 1669307 - ElementAccessExpression 1669279 1669292 - Identifier 1669279 1669289 - NumericLiteral 1669290 1669291 - Identifier 1669293 1669307 - QuestionToken 1669307 1669309 - ElementAccessExpression 1669309 1669323 - Identifier 1669309 1669320 - NumericLiteral 1669321 1669322 - ColonToken 1669323 1669325 - ConditionalExpression 1669325 1669452 - CallExpression 1669325 1669394 - Identifier 1669325 1669347 - Identifier 1669348 1669358 - Identifier 1669359 1669393 - QuestionToken 1669394 1669396 - CallExpression 1669396 1669423 - Identifier 1669396 1669417 - Identifier 1669418 1669422 - ColonToken 1669423 1669425 - Identifier 1669425 1669452 - ExpressionStatement 1669453 1669593 - BinaryExpression 1669453 1669592 - Identifier 1669453 1669476 - EqualsToken 1669476 1669478 - BinaryExpression 1669478 1669592 - PropertyAccessExpression 1669478 1669501 - Identifier 1669478 1669484 - Identifier 1669485 1669501 - EqualsToken 1669501 1669503 - ConditionalExpression 1669503 1669592 - BinaryExpression 1669503 1669561 - Identifier 1669503 1669513 - AmpersandAmpersandToken 1669513 1669516 - CallExpression 1669516 1669561 - Identifier 1669516 1669550 - Identifier 1669551 1669560 - QuestionToken 1669561 1669563 - Identifier 1669563 1669573 - ColonToken 1669573 1669575 - Identifier 1669575 1669592 - ReturnStatement 1669604 1669676 - ConditionalExpression 1669620 1669675 - BinaryExpression 1669620 1669651 - Identifier 1669620 1669630 - EqualsEqualsEqualsToken 1669630 1669634 - Identifier 1669634 1669651 - QuestionToken 1669651 1669653 - Identifier 1669653 1669663 - ColonToken 1669663 1669665 - Identifier 1669665 1669675 - FunctionDeclaration 1669683 1669957 - Identifier 1669699 1669733 - Parameter 1669734 1669754 - Identifier 1669734 1669743 - TypeReference 1669744 1669754 - Identifier 1669744 1669754 - Block 1669755 1669957 - ReturnStatement 1669757 1669950 - PrefixUnaryExpression 1669773 1669949 - PrefixUnaryExpression 1669775 1669949 - ParenthesizedExpression 1669776 1669949 - BinaryExpression 1669777 1669948 - CallExpression 1669777 1669815 - Identifier 1669777 1669804 - Identifier 1669805 1669814 - BarBarToken 1669815 1669818 - BinaryExpression 1669818 1669948 - PropertyAccessExpression 1669818 1669853 - Identifier 1669818 1669841 - Identifier 1669842 1669853 - AmpersandAmpersandToken 1669853 1669856 - BinaryExpression 1669856 1669948 - PropertyAccessExpression 1669856 1669930 - ParenthesizedExpression 1669856 1669924 - BinaryExpression 1669858 1669923 - CallExpression 1669858 1669908 - Identifier 1669858 1669885 - PropertyAccessExpression 1669886 1669907 - Identifier 1669886 1669895 - Identifier 1669896 1669907 - BarBarToken 1669908 1669911 - Identifier 1669911 1669923 - Identifier 1669925 1669930 - AmpersandToken 1669930 1669932 - PropertyAccessExpression 1669932 1669948 - Identifier 1669932 1669942 - Identifier 1669943 1669948 - FunctionDeclaration 1669957 1670464 - Identifier 1669973 1669998 - Parameter 1669999 1670023 - Identifier 1669999 1670008 - TypeReference 1670009 1670023 - Identifier 1670009 1670023 - Parameter 1670024 1670055 - Identifier 1670024 1670039 - TypeReference 1670040 1670055 - Identifier 1670040 1670055 - Block 1670056 1670464 - IfStatement 1670058 1670263 - BinaryExpression 1670072 1670177 - BinaryExpression 1670072 1670119 - PropertyAccessExpression 1670072 1670086 - Identifier 1670072 1670081 - Identifier 1670082 1670086 - EqualsEqualsEqualsToken 1670086 1670090 - PropertyAccessExpression 1670090 1670119 - Identifier 1670090 1670108 - Identifier 1670109 1670119 - BarBarToken 1670119 1670122 - BinaryExpression 1670122 1670177 - PropertyAccessExpression 1670122 1670137 - Identifier 1670122 1670132 - Identifier 1670133 1670137 - EqualsEqualsEqualsToken 1670137 1670141 - PropertyAccessExpression 1670141 1670177 - Identifier 1670141 1670159 - Identifier 1670160 1670177 - Block 1670178 1670263 - ReturnStatement 1670180 1670252 - ElementAccessExpression 1670200 1670251 - PropertyAccessExpression 1670200 1670225 - Identifier 1670200 1670215 - Identifier 1670216 1670225 - PropertyAccessExpression 1670226 1670250 - Identifier 1670226 1670235 - Identifier 1670236 1670250 - VariableStatement 1670263 1670342 - VariableDeclarationList 1670263 1670341 - VariableDeclaration 1670278 1670341 - Identifier 1670278 1670296 - CallExpression 1670298 1670341 - Identifier 1670298 1670314 - PropertyAccessExpression 1670315 1670340 - Identifier 1670315 1670329 - Identifier 1670330 1670340 - ReturnStatement 1670342 1670457 - ConditionalExpression 1670358 1670456 - CallExpression 1670358 1670396 - Identifier 1670358 1670377 - Identifier 1670378 1670395 - QuestionToken 1670396 1670398 - CallExpression 1670398 1670444 - Identifier 1670398 1670414 - PropertyAccessExpression 1670415 1670443 - Identifier 1670415 1670432 - Identifier 1670433 1670443 - ColonToken 1670444 1670446 - Identifier 1670446 1670456 - FunctionDeclaration 1670464 1670941 - Identifier 1670480 1670503 - Parameter 1670504 1670514 - Identifier 1670504 1670508 - TypeReference 1670509 1670514 - Identifier 1670509 1670514 - Block 1670515 1670941 - VariableStatement 1670517 1670621 - VariableDeclarationList 1670517 1670620 - VariableDeclaration 1670532 1670620 - Identifier 1670532 1670538 - AsExpression 1670540 1670620 - CallExpression 1670540 1670584 - Identifier 1670540 1670553 - Identifier 1670554 1670558 - Identifier 1670559 1670583 - UnionType 1670587 1670620 - TypeReference 1670587 1670593 - Identifier 1670587 1670593 - TypeReference 1670595 1670607 - Identifier 1670595 1670607 - TypeReference 1670609 1670620 - Identifier 1670609 1670620 - VariableStatement 1670621 1670676 - VariableDeclarationList 1670621 1670675 - VariableDeclaration 1670636 1670675 - Identifier 1670636 1670647 - CallExpression 1670649 1670675 - Identifier 1670649 1670669 - Identifier 1670670 1670674 - VariableStatement 1670676 1670758 - VariableDeclarationList 1670676 1670757 - VariableDeclaration 1670691 1670757 - Identifier 1670691 1670696 - CallExpression 1670698 1670757 - Identifier 1670698 1670723 - Identifier 1670724 1670734 - PropertyAccessExpression 1670735 1670756 - PropertyAccessExpression 1670735 1670752 - Identifier 1670735 1670741 - Identifier 1670742 1670752 - Identifier 1670753 1670756 - ExpressionStatement 1670758 1670934 - CallExpression 1670758 1670933 - PropertyAccessExpression 1670758 1670783 - Identifier 1670758 1670779 - Identifier 1670780 1670783 - CallExpression 1670784 1670932 - Identifier 1670784 1670804 - Identifier 1670805 1670815 - PropertyAccessExpression 1670816 1670827 - Identifier 1670816 1670821 - Identifier 1670822 1670827 - PropertyAccessExpression 1670828 1670840 - Identifier 1670828 1670833 - Identifier 1670834 1670840 - PropertyAccessExpression 1670841 1670931 - Identifier 1670841 1670853 - Identifier 1670854 1670931 - FunctionDeclaration 1670941 1671178 - Identifier 1670957 1670977 - Parameter 1670978 1670992 - Identifier 1670978 1670982 - TypeReference 1670983 1670992 - Identifier 1670983 1670992 - Block 1670993 1671178 - VariableStatement 1670995 1671076 - VariableDeclarationList 1670995 1671075 - VariableDeclaration 1671010 1671075 - Identifier 1671010 1671017 - CallExpression 1671019 1671075 - Identifier 1671019 1671045 - Identifier 1671046 1671050 - FalseKeyword 1671051 1671074 - ExpressionStatement 1671076 1671106 - BinaryExpression 1671076 1671105 - Identifier 1671076 1671098 - EqualsToken 1671098 1671100 - Identifier 1671100 1671105 - ExpressionStatement 1671106 1671147 - BinaryExpression 1671106 1671146 - Identifier 1671106 1671137 - EqualsToken 1671137 1671139 - Identifier 1671139 1671146 - ReturnStatement 1671147 1671171 - Identifier 1671163 1671170 - FunctionDeclaration 1671178 1671877 - Identifier 1671194 1671212 - Parameter 1671213 1671229 - Identifier 1671213 1671217 - TypeReference 1671218 1671229 - Identifier 1671218 1671229 - BooleanKeyword 1671231 1671239 - Block 1671239 1671877 - VariableStatement 1671241 1671323 - VariableDeclarationList 1671241 1671322 - VariableDeclaration 1671256 1671322 - Identifier 1671256 1671261 - CallExpression 1671263 1671322 - Identifier 1671263 1671279 - Identifier 1671280 1671284 - TrueKeyword 1671285 1671321 - ReturnStatement 1671323 1671870 - BinaryExpression 1671339 1671869 - BinaryExpression 1671339 1671377 - PropertyAccessExpression 1671339 1671349 - Identifier 1671339 1671344 - Identifier 1671345 1671349 - EqualsEqualsEqualsToken 1671349 1671353 - PropertyAccessExpression 1671353 1671377 - Identifier 1671353 1671364 - Identifier 1671365 1671377 - BarBarToken 1671377 1671380 - BinaryExpression 1671380 1671869 - BinaryExpression 1671380 1671422 - PropertyAccessExpression 1671380 1671390 - Identifier 1671380 1671385 - Identifier 1671386 1671390 - EqualsEqualsEqualsToken 1671390 1671394 - PropertyAccessExpression 1671394 1671422 - Identifier 1671394 1671405 - Identifier 1671406 1671422 - AmpersandAmpersandToken 1671422 1671425 - ParenthesizedExpression 1671425 1671869 - BinaryExpression 1671427 1671850 - BinaryExpression 1671427 1671644 - BinaryExpression 1671427 1671533 - PropertyAccessExpression 1671427 1671494 - PropertyAccessExpression 1671427 1671489 - ParenthesizedExpression 1671427 1671475 - AsExpression 1671450 1671474 - Identifier 1671450 1671454 - TypeReference 1671457 1671474 - Identifier 1671457 1671474 - Identifier 1671476 1671489 - Identifier 1671490 1671494 - EqualsEqualsEqualsToken 1671494 1671498 - PropertyAccessExpression 1671498 1671533 - Identifier 1671498 1671509 - Identifier 1671510 1671533 - AmpersandAmpersandToken 1671533 1671536 - ParenthesizedExpression 1671536 1671644 - BinaryExpression 1671538 1671643 - CallExpression 1671538 1671588 - Identifier 1671538 1671555 - PropertyAccessExpression 1671556 1671587 - ParenthesizedExpression 1671556 1671582 - AsExpression 1671557 1671581 - Identifier 1671557 1671561 - TypeReference 1671564 1671581 - Identifier 1671564 1671581 - Identifier 1671583 1671587 - BarBarToken 1671588 1671591 - CallExpression 1671591 1671643 - Identifier 1671591 1671609 - PropertyAccessExpression 1671610 1671642 - ParenthesizedExpression 1671610 1671636 - AsExpression 1671611 1671635 - Identifier 1671611 1671615 - TypeReference 1671618 1671635 - Identifier 1671618 1671635 - Identifier 1671637 1671642 - BarBarToken 1671644 1671647 - BinaryExpression 1671647 1671850 - BinaryExpression 1671647 1671795 - BinaryExpression 1671647 1671741 - PropertyAccessExpression 1671647 1671714 - PropertyAccessExpression 1671647 1671709 - ParenthesizedExpression 1671647 1671695 - AsExpression 1671670 1671694 - Identifier 1671670 1671674 - TypeReference 1671677 1671694 - Identifier 1671677 1671694 - Identifier 1671696 1671709 - Identifier 1671710 1671714 - EqualsEqualsEqualsToken 1671714 1671718 - PropertyAccessExpression 1671718 1671741 - Identifier 1671718 1671729 - Identifier 1671730 1671741 - AmpersandAmpersandToken 1671741 1671744 - CallExpression 1671744 1671795 - Identifier 1671744 1671762 - PropertyAccessExpression 1671763 1671794 - ParenthesizedExpression 1671763 1671789 - AsExpression 1671764 1671788 - Identifier 1671764 1671768 - TypeReference 1671771 1671788 - Identifier 1671771 1671788 - Identifier 1671790 1671794 - AmpersandAmpersandToken 1671795 1671798 - CallExpression 1671798 1671850 - Identifier 1671798 1671816 - PropertyAccessExpression 1671817 1671849 - ParenthesizedExpression 1671817 1671843 - AsExpression 1671818 1671842 - Identifier 1671818 1671822 - TypeReference 1671825 1671842 - Identifier 1671825 1671842 - Identifier 1671844 1671849 - FunctionDeclaration 1671877 1675608 - Identifier 1671893 1671919 - Parameter 1671920 1671934 - Identifier 1671920 1671924 - TypeReference 1671925 1671934 - Identifier 1671925 1671934 - Parameter 1671935 1671957 - Identifier 1671935 1671948 - BooleanKeyword 1671949 1671957 - BooleanKeyword 1671959 1671967 - Block 1671967 1675608 - WhileStatement 1671969 1675601 - TrueKeyword 1671986 1671990 - Block 1671991 1675601 - IfStatement 1671993 1672097 - BinaryExpression 1672011 1672032 - Identifier 1672011 1672015 - EqualsEqualsEqualsToken 1672015 1672019 - Identifier 1672019 1672032 - Block 1672033 1672097 - ReturnStatement 1672035 1672082 - Identifier 1672059 1672081 - VariableStatement 1672097 1672136 - VariableDeclarationList 1672097 1672135 - VariableDeclaration 1672116 1672135 - Identifier 1672116 1672122 - PropertyAccessExpression 1672124 1672135 - Identifier 1672124 1672129 - Identifier 1672130 1672135 - IfStatement 1672136 1672555 - BinaryExpression 1672154 1672178 - Identifier 1672154 1672159 - AmpersandToken 1672159 1672161 - PropertyAccessExpression 1672161 1672178 - Identifier 1672161 1672171 - Identifier 1672172 1672178 - Block 1672179 1672555 - IfStatement 1672181 1672501 - PrefixUnaryExpression 1672203 1672216 - Identifier 1672204 1672216 - Block 1672217 1672501 - VariableStatement 1672219 1672272 - VariableDeclarationList 1672219 1672271 - VariableDeclaration 1672246 1672271 - Identifier 1672246 1672249 - CallExpression 1672251 1672271 - Identifier 1672251 1672265 - Identifier 1672266 1672270 - VariableStatement 1672272 1672334 - VariableDeclarationList 1672272 1672333 - VariableDeclaration 1672299 1672333 - Identifier 1672299 1672309 - ElementAccessExpression 1672311 1672333 - Identifier 1672311 1672329 - Identifier 1672330 1672332 - ReturnStatement 1672334 1672482 - ConditionalExpression 1672362 1672481 - BinaryExpression 1672362 1672386 - Identifier 1672362 1672372 - ExclamationEqualsEqualsToken 1672372 1672376 - Identifier 1672376 1672386 - QuestionToken 1672386 1672388 - Identifier 1672388 1672398 - ColonToken 1672398 1672400 - ParenthesizedExpression 1672400 1672481 - BinaryExpression 1672402 1672480 - ElementAccessExpression 1672402 1672423 - Identifier 1672402 1672419 - Identifier 1672420 1672422 - EqualsToken 1672423 1672425 - CallExpression 1672425 1672480 - Identifier 1672425 1672451 - Identifier 1672452 1672456 - TrueKeyword 1672457 1672479 - ExpressionStatement 1672501 1672540 - BinaryExpression 1672501 1672539 - Identifier 1672501 1672531 - EqualsToken 1672531 1672533 - FalseKeyword 1672533 1672539 - IfStatement 1672555 1675590 - BinaryExpression 1672573 1672651 - Identifier 1672573 1672578 - AmpersandToken 1672578 1672580 - ParenthesizedExpression 1672580 1672651 - BinaryExpression 1672582 1672650 - BinaryExpression 1672582 1672624 - PropertyAccessExpression 1672582 1672602 - Identifier 1672582 1672591 - Identifier 1672592 1672602 - BarToken 1672602 1672604 - PropertyAccessExpression 1672604 1672624 - Identifier 1672604 1672614 - Identifier 1672615 1672624 - BarToken 1672624 1672626 - PropertyAccessExpression 1672626 1672650 - Identifier 1672626 1672636 - Identifier 1672637 1672650 - Block 1672652 1672766 - ExpressionStatement 1672654 1672751 - BinaryExpression 1672654 1672750 - Identifier 1672654 1672676 - EqualsToken 1672676 1672678 - PropertyAccessExpression 1672678 1672750 - ParenthesizedExpression 1672678 1672739 - AsExpression 1672680 1672738 - Identifier 1672680 1672684 - UnionType 1672687 1672738 - TypeReference 1672687 1672702 - Identifier 1672687 1672702 - TypeReference 1672704 1672718 - Identifier 1672704 1672718 - TypeReference 1672720 1672738 - Identifier 1672720 1672738 - Identifier 1672740 1672750 - IfStatement 1672784 1675590 - BinaryExpression 1672789 1672811 - Identifier 1672789 1672794 - AmpersandToken 1672794 1672796 - PropertyAccessExpression 1672796 1672811 - Identifier 1672796 1672806 - Identifier 1672807 1672811 - Block 1672812 1673657 - VariableStatement 1672814 1672895 - VariableDeclarationList 1672814 1672894 - VariableDeclaration 1672837 1672894 - Identifier 1672837 1672847 - CallExpression 1672849 1672894 - Identifier 1672849 1672869 - PropertyAccessExpression 1672870 1672893 - ParenthesizedExpression 1672870 1672888 - AsExpression 1672871 1672887 - Identifier 1672871 1672875 - TypeReference 1672878 1672887 - Identifier 1672878 1672887 - Identifier 1672889 1672893 - IfStatement 1672895 1673587 - Identifier 1672917 1672926 - Block 1672927 1673587 - VariableStatement 1672929 1673008 - VariableDeclarationList 1672929 1673007 - VariableDeclaration 1672956 1673007 - Identifier 1672956 1672966 - CallExpression 1672968 1673007 - Identifier 1672968 1672996 - Identifier 1672997 1673006 - IfStatement 1673008 1673418 - BinaryExpression 1673034 1673120 - BinaryExpression 1673034 1673101 - Identifier 1673034 1673043 - AmpersandAmpersandToken 1673043 1673046 - BinaryExpression 1673046 1673101 - PropertyAccessExpression 1673046 1673061 - Identifier 1673046 1673056 - Identifier 1673057 1673061 - EqualsEqualsEqualsToken 1673061 1673065 - PropertyAccessExpression 1673065 1673101 - Identifier 1673065 1673083 - Identifier 1673084 1673101 - AmpersandAmpersandToken 1673101 1673104 - PrefixUnaryExpression 1673104 1673120 - PropertyAccessExpression 1673106 1673120 - Identifier 1673106 1673115 - Identifier 1673116 1673120 - Block 1673121 1673418 - VariableStatement 1673123 1673235 - VariableDeclarationList 1673123 1673234 - VariableDeclaration 1673154 1673234 - Identifier 1673154 1673172 - ElementAccessExpression 1673174 1673234 - PropertyAccessExpression 1673174 1673208 - PropertyAccessExpression 1673174 1673198 - ParenthesizedExpression 1673174 1673193 - AsExpression 1673176 1673192 - Identifier 1673176 1673180 - TypeReference 1673183 1673192 - Identifier 1673183 1673192 - Identifier 1673194 1673198 - Identifier 1673199 1673208 - PropertyAccessExpression 1673209 1673233 - Identifier 1673209 1673218 - Identifier 1673219 1673233 - IfStatement 1673235 1673395 - BinaryExpression 1673265 1673322 - Identifier 1673265 1673282 - AmpersandAmpersandToken 1673282 1673285 - CallExpression 1673285 1673322 - Identifier 1673285 1673303 - Identifier 1673304 1673321 - Block 1673323 1673395 - ReturnStatement 1673325 1673368 - FalseKeyword 1673361 1673367 - IfStatement 1673418 1673568 - BinaryExpression 1673444 1673503 - PropertyAccessExpression 1673444 1673485 - CallExpression 1673444 1673479 - Identifier 1673444 1673468 - Identifier 1673469 1673478 - Identifier 1673480 1673485 - AmpersandToken 1673485 1673487 - PropertyAccessExpression 1673487 1673503 - Identifier 1673487 1673497 - Identifier 1673498 1673503 - Block 1673504 1673568 - ReturnStatement 1673506 1673545 - FalseKeyword 1673538 1673544 - ExpressionStatement 1673587 1673642 - BinaryExpression 1673587 1673641 - Identifier 1673587 1673609 - EqualsToken 1673609 1673611 - PropertyAccessExpression 1673611 1673641 - ParenthesizedExpression 1673611 1673630 - AsExpression 1673613 1673629 - Identifier 1673613 1673617 - TypeReference 1673620 1673629 - Identifier 1673620 1673629 - Identifier 1673631 1673641 - IfStatement 1673675 1675590 - BinaryExpression 1673680 1673709 - Identifier 1673680 1673685 - AmpersandToken 1673685 1673687 - PropertyAccessExpression 1673687 1673709 - Identifier 1673687 1673697 - Identifier 1673698 1673709 - Block 1673710 1673927 - ReturnStatement 1673712 1673912 - CallExpression 1673815 1673911 - Identifier 1673815 1673820 - PropertyAccessExpression 1673821 1673851 - ParenthesizedExpression 1673821 1673840 - AsExpression 1673822 1673839 - Identifier 1673822 1673826 - TypeReference 1673829 1673839 - Identifier 1673829 1673839 - Identifier 1673841 1673851 - ArrowFunction 1673852 1673910 - Parameter 1673852 1673854 - Identifier 1673852 1673854 - EqualsGreaterThanToken 1673854 1673857 - CallExpression 1673857 1673910 - Identifier 1673857 1673883 - Identifier 1673884 1673885 - FalseKeyword 1673886 1673909 - IfStatement 1673945 1675590 - BinaryExpression 1673950 1673977 - Identifier 1673950 1673955 - AmpersandToken 1673955 1673957 - PropertyAccessExpression 1673957 1673977 - Identifier 1673957 1673967 - Identifier 1673968 1673977 - Block 1673978 1674337 - VariableStatement 1673980 1674049 - VariableDeclarationList 1673980 1674048 - VariableDeclaration 1674003 1674048 - Identifier 1674003 1674015 - PropertyAccessExpression 1674017 1674048 - ParenthesizedExpression 1674017 1674037 - AsExpression 1674019 1674036 - Identifier 1674019 1674023 - TypeReference 1674026 1674036 - Identifier 1674026 1674036 - Identifier 1674038 1674048 - IfStatement 1674049 1674181 - BinaryExpression 1674071 1674124 - BinaryExpression 1674071 1674096 - Identifier 1674071 1674082 - EqualsEqualsEqualsToken 1674082 1674086 - Identifier 1674086 1674096 - BarBarToken 1674096 1674099 - BinaryExpression 1674099 1674124 - PropertyAccessExpression 1674099 1674118 - Identifier 1674099 1674111 - Identifier 1674112 1674118 - EqualsEqualsEqualsToken 1674118 1674122 - NumericLiteral 1674122 1674124 - Block 1674125 1674181 - ReturnStatement 1674127 1674162 - FalseKeyword 1674155 1674161 - ExpressionStatement 1674181 1674322 - BinaryExpression 1674181 1674321 - Identifier 1674181 1674304 - EqualsToken 1674304 1674306 - ElementAccessExpression 1674306 1674321 - Identifier 1674306 1674318 - NumericLiteral 1674319 1674320 - IfStatement 1674355 1675590 - BinaryExpression 1674360 1674390 - Identifier 1674360 1674365 - AmpersandToken 1674365 1674367 - PropertyAccessExpression 1674367 1674390 - Identifier 1674367 1674377 - Identifier 1674378 1674390 - Block 1674391 1674894 - VariableStatement 1674393 1674649 - VariableDeclarationList 1674393 1674648 - VariableDeclaration 1674609 1674648 - Identifier 1674609 1674614 - PropertyAccessExpression 1674616 1674648 - ParenthesizedExpression 1674616 1674643 - AsExpression 1674618 1674642 - Identifier 1674618 1674622 - TypeReference 1674625 1674642 - Identifier 1674625 1674642 - Identifier 1674644 1674648 - IfStatement 1674649 1674816 - BinaryExpression 1674671 1674759 - BinaryExpression 1674671 1674706 - PropertyAccessExpression 1674671 1674687 - Identifier 1674671 1674675 - Identifier 1674676 1674687 - EqualsEqualsEqualsToken 1674687 1674691 - PropertyAccessExpression 1674691 1674706 - Identifier 1674691 1674696 - Identifier 1674697 1674706 - AmpersandAmpersandToken 1674706 1674709 - CallExpression 1674709 1674759 - Identifier 1674709 1674737 - PropertyAccessExpression 1674738 1674758 - Identifier 1674738 1674742 - Identifier 1674743 1674758 - Block 1674760 1674816 - ReturnStatement 1674762 1674797 - FalseKeyword 1674790 1674796 - ExpressionStatement 1674816 1674879 - BinaryExpression 1674816 1674878 - Identifier 1674816 1674838 - EqualsToken 1674838 1674840 - PropertyAccessExpression 1674840 1674878 - ParenthesizedExpression 1674840 1674867 - AsExpression 1674842 1674866 - Identifier 1674842 1674846 - TypeReference 1674849 1674866 - Identifier 1674849 1674866 - Identifier 1674868 1674878 - IfStatement 1674912 1675590 - BinaryExpression 1674917 1674946 - Identifier 1674917 1674922 - AmpersandToken 1674922 1674924 - PropertyAccessExpression 1674924 1674946 - Identifier 1674924 1674934 - Identifier 1674935 1674946 - Block 1674947 1675497 - ExpressionStatement 1674949 1675063 - BinaryExpression 1674949 1675062 - Identifier 1674949 1675050 - EqualsToken 1675050 1675052 - Identifier 1675052 1675062 - VariableStatement 1675063 1675134 - VariableDeclarationList 1675063 1675133 - VariableDeclaration 1675086 1675133 - Identifier 1675086 1675093 - PropertyAccessExpression 1675095 1675133 - PropertyAccessExpression 1675095 1675126 - ParenthesizedExpression 1675095 1675121 - AsExpression 1675097 1675120 - Identifier 1675097 1675101 - TypeReference 1675104 1675120 - Identifier 1675104 1675120 - Identifier 1675122 1675126 - Identifier 1675127 1675133 - VariableStatement 1675134 1675194 - VariableDeclarationList 1675134 1675193 - VariableDeclaration 1675157 1675193 - Identifier 1675157 1675173 - PropertyAccessExpression 1675175 1675193 - Identifier 1675175 1675182 - Identifier 1675183 1675193 - ExpressionStatement 1675194 1675275 - BinaryExpression 1675194 1675274 - PropertyAccessExpression 1675194 1675229 - Identifier 1675194 1675218 - Identifier 1675219 1675229 - EqualsToken 1675229 1675231 - PropertyAccessExpression 1675231 1675274 - PropertyAccessExpression 1675231 1675262 - ParenthesizedExpression 1675231 1675257 - AsExpression 1675233 1675256 - Identifier 1675233 1675237 - TypeReference 1675240 1675256 - Identifier 1675240 1675256 - Identifier 1675258 1675262 - Identifier 1675263 1675274 - VariableStatement 1675275 1675396 - VariableDeclarationList 1675275 1675395 - VariableDeclaration 1675298 1675395 - Identifier 1675298 1675305 - CallExpression 1675307 1675395 - Identifier 1675307 1675333 - PropertyAccessExpression 1675334 1675370 - ParenthesizedExpression 1675334 1675359 - AsExpression 1675335 1675358 - Identifier 1675335 1675339 - TypeReference 1675342 1675358 - Identifier 1675342 1675358 - Identifier 1675360 1675370 - FalseKeyword 1675371 1675394 - ExpressionStatement 1675396 1675450 - BinaryExpression 1675396 1675449 - PropertyAccessExpression 1675396 1675431 - Identifier 1675396 1675420 - Identifier 1675421 1675431 - EqualsToken 1675431 1675433 - Identifier 1675433 1675449 - ReturnStatement 1675450 1675482 - Identifier 1675474 1675481 - Block 1675515 1675590 - ReturnStatement 1675517 1675575 - PrefixUnaryExpression 1675541 1675574 - ParenthesizedExpression 1675543 1675574 - BinaryExpression 1675544 1675573 - Identifier 1675544 1675549 - AmpersandToken 1675549 1675551 - PropertyAccessExpression 1675551 1675573 - Identifier 1675551 1675561 - Identifier 1675562 1675573 - FunctionDeclaration 1675608 1678000 - Identifier 1675759 1675779 - Parameter 1675780 1675794 - Identifier 1675780 1675784 - TypeReference 1675785 1675794 - Identifier 1675785 1675794 - Parameter 1675795 1675817 - Identifier 1675795 1675808 - BooleanKeyword 1675809 1675817 - BooleanKeyword 1675819 1675827 - Block 1675827 1678000 - WhileStatement 1675829 1677993 - TrueKeyword 1675846 1675850 - Block 1675851 1677993 - VariableStatement 1675853 1675892 - VariableDeclarationList 1675853 1675891 - VariableDeclaration 1675872 1675891 - Identifier 1675872 1675878 - PropertyAccessExpression 1675880 1675891 - Identifier 1675880 1675885 - Identifier 1675886 1675891 - IfStatement 1675892 1676305 - BinaryExpression 1675910 1675934 - Identifier 1675910 1675915 - AmpersandToken 1675915 1675917 - PropertyAccessExpression 1675917 1675934 - Identifier 1675917 1675927 - Identifier 1675928 1675934 - Block 1675935 1676305 - IfStatement 1675937 1676251 - PrefixUnaryExpression 1675959 1675972 - Identifier 1675960 1675972 - Block 1675973 1676251 - VariableStatement 1675975 1676028 - VariableDeclarationList 1675975 1676027 - VariableDeclaration 1676002 1676027 - Identifier 1676002 1676005 - CallExpression 1676007 1676027 - Identifier 1676007 1676021 - Identifier 1676022 1676026 - VariableStatement 1676028 1676090 - VariableDeclarationList 1676028 1676089 - VariableDeclaration 1676055 1676089 - Identifier 1676055 1676065 - ElementAccessExpression 1676067 1676089 - Identifier 1676067 1676085 - Identifier 1676086 1676088 - ReturnStatement 1676090 1676232 - ConditionalExpression 1676118 1676231 - BinaryExpression 1676118 1676142 - Identifier 1676118 1676128 - ExclamationEqualsEqualsToken 1676128 1676132 - Identifier 1676132 1676142 - QuestionToken 1676142 1676144 - Identifier 1676144 1676154 - ColonToken 1676154 1676156 - ParenthesizedExpression 1676156 1676231 - BinaryExpression 1676158 1676230 - ElementAccessExpression 1676158 1676179 - Identifier 1676158 1676175 - Identifier 1676176 1676178 - EqualsToken 1676179 1676181 - CallExpression 1676181 1676230 - Identifier 1676181 1676201 - Identifier 1676202 1676206 - TrueKeyword 1676207 1676229 - ExpressionStatement 1676251 1676290 - BinaryExpression 1676251 1676289 - Identifier 1676251 1676281 - EqualsToken 1676281 1676283 - FalseKeyword 1676283 1676289 - IfStatement 1676305 1677982 - BinaryExpression 1676323 1676426 - Identifier 1676323 1676328 - AmpersandToken 1676328 1676330 - ParenthesizedExpression 1676330 1676426 - BinaryExpression 1676332 1676425 - BinaryExpression 1676332 1676400 - BinaryExpression 1676332 1676374 - PropertyAccessExpression 1676332 1676352 - Identifier 1676332 1676341 - Identifier 1676342 1676352 - BarToken 1676352 1676354 - PropertyAccessExpression 1676354 1676374 - Identifier 1676354 1676364 - Identifier 1676365 1676374 - BarToken 1676374 1676376 - PropertyAccessExpression 1676376 1676400 - Identifier 1676376 1676386 - Identifier 1676387 1676400 - BarToken 1676400 1676402 - PropertyAccessExpression 1676402 1676425 - Identifier 1676402 1676412 - Identifier 1676413 1676425 - Block 1676427 1676560 - ExpressionStatement 1676429 1676545 - BinaryExpression 1676429 1676544 - Identifier 1676429 1676451 - EqualsToken 1676451 1676453 - PropertyAccessExpression 1676453 1676544 - ParenthesizedExpression 1676453 1676533 - AsExpression 1676455 1676532 - Identifier 1676455 1676459 - UnionType 1676462 1676532 - TypeReference 1676462 1676477 - Identifier 1676462 1676477 - TypeReference 1676479 1676493 - Identifier 1676479 1676493 - TypeReference 1676495 1676513 - Identifier 1676495 1676513 - TypeReference 1676515 1676532 - Identifier 1676515 1676532 - Identifier 1676534 1676544 - IfStatement 1676578 1677982 - BinaryExpression 1676583 1676605 - Identifier 1676583 1676588 - AmpersandToken 1676588 1676590 - PropertyAccessExpression 1676590 1676605 - Identifier 1676590 1676600 - Identifier 1676601 1676605 - Block 1676606 1676823 - IfStatement 1676608 1676753 - BinaryExpression 1676630 1676697 - PropertyAccessExpression 1676630 1676669 - PropertyAccessExpression 1676630 1676664 - PropertyAccessExpression 1676630 1676653 - ParenthesizedExpression 1676630 1676648 - AsExpression 1676631 1676647 - Identifier 1676631 1676635 - TypeReference 1676638 1676647 - Identifier 1676638 1676647 - Identifier 1676649 1676653 - Identifier 1676654 1676664 - Identifier 1676665 1676669 - EqualsEqualsEqualsToken 1676669 1676673 - PropertyAccessExpression 1676673 1676697 - Identifier 1676673 1676684 - Identifier 1676685 1676697 - Block 1676698 1676753 - ReturnStatement 1676700 1676734 - TrueKeyword 1676728 1676733 - ExpressionStatement 1676753 1676808 - BinaryExpression 1676753 1676807 - Identifier 1676753 1676775 - EqualsToken 1676775 1676777 - PropertyAccessExpression 1676777 1676807 - ParenthesizedExpression 1676777 1676796 - AsExpression 1676779 1676795 - Identifier 1676779 1676783 - TypeReference 1676786 1676795 - Identifier 1676786 1676795 - Identifier 1676797 1676807 - IfStatement 1676841 1677982 - BinaryExpression 1676846 1676875 - Identifier 1676846 1676851 - AmpersandToken 1676851 1676853 - PropertyAccessExpression 1676853 1676875 - Identifier 1676853 1676863 - Identifier 1676864 1676875 - Block 1676876 1677092 - ReturnStatement 1676878 1677077 - CallExpression 1676985 1677076 - Identifier 1676985 1676991 - PropertyAccessExpression 1676992 1677022 - ParenthesizedExpression 1676992 1677011 - AsExpression 1676993 1677010 - Identifier 1676993 1676997 - TypeReference 1677000 1677010 - Identifier 1677000 1677010 - Identifier 1677012 1677022 - ArrowFunction 1677023 1677075 - Parameter 1677023 1677025 - Identifier 1677023 1677025 - EqualsGreaterThanToken 1677025 1677028 - CallExpression 1677028 1677075 - Identifier 1677028 1677048 - Identifier 1677049 1677050 - FalseKeyword 1677051 1677074 - IfStatement 1677110 1677982 - BinaryExpression 1677115 1677142 - Identifier 1677115 1677120 - AmpersandToken 1677120 1677122 - PropertyAccessExpression 1677122 1677142 - Identifier 1677122 1677132 - Identifier 1677133 1677142 - Block 1677143 1677323 - ExpressionStatement 1677145 1677308 - BinaryExpression 1677145 1677307 - Identifier 1677145 1677270 - EqualsToken 1677270 1677272 - ElementAccessExpression 1677272 1677307 - NonNullExpression 1677272 1677304 - PropertyAccessExpression 1677272 1677303 - ParenthesizedExpression 1677272 1677292 - AsExpression 1677274 1677291 - Identifier 1677274 1677278 - TypeReference 1677281 1677291 - Identifier 1677281 1677291 - Identifier 1677293 1677303 - NumericLiteral 1677305 1677306 - IfStatement 1677341 1677982 - BinaryExpression 1677346 1677375 - Identifier 1677346 1677351 - AmpersandToken 1677351 1677353 - PropertyAccessExpression 1677353 1677375 - Identifier 1677353 1677363 - Identifier 1677364 1677375 - Block 1677376 1677806 - VariableStatement 1677378 1677449 - VariableDeclarationList 1677378 1677448 - VariableDeclaration 1677401 1677448 - Identifier 1677401 1677408 - PropertyAccessExpression 1677410 1677448 - PropertyAccessExpression 1677410 1677441 - ParenthesizedExpression 1677410 1677436 - AsExpression 1677412 1677435 - Identifier 1677412 1677416 - TypeReference 1677419 1677435 - Identifier 1677419 1677435 - Identifier 1677437 1677441 - Identifier 1677442 1677448 - VariableStatement 1677449 1677509 - VariableDeclarationList 1677449 1677508 - VariableDeclaration 1677472 1677508 - Identifier 1677472 1677488 - PropertyAccessExpression 1677490 1677508 - Identifier 1677490 1677497 - Identifier 1677498 1677508 - ExpressionStatement 1677509 1677590 - BinaryExpression 1677509 1677589 - PropertyAccessExpression 1677509 1677544 - Identifier 1677509 1677533 - Identifier 1677534 1677544 - EqualsToken 1677544 1677546 - PropertyAccessExpression 1677546 1677589 - PropertyAccessExpression 1677546 1677577 - ParenthesizedExpression 1677546 1677572 - AsExpression 1677548 1677571 - Identifier 1677548 1677552 - TypeReference 1677555 1677571 - Identifier 1677555 1677571 - Identifier 1677573 1677577 - Identifier 1677578 1677589 - VariableStatement 1677590 1677705 - VariableDeclarationList 1677590 1677704 - VariableDeclaration 1677613 1677704 - Identifier 1677613 1677620 - CallExpression 1677622 1677704 - Identifier 1677622 1677642 - PropertyAccessExpression 1677643 1677679 - ParenthesizedExpression 1677643 1677668 - AsExpression 1677644 1677667 - Identifier 1677644 1677648 - TypeReference 1677651 1677667 - Identifier 1677651 1677667 - Identifier 1677669 1677679 - FalseKeyword 1677680 1677703 - ExpressionStatement 1677705 1677759 - BinaryExpression 1677705 1677758 - PropertyAccessExpression 1677705 1677740 - Identifier 1677705 1677729 - Identifier 1677730 1677740 - EqualsToken 1677740 1677742 - Identifier 1677742 1677758 - ReturnStatement 1677759 1677791 - Identifier 1677783 1677790 - Block 1677824 1677982 - ReturnStatement 1677826 1677967 - PrefixUnaryExpression 1677932 1677966 - PrefixUnaryExpression 1677934 1677966 - ParenthesizedExpression 1677935 1677966 - BinaryExpression 1677936 1677965 - Identifier 1677936 1677941 - AmpersandToken 1677941 1677943 - PropertyAccessExpression 1677943 1677965 - Identifier 1677943 1677953 - Identifier 1677954 1677965 - FunctionDeclaration 1678000 1679502 - Identifier 1678016 1678036 - Parameter 1678037 1678047 - Identifier 1678037 1678041 - TypeReference 1678042 1678047 - Identifier 1678042 1678047 - BooleanKeyword 1678049 1678057 - Block 1678057 1679502 - SwitchStatement 1678059 1679472 - PropertyAccessExpression 1678077 1678086 - Identifier 1678077 1678081 - Identifier 1678082 1678086 - CaseBlock 1678087 1679472 - CaseClause 1678089 1678161 - PropertyAccessExpression 1678107 1678130 - Identifier 1678107 1678118 - Identifier 1678119 1678130 - ReturnStatement 1678131 1678161 - TrueKeyword 1678155 1678160 - CaseClause 1678161 1678627 - PropertyAccessExpression 1678179 1678201 - Identifier 1678179 1678190 - Identifier 1678191 1678201 - IfStatement 1678202 1678603 - PrefixUnaryExpression 1678224 1678248 - CallExpression 1678225 1678248 - Identifier 1678225 1678242 - Identifier 1678243 1678247 - Block 1678249 1678603 - VariableStatement 1678251 1678326 - VariableDeclarationList 1678251 1678325 - VariableDeclaration 1678278 1678325 - Identifier 1678278 1678285 - CallExpression 1678287 1678325 - Identifier 1678287 1678305 - AsExpression 1678306 1678324 - Identifier 1678306 1678310 - TypeReference 1678313 1678324 - Identifier 1678313 1678324 - ReturnStatement 1678326 1678584 - BinaryExpression 1678354 1678583 - BinaryExpression 1678354 1678480 - CallExpression 1678354 1678381 - Identifier 1678354 1678373 - Identifier 1678374 1678380 - BarBarToken 1678381 1678409 - BinaryExpression 1678409 1678480 - CallExpression 1678409 1678451 - Identifier 1678409 1678443 - Identifier 1678444 1678450 - AmpersandAmpersandToken 1678451 1678454 - PrefixUnaryExpression 1678454 1678480 - CallExpression 1678456 1678480 - Identifier 1678456 1678472 - Identifier 1678473 1678479 - BarBarToken 1678480 1678508 - BinaryExpression 1678508 1678583 - PrefixUnaryExpression 1678508 1678534 - PrefixUnaryExpression 1678510 1678534 - PropertyAccessExpression 1678511 1678534 - Identifier 1678511 1678517 - Identifier 1678518 1678534 - AmpersandAmpersandToken 1678534 1678537 - CallExpression 1678537 1678583 - Identifier 1678537 1678558 - PropertyAccessExpression 1678559 1678582 - Identifier 1678559 1678565 - Identifier 1678566 1678582 - BreakStatement 1678603 1678627 - CaseClause 1678627 1678682 - PropertyAccessExpression 1678645 1678681 - Identifier 1678645 1678656 - Identifier 1678657 1678681 - CaseClause 1678682 1679020 - PropertyAccessExpression 1678700 1678735 - Identifier 1678700 1678711 - Identifier 1678712 1678735 - ReturnStatement 1678736 1679020 - BinaryExpression 1678888 1679019 - CallExpression 1678888 1678947 - Identifier 1678888 1678908 - PropertyAccessExpression 1678909 1678946 - ParenthesizedExpression 1678909 1678935 - AsExpression 1678910 1678934 - Identifier 1678910 1678914 - TypeReference 1678917 1678934 - Identifier 1678917 1678934 - Identifier 1678936 1678946 - AmpersandAmpersandToken 1678947 1678950 - CallExpression 1678950 1679019 - Identifier 1678950 1678967 - BinaryExpression 1678968 1679018 - PropertyAccessExpression 1678968 1679001 - CallExpression 1678968 1678986 - Identifier 1678968 1678980 - Identifier 1678981 1678985 - Identifier 1678987 1679001 - BarBarToken 1679001 1679004 - Identifier 1679004 1679018 - CaseClause 1679020 1679071 - PropertyAccessExpression 1679038 1679070 - Identifier 1679038 1679049 - Identifier 1679050 1679070 - CaseClause 1679071 1679461 - PropertyAccessExpression 1679089 1679120 - Identifier 1679089 1679100 - Identifier 1679101 1679120 - VariableStatement 1679121 1679195 - VariableDeclarationList 1679121 1679194 - VariableDeclaration 1679144 1679194 - Identifier 1679144 1679160 - CallExpression 1679162 1679194 - Identifier 1679162 1679181 - PropertyAccessExpression 1679182 1679193 - Identifier 1679182 1679186 - Identifier 1679187 1679193 - ReturnStatement 1679195 1679461 - ConditionalExpression 1679219 1679460 - BinaryExpression 1679219 1679301 - CallExpression 1679219 1679248 - Identifier 1679219 1679231 - Identifier 1679232 1679247 - BarBarToken 1679248 1679251 - CallExpression 1679251 1679301 - Identifier 1679251 1679284 - Identifier 1679285 1679300 - QuestionToken 1679301 1679324 - PrefixUnaryExpression 1679324 1679363 - CallExpression 1679326 1679363 - Identifier 1679326 1679346 - Identifier 1679347 1679362 - ColonToken 1679363 1679386 - BinaryExpression 1679386 1679460 - CallExpression 1679386 1679425 - Identifier 1679386 1679408 - Identifier 1679409 1679424 - AmpersandAmpersandToken 1679425 1679428 - CallExpression 1679428 1679460 - Identifier 1679428 1679443 - Identifier 1679444 1679459 - ReturnStatement 1679472 1679495 - FalseKeyword 1679488 1679494 - FunctionDeclaration 1679502 1756033 - Identifier 1679518 1679541 - Parameter 1679542 1679557 - Identifier 1679542 1679551 - TypeReference 1679552 1679557 - Identifier 1679552 1679557 - Parameter 1679558 1679577 - Identifier 1679558 1679571 - TypeReference 1679572 1679577 - Identifier 1679572 1679577 - Parameter 1679578 1679605 - Identifier 1679578 1679590 - Identifier 1679592 1679605 - Parameter 1679606 1679627 - Identifier 1679606 1679620 - QuestionToken 1679620 1679621 - TypeReference 1679622 1679627 - Identifier 1679622 1679627 - Parameter 1679628 1679685 - Identifier 1679628 1679637 - PropertyAccessExpression 1679639 1679685 - CallExpression 1679639 1679675 - Identifier 1679639 1679647 - Identifier 1679648 1679657 - Identifier 1679658 1679674 - QuestionDotToken 1679675 1679677 - Identifier 1679677 1679685 - Block 1679686 1756033 - VariableStatement 1679688 1679726 - VariableDeclarationList 1679688 1679725 - VariableDeclaration 1679701 1679725 - Identifier 1679701 1679705 - UnionType 1679706 1679725 - StringKeyword 1679706 1679713 - UndefinedKeyword 1679715 1679725 - VariableStatement 1679726 1679757 - VariableDeclarationList 1679726 1679756 - VariableDeclaration 1679739 1679756 - Identifier 1679739 1679748 - FalseKeyword 1679750 1679756 - VariableStatement 1679757 1679785 - VariableDeclarationList 1679757 1679784 - VariableDeclaration 1679770 1679784 - Identifier 1679770 1679780 - NumericLiteral 1679782 1679784 - IfStatement 1679785 1679864 - Identifier 1679799 1679819 - Block 1679820 1679864 - ReturnStatement 1679822 1679853 - Identifier 1679842 1679852 - IfStatement 1679864 1679935 - PrefixUnaryExpression 1679878 1679887 - Identifier 1679879 1679887 - Block 1679888 1679935 - ReturnStatement 1679890 1679924 - Identifier 1679910 1679923 - ExpressionStatement 1679935 1679967 - PostfixUnaryExpression 1679935 1679966 - Identifier 1679935 1679964 - VariableStatement 1679967 1680017 - VariableDeclarationList 1679967 1680016 - VariableDeclaration 1679982 1680016 - Identifier 1679982 1679998 - Identifier 1680000 1680016 - VariableStatement 1680017 1680096 - VariableDeclarationList 1680017 1680095 - VariableDeclaration 1680032 1680095 - Identifier 1680032 1680044 - CallExpression 1680046 1680095 - Identifier 1680046 1680066 - CallExpression 1680067 1680094 - Identifier 1680067 1680084 - Identifier 1680085 1680093 - ExpressionStatement 1680096 1680140 - BinaryExpression 1680096 1680139 - Identifier 1680096 1680121 - EqualsToken 1680121 1680123 - Identifier 1680123 1680139 - VariableStatement 1680140 1680719 - VariableDeclarationList 1680140 1680718 - VariableDeclaration 1680547 1680718 - Identifier 1680547 1680558 - ConditionalExpression 1680560 1680718 - BinaryExpression 1680560 1680661 - BinaryExpression 1680560 1680616 - CallExpression 1680560 1680588 - Identifier 1680560 1680575 - Identifier 1680576 1680587 - AmpersandToken 1680588 1680590 - PropertyAccessExpression 1680590 1680616 - Identifier 1680590 1680602 - Identifier 1680603 1680616 - AmpersandAmpersandToken 1680616 1680619 - CallExpression 1680619 1680661 - Identifier 1680619 1680650 - Identifier 1680651 1680660 - QuestionToken 1680661 1680663 - Identifier 1680663 1680677 - ColonToken 1680677 1680679 - CallExpression 1680679 1680718 - Identifier 1680679 1680705 - Identifier 1680706 1680717 - IfStatement 1680719 1681020 - BinaryExpression 1680733 1680972 - BinaryExpression 1680733 1680768 - Identifier 1680733 1680743 - EqualsEqualsEqualsToken 1680743 1680747 - Identifier 1680747 1680768 - BarBarToken 1680768 1680771 - BinaryExpression 1680771 1680972 - BinaryExpression 1680771 1680887 - BinaryExpression 1680771 1680846 - PropertyAccessExpression 1680771 1680788 - Identifier 1680771 1680781 - Identifier 1680782 1680788 - AmpersandAmpersandToken 1680788 1680791 - BinaryExpression 1680791 1680846 - PropertyAccessExpression 1680791 1680813 - PropertyAccessExpression 1680791 1680808 - Identifier 1680791 1680801 - Identifier 1680802 1680808 - Identifier 1680809 1680813 - EqualsEqualsEqualsToken 1680813 1680817 - PropertyAccessExpression 1680817 1680846 - Identifier 1680817 1680828 - Identifier 1680829 1680846 - AmpersandAmpersandToken 1680846 1680849 - PrefixUnaryExpression 1680849 1680887 - ParenthesizedExpression 1680851 1680887 - BinaryExpression 1680852 1680886 - PropertyAccessExpression 1680852 1680868 - Identifier 1680852 1680862 - Identifier 1680863 1680868 - AmpersandToken 1680868 1680870 - PropertyAccessExpression 1680870 1680886 - Identifier 1680870 1680880 - Identifier 1680881 1680886 - AmpersandAmpersandToken 1680887 1680890 - BinaryExpression 1680890 1680972 - PropertyAccessExpression 1680890 1680954 - CallExpression 1680890 1680948 - Identifier 1680890 1680907 - Identifier 1680908 1680918 - PropertyAccessExpression 1680919 1680947 - Identifier 1680919 1680929 - Identifier 1680930 1680947 - Identifier 1680949 1680954 - AmpersandToken 1680954 1680956 - PropertyAccessExpression 1680956 1680972 - Identifier 1680956 1680966 - Identifier 1680967 1680972 - Block 1680973 1681020 - ReturnStatement 1680975 1681009 - Identifier 1680995 1681008 - ReturnStatement 1681020 1681048 - Identifier 1681036 1681047 - FunctionDeclaration 1681048 1681299 - Identifier 1681068 1681085 - Block 1681087 1681299 - IfStatement 1681089 1681162 - Identifier 1681107 1681115 - Block 1681116 1681162 - ReturnStatement 1681118 1681147 - Identifier 1681142 1681146 - ExpressionStatement 1681162 1681192 - BinaryExpression 1681162 1681191 - Identifier 1681162 1681184 - EqualsToken 1681184 1681186 - TrueKeyword 1681186 1681191 - ReturnStatement 1681192 1681288 - BinaryExpression 1681212 1681287 - Identifier 1681212 1681216 - EqualsToken 1681216 1681218 - CallExpression 1681218 1681287 - Identifier 1681218 1681234 - Identifier 1681235 1681244 - Identifier 1681245 1681258 - Identifier 1681259 1681271 - Identifier 1681272 1681286 - FunctionDeclaration 1681299 1686457 - Identifier 1681319 1681337 - Parameter 1681338 1681352 - Identifier 1681338 1681342 - TypeReference 1681343 1681352 - Identifier 1681343 1681352 - TypeReference 1681354 1681363 - Identifier 1681354 1681363 - Block 1681363 1686457 - IfStatement 1681365 1681887 - BinaryExpression 1681383 1681401 - Identifier 1681383 1681392 - EqualsEqualsEqualsToken 1681392 1681396 - NumericLiteral 1681396 1681401 - Block 1681402 1681887 - ExpressionStatement 1681404 1681739 - CallExpression 1681404 1681738 - PropertyAccessExpression 1681404 1681659 - Identifier 1681404 1681650 - QuestionDotToken 1681650 1681652 - Identifier 1681652 1681659 - PropertyAccessExpression 1681660 1681684 - PropertyAccessExpression 1681660 1681673 - Identifier 1681660 1681667 - Identifier 1681668 1681673 - Identifier 1681674 1681684 - StringLiteral 1681685 1681716 - ObjectLiteralExpression 1681717 1681737 - PropertyAssignment 1681719 1681735 - Identifier 1681719 1681726 - PropertyAccessExpression 1681727 1681735 - Identifier 1681727 1681732 - Identifier 1681733 1681735 - ExpressionStatement 1681739 1681785 - BinaryExpression 1681739 1681784 - Identifier 1681739 1681777 - EqualsToken 1681777 1681779 - TrueKeyword 1681779 1681784 - ExpressionStatement 1681785 1681837 - CallExpression 1681785 1681836 - Identifier 1681785 1681825 - Identifier 1681826 1681835 - ReturnStatement 1681837 1681872 - Identifier 1681861 1681871 - ExpressionStatement 1681887 1681913 - PostfixUnaryExpression 1681887 1681912 - Identifier 1681887 1681910 - VariableStatement 1681913 1681964 - VariableDeclarationList 1681913 1681963 - VariableDeclaration 1681930 1681963 - Identifier 1681930 1681941 - UnionType 1681942 1681963 - TypeReference 1681942 1681951 - Identifier 1681942 1681951 - UndefinedKeyword 1681953 1681963 - WhileStatement 1681964 1686446 - TrueKeyword 1681985 1681989 - Block 1681990 1686446 - VariableStatement 1681992 1682035 - VariableDeclarationList 1681992 1682034 - VariableDeclaration 1682015 1682034 - Identifier 1682015 1682021 - PropertyAccessExpression 1682023 1682034 - Identifier 1682023 1682028 - Identifier 1682029 1682034 - IfStatement 1682035 1682713 - BinaryExpression 1682057 1682081 - Identifier 1682057 1682062 - AmpersandToken 1682062 1682064 - PropertyAccessExpression 1682064 1682081 - Identifier 1682064 1682074 - Identifier 1682075 1682081 - Block 1682082 1682713 - ForStatement 1682084 1682654 - VariableDeclarationList 1682394 1682417 - VariableDeclaration 1682397 1682417 - Identifier 1682397 1682399 - Identifier 1682401 1682417 - BinaryExpression 1682418 1682438 - Identifier 1682418 1682420 - LessThanToken 1682420 1682422 - Identifier 1682422 1682438 - PostfixUnaryExpression 1682439 1682443 - Identifier 1682439 1682441 - Block 1682444 1682654 - IfStatement 1682446 1682631 - BinaryExpression 1682476 1682503 - ElementAccessExpression 1682476 1682494 - Identifier 1682476 1682491 - Identifier 1682492 1682493 - EqualsEqualsEqualsToken 1682494 1682498 - Identifier 1682498 1682503 - Block 1682504 1682631 - ExpressionStatement 1682506 1682548 - PostfixUnaryExpression 1682506 1682547 - Identifier 1682506 1682545 - ReturnStatement 1682548 1682604 - ElementAccessExpression 1682584 1682603 - Identifier 1682584 1682600 - Identifier 1682601 1682602 - ExpressionStatement 1682654 1682694 - BinaryExpression 1682654 1682693 - Identifier 1682654 1682686 - EqualsToken 1682686 1682688 - Identifier 1682688 1682693 - VariableStatement 1682713 1682762 - VariableDeclarationList 1682713 1682761 - VariableDeclaration 1682734 1682761 - Identifier 1682734 1682739 - UnionType 1682740 1682761 - TypeReference 1682740 1682749 - Identifier 1682740 1682749 - UndefinedKeyword 1682751 1682761 - IfStatement 1682762 1686065 - BinaryExpression 1682784 1682812 - Identifier 1682784 1682789 - AmpersandToken 1682789 1682791 - PropertyAccessExpression 1682791 1682812 - Identifier 1682791 1682801 - Identifier 1682802 1682812 - Block 1682813 1683072 - ExpressionStatement 1682815 1682892 - BinaryExpression 1682815 1682891 - Identifier 1682815 1682841 - EqualsToken 1682841 1682843 - CallExpression 1682843 1682891 - Identifier 1682843 1682867 - AsExpression 1682868 1682890 - Identifier 1682868 1682872 - TypeReference 1682875 1682890 - Identifier 1682875 1682890 - IfStatement 1682892 1683053 - PrefixUnaryExpression 1682918 1682923 - Identifier 1682919 1682923 - Block 1682924 1683053 - ExpressionStatement 1682926 1682995 - BinaryExpression 1682926 1682994 - Identifier 1682926 1682956 - EqualsToken 1682956 1682958 - PropertyAccessExpression 1682958 1682994 - ParenthesizedExpression 1682958 1682983 - AsExpression 1682960 1682982 - Identifier 1682960 1682964 - TypeReference 1682967 1682982 - Identifier 1682967 1682982 - Identifier 1682984 1682994 - ContinueStatement 1682995 1683030 - IfStatement 1683094 1686065 - BinaryExpression 1683099 1683121 - Identifier 1683099 1683104 - AmpersandToken 1683104 1683106 - PropertyAccessExpression 1683106 1683121 - Identifier 1683106 1683116 - Identifier 1683117 1683121 - Block 1683122 1683363 - ExpressionStatement 1683124 1683189 - BinaryExpression 1683124 1683188 - Identifier 1683124 1683150 - EqualsToken 1683150 1683152 - CallExpression 1683152 1683188 - Identifier 1683152 1683170 - AsExpression 1683171 1683187 - Identifier 1683171 1683175 - TypeReference 1683178 1683187 - Identifier 1683178 1683187 - IfStatement 1683189 1683344 - PrefixUnaryExpression 1683215 1683220 - Identifier 1683216 1683220 - Block 1683221 1683344 - ExpressionStatement 1683223 1683286 - BinaryExpression 1683223 1683285 - Identifier 1683223 1683253 - EqualsToken 1683253 1683255 - PropertyAccessExpression 1683255 1683285 - ParenthesizedExpression 1683255 1683274 - AsExpression 1683257 1683273 - Identifier 1683257 1683261 - TypeReference 1683264 1683273 - Identifier 1683264 1683273 - Identifier 1683275 1683285 - ContinueStatement 1683286 1683321 - IfStatement 1683385 1686065 - BinaryExpression 1683390 1683417 - Identifier 1683390 1683395 - AmpersandToken 1683395 1683397 - PropertyAccessExpression 1683397 1683417 - Identifier 1683397 1683407 - Identifier 1683408 1683417 - Block 1683418 1683514 - ExpressionStatement 1683420 1683495 - BinaryExpression 1683420 1683494 - Identifier 1683420 1683446 - EqualsToken 1683446 1683448 - CallExpression 1683448 1683494 - Identifier 1683448 1683471 - AsExpression 1683472 1683493 - Identifier 1683472 1683476 - TypeReference 1683479 1683493 - Identifier 1683479 1683493 - IfStatement 1683536 1686065 - BinaryExpression 1683541 1683571 - Identifier 1683541 1683546 - AmpersandToken 1683546 1683548 - PropertyAccessExpression 1683548 1683571 - Identifier 1683548 1683558 - Identifier 1683559 1683571 - Block 1683572 1683670 - ExpressionStatement 1683574 1683651 - BinaryExpression 1683574 1683650 - Identifier 1683574 1683600 - EqualsToken 1683600 1683602 - CallExpression 1683602 1683650 - Identifier 1683602 1683624 - AsExpression 1683625 1683649 - Identifier 1683625 1683629 - TypeReference 1683632 1683649 - Identifier 1683632 1683649 - IfStatement 1683692 1686065 - BinaryExpression 1683697 1683720 - Identifier 1683697 1683702 - AmpersandToken 1683702 1683704 - PropertyAccessExpression 1683704 1683720 - Identifier 1683704 1683714 - Identifier 1683715 1683720 - Block 1683721 1684140 - IfStatement 1683723 1683922 - BinaryExpression 1683749 1683793 - PropertyAccessExpression 1683749 1683787 - NonNullExpression 1683749 1683780 - PropertyAccessExpression 1683749 1683779 - ParenthesizedExpression 1683749 1683768 - AsExpression 1683750 1683767 - Identifier 1683750 1683754 - TypeReference 1683757 1683767 - Identifier 1683757 1683767 - Identifier 1683769 1683779 - Identifier 1683781 1683787 - EqualsEqualsEqualsToken 1683787 1683791 - NumericLiteral 1683791 1683793 - Block 1683794 1683922 - ExpressionStatement 1683796 1683864 - BinaryExpression 1683796 1683863 - Identifier 1683796 1683826 - EqualsToken 1683826 1683828 - ElementAccessExpression 1683828 1683863 - NonNullExpression 1683828 1683860 - PropertyAccessExpression 1683828 1683859 - ParenthesizedExpression 1683828 1683848 - AsExpression 1683830 1683847 - Identifier 1683830 1683834 - TypeReference 1683837 1683847 - Identifier 1683837 1683847 - Identifier 1683849 1683859 - NumericLiteral 1683861 1683862 - ContinueStatement 1683864 1683899 - ExpressionStatement 1683922 1684121 - BinaryExpression 1683922 1684120 - Identifier 1683922 1683948 - EqualsToken 1683948 1683950 - ConditionalExpression 1683950 1684120 - BinaryExpression 1683950 1683980 - Identifier 1683950 1683956 - AmpersandToken 1683956 1683958 - PropertyAccessExpression 1683958 1683980 - Identifier 1683958 1683968 - Identifier 1683969 1683980 - QuestionToken 1683980 1683982 - CallExpression 1683982 1684051 - Identifier 1683982 1684032 - AsExpression 1684033 1684050 - Identifier 1684033 1684037 - TypeReference 1684040 1684050 - Identifier 1684040 1684050 - ColonToken 1684051 1684053 - CallExpression 1684053 1684120 - Identifier 1684053 1684101 - AsExpression 1684102 1684119 - Identifier 1684102 1684106 - TypeReference 1684109 1684119 - Identifier 1684109 1684119 - IfStatement 1684162 1686065 - BinaryExpression 1684167 1684198 - Identifier 1684167 1684172 - AmpersandToken 1684172 1684174 - PropertyAccessExpression 1684174 1684198 - Identifier 1684174 1684184 - Identifier 1684185 1684198 - Block 1684199 1684467 - ExpressionStatement 1684201 1684284 - BinaryExpression 1684201 1684283 - Identifier 1684201 1684227 - EqualsToken 1684227 1684229 - CallExpression 1684229 1684283 - Identifier 1684229 1684256 - AsExpression 1684257 1684282 - Identifier 1684257 1684261 - TypeReference 1684264 1684282 - Identifier 1684264 1684282 - IfStatement 1684284 1684448 - PrefixUnaryExpression 1684310 1684315 - Identifier 1684311 1684315 - Block 1684316 1684448 - ExpressionStatement 1684318 1684390 - BinaryExpression 1684318 1684389 - Identifier 1684318 1684348 - EqualsToken 1684348 1684350 - PropertyAccessExpression 1684350 1684389 - ParenthesizedExpression 1684350 1684378 - AsExpression 1684352 1684377 - Identifier 1684352 1684356 - TypeReference 1684359 1684377 - Identifier 1684359 1684377 - Identifier 1684379 1684389 - ContinueStatement 1684390 1684425 - IfStatement 1684489 1686065 - BinaryExpression 1684494 1684523 - Identifier 1684494 1684499 - AmpersandToken 1684499 1684501 - PropertyAccessExpression 1684501 1684523 - Identifier 1684501 1684511 - Identifier 1684512 1684523 - Block 1684524 1684912 - VariableStatement 1684526 1684601 - VariableDeclarationList 1684526 1684600 - VariableDeclaration 1684553 1684600 - Identifier 1684553 1684560 - PropertyAccessExpression 1684562 1684600 - PropertyAccessExpression 1684562 1684593 - ParenthesizedExpression 1684562 1684588 - AsExpression 1684564 1684587 - Identifier 1684564 1684568 - TypeReference 1684571 1684587 - Identifier 1684571 1684587 - Identifier 1684589 1684593 - Identifier 1684594 1684600 - VariableStatement 1684601 1684665 - VariableDeclarationList 1684601 1684664 - VariableDeclaration 1684628 1684664 - Identifier 1684628 1684644 - PropertyAccessExpression 1684646 1684664 - Identifier 1684646 1684653 - Identifier 1684654 1684664 - ExpressionStatement 1684665 1684750 - BinaryExpression 1684665 1684749 - PropertyAccessExpression 1684665 1684704 - Identifier 1684665 1684693 - Identifier 1684694 1684704 - EqualsToken 1684704 1684706 - PropertyAccessExpression 1684706 1684749 - PropertyAccessExpression 1684706 1684737 - ParenthesizedExpression 1684706 1684732 - AsExpression 1684708 1684731 - Identifier 1684708 1684712 - TypeReference 1684715 1684731 - Identifier 1684715 1684731 - Identifier 1684733 1684737 - Identifier 1684738 1684749 - ExpressionStatement 1684750 1684835 - BinaryExpression 1684750 1684834 - Identifier 1684750 1684776 - EqualsToken 1684776 1684778 - CallExpression 1684778 1684834 - Identifier 1684778 1684796 - PropertyAccessExpression 1684797 1684833 - ParenthesizedExpression 1684797 1684822 - AsExpression 1684798 1684821 - Identifier 1684798 1684802 - TypeReference 1684805 1684821 - Identifier 1684805 1684821 - Identifier 1684823 1684833 - ExpressionStatement 1684835 1684893 - BinaryExpression 1684835 1684892 - PropertyAccessExpression 1684835 1684874 - Identifier 1684835 1684863 - Identifier 1684864 1684874 - EqualsToken 1684874 1684876 - Identifier 1684876 1684892 - IfStatement 1684934 1686065 - BinaryExpression 1684939 1684962 - Identifier 1684939 1684944 - AmpersandToken 1684944 1684946 - PropertyAccessExpression 1684946 1684962 - Identifier 1684946 1684956 - Identifier 1684957 1684962 - Block 1684963 1685778 - VariableStatement 1684965 1685132 - VariableDeclarationList 1684965 1685131 - VariableDeclaration 1685094 1685131 - Identifier 1685094 1685104 - PropertyAccessExpression 1685106 1685131 - ParenthesizedExpression 1685106 1685126 - AsExpression 1685108 1685125 - Identifier 1685108 1685112 - TypeReference 1685115 1685125 - Identifier 1685115 1685125 - Identifier 1685127 1685131 - IfStatement 1685132 1685645 - BinaryExpression 1685158 1685509 - BinaryExpression 1685158 1685389 - BinaryExpression 1685158 1685307 - BinaryExpression 1685158 1685224 - Identifier 1685158 1685193 - AmpersandAmpersandToken 1685193 1685196 - BinaryExpression 1685196 1685224 - Identifier 1685196 1685206 - ExclamationEqualsEqualsToken 1685206 1685210 - Identifier 1685210 1685224 - AmpersandAmpersandToken 1685224 1685227 - BinaryExpression 1685227 1685307 - PropertyAccessExpression 1685227 1685267 - Identifier 1685227 1685262 - Identifier 1685263 1685267 - ExclamationEqualsEqualsToken 1685267 1685271 - PropertyAccessExpression 1685271 1685307 - Identifier 1685271 1685282 - Identifier 1685283 1685307 - AmpersandAmpersandToken 1685307 1685310 - BinaryExpression 1685310 1685389 - PropertyAccessExpression 1685310 1685350 - Identifier 1685310 1685345 - Identifier 1685346 1685350 - ExclamationEqualsEqualsToken 1685350 1685354 - PropertyAccessExpression 1685354 1685389 - Identifier 1685354 1685365 - Identifier 1685366 1685389 - AmpersandAmpersandToken 1685389 1685392 - PrefixUnaryExpression 1685392 1685509 - ParenthesizedExpression 1685419 1685509 - BinaryExpression 1685420 1685508 - BinaryExpression 1685420 1685461 - PropertyAccessExpression 1685420 1685434 - Identifier 1685420 1685429 - Identifier 1685430 1685434 - EqualsEqualsEqualsToken 1685434 1685438 - PropertyAccessExpression 1685438 1685461 - Identifier 1685438 1685449 - Identifier 1685450 1685461 - AmpersandAmpersandToken 1685461 1685464 - BinaryExpression 1685464 1685508 - PropertyAccessExpression 1685464 1685479 - Identifier 1685464 1685474 - Identifier 1685475 1685479 - ExclamationEqualsEqualsToken 1685479 1685483 - PropertyAccessExpression 1685483 1685508 - Identifier 1685483 1685494 - Identifier 1685495 1685508 - Block 1685532 1685645 - ExpressionStatement 1685534 1685587 - BinaryExpression 1685534 1685586 - Identifier 1685534 1685564 - EqualsToken 1685564 1685566 - NonNullExpression 1685566 1685586 - PropertyAccessExpression 1685566 1685585 - Identifier 1685566 1685576 - Identifier 1685577 1685585 - ContinueStatement 1685587 1685622 - ExpressionStatement 1685645 1685759 - BinaryExpression 1685645 1685758 - Identifier 1685645 1685744 - EqualsToken 1685744 1685746 - Identifier 1685746 1685758 - Block 1685800 1686065 - ExpressionStatement 1685802 1686046 - BinaryExpression 1685802 1686045 - Identifier 1685802 1686012 - EqualsToken 1686012 1686014 - CallExpression 1686014 1686045 - Identifier 1686014 1686031 - Identifier 1686032 1686044 - IfStatement 1686065 1686371 - Identifier 1686087 1686097 - Block 1686098 1686371 - ExpressionStatement 1686100 1686250 - BinaryExpression 1686100 1686249 - ElementAccessExpression 1686100 1686236 - Identifier 1686100 1686219 - Identifier 1686220 1686235 - EqualsToken 1686236 1686238 - Identifier 1686238 1686249 - ExpressionStatement 1686250 1686312 - BinaryExpression 1686250 1686311 - ElementAccessExpression 1686250 1686304 - Identifier 1686250 1686287 - Identifier 1686288 1686303 - EqualsToken 1686304 1686306 - Identifier 1686306 1686311 - ExpressionStatement 1686312 1686352 - PostfixUnaryExpression 1686312 1686351 - Identifier 1686312 1686349 - ExpressionStatement 1686371 1686401 - PostfixUnaryExpression 1686371 1686400 - Identifier 1686371 1686398 - ReturnStatement 1686401 1686431 - Identifier 1686425 1686430 - FunctionDeclaration 1686457 1686904 - Identifier 1686477 1686502 - Parameter 1686503 1686523 - Identifier 1686503 1686507 - TypeReference 1686508 1686523 - Identifier 1686508 1686523 - Block 1686524 1686904 - VariableStatement 1686526 1686563 - VariableDeclarationList 1686526 1686562 - VariableDeclaration 1686545 1686562 - Identifier 1686545 1686550 - PropertyAccessExpression 1686552 1686562 - Identifier 1686552 1686557 - Identifier 1686558 1686562 - ReturnStatement 1686563 1686893 - CallExpression 1686583 1686892 - Identifier 1686583 1686613 - ConditionalExpression 1686614 1686848 - BinaryExpression 1686614 1686719 - BinaryExpression 1686614 1686676 - PropertyAccessExpression 1686614 1686641 - Identifier 1686614 1686636 - Identifier 1686637 1686641 - EqualsEqualsEqualsToken 1686641 1686645 - PropertyAccessExpression 1686645 1686676 - Identifier 1686645 1686656 - Identifier 1686657 1686676 - BarBarToken 1686676 1686679 - BinaryExpression 1686679 1686719 - PropertyAccessExpression 1686679 1686689 - Identifier 1686679 1686684 - Identifier 1686685 1686689 - EqualsEqualsEqualsToken 1686689 1686693 - PropertyAccessExpression 1686693 1686719 - Identifier 1686693 1686704 - Identifier 1686705 1686719 - QuestionToken 1686719 1686721 - CallExpression 1686721 1686803 - Identifier 1686721 1686757 - AsExpression 1686758 1686802 - Identifier 1686758 1686762 - UnionType 1686765 1686802 - TypeReference 1686765 1686785 - Identifier 1686765 1686785 - TypeReference 1686787 1686802 - Identifier 1686787 1686802 - ColonToken 1686803 1686805 - CallExpression 1686805 1686848 - Identifier 1686805 1686842 - Identifier 1686843 1686847 - Identifier 1686849 1686876 - FunctionDeclaration 1686904 1690259 - Identifier 1686924 1686948 - Parameter 1686949 1686969 - Identifier 1686949 1686953 - TypeReference 1686954 1686969 - Identifier 1686954 1686969 - Block 1686970 1690259 - VariableStatement 1686972 1687009 - VariableDeclarationList 1686972 1687008 - VariableDeclaration 1686991 1687008 - Identifier 1686991 1686996 - PropertyAccessExpression 1686998 1687008 - Identifier 1686998 1687003 - Identifier 1687004 1687008 - IfStatement 1687009 1688466 - CallExpression 1687226 1687262 - Identifier 1687226 1687245 - Identifier 1687246 1687255 - Identifier 1687256 1687261 - Block 1687263 1688466 - IfStatement 1687265 1687385 - PrefixUnaryExpression 1687287 1687313 - CallExpression 1687288 1687313 - Identifier 1687288 1687307 - Identifier 1687308 1687312 - Block 1687314 1687385 - ReturnStatement 1687316 1687366 - Identifier 1687344 1687365 - IfStatement 1687385 1687685 - BinaryExpression 1687407 1687464 - CallExpression 1687407 1687436 - Identifier 1687407 1687430 - Identifier 1687431 1687435 - EqualsEqualsEqualsToken 1687436 1687440 - PropertyAccessExpression 1687440 1687464 - Identifier 1687440 1687455 - Identifier 1687456 1687464 - Block 1687465 1687685 - VariableStatement 1687467 1687541 - VariableDeclarationList 1687467 1687540 - VariableDeclaration 1687494 1687540 - Identifier 1687494 1687503 - CallExpression 1687505 1687540 - Identifier 1687505 1687523 - PropertyAccessExpression 1687524 1687539 - Identifier 1687524 1687528 - Identifier 1687529 1687539 - ReturnStatement 1687541 1687666 - CallExpression 1687569 1687665 - Identifier 1687569 1687584 - CallExpression 1687585 1687640 - Identifier 1687585 1687609 - CallExpression 1687610 1687639 - Identifier 1687610 1687629 - Identifier 1687630 1687638 - CallExpression 1687641 1687664 - Identifier 1687641 1687654 - Identifier 1687655 1687663 - IfStatement 1687685 1688136 - BinaryExpression 1687707 1687766 - BinaryExpression 1687707 1687732 - Identifier 1687707 1687719 - EqualsEqualsEqualsToken 1687719 1687723 - Identifier 1687723 1687732 - BarBarToken 1687732 1687735 - BinaryExpression 1687735 1687766 - Identifier 1687735 1687748 - EqualsEqualsEqualsToken 1687748 1687752 - Identifier 1687752 1687766 - Block 1687767 1688136 - IfStatement 1687769 1687914 - CallExpression 1687795 1687823 - Identifier 1687795 1687817 - Identifier 1687818 1687822 - Block 1687824 1687914 - ReturnStatement 1687826 1687891 - CallExpression 1687858 1687890 - Identifier 1687858 1687879 - Identifier 1687880 1687889 - VariableStatement 1687914 1688011 - VariableDeclarationList 1687914 1688010 - VariableDeclaration 1687941 1688010 - Identifier 1687941 1687954 - CallExpression 1687956 1688010 - Identifier 1687956 1687978 - CallExpression 1687979 1688009 - Identifier 1687979 1688003 - Identifier 1688004 1688008 - ReturnStatement 1688011 1688117 - ConditionalExpression 1688039 1688116 - CallExpression 1688039 1688086 - Identifier 1688039 1688058 - Identifier 1688059 1688071 - Identifier 1688072 1688085 - QuestionToken 1688086 1688088 - Identifier 1688088 1688101 - ColonToken 1688101 1688103 - Identifier 1688103 1688116 - VariableStatement 1688136 1688253 - VariableDeclarationList 1688136 1688252 - VariableDeclaration 1688159 1688252 - Identifier 1688159 1688161 - ConditionalExpression 1688163 1688252 - CallExpression 1688163 1688196 - Identifier 1688163 1688190 - Identifier 1688191 1688195 - QuestionToken 1688196 1688198 - CallExpression 1688198 1688237 - Identifier 1688198 1688223 - Identifier 1688224 1688236 - ColonToken 1688237 1688239 - Identifier 1688239 1688252 - IfStatement 1688253 1688424 - BinaryExpression 1688275 1688300 - PropertyAccessExpression 1688275 1688282 - Identifier 1688275 1688276 - Identifier 1688277 1688282 - AmpersandToken 1688282 1688284 - PropertyAccessExpression 1688284 1688300 - Identifier 1688284 1688294 - Identifier 1688295 1688300 - Block 1688301 1688424 - ReturnStatement 1688303 1688405 - CallExpression 1688331 1688404 - Identifier 1688331 1688356 - AsExpression 1688357 1688371 - Identifier 1688357 1688358 - TypeReference 1688361 1688371 - Identifier 1688361 1688371 - CallExpression 1688372 1688403 - Identifier 1688372 1688397 - Identifier 1688398 1688402 - ReturnStatement 1688424 1688451 - Identifier 1688448 1688450 - IfStatement 1688466 1689638 - CallExpression 1688809 1688851 - Identifier 1688809 1688834 - Identifier 1688835 1688844 - Identifier 1688845 1688850 - Block 1688852 1689638 - IfStatement 1688854 1688974 - PrefixUnaryExpression 1688876 1688902 - CallExpression 1688877 1688902 - Identifier 1688877 1688896 - Identifier 1688897 1688901 - Block 1688903 1688974 - ReturnStatement 1688905 1688955 - Identifier 1688933 1688954 - IfStatement 1688974 1689585 - BinaryExpression 1689204 1689277 - CallExpression 1689204 1689231 - Identifier 1689204 1689225 - Identifier 1689226 1689230 - AmpersandAmpersandToken 1689231 1689234 - ParenthesizedExpression 1689234 1689277 - BinaryExpression 1689236 1689276 - CallExpression 1689236 1689252 - Identifier 1689236 1689246 - Identifier 1689247 1689251 - BarBarToken 1689252 1689255 - CallExpression 1689255 1689276 - Identifier 1689255 1689270 - Identifier 1689271 1689275 - Block 1689278 1689585 - VariableStatement 1689280 1689351 - VariableDeclarationList 1689280 1689350 - VariableDeclaration 1689307 1689350 - Identifier 1689307 1689312 - CallExpression 1689314 1689350 - Identifier 1689314 1689344 - Identifier 1689345 1689349 - IfStatement 1689351 1689566 - BinaryExpression 1689377 1689472 - Identifier 1689377 1689381 - AmpersandAmpersandToken 1689381 1689384 - ParenthesizedExpression 1689384 1689472 - BinaryExpression 1689386 1689471 - BinaryExpression 1689386 1689429 - PropertyAccessExpression 1689386 1689395 - Identifier 1689386 1689390 - Identifier 1689391 1689395 - EqualsEqualsEqualsToken 1689395 1689399 - PropertyAccessExpression 1689399 1689429 - Identifier 1689399 1689410 - Identifier 1689411 1689429 - BarBarToken 1689429 1689432 - BinaryExpression 1689432 1689471 - PropertyAccessExpression 1689432 1689442 - Identifier 1689432 1689437 - Identifier 1689438 1689442 - EqualsEqualsEqualsToken 1689442 1689446 - PropertyAccessExpression 1689446 1689471 - Identifier 1689446 1689457 - Identifier 1689458 1689471 - Block 1689473 1689566 - ReturnStatement 1689475 1689543 - CallExpression 1689507 1689542 - Identifier 1689507 1689525 - PropertyAccessExpression 1689526 1689541 - Identifier 1689526 1689530 - Identifier 1689531 1689541 - ReturnStatement 1689585 1689623 - Identifier 1689609 1689622 - IfStatement 1689638 1690165 - BinaryExpression 1689718 1689997 - BinaryExpression 1689718 1689837 - CallExpression 1689718 1689763 - Identifier 1689718 1689757 - Identifier 1689758 1689762 - AmpersandAmpersandToken 1689763 1689766 - BinaryExpression 1689766 1689837 - PropertyAccessExpression 1689766 1689807 - PropertyAccessExpression 1689766 1689802 - PropertyAccessExpression 1689766 1689795 - Identifier 1689766 1689788 - Identifier 1689789 1689795 - Identifier 1689796 1689802 - Identifier 1689803 1689807 - EqualsEqualsEqualsToken 1689807 1689811 - PropertyAccessExpression 1689811 1689837 - Identifier 1689811 1689822 - Identifier 1689823 1689837 - AmpersandAmpersandToken 1689837 1689840 - ParenthesizedExpression 1689840 1689997 - BinaryExpression 1689859 1689996 - CallExpression 1689859 1689920 - Identifier 1689859 1689878 - Identifier 1689879 1689888 - PropertyAccessExpression 1689889 1689919 - PropertyAccessExpression 1689889 1689908 - PropertyAccessExpression 1689889 1689901 - Identifier 1689889 1689894 - Identifier 1689895 1689901 - Identifier 1689902 1689908 - Identifier 1689909 1689919 - BarBarToken 1689920 1689923 - CallExpression 1689923 1689996 - Identifier 1689923 1689954 - PropertyAccessExpression 1689955 1689984 - PropertyAccessExpression 1689955 1689973 - PropertyAccessExpression 1689955 1689966 - Identifier 1689955 1689959 - Identifier 1689960 1689966 - Identifier 1689967 1689973 - Identifier 1689974 1689984 - Identifier 1689985 1689995 - Block 1690012 1690165 - ReturnStatement 1690014 1690150 - CallExpression 1690038 1690149 - Identifier 1690038 1690065 - CallExpression 1690066 1690148 - Identifier 1690066 1690091 - CallExpression 1690092 1690147 - Identifier 1690092 1690111 - CallExpression 1690112 1690146 - Identifier 1690112 1690129 - PropertyAccessExpression 1690130 1690145 - Identifier 1690130 1690134 - Identifier 1690135 1690145 - ReturnStatement 1690165 1690248 - Identifier 1690237 1690247 - FunctionDeclaration 1690259 1691257 - Identifier 1690279 1690301 - Parameter 1690302 1690312 - Identifier 1690302 1690306 - TypeReference 1690307 1690312 - Identifier 1690307 1690312 - Parameter 1690313 1690330 - Identifier 1690313 1690318 - TypeReference 1690319 1690330 - Identifier 1690319 1690330 - TypeReference 1690332 1690337 - Identifier 1690332 1690337 - Block 1690337 1691257 - VariableStatement 1690339 1690425 - VariableDeclarationList 1690339 1690424 - VariableDeclaration 1690358 1690424 - Identifier 1690358 1690363 - CallExpression 1690365 1690424 - Identifier 1690365 1690381 - Identifier 1690382 1690386 - TrueKeyword 1690387 1690423 - IfStatement 1690425 1690544 - BinaryExpression 1690443 1690480 - PropertyAccessExpression 1690443 1690452 - Identifier 1690443 1690447 - Identifier 1690448 1690452 - EqualsEqualsEqualsToken 1690452 1690456 - PropertyAccessExpression 1690456 1690480 - Identifier 1690456 1690467 - Identifier 1690468 1690480 - Block 1690481 1690544 - ReturnStatement 1690483 1690529 - Identifier 1690507 1690528 - IfStatement 1690544 1691181 - BinaryExpression 1690562 1690603 - PropertyAccessExpression 1690562 1690571 - Identifier 1690562 1690566 - Identifier 1690567 1690571 - EqualsEqualsEqualsToken 1690571 1690575 - PropertyAccessExpression 1690575 1690603 - Identifier 1690575 1690586 - Identifier 1690587 1690603 - Block 1690604 1691181 - IfStatement 1690606 1690881 - BinaryExpression 1690628 1690712 - PropertyAccessExpression 1690628 1690673 - PropertyAccessExpression 1690628 1690668 - ParenthesizedExpression 1690628 1690654 - AsExpression 1690629 1690653 - Identifier 1690629 1690633 - TypeReference 1690636 1690653 - Identifier 1690636 1690653 - Identifier 1690655 1690668 - Identifier 1690669 1690673 - EqualsEqualsEqualsToken 1690673 1690677 - PropertyAccessExpression 1690677 1690712 - Identifier 1690677 1690688 - Identifier 1690689 1690712 - Block 1690713 1690881 - ReturnStatement 1690715 1690862 - CallExpression 1690743 1690861 - Identifier 1690743 1690765 - CallExpression 1690766 1690826 - Identifier 1690766 1690787 - Identifier 1690788 1690792 - PropertyAccessExpression 1690793 1690825 - ParenthesizedExpression 1690793 1690820 - AsExpression 1690795 1690819 - Identifier 1690795 1690799 - TypeReference 1690802 1690819 - Identifier 1690802 1690819 - Identifier 1690821 1690825 - PropertyAccessExpression 1690827 1690860 - ParenthesizedExpression 1690827 1690854 - AsExpression 1690829 1690853 - Identifier 1690829 1690833 - TypeReference 1690836 1690853 - Identifier 1690836 1690853 - Identifier 1690855 1690860 - IfStatement 1690881 1691166 - BinaryExpression 1690903 1690975 - PropertyAccessExpression 1690903 1690948 - PropertyAccessExpression 1690903 1690943 - ParenthesizedExpression 1690903 1690929 - AsExpression 1690904 1690928 - Identifier 1690904 1690908 - TypeReference 1690911 1690928 - Identifier 1690911 1690928 - Identifier 1690930 1690943 - Identifier 1690944 1690948 - EqualsEqualsEqualsToken 1690948 1690952 - PropertyAccessExpression 1690952 1690975 - Identifier 1690952 1690963 - Identifier 1690964 1690975 - Block 1690976 1691166 - ReturnStatement 1690978 1691147 - CallExpression 1691006 1691146 - Identifier 1691006 1691019 - ArrayLiteralExpression 1691020 1691145 - CallExpression 1691021 1691081 - Identifier 1691021 1691042 - Identifier 1691043 1691047 - PropertyAccessExpression 1691048 1691080 - ParenthesizedExpression 1691048 1691075 - AsExpression 1691050 1691074 - Identifier 1691050 1691054 - TypeReference 1691057 1691074 - Identifier 1691057 1691074 - Identifier 1691076 1691080 - CallExpression 1691082 1691144 - Identifier 1691082 1691104 - Identifier 1691105 1691109 - PropertyAccessExpression 1691110 1691143 - ParenthesizedExpression 1691110 1691137 - AsExpression 1691112 1691136 - Identifier 1691112 1691116 - TypeReference 1691119 1691136 - Identifier 1691119 1691136 - Identifier 1691138 1691143 - ReturnStatement 1691181 1691246 - CallExpression 1691201 1691245 - Identifier 1691201 1691212 - Identifier 1691213 1691217 - Identifier 1691218 1691223 - TrueKeyword 1691224 1691244 - FunctionDeclaration 1691257 1692577 - Identifier 1691277 1691295 - Parameter 1691296 1691310 - Identifier 1691296 1691300 - TypeReference 1691301 1691310 - Identifier 1691301 1691310 - UnionType 1691312 1691333 - TypeReference 1691312 1691321 - Identifier 1691312 1691321 - UndefinedKeyword 1691323 1691333 - Block 1691333 1692577 - VariableStatement 1691335 1691398 - VariableDeclarationList 1691335 1691397 - VariableDeclaration 1691354 1691397 - Identifier 1691354 1691364 - CallExpression 1691366 1691397 - Identifier 1691366 1691386 - PropertyAccessExpression 1691387 1691396 - Identifier 1691387 1691391 - Identifier 1691392 1691396 - IfStatement 1691398 1692535 - Identifier 1691416 1691425 - Block 1691426 1692535 - VariableStatement 1691428 1691503 - VariableDeclarationList 1691428 1691502 - VariableDeclaration 1691451 1691502 - Identifier 1691451 1691461 - CallExpression 1691463 1691502 - Identifier 1691463 1691491 - Identifier 1691492 1691501 - IfStatement 1691503 1692367 - BinaryExpression 1691525 1691646 - Identifier 1691525 1691534 - AmpersandAmpersandToken 1691534 1691537 - ParenthesizedExpression 1691537 1691646 - BinaryExpression 1691539 1691645 - BinaryExpression 1691539 1691587 - PropertyAccessExpression 1691539 1691553 - Identifier 1691539 1691548 - Identifier 1691549 1691553 - EqualsEqualsEqualsToken 1691553 1691557 - PropertyAccessExpression 1691557 1691587 - Identifier 1691557 1691575 - Identifier 1691576 1691587 - BarBarToken 1691587 1691590 - BinaryExpression 1691590 1691645 - PropertyAccessExpression 1691590 1691605 - Identifier 1691590 1691600 - Identifier 1691601 1691605 - EqualsEqualsEqualsToken 1691605 1691609 - PropertyAccessExpression 1691609 1691645 - Identifier 1691609 1691627 - Identifier 1691628 1691645 - Block 1691647 1692367 - VariableStatement 1691649 1691723 - VariableDeclarationList 1691649 1691722 - VariableDeclaration 1691676 1691722 - Identifier 1691676 1691685 - CallExpression 1691687 1691722 - Identifier 1691687 1691705 - PropertyAccessExpression 1691706 1691721 - Identifier 1691706 1691710 - Identifier 1691711 1691721 - VariableStatement 1691723 1691815 - VariableDeclarationList 1691723 1691814 - VariableDeclaration 1691750 1691814 - Identifier 1691750 1691755 - CallExpression 1691757 1691814 - Identifier 1691757 1691783 - CallExpression 1691784 1691813 - Identifier 1691784 1691803 - Identifier 1691804 1691812 - VariableStatement 1691815 1692231 - VariableDeclarationList 1691815 1692230 - VariableDeclaration 1691842 1692230 - Identifier 1691842 1691855 - ConditionalExpression 1691857 1692230 - PropertyAccessExpression 1691857 1691872 - Identifier 1691857 1691867 - Identifier 1691868 1691872 - QuestionToken 1691872 1691874 - CallExpression 1691874 1691949 - Identifier 1691874 1691900 - Identifier 1691901 1691905 - Identifier 1691906 1691916 - PropertyAccessExpression 1691917 1691927 - Identifier 1691917 1691922 - Identifier 1691923 1691927 - TrueKeyword 1691928 1691948 - ColonToken 1691949 1691951 - ConditionalExpression 1691951 1692230 - BinaryExpression 1691951 1692121 - BinaryExpression 1691951 1692064 - BinaryExpression 1691951 1692031 - PropertyAccessExpression 1691951 1691991 - Identifier 1691951 1691986 - Identifier 1691987 1691991 - EqualsEqualsEqualsToken 1691991 1691995 - PropertyAccessExpression 1691995 1692031 - Identifier 1691995 1692013 - Identifier 1692014 1692031 - AmpersandAmpersandToken 1692031 1692034 - BinaryExpression 1692034 1692064 - PropertyAccessExpression 1692034 1692059 - Identifier 1692034 1692044 - Identifier 1692045 1692059 - GreaterThanEqualsToken 1692059 1692062 - NumericLiteral 1692062 1692064 - AmpersandAmpersandToken 1692064 1692067 - BinaryExpression 1692067 1692121 - PropertyAccessExpression 1692067 1692092 - Identifier 1692067 1692077 - Identifier 1692078 1692092 - LessThanToken 1692092 1692094 - PropertyAccessExpression 1692094 1692121 - PropertyAccessExpression 1692094 1692114 - PropertyAccessExpression 1692094 1692104 - Identifier 1692094 1692099 - Identifier 1692100 1692104 - Identifier 1692105 1692114 - Identifier 1692115 1692121 - QuestionToken 1692121 1692123 - CallExpression 1692123 1692198 - Identifier 1692123 1692145 - Identifier 1692146 1692150 - ElementAccessExpression 1692151 1692197 - PropertyAccessExpression 1692151 1692171 - PropertyAccessExpression 1692151 1692161 - Identifier 1692151 1692156 - Identifier 1692157 1692161 - Identifier 1692162 1692171 - PropertyAccessExpression 1692172 1692196 - Identifier 1692172 1692181 - Identifier 1692182 1692196 - ColonToken 1692198 1692200 - Identifier 1692200 1692230 - ReturnStatement 1692231 1692348 - ConditionalExpression 1692259 1692347 - BinaryExpression 1692259 1692281 - Identifier 1692259 1692272 - EqualsEqualsEqualsToken 1692272 1692276 - Identifier 1692276 1692281 - QuestionToken 1692281 1692283 - Identifier 1692283 1692292 - ColonToken 1692292 1692294 - CallExpression 1692294 1692347 - Identifier 1692294 1692309 - Identifier 1692310 1692322 - CallExpression 1692323 1692346 - Identifier 1692323 1692336 - Identifier 1692337 1692345 - IfStatement 1692367 1692520 - BinaryExpression 1692389 1692448 - PropertyAccessExpression 1692389 1692430 - CallExpression 1692389 1692424 - Identifier 1692389 1692413 - Identifier 1692414 1692423 - Identifier 1692425 1692430 - AmpersandToken 1692430 1692432 - PropertyAccessExpression 1692432 1692448 - Identifier 1692432 1692442 - Identifier 1692443 1692448 - Block 1692449 1692520 - ReturnStatement 1692451 1692501 - Identifier 1692479 1692500 - ReturnStatement 1692535 1692566 - Identifier 1692555 1692565 - FunctionDeclaration 1692577 1694534 - Identifier 1692597 1692624 - Parameter 1692625 1692648 - Identifier 1692625 1692629 - TypeReference 1692630 1692648 - Identifier 1692630 1692648 - UnionType 1692650 1692671 - TypeReference 1692650 1692659 - Identifier 1692650 1692659 - UndefinedKeyword 1692661 1692671 - Block 1692671 1694534 - IfStatement 1692673 1694492 - BinaryExpression 1692691 1692750 - BinaryExpression 1692691 1692716 - Identifier 1692691 1692703 - EqualsEqualsEqualsToken 1692703 1692707 - Identifier 1692707 1692716 - BarBarToken 1692716 1692719 - BinaryExpression 1692719 1692750 - Identifier 1692719 1692732 - EqualsEqualsEqualsToken 1692732 1692736 - Identifier 1692736 1692750 - Block 1692751 1694492 - VariableStatement 1692753 1692794 - VariableDeclarationList 1692753 1692793 - VariableDeclaration 1692776 1692793 - Identifier 1692776 1692781 - PropertyAccessExpression 1692783 1692793 - Identifier 1692783 1692788 - Identifier 1692789 1692793 - VariableStatement 1692794 1693018 - VariableDeclarationList 1692794 1693017 - VariableDeclaration 1692817 1693017 - Identifier 1692817 1692822 - ConditionalExpression 1692824 1693017 - BinaryExpression 1692824 1692864 - PropertyAccessExpression 1692824 1692834 - Identifier 1692824 1692829 - Identifier 1692830 1692834 - EqualsEqualsEqualsToken 1692834 1692838 - PropertyAccessExpression 1692838 1692864 - Identifier 1692838 1692849 - Identifier 1692850 1692864 - QuestionToken 1692864 1692866 - PropertyAccessExpression 1692866 1692944 - ParenthesizedExpression 1692866 1692933 - AsExpression 1692889 1692932 - PropertyAccessExpression 1692889 1692904 - Identifier 1692889 1692893 - Identifier 1692894 1692904 - TypeReference 1692907 1692932 - Identifier 1692907 1692932 - Identifier 1692934 1692944 - ColonToken 1692944 1692946 - PropertyAccessExpression 1692946 1693017 - ParenthesizedExpression 1692946 1693006 - AsExpression 1692969 1693005 - PropertyAccessExpression 1692969 1692978 - Identifier 1692969 1692973 - Identifier 1692974 1692978 - TypeReference 1692981 1693005 - Identifier 1692981 1693005 - Identifier 1693007 1693017 - IfStatement 1693018 1694477 - CallExpression 1693040 1693099 - Identifier 1693040 1693059 - Identifier 1693060 1693069 - CallExpression 1693070 1693098 - Identifier 1693070 1693092 - Identifier 1693093 1693097 - Block 1693100 1694477 - VariableStatement 1693102 1693176 - VariableDeclarationList 1693102 1693175 - VariableDeclaration 1693129 1693175 - Identifier 1693129 1693138 - CallExpression 1693140 1693175 - Identifier 1693140 1693158 - PropertyAccessExpression 1693159 1693174 - Identifier 1693159 1693163 - Identifier 1693164 1693174 - VariableStatement 1693176 1693241 - VariableDeclarationList 1693176 1693240 - VariableDeclaration 1693203 1693240 - Identifier 1693203 1693208 - CallExpression 1693210 1693240 - Identifier 1693210 1693230 - Identifier 1693231 1693239 - IfStatement 1693241 1694420 - BinaryExpression 1693267 1693315 - CallExpression 1693267 1693287 - Identifier 1693267 1693281 - Identifier 1693282 1693286 - AmpersandToken 1693287 1693289 - PropertyAccessExpression 1693289 1693315 - Identifier 1693289 1693301 - Identifier 1693302 1693315 - Block 1693316 1694420 - VariableStatement 1693318 1693388 - VariableDeclarationList 1693318 1693387 - VariableDeclaration 1693347 1693387 - Identifier 1693347 1693359 - AsExpression 1693361 1693387 - Identifier 1693361 1693366 - TypeReference 1693369 1693387 - Identifier 1693369 1693387 - IfStatement 1693388 1694278 - BinaryExpression 1693418 1693457 - PropertyAccessExpression 1693418 1693427 - Identifier 1693418 1693422 - Identifier 1693423 1693427 - EqualsEqualsEqualsToken 1693427 1693431 - PropertyAccessExpression 1693431 1693457 - Identifier 1693431 1693442 - Identifier 1693443 1693457 - Block 1693458 1693677 - ForOfStatement 1693460 1693650 - VariableDeclarationList 1693495 1693504 - VariableDeclaration 1693500 1693504 - Identifier 1693500 1693504 - PropertyAccessExpression 1693507 1693522 - Identifier 1693507 1693512 - Identifier 1693513 1693522 - Block 1693523 1693650 - ExpressionStatement 1693525 1693619 - BinaryExpression 1693525 1693618 - Identifier 1693525 1693570 - EqualsToken 1693570 1693572 - CallExpression 1693572 1693618 - Identifier 1693572 1693600 - Identifier 1693601 1693612 - Identifier 1693613 1693617 - Block 1693707 1694278 - VariableStatement 1693709 1694027 - VariableDeclarationList 1693709 1694026 - VariableDeclaration 1693924 1694026 - Identifier 1693924 1693934 - CallExpression 1693936 1694026 - Identifier 1693936 1693967 - PropertyAccessExpression 1693968 1694025 - ParenthesizedExpression 1693968 1694006 - AsExpression 1693969 1694005 - PropertyAccessExpression 1693969 1693978 - Identifier 1693969 1693973 - Identifier 1693974 1693978 - TypeReference 1693981 1694005 - Identifier 1693981 1694005 - Identifier 1694007 1694025 - IfStatement 1694027 1694251 - CallExpression 1694061 1694116 - Identifier 1694061 1694083 - Identifier 1694084 1694093 - PropertyAccessExpression 1694094 1694115 - Identifier 1694094 1694104 - Identifier 1694105 1694115 - Block 1694117 1694251 - ExpressionStatement 1694119 1694220 - BinaryExpression 1694119 1694219 - Identifier 1694119 1694164 - EqualsToken 1694164 1694166 - CallExpression 1694166 1694219 - Identifier 1694166 1694194 - Identifier 1694195 1694206 - PropertyAccessExpression 1694207 1694218 - Identifier 1694207 1694212 - Identifier 1694213 1694218 - ReturnStatement 1694278 1694397 - ConditionalExpression 1694310 1694396 - BinaryExpression 1694310 1694331 - Identifier 1694310 1694322 - EqualsEqualsEqualsToken 1694322 1694326 - Identifier 1694326 1694331 - QuestionToken 1694331 1694333 - Identifier 1694333 1694342 - ColonToken 1694342 1694344 - CallExpression 1694344 1694396 - Identifier 1694344 1694359 - Identifier 1694360 1694371 - CallExpression 1694372 1694395 - Identifier 1694372 1694385 - Identifier 1694386 1694394 - ReturnStatement 1694420 1694458 - Identifier 1694448 1694457 - ReturnStatement 1694492 1694523 - Identifier 1694512 1694522 - FunctionDeclaration 1694534 1695884 - Identifier 1694554 1694577 - Parameter 1694578 1694597 - Identifier 1694578 1694582 - TypeReference 1694583 1694597 - Identifier 1694583 1694597 - TypeReference 1694599 1694608 - Identifier 1694599 1694608 - Block 1694608 1695884 - VariableStatement 1694610 1694676 - VariableDeclarationList 1694610 1694675 - VariableDeclaration 1694629 1694675 - Identifier 1694629 1694638 - CallExpression 1694640 1694675 - Identifier 1694640 1694658 - PropertyAccessExpression 1694659 1694674 - Identifier 1694659 1694663 - Identifier 1694664 1694674 - VariableStatement 1694676 1694733 - VariableDeclarationList 1694676 1694732 - VariableDeclaration 1694695 1694732 - Identifier 1694695 1694700 - CallExpression 1694702 1694732 - Identifier 1694702 1694722 - Identifier 1694723 1694731 - IfStatement 1694733 1694831 - BinaryExpression 1694751 1694779 - PropertyAccessExpression 1694751 1694761 - Identifier 1694751 1694755 - Identifier 1694756 1694761 - AmpersandToken 1694761 1694763 - PropertyAccessExpression 1694763 1694779 - Identifier 1694763 1694773 - Identifier 1694774 1694779 - Block 1694780 1694831 - ReturnStatement 1694782 1694816 - Identifier 1694806 1694815 - VariableStatement 1694831 1695541 - VariableDeclarationList 1694831 1695540 - VariableDeclaration 1695482 1695540 - Identifier 1695482 1695493 - BinaryExpression 1695495 1695540 - ParenthesizedExpression 1695495 1695534 - BinaryExpression 1695497 1695533 - PropertyAccessExpression 1695497 1695507 - Identifier 1695497 1695501 - Identifier 1695502 1695507 - AmpersandToken 1695507 1695509 - PropertyAccessExpression 1695509 1695533 - Identifier 1695509 1695519 - Identifier 1695520 1695533 - ExclamationEqualsEqualsToken 1695534 1695538 - NumericLiteral 1695538 1695540 - VariableStatement 1695541 1695611 - VariableDeclarationList 1695541 1695610 - VariableDeclaration 1695560 1695610 - Identifier 1695560 1695576 - CallExpression 1695578 1695610 - Identifier 1695578 1695604 - Identifier 1695605 1695609 - VariableStatement 1695611 1695697 - VariableDeclarationList 1695611 1695696 - VariableDeclaration 1695630 1695696 - Identifier 1695630 1695643 - CallExpression 1695645 1695696 - Identifier 1695645 1695656 - Identifier 1695657 1695672 - PropertyAccessExpression 1695673 1695683 - Identifier 1695673 1695678 - Identifier 1695679 1695683 - Identifier 1695684 1695695 - IfStatement 1695697 1695799 - BinaryExpression 1695715 1695747 - Identifier 1695715 1695727 - EqualsEqualsEqualsToken 1695727 1695731 - Identifier 1695731 1695747 - Block 1695748 1695799 - ReturnStatement 1695750 1695784 - Identifier 1695774 1695783 - ReturnStatement 1695799 1695873 - CallExpression 1695819 1695872 - Identifier 1695819 1695834 - Identifier 1695835 1695847 - CallExpression 1695848 1695871 - Identifier 1695848 1695861 - Identifier 1695862 1695870 - FunctionDeclaration 1695884 1697719 - Identifier 1695904 1695926 - Parameter 1695927 1695949 - Identifier 1695927 1695931 - TypeReference 1695932 1695949 - Identifier 1695932 1695949 - TypeReference 1695951 1695960 - Identifier 1695951 1695960 - Block 1695960 1697719 - VariableStatement 1695962 1696043 - VariableDeclarationList 1695962 1696042 - VariableDeclaration 1695981 1696042 - Identifier 1695981 1695986 - CallExpression 1695988 1696042 - Identifier 1695988 1696004 - PropertyAccessExpression 1696005 1696041 - PropertyAccessExpression 1696005 1696030 - PropertyAccessExpression 1696005 1696014 - Identifier 1696005 1696009 - Identifier 1696010 1696014 - Identifier 1696015 1696030 - Identifier 1696031 1696041 - VariableStatement 1696043 1696109 - VariableDeclarationList 1696043 1696108 - VariableDeclaration 1696062 1696108 - Identifier 1696062 1696071 - CallExpression 1696073 1696108 - Identifier 1696073 1696091 - PropertyAccessExpression 1696092 1696107 - Identifier 1696092 1696096 - Identifier 1696097 1696107 - VariableStatement 1696109 1696164 - VariableDeclarationList 1696109 1696163 - VariableDeclaration 1696126 1696163 - Identifier 1696126 1696131 - CallExpression 1696133 1696163 - Identifier 1696133 1696153 - Identifier 1696154 1696162 - IfStatement 1696164 1697642 - CallExpression 1696182 1696218 - Identifier 1696182 1696201 - Identifier 1696202 1696211 - Identifier 1696212 1696217 - Block 1696219 1696311 - ExpressionStatement 1696221 1696296 - BinaryExpression 1696221 1696295 - Identifier 1696221 1696243 - EqualsToken 1696243 1696245 - CallExpression 1696245 1696295 - Identifier 1696245 1696278 - Identifier 1696279 1696283 - PropertyAccessExpression 1696284 1696294 - Identifier 1696284 1696289 - Identifier 1696290 1696294 - IfStatement 1696329 1697642 - BinaryExpression 1696334 1696448 - BinaryExpression 1696334 1696375 - PropertyAccessExpression 1696334 1696343 - Identifier 1696334 1696338 - Identifier 1696339 1696343 - EqualsEqualsEqualsToken 1696343 1696347 - PropertyAccessExpression 1696347 1696375 - Identifier 1696347 1696358 - Identifier 1696359 1696375 - AmpersandAmpersandToken 1696375 1696378 - CallExpression 1696378 1696448 - Identifier 1696378 1696398 - Identifier 1696399 1696408 - PropertyAccessExpression 1696409 1696447 - ParenthesizedExpression 1696409 1696436 - AsExpression 1696411 1696435 - Identifier 1696411 1696415 - TypeReference 1696418 1696435 - Identifier 1696418 1696435 - Identifier 1696437 1696447 - Block 1696449 1696535 - ExpressionStatement 1696451 1696520 - BinaryExpression 1696451 1696519 - Identifier 1696451 1696473 - EqualsToken 1696473 1696475 - CallExpression 1696475 1696519 - Identifier 1696475 1696502 - Identifier 1696503 1696507 - PropertyAccessExpression 1696508 1696518 - Identifier 1696508 1696513 - Identifier 1696514 1696518 - IfStatement 1696553 1697642 - BinaryExpression 1696558 1696594 - PropertyAccessExpression 1696558 1696567 - Identifier 1696558 1696562 - Identifier 1696563 1696567 - EqualsEqualsEqualsToken 1696567 1696571 - PropertyAccessExpression 1696571 1696594 - Identifier 1696571 1696582 - Identifier 1696583 1696594 - Block 1696595 1696679 - ExpressionStatement 1696597 1696664 - BinaryExpression 1696597 1696663 - Identifier 1696597 1696619 - EqualsToken 1696619 1696621 - CallExpression 1696621 1696663 - Identifier 1696621 1696646 - Identifier 1696647 1696651 - PropertyAccessExpression 1696652 1696662 - Identifier 1696652 1696657 - Identifier 1696658 1696662 - Block 1696697 1697642 - IfStatement 1696699 1697407 - Identifier 1696721 1696737 - Block 1696738 1697407 - IfStatement 1696740 1697388 - CallExpression 1696766 1696813 - Identifier 1696766 1696796 - Identifier 1696797 1696801 - Identifier 1696802 1696812 - Block 1696814 1696991 - ExpressionStatement 1696816 1696968 - BinaryExpression 1696816 1696967 - Identifier 1696816 1696846 - EqualsToken 1696846 1696848 - CallExpression 1696848 1696967 - Identifier 1696848 1696891 - Identifier 1696892 1696896 - PropertyAccessExpression 1696897 1696907 - Identifier 1696897 1696902 - Identifier 1696903 1696907 - ArrowFunction 1696908 1696966 - Parameter 1696908 1696910 - Identifier 1696908 1696910 - EqualsGreaterThanToken 1696910 1696913 - PrefixUnaryExpression 1696913 1696966 - ParenthesizedExpression 1696915 1696966 - BinaryExpression 1696916 1696965 - PropertyAccessExpression 1696916 1696923 - Identifier 1696916 1696917 - Identifier 1696918 1696923 - AmpersandToken 1696923 1696925 - ParenthesizedExpression 1696925 1696965 - BinaryExpression 1696927 1696964 - PropertyAccessExpression 1696927 1696946 - Identifier 1696927 1696936 - Identifier 1696937 1696946 - BarToken 1696946 1696948 - PropertyAccessExpression 1696948 1696964 - Identifier 1696948 1696958 - Identifier 1696959 1696964 - IfStatement 1697017 1697388 - BinaryExpression 1697022 1697147 - BinaryExpression 1697022 1697063 - PropertyAccessExpression 1697022 1697031 - Identifier 1697022 1697026 - Identifier 1697027 1697031 - EqualsEqualsEqualsToken 1697031 1697035 - PropertyAccessExpression 1697035 1697063 - Identifier 1697035 1697046 - Identifier 1697047 1697063 - AmpersandAmpersandToken 1697063 1697066 - CallExpression 1697066 1697147 - Identifier 1697066 1697097 - PropertyAccessExpression 1697098 1697135 - ParenthesizedExpression 1697098 1697124 - AsExpression 1697099 1697123 - Identifier 1697099 1697103 - TypeReference 1697106 1697123 - Identifier 1697106 1697123 - Identifier 1697125 1697135 - Identifier 1697136 1697146 - Block 1697148 1697388 - ExpressionStatement 1697150 1697365 - BinaryExpression 1697150 1697364 - Identifier 1697150 1697180 - EqualsToken 1697180 1697182 - CallExpression 1697182 1697364 - Identifier 1697182 1697225 - Identifier 1697226 1697230 - PropertyAccessExpression 1697231 1697241 - Identifier 1697231 1697236 - Identifier 1697237 1697241 - ArrowFunction 1697242 1697363 - Parameter 1697242 1697244 - Identifier 1697242 1697244 - EqualsGreaterThanToken 1697244 1697247 - PrefixUnaryExpression 1697247 1697363 - ParenthesizedExpression 1697249 1697363 - BinaryExpression 1697250 1697362 - BinaryExpression 1697250 1697275 - PropertyAccessExpression 1697250 1697257 - Identifier 1697250 1697251 - Identifier 1697252 1697257 - AmpersandToken 1697257 1697259 - PropertyAccessExpression 1697259 1697275 - Identifier 1697259 1697269 - Identifier 1697270 1697275 - BarBarToken 1697275 1697278 - BinaryExpression 1697278 1697362 - BinaryExpression 1697278 1697312 - PropertyAccessExpression 1697278 1697286 - Identifier 1697278 1697280 - Identifier 1697281 1697286 - AmpersandToken 1697286 1697288 - PropertyAccessExpression 1697288 1697312 - Identifier 1697288 1697298 - Identifier 1697299 1697312 - AmpersandAmpersandToken 1697312 1697315 - BinaryExpression 1697315 1697362 - PropertyAccessExpression 1697315 1697346 - ParenthesizedExpression 1697315 1697340 - AsExpression 1697317 1697339 - Identifier 1697317 1697318 - TypeReference 1697321 1697339 - Identifier 1697321 1697339 - Identifier 1697341 1697346 - EqualsEqualsEqualsToken 1697346 1697350 - StringLiteral 1697350 1697362 - VariableStatement 1697407 1697482 - VariableDeclarationList 1697407 1697481 - VariableDeclaration 1697430 1697481 - Identifier 1697430 1697437 - CallExpression 1697439 1697481 - Identifier 1697439 1697469 - Identifier 1697470 1697474 - Identifier 1697475 1697480 - IfStatement 1697482 1697627 - Identifier 1697504 1697510 - Block 1697511 1697627 - ExpressionStatement 1697513 1697608 - BinaryExpression 1697513 1697607 - Identifier 1697513 1697539 - EqualsToken 1697539 1697541 - CallExpression 1697541 1697607 - Identifier 1697541 1697582 - Identifier 1697583 1697587 - Identifier 1697588 1697595 - PropertyAccessExpression 1697596 1697606 - Identifier 1697596 1697601 - Identifier 1697602 1697606 - ReturnStatement 1697642 1697708 - CallExpression 1697662 1697707 - Identifier 1697662 1697677 - Identifier 1697678 1697682 - CallExpression 1697683 1697706 - Identifier 1697683 1697696 - Identifier 1697697 1697705 - FunctionDeclaration 1697719 1700981 - Identifier 1697739 1697764 - Parameter 1697765 1697780 - Identifier 1697765 1697769 - TypeReference 1697770 1697780 - Identifier 1697770 1697780 - TypeReference 1697782 1697791 - Identifier 1697782 1697791 - Block 1697791 1700981 - VariableStatement 1697793 1697842 - VariableDeclarationList 1697793 1697841 - VariableDeclaration 1697812 1697841 - Identifier 1697812 1697828 - ArrayType 1697829 1697836 - TypeReference 1697829 1697834 - Identifier 1697829 1697834 - ArrayLiteralExpression 1697838 1697841 - VariableStatement 1697842 1697885 - VariableDeclarationList 1697842 1697884 - VariableDeclaration 1697859 1697884 - Identifier 1697859 1697876 - FalseKeyword 1697878 1697884 - VariableStatement 1697885 1697926 - VariableDeclarationList 1697885 1697925 - VariableDeclaration 1697902 1697925 - Identifier 1697902 1697917 - FalseKeyword 1697919 1697925 - VariableStatement 1697926 1697985 - VariableDeclarationList 1697926 1697984 - VariableDeclaration 1697943 1697984 - Identifier 1697943 1697954 - UnionType 1697955 1697984 - TypeReference 1697955 1697972 - Identifier 1697955 1697972 - UndefinedKeyword 1697974 1697984 - ForOfStatement 1697985 1699693 - VariableDeclarationList 1698004 1698020 - VariableDeclaration 1698009 1698020 - Identifier 1698009 1698020 - NonNullExpression 1698023 1698040 - PropertyAccessExpression 1698023 1698039 - Identifier 1698023 1698028 - Identifier 1698029 1698039 - Block 1698041 1699693 - IfStatement 1698043 1698451 - BinaryExpression 1698065 1698226 - BinaryExpression 1698065 1698121 - PrefixUnaryExpression 1698065 1698076 - Identifier 1698066 1698076 - AmpersandAmpersandToken 1698076 1698079 - BinaryExpression 1698079 1698121 - PropertyAccessExpression 1698079 1698096 - Identifier 1698079 1698090 - Identifier 1698091 1698096 - AmpersandToken 1698096 1698098 - PropertyAccessExpression 1698098 1698121 - Identifier 1698098 1698108 - Identifier 1698109 1698121 - AmpersandAmpersandToken 1698121 1698124 - BinaryExpression 1698124 1698226 - PropertyAccessExpression 1698124 1698174 - PropertyAccessExpression 1698124 1698162 - ParenthesizedExpression 1698124 1698157 - AsExpression 1698126 1698156 - Identifier 1698126 1698136 - TypeReference 1698139 1698156 - Identifier 1698139 1698156 - Identifier 1698158 1698162 - Identifier 1698163 1698174 - EqualsEqualsEqualsToken 1698174 1698178 - PropertyAccessExpression 1698178 1698226 - PropertyAccessExpression 1698178 1698216 - ParenthesizedExpression 1698178 1698211 - AsExpression 1698180 1698210 - Identifier 1698180 1698190 - TypeReference 1698193 1698210 - Identifier 1698193 1698210 - Identifier 1698212 1698216 - Identifier 1698217 1698226 - Block 1698227 1698451 - ExpressionStatement 1698229 1698401 - BinaryExpression 1698229 1698400 - Identifier 1698229 1698367 - EqualsToken 1698367 1698369 - AsExpression 1698369 1698400 - Identifier 1698369 1698380 - TypeReference 1698383 1698400 - Identifier 1698383 1698400 - ContinueStatement 1698401 1698432 - VariableStatement 1698451 1698516 - VariableDeclarationList 1698451 1698515 - VariableDeclaration 1698474 1698515 - Identifier 1698474 1698483 - CallExpression 1698485 1698515 - Identifier 1698485 1698503 - Identifier 1698504 1698514 - VariableStatement 1698516 1698577 - VariableDeclarationList 1698516 1698576 - VariableDeclaration 1698539 1698576 - Identifier 1698539 1698544 - CallExpression 1698546 1698576 - Identifier 1698546 1698566 - Identifier 1698567 1698575 - IfStatement 1698577 1699099 - BinaryExpression 1698990 1699043 - BinaryExpression 1698990 1699011 - Identifier 1698990 1698994 - EqualsEqualsEqualsToken 1698994 1698998 - Identifier 1698998 1699011 - AmpersandAmpersandToken 1699011 1699014 - BinaryExpression 1699014 1699043 - Identifier 1699014 1699027 - EqualsEqualsEqualsToken 1699027 1699031 - Identifier 1699031 1699043 - Block 1699044 1699099 - ReturnStatement 1699046 1699080 - Identifier 1699074 1699079 - ExpressionStatement 1699099 1699153 - CallExpression 1699099 1699152 - Identifier 1699099 1699129 - Identifier 1699130 1699145 - Identifier 1699146 1699151 - IfStatement 1699153 1699568 - PrefixUnaryExpression 1699466 1699500 - CallExpression 1699467 1699500 - Identifier 1699467 1699481 - Identifier 1699482 1699486 - Identifier 1699487 1699499 - Block 1699501 1699568 - ExpressionStatement 1699503 1699549 - BinaryExpression 1699503 1699548 - Identifier 1699503 1699541 - EqualsToken 1699541 1699543 - TrueKeyword 1699543 1699548 - IfStatement 1699568 1699678 - CallExpression 1699590 1699612 - Identifier 1699590 1699602 - Identifier 1699603 1699611 - Block 1699613 1699678 - ExpressionStatement 1699615 1699659 - BinaryExpression 1699615 1699658 - Identifier 1699615 1699651 - EqualsToken 1699651 1699653 - TrueKeyword 1699653 1699658 - IfStatement 1699693 1700804 - Identifier 1699711 1699721 - Block 1699722 1700804 - VariableStatement 1699724 1699789 - VariableDeclarationList 1699724 1699788 - VariableDeclaration 1699747 1699788 - Identifier 1699747 1699756 - CallExpression 1699758 1699788 - Identifier 1699758 1699776 - Identifier 1699777 1699787 - VariableStatement 1699789 1699850 - VariableDeclarationList 1699789 1699849 - VariableDeclaration 1699812 1699849 - Identifier 1699812 1699817 - CallExpression 1699819 1699849 - Identifier 1699819 1699839 - Identifier 1699840 1699848 - IfStatement 1699850 1700789 - BinaryExpression 1700185 1700317 - BinaryExpression 1700185 1700252 - PrefixUnaryExpression 1700185 1700216 - ParenthesizedExpression 1700186 1700216 - BinaryExpression 1700187 1700215 - PropertyAccessExpression 1700187 1700197 - Identifier 1700187 1700191 - Identifier 1700192 1700197 - AmpersandToken 1700197 1700199 - PropertyAccessExpression 1700199 1700215 - Identifier 1700199 1700209 - Identifier 1700210 1700215 - AmpersandAmpersandToken 1700216 1700219 - PrefixUnaryExpression 1700219 1700252 - CallExpression 1700221 1700252 - Identifier 1700221 1700229 - Identifier 1700230 1700245 - Identifier 1700246 1700251 - AmpersandAmpersandToken 1700252 1700255 - PrefixUnaryExpression 1700255 1700317 - CallExpression 1700257 1700317 - Identifier 1700257 1700284 - PropertyAccessExpression 1700285 1700316 - PropertyAccessExpression 1700285 1700300 - Identifier 1700285 1700295 - Identifier 1700296 1700300 - Identifier 1700301 1700316 - Block 1700318 1700789 - IfStatement 1700320 1700463 - BinaryExpression 1700346 1700399 - BinaryExpression 1700346 1700367 - Identifier 1700346 1700350 - EqualsEqualsEqualsToken 1700350 1700354 - Identifier 1700354 1700367 - AmpersandAmpersandToken 1700367 1700370 - BinaryExpression 1700370 1700399 - Identifier 1700370 1700383 - EqualsEqualsEqualsToken 1700383 1700387 - Identifier 1700387 1700399 - Block 1700400 1700463 - ReturnStatement 1700402 1700440 - Identifier 1700434 1700439 - ExpressionStatement 1700463 1700512 - CallExpression 1700463 1700511 - PropertyAccessExpression 1700463 1700505 - Identifier 1700463 1700500 - Identifier 1700501 1700505 - Identifier 1700506 1700510 - IfStatement 1700512 1700648 - PrefixUnaryExpression 1700538 1700572 - CallExpression 1700539 1700572 - Identifier 1700539 1700553 - Identifier 1700554 1700558 - Identifier 1700559 1700571 - Block 1700573 1700648 - ExpressionStatement 1700575 1700625 - BinaryExpression 1700575 1700624 - Identifier 1700575 1700617 - EqualsToken 1700617 1700619 - TrueKeyword 1700619 1700624 - IfStatement 1700648 1700770 - CallExpression 1700674 1700696 - Identifier 1700674 1700686 - Identifier 1700687 1700695 - Block 1700697 1700770 - ExpressionStatement 1700699 1700747 - BinaryExpression 1700699 1700746 - Identifier 1700699 1700739 - EqualsToken 1700739 1700741 - TrueKeyword 1700741 1700746 - ReturnStatement 1700804 1700970 - CallExpression 1700824 1700969 - Identifier 1700824 1700839 - CallExpression 1700840 1700952 - Identifier 1700840 1700867 - Identifier 1700868 1700883 - ConditionalExpression 1700884 1700951 - Identifier 1700884 1700901 - QuestionToken 1700901 1700903 - PropertyAccessExpression 1700903 1700926 - Identifier 1700903 1700918 - Identifier 1700919 1700926 - ColonToken 1700926 1700928 - PropertyAccessExpression 1700928 1700951 - Identifier 1700928 1700943 - Identifier 1700944 1700951 - Identifier 1700953 1700968 - FunctionDeclaration 1700981 1705943 - Identifier 1701001 1701024 - Parameter 1701025 1701040 - Identifier 1701025 1701029 - TypeReference 1701030 1701040 - Identifier 1701030 1701040 - TypeReference 1701042 1701051 - Identifier 1701042 1701051 - Block 1701051 1705943 - VariableStatement 1701053 1701253 - VariableDeclarationList 1701053 1701252 - VariableDeclaration 1701227 1701252 - Identifier 1701227 1701230 - CallExpression 1701232 1701252 - Identifier 1701232 1701246 - Identifier 1701247 1701251 - VariableStatement 1701253 1701350 - VariableDeclarationList 1701253 1701349 - VariableDeclaration 1701272 1701349 - Identifier 1701272 1701278 - BinaryExpression 1701280 1701349 - ElementAccessExpression 1701280 1701299 - Identifier 1701280 1701295 - Identifier 1701296 1701298 - BarBarToken 1701299 1701302 - ParenthesizedExpression 1701302 1701349 - BinaryExpression 1701304 1701348 - ElementAccessExpression 1701304 1701322 - Identifier 1701304 1701318 - Identifier 1701319 1701321 - EqualsToken 1701322 1701324 - NewExpression 1701324 1701348 - Identifier 1701328 1701332 - StringKeyword 1701333 1701339 - TypeReference 1701340 1701345 - Identifier 1701340 1701345 - VariableStatement 1701350 1701395 - VariableDeclarationList 1701350 1701394 - VariableDeclaration 1701369 1701394 - Identifier 1701369 1701373 - CallExpression 1701375 1701394 - Identifier 1701375 1701392 - IfStatement 1701395 1701572 - PrefixUnaryExpression 1701413 1701417 - Identifier 1701414 1701417 - Block 1701418 1701572 - ReturnStatement 1701420 1701557 - Identifier 1701543 1701556 - VariableStatement 1701572 1701616 - VariableDeclarationList 1701572 1701615 - VariableDeclaration 1701591 1701615 - Identifier 1701591 1701598 - CallExpression 1701600 1701615 - PropertyAccessExpression 1701600 1701610 - Identifier 1701600 1701606 - Identifier 1701607 1701610 - Identifier 1701611 1701614 - IfStatement 1701616 1701690 - Identifier 1701634 1701640 - Block 1701641 1701690 - ReturnStatement 1701643 1701675 - Identifier 1701667 1701674 - ForStatement 1701690 1702738 - VariableDeclarationList 1702416 1702437 - VariableDeclaration 1702419 1702437 - Identifier 1702419 1702421 - Identifier 1702423 1702437 - BinaryExpression 1702438 1702456 - Identifier 1702438 1702440 - LessThanToken 1702440 1702442 - Identifier 1702442 1702456 - PostfixUnaryExpression 1702457 1702461 - Identifier 1702457 1702459 - Block 1702462 1702738 - IfStatement 1702464 1702723 - BinaryExpression 1702486 1702565 - BinaryExpression 1702486 1702538 - BinaryExpression 1702486 1702511 - ElementAccessExpression 1702486 1702502 - Identifier 1702486 1702499 - Identifier 1702500 1702501 - EqualsEqualsEqualsToken 1702502 1702506 - Identifier 1702506 1702511 - AmpersandAmpersandToken 1702511 1702514 - BinaryExpression 1702514 1702538 - ElementAccessExpression 1702514 1702530 - Identifier 1702514 1702527 - Identifier 1702528 1702529 - EqualsEqualsEqualsToken 1702530 1702534 - Identifier 1702534 1702538 - AmpersandAmpersandToken 1702538 1702541 - PropertyAccessExpression 1702541 1702565 - ElementAccessExpression 1702541 1702558 - Identifier 1702541 1702555 - Identifier 1702556 1702557 - Identifier 1702559 1702565 - Block 1702566 1702723 - ReturnStatement 1702568 1702704 - CallExpression 1702596 1702703 - Identifier 1702596 1702611 - CallExpression 1702612 1702681 - Identifier 1702612 1702639 - ElementAccessExpression 1702640 1702656 - Identifier 1702640 1702653 - Identifier 1702654 1702655 - PropertyAccessExpression 1702657 1702680 - Identifier 1702657 1702672 - Identifier 1702673 1702680 - TrueKeyword 1702682 1702702 - VariableStatement 1702738 1702923 - VariableDeclarationList 1702738 1702922 - VariableDeclaration 1702893 1702922 - Identifier 1702893 1702909 - ArrayType 1702910 1702917 - TypeReference 1702910 1702915 - Identifier 1702910 1702915 - ArrayLiteralExpression 1702919 1702922 - VariableStatement 1702923 1702966 - VariableDeclarationList 1702923 1702965 - VariableDeclaration 1702940 1702965 - Identifier 1702940 1702957 - FalseKeyword 1702959 1702965 - VariableStatement 1702966 1703026 - VariableDeclarationList 1702966 1703025 - VariableDeclaration 1702983 1703025 - Identifier 1702983 1703003 - UnionType 1703004 1703025 - TypeReference 1703004 1703013 - Identifier 1703004 1703013 - UndefinedKeyword 1703015 1703025 - ForOfStatement 1703026 1705454 - VariableDeclarationList 1703045 1703061 - VariableDeclaration 1703050 1703061 - Identifier 1703050 1703061 - NonNullExpression 1703064 1703081 - PropertyAccessExpression 1703064 1703080 - Identifier 1703064 1703069 - Identifier 1703070 1703080 - Block 1703082 1705454 - VariableStatement 1703084 1703115 - VariableDeclarationList 1703084 1703114 - VariableDeclaration 1703105 1703114 - Identifier 1703105 1703114 - IfStatement 1703115 1704547 - PrefixUnaryExpression 1703137 1703157 - Identifier 1703138 1703157 - Block 1703158 1703419 - ExpressionStatement 1703160 1703400 - BinaryExpression 1703160 1703399 - Identifier 1703160 1703345 - EqualsToken 1703345 1703347 - BinaryExpression 1703347 1703399 - Identifier 1703347 1703367 - EqualsToken 1703367 1703369 - CallExpression 1703369 1703399 - Identifier 1703369 1703387 - Identifier 1703388 1703398 - Block 1703441 1704547 - ExpressionStatement 1703443 1703689 - BinaryExpression 1703443 1703688 - ElementAccessExpression 1703443 1703681 - Identifier 1703443 1703666 - Identifier 1703667 1703680 - EqualsToken 1703681 1703683 - Identifier 1703683 1703688 - ExpressionStatement 1703689 1703745 - BinaryExpression 1703689 1703744 - ElementAccessExpression 1703689 1703738 - Identifier 1703689 1703723 - Identifier 1703724 1703737 - EqualsToken 1703738 1703740 - Identifier 1703740 1703744 - ExpressionStatement 1703745 1703814 - BinaryExpression 1703745 1703813 - ElementAccessExpression 1703745 1703795 - Identifier 1703745 1703780 - Identifier 1703781 1703794 - EqualsToken 1703795 1703797 - Identifier 1703797 1703813 - ExpressionStatement 1703814 1703852 - PostfixUnaryExpression 1703814 1703851 - Identifier 1703814 1703849 - VariableStatement 1703852 1703914 - VariableDeclarationList 1703852 1703913 - VariableDeclaration 1703879 1703913 - Identifier 1703879 1703897 - Identifier 1703899 1703913 - ExpressionStatement 1703914 1703962 - BinaryExpression 1703914 1703961 - Identifier 1703914 1703949 - EqualsToken 1703949 1703951 - Identifier 1703951 1703961 - ExpressionStatement 1703962 1704025 - BinaryExpression 1703962 1704024 - Identifier 1703962 1703992 - EqualsToken 1703992 1703994 - CallExpression 1703994 1704024 - Identifier 1703994 1704012 - Identifier 1704013 1704023 - ExpressionStatement 1704025 1704081 - BinaryExpression 1704025 1704080 - Identifier 1704025 1704060 - EqualsToken 1704060 1704062 - Identifier 1704062 1704080 - ExpressionStatement 1704081 1704119 - PostfixUnaryExpression 1704081 1704118 - Identifier 1704081 1704116 - VariableStatement 1704119 1704430 - VariableDeclarationList 1704119 1704429 - VariableDeclaration 1704405 1704429 - Identifier 1704405 1704412 - CallExpression 1704414 1704429 - PropertyAccessExpression 1704414 1704424 - Identifier 1704414 1704420 - Identifier 1704421 1704424 - Identifier 1704425 1704428 - IfStatement 1704430 1704528 - Identifier 1704456 1704462 - Block 1704463 1704528 - ReturnStatement 1704465 1704505 - Identifier 1704497 1704504 - VariableStatement 1704547 1704608 - VariableDeclarationList 1704547 1704607 - VariableDeclaration 1704570 1704607 - Identifier 1704570 1704575 - CallExpression 1704577 1704607 - Identifier 1704577 1704597 - Identifier 1704598 1704606 - ExpressionStatement 1704608 1704662 - CallExpression 1704608 1704661 - Identifier 1704608 1704638 - Identifier 1704639 1704654 - Identifier 1704655 1704660 - IfStatement 1704662 1705077 - PrefixUnaryExpression 1704975 1705009 - CallExpression 1704976 1705009 - Identifier 1704976 1704990 - Identifier 1704991 1704995 - Identifier 1704996 1705008 - Block 1705010 1705077 - ExpressionStatement 1705012 1705058 - BinaryExpression 1705012 1705057 - Identifier 1705012 1705050 - EqualsToken 1705050 1705052 - TrueKeyword 1705052 1705057 - IfStatement 1705077 1705439 - BinaryExpression 1705368 1705389 - Identifier 1705368 1705372 - EqualsEqualsEqualsToken 1705372 1705376 - Identifier 1705376 1705389 - Block 1705390 1705439 - BreakStatement 1705392 1705420 - VariableStatement 1705454 1705728 - VariableDeclarationList 1705454 1705727 - VariableDeclaration 1705605 1705727 - Identifier 1705605 1705612 - CallExpression 1705614 1705727 - Identifier 1705614 1705642 - Identifier 1705643 1705658 - ConditionalExpression 1705659 1705726 - Identifier 1705659 1705676 - QuestionToken 1705676 1705678 - PropertyAccessExpression 1705678 1705701 - Identifier 1705678 1705693 - Identifier 1705694 1705701 - ColonToken 1705701 1705703 - PropertyAccessExpression 1705703 1705726 - Identifier 1705703 1705718 - Identifier 1705719 1705726 - IfStatement 1705728 1705867 - CallExpression 1705746 1705780 - Identifier 1705746 1705758 - NonNullExpression 1705759 1705779 - Identifier 1705759 1705778 - Block 1705781 1705867 - ReturnStatement 1705783 1705852 - CallExpression 1705807 1705851 - Identifier 1705807 1705822 - Identifier 1705823 1705829 - TrueKeyword 1705830 1705850 - ExpressionStatement 1705867 1705904 - CallExpression 1705867 1705903 - PropertyAccessExpression 1705867 1705890 - Identifier 1705867 1705886 - Identifier 1705887 1705890 - Identifier 1705891 1705894 - Identifier 1705895 1705902 - ReturnStatement 1705904 1705932 - Identifier 1705924 1705931 - FunctionDeclaration 1705943 1706856 - Identifier 1706206 1706234 - Parameter 1706235 1706248 - Identifier 1706235 1706240 - ArrayType 1706241 1706248 - TypeReference 1706241 1706246 - Identifier 1706241 1706246 - Parameter 1706249 1706282 - Identifier 1706249 1706266 - TypeReference 1706267 1706282 - Identifier 1706267 1706282 - Block 1706283 1706856 - IfStatement 1706285 1706458 - CallExpression 1706303 1706333 - Identifier 1706303 1706326 - Identifier 1706327 1706332 - Block 1706334 1706458 - ReturnStatement 1706336 1706443 - CallExpression 1706360 1706442 - Identifier 1706360 1706381 - CallExpression 1706382 1706441 - Identifier 1706382 1706394 - CallExpression 1706395 1706440 - Identifier 1706395 1706398 - Identifier 1706399 1706404 - Identifier 1706405 1706439 - VariableStatement 1706458 1706583 - VariableDeclarationList 1706458 1706582 - VariableDeclaration 1706477 1706582 - Identifier 1706477 1706484 - CallExpression 1706486 1706582 - Identifier 1706486 1706507 - CallExpression 1706508 1706581 - Identifier 1706508 1706520 - CallExpression 1706521 1706562 - Identifier 1706521 1706528 - Identifier 1706529 1706534 - Identifier 1706535 1706561 - Identifier 1706563 1706580 - IfStatement 1706583 1706817 - BinaryExpression 1706601 1706761 - BinaryExpression 1706601 1706679 - BinaryExpression 1706601 1706624 - Identifier 1706601 1706607 - ExclamationEqualsEqualsToken 1706607 1706611 - Identifier 1706611 1706624 - AmpersandAmpersandToken 1706624 1706627 - BinaryExpression 1706627 1706679 - BinaryExpression 1706627 1706661 - PropertyAccessExpression 1706627 1706640 - Identifier 1706627 1706634 - Identifier 1706635 1706640 - AmpersandToken 1706640 1706642 - PropertyAccessExpression 1706642 1706661 - Identifier 1706642 1706655 - Identifier 1706656 1706661 - AmpersandToken 1706661 1706663 - PropertyAccessExpression 1706663 1706679 - Identifier 1706663 1706673 - Identifier 1706674 1706679 - AmpersandAmpersandToken 1706679 1706682 - CallExpression 1706682 1706761 - Identifier 1706682 1706697 - PropertyAccessExpression 1706698 1706725 - ParenthesizedExpression 1706698 1706719 - AsExpression 1706699 1706718 - Identifier 1706699 1706705 - TypeReference 1706708 1706718 - Identifier 1706708 1706718 - Identifier 1706720 1706725 - PropertyAccessExpression 1706726 1706760 - ParenthesizedExpression 1706726 1706754 - AsExpression 1706728 1706753 - Identifier 1706728 1706740 - TypeReference 1706743 1706753 - Identifier 1706743 1706753 - Identifier 1706755 1706760 - Block 1706762 1706817 - ReturnStatement 1706764 1706802 - Identifier 1706788 1706801 - ReturnStatement 1706817 1706845 - Identifier 1706837 1706844 - FunctionDeclaration 1706856 1709648 - Identifier 1706876 1706915 - Parameter 1706916 1706932 - Identifier 1706916 1706920 - TypeReference 1706921 1706932 - Identifier 1706921 1706932 - Block 1706933 1709648 - IfStatement 1706935 1709606 - BinaryExpression 1706953 1707066 - BinaryExpression 1706953 1707030 - CallExpression 1706953 1706980 - Identifier 1706953 1706969 - Identifier 1706970 1706979 - BarBarToken 1706980 1706983 - CallExpression 1706983 1707030 - Identifier 1706983 1707019 - Identifier 1707020 1707029 - BarBarToken 1707030 1707033 - CallExpression 1707033 1707066 - Identifier 1707033 1707055 - Identifier 1707056 1707065 - Block 1707067 1707921 - IfStatement 1707069 1707906 - CallExpression 1707433 1707451 - Identifier 1707433 1707445 - Identifier 1707446 1707450 - Block 1707452 1707906 - VariableStatement 1707454 1707515 - VariableDeclarationList 1707454 1707514 - VariableDeclaration 1707481 1707514 - Identifier 1707481 1707488 - CallExpression 1707490 1707514 - Identifier 1707490 1707508 - Identifier 1707509 1707513 - VariableStatement 1707515 1707621 - VariableDeclarationList 1707515 1707620 - VariableDeclaration 1707542 1707620 - Identifier 1707542 1707554 - PropertyAccessExpression 1707556 1707620 - CallExpression 1707556 1707603 - Identifier 1707556 1707595 - Identifier 1707596 1707602 - Identifier 1707604 1707620 - IfStatement 1707621 1707887 - BinaryExpression 1707647 1707816 - BinaryExpression 1707647 1707785 - BinaryExpression 1707647 1707757 - BinaryExpression 1707647 1707721 - Identifier 1707647 1707658 - AmpersandAmpersandToken 1707658 1707661 - ParenthesizedExpression 1707661 1707721 - BinaryExpression 1707663 1707720 - CallExpression 1707663 1707692 - Identifier 1707663 1707679 - Identifier 1707680 1707691 - BarBarToken 1707692 1707695 - CallExpression 1707695 1707720 - Identifier 1707695 1707707 - Identifier 1707708 1707719 - AmpersandAmpersandToken 1707721 1707724 - BinaryExpression 1707724 1707757 - Identifier 1707724 1707734 - EqualsEqualsEqualsToken 1707734 1707738 - PropertyAccessExpression 1707738 1707757 - Identifier 1707738 1707750 - Identifier 1707751 1707757 - AmpersandAmpersandToken 1707757 1707760 - PrefixUnaryExpression 1707760 1707785 - PropertyAccessExpression 1707762 1707785 - Identifier 1707762 1707773 - Identifier 1707774 1707785 - AmpersandAmpersandToken 1707785 1707788 - PrefixUnaryExpression 1707788 1707816 - PropertyAccessExpression 1707790 1707816 - Identifier 1707790 1707801 - Identifier 1707802 1707816 - Block 1707817 1707887 - ReturnStatement 1707819 1707864 - Identifier 1707851 1707863 - IfStatement 1707939 1709606 - CallExpression 1707944 1707968 - Identifier 1707944 1707962 - Identifier 1707963 1707967 - Block 1707969 1708218 - IfStatement 1707971 1708203 - CallExpression 1708100 1708147 - Identifier 1708100 1708119 - Identifier 1708120 1708129 - PropertyAccessExpression 1708130 1708146 - Identifier 1708130 1708135 - Identifier 1708136 1708146 - Block 1708148 1708203 - ReturnStatement 1708150 1708184 - Identifier 1708178 1708183 - IfStatement 1708236 1709606 - CallExpression 1708241 1708259 - Identifier 1708241 1708253 - Identifier 1708254 1708258 - Block 1708260 1709606 - VariableStatement 1708262 1708319 - VariableDeclarationList 1708262 1708318 - VariableDeclaration 1708285 1708318 - Identifier 1708285 1708292 - CallExpression 1708294 1708318 - Identifier 1708294 1708312 - Identifier 1708313 1708317 - IfStatement 1708319 1709591 - CallExpression 1708341 1708367 - Identifier 1708341 1708359 - Identifier 1708360 1708366 - Block 1708368 1709591 - VariableStatement 1708370 1708437 - VariableDeclarationList 1708370 1708436 - VariableDeclaration 1708397 1708436 - Identifier 1708397 1708409 - NonNullExpression 1708411 1708436 - PropertyAccessExpression 1708411 1708435 - Identifier 1708411 1708418 - Identifier 1708419 1708435 - IfStatement 1708437 1708907 - BinaryExpression 1708552 1708802 - BinaryExpression 1708552 1708707 - BinaryExpression 1708552 1708660 - BinaryExpression 1708552 1708633 - CallExpression 1708552 1708612 - Identifier 1708552 1708599 - Identifier 1708600 1708611 - AmpersandAmpersandToken 1708612 1708615 - PrefixUnaryExpression 1708615 1708633 - PropertyAccessExpression 1708617 1708633 - Identifier 1708617 1708628 - Identifier 1708629 1708633 - AmpersandAmpersandToken 1708633 1708636 - PropertyAccessExpression 1708636 1708660 - Identifier 1708636 1708648 - Identifier 1708649 1708660 - AmpersandAmpersandToken 1708660 1708663 - CallExpression 1708663 1708707 - Identifier 1708663 1708682 - PropertyAccessExpression 1708683 1708706 - Identifier 1708683 1708694 - Identifier 1708695 1708706 - AmpersandAmpersandToken 1708707 1708710 - CallExpression 1708710 1708802 - Identifier 1708710 1708755 - Identifier 1708756 1708765 - PropertyAccessExpression 1708766 1708801 - PropertyAccessExpression 1708766 1708790 - Identifier 1708766 1708778 - Identifier 1708779 1708790 - Identifier 1708791 1708801 - Block 1708825 1708907 - ReturnStatement 1708827 1708884 - PropertyAccessExpression 1708859 1708883 - Identifier 1708859 1708871 - Identifier 1708872 1708883 - IfStatement 1708907 1709572 - BinaryExpression 1709027 1709084 - CallExpression 1709027 1709056 - Identifier 1709027 1709043 - Identifier 1709044 1709055 - AmpersandAmpersandToken 1709056 1709059 - PrefixUnaryExpression 1709059 1709084 - PropertyAccessExpression 1709061 1709084 - Identifier 1709061 1709072 - Identifier 1709073 1709084 - Block 1709085 1709572 - VariableStatement 1709087 1709154 - VariableDeclarationList 1709087 1709153 - VariableDeclaration 1709118 1709153 - Identifier 1709118 1709125 - PropertyAccessExpression 1709127 1709153 - PropertyAccessExpression 1709127 1709146 - Identifier 1709127 1709139 - Identifier 1709140 1709146 - Identifier 1709147 1709153 - IfStatement 1709154 1709549 - BinaryExpression 1709184 1709444 - BinaryExpression 1709184 1709361 - BinaryExpression 1709184 1709281 - BinaryExpression 1709184 1709259 - CallExpression 1709184 1709243 - Identifier 1709184 1709235 - Identifier 1709236 1709242 - AmpersandAmpersandToken 1709243 1709246 - PrefixUnaryExpression 1709246 1709259 - PropertyAccessExpression 1709248 1709259 - Identifier 1709248 1709254 - Identifier 1709255 1709259 - AmpersandAmpersandToken 1709259 1709262 - PropertyAccessExpression 1709262 1709281 - Identifier 1709262 1709269 - Identifier 1709270 1709281 - AmpersandAmpersandToken 1709281 1709284 - ParenthesizedExpression 1709284 1709361 - BinaryExpression 1709286 1709360 - CallExpression 1709286 1709318 - Identifier 1709286 1709298 - PropertyAccessExpression 1709299 1709317 - Identifier 1709299 1709305 - Identifier 1709306 1709317 - BarBarToken 1709318 1709321 - CallExpression 1709321 1709360 - Identifier 1709321 1709340 - PropertyAccessExpression 1709341 1709359 - Identifier 1709341 1709347 - Identifier 1709348 1709359 - AmpersandAmpersandToken 1709361 1709364 - CallExpression 1709364 1709444 - Identifier 1709364 1709413 - Identifier 1709414 1709423 - PropertyAccessExpression 1709424 1709443 - Identifier 1709424 1709431 - Identifier 1709432 1709443 - Block 1709471 1709549 - ReturnStatement 1709473 1709522 - Identifier 1709509 1709521 - ReturnStatement 1709606 1709637 - Identifier 1709626 1709636 - FunctionDeclaration 1709648 1710744 - Identifier 1709668 1709698 - Parameter 1709699 1709715 - Identifier 1709699 1709703 - TypeReference 1709704 1709715 - Identifier 1709704 1709715 - Parameter 1709716 1709735 - Identifier 1709716 1709729 - TypeReference 1709730 1709735 - Identifier 1709730 1709735 - Block 1709736 1710744 - IfStatement 1709738 1710702 - BinaryExpression 1710067 1710143 - BinaryExpression 1710067 1710103 - PropertyAccessExpression 1710067 1710085 - Identifier 1710067 1710079 - Identifier 1710080 1710085 - AmpersandToken 1710085 1710087 - PropertyAccessExpression 1710087 1710103 - Identifier 1710087 1710097 - Identifier 1710098 1710103 - BarBarToken 1710103 1710106 - BinaryExpression 1710106 1710143 - PropertyAccessExpression 1710106 1710125 - Identifier 1710106 1710119 - Identifier 1710120 1710125 - AmpersandToken 1710125 1710127 - PropertyAccessExpression 1710127 1710143 - Identifier 1710127 1710137 - Identifier 1710138 1710143 - Block 1710144 1710702 - VariableStatement 1710146 1710224 - VariableDeclarationList 1710146 1710223 - VariableDeclaration 1710169 1710223 - Identifier 1710169 1710176 - CallExpression 1710178 1710223 - Identifier 1710178 1710217 - Identifier 1710218 1710222 - IfStatement 1710224 1710687 - Identifier 1710246 1710252 - Block 1710253 1710687 - VariableStatement 1710255 1710322 - VariableDeclarationList 1710255 1710321 - VariableDeclaration 1710282 1710321 - Identifier 1710282 1710287 - CallExpression 1710289 1710321 - Identifier 1710289 1710313 - Identifier 1710314 1710320 - IfStatement 1710322 1710668 - Identifier 1710348 1710352 - Block 1710353 1710668 - VariableStatement 1710355 1710507 - VariableDeclarationList 1710355 1710506 - VariableDeclaration 1710386 1710506 - Identifier 1710386 1710391 - ConditionalExpression 1710393 1710506 - BinaryExpression 1710393 1710476 - BinaryExpression 1710393 1710430 - PropertyAccessExpression 1710393 1710412 - Identifier 1710393 1710406 - Identifier 1710407 1710412 - AmpersandToken 1710412 1710414 - PropertyAccessExpression 1710414 1710430 - Identifier 1710414 1710424 - Identifier 1710425 1710430 - AmpersandAmpersandToken 1710430 1710433 - CallExpression 1710433 1710476 - Identifier 1710433 1710448 - Identifier 1710449 1710461 - Identifier 1710462 1710475 - QuestionToken 1710476 1710478 - Identifier 1710478 1710491 - ColonToken 1710491 1710493 - Identifier 1710493 1710506 - IfStatement 1710507 1710645 - CallExpression 1710537 1710571 - Identifier 1710537 1710559 - Identifier 1710560 1710564 - Identifier 1710565 1710570 - Block 1710572 1710645 - ReturnStatement 1710574 1710618 - Identifier 1710610 1710617 - ReturnStatement 1710702 1710733 - Identifier 1710722 1710732 - FunctionDeclaration 1710744 1711990 - Identifier 1710764 1710789 - Parameter 1710790 1710800 - Identifier 1710790 1710794 - TypeReference 1710795 1710800 - Identifier 1710795 1710800 - Parameter 1710801 1710866 - Identifier 1710801 1710808 - UnionType 1710809 1710866 - TypeReference 1710809 1710826 - Identifier 1710809 1710826 - TypeReference 1710828 1710843 - Identifier 1710828 1710843 - TypeReference 1710845 1710866 - Identifier 1710845 1710866 - Parameter 1710867 1710897 - Identifier 1710867 1710878 - FunctionType 1710879 1710897 - Parameter 1710881 1710888 - Identifier 1710881 1710882 - TypeReference 1710883 1710888 - Identifier 1710883 1710888 - TypeReference 1710892 1710897 - Identifier 1710892 1710897 - TypeReference 1710899 1710904 - Identifier 1710899 1710904 - Block 1710904 1711990 - VariableStatement 1710906 1710969 - VariableDeclarationList 1710906 1710968 - VariableDeclaration 1710925 1710968 - Identifier 1710925 1710934 - CallExpression 1710936 1710968 - Identifier 1710936 1710960 - Identifier 1710961 1710967 - IfStatement 1710969 1711057 - BinaryExpression 1710987 1711009 - Identifier 1710987 1710995 - EqualsEqualsEqualsToken 1710995 1710999 - Identifier 1710999 1711009 - Block 1711010 1711057 - ReturnStatement 1711012 1711042 - Identifier 1711036 1711041 - VariableStatement 1711057 1711117 - VariableDeclarationList 1711057 1711116 - VariableDeclaration 1711076 1711116 - Identifier 1711076 1711090 - CallExpression 1711092 1711116 - Identifier 1711092 1711108 - Identifier 1711109 1711115 - VariableStatement 1711117 1711262 - VariableDeclarationList 1711117 1711261 - VariableDeclaration 1711136 1711261 - Identifier 1711136 1711151 - BinaryExpression 1711153 1711261 - BinaryExpression 1711153 1711216 - Identifier 1711153 1711170 - AmpersandAmpersandToken 1711170 1711173 - ParenthesizedExpression 1711173 1711216 - BinaryExpression 1711175 1711215 - Identifier 1711175 1711188 - BarBarToken 1711188 1711191 - CallExpression 1711191 1711215 - Identifier 1711191 1711207 - Identifier 1711208 1711214 - AmpersandAmpersandToken 1711216 1711219 - CallExpression 1711219 1711261 - Identifier 1711219 1711235 - Identifier 1711236 1711240 - PropertyAccessExpression 1711241 1711260 - Identifier 1711241 1711251 - Identifier 1711252 1711260 - VariableStatement 1711262 1711402 - VariableDeclarationList 1711262 1711401 - VariableDeclaration 1711279 1711401 - Identifier 1711279 1711288 - CallExpression 1711290 1711401 - Identifier 1711290 1711314 - ConditionalExpression 1711315 1711390 - Identifier 1711315 1711329 - QuestionToken 1711329 1711331 - CallExpression 1711331 1711383 - Identifier 1711331 1711348 - Identifier 1711349 1711353 - PropertyAccessExpression 1711354 1711382 - Identifier 1711354 1711364 - Identifier 1711365 1711382 - ColonToken 1711383 1711385 - Identifier 1711385 1711390 - Identifier 1711391 1711400 - IfStatement 1711402 1711477 - PrefixUnaryExpression 1711420 1711429 - Identifier 1711421 1711429 - Block 1711430 1711477 - ReturnStatement 1711432 1711462 - Identifier 1711456 1711461 - ExpressionStatement 1711477 1711573 - BinaryExpression 1711477 1711572 - Identifier 1711477 1711499 - EqualsToken 1711499 1711501 - ConditionalExpression 1711501 1711572 - BinaryExpression 1711501 1711533 - Identifier 1711501 1711516 - AmpersandAmpersandToken 1711516 1711519 - Identifier 1711519 1711533 - QuestionToken 1711533 1711535 - CallExpression 1711535 1711561 - Identifier 1711535 1711551 - Identifier 1711552 1711560 - ColonToken 1711561 1711563 - Identifier 1711563 1711572 - VariableStatement 1711573 1711633 - VariableDeclarationList 1711573 1711632 - VariableDeclaration 1711592 1711632 - Identifier 1711592 1711609 - CallExpression 1711611 1711632 - Identifier 1711611 1711622 - Identifier 1711623 1711631 - ReturnStatement 1711633 1711979 - CallExpression 1711653 1711978 - Identifier 1711653 1711664 - Identifier 1711665 1711669 - ArrowFunction 1711670 1711977 - Parameter 1711670 1711672 - Identifier 1711670 1711672 - EqualsGreaterThanToken 1711672 1711675 - Block 1711675 1711977 - VariableStatement 1711677 1711788 - VariableDeclarationList 1711677 1711787 - VariableDeclaration 1711700 1711787 - Identifier 1711700 1711717 - BinaryExpression 1711719 1711787 - CallExpression 1711719 1711772 - Identifier 1711719 1711759 - Identifier 1711760 1711761 - Identifier 1711762 1711771 - BarBarToken 1711772 1711775 - Identifier 1711775 1711787 - ReturnStatement 1711788 1711962 - BinaryExpression 1711812 1711961 - BinaryExpression 1711812 1711903 - PrefixUnaryExpression 1711812 1711856 - ParenthesizedExpression 1711814 1711856 - BinaryExpression 1711815 1711855 - PropertyAccessExpression 1711815 1711837 - Identifier 1711815 1711831 - Identifier 1711832 1711837 - AmpersandToken 1711837 1711839 - PropertyAccessExpression 1711839 1711855 - Identifier 1711839 1711849 - Identifier 1711850 1711855 - AmpersandAmpersandToken 1711856 1711859 - PrefixUnaryExpression 1711859 1711903 - ParenthesizedExpression 1711861 1711903 - BinaryExpression 1711862 1711902 - PropertyAccessExpression 1711862 1711884 - Identifier 1711862 1711878 - Identifier 1711879 1711884 - AmpersandToken 1711884 1711886 - PropertyAccessExpression 1711886 1711902 - Identifier 1711886 1711896 - Identifier 1711897 1711902 - AmpersandAmpersandToken 1711903 1711906 - CallExpression 1711906 1711961 - Identifier 1711906 1711925 - Identifier 1711926 1711942 - Identifier 1711943 1711960 - FunctionDeclaration 1711990 1713185 - Identifier 1712010 1712043 - Parameter 1712044 1712054 - Identifier 1712044 1712048 - TypeReference 1712049 1712054 - Identifier 1712049 1712054 - Parameter 1712055 1712120 - Identifier 1712055 1712062 - UnionType 1712063 1712120 - TypeReference 1712063 1712080 - Identifier 1712063 1712080 - TypeReference 1712082 1712097 - Identifier 1712082 1712097 - TypeReference 1712099 1712120 - Identifier 1712099 1712120 - Parameter 1712121 1712142 - Identifier 1712121 1712130 - TypeReference 1712131 1712142 - Identifier 1712131 1712142 - Parameter 1712143 1712161 - Identifier 1712143 1712149 - TypeReference 1712150 1712161 - Identifier 1712150 1712161 - Parameter 1712162 1712182 - Identifier 1712162 1712173 - BooleanKeyword 1712174 1712182 - Block 1712183 1713185 - IfStatement 1712185 1713055 - BinaryExpression 1712203 1712340 - ParenthesizedExpression 1712203 1712308 - BinaryExpression 1712204 1712307 - BinaryExpression 1712204 1712251 - Identifier 1712204 1712212 - EqualsEqualsEqualsToken 1712212 1712216 - PropertyAccessExpression 1712216 1712251 - Identifier 1712216 1712227 - Identifier 1712228 1712251 - BarBarToken 1712251 1712254 - BinaryExpression 1712254 1712307 - Identifier 1712254 1712263 - EqualsEqualsEqualsToken 1712263 1712267 - PropertyAccessExpression 1712267 1712307 - Identifier 1712267 1712278 - Identifier 1712279 1712307 - AmpersandAmpersandToken 1712308 1712311 - BinaryExpression 1712311 1712340 - PropertyAccessExpression 1712311 1712322 - Identifier 1712311 1712316 - Identifier 1712317 1712322 - AmpersandToken 1712322 1712324 - PropertyAccessExpression 1712324 1712340 - Identifier 1712324 1712334 - Identifier 1712335 1712340 - Block 1712341 1713055 - VariableStatement 1712343 1712423 - VariableDeclarationList 1712343 1712422 - VariableDeclaration 1712366 1712422 - Identifier 1712366 1712382 - CallExpression 1712384 1712422 - Identifier 1712384 1712403 - AsExpression 1712404 1712421 - Identifier 1712404 1712408 - TypeReference 1712411 1712421 - Identifier 1712411 1712421 - IfStatement 1712423 1713040 - BinaryExpression 1712445 1712515 - Identifier 1712445 1712460 - AmpersandAmpersandToken 1712460 1712463 - BinaryExpression 1712463 1712515 - Identifier 1712463 1712479 - EqualsEqualsEqualsToken 1712479 1712483 - CallExpression 1712483 1712515 - Identifier 1712483 1712507 - Identifier 1712508 1712514 - Block 1712516 1713040 - VariableStatement 1712518 1712634 - VariableDeclarationList 1712518 1712633 - VariableDeclaration 1712545 1712633 - Identifier 1712545 1712555 - CallExpression 1712557 1712633 - Identifier 1712557 1712586 - AsExpression 1712587 1712604 - Identifier 1712587 1712591 - TypeReference 1712594 1712604 - Identifier 1712594 1712604 - CallExpression 1712605 1712632 - Identifier 1712605 1712625 - Identifier 1712626 1712631 - IfStatement 1712634 1713021 - Identifier 1712660 1712669 - Block 1712670 1713021 - ReturnStatement 1712672 1712998 - ConditionalExpression 1712704 1712997 - BinaryExpression 1712704 1712809 - Identifier 1712704 1712713 - EqualsEqualsEqualsToken 1712713 1712717 - ParenthesizedExpression 1712717 1712809 - ConditionalExpression 1712719 1712808 - Identifier 1712719 1712729 - QuestionToken 1712729 1712731 - PropertyAccessExpression 1712731 1712766 - Identifier 1712731 1712742 - Identifier 1712743 1712766 - ColonToken 1712766 1712768 - PropertyAccessExpression 1712768 1712808 - Identifier 1712768 1712779 - Identifier 1712780 1712808 - QuestionToken 1712809 1712811 - Identifier 1712811 1712821 - ColonToken 1712821 1712823 - ConditionalExpression 1712823 1712997 - CallExpression 1712823 1712931 - Identifier 1712823 1712863 - BinaryExpression 1712864 1712930 - CallExpression 1712864 1712915 - Identifier 1712864 1712887 - Identifier 1712888 1712897 - Identifier 1712898 1712914 - BarBarToken 1712915 1712918 - Identifier 1712918 1712930 - QuestionToken 1712931 1712933 - CallExpression 1712933 1712961 - Identifier 1712933 1712944 - Identifier 1712945 1712949 - Identifier 1712950 1712960 - ColonToken 1712961 1712963 - Identifier 1712963 1712997 - ReturnStatement 1713055 1713174 - CallExpression 1713075 1713173 - Identifier 1713075 1713100 - Identifier 1713101 1713105 - Identifier 1713106 1713113 - ArrowFunction 1713114 1713172 - Parameter 1713114 1713116 - Identifier 1713114 1713116 - EqualsGreaterThanToken 1713116 1713119 - CallExpression 1713119 1713172 - Identifier 1713119 1713140 - Identifier 1713141 1713142 - Identifier 1713143 1713152 - Identifier 1713153 1713159 - Identifier 1713160 1713171 - FunctionDeclaration 1713185 1714019 - Identifier 1713205 1713246 - Parameter 1713247 1713257 - Identifier 1713247 1713251 - TypeReference 1713252 1713257 - Identifier 1713252 1713257 - Parameter 1713258 1713323 - Identifier 1713258 1713265 - UnionType 1713266 1713323 - TypeReference 1713266 1713283 - Identifier 1713266 1713283 - TypeReference 1713285 1713300 - Identifier 1713285 1713300 - TypeReference 1713302 1713323 - Identifier 1713302 1713323 - Parameter 1713324 1713351 - Identifier 1713324 1713329 - TypeReference 1713330 1713351 - Identifier 1713330 1713351 - Block 1713352 1714019 - IfStatement 1713354 1713900 - BinaryExpression 1713372 1713514 - BinaryExpression 1713372 1713437 - BinaryExpression 1713372 1713405 - PropertyAccessExpression 1713372 1713388 - Identifier 1713372 1713376 - Identifier 1713377 1713388 - LessThanToken 1713388 1713390 - PropertyAccessExpression 1713390 1713405 - Identifier 1713390 1713395 - Identifier 1713396 1713405 - AmpersandAmpersandToken 1713405 1713408 - BinaryExpression 1713408 1713437 - PropertyAccessExpression 1713408 1713419 - Identifier 1713408 1713413 - Identifier 1713414 1713419 - AmpersandToken 1713419 1713421 - PropertyAccessExpression 1713421 1713437 - Identifier 1713421 1713431 - Identifier 1713432 1713437 - AmpersandAmpersandToken 1713437 1713440 - BinaryExpression 1713440 1713514 - CallExpression 1713440 1713478 - Identifier 1713440 1713459 - AsExpression 1713460 1713477 - Identifier 1713460 1713464 - TypeReference 1713467 1713477 - Identifier 1713467 1713477 - EqualsEqualsEqualsToken 1713478 1713482 - CallExpression 1713482 1713514 - Identifier 1713482 1713506 - Identifier 1713507 1713513 - Block 1713515 1713900 - VariableStatement 1713517 1713638 - VariableDeclarationList 1713517 1713637 - VariableDeclaration 1713540 1713637 - Identifier 1713540 1713552 - CallExpression 1713554 1713637 - PropertyAccessExpression 1713554 1713603 - CallExpression 1713554 1713597 - Identifier 1713554 1713575 - PropertyAccessExpression 1713576 1713596 - Identifier 1713576 1713580 - Identifier 1713581 1713596 - Identifier 1713598 1713603 - PropertyAccessExpression 1713604 1713620 - Identifier 1713604 1713608 - Identifier 1713609 1713620 - PropertyAccessExpression 1713621 1713636 - Identifier 1713621 1713626 - Identifier 1713627 1713636 - VariableStatement 1713638 1713777 - VariableDeclarationList 1713638 1713776 - VariableDeclaration 1713661 1713776 - Identifier 1713661 1713671 - CallExpression 1713673 1713776 - Identifier 1713673 1713686 - CallExpression 1713687 1713775 - Identifier 1713687 1713690 - Identifier 1713691 1713702 - ArrowFunction 1713703 1713774 - Parameter 1713703 1713705 - Identifier 1713703 1713705 - EqualsGreaterThanToken 1713705 1713708 - BinaryExpression 1713708 1713774 - CallExpression 1713708 1713759 - Identifier 1713708 1713737 - AsExpression 1713738 1713755 - Identifier 1713738 1713742 - TypeReference 1713745 1713755 - Identifier 1713745 1713755 - Identifier 1713756 1713758 - BarBarToken 1713759 1713762 - Identifier 1713762 1713774 - IfStatement 1713777 1713885 - BinaryExpression 1713799 1713824 - Identifier 1713799 1713808 - ExclamationEqualsEqualsToken 1713808 1713812 - Identifier 1713812 1713824 - Block 1713825 1713885 - ReturnStatement 1713827 1713866 - Identifier 1713855 1713865 - ReturnStatement 1713900 1714008 - CallExpression 1713920 1714007 - Identifier 1713920 1713945 - Identifier 1713946 1713950 - Identifier 1713951 1713958 - ArrowFunction 1713959 1714006 - Parameter 1713959 1713961 - Identifier 1713959 1713961 - EqualsGreaterThanToken 1713961 1713964 - CallExpression 1713964 1714006 - Identifier 1713964 1713997 - Identifier 1713998 1713999 - Identifier 1714000 1714005 - FunctionDeclaration 1714019 1714789 - Identifier 1714039 1714062 - Parameter 1714063 1714073 - Identifier 1714063 1714067 - TypeReference 1714068 1714073 - Identifier 1714068 1714073 - Parameter 1714074 1714091 - Identifier 1714074 1714079 - TypeReference 1714080 1714091 - Identifier 1714080 1714091 - Parameter 1714092 1714112 - Identifier 1714092 1714103 - BooleanKeyword 1714104 1714112 - TypeReference 1714114 1714119 - Identifier 1714114 1714119 - Block 1714119 1714789 - IfStatement 1714121 1714298 - CallExpression 1714139 1714175 - Identifier 1714139 1714158 - Identifier 1714159 1714168 - Identifier 1714169 1714174 - Block 1714176 1714298 - ReturnStatement 1714178 1714283 - CallExpression 1714202 1714282 - Identifier 1714202 1714227 - Identifier 1714228 1714232 - ConditionalExpression 1714233 1714281 - Identifier 1714233 1714244 - QuestionToken 1714244 1714246 - PropertyAccessExpression 1714246 1714263 - Identifier 1714246 1714256 - Identifier 1714257 1714263 - ColonToken 1714263 1714265 - PropertyAccessExpression 1714265 1714281 - Identifier 1714265 1714275 - Identifier 1714276 1714281 - IfStatement 1714298 1714500 - BinaryExpression 1714316 1714397 - BinaryExpression 1714316 1714346 - Identifier 1714316 1714332 - AmpersandAmpersandToken 1714332 1714335 - Identifier 1714335 1714346 - AmpersandAmpersandToken 1714346 1714349 - CallExpression 1714349 1714397 - Identifier 1714349 1714380 - Identifier 1714381 1714385 - Identifier 1714386 1714396 - Block 1714398 1714500 - ExpressionStatement 1714400 1714485 - BinaryExpression 1714400 1714484 - Identifier 1714400 1714422 - EqualsToken 1714422 1714424 - CallExpression 1714424 1714484 - Identifier 1714424 1714449 - Identifier 1714450 1714454 - PropertyAccessExpression 1714455 1714483 - Identifier 1714455 1714465 - Identifier 1714466 1714483 - VariableStatement 1714500 1714571 - VariableDeclarationList 1714500 1714570 - VariableDeclaration 1714519 1714570 - Identifier 1714519 1714526 - CallExpression 1714528 1714570 - Identifier 1714528 1714558 - Identifier 1714559 1714563 - Identifier 1714564 1714569 - IfStatement 1714571 1714752 - Identifier 1714589 1714595 - Block 1714596 1714752 - ReturnStatement 1714598 1714737 - CallExpression 1714622 1714736 - Identifier 1714622 1714647 - Identifier 1714648 1714652 - Identifier 1714653 1714660 - ArrowFunction 1714661 1714735 - Parameter 1714661 1714663 - Identifier 1714661 1714663 - EqualsGreaterThanToken 1714663 1714666 - CallExpression 1714666 1714735 - Identifier 1714666 1714683 - Identifier 1714684 1714685 - ConditionalExpression 1714686 1714734 - Identifier 1714686 1714697 - QuestionToken 1714697 1714699 - PropertyAccessExpression 1714699 1714716 - Identifier 1714699 1714709 - Identifier 1714710 1714716 - ColonToken 1714716 1714718 - PropertyAccessExpression 1714718 1714734 - Identifier 1714718 1714728 - Identifier 1714729 1714734 - ReturnStatement 1714752 1714778 - Identifier 1714772 1714777 - FunctionDeclaration 1714789 1715182 - Identifier 1714809 1714832 - Parameter 1714833 1714843 - Identifier 1714833 1714837 - TypeReference 1714838 1714843 - Identifier 1714838 1714843 - Parameter 1714844 1714863 - Identifier 1714844 1714853 - TypeReference 1714854 1714863 - Identifier 1714854 1714863 - Parameter 1714864 1714884 - Identifier 1714864 1714875 - BooleanKeyword 1714876 1714884 - Block 1714885 1715182 - VariableStatement 1714887 1714948 - VariableDeclarationList 1714887 1714947 - VariableDeclaration 1714906 1714947 - Identifier 1714906 1714911 - CallExpression 1714913 1714947 - Identifier 1714913 1714931 - Identifier 1714932 1714936 - Identifier 1714937 1714946 - ReturnStatement 1714948 1715171 - ConditionalExpression 1714968 1715170 - Identifier 1714968 1714973 - QuestionToken 1714973 1714975 - BinaryExpression 1714975 1715088 - PrefixUnaryExpression 1714975 1715074 - PrefixUnaryExpression 1714994 1715074 - ParenthesizedExpression 1714995 1715074 - BinaryExpression 1714996 1715073 - BinaryExpression 1714996 1715029 - PropertyAccessExpression 1714996 1715006 - Identifier 1714996 1715000 - Identifier 1715001 1715006 - AmpersandToken 1715006 1715008 - PropertyAccessExpression 1715008 1715029 - Identifier 1715008 1715020 - Identifier 1715021 1715029 - BarBarToken 1715029 1715032 - BinaryExpression 1715032 1715073 - CallExpression 1715032 1715052 - Identifier 1715032 1715046 - Identifier 1715047 1715051 - AmpersandToken 1715052 1715054 - PropertyAccessExpression 1715054 1715073 - Identifier 1715054 1715065 - Identifier 1715066 1715073 - BarBarToken 1715074 1715077 - Identifier 1715077 1715088 - ColonToken 1715088 1715090 - BinaryExpression 1715090 1715170 - PrefixUnaryExpression 1715090 1715155 - PrefixUnaryExpression 1715109 1715155 - CallExpression 1715110 1715155 - Identifier 1715110 1715139 - Identifier 1715140 1715144 - Identifier 1715145 1715154 - BarBarToken 1715155 1715158 - PrefixUnaryExpression 1715158 1715170 - Identifier 1715160 1715170 - FunctionDeclaration 1715182 1716354 - Identifier 1715202 1715224 - Parameter 1715225 1715235 - Identifier 1715225 1715229 - TypeReference 1715230 1715235 - Identifier 1715230 1715235 - Parameter 1715236 1715305 - Identifier 1715236 1715245 - UnionType 1715246 1715305 - TypeReference 1715246 1715264 - Identifier 1715246 1715264 - TypeReference 1715266 1715284 - Identifier 1715266 1715284 - TypeReference 1715286 1715305 - Identifier 1715286 1715305 - Parameter 1715306 1715326 - Identifier 1715306 1715317 - BooleanKeyword 1715318 1715326 - Block 1715327 1716354 - VariableStatement 1715329 1715390 - VariableDeclarationList 1715329 1715389 - VariableDeclaration 1715348 1715389 - Identifier 1715348 1715353 - CallExpression 1715355 1715389 - Identifier 1715355 1715379 - Identifier 1715380 1715388 - VariableStatement 1715390 1715502 - VariableDeclarationList 1715390 1715501 - VariableDeclaration 1715409 1715501 - Identifier 1715409 1715425 - CallExpression 1715427 1715501 - Identifier 1715427 1715436 - Identifier 1715437 1715441 - ArrowFunction 1715442 1715500 - Parameter 1715442 1715444 - Identifier 1715442 1715444 - EqualsGreaterThanToken 1715444 1715447 - CallExpression 1715447 1715500 - Identifier 1715447 1715470 - Identifier 1715471 1715472 - Identifier 1715473 1715478 - TrueKeyword 1715479 1715499 - IfStatement 1715502 1715855 - Identifier 1715520 1715535 - Block 1715536 1715855 - ReturnStatement 1715538 1715840 - CallExpression 1715772 1715839 - Identifier 1715772 1715783 - Identifier 1715784 1715788 - ArrowFunction 1715789 1715838 - Parameter 1715789 1715791 - Identifier 1715789 1715791 - EqualsGreaterThanToken 1715791 1715794 - CallExpression 1715794 1715838 - Identifier 1715794 1715817 - Identifier 1715818 1715819 - Identifier 1715820 1715825 - Identifier 1715826 1715837 - IfStatement 1715855 1716317 - Identifier 1715873 1715883 - Block 1715884 1716317 - VariableStatement 1715886 1716123 - VariableDeclarationList 1715886 1716122 - VariableDeclaration 1716083 1716122 - Identifier 1716083 1716096 - CallExpression 1716098 1716122 - Identifier 1716098 1716120 - IfStatement 1716123 1716302 - Identifier 1716145 1716157 - Block 1716158 1716302 - ReturnStatement 1716160 1716283 - CallExpression 1716188 1716282 - Identifier 1716188 1716208 - ArrayLiteralExpression 1716209 1716281 - Identifier 1716210 1716214 - CallExpression 1716215 1716280 - Identifier 1716215 1716241 - Identifier 1716242 1716254 - ArrayLiteralExpression 1716255 1716279 - Identifier 1716257 1716265 - Identifier 1716266 1716278 - ReturnStatement 1716317 1716343 - Identifier 1716337 1716342 - FunctionDeclaration 1716354 1716770 - Identifier 1716374 1716404 - Parameter 1716405 1716415 - Identifier 1716405 1716409 - TypeReference 1716410 1716415 - Identifier 1716410 1716415 - Parameter 1716416 1716433 - Identifier 1716416 1716421 - TypeReference 1716422 1716433 - Identifier 1716422 1716433 - Parameter 1716434 1716455 - Identifier 1716434 1716439 - TypeReference 1716440 1716455 - Identifier 1716440 1716455 - Parameter 1716456 1716481 - Identifier 1716456 1716465 - TypeReference 1716466 1716481 - Identifier 1716466 1716481 - Parameter 1716482 1716502 - Identifier 1716482 1716493 - BooleanKeyword 1716494 1716502 - TypeReference 1716504 1716509 - Identifier 1716504 1716509 - Block 1716509 1716770 - ExpressionStatement 1716511 1716703 - BinaryExpression 1716511 1716702 - Identifier 1716511 1716535 - EqualsToken 1716535 1716537 - BinaryExpression 1716537 1716702 - ParenthesizedExpression 1716537 1716593 - BinaryExpression 1716539 1716592 - Identifier 1716539 1716549 - ExclamationEqualsEqualsToken 1716549 1716553 - ParenthesizedExpression 1716553 1716592 - BinaryExpression 1716555 1716591 - PropertyAccessExpression 1716555 1716564 - Identifier 1716555 1716559 - Identifier 1716560 1716564 - EqualsEqualsEqualsToken 1716564 1716568 - PropertyAccessExpression 1716568 1716591 - Identifier 1716568 1716579 - Identifier 1716580 1716591 - ExclamationEqualsEqualsToken 1716593 1716597 - ParenthesizedExpression 1716597 1716702 - BinaryExpression 1716599 1716701 - BinaryExpression 1716599 1716651 - Identifier 1716599 1716607 - ExclamationEqualsEqualsToken 1716607 1716611 - PropertyAccessExpression 1716611 1716651 - Identifier 1716611 1716622 - Identifier 1716623 1716651 - AmpersandAmpersandToken 1716651 1716654 - BinaryExpression 1716654 1716701 - Identifier 1716654 1716663 - ExclamationEqualsEqualsToken 1716663 1716667 - PropertyAccessExpression 1716667 1716701 - Identifier 1716667 1716678 - Identifier 1716679 1716701 - ReturnStatement 1716703 1716759 - CallExpression 1716723 1716758 - Identifier 1716723 1716734 - Identifier 1716735 1716739 - Identifier 1716740 1716745 - Identifier 1716746 1716757 - FunctionDeclaration 1716770 1722895 - Identifier 1716790 1716819 - Parameter 1716820 1716830 - Identifier 1716820 1716824 - TypeReference 1716825 1716830 - Identifier 1716825 1716830 - Parameter 1716831 1716854 - Identifier 1716831 1716836 - TypeReference 1716837 1716854 - Identifier 1716837 1716854 - Parameter 1716855 1716875 - Identifier 1716855 1716866 - BooleanKeyword 1716867 1716875 - TypeReference 1716877 1716882 - Identifier 1716877 1716882 - Block 1716882 1722895 - SwitchStatement 1716884 1722858 - PropertyAccessExpression 1716906 1716929 - PropertyAccessExpression 1716906 1716924 - Identifier 1716906 1716910 - Identifier 1716911 1716924 - Identifier 1716925 1716929 - CaseBlock 1716930 1722858 - CaseClause 1716932 1716978 - PropertyAccessExpression 1716954 1716977 - Identifier 1716954 1716965 - Identifier 1716966 1716977 - CaseClause 1716978 1717030 - PropertyAccessExpression 1717000 1717029 - Identifier 1717000 1717011 - Identifier 1717012 1717029 - CaseClause 1717030 1717094 - PropertyAccessExpression 1717052 1717093 - Identifier 1717052 1717063 - Identifier 1717064 1717093 - CaseClause 1717094 1717273 - PropertyAccessExpression 1717116 1717155 - Identifier 1717116 1717127 - Identifier 1717128 1717155 - ReturnStatement 1717156 1717273 - CallExpression 1717184 1717272 - Identifier 1717184 1717207 - CallExpression 1717208 1717248 - Identifier 1717208 1717218 - Identifier 1717219 1717223 - PropertyAccessExpression 1717224 1717235 - Identifier 1717224 1717229 - Identifier 1717230 1717235 - Identifier 1717236 1717247 - PropertyAccessExpression 1717249 1717259 - Identifier 1717249 1717254 - Identifier 1717255 1717259 - Identifier 1717260 1717271 - CaseClause 1717273 1717325 - PropertyAccessExpression 1717295 1717324 - Identifier 1717295 1717306 - Identifier 1717307 1717324 - CaseClause 1717325 1717382 - PropertyAccessExpression 1717347 1717381 - Identifier 1717347 1717358 - Identifier 1717359 1717381 - CaseClause 1717382 1717440 - PropertyAccessExpression 1717404 1717439 - Identifier 1717404 1717415 - Identifier 1717416 1717439 - CaseClause 1717440 1720358 - PropertyAccessExpression 1717462 1717502 - Identifier 1717462 1717473 - Identifier 1717474 1717502 - VariableStatement 1717503 1717566 - VariableDeclarationList 1717503 1717565 - VariableDeclaration 1717530 1717565 - Identifier 1717530 1717539 - PropertyAccessExpression 1717541 1717565 - PropertyAccessExpression 1717541 1717560 - Identifier 1717541 1717546 - Identifier 1717547 1717560 - Identifier 1717561 1717565 - VariableStatement 1717566 1717634 - VariableDeclarationList 1717566 1717633 - VariableDeclaration 1717593 1717633 - Identifier 1717593 1717598 - CallExpression 1717600 1717633 - Identifier 1717600 1717622 - PropertyAccessExpression 1717623 1717632 - Identifier 1717623 1717627 - Identifier 1717628 1717632 - VariableStatement 1717634 1717704 - VariableDeclarationList 1717634 1717703 - VariableDeclaration 1717661 1717703 - Identifier 1717661 1717667 - CallExpression 1717669 1717703 - Identifier 1717669 1717691 - PropertyAccessExpression 1717692 1717702 - Identifier 1717692 1717696 - Identifier 1717697 1717702 - IfStatement 1717704 1717940 - BinaryExpression 1717730 1717801 - BinaryExpression 1717730 1717771 - PropertyAccessExpression 1717730 1717739 - Identifier 1717730 1717734 - Identifier 1717735 1717739 - EqualsEqualsEqualsToken 1717739 1717743 - PropertyAccessExpression 1717743 1717771 - Identifier 1717743 1717754 - Identifier 1717755 1717771 - AmpersandAmpersandToken 1717771 1717774 - CallExpression 1717774 1717801 - Identifier 1717774 1717794 - Identifier 1717795 1717800 - Block 1717802 1717940 - ReturnStatement 1717804 1717917 - CallExpression 1717836 1717916 - Identifier 1717836 1717855 - Identifier 1717856 1717860 - AsExpression 1717861 1717886 - Identifier 1717861 1717866 - TypeReference 1717869 1717886 - Identifier 1717869 1717886 - Identifier 1717887 1717896 - Identifier 1717897 1717903 - Identifier 1717904 1717915 - IfStatement 1717940 1718176 - BinaryExpression 1717966 1718037 - BinaryExpression 1717966 1718008 - PropertyAccessExpression 1717966 1717976 - Identifier 1717966 1717971 - Identifier 1717972 1717976 - EqualsEqualsEqualsToken 1717976 1717980 - PropertyAccessExpression 1717980 1718008 - Identifier 1717980 1717991 - Identifier 1717992 1718008 - AmpersandAmpersandToken 1718008 1718011 - CallExpression 1718011 1718037 - Identifier 1718011 1718031 - Identifier 1718032 1718036 - Block 1718038 1718176 - ReturnStatement 1718040 1718153 - CallExpression 1718072 1718152 - Identifier 1718072 1718091 - Identifier 1718092 1718096 - AsExpression 1718097 1718123 - Identifier 1718097 1718103 - TypeReference 1718106 1718123 - Identifier 1718106 1718123 - Identifier 1718124 1718133 - Identifier 1718134 1718139 - Identifier 1718140 1718151 - IfStatement 1718176 1718353 - CallExpression 1718202 1718238 - Identifier 1718202 1718221 - Identifier 1718222 1718231 - Identifier 1718232 1718237 - Block 1718239 1718353 - ReturnStatement 1718241 1718330 - CallExpression 1718273 1718329 - Identifier 1718273 1718294 - Identifier 1718295 1718299 - Identifier 1718300 1718309 - Identifier 1718310 1718316 - Identifier 1718317 1718328 - IfStatement 1718353 1718530 - CallExpression 1718379 1718416 - Identifier 1718379 1718398 - Identifier 1718399 1718408 - Identifier 1718409 1718415 - Block 1718417 1718530 - ReturnStatement 1718419 1718507 - CallExpression 1718451 1718506 - Identifier 1718451 1718472 - Identifier 1718473 1718477 - Identifier 1718478 1718487 - Identifier 1718488 1718493 - Identifier 1718494 1718505 - IfStatement 1718530 1719035 - Identifier 1718556 1718572 - Block 1718573 1719035 - IfStatement 1718575 1719012 - CallExpression 1718605 1718652 - Identifier 1718605 1718635 - Identifier 1718636 1718640 - Identifier 1718641 1718651 - Block 1718653 1718791 - ExpressionStatement 1718655 1718764 - BinaryExpression 1718655 1718763 - Identifier 1718655 1718689 - EqualsToken 1718689 1718691 - CallExpression 1718691 1718763 - Identifier 1718691 1718728 - Identifier 1718729 1718733 - Identifier 1718734 1718743 - Identifier 1718744 1718750 - Identifier 1718751 1718762 - IfStatement 1718821 1719012 - CallExpression 1718826 1718874 - Identifier 1718826 1718856 - Identifier 1718857 1718862 - Identifier 1718863 1718873 - Block 1718875 1719012 - ExpressionStatement 1718877 1718985 - BinaryExpression 1718877 1718984 - Identifier 1718877 1718911 - EqualsToken 1718911 1718913 - CallExpression 1718913 1718984 - Identifier 1718913 1718950 - Identifier 1718951 1718955 - Identifier 1718956 1718965 - Identifier 1718966 1718971 - Identifier 1718972 1718983 - VariableStatement 1719035 1719118 - VariableDeclarationList 1719035 1719117 - VariableDeclaration 1719062 1719117 - Identifier 1719062 1719073 - CallExpression 1719075 1719117 - Identifier 1719075 1719105 - Identifier 1719106 1719110 - Identifier 1719111 1719116 - IfStatement 1719118 1719293 - Identifier 1719144 1719154 - Block 1719155 1719293 - ReturnStatement 1719157 1719270 - CallExpression 1719189 1719269 - Identifier 1719189 1719222 - Identifier 1719223 1719227 - Identifier 1719228 1719239 - Identifier 1719240 1719249 - Identifier 1719250 1719256 - Identifier 1719257 1719268 - VariableStatement 1719293 1719378 - VariableDeclarationList 1719293 1719377 - VariableDeclaration 1719320 1719377 - Identifier 1719320 1719332 - CallExpression 1719334 1719377 - Identifier 1719334 1719364 - Identifier 1719365 1719370 - Identifier 1719371 1719376 - IfStatement 1719378 1719554 - Identifier 1719404 1719415 - Block 1719416 1719554 - ReturnStatement 1719418 1719531 - CallExpression 1719450 1719530 - Identifier 1719450 1719483 - Identifier 1719484 1719488 - Identifier 1719489 1719501 - Identifier 1719502 1719511 - Identifier 1719512 1719517 - Identifier 1719518 1719529 - IfStatement 1719554 1719734 - CallExpression 1719580 1719616 - Identifier 1719580 1719610 - Identifier 1719611 1719615 - Block 1719617 1719734 - ReturnStatement 1719619 1719711 - CallExpression 1719651 1719710 - Identifier 1719651 1719675 - Identifier 1719676 1719680 - Identifier 1719681 1719690 - Identifier 1719691 1719697 - Identifier 1719698 1719709 - IfStatement 1719734 1719914 - CallExpression 1719760 1719797 - Identifier 1719760 1719790 - Identifier 1719791 1719796 - Block 1719798 1719914 - ReturnStatement 1719800 1719891 - CallExpression 1719832 1719890 - Identifier 1719832 1719856 - Identifier 1719857 1719861 - Identifier 1719862 1719871 - Identifier 1719872 1719877 - Identifier 1719878 1719889 - IfStatement 1719914 1720122 - BinaryExpression 1719940 1719992 - CallExpression 1719940 1719963 - Identifier 1719940 1719956 - Identifier 1719957 1719962 - AmpersandAmpersandToken 1719963 1719966 - PrefixUnaryExpression 1719966 1719992 - CallExpression 1719968 1719992 - Identifier 1719968 1719986 - Identifier 1719987 1719991 - Block 1719993 1720122 - ReturnStatement 1719995 1720099 - CallExpression 1720027 1720098 - Identifier 1720027 1720057 - Identifier 1720058 1720062 - Identifier 1720063 1720068 - Identifier 1720069 1720075 - Identifier 1720076 1720085 - Identifier 1720086 1720097 - IfStatement 1720122 1720330 - BinaryExpression 1720148 1720200 - CallExpression 1720148 1720170 - Identifier 1720148 1720164 - Identifier 1720165 1720169 - AmpersandAmpersandToken 1720170 1720173 - PrefixUnaryExpression 1720173 1720200 - CallExpression 1720175 1720200 - Identifier 1720175 1720193 - Identifier 1720194 1720199 - Block 1720201 1720330 - ReturnStatement 1720203 1720307 - CallExpression 1720235 1720306 - Identifier 1720235 1720265 - Identifier 1720266 1720270 - Identifier 1720271 1720277 - Identifier 1720278 1720283 - Identifier 1720284 1720293 - Identifier 1720294 1720305 - BreakStatement 1720330 1720358 - CaseClause 1720358 1720510 - PropertyAccessExpression 1720380 1720409 - Identifier 1720380 1720391 - Identifier 1720392 1720409 - ReturnStatement 1720410 1720510 - CallExpression 1720438 1720509 - Identifier 1720438 1720461 - Identifier 1720462 1720466 - AsExpression 1720467 1720496 - Identifier 1720467 1720472 - TypeReference 1720475 1720496 - Identifier 1720475 1720496 - Identifier 1720497 1720508 - CaseClause 1720510 1721712 - PropertyAccessExpression 1720532 1720553 - Identifier 1720532 1720543 - Identifier 1720544 1720553 - IfStatement 1720554 1720737 - CallExpression 1720580 1720610 - Identifier 1720580 1720599 - PropertyAccessExpression 1720600 1720609 - Identifier 1720600 1720604 - Identifier 1720605 1720609 - Block 1720611 1720737 - ReturnStatement 1720613 1720714 - CallExpression 1720645 1720713 - Identifier 1720645 1720689 - Identifier 1720690 1720694 - Identifier 1720695 1720700 - Identifier 1720701 1720712 - VariableStatement 1720737 1720808 - VariableDeclarationList 1720737 1720807 - VariableDeclaration 1720764 1720807 - Identifier 1720764 1720771 - CallExpression 1720773 1720807 - Identifier 1720773 1720795 - PropertyAccessExpression 1720796 1720806 - Identifier 1720796 1720800 - Identifier 1720801 1720806 - IfStatement 1720808 1721337 - BinaryExpression 1720834 1720945 - BinaryExpression 1720834 1720892 - CallExpression 1720834 1720859 - Identifier 1720834 1720853 - Identifier 1720854 1720858 - AmpersandAmpersandToken 1720859 1720862 - CallExpression 1720862 1720892 - Identifier 1720862 1720881 - Identifier 1720882 1720891 - AmpersandAmpersandToken 1720892 1720895 - CallExpression 1720895 1720945 - Identifier 1720895 1720915 - PropertyAccessExpression 1720916 1720936 - Identifier 1720916 1720925 - Identifier 1720926 1720936 - Identifier 1720937 1720944 - Block 1720946 1721337 - VariableStatement 1720948 1721022 - VariableDeclarationList 1720948 1721021 - VariableDeclaration 1720979 1721021 - Identifier 1720979 1720988 - CallExpression 1720990 1721021 - Identifier 1720990 1721010 - PropertyAccessExpression 1721011 1721020 - Identifier 1721011 1721015 - Identifier 1721016 1721020 - IfStatement 1721022 1721314 - BinaryExpression 1721052 1721164 - CallExpression 1721052 1721088 - Identifier 1721052 1721078 - Identifier 1721079 1721087 - AmpersandAmpersandToken 1721088 1721091 - BinaryExpression 1721091 1721164 - CallExpression 1721091 1721126 - Identifier 1721091 1721115 - Identifier 1721116 1721125 - EqualsEqualsEqualsToken 1721126 1721130 - CallExpression 1721130 1721164 - Identifier 1721130 1721154 - Identifier 1721155 1721163 - Block 1721165 1721314 - ReturnStatement 1721167 1721287 - CallExpression 1721203 1721286 - Identifier 1721203 1721220 - Identifier 1721221 1721225 - ConditionalExpression 1721226 1721285 - Identifier 1721226 1721237 - QuestionToken 1721237 1721239 - PropertyAccessExpression 1721239 1721261 - Identifier 1721239 1721249 - Identifier 1721250 1721261 - ColonToken 1721261 1721263 - PropertyAccessExpression 1721263 1721285 - Identifier 1721263 1721273 - Identifier 1721274 1721285 - IfStatement 1721337 1721684 - CallExpression 1721363 1721401 - Identifier 1721363 1721382 - Identifier 1721383 1721392 - Identifier 1721393 1721400 - Block 1721402 1721684 - VariableStatement 1721404 1721478 - VariableDeclarationList 1721404 1721477 - VariableDeclaration 1721435 1721477 - Identifier 1721435 1721444 - CallExpression 1721446 1721477 - Identifier 1721446 1721466 - PropertyAccessExpression 1721467 1721476 - Identifier 1721467 1721471 - Identifier 1721472 1721476 - IfStatement 1721478 1721661 - CallExpression 1721508 1721544 - Identifier 1721508 1721534 - Identifier 1721535 1721543 - Block 1721545 1721661 - ReturnStatement 1721547 1721634 - CallExpression 1721583 1721633 - Identifier 1721583 1721605 - Identifier 1721606 1721610 - Identifier 1721611 1721620 - Identifier 1721621 1721632 - BreakStatement 1721684 1721712 - CaseClause 1721712 1721827 - PropertyAccessExpression 1721734 1721756 - Identifier 1721734 1721745 - Identifier 1721746 1721756 - ReturnStatement 1721757 1721827 - CallExpression 1721785 1721826 - Identifier 1721785 1721796 - Identifier 1721797 1721801 - PropertyAccessExpression 1721802 1721813 - Identifier 1721802 1721807 - Identifier 1721808 1721813 - Identifier 1721814 1721825 - CaseClause 1721827 1722491 - PropertyAccessExpression 1722149 1722184 - Identifier 1722149 1722160 - Identifier 1722161 1722184 - ReturnStatement 1722185 1722491 - ConditionalExpression 1722213 1722490 - Identifier 1722213 1722224 - QuestionToken 1722224 1722226 - CallExpression 1722226 1722345 - Identifier 1722226 1722262 - CallExpression 1722263 1722311 - Identifier 1722263 1722273 - Identifier 1722274 1722278 - PropertyAccessExpression 1722279 1722289 - Identifier 1722279 1722284 - Identifier 1722285 1722289 - TrueKeyword 1722290 1722310 - PropertyAccessExpression 1722312 1722323 - Identifier 1722312 1722317 - Identifier 1722318 1722323 - TrueKeyword 1722324 1722344 - ColonToken 1722345 1722347 - CallExpression 1722347 1722490 - Identifier 1722347 1722385 - ArrayLiteralExpression 1722386 1722489 - CallExpression 1722387 1722436 - Identifier 1722387 1722397 - Identifier 1722398 1722402 - PropertyAccessExpression 1722403 1722413 - Identifier 1722403 1722408 - Identifier 1722409 1722413 - FalseKeyword 1722414 1722435 - CallExpression 1722437 1722488 - Identifier 1722437 1722448 - Identifier 1722449 1722453 - PropertyAccessExpression 1722454 1722465 - Identifier 1722454 1722459 - Identifier 1722460 1722465 - FalseKeyword 1722466 1722487 - CaseClause 1722491 1722843 - PropertyAccessExpression 1722513 1722536 - Identifier 1722513 1722524 - Identifier 1722525 1722536 - ReturnStatement 1722537 1722843 - ConditionalExpression 1722565 1722842 - Identifier 1722565 1722576 - QuestionToken 1722576 1722578 - CallExpression 1722578 1722719 - Identifier 1722578 1722616 - ArrayLiteralExpression 1722617 1722718 - CallExpression 1722618 1722666 - Identifier 1722618 1722628 - Identifier 1722629 1722633 - PropertyAccessExpression 1722634 1722644 - Identifier 1722634 1722639 - Identifier 1722640 1722644 - TrueKeyword 1722645 1722665 - CallExpression 1722667 1722717 - Identifier 1722667 1722678 - Identifier 1722679 1722683 - PropertyAccessExpression 1722684 1722695 - Identifier 1722684 1722689 - Identifier 1722690 1722695 - TrueKeyword 1722696 1722716 - ColonToken 1722719 1722721 - CallExpression 1722721 1722842 - Identifier 1722721 1722757 - CallExpression 1722758 1722807 - Identifier 1722758 1722768 - Identifier 1722769 1722773 - PropertyAccessExpression 1722774 1722784 - Identifier 1722774 1722779 - Identifier 1722780 1722784 - FalseKeyword 1722785 1722806 - PropertyAccessExpression 1722808 1722819 - Identifier 1722808 1722813 - Identifier 1722814 1722819 - FalseKeyword 1722820 1722841 - ReturnStatement 1722858 1722884 - Identifier 1722878 1722883 - FunctionDeclaration 1722895 1723826 - Identifier 1722915 1722959 - Parameter 1722960 1722970 - Identifier 1722960 1722964 - TypeReference 1722965 1722970 - Identifier 1722965 1722970 - Parameter 1722971 1722994 - Identifier 1722971 1722976 - TypeReference 1722977 1722994 - Identifier 1722977 1722994 - Parameter 1722995 1723015 - Identifier 1722995 1723006 - BooleanKeyword 1723007 1723015 - TypeReference 1723017 1723022 - Identifier 1723017 1723022 - Block 1723022 1723826 - VariableStatement 1723024 1723087 - VariableDeclarationList 1723024 1723086 - VariableDeclaration 1723043 1723086 - Identifier 1723043 1723050 - CallExpression 1723052 1723086 - Identifier 1723052 1723074 - PropertyAccessExpression 1723075 1723085 - Identifier 1723075 1723079 - Identifier 1723080 1723085 - IfStatement 1723087 1723192 - PrefixUnaryExpression 1723105 1723144 - CallExpression 1723106 1723144 - Identifier 1723106 1723125 - Identifier 1723126 1723135 - Identifier 1723136 1723143 - Block 1723145 1723192 - ReturnStatement 1723147 1723177 - Identifier 1723171 1723176 - ExpressionStatement 1723192 1723257 - CallExpression 1723192 1723256 - PropertyAccessExpression 1723192 1723224 - Identifier 1723192 1723213 - Identifier 1723214 1723224 - PropertyAccessExpression 1723225 1723234 - Identifier 1723225 1723229 - Identifier 1723230 1723234 - Identifier 1723235 1723255 - VariableStatement 1723257 1723337 - VariableDeclarationList 1723257 1723336 - VariableDeclaration 1723276 1723336 - Identifier 1723276 1723283 - CallExpression 1723285 1723336 - Identifier 1723285 1723325 - PropertyAccessExpression 1723326 1723335 - Identifier 1723326 1723330 - Identifier 1723331 1723335 - IfStatement 1723337 1723423 - BinaryExpression 1723355 1723375 - Identifier 1723355 1723361 - EqualsEqualsEqualsToken 1723361 1723365 - Identifier 1723365 1723375 - Block 1723376 1723423 - ReturnStatement 1723378 1723408 - Identifier 1723402 1723407 - VariableStatement 1723423 1723472 - VariableDeclarationList 1723423 1723471 - VariableDeclaration 1723442 1723471 - Identifier 1723442 1723454 - NonNullExpression 1723456 1723471 - PropertyAccessExpression 1723456 1723470 - Identifier 1723456 1723463 - Identifier 1723464 1723470 - VariableStatement 1723472 1723725 - VariableDeclarationList 1723472 1723724 - VariableDeclaration 1723491 1723724 - Identifier 1723491 1723502 - ConditionalExpression 1723504 1723724 - CallExpression 1723504 1723603 - Identifier 1723504 1723522 - CallExpression 1723523 1723602 - PropertyAccessExpression 1723523 1723541 - Identifier 1723523 1723528 - Identifier 1723529 1723541 - PropertyAccessExpression 1723542 1723565 - Identifier 1723542 1723548 - Identifier 1723549 1723565 - StringLiteral 1723566 1723601 - QuestionToken 1723603 1723622 - AsExpression 1723622 1723668 - CallExpression 1723622 1723651 - Identifier 1723622 1723638 - Identifier 1723639 1723650 - TypeReference 1723654 1723668 - Identifier 1723654 1723668 - ColonToken 1723668 1723687 - CallExpression 1723687 1723724 - Identifier 1723687 1723711 - Identifier 1723712 1723723 - ReturnStatement 1723725 1723815 - CallExpression 1723745 1723814 - Identifier 1723745 1723761 - Identifier 1723762 1723766 - Identifier 1723767 1723778 - Identifier 1723779 1723790 - TrueKeyword 1723791 1723813 - FunctionDeclaration 1723826 1726068 - Identifier 1723846 1723883 - Parameter 1723884 1723894 - Identifier 1723884 1723888 - TypeReference 1723889 1723894 - Identifier 1723889 1723894 - Parameter 1723895 1723916 - Identifier 1723895 1723904 - TypeReference 1723905 1723916 - Identifier 1723905 1723916 - Parameter 1723917 1723935 - Identifier 1723917 1723923 - TypeReference 1723924 1723935 - Identifier 1723924 1723935 - Parameter 1723936 1723956 - Identifier 1723936 1723947 - BooleanKeyword 1723948 1723956 - TypeReference 1723958 1723963 - Identifier 1723958 1723963 - Block 1723963 1726068 - VariableStatement 1723965 1725338 - VariableDeclarationList 1723965 1725337 - VariableDeclaration 1725227 1725337 - Identifier 1725227 1725242 - BinaryExpression 1725244 1725337 - BinaryExpression 1725244 1725286 - Identifier 1725244 1725253 - EqualsEqualsEqualsToken 1725253 1725257 - PropertyAccessExpression 1725257 1725286 - Identifier 1725257 1725268 - Identifier 1725269 1725286 - BarBarToken 1725286 1725289 - BinaryExpression 1725289 1725337 - Identifier 1725289 1725298 - EqualsEqualsEqualsToken 1725298 1725302 - PropertyAccessExpression 1725302 1725337 - Identifier 1725302 1725313 - Identifier 1725314 1725337 - VariableStatement 1725338 1725509 - VariableDeclarationList 1725338 1725508 - VariableDeclaration 1725357 1725508 - Identifier 1725357 1725371 - ConditionalExpression 1725373 1725508 - BinaryExpression 1725373 1725465 - BinaryExpression 1725373 1725415 - Identifier 1725373 1725382 - EqualsEqualsEqualsToken 1725382 1725386 - PropertyAccessExpression 1725386 1725415 - Identifier 1725386 1725397 - Identifier 1725398 1725415 - BarBarToken 1725415 1725418 - BinaryExpression 1725418 1725465 - Identifier 1725418 1725427 - EqualsEqualsEqualsToken 1725427 1725431 - PropertyAccessExpression 1725431 1725465 - Identifier 1725431 1725442 - Identifier 1725443 1725465 - QuestionToken 1725465 1725467 - PropertyAccessExpression 1725467 1725486 - Identifier 1725467 1725477 - Identifier 1725478 1725486 - ColonToken 1725486 1725488 - PropertyAccessExpression 1725488 1725508 - Identifier 1725488 1725498 - Identifier 1725499 1725508 - VariableStatement 1725509 1725568 - VariableDeclarationList 1725509 1725567 - VariableDeclaration 1725528 1725567 - Identifier 1725528 1725538 - CallExpression 1725540 1725567 - Identifier 1725540 1725560 - Identifier 1725561 1725566 - VariableStatement 1725568 1725952 - VariableDeclarationList 1725568 1725951 - VariableDeclaration 1725712 1725951 - Identifier 1725712 1725727 - BinaryExpression 1725729 1725951 - BinaryExpression 1725729 1725817 - BinaryExpression 1725729 1725759 - Identifier 1725729 1725744 - ExclamationEqualsEqualsToken 1725744 1725748 - Identifier 1725748 1725759 - AmpersandAmpersandToken 1725759 1725762 - CallExpression 1725762 1725817 - Identifier 1725762 1725772 - Identifier 1725773 1725782 - ArrowFunction 1725783 1725816 - Parameter 1725783 1725785 - Identifier 1725783 1725785 - EqualsGreaterThanToken 1725785 1725788 - PrefixUnaryExpression 1725788 1725816 - PrefixUnaryExpression 1725790 1725816 - ParenthesizedExpression 1725791 1725816 - BinaryExpression 1725792 1725815 - PropertyAccessExpression 1725792 1725799 - Identifier 1725792 1725793 - Identifier 1725794 1725799 - AmpersandToken 1725799 1725801 - Identifier 1725801 1725815 - BarBarToken 1725817 1725820 - BinaryExpression 1725820 1725951 - BinaryExpression 1725820 1725867 - Identifier 1725820 1725852 - EqualsEqualsEqualsToken 1725852 1725856 - Identifier 1725856 1725867 - AmpersandAmpersandToken 1725867 1725870 - CallExpression 1725870 1725951 - Identifier 1725870 1725880 - Identifier 1725881 1725890 - ArrowFunction 1725891 1725950 - Parameter 1725891 1725893 - Identifier 1725891 1725893 - EqualsGreaterThanToken 1725893 1725896 - PrefixUnaryExpression 1725896 1725950 - ParenthesizedExpression 1725898 1725950 - BinaryExpression 1725899 1725949 - PropertyAccessExpression 1725899 1725906 - Identifier 1725899 1725900 - Identifier 1725901 1725906 - AmpersandToken 1725906 1725908 - ParenthesizedExpression 1725908 1725949 - BinaryExpression 1725910 1725948 - PropertyAccessExpression 1725910 1725932 - Identifier 1725910 1725919 - Identifier 1725920 1725932 - BarToken 1725932 1725934 - Identifier 1725934 1725948 - ReturnStatement 1725952 1726057 - ConditionalExpression 1725972 1726056 - Identifier 1725972 1725987 - QuestionToken 1725987 1725989 - CallExpression 1725989 1726049 - Identifier 1725989 1726014 - Identifier 1726015 1726019 - PropertyAccessExpression 1726020 1726048 - Identifier 1726020 1726030 - Identifier 1726031 1726048 - ColonToken 1726049 1726051 - Identifier 1726051 1726056 - FunctionDeclaration 1726068 1728186 - Identifier 1726088 1726109 - Parameter 1726110 1726120 - Identifier 1726110 1726114 - TypeReference 1726115 1726120 - Identifier 1726115 1726120 - Parameter 1726121 1726142 - Identifier 1726121 1726130 - TypeReference 1726131 1726142 - Identifier 1726131 1726142 - Parameter 1726143 1726161 - Identifier 1726143 1726149 - TypeReference 1726150 1726161 - Identifier 1726150 1726161 - Parameter 1726162 1726182 - Identifier 1726162 1726173 - BooleanKeyword 1726174 1726182 - TypeReference 1726184 1726189 - Identifier 1726184 1726189 - Block 1726189 1728186 - IfStatement 1726191 1726283 - BinaryExpression 1726209 1726235 - PropertyAccessExpression 1726209 1726219 - Identifier 1726209 1726213 - Identifier 1726214 1726219 - AmpersandToken 1726219 1726221 - PropertyAccessExpression 1726221 1726235 - Identifier 1726221 1726231 - Identifier 1726232 1726235 - Block 1726236 1726283 - ReturnStatement 1726238 1726268 - Identifier 1726262 1726267 - IfStatement 1726283 1726464 - BinaryExpression 1726301 1726403 - BinaryExpression 1726301 1726347 - Identifier 1726301 1726309 - EqualsEqualsEqualsToken 1726309 1726313 - PropertyAccessExpression 1726313 1726347 - Identifier 1726313 1726324 - Identifier 1726325 1726347 - BarBarToken 1726347 1726350 - BinaryExpression 1726350 1726403 - Identifier 1726350 1726359 - EqualsEqualsEqualsToken 1726359 1726363 - PropertyAccessExpression 1726363 1726403 - Identifier 1726363 1726374 - Identifier 1726375 1726403 - Block 1726404 1726464 - ExpressionStatement 1726406 1726449 - BinaryExpression 1726406 1726448 - Identifier 1726406 1726434 - EqualsToken 1726434 1726436 - PrefixUnaryExpression 1726436 1726448 - Identifier 1726438 1726448 - VariableStatement 1726464 1726523 - VariableDeclarationList 1726464 1726522 - VariableDeclaration 1726483 1726522 - Identifier 1726483 1726493 - CallExpression 1726495 1726522 - Identifier 1726495 1726515 - Identifier 1726516 1726521 - VariableStatement 1726523 1726650 - VariableDeclarationList 1726523 1726649 - VariableDeclaration 1726542 1726649 - Identifier 1726542 1726555 - BinaryExpression 1726557 1726649 - BinaryExpression 1726557 1726599 - Identifier 1726557 1726566 - EqualsEqualsEqualsToken 1726566 1726570 - PropertyAccessExpression 1726570 1726599 - Identifier 1726570 1726581 - Identifier 1726582 1726599 - BarBarToken 1726599 1726602 - BinaryExpression 1726602 1726649 - Identifier 1726602 1726611 - EqualsEqualsEqualsToken 1726611 1726615 - PropertyAccessExpression 1726615 1726649 - Identifier 1726615 1726626 - Identifier 1726627 1726649 - IfStatement 1726650 1727229 - BinaryExpression 1726668 1726704 - PropertyAccessExpression 1726668 1726683 - Identifier 1726668 1726677 - Identifier 1726678 1726683 - AmpersandToken 1726683 1726685 - PropertyAccessExpression 1726685 1726704 - Identifier 1726685 1726695 - Identifier 1726696 1726704 - Block 1726705 1727229 - IfStatement 1726707 1726802 - PrefixUnaryExpression 1726729 1726746 - Identifier 1726730 1726746 - Block 1726747 1726802 - ReturnStatement 1726749 1726783 - Identifier 1726777 1726782 - VariableStatement 1726802 1727151 - VariableDeclarationList 1726802 1727150 - VariableDeclaration 1726825 1727150 - Identifier 1726825 1726831 - ConditionalExpression 1726833 1727150 - Identifier 1726833 1726846 - QuestionToken 1726846 1726848 - ConditionalExpression 1726848 1726940 - Identifier 1726848 1726880 - QuestionToken 1726880 1726882 - PropertyAccessExpression 1726882 1726910 - Identifier 1726882 1726892 - Identifier 1726893 1726910 - ColonToken 1726910 1726912 - PropertyAccessExpression 1726912 1726940 - Identifier 1726912 1726922 - Identifier 1726923 1726940 - ColonToken 1726940 1726942 - ConditionalExpression 1726942 1727150 - BinaryExpression 1726942 1726996 - PropertyAccessExpression 1726942 1726979 - Identifier 1726942 1726973 - Identifier 1726974 1726979 - AmpersandToken 1726979 1726981 - PropertyAccessExpression 1726981 1726996 - Identifier 1726981 1726991 - Identifier 1726992 1726996 - QuestionToken 1726996 1726998 - ConditionalExpression 1726998 1727068 - Identifier 1726998 1727030 - QuestionToken 1727030 1727032 - PropertyAccessExpression 1727032 1727049 - Identifier 1727032 1727042 - Identifier 1727043 1727049 - ColonToken 1727049 1727051 - PropertyAccessExpression 1727051 1727068 - Identifier 1727051 1727061 - Identifier 1727062 1727068 - ColonToken 1727068 1727070 - ConditionalExpression 1727070 1727150 - Identifier 1727070 1727102 - QuestionToken 1727102 1727104 - PropertyAccessExpression 1727104 1727126 - Identifier 1727104 1727114 - Identifier 1727115 1727126 - ColonToken 1727126 1727128 - PropertyAccessExpression 1727128 1727150 - Identifier 1727128 1727138 - Identifier 1727139 1727150 - ReturnStatement 1727151 1727214 - CallExpression 1727175 1727213 - Identifier 1727175 1727200 - Identifier 1727201 1727205 - Identifier 1727206 1727212 - IfStatement 1727229 1727987 - Identifier 1727247 1727257 - Block 1727258 1727987 - IfStatement 1727260 1727735 - BinaryExpression 1727282 1727377 - PrefixUnaryExpression 1727282 1727295 - Identifier 1727283 1727295 - AmpersandAmpersandToken 1727295 1727298 - ParenthesizedExpression 1727298 1727377 - BinaryExpression 1727300 1727376 - BinaryExpression 1727300 1727330 - PropertyAccessExpression 1727300 1727310 - Identifier 1727300 1727304 - Identifier 1727305 1727310 - AmpersandToken 1727310 1727312 - PropertyAccessExpression 1727312 1727330 - Identifier 1727312 1727322 - Identifier 1727323 1727330 - BarBarToken 1727330 1727333 - CallExpression 1727333 1727376 - Identifier 1727333 1727342 - Identifier 1727343 1727347 - Identifier 1727348 1727375 - Block 1727378 1727735 - IfStatement 1727380 1727580 - BinaryExpression 1727406 1727511 - BinaryExpression 1727406 1727470 - PropertyAccessExpression 1727406 1727421 - Identifier 1727406 1727415 - Identifier 1727416 1727421 - AmpersandToken 1727421 1727423 - ParenthesizedExpression 1727423 1727470 - BinaryExpression 1727425 1727469 - PropertyAccessExpression 1727425 1727444 - Identifier 1727425 1727434 - Identifier 1727435 1727444 - BarToken 1727444 1727446 - PropertyAccessExpression 1727446 1727469 - Identifier 1727446 1727456 - Identifier 1727457 1727469 - BarBarToken 1727470 1727473 - CallExpression 1727473 1727511 - Identifier 1727473 1727500 - Identifier 1727501 1727510 - Block 1727512 1727580 - ReturnStatement 1727514 1727557 - Identifier 1727546 1727556 - IfStatement 1727580 1727716 - BinaryExpression 1727606 1727640 - PropertyAccessExpression 1727606 1727621 - Identifier 1727606 1727615 - Identifier 1727616 1727621 - AmpersandToken 1727621 1727623 - PropertyAccessExpression 1727623 1727640 - Identifier 1727623 1727633 - Identifier 1727634 1727640 - Block 1727641 1727716 - ReturnStatement 1727643 1727693 - Identifier 1727675 1727692 - VariableStatement 1727735 1727892 - VariableDeclarationList 1727735 1727891 - VariableDeclaration 1727758 1727891 - Identifier 1727758 1727771 - CallExpression 1727773 1727891 - Identifier 1727773 1727784 - Identifier 1727785 1727789 - ArrowFunction 1727790 1727890 - Parameter 1727790 1727792 - Identifier 1727790 1727792 - EqualsGreaterThanToken 1727792 1727795 - BinaryExpression 1727795 1727890 - CallExpression 1727795 1727828 - Identifier 1727795 1727814 - Identifier 1727815 1727816 - Identifier 1727817 1727827 - BarBarToken 1727828 1727831 - BinaryExpression 1727831 1727890 - Identifier 1727831 1727844 - AmpersandAmpersandToken 1727844 1727847 - CallExpression 1727847 1727890 - Identifier 1727847 1727876 - Identifier 1727877 1727878 - Identifier 1727879 1727889 - ReturnStatement 1727892 1727972 - CallExpression 1727916 1727971 - Identifier 1727916 1727946 - Identifier 1727947 1727959 - Identifier 1727960 1727970 - IfStatement 1727987 1728149 - CallExpression 1728005 1728026 - Identifier 1728005 1728015 - Identifier 1728016 1728025 - Block 1728027 1728149 - ReturnStatement 1728029 1728134 - CallExpression 1728053 1728133 - Identifier 1728053 1728064 - Identifier 1728065 1728069 - ArrowFunction 1728070 1728132 - Parameter 1728070 1728072 - Identifier 1728070 1728072 - EqualsGreaterThanToken 1728072 1728075 - PrefixUnaryExpression 1728075 1728132 - ParenthesizedExpression 1728077 1728132 - BinaryExpression 1728078 1728131 - CallExpression 1728078 1728095 - Identifier 1728078 1728092 - Identifier 1728093 1728094 - AmpersandAmpersandToken 1728095 1728098 - CallExpression 1728098 1728131 - Identifier 1728098 1728117 - Identifier 1728118 1728119 - Identifier 1728120 1728130 - ReturnStatement 1728149 1728175 - Identifier 1728169 1728174 - FunctionDeclaration 1728186 1729431 - Identifier 1728206 1728225 - Parameter 1728226 1728236 - Identifier 1728226 1728230 - TypeReference 1728231 1728236 - Identifier 1728231 1728236 - Parameter 1728237 1728266 - Identifier 1728237 1728248 - TypeReference 1728249 1728266 - Identifier 1728249 1728266 - Parameter 1728267 1728288 - Identifier 1728267 1728276 - TypeReference 1728277 1728288 - Identifier 1728277 1728288 - Parameter 1728289 1728316 - Identifier 1728289 1728297 - TypeReference 1728298 1728316 - Identifier 1728298 1728316 - Parameter 1728317 1728337 - Identifier 1728317 1728328 - BooleanKeyword 1728329 1728337 - TypeReference 1728339 1728344 - Identifier 1728339 1728344 - Block 1728344 1729431 - IfStatement 1728346 1728633 - BinaryExpression 1728470 1728572 - BinaryExpression 1728470 1728516 - Identifier 1728470 1728478 - EqualsEqualsEqualsToken 1728478 1728482 - PropertyAccessExpression 1728482 1728516 - Identifier 1728482 1728493 - Identifier 1728494 1728516 - BarBarToken 1728516 1728519 - BinaryExpression 1728519 1728572 - Identifier 1728519 1728528 - EqualsEqualsEqualsToken 1728528 1728532 - PropertyAccessExpression 1728532 1728572 - Identifier 1728532 1728543 - Identifier 1728544 1728572 - Block 1728573 1728633 - ExpressionStatement 1728575 1728618 - BinaryExpression 1728575 1728617 - Identifier 1728575 1728603 - EqualsToken 1728603 1728605 - PrefixUnaryExpression 1728605 1728617 - Identifier 1728607 1728617 - VariableStatement 1728633 1728707 - VariableDeclarationList 1728633 1728706 - VariableDeclaration 1728652 1728706 - Identifier 1728652 1728659 - CallExpression 1728661 1728706 - Identifier 1728661 1728683 - PropertyAccessExpression 1728684 1728705 - Identifier 1728684 1728694 - Identifier 1728695 1728705 - IfStatement 1728707 1729342 - PrefixUnaryExpression 1728725 1728764 - CallExpression 1728726 1728764 - Identifier 1728726 1728745 - Identifier 1728746 1728755 - Identifier 1728756 1728763 - Block 1728765 1729342 - IfStatement 1728767 1729018 - BinaryExpression 1728789 1728907 - BinaryExpression 1728789 1728858 - Identifier 1728789 1728805 - AmpersandAmpersandToken 1728805 1728808 - CallExpression 1728808 1728858 - Identifier 1728808 1728839 - Identifier 1728840 1728846 - Identifier 1728847 1728857 - AmpersandAmpersandToken 1728858 1728861 - BinaryExpression 1728861 1728907 - Identifier 1728861 1728872 - EqualsEqualsEqualsToken 1728872 1728876 - ParenthesizedExpression 1728876 1728907 - BinaryExpression 1728878 1728906 - PropertyAccessExpression 1728878 1728890 - Identifier 1728878 1728885 - Identifier 1728886 1728890 - ExclamationEqualsEqualsToken 1728890 1728894 - StringLiteral 1728894 1728906 - Block 1728908 1729018 - ExpressionStatement 1728910 1728999 - BinaryExpression 1728910 1728998 - Identifier 1728910 1728936 - EqualsToken 1728936 1728938 - CallExpression 1728938 1728998 - Identifier 1728938 1728963 - Identifier 1728964 1728968 - PropertyAccessExpression 1728969 1728997 - Identifier 1728969 1728979 - Identifier 1728980 1728997 - VariableStatement 1729018 1729103 - VariableDeclarationList 1729018 1729102 - VariableDeclaration 1729041 1729102 - Identifier 1729041 1729056 - CallExpression 1729058 1729102 - Identifier 1729058 1729088 - Identifier 1729089 1729095 - Identifier 1729096 1729101 - IfStatement 1729103 1729297 - Identifier 1729125 1729139 - Block 1729140 1729297 - ReturnStatement 1729142 1729278 - CallExpression 1729170 1729277 - Identifier 1729170 1729195 - Identifier 1729196 1729200 - Identifier 1729201 1729216 - ArrowFunction 1729217 1729276 - Parameter 1729217 1729219 - Identifier 1729217 1729219 - EqualsGreaterThanToken 1729219 1729222 - CallExpression 1729222 1729276 - Identifier 1729222 1729252 - Identifier 1729253 1729254 - Identifier 1729255 1729263 - Identifier 1729264 1729275 - ReturnStatement 1729297 1729327 - Identifier 1729321 1729326 - ReturnStatement 1729342 1729420 - CallExpression 1729362 1729419 - Identifier 1729362 1729392 - Identifier 1729393 1729397 - Identifier 1729398 1729406 - Identifier 1729407 1729418 - FunctionDeclaration 1729431 1729762 - Identifier 1729451 1729481 - Parameter 1729482 1729492 - Identifier 1729482 1729486 - TypeReference 1729487 1729492 - Identifier 1729487 1729492 - Parameter 1729493 1729520 - Identifier 1729493 1729501 - TypeReference 1729502 1729520 - Identifier 1729502 1729520 - Parameter 1729521 1729541 - Identifier 1729521 1729532 - BooleanKeyword 1729533 1729541 - Block 1729542 1729762 - ReturnStatement 1729544 1729751 - ConditionalExpression 1729564 1729750 - Identifier 1729564 1729575 - QuestionToken 1729575 1729577 - CallExpression 1729577 1729635 - Identifier 1729577 1729615 - Identifier 1729616 1729620 - PropertyAccessExpression 1729621 1729634 - Identifier 1729621 1729629 - Identifier 1729630 1729634 - ColonToken 1729635 1729637 - CallExpression 1729637 1729750 - Identifier 1729637 1729679 - Identifier 1729680 1729684 - BinaryExpression 1729685 1729749 - CallExpression 1729685 1729717 - PropertyAccessExpression 1729685 1729703 - Identifier 1729685 1729699 - Identifier 1729700 1729703 - PropertyAccessExpression 1729704 1729716 - Identifier 1729704 1729711 - Identifier 1729712 1729716 - BarBarToken 1729717 1729720 - PropertyAccessExpression 1729720 1729749 - Identifier 1729720 1729730 - Identifier 1729731 1729749 - FunctionDeclaration 1729762 1730212 - Identifier 1729782 1729825 - Parameter 1729826 1729836 - Identifier 1729826 1729830 - TypeReference 1729831 1729836 - Identifier 1729831 1729836 - Parameter 1729837 1729903 - ObjectBindingPattern 1729837 1729881 - BindingElement 1729839 1729855 - Identifier 1729839 1729855 - BindingElement 1729856 1729868 - Identifier 1729856 1729868 - BindingElement 1729869 1729879 - Identifier 1729869 1729879 - TypeReference 1729882 1729903 - Identifier 1729882 1729903 - Parameter 1729904 1729941 - Identifier 1729904 1729916 - FunctionType 1729917 1729941 - Parameter 1729919 1729929 - Identifier 1729919 1729923 - TypeReference 1729924 1729929 - Identifier 1729924 1729929 - BooleanKeyword 1729933 1729941 - Block 1729942 1730212 - VariableStatement 1729944 1730101 - VariableDeclarationList 1729944 1730100 - VariableDeclaration 1729963 1730100 - Identifier 1729963 1729981 - BinaryExpression 1729983 1730100 - BinaryExpression 1729983 1730009 - Identifier 1729983 1729995 - ExclamationEqualsEqualsToken 1729995 1729999 - Identifier 1729999 1730009 - AmpersandAmpersandToken 1730009 1730012 - CallExpression 1730012 1730100 - Identifier 1730012 1730018 - CallExpression 1730019 1730086 - PropertyAccessExpression 1730019 1730062 - CallExpression 1730019 1730056 - Identifier 1730019 1730039 - Identifier 1730040 1730055 - Identifier 1730057 1730062 - Identifier 1730063 1730074 - Identifier 1730075 1730085 - Identifier 1730087 1730099 - ReturnStatement 1730101 1730201 - ConditionalExpression 1730121 1730200 - Identifier 1730121 1730139 - QuestionToken 1730139 1730141 - CallExpression 1730141 1730193 - Identifier 1730141 1730158 - Identifier 1730159 1730163 - PropertyAccessExpression 1730164 1730192 - Identifier 1730164 1730174 - Identifier 1730175 1730192 - ColonToken 1730193 1730195 - Identifier 1730195 1730200 - FunctionDeclaration 1730212 1732676 - Identifier 1730232 1730265 - Parameter 1730266 1730276 - Identifier 1730266 1730270 - TypeReference 1730271 1730276 - Identifier 1730271 1730276 - Parameter 1730277 1730343 - ObjectBindingPattern 1730277 1730321 - BindingElement 1730279 1730295 - Identifier 1730279 1730295 - BindingElement 1730296 1730308 - Identifier 1730296 1730308 - BindingElement 1730309 1730319 - Identifier 1730309 1730319 - TypeReference 1730322 1730343 - Identifier 1730322 1730343 - Block 1730344 1732676 - VariableStatement 1730346 1730682 - VariableDeclarationList 1730346 1730681 - VariableDeclaration 1730629 1730681 - Identifier 1730629 1730641 - CallExpression 1730643 1730681 - Identifier 1730643 1730664 - Identifier 1730665 1730680 - IfStatement 1730682 1730767 - PrefixUnaryExpression 1730700 1730719 - PropertyAccessExpression 1730701 1730719 - Identifier 1730701 1730712 - Identifier 1730713 1730719 - Block 1730720 1730767 - ReturnStatement 1730722 1730752 - Identifier 1730746 1730751 - VariableStatement 1730767 1730843 - VariableDeclarationList 1730767 1730842 - VariableDeclaration 1730786 1730842 - Identifier 1730786 1730798 - CallExpression 1730800 1730842 - PropertyAccessExpression 1730800 1730818 - Identifier 1730800 1730812 - Identifier 1730813 1730818 - Identifier 1730819 1730830 - Identifier 1730831 1730841 - VariableStatement 1730843 1730944 - VariableDeclarationList 1730843 1730943 - VariableDeclaration 1730862 1730943 - Identifier 1730862 1730879 - BinaryExpression 1730881 1730943 - BinaryExpression 1730881 1730907 - Identifier 1730881 1730893 - EqualsEqualsEqualsToken 1730893 1730897 - Identifier 1730897 1730907 - BarBarToken 1730907 1730910 - CallExpression 1730910 1730943 - Identifier 1730910 1730919 - Identifier 1730920 1730931 - Identifier 1730932 1730942 - IfStatement 1730944 1731990 - BinaryExpression 1730962 1731015 - ParenthesizedExpression 1730962 1730994 - BinaryExpression 1730963 1730993 - PropertyAccessExpression 1730963 1730973 - Identifier 1730963 1730967 - Identifier 1730968 1730973 - AmpersandToken 1730973 1730975 - PropertyAccessExpression 1730975 1730993 - Identifier 1730975 1730985 - Identifier 1730986 1730993 - AmpersandAmpersandToken 1730994 1730997 - PrefixUnaryExpression 1730997 1731015 - Identifier 1730999 1731015 - Block 1731016 1731990 - VariableStatement 1731018 1731078 - VariableDeclarationList 1731018 1731077 - VariableDeclaration 1731039 1731077 - Identifier 1731039 1731057 - UnionType 1731058 1731077 - ArrayType 1731058 1731065 - TypeReference 1731058 1731063 - Identifier 1731058 1731063 - UndefinedKeyword 1731067 1731077 - ForStatement 1731078 1731870 - VariableDeclarationList 1731101 1731110 - VariableDeclaration 1731104 1731110 - Identifier 1731104 1731106 - NumericLiteral 1731108 1731110 - BinaryExpression 1731111 1731134 - Identifier 1731111 1731113 - LessThanToken 1731113 1731115 - PropertyAccessExpression 1731115 1731134 - Identifier 1731115 1731127 - Identifier 1731128 1731134 - BinaryExpression 1731135 1731142 - Identifier 1731135 1731137 - PlusEqualsToken 1731137 1731140 - NumericLiteral 1731140 1731142 - Block 1731143 1731870 - VariableStatement 1731145 1731192 - VariableDeclarationList 1731145 1731191 - VariableDeclaration 1731172 1731191 - Identifier 1731172 1731174 - ElementAccessExpression 1731176 1731191 - Identifier 1731176 1731188 - Identifier 1731189 1731190 - IfStatement 1731192 1731851 - BinaryExpression 1731218 1731274 - PropertyAccessExpression 1731218 1731225 - Identifier 1731218 1731219 - Identifier 1731220 1731225 - AmpersandToken 1731225 1731227 - ParenthesizedExpression 1731227 1731274 - BinaryExpression 1731229 1731273 - PropertyAccessExpression 1731229 1731248 - Identifier 1731229 1731238 - Identifier 1731239 1731248 - BarToken 1731248 1731250 - PropertyAccessExpression 1731250 1731273 - Identifier 1731250 1731260 - Identifier 1731261 1731273 - Block 1731275 1731447 - IfStatement 1731277 1731424 - BinaryExpression 1731307 1731338 - Identifier 1731307 1731324 - ExclamationEqualsEqualsToken 1731324 1731328 - Identifier 1731328 1731338 - Block 1731339 1731424 - ExpressionStatement 1731341 1731397 - CallExpression 1731341 1731396 - PropertyAccessExpression 1731341 1731393 - Identifier 1731341 1731388 - Identifier 1731389 1731393 - Identifier 1731394 1731395 - IfStatement 1731473 1731851 - BinaryExpression 1731478 1731504 - PropertyAccessExpression 1731478 1731485 - Identifier 1731478 1731479 - Identifier 1731480 1731485 - AmpersandToken 1731485 1731487 - PropertyAccessExpression 1731487 1731504 - Identifier 1731487 1731497 - Identifier 1731498 1731504 - Block 1731505 1731762 - IfStatement 1731507 1731672 - BinaryExpression 1731537 1731568 - Identifier 1731537 1731554 - EqualsEqualsEqualsToken 1731554 1731558 - Identifier 1731558 1731568 - Block 1731569 1731672 - ExpressionStatement 1731571 1731645 - BinaryExpression 1731571 1731644 - Identifier 1731571 1731618 - EqualsToken 1731618 1731620 - CallExpression 1731620 1731644 - PropertyAccessExpression 1731620 1731638 - Identifier 1731620 1731632 - Identifier 1731633 1731638 - NumericLiteral 1731639 1731640 - Identifier 1731641 1731643 - ExpressionStatement 1731672 1731739 - CallExpression 1731672 1731738 - PropertyAccessExpression 1731672 1731720 - Identifier 1731672 1731715 - Identifier 1731716 1731720 - Identifier 1731721 1731737 - Block 1731788 1731851 - ReturnStatement 1731790 1731828 - Identifier 1731822 1731827 - ReturnStatement 1731870 1731975 - CallExpression 1731894 1731974 - Identifier 1731894 1731907 - ConditionalExpression 1731908 1731973 - BinaryExpression 1731908 1731939 - Identifier 1731908 1731925 - EqualsEqualsEqualsToken 1731925 1731929 - Identifier 1731929 1731939 - QuestionToken 1731939 1731941 - Identifier 1731941 1731953 - ColonToken 1731953 1731955 - Identifier 1731955 1731973 - VariableStatement 1731990 1732055 - VariableDeclarationList 1731990 1732054 - VariableDeclaration 1732009 1732054 - Identifier 1732009 1732026 - CallExpression 1732028 1732054 - Identifier 1732028 1732041 - Identifier 1732042 1732053 - VariableStatement 1732055 1732270 - VariableDeclarationList 1732055 1732269 - VariableDeclaration 1732074 1732269 - Identifier 1732074 1732083 - ConditionalExpression 1732085 1732269 - BinaryExpression 1732085 1732126 - PropertyAccessExpression 1732085 1732108 - Identifier 1732085 1732102 - Identifier 1732103 1732108 - AmpersandToken 1732108 1732110 - PropertyAccessExpression 1732110 1732126 - Identifier 1732110 1732120 - Identifier 1732121 1732126 - QuestionToken 1732126 1732128 - Identifier 1732128 1732138 - ColonToken 1732138 1732140 - CallExpression 1732140 1732269 - Identifier 1732140 1732187 - CallExpression 1732188 1732250 - Identifier 1732188 1732198 - Identifier 1732199 1732203 - ArrowFunction 1732204 1732249 - Parameter 1732204 1732206 - Identifier 1732204 1732206 - EqualsGreaterThanToken 1732206 1732209 - CallExpression 1732209 1732249 - Identifier 1732209 1732228 - Identifier 1732229 1732245 - Identifier 1732246 1732248 - Identifier 1732251 1732268 - IfStatement 1732270 1732357 - PrefixUnaryExpression 1732288 1732305 - Identifier 1732289 1732305 - Block 1732306 1732357 - ReturnStatement 1732308 1732342 - Identifier 1732332 1732341 - VariableStatement 1732357 1732557 - VariableDeclarationList 1732357 1732556 - VariableDeclaration 1732376 1732556 - Identifier 1732376 1732388 - CallExpression 1732390 1732556 - Identifier 1732390 1732401 - Identifier 1732402 1732406 - ArrowFunction 1732407 1732555 - Parameter 1732407 1732409 - Identifier 1732407 1732409 - EqualsGreaterThanToken 1732409 1732412 - PrefixUnaryExpression 1732412 1732555 - ParenthesizedExpression 1732414 1732555 - BinaryExpression 1732415 1732554 - CallExpression 1732415 1732432 - Identifier 1732415 1732429 - Identifier 1732430 1732431 - AmpersandAmpersandToken 1732432 1732435 - CallExpression 1732435 1732554 - Identifier 1732435 1732444 - Identifier 1732445 1732456 - ConditionalExpression 1732457 1732553 - BinaryExpression 1732457 1732487 - PropertyAccessExpression 1732457 1732465 - Identifier 1732457 1732459 - Identifier 1732460 1732465 - AmpersandToken 1732465 1732467 - PropertyAccessExpression 1732467 1732487 - Identifier 1732467 1732477 - Identifier 1732478 1732487 - QuestionToken 1732487 1732489 - Identifier 1732489 1732503 - ColonToken 1732503 1732505 - CallExpression 1732505 1732553 - Identifier 1732505 1732533 - CallExpression 1732534 1732552 - Identifier 1732534 1732549 - Identifier 1732550 1732551 - ReturnStatement 1732557 1732665 - ConditionalExpression 1732577 1732664 - BinaryExpression 1732577 1732610 - PropertyAccessExpression 1732577 1732592 - Identifier 1732577 1732586 - Identifier 1732587 1732592 - AmpersandToken 1732592 1732594 - PropertyAccessExpression 1732594 1732610 - Identifier 1732594 1732604 - Identifier 1732605 1732610 - QuestionToken 1732610 1732612 - Identifier 1732612 1732624 - ColonToken 1732624 1732626 - CallExpression 1732626 1732664 - Identifier 1732626 1732639 - ArrayLiteralExpression 1732640 1732663 - Identifier 1732641 1732649 - Identifier 1732650 1732662 - FunctionDeclaration 1732676 1734092 - Identifier 1732696 1732717 - Parameter 1732718 1732728 - Identifier 1732718 1732722 - TypeReference 1732723 1732728 - Identifier 1732723 1732728 - Parameter 1732729 1732746 - Identifier 1732729 1732738 - StringKeyword 1732739 1732746 - Block 1732747 1734092 - SwitchStatement 1732749 1733984 - Identifier 1732771 1732779 - CaseBlock 1732780 1733984 - CaseClause 1732782 1732909 - StringLiteral 1732804 1732813 - ReturnStatement 1732814 1732909 - CallExpression 1732842 1732908 - Identifier 1732842 1732864 - Identifier 1732865 1732869 - Identifier 1732870 1732881 - PropertyAccessExpression 1732882 1732907 - Identifier 1732882 1732892 - Identifier 1732893 1732907 - CaseClause 1732909 1733036 - StringLiteral 1732931 1732940 - ReturnStatement 1732941 1733036 - CallExpression 1732969 1733035 - Identifier 1732969 1732991 - Identifier 1732992 1732996 - Identifier 1732997 1733008 - PropertyAccessExpression 1733009 1733034 - Identifier 1733009 1733019 - Identifier 1733020 1733034 - CaseClause 1733036 1733163 - StringLiteral 1733058 1733067 - ReturnStatement 1733068 1733163 - CallExpression 1733096 1733162 - Identifier 1733096 1733118 - Identifier 1733119 1733123 - Identifier 1733124 1733135 - PropertyAccessExpression 1733136 1733161 - Identifier 1733136 1733146 - Identifier 1733147 1733161 - CaseClause 1733163 1733293 - StringLiteral 1733185 1733195 - ReturnStatement 1733196 1733293 - CallExpression 1733224 1733292 - Identifier 1733224 1733246 - Identifier 1733247 1733251 - Identifier 1733252 1733264 - PropertyAccessExpression 1733265 1733291 - Identifier 1733265 1733275 - Identifier 1733276 1733291 - CaseClause 1733293 1733422 - StringLiteral 1733315 1733324 - ReturnStatement 1733325 1733422 - CallExpression 1733353 1733421 - Identifier 1733353 1733375 - Identifier 1733376 1733380 - Identifier 1733381 1733394 - PropertyAccessExpression 1733395 1733420 - Identifier 1733395 1733405 - Identifier 1733406 1733420 - CaseClause 1733422 1733664 - StringLiteral 1733444 1733453 - ReturnStatement 1733454 1733664 - ConditionalExpression 1733482 1733663 - BinaryExpression 1733482 1733509 - PropertyAccessExpression 1733482 1733493 - Identifier 1733482 1733487 - Identifier 1733488 1733493 - AmpersandToken 1733493 1733495 - PropertyAccessExpression 1733495 1733509 - Identifier 1733495 1733505 - Identifier 1733506 1733509 - QuestionToken 1733509 1733511 - Identifier 1733511 1733516 - ColonToken 1733516 1733518 - CallExpression 1733518 1733663 - Identifier 1733518 1733531 - ArrayLiteralExpression 1733532 1733662 - CallExpression 1733533 1733604 - Identifier 1733533 1733554 - Identifier 1733555 1733559 - Identifier 1733560 1733577 - PropertyAccessExpression 1733578 1733603 - Identifier 1733578 1733588 - Identifier 1733589 1733603 - CallExpression 1733605 1733661 - Identifier 1733605 1733627 - Identifier 1733628 1733632 - Identifier 1733633 1733642 - PropertyAccessExpression 1733643 1733660 - Identifier 1733643 1733653 - Identifier 1733654 1733660 - CaseClause 1733664 1733839 - StringLiteral 1733686 1733697 - ReturnStatement 1733698 1733839 - ConditionalExpression 1733726 1733838 - BinaryExpression 1733726 1733753 - PropertyAccessExpression 1733726 1733737 - Identifier 1733726 1733731 - Identifier 1733732 1733737 - AmpersandToken 1733737 1733739 - PropertyAccessExpression 1733739 1733753 - Identifier 1733739 1733749 - Identifier 1733750 1733753 - QuestionToken 1733753 1733755 - Identifier 1733755 1733760 - ColonToken 1733760 1733762 - CallExpression 1733762 1733838 - Identifier 1733762 1733784 - Identifier 1733785 1733789 - Identifier 1733790 1733809 - PropertyAccessExpression 1733810 1733837 - Identifier 1733810 1733820 - Identifier 1733821 1733837 - CaseClause 1733839 1733969 - StringLiteral 1733861 1733873 - ReturnStatement 1733874 1733969 - CallExpression 1733902 1733968 - Identifier 1733902 1733924 - Identifier 1733925 1733929 - Identifier 1733930 1733944 - PropertyAccessExpression 1733945 1733967 - Identifier 1733945 1733955 - Identifier 1733956 1733967 - ReturnStatement 1733984 1734081 - CallExpression 1734004 1734080 - Identifier 1734004 1734026 - Identifier 1734027 1734031 - Identifier 1734032 1734049 - PropertyAccessExpression 1734050 1734079 - Identifier 1734050 1734060 - Identifier 1734061 1734079 - FunctionDeclaration 1734092 1735591 - Identifier 1734112 1734134 - Parameter 1734135 1734145 - Identifier 1734135 1734139 - TypeReference 1734140 1734145 - Identifier 1734140 1734145 - Parameter 1734146 1734164 - Identifier 1734146 1734158 - TypeReference 1734159 1734164 - Identifier 1734159 1734164 - Parameter 1734165 1734182 - Identifier 1734165 1734171 - TypeReference 1734172 1734182 - Identifier 1734172 1734182 - Block 1734183 1735591 - ReturnStatement 1734185 1735580 - CallExpression 1734205 1735579 - Identifier 1734205 1734213 - Identifier 1734214 1734218 - ArrowFunction 1734219 1735578 - Parameter 1734219 1734221 - Identifier 1734219 1734221 - EqualsGreaterThanToken 1734221 1734224 - ConditionalExpression 1734224 1735578 - CallExpression 1734224 1734740 - Identifier 1734224 1734701 - Identifier 1734702 1734703 - Identifier 1734704 1734716 - Identifier 1734717 1734739 - QuestionToken 1734740 1734742 - ConditionalExpression 1734742 1734781 - CallExpression 1734742 1734765 - Identifier 1734742 1734755 - Identifier 1734756 1734757 - Identifier 1734758 1734764 - QuestionToken 1734765 1734767 - Identifier 1734767 1734769 - ColonToken 1734769 1734771 - Identifier 1734771 1734781 - ColonToken 1734781 1734783 - ConditionalExpression 1734783 1735578 - CallExpression 1734783 1735085 - Identifier 1734783 1735069 - Identifier 1735070 1735081 - Identifier 1735082 1735084 - QuestionToken 1735085 1735087 - Identifier 1735087 1735099 - ColonToken 1735099 1735101 - ConditionalExpression 1735101 1735578 - CallExpression 1735101 1735505 - Identifier 1735101 1735495 - Identifier 1735496 1735497 - Identifier 1735498 1735504 - QuestionToken 1735505 1735507 - CallExpression 1735507 1735545 - Identifier 1735507 1735527 - ArrayLiteralExpression 1735528 1735544 - Identifier 1735529 1735530 - Identifier 1735531 1735543 - ColonToken 1735545 1735547 - Identifier 1735547 1735578 - FunctionDeclaration 1735591 1736938 - Identifier 1735611 1735638 - Parameter 1735639 1735649 - Identifier 1735639 1735643 - TypeReference 1735644 1735649 - Identifier 1735644 1735649 - Parameter 1735650 1735716 - ObjectBindingPattern 1735650 1735694 - BindingElement 1735652 1735668 - Identifier 1735652 1735668 - BindingElement 1735669 1735681 - Identifier 1735669 1735681 - BindingElement 1735682 1735692 - Identifier 1735682 1735692 - TypeReference 1735695 1735716 - Identifier 1735695 1735716 - TypeReference 1735718 1735723 - Identifier 1735718 1735723 - Block 1735723 1736938 - VariableStatement 1735725 1735805 - VariableDeclarationList 1735725 1735804 - VariableDeclaration 1735744 1735804 - Identifier 1735744 1735754 - CallExpression 1735756 1735804 - Identifier 1735756 1735787 - Identifier 1735788 1735803 - IfStatement 1735805 1735881 - PrefixUnaryExpression 1735823 1735833 - Identifier 1735824 1735833 - Block 1735834 1735881 - ReturnStatement 1735836 1735866 - Identifier 1735860 1735865 - VariableStatement 1735881 1736120 - VariableDeclarationList 1735881 1736119 - VariableDeclaration 1736007 1736119 - Identifier 1736007 1736020 - CallExpression 1736022 1736119 - Identifier 1736022 1736032 - PropertyAccessExpression 1736033 1736066 - PropertyAccessExpression 1736033 1736058 - Identifier 1736033 1736048 - Identifier 1736049 1736058 - Identifier 1736059 1736066 - ArrowFunction 1736067 1736118 - Parameter 1736067 1736074 - Identifier 1736067 1736074 - EqualsGreaterThanToken 1736074 1736077 - BinaryExpression 1736077 1736118 - PropertyAccessExpression 1736077 1736089 - Identifier 1736077 1736084 - Identifier 1736085 1736089 - EqualsEqualsEqualsToken 1736089 1736093 - PropertyAccessExpression 1736093 1736118 - Identifier 1736093 1736104 - Identifier 1736105 1736118 - VariableStatement 1736120 1736246 - VariableDeclarationList 1736120 1736245 - VariableDeclaration 1736139 1736245 - Identifier 1736139 1736156 - BinaryExpression 1736158 1736245 - BinaryExpression 1736158 1736184 - Identifier 1736158 1736170 - EqualsEqualsEqualsToken 1736170 1736174 - Identifier 1736174 1736184 - BarBarToken 1736184 1736187 - ParenthesizedExpression 1736187 1736245 - BinaryExpression 1736189 1736244 - BinaryExpression 1736189 1736216 - Identifier 1736189 1736201 - GreaterThanEqualsToken 1736201 1736204 - Identifier 1736204 1736216 - AmpersandAmpersandToken 1736216 1736219 - BinaryExpression 1736219 1736244 - Identifier 1736219 1736232 - LessThanToken 1736232 1736234 - Identifier 1736234 1736244 - IfStatement 1736246 1736623 - Identifier 1736264 1736280 - Block 1736281 1736623 - VariableStatement 1736283 1736511 - VariableDeclarationList 1736283 1736510 - VariableDeclaration 1736426 1736510 - Identifier 1736426 1736440 - CallExpression 1736442 1736510 - Identifier 1736442 1736475 - Identifier 1736476 1736487 - Identifier 1736488 1736498 - Identifier 1736499 1736509 - ReturnStatement 1736511 1736608 - CallExpression 1736535 1736607 - Identifier 1736535 1736546 - Identifier 1736547 1736551 - ArrowFunction 1736552 1736606 - Parameter 1736552 1736554 - Identifier 1736552 1736554 - EqualsGreaterThanToken 1736554 1736557 - BinaryExpression 1736557 1736606 - CallExpression 1736557 1736588 - Identifier 1736557 1736570 - Identifier 1736571 1736572 - Identifier 1736573 1736587 - EqualsEqualsEqualsToken 1736588 1736592 - Identifier 1736592 1736606 - VariableStatement 1736623 1736810 - VariableDeclarationList 1736623 1736809 - VariableDeclaration 1736751 1736809 - Identifier 1736751 1736767 - CallExpression 1736769 1736809 - PropertyAccessExpression 1736769 1736785 - Identifier 1736769 1736779 - Identifier 1736780 1736785 - Identifier 1736786 1736797 - Identifier 1736798 1736808 - ReturnStatement 1736810 1736927 - CallExpression 1736830 1736926 - Identifier 1736830 1736843 - CallExpression 1736844 1736925 - Identifier 1736844 1736847 - Identifier 1736848 1736863 - ArrowFunction 1736864 1736924 - Parameter 1736864 1736869 - Identifier 1736864 1736869 - EqualsGreaterThanToken 1736869 1736872 - ConditionalExpression 1736872 1736924 - Identifier 1736872 1736877 - QuestionToken 1736877 1736879 - CallExpression 1736879 1736912 - Identifier 1736879 1736900 - Identifier 1736901 1736905 - Identifier 1736906 1736911 - ColonToken 1736912 1736914 - Identifier 1736914 1736924 - FunctionDeclaration 1736938 1738740 - Identifier 1736958 1736983 - Parameter 1736984 1736994 - Identifier 1736984 1736988 - TypeReference 1736989 1736994 - Identifier 1736989 1736994 - Parameter 1736995 1737061 - ObjectBindingPattern 1736995 1737039 - BindingElement 1736997 1737013 - Identifier 1736997 1737013 - BindingElement 1737014 1737026 - Identifier 1737014 1737026 - BindingElement 1737027 1737037 - Identifier 1737027 1737037 - TypeReference 1737040 1737061 - Identifier 1737040 1737061 - TypeReference 1737063 1737068 - Identifier 1737063 1737068 - Block 1737068 1738740 - VariableStatement 1737070 1737202 - VariableDeclarationList 1737070 1737201 - VariableDeclaration 1737089 1737201 - Identifier 1737089 1737102 - CallExpression 1737104 1737201 - Identifier 1737104 1737114 - PropertyAccessExpression 1737115 1737148 - PropertyAccessExpression 1737115 1737140 - Identifier 1737115 1737130 - Identifier 1737131 1737140 - Identifier 1737141 1737148 - ArrowFunction 1737149 1737200 - Parameter 1737149 1737156 - Identifier 1737149 1737156 - EqualsGreaterThanToken 1737156 1737159 - BinaryExpression 1737159 1737200 - PropertyAccessExpression 1737159 1737171 - Identifier 1737159 1737166 - Identifier 1737167 1737171 - EqualsEqualsEqualsToken 1737171 1737175 - PropertyAccessExpression 1737175 1737200 - Identifier 1737175 1737186 - Identifier 1737187 1737200 - VariableStatement 1737202 1737328 - VariableDeclarationList 1737202 1737327 - VariableDeclaration 1737221 1737327 - Identifier 1737221 1737238 - BinaryExpression 1737240 1737327 - BinaryExpression 1737240 1737266 - Identifier 1737240 1737252 - EqualsEqualsEqualsToken 1737252 1737256 - Identifier 1737256 1737266 - BarBarToken 1737266 1737269 - ParenthesizedExpression 1737269 1737327 - BinaryExpression 1737271 1737326 - BinaryExpression 1737271 1737298 - Identifier 1737271 1737283 - GreaterThanEqualsToken 1737283 1737286 - Identifier 1737286 1737298 - AmpersandAmpersandToken 1737298 1737301 - BinaryExpression 1737301 1737326 - Identifier 1737301 1737314 - LessThanToken 1737314 1737316 - Identifier 1737316 1737326 - ForStatement 1737328 1737721 - VariableDeclarationList 1737434 1737443 - VariableDeclaration 1737437 1737443 - Identifier 1737437 1737439 - NumericLiteral 1737441 1737443 - BinaryExpression 1737444 1737460 - Identifier 1737444 1737446 - LessThanToken 1737446 1737448 - Identifier 1737448 1737460 - PostfixUnaryExpression 1737461 1737465 - Identifier 1737461 1737463 - Block 1737466 1737721 - VariableStatement 1737468 1737538 - VariableDeclarationList 1737468 1737537 - VariableDeclaration 1737491 1737537 - Identifier 1737491 1737498 - ElementAccessExpression 1737500 1737537 - PropertyAccessExpression 1737500 1737534 - PropertyAccessExpression 1737500 1737526 - Identifier 1737500 1737516 - Identifier 1737517 1737526 - Identifier 1737527 1737534 - Identifier 1737535 1737536 - IfStatement 1737538 1737706 - BinaryExpression 1737560 1737597 - PropertyAccessExpression 1737560 1737571 - Identifier 1737560 1737566 - Identifier 1737567 1737571 - EqualsEqualsEqualsToken 1737571 1737575 - PropertyAccessExpression 1737575 1737597 - Identifier 1737575 1737586 - Identifier 1737587 1737597 - Block 1737598 1737706 - ExpressionStatement 1737600 1737687 - BinaryExpression 1737600 1737686 - Identifier 1737600 1737626 - EqualsToken 1737626 1737628 - CallExpression 1737628 1737686 - Identifier 1737628 1737639 - Identifier 1737640 1737644 - PropertyAccessExpression 1737645 1737663 - Identifier 1737645 1737652 - Identifier 1737653 1737663 - FalseKeyword 1737664 1737685 - IfStatement 1737721 1738405 - Identifier 1737974 1737990 - Block 1737991 1738405 - ForStatement 1737993 1738360 - VariableDeclarationList 1738016 1738033 - VariableDeclaration 1738019 1738033 - Identifier 1738019 1738021 - Identifier 1738023 1738033 - BinaryExpression 1738034 1738079 - Identifier 1738034 1738036 - LessThanToken 1738036 1738038 - PropertyAccessExpression 1738038 1738079 - PropertyAccessExpression 1738038 1738072 - PropertyAccessExpression 1738038 1738064 - Identifier 1738038 1738054 - Identifier 1738055 1738064 - Identifier 1738065 1738072 - Identifier 1738073 1738079 - PostfixUnaryExpression 1738080 1738084 - Identifier 1738080 1738082 - Block 1738085 1738360 - VariableStatement 1738087 1738161 - VariableDeclarationList 1738087 1738160 - VariableDeclaration 1738114 1738160 - Identifier 1738114 1738121 - ElementAccessExpression 1738123 1738160 - PropertyAccessExpression 1738123 1738157 - PropertyAccessExpression 1738123 1738149 - Identifier 1738123 1738139 - Identifier 1738140 1738149 - Identifier 1738150 1738157 - Identifier 1738158 1738159 - IfStatement 1738161 1738341 - BinaryExpression 1738187 1738224 - PropertyAccessExpression 1738187 1738198 - Identifier 1738187 1738193 - Identifier 1738194 1738198 - EqualsEqualsEqualsToken 1738198 1738202 - PropertyAccessExpression 1738202 1738224 - Identifier 1738202 1738213 - Identifier 1738214 1738224 - Block 1738225 1738341 - ExpressionStatement 1738227 1738318 - BinaryExpression 1738227 1738317 - Identifier 1738227 1738257 - EqualsToken 1738257 1738259 - CallExpression 1738259 1738317 - Identifier 1738259 1738270 - Identifier 1738271 1738275 - PropertyAccessExpression 1738276 1738294 - Identifier 1738276 1738283 - Identifier 1738284 1738294 - FalseKeyword 1738295 1738316 - ReturnStatement 1738360 1738390 - Identifier 1738384 1738389 - VariableStatement 1738405 1738561 - VariableDeclarationList 1738405 1738560 - VariableDeclaration 1738486 1738560 - Identifier 1738486 1738494 - CallExpression 1738496 1738560 - PropertyAccessExpression 1738496 1738536 - PropertyAccessExpression 1738496 1738530 - PropertyAccessExpression 1738496 1738522 - Identifier 1738496 1738512 - Identifier 1738513 1738522 - Identifier 1738523 1738530 - Identifier 1738531 1738536 - Identifier 1738537 1738548 - Identifier 1738549 1738559 - ReturnStatement 1738561 1738729 - CallExpression 1738581 1738728 - Identifier 1738581 1738594 - CallExpression 1738595 1738727 - Identifier 1738595 1738598 - Identifier 1738599 1738606 - ArrowFunction 1738607 1738726 - Parameter 1738607 1738614 - Identifier 1738607 1738614 - EqualsGreaterThanToken 1738614 1738617 - ConditionalExpression 1738617 1738726 - BinaryExpression 1738617 1738655 - PropertyAccessExpression 1738617 1738629 - Identifier 1738617 1738624 - Identifier 1738625 1738629 - EqualsEqualsEqualsToken 1738629 1738633 - PropertyAccessExpression 1738633 1738655 - Identifier 1738633 1738644 - Identifier 1738645 1738655 - QuestionToken 1738655 1738657 - CallExpression 1738657 1738714 - Identifier 1738657 1738668 - Identifier 1738669 1738673 - PropertyAccessExpression 1738674 1738692 - Identifier 1738674 1738681 - Identifier 1738682 1738692 - TrueKeyword 1738693 1738713 - ColonToken 1738714 1738716 - Identifier 1738716 1738726 - FunctionDeclaration 1738740 1739135 - Identifier 1738760 1738791 - Parameter 1738792 1738808 - Identifier 1738792 1738796 - TypeReference 1738797 1738808 - Identifier 1738797 1738808 - Block 1738809 1739135 - ReturnStatement 1738811 1739124 - BinaryExpression 1738831 1739123 - ParenthesizedExpression 1738831 1739055 - BinaryExpression 1738833 1739054 - BinaryExpression 1738833 1738904 - CallExpression 1738833 1738865 - Identifier 1738833 1738859 - Identifier 1738860 1738864 - AmpersandAmpersandToken 1738865 1738868 - BinaryExpression 1738868 1738904 - CallExpression 1738868 1738886 - Identifier 1738868 1738875 - PropertyAccessExpression 1738876 1738885 - Identifier 1738876 1738880 - Identifier 1738881 1738885 - EqualsEqualsEqualsToken 1738886 1738890 - StringLiteral 1738890 1738904 - BarBarToken 1738904 1738907 - BinaryExpression 1738907 1739054 - BinaryExpression 1738907 1739004 - CallExpression 1738907 1738956 - Identifier 1738907 1738950 - Identifier 1738951 1738955 - AmpersandAmpersandToken 1738956 1738959 - CallExpression 1738959 1739004 - Identifier 1738959 1738979 - PropertyAccessExpression 1738980 1739003 - Identifier 1738980 1738984 - Identifier 1738985 1739003 - AmpersandAmpersandToken 1739004 1739007 - BinaryExpression 1739007 1739054 - PropertyAccessExpression 1739007 1739036 - PropertyAccessExpression 1739007 1739031 - Identifier 1739007 1739012 - Identifier 1739013 1739031 - Identifier 1739032 1739036 - EqualsEqualsEqualsToken 1739036 1739040 - StringLiteral 1739040 1739054 - AmpersandAmpersandToken 1739055 1739058 - CallExpression 1739058 1739123 - Identifier 1739058 1739095 - Identifier 1739096 1739105 - PropertyAccessExpression 1739106 1739122 - Identifier 1739106 1739111 - Identifier 1739112 1739122 - FunctionDeclaration 1739135 1742109 - Identifier 1739155 1739179 - Parameter 1739180 1739190 - Identifier 1739180 1739184 - TypeReference 1739185 1739190 - Identifier 1739185 1739190 - Parameter 1739191 1739212 - Identifier 1739191 1739200 - TypeReference 1739201 1739212 - Identifier 1739201 1739212 - Parameter 1739213 1739236 - Identifier 1739213 1739224 - TypeReference 1739225 1739236 - Identifier 1739225 1739236 - Parameter 1739237 1739257 - Identifier 1739237 1739248 - BooleanKeyword 1739249 1739257 - TypeReference 1739259 1739264 - Identifier 1739259 1739264 - Block 1739264 1742109 - IfStatement 1739266 1739602 - ConditionalExpression 1739340 1739554 - Identifier 1739340 1739350 - QuestionToken 1739350 1739352 - ParenthesizedExpression 1739352 1739447 - BinaryExpression 1739354 1739446 - BinaryExpression 1739354 1739395 - Identifier 1739354 1739362 - ExclamationEqualsEqualsToken 1739362 1739366 - PropertyAccessExpression 1739366 1739395 - Identifier 1739366 1739377 - Identifier 1739378 1739395 - AmpersandAmpersandToken 1739395 1739398 - BinaryExpression 1739398 1739446 - Identifier 1739398 1739407 - ExclamationEqualsEqualsToken 1739407 1739411 - PropertyAccessExpression 1739411 1739446 - Identifier 1739411 1739422 - Identifier 1739423 1739446 - ColonToken 1739447 1739449 - ParenthesizedExpression 1739449 1739554 - BinaryExpression 1739451 1739553 - BinaryExpression 1739451 1739497 - Identifier 1739451 1739459 - ExclamationEqualsEqualsToken 1739459 1739463 - PropertyAccessExpression 1739463 1739497 - Identifier 1739463 1739474 - Identifier 1739475 1739497 - AmpersandAmpersandToken 1739497 1739500 - BinaryExpression 1739500 1739553 - Identifier 1739500 1739509 - ExclamationEqualsEqualsToken 1739509 1739513 - PropertyAccessExpression 1739513 1739553 - Identifier 1739513 1739524 - Identifier 1739525 1739553 - Block 1739555 1739602 - ReturnStatement 1739557 1739587 - Identifier 1739581 1739586 - VariableStatement 1739602 1739788 - VariableDeclarationList 1739602 1739787 - VariableDeclaration 1739738 1739787 - Identifier 1739738 1739753 - CallExpression 1739755 1739787 - Identifier 1739755 1739775 - Identifier 1739776 1739786 - IfStatement 1739788 1739923 - BinaryExpression 1739806 1739875 - PrefixUnaryExpression 1739806 1739837 - CallExpression 1739807 1739837 - Identifier 1739807 1739821 - Identifier 1739822 1739836 - AmpersandAmpersandToken 1739837 1739840 - PrefixUnaryExpression 1739840 1739875 - CallExpression 1739842 1739875 - Identifier 1739842 1739859 - Identifier 1739860 1739874 - Block 1739876 1739923 - ReturnStatement 1739878 1739908 - Identifier 1739902 1739907 - VariableStatement 1739923 1740119 - VariableDeclarationList 1739923 1740118 - VariableDeclaration 1740039 1740118 - Identifier 1740039 1740057 - CallExpression 1740059 1740118 - Identifier 1740059 1740077 - Identifier 1740078 1740092 - AsExpression 1740093 1740117 - StringLiteral 1740093 1740105 - TypeReference 1740108 1740117 - Identifier 1740108 1740117 - IfStatement 1740119 1740203 - PrefixUnaryExpression 1740137 1740155 - Identifier 1740138 1740155 - Block 1740156 1740203 - ReturnStatement 1740158 1740188 - Identifier 1740182 1740187 - VariableStatement 1740203 1740406 - VariableDeclarationList 1740203 1740405 - VariableDeclaration 1740354 1740405 - Identifier 1740354 1740368 - CallExpression 1740370 1740405 - Identifier 1740370 1740386 - Identifier 1740387 1740404 - VariableStatement 1740406 1740492 - VariableDeclarationList 1740406 1740491 - VariableDeclaration 1740425 1740491 - Identifier 1740425 1740435 - ConditionalExpression 1740437 1740491 - PrefixUnaryExpression 1740437 1740463 - CallExpression 1740439 1740463 - Identifier 1740439 1740448 - Identifier 1740449 1740462 - QuestionToken 1740463 1740465 - Identifier 1740465 1740479 - ColonToken 1740479 1740481 - Identifier 1740481 1740491 - IfStatement 1740492 1740638 - BinaryExpression 1740510 1740590 - BinaryExpression 1740510 1740554 - PrefixUnaryExpression 1740510 1740520 - Identifier 1740511 1740520 - BarBarToken 1740520 1740523 - BinaryExpression 1740523 1740554 - Identifier 1740523 1740533 - EqualsEqualsEqualsToken 1740533 1740537 - Identifier 1740537 1740554 - BarBarToken 1740554 1740557 - BinaryExpression 1740557 1740590 - Identifier 1740557 1740567 - EqualsEqualsEqualsToken 1740567 1740571 - Identifier 1740571 1740590 - Block 1740591 1740638 - ReturnStatement 1740593 1740623 - Identifier 1740617 1740622 - IfStatement 1740638 1740864 - CallExpression 1740796 1740811 - Identifier 1740796 1740805 - Identifier 1740806 1740810 - Block 1740812 1740864 - ReturnStatement 1740814 1740849 - Identifier 1740838 1740848 - ReturnStatement 1740864 1741042 - CallExpression 1740988 1741041 - Identifier 1740988 1740999 - Identifier 1741000 1741004 - ArrowFunction 1741005 1741040 - Parameter 1741005 1741007 - Identifier 1741005 1741007 - EqualsGreaterThanToken 1741007 1741010 - CallExpression 1741010 1741040 - Identifier 1741010 1741026 - Identifier 1741027 1741028 - Identifier 1741029 1741039 - FunctionDeclaration 1741042 1742098 - Identifier 1741066 1741082 - Parameter 1741083 1741095 - Identifier 1741083 1741089 - TypeReference 1741090 1741095 - Identifier 1741090 1741095 - Parameter 1741096 1741109 - Identifier 1741096 1741103 - TypeReference 1741104 1741109 - Identifier 1741104 1741109 - Block 1741110 1742098 - IfStatement 1741112 1741915 - BinaryExpression 1741613 1741814 - BinaryExpression 1741613 1741712 - BinaryExpression 1741613 1741666 - PropertyAccessExpression 1741613 1741647 - Identifier 1741613 1741641 - Identifier 1741642 1741647 - AmpersandToken 1741647 1741649 - PropertyAccessExpression 1741649 1741666 - Identifier 1741649 1741659 - Identifier 1741660 1741666 - AmpersandAmpersandToken 1741666 1741669 - BinaryExpression 1741669 1741712 - CallExpression 1741669 1741692 - Identifier 1741669 1741684 - Identifier 1741685 1741691 - AmpersandToken 1741692 1741694 - PropertyAccessExpression 1741694 1741712 - Identifier 1741694 1741706 - Identifier 1741707 1741712 - BarBarToken 1741712 1741715 - BinaryExpression 1741715 1741814 - BinaryExpression 1741715 1741768 - PropertyAccessExpression 1741715 1741749 - Identifier 1741715 1741743 - Identifier 1741744 1741749 - AmpersandToken 1741749 1741751 - PropertyAccessExpression 1741751 1741768 - Identifier 1741751 1741761 - Identifier 1741762 1741768 - AmpersandAmpersandToken 1741768 1741771 - BinaryExpression 1741771 1741814 - CallExpression 1741771 1741794 - Identifier 1741771 1741786 - Identifier 1741787 1741793 - AmpersandToken 1741794 1741796 - PropertyAccessExpression 1741796 1741814 - Identifier 1741796 1741808 - Identifier 1741809 1741814 - Block 1741833 1741915 - ReturnStatement 1741835 1741896 - BinaryExpression 1741863 1741895 - PropertyAccessExpression 1741863 1741877 - Identifier 1741863 1741870 - Identifier 1741871 1741877 - EqualsEqualsEqualsToken 1741877 1741881 - PropertyAccessExpression 1741881 1741895 - Identifier 1741881 1741888 - Identifier 1741889 1741895 - ReturnStatement 1741915 1742083 - CallExpression 1742050 1742082 - Identifier 1742050 1742066 - Identifier 1742067 1742073 - Identifier 1742074 1742081 - FunctionDeclaration 1742109 1744320 - Identifier 1742129 1742152 - Parameter 1742153 1742163 - Identifier 1742153 1742157 - TypeReference 1742158 1742163 - Identifier 1742158 1742163 - Parameter 1742164 1742191 - Identifier 1742164 1742169 - TypeReference 1742170 1742191 - Identifier 1742170 1742191 - Parameter 1742192 1742212 - Identifier 1742192 1742203 - BooleanKeyword 1742204 1742212 - TypeReference 1742214 1742219 - Identifier 1742214 1742219 - Block 1742219 1744320 - VariableStatement 1742221 1742281 - VariableDeclarationList 1742221 1742280 - VariableDeclaration 1742240 1742280 - Identifier 1742240 1742245 - CallExpression 1742247 1742280 - Identifier 1742247 1742269 - PropertyAccessExpression 1742270 1742279 - Identifier 1742270 1742274 - Identifier 1742275 1742279 - IfStatement 1742281 1742598 - PrefixUnaryExpression 1742299 1742336 - CallExpression 1742300 1742336 - Identifier 1742300 1742319 - Identifier 1742320 1742329 - Identifier 1742330 1742335 - Block 1742337 1742598 - IfStatement 1742339 1742553 - BinaryExpression 1742361 1742442 - BinaryExpression 1742361 1742391 - Identifier 1742361 1742371 - AmpersandAmpersandToken 1742371 1742374 - Identifier 1742374 1742391 - AmpersandAmpersandToken 1742391 1742394 - CallExpression 1742394 1742442 - Identifier 1742394 1742425 - Identifier 1742426 1742430 - Identifier 1742431 1742441 - Block 1742443 1742553 - ReturnStatement 1742445 1742534 - CallExpression 1742473 1742533 - Identifier 1742473 1742498 - Identifier 1742499 1742503 - PropertyAccessExpression 1742504 1742532 - Identifier 1742504 1742514 - Identifier 1742515 1742532 - ReturnStatement 1742553 1742583 - Identifier 1742577 1742582 - VariableStatement 1742598 1742637 - VariableDeclarationList 1742598 1742636 - VariableDeclaration 1742617 1742636 - Identifier 1742617 1742623 - PropertyAccessExpression 1742625 1742636 - Identifier 1742625 1742630 - Identifier 1742631 1742636 - VariableStatement 1742637 1742696 - VariableDeclarationList 1742637 1742695 - VariableDeclaration 1742656 1742695 - Identifier 1742656 1742666 - CallExpression 1742668 1742695 - Identifier 1742668 1742688 - Identifier 1742689 1742694 - IfStatement 1742696 1742809 - PrefixUnaryExpression 1742714 1742761 - CallExpression 1742715 1742761 - Identifier 1742715 1742732 - Identifier 1742733 1742742 - Identifier 1742743 1742760 - Block 1742762 1742809 - ReturnStatement 1742764 1742794 - Identifier 1742788 1742793 - VariableStatement 1742809 1743219 - VariableDeclarationList 1742809 1743218 - VariableDeclaration 1743180 1743218 - Identifier 1743180 1743190 - CallExpression 1743192 1743218 - Identifier 1743192 1743212 - Identifier 1743213 1743217 - VariableStatement 1743219 1743303 - VariableDeclarationList 1743219 1743302 - VariableDeclaration 1743238 1743302 - Identifier 1743238 1743248 - BinaryExpression 1743250 1743302 - Identifier 1743250 1743260 - AmpersandAmpersandToken 1743260 1743263 - CallExpression 1743263 1743302 - Identifier 1743263 1743291 - Identifier 1743292 1743301 - IfStatement 1743303 1743531 - BinaryExpression 1743321 1743415 - BinaryExpression 1743321 1743381 - Identifier 1743321 1743330 - AmpersandAmpersandToken 1743330 1743333 - BinaryExpression 1743333 1743381 - PropertyAccessExpression 1743333 1743348 - Identifier 1743333 1743343 - Identifier 1743344 1743348 - EqualsEqualsEqualsToken 1743348 1743352 - PropertyAccessExpression 1743352 1743381 - Identifier 1743352 1743370 - Identifier 1743371 1743381 - AmpersandAmpersandToken 1743381 1743384 - BinaryExpression 1743384 1743415 - PropertyAccessExpression 1743384 1743409 - Identifier 1743384 1743394 - Identifier 1743395 1743409 - EqualsEqualsEqualsToken 1743409 1743413 - NumericLiteral 1743413 1743415 - Block 1743416 1743531 - ReturnStatement 1743418 1743516 - CallExpression 1743442 1743515 - Identifier 1743442 1743458 - Identifier 1743459 1743463 - PropertyAccessExpression 1743464 1743479 - Identifier 1743464 1743474 - Identifier 1743475 1743479 - Identifier 1743480 1743491 - TrueKeyword 1743492 1743514 - IfStatement 1743531 1743646 - PrefixUnaryExpression 1743549 1743598 - CallExpression 1743550 1743598 - Identifier 1743550 1743567 - Identifier 1743568 1743577 - Identifier 1743578 1743597 - Block 1743599 1743646 - ReturnStatement 1743601 1743631 - Identifier 1743625 1743630 - VariableStatement 1743646 1743717 - VariableDeclarationList 1743646 1743716 - VariableDeclaration 1743665 1743716 - Identifier 1743665 1743678 - CallExpression 1743680 1743716 - Identifier 1743680 1743688 - Identifier 1743689 1743698 - Identifier 1743699 1743715 - IfStatement 1743717 1744217 - BinaryExpression 1743923 1744155 - BinaryExpression 1743923 1744034 - CallExpression 1743923 1743956 - Identifier 1743923 1743950 - Identifier 1743951 1743955 - AmpersandAmpersandToken 1743956 1743959 - ParenthesizedExpression 1743959 1744034 - BinaryExpression 1743961 1744033 - BinaryExpression 1743961 1743994 - Identifier 1743961 1743973 - EqualsEqualsEqualsToken 1743973 1743977 - Identifier 1743977 1743994 - BarBarToken 1743994 1743997 - BinaryExpression 1743997 1744033 - Identifier 1743997 1744010 - EqualsEqualsEqualsToken 1744010 1744014 - Identifier 1744014 1744033 - BarBarToken 1744034 1744037 - BinaryExpression 1744037 1744155 - PrefixUnaryExpression 1744037 1744066 - Identifier 1744056 1744066 - AmpersandAmpersandToken 1744066 1744069 - PrefixUnaryExpression 1744069 1744155 - ParenthesizedExpression 1744071 1744155 - BinaryExpression 1744072 1744154 - BinaryExpression 1744072 1744109 - PropertyAccessExpression 1744072 1744090 - Identifier 1744072 1744084 - Identifier 1744085 1744090 - AmpersandToken 1744090 1744092 - PropertyAccessExpression 1744092 1744109 - Identifier 1744092 1744102 - Identifier 1744103 1744109 - AmpersandAmpersandToken 1744109 1744112 - PrefixUnaryExpression 1744112 1744154 - CallExpression 1744114 1744154 - Identifier 1744114 1744140 - Identifier 1744141 1744153 - Block 1744170 1744217 - ReturnStatement 1744172 1744202 - Identifier 1744196 1744201 - ReturnStatement 1744217 1744309 - CallExpression 1744237 1744308 - Identifier 1744237 1744253 - Identifier 1744254 1744258 - Identifier 1744259 1744272 - Identifier 1744273 1744284 - TrueKeyword 1744285 1744307 - FunctionDeclaration 1744320 1745125 - Identifier 1744340 1744356 - Parameter 1744357 1744378 - Identifier 1744357 1744372 - TypeReference 1744373 1744378 - Identifier 1744373 1744378 - Block 1744379 1745125 - VariableStatement 1744381 1744491 - VariableDeclarationList 1744381 1744490 - VariableDeclaration 1744400 1744490 - Identifier 1744400 1744422 - CallExpression 1744424 1744490 - Identifier 1744424 1744448 - Identifier 1744449 1744464 - AsExpression 1744465 1744489 - StringLiteral 1744465 1744477 - TypeReference 1744480 1744489 - Identifier 1744480 1744489 - IfStatement 1744491 1744632 - BinaryExpression 1744509 1744567 - Identifier 1744509 1744530 - AmpersandAmpersandToken 1744530 1744533 - PrefixUnaryExpression 1744533 1744567 - CallExpression 1744535 1744567 - Identifier 1744535 1744544 - Identifier 1744545 1744566 - Block 1744568 1744632 - ReturnStatement 1744570 1744617 - Identifier 1744594 1744616 - VariableStatement 1744632 1744736 - VariableDeclarationList 1744632 1744735 - VariableDeclaration 1744651 1744735 - Identifier 1744651 1744671 - CallExpression 1744673 1744735 - Identifier 1744673 1744693 - Identifier 1744694 1744709 - PropertyAccessExpression 1744710 1744734 - Identifier 1744710 1744724 - Identifier 1744725 1744734 - IfStatement 1744736 1744932 - PropertyAccessExpression 1744754 1744780 - Identifier 1744754 1744773 - Identifier 1744774 1744780 - Block 1744781 1744932 - ReturnStatement 1744783 1744917 - CallExpression 1744807 1744916 - Identifier 1744807 1744820 - CallExpression 1744821 1744915 - Identifier 1744821 1744824 - Identifier 1744825 1744844 - ArrowFunction 1744845 1744914 - Parameter 1744845 1744855 - Identifier 1744845 1744855 - EqualsGreaterThanToken 1744855 1744858 - CallExpression 1744858 1744914 - Identifier 1744858 1744883 - CallExpression 1744884 1744913 - Identifier 1744884 1744902 - Identifier 1744903 1744912 - ReturnStatement 1744932 1745114 - Identifier 1745097 1745113 - FunctionDeclaration 1745125 1745545 - Identifier 1745145 1745161 - Parameter 1745162 1745172 - Identifier 1745162 1745166 - TypeReference 1745167 1745172 - Identifier 1745167 1745172 - Parameter 1745173 1745189 - Identifier 1745173 1745183 - TypeReference 1745184 1745189 - Identifier 1745184 1745189 - Parameter 1745190 1745210 - Identifier 1745190 1745201 - BooleanKeyword 1745202 1745210 - Parameter 1745211 1745233 - Identifier 1745211 1745224 - BooleanKeyword 1745225 1745233 - TypeReference 1745235 1745240 - Identifier 1745235 1745240 - Block 1745240 1745545 - VariableStatement 1745242 1745406 - VariableDeclarationList 1745242 1745405 - VariableDeclaration 1745261 1745405 - Identifier 1745261 1745265 - ConditionalExpression 1745267 1745405 - BinaryExpression 1745267 1745296 - PropertyAccessExpression 1745267 1745278 - Identifier 1745267 1745272 - Identifier 1745273 1745278 - AmpersandToken 1745278 1745280 - PropertyAccessExpression 1745280 1745296 - Identifier 1745280 1745290 - Identifier 1745291 1745296 - QuestionToken 1745296 1745298 - TemplateExpression 1745298 1745393 - TemplateHead 1745298 1745303 - TemplateSpan 1745303 1745322 - CallExpression 1745303 1745318 - Identifier 1745303 1745312 - Identifier 1745313 1745317 - TemplateMiddle 1745318 1745322 - TemplateSpan 1745322 1745346 - CallExpression 1745322 1745342 - Identifier 1745322 1745331 - Identifier 1745332 1745341 - TemplateMiddle 1745342 1745346 - TemplateSpan 1745346 1745393 - BinaryExpression 1745346 1745391 - ParenthesizedExpression 1745346 1745366 - ConditionalExpression 1745347 1745365 - Identifier 1745347 1745357 - QuestionToken 1745357 1745359 - NumericLiteral 1745359 1745361 - ColonToken 1745361 1745363 - NumericLiteral 1745363 1745365 - BarToken 1745366 1745368 - ParenthesizedExpression 1745368 1745391 - ConditionalExpression 1745370 1745390 - Identifier 1745370 1745382 - QuestionToken 1745382 1745384 - NumericLiteral 1745384 1745386 - ColonToken 1745386 1745388 - NumericLiteral 1745388 1745390 - TemplateTail 1745391 1745393 - ColonToken 1745393 1745395 - Identifier 1745395 1745405 - ReturnStatement 1745406 1745534 - BinaryExpression 1745426 1745533 - CallExpression 1745426 1745445 - Identifier 1745426 1745440 - Identifier 1745441 1745444 - QuestionQuestionToken 1745445 1745448 - CallExpression 1745448 1745533 - Identifier 1745448 1745462 - Identifier 1745463 1745466 - CallExpression 1745467 1745532 - Identifier 1745467 1745489 - Identifier 1745490 1745494 - Identifier 1745495 1745505 - Identifier 1745506 1745517 - Identifier 1745518 1745531 - FunctionDeclaration 1745545 1748999 - Identifier 1745565 1745587 - Parameter 1745588 1745598 - Identifier 1745588 1745592 - TypeReference 1745593 1745598 - Identifier 1745593 1745598 - Parameter 1745599 1745615 - Identifier 1745599 1745609 - TypeReference 1745610 1745615 - Identifier 1745610 1745615 - Parameter 1745616 1745636 - Identifier 1745616 1745627 - BooleanKeyword 1745628 1745636 - Parameter 1745637 1745659 - Identifier 1745637 1745650 - BooleanKeyword 1745651 1745659 - Block 1745660 1748999 - IfStatement 1745662 1746245 - PrefixUnaryExpression 1745680 1745691 - Identifier 1745681 1745691 - Block 1745692 1746245 - IfStatement 1745694 1745795 - BinaryExpression 1745716 1745734 - Identifier 1745716 1745720 - EqualsEqualsEqualsToken 1745720 1745724 - Identifier 1745724 1745734 - Block 1745735 1745795 - ReturnStatement 1745737 1745776 - Identifier 1745765 1745775 - IfStatement 1745795 1745936 - Identifier 1745817 1745829 - Block 1745830 1745936 - ReturnStatement 1745832 1745917 - CallExpression 1745860 1745916 - Identifier 1745860 1745871 - Identifier 1745872 1745876 - ArrowFunction 1745877 1745915 - Parameter 1745877 1745879 - Identifier 1745877 1745879 - EqualsGreaterThanToken 1745879 1745882 - PrefixUnaryExpression 1745882 1745915 - CallExpression 1745884 1745915 - Identifier 1745884 1745901 - Identifier 1745902 1745903 - Identifier 1745904 1745914 - ExpressionStatement 1745936 1746018 - BinaryExpression 1745936 1746017 - Identifier 1745936 1745958 - EqualsToken 1745958 1745960 - ConditionalExpression 1745960 1746017 - BinaryExpression 1745960 1745991 - PropertyAccessExpression 1745960 1745971 - Identifier 1745960 1745965 - Identifier 1745966 1745971 - AmpersandToken 1745971 1745973 - PropertyAccessExpression 1745973 1745991 - Identifier 1745973 1745983 - Identifier 1745984 1745991 - QuestionToken 1745991 1745993 - Identifier 1745993 1746010 - ColonToken 1746010 1746012 - Identifier 1746012 1746017 - VariableStatement 1746018 1746131 - VariableDeclarationList 1746018 1746130 - VariableDeclaration 1746041 1746130 - Identifier 1746041 1746050 - CallExpression 1746052 1746130 - Identifier 1746052 1746068 - Identifier 1746069 1746073 - Identifier 1746074 1746084 - TrueKeyword 1746085 1746105 - FalseKeyword 1746106 1746129 - ReturnStatement 1746131 1746230 - CallExpression 1746155 1746229 - Identifier 1746155 1746176 - CallExpression 1746177 1746228 - Identifier 1746177 1746187 - Identifier 1746188 1746192 - ArrowFunction 1746193 1746227 - Parameter 1746193 1746195 - Identifier 1746193 1746195 - EqualsGreaterThanToken 1746195 1746198 - PrefixUnaryExpression 1746198 1746227 - CallExpression 1746200 1746227 - Identifier 1746200 1746214 - Identifier 1746215 1746216 - Identifier 1746217 1746226 - IfStatement 1746245 1746351 - BinaryExpression 1746263 1746298 - PropertyAccessExpression 1746263 1746273 - Identifier 1746263 1746267 - Identifier 1746268 1746273 - AmpersandToken 1746273 1746275 - PropertyAccessExpression 1746275 1746298 - Identifier 1746275 1746285 - Identifier 1746286 1746298 - Block 1746299 1746351 - ReturnStatement 1746301 1746336 - Identifier 1746325 1746335 - IfStatement 1746351 1746440 - BinaryExpression 1746369 1746387 - Identifier 1746369 1746373 - EqualsEqualsEqualsToken 1746373 1746377 - Identifier 1746377 1746387 - Block 1746388 1746440 - ReturnStatement 1746390 1746425 - Identifier 1746414 1746424 - VariableStatement 1746440 1746703 - VariableDeclarationList 1746440 1746702 - VariableDeclaration 1746639 1746702 - Identifier 1746639 1746649 - ConditionalExpression 1746651 1746702 - Identifier 1746651 1746664 - QuestionToken 1746664 1746666 - Identifier 1746666 1746684 - ColonToken 1746684 1746686 - Identifier 1746686 1746702 - VariableStatement 1746703 1746822 - VariableDeclarationList 1746703 1746821 - VariableDeclaration 1746722 1746821 - Identifier 1746722 1746738 - ConditionalExpression 1746740 1746821 - BinaryExpression 1746740 1746769 - PropertyAccessExpression 1746740 1746751 - Identifier 1746740 1746745 - Identifier 1746746 1746751 - AmpersandToken 1746751 1746753 - PropertyAccessExpression 1746753 1746769 - Identifier 1746753 1746763 - Identifier 1746764 1746769 - QuestionToken 1746769 1746771 - CallExpression 1746771 1746809 - Identifier 1746771 1746790 - AsExpression 1746791 1746808 - Identifier 1746791 1746795 - TypeReference 1746798 1746808 - Identifier 1746798 1746808 - ColonToken 1746809 1746811 - Identifier 1746811 1746821 - VariableStatement 1746822 1748462 - VariableDeclarationList 1746822 1748461 - VariableDeclaration 1746841 1748461 - Identifier 1746841 1746854 - CallExpression 1746856 1748461 - Identifier 1746856 1746864 - Identifier 1746865 1746874 - ArrowFunction 1746875 1748460 - Parameter 1746875 1746877 - Identifier 1746875 1746877 - EqualsGreaterThanToken 1746877 1746880 - Block 1746880 1748460 - VariableStatement 1746882 1747074 - VariableDeclarationList 1746882 1747073 - VariableDeclaration 1746995 1747073 - Identifier 1746995 1747008 - BinaryExpression 1747010 1747073 - Identifier 1747010 1747026 - AmpersandAmpersandToken 1747026 1747029 - CallExpression 1747029 1747073 - Identifier 1747029 1747053 - Identifier 1747054 1747055 - Identifier 1747056 1747072 - VariableStatement 1747074 1747187 - VariableDeclarationList 1747074 1747186 - VariableDeclaration 1747097 1747186 - Identifier 1747097 1747106 - BinaryExpression 1747108 1747186 - Identifier 1747108 1747121 - AmpersandAmpersandToken 1747121 1747124 - CallExpression 1747124 1747186 - Identifier 1747124 1747153 - AsExpression 1747154 1747171 - Identifier 1747154 1747158 - TypeReference 1747161 1747171 - Identifier 1747161 1747171 - Identifier 1747172 1747185 - VariableStatement 1747187 1747991 - VariableDeclarationList 1747187 1747990 - VariableDeclaration 1747602 1747990 - Identifier 1747602 1747618 - CallExpression 1747620 1747990 - Identifier 1747620 1747628 - BinaryExpression 1747629 1747667 - Identifier 1747629 1747659 - BarBarToken 1747659 1747662 - Identifier 1747662 1747667 - ConditionalExpression 1747668 1747970 - Identifier 1747668 1747702 - QuestionToken 1747702 1747704 - ArrowFunction 1747704 1747804 - Parameter 1747704 1747731 - Identifier 1747704 1747731 - EqualsGreaterThanToken 1747731 1747734 - ConditionalExpression 1747734 1747804 - CallExpression 1747734 1747758 - Identifier 1747734 1747752 - Identifier 1747753 1747754 - Identifier 1747755 1747757 - QuestionToken 1747758 1747760 - Identifier 1747760 1747762 - ColonToken 1747762 1747764 - ConditionalExpression 1747764 1747804 - CallExpression 1747764 1747788 - Identifier 1747764 1747782 - Identifier 1747783 1747784 - Identifier 1747785 1747787 - QuestionToken 1747788 1747790 - Identifier 1747790 1747792 - ColonToken 1747792 1747794 - Identifier 1747794 1747804 - ColonToken 1747804 1747806 - ArrowFunction 1747806 1747970 - Parameter 1747806 1747833 - Identifier 1747806 1747833 - EqualsGreaterThanToken 1747833 1747836 - ConditionalExpression 1747836 1747970 - CallExpression 1747836 1747864 - Identifier 1747836 1747858 - Identifier 1747859 1747860 - Identifier 1747861 1747863 - QuestionToken 1747864 1747866 - Identifier 1747866 1747868 - ColonToken 1747868 1747870 - ConditionalExpression 1747870 1747970 - CallExpression 1747870 1747898 - Identifier 1747870 1747892 - Identifier 1747893 1747894 - Identifier 1747895 1747897 - QuestionToken 1747898 1747900 - Identifier 1747900 1747902 - ColonToken 1747902 1747904 - ConditionalExpression 1747904 1747970 - CallExpression 1747904 1747926 - Identifier 1747904 1747920 - Identifier 1747921 1747922 - Identifier 1747923 1747925 - QuestionToken 1747926 1747928 - Identifier 1747928 1747930 - ColonToken 1747930 1747932 - ConditionalExpression 1747932 1747970 - CallExpression 1747932 1747954 - Identifier 1747932 1747948 - Identifier 1747949 1747950 - Identifier 1747951 1747953 - QuestionToken 1747954 1747956 - Identifier 1747956 1747958 - ColonToken 1747958 1747960 - Identifier 1747960 1747970 - ReturnStatement 1747991 1748445 - ConditionalExpression 1748178 1748444 - BinaryExpression 1748178 1748218 - PropertyAccessExpression 1748178 1748200 - Identifier 1748178 1748194 - Identifier 1748195 1748200 - AmpersandToken 1748200 1748202 - PropertyAccessExpression 1748202 1748218 - Identifier 1748202 1748212 - Identifier 1748213 1748218 - QuestionToken 1748218 1748220 - CallExpression 1748220 1748405 - Identifier 1748220 1748249 - Identifier 1748250 1748254 - ArrowFunction 1748255 1748404 - Parameter 1748255 1748257 - Identifier 1748255 1748257 - EqualsGreaterThanToken 1748257 1748260 - ConditionalExpression 1748260 1748404 - BinaryExpression 1748260 1748362 - CallExpression 1748260 1748303 - Identifier 1748260 1748276 - Identifier 1748277 1748278 - PropertyAccessExpression 1748279 1748302 - Identifier 1748279 1748289 - Identifier 1748290 1748302 - AmpersandAmpersandToken 1748303 1748306 - CallExpression 1748306 1748362 - Identifier 1748306 1748316 - Identifier 1748317 1748318 - BinaryExpression 1748319 1748361 - CallExpression 1748319 1748346 - Identifier 1748319 1748343 - Identifier 1748344 1748345 - BarBarToken 1748346 1748349 - Identifier 1748349 1748361 - QuestionToken 1748362 1748364 - CallExpression 1748364 1748392 - Identifier 1748364 1748384 - ArrayLiteralExpression 1748385 1748391 - Identifier 1748386 1748387 - Identifier 1748388 1748390 - ColonToken 1748392 1748394 - Identifier 1748394 1748404 - ColonToken 1748405 1748407 - Identifier 1748407 1748444 - ReturnStatement 1748462 1748988 - ConditionalExpression 1748681 1748987 - PrefixUnaryExpression 1748681 1748721 - ParenthesizedExpression 1748683 1748721 - BinaryExpression 1748684 1748720 - PropertyAccessExpression 1748684 1748702 - Identifier 1748684 1748696 - Identifier 1748697 1748702 - AmpersandToken 1748702 1748704 - PropertyAccessExpression 1748704 1748720 - Identifier 1748704 1748714 - Identifier 1748715 1748720 - QuestionToken 1748721 1748723 - Identifier 1748723 1748736 - ColonToken 1748736 1748738 - ConditionalExpression 1748738 1748987 - CallExpression 1748738 1748788 - Identifier 1748738 1748771 - Identifier 1748772 1748781 - Identifier 1748782 1748787 - QuestionToken 1748788 1748790 - Identifier 1748790 1748800 - ColonToken 1748800 1748802 - ConditionalExpression 1748802 1748987 - CallExpression 1748802 1748855 - Identifier 1748802 1748838 - Identifier 1748839 1748843 - Identifier 1748844 1748854 - QuestionToken 1748855 1748857 - Identifier 1748857 1748862 - ColonToken 1748862 1748864 - ConditionalExpression 1748864 1748987 - CallExpression 1748864 1748917 - Identifier 1748864 1748900 - Identifier 1748901 1748910 - Identifier 1748911 1748916 - QuestionToken 1748917 1748919 - Identifier 1748919 1748929 - ColonToken 1748929 1748931 - CallExpression 1748931 1748987 - Identifier 1748931 1748968 - ArrayLiteralExpression 1748969 1748986 - Identifier 1748970 1748974 - Identifier 1748975 1748985 - FunctionDeclaration 1748999 1750584 - Identifier 1749019 1749046 - Parameter 1749047 1749057 - Identifier 1749047 1749051 - TypeReference 1749052 1749057 - Identifier 1749052 1749057 - Parameter 1749058 1749089 - Identifier 1749058 1749073 - TypeReference 1749074 1749089 - Identifier 1749074 1749089 - Parameter 1749090 1749110 - Identifier 1749090 1749101 - BooleanKeyword 1749102 1749110 - TypeReference 1749112 1749117 - Identifier 1749112 1749117 - Block 1749117 1750584 - IfStatement 1749119 1749669 - CallExpression 1749137 1749183 - Identifier 1749137 1749156 - Identifier 1749157 1749171 - Identifier 1749172 1749182 - Block 1749184 1749669 - VariableStatement 1749186 1749315 - VariableDeclarationList 1749186 1749314 - VariableDeclaration 1749209 1749314 - Identifier 1749209 1749219 - ConditionalExpression 1749221 1749314 - BinaryExpression 1749221 1749264 - Identifier 1749221 1749232 - BarBarToken 1749232 1749235 - PrefixUnaryExpression 1749235 1749264 - CallExpression 1749237 1749264 - Identifier 1749237 1749248 - Identifier 1749249 1749263 - QuestionToken 1749264 1749266 - CallExpression 1749266 1749302 - Identifier 1749266 1749286 - Identifier 1749287 1749301 - ColonToken 1749302 1749304 - Identifier 1749304 1749314 - VariableStatement 1749315 1749403 - VariableDeclarationList 1749315 1749402 - VariableDeclaration 1749338 1749402 - Identifier 1749338 1749348 - BinaryExpression 1749350 1749402 - Identifier 1749350 1749360 - AmpersandAmpersandToken 1749360 1749363 - CallExpression 1749363 1749402 - Identifier 1749363 1749391 - Identifier 1749392 1749401 - IfStatement 1749403 1749654 - BinaryExpression 1749425 1749532 - Identifier 1749425 1749434 - AmpersandAmpersandToken 1749434 1749437 - ParenthesizedExpression 1749437 1749532 - BinaryExpression 1749439 1749531 - BinaryExpression 1749439 1749480 - PropertyAccessExpression 1749439 1749453 - Identifier 1749439 1749448 - Identifier 1749449 1749453 - EqualsEqualsEqualsToken 1749453 1749457 - PropertyAccessExpression 1749457 1749480 - Identifier 1749457 1749475 - Identifier 1749476 1749480 - BarBarToken 1749480 1749483 - BinaryExpression 1749483 1749531 - PropertyAccessExpression 1749483 1749498 - Identifier 1749483 1749493 - Identifier 1749494 1749498 - EqualsEqualsEqualsToken 1749498 1749502 - PropertyAccessExpression 1749502 1749531 - Identifier 1749502 1749520 - Identifier 1749521 1749531 - Block 1749533 1749654 - ReturnStatement 1749535 1749635 - CallExpression 1749563 1749634 - Identifier 1749563 1749589 - Identifier 1749590 1749594 - Identifier 1749595 1749605 - Identifier 1749606 1749621 - Identifier 1749622 1749633 - IfStatement 1749669 1750547 - BinaryExpression 1749687 1749802 - BinaryExpression 1749687 1749745 - CallExpression 1749687 1749712 - Identifier 1749687 1749706 - Identifier 1749707 1749711 - AmpersandAmpersandToken 1749712 1749715 - CallExpression 1749715 1749745 - Identifier 1749715 1749734 - Identifier 1749735 1749744 - AmpersandAmpersandToken 1749745 1749748 - CallExpression 1749748 1749802 - Identifier 1749748 1749775 - PropertyAccessExpression 1749776 1749801 - Identifier 1749776 1749790 - Identifier 1749791 1749801 - Block 1749803 1750547 - VariableStatement 1749805 1749868 - VariableDeclarationList 1749805 1749867 - VariableDeclaration 1749828 1749867 - Identifier 1749828 1749839 - PropertyAccessExpression 1749841 1749867 - Identifier 1749841 1749856 - Identifier 1749857 1749867 - IfStatement 1749868 1750532 - BinaryExpression 1749890 1750146 - BinaryExpression 1749890 1750105 - BinaryExpression 1749890 1750053 - CallExpression 1749890 1749999 - Identifier 1749890 1749931 - PropertyAccessExpression 1749932 1749952 - Identifier 1749932 1749941 - Identifier 1749942 1749952 - CallExpression 1749953 1749998 - Identifier 1749953 1749975 - PropertyAccessExpression 1749976 1749997 - Identifier 1749976 1749986 - Identifier 1749987 1749997 - AmpersandAmpersandToken 1749999 1750002 - CallExpression 1750002 1750053 - Identifier 1750002 1750036 - PropertyAccessExpression 1750037 1750052 - Identifier 1750037 1750047 - Identifier 1750048 1750052 - AmpersandAmpersandToken 1750053 1750056 - BinaryExpression 1750056 1750105 - PropertyAccessExpression 1750056 1750084 - PropertyAccessExpression 1750056 1750072 - Identifier 1750056 1750067 - Identifier 1750068 1750072 - Identifier 1750073 1750084 - EqualsEqualsEqualsToken 1750084 1750088 - StringLiteral 1750088 1750105 - AmpersandAmpersandToken 1750105 1750108 - BinaryExpression 1750108 1750146 - PropertyAccessExpression 1750108 1750140 - PropertyAccessExpression 1750108 1750133 - Identifier 1750108 1750123 - Identifier 1750124 1750133 - Identifier 1750134 1750140 - EqualsEqualsEqualsToken 1750140 1750144 - NumericLiteral 1750144 1750146 - Block 1750165 1750532 - VariableStatement 1750167 1750234 - VariableDeclarationList 1750167 1750233 - VariableDeclaration 1750194 1750233 - Identifier 1750194 1750203 - ElementAccessExpression 1750205 1750233 - PropertyAccessExpression 1750205 1750230 - Identifier 1750205 1750220 - Identifier 1750221 1750230 - NumericLiteral 1750231 1750232 - IfStatement 1750234 1750513 - BinaryExpression 1750260 1750371 - CallExpression 1750260 1750289 - Identifier 1750260 1750279 - Identifier 1750280 1750288 - AmpersandAmpersandToken 1750289 1750292 - BinaryExpression 1750292 1750371 - CallExpression 1750292 1750327 - Identifier 1750292 1750316 - Identifier 1750317 1750326 - EqualsEqualsEqualsToken 1750327 1750331 - CallExpression 1750331 1750371 - Identifier 1750331 1750356 - PropertyAccessExpression 1750357 1750370 - Identifier 1750357 1750365 - Identifier 1750366 1750370 - Block 1750372 1750513 - ReturnStatement 1750374 1750490 - CallExpression 1750406 1750489 - Identifier 1750406 1750423 - Identifier 1750424 1750428 - ConditionalExpression 1750429 1750488 - Identifier 1750429 1750440 - QuestionToken 1750440 1750442 - PropertyAccessExpression 1750442 1750464 - Identifier 1750442 1750452 - Identifier 1750453 1750464 - ColonToken 1750464 1750466 - PropertyAccessExpression 1750466 1750488 - Identifier 1750466 1750476 - Identifier 1750477 1750488 - ReturnStatement 1750547 1750573 - Identifier 1750567 1750572 - FunctionDeclaration 1750584 1752198 - Identifier 1750604 1750630 - Parameter 1750631 1750641 - Identifier 1750631 1750635 - TypeReference 1750636 1750641 - Identifier 1750636 1750641 - Parameter 1750642 1750667 - Identifier 1750642 1750652 - TypeReference 1750653 1750667 - Identifier 1750653 1750667 - Parameter 1750668 1750699 - Identifier 1750668 1750683 - TypeReference 1750684 1750699 - Identifier 1750684 1750699 - Parameter 1750700 1750720 - Identifier 1750700 1750711 - BooleanKeyword 1750712 1750720 - TypeReference 1750722 1750727 - Identifier 1750722 1750727 - Block 1750727 1752198 - IfStatement 1750729 1752161 - BinaryExpression 1750843 1750961 - PropertyAccessExpression 1750843 1750857 - Identifier 1750843 1750852 - Identifier 1750853 1750857 - AmpersandAmpersandToken 1750857 1750860 - PrefixUnaryExpression 1750860 1750961 - ParenthesizedExpression 1750862 1750961 - BinaryExpression 1750863 1750960 - CallExpression 1750863 1750878 - Identifier 1750863 1750872 - Identifier 1750873 1750877 - AmpersandAmpersandToken 1750878 1750881 - ParenthesizedExpression 1750881 1750960 - BinaryExpression 1750883 1750959 - BinaryExpression 1750883 1750918 - PropertyAccessExpression 1750883 1750897 - Identifier 1750883 1750892 - Identifier 1750893 1750897 - EqualsEqualsEqualsToken 1750897 1750901 - Identifier 1750901 1750918 - BarBarToken 1750918 1750921 - BinaryExpression 1750921 1750959 - PropertyAccessExpression 1750921 1750936 - Identifier 1750921 1750931 - Identifier 1750932 1750936 - EqualsEqualsEqualsToken 1750936 1750940 - Identifier 1750940 1750959 - Block 1750962 1752161 - VariableStatement 1750964 1751060 - VariableDeclarationList 1750964 1751059 - VariableDeclaration 1750987 1751059 - Identifier 1750987 1751005 - CallExpression 1751007 1751059 - Identifier 1751007 1751032 - Identifier 1751033 1751042 - Identifier 1751043 1751058 - IfStatement 1751060 1752146 - Identifier 1751082 1751099 - Block 1751100 1752146 - IfStatement 1751102 1751310 - CallExpression 1751128 1751177 - Identifier 1751128 1751147 - Identifier 1751148 1751157 - Identifier 1751158 1751176 - Block 1751178 1751310 - ReturnStatement 1751180 1751287 - CallExpression 1751212 1751286 - Identifier 1751212 1751228 - Identifier 1751229 1751233 - PropertyAccessExpression 1751234 1751249 - Identifier 1751234 1751244 - Identifier 1751245 1751249 - Identifier 1751250 1751261 - FalseKeyword 1751262 1751285 - IfStatement 1751310 1751827 - BinaryExpression 1751336 1751686 - BinaryExpression 1751336 1751442 - Identifier 1751336 1751378 - AmpersandAmpersandToken 1751378 1751381 - CallExpression 1751381 1751442 - Identifier 1751381 1751412 - Identifier 1751413 1751430 - Identifier 1751431 1751441 - AmpersandAmpersandToken 1751442 1751445 - ParenthesizedExpression 1751445 1751686 - BinaryExpression 1751472 1751659 - BinaryExpression 1751472 1751570 - Identifier 1751472 1751512 - AmpersandAmpersandToken 1751512 1751515 - PrefixUnaryExpression 1751515 1751570 - ParenthesizedExpression 1751517 1751570 - CallExpression 1751518 1751569 - Identifier 1751518 1751530 - PropertyAccessExpression 1751531 1751545 - Identifier 1751531 1751540 - Identifier 1751541 1751545 - PropertyAccessExpression 1751546 1751568 - Identifier 1751546 1751556 - Identifier 1751557 1751568 - BarBarToken 1751570 1751573 - BinaryExpression 1751573 1751659 - PrefixUnaryExpression 1751573 1751614 - Identifier 1751604 1751614 - AmpersandAmpersandToken 1751614 1751617 - CallExpression 1751617 1751659 - Identifier 1751617 1751627 - PropertyAccessExpression 1751628 1751642 - Identifier 1751628 1751637 - Identifier 1751638 1751642 - Identifier 1751643 1751658 - Block 1751709 1751827 - ExpressionStatement 1751711 1751804 - BinaryExpression 1751711 1751803 - Identifier 1751711 1751741 - EqualsToken 1751741 1751743 - CallExpression 1751743 1751803 - Identifier 1751743 1751768 - Identifier 1751769 1751773 - PropertyAccessExpression 1751774 1751802 - Identifier 1751774 1751784 - Identifier 1751785 1751802 - VariableStatement 1751827 1751919 - VariableDeclarationList 1751827 1751918 - VariableDeclaration 1751854 1751918 - Identifier 1751854 1751861 - CallExpression 1751863 1751918 - Identifier 1751863 1751893 - Identifier 1751894 1751911 - Identifier 1751912 1751917 - IfStatement 1751919 1752127 - Identifier 1751945 1751951 - Block 1751952 1752127 - ReturnStatement 1751954 1752104 - CallExpression 1751986 1752103 - Identifier 1751986 1752011 - Identifier 1752012 1752016 - Identifier 1752017 1752024 - ArrowFunction 1752025 1752102 - Parameter 1752025 1752027 - Identifier 1752025 1752027 - EqualsGreaterThanToken 1752027 1752030 - CallExpression 1752030 1752102 - Identifier 1752030 1752046 - Identifier 1752047 1752048 - NonNullExpression 1752049 1752065 - PropertyAccessExpression 1752049 1752064 - Identifier 1752049 1752059 - Identifier 1752060 1752064 - Identifier 1752066 1752077 - FalseKeyword 1752078 1752101 - ReturnStatement 1752161 1752187 - Identifier 1752181 1752186 - FunctionDeclaration 1752198 1755402 - Identifier 1752398 1752409 - Parameter 1752410 1752420 - Identifier 1752410 1752414 - TypeReference 1752415 1752420 - Identifier 1752415 1752420 - Parameter 1752421 1752438 - Identifier 1752421 1752426 - TypeReference 1752427 1752438 - Identifier 1752427 1752438 - Parameter 1752439 1752459 - Identifier 1752439 1752450 - BooleanKeyword 1752451 1752459 - TypeReference 1752461 1752466 - Identifier 1752461 1752466 - Block 1752466 1755402 - IfStatement 1752468 1752978 - BinaryExpression 1752587 1752873 - CallExpression 1752587 1752642 - Identifier 1752587 1752636 - Identifier 1752637 1752641 - BarBarToken 1752642 1752645 - BinaryExpression 1752645 1752873 - BinaryExpression 1752645 1752844 - CallExpression 1752645 1752694 - Identifier 1752645 1752681 - PropertyAccessExpression 1752682 1752693 - Identifier 1752682 1752686 - Identifier 1752687 1752693 - AmpersandAmpersandToken 1752694 1752697 - ParenthesizedExpression 1752697 1752844 - BinaryExpression 1752699 1752843 - BinaryExpression 1752699 1752766 - PropertyAccessExpression 1752699 1752729 - PropertyAccessExpression 1752699 1752724 - PropertyAccessExpression 1752699 1752710 - Identifier 1752699 1752703 - Identifier 1752704 1752710 - Identifier 1752711 1752724 - Identifier 1752725 1752729 - EqualsEqualsEqualsToken 1752729 1752733 - PropertyAccessExpression 1752733 1752766 - Identifier 1752733 1752744 - Identifier 1752745 1752766 - BarBarToken 1752766 1752769 - BinaryExpression 1752769 1752843 - PropertyAccessExpression 1752769 1752800 - PropertyAccessExpression 1752769 1752795 - PropertyAccessExpression 1752769 1752781 - Identifier 1752769 1752774 - Identifier 1752775 1752781 - Identifier 1752782 1752795 - Identifier 1752796 1752800 - EqualsEqualsEqualsToken 1752800 1752804 - PropertyAccessExpression 1752804 1752843 - Identifier 1752804 1752815 - Identifier 1752816 1752843 - AmpersandAmpersandToken 1752844 1752847 - BinaryExpression 1752847 1752873 - PropertyAccessExpression 1752847 1752864 - PropertyAccessExpression 1752847 1752859 - Identifier 1752847 1752852 - Identifier 1752853 1752859 - Identifier 1752860 1752864 - EqualsEqualsEqualsToken 1752864 1752868 - Identifier 1752868 1752873 - Block 1752888 1752978 - ReturnStatement 1752890 1752963 - CallExpression 1752914 1752962 - Identifier 1752914 1752938 - Identifier 1752939 1752943 - Identifier 1752944 1752949 - Identifier 1752950 1752961 - SwitchStatement 1752978 1755365 - PropertyAccessExpression 1753000 1753009 - Identifier 1753000 1753004 - Identifier 1753005 1753009 - CaseBlock 1753010 1755365 - CaseClause 1753012 1754104 - PropertyAccessExpression 1753034 1753056 - Identifier 1753034 1753045 - Identifier 1753046 1753056 - IfStatement 1753057 1754104 - BinaryExpression 1753337 1753393 - PrefixUnaryExpression 1753337 1753374 - CallExpression 1753338 1753374 - Identifier 1753338 1753357 - Identifier 1753358 1753367 - Identifier 1753368 1753373 - AmpersandAmpersandToken 1753374 1753377 - BinaryExpression 1753377 1753393 - Identifier 1753377 1753389 - LessThanToken 1753389 1753391 - NumericLiteral 1753391 1753393 - Block 1753394 1754104 - VariableStatement 1753396 1753475 - VariableDeclarationList 1753396 1753474 - VariableDeclaration 1753427 1753474 - Identifier 1753427 1753434 - CallExpression 1753436 1753474 - Identifier 1753436 1753454 - AsExpression 1753455 1753473 - Identifier 1753455 1753459 - TypeReference 1753462 1753473 - Identifier 1753462 1753473 - IfStatement 1753475 1754081 - CallExpression 1753505 1753531 - Identifier 1753505 1753523 - Identifier 1753524 1753530 - Block 1753532 1754081 - VariableStatement 1753534 1753608 - VariableDeclarationList 1753534 1753607 - VariableDeclaration 1753569 1753607 - Identifier 1753569 1753581 - PropertyAccessExpression 1753583 1753607 - Identifier 1753583 1753590 - Identifier 1753591 1753607 - IfStatement 1753608 1754054 - BinaryExpression 1753642 1753773 - BinaryExpression 1753642 1753739 - BinaryExpression 1753642 1753712 - BinaryExpression 1753642 1753691 - Identifier 1753642 1753653 - AmpersandAmpersandToken 1753653 1753656 - CallExpression 1753656 1753691 - Identifier 1753656 1753678 - Identifier 1753679 1753690 - AmpersandAmpersandToken 1753691 1753694 - PrefixUnaryExpression 1753694 1753712 - PropertyAccessExpression 1753696 1753712 - Identifier 1753696 1753707 - Identifier 1753708 1753712 - AmpersandAmpersandToken 1753712 1753715 - PropertyAccessExpression 1753715 1753739 - Identifier 1753715 1753727 - Identifier 1753728 1753739 - AmpersandAmpersandToken 1753739 1753742 - CallExpression 1753742 1753773 - Identifier 1753742 1753762 - Identifier 1753763 1753772 - Block 1753774 1754054 - ExpressionStatement 1753776 1753824 - PostfixUnaryExpression 1753776 1753823 - Identifier 1753776 1753821 - VariableStatement 1753824 1753927 - VariableDeclarationList 1753824 1753926 - VariableDeclaration 1753863 1753926 - Identifier 1753863 1753870 - CallExpression 1753872 1753926 - Identifier 1753872 1753883 - Identifier 1753884 1753888 - PropertyAccessExpression 1753889 1753913 - Identifier 1753889 1753901 - Identifier 1753902 1753913 - Identifier 1753914 1753925 - ExpressionStatement 1753927 1753975 - PostfixUnaryExpression 1753927 1753974 - Identifier 1753927 1753972 - ReturnStatement 1753975 1754023 - Identifier 1754015 1754022 - CaseClause 1754104 1754188 - PropertyAccessExpression 1754164 1754187 - Identifier 1754164 1754175 - Identifier 1754176 1754187 - CaseClause 1754188 1754235 - PropertyAccessExpression 1754210 1754234 - Identifier 1754210 1754221 - Identifier 1754222 1754234 - CaseClause 1754235 1754294 - PropertyAccessExpression 1754257 1754293 - Identifier 1754257 1754268 - Identifier 1754269 1754293 - CaseClause 1754294 1754428 - PropertyAccessExpression 1754316 1754351 - Identifier 1754316 1754327 - Identifier 1754328 1754351 - ReturnStatement 1754352 1754428 - CallExpression 1754380 1754427 - Identifier 1754380 1754403 - Identifier 1754404 1754408 - Identifier 1754409 1754414 - Identifier 1754415 1754426 - CaseClause 1754428 1754575 - PropertyAccessExpression 1754450 1754476 - Identifier 1754450 1754461 - Identifier 1754462 1754476 - ReturnStatement 1754477 1754575 - CallExpression 1754505 1754574 - Identifier 1754505 1754532 - Identifier 1754533 1754537 - AsExpression 1754538 1754561 - Identifier 1754538 1754543 - TypeReference 1754546 1754561 - Identifier 1754546 1754561 - Identifier 1754562 1754573 - CaseClause 1754575 1754633 - PropertyAccessExpression 1754597 1754632 - Identifier 1754597 1754608 - Identifier 1754609 1754632 - CaseClause 1754633 1754685 - PropertyAccessExpression 1754655 1754684 - Identifier 1754655 1754666 - Identifier 1754667 1754684 - CaseClause 1754685 1754885 - PropertyAccessExpression 1754707 1754738 - Identifier 1754707 1754718 - Identifier 1754719 1754738 - ReturnStatement 1754739 1754885 - CallExpression 1754767 1754884 - Identifier 1754767 1754778 - Identifier 1754779 1754783 - PropertyAccessExpression 1754784 1754871 - ParenthesizedExpression 1754784 1754860 - AsExpression 1754786 1754859 - Identifier 1754786 1754790 - UnionType 1754793 1754859 - TypeReference 1754793 1754817 - Identifier 1754793 1754817 - TypeReference 1754819 1754837 - Identifier 1754819 1754837 - TypeReference 1754839 1754859 - Identifier 1754839 1754859 - Identifier 1754861 1754871 - Identifier 1754872 1754883 - CaseClause 1754885 1755038 - PropertyAccessExpression 1754907 1754935 - Identifier 1754907 1754918 - Identifier 1754919 1754935 - ReturnStatement 1754936 1755038 - CallExpression 1754964 1755037 - Identifier 1754964 1754993 - Identifier 1754994 1754998 - AsExpression 1754999 1755024 - Identifier 1754999 1755004 - TypeReference 1755007 1755024 - Identifier 1755007 1755024 - Identifier 1755025 1755036 - CaseClause 1755038 1755350 - PropertyAccessExpression 1755060 1755093 - Identifier 1755060 1755071 - Identifier 1755072 1755093 - IfStatement 1755094 1755322 - BinaryExpression 1755120 1755192 - PropertyAccessExpression 1755120 1755160 - ParenthesizedExpression 1755120 1755151 - AsExpression 1755121 1755150 - Identifier 1755121 1755125 - TypeReference 1755128 1755150 - Identifier 1755128 1755150 - Identifier 1755152 1755160 - EqualsEqualsEqualsToken 1755160 1755164 - PropertyAccessExpression 1755164 1755192 - Identifier 1755164 1755175 - Identifier 1755176 1755192 - Block 1755193 1755322 - ReturnStatement 1755195 1755299 - CallExpression 1755227 1755298 - Identifier 1755227 1755238 - Identifier 1755239 1755243 - PropertyAccessExpression 1755244 1755284 - ParenthesizedExpression 1755244 1755276 - AsExpression 1755246 1755275 - Identifier 1755246 1755250 - TypeReference 1755253 1755275 - Identifier 1755253 1755275 - Identifier 1755277 1755284 - PrefixUnaryExpression 1755285 1755297 - Identifier 1755287 1755297 - BreakStatement 1755322 1755350 - ReturnStatement 1755365 1755391 - Identifier 1755385 1755390 - FunctionDeclaration 1755402 1756026 - Identifier 1755422 1755446 - Parameter 1755447 1755457 - Identifier 1755447 1755451 - TypeReference 1755452 1755457 - Identifier 1755452 1755457 - Parameter 1755458 1755475 - Identifier 1755458 1755463 - TypeReference 1755464 1755475 - Identifier 1755464 1755475 - Parameter 1755476 1755499 - Identifier 1755476 1755490 - BooleanKeyword 1755491 1755499 - TypeReference 1755501 1755506 - Identifier 1755501 1755506 - Block 1755506 1756026 - IfStatement 1755508 1755711 - CallExpression 1755526 1755562 - Identifier 1755526 1755545 - Identifier 1755546 1755555 - Identifier 1755556 1755561 - Block 1755563 1755711 - ReturnStatement 1755565 1755696 - CallExpression 1755589 1755695 - Identifier 1755589 1755614 - Identifier 1755615 1755619 - ConditionalExpression 1755620 1755694 - Identifier 1755620 1755634 - QuestionToken 1755634 1755636 - PropertyAccessExpression 1755636 1755664 - Identifier 1755636 1755646 - Identifier 1755647 1755664 - ColonToken 1755664 1755666 - PropertyAccessExpression 1755666 1755694 - Identifier 1755666 1755676 - Identifier 1755677 1755694 - VariableStatement 1755711 1755782 - VariableDeclarationList 1755711 1755781 - VariableDeclaration 1755730 1755781 - Identifier 1755730 1755737 - CallExpression 1755739 1755781 - Identifier 1755739 1755769 - Identifier 1755770 1755774 - Identifier 1755775 1755780 - IfStatement 1755782 1755989 - Identifier 1755800 1755806 - Block 1755807 1755989 - ReturnStatement 1755809 1755974 - CallExpression 1755833 1755973 - Identifier 1755833 1755858 - Identifier 1755859 1755863 - Identifier 1755864 1755871 - ArrowFunction 1755872 1755972 - Parameter 1755872 1755874 - Identifier 1755872 1755874 - EqualsGreaterThanToken 1755874 1755877 - CallExpression 1755877 1755972 - Identifier 1755877 1755894 - Identifier 1755895 1755896 - ConditionalExpression 1755897 1755971 - Identifier 1755897 1755911 - QuestionToken 1755911 1755913 - PropertyAccessExpression 1755913 1755941 - Identifier 1755913 1755923 - Identifier 1755924 1755941 - ColonToken 1755941 1755943 - PropertyAccessExpression 1755943 1755971 - Identifier 1755943 1755953 - Identifier 1755954 1755971 - ReturnStatement 1755989 1756015 - Identifier 1756009 1756014 - FunctionDeclaration 1756033 1758290 - Identifier 1756049 1756075 - Parameter 1756076 1756090 - Identifier 1756076 1756082 - TypeReference 1756083 1756090 - Identifier 1756083 1756090 - Parameter 1756091 1756106 - Identifier 1756091 1756100 - TypeReference 1756101 1756106 - Identifier 1756101 1756106 - Block 1756107 1758290 - ExpressionStatement 1756109 1756175 - BinaryExpression 1756109 1756174 - Identifier 1756109 1756125 - EqualsToken 1756125 1756127 - CallExpression 1756127 1756174 - Identifier 1756127 1756166 - Identifier 1756167 1756173 - IfStatement 1756175 1757478 - BinaryExpression 1756562 1756651 - BinaryExpression 1756562 1756601 - PropertyAccessExpression 1756562 1756575 - Identifier 1756562 1756570 - Identifier 1756571 1756575 - EqualsEqualsEqualsToken 1756575 1756579 - PropertyAccessExpression 1756579 1756601 - Identifier 1756579 1756590 - Identifier 1756591 1756601 - BarBarToken 1756601 1756604 - BinaryExpression 1756604 1756651 - PropertyAccessExpression 1756604 1756618 - Identifier 1756604 1756613 - Identifier 1756614 1756618 - EqualsEqualsEqualsToken 1756618 1756622 - PropertyAccessExpression 1756622 1756651 - Identifier 1756622 1756633 - Identifier 1756634 1756651 - Block 1756652 1757478 - IfStatement 1756654 1756787 - CallExpression 1756672 1756724 - Identifier 1756672 1756714 - Identifier 1756715 1756723 - Block 1756725 1756787 - ExpressionStatement 1756727 1756772 - BinaryExpression 1756727 1756771 - Identifier 1756727 1756753 - EqualsToken 1756753 1756755 - PropertyAccessExpression 1756755 1756771 - Identifier 1756755 1756764 - Identifier 1756765 1756771 - IfStatement 1756787 1757467 - BinaryExpression 1756805 1756893 - CallExpression 1756805 1756831 - Identifier 1756805 1756821 - Identifier 1756822 1756830 - AmpersandAmpersandToken 1756831 1756834 - ParenthesizedExpression 1756834 1756893 - BinaryExpression 1756836 1756892 - PrefixUnaryExpression 1756836 1756865 - CallExpression 1756837 1756865 - Identifier 1756837 1756855 - Identifier 1756856 1756864 - BarBarToken 1756865 1756868 - CallExpression 1756868 1756892 - Identifier 1756868 1756882 - Identifier 1756883 1756891 - Block 1756894 1757467 - VariableStatement 1756896 1757286 - VariableDeclarationList 1756896 1757285 - VariableDeclaration 1756919 1757285 - Identifier 1756919 1756924 - CallExpression 1756926 1757285 - Identifier 1756926 1756951 - ConditionalExpression 1756952 1757265 - BinaryExpression 1756952 1757054 - CallExpression 1756952 1756997 - Identifier 1756952 1756987 - Identifier 1756988 1756996 - AmpersandAmpersandToken 1756997 1757000 - BinaryExpression 1757000 1757054 - PropertyAccessExpression 1757000 1757014 - Identifier 1757000 1757009 - Identifier 1757010 1757014 - EqualsEqualsEqualsToken 1757014 1757018 - PropertyAccessExpression 1757018 1757054 - Identifier 1757018 1757029 - Identifier 1757030 1757054 - QuestionToken 1757054 1757056 - CallExpression 1757056 1757194 - Identifier 1757056 1757111 - AsExpression 1757112 1757148 - Identifier 1757112 1757120 - TypeReference 1757123 1757148 - Identifier 1757123 1757148 - Identifier 1757149 1757173 - TrueKeyword 1757174 1757193 - ColonToken 1757194 1757196 - CallExpression 1757196 1757265 - Identifier 1757196 1757241 - AsExpression 1757242 1757264 - Identifier 1757242 1757250 - TypeReference 1757253 1757264 - Identifier 1757253 1757264 - IfStatement 1757286 1757452 - BinaryExpression 1757308 1757396 - CallExpression 1757308 1757385 - Identifier 1757308 1757346 - PropertyAccessExpression 1757347 1757384 - CallExpression 1757347 1757369 - Identifier 1757347 1757359 - Identifier 1757360 1757368 - Identifier 1757370 1757384 - EqualsEqualsEqualsToken 1757385 1757389 - Identifier 1757389 1757396 - Block 1757397 1757452 - ReturnStatement 1757399 1757433 - Identifier 1757427 1757432 - IfStatement 1757478 1757685 - BinaryExpression 1757492 1757602 - BinaryExpression 1757492 1757553 - CallExpression 1757492 1757519 - Identifier 1757492 1757509 - Identifier 1757510 1757518 - AmpersandAmpersandToken 1757519 1757522 - CallExpression 1757522 1757553 - Identifier 1757522 1757536 - PropertyAccessExpression 1757537 1757552 - Identifier 1757537 1757545 - Identifier 1757546 1757552 - AmpersandAmpersandToken 1757553 1757556 - CallExpression 1757556 1757602 - Identifier 1757556 1757585 - PropertyAccessExpression 1757586 1757601 - Identifier 1757586 1757594 - Identifier 1757595 1757601 - Block 1757603 1757685 - ReturnStatement 1757605 1757674 - CallExpression 1757625 1757673 - Identifier 1757625 1757649 - PropertyAccessExpression 1757650 1757672 - PropertyAccessExpression 1757650 1757665 - Identifier 1757650 1757658 - Identifier 1757659 1757665 - Identifier 1757666 1757672 - ReturnStatement 1757685 1758283 - ConditionalExpression 1758141 1758282 - BinaryExpression 1758141 1758215 - CallExpression 1758141 1758181 - Identifier 1758141 1758171 - Identifier 1758172 1758180 - AmpersandAmpersandToken 1758181 1758184 - CallExpression 1758184 1758215 - Identifier 1758184 1758198 - PropertyAccessExpression 1758199 1758214 - Identifier 1758199 1758207 - Identifier 1758208 1758214 - QuestionToken 1758215 1758217 - CallExpression 1758217 1758246 - Identifier 1758217 1758238 - Identifier 1758239 1758245 - ColonToken 1758246 1758248 - CallExpression 1758248 1758282 - Identifier 1758248 1758274 - Identifier 1758275 1758281 - FunctionDeclaration 1758290 1758660 - Identifier 1758306 1758330 - Parameter 1758331 1758341 - Identifier 1758331 1758335 - TypeReference 1758336 1758341 - Identifier 1758336 1758341 - TypeReference 1758343 1758348 - Identifier 1758343 1758348 - Block 1758348 1758660 - ReturnStatement 1758350 1758653 - NonNullExpression 1758366 1758652 - CallExpression 1758366 1758651 - Identifier 1758366 1758379 - PropertyAccessExpression 1758380 1758391 - Identifier 1758380 1758384 - Identifier 1758385 1758391 - ArrowFunction 1758392 1758650 - Parameter 1758392 1758397 - Identifier 1758392 1758397 - EqualsGreaterThanToken 1758397 1758400 - BinaryExpression 1758400 1758650 - BinaryExpression 1758400 1758589 - BinaryExpression 1758400 1758537 - BinaryExpression 1758400 1758484 - CallExpression 1758400 1758434 - Identifier 1758400 1758428 - Identifier 1758429 1758433 - AmpersandAmpersandToken 1758434 1758437 - PrefixUnaryExpression 1758437 1758484 - CallExpression 1758439 1758484 - Identifier 1758439 1758478 - Identifier 1758479 1758483 - BarBarToken 1758484 1758487 - BinaryExpression 1758487 1758537 - PropertyAccessExpression 1758487 1758510 - Identifier 1758487 1758505 - Identifier 1758506 1758510 - EqualsEqualsEqualsToken 1758510 1758514 - PropertyAccessExpression 1758514 1758537 - Identifier 1758514 1758525 - Identifier 1758526 1758537 - BarBarToken 1758537 1758540 - BinaryExpression 1758540 1758589 - PropertyAccessExpression 1758540 1758563 - Identifier 1758540 1758558 - Identifier 1758559 1758563 - EqualsEqualsEqualsToken 1758563 1758567 - PropertyAccessExpression 1758567 1758589 - Identifier 1758567 1758578 - Identifier 1758579 1758589 - BarBarToken 1758589 1758592 - BinaryExpression 1758592 1758650 - PropertyAccessExpression 1758592 1758615 - Identifier 1758592 1758610 - Identifier 1758611 1758615 - EqualsEqualsEqualsToken 1758615 1758619 - PropertyAccessExpression 1758619 1758650 - Identifier 1758619 1758630 - Identifier 1758631 1758650 - FunctionDeclaration 1758660 1759064 - Identifier 1758780 1758807 - Parameter 1758808 1758822 - Identifier 1758808 1758814 - TypeReference 1758815 1758822 - Identifier 1758815 1758822 - Block 1758823 1759064 - IfStatement 1758825 1758941 - BinaryExpression 1758839 1758877 - PropertyAccessExpression 1758839 1758863 - Identifier 1758839 1758845 - Identifier 1758846 1758863 - ExclamationEqualsEqualsToken 1758863 1758867 - Identifier 1758867 1758877 - Block 1758878 1758941 - ReturnStatement 1758880 1758930 - BinaryExpression 1758900 1758929 - PropertyAccessExpression 1758900 1758925 - Identifier 1758900 1758907 - Identifier 1758908 1758925 - LessThanToken 1758925 1758927 - NumericLiteral 1758927 1758929 - ReturnStatement 1758941 1759057 - BinaryExpression 1758957 1759056 - BinaryExpression 1758957 1759024 - CallExpression 1758957 1758982 - Identifier 1758957 1758974 - Identifier 1758975 1758981 - AmpersandAmpersandToken 1758982 1758985 - BinaryExpression 1758985 1759024 - PropertyAccessExpression 1758985 1759010 - Identifier 1758985 1758992 - Identifier 1758993 1759010 - ExclamationEqualsEqualsToken 1759010 1759014 - Identifier 1759014 1759024 - AmpersandAmpersandToken 1759024 1759027 - BinaryExpression 1759027 1759056 - PropertyAccessExpression 1759027 1759052 - Identifier 1759027 1759034 - Identifier 1759035 1759052 - LessThanToken 1759052 1759054 - NumericLiteral 1759054 1759056 - FunctionDeclaration 1759064 1759286 - Identifier 1759173 1759190 - Parameter 1759191 1759205 - Identifier 1759191 1759197 - TypeReference 1759198 1759205 - Identifier 1759198 1759205 - Block 1759206 1759286 - ReturnStatement 1759208 1759279 - PrefixUnaryExpression 1759224 1759278 - CallExpression 1759226 1759278 - Identifier 1759226 1759246 - Identifier 1759247 1759253 - Identifier 1759254 1759277 - FunctionDeclaration 1759286 1760082 - Identifier 1759446 1759467 - Parameter 1759468 1759482 - Identifier 1759468 1759474 - TypeReference 1759475 1759482 - Identifier 1759475 1759482 - Parameter 1759483 1759510 - Identifier 1759483 1759492 - UnionType 1759493 1759510 - TypeReference 1759493 1759498 - Identifier 1759493 1759498 - UndefinedKeyword 1759500 1759510 - Block 1759511 1760082 - VariableStatement 1759513 1759600 - VariableDeclarationList 1759513 1759599 - VariableDeclaration 1759528 1759599 - Identifier 1759528 1759535 - CallExpression 1759537 1759599 - Identifier 1759537 1759550 - PropertyAccessExpression 1759551 1759574 - Identifier 1759551 1759557 - Identifier 1759558 1759574 - Identifier 1759575 1759598 - IfStatement 1759600 1759662 - PrefixUnaryExpression 1759614 1759621 - Identifier 1759615 1759621 - Block 1759622 1759662 - ReturnStatement 1759624 1759651 - FalseKeyword 1759644 1759650 - VariableStatement 1759662 1759707 - VariableDeclarationList 1759662 1759706 - VariableDeclaration 1759677 1759706 - Identifier 1759677 1759683 - CallExpression 1759685 1759706 - Identifier 1759685 1759698 - Identifier 1759699 1759705 - IfStatement 1759707 1759967 - PrefixUnaryExpression 1759721 1759770 - ParenthesizedExpression 1759722 1759770 - BinaryExpression 1759723 1759769 - PropertyAccessExpression 1759723 1759734 - Identifier 1759723 1759728 - Identifier 1759729 1759734 - AmpersandToken 1759734 1759736 - PropertyAccessExpression 1759736 1759769 - Identifier 1759736 1759751 - Identifier 1759752 1759769 - Block 1759771 1759967 - ExpressionStatement 1759773 1759835 - BinaryExpression 1759773 1759834 - PropertyAccessExpression 1759773 1759798 - Identifier 1759773 1759792 - Identifier 1759793 1759798 - BarEqualsToken 1759798 1759801 - PropertyAccessExpression 1759801 1759834 - Identifier 1759801 1759816 - Identifier 1759817 1759834 - IfStatement 1759835 1759956 - PrefixUnaryExpression 1759853 1759892 - CallExpression 1759854 1759892 - Identifier 1759854 1759884 - Identifier 1759885 1759891 - Block 1759893 1759956 - ExpressionStatement 1759895 1759941 - CallExpression 1759895 1759940 - Identifier 1759895 1759932 - Identifier 1759933 1759939 - ReturnStatement 1759967 1760075 - BinaryExpression 1759983 1760074 - PrefixUnaryExpression 1759983 1760009 - PropertyAccessExpression 1759985 1760009 - Identifier 1759985 1759991 - Identifier 1759992 1760009 - BarBarToken 1760009 1760012 - BinaryExpression 1760012 1760074 - Identifier 1760012 1760021 - AmpersandAmpersandToken 1760021 1760024 - BinaryExpression 1760024 1760074 - CallExpression 1760024 1760059 - PropertyAccessExpression 1760024 1760033 - Identifier 1760024 1760029 - Identifier 1760030 1760033 - PropertyAccessExpression 1760034 1760058 - Identifier 1760034 1760040 - Identifier 1760041 1760058 - LessThanToken 1760059 1760061 - PropertyAccessExpression 1760061 1760074 - Identifier 1760061 1760070 - Identifier 1760071 1760074 - FunctionDeclaration 1760082 1760409 - Identifier 1760195 1760216 - Parameter 1760217 1760238 - Identifier 1760217 1760232 - TypeReference 1760233 1760238 - Identifier 1760233 1760238 - Block 1760239 1760409 - ExpressionStatement 1760241 1760336 - CallExpression 1760241 1760335 - PropertyAccessExpression 1760241 1760263 - Identifier 1760241 1760256 - Identifier 1760257 1760263 - BinaryExpression 1760264 1760334 - CallExpression 1760264 1760302 - Identifier 1760264 1760285 - Identifier 1760286 1760301 - BarBarToken 1760302 1760305 - CallExpression 1760305 1760334 - Identifier 1760305 1760317 - Identifier 1760318 1760333 - ReturnStatement 1760336 1760402 - CallExpression 1760352 1760401 - Identifier 1760352 1760379 - PropertyAccessExpression 1760380 1760400 - Identifier 1760380 1760395 - Identifier 1760396 1760400 - FunctionDeclaration 1760409 1760765 - Identifier 1760425 1760452 - Parameter 1760453 1760470 - Identifier 1760453 1760457 - TypeReference 1760458 1760470 - Identifier 1760458 1760470 - BooleanKeyword 1760472 1760480 - Block 1760480 1760765 - IfStatement 1760482 1760635 - BinaryExpression 1760496 1760531 - PropertyAccessExpression 1760496 1760505 - Identifier 1760496 1760500 - Identifier 1760501 1760505 - EqualsEqualsEqualsToken 1760505 1760509 - PropertyAccessExpression 1760509 1760531 - Identifier 1760509 1760520 - Identifier 1760521 1760531 - Block 1760532 1760635 - ReturnStatement 1760534 1760624 - CallExpression 1760554 1760623 - Identifier 1760554 1760571 - CallExpression 1760572 1760622 - Identifier 1760572 1760594 - AsExpression 1760595 1760621 - PropertyAccessExpression 1760595 1760606 - Identifier 1760595 1760599 - Identifier 1760600 1760606 - TypeReference 1760609 1760621 - Identifier 1760609 1760621 - ReturnStatement 1760635 1760758 - CallExpression 1760653 1760757 - Identifier 1760653 1760658 - PropertyAccessExpression 1760659 1760672 - Identifier 1760659 1760663 - Identifier 1760664 1760672 - ArrowFunction 1760673 1760756 - Parameter 1760673 1760675 - Identifier 1760673 1760675 - EqualsGreaterThanToken 1760675 1760678 - BinaryExpression 1760678 1760756 - BinaryExpression 1760678 1760718 - PropertyAccessExpression 1760678 1760685 - Identifier 1760678 1760680 - Identifier 1760681 1760685 - ExclamationEqualsEqualsToken 1760685 1760689 - PropertyAccessExpression 1760689 1760718 - Identifier 1760689 1760700 - Identifier 1760701 1760718 - AmpersandAmpersandToken 1760718 1760721 - CallExpression 1760721 1760756 - Identifier 1760721 1760748 - PropertyAccessExpression 1760749 1760755 - Identifier 1760749 1760750 - Identifier 1760751 1760755 - FunctionDeclaration 1760765 1760983 - Identifier 1760781 1760812 - Parameter 1760813 1760823 - Identifier 1760813 1760817 - TypeReference 1760818 1760823 - Identifier 1760818 1760823 - Block 1760824 1760983 - ReturnStatement 1760826 1760976 - PrefixUnaryExpression 1760842 1760975 - PrefixUnaryExpression 1760844 1760975 - CallExpression 1760845 1760975 - Identifier 1760845 1760857 - PropertyAccessExpression 1760858 1760869 - Identifier 1760858 1760862 - Identifier 1760863 1760869 - ArrowFunction 1760870 1760974 - Parameter 1760870 1760875 - Identifier 1760870 1760875 - EqualsGreaterThanToken 1760875 1760878 - BinaryExpression 1760878 1760974 - CallExpression 1760878 1760907 - Identifier 1760878 1760901 - Identifier 1760902 1760906 - AmpersandAmpersandToken 1760907 1760910 - PrefixUnaryExpression 1760910 1760974 - PrefixUnaryExpression 1760912 1760974 - ParenthesizedExpression 1760913 1760974 - BinaryExpression 1760914 1760973 - PropertyAccessExpression 1760914 1760938 - CallExpression 1760914 1760932 - Identifier 1760914 1760926 - Identifier 1760927 1760931 - Identifier 1760933 1760938 - AmpersandToken 1760938 1760940 - PropertyAccessExpression 1760940 1760973 - Identifier 1760940 1760955 - Identifier 1760956 1760973 - FunctionDeclaration 1760983 1761114 - Identifier 1760999 1761022 - Parameter 1761023 1761033 - Identifier 1761023 1761027 - TypeReference 1761028 1761033 - Identifier 1761028 1761033 - Block 1761034 1761114 - ReturnStatement 1761036 1761107 - BinaryExpression 1761052 1761106 - CallExpression 1761052 1761084 - Identifier 1761052 1761078 - Identifier 1761079 1761083 - BarBarToken 1761084 1761087 - CallExpression 1761087 1761106 - Identifier 1761087 1761100 - Identifier 1761101 1761105 - FunctionDeclaration 1761114 1764247 - Identifier 1761707 1761727 - Parameter 1761728 1761738 - Identifier 1761728 1761732 - TypeReference 1761733 1761738 - Identifier 1761733 1761738 - Block 1761739 1764247 - SwitchStatement 1761741 1764125 - PropertyAccessExpression 1761759 1761768 - Identifier 1761759 1761763 - Identifier 1761764 1761768 - CaseBlock 1761769 1764125 - CaseClause 1761771 1763059 - PropertyAccessExpression 1761789 1761811 - Identifier 1761789 1761800 - Identifier 1761801 1761811 - VariableStatement 1761812 1761884 - VariableDeclarationList 1761812 1761883 - VariableDeclaration 1761835 1761883 - Identifier 1761835 1761851 - CallExpression 1761853 1761883 - Identifier 1761853 1761877 - Identifier 1761878 1761882 - IfStatement 1761884 1763034 - BinaryExpression 1761906 1761945 - Identifier 1761906 1761921 - ExclamationEqualsEqualsToken 1761921 1761925 - PropertyAccessExpression 1761925 1761945 - Identifier 1761925 1761940 - Identifier 1761941 1761945 - Block 1761946 1763034 - VariableStatement 1761948 1762023 - VariableDeclarationList 1761948 1762022 - VariableDeclaration 1761975 1762022 - Identifier 1761975 1761982 - CallExpression 1761984 1762022 - Identifier 1761984 1762002 - AsExpression 1762003 1762021 - Identifier 1762003 1762007 - TypeReference 1762010 1762021 - Identifier 1762010 1762021 - VariableStatement 1762023 1762195 - VariableDeclarationList 1762023 1762194 - VariableDeclaration 1762050 1762194 - Identifier 1762050 1762072 - BinaryExpression 1762074 1762194 - BinaryExpression 1762074 1762118 - Identifier 1762074 1762090 - EqualsEqualsEqualsToken 1762090 1762094 - PropertyAccessExpression 1762094 1762118 - Identifier 1762094 1762109 - Identifier 1762110 1762118 - BarBarToken 1762118 1762121 - ParenthesizedExpression 1762121 1762194 - BinaryExpression 1762123 1762193 - BinaryExpression 1762123 1762161 - PropertyAccessExpression 1762123 1762147 - Identifier 1762123 1762129 - Identifier 1762130 1762147 - ExclamationEqualsEqualsToken 1762147 1762151 - Identifier 1762151 1762161 - AmpersandAmpersandToken 1762161 1762164 - BinaryExpression 1762164 1762193 - PropertyAccessExpression 1762164 1762189 - Identifier 1762164 1762171 - Identifier 1762172 1762189 - LessThanToken 1762189 1762191 - NumericLiteral 1762191 1762193 - IfStatement 1762195 1763015 - CallExpression 1762221 1762262 - Identifier 1762221 1762254 - Identifier 1762255 1762261 - Block 1762263 1763015 - IfStatement 1762265 1762818 - BinaryExpression 1762295 1762392 - BinaryExpression 1762295 1762333 - PropertyAccessExpression 1762295 1762319 - Identifier 1762295 1762301 - Identifier 1762302 1762319 - EqualsEqualsEqualsToken 1762319 1762323 - Identifier 1762323 1762333 - BarBarToken 1762333 1762336 - BinaryExpression 1762336 1762392 - CallExpression 1762336 1762371 - PropertyAccessExpression 1762336 1762345 - Identifier 1762336 1762341 - Identifier 1762342 1762345 - PropertyAccessExpression 1762346 1762370 - Identifier 1762346 1762352 - Identifier 1762353 1762370 - ExclamationEqualsEqualsToken 1762371 1762375 - PropertyAccessExpression 1762375 1762392 - Identifier 1762375 1762382 - Identifier 1762383 1762392 - Block 1762393 1762818 - VariableStatement 1762395 1762496 - VariableDeclarationList 1762395 1762495 - VariableDeclaration 1762430 1762495 - Identifier 1762430 1762450 - CallExpression 1762452 1762495 - Identifier 1762452 1762465 - Identifier 1762466 1762470 - Identifier 1762471 1762494 - VariableStatement 1762496 1762614 - VariableDeclarationList 1762496 1762613 - VariableDeclaration 1762531 1762613 - Identifier 1762531 1762549 - CallExpression 1762551 1762613 - Identifier 1762551 1762564 - PropertyAccessExpression 1762565 1762588 - Identifier 1762565 1762571 - Identifier 1762572 1762588 - Identifier 1762589 1762612 - ExpressionStatement 1762614 1762791 - BinaryExpression 1762614 1762790 - PropertyAccessExpression 1762614 1762668 - Identifier 1762614 1762650 - Identifier 1762651 1762668 - EqualsToken 1762668 1762670 - ConditionalExpression 1762670 1762790 - BinaryExpression 1762670 1762712 - Identifier 1762670 1762690 - EqualsEqualsEqualsToken 1762690 1762694 - Identifier 1762694 1762712 - QuestionToken 1762712 1762714 - CallExpression 1762714 1762771 - Identifier 1762714 1762739 - Identifier 1762740 1762744 - NonNullExpression 1762745 1762770 - PropertyAccessExpression 1762745 1762769 - Identifier 1762745 1762752 - Identifier 1762753 1762769 - ColonToken 1762771 1762773 - PropertyAccessExpression 1762773 1762790 - Identifier 1762773 1762780 - Identifier 1762781 1762790 - IfStatement 1762818 1762992 - BinaryExpression 1762848 1762901 - Identifier 1762848 1762869 - AmpersandAmpersandToken 1762869 1762872 - BinaryExpression 1762872 1762901 - PropertyAccessExpression 1762872 1762897 - Identifier 1762872 1762879 - Identifier 1762880 1762897 - GreaterThanToken 1762897 1762899 - NumericLiteral 1762899 1762901 - Block 1762902 1762992 - ExpressionStatement 1762904 1762965 - BinaryExpression 1762904 1762964 - PropertyAccessExpression 1762904 1762958 - Identifier 1762904 1762940 - Identifier 1762941 1762958 - AsteriskEqualsToken 1762958 1762961 - PrefixUnaryExpression 1762961 1762964 - NumericLiteral 1762963 1762964 - ReturnStatement 1763034 1763059 - CaseClause 1763059 1763941 - PropertyAccessExpression 1763077 1763104 - Identifier 1763077 1763088 - Identifier 1763089 1763104 - VariableStatement 1763105 1763189 - VariableDeclarationList 1763105 1763188 - VariableDeclaration 1763128 1763188 - Identifier 1763128 1763146 - PropertyAccessExpression 1763148 1763188 - PropertyAccessExpression 1763148 1763181 - ParenthesizedExpression 1763148 1763174 - AsExpression 1763150 1763173 - Identifier 1763150 1763154 - TypeReference 1763157 1763173 - Identifier 1763157 1763173 - Identifier 1763175 1763181 - Identifier 1763182 1763188 - VariableStatement 1763189 1763293 - VariableDeclarationList 1763189 1763292 - VariableDeclaration 1763212 1763292 - Identifier 1763212 1763217 - BinaryExpression 1763219 1763292 - PropertyAccessExpression 1763219 1763258 - ParenthesizedExpression 1763219 1763245 - AsExpression 1763221 1763244 - Identifier 1763221 1763225 - TypeReference 1763228 1763244 - Identifier 1763228 1763244 - Identifier 1763246 1763258 - BarBarToken 1763258 1763261 - PropertyAccessExpression 1763261 1763292 - ParenthesizedExpression 1763261 1763287 - AsExpression 1763263 1763286 - Identifier 1763263 1763267 - TypeReference 1763270 1763286 - Identifier 1763270 1763286 - Identifier 1763288 1763292 - IfStatement 1763293 1763916 - BinaryExpression 1763315 1763465 - BinaryExpression 1763315 1763423 - BinaryExpression 1763315 1763385 - PrefixUnaryExpression 1763315 1763352 - PropertyAccessExpression 1763316 1763352 - ParenthesizedExpression 1763316 1763341 - AsExpression 1763317 1763340 - Identifier 1763317 1763321 - TypeReference 1763324 1763340 - Identifier 1763324 1763340 - Identifier 1763342 1763352 - AmpersandAmpersandToken 1763352 1763355 - PrefixUnaryExpression 1763355 1763385 - PropertyAccessExpression 1763357 1763385 - Identifier 1763357 1763374 - Identifier 1763375 1763385 - AmpersandAmpersandToken 1763385 1763388 - PrefixUnaryExpression 1763388 1763423 - PropertyAccessExpression 1763390 1763423 - Identifier 1763390 1763407 - Identifier 1763408 1763423 - AmpersandAmpersandToken 1763423 1763426 - BinaryExpression 1763426 1763465 - PropertyAccessExpression 1763426 1763436 - Identifier 1763426 1763431 - Identifier 1763432 1763436 - ExclamationEqualsEqualsToken 1763436 1763440 - PropertyAccessExpression 1763440 1763465 - Identifier 1763440 1763451 - Identifier 1763452 1763465 - Block 1763466 1763916 - VariableStatement 1763468 1763598 - VariableDeclarationList 1763468 1763597 - VariableDeclaration 1763495 1763597 - Identifier 1763495 1763502 - CallExpression 1763504 1763597 - Identifier 1763504 1763522 - Identifier 1763523 1763527 - PropertyAccessExpression 1763528 1763546 - Identifier 1763528 1763540 - Identifier 1763541 1763546 - TrueKeyword 1763547 1763569 - TrueKeyword 1763570 1763596 - IfStatement 1763598 1763897 - BinaryExpression 1763624 1763675 - Identifier 1763624 1763630 - AmpersandAmpersandToken 1763630 1763633 - CallExpression 1763633 1763675 - Identifier 1763633 1763667 - Identifier 1763668 1763674 - Block 1763676 1763897 - VariableStatement 1763678 1763797 - VariableDeclarationList 1763678 1763796 - VariableDeclaration 1763709 1763796 - Identifier 1763709 1763714 - ConditionalExpression 1763716 1763796 - BinaryExpression 1763716 1763787 - BinaryExpression 1763716 1763755 - PropertyAccessExpression 1763716 1763741 - Identifier 1763716 1763723 - Identifier 1763724 1763741 - ExclamationEqualsEqualsToken 1763741 1763745 - Identifier 1763745 1763755 - AmpersandAmpersandToken 1763755 1763758 - BinaryExpression 1763758 1763787 - PropertyAccessExpression 1763758 1763783 - Identifier 1763758 1763765 - Identifier 1763766 1763783 - LessThanToken 1763783 1763785 - NumericLiteral 1763785 1763787 - QuestionToken 1763787 1763789 - PrefixUnaryExpression 1763789 1763792 - NumericLiteral 1763791 1763792 - ColonToken 1763792 1763794 - NumericLiteral 1763794 1763796 - ExpressionStatement 1763797 1763874 - BinaryExpression 1763797 1763873 - PropertyAccessExpression 1763797 1763847 - Identifier 1763797 1763829 - Identifier 1763830 1763847 - EqualsToken 1763847 1763849 - BinaryExpression 1763849 1763873 - Identifier 1763849 1763854 - AsteriskToken 1763854 1763856 - PropertyAccessExpression 1763856 1763873 - Identifier 1763856 1763863 - Identifier 1763864 1763873 - ReturnStatement 1763916 1763941 - CaseClause 1763941 1763992 - PropertyAccessExpression 1763959 1763991 - Identifier 1763959 1763970 - Identifier 1763971 1763991 - CaseClause 1763992 1764043 - PropertyAccessExpression 1764010 1764042 - Identifier 1764010 1764021 - Identifier 1764022 1764042 - CaseClause 1764043 1764114 - PropertyAccessExpression 1764061 1764088 - Identifier 1764061 1764072 - Identifier 1764073 1764088 - ReturnStatement 1764089 1764114 - IfStatement 1764125 1764190 - CallExpression 1764139 1764155 - Identifier 1764139 1764149 - Identifier 1764150 1764154 - Block 1764156 1764190 - ReturnStatement 1764158 1764179 - ExpressionStatement 1764190 1764240 - CallExpression 1764190 1764239 - Identifier 1764190 1764212 - Identifier 1764213 1764217 - Identifier 1764218 1764238 - FunctionDeclaration 1764247 1765409 - Identifier 1764515 1764540 - Parameter 1764541 1764551 - Identifier 1764541 1764545 - TypeReference 1764546 1764551 - Identifier 1764546 1764551 - Parameter 1764552 1764577 - Identifier 1764552 1764564 - TypeReference 1764565 1764577 - Identifier 1764565 1764577 - Block 1764578 1765409 - VariableStatement 1764580 1764609 - VariableDeclarationList 1764580 1764608 - VariableDeclaration 1764593 1764608 - Identifier 1764593 1764597 - PropertyAccessExpression 1764599 1764608 - Identifier 1764599 1764604 - Identifier 1764605 1764608 - WhileStatement 1764609 1765381 - BinaryExpression 1764626 1764660 - Identifier 1764626 1764630 - AmpersandAmpersandToken 1764630 1764633 - BinaryExpression 1764633 1764660 - PropertyAccessExpression 1764633 1764642 - Identifier 1764633 1764638 - Identifier 1764639 1764642 - GreaterThanToken 1764642 1764644 - PropertyAccessExpression 1764644 1764660 - Identifier 1764644 1764656 - Identifier 1764657 1764660 - Block 1764661 1765381 - SwitchStatement 1764663 1765337 - PropertyAccessExpression 1764685 1764694 - Identifier 1764685 1764689 - Identifier 1764690 1764694 - CaseBlock 1764695 1765337 - CaseClause 1764697 1764749 - PropertyAccessExpression 1764719 1764748 - Identifier 1764719 1764730 - Identifier 1764731 1764748 - CaseClause 1764749 1764803 - PropertyAccessExpression 1764771 1764802 - Identifier 1764771 1764782 - Identifier 1764783 1764802 - CaseClause 1764803 1764849 - PropertyAccessExpression 1764825 1764848 - Identifier 1764825 1764836 - Identifier 1764837 1764848 - CaseClause 1764849 1764895 - PropertyAccessExpression 1764871 1764894 - Identifier 1764871 1764882 - Identifier 1764883 1764894 - CaseClause 1764895 1764944 - PropertyAccessExpression 1764917 1764943 - Identifier 1764917 1764928 - Identifier 1764929 1764943 - CaseClause 1764944 1764991 - PropertyAccessExpression 1764966 1764990 - Identifier 1764966 1764977 - Identifier 1764978 1764990 - CaseClause 1764991 1765040 - PropertyAccessExpression 1765013 1765039 - Identifier 1765013 1765024 - Identifier 1765025 1765039 - CaseClause 1765040 1765089 - PropertyAccessExpression 1765062 1765088 - Identifier 1765062 1765073 - Identifier 1765074 1765088 - CaseClause 1765089 1765137 - PropertyAccessExpression 1765111 1765136 - Identifier 1765111 1765122 - Identifier 1765123 1765136 - CaseClause 1765137 1765187 - PropertyAccessExpression 1765159 1765186 - Identifier 1765159 1765170 - Identifier 1765171 1765186 - CaseClause 1765187 1765234 - PropertyAccessExpression 1765209 1765233 - Identifier 1765209 1765220 - Identifier 1765221 1765233 - CaseClause 1765234 1765322 - PropertyAccessExpression 1765256 1765284 - Identifier 1765256 1765267 - Identifier 1765268 1765284 - ExpressionStatement 1765285 1765322 - BinaryExpression 1765285 1765321 - Identifier 1765285 1765310 - EqualsToken 1765310 1765312 - PropertyAccessExpression 1765312 1765321 - Identifier 1765312 1765317 - Identifier 1765318 1765321 - ExpressionStatement 1765337 1765370 - BinaryExpression 1765337 1765369 - Identifier 1765337 1765355 - EqualsToken 1765355 1765357 - PropertyAccessExpression 1765357 1765369 - Identifier 1765357 1765362 - Identifier 1765363 1765369 - ReturnStatement 1765381 1765402 - Identifier 1765397 1765401 - FunctionDeclaration 1765409 1765596 - Identifier 1765425 1765444 - Parameter 1765445 1765459 - Identifier 1765445 1765451 - TypeReference 1765452 1765459 - Identifier 1765452 1765459 - Block 1765460 1765596 - ReturnStatement 1765462 1765589 - BinaryExpression 1765478 1765588 - BinaryExpression 1765478 1765514 - PropertyAccessExpression 1765478 1765491 - Identifier 1765478 1765485 - Identifier 1765486 1765491 - AmpersandToken 1765491 1765493 - PropertyAccessExpression 1765493 1765514 - Identifier 1765493 1765505 - Identifier 1765506 1765514 - AmpersandAmpersandToken 1765514 1765517 - BinaryExpression 1765517 1765588 - ParenthesizedExpression 1765517 1765582 - BinaryExpression 1765519 1765581 - CallExpression 1765519 1765560 - Identifier 1765519 1765552 - Identifier 1765553 1765559 - AmpersandToken 1765560 1765562 - PropertyAccessExpression 1765562 1765581 - Identifier 1765562 1765572 - Identifier 1765573 1765581 - ExclamationEqualsEqualsToken 1765582 1765586 - NumericLiteral 1765586 1765588 - FunctionDeclaration 1765596 1766100 - Identifier 1765612 1765646 - Parameter 1765647 1765661 - Identifier 1765647 1765653 - TypeReference 1765654 1765661 - Identifier 1765654 1765661 - Block 1765662 1766100 - VariableStatement 1765664 1765868 - VariableDeclarationList 1765664 1765867 - VariableDeclaration 1765782 1765867 - Identifier 1765782 1765794 - BinaryExpression 1765796 1765867 - PropertyAccessExpression 1765796 1765820 - Identifier 1765796 1765803 - Identifier 1765804 1765820 - AmpersandAmpersandToken 1765820 1765823 - CallExpression 1765823 1765867 - Identifier 1765823 1765842 - PropertyAccessExpression 1765843 1765866 - Identifier 1765843 1765849 - Identifier 1765850 1765866 - ReturnStatement 1765868 1766093 - BinaryExpression 1765884 1766092 - PrefixUnaryExpression 1765884 1765898 - PrefixUnaryExpression 1765886 1765898 - Identifier 1765887 1765898 - AmpersandAmpersandToken 1765898 1765901 - ParenthesizedExpression 1765901 1766092 - BinaryExpression 1765903 1766081 - CallExpression 1765903 1765941 - Identifier 1765903 1765928 - Identifier 1765929 1765940 - BarBarToken 1765941 1765944 - BinaryExpression 1765944 1766081 - CallExpression 1765944 1765992 - Identifier 1765944 1765979 - Identifier 1765980 1765991 - AmpersandAmpersandToken 1765992 1765995 - ParenthesizedExpression 1765995 1766081 - BinaryExpression 1765997 1766080 - CallExpression 1765997 1766030 - Identifier 1765997 1766010 - PropertyAccessExpression 1766011 1766029 - Identifier 1766011 1766022 - Identifier 1766023 1766029 - BarBarToken 1766030 1766033 - CallExpression 1766033 1766080 - Identifier 1766033 1766067 - Identifier 1766068 1766079 - FunctionDeclaration 1766100 1766564 - Identifier 1766116 1766150 - Parameter 1766151 1766183 - Identifier 1766151 1766162 - TypeReference 1766163 1766183 - Identifier 1766163 1766183 - Block 1766184 1766564 - ReturnStatement 1766186 1766557 - BinaryExpression 1766284 1766556 - PrefixUnaryExpression 1766284 1766329 - PrefixUnaryExpression 1766286 1766329 - ParenthesizedExpression 1766287 1766329 - BinaryExpression 1766288 1766328 - PropertyAccessExpression 1766288 1766312 - PropertyAccessExpression 1766288 1766306 - Identifier 1766288 1766299 - Identifier 1766300 1766306 - Identifier 1766307 1766312 - AmpersandToken 1766312 1766314 - PropertyAccessExpression 1766314 1766328 - Identifier 1766314 1766324 - Identifier 1766325 1766328 - AmpersandAmpersandToken 1766329 1766332 - PrefixUnaryExpression 1766332 1766556 - ParenthesizedExpression 1766334 1766556 - BinaryExpression 1766335 1766545 - BinaryExpression 1766335 1766409 - CallExpression 1766335 1766386 - Identifier 1766335 1766373 - Identifier 1766374 1766385 - AmpersandToken 1766386 1766388 - PropertyAccessExpression 1766388 1766409 - Identifier 1766388 1766402 - Identifier 1766403 1766409 - BarBarToken 1766409 1766412 - BinaryExpression 1766412 1766545 - BinaryExpression 1766412 1766489 - PropertyAccessExpression 1766412 1766456 - PropertyAccessExpression 1766412 1766451 - PropertyAccessExpression 1766412 1766444 - Identifier 1766412 1766437 - Identifier 1766438 1766444 - Identifier 1766445 1766451 - Identifier 1766452 1766456 - EqualsEqualsEqualsToken 1766456 1766460 - PropertyAccessExpression 1766460 1766489 - Identifier 1766460 1766471 - Identifier 1766472 1766489 - AmpersandAmpersandToken 1766489 1766492 - CallExpression 1766492 1766545 - Identifier 1766492 1766511 - PropertyAccessExpression 1766512 1766544 - PropertyAccessExpression 1766512 1766537 - PropertyAccessExpression 1766512 1766530 - Identifier 1766512 1766523 - Identifier 1766524 1766530 - Identifier 1766531 1766537 - Identifier 1766538 1766544 - FunctionDeclaration 1766564 1767465 - Identifier 1766580 1766618 - Parameter 1766619 1766652 - Identifier 1766619 1766630 - TypeReference 1766631 1766652 - Identifier 1766631 1766652 - BooleanKeyword 1766654 1766662 - Block 1766662 1767465 - VariableStatement 1766664 1766714 - VariableDeclarationList 1766664 1766713 - VariableDeclaration 1766679 1766713 - Identifier 1766679 1766685 - CallExpression 1766687 1766713 - Identifier 1766687 1766700 - Identifier 1766701 1766712 - IfStatement 1766714 1767395 - BinaryExpression 1766730 1766787 - PropertyAccessExpression 1766730 1766773 - Identifier 1766730 1766735 - Identifier 1766736 1766773 - EqualsEqualsEqualsToken 1766773 1766777 - Identifier 1766777 1766787 - Block 1766788 1767395 - IfStatement 1766790 1767011 - PrefixUnaryExpression 1766808 1766902 - CallExpression 1766809 1766902 - Identifier 1766809 1766827 - Identifier 1766828 1766839 - PropertyAccessExpression 1766840 1766901 - Identifier 1766840 1766863 - Identifier 1766864 1766901 - Block 1766903 1767011 - ExpressionStatement 1766905 1766966 - CallExpression 1766905 1766965 - Identifier 1766905 1766945 - PropertyAccessExpression 1766946 1766964 - Identifier 1766946 1766957 - Identifier 1766958 1766964 - ReturnStatement 1766966 1766996 - TrueKeyword 1766990 1766995 - VariableStatement 1767011 1767153 - VariableDeclarationList 1767011 1767152 - VariableDeclaration 1767032 1767152 - Identifier 1767032 1767050 - PrefixUnaryExpression 1767052 1767152 - PrefixUnaryExpression 1767054 1767152 - ParenthesizedExpression 1767055 1767152 - CallExpression 1767056 1767151 - Identifier 1767056 1767068 - CallExpression 1767069 1767127 - Identifier 1767069 1767096 - Identifier 1767097 1767108 - PropertyAccessExpression 1767109 1767126 - Identifier 1767109 1767119 - Identifier 1767120 1767126 - PropertyAccessExpression 1767128 1767150 - Identifier 1767128 1767138 - Identifier 1767139 1767150 - IfStatement 1767153 1767302 - PrefixUnaryExpression 1767173 1767193 - CallExpression 1767174 1767193 - Identifier 1767174 1767191 - Block 1767194 1767302 - ExpressionStatement 1767196 1767257 - CallExpression 1767196 1767256 - Identifier 1767196 1767236 - PropertyAccessExpression 1767237 1767255 - Identifier 1767237 1767248 - Identifier 1767249 1767255 - ReturnStatement 1767257 1767287 - TrueKeyword 1767281 1767286 - ExpressionStatement 1767302 1767384 - BinaryExpression 1767302 1767383 - PropertyAccessExpression 1767302 1767361 - Identifier 1767302 1767323 - Identifier 1767324 1767361 - QuestionQuestionEqualsToken 1767361 1767365 - Identifier 1767365 1767383 - ReturnStatement 1767395 1767458 - PropertyAccessExpression 1767413 1767457 - Identifier 1767413 1767419 - Identifier 1767420 1767457 - FunctionDeclaration 1767465 1768107 - Identifier 1767611 1767645 - Parameter 1767646 1767664 - Identifier 1767646 1767658 - TypeReference 1767659 1767664 - Identifier 1767659 1767664 - Parameter 1767665 1767702 - Identifier 1767665 1767677 - TypeReference 1767678 1767702 - Identifier 1767678 1767702 - TypeReference 1767704 1767709 - Identifier 1767704 1767709 - Block 1767709 1768107 - VariableStatement 1767711 1767994 - VariableDeclarationList 1767711 1767993 - VariableDeclaration 1767726 1767993 - Identifier 1767726 1767742 - BinaryExpression 1767744 1767993 - BinaryExpression 1767744 1767925 - BinaryExpression 1767744 1767859 - BinaryExpression 1767744 1767819 - Identifier 1767744 1767761 - AmpersandAmpersandToken 1767761 1767764 - BinaryExpression 1767764 1767819 - PropertyAccessExpression 1767764 1767794 - Identifier 1767764 1767789 - Identifier 1767790 1767794 - EqualsEqualsEqualsToken 1767794 1767798 - PropertyAccessExpression 1767798 1767819 - Identifier 1767798 1767809 - Identifier 1767810 1767819 - AmpersandAmpersandToken 1767819 1767822 - PropertyAccessExpression 1767822 1767859 - Identifier 1767822 1767847 - Identifier 1767848 1767859 - AmpersandAmpersandToken 1767859 1767862 - CallExpression 1767862 1767925 - Identifier 1767862 1767888 - Identifier 1767889 1767901 - PropertyAccessExpression 1767902 1767924 - Identifier 1767902 1767912 - Identifier 1767913 1767924 - AmpersandAmpersandToken 1767925 1767928 - PrefixUnaryExpression 1767928 1767993 - CallExpression 1767943 1767993 - Identifier 1767943 1767980 - Identifier 1767981 1767992 - ReturnStatement 1767994 1768100 - ConditionalExpression 1768012 1768099 - Identifier 1768012 1768028 - QuestionToken 1768028 1768030 - CallExpression 1768030 1768084 - Identifier 1768030 1768047 - Identifier 1768048 1768060 - PropertyAccessExpression 1768061 1768083 - Identifier 1768061 1768071 - Identifier 1768072 1768083 - ColonToken 1768084 1768086 - Identifier 1768086 1768099 - FunctionDeclaration 1768107 1769167 - Identifier 1768123 1768144 - Parameter 1768145 1768155 - Identifier 1768145 1768149 - TypeReference 1768150 1768155 - Identifier 1768150 1768155 - Parameter 1768156 1768167 - Identifier 1768156 1768161 - TypeReference 1768162 1768167 - Identifier 1768162 1768167 - Block 1768168 1769167 - VariableStatement 1768170 1768207 - VariableDeclarationList 1768170 1768206 - VariableDeclaration 1768185 1768206 - Identifier 1768185 1768192 - PropertyAccessExpression 1768194 1768206 - Identifier 1768194 1768199 - Identifier 1768200 1768206 - ReturnStatement 1768207 1769160 - BinaryExpression 1768533 1769159 - BinaryExpression 1768533 1768856 - BinaryExpression 1768533 1768750 - BinaryExpression 1768533 1768642 - BinaryExpression 1768533 1768585 - PropertyAccessExpression 1768533 1768545 - Identifier 1768533 1768540 - Identifier 1768541 1768545 - EqualsEqualsEqualsToken 1768545 1768549 - PropertyAccessExpression 1768549 1768585 - Identifier 1768549 1768560 - Identifier 1768561 1768585 - BarBarToken 1768585 1768588 - BinaryExpression 1768588 1768642 - PropertyAccessExpression 1768588 1768613 - Identifier 1768588 1768608 - Identifier 1768609 1768613 - EqualsEqualsEqualsToken 1768613 1768617 - PropertyAccessExpression 1768617 1768642 - Identifier 1768617 1768628 - Identifier 1768629 1768642 - BarBarToken 1768642 1768645 - BinaryExpression 1768645 1768750 - BinaryExpression 1768645 1768700 - PropertyAccessExpression 1768645 1768670 - Identifier 1768645 1768665 - Identifier 1768666 1768670 - EqualsEqualsEqualsToken 1768670 1768674 - PropertyAccessExpression 1768674 1768700 - Identifier 1768674 1768685 - Identifier 1768686 1768700 - AmpersandAmpersandToken 1768700 1768703 - BinaryExpression 1768703 1768750 - PropertyAccessExpression 1768703 1768741 - ParenthesizedExpression 1768703 1768730 - AsExpression 1768705 1768729 - Identifier 1768705 1768711 - TypeReference 1768714 1768729 - Identifier 1768714 1768729 - Identifier 1768731 1768741 - EqualsEqualsEqualsToken 1768741 1768745 - Identifier 1768745 1768750 - BarBarToken 1768750 1768753 - BinaryExpression 1768753 1768856 - BinaryExpression 1768753 1768807 - PropertyAccessExpression 1768753 1768778 - Identifier 1768753 1768773 - Identifier 1768774 1768778 - EqualsEqualsEqualsToken 1768778 1768782 - PropertyAccessExpression 1768782 1768807 - Identifier 1768782 1768793 - Identifier 1768794 1768807 - AmpersandAmpersandToken 1768807 1768810 - BinaryExpression 1768810 1768856 - PropertyAccessExpression 1768810 1768847 - ParenthesizedExpression 1768810 1768836 - AsExpression 1768812 1768835 - Identifier 1768812 1768818 - TypeReference 1768821 1768835 - Identifier 1768821 1768835 - Identifier 1768837 1768847 - EqualsEqualsEqualsToken 1768847 1768851 - Identifier 1768851 1768856 - BarBarToken 1768856 1768859 - BinaryExpression 1768859 1769159 - BinaryExpression 1768859 1768982 - BinaryExpression 1768859 1768923 - PropertyAccessExpression 1768859 1768884 - Identifier 1768859 1768879 - Identifier 1768880 1768884 - EqualsEqualsEqualsToken 1768884 1768888 - PropertyAccessExpression 1768888 1768923 - Identifier 1768888 1768899 - Identifier 1768900 1768923 - AmpersandAmpersandToken 1768923 1768926 - BinaryExpression 1768926 1768982 - PropertyAccessExpression 1768926 1768973 - ParenthesizedExpression 1768926 1768962 - AsExpression 1768928 1768961 - Identifier 1768928 1768934 - TypeReference 1768937 1768961 - Identifier 1768937 1768961 - Identifier 1768963 1768973 - EqualsEqualsEqualsToken 1768973 1768977 - Identifier 1768977 1768982 - AmpersandAmpersandToken 1768982 1768985 - PrefixUnaryExpression 1768985 1769159 - ParenthesizedExpression 1769004 1769159 - BinaryExpression 1769005 1769158 - CallExpression 1769005 1769059 - Identifier 1769005 1769013 - Identifier 1769014 1769018 - Identifier 1769019 1769058 - AmpersandAmpersandToken 1769059 1769062 - CallExpression 1769062 1769158 - Identifier 1769062 1769081 - CallExpression 1769082 1769157 - Identifier 1769082 1769101 - PropertyAccessExpression 1769102 1769156 - ParenthesizedExpression 1769102 1769137 - AsExpression 1769103 1769136 - Identifier 1769103 1769109 - TypeReference 1769112 1769136 - Identifier 1769112 1769136 - Identifier 1769138 1769156 - FunctionDeclaration 1769167 1769522 - Identifier 1769183 1769216 - Parameter 1769217 1769227 - Identifier 1769217 1769221 - TypeReference 1769222 1769227 - Identifier 1769222 1769227 - BooleanKeyword 1769229 1769237 - Block 1769237 1769522 - ReturnStatement 1769239 1769515 - ConditionalExpression 1769255 1769514 - BinaryExpression 1769255 1769291 - PropertyAccessExpression 1769255 1769266 - Identifier 1769255 1769260 - Identifier 1769261 1769266 - AmpersandToken 1769266 1769268 - PropertyAccessExpression 1769268 1769291 - Identifier 1769268 1769278 - Identifier 1769279 1769291 - QuestionToken 1769291 1769293 - CallExpression 1769293 1769379 - Identifier 1769293 1769311 - PropertyAccessExpression 1769312 1769344 - ParenthesizedExpression 1769312 1769338 - AsExpression 1769313 1769337 - Identifier 1769313 1769317 - TypeReference 1769320 1769337 - Identifier 1769320 1769337 - Identifier 1769339 1769344 - Identifier 1769345 1769378 - ColonToken 1769379 1769381 - PrefixUnaryExpression 1769381 1769514 - PrefixUnaryExpression 1769396 1769514 - ParenthesizedExpression 1769397 1769514 - BinaryExpression 1769398 1769513 - BinaryExpression 1769398 1769433 - PropertyAccessExpression 1769398 1769408 - Identifier 1769398 1769402 - Identifier 1769403 1769408 - AmpersandToken 1769408 1769410 - PropertyAccessExpression 1769410 1769433 - Identifier 1769410 1769420 - Identifier 1769421 1769433 - AmpersandAmpersandToken 1769433 1769436 - BinaryExpression 1769436 1769513 - PropertyAccessExpression 1769436 1769472 - CallExpression 1769436 1769466 - Identifier 1769436 1769460 - Identifier 1769461 1769465 - Identifier 1769467 1769472 - AmpersandToken 1769472 1769474 - ParenthesizedExpression 1769474 1769513 - BinaryExpression 1769476 1769512 - PropertyAccessExpression 1769476 1769494 - Identifier 1769476 1769485 - Identifier 1769486 1769494 - BarToken 1769494 1769496 - PropertyAccessExpression 1769496 1769512 - Identifier 1769496 1769506 - Identifier 1769507 1769512 - FunctionDeclaration 1769522 1769880 - Identifier 1769538 1769577 - Parameter 1769578 1769588 - Identifier 1769578 1769582 - TypeReference 1769583 1769588 - Identifier 1769583 1769588 - BooleanKeyword 1769590 1769598 - Block 1769598 1769880 - ReturnStatement 1769600 1769873 - ConditionalExpression 1769616 1769872 - BinaryExpression 1769616 1769652 - PropertyAccessExpression 1769616 1769627 - Identifier 1769616 1769621 - Identifier 1769622 1769627 - AmpersandToken 1769627 1769629 - PropertyAccessExpression 1769629 1769652 - Identifier 1769629 1769639 - Identifier 1769640 1769652 - QuestionToken 1769652 1769654 - CallExpression 1769654 1769746 - Identifier 1769654 1769672 - PropertyAccessExpression 1769673 1769705 - ParenthesizedExpression 1769673 1769699 - AsExpression 1769674 1769698 - Identifier 1769674 1769678 - TypeReference 1769681 1769698 - Identifier 1769681 1769698 - Identifier 1769700 1769705 - Identifier 1769706 1769745 - ColonToken 1769746 1769748 - PrefixUnaryExpression 1769748 1769872 - PrefixUnaryExpression 1769763 1769872 - ParenthesizedExpression 1769764 1769872 - BinaryExpression 1769765 1769871 - BinaryExpression 1769765 1769800 - PropertyAccessExpression 1769765 1769775 - Identifier 1769765 1769769 - Identifier 1769770 1769775 - AmpersandToken 1769775 1769777 - PropertyAccessExpression 1769777 1769800 - Identifier 1769777 1769787 - Identifier 1769788 1769800 - AmpersandAmpersandToken 1769800 1769803 - PrefixUnaryExpression 1769803 1769871 - CallExpression 1769805 1769871 - Identifier 1769805 1769820 - CallExpression 1769821 1769850 - Identifier 1769821 1769844 - Identifier 1769845 1769849 - PropertyAccessExpression 1769851 1769870 - Identifier 1769851 1769861 - Identifier 1769862 1769870 - FunctionDeclaration 1769880 1770893 - Identifier 1769896 1769932 - Parameter 1769933 1769943 - Identifier 1769933 1769937 - TypeReference 1769938 1769943 - Identifier 1769938 1769943 - Parameter 1769944 1769977 - Identifier 1769944 1769954 - UnionType 1769955 1769977 - TypeReference 1769955 1769965 - Identifier 1769955 1769965 - UndefinedKeyword 1769967 1769977 - Block 1769978 1770893 - VariableStatement 1769980 1770820 - VariableDeclarationList 1769980 1770819 - VariableDeclaration 1770364 1770819 - Identifier 1770364 1770379 - BinaryExpression 1770381 1770819 - BinaryExpression 1770381 1770599 - ParenthesizedExpression 1770381 1770473 - BinaryExpression 1770383 1770472 - BinaryExpression 1770383 1770437 - CallExpression 1770383 1770401 - Identifier 1770383 1770395 - Identifier 1770396 1770400 - BarBarToken 1770401 1770404 - CallExpression 1770404 1770437 - Identifier 1770404 1770431 - Identifier 1770432 1770436 - BarBarToken 1770437 1770440 - CallExpression 1770440 1770472 - Identifier 1770440 1770466 - Identifier 1770467 1770471 - AmpersandAmpersandToken 1770473 1770476 - PrefixUnaryExpression 1770476 1770599 - ParenthesizedExpression 1770491 1770599 - BinaryExpression 1770492 1770598 - ParenthesizedExpression 1770492 1770566 - BinaryExpression 1770493 1770565 - CallExpression 1770493 1770525 - Identifier 1770493 1770512 - PropertyAccessExpression 1770513 1770524 - Identifier 1770513 1770517 - Identifier 1770518 1770524 - BarBarToken 1770525 1770528 - CallExpression 1770528 1770565 - Identifier 1770528 1770552 - PropertyAccessExpression 1770553 1770564 - Identifier 1770553 1770557 - Identifier 1770558 1770564 - AmpersandAmpersandToken 1770566 1770569 - BinaryExpression 1770569 1770598 - PropertyAccessExpression 1770569 1770589 - PropertyAccessExpression 1770569 1770581 - Identifier 1770569 1770574 - Identifier 1770575 1770581 - Identifier 1770582 1770589 - EqualsEqualsEqualsToken 1770589 1770593 - Identifier 1770593 1770598 - AmpersandAmpersandToken 1770599 1770602 - ParenthesizedExpression 1770602 1770819 - ConditionalExpression 1770617 1770818 - BinaryExpression 1770617 1770670 - Identifier 1770617 1770626 - AmpersandAmpersandToken 1770626 1770629 - BinaryExpression 1770629 1770670 - Identifier 1770629 1770639 - AmpersandToken 1770639 1770641 - PropertyAccessExpression 1770641 1770670 - Identifier 1770641 1770651 - Identifier 1770652 1770670 - QuestionToken 1770670 1770672 - CallExpression 1770672 1770747 - Identifier 1770672 1770707 - Identifier 1770708 1770712 - PropertyAccessExpression 1770713 1770746 - Identifier 1770713 1770726 - Identifier 1770727 1770746 - ColonToken 1770747 1770766 - CallExpression 1770766 1770818 - Identifier 1770766 1770784 - Identifier 1770785 1770789 - Identifier 1770790 1770817 - ReturnStatement 1770820 1770886 - BinaryExpression 1770836 1770885 - Identifier 1770836 1770851 - AmpersandAmpersandToken 1770851 1770854 - PrefixUnaryExpression 1770854 1770885 - CallExpression 1770856 1770885 - Identifier 1770856 1770869 - Identifier 1770870 1770884 - FunctionDeclaration 1770893 1772230 - Identifier 1770909 1770939 - Parameter 1770940 1770950 - Identifier 1770940 1770944 - TypeReference 1770945 1770950 - Identifier 1770945 1770950 - Parameter 1770951 1770967 - Identifier 1770951 1770961 - TypeReference 1770962 1770967 - Identifier 1770962 1770967 - Parameter 1770968 1770990 - Identifier 1770968 1770978 - QuestionToken 1770978 1770979 - TypeReference 1770980 1770990 - Identifier 1770980 1770990 - Block 1770991 1772230 - IfStatement 1770993 1771097 - CallExpression 1771007 1771026 - Identifier 1771007 1771020 - Identifier 1771021 1771025 - Block 1771027 1771097 - ExpressionStatement 1771029 1771086 - BinaryExpression 1771029 1771085 - Identifier 1771029 1771047 - EqualsToken 1771047 1771049 - PropertyAccessExpression 1771049 1771085 - ParenthesizedExpression 1771049 1771076 - AsExpression 1771051 1771075 - Identifier 1771051 1771055 - TypeReference 1771058 1771075 - Identifier 1771058 1771075 - Identifier 1771077 1771085 - VariableStatement 1771097 1772136 - VariableDeclarationList 1771097 1772135 - VariableDeclaration 1771879 1772135 - Identifier 1771879 1771901 - BinaryExpression 1771903 1772135 - BinaryExpression 1771903 1772018 - PrefixUnaryExpression 1771903 1771953 - ParenthesizedExpression 1771905 1771953 - BinaryExpression 1771906 1771952 - Identifier 1771906 1771915 - AmpersandAmpersandToken 1771915 1771918 - BinaryExpression 1771918 1771952 - Identifier 1771918 1771928 - AmpersandToken 1771928 1771930 - PropertyAccessExpression 1771930 1771952 - Identifier 1771930 1771940 - Identifier 1771941 1771952 - AmpersandAmpersandToken 1771953 1771956 - CallExpression 1771956 1772018 - Identifier 1771956 1771978 - Identifier 1771979 1771983 - Identifier 1771984 1772017 - AmpersandAmpersandToken 1772018 1772021 - ParenthesizedExpression 1772021 1772135 - BinaryExpression 1772036 1772134 - CallExpression 1772036 1772073 - Identifier 1772036 1772056 - Identifier 1772057 1772061 - Identifier 1772062 1772072 - BarBarToken 1772073 1772076 - CallExpression 1772076 1772134 - Identifier 1772076 1772112 - Identifier 1772113 1772122 - Identifier 1772123 1772133 - ReturnStatement 1772136 1772223 - ConditionalExpression 1772152 1772222 - Identifier 1772152 1772174 - QuestionToken 1772174 1772176 - CallExpression 1772176 1772215 - Identifier 1772176 1772184 - Identifier 1772185 1772189 - Identifier 1772190 1772214 - ColonToken 1772215 1772217 - Identifier 1772217 1772222 - FunctionDeclaration 1772230 1772785 - Identifier 1772246 1772273 - Parameter 1772274 1772288 - Identifier 1772274 1772282 - TypeReference 1772283 1772288 - Identifier 1772283 1772288 - Block 1772289 1772785 - ReturnStatement 1772291 1772778 - PrefixUnaryExpression 1772307 1772777 - PrefixUnaryExpression 1772309 1772777 - CallExpression 1772310 1772777 - Identifier 1772310 1772322 - Identifier 1772323 1772331 - ArrowFunction 1772332 1772776 - Parameter 1772332 1772334 - Identifier 1772332 1772334 - EqualsGreaterThanToken 1772334 1772337 - Block 1772337 1772776 - VariableStatement 1772339 1772377 - VariableDeclarationList 1772339 1772376 - VariableDeclaration 1772358 1772376 - Identifier 1772358 1772365 - PropertyAccessExpression 1772367 1772376 - Identifier 1772367 1772369 - Identifier 1772370 1772376 - IfStatement 1772377 1772465 - BinaryExpression 1772395 1772415 - Identifier 1772395 1772401 - EqualsEqualsEqualsToken 1772401 1772405 - Identifier 1772405 1772415 - Block 1772416 1772465 - ReturnStatement 1772418 1772450 - StringLiteral 1772442 1772449 - IfStatement 1772465 1772605 - CallExpression 1772483 1772509 - Identifier 1772483 1772501 - Identifier 1772502 1772508 - Block 1772510 1772605 - ReturnStatement 1772512 1772590 - BinaryExpression 1772536 1772589 - BinaryExpression 1772536 1772560 - PropertyAccessExpression 1772536 1772554 - Identifier 1772536 1772543 - Identifier 1772544 1772554 - EqualsEqualsEqualsToken 1772554 1772558 - Identifier 1772558 1772560 - AmpersandAmpersandToken 1772560 1772563 - CallExpression 1772563 1772589 - Identifier 1772563 1772586 - Identifier 1772587 1772588 - IfStatement 1772605 1772738 - CallExpression 1772623 1772648 - Identifier 1772623 1772640 - Identifier 1772641 1772647 - Block 1772649 1772738 - ReturnStatement 1772651 1772723 - BinaryExpression 1772675 1772722 - BinaryExpression 1772675 1772693 - PropertyAccessExpression 1772675 1772687 - Identifier 1772675 1772682 - Identifier 1772683 1772687 - EqualsEqualsEqualsToken 1772687 1772691 - Identifier 1772691 1772693 - BarBarToken 1772693 1772696 - BinaryExpression 1772696 1772722 - PropertyAccessExpression 1772696 1772716 - Identifier 1772696 1772703 - Identifier 1772704 1772716 - EqualsEqualsEqualsToken 1772716 1772720 - Identifier 1772720 1772722 - ReturnStatement 1772738 1772765 - FalseKeyword 1772758 1772764 - FunctionDeclaration 1772785 1774186 - Identifier 1774026 1774047 - Parameter 1774048 1774098 - Identifier 1774048 1774056 - UnionType 1774057 1774098 - TypeReference 1774057 1774082 - Identifier 1774057 1774082 - TypeReference 1774084 1774098 - Identifier 1774084 1774098 - Parameter 1774099 1774128 - Identifier 1774099 1774104 - TypeReference 1774105 1774128 - QualifiedName 1774105 1774128 - Identifier 1774105 1774119 - Identifier 1774120 1774128 - Parameter 1774129 1774160 - Identifier 1774129 1774140 - UnionType 1774141 1774160 - TypeReference 1774141 1774148 - Identifier 1774141 1774148 - UndefinedKeyword 1774150 1774160 - Parameter 1774161 1774178 - Identifier 1774161 1774172 - TypeReference 1774173 1774178 - Identifier 1774173 1774178 - VoidKeyword 1774180 1774185 - FunctionDeclaration 1774186 1774282 - Identifier 1774200 1774221 - Parameter 1774222 1774242 - Identifier 1774222 1774230 - TypeReference 1774231 1774242 - Identifier 1774231 1774242 - Parameter 1774243 1774274 - Identifier 1774243 1774248 - TypeReference 1774249 1774274 - QualifiedName 1774249 1774274 - Identifier 1774249 1774263 - Identifier 1774264 1774274 - VoidKeyword 1774276 1774281 - FunctionDeclaration 1774282 1774390 - Identifier 1774296 1774317 - Parameter 1774318 1774344 - Identifier 1774318 1774326 - TypeReference 1774327 1774344 - Identifier 1774327 1774344 - Parameter 1774345 1774382 - Identifier 1774345 1774350 - TypeReference 1774351 1774382 - QualifiedName 1774351 1774382 - Identifier 1774351 1774365 - Identifier 1774366 1774382 - VoidKeyword 1774384 1774389 - FunctionDeclaration 1774390 1774511 - Identifier 1774404 1774425 - Parameter 1774426 1774478 - Identifier 1774426 1774434 - UnionType 1774435 1774478 - TypeReference 1774435 1774457 - Identifier 1774435 1774457 - TypeReference 1774459 1774478 - Identifier 1774459 1774478 - Parameter 1774479 1774503 - Identifier 1774479 1774484 - TypeReference 1774485 1774503 - QualifiedName 1774485 1774503 - Identifier 1774485 1774499 - Identifier 1774500 1774503 - VoidKeyword 1774505 1774510 - FunctionDeclaration 1774511 1774641 - Identifier 1774525 1774546 - Parameter 1774547 1774598 - Identifier 1774547 1774555 - UnionType 1774556 1774598 - TypeReference 1774556 1774580 - Identifier 1774556 1774580 - TypeReference 1774582 1774598 - Identifier 1774582 1774598 - Parameter 1774599 1774633 - Identifier 1774599 1774604 - TypeReference 1774605 1774633 - QualifiedName 1774605 1774633 - Identifier 1774605 1774619 - Identifier 1774620 1774633 - VoidKeyword 1774635 1774640 - FunctionDeclaration 1774641 1774758 - Identifier 1774655 1774676 - Parameter 1774677 1774710 - Identifier 1774677 1774685 - TypeReference 1774686 1774710 - Identifier 1774686 1774710 - Parameter 1774711 1774750 - Identifier 1774711 1774716 - TypeReference 1774717 1774750 - QualifiedName 1774717 1774750 - Identifier 1774717 1774731 - Identifier 1774732 1774750 - VoidKeyword 1774752 1774757 - FunctionDeclaration 1774758 1774864 - Identifier 1774772 1774793 - Parameter 1774794 1774819 - Identifier 1774794 1774802 - TypeReference 1774803 1774819 - Identifier 1774803 1774819 - Parameter 1774820 1774856 - Identifier 1774820 1774825 - TypeReference 1774826 1774856 - QualifiedName 1774826 1774856 - Identifier 1774826 1774840 - Identifier 1774841 1774856 - VoidKeyword 1774858 1774863 - FunctionDeclaration 1774864 1774962 - Identifier 1774878 1774899 - Parameter 1774900 1774923 - Identifier 1774900 1774908 - TypeReference 1774909 1774923 - Identifier 1774909 1774923 - Parameter 1774924 1774954 - Identifier 1774924 1774929 - TypeReference 1774930 1774954 - QualifiedName 1774930 1774954 - Identifier 1774930 1774944 - Identifier 1774945 1774954 - VoidKeyword 1774956 1774961 - FunctionDeclaration 1774962 1775093 - Identifier 1774976 1774997 - Parameter 1774998 1775012 - Identifier 1774998 1775006 - TypeReference 1775007 1775012 - Identifier 1775007 1775012 - Parameter 1775013 1775045 - Identifier 1775013 1775018 - TypeReference 1775019 1775045 - QualifiedName 1775019 1775045 - Identifier 1775019 1775033 - Identifier 1775034 1775045 - Parameter 1775046 1775066 - Identifier 1775046 1775057 - QuestionToken 1775057 1775058 - TypeReference 1775059 1775066 - Identifier 1775059 1775066 - Parameter 1775067 1775085 - Identifier 1775067 1775078 - QuestionToken 1775078 1775079 - TypeReference 1775080 1775085 - Identifier 1775080 1775085 - VoidKeyword 1775087 1775092 - FunctionDeclaration 1775093 1780028 - Identifier 1775107 1775128 - Parameter 1775129 1775143 - Identifier 1775129 1775137 - TypeReference 1775138 1775143 - Identifier 1775138 1775143 - Parameter 1775144 1775164 - Identifier 1775144 1775149 - TypeReference 1775150 1775164 - Identifier 1775150 1775164 - Parameter 1775165 1775185 - Identifier 1775165 1775176 - QuestionToken 1775176 1775177 - TypeReference 1775178 1775185 - Identifier 1775178 1775185 - Parameter 1775186 1775204 - Identifier 1775186 1775197 - QuestionToken 1775197 1775198 - TypeReference 1775199 1775204 - Identifier 1775199 1775204 - Block 1775205 1780028 - IfStatement 1775207 1775295 - PrefixUnaryExpression 1775221 1775260 - Identifier 1775222 1775260 - Block 1775261 1775295 - ReturnStatement 1775263 1775284 - IfStatement 1775295 1775630 - BinaryExpression 1775309 1775413 - BinaryExpression 1775309 1775377 - BinaryExpression 1775309 1775343 - PropertyAccessExpression 1775309 1775323 - Identifier 1775309 1775317 - Identifier 1775318 1775323 - AmpersandToken 1775323 1775325 - PropertyAccessExpression 1775325 1775343 - Identifier 1775325 1775335 - Identifier 1775336 1775343 - AmpersandAmpersandToken 1775343 1775346 - PrefixUnaryExpression 1775346 1775377 - CallExpression 1775348 1775377 - Identifier 1775348 1775367 - Identifier 1775368 1775376 - AmpersandAmpersandToken 1775377 1775380 - PrefixUnaryExpression 1775380 1775413 - CallExpression 1775382 1775413 - Identifier 1775382 1775403 - Identifier 1775404 1775412 - Block 1775414 1775630 - ReturnStatement 1775416 1775619 - SwitchStatement 1775630 1780021 - Identifier 1775648 1775652 - CaseBlock 1775653 1780021 - CaseClause 1775655 1775778 - PropertyAccessExpression 1775673 1775698 - Identifier 1775673 1775687 - Identifier 1775688 1775698 - ReturnStatement 1775699 1775778 - CallExpression 1775723 1775777 - Identifier 1775723 1775753 - AsExpression 1775754 1775776 - Identifier 1775754 1775762 - TypeReference 1775765 1775776 - Identifier 1775765 1775776 - CaseClause 1775778 1775951 - PropertyAccessExpression 1775796 1775819 - Identifier 1775796 1775810 - Identifier 1775811 1775819 - ReturnStatement 1775820 1775951 - CallExpression 1775844 1775950 - Identifier 1775844 1775872 - AsExpression 1775873 1775925 - Identifier 1775873 1775881 - UnionType 1775884 1775925 - TypeReference 1775884 1775909 - Identifier 1775884 1775909 - TypeReference 1775911 1775925 - Identifier 1775911 1775925 - Identifier 1775926 1775937 - Identifier 1775938 1775949 - CaseClause 1775951 1776092 - PropertyAccessExpression 1775969 1776000 - Identifier 1775969 1775983 - Identifier 1775984 1776000 - ReturnStatement 1776001 1776092 - CallExpression 1776025 1776091 - Identifier 1776025 1776061 - AsExpression 1776062 1776090 - Identifier 1776062 1776070 - TypeReference 1776073 1776090 - Identifier 1776073 1776090 - CaseClause 1776092 1776233 - PropertyAccessExpression 1776110 1776128 - Identifier 1776110 1776124 - Identifier 1776125 1776128 - ReturnStatement 1776129 1776233 - CallExpression 1776153 1776232 - Identifier 1776153 1776176 - AsExpression 1776177 1776231 - Identifier 1776177 1776185 - UnionType 1776188 1776231 - TypeReference 1776188 1776210 - Identifier 1776188 1776210 - TypeReference 1776212 1776231 - Identifier 1776212 1776231 - CaseClause 1776233 1776393 - PropertyAccessExpression 1776251 1776279 - Identifier 1776251 1776265 - Identifier 1776266 1776279 - ReturnStatement 1776280 1776393 - CallExpression 1776304 1776392 - Identifier 1776304 1776337 - AsExpression 1776338 1776391 - Identifier 1776338 1776346 - UnionType 1776349 1776391 - TypeReference 1776349 1776373 - Identifier 1776349 1776373 - TypeReference 1776375 1776391 - Identifier 1776375 1776391 - CaseClause 1776393 1776539 - PropertyAccessExpression 1776411 1776444 - Identifier 1776411 1776425 - Identifier 1776426 1776444 - ReturnStatement 1776445 1776539 - CallExpression 1776469 1776538 - Identifier 1776469 1776501 - AsExpression 1776502 1776537 - Identifier 1776502 1776510 - TypeReference 1776513 1776537 - Identifier 1776513 1776537 - CaseClause 1776539 1776677 - PropertyAccessExpression 1776557 1776587 - Identifier 1776557 1776571 - Identifier 1776572 1776587 - ReturnStatement 1776588 1776677 - CallExpression 1776612 1776676 - Identifier 1776612 1776647 - AsExpression 1776648 1776675 - Identifier 1776648 1776656 - TypeReference 1776659 1776675 - Identifier 1776659 1776675 - CaseClause 1776677 1776801 - PropertyAccessExpression 1776695 1776719 - Identifier 1776695 1776709 - Identifier 1776710 1776719 - ReturnStatement 1776720 1776801 - CallExpression 1776744 1776800 - Identifier 1776744 1776773 - AsExpression 1776774 1776799 - Identifier 1776774 1776782 - TypeReference 1776785 1776799 - Identifier 1776785 1776799 - CaseClause 1776801 1779909 - PropertyAccessExpression 1776819 1776845 - Identifier 1776819 1776833 - Identifier 1776834 1776845 - Block 1776846 1779909 - IfStatement 1776848 1777991 - BinaryExpression 1777286 1777535 - BinaryExpression 1777286 1777486 - CallExpression 1777286 1777308 - Identifier 1777286 1777298 - Identifier 1777299 1777307 - AmpersandAmpersandToken 1777308 1777311 - ParenthesizedExpression 1777311 1777486 - BinaryExpression 1777313 1777485 - BinaryExpression 1777313 1777389 - CallExpression 1777313 1777339 - Identifier 1777313 1777329 - Identifier 1777330 1777338 - BarBarToken 1777339 1777342 - CallExpression 1777342 1777389 - Identifier 1777342 1777372 - PropertyAccessExpression 1777373 1777388 - Identifier 1777373 1777381 - Identifier 1777382 1777388 - BarBarToken 1777389 1777392 - ParenthesizedExpression 1777392 1777485 - BinaryExpression 1777394 1777484 - CallExpression 1777394 1777436 - Identifier 1777394 1777419 - PropertyAccessExpression 1777420 1777435 - Identifier 1777420 1777428 - Identifier 1777429 1777435 - AmpersandAmpersandToken 1777436 1777439 - BinaryExpression 1777439 1777484 - PropertyAccessExpression 1777439 1777471 - PropertyAccessExpression 1777439 1777455 - Identifier 1777439 1777448 - Identifier 1777449 1777455 - Identifier 1777456 1777471 - EqualsEqualsEqualsToken 1777471 1777475 - Identifier 1777475 1777484 - AmpersandAmpersandToken 1777486 1777489 - CallExpression 1777489 1777535 - Identifier 1777489 1777525 - Identifier 1777526 1777534 - Block 1777536 1777991 - IfStatement 1777538 1777881 - CallExpression 1777564 1777612 - Identifier 1777564 1777595 - PropertyAccessExpression 1777596 1777611 - Identifier 1777596 1777604 - Identifier 1777605 1777611 - Block 1777613 1777881 - VariableStatement 1777615 1777750 - VariableDeclarationList 1777615 1777749 - VariableDeclaration 1777646 1777749 - Identifier 1777646 1777651 - ConditionalExpression 1777653 1777749 - CallExpression 1777653 1777697 - Identifier 1777653 1777680 - PropertyAccessExpression 1777681 1777696 - Identifier 1777681 1777689 - Identifier 1777690 1777696 - QuestionToken 1777697 1777699 - PropertyAccessExpression 1777699 1777726 - PropertyAccessExpression 1777699 1777715 - Identifier 1777699 1777708 - Identifier 1777709 1777715 - Identifier 1777716 1777726 - ColonToken 1777726 1777728 - PropertyAccessExpression 1777728 1777749 - PropertyAccessExpression 1777728 1777744 - Identifier 1777728 1777737 - Identifier 1777738 1777744 - Identifier 1777745 1777749 - IfStatement 1777750 1777806 - BinaryExpression 1777780 1777797 - Identifier 1777780 1777784 - ExclamationEqualsEqualsToken 1777784 1777788 - Identifier 1777788 1777797 - ReturnStatement 1777798 1777806 - ExpressionStatement 1777881 1777943 - CallExpression 1777881 1777942 - Identifier 1777881 1777932 - Identifier 1777933 1777941 - ReturnStatement 1777943 1777972 - IfStatement 1777991 1778416 - CallExpression 1778013 1778054 - Identifier 1778013 1778044 - Identifier 1778045 1778053 - Block 1778055 1778416 - VariableStatement 1778057 1778120 - VariableDeclarationList 1778057 1778119 - VariableDeclaration 1778082 1778119 - Identifier 1778082 1778090 - UnionType 1778091 1778108 - TypeReference 1778091 1778096 - Identifier 1778091 1778096 - UndefinedKeyword 1778098 1778108 - Identifier 1778110 1778119 - WhileStatement 1778120 1778330 - CallExpression 1778149 1778189 - Identifier 1778149 1778180 - Identifier 1778181 1778188 - Block 1778190 1778330 - IfStatement 1778192 1778256 - CallExpression 1778222 1778247 - Identifier 1778222 1778238 - Identifier 1778239 1778246 - ReturnStatement 1778248 1778256 - ExpressionStatement 1778256 1778307 - BinaryExpression 1778256 1778306 - Identifier 1778256 1778289 - EqualsToken 1778289 1778291 - PropertyAccessExpression 1778291 1778306 - Identifier 1778291 1778299 - Identifier 1778300 1778306 - ReturnStatement 1778330 1778397 - CallExpression 1778358 1778396 - Identifier 1778358 1778386 - Identifier 1778387 1778395 - IfStatement 1778416 1778563 - CallExpression 1778438 1778466 - Identifier 1778438 1778456 - Identifier 1778457 1778465 - Block 1778467 1778563 - ReturnStatement 1778469 1778544 - CallExpression 1778497 1778543 - Identifier 1778497 1778533 - Identifier 1778534 1778542 - IfStatement 1778563 1778736 - BinaryExpression 1778585 1778652 - CallExpression 1778585 1778618 - Identifier 1778585 1778608 - Identifier 1778609 1778617 - BarBarToken 1778618 1778621 - CallExpression 1778621 1778652 - Identifier 1778621 1778642 - Identifier 1778643 1778651 - Block 1778653 1778736 - ReturnStatement 1778655 1778717 - CallExpression 1778683 1778716 - Identifier 1778683 1778706 - Identifier 1778707 1778715 - IfStatement 1778736 1779072 - CallExpression 1778758 1778793 - Identifier 1778758 1778783 - Identifier 1778784 1778792 - Block 1778794 1779072 - IfStatement 1778796 1779024 - BinaryExpression 1778822 1778923 - CallExpression 1778822 1778871 - Identifier 1778822 1778861 - Identifier 1778862 1778870 - BarBarToken 1778871 1778874 - CallExpression 1778874 1778923 - Identifier 1778874 1778913 - Identifier 1778914 1778922 - Block 1778924 1779024 - ReturnStatement 1778926 1779001 - CallExpression 1778958 1779000 - Identifier 1778958 1778990 - Identifier 1778991 1778999 - ReturnStatement 1779024 1779053 - IfStatement 1779072 1779217 - CallExpression 1779094 1779121 - Identifier 1779094 1779111 - Identifier 1779112 1779120 - Block 1779122 1779217 - ReturnStatement 1779124 1779198 - CallExpression 1779152 1779197 - Identifier 1779152 1779187 - Identifier 1779188 1779196 - IfStatement 1779217 1779473 - BinaryExpression 1779239 1779305 - CallExpression 1779239 1779274 - Identifier 1779239 1779264 - Identifier 1779265 1779273 - BarBarToken 1779274 1779277 - CallExpression 1779277 1779305 - Identifier 1779277 1779295 - Identifier 1779296 1779304 - Block 1779306 1779473 - ExpressionStatement 1779308 1779373 - CallExpression 1779308 1779372 - Identifier 1779308 1779362 - Identifier 1779363 1779371 - IfStatement 1779473 1779584 - PrefixUnaryExpression 1779495 1779533 - PropertyAccessExpression 1779496 1779533 - Identifier 1779496 1779511 - Identifier 1779512 1779533 - Block 1779534 1779584 - ReturnStatement 1779536 1779565 - IfStatement 1779584 1779828 - BinaryExpression 1779606 1779777 - BinaryExpression 1779606 1779685 - BinaryExpression 1779606 1779662 - PrefixUnaryExpression 1779606 1779634 - CallExpression 1779607 1779634 - Identifier 1779607 1779624 - Identifier 1779625 1779633 - BarBarToken 1779634 1779637 - PrefixUnaryExpression 1779637 1779662 - CallExpression 1779639 1779662 - Identifier 1779639 1779652 - Identifier 1779653 1779661 - BarBarToken 1779662 1779665 - PrefixUnaryExpression 1779665 1779685 - PropertyAccessExpression 1779667 1779685 - Identifier 1779667 1779675 - Identifier 1779676 1779685 - BarBarToken 1779685 1779688 - PrefixUnaryExpression 1779688 1779777 - CallExpression 1779690 1779777 - Identifier 1779690 1779708 - Identifier 1779709 1779725 - Identifier 1779726 1779735 - PropertyAccessExpression 1779736 1779752 - Identifier 1779736 1779745 - Identifier 1779746 1779752 - PropertyAccessExpression 1779753 1779776 - PropertyAccessExpression 1779753 1779769 - Identifier 1779753 1779762 - Identifier 1779763 1779769 - Identifier 1779770 1779776 - Block 1779778 1779828 - ReturnStatement 1779780 1779809 - ReturnStatement 1779828 1779894 - CallExpression 1779854 1779893 - Identifier 1779854 1779883 - Identifier 1779884 1779892 - DefaultClause 1779909 1780010 - ExpressionStatement 1779931 1780010 - CallExpression 1779931 1780009 - PropertyAccessExpression 1779931 1779966 - Identifier 1779931 1779954 - Identifier 1779955 1779966 - Identifier 1779967 1779971 - TemplateExpression 1779972 1780008 - TemplateHead 1779972 1780002 - TemplateSpan 1780002 1780008 - Identifier 1780002 1780006 - TemplateTail 1780006 1780008 - FunctionDeclaration 1780028 1780334 - Identifier 1780044 1780074 - Parameter 1780075 1780095 - Identifier 1780075 1780083 - TypeReference 1780084 1780095 - Identifier 1780084 1780095 - Block 1780096 1780334 - VariableStatement 1780098 1780151 - VariableDeclarationList 1780098 1780150 - VariableDeclaration 1780113 1780150 - Identifier 1780113 1780120 - CallExpression 1780122 1780150 - Identifier 1780122 1780140 - Identifier 1780141 1780149 - IfStatement 1780151 1780327 - BinaryExpression 1780165 1780261 - BinaryExpression 1780165 1780229 - BinaryExpression 1780165 1780201 - Identifier 1780165 1780171 - AmpersandAmpersandToken 1780171 1780174 - BinaryExpression 1780174 1780201 - Identifier 1780174 1780181 - ExclamationEqualsEqualsToken 1780181 1780185 - Identifier 1780185 1780201 - AmpersandAmpersandToken 1780201 1780204 - BinaryExpression 1780204 1780229 - Identifier 1780204 1780211 - ExclamationEqualsEqualsToken 1780211 1780215 - Identifier 1780215 1780229 - AmpersandAmpersandToken 1780229 1780232 - PrefixUnaryExpression 1780232 1780261 - CallExpression 1780234 1780261 - Identifier 1780234 1780251 - Identifier 1780252 1780260 - Block 1780262 1780327 - ExpressionStatement 1780264 1780316 - CallExpression 1780264 1780315 - Identifier 1780264 1780297 - Identifier 1780298 1780304 - Identifier 1780305 1780314 - FunctionDeclaration 1780334 1783191 - Identifier 1780350 1780378 - Parameter 1780379 1780429 - Identifier 1780379 1780387 - UnionType 1780388 1780429 - TypeReference 1780388 1780413 - Identifier 1780388 1780413 - TypeReference 1780415 1780429 - Identifier 1780415 1780429 - Parameter 1780430 1780450 - Identifier 1780430 1780441 - QuestionToken 1780441 1780442 - TypeReference 1780443 1780450 - Identifier 1780443 1780450 - Parameter 1780451 1780469 - Identifier 1780451 1780462 - QuestionToken 1780462 1780463 - TypeReference 1780464 1780469 - Identifier 1780464 1780469 - Block 1780470 1783191 - VariableStatement 1780472 1780570 - VariableDeclarationList 1780472 1780569 - VariableDeclaration 1780487 1780569 - Identifier 1780487 1780492 - ConditionalExpression 1780494 1780569 - CallExpression 1780494 1780531 - Identifier 1780494 1780521 - Identifier 1780522 1780530 - QuestionToken 1780531 1780533 - PropertyAccessExpression 1780533 1780553 - Identifier 1780533 1780542 - Identifier 1780543 1780553 - ColonToken 1780553 1780555 - PropertyAccessExpression 1780555 1780569 - Identifier 1780555 1780564 - Identifier 1780565 1780569 - IfStatement 1780570 1780664 - BinaryExpression 1780584 1780629 - CallExpression 1780584 1780606 - Identifier 1780584 1780600 - Identifier 1780601 1780605 - BarBarToken 1780606 1780609 - PrefixUnaryExpression 1780609 1780629 - CallExpression 1780611 1780629 - Identifier 1780611 1780623 - Identifier 1780624 1780628 - Block 1780630 1780664 - ReturnStatement 1780632 1780653 - VariableStatement 1780664 1780719 - VariableDeclarationList 1780664 1780718 - VariableDeclaration 1780679 1780718 - Identifier 1780679 1780692 - CallExpression 1780694 1780718 - Identifier 1780694 1780712 - Identifier 1780713 1780717 - IfStatement 1780719 1780815 - BinaryExpression 1780733 1780780 - PrefixUnaryExpression 1780733 1780746 - Identifier 1780734 1780746 - BarBarToken 1780746 1780749 - BinaryExpression 1780749 1780780 - Identifier 1780749 1780762 - EqualsEqualsEqualsToken 1780762 1780766 - Identifier 1780766 1780780 - Block 1780781 1780815 - ReturnStatement 1780783 1780804 - IfStatement 1780815 1781807 - BinaryExpression 1781592 1781714 - CallExpression 1781592 1781627 - Identifier 1781592 1781610 - Identifier 1781611 1781626 - BarBarToken 1781627 1781630 - ParenthesizedExpression 1781630 1781714 - BinaryExpression 1781632 1781713 - CallExpression 1781632 1781673 - Identifier 1781632 1781656 - Identifier 1781657 1781672 - AmpersandAmpersandToken 1781673 1781676 - CallExpression 1781676 1781713 - Identifier 1781676 1781703 - Identifier 1781704 1781712 - Block 1781715 1781807 - ExpressionStatement 1781717 1781775 - CallExpression 1781717 1781774 - Identifier 1781717 1781750 - Identifier 1781751 1781763 - Identifier 1781764 1781773 - ReturnStatement 1781775 1781796 - VariableStatement 1781807 1781989 - VariableDeclarationList 1781807 1781988 - VariableDeclaration 1781935 1781988 - Identifier 1781935 1781944 - BinaryExpression 1781946 1781988 - Identifier 1781946 1781957 - BarBarToken 1781957 1781960 - CallExpression 1781960 1781988 - Identifier 1781960 1781982 - Identifier 1781983 1781987 - IfStatement 1781989 1782147 - BinaryExpression 1782003 1782054 - CallExpression 1782003 1782022 - Identifier 1782003 1782012 - Identifier 1782013 1782021 - BarBarToken 1782022 1782025 - BinaryExpression 1782025 1782054 - Identifier 1782025 1782034 - EqualsEqualsEqualsToken 1782034 1782038 - Identifier 1782038 1782054 - Block 1782055 1782147 - ExpressionStatement 1782057 1782115 - CallExpression 1782057 1782114 - Identifier 1782057 1782090 - Identifier 1782091 1782103 - Identifier 1782104 1782113 - ReturnStatement 1782115 1782136 - VariableStatement 1782147 1782179 - VariableDeclarationList 1782147 1782178 - VariableDeclaration 1782160 1782178 - Identifier 1782160 1782165 - Identifier 1782167 1782178 - IfStatement 1782179 1782917 - BinaryExpression 1782193 1782213 - PrefixUnaryExpression 1782193 1782198 - Identifier 1782194 1782198 - AmpersandAmpersandToken 1782198 1782201 - PrefixUnaryExpression 1782201 1782213 - Identifier 1782203 1782213 - Block 1782214 1782917 - VariableStatement 1782216 1782314 - VariableDeclarationList 1782216 1782313 - VariableDeclaration 1782235 1782313 - Identifier 1782235 1782241 - ConditionalExpression 1782243 1782313 - CallExpression 1782243 1782280 - Identifier 1782243 1782270 - Identifier 1782271 1782279 - QuestionToken 1782280 1782282 - PropertyAccessExpression 1782282 1782296 - Identifier 1782282 1782291 - Identifier 1782292 1782296 - ColonToken 1782296 1782298 - PropertyAccessExpression 1782298 1782313 - Identifier 1782298 1782307 - Identifier 1782308 1782313 - VariableStatement 1782314 1782458 - VariableDeclarationList 1782314 1782457 - VariableDeclaration 1782333 1782457 - Identifier 1782333 1782355 - BinaryExpression 1782357 1782457 - CallExpression 1782357 1782384 - Identifier 1782357 1782377 - Identifier 1782378 1782383 - AmpersandAmpersandToken 1782384 1782387 - CallExpression 1782387 1782457 - Identifier 1782387 1782431 - PropertyAccessExpression 1782432 1782449 - Identifier 1782432 1782437 - Identifier 1782438 1782449 - Identifier 1782450 1782456 - VariableStatement 1782458 1782529 - VariableDeclarationList 1782458 1782528 - VariableDeclaration 1782477 1782528 - Identifier 1782477 1782492 - CallExpression 1782494 1782528 - Identifier 1782494 1782518 - Identifier 1782519 1782527 - VariableStatement 1782529 1782693 - VariableDeclarationList 1782529 1782692 - VariableDeclaration 1782548 1782692 - Identifier 1782548 1782561 - CallExpression 1782563 1782692 - Identifier 1782563 1782579 - ConditionalExpression 1782580 1782691 - BinaryExpression 1782580 1782653 - BinaryExpression 1782580 1782618 - Identifier 1782580 1782594 - ExclamationEqualsEqualsToken 1782594 1782598 - PropertyAccessExpression 1782598 1782618 - Identifier 1782598 1782613 - Identifier 1782614 1782618 - BarBarToken 1782618 1782621 - CallExpression 1782621 1782653 - Identifier 1782621 1782643 - Identifier 1782644 1782652 - QuestionToken 1782653 1782655 - CallExpression 1782655 1782680 - Identifier 1782655 1782670 - Identifier 1782671 1782679 - ColonToken 1782680 1782682 - Identifier 1782682 1782691 - ExpressionStatement 1782693 1782906 - BinaryExpression 1782693 1782905 - Identifier 1782693 1782711 - EqualsToken 1782711 1782713 - ConditionalExpression 1782713 1782905 - CallExpression 1782713 1782740 - Identifier 1782713 1782733 - Identifier 1782734 1782739 - QuestionToken 1782740 1782742 - BinaryExpression 1782742 1782852 - BinaryExpression 1782742 1782839 - Identifier 1782742 1782764 - AmpersandAmpersandToken 1782764 1782767 - CallExpression 1782767 1782839 - Identifier 1782767 1782802 - Identifier 1782803 1782815 - Identifier 1782816 1782838 - BarBarToken 1782839 1782842 - Identifier 1782842 1782852 - ColonToken 1782852 1782854 - CallExpression 1782854 1782905 - Identifier 1782854 1782872 - Identifier 1782873 1782885 - PropertyAccessExpression 1782886 1782904 - Identifier 1782886 1782892 - Identifier 1782893 1782904 - IfStatement 1782917 1783167 - PrefixUnaryExpression 1782931 1783085 - ParenthesizedExpression 1782946 1783085 - BinaryExpression 1782947 1783084 - Identifier 1782947 1782951 - AmpersandAmpersandToken 1782951 1782954 - ParenthesizedExpression 1782954 1783084 - BinaryExpression 1782956 1783083 - CallExpression 1782956 1782994 - Identifier 1782956 1782988 - Identifier 1782989 1782993 - BarBarToken 1782994 1782997 - BinaryExpression 1782997 1783083 - BinaryExpression 1782997 1783033 - PropertyAccessExpression 1782997 1783008 - Identifier 1782997 1783002 - Identifier 1783003 1783008 - AmpersandToken 1783008 1783010 - PropertyAccessExpression 1783010 1783033 - Identifier 1783010 1783022 - Identifier 1783023 1783033 - AmpersandAmpersandToken 1783033 1783036 - BinaryExpression 1783036 1783083 - PropertyAccessExpression 1783036 1783057 - PropertyAccessExpression 1783036 1783052 - Identifier 1783036 1783045 - Identifier 1783046 1783052 - Identifier 1783053 1783057 - EqualsEqualsEqualsToken 1783057 1783061 - PropertyAccessExpression 1783061 1783083 - Identifier 1783061 1783072 - Identifier 1783073 1783083 - Block 1783096 1783167 - ExpressionStatement 1783098 1783156 - CallExpression 1783098 1783155 - Identifier 1783098 1783131 - Identifier 1783132 1783144 - Identifier 1783145 1783154 - ReturnStatement 1783167 1783184 - FunctionDeclaration 1783191 1783637 - Identifier 1783207 1783243 - Parameter 1783244 1783270 - Identifier 1783244 1783252 - TypeReference 1783253 1783270 - Identifier 1783253 1783270 - Block 1783271 1783637 - IfStatement 1783273 1783630 - CallExpression 1783287 1783320 - Identifier 1783287 1783299 - PropertyAccessExpression 1783300 1783319 - Identifier 1783300 1783308 - Identifier 1783309 1783319 - Block 1783321 1783630 - VariableStatement 1783323 1783368 - VariableDeclarationList 1783323 1783367 - VariableDeclaration 1783342 1783367 - Identifier 1783342 1783345 - PropertyAccessExpression 1783347 1783367 - Identifier 1783347 1783356 - Identifier 1783357 1783367 - VariableStatement 1783368 1783533 - VariableDeclarationList 1783368 1783532 - VariableDeclaration 1783387 1783532 - Identifier 1783387 1783391 - CallExpression 1783393 1783532 - Identifier 1783393 1783432 - CallExpression 1783433 1783531 - Identifier 1783433 1783450 - Identifier 1783451 1783453 - PropertyAccessExpression 1783454 1783470 - Identifier 1783454 1783466 - Identifier 1783467 1783470 - TrueKeyword 1783471 1783493 - TrueKeyword 1783494 1783520 - Identifier 1783521 1783530 - IfStatement 1783533 1783619 - Identifier 1783551 1783554 - Block 1783555 1783619 - ExpressionStatement 1783557 1783604 - CallExpression 1783557 1783603 - Identifier 1783557 1783594 - Identifier 1783595 1783598 - Identifier 1783599 1783602 - FunctionDeclaration 1783637 1786546 - Identifier 1783653 1783676 - Parameter 1783677 1783725 - Identifier 1783677 1783681 - UnionType 1783682 1783725 - TypeReference 1783682 1783704 - Identifier 1783682 1783704 - TypeReference 1783706 1783725 - Identifier 1783706 1783725 - Block 1783726 1786546 - IfStatement 1783728 1786522 - PrefixUnaryExpression 1783742 1783790 - CallExpression 1783743 1783790 - Identifier 1783743 1783784 - Identifier 1783785 1783789 - Block 1783791 1786522 - VariableStatement 1783793 1784237 - VariableDeclarationList 1783793 1784236 - VariableDeclaration 1784073 1784236 - Identifier 1784073 1784090 - ConditionalExpression 1784092 1784236 - BinaryExpression 1784092 1784145 - Identifier 1784092 1784104 - AmpersandAmpersandToken 1784104 1784107 - BinaryExpression 1784107 1784145 - PropertyAccessExpression 1784107 1784127 - Identifier 1784107 1784123 - Identifier 1784124 1784127 - EqualsEqualsEqualsToken 1784127 1784131 - PropertyAccessExpression 1784131 1784145 - Identifier 1784131 1784139 - Identifier 1784140 1784145 - QuestionToken 1784145 1784147 - PropertyAccessExpression 1784147 1784224 - Identifier 1784147 1784159 - Identifier 1784160 1784224 - ColonToken 1784224 1784226 - Identifier 1784226 1784236 - VariableStatement 1784237 1784301 - VariableDeclarationList 1784237 1784300 - VariableDeclaration 1784256 1784300 - Identifier 1784256 1784276 - CallExpression 1784278 1784300 - Identifier 1784278 1784294 - Identifier 1784295 1784299 - VariableStatement 1784301 1784394 - VariableDeclarationList 1784301 1784393 - VariableDeclaration 1784320 1784393 - Identifier 1784320 1784339 - ConditionalExpression 1784341 1784393 - CallExpression 1784341 1784371 - Identifier 1784341 1784365 - Identifier 1784366 1784370 - QuestionToken 1784371 1784373 - PropertyAccessExpression 1784373 1784386 - Identifier 1784373 1784378 - Identifier 1784379 1784386 - ColonToken 1784386 1784388 - Identifier 1784388 1784393 - VariableStatement 1784394 1784524 - VariableDeclarationList 1784394 1784523 - VariableDeclaration 1784413 1784523 - Identifier 1784413 1784433 - BinaryExpression 1784435 1784523 - BinaryExpression 1784435 1784476 - PropertyAccessExpression 1784435 1784455 - Identifier 1784435 1784451 - Identifier 1784452 1784455 - ExclamationEqualsEqualsToken 1784455 1784459 - PropertyAccessExpression 1784459 1784476 - Identifier 1784459 1784467 - Identifier 1784468 1784476 - AmpersandAmpersandToken 1784476 1784479 - BinaryExpression 1784479 1784523 - PropertyAccessExpression 1784479 1784499 - Identifier 1784479 1784495 - Identifier 1784496 1784499 - ExclamationEqualsEqualsToken 1784499 1784503 - PropertyAccessExpression 1784503 1784523 - Identifier 1784503 1784511 - Identifier 1784512 1784523 - VariableStatement 1784524 1784641 - VariableDeclarationList 1784524 1784640 - VariableDeclaration 1784606 1784640 - Identifier 1784606 1784620 - UnionType 1784621 1784640 - TypeReference 1784621 1784628 - Identifier 1784621 1784628 - UndefinedKeyword 1784630 1784640 - IfStatement 1784641 1785067 - PrefixUnaryExpression 1784659 1784722 - ParenthesizedExpression 1784660 1784722 - BinaryExpression 1784661 1784721 - CallExpression 1784661 1784687 - Identifier 1784661 1784681 - Identifier 1784682 1784686 - AmpersandAmpersandToken 1784687 1784690 - BinaryExpression 1784690 1784721 - Identifier 1784690 1784710 - EqualsEqualsEqualsToken 1784710 1784714 - StringLiteral 1784714 1784721 - Block 1784723 1785067 - ExpressionStatement 1784725 1785052 - BinaryExpression 1784725 1785051 - Identifier 1784725 1784756 - EqualsToken 1784756 1784758 - CallExpression 1784758 1785051 - Identifier 1784758 1784770 - Identifier 1784771 1784811 - Identifier 1784812 1784853 - ConditionalExpression 1784854 1784955 - Identifier 1784854 1784895 - QuestionToken 1784895 1784897 - PropertyAccessExpression 1784897 1784915 - Identifier 1784897 1784909 - Identifier 1784910 1784915 - ColonToken 1784915 1784917 - BinaryExpression 1784917 1784955 - PropertyAccessExpression 1784917 1784935 - Identifier 1784917 1784929 - Identifier 1784930 1784935 - AmpersandToken 1784935 1784937 - PrefixUnaryExpression 1784937 1784955 - PropertyAccessExpression 1784939 1784955 - Identifier 1784939 1784950 - Identifier 1784951 1784955 - Identifier 1784956 1784994 - TrueKeyword 1784995 1785031 - IfStatement 1785067 1785681 - Identifier 1785087 1785100 - Block 1785101 1785681 - ExpressionStatement 1785103 1785349 - BinaryExpression 1785103 1785348 - PropertyAccessExpression 1785103 1785330 - Identifier 1785103 1785317 - Identifier 1785318 1785330 - EqualsToken 1785330 1785332 - PropertyAccessExpression 1785332 1785348 - Identifier 1785332 1785344 - Identifier 1785345 1785348 - IfStatement 1785349 1785666 - BinaryExpression 1785451 1785579 - BinaryExpression 1785451 1785532 - Identifier 1785451 1785489 - AmpersandAmpersandToken 1785489 1785492 - BinaryExpression 1785492 1785532 - PropertyAccessExpression 1785492 1785512 - Identifier 1785492 1785506 - Identifier 1785507 1785512 - AmpersandToken 1785512 1785514 - PropertyAccessExpression 1785514 1785532 - Identifier 1785514 1785526 - Identifier 1785527 1785532 - AmpersandAmpersandToken 1785532 1785535 - PrefixUnaryExpression 1785535 1785579 - CallExpression 1785537 1785579 - Identifier 1785537 1785564 - Identifier 1785565 1785578 - Block 1785580 1785666 - ExpressionStatement 1785582 1785647 - CallExpression 1785582 1785646 - Identifier 1785582 1785631 - Identifier 1785632 1785645 - IfStatement 1785681 1786511 - CallExpression 1785877 1785903 - Identifier 1785877 1785897 - Identifier 1785898 1785902 - Block 1785904 1786511 - VariableStatement 1785906 1785963 - VariableDeclarationList 1785906 1785962 - VariableDeclaration 1785929 1785962 - Identifier 1785929 1785934 - CallExpression 1785936 1785962 - Identifier 1785936 1785956 - Identifier 1785957 1785961 - VariableStatement 1785963 1786022 - VariableDeclarationList 1785963 1786021 - VariableDeclaration 1785986 1786021 - Identifier 1785986 1785993 - CallExpression 1785995 1786021 - Identifier 1785995 1786015 - Identifier 1786016 1786020 - IfStatement 1786022 1786496 - Identifier 1786044 1786050 - Block 1786051 1786496 - VariableStatement 1786053 1786140 - VariableDeclarationList 1786053 1786139 - VariableDeclaration 1786080 1786139 - Identifier 1786080 1786098 - PropertyAccessExpression 1786100 1786139 - CallExpression 1786100 1786127 - Identifier 1786100 1786119 - Identifier 1786120 1786126 - Identifier 1786128 1786139 - ExpressionStatement 1786140 1786477 - CallExpression 1786140 1786476 - Identifier 1786140 1786173 - Identifier 1786174 1786218 - Identifier 1786219 1786262 - ConditionalExpression 1786263 1786368 - Identifier 1786263 1786308 - QuestionToken 1786308 1786310 - PropertyAccessExpression 1786310 1786328 - Identifier 1786310 1786322 - Identifier 1786323 1786328 - ColonToken 1786328 1786330 - BinaryExpression 1786330 1786368 - PropertyAccessExpression 1786330 1786348 - Identifier 1786330 1786342 - Identifier 1786343 1786348 - AmpersandToken 1786348 1786350 - PrefixUnaryExpression 1786350 1786368 - PropertyAccessExpression 1786352 1786368 - Identifier 1786352 1786363 - Identifier 1786364 1786368 - Identifier 1786369 1786411 - TrueKeyword 1786412 1786452 - ReturnStatement 1786522 1786539 - FunctionDeclaration 1786546 1786943 - Identifier 1786562 1786595 - Parameter 1786596 1786647 - Identifier 1786596 1786604 - UnionType 1786605 1786647 - TypeReference 1786605 1786629 - Identifier 1786605 1786629 - TypeReference 1786631 1786647 - Identifier 1786631 1786647 - Block 1786648 1786943 - IfStatement 1786650 1786936 - BinaryExpression 1786664 1786701 - Identifier 1786664 1786679 - LessThanToken 1786679 1786681 - PropertyAccessExpression 1786681 1786701 - Identifier 1786681 1786694 - Identifier 1786695 1786701 - Block 1786702 1786936 - IfStatement 1786704 1786925 - BinaryExpression 1786722 1786770 - CallExpression 1786722 1786748 - Identifier 1786722 1786738 - Identifier 1786739 1786747 - AmpersandToken 1786748 1786750 - PropertyAccessExpression 1786750 1786770 - Identifier 1786750 1786764 - Identifier 1786765 1786770 - Block 1786771 1786925 - VariableStatement 1786773 1786851 - VariableDeclarationList 1786773 1786850 - VariableDeclaration 1786796 1786850 - Identifier 1786796 1786811 - CallExpression 1786813 1786850 - Identifier 1786813 1786840 - Identifier 1786841 1786849 - ExpressionStatement 1786851 1786910 - CallExpression 1786851 1786909 - Identifier 1786851 1786893 - Identifier 1786894 1786908 - FunctionDeclaration 1786943 1787162 - Identifier 1786959 1786991 - Parameter 1786992 1787025 - Identifier 1786992 1787000 - TypeReference 1787001 1787025 - Identifier 1787001 1787025 - Block 1787026 1787162 - IfStatement 1787028 1787155 - CallExpression 1787042 1787094 - Identifier 1787042 1787062 - Identifier 1787063 1787071 - PropertyAccessExpression 1787072 1787093 - Identifier 1787072 1787086 - Identifier 1787087 1787093 - Block 1787095 1787155 - ExpressionStatement 1787097 1787144 - CallExpression 1787097 1787143 - Identifier 1787097 1787133 - Identifier 1787134 1787142 - FunctionDeclaration 1787162 1788516 - Identifier 1787178 1787213 - Parameter 1787214 1787239 - Identifier 1787214 1787222 - TypeReference 1787223 1787239 - Identifier 1787223 1787239 - Block 1787240 1788516 - IfStatement 1787242 1788509 - BinaryExpression 1787256 1787357 - BinaryExpression 1787256 1787319 - PrefixUnaryExpression 1787256 1787295 - PropertyAccessExpression 1787257 1787295 - PropertyAccessExpression 1787257 1787279 - PropertyAccessExpression 1787257 1787272 - Identifier 1787257 1787265 - Identifier 1787266 1787272 - Identifier 1787273 1787279 - Identifier 1787280 1787295 - AmpersandAmpersandToken 1787295 1787298 - PrefixUnaryExpression 1787298 1787319 - PropertyAccessExpression 1787300 1787319 - Identifier 1787300 1787308 - Identifier 1787309 1787319 - AmpersandAmpersandToken 1787319 1787322 - PrefixUnaryExpression 1787322 1787357 - PropertyAccessExpression 1787324 1787357 - PropertyAccessExpression 1787324 1787346 - PropertyAccessExpression 1787324 1787339 - Identifier 1787324 1787332 - Identifier 1787333 1787339 - Identifier 1787340 1787346 - Identifier 1787347 1787357 - Block 1787358 1788509 - VariableStatement 1787360 1787434 - VariableDeclarationList 1787360 1787433 - VariableDeclaration 1787379 1787433 - Identifier 1787379 1787392 - BinaryExpression 1787394 1787433 - PropertyAccessExpression 1787394 1787416 - Identifier 1787394 1787403 - Identifier 1787404 1787416 - BarBarToken 1787416 1787419 - PropertyAccessExpression 1787419 1787433 - Identifier 1787419 1787428 - Identifier 1787429 1787433 - IfStatement 1787434 1787594 - BinaryExpression 1787452 1787498 - PropertyAccessExpression 1787452 1787469 - Identifier 1787452 1787464 - Identifier 1787465 1787469 - EqualsEqualsEqualsToken 1787469 1787473 - PropertyAccessExpression 1787473 1787498 - Identifier 1787473 1787484 - Identifier 1787485 1787498 - Block 1787499 1787594 - ReturnStatement 1787501 1787526 - VariableStatement 1787594 1787808 - VariableDeclarationList 1787594 1787807 - VariableDeclaration 1787613 1787807 - Identifier 1787613 1787620 - CallExpression 1787622 1787807 - Identifier 1787622 1787634 - Identifier 1787635 1787647 - PropertyAccessExpression 1787648 1787673 - Identifier 1787648 1787661 - Identifier 1787662 1787673 - BinaryExpression 1787674 1787755 - BinaryExpression 1787674 1787735 - BinaryExpression 1787674 1787711 - PropertyAccessExpression 1787674 1787692 - Identifier 1787674 1787686 - Identifier 1787687 1787692 - BarToken 1787692 1787694 - PropertyAccessExpression 1787694 1787711 - Identifier 1787694 1787706 - Identifier 1787707 1787711 - BarToken 1787711 1787713 - PropertyAccessExpression 1787713 1787735 - Identifier 1787713 1787725 - Identifier 1787726 1787735 - BarToken 1787735 1787737 - PropertyAccessExpression 1787737 1787755 - Identifier 1787737 1787749 - Identifier 1787750 1787755 - Identifier 1787756 1787790 - TrueKeyword 1787791 1787806 - IfStatement 1787808 1788477 - BinaryExpression 1787826 1787989 - Identifier 1787826 1787832 - AmpersandAmpersandToken 1787832 1787835 - ParenthesizedExpression 1787835 1787989 - BinaryExpression 1787837 1787988 - BinaryExpression 1787837 1787894 - BinaryExpression 1787837 1787863 - Identifier 1787837 1787843 - EqualsEqualsEqualsToken 1787843 1787847 - Identifier 1787847 1787863 - BarBarToken 1787863 1787866 - BinaryExpression 1787866 1787894 - Identifier 1787866 1787873 - EqualsEqualsEqualsToken 1787873 1787877 - Identifier 1787877 1787894 - BarBarToken 1787894 1787897 - BinaryExpression 1787897 1787988 - PropertyAccessExpression 1787897 1787917 - Identifier 1787897 1787904 - Identifier 1787905 1787917 - AmpersandAmpersandToken 1787917 1787920 - CallExpression 1787920 1787988 - Identifier 1787920 1787939 - CallExpression 1787940 1787987 - Identifier 1787940 1787963 - ElementAccessExpression 1787964 1787986 - PropertyAccessExpression 1787964 1787983 - Identifier 1787964 1787970 - Identifier 1787971 1787983 - NumericLiteral 1787984 1787985 - Block 1787990 1788056 - Block 1788074 1788477 - VariableStatement 1788076 1788186 - VariableDeclarationList 1788076 1788185 - VariableDeclaration 1788099 1788185 - Identifier 1788099 1788106 - BinaryExpression 1788108 1788185 - Identifier 1788108 1788115 - AmpersandAmpersandToken 1788115 1788118 - ParenthesizedExpression 1788118 1788185 - ConditionalExpression 1788120 1788184 - BinaryExpression 1788120 1788152 - PropertyAccessExpression 1788120 1788132 - Identifier 1788120 1788126 - Identifier 1788127 1788132 - AmpersandToken 1788132 1788134 - PropertyAccessExpression 1788134 1788152 - Identifier 1788134 1788146 - Identifier 1788147 1788152 - QuestionToken 1788152 1788154 - CallExpression 1788154 1788175 - Identifier 1788154 1788167 - Identifier 1788168 1788174 - ColonToken 1788175 1788177 - Identifier 1788177 1788184 - IfStatement 1788186 1788462 - BinaryExpression 1788208 1788261 - PrefixUnaryExpression 1788208 1788215 - Identifier 1788209 1788215 - BarBarToken 1788215 1788218 - BinaryExpression 1788218 1788261 - CallExpression 1788218 1788241 - Identifier 1788218 1788233 - Identifier 1788234 1788240 - AmpersandToken 1788241 1788243 - PropertyAccessExpression 1788243 1788261 - Identifier 1788243 1788255 - Identifier 1788256 1788261 - Block 1788262 1788462 - ExpressionStatement 1788264 1788319 - CallExpression 1788264 1788318 - Identifier 1788264 1788308 - Identifier 1788309 1788317 - ExpressionStatement 1788319 1788409 - CallExpression 1788319 1788408 - Identifier 1788319 1788394 - Identifier 1788395 1788407 - ReturnStatement 1788477 1788498 - FunctionDeclaration 1788516 1791216 - Identifier 1788532 1788561 - Parameter 1788562 1788581 - Identifier 1788562 1788566 - TypeReference 1788567 1788581 - Identifier 1788567 1788581 - Block 1788582 1791216 - IfStatement 1788584 1791209 - PropertyAccessExpression 1788598 1788635 - Identifier 1788598 1788613 - Identifier 1788614 1788635 - Block 1788636 1791209 - VariableStatement 1788638 1788709 - VariableDeclarationList 1788638 1788708 - VariableDeclaration 1788657 1788708 - Identifier 1788657 1788672 - CallExpression 1788674 1788708 - Identifier 1788674 1788679 - PropertyAccessExpression 1788680 1788694 - Identifier 1788680 1788684 - Identifier 1788685 1788694 - Identifier 1788695 1788707 - IfStatement 1788709 1788785 - PrefixUnaryExpression 1788727 1788742 - Identifier 1788728 1788742 - Block 1788743 1788785 - ReturnStatement 1788745 1788770 - ExpressionStatement 1788785 1788872 - CallExpression 1788785 1788871 - Identifier 1788785 1788825 - Identifier 1788826 1788840 - PropertyAccessExpression 1788841 1788870 - Identifier 1788841 1788861 - Identifier 1788862 1788870 - SwitchStatement 1788872 1791198 - PropertyAccessExpression 1789024 1789033 - Identifier 1789024 1789028 - Identifier 1789029 1789033 - CaseBlock 1789034 1791198 - CaseClause 1789036 1789480 - PropertyAccessExpression 1789058 1789086 - Identifier 1789058 1789069 - Identifier 1789070 1789086 - VariableStatement 1789087 1789163 - VariableDeclarationList 1789087 1789162 - VariableDeclaration 1789114 1789162 - Identifier 1789114 1789126 - CallExpression 1789128 1789162 - Identifier 1789128 1789156 - Identifier 1789157 1789161 - IfStatement 1789163 1789452 - Identifier 1789189 1789200 - Block 1789201 1789452 - ForOfStatement 1789203 1789429 - VariableDeclarationList 1789234 1789249 - VariableDeclaration 1789239 1789249 - Identifier 1789239 1789249 - PropertyAccessExpression 1789252 1789275 - Identifier 1789252 1789264 - Identifier 1789265 1789275 - Block 1789276 1789429 - ExpressionStatement 1789278 1789402 - CallExpression 1789278 1789401 - Identifier 1789278 1789351 - CallExpression 1789352 1789400 - Identifier 1789352 1789389 - Identifier 1789390 1789399 - BreakStatement 1789452 1789480 - CaseClause 1789480 1789528 - PropertyAccessExpression 1789504 1789527 - Identifier 1789504 1789515 - Identifier 1789516 1789527 - CaseClause 1789528 1790022 - PropertyAccessExpression 1789550 1789573 - Identifier 1789550 1789561 - Identifier 1789562 1789573 - VariableStatement 1789574 1789701 - VariableDeclarationList 1789574 1789700 - VariableDeclaration 1789601 1789700 - Identifier 1789601 1789611 - ConditionalExpression 1789613 1789700 - BinaryExpression 1789613 1789650 - PropertyAccessExpression 1789613 1789623 - Identifier 1789613 1789618 - Identifier 1789619 1789623 - EqualsEqualsEqualsToken 1789623 1789627 - PropertyAccessExpression 1789627 1789650 - Identifier 1789627 1789638 - Identifier 1789639 1789650 - QuestionToken 1789650 1789652 - PropertyAccessExpression 1789652 1789675 - Identifier 1789652 1789663 - Identifier 1789664 1789675 - ColonToken 1789675 1789677 - PropertyAccessExpression 1789677 1789700 - Identifier 1789677 1789688 - Identifier 1789689 1789700 - VariableStatement 1789701 1789828 - VariableDeclarationList 1789701 1789827 - VariableDeclaration 1789728 1789827 - Identifier 1789728 1789742 - CallExpression 1789744 1789827 - Identifier 1789744 1789765 - TypeReference 1789766 1789785 - Identifier 1789766 1789785 - CallExpression 1789787 1789815 - Identifier 1789787 1789809 - Identifier 1789810 1789814 - Identifier 1789816 1789826 - ExpressionStatement 1789828 1789994 - CallExpression 1789828 1789993 - Identifier 1789828 1789893 - BinaryExpression 1789894 1789992 - CallExpression 1789894 1789928 - Identifier 1789894 1789922 - Identifier 1789923 1789927 - BarBarToken 1789928 1789931 - BinaryExpression 1789931 1789992 - Identifier 1789931 1789945 - AmpersandAmpersandToken 1789945 1789948 - CallExpression 1789948 1789992 - Identifier 1789948 1789977 - Identifier 1789978 1789991 - BreakStatement 1789994 1790022 - CaseClause 1790022 1790411 - PropertyAccessExpression 1790044 1790073 - Identifier 1790044 1790055 - Identifier 1790056 1790073 - ForOfStatement 1790074 1790281 - VariableDeclarationList 1790101 1790116 - VariableDeclaration 1790106 1790116 - Identifier 1790106 1790116 - PropertyAccessExpression 1790119 1790135 - Identifier 1790119 1790124 - Identifier 1790125 1790135 - Block 1790136 1790281 - ExpressionStatement 1790138 1790258 - CallExpression 1790138 1790257 - Identifier 1790138 1790207 - CallExpression 1790208 1790256 - Identifier 1790208 1790245 - Identifier 1790246 1790255 - ExpressionStatement 1790281 1790383 - CallExpression 1790281 1790382 - Identifier 1790281 1790348 - CallExpression 1790349 1790381 - Identifier 1790349 1790375 - Identifier 1790376 1790380 - BreakStatement 1790383 1790411 - CaseClause 1790411 1790599 - PropertyAccessExpression 1790435 1790466 - Identifier 1790435 1790446 - Identifier 1790447 1790466 - ExpressionStatement 1790467 1790571 - CallExpression 1790467 1790570 - Identifier 1790467 1790532 - CallExpression 1790533 1790569 - Identifier 1790533 1790563 - Identifier 1790564 1790568 - BreakStatement 1790571 1790599 - CaseClause 1790599 1791183 - PropertyAccessExpression 1790623 1790644 - Identifier 1790623 1790634 - Identifier 1790635 1790644 - ExpressionStatement 1790645 1790756 - CallExpression 1790645 1790755 - Identifier 1790645 1790710 - CallExpression 1790711 1790754 - Identifier 1790711 1790748 - Identifier 1790749 1790753 - VariableStatement 1790756 1790818 - VariableDeclarationList 1790756 1790817 - VariableDeclaration 1790783 1790817 - Identifier 1790783 1790803 - PropertyAccessExpression 1790805 1790817 - Identifier 1790805 1790810 - Identifier 1790811 1790817 - ForOfStatement 1790818 1791040 - VariableDeclarationList 1790845 1790860 - VariableDeclaration 1790850 1790860 - Identifier 1790850 1790860 - PropertyAccessExpression 1790863 1790894 - Identifier 1790863 1790883 - Identifier 1790884 1790894 - Block 1790895 1791040 - ExpressionStatement 1790897 1791017 - CallExpression 1790897 1791016 - Identifier 1790897 1790966 - CallExpression 1790967 1791015 - Identifier 1790967 1791004 - Identifier 1791005 1791014 - ExpressionStatement 1791040 1791155 - CallExpression 1791040 1791154 - Identifier 1791040 1791105 - CallExpression 1791106 1791153 - Identifier 1791106 1791132 - Identifier 1791133 1791152 - BreakStatement 1791155 1791183 - FunctionDeclaration 1791216 1792356 - Identifier 1791232 1791252 - Parameter 1791253 1791267 - Identifier 1791253 1791259 - TypeReference 1791260 1791267 - Identifier 1791260 1791267 - Parameter 1791268 1791283 - Identifier 1791268 1791277 - TypeReference 1791278 1791283 - Identifier 1791278 1791283 - Block 1791284 1792356 - IfStatement 1791286 1791374 - PrefixUnaryExpression 1791300 1791339 - Identifier 1791301 1791339 - Block 1791340 1791374 - ReturnStatement 1791342 1791363 - IfStatement 1791374 1792349 - BinaryExpression 1791388 1791471 - CallExpression 1791388 1791443 - Identifier 1791388 1791403 - Identifier 1791404 1791410 - PropertyAccessExpression 1791411 1791442 - Identifier 1791411 1791436 - Identifier 1791437 1791442 - AmpersandAmpersandToken 1791443 1791446 - PrefixUnaryExpression 1791446 1791471 - CallExpression 1791448 1791471 - Identifier 1791448 1791461 - Identifier 1791462 1791470 - Block 1791472 1792349 - VariableStatement 1791474 1791524 - VariableDeclarationList 1791474 1791523 - VariableDeclaration 1791493 1791523 - Identifier 1791493 1791500 - CallExpression 1791502 1791523 - Identifier 1791502 1791515 - Identifier 1791516 1791522 - IfStatement 1791524 1792338 - BinaryExpression 1791542 1791646 - CallExpression 1791542 1791598 - Identifier 1791542 1791556 - Identifier 1791557 1791563 - TrueKeyword 1791564 1791597 - AmpersandToken 1791598 1791600 - ParenthesizedExpression 1791600 1791646 - BinaryExpression 1791602 1791645 - PropertyAccessExpression 1791602 1791619 - Identifier 1791602 1791613 - Identifier 1791614 1791619 - BarToken 1791619 1791621 - PropertyAccessExpression 1791621 1791645 - Identifier 1791621 1791633 - Identifier 1791634 1791645 - Block 1791647 1792338 - IfStatement 1791649 1792323 - BinaryExpression 1791956 1792225 - BinaryExpression 1791956 1792119 - CallExpression 1791956 1792013 - Identifier 1791956 1791996 - Identifier 1791997 1792012 - BarBarToken 1792013 1792016 - BinaryExpression 1792016 1792119 - CallExpression 1792016 1792079 - Identifier 1792016 1792062 - Identifier 1792063 1792078 - AmpersandAmpersandToken 1792079 1792082 - CallExpression 1792082 1792119 - Identifier 1792082 1792109 - Identifier 1792110 1792118 - BarBarToken 1792119 1792122 - PrefixUnaryExpression 1792122 1792225 - CallExpression 1792145 1792225 - Identifier 1792145 1792177 - CallExpression 1792178 1792224 - Identifier 1792178 1792216 - Identifier 1792217 1792223 - Block 1792244 1792323 - ExpressionStatement 1792246 1792304 - CallExpression 1792246 1792303 - Identifier 1792246 1792295 - Identifier 1792296 1792302 - FunctionDeclaration 1792356 1793728 - Identifier 1792744 1792772 - Parameter 1792773 1792787 - Identifier 1792773 1792779 - TypeReference 1792780 1792787 - Identifier 1792780 1792787 - Block 1792788 1793728 - ExpressionStatement 1792790 1792853 - CallExpression 1792790 1792852 - PropertyAccessExpression 1792790 1792812 - Identifier 1792790 1792805 - Identifier 1792806 1792812 - Identifier 1792813 1792851 - VariableStatement 1792853 1792900 - VariableDeclarationList 1792853 1792899 - VariableDeclaration 1792868 1792899 - Identifier 1792868 1792874 - CallExpression 1792876 1792899 - Identifier 1792876 1792891 - Identifier 1792892 1792898 - IfStatement 1792900 1793721 - PrefixUnaryExpression 1792914 1792931 - PropertyAccessExpression 1792915 1792931 - Identifier 1792915 1792920 - Identifier 1792921 1792931 - Block 1792932 1793721 - ExpressionStatement 1792934 1792972 - BinaryExpression 1792934 1792971 - PropertyAccessExpression 1792934 1792964 - Identifier 1792934 1792953 - Identifier 1792954 1792964 - EqualsToken 1792964 1792966 - TrueKeyword 1792966 1792971 - VariableStatement 1792972 1793035 - VariableDeclarationList 1792972 1793034 - VariableDeclaration 1792991 1793034 - Identifier 1792991 1792996 - CallExpression 1792998 1793034 - Identifier 1792998 1793026 - Identifier 1793027 1793033 - IfStatement 1793035 1793080 - PrefixUnaryExpression 1793053 1793058 - Identifier 1793054 1793058 - ReturnStatement 1793059 1793080 - CallExpression 1793066 1793079 - PropertyAccessExpression 1793066 1793077 - Identifier 1793066 1793072 - Identifier 1793073 1793077 - IfStatement 1793080 1793710 - CallExpression 1793342 1793387 - Identifier 1793342 1793381 - Identifier 1793382 1793386 - Block 1793388 1793710 - IfStatement 1793390 1793695 - BinaryExpression 1793412 1793469 - CallExpression 1793412 1793449 - Identifier 1793412 1793426 - CallExpression 1793427 1793448 - Identifier 1793427 1793440 - Identifier 1793441 1793447 - AmpersandToken 1793449 1793451 - PropertyAccessExpression 1793451 1793469 - Identifier 1793451 1793463 - Identifier 1793464 1793469 - Block 1793470 1793695 - VariableStatement 1793472 1793618 - VariableDeclarationList 1793472 1793617 - VariableDeclaration 1793545 1793617 - Identifier 1793545 1793550 - CallExpression 1793552 1793617 - Identifier 1793552 1793571 - AsExpression 1793572 1793616 - PropertyAccessExpression 1793572 1793592 - Identifier 1793572 1793576 - Identifier 1793577 1793592 - TypeReference 1793595 1793616 - Identifier 1793595 1793616 - ExpressionStatement 1793618 1793676 - CallExpression 1793618 1793675 - Identifier 1793618 1793669 - Identifier 1793670 1793674 - FunctionDeclaration 1793728 1794263 - Identifier 1793744 1793767 - Parameter 1793768 1793815 - Identifier 1793768 1793772 - UnionType 1793773 1793815 - TypeReference 1793773 1793797 - Identifier 1793773 1793797 - TypeReference 1793799 1793815 - Identifier 1793799 1793815 - Block 1793816 1794263 - VariableStatement 1793818 1793872 - VariableDeclarationList 1793818 1793871 - VariableDeclaration 1793833 1793871 - Identifier 1793833 1793840 - CallExpression 1793842 1793871 - Identifier 1793842 1793865 - Identifier 1793866 1793870 - VariableStatement 1793872 1793918 - VariableDeclarationList 1793872 1793917 - VariableDeclaration 1793887 1793917 - Identifier 1793887 1793894 - CallExpression 1793896 1793917 - Identifier 1793896 1793909 - Identifier 1793910 1793916 - IfStatement 1793918 1794256 - Identifier 1793932 1793938 - Block 1793939 1794256 - VariableStatement 1793941 1794144 - VariableDeclarationList 1793941 1794143 - VariableDeclaration 1793960 1794143 - Identifier 1793960 1793970 - BinaryExpression 1793972 1794143 - BinaryExpression 1793972 1793997 - Identifier 1793972 1793979 - EqualsEqualsEqualsToken 1793979 1793983 - Identifier 1793983 1793997 - BarBarToken 1793997 1794000 - ParenthesizedExpression 1794000 1794143 - BinaryExpression 1794019 1794142 - ParenthesizedExpression 1794019 1794097 - BinaryExpression 1794020 1794096 - CallExpression 1794020 1794076 - Identifier 1794020 1794034 - Identifier 1794035 1794041 - TrueKeyword 1794042 1794075 - AmpersandToken 1794076 1794078 - PropertyAccessExpression 1794078 1794096 - Identifier 1794078 1794090 - Identifier 1794091 1794096 - AmpersandAmpersandToken 1794097 1794100 - PrefixUnaryExpression 1794100 1794142 - CallExpression 1794102 1794142 - Identifier 1794102 1794134 - Identifier 1794135 1794141 - IfStatement 1794144 1794245 - Identifier 1794164 1794173 - Block 1794174 1794245 - ExpressionStatement 1794176 1794230 - CallExpression 1794176 1794229 - Identifier 1794176 1794221 - Identifier 1794222 1794228 - FunctionDeclaration 1794263 1796091 - Identifier 1794279 1794323 - Parameter 1794324 1794378 - Identifier 1794324 1794332 - UnionType 1794333 1794378 - TypeReference 1794333 1794366 - Identifier 1794333 1794366 - UndefinedKeyword 1794368 1794378 - Parameter 1794379 1794409 - Identifier 1794379 1794400 - BooleanKeyword 1794401 1794409 - Block 1794410 1796091 - IfStatement 1794412 1794444 - PrefixUnaryExpression 1794426 1794435 - Identifier 1794427 1794435 - ReturnStatement 1794436 1794444 - VariableStatement 1794444 1794502 - VariableDeclarationList 1794444 1794501 - VariableDeclaration 1794461 1794501 - Identifier 1794461 1794470 - CallExpression 1794472 1794501 - Identifier 1794472 1794491 - Identifier 1794492 1794500 - VariableStatement 1794502 1794633 - VariableDeclarationList 1794502 1794632 - VariableDeclaration 1794517 1794632 - Identifier 1794517 1794525 - BinaryExpression 1794527 1794632 - ParenthesizedExpression 1794527 1794612 - ConditionalExpression 1794529 1794611 - BinaryExpression 1794529 1794568 - PropertyAccessExpression 1794529 1794542 - Identifier 1794529 1794537 - Identifier 1794538 1794542 - EqualsEqualsEqualsToken 1794542 1794546 - PropertyAccessExpression 1794546 1794568 - Identifier 1794546 1794557 - Identifier 1794558 1794568 - QuestionToken 1794568 1794570 - PropertyAccessExpression 1794570 1794587 - Identifier 1794570 1794582 - Identifier 1794583 1794587 - ColonToken 1794587 1794589 - PropertyAccessExpression 1794589 1794611 - Identifier 1794589 1794601 - Identifier 1794602 1794611 - BarToken 1794612 1794614 - PropertyAccessExpression 1794614 1794632 - Identifier 1794614 1794626 - Identifier 1794627 1794632 - VariableStatement 1794633 1794766 - VariableDeclarationList 1794633 1794765 - VariableDeclaration 1794648 1794765 - Identifier 1794648 1794659 - CallExpression 1794661 1794765 - Identifier 1794661 1794673 - Identifier 1794674 1794682 - PropertyAccessExpression 1794683 1794704 - Identifier 1794683 1794692 - Identifier 1794693 1794704 - Identifier 1794705 1794713 - Identifier 1794714 1794748 - TrueKeyword 1794749 1794764 - IfStatement 1794766 1796084 - BinaryExpression 1794780 1794830 - Identifier 1794780 1794790 - AmpersandAmpersandToken 1794790 1794793 - BinaryExpression 1794793 1794830 - PropertyAccessExpression 1794793 1794810 - Identifier 1794793 1794804 - Identifier 1794805 1794810 - AmpersandToken 1794810 1794812 - PropertyAccessExpression 1794812 1794830 - Identifier 1794812 1794824 - Identifier 1794825 1794830 - Block 1794831 1796084 - IfStatement 1794833 1796073 - BinaryExpression 1794851 1795094 - BinaryExpression 1794851 1795033 - BinaryExpression 1794851 1794953 - Identifier 1794851 1794907 - AmpersandAmpersandToken 1794907 1794927 - CallExpression 1794927 1794953 - Identifier 1794927 1794941 - Identifier 1794942 1794952 - AmpersandAmpersandToken 1794953 1794973 - PrefixUnaryExpression 1794973 1795033 - CallExpression 1794975 1795033 - Identifier 1794975 1795007 - CallExpression 1795008 1795032 - Identifier 1795008 1795020 - Identifier 1795021 1795031 - AmpersandAmpersandToken 1795033 1795053 - PrefixUnaryExpression 1795053 1795094 - CallExpression 1795055 1795094 - Identifier 1795055 1795082 - Identifier 1795083 1795093 - Block 1795109 1795184 - ExpressionStatement 1795111 1795169 - CallExpression 1795111 1795168 - Identifier 1795111 1795156 - Identifier 1795157 1795167 - IfStatement 1795202 1796073 - BinaryExpression 1795207 1795512 - BinaryExpression 1795207 1795424 - BinaryExpression 1795207 1795377 - BinaryExpression 1795207 1795301 - Identifier 1795207 1795245 - AmpersandAmpersandToken 1795245 1795265 - CallExpression 1795265 1795301 - Identifier 1795265 1795284 - Identifier 1795285 1795300 - AmpersandAmpersandToken 1795301 1795321 - BinaryExpression 1795321 1795377 - CallExpression 1795321 1795356 - Identifier 1795321 1795339 - Identifier 1795340 1795355 - GreaterThanEqualsToken 1795356 1795359 - PropertyAccessExpression 1795359 1795377 - Identifier 1795359 1795370 - Identifier 1795371 1795377 - AmpersandAmpersandToken 1795377 1795397 - PrefixUnaryExpression 1795397 1795424 - CallExpression 1795399 1795424 - Identifier 1795399 1795412 - Identifier 1795413 1795423 - AmpersandAmpersandToken 1795424 1795444 - PrefixUnaryExpression 1795444 1795512 - CallExpression 1795446 1795512 - Identifier 1795446 1795450 - PropertyAccessExpression 1795451 1795474 - Identifier 1795451 1795461 - Identifier 1795462 1795474 - Identifier 1795475 1795511 - Block 1795527 1796073 - VariableStatement 1795529 1795747 - VariableDeclarationList 1795529 1795746 - VariableDeclaration 1795552 1795746 - Identifier 1795552 1795557 - CallExpression 1795559 1795746 - Identifier 1795559 1795565 - Identifier 1795566 1795574 - PropertyAccessExpression 1795575 1795745 - Identifier 1795575 1795587 - Identifier 1795588 1795745 - VariableStatement 1795747 1795860 - VariableDeclarationList 1795747 1795859 - VariableDeclaration 1795770 1795859 - Identifier 1795770 1795787 - CallExpression 1795789 1795859 - Identifier 1795789 1795794 - BinaryExpression 1795795 1795832 - PropertyAccessExpression 1795795 1795818 - Identifier 1795795 1795805 - Identifier 1795806 1795818 - BarBarToken 1795818 1795821 - Identifier 1795821 1795832 - Identifier 1795833 1795858 - IfStatement 1795860 1796058 - Identifier 1795882 1795898 - Block 1795899 1796058 - ExpressionStatement 1795901 1796039 - CallExpression 1795901 1796038 - Identifier 1795901 1795937 - Identifier 1795938 1795942 - CallExpression 1795943 1796037 - Identifier 1795943 1795967 - Identifier 1795968 1795984 - PropertyAccessExpression 1795985 1796018 - Identifier 1795985 1795997 - Identifier 1795998 1796018 - CallExpression 1796019 1796036 - Identifier 1796019 1796026 - Identifier 1796027 1796035 - FunctionDeclaration 1796091 1796466 - Identifier 1796277 1796302 - Parameter 1796303 1796329 - Identifier 1796303 1796307 - UnionType 1796308 1796329 - TypeReference 1796308 1796317 - Identifier 1796308 1796317 - UndefinedKeyword 1796319 1796329 - Block 1796330 1796466 - ExpressionStatement 1796332 1796459 - CallExpression 1796332 1796458 - Identifier 1796332 1796385 - BinaryExpression 1796386 1796425 - Identifier 1796386 1796390 - AmpersandAmpersandToken 1796390 1796393 - CallExpression 1796393 1796425 - Identifier 1796393 1796419 - Identifier 1796420 1796424 - FalseKeyword 1796426 1796457 - FunctionDeclaration 1796466 1797103 - Identifier 1796780 1796824 - Parameter 1796825 1796851 - Identifier 1796825 1796829 - UnionType 1796830 1796851 - TypeReference 1796830 1796839 - Identifier 1796830 1796839 - UndefinedKeyword 1796841 1796851 - VoidKeyword 1796853 1796858 - Block 1796858 1797103 - VariableStatement 1796860 1796929 - VariableDeclarationList 1796860 1796928 - VariableDeclaration 1796875 1796928 - Identifier 1796875 1796886 - CallExpression 1796888 1796928 - Identifier 1796888 1796922 - Identifier 1796923 1796927 - IfStatement 1796929 1797096 - BinaryExpression 1796943 1796981 - Identifier 1796943 1796953 - AmpersandAmpersandToken 1796953 1796956 - CallExpression 1796956 1796981 - Identifier 1796956 1796969 - Identifier 1796970 1796980 - Block 1796982 1797096 - ExpressionStatement 1796984 1797085 - CallExpression 1796984 1797084 - Identifier 1796984 1797041 - Identifier 1797042 1797052 - TrueKeyword 1797053 1797083 - FunctionDeclaration 1797103 1803606 - Identifier 1797119 1797143 - Parameter 1797144 1797158 - Identifier 1797144 1797150 - TypeReference 1797151 1797158 - Identifier 1797151 1797158 - Parameter 1797159 1797180 - Identifier 1797159 1797168 - TypeReference 1797169 1797180 - Identifier 1797169 1797180 - Block 1797181 1803606 - VariableStatement 1797183 1797230 - VariableDeclarationList 1797183 1797229 - VariableDeclaration 1797198 1797229 - Identifier 1797198 1797203 - CallExpression 1797205 1797229 - Identifier 1797205 1797221 - Identifier 1797222 1797228 - VariableStatement 1797230 1797284 - VariableDeclarationList 1797230 1797283 - VariableDeclaration 1797245 1797283 - Identifier 1797245 1797257 - PropertyAccessExpression 1797259 1797283 - Identifier 1797259 1797266 - Identifier 1797267 1797283 - IfStatement 1797284 1803577 - Identifier 1797298 1797309 - Block 1797310 1803577 - IfStatement 1797312 1800937 - BinaryExpression 1798801 1798932 - BinaryExpression 1798801 1798889 - BinaryExpression 1798801 1798858 - CallExpression 1798801 1798830 - Identifier 1798801 1798817 - Identifier 1798818 1798829 - AmpersandAmpersandToken 1798830 1798833 - PrefixUnaryExpression 1798833 1798858 - PropertyAccessExpression 1798835 1798858 - Identifier 1798835 1798846 - Identifier 1798847 1798858 - AmpersandAmpersandToken 1798858 1798861 - PrefixUnaryExpression 1798861 1798889 - PropertyAccessExpression 1798863 1798889 - Identifier 1798863 1798874 - Identifier 1798875 1798889 - AmpersandAmpersandToken 1798889 1798892 - BinaryExpression 1798892 1798932 - PropertyAccessExpression 1798892 1798927 - PropertyAccessExpression 1798892 1798920 - PropertyAccessExpression 1798892 1798911 - Identifier 1798892 1798904 - Identifier 1798905 1798911 - Identifier 1798912 1798920 - Identifier 1798921 1798927 - GreaterThanEqualsToken 1798927 1798930 - NumericLiteral 1798930 1798932 - Block 1798933 1800937 - VariableStatement 1798935 1798994 - VariableDeclarationList 1798935 1798993 - VariableDeclaration 1798958 1798993 - Identifier 1798958 1798965 - PropertyAccessExpression 1798967 1798993 - PropertyAccessExpression 1798967 1798986 - Identifier 1798967 1798979 - Identifier 1798980 1798986 - Identifier 1798987 1798993 - VariableStatement 1798994 1799063 - VariableDeclarationList 1798994 1799062 - VariableDeclaration 1799017 1799062 - Identifier 1799017 1799033 - CallExpression 1799035 1799062 - Identifier 1799035 1799054 - Identifier 1799055 1799061 - IfStatement 1799063 1800922 - BinaryExpression 1799085 1799257 - BinaryExpression 1799085 1799208 - BinaryExpression 1799085 1799140 - PropertyAccessExpression 1799085 1799105 - Identifier 1799085 1799100 - Identifier 1799101 1799105 - EqualsEqualsEqualsToken 1799105 1799109 - PropertyAccessExpression 1799109 1799140 - Identifier 1799109 1799120 - Identifier 1799121 1799140 - AmpersandAmpersandToken 1799140 1799143 - BinaryExpression 1799143 1799208 - CallExpression 1799143 1799187 - Identifier 1799143 1799170 - Identifier 1799171 1799186 - AmpersandToken 1799187 1799189 - PropertyAccessExpression 1799189 1799208 - Identifier 1799189 1799199 - Identifier 1799200 1799208 - BarBarToken 1799208 1799211 - BinaryExpression 1799211 1799257 - PropertyAccessExpression 1799211 1799232 - Identifier 1799211 1799227 - Identifier 1799228 1799232 - EqualsEqualsEqualsToken 1799232 1799236 - PropertyAccessExpression 1799236 1799257 - Identifier 1799236 1799247 - Identifier 1799248 1799257 - Block 1799258 1800922 - VariableStatement 1799260 1799317 - VariableDeclarationList 1799260 1799316 - VariableDeclaration 1799287 1799316 - Identifier 1799287 1799293 - CallExpression 1799295 1799316 - Identifier 1799295 1799308 - Identifier 1799309 1799315 - IfStatement 1799317 1800903 - PrefixUnaryExpression 1799343 1799392 - ParenthesizedExpression 1799344 1799392 - BinaryExpression 1799345 1799391 - PropertyAccessExpression 1799345 1799356 - Identifier 1799345 1799350 - Identifier 1799351 1799356 - AmpersandToken 1799356 1799358 - PropertyAccessExpression 1799358 1799391 - Identifier 1799358 1799373 - Identifier 1799374 1799391 - Block 1799393 1800903 - ExpressionStatement 1799395 1799469 - BinaryExpression 1799395 1799468 - PropertyAccessExpression 1799395 1799432 - Identifier 1799395 1799426 - Identifier 1799427 1799432 - BarEqualsToken 1799432 1799435 - PropertyAccessExpression 1799435 1799468 - Identifier 1799435 1799450 - Identifier 1799451 1799468 - VariableStatement 1799469 1799571 - VariableDeclarationList 1799469 1799570 - VariableDeclaration 1799500 1799570 - Identifier 1799500 1799511 - CallExpression 1799513 1799570 - Identifier 1799513 1799544 - Identifier 1799545 1799551 - PropertyAccessExpression 1799552 1799569 - Identifier 1799552 1799562 - Identifier 1799563 1799569 - VariableStatement 1799571 1799685 - VariableDeclarationList 1799571 1799684 - VariableDeclaration 1799602 1799684 - Identifier 1799602 1799623 - BinaryExpression 1799625 1799684 - Identifier 1799625 1799636 - AmpersandAmpersandToken 1799636 1799639 - CallExpression 1799639 1799684 - Identifier 1799639 1799647 - Identifier 1799648 1799658 - Identifier 1799659 1799683 - ExpressionStatement 1799685 1799760 - BinaryExpression 1799685 1799759 - PropertyAccessExpression 1799685 1799722 - Identifier 1799685 1799716 - Identifier 1799717 1799722 - AmpersandEqualsToken 1799722 1799725 - PrefixUnaryExpression 1799725 1799759 - PropertyAccessExpression 1799727 1799759 - Identifier 1799727 1799741 - Identifier 1799742 1799759 - IfStatement 1799760 1800880 - BinaryExpression 1799790 1799951 - BinaryExpression 1799790 1799858 - Identifier 1799790 1799810 - AmpersandAmpersandToken 1799810 1799813 - BinaryExpression 1799813 1799858 - PropertyAccessExpression 1799813 1799840 - Identifier 1799813 1799834 - Identifier 1799835 1799840 - AmpersandToken 1799840 1799842 - PropertyAccessExpression 1799842 1799858 - Identifier 1799842 1799852 - Identifier 1799853 1799858 - AmpersandAmpersandToken 1799858 1799861 - PrefixUnaryExpression 1799861 1799951 - ParenthesizedExpression 1799863 1799951 - BinaryExpression 1799864 1799950 - BinaryExpression 1799864 1799909 - PropertyAccessExpression 1799864 1799884 - Identifier 1799864 1799879 - Identifier 1799880 1799884 - EqualsEqualsEqualsToken 1799884 1799888 - PropertyAccessExpression 1799888 1799909 - Identifier 1799888 1799899 - Identifier 1799900 1799909 - AmpersandAmpersandToken 1799909 1799912 - CallExpression 1799912 1799950 - Identifier 1799912 1799933 - Identifier 1799934 1799949 - Block 1799952 1800880 - VariableStatement 1799954 1800019 - VariableDeclarationList 1799954 1800018 - VariableDeclaration 1799989 1800018 - Identifier 1799989 1799997 - PropertyAccessExpression 1799999 1800018 - Identifier 1799999 1800011 - Identifier 1800012 1800018 - VariableStatement 1800019 1800194 - VariableDeclarationList 1800019 1800193 - VariableDeclaration 1800054 1800193 - Identifier 1800054 1800067 - CallExpression 1800069 1800193 - Identifier 1800069 1800092 - Identifier 1800093 1800100 - Identifier 1800101 1800122 - Identifier 1800123 1800144 - Identifier 1800145 1800173 - PropertyAccessExpression 1800174 1800192 - Identifier 1800174 1800183 - Identifier 1800184 1800192 - IfStatement 1800194 1800349 - BinaryExpression 1800228 1800264 - PropertyAccessExpression 1800228 1800246 - Identifier 1800228 1800240 - Identifier 1800241 1800246 - AmpersandToken 1800246 1800248 - PropertyAccessExpression 1800248 1800264 - Identifier 1800248 1800258 - Identifier 1800259 1800264 - Block 1800265 1800349 - ReturnStatement 1800267 1800318 - Identifier 1800307 1800317 - ReturnStatement 1800349 1800853 - CallExpression 1800760 1800852 - Identifier 1800760 1800796 - Identifier 1800797 1800808 - Identifier 1800809 1800822 - TrueKeyword 1800823 1800851 - IfStatement 1800937 1803566 - BinaryExpression 1802299 1802403 - BinaryExpression 1802299 1802372 - BinaryExpression 1802299 1802344 - CallExpression 1802299 1802323 - Identifier 1802299 1802310 - Identifier 1802311 1802322 - AmpersandAmpersandToken 1802323 1802326 - PrefixUnaryExpression 1802326 1802344 - PropertyAccessExpression 1802328 1802344 - Identifier 1802328 1802339 - Identifier 1802340 1802344 - AmpersandAmpersandToken 1802344 1802347 - PrefixUnaryExpression 1802347 1802372 - PropertyAccessExpression 1802349 1802372 - Identifier 1802349 1802360 - Identifier 1802361 1802372 - AmpersandAmpersandToken 1802372 1802375 - PrefixUnaryExpression 1802375 1802403 - PropertyAccessExpression 1802377 1802403 - Identifier 1802377 1802388 - Identifier 1802389 1802403 - Block 1802404 1803566 - VariableStatement 1802406 1802456 - VariableDeclarationList 1802406 1802455 - VariableDeclaration 1802429 1802455 - Identifier 1802429 1802434 - PropertyAccessExpression 1802436 1802455 - Identifier 1802436 1802448 - Identifier 1802449 1802455 - IfStatement 1802456 1803551 - BinaryExpression 1802478 1802562 - BinaryExpression 1802478 1802505 - PropertyAccessExpression 1802478 1802500 - PropertyAccessExpression 1802478 1802493 - Identifier 1802478 1802482 - Identifier 1802483 1802493 - Identifier 1802494 1802500 - GreaterThanEqualsToken 1802500 1802503 - NumericLiteral 1802503 1802505 - AmpersandAmpersandToken 1802505 1802508 - CallExpression 1802508 1802562 - Identifier 1802508 1802556 - Identifier 1802557 1802561 - Block 1802563 1803551 - VariableStatement 1802565 1802644 - VariableDeclarationList 1802565 1802643 - VariableDeclaration 1802592 1802643 - Identifier 1802592 1802612 - CallExpression 1802614 1802643 - Identifier 1802614 1802637 - Identifier 1802638 1802642 - IfStatement 1802644 1803532 - BinaryExpression 1802670 1802786 - BinaryExpression 1802670 1802736 - Identifier 1802670 1802689 - AmpersandAmpersandToken 1802689 1802692 - BinaryExpression 1802692 1802736 - PropertyAccessExpression 1802692 1802730 - PropertyAccessExpression 1802692 1802723 - Identifier 1802692 1802712 - Identifier 1802713 1802723 - Identifier 1802724 1802730 - EqualsEqualsEqualsToken 1802730 1802734 - NumericLiteral 1802734 1802736 - AmpersandAmpersandToken 1802736 1802739 - CallExpression 1802739 1802786 - Identifier 1802739 1802765 - Identifier 1802766 1802785 - Block 1802787 1803532 - VariableStatement 1802789 1802968 - VariableDeclarationList 1802789 1802967 - VariableDeclaration 1802820 1802967 - Identifier 1802820 1802829 - CallExpression 1802831 1802967 - Identifier 1802831 1802854 - CallExpression 1802855 1802966 - Identifier 1802855 1802870 - CallExpression 1802871 1802921 - Identifier 1802871 1802886 - ElementAccessExpression 1802887 1802920 - PropertyAccessExpression 1802887 1802917 - Identifier 1802887 1802906 - Identifier 1802907 1802917 - NumericLiteral 1802918 1802919 - PropertyAccessExpression 1802922 1802965 - CallExpression 1802922 1802948 - Identifier 1802922 1802942 - Identifier 1802943 1802947 - QuestionDotToken 1802948 1802950 - Identifier 1802950 1802965 - IfStatement 1802968 1803509 - BinaryExpression 1802998 1803114 - BinaryExpression 1802998 1803066 - BinaryExpression 1802998 1803030 - PropertyAccessExpression 1802998 1803012 - Identifier 1802998 1803006 - Identifier 1803007 1803012 - AmpersandToken 1803012 1803014 - PropertyAccessExpression 1803014 1803030 - Identifier 1803014 1803024 - Identifier 1803025 1803030 - AmpersandAmpersandToken 1803030 1803033 - CallExpression 1803033 1803066 - Identifier 1803033 1803043 - Identifier 1803044 1803052 - Identifier 1803053 1803065 - AmpersandAmpersandToken 1803066 1803069 - PrefixUnaryExpression 1803069 1803114 - CallExpression 1803071 1803114 - Identifier 1803071 1803075 - PropertyAccessExpression 1803076 1803091 - Identifier 1803076 1803080 - Identifier 1803081 1803091 - Identifier 1803092 1803113 - Block 1803115 1803509 - VariableStatement 1803117 1803265 - VariableDeclarationList 1803117 1803264 - VariableDeclaration 1803152 1803264 - Identifier 1803152 1803165 - CallExpression 1803167 1803264 - Identifier 1803167 1803190 - Identifier 1803191 1803195 - Identifier 1803196 1803205 - Identifier 1803206 1803215 - Identifier 1803216 1803244 - PropertyAccessExpression 1803245 1803263 - Identifier 1803245 1803254 - Identifier 1803255 1803263 - VariableStatement 1803265 1803381 - VariableDeclarationList 1803265 1803380 - VariableDeclaration 1803300 1803380 - Identifier 1803300 1803306 - BinaryExpression 1803308 1803380 - CallExpression 1803308 1803345 - PropertyAccessExpression 1803308 1803332 - PropertyAccessExpression 1803308 1803324 - Identifier 1803308 1803313 - Identifier 1803314 1803324 - Identifier 1803325 1803332 - Identifier 1803333 1803344 - MinusToken 1803345 1803347 - ParenthesizedExpression 1803347 1803380 - ConditionalExpression 1803349 1803379 - CallExpression 1803349 1803371 - Identifier 1803349 1803365 - Identifier 1803366 1803370 - QuestionToken 1803371 1803373 - NumericLiteral 1803373 1803375 - ColonToken 1803375 1803377 - NumericLiteral 1803377 1803379 - ReturnStatement 1803381 1803482 - CallExpression 1803417 1803481 - Identifier 1803417 1803438 - Identifier 1803439 1803451 - CallExpression 1803452 1803480 - Identifier 1803452 1803473 - Identifier 1803474 1803479 - ReturnStatement 1803577 1803599 - Identifier 1803593 1803598 - FunctionDeclaration 1803606 1807765 - Identifier 1803843 1803882 - Parameter 1803883 1803899 - Identifier 1803883 1803887 - TypeReference 1803888 1803899 - Identifier 1803888 1803899 - Parameter 1803900 1803915 - Identifier 1803900 1803907 - TypeReference 1803908 1803915 - Identifier 1803908 1803915 - Block 1803916 1807765 - IfStatement 1803918 1803964 - CallExpression 1803932 1803955 - Identifier 1803932 1803949 - Identifier 1803950 1803954 - ReturnStatement 1803956 1803964 - IfStatement 1803964 1805999 - BinaryExpression 1804608 1804634 - Identifier 1804608 1804614 - EqualsEqualsEqualsToken 1804614 1804618 - Identifier 1804618 1804634 - Block 1804635 1805999 - IfStatement 1804637 1804844 - CallExpression 1804655 1804702 - Identifier 1804655 1804696 - Identifier 1804697 1804701 - Block 1804703 1804844 - ExpressionStatement 1804705 1804804 - CallExpression 1804705 1804803 - Identifier 1804705 1804728 - Identifier 1804729 1804733 - PropertyAccessExpression 1804734 1804802 - Identifier 1804734 1804746 - Identifier 1804747 1804802 - ReturnStatement 1804804 1804829 - VariableStatement 1804844 1804904 - VariableDeclarationList 1804844 1804903 - VariableDeclaration 1804863 1804903 - Identifier 1804863 1804873 - CallExpression 1804875 1804903 - Identifier 1804875 1804897 - Identifier 1804898 1804902 - IfStatement 1804904 1805967 - Identifier 1804922 1804931 - Block 1804932 1805967 - IfStatement 1804934 1805562 - BinaryExpression 1804956 1804993 - Identifier 1804956 1804971 - LessThanToken 1804971 1804973 - PropertyAccessExpression 1804973 1804993 - Identifier 1804973 1804986 - Identifier 1804987 1804993 - Block 1804994 1805562 - IfStatement 1804996 1805543 - BinaryExpression 1805022 1805065 - PropertyAccessExpression 1805022 1805036 - Identifier 1805022 1805031 - Identifier 1805032 1805036 - EqualsEqualsEqualsToken 1805036 1805040 - PropertyAccessExpression 1805040 1805065 - Identifier 1805040 1805051 - Identifier 1805052 1805065 - Block 1805066 1805258 - ExpressionStatement 1805068 1805235 - CallExpression 1805068 1805234 - Identifier 1805068 1805099 - Identifier 1805100 1805104 - PropertyAccessExpression 1805105 1805233 - Identifier 1805105 1805117 - Identifier 1805118 1805233 - IfStatement 1805284 1805543 - CallExpression 1805289 1805341 - Identifier 1805289 1805309 - Identifier 1805310 1805319 - PropertyAccessExpression 1805320 1805340 - Identifier 1805320 1805334 - Identifier 1805335 1805340 - Block 1805342 1805543 - ExpressionStatement 1805344 1805520 - CallExpression 1805344 1805519 - Identifier 1805344 1805375 - Identifier 1805376 1805380 - PropertyAccessExpression 1805381 1805518 - Identifier 1805381 1805393 - Identifier 1805394 1805518 - ExpressionStatement 1805562 1805647 - BinaryExpression 1805562 1805646 - PropertyAccessExpression 1805562 1805611 - CallExpression 1805562 1805605 - Identifier 1805562 1805594 - Identifier 1805595 1805604 - Identifier 1805606 1805611 - BarEqualsToken 1805611 1805614 - PropertyAccessExpression 1805614 1805646 - Identifier 1805614 1805629 - Identifier 1805630 1805646 - WhileStatement 1805647 1805952 - BinaryExpression 1805672 1805711 - Identifier 1805672 1805681 - AmpersandAmpersandToken 1805681 1805684 - CallExpression 1805684 1805711 - Identifier 1805684 1805700 - Identifier 1805701 1805710 - Block 1805712 1805952 - ExpressionStatement 1805714 1805781 - BinaryExpression 1805714 1805780 - Identifier 1805714 1805745 - EqualsToken 1805745 1805747 - CallExpression 1805747 1805780 - Identifier 1805747 1805769 - Identifier 1805770 1805779 - IfStatement 1805781 1805933 - Identifier 1805807 1805816 - Block 1805817 1805933 - ExpressionStatement 1805819 1805910 - BinaryExpression 1805819 1805909 - PropertyAccessExpression 1805819 1805874 - CallExpression 1805819 1805868 - Identifier 1805819 1805857 - Identifier 1805858 1805867 - Identifier 1805869 1805874 - BarEqualsToken 1805874 1805877 - PropertyAccessExpression 1805877 1805909 - Identifier 1805877 1805892 - Identifier 1805893 1805909 - ReturnStatement 1805967 1805988 - VariableStatement 1805999 1806086 - VariableDeclarationList 1805999 1806085 - VariableDeclaration 1806016 1806085 - Identifier 1806016 1806036 - CallExpression 1806038 1806085 - Identifier 1806038 1806077 - Identifier 1806078 1806084 - VariableStatement 1806086 1806177 - VariableDeclarationList 1806086 1806176 - VariableDeclaration 1806101 1806176 - Identifier 1806101 1806114 - CallExpression 1806116 1806176 - Identifier 1806116 1806149 - Identifier 1806150 1806169 - Identifier 1806170 1806175 - IfStatement 1806177 1806416 - BinaryExpression 1806191 1806303 - BinaryExpression 1806191 1806274 - CallExpression 1806191 1806223 - Identifier 1806191 1806209 - Identifier 1806210 1806222 - AmpersandAmpersandToken 1806223 1806226 - CallExpression 1806226 1806274 - Identifier 1806226 1806254 - Identifier 1806255 1806259 - Identifier 1806260 1806273 - AmpersandAmpersandToken 1806274 1806277 - PropertyAccessExpression 1806277 1806303 - Identifier 1806277 1806290 - Identifier 1806291 1806303 - Block 1806304 1806416 - ExpressionStatement 1806306 1806405 - CallExpression 1806306 1806404 - Identifier 1806306 1806343 - Identifier 1806344 1806348 - PropertyAccessExpression 1806349 1806375 - Identifier 1806349 1806362 - Identifier 1806363 1806375 - AsExpression 1806376 1806403 - PropertyAccessExpression 1806376 1806393 - Identifier 1806376 1806381 - Identifier 1806382 1806393 - StringKeyword 1806396 1806403 - VariableStatement 1806416 1806485 - VariableDeclarationList 1806416 1806484 - VariableDeclaration 1806433 1806484 - Identifier 1806433 1806445 - PropertyAccessExpression 1806447 1806484 - Identifier 1806447 1806467 - Identifier 1806468 1806484 - IfStatement 1806485 1807702 - BinaryExpression 1806499 1806559 - Identifier 1806499 1806510 - AmpersandAmpersandToken 1806510 1806513 - BinaryExpression 1806513 1806559 - PropertyAccessExpression 1806513 1806539 - Identifier 1806513 1806533 - Identifier 1806534 1806539 - AmpersandToken 1806539 1806541 - PropertyAccessExpression 1806541 1806559 - Identifier 1806541 1806553 - Identifier 1806554 1806559 - Block 1806560 1807702 - IfStatement 1806562 1807691 - BinaryExpression 1806852 1806905 - CallExpression 1806852 1806876 - Identifier 1806852 1806863 - Identifier 1806864 1806875 - AmpersandAmpersandToken 1806876 1806879 - BinaryExpression 1806879 1806905 - PropertyAccessExpression 1806879 1806896 - Identifier 1806879 1806891 - Identifier 1806892 1806896 - ExclamationEqualsEqualsToken 1806896 1806900 - Identifier 1806900 1806905 - Block 1806906 1807691 - VariableStatement 1806908 1807042 - VariableDeclarationList 1806908 1807041 - VariableDeclaration 1806929 1807041 - Identifier 1806929 1806939 - CallExpression 1806941 1807041 - Identifier 1806941 1806958 - Identifier 1806959 1806963 - FalseKeyword 1806964 1806996 - FalseKeyword 1806997 1807040 - WhileStatement 1807042 1807304 - BinaryExpression 1807067 1807143 - BinaryExpression 1807067 1807107 - PropertyAccessExpression 1807067 1807081 - Identifier 1807067 1807076 - Identifier 1807077 1807081 - ExclamationEqualsEqualsToken 1807081 1807085 - PropertyAccessExpression 1807085 1807107 - Identifier 1807085 1807096 - Identifier 1807097 1807107 - AmpersandAmpersandToken 1807107 1807110 - BinaryExpression 1807110 1807143 - PropertyAccessExpression 1807110 1807127 - Identifier 1807110 1807120 - Identifier 1807121 1807127 - ExclamationEqualsEqualsToken 1807127 1807131 - Identifier 1807131 1807143 - Block 1807144 1807304 - ExpressionStatement 1807146 1807285 - BinaryExpression 1807146 1807284 - Identifier 1807146 1807177 - EqualsToken 1807177 1807179 - CallExpression 1807179 1807284 - Identifier 1807179 1807196 - Identifier 1807197 1807206 - FalseKeyword 1807207 1807239 - FalseKeyword 1807240 1807283 - IfStatement 1807304 1807676 - BinaryExpression 1807328 1807368 - PropertyAccessExpression 1807328 1807342 - Identifier 1807328 1807337 - Identifier 1807338 1807342 - ExclamationEqualsEqualsToken 1807342 1807346 - PropertyAccessExpression 1807346 1807368 - Identifier 1807346 1807357 - Identifier 1807358 1807368 - Block 1807369 1807676 - ExpressionStatement 1807371 1807472 - BinaryExpression 1807371 1807471 - PropertyAccessExpression 1807371 1807424 - CallExpression 1807371 1807418 - Identifier 1807371 1807405 - Identifier 1807406 1807417 - Identifier 1807419 1807424 - BarEqualsToken 1807424 1807427 - PropertyAccessExpression 1807427 1807471 - Identifier 1807427 1807442 - Identifier 1807443 1807471 - ExpressionStatement 1807472 1807571 - BinaryExpression 1807472 1807570 - PropertyAccessExpression 1807472 1807523 - CallExpression 1807472 1807517 - Identifier 1807472 1807506 - Identifier 1807507 1807516 - Identifier 1807518 1807523 - BarEqualsToken 1807523 1807526 - PropertyAccessExpression 1807526 1807570 - Identifier 1807526 1807541 - Identifier 1807542 1807570 - ExpressionStatement 1807571 1807657 - BinaryExpression 1807571 1807656 - PropertyAccessExpression 1807571 1807617 - CallExpression 1807571 1807611 - Identifier 1807571 1807605 - Identifier 1807606 1807610 - Identifier 1807612 1807617 - BarEqualsToken 1807617 1807620 - PropertyAccessExpression 1807620 1807656 - Identifier 1807620 1807635 - Identifier 1807636 1807656 - ExpressionStatement 1807702 1807758 - CallExpression 1807702 1807757 - Identifier 1807702 1807743 - Identifier 1807744 1807748 - Identifier 1807749 1807756 - FunctionDeclaration 1807765 1817018 - Identifier 1807781 1807797 - Parameter 1807798 1807814 - Identifier 1807798 1807802 - TypeReference 1807803 1807814 - Identifier 1807803 1807814 - Parameter 1807815 1807848 - Identifier 1807815 1807825 - UnionType 1807826 1807848 - TypeReference 1807826 1807836 - Identifier 1807826 1807836 - UndefinedKeyword 1807838 1807848 - TypeReference 1807850 1807855 - Identifier 1807850 1807855 - Block 1807855 1817018 - IfStatement 1807857 1807955 - CallExpression 1807871 1807894 - Identifier 1807871 1807888 - Identifier 1807889 1807893 - Block 1807895 1807955 - ReturnStatement 1807897 1807944 - CallExpression 1807917 1807943 - Identifier 1807917 1807937 - Identifier 1807938 1807942 - VariableStatement 1807955 1808006 - VariableDeclarationList 1807955 1808005 - VariableDeclaration 1807972 1808005 - Identifier 1807972 1807979 - CallExpression 1807981 1808005 - Identifier 1807981 1807999 - Identifier 1808000 1808004 - IfStatement 1808006 1808089 - BinaryExpression 1808020 1808044 - Identifier 1808020 1808026 - EqualsEqualsEqualsToken 1808026 1808030 - Identifier 1808030 1808044 - Block 1808045 1808089 - ReturnStatement 1808047 1808078 - Identifier 1808067 1808077 - ExpressionStatement 1808089 1808154 - CallExpression 1808089 1808153 - Identifier 1808089 1808139 - Identifier 1808140 1808144 - Identifier 1808145 1808152 - IfStatement 1808154 1808373 - BinaryExpression 1808170 1808196 - Identifier 1808170 1808176 - EqualsEqualsEqualsToken 1808176 1808180 - Identifier 1808180 1808196 - Block 1808197 1808373 - IfStatement 1808199 1808317 - CallExpression 1808217 1808264 - Identifier 1808217 1808258 - Identifier 1808259 1808263 - Block 1808265 1808317 - ReturnStatement 1808267 1808302 - Identifier 1808291 1808301 - ReturnStatement 1808317 1808362 - CallExpression 1808337 1808361 - Identifier 1808337 1808353 - Identifier 1808354 1808360 - IfStatement 1808373 1808511 - CallExpression 1808389 1808430 - Identifier 1808389 1808424 - Identifier 1808425 1808429 - Block 1808431 1808511 - ExpressionStatement 1808433 1808500 - CallExpression 1808433 1808499 - Identifier 1808433 1808467 - Identifier 1808468 1808472 - PropertyAccessExpression 1808473 1808498 - Identifier 1808473 1808487 - Identifier 1808488 1808498 - VariableStatement 1808511 1808598 - VariableDeclarationList 1808511 1808597 - VariableDeclaration 1808528 1808597 - Identifier 1808528 1808548 - CallExpression 1808550 1808597 - Identifier 1808550 1808589 - Identifier 1808590 1808596 - VariableStatement 1808598 1808663 - VariableDeclarationList 1808598 1808662 - VariableDeclaration 1808611 1808662 - Identifier 1808611 1808623 - PropertyAccessExpression 1808625 1808662 - Identifier 1808625 1808645 - Identifier 1808646 1808662 - VariableStatement 1808663 1808714 - VariableDeclarationList 1808663 1808713 - VariableDeclaration 1808678 1808713 - Identifier 1808678 1808699 - Identifier 1808701 1808713 - IfStatement 1808714 1809328 - BinaryExpression 1809088 1809272 - BinaryExpression 1809088 1809208 - BinaryExpression 1809088 1809149 - Identifier 1809088 1809099 - AmpersandAmpersandToken 1809099 1809102 - BinaryExpression 1809102 1809149 - PropertyAccessExpression 1809102 1809119 - Identifier 1809102 1809114 - Identifier 1809115 1809119 - EqualsEqualsEqualsToken 1809119 1809123 - PropertyAccessExpression 1809123 1809149 - Identifier 1809123 1809134 - Identifier 1809135 1809149 - AmpersandAmpersandToken 1809149 1809152 - CallExpression 1809152 1809208 - Identifier 1809152 1809161 - Identifier 1809162 1809187 - PropertyAccessExpression 1809188 1809207 - Identifier 1809188 1809200 - Identifier 1809201 1809207 - AmpersandAmpersandToken 1809208 1809211 - CallExpression 1809211 1809272 - Identifier 1809211 1809224 - Identifier 1809225 1809229 - ArrowFunction 1809230 1809271 - Parameter 1809230 1809237 - Identifier 1809230 1809237 - EqualsGreaterThanToken 1809237 1809240 - BinaryExpression 1809240 1809271 - Identifier 1809240 1809247 - EqualsEqualsEqualsToken 1809247 1809251 - PropertyAccessExpression 1809251 1809271 - NonNullExpression 1809251 1809264 - Identifier 1809251 1809263 - Identifier 1809265 1809271 - Block 1809273 1809328 - ReturnStatement 1809275 1809317 - Identifier 1809295 1809316 - VariableStatement 1809328 1809402 - VariableDeclarationList 1809328 1809401 - VariableDeclaration 1809343 1809401 - Identifier 1809343 1809348 - CallExpression 1809350 1809401 - Identifier 1809350 1809374 - Identifier 1809375 1809394 - Identifier 1809395 1809400 - VariableStatement 1809402 1809465 - VariableDeclarationList 1809402 1809464 - VariableDeclaration 1809417 1809464 - Identifier 1809417 1809432 - CallExpression 1809434 1809464 - Identifier 1809434 1809458 - Identifier 1809459 1809463 - IfStatement 1809465 1811048 - Identifier 1809481 1809495 - Block 1809496 1811048 - IfStatement 1809498 1810554 - BinaryExpression 1809516 1809680 - PrefixUnaryExpression 1809516 1809585 - ParenthesizedExpression 1809535 1809585 - BinaryExpression 1809536 1809584 - PropertyAccessExpression 1809536 1809561 - Identifier 1809536 1809555 - Identifier 1809556 1809561 - AmpersandToken 1809561 1809563 - PropertyAccessExpression 1809563 1809584 - Identifier 1809563 1809575 - Identifier 1809576 1809584 - AmpersandAmpersandToken 1809585 1809588 - PrefixUnaryExpression 1809588 1809680 - ParenthesizedExpression 1809607 1809680 - BinaryExpression 1809608 1809679 - CallExpression 1809608 1809624 - Identifier 1809608 1809618 - Identifier 1809619 1809623 - AmpersandAmpersandToken 1809624 1809627 - BinaryExpression 1809627 1809679 - PropertyAccessExpression 1809627 1809653 - Identifier 1809627 1809647 - Identifier 1809648 1809653 - AmpersandToken 1809653 1809655 - PropertyAccessExpression 1809655 1809679 - Identifier 1809655 1809667 - Identifier 1809668 1809679 - Block 1809695 1810554 - VariableStatement 1809697 1810431 - VariableDeclarationList 1809697 1810430 - VariableDeclaration 1809720 1810430 - Identifier 1809720 1809736 - ConditionalExpression 1809738 1810430 - BinaryExpression 1809738 1809783 - PropertyAccessExpression 1809738 1809764 - Identifier 1809738 1809758 - Identifier 1809759 1809764 - AmpersandToken 1809764 1809766 - PropertyAccessExpression 1809766 1809783 - Identifier 1809766 1809778 - Identifier 1809779 1809783 - QuestionToken 1809783 1809785 - PropertyAccessExpression 1809785 1809838 - Identifier 1809785 1809797 - Identifier 1809798 1809838 - ColonToken 1809838 1809861 - ConditionalExpression 1809861 1810430 - BinaryExpression 1809861 1809907 - PropertyAccessExpression 1809861 1809887 - Identifier 1809861 1809881 - Identifier 1809882 1809887 - AmpersandToken 1809887 1809889 - PropertyAccessExpression 1809889 1809907 - Identifier 1809889 1809901 - Identifier 1809902 1809907 - QuestionToken 1809907 1809909 - PropertyAccessExpression 1809909 1809962 - Identifier 1809909 1809921 - Identifier 1809922 1809962 - ColonToken 1809962 1809985 - ConditionalExpression 1809985 1810430 - BinaryExpression 1809985 1810032 - PropertyAccessExpression 1809985 1810011 - Identifier 1809985 1810005 - Identifier 1810006 1810011 - AmpersandToken 1810011 1810013 - PropertyAccessExpression 1810013 1810032 - Identifier 1810013 1810025 - Identifier 1810026 1810032 - QuestionToken 1810032 1810034 - PropertyAccessExpression 1810034 1810091 - Identifier 1810034 1810046 - Identifier 1810047 1810091 - ColonToken 1810091 1810114 - ConditionalExpression 1810114 1810430 - BinaryExpression 1810114 1810163 - PropertyAccessExpression 1810114 1810140 - Identifier 1810114 1810134 - Identifier 1810135 1810140 - AmpersandToken 1810140 1810142 - PropertyAccessExpression 1810142 1810163 - Identifier 1810142 1810154 - Identifier 1810155 1810163 - QuestionToken 1810163 1810165 - PropertyAccessExpression 1810165 1810221 - Identifier 1810165 1810177 - Identifier 1810178 1810221 - ColonToken 1810221 1810244 - ConditionalExpression 1810244 1810430 - BinaryExpression 1810244 1810290 - PropertyAccessExpression 1810244 1810270 - Identifier 1810244 1810264 - Identifier 1810265 1810270 - AmpersandToken 1810270 1810272 - PropertyAccessExpression 1810272 1810290 - Identifier 1810272 1810284 - Identifier 1810285 1810290 - QuestionToken 1810290 1810292 - PropertyAccessExpression 1810292 1810347 - Identifier 1810292 1810304 - Identifier 1810305 1810347 - ColonToken 1810347 1810370 - PropertyAccessExpression 1810370 1810430 - Identifier 1810370 1810382 - Identifier 1810383 1810430 - ExpressionStatement 1810431 1810504 - CallExpression 1810431 1810503 - Identifier 1810431 1810456 - Identifier 1810457 1810461 - Identifier 1810462 1810478 - CallExpression 1810479 1810502 - Identifier 1810479 1810494 - Identifier 1810495 1810501 - ReturnStatement 1810504 1810539 - Identifier 1810528 1810538 - IfStatement 1810554 1811037 - CallExpression 1810572 1810609 - Identifier 1810572 1810588 - Identifier 1810589 1810608 - Block 1810610 1811037 - IfStatement 1810612 1810987 - BinaryExpression 1810634 1810682 - PropertyAccessExpression 1810634 1810659 - Identifier 1810634 1810653 - Identifier 1810654 1810659 - AmpersandToken 1810659 1810661 - PropertyAccessExpression 1810661 1810682 - Identifier 1810661 1810673 - Identifier 1810674 1810682 - Block 1810683 1810819 - ExpressionStatement 1810685 1810800 - CallExpression 1810685 1810799 - Identifier 1810685 1810712 - Identifier 1810713 1810717 - PropertyAccessExpression 1810718 1810774 - Identifier 1810718 1810730 - Identifier 1810731 1810774 - CallExpression 1810775 1810798 - Identifier 1810775 1810790 - Identifier 1810791 1810797 - Block 1810841 1810987 - ExpressionStatement 1810843 1810968 - CallExpression 1810843 1810967 - Identifier 1810843 1810870 - Identifier 1810871 1810875 - PropertyAccessExpression 1810876 1810942 - Identifier 1810876 1810888 - Identifier 1810889 1810942 - CallExpression 1810943 1810966 - Identifier 1810943 1810958 - Identifier 1810959 1810965 - ReturnStatement 1810987 1811022 - Identifier 1811011 1811021 - VariableStatement 1811048 1811122 - VariableDeclarationList 1811048 1811121 - VariableDeclaration 1811065 1811121 - Identifier 1811065 1811073 - BinaryExpression 1811075 1811121 - PropertyAccessExpression 1811075 1811101 - Identifier 1811075 1811095 - Identifier 1811096 1811101 - AmpersandToken 1811101 1811103 - PropertyAccessExpression 1811103 1811121 - Identifier 1811103 1811115 - Identifier 1811116 1811121 - IfStatement 1811122 1811696 - BinaryExpression 1811301 1811349 - PropertyAccessExpression 1811301 1811326 - Identifier 1811301 1811320 - Identifier 1811321 1811326 - AmpersandToken 1811326 1811328 - PropertyAccessExpression 1811328 1811349 - Identifier 1811328 1811340 - Identifier 1811341 1811349 - Block 1811350 1811539 - IfStatement 1811352 1811528 - BinaryExpression 1811370 1811412 - Identifier 1811370 1811384 - EqualsEqualsEqualsToken 1811384 1811388 - PropertyAccessExpression 1811388 1811412 - Identifier 1811388 1811403 - Identifier 1811404 1811412 - Block 1811413 1811528 - ReturnStatement 1811415 1811513 - ConditionalExpression 1811439 1811512 - CallExpression 1811439 1811472 - Identifier 1811439 1811466 - Identifier 1811467 1811471 - QuestionToken 1811472 1811474 - CallExpression 1811474 1811505 - Identifier 1811474 1811499 - Identifier 1811500 1811504 - ColonToken 1811505 1811507 - Identifier 1811507 1811512 - IfStatement 1811553 1811696 - Identifier 1811558 1811565 - Block 1811566 1811643 - ExpressionStatement 1811568 1811632 - BinaryExpression 1811568 1811631 - Identifier 1811568 1811593 - EqualsToken 1811593 1811595 - CallExpression 1811595 1811631 - Identifier 1811595 1811623 - Identifier 1811624 1811630 - Block 1811657 1811696 - ReturnStatement 1811659 1811685 - Identifier 1811679 1811684 - IfStatement 1811696 1811764 - PrefixUnaryExpression 1811712 1811724 - Identifier 1811713 1811724 - Block 1811725 1811764 - ReturnStatement 1811727 1811753 - Identifier 1811747 1811752 - ExpressionStatement 1811764 1811836 - BinaryExpression 1811764 1811835 - Identifier 1811764 1811780 - EqualsToken 1811780 1811782 - CallExpression 1811782 1811835 - Identifier 1811782 1811812 - Identifier 1811813 1811817 - Identifier 1811818 1811823 - Identifier 1811824 1811834 - VariableStatement 1811836 1812219 - VariableDeclarationList 1811836 1812218 - VariableDeclaration 1812142 1812218 - Identifier 1812142 1812154 - BinaryExpression 1812156 1812218 - PropertyAccessExpression 1812156 1812193 - CallExpression 1812156 1812188 - Identifier 1812156 1812175 - Identifier 1812176 1812187 - Identifier 1812189 1812193 - EqualsEqualsEqualsToken 1812193 1812197 - PropertyAccessExpression 1812197 1812218 - Identifier 1812197 1812208 - Identifier 1812209 1812218 - VariableStatement 1812219 1812295 - VariableDeclarationList 1812219 1812294 - VariableDeclaration 1812234 1812294 - Identifier 1812234 1812255 - CallExpression 1812257 1812294 - Identifier 1812257 1812281 - Identifier 1812282 1812293 - VariableStatement 1812295 1812355 - VariableDeclarationList 1812295 1812354 - VariableDeclaration 1812308 1812354 - Identifier 1812308 1812322 - CallExpression 1812324 1812354 - Identifier 1812324 1812348 - Identifier 1812349 1812353 - VariableStatement 1812355 1812428 - VariableDeclarationList 1812355 1812427 - VariableDeclaration 1812370 1812427 - Identifier 1812370 1812386 - BinaryExpression 1812388 1812427 - Identifier 1812388 1812402 - ExclamationEqualsEqualsToken 1812402 1812406 - Identifier 1812406 1812427 - VariableStatement 1812428 1812608 - VariableDeclarationList 1812428 1812607 - VariableDeclaration 1812443 1812607 - Identifier 1812443 1812481 - BinaryExpression 1812483 1812607 - BinaryExpression 1812483 1812552 - BinaryExpression 1812483 1812517 - PropertyAccessExpression 1812483 1812495 - Identifier 1812483 1812488 - Identifier 1812489 1812495 - AmpersandAmpersandToken 1812495 1812498 - PropertyAccessExpression 1812498 1812517 - PropertyAccessExpression 1812498 1812510 - Identifier 1812498 1812503 - Identifier 1812504 1812510 - Identifier 1812511 1812517 - AmpersandAmpersandToken 1812517 1812520 - CallExpression 1812520 1812552 - Identifier 1812520 1812539 - PropertyAccessExpression 1812540 1812551 - Identifier 1812540 1812544 - Identifier 1812545 1812551 - AmpersandAmpersandToken 1812552 1812555 - CallExpression 1812555 1812607 - Identifier 1812555 1812587 - PropertyAccessExpression 1812588 1812606 - PropertyAccessExpression 1812588 1812599 - Identifier 1812588 1812592 - Identifier 1812593 1812599 - Identifier 1812600 1812606 - VariableStatement 1812608 1812683 - VariableDeclarationList 1812608 1812682 - VariableDeclaration 1812623 1812682 - Identifier 1812623 1812639 - BinaryExpression 1812641 1812682 - PropertyAccessExpression 1812641 1812654 - Identifier 1812641 1812648 - Identifier 1812649 1812654 - AmpersandToken 1812654 1812656 - PropertyAccessExpression 1812656 1812682 - Identifier 1812656 1812668 - Identifier 1812669 1812682 - VariableStatement 1812683 1812761 - VariableDeclarationList 1812683 1812760 - VariableDeclaration 1812698 1812760 - Identifier 1812698 1812714 - BinaryExpression 1812716 1812760 - BinaryExpression 1812716 1812734 - Identifier 1812716 1812721 - EqualsEqualsEqualsToken 1812721 1812725 - Identifier 1812725 1812734 - BarBarToken 1812734 1812737 - BinaryExpression 1812737 1812760 - Identifier 1812737 1812742 - EqualsEqualsEqualsToken 1812742 1812746 - Identifier 1812746 1812760 - VariableStatement 1812761 1812873 - VariableDeclarationList 1812761 1812872 - VariableDeclaration 1812776 1812872 - Identifier 1812776 1812801 - BinaryExpression 1812803 1812872 - Identifier 1812803 1812819 - AmpersandAmpersandToken 1812819 1812822 - BinaryExpression 1812822 1812872 - PropertyAccessExpression 1812822 1812839 - PropertyAccessExpression 1812822 1812834 - Identifier 1812822 1812827 - Identifier 1812828 1812834 - Identifier 1812835 1812839 - EqualsEqualsEqualsToken 1812839 1812843 - PropertyAccessExpression 1812843 1812872 - Identifier 1812843 1812854 - Identifier 1812855 1812872 - WhileStatement 1812873 1813878 - BinaryExpression 1813262 1813785 - BinaryExpression 1813262 1813556 - BinaryExpression 1813262 1813314 - Identifier 1813262 1813289 - ExclamationEqualsEqualsToken 1813289 1813293 - Identifier 1813293 1813314 - AmpersandAmpersandToken 1813314 1813317 - ParenthesizedExpression 1813317 1813556 - BinaryExpression 1813319 1813541 - BinaryExpression 1813319 1813457 - BinaryExpression 1813319 1813389 - PropertyAccessExpression 1813319 1813355 - Identifier 1813319 1813350 - Identifier 1813351 1813355 - EqualsEqualsEqualsToken 1813355 1813359 - PropertyAccessExpression 1813359 1813389 - Identifier 1813359 1813370 - Identifier 1813371 1813389 - BarBarToken 1813389 1813392 - BinaryExpression 1813392 1813457 - PropertyAccessExpression 1813392 1813428 - Identifier 1813392 1813423 - Identifier 1813424 1813428 - EqualsEqualsEqualsToken 1813428 1813432 - PropertyAccessExpression 1813432 1813457 - Identifier 1813432 1813443 - Identifier 1813444 1813457 - BarBarToken 1813457 1813460 - CallExpression 1813460 1813541 - Identifier 1813460 1813526 - Identifier 1813527 1813540 - AmpersandAmpersandToken 1813556 1813559 - ParenthesizedExpression 1813559 1813785 - BinaryExpression 1813561 1813770 - BinaryExpression 1813561 1813644 - CallExpression 1813561 1813618 - Identifier 1813561 1813597 - Identifier 1813598 1813617 - AmpersandAmpersandToken 1813618 1813621 - BinaryExpression 1813621 1813644 - Identifier 1813621 1813626 - ExclamationEqualsEqualsToken 1813626 1813630 - Identifier 1813630 1813644 - BarBarToken 1813644 1813647 - BinaryExpression 1813647 1813770 - CallExpression 1813647 1813719 - Identifier 1813647 1813698 - Identifier 1813699 1813718 - AmpersandAmpersandToken 1813719 1813722 - CallExpression 1813722 1813770 - Identifier 1813722 1813743 - Identifier 1813744 1813763 - Identifier 1813764 1813769 - Block 1813796 1813878 - ExpressionStatement 1813798 1813867 - BinaryExpression 1813798 1813866 - Identifier 1813798 1813825 - EqualsToken 1813825 1813827 - CallExpression 1813827 1813866 - Identifier 1813827 1813851 - Identifier 1813852 1813865 - VariableStatement 1813878 1814429 - VariableDeclarationList 1813878 1814428 - VariableDeclaration 1814162 1814428 - Identifier 1814162 1814181 - BinaryExpression 1814183 1814428 - BinaryExpression 1814183 1814389 - BinaryExpression 1814183 1814330 - BinaryExpression 1814183 1814288 - BinaryExpression 1814183 1814251 - Identifier 1814183 1814204 - AmpersandAmpersandToken 1814204 1814207 - CallExpression 1814207 1814251 - Identifier 1814207 1814229 - Identifier 1814230 1814250 - AmpersandAmpersandToken 1814251 1814254 - PrefixUnaryExpression 1814254 1814288 - PropertyAccessExpression 1814256 1814288 - Identifier 1814256 1814276 - Identifier 1814277 1814288 - AmpersandAmpersandToken 1814288 1814291 - PrefixUnaryExpression 1814291 1814330 - PropertyAccessExpression 1814293 1814330 - Identifier 1814293 1814313 - Identifier 1814314 1814330 - AmpersandAmpersandToken 1814330 1814333 - CallExpression 1814333 1814389 - Identifier 1814333 1814367 - Identifier 1814368 1814388 - AmpersandAmpersandToken 1814389 1814392 - PrefixUnaryExpression 1814392 1814428 - CallExpression 1814394 1814428 - Identifier 1814394 1814420 - Identifier 1814421 1814427 - VariableStatement 1814429 1815187 - VariableDeclarationList 1814429 1815186 - VariableDeclaration 1814444 1815186 - Identifier 1814444 1814462 - BinaryExpression 1814464 1815186 - BinaryExpression 1814464 1815132 - BinaryExpression 1814464 1815007 - BinaryExpression 1814464 1814941 - BinaryExpression 1814464 1814666 - BinaryExpression 1814464 1814617 - BinaryExpression 1814464 1814598 - BinaryExpression 1814464 1814544 - BinaryExpression 1814464 1814487 - Identifier 1814464 1814476 - BarBarToken 1814476 1814479 - Identifier 1814479 1814487 - BarBarToken 1814487 1814490 - ParenthesizedExpression 1814490 1814544 - BinaryExpression 1814505 1814543 - Identifier 1814505 1814520 - AmpersandAmpersandToken 1814520 1814523 - PrefixUnaryExpression 1814523 1814543 - Identifier 1814525 1814543 - BarBarToken 1814544 1814547 - Identifier 1814547 1814598 - BarBarToken 1814598 1814601 - Identifier 1814601 1814617 - BarBarToken 1814617 1814620 - CallExpression 1814620 1814666 - Identifier 1814620 1814647 - Identifier 1814648 1814652 - Identifier 1814653 1814665 - BarBarToken 1814666 1814669 - BinaryExpression 1814669 1814941 - BinaryExpression 1814669 1814726 - BinaryExpression 1814669 1814700 - Identifier 1814669 1814687 - ExclamationEqualsEqualsToken 1814687 1814691 - Identifier 1814691 1814700 - AmpersandAmpersandToken 1814700 1814703 - BinaryExpression 1814703 1814726 - Identifier 1814703 1814708 - ExclamationEqualsEqualsToken 1814708 1814712 - Identifier 1814712 1814726 - AmpersandAmpersandToken 1814726 1814729 - ParenthesizedExpression 1814729 1814941 - BinaryExpression 1814731 1814940 - BinaryExpression 1814731 1814889 - BinaryExpression 1814731 1814858 - BinaryExpression 1814731 1814814 - PrefixUnaryExpression 1814731 1814748 - Identifier 1814732 1814748 - BarBarToken 1814748 1814751 - BinaryExpression 1814751 1814814 - ParenthesizedExpression 1814751 1814808 - BinaryExpression 1814753 1814807 - PropertyAccessExpression 1814753 1814763 - Identifier 1814753 1814757 - Identifier 1814758 1814763 - AmpersandToken 1814763 1814765 - ParenthesizedExpression 1814765 1814807 - BinaryExpression 1814767 1814806 - PropertyAccessExpression 1814767 1814789 - Identifier 1814767 1814776 - Identifier 1814777 1814789 - BarToken 1814789 1814791 - PropertyAccessExpression 1814791 1814806 - Identifier 1814791 1814801 - Identifier 1814802 1814806 - ExclamationEqualsEqualsToken 1814808 1814812 - NumericLiteral 1814812 1814814 - BarBarToken 1814814 1814817 - CallExpression 1814817 1814858 - Identifier 1814817 1814852 - Identifier 1814853 1814857 - BarBarToken 1814858 1814861 - CallExpression 1814861 1814889 - Identifier 1814861 1814883 - Identifier 1814884 1814888 - BarBarToken 1814889 1814892 - BinaryExpression 1814892 1814940 - PropertyAccessExpression 1814892 1814909 - PropertyAccessExpression 1814892 1814904 - Identifier 1814892 1814897 - Identifier 1814898 1814904 - Identifier 1814905 1814909 - EqualsEqualsEqualsToken 1814909 1814913 - PropertyAccessExpression 1814913 1814940 - Identifier 1814913 1814924 - Identifier 1814925 1814940 - BarBarToken 1814941 1814944 - BinaryExpression 1814944 1815007 - PropertyAccessExpression 1814944 1814974 - PropertyAccessExpression 1814944 1814969 - Identifier 1814944 1814962 - Identifier 1814963 1814969 - Identifier 1814970 1814974 - EqualsEqualsEqualsToken 1814974 1814978 - PropertyAccessExpression 1814978 1815007 - Identifier 1814978 1814989 - Identifier 1814990 1815007 - BarBarToken 1815007 1815010 - BinaryExpression 1815010 1815132 - BinaryExpression 1815010 1815075 - PropertyAccessExpression 1815010 1815040 - Identifier 1815010 1815035 - Identifier 1815036 1815040 - EqualsEqualsEqualsToken 1815040 1815044 - PropertyAccessExpression 1815044 1815075 - Identifier 1815044 1815055 - Identifier 1815056 1815075 - AmpersandAmpersandToken 1815075 1815078 - PropertyAccessExpression 1815078 1815132 - ParenthesizedExpression 1815078 1815115 - AsExpression 1815080 1815114 - Identifier 1815080 1815091 - TypeReference 1815094 1815114 - Identifier 1815094 1815114 - Identifier 1815116 1815132 - BarBarToken 1815132 1815135 - BinaryExpression 1815135 1815186 - PropertyAccessExpression 1815135 1815166 - Identifier 1815135 1815160 - Identifier 1815161 1815166 - AmpersandToken 1815166 1815168 - PropertyAccessExpression 1815168 1815186 - Identifier 1815168 1815178 - Identifier 1815179 1815186 - VariableStatement 1815187 1815467 - VariableDeclarationList 1815187 1815466 - VariableDeclaration 1815202 1815466 - Identifier 1815202 1815214 - ConditionalExpression 1815216 1815466 - Identifier 1815216 1815241 - QuestionToken 1815241 1815243 - Identifier 1815243 1815257 - ColonToken 1815257 1815259 - ConditionalExpression 1815259 1815466 - Identifier 1815259 1815290 - QuestionToken 1815290 1815292 - ParenthesizedExpression 1815292 1815395 - ConditionalExpression 1815294 1815394 - Identifier 1815294 1815305 - QuestionToken 1815305 1815307 - CallExpression 1815307 1815387 - Identifier 1815307 1815341 - Identifier 1815342 1815346 - AsExpression 1815347 1815386 - Identifier 1815347 1815359 - TypeReference 1815362 1815386 - Identifier 1815362 1815386 - ColonToken 1815387 1815389 - Identifier 1815389 1815394 - ColonToken 1815395 1815397 - ConditionalExpression 1815397 1815466 - Identifier 1815397 1815426 - QuestionToken 1815426 1815428 - Identifier 1815428 1815442 - ColonToken 1815442 1815444 - CallExpression 1815444 1815466 - Identifier 1815444 1815460 - Identifier 1815461 1815465 - VariableStatement 1815467 1815682 - VariableDeclarationList 1815467 1815681 - VariableDeclaration 1815482 1815681 - Identifier 1815482 1815491 - ConditionalExpression 1815493 1815681 - Identifier 1815493 1815518 - QuestionToken 1815518 1815520 - CallExpression 1815520 1815603 - Identifier 1815520 1815539 - CallExpression 1815540 1815602 - Identifier 1815540 1815562 - Identifier 1815563 1815567 - Identifier 1815568 1815573 - Identifier 1815574 1815586 - Identifier 1815587 1815601 - ColonToken 1815603 1815605 - CallExpression 1815605 1815681 - Identifier 1815605 1815641 - Identifier 1815642 1815646 - Identifier 1815647 1815652 - Identifier 1815653 1815665 - Identifier 1815666 1815680 - IfStatement 1815682 1816931 - BinaryExpression 1815977 1816063 - PrefixUnaryExpression 1815977 1816014 - CallExpression 1815978 1816014 - Identifier 1815978 1816008 - Identifier 1816009 1816013 - AmpersandAmpersandToken 1816014 1816017 - ParenthesizedExpression 1816017 1816063 - BinaryExpression 1816019 1816062 - BinaryExpression 1816019 1816036 - Identifier 1816019 1816023 - EqualsEqualsEqualsToken 1816023 1816027 - Identifier 1816027 1816036 - BarBarToken 1816036 1816039 - BinaryExpression 1816039 1816062 - Identifier 1816039 1816044 - EqualsEqualsEqualsToken 1816044 1816048 - Identifier 1816048 1816062 - Block 1816064 1816615 - IfStatement 1816066 1816604 - BinaryExpression 1816084 1816135 - BinaryExpression 1816084 1816105 - Identifier 1816084 1816092 - EqualsEqualsEqualsToken 1816092 1816096 - Identifier 1816096 1816105 - BarBarToken 1816105 1816108 - BinaryExpression 1816108 1816135 - Identifier 1816108 1816117 - EqualsEqualsEqualsToken 1816117 1816121 - Identifier 1816121 1816135 - Block 1816136 1816604 - IfStatement 1816138 1816537 - Identifier 1816160 1816173 - Block 1816174 1816537 - ExpressionStatement 1816176 1816387 - CallExpression 1816176 1816386 - Identifier 1816176 1816203 - CallExpression 1816204 1816237 - Identifier 1816204 1816224 - Identifier 1816225 1816236 - PropertyAccessExpression 1816238 1816337 - Identifier 1816238 1816250 - Identifier 1816251 1816337 - CallExpression 1816338 1816361 - Identifier 1816338 1816353 - Identifier 1816354 1816360 - CallExpression 1816362 1816385 - Identifier 1816362 1816375 - Identifier 1816376 1816384 - ExpressionStatement 1816387 1816518 - CallExpression 1816387 1816517 - Identifier 1816387 1816414 - Identifier 1816415 1816419 - PropertyAccessExpression 1816420 1816468 - Identifier 1816420 1816432 - Identifier 1816433 1816468 - CallExpression 1816469 1816492 - Identifier 1816469 1816484 - Identifier 1816485 1816491 - CallExpression 1816493 1816516 - Identifier 1816493 1816506 - Identifier 1816507 1816515 - ReturnStatement 1816537 1816589 - CallExpression 1816561 1816588 - Identifier 1816561 1816578 - Identifier 1816579 1816587 - IfStatement 1816629 1816931 - BinaryExpression 1816634 1816719 - BinaryExpression 1816634 1816684 - PrefixUnaryExpression 1816634 1816652 - Identifier 1816635 1816652 - AmpersandAmpersandToken 1816652 1816655 - PrefixUnaryExpression 1816655 1816684 - CallExpression 1816657 1816684 - Identifier 1816657 1816678 - Identifier 1816679 1816683 - AmpersandAmpersandToken 1816684 1816687 - CallExpression 1816687 1816719 - Identifier 1816687 1816709 - Identifier 1816710 1816718 - Block 1816720 1816931 - ExpressionStatement 1816722 1816826 - CallExpression 1816722 1816825 - Identifier 1816722 1816741 - Identifier 1816742 1816746 - PropertyAccessExpression 1816747 1816800 - Identifier 1816747 1816759 - Identifier 1816760 1816800 - CallExpression 1816801 1816824 - Identifier 1816801 1816816 - Identifier 1816817 1816823 - ReturnStatement 1816826 1816920 - Identifier 1816914 1816919 - ReturnStatement 1816931 1817011 - ConditionalExpression 1816947 1817010 - Identifier 1816947 1816962 - QuestionToken 1816962 1816964 - CallExpression 1816964 1816999 - Identifier 1816964 1816989 - Identifier 1816990 1816998 - ColonToken 1816999 1817001 - Identifier 1817001 1817010 - FunctionDeclaration 1817018 1817355 - Identifier 1817034 1817061 - Parameter 1817062 1817078 - Identifier 1817062 1817066 - TypeReference 1817067 1817078 - Identifier 1817067 1817078 - Parameter 1817079 1817104 - Identifier 1817079 1817091 - TypeReference 1817092 1817104 - Identifier 1817092 1817104 - Block 1817105 1817355 - IfStatement 1817107 1817348 - CallExpression 1817121 1817150 - Identifier 1817121 1817137 - Identifier 1817138 1817149 - Block 1817151 1817348 - VariableStatement 1817153 1817227 - VariableDeclarationList 1817153 1817226 - VariableDeclaration 1817172 1817226 - Identifier 1817172 1817187 - CallExpression 1817189 1817226 - Identifier 1817189 1817202 - Identifier 1817203 1817207 - Identifier 1817208 1817225 - ReturnStatement 1817227 1817337 - BinaryExpression 1817247 1817336 - Identifier 1817247 1817262 - AmpersandAmpersandToken 1817262 1817265 - BinaryExpression 1817265 1817336 - CallExpression 1817265 1817300 - Identifier 1817265 1817284 - Identifier 1817285 1817299 - EqualsEqualsEqualsToken 1817300 1817304 - CallExpression 1817304 1817336 - Identifier 1817304 1817323 - Identifier 1817324 1817335 - FunctionDeclaration 1817355 1818170 - Identifier 1817371 1817407 - Parameter 1817408 1817424 - Identifier 1817408 1817412 - TypeReference 1817413 1817424 - Identifier 1817413 1817424 - BooleanKeyword 1817426 1817434 - Block 1817434 1818170 - VariableStatement 1817436 1817473 - VariableDeclarationList 1817436 1817472 - VariableDeclaration 1817451 1817472 - Identifier 1817451 1817458 - PropertyAccessExpression 1817460 1817472 - Identifier 1817460 1817465 - Identifier 1817466 1817472 - IfStatement 1817473 1818141 - Identifier 1817487 1817493 - Block 1817494 1818141 - IfStatement 1817496 1817725 - BinaryExpression 1817612 1817676 - CallExpression 1817612 1817646 - Identifier 1817612 1817638 - Identifier 1817639 1817645 - AmpersandAmpersandToken 1817646 1817649 - BinaryExpression 1817649 1817676 - PropertyAccessExpression 1817649 1817667 - Identifier 1817649 1817656 - Identifier 1817657 1817667 - EqualsEqualsEqualsToken 1817667 1817671 - Identifier 1817671 1817676 - Block 1817677 1817725 - ReturnStatement 1817679 1817710 - FalseKeyword 1817703 1817709 - IfStatement 1817725 1817914 - BinaryExpression 1817819 1817865 - CallExpression 1817819 1817844 - Identifier 1817819 1817836 - Identifier 1817837 1817843 - AmpersandAmpersandToken 1817844 1817847 - PropertyAccessExpression 1817847 1817865 - Identifier 1817847 1817854 - Identifier 1817855 1817865 - Block 1817866 1817914 - ReturnStatement 1817868 1817899 - FalseKeyword 1817892 1817898 - VariableStatement 1817914 1817975 - VariableDeclarationList 1817914 1817974 - VariableDeclaration 1817933 1817974 - Identifier 1817933 1817950 - PropertyAccessExpression 1817952 1817974 - PropertyAccessExpression 1817952 1817966 - Identifier 1817952 1817959 - Identifier 1817960 1817966 - QuestionDotToken 1817966 1817968 - Identifier 1817968 1817974 - IfStatement 1817975 1818130 - BinaryExpression 1817993 1818081 - BinaryExpression 1817993 1818050 - Identifier 1817993 1818009 - AmpersandAmpersandToken 1818009 1818012 - CallExpression 1818012 1818050 - Identifier 1818012 1818032 - Identifier 1818033 1818049 - AmpersandAmpersandToken 1818050 1818053 - PropertyAccessExpression 1818053 1818081 - Identifier 1818053 1818070 - Identifier 1818071 1818081 - Block 1818082 1818130 - ReturnStatement 1818084 1818115 - FalseKeyword 1818108 1818114 - ReturnStatement 1818141 1818163 - TrueKeyword 1818157 1818162 - FunctionDeclaration 1818170 1818524 - Identifier 1818186 1818232 - Parameter 1818233 1818243 - Identifier 1818233 1818237 - TypeReference 1818238 1818243 - Identifier 1818238 1818243 - Parameter 1818244 1818260 - Identifier 1818244 1818254 - TypeReference 1818255 1818260 - Identifier 1818255 1818260 - BooleanKeyword 1818262 1818270 - Block 1818270 1818524 - ReturnStatement 1818272 1818517 - PrefixUnaryExpression 1818288 1818516 - PrefixUnaryExpression 1818290 1818516 - CallExpression 1818291 1818516 - Identifier 1818291 1818303 - Identifier 1818304 1818308 - ArrowFunction 1818309 1818515 - Parameter 1818309 1818311 - Identifier 1818309 1818311 - EqualsGreaterThanToken 1818311 1818314 - ConditionalExpression 1818314 1818515 - BinaryExpression 1818314 1818343 - Identifier 1818314 1818329 - EqualsEqualsEqualsToken 1818329 1818333 - Identifier 1818333 1818343 - QuestionToken 1818343 1818345 - StringLiteral 1818345 1818352 - ColonToken 1818352 1818354 - BinaryExpression 1818354 1818515 - CallExpression 1818354 1818372 - Identifier 1818354 1818369 - Identifier 1818370 1818371 - BarBarToken 1818372 1818375 - ParenthesizedExpression 1818375 1818515 - BinaryExpression 1818377 1818500 - BinaryExpression 1818377 1818470 - BinaryExpression 1818377 1818438 - PropertyAccessExpression 1818377 1818403 - Identifier 1818377 1818396 - Identifier 1818397 1818403 - AmpersandAmpersandToken 1818403 1818406 - CallExpression 1818406 1818438 - Identifier 1818406 1818428 - PropertyAccessExpression 1818429 1818437 - Identifier 1818429 1818430 - Identifier 1818431 1818437 - AmpersandAmpersandToken 1818438 1818441 - PrefixUnaryExpression 1818441 1818470 - CallExpression 1818443 1818470 - Identifier 1818443 1818460 - PropertyAccessExpression 1818461 1818469 - Identifier 1818461 1818462 - Identifier 1818463 1818469 - AmpersandAmpersandToken 1818470 1818473 - BinaryExpression 1818473 1818500 - PropertyAccessExpression 1818473 1818494 - PropertyAccessExpression 1818473 1818482 - Identifier 1818473 1818475 - Identifier 1818476 1818482 - Identifier 1818483 1818494 - EqualsEqualsEqualsToken 1818494 1818498 - Identifier 1818498 1818500 - FunctionDeclaration 1818524 1818808 - Identifier 1818540 1818576 - Parameter 1818577 1818587 - Identifier 1818577 1818581 - TypeReference 1818582 1818587 - Identifier 1818582 1818587 - Parameter 1818588 1818612 - Identifier 1818588 1818598 - TypeReference 1818599 1818612 - Identifier 1818599 1818612 - Block 1818613 1818808 - ReturnStatement 1818615 1818801 - CallExpression 1818631 1818800 - Identifier 1818631 1818644 - Identifier 1818645 1818649 - ArrowFunction 1818650 1818799 - Parameter 1818650 1818652 - Identifier 1818650 1818652 - EqualsGreaterThanToken 1818652 1818655 - ConditionalExpression 1818655 1818799 - BinaryExpression 1818655 1818671 - Identifier 1818655 1818657 - EqualsEqualsEqualsToken 1818657 1818661 - Identifier 1818661 1818671 - QuestionToken 1818671 1818673 - StringLiteral 1818673 1818680 - ColonToken 1818680 1818682 - BinaryExpression 1818682 1818799 - BinaryExpression 1818682 1818770 - BinaryExpression 1818682 1818739 - BinaryExpression 1818682 1818710 - Identifier 1818682 1818684 - EqualsEqualsEqualsToken 1818684 1818688 - PropertyAccessExpression 1818688 1818710 - Identifier 1818688 1818698 - Identifier 1818699 1818710 - BarBarToken 1818710 1818713 - BinaryExpression 1818713 1818739 - Identifier 1818713 1818715 - EqualsEqualsEqualsToken 1818715 1818719 - PropertyAccessExpression 1818719 1818739 - Identifier 1818719 1818729 - Identifier 1818730 1818739 - BarBarToken 1818739 1818742 - BinaryExpression 1818742 1818770 - Identifier 1818742 1818744 - EqualsEqualsEqualsToken 1818744 1818748 - PropertyAccessExpression 1818748 1818770 - Identifier 1818748 1818758 - Identifier 1818759 1818770 - BarBarToken 1818770 1818773 - BinaryExpression 1818773 1818799 - Identifier 1818773 1818775 - EqualsEqualsEqualsToken 1818775 1818779 - PropertyAccessExpression 1818779 1818799 - Identifier 1818779 1818789 - Identifier 1818790 1818799 - FunctionDeclaration 1818808 1819049 - Identifier 1818824 1818855 - Parameter 1818856 1818866 - Identifier 1818856 1818860 - TypeReference 1818861 1818866 - Identifier 1818861 1818866 - UnionType 1818868 1818885 - TypeReference 1818868 1818873 - Identifier 1818868 1818873 - UndefinedKeyword 1818875 1818885 - Block 1818885 1819049 - ReturnStatement 1818887 1819042 - CallExpression 1818903 1819041 - Identifier 1818903 1818916 - Identifier 1818917 1818921 - ArrowFunction 1818922 1819040 - Parameter 1818922 1818924 - Identifier 1818922 1818924 - EqualsGreaterThanToken 1818924 1818927 - ConditionalExpression 1818927 1819040 - ParenthesizedExpression 1818927 1818970 - BinaryExpression 1818929 1818969 - PrefixUnaryExpression 1818929 1818931 - Identifier 1818930 1818931 - BarBarToken 1818931 1818934 - CallExpression 1818934 1818969 - Identifier 1818934 1818966 - Identifier 1818967 1818968 - QuestionToken 1818970 1818972 - StringLiteral 1818972 1818979 - ColonToken 1818979 1818981 - CallExpression 1818981 1819040 - Identifier 1818981 1819002 - Identifier 1819003 1819004 - FalseKeyword 1819005 1819039 - FunctionDeclaration 1819049 1822715 - Identifier 1819065 1819095 - Parameter 1819096 1819112 - Identifier 1819096 1819100 - TypeReference 1819101 1819112 - Identifier 1819101 1819112 - Parameter 1819113 1819128 - Identifier 1819113 1819120 - TypeReference 1819121 1819128 - Identifier 1819121 1819128 - VoidKeyword 1819130 1819135 - Block 1819135 1822715 - IfStatement 1819137 1819515 - BinaryExpression 1819151 1819470 - BinaryExpression 1819151 1819391 - BinaryExpression 1819151 1819337 - BinaryExpression 1819151 1819296 - BinaryExpression 1819151 1819203 - Identifier 1819151 1819180 - GreaterThanEqualsToken 1819180 1819183 - PropertyAccessExpression 1819183 1819203 - Identifier 1819183 1819196 - Identifier 1819197 1819203 - BarBarToken 1819203 1819206 - BinaryExpression 1819206 1819296 - ParenthesizedExpression 1819206 1819290 - BinaryExpression 1819221 1819289 - PropertyAccessExpression 1819221 1819233 - Identifier 1819221 1819227 - Identifier 1819228 1819233 - AmpersandToken 1819233 1819235 - ParenthesizedExpression 1819235 1819289 - BinaryExpression 1819237 1819288 - PropertyAccessExpression 1819237 1819268 - Identifier 1819237 1819248 - Identifier 1819249 1819268 - BarToken 1819268 1819270 - PropertyAccessExpression 1819270 1819288 - Identifier 1819270 1819282 - Identifier 1819283 1819288 - EqualsEqualsEqualsToken 1819290 1819294 - NumericLiteral 1819294 1819296 - BarBarToken 1819296 1819299 - PrefixUnaryExpression 1819299 1819337 - PropertyAccessExpression 1819314 1819337 - Identifier 1819314 1819320 - Identifier 1819321 1819337 - BarBarToken 1819337 1819340 - CallExpression 1819340 1819391 - Identifier 1819340 1819366 - PropertyAccessExpression 1819367 1819390 - Identifier 1819367 1819373 - Identifier 1819374 1819390 - BarBarToken 1819391 1819394 - BinaryExpression 1819394 1819470 - PropertyAccessExpression 1819394 1819443 - PropertyAccessExpression 1819394 1819438 - PropertyAccessExpression 1819394 1819431 - Identifier 1819394 1819414 - Identifier 1819415 1819431 - Identifier 1819432 1819438 - Identifier 1819439 1819443 - EqualsEqualsEqualsToken 1819443 1819447 - PropertyAccessExpression 1819447 1819470 - Identifier 1819447 1819458 - Identifier 1819459 1819470 - Block 1819481 1819515 - ReturnStatement 1819483 1819504 - VariableStatement 1819515 1820029 - VariableDeclarationList 1819515 1820028 - VariableDeclaration 1819959 1820028 - Identifier 1819959 1819969 - CallExpression 1819971 1820028 - Identifier 1819971 1820003 - PropertyAccessExpression 1820004 1820027 - Identifier 1820004 1820010 - Identifier 1820011 1820027 - VariableStatement 1820029 1820121 - VariableDeclarationList 1820029 1820120 - VariableDeclaration 1820044 1820120 - Identifier 1820044 1820055 - CallExpression 1820057 1820120 - Identifier 1820057 1820103 - Identifier 1820104 1820108 - Identifier 1820109 1820119 - VariableStatement 1820121 1820211 - VariableDeclarationList 1820121 1820210 - VariableDeclaration 1820138 1820210 - Identifier 1820138 1820166 - CallExpression 1820168 1820210 - Identifier 1820168 1820199 - Identifier 1820200 1820209 - IfStatement 1820211 1822565 - Identifier 1820225 1820252 - Block 1820253 1822565 - IfStatement 1820255 1821696 - Identifier 1820273 1820283 - Block 1820284 1821696 - VariableStatement 1820286 1820457 - VariableDeclarationList 1820286 1820456 - VariableDeclaration 1820413 1820456 - Identifier 1820413 1820449 - TrueKeyword 1820451 1820456 - IfStatement 1820457 1821479 - CallExpression 1820479 1820504 - Identifier 1820479 1820493 - Identifier 1820494 1820503 - Block 1820505 1821479 - VariableStatement 1820507 1820622 - VariableDeclarationList 1820507 1820621 - VariableDeclaration 1820534 1820621 - Identifier 1820534 1820546 - CallExpression 1820548 1820621 - Identifier 1820548 1820560 - PropertyAccessExpression 1820561 1820584 - Identifier 1820561 1820567 - Identifier 1820568 1820584 - PropertyAccessExpression 1820585 1820620 - Identifier 1820585 1820596 - Identifier 1820597 1820620 - IfStatement 1820622 1821460 - BinaryExpression 1820648 1820695 - Identifier 1820648 1820659 - AmpersandAmpersandToken 1820659 1820662 - BinaryExpression 1820662 1820695 - PropertyAccessExpression 1820662 1820681 - Identifier 1820662 1820674 - Identifier 1820675 1820681 - EqualsEqualsEqualsToken 1820681 1820685 - Identifier 1820685 1820695 - Block 1820696 1821460 - VariableStatement 1820698 1820797 - VariableDeclarationList 1820698 1820796 - VariableDeclaration 1820729 1820796 - Identifier 1820729 1820734 - CallExpression 1820736 1820796 - Identifier 1820736 1820772 - PropertyAccessExpression 1820773 1820784 - Identifier 1820773 1820777 - Identifier 1820778 1820784 - Identifier 1820785 1820795 - IfStatement 1820797 1821437 - Identifier 1820827 1820831 - Block 1820832 1821437 - VariableStatement 1820834 1820897 - VariableDeclarationList 1820834 1820896 - VariableDeclaration 1820869 1820896 - Identifier 1820869 1820875 - CallExpression 1820877 1820896 - Identifier 1820877 1820890 - Identifier 1820891 1820895 - ExpressionStatement 1820897 1820991 - BinaryExpression 1820897 1820990 - PropertyAccessExpression 1820897 1820938 - Identifier 1820897 1820932 - Identifier 1820933 1820938 - BarEqualsToken 1820938 1820941 - PropertyAccessExpression 1820941 1820990 - Identifier 1820941 1820956 - Identifier 1820957 1820990 - VariableStatement 1820991 1821124 - VariableDeclarationList 1820991 1821123 - VariableDeclaration 1821028 1821123 - Identifier 1821028 1821045 - BinaryExpression 1821047 1821123 - PropertyAccessExpression 1821047 1821080 - Identifier 1821047 1821053 - Identifier 1821054 1821080 - BarBarToken 1821080 1821083 - ParenthesizedExpression 1821083 1821123 - BinaryExpression 1821085 1821122 - PropertyAccessExpression 1821085 1821117 - Identifier 1821085 1821090 - Identifier 1821091 1821117 - EqualsToken 1821117 1821119 - ArrayLiteralExpression 1821119 1821122 - ExpressionStatement 1821124 1821193 - CallExpression 1821124 1821192 - Identifier 1821124 1821166 - Identifier 1821167 1821183 - Identifier 1821184 1821191 - IfStatement 1821193 1821410 - BinaryExpression 1821229 1821259 - Identifier 1821229 1821233 - EqualsEqualsEqualsToken 1821233 1821237 - PropertyAccessExpression 1821237 1821259 - Identifier 1821237 1821247 - Identifier 1821248 1821259 - Block 1821260 1821410 - ExpressionStatement 1821262 1821340 - BinaryExpression 1821262 1821339 - Identifier 1821262 1821331 - EqualsToken 1821331 1821333 - FalseKeyword 1821333 1821339 - IfStatement 1821479 1821681 - Identifier 1821501 1821536 - Block 1821537 1821681 - ExpressionStatement 1821539 1821662 - BinaryExpression 1821539 1821661 - PropertyAccessExpression 1821539 1821608 - CallExpression 1821539 1821602 - Identifier 1821539 1821573 - Identifier 1821574 1821601 - Identifier 1821603 1821608 - BarEqualsToken 1821608 1821611 - PropertyAccessExpression 1821611 1821661 - Identifier 1821611 1821626 - Identifier 1821627 1821661 - IfStatement 1821696 1822376 - CallExpression 1821974 1821999 - Identifier 1821974 1821988 - Identifier 1821989 1821998 - Block 1822000 1822376 - VariableStatement 1822002 1822113 - VariableDeclarationList 1822002 1822112 - VariableDeclaration 1822025 1822112 - Identifier 1822025 1822037 - CallExpression 1822039 1822112 - Identifier 1822039 1822051 - PropertyAccessExpression 1822052 1822075 - Identifier 1822052 1822058 - Identifier 1822059 1822075 - PropertyAccessExpression 1822076 1822111 - Identifier 1822076 1822087 - Identifier 1822088 1822111 - IfStatement 1822113 1822361 - BinaryExpression 1822135 1822233 - BinaryExpression 1822135 1822182 - Identifier 1822135 1822146 - AmpersandAmpersandToken 1822146 1822149 - BinaryExpression 1822149 1822182 - PropertyAccessExpression 1822149 1822168 - Identifier 1822149 1822161 - Identifier 1822162 1822168 - EqualsEqualsEqualsToken 1822168 1822172 - Identifier 1822172 1822182 - AmpersandAmpersandToken 1822182 1822185 - CallExpression 1822185 1822233 - Identifier 1822185 1822216 - Identifier 1822217 1822221 - Identifier 1822222 1822232 - Block 1822234 1822361 - ExpressionStatement 1822236 1822342 - BinaryExpression 1822236 1822341 - PropertyAccessExpression 1822236 1822301 - CallExpression 1822236 1822295 - Identifier 1822236 1822270 - PropertyAccessExpression 1822271 1822294 - Identifier 1822271 1822277 - Identifier 1822278 1822294 - Identifier 1822296 1822301 - BarEqualsToken 1822301 1822304 - PropertyAccessExpression 1822304 1822341 - Identifier 1822304 1822319 - Identifier 1822320 1822341 - ExpressionStatement 1822376 1822554 - BinaryExpression 1822376 1822553 - PropertyAccessExpression 1822376 1822510 - CallExpression 1822376 1822504 - Identifier 1822376 1822479 - PropertyAccessExpression 1822480 1822503 - Identifier 1822480 1822486 - Identifier 1822487 1822503 - Identifier 1822505 1822510 - BarEqualsToken 1822510 1822513 - PropertyAccessExpression 1822513 1822553 - Identifier 1822513 1822528 - Identifier 1822529 1822553 - IfStatement 1822565 1822708 - Identifier 1822581 1822591 - Block 1822592 1822708 - ExpressionStatement 1822594 1822697 - BinaryExpression 1822594 1822696 - PropertyAccessExpression 1822594 1822651 - CallExpression 1822594 1822645 - Identifier 1822594 1822620 - PropertyAccessExpression 1822621 1822644 - Identifier 1822621 1822627 - Identifier 1822628 1822644 - Identifier 1822646 1822651 - BarEqualsToken 1822651 1822654 - PropertyAccessExpression 1822654 1822696 - Identifier 1822654 1822669 - Identifier 1822670 1822696 - FunctionDeclaration 1822715 1822964 - Identifier 1822731 1822755 - Parameter 1822756 1822766 - Identifier 1822756 1822760 - TypeReference 1822761 1822766 - Identifier 1822761 1822766 - Parameter 1822767 1822810 - Identifier 1822767 1822772 - UnionType 1822773 1822810 - TypeReference 1822773 1822793 - Identifier 1822773 1822793 - TypeReference 1822795 1822810 - Identifier 1822795 1822810 - Block 1822811 1822964 - VariableStatement 1822813 1822856 - VariableDeclarationList 1822813 1822855 - VariableDeclaration 1822828 1822855 - Identifier 1822828 1822834 - CallExpression 1822836 1822855 - Identifier 1822836 1822849 - Identifier 1822850 1822854 - ReturnStatement 1822856 1822957 - BinaryExpression 1822872 1822956 - PrefixUnaryExpression 1822872 1822880 - PrefixUnaryExpression 1822874 1822880 - Identifier 1822875 1822880 - AmpersandAmpersandToken 1822880 1822883 - CallExpression 1822883 1822956 - Identifier 1822883 1822892 - PropertyAccessExpression 1822893 1822925 - Identifier 1822893 1822898 - Identifier 1822899 1822925 - CallExpression 1822926 1822955 - Identifier 1822926 1822949 - Identifier 1822950 1822954 - FunctionDeclaration 1822964 1824163 - Identifier 1822980 1823011 - Parameter 1823012 1823028 - Identifier 1823012 1823016 - TypeReference 1823017 1823028 - Identifier 1823017 1823028 - Parameter 1823029 1823053 - Identifier 1823029 1823039 - TypeReference 1823040 1823053 - Identifier 1823040 1823053 - BooleanKeyword 1823055 1823063 - Block 1823063 1824163 - VariableStatement 1823065 1823137 - VariableDeclarationList 1823065 1823136 - VariableDeclaration 1823115 1823136 - Identifier 1823115 1823123 - TypeReference 1823124 1823129 - Identifier 1823124 1823129 - Identifier 1823131 1823136 - WhileStatement 1823137 1823265 - BinaryExpression 1823154 1823212 - PropertyAccessExpression 1823154 1823173 - PropertyAccessExpression 1823154 1823168 - Identifier 1823154 1823161 - Identifier 1823162 1823168 - Identifier 1823169 1823173 - EqualsEqualsEqualsToken 1823173 1823177 - PropertyAccessExpression 1823177 1823212 - Identifier 1823177 1823188 - Identifier 1823189 1823212 - Block 1823213 1823265 - ExpressionStatement 1823215 1823254 - BinaryExpression 1823215 1823253 - Identifier 1823215 1823236 - EqualsToken 1823236 1823238 - PropertyAccessExpression 1823238 1823253 - Identifier 1823238 1823246 - Identifier 1823247 1823253 - VariableStatement 1823265 1823371 - VariableDeclarationList 1823265 1823370 - VariableDeclaration 1823351 1823370 - Identifier 1823351 1823362 - FalseKeyword 1823364 1823370 - IfStatement 1823371 1823820 - CallExpression 1823385 1823412 - Identifier 1823385 1823403 - Identifier 1823404 1823411 - Block 1823413 1823458 - ExpressionStatement 1823415 1823447 - BinaryExpression 1823415 1823446 - Identifier 1823415 1823439 - EqualsToken 1823439 1823441 - TrueKeyword 1823441 1823446 - IfStatement 1823472 1823820 - ParenthesizedExpression 1823477 1823596 - BinaryExpression 1823478 1823595 - BinaryExpression 1823478 1823534 - PropertyAccessExpression 1823478 1823497 - PropertyAccessExpression 1823478 1823492 - Identifier 1823478 1823485 - Identifier 1823486 1823492 - Identifier 1823493 1823497 - EqualsEqualsEqualsToken 1823497 1823501 - PropertyAccessExpression 1823501 1823534 - Identifier 1823501 1823512 - Identifier 1823513 1823534 - BarBarToken 1823534 1823537 - BinaryExpression 1823537 1823595 - PropertyAccessExpression 1823537 1823557 - PropertyAccessExpression 1823537 1823552 - Identifier 1823537 1823545 - Identifier 1823546 1823552 - Identifier 1823553 1823557 - EqualsEqualsEqualsToken 1823557 1823561 - PropertyAccessExpression 1823561 1823595 - Identifier 1823561 1823572 - Identifier 1823573 1823595 - Block 1823597 1823820 - VariableStatement 1823599 1823691 - VariableDeclarationList 1823599 1823690 - VariableDeclaration 1823618 1823690 - Identifier 1823618 1823623 - AsExpression 1823625 1823690 - PropertyAccessExpression 1823625 1823640 - Identifier 1823625 1823633 - Identifier 1823634 1823640 - UnionType 1823643 1823690 - TypeReference 1823643 1823665 - Identifier 1823643 1823665 - TypeReference 1823667 1823690 - Identifier 1823667 1823690 - ExpressionStatement 1823691 1823809 - BinaryExpression 1823691 1823808 - Identifier 1823691 1823715 - EqualsToken 1823715 1823717 - BinaryExpression 1823717 1823808 - BinaryExpression 1823717 1823760 - PropertyAccessExpression 1823717 1823731 - Identifier 1823717 1823722 - Identifier 1823723 1823731 - EqualsEqualsEqualsToken 1823731 1823735 - PropertyAccessExpression 1823735 1823760 - Identifier 1823735 1823746 - Identifier 1823747 1823760 - BarBarToken 1823760 1823763 - BinaryExpression 1823763 1823808 - PropertyAccessExpression 1823763 1823777 - Identifier 1823763 1823768 - Identifier 1823769 1823777 - EqualsEqualsEqualsToken 1823777 1823781 - PropertyAccessExpression 1823781 1823808 - Identifier 1823781 1823792 - Identifier 1823793 1823808 - IfStatement 1823820 1823888 - PrefixUnaryExpression 1823836 1823847 - Identifier 1823837 1823847 - Block 1823848 1823888 - ReturnStatement 1823850 1823877 - FalseKeyword 1823870 1823876 - ReturnStatement 1823888 1824156 - PrefixUnaryExpression 1824072 1824155 - PrefixUnaryExpression 1824074 1824155 - CallExpression 1824075 1824155 - Identifier 1824075 1824087 - Identifier 1824088 1824095 - ArrowFunction 1824096 1824154 - Parameter 1824096 1824098 - Identifier 1824096 1824098 - EqualsGreaterThanToken 1824098 1824101 - ConditionalExpression 1824101 1824154 - BinaryExpression 1824101 1824117 - Identifier 1824101 1824103 - EqualsEqualsEqualsToken 1824103 1824107 - Identifier 1824107 1824117 - QuestionToken 1824117 1824119 - StringLiteral 1824119 1824126 - ColonToken 1824126 1824128 - BinaryExpression 1824128 1824154 - Identifier 1824128 1824130 - EqualsEqualsEqualsToken 1824130 1824134 - PropertyAccessExpression 1824134 1824154 - Identifier 1824134 1824144 - Identifier 1824145 1824154 - FunctionDeclaration 1824163 1824653 - Identifier 1824179 1824198 - Parameter 1824199 1824209 - Identifier 1824199 1824203 - TypeReference 1824204 1824209 - Identifier 1824204 1824209 - Parameter 1824210 1824226 - Identifier 1824210 1824220 - TypeReference 1824221 1824226 - Identifier 1824221 1824226 - VoidKeyword 1824228 1824233 - Block 1824233 1824653 - ExpressionStatement 1824235 1824300 - BinaryExpression 1824235 1824299 - PropertyAccessExpression 1824235 1824269 - CallExpression 1824235 1824263 - Identifier 1824235 1824257 - Identifier 1824258 1824262 - Identifier 1824264 1824269 - BarEqualsToken 1824269 1824272 - PropertyAccessExpression 1824272 1824299 - Identifier 1824272 1824287 - Identifier 1824288 1824299 - IfStatement 1824300 1824646 - BinaryExpression 1824314 1824408 - BinaryExpression 1824314 1824363 - PropertyAccessExpression 1824314 1824328 - Identifier 1824314 1824323 - Identifier 1824324 1824328 - EqualsEqualsEqualsToken 1824328 1824332 - PropertyAccessExpression 1824332 1824363 - Identifier 1824332 1824343 - Identifier 1824344 1824363 - BarBarToken 1824363 1824366 - BinaryExpression 1824366 1824408 - PropertyAccessExpression 1824366 1824381 - Identifier 1824366 1824376 - Identifier 1824377 1824381 - EqualsEqualsEqualsToken 1824381 1824385 - PropertyAccessExpression 1824385 1824408 - Identifier 1824385 1824396 - Identifier 1824397 1824408 - Block 1824409 1824545 - VariableStatement 1824411 1824460 - VariableDeclarationList 1824411 1824459 - VariableDeclaration 1824430 1824459 - Identifier 1824430 1824440 - PropertyAccessExpression 1824442 1824459 - Identifier 1824442 1824452 - Identifier 1824453 1824459 - ExpressionStatement 1824460 1824534 - BinaryExpression 1824460 1824533 - PropertyAccessExpression 1824460 1824503 - CallExpression 1824460 1824497 - Identifier 1824460 1824486 - Identifier 1824487 1824496 - Identifier 1824498 1824503 - BarEqualsToken 1824503 1824506 - PropertyAccessExpression 1824506 1824533 - Identifier 1824506 1824521 - Identifier 1824522 1824533 - Block 1824559 1824646 - ExpressionStatement 1824561 1824635 - BinaryExpression 1824561 1824634 - PropertyAccessExpression 1824561 1824604 - CallExpression 1824561 1824598 - Identifier 1824561 1824587 - Identifier 1824588 1824597 - Identifier 1824599 1824604 - BarEqualsToken 1824604 1824607 - PropertyAccessExpression 1824607 1824634 - Identifier 1824607 1824622 - Identifier 1824623 1824634 - FunctionDeclaration 1824653 1824876 - Identifier 1824669 1824688 - Parameter 1824689 1824699 - Identifier 1824689 1824693 - TypeReference 1824694 1824699 - Identifier 1824694 1824699 - UnionType 1824701 1824723 - TypeReference 1824701 1824711 - Identifier 1824701 1824711 - UndefinedKeyword 1824713 1824723 - Block 1824723 1824876 - ReturnStatement 1824725 1824869 - ConditionalExpression 1824741 1824868 - CallExpression 1824741 1824759 - Identifier 1824741 1824753 - Identifier 1824754 1824758 - QuestionToken 1824759 1824761 - Identifier 1824761 1824766 - ColonToken 1824766 1824768 - ConditionalExpression 1824768 1824868 - CallExpression 1824768 1824802 - Identifier 1824768 1824796 - Identifier 1824797 1824801 - QuestionToken 1824802 1824804 - Identifier 1824804 1824814 - ColonToken 1824814 1824816 - CallExpression 1824816 1824868 - Identifier 1824816 1824842 - Identifier 1824843 1824847 - Identifier 1824848 1824867 - FunctionDeclaration 1824876 1825471 - Identifier 1825091 1825119 - Parameter 1825120 1825151 - Identifier 1825120 1825129 - TypeReference 1825130 1825151 - Identifier 1825130 1825151 - BooleanKeyword 1825153 1825161 - Block 1825161 1825471 - VariableStatement 1825163 1825227 - VariableDeclarationList 1825163 1825226 - VariableDeclaration 1825178 1825226 - Identifier 1825178 1825190 - CallExpression 1825192 1825226 - Identifier 1825192 1825215 - Identifier 1825216 1825225 - VariableStatement 1825227 1825317 - VariableDeclarationList 1825227 1825316 - VariableDeclaration 1825242 1825316 - Identifier 1825242 1825260 - AsExpression 1825262 1825316 - CallExpression 1825262 1825299 - Identifier 1825262 1825286 - Identifier 1825287 1825298 - TypeReference 1825302 1825316 - Identifier 1825302 1825316 - VariableStatement 1825317 1825404 - VariableDeclarationList 1825317 1825403 - VariableDeclaration 1825332 1825403 - Identifier 1825332 1825352 - CallExpression 1825354 1825403 - Identifier 1825354 1825384 - Identifier 1825385 1825402 - ReturnStatement 1825404 1825464 - BinaryExpression 1825422 1825463 - Identifier 1825422 1825442 - EqualsEqualsEqualsToken 1825442 1825446 - Identifier 1825446 1825463 - FunctionDeclaration 1825471 1826197 - Identifier 1825487 1825508 - Parameter 1825509 1825519 - Identifier 1825509 1825513 - TypeReference 1825514 1825519 - Identifier 1825514 1825519 - Parameter 1825520 1825536 - Identifier 1825520 1825530 - TypeReference 1825531 1825536 - Identifier 1825531 1825536 - Parameter 1825537 1825574 - Identifier 1825537 1825555 - TypeReference 1825556 1825574 - Identifier 1825556 1825574 - Block 1825575 1826197 - VariableStatement 1825577 1825652 - VariableDeclarationList 1825577 1825651 - VariableDeclaration 1825592 1825651 - Identifier 1825592 1825612 - AsExpression 1825614 1825651 - PropertyAccessExpression 1825614 1825631 - Identifier 1825614 1825624 - Identifier 1825625 1825631 - TypeReference 1825634 1825651 - Identifier 1825634 1825651 - VariableStatement 1825652 1825735 - VariableDeclarationList 1825652 1825734 - VariableDeclaration 1825667 1825734 - Identifier 1825667 1825680 - CallExpression 1825682 1825734 - Identifier 1825682 1825713 - Identifier 1825714 1825733 - IfStatement 1825735 1826190 - BinaryExpression 1825925 1825990 - Identifier 1825925 1825937 - AmpersandAmpersandToken 1825937 1825940 - PrefixUnaryExpression 1825940 1825990 - CallExpression 1825942 1825990 - Identifier 1825942 1825969 - Identifier 1825970 1825989 - Block 1825991 1826190 - IfStatement 1825993 1826179 - BinaryExpression 1826011 1826112 - BinaryExpression 1826011 1826049 - CallExpression 1826011 1826032 - Identifier 1826011 1826026 - Identifier 1826027 1826031 - AmpersandAmpersandToken 1826032 1826035 - PropertyAccessExpression 1826035 1826049 - Identifier 1826035 1826040 - Identifier 1826041 1826049 - AmpersandAmpersandToken 1826049 1826052 - PrefixUnaryExpression 1826052 1826112 - CallExpression 1826054 1826112 - Identifier 1826054 1826073 - PropertyAccessExpression 1826074 1826087 - Identifier 1826074 1826078 - Identifier 1826079 1826087 - FalseKeyword 1826088 1826111 - Block 1826113 1826179 - ExpressionStatement 1826115 1826164 - CallExpression 1826115 1826163 - Identifier 1826115 1826138 - Identifier 1826139 1826143 - Identifier 1826144 1826162 - FunctionDeclaration 1826197 1826725 - Identifier 1826213 1826268 - Parameter 1826269 1826289 - Identifier 1826269 1826283 - TypeReference 1826284 1826289 - Identifier 1826284 1826289 - Parameter 1826290 1826306 - Identifier 1826290 1826300 - TypeReference 1826301 1826306 - Identifier 1826301 1826306 - Block 1826307 1826725 - IfStatement 1826309 1826718 - BinaryExpression 1826323 1826575 - BinaryExpression 1826323 1826540 - BinaryExpression 1826323 1826459 - BinaryExpression 1826323 1826421 - BinaryExpression 1826323 1826401 - CallExpression 1826323 1826369 - Identifier 1826323 1826358 - Identifier 1826359 1826368 - AmpersandAmpersandToken 1826369 1826372 - CallExpression 1826372 1826401 - Identifier 1826372 1826390 - Identifier 1826391 1826400 - AmpersandAmpersandToken 1826401 1826404 - Identifier 1826404 1826421 - AmpersandAmpersandToken 1826421 1826424 - PropertyAccessExpression 1826424 1826459 - Identifier 1826424 1826447 - Identifier 1826448 1826459 - AmpersandAmpersandToken 1826459 1826462 - CallExpression 1826462 1826540 - Identifier 1826462 1826497 - PropertyAccessExpression 1826498 1826519 - Identifier 1826498 1826507 - Identifier 1826508 1826519 - PropertyAccessExpression 1826520 1826539 - Identifier 1826520 1826535 - Identifier 1826536 1826539 - AmpersandAmpersandToken 1826540 1826543 - CallExpression 1826543 1826575 - Identifier 1826543 1826557 - PropertyAccessExpression 1826558 1826574 - Identifier 1826558 1826567 - Identifier 1826568 1826574 - Block 1826586 1826718 - ExpressionStatement 1826588 1826707 - CallExpression 1826588 1826706 - Identifier 1826588 1826607 - Identifier 1826608 1826622 - PropertyAccessExpression 1826623 1826705 - Identifier 1826623 1826635 - Identifier 1826636 1826705 - FunctionDeclaration 1826725 1830340 - Identifier 1826741 1826761 - Parameter 1826762 1826772 - Identifier 1826762 1826766 - TypeReference 1826767 1826772 - Identifier 1826767 1826772 - TypeReference 1826774 1826779 - Identifier 1826774 1826779 - Block 1826779 1830340 - VariableStatement 1826781 1826837 - VariableDeclarationList 1826781 1826836 - VariableDeclaration 1826796 1826836 - Identifier 1826796 1826814 - CallExpression 1826816 1826836 - Identifier 1826816 1826830 - Identifier 1826831 1826835 - VariableStatement 1826837 1827075 - VariableDeclarationList 1826837 1827074 - VariableDeclaration 1826964 1827074 - Identifier 1826964 1826974 - CallExpression 1826976 1827074 - Identifier 1826976 1826993 - Identifier 1826994 1826998 - TrueKeyword 1826999 1827030 - TrueKeyword 1827031 1827073 - VariableStatement 1827075 1827121 - VariableDeclarationList 1827075 1827120 - VariableDeclaration 1827088 1827120 - Identifier 1827088 1827112 - FalseKeyword 1827114 1827120 - VariableStatement 1827121 1827170 - VariableDeclarationList 1827121 1827169 - VariableDeclaration 1827134 1827169 - Identifier 1827134 1827161 - FalseKeyword 1827163 1827169 - IfStatement 1827170 1827387 - BinaryExpression 1827186 1827227 - PropertyAccessExpression 1827186 1827200 - Identifier 1827186 1827195 - Identifier 1827196 1827200 - EqualsEqualsEqualsToken 1827200 1827204 - PropertyAccessExpression 1827204 1827227 - Identifier 1827204 1827215 - Identifier 1827216 1827227 - Block 1827228 1827387 - ExpressionStatement 1827230 1827376 - CallExpression 1827230 1827375 - Identifier 1827230 1827264 - Identifier 1827265 1827269 - Identifier 1827270 1827280 - PropertyAccessExpression 1827281 1827374 - Identifier 1827281 1827293 - Identifier 1827294 1827374 - WhileStatement 1827387 1828065 - TrueKeyword 1827406 1827410 - Block 1827411 1828065 - IfStatement 1827413 1827737 - BinaryExpression 1827507 1827550 - PropertyAccessExpression 1827507 1827521 - Identifier 1827507 1827516 - Identifier 1827517 1827521 - EqualsEqualsEqualsToken 1827521 1827525 - PropertyAccessExpression 1827525 1827550 - Identifier 1827525 1827536 - Identifier 1827537 1827550 - Block 1827551 1827737 - ExpressionStatement 1827553 1827673 - BinaryExpression 1827553 1827672 - Identifier 1827553 1827580 - EqualsToken 1827580 1827582 - CallExpression 1827582 1827672 - Identifier 1827582 1827599 - Identifier 1827600 1827609 - FalseKeyword 1827610 1827642 - PrefixUnaryExpression 1827643 1827671 - Identifier 1827645 1827671 - ExpressionStatement 1827673 1827722 - BinaryExpression 1827673 1827721 - Identifier 1827673 1827714 - EqualsToken 1827714 1827716 - TrueKeyword 1827716 1827721 - IfStatement 1827737 1828032 - BinaryExpression 1827757 1827807 - PropertyAccessExpression 1827757 1827771 - Identifier 1827757 1827766 - Identifier 1827767 1827771 - EqualsEqualsEqualsToken 1827771 1827775 - PropertyAccessExpression 1827775 1827807 - Identifier 1827775 1827786 - Identifier 1827787 1827807 - Block 1827808 1828032 - ExpressionStatement 1827810 1827938 - BinaryExpression 1827810 1827937 - Identifier 1827810 1827837 - EqualsToken 1827837 1827839 - CallExpression 1827839 1827937 - Identifier 1827839 1827856 - Identifier 1827857 1827866 - PrefixUnaryExpression 1827867 1827892 - Identifier 1827869 1827892 - FalseKeyword 1827893 1827936 - ExpressionStatement 1827938 1827990 - BinaryExpression 1827938 1827989 - Identifier 1827938 1827982 - EqualsToken 1827982 1827984 - TrueKeyword 1827984 1827989 - ContinueStatement 1827990 1828017 - BreakStatement 1828032 1828054 - ExpressionStatement 1828065 1828149 - CallExpression 1828065 1828148 - Identifier 1828065 1828131 - Identifier 1828132 1828136 - Identifier 1828137 1828147 - IfStatement 1828149 1828985 - Identifier 1828163 1828189 - Block 1828190 1828296 - ExpressionStatement 1828192 1828285 - CallExpression 1828192 1828284 - Identifier 1828192 1828211 - Identifier 1828212 1828216 - PropertyAccessExpression 1828217 1828283 - Identifier 1828217 1828229 - Identifier 1828230 1828283 - Block 1828310 1828985 - SwitchStatement 1828312 1828974 - PropertyAccessExpression 1828334 1828348 - Identifier 1828334 1828343 - Identifier 1828344 1828348 - CaseBlock 1828349 1828974 - CaseClause 1828351 1828661 - PropertyAccessExpression 1828373 1828402 - Identifier 1828373 1828384 - Identifier 1828385 1828402 - ExpressionStatement 1828403 1828506 - CallExpression 1828403 1828505 - Identifier 1828403 1828430 - Identifier 1828431 1828435 - PropertyAccessExpression 1828436 1828504 - Identifier 1828436 1828448 - Identifier 1828449 1828504 - BreakStatement 1828506 1828661 - CaseClause 1828661 1828959 - PropertyAccessExpression 1828683 1828710 - Identifier 1828683 1828694 - Identifier 1828695 1828710 - ExpressionStatement 1828711 1828804 - CallExpression 1828711 1828803 - Identifier 1828711 1828738 - Identifier 1828739 1828743 - PropertyAccessExpression 1828744 1828802 - Identifier 1828744 1828756 - Identifier 1828757 1828802 - BreakStatement 1828804 1828959 - IfStatement 1828985 1829252 - BinaryExpression 1829102 1829188 - BinaryExpression 1829102 1829147 - PrefixUnaryExpression 1829102 1829120 - Identifier 1829103 1829120 - AmpersandAmpersandToken 1829120 1829123 - Identifier 1829123 1829147 - AmpersandAmpersandToken 1829147 1829150 - BinaryExpression 1829150 1829188 - Identifier 1829150 1829166 - LessThanToken 1829166 1829168 - PropertyAccessExpression 1829168 1829188 - Identifier 1829168 1829181 - Identifier 1829182 1829188 - Block 1829189 1829252 - ExpressionStatement 1829191 1829241 - CallExpression 1829191 1829240 - Identifier 1829191 1829223 - Identifier 1829224 1829228 - Identifier 1829229 1829239 - VariableStatement 1829252 1829339 - VariableDeclarationList 1829252 1829338 - VariableDeclaration 1829269 1829338 - Identifier 1829269 1829274 - CallExpression 1829276 1829338 - Identifier 1829276 1829293 - Identifier 1829294 1829298 - TrueKeyword 1829299 1829326 - Identifier 1829327 1829337 - IfStatement 1829339 1830300 - Identifier 1829353 1829367 - Block 1829368 1830300 - VariableStatement 1829370 1829441 - VariableDeclarationList 1829370 1829440 - VariableDeclaration 1829389 1829440 - Identifier 1829389 1829404 - CallExpression 1829406 1829440 - Identifier 1829406 1829422 - Identifier 1829423 1829439 - IfStatement 1829441 1830289 - BinaryExpression 1829459 1829509 - BinaryExpression 1829459 1829482 - Identifier 1829459 1829463 - EqualsEqualsEqualsToken 1829463 1829467 - Identifier 1829467 1829482 - AmpersandAmpersandToken 1829482 1829485 - Identifier 1829485 1829509 - Block 1829510 1829634 - ExpressionStatement 1829512 1829619 - CallExpression 1829512 1829618 - Identifier 1829512 1829535 - Identifier 1829536 1829540 - PropertyAccessExpression 1829541 1829617 - Identifier 1829541 1829553 - Identifier 1829554 1829617 - IfStatement 1829652 1830289 - PrefixUnaryExpression 1829657 1829662 - Identifier 1829658 1829662 - Block 1829663 1830289 - VariableStatement 1829665 1829890 - VariableDeclarationList 1829665 1829889 - VariableDeclaration 1829785 1829889 - Identifier 1829785 1829790 - CallExpression 1829792 1829889 - Identifier 1829792 1829798 - Identifier 1829799 1829803 - PropertyAccessExpression 1829804 1829888 - Identifier 1829804 1829816 - Identifier 1829817 1829888 - IfStatement 1829890 1830274 - PrefixUnaryExpression 1829912 1829936 - CallExpression 1829913 1829936 - Identifier 1829913 1829925 - Identifier 1829926 1829935 - Block 1829937 1830274 - VariableStatement 1829939 1830009 - VariableDeclarationList 1829939 1830008 - VariableDeclaration 1829966 1830008 - Identifier 1829966 1829978 - CallExpression 1829980 1830008 - Identifier 1829980 1829997 - Identifier 1829998 1830007 - IfStatement 1830009 1830255 - BinaryExpression 1830035 1830080 - Identifier 1830035 1830046 - AmpersandAmpersandToken 1830046 1830049 - BinaryExpression 1830049 1830080 - Identifier 1830049 1830061 - ExclamationEqualsEqualsToken 1830061 1830065 - Identifier 1830065 1830080 - Block 1830081 1830255 - ExpressionStatement 1830083 1830232 - CallExpression 1830083 1830231 - Identifier 1830083 1830123 - Identifier 1830124 1830128 - CallExpression 1830129 1830230 - Identifier 1830129 1830153 - Identifier 1830154 1830163 - PropertyAccessExpression 1830164 1830229 - Identifier 1830164 1830176 - Identifier 1830177 1830229 - ReturnStatement 1830300 1830333 - BinaryExpression 1830316 1830332 - Identifier 1830316 1830321 - BarBarToken 1830321 1830324 - Identifier 1830324 1830332 - FunctionDeclaration 1830340 1832935 - Identifier 1830356 1830373 - Parameter 1830374 1830384 - Identifier 1830374 1830378 - TypeReference 1830379 1830384 - Identifier 1830379 1830384 - Parameter 1830385 1830410 - Identifier 1830385 1830403 - TrueKeyword 1830405 1830410 - Parameter 1830411 1830523 - Identifier 1830411 1830421 - CallExpression 1830423 1830523 - Identifier 1830423 1830440 - Identifier 1830441 1830445 - FalseKeyword 1830446 1830478 - FalseKeyword 1830479 1830522 - UnionType 1830525 1830542 - TypeReference 1830525 1830530 - Identifier 1830525 1830530 - UndefinedKeyword 1830532 1830542 - Block 1830542 1832935 - VariableStatement 1830544 1830586 - VariableDeclarationList 1830544 1830585 - VariableDeclaration 1830559 1830585 - Identifier 1830559 1830566 - CallExpression 1830568 1830585 - Identifier 1830568 1830579 - Identifier 1830580 1830584 - IfStatement 1830586 1831965 - BinaryExpression 1830600 1830744 - CallExpression 1830600 1830639 - Identifier 1830600 1830628 - Identifier 1830629 1830638 - AmpersandAmpersandToken 1830639 1830642 - ParenthesizedExpression 1830642 1830744 - BinaryExpression 1830657 1830743 - PrefixUnaryExpression 1830657 1830712 - CallExpression 1830658 1830712 - Identifier 1830658 1830706 - Identifier 1830707 1830711 - BarBarToken 1830712 1830715 - CallExpression 1830715 1830743 - Identifier 1830715 1830732 - Identifier 1830733 1830742 - Block 1830755 1831965 - VariableStatement 1830757 1830880 - VariableDeclarationList 1830757 1830879 - VariableDeclaration 1830774 1830879 - Identifier 1830774 1830783 - BinaryExpression 1830785 1830879 - CallExpression 1830785 1830821 - Identifier 1830785 1830810 - Identifier 1830811 1830820 - BarBarToken 1830821 1830824 - BinaryExpression 1830824 1830879 - Identifier 1830824 1830831 - AmpersandAmpersandToken 1830831 1830834 - CallExpression 1830834 1830879 - Identifier 1830834 1830868 - Identifier 1830869 1830878 - IfStatement 1830880 1831844 - PrefixUnaryExpression 1831097 1831106 - Identifier 1831098 1831106 - Block 1831107 1831844 - VariableStatement 1831109 1831188 - VariableDeclarationList 1831109 1831187 - VariableDeclaration 1831132 1831187 - Identifier 1831132 1831142 - CallExpression 1831144 1831187 - Identifier 1831144 1831176 - Identifier 1831177 1831186 - IfStatement 1831188 1831756 - BinaryExpression 1831210 1831229 - Identifier 1831210 1831216 - AmpersandAmpersandToken 1831216 1831219 - Identifier 1831219 1831229 - Block 1831230 1831561 - VariableStatement 1831232 1831308 - VariableDeclarationList 1831232 1831307 - VariableDeclaration 1831259 1831307 - Identifier 1831259 1831271 - PropertyAccessExpression 1831273 1831307 - CallExpression 1831273 1831300 - Identifier 1831273 1831289 - Identifier 1831290 1831299 - Identifier 1831301 1831307 - IfStatement 1831308 1831542 - BinaryExpression 1831334 1831414 - BinaryExpression 1831334 1831368 - Identifier 1831334 1831345 - AmpersandAmpersandToken 1831345 1831348 - PropertyAccessExpression 1831348 1831368 - Identifier 1831348 1831360 - Identifier 1831361 1831368 - AmpersandAmpersandToken 1831368 1831371 - ParenthesizedExpression 1831371 1831414 - BinaryExpression 1831373 1831413 - PropertyAccessExpression 1831373 1831390 - Identifier 1831373 1831384 - Identifier 1831385 1831390 - AmpersandToken 1831390 1831392 - PropertyAccessExpression 1831392 1831413 - Identifier 1831392 1831404 - Identifier 1831405 1831413 - Block 1831415 1831542 - ExpressionStatement 1831417 1831519 - BinaryExpression 1831417 1831518 - Identifier 1831417 1831451 - EqualsToken 1831451 1831453 - PropertyAccessExpression 1831453 1831518 - ParenthesizedExpression 1831453 1831509 - AsExpression 1831455 1831508 - CallExpression 1831455 1831491 - Identifier 1831455 1831478 - Identifier 1831479 1831490 - TypeReference 1831494 1831508 - Identifier 1831494 1831508 - Identifier 1831510 1831518 - IfStatement 1831583 1831756 - CallExpression 1831588 1831614 - Identifier 1831588 1831603 - Identifier 1831604 1831613 - Block 1831615 1831756 - ExpressionStatement 1831617 1831737 - BinaryExpression 1831617 1831736 - Identifier 1831617 1831647 - EqualsToken 1831647 1831649 - PropertyAccessExpression 1831649 1831736 - ParenthesizedExpression 1831649 1831727 - AsExpression 1831651 1831726 - CallExpression 1831651 1831709 - Identifier 1831651 1831674 - CallExpression 1831675 1831708 - Identifier 1831675 1831690 - PropertyAccessExpression 1831691 1831707 - Identifier 1831691 1831700 - Identifier 1831701 1831707 - TypeReference 1831712 1831726 - Identifier 1831712 1831726 - Identifier 1831728 1831736 - ExpressionStatement 1831756 1831829 - BinaryExpression 1831756 1831828 - Identifier 1831756 1831782 - BarBarEqualsToken 1831782 1831786 - CallExpression 1831786 1831828 - Identifier 1831786 1831817 - Identifier 1831818 1831827 - IfStatement 1831844 1831954 - Identifier 1831864 1831872 - Block 1831873 1831954 - ReturnStatement 1831875 1831939 - CallExpression 1831899 1831938 - Identifier 1831899 1831922 - Identifier 1831923 1831927 - Identifier 1831928 1831937 - IfStatement 1831965 1832286 - CallExpression 1831981 1832010 - Identifier 1831981 1831992 - PropertyAccessExpression 1831993 1832009 - Identifier 1831993 1832002 - Identifier 1832003 1832009 - Block 1832011 1832286 - VariableStatement 1832013 1832083 - VariableDeclarationList 1832013 1832082 - VariableDeclaration 1832032 1832082 - Identifier 1832032 1832039 - CallExpression 1832041 1832082 - Identifier 1832041 1832064 - PropertyAccessExpression 1832065 1832081 - Identifier 1832065 1832074 - Identifier 1832075 1832081 - VariableStatement 1832083 1832219 - VariableDeclarationList 1832083 1832218 - VariableDeclaration 1832102 1832218 - Identifier 1832102 1832107 - ConditionalExpression 1832109 1832218 - CallExpression 1832109 1832129 - Identifier 1832109 1832118 - Identifier 1832119 1832128 - QuestionToken 1832129 1832131 - CallExpression 1832131 1832155 - Identifier 1832131 1832147 - Identifier 1832148 1832154 - ColonToken 1832155 1832157 - NonNullExpression 1832157 1832218 - PropertyAccessExpression 1832157 1832217 - ParenthesizedExpression 1832157 1832208 - AsExpression 1832159 1832207 - CallExpression 1832159 1832190 - Identifier 1832159 1832182 - Identifier 1832183 1832189 - TypeReference 1832193 1832207 - Identifier 1832193 1832207 - Identifier 1832209 1832217 - ReturnStatement 1832219 1832275 - CallExpression 1832239 1832274 - Identifier 1832239 1832262 - Identifier 1832263 1832267 - Identifier 1832268 1832273 - IfStatement 1832286 1832928 - CallExpression 1832302 1832325 - Identifier 1832302 1832314 - Identifier 1832315 1832324 - Block 1832326 1832928 - IfStatement 1832328 1832917 - PropertyAccessExpression 1832409 1832442 - Identifier 1832409 1832418 - Identifier 1832419 1832442 - Block 1832443 1832598 - VariableStatement 1832445 1832516 - VariableDeclarationList 1832445 1832515 - VariableDeclaration 1832468 1832515 - Identifier 1832468 1832479 - CallExpression 1832481 1832515 - Identifier 1832481 1832504 - Identifier 1832505 1832514 - ReturnStatement 1832516 1832583 - BinaryExpression 1832540 1832582 - Identifier 1832540 1832551 - AmpersandAmpersandToken 1832551 1832554 - CallExpression 1832554 1832582 - Identifier 1832554 1832570 - Identifier 1832571 1832581 - IfStatement 1832616 1832917 - PropertyAccessExpression 1832621 1832654 - Identifier 1832621 1832630 - Identifier 1832631 1832654 - Block 1832655 1832800 - ReturnStatement 1832657 1832785 - Identifier 1832770 1832784 - IfStatement 1832818 1832917 - Identifier 1832823 1832840 - Block 1832841 1832917 - ReturnStatement 1832843 1832902 - CallExpression 1832867 1832901 - Identifier 1832867 1832883 - Identifier 1832884 1832900 - FunctionDeclaration 1832935 1833640 - Identifier 1832951 1832971 - Parameter 1832972 1832988 - Identifier 1832972 1832976 - TypeReference 1832977 1832988 - Identifier 1832977 1832988 - Block 1832989 1833640 - VariableStatement 1832991 1833119 - VariableDeclarationList 1832991 1833118 - VariableDeclaration 1833006 1833118 - Identifier 1833006 1833016 - CallExpression 1833018 1833118 - Identifier 1833018 1833035 - Identifier 1833036 1833040 - FalseKeyword 1833041 1833073 - FalseKeyword 1833074 1833117 - IfStatement 1833119 1833376 - CallExpression 1833133 1833158 - Identifier 1833133 1833147 - Identifier 1833148 1833157 - Block 1833159 1833376 - VariableStatement 1833161 1833232 - VariableDeclarationList 1833161 1833231 - VariableDeclaration 1833180 1833231 - Identifier 1833180 1833190 - CallExpression 1833192 1833231 - Identifier 1833192 1833220 - Identifier 1833221 1833230 - IfStatement 1833232 1833365 - PropertyAccessExpression 1833250 1833273 - Identifier 1833250 1833259 - Identifier 1833260 1833273 - Block 1833274 1833365 - ReturnStatement 1833276 1833350 - CallExpression 1833300 1833349 - Identifier 1833300 1833324 - PropertyAccessExpression 1833325 1833348 - Identifier 1833325 1833334 - Identifier 1833335 1833348 - IfStatement 1833376 1833633 - CallExpression 1833390 1833419 - Identifier 1833390 1833401 - PropertyAccessExpression 1833402 1833418 - Identifier 1833402 1833411 - Identifier 1833412 1833418 - Block 1833420 1833633 - VariableStatement 1833422 1833492 - VariableDeclarationList 1833422 1833491 - VariableDeclaration 1833441 1833491 - Identifier 1833441 1833448 - CallExpression 1833450 1833491 - Identifier 1833450 1833473 - PropertyAccessExpression 1833474 1833490 - Identifier 1833474 1833483 - Identifier 1833484 1833490 - ReturnStatement 1833492 1833622 - ConditionalExpression 1833512 1833621 - CallExpression 1833512 1833532 - Identifier 1833512 1833521 - Identifier 1833522 1833531 - QuestionToken 1833532 1833534 - CallExpression 1833534 1833558 - Identifier 1833534 1833550 - Identifier 1833551 1833557 - ColonToken 1833558 1833560 - NonNullExpression 1833560 1833621 - PropertyAccessExpression 1833560 1833620 - ParenthesizedExpression 1833560 1833611 - AsExpression 1833562 1833610 - CallExpression 1833562 1833593 - Identifier 1833562 1833585 - Identifier 1833586 1833592 - TypeReference 1833596 1833610 - Identifier 1833596 1833610 - Identifier 1833612 1833620 - FunctionDeclaration 1833640 1837424 - Identifier 1833656 1833688 - Parameter 1833689 1833704 - Identifier 1833689 1833698 - TypeReference 1833699 1833704 - Identifier 1833699 1833704 - Block 1833705 1837424 - IfStatement 1833707 1837417 - BinaryExpression 1833803 1834029 - BinaryExpression 1833803 1833918 - BinaryExpression 1833803 1833865 - PropertyAccessExpression 1833803 1833831 - Identifier 1833803 1833826 - Identifier 1833827 1833831 - EqualsEqualsEqualsToken 1833831 1833835 - PropertyAccessExpression 1833835 1833865 - Identifier 1833835 1833846 - Identifier 1833847 1833865 - AmpersandAmpersandToken 1833865 1833868 - CallExpression 1833868 1833918 - Identifier 1833868 1833900 - PropertyAccessExpression 1833901 1833917 - Identifier 1833901 1833910 - Identifier 1833911 1833917 - AmpersandAmpersandToken 1833918 1833921 - BinaryExpression 1833921 1834029 - CallExpression 1833921 1833981 - Identifier 1833921 1833963 - PropertyAccessExpression 1833964 1833980 - Identifier 1833964 1833973 - Identifier 1833974 1833980 - EqualsEqualsEqualsToken 1833981 1833985 - PropertyAccessExpression 1833985 1834029 - Identifier 1833985 1834011 - Identifier 1834012 1834029 - Block 1834040 1834357 - ReturnStatement 1834042 1834341 - PropertyAccessExpression 1834121 1834340 - ParenthesizedExpression 1834121 1834296 - AsExpression 1834123 1834295 - PropertyAccessExpression 1834123 1834267 - ParenthesizedExpression 1834123 1834221 - AsExpression 1834124 1834220 - PropertyAccessExpression 1834124 1834192 - PropertyAccessExpression 1834124 1834140 - Identifier 1834124 1834133 - Identifier 1834134 1834140 - Identifier 1834188 1834192 - TypeReference 1834195 1834220 - Identifier 1834195 1834220 - Identifier 1834257 1834267 - TypeReference 1834270 1834295 - Identifier 1834270 1834295 - Identifier 1834330 1834340 - IfStatement 1834414 1837417 - BinaryExpression 1834419 1834727 - BinaryExpression 1834419 1834617 - BinaryExpression 1834419 1834557 - BinaryExpression 1834419 1834480 - PropertyAccessExpression 1834419 1834447 - Identifier 1834419 1834442 - Identifier 1834443 1834447 - EqualsEqualsEqualsToken 1834447 1834451 - PropertyAccessExpression 1834451 1834480 - Identifier 1834451 1834462 - Identifier 1834463 1834480 - AmpersandAmpersandToken 1834480 1834483 - BinaryExpression 1834483 1834557 - PropertyAccessExpression 1834483 1834518 - PropertyAccessExpression 1834483 1834513 - Identifier 1834483 1834506 - Identifier 1834507 1834513 - Identifier 1834514 1834518 - EqualsEqualsEqualsToken 1834518 1834522 - PropertyAccessExpression 1834522 1834557 - Identifier 1834522 1834533 - Identifier 1834534 1834557 - AmpersandAmpersandToken 1834557 1834560 - CallExpression 1834560 1834617 - Identifier 1834560 1834592 - PropertyAccessExpression 1834593 1834616 - PropertyAccessExpression 1834593 1834609 - Identifier 1834593 1834602 - Identifier 1834603 1834609 - Identifier 1834610 1834616 - AmpersandAmpersandToken 1834617 1834620 - BinaryExpression 1834620 1834727 - CallExpression 1834620 1834687 - Identifier 1834620 1834662 - PropertyAccessExpression 1834663 1834686 - PropertyAccessExpression 1834663 1834679 - Identifier 1834663 1834672 - Identifier 1834673 1834679 - Identifier 1834680 1834686 - EqualsEqualsEqualsToken 1834687 1834691 - PropertyAccessExpression 1834691 1834727 - Identifier 1834691 1834717 - Identifier 1834718 1834727 - Block 1834738 1834842 - ReturnStatement 1834740 1834831 - PropertyAccessExpression 1834760 1834830 - ParenthesizedExpression 1834760 1834819 - AsExpression 1834762 1834818 - PropertyAccessExpression 1834762 1834790 - PropertyAccessExpression 1834762 1834785 - PropertyAccessExpression 1834762 1834778 - Identifier 1834762 1834771 - Identifier 1834772 1834778 - Identifier 1834779 1834785 - Identifier 1834786 1834790 - TypeReference 1834793 1834818 - Identifier 1834793 1834818 - Identifier 1834820 1834830 - IfStatement 1834909 1837417 - BinaryExpression 1834914 1835316 - BinaryExpression 1834914 1835199 - BinaryExpression 1834914 1835132 - BinaryExpression 1834914 1835048 - BinaryExpression 1834914 1834976 - PropertyAccessExpression 1834914 1834942 - Identifier 1834914 1834937 - Identifier 1834938 1834942 - EqualsEqualsEqualsToken 1834942 1834946 - PropertyAccessExpression 1834946 1834976 - Identifier 1834946 1834957 - Identifier 1834958 1834976 - AmpersandAmpersandToken 1834976 1834979 - BinaryExpression 1834979 1835048 - PropertyAccessExpression 1834979 1835014 - PropertyAccessExpression 1834979 1835009 - Identifier 1834979 1835002 - Identifier 1835003 1835009 - Identifier 1835010 1835014 - EqualsEqualsEqualsToken 1835014 1835018 - PropertyAccessExpression 1835018 1835048 - Identifier 1835018 1835029 - Identifier 1835030 1835048 - AmpersandAmpersandToken 1835048 1835051 - BinaryExpression 1835051 1835132 - PropertyAccessExpression 1835051 1835093 - PropertyAccessExpression 1835051 1835088 - PropertyAccessExpression 1835051 1835081 - Identifier 1835051 1835074 - Identifier 1835075 1835081 - Identifier 1835082 1835088 - Identifier 1835089 1835093 - EqualsEqualsEqualsToken 1835093 1835097 - PropertyAccessExpression 1835097 1835132 - Identifier 1835097 1835108 - Identifier 1835109 1835132 - AmpersandAmpersandToken 1835132 1835135 - CallExpression 1835135 1835199 - Identifier 1835135 1835167 - PropertyAccessExpression 1835168 1835198 - PropertyAccessExpression 1835168 1835191 - PropertyAccessExpression 1835168 1835184 - Identifier 1835168 1835177 - Identifier 1835178 1835184 - Identifier 1835185 1835191 - Identifier 1835192 1835198 - AmpersandAmpersandToken 1835199 1835202 - BinaryExpression 1835202 1835316 - CallExpression 1835202 1835276 - Identifier 1835202 1835244 - PropertyAccessExpression 1835245 1835275 - PropertyAccessExpression 1835245 1835268 - PropertyAccessExpression 1835245 1835261 - Identifier 1835245 1835254 - Identifier 1835255 1835261 - Identifier 1835262 1835268 - Identifier 1835269 1835275 - EqualsEqualsEqualsToken 1835276 1835280 - PropertyAccessExpression 1835280 1835316 - Identifier 1835280 1835306 - Identifier 1835307 1835316 - Block 1835327 1835438 - ReturnStatement 1835329 1835427 - PropertyAccessExpression 1835349 1835426 - ParenthesizedExpression 1835349 1835415 - AsExpression 1835351 1835414 - PropertyAccessExpression 1835351 1835386 - PropertyAccessExpression 1835351 1835381 - PropertyAccessExpression 1835351 1835374 - PropertyAccessExpression 1835351 1835367 - Identifier 1835351 1835360 - Identifier 1835361 1835367 - Identifier 1835368 1835374 - Identifier 1835375 1835381 - Identifier 1835382 1835386 - TypeReference 1835389 1835414 - Identifier 1835389 1835414 - Identifier 1835416 1835426 - IfStatement 1835689 1837417 - BinaryExpression 1835694 1836378 - BinaryExpression 1835694 1836241 - BinaryExpression 1835694 1836153 - BinaryExpression 1835694 1836088 - BinaryExpression 1835694 1836021 - BinaryExpression 1835694 1835863 - BinaryExpression 1835694 1835811 - BinaryExpression 1835694 1835756 - PropertyAccessExpression 1835694 1835722 - Identifier 1835694 1835717 - Identifier 1835718 1835722 - EqualsEqualsEqualsToken 1835722 1835726 - PropertyAccessExpression 1835726 1835756 - Identifier 1835726 1835737 - Identifier 1835738 1835756 - AmpersandAmpersandToken 1835756 1835759 - CallExpression 1835759 1835811 - Identifier 1835759 1835793 - PropertyAccessExpression 1835794 1835810 - Identifier 1835794 1835803 - Identifier 1835804 1835810 - AmpersandAmpersandToken 1835811 1835814 - CallExpression 1835814 1835863 - Identifier 1835814 1835840 - PropertyAccessExpression 1835841 1835862 - PropertyAccessExpression 1835841 1835857 - Identifier 1835841 1835850 - Identifier 1835851 1835857 - Identifier 1835858 1835862 - AmpersandAmpersandToken 1835863 1835866 - ParenthesizedExpression 1835866 1836021 - BinaryExpression 1835881 1836020 - BinaryExpression 1835881 1835973 - BinaryExpression 1835881 1835926 - PropertyAccessExpression 1835881 1835914 - PropertyAccessExpression 1835881 1835902 - PropertyAccessExpression 1835881 1835897 - Identifier 1835881 1835890 - Identifier 1835891 1835897 - Identifier 1835898 1835902 - Identifier 1835903 1835914 - EqualsEqualsEqualsToken 1835914 1835918 - StringLiteral 1835918 1835926 - BarBarToken 1835926 1835929 - BinaryExpression 1835929 1835973 - PropertyAccessExpression 1835929 1835963 - PropertyAccessExpression 1835929 1835951 - PropertyAccessExpression 1835929 1835946 - Identifier 1835929 1835939 - Identifier 1835940 1835946 - Identifier 1835947 1835951 - Identifier 1835952 1835963 - EqualsEqualsEqualsToken 1835963 1835967 - StringLiteral 1835967 1835973 - BarBarToken 1835973 1835976 - BinaryExpression 1835976 1836020 - PropertyAccessExpression 1835976 1836010 - PropertyAccessExpression 1835976 1835998 - PropertyAccessExpression 1835976 1835993 - Identifier 1835976 1835986 - Identifier 1835987 1835993 - Identifier 1835994 1835998 - Identifier 1835999 1836010 - EqualsEqualsEqualsToken 1836010 1836014 - StringLiteral 1836014 1836020 - AmpersandAmpersandToken 1836021 1836024 - CallExpression 1836024 1836088 - Identifier 1836024 1836063 - PropertyAccessExpression 1836064 1836087 - PropertyAccessExpression 1836064 1836080 - Identifier 1836064 1836073 - Identifier 1836074 1836080 - Identifier 1836081 1836087 - AmpersandAmpersandToken 1836088 1836091 - CallExpression 1836091 1836153 - Identifier 1836091 1836121 - PropertyAccessExpression 1836122 1836152 - PropertyAccessExpression 1836122 1836145 - PropertyAccessExpression 1836122 1836138 - Identifier 1836122 1836131 - Identifier 1836132 1836138 - Identifier 1836139 1836145 - Identifier 1836146 1836152 - AmpersandAmpersandToken 1836153 1836156 - BinaryExpression 1836156 1836241 - ElementAccessExpression 1836156 1836213 - PropertyAccessExpression 1836156 1836210 - PropertyAccessExpression 1836156 1836200 - PropertyAccessExpression 1836156 1836193 - PropertyAccessExpression 1836156 1836186 - Identifier 1836156 1836179 - Identifier 1836180 1836186 - Identifier 1836187 1836193 - Identifier 1836194 1836200 - Identifier 1836201 1836210 - NumericLiteral 1836211 1836212 - EqualsEqualsEqualsToken 1836213 1836217 - PropertyAccessExpression 1836217 1836241 - PropertyAccessExpression 1836217 1836234 - Identifier 1836217 1836227 - Identifier 1836228 1836234 - Identifier 1836235 1836241 - AmpersandAmpersandToken 1836241 1836244 - BinaryExpression 1836244 1836378 - CallExpression 1836244 1836318 - Identifier 1836244 1836286 - PropertyAccessExpression 1836287 1836317 - PropertyAccessExpression 1836287 1836310 - PropertyAccessExpression 1836287 1836303 - Identifier 1836287 1836296 - Identifier 1836297 1836303 - Identifier 1836304 1836310 - Identifier 1836311 1836317 - EqualsEqualsEqualsToken 1836318 1836322 - PropertyAccessExpression 1836322 1836378 - Identifier 1836322 1836348 - Identifier 1836349 1836378 - Block 1836389 1836508 - ReturnStatement 1836391 1836497 - PropertyAccessExpression 1836411 1836496 - ParenthesizedExpression 1836411 1836485 - AsExpression 1836413 1836484 - ElementAccessExpression 1836413 1836456 - PropertyAccessExpression 1836413 1836453 - PropertyAccessExpression 1836413 1836443 - PropertyAccessExpression 1836413 1836436 - PropertyAccessExpression 1836413 1836429 - Identifier 1836413 1836422 - Identifier 1836423 1836429 - Identifier 1836430 1836436 - Identifier 1836437 1836443 - Identifier 1836444 1836453 - NumericLiteral 1836454 1836455 - TypeReference 1836459 1836484 - Identifier 1836459 1836484 - Identifier 1836486 1836496 - IfStatement 1836741 1837417 - BinaryExpression 1836746 1837294 - BinaryExpression 1836746 1837164 - BinaryExpression 1836746 1837090 - BinaryExpression 1836746 1837032 - BinaryExpression 1836746 1836972 - BinaryExpression 1836746 1836835 - CallExpression 1836746 1836790 - Identifier 1836746 1836779 - Identifier 1836780 1836789 - AmpersandAmpersandToken 1836790 1836793 - CallExpression 1836793 1836835 - Identifier 1836793 1836819 - PropertyAccessExpression 1836820 1836834 - Identifier 1836820 1836829 - Identifier 1836830 1836834 - AmpersandAmpersandToken 1836835 1836838 - ParenthesizedExpression 1836838 1836972 - BinaryExpression 1836853 1836971 - BinaryExpression 1836853 1836931 - BinaryExpression 1836853 1836891 - PropertyAccessExpression 1836853 1836879 - PropertyAccessExpression 1836853 1836867 - Identifier 1836853 1836862 - Identifier 1836863 1836867 - Identifier 1836868 1836879 - EqualsEqualsEqualsToken 1836879 1836883 - StringLiteral 1836883 1836891 - BarBarToken 1836891 1836894 - BinaryExpression 1836894 1836931 - PropertyAccessExpression 1836894 1836921 - PropertyAccessExpression 1836894 1836909 - Identifier 1836894 1836904 - Identifier 1836905 1836909 - Identifier 1836910 1836921 - EqualsEqualsEqualsToken 1836921 1836925 - StringLiteral 1836925 1836931 - BarBarToken 1836931 1836934 - BinaryExpression 1836934 1836971 - PropertyAccessExpression 1836934 1836961 - PropertyAccessExpression 1836934 1836949 - Identifier 1836934 1836944 - Identifier 1836945 1836949 - Identifier 1836950 1836961 - EqualsEqualsEqualsToken 1836961 1836965 - StringLiteral 1836965 1836971 - AmpersandAmpersandToken 1836972 1836975 - CallExpression 1836975 1837032 - Identifier 1836975 1837014 - PropertyAccessExpression 1837015 1837031 - Identifier 1837015 1837024 - Identifier 1837025 1837031 - AmpersandAmpersandToken 1837032 1837035 - CallExpression 1837035 1837090 - Identifier 1837035 1837065 - PropertyAccessExpression 1837066 1837089 - PropertyAccessExpression 1837066 1837082 - Identifier 1837066 1837075 - Identifier 1837076 1837082 - Identifier 1837083 1837089 - AmpersandAmpersandToken 1837090 1837093 - BinaryExpression 1837093 1837164 - ElementAccessExpression 1837093 1837143 - PropertyAccessExpression 1837093 1837140 - PropertyAccessExpression 1837093 1837130 - PropertyAccessExpression 1837093 1837123 - Identifier 1837093 1837116 - Identifier 1837117 1837123 - Identifier 1837124 1837130 - Identifier 1837131 1837140 - NumericLiteral 1837141 1837142 - EqualsEqualsEqualsToken 1837143 1837147 - PropertyAccessExpression 1837147 1837164 - Identifier 1837147 1837157 - Identifier 1837158 1837164 - AmpersandAmpersandToken 1837164 1837167 - BinaryExpression 1837167 1837294 - CallExpression 1837167 1837234 - Identifier 1837167 1837209 - PropertyAccessExpression 1837210 1837233 - PropertyAccessExpression 1837210 1837226 - Identifier 1837210 1837219 - Identifier 1837220 1837226 - Identifier 1837227 1837233 - EqualsEqualsEqualsToken 1837234 1837238 - PropertyAccessExpression 1837238 1837294 - Identifier 1837238 1837264 - Identifier 1837265 1837294 - Block 1837305 1837417 - ReturnStatement 1837307 1837406 - PropertyAccessExpression 1837327 1837405 - ParenthesizedExpression 1837327 1837394 - AsExpression 1837329 1837393 - ElementAccessExpression 1837329 1837365 - PropertyAccessExpression 1837329 1837362 - PropertyAccessExpression 1837329 1837352 - PropertyAccessExpression 1837329 1837345 - Identifier 1837329 1837338 - Identifier 1837339 1837345 - Identifier 1837346 1837352 - Identifier 1837353 1837362 - NumericLiteral 1837363 1837364 - TypeReference 1837368 1837393 - Identifier 1837368 1837393 - Identifier 1837395 1837405 - FunctionDeclaration 1837424 1837833 - Identifier 1837440 1837474 - Parameter 1837475 1837501 - Identifier 1837475 1837479 - TypeReference 1837480 1837501 - Identifier 1837480 1837501 - Block 1837502 1837833 - VariableStatement 1837504 1837552 - VariableDeclarationList 1837504 1837551 - VariableDeclaration 1837519 1837551 - Identifier 1837519 1837527 - CallExpression 1837529 1837551 - Identifier 1837529 1837545 - Identifier 1837546 1837550 - IfStatement 1837552 1837678 - BinaryExpression 1837566 1837599 - Identifier 1837566 1837573 - AmpersandAmpersandToken 1837573 1837576 - PropertyAccessExpression 1837576 1837599 - Identifier 1837576 1837584 - Identifier 1837585 1837599 - Block 1837600 1837678 - ReturnStatement 1837602 1837667 - CallExpression 1837622 1837666 - Identifier 1837622 1837642 - PropertyAccessExpression 1837643 1837665 - Identifier 1837643 1837650 - Identifier 1837651 1837665 - VariableStatement 1837678 1837734 - VariableDeclarationList 1837678 1837733 - VariableDeclaration 1837693 1837733 - Identifier 1837693 1837703 - CallExpression 1837705 1837733 - Identifier 1837705 1837727 - Identifier 1837728 1837732 - IfStatement 1837734 1837826 - Identifier 1837748 1837757 - Block 1837758 1837826 - ReturnStatement 1837760 1837815 - CallExpression 1837780 1837814 - Identifier 1837780 1837803 - Identifier 1837804 1837813 - FunctionDeclaration 1837833 1838085 - Identifier 1837849 1837884 - Parameter 1837885 1837895 - Identifier 1837885 1837889 - TypeReference 1837890 1837895 - Identifier 1837890 1837895 - Parameter 1837896 1837918 - Identifier 1837896 1837912 - TypeReference 1837913 1837918 - Identifier 1837913 1837918 - BooleanKeyword 1837920 1837928 - Block 1837928 1838085 - ReturnStatement 1837930 1838078 - PrefixUnaryExpression 1837946 1838077 - PrefixUnaryExpression 1837948 1838077 - CallExpression 1837949 1838077 - Identifier 1837949 1837961 - Identifier 1837962 1837966 - ArrowFunction 1837967 1838076 - Parameter 1837967 1837969 - Identifier 1837967 1837969 - EqualsGreaterThanToken 1837969 1837972 - ConditionalExpression 1837972 1838076 - CallExpression 1837972 1838001 - Identifier 1837972 1837998 - Identifier 1837999 1838000 - QuestionToken 1838001 1838003 - StringLiteral 1838003 1838010 - ColonToken 1838010 1838012 - BinaryExpression 1838012 1838076 - BinaryExpression 1838012 1838044 - PropertyAccessExpression 1838012 1838019 - Identifier 1838012 1838014 - Identifier 1838015 1838019 - EqualsEqualsEqualsToken 1838019 1838023 - PropertyAccessExpression 1838023 1838044 - Identifier 1838023 1838034 - Identifier 1838035 1838044 - AmpersandAmpersandToken 1838044 1838047 - BinaryExpression 1838047 1838076 - PropertyAccessExpression 1838047 1838056 - Identifier 1838047 1838049 - Identifier 1838050 1838056 - EqualsEqualsEqualsToken 1838056 1838060 - Identifier 1838060 1838076 - FunctionDeclaration 1838085 1849670 - Identifier 1838101 1838122 - Parameter 1838123 1838133 - Identifier 1838123 1838127 - TypeReference 1838128 1838133 - Identifier 1838128 1838133 - TypeReference 1838135 1838140 - Identifier 1838135 1838140 - Block 1838140 1849670 - VariableStatement 1838142 1838279 - VariableDeclarationList 1838142 1838278 - VariableDeclaration 1838157 1838278 - Identifier 1838157 1838174 - BinaryExpression 1838176 1838278 - BinaryExpression 1838176 1838223 - PropertyAccessExpression 1838176 1838193 - PropertyAccessExpression 1838176 1838188 - Identifier 1838176 1838181 - Identifier 1838182 1838188 - Identifier 1838189 1838193 - EqualsEqualsEqualsToken 1838193 1838197 - PropertyAccessExpression 1838197 1838223 - Identifier 1838197 1838208 - Identifier 1838209 1838223 - AmpersandAmpersandToken 1838223 1838226 - BinaryExpression 1838226 1838278 - PropertyAccessExpression 1838226 1838269 - ParenthesizedExpression 1838226 1838258 - AsExpression 1838228 1838257 - PropertyAccessExpression 1838228 1838239 - Identifier 1838228 1838232 - Identifier 1838233 1838239 - TypeReference 1838242 1838257 - Identifier 1838242 1838257 - Identifier 1838259 1838269 - EqualsEqualsEqualsToken 1838269 1838273 - Identifier 1838273 1838278 - VariableStatement 1838279 1838368 - VariableDeclarationList 1838279 1838367 - VariableDeclaration 1838296 1838367 - Identifier 1838296 1838315 - CallExpression 1838317 1838367 - Identifier 1838317 1838335 - Identifier 1838336 1838340 - TrueKeyword 1838341 1838366 - VariableStatement 1838368 1838413 - VariableDeclarationList 1838368 1838412 - VariableDeclaration 1838381 1838412 - Identifier 1838381 1838391 - Identifier 1838393 1838412 - VariableStatement 1838413 1838460 - VariableDeclarationList 1838413 1838459 - VariableDeclaration 1838426 1838459 - Identifier 1838426 1838451 - FalseKeyword 1838453 1838459 - VariableStatement 1838460 1838498 - VariableDeclarationList 1838460 1838497 - VariableDeclaration 1838473 1838497 - Identifier 1838473 1838489 - FalseKeyword 1838491 1838497 - IfStatement 1838498 1839136 - PrefixUnaryExpression 1838635 1838652 - Identifier 1838636 1838652 - Block 1838653 1839136 - WhileStatement 1838655 1839017 - BinaryExpression 1838676 1838732 - Identifier 1838676 1838685 - AmpersandAmpersandToken 1838685 1838688 - BinaryExpression 1838688 1838732 - PropertyAccessExpression 1838688 1838703 - Identifier 1838688 1838698 - Identifier 1838699 1838703 - EqualsEqualsEqualsToken 1838703 1838707 - PropertyAccessExpression 1838707 1838732 - Identifier 1838707 1838718 - Identifier 1838719 1838732 - Block 1838733 1839017 - IfStatement 1838735 1838834 - CallExpression 1838757 1838809 - Identifier 1838757 1838777 - Identifier 1838778 1838787 - PropertyAccessExpression 1838788 1838808 - Identifier 1838788 1838802 - Identifier 1838803 1838808 - ExpressionStatement 1838810 1838834 - BinaryExpression 1838810 1838833 - Identifier 1838810 1838826 - EqualsToken 1838826 1838828 - TrueKeyword 1838828 1838833 - ExpressionStatement 1838834 1838919 - BinaryExpression 1838834 1838918 - Identifier 1838834 1838861 - EqualsToken 1838861 1838863 - CallExpression 1838863 1838918 - Identifier 1838863 1838881 - Identifier 1838882 1838891 - TrueKeyword 1838892 1838917 - ExpressionStatement 1838919 1839002 - BinaryExpression 1838919 1839001 - Identifier 1838919 1838961 - EqualsToken 1838961 1838963 - BinaryExpression 1838963 1839001 - Identifier 1838963 1838979 - LessThanToken 1838979 1838981 - PropertyAccessExpression 1838981 1839001 - Identifier 1838981 1838994 - Identifier 1838995 1839001 - IfStatement 1839017 1839125 - BinaryExpression 1839035 1839100 - Identifier 1839035 1839044 - AmpersandAmpersandToken 1839044 1839047 - CallExpression 1839047 1839100 - Identifier 1839047 1839068 - Identifier 1839069 1839078 - PropertyAccessExpression 1839079 1839099 - Identifier 1839079 1839093 - Identifier 1839094 1839099 - ExpressionStatement 1839101 1839125 - BinaryExpression 1839101 1839124 - Identifier 1839101 1839117 - EqualsToken 1839117 1839119 - TrueKeyword 1839119 1839124 - VariableStatement 1839136 1839186 - VariableDeclarationList 1839136 1839185 - VariableDeclaration 1839151 1839185 - Identifier 1839151 1839165 - TypeReference 1839166 1839181 - Identifier 1839166 1839181 - NumericLiteral 1839183 1839185 - IfStatement 1839186 1840523 - BinaryExpression 1839202 1839257 - PrefixUnaryExpression 1839202 1839212 - Identifier 1839203 1839212 - BarBarToken 1839212 1839215 - PrefixUnaryExpression 1839215 1839257 - CallExpression 1839217 1839257 - Identifier 1839217 1839246 - Identifier 1839247 1839256 - Block 1839258 1840523 - VariableStatement 1839260 1839601 - VariableDeclarationList 1839260 1839600 - VariableDeclaration 1839495 1839600 - Identifier 1839495 1839503 - CallExpression 1839505 1839600 - Identifier 1839505 1839518 - Identifier 1839519 1839523 - ArrowFunction 1839524 1839599 - Parameter 1839524 1839526 - Identifier 1839524 1839526 - EqualsGreaterThanToken 1839526 1839529 - ConditionalExpression 1839529 1839599 - BinaryExpression 1839529 1839545 - Identifier 1839529 1839531 - EqualsEqualsEqualsToken 1839531 1839535 - Identifier 1839535 1839545 - QuestionToken 1839545 1839547 - StringLiteral 1839547 1839554 - ColonToken 1839554 1839556 - BinaryExpression 1839556 1839599 - PropertyAccessExpression 1839556 1839563 - Identifier 1839556 1839558 - Identifier 1839559 1839563 - EqualsEqualsEqualsToken 1839563 1839567 - PropertyAccessExpression 1839567 1839599 - Identifier 1839567 1839578 - Identifier 1839579 1839599 - IfStatement 1839601 1840481 - BinaryExpression 1839619 1839678 - Identifier 1839619 1839626 - AmpersandAmpersandToken 1839626 1839629 - BinaryExpression 1839629 1839678 - PropertyAccessExpression 1839629 1839642 - Identifier 1839629 1839637 - Identifier 1839638 1839642 - EqualsEqualsEqualsToken 1839642 1839646 - PropertyAccessExpression 1839646 1839678 - Identifier 1839646 1839657 - Identifier 1839658 1839678 - Block 1839679 1839794 - ExpressionStatement 1839681 1839779 - CallExpression 1839681 1839778 - Identifier 1839681 1839704 - Identifier 1839705 1839709 - PropertyAccessExpression 1839710 1839777 - Identifier 1839710 1839722 - Identifier 1839723 1839777 - IfStatement 1839812 1840481 - Identifier 1839817 1839833 - Block 1839834 1839988 - ExpressionStatement 1839836 1839973 - CallExpression 1839836 1839972 - Identifier 1839836 1839859 - Identifier 1839860 1839864 - PropertyAccessExpression 1839865 1839971 - Identifier 1839865 1839877 - Identifier 1839878 1839971 - IfStatement 1840006 1840481 - BinaryExpression 1840011 1840142 - BinaryExpression 1840011 1840042 - PrefixUnaryExpression 1840011 1840021 - Identifier 1840012 1840021 - BarBarToken 1840021 1840024 - PrefixUnaryExpression 1840024 1840042 - PropertyAccessExpression 1840026 1840042 - Identifier 1840026 1840035 - Identifier 1840036 1840042 - BarBarToken 1840042 1840045 - PrefixUnaryExpression 1840045 1840142 - ParenthesizedExpression 1840047 1840142 - BinaryExpression 1840048 1840141 - CallExpression 1840048 1840077 - Identifier 1840048 1840059 - PropertyAccessExpression 1840060 1840076 - Identifier 1840060 1840069 - Identifier 1840070 1840076 - BarBarToken 1840077 1840080 - BinaryExpression 1840080 1840141 - PropertyAccessExpression 1840080 1840102 - PropertyAccessExpression 1840080 1840097 - Identifier 1840080 1840090 - Identifier 1840091 1840097 - Identifier 1840098 1840102 - EqualsEqualsEqualsToken 1840102 1840106 - PropertyAccessExpression 1840106 1840141 - Identifier 1840106 1840117 - Identifier 1840118 1840141 - Block 1840143 1840292 - ExpressionStatement 1840145 1840277 - CallExpression 1840145 1840276 - Identifier 1840145 1840168 - Identifier 1840169 1840173 - PropertyAccessExpression 1840174 1840275 - Identifier 1840174 1840186 - Identifier 1840187 1840275 - Block 1840310 1840481 - ExpressionStatement 1840312 1840466 - CallExpression 1840312 1840465 - Identifier 1840312 1840335 - Identifier 1840336 1840340 - PropertyAccessExpression 1840341 1840464 - Identifier 1840341 1840353 - Identifier 1840354 1840464 - ReturnStatement 1840481 1840512 - Identifier 1840501 1840511 - IfStatement 1840523 1840786 - BinaryExpression 1840539 1840611 - PrefixUnaryExpression 1840539 1840556 - Identifier 1840540 1840556 - AmpersandAmpersandToken 1840556 1840559 - BinaryExpression 1840559 1840611 - PropertyAccessExpression 1840559 1840584 - NonNullExpression 1840559 1840579 - Identifier 1840559 1840578 - Identifier 1840580 1840584 - EqualsEqualsEqualsToken 1840584 1840588 - PropertyAccessExpression 1840588 1840611 - Identifier 1840588 1840599 - Identifier 1840600 1840611 - Block 1840612 1840786 - ExpressionStatement 1840614 1840775 - CallExpression 1840614 1840774 - Identifier 1840614 1840648 - Identifier 1840649 1840653 - Identifier 1840654 1840664 - PropertyAccessExpression 1840665 1840773 - Identifier 1840665 1840677 - Identifier 1840678 1840773 - IfStatement 1840786 1841823 - BinaryExpression 1840802 1840841 - CallExpression 1840802 1840821 - Identifier 1840802 1840810 - Identifier 1840811 1840820 - BarBarToken 1840821 1840824 - Identifier 1840824 1840841 - Block 1840842 1841737 - ExpressionStatement 1840844 1840901 - BinaryExpression 1840844 1840900 - Identifier 1840844 1840871 - EqualsToken 1840871 1840873 - PropertyAccessExpression 1840873 1840900 - Identifier 1840873 1840888 - Identifier 1840889 1840900 - IfStatement 1840901 1841726 - BinaryExpression 1840919 1841154 - BinaryExpression 1840919 1841055 - BinaryExpression 1840919 1841013 - PrefixUnaryExpression 1840919 1840954 - Identifier 1840938 1840954 - AmpersandAmpersandToken 1840954 1840957 - BinaryExpression 1840957 1841013 - Identifier 1840957 1840990 - GreaterThanEqualsToken 1840990 1840993 - PropertyAccessExpression 1840993 1841013 - Identifier 1840993 1841006 - Identifier 1841007 1841013 - AmpersandAmpersandToken 1841013 1841016 - BinaryExpression 1841016 1841055 - Identifier 1841016 1841032 - LessThanEqualsToken 1841032 1841035 - PropertyAccessExpression 1841035 1841055 - Identifier 1841035 1841048 - Identifier 1841049 1841055 - AmpersandAmpersandToken 1841055 1841058 - ParenthesizedExpression 1841058 1841154 - BinaryExpression 1841077 1841153 - CallExpression 1841077 1841109 - Identifier 1841077 1841098 - Identifier 1841099 1841108 - BarBarToken 1841109 1841112 - CallExpression 1841112 1841153 - Identifier 1841112 1841142 - Identifier 1841143 1841152 - Block 1841169 1841726 - ExpressionStatement 1841171 1841711 - CallExpression 1841171 1841710 - Identifier 1841171 1841438 - PropertyAccessExpression 1841439 1841450 - Identifier 1841439 1841443 - Identifier 1841444 1841450 - ArrowFunction 1841451 1841709 - Parameter 1841451 1841459 - Identifier 1841451 1841459 - EqualsGreaterThanToken 1841459 1841462 - Block 1841462 1841709 - IfStatement 1841464 1841690 - BinaryExpression 1841490 1841551 - PrefixUnaryExpression 1841490 1841512 - CallExpression 1841491 1841512 - Identifier 1841491 1841503 - Identifier 1841504 1841511 - BarBarToken 1841512 1841515 - CallExpression 1841515 1841551 - Identifier 1841515 1841542 - Identifier 1841543 1841550 - Block 1841552 1841690 - ExpressionStatement 1841554 1841667 - BinaryExpression 1841554 1841666 - PropertyAccessExpression 1841554 1841607 - CallExpression 1841554 1841601 - Identifier 1841554 1841592 - Identifier 1841593 1841600 - Identifier 1841602 1841607 - BarEqualsToken 1841607 1841610 - PropertyAccessExpression 1841610 1841666 - Identifier 1841610 1841625 - Identifier 1841626 1841666 - Block 1841751 1841823 - ExpressionStatement 1841753 1841812 - BinaryExpression 1841753 1841811 - Identifier 1841753 1841780 - EqualsToken 1841780 1841782 - PropertyAccessExpression 1841782 1841811 - Identifier 1841782 1841797 - Identifier 1841798 1841811 - ExpressionStatement 1841823 1841877 - BinaryExpression 1841823 1841876 - PropertyAccessExpression 1841823 1841859 - CallExpression 1841823 1841853 - Identifier 1841823 1841847 - Identifier 1841848 1841852 - Identifier 1841854 1841859 - BarEqualsToken 1841859 1841862 - Identifier 1841862 1841876 - IfStatement 1841877 1845275 - BinaryExpression 1844851 1844917 - BinaryExpression 1844851 1844898 - PropertyAccessExpression 1844851 1844865 - Identifier 1844851 1844860 - Identifier 1844861 1844865 - EqualsEqualsEqualsToken 1844865 1844869 - PropertyAccessExpression 1844869 1844898 - Identifier 1844869 1844880 - Identifier 1844881 1844898 - AmpersandAmpersandToken 1844898 1844901 - Identifier 1844901 1844917 - Block 1844918 1845275 - IfStatement 1844920 1845264 - BinaryExpression 1844938 1845001 - CallExpression 1844938 1844966 - Identifier 1844938 1844953 - PropertyAccessExpression 1844954 1844965 - Identifier 1844954 1844958 - Identifier 1844959 1844965 - AmpersandAmpersandToken 1844966 1844969 - CallExpression 1844969 1845001 - Identifier 1844969 1844988 - PropertyAccessExpression 1844989 1845000 - Identifier 1844989 1844993 - Identifier 1844994 1845000 - Block 1845002 1845126 - ExpressionStatement 1845004 1845111 - BinaryExpression 1845004 1845110 - PropertyAccessExpression 1845004 1845051 - CallExpression 1845004 1845045 - Identifier 1845004 1845034 - Identifier 1845035 1845044 - Identifier 1845046 1845051 - BarEqualsToken 1845051 1845054 - PropertyAccessExpression 1845054 1845110 - Identifier 1845054 1845069 - Identifier 1845070 1845110 - Block 1845144 1845264 - ExpressionStatement 1845146 1845249 - BinaryExpression 1845146 1845248 - PropertyAccessExpression 1845146 1845193 - CallExpression 1845146 1845187 - Identifier 1845146 1845176 - Identifier 1845177 1845186 - Identifier 1845188 1845193 - BarEqualsToken 1845193 1845196 - PropertyAccessExpression 1845196 1845248 - Identifier 1845196 1845211 - Identifier 1845212 1845248 - IfStatement 1845275 1845655 - Identifier 1845291 1845315 - Block 1845316 1845655 - ExpressionStatement 1845318 1845644 - CallExpression 1845318 1845643 - Identifier 1845318 1845619 - PropertyAccessExpression 1845620 1845631 - Identifier 1845620 1845624 - Identifier 1845625 1845631 - Identifier 1845632 1845642 - IfStatement 1845655 1846142 - BinaryExpression 1845671 1845731 - PropertyAccessExpression 1845671 1845692 - PropertyAccessExpression 1845671 1845687 - Identifier 1845671 1845680 - Identifier 1845681 1845687 - Identifier 1845688 1845692 - EqualsEqualsEqualsToken 1845692 1845696 - PropertyAccessExpression 1845696 1845731 - Identifier 1845696 1845707 - Identifier 1845708 1845731 - Block 1845732 1846142 - IfStatement 1845734 1846131 - BinaryExpression 1845752 1845789 - Identifier 1845752 1845767 - LessThanToken 1845767 1845769 - PropertyAccessExpression 1845769 1845789 - Identifier 1845769 1845782 - Identifier 1845783 1845789 - Block 1845790 1845987 - ExpressionStatement 1845792 1845937 - CallExpression 1845792 1845936 - Identifier 1845792 1845815 - Identifier 1845816 1845820 - PropertyAccessExpression 1845821 1845935 - Identifier 1845821 1845833 - Identifier 1845834 1845935 - ReturnStatement 1845937 1845972 - Identifier 1845961 1845971 - Block 1846005 1846131 - ReturnStatement 1846007 1846116 - Identifier 1846107 1846115 - VariableStatement 1846142 1846305 - VariableDeclarationList 1846142 1846304 - VariableDeclaration 1846240 1846304 - Identifier 1846240 1846261 - AsExpression 1846263 1846304 - PropertyAccessExpression 1846263 1846280 - Identifier 1846263 1846273 - Identifier 1846274 1846280 - TypeReference 1846283 1846304 - Identifier 1846283 1846304 - IfStatement 1846305 1846504 - PrefixUnaryExpression 1846319 1846372 - CallExpression 1846320 1846372 - Identifier 1846320 1846350 - Identifier 1846351 1846371 - Block 1846373 1846504 - ExpressionStatement 1846375 1846462 - CallExpression 1846375 1846461 - Identifier 1846375 1846394 - Identifier 1846395 1846399 - PropertyAccessExpression 1846400 1846460 - Identifier 1846400 1846412 - Identifier 1846413 1846460 - ReturnStatement 1846462 1846493 - Identifier 1846482 1846492 - IfStatement 1846504 1846652 - CallExpression 1846520 1846569 - Identifier 1846520 1846547 - Identifier 1846548 1846568 - Block 1846570 1846652 - ReturnStatement 1846572 1846641 - ConditionalExpression 1846592 1846640 - Identifier 1846592 1846609 - QuestionToken 1846609 1846611 - Identifier 1846611 1846621 - ColonToken 1846621 1846623 - Identifier 1846623 1846640 - VariableStatement 1846652 1846769 - VariableDeclarationList 1846652 1846768 - VariableDeclaration 1846669 1846768 - Identifier 1846669 1846679 - AsExpression 1846681 1846768 - CallExpression 1846681 1846751 - Identifier 1846681 1846705 - CallExpression 1846706 1846750 - Identifier 1846706 1846728 - Identifier 1846729 1846749 - TypeReference 1846754 1846768 - Identifier 1846754 1846768 - VariableStatement 1846769 1846841 - VariableDeclarationList 1846769 1846840 - VariableDeclaration 1846784 1846840 - Identifier 1846784 1846798 - BinaryExpression 1846800 1846840 - Identifier 1846800 1846810 - AmpersandAmpersandToken 1846810 1846813 - ElementAccessExpression 1846813 1846840 - CallExpression 1846813 1846837 - Identifier 1846813 1846826 - Identifier 1846827 1846836 - NumericLiteral 1846838 1846839 - IfStatement 1846841 1846914 - PrefixUnaryExpression 1846855 1846869 - Identifier 1846856 1846869 - Block 1846870 1846914 - ReturnStatement 1846872 1846903 - Identifier 1846892 1846902 - IfStatement 1846914 1847290 - BinaryExpression 1846930 1847026 - BinaryExpression 1846930 1846971 - PropertyAccessExpression 1846930 1846944 - Identifier 1846930 1846939 - Identifier 1846940 1846944 - EqualsEqualsEqualsToken 1846944 1846948 - PropertyAccessExpression 1846948 1846971 - Identifier 1846948 1846959 - Identifier 1846960 1846971 - AmpersandAmpersandToken 1846971 1846974 - CallExpression 1846974 1847026 - Identifier 1846974 1847009 - Identifier 1847010 1847014 - Identifier 1847015 1847025 - Block 1847027 1847290 - ExpressionStatement 1847029 1847248 - CallExpression 1847029 1847247 - Identifier 1847029 1847176 - Identifier 1847177 1847181 - PropertyAccessExpression 1847182 1847246 - Identifier 1847182 1847194 - Identifier 1847195 1847246 - ReturnStatement 1847248 1847279 - Identifier 1847268 1847278 - ReturnStatement 1847290 1847484 - ConditionalExpression 1847308 1847483 - BinaryExpression 1847308 1847353 - Identifier 1847308 1847322 - EqualsEqualsEqualsToken 1847322 1847326 - PropertyAccessExpression 1847326 1847353 - Identifier 1847326 1847341 - Identifier 1847342 1847353 - QuestionToken 1847353 1847368 - CallExpression 1847368 1847409 - Identifier 1847368 1847398 - Identifier 1847399 1847408 - ColonToken 1847409 1847424 - CallExpression 1847424 1847483 - Identifier 1847424 1847448 - Identifier 1847449 1847462 - PropertyAccessExpression 1847463 1847482 - Identifier 1847463 1847473 - Identifier 1847474 1847482 - FunctionDeclaration 1847484 1849663 - Identifier 1847504 1847534 - Parameter 1847535 1847550 - Identifier 1847535 1847544 - TypeReference 1847545 1847550 - Identifier 1847545 1847550 - BooleanKeyword 1847552 1847560 - Block 1847560 1849663 - IfStatement 1847562 1849623 - Identifier 1847580 1847596 - Block 1847597 1847819 - ReturnStatement 1847599 1847804 - BinaryExpression 1847761 1847803 - PropertyAccessExpression 1847761 1847776 - Identifier 1847761 1847771 - Identifier 1847772 1847776 - EqualsEqualsEqualsToken 1847776 1847780 - PropertyAccessExpression 1847780 1847803 - Identifier 1847780 1847791 - Identifier 1847792 1847803 - Block 1847837 1849623 - IfStatement 1847839 1849608 - BinaryExpression 1848349 1848442 - CallExpression 1848349 1848378 - Identifier 1848349 1848360 - PropertyAccessExpression 1848361 1848377 - Identifier 1848361 1848370 - Identifier 1848371 1848377 - BarBarToken 1848378 1848381 - BinaryExpression 1848381 1848442 - PropertyAccessExpression 1848381 1848403 - PropertyAccessExpression 1848381 1848398 - Identifier 1848381 1848391 - Identifier 1848392 1848398 - Identifier 1848399 1848403 - EqualsEqualsEqualsToken 1848403 1848407 - PropertyAccessExpression 1848407 1848442 - Identifier 1848407 1848418 - Identifier 1848419 1848442 - Block 1848443 1849608 - IfStatement 1848445 1849589 - CallExpression 1848471 1848490 - Identifier 1848471 1848479 - Identifier 1848480 1848489 - Block 1848491 1848995 - ReturnStatement 1848493 1848972 - BinaryExpression 1848525 1848971 - BinaryExpression 1848525 1848881 - BinaryExpression 1848525 1848799 - BinaryExpression 1848525 1848725 - BinaryExpression 1848525 1848651 - BinaryExpression 1848525 1848573 - PropertyAccessExpression 1848525 1848540 - Identifier 1848525 1848535 - Identifier 1848536 1848540 - EqualsEqualsEqualsToken 1848540 1848544 - PropertyAccessExpression 1848544 1848573 - Identifier 1848544 1848555 - Identifier 1848556 1848573 - BarBarToken 1848573 1848576 - BinaryExpression 1848576 1848651 - PropertyAccessExpression 1848576 1848620 - Identifier 1848576 1848615 - Identifier 1848616 1848620 - EqualsEqualsEqualsToken 1848620 1848624 - PropertyAccessExpression 1848624 1848651 - Identifier 1848624 1848635 - Identifier 1848636 1848651 - BarBarToken 1848651 1848654 - BinaryExpression 1848654 1848725 - PropertyAccessExpression 1848654 1848698 - Identifier 1848654 1848693 - Identifier 1848694 1848698 - EqualsEqualsEqualsToken 1848698 1848702 - PropertyAccessExpression 1848702 1848725 - Identifier 1848702 1848713 - Identifier 1848714 1848725 - BarBarToken 1848725 1848728 - BinaryExpression 1848728 1848799 - PropertyAccessExpression 1848728 1848772 - Identifier 1848728 1848767 - Identifier 1848768 1848772 - EqualsEqualsEqualsToken 1848772 1848776 - PropertyAccessExpression 1848776 1848799 - Identifier 1848776 1848787 - Identifier 1848788 1848799 - BarBarToken 1848799 1848802 - BinaryExpression 1848802 1848881 - PropertyAccessExpression 1848802 1848846 - Identifier 1848802 1848841 - Identifier 1848842 1848846 - EqualsEqualsEqualsToken 1848846 1848850 - PropertyAccessExpression 1848850 1848881 - Identifier 1848850 1848861 - Identifier 1848862 1848881 - BarBarToken 1848881 1848884 - BinaryExpression 1848884 1848971 - PropertyAccessExpression 1848884 1848928 - Identifier 1848884 1848923 - Identifier 1848924 1848928 - EqualsEqualsEqualsToken 1848928 1848932 - PropertyAccessExpression 1848932 1848971 - Identifier 1848932 1848943 - Identifier 1848944 1848971 - Block 1849021 1849589 - ReturnStatement 1849023 1849566 - BinaryExpression 1849055 1849565 - BinaryExpression 1849055 1849491 - BinaryExpression 1849055 1849411 - BinaryExpression 1849055 1849329 - BinaryExpression 1849055 1849255 - BinaryExpression 1849055 1849181 - BinaryExpression 1849055 1849103 - PropertyAccessExpression 1849055 1849070 - Identifier 1849055 1849065 - Identifier 1849066 1849070 - EqualsEqualsEqualsToken 1849070 1849074 - PropertyAccessExpression 1849074 1849103 - Identifier 1849074 1849085 - Identifier 1849086 1849103 - BarBarToken 1849103 1849106 - BinaryExpression 1849106 1849181 - PropertyAccessExpression 1849106 1849150 - Identifier 1849106 1849145 - Identifier 1849146 1849150 - EqualsEqualsEqualsToken 1849150 1849154 - PropertyAccessExpression 1849154 1849181 - Identifier 1849154 1849165 - Identifier 1849166 1849181 - BarBarToken 1849181 1849184 - BinaryExpression 1849184 1849255 - PropertyAccessExpression 1849184 1849228 - Identifier 1849184 1849223 - Identifier 1849224 1849228 - EqualsEqualsEqualsToken 1849228 1849232 - PropertyAccessExpression 1849232 1849255 - Identifier 1849232 1849243 - Identifier 1849244 1849255 - BarBarToken 1849255 1849258 - BinaryExpression 1849258 1849329 - PropertyAccessExpression 1849258 1849302 - Identifier 1849258 1849297 - Identifier 1849298 1849302 - EqualsEqualsEqualsToken 1849302 1849306 - PropertyAccessExpression 1849306 1849329 - Identifier 1849306 1849317 - Identifier 1849318 1849329 - BarBarToken 1849329 1849332 - BinaryExpression 1849332 1849411 - PropertyAccessExpression 1849332 1849376 - Identifier 1849332 1849371 - Identifier 1849372 1849376 - EqualsEqualsEqualsToken 1849376 1849380 - PropertyAccessExpression 1849380 1849411 - Identifier 1849380 1849391 - Identifier 1849392 1849411 - BarBarToken 1849411 1849414 - BinaryExpression 1849414 1849491 - PropertyAccessExpression 1849414 1849458 - Identifier 1849414 1849453 - Identifier 1849454 1849458 - EqualsEqualsEqualsToken 1849458 1849462 - PropertyAccessExpression 1849462 1849491 - Identifier 1849462 1849473 - Identifier 1849474 1849491 - BarBarToken 1849491 1849494 - BinaryExpression 1849494 1849565 - PropertyAccessExpression 1849494 1849538 - Identifier 1849494 1849533 - Identifier 1849534 1849538 - EqualsEqualsEqualsToken 1849538 1849542 - PropertyAccessExpression 1849542 1849565 - Identifier 1849542 1849553 - Identifier 1849554 1849565 - ReturnStatement 1849623 1849652 - FalseKeyword 1849645 1849651 - FunctionDeclaration 1849670 1850222 - Identifier 1849686 1849713 - Parameter 1849714 1849740 - Identifier 1849714 1849718 - TypeReference 1849719 1849740 - Identifier 1849719 1849740 - UnionType 1849742 1849778 - TypeReference 1849742 1849766 - Identifier 1849742 1849766 - UndefinedKeyword 1849768 1849778 - Block 1849778 1850222 - ReturnStatement 1849780 1850215 - ConditionalExpression 1849796 1850214 - BinaryExpression 1849796 1850014 - ParenthesizedExpression 1849796 1849955 - BinaryExpression 1849798 1849954 - BinaryExpression 1849798 1849897 - BinaryExpression 1849798 1849840 - PropertyAccessExpression 1849798 1849807 - Identifier 1849798 1849802 - Identifier 1849803 1849807 - EqualsEqualsEqualsToken 1849807 1849811 - PropertyAccessExpression 1849811 1849840 - Identifier 1849811 1849822 - Identifier 1849823 1849840 - BarBarToken 1849840 1849843 - BinaryExpression 1849843 1849897 - PropertyAccessExpression 1849843 1849870 - Identifier 1849843 1849865 - Identifier 1849866 1849870 - EqualsEqualsEqualsToken 1849870 1849874 - PropertyAccessExpression 1849874 1849897 - Identifier 1849874 1849885 - Identifier 1849886 1849897 - BarBarToken 1849897 1849900 - BinaryExpression 1849900 1849954 - PropertyAccessExpression 1849900 1849927 - Identifier 1849900 1849922 - Identifier 1849923 1849927 - EqualsEqualsEqualsToken 1849927 1849931 - PropertyAccessExpression 1849931 1849954 - Identifier 1849931 1849942 - Identifier 1849943 1849954 - AmpersandAmpersandToken 1849955 1849958 - BinaryExpression 1849958 1850014 - PropertyAccessExpression 1849958 1849975 - PropertyAccessExpression 1849958 1849970 - Identifier 1849958 1849963 - Identifier 1849964 1849970 - Identifier 1849971 1849975 - EqualsEqualsEqualsToken 1849975 1849979 - PropertyAccessExpression 1849979 1850014 - Identifier 1849979 1849990 - Identifier 1849991 1850014 - QuestionToken 1850014 1850016 - PropertyAccessExpression 1850016 1850028 - Identifier 1850016 1850021 - Identifier 1850022 1850028 - ColonToken 1850028 1850030 - ConditionalExpression 1850030 1850214 - BinaryExpression 1850030 1850141 - BinaryExpression 1850030 1850087 - PropertyAccessExpression 1850030 1850053 - Identifier 1850030 1850048 - Identifier 1850049 1850053 - EqualsEqualsEqualsToken 1850053 1850057 - PropertyAccessExpression 1850057 1850087 - Identifier 1850057 1850068 - Identifier 1850069 1850087 - AmpersandAmpersandToken 1850087 1850090 - BinaryExpression 1850090 1850141 - PropertyAccessExpression 1850090 1850107 - PropertyAccessExpression 1850090 1850102 - Identifier 1850090 1850095 - Identifier 1850096 1850102 - Identifier 1850103 1850107 - EqualsEqualsEqualsToken 1850107 1850111 - PropertyAccessExpression 1850111 1850141 - Identifier 1850111 1850122 - Identifier 1850123 1850141 - QuestionToken 1850141 1850143 - AsExpression 1850143 1850189 - PropertyAccessExpression 1850143 1850162 - PropertyAccessExpression 1850143 1850155 - Identifier 1850143 1850148 - Identifier 1850149 1850155 - Identifier 1850156 1850162 - TypeReference 1850165 1850189 - Identifier 1850165 1850189 - ColonToken 1850189 1850191 - Identifier 1850191 1850214 - FunctionDeclaration 1850222 1850469 - Identifier 1850238 1850258 - Parameter 1850259 1850269 - Identifier 1850259 1850263 - TypeReference 1850264 1850269 - Identifier 1850264 1850269 - UnionType 1850271 1850288 - TypeReference 1850271 1850276 - Identifier 1850271 1850276 - UndefinedKeyword 1850278 1850288 - Block 1850288 1850469 - ReturnStatement 1850290 1850462 - ConditionalExpression 1850306 1850461 - BinaryExpression 1850306 1850404 - BinaryExpression 1850306 1850351 - CallExpression 1850306 1850327 - Identifier 1850306 1850321 - Identifier 1850322 1850326 - AmpersandToken 1850327 1850329 - PropertyAccessExpression 1850329 1850351 - Identifier 1850329 1850341 - Identifier 1850342 1850351 - AmpersandAmpersandToken 1850351 1850354 - BinaryExpression 1850354 1850404 - PropertyAccessExpression 1850354 1850385 - ParenthesizedExpression 1850354 1850378 - AsExpression 1850356 1850377 - Identifier 1850356 1850360 - TypeReference 1850363 1850377 - Identifier 1850363 1850377 - Identifier 1850379 1850385 - EqualsEqualsEqualsToken 1850385 1850389 - Identifier 1850389 1850404 - QuestionToken 1850404 1850406 - ElementAccessExpression 1850406 1850449 - CallExpression 1850406 1850446 - Identifier 1850406 1850423 - AsExpression 1850424 1850445 - Identifier 1850424 1850428 - TypeReference 1850431 1850445 - Identifier 1850431 1850445 - NumericLiteral 1850447 1850448 - ColonToken 1850449 1850451 - Identifier 1850451 1850461 - FunctionDeclaration 1850469 1850745 - Identifier 1850485 1850515 - Parameter 1850516 1850526 - Identifier 1850516 1850520 - TypeReference 1850521 1850526 - Identifier 1850521 1850526 - UnionType 1850528 1850545 - TypeReference 1850528 1850533 - Identifier 1850528 1850533 - UndefinedKeyword 1850535 1850545 - Block 1850545 1850745 - ReturnStatement 1850547 1850738 - CallExpression 1850563 1850737 - Identifier 1850563 1850571 - Identifier 1850572 1850576 - ArrowFunction 1850577 1850736 - Parameter 1850577 1850579 - Identifier 1850577 1850579 - EqualsGreaterThanToken 1850579 1850582 - Block 1850582 1850736 - ReturnStatement 1850584 1850725 - ConditionalExpression 1850604 1850724 - BinaryExpression 1850604 1850637 - PropertyAccessExpression 1850604 1850612 - Identifier 1850604 1850606 - Identifier 1850607 1850612 - AmpersandToken 1850612 1850614 - PropertyAccessExpression 1850614 1850637 - Identifier 1850614 1850624 - Identifier 1850625 1850637 - QuestionToken 1850637 1850639 - CallExpression 1850639 1850699 - Identifier 1850639 1850647 - PropertyAccessExpression 1850648 1850677 - ParenthesizedExpression 1850648 1850671 - AsExpression 1850649 1850670 - Identifier 1850649 1850650 - TypeReference 1850653 1850670 - Identifier 1850653 1850670 - Identifier 1850672 1850677 - Identifier 1850678 1850698 - ColonToken 1850699 1850701 - CallExpression 1850701 1850724 - Identifier 1850701 1850721 - Identifier 1850722 1850723 - FunctionDeclaration 1850745 1851427 - Identifier 1850761 1850806 - Parameter 1850807 1850849 - Identifier 1850807 1850824 - TypeReference 1850825 1850849 - Identifier 1850825 1850849 - Parameter 1850850 1850883 - Identifier 1850850 1850865 - UnionType 1850866 1850883 - TypeReference 1850866 1850871 - Identifier 1850866 1850871 - UndefinedKeyword 1850873 1850883 - Block 1850884 1851427 - VariableStatement 1850886 1850928 - VariableDeclarationList 1850886 1850927 - VariableDeclaration 1850899 1850927 - Identifier 1850899 1850907 - Identifier 1850909 1850927 - VariableStatement 1850928 1850964 - VariableDeclarationList 1850928 1850963 - VariableDeclaration 1850941 1850963 - Identifier 1850941 1850946 - Identifier 1850948 1850963 - WhileStatement 1850964 1851420 - Identifier 1850981 1850985 - Block 1850986 1851420 - VariableStatement 1850988 1851055 - VariableDeclarationList 1850988 1851054 - VariableDeclaration 1851007 1851054 - Identifier 1851007 1851016 - CallExpression 1851018 1851054 - Identifier 1851018 1851048 - Identifier 1851049 1851053 - IfStatement 1851055 1851133 - Identifier 1851073 1851081 - Block 1851082 1851133 - ReturnStatement 1851084 1851118 - Identifier 1851108 1851117 - IfStatement 1851133 1851246 - BinaryExpression 1851151 1851204 - PropertyAccessExpression 1851151 1851170 - PropertyAccessExpression 1851151 1851165 - Identifier 1851151 1851158 - Identifier 1851159 1851165 - Identifier 1851166 1851170 - ExclamationEqualsEqualsToken 1851170 1851174 - PropertyAccessExpression 1851174 1851204 - Identifier 1851174 1851185 - Identifier 1851186 1851204 - Block 1851205 1851246 - BreakStatement 1851207 1851231 - ExpressionStatement 1851246 1851319 - BinaryExpression 1851246 1851318 - Identifier 1851246 1851267 - EqualsToken 1851267 1851269 - AsExpression 1851269 1851318 - PropertyAccessExpression 1851269 1851291 - PropertyAccessExpression 1851269 1851284 - Identifier 1851269 1851277 - Identifier 1851278 1851284 - Identifier 1851285 1851291 - TypeReference 1851294 1851318 - Identifier 1851294 1851318 - ExpressionStatement 1851319 1851409 - BinaryExpression 1851319 1851408 - Identifier 1851319 1851337 - EqualsToken 1851337 1851339 - CallExpression 1851339 1851408 - Identifier 1851339 1851371 - Identifier 1851372 1851379 - Identifier 1851380 1851407 - FunctionDeclaration 1851427 1854414 - Identifier 1851443 1851474 - Parameter 1851475 1851501 - Identifier 1851475 1851479 - TypeReference 1851480 1851501 - Identifier 1851480 1851501 - UnionType 1851503 1851520 - TypeReference 1851503 1851508 - Identifier 1851503 1851508 - UndefinedKeyword 1851510 1851520 - Block 1851520 1854414 - IfStatement 1851522 1851619 - BinaryExpression 1851536 1851574 - PropertyAccessExpression 1851536 1851545 - Identifier 1851536 1851540 - Identifier 1851541 1851545 - EqualsEqualsEqualsToken 1851545 1851549 - PropertyAccessExpression 1851549 1851574 - Identifier 1851549 1851560 - Identifier 1851561 1851574 - Block 1851575 1851619 - ReturnStatement 1851577 1851608 - Identifier 1851597 1851607 - IfStatement 1851619 1852017 - CallExpression 1851633 1851686 - Identifier 1851633 1851680 - Identifier 1851681 1851685 - Block 1851687 1852017 - VariableStatement 1851689 1851760 - VariableDeclarationList 1851689 1851759 - VariableDeclaration 1851708 1851759 - Identifier 1851708 1851728 - CallExpression 1851730 1851759 - Identifier 1851730 1851753 - Identifier 1851754 1851758 - IfStatement 1851760 1852006 - Identifier 1851778 1851797 - Block 1851798 1852006 - VariableStatement 1851800 1851874 - VariableDeclarationList 1851800 1851873 - VariableDeclaration 1851823 1851873 - Identifier 1851823 1851837 - PropertyAccessExpression 1851839 1851873 - Identifier 1851839 1851859 - Identifier 1851860 1851873 - IfStatement 1851874 1851991 - Identifier 1851896 1851909 - Block 1851910 1851991 - ReturnStatement 1851912 1851972 - CallExpression 1851940 1851971 - Identifier 1851940 1851956 - Identifier 1851957 1851970 - VariableStatement 1852017 1852057 - VariableDeclarationList 1852017 1852056 - VariableDeclaration 1852032 1852056 - Identifier 1852032 1852037 - CallExpression 1852039 1852056 - Identifier 1852039 1852050 - Identifier 1852051 1852055 - IfStatement 1852057 1854380 - BinaryExpression 1852071 1852093 - Identifier 1852071 1852085 - BarBarToken 1852085 1852088 - Identifier 1852088 1852093 - Block 1852094 1854380 - VariableStatement 1852096 1852169 - VariableDeclarationList 1852096 1852168 - VariableDeclaration 1852115 1852168 - Identifier 1852115 1852133 - CallExpression 1852135 1852168 - Identifier 1852135 1852162 - Identifier 1852163 1852167 - IfStatement 1852169 1853338 - Identifier 1852187 1852204 - Block 1852205 1853338 - VariableStatement 1852207 1852618 - VariableDeclarationList 1852207 1852617 - VariableDeclaration 1852521 1852617 - Identifier 1852521 1852536 - CallExpression 1852538 1852617 - Identifier 1852538 1852570 - Identifier 1852571 1852588 - Identifier 1852589 1852616 - VariableStatement 1852618 1852733 - VariableDeclarationList 1852618 1852732 - VariableDeclaration 1852641 1852732 - Identifier 1852641 1852650 - CallExpression 1852652 1852732 - Identifier 1852652 1852697 - Identifier 1852698 1852715 - Identifier 1852716 1852731 - IfStatement 1852733 1852902 - Identifier 1852755 1852763 - Block 1852764 1852902 - ReturnStatement 1852766 1852883 - CallExpression 1852794 1852882 - Identifier 1852794 1852810 - Identifier 1852811 1852819 - CallExpression 1852820 1852881 - Identifier 1852820 1852841 - CallExpression 1852842 1852880 - Identifier 1852842 1852861 - Identifier 1852862 1852879 - ReturnStatement 1852902 1853323 - CallExpression 1853211 1853322 - Identifier 1853211 1853226 - ConditionalExpression 1853227 1853321 - Identifier 1853227 1853241 - QuestionToken 1853241 1853243 - CallExpression 1853243 1853278 - Identifier 1853243 1853262 - Identifier 1853263 1853277 - ColonToken 1853278 1853280 - CallExpression 1853280 1853321 - Identifier 1853280 1853302 - Identifier 1853303 1853320 - VariableStatement 1853338 1853570 - VariableDeclarationList 1853338 1853569 - VariableDeclaration 1853516 1853569 - Identifier 1853516 1853523 - CallExpression 1853525 1853569 - Identifier 1853525 1853556 - PropertyAccessExpression 1853557 1853568 - Identifier 1853557 1853561 - Identifier 1853562 1853568 - IfStatement 1853570 1854369 - CallExpression 1853588 1853618 - Identifier 1853588 1853610 - Identifier 1853611 1853617 - Block 1853619 1854369 - VariableStatement 1853621 1853666 - VariableDeclarationList 1853621 1853665 - VariableDeclaration 1853644 1853665 - Identifier 1853644 1853651 - PropertyAccessExpression 1853653 1853665 - Identifier 1853653 1853660 - Identifier 1853661 1853665 - IfStatement 1853666 1854354 - CallExpression 1853688 1853714 - Identifier 1853688 1853706 - Identifier 1853707 1853713 - Block 1853715 1854354 - VariableStatement 1853717 1853769 - VariableDeclarationList 1853717 1853768 - VariableDeclaration 1853744 1853768 - ObjectBindingPattern 1853744 1853759 - BindingElement 1853746 1853757 - Identifier 1853746 1853757 - Identifier 1853761 1853768 - IfStatement 1853769 1854254 - BinaryExpression 1853927 1853959 - Identifier 1853927 1853931 - AmpersandAmpersandToken 1853931 1853934 - CallExpression 1853934 1853959 - Identifier 1853934 1853947 - Identifier 1853948 1853958 - Block 1853960 1854254 - VariableStatement 1853962 1854035 - VariableDeclarationList 1853962 1854034 - VariableDeclaration 1853993 1854034 - Identifier 1853993 1854004 - CallExpression 1854006 1854034 - Identifier 1854006 1854026 - Identifier 1854027 1854033 - IfStatement 1854035 1854231 - BinaryExpression 1854065 1854154 - PropertyAccessExpression 1854065 1854099 - Identifier 1854065 1854075 - Identifier 1854076 1854099 - AmpersandAmpersandToken 1854099 1854102 - BinaryExpression 1854102 1854154 - CallExpression 1854102 1854132 - Identifier 1854102 1854120 - Identifier 1854121 1854131 - EqualsEqualsEqualsToken 1854132 1854136 - PropertyAccessExpression 1854136 1854154 - Identifier 1854136 1854147 - Identifier 1854148 1854154 - Block 1854155 1854231 - ReturnStatement 1854157 1854204 - Identifier 1854193 1854203 - ReturnStatement 1854254 1854335 - CallExpression 1854284 1854334 - Identifier 1854284 1854299 - CallExpression 1854300 1854333 - Identifier 1854300 1854321 - Identifier 1854322 1854332 - ReturnStatement 1854380 1854407 - Identifier 1854396 1854406 - FunctionDeclaration 1854414 1856103 - Identifier 1854522 1854556 - Parameter 1854557 1854588 - Identifier 1854557 1854566 - TypeReference 1854567 1854588 - Identifier 1854567 1854588 - UnionType 1854590 1854607 - TypeReference 1854590 1854595 - Identifier 1854590 1854595 - UndefinedKeyword 1854597 1854607 - Block 1854607 1856103 - VariableStatement 1854609 1854649 - VariableDeclarationList 1854609 1854648 - VariableDeclaration 1854624 1854648 - Identifier 1854624 1854629 - PropertyAccessExpression 1854631 1854648 - Identifier 1854631 1854641 - Identifier 1854642 1854648 - IfStatement 1854649 1854762 - PrefixUnaryExpression 1854663 1854717 - CallExpression 1854664 1854717 - Identifier 1854664 1854711 - Identifier 1854712 1854716 - Block 1854718 1854762 - ReturnStatement 1854720 1854751 - Identifier 1854740 1854750 - VariableStatement 1854762 1854831 - VariableDeclarationList 1854762 1854830 - VariableDeclaration 1854777 1854830 - Identifier 1854777 1854782 - CallExpression 1854784 1854830 - Identifier 1854784 1854824 - Identifier 1854825 1854829 - IfStatement 1854831 1855651 - BinaryExpression 1854845 1854867 - Identifier 1854845 1854849 - AmpersandAmpersandToken 1854849 1854852 - PropertyAccessExpression 1854852 1854867 - Identifier 1854852 1854857 - Identifier 1854858 1854867 - Block 1854868 1855651 - VariableStatement 1854870 1854929 - VariableDeclarationList 1854870 1854928 - VariableDeclaration 1854889 1854928 - Identifier 1854889 1854894 - CallExpression 1854896 1854928 - Identifier 1854896 1854922 - Identifier 1854923 1854927 - VariableStatement 1854929 1855003 - VariableDeclarationList 1854929 1855002 - VariableDeclaration 1854948 1855002 - Identifier 1854948 1854965 - CallExpression 1854967 1855002 - PropertyAccessExpression 1854967 1854991 - PropertyAccessExpression 1854967 1854983 - Identifier 1854967 1854972 - Identifier 1854973 1854983 - Identifier 1854984 1854991 - Identifier 1854992 1855001 - IfStatement 1855003 1855197 - PropertyAccessExpression 1855021 1855045 - Identifier 1855021 1855030 - Identifier 1855031 1855045 - Block 1855046 1855197 - ReturnStatement 1855048 1855182 - CallExpression 1855072 1855181 - Identifier 1855072 1855094 - Identifier 1855095 1855099 - Identifier 1855100 1855117 - PropertyAccessExpression 1855118 1855130 - Identifier 1855118 1855123 - Identifier 1855124 1855130 - Identifier 1855131 1855139 - Identifier 1855140 1855162 - PropertyAccessExpression 1855163 1855180 - Identifier 1855163 1855173 - Identifier 1855174 1855180 - VariableStatement 1855197 1855244 - VariableDeclarationList 1855197 1855243 - VariableDeclaration 1855216 1855243 - Identifier 1855216 1855222 - CallExpression 1855224 1855243 - Identifier 1855224 1855237 - Identifier 1855238 1855242 - VariableStatement 1855244 1855297 - VariableDeclarationList 1855244 1855296 - VariableDeclaration 1855263 1855296 - Identifier 1855263 1855270 - PropertyAccessExpression 1855272 1855296 - Identifier 1855272 1855278 - Identifier 1855279 1855296 - ExpressionStatement 1855297 1855350 - BinaryExpression 1855297 1855349 - PropertyAccessExpression 1855297 1855334 - Identifier 1855297 1855316 - Identifier 1855317 1855334 - EqualsToken 1855334 1855336 - Identifier 1855336 1855349 - VariableStatement 1855350 1855567 - VariableDeclarationList 1855350 1855566 - VariableDeclaration 1855369 1855566 - Identifier 1855369 1855374 - ConditionalExpression 1855376 1855566 - BinaryExpression 1855376 1855407 - Identifier 1855376 1855393 - LessThanToken 1855393 1855395 - PropertyAccessExpression 1855395 1855407 - Identifier 1855395 1855400 - Identifier 1855401 1855407 - QuestionToken 1855407 1855409 - CallExpression 1855409 1855489 - Identifier 1855409 1855448 - CallExpression 1855449 1855488 - Identifier 1855449 1855464 - ElementAccessExpression 1855465 1855487 - Identifier 1855465 1855469 - Identifier 1855470 1855486 - ColonToken 1855489 1855491 - ConditionalExpression 1855491 1855566 - PropertyAccessExpression 1855491 1855530 - Identifier 1855491 1855518 - Identifier 1855519 1855530 - QuestionToken 1855530 1855532 - Identifier 1855532 1855542 - ColonToken 1855542 1855544 - Identifier 1855544 1855566 - ExpressionStatement 1855567 1855614 - BinaryExpression 1855567 1855613 - PropertyAccessExpression 1855567 1855604 - Identifier 1855567 1855586 - Identifier 1855587 1855604 - EqualsToken 1855604 1855606 - Identifier 1855606 1855613 - ReturnStatement 1855614 1855640 - Identifier 1855634 1855639 - VariableStatement 1855651 1855718 - VariableDeclarationList 1855651 1855717 - VariableDeclaration 1855666 1855717 - Identifier 1855666 1855686 - CallExpression 1855688 1855717 - Identifier 1855688 1855711 - Identifier 1855712 1855716 - IfStatement 1855718 1856096 - Identifier 1855732 1855751 - Block 1855752 1856096 - VariableStatement 1855754 1855852 - VariableDeclarationList 1855754 1855851 - VariableDeclaration 1855773 1855851 - Identifier 1855773 1855779 - BinaryExpression 1855781 1855851 - CallExpression 1855781 1855816 - PropertyAccessExpression 1855781 1855805 - PropertyAccessExpression 1855781 1855797 - Identifier 1855781 1855786 - Identifier 1855787 1855797 - Identifier 1855798 1855805 - Identifier 1855806 1855815 - MinusToken 1855816 1855818 - ParenthesizedExpression 1855818 1855851 - ConditionalExpression 1855820 1855850 - CallExpression 1855820 1855842 - Identifier 1855820 1855836 - Identifier 1855837 1855841 - QuestionToken 1855842 1855844 - NumericLiteral 1855844 1855846 - ColonToken 1855846 1855848 - NumericLiteral 1855848 1855850 - ReturnStatement 1855852 1856085 - ConditionalExpression 1855872 1856084 - BinaryExpression 1855872 1855947 - PropertyAccessExpression 1855872 1855897 - Identifier 1855872 1855882 - Identifier 1855883 1855897 - AmpersandAmpersandToken 1855897 1855900 - BinaryExpression 1855900 1855947 - CallExpression 1855900 1855933 - Identifier 1855900 1855916 - PropertyAccessExpression 1855917 1855932 - Identifier 1855917 1855921 - Identifier 1855922 1855932 - EqualsEqualsEqualsToken 1855933 1855937 - Identifier 1855937 1855947 - QuestionToken 1855947 1855949 - CallExpression 1855949 1856016 - Identifier 1855949 1855988 - Identifier 1855989 1856008 - Identifier 1856009 1856015 - ColonToken 1856016 1856018 - CallExpression 1856018 1856084 - Identifier 1856018 1856056 - Identifier 1856057 1856076 - Identifier 1856077 1856083 - FunctionDeclaration 1856103 1857140 - Identifier 1856119 1856163 - Parameter 1856164 1856200 - Identifier 1856164 1856175 - TypeReference 1856176 1856200 - Identifier 1856176 1856200 - Parameter 1856201 1856240 - Identifier 1856201 1856214 - UnionType 1856215 1856240 - TypeReference 1856215 1856228 - Identifier 1856215 1856228 - UndefinedKeyword 1856230 1856240 - UnionType 1856242 1856259 - TypeReference 1856242 1856247 - Identifier 1856242 1856247 - UndefinedKeyword 1856249 1856259 - Block 1856259 1857140 - VariableStatement 1856261 1856417 - VariableDeclarationList 1856261 1856416 - VariableDeclaration 1856276 1856416 - Identifier 1856276 1856285 - BinaryExpression 1856287 1856416 - CallExpression 1856287 1856331 - Identifier 1856287 1856318 - Identifier 1856319 1856330 - BarBarToken 1856331 1856334 - ParenthesizedExpression 1856334 1856416 - ConditionalExpression 1856336 1856415 - CallExpression 1856336 1856359 - Identifier 1856336 1856346 - Identifier 1856347 1856358 - QuestionToken 1856359 1856361 - CallExpression 1856361 1856403 - Identifier 1856361 1856390 - Identifier 1856391 1856402 - ColonToken 1856403 1856405 - Identifier 1856405 1856415 - IfStatement 1856417 1856504 - Identifier 1856431 1856439 - Block 1856440 1856504 - ReturnStatement 1856442 1856493 - CallExpression 1856462 1856492 - Identifier 1856462 1856482 - Identifier 1856483 1856491 - SwitchStatement 1856504 1857133 - PropertyAccessExpression 1856522 1856538 - Identifier 1856522 1856533 - Identifier 1856534 1856538 - CaseBlock 1856539 1857133 - CaseClause 1856541 1856653 - PropertyAccessExpression 1856559 1856580 - Identifier 1856559 1856570 - Identifier 1856571 1856580 - ReturnStatement 1856581 1856653 - CallExpression 1856605 1856652 - Identifier 1856605 1856639 - Identifier 1856640 1856651 - CaseClause 1856653 1856785 - PropertyAccessExpression 1856671 1856697 - Identifier 1856671 1856682 - Identifier 1856683 1856697 - ReturnStatement 1856698 1856785 - CallExpression 1856722 1856784 - Identifier 1856722 1856757 - Identifier 1856758 1856769 - Identifier 1856770 1856783 - CaseClause 1856785 1857002 - PropertyAccessExpression 1856803 1856834 - Identifier 1856803 1856814 - Identifier 1856815 1856834 - IfStatement 1856835 1857002 - CallExpression 1856857 1856878 - Identifier 1856857 1856865 - Identifier 1856866 1856877 - Block 1856879 1857002 - ReturnStatement 1856881 1856983 - CallExpression 1856909 1856982 - Identifier 1856909 1856955 - Identifier 1856956 1856967 - Identifier 1856968 1856981 - FunctionDeclaration 1857140 1858339 - Identifier 1857156 1857191 - Parameter 1857192 1857219 - Identifier 1857192 1857203 - TypeReference 1857204 1857219 - Identifier 1857204 1857219 - Parameter 1857220 1857259 - Identifier 1857220 1857233 - UnionType 1857234 1857259 - TypeReference 1857234 1857247 - Identifier 1857234 1857247 - UndefinedKeyword 1857249 1857259 - UnionType 1857261 1857278 - TypeReference 1857261 1857266 - Identifier 1857261 1857266 - UndefinedKeyword 1857268 1857278 - Block 1857278 1858339 - VariableStatement 1857280 1857331 - VariableDeclarationList 1857280 1857330 - VariableDeclaration 1857295 1857330 - Identifier 1857295 1857302 - PropertyAccessExpression 1857304 1857330 - PropertyAccessExpression 1857304 1857323 - Identifier 1857304 1857316 - Identifier 1857317 1857323 - Identifier 1857324 1857330 - VariableStatement 1857331 1857399 - VariableDeclarationList 1857331 1857398 - VariableDeclaration 1857346 1857398 - Identifier 1857346 1857351 - BinaryExpression 1857353 1857398 - PropertyAccessExpression 1857353 1857378 - Identifier 1857353 1857365 - Identifier 1857366 1857378 - BarBarToken 1857378 1857381 - PropertyAccessExpression 1857381 1857398 - Identifier 1857381 1857393 - Identifier 1857394 1857398 - VariableStatement 1857399 1857691 - VariableDeclarationList 1857399 1857690 - VariableDeclaration 1857414 1857690 - Identifier 1857414 1857425 - BinaryExpression 1857427 1857690 - CallExpression 1857427 1857493 - Identifier 1857427 1857471 - Identifier 1857472 1857478 - Identifier 1857479 1857492 - BarBarToken 1857493 1857496 - BinaryExpression 1857496 1857690 - BinaryExpression 1857496 1857573 - BinaryExpression 1857496 1857551 - PropertyAccessExpression 1857496 1857521 - Identifier 1857496 1857516 - Identifier 1857517 1857521 - ExclamationEqualsEqualsToken 1857521 1857525 - PropertyAccessExpression 1857525 1857551 - Identifier 1857525 1857536 - Identifier 1857537 1857551 - AmpersandAmpersandToken 1857551 1857554 - PropertyAccessExpression 1857554 1857573 - Identifier 1857554 1857561 - Identifier 1857562 1857573 - AmpersandAmpersandToken 1857573 1857576 - CallExpression 1857576 1857690 - Identifier 1857576 1857604 - Identifier 1857605 1857611 - ConditionalExpression 1857612 1857689 - PropertyAccessExpression 1857612 1857639 - Identifier 1857612 1857624 - Identifier 1857625 1857639 - QuestionToken 1857639 1857641 - PropertyAccessExpression 1857641 1857670 - Identifier 1857641 1857651 - Identifier 1857652 1857670 - ColonToken 1857670 1857672 - PropertyAccessExpression 1857672 1857689 - Identifier 1857672 1857682 - Identifier 1857683 1857689 - IfStatement 1857691 1857795 - BinaryExpression 1857705 1857776 - BinaryExpression 1857705 1857742 - PrefixUnaryExpression 1857705 1857716 - Identifier 1857706 1857716 - BarBarToken 1857716 1857719 - CallExpression 1857719 1857742 - Identifier 1857719 1857736 - Identifier 1857737 1857741 - BarBarToken 1857742 1857745 - CallExpression 1857745 1857776 - Identifier 1857745 1857770 - Identifier 1857771 1857775 - ReturnStatement 1857777 1857795 - Identifier 1857784 1857794 - IfStatement 1857795 1858080 - BinaryExpression 1857809 1857860 - PropertyAccessExpression 1857809 1857825 - PropertyAccessExpression 1857809 1857820 - Identifier 1857809 1857815 - Identifier 1857816 1857820 - Identifier 1857821 1857825 - EqualsEqualsEqualsToken 1857825 1857829 - PropertyAccessExpression 1857829 1857860 - Identifier 1857829 1857840 - Identifier 1857841 1857860 - Block 1857861 1858080 - VariableStatement 1857863 1857945 - VariableDeclarationList 1857863 1857944 - VariableDeclaration 1857882 1857944 - Identifier 1857882 1857888 - CallExpression 1857890 1857944 - Identifier 1857890 1857902 - PropertyAccessExpression 1857903 1857930 - PropertyAccessExpression 1857903 1857921 - Identifier 1857903 1857914 - Identifier 1857915 1857921 - Identifier 1857922 1857930 - Identifier 1857931 1857943 - IfStatement 1857945 1857991 - BinaryExpression 1857963 1857972 - Identifier 1857963 1857968 - LessThanToken 1857968 1857970 - NumericLiteral 1857970 1857972 - ReturnStatement 1857973 1857991 - Identifier 1857980 1857990 - ReturnStatement 1857991 1858069 - CallExpression 1858011 1858068 - Identifier 1858011 1858049 - Identifier 1858050 1858060 - Identifier 1858061 1858067 - VariableStatement 1858080 1858144 - VariableDeclarationList 1858080 1858143 - VariableDeclaration 1858095 1858143 - Identifier 1858095 1858104 - CallExpression 1858106 1858143 - Identifier 1858106 1858137 - Identifier 1858138 1858142 - IfStatement 1858144 1858332 - CallExpression 1858158 1858194 - Identifier 1858158 1858184 - Identifier 1858185 1858193 - Block 1858195 1858332 - VariableStatement 1858197 1858258 - VariableDeclarationList 1858197 1858257 - VariableDeclaration 1858216 1858257 - Identifier 1858216 1858221 - CallExpression 1858223 1858257 - Identifier 1858223 1858247 - Identifier 1858248 1858256 - ReturnStatement 1858258 1858321 - CallExpression 1858278 1858320 - Identifier 1858278 1858302 - Identifier 1858303 1858313 - Identifier 1858314 1858319 - FunctionDeclaration 1858339 1858775 - Identifier 1858355 1858401 - Parameter 1858402 1858434 - Identifier 1858402 1858413 - TypeReference 1858414 1858434 - Identifier 1858414 1858434 - Parameter 1858435 1858474 - Identifier 1858435 1858448 - UnionType 1858449 1858474 - TypeReference 1858449 1858462 - Identifier 1858449 1858462 - UndefinedKeyword 1858464 1858474 - UnionType 1858476 1858493 - TypeReference 1858476 1858481 - Identifier 1858476 1858481 - UndefinedKeyword 1858483 1858493 - Block 1858493 1858775 - VariableStatement 1858495 1858612 - VariableDeclarationList 1858495 1858611 - VariableDeclaration 1858510 1858611 - Identifier 1858510 1858521 - BinaryExpression 1858523 1858611 - CallExpression 1858523 1858556 - Identifier 1858523 1858536 - PropertyAccessExpression 1858537 1858555 - Identifier 1858537 1858548 - Identifier 1858549 1858555 - AmpersandAmpersandToken 1858556 1858559 - CallExpression 1858559 1858611 - Identifier 1858559 1858577 - PropertyAccessExpression 1858578 1858596 - Identifier 1858578 1858589 - Identifier 1858590 1858596 - Identifier 1858597 1858610 - IfStatement 1858612 1858656 - PrefixUnaryExpression 1858626 1858637 - Identifier 1858627 1858637 - ReturnStatement 1858638 1858656 - Identifier 1858645 1858655 - ReturnStatement 1858656 1858768 - CallExpression 1858672 1858767 - Identifier 1858672 1858706 - Identifier 1858707 1858717 - PropertyAccessExpression 1858718 1858766 - CallExpression 1858718 1858754 - Identifier 1858718 1858741 - Identifier 1858742 1858753 - Identifier 1858755 1858766 - FunctionDeclaration 1858775 1860350 - Identifier 1859573 1859615 - Parameter 1859616 1859632 - Identifier 1859616 1859620 - TypeReference 1859621 1859632 - Identifier 1859621 1859632 - Parameter 1859633 1859672 - Identifier 1859633 1859646 - UnionType 1859647 1859672 - TypeReference 1859647 1859660 - Identifier 1859647 1859660 - UndefinedKeyword 1859662 1859672 - UnionType 1859674 1859691 - TypeReference 1859674 1859679 - Identifier 1859674 1859679 - UndefinedKeyword 1859681 1859691 - Block 1859691 1860350 - VariableStatement 1859693 1859762 - VariableDeclarationList 1859693 1859761 - VariableDeclaration 1859708 1859761 - Identifier 1859708 1859720 - AsExpression 1859722 1859761 - PropertyAccessExpression 1859722 1859734 - Identifier 1859722 1859727 - Identifier 1859728 1859734 - TypeReference 1859737 1859761 - Identifier 1859737 1859761 - IfStatement 1859762 1860316 - BinaryExpression 1859776 1859839 - CallExpression 1859776 1859803 - Identifier 1859776 1859790 - Identifier 1859791 1859802 - AmpersandAmpersandToken 1859803 1859806 - BinaryExpression 1859806 1859839 - Identifier 1859806 1859811 - EqualsEqualsEqualsToken 1859811 1859815 - PropertyAccessExpression 1859815 1859839 - Identifier 1859815 1859827 - Identifier 1859828 1859839 - Block 1859840 1860316 - VariableStatement 1859842 1859942 - VariableDeclarationList 1859842 1859941 - VariableDeclaration 1859861 1859941 - Identifier 1859861 1859868 - CallExpression 1859870 1859941 - Identifier 1859870 1859914 - Identifier 1859915 1859926 - Identifier 1859927 1859940 - IfStatement 1859942 1860016 - Identifier 1859960 1859966 - Block 1859967 1860016 - ReturnStatement 1859969 1860001 - Identifier 1859993 1860000 - IfStatement 1860016 1860305 - BinaryExpression 1860034 1860163 - BinaryExpression 1860034 1860123 - PrefixUnaryExpression 1860034 1860085 - ParenthesizedExpression 1860035 1860085 - BinaryExpression 1860036 1860084 - NonNullExpression 1860036 1860049 - Identifier 1860036 1860048 - AmpersandToken 1860049 1860051 - PropertyAccessExpression 1860051 1860084 - Identifier 1860051 1860064 - Identifier 1860065 1860084 - AmpersandAmpersandToken 1860085 1860088 - CallExpression 1860088 1860123 - Identifier 1860088 1860105 - PropertyAccessExpression 1860106 1860122 - Identifier 1860106 1860117 - Identifier 1860118 1860122 - AmpersandAmpersandToken 1860123 1860126 - BinaryExpression 1860126 1860163 - PropertyAccessExpression 1860126 1860159 - PropertyAccessExpression 1860126 1860152 - PropertyAccessExpression 1860126 1860143 - Identifier 1860126 1860138 - Identifier 1860139 1860143 - Identifier 1860144 1860152 - Identifier 1860153 1860159 - GreaterThanToken 1860159 1860161 - NumericLiteral 1860161 1860163 - Block 1860164 1860305 - ReturnStatement 1860166 1860290 - CallExpression 1860190 1860289 - Identifier 1860190 1860216 - PropertyAccessExpression 1860217 1860233 - Identifier 1860217 1860228 - Identifier 1860229 1860233 - TrueKeyword 1860234 1860264 - FalseKeyword 1860265 1860288 - ReturnStatement 1860316 1860343 - Identifier 1860332 1860342 - FunctionDeclaration 1860350 1862281 - Identifier 1860366 1860403 - Parameter 1860404 1860420 - Identifier 1860404 1860408 - TypeReference 1860409 1860420 - Identifier 1860409 1860420 - Parameter 1860421 1860460 - Identifier 1860421 1860434 - UnionType 1860435 1860460 - TypeReference 1860435 1860448 - Identifier 1860435 1860448 - UndefinedKeyword 1860450 1860460 - UnionType 1860462 1860479 - TypeReference 1860462 1860467 - Identifier 1860462 1860467 - UndefinedKeyword 1860469 1860479 - Block 1860479 1862281 - VariableStatement 1860481 1860532 - VariableDeclarationList 1860481 1860531 - VariableDeclaration 1860496 1860531 - Identifier 1860496 1860501 - CallExpression 1860503 1860531 - Identifier 1860503 1860525 - Identifier 1860526 1860530 - IfStatement 1860532 1862247 - Identifier 1860546 1860550 - Block 1860551 1862247 - VariableStatement 1860553 1860638 - VariableDeclarationList 1860553 1860637 - VariableDeclaration 1860570 1860637 - Identifier 1860570 1860591 - CallExpression 1860593 1860637 - Identifier 1860593 1860617 - Identifier 1860618 1860622 - Identifier 1860623 1860636 - IfStatement 1860638 1862236 - Identifier 1860656 1860676 - Block 1860677 1862236 - VariableStatement 1860679 1860742 - VariableDeclarationList 1860679 1860741 - VariableDeclaration 1860702 1860741 - Identifier 1860702 1860716 - CallExpression 1860718 1860741 - Identifier 1860718 1860735 - Identifier 1860736 1860740 - IfStatement 1860742 1861686 - BinaryExpression 1860764 1860803 - Identifier 1860764 1860777 - AmpersandToken 1860777 1860779 - PropertyAccessExpression 1860779 1860803 - Identifier 1860779 1860793 - Identifier 1860794 1860803 - Block 1860804 1861686 - VariableStatement 1860806 1860937 - VariableDeclarationList 1860806 1860936 - VariableDeclaration 1860873 1860936 - Identifier 1860873 1860890 - BinaryExpression 1860892 1860936 - ParenthesizedExpression 1860892 1860930 - BinaryExpression 1860894 1860929 - Identifier 1860894 1860907 - AmpersandToken 1860907 1860909 - PropertyAccessExpression 1860909 1860929 - Identifier 1860909 1860923 - Identifier 1860924 1860929 - ExclamationEqualsEqualsToken 1860930 1860934 - NumericLiteral 1860934 1860936 - IfStatement 1860937 1861222 - BinaryExpression 1860963 1861007 - PropertyAccessExpression 1860963 1860989 - Identifier 1860963 1860983 - Identifier 1860984 1860989 - AmpersandToken 1860989 1860991 - PropertyAccessExpression 1860991 1861007 - Identifier 1860991 1861001 - Identifier 1861002 1861007 - Block 1861008 1861222 - ExpressionStatement 1861010 1861199 - BinaryExpression 1861010 1861198 - Identifier 1861010 1861056 - EqualsToken 1861056 1861058 - CallExpression 1861058 1861198 - Identifier 1861058 1861069 - Identifier 1861070 1861090 - ArrowFunction 1861091 1861197 - Parameter 1861091 1861096 - Identifier 1861091 1861096 - EqualsGreaterThanToken 1861096 1861099 - PrefixUnaryExpression 1861099 1861197 - PrefixUnaryExpression 1861101 1861197 - CallExpression 1861102 1861197 - Identifier 1861102 1861147 - PropertyAccessExpression 1861148 1861172 - Identifier 1861148 1861165 - Identifier 1861166 1861172 - Identifier 1861173 1861178 - Identifier 1861179 1861196 - VariableStatement 1861222 1861411 - VariableDeclarationList 1861222 1861410 - VariableDeclaration 1861249 1861410 - Identifier 1861249 1861269 - CallExpression 1861271 1861410 - Identifier 1861271 1861317 - PropertyAccessExpression 1861318 1861342 - Identifier 1861318 1861335 - Identifier 1861336 1861342 - Identifier 1861343 1861364 - BinaryExpression 1861365 1861409 - ParenthesizedExpression 1861365 1861403 - BinaryExpression 1861367 1861402 - Identifier 1861367 1861380 - AmpersandToken 1861380 1861382 - PropertyAccessExpression 1861382 1861402 - Identifier 1861382 1861396 - Identifier 1861397 1861402 - ExclamationEqualsEqualsToken 1861403 1861407 - NumericLiteral 1861407 1861409 - IfStatement 1861411 1861526 - PrefixUnaryExpression 1861437 1861457 - Identifier 1861438 1861457 - Block 1861458 1861526 - ReturnStatement 1861460 1861503 - Identifier 1861492 1861502 - ExpressionStatement 1861526 1861591 - BinaryExpression 1861526 1861590 - Identifier 1861526 1861568 - EqualsToken 1861568 1861570 - Identifier 1861570 1861590 - IfStatement 1861686 1862131 - BinaryExpression 1861710 1861745 - Identifier 1861710 1861723 - AmpersandToken 1861723 1861725 - PropertyAccessExpression 1861725 1861745 - Identifier 1861725 1861739 - Identifier 1861740 1861745 - Block 1861746 1862131 - VariableStatement 1861748 1861974 - VariableDeclarationList 1861748 1861973 - VariableDeclaration 1861896 1861973 - Identifier 1861896 1861918 - CallExpression 1861920 1861973 - Identifier 1861920 1861928 - Identifier 1861929 1861949 - Identifier 1861950 1861972 - ReturnStatement 1861974 1862112 - BinaryExpression 1862002 1862111 - Identifier 1862002 1862024 - AmpersandAmpersandToken 1862024 1862027 - CallExpression 1862027 1862111 - Identifier 1862027 1862040 - ArrayLiteralExpression 1862041 1862110 - Identifier 1862042 1862063 - CallExpression 1862064 1862109 - Identifier 1862064 1862086 - Identifier 1862087 1862108 - ReturnStatement 1862131 1862179 - Identifier 1862157 1862178 - ReturnStatement 1862247 1862274 - Identifier 1862263 1862273 - FunctionDeclaration 1862281 1862772 - Identifier 1862297 1862330 - Parameter 1862331 1862352 - Identifier 1862331 1862335 - TypeReference 1862336 1862352 - Identifier 1862336 1862352 - Parameter 1862353 1862392 - Identifier 1862353 1862366 - UnionType 1862367 1862392 - TypeReference 1862367 1862380 - Identifier 1862367 1862380 - UndefinedKeyword 1862382 1862392 - UnionType 1862394 1862411 - TypeReference 1862394 1862399 - Identifier 1862394 1862399 - UndefinedKeyword 1862401 1862411 - Block 1862411 1862772 - VariableStatement 1862413 1862484 - VariableDeclarationList 1862413 1862483 - VariableDeclaration 1862428 1862483 - Identifier 1862428 1862443 - CallExpression 1862445 1862483 - Identifier 1862445 1862463 - Identifier 1862464 1862468 - Identifier 1862469 1862482 - IfStatement 1862484 1862738 - Identifier 1862498 1862512 - Block 1862513 1862738 - VariableStatement 1862515 1862597 - VariableDeclarationList 1862515 1862596 - VariableDeclaration 1862534 1862596 - Identifier 1862534 1862556 - CallExpression 1862558 1862596 - Identifier 1862558 1862580 - Identifier 1862581 1862595 - ReturnStatement 1862597 1862727 - BinaryExpression 1862617 1862726 - Identifier 1862617 1862639 - AmpersandAmpersandToken 1862639 1862642 - CallExpression 1862642 1862726 - Identifier 1862642 1862655 - ArrayLiteralExpression 1862656 1862725 - Identifier 1862657 1862678 - CallExpression 1862679 1862724 - Identifier 1862679 1862701 - Identifier 1862702 1862723 - ReturnStatement 1862738 1862765 - Identifier 1862754 1862764 - FunctionDeclaration 1862772 1864650 - Identifier 1862788 1862821 - Parameter 1862822 1862843 - Identifier 1862822 1862826 - TypeReference 1862827 1862843 - Identifier 1862827 1862843 - Parameter 1862844 1862883 - Identifier 1862844 1862857 - UnionType 1862858 1862883 - TypeReference 1862858 1862871 - Identifier 1862858 1862871 - UndefinedKeyword 1862873 1862883 - UnionType 1862885 1862902 - TypeReference 1862885 1862890 - Identifier 1862885 1862890 - UndefinedKeyword 1862892 1862902 - Block 1862902 1864650 - VariableStatement 1862904 1862955 - VariableDeclarationList 1862904 1862954 - VariableDeclaration 1862919 1862954 - Identifier 1862919 1862924 - CallExpression 1862926 1862954 - Identifier 1862926 1862948 - Identifier 1862949 1862953 - IfStatement 1862955 1864614 - Identifier 1862969 1862973 - Block 1862974 1864614 - VariableStatement 1862976 1863035 - VariableDeclarationList 1862976 1863034 - VariableDeclaration 1862995 1863034 - Identifier 1862995 1863009 - CallExpression 1863011 1863034 - Identifier 1863011 1863028 - Identifier 1863029 1863033 - VariableStatement 1863035 1863120 - VariableDeclarationList 1863035 1863119 - VariableDeclaration 1863052 1863119 - Identifier 1863052 1863073 - CallExpression 1863075 1863119 - Identifier 1863075 1863099 - Identifier 1863100 1863104 - Identifier 1863105 1863118 - IfStatement 1863120 1864603 - Identifier 1863138 1863158 - Block 1863159 1864603 - VariableStatement 1863161 1863248 - VariableDeclarationList 1863161 1863247 - VariableDeclaration 1863184 1863247 - Identifier 1863184 1863201 - BinaryExpression 1863203 1863247 - ParenthesizedExpression 1863203 1863241 - BinaryExpression 1863205 1863240 - Identifier 1863205 1863218 - AmpersandToken 1863218 1863220 - PropertyAccessExpression 1863220 1863240 - Identifier 1863220 1863234 - Identifier 1863235 1863240 - ExclamationEqualsEqualsToken 1863241 1863245 - NumericLiteral 1863245 1863247 - IfStatement 1863248 1863544 - BinaryExpression 1863270 1863337 - PrefixUnaryExpression 1863270 1863289 - PropertyAccessExpression 1863271 1863289 - Identifier 1863271 1863275 - Identifier 1863276 1863289 - AmpersandAmpersandToken 1863289 1863292 - BinaryExpression 1863292 1863337 - PropertyAccessExpression 1863292 1863319 - Identifier 1863292 1863313 - Identifier 1863314 1863319 - AmpersandToken 1863319 1863321 - PropertyAccessExpression 1863321 1863337 - Identifier 1863321 1863331 - Identifier 1863332 1863337 - Block 1863338 1863544 - ExpressionStatement 1863340 1863525 - BinaryExpression 1863340 1863524 - Identifier 1863340 1863382 - EqualsToken 1863382 1863384 - CallExpression 1863384 1863524 - Identifier 1863384 1863395 - Identifier 1863396 1863416 - ArrowFunction 1863417 1863523 - Parameter 1863417 1863422 - Identifier 1863417 1863422 - EqualsGreaterThanToken 1863422 1863425 - PrefixUnaryExpression 1863425 1863523 - PrefixUnaryExpression 1863427 1863523 - CallExpression 1863428 1863523 - Identifier 1863428 1863473 - PropertyAccessExpression 1863474 1863498 - Identifier 1863474 1863491 - Identifier 1863492 1863498 - Identifier 1863499 1863504 - Identifier 1863505 1863522 - IfStatement 1863544 1864452 - PropertyAccessExpression 1863566 1863584 - Identifier 1863566 1863570 - Identifier 1863571 1863584 - Block 1863585 1864452 - VariableStatement 1863587 1863719 - VariableDeclarationList 1863587 1863718 - VariableDeclaration 1863614 1863718 - Identifier 1863614 1863629 - CallExpression 1863631 1863718 - Identifier 1863631 1863678 - Identifier 1863679 1863699 - Identifier 1863700 1863717 - VariableStatement 1863719 1863804 - VariableDeclarationList 1863719 1863803 - VariableDeclaration 1863746 1863803 - Identifier 1863746 1863756 - BinaryExpression 1863758 1863803 - PropertyAccessExpression 1863758 1863784 - Identifier 1863758 1863773 - QuestionDotToken 1863773 1863775 - Identifier 1863775 1863784 - QuestionQuestionToken 1863784 1863787 - Identifier 1863787 1863803 - VariableStatement 1863804 1863902 - VariableDeclarationList 1863804 1863901 - VariableDeclaration 1863831 1863901 - Identifier 1863831 1863842 - BinaryExpression 1863844 1863901 - CallExpression 1863844 1863882 - Identifier 1863844 1863862 - Identifier 1863863 1863867 - Identifier 1863868 1863881 - QuestionQuestionToken 1863882 1863885 - Identifier 1863885 1863901 - VariableStatement 1863902 1863981 - VariableDeclarationList 1863902 1863980 - VariableDeclaration 1863929 1863980 - Identifier 1863929 1863938 - BinaryExpression 1863940 1863980 - PropertyAccessExpression 1863940 1863965 - Identifier 1863940 1863955 - QuestionDotToken 1863955 1863957 - Identifier 1863957 1863965 - QuestionQuestionToken 1863965 1863968 - Identifier 1863968 1863980 - VariableStatement 1863981 1864106 - VariableDeclarationList 1863981 1864105 - VariableDeclaration 1864008 1864105 - Identifier 1864008 1864022 - CallExpression 1864024 1864105 - Identifier 1864024 1864044 - Identifier 1864045 1864054 - Identifier 1864055 1864066 - Identifier 1864067 1864076 - FalseKeyword 1864077 1864104 - IfStatement 1864106 1864390 - Identifier 1864132 1864148 - Block 1864149 1864390 - VariableStatement 1864151 1864284 - VariableDeclarationList 1864151 1864283 - VariableDeclaration 1864182 1864283 - Identifier 1864182 1864201 - CallExpression 1864203 1864283 - Identifier 1864203 1864223 - Identifier 1864224 1864233 - Identifier 1864234 1864245 - Identifier 1864246 1864255 - TrueKeyword 1864256 1864282 - ReturnStatement 1864284 1864367 - CallExpression 1864316 1864366 - Identifier 1864316 1864329 - ArrayLiteralExpression 1864330 1864365 - Identifier 1864331 1864344 - Identifier 1864345 1864364 - ReturnStatement 1864390 1864433 - Identifier 1864418 1864432 - ReturnStatement 1864452 1864588 - CallExpression 1864476 1864587 - Identifier 1864476 1864522 - PropertyAccessExpression 1864523 1864546 - Identifier 1864523 1864540 - Identifier 1864541 1864546 - Identifier 1864547 1864568 - Identifier 1864569 1864586 - ReturnStatement 1864614 1864643 - Identifier 1864632 1864642 - FunctionDeclaration 1864650 1865212 - Identifier 1864666 1864715 - Parameter 1864716 1864726 - Identifier 1864716 1864720 - TypeReference 1864721 1864726 - Identifier 1864721 1864726 - Block 1864727 1865212 - VariableStatement 1864729 1864772 - VariableDeclarationList 1864729 1864771 - VariableDeclaration 1864742 1864771 - Identifier 1864742 1864763 - FalseKeyword 1864765 1864771 - WhileStatement 1864772 1865180 - BinaryExpression 1864789 1864832 - PropertyAccessExpression 1864789 1864800 - Identifier 1864789 1864793 - Identifier 1864794 1864800 - AmpersandAmpersandToken 1864800 1864803 - PrefixUnaryExpression 1864803 1864832 - CallExpression 1864805 1864832 - Identifier 1864805 1864819 - PropertyAccessExpression 1864820 1864831 - Identifier 1864820 1864824 - Identifier 1864825 1864831 - Block 1864833 1865180 - IfStatement 1864835 1864987 - BinaryExpression 1864853 1864939 - CallExpression 1864853 1864877 - Identifier 1864853 1864864 - PropertyAccessExpression 1864865 1864876 - Identifier 1864865 1864869 - Identifier 1864870 1864876 - AmpersandAmpersandToken 1864877 1864880 - ParenthesizedExpression 1864880 1864939 - BinaryExpression 1864882 1864938 - Identifier 1864882 1864902 - BarBarToken 1864902 1864905 - BinaryExpression 1864905 1864938 - PropertyAccessExpression 1864905 1864929 - PropertyAccessExpression 1864905 1864917 - Identifier 1864905 1864910 - Identifier 1864911 1864917 - Identifier 1864918 1864929 - EqualsEqualsEqualsToken 1864929 1864933 - Identifier 1864933 1864938 - Block 1864940 1864987 - ReturnStatement 1864942 1864972 - TrueKeyword 1864966 1864971 - IfStatement 1864987 1865134 - BinaryExpression 1865005 1865070 - CallExpression 1865005 1865034 - Identifier 1865005 1865021 - PropertyAccessExpression 1865022 1865033 - Identifier 1865022 1865026 - Identifier 1865027 1865033 - AmpersandAmpersandToken 1865034 1865037 - BinaryExpression 1865037 1865070 - PropertyAccessExpression 1865037 1865061 - PropertyAccessExpression 1865037 1865049 - Identifier 1865037 1865042 - Identifier 1865043 1865049 - Identifier 1865050 1865061 - EqualsEqualsEqualsToken 1865061 1865065 - Identifier 1865065 1865070 - Block 1865071 1865134 - ExpressionStatement 1865073 1865119 - BinaryExpression 1865073 1865118 - Identifier 1865073 1865111 - EqualsToken 1865111 1865113 - TrueKeyword 1865113 1865118 - ExpressionStatement 1865134 1865169 - BinaryExpression 1865134 1865168 - Identifier 1865134 1865154 - EqualsToken 1865154 1865156 - PropertyAccessExpression 1865156 1865168 - Identifier 1865156 1865161 - Identifier 1865162 1865168 - ReturnStatement 1865180 1865205 - FalseKeyword 1865198 1865204 - FunctionDeclaration 1865212 1865742 - Identifier 1865228 1865255 - Parameter 1865256 1865279 - Identifier 1865256 1865260 - TypeReference 1865261 1865279 - Identifier 1865261 1865279 - Parameter 1865280 1865315 - Identifier 1865280 1865293 - TypeReference 1865294 1865315 - Identifier 1865294 1865315 - UnionType 1865317 1865334 - TypeReference 1865317 1865322 - Identifier 1865317 1865322 - UndefinedKeyword 1865324 1865334 - Block 1865334 1865742 - VariableStatement 1865336 1865419 - VariableDeclarationList 1865336 1865418 - VariableDeclaration 1865351 1865418 - Identifier 1865351 1865359 - PrefixUnaryExpression 1865361 1865418 - PrefixUnaryExpression 1865363 1865418 - ParenthesizedExpression 1865364 1865418 - BinaryExpression 1865365 1865417 - CallExpression 1865365 1865395 - Identifier 1865365 1865381 - Identifier 1865382 1865394 - AmpersandToken 1865395 1865397 - PropertyAccessExpression 1865397 1865417 - Identifier 1865397 1865411 - Identifier 1865412 1865417 - VariableStatement 1865419 1865524 - VariableDeclarationList 1865419 1865523 - VariableDeclaration 1865434 1865523 - Identifier 1865434 1865455 - CallExpression 1865457 1865523 - Identifier 1865457 1865481 - Identifier 1865482 1865494 - Identifier 1865495 1865522 - IfStatement 1865524 1865706 - Identifier 1865538 1865558 - Block 1865559 1865706 - ReturnStatement 1865561 1865695 - BinaryExpression 1865581 1865694 - CallExpression 1865581 1865664 - Identifier 1865581 1865627 - Identifier 1865628 1865632 - Identifier 1865633 1865654 - Identifier 1865655 1865663 - BarBarToken 1865664 1865684 - Identifier 1865684 1865694 - ReturnStatement 1865706 1865735 - Identifier 1865724 1865734 - FunctionDeclaration 1865742 1867743 - Identifier 1865758 1865782 - Parameter 1865783 1865817 - Identifier 1865783 1865795 - TypeReference 1865796 1865817 - Identifier 1865796 1865817 - Parameter 1865818 1865857 - Identifier 1865818 1865831 - UnionType 1865832 1865857 - TypeReference 1865832 1865845 - Identifier 1865832 1865845 - UndefinedKeyword 1865847 1865857 - UnionType 1865859 1865876 - TypeReference 1865859 1865864 - Identifier 1865859 1865864 - UndefinedKeyword 1865866 1865876 - Block 1865876 1867743 - VariableStatement 1865878 1866182 - VariableDeclarationList 1865878 1866181 - VariableDeclaration 1866126 1866181 - Identifier 1866126 1866137 - CallExpression 1866139 1866181 - Identifier 1866139 1866167 - Identifier 1866168 1866180 - IfStatement 1866182 1866252 - Identifier 1866196 1866206 - Block 1866207 1866252 - ReturnStatement 1866209 1866241 - Identifier 1866229 1866240 - VariableStatement 1866252 1866617 - VariableDeclarationList 1866252 1866616 - VariableDeclaration 1866519 1866616 - Identifier 1866519 1866529 - CallExpression 1866531 1866616 - Identifier 1866531 1866580 - AsExpression 1866581 1866615 - Identifier 1866581 1866593 - TypeReference 1866596 1866615 - Identifier 1866596 1866615 - IfStatement 1866617 1867541 - BinaryExpression 1866631 1866688 - Identifier 1866631 1866640 - AmpersandAmpersandToken 1866640 1866643 - PrefixUnaryExpression 1866643 1866688 - CallExpression 1866645 1866688 - Identifier 1866645 1866677 - Identifier 1866678 1866687 - Block 1866689 1867541 - VariableStatement 1866691 1866760 - VariableDeclarationList 1866691 1866759 - VariableDeclaration 1866710 1866759 - Identifier 1866710 1866721 - CallExpression 1866723 1866759 - Identifier 1866723 1866748 - Identifier 1866749 1866758 - VariableStatement 1866760 1866827 - VariableDeclarationList 1866760 1866826 - VariableDeclaration 1866779 1866826 - Identifier 1866779 1866793 - CallExpression 1866795 1866826 - Identifier 1866795 1866812 - Identifier 1866813 1866825 - IfStatement 1866827 1867198 - BinaryExpression 1866845 1866884 - Identifier 1866845 1866858 - AmpersandToken 1866858 1866860 - PropertyAccessExpression 1866860 1866884 - Identifier 1866860 1866874 - Identifier 1866875 1866884 - Block 1866885 1867198 - ReturnStatement 1866887 1867183 - CallExpression 1866911 1867182 - Identifier 1866911 1866922 - Identifier 1866923 1866933 - ArrowFunction 1866934 1867181 - Parameter 1866934 1866936 - Identifier 1866934 1866936 - EqualsGreaterThanToken 1866936 1866939 - Block 1866939 1867181 - ReturnStatement 1866941 1867162 - BinaryExpression 1866969 1867161 - PrefixUnaryExpression 1866969 1867062 - PrefixUnaryExpression 1866971 1867062 - ParenthesizedExpression 1866972 1867062 - BinaryExpression 1866973 1867061 - PropertyAccessExpression 1866973 1866980 - Identifier 1866973 1866974 - Identifier 1866975 1866980 - AmpersandToken 1866980 1866982 - ParenthesizedExpression 1866982 1867061 - BinaryExpression 1866984 1867060 - BinaryExpression 1866984 1867023 - PropertyAccessExpression 1866984 1867006 - Identifier 1866984 1866993 - Identifier 1866994 1867006 - BarToken 1867006 1867008 - PropertyAccessExpression 1867008 1867023 - Identifier 1867008 1867018 - Identifier 1867019 1867023 - BarToken 1867023 1867025 - PropertyAccessExpression 1867025 1867060 - Identifier 1867025 1867035 - Identifier 1867036 1867060 - BarBarToken 1867062 1867065 - CallExpression 1867065 1867161 - Identifier 1867065 1867118 - Identifier 1867119 1867120 - Identifier 1867121 1867135 - Identifier 1867136 1867160 - IfStatement 1867198 1867498 - BinaryExpression 1867216 1867251 - Identifier 1867216 1867229 - AmpersandToken 1867229 1867231 - PropertyAccessExpression 1867231 1867251 - Identifier 1867231 1867245 - Identifier 1867246 1867251 - Block 1867252 1867498 - ReturnStatement 1867254 1867483 - CallExpression 1867278 1867482 - Identifier 1867278 1867289 - Identifier 1867290 1867300 - ArrowFunction 1867301 1867481 - Parameter 1867301 1867303 - Identifier 1867301 1867303 - EqualsGreaterThanToken 1867303 1867306 - Block 1867306 1867481 - ReturnStatement 1867308 1867462 - BinaryExpression 1867336 1867461 - PrefixUnaryExpression 1867336 1867429 - PrefixUnaryExpression 1867338 1867429 - ParenthesizedExpression 1867339 1867429 - BinaryExpression 1867340 1867428 - PropertyAccessExpression 1867340 1867347 - Identifier 1867340 1867341 - Identifier 1867342 1867347 - AmpersandToken 1867347 1867349 - ParenthesizedExpression 1867349 1867428 - BinaryExpression 1867351 1867427 - BinaryExpression 1867351 1867390 - PropertyAccessExpression 1867351 1867373 - Identifier 1867351 1867360 - Identifier 1867361 1867373 - BarToken 1867373 1867375 - PropertyAccessExpression 1867375 1867390 - Identifier 1867375 1867385 - Identifier 1867386 1867390 - BarToken 1867390 1867392 - PropertyAccessExpression 1867392 1867427 - Identifier 1867392 1867402 - Identifier 1867403 1867427 - BarBarToken 1867429 1867432 - PrefixUnaryExpression 1867432 1867461 - PrefixUnaryExpression 1867434 1867461 - CallExpression 1867435 1867461 - Identifier 1867435 1867458 - Identifier 1867459 1867460 - ReturnStatement 1867498 1867530 - Identifier 1867518 1867529 - VariableStatement 1867541 1867618 - VariableDeclarationList 1867541 1867617 - VariableDeclaration 1867556 1867617 - Identifier 1867556 1867561 - CallExpression 1867563 1867617 - Identifier 1867563 1867603 - Identifier 1867604 1867616 - IfStatement 1867618 1867709 - Identifier 1867632 1867636 - Block 1867637 1867709 - ReturnStatement 1867639 1867698 - CallExpression 1867659 1867697 - Identifier 1867659 1867677 - Identifier 1867678 1867682 - Identifier 1867683 1867696 - ReturnStatement 1867709 1867736 - Identifier 1867725 1867735 - FunctionDeclaration 1867743 1868306 - Identifier 1867898 1867927 - Parameter 1867928 1867958 - Identifier 1867928 1867938 - TypeReference 1867939 1867958 - Identifier 1867939 1867958 - Parameter 1867959 1867975 - Identifier 1867959 1867963 - TypeReference 1867964 1867975 - Identifier 1867964 1867975 - UnionType 1867977 1867994 - TypeReference 1867977 1867982 - Identifier 1867977 1867982 - UndefinedKeyword 1867984 1867994 - Block 1867994 1868306 - VariableStatement 1867996 1868057 - VariableDeclarationList 1867996 1868056 - VariableDeclaration 1868011 1868056 - Identifier 1868011 1868016 - CallExpression 1868018 1868056 - Identifier 1868018 1868044 - Identifier 1868045 1868055 - VariableStatement 1868057 1868102 - VariableDeclarationList 1868057 1868101 - VariableDeclaration 1868072 1868101 - Identifier 1868072 1868081 - CallExpression 1868083 1868101 - PropertyAccessExpression 1868083 1868096 - Identifier 1868083 1868088 - Identifier 1868089 1868096 - Identifier 1868097 1868100 - ReturnStatement 1868102 1868299 - ConditionalExpression 1868210 1868298 - BinaryExpression 1868210 1868226 - Identifier 1868210 1868219 - EqualsEqualsEqualsToken 1868219 1868223 - PrefixUnaryExpression 1868223 1868226 - NumericLiteral 1868225 1868226 - QuestionToken 1868226 1868228 - Identifier 1868228 1868238 - ColonToken 1868238 1868240 - CallExpression 1868240 1868298 - Identifier 1868240 1868276 - Identifier 1868277 1868287 - Identifier 1868288 1868297 - FunctionDeclaration 1868306 1869489 - Identifier 1868322 1868358 - Parameter 1868359 1868389 - Identifier 1868359 1868369 - TypeReference 1868370 1868389 - Identifier 1868370 1868389 - Parameter 1868390 1868407 - Identifier 1868390 1868399 - NumberKeyword 1868400 1868407 - TypeReference 1868409 1868414 - Identifier 1868409 1868414 - Block 1868414 1869489 - IfStatement 1868416 1868635 - CallExpression 1868430 1868454 - Identifier 1868430 1868442 - Identifier 1868443 1868453 - Block 1868455 1868635 - ReturnStatement 1868457 1868624 - ConditionalExpression 1868477 1868623 - BinaryExpression 1868477 1868492 - Identifier 1868477 1868486 - EqualsEqualsEqualsToken 1868486 1868490 - NumericLiteral 1868490 1868492 - QuestionToken 1868492 1868494 - Identifier 1868494 1868505 - ColonToken 1868505 1868507 - ConditionalExpression 1868507 1868623 - BinaryExpression 1868507 1868539 - Identifier 1868507 1868533 - EqualsEqualsEqualsToken 1868533 1868537 - NumericLiteral 1868537 1868539 - QuestionToken 1868539 1868541 - CallExpression 1868541 1868596 - Identifier 1868541 1868572 - FalseKeyword 1868573 1868595 - ColonToken 1868596 1868598 - Identifier 1868598 1868623 - VariableStatement 1868635 1868967 - VariableDeclarationList 1868635 1868966 - VariableDeclaration 1868832 1868966 - Identifier 1868832 1868842 - ConditionalExpression 1868844 1868966 - BinaryExpression 1868844 1868910 - PropertyAccessExpression 1868844 1868887 - CallExpression 1868844 1868869 - Identifier 1868844 1868857 - Identifier 1868858 1868868 - Identifier 1868870 1868887 - EqualsEqualsEqualsToken 1868887 1868891 - Identifier 1868891 1868910 - QuestionToken 1868910 1868912 - Identifier 1868912 1868931 - ColonToken 1868931 1868933 - CallExpression 1868933 1868966 - Identifier 1868933 1868954 - Identifier 1868955 1868965 - IfStatement 1868967 1869135 - BinaryExpression 1868983 1869036 - CallExpression 1868983 1869018 - Identifier 1868983 1869006 - Identifier 1869007 1869017 - AmpersandAmpersandToken 1869018 1869021 - BinaryExpression 1869021 1869036 - Identifier 1869021 1869030 - EqualsEqualsEqualsToken 1869030 1869034 - NumericLiteral 1869034 1869036 - Block 1869037 1869135 - ReturnStatement 1869039 1869124 - CallExpression 1869059 1869123 - Identifier 1869059 1869100 - Identifier 1869101 1869110 - Identifier 1869111 1869122 - VariableStatement 1869135 1869195 - VariableDeclarationList 1869135 1869194 - VariableDeclaration 1869150 1869194 - Identifier 1869150 1869160 - BinaryExpression 1869162 1869194 - PropertyAccessExpression 1869162 1869190 - PropertyAccessExpression 1869162 1869183 - Identifier 1869162 1869172 - Identifier 1869173 1869183 - Identifier 1869184 1869190 - MinusToken 1869190 1869192 - NumericLiteral 1869192 1869194 - ReturnStatement 1869195 1869482 - ConditionalExpression 1869211 1869481 - BinaryExpression 1869211 1869273 - CallExpression 1869211 1869248 - Identifier 1869211 1869237 - Identifier 1869238 1869247 - AmpersandAmpersandToken 1869248 1869251 - BinaryExpression 1869251 1869273 - Identifier 1869251 1869260 - GreaterThanEqualsToken 1869260 1869263 - Identifier 1869263 1869273 - QuestionToken 1869273 1869275 - CallExpression 1869275 1869427 - Identifier 1869275 1869309 - CallExpression 1869310 1869358 - Identifier 1869310 1869325 - ElementAccessExpression 1869326 1869357 - PropertyAccessExpression 1869326 1869346 - Identifier 1869326 1869335 - Identifier 1869336 1869346 - Identifier 1869347 1869356 - CallExpression 1869359 1869402 - Identifier 1869359 1869380 - BinaryExpression 1869381 1869401 - Identifier 1869381 1869389 - MinusToken 1869389 1869391 - Identifier 1869391 1869401 - PropertyAccessExpression 1869403 1869426 - Identifier 1869403 1869415 - Identifier 1869416 1869426 - ColonToken 1869427 1869429 - CallExpression 1869429 1869481 - Identifier 1869429 1869460 - Identifier 1869461 1869470 - Identifier 1869471 1869480 - FunctionDeclaration 1869489 1869730 - Identifier 1869505 1869535 - Parameter 1869536 1869556 - Identifier 1869536 1869545 - TypeReference 1869546 1869556 - Identifier 1869546 1869556 - UnionType 1869558 1869575 - TypeReference 1869558 1869563 - Identifier 1869558 1869563 - UndefinedKeyword 1869565 1869575 - Block 1869575 1869730 - VariableStatement 1869577 1869642 - VariableDeclarationList 1869577 1869641 - VariableDeclaration 1869592 1869641 - Identifier 1869592 1869602 - CallExpression 1869604 1869641 - Identifier 1869604 1869630 - Identifier 1869631 1869640 - ReturnStatement 1869642 1869723 - ConditionalExpression 1869658 1869722 - Identifier 1869658 1869668 - QuestionToken 1869668 1869670 - CallExpression 1869670 1869710 - Identifier 1869670 1869699 - Identifier 1869700 1869709 - ColonToken 1869710 1869712 - Identifier 1869712 1869722 - FunctionDeclaration 1869730 1870100 - Identifier 1869746 1869789 - Parameter 1869790 1869818 - Identifier 1869790 1869798 - TypeReference 1869799 1869818 - Identifier 1869799 1869818 - Parameter 1869819 1869854 - Identifier 1869819 1869842 - TypeReference 1869843 1869854 - Identifier 1869843 1869854 - Block 1869855 1870100 - IfStatement 1869857 1870064 - BinaryExpression 1869871 1869931 - PropertyAccessExpression 1869871 1869891 - PropertyAccessExpression 1869871 1869886 - Identifier 1869871 1869879 - Identifier 1869880 1869886 - Identifier 1869887 1869891 - EqualsEqualsEqualsToken 1869891 1869895 - PropertyAccessExpression 1869895 1869931 - Identifier 1869895 1869906 - Identifier 1869907 1869931 - Block 1869932 1870064 - ReturnStatement 1869934 1870053 - CallExpression 1869954 1870052 - Identifier 1869954 1869983 - AsExpression 1869984 1870027 - PropertyAccessExpression 1869984 1869999 - Identifier 1869984 1869992 - Identifier 1869993 1869999 - TypeReference 1870002 1870027 - Identifier 1870002 1870027 - Identifier 1870028 1870051 - ReturnStatement 1870064 1870093 - Identifier 1870082 1870092 - FunctionDeclaration 1870100 1871904 - Identifier 1870116 1870150 - Parameter 1870151 1870167 - Identifier 1870151 1870155 - TypeReference 1870156 1870167 - Identifier 1870156 1870167 - Parameter 1870168 1870207 - Identifier 1870168 1870181 - UnionType 1870182 1870207 - TypeReference 1870182 1870195 - Identifier 1870182 1870195 - UndefinedKeyword 1870197 1870207 - UnionType 1870209 1870226 - TypeReference 1870209 1870214 - Identifier 1870209 1870214 - UndefinedKeyword 1870216 1870226 - Block 1870226 1871904 - VariableStatement 1870228 1870295 - VariableDeclarationList 1870228 1870294 - VariableDeclaration 1870243 1870294 - Identifier 1870243 1870260 - AsExpression 1870262 1870294 - PropertyAccessExpression 1870262 1870274 - Identifier 1870262 1870267 - Identifier 1870268 1870274 - TypeReference 1870277 1870294 - Identifier 1870277 1870294 - VariableStatement 1870295 1870361 - VariableDeclarationList 1870295 1870360 - VariableDeclaration 1870310 1870360 - ObjectBindingPattern 1870310 1870341 - BindingElement 1870312 1870317 - Identifier 1870312 1870317 - BindingElement 1870318 1870332 - Identifier 1870318 1870332 - BindingElement 1870333 1870339 - Identifier 1870333 1870339 - Identifier 1870343 1870360 - SwitchStatement 1870361 1871897 - PropertyAccessExpression 1870379 1870397 - Identifier 1870379 1870392 - Identifier 1870393 1870397 - CaseBlock 1870398 1871897 - CaseClause 1870400 1870442 - PropertyAccessExpression 1870418 1870441 - Identifier 1870418 1870429 - Identifier 1870430 1870441 - CaseClause 1870442 1870502 - PropertyAccessExpression 1870460 1870501 - Identifier 1870460 1870471 - Identifier 1870472 1870501 - CaseClause 1870502 1870550 - PropertyAccessExpression 1870520 1870549 - Identifier 1870520 1870531 - Identifier 1870532 1870549 - CaseClause 1870550 1870722 - PropertyAccessExpression 1870568 1870607 - Identifier 1870568 1870579 - Identifier 1870580 1870607 - ReturnStatement 1870608 1870722 - ConditionalExpression 1870632 1870721 - BinaryExpression 1870632 1870647 - Identifier 1870632 1870637 - EqualsEqualsEqualsToken 1870637 1870641 - Identifier 1870641 1870647 - QuestionToken 1870647 1870649 - CallExpression 1870649 1870709 - Identifier 1870649 1870691 - Identifier 1870692 1870708 - ColonToken 1870709 1870711 - Identifier 1870711 1870721 - CaseClause 1870722 1870764 - PropertyAccessExpression 1870740 1870763 - Identifier 1870740 1870751 - Identifier 1870752 1870763 - CaseClause 1870764 1871630 - PropertyAccessExpression 1870782 1870815 - Identifier 1870782 1870793 - Identifier 1870794 1870815 - VariableStatement 1870816 1871447 - VariableDeclarationList 1870816 1871446 - VariableDeclaration 1871389 1871446 - Identifier 1871389 1871394 - CallExpression 1871396 1871446 - Identifier 1871396 1871414 - Identifier 1871415 1871431 - Identifier 1871432 1871445 - ReturnStatement 1871447 1871630 - ConditionalExpression 1871471 1871629 - BinaryExpression 1871471 1871573 - BinaryExpression 1871471 1871486 - Identifier 1871471 1871476 - EqualsEqualsEqualsToken 1871476 1871480 - Identifier 1871480 1871486 - AmpersandAmpersandToken 1871486 1871489 - ParenthesizedExpression 1871489 1871573 - BinaryExpression 1871491 1871572 - BinaryExpression 1871491 1871511 - Identifier 1871491 1871495 - AmpersandAmpersandToken 1871495 1871498 - PropertyAccessExpression 1871498 1871511 - Identifier 1871498 1871503 - Identifier 1871504 1871511 - BarBarToken 1871511 1871514 - BinaryExpression 1871514 1871572 - PrefixUnaryExpression 1871514 1871520 - Identifier 1871516 1871520 - AmpersandAmpersandToken 1871520 1871523 - PrefixUnaryExpression 1871523 1871572 - CallExpression 1871525 1871572 - Identifier 1871525 1871554 - Identifier 1871555 1871571 - QuestionToken 1871573 1871575 - CallExpression 1871575 1871622 - Identifier 1871575 1871616 - Identifier 1871617 1871621 - ColonToken 1871622 1871624 - Identifier 1871624 1871629 - CaseClause 1871630 1871684 - PropertyAccessExpression 1871648 1871683 - Identifier 1871648 1871659 - Identifier 1871660 1871683 - CaseClause 1871684 1871829 - PropertyAccessExpression 1871702 1871724 - Identifier 1871702 1871713 - Identifier 1871714 1871724 - ReturnStatement 1871725 1871829 - ConditionalExpression 1871749 1871828 - BinaryExpression 1871749 1871764 - Identifier 1871749 1871754 - EqualsEqualsEqualsToken 1871754 1871758 - Identifier 1871758 1871764 - QuestionToken 1871764 1871766 - CallExpression 1871766 1871816 - Identifier 1871766 1871784 - Identifier 1871785 1871801 - Identifier 1871802 1871815 - ColonToken 1871816 1871818 - Identifier 1871818 1871828 - DefaultClause 1871829 1871886 - ReturnStatement 1871851 1871886 - Identifier 1871875 1871885 - FunctionDeclaration 1871904 1873347 - Identifier 1872116 1872139 - Parameter 1872140 1872153 - Identifier 1872140 1872141 - TypeReference 1872142 1872153 - Identifier 1872142 1872153 - Block 1872154 1873347 - IfStatement 1872156 1872242 - BinaryExpression 1872170 1872198 - CallExpression 1872170 1872186 - Identifier 1872170 1872183 - Identifier 1872184 1872185 - AmpersandAmpersandToken 1872186 1872189 - PropertyAccessExpression 1872189 1872198 - Identifier 1872189 1872191 - Identifier 1872192 1872198 - Block 1872199 1872242 - ReturnStatement 1872201 1872231 - PropertyAccessExpression 1872221 1872230 - Identifier 1872221 1872223 - Identifier 1872224 1872230 - IfStatement 1872242 1872327 - CallExpression 1872256 1872271 - Identifier 1872256 1872268 - Identifier 1872269 1872270 - Block 1872272 1872327 - ReturnStatement 1872274 1872316 - CallExpression 1872294 1872315 - Identifier 1872294 1872312 - Identifier 1872313 1872314 - IfStatement 1872327 1872603 - CallExpression 1872341 1872370 - Identifier 1872341 1872367 - Identifier 1872368 1872369 - Block 1872371 1872603 - VariableStatement 1872373 1872437 - VariableDeclarationList 1872373 1872436 - VariableDeclaration 1872392 1872436 - Identifier 1872392 1872400 - CallExpression 1872402 1872436 - Identifier 1872402 1872422 - PropertyAccessExpression 1872423 1872435 - Identifier 1872423 1872424 - Identifier 1872425 1872435 - ReturnStatement 1872437 1872592 - ConditionalExpression 1872457 1872591 - CallExpression 1872457 1872485 - Identifier 1872457 1872477 - PropertyAccessExpression 1872478 1872484 - Identifier 1872478 1872479 - Identifier 1872480 1872484 - QuestionToken 1872485 1872487 - CallExpression 1872487 1872542 - Identifier 1872487 1872525 - Identifier 1872526 1872533 - PropertyAccessExpression 1872534 1872541 - Identifier 1872534 1872536 - Identifier 1872537 1872541 - ColonToken 1872542 1872544 - CallExpression 1872544 1872591 - Identifier 1872544 1872562 - Identifier 1872563 1872570 - PropertyAccessExpression 1872571 1872590 - PropertyAccessExpression 1872571 1872578 - Identifier 1872571 1872573 - Identifier 1872574 1872578 - Identifier 1872579 1872590 - IfStatement 1872603 1872989 - CallExpression 1872617 1872645 - Identifier 1872617 1872642 - Identifier 1872643 1872644 - Block 1872646 1872989 - VariableStatement 1872648 1872723 - VariableDeclarationList 1872648 1872722 - VariableDeclaration 1872667 1872722 - Identifier 1872667 1872676 - CallExpression 1872678 1872722 - Identifier 1872678 1872700 - PropertyAccessExpression 1872701 1872721 - Identifier 1872701 1872702 - Identifier 1872703 1872721 - IfStatement 1872723 1872831 - PrefixUnaryExpression 1872741 1872778 - CallExpression 1872742 1872778 - Identifier 1872742 1872768 - Identifier 1872769 1872777 - Block 1872779 1872831 - ReturnStatement 1872781 1872816 - Identifier 1872805 1872815 - VariableStatement 1872831 1872895 - VariableDeclarationList 1872831 1872894 - VariableDeclaration 1872850 1872894 - Identifier 1872850 1872858 - CallExpression 1872860 1872894 - Identifier 1872860 1872880 - PropertyAccessExpression 1872881 1872893 - Identifier 1872881 1872882 - Identifier 1872883 1872893 - ReturnStatement 1872895 1872978 - CallExpression 1872915 1872977 - Identifier 1872915 1872933 - Identifier 1872934 1872941 - CallExpression 1872942 1872976 - Identifier 1872942 1872966 - Identifier 1872967 1872975 - ReturnStatement 1872989 1873016 - Identifier 1873005 1873015 - FunctionDeclaration 1873016 1873340 - Identifier 1873036 1873074 - Parameter 1873075 1873085 - Identifier 1873075 1873079 - TypeReference 1873080 1873085 - Identifier 1873080 1873085 - Parameter 1873086 1873108 - Identifier 1873086 1873089 - TypeReference 1873090 1873108 - Identifier 1873090 1873108 - Block 1873109 1873340 - VariableStatement 1873111 1873219 - VariableDeclarationList 1873111 1873218 - VariableDeclaration 1873130 1873218 - Identifier 1873130 1873152 - CallExpression 1873154 1873218 - Identifier 1873154 1873198 - PropertyAccessExpression 1873199 1873213 - Identifier 1873199 1873201 - Identifier 1873202 1873213 - Identifier 1873214 1873217 - ReturnStatement 1873219 1873329 - BinaryExpression 1873239 1873328 - Identifier 1873239 1873261 - AmpersandAmpersandToken 1873261 1873264 - CallExpression 1873264 1873328 - Identifier 1873264 1873299 - Identifier 1873300 1873304 - Identifier 1873305 1873327 - FunctionDeclaration 1873347 1878486 - Identifier 1873623 1873665 - Parameter 1873666 1873700 - Identifier 1873666 1873682 - TypeReference 1873683 1873700 - Identifier 1873683 1873700 - UnionType 1873702 1873719 - TypeReference 1873702 1873707 - Identifier 1873702 1873707 - UndefinedKeyword 1873709 1873719 - Block 1873719 1878486 - VariableStatement 1873721 1873791 - VariableDeclarationList 1873721 1873790 - VariableDeclaration 1873736 1873790 - Identifier 1873736 1873741 - CallExpression 1873743 1873790 - Identifier 1873743 1873772 - Identifier 1873773 1873789 - SwitchStatement 1873791 1878479 - Identifier 1873809 1873813 - CaseBlock 1873814 1878479 - CaseClause 1873816 1873866 - PropertyAccessExpression 1873834 1873865 - Identifier 1873834 1873860 - Identifier 1873861 1873865 - CaseClause 1873866 1875065 - PropertyAccessExpression 1873884 1873923 - Identifier 1873884 1873910 - Identifier 1873911 1873923 - VariableStatement 1873924 1874006 - VariableDeclarationList 1873924 1874005 - VariableDeclaration 1873947 1874005 - Identifier 1873947 1873957 - CallExpression 1873959 1874005 - Identifier 1873959 1873982 - PropertyAccessExpression 1873983 1874004 - Identifier 1873983 1873999 - Identifier 1874000 1874004 - VariableStatement 1874006 1874077 - VariableDeclarationList 1874006 1874076 - VariableDeclaration 1874029 1874076 - Identifier 1874029 1874034 - BinaryExpression 1874036 1874076 - Identifier 1874036 1874046 - AmpersandAmpersandToken 1874046 1874049 - PropertyAccessExpression 1874049 1874076 - Identifier 1874049 1874059 - Identifier 1874060 1874076 - IfStatement 1874077 1874824 - BinaryExpression 1874374 1874440 - Identifier 1874374 1874378 - AmpersandAmpersandToken 1874378 1874381 - ParenthesizedExpression 1874381 1874440 - BinaryExpression 1874383 1874439 - CallExpression 1874383 1874410 - Identifier 1874383 1874404 - Identifier 1874405 1874409 - BarBarToken 1874410 1874413 - CallExpression 1874413 1874439 - Identifier 1874413 1874433 - Identifier 1874434 1874438 - Block 1874441 1874824 - VariableStatement 1874443 1874528 - VariableDeclarationList 1874443 1874527 - VariableDeclaration 1874470 1874527 - Identifier 1874470 1874488 - CallExpression 1874490 1874527 - Identifier 1874490 1874521 - Identifier 1874522 1874526 - ReturnStatement 1874528 1874805 - BinaryExpression 1874556 1874804 - ParenthesizedExpression 1874556 1874669 - BinaryExpression 1874558 1874668 - Identifier 1874558 1874575 - AmpersandAmpersandToken 1874575 1874578 - CallExpression 1874578 1874668 - Identifier 1874578 1874594 - CallExpression 1874595 1874633 - Identifier 1874595 1874614 - Identifier 1874615 1874632 - PropertyAccessExpression 1874634 1874667 - CallExpression 1874634 1874660 - Identifier 1874634 1874649 - Identifier 1874650 1874659 - Identifier 1874661 1874667 - BarBarToken 1874669 1874672 - ParenthesizedExpression 1874672 1874804 - ConditionalExpression 1874699 1874803 - CallExpression 1874699 1874726 - Identifier 1874699 1874720 - Identifier 1874721 1874725 - QuestionToken 1874726 1874728 - BinaryExpression 1874728 1874791 - PropertyAccessExpression 1874728 1874745 - Identifier 1874728 1874733 - Identifier 1874734 1874745 - AmpersandAmpersandToken 1874745 1874748 - CallExpression 1874748 1874791 - Identifier 1874748 1874768 - PropertyAccessExpression 1874769 1874790 - Identifier 1874769 1874785 - Identifier 1874786 1874790 - ColonToken 1874791 1874793 - Identifier 1874793 1874803 - IfStatement 1874824 1874979 - BinaryExpression 1874846 1874885 - Identifier 1874846 1874850 - EqualsEqualsEqualsToken 1874850 1874854 - PropertyAccessExpression 1874854 1874885 - Identifier 1874854 1874880 - Identifier 1874881 1874885 - Block 1874886 1874979 - ReturnStatement 1874888 1874960 - CallExpression 1874916 1874959 - Identifier 1874916 1874936 - PropertyAccessExpression 1874937 1874958 - Identifier 1874937 1874953 - Identifier 1874954 1874958 - ReturnStatement 1874979 1875065 - CallExpression 1875003 1875064 - Identifier 1875003 1875046 - Identifier 1875047 1875063 - CaseClause 1875065 1877325 - PropertyAccessExpression 1875083 1875118 - Identifier 1875083 1875109 - Identifier 1875110 1875118 - IfStatement 1875119 1877325 - CallExpression 1875141 1875194 - Identifier 1875141 1875170 - Identifier 1875171 1875187 - Identifier 1875188 1875193 - Block 1875195 1875306 - ReturnStatement 1875197 1875287 - CallExpression 1875225 1875286 - Identifier 1875225 1875268 - Identifier 1875269 1875285 - IfStatement 1875559 1877325 - BinaryExpression 1875564 1875634 - PrefixUnaryExpression 1875564 1875601 - CallExpression 1875565 1875601 - Identifier 1875565 1875578 - PropertyAccessExpression 1875579 1875600 - Identifier 1875579 1875595 - Identifier 1875596 1875600 - BarBarToken 1875601 1875604 - PrefixUnaryExpression 1875604 1875634 - PropertyAccessExpression 1875606 1875634 - PropertyAccessExpression 1875606 1875627 - Identifier 1875606 1875622 - Identifier 1875623 1875627 - Identifier 1875628 1875634 - Block 1875635 1875728 - ReturnStatement 1875637 1875709 - CallExpression 1875665 1875708 - Identifier 1875665 1875685 - PropertyAccessExpression 1875686 1875707 - Identifier 1875686 1875702 - Identifier 1875703 1875707 - Block 1875750 1877325 - VariableStatement 1875752 1875833 - VariableDeclarationList 1875752 1875832 - VariableDeclaration 1875779 1875832 - Identifier 1875779 1875784 - PropertyAccessExpression 1875786 1875832 - PropertyAccessExpression 1875786 1875815 - PropertyAccessExpression 1875786 1875808 - Identifier 1875786 1875803 - Identifier 1875804 1875808 - Identifier 1875809 1875815 - Identifier 1875816 1875832 - IfStatement 1875833 1875933 - PrefixUnaryExpression 1875859 1875864 - Identifier 1875860 1875864 - Block 1875865 1875933 - ReturnStatement 1875867 1875910 - Identifier 1875899 1875909 - VariableStatement 1875933 1876015 - VariableDeclarationList 1875933 1876014 - VariableDeclaration 1875960 1876014 - Identifier 1875960 1875964 - CallExpression 1875966 1876014 - Identifier 1875966 1875971 - PropertyAccessExpression 1875972 1875993 - Identifier 1875972 1875988 - Identifier 1875989 1875993 - Identifier 1875994 1876013 - VariableStatement 1876015 1876100 - VariableDeclarationList 1876015 1876099 - VariableDeclaration 1876042 1876099 - Identifier 1876042 1876060 - CallExpression 1876062 1876099 - Identifier 1876062 1876093 - Identifier 1876094 1876098 - IfStatement 1876100 1877169 - Identifier 1876126 1876143 - Block 1876144 1876241 - ReturnStatement 1876146 1876218 - CallExpression 1876178 1876217 - Identifier 1876178 1876198 - Identifier 1876199 1876216 - IfStatement 1876267 1877169 - CallExpression 1876272 1876300 - Identifier 1876272 1876284 - PropertyAccessExpression 1876285 1876299 - Identifier 1876285 1876288 - Identifier 1876289 1876299 - Block 1876301 1877169 - VariableStatement 1876303 1876355 - VariableDeclarationList 1876303 1876354 - VariableDeclaration 1876334 1876354 - Identifier 1876334 1876337 - PropertyAccessExpression 1876339 1876354 - Identifier 1876339 1876343 - Identifier 1876344 1876354 - VariableStatement 1876355 1876504 - VariableDeclarationList 1876355 1876503 - VariableDeclaration 1876386 1876503 - Identifier 1876386 1876399 - CallExpression 1876401 1876503 - Identifier 1876401 1876413 - Identifier 1876414 1876416 - PropertyAccessExpression 1876417 1876432 - Identifier 1876417 1876420 - Identifier 1876421 1876432 - PropertyAccessExpression 1876433 1876451 - Identifier 1876433 1876445 - Identifier 1876446 1876451 - Identifier 1876452 1876486 - TrueKeyword 1876487 1876502 - IfStatement 1876504 1877146 - Identifier 1876534 1876546 - Block 1876547 1877146 - VariableStatement 1876549 1876692 - VariableDeclarationList 1876549 1876691 - VariableDeclaration 1876584 1876691 - Identifier 1876584 1876594 - BinaryExpression 1876596 1876691 - PropertyAccessExpression 1876596 1876626 - Identifier 1876596 1876609 - Identifier 1876610 1876626 - AmpersandAmpersandToken 1876626 1876629 - CallExpression 1876629 1876691 - Identifier 1876629 1876660 - PropertyAccessExpression 1876661 1876690 - Identifier 1876661 1876673 - Identifier 1876674 1876690 - IfStatement 1876692 1877072 - Identifier 1876726 1876735 - Block 1876736 1877072 - VariableStatement 1876738 1876824 - VariableDeclarationList 1876738 1876823 - VariableDeclaration 1876777 1876823 - Identifier 1876777 1876785 - CallExpression 1876787 1876823 - Identifier 1876787 1876818 - Identifier 1876819 1876822 - IfStatement 1876824 1877041 - BinaryExpression 1876862 1876883 - Identifier 1876862 1876869 - ExclamationEqualsEqualsToken 1876869 1876873 - Identifier 1876873 1876883 - Block 1876884 1877041 - ReturnStatement 1876886 1877006 - CallExpression 1876930 1877005 - Identifier 1876930 1876964 - CallExpression 1876965 1876995 - Identifier 1876965 1876984 - Identifier 1876985 1876994 - Identifier 1876996 1877004 - ReturnStatement 1877072 1877119 - Identifier 1877108 1877118 - ReturnStatement 1877169 1877306 - ConditionalExpression 1877197 1877305 - BinaryExpression 1877197 1877248 - CallExpression 1877197 1877214 - Identifier 1877197 1877208 - Identifier 1877209 1877213 - BarBarToken 1877214 1877217 - BinaryExpression 1877217 1877248 - Identifier 1877217 1877222 - EqualsEqualsEqualsToken 1877222 1877226 - PropertyAccessExpression 1877226 1877248 - Identifier 1877226 1877243 - Identifier 1877244 1877248 - QuestionToken 1877248 1877250 - Identifier 1877250 1877260 - ColonToken 1877260 1877262 - CallExpression 1877262 1877305 - Identifier 1877262 1877282 - PropertyAccessExpression 1877283 1877304 - Identifier 1877283 1877299 - Identifier 1877300 1877304 - CaseClause 1877325 1877386 - PropertyAccessExpression 1877343 1877385 - Identifier 1877343 1877369 - Identifier 1877370 1877385 - CaseClause 1877386 1877441 - PropertyAccessExpression 1877404 1877440 - Identifier 1877404 1877430 - Identifier 1877431 1877440 - CaseClause 1877441 1877504 - PropertyAccessExpression 1877459 1877503 - Identifier 1877459 1877485 - Identifier 1877486 1877503 - CaseClause 1877504 1878124 - PropertyAccessExpression 1877522 1877562 - Identifier 1877522 1877548 - Identifier 1877549 1877562 - VariableStatement 1877563 1877627 - VariableDeclarationList 1877563 1877626 - VariableDeclaration 1877584 1877626 - Identifier 1877584 1877601 - UnionType 1877602 1877626 - TypeReference 1877602 1877614 - Identifier 1877602 1877614 - UndefinedKeyword 1877616 1877626 - IfStatement 1877627 1877858 - BinaryExpression 1877649 1877697 - Identifier 1877649 1877653 - ExclamationEqualsEqualsToken 1877653 1877657 - PropertyAccessExpression 1877657 1877697 - Identifier 1877657 1877683 - Identifier 1877684 1877697 - Block 1877698 1877858 - ExpressionStatement 1877700 1877839 - BinaryExpression 1877700 1877838 - Identifier 1877700 1877738 - EqualsToken 1877738 1877740 - ConditionalExpression 1877740 1877838 - CallExpression 1877740 1877777 - Identifier 1877740 1877754 - PropertyAccessExpression 1877755 1877776 - Identifier 1877755 1877771 - Identifier 1877772 1877776 - QuestionToken 1877777 1877779 - PropertyAccessExpression 1877779 1877826 - PropertyAccessExpression 1877779 1877808 - PropertyAccessExpression 1877779 1877801 - Identifier 1877779 1877796 - Identifier 1877797 1877801 - Identifier 1877802 1877808 - QuestionDotToken 1877808 1877810 - Identifier 1877810 1877826 - ColonToken 1877826 1877828 - Identifier 1877828 1877838 - ExpressionStatement 1877858 1877939 - BinaryExpression 1877858 1877938 - Identifier 1877858 1877892 - BarBarEqualsToken 1877892 1877896 - PropertyAccessExpression 1877896 1877938 - PropertyAccessExpression 1877896 1877920 - Identifier 1877896 1877913 - Identifier 1877914 1877920 - QuestionDotToken 1877920 1877922 - Identifier 1877922 1877938 - VariableStatement 1877939 1878044 - VariableDeclarationList 1877939 1878043 - VariableDeclaration 1877962 1878043 - Identifier 1877962 1877972 - BinaryExpression 1877974 1878043 - Identifier 1877974 1877991 - AmpersandAmpersandToken 1877991 1877994 - CallExpression 1877994 1878043 - Identifier 1877994 1878025 - Identifier 1878026 1878042 - ReturnStatement 1878044 1878124 - ConditionalExpression 1878068 1878123 - Identifier 1878068 1878078 - QuestionToken 1878078 1878080 - CallExpression 1878080 1878111 - Identifier 1878080 1878100 - Identifier 1878101 1878110 - ColonToken 1878111 1878113 - Identifier 1878113 1878123 - CaseClause 1878124 1878195 - PropertyAccessExpression 1878142 1878194 - Identifier 1878142 1878168 - Identifier 1878169 1878194 - CaseClause 1878195 1878268 - PropertyAccessExpression 1878213 1878267 - Identifier 1878213 1878239 - Identifier 1878240 1878267 - CaseClause 1878268 1878397 - PropertyAccessExpression 1878286 1878342 - Identifier 1878286 1878312 - Identifier 1878313 1878342 - ReturnStatement 1878343 1878397 - CallExpression 1878367 1878396 - PropertyAccessExpression 1878367 1878378 - Identifier 1878367 1878373 - Identifier 1878374 1878378 - StringLiteral 1878379 1878395 - DefaultClause 1878397 1878468 - ReturnStatement 1878419 1878468 - CallExpression 1878443 1878467 - PropertyAccessExpression 1878443 1878461 - Identifier 1878443 1878449 - Identifier 1878450 1878461 - Identifier 1878462 1878466 - FunctionDeclaration 1878486 1879246 - Identifier 1878502 1878532 - Parameter 1878533 1878562 - Identifier 1878533 1878544 - TypeReference 1878545 1878562 - Identifier 1878545 1878562 - Parameter 1878563 1878612 - Identifier 1878563 1878568 - CallExpression 1878570 1878612 - Identifier 1878570 1878599 - Identifier 1878600 1878611 - Block 1878613 1879246 - IfStatement 1878615 1878716 - BinaryExpression 1878629 1878676 - Identifier 1878629 1878633 - EqualsEqualsEqualsToken 1878633 1878637 - PropertyAccessExpression 1878637 1878676 - Identifier 1878637 1878663 - Identifier 1878664 1878676 - Block 1878677 1878716 - ReturnStatement 1878679 1878705 - TrueKeyword 1878699 1878704 - IfStatement 1878716 1878910 - BinaryExpression 1878730 1878869 - BinaryExpression 1878730 1878801 - PrefixUnaryExpression 1878730 1878754 - CallExpression 1878731 1878754 - Identifier 1878731 1878741 - Identifier 1878742 1878753 - BarBarToken 1878754 1878757 - BinaryExpression 1878757 1878801 - Identifier 1878757 1878762 - ExclamationEqualsEqualsToken 1878762 1878766 - PropertyAccessExpression 1878766 1878801 - Identifier 1878766 1878792 - Identifier 1878793 1878801 - BarBarToken 1878801 1878804 - PrefixUnaryExpression 1878804 1878869 - CallExpression 1878806 1878869 - Identifier 1878806 1878818 - PropertyAccessExpression 1878819 1878868 - ParenthesizedExpression 1878819 1878857 - AsExpression 1878820 1878856 - PropertyAccessExpression 1878820 1878836 - Identifier 1878820 1878831 - Identifier 1878832 1878836 - TypeReference 1878839 1878856 - Identifier 1878839 1878856 - Identifier 1878858 1878868 - Block 1878870 1878910 - ReturnStatement 1878872 1878899 - FalseKeyword 1878892 1878898 - VariableStatement 1878910 1879011 - VariableDeclarationList 1878910 1879010 - VariableDeclaration 1878925 1879010 - Identifier 1878925 1878930 - PropertyAccessExpression 1878932 1879010 - ParenthesizedExpression 1878932 1878998 - AsExpression 1878934 1878997 - PropertyAccessExpression 1878934 1878983 - ParenthesizedExpression 1878934 1878972 - AsExpression 1878935 1878971 - PropertyAccessExpression 1878935 1878951 - Identifier 1878935 1878946 - Identifier 1878947 1878951 - TypeReference 1878954 1878971 - Identifier 1878954 1878971 - Identifier 1878973 1878983 - TypeReference 1878986 1878997 - Identifier 1878986 1878997 - Identifier 1878999 1879010 - VariableStatement 1879011 1879167 - VariableDeclarationList 1879011 1879166 - VariableDeclaration 1879026 1879166 - Identifier 1879026 1879033 - CallExpression 1879035 1879166 - Identifier 1879035 1879047 - PropertyAccessExpression 1879048 1879064 - Identifier 1879048 1879059 - Identifier 1879060 1879064 - Identifier 1879065 1879070 - PropertyAccessExpression 1879071 1879089 - Identifier 1879071 1879083 - Identifier 1879084 1879089 - Identifier 1879090 1879124 - TrueKeyword 1879125 1879140 - TrueKeyword 1879141 1879165 - ReturnStatement 1879167 1879239 - CallExpression 1879183 1879238 - Identifier 1879183 1879212 - PropertyAccessExpression 1879213 1879237 - Identifier 1879213 1879219 - QuestionDotToken 1879219 1879221 - Identifier 1879221 1879237 - FunctionDeclaration 1879246 1880343 - Identifier 1879262 1879305 - Parameter 1879306 1879340 - Identifier 1879306 1879322 - TypeReference 1879323 1879340 - Identifier 1879323 1879340 - UnionType 1879342 1879359 - TypeReference 1879342 1879347 - Identifier 1879342 1879347 - UndefinedKeyword 1879349 1879359 - Block 1879359 1880343 - IfStatement 1879361 1879451 - PrefixUnaryExpression 1879375 1879399 - PropertyAccessExpression 1879376 1879399 - Identifier 1879376 1879392 - Identifier 1879393 1879399 - ReturnStatement 1879400 1879451 - CallExpression 1879407 1879450 - Identifier 1879407 1879427 - PropertyAccessExpression 1879428 1879449 - Identifier 1879428 1879444 - Identifier 1879445 1879449 - IfStatement 1879451 1879813 - PropertyAccessExpression 1879465 1879505 - PropertyAccessExpression 1879465 1879488 - Identifier 1879465 1879481 - Identifier 1879482 1879488 - Identifier 1879489 1879505 - Block 1879506 1879813 - VariableStatement 1879508 1879613 - VariableDeclarationList 1879508 1879612 - VariableDeclaration 1879527 1879612 - Identifier 1879527 1879537 - CallExpression 1879539 1879612 - Identifier 1879539 1879570 - PropertyAccessExpression 1879571 1879611 - PropertyAccessExpression 1879571 1879594 - Identifier 1879571 1879587 - Identifier 1879588 1879594 - Identifier 1879595 1879611 - IfStatement 1879613 1879802 - Identifier 1879631 1879640 - Block 1879641 1879802 - VariableStatement 1879643 1879705 - VariableDeclarationList 1879643 1879704 - VariableDeclaration 1879666 1879704 - Identifier 1879666 1879671 - CallExpression 1879673 1879704 - Identifier 1879673 1879693 - Identifier 1879694 1879703 - IfStatement 1879705 1879787 - Identifier 1879727 1879731 - Block 1879732 1879787 - ReturnStatement 1879734 1879768 - Identifier 1879762 1879767 - VariableStatement 1879813 1879890 - VariableDeclarationList 1879813 1879889 - VariableDeclaration 1879828 1879889 - Identifier 1879828 1879839 - CallExpression 1879841 1879889 - Identifier 1879841 1879846 - PropertyAccessExpression 1879847 1879868 - Identifier 1879847 1879863 - Identifier 1879864 1879868 - Identifier 1879869 1879888 - IfStatement 1879890 1880089 - PrefixUnaryExpression 1879904 1880044 - CallExpression 1879905 1880044 - Identifier 1879905 1879926 - CallExpression 1879927 1880043 - Identifier 1879927 1879943 - PropertyAccessExpression 1879944 1879965 - Identifier 1879944 1879954 - Identifier 1879955 1879965 - FalseKeyword 1879966 1879998 - FalseKeyword 1879999 1880042 - Block 1880045 1880089 - ReturnStatement 1880047 1880078 - Identifier 1880067 1880077 - VariableStatement 1880089 1880159 - VariableDeclarationList 1880089 1880158 - VariableDeclaration 1880104 1880158 - Identifier 1880104 1880113 - CallExpression 1880115 1880158 - Identifier 1880115 1880135 - PropertyAccessExpression 1880136 1880157 - Identifier 1880136 1880146 - Identifier 1880147 1880157 - VariableStatement 1880159 1880228 - VariableDeclarationList 1880159 1880227 - VariableDeclaration 1880174 1880227 - Identifier 1880174 1880182 - CallExpression 1880184 1880227 - Identifier 1880184 1880215 - Identifier 1880216 1880226 - ReturnStatement 1880228 1880336 - BinaryExpression 1880244 1880335 - BinaryExpression 1880244 1880322 - BinaryExpression 1880244 1880266 - Identifier 1880244 1880252 - ExclamationEqualsEqualsToken 1880252 1880256 - Identifier 1880256 1880266 - AmpersandAmpersandToken 1880266 1880269 - CallExpression 1880269 1880322 - Identifier 1880269 1880303 - Identifier 1880304 1880312 - Identifier 1880313 1880321 - BarBarToken 1880322 1880325 - Identifier 1880325 1880335 - FunctionDeclaration 1880343 1880587 - Identifier 1880359 1880384 - Parameter 1880385 1880399 - Identifier 1880385 1880391 - TypeReference 1880392 1880399 - Identifier 1880392 1880399 - Block 1880400 1880587 - ReturnStatement 1880402 1880580 - PrefixUnaryExpression 1880418 1880579 - PrefixUnaryExpression 1880420 1880579 - ParenthesizedExpression 1880421 1880579 - BinaryExpression 1880422 1880578 - BinaryExpression 1880422 1880503 - BinaryExpression 1880422 1880463 - CallExpression 1880422 1880443 - Identifier 1880422 1880435 - Identifier 1880436 1880442 - AmpersandToken 1880443 1880445 - PropertyAccessExpression 1880445 1880463 - Identifier 1880445 1880456 - Identifier 1880457 1880463 - AmpersandAmpersandToken 1880463 1880466 - PrefixUnaryExpression 1880466 1880503 - PropertyAccessExpression 1880468 1880503 - PropertyAccessExpression 1880468 1880498 - ParenthesizedExpression 1880468 1880492 - AsExpression 1880469 1880491 - Identifier 1880469 1880475 - TypeReference 1880478 1880491 - Identifier 1880478 1880491 - Identifier 1880493 1880498 - Identifier 1880499 1880503 - AmpersandAmpersandToken 1880503 1880506 - BinaryExpression 1880506 1880578 - CallExpression 1880506 1880573 - Identifier 1880506 1880536 - Identifier 1880537 1880543 - PropertyAccessExpression 1880544 1880572 - Identifier 1880544 1880567 - Identifier 1880568 1880572 - GreaterThanEqualsToken 1880573 1880576 - NumericLiteral 1880576 1880578 - FunctionDeclaration 1880587 1881331 - Identifier 1880603 1880632 - Parameter 1880633 1880649 - Identifier 1880633 1880643 - TypeReference 1880644 1880649 - Identifier 1880644 1880649 - Parameter 1880650 1880673 - Identifier 1880650 1880667 - TypeReference 1880668 1880673 - Identifier 1880668 1880673 - BooleanKeyword 1880675 1880683 - Block 1880683 1881331 - IfStatement 1880685 1881110 - BinaryExpression 1880699 1880739 - PropertyAccessExpression 1880699 1880715 - Identifier 1880699 1880709 - Identifier 1880710 1880715 - AmpersandToken 1880715 1880717 - PropertyAccessExpression 1880717 1880739 - Identifier 1880717 1880727 - Identifier 1880728 1880739 - Block 1880740 1881110 - VariableStatement 1880742 1880799 - VariableDeclarationList 1880742 1880798 - VariableDeclaration 1880761 1880798 - Identifier 1880761 1880766 - AsExpression 1880768 1880798 - Identifier 1880768 1880779 - TypeReference 1880782 1880798 - Identifier 1880782 1880798 - ReturnStatement 1880799 1881099 - BinaryExpression 1880819 1881098 - BinaryExpression 1880819 1881023 - PrefixUnaryExpression 1880819 1880900 - PrefixUnaryExpression 1880821 1880900 - ParenthesizedExpression 1880822 1880900 - BinaryExpression 1880823 1880899 - PropertyAccessExpression 1880823 1880881 - CallExpression 1880823 1880875 - Identifier 1880823 1880837 - CallExpression 1880838 1880874 - Identifier 1880838 1880868 - Identifier 1880869 1880873 - Identifier 1880876 1880881 - AmpersandToken 1880881 1880883 - PropertyAccessExpression 1880883 1880899 - Identifier 1880883 1880893 - Identifier 1880894 1880899 - AmpersandAmpersandToken 1880900 1880903 - BinaryExpression 1880903 1881023 - CallExpression 1880903 1880981 - Identifier 1880903 1880942 - CallExpression 1880943 1880980 - Identifier 1880943 1880974 - Identifier 1880975 1880979 - EqualsEqualsEqualsToken 1880981 1880985 - CallExpression 1880985 1881023 - Identifier 1880985 1881007 - PropertyAccessExpression 1881008 1881022 - Identifier 1881008 1881012 - Identifier 1881013 1881022 - AmpersandAmpersandToken 1881023 1881026 - CallExpression 1881026 1881098 - Identifier 1881026 1881062 - Identifier 1881063 1881079 - PropertyAccessExpression 1881080 1881097 - Identifier 1881080 1881085 - Identifier 1881086 1881097 - IfStatement 1881110 1881301 - BinaryExpression 1881124 1881165 - PropertyAccessExpression 1881124 1881140 - Identifier 1881124 1881134 - Identifier 1881135 1881140 - AmpersandToken 1881140 1881142 - PropertyAccessExpression 1881142 1881165 - Identifier 1881142 1881152 - Identifier 1881153 1881165 - Block 1881166 1881301 - ReturnStatement 1881168 1881290 - CallExpression 1881188 1881289 - Identifier 1881188 1881193 - PropertyAccessExpression 1881194 1881232 - ParenthesizedExpression 1881194 1881226 - AsExpression 1881195 1881225 - Identifier 1881195 1881205 - TypeReference 1881208 1881225 - Identifier 1881208 1881225 - Identifier 1881227 1881232 - ArrowFunction 1881233 1881288 - Parameter 1881233 1881235 - Identifier 1881233 1881235 - EqualsGreaterThanToken 1881235 1881238 - CallExpression 1881238 1881288 - Identifier 1881238 1881267 - Identifier 1881268 1881269 - Identifier 1881270 1881287 - ReturnStatement 1881301 1881324 - FalseKeyword 1881317 1881323 - FunctionDeclaration 1881331 1883991 - Identifier 1881347 1881381 - Parameter 1881382 1881392 - Identifier 1881382 1881386 - TypeReference 1881387 1881392 - Identifier 1881387 1881392 - Parameter 1881393 1881408 - Identifier 1881393 1881398 - TypeReference 1881399 1881408 - Identifier 1881399 1881408 - Parameter 1881409 1881425 - Identifier 1881409 1881418 - QuestionToken 1881418 1881419 - TypeReference 1881420 1881425 - Identifier 1881420 1881425 - Block 1881426 1883991 - ReturnStatement 1881428 1883984 - CallExpression 1881444 1883983 - Identifier 1881444 1881452 - Identifier 1881453 1881457 - ArrowFunction 1881458 1883959 - Parameter 1881458 1881460 - Identifier 1881458 1881460 - EqualsGreaterThanToken 1881460 1881463 - Block 1881463 1883959 - IfStatement 1881465 1883525 - BinaryExpression 1881483 1881515 - PropertyAccessExpression 1881483 1881490 - Identifier 1881483 1881484 - Identifier 1881485 1881490 - AmpersandToken 1881490 1881492 - PropertyAccessExpression 1881492 1881515 - Identifier 1881492 1881502 - Identifier 1881503 1881515 - Block 1881516 1883525 - VariableStatement 1881518 1881566 - VariableDeclarationList 1881518 1881565 - VariableDeclaration 1881539 1881565 - Identifier 1881539 1881545 - UnionType 1881546 1881565 - ArrayType 1881546 1881553 - TypeReference 1881546 1881551 - Identifier 1881546 1881551 - UndefinedKeyword 1881555 1881565 - VariableStatement 1881566 1881628 - VariableDeclarationList 1881566 1881627 - VariableDeclaration 1881587 1881627 - Identifier 1881587 1881607 - UnionType 1881608 1881627 - ArrayType 1881608 1881615 - TypeReference 1881608 1881613 - Identifier 1881608 1881613 - UndefinedKeyword 1881617 1881627 - VariableStatement 1881628 1881675 - VariableDeclarationList 1881628 1881674 - VariableDeclaration 1881649 1881674 - Identifier 1881649 1881666 - FalseKeyword 1881668 1881674 - ForOfStatement 1881675 1882916 - VariableDeclarationList 1881698 1881719 - VariableDeclaration 1881703 1881719 - Identifier 1881703 1881719 - PropertyAccessExpression 1881722 1881752 - ParenthesizedExpression 1881722 1881746 - AsExpression 1881724 1881745 - Identifier 1881724 1881725 - TypeReference 1881728 1881745 - Identifier 1881728 1881745 - Identifier 1881747 1881752 - Block 1881753 1882916 - IfStatement 1881755 1881885 - PrefixUnaryExpression 1881781 1881824 - ParenthesizedExpression 1881782 1881824 - BinaryExpression 1881783 1881823 - PropertyAccessExpression 1881783 1881804 - Identifier 1881783 1881798 - Identifier 1881799 1881804 - AmpersandToken 1881804 1881806 - PropertyAccessExpression 1881806 1881823 - Identifier 1881806 1881816 - Identifier 1881817 1881823 - Block 1881825 1881885 - ContinueStatement 1881827 1881862 - IfStatement 1881885 1882324 - BinaryExpression 1881911 1882030 - CallExpression 1881911 1881947 - Identifier 1881911 1881930 - Identifier 1881931 1881946 - AmpersandAmpersandToken 1881947 1881950 - BinaryExpression 1881950 1882030 - CallExpression 1881950 1881993 - Identifier 1881950 1881976 - Identifier 1881977 1881992 - ExclamationEqualsEqualsToken 1881993 1881997 - PropertyAccessExpression 1881997 1882030 - Identifier 1881997 1882020 - Identifier 1882021 1882030 - Block 1882031 1882324 - VariableStatement 1882033 1882168 - VariableDeclarationList 1882033 1882167 - VariableDeclaration 1882064 1882167 - Identifier 1882064 1882080 - CallExpression 1882082 1882167 - Identifier 1882082 1882134 - Identifier 1882135 1882150 - Identifier 1882151 1882156 - Identifier 1882157 1882166 - ExpressionStatement 1882168 1882266 - BinaryExpression 1882168 1882265 - Identifier 1882168 1882199 - EqualsToken 1882199 1882201 - CallExpression 1882201 1882265 - Identifier 1882201 1882241 - Identifier 1882242 1882247 - Identifier 1882248 1882264 - ContinueStatement 1882266 1882301 - VariableStatement 1882324 1882432 - VariableDeclarationList 1882324 1882431 - VariableDeclaration 1882351 1882431 - Identifier 1882351 1882364 - CallExpression 1882366 1882431 - Identifier 1882366 1882408 - Identifier 1882409 1882424 - Identifier 1882425 1882430 - IfStatement 1882432 1882706 - PrefixUnaryExpression 1882458 1882471 - Identifier 1882459 1882471 - Block 1882472 1882706 - IfStatement 1882474 1882648 - PrefixUnaryExpression 1882504 1882521 - Identifier 1882505 1882521 - Block 1882522 1882648 - ExpressionStatement 1882524 1882621 - BinaryExpression 1882524 1882620 - Identifier 1882524 1882573 - EqualsToken 1882573 1882575 - CallExpression 1882575 1882620 - Identifier 1882575 1882582 - Identifier 1882583 1882602 - Identifier 1882603 1882619 - ContinueStatement 1882648 1882683 - ExpressionStatement 1882706 1882752 - BinaryExpression 1882706 1882751 - Identifier 1882706 1882744 - EqualsToken 1882744 1882746 - TrueKeyword 1882746 1882751 - ExpressionStatement 1882752 1882806 - BinaryExpression 1882752 1882805 - Identifier 1882752 1882793 - EqualsToken 1882793 1882795 - Identifier 1882795 1882805 - ExpressionStatement 1882806 1882897 - BinaryExpression 1882806 1882896 - Identifier 1882806 1882833 - EqualsToken 1882833 1882835 - CallExpression 1882835 1882896 - Identifier 1882835 1882875 - Identifier 1882876 1882881 - Identifier 1882882 1882895 - IfStatement 1882916 1883279 - Identifier 1882938 1882957 - Block 1882958 1883279 - ForOfStatement 1882960 1883260 - VariableDeclarationList 1882987 1883002 - VariableDeclaration 1882992 1883002 - Identifier 1882992 1883002 - Identifier 1883005 1883025 - Block 1883026 1883260 - VariableStatement 1883028 1883141 - VariableDeclarationList 1883028 1883140 - VariableDeclaration 1883059 1883140 - Identifier 1883059 1883073 - CallExpression 1883075 1883140 - Identifier 1883075 1883113 - Identifier 1883114 1883123 - Identifier 1883124 1883129 - Identifier 1883130 1883139 - ExpressionStatement 1883141 1883237 - BinaryExpression 1883141 1883236 - Identifier 1883141 1883172 - EqualsToken 1883172 1883174 - CallExpression 1883174 1883236 - Identifier 1883174 1883214 - Identifier 1883215 1883220 - Identifier 1883221 1883235 - IfStatement 1883279 1883358 - PrefixUnaryExpression 1883301 1883307 - Identifier 1883302 1883307 - Block 1883308 1883358 - ReturnStatement 1883310 1883339 - IfStatement 1883358 1883458 - BinaryExpression 1883380 1883398 - PropertyAccessExpression 1883380 1883392 - Identifier 1883380 1883385 - Identifier 1883386 1883392 - EqualsEqualsEqualsToken 1883392 1883396 - NumericLiteral 1883396 1883398 - Block 1883399 1883458 - ReturnStatement 1883401 1883439 - ElementAccessExpression 1883429 1883438 - Identifier 1883429 1883435 - NumericLiteral 1883436 1883437 - ReturnStatement 1883458 1883510 - CallExpression 1883482 1883509 - Identifier 1883482 1883502 - Identifier 1883503 1883508 - IfStatement 1883525 1883615 - PrefixUnaryExpression 1883543 1883572 - ParenthesizedExpression 1883544 1883572 - BinaryExpression 1883545 1883571 - PropertyAccessExpression 1883545 1883552 - Identifier 1883545 1883546 - Identifier 1883547 1883552 - AmpersandToken 1883552 1883554 - PropertyAccessExpression 1883554 1883571 - Identifier 1883554 1883564 - Identifier 1883565 1883571 - Block 1883573 1883615 - ReturnStatement 1883575 1883600 - ReturnStatement 1883615 1883948 - ConditionalExpression 1883635 1883947 - BinaryExpression 1883635 1883727 - CallExpression 1883635 1883658 - Identifier 1883635 1883655 - Identifier 1883656 1883657 - AmpersandAmpersandToken 1883658 1883661 - BinaryExpression 1883661 1883727 - CallExpression 1883661 1883690 - Identifier 1883661 1883687 - Identifier 1883688 1883689 - ExclamationEqualsEqualsToken 1883690 1883694 - PropertyAccessExpression 1883694 1883727 - Identifier 1883694 1883717 - Identifier 1883718 1883727 - QuestionToken 1883727 1883746 - CallExpression 1883746 1883817 - Identifier 1883746 1883798 - Identifier 1883799 1883800 - Identifier 1883801 1883806 - Identifier 1883807 1883816 - ColonToken 1883817 1883836 - BinaryExpression 1883836 1883947 - CallExpression 1883836 1883887 - Identifier 1883836 1883878 - Identifier 1883879 1883880 - Identifier 1883881 1883886 - QuestionQuestionToken 1883887 1883890 - CallExpression 1883890 1883947 - Identifier 1883890 1883928 - Identifier 1883929 1883930 - Identifier 1883931 1883936 - Identifier 1883937 1883946 - TrueKeyword 1883960 1883982 - FunctionDeclaration 1883991 1884570 - Identifier 1884007 1884047 - Parameter 1884048 1884073 - Identifier 1884048 1884053 - UnionType 1884054 1884073 - ArrayType 1884054 1884061 - TypeReference 1884054 1884059 - Identifier 1884054 1884059 - UndefinedKeyword 1884063 1884073 - Parameter 1884074 1884097 - Identifier 1884074 1884079 - UnionType 1884080 1884097 - TypeReference 1884080 1884085 - Identifier 1884080 1884085 - UndefinedKeyword 1884087 1884097 - Block 1884098 1884570 - ReturnStatement 1884100 1884563 - ConditionalExpression 1884484 1884562 - Identifier 1884484 1884489 - QuestionToken 1884489 1884491 - CallExpression 1884491 1884554 - Identifier 1884491 1884498 - Identifier 1884499 1884504 - ConditionalExpression 1884505 1884553 - BinaryExpression 1884505 1884532 - PropertyAccessExpression 1884505 1884516 - Identifier 1884505 1884510 - Identifier 1884511 1884516 - AmpersandToken 1884516 1884518 - PropertyAccessExpression 1884518 1884532 - Identifier 1884518 1884528 - Identifier 1884529 1884532 - QuestionToken 1884532 1884534 - Identifier 1884534 1884546 - ColonToken 1884546 1884548 - Identifier 1884548 1884553 - ColonToken 1884554 1884556 - Identifier 1884556 1884562 - FunctionDeclaration 1884570 1885415 - Identifier 1884586 1884638 - Parameter 1884639 1884655 - Identifier 1884639 1884643 - TypeReference 1884644 1884655 - Identifier 1884644 1884655 - Parameter 1884656 1884671 - Identifier 1884656 1884661 - TypeReference 1884662 1884671 - Identifier 1884662 1884671 - Parameter 1884672 1884699 - Identifier 1884672 1884681 - UnionType 1884682 1884699 - TypeReference 1884682 1884687 - Identifier 1884682 1884687 - UndefinedKeyword 1884689 1884699 - Block 1884700 1885415 - VariableStatement 1884702 1884804 - VariableDeclarationList 1884702 1884803 - VariableDeclaration 1884717 1884803 - Identifier 1884717 1884734 - BinaryExpression 1884736 1884803 - Identifier 1884736 1884745 - BarBarToken 1884745 1884748 - CallExpression 1884748 1884803 - Identifier 1884748 1884769 - CallExpression 1884770 1884802 - Identifier 1884770 1884796 - Identifier 1884797 1884801 - VariableStatement 1884804 1884871 - VariableDeclarationList 1884804 1884870 - VariableDeclaration 1884819 1884870 - Identifier 1884819 1884830 - CallExpression 1884832 1884870 - Identifier 1884832 1884864 - Identifier 1884865 1884869 - IfStatement 1884871 1885138 - BinaryExpression 1884963 1885103 - BinaryExpression 1884963 1885041 - PropertyAccessExpression 1884963 1884976 - Identifier 1884963 1884967 - Identifier 1884968 1884976 - AmpersandAmpersandToken 1884976 1884979 - CallExpression 1884979 1885041 - Identifier 1884979 1885008 - PropertyAccessExpression 1885009 1885022 - Identifier 1885009 1885013 - Identifier 1885014 1885022 - Identifier 1885023 1885040 - BarBarToken 1885041 1885044 - CallExpression 1885044 1885103 - Identifier 1885044 1885073 - Identifier 1885074 1885084 - Identifier 1885085 1885102 - Block 1885104 1885138 - ReturnStatement 1885106 1885127 - VariableStatement 1885138 1885229 - VariableDeclarationList 1885138 1885228 - VariableDeclaration 1885153 1885228 - Identifier 1885153 1885176 - BinaryExpression 1885178 1885228 - CallExpression 1885178 1885214 - Identifier 1885178 1885202 - Identifier 1885203 1885213 - BarBarToken 1885214 1885217 - Identifier 1885217 1885228 - IfStatement 1885229 1885339 - PrefixUnaryExpression 1885243 1885304 - CallExpression 1885244 1885304 - Identifier 1885244 1885262 - Identifier 1885263 1885279 - Identifier 1885280 1885303 - Block 1885305 1885339 - ReturnStatement 1885307 1885328 - ReturnStatement 1885339 1885408 - CallExpression 1885355 1885407 - Identifier 1885355 1885383 - Identifier 1885384 1885388 - Identifier 1885389 1885406 - FunctionDeclaration 1885415 1885748 - Identifier 1885431 1885473 - Parameter 1885474 1885484 - Identifier 1885474 1885478 - TypeReference 1885479 1885484 - Identifier 1885479 1885484 - Parameter 1885485 1885500 - Identifier 1885485 1885490 - TypeReference 1885491 1885500 - Identifier 1885491 1885500 - Block 1885501 1885748 - VariableStatement 1885503 1885556 - VariableDeclarationList 1885503 1885555 - VariableDeclaration 1885518 1885555 - Identifier 1885518 1885523 - CallExpression 1885525 1885555 - Identifier 1885525 1885543 - Identifier 1885544 1885548 - Identifier 1885549 1885554 - IfStatement 1885556 1885644 - BinaryExpression 1885570 1885609 - PrefixUnaryExpression 1885570 1885575 - Identifier 1885571 1885575 - BarBarToken 1885575 1885578 - CallExpression 1885578 1885609 - Identifier 1885578 1885603 - Identifier 1885604 1885608 - Block 1885610 1885644 - ReturnStatement 1885612 1885633 - ReturnStatement 1885644 1885741 - CallExpression 1885660 1885740 - Identifier 1885660 1885678 - CallExpression 1885679 1885700 - Identifier 1885679 1885694 - Identifier 1885695 1885699 - PrefixUnaryExpression 1885701 1885739 - PrefixUnaryExpression 1885703 1885739 - ParenthesizedExpression 1885704 1885739 - BinaryExpression 1885705 1885738 - PropertyAccessExpression 1885705 1885715 - Identifier 1885705 1885709 - Identifier 1885710 1885715 - AmpersandToken 1885715 1885717 - PropertyAccessExpression 1885717 1885738 - Identifier 1885717 1885729 - Identifier 1885730 1885738 - FunctionDeclaration 1885748 1886343 - Identifier 1885764 1885802 - Parameter 1885803 1885813 - Identifier 1885803 1885807 - TypeReference 1885808 1885813 - Identifier 1885808 1885813 - Parameter 1885814 1885829 - Identifier 1885814 1885819 - TypeReference 1885820 1885829 - Identifier 1885820 1885829 - Parameter 1885830 1885857 - Identifier 1885830 1885839 - UnionType 1885840 1885857 - TypeReference 1885840 1885845 - Identifier 1885840 1885845 - UndefinedKeyword 1885847 1885857 - Block 1885858 1886343 - IfStatement 1885860 1886184 - BinaryExpression 1885874 1885935 - BinaryExpression 1885874 1885921 - CallExpression 1885874 1885891 - Identifier 1885874 1885885 - Identifier 1885886 1885890 - AmpersandAmpersandToken 1885891 1885894 - CallExpression 1885894 1885921 - Identifier 1885894 1885915 - Identifier 1885916 1885920 - AmpersandAmpersandToken 1885921 1885924 - BinaryExpression 1885924 1885935 - PrefixUnaryExpression 1885924 1885930 - Identifier 1885926 1885930 - GreaterThanEqualsToken 1885930 1885933 - NumericLiteral 1885933 1885935 - Block 1885936 1886184 - VariableStatement 1885938 1886095 - VariableDeclarationList 1885938 1886094 - VariableDeclaration 1885957 1886094 - Identifier 1885957 1885966 - CallExpression 1885968 1886094 - Identifier 1885968 1886001 - Identifier 1886002 1886006 - PropertyAccessExpression 1886007 1886031 - PropertyAccessExpression 1886007 1886019 - Identifier 1886007 1886012 - Identifier 1886013 1886019 - Identifier 1886020 1886031 - NumericLiteral 1886032 1886051 - FalseKeyword 1886052 1886070 - TrueKeyword 1886071 1886093 - IfStatement 1886095 1886173 - Identifier 1886113 1886121 - Block 1886122 1886173 - ReturnStatement 1886124 1886158 - Identifier 1886148 1886157 - ReturnStatement 1886184 1886336 - PropertyAccessExpression 1886200 1886335 - CallExpression 1886200 1886329 - Identifier 1886200 1886224 - CallExpression 1886225 1886260 - Identifier 1886225 1886254 - Identifier 1886255 1886259 - BinaryExpression 1886261 1886328 - Identifier 1886261 1886270 - BarBarToken 1886270 1886273 - CallExpression 1886273 1886328 - Identifier 1886273 1886294 - CallExpression 1886295 1886327 - Identifier 1886295 1886321 - Identifier 1886322 1886326 - QuestionDotToken 1886329 1886331 - Identifier 1886331 1886335 - FunctionDeclaration 1886343 1887153 - Identifier 1886694 1886734 - Parameter 1886735 1886758 - Identifier 1886735 1886739 - TypeReference 1886740 1886758 - Identifier 1886740 1886758 - Parameter 1886759 1886798 - Identifier 1886759 1886772 - UnionType 1886773 1886798 - TypeReference 1886773 1886786 - Identifier 1886773 1886786 - UndefinedKeyword 1886788 1886798 - UnionType 1886800 1886817 - TypeReference 1886800 1886805 - Identifier 1886800 1886805 - UndefinedKeyword 1886807 1886817 - Block 1886817 1887153 - ExpressionStatement 1886819 1886871 - CallExpression 1886819 1886870 - PropertyAccessExpression 1886819 1886841 - Identifier 1886819 1886834 - Identifier 1886835 1886841 - CallExpression 1886842 1886869 - Identifier 1886842 1886863 - Identifier 1886864 1886868 - IfStatement 1886871 1887068 - BinaryExpression 1886885 1886923 - PropertyAccessExpression 1886885 1886895 - Identifier 1886885 1886889 - Identifier 1886890 1886895 - AmpersandToken 1886895 1886897 - PropertyAccessExpression 1886897 1886923 - Identifier 1886897 1886907 - Identifier 1886908 1886923 - Block 1886924 1887068 - ReturnStatement 1886926 1887057 - Identifier 1887046 1887056 - ReturnStatement 1887068 1887146 - CallExpression 1887084 1887145 - Identifier 1887084 1887125 - Identifier 1887126 1887130 - Identifier 1887131 1887144 - FunctionDeclaration 1887153 1889140 - Identifier 1887169 1887210 - Parameter 1887211 1887244 - Identifier 1887211 1887218 - TypeReference 1887219 1887244 - Identifier 1887219 1887244 - Parameter 1887245 1887284 - Identifier 1887245 1887258 - UnionType 1887259 1887284 - TypeReference 1887259 1887272 - Identifier 1887259 1887272 - UndefinedKeyword 1887274 1887284 - Block 1887285 1889140 - VariableStatement 1887287 1887361 - VariableDeclarationList 1887287 1887360 - VariableDeclaration 1887302 1887360 - Identifier 1887302 1887316 - AsExpression 1887318 1887360 - PropertyAccessExpression 1887318 1887333 - Identifier 1887318 1887326 - Identifier 1887327 1887333 - TypeReference 1887336 1887360 - Identifier 1887336 1887360 - VariableStatement 1887361 1887502 - VariableDeclarationList 1887361 1887501 - VariableDeclaration 1887376 1887501 - Identifier 1887376 1887399 - BinaryExpression 1887401 1887501 - CallExpression 1887401 1887431 - Identifier 1887401 1887422 - Identifier 1887423 1887430 - AmpersandAmpersandToken 1887431 1887434 - CallExpression 1887434 1887501 - Identifier 1887434 1887478 - Identifier 1887479 1887486 - Identifier 1887487 1887500 - IfStatement 1887502 1887596 - Identifier 1887516 1887538 - Block 1887539 1887596 - ReturnStatement 1887541 1887585 - Identifier 1887561 1887584 - VariableStatement 1887596 1887680 - VariableDeclarationList 1887596 1887679 - VariableDeclaration 1887611 1887679 - Identifier 1887611 1887616 - CallExpression 1887618 1887679 - Identifier 1887618 1887650 - Identifier 1887651 1887664 - Identifier 1887665 1887678 - IfStatement 1887680 1889106 - Identifier 1887694 1887698 - Block 1887699 1889106 - IfStatement 1887701 1888166 - CallExpression 1887719 1887743 - Identifier 1887719 1887734 - Identifier 1887735 1887742 - Block 1887744 1888166 - VariableStatement 1887746 1888033 - VariableDeclarationList 1887746 1888032 - VariableDeclaration 1887991 1888032 - Identifier 1887991 1887998 - CallExpression 1888000 1888032 - Identifier 1888000 1888023 - Identifier 1888024 1888031 - ReturnStatement 1888033 1888151 - CallExpression 1888057 1888150 - Identifier 1888057 1888091 - Identifier 1888092 1888096 - PropertyAccessExpression 1888097 1888116 - Identifier 1888097 1888104 - Identifier 1888105 1888116 - PropertyAccessExpression 1888117 1888149 - CallExpression 1888117 1888140 - Identifier 1888117 1888132 - Identifier 1888133 1888139 - Identifier 1888141 1888149 - IfStatement 1888166 1888694 - CallExpression 1888184 1888207 - Identifier 1888184 1888198 - Identifier 1888199 1888206 - Block 1888208 1888694 - VariableStatement 1888210 1888271 - VariableDeclarationList 1888210 1888270 - VariableDeclaration 1888233 1888270 - Identifier 1888233 1888238 - CallExpression 1888240 1888270 - Identifier 1888240 1888261 - Identifier 1888262 1888269 - IfStatement 1888271 1888679 - BinaryExpression 1888293 1888329 - Identifier 1888293 1888297 - AmpersandAmpersandToken 1888297 1888300 - CallExpression 1888300 1888329 - Identifier 1888300 1888323 - Identifier 1888324 1888328 - Block 1888330 1888679 - VariableStatement 1888332 1888404 - VariableDeclarationList 1888332 1888403 - VariableDeclaration 1888359 1888403 - Identifier 1888359 1888368 - CallExpression 1888370 1888403 - Identifier 1888370 1888386 - PropertyAccessExpression 1888387 1888402 - Identifier 1888387 1888391 - Identifier 1888392 1888402 - VariableStatement 1888404 1888558 - VariableDeclarationList 1888404 1888557 - VariableDeclaration 1888431 1888557 - Identifier 1888431 1888440 - BinaryExpression 1888442 1888557 - CallExpression 1888442 1888479 - Identifier 1888442 1888469 - Identifier 1888470 1888478 - AmpersandAmpersandToken 1888479 1888482 - CallExpression 1888482 1888557 - Identifier 1888482 1888516 - Identifier 1888517 1888521 - CallExpression 1888522 1888556 - Identifier 1888522 1888546 - Identifier 1888547 1888555 - IfStatement 1888558 1888660 - Identifier 1888584 1888592 - Block 1888593 1888660 - ReturnStatement 1888595 1888637 - Identifier 1888627 1888636 - IfStatement 1888694 1889095 - PropertyAccessExpression 1888712 1888724 - Identifier 1888712 1888719 - Identifier 1888720 1888724 - Block 1888725 1889095 - VariableStatement 1888727 1888807 - VariableDeclarationList 1888727 1888806 - VariableDeclaration 1888750 1888806 - Identifier 1888750 1888759 - CallExpression 1888761 1888806 - Identifier 1888761 1888792 - PropertyAccessExpression 1888793 1888805 - Identifier 1888793 1888800 - Identifier 1888801 1888805 - ReturnStatement 1888807 1889080 - CallExpression 1888962 1889079 - Identifier 1888962 1888970 - Identifier 1888971 1888975 - ArrowFunction 1888976 1889055 - Parameter 1888976 1888978 - Identifier 1888976 1888978 - EqualsGreaterThanToken 1888978 1888981 - PropertyAccessExpression 1888981 1889055 - CallExpression 1888981 1889049 - Identifier 1888981 1889005 - CallExpression 1889006 1889038 - Identifier 1889006 1889035 - Identifier 1889036 1889037 - Identifier 1889039 1889048 - QuestionDotToken 1889049 1889051 - Identifier 1889051 1889055 - TrueKeyword 1889056 1889078 - ReturnStatement 1889106 1889133 - Identifier 1889122 1889132 - FunctionDeclaration 1889140 1889453 - Identifier 1889156 1889173 - Parameter 1889174 1889199 - Identifier 1889174 1889182 - TypeOperator 1889183 1889199 - ArrayType 1889192 1889199 - TypeReference 1889192 1889197 - Identifier 1889192 1889197 - Block 1889200 1889453 - VariableStatement 1889202 1889228 - VariableDeclarationList 1889202 1889227 - VariableDeclaration 1889215 1889221 - Identifier 1889215 1889221 - VariableDeclaration 1889222 1889227 - Identifier 1889222 1889227 - ForStatement 1889228 1889413 - VariableDeclarationList 1889243 1889252 - VariableDeclaration 1889246 1889252 - Identifier 1889246 1889248 - NumericLiteral 1889250 1889252 - BinaryExpression 1889253 1889273 - Identifier 1889253 1889255 - LessThanToken 1889255 1889257 - PropertyAccessExpression 1889257 1889273 - Identifier 1889257 1889266 - Identifier 1889267 1889273 - PostfixUnaryExpression 1889274 1889278 - Identifier 1889274 1889276 - Block 1889279 1889413 - IfStatement 1889281 1889402 - CallExpression 1889299 1889327 - Identifier 1889299 1889314 - ElementAccessExpression 1889315 1889326 - Identifier 1889315 1889323 - Identifier 1889324 1889325 - Block 1889328 1889402 - ExpressionStatement 1889330 1889360 - BinaryExpression 1889330 1889359 - Identifier 1889330 1889353 - QuestionQuestionEqualsToken 1889353 1889357 - Identifier 1889357 1889359 - ExpressionStatement 1889360 1889387 - BinaryExpression 1889360 1889386 - Identifier 1889360 1889382 - EqualsToken 1889382 1889384 - Identifier 1889384 1889386 - ReturnStatement 1889413 1889446 - ObjectLiteralExpression 1889429 1889445 - ShorthandPropertyAssignment 1889431 1889437 - Identifier 1889431 1889437 - ShorthandPropertyAssignment 1889438 1889443 - Identifier 1889438 1889443 - FunctionDeclaration 1889453 1891984 - Identifier 1889469 1889507 - Parameter 1889508 1889530 - Identifier 1889508 1889512 - UnionType 1889513 1889530 - TypeReference 1889513 1889518 - Identifier 1889513 1889518 - UndefinedKeyword 1889520 1889530 - Parameter 1889531 1889545 - Identifier 1889531 1889537 - NumberKeyword 1889538 1889545 - Parameter 1889546 1889562 - Identifier 1889546 1889553 - QuestionToken 1889553 1889554 - NumberKeyword 1889555 1889562 - Parameter 1889563 1889589 - Identifier 1889563 1889580 - QuestionToken 1889580 1889581 - NumberKeyword 1889582 1889589 - Parameter 1889590 1889615 - Identifier 1889590 1889606 - QuestionToken 1889606 1889607 - NumberKeyword 1889608 1889615 - UnionType 1889617 1889634 - TypeReference 1889617 1889622 - Identifier 1889617 1889622 - UndefinedKeyword 1889624 1889634 - Block 1889634 1891984 - ReturnStatement 1889636 1891977 - BinaryExpression 1889652 1891976 - Identifier 1889652 1889657 - AmpersandAmpersandToken 1889657 1889660 - CallExpression 1889660 1891976 - Identifier 1889660 1889668 - Identifier 1889669 1889673 - ArrowFunction 1889674 1891952 - Parameter 1889674 1889676 - Identifier 1889674 1889676 - EqualsGreaterThanToken 1889676 1889679 - Block 1889679 1891952 - IfStatement 1889681 1891476 - CallExpression 1889699 1889713 - Identifier 1889699 1889710 - Identifier 1889711 1889712 - Block 1889714 1891476 - IfStatement 1889716 1890169 - BinaryExpression 1889921 1890013 - ParenthesizedExpression 1889921 1889981 - BinaryExpression 1889922 1889980 - BinaryExpression 1889922 1889952 - Identifier 1889922 1889938 - EqualsEqualsEqualsToken 1889938 1889942 - Identifier 1889942 1889952 - BarBarToken 1889952 1889955 - BinaryExpression 1889955 1889980 - Identifier 1889955 1889961 - LessThanToken 1889961 1889963 - Identifier 1889963 1889980 - AmpersandAmpersandToken 1889981 1889984 - BinaryExpression 1889984 1890013 - Identifier 1889984 1889990 - LessThanToken 1889990 1889992 - PropertyAccessExpression 1889992 1890013 - PropertyAccessExpression 1889992 1890001 - Identifier 1889992 1889994 - Identifier 1889995 1890001 - Identifier 1890002 1890013 - Block 1890014 1890169 - ReturnStatement 1890016 1890150 - CallExpression 1890044 1890149 - Identifier 1890044 1890062 - ElementAccessExpression 1890063 1890089 - CallExpression 1890063 1890082 - Identifier 1890063 1890079 - Identifier 1890080 1890081 - Identifier 1890083 1890088 - PrefixUnaryExpression 1890090 1890148 - PrefixUnaryExpression 1890092 1890148 - ParenthesizedExpression 1890093 1890148 - BinaryExpression 1890094 1890147 - ElementAccessExpression 1890094 1890122 - PropertyAccessExpression 1890094 1890115 - PropertyAccessExpression 1890094 1890102 - Identifier 1890094 1890095 - Identifier 1890096 1890102 - Identifier 1890103 1890115 - Identifier 1890116 1890121 - AmpersandAmpersandToken 1890122 1890125 - PropertyAccessExpression 1890125 1890147 - Identifier 1890125 1890138 - Identifier 1890139 1890147 - VariableStatement 1890169 1890534 - VariableDeclarationList 1890169 1890533 - VariableDeclaration 1890420 1890533 - Identifier 1890420 1890427 - ConditionalExpression 1890429 1890533 - BinaryExpression 1890429 1890512 - BinaryExpression 1890429 1890450 - Identifier 1890429 1890436 - ExclamationEqualsEqualsToken 1890436 1890440 - Identifier 1890440 1890450 - AmpersandAmpersandToken 1890450 1890453 - ParenthesizedExpression 1890453 1890512 - BinaryExpression 1890455 1890511 - BinaryExpression 1890455 1890484 - Identifier 1890455 1890470 - EqualsEqualsEqualsToken 1890470 1890474 - Identifier 1890474 1890484 - BarBarToken 1890484 1890487 - BinaryExpression 1890487 1890511 - Identifier 1890487 1890493 - GreaterThanToken 1890493 1890495 - Identifier 1890495 1890511 - QuestionToken 1890512 1890514 - BinaryExpression 1890514 1890529 - Identifier 1890514 1890521 - MinusToken 1890521 1890523 - Identifier 1890523 1890529 - ColonToken 1890529 1890531 - NumericLiteral 1890531 1890533 - VariableStatement 1890534 1890693 - VariableDeclarationList 1890534 1890692 - VariableDeclaration 1890557 1890692 - Identifier 1890557 1890572 - ConditionalExpression 1890574 1890692 - BinaryExpression 1890574 1890637 - BinaryExpression 1890574 1890585 - Identifier 1890574 1890581 - GreaterThanToken 1890581 1890583 - NumericLiteral 1890583 1890585 - AmpersandAmpersandToken 1890585 1890588 - ParenthesizedExpression 1890588 1890637 - BinaryExpression 1890590 1890636 - PropertyAccessExpression 1890590 1890612 - PropertyAccessExpression 1890590 1890598 - Identifier 1890590 1890591 - Identifier 1890592 1890598 - Identifier 1890599 1890612 - AmpersandToken 1890612 1890614 - PropertyAccessExpression 1890614 1890636 - Identifier 1890614 1890627 - Identifier 1890628 1890636 - QuestionToken 1890637 1890639 - CallExpression 1890639 1890688 - Identifier 1890639 1890658 - PropertyAccessExpression 1890659 1890667 - Identifier 1890659 1890660 - Identifier 1890661 1890667 - PropertyAccessExpression 1890668 1890687 - Identifier 1890668 1890681 - Identifier 1890682 1890687 - ColonToken 1890688 1890690 - NumericLiteral 1890690 1890692 - IfStatement 1890693 1891024 - BinaryExpression 1890880 1890918 - BinaryExpression 1890880 1890890 - Identifier 1890880 1890886 - GreaterThanToken 1890886 1890888 - NumericLiteral 1890888 1890890 - AmpersandAmpersandToken 1890890 1890893 - BinaryExpression 1890893 1890918 - Identifier 1890893 1890900 - LessThanEqualsToken 1890900 1890903 - Identifier 1890903 1890918 - Block 1890919 1891024 - ReturnStatement 1890921 1891005 - ElementAccessExpression 1890949 1891004 - CallExpression 1890949 1890969 - Identifier 1890949 1890966 - Identifier 1890967 1890968 - BinaryExpression 1890970 1891003 - CallExpression 1890970 1890994 - Identifier 1890970 1890991 - Identifier 1890992 1890993 - MinusToken 1890994 1890996 - Identifier 1890996 1891003 - ReturnStatement 1891024 1891461 - CallExpression 1891151 1891460 - Identifier 1891151 1891184 - Identifier 1891185 1891186 - ConditionalExpression 1891187 1891292 - BinaryExpression 1891187 1891218 - Identifier 1891187 1891204 - EqualsEqualsEqualsToken 1891204 1891208 - Identifier 1891208 1891218 - QuestionToken 1891218 1891220 - PropertyAccessExpression 1891220 1891241 - PropertyAccessExpression 1891220 1891229 - Identifier 1891220 1891222 - Identifier 1891223 1891229 - Identifier 1891230 1891241 - ColonToken 1891241 1891243 - CallExpression 1891243 1891292 - PropertyAccessExpression 1891243 1891252 - Identifier 1891243 1891248 - Identifier 1891249 1891252 - PropertyAccessExpression 1891253 1891273 - PropertyAccessExpression 1891253 1891261 - Identifier 1891253 1891254 - Identifier 1891255 1891261 - Identifier 1891262 1891273 - Identifier 1891274 1891291 - ConditionalExpression 1891293 1891417 - BinaryExpression 1891293 1891347 - BinaryExpression 1891293 1891314 - Identifier 1891293 1891300 - EqualsEqualsEqualsToken 1891300 1891304 - Identifier 1891304 1891314 - BarBarToken 1891314 1891317 - BinaryExpression 1891317 1891347 - Identifier 1891317 1891333 - EqualsEqualsEqualsToken 1891333 1891337 - Identifier 1891337 1891347 - QuestionToken 1891347 1891349 - Identifier 1891349 1891364 - ColonToken 1891364 1891366 - CallExpression 1891366 1891417 - PropertyAccessExpression 1891366 1891375 - Identifier 1891366 1891371 - Identifier 1891372 1891375 - Identifier 1891376 1891390 - BinaryExpression 1891391 1891416 - Identifier 1891391 1891398 - MinusToken 1891398 1891400 - Identifier 1891400 1891416 - FalseKeyword 1891418 1891436 - TrueKeyword 1891437 1891459 - ReturnStatement 1891476 1891941 - BinaryExpression 1891684 1891940 - BinaryExpression 1891684 1891796 - ParenthesizedExpression 1891684 1891732 - BinaryExpression 1891686 1891731 - PrefixUnaryExpression 1891686 1891703 - Identifier 1891687 1891703 - BarBarToken 1891703 1891706 - BinaryExpression 1891706 1891731 - Identifier 1891706 1891712 - LessThanToken 1891712 1891714 - Identifier 1891714 1891731 - AmpersandAmpersandToken 1891732 1891735 - CallExpression 1891735 1891796 - Identifier 1891735 1891769 - Identifier 1891770 1891771 - AsExpression 1891772 1891795 - BinaryExpression 1891772 1891783 - StringLiteral 1891772 1891775 - PlusToken 1891775 1891777 - Identifier 1891777 1891783 - TypeReference 1891786 1891795 - Identifier 1891786 1891795 - BarBarToken 1891796 1891799 - CallExpression 1891799 1891940 - Identifier 1891799 1891845 - PropertyAccessExpression 1891846 1891866 - Identifier 1891846 1891858 - Identifier 1891859 1891866 - Identifier 1891867 1891869 - Identifier 1891870 1891884 - Identifier 1891885 1891909 - FalseKeyword 1891910 1891939 - TrueKeyword 1891953 1891975 - FunctionDeclaration 1891984 1892455 - Identifier 1892124 1892163 - Parameter 1892164 1892180 - Identifier 1892164 1892168 - TypeReference 1892169 1892180 - Identifier 1892169 1892180 - Parameter 1892181 1892220 - Identifier 1892181 1892194 - UnionType 1892195 1892220 - TypeReference 1892195 1892208 - Identifier 1892195 1892208 - UndefinedKeyword 1892210 1892220 - UnionType 1892222 1892239 - TypeReference 1892222 1892227 - Identifier 1892222 1892227 - UndefinedKeyword 1892229 1892239 - Block 1892239 1892455 - VariableStatement 1892241 1892308 - VariableDeclarationList 1892241 1892307 - VariableDeclaration 1892256 1892307 - Identifier 1892256 1892268 - AsExpression 1892270 1892307 - PropertyAccessExpression 1892270 1892282 - Identifier 1892270 1892275 - Identifier 1892276 1892282 - TypeReference 1892285 1892307 - Identifier 1892285 1892307 - ReturnStatement 1892308 1892448 - ConditionalExpression 1892324 1892447 - BinaryExpression 1892324 1892388 - BinaryExpression 1892324 1892354 - Identifier 1892324 1892329 - EqualsEqualsEqualsToken 1892329 1892333 - PropertyAccessExpression 1892333 1892354 - Identifier 1892333 1892345 - Identifier 1892346 1892354 - BarBarToken 1892354 1892357 - BinaryExpression 1892357 1892388 - Identifier 1892357 1892362 - EqualsEqualsEqualsToken 1892362 1892366 - PropertyAccessExpression 1892366 1892388 - Identifier 1892366 1892378 - Identifier 1892379 1892388 - QuestionToken 1892388 1892390 - CallExpression 1892390 1892435 - Identifier 1892390 1892408 - Identifier 1892409 1892420 - Identifier 1892421 1892434 - ColonToken 1892435 1892437 - Identifier 1892437 1892447 - FunctionDeclaration 1892455 1893706 - Identifier 1892471 1892510 - Parameter 1892511 1892527 - Identifier 1892511 1892515 - TypeReference 1892516 1892527 - Identifier 1892516 1892527 - Parameter 1892528 1892544 - Identifier 1892528 1892534 - TypeReference 1892535 1892544 - Identifier 1892535 1892544 - Parameter 1892545 1892584 - Identifier 1892545 1892558 - UnionType 1892559 1892584 - TypeReference 1892559 1892572 - Identifier 1892559 1892572 - UndefinedKeyword 1892574 1892584 - Block 1892585 1893706 - VariableStatement 1892587 1892698 - VariableDeclarationList 1892587 1892697 - VariableDeclaration 1892602 1892697 - Identifier 1892602 1892617 - CallExpression 1892619 1892697 - Identifier 1892619 1892651 - PropertyAccessExpression 1892652 1892682 - PropertyAccessExpression 1892652 1892671 - Identifier 1892652 1892656 - Identifier 1892657 1892671 - Identifier 1892672 1892682 - Identifier 1892683 1892696 - VariableStatement 1892698 1892951 - VariableDeclarationList 1892698 1892950 - VariableDeclaration 1892865 1892950 - Identifier 1892865 1892889 - CallExpression 1892891 1892950 - Identifier 1892891 1892925 - CallExpression 1892926 1892949 - Identifier 1892926 1892943 - Identifier 1892944 1892948 - IfStatement 1892951 1893118 - PrefixUnaryExpression 1892965 1893073 - ParenthesizedExpression 1892966 1893073 - BinaryExpression 1892967 1893072 - BinaryExpression 1892967 1893038 - BinaryExpression 1892967 1893011 - Identifier 1892967 1892981 - AmpersandAmpersandToken 1892981 1892984 - PrefixUnaryExpression 1892984 1893011 - CallExpression 1892986 1893011 - Identifier 1892986 1892995 - Identifier 1892996 1893010 - AmpersandAmpersandToken 1893011 1893014 - Identifier 1893014 1893038 - AmpersandAmpersandToken 1893038 1893041 - BinaryExpression 1893041 1893072 - Identifier 1893041 1893065 - ExclamationEqualsEqualsToken 1893065 1893069 - StringLiteral 1893069 1893072 - Block 1893074 1893118 - ReturnStatement 1893076 1893107 - Identifier 1893096 1893106 - VariableStatement 1893118 1893187 - VariableDeclarationList 1893118 1893186 - VariableDeclaration 1893133 1893186 - Identifier 1893133 1893146 - CallExpression 1893148 1893186 - Identifier 1893148 1893171 - PropertyAccessExpression 1893172 1893185 - Identifier 1893172 1893176 - Identifier 1893177 1893185 - VariableStatement 1893187 1893244 - VariableDeclarationList 1893187 1893243 - VariableDeclaration 1893202 1893243 - Identifier 1893202 1893213 - CallExpression 1893215 1893243 - PropertyAccessExpression 1893215 1893236 - Identifier 1893215 1893228 - Identifier 1893229 1893236 - Identifier 1893237 1893242 - VariableStatement 1893244 1893352 - VariableDeclarationList 1893244 1893351 - VariableDeclaration 1893259 1893351 - Identifier 1893259 1893274 - CallExpression 1893276 1893351 - Identifier 1893276 1893310 - Identifier 1893311 1893325 - Identifier 1893326 1893350 - ReturnStatement 1893352 1893699 - BinaryExpression 1893368 1893698 - Identifier 1893368 1893383 - AmpersandAmpersandToken 1893383 1893386 - ParenthesizedExpression 1893386 1893698 - ConditionalExpression 1893388 1893697 - BinaryExpression 1893388 1893413 - PropertyAccessExpression 1893388 1893407 - Identifier 1893388 1893400 - Identifier 1893401 1893407 - EqualsEqualsEqualsToken 1893407 1893411 - NumericLiteral 1893411 1893413 - QuestionToken 1893413 1893415 - Identifier 1893415 1893430 - ColonToken 1893430 1893432 - CallExpression 1893432 1893697 - Identifier 1893432 1893440 - Identifier 1893441 1893455 - ArrowFunction 1893456 1893673 - Parameter 1893456 1893458 - Identifier 1893456 1893458 - EqualsGreaterThanToken 1893458 1893461 - Block 1893461 1893673 - IfStatement 1893463 1893662 - CallExpression 1893481 1893499 - Identifier 1893481 1893496 - Identifier 1893497 1893498 - Block 1893500 1893600 - ReturnStatement 1893502 1893585 - CallExpression 1893526 1893584 - Identifier 1893526 1893547 - Identifier 1893548 1893549 - CallExpression 1893550 1893583 - Identifier 1893550 1893571 - Identifier 1893572 1893582 - Block 1893618 1893662 - ReturnStatement 1893620 1893647 - Identifier 1893644 1893646 - TrueKeyword 1893674 1893696 - FunctionDeclaration 1893706 1894137 - Identifier 1893722 1893756 - Parameter 1893757 1893776 - Identifier 1893757 1893761 - TypeReference 1893762 1893776 - Identifier 1893762 1893776 - Parameter 1893777 1893816 - Identifier 1893777 1893790 - UnionType 1893791 1893816 - TypeReference 1893791 1893804 - Identifier 1893791 1893804 - UndefinedKeyword 1893806 1893816 - UnionType 1893818 1893835 - TypeReference 1893818 1893823 - Identifier 1893818 1893823 - UndefinedKeyword 1893825 1893835 - Block 1893835 1894137 - VariableStatement 1893837 1893878 - VariableDeclarationList 1893837 1893877 - VariableDeclaration 1893852 1893877 - Identifier 1893852 1893863 - PropertyAccessExpression 1893865 1893877 - Identifier 1893865 1893870 - Identifier 1893871 1893877 - ReturnStatement 1893878 1894130 - ConditionalExpression 1893894 1894129 - CallExpression 1893894 1893925 - Identifier 1893894 1893913 - Identifier 1893914 1893924 - QuestionToken 1893925 1893940 - CallExpression 1893940 1893978 - Identifier 1893940 1893958 - Identifier 1893959 1893963 - Identifier 1893964 1893977 - ColonToken 1893978 1893993 - ConditionalExpression 1893993 1894129 - CallExpression 1893993 1894018 - Identifier 1893993 1894006 - Identifier 1894007 1894017 - QuestionToken 1894018 1894033 - CallExpression 1894033 1894104 - Identifier 1894033 1894072 - Identifier 1894073 1894083 - Identifier 1894084 1894089 - Identifier 1894090 1894103 - ColonToken 1894104 1894119 - Identifier 1894119 1894129 - FunctionDeclaration 1894137 1895163 - Identifier 1894153 1894186 - Parameter 1894187 1894231 - Identifier 1894187 1894196 - UnionType 1894197 1894231 - TypeReference 1894197 1894210 - Identifier 1894197 1894210 - TypeReference 1894212 1894231 - Identifier 1894212 1894231 - Parameter 1894232 1894271 - Identifier 1894232 1894245 - UnionType 1894246 1894271 - TypeReference 1894246 1894259 - Identifier 1894246 1894259 - UndefinedKeyword 1894261 1894271 - UnionType 1894273 1894290 - TypeReference 1894273 1894278 - Identifier 1894273 1894278 - UndefinedKeyword 1894280 1894290 - Block 1894290 1895163 - IfStatement 1894292 1895156 - CallExpression 1894682 1894707 - Identifier 1894682 1894696 - Identifier 1894697 1894706 - Block 1894708 1895058 - VariableStatement 1894710 1894811 - VariableDeclarationList 1894710 1894810 - VariableDeclaration 1894729 1894810 - Identifier 1894729 1894744 - CallExpression 1894746 1894810 - Identifier 1894746 1894778 - PropertyAccessExpression 1894779 1894795 - Identifier 1894779 1894788 - Identifier 1894789 1894795 - Identifier 1894796 1894809 - IfStatement 1894811 1894926 - BinaryExpression 1894829 1894873 - PrefixUnaryExpression 1894829 1894844 - Identifier 1894830 1894844 - BarBarToken 1894844 1894847 - CallExpression 1894847 1894873 - Identifier 1894847 1894857 - Identifier 1894858 1894872 - Block 1894874 1894926 - ReturnStatement 1894876 1894911 - Identifier 1894900 1894910 - ReturnStatement 1894926 1895047 - CallExpression 1894946 1895046 - Identifier 1894946 1894980 - Identifier 1894981 1894995 - CallExpression 1894996 1895045 - Identifier 1894996 1895029 - PropertyAccessExpression 1895030 1895044 - Identifier 1895030 1895039 - Identifier 1895040 1895044 - Block 1895072 1895156 - ReturnStatement 1895074 1895145 - CallExpression 1895094 1895144 - Identifier 1895094 1895112 - PropertyAccessExpression 1895113 1895129 - Identifier 1895113 1895122 - Identifier 1895123 1895129 - Identifier 1895130 1895143 - FunctionDeclaration 1895163 1896481 - Identifier 1895458 1895486 - Parameter 1895487 1895503 - Identifier 1895487 1895491 - TypeReference 1895492 1895503 - Identifier 1895492 1895503 - BooleanKeyword 1895505 1895513 - Block 1895513 1896481 - SwitchStatement 1895515 1896451 - PropertyAccessExpression 1895533 1895542 - Identifier 1895533 1895537 - Identifier 1895538 1895542 - CaseBlock 1895543 1896451 - CaseClause 1895545 1895589 - PropertyAccessExpression 1895563 1895588 - Identifier 1895563 1895574 - Identifier 1895575 1895588 - CaseClause 1895589 1895634 - PropertyAccessExpression 1895607 1895633 - Identifier 1895607 1895618 - Identifier 1895619 1895633 - CaseClause 1895634 1895678 - PropertyAccessExpression 1895652 1895677 - Identifier 1895652 1895663 - Identifier 1895664 1895677 - CaseClause 1895678 1895738 - PropertyAccessExpression 1895696 1895737 - Identifier 1895696 1895707 - Identifier 1895708 1895737 - CaseClause 1895738 1895787 - PropertyAccessExpression 1895756 1895786 - Identifier 1895756 1895767 - Identifier 1895768 1895786 - CaseClause 1895787 1895829 - PropertyAccessExpression 1895805 1895828 - Identifier 1895805 1895816 - Identifier 1895817 1895828 - CaseClause 1895829 1895872 - PropertyAccessExpression 1895847 1895871 - Identifier 1895847 1895858 - Identifier 1895859 1895871 - CaseClause 1895872 1895914 - PropertyAccessExpression 1895890 1895913 - Identifier 1895890 1895901 - Identifier 1895902 1895913 - CaseClause 1895914 1895955 - PropertyAccessExpression 1895932 1895954 - Identifier 1895932 1895943 - Identifier 1895944 1895954 - CaseClause 1895955 1896032 - PropertyAccessExpression 1895973 1896001 - Identifier 1895973 1895984 - Identifier 1895985 1896001 - ReturnStatement 1896002 1896032 - TrueKeyword 1896026 1896031 - CaseClause 1896032 1896087 - PropertyAccessExpression 1896050 1896086 - Identifier 1896050 1896061 - Identifier 1896062 1896086 - CaseClause 1896087 1896267 - PropertyAccessExpression 1896105 1896140 - Identifier 1896105 1896116 - Identifier 1896117 1896140 - ReturnStatement 1896141 1896267 - CallExpression 1896165 1896266 - Identifier 1896165 1896193 - PropertyAccessExpression 1896194 1896265 - ParenthesizedExpression 1896194 1896254 - AsExpression 1896195 1896253 - Identifier 1896195 1896199 - UnionType 1896202 1896253 - TypeReference 1896202 1896227 - Identifier 1896202 1896227 - TypeReference 1896229 1896253 - Identifier 1896229 1896253 - Identifier 1896255 1896265 - CaseClause 1896267 1896440 - PropertyAccessExpression 1896285 1896310 - Identifier 1896285 1896296 - Identifier 1896297 1896310 - ReturnStatement 1896311 1896440 - BinaryExpression 1896335 1896439 - PrefixUnaryExpression 1896335 1896371 - PropertyAccessExpression 1896337 1896371 - ParenthesizedExpression 1896337 1896360 - AsExpression 1896338 1896359 - Identifier 1896338 1896342 - TypeReference 1896345 1896359 - Identifier 1896345 1896359 - Identifier 1896361 1896371 - BarBarToken 1896371 1896374 - CallExpression 1896374 1896439 - Identifier 1896374 1896402 - NonNullExpression 1896403 1896438 - PropertyAccessExpression 1896403 1896437 - ParenthesizedExpression 1896403 1896426 - AsExpression 1896404 1896425 - Identifier 1896404 1896408 - TypeReference 1896411 1896425 - Identifier 1896411 1896425 - Identifier 1896427 1896437 - ReturnStatement 1896451 1896474 - FalseKeyword 1896467 1896473 - FunctionDeclaration 1896481 1898402 - Identifier 1896497 1896539 - Parameter 1896540 1896569 - Identifier 1896540 1896544 - TypeReference 1896545 1896569 - Identifier 1896545 1896569 - Parameter 1896570 1896596 - Identifier 1896570 1896585 - TypeReference 1896586 1896596 - Identifier 1896586 1896596 - Block 1896597 1898402 - VariableStatement 1896599 1896672 - VariableDeclarationList 1896599 1896671 - VariableDeclaration 1896614 1896671 - Identifier 1896614 1896618 - TemplateExpression 1896620 1896671 - TemplateHead 1896620 1896625 - TemplateSpan 1896625 1896644 - CallExpression 1896625 1896640 - Identifier 1896625 1896634 - Identifier 1896635 1896639 - TemplateMiddle 1896640 1896644 - TemplateSpan 1896644 1896671 - CallExpression 1896644 1896669 - Identifier 1896644 1896653 - Identifier 1896654 1896668 - TemplateTail 1896669 1896671 - ReturnStatement 1896672 1898395 - BinaryExpression 1896688 1898394 - CallExpression 1896688 1896707 - Identifier 1896688 1896702 - Identifier 1896703 1896706 - QuestionQuestionToken 1896707 1896710 - CallExpression 1896710 1898394 - Identifier 1896710 1896724 - Identifier 1896725 1896742 - BinaryExpression 1896743 1898382 - CallExpression 1896743 1896822 - Identifier 1896743 1896800 - Identifier 1896801 1896815 - Identifier 1896816 1896821 - QuestionQuestionToken 1896822 1896825 - CallExpression 1896825 1898382 - Identifier 1896825 1896862 - Identifier 1896863 1896895 - CallExpression 1896896 1898329 - Identifier 1896896 1896925 - CallExpression 1896926 1897944 - Identifier 1896926 1896951 - CallExpression 1896952 1897735 - Identifier 1896952 1896984 - PropertyAccessExpression 1896985 1897000 - Identifier 1896985 1896989 - Identifier 1896990 1897000 - ArrowFunction 1897001 1897734 - Parameter 1897003 1897004 - Identifier 1897003 1897004 - TypePredicate 1897006 1897060 - Identifier 1897006 1897008 - UnionType 1897011 1897060 - TypeReference 1897011 1897030 - Identifier 1897011 1897030 - TypeReference 1897032 1897060 - Identifier 1897032 1897060 - EqualsGreaterThanToken 1897060 1897063 - Block 1897063 1897734 - IfStatement 1897065 1897189 - PrefixUnaryExpression 1897099 1897108 - PropertyAccessExpression 1897100 1897108 - Identifier 1897100 1897101 - Identifier 1897102 1897108 - Block 1897109 1897189 - ReturnStatement 1897111 1897158 - FalseKeyword 1897151 1897157 - IfStatement 1897189 1897445 - BinaryExpression 1897223 1897263 - PropertyAccessExpression 1897223 1897229 - Identifier 1897223 1897224 - Identifier 1897225 1897229 - EqualsEqualsEqualsToken 1897229 1897233 - PropertyAccessExpression 1897233 1897263 - Identifier 1897233 1897244 - Identifier 1897245 1897263 - Block 1897264 1897445 - ReturnStatement 1897266 1897414 - BinaryExpression 1897306 1897413 - CallExpression 1897306 1897349 - Identifier 1897306 1897334 - PropertyAccessExpression 1897335 1897348 - Identifier 1897335 1897336 - Identifier 1897337 1897348 - AmpersandAmpersandToken 1897349 1897352 - CallExpression 1897352 1897413 - Identifier 1897352 1897375 - Identifier 1897376 1897390 - PropertyAccessExpression 1897391 1897412 - PropertyAccessExpression 1897391 1897400 - Identifier 1897391 1897393 - Identifier 1897394 1897400 - Identifier 1897401 1897412 - IfStatement 1897445 1897664 - BinaryExpression 1897479 1897528 - PropertyAccessExpression 1897479 1897485 - Identifier 1897479 1897480 - Identifier 1897481 1897485 - EqualsEqualsEqualsToken 1897485 1897489 - PropertyAccessExpression 1897489 1897528 - Identifier 1897489 1897500 - Identifier 1897501 1897528 - Block 1897529 1897664 - ReturnStatement 1897531 1897633 - CallExpression 1897571 1897632 - Identifier 1897571 1897594 - Identifier 1897595 1897609 - PropertyAccessExpression 1897610 1897631 - PropertyAccessExpression 1897610 1897619 - Identifier 1897610 1897612 - Identifier 1897613 1897619 - Identifier 1897620 1897631 - ReturnStatement 1897664 1897707 - FalseKeyword 1897700 1897706 - ArrowFunction 1897736 1897920 - Parameter 1897736 1897766 - Identifier 1897736 1897766 - EqualsGreaterThanToken 1897766 1897769 - ParenthesizedExpression 1897769 1897920 - AsExpression 1897771 1897919 - ArrayLiteralExpression 1897771 1897910 - ArrowFunction 1897772 1897884 - EqualsGreaterThanToken 1897774 1897777 - CallExpression 1897777 1897884 - Identifier 1897777 1897808 - ConditionalExpression 1897809 1897883 - BinaryExpression 1897809 1897852 - PropertyAccessExpression 1897809 1897818 - Identifier 1897809 1897813 - Identifier 1897814 1897818 - EqualsEqualsEqualsToken 1897818 1897822 - PropertyAccessExpression 1897822 1897852 - Identifier 1897822 1897833 - Identifier 1897834 1897852 - QuestionToken 1897852 1897854 - PropertyAccessExpression 1897854 1897871 - Identifier 1897854 1897859 - Identifier 1897860 1897871 - ColonToken 1897871 1897873 - PropertyAccessExpression 1897873 1897883 - Identifier 1897873 1897878 - Identifier 1897879 1897883 - PropertyAccessExpression 1897885 1897909 - PropertyAccessExpression 1897885 1897897 - Identifier 1897885 1897890 - Identifier 1897891 1897897 - Identifier 1897898 1897909 - TypeReference 1897913 1897919 - Identifier 1897913 1897919 - CallExpression 1897945 1898309 - Identifier 1897945 1897970 - CallExpression 1897971 1898208 - Identifier 1897971 1898003 - CallExpression 1898004 1898039 - Identifier 1898004 1898023 - Identifier 1898024 1898038 - ArrowFunction 1898040 1898207 - Parameter 1898040 1898042 - Identifier 1898040 1898042 - EqualsGreaterThanToken 1898042 1898045 - BinaryExpression 1898045 1898207 - BinaryExpression 1898045 1898150 - BinaryExpression 1898045 1898107 - PrefixUnaryExpression 1898045 1898080 - PrefixUnaryExpression 1898047 1898080 - ParenthesizedExpression 1898048 1898080 - BinaryExpression 1898049 1898079 - PropertyAccessExpression 1898049 1898056 - Identifier 1898049 1898050 - Identifier 1898051 1898056 - AmpersandToken 1898056 1898058 - PropertyAccessExpression 1898058 1898079 - Identifier 1898058 1898070 - Identifier 1898071 1898079 - AmpersandAmpersandToken 1898080 1898083 - PrefixUnaryExpression 1898083 1898107 - PrefixUnaryExpression 1898085 1898107 - PropertyAccessExpression 1898086 1898107 - PropertyAccessExpression 1898086 1898098 - Identifier 1898086 1898090 - QuestionDotToken 1898090 1898092 - Identifier 1898092 1898098 - QuestionDotToken 1898098 1898100 - Identifier 1898100 1898107 - AmpersandAmpersandToken 1898107 1898110 - PrefixUnaryExpression 1898110 1898150 - CallExpression 1898112 1898150 - PropertyAccessExpression 1898112 1898135 - PropertyAccessExpression 1898112 1898131 - PropertyAccessExpression 1898112 1898123 - Identifier 1898112 1898116 - Identifier 1898117 1898123 - Identifier 1898124 1898131 - Identifier 1898132 1898135 - PropertyAccessExpression 1898136 1898149 - Identifier 1898136 1898137 - Identifier 1898138 1898149 - AmpersandAmpersandToken 1898150 1898153 - CallExpression 1898153 1898207 - Identifier 1898153 1898176 - Identifier 1898177 1898191 - PropertyAccessExpression 1898192 1898206 - Identifier 1898192 1898194 - Identifier 1898195 1898206 - ArrowFunction 1898209 1898285 - Parameter 1898209 1898236 - Identifier 1898209 1898236 - EqualsGreaterThanToken 1898236 1898239 - AsExpression 1898239 1898285 - ArrayLiteralExpression 1898239 1898276 - ArrowFunction 1898241 1898260 - EqualsGreaterThanToken 1898243 1898246 - Identifier 1898246 1898260 - PropertyAccessExpression 1898261 1898275 - Identifier 1898261 1898263 - Identifier 1898264 1898275 - TypeReference 1898279 1898285 - Identifier 1898279 1898285 - Identifier 1898330 1898366 - FunctionDeclaration 1898402 1900346 - Identifier 1898418 1898460 - Parameter 1898461 1898480 - Identifier 1898461 1898465 - TypeReference 1898466 1898480 - Identifier 1898466 1898480 - Parameter 1898481 1898507 - Identifier 1898481 1898496 - TypeReference 1898497 1898507 - Identifier 1898497 1898507 - Block 1898508 1900346 - VariableStatement 1898510 1898583 - VariableDeclarationList 1898510 1898582 - VariableDeclaration 1898525 1898582 - Identifier 1898525 1898529 - TemplateExpression 1898531 1898582 - TemplateHead 1898531 1898536 - TemplateSpan 1898536 1898555 - CallExpression 1898536 1898551 - Identifier 1898536 1898545 - Identifier 1898546 1898550 - TemplateMiddle 1898551 1898555 - TemplateSpan 1898555 1898582 - CallExpression 1898555 1898580 - Identifier 1898555 1898564 - Identifier 1898565 1898579 - TemplateTail 1898580 1898582 - VariableStatement 1898583 1898627 - VariableDeclarationList 1898583 1898626 - VariableDeclaration 1898598 1898626 - Identifier 1898598 1898605 - CallExpression 1898607 1898626 - Identifier 1898607 1898621 - Identifier 1898622 1898625 - IfStatement 1898627 1898663 - Identifier 1898641 1898647 - ReturnStatement 1898648 1898663 - Identifier 1898655 1898662 - VariableStatement 1898663 1898764 - VariableDeclarationList 1898663 1898763 - VariableDeclaration 1898678 1898763 - Identifier 1898678 1898702 - CallExpression 1898704 1898763 - Identifier 1898704 1898738 - CallExpression 1898739 1898762 - Identifier 1898739 1898756 - Identifier 1898757 1898761 - ReturnStatement 1898764 1900339 - CallExpression 1898780 1900338 - Identifier 1898780 1898794 - Identifier 1898795 1898812 - CallExpression 1898813 1900326 - Identifier 1898813 1898863 - Identifier 1898864 1898896 - CallExpression 1898897 1900273 - Identifier 1898897 1898926 - CallExpression 1898927 1899416 - Identifier 1898927 1898952 - CallExpression 1898953 1899187 - Identifier 1898953 1898985 - PropertyAccessExpression 1898986 1899001 - Identifier 1898986 1898990 - Identifier 1898991 1899001 - ArrowFunction 1899002 1899186 - Parameter 1899002 1899004 - Identifier 1899002 1899004 - EqualsGreaterThanToken 1899004 1899007 - BinaryExpression 1899007 1899186 - BinaryExpression 1899007 1899120 - BinaryExpression 1899007 1899056 - PrefixUnaryExpression 1899007 1899018 - PrefixUnaryExpression 1899009 1899018 - PropertyAccessExpression 1899010 1899018 - Identifier 1899010 1899011 - Identifier 1899012 1899018 - AmpersandAmpersandToken 1899018 1899021 - BinaryExpression 1899021 1899056 - PropertyAccessExpression 1899021 1899028 - Identifier 1899021 1899023 - Identifier 1899024 1899028 - EqualsEqualsEqualsToken 1899028 1899032 - PropertyAccessExpression 1899032 1899056 - Identifier 1899032 1899043 - Identifier 1899044 1899056 - AmpersandAmpersandToken 1899056 1899059 - CallExpression 1899059 1899120 - Identifier 1899059 1899082 - Identifier 1899083 1899097 - PropertyAccessExpression 1899098 1899119 - PropertyAccessExpression 1899098 1899107 - Identifier 1899098 1899100 - Identifier 1899101 1899107 - Identifier 1899108 1899119 - AmpersandAmpersandToken 1899120 1899123 - ParenthesizedExpression 1899123 1899186 - BinaryExpression 1899125 1899185 - PrefixUnaryExpression 1899125 1899139 - PropertyAccessExpression 1899126 1899139 - Identifier 1899126 1899127 - Identifier 1899128 1899139 - BarBarToken 1899139 1899142 - CallExpression 1899142 1899185 - Identifier 1899142 1899170 - PropertyAccessExpression 1899171 1899184 - Identifier 1899171 1899172 - Identifier 1899173 1899184 - ArrowFunction 1899188 1899392 - Parameter 1899188 1899218 - Identifier 1899188 1899218 - EqualsGreaterThanToken 1899218 1899221 - ParenthesizedExpression 1899221 1899392 - AsExpression 1899223 1899391 - ArrayLiteralExpression 1899223 1899382 - ConditionalExpression 1899224 1899356 - PrefixUnaryExpression 1899224 1899259 - PropertyAccessExpression 1899225 1899259 - ParenthesizedExpression 1899225 1899247 - AsExpression 1899226 1899246 - Identifier 1899226 1899230 - TypeReference 1899233 1899246 - Identifier 1899233 1899246 - Identifier 1899248 1899259 - QuestionToken 1899259 1899261 - ParenthesizedExpression 1899261 1899278 - ArrowFunction 1899263 1899277 - EqualsGreaterThanToken 1899265 1899268 - Identifier 1899268 1899277 - ColonToken 1899278 1899280 - ParenthesizedExpression 1899280 1899356 - ArrowFunction 1899282 1899355 - EqualsGreaterThanToken 1899284 1899287 - CallExpression 1899287 1899355 - Identifier 1899287 1899318 - NonNullExpression 1899319 1899354 - PropertyAccessExpression 1899319 1899353 - ParenthesizedExpression 1899319 1899341 - AsExpression 1899320 1899340 - Identifier 1899320 1899324 - TypeReference 1899327 1899340 - Identifier 1899327 1899340 - Identifier 1899342 1899353 - PropertyAccessExpression 1899357 1899381 - PropertyAccessExpression 1899357 1899369 - Identifier 1899357 1899362 - Identifier 1899363 1899369 - Identifier 1899370 1899381 - TypeReference 1899385 1899391 - Identifier 1899385 1899391 - CallExpression 1899417 1900253 - Identifier 1899417 1899442 - CallExpression 1899443 1900152 - Identifier 1899443 1899475 - CallExpression 1899476 1899511 - Identifier 1899476 1899495 - Identifier 1899496 1899510 - ArrowFunction 1899512 1900151 - Parameter 1899512 1899514 - Identifier 1899512 1899514 - EqualsGreaterThanToken 1899514 1899517 - Block 1899517 1900151 - IfStatement 1899519 1899693 - BinaryExpression 1899553 1899612 - PrefixUnaryExpression 1899553 1899586 - ParenthesizedExpression 1899554 1899586 - BinaryExpression 1899555 1899585 - PropertyAccessExpression 1899555 1899562 - Identifier 1899555 1899556 - Identifier 1899557 1899562 - AmpersandToken 1899562 1899564 - PropertyAccessExpression 1899564 1899585 - Identifier 1899564 1899576 - Identifier 1899577 1899585 - BarBarToken 1899586 1899589 - PrefixUnaryExpression 1899589 1899612 - PropertyAccessExpression 1899591 1899612 - PropertyAccessExpression 1899591 1899603 - Identifier 1899591 1899595 - QuestionDotToken 1899595 1899597 - Identifier 1899597 1899603 - QuestionDotToken 1899603 1899605 - Identifier 1899605 1899612 - Block 1899613 1899693 - ReturnStatement 1899615 1899662 - FalseKeyword 1899655 1899661 - VariableStatement 1899693 1899758 - VariableDeclarationList 1899693 1899757 - VariableDeclaration 1899728 1899757 - Identifier 1899728 1899736 - PropertyAccessExpression 1899738 1899757 - PropertyAccessExpression 1899738 1899750 - Identifier 1899738 1899743 - Identifier 1899744 1899750 - Identifier 1899751 1899757 - IfStatement 1899758 1899990 - BinaryExpression 1899792 1899909 - BinaryExpression 1899792 1899858 - BinaryExpression 1899792 1899833 - PropertyAccessExpression 1899792 1899805 - Identifier 1899792 1899793 - Identifier 1899794 1899805 - EqualsEqualsEqualsToken 1899805 1899809 - Identifier 1899809 1899833 - AmpersandAmpersandToken 1899833 1899836 - CallExpression 1899836 1899858 - Identifier 1899836 1899849 - Identifier 1899850 1899857 - AmpersandAmpersandToken 1899858 1899861 - PropertyAccessExpression 1899861 1899909 - CallExpression 1899861 1899902 - Identifier 1899861 1899884 - PropertyAccessExpression 1899885 1899901 - Identifier 1899885 1899892 - Identifier 1899893 1899901 - Identifier 1899903 1899909 - Block 1899910 1899990 - ReturnStatement 1899912 1899959 - FalseKeyword 1899952 1899958 - ReturnStatement 1899990 1900124 - BinaryExpression 1900026 1900123 - PrefixUnaryExpression 1900026 1900066 - CallExpression 1900028 1900066 - PropertyAccessExpression 1900028 1900051 - PropertyAccessExpression 1900028 1900047 - PropertyAccessExpression 1900028 1900039 - Identifier 1900028 1900032 - Identifier 1900033 1900039 - Identifier 1900040 1900047 - Identifier 1900048 1900051 - PropertyAccessExpression 1900052 1900065 - Identifier 1900052 1900053 - Identifier 1900054 1900065 - AmpersandAmpersandToken 1900066 1900069 - CallExpression 1900069 1900123 - Identifier 1900069 1900092 - Identifier 1900093 1900107 - PropertyAccessExpression 1900108 1900122 - Identifier 1900108 1900110 - Identifier 1900111 1900122 - ArrowFunction 1900153 1900229 - Parameter 1900153 1900180 - Identifier 1900153 1900180 - EqualsGreaterThanToken 1900180 1900183 - AsExpression 1900183 1900229 - ArrayLiteralExpression 1900183 1900220 - ArrowFunction 1900185 1900204 - EqualsGreaterThanToken 1900187 1900190 - Identifier 1900190 1900204 - PropertyAccessExpression 1900205 1900219 - Identifier 1900205 1900207 - Identifier 1900208 1900219 - TypeReference 1900223 1900229 - Identifier 1900223 1900229 - Identifier 1900274 1900310 - FunctionDeclaration 1900346 1902275 - Identifier 1900555 1900587 - Parameter 1900588 1900624 - Identifier 1900588 1900592 - UnionType 1900593 1900624 - TypeReference 1900593 1900604 - Identifier 1900593 1900604 - TypeReference 1900606 1900624 - Identifier 1900606 1900624 - Parameter 1900625 1900664 - Identifier 1900625 1900638 - UnionType 1900639 1900664 - TypeReference 1900639 1900652 - Identifier 1900639 1900652 - UndefinedKeyword 1900654 1900664 - UnionType 1900666 1900683 - TypeReference 1900666 1900671 - Identifier 1900666 1900671 - UndefinedKeyword 1900673 1900683 - Block 1900683 1902275 - VariableStatement 1900685 1900874 - VariableDeclarationList 1900685 1900873 - VariableDeclaration 1900700 1900873 - Identifier 1900700 1900715 - ConditionalExpression 1900717 1900873 - CallExpression 1900717 1900745 - Identifier 1900717 1900739 - Identifier 1900740 1900744 - QuestionToken 1900745 1900747 - CallExpression 1900747 1900820 - Identifier 1900747 1900800 - Identifier 1900801 1900805 - Identifier 1900806 1900819 - ColonToken 1900820 1900822 - CallExpression 1900822 1900873 - Identifier 1900822 1900853 - Identifier 1900854 1900858 - Identifier 1900859 1900872 - VariableStatement 1900874 1900971 - VariableDeclarationList 1900874 1900970 - VariableDeclaration 1900889 1900970 - Identifier 1900889 1900906 - CallExpression 1900908 1900970 - Identifier 1900908 1900934 - Identifier 1900935 1900949 - Identifier 1900950 1900955 - Identifier 1900956 1900969 - IfStatement 1900971 1902268 - BinaryExpression 1900985 1901116 - Identifier 1900985 1901001 - AmpersandAmpersandToken 1901001 1901004 - PrefixUnaryExpression 1901004 1901116 - ParenthesizedExpression 1901006 1901116 - BinaryExpression 1901007 1901115 - BinaryExpression 1901007 1901064 - Identifier 1901007 1901019 - AmpersandAmpersandToken 1901019 1901022 - BinaryExpression 1901022 1901064 - Identifier 1901022 1901035 - AmpersandToken 1901035 1901037 - PropertyAccessExpression 1901037 1901064 - Identifier 1901037 1901050 - Identifier 1901051 1901064 - AmpersandAmpersandToken 1901064 1901067 - BinaryExpression 1901067 1901115 - PropertyAccessExpression 1901067 1901090 - Identifier 1901067 1901084 - Identifier 1901085 1901090 - AmpersandToken 1901090 1901092 - PropertyAccessExpression 1901092 1901115 - Identifier 1901092 1901102 - Identifier 1901103 1901115 - Block 1901117 1902268 - VariableStatement 1901119 1901897 - VariableDeclarationList 1901119 1901896 - VariableDeclaration 1901138 1901896 - Identifier 1901138 1901151 - CallExpression 1901153 1901896 - Identifier 1901153 1901161 - Identifier 1901162 1901196 - ArrowFunction 1901197 1901840 - Parameter 1901197 1901773 - Identifier 1901197 1901773 - EqualsGreaterThanToken 1901773 1901776 - ConditionalExpression 1901776 1901840 - BinaryExpression 1901776 1901815 - CallExpression 1901776 1901794 - Identifier 1901776 1901791 - Identifier 1901792 1901793 - AmpersandToken 1901794 1901796 - PropertyAccessExpression 1901796 1901815 - Identifier 1901796 1901808 - Identifier 1901809 1901815 - QuestionToken 1901815 1901817 - Identifier 1901817 1901819 - ColonToken 1901819 1901821 - CallExpression 1901821 1901840 - Identifier 1901821 1901837 - Identifier 1901838 1901839 - TrueKeyword 1901841 1901880 - ReturnStatement 1901897 1902257 - ConditionalExpression 1901917 1902256 - BinaryExpression 1901917 1901989 - BinaryExpression 1901917 1901954 - PropertyAccessExpression 1901917 1901936 - Identifier 1901917 1901930 - Identifier 1901931 1901936 - AmpersandToken 1901936 1901938 - PropertyAccessExpression 1901938 1901954 - Identifier 1901938 1901948 - Identifier 1901949 1901954 - AmpersandAmpersandToken 1901954 1901957 - CallExpression 1901957 1901989 - Identifier 1901957 1901983 - Identifier 1901984 1901988 - QuestionToken 1901989 1901991 - CallExpression 1901991 1902066 - Identifier 1901991 1902033 - Identifier 1902034 1902038 - AsExpression 1902039 1902065 - Identifier 1902039 1902052 - TypeReference 1902055 1902065 - Identifier 1902055 1902065 - ColonToken 1902066 1902068 - ConditionalExpression 1902068 1902256 - BinaryExpression 1902068 1902147 - BinaryExpression 1902068 1902122 - PropertyAccessExpression 1902068 1902104 - Identifier 1902068 1902098 - Identifier 1902099 1902104 - AmpersandToken 1902104 1902106 - PropertyAccessExpression 1902106 1902122 - Identifier 1902106 1902116 - Identifier 1902117 1902122 - AmpersandAmpersandToken 1902122 1902125 - CallExpression 1902125 1902147 - Identifier 1902125 1902141 - Identifier 1902142 1902146 - QuestionToken 1902147 1902149 - CallExpression 1902149 1902224 - Identifier 1902149 1902191 - Identifier 1902192 1902196 - AsExpression 1902197 1902223 - Identifier 1902197 1902210 - TypeReference 1902213 1902223 - Identifier 1902213 1902223 - ColonToken 1902224 1902226 - Identifier 1902226 1902256 - FunctionDeclaration 1902275 1904408 - Identifier 1902473 1902499 - Parameter 1902500 1902532 - Identifier 1902500 1902514 - UnionType 1902515 1902532 - TypeReference 1902515 1902520 - Identifier 1902515 1902520 - UndefinedKeyword 1902522 1902532 - Parameter 1902533 1902544 - Identifier 1902533 1902538 - TypeReference 1902539 1902544 - Identifier 1902539 1902544 - Parameter 1902545 1902584 - Identifier 1902545 1902558 - UnionType 1902559 1902584 - TypeReference 1902559 1902572 - Identifier 1902559 1902572 - UndefinedKeyword 1902574 1902584 - UnionType 1902586 1902603 - TypeReference 1902586 1902591 - Identifier 1902586 1902591 - UndefinedKeyword 1902593 1902603 - Block 1902603 1904408 - IfStatement 1902605 1904369 - BinaryExpression 1902619 1902692 - Identifier 1902619 1902633 - AmpersandAmpersandToken 1902633 1902636 - CallExpression 1902636 1902692 - Identifier 1902636 1902652 - Identifier 1902653 1902667 - PropertyAccessExpression 1902668 1902691 - Identifier 1902668 1902678 - Identifier 1902679 1902691 - Block 1902693 1904369 - VariableStatement 1902695 1902760 - VariableDeclarationList 1902695 1902759 - VariableDeclaration 1902714 1902759 - Identifier 1902714 1902731 - CallExpression 1902733 1902759 - Identifier 1902733 1902753 - Identifier 1902754 1902758 - IfStatement 1902760 1903508 - BinaryExpression 1903073 1903201 - BinaryExpression 1903073 1903131 - Identifier 1903073 1903089 - AmpersandAmpersandToken 1903089 1903092 - BinaryExpression 1903092 1903131 - NonNullExpression 1903092 1903106 - Identifier 1903092 1903105 - AmpersandToken 1903106 1903108 - PropertyAccessExpression 1903108 1903131 - Identifier 1903108 1903121 - Identifier 1903122 1903131 - AmpersandAmpersandToken 1903131 1903134 - CallExpression 1903134 1903201 - Identifier 1903134 1903139 - PropertyAccessExpression 1903140 1903167 - Identifier 1903140 1903156 - Identifier 1903157 1903167 - Identifier 1903168 1903200 - Block 1903202 1903508 - ReturnStatement 1903204 1903493 - CallExpression 1903413 1903492 - Identifier 1903413 1903442 - Identifier 1903443 1903457 - PropertyAccessExpression 1903458 1903491 - Identifier 1903458 1903475 - Identifier 1903476 1903491 - IfStatement 1903508 1904358 - PropertyAccessExpression 1903526 1903556 - Identifier 1903526 1903542 - QuestionDotToken 1903542 1903544 - Identifier 1903544 1903556 - Block 1903557 1904358 - VariableStatement 1903559 1904046 - VariableDeclarationList 1903559 1904045 - VariableDeclaration 1903962 1904045 - Identifier 1903962 1903967 - CallExpression 1903969 1904045 - Identifier 1903969 1903998 - Identifier 1903999 1904013 - PropertyAccessExpression 1904014 1904044 - Identifier 1904014 1904031 - Identifier 1904032 1904044 - ReturnStatement 1904046 1904343 - ConditionalExpression 1904070 1904342 - BinaryExpression 1904070 1904220 - BinaryExpression 1904070 1904160 - BinaryExpression 1904070 1904099 - PropertyAccessExpression 1904070 1904081 - Identifier 1904070 1904075 - Identifier 1904076 1904081 - AmpersandToken 1904081 1904083 - PropertyAccessExpression 1904083 1904099 - Identifier 1904083 1904093 - Identifier 1904094 1904099 - AmpersandAmpersandToken 1904099 1904102 - CallExpression 1904102 1904160 - Identifier 1904102 1904115 - PropertyAccessExpression 1904116 1904141 - ParenthesizedExpression 1904116 1904135 - AsExpression 1904117 1904134 - Identifier 1904117 1904121 - TypeReference 1904124 1904134 - Identifier 1904124 1904134 - Identifier 1904136 1904141 - Identifier 1904142 1904159 - AmpersandAmpersandToken 1904160 1904163 - CallExpression 1904163 1904220 - Identifier 1904163 1904176 - PropertyAccessExpression 1904177 1904202 - ParenthesizedExpression 1904177 1904196 - AsExpression 1904178 1904195 - Identifier 1904178 1904182 - TypeReference 1904185 1904195 - Identifier 1904185 1904195 - Identifier 1904197 1904202 - Identifier 1904203 1904219 - QuestionToken 1904220 1904222 - CallExpression 1904222 1904314 - Identifier 1904222 1904254 - Identifier 1904255 1904259 - ArrowFunction 1904260 1904313 - Parameter 1904260 1904262 - Identifier 1904260 1904262 - EqualsGreaterThanToken 1904262 1904265 - BinaryExpression 1904265 1904313 - BinaryExpression 1904265 1904288 - Identifier 1904265 1904267 - ExclamationEqualsEqualsToken 1904267 1904271 - Identifier 1904271 1904288 - AmpersandAmpersandToken 1904288 1904291 - BinaryExpression 1904291 1904313 - Identifier 1904291 1904293 - ExclamationEqualsEqualsToken 1904293 1904297 - Identifier 1904297 1904313 - ColonToken 1904314 1904316 - Identifier 1904316 1904342 - ReturnStatement 1904369 1904401 - Identifier 1904385 1904400 - FunctionDeclaration 1904408 1905269 - Identifier 1904679 1904708 - Parameter 1904709 1904719 - Identifier 1904709 1904713 - TypeReference 1904714 1904719 - Identifier 1904714 1904719 - Parameter 1904720 1904739 - Identifier 1904720 1904727 - TypeReference 1904728 1904739 - Identifier 1904728 1904739 - TypeReference 1904741 1904746 - Identifier 1904741 1904746 - Block 1904746 1905269 - IfStatement 1904748 1904862 - BinaryExpression 1904762 1904797 - PropertyAccessExpression 1904762 1904772 - Identifier 1904762 1904766 - Identifier 1904767 1904772 - AmpersandToken 1904772 1904774 - PropertyAccessExpression 1904774 1904797 - Identifier 1904774 1904784 - Identifier 1904785 1904797 - Block 1904798 1904862 - ReturnStatement 1904800 1904851 - CallExpression 1904820 1904850 - Identifier 1904820 1904836 - Identifier 1904837 1904841 - Identifier 1904842 1904849 - IfStatement 1904862 1905051 - BinaryExpression 1904876 1904904 - PropertyAccessExpression 1904876 1904886 - Identifier 1904876 1904880 - Identifier 1904881 1904886 - AmpersandToken 1904886 1904888 - PropertyAccessExpression 1904888 1904904 - Identifier 1904888 1904898 - Identifier 1904899 1904904 - Block 1904905 1905051 - ReturnStatement 1904907 1905040 - CallExpression 1904927 1905039 - Identifier 1904927 1904940 - CallExpression 1904941 1905017 - Identifier 1904941 1904944 - PropertyAccessExpression 1904945 1904970 - ParenthesizedExpression 1904945 1904964 - AsExpression 1904946 1904963 - Identifier 1904946 1904950 - TypeReference 1904953 1904963 - Identifier 1904953 1904963 - Identifier 1904965 1904970 - ArrowFunction 1904971 1905016 - Parameter 1904971 1904973 - Identifier 1904971 1904973 - EqualsGreaterThanToken 1904973 1904976 - CallExpression 1904976 1905016 - Identifier 1904976 1905005 - Identifier 1905006 1905007 - Identifier 1905008 1905015 - PropertyAccessExpression 1905018 1905038 - Identifier 1905018 1905033 - Identifier 1905034 1905038 - IfStatement 1905051 1905240 - BinaryExpression 1905065 1905100 - PropertyAccessExpression 1905065 1905075 - Identifier 1905065 1905069 - Identifier 1905070 1905075 - AmpersandToken 1905075 1905077 - PropertyAccessExpression 1905077 1905100 - Identifier 1905077 1905087 - Identifier 1905088 1905100 - Block 1905101 1905240 - ReturnStatement 1905103 1905229 - CallExpression 1905123 1905228 - Identifier 1905123 1905143 - CallExpression 1905144 1905227 - Identifier 1905144 1905147 - PropertyAccessExpression 1905148 1905180 - ParenthesizedExpression 1905148 1905174 - AsExpression 1905149 1905173 - Identifier 1905149 1905153 - TypeReference 1905156 1905173 - Identifier 1905156 1905173 - Identifier 1905175 1905180 - ArrowFunction 1905181 1905226 - Parameter 1905181 1905183 - Identifier 1905181 1905183 - EqualsGreaterThanToken 1905183 1905186 - CallExpression 1905186 1905226 - Identifier 1905186 1905215 - Identifier 1905216 1905217 - Identifier 1905218 1905225 - ReturnStatement 1905240 1905262 - Identifier 1905256 1905261 - FunctionDeclaration 1905269 1911681 - Identifier 1906170 1906188 - Parameter 1906189 1906205 - Identifier 1906189 1906193 - TypeReference 1906194 1906205 - Identifier 1906194 1906205 - Parameter 1906206 1906245 - Identifier 1906206 1906219 - UnionType 1906220 1906245 - TypeReference 1906220 1906233 - Identifier 1906220 1906233 - UndefinedKeyword 1906235 1906245 - UnionType 1906247 1906264 - TypeReference 1906247 1906252 - Identifier 1906247 1906252 - UndefinedKeyword 1906254 1906264 - Block 1906264 1911681 - IfStatement 1906266 1906463 - BinaryExpression 1906280 1906318 - PropertyAccessExpression 1906280 1906290 - Identifier 1906280 1906284 - Identifier 1906285 1906290 - AmpersandToken 1906290 1906292 - PropertyAccessExpression 1906292 1906318 - Identifier 1906292 1906302 - Identifier 1906303 1906318 - Block 1906319 1906463 - ReturnStatement 1906321 1906452 - Identifier 1906441 1906451 - VariableStatement 1906463 1906691 - VariableDeclarationList 1906463 1906690 - VariableDeclaration 1906624 1906690 - Identifier 1906624 1906630 - CallExpression 1906632 1906690 - Identifier 1906632 1906651 - Identifier 1906652 1906656 - PrefixUnaryExpression 1906657 1906689 - Identifier 1906677 1906689 - IfStatement 1906691 1906773 - BinaryExpression 1906705 1906715 - Identifier 1906705 1906710 - GreaterThanEqualsToken 1906710 1906713 - NumericLiteral 1906713 1906715 - Block 1906716 1906773 - ReturnStatement 1906718 1906762 - ElementAccessExpression 1906738 1906761 - Identifier 1906738 1906754 - Identifier 1906755 1906760 - VariableStatement 1906773 1906807 - VariableDeclarationList 1906773 1906806 - VariableDeclaration 1906788 1906806 - ObjectBindingPattern 1906788 1906799 - BindingElement 1906790 1906797 - Identifier 1906790 1906797 - Identifier 1906801 1906806 - SwitchStatement 1906807 1911647 - PropertyAccessExpression 1906825 1906836 - Identifier 1906825 1906831 - Identifier 1906832 1906836 - CaseBlock 1906837 1911647 - CaseClause 1906839 1906889 - PropertyAccessExpression 1906857 1906888 - Identifier 1906857 1906868 - Identifier 1906869 1906888 - CaseClause 1906889 1906929 - PropertyAccessExpression 1906907 1906928 - Identifier 1906907 1906918 - Identifier 1906919 1906928 - CaseClause 1906929 1906979 - PropertyAccessExpression 1906947 1906978 - Identifier 1906947 1906958 - Identifier 1906959 1906978 - CaseClause 1906979 1907027 - PropertyAccessExpression 1906997 1907026 - Identifier 1906997 1907008 - Identifier 1907009 1907026 - CaseClause 1907027 1907159 - PropertyAccessExpression 1907045 1907071 - Identifier 1907045 1907056 - Identifier 1907057 1907071 - ReturnStatement 1907072 1907159 - CallExpression 1907096 1907158 - Identifier 1907096 1907138 - Identifier 1907139 1907143 - Identifier 1907144 1907157 - CaseClause 1907159 1907203 - PropertyAccessExpression 1907177 1907202 - Identifier 1907177 1907188 - Identifier 1907189 1907202 - CaseClause 1907203 1907331 - PropertyAccessExpression 1907221 1907248 - Identifier 1907221 1907232 - Identifier 1907233 1907248 - ReturnStatement 1907249 1907331 - CallExpression 1907273 1907330 - Identifier 1907273 1907310 - Identifier 1907311 1907315 - Identifier 1907316 1907329 - CaseClause 1907331 1907476 - PropertyAccessExpression 1907349 1907376 - Identifier 1907349 1907360 - Identifier 1907361 1907376 - ReturnStatement 1907377 1907476 - CallExpression 1907401 1907475 - Identifier 1907401 1907434 - AsExpression 1907435 1907460 - Identifier 1907435 1907441 - TypeReference 1907444 1907460 - Identifier 1907444 1907460 - Identifier 1907461 1907474 - CaseClause 1907476 1907621 - PropertyAccessExpression 1907494 1907521 - Identifier 1907494 1907505 - Identifier 1907506 1907521 - ReturnStatement 1907522 1907621 - CallExpression 1907546 1907620 - Identifier 1907546 1907579 - AsExpression 1907580 1907605 - Identifier 1907580 1907586 - TypeReference 1907589 1907605 - Identifier 1907589 1907605 - Identifier 1907606 1907619 - CaseClause 1907621 1907666 - PropertyAccessExpression 1907639 1907665 - Identifier 1907639 1907650 - Identifier 1907651 1907665 - CaseClause 1907666 1907824 - PropertyAccessExpression 1907684 1907709 - Identifier 1907684 1907695 - Identifier 1907696 1907709 - ReturnStatement 1907710 1907824 - CallExpression 1907734 1907823 - Identifier 1907734 1907763 - AsExpression 1907764 1907816 - Identifier 1907764 1907770 - UnionType 1907773 1907816 - TypeReference 1907773 1907788 - Identifier 1907773 1907788 - TypeReference 1907790 1907804 - Identifier 1907790 1907804 - TypeReference 1907806 1907816 - Identifier 1907806 1907816 - Identifier 1907817 1907822 - CaseClause 1907824 1907940 - PropertyAccessExpression 1907842 1907863 - Identifier 1907842 1907853 - Identifier 1907854 1907863 - ReturnStatement 1907864 1907940 - CallExpression 1907888 1907939 - Identifier 1907888 1907918 - AsExpression 1907919 1907938 - Identifier 1907919 1907925 - TypeReference 1907928 1907938 - Identifier 1907928 1907938 - CaseClause 1907940 1907994 - PropertyAccessExpression 1907958 1907993 - Identifier 1907958 1907969 - Identifier 1907970 1907993 - CaseClause 1907994 1908246 - PropertyAccessExpression 1908012 1908036 - Identifier 1908012 1908023 - Identifier 1908024 1908036 - ReturnStatement 1908037 1908246 - ConditionalExpression 1908061 1908245 - CallExpression 1908061 1908120 - Identifier 1908061 1908082 - PropertyAccessExpression 1908083 1908119 - ParenthesizedExpression 1908083 1908114 - AsExpression 1908084 1908113 - Identifier 1908084 1908090 - TypeReference 1908093 1908113 - Identifier 1908093 1908113 - Identifier 1908115 1908119 - QuestionToken 1908120 1908122 - CallExpression 1908122 1908185 - Identifier 1908122 1908140 - AsExpression 1908141 1908170 - Identifier 1908141 1908147 - TypeReference 1908150 1908170 - Identifier 1908150 1908170 - Identifier 1908171 1908184 - ColonToken 1908185 1908187 - CallExpression 1908187 1908245 - Identifier 1908187 1908207 - PropertyAccessExpression 1908208 1908244 - ParenthesizedExpression 1908208 1908239 - AsExpression 1908209 1908238 - Identifier 1908209 1908215 - TypeReference 1908218 1908238 - Identifier 1908218 1908238 - Identifier 1908240 1908244 - CaseClause 1908246 1908372 - PropertyAccessExpression 1908264 1908292 - Identifier 1908264 1908275 - Identifier 1908276 1908292 - ReturnStatement 1908293 1908372 - CallExpression 1908317 1908371 - Identifier 1908317 1908351 - Identifier 1908352 1908356 - Identifier 1908357 1908370 - CaseClause 1908372 1908421 - PropertyAccessExpression 1908390 1908420 - Identifier 1908390 1908401 - Identifier 1908402 1908420 - CaseClause 1908421 1908619 - PropertyAccessExpression 1908439 1908478 - Identifier 1908439 1908450 - Identifier 1908451 1908478 - ReturnStatement 1908479 1908619 - CallExpression 1908503 1908618 - Identifier 1908503 1908544 - AsExpression 1908545 1908603 - Identifier 1908545 1908551 - UnionType 1908554 1908603 - TypeReference 1908554 1908573 - Identifier 1908554 1908573 - TypeReference 1908575 1908603 - Identifier 1908575 1908603 - Identifier 1908604 1908617 - CaseClause 1908619 1908765 - PropertyAccessExpression 1908637 1908665 - Identifier 1908637 1908648 - Identifier 1908649 1908665 - ReturnStatement 1908666 1908765 - CallExpression 1908690 1908764 - Identifier 1908690 1908708 - AsExpression 1908709 1908749 - PropertyAccessExpression 1908709 1908722 - Identifier 1908709 1908715 - Identifier 1908716 1908722 - TypeReference 1908725 1908749 - Identifier 1908725 1908749 - Identifier 1908750 1908763 - CaseClause 1908765 1909357 - PropertyAccessExpression 1908783 1908817 - Identifier 1908783 1908794 - Identifier 1908795 1908817 - Block 1908818 1909357 - VariableStatement 1908820 1908892 - VariableDeclarationList 1908820 1908891 - VariableDeclaration 1908843 1908891 - Identifier 1908843 1908856 - AsExpression 1908858 1908891 - Identifier 1908858 1908865 - TypeReference 1908868 1908891 - Identifier 1908868 1908891 - VariableStatement 1908892 1908983 - VariableDeclarationList 1908892 1908982 - VariableDeclaration 1908915 1908982 - Identifier 1908915 1908920 - CallExpression 1908922 1908982 - Identifier 1908922 1908954 - Identifier 1908955 1908967 - Identifier 1908968 1908981 - VariableStatement 1908983 1909063 - VariableDeclarationList 1908983 1909062 - VariableDeclaration 1909006 1909062 - Identifier 1909006 1909019 - CallExpression 1909021 1909062 - Identifier 1909021 1909033 - PropertyAccessExpression 1909034 1909055 - Identifier 1909034 1909046 - Identifier 1909047 1909055 - Identifier 1909056 1909061 - VariableStatement 1909063 1909188 - VariableDeclarationList 1909063 1909187 - VariableDeclaration 1909086 1909187 - Identifier 1909086 1909100 - BinaryExpression 1909102 1909187 - PropertyAccessExpression 1909102 1909143 - CallExpression 1909102 1909129 - Identifier 1909102 1909115 - Identifier 1909116 1909128 - Identifier 1909130 1909143 - QuestionQuestionEqualsToken 1909143 1909147 - CallExpression 1909147 1909187 - Identifier 1909147 1909164 - PropertyAccessExpression 1909165 1909186 - Identifier 1909165 1909177 - Identifier 1909178 1909186 - ReturnStatement 1909188 1909342 - CallExpression 1909212 1909341 - Identifier 1909212 1909250 - Identifier 1909251 1909255 - Identifier 1909256 1909269 - PropertyAccessExpression 1909270 1909299 - PropertyAccessExpression 1909270 1909292 - Identifier 1909270 1909283 - Identifier 1909284 1909292 - Identifier 1909293 1909299 - PropertyAccessExpression 1909300 1909320 - Identifier 1909300 1909314 - Identifier 1909315 1909320 - PropertyAccessExpression 1909321 1909340 - Identifier 1909321 1909335 - Identifier 1909336 1909340 - CaseClause 1909357 1909493 - PropertyAccessExpression 1909375 1909408 - Identifier 1909375 1909386 - Identifier 1909387 1909408 - ReturnStatement 1909409 1909493 - CallExpression 1909433 1909492 - Identifier 1909433 1909472 - Identifier 1909473 1909477 - Identifier 1909478 1909491 - CaseClause 1909493 1909732 - PropertyAccessExpression 1909511 1909535 - Identifier 1909511 1909522 - Identifier 1909523 1909535 - ExpressionStatement 1909536 1909621 - CallExpression 1909536 1909620 - PropertyAccessExpression 1909536 1909566 - Identifier 1909536 1909559 - Identifier 1909560 1909566 - BinaryExpression 1909567 1909619 - PropertyAccessExpression 1909567 1909585 - PropertyAccessExpression 1909567 1909580 - Identifier 1909567 1909573 - Identifier 1909574 1909580 - Identifier 1909581 1909585 - EqualsEqualsEqualsToken 1909585 1909589 - PropertyAccessExpression 1909589 1909619 - Identifier 1909589 1909600 - Identifier 1909601 1909619 - ReturnStatement 1909621 1909732 - CallExpression 1909645 1909731 - Identifier 1909645 1909688 - AsExpression 1909689 1909724 - PropertyAccessExpression 1909689 1909702 - Identifier 1909689 1909695 - Identifier 1909696 1909702 - TypeReference 1909705 1909724 - Identifier 1909705 1909724 - Identifier 1909725 1909730 - CaseClause 1909732 1910545 - PropertyAccessExpression 1909750 1909785 - Identifier 1909750 1909761 - Identifier 1909762 1909785 - Block 1909786 1910545 - IfStatement 1909788 1910438 - CallExpression 1909810 1909828 - Identifier 1909810 1909820 - Identifier 1909821 1909827 - Block 1909829 1910438 - IfStatement 1909831 1910011 - CallExpression 1909857 1909891 - Identifier 1909857 1909883 - Identifier 1909884 1909890 - Block 1909892 1910011 - ReturnStatement 1909894 1909988 - CallExpression 1909926 1909987 - Identifier 1909926 1909946 - CallExpression 1909947 1909986 - Identifier 1909947 1909978 - Identifier 1909979 1909985 - VariableStatement 1910011 1910224 - VariableDeclarationList 1910011 1910223 - VariableDeclaration 1910189 1910223 - Identifier 1910189 1910197 - CallExpression 1910199 1910223 - Identifier 1910199 1910215 - Identifier 1910216 1910222 - IfStatement 1910224 1910419 - BinaryExpression 1910250 1910311 - Identifier 1910250 1910257 - AmpersandAmpersandToken 1910257 1910260 - PrefixUnaryExpression 1910260 1910311 - CallExpression 1910262 1910311 - Identifier 1910262 1910282 - PropertyAccessExpression 1910283 1910310 - PropertyAccessExpression 1910283 1910305 - Identifier 1910283 1910290 - Identifier 1910291 1910305 - Identifier 1910306 1910310 - Block 1910312 1910419 - ReturnStatement 1910314 1910396 - CallExpression 1910346 1910395 - Identifier 1910346 1910366 - PropertyAccessExpression 1910367 1910394 - PropertyAccessExpression 1910367 1910389 - Identifier 1910367 1910374 - Identifier 1910375 1910389 - Identifier 1910390 1910394 - ReturnStatement 1910438 1910530 - CallExpression 1910462 1910529 - Identifier 1910462 1910480 - AsExpression 1910481 1910514 - Identifier 1910481 1910487 - TypeReference 1910490 1910514 - Identifier 1910490 1910514 - Identifier 1910515 1910528 - CaseClause 1910545 1910679 - PropertyAccessExpression 1910563 1910592 - Identifier 1910563 1910574 - Identifier 1910575 1910592 - ReturnStatement 1910593 1910679 - CallExpression 1910617 1910678 - Identifier 1910617 1910635 - AsExpression 1910636 1910663 - Identifier 1910636 1910642 - TypeReference 1910645 1910663 - Identifier 1910645 1910663 - Identifier 1910664 1910677 - CaseClause 1910679 1910812 - PropertyAccessExpression 1910697 1910728 - Identifier 1910697 1910708 - Identifier 1910709 1910728 - ReturnStatement 1910729 1910812 - CallExpression 1910753 1910811 - Identifier 1910753 1910773 - PropertyAccessExpression 1910774 1910810 - ParenthesizedExpression 1910774 1910805 - AsExpression 1910775 1910804 - Identifier 1910775 1910781 - TypeReference 1910784 1910804 - Identifier 1910784 1910804 - Identifier 1910806 1910810 - CaseClause 1910812 1910944 - PropertyAccessExpression 1910830 1910858 - Identifier 1910830 1910841 - Identifier 1910842 1910858 - ReturnStatement 1910859 1910944 - CallExpression 1910883 1910943 - Identifier 1910883 1910915 - AsExpression 1910916 1910942 - Identifier 1910916 1910922 - TypeReference 1910925 1910942 - Identifier 1910925 1910942 - CaseClause 1910944 1911086 - PropertyAccessExpression 1910962 1910987 - Identifier 1910962 1910973 - Identifier 1910974 1910987 - ReturnStatement 1910988 1911086 - CallExpression 1911012 1911085 - Identifier 1911012 1911046 - AsExpression 1911047 1911070 - Identifier 1911047 1911053 - TypeReference 1911056 1911070 - Identifier 1911056 1911070 - Identifier 1911071 1911084 - CaseClause 1911086 1911129 - PropertyAccessExpression 1911104 1911128 - Identifier 1911104 1911115 - Identifier 1911116 1911128 - CaseClause 1911129 1911295 - PropertyAccessExpression 1911147 1911177 - Identifier 1911147 1911158 - Identifier 1911159 1911177 - ReturnStatement 1911178 1911295 - CallExpression 1911202 1911294 - Identifier 1911202 1911235 - AsExpression 1911236 1911279 - Identifier 1911236 1911242 - UnionType 1911245 1911279 - TypeReference 1911245 1911258 - Identifier 1911245 1911258 - TypeReference 1911260 1911279 - Identifier 1911260 1911279 - Identifier 1911280 1911293 - CaseClause 1911295 1911343 - PropertyAccessExpression 1911313 1911342 - Identifier 1911313 1911324 - Identifier 1911325 1911342 - CaseClause 1911343 1911505 - PropertyAccessExpression 1911361 1911394 - Identifier 1911361 1911372 - Identifier 1911373 1911394 - ReturnStatement 1911395 1911505 - CallExpression 1911419 1911504 - Identifier 1911419 1911457 - AsExpression 1911458 1911489 - Identifier 1911458 1911464 - TypeReference 1911467 1911489 - Identifier 1911467 1911489 - Identifier 1911490 1911503 - CaseClause 1911505 1911636 - PropertyAccessExpression 1911523 1911550 - Identifier 1911523 1911534 - Identifier 1911535 1911550 - ReturnStatement 1911551 1911636 - CallExpression 1911575 1911635 - Identifier 1911575 1911608 - AsExpression 1911609 1911634 - Identifier 1911609 1911615 - TypeReference 1911618 1911634 - Identifier 1911618 1911634 - ReturnStatement 1911647 1911674 - Identifier 1911663 1911673 - FunctionDeclaration 1911681 1911855 - Identifier 1911697 1911722 - Parameter 1911723 1911739 - Identifier 1911723 1911727 - TypeReference 1911728 1911739 - Identifier 1911728 1911739 - Block 1911740 1911855 - ExpressionStatement 1911742 1911848 - CallExpression 1911742 1911847 - Identifier 1911742 1911770 - Identifier 1911771 1911775 - CallExpression 1911776 1911828 - Identifier 1911776 1911794 - Identifier 1911795 1911799 - Identifier 1911800 1911827 - TrueKeyword 1911829 1911846 - FunctionDeclaration 1911855 1912162 - Identifier 1911871 1911890 - Parameter 1911891 1911907 - Identifier 1911891 1911895 - TypeReference 1911896 1911907 - Identifier 1911896 1911907 - Parameter 1911908 1911931 - Identifier 1911908 1911913 - UnionType 1911914 1911931 - TypeReference 1911914 1911919 - Identifier 1911914 1911919 - UndefinedKeyword 1911921 1911931 - Parameter 1911932 1911949 - Identifier 1911932 1911940 - BooleanKeyword 1911941 1911949 - Block 1911950 1912162 - ExpressionStatement 1911952 1912010 - BinaryExpression 1911952 1912009 - ElementAccessExpression 1911952 1912002 - Identifier 1911952 1911981 - Identifier 1911982 1912001 - EqualsToken 1912002 1912004 - Identifier 1912004 1912009 - ExpressionStatement 1912010 1912064 - BinaryExpression 1912010 1912063 - ElementAccessExpression 1912010 1912056 - Identifier 1912010 1912035 - Identifier 1912036 1912055 - EqualsToken 1912056 1912058 - Identifier 1912058 1912063 - ExpressionStatement 1912064 1912123 - BinaryExpression 1912064 1912122 - ElementAccessExpression 1912064 1912112 - Identifier 1912064 1912091 - Identifier 1912092 1912111 - EqualsToken 1912112 1912114 - Identifier 1912114 1912122 - ExpressionStatement 1912123 1912155 - PostfixUnaryExpression 1912123 1912154 - Identifier 1912123 1912152 - FunctionDeclaration 1912162 1912239 - Identifier 1912178 1912196 - Block 1912198 1912239 - ExpressionStatement 1912200 1912232 - PostfixUnaryExpression 1912200 1912231 - Identifier 1912200 1912229 - FunctionDeclaration 1912239 1912550 - Identifier 1912255 1912274 - Parameter 1912275 1912285 - Identifier 1912275 1912279 - TypeReference 1912280 1912285 - Identifier 1912280 1912285 - Parameter 1912286 1912309 - Identifier 1912286 1912300 - BooleanKeyword 1912301 1912309 - Block 1912310 1912550 - ForStatement 1912312 1912523 - VariableDeclarationList 1912327 1912358 - VariableDeclaration 1912330 1912358 - Identifier 1912330 1912332 - BinaryExpression 1912334 1912358 - Identifier 1912334 1912354 - MinusToken 1912354 1912356 - NumericLiteral 1912356 1912358 - BinaryExpression 1912359 1912366 - Identifier 1912359 1912361 - GreaterThanEqualsToken 1912361 1912364 - NumericLiteral 1912364 1912366 - PostfixUnaryExpression 1912367 1912371 - Identifier 1912367 1912369 - Block 1912372 1912523 - IfStatement 1912374 1912512 - BinaryExpression 1912392 1912467 - BinaryExpression 1912392 1912423 - Identifier 1912392 1912396 - EqualsEqualsEqualsToken 1912396 1912400 - ElementAccessExpression 1912400 1912423 - Identifier 1912400 1912420 - Identifier 1912421 1912422 - AmpersandAmpersandToken 1912423 1912426 - ParenthesizedExpression 1912426 1912467 - BinaryExpression 1912428 1912466 - Identifier 1912428 1912441 - BarBarToken 1912441 1912444 - PrefixUnaryExpression 1912444 1912466 - ElementAccessExpression 1912446 1912466 - Identifier 1912446 1912463 - Identifier 1912464 1912465 - Block 1912468 1912512 - ReturnStatement 1912470 1912497 - Identifier 1912494 1912496 - ReturnStatement 1912523 1912543 - PrefixUnaryExpression 1912539 1912542 - NumericLiteral 1912541 1912542 - FunctionDeclaration 1912550 1912822 - Identifier 1912566 1912587 - Parameter 1912588 1912598 - Identifier 1912588 1912592 - TypeReference 1912593 1912598 - Identifier 1912593 1912598 - Parameter 1912599 1912646 - Identifier 1912599 1912616 - UnionType 1912617 1912646 - TypeReference 1912617 1912634 - Identifier 1912617 1912634 - UndefinedKeyword 1912636 1912646 - Block 1912647 1912822 - ExpressionStatement 1912649 1912711 - BinaryExpression 1912649 1912710 - ElementAccessExpression 1912649 1912703 - Identifier 1912649 1912680 - Identifier 1912681 1912702 - EqualsToken 1912703 1912705 - Identifier 1912705 1912710 - ExpressionStatement 1912711 1912781 - BinaryExpression 1912711 1912780 - ElementAccessExpression 1912711 1912761 - Identifier 1912711 1912738 - Identifier 1912739 1912760 - EqualsToken 1912761 1912763 - Identifier 1912763 1912780 - ExpressionStatement 1912781 1912815 - PostfixUnaryExpression 1912781 1912814 - Identifier 1912781 1912812 - FunctionDeclaration 1912822 1912903 - Identifier 1912838 1912858 - Block 1912860 1912903 - ExpressionStatement 1912862 1912896 - PostfixUnaryExpression 1912862 1912895 - Identifier 1912862 1912893 - FunctionDeclaration 1912903 1913167 - Identifier 1912919 1912939 - Parameter 1912940 1912950 - Identifier 1912940 1912944 - TypeReference 1912945 1912950 - Identifier 1912945 1912950 - Block 1912951 1913167 - ForStatement 1912953 1913160 - VariableDeclarationList 1912968 1913001 - VariableDeclaration 1912971 1913001 - Identifier 1912971 1912973 - BinaryExpression 1912975 1913001 - Identifier 1912975 1912997 - MinusToken 1912997 1912999 - NumericLiteral 1912999 1913001 - BinaryExpression 1913002 1913009 - Identifier 1913002 1913004 - GreaterThanEqualsToken 1913004 1913007 - NumericLiteral 1913007 1913009 - PostfixUnaryExpression 1913010 1913014 - Identifier 1913010 1913012 - Block 1913015 1913160 - IfStatement 1913017 1913149 - CallExpression 1913035 1913085 - Identifier 1913035 1913053 - Identifier 1913054 1913058 - ElementAccessExpression 1913059 1913084 - Identifier 1913059 1913081 - Identifier 1913082 1913083 - Block 1913086 1913149 - ReturnStatement 1913088 1913134 - ElementAccessExpression 1913112 1913133 - Identifier 1913112 1913130 - Identifier 1913131 1913132 - FunctionDeclaration 1913167 1913388 - Identifier 1913183 1913216 - Parameter 1913217 1913238 - Identifier 1913217 1913221 - TypeReference 1913222 1913238 - Identifier 1913222 1913238 - Block 1913239 1913388 - ReturnStatement 1913241 1913381 - CallExpression 1913257 1913380 - Identifier 1913257 1913291 - CallExpression 1913292 1913345 - Identifier 1913292 1913321 - FalseKeyword 1913322 1913344 - CallExpression 1913346 1913379 - Identifier 1913346 1913373 - Identifier 1913374 1913378 - FunctionDeclaration 1913388 1914190 - Identifier 1913404 1913442 - Parameter 1913443 1913470 - Identifier 1913443 1913447 - TypeReference 1913448 1913470 - Identifier 1913448 1913470 - Parameter 1913471 1913510 - Identifier 1913471 1913484 - UnionType 1913485 1913510 - TypeReference 1913485 1913498 - Identifier 1913485 1913498 - UndefinedKeyword 1913500 1913510 - Block 1913511 1914190 - IfStatement 1913513 1914121 - BinaryExpression 1913527 1913597 - CallExpression 1913527 1913552 - Identifier 1913527 1913546 - Identifier 1913547 1913551 - AmpersandAmpersandToken 1913552 1913555 - BinaryExpression 1913555 1913597 - Identifier 1913555 1913568 - ExclamationEqualsEqualsToken 1913568 1913572 - PropertyAccessExpression 1913572 1913597 - Identifier 1913572 1913585 - Identifier 1913586 1913597 - Block 1913598 1914121 - VariableStatement 1913600 1913693 - VariableDeclarationList 1913600 1913692 - VariableDeclaration 1913619 1913692 - Identifier 1913619 1913625 - CallExpression 1913627 1913692 - Identifier 1913627 1913646 - PropertyAccessExpression 1913647 1913658 - Identifier 1913647 1913651 - Identifier 1913652 1913658 - PrefixUnaryExpression 1913659 1913691 - Identifier 1913679 1913691 - IfStatement 1913693 1914110 - BinaryExpression 1913711 1913721 - Identifier 1913711 1913716 - GreaterThanEqualsToken 1913716 1913719 - NumericLiteral 1913719 1913721 - Block 1913722 1914110 - ReturnStatement 1913724 1914095 - ElementAccessExpression 1914071 1914094 - Identifier 1914071 1914087 - Identifier 1914088 1914093 - ReturnStatement 1914121 1914183 - CallExpression 1914137 1914182 - Identifier 1914137 1914173 - Identifier 1914174 1914178 - NumericLiteral 1914179 1914181 - FunctionDeclaration 1914190 1914527 - Identifier 1914206 1914247 - Parameter 1914248 1914268 - Identifier 1914248 1914257 - TypeReference 1914258 1914268 - Identifier 1914258 1914268 - Parameter 1914269 1914287 - Identifier 1914269 1914274 - TypeReference 1914275 1914287 - Identifier 1914275 1914287 - Block 1914288 1914527 - ReturnStatement 1914290 1914520 - ConditionalExpression 1914306 1914519 - BinaryExpression 1914306 1914393 - CallExpression 1914306 1914333 - Identifier 1914306 1914327 - Identifier 1914328 1914332 - BarBarToken 1914333 1914336 - BinaryExpression 1914336 1914393 - CallExpression 1914336 1914362 - Identifier 1914336 1914356 - Identifier 1914357 1914361 - ExclamationEqualsEqualsToken 1914362 1914366 - PropertyAccessExpression 1914366 1914393 - Identifier 1914366 1914383 - Identifier 1914384 1914393 - QuestionToken 1914393 1914408 - CallExpression 1914408 1914458 - Identifier 1914408 1914441 - Identifier 1914442 1914451 - Identifier 1914452 1914457 - ColonToken 1914458 1914473 - CallExpression 1914473 1914519 - Identifier 1914473 1914502 - Identifier 1914503 1914512 - Identifier 1914513 1914518 - FunctionDeclaration 1914527 1915069 - Identifier 1914543 1914576 - Parameter 1914577 1914591 - Identifier 1914577 1914580 - TypeReference 1914581 1914591 - Identifier 1914581 1914591 - Parameter 1914592 1914613 - Identifier 1914592 1914600 - TypeReference 1914601 1914613 - Identifier 1914601 1914613 - Block 1914614 1915069 - VariableStatement 1914616 1914707 - VariableDeclarationList 1914616 1914706 - VariableDeclaration 1914629 1914706 - Identifier 1914629 1914639 - CallExpression 1914641 1914706 - Identifier 1914641 1914688 - Identifier 1914689 1914692 - Identifier 1914693 1914705 - ExpressionStatement 1914707 1914822 - BinaryExpression 1914707 1914821 - Identifier 1914707 1914726 - EqualsToken 1914726 1914728 - CallExpression 1914728 1914821 - Identifier 1914728 1914773 - Identifier 1914774 1914781 - CallExpression 1914782 1914809 - Identifier 1914782 1914800 - Identifier 1914801 1914808 - Identifier 1914810 1914820 - VariableStatement 1914822 1914907 - VariableDeclarationList 1914822 1914906 - VariableDeclaration 1914837 1914906 - Identifier 1914837 1914854 - CallExpression 1914856 1914906 - Identifier 1914856 1914867 - PropertyAccessExpression 1914868 1914896 - Identifier 1914868 1914876 - Identifier 1914877 1914896 - Identifier 1914897 1914905 - IfStatement 1914907 1915035 - PrefixUnaryExpression 1914921 1914951 - CallExpression 1914922 1914951 - Identifier 1914922 1914933 - Identifier 1914934 1914950 - Block 1914952 1915035 - ExpressionStatement 1914954 1915024 - BinaryExpression 1914954 1915023 - Identifier 1914954 1914977 - EqualsToken 1914977 1914979 - CallExpression 1914979 1915023 - Identifier 1914979 1914994 - Identifier 1914995 1915011 - Identifier 1915012 1915022 - ReturnStatement 1915035 1915062 - Identifier 1915051 1915061 - FunctionDeclaration 1915069 1916765 - Identifier 1915085 1915123 - Parameter 1915124 1915138 - Identifier 1915124 1915127 - TypeReference 1915128 1915138 - Identifier 1915128 1915138 - Parameter 1915139 1915170 - Identifier 1915139 1915160 - TypeReference 1915161 1915170 - Identifier 1915161 1915170 - Block 1915171 1916765 - IfStatement 1915173 1916579 - PropertyAccessExpression 1915187 1915210 - Identifier 1915187 1915190 - Identifier 1915191 1915210 - Block 1915211 1916579 - VariableStatement 1915213 1915995 - VariableDeclarationList 1915213 1915994 - VariableDeclaration 1915973 1915994 - Identifier 1915973 1915981 - ArrayType 1915982 1915989 - TypeReference 1915982 1915987 - Identifier 1915982 1915987 - ArrayLiteralExpression 1915991 1915994 - ForOfStatement 1915995 1916460 - VariableDeclarationList 1916014 1916029 - VariableDeclaration 1916019 1916029 - Identifier 1916019 1916029 - PropertyAccessExpression 1916032 1916056 - Identifier 1916032 1916036 - Identifier 1916037 1916056 - Block 1916057 1916460 - VariableStatement 1916059 1916130 - VariableDeclarationList 1916059 1916129 - VariableDeclaration 1916082 1916129 - Identifier 1916082 1916091 - CallExpression 1916093 1916129 - Identifier 1916093 1916118 - Identifier 1916119 1916128 - IfStatement 1916130 1916231 - CallExpression 1916152 1916171 - Identifier 1916152 1916161 - Identifier 1916162 1916170 - Block 1916172 1916231 - ReturnStatement 1916174 1916212 - Identifier 1916202 1916211 - VariableStatement 1916231 1916322 - VariableDeclarationList 1916231 1916321 - VariableDeclaration 1916254 1916321 - Identifier 1916254 1916263 - CallExpression 1916265 1916321 - Identifier 1916265 1916289 - Identifier 1916290 1916298 - Identifier 1916299 1916320 - IfStatement 1916322 1916404 - PrefixUnaryExpression 1916344 1916353 - Identifier 1916345 1916353 - Block 1916354 1916404 - ReturnStatement 1916356 1916385 - ExpressionStatement 1916404 1916445 - CallExpression 1916404 1916444 - PropertyAccessExpression 1916404 1916434 - Identifier 1916404 1916429 - Identifier 1916430 1916434 - Identifier 1916435 1916443 - ReturnStatement 1916460 1916510 - CallExpression 1916480 1916509 - Identifier 1916480 1916500 - Identifier 1916501 1916508 - VariableStatement 1916579 1916640 - VariableDeclarationList 1916579 1916639 - VariableDeclaration 1916594 1916639 - Identifier 1916594 1916607 - CallExpression 1916609 1916639 - Identifier 1916609 1916634 - Identifier 1916635 1916638 - ReturnStatement 1916640 1916758 - ConditionalExpression 1916656 1916757 - CallExpression 1916656 1916680 - Identifier 1916656 1916666 - Identifier 1916667 1916679 - QuestionToken 1916680 1916682 - Identifier 1916682 1916695 - ColonToken 1916695 1916697 - CallExpression 1916697 1916757 - Identifier 1916697 1916721 - Identifier 1916722 1916734 - Identifier 1916735 1916756 - FunctionDeclaration 1916765 1917737 - Identifier 1916781 1916821 - Parameter 1916822 1916842 - Identifier 1916822 1916829 - TypeReference 1916830 1916842 - Identifier 1916830 1916842 - Block 1916843 1917737 - IfStatement 1916845 1916925 - CallExpression 1916859 1916888 - Identifier 1916859 1916879 - Identifier 1916880 1916887 - ReturnStatement 1916889 1916925 - CallExpression 1916896 1916924 - Identifier 1916896 1916915 - Identifier 1916916 1916923 - IfStatement 1916925 1917230 - CallExpression 1916939 1916977 - Identifier 1916939 1916960 - PropertyAccessExpression 1916961 1916976 - Identifier 1916961 1916968 - Identifier 1916969 1916976 - Block 1916978 1917230 - VariableStatement 1916980 1917070 - VariableDeclarationList 1916980 1917069 - VariableDeclaration 1916999 1917069 - Identifier 1916999 1917006 - CallExpression 1917008 1917069 - Identifier 1917008 1917060 - Identifier 1917061 1917068 - VariableStatement 1917070 1917154 - VariableDeclarationList 1917070 1917153 - VariableDeclaration 1917089 1917153 - Identifier 1917089 1917103 - CallExpression 1917105 1917153 - Identifier 1917105 1917136 - Identifier 1917137 1917144 - Identifier 1917145 1917152 - ReturnStatement 1917154 1917219 - CallExpression 1917174 1917218 - Identifier 1917174 1917203 - Identifier 1917204 1917217 - VariableStatement 1917230 1917295 - VariableDeclarationList 1917230 1917294 - VariableDeclaration 1917245 1917294 - Identifier 1917245 1917253 - CallExpression 1917255 1917294 - Identifier 1917255 1917277 - PropertyAccessExpression 1917278 1917293 - Identifier 1917278 1917285 - Identifier 1917286 1917293 - IfStatement 1917295 1917705 - BinaryExpression 1917309 1917348 - PropertyAccessExpression 1917309 1917322 - Identifier 1917309 1917316 - Identifier 1917317 1917322 - AmpersandToken 1917322 1917324 - PropertyAccessExpression 1917324 1917348 - Identifier 1917324 1917334 - Identifier 1917335 1917348 - Block 1917349 1917705 - VariableStatement 1917351 1917467 - VariableDeclarationList 1917351 1917466 - VariableDeclaration 1917370 1917466 - Identifier 1917370 1917377 - CallExpression 1917379 1917466 - Identifier 1917379 1917427 - AsExpression 1917428 1917456 - Identifier 1917428 1917435 - TypeReference 1917438 1917456 - Identifier 1917438 1917456 - Identifier 1917457 1917465 - IfStatement 1917467 1917545 - PrefixUnaryExpression 1917485 1917492 - Identifier 1917486 1917492 - Block 1917493 1917545 - ReturnStatement 1917495 1917530 - Identifier 1917519 1917529 - VariableStatement 1917545 1917629 - VariableDeclarationList 1917545 1917628 - VariableDeclaration 1917564 1917628 - Identifier 1917564 1917578 - CallExpression 1917580 1917628 - Identifier 1917580 1917611 - Identifier 1917612 1917619 - Identifier 1917620 1917627 - ReturnStatement 1917629 1917694 - CallExpression 1917649 1917693 - Identifier 1917649 1917678 - Identifier 1917679 1917692 - ReturnStatement 1917705 1917730 - Identifier 1917721 1917729 - FunctionDeclaration 1917737 1918279 - Identifier 1917753 1917798 - Parameter 1917799 1917819 - Identifier 1917799 1917806 - TypeReference 1917807 1917819 - Identifier 1917807 1917819 - Parameter 1917820 1917831 - Identifier 1917820 1917823 - TypeReference 1917824 1917831 - Identifier 1917824 1917831 - Parameter 1917832 1917853 - Identifier 1917832 1917847 - TypeReference 1917848 1917853 - Identifier 1917848 1917853 - Block 1917854 1918279 - VariableStatement 1917856 1917920 - VariableDeclarationList 1917856 1917919 - VariableDeclaration 1917871 1917919 - Identifier 1917871 1917882 - CallExpression 1917884 1917919 - Identifier 1917884 1917915 - Identifier 1917916 1917918 - IfStatement 1917920 1918240 - Identifier 1917934 1917944 - Block 1917945 1918240 - VariableStatement 1917947 1918027 - VariableDeclarationList 1917947 1918026 - VariableDeclaration 1917966 1918026 - Identifier 1917966 1917975 - CallExpression 1917977 1918026 - Identifier 1917977 1918017 - Identifier 1918018 1918025 - VariableStatement 1918027 1918155 - VariableDeclarationList 1918027 1918154 - VariableDeclaration 1918046 1918154 - Identifier 1918046 1918053 - CallExpression 1918055 1918154 - Identifier 1918055 1918095 - Identifier 1918096 1918106 - CallExpression 1918107 1918127 - Identifier 1918107 1918118 - Identifier 1918119 1918126 - Identifier 1918128 1918137 - Identifier 1918138 1918153 - IfStatement 1918155 1918229 - Identifier 1918173 1918179 - Block 1918180 1918229 - ReturnStatement 1918182 1918214 - Identifier 1918206 1918213 - ReturnStatement 1918240 1918272 - Identifier 1918256 1918271 - FunctionDeclaration 1918279 1921404 - Identifier 1918295 1918324 - Parameter 1918325 1918339 - Identifier 1918325 1918328 - TypeReference 1918329 1918339 - Identifier 1918329 1918339 - Parameter 1918340 1918371 - Identifier 1918340 1918348 - TypeReference 1918349 1918371 - Identifier 1918349 1918371 - Block 1918372 1921404 - VariableStatement 1918374 1918422 - VariableDeclarationList 1918374 1918421 - VariableDeclaration 1918389 1918421 - Identifier 1918389 1918392 - CallExpression 1918394 1918421 - Identifier 1918394 1918412 - Identifier 1918413 1918420 - VariableStatement 1918422 1918493 - VariableDeclarationList 1918422 1918492 - VariableDeclaration 1918437 1918492 - Identifier 1918437 1918458 - CallExpression 1918460 1918492 - Identifier 1918460 1918488 - Identifier 1918489 1918491 - VariableStatement 1918493 1919158 - VariableDeclarationList 1918493 1919157 - VariableDeclaration 1918506 1919157 - Identifier 1918506 1918521 - ConditionalExpression 1918523 1919157 - BinaryExpression 1918523 1918558 - Identifier 1918523 1918544 - EqualsEqualsEqualsToken 1918544 1918548 - Identifier 1918548 1918558 - QuestionToken 1918558 1918724 - CallExpression 1918724 1918789 - Identifier 1918724 1918771 - Identifier 1918772 1918775 - Identifier 1918776 1918788 - ColonToken 1918789 1918804 - ConditionalExpression 1918804 1919157 - BinaryExpression 1918804 1918832 - Identifier 1918804 1918825 - EqualsEqualsEqualsToken 1918825 1918829 - StringLiteral 1918829 1918832 - QuestionToken 1918832 1918963 - CallExpression 1918963 1918993 - Identifier 1918963 1918988 - Identifier 1918989 1918992 - ColonToken 1918993 1919092 - CallExpression 1919092 1919157 - Identifier 1919092 1919130 - Identifier 1919131 1919134 - Identifier 1919135 1919156 - IfStatement 1919158 1919590 - PrefixUnaryExpression 1919174 1919189 - Identifier 1919175 1919189 - Block 1919190 1919590 - IfStatement 1919192 1919546 - BinaryExpression 1919283 1919348 - PrefixUnaryExpression 1919283 1919305 - PrefixUnaryExpression 1919284 1919305 - Identifier 1919285 1919305 - AmpersandAmpersandToken 1919305 1919308 - PrefixUnaryExpression 1919308 1919348 - PrefixUnaryExpression 1919310 1919348 - CallExpression 1919311 1919348 - Identifier 1919311 1919317 - PropertyAccessExpression 1919318 1919347 - PropertyAccessExpression 1919318 1919336 - Identifier 1919318 1919325 - Identifier 1919326 1919336 - Identifier 1919337 1919347 - Block 1919349 1919546 - ExpressionStatement 1919351 1919531 - CallExpression 1919351 1919530 - Identifier 1919351 1919374 - Identifier 1919375 1919382 - PropertyAccessExpression 1919383 1919479 - Identifier 1919383 1919395 - Identifier 1919396 1919479 - CallExpression 1919480 1919529 - Identifier 1919480 1919507 - Identifier 1919508 1919528 - ReturnStatement 1919546 1919579 - Identifier 1919566 1919578 - ExpressionStatement 1919590 1919693 - BinaryExpression 1919590 1919692 - Identifier 1919590 1919616 - EqualsToken 1919616 1919618 - CallExpression 1919618 1919692 - Identifier 1919618 1919663 - Identifier 1919664 1919671 - Identifier 1919672 1919675 - Identifier 1919676 1919691 - IfStatement 1919693 1921397 - CallExpression 1919709 1919734 - Identifier 1919709 1919718 - Identifier 1919719 1919733 - Block 1919735 1919834 - ReturnStatement 1919737 1919823 - Identifier 1919807 1919822 - Block 1919848 1921397 - VariableStatement 1919850 1919994 - VariableDeclarationList 1919850 1919993 - VariableDeclaration 1919953 1919993 - Identifier 1919953 1919976 - Identifier 1919978 1919993 - VariableStatement 1919994 1920093 - VariableDeclarationList 1919994 1920092 - VariableDeclaration 1920013 1920092 - Identifier 1920013 1920035 - CallExpression 1920037 1920092 - Identifier 1920037 1920048 - PropertyAccessExpression 1920049 1920082 - Identifier 1920049 1920057 - Identifier 1920058 1920082 - Identifier 1920083 1920091 - IfStatement 1920093 1921083 - PrefixUnaryExpression 1920111 1920146 - CallExpression 1920112 1920146 - Identifier 1920112 1920123 - Identifier 1920124 1920145 - Block 1920147 1921083 - VariableStatement 1920149 1920268 - VariableDeclarationList 1920149 1920267 - VariableDeclaration 1920172 1920267 - Identifier 1920172 1920183 - CallExpression 1920185 1920267 - Identifier 1920185 1920237 - PropertyAccessExpression 1920238 1920266 - Identifier 1920238 1920259 - Identifier 1920260 1920266 - VariableStatement 1920268 1920338 - VariableDeclarationList 1920268 1920337 - VariableDeclaration 1920291 1920337 - Identifier 1920291 1920305 - CallExpression 1920307 1920337 - Identifier 1920307 1920332 - Identifier 1920333 1920336 - VariableStatement 1920338 1920394 - VariableDeclarationList 1920338 1920393 - VariableDeclaration 1920359 1920393 - Identifier 1920359 1920387 - TypeReference 1920388 1920393 - Identifier 1920388 1920393 - IfStatement 1920394 1920957 - Identifier 1920416 1920426 - Block 1920427 1920815 - VariableStatement 1920429 1920661 - VariableDeclarationList 1920429 1920660 - VariableDeclaration 1920533 1920660 - Identifier 1920533 1920546 - CallExpression 1920548 1920660 - Identifier 1920548 1920573 - ArrayLiteralExpression 1920574 1920589 - Identifier 1920575 1920588 - Identifier 1920590 1920601 - CallExpression 1920602 1920638 - Identifier 1920602 1920626 - Identifier 1920627 1920637 - CallExpression 1920639 1920659 - Identifier 1920639 1920650 - Identifier 1920651 1920658 - ExpressionStatement 1920661 1920796 - BinaryExpression 1920661 1920795 - Identifier 1920661 1920710 - EqualsToken 1920710 1920712 - CallExpression 1920712 1920795 - Identifier 1920712 1920728 - Identifier 1920729 1920750 - CallExpression 1920751 1920794 - Identifier 1920751 1920768 - Identifier 1920769 1920779 - Identifier 1920780 1920793 - ExpressionStatement 1920904 1920957 - BinaryExpression 1920904 1920956 - Identifier 1920904 1920932 - EqualsToken 1920932 1920934 - Identifier 1920934 1920956 - ExpressionStatement 1920957 1921068 - BinaryExpression 1920957 1921067 - Identifier 1920957 1920997 - EqualsToken 1920997 1920999 - CallExpression 1920999 1921067 - Identifier 1920999 1921014 - Identifier 1921015 1921042 - Identifier 1921043 1921066 - VariableStatement 1921083 1921174 - VariableDeclarationList 1921083 1921173 - VariableDeclaration 1921104 1921173 - Identifier 1921104 1921121 - CallExpression 1921123 1921173 - Identifier 1921123 1921134 - PropertyAccessExpression 1921135 1921163 - Identifier 1921135 1921143 - Identifier 1921144 1921163 - Identifier 1921164 1921172 - IfStatement 1921174 1921340 - PrefixUnaryExpression 1921192 1921222 - CallExpression 1921193 1921222 - Identifier 1921193 1921204 - Identifier 1921205 1921221 - Block 1921223 1921340 - ExpressionStatement 1921225 1921325 - BinaryExpression 1921225 1921324 - Identifier 1921225 1921265 - EqualsToken 1921265 1921267 - CallExpression 1921267 1921324 - Identifier 1921267 1921282 - Identifier 1921283 1921299 - Identifier 1921300 1921323 - ReturnStatement 1921340 1921386 - Identifier 1921362 1921385 - FunctionDeclaration 1921404 1921960 - Identifier 1921420 1921445 - Parameter 1921446 1921478 - Identifier 1921446 1921456 - TypeOperator 1921457 1921478 - ArrayType 1921466 1921478 - TypeReference 1921466 1921476 - Identifier 1921466 1921476 - Block 1921479 1921960 - ReturnStatement 1921481 1921953 - ConditionalExpression 1921497 1921952 - CallExpression 1921497 1921552 - Identifier 1921497 1921518 - Identifier 1921519 1921534 - StringLiteral 1921535 1921551 - QuestionToken 1921552 1921567 - CallExpression 1921567 1921927 - Identifier 1921567 1921578 - Identifier 1921579 1921607 - ArrowFunction 1921608 1921911 - Parameter 1921627 1921654 - Identifier 1921627 1921631 - UnionType 1921632 1921654 - TypeReference 1921632 1921642 - Identifier 1921632 1921642 - UndefinedKeyword 1921644 1921654 - Parameter 1921655 1921661 - Identifier 1921655 1921661 - EqualsGreaterThanToken 1921662 1921665 - ConditionalExpression 1921665 1921911 - BinaryExpression 1921665 1921710 - BinaryExpression 1921665 1921701 - Identifier 1921665 1921691 - EqualsEqualsEqualsToken 1921691 1921695 - Identifier 1921695 1921701 - BarBarToken 1921701 1921704 - PrefixUnaryExpression 1921704 1921710 - Identifier 1921706 1921710 - QuestionToken 1921710 1921712 - Identifier 1921712 1921717 - ColonToken 1921717 1921744 - ConditionalExpression 1921744 1921911 - CallExpression 1921744 1921819 - Identifier 1921744 1921775 - PropertyAccessExpression 1921776 1921795 - Identifier 1921776 1921780 - Identifier 1921781 1921795 - PropertyAccessExpression 1921796 1921818 - NonNullExpression 1921796 1921803 - Identifier 1921796 1921802 - Identifier 1921804 1921818 - QuestionToken 1921819 1921821 - CallExpression 1921821 1921874 - Identifier 1921821 1921860 - Identifier 1921861 1921865 - NonNullExpression 1921866 1921873 - Identifier 1921866 1921872 - ColonToken 1921874 1921901 - Identifier 1921901 1921911 - ColonToken 1921927 1921942 - Identifier 1921942 1921952 - FunctionDeclaration 1921960 1922697 - Identifier 1921976 1922005 - Parameter 1922006 1922030 - Identifier 1922006 1922010 - UnionType 1922011 1922030 - TypeReference 1922011 1922018 - Identifier 1922011 1922018 - UndefinedKeyword 1922020 1922030 - Parameter 1922031 1922057 - Identifier 1922031 1922037 - UnionType 1922038 1922057 - TypeReference 1922038 1922045 - Identifier 1922038 1922045 - UndefinedKeyword 1922047 1922057 - Parameter 1922058 1922089 - Identifier 1922058 1922065 - UnionType 1922066 1922089 - TypeReference 1922066 1922077 - Identifier 1922066 1922077 - UndefinedKeyword 1922079 1922089 - UnionType 1922091 1922110 - TypeReference 1922091 1922098 - Identifier 1922091 1922098 - UndefinedKeyword 1922100 1922110 - Block 1922110 1922697 - IfStatement 1922112 1922190 - BinaryExpression 1922126 1922141 - PrefixUnaryExpression 1922126 1922131 - Identifier 1922127 1922131 - BarBarToken 1922131 1922134 - PrefixUnaryExpression 1922134 1922141 - Identifier 1922136 1922141 - Block 1922142 1922190 - ReturnStatement 1922144 1922179 - BinaryExpression 1922164 1922178 - Identifier 1922164 1922169 - BarBarToken 1922169 1922172 - Identifier 1922172 1922178 - VariableStatement 1922190 1922636 - VariableDeclarationList 1922190 1922635 - VariableDeclaration 1922537 1922635 - Identifier 1922537 1922546 - CallExpression 1922548 1922635 - Identifier 1922548 1922561 - ArrayLiteralExpression 1922562 1922634 - CallExpression 1922563 1922584 - Identifier 1922563 1922578 - Identifier 1922579 1922583 - CallExpression 1922585 1922633 - Identifier 1922585 1922601 - CallExpression 1922602 1922624 - Identifier 1922602 1922617 - Identifier 1922618 1922623 - Identifier 1922625 1922632 - ReturnStatement 1922636 1922690 - CallExpression 1922652 1922689 - Identifier 1922652 1922673 - Identifier 1922674 1922678 - Identifier 1922679 1922688 - FunctionDeclaration 1922697 1925565 - Identifier 1922713 1922743 - Parameter 1922744 1922759 - Identifier 1922744 1922748 - TypeReference 1922749 1922759 - Identifier 1922749 1922759 - Parameter 1922760 1922777 - Identifier 1922760 1922766 - TypeReference 1922767 1922777 - Identifier 1922767 1922777 - Parameter 1922778 1922809 - Identifier 1922778 1922785 - UnionType 1922786 1922809 - TypeReference 1922786 1922797 - Identifier 1922786 1922797 - UndefinedKeyword 1922799 1922809 - Block 1922810 1925565 - VariableStatement 1922812 1922864 - VariableDeclarationList 1922812 1922863 - VariableDeclaration 1922827 1922863 - Identifier 1922827 1922837 - CallExpression 1922839 1922863 - Identifier 1922839 1922857 - Identifier 1922858 1922862 - VariableStatement 1922864 1922918 - VariableDeclarationList 1922864 1922917 - VariableDeclaration 1922879 1922917 - Identifier 1922879 1922890 - CallExpression 1922892 1922917 - Identifier 1922892 1922910 - Identifier 1922911 1922916 - VariableStatement 1922918 1922983 - VariableDeclarationList 1922918 1922982 - VariableDeclaration 1922933 1922982 - Identifier 1922933 1922941 - ConditionalExpression 1922943 1922982 - BinaryExpression 1922943 1922967 - Identifier 1922943 1922953 - GreaterThanEqualsToken 1922953 1922956 - Identifier 1922956 1922967 - QuestionToken 1922967 1922969 - Identifier 1922969 1922974 - ColonToken 1922974 1922976 - Identifier 1922976 1922982 - VariableStatement 1922983 1923041 - VariableDeclarationList 1922983 1923040 - VariableDeclaration 1922998 1923040 - Identifier 1922998 1923006 - ConditionalExpression 1923008 1923040 - BinaryExpression 1923008 1923025 - Identifier 1923008 1923016 - EqualsEqualsEqualsToken 1923016 1923020 - Identifier 1923020 1923025 - QuestionToken 1923025 1923027 - Identifier 1923027 1923033 - ColonToken 1923033 1923035 - Identifier 1923035 1923040 - VariableStatement 1923041 1923114 - VariableDeclarationList 1923041 1923113 - VariableDeclaration 1923056 1923113 - Identifier 1923056 1923069 - ConditionalExpression 1923071 1923113 - BinaryExpression 1923071 1923088 - Identifier 1923071 1923079 - EqualsEqualsEqualsToken 1923079 1923083 - Identifier 1923083 1923088 - QuestionToken 1923088 1923090 - Identifier 1923090 1923100 - ColonToken 1923100 1923102 - Identifier 1923102 1923113 - VariableStatement 1923114 1923223 - VariableDeclarationList 1923114 1923222 - VariableDeclaration 1923129 1923222 - Identifier 1923129 1923152 - BinaryExpression 1923154 1923222 - CallExpression 1923154 1923186 - Identifier 1923154 1923180 - Identifier 1923181 1923185 - BarBarToken 1923186 1923189 - CallExpression 1923189 1923222 - Identifier 1923189 1923215 - Identifier 1923216 1923221 - VariableStatement 1923223 1923325 - VariableDeclarationList 1923223 1923324 - VariableDeclaration 1923238 1923324 - Identifier 1923238 1923260 - BinaryExpression 1923262 1923324 - Identifier 1923262 1923285 - AmpersandAmpersandToken 1923285 1923288 - PrefixUnaryExpression 1923288 1923324 - CallExpression 1923290 1923324 - Identifier 1923290 1923315 - Identifier 1923316 1923323 - VariableStatement 1923325 1923416 - VariableDeclarationList 1923325 1923415 - VariableDeclaration 1923340 1923415 - Identifier 1923340 1923347 - NewExpression 1923349 1923415 - Identifier 1923353 1923359 - TypeReference 1923360 1923366 - Identifier 1923360 1923366 - BinaryExpression 1923368 1923414 - Identifier 1923368 1923380 - PlusToken 1923380 1923382 - ParenthesizedExpression 1923382 1923414 - ConditionalExpression 1923384 1923413 - Identifier 1923384 1923405 - QuestionToken 1923405 1923407 - NumericLiteral 1923407 1923409 - ColonToken 1923409 1923411 - NumericLiteral 1923411 1923413 - ForStatement 1923416 1925046 - VariableDeclarationList 1923431 1923440 - VariableDeclaration 1923434 1923440 - Identifier 1923434 1923436 - NumericLiteral 1923438 1923440 - BinaryExpression 1923441 1923458 - Identifier 1923441 1923443 - LessThanToken 1923443 1923445 - Identifier 1923445 1923458 - PostfixUnaryExpression 1923459 1923463 - Identifier 1923459 1923461 - Block 1923464 1925046 - VariableStatement 1923466 1923537 - VariableDeclarationList 1923466 1923536 - VariableDeclaration 1923483 1923536 - Identifier 1923483 1923500 - NonNullExpression 1923502 1923536 - CallExpression 1923502 1923535 - Identifier 1923502 1923523 - Identifier 1923524 1923531 - Identifier 1923532 1923534 - IfStatement 1923537 1923669 - BinaryExpression 1923555 1923572 - Identifier 1923555 1923562 - EqualsEqualsEqualsToken 1923562 1923566 - Identifier 1923566 1923572 - Block 1923573 1923669 - ExpressionStatement 1923575 1923654 - BinaryExpression 1923575 1923653 - Identifier 1923575 1923609 - EqualsToken 1923609 1923611 - CallExpression 1923611 1923653 - Identifier 1923611 1923627 - Identifier 1923628 1923644 - Identifier 1923645 1923652 - VariableStatement 1923669 1923754 - VariableDeclarationList 1923669 1923753 - VariableDeclaration 1923686 1923753 - Identifier 1923686 1923703 - BinaryExpression 1923705 1923753 - CallExpression 1923705 1923738 - Identifier 1923705 1923726 - Identifier 1923727 1923734 - Identifier 1923735 1923737 - BarBarToken 1923738 1923741 - Identifier 1923741 1923753 - IfStatement 1923754 1923886 - BinaryExpression 1923772 1923789 - Identifier 1923772 1923779 - EqualsEqualsEqualsToken 1923779 1923783 - Identifier 1923783 1923789 - Block 1923790 1923886 - ExpressionStatement 1923792 1923871 - BinaryExpression 1923792 1923870 - Identifier 1923792 1923826 - EqualsToken 1923826 1923828 - CallExpression 1923828 1923870 - Identifier 1923828 1923844 - Identifier 1923845 1923861 - Identifier 1923862 1923869 - VariableStatement 1923886 1923974 - VariableDeclarationList 1923886 1923973 - VariableDeclaration 1923905 1923973 - Identifier 1923905 1923920 - CallExpression 1923922 1923973 - Identifier 1923922 1923935 - ArrayLiteralExpression 1923936 1923972 - Identifier 1923937 1923953 - Identifier 1923954 1923971 - VariableStatement 1923974 1924085 - VariableDeclarationList 1923974 1924084 - VariableDeclaration 1923993 1924084 - Identifier 1923993 1924005 - BinaryExpression 1924007 1924084 - BinaryExpression 1924007 1924056 - Identifier 1924007 1924030 - AmpersandAmpersandToken 1924030 1924033 - PrefixUnaryExpression 1924033 1924056 - Identifier 1924035 1924056 - AmpersandAmpersandToken 1924056 1924059 - BinaryExpression 1924059 1924084 - Identifier 1924059 1924061 - EqualsEqualsEqualsToken 1924061 1924065 - ParenthesizedExpression 1924065 1924084 - BinaryExpression 1924067 1924083 - Identifier 1924067 1924079 - MinusToken 1924079 1924081 - NumericLiteral 1924081 1924083 - VariableStatement 1924085 1924189 - VariableDeclarationList 1924085 1924188 - VariableDeclaration 1924104 1924188 - Identifier 1924104 1924115 - BinaryExpression 1924117 1924188 - BinaryExpression 1924117 1924151 - Identifier 1924117 1924119 - GreaterThanEqualsToken 1924119 1924122 - CallExpression 1924122 1924151 - Identifier 1924122 1924142 - Identifier 1924143 1924150 - AmpersandAmpersandToken 1924151 1924154 - BinaryExpression 1924154 1924188 - Identifier 1924154 1924156 - GreaterThanEqualsToken 1924156 1924159 - CallExpression 1924159 1924188 - Identifier 1924159 1924179 - Identifier 1924180 1924187 - VariableStatement 1924189 1924285 - VariableDeclarationList 1924189 1924284 - VariableDeclaration 1924208 1924284 - Identifier 1924208 1924217 - ConditionalExpression 1924219 1924284 - BinaryExpression 1924219 1924234 - Identifier 1924219 1924221 - GreaterThanEqualsToken 1924221 1924224 - Identifier 1924224 1924234 - QuestionToken 1924234 1924236 - Identifier 1924236 1924246 - ColonToken 1924246 1924248 - CallExpression 1924248 1924284 - Identifier 1924248 1924275 - Identifier 1924276 1924280 - Identifier 1924281 1924283 - VariableStatement 1924285 1924384 - VariableDeclarationList 1924285 1924383 - VariableDeclaration 1924304 1924383 - Identifier 1924304 1924314 - ConditionalExpression 1924316 1924383 - BinaryExpression 1924316 1924332 - Identifier 1924316 1924318 - GreaterThanEqualsToken 1924318 1924321 - Identifier 1924321 1924332 - QuestionToken 1924332 1924334 - Identifier 1924334 1924344 - ColonToken 1924344 1924346 - CallExpression 1924346 1924383 - Identifier 1924346 1924373 - Identifier 1924374 1924379 - Identifier 1924380 1924382 - VariableStatement 1924384 1924563 - VariableDeclarationList 1924384 1924562 - VariableDeclaration 1924405 1924562 - Identifier 1924405 1924415 - ConditionalExpression 1924417 1924562 - BinaryExpression 1924417 1924440 - Identifier 1924417 1924426 - EqualsEqualsEqualsToken 1924426 1924430 - Identifier 1924430 1924440 - QuestionToken 1924440 1924442 - Identifier 1924442 1924451 - ColonToken 1924451 1924453 - ConditionalExpression 1924453 1924562 - PrefixUnaryExpression 1924453 1924480 - Identifier 1924472 1924480 - QuestionToken 1924480 1924482 - Identifier 1924482 1924492 - ColonToken 1924492 1924494 - ConditionalExpression 1924494 1924562 - PrefixUnaryExpression 1924494 1924522 - Identifier 1924513 1924522 - QuestionToken 1924522 1924524 - Identifier 1924524 1924533 - ColonToken 1924533 1924535 - Identifier 1924535 1924562 - VariableStatement 1924563 1924895 - VariableDeclarationList 1924563 1924894 - VariableDeclaration 1924582 1924894 - Identifier 1924582 1924594 - CallExpression 1924596 1924894 - Identifier 1924596 1924609 - BinaryExpression 1924610 1924720 - PropertyAccessExpression 1924610 1924662 - Identifier 1924610 1924639 - Identifier 1924640 1924662 - BarToken 1924662 1924664 - ParenthesizedExpression 1924664 1924720 - ConditionalExpression 1924666 1924719 - BinaryExpression 1924666 1924692 - Identifier 1924666 1924676 - AmpersandAmpersandToken 1924676 1924679 - PrefixUnaryExpression 1924679 1924692 - Identifier 1924681 1924692 - QuestionToken 1924692 1924694 - PropertyAccessExpression 1924694 1924715 - Identifier 1924694 1924706 - Identifier 1924707 1924715 - ColonToken 1924715 1924717 - NumericLiteral 1924717 1924719 - BinaryExpression 1924721 1924773 - Identifier 1924721 1924748 - BarBarToken 1924748 1924751 - AsExpression 1924751 1924773 - TemplateExpression 1924751 1924761 - TemplateHead 1924751 1924758 - TemplateSpan 1924758 1924761 - Identifier 1924758 1924759 - TemplateTail 1924759 1924761 - TypeReference 1924764 1924773 - Identifier 1924764 1924773 - ConditionalExpression 1924774 1924878 - Identifier 1924774 1924803 - QuestionToken 1924803 1924805 - PropertyAccessExpression 1924805 1924830 - Identifier 1924805 1924816 - Identifier 1924817 1924830 - ColonToken 1924830 1924832 - ConditionalExpression 1924832 1924878 - Identifier 1924832 1924843 - QuestionToken 1924843 1924845 - PropertyAccessExpression 1924845 1924874 - Identifier 1924845 1924856 - Identifier 1924857 1924874 - ColonToken 1924874 1924876 - NumericLiteral 1924876 1924878 - ExpressionStatement 1924895 1924997 - BinaryExpression 1924895 1924996 - PropertyAccessExpression 1924895 1924931 - PropertyAccessExpression 1924895 1924926 - Identifier 1924895 1924920 - Identifier 1924921 1924926 - Identifier 1924927 1924931 - EqualsToken 1924931 1924933 - ConditionalExpression 1924933 1924996 - Identifier 1924933 1924945 - QuestionToken 1924945 1924947 - CallExpression 1924947 1924979 - Identifier 1924947 1924963 - Identifier 1924964 1924978 - ColonToken 1924979 1924981 - Identifier 1924981 1924996 - ExpressionStatement 1924997 1925035 - BinaryExpression 1924997 1925034 - ElementAccessExpression 1924997 1925020 - Identifier 1924997 1925017 - Identifier 1925018 1925019 - EqualsToken 1925020 1925022 - Identifier 1925022 1925034 - IfStatement 1925046 1925534 - Identifier 1925060 1925081 - Block 1925082 1925534 - VariableStatement 1925084 1925217 - VariableDeclarationList 1925084 1925216 - VariableDeclaration 1925103 1925216 - Identifier 1925103 1925119 - CallExpression 1925121 1925216 - Identifier 1925121 1925134 - PropertyAccessExpression 1925135 1925169 - Identifier 1925135 1925146 - Identifier 1925147 1925169 - AsExpression 1925170 1925189 - StringLiteral 1925170 1925177 - TypeReference 1925180 1925189 - Identifier 1925180 1925189 - PropertyAccessExpression 1925190 1925215 - Identifier 1925190 1925201 - Identifier 1925202 1925215 - ExpressionStatement 1925217 1925318 - BinaryExpression 1925217 1925317 - PropertyAccessExpression 1925217 1925257 - PropertyAccessExpression 1925217 1925252 - Identifier 1925217 1925246 - Identifier 1925247 1925252 - Identifier 1925253 1925257 - EqualsToken 1925257 1925259 - CallExpression 1925259 1925317 - Identifier 1925259 1925275 - CallExpression 1925276 1925316 - Identifier 1925276 1925293 - Identifier 1925294 1925301 - Identifier 1925302 1925315 - IfStatement 1925318 1925470 - BinaryExpression 1925336 1925353 - Identifier 1925336 1925343 - EqualsEqualsEqualsToken 1925343 1925347 - Identifier 1925347 1925353 - Block 1925354 1925470 - ExpressionStatement 1925356 1925455 - BinaryExpression 1925356 1925454 - PropertyAccessExpression 1925356 1925400 - PropertyAccessExpression 1925356 1925395 - Identifier 1925356 1925389 - Identifier 1925390 1925395 - Identifier 1925396 1925400 - EqualsToken 1925400 1925402 - CallExpression 1925402 1925454 - Identifier 1925402 1925418 - PropertyAccessExpression 1925419 1925445 - PropertyAccessExpression 1925419 1925440 - Identifier 1925419 1925434 - Identifier 1925435 1925440 - Identifier 1925441 1925445 - Identifier 1925446 1925453 - ExpressionStatement 1925470 1925523 - BinaryExpression 1925470 1925522 - ElementAccessExpression 1925470 1925504 - Identifier 1925470 1925490 - Identifier 1925491 1925503 - EqualsToken 1925504 1925506 - Identifier 1925506 1925522 - ReturnStatement 1925534 1925558 - Identifier 1925550 1925557 - FunctionDeclaration 1925565 1927418 - Identifier 1925581 1925620 - Parameter 1925621 1925636 - Identifier 1925621 1925625 - TypeReference 1925626 1925636 - Identifier 1925626 1925636 - Parameter 1925637 1925654 - Identifier 1925637 1925643 - TypeReference 1925644 1925654 - Identifier 1925644 1925654 - TypeReference 1925656 1925666 - Identifier 1925656 1925666 - Block 1925666 1927418 - VariableStatement 1925668 1925741 - VariableDeclarationList 1925668 1925740 - VariableDeclaration 1925683 1925740 - Identifier 1925683 1925694 - BinaryExpression 1925696 1925740 - PropertyAccessExpression 1925696 1925716 - Identifier 1925696 1925701 - Identifier 1925702 1925716 - BarBarToken 1925716 1925719 - PropertyAccessExpression 1925719 1925740 - Identifier 1925719 1925725 - Identifier 1925726 1925740 - VariableStatement 1925741 1925791 - VariableDeclarationList 1925741 1925790 - VariableDeclaration 1925754 1925790 - Identifier 1925754 1925766 - UnionType 1925767 1925790 - TypeReference 1925767 1925778 - Identifier 1925767 1925778 - UndefinedKeyword 1925780 1925790 - IfStatement 1925791 1926031 - BinaryExpression 1925805 1925848 - PropertyAccessExpression 1925805 1925824 - Identifier 1925805 1925809 - Identifier 1925810 1925824 - AmpersandAmpersandToken 1925824 1925827 - PropertyAccessExpression 1925827 1925848 - Identifier 1925827 1925833 - Identifier 1925834 1925848 - Block 1925849 1926031 - ExpressionStatement 1925851 1925939 - BinaryExpression 1925851 1925938 - Identifier 1925851 1925876 - EqualsToken 1925876 1925878 - CallExpression 1925878 1925938 - Identifier 1925878 1925895 - PropertyAccessExpression 1925896 1925916 - Identifier 1925896 1925901 - Identifier 1925902 1925916 - PropertyAccessExpression 1925917 1925937 - Identifier 1925917 1925922 - Identifier 1925923 1925937 - VariableStatement 1926031 1926151 - VariableDeclarationList 1926031 1926150 - VariableDeclaration 1926044 1926150 - Identifier 1926044 1926050 - BinaryExpression 1926052 1926150 - ParenthesizedExpression 1926052 1926079 - BinaryExpression 1926054 1926078 - PropertyAccessExpression 1926054 1926064 - Identifier 1926054 1926058 - Identifier 1926059 1926064 - BarToken 1926064 1926066 - PropertyAccessExpression 1926066 1926078 - Identifier 1926066 1926072 - Identifier 1926073 1926078 - AmpersandToken 1926079 1926081 - ParenthesizedExpression 1926081 1926150 - BinaryExpression 1926083 1926149 - PropertyAccessExpression 1926083 1926114 - Identifier 1926083 1926097 - Identifier 1926098 1926114 - AmpersandToken 1926114 1926116 - PrefixUnaryExpression 1926116 1926149 - PropertyAccessExpression 1926118 1926149 - Identifier 1926118 1926132 - Identifier 1926133 1926149 - VariableStatement 1926151 1926198 - VariableDeclarationList 1926151 1926197 - VariableDeclaration 1926166 1926197 - Identifier 1926166 1926178 - PropertyAccessExpression 1926180 1926197 - Identifier 1926180 1926185 - Identifier 1926186 1926197 - VariableStatement 1926198 1926279 - VariableDeclarationList 1926198 1926278 - VariableDeclaration 1926213 1926278 - Identifier 1926213 1926220 - CallExpression 1926222 1926278 - Identifier 1926222 1926252 - Identifier 1926253 1926257 - Identifier 1926258 1926264 - Identifier 1926265 1926277 - VariableStatement 1926279 1926331 - VariableDeclarationList 1926279 1926330 - VariableDeclaration 1926294 1926330 - Identifier 1926294 1926304 - CallExpression 1926306 1926330 - Identifier 1926306 1926322 - Identifier 1926323 1926329 - IfStatement 1926331 1926478 - BinaryExpression 1926345 1926409 - Identifier 1926345 1926354 - AmpersandAmpersandToken 1926354 1926357 - BinaryExpression 1926357 1926409 - CallExpression 1926357 1926382 - Identifier 1926357 1926371 - Identifier 1926372 1926381 - AmpersandToken 1926382 1926384 - PropertyAccessExpression 1926384 1926409 - Identifier 1926384 1926395 - Identifier 1926396 1926409 - Block 1926410 1926478 - ExpressionStatement 1926412 1926467 - BinaryExpression 1926412 1926466 - Identifier 1926412 1926431 - BarEqualsToken 1926431 1926434 - PropertyAccessExpression 1926434 1926466 - Identifier 1926434 1926449 - Identifier 1926450 1926466 - VariableStatement 1926478 1926589 - VariableDeclarationList 1926478 1926588 - VariableDeclaration 1926493 1926588 - Identifier 1926493 1926503 - CallExpression 1926505 1926588 - Identifier 1926505 1926534 - PropertyAccessExpression 1926535 1926553 - Identifier 1926535 1926539 - Identifier 1926540 1926553 - PropertyAccessExpression 1926554 1926574 - Identifier 1926554 1926560 - Identifier 1926561 1926574 - Identifier 1926575 1926587 - VariableStatement 1926589 1926675 - VariableDeclarationList 1926589 1926674 - VariableDeclaration 1926604 1926674 - Identifier 1926604 1926616 - CallExpression 1926618 1926674 - PropertyAccessExpression 1926618 1926627 - Identifier 1926618 1926623 - Identifier 1926624 1926627 - PropertyAccessExpression 1926628 1926649 - Identifier 1926628 1926632 - Identifier 1926633 1926649 - PropertyAccessExpression 1926650 1926673 - Identifier 1926650 1926656 - Identifier 1926657 1926673 - VariableStatement 1926675 1926967 - VariableDeclarationList 1926675 1926966 - VariableDeclaration 1926690 1926966 - Identifier 1926690 1926697 - CallExpression 1926699 1926966 - Identifier 1926699 1926715 - Identifier 1926716 1926741 - Identifier 1926742 1926766 - Identifier 1926767 1926790 - Identifier 1926791 1926811 - Identifier 1926812 1926858 - Identifier 1926859 1926908 - Identifier 1926909 1926934 - Identifier 1926935 1926954 - ExpressionStatement 1926967 1927023 - BinaryExpression 1926967 1927022 - PropertyAccessExpression 1926967 1926997 - Identifier 1926967 1926983 - Identifier 1926984 1926997 - EqualsToken 1926997 1926999 - PropertyAccessExpression 1926999 1927022 - Identifier 1926999 1927009 - Identifier 1927010 1927022 - ExpressionStatement 1927023 1927168 - BinaryExpression 1927023 1927167 - PropertyAccessExpression 1927023 1927059 - Identifier 1927023 1927039 - Identifier 1927040 1927059 - EqualsToken 1927059 1927061 - CallExpression 1927061 1927167 - Identifier 1927061 1927073 - BinaryExpression 1927074 1927157 - BinaryExpression 1927074 1927147 - BinaryExpression 1927074 1927119 - PropertyAccessExpression 1927074 1927092 - Identifier 1927074 1927078 - Identifier 1927079 1927092 - EqualsEqualsEqualsToken 1927092 1927096 - PropertyAccessExpression 1927096 1927119 - Identifier 1927096 1927106 - Identifier 1927107 1927119 - AmpersandAmpersandToken 1927119 1927122 - PropertyAccessExpression 1927122 1927147 - Identifier 1927122 1927127 - Identifier 1927128 1927147 - BarBarToken 1927147 1927150 - ArrayLiteralExpression 1927150 1927157 - Identifier 1927152 1927156 - ArrayLiteralExpression 1927158 1927166 - Identifier 1927160 1927165 - IfStatement 1927168 1927387 - Identifier 1927182 1927193 - Block 1927194 1927387 - ExpressionStatement 1927196 1927376 - BinaryExpression 1927196 1927375 - PropertyAccessExpression 1927196 1927223 - Identifier 1927196 1927216 - Identifier 1927217 1927223 - EqualsToken 1927223 1927225 - ConditionalExpression 1927225 1927375 - BinaryExpression 1927225 1927314 - BinaryExpression 1927225 1927286 - BinaryExpression 1927225 1927271 - PropertyAccessExpression 1927225 1927244 - Identifier 1927225 1927230 - Identifier 1927231 1927244 - EqualsEqualsEqualsToken 1927244 1927248 - PropertyAccessExpression 1927248 1927271 - Identifier 1927248 1927258 - Identifier 1927259 1927271 - AmpersandAmpersandToken 1927271 1927274 - PropertyAccessExpression 1927274 1927286 - Identifier 1927274 1927279 - Identifier 1927280 1927286 - AmpersandAmpersandToken 1927286 1927289 - PropertyAccessExpression 1927289 1927314 - Identifier 1927289 1927294 - Identifier 1927295 1927314 - QuestionToken 1927314 1927316 - CallExpression 1927316 1927361 - Identifier 1927316 1927335 - PropertyAccessExpression 1927336 1927347 - Identifier 1927336 1927340 - Identifier 1927341 1927347 - Identifier 1927348 1927360 - ColonToken 1927361 1927363 - Identifier 1927363 1927375 - ReturnStatement 1927387 1927411 - Identifier 1927403 1927410 - FunctionDeclaration 1927418 1928024 - Identifier 1927647 1927674 - Parameter 1927675 1927685 - Identifier 1927675 1927679 - TypeReference 1927680 1927685 - Identifier 1927680 1927685 - Parameter 1927686 1927713 - Identifier 1927686 1927691 - TypeReference 1927692 1927713 - Identifier 1927692 1927713 - UnionType 1927715 1927737 - TypeReference 1927715 1927725 - Identifier 1927715 1927725 - UndefinedKeyword 1927727 1927737 - Block 1927737 1928024 - VariableStatement 1927739 1927814 - VariableDeclarationList 1927739 1927813 - VariableDeclaration 1927754 1927813 - Identifier 1927754 1927765 - CallExpression 1927767 1927813 - Identifier 1927767 1927787 - Identifier 1927788 1927792 - PropertyAccessExpression 1927793 1927812 - Identifier 1927793 1927807 - Identifier 1927808 1927812 - VariableStatement 1927814 1927900 - VariableDeclarationList 1927814 1927899 - VariableDeclaration 1927829 1927899 - Identifier 1927829 1927847 - CallExpression 1927849 1927899 - Identifier 1927849 1927856 - Identifier 1927857 1927867 - ArrowFunction 1927868 1927898 - Parameter 1927868 1927870 - Identifier 1927868 1927870 - EqualsGreaterThanToken 1927870 1927873 - PrefixUnaryExpression 1927873 1927898 - CallExpression 1927875 1927898 - Identifier 1927875 1927889 - Identifier 1927890 1927891 - Identifier 1927892 1927897 - ReturnStatement 1927900 1928017 - ConditionalExpression 1927916 1928016 - BinaryExpression 1927916 1927947 - PropertyAccessExpression 1927916 1927941 - Identifier 1927916 1927934 - Identifier 1927935 1927941 - EqualsEqualsEqualsToken 1927941 1927945 - NumericLiteral 1927945 1927947 - QuestionToken 1927947 1927949 - ElementAccessExpression 1927949 1927970 - Identifier 1927949 1927967 - NumericLiteral 1927968 1927969 - ColonToken 1927970 1927972 - CallExpression 1927972 1928016 - Identifier 1927972 1927997 - Identifier 1927998 1928015 - FunctionDeclaration 1928024 1928836 - Identifier 1928145 1928160 - Parameter 1928161 1928181 - Identifier 1928161 1928170 - TypeReference 1928171 1928181 - Identifier 1928171 1928181 - Parameter 1928182 1928211 - Identifier 1928182 1928189 - TypeReference 1928190 1928211 - Identifier 1928190 1928211 - Block 1928212 1928836 - VariableStatement 1928214 1928253 - VariableDeclarationList 1928214 1928252 - VariableDeclaration 1928227 1928252 - Identifier 1928227 1928248 - NumericLiteral 1928250 1928252 - ForStatement 1928253 1928582 - BinaryExpression 1928269 1928317 - Identifier 1928269 1928290 - LessThanToken 1928290 1928292 - PropertyAccessExpression 1928292 1928317 - PropertyAccessExpression 1928292 1928310 - Identifier 1928292 1928299 - Identifier 1928300 1928310 - Identifier 1928311 1928317 - PostfixUnaryExpression 1928318 1928341 - Identifier 1928318 1928339 - Block 1928342 1928582 - VariableStatement 1928344 1928412 - VariableDeclarationList 1928344 1928411 - VariableDeclaration 1928363 1928411 - Identifier 1928363 1928369 - ElementAccessExpression 1928371 1928411 - PropertyAccessExpression 1928371 1928389 - Identifier 1928371 1928378 - Identifier 1928379 1928389 - Identifier 1928390 1928410 - IfStatement 1928412 1928571 - BinaryExpression 1928430 1928529 - BinaryExpression 1928430 1928494 - BinaryExpression 1928430 1928470 - PropertyAccessExpression 1928430 1928447 - Identifier 1928430 1928435 - Identifier 1928436 1928447 - BarBarToken 1928447 1928450 - PropertyAccessExpression 1928450 1928470 - Identifier 1928450 1928456 - Identifier 1928457 1928470 - BarBarToken 1928470 1928473 - PropertyAccessExpression 1928473 1928494 - Identifier 1928473 1928479 - Identifier 1928480 1928494 - BarBarToken 1928494 1928497 - CallExpression 1928497 1928529 - Identifier 1928497 1928522 - Identifier 1928523 1928528 - Block 1928530 1928571 - BreakStatement 1928532 1928556 - IfStatement 1928582 1928719 - BinaryExpression 1928596 1928668 - PropertyAccessExpression 1928596 1928620 - PropertyAccessExpression 1928596 1928613 - Identifier 1928596 1928602 - Identifier 1928603 1928613 - Identifier 1928614 1928620 - AmpersandAmpersandToken 1928620 1928623 - CallExpression 1928623 1928668 - Identifier 1928623 1928646 - ElementAccessExpression 1928647 1928667 - PropertyAccessExpression 1928647 1928664 - Identifier 1928647 1928653 - Identifier 1928654 1928664 - NumericLiteral 1928665 1928666 - Block 1928669 1928719 - ExpressionStatement 1928671 1928708 - PostfixUnaryExpression 1928671 1928707 - Identifier 1928671 1928705 - ReturnStatement 1928719 1928829 - BinaryExpression 1928735 1928828 - PrefixUnaryExpression 1928735 1928773 - CallExpression 1928737 1928773 - Identifier 1928737 1928762 - Identifier 1928763 1928772 - AmpersandAmpersandToken 1928773 1928776 - BinaryExpression 1928776 1928828 - CallExpression 1928776 1928805 - Identifier 1928776 1928794 - Identifier 1928795 1928804 - LessThanToken 1928805 1928807 - Identifier 1928807 1928828 - FunctionDeclaration 1928836 1929252 - Identifier 1928852 1928901 - Parameter 1928902 1928931 - Identifier 1928902 1928906 - TypeReference 1928907 1928931 - Identifier 1928907 1928931 - UnionType 1928933 1928955 - TypeReference 1928933 1928943 - Identifier 1928933 1928943 - UndefinedKeyword 1928945 1928955 - Block 1928955 1929252 - ReturnStatement 1928957 1929245 - ConditionalExpression 1929080 1929244 - BinaryExpression 1929080 1929153 - CallExpression 1929080 1929122 - Identifier 1929080 1929116 - Identifier 1929117 1929121 - BarBarToken 1929122 1929125 - CallExpression 1929125 1929153 - Identifier 1929125 1929147 - Identifier 1929148 1929152 - QuestionToken 1929153 1929168 - CallExpression 1929168 1929219 - Identifier 1929168 1929191 - AsExpression 1929192 1929218 - Identifier 1929192 1929196 - TypeReference 1929199 1929218 - Identifier 1929199 1929218 - ColonToken 1929219 1929234 - Identifier 1929234 1929244 - FunctionDeclaration 1929252 1931587 - Identifier 1929738 1929761 - Parameter 1929762 1929822 - Identifier 1929762 1929766 - UnionType 1929767 1929822 - TypeReference 1929767 1929786 - Identifier 1929767 1929786 - TypeReference 1929788 1929802 - Identifier 1929788 1929802 - TypeReference 1929804 1929822 - Identifier 1929804 1929822 - UnionType 1929824 1929846 - TypeReference 1929824 1929834 - Identifier 1929824 1929834 - UndefinedKeyword 1929836 1929846 - Block 1929846 1931587 - ExpressionStatement 1929848 1929946 - CallExpression 1929848 1929945 - PropertyAccessExpression 1929848 1929870 - Identifier 1929848 1929863 - Identifier 1929864 1929870 - BinaryExpression 1929871 1929944 - BinaryExpression 1929871 1929913 - PropertyAccessExpression 1929871 1929880 - Identifier 1929871 1929875 - Identifier 1929876 1929880 - ExclamationEqualsEqualsToken 1929880 1929884 - PropertyAccessExpression 1929884 1929913 - Identifier 1929884 1929895 - Identifier 1929896 1929913 - BarBarToken 1929913 1929916 - CallExpression 1929916 1929944 - Identifier 1929916 1929938 - Identifier 1929939 1929943 - VariableStatement 1929946 1930009 - VariableDeclarationList 1929946 1930008 - VariableDeclaration 1929961 1930008 - Identifier 1929961 1929978 - CallExpression 1929980 1930008 - Identifier 1929980 1930002 - Identifier 1930003 1930007 - IfStatement 1930009 1930091 - Identifier 1930023 1930039 - Block 1930040 1930091 - ReturnStatement 1930042 1930080 - Identifier 1930062 1930079 - VariableStatement 1930091 1930176 - VariableDeclarationList 1930091 1930175 - VariableDeclaration 1930106 1930175 - Identifier 1930106 1930111 - CallExpression 1930113 1930175 - Identifier 1930113 1930145 - Identifier 1930146 1930150 - PropertyAccessExpression 1930151 1930174 - Identifier 1930151 1930164 - Identifier 1930165 1930174 - IfStatement 1930176 1930240 - PrefixUnaryExpression 1930190 1930195 - Identifier 1930191 1930195 - Block 1930196 1930240 - ReturnStatement 1930198 1930229 - Identifier 1930218 1930228 - IfStatement 1930240 1930359 - PrefixUnaryExpression 1930254 1930285 - ParenthesizedExpression 1930255 1930285 - BinaryExpression 1930256 1930284 - PropertyAccessExpression 1930256 1930266 - Identifier 1930256 1930260 - Identifier 1930261 1930266 - AmpersandToken 1930266 1930268 - PropertyAccessExpression 1930268 1930284 - Identifier 1930268 1930278 - Identifier 1930279 1930284 - Block 1930286 1930359 - ReturnStatement 1930288 1930348 - CallExpression 1930308 1930347 - Identifier 1930308 1930335 - Identifier 1930336 1930340 - Identifier 1930341 1930346 - VariableStatement 1930359 1930412 - VariableDeclarationList 1930359 1930411 - VariableDeclaration 1930372 1930411 - Identifier 1930372 1930386 - UnionType 1930387 1930411 - ArrayType 1930387 1930399 - TypeReference 1930387 1930397 - Identifier 1930387 1930397 - UndefinedKeyword 1930401 1930411 - VariableStatement 1930412 1930462 - VariableDeclarationList 1930412 1930461 - VariableDeclaration 1930427 1930461 - Identifier 1930427 1930433 - PropertyAccessExpression 1930435 1930461 - ParenthesizedExpression 1930435 1930455 - AsExpression 1930437 1930454 - Identifier 1930437 1930441 - TypeReference 1930444 1930454 - Identifier 1930444 1930454 - Identifier 1930456 1930461 - ForOfStatement 1930462 1931303 - VariableDeclarationList 1930477 1930490 - VariableDeclaration 1930482 1930490 - Identifier 1930482 1930490 - Identifier 1930493 1930499 - Block 1930500 1931303 - VariableStatement 1930502 1930576 - VariableDeclarationList 1930502 1930575 - VariableDeclaration 1930521 1930575 - Identifier 1930521 1930531 - CallExpression 1930533 1930575 - Identifier 1930533 1930560 - Identifier 1930561 1930568 - Identifier 1930569 1930574 - IfStatement 1930576 1931292 - Identifier 1930594 1930603 - Block 1930604 1931292 - IfStatement 1930606 1931277 - PrefixUnaryExpression 1930628 1930642 - Identifier 1930629 1930642 - Block 1930643 1930799 - ExpressionStatement 1930645 1930780 - BinaryExpression 1930645 1930779 - Identifier 1930645 1930765 - EqualsToken 1930765 1930767 - ArrayLiteralExpression 1930767 1930779 - Identifier 1930769 1930778 - IfStatement 1930821 1931277 - PrefixUnaryExpression 1930826 1930983 - CallExpression 1930827 1930983 - Identifier 1930827 1930853 - ElementAccessExpression 1930854 1930870 - Identifier 1930854 1930867 - NumericLiteral 1930868 1930869 - Identifier 1930871 1930881 - FalseKeyword 1930882 1930905 - TrueKeyword 1930906 1930931 - TrueKeyword 1930932 1930959 - Identifier 1930960 1930982 - Block 1930984 1931108 - ReturnStatement 1930986 1931089 - Identifier 1931078 1931088 - Block 1931130 1931277 - ExpressionStatement 1931132 1931258 - CallExpression 1931132 1931257 - PropertyAccessExpression 1931132 1931246 - Identifier 1931132 1931241 - Identifier 1931242 1931246 - Identifier 1931247 1931256 - IfStatement 1931303 1931580 - Identifier 1931430 1931443 - Block 1931444 1931580 - ReturnStatement 1931446 1931569 - ConditionalExpression 1931466 1931568 - BinaryExpression 1931466 1931493 - PropertyAccessExpression 1931466 1931487 - Identifier 1931466 1931480 - Identifier 1931481 1931487 - EqualsEqualsEqualsToken 1931487 1931491 - NumericLiteral 1931491 1931493 - QuestionToken 1931493 1931495 - ElementAccessExpression 1931495 1931512 - Identifier 1931495 1931509 - NumericLiteral 1931510 1931511 - ColonToken 1931512 1931514 - CallExpression 1931514 1931568 - Identifier 1931514 1931535 - ElementAccessExpression 1931536 1931552 - Identifier 1931536 1931549 - NumericLiteral 1931550 1931551 - Identifier 1931553 1931567 - FunctionDeclaration 1931587 1933387 - Identifier 1931603 1931640 - Parameter 1931641 1931671 - Identifier 1931641 1931645 - TypeReference 1931646 1931671 - Identifier 1931646 1931671 - Block 1931672 1933387 - VariableStatement 1931674 1931729 - VariableDeclarationList 1931674 1931728 - VariableDeclaration 1931689 1931728 - Identifier 1931689 1931700 - CallExpression 1931702 1931728 - Identifier 1931702 1931722 - Identifier 1931723 1931727 - IfStatement 1931729 1933357 - BinaryExpression 1931743 1931799 - PrefixUnaryExpression 1931743 1931775 - CallExpression 1931744 1931775 - Identifier 1931744 1931763 - Identifier 1931764 1931774 - AmpersandAmpersandToken 1931775 1931778 - PrefixUnaryExpression 1931778 1931799 - PropertyAccessExpression 1931780 1931799 - Identifier 1931780 1931784 - Identifier 1931785 1931799 - Block 1931800 1933357 - VariableStatement 1931802 1931866 - VariableDeclarationList 1931802 1931865 - VariableDeclaration 1931819 1931865 - Identifier 1931819 1931829 - UnionType 1931830 1931865 - TypeReference 1931830 1931853 - Identifier 1931830 1931853 - UndefinedKeyword 1931855 1931865 - ExpressionStatement 1931866 1931948 - BinaryExpression 1931866 1931947 - Identifier 1931866 1931887 - QuestionQuestionEqualsToken 1931887 1931891 - CallExpression 1931891 1931947 - Identifier 1931891 1931905 - PropertyAccessExpression 1931906 1931925 - Identifier 1931906 1931918 - Identifier 1931919 1931925 - TrueKeyword 1931926 1931946 - ExpressionStatement 1931948 1932014 - CallExpression 1931948 1932013 - PropertyAccessExpression 1931948 1931985 - Identifier 1931948 1931969 - Identifier 1931970 1931985 - PropertyAccessExpression 1931986 1932012 - Identifier 1931986 1931996 - Identifier 1931997 1932012 - ExpressionStatement 1932014 1932083 - CallExpression 1932014 1932082 - PropertyAccessExpression 1932014 1932054 - Identifier 1932014 1932035 - Identifier 1932036 1932054 - PropertyAccessExpression 1932055 1932081 - Identifier 1932055 1932065 - Identifier 1932066 1932081 - ExpressionStatement 1932083 1932853 - CallExpression 1932083 1932852 - PropertyAccessExpression 1932083 1932115 - Identifier 1932083 1932104 - Identifier 1932105 1932115 - ArrowFunction 1932116 1932851 - Parameter 1932117 1932124 - Identifier 1932117 1932124 - Parameter 1932125 1932132 - Identifier 1932125 1932132 - Parameter 1932133 1932138 - Identifier 1932133 1932138 - EqualsGreaterThanToken 1932139 1932142 - Block 1932142 1932851 - VariableStatement 1932144 1932254 - VariableDeclarationList 1932144 1932253 - VariableDeclaration 1932222 1932253 - Identifier 1932222 1932228 - CallExpression 1932230 1932253 - PropertyAccessExpression 1932230 1932251 - NonNullExpression 1932230 1932239 - Identifier 1932230 1932238 - Identifier 1932240 1932251 - IfStatement 1932254 1932836 - BinaryExpression 1932276 1932396 - BinaryExpression 1932276 1932365 - BinaryExpression 1932276 1932336 - BinaryExpression 1932276 1932323 - PropertyAccessExpression 1932276 1932292 - Identifier 1932276 1932283 - Identifier 1932284 1932292 - EqualsEqualsEqualsToken 1932292 1932296 - PropertyAccessExpression 1932296 1932323 - Identifier 1932296 1932315 - Identifier 1932316 1932323 - AmpersandAmpersandToken 1932323 1932326 - Identifier 1932326 1932336 - AmpersandAmpersandToken 1932336 1932339 - BinaryExpression 1932339 1932365 - Identifier 1932339 1932345 - EqualsEqualsEqualsToken 1932345 1932349 - PropertyAccessExpression 1932349 1932365 - Identifier 1932349 1932359 - Identifier 1932360 1932365 - AmpersandAmpersandToken 1932365 1932368 - BinaryExpression 1932368 1932396 - Identifier 1932368 1932375 - EqualsEqualsEqualsToken 1932375 1932379 - PropertyAccessExpression 1932379 1932396 - Identifier 1932379 1932389 - Identifier 1932390 1932396 - Block 1932397 1932602 - VariableStatement 1932399 1932528 - VariableDeclarationList 1932399 1932527 - VariableDeclaration 1932426 1932527 - Identifier 1932426 1932432 - CallExpression 1932434 1932527 - Identifier 1932434 1932459 - PropertyAccessExpression 1932460 1932479 - Identifier 1932460 1932470 - Identifier 1932471 1932479 - PropertyAccessExpression 1932480 1932496 - Identifier 1932480 1932491 - Identifier 1932492 1932496 - Identifier 1932497 1932503 - Identifier 1932504 1932511 - Identifier 1932512 1932520 - Identifier 1932521 1932526 - ExpressionStatement 1932528 1932583 - CallExpression 1932528 1932582 - Identifier 1932528 1932564 - Identifier 1932565 1932574 - Identifier 1932575 1932581 - IfStatement 1932624 1932836 - BinaryExpression 1932629 1932668 - PrefixUnaryExpression 1932629 1932639 - Identifier 1932630 1932639 - BarBarToken 1932639 1932642 - BinaryExpression 1932642 1932668 - Identifier 1932642 1932648 - ExclamationEqualsEqualsToken 1932648 1932652 - PropertyAccessExpression 1932652 1932668 - Identifier 1932652 1932662 - Identifier 1932663 1932668 - Block 1932669 1932836 - ExpressionStatement 1932671 1932768 - BinaryExpression 1932671 1932767 - Identifier 1932671 1932702 - EqualsToken 1932702 1932704 - CallExpression 1932704 1932767 - Identifier 1932704 1932725 - Identifier 1932726 1932736 - Identifier 1932737 1932743 - Identifier 1932744 1932751 - Identifier 1932752 1932760 - Identifier 1932761 1932766 - ExpressionStatement 1932768 1932817 - CallExpression 1932768 1932816 - PropertyAccessExpression 1932768 1932805 - Identifier 1932768 1932801 - Identifier 1932802 1932805 - Identifier 1932806 1932815 - ExpressionStatement 1932853 1932931 - CallExpression 1932853 1932930 - PropertyAccessExpression 1932853 1932882 - Identifier 1932853 1932874 - Identifier 1932875 1932882 - PropertyAccessExpression 1932883 1932898 - Identifier 1932883 1932893 - Identifier 1932894 1932898 - PropertyAccessExpression 1932899 1932908 - Identifier 1932899 1932904 - Identifier 1932905 1932908 - BinaryExpression 1932909 1932929 - PropertyAccessExpression 1932909 1932918 - Identifier 1932909 1932914 - Identifier 1932915 1932918 - MinusToken 1932918 1932920 - PropertyAccessExpression 1932920 1932929 - Identifier 1932920 1932925 - Identifier 1932926 1932929 - TryStatement 1932931 1933346 - Block 1932948 1933210 - ExpressionStatement 1932950 1932983 - CallExpression 1932950 1932982 - PropertyAccessExpression 1932950 1932980 - Identifier 1932950 1932975 - Identifier 1932976 1932980 - ExpressionStatement 1932983 1933158 - CallExpression 1932983 1933157 - PropertyAccessExpression 1932983 1933013 - Identifier 1932983 1933006 - Identifier 1933007 1933013 - BinaryExpression 1933014 1933101 - CallExpression 1933014 1933061 - PropertyAccessExpression 1933014 1933038 - Identifier 1933014 1933021 - Identifier 1933022 1933038 - TrueKeyword 1933039 1933060 - EqualsEqualsEqualsToken 1933061 1933065 - PropertyAccessExpression 1933065 1933101 - Identifier 1933065 1933076 - Identifier 1933077 1933101 - StringLiteral 1933102 1933156 - ReturnStatement 1933158 1933195 - PrefixUnaryExpression 1933182 1933194 - PrefixUnaryExpression 1933184 1933194 - Identifier 1933185 1933194 - Block 1933231 1933346 - ExpressionStatement 1933233 1933271 - CallExpression 1933233 1933270 - PropertyAccessExpression 1933233 1933266 - Identifier 1933233 1933258 - Identifier 1933259 1933266 - StringLiteral 1933267 1933269 - ExpressionStatement 1933271 1933331 - CallExpression 1933271 1933330 - PropertyAccessExpression 1933271 1933307 - Identifier 1933271 1933296 - Identifier 1933297 1933307 - Identifier 1933308 1933329 - ReturnStatement 1933357 1933380 - FalseKeyword 1933373 1933379 - FunctionDeclaration 1933387 1933772 - Identifier 1933403 1933433 - Parameter 1933434 1933464 - Identifier 1933434 1933438 - TypeReference 1933439 1933464 - Identifier 1933439 1933464 - Block 1933465 1933772 - VariableStatement 1933467 1933514 - VariableDeclarationList 1933467 1933513 - VariableDeclaration 1933482 1933513 - Identifier 1933482 1933492 - CallExpression 1933494 1933513 - Identifier 1933494 1933507 - Identifier 1933508 1933512 - IfStatement 1933514 1933731 - PrefixUnaryExpression 1933528 1933575 - ParenthesizedExpression 1933529 1933575 - BinaryExpression 1933530 1933574 - PropertyAccessExpression 1933530 1933545 - Identifier 1933530 1933539 - Identifier 1933540 1933545 - AmpersandToken 1933545 1933547 - PropertyAccessExpression 1933547 1933574 - Identifier 1933547 1933562 - Identifier 1933563 1933574 - Block 1933576 1933731 - ExpressionStatement 1933578 1933638 - BinaryExpression 1933578 1933637 - PropertyAccessExpression 1933578 1933607 - Identifier 1933578 1933601 - Identifier 1933602 1933607 - BarEqualsToken 1933607 1933610 - PropertyAccessExpression 1933610 1933637 - Identifier 1933610 1933625 - Identifier 1933626 1933637 - ExpressionStatement 1933638 1933720 - CallExpression 1933638 1933719 - Identifier 1933638 1933669 - ArrowFunction 1933670 1933718 - EqualsGreaterThanToken 1933672 1933675 - CallExpression 1933675 1933718 - Identifier 1933675 1933712 - Identifier 1933713 1933717 - ReturnStatement 1933731 1933765 - Identifier 1933747 1933764 - FunctionDeclaration 1933772 1934316 - Identifier 1933788 1933810 - Parameter 1933811 1933830 - Identifier 1933811 1933815 - TypeReference 1933816 1933830 - Identifier 1933816 1933830 - Parameter 1933831 1933853 - Identifier 1933831 1933841 - QuestionToken 1933841 1933842 - TypeReference 1933843 1933853 - Identifier 1933843 1933853 - TypeReference 1933855 1933860 - Identifier 1933855 1933860 - Block 1933860 1934316 - IfStatement 1933862 1934103 - BinaryExpression 1933876 1933937 - Identifier 1933876 1933891 - LessThanToken 1933891 1933893 - PropertyAccessExpression 1933893 1933937 - Identifier 1933893 1933922 - Identifier 1933923 1933937 - Block 1933938 1934103 - ExpressionStatement 1933940 1934092 - CallExpression 1933940 1934091 - Identifier 1933940 1933978 - Identifier 1933979 1933983 - ConditionalExpression 1933984 1934090 - PropertyAccessExpression 1933984 1934019 - Identifier 1933984 1934000 - Identifier 1934001 1934019 - QuestionToken 1934019 1934021 - PropertyAccessExpression 1934021 1934056 - Identifier 1934021 1934041 - Identifier 1934042 1934056 - ColonToken 1934056 1934058 - PropertyAccessExpression 1934058 1934090 - Identifier 1934058 1934078 - Identifier 1934079 1934090 - VariableStatement 1934103 1934187 - VariableDeclarationList 1934103 1934186 - VariableDeclaration 1934120 1934186 - Identifier 1934120 1934140 - CallExpression 1934142 1934186 - Identifier 1934142 1934158 - PropertyAccessExpression 1934159 1934174 - Identifier 1934159 1934163 - Identifier 1934164 1934174 - Identifier 1934175 1934185 - ReturnStatement 1934187 1934309 - CallExpression 1934203 1934308 - Identifier 1934203 1934234 - PropertyAccessExpression 1934235 1934254 - Identifier 1934235 1934247 - Identifier 1934248 1934254 - Identifier 1934255 1934275 - Identifier 1934276 1934290 - PropertyAccessExpression 1934291 1934307 - Identifier 1934291 1934296 - Identifier 1934297 1934307 - FunctionDeclaration 1934316 1934488 - Identifier 1934332 1934357 - Parameter 1934358 1934383 - Identifier 1934358 1934362 - TypeReference 1934363 1934383 - Identifier 1934363 1934383 - TypeReference 1934385 1934390 - Identifier 1934385 1934390 - Block 1934390 1934488 - ReturnStatement 1934392 1934481 - ConditionalExpression 1934408 1934480 - PropertyAccessExpression 1934408 1934422 - Identifier 1934408 1934413 - Identifier 1934414 1934422 - QuestionToken 1934422 1934424 - CallExpression 1934424 1934468 - Identifier 1934424 1934445 - PropertyAccessExpression 1934446 1934455 - Identifier 1934446 1934450 - Identifier 1934451 1934455 - Identifier 1934456 1934467 - ColonToken 1934468 1934470 - PropertyAccessExpression 1934470 1934480 - Identifier 1934470 1934475 - Identifier 1934476 1934480 - FunctionDeclaration 1934488 1935094 - Identifier 1934504 1934520 - Parameter 1934521 1934581 - Identifier 1934521 1934525 - UnionType 1934526 1934581 - TypeReference 1934526 1934541 - Identifier 1934526 1934541 - TypeReference 1934543 1934568 - Identifier 1934543 1934568 - TypeReference 1934570 1934581 - Identifier 1934570 1934581 - BooleanKeyword 1934583 1934591 - Block 1934591 1935094 - ReturnStatement 1934593 1935087 - BinaryExpression 1934609 1935086 - BinaryExpression 1934609 1934952 - BinaryExpression 1934609 1934812 - BinaryExpression 1934609 1934691 - BinaryExpression 1934609 1934649 - PropertyAccessExpression 1934609 1934619 - Identifier 1934609 1934614 - Identifier 1934615 1934619 - EqualsEqualsEqualsToken 1934619 1934623 - PropertyAccessExpression 1934623 1934649 - Identifier 1934623 1934634 - Identifier 1934635 1934649 - AmpersandAmpersandToken 1934649 1934652 - PrefixUnaryExpression 1934652 1934691 - PrefixUnaryExpression 1934654 1934691 - PropertyAccessExpression 1934655 1934691 - ParenthesizedExpression 1934655 1934679 - AsExpression 1934656 1934678 - Identifier 1934656 1934660 - TypeReference 1934663 1934678 - Identifier 1934663 1934678 - Identifier 1934680 1934691 - BarBarToken 1934691 1934694 - BinaryExpression 1934694 1934812 - BinaryExpression 1934694 1934751 - PropertyAccessExpression 1934694 1934717 - Identifier 1934694 1934712 - Identifier 1934713 1934717 - EqualsEqualsEqualsToken 1934717 1934721 - PropertyAccessExpression 1934721 1934751 - Identifier 1934721 1934732 - Identifier 1934733 1934751 - AmpersandAmpersandToken 1934751 1934754 - CallExpression 1934754 1934812 - Identifier 1934754 1934770 - PropertyAccessExpression 1934771 1934811 - ParenthesizedExpression 1934771 1934799 - AsExpression 1934772 1934798 - Identifier 1934772 1934776 - TypeReference 1934779 1934798 - Identifier 1934779 1934798 - Identifier 1934800 1934811 - BarBarToken 1934812 1934815 - BinaryExpression 1934815 1934952 - BinaryExpression 1934815 1934881 - PropertyAccessExpression 1934815 1934838 - Identifier 1934815 1934833 - Identifier 1934834 1934838 - EqualsEqualsEqualsToken 1934838 1934842 - PropertyAccessExpression 1934842 1934881 - Identifier 1934842 1934853 - Identifier 1934854 1934881 - AmpersandAmpersandToken 1934881 1934884 - PrefixUnaryExpression 1934884 1934952 - PrefixUnaryExpression 1934886 1934952 - PropertyAccessExpression 1934887 1934952 - ParenthesizedExpression 1934887 1934924 - AsExpression 1934888 1934923 - Identifier 1934888 1934892 - TypeReference 1934895 1934923 - Identifier 1934895 1934923 - Identifier 1934925 1934952 - BarBarToken 1934952 1934955 - BinaryExpression 1934955 1935086 - BinaryExpression 1934955 1935010 - PropertyAccessExpression 1934955 1934978 - Identifier 1934955 1934973 - Identifier 1934974 1934978 - EqualsEqualsEqualsToken 1934978 1934982 - PropertyAccessExpression 1934982 1935010 - Identifier 1934982 1934993 - Identifier 1934994 1935010 - AmpersandAmpersandToken 1935010 1935013 - BinaryExpression 1935013 1935086 - PropertyAccessExpression 1935013 1935059 - PropertyAccessExpression 1935013 1935054 - ParenthesizedExpression 1935013 1935040 - AsExpression 1935015 1935039 - Identifier 1935015 1935019 - TypeReference 1935022 1935039 - Identifier 1935022 1935039 - Identifier 1935041 1935054 - Identifier 1935055 1935059 - EqualsEqualsEqualsToken 1935059 1935063 - PropertyAccessExpression 1935063 1935086 - Identifier 1935063 1935074 - Identifier 1935075 1935086 - FunctionDeclaration 1935094 1935321 - Identifier 1935110 1935132 - Parameter 1935133 1935161 - Identifier 1935133 1935137 - TypeReference 1935138 1935161 - Identifier 1935138 1935161 - Block 1935162 1935321 - VariableStatement 1935164 1935233 - VariableDeclarationList 1935164 1935232 - VariableDeclaration 1935179 1935232 - Identifier 1935179 1935186 - CallExpression 1935188 1935232 - Identifier 1935188 1935219 - PropertyAccessExpression 1935220 1935231 - Identifier 1935220 1935224 - Identifier 1935225 1935231 - ReturnStatement 1935233 1935314 - BinaryExpression 1935249 1935313 - CallExpression 1935249 1935273 - Identifier 1935249 1935265 - Identifier 1935266 1935272 - AmpersandAmpersandToken 1935273 1935276 - CallExpression 1935276 1935313 - Identifier 1935276 1935298 - PropertyAccessExpression 1935299 1935312 - Identifier 1935299 1935305 - Identifier 1935306 1935312 - FunctionDeclaration 1935321 1940429 - Identifier 1935337 1935355 - Parameter 1935356 1935384 - Identifier 1935356 1935360 - TypeReference 1935361 1935384 - Identifier 1935361 1935384 - Parameter 1935385 1935418 - Identifier 1935385 1935395 - UnionType 1935396 1935418 - TypeReference 1935396 1935406 - Identifier 1935396 1935406 - UndefinedKeyword 1935408 1935418 - Parameter 1935419 1935451 - Identifier 1935419 1935430 - UnionType 1935431 1935451 - BooleanKeyword 1935431 1935439 - UndefinedKeyword 1935441 1935451 - TypeReference 1935453 1935458 - Identifier 1935453 1935458 - Block 1935458 1940429 - VariableStatement 1935460 1935501 - VariableDeclarationList 1935460 1935500 - VariableDeclaration 1935475 1935500 - Identifier 1935475 1935484 - PropertyAccessExpression 1935486 1935500 - Identifier 1935486 1935491 - Identifier 1935492 1935500 - VariableStatement 1935501 1935548 - VariableDeclarationList 1935501 1935547 - VariableDeclaration 1935516 1935547 - Identifier 1935516 1935529 - PropertyAccessExpression 1935531 1935547 - Identifier 1935531 1935540 - Identifier 1935541 1935547 - VariableStatement 1935548 1935590 - VariableDeclarationList 1935548 1935589 - VariableDeclaration 1935563 1935589 - Identifier 1935563 1935576 - ArrayType 1935577 1935584 - TypeReference 1935577 1935582 - Identifier 1935577 1935582 - ArrayLiteralExpression 1935586 1935589 - VariableStatement 1935590 1935640 - VariableDeclarationList 1935590 1935639 - VariableDeclaration 1935605 1935639 - Identifier 1935605 1935618 - ArrayType 1935619 1935634 - TypeReference 1935619 1935632 - Identifier 1935619 1935632 - ArrayLiteralExpression 1935636 1935639 - ExpressionStatement 1935640 1935681 - CallExpression 1935640 1935680 - Identifier 1935640 1935674 - Identifier 1935675 1935679 - VariableStatement 1935681 1935747 - VariableDeclarationList 1935681 1935746 - VariableDeclaration 1935696 1935746 - Identifier 1935696 1935719 - CallExpression 1935721 1935746 - Identifier 1935721 1935740 - Identifier 1935741 1935745 - VariableStatement 1935747 1935801 - VariableDeclarationList 1935747 1935800 - VariableDeclaration 1935762 1935800 - Identifier 1935762 1935777 - CallExpression 1935779 1935800 - Identifier 1935779 1935794 - Identifier 1935795 1935799 - VariableStatement 1935801 1935900 - VariableDeclarationList 1935801 1935899 - VariableDeclaration 1935816 1935899 - Identifier 1935816 1935831 - CallExpression 1935833 1935899 - Identifier 1935833 1935865 - Identifier 1935866 1935870 - Identifier 1935871 1935898 - VariableStatement 1935900 1936136 - VariableDeclarationList 1935900 1936135 - VariableDeclaration 1935915 1936135 - Identifier 1935915 1935930 - BinaryExpression 1935932 1936135 - CallExpression 1935932 1935960 - Identifier 1935932 1935954 - Identifier 1935955 1935959 - BarBarToken 1935960 1935963 - BinaryExpression 1935963 1936135 - PrefixUnaryExpression 1935963 1935980 - PrefixUnaryExpression 1935965 1935980 - Identifier 1935966 1935980 - AmpersandAmpersandToken 1935980 1935983 - CallExpression 1935983 1936135 - Identifier 1935983 1935992 - Identifier 1935993 1936007 - ArrowFunction 1936008 1936134 - Parameter 1936008 1936010 - Identifier 1936008 1936010 - EqualsGreaterThanToken 1936010 1936013 - BinaryExpression 1936013 1936134 - CallExpression 1936013 1936032 - Identifier 1936013 1936029 - Identifier 1936030 1936031 - BarBarToken 1936032 1936035 - BinaryExpression 1936035 1936134 - BinaryExpression 1936035 1936073 - CallExpression 1936035 1936058 - Identifier 1936035 1936055 - Identifier 1936056 1936057 - AmpersandAmpersandToken 1936058 1936061 - PrefixUnaryExpression 1936061 1936073 - PropertyAccessExpression 1936063 1936073 - Identifier 1936063 1936064 - Identifier 1936065 1936073 - AmpersandAmpersandToken 1936073 1936076 - PrefixUnaryExpression 1936076 1936134 - PrefixUnaryExpression 1936078 1936134 - CallExpression 1936079 1936134 - Identifier 1936079 1936105 - BinaryExpression 1936106 1936133 - AsExpression 1936106 1936128 - PropertyAccessExpression 1936106 1936114 - Identifier 1936106 1936107 - Identifier 1936108 1936114 - TypeReference 1936117 1936128 - Identifier 1936117 1936128 - BarBarToken 1936128 1936131 - Identifier 1936131 1936133 - VariableStatement 1936136 1936181 - VariableDeclarationList 1936136 1936180 - VariableDeclaration 1936151 1936180 - Identifier 1936151 1936172 - FalseKeyword 1936174 1936180 - ForStatement 1936181 1939606 - VariableDeclarationList 1936196 1936205 - VariableDeclaration 1936199 1936205 - Identifier 1936199 1936201 - NumericLiteral 1936203 1936205 - BinaryExpression 1936206 1936223 - Identifier 1936206 1936208 - LessThanToken 1936208 1936210 - Identifier 1936210 1936223 - PostfixUnaryExpression 1936224 1936228 - Identifier 1936224 1936226 - Block 1936229 1939606 - VariableStatement 1936231 1936267 - VariableDeclarationList 1936231 1936266 - VariableDeclaration 1936250 1936266 - Identifier 1936250 1936252 - ElementAccessExpression 1936254 1936266 - Identifier 1936254 1936263 - Identifier 1936264 1936265 - IfStatement 1936267 1939595 - BinaryExpression 1936285 1936320 - PropertyAccessExpression 1936285 1936291 - Identifier 1936285 1936286 - Identifier 1936287 1936291 - EqualsEqualsEqualsToken 1936291 1936295 - PropertyAccessExpression 1936295 1936320 - Identifier 1936295 1936306 - Identifier 1936307 1936320 - Block 1936321 1938527 - IfStatement 1936323 1936585 - BinaryExpression 1936345 1936406 - Identifier 1936345 1936360 - LessThanToken 1936360 1936362 - PropertyAccessExpression 1936362 1936406 - Identifier 1936362 1936391 - Identifier 1936392 1936406 - Block 1936407 1936585 - ExpressionStatement 1936409 1936566 - CallExpression 1936409 1936565 - Identifier 1936409 1936455 - Identifier 1936456 1936457 - ConditionalExpression 1936458 1936564 - PropertyAccessExpression 1936458 1936493 - Identifier 1936458 1936474 - Identifier 1936475 1936493 - QuestionToken 1936493 1936495 - PropertyAccessExpression 1936495 1936530 - Identifier 1936495 1936515 - Identifier 1936516 1936530 - ColonToken 1936530 1936532 - PropertyAccessExpression 1936532 1936564 - Identifier 1936532 1936552 - Identifier 1936553 1936564 - VariableStatement 1936585 1936694 - VariableDeclarationList 1936585 1936693 - VariableDeclaration 1936608 1936693 - Identifier 1936608 1936619 - CallExpression 1936621 1936693 - Identifier 1936621 1936637 - PropertyAccessExpression 1936638 1936669 - ParenthesizedExpression 1936638 1936658 - AsExpression 1936639 1936657 - Identifier 1936639 1936640 - TypeReference 1936643 1936657 - Identifier 1936643 1936657 - Identifier 1936659 1936669 - Identifier 1936670 1936680 - Identifier 1936681 1936692 - IfStatement 1936694 1938512 - CallExpression 1936716 1936743 - Identifier 1936716 1936731 - Identifier 1936732 1936742 - Block 1936744 1936880 - ExpressionStatement 1936746 1936798 - CallExpression 1936746 1936797 - PropertyAccessExpression 1936746 1936785 - Identifier 1936746 1936780 - Identifier 1936781 1936785 - Identifier 1936786 1936796 - ExpressionStatement 1936798 1936861 - CallExpression 1936798 1936860 - PropertyAccessExpression 1936798 1936837 - Identifier 1936798 1936832 - Identifier 1936833 1936837 - PropertyAccessExpression 1936838 1936859 - Identifier 1936838 1936850 - Identifier 1936851 1936859 - IfStatement 1936902 1938512 - Identifier 1936907 1936929 - Block 1936930 1938257 - VariableStatement 1936932 1938122 - VariableDeclarationList 1936932 1938121 - VariableDeclaration 1937853 1938121 - Identifier 1937853 1937869 - BinaryExpression 1937871 1938121 - BinaryExpression 1937871 1938081 - CallExpression 1937871 1937914 - Identifier 1937871 1937890 - Identifier 1937891 1937901 - Identifier 1937902 1937913 - BarBarToken 1937914 1937917 - CallExpression 1937917 1938081 - Identifier 1937917 1937971 - PropertyAccessExpression 1937972 1937998 - Identifier 1937972 1937984 - Identifier 1937985 1937998 - Identifier 1937999 1938010 - Identifier 1938011 1938025 - Identifier 1938026 1938050 - FalseKeyword 1938051 1938080 - BarBarToken 1938081 1938084 - Identifier 1938084 1938121 - ExpressionStatement 1938122 1938179 - CallExpression 1938122 1938178 - PropertyAccessExpression 1938122 1938161 - Identifier 1938122 1938156 - Identifier 1938157 1938161 - Identifier 1938162 1938177 - ExpressionStatement 1938179 1938238 - CallExpression 1938179 1938237 - PropertyAccessExpression 1938179 1938218 - Identifier 1938179 1938213 - Identifier 1938214 1938218 - PropertyAccessExpression 1938219 1938236 - Identifier 1938219 1938231 - Identifier 1938232 1938236 - Block 1938279 1938512 - ExpressionStatement 1938281 1938434 - CallExpression 1938281 1938433 - PropertyAccessExpression 1938281 1938320 - Identifier 1938281 1938315 - Identifier 1938316 1938320 - CallExpression 1938321 1938432 - Identifier 1938321 1938351 - PropertyAccessExpression 1938352 1938371 - Identifier 1938352 1938364 - Identifier 1938365 1938371 - Identifier 1938372 1938383 - Identifier 1938384 1938398 - PropertyAccessExpression 1938399 1938431 - ParenthesizedExpression 1938399 1938420 - AsExpression 1938401 1938419 - Identifier 1938401 1938402 - TypeReference 1938405 1938419 - Identifier 1938405 1938419 - Identifier 1938421 1938431 - ExpressionStatement 1938434 1938493 - CallExpression 1938434 1938492 - PropertyAccessExpression 1938434 1938473 - Identifier 1938434 1938468 - Identifier 1938469 1938473 - PropertyAccessExpression 1938474 1938491 - Identifier 1938474 1938486 - Identifier 1938487 1938491 - IfStatement 1938545 1939595 - BinaryExpression 1938550 1938619 - Identifier 1938550 1938576 - AmpersandAmpersandToken 1938576 1938579 - BinaryExpression 1938579 1938619 - PropertyAccessExpression 1938579 1938586 - Identifier 1938579 1938581 - Identifier 1938582 1938586 - EqualsEqualsEqualsToken 1938586 1938590 - PropertyAccessExpression 1938590 1938619 - Identifier 1938590 1938601 - Identifier 1938602 1938619 - Block 1938620 1938802 - ExpressionStatement 1938622 1938668 - BinaryExpression 1938622 1938667 - Identifier 1938622 1938660 - EqualsToken 1938660 1938662 - TrueKeyword 1938662 1938667 - ExpressionStatement 1938668 1938728 - CallExpression 1938668 1938727 - PropertyAccessExpression 1938668 1938703 - Identifier 1938668 1938698 - Identifier 1938699 1938703 - Identifier 1938704 1938726 - ExpressionStatement 1938728 1938787 - CallExpression 1938728 1938786 - PropertyAccessExpression 1938728 1938763 - Identifier 1938728 1938758 - Identifier 1938759 1938763 - PropertyAccessExpression 1938764 1938785 - Identifier 1938764 1938776 - Identifier 1938777 1938785 - Block 1938820 1939595 - VariableStatement 1938822 1938913 - VariableDeclarationList 1938822 1938912 - VariableDeclaration 1938845 1938912 - Identifier 1938845 1938850 - CallExpression 1938852 1938912 - Identifier 1938852 1938886 - Identifier 1938887 1938888 - Identifier 1938889 1938899 - Identifier 1938900 1938911 - ExpressionStatement 1938913 1939014 - CallExpression 1938913 1939013 - PropertyAccessExpression 1938913 1938948 - Identifier 1938913 1938943 - Identifier 1938944 1938948 - CallExpression 1938949 1939012 - Identifier 1938949 1938963 - Identifier 1938964 1938968 - TrueKeyword 1938969 1938989 - Identifier 1938990 1939011 - ExpressionStatement 1939014 1939120 - CallExpression 1939014 1939119 - PropertyAccessExpression 1939014 1939049 - Identifier 1939014 1939044 - Identifier 1939045 1939049 - ConditionalExpression 1939050 1939118 - Identifier 1939050 1939070 - QuestionToken 1939070 1939072 - PropertyAccessExpression 1939072 1939094 - Identifier 1939072 1939085 - Identifier 1939086 1939094 - ColonToken 1939094 1939096 - PropertyAccessExpression 1939096 1939118 - Identifier 1939096 1939109 - Identifier 1939110 1939118 - IfStatement 1939120 1939580 - BinaryExpression 1939142 1939280 - BinaryExpression 1939142 1939255 - BinaryExpression 1939142 1939206 - BinaryExpression 1939142 1939169 - Identifier 1939142 1939156 - AmpersandAmpersandToken 1939156 1939159 - Identifier 1939159 1939169 - AmpersandAmpersandToken 1939169 1939172 - BinaryExpression 1939172 1939206 - Identifier 1939172 1939182 - AmpersandToken 1939182 1939184 - PropertyAccessExpression 1939184 1939206 - Identifier 1939184 1939194 - Identifier 1939195 1939206 - AmpersandAmpersandToken 1939206 1939209 - PrefixUnaryExpression 1939209 1939255 - ParenthesizedExpression 1939211 1939255 - BinaryExpression 1939212 1939254 - Identifier 1939212 1939221 - AmpersandToken 1939221 1939223 - PropertyAccessExpression 1939223 1939254 - Identifier 1939223 1939233 - Identifier 1939234 1939254 - AmpersandAmpersandToken 1939255 1939258 - CallExpression 1939258 1939280 - Identifier 1939258 1939277 - Identifier 1939278 1939279 - Block 1939281 1939580 - VariableStatement 1939283 1939356 - VariableDeclarationList 1939283 1939355 - VariableDeclaration 1939310 1939355 - Identifier 1939310 1939327 - CallExpression 1939329 1939355 - Identifier 1939329 1939349 - Identifier 1939350 1939354 - ExpressionStatement 1939356 1939409 - CallExpression 1939356 1939408 - PropertyAccessExpression 1939356 1939390 - Identifier 1939356 1939383 - Identifier 1939384 1939390 - Identifier 1939391 1939407 - ExpressionStatement 1939409 1939561 - CallExpression 1939409 1939560 - Identifier 1939409 1939533 - Identifier 1939534 1939550 - Identifier 1939551 1939553 - Identifier 1939554 1939559 - ExpressionStatement 1939606 1939636 - CallExpression 1939606 1939635 - Identifier 1939606 1939633 - IfStatement 1939636 1939751 - Identifier 1939650 1939672 - Block 1939673 1939751 - ReturnStatement 1939675 1939740 - CallExpression 1939695 1939739 - Identifier 1939695 1939711 - Identifier 1939712 1939724 - Identifier 1939725 1939738 - IfStatement 1939751 1940016 - BinaryExpression 1939765 1939811 - BinaryExpression 1939765 1939793 - Identifier 1939765 1939775 - BarBarToken 1939775 1939778 - Identifier 1939778 1939793 - BarBarToken 1939793 1939796 - Identifier 1939796 1939811 - Block 1939812 1940016 - ReturnStatement 1939814 1940005 - CallExpression 1939834 1940004 - Identifier 1939834 1939857 - CallExpression 1939858 1940003 - Identifier 1939858 1939873 - Identifier 1939874 1939886 - Identifier 1939887 1939900 - BinaryExpression 1939901 1940002 - Identifier 1939901 1939929 - AmpersandAmpersandToken 1939929 1939932 - PrefixUnaryExpression 1939932 1940002 - ParenthesizedExpression 1939934 1940002 - BinaryExpression 1939935 1940001 - Identifier 1939935 1939949 - AmpersandAmpersandToken 1939949 1939952 - CallExpression 1939952 1940001 - Identifier 1939952 1939961 - Identifier 1939962 1939976 - Identifier 1939977 1940000 - ReturnStatement 1940016 1940422 - CallExpression 1940032 1940421 - Identifier 1940032 1940055 - CallExpression 1940056 1940420 - Identifier 1940056 1940071 - ConditionalExpression 1940072 1940379 - PropertyAccessExpression 1940072 1940105 - Identifier 1940072 1940098 - Identifier 1940099 1940105 - QuestionToken 1940105 1940107 - CallExpression 1940107 1940299 - Identifier 1940107 1940137 - CallExpression 1940138 1940274 - Identifier 1940138 1940145 - Identifier 1940146 1940158 - ArrowFunction 1940159 1940273 - Parameter 1940161 1940162 - Identifier 1940161 1940162 - Parameter 1940163 1940165 - Identifier 1940163 1940165 - EqualsGreaterThanToken 1940166 1940169 - ConditionalExpression 1940169 1940273 - BinaryExpression 1940169 1940209 - ElementAccessExpression 1940169 1940185 - Identifier 1940169 1940182 - Identifier 1940183 1940184 - AmpersandToken 1940185 1940187 - PropertyAccessExpression 1940187 1940209 - Identifier 1940187 1940200 - Identifier 1940201 1940209 - QuestionToken 1940209 1940211 - BinaryExpression 1940211 1940269 - CallExpression 1940211 1940258 - Identifier 1940211 1940243 - Identifier 1940244 1940245 - Identifier 1940246 1940257 - BarBarToken 1940258 1940261 - Identifier 1940261 1940269 - ColonToken 1940269 1940271 - Identifier 1940271 1940273 - PropertyAccessExpression 1940275 1940298 - Identifier 1940275 1940290 - Identifier 1940291 1940298 - ColonToken 1940299 1940301 - ConditionalExpression 1940301 1940379 - Identifier 1940301 1940335 - QuestionToken 1940335 1940337 - Identifier 1940337 1940355 - ColonToken 1940355 1940357 - Identifier 1940357 1940379 - Identifier 1940380 1940408 - FunctionDeclaration 1940429 1940940 - Identifier 1940445 1940468 - Parameter 1940469 1940479 - Identifier 1940469 1940473 - TypeReference 1940474 1940479 - Identifier 1940474 1940479 - Block 1940480 1940940 - IfStatement 1940482 1940583 - PrefixUnaryExpression 1940496 1940543 - ParenthesizedExpression 1940497 1940543 - BinaryExpression 1940498 1940542 - CallExpression 1940498 1940518 - Identifier 1940498 1940512 - Identifier 1940513 1940517 - AmpersandToken 1940518 1940520 - PropertyAccessExpression 1940520 1940542 - Identifier 1940520 1940532 - Identifier 1940533 1940542 - Block 1940544 1940583 - ReturnStatement 1940546 1940572 - Identifier 1940566 1940571 - VariableStatement 1940583 1940647 - VariableDeclarationList 1940583 1940646 - VariableDeclaration 1940596 1940646 - Identifier 1940596 1940608 - PropertyAccessExpression 1940610 1940646 - ParenthesizedExpression 1940610 1940634 - AsExpression 1940612 1940633 - Identifier 1940612 1940616 - TypeReference 1940619 1940633 - Identifier 1940619 1940633 - Identifier 1940635 1940646 - IfStatement 1940647 1940904 - PrefixUnaryExpression 1940661 1940673 - Identifier 1940662 1940673 - Block 1940674 1940904 - ExpressionStatement 1940676 1940784 - BinaryExpression 1940676 1940783 - Identifier 1940676 1940701 - EqualsToken 1940701 1940703 - BinaryExpression 1940703 1940783 - PropertyAccessExpression 1940703 1940739 - ParenthesizedExpression 1940703 1940727 - AsExpression 1940705 1940726 - Identifier 1940705 1940709 - TypeReference 1940712 1940726 - Identifier 1940712 1940726 - Identifier 1940728 1940739 - EqualsToken 1940739 1940741 - CallExpression 1940741 1940783 - Identifier 1940741 1940760 - AsExpression 1940761 1940782 - Identifier 1940761 1940765 - TypeReference 1940768 1940782 - Identifier 1940768 1940782 - ExpressionStatement 1940784 1940893 - BinaryExpression 1940784 1940892 - PropertyAccessExpression 1940784 1940821 - Identifier 1940784 1940809 - Identifier 1940810 1940821 - BarEqualsToken 1940821 1940824 - BinaryExpression 1940824 1940892 - PropertyAccessExpression 1940824 1940849 - Identifier 1940824 1940836 - Identifier 1940837 1940849 - BarToken 1940849 1940851 - PropertyAccessExpression 1940851 1940892 - Identifier 1940851 1940863 - Identifier 1940864 1940892 - ReturnStatement 1940904 1940933 - Identifier 1940920 1940932 - FunctionDeclaration 1940940 1941460 - Identifier 1940956 1940970 - Parameter 1940971 1940992 - Identifier 1940971 1940975 - TypeReference 1940976 1940992 - Identifier 1940976 1940992 - BooleanKeyword 1940994 1941002 - Block 1941002 1941460 - SwitchStatement 1941004 1941453 - PropertyAccessExpression 1941022 1941031 - Identifier 1941022 1941026 - Identifier 1941027 1941031 - CaseBlock 1941032 1941453 - CaseClause 1941034 1941138 - PropertyAccessExpression 1941052 1941084 - Identifier 1941052 1941063 - Identifier 1941064 1941084 - ReturnStatement 1941085 1941138 - CallExpression 1941109 1941137 - Identifier 1941109 1941131 - Identifier 1941132 1941136 - CaseClause 1941138 1941243 - PropertyAccessExpression 1941156 1941178 - Identifier 1941156 1941167 - Identifier 1941168 1941178 - ReturnStatement 1941179 1941243 - CallExpression 1941203 1941242 - Identifier 1941203 1941224 - PropertyAccessExpression 1941225 1941241 - Identifier 1941225 1941229 - Identifier 1941230 1941241 - CaseClause 1941243 1941288 - PropertyAccessExpression 1941261 1941287 - Identifier 1941261 1941272 - Identifier 1941273 1941287 - CaseClause 1941288 1941389 - PropertyAccessExpression 1941306 1941331 - Identifier 1941306 1941317 - Identifier 1941318 1941331 - ReturnStatement 1941332 1941389 - CallExpression 1941356 1941388 - Identifier 1941356 1941377 - PropertyAccessExpression 1941378 1941387 - Identifier 1941378 1941382 - Identifier 1941383 1941387 - DefaultClause 1941389 1941442 - ReturnStatement 1941411 1941442 - FalseKeyword 1941435 1941441 - FunctionDeclaration 1941460 1941799 - Identifier 1941476 1941498 - Parameter 1941499 1941525 - Identifier 1941499 1941503 - TypeReference 1941504 1941525 - Identifier 1941504 1941525 - BooleanKeyword 1941527 1941535 - Block 1941535 1941799 - ReturnStatement 1941537 1941792 - CallExpression 1941713 1941791 - Identifier 1941713 1941736 - CallExpression 1941737 1941768 - Identifier 1941737 1941762 - Identifier 1941763 1941767 - PropertyAccessExpression 1941769 1941790 - Identifier 1941769 1941779 - Identifier 1941780 1941790 - FunctionDeclaration 1941799 1944434 - Identifier 1941815 1941841 - Parameter 1941842 1941868 - Identifier 1941842 1941846 - TypeReference 1941847 1941868 - Identifier 1941847 1941868 - TypeReference 1941870 1941875 - Identifier 1941870 1941875 - Block 1941875 1944434 - VariableStatement 1941877 1941931 - VariableDeclarationList 1941877 1941930 - VariableDeclaration 1941892 1941930 - Identifier 1941892 1941898 - CallExpression 1941900 1941930 - Identifier 1941900 1941913 - PropertyAccessExpression 1941914 1941929 - Identifier 1941914 1941918 - Identifier 1941919 1941929 - IfStatement 1941931 1944389 - PrefixUnaryExpression 1941945 1941964 - PropertyAccessExpression 1941946 1941964 - Identifier 1941946 1941951 - Identifier 1941952 1941964 - Block 1941965 1944389 - IfStatement 1941967 1942441 - BinaryExpression 1941985 1942353 - BinaryExpression 1941985 1942306 - BinaryExpression 1941985 1942242 - BinaryExpression 1941985 1942179 - ParenthesizedExpression 1941985 1942123 - BinaryExpression 1942004 1942122 - BinaryExpression 1942004 1942076 - CallExpression 1942004 1942041 - Identifier 1942004 1942021 - PropertyAccessExpression 1942022 1942040 - PropertyAccessExpression 1942022 1942033 - Identifier 1942022 1942026 - Identifier 1942027 1942033 - Identifier 1942034 1942040 - BarBarToken 1942041 1942044 - CallExpression 1942044 1942076 - Identifier 1942044 1942056 - PropertyAccessExpression 1942057 1942075 - PropertyAccessExpression 1942057 1942068 - Identifier 1942057 1942061 - Identifier 1942062 1942068 - Identifier 1942069 1942075 - BarBarToken 1942076 1942079 - CallExpression 1942079 1942122 - Identifier 1942079 1942102 - PropertyAccessExpression 1942103 1942121 - PropertyAccessExpression 1942103 1942114 - Identifier 1942103 1942107 - Identifier 1942108 1942114 - Identifier 1942115 1942121 - AmpersandAmpersandToken 1942123 1942143 - CallExpression 1942143 1942179 - Identifier 1942143 1942162 - PropertyAccessExpression 1942163 1942178 - Identifier 1942163 1942167 - Identifier 1942168 1942178 - AmpersandAmpersandToken 1942179 1942182 - BinaryExpression 1942182 1942242 - PropertyAccessExpression 1942182 1942217 - PropertyAccessExpression 1942182 1942212 - PropertyAccessExpression 1942182 1942198 - Identifier 1942182 1942187 - Identifier 1942188 1942198 - Identifier 1942199 1942212 - Identifier 1942213 1942217 - EqualsEqualsEqualsToken 1942217 1942221 - PropertyAccessExpression 1942221 1942242 - Identifier 1942221 1942232 - Identifier 1942233 1942242 - AmpersandAmpersandToken 1942242 1942262 - BinaryExpression 1942262 1942306 - PropertyAccessExpression 1942262 1942279 - PropertyAccessExpression 1942262 1942274 - Identifier 1942262 1942267 - Identifier 1942268 1942274 - Identifier 1942275 1942279 - ExclamationEqualsEqualsToken 1942279 1942283 - PropertyAccessExpression 1942283 1942306 - Identifier 1942283 1942294 - Identifier 1942295 1942306 - AmpersandAmpersandToken 1942306 1942309 - BinaryExpression 1942309 1942353 - PropertyAccessExpression 1942309 1942326 - PropertyAccessExpression 1942309 1942321 - Identifier 1942309 1942314 - Identifier 1942315 1942321 - Identifier 1942322 1942326 - ExclamationEqualsEqualsToken 1942326 1942330 - PropertyAccessExpression 1942330 1942353 - Identifier 1942330 1942341 - Identifier 1942342 1942353 - Block 1942368 1942441 - ReturnStatement 1942370 1942426 - BinaryExpression 1942394 1942425 - PropertyAccessExpression 1942394 1942413 - Identifier 1942394 1942400 - Identifier 1942401 1942413 - EqualsToken 1942413 1942415 - Identifier 1942415 1942425 - ExpressionStatement 1942441 1942509 - BinaryExpression 1942441 1942508 - PropertyAccessExpression 1942441 1942473 - Identifier 1942441 1942460 - Identifier 1942461 1942473 - EqualsToken 1942473 1942475 - CallExpression 1942475 1942508 - Identifier 1942475 1942491 - PropertyAccessExpression 1942492 1942507 - Identifier 1942492 1942496 - Identifier 1942497 1942507 - IfStatement 1942509 1943749 - BinaryExpression 1942719 1942829 - BinaryExpression 1942719 1942788 - CallExpression 1942719 1942753 - Identifier 1942719 1942740 - PropertyAccessExpression 1942741 1942752 - Identifier 1942741 1942745 - Identifier 1942746 1942752 - AmpersandAmpersandToken 1942753 1942756 - PrefixUnaryExpression 1942756 1942788 - CallExpression 1942758 1942788 - Identifier 1942758 1942775 - PropertyAccessExpression 1942776 1942787 - Identifier 1942776 1942780 - Identifier 1942781 1942787 - AmpersandAmpersandToken 1942788 1942791 - CallExpression 1942791 1942829 - Identifier 1942791 1942809 - PropertyAccessExpression 1942810 1942828 - PropertyAccessExpression 1942810 1942821 - Identifier 1942810 1942814 - Identifier 1942815 1942821 - Identifier 1942822 1942828 - Block 1942830 1943749 - VariableStatement 1942832 1942920 - VariableDeclarationList 1942832 1942919 - VariableDeclaration 1942855 1942919 - Identifier 1942855 1942865 - CallExpression 1942867 1942919 - Identifier 1942867 1942899 - PropertyAccessExpression 1942900 1942918 - PropertyAccessExpression 1942900 1942911 - Identifier 1942900 1942904 - Identifier 1942905 1942911 - Identifier 1942912 1942918 - VariableStatement 1942920 1943016 - VariableDeclarationList 1942920 1943015 - VariableDeclaration 1942943 1943015 - Identifier 1942943 1942971 - CallExpression 1942973 1943015 - Identifier 1942973 1943004 - Identifier 1943005 1943014 - IfStatement 1943016 1943734 - Identifier 1943038 1943065 - Block 1943066 1943734 - ExpressionStatement 1943068 1943323 - BinaryExpression 1943068 1943322 - PropertyAccessExpression 1943068 1943269 - CallExpression 1943068 1943263 - Identifier 1943068 1943234 - Identifier 1943235 1943262 - Identifier 1943264 1943269 - BarEqualsToken 1943269 1943272 - PropertyAccessExpression 1943272 1943322 - Identifier 1943272 1943287 - Identifier 1943288 1943322 - ExpressionStatement 1943323 1943519 - BinaryExpression 1943323 1943518 - PropertyAccessExpression 1943323 1943475 - CallExpression 1943323 1943469 - Identifier 1943323 1943463 - Identifier 1943464 1943468 - Identifier 1943470 1943475 - BarEqualsToken 1943475 1943478 - PropertyAccessExpression 1943478 1943518 - Identifier 1943478 1943493 - Identifier 1943494 1943518 - ExpressionStatement 1943519 1943715 - BinaryExpression 1943519 1943714 - PropertyAccessExpression 1943519 1943671 - CallExpression 1943519 1943665 - Identifier 1943519 1943645 - PropertyAccessExpression 1943646 1943664 - PropertyAccessExpression 1943646 1943657 - Identifier 1943646 1943650 - Identifier 1943651 1943657 - Identifier 1943658 1943664 - Identifier 1943666 1943671 - BarEqualsToken 1943671 1943674 - PropertyAccessExpression 1943674 1943714 - Identifier 1943674 1943689 - Identifier 1943690 1943714 - IfStatement 1943749 1944378 - BinaryExpression 1943949 1944234 - BinaryExpression 1943949 1944012 - PropertyAccessExpression 1943949 1943991 - PropertyAccessExpression 1943949 1943985 - Identifier 1943949 1943972 - Identifier 1943973 1943985 - Identifier 1943986 1943991 - AmpersandToken 1943991 1943993 - PropertyAccessExpression 1943993 1944012 - Identifier 1943993 1944003 - Identifier 1944004 1944012 - BarBarToken 1944012 1944015 - BinaryExpression 1944015 1944234 - PrefixUnaryExpression 1944015 1944146 - CallExpression 1944034 1944146 - Identifier 1944034 1944056 - PropertyAccessExpression 1944057 1944075 - Identifier 1944057 1944062 - Identifier 1944063 1944075 - BinaryExpression 1944076 1944145 - BinaryExpression 1944076 1944120 - PropertyAccessExpression 1944076 1944097 - Identifier 1944076 1944086 - Identifier 1944087 1944097 - BarToken 1944097 1944099 - PropertyAccessExpression 1944099 1944120 - Identifier 1944099 1944109 - Identifier 1944110 1944120 - BarToken 1944120 1944122 - PropertyAccessExpression 1944122 1944145 - Identifier 1944122 1944132 - Identifier 1944133 1944145 - AmpersandAmpersandToken 1944146 1944149 - PrefixUnaryExpression 1944149 1944234 - CallExpression 1944172 1944234 - Identifier 1944172 1944190 - PropertyAccessExpression 1944191 1944209 - Identifier 1944191 1944196 - Identifier 1944197 1944209 - Identifier 1944210 1944233 - Block 1944249 1944378 - ExpressionStatement 1944251 1944363 - CallExpression 1944251 1944362 - Identifier 1944251 1944274 - Identifier 1944275 1944279 - PropertyAccessExpression 1944280 1944361 - Identifier 1944280 1944292 - Identifier 1944293 1944361 - ReturnStatement 1944389 1944427 - PropertyAccessExpression 1944407 1944426 - Identifier 1944407 1944413 - Identifier 1944414 1944426 - FunctionDeclaration 1944434 1944691 - Identifier 1944450 1944474 - Parameter 1944475 1944489 - Identifier 1944475 1944481 - TypeReference 1944482 1944489 - Identifier 1944482 1944489 - Block 1944490 1944691 - VariableStatement 1944492 1944545 - VariableDeclarationList 1944492 1944544 - VariableDeclaration 1944507 1944544 - Identifier 1944507 1944517 - ElementAccessExpression 1944519 1944544 - PropertyAccessExpression 1944519 1944539 - Identifier 1944519 1944526 - Identifier 1944527 1944539 - QuestionDotToken 1944539 1944541 - NumericLiteral 1944542 1944543 - ReturnStatement 1944545 1944684 - BinaryExpression 1944561 1944683 - CallExpression 1944561 1944602 - Identifier 1944561 1944582 - PropertyAccessExpression 1944583 1944601 - Identifier 1944583 1944589 - Identifier 1944590 1944601 - BarBarToken 1944602 1944605 - ParenthesizedExpression 1944605 1944683 - BinaryExpression 1944607 1944682 - BinaryExpression 1944607 1944649 - Identifier 1944607 1944616 - AmpersandAmpersandToken 1944616 1944619 - CallExpression 1944619 1944649 - Identifier 1944619 1944638 - Identifier 1944639 1944648 - AmpersandAmpersandToken 1944649 1944652 - CallExpression 1944652 1944682 - Identifier 1944652 1944666 - PropertyAccessExpression 1944667 1944681 - Identifier 1944667 1944676 - Identifier 1944677 1944681 - FunctionDeclaration 1944691 1945039 - Identifier 1944707 1944730 - Parameter 1944731 1944745 - Identifier 1944731 1944737 - TypeReference 1944738 1944745 - Identifier 1944738 1944745 - Block 1944746 1945039 - VariableStatement 1944748 1944801 - VariableDeclarationList 1944748 1944800 - VariableDeclaration 1944763 1944800 - Identifier 1944763 1944773 - ElementAccessExpression 1944775 1944800 - PropertyAccessExpression 1944775 1944795 - Identifier 1944775 1944782 - Identifier 1944783 1944795 - QuestionDotToken 1944795 1944797 - NumericLiteral 1944798 1944799 - ReturnStatement 1944801 1945032 - BinaryExpression 1944817 1945031 - CallExpression 1944817 1944839 - Identifier 1944817 1944831 - Identifier 1944832 1944838 - BarBarToken 1944839 1944842 - ParenthesizedExpression 1944842 1945031 - BinaryExpression 1944844 1945030 - BinaryExpression 1944844 1944928 - BinaryExpression 1944844 1944886 - Identifier 1944844 1944853 - AmpersandAmpersandToken 1944853 1944856 - CallExpression 1944856 1944886 - Identifier 1944856 1944875 - Identifier 1944876 1944885 - AmpersandAmpersandToken 1944886 1944889 - CallExpression 1944889 1944928 - Identifier 1944889 1944912 - PropertyAccessExpression 1944913 1944927 - Identifier 1944913 1944922 - Identifier 1944923 1944927 - AmpersandAmpersandToken 1944928 1944931 - CallExpression 1944931 1945030 - Identifier 1944931 1944967 - CallExpression 1944968 1945009 - Identifier 1944968 1944993 - PropertyAccessExpression 1944994 1945008 - Identifier 1944994 1945003 - Identifier 1945004 1945008 - PropertyAccessExpression 1945010 1945029 - Identifier 1945010 1945020 - Identifier 1945021 1945029 - FunctionDeclaration 1945039 1945260 - Identifier 1945055 1945080 - Parameter 1945081 1945095 - Identifier 1945081 1945087 - TypeReference 1945088 1945095 - Identifier 1945088 1945095 - Block 1945096 1945260 - VariableStatement 1945098 1945151 - VariableDeclarationList 1945098 1945150 - VariableDeclaration 1945113 1945150 - Identifier 1945113 1945123 - ElementAccessExpression 1945125 1945150 - PropertyAccessExpression 1945125 1945145 - Identifier 1945125 1945132 - Identifier 1945133 1945145 - QuestionDotToken 1945145 1945147 - NumericLiteral 1945148 1945149 - ReturnStatement 1945151 1945253 - BinaryExpression 1945167 1945252 - BinaryExpression 1945167 1945210 - Identifier 1945167 1945177 - AmpersandAmpersandToken 1945177 1945180 - CallExpression 1945180 1945210 - Identifier 1945180 1945199 - Identifier 1945200 1945209 - AmpersandAmpersandToken 1945210 1945213 - CallExpression 1945213 1945252 - Identifier 1945213 1945236 - PropertyAccessExpression 1945237 1945251 - Identifier 1945237 1945246 - Identifier 1945247 1945251 - FunctionDeclaration 1945260 1946462 - Identifier 1945357 1945383 - Parameter 1945384 1945403 - Identifier 1945384 1945394 - BooleanKeyword 1945395 1945403 - Parameter 1945404 1945419 - Identifier 1945404 1945411 - NumberKeyword 1945412 1945419 - Parameter 1945420 1945441 - Identifier 1945420 1945431 - ArrayType 1945432 1945441 - TypeReference 1945432 1945439 - Identifier 1945432 1945439 - Parameter 1945442 1945456 - Identifier 1945442 1945450 - TypeReference 1945451 1945456 - Identifier 1945451 1945456 - TypeReference 1945458 1945468 - Identifier 1945458 1945468 - Block 1945468 1946462 - VariableStatement 1945470 1945509 - VariableDeclarationList 1945470 1945508 - VariableDeclaration 1945485 1945508 - Identifier 1945485 1945495 - ArrayType 1945496 1945503 - TypeReference 1945496 1945501 - Identifier 1945496 1945501 - ArrayLiteralExpression 1945505 1945508 - VariableStatement 1945509 1945581 - VariableDeclarationList 1945509 1945580 - VariableDeclaration 1945522 1945580 - Identifier 1945522 1945533 - UnionType 1945534 1945580 - ArrayType 1945534 1945568 - TypeReference 1945534 1945566 - Identifier 1945534 1945566 - UndefinedKeyword 1945570 1945580 - ForStatement 1945581 1946240 - VariableDeclarationList 1945596 1945610 - VariableDeclaration 1945599 1945610 - Identifier 1945599 1945601 - Identifier 1945603 1945610 - BinaryExpression 1945611 1945633 - Identifier 1945611 1945613 - LessThanToken 1945613 1945615 - PropertyAccessExpression 1945615 1945633 - Identifier 1945615 1945626 - Identifier 1945627 1945633 - PostfixUnaryExpression 1945634 1945638 - Identifier 1945634 1945636 - Block 1945639 1946240 - VariableStatement 1945641 1945682 - VariableDeclarationList 1945641 1945681 - VariableDeclaration 1945660 1945681 - Identifier 1945660 1945665 - ElementAccessExpression 1945667 1945681 - Identifier 1945667 1945678 - Identifier 1945679 1945680 - IfStatement 1945682 1946229 - BinaryExpression 1945700 1945926 - BinaryExpression 1945700 1945849 - BinaryExpression 1945700 1945773 - BinaryExpression 1945700 1945740 - Identifier 1945700 1945725 - EqualsEqualsEqualsToken 1945725 1945729 - Identifier 1945729 1945740 - AmpersandAmpersandToken 1945740 1945743 - PrefixUnaryExpression 1945743 1945773 - CallExpression 1945745 1945773 - Identifier 1945745 1945767 - Identifier 1945768 1945772 - BarBarToken 1945773 1945776 - BinaryExpression 1945776 1945849 - BinaryExpression 1945776 1945816 - Identifier 1945776 1945801 - EqualsEqualsEqualsToken 1945801 1945805 - Identifier 1945805 1945816 - AmpersandAmpersandToken 1945816 1945819 - CallExpression 1945819 1945849 - Identifier 1945819 1945843 - Identifier 1945844 1945848 - BarBarToken 1945849 1945852 - BinaryExpression 1945852 1945926 - BinaryExpression 1945852 1945894 - Identifier 1945852 1945877 - EqualsEqualsEqualsToken 1945877 1945881 - Identifier 1945881 1945894 - AmpersandAmpersandToken 1945894 1945897 - CallExpression 1945897 1945926 - Identifier 1945897 1945920 - Identifier 1945921 1945925 - Block 1945941 1946229 - ExpressionStatement 1945943 1946008 - CallExpression 1945943 1946007 - PropertyAccessExpression 1945943 1945975 - Identifier 1945943 1945970 - Identifier 1945971 1945975 - CallExpression 1945976 1946006 - Identifier 1945976 1945991 - ElementAccessExpression 1945992 1946005 - Identifier 1945992 1946002 - Identifier 1946003 1946004 - IfStatement 1946008 1946214 - CallExpression 1946030 1946069 - Identifier 1946030 1946054 - ElementAccessExpression 1946055 1946068 - Identifier 1946055 1946065 - Identifier 1946066 1946067 - Block 1946070 1946214 - ExpressionStatement 1946072 1946195 - BinaryExpression 1946072 1946194 - Identifier 1946072 1946104 - EqualsToken 1946104 1946106 - CallExpression 1946106 1946194 - Identifier 1946106 1946113 - Identifier 1946114 1946124 - AsExpression 1946125 1946193 - NonNullExpression 1946125 1946158 - ElementAccessExpression 1946125 1946157 - PropertyAccessExpression 1946125 1946152 - ElementAccessExpression 1946125 1946139 - Identifier 1946125 1946136 - Identifier 1946137 1946138 - Identifier 1946140 1946152 - QuestionDotToken 1946152 1946154 - NumericLiteral 1946155 1946156 - TypeReference 1946161 1946193 - Identifier 1946161 1946193 - VariableStatement 1946240 1946351 - VariableDeclarationList 1946240 1946350 - VariableDeclaration 1946255 1946350 - Identifier 1946255 1946265 - ConditionalExpression 1946267 1946350 - PropertyAccessExpression 1946267 1946284 - Identifier 1946267 1946277 - Identifier 1946278 1946284 - QuestionToken 1946284 1946286 - CallExpression 1946286 1946334 - Identifier 1946286 1946299 - Identifier 1946300 1946309 - PropertyAccessExpression 1946310 1946333 - Identifier 1946310 1946325 - Identifier 1946326 1946333 - ColonToken 1946334 1946336 - Identifier 1946336 1946350 - ReturnStatement 1946351 1946455 - CallExpression 1946367 1946454 - Identifier 1946367 1946383 - Identifier 1946384 1946391 - Identifier 1946392 1946402 - Identifier 1946403 1946414 - Identifier 1946415 1946441 - Identifier 1946442 1946453 - FunctionDeclaration 1946462 1946996 - Identifier 1946478 1946504 - Parameter 1946505 1946519 - Identifier 1946505 1946511 - TypeReference 1946512 1946519 - Identifier 1946512 1946519 - UnionType 1946521 1946540 - TypeReference 1946521 1946528 - Identifier 1946521 1946528 - UndefinedKeyword 1946530 1946540 - Block 1946540 1946996 - ExpressionStatement 1946542 1946638 - CallExpression 1946542 1946637 - PropertyAccessExpression 1946542 1946564 - Identifier 1946542 1946557 - Identifier 1946558 1946564 - BinaryExpression 1946565 1946605 - ParenthesizedExpression 1946565 1946599 - BinaryExpression 1946566 1946598 - PropertyAccessExpression 1946566 1946578 - Identifier 1946566 1946572 - Identifier 1946573 1946578 - AmpersandToken 1946578 1946580 - PropertyAccessExpression 1946580 1946598 - Identifier 1946580 1946592 - Identifier 1946593 1946598 - ExclamationEqualsEqualsToken 1946599 1946603 - NumericLiteral 1946603 1946605 - StringLiteral 1946606 1946636 - VariableStatement 1946638 1946685 - VariableDeclarationList 1946638 1946684 - VariableDeclaration 1946653 1946684 - Identifier 1946653 1946659 - CallExpression 1946661 1946684 - Identifier 1946661 1946676 - Identifier 1946677 1946683 - IfStatement 1946685 1946948 - PrefixUnaryExpression 1946699 1946721 - PropertyAccessExpression 1946700 1946721 - Identifier 1946700 1946705 - Identifier 1946706 1946721 - Block 1946722 1946948 - VariableStatement 1946724 1946787 - VariableDeclarationList 1946724 1946786 - VariableDeclaration 1946743 1946786 - Identifier 1946743 1946748 - CallExpression 1946750 1946786 - Identifier 1946750 1946778 - Identifier 1946779 1946785 - IfStatement 1946787 1946832 - PrefixUnaryExpression 1946805 1946810 - Identifier 1946806 1946810 - ReturnStatement 1946811 1946832 - CallExpression 1946818 1946831 - PropertyAccessExpression 1946818 1946829 - Identifier 1946818 1946824 - Identifier 1946825 1946829 - ExpressionStatement 1946832 1946937 - BinaryExpression 1946832 1946936 - PropertyAccessExpression 1946832 1946867 - Identifier 1946832 1946851 - Identifier 1946852 1946867 - EqualsToken 1946867 1946869 - CallExpression 1946869 1946936 - Identifier 1946869 1946897 - Identifier 1946898 1946902 - TrueKeyword 1946903 1946935 - ReturnStatement 1946948 1946989 - PropertyAccessExpression 1946966 1946988 - Identifier 1946966 1946972 - Identifier 1946973 1946988 - FunctionDeclaration 1946996 1959174 - Identifier 1947012 1947031 - Parameter 1947032 1947061 - Identifier 1947032 1947036 - TypeReference 1947037 1947061 - Identifier 1947037 1947061 - Parameter 1947062 1947102 - Identifier 1947062 1947072 - TypeReference 1947073 1947083 - Identifier 1947073 1947083 - PropertyAccessExpression 1947085 1947102 - Identifier 1947085 1947095 - Identifier 1947096 1947102 - TypeReference 1947104 1947109 - Identifier 1947104 1947109 - Block 1947109 1959174 - VariableStatement 1947111 1947177 - VariableDeclarationList 1947111 1947176 - VariableDeclaration 1947126 1947176 - Identifier 1947126 1947149 - CallExpression 1947151 1947176 - Identifier 1947151 1947170 - Identifier 1947171 1947175 - ExpressionStatement 1947177 1947282 - CallExpression 1947177 1947281 - Identifier 1947177 1947251 - Identifier 1947252 1947256 - Identifier 1947257 1947280 - VariableStatement 1947282 1947372 - VariableDeclarationList 1947282 1947371 - VariableDeclaration 1947299 1947371 - Identifier 1947299 1947318 - ConditionalExpression 1947320 1947371 - Identifier 1947320 1947337 - QuestionToken 1947337 1947339 - CallExpression 1947339 1947359 - Identifier 1947339 1947357 - ColonToken 1947359 1947361 - Identifier 1947361 1947371 - VariableStatement 1947372 1947424 - VariableDeclarationList 1947372 1947423 - VariableDeclaration 1947385 1947423 - Identifier 1947385 1947401 - CallExpression 1947403 1947423 - Identifier 1947403 1947421 - VariableStatement 1947424 1947469 - VariableDeclarationList 1947424 1947468 - VariableDeclaration 1947437 1947468 - Identifier 1947437 1947453 - ArrayType 1947454 1947463 - TypeReference 1947454 1947461 - Identifier 1947454 1947461 - ArrayLiteralExpression 1947465 1947468 - VariableStatement 1947469 1947514 - VariableDeclarationList 1947469 1947513 - VariableDeclaration 1947482 1947513 - Identifier 1947482 1947489 - TypeReference 1947490 1947495 - Identifier 1947490 1947495 - Identifier 1947497 1947513 - ExpressionStatement 1947514 1947557 - CallExpression 1947514 1947556 - Identifier 1947514 1947550 - Identifier 1947551 1947555 - VariableStatement 1947557 1947656 - VariableDeclarationList 1947557 1947655 - VariableDeclaration 1947572 1947655 - Identifier 1947572 1947587 - CallExpression 1947589 1947655 - Identifier 1947589 1947621 - Identifier 1947622 1947626 - Identifier 1947627 1947654 - VariableStatement 1947656 1947892 - VariableDeclarationList 1947656 1947891 - VariableDeclaration 1947671 1947891 - Identifier 1947671 1947696 - BinaryExpression 1947698 1947891 - BinaryExpression 1947698 1947739 - Identifier 1947698 1947713 - AmpersandAmpersandToken 1947713 1947716 - PropertyAccessExpression 1947716 1947739 - Identifier 1947716 1947731 - Identifier 1947732 1947739 - AmpersandAmpersandToken 1947739 1947742 - ParenthesizedExpression 1947742 1947891 - BinaryExpression 1947757 1947890 - BinaryExpression 1947757 1947820 - PropertyAccessExpression 1947757 1947784 - PropertyAccessExpression 1947757 1947779 - Identifier 1947757 1947771 - Identifier 1947772 1947779 - Identifier 1947780 1947784 - EqualsEqualsEqualsToken 1947784 1947788 - PropertyAccessExpression 1947788 1947820 - Identifier 1947788 1947799 - Identifier 1947800 1947820 - BarBarToken 1947820 1947823 - BinaryExpression 1947823 1947890 - PropertyAccessExpression 1947823 1947851 - PropertyAccessExpression 1947823 1947846 - Identifier 1947823 1947838 - Identifier 1947839 1947846 - Identifier 1947847 1947851 - EqualsEqualsEqualsToken 1947851 1947855 - PropertyAccessExpression 1947855 1947890 - Identifier 1947855 1947866 - Identifier 1947867 1947890 - VariableStatement 1947892 1947946 - VariableDeclarationList 1947892 1947945 - VariableDeclaration 1947907 1947945 - Identifier 1947907 1947922 - CallExpression 1947924 1947945 - Identifier 1947924 1947939 - Identifier 1947940 1947944 - VariableStatement 1947946 1948016 - VariableDeclarationList 1947946 1948015 - VariableDeclaration 1947961 1948015 - Identifier 1947961 1947972 - ConditionalExpression 1947974 1948015 - Identifier 1947974 1947989 - QuestionToken 1947989 1947991 - PropertyAccessExpression 1947991 1948011 - Identifier 1947991 1948002 - Identifier 1948003 1948011 - ColonToken 1948011 1948013 - NumericLiteral 1948013 1948015 - VariableStatement 1948016 1948089 - VariableDeclarationList 1948016 1948088 - VariableDeclaration 1948031 1948088 - Identifier 1948031 1948046 - BinaryExpression 1948048 1948088 - CallExpression 1948048 1948065 - Identifier 1948048 1948059 - Identifier 1948060 1948064 - AmpersandAmpersandToken 1948065 1948068 - PrefixUnaryExpression 1948068 1948088 - CallExpression 1948070 1948088 - Identifier 1948070 1948082 - Identifier 1948083 1948087 - VariableStatement 1948089 1948166 - VariableDeclarationList 1948089 1948165 - VariableDeclaration 1948104 1948165 - Identifier 1948104 1948112 - ConditionalExpression 1948114 1948165 - Identifier 1948114 1948129 - QuestionToken 1948129 1948131 - CallExpression 1948131 1948153 - Identifier 1948131 1948147 - Identifier 1948148 1948152 - ColonToken 1948153 1948155 - Identifier 1948155 1948165 - VariableStatement 1948166 1948248 - VariableDeclarationList 1948166 1948247 - VariableDeclaration 1948181 1948247 - Identifier 1948181 1948199 - BinaryExpression 1948201 1948247 - BinaryExpression 1948201 1948235 - PrefixUnaryExpression 1948201 1948217 - Identifier 1948203 1948217 - AmpersandAmpersandToken 1948217 1948220 - Identifier 1948220 1948235 - AmpersandAmpersandToken 1948235 1948238 - PrefixUnaryExpression 1948238 1948247 - Identifier 1948240 1948247 - VariableStatement 1948248 1948314 - VariableDeclarationList 1948248 1948313 - VariableDeclaration 1948261 1948313 - Identifier 1948261 1948273 - TypeReference 1948274 1948286 - Identifier 1948274 1948286 - PropertyAccessExpression 1948288 1948313 - Identifier 1948288 1948300 - Identifier 1948301 1948313 - VariableStatement 1948314 1948366 - VariableDeclarationList 1948314 1948365 - VariableDeclaration 1948327 1948365 - Identifier 1948327 1948357 - FalseKeyword 1948359 1948365 - VariableStatement 1948366 1948414 - VariableDeclarationList 1948366 1948413 - VariableDeclaration 1948379 1948413 - Identifier 1948379 1948405 - FalseKeyword 1948407 1948413 - VariableStatement 1948414 1948462 - VariableDeclarationList 1948414 1948461 - VariableDeclaration 1948427 1948461 - Identifier 1948427 1948453 - FalseKeyword 1948455 1948461 - VariableStatement 1948462 1948510 - VariableDeclarationList 1948462 1948509 - VariableDeclaration 1948475 1948509 - Identifier 1948475 1948501 - FalseKeyword 1948503 1948509 - ForOfStatement 1948510 1948953 - VariableDeclarationList 1948773 1948783 - VariableDeclaration 1948778 1948783 - Identifier 1948778 1948783 - PropertyAccessExpression 1948786 1948802 - Identifier 1948786 1948791 - Identifier 1948792 1948802 - Block 1948803 1948953 - IfStatement 1948805 1948942 - BinaryExpression 1948823 1948869 - PropertyAccessExpression 1948823 1948832 - Identifier 1948823 1948827 - Identifier 1948828 1948832 - AmpersandAmpersandToken 1948832 1948835 - CallExpression 1948835 1948869 - Identifier 1948835 1948858 - PropertyAccessExpression 1948859 1948868 - Identifier 1948859 1948863 - Identifier 1948864 1948868 - Block 1948870 1948942 - ExpressionStatement 1948872 1948927 - CallExpression 1948872 1948926 - Identifier 1948872 1948915 - PropertyAccessExpression 1948916 1948925 - Identifier 1948916 1948920 - Identifier 1948921 1948925 - VariableStatement 1948953 1948980 - VariableDeclarationList 1948953 1948979 - VariableDeclaration 1948968 1948979 - Identifier 1948968 1948975 - NumericLiteral 1948977 1948979 - ForOfStatement 1948980 1957155 - VariableDeclarationList 1948995 1949011 - VariableDeclaration 1949000 1949011 - Identifier 1949000 1949011 - PropertyAccessExpression 1949014 1949030 - Identifier 1949014 1949019 - Identifier 1949020 1949030 - Block 1949031 1957155 - VariableStatement 1949033 1949095 - VariableDeclarationList 1949033 1949094 - VariableDeclaration 1949050 1949094 - Identifier 1949050 1949057 - CallExpression 1949059 1949094 - Identifier 1949059 1949082 - Identifier 1949083 1949093 - VariableStatement 1949095 1949284 - VariableDeclarationList 1949095 1949283 - VariableDeclaration 1949114 1949283 - Identifier 1949114 1949131 - ConditionalExpression 1949133 1949283 - BinaryExpression 1949133 1949209 - PropertyAccessExpression 1949133 1949149 - Identifier 1949133 1949144 - Identifier 1949145 1949149 - AmpersandAmpersandToken 1949149 1949152 - BinaryExpression 1949152 1949209 - PropertyAccessExpression 1949152 1949173 - PropertyAccessExpression 1949152 1949168 - Identifier 1949152 1949163 - Identifier 1949164 1949168 - Identifier 1949169 1949173 - EqualsEqualsEqualsToken 1949173 1949177 - PropertyAccessExpression 1949177 1949209 - Identifier 1949177 1949188 - Identifier 1949189 1949209 - QuestionToken 1949209 1949211 - CallExpression 1949211 1949271 - Identifier 1949211 1949254 - PropertyAccessExpression 1949255 1949270 - Identifier 1949255 1949265 - Identifier 1949266 1949270 - ColonToken 1949271 1949273 - Identifier 1949273 1949283 - IfStatement 1949284 1956199 - BinaryExpression 1949302 1949502 - BinaryExpression 1949302 1949448 - BinaryExpression 1949302 1949369 - PropertyAccessExpression 1949302 1949335 - Identifier 1949302 1949330 - Identifier 1949331 1949335 - EqualsEqualsEqualsToken 1949335 1949339 - PropertyAccessExpression 1949339 1949369 - Identifier 1949339 1949350 - Identifier 1949351 1949369 - BarBarToken 1949369 1949372 - BinaryExpression 1949372 1949448 - PropertyAccessExpression 1949372 1949405 - Identifier 1949372 1949400 - Identifier 1949401 1949405 - EqualsEqualsEqualsToken 1949405 1949409 - PropertyAccessExpression 1949409 1949448 - Identifier 1949409 1949420 - Identifier 1949421 1949448 - BarBarToken 1949448 1949451 - CallExpression 1949451 1949502 - Identifier 1949451 1949490 - Identifier 1949491 1949501 - Block 1949517 1953912 - VariableStatement 1949519 1950279 - VariableDeclarationList 1949519 1950278 - VariableDeclaration 1949540 1950278 - Identifier 1949540 1949545 - ConditionalExpression 1949547 1950278 - BinaryExpression 1949547 1949597 - PropertyAccessExpression 1949547 1949563 - Identifier 1949547 1949558 - Identifier 1949559 1949563 - EqualsEqualsEqualsToken 1949563 1949567 - PropertyAccessExpression 1949567 1949597 - Identifier 1949567 1949578 - Identifier 1949579 1949597 - QuestionToken 1949597 1949599 - CallExpression 1949599 1949646 - Identifier 1949599 1949623 - Identifier 1949624 1949634 - Identifier 1949635 1949645 - ColonToken 1949646 1949648 - ConditionalExpression 1949648 1950278 - BinaryExpression 1949648 1950034 - PropertyAccessExpression 1949648 1949991 - Identifier 1949648 1949986 - Identifier 1949987 1949991 - EqualsEqualsEqualsToken 1949991 1949995 - PropertyAccessExpression 1949995 1950034 - Identifier 1949995 1950006 - Identifier 1950007 1950034 - QuestionToken 1950034 1950036 - CallExpression 1950036 1950207 - Identifier 1950036 1950070 - ConditionalExpression 1950071 1950195 - BinaryExpression 1950071 1950136 - PrefixUnaryExpression 1950071 1950094 - Identifier 1950072 1950094 - AmpersandAmpersandToken 1950094 1950097 - PropertyAccessExpression 1950097 1950136 - Identifier 1950097 1950108 - Identifier 1950109 1950136 - QuestionToken 1950136 1950138 - PropertyAccessExpression 1950138 1950177 - Identifier 1950138 1950149 - Identifier 1950150 1950177 - ColonToken 1950177 1950179 - PropertyAccessExpression 1950179 1950195 - Identifier 1950179 1950190 - Identifier 1950191 1950195 - Identifier 1950196 1950206 - ColonToken 1950207 1950209 - CallExpression 1950209 1950278 - Identifier 1950209 1950255 - Identifier 1950256 1950266 - Identifier 1950267 1950277 - IfStatement 1950279 1950809 - Identifier 1950301 1950315 - Block 1950316 1950809 - VariableStatement 1950318 1950408 - VariableDeclarationList 1950318 1950407 - VariableDeclaration 1950345 1950407 - Identifier 1950345 1950355 - CallExpression 1950357 1950407 - Identifier 1950357 1950395 - Identifier 1950396 1950406 - IfStatement 1950408 1950790 - Identifier 1950434 1950443 - Block 1950444 1950589 - ExpressionStatement 1950446 1950523 - CallExpression 1950446 1950522 - Identifier 1950446 1950493 - Identifier 1950494 1950498 - Identifier 1950499 1950509 - Identifier 1950510 1950521 - ExpressionStatement 1950523 1950566 - BinaryExpression 1950523 1950565 - Identifier 1950523 1950553 - EqualsToken 1950553 1950555 - Identifier 1950555 1950565 - IfStatement 1950615 1950790 - BinaryExpression 1950620 1950653 - Identifier 1950620 1950627 - AmpersandAmpersandToken 1950627 1950630 - PropertyAccessExpression 1950630 1950653 - Identifier 1950630 1950638 - Identifier 1950639 1950653 - Block 1950654 1950790 - ExpressionStatement 1950656 1950767 - CallExpression 1950656 1950766 - Identifier 1950656 1950703 - Identifier 1950704 1950708 - CallExpression 1950709 1950753 - Identifier 1950709 1950729 - PropertyAccessExpression 1950730 1950752 - Identifier 1950730 1950737 - Identifier 1950738 1950752 - Identifier 1950754 1950765 - ExpressionStatement 1950809 1950894 - BinaryExpression 1950809 1950893 - Identifier 1950809 1950838 - BarEqualsToken 1950838 1950841 - BinaryExpression 1950841 1950893 - CallExpression 1950841 1950862 - Identifier 1950841 1950856 - Identifier 1950857 1950861 - AmpersandToken 1950862 1950864 - PropertyAccessExpression 1950864 1950893 - Identifier 1950864 1950876 - Identifier 1950877 1950893 - VariableStatement 1950894 1951025 - VariableDeclarationList 1950894 1951024 - VariableDeclaration 1950917 1951024 - Identifier 1950917 1950926 - ConditionalExpression 1950928 1951024 - BinaryExpression 1950928 1950993 - Identifier 1950928 1950945 - AmpersandAmpersandToken 1950945 1950948 - CallExpression 1950948 1950993 - Identifier 1950948 1950975 - Identifier 1950976 1950992 - QuestionToken 1950993 1950995 - Identifier 1950995 1951012 - ColonToken 1951012 1951014 - Identifier 1951014 1951024 - VariableStatement 1951025 1951308 - VariableDeclarationList 1951025 1951307 - VariableDeclaration 1951048 1951307 - Identifier 1951048 1951053 - ConditionalExpression 1951055 1951307 - Identifier 1951055 1951064 - QuestionToken 1951064 1951066 - CallExpression 1951066 1951202 - Identifier 1951066 1951100 - BinaryExpression 1951101 1951136 - PropertyAccessExpression 1951101 1951121 - Identifier 1951101 1951112 - Identifier 1951113 1951121 - BarToken 1951121 1951123 - PropertyAccessExpression 1951123 1951136 - Identifier 1951123 1951130 - Identifier 1951131 1951136 - CallExpression 1951137 1951171 - Identifier 1951137 1951161 - Identifier 1951162 1951170 - BinaryExpression 1951172 1951201 - Identifier 1951172 1951183 - BarToken 1951183 1951185 - PropertyAccessExpression 1951185 1951201 - Identifier 1951185 1951196 - Identifier 1951197 1951201 - ColonToken 1951202 1951204 - CallExpression 1951204 1951307 - Identifier 1951204 1951238 - BinaryExpression 1951239 1951274 - PropertyAccessExpression 1951239 1951259 - Identifier 1951239 1951250 - Identifier 1951251 1951259 - BarToken 1951259 1951261 - PropertyAccessExpression 1951261 1951274 - Identifier 1951261 1951268 - Identifier 1951269 1951274 - PropertyAccessExpression 1951275 1951294 - Identifier 1951275 1951282 - Identifier 1951283 1951294 - Identifier 1951295 1951306 - IfStatement 1951308 1951413 - Identifier 1951330 1951338 - Block 1951339 1951413 - ExpressionStatement 1951341 1951394 - BinaryExpression 1951341 1951393 - PropertyAccessExpression 1951341 1951382 - PropertyAccessExpression 1951341 1951373 - Identifier 1951341 1951367 - Identifier 1951368 1951373 - Identifier 1951374 1951382 - EqualsToken 1951382 1951384 - Identifier 1951384 1951393 - IfStatement 1951413 1952698 - BinaryExpression 1951437 1951490 - Identifier 1951437 1951459 - AmpersandAmpersandToken 1951459 1951462 - CallExpression 1951462 1951490 - Identifier 1951462 1951478 - Identifier 1951479 1951489 - Block 1951491 1951762 - ExpressionStatement 1951493 1951743 - BinaryExpression 1951493 1951742 - PropertyAccessExpression 1951493 1951718 - Identifier 1951493 1951712 - Identifier 1951713 1951718 - BarEqualsToken 1951718 1951721 - PropertyAccessExpression 1951721 1951742 - Identifier 1951721 1951733 - Identifier 1951734 1951742 - IfStatement 1951784 1952698 - BinaryExpression 1951789 1951907 - Identifier 1951789 1951813 - AmpersandAmpersandToken 1951813 1951816 - PrefixUnaryExpression 1951816 1951907 - ParenthesizedExpression 1951818 1951907 - BinaryExpression 1951819 1951906 - CallExpression 1951819 1951849 - Identifier 1951819 1951833 - Identifier 1951834 1951848 - AmpersandToken 1951849 1951851 - PropertyAccessExpression 1951851 1951906 - Identifier 1951851 1951863 - Identifier 1951864 1951906 - Block 1951908 1952698 - VariableStatement 1951910 1952235 - VariableDeclarationList 1951910 1952234 - VariableDeclaration 1952166 1952234 - Identifier 1952166 1952178 - CallExpression 1952180 1952234 - Identifier 1952180 1952198 - Identifier 1952199 1952213 - PropertyAccessExpression 1952214 1952233 - Identifier 1952214 1952221 - Identifier 1952222 1952233 - IfStatement 1952235 1952679 - Identifier 1952261 1952272 - Block 1952273 1952379 - ExpressionStatement 1952275 1952356 - BinaryExpression 1952275 1952355 - PropertyAccessExpression 1952275 1952311 - Identifier 1952275 1952305 - Identifier 1952306 1952311 - BarEqualsToken 1952311 1952314 - BinaryExpression 1952314 1952355 - PropertyAccessExpression 1952314 1952332 - Identifier 1952314 1952326 - Identifier 1952327 1952332 - AmpersandToken 1952332 1952334 - PropertyAccessExpression 1952334 1952355 - Identifier 1952334 1952346 - Identifier 1952347 1952355 - IfStatement 1952405 1952679 - PrefixUnaryExpression 1952410 1952457 - CallExpression 1952411 1952457 - Identifier 1952411 1952429 - Identifier 1952430 1952444 - Identifier 1952445 1952456 - Block 1952458 1952679 - ExpressionStatement 1952460 1952656 - CallExpression 1952460 1952655 - Identifier 1952460 1952491 - PropertyAccessExpression 1952492 1952507 - Identifier 1952492 1952502 - Identifier 1952503 1952507 - PropertyAccessExpression 1952508 1952600 - Identifier 1952508 1952520 - Identifier 1952521 1952600 - CallExpression 1952601 1952624 - Identifier 1952601 1952616 - Identifier 1952617 1952623 - CallExpression 1952625 1952654 - Identifier 1952625 1952638 - Identifier 1952639 1952653 - ExpressionStatement 1952698 1952758 - BinaryExpression 1952698 1952757 - PropertyAccessExpression 1952698 1952735 - Identifier 1952698 1952722 - Identifier 1952723 1952735 - EqualsToken 1952735 1952737 - PropertyAccessExpression 1952737 1952757 - Identifier 1952737 1952744 - Identifier 1952745 1952757 - ExpressionStatement 1952758 1952804 - BinaryExpression 1952758 1952803 - PropertyAccessExpression 1952758 1952787 - Identifier 1952758 1952780 - Identifier 1952781 1952787 - EqualsToken 1952787 1952789 - PropertyAccessExpression 1952789 1952803 - Identifier 1952789 1952796 - Identifier 1952797 1952803 - IfStatement 1952804 1952941 - PropertyAccessExpression 1952826 1952849 - Identifier 1952826 1952832 - Identifier 1952833 1952849 - Block 1952850 1952941 - ExpressionStatement 1952852 1952922 - BinaryExpression 1952852 1952921 - PropertyAccessExpression 1952852 1952895 - Identifier 1952852 1952878 - Identifier 1952879 1952895 - EqualsToken 1952895 1952897 - PropertyAccessExpression 1952897 1952921 - Identifier 1952897 1952904 - Identifier 1952905 1952921 - ExpressionStatement 1952941 1952984 - BinaryExpression 1952941 1952983 - PropertyAccessExpression 1952941 1952976 - PropertyAccessExpression 1952941 1952971 - Identifier 1952941 1952965 - Identifier 1952966 1952971 - Identifier 1952972 1952976 - EqualsToken 1952976 1952978 - Identifier 1952978 1952983 - ExpressionStatement 1952984 1953029 - BinaryExpression 1952984 1953028 - PropertyAccessExpression 1952984 1953019 - PropertyAccessExpression 1952984 1953012 - Identifier 1952984 1953006 - Identifier 1953007 1953012 - Identifier 1953013 1953019 - EqualsToken 1953019 1953021 - Identifier 1953021 1953028 - ExpressionStatement 1953029 1953061 - BinaryExpression 1953029 1953060 - Identifier 1953029 1953053 - EqualsToken 1953053 1953055 - Identifier 1953055 1953060 - ExpressionStatement 1953061 1953127 - CallExpression 1953061 1953126 - PropertyAccessExpression 1953061 1953102 - Identifier 1953061 1953097 - QuestionDotToken 1953097 1953099 - Identifier 1953099 1953102 - PropertyAccessExpression 1953103 1953119 - Identifier 1953103 1953107 - Identifier 1953108 1953119 - Identifier 1953120 1953125 - IfStatement 1953127 1953897 - BinaryExpression 1953151 1953435 - BinaryExpression 1953151 1953401 - BinaryExpression 1953151 1953273 - BinaryExpression 1953151 1953224 - Identifier 1953151 1953187 - AmpersandAmpersandToken 1953187 1953190 - BinaryExpression 1953190 1953224 - Identifier 1953190 1953200 - AmpersandToken 1953200 1953202 - PropertyAccessExpression 1953202 1953224 - Identifier 1953202 1953212 - Identifier 1953213 1953224 - AmpersandAmpersandToken 1953224 1953227 - PrefixUnaryExpression 1953227 1953273 - ParenthesizedExpression 1953229 1953273 - BinaryExpression 1953230 1953272 - Identifier 1953230 1953239 - AmpersandToken 1953239 1953241 - PropertyAccessExpression 1953241 1953272 - Identifier 1953241 1953251 - Identifier 1953252 1953272 - AmpersandAmpersandToken 1953273 1953276 - ParenthesizedExpression 1953276 1953401 - BinaryExpression 1953299 1953400 - BinaryExpression 1953299 1953348 - PropertyAccessExpression 1953299 1953314 - Identifier 1953299 1953309 - Identifier 1953310 1953314 - EqualsEqualsEqualsToken 1953314 1953318 - PropertyAccessExpression 1953318 1953348 - Identifier 1953318 1953329 - Identifier 1953330 1953348 - BarBarToken 1953348 1953351 - BinaryExpression 1953351 1953400 - PropertyAccessExpression 1953351 1953367 - Identifier 1953351 1953362 - Identifier 1953363 1953367 - EqualsEqualsEqualsToken 1953367 1953371 - PropertyAccessExpression 1953371 1953400 - Identifier 1953371 1953382 - Identifier 1953383 1953400 - AmpersandAmpersandToken 1953401 1953404 - CallExpression 1953404 1953435 - Identifier 1953404 1953423 - Identifier 1953424 1953434 - Block 1953454 1953897 - VariableStatement 1953456 1953529 - VariableDeclarationList 1953456 1953528 - VariableDeclaration 1953483 1953528 - Identifier 1953483 1953500 - CallExpression 1953502 1953528 - Identifier 1953502 1953522 - Identifier 1953523 1953527 - ExpressionStatement 1953529 1953582 - CallExpression 1953529 1953581 - PropertyAccessExpression 1953529 1953563 - Identifier 1953529 1953556 - Identifier 1953557 1953563 - Identifier 1953564 1953580 - VariableStatement 1953582 1953785 - VariableDeclarationList 1953582 1953784 - VariableDeclaration 1953680 1953784 - Identifier 1953680 1953694 - ConditionalExpression 1953696 1953784 - BinaryExpression 1953696 1953746 - PropertyAccessExpression 1953696 1953712 - Identifier 1953696 1953707 - Identifier 1953708 1953712 - EqualsEqualsEqualsToken 1953712 1953716 - PropertyAccessExpression 1953716 1953746 - Identifier 1953716 1953727 - Identifier 1953728 1953746 - QuestionToken 1953746 1953748 - PropertyAccessExpression 1953748 1953771 - Identifier 1953748 1953759 - Identifier 1953760 1953771 - ColonToken 1953771 1953773 - Identifier 1953773 1953784 - ExpressionStatement 1953785 1953878 - CallExpression 1953785 1953877 - Identifier 1953785 1953838 - Identifier 1953839 1953855 - Identifier 1953856 1953870 - Identifier 1953871 1953876 - IfStatement 1953930 1956199 - BinaryExpression 1953935 1953982 - PropertyAccessExpression 1953935 1953950 - Identifier 1953935 1953945 - Identifier 1953946 1953950 - EqualsEqualsEqualsToken 1953950 1953954 - PropertyAccessExpression 1953954 1953982 - Identifier 1953954 1953965 - Identifier 1953966 1953982 - Block 1953983 1955591 - IfStatement 1953985 1954175 - BinaryExpression 1954007 1954066 - Identifier 1954007 1954022 - LessThanToken 1954022 1954024 - PropertyAccessExpression 1954024 1954066 - Identifier 1954024 1954053 - Identifier 1954054 1954066 - Block 1954067 1954175 - ExpressionStatement 1954069 1954156 - CallExpression 1954069 1954155 - Identifier 1954069 1954115 - Identifier 1954116 1954126 - PropertyAccessExpression 1954127 1954154 - Identifier 1954127 1954147 - Identifier 1954148 1954154 - IfStatement 1954175 1954638 - BinaryExpression 1954197 1954223 - PropertyAccessExpression 1954197 1954219 - Identifier 1954197 1954212 - Identifier 1954213 1954219 - GreaterThanToken 1954219 1954221 - NumericLiteral 1954221 1954223 - Block 1954224 1954638 - ExpressionStatement 1954226 1954348 - BinaryExpression 1954226 1954347 - Identifier 1954226 1954254 - EqualsToken 1954254 1954256 - CallExpression 1954256 1954347 - Identifier 1954256 1954270 - Identifier 1954271 1954277 - CallExpression 1954278 1954304 - Identifier 1954278 1954302 - PropertyAccessExpression 1954305 1954317 - Identifier 1954305 1954310 - Identifier 1954311 1954317 - Identifier 1954318 1954330 - Identifier 1954331 1954346 - ExpressionStatement 1954348 1954391 - BinaryExpression 1954348 1954390 - Identifier 1954348 1954385 - EqualsToken 1954385 1954387 - ArrayLiteralExpression 1954387 1954390 - ExpressionStatement 1954391 1954451 - BinaryExpression 1954391 1954450 - Identifier 1954391 1954428 - EqualsToken 1954428 1954430 - CallExpression 1954430 1954450 - Identifier 1954430 1954448 - ExpressionStatement 1954451 1954507 - BinaryExpression 1954451 1954506 - Identifier 1954451 1954498 - EqualsToken 1954498 1954500 - FalseKeyword 1954500 1954506 - ExpressionStatement 1954507 1954563 - BinaryExpression 1954507 1954562 - Identifier 1954507 1954554 - EqualsToken 1954554 1954556 - FalseKeyword 1954556 1954562 - ExpressionStatement 1954563 1954619 - BinaryExpression 1954563 1954618 - Identifier 1954563 1954610 - EqualsToken 1954610 1954612 - FalseKeyword 1954612 1954618 - VariableStatement 1954638 1954759 - VariableDeclarationList 1954638 1954758 - VariableDeclaration 1954661 1954758 - Identifier 1954661 1954666 - CallExpression 1954668 1954758 - Identifier 1954668 1954683 - CallExpression 1954684 1954757 - Identifier 1954684 1954699 - PropertyAccessExpression 1954700 1954721 - Identifier 1954700 1954710 - Identifier 1954711 1954721 - BinaryExpression 1954722 1954756 - Identifier 1954722 1954732 - AmpersandToken 1954732 1954734 - PropertyAccessExpression 1954734 1954756 - Identifier 1954734 1954744 - Identifier 1954745 1954756 - IfStatement 1954759 1955549 - CallExpression 1954781 1954804 - Identifier 1954781 1954798 - Identifier 1954799 1954803 - Block 1954805 1955361 - VariableStatement 1954807 1954910 - VariableDeclarationList 1954807 1954909 - VariableDeclaration 1954834 1954909 - Identifier 1954834 1954845 - CallExpression 1954847 1954909 - Identifier 1954847 1954887 - Identifier 1954888 1954892 - Identifier 1954893 1954908 - IfStatement 1954910 1955075 - Identifier 1954936 1954954 - Block 1954955 1955075 - ExpressionStatement 1954957 1955052 - CallExpression 1954957 1955051 - Identifier 1954957 1955007 - Identifier 1955008 1955018 - Identifier 1955019 1955038 - Identifier 1955039 1955050 - ExpressionStatement 1955075 1955129 - BinaryExpression 1955075 1955128 - Identifier 1955075 1955103 - EqualsToken 1955103 1955105 - PropertyAccessExpression 1955105 1955128 - Identifier 1955105 1955121 - Identifier 1955122 1955128 - IfStatement 1955129 1955235 - CallExpression 1955155 1955174 - Identifier 1955155 1955166 - Identifier 1955167 1955173 - Block 1955175 1955235 - ContinueStatement 1955177 1955212 - ExpressionStatement 1955235 1955342 - BinaryExpression 1955235 1955341 - Identifier 1955235 1955263 - EqualsToken 1955263 1955265 - CallExpression 1955265 1955341 - Identifier 1955265 1955279 - Identifier 1955280 1955286 - Identifier 1955287 1955298 - PropertyAccessExpression 1955299 1955311 - Identifier 1955299 1955304 - Identifier 1955305 1955311 - Identifier 1955312 1955324 - Identifier 1955325 1955340 - Block 1955383 1955549 - ExpressionStatement 1955385 1955489 - CallExpression 1955385 1955488 - Identifier 1955385 1955412 - Identifier 1955413 1955423 - PropertyAccessExpression 1955424 1955487 - Identifier 1955424 1955436 - Identifier 1955437 1955487 - ExpressionStatement 1955489 1955530 - BinaryExpression 1955489 1955529 - Identifier 1955489 1955517 - EqualsToken 1955517 1955519 - Identifier 1955519 1955529 - ContinueStatement 1955549 1955576 - Block 1955609 1956199 - ExpressionStatement 1955611 1956136 - CallExpression 1955611 1956135 - PropertyAccessExpression 1955611 1956045 - Identifier 1955611 1956038 - Identifier 1956039 1956045 - BinaryExpression 1956046 1956134 - BinaryExpression 1956046 1956088 - PropertyAccessExpression 1956046 1956061 - Identifier 1956046 1956056 - Identifier 1956057 1956061 - EqualsEqualsEqualsToken 1956061 1956065 - PropertyAccessExpression 1956065 1956088 - Identifier 1956065 1956076 - Identifier 1956077 1956088 - BarBarToken 1956088 1956091 - BinaryExpression 1956091 1956134 - PropertyAccessExpression 1956091 1956107 - Identifier 1956091 1956102 - Identifier 1956103 1956107 - EqualsEqualsEqualsToken 1956107 1956111 - PropertyAccessExpression 1956111 1956134 - Identifier 1956111 1956122 - Identifier 1956123 1956134 - ExpressionStatement 1956136 1956184 - CallExpression 1956136 1956183 - Identifier 1956136 1956171 - Identifier 1956172 1956182 - IfStatement 1956199 1957101 - BinaryExpression 1956219 1956306 - Identifier 1956219 1956235 - AmpersandAmpersandToken 1956235 1956238 - PrefixUnaryExpression 1956238 1956306 - ParenthesizedExpression 1956240 1956306 - BinaryExpression 1956241 1956305 - PropertyAccessExpression 1956241 1956263 - Identifier 1956241 1956257 - Identifier 1956258 1956263 - AmpersandToken 1956263 1956265 - PropertyAccessExpression 1956265 1956305 - Identifier 1956265 1956275 - Identifier 1956276 1956305 - Block 1956307 1957000 - IfStatement 1956309 1956985 - CallExpression 1956331 1956391 - Identifier 1956331 1956349 - Identifier 1956350 1956366 - Identifier 1956367 1956390 - Block 1956392 1956985 - IfStatement 1956394 1956829 - CallExpression 1956420 1956468 - Identifier 1956420 1956438 - Identifier 1956439 1956455 - Identifier 1956456 1956467 - Block 1956469 1956553 - ExpressionStatement 1956471 1956530 - BinaryExpression 1956471 1956529 - Identifier 1956471 1956522 - EqualsToken 1956522 1956524 - TrueKeyword 1956524 1956529 - IfStatement 1956579 1956829 - CallExpression 1956584 1956634 - Identifier 1956584 1956602 - Identifier 1956603 1956619 - Identifier 1956620 1956633 - Block 1956635 1956719 - ExpressionStatement 1956637 1956696 - BinaryExpression 1956637 1956695 - Identifier 1956637 1956688 - EqualsToken 1956688 1956690 - TrueKeyword 1956690 1956695 - Block 1956745 1956829 - ExpressionStatement 1956747 1956806 - BinaryExpression 1956747 1956805 - Identifier 1956747 1956798 - EqualsToken 1956798 1956800 - TrueKeyword 1956800 1956805 - IfStatement 1956829 1956966 - Identifier 1956855 1956877 - Block 1956878 1956966 - ExpressionStatement 1956880 1956943 - BinaryExpression 1956880 1956942 - Identifier 1956880 1956935 - EqualsToken 1956935 1956937 - TrueKeyword 1956937 1956942 - Block 1957018 1957101 - ExpressionStatement 1957020 1957086 - CallExpression 1957020 1957085 - PropertyAccessExpression 1957020 1957057 - Identifier 1957020 1957053 - Identifier 1957054 1957057 - PropertyAccessExpression 1957058 1957076 - Identifier 1957058 1957064 - Identifier 1957065 1957076 - Identifier 1957077 1957084 - ExpressionStatement 1957101 1957144 - CallExpression 1957101 1957143 - PropertyAccessExpression 1957101 1957135 - Identifier 1957101 1957130 - Identifier 1957131 1957135 - Identifier 1957136 1957142 - ExpressionStatement 1957155 1957185 - CallExpression 1957155 1957184 - Identifier 1957155 1957182 - IfStatement 1957185 1957265 - CallExpression 1957201 1957220 - Identifier 1957201 1957212 - Identifier 1957213 1957219 - Block 1957221 1957265 - ReturnStatement 1957223 1957254 - Identifier 1957243 1957253 - IfStatement 1957265 1957925 - BinaryExpression 1957281 1957307 - Identifier 1957281 1957287 - ExclamationEqualsEqualsToken 1957287 1957291 - Identifier 1957291 1957307 - Block 1957308 1957925 - IfStatement 1957310 1957689 - BinaryExpression 1957328 1957354 - PropertyAccessExpression 1957328 1957350 - Identifier 1957328 1957343 - Identifier 1957344 1957350 - GreaterThanToken 1957350 1957352 - NumericLiteral 1957352 1957354 - Block 1957355 1957689 - ExpressionStatement 1957357 1957475 - BinaryExpression 1957357 1957474 - Identifier 1957357 1957381 - EqualsToken 1957381 1957383 - CallExpression 1957383 1957474 - Identifier 1957383 1957397 - Identifier 1957398 1957404 - CallExpression 1957405 1957431 - Identifier 1957405 1957429 - PropertyAccessExpression 1957432 1957444 - Identifier 1957432 1957437 - Identifier 1957438 1957444 - Identifier 1957445 1957457 - Identifier 1957458 1957473 - ExpressionStatement 1957475 1957514 - BinaryExpression 1957475 1957513 - Identifier 1957475 1957508 - EqualsToken 1957508 1957510 - ArrayLiteralExpression 1957510 1957513 - ExpressionStatement 1957514 1957570 - BinaryExpression 1957514 1957569 - Identifier 1957514 1957547 - EqualsToken 1957547 1957549 - CallExpression 1957549 1957569 - Identifier 1957549 1957567 - ExpressionStatement 1957570 1957622 - BinaryExpression 1957570 1957621 - Identifier 1957570 1957613 - EqualsToken 1957613 1957615 - FalseKeyword 1957615 1957621 - ExpressionStatement 1957622 1957674 - BinaryExpression 1957622 1957673 - Identifier 1957622 1957665 - EqualsToken 1957665 1957667 - FalseKeyword 1957667 1957673 - ReturnStatement 1957689 1957914 - CallExpression 1957837 1957913 - Identifier 1957837 1957845 - Identifier 1957846 1957852 - ArrowFunction 1957853 1957912 - Parameter 1957853 1957855 - Identifier 1957853 1957855 - EqualsGreaterThanToken 1957855 1957858 - ConditionalExpression 1957858 1957912 - BinaryExpression 1957858 1957880 - Identifier 1957858 1957860 - EqualsEqualsEqualsToken 1957860 1957864 - Identifier 1957864 1957880 - QuestionToken 1957880 1957882 - CallExpression 1957882 1957908 - Identifier 1957882 1957906 - ColonToken 1957908 1957910 - Identifier 1957910 1957912 - ReturnStatement 1957925 1957970 - CallExpression 1957943 1957969 - Identifier 1957943 1957967 - FunctionDeclaration 1957970 1959167 - Identifier 1957990 1958014 - Block 1958016 1959167 - VariableStatement 1958018 1958054 - VariableDeclarationList 1958018 1958053 - VariableDeclaration 1958037 1958053 - Identifier 1958037 1958048 - ArrayLiteralExpression 1958050 1958053 - VariableStatement 1958054 1958108 - VariableDeclarationList 1958054 1958107 - VariableDeclaration 1958073 1958107 - Identifier 1958073 1958084 - CallExpression 1958086 1958107 - Identifier 1958086 1958101 - Identifier 1958102 1958106 - IfStatement 1958108 1958245 - Identifier 1958126 1958151 - ExpressionStatement 1958152 1958245 - CallExpression 1958152 1958244 - PropertyAccessExpression 1958152 1958168 - Identifier 1958152 1958163 - Identifier 1958164 1958168 - CallExpression 1958169 1958243 - Identifier 1958169 1958194 - Identifier 1958195 1958205 - Identifier 1958206 1958213 - Identifier 1958214 1958230 - Identifier 1958231 1958242 - IfStatement 1958245 1958382 - Identifier 1958263 1958288 - ExpressionStatement 1958289 1958382 - CallExpression 1958289 1958381 - PropertyAccessExpression 1958289 1958305 - Identifier 1958289 1958300 - Identifier 1958301 1958305 - CallExpression 1958306 1958380 - Identifier 1958306 1958331 - Identifier 1958332 1958342 - Identifier 1958343 1958350 - Identifier 1958351 1958367 - Identifier 1958368 1958379 - IfStatement 1958382 1958521 - Identifier 1958400 1958425 - ExpressionStatement 1958426 1958521 - CallExpression 1958426 1958520 - PropertyAccessExpression 1958426 1958442 - Identifier 1958426 1958437 - Identifier 1958438 1958442 - CallExpression 1958443 1958519 - Identifier 1958443 1958468 - Identifier 1958469 1958479 - Identifier 1958480 1958487 - Identifier 1958488 1958504 - Identifier 1958505 1958518 - VariableStatement 1958521 1958636 - VariableDeclarationList 1958521 1958635 - VariableDeclaration 1958540 1958635 - Identifier 1958540 1958547 - CallExpression 1958549 1958635 - Identifier 1958549 1958569 - PropertyAccessExpression 1958570 1958581 - Identifier 1958570 1958574 - Identifier 1958575 1958581 - Identifier 1958582 1958598 - Identifier 1958599 1958610 - Identifier 1958611 1958622 - Identifier 1958623 1958634 - ExpressionStatement 1958636 1958755 - BinaryExpression 1958636 1958754 - PropertyAccessExpression 1958636 1958668 - Identifier 1958636 1958656 - Identifier 1958657 1958668 - BarEqualsToken 1958668 1958671 - BinaryExpression 1958671 1958754 - BinaryExpression 1958671 1958711 - Identifier 1958671 1958683 - BarToken 1958683 1958685 - PropertyAccessExpression 1958685 1958711 - Identifier 1958685 1958697 - Identifier 1958698 1958711 - BarToken 1958711 1958713 - PropertyAccessExpression 1958713 1958754 - Identifier 1958713 1958725 - Identifier 1958726 1958754 - IfStatement 1958755 1958870 - Identifier 1958773 1958790 - Block 1958791 1958870 - ExpressionStatement 1958793 1958855 - BinaryExpression 1958793 1958854 - PropertyAccessExpression 1958793 1958829 - Identifier 1958793 1958817 - Identifier 1958818 1958829 - BarEqualsToken 1958829 1958832 - PropertyAccessExpression 1958832 1958854 - Identifier 1958832 1958844 - Identifier 1958845 1958854 - IfStatement 1958870 1959030 - Identifier 1958888 1958917 - Block 1958918 1959030 - ExpressionStatement 1958920 1959015 - BinaryExpression 1958920 1959014 - PropertyAccessExpression 1958920 1958956 - Identifier 1958920 1958944 - Identifier 1958945 1958956 - BarEqualsToken 1958956 1958959 - PropertyAccessExpression 1958959 1959014 - Identifier 1958959 1958971 - Identifier 1958972 1959014 - IfStatement 1959030 1959128 - Identifier 1959048 1959070 - Block 1959071 1959128 - ExpressionStatement 1959073 1959113 - BinaryExpression 1959073 1959112 - PropertyAccessExpression 1959073 1959105 - Identifier 1959073 1959097 - Identifier 1959098 1959105 - EqualsToken 1959105 1959107 - Identifier 1959107 1959112 - ReturnStatement 1959128 1959156 - Identifier 1959148 1959155 - FunctionDeclaration 1959174 1959575 - Identifier 1959190 1959208 - Parameter 1959209 1959219 - Identifier 1959209 1959213 - TypeReference 1959214 1959219 - Identifier 1959214 1959219 - BooleanKeyword 1959221 1959229 - Block 1959229 1959575 - VariableStatement 1959231 1959318 - VariableDeclarationList 1959231 1959317 - VariableDeclaration 1959246 1959317 - Identifier 1959246 1959248 - CallExpression 1959250 1959317 - Identifier 1959250 1959277 - CallExpression 1959278 1959316 - Identifier 1959278 1959285 - Identifier 1959286 1959290 - Identifier 1959291 1959315 - ReturnStatement 1959318 1959568 - PrefixUnaryExpression 1959334 1959567 - PrefixUnaryExpression 1959336 1959567 - ParenthesizedExpression 1959337 1959567 - BinaryExpression 1959338 1959566 - BinaryExpression 1959338 1959444 - PropertyAccessExpression 1959338 1959345 - Identifier 1959338 1959339 - Identifier 1959340 1959345 - AmpersandToken 1959345 1959347 - ParenthesizedExpression 1959347 1959444 - BinaryExpression 1959349 1959443 - BinaryExpression 1959349 1959406 - BinaryExpression 1959349 1959387 - PropertyAccessExpression 1959349 1959362 - Identifier 1959349 1959358 - Identifier 1959359 1959362 - BarToken 1959362 1959364 - PropertyAccessExpression 1959364 1959387 - Identifier 1959364 1959374 - Identifier 1959375 1959387 - BarToken 1959387 1959389 - PropertyAccessExpression 1959389 1959406 - Identifier 1959389 1959399 - Identifier 1959400 1959406 - BarToken 1959406 1959408 - PropertyAccessExpression 1959408 1959443 - Identifier 1959408 1959418 - Identifier 1959419 1959443 - BarBarToken 1959444 1959447 - BinaryExpression 1959447 1959566 - BinaryExpression 1959447 1959500 - PropertyAccessExpression 1959447 1959468 - Identifier 1959447 1959462 - Identifier 1959463 1959468 - AmpersandToken 1959468 1959470 - PropertyAccessExpression 1959470 1959500 - Identifier 1959470 1959480 - Identifier 1959481 1959500 - AmpersandAmpersandToken 1959500 1959503 - CallExpression 1959503 1959566 - Identifier 1959503 1959509 - PropertyAccessExpression 1959510 1959546 - ParenthesizedExpression 1959510 1959540 - AsExpression 1959511 1959539 - Identifier 1959511 1959512 - TypeReference 1959515 1959539 - Identifier 1959515 1959539 - Identifier 1959541 1959546 - Identifier 1959547 1959565 - FunctionDeclaration 1959575 1959724 - Identifier 1959591 1959626 - Parameter 1959627 1959654 - Identifier 1959627 1959631 - TypeReference 1959632 1959654 - Identifier 1959632 1959654 - Block 1959655 1959724 - ExpressionStatement 1959657 1959717 - CallExpression 1959657 1959716 - Identifier 1959657 1959710 - Identifier 1959711 1959715 - FunctionDeclaration 1959724 1959934 - Identifier 1959740 1959767 - Parameter 1959768 1959795 - Identifier 1959768 1959772 - TypeReference 1959773 1959795 - Identifier 1959773 1959795 - Parameter 1959796 1959830 - Identifier 1959796 1959807 - UnionType 1959808 1959830 - TypeReference 1959808 1959818 - Identifier 1959808 1959818 - UndefinedKeyword 1959820 1959830 - TypeReference 1959832 1959837 - Identifier 1959832 1959837 - Block 1959837 1959934 - ExpressionStatement 1959839 1959873 - CallExpression 1959839 1959872 - Identifier 1959839 1959866 - Identifier 1959867 1959871 - ReturnStatement 1959873 1959927 - BinaryExpression 1959889 1959926 - CallExpression 1959889 1959915 - Identifier 1959889 1959909 - Identifier 1959910 1959914 - BarBarToken 1959915 1959918 - Identifier 1959918 1959926 - FunctionDeclaration 1959934 1960454 - Identifier 1959950 1959974 - Parameter 1959975 1959991 - Identifier 1959975 1959979 - TypeReference 1959980 1959991 - Identifier 1959980 1959991 - Block 1959992 1960454 - ExpressionStatement 1959994 1960098 - CallExpression 1959994 1960097 - Identifier 1959994 1960076 - PropertyAccessExpression 1960077 1960096 - Identifier 1960077 1960081 - Identifier 1960082 1960096 - IfStatement 1960098 1960412 - CallExpression 1960205 1960255 - Identifier 1960205 1960226 - PropertyAccessExpression 1960227 1960254 - PropertyAccessExpression 1960227 1960246 - Identifier 1960227 1960231 - Identifier 1960232 1960246 - Identifier 1960247 1960254 - Block 1960256 1960326 - ExpressionStatement 1960258 1960315 - CallExpression 1960258 1960314 - Identifier 1960258 1960293 - PropertyAccessExpression 1960294 1960313 - Identifier 1960294 1960298 - Identifier 1960299 1960313 - Block 1960340 1960412 - ExpressionStatement 1960342 1960401 - CallExpression 1960342 1960400 - Identifier 1960342 1960371 - PropertyAccessExpression 1960372 1960399 - PropertyAccessExpression 1960372 1960391 - Identifier 1960372 1960376 - Identifier 1960377 1960391 - Identifier 1960392 1960399 - ExpressionStatement 1960412 1960447 - CallExpression 1960412 1960446 - Identifier 1960412 1960440 - Identifier 1960441 1960445 - FunctionDeclaration 1960454 1960644 - Identifier 1960470 1960486 - Parameter 1960487 1960503 - Identifier 1960487 1960491 - TypeReference 1960492 1960503 - Identifier 1960492 1960503 - Parameter 1960504 1960538 - Identifier 1960504 1960515 - UnionType 1960516 1960538 - TypeReference 1960516 1960526 - Identifier 1960516 1960526 - UndefinedKeyword 1960528 1960538 - TypeReference 1960540 1960545 - Identifier 1960540 1960545 - Block 1960545 1960644 - ExpressionStatement 1960547 1960581 - CallExpression 1960547 1960580 - Identifier 1960547 1960574 - Identifier 1960575 1960579 - ReturnStatement 1960581 1960637 - BinaryExpression 1960599 1960636 - CallExpression 1960599 1960625 - Identifier 1960599 1960619 - Identifier 1960620 1960624 - BarBarToken 1960625 1960628 - Identifier 1960628 1960636 - FunctionDeclaration 1960644 1961879 - Identifier 1960660 1960677 - Parameter 1960678 1960695 - Identifier 1960678 1960682 - TypeReference 1960683 1960695 - Identifier 1960683 1960695 - TypeReference 1960697 1960702 - Identifier 1960697 1960702 - Block 1960702 1961879 - ExpressionStatement 1960704 1960780 - CallExpression 1960704 1960779 - Identifier 1960704 1960757 - PropertyAccessExpression 1960758 1960778 - Identifier 1960758 1960762 - Identifier 1960763 1960778 - VariableStatement 1960780 1961091 - VariableDeclarationList 1960780 1961090 - VariableDeclaration 1961047 1961090 - Identifier 1961047 1961062 - CallExpression 1961064 1961090 - Identifier 1961064 1961084 - Identifier 1961085 1961089 - IfStatement 1961091 1961706 - BinaryExpression 1961105 1961321 - BinaryExpression 1961105 1961279 - BinaryExpression 1961105 1961227 - CallExpression 1961105 1961158 - Identifier 1961105 1961141 - Identifier 1961142 1961157 - AmpersandAmpersandToken 1961158 1961161 - ParenthesizedExpression 1961161 1961227 - BinaryExpression 1961163 1961226 - PropertyAccessExpression 1961163 1961189 - Identifier 1961163 1961178 - Identifier 1961179 1961189 - BarBarToken 1961189 1961192 - CallExpression 1961192 1961226 - PropertyAccessExpression 1961192 1961219 - PropertyAccessExpression 1961192 1961215 - Identifier 1961192 1961207 - Identifier 1961208 1961215 - Identifier 1961216 1961219 - StringLiteral 1961220 1961225 - AmpersandAmpersandToken 1961227 1961243 - PrefixUnaryExpression 1961243 1961279 - PropertyAccessExpression 1961245 1961279 - Identifier 1961245 1961260 - Identifier 1961261 1961279 - AmpersandAmpersandToken 1961279 1961282 - PrefixUnaryExpression 1961282 1961321 - CallExpression 1961284 1961321 - PropertyAccessExpression 1961284 1961310 - PropertyAccessExpression 1961284 1961306 - Identifier 1961284 1961298 - Identifier 1961299 1961306 - Identifier 1961307 1961310 - StringLiteral 1961311 1961320 - Block 1961332 1961706 - ExpressionStatement 1961334 1961695 - CallExpression 1961334 1961694 - Identifier 1961334 1961353 - Identifier 1961354 1961376 - ConditionalExpression 1961377 1961678 - PropertyAccessExpression 1961377 1961421 - Identifier 1961377 1961410 - Identifier 1961411 1961421 - QuestionToken 1961421 1961444 - PropertyAccessExpression 1961444 1961569 - Identifier 1961444 1961456 - Identifier 1961457 1961569 - ColonToken 1961569 1961592 - PropertyAccessExpression 1961592 1961678 - Identifier 1961592 1961604 - Identifier 1961605 1961678 - ExpressionStatement 1961706 1961741 - CallExpression 1961706 1961740 - Identifier 1961706 1961734 - Identifier 1961735 1961739 - VariableStatement 1961741 1961800 - VariableDeclarationList 1961741 1961799 - VariableDeclaration 1961756 1961799 - Identifier 1961756 1961771 - CallExpression 1961773 1961799 - Identifier 1961773 1961793 - Identifier 1961794 1961798 - ReturnStatement 1961800 1961872 - ConditionalExpression 1961816 1961871 - CallExpression 1961816 1961844 - Identifier 1961816 1961828 - Identifier 1961829 1961843 - QuestionToken 1961844 1961846 - Identifier 1961846 1961854 - ColonToken 1961854 1961856 - Identifier 1961856 1961871 - FunctionDeclaration 1961879 1961997 - Identifier 1961895 1961915 - Parameter 1961916 1961939 - Identifier 1961916 1961920 - UnionType 1961921 1961939 - StringKeyword 1961921 1961928 - TypeReference 1961930 1961939 - Identifier 1961930 1961939 - Block 1961940 1961997 - ReturnStatement 1961942 1961990 - CallExpression 1961958 1961989 - PropertyAccessExpression 1961958 1961984 - ParenthesizedExpression 1961958 1961975 - AsExpression 1961960 1961974 - Identifier 1961960 1961964 - StringKeyword 1961967 1961974 - Identifier 1961976 1961984 - StringLiteral 1961985 1961988 - FunctionDeclaration 1961997 1962346 - Identifier 1962143 1962165 - Parameter 1962166 1962179 - Identifier 1962166 1962173 - TypeReference 1962174 1962179 - Identifier 1962174 1962179 - TypePredicate 1962181 1962223 - Identifier 1962181 1962189 - UnionType 1962192 1962223 - TypeReference 1962192 1962203 - Identifier 1962192 1962203 - TypeReference 1962205 1962223 - Identifier 1962205 1962223 - Block 1962223 1962346 - ReturnStatement 1962225 1962339 - BinaryExpression 1962241 1962338 - BinaryExpression 1962241 1962306 - CallExpression 1962241 1962263 - Identifier 1962241 1962254 - Identifier 1962255 1962262 - AmpersandAmpersandToken 1962263 1962266 - CallExpression 1962266 1962306 - Identifier 1962266 1962285 - PropertyAccessExpression 1962286 1962305 - Identifier 1962286 1962293 - Identifier 1962294 1962305 - BarBarToken 1962306 1962309 - CallExpression 1962309 1962338 - Identifier 1962309 1962329 - Identifier 1962330 1962337 - FunctionDeclaration 1962346 1962619 - Identifier 1962362 1962380 - Parameter 1962381 1962399 - Identifier 1962381 1962385 - TypeReference 1962386 1962399 - Identifier 1962386 1962399 - Parameter 1962400 1962422 - Identifier 1962400 1962410 - QuestionToken 1962410 1962411 - TypeReference 1962412 1962422 - Identifier 1962412 1962422 - Block 1962423 1962619 - ReturnStatement 1962425 1962561 - ConditionalExpression 1962441 1962560 - PropertyAccessExpression 1962441 1962458 - Identifier 1962441 1962446 - Identifier 1962447 1962458 - QuestionToken 1962458 1962473 - CallExpression 1962473 1962536 - Identifier 1962473 1962507 - PropertyAccessExpression 1962508 1962524 - Identifier 1962508 1962512 - Identifier 1962513 1962524 - Identifier 1962525 1962535 - ColonToken 1962536 1962551 - Identifier 1962551 1962560 - FunctionDeclaration 1962619 1971858 - Identifier 1963279 1963325 - Parameter 1963326 1963357 - Identifier 1963326 1963344 - TypeReference 1963345 1963357 - Identifier 1963345 1963357 - Parameter 1963358 1963398 - Identifier 1963358 1963368 - TypeReference 1963369 1963379 - Identifier 1963369 1963379 - PropertyAccessExpression 1963381 1963398 - Identifier 1963381 1963391 - Identifier 1963392 1963398 - Block 1963399 1971858 - VariableStatement 1963401 1963489 - VariableDeclarationList 1963401 1963488 - VariableDeclaration 1963416 1963488 - Identifier 1963416 1963435 - ConditionalExpression 1963437 1963488 - Identifier 1963437 1963454 - QuestionToken 1963454 1963456 - CallExpression 1963456 1963476 - Identifier 1963456 1963474 - ColonToken 1963476 1963478 - Identifier 1963478 1963488 - VariableStatement 1963489 1963541 - VariableDeclarationList 1963489 1963540 - VariableDeclaration 1963502 1963540 - Identifier 1963502 1963518 - CallExpression 1963520 1963540 - Identifier 1963520 1963538 - VariableStatement 1963541 1963589 - VariableDeclarationList 1963541 1963588 - VariableDeclaration 1963554 1963588 - Identifier 1963554 1963561 - TypeReference 1963562 1963567 - Identifier 1963562 1963567 - Identifier 1963569 1963588 - VariableStatement 1963589 1963628 - VariableDeclarationList 1963589 1963627 - VariableDeclaration 1963602 1963627 - Identifier 1963602 1963619 - FalseKeyword 1963621 1963627 - VariableStatement 1963628 1963676 - VariableDeclarationList 1963628 1963675 - VariableDeclaration 1963641 1963675 - Identifier 1963641 1963657 - UnionType 1963658 1963675 - TypeReference 1963658 1963663 - Identifier 1963658 1963663 - UndefinedKeyword 1963665 1963675 - VariableStatement 1963676 1963733 - VariableDeclarationList 1963676 1963732 - VariableDeclaration 1963689 1963732 - Identifier 1963689 1963724 - FalseKeyword 1963726 1963732 - VariableStatement 1963733 1963800 - VariableDeclarationList 1963733 1963799 - VariableDeclaration 1963746 1963799 - Identifier 1963746 1963758 - TypeReference 1963759 1963771 - Identifier 1963759 1963771 - PropertyAccessExpression 1963773 1963799 - Identifier 1963773 1963785 - Identifier 1963786 1963799 - VariableStatement 1963800 1963915 - VariableDeclarationList 1963800 1963914 - VariableDeclaration 1963815 1963914 - Identifier 1963815 1963839 - CallExpression 1963841 1963914 - Identifier 1963841 1963875 - CallExpression 1963876 1963913 - Identifier 1963876 1963893 - Identifier 1963894 1963912 - VariableStatement 1963915 1963994 - VariableDeclarationList 1963915 1963993 - VariableDeclaration 1963932 1963993 - Identifier 1963932 1963950 - CallExpression 1963952 1963993 - Identifier 1963952 1963973 - Identifier 1963974 1963992 - VariableStatement 1963994 1964047 - VariableDeclarationList 1963994 1964046 - VariableDeclaration 1964009 1964046 - Identifier 1964009 1964026 - UnionType 1964027 1964046 - TypeReference 1964027 1964034 - Identifier 1964027 1964034 - UndefinedKeyword 1964036 1964046 - VariableStatement 1964047 1964104 - VariableDeclarationList 1964047 1964103 - VariableDeclaration 1964060 1964103 - Identifier 1964060 1964076 - TypeReference 1964077 1964082 - Identifier 1964077 1964082 - Identifier 1964084 1964103 - IfStatement 1964104 1968337 - PrefixUnaryExpression 1964118 1964136 - Identifier 1964119 1964136 - Block 1964137 1968337 - VariableStatement 1964139 1964202 - VariableDeclarationList 1964139 1964201 - VariableDeclaration 1964158 1964201 - Identifier 1964158 1964169 - PropertyAccessExpression 1964171 1964201 - Identifier 1964171 1964190 - Identifier 1964191 1964201 - ExpressionStatement 1964202 1964253 - BinaryExpression 1964202 1964252 - Identifier 1964202 1964232 - EqualsToken 1964232 1964234 - PropertyAccessExpression 1964234 1964252 - Identifier 1964234 1964245 - Identifier 1964246 1964252 - ExpressionStatement 1964253 1964296 - BinaryExpression 1964253 1964295 - Identifier 1964253 1964282 - EqualsToken 1964282 1964284 - Identifier 1964284 1964295 - VariableStatement 1964296 1964382 - VariableDeclarationList 1964296 1964381 - VariableDeclaration 1964315 1964381 - Identifier 1964315 1964330 - CallExpression 1964332 1964381 - Identifier 1964332 1964350 - Identifier 1964351 1964361 - PropertyAccessExpression 1964362 1964380 - Identifier 1964362 1964375 - Identifier 1964376 1964380 - ForOfStatement 1964382 1968065 - VariableDeclarationList 1964401 1964420 - VariableDeclaration 1964406 1964420 - Identifier 1964406 1964420 - PropertyAccessExpression 1964423 1964445 - Identifier 1964423 1964434 - Identifier 1964435 1964445 - Block 1964446 1968065 - VariableStatement 1964448 1964502 - VariableDeclarationList 1964448 1964501 - VariableDeclaration 1964471 1964501 - Identifier 1964471 1964478 - PropertyAccessExpression 1964480 1964501 - Identifier 1964480 1964494 - Identifier 1964495 1964501 - IfStatement 1964502 1968050 - CallExpression 1964524 1964553 - Identifier 1964524 1964538 - Identifier 1964539 1964552 - Block 1964554 1966712 - VariableStatement 1964556 1964639 - VariableDeclarationList 1964556 1964638 - VariableDeclaration 1964583 1964638 - Identifier 1964583 1964592 - CallExpression 1964594 1964638 - Identifier 1964594 1964612 - Identifier 1964613 1964626 - Identifier 1964627 1964637 - ExpressionStatement 1964639 1964732 - BinaryExpression 1964639 1964731 - Identifier 1964639 1964672 - BarEqualsToken 1964672 1964675 - BinaryExpression 1964675 1964731 - CallExpression 1964675 1964700 - Identifier 1964675 1964690 - Identifier 1964691 1964699 - AmpersandToken 1964700 1964702 - PropertyAccessExpression 1964702 1964731 - Identifier 1964702 1964714 - Identifier 1964715 1964731 - VariableStatement 1964732 1964850 - VariableDeclarationList 1964732 1964849 - VariableDeclaration 1964761 1964849 - Identifier 1964761 1964777 - CallExpression 1964779 1964849 - Identifier 1964779 1964792 - BinaryExpression 1964793 1964828 - PropertyAccessExpression 1964793 1964813 - Identifier 1964793 1964804 - Identifier 1964805 1964813 - BarToken 1964813 1964815 - PropertyAccessExpression 1964815 1964828 - Identifier 1964815 1964822 - Identifier 1964823 1964828 - PropertyAccessExpression 1964829 1964848 - Identifier 1964829 1964836 - Identifier 1964837 1964848 - ExpressionStatement 1964850 1964923 - BinaryExpression 1964850 1964922 - PropertyAccessExpression 1964850 1964900 - Identifier 1964850 1964887 - Identifier 1964888 1964900 - EqualsToken 1964900 1964902 - PropertyAccessExpression 1964902 1964922 - Identifier 1964902 1964909 - Identifier 1964910 1964922 - ExpressionStatement 1964923 1964984 - BinaryExpression 1964923 1964983 - PropertyAccessExpression 1964923 1964967 - Identifier 1964923 1964960 - Identifier 1964961 1964967 - EqualsToken 1964967 1964969 - PropertyAccessExpression 1964969 1964983 - Identifier 1964969 1964976 - Identifier 1964977 1964983 - IfStatement 1964984 1965144 - PropertyAccessExpression 1965010 1965033 - Identifier 1965010 1965016 - Identifier 1965017 1965033 - Block 1965034 1965144 - ExpressionStatement 1965036 1965121 - BinaryExpression 1965036 1965120 - PropertyAccessExpression 1965036 1965094 - Identifier 1965036 1965077 - Identifier 1965078 1965094 - EqualsToken 1965094 1965096 - PropertyAccessExpression 1965096 1965120 - Identifier 1965096 1965103 - Identifier 1965104 1965120 - ExpressionStatement 1965144 1965204 - BinaryExpression 1965144 1965203 - PropertyAccessExpression 1965144 1965192 - PropertyAccessExpression 1965144 1965187 - Identifier 1965144 1965181 - Identifier 1965182 1965187 - Identifier 1965188 1965192 - EqualsToken 1965192 1965194 - Identifier 1965194 1965203 - ExpressionStatement 1965204 1965264 - BinaryExpression 1965204 1965263 - PropertyAccessExpression 1965204 1965254 - PropertyAccessExpression 1965204 1965247 - Identifier 1965204 1965241 - Identifier 1965242 1965247 - Identifier 1965248 1965254 - EqualsToken 1965254 1965256 - Identifier 1965256 1965263 - ExpressionStatement 1965264 1965352 - CallExpression 1965264 1965351 - PropertyAccessExpression 1965264 1965305 - Identifier 1965264 1965301 - Identifier 1965302 1965305 - PropertyAccessExpression 1965306 1965333 - Identifier 1965306 1965321 - Identifier 1965322 1965333 - Identifier 1965334 1965350 - ExpressionStatement 1965352 1965444 - CallExpression 1965352 1965443 - PropertyAccessExpression 1965352 1965397 - Identifier 1965352 1965392 - QuestionDotToken 1965392 1965394 - Identifier 1965394 1965397 - PropertyAccessExpression 1965398 1965425 - Identifier 1965398 1965413 - Identifier 1965414 1965425 - Identifier 1965426 1965442 - IfStatement 1965444 1965644 - BinaryExpression 1965470 1965550 - CallExpression 1965470 1965522 - Identifier 1965470 1965502 - PropertyAccessExpression 1965503 1965521 - Identifier 1965503 1965516 - Identifier 1965517 1965521 - EqualsEqualsEqualsToken 1965522 1965526 - Identifier 1965526 1965550 - Block 1965551 1965644 - ExpressionStatement 1965553 1965621 - BinaryExpression 1965553 1965620 - Identifier 1965553 1965613 - EqualsToken 1965613 1965615 - TrueKeyword 1965615 1965620 - IfStatement 1965644 1966087 - Identifier 1965670 1965684 - Block 1965685 1966087 - VariableStatement 1965687 1965780 - VariableDeclarationList 1965687 1965779 - VariableDeclaration 1965718 1965779 - Identifier 1965718 1965723 - CallExpression 1965725 1965779 - Identifier 1965725 1965743 - Identifier 1965744 1965758 - PropertyAccessExpression 1965759 1965778 - Identifier 1965759 1965766 - Identifier 1965767 1965778 - IfStatement 1965780 1966064 - BinaryExpression 1965810 1965899 - BinaryExpression 1965810 1965863 - BinaryExpression 1965810 1965835 - Identifier 1965810 1965814 - AmpersandAmpersandToken 1965814 1965817 - PropertyAccessExpression 1965817 1965835 - Identifier 1965817 1965822 - Identifier 1965823 1965835 - AmpersandAmpersandToken 1965835 1965838 - CallExpression 1965838 1965863 - Identifier 1965838 1965857 - Identifier 1965858 1965862 - AmpersandAmpersandToken 1965863 1965866 - CallExpression 1965866 1965899 - Identifier 1965866 1965879 - PropertyAccessExpression 1965880 1965898 - Identifier 1965880 1965893 - Identifier 1965894 1965898 - Block 1965900 1966064 - ExpressionStatement 1965902 1966037 - CallExpression 1965902 1966036 - Identifier 1965902 1965955 - PropertyAccessExpression 1965956 1965974 - Identifier 1965956 1965969 - Identifier 1965970 1965974 - PropertyAccessExpression 1965975 1965993 - Identifier 1965975 1965980 - Identifier 1965981 1965993 - AsExpression 1965994 1966035 - PropertyAccessExpression 1965994 1966025 - PropertyAccessExpression 1965994 1966013 - Identifier 1965994 1966008 - Identifier 1966009 1966013 - Identifier 1966014 1966025 - StringKeyword 1966028 1966035 - IfStatement 1966087 1966693 - BinaryExpression 1966113 1966250 - BinaryExpression 1966113 1966213 - BinaryExpression 1966113 1966164 - Identifier 1966113 1966127 - AmpersandAmpersandToken 1966127 1966130 - BinaryExpression 1966130 1966164 - Identifier 1966130 1966140 - AmpersandToken 1966140 1966142 - PropertyAccessExpression 1966142 1966164 - Identifier 1966142 1966152 - Identifier 1966153 1966164 - AmpersandAmpersandToken 1966164 1966167 - PrefixUnaryExpression 1966167 1966213 - ParenthesizedExpression 1966169 1966213 - BinaryExpression 1966170 1966212 - Identifier 1966170 1966179 - AmpersandToken 1966179 1966181 - PropertyAccessExpression 1966181 1966212 - Identifier 1966181 1966191 - Identifier 1966192 1966212 - AmpersandAmpersandToken 1966213 1966216 - CallExpression 1966216 1966250 - Identifier 1966216 1966235 - Identifier 1966236 1966249 - Block 1966251 1966693 - VariableStatement 1966253 1966336 - VariableDeclarationList 1966253 1966335 - VariableDeclaration 1966284 1966335 - Identifier 1966284 1966301 - CallExpression 1966303 1966335 - Identifier 1966303 1966323 - Identifier 1966324 1966334 - ExpressionStatement 1966336 1966393 - CallExpression 1966336 1966392 - PropertyAccessExpression 1966336 1966374 - Identifier 1966336 1966367 - Identifier 1966368 1966374 - Identifier 1966375 1966391 - VariableStatement 1966393 1966569 - VariableDeclarationList 1966393 1966568 - VariableDeclaration 1966495 1966568 - Identifier 1966495 1966509 - NonNullExpression 1966511 1966568 - PropertyAccessExpression 1966511 1966567 - ParenthesizedExpression 1966511 1966556 - AsExpression 1966513 1966555 - PropertyAccessExpression 1966513 1966538 - Identifier 1966513 1966526 - Identifier 1966527 1966538 - TypeReference 1966541 1966555 - Identifier 1966541 1966555 - Identifier 1966557 1966567 - ExpressionStatement 1966569 1966670 - CallExpression 1966569 1966669 - Identifier 1966569 1966626 - Identifier 1966627 1966643 - Identifier 1966644 1966658 - Identifier 1966659 1966668 - Block 1966734 1968050 - ExpressionStatement 1966736 1966825 - CallExpression 1966736 1966824 - PropertyAccessExpression 1966736 1966770 - Identifier 1966736 1966763 - Identifier 1966764 1966770 - BinaryExpression 1966771 1966823 - PropertyAccessExpression 1966771 1966789 - Identifier 1966771 1966784 - Identifier 1966785 1966789 - EqualsEqualsEqualsToken 1966789 1966793 - PropertyAccessExpression 1966793 1966823 - Identifier 1966793 1966804 - Identifier 1966805 1966823 - IfStatement 1966825 1967107 - BinaryExpression 1966851 1966875 - PropertyAccessExpression 1966851 1966871 - Identifier 1966851 1966866 - Identifier 1966867 1966871 - GreaterThanToken 1966871 1966873 - NumericLiteral 1966873 1966875 - Block 1966876 1967107 - ExpressionStatement 1966878 1967020 - BinaryExpression 1966878 1967019 - Identifier 1966878 1966910 - EqualsToken 1966910 1966912 - CallExpression 1966912 1967019 - Identifier 1966912 1966926 - Identifier 1966927 1966933 - CallExpression 1966934 1966966 - Identifier 1966934 1966964 - PropertyAccessExpression 1966967 1966985 - Identifier 1966967 1966978 - Identifier 1966979 1966985 - Identifier 1966986 1966998 - FalseKeyword 1966999 1967018 - ExpressionStatement 1967020 1967084 - BinaryExpression 1967020 1967083 - Identifier 1967020 1967061 - EqualsToken 1967061 1967063 - CallExpression 1967063 1967083 - Identifier 1967063 1967081 - VariableStatement 1967107 1967239 - VariableDeclarationList 1967107 1967238 - VariableDeclaration 1967134 1967238 - Identifier 1967134 1967143 - CallExpression 1967145 1967238 - Identifier 1967145 1967160 - CallExpression 1967161 1967237 - Identifier 1967161 1967176 - PropertyAccessExpression 1967177 1967201 - Identifier 1967177 1967190 - Identifier 1967191 1967201 - BinaryExpression 1967202 1967236 - Identifier 1967202 1967212 - AmpersandToken 1967212 1967214 - PropertyAccessExpression 1967214 1967236 - Identifier 1967214 1967224 - Identifier 1967225 1967236 - IfStatement 1967239 1967360 - CallExpression 1967265 1967284 - Identifier 1967265 1967274 - Identifier 1967275 1967283 - Block 1967285 1967360 - ExpressionStatement 1967287 1967337 - BinaryExpression 1967287 1967336 - Identifier 1967287 1967329 - EqualsToken 1967329 1967331 - TrueKeyword 1967331 1967336 - IfStatement 1967360 1968031 - CallExpression 1967386 1967413 - Identifier 1967386 1967403 - Identifier 1967404 1967412 - Block 1967414 1967736 - ExpressionStatement 1967416 1967535 - BinaryExpression 1967416 1967534 - Identifier 1967416 1967448 - EqualsToken 1967448 1967450 - CallExpression 1967450 1967534 - Identifier 1967450 1967464 - Identifier 1967465 1967471 - Identifier 1967472 1967481 - PropertyAccessExpression 1967482 1967500 - Identifier 1967482 1967493 - Identifier 1967494 1967500 - Identifier 1967501 1967513 - FalseKeyword 1967514 1967533 - IfStatement 1967535 1967713 - Identifier 1967565 1967583 - Block 1967584 1967713 - ExpressionStatement 1967586 1967686 - CallExpression 1967586 1967685 - Identifier 1967586 1967640 - Identifier 1967641 1967649 - Identifier 1967650 1967669 - Identifier 1967670 1967684 - Block 1967762 1968031 - ExpressionStatement 1967764 1967886 - CallExpression 1967764 1967885 - Identifier 1967764 1967795 - PropertyAccessExpression 1967796 1967820 - Identifier 1967796 1967809 - Identifier 1967810 1967820 - PropertyAccessExpression 1967821 1967884 - Identifier 1967821 1967833 - Identifier 1967834 1967884 - ExpressionStatement 1967886 1968008 - BinaryExpression 1967886 1968007 - Identifier 1967886 1967927 - EqualsToken 1967927 1967929 - ConditionalExpression 1967929 1968007 - Identifier 1967929 1967945 - QuestionToken 1967945 1967947 - CallExpression 1967947 1967996 - Identifier 1967947 1967967 - ArrayLiteralExpression 1967968 1967995 - Identifier 1967969 1967984 - Identifier 1967985 1967994 - ColonToken 1967996 1967998 - Identifier 1967998 1968007 - IfStatement 1968065 1968326 - PrefixUnaryExpression 1968085 1968102 - Identifier 1968086 1968102 - Block 1968103 1968326 - IfStatement 1968105 1968311 - BinaryExpression 1968127 1968151 - PropertyAccessExpression 1968127 1968147 - Identifier 1968127 1968142 - Identifier 1968143 1968147 - GreaterThanToken 1968147 1968149 - NumericLiteral 1968149 1968151 - Block 1968152 1968311 - ExpressionStatement 1968154 1968292 - BinaryExpression 1968154 1968291 - Identifier 1968154 1968182 - EqualsToken 1968182 1968184 - CallExpression 1968184 1968291 - Identifier 1968184 1968198 - Identifier 1968199 1968205 - CallExpression 1968206 1968238 - Identifier 1968206 1968236 - PropertyAccessExpression 1968239 1968257 - Identifier 1968239 1968250 - Identifier 1968251 1968257 - Identifier 1968258 1968270 - FalseKeyword 1968271 1968290 - VariableStatement 1968337 1968428 - VariableDeclarationList 1968337 1968427 - VariableDeclaration 1968392 1968427 - Identifier 1968392 1968399 - PropertyAccessExpression 1968401 1968427 - Identifier 1968401 1968420 - Identifier 1968421 1968427 - IfStatement 1968428 1971309 - BinaryExpression 1968579 1968804 - ParenthesizedExpression 1968579 1968737 - BinaryExpression 1968594 1968736 - BinaryExpression 1968594 1968662 - CallExpression 1968594 1968614 - Identifier 1968594 1968606 - Identifier 1968607 1968613 - AmpersandAmpersandToken 1968614 1968617 - BinaryExpression 1968617 1968662 - PropertyAccessExpression 1968617 1968639 - Identifier 1968617 1968624 - Identifier 1968625 1968639 - EqualsEqualsEqualsToken 1968639 1968643 - Identifier 1968643 1968662 - BarBarToken 1968662 1968665 - BinaryExpression 1968665 1968736 - CallExpression 1968665 1968687 - Identifier 1968665 1968679 - Identifier 1968680 1968686 - AmpersandAmpersandToken 1968687 1968690 - BinaryExpression 1968690 1968736 - PropertyAccessExpression 1968690 1968713 - Identifier 1968690 1968697 - Identifier 1968698 1968713 - EqualsEqualsEqualsToken 1968713 1968717 - Identifier 1968717 1968736 - AmpersandAmpersandToken 1968737 1968740 - BinaryExpression 1968740 1968804 - PropertyAccessExpression 1968740 1968800 - CallExpression 1968740 1968793 - Identifier 1968740 1968776 - PropertyAccessExpression 1968777 1968792 - Identifier 1968777 1968783 - Identifier 1968784 1968792 - Identifier 1968794 1968800 - GreaterThanToken 1968800 1968802 - NumericLiteral 1968802 1968804 - Block 1968815 1971309 - VariableStatement 1968817 1968897 - VariableDeclarationList 1968817 1968896 - VariableDeclaration 1968836 1968896 - Identifier 1968836 1968850 - ArrayType 1968851 1968858 - TypeReference 1968851 1968856 - Identifier 1968851 1968856 - CallExpression 1968860 1968896 - Identifier 1968860 1968877 - Identifier 1968878 1968884 - Identifier 1968885 1968895 - IfStatement 1968897 1971298 - BinaryExpression 1968917 1968995 - BinaryExpression 1968917 1968961 - PrefixUnaryExpression 1968917 1968934 - Identifier 1968918 1968934 - AmpersandAmpersandToken 1968934 1968937 - Identifier 1968937 1968961 - AmpersandAmpersandToken 1968961 1968964 - BinaryExpression 1968964 1968995 - Identifier 1968964 1968988 - ExclamationEqualsEqualsToken 1968988 1968992 - StringLiteral 1968992 1968995 - Block 1968996 1971298 - IfStatement 1968998 1969588 - Identifier 1969356 1969390 - Block 1969391 1969588 - ExpressionStatement 1969393 1969569 - CallExpression 1969393 1969568 - Identifier 1969393 1969420 - Identifier 1969421 1969436 - PropertyAccessExpression 1969437 1969514 - Identifier 1969437 1969449 - Identifier 1969450 1969514 - CallExpression 1969515 1969567 - Identifier 1969515 1969542 - Identifier 1969543 1969566 - VariableStatement 1969588 1969776 - VariableDeclarationList 1969588 1969775 - VariableDeclaration 1969613 1969775 - Identifier 1969613 1969628 - ConditionalExpression 1969630 1969775 - CallExpression 1969630 1969670 - Identifier 1969630 1969650 - Identifier 1969651 1969669 - QuestionToken 1969670 1969672 - CallExpression 1969672 1969763 - Identifier 1969672 1969704 - PropertyAccessExpression 1969705 1969734 - Identifier 1969705 1969723 - Identifier 1969724 1969734 - Identifier 1969735 1969762 - ColonToken 1969763 1969765 - Identifier 1969765 1969775 - VariableStatement 1969776 1969918 - VariableDeclarationList 1969776 1969917 - VariableDeclaration 1969799 1969917 - Identifier 1969799 1969822 - BinaryExpression 1969824 1969917 - Identifier 1969824 1969839 - AmpersandAmpersandToken 1969839 1969842 - CallExpression 1969842 1969917 - Identifier 1969842 1969876 - Identifier 1969877 1969891 - Identifier 1969892 1969916 - VariableStatement 1969918 1970212 - VariableDeclarationList 1969918 1970211 - VariableDeclaration 1970130 1970211 - Identifier 1970130 1970149 - CallExpression 1970151 1970211 - Identifier 1970151 1970164 - PropertyAccessExpression 1970165 1970185 - Identifier 1970165 1970176 - Identifier 1970177 1970185 - Identifier 1970186 1970210 - ExpressionStatement 1970212 1970508 - BinaryExpression 1970212 1970507 - PropertyAccessExpression 1970212 1970259 - PropertyAccessExpression 1970212 1970254 - Identifier 1970212 1970248 - Identifier 1970249 1970254 - Identifier 1970255 1970259 - EqualsToken 1970259 1970261 - ConditionalExpression 1970261 1970507 - BinaryExpression 1970261 1970288 - PropertyAccessExpression 1970261 1970282 - Identifier 1970261 1970275 - Identifier 1970276 1970282 - EqualsEqualsEqualsToken 1970282 1970286 - NumericLiteral 1970286 1970288 - QuestionToken 1970288 1970290 - ElementAccessExpression 1970290 1970307 - Identifier 1970290 1970304 - NumericLiteral 1970305 1970306 - ColonToken 1970307 1970309 - ConditionalExpression 1970309 1970507 - BinaryExpression 1970309 1970406 - Identifier 1970309 1970353 - AmpersandAmpersandToken 1970353 1970356 - CallExpression 1970356 1970406 - Identifier 1970356 1970365 - Identifier 1970366 1970388 - Identifier 1970389 1970405 - QuestionToken 1970406 1970408 - CallExpression 1970408 1970439 - Identifier 1970408 1970424 - Identifier 1970425 1970438 - ColonToken 1970439 1970441 - CallExpression 1970441 1970507 - Identifier 1970441 1970478 - CallExpression 1970479 1970506 - Identifier 1970479 1970491 - Identifier 1970492 1970505 - ExpressionStatement 1970508 1970791 - BinaryExpression 1970508 1970790 - PropertyAccessExpression 1970508 1970629 - Identifier 1970508 1970612 - Identifier 1970613 1970629 - EqualsToken 1970629 1970631 - CallExpression 1970631 1970790 - PropertyAccessExpression 1970631 1970663 - Identifier 1970631 1970639 - Identifier 1970640 1970663 - Identifier 1970664 1970687 - CallExpression 1970688 1970740 - Identifier 1970688 1970715 - Identifier 1970716 1970739 - Identifier 1970741 1970769 - Identifier 1970770 1970789 - ExpressionStatement 1970791 1970873 - CallExpression 1970791 1970872 - Identifier 1970791 1970818 - PropertyAccessExpression 1970819 1970854 - Identifier 1970819 1970837 - Identifier 1970838 1970854 - Identifier 1970855 1970871 - ExpressionStatement 1970873 1970955 - BinaryExpression 1970873 1970954 - PropertyAccessExpression 1970873 1970933 - PropertyAccessExpression 1970873 1970926 - Identifier 1970873 1970909 - Identifier 1970910 1970926 - Identifier 1970927 1970933 - EqualsToken 1970933 1970935 - Identifier 1970935 1970954 - VariableStatement 1970955 1971014 - VariableDeclarationList 1970955 1971013 - VariableDeclaration 1970978 1971013 - Identifier 1970978 1970991 - CallExpression 1970993 1971013 - Identifier 1970993 1971011 - ExpressionStatement 1971014 1971094 - CallExpression 1971014 1971093 - PropertyAccessExpression 1971014 1971048 - Identifier 1971014 1971044 - Identifier 1971045 1971048 - Identifier 1971049 1971072 - Identifier 1971073 1971092 - ExpressionStatement 1971094 1971283 - BinaryExpression 1971094 1971282 - Identifier 1971094 1971118 - EqualsToken 1971118 1971120 - CallExpression 1971120 1971282 - Identifier 1971120 1971134 - Identifier 1971135 1971141 - CallExpression 1971142 1971230 - Identifier 1971142 1971162 - Identifier 1971163 1971179 - Identifier 1971180 1971193 - Identifier 1971194 1971205 - Identifier 1971206 1971217 - Identifier 1971218 1971229 - Identifier 1971231 1971248 - Identifier 1971249 1971261 - FalseKeyword 1971262 1971281 - IfStatement 1971309 1971384 - Identifier 1971325 1971341 - Block 1971342 1971384 - ReturnStatement 1971344 1971373 - Identifier 1971364 1971372 - IfStatement 1971384 1971528 - BinaryExpression 1971398 1971446 - Identifier 1971398 1971413 - AmpersandAmpersandToken 1971413 1971416 - BinaryExpression 1971416 1971446 - Identifier 1971416 1971423 - ExclamationEqualsEqualsToken 1971423 1971427 - Identifier 1971427 1971446 - Block 1971447 1971528 - ReturnStatement 1971449 1971517 - CallExpression 1971469 1971516 - Identifier 1971469 1971489 - ArrayLiteralExpression 1971490 1971515 - Identifier 1971491 1971506 - Identifier 1971507 1971514 - ReturnStatement 1971528 1971639 - BinaryExpression 1971544 1971638 - Identifier 1971544 1971560 - BarBarToken 1971560 1971563 - ParenthesizedExpression 1971563 1971638 - ConditionalExpression 1971565 1971637 - BinaryExpression 1971565 1971594 - Identifier 1971565 1971571 - EqualsEqualsEqualsToken 1971571 1971575 - Identifier 1971575 1971594 - QuestionToken 1971594 1971596 - CallExpression 1971596 1971628 - Identifier 1971596 1971626 - ColonToken 1971628 1971630 - Identifier 1971630 1971637 - FunctionDeclaration 1971639 1971851 - Identifier 1971659 1971689 - Block 1971691 1971851 - ExpressionStatement 1971693 1971747 - BinaryExpression 1971693 1971746 - Identifier 1971693 1971718 - BarEqualsToken 1971718 1971721 - PropertyAccessExpression 1971721 1971746 - Identifier 1971721 1971733 - Identifier 1971734 1971746 - ReturnStatement 1971747 1971840 - CallExpression 1971767 1971839 - Identifier 1971767 1971791 - Identifier 1971792 1971803 - Identifier 1971804 1971821 - Identifier 1971822 1971838 - FunctionDeclaration 1971858 1972543 - Identifier 1972128 1972152 - Parameter 1972153 1972177 - Identifier 1972153 1972164 - TypeReference 1972165 1972177 - Identifier 1972165 1972177 - Parameter 1972178 1972215 - Identifier 1972178 1972195 - UnionType 1972196 1972215 - TypeReference 1972196 1972203 - Identifier 1972196 1972203 - UndefinedKeyword 1972205 1972215 - Parameter 1972216 1972245 - Identifier 1972216 1972232 - TypeReference 1972233 1972245 - Identifier 1972233 1972245 - TypeReference 1972247 1972252 - Identifier 1972247 1972252 - Block 1972252 1972543 - VariableStatement 1972254 1972370 - VariableDeclarationList 1972254 1972369 - VariableDeclaration 1972269 1972369 - Identifier 1972269 1972276 - CallExpression 1972278 1972369 - Identifier 1972278 1972298 - Identifier 1972299 1972315 - Identifier 1972316 1972332 - Identifier 1972333 1972344 - Identifier 1972345 1972356 - Identifier 1972357 1972368 - ExpressionStatement 1972370 1972512 - BinaryExpression 1972370 1972511 - PropertyAccessExpression 1972370 1972398 - Identifier 1972370 1972386 - Identifier 1972387 1972398 - BarEqualsToken 1972398 1972401 - BinaryExpression 1972401 1972511 - BinaryExpression 1972401 1972468 - BinaryExpression 1972401 1972440 - Identifier 1972401 1972413 - BarToken 1972413 1972415 - PropertyAccessExpression 1972415 1972440 - Identifier 1972415 1972427 - Identifier 1972428 1972440 - BarToken 1972440 1972442 - PropertyAccessExpression 1972442 1972468 - Identifier 1972442 1972454 - Identifier 1972455 1972468 - BarToken 1972468 1972470 - PropertyAccessExpression 1972470 1972511 - Identifier 1972470 1972482 - Identifier 1972483 1972511 - ReturnStatement 1972512 1972536 - Identifier 1972528 1972535 - FunctionDeclaration 1972543 1973503 - Identifier 1972559 1972576 - Parameter 1972577 1972607 - Identifier 1972577 1972581 - UnionType 1972582 1972607 - TypeReference 1972582 1972593 - Identifier 1972582 1972593 - TypeReference 1972595 1972607 - Identifier 1972595 1972607 - Parameter 1972608 1972630 - Identifier 1972608 1972618 - QuestionToken 1972618 1972619 - TypeReference 1972620 1972630 - Identifier 1972620 1972630 - Block 1972631 1973503 - VariableStatement 1972633 1972676 - VariableDeclarationList 1972633 1972675 - VariableDeclaration 1972648 1972675 - Identifier 1972648 1972662 - ArrayType 1972663 1972670 - TypeReference 1972663 1972668 - Identifier 1972663 1972668 - ArrayLiteralExpression 1972672 1972675 - ForOfStatement 1972676 1973465 - VariableDeclarationList 1972691 1972702 - VariableDeclaration 1972696 1972702 - Identifier 1972696 1972702 - PropertyAccessExpression 1972705 1972719 - Identifier 1972705 1972710 - Identifier 1972711 1972719 - Block 1972720 1973465 - IfStatement 1972722 1973454 - BinaryExpression 1972951 1972984 - PropertyAccessExpression 1972951 1972961 - Identifier 1972951 1972956 - Identifier 1972957 1972961 - EqualsEqualsEqualsToken 1972961 1972965 - PropertyAccessExpression 1972965 1972984 - Identifier 1972965 1972976 - Identifier 1972977 1972984 - Block 1972985 1973135 - IfStatement 1972987 1973120 - PrefixUnaryExpression 1973009 1973045 - PropertyAccessExpression 1973010 1973045 - Identifier 1973010 1973015 - Identifier 1973016 1973045 - Block 1973046 1973120 - ExpressionStatement 1973048 1973101 - CallExpression 1973048 1973100 - PropertyAccessExpression 1973048 1973088 - Identifier 1973048 1973083 - Identifier 1973084 1973088 - Identifier 1973089 1973099 - IfStatement 1973153 1973454 - BinaryExpression 1973158 1973218 - BinaryExpression 1973158 1973197 - PropertyAccessExpression 1973158 1973168 - Identifier 1973158 1973163 - Identifier 1973164 1973168 - EqualsEqualsEqualsToken 1973168 1973172 - PropertyAccessExpression 1973172 1973197 - Identifier 1973172 1973183 - Identifier 1973184 1973197 - AmpersandAmpersandToken 1973197 1973200 - PrefixUnaryExpression 1973200 1973218 - PropertyAccessExpression 1973202 1973218 - Identifier 1973202 1973207 - Identifier 1973208 1973218 - Block 1973219 1973329 - ContinueStatement 1973221 1973248 - Block 1973347 1973454 - ExpressionStatement 1973349 1973439 - CallExpression 1973349 1973438 - PropertyAccessExpression 1973349 1973385 - Identifier 1973349 1973380 - Identifier 1973381 1973385 - CallExpression 1973386 1973437 - Identifier 1973386 1973419 - Identifier 1973420 1973425 - Identifier 1973426 1973436 - ReturnStatement 1973465 1973496 - Identifier 1973481 1973495 - FunctionDeclaration 1973503 1974215 - Identifier 1973519 1973544 - Parameter 1973545 1973555 - Identifier 1973545 1973549 - TypeReference 1973550 1973555 - Identifier 1973550 1973555 - Parameter 1973556 1973575 - Identifier 1973556 1973562 - TypeReference 1973563 1973575 - Identifier 1973563 1973575 - Parameter 1973576 1973622 - Identifier 1973576 1973583 - UnionType 1973584 1973622 - TypeReference 1973584 1973601 - Identifier 1973584 1973601 - TypeReference 1973603 1973622 - Identifier 1973603 1973622 - Block 1973623 1974215 - ForOfStatement 1973625 1974208 - VariableDeclarationList 1973640 1973651 - VariableDeclaration 1973645 1973651 - Identifier 1973645 1973651 - CallExpression 1973654 1973680 - Identifier 1973654 1973674 - Identifier 1973675 1973679 - Block 1973681 1974208 - IfStatement 1973683 1974197 - PrefixUnaryExpression 1973701 1973738 - ParenthesizedExpression 1973702 1973738 - BinaryExpression 1973703 1973737 - PropertyAccessExpression 1973703 1973714 - Identifier 1973703 1973708 - Identifier 1973709 1973714 - AmpersandToken 1973714 1973716 - PropertyAccessExpression 1973716 1973737 - Identifier 1973716 1973728 - Identifier 1973729 1973737 - Block 1973739 1974197 - VariableStatement 1973741 1973801 - VariableDeclarationList 1973741 1973800 - VariableDeclaration 1973764 1973800 - Identifier 1973764 1973769 - CallExpression 1973771 1973800 - PropertyAccessExpression 1973771 1973781 - Identifier 1973771 1973777 - Identifier 1973778 1973781 - PropertyAccessExpression 1973782 1973799 - Identifier 1973782 1973787 - Identifier 1973788 1973799 - IfStatement 1973801 1974182 - Identifier 1973823 1973827 - Block 1973828 1974182 - VariableStatement 1973830 1974024 - VariableDeclarationList 1973830 1974023 - VariableDeclaration 1973857 1974023 - Identifier 1973857 1973868 - CallExpression 1973870 1974023 - Identifier 1973870 1973876 - PropertyAccessExpression 1973877 1973898 - Identifier 1973877 1973881 - Identifier 1973882 1973898 - PropertyAccessExpression 1973899 1973976 - Identifier 1973899 1973911 - Identifier 1973912 1973976 - CallExpression 1973977 1974022 - Identifier 1973977 1974004 - PropertyAccessExpression 1974005 1974021 - Identifier 1974005 1974009 - Identifier 1974010 1974021 - ExpressionStatement 1974024 1974163 - CallExpression 1974024 1974162 - Identifier 1974024 1974060 - Identifier 1974061 1974071 - CallExpression 1974072 1974161 - Identifier 1974072 1974096 - Identifier 1974097 1974103 - PropertyAccessExpression 1974104 1974160 - Identifier 1974104 1974116 - Identifier 1974117 1974160 - FunctionDeclaration 1974215 1974734 - Identifier 1974564 1974583 - Parameter 1974584 1974603 - Identifier 1974584 1974588 - TypeReference 1974589 1974603 - Identifier 1974589 1974603 - Parameter 1974604 1974637 - Identifier 1974604 1974614 - UnionType 1974615 1974637 - TypeReference 1974615 1974625 - Identifier 1974615 1974625 - UndefinedKeyword 1974627 1974637 - Block 1974638 1974734 - ReturnStatement 1974640 1974727 - CallExpression 1974656 1974726 - Identifier 1974656 1974702 - PropertyAccessExpression 1974703 1974714 - Identifier 1974703 1974707 - Identifier 1974708 1974714 - Identifier 1974715 1974725 - FunctionDeclaration 1974734 1975100 - Identifier 1974750 1974761 - Parameter 1974762 1974776 - Identifier 1974762 1974766 - TypeReference 1974767 1974776 - Identifier 1974767 1974776 - Parameter 1974777 1974804 - Identifier 1974777 1974786 - UnionType 1974787 1974804 - TypeReference 1974787 1974792 - Identifier 1974787 1974792 - UndefinedKeyword 1974794 1974804 - Block 1974805 1975100 - VariableStatement 1974807 1974863 - VariableDeclarationList 1974807 1974862 - VariableDeclaration 1974822 1974862 - Identifier 1974822 1974832 - CallExpression 1974834 1974862 - Identifier 1974834 1974852 - Identifier 1974853 1974861 - VariableStatement 1974863 1974932 - VariableDeclarationList 1974863 1974931 - VariableDeclaration 1974878 1974931 - Identifier 1974878 1974886 - BinaryExpression 1974888 1974931 - Identifier 1974888 1974898 - AmpersandAmpersandToken 1974898 1974901 - CallExpression 1974901 1974931 - Identifier 1974901 1974920 - Identifier 1974921 1974930 - VariableStatement 1974932 1975015 - VariableDeclarationList 1974932 1975014 - VariableDeclaration 1974947 1975014 - Identifier 1974947 1974958 - BinaryExpression 1974960 1975014 - Identifier 1974960 1974968 - AmpersandAmpersandToken 1974968 1974971 - CallExpression 1974971 1975014 - Identifier 1974971 1974981 - Identifier 1974982 1974989 - Identifier 1974990 1974995 - PropertyAccessExpression 1974996 1975013 - Identifier 1974996 1975008 - Identifier 1975009 1975013 - ReturnStatement 1975015 1975093 - ConditionalExpression 1975031 1975092 - Identifier 1975031 1975042 - QuestionToken 1975042 1975044 - CallExpression 1975044 1975080 - Identifier 1975044 1975068 - Identifier 1975069 1975079 - ColonToken 1975080 1975082 - Identifier 1975082 1975092 - FunctionDeclaration 1975100 1977689 - Identifier 1975495 1975517 - Parameter 1975518 1975565 - Identifier 1975518 1975522 - UnionType 1975523 1975565 - TypeReference 1975523 1975545 - Identifier 1975523 1975545 - TypeReference 1975547 1975565 - Identifier 1975547 1975565 - TypeReference 1975567 1975574 - Identifier 1975567 1975574 - Block 1975574 1977689 - VariableStatement 1975576 1975619 - VariableDeclarationList 1975576 1975618 - VariableDeclaration 1975591 1975618 - Identifier 1975591 1975597 - CallExpression 1975599 1975618 - Identifier 1975599 1975612 - Identifier 1975613 1975617 - IfStatement 1975619 1977644 - PrefixUnaryExpression 1975633 1975654 - PropertyAccessExpression 1975634 1975654 - Identifier 1975634 1975639 - Identifier 1975640 1975654 - Block 1975655 1977644 - VariableStatement 1975657 1975746 - VariableDeclarationList 1975657 1975745 - VariableDeclaration 1975676 1975745 - Identifier 1975676 1975698 - CallExpression 1975700 1975745 - Identifier 1975700 1975711 - PropertyAccessExpression 1975712 1975738 - Identifier 1975712 1975720 - Identifier 1975721 1975738 - Identifier 1975739 1975744 - IfStatement 1975746 1977633 - PrefixUnaryExpression 1975764 1975799 - CallExpression 1975765 1975799 - Identifier 1975765 1975776 - Identifier 1975777 1975798 - Block 1975800 1977306 - IfStatement 1975802 1975945 - BinaryExpression 1975858 1975923 - PrefixUnaryExpression 1975858 1975885 - CallExpression 1975859 1975885 - Identifier 1975859 1975871 - PropertyAccessExpression 1975872 1975884 - Identifier 1975872 1975876 - Identifier 1975877 1975884 - AmpersandAmpersandToken 1975885 1975888 - PrefixUnaryExpression 1975888 1975923 - CallExpression 1975890 1975923 - Identifier 1975890 1975909 - PropertyAccessExpression 1975910 1975922 - Identifier 1975910 1975914 - Identifier 1975915 1975922 - ReturnStatement 1975924 1975945 - CallExpression 1975931 1975944 - PropertyAccessExpression 1975931 1975942 - Identifier 1975931 1975937 - Identifier 1975938 1975942 - VariableStatement 1975945 1976091 - VariableDeclarationList 1975945 1976090 - VariableDeclaration 1975968 1976090 - Identifier 1975968 1975977 - ConditionalExpression 1975979 1976090 - CallExpression 1975979 1976013 - Identifier 1975979 1975999 - PropertyAccessExpression 1976000 1976012 - Identifier 1976000 1976004 - Identifier 1976005 1976012 - QuestionToken 1976013 1976015 - CallExpression 1976015 1976063 - Identifier 1976015 1976049 - PropertyAccessExpression 1976050 1976062 - Identifier 1976050 1976054 - Identifier 1976055 1976062 - ColonToken 1976063 1976065 - PropertyAccessExpression 1976065 1976090 - PropertyAccessExpression 1976065 1976078 - Identifier 1976065 1976070 - Identifier 1976071 1976078 - Identifier 1976079 1976090 - VariableStatement 1976091 1976182 - VariableDeclarationList 1976091 1976181 - VariableDeclaration 1976114 1976181 - Identifier 1976114 1976128 - CallExpression 1976130 1976181 - Identifier 1976130 1976148 - Identifier 1976149 1976170 - Identifier 1976171 1976180 - IfStatement 1976182 1976376 - Identifier 1976204 1976217 - Block 1976218 1976376 - ExpressionStatement 1976220 1976291 - BinaryExpression 1976220 1976290 - PropertyAccessExpression 1976220 1976256 - Identifier 1976220 1976247 - Identifier 1976248 1976256 - BarEqualsToken 1976256 1976259 - PropertyAccessExpression 1976259 1976290 - Identifier 1976259 1976268 - Identifier 1976269 1976290 - ReturnStatement 1976291 1976357 - BinaryExpression 1976319 1976356 - PropertyAccessExpression 1976319 1976340 - Identifier 1976319 1976325 - Identifier 1976326 1976340 - EqualsToken 1976340 1976342 - Identifier 1976342 1976356 - VariableStatement 1976376 1976574 - VariableDeclarationList 1976376 1976573 - VariableDeclaration 1976451 1976573 - Identifier 1976451 1976463 - CallExpression 1976465 1976573 - Identifier 1976465 1976490 - Identifier 1976491 1976512 - CallExpression 1976513 1976572 - Identifier 1976513 1976534 - CallExpression 1976535 1976571 - Identifier 1976535 1976561 - Identifier 1976562 1976570 - IfStatement 1976574 1976766 - Identifier 1976596 1976607 - Block 1976608 1976766 - ExpressionStatement 1976610 1976683 - BinaryExpression 1976610 1976682 - PropertyAccessExpression 1976610 1976646 - Identifier 1976610 1976637 - Identifier 1976638 1976646 - BarEqualsToken 1976646 1976649 - PropertyAccessExpression 1976649 1976682 - Identifier 1976649 1976658 - Identifier 1976659 1976682 - ReturnStatement 1976683 1976747 - BinaryExpression 1976711 1976746 - PropertyAccessExpression 1976711 1976732 - Identifier 1976711 1976717 - Identifier 1976718 1976732 - EqualsToken 1976732 1976734 - Identifier 1976734 1976746 - IfStatement 1976766 1977038 - CallExpression 1976790 1976862 - Identifier 1976790 1976829 - Identifier 1976830 1976851 - Identifier 1976852 1976861 - Block 1976863 1977038 - ExpressionStatement 1976865 1976938 - BinaryExpression 1976865 1976937 - PropertyAccessExpression 1976865 1976901 - Identifier 1976865 1976892 - Identifier 1976893 1976901 - BarEqualsToken 1976901 1976904 - PropertyAccessExpression 1976904 1976937 - Identifier 1976904 1976913 - Identifier 1976914 1976937 - ReturnStatement 1976938 1977019 - BinaryExpression 1976966 1977018 - PropertyAccessExpression 1976966 1976987 - Identifier 1976966 1976972 - Identifier 1976973 1976987 - EqualsToken 1976987 1976989 - PropertyAccessExpression 1976989 1977018 - Identifier 1976989 1977011 - Identifier 1977012 1977018 - ExpressionStatement 1977038 1977229 - CallExpression 1977038 1977228 - Identifier 1977038 1977096 - Identifier 1977097 1977101 - PropertyAccessExpression 1977102 1977150 - Identifier 1977102 1977114 - Identifier 1977115 1977150 - CallExpression 1977151 1977190 - Identifier 1977151 1977176 - PropertyAccessExpression 1977177 1977189 - Identifier 1977177 1977181 - Identifier 1977182 1977189 - BinaryExpression 1977191 1977227 - StringLiteral 1977191 1977198 - PlusToken 1977198 1977200 - PropertyAccessExpression 1977200 1977227 - Identifier 1977200 1977209 - Identifier 1977210 1977227 - ReturnStatement 1977229 1977291 - BinaryExpression 1977253 1977290 - PropertyAccessExpression 1977253 1977274 - Identifier 1977253 1977259 - Identifier 1977260 1977274 - EqualsToken 1977274 1977276 - Identifier 1977276 1977290 - Block 1977324 1977633 - IfStatement 1977326 1977556 - Identifier 1977348 1977361 - Block 1977362 1977556 - ExpressionStatement 1977364 1977537 - CallExpression 1977364 1977536 - Identifier 1977364 1977391 - Identifier 1977392 1977396 - PropertyAccessExpression 1977397 1977479 - Identifier 1977397 1977409 - Identifier 1977410 1977479 - CallExpression 1977480 1977535 - Identifier 1977480 1977507 - PropertyAccessExpression 1977508 1977534 - Identifier 1977508 1977516 - Identifier 1977517 1977534 - ReturnStatement 1977556 1977618 - BinaryExpression 1977580 1977617 - PropertyAccessExpression 1977580 1977601 - Identifier 1977580 1977586 - Identifier 1977587 1977601 - EqualsToken 1977601 1977603 - Identifier 1977603 1977617 - ReturnStatement 1977644 1977682 - PropertyAccessExpression 1977660 1977681 - Identifier 1977660 1977666 - Identifier 1977667 1977681 - FunctionDeclaration 1977689 1979247 - Identifier 1977705 1977747 - Parameter 1977748 1977774 - Identifier 1977748 1977756 - UnionType 1977757 1977774 - TypeReference 1977757 1977762 - Identifier 1977757 1977762 - UndefinedKeyword 1977764 1977774 - UnionType 1977776 1977795 - TypeReference 1977776 1977783 - Identifier 1977776 1977783 - UndefinedKeyword 1977785 1977795 - Block 1977795 1979247 - VariableStatement 1977797 1977862 - VariableDeclarationList 1977797 1977861 - VariableDeclaration 1977812 1977861 - Identifier 1977812 1977817 - BinaryExpression 1977819 1977861 - Identifier 1977819 1977828 - AmpersandAmpersandToken 1977828 1977831 - CallExpression 1977831 1977861 - Identifier 1977831 1977851 - Identifier 1977852 1977860 - VariableStatement 1977862 1977913 - VariableDeclarationList 1977862 1977912 - VariableDeclaration 1977877 1977912 - Identifier 1977877 1977883 - BinaryExpression 1977885 1977912 - Identifier 1977885 1977890 - AmpersandAmpersandToken 1977890 1977893 - CallExpression 1977893 1977912 - Identifier 1977893 1977906 - Identifier 1977907 1977911 - IfStatement 1977913 1978023 - BinaryExpression 1977927 1977978 - Identifier 1977927 1977932 - AmpersandAmpersandToken 1977932 1977935 - BinaryExpression 1977935 1977978 - PropertyAccessExpression 1977935 1977968 - Identifier 1977935 1977941 - Identifier 1977942 1977968 - EqualsEqualsEqualsToken 1977968 1977972 - FalseKeyword 1977972 1977978 - Block 1977979 1978023 - ReturnStatement 1977981 1978012 - Identifier 1978001 1978011 - IfStatement 1978023 1978146 - BinaryExpression 1978037 1978078 - Identifier 1978037 1978042 - AmpersandAmpersandToken 1978042 1978045 - PropertyAccessExpression 1978045 1978078 - Identifier 1978045 1978051 - Identifier 1978052 1978078 - Block 1978079 1978146 - ReturnStatement 1978081 1978135 - PropertyAccessExpression 1978101 1978134 - Identifier 1978101 1978107 - Identifier 1978108 1978134 - VariableStatement 1978146 1978273 - VariableDeclarationList 1978146 1978272 - VariableDeclaration 1978161 1978272 - Identifier 1978161 1978184 - CallExpression 1978186 1978272 - Identifier 1978186 1978206 - CallExpression 1978207 1978254 - Identifier 1978207 1978231 - Identifier 1978232 1978247 - Identifier 1978248 1978253 - Identifier 1978255 1978271 - IfStatement 1978273 1978355 - PrefixUnaryExpression 1978287 1978310 - Identifier 1978288 1978310 - Block 1978311 1978355 - ReturnStatement 1978313 1978344 - Identifier 1978333 1978343 - VariableStatement 1978355 1978461 - VariableDeclarationList 1978355 1978460 - VariableDeclaration 1978370 1978460 - Identifier 1978370 1978380 - BinaryExpression 1978382 1978460 - CallExpression 1978382 1978427 - Identifier 1978382 1978410 - Identifier 1978411 1978426 - EqualsEqualsEqualsToken 1978427 1978431 - PropertyAccessExpression 1978431 1978460 - Identifier 1978431 1978452 - Identifier 1978453 1978460 - VariableStatement 1978461 1978811 - VariableDeclarationList 1978461 1978810 - VariableDeclaration 1978476 1978810 - Identifier 1978476 1978489 - ConditionalExpression 1978491 1978810 - Identifier 1978491 1978501 - QuestionToken 1978501 1978516 - PropertyAccessExpression 1978516 1978647 - Identifier 1978516 1978528 - Identifier 1978529 1978647 - ColonToken 1978647 1978662 - PropertyAccessExpression 1978662 1978810 - Identifier 1978662 1978674 - Identifier 1978675 1978810 - VariableStatement 1978811 1978898 - VariableDeclarationList 1978811 1978897 - VariableDeclaration 1978826 1978897 - Identifier 1978826 1978836 - CallExpression 1978838 1978897 - Identifier 1978838 1978867 - Identifier 1978868 1978872 - Identifier 1978873 1978896 - VariableStatement 1978898 1979014 - VariableDeclarationList 1978898 1979013 - VariableDeclaration 1978913 1979013 - Identifier 1978913 1978917 - CallExpression 1978919 1979013 - Identifier 1978919 1978941 - BinaryExpression 1978942 1978964 - Identifier 1978942 1978951 - BarBarToken 1978951 1978954 - NonNullExpression 1978954 1978964 - Identifier 1978954 1978963 - Identifier 1978965 1978988 - Identifier 1978989 1979002 - Identifier 1979003 1979012 - VariableStatement 1979014 1979118 - VariableDeclarationList 1979014 1979117 - VariableDeclaration 1979029 1979117 - Identifier 1979029 1979036 - ConditionalExpression 1979038 1979117 - BinaryExpression 1979038 1979067 - Identifier 1979038 1979042 - AmpersandAmpersandToken 1979042 1979045 - BinaryExpression 1979045 1979067 - Identifier 1979045 1979049 - ExclamationEqualsEqualsToken 1979049 1979053 - Identifier 1979053 1979067 - QuestionToken 1979067 1979069 - CallExpression 1979069 1979105 - Identifier 1979069 1979085 - CallExpression 1979086 1979104 - Identifier 1979086 1979099 - Identifier 1979100 1979103 - ColonToken 1979105 1979107 - Identifier 1979107 1979117 - IfStatement 1979118 1979216 - Identifier 1979132 1979137 - Block 1979138 1979216 - ExpressionStatement 1979140 1979205 - BinaryExpression 1979140 1979204 - PropertyAccessExpression 1979140 1979186 - Identifier 1979140 1979159 - Identifier 1979160 1979186 - EqualsToken 1979186 1979188 - BinaryExpression 1979188 1979204 - Identifier 1979188 1979195 - BarBarToken 1979195 1979198 - FalseKeyword 1979198 1979204 - ReturnStatement 1979216 1979240 - Identifier 1979232 1979239 - FunctionDeclaration 1979247 1980758 - Identifier 1979263 1979281 - Parameter 1979282 1979308 - Identifier 1979282 1979290 - UnionType 1979291 1979308 - TypeReference 1979291 1979296 - Identifier 1979291 1979296 - UndefinedKeyword 1979298 1979308 - TypeReference 1979310 1979317 - Identifier 1979310 1979317 - Block 1979317 1980758 - VariableStatement 1979319 1979378 - VariableDeclarationList 1979319 1979377 - VariableDeclaration 1979334 1979377 - Identifier 1979334 1979340 - BinaryExpression 1979342 1979377 - Identifier 1979342 1979351 - AmpersandAmpersandToken 1979351 1979354 - CallExpression 1979354 1979377 - Identifier 1979354 1979367 - Identifier 1979368 1979376 - IfStatement 1979378 1979473 - BinaryExpression 1979392 1979419 - Identifier 1979392 1979397 - AmpersandAmpersandToken 1979397 1979400 - PropertyAccessExpression 1979400 1979419 - Identifier 1979400 1979406 - Identifier 1979407 1979419 - Block 1979420 1979473 - ReturnStatement 1979422 1979462 - PropertyAccessExpression 1979442 1979461 - Identifier 1979442 1979448 - Identifier 1979449 1979461 - IfStatement 1979473 1980470 - BinaryExpression 1979487 1979525 - PrefixUnaryExpression 1979487 1979493 - Identifier 1979488 1979493 - BarBarToken 1979493 1979496 - BinaryExpression 1979496 1979525 - PropertyAccessExpression 1979496 1979515 - Identifier 1979496 1979502 - Identifier 1979503 1979515 - ExclamationEqualsEqualsToken 1979515 1979519 - FalseKeyword 1979519 1979525 - Block 1979526 1980470 - VariableStatement 1979528 1979618 - VariableDeclarationList 1979528 1979617 - VariableDeclaration 1979545 1979617 - Identifier 1979545 1979563 - CallExpression 1979565 1979617 - Identifier 1979565 1979607 - Identifier 1979608 1979616 - IfStatement 1979618 1979929 - BinaryExpression 1979638 1979695 - PrefixUnaryExpression 1979638 1979656 - Identifier 1979639 1979656 - BarBarToken 1979656 1979659 - BinaryExpression 1979659 1979695 - Identifier 1979659 1979677 - EqualsEqualsEqualsToken 1979677 1979681 - Identifier 1979681 1979695 - Block 1979696 1979929 - VariableStatement 1979698 1979764 - VariableDeclarationList 1979698 1979763 - VariableDeclaration 1979721 1979763 - Identifier 1979721 1979735 - CallExpression 1979737 1979763 - Identifier 1979737 1979753 - Identifier 1979754 1979762 - ExpressionStatement 1979764 1979914 - BinaryExpression 1979764 1979913 - Identifier 1979764 1979799 - EqualsToken 1979799 1979801 - CallExpression 1979801 1979913 - Identifier 1979801 1979813 - Identifier 1979814 1979822 - Identifier 1979823 1979837 - PropertyAccessExpression 1979838 1979860 - Identifier 1979838 1979850 - Identifier 1979851 1979860 - Identifier 1979861 1979895 - FalseKeyword 1979896 1979912 - IfStatement 1979929 1980373 - Identifier 1979949 1979966 - Block 1979967 1980373 - VariableStatement 1979969 1980121 - VariableDeclarationList 1979969 1980120 - VariableDeclaration 1979992 1980120 - Identifier 1979992 1980002 - CallExpression 1980004 1980120 - Identifier 1980004 1980018 - CallExpression 1980019 1980119 - Identifier 1980019 1980028 - CallExpression 1980029 1980081 - Identifier 1980029 1980047 - CallExpression 1980048 1980080 - Identifier 1980048 1980061 - Identifier 1980062 1980079 - PropertyAccessExpression 1980082 1980095 - Identifier 1980082 1980091 - Identifier 1980092 1980095 - PropertyAccessExpression 1980096 1980118 - Identifier 1980096 1980108 - Identifier 1980109 1980118 - IfStatement 1980121 1980358 - BinaryExpression 1980143 1980183 - Identifier 1980143 1980152 - AmpersandAmpersandToken 1980152 1980155 - BinaryExpression 1980155 1980183 - Identifier 1980155 1980165 - ExclamationEqualsEqualsToken 1980165 1980169 - Identifier 1980169 1980183 - Block 1980184 1980358 - IfStatement 1980186 1980300 - Identifier 1980212 1980217 - Block 1980218 1980300 - ExpressionStatement 1980220 1980277 - BinaryExpression 1980220 1980276 - PropertyAccessExpression 1980220 1980264 - Identifier 1980220 1980251 - Identifier 1980252 1980264 - EqualsToken 1980264 1980266 - Identifier 1980266 1980276 - ReturnStatement 1980300 1980339 - Identifier 1980328 1980338 - IfStatement 1980373 1980459 - Identifier 1980391 1980396 - Block 1980397 1980459 - ExpressionStatement 1980399 1980444 - BinaryExpression 1980399 1980443 - PropertyAccessExpression 1980399 1980435 - Identifier 1980399 1980422 - Identifier 1980423 1980435 - EqualsToken 1980435 1980437 - FalseKeyword 1980437 1980443 - VariableStatement 1980470 1980616 - VariableDeclarationList 1980470 1980615 - VariableDeclaration 1980517 1980615 - Identifier 1980517 1980519 - CallExpression 1980521 1980615 - Identifier 1980521 1980535 - CallExpression 1980536 1980614 - Identifier 1980536 1980551 - PropertyAccessExpression 1980552 1980564 - Identifier 1980552 1980560 - Identifier 1980561 1980564 - PropertyAccessExpression 1980565 1980587 - Identifier 1980565 1980577 - Identifier 1980578 1980587 - Identifier 1980588 1980613 - IfStatement 1980616 1980713 - BinaryExpression 1980630 1980649 - Identifier 1980630 1980631 - EqualsEqualsEqualsToken 1980631 1980635 - Identifier 1980635 1980649 - Block 1980650 1980713 - ReturnStatement 1980652 1980684 - NonNullExpression 1980672 1980683 - Identifier 1980672 1980682 - ReturnStatement 1980713 1980733 - NonNullExpression 1980729 1980732 - Identifier 1980729 1980731 - FunctionDeclaration 1980758 1983222 - Identifier 1981273 1981314 - Parameter 1981315 1981350 - Identifier 1981315 1981340 - TypeReference 1981341 1981350 - Identifier 1981341 1981350 - Parameter 1981351 1981372 - Identifier 1981351 1981364 - TypeReference 1981365 1981372 - Identifier 1981365 1981372 - UnionType 1981374 1981395 - TypeReference 1981374 1981383 - Identifier 1981374 1981383 - UndefinedKeyword 1981385 1981395 - Block 1981395 1983222 - VariableStatement 1981397 1981624 - VariableDeclarationList 1981397 1981623 - VariableDeclaration 1981494 1981623 - Identifier 1981494 1981527 - BinaryExpression 1981529 1981623 - Identifier 1981529 1981542 - AmpersandAmpersandToken 1981542 1981545 - CallExpression 1981545 1981623 - Identifier 1981545 1981555 - NonNullExpression 1981556 1981577 - PropertyAccessExpression 1981556 1981576 - Identifier 1981556 1981568 - Identifier 1981569 1981576 - Identifier 1981578 1981604 - PropertyAccessExpression 1981605 1981622 - Identifier 1981605 1981617 - Identifier 1981618 1981622 - VariableStatement 1981624 1981850 - VariableDeclarationList 1981624 1981849 - VariableDeclaration 1981719 1981849 - Identifier 1981719 1981753 - BinaryExpression 1981755 1981849 - Identifier 1981755 1981788 - AmpersandAmpersandToken 1981788 1981791 - CallExpression 1981791 1981849 - Identifier 1981791 1981815 - Identifier 1981816 1981848 - VariableStatement 1981850 1982093 - VariableDeclarationList 1981850 1982092 - VariableDeclaration 1981956 1982092 - Identifier 1981956 1981998 - BinaryExpression 1982000 1982092 - Identifier 1982000 1982034 - AmpersandAmpersandToken 1982034 1982037 - CallExpression 1982037 1982092 - Identifier 1982037 1982057 - Identifier 1982058 1982091 - IfStatement 1982093 1983188 - Identifier 1982107 1982148 - Block 1982149 1983188 - IfStatement 1982151 1983177 - BinaryExpression 1982288 1982342 - PropertyAccessExpression 1982288 1982336 - Identifier 1982288 1982329 - Identifier 1982330 1982336 - EqualsEqualsEqualsToken 1982336 1982340 - NumericLiteral 1982340 1982342 - Block 1982343 1982400 - ReturnStatement 1982345 1982385 - AsExpression 1982369 1982384 - StringLiteral 1982369 1982372 - TypeReference 1982375 1982384 - Identifier 1982375 1982384 - IfStatement 1982592 1983177 - BinaryExpression 1982597 1982651 - PropertyAccessExpression 1982597 1982645 - Identifier 1982597 1982638 - Identifier 1982639 1982645 - EqualsEqualsEqualsToken 1982645 1982649 - NumericLiteral 1982649 1982651 - Block 1982652 1982751 - ReturnStatement 1982654 1982736 - PropertyAccessExpression 1982678 1982735 - ElementAccessExpression 1982678 1982723 - Identifier 1982678 1982720 - NumericLiteral 1982721 1982722 - Identifier 1982724 1982735 - IfStatement 1982769 1983177 - BinaryExpression 1982774 1982875 - BinaryExpression 1982774 1982826 - PropertyAccessExpression 1982774 1982822 - Identifier 1982774 1982815 - Identifier 1982816 1982822 - GreaterThanToken 1982822 1982824 - NumericLiteral 1982824 1982826 - AmpersandAmpersandToken 1982826 1982829 - PropertyAccessExpression 1982829 1982875 - Identifier 1982829 1982862 - Identifier 1982863 1982875 - Block 1982876 1983177 - ExpressionStatement 1982878 1983162 - CallExpression 1982878 1983161 - Identifier 1982878 1982985 - ElementAccessExpression 1982986 1983034 - PropertyAccessExpression 1982986 1983031 - Identifier 1982986 1983018 - Identifier 1983019 1983031 - NumericLiteral 1983032 1983033 - PropertyAccessExpression 1983035 1983105 - Identifier 1983035 1983047 - Identifier 1983048 1983105 - CallExpression 1983106 1983160 - Identifier 1983106 1983133 - Identifier 1983134 1983159 - ReturnStatement 1983188 1983215 - Identifier 1983204 1983214 - FunctionDeclaration 1983222 1983469 - Identifier 1983238 1983269 - Parameter 1983270 1983290 - Identifier 1983270 1983282 - TypeReference 1983283 1983290 - Identifier 1983283 1983290 - Block 1983291 1983469 - ReturnStatement 1983293 1983462 - BinaryExpression 1983359 1983461 - Identifier 1983359 1983372 - AmpersandAmpersandToken 1983372 1983375 - CallExpression 1983375 1983461 - Identifier 1983375 1983385 - NonNullExpression 1983386 1983407 - PropertyAccessExpression 1983386 1983406 - Identifier 1983386 1983398 - Identifier 1983399 1983406 - PropertyAccessExpression 1983408 1983442 - Identifier 1983408 1983417 - Identifier 1983418 1983442 - PropertyAccessExpression 1983443 1983460 - Identifier 1983443 1983455 - Identifier 1983456 1983460 - FunctionDeclaration 1983469 1983683 - Identifier 1983485 1983509 - Parameter 1983510 1983530 - Identifier 1983510 1983522 - TypeReference 1983523 1983530 - Identifier 1983523 1983530 - Block 1983531 1983683 - ReturnStatement 1983533 1983676 - BinaryExpression 1983586 1983675 - Identifier 1983586 1983599 - AmpersandAmpersandToken 1983599 1983602 - CallExpression 1983602 1983675 - Identifier 1983602 1983612 - NonNullExpression 1983613 1983634 - PropertyAccessExpression 1983613 1983633 - Identifier 1983613 1983625 - Identifier 1983626 1983633 - PropertyAccessExpression 1983635 1983656 - Identifier 1983635 1983644 - Identifier 1983645 1983656 - PropertyAccessExpression 1983657 1983674 - Identifier 1983657 1983669 - Identifier 1983670 1983674 - FunctionDeclaration 1983683 1984205 - Identifier 1984025 1984053 - Parameter 1984054 1984074 - Identifier 1984054 1984066 - TypeReference 1984067 1984074 - Identifier 1984067 1984074 - Block 1984075 1984205 - ReturnStatement 1984077 1984198 - CallExpression 1984093 1984197 - Identifier 1984093 1984134 - PropertyAccessExpression 1984135 1984182 - Identifier 1984135 1984143 - Identifier 1984144 1984182 - Identifier 1984183 1984196 - FunctionDeclaration 1984205 1984671 - Identifier 1984221 1984255 - Parameter 1984256 1984276 - Identifier 1984256 1984268 - TypeReference 1984269 1984276 - Identifier 1984269 1984276 - UnionType 1984278 1984299 - TypeReference 1984278 1984287 - Identifier 1984278 1984287 - UndefinedKeyword 1984289 1984299 - Block 1984299 1984671 - IfStatement 1984301 1984544 - BinaryExpression 1984315 1984402 - BinaryExpression 1984315 1984355 - PropertyAccessExpression 1984315 1984334 - Identifier 1984315 1984330 - Identifier 1984331 1984334 - EqualsEqualsEqualsToken 1984334 1984338 - PropertyAccessExpression 1984338 1984355 - Identifier 1984338 1984346 - Identifier 1984347 1984355 - BarBarToken 1984355 1984358 - BinaryExpression 1984358 1984402 - PropertyAccessExpression 1984358 1984378 - Identifier 1984358 1984374 - Identifier 1984375 1984378 - EqualsEqualsEqualsToken 1984378 1984382 - PropertyAccessExpression 1984382 1984402 - Identifier 1984382 1984390 - Identifier 1984391 1984402 - Block 1984403 1984544 - ReturnStatement 1984405 1984533 - AsExpression 1984509 1984532 - StringLiteral 1984509 1984520 - TypeReference 1984523 1984532 - Identifier 1984523 1984532 - ReturnStatement 1984544 1984664 - CallExpression 1984560 1984663 - Identifier 1984560 1984601 - PropertyAccessExpression 1984602 1984648 - Identifier 1984602 1984610 - Identifier 1984611 1984648 - Identifier 1984649 1984662 - FunctionDeclaration 1984671 1986304 - Identifier 1984687 1984724 - Parameter 1984725 1984742 - Identifier 1984725 1984736 - TypeReference 1984737 1984742 - Identifier 1984737 1984742 - Parameter 1984743 1984763 - Identifier 1984743 1984750 - TypeReference 1984751 1984763 - Identifier 1984751 1984763 - TypeOperator 1984765 1984786 - ArrayType 1984774 1984786 - TypeReference 1984774 1984784 - Identifier 1984774 1984784 - Block 1984786 1986304 - IfStatement 1984788 1985506 - BinaryExpression 1984802 1984838 - PropertyAccessExpression 1984802 1984819 - Identifier 1984802 1984813 - Identifier 1984814 1984819 - AmpersandToken 1984819 1984821 - PropertyAccessExpression 1984821 1984838 - Identifier 1984821 1984831 - Identifier 1984832 1984838 - Block 1984839 1984888 - ReturnStatement 1984841 1984877 - ArrayLiteralExpression 1984861 1984876 - Identifier 1984863 1984875 - IfStatement 1984902 1985506 - BinaryExpression 1984907 1984950 - PropertyAccessExpression 1984907 1984924 - Identifier 1984907 1984918 - Identifier 1984919 1984924 - AmpersandToken 1984924 1984926 - PropertyAccessExpression 1984926 1984950 - Identifier 1984926 1984936 - Identifier 1984937 1984950 - Block 1984951 1985506 - VariableStatement 1984953 1985079 - VariableDeclarationList 1984953 1985078 - VariableDeclaration 1984972 1985078 - Identifier 1984972 1984986 - CallExpression 1984988 1985078 - Identifier 1984988 1985036 - AsExpression 1985037 1985069 - Identifier 1985037 1985048 - TypeReference 1985051 1985069 - Identifier 1985051 1985069 - Identifier 1985070 1985077 - IfStatement 1985079 1985495 - PrefixUnaryExpression 1985097 1985111 - Identifier 1985098 1985111 - Block 1985112 1985325 - ExpressionStatement 1985114 1985274 - CallExpression 1985114 1985273 - Identifier 1985114 1985137 - Identifier 1985138 1985144 - PropertyAccessExpression 1985145 1985193 - Identifier 1985145 1985157 - Identifier 1985158 1985193 - PropertyAccessExpression 1985194 1985235 - ParenthesizedExpression 1985194 1985229 - AsExpression 1985196 1985228 - Identifier 1985196 1985207 - TypeReference 1985210 1985228 - Identifier 1985210 1985228 - Identifier 1985230 1985235 - BinaryExpression 1985236 1985272 - StringLiteral 1985236 1985243 - PlusToken 1985243 1985245 - PropertyAccessExpression 1985245 1985272 - Identifier 1985245 1985254 - Identifier 1985255 1985272 - ReturnStatement 1985274 1985310 - Identifier 1985298 1985309 - Block 1985343 1985495 - VariableStatement 1985345 1985439 - VariableDeclarationList 1985345 1985438 - VariableDeclaration 1985368 1985438 - Identifier 1985368 1985382 - CallExpression 1985384 1985438 - Identifier 1985384 1985415 - Identifier 1985416 1985422 - Identifier 1985423 1985437 - ReturnStatement 1985439 1985480 - ArrayLiteralExpression 1985463 1985479 - Identifier 1985465 1985478 - VariableStatement 1985506 1985570 - VariableDeclarationList 1985506 1985569 - VariableDeclaration 1985521 1985569 - Identifier 1985521 1985538 - CallExpression 1985540 1985569 - Identifier 1985540 1985556 - Identifier 1985557 1985568 - VariableStatement 1985570 1985719 - VariableDeclarationList 1985570 1985718 - VariableDeclaration 1985642 1985718 - Identifier 1985642 1985653 - CallExpression 1985655 1985718 - Identifier 1985655 1985675 - Identifier 1985676 1985692 - PropertyAccessExpression 1985693 1985717 - Identifier 1985693 1985707 - Identifier 1985708 1985717 - IfStatement 1985719 1985916 - BinaryExpression 1985733 1985756 - PropertyAccessExpression 1985733 1985750 - Identifier 1985733 1985743 - Identifier 1985744 1985750 - EqualsEqualsEqualsToken 1985750 1985754 - NumericLiteral 1985754 1985756 - Block 1985757 1985916 - ExpressionStatement 1985759 1985905 - BinaryExpression 1985759 1985904 - Identifier 1985759 1985844 - EqualsToken 1985844 1985846 - CallExpression 1985846 1985904 - Identifier 1985846 1985866 - Identifier 1985867 1985883 - PropertyAccessExpression 1985884 1985903 - Identifier 1985884 1985898 - Identifier 1985899 1985903 - IfStatement 1985916 1986269 - BinaryExpression 1985930 1985997 - BinaryExpression 1985930 1985953 - PropertyAccessExpression 1985930 1985947 - Identifier 1985930 1985940 - Identifier 1985941 1985947 - EqualsEqualsEqualsToken 1985947 1985951 - NumericLiteral 1985951 1985953 - AmpersandAmpersandToken 1985953 1985956 - BinaryExpression 1985956 1985997 - PropertyAccessExpression 1985956 1985979 - Identifier 1985956 1985973 - Identifier 1985974 1985979 - AmpersandToken 1985979 1985981 - PropertyAccessExpression 1985981 1985997 - Identifier 1985981 1985991 - Identifier 1985992 1985997 - Block 1985998 1986269 - ExpressionStatement 1986000 1986258 - BinaryExpression 1986000 1986257 - Identifier 1986000 1986138 - EqualsToken 1986138 1986140 - CallExpression 1986140 1986257 - Identifier 1986140 1986159 - CallExpression 1986160 1986256 - Identifier 1986160 1986163 - PropertyAccessExpression 1986164 1986201 - ParenthesizedExpression 1986164 1986195 - AsExpression 1986165 1986194 - Identifier 1986165 1986181 - TypeReference 1986184 1986194 - Identifier 1986184 1986194 - Identifier 1986196 1986201 - ArrowFunction 1986202 1986255 - Parameter 1986202 1986204 - Identifier 1986202 1986204 - EqualsGreaterThanToken 1986204 1986207 - CallExpression 1986207 1986255 - Identifier 1986207 1986244 - Identifier 1986245 1986246 - Identifier 1986247 1986254 - ReturnStatement 1986269 1986297 - Identifier 1986285 1986296 - FunctionDeclaration 1986304 1987535 - Identifier 1986320 1986368 - Parameter 1986369 1986392 - Identifier 1986369 1986373 - TypeReference 1986374 1986392 - Identifier 1986374 1986392 - Parameter 1986393 1986408 - Identifier 1986393 1986402 - TypeReference 1986403 1986408 - Identifier 1986403 1986408 - UnionType 1986410 1986427 - TypeReference 1986410 1986415 - Identifier 1986410 1986415 - UndefinedKeyword 1986417 1986427 - Block 1986427 1987535 - VariableStatement 1986429 1986806 - VariableDeclarationList 1986429 1986805 - VariableDeclaration 1986732 1986805 - Identifier 1986732 1986754 - CallExpression 1986756 1986805 - Identifier 1986756 1986767 - PropertyAccessExpression 1986768 1986794 - Identifier 1986768 1986776 - Identifier 1986777 1986794 - Identifier 1986795 1986804 - IfStatement 1986806 1987379 - PrefixUnaryExpression 1986820 1986855 - CallExpression 1986821 1986855 - Identifier 1986821 1986832 - Identifier 1986833 1986854 - Block 1986856 1987379 - VariableStatement 1986858 1986913 - VariableDeclarationList 1986858 1986912 - VariableDeclaration 1986877 1986912 - Identifier 1986877 1986899 - PropertyAccessExpression 1986901 1986912 - Identifier 1986901 1986906 - Identifier 1986907 1986912 - VariableStatement 1986913 1987039 - VariableDeclarationList 1986913 1987038 - VariableDeclaration 1986932 1987038 - Identifier 1986932 1986946 - CallExpression 1986948 1987038 - Identifier 1986948 1986966 - Identifier 1986967 1986988 - CallExpression 1986989 1987037 - Identifier 1986989 1987014 - Identifier 1987015 1987036 - IfStatement 1987039 1987144 - Identifier 1987057 1987070 - Block 1987071 1987144 - ReturnStatement 1987073 1987129 - CallExpression 1987097 1987128 - Identifier 1987097 1987113 - Identifier 1987114 1987127 - VariableStatement 1987144 1987239 - VariableDeclarationList 1987144 1987238 - VariableDeclaration 1987163 1987238 - Identifier 1987163 1987182 - CallExpression 1987184 1987238 - Identifier 1987184 1987203 - Identifier 1987204 1987225 - Identifier 1987226 1987237 - IfStatement 1987239 1987337 - Identifier 1987257 1987275 - Block 1987276 1987337 - ReturnStatement 1987278 1987322 - Identifier 1987302 1987321 - ReturnStatement 1987337 1987368 - Identifier 1987357 1987367 - ReturnStatement 1987379 1987528 - Identifier 1987519 1987527 - FunctionDeclaration 1987535 1989521 - Identifier 1987551 1987594 - Parameter 1987595 1987620 - Identifier 1987595 1987602 - TypeReference 1987603 1987620 - Identifier 1987603 1987620 - Parameter 1987621 1987644 - Identifier 1987621 1987638 - TypeReference 1987639 1987644 - Identifier 1987639 1987644 - Parameter 1987645 1987687 - Identifier 1987645 1987664 - TypeReference 1987665 1987687 - Identifier 1987665 1987687 - Block 1987688 1989521 - IfStatement 1987690 1989218 - BinaryExpression 1987704 1987741 - Identifier 1987704 1987711 - EqualsEqualsEqualsToken 1987711 1987715 - PropertyAccessExpression 1987715 1987741 - Identifier 1987715 1987732 - Identifier 1987733 1987741 - Block 1987742 1988110 - VariableStatement 1987744 1987835 - VariableDeclarationList 1987744 1987834 - VariableDeclaration 1987763 1987834 - Identifier 1987763 1987783 - CallExpression 1987785 1987834 - Identifier 1987785 1987814 - Identifier 1987815 1987833 - IfStatement 1987835 1988099 - Identifier 1987853 1987872 - Block 1987873 1988099 - ExpressionStatement 1987875 1988084 - CallExpression 1987875 1988083 - Identifier 1987875 1987911 - Identifier 1987912 1987928 - Identifier 1987929 1987949 - Identifier 1987950 1987969 - PropertyAccessExpression 1987970 1987997 - Identifier 1987970 1987989 - Identifier 1987990 1987997 - PropertyAccessExpression 1987998 1988055 - Identifier 1987998 1988010 - Identifier 1988011 1988055 - Identifier 1988056 1988082 - IfStatement 1988124 1989218 - BinaryExpression 1988129 1988167 - Identifier 1988129 1988136 - EqualsEqualsEqualsToken 1988136 1988140 - PropertyAccessExpression 1988140 1988167 - Identifier 1988140 1988157 - Identifier 1988158 1988167 - Block 1988168 1988628 - VariableStatement 1988170 1988253 - VariableDeclarationList 1988170 1988252 - VariableDeclaration 1988189 1988252 - Identifier 1988189 1988205 - CallExpression 1988207 1988252 - Identifier 1988207 1988232 - Identifier 1988233 1988251 - IfStatement 1988253 1988617 - Identifier 1988271 1988286 - Block 1988287 1988617 - ExpressionStatement 1988289 1988602 - CallExpression 1988289 1988601 - Identifier 1988289 1988431 - Identifier 1988432 1988448 - Identifier 1988449 1988465 - Identifier 1988466 1988485 - PropertyAccessExpression 1988486 1988513 - Identifier 1988486 1988505 - Identifier 1988506 1988513 - PropertyAccessExpression 1988514 1988573 - Identifier 1988514 1988526 - Identifier 1988527 1988573 - Identifier 1988574 1988600 - Block 1988642 1989218 - VariableStatement 1988644 1988744 - VariableDeclarationList 1988644 1988743 - VariableDeclaration 1988672 1988743 - Identifier 1988672 1988692 - CallExpression 1988694 1988743 - Identifier 1988694 1988723 - Identifier 1988724 1988742 - VariableStatement 1988744 1988827 - VariableDeclarationList 1988744 1988826 - VariableDeclaration 1988763 1988826 - Identifier 1988763 1988779 - CallExpression 1988781 1988826 - Identifier 1988781 1988806 - Identifier 1988807 1988825 - IfStatement 1988827 1988928 - BinaryExpression 1988845 1988885 - PrefixUnaryExpression 1988845 1988865 - Identifier 1988846 1988865 - BarBarToken 1988865 1988868 - PrefixUnaryExpression 1988868 1988885 - Identifier 1988870 1988885 - Block 1988886 1988928 - ReturnStatement 1988888 1988913 - VariableStatement 1988928 1989012 - VariableDeclarationList 1988928 1989011 - VariableDeclaration 1988947 1989011 - Identifier 1988947 1988956 - CallExpression 1988958 1989011 - Identifier 1988958 1988971 - ArrayLiteralExpression 1988972 1989010 - Identifier 1988973 1988992 - Identifier 1988993 1989009 - ExpressionStatement 1989012 1989207 - CallExpression 1989012 1989206 - Identifier 1989012 1989044 - Identifier 1989045 1989061 - Identifier 1989062 1989071 - Identifier 1989072 1989091 - PropertyAccessExpression 1989092 1989119 - Identifier 1989092 1989111 - Identifier 1989112 1989119 - PropertyAccessExpression 1989120 1989178 - Identifier 1989120 1989132 - Identifier 1989133 1989178 - Identifier 1989179 1989205 - FunctionDeclaration 1989218 1989514 - Identifier 1989238 1989264 - TypeReference 1989267 1989290 - Identifier 1989267 1989290 - Block 1989290 1989514 - VariableStatement 1989292 1989370 - VariableDeclarationList 1989292 1989369 - VariableDeclaration 1989311 1989369 - Identifier 1989311 1989325 - CallExpression 1989327 1989369 - Identifier 1989327 1989341 - PropertyAccessExpression 1989342 1989368 - Identifier 1989342 1989360 - Identifier 1989361 1989368 - ReturnStatement 1989370 1989503 - CallExpression 1989390 1989502 - Identifier 1989390 1989414 - Identifier 1989415 1989436 - PropertyAccessExpression 1989437 1989486 - Identifier 1989437 1989449 - Identifier 1989450 1989486 - Identifier 1989487 1989501 - FunctionDeclaration 1989521 1990929 - Identifier 1989846 1989898 - Parameter 1989899 1989926 - Identifier 1989899 1989903 - TypeReference 1989904 1989926 - Identifier 1989904 1989926 - TypeReference 1989928 1989933 - Identifier 1989928 1989933 - Block 1989933 1990929 - ExpressionStatement 1989935 1989995 - CallExpression 1989935 1989994 - PropertyAccessExpression 1989935 1989957 - Identifier 1989935 1989950 - Identifier 1989951 1989957 - CallExpression 1989958 1989993 - Identifier 1989958 1989979 - PropertyAccessExpression 1989980 1989992 - Identifier 1989980 1989984 - Identifier 1989985 1989992 - VariableStatement 1989995 1990038 - VariableDeclarationList 1989995 1990037 - VariableDeclaration 1990010 1990037 - Identifier 1990010 1990016 - CallExpression 1990018 1990037 - Identifier 1990018 1990031 - Identifier 1990032 1990036 - IfStatement 1990038 1990866 - PrefixUnaryExpression 1990052 1990091 - PropertyAccessExpression 1990053 1990091 - Identifier 1990053 1990058 - Identifier 1990059 1990091 - Block 1990092 1990866 - VariableStatement 1990094 1990151 - VariableDeclarationList 1990094 1990150 - VariableDeclaration 1990113 1990150 - Identifier 1990113 1990120 - CallExpression 1990122 1990150 - Identifier 1990122 1990144 - Identifier 1990145 1990149 - IfStatement 1990151 1990855 - BinaryExpression 1990169 1990216 - PropertyAccessExpression 1990169 1990183 - Identifier 1990169 1990174 - Identifier 1990175 1990183 - AmpersandToken 1990183 1990185 - PropertyAccessExpression 1990185 1990216 - Identifier 1990185 1990194 - Identifier 1990195 1990216 - Block 1990217 1990337 - ReturnStatement 1990219 1990322 - BinaryExpression 1990243 1990321 - PropertyAccessExpression 1990243 1990282 - Identifier 1990243 1990249 - Identifier 1990250 1990282 - EqualsToken 1990282 1990284 - BinaryExpression 1990284 1990321 - CallExpression 1990284 1990308 - Identifier 1990284 1990300 - Identifier 1990301 1990307 - BarBarToken 1990308 1990311 - Identifier 1990311 1990321 - IfStatement 1990355 1990855 - BinaryExpression 1990360 1990409 - PropertyAccessExpression 1990360 1990374 - Identifier 1990360 1990365 - Identifier 1990366 1990374 - AmpersandToken 1990374 1990376 - PropertyAccessExpression 1990376 1990409 - Identifier 1990376 1990385 - Identifier 1990386 1990409 - Block 1990410 1990744 - VariableStatement 1990412 1990558 - VariableDeclarationList 1990412 1990557 - VariableDeclaration 1990435 1990557 - Identifier 1990435 1990444 - ConditionalExpression 1990446 1990557 - CallExpression 1990446 1990480 - Identifier 1990446 1990466 - PropertyAccessExpression 1990467 1990479 - Identifier 1990467 1990471 - Identifier 1990472 1990479 - QuestionToken 1990480 1990482 - CallExpression 1990482 1990530 - Identifier 1990482 1990516 - PropertyAccessExpression 1990517 1990529 - Identifier 1990517 1990521 - Identifier 1990522 1990529 - ColonToken 1990530 1990532 - PropertyAccessExpression 1990532 1990557 - PropertyAccessExpression 1990532 1990545 - Identifier 1990532 1990537 - Identifier 1990538 1990545 - Identifier 1990546 1990557 - ReturnStatement 1990558 1990729 - BinaryExpression 1990582 1990728 - PropertyAccessExpression 1990582 1990621 - Identifier 1990582 1990588 - Identifier 1990589 1990621 - EqualsToken 1990621 1990623 - BinaryExpression 1990623 1990728 - PropertyAccessExpression 1990623 1990715 - CallExpression 1990623 1990709 - Identifier 1990623 1990653 - CallExpression 1990654 1990698 - Identifier 1990654 1990664 - PropertyAccessExpression 1990665 1990691 - Identifier 1990665 1990673 - Identifier 1990674 1990691 - Identifier 1990692 1990697 - Identifier 1990699 1990708 - QuestionDotToken 1990709 1990711 - Identifier 1990711 1990715 - BarBarToken 1990715 1990718 - Identifier 1990718 1990728 - Block 1990762 1990855 - ReturnStatement 1990764 1990840 - BinaryExpression 1990788 1990839 - PropertyAccessExpression 1990788 1990827 - Identifier 1990788 1990794 - Identifier 1990795 1990827 - EqualsToken 1990827 1990829 - Identifier 1990829 1990839 - ReturnStatement 1990866 1990922 - PropertyAccessExpression 1990882 1990921 - Identifier 1990882 1990888 - Identifier 1990889 1990921 - FunctionDeclaration 1990929 1991152 - Identifier 1990945 1990970 - Parameter 1990971 1990985 - Identifier 1990971 1990979 - TypeReference 1990980 1990985 - Identifier 1990980 1990985 - UnionType 1990987 1991004 - TypeReference 1990987 1990992 - Identifier 1990987 1990992 - UndefinedKeyword 1990994 1991004 - Block 1991004 1991152 - VariableStatement 1991006 1991073 - VariableDeclarationList 1991006 1991072 - VariableDeclaration 1991021 1991072 - Identifier 1991021 1991026 - CallExpression 1991028 1991072 - Identifier 1991028 1991039 - PropertyAccessExpression 1991040 1991061 - Identifier 1991040 1991048 - Identifier 1991049 1991061 - Identifier 1991062 1991071 - IfStatement 1991073 1991123 - CallExpression 1991087 1991104 - Identifier 1991087 1991098 - Identifier 1991099 1991103 - ReturnStatement 1991105 1991123 - Identifier 1991112 1991122 - ReturnStatement 1991123 1991145 - Identifier 1991139 1991144 - FunctionDeclaration 1991152 1991275 - Identifier 1991168 1991188 - Parameter 1991189 1991203 - Identifier 1991189 1991197 - TypeReference 1991198 1991203 - Identifier 1991198 1991203 - TypeReference 1991205 1991210 - Identifier 1991205 1991210 - Block 1991210 1991275 - ReturnStatement 1991212 1991268 - CallExpression 1991228 1991267 - Identifier 1991228 1991239 - PropertyAccessExpression 1991240 1991256 - Identifier 1991240 1991248 - Identifier 1991249 1991256 - Identifier 1991257 1991266 - FunctionDeclaration 1991275 1991530 - Identifier 1991291 1991320 - Parameter 1991321 1991335 - Identifier 1991321 1991329 - TypeReference 1991330 1991335 - Identifier 1991330 1991335 - UnionType 1991337 1991354 - TypeReference 1991337 1991342 - Identifier 1991337 1991342 - UndefinedKeyword 1991344 1991354 - Block 1991354 1991530 - VariableStatement 1991356 1991419 - VariableDeclarationList 1991356 1991418 - VariableDeclaration 1991371 1991418 - Identifier 1991371 1991386 - CallExpression 1991388 1991418 - Identifier 1991388 1991408 - Identifier 1991409 1991417 - IfStatement 1991419 1991523 - Identifier 1991433 1991447 - Block 1991448 1991523 - ReturnStatement 1991450 1991512 - CallExpression 1991470 1991511 - Identifier 1991470 1991483 - ArrayLiteralExpression 1991484 1991510 - Identifier 1991485 1991499 - Identifier 1991500 1991509 - FunctionDeclaration 1991530 1991956 - Identifier 1991546 1991570 - Parameter 1991571 1991585 - Identifier 1991571 1991579 - TypeReference 1991580 1991585 - Identifier 1991580 1991585 - UnionType 1991587 1991604 - TypeReference 1991587 1991592 - Identifier 1991587 1991592 - UndefinedKeyword 1991594 1991604 - Block 1991604 1991956 - VariableStatement 1991606 1991655 - VariableDeclarationList 1991606 1991654 - VariableDeclaration 1991621 1991654 - Identifier 1991621 1991624 - CallExpression 1991626 1991654 - Identifier 1991626 1991644 - Identifier 1991645 1991653 - IfStatement 1991655 1991691 - PrefixUnaryExpression 1991669 1991672 - Identifier 1991670 1991672 - ReturnStatement 1991673 1991691 - Identifier 1991680 1991690 - VariableStatement 1991691 1991741 - VariableDeclarationList 1991691 1991740 - VariableDeclaration 1991706 1991740 - Identifier 1991706 1991710 - CallExpression 1991712 1991740 - Identifier 1991712 1991736 - Identifier 1991737 1991739 - IfStatement 1991741 1991778 - PrefixUnaryExpression 1991755 1991759 - Identifier 1991756 1991759 - ReturnStatement 1991760 1991778 - Identifier 1991767 1991777 - VariableStatement 1991778 1991868 - VariableDeclarationList 1991778 1991867 - VariableDeclaration 1991793 1991867 - Identifier 1991793 1991798 - CallExpression 1991800 1991867 - Identifier 1991800 1991840 - Identifier 1991841 1991844 - CallExpression 1991845 1991866 - Identifier 1991845 1991856 - Identifier 1991857 1991865 - IfStatement 1991868 1991927 - BinaryExpression 1991882 1991908 - PrefixUnaryExpression 1991882 1991887 - Identifier 1991883 1991887 - BarBarToken 1991887 1991890 - CallExpression 1991890 1991908 - Identifier 1991890 1991902 - Identifier 1991903 1991907 - ReturnStatement 1991909 1991927 - Identifier 1991916 1991926 - ReturnStatement 1991927 1991949 - Identifier 1991943 1991948 - FunctionDeclaration 1991956 1993028 - Identifier 1991972 1992012 - Parameter 1992013 1992031 - Identifier 1992013 1992023 - TypeReference 1992024 1992031 - Identifier 1992024 1992031 - Parameter 1992032 1992046 - Identifier 1992032 1992037 - BooleanKeyword 1992038 1992046 - Parameter 1992047 1992072 - DotDotDotToken 1992047 1992051 - Identifier 1992051 1992064 - ArrayType 1992065 1992072 - TypeReference 1992065 1992070 - Identifier 1992065 1992070 - Block 1992073 1993028 - VariableStatement 1992075 1992149 - VariableDeclarationList 1992075 1992148 - VariableDeclaration 1992090 1992148 - Identifier 1992090 1992110 - CallExpression 1992112 1992148 - Identifier 1992112 1992136 - Identifier 1992137 1992147 - IfStatement 1992149 1992652 - BinaryExpression 1992234 1992274 - PropertyAccessExpression 1992234 1992250 - Identifier 1992234 1992244 - Identifier 1992245 1992250 - AmpersandToken 1992250 1992252 - PropertyAccessExpression 1992252 1992274 - Identifier 1992252 1992264 - Identifier 1992265 1992274 - Block 1992275 1992652 - VariableStatement 1992277 1992348 - VariableDeclarationList 1992277 1992347 - VariableDeclaration 1992296 1992347 - Identifier 1992296 1992303 - PropertyAccessExpression 1992305 1992347 - CallExpression 1992305 1992332 - Identifier 1992305 1992320 - Identifier 1992321 1992331 - Identifier 1992333 1992347 - IfStatement 1992348 1992641 - BinaryExpression 1992366 1992404 - CallExpression 1992366 1992380 - Identifier 1992366 1992372 - Identifier 1992373 1992379 - GreaterThanEqualsToken 1992380 1992383 - PropertyAccessExpression 1992383 1992404 - Identifier 1992383 1992397 - Identifier 1992398 1992404 - Block 1992405 1992641 - VariableStatement 1992407 1992514 - VariableDeclarationList 1992407 1992513 - VariableDeclaration 1992430 1992513 - Identifier 1992430 1992435 - CallExpression 1992437 1992513 - Identifier 1992437 1992462 - Identifier 1992463 1992476 - Identifier 1992477 1992484 - PropertyAccessExpression 1992485 1992506 - Identifier 1992485 1992499 - Identifier 1992500 1992506 - Identifier 1992507 1992512 - ReturnStatement 1992514 1992626 - ConditionalExpression 1992538 1992625 - BinaryExpression 1992538 1992557 - CallExpression 1992538 1992551 - Identifier 1992538 1992545 - Identifier 1992546 1992550 - EqualsEqualsEqualsToken 1992551 1992555 - NumericLiteral 1992555 1992557 - QuestionToken 1992557 1992559 - Identifier 1992559 1992579 - ColonToken 1992579 1992581 - CallExpression 1992581 1992625 - Identifier 1992581 1992607 - Identifier 1992608 1992618 - Identifier 1992619 1992624 - IfStatement 1992652 1992994 - BinaryExpression 1992666 1992749 - CallExpression 1992666 1992725 - Identifier 1992666 1992672 - PropertyAccessExpression 1992673 1992724 - ParenthesizedExpression 1992673 1992709 - AsExpression 1992674 1992708 - Identifier 1992674 1992693 - TypeReference 1992696 1992708 - Identifier 1992696 1992708 - Identifier 1992710 1992724 - GreaterThanEqualsToken 1992725 1992728 - PropertyAccessExpression 1992728 1992749 - Identifier 1992728 1992742 - Identifier 1992743 1992749 - Block 1992750 1992994 - VariableStatement 1992752 1992900 - VariableDeclarationList 1992752 1992899 - VariableDeclaration 1992771 1992899 - Identifier 1992771 1992776 - CallExpression 1992778 1992899 - Identifier 1992778 1992803 - Identifier 1992804 1992817 - PropertyAccessExpression 1992818 1992870 - ParenthesizedExpression 1992818 1992855 - AsExpression 1992820 1992854 - Identifier 1992820 1992839 - TypeReference 1992842 1992854 - Identifier 1992842 1992854 - Identifier 1992856 1992870 - PropertyAccessExpression 1992871 1992892 - Identifier 1992871 1992885 - Identifier 1992886 1992892 - Identifier 1992893 1992898 - ReturnStatement 1992900 1992983 - CallExpression 1992920 1992982 - Identifier 1992920 1992940 - AsExpression 1992941 1992975 - Identifier 1992941 1992960 - TypeReference 1992963 1992975 - Identifier 1992963 1992975 - Identifier 1992976 1992981 - ReturnStatement 1992994 1993021 - Identifier 1993010 1993020 - FunctionDeclaration 1993028 1993350 - Identifier 1993136 1993162 - Parameter 1993163 1993177 - Identifier 1993163 1993171 - TypeReference 1993172 1993177 - Identifier 1993172 1993177 - ArrayType 1993179 1993188 - TypeReference 1993179 1993186 - Identifier 1993179 1993186 - Block 1993188 1993350 - VariableStatement 1993190 1993268 - VariableDeclarationList 1993190 1993267 - VariableDeclaration 1993205 1993267 - Identifier 1993205 1993216 - CallExpression 1993218 1993267 - Identifier 1993218 1993229 - PropertyAccessExpression 1993230 1993256 - Identifier 1993230 1993238 - Identifier 1993239 1993256 - Identifier 1993257 1993266 - ReturnStatement 1993268 1993343 - ConditionalExpression 1993284 1993342 - Identifier 1993284 1993295 - QuestionToken 1993295 1993297 - CallExpression 1993297 1993329 - Identifier 1993297 1993317 - Identifier 1993318 1993328 - ColonToken 1993329 1993331 - Identifier 1993331 1993342 - FunctionDeclaration 1993350 1993885 - Identifier 1993366 1993388 - Parameter 1993389 1993404 - Identifier 1993389 1993398 - TypeReference 1993399 1993404 - Identifier 1993399 1993404 - Block 1993405 1993885 - IfStatement 1993407 1993620 - BinaryExpression 1993461 1993515 - ParenthesizedExpression 1993461 1993498 - BinaryExpression 1993462 1993497 - PropertyAccessExpression 1993462 1993481 - Identifier 1993462 1993477 - Identifier 1993478 1993481 - BarBarToken 1993481 1993484 - PropertyAccessExpression 1993484 1993497 - Identifier 1993484 1993492 - Identifier 1993493 1993497 - EqualsEqualsEqualsToken 1993498 1993502 - PropertyAccessExpression 1993502 1993515 - Identifier 1993502 1993510 - Identifier 1993511 1993515 - Block 1993516 1993620 - ExpressionStatement 1993518 1993609 - CallExpression 1993518 1993608 - Identifier 1993518 1993537 - Identifier 1993538 1993547 - PropertyAccessExpression 1993548 1993607 - Identifier 1993548 1993560 - Identifier 1993561 1993607 - IfStatement 1993620 1993878 - BinaryExpression 1993636 1993680 - CallExpression 1993636 1993666 - Identifier 1993636 1993655 - Identifier 1993656 1993665 - EqualsEqualsEqualsToken 1993666 1993670 - Identifier 1993670 1993680 - Block 1993681 1993878 - IfStatement 1993683 1993867 - Identifier 1993701 1993714 - Block 1993715 1993867 - ExpressionStatement 1993717 1993852 - CallExpression 1993717 1993851 - Identifier 1993717 1993740 - Identifier 1993741 1993750 - PropertyAccessExpression 1993751 1993850 - Identifier 1993751 1993763 - Identifier 1993764 1993850 - FunctionDeclaration 1993885 1995442 - Identifier 1993901 1993945 - Parameter 1993946 1993994 - Identifier 1993946 1993950 - UnionType 1993951 1993994 - TypeReference 1993951 1993973 - Identifier 1993951 1993973 - TypeReference 1993975 1993994 - Identifier 1993975 1993994 - Block 1993995 1995442 - VariableStatement 1993997 1994070 - VariableDeclarationList 1993997 1994069 - VariableDeclaration 1994012 1994069 - Identifier 1994012 1994037 - CallExpression 1994039 1994069 - Identifier 1994039 1994063 - Identifier 1994064 1994068 - IfStatement 1994070 1994167 - Identifier 1994086 1994110 - Block 1994111 1994167 - ExpressionStatement 1994113 1994156 - CallExpression 1994113 1994155 - Identifier 1994113 1994149 - Identifier 1994150 1994154 - ExpressionStatement 1994167 1994207 - CallExpression 1994167 1994206 - Identifier 1994167 1994200 - Identifier 1994201 1994205 - ExpressionStatement 1994207 1994248 - CallExpression 1994207 1994247 - Identifier 1994207 1994241 - Identifier 1994242 1994246 - VariableStatement 1994248 1994299 - VariableDeclarationList 1994248 1994298 - VariableDeclaration 1994265 1994298 - Identifier 1994265 1994269 - CallExpression 1994271 1994298 - Identifier 1994271 1994292 - Identifier 1994293 1994297 - ExpressionStatement 1994299 1994345 - CallExpression 1994299 1994344 - Identifier 1994299 1994333 - Identifier 1994334 1994337 - Identifier 1994338 1994343 - IfStatement 1994345 1995435 - Identifier 1994361 1994385 - Block 1994386 1995435 - VariableStatement 1994388 1994434 - VariableDeclarationList 1994388 1994433 - VariableDeclaration 1994407 1994433 - Identifier 1994407 1994426 - Identifier 1994428 1994433 - VariableStatement 1994434 1994522 - VariableDeclarationList 1994434 1994521 - VariableDeclaration 1994453 1994521 - Identifier 1994453 1994475 - CallExpression 1994477 1994521 - Identifier 1994477 1994501 - Identifier 1994502 1994520 - IfStatement 1994522 1995424 - BinaryExpression 1994540 1994575 - Identifier 1994540 1994561 - ExclamationEqualsEqualsToken 1994561 1994565 - Identifier 1994565 1994575 - Block 1994576 1995236 - VariableStatement 1994578 1994639 - VariableDeclarationList 1994578 1994638 - VariableDeclaration 1994601 1994638 - Identifier 1994601 1994609 - PropertyAccessExpression 1994611 1994638 - Identifier 1994611 1994630 - Identifier 1994631 1994638 - VariableStatement 1994639 1994831 - VariableDeclarationList 1994639 1994830 - VariableDeclaration 1994662 1994830 - Identifier 1994662 1994670 - ConditionalExpression 1994672 1994830 - CallExpression 1994672 1994703 - Identifier 1994672 1994694 - Identifier 1994695 1994702 - QuestionToken 1994703 1994726 - CallExpression 1994726 1994782 - Identifier 1994726 1994747 - CallExpression 1994748 1994781 - Identifier 1994748 1994772 - Identifier 1994773 1994780 - ColonToken 1994782 1994805 - CallExpression 1994805 1994830 - Identifier 1994805 1994821 - Identifier 1994822 1994829 - ExpressionStatement 1994831 1995221 - CallExpression 1994831 1995220 - Identifier 1994831 1994867 - Identifier 1994868 1994875 - Identifier 1994876 1994898 - Identifier 1994899 1994918 - Identifier 1994919 1994927 - PropertyAccessExpression 1994928 1994983 - Identifier 1994928 1994940 - Identifier 1994941 1994983 - ArrowFunction 1994984 1995219 - EqualsGreaterThanToken 1994987 1994990 - Block 1994990 1995219 - VariableStatement 1994992 1995059 - VariableDeclarationList 1994992 1995058 - VariableDeclaration 1995019 1995058 - Identifier 1995019 1995033 - CallExpression 1995035 1995058 - Identifier 1995035 1995049 - Identifier 1995050 1995057 - ReturnStatement 1995059 1995200 - CallExpression 1995087 1995199 - Identifier 1995087 1995111 - Identifier 1995112 1995133 - PropertyAccessExpression 1995134 1995183 - Identifier 1995134 1995146 - Identifier 1995147 1995183 - Identifier 1995184 1995198 - Block 1995254 1995424 - ExpressionStatement 1995256 1995409 - CallExpression 1995256 1995408 - Identifier 1995256 1995316 - CallExpression 1995317 1995356 - Identifier 1995317 1995336 - Identifier 1995337 1995355 - CallExpression 1995357 1995387 - Identifier 1995357 1995382 - Identifier 1995383 1995386 - Identifier 1995388 1995407 - FunctionDeclaration 1995442 1997727 - Identifier 1996249 1996265 - Parameter 1996266 1996282 - Identifier 1996266 1996276 - TypeReference 1996277 1996282 - Identifier 1996277 1996282 - Parameter 1996283 1996298 - Identifier 1996283 1996288 - TypeReference 1996289 1996298 - Identifier 1996289 1996298 - Parameter 1996299 1996333 - Identifier 1996299 1996324 - BooleanKeyword 1996325 1996333 - BooleanKeyword 1996335 1996343 - Block 1996343 1997727 - IfStatement 1996345 1997176 - BinaryExpression 1996359 1996394 - PropertyAccessExpression 1996359 1996375 - Identifier 1996359 1996369 - Identifier 1996370 1996375 - AmpersandToken 1996375 1996377 - PropertyAccessExpression 1996377 1996394 - Identifier 1996377 1996387 - Identifier 1996388 1996394 - Block 1996395 1997176 - IfStatement 1996397 1997165 - BinaryExpression 1996694 1996983 - BinaryExpression 1996694 1996909 - BinaryExpression 1996694 1996821 - CallExpression 1996694 1996753 - Identifier 1996694 1996735 - Identifier 1996736 1996746 - Identifier 1996747 1996752 - BarBarToken 1996753 1996756 - CallExpression 1996756 1996821 - Identifier 1996756 1996803 - Identifier 1996804 1996814 - Identifier 1996815 1996820 - BarBarToken 1996821 1996824 - BinaryExpression 1996824 1996909 - CallExpression 1996824 1996863 - Identifier 1996824 1996857 - Identifier 1996858 1996862 - AmpersandAmpersandToken 1996863 1996866 - CallExpression 1996866 1996909 - Identifier 1996866 1996885 - Identifier 1996886 1996896 - Identifier 1996897 1996908 - BarBarToken 1996909 1996912 - BinaryExpression 1996912 1996983 - Identifier 1996912 1996954 - AmpersandAmpersandToken 1996954 1996957 - CallExpression 1996957 1996983 - Identifier 1996957 1996977 - Identifier 1996978 1996982 - Block 1996998 1997165 - ReturnStatement 1997000 1997150 - TrueKeyword 1997144 1997149 - IfStatement 1997176 1997357 - BinaryExpression 1997190 1997231 - PropertyAccessExpression 1997190 1997206 - Identifier 1997190 1997200 - Identifier 1997201 1997206 - AmpersandToken 1997206 1997208 - PropertyAccessExpression 1997208 1997231 - Identifier 1997208 1997218 - Identifier 1997219 1997231 - Block 1997232 1997357 - ReturnStatement 1997234 1997346 - CallExpression 1997254 1997345 - Identifier 1997254 1997270 - PropertyAccessExpression 1997271 1997312 - ParenthesizedExpression 1997271 1997303 - AsExpression 1997272 1997302 - Identifier 1997272 1997282 - TypeReference 1997285 1997302 - Identifier 1997285 1997302 - Identifier 1997304 1997312 - Identifier 1997313 1997318 - Identifier 1997319 1997344 - IfStatement 1997357 1997697 - BinaryExpression 1997371 1997462 - BinaryExpression 1997371 1997419 - PropertyAccessExpression 1997371 1997387 - Identifier 1997371 1997381 - Identifier 1997382 1997387 - AmpersandToken 1997387 1997389 - PropertyAccessExpression 1997389 1997419 - Identifier 1997389 1997399 - Identifier 1997400 1997419 - AmpersandAmpersandToken 1997419 1997422 - CallExpression 1997422 1997462 - Identifier 1997422 1997450 - Identifier 1997451 1997461 - Block 1997463 1997697 - ForOfStatement 1997465 1997686 - VariableDeclarationList 1997484 1997491 - VariableDeclaration 1997489 1997491 - Identifier 1997489 1997491 - PropertyAccessExpression 1997494 1997540 - ParenthesizedExpression 1997494 1997534 - AsExpression 1997496 1997533 - Identifier 1997496 1997506 - TypeReference 1997509 1997533 - Identifier 1997509 1997533 - Identifier 1997535 1997540 - Block 1997541 1997686 - IfStatement 1997543 1997671 - CallExpression 1997565 1997615 - Identifier 1997565 1997580 - Identifier 1997581 1997582 - Identifier 1997583 1997588 - Identifier 1997589 1997614 - Block 1997616 1997671 - ReturnStatement 1997618 1997652 - TrueKeyword 1997646 1997651 - ReturnStatement 1997697 1997720 - FalseKeyword 1997713 1997719 - FunctionDeclaration 1997727 1998341 - Identifier 1997743 1997771 - Parameter 1997772 1997782 - Identifier 1997772 1997776 - TypeReference 1997777 1997782 - Identifier 1997777 1997782 - BooleanKeyword 1997784 1997792 - Block 1997792 1998341 - ReturnStatement 1997794 1998334 - PrefixUnaryExpression 1997810 1998333 - PrefixUnaryExpression 1997812 1998333 - ParenthesizedExpression 1997813 1998333 - BinaryExpression 1997814 1998332 - BinaryExpression 1997814 1998208 - BinaryExpression 1997814 1998099 - BinaryExpression 1997814 1997979 - BinaryExpression 1997814 1997927 - BinaryExpression 1997814 1997843 - PropertyAccessExpression 1997814 1997824 - Identifier 1997814 1997818 - Identifier 1997819 1997824 - AmpersandToken 1997824 1997826 - PropertyAccessExpression 1997826 1997843 - Identifier 1997826 1997836 - Identifier 1997837 1997843 - AmpersandAmpersandToken 1997843 1997846 - PrefixUnaryExpression 1997846 1997927 - ParenthesizedExpression 1997848 1997927 - BinaryExpression 1997849 1997926 - CallExpression 1997849 1997869 - Identifier 1997849 1997863 - Identifier 1997864 1997868 - AmpersandToken 1997869 1997871 - PropertyAccessExpression 1997871 1997926 - Identifier 1997871 1997883 - Identifier 1997884 1997926 - BarBarToken 1997927 1997930 - BinaryExpression 1997930 1997979 - PropertyAccessExpression 1997930 1997954 - Identifier 1997930 1997948 - Identifier 1997949 1997954 - AmpersandToken 1997954 1997956 - PropertyAccessExpression 1997956 1997979 - Identifier 1997956 1997966 - Identifier 1997967 1997979 - BarBarToken 1997979 1997982 - BinaryExpression 1997982 1998099 - BinaryExpression 1997982 1998031 - PropertyAccessExpression 1997982 1998006 - Identifier 1997982 1998000 - Identifier 1998001 1998006 - AmpersandToken 1998006 1998008 - PropertyAccessExpression 1998008 1998031 - Identifier 1998008 1998018 - Identifier 1998019 1998031 - AmpersandAmpersandToken 1998031 1998034 - CallExpression 1998034 1998099 - Identifier 1998034 1998062 - PropertyAccessExpression 1998063 1998098 - ParenthesizedExpression 1998063 1998089 - AsExpression 1998064 1998088 - Identifier 1998064 1998068 - TypeReference 1998071 1998088 - Identifier 1998071 1998088 - Identifier 1998090 1998098 - BarBarToken 1998099 1998102 - BinaryExpression 1998102 1998208 - BinaryExpression 1998102 1998144 - PropertyAccessExpression 1998102 1998126 - Identifier 1998102 1998120 - Identifier 1998121 1998126 - AmpersandToken 1998126 1998128 - PropertyAccessExpression 1998128 1998144 - Identifier 1998128 1998138 - Identifier 1998139 1998144 - AmpersandAmpersandToken 1998144 1998147 - CallExpression 1998147 1998208 - Identifier 1998147 1998152 - PropertyAccessExpression 1998153 1998178 - ParenthesizedExpression 1998153 1998172 - AsExpression 1998154 1998171 - Identifier 1998154 1998158 - TypeReference 1998161 1998171 - Identifier 1998161 1998171 - Identifier 1998173 1998178 - Identifier 1998179 1998207 - BarBarToken 1998208 1998211 - BinaryExpression 1998211 1998332 - BinaryExpression 1998211 1998260 - PropertyAccessExpression 1998211 1998235 - Identifier 1998211 1998229 - Identifier 1998230 1998235 - AmpersandToken 1998235 1998237 - PropertyAccessExpression 1998237 1998260 - Identifier 1998237 1998247 - Identifier 1998248 1998260 - AmpersandAmpersandToken 1998260 1998263 - CallExpression 1998263 1998332 - Identifier 1998263 1998269 - PropertyAccessExpression 1998270 1998302 - ParenthesizedExpression 1998270 1998296 - AsExpression 1998271 1998295 - Identifier 1998271 1998275 - TypeReference 1998278 1998295 - Identifier 1998278 1998295 - Identifier 1998297 1998302 - Identifier 1998303 1998331 - FunctionDeclaration 1998341 1998848 - Identifier 1998357 1998376 - Parameter 1998377 1998396 - Identifier 1998377 1998381 - TypeReference 1998382 1998396 - Identifier 1998382 1998396 - Parameter 1998397 1998419 - Identifier 1998397 1998407 - QuestionToken 1998407 1998408 - TypeReference 1998409 1998419 - Identifier 1998409 1998419 - Block 1998420 1998848 - ExpressionStatement 1998422 1998464 - CallExpression 1998422 1998463 - Identifier 1998422 1998457 - Identifier 1998458 1998462 - IfStatement 1998464 1998841 - PropertyAccessExpression 1998478 1998493 - Identifier 1998478 1998482 - Identifier 1998483 1998493 - Block 1998494 1998783 - VariableStatement 1998496 1998567 - VariableDeclarationList 1998496 1998566 - VariableDeclaration 1998515 1998566 - Identifier 1998515 1998520 - CallExpression 1998522 1998566 - Identifier 1998522 1998538 - PropertyAccessExpression 1998539 1998554 - Identifier 1998539 1998543 - Identifier 1998544 1998554 - Identifier 1998555 1998565 - IfStatement 1998567 1998746 - BinaryExpression 1998585 1998646 - BinaryExpression 1998585 1998624 - PropertyAccessExpression 1998585 1998604 - Identifier 1998585 1998589 - Identifier 1998590 1998604 - AmpersandAmpersandToken 1998604 1998607 - BinaryExpression 1998607 1998624 - Identifier 1998607 1998612 - ExclamationEqualsEqualsToken 1998612 1998616 - Identifier 1998616 1998624 - AmpersandAmpersandToken 1998624 1998627 - PrefixUnaryExpression 1998627 1998646 - CallExpression 1998629 1998646 - Identifier 1998629 1998640 - Identifier 1998641 1998645 - Block 1998647 1998746 - ExpressionStatement 1998649 1998731 - CallExpression 1998649 1998730 - Identifier 1998649 1998672 - Identifier 1998673 1998677 - PropertyAccessExpression 1998678 1998729 - Identifier 1998678 1998690 - Identifier 1998691 1998729 - ReturnStatement 1998746 1998772 - Identifier 1998766 1998771 - Block 1998797 1998841 - ReturnStatement 1998799 1998830 - Identifier 1998819 1998829 - FunctionDeclaration 1998848 1999018 - Identifier 1998864 1998898 - Parameter 1998899 1998908 - Identifier 1998899 1998900 - TypeReference 1998901 1998908 - Identifier 1998901 1998908 - TypeReference 1998910 1998920 - Identifier 1998910 1998920 - Block 1998920 1999018 - ReturnStatement 1998922 1999011 - ConditionalExpression 1998938 1999010 - PropertyAccessExpression 1998938 1998957 - Identifier 1998938 1998940 - Identifier 1998941 1998957 - QuestionToken 1998957 1998959 - CallExpression 1998959 1999006 - Identifier 1998959 1998986 - PropertyAccessExpression 1998987 1999005 - Identifier 1998987 1998988 - Identifier 1998989 1999005 - ColonToken 1999006 1999008 - NumericLiteral 1999008 1999010 - FunctionDeclaration 1999018 1999693 - Identifier 1999220 1999240 - Parameter 1999241 1999255 - Identifier 1999241 1999247 - TypeReference 1999248 1999255 - Identifier 1999248 1999255 - Block 1999256 1999693 - IfStatement 1999258 1999399 - BinaryExpression 1999272 1999359 - BinaryExpression 1999272 1999305 - PropertyAccessExpression 1999272 1999284 - Identifier 1999272 1999278 - Identifier 1999279 1999284 - AmpersandToken 1999284 1999286 - PropertyAccessExpression 1999286 1999305 - Identifier 1999286 1999298 - Identifier 1999299 1999305 - BarBarToken 1999305 1999308 - BinaryExpression 1999308 1999359 - CallExpression 1999308 1999330 - Identifier 1999308 1999322 - Identifier 1999323 1999329 - AmpersandToken 1999330 1999332 - PropertyAccessExpression 1999332 1999359 - Identifier 1999332 1999343 - Identifier 1999344 1999359 - Block 1999360 1999399 - ReturnStatement 1999362 1999388 - TrueKeyword 1999382 1999387 - IfStatement 1999399 1999686 - CallExpression 1999413 1999448 - Identifier 1999413 1999423 - PropertyAccessExpression 1999424 1999447 - Identifier 1999424 1999430 - Identifier 1999431 1999447 - Block 1999449 1999686 - VariableStatement 1999451 1999512 - VariableDeclarationList 1999451 1999511 - VariableDeclaration 1999470 1999511 - Identifier 1999470 1999477 - PropertyAccessExpression 1999479 1999511 - NonNullExpression 1999479 1999504 - PropertyAccessExpression 1999479 1999503 - Identifier 1999479 1999486 - Identifier 1999487 1999503 - Identifier 1999505 1999511 - ReturnStatement 1999512 1999675 - BinaryExpression 1999532 1999674 - BinaryExpression 1999532 1999569 - Identifier 1999532 1999539 - AmpersandAmpersandToken 1999539 1999542 - CallExpression 1999542 1999569 - Identifier 1999542 1999561 - Identifier 1999562 1999568 - AmpersandAmpersandToken 1999569 1999572 - BinaryExpression 1999572 1999674 - CallExpression 1999572 1999626 - Identifier 1999572 1999618 - Identifier 1999619 1999625 - EqualsEqualsEqualsToken 1999626 1999630 - PropertyAccessExpression 1999630 1999674 - Identifier 1999630 1999656 - Identifier 1999657 1999674 - FunctionDeclaration 1999693 2000927 - Identifier 2000144 2000171 - Parameter 2000172 2000385 - Identifier 2000172 2000186 - UnionType 2000187 2000385 - TypeReference 2000187 2000212 - Identifier 2000187 2000212 - TypeReference 2000214 2000228 - Identifier 2000214 2000228 - TypeReference 2000230 2000255 - Identifier 2000230 2000255 - TypeReference 2000257 2000277 - Identifier 2000257 2000277 - TypeReference 2000279 2000300 - Identifier 2000279 2000300 - TypeReference 2000302 2000317 - Identifier 2000302 2000317 - TypeReference 2000319 2000338 - Identifier 2000319 2000338 - TypeReference 2000340 2000368 - Identifier 2000340 2000368 - TypeReference 2000370 2000385 - Identifier 2000370 2000385 - Parameter 2000386 2000412 - Identifier 2000386 2000403 - BooleanKeyword 2000404 2000412 - Parameter 2000413 2000439 - Identifier 2000413 2000430 - BooleanKeyword 2000431 2000439 - Parameter 2000440 2000460 - Identifier 2000440 2000454 - TypeReference 2000455 2000460 - Identifier 2000455 2000460 - Parameter 2000461 2000483 - Identifier 2000461 2000475 - TypeReference 2000476 2000483 - Identifier 2000476 2000483 - Parameter 2000484 2000512 - Identifier 2000484 2000505 - TrueKeyword 2000507 2000512 - BooleanKeyword 2000521 2000529 - Block 2000529 2000927 - VariableStatement 2000531 2000817 - VariableDeclarationList 2000531 2000816 - VariableDeclaration 2000546 2000816 - Identifier 2000546 2000556 - ConditionalExpression 2000558 2000816 - PrefixUnaryExpression 2000558 2000571 - Identifier 2000560 2000571 - QuestionToken 2000571 2000573 - Identifier 2000573 2000583 - ColonToken 2000583 2000585 - ConditionalExpression 2000585 2000816 - BinaryExpression 2000585 2000637 - PropertyAccessExpression 2000585 2000608 - Identifier 2000585 2000603 - Identifier 2000604 2000608 - EqualsEqualsEqualsToken 2000608 2000612 - PropertyAccessExpression 2000612 2000637 - Identifier 2000612 2000623 - Identifier 2000624 2000637 - QuestionToken 2000637 2000639 - PropertyAccessExpression 2000639 2000650 - Identifier 2000639 2000644 - Identifier 2000645 2000650 - ColonToken 2000650 2000652 - ConditionalExpression 2000652 2000816 - BinaryExpression 2000652 2000701 - PropertyAccessExpression 2000652 2000675 - Identifier 2000652 2000670 - Identifier 2000671 2000675 - EqualsEqualsEqualsToken 2000675 2000679 - PropertyAccessExpression 2000679 2000701 - Identifier 2000679 2000690 - Identifier 2000691 2000701 - QuestionToken 2000701 2000703 - Identifier 2000703 2000708 - ColonToken 2000708 2000710 - ConditionalExpression 2000710 2000816 - BinaryExpression 2000710 2000784 - BinaryExpression 2000710 2000763 - PropertyAccessExpression 2000710 2000733 - Identifier 2000710 2000728 - Identifier 2000729 2000733 - EqualsEqualsEqualsToken 2000733 2000737 - PropertyAccessExpression 2000737 2000763 - Identifier 2000737 2000748 - Identifier 2000749 2000763 - AmpersandAmpersandToken 2000763 2000766 - PropertyAccessExpression 2000766 2000784 - Identifier 2000766 2000771 - Identifier 2000772 2000784 - QuestionToken 2000784 2000786 - PropertyAccessExpression 2000786 2000804 - Identifier 2000786 2000791 - Identifier 2000792 2000804 - ColonToken 2000804 2000806 - PropertyAccessExpression 2000806 2000816 - Identifier 2000806 2000811 - Identifier 2000812 2000816 - ReturnStatement 2000817 2000920 - CallExpression 2000835 2000919 - Identifier 2000835 2000872 - Identifier 2000873 2000877 - Identifier 2000878 2000886 - Identifier 2000887 2000895 - Identifier 2000896 2000901 - Identifier 2000902 2000907 - Identifier 2000908 2000918 - FunctionDeclaration 2000927 2008558 - Identifier 2001705 2001742 - Parameter 2001743 2001757 - Identifier 2001743 2001751 - TypeReference 2001752 2001757 - Identifier 2001752 2001757 - Parameter 2001758 2001775 - Identifier 2001758 2001766 - BooleanKeyword 2001767 2001775 - Parameter 2001776 2001793 - Identifier 2001776 2001784 - BooleanKeyword 2001785 2001793 - Parameter 2001794 2001815 - Identifier 2001794 2001809 - TypeReference 2001810 2001815 - Identifier 2001810 2001815 - Parameter 2001816 2001829 - Identifier 2001816 2001821 - TypeReference 2001822 2001829 - Identifier 2001822 2001829 - Parameter 2001830 2001847 - Identifier 2001830 2001840 - QuestionToken 2001840 2001841 - TypeReference 2001842 2001847 - Identifier 2001842 2001847 - BooleanKeyword 2001849 2001857 - Block 2001857 2008558 - VariableStatement 2001859 2001936 - VariableDeclarationList 2001859 2001935 - VariableDeclaration 2001874 2001935 - Identifier 2001874 2001880 - CallExpression 2001882 2001935 - Identifier 2001882 2001920 - Identifier 2001921 2001925 - Identifier 2001926 2001934 - IfStatement 2001936 2004220 - Identifier 2001952 2001959 - Block 2001960 2004220 - IfStatement 2001962 2003009 - BinaryExpression 2002634 2002671 - Identifier 2002634 2002649 - LessThanToken 2002649 2002651 - PropertyAccessExpression 2002651 2002671 - Identifier 2002651 2002664 - Identifier 2002665 2002671 - Block 2002672 2003009 - IfStatement 2002674 2002994 - CallExpression 2002696 2002731 - Identifier 2002696 2002725 - Identifier 2002726 2002730 - Block 2002732 2002994 - IfStatement 2002734 2002940 - Identifier 2002760 2002769 - Block 2002770 2002940 - ExpressionStatement 2002772 2002917 - CallExpression 2002772 2002916 - Identifier 2002772 2002803 - Identifier 2002804 2002813 - PropertyAccessExpression 2002814 2002915 - Identifier 2002814 2002826 - Identifier 2002827 2002915 - ReturnStatement 2002940 2002975 - FalseKeyword 2002968 2002974 - IfStatement 2003009 2003672 - BinaryExpression 2003027 2003057 - Identifier 2003027 2003032 - AmpersandToken 2003032 2003034 - PropertyAccessExpression 2003034 2003057 - Identifier 2003034 2003048 - Identifier 2003049 2003057 - Block 2003058 2003672 - IfStatement 2003060 2003626 - Identifier 2003412 2003421 - Block 2003422 2003626 - ExpressionStatement 2003424 2003607 - CallExpression 2003424 2003606 - Identifier 2003424 2003451 - Identifier 2003452 2003461 - PropertyAccessExpression 2003462 2003543 - Identifier 2003462 2003474 - Identifier 2003475 2003543 - CallExpression 2003544 2003565 - Identifier 2003544 2003559 - Identifier 2003560 2003564 - CallExpression 2003566 2003605 - Identifier 2003566 2003579 - NonNullExpression 2003580 2003604 - CallExpression 2003580 2003603 - Identifier 2003580 2003597 - Identifier 2003598 2003602 - ReturnStatement 2003626 2003657 - FalseKeyword 2003650 2003656 - IfStatement 2003672 2004209 - BinaryExpression 2003861 2003944 - PrefixUnaryExpression 2003861 2003892 - ParenthesizedExpression 2003862 2003892 - BinaryExpression 2003863 2003891 - Identifier 2003863 2003868 - AmpersandToken 2003868 2003870 - PropertyAccessExpression 2003870 2003891 - Identifier 2003870 2003884 - Identifier 2003885 2003891 - AmpersandAmpersandToken 2003892 2003895 - CallExpression 2003895 2003944 - PropertyAccessExpression 2003895 2003919 - PropertyAccessExpression 2003895 2003913 - Identifier 2003895 2003900 - Identifier 2003901 2003913 - QuestionDotToken 2003913 2003915 - Identifier 2003915 2003919 - Identifier 2003920 2003943 - Block 2003945 2004209 - IfStatement 2003947 2004163 - Identifier 2003969 2003978 - Block 2003979 2004163 - ExpressionStatement 2003981 2004144 - CallExpression 2003981 2004143 - Identifier 2003981 2004008 - Identifier 2004009 2004018 - PropertyAccessExpression 2004019 2004120 - Identifier 2004019 2004031 - Identifier 2004032 2004120 - CallExpression 2004121 2004142 - Identifier 2004121 2004136 - Identifier 2004137 2004141 - ReturnStatement 2004163 2004194 - FalseKeyword 2004187 2004193 - IfStatement 2004220 2005136 - BinaryExpression 2004325 2004606 - BinaryExpression 2004325 2004410 - ParenthesizedExpression 2004325 2004371 - BinaryExpression 2004340 2004370 - Identifier 2004340 2004345 - AmpersandToken 2004345 2004347 - PropertyAccessExpression 2004347 2004370 - Identifier 2004347 2004361 - Identifier 2004362 2004370 - AmpersandAmpersandToken 2004371 2004374 - CallExpression 2004374 2004410 - Identifier 2004374 2004404 - Identifier 2004405 2004409 - AmpersandAmpersandToken 2004410 2004413 - ParenthesizedExpression 2004413 2004606 - BinaryExpression 2004428 2004605 - BinaryExpression 2004428 2004506 - CallExpression 2004428 2004452 - Identifier 2004428 2004442 - Identifier 2004443 2004451 - BarBarToken 2004452 2004455 - CallExpression 2004455 2004506 - Identifier 2004455 2004496 - Identifier 2004497 2004505 - BarBarToken 2004506 2004509 - BinaryExpression 2004509 2004605 - CallExpression 2004509 2004549 - Identifier 2004509 2004532 - PropertyAccessExpression 2004533 2004548 - Identifier 2004533 2004541 - Identifier 2004542 2004548 - AmpersandAmpersandToken 2004549 2004552 - CallExpression 2004552 2004605 - Identifier 2004552 2004581 - PropertyAccessExpression 2004582 2004604 - PropertyAccessExpression 2004582 2004597 - Identifier 2004582 2004590 - Identifier 2004591 2004597 - Identifier 2004598 2004604 - Block 2004617 2005136 - VariableStatement 2004619 2004725 - VariableDeclarationList 2004619 2004724 - VariableDeclaration 2004638 2004724 - Identifier 2004638 2004664 - CallExpression 2004666 2004724 - Identifier 2004666 2004698 - NonNullExpression 2004699 2004723 - CallExpression 2004699 2004722 - Identifier 2004699 2004716 - Identifier 2004717 2004721 - IfStatement 2004725 2005125 - BinaryExpression 2004743 2004817 - Identifier 2004743 2004768 - AmpersandAmpersandToken 2004768 2004771 - CallExpression 2004771 2004817 - Identifier 2004771 2004807 - Identifier 2004808 2004816 - Block 2004818 2005125 - IfStatement 2004820 2005079 - Identifier 2004842 2004851 - Block 2004852 2005079 - ExpressionStatement 2004854 2005060 - CallExpression 2004854 2005059 - Identifier 2004854 2004881 - Identifier 2004882 2004891 - PropertyAccessExpression 2004892 2004973 - Identifier 2004892 2004904 - Identifier 2004905 2004973 - CallExpression 2004974 2004995 - Identifier 2004974 2004989 - Identifier 2004990 2004994 - CallExpression 2004996 2005058 - Identifier 2004996 2005025 - NonNullExpression 2005026 2005057 - PropertyAccessExpression 2005026 2005056 - Identifier 2005026 2005051 - Identifier 2005052 2005056 - ReturnStatement 2005079 2005110 - FalseKeyword 2005103 2005109 - IfStatement 2005136 2005303 - PrefixUnaryExpression 2005208 2005263 - ParenthesizedExpression 2005209 2005263 - BinaryExpression 2005210 2005262 - Identifier 2005210 2005215 - AmpersandToken 2005215 2005217 - PropertyAccessExpression 2005217 2005262 - Identifier 2005217 2005231 - Identifier 2005232 2005262 - Block 2005264 2005303 - ReturnStatement 2005266 2005292 - TrueKeyword 2005286 2005291 - IfStatement 2005303 2006003 - BinaryExpression 2005481 2005510 - Identifier 2005481 2005486 - AmpersandToken 2005486 2005488 - PropertyAccessExpression 2005488 2005510 - Identifier 2005488 2005502 - Identifier 2005503 2005510 - Block 2005511 2006003 - VariableStatement 2005513 2005620 - VariableDeclarationList 2005513 2005619 - VariableDeclaration 2005532 2005619 - Identifier 2005532 2005558 - NonNullExpression 2005560 2005619 - CallExpression 2005560 2005618 - Identifier 2005560 2005592 - NonNullExpression 2005593 2005617 - CallExpression 2005593 2005616 - Identifier 2005593 2005610 - Identifier 2005611 2005615 - IfStatement 2005620 2005966 - PrefixUnaryExpression 2005638 2005693 - CallExpression 2005639 2005693 - Identifier 2005639 2005656 - Identifier 2005657 2005665 - Identifier 2005666 2005692 - Block 2005694 2005966 - IfStatement 2005696 2005920 - Identifier 2005718 2005727 - Block 2005728 2005920 - ExpressionStatement 2005730 2005901 - CallExpression 2005730 2005900 - Identifier 2005730 2005757 - Identifier 2005758 2005767 - PropertyAccessExpression 2005768 2005837 - Identifier 2005768 2005780 - Identifier 2005781 2005837 - CallExpression 2005838 2005859 - Identifier 2005838 2005853 - Identifier 2005854 2005858 - CallExpression 2005860 2005899 - Identifier 2005860 2005873 - NonNullExpression 2005874 2005898 - CallExpression 2005874 2005897 - Identifier 2005874 2005891 - Identifier 2005892 2005896 - ReturnStatement 2005920 2005951 - FalseKeyword 2005944 2005950 - ReturnStatement 2005966 2005992 - TrueKeyword 2005986 2005991 - IfStatement 2006003 2006213 - Identifier 2006166 2006173 - Block 2006174 2006213 - ReturnStatement 2006176 2006202 - TrueKeyword 2006196 2006201 - VariableStatement 2006213 2006675 - VariableDeclarationList 2006213 2006674 - VariableDeclaration 2006376 2006674 - Identifier 2006376 2006391 - CallExpression 2006393 2006674 - Identifier 2006393 2006415 - Identifier 2006416 2006424 - ArrowFunction 2006425 2006673 - Parameter 2006425 2006446 - Identifier 2006425 2006446 - EqualsGreaterThanToken 2006446 2006449 - Block 2006449 2006673 - VariableStatement 2006451 2006575 - VariableDeclarationList 2006451 2006574 - VariableDeclaration 2006470 2006574 - Identifier 2006470 2006485 - AsExpression 2006487 2006574 - CallExpression 2006487 2006557 - Identifier 2006487 2006511 - CallExpression 2006512 2006556 - Identifier 2006512 2006534 - Identifier 2006535 2006555 - TypeReference 2006560 2006574 - Identifier 2006560 2006574 - ReturnStatement 2006575 2006662 - CallExpression 2006595 2006661 - Identifier 2006595 2006630 - Identifier 2006631 2006645 - Identifier 2006646 2006651 - Identifier 2006652 2006660 - IfStatement 2006675 2007546 - PrefixUnaryExpression 2006809 2006824 - Identifier 2006810 2006824 - Block 2006825 2007546 - ExpressionStatement 2006827 2007044 - BinaryExpression 2006827 2007043 - Identifier 2006827 2006996 - EqualsToken 2006996 2006998 - CallExpression 2006998 2007043 - Identifier 2006998 2007033 - Identifier 2007034 2007042 - ExpressionStatement 2007044 2007159 - BinaryExpression 2007044 2007158 - Identifier 2007044 2007072 - EqualsToken 2007072 2007074 - BinaryExpression 2007074 2007158 - Identifier 2007074 2007089 - AmpersandAmpersandToken 2007089 2007092 - CallExpression 2007092 2007158 - Identifier 2007092 2007127 - Identifier 2007128 2007142 - Identifier 2007143 2007148 - Identifier 2007149 2007157 - IfStatement 2007159 2007535 - BinaryExpression 2007177 2007224 - BinaryExpression 2007177 2007205 - Identifier 2007177 2007182 - AmpersandToken 2007182 2007184 - PropertyAccessExpression 2007184 2007205 - Identifier 2007184 2007198 - Identifier 2007199 2007205 - BarBarToken 2007205 2007208 - PrefixUnaryExpression 2007208 2007224 - Identifier 2007210 2007224 - Block 2007225 2007535 - IfStatement 2007227 2007489 - Identifier 2007249 2007258 - Block 2007259 2007489 - ExpressionStatement 2007261 2007470 - CallExpression 2007261 2007469 - Identifier 2007261 2007288 - Identifier 2007289 2007298 - PropertyAccessExpression 2007299 2007389 - Identifier 2007299 2007311 - Identifier 2007312 2007389 - CallExpression 2007390 2007411 - Identifier 2007390 2007405 - Identifier 2007406 2007410 - CallExpression 2007412 2007468 - Identifier 2007412 2007425 - BinaryExpression 2007426 2007467 - CallExpression 2007426 2007449 - Identifier 2007426 2007443 - Identifier 2007444 2007448 - BarBarToken 2007449 2007452 - Identifier 2007452 2007467 - ReturnStatement 2007489 2007520 - FalseKeyword 2007513 2007519 - IfStatement 2007546 2007686 - BinaryExpression 2007618 2007646 - Identifier 2007618 2007623 - AmpersandToken 2007623 2007625 - PropertyAccessExpression 2007625 2007646 - Identifier 2007625 2007639 - Identifier 2007640 2007646 - Block 2007647 2007686 - ReturnStatement 2007649 2007675 - TrueKeyword 2007669 2007674 - IfStatement 2007686 2008130 - BinaryExpression 2007700 2007746 - PropertyAccessExpression 2007700 2007720 - Identifier 2007700 2007714 - Identifier 2007715 2007720 - AmpersandToken 2007720 2007722 - PropertyAccessExpression 2007722 2007746 - Identifier 2007722 2007732 - Identifier 2007733 2007746 - Block 2007747 2008130 - ExpressionStatement 2007749 2008045 - BinaryExpression 2007749 2008044 - Identifier 2007749 2007872 - EqualsToken 2007872 2007874 - ConditionalExpression 2007874 2008044 - PropertyAccessExpression 2007874 2007919 - ParenthesizedExpression 2007874 2007908 - AsExpression 2007876 2007907 - Identifier 2007876 2007890 - TypeReference 2007893 2007907 - Identifier 2007893 2007907 - Identifier 2007909 2007919 - QuestionToken 2007919 2007921 - NonNullExpression 2007921 2007984 - CallExpression 2007921 2007983 - Identifier 2007921 2007950 - AsExpression 2007951 2007982 - Identifier 2007951 2007965 - TypeReference 2007968 2007982 - Identifier 2007968 2007982 - ColonToken 2007984 2007986 - NonNullExpression 2007986 2008044 - CallExpression 2007986 2008043 - Identifier 2007986 2008010 - AsExpression 2008011 2008042 - Identifier 2008011 2008025 - TypeReference 2008028 2008042 - Identifier 2008028 2008042 - IfStatement 2008130 2008529 - BinaryExpression 2008144 2008207 - PrefixUnaryExpression 2008144 2008159 - Identifier 2008145 2008159 - BarBarToken 2008159 2008162 - PrefixUnaryExpression 2008162 2008207 - CallExpression 2008164 2008207 - Identifier 2008164 2008175 - Identifier 2008176 2008190 - Identifier 2008191 2008206 - Block 2008208 2008529 - IfStatement 2008210 2008491 - Identifier 2008228 2008237 - Block 2008238 2008491 - ExpressionStatement 2008240 2008476 - CallExpression 2008240 2008475 - Identifier 2008240 2008263 - Identifier 2008264 2008273 - PropertyAccessExpression 2008274 2008392 - Identifier 2008274 2008286 - Identifier 2008287 2008392 - CallExpression 2008393 2008414 - Identifier 2008393 2008408 - Identifier 2008409 2008413 - CallExpression 2008415 2008444 - Identifier 2008415 2008428 - Identifier 2008429 2008443 - CallExpression 2008445 2008474 - Identifier 2008445 2008458 - Identifier 2008459 2008473 - ReturnStatement 2008491 2008518 - FalseKeyword 2008511 2008517 - ReturnStatement 2008529 2008551 - TrueKeyword 2008545 2008550 - FunctionDeclaration 2008558 2009834 - Identifier 2008574 2008609 - Parameter 2008610 2008620 - Identifier 2008610 2008614 - TypeReference 2008615 2008620 - Identifier 2008615 2008620 - UnionType 2008622 2008648 - TypeReference 2008622 2008636 - Identifier 2008622 2008636 - UndefinedKeyword 2008638 2008648 - Block 2008648 2009834 - VariableStatement 2008650 2008876 - VariableDeclarationList 2008650 2008875 - VariableDeclaration 2008821 2008875 - Identifier 2008821 2008835 - CallExpression 2008837 2008875 - Identifier 2008837 2008869 - Identifier 2008870 2008874 - VariableStatement 2008876 2008964 - VariableDeclarationList 2008876 2008963 - VariableDeclaration 2008889 2008963 - Identifier 2008889 2008898 - BinaryExpression 2008900 2008963 - PropertyAccessExpression 2008900 2008920 - Identifier 2008900 2008914 - QuestionDotToken 2008914 2008916 - Identifier 2008916 2008920 - AmpersandAmpersandToken 2008920 2008923 - CallExpression 2008923 2008963 - Identifier 2008923 2008943 - PropertyAccessExpression 2008944 2008962 - Identifier 2008944 2008957 - Identifier 2008958 2008962 - IfStatement 2008964 2009617 - Identifier 2008978 2008986 - Block 2008987 2009253 - IfStatement 2008989 2009242 - BinaryExpression 2009099 2009139 - PropertyAccessExpression 2009099 2009113 - Identifier 2009099 2009107 - Identifier 2009108 2009113 - AmpersandToken 2009113 2009115 - PropertyAccessExpression 2009115 2009139 - Identifier 2009115 2009125 - Identifier 2009126 2009139 - Block 2009140 2009242 - ExpressionStatement 2009142 2009227 - BinaryExpression 2009142 2009226 - Identifier 2009142 2009168 - EqualsToken 2009168 2009170 - CallExpression 2009170 2009226 - Identifier 2009170 2009199 - AsExpression 2009200 2009225 - Identifier 2009200 2009208 - TypeReference 2009211 2009225 - Identifier 2009211 2009225 - Block 2009267 2009617 - VariableStatement 2009269 2009466 - VariableDeclarationList 2009269 2009465 - VariableDeclaration 2009349 2009465 - Identifier 2009349 2009363 - CallExpression 2009365 2009465 - Identifier 2009365 2009382 - Identifier 2009383 2009387 - FalseKeyword 2009388 2009420 - FalseKeyword 2009421 2009464 - IfStatement 2009466 2009606 - CallExpression 2009484 2009513 - Identifier 2009484 2009498 - Identifier 2009499 2009512 - Block 2009514 2009606 - ExpressionStatement 2009516 2009591 - BinaryExpression 2009516 2009590 - Identifier 2009516 2009542 - EqualsToken 2009542 2009544 - CallExpression 2009544 2009590 - Identifier 2009544 2009575 - Identifier 2009576 2009589 - IfStatement 2009617 2009800 - BinaryExpression 2009631 2009724 - Identifier 2009631 2009639 - AmpersandAmpersandToken 2009639 2009642 - BinaryExpression 2009642 2009724 - CallExpression 2009642 2009667 - Identifier 2009642 2009657 - Identifier 2009658 2009666 - AmpersandToken 2009667 2009669 - ParenthesizedExpression 2009669 2009724 - BinaryExpression 2009671 2009723 - PropertyAccessExpression 2009671 2009699 - Identifier 2009671 2009682 - Identifier 2009683 2009699 - BarToken 2009699 2009701 - PropertyAccessExpression 2009701 2009723 - Identifier 2009701 2009713 - Identifier 2009714 2009723 - Block 2009725 2009800 - ReturnStatement 2009727 2009789 - AsExpression 2009747 2009788 - CallExpression 2009747 2009771 - Identifier 2009747 2009761 - Identifier 2009762 2009770 - TypeReference 2009774 2009788 - Identifier 2009774 2009788 - ReturnStatement 2009800 2009827 - Identifier 2009816 2009826 - FunctionDeclaration 2009834 2010145 - Identifier 2009850 2009882 - Parameter 2009883 2009893 - Identifier 2009883 2009887 - TypeReference 2009888 2009893 - Identifier 2009888 2009893 - Block 2009894 2010145 - VariableStatement 2009896 2010028 - VariableDeclarationList 2009896 2010027 - VariableDeclaration 2009911 2010027 - Identifier 2009911 2009925 - CallExpression 2009927 2010027 - Identifier 2009927 2009944 - Identifier 2009945 2009949 - FalseKeyword 2009950 2009982 - FalseKeyword 2009983 2010026 - ReturnStatement 2010028 2010138 - ConditionalExpression 2010044 2010137 - BinaryExpression 2010044 2010091 - Identifier 2010044 2010058 - AmpersandAmpersandToken 2010058 2010061 - CallExpression 2010061 2010091 - Identifier 2010061 2010076 - Identifier 2010077 2010090 - QuestionToken 2010091 2010093 - CallExpression 2010093 2010125 - Identifier 2010093 2010110 - Identifier 2010111 2010124 - ColonToken 2010125 2010127 - Identifier 2010127 2010137 - FunctionDeclaration 2010145 2010303 - Identifier 2010161 2010191 - Parameter 2010192 2010206 - Identifier 2010192 2010198 - TypeReference 2010199 2010206 - Identifier 2010199 2010206 - Block 2010207 2010303 - ReturnStatement 2010209 2010296 - PrefixUnaryExpression 2010225 2010295 - PrefixUnaryExpression 2010227 2010295 - CallExpression 2010228 2010295 - Identifier 2010228 2010243 - Identifier 2010244 2010250 - ArrowFunction 2010251 2010294 - Parameter 2010251 2010256 - Identifier 2010251 2010256 - EqualsGreaterThanToken 2010256 2010259 - PrefixUnaryExpression 2010259 2010294 - ParenthesizedExpression 2010261 2010294 - BinaryExpression 2010262 2010293 - PropertyAccessExpression 2010262 2010272 - Identifier 2010262 2010266 - Identifier 2010267 2010272 - AmpersandToken 2010272 2010274 - PropertyAccessExpression 2010274 2010293 - Identifier 2010274 2010286 - Identifier 2010287 2010293 - FunctionDeclaration 2010303 2010448 - Identifier 2010319 2010342 - Parameter 2010343 2010375 - Identifier 2010343 2010347 - UnionType 2010348 2010375 - TypeReference 2010348 2010359 - Identifier 2010348 2010359 - TypeReference 2010361 2010375 - Identifier 2010361 2010375 - Block 2010376 2010448 - ReturnStatement 2010378 2010441 - CallExpression 2010394 2010440 - Identifier 2010394 2010411 - CallExpression 2010412 2010433 - Identifier 2010412 2010427 - Identifier 2010428 2010432 - Identifier 2010434 2010439 - FunctionDeclaration 2010448 2010565 - Identifier 2010464 2010479 - Parameter 2010480 2010490 - Identifier 2010480 2010484 - TypeReference 2010485 2010490 - Identifier 2010485 2010490 - Block 2010491 2010565 - ReturnStatement 2010493 2010558 - CallExpression 2010509 2010557 - Identifier 2010509 2010522 - Identifier 2010523 2010527 - PropertyAccessExpression 2010528 2010556 - Identifier 2010528 2010538 - Identifier 2010539 2010556 - FunctionDeclaration 2010565 2010701 - Identifier 2010581 2010608 - Parameter 2010609 2010619 - Identifier 2010609 2010613 - TypeReference 2010614 2010619 - Identifier 2010614 2010619 - Block 2010620 2010701 - ReturnStatement 2010622 2010694 - ConditionalExpression 2010638 2010693 - CallExpression 2010638 2010659 - Identifier 2010638 2010653 - Identifier 2010654 2010658 - QuestionToken 2010659 2010661 - CallExpression 2010661 2010686 - Identifier 2010661 2010680 - Identifier 2010681 2010685 - ColonToken 2010686 2010688 - Identifier 2010688 2010693 - FunctionDeclaration 2010701 2012026 - Identifier 2010717 2010758 - Parameter 2010759 2010769 - Identifier 2010759 2010763 - TypeReference 2010764 2010769 - Identifier 2010764 2010769 - Parameter 2010770 2010787 - Identifier 2010770 2010776 - TypeReference 2010777 2010787 - Identifier 2010777 2010787 - Block 2010788 2012026 - VariableStatement 2010790 2010885 - VariableDeclarationList 2010790 2010884 - VariableDeclaration 2010805 2010884 - Identifier 2010805 2010814 - ConditionalExpression 2010816 2010884 - CallExpression 2010816 2010845 - Identifier 2010816 2010839 - Identifier 2010840 2010844 - QuestionToken 2010845 2010847 - CallExpression 2010847 2010872 - Identifier 2010847 2010866 - Identifier 2010867 2010871 - ColonToken 2010872 2010874 - Identifier 2010874 2010884 - IfStatement 2010885 2011049 - BinaryExpression 2010899 2010935 - PropertyAccessExpression 2010899 2010908 - Identifier 2010899 2010903 - Identifier 2010904 2010908 - EqualsEqualsEqualsToken 2010908 2010912 - PropertyAccessExpression 2010912 2010935 - Identifier 2010912 2010923 - Identifier 2010924 2010935 - Block 2010936 2011049 - ExpressionStatement 2010938 2011017 - CallExpression 2010938 2011016 - Identifier 2010938 2010957 - Identifier 2010958 2010962 - PropertyAccessExpression 2010963 2011007 - Identifier 2010963 2010975 - Identifier 2010976 2011007 - StringLiteral 2011008 2011015 - ReturnStatement 2011017 2011038 - IfStatement 2011049 2012019 - BinaryExpression 2011063 2011110 - BinaryExpression 2011063 2011085 - Identifier 2011063 2011071 - ExclamationEqualsEqualsToken 2011071 2011075 - Identifier 2011075 2011085 - AmpersandAmpersandToken 2011085 2011088 - BinaryExpression 2011088 2011110 - PropertyAccessExpression 2011088 2011104 - Identifier 2011088 2011097 - Identifier 2011098 2011104 - LessThanToken 2011104 2011106 - NumericLiteral 2011106 2011110 - Block 2011111 2011663 - IfStatement 2011113 2011308 - BinaryExpression 2011131 2011177 - CallExpression 2011131 2011149 - Identifier 2011131 2011143 - Identifier 2011144 2011148 - AmpersandAmpersandToken 2011149 2011152 - BinaryExpression 2011152 2011177 - Identifier 2011152 2011161 - EqualsEqualsEqualsToken 2011161 2011165 - StringLiteral 2011165 2011177 - Block 2011178 2011308 - ExpressionStatement 2011180 2011268 - CallExpression 2011180 2011267 - Identifier 2011180 2011203 - Identifier 2011204 2011208 - PropertyAccessExpression 2011209 2011253 - Identifier 2011209 2011221 - Identifier 2011222 2011253 - StringLiteral 2011254 2011266 - ReturnStatement 2011268 2011293 - ExpressionStatement 2011308 2011652 - CallExpression 2011308 2011651 - Identifier 2011308 2011327 - Identifier 2011328 2011350 - ConditionalExpression 2011351 2011608 - BinaryExpression 2011351 2011398 - Identifier 2011351 2011374 - AmpersandToken 2011374 2011376 - PropertyAccessExpression 2011376 2011398 - Identifier 2011376 2011386 - Identifier 2011387 2011398 - QuestionToken 2011398 2011400 - ConditionalExpression 2011400 2011553 - BinaryExpression 2011400 2011425 - Identifier 2011400 2011406 - AmpersandToken 2011406 2011408 - PropertyAccessExpression 2011408 2011425 - Identifier 2011408 2011418 - Identifier 2011419 2011425 - QuestionToken 2011425 2011427 - PropertyAccessExpression 2011427 2011493 - Identifier 2011427 2011460 - Identifier 2011461 2011493 - ColonToken 2011493 2011495 - PropertyAccessExpression 2011495 2011553 - Identifier 2011495 2011528 - Identifier 2011529 2011553 - ColonToken 2011553 2011555 - PropertyAccessExpression 2011555 2011608 - Identifier 2011555 2011588 - Identifier 2011589 2011608 - Identifier 2011609 2011635 - Block 2011677 2012019 - ExpressionStatement 2011679 2012008 - CallExpression 2011679 2012007 - Identifier 2011679 2011698 - Identifier 2011699 2011721 - ConditionalExpression 2011722 2011991 - BinaryExpression 2011722 2011769 - Identifier 2011722 2011745 - AmpersandToken 2011745 2011747 - PropertyAccessExpression 2011747 2011769 - Identifier 2011747 2011757 - Identifier 2011758 2011769 - QuestionToken 2011769 2011771 - ConditionalExpression 2011771 2011932 - BinaryExpression 2011771 2011796 - Identifier 2011771 2011777 - AmpersandToken 2011777 2011779 - PropertyAccessExpression 2011779 2011796 - Identifier 2011779 2011789 - Identifier 2011790 2011796 - QuestionToken 2011796 2011798 - PropertyAccessExpression 2011798 2011868 - Identifier 2011798 2011831 - Identifier 2011832 2011868 - ColonToken 2011868 2011870 - PropertyAccessExpression 2011870 2011932 - Identifier 2011870 2011903 - Identifier 2011904 2011932 - ColonToken 2011932 2011934 - PropertyAccessExpression 2011934 2011991 - Identifier 2011934 2011967 - Identifier 2011968 2011991 - FunctionDeclaration 2012026 2012498 - Identifier 2012042 2012089 - Parameter 2012090 2012100 - Identifier 2012090 2012094 - TypeReference 2012095 2012100 - Identifier 2012095 2012100 - Parameter 2012101 2012118 - Identifier 2012101 2012107 - TypeReference 2012108 2012118 - Identifier 2012108 2012118 - Block 2012119 2012498 - ExpressionStatement 2012121 2012491 - CallExpression 2012121 2012490 - Identifier 2012121 2012136 - Identifier 2012137 2012155 - ConditionalExpression 2012156 2012478 - BinaryExpression 2012156 2012199 - Identifier 2012156 2012175 - AmpersandToken 2012175 2012177 - PropertyAccessExpression 2012177 2012199 - Identifier 2012177 2012187 - Identifier 2012188 2012199 - QuestionToken 2012199 2012201 - ConditionalExpression 2012201 2012400 - BinaryExpression 2012201 2012226 - Identifier 2012201 2012207 - AmpersandToken 2012207 2012209 - PropertyAccessExpression 2012209 2012226 - Identifier 2012209 2012219 - Identifier 2012220 2012226 - QuestionToken 2012226 2012228 - PropertyAccessExpression 2012228 2012317 - Identifier 2012228 2012257 - Identifier 2012258 2012317 - ColonToken 2012317 2012319 - PropertyAccessExpression 2012319 2012400 - Identifier 2012319 2012348 - Identifier 2012349 2012400 - ColonToken 2012400 2012402 - PropertyAccessExpression 2012402 2012478 - Identifier 2012402 2012431 - Identifier 2012432 2012478 - FunctionDeclaration 2012498 2013482 - Identifier 2012514 2012543 - Parameter 2012544 2012564 - Identifier 2012544 2012558 - TypeReference 2012559 2012564 - Identifier 2012559 2012564 - Parameter 2012565 2012585 - Identifier 2012565 2012579 - TypeReference 2012580 2012585 - Identifier 2012580 2012585 - Parameter 2012586 2012647 - Identifier 2012586 2012607 - FunctionType 2012608 2012647 - Parameter 2012610 2012620 - Identifier 2012610 2012614 - TypeReference 2012615 2012620 - Identifier 2012615 2012620 - Parameter 2012621 2012638 - Identifier 2012621 2012627 - TypeReference 2012628 2012638 - Identifier 2012628 2012638 - VoidKeyword 2012642 2012647 - TypeReference 2012656 2012661 - Identifier 2012656 2012661 - Block 2012661 2013482 - IfStatement 2012663 2013144 - BinaryExpression 2012677 2012727 - Identifier 2012677 2012693 - AmpersandAmpersandToken 2012693 2012696 - BinaryExpression 2012696 2012727 - PropertyAccessExpression 2012696 2012707 - Identifier 2012696 2012701 - Identifier 2012702 2012707 - AmpersandToken 2012707 2012709 - PropertyAccessExpression 2012709 2012727 - Identifier 2012709 2012719 - Identifier 2012720 2012727 - Block 2012728 2013144 - IfStatement 2012730 2013037 - CallExpression 2012748 2012776 - Identifier 2012748 2012770 - Identifier 2012771 2012775 - Block 2012777 2013037 - VariableStatement 2012779 2012839 - VariableDeclarationList 2012779 2012838 - VariableDeclaration 2012802 2012838 - Identifier 2012802 2012811 - CallExpression 2012813 2012838 - Identifier 2012813 2012832 - Identifier 2012833 2012837 - IfStatement 2012839 2013022 - BinaryExpression 2012861 2012882 - PropertyAccessExpression 2012861 2012876 - Identifier 2012861 2012869 - Identifier 2012870 2012876 - LessThanToken 2012876 2012878 - NumericLiteral 2012878 2012882 - Block 2012883 2013022 - ExpressionStatement 2012885 2012964 - CallExpression 2012885 2012963 - Identifier 2012885 2012912 - Identifier 2012913 2012917 - PropertyAccessExpression 2012918 2012952 - Identifier 2012918 2012930 - Identifier 2012931 2012952 - Identifier 2012953 2012962 - ReturnStatement 2012964 2013003 - Identifier 2012992 2013002 - ExpressionStatement 2013037 2013102 - CallExpression 2013037 2013101 - Identifier 2013037 2013056 - Identifier 2013057 2013061 - PropertyAccessExpression 2013062 2013100 - Identifier 2013062 2013074 - Identifier 2013075 2013100 - ReturnStatement 2013102 2013133 - Identifier 2013122 2013132 - VariableStatement 2013144 2013216 - VariableDeclarationList 2013144 2013215 - VariableDeclaration 2013159 2013215 - Identifier 2013159 2013165 - CallExpression 2013167 2013215 - Identifier 2013167 2013180 - Identifier 2013181 2013185 - PropertyAccessExpression 2013186 2013214 - Identifier 2013186 2013196 - Identifier 2013197 2013214 - IfStatement 2013216 2013453 - BinaryExpression 2013230 2013265 - Identifier 2013230 2013235 - AmpersandToken 2013235 2013237 - PropertyAccessExpression 2013237 2013265 - Identifier 2013237 2013247 - Identifier 2013248 2013265 - Block 2013266 2013453 - ExpressionStatement 2013268 2013307 - CallExpression 2013268 2013306 - Identifier 2013268 2013293 - Identifier 2013294 2013298 - Identifier 2013299 2013305 - VariableStatement 2013307 2013356 - VariableDeclarationList 2013307 2013355 - VariableDeclaration 2013326 2013355 - Identifier 2013326 2013328 - CallExpression 2013330 2013355 - Identifier 2013330 2013349 - Identifier 2013350 2013354 - ReturnStatement 2013356 2013442 - ConditionalExpression 2013376 2013441 - BinaryExpression 2013376 2013425 - PropertyAccessExpression 2013376 2013384 - Identifier 2013376 2013378 - Identifier 2013379 2013384 - AmpersandToken 2013384 2013386 - ParenthesizedExpression 2013386 2013425 - BinaryExpression 2013388 2013424 - PropertyAccessExpression 2013388 2013406 - Identifier 2013388 2013397 - Identifier 2013398 2013406 - BarToken 2013406 2013408 - PropertyAccessExpression 2013408 2013424 - Identifier 2013408 2013418 - Identifier 2013419 2013424 - QuestionToken 2013425 2013427 - Identifier 2013427 2013437 - ColonToken 2013437 2013439 - Identifier 2013439 2013441 - ReturnStatement 2013453 2013475 - Identifier 2013469 2013474 - FunctionDeclaration 2013482 2013648 - Identifier 2013498 2013515 - Parameter 2013516 2013526 - Identifier 2013516 2013520 - TypeReference 2013521 2013526 - Identifier 2013521 2013526 - Parameter 2013527 2013538 - Identifier 2013527 2013532 - TypeReference 2013533 2013538 - Identifier 2013533 2013538 - Block 2013539 2013648 - ReturnStatement 2013541 2013641 - CallExpression 2013557 2013640 - Identifier 2013557 2013586 - Identifier 2013587 2013591 - Identifier 2013592 2013597 - Identifier 2013598 2013639 - FunctionDeclaration 2013648 2014477 - Identifier 2013664 2013688 - Parameter 2013689 2013699 - Identifier 2013689 2013693 - TypeReference 2013694 2013699 - Identifier 2013694 2013699 - Parameter 2013700 2013711 - Identifier 2013700 2013705 - TypeReference 2013706 2013711 - Identifier 2013706 2013711 - TypeReference 2013713 2013718 - Identifier 2013713 2013718 - Block 2013718 2014477 - VariableStatement 2013720 2013779 - VariableDeclarationList 2013720 2013778 - VariableDeclaration 2013735 2013778 - Identifier 2013735 2013747 - CallExpression 2013749 2013778 - Identifier 2013749 2013766 - Identifier 2013767 2013771 - Identifier 2013772 2013777 - IfStatement 2013779 2014441 - BinaryExpression 2013793 2013827 - PropertyAccessExpression 2013793 2013810 - Identifier 2013793 2013804 - Identifier 2013805 2013810 - AmpersandToken 2013810 2013812 - PropertyAccessExpression 2013812 2013827 - Identifier 2013812 2013822 - Identifier 2013823 2013827 - Block 2013828 2014441 - IfStatement 2013830 2014362 - CallExpression 2013848 2013876 - Identifier 2013848 2013870 - Identifier 2013871 2013875 - Block 2013877 2014362 - VariableStatement 2013879 2013939 - VariableDeclarationList 2013879 2013938 - VariableDeclaration 2013902 2013938 - Identifier 2013902 2013911 - CallExpression 2013913 2013938 - Identifier 2013913 2013932 - Identifier 2013933 2013937 - IfStatement 2013939 2014159 - BinaryExpression 2013961 2014007 - CallExpression 2013961 2013979 - Identifier 2013961 2013973 - Identifier 2013974 2013978 - AmpersandAmpersandToken 2013979 2013982 - BinaryExpression 2013982 2014007 - Identifier 2013982 2013991 - EqualsEqualsEqualsToken 2013991 2013995 - StringLiteral 2013995 2014007 - Block 2014008 2014159 - ExpressionStatement 2014010 2014099 - CallExpression 2014010 2014098 - Identifier 2014010 2014037 - Identifier 2014038 2014042 - PropertyAccessExpression 2014043 2014087 - Identifier 2014043 2014055 - Identifier 2014056 2014087 - Identifier 2014088 2014097 - ReturnStatement 2014099 2014140 - Identifier 2014127 2014139 - IfStatement 2014159 2014347 - BinaryExpression 2014181 2014202 - PropertyAccessExpression 2014181 2014196 - Identifier 2014181 2014189 - Identifier 2014190 2014196 - LessThanToken 2014196 2014198 - NumericLiteral 2014198 2014202 - Block 2014203 2014347 - ExpressionStatement 2014205 2014287 - CallExpression 2014205 2014286 - Identifier 2014205 2014232 - Identifier 2014233 2014237 - PropertyAccessExpression 2014238 2014275 - Identifier 2014238 2014250 - Identifier 2014251 2014275 - Identifier 2014276 2014285 - ReturnStatement 2014287 2014328 - Identifier 2014315 2014327 - ExpressionStatement 2014362 2014430 - CallExpression 2014362 2014429 - Identifier 2014362 2014381 - Identifier 2014382 2014386 - PropertyAccessExpression 2014387 2014428 - Identifier 2014387 2014399 - Identifier 2014400 2014428 - ReturnStatement 2014441 2014470 - Identifier 2014457 2014469 - FunctionDeclaration 2014477 2014897 - Identifier 2014493 2014523 - Parameter 2014524 2014554 - Identifier 2014524 2014528 - TypeReference 2014529 2014554 - Identifier 2014529 2014554 - Parameter 2014555 2014588 - Identifier 2014555 2014565 - UnionType 2014566 2014588 - TypeReference 2014566 2014576 - Identifier 2014566 2014576 - UndefinedKeyword 2014578 2014588 - Parameter 2014589 2014609 - Identifier 2014589 2014599 - QuestionToken 2014599 2014600 - BooleanKeyword 2014601 2014609 - Block 2014610 2014897 - ReturnStatement 2014612 2014890 - ConditionalExpression 2014628 2014889 - BinaryExpression 2014628 2014665 - PropertyAccessExpression 2014628 2014639 - Identifier 2014628 2014633 - Identifier 2014634 2014639 - AmpersandToken 2014639 2014641 - PropertyAccessExpression 2014641 2014665 - Identifier 2014641 2014651 - Identifier 2014652 2014665 - QuestionToken 2014665 2014667 - CallExpression 2014667 2014732 - Identifier 2014667 2014692 - AsExpression 2014693 2014720 - Identifier 2014693 2014697 - TypeReference 2014700 2014720 - Identifier 2014700 2014720 - Identifier 2014721 2014731 - ColonToken 2014732 2014734 - CallExpression 2014734 2014889 - Identifier 2014734 2014792 - Identifier 2014793 2014797 - PropertyAccessExpression 2014798 2014814 - Identifier 2014798 2014803 - Identifier 2014804 2014814 - CallExpression 2014815 2014855 - Identifier 2014815 2014838 - PropertyAccessExpression 2014839 2014854 - Identifier 2014839 2014843 - Identifier 2014844 2014854 - PropertyAccessExpression 2014856 2014866 - Identifier 2014856 2014861 - Identifier 2014862 2014866 - Identifier 2014867 2014877 - Identifier 2014878 2014888 - FunctionDeclaration 2014897 2015379 - Identifier 2014913 2014938 - Parameter 2014939 2014964 - Identifier 2014939 2014943 - TypeReference 2014944 2014964 - Identifier 2014944 2014964 - Parameter 2014965 2014998 - Identifier 2014965 2014975 - UnionType 2014976 2014998 - TypeReference 2014976 2014986 - Identifier 2014976 2014986 - UndefinedKeyword 2014988 2014998 - Block 2014999 2015379 - VariableStatement 2015001 2015061 - VariableDeclarationList 2015001 2015060 - VariableDeclaration 2015016 2015060 - Identifier 2015016 2015025 - CallExpression 2015027 2015060 - Identifier 2015027 2015043 - PropertyAccessExpression 2015044 2015059 - Identifier 2015044 2015048 - Identifier 2015049 2015059 - VariableStatement 2015061 2015148 - VariableDeclarationList 2015061 2015147 - VariableDeclaration 2015076 2015147 - Identifier 2015076 2015092 - CallExpression 2015094 2015147 - Identifier 2015094 2015120 - Identifier 2015121 2015129 - PropertyAccessExpression 2015130 2015146 - Identifier 2015130 2015135 - Identifier 2015136 2015146 - ReturnStatement 2015148 2015372 - CallExpression 2015164 2015371 - Identifier 2015164 2015192 - CallExpression 2015193 2015334 - Identifier 2015193 2015237 - Identifier 2015238 2015242 - PropertyAccessExpression 2015243 2015259 - Identifier 2015243 2015248 - Identifier 2015249 2015259 - CallExpression 2015260 2015311 - Identifier 2015260 2015277 - Identifier 2015278 2015293 - PropertyAccessExpression 2015294 2015310 - Identifier 2015294 2015299 - Identifier 2015300 2015310 - PropertyAccessExpression 2015312 2015322 - Identifier 2015312 2015317 - Identifier 2015318 2015322 - Identifier 2015323 2015333 - Identifier 2015335 2015340 - BinaryExpression 2015341 2015370 - Identifier 2015341 2015357 - ExclamationEqualsEqualsToken 2015357 2015361 - Identifier 2015361 2015370 - FunctionDeclaration 2015379 2015770 - Identifier 2015395 2015414 - Parameter 2015415 2015434 - Identifier 2015415 2015419 - TypeReference 2015420 2015434 - Identifier 2015420 2015434 - Parameter 2015435 2015468 - Identifier 2015435 2015445 - UnionType 2015446 2015468 - TypeReference 2015446 2015456 - Identifier 2015446 2015456 - UndefinedKeyword 2015458 2015468 - Block 2015469 2015770 - VariableStatement 2015471 2015651 - VariableDeclarationList 2015471 2015650 - VariableDeclaration 2015486 2015650 - Identifier 2015486 2015495 - ConditionalExpression 2015497 2015650 - BinaryExpression 2015497 2015552 - CallExpression 2015497 2015521 - Identifier 2015497 2015515 - Identifier 2015516 2015520 - AmpersandAmpersandToken 2015521 2015524 - CallExpression 2015524 2015552 - Identifier 2015524 2015541 - PropertyAccessExpression 2015542 2015551 - Identifier 2015542 2015546 - Identifier 2015547 2015551 - QuestionToken 2015552 2015554 - CallExpression 2015554 2015614 - Identifier 2015554 2015571 - CallExpression 2015572 2015602 - Identifier 2015572 2015591 - PropertyAccessExpression 2015592 2015601 - Identifier 2015592 2015596 - Identifier 2015597 2015601 - PropertyAccessExpression 2015603 2015613 - Identifier 2015603 2015608 - Identifier 2015609 2015613 - ColonToken 2015614 2015616 - CallExpression 2015616 2015650 - Identifier 2015616 2015639 - PropertyAccessExpression 2015640 2015649 - Identifier 2015640 2015644 - Identifier 2015645 2015649 - ReturnStatement 2015651 2015763 - CallExpression 2015667 2015762 - Identifier 2015667 2015712 - Identifier 2015713 2015717 - PropertyAccessExpression 2015718 2015728 - Identifier 2015718 2015723 - Identifier 2015724 2015728 - Identifier 2015729 2015738 - PropertyAccessExpression 2015739 2015750 - Identifier 2015739 2015744 - Identifier 2015745 2015750 - Identifier 2015751 2015761 - FunctionDeclaration 2015770 2016035 - Identifier 2015786 2015808 - Parameter 2015809 2015819 - Identifier 2015809 2015813 - TypeReference 2015814 2015819 - Identifier 2015814 2015819 - Block 2015820 2016035 - WhileStatement 2015822 2015941 - BinaryExpression 2015839 2015894 - PropertyAccessExpression 2015839 2015855 - PropertyAccessExpression 2015839 2015850 - Identifier 2015839 2015843 - Identifier 2015844 2015850 - Identifier 2015851 2015855 - EqualsEqualsEqualsToken 2015855 2015859 - PropertyAccessExpression 2015859 2015894 - Identifier 2015859 2015870 - Identifier 2015871 2015894 - Block 2015895 2015941 - ExpressionStatement 2015897 2015930 - BinaryExpression 2015897 2015929 - Identifier 2015897 2015915 - EqualsToken 2015915 2015917 - PropertyAccessExpression 2015917 2015929 - Identifier 2015917 2015922 - Identifier 2015923 2015929 - ReturnStatement 2015941 2016028 - BinaryExpression 2015957 2016027 - CallExpression 2015957 2015992 - Identifier 2015957 2015979 - PropertyAccessExpression 2015980 2015991 - Identifier 2015980 2015984 - Identifier 2015985 2015991 - AmpersandAmpersandToken 2015992 2015995 - BinaryExpression 2015995 2016027 - PropertyAccessExpression 2015995 2016018 - PropertyAccessExpression 2015995 2016007 - Identifier 2015995 2016000 - Identifier 2016001 2016007 - Identifier 2016008 2016018 - EqualsEqualsEqualsToken 2016018 2016022 - Identifier 2016022 2016027 - FunctionDeclaration 2016035 2016704 - Identifier 2016100 2016144 - Parameter 2016145 2016163 - Identifier 2016145 2016153 - TypeReference 2016154 2016163 - Identifier 2016154 2016163 - Parameter 2016164 2016179 - Identifier 2016164 2016173 - TypeReference 2016174 2016179 - Identifier 2016174 2016179 - UnionType 2016181 2016200 - TypeReference 2016181 2016188 - Identifier 2016181 2016188 - UndefinedKeyword 2016190 2016200 - Block 2016200 2016704 - ForStatement 2016202 2016697 - VariableDeclarationList 2016217 2016291 - VariableDeclaration 2016220 2016291 - Identifier 2016220 2016236 - CallExpression 2016238 2016291 - Identifier 2016238 2016281 - Identifier 2016282 2016290 - PrefixUnaryExpression 2016292 2016310 - PrefixUnaryExpression 2016294 2016310 - Identifier 2016295 2016310 - BinaryExpression 2016311 2016365 - Identifier 2016311 2016327 - EqualsToken 2016327 2016329 - CallExpression 2016329 2016365 - Identifier 2016329 2016348 - Identifier 2016349 2016364 - Block 2016366 2016697 - VariableStatement 2016368 2016417 - VariableDeclarationList 2016368 2016416 - VariableDeclaration 2016387 2016416 - ObjectBindingPattern 2016387 2016398 - BindingElement 2016389 2016396 - Identifier 2016389 2016396 - Identifier 2016400 2016416 - VariableStatement 2016417 2016496 - VariableDeclarationList 2016417 2016495 - VariableDeclaration 2016436 2016495 - Identifier 2016436 2016441 - CallExpression 2016443 2016495 - Identifier 2016443 2016477 - Identifier 2016478 2016484 - Identifier 2016485 2016494 - VariableStatement 2016496 2016616 - VariableDeclarationList 2016496 2016615 - VariableDeclaration 2016515 2016615 - Identifier 2016515 2016520 - BinaryExpression 2016522 2016615 - ParenthesizedExpression 2016522 2016567 - BinaryExpression 2016524 2016566 - PropertyAccessExpression 2016524 2016538 - Identifier 2016524 2016530 - Identifier 2016531 2016538 - AmpersandAmpersandToken 2016538 2016541 - CallExpression 2016541 2016566 - PropertyAccessExpression 2016541 2016560 - PropertyAccessExpression 2016541 2016556 - Identifier 2016541 2016548 - Identifier 2016549 2016556 - Identifier 2016557 2016560 - Identifier 2016561 2016565 - BarBarToken 2016567 2016570 - ParenthesizedExpression 2016570 2016615 - BinaryExpression 2016572 2016614 - PropertyAccessExpression 2016572 2016586 - Identifier 2016572 2016578 - Identifier 2016579 2016586 - AmpersandAmpersandToken 2016586 2016589 - CallExpression 2016589 2016614 - PropertyAccessExpression 2016589 2016608 - PropertyAccessExpression 2016589 2016604 - Identifier 2016589 2016596 - Identifier 2016597 2016604 - Identifier 2016605 2016608 - Identifier 2016609 2016613 - IfStatement 2016616 2016686 - Identifier 2016634 2016638 - Block 2016639 2016686 - ReturnStatement 2016641 2016671 - Identifier 2016665 2016670 - FunctionDeclaration 2016704 2017699 - Identifier 2016720 2016760 - Parameter 2016761 2016786 - Identifier 2016761 2016767 - TypeReference 2016768 2016786 - Identifier 2016768 2016786 - BooleanKeyword 2016788 2016796 - Block 2016796 2017699 - IfStatement 2016798 2016971 - PrefixUnaryExpression 2016812 2016839 - CallExpression 2016813 2016839 - Identifier 2016813 2016831 - Identifier 2016832 2016838 - Block 2016840 2016971 - ReturnStatement 2016842 2016960 - CallExpression 2016862 2016959 - Identifier 2016862 2016881 - Identifier 2016882 2016888 - PropertyAccessExpression 2016889 2016958 - Identifier 2016889 2016901 - Identifier 2016902 2016958 - IfStatement 2016971 2017667 - PrefixUnaryExpression 2016987 2017019 - CallExpression 2016988 2017019 - Identifier 2016988 2017004 - PropertyAccessExpression 2017005 2017018 - Identifier 2017005 2017011 - Identifier 2017012 2017018 - Block 2017020 2017667 - IfStatement 2017022 2017321 - PrefixUnaryExpression 2017040 2017065 - CallExpression 2017041 2017065 - Identifier 2017041 2017057 - Identifier 2017058 2017064 - Block 2017066 2017321 - ReturnStatement 2017068 2017306 - CallExpression 2017092 2017305 - Identifier 2017092 2017111 - Identifier 2017112 2017118 - PropertyAccessExpression 2017119 2017304 - Identifier 2017119 2017131 - Identifier 2017132 2017304 - VariableStatement 2017321 2017454 - VariableDeclarationList 2017321 2017453 - VariableDeclaration 2017342 2017453 - Identifier 2017342 2017356 - BinaryExpression 2017358 2017453 - CallExpression 2017358 2017392 - Identifier 2017358 2017377 - PropertyAccessExpression 2017378 2017391 - Identifier 2017378 2017384 - Identifier 2017385 2017391 - AmpersandAmpersandToken 2017392 2017395 - BinaryExpression 2017395 2017453 - PropertyAccessExpression 2017395 2017428 - PropertyAccessExpression 2017395 2017423 - PropertyAccessExpression 2017395 2017409 - Identifier 2017395 2017402 - Identifier 2017403 2017409 - Identifier 2017410 2017423 - Identifier 2017424 2017428 - EqualsEqualsEqualsToken 2017428 2017432 - PropertyAccessExpression 2017432 2017453 - Identifier 2017432 2017443 - Identifier 2017444 2017453 - IfStatement 2017454 2017656 - BinaryExpression 2017472 2017538 - PrefixUnaryExpression 2017472 2017520 - CallExpression 2017473 2017520 - Identifier 2017473 2017512 - Identifier 2017513 2017519 - AmpersandAmpersandToken 2017520 2017523 - PrefixUnaryExpression 2017523 2017538 - Identifier 2017525 2017538 - Block 2017539 2017656 - ReturnStatement 2017541 2017641 - CallExpression 2017565 2017640 - Identifier 2017565 2017584 - Identifier 2017585 2017591 - PropertyAccessExpression 2017592 2017623 - Identifier 2017592 2017604 - Identifier 2017605 2017623 - CallExpression 2017624 2017639 - Identifier 2017624 2017631 - Identifier 2017632 2017638 - ReturnStatement 2017667 2017692 - FalseKeyword 2017685 2017691 - FunctionDeclaration 2017699 2018092 - Identifier 2017715 2017748 - Parameter 2017749 2017774 - Identifier 2017749 2017755 - TypeReference 2017756 2017774 - Identifier 2017756 2017774 - TypeReference 2017776 2017781 - Identifier 2017776 2017781 - Block 2017781 2018092 - ExpressionStatement 2017783 2017841 - CallExpression 2017783 2017840 - Identifier 2017783 2017832 - Identifier 2017833 2017839 - VariableStatement 2017841 2017914 - VariableDeclarationList 2017841 2017913 - VariableDeclaration 2017856 2017913 - Identifier 2017856 2017863 - CallExpression 2017865 2017913 - Identifier 2017865 2017905 - Identifier 2017906 2017912 - IfStatement 2017914 2018060 - Identifier 2017928 2017934 - Block 2017935 2018060 - ExpressionStatement 2017937 2018049 - CallExpression 2017937 2018048 - Identifier 2017937 2017975 - Identifier 2017976 2017982 - Identifier 2017983 2018019 - FalseKeyword 2018020 2018047 - ReturnStatement 2018060 2018085 - Identifier 2018076 2018084 - FunctionDeclaration 2018092 2018544 - Identifier 2018108 2018148 - Parameter 2018149 2018174 - Identifier 2018149 2018155 - TypeReference 2018156 2018174 - Identifier 2018156 2018174 - UnionType 2018176 2018195 - TypeReference 2018176 2018183 - Identifier 2018176 2018183 - UndefinedKeyword 2018185 2018195 - Block 2018195 2018544 - IfStatement 2018197 2018281 - PrefixUnaryExpression 2018211 2018236 - CallExpression 2018212 2018236 - Identifier 2018212 2018228 - Identifier 2018229 2018235 - Block 2018237 2018281 - ReturnStatement 2018239 2018270 - Identifier 2018259 2018269 - VariableStatement 2018281 2018328 - VariableDeclarationList 2018281 2018327 - VariableDeclaration 2018298 2018327 - Identifier 2018298 2018304 - CallExpression 2018306 2018327 - Identifier 2018306 2018319 - Identifier 2018320 2018326 - IfStatement 2018328 2018499 - BinaryExpression 2018342 2018376 - PropertyAccessExpression 2018342 2018362 - Identifier 2018342 2018347 - Identifier 2018348 2018362 - EqualsEqualsEqualsToken 2018362 2018366 - Identifier 2018366 2018376 - Block 2018377 2018499 - ExpressionStatement 2018379 2018488 - BinaryExpression 2018379 2018487 - PropertyAccessExpression 2018379 2018413 - Identifier 2018379 2018398 - Identifier 2018399 2018413 - EqualsToken 2018413 2018415 - CallExpression 2018415 2018487 - Identifier 2018415 2018459 - PropertyAccessExpression 2018460 2018478 - Identifier 2018460 2018466 - Identifier 2018467 2018478 - Identifier 2018479 2018486 - ReturnStatement 2018499 2018537 - PropertyAccessExpression 2018515 2018536 - Identifier 2018515 2018521 - Identifier 2018522 2018536 - FunctionDeclaration 2018544 2018759 - Identifier 2018560 2018595 - Parameter 2018596 2018610 - Identifier 2018596 2018604 - TypeReference 2018605 2018610 - Identifier 2018605 2018610 - Parameter 2018611 2018645 - Identifier 2018611 2018637 - TypeReference 2018638 2018645 - Identifier 2018638 2018645 - UnionType 2018647 2018666 - TypeReference 2018647 2018654 - Identifier 2018647 2018654 - UndefinedKeyword 2018656 2018666 - Block 2018666 2018759 - ReturnStatement 2018668 2018752 - CallExpression 2018684 2018751 - Identifier 2018684 2018702 - Identifier 2018703 2018711 - PropertyAccessExpression 2018712 2018750 - Identifier 2018712 2018738 - Identifier 2018739 2018750 - FunctionDeclaration 2018759 2021925 - Identifier 2018775 2018812 - Parameter 2018813 2018827 - Identifier 2018813 2018821 - TypeReference 2018822 2018827 - Identifier 2018822 2018827 - Parameter 2018828 2018853 - Identifier 2018828 2018834 - TypeReference 2018835 2018853 - Identifier 2018835 2018853 - Parameter 2018854 2018900 - Identifier 2018854 2018880 - UnionType 2018881 2018900 - TypeReference 2018881 2018888 - Identifier 2018881 2018888 - UndefinedKeyword 2018890 2018900 - BooleanKeyword 2018902 2018910 - Block 2018910 2021925 - VariableStatement 2018912 2019178 - VariableDeclarationList 2018912 2019177 - VariableDeclaration 2019142 2019177 - Identifier 2019142 2019157 - UnionType 2019158 2019177 - TypeReference 2019158 2019165 - Identifier 2019158 2019165 - UndefinedKeyword 2019167 2019177 - VariableStatement 2019178 2019237 - VariableDeclarationList 2019178 2019236 - VariableDeclaration 2019193 2019236 - Identifier 2019193 2019204 - CallExpression 2019206 2019236 - Identifier 2019206 2019226 - Identifier 2019227 2019235 - IfStatement 2019237 2019639 - Identifier 2019251 2019261 - Block 2019262 2019639 - ExpressionStatement 2019264 2019628 - CallExpression 2019264 2019627 - Identifier 2019264 2019285 - Identifier 2019286 2019296 - ArrowFunction 2019297 2019626 - Parameter 2019299 2019313 - Identifier 2019299 2019305 - TypeReference 2019306 2019313 - Identifier 2019306 2019313 - EqualsGreaterThanToken 2019314 2019317 - Block 2019317 2019626 - VariableStatement 2019319 2019374 - VariableDeclarationList 2019319 2019373 - VariableDeclaration 2019342 2019373 - Identifier 2019342 2019347 - PropertyAccessExpression 2019349 2019373 - Identifier 2019349 2019356 - Identifier 2019357 2019373 - IfStatement 2019374 2019611 - BinaryExpression 2019396 2019509 - BinaryExpression 2019396 2019462 - BinaryExpression 2019396 2019428 - Identifier 2019396 2019400 - AmpersandAmpersandToken 2019400 2019403 - CallExpression 2019403 2019428 - Identifier 2019403 2019422 - Identifier 2019423 2019427 - AmpersandAmpersandToken 2019428 2019431 - CallExpression 2019431 2019462 - Identifier 2019431 2019451 - PropertyAccessExpression 2019452 2019461 - Identifier 2019452 2019456 - Identifier 2019457 2019461 - AmpersandAmpersandToken 2019462 2019465 - BinaryExpression 2019465 2019509 - PropertyAccessExpression 2019465 2019487 - PropertyAccessExpression 2019465 2019475 - Identifier 2019465 2019470 - Identifier 2019471 2019475 - Identifier 2019476 2019487 - EqualsEqualsEqualsToken 2019487 2019491 - PropertyAccessExpression 2019491 2019509 - Identifier 2019491 2019497 - Identifier 2019498 2019509 - Block 2019510 2019611 - ExpressionStatement 2019512 2019558 - BinaryExpression 2019512 2019557 - Identifier 2019512 2019548 - EqualsToken 2019548 2019550 - Identifier 2019550 2019557 - ReturnStatement 2019558 2019592 - TrueKeyword 2019586 2019591 - VariableStatement 2019639 2019688 - VariableDeclarationList 2019639 2019687 - VariableDeclaration 2019654 2019687 - Identifier 2019654 2019663 - CallExpression 2019665 2019687 - Identifier 2019665 2019680 - Identifier 2019681 2019686 - IfStatement 2019688 2021895 - Identifier 2019702 2019716 - Block 2019717 2021895 - VariableStatement 2019719 2019807 - VariableDeclarationList 2019719 2019806 - VariableDeclaration 2019738 2019806 - Identifier 2019738 2019752 - CallExpression 2019754 2019806 - PropertyAccessExpression 2019754 2019773 - Identifier 2019754 2019760 - Identifier 2019761 2019773 - PropertyAccessExpression 2019774 2019805 - Identifier 2019774 2019788 - Identifier 2019789 2019805 - VariableStatement 2019807 2019893 - VariableDeclarationList 2019807 2019892 - VariableDeclaration 2019826 2019892 - Identifier 2019826 2019836 - CallExpression 2019838 2019892 - PropertyAccessExpression 2019838 2019857 - Identifier 2019838 2019844 - Identifier 2019845 2019857 - CallExpression 2019858 2019891 - Identifier 2019858 2019876 - Identifier 2019877 2019890 - IfStatement 2019893 2021603 - PropertyAccessExpression 2020217 2020260 - Identifier 2020217 2020242 - QuestionDotToken 2020242 2020244 - Identifier 2020244 2020260 - Block 2020261 2021603 - VariableStatement 2020263 2020349 - VariableDeclarationList 2020263 2020348 - VariableDeclaration 2020286 2020348 - Identifier 2020286 2020303 - PropertyAccessExpression 2020305 2020348 - Identifier 2020305 2020331 - Identifier 2020332 2020348 - VariableStatement 2020349 2020425 - VariableDeclarationList 2020349 2020424 - VariableDeclaration 2020372 2020424 - Identifier 2020372 2020385 - CallExpression 2020387 2020424 - Identifier 2020387 2020406 - Identifier 2020407 2020423 - ExpressionStatement 2020425 2020472 - CallExpression 2020425 2020471 - PropertyAccessExpression 2020425 2020455 - Identifier 2020425 2020448 - Identifier 2020449 2020455 - PrefixUnaryExpression 2020456 2020470 - PrefixUnaryExpression 2020457 2020470 - Identifier 2020458 2020470 - IfStatement 2020472 2021588 - CallExpression 2020494 2020542 - Identifier 2020494 2020506 - Identifier 2020507 2020519 - ArrowFunction 2020520 2020541 - Parameter 2020520 2020522 - Identifier 2020520 2020522 - EqualsGreaterThanToken 2020522 2020525 - BinaryExpression 2020525 2020541 - Identifier 2020525 2020535 - EqualsEqualsEqualsToken 2020535 2020539 - Identifier 2020539 2020541 - Block 2020543 2021588 - VariableStatement 2020545 2020908 - VariableDeclarationList 2020545 2020907 - VariableDeclaration 2020572 2020907 - Identifier 2020572 2020583 - CallExpression 2020585 2020907 - Identifier 2020585 2020591 - Identifier 2020592 2020623 - PropertyAccessExpression 2020624 2020799 - Identifier 2020624 2020661 - Identifier 2020662 2020799 - Identifier 2020800 2020834 - CallExpression 2020835 2020883 - Identifier 2020835 2020873 - Identifier 2020874 2020882 - ExpressionStatement 2020908 2021535 - CallExpression 2020908 2021534 - Identifier 2020908 2020946 - Identifier 2020947 2020983 - CallExpression 2020984 2021236 - Identifier 2020984 2021033 - Identifier 2021034 2021080 - PropertyAccessExpression 2021081 2021169 - Identifier 2021081 2021122 - Identifier 2021123 2021169 - Identifier 2021170 2021208 - CallExpression 2021237 2021510 - Identifier 2021237 2021286 - Identifier 2021287 2021330 - PropertyAccessExpression 2021331 2021443 - Identifier 2021331 2021372 - Identifier 2021373 2021443 - Identifier 2021444 2021482 - ReturnStatement 2021535 2021569 - TrueKeyword 2021563 2021568 - ExpressionStatement 2021603 2021858 - CallExpression 2021603 2021857 - Identifier 2021603 2021622 - Identifier 2021623 2021646 - PropertyAccessExpression 2021647 2021757 - Identifier 2021647 2021676 - Identifier 2021677 2021757 - Identifier 2021758 2021784 - CallExpression 2021785 2021841 - Identifier 2021785 2021817 - BinaryExpression 2021818 2021840 - PropertyAccessExpression 2021818 2021832 - Identifier 2021818 2021827 - Identifier 2021828 2021832 - BarBarToken 2021832 2021835 - Identifier 2021835 2021840 - ReturnStatement 2021858 2021884 - TrueKeyword 2021878 2021883 - ReturnStatement 2021895 2021918 - FalseKeyword 2021911 2021917 - FunctionDeclaration 2021925 2022329 - Identifier 2021941 2021975 - Parameter 2021976 2022048 - Identifier 2021976 2021980 - UnionType 2021981 2022048 - TypeReference 2021981 2022005 - Identifier 2021981 2022005 - TypeReference 2022007 2022032 - Identifier 2022007 2022032 - TypeReference 2022034 2022048 - Identifier 2022034 2022048 - Parameter 2022049 2022062 - Identifier 2022049 2022054 - TypeReference 2022055 2022062 - Identifier 2022055 2022062 - Block 2022063 2022329 - ReturnStatement 2022065 2022322 - BinaryExpression 2022081 2022321 - ParenthesizedExpression 2022081 2022172 - BinaryExpression 2022083 2022171 - CallExpression 2022083 2022118 - Identifier 2022083 2022112 - Identifier 2022113 2022117 - BarBarToken 2022118 2022121 - BinaryExpression 2022121 2022171 - CallExpression 2022121 2022142 - Identifier 2022121 2022136 - Identifier 2022137 2022141 - AmpersandAmpersandToken 2022142 2022145 - CallExpression 2022145 2022171 - Identifier 2022145 2022165 - Identifier 2022166 2022170 - AmpersandAmpersandToken 2022172 2022188 - BinaryExpression 2022188 2022321 - CallExpression 2022188 2022287 - Identifier 2022188 2022205 - Identifier 2022206 2022210 - TrueKeyword 2022211 2022242 - FalseKeyword 2022243 2022286 - EqualsEqualsEqualsToken 2022287 2022291 - CallExpression 2022291 2022321 - Identifier 2022291 2022315 - Identifier 2022316 2022320 - FunctionDeclaration 2022329 2030164 - Identifier 2022345 2022390 - Parameter 2022391 2022437 - Identifier 2022391 2022395 - UnionType 2022396 2022437 - TypeReference 2022396 2022421 - Identifier 2022396 2022421 - TypeReference 2022423 2022437 - Identifier 2022423 2022437 - Parameter 2022438 2022471 - Identifier 2022438 2022443 - UnionType 2022444 2022471 - TypeReference 2022444 2022455 - Identifier 2022444 2022455 - TypeReference 2022457 2022471 - Identifier 2022457 2022471 - Parameter 2022472 2022487 - Identifier 2022472 2022481 - TypeReference 2022482 2022487 - Identifier 2022482 2022487 - Parameter 2022488 2022526 - Identifier 2022488 2022494 - UnionType 2022495 2022526 - TypeReference 2022495 2022506 - Identifier 2022495 2022506 - TypeReference 2022508 2022526 - Identifier 2022508 2022526 - Parameter 2022527 2022560 - Identifier 2022527 2022537 - UnionType 2022538 2022560 - TypeReference 2022538 2022548 - Identifier 2022538 2022548 - UndefinedKeyword 2022550 2022560 - Parameter 2022561 2022581 - Identifier 2022561 2022571 - QuestionToken 2022571 2022572 - BooleanKeyword 2022573 2022581 - Block 2022582 2030164 - VariableStatement 2022584 2022649 - VariableDeclarationList 2022584 2022648 - VariableDeclaration 2022599 2022648 - Identifier 2022599 2022612 - PropertyAccessExpression 2022614 2022648 - CallExpression 2022614 2022633 - Identifier 2022614 2022627 - Identifier 2022628 2022632 - Identifier 2022634 2022648 - VariableStatement 2022649 2022712 - VariableDeclarationList 2022649 2022711 - VariableDeclaration 2022664 2022711 - Identifier 2022664 2022679 - CallExpression 2022681 2022711 - Identifier 2022681 2022705 - Identifier 2022706 2022710 - VariableStatement 2022712 2022868 - VariableDeclarationList 2022712 2022867 - VariableDeclaration 2022727 2022867 - Identifier 2022727 2022740 - CallExpression 2022742 2022867 - Identifier 2022742 2022758 - ConditionalExpression 2022759 2022866 - BinaryExpression 2022759 2022828 - BinaryExpression 2022759 2022797 - Identifier 2022759 2022773 - ExclamationEqualsEqualsToken 2022773 2022777 - PropertyAccessExpression 2022777 2022797 - Identifier 2022777 2022792 - Identifier 2022793 2022797 - BarBarToken 2022797 2022800 - CallExpression 2022800 2022828 - Identifier 2022800 2022822 - Identifier 2022823 2022827 - QuestionToken 2022828 2022830 - CallExpression 2022830 2022855 - Identifier 2022830 2022845 - Identifier 2022846 2022854 - ColonToken 2022855 2022857 - Identifier 2022857 2022866 - VariableStatement 2022868 2022956 - VariableDeclarationList 2022868 2022955 - VariableDeclaration 2022883 2022955 - Identifier 2022883 2022893 - BinaryExpression 2022895 2022955 - CallExpression 2022895 2022919 - Identifier 2022895 2022905 - Identifier 2022906 2022918 - BarBarToken 2022919 2022922 - BinaryExpression 2022922 2022955 - Identifier 2022922 2022935 - EqualsEqualsEqualsToken 2022935 2022939 - Identifier 2022939 2022955 - VariableStatement 2022956 2022995 - VariableDeclarationList 2022956 2022994 - VariableDeclaration 2022969 2022994 - Identifier 2022969 2022974 - UnionType 2022975 2022994 - TypeReference 2022975 2022982 - Identifier 2022975 2022982 - UndefinedKeyword 2022984 2022994 - IfStatement 2022995 2026283 - CallExpression 2023009 2023035 - Identifier 2023009 2023028 - Identifier 2023029 2023034 - Block 2023036 2025732 - IfStatement 2023038 2023686 - BinaryExpression 2023056 2023296 - BinaryExpression 2023056 2023251 - BinaryExpression 2023056 2023153 - Identifier 2023056 2023089 - LessThanToken 2023089 2023091 - PropertyAccessExpression 2023091 2023153 - Identifier 2023091 2023120 - Identifier 2023121 2023153 - BarBarToken 2023153 2023156 - BinaryExpression 2023156 2023251 - Identifier 2023156 2023189 - LessThanToken 2023189 2023191 - PropertyAccessExpression 2023191 2023251 - Identifier 2023191 2023220 - Identifier 2023221 2023251 - BarBarToken 2023251 2023254 - PrefixUnaryExpression 2023254 2023296 - Identifier 2023273 2023296 - Block 2023311 2023686 - IfStatement 2023313 2023490 - BinaryExpression 2023335 2023373 - Identifier 2023335 2023349 - ExclamationEqualsEqualsToken 2023349 2023353 - PropertyAccessExpression 2023353 2023373 - Identifier 2023353 2023368 - Identifier 2023369 2023373 - Block 2023374 2023490 - ExpressionStatement 2023376 2023471 - CallExpression 2023376 2023470 - Identifier 2023376 2023422 - Identifier 2023423 2023427 - PropertyAccessExpression 2023428 2023469 - Identifier 2023428 2023448 - Identifier 2023449 2023469 - IfStatement 2023490 2023671 - BinaryExpression 2023512 2023554 - Identifier 2023512 2023526 - ExclamationEqualsEqualsToken 2023526 2023530 - PropertyAccessExpression 2023530 2023554 - Identifier 2023530 2023545 - Identifier 2023546 2023554 - Block 2023555 2023671 - ExpressionStatement 2023557 2023652 - CallExpression 2023557 2023651 - Identifier 2023557 2023603 - Identifier 2023604 2023608 - PropertyAccessExpression 2023609 2023650 - Identifier 2023609 2023629 - Identifier 2023630 2023650 - VariableStatement 2023686 2023802 - VariableDeclarationList 2023686 2023801 - VariableDeclaration 2023707 2023801 - Identifier 2023707 2023729 - CallExpression 2023731 2023801 - Identifier 2023731 2023775 - PropertyAccessExpression 2023776 2023793 - Identifier 2023776 2023781 - Identifier 2023782 2023793 - Identifier 2023794 2023800 - IfStatement 2023802 2024121 - BinaryExpression 2023820 2023964 - BinaryExpression 2023820 2023901 - BinaryExpression 2023820 2023859 - Identifier 2023820 2023834 - AmpersandAmpersandToken 2023834 2023837 - Identifier 2023837 2023859 - AmpersandAmpersandToken 2023859 2023862 - PropertyAccessExpression 2023862 2023901 - Identifier 2023862 2023884 - Identifier 2023885 2023901 - AmpersandAmpersandToken 2023901 2023904 - CallExpression 2023904 2023964 - Identifier 2023904 2023924 - PropertyAccessExpression 2023925 2023963 - Identifier 2023925 2023946 - Identifier 2023947 2023963 - Block 2023965 2024121 - ExpressionStatement 2023967 2024106 - CallExpression 2023967 2024105 - Identifier 2023967 2024003 - Identifier 2024004 2024009 - PropertyAccessExpression 2024010 2024089 - Identifier 2024010 2024022 - Identifier 2024023 2024089 - CallExpression 2024090 2024104 - Identifier 2024090 2024097 - Identifier 2024098 2024103 - IfStatement 2024121 2024575 - Identifier 2024139 2024148 - Block 2024149 2024575 - IfStatement 2024151 2024298 - Identifier 2024173 2024194 - Block 2024195 2024298 - ReturnStatement 2024197 2024279 - ConditionalExpression 2024225 2024278 - CallExpression 2024225 2024251 - Identifier 2024225 2024237 - Identifier 2024238 2024250 - QuestionToken 2024251 2024253 - Identifier 2024253 2024263 - ColonToken 2024263 2024265 - Identifier 2024265 2024278 - IfStatement 2024298 2024560 - BinaryExpression 2024320 2024383 - CallExpression 2024320 2024369 - Identifier 2024320 2024362 - Identifier 2024363 2024368 - EqualsEqualsEqualsToken 2024369 2024373 - Identifier 2024373 2024383 - Block 2024384 2024560 - ExpressionStatement 2024386 2024504 - CallExpression 2024386 2024503 - Identifier 2024386 2024426 - Identifier 2024427 2024432 - PropertyAccessExpression 2024433 2024502 - Identifier 2024433 2024445 - Identifier 2024446 2024502 - ReturnStatement 2024504 2024541 - Identifier 2024532 2024540 - ExpressionStatement 2024575 2024691 - BinaryExpression 2024575 2024690 - Identifier 2024575 2024595 - EqualsToken 2024595 2024597 - BinaryExpression 2024597 2024690 - Identifier 2024597 2024619 - AmpersandAmpersandToken 2024619 2024622 - CallExpression 2024622 2024690 - Identifier 2024622 2024657 - Identifier 2024658 2024666 - Identifier 2024667 2024689 - IfStatement 2024691 2025721 - BinaryExpression 2024709 2024727 - Identifier 2024709 2024713 - EqualsEqualsEqualsToken 2024713 2024717 - Identifier 2024717 2024727 - Block 2024728 2025362 - IfStatement 2024730 2024985 - CallExpression 2024848 2024924 - Identifier 2024848 2024884 - Identifier 2024885 2024893 - Identifier 2024894 2024900 - Identifier 2024901 2024923 - Block 2024925 2024985 - ReturnStatement 2024927 2024966 - Identifier 2024955 2024965 - VariableStatement 2024985 2025077 - VariableDeclarationList 2024985 2025076 - VariableDeclaration 2025008 2025076 - Identifier 2025008 2025024 - CallExpression 2025026 2025076 - Identifier 2025026 2025069 - Identifier 2025070 2025075 - IfStatement 2025077 2025347 - BinaryExpression 2025099 2025194 - Identifier 2025099 2025114 - AmpersandAmpersandToken 2025114 2025117 - CallExpression 2025117 2025194 - Identifier 2025117 2025131 - CallExpression 2025132 2025168 - Identifier 2025132 2025151 - Identifier 2025152 2025167 - PropertyAccessExpression 2025169 2025193 - Identifier 2025169 2025185 - Identifier 2025186 2025193 - Block 2025195 2025347 - ExpressionStatement 2025197 2025328 - CallExpression 2025197 2025327 - Identifier 2025197 2025237 - Identifier 2025238 2025243 - PropertyAccessExpression 2025244 2025311 - Identifier 2025244 2025256 - Identifier 2025257 2025311 - CallExpression 2025312 2025326 - Identifier 2025312 2025319 - Identifier 2025320 2025325 - Block 2025380 2025721 - VariableStatement 2025382 2025506 - VariableDeclarationList 2025382 2025505 - VariableDeclaration 2025405 2025505 - Identifier 2025405 2025423 - BinaryExpression 2025425 2025505 - BinaryExpression 2025425 2025462 - PropertyAccessExpression 2025425 2025436 - Identifier 2025425 2025430 - Identifier 2025431 2025436 - AmpersandToken 2025436 2025438 - PropertyAccessExpression 2025438 2025462 - Identifier 2025438 2025450 - Identifier 2025451 2025462 - AmpersandAmpersandToken 2025462 2025465 - PrefixUnaryExpression 2025465 2025505 - ParenthesizedExpression 2025467 2025505 - BinaryExpression 2025468 2025504 - PropertyAccessExpression 2025468 2025478 - Identifier 2025468 2025472 - Identifier 2025473 2025478 - AmpersandToken 2025478 2025480 - PropertyAccessExpression 2025480 2025504 - Identifier 2025480 2025492 - Identifier 2025493 2025504 - IfStatement 2025506 2025706 - BinaryExpression 2025528 2025591 - Identifier 2025528 2025545 - AmpersandAmpersandToken 2025545 2025548 - BinaryExpression 2025548 2025591 - Identifier 2025548 2025563 - ExclamationEqualsEqualsToken 2025563 2025567 - PropertyAccessExpression 2025567 2025591 - Identifier 2025567 2025582 - Identifier 2025583 2025591 - Block 2025592 2025706 - ExpressionStatement 2025594 2025687 - CallExpression 2025594 2025686 - Identifier 2025594 2025621 - Identifier 2025622 2025626 - PropertyAccessExpression 2025627 2025685 - Identifier 2025627 2025639 - Identifier 2025640 2025685 - Block 2025746 2026283 - IfStatement 2025748 2026058 - Identifier 2025766 2025775 - Block 2025776 2026058 - IfStatement 2025778 2025965 - BinaryExpression 2025800 2025834 - CallExpression 2025800 2025818 - Identifier 2025800 2025812 - Identifier 2025813 2025817 - AmpersandAmpersandToken 2025818 2025821 - Identifier 2025821 2025834 - Block 2025835 2025965 - ExpressionStatement 2025837 2025946 - CallExpression 2025837 2025945 - Identifier 2025837 2025879 - Identifier 2025880 2025884 - PropertyAccessExpression 2025885 2025908 - Identifier 2025885 2025899 - Identifier 2025900 2025908 - Identifier 2025909 2025934 - Identifier 2025935 2025944 - ReturnStatement 2025965 2026043 - ConditionalExpression 2025989 2026042 - CallExpression 2025989 2026015 - Identifier 2025989 2026001 - Identifier 2026002 2026014 - QuestionToken 2026015 2026017 - Identifier 2026017 2026027 - ColonToken 2026027 2026029 - Identifier 2026029 2026042 - ExpressionStatement 2026058 2026272 - BinaryExpression 2026058 2026271 - Identifier 2026058 2026076 - EqualsToken 2026076 2026078 - CallExpression 2026078 2026271 - Identifier 2026078 2026096 - Identifier 2026097 2026109 - PropertyAccessExpression 2026110 2026128 - Identifier 2026110 2026116 - Identifier 2026117 2026128 - CallExpression 2026129 2026203 - Identifier 2026129 2026189 - Identifier 2026190 2026202 - BinaryExpression 2026204 2026270 - PropertyAccessExpression 2026204 2026241 - Identifier 2026204 2026236 - Identifier 2026237 2026241 - EqualsEqualsEqualsToken 2026241 2026245 - PropertyAccessExpression 2026245 2026270 - Identifier 2026245 2026256 - Identifier 2026257 2026270 - ExpressionStatement 2026283 2026360 - CallExpression 2026283 2026359 - Identifier 2026283 2026313 - Identifier 2026314 2026318 - PropertyAccessExpression 2026319 2026342 - Identifier 2026319 2026333 - Identifier 2026334 2026342 - Identifier 2026343 2026348 - Identifier 2026349 2026358 - VariableStatement 2026360 2026391 - VariableDeclarationList 2026360 2026390 - VariableDeclaration 2026375 2026390 - Identifier 2026375 2026384 - TypeReference 2026385 2026390 - Identifier 2026385 2026390 - IfStatement 2026391 2030068 - PrefixUnaryExpression 2026405 2026410 - Identifier 2026406 2026410 - Block 2026411 2028915 - VariableStatement 2026413 2026678 - VariableDeclarationList 2026413 2026677 - VariableDeclaration 2026432 2026677 - Identifier 2026432 2026442 - ConditionalExpression 2026444 2026677 - BinaryExpression 2026444 2026583 - PrefixUnaryExpression 2026444 2026472 - CallExpression 2026446 2026472 - Identifier 2026446 2026465 - Identifier 2026466 2026471 - AmpersandAmpersandToken 2026472 2026475 - ParenthesizedExpression 2026475 2026583 - BinaryExpression 2026477 2026582 - BinaryExpression 2026477 2026549 - BinaryExpression 2026477 2026515 - Identifier 2026477 2026491 - EqualsEqualsEqualsToken 2026491 2026495 - PropertyAccessExpression 2026495 2026515 - Identifier 2026495 2026510 - Identifier 2026511 2026515 - BarBarToken 2026515 2026518 - PrefixUnaryExpression 2026518 2026549 - CallExpression 2026520 2026549 - Identifier 2026520 2026539 - Identifier 2026540 2026548 - BarBarToken 2026549 2026552 - CallExpression 2026552 2026582 - Identifier 2026552 2026572 - Identifier 2026573 2026581 - QuestionToken 2026583 2026585 - CallExpression 2026585 2026665 - Identifier 2026585 2026632 - Identifier 2026633 2026645 - PropertyAccessExpression 2026646 2026664 - Identifier 2026646 2026652 - Identifier 2026653 2026664 - ColonToken 2026665 2026667 - Identifier 2026667 2026677 - IfStatement 2026678 2027936 - PrefixUnaryExpression 2026696 2026726 - ParenthesizedExpression 2026697 2026726 - BinaryExpression 2026698 2026725 - Identifier 2026698 2026707 - AmpersandAmpersandToken 2026707 2026710 - PropertyAccessExpression 2026710 2026725 - Identifier 2026710 2026720 - Identifier 2026721 2026725 - Block 2026727 2027936 - VariableStatement 2026729 2026841 - VariableDeclarationList 2026729 2026840 - VariableDeclaration 2026752 2026840 - Identifier 2026752 2026766 - CallExpression 2026768 2026840 - Identifier 2026768 2026792 - Identifier 2026793 2026797 - PropertyAccessExpression 2026798 2026814 - Identifier 2026798 2026807 - Identifier 2026808 2026814 - TrueKeyword 2026815 2026839 - IfStatement 2026841 2026965 - BinaryExpression 2026863 2026906 - PrefixUnaryExpression 2026863 2026877 - Identifier 2026864 2026877 - AmpersandAmpersandToken 2026877 2026880 - CallExpression 2026880 2026906 - Identifier 2026880 2026896 - Identifier 2026897 2026905 - Block 2026907 2026965 - ReturnStatement 2026909 2026946 - Identifier 2026937 2026945 - IfStatement 2026965 2027647 - BinaryExpression 2026987 2027023 - PropertyAccessExpression 2026987 2027002 - Identifier 2026987 2026995 - Identifier 2026996 2027002 - EqualsEqualsEqualsToken 2027002 2027006 - Identifier 2027006 2027023 - Block 2027024 2027647 - IfStatement 2027026 2027591 - BinaryExpression 2027052 2027187 - CallExpression 2027052 2027100 - PropertyAccessExpression 2027052 2027081 - NonNullExpression 2027052 2027077 - PropertyAccessExpression 2027052 2027076 - Identifier 2027052 2027068 - Identifier 2027069 2027076 - Identifier 2027078 2027081 - PropertyAccessExpression 2027082 2027099 - Identifier 2027082 2027087 - Identifier 2027088 2027099 - AmpersandAmpersandToken 2027100 2027103 - ParenthesizedExpression 2027103 2027187 - BinaryExpression 2027105 2027186 - PropertyAccessExpression 2027105 2027160 - NonNullExpression 2027105 2027154 - CallExpression 2027105 2027153 - PropertyAccessExpression 2027105 2027134 - NonNullExpression 2027105 2027130 - PropertyAccessExpression 2027105 2027129 - Identifier 2027105 2027121 - Identifier 2027122 2027129 - Identifier 2027131 2027134 - PropertyAccessExpression 2027135 2027152 - Identifier 2027135 2027140 - Identifier 2027141 2027152 - Identifier 2027155 2027160 - AmpersandToken 2027160 2027162 - PropertyAccessExpression 2027162 2027186 - Identifier 2027162 2027174 - Identifier 2027175 2027186 - Block 2027188 2027372 - ExpressionStatement 2027190 2027349 - CallExpression 2027190 2027348 - Identifier 2027190 2027221 - Identifier 2027222 2027227 - PropertyAccessExpression 2027228 2027276 - Identifier 2027228 2027240 - Identifier 2027241 2027276 - CallExpression 2027277 2027323 - Identifier 2027277 2027304 - PropertyAccessExpression 2027305 2027322 - Identifier 2027305 2027310 - Identifier 2027311 2027322 - CallExpression 2027324 2027347 - Identifier 2027324 2027337 - Identifier 2027338 2027346 - IfStatement 2027398 2027591 - Identifier 2027403 2027416 - Block 2027417 2027591 - ExpressionStatement 2027419 2027568 - CallExpression 2027419 2027567 - Identifier 2027419 2027450 - Identifier 2027451 2027456 - PropertyAccessExpression 2027457 2027542 - Identifier 2027457 2027469 - Identifier 2027470 2027542 - CallExpression 2027543 2027566 - Identifier 2027543 2027556 - Identifier 2027557 2027565 - ReturnStatement 2027591 2027628 - Identifier 2027619 2027627 - IfStatement 2027647 2027886 - BinaryExpression 2027669 2027737 - PropertyAccessExpression 2027669 2027686 - Identifier 2027669 2027674 - Identifier 2027675 2027686 - AmpersandAmpersandToken 2027686 2027689 - PrefixUnaryExpression 2027689 2027737 - CallExpression 2027691 2027737 - Identifier 2027691 2027731 - Identifier 2027732 2027736 - Block 2027738 2027886 - ExpressionStatement 2027740 2027867 - CallExpression 2027740 2027866 - Identifier 2027740 2027787 - Identifier 2027788 2027793 - ConditionalExpression 2027794 2027850 - CallExpression 2027794 2027824 - Identifier 2027794 2027814 - Identifier 2027815 2027823 - QuestionToken 2027824 2027826 - Identifier 2027826 2027839 - ColonToken 2027839 2027841 - Identifier 2027841 2027850 - Identifier 2027851 2027865 - ReturnStatement 2027886 2027921 - Identifier 2027910 2027920 - IfStatement 2027936 2028164 - BinaryExpression 2027954 2028028 - PropertyAccessExpression 2027954 2027974 - Identifier 2027954 2027963 - Identifier 2027964 2027974 - AmpersandAmpersandToken 2027974 2027977 - ParenthesizedExpression 2027977 2028028 - BinaryExpression 2027979 2028027 - CallExpression 2027979 2028003 - Identifier 2027979 2027997 - Identifier 2027998 2028002 - BarBarToken 2028003 2028006 - CallExpression 2028006 2028027 - Identifier 2028006 2028021 - Identifier 2028022 2028026 - Block 2028029 2028164 - ExpressionStatement 2028031 2028149 - CallExpression 2028031 2028148 - Identifier 2028031 2028054 - Identifier 2028055 2028059 - PropertyAccessExpression 2028060 2028119 - Identifier 2028060 2028072 - Identifier 2028073 2028119 - CallExpression 2028120 2028147 - Identifier 2028120 2028133 - Identifier 2028134 2028146 - ExpressionStatement 2028164 2028206 - BinaryExpression 2028164 2028205 - Identifier 2028164 2028188 - EqualsToken 2028188 2028190 - PropertyAccessExpression 2028190 2028205 - Identifier 2028190 2028200 - Identifier 2028201 2028205 - IfStatement 2028206 2028410 - BinaryExpression 2028224 2028325 - PropertyAccessExpression 2028224 2028264 - Identifier 2028224 2028239 - Identifier 2028240 2028264 - AmpersandAmpersandToken 2028264 2028267 - BinaryExpression 2028267 2028325 - CallExpression 2028267 2028297 - Identifier 2028267 2028291 - Identifier 2028292 2028296 - ExclamationEqualsEqualsToken 2028297 2028301 - PropertyAccessExpression 2028301 2028325 - Identifier 2028301 2028316 - Identifier 2028317 2028325 - Block 2028326 2028410 - ExpressionStatement 2028328 2028395 - BinaryExpression 2028328 2028394 - Identifier 2028328 2028354 - EqualsToken 2028354 2028356 - CallExpression 2028356 2028394 - Identifier 2028356 2028369 - ArrayLiteralExpression 2028370 2028393 - Identifier 2028371 2028379 - Identifier 2028380 2028392 - IfStatement 2028410 2028694 - BinaryExpression 2028428 2028514 - PropertyAccessExpression 2028428 2028478 - Identifier 2028428 2028443 - Identifier 2028444 2028478 - AmpersandAmpersandToken 2028478 2028481 - CallExpression 2028481 2028514 - Identifier 2028481 2028508 - Identifier 2028509 2028513 - Block 2028515 2028694 - ExpressionStatement 2028517 2028679 - CallExpression 2028517 2028678 - Identifier 2028517 2028540 - Identifier 2028541 2028546 - PropertyAccessExpression 2028547 2028630 - Identifier 2028547 2028559 - Identifier 2028560 2028630 - CallExpression 2028631 2028677 - Identifier 2028631 2028658 - PropertyAccessExpression 2028659 2028676 - Identifier 2028659 2028664 - Identifier 2028665 2028676 - IfStatement 2028694 2028904 - BinaryExpression 2028712 2028783 - PropertyAccessExpression 2028712 2028733 - Identifier 2028712 2028721 - Identifier 2028722 2028733 - AmpersandAmpersandToken 2028733 2028736 - CallExpression 2028736 2028783 - Identifier 2028736 2028760 - PropertyAccessExpression 2028761 2028782 - Identifier 2028761 2028770 - Identifier 2028771 2028782 - Block 2028784 2028904 - ExpressionStatement 2028786 2028889 - CallExpression 2028786 2028888 - Identifier 2028786 2028827 - Identifier 2028828 2028833 - ArrayLiteralExpression 2028834 2028858 - PropertyAccessExpression 2028836 2028857 - Identifier 2028836 2028845 - Identifier 2028846 2028857 - AsExpression 2028859 2028887 - PropertyAccessExpression 2028859 2028877 - Identifier 2028859 2028865 - Identifier 2028866 2028877 - StringKeyword 2028880 2028887 - Block 2028929 2030068 - VariableStatement 2028931 2029016 - VariableDeclarationList 2028931 2029015 - VariableDeclaration 2028950 2029015 - Identifier 2028950 2028967 - CallExpression 2028969 2029015 - Identifier 2028969 2029002 - Identifier 2029003 2029007 - Identifier 2029008 2029014 - IfStatement 2029016 2029285 - BinaryExpression 2029034 2029158 - BinaryExpression 2029034 2029125 - CallExpression 2029034 2029070 - Identifier 2029034 2029052 - Identifier 2029053 2029069 - AmpersandAmpersandToken 2029070 2029073 - CallExpression 2029073 2029125 - Identifier 2029073 2029101 - Identifier 2029102 2029106 - Identifier 2029107 2029124 - AmpersandAmpersandToken 2029125 2029128 - PropertyAccessExpression 2029128 2029158 - Identifier 2029128 2029145 - Identifier 2029146 2029158 - Block 2029159 2029285 - ExpressionStatement 2029161 2029270 - CallExpression 2029161 2029269 - Identifier 2029161 2029202 - Identifier 2029203 2029208 - PropertyAccessExpression 2029209 2029239 - Identifier 2029209 2029226 - Identifier 2029227 2029239 - AsExpression 2029240 2029268 - PropertyAccessExpression 2029240 2029258 - Identifier 2029240 2029246 - Identifier 2029247 2029258 - StringKeyword 2029261 2029268 - ExpressionStatement 2029285 2029356 - CallExpression 2029285 2029355 - Identifier 2029285 2029336 - Identifier 2029337 2029341 - Identifier 2029342 2029347 - Identifier 2029348 2029354 - ExpressionStatement 2029356 2029445 - CallExpression 2029356 2029444 - Identifier 2029356 2029394 - Identifier 2029395 2029399 - Identifier 2029400 2029405 - CallExpression 2029406 2029443 - Identifier 2029406 2029423 - Identifier 2029424 2029428 - Identifier 2029429 2029442 - ExpressionStatement 2029445 2029500 - BinaryExpression 2029445 2029499 - PropertyAccessExpression 2029445 2029492 - CallExpression 2029445 2029477 - Identifier 2029445 2029471 - Identifier 2029472 2029476 - Identifier 2029478 2029492 - EqualsToken 2029492 2029494 - Identifier 2029494 2029499 - ExpressionStatement 2029500 2029627 - CallExpression 2029500 2029626 - Identifier 2029500 2029540 - Identifier 2029541 2029545 - BinaryExpression 2029546 2029584 - PropertyAccessExpression 2029546 2029556 - Identifier 2029546 2029551 - Identifier 2029552 2029556 - EqualsEqualsEqualsToken 2029556 2029560 - PropertyAccessExpression 2029560 2029584 - Identifier 2029560 2029571 - Identifier 2029572 2029584 - CallExpression 2029585 2029605 - Identifier 2029585 2029599 - Identifier 2029600 2029604 - Identifier 2029606 2029619 - Identifier 2029620 2029625 - IfStatement 2029627 2029881 - CallExpression 2029645 2029715 - Identifier 2029645 2029673 - AsExpression 2029674 2029692 - Identifier 2029674 2029678 - TypeReference 2029681 2029692 - Identifier 2029681 2029692 - Identifier 2029693 2029698 - Identifier 2029699 2029714 - Block 2029716 2029881 - ExpressionStatement 2029718 2029831 - CallExpression 2029718 2029830 - Identifier 2029718 2029741 - Identifier 2029742 2029747 - PropertyAccessExpression 2029748 2029814 - Identifier 2029748 2029760 - Identifier 2029761 2029814 - CallExpression 2029815 2029829 - Identifier 2029815 2029822 - Identifier 2029823 2029828 - ReturnStatement 2029831 2029866 - Identifier 2029855 2029865 - ExpressionStatement 2029881 2030057 - BinaryExpression 2029881 2030056 - Identifier 2029881 2029905 - EqualsToken 2029905 2029907 - ConditionalExpression 2029907 2030056 - CallExpression 2029907 2029953 - Identifier 2029907 2029941 - Identifier 2029942 2029946 - Identifier 2029947 2029952 - QuestionToken 2029953 2029955 - Identifier 2029955 2029964 - ColonToken 2029964 2029966 - ConditionalExpression 2029966 2030056 - BinaryExpression 2029966 2030003 - Identifier 2029966 2029976 - BarBarToken 2029976 2029979 - CallExpression 2029979 2030003 - Identifier 2029979 2029997 - Identifier 2029998 2030002 - QuestionToken 2030003 2030005 - CallExpression 2030005 2030032 - Identifier 2030005 2030026 - Identifier 2030027 2030031 - ColonToken 2030032 2030034 - CallExpression 2030034 2030056 - Identifier 2030034 2030050 - Identifier 2030051 2030055 - ReturnStatement 2030068 2030157 - CallExpression 2030086 2030156 - Identifier 2030086 2030116 - Identifier 2030117 2030121 - Identifier 2030122 2030127 - Identifier 2030128 2030137 - Identifier 2030138 2030144 - Identifier 2030145 2030155 - FunctionDeclaration 2030164 2031882 - Identifier 2030589 2030613 - Parameter 2030614 2030636 - Identifier 2030614 2030618 - UnionType 2030619 2030636 - TypeReference 2030619 2030624 - Identifier 2030619 2030624 - UndefinedKeyword 2030626 2030636 - Parameter 2030637 2030668 - Identifier 2030637 2030648 - UnionType 2030649 2030668 - TypeReference 2030649 2030656 - Identifier 2030649 2030656 - UndefinedKeyword 2030658 2030668 - Parameter 2030669 2030693 - Identifier 2030669 2030684 - BooleanKeyword 2030685 2030693 - BooleanKeyword 2030695 2030703 - Block 2030703 2031882 - VariableStatement 2030705 2030754 - VariableDeclarationList 2030705 2030753 - VariableDeclaration 2030720 2030753 - Identifier 2030720 2030725 - CallExpression 2030727 2030753 - Identifier 2030727 2030747 - Identifier 2030748 2030752 - IfStatement 2030754 2031852 - Identifier 2030768 2030772 - Block 2030773 2031852 - IfStatement 2030775 2031841 - BinaryExpression 2030793 2030946 - BinaryExpression 2030793 2030869 - BinaryExpression 2030793 2030830 - PropertyAccessExpression 2030793 2030816 - Identifier 2030793 2030808 - Identifier 2030809 2030816 - EqualsEqualsEqualsToken 2030816 2030820 - Identifier 2030820 2030830 - AmpersandAmpersandToken 2030830 2030833 - BinaryExpression 2030833 2030869 - PropertyAccessExpression 2030833 2030855 - Identifier 2030833 2030838 - Identifier 2030839 2030855 - EqualsEqualsEqualsToken 2030855 2030859 - Identifier 2030859 2030869 - AmpersandAmpersandToken 2030869 2030872 - ParenthesizedExpression 2030872 2030946 - BinaryExpression 2030874 2030945 - BinaryExpression 2030874 2030907 - PropertyAccessExpression 2030874 2030889 - Identifier 2030874 2030878 - Identifier 2030879 2030889 - EqualsEqualsEqualsToken 2030889 2030893 - PropertyAccessExpression 2030893 2030907 - Identifier 2030893 2030904 - Identifier 2030905 2030907 - BarBarToken 2030907 2030910 - BinaryExpression 2030910 2030945 - PropertyAccessExpression 2030910 2030926 - Identifier 2030910 2030915 - Identifier 2030916 2030926 - EqualsEqualsEqualsToken 2030926 2030930 - PropertyAccessExpression 2030930 2030945 - Identifier 2030930 2030941 - Identifier 2030942 2030945 - Block 2030947 2031841 - VariableStatement 2030949 2031046 - VariableDeclarationList 2030949 2031045 - VariableDeclaration 2030972 2031045 - Identifier 2030972 2030988 - CallExpression 2030990 2031045 - Identifier 2030990 2030998 - PropertyAccessExpression 2030999 2031023 - Identifier 2030999 2031009 - QuestionDotToken 2031009 2031011 - Identifier 2031011 2031023 - Identifier 2031024 2031044 - VariableStatement 2031046 2031402 - VariableDeclarationList 2031046 2031401 - VariableDeclaration 2031069 2031401 - Identifier 2031069 2031104 - BinaryExpression 2031106 2031401 - BinaryExpression 2031106 2031278 - BinaryExpression 2031106 2031202 - PrefixUnaryExpression 2031106 2031136 - PropertyAccessExpression 2031108 2031136 - Identifier 2031108 2031118 - QuestionDotToken 2031118 2031120 - Identifier 2031120 2031136 - BarBarToken 2031136 2031160 - PrefixUnaryExpression 2031160 2031202 - CallExpression 2031162 2031202 - Identifier 2031162 2031173 - PropertyAccessExpression 2031174 2031201 - Identifier 2031174 2031184 - Identifier 2031185 2031201 - BarBarToken 2031202 2031226 - PropertyAccessExpression 2031226 2031278 - PropertyAccessExpression 2031226 2031270 - PropertyAccessExpression 2031226 2031254 - Identifier 2031226 2031237 - Identifier 2031238 2031254 - Identifier 2031255 2031270 - QuestionDotToken 2031270 2031272 - Identifier 2031272 2031278 - BarBarToken 2031278 2031302 - CallExpression 2031302 2031401 - Identifier 2031302 2031341 - FalseKeyword 2031342 2031371 - PropertyAccessExpression 2031372 2031400 - Identifier 2031372 2031383 - Identifier 2031384 2031400 - ReturnStatement 2031402 2031826 - BinaryExpression 2031426 2031825 - BinaryExpression 2031426 2031648 - PrefixUnaryExpression 2031426 2031514 - ParenthesizedExpression 2031428 2031514 - BinaryExpression 2031429 2031513 - BinaryExpression 2031429 2031474 - BinaryExpression 2031429 2031453 - Identifier 2031429 2031433 - ExclamationEqualsEqualsToken 2031433 2031437 - Identifier 2031437 2031453 - AmpersandAmpersandToken 2031453 2031456 - PrefixUnaryExpression 2031456 2031474 - PrefixUnaryExpression 2031458 2031474 - Identifier 2031459 2031474 - AmpersandAmpersandToken 2031474 2031477 - CallExpression 2031477 2031513 - Identifier 2031477 2031496 - Identifier 2031497 2031512 - AmpersandAmpersandToken 2031514 2031538 - PrefixUnaryExpression 2031538 2031648 - ParenthesizedExpression 2031540 2031648 - BinaryExpression 2031541 2031647 - BinaryExpression 2031541 2031609 - BinaryExpression 2031541 2031569 - Identifier 2031541 2031555 - AmpersandAmpersandToken 2031555 2031558 - Identifier 2031558 2031569 - AmpersandAmpersandToken 2031569 2031572 - BinaryExpression 2031572 2031609 - PropertyAccessExpression 2031572 2031589 - Identifier 2031572 2031583 - Identifier 2031584 2031589 - AmpersandToken 2031589 2031591 - PropertyAccessExpression 2031591 2031609 - Identifier 2031591 2031603 - Identifier 2031604 2031609 - AmpersandAmpersandToken 2031609 2031612 - Identifier 2031612 2031647 - AmpersandAmpersandToken 2031648 2031672 - PrefixUnaryExpression 2031672 2031825 - ParenthesizedExpression 2031674 2031825 - BinaryExpression 2031675 2031824 - BinaryExpression 2031675 2031786 - BinaryExpression 2031675 2031735 - BinaryExpression 2031675 2031699 - PrefixUnaryExpression 2031675 2031681 - PrefixUnaryExpression 2031676 2031681 - Identifier 2031677 2031681 - AmpersandAmpersandToken 2031681 2031684 - Identifier 2031684 2031699 - AmpersandAmpersandToken 2031699 2031702 - CallExpression 2031702 2031735 - Identifier 2031702 2031729 - Identifier 2031730 2031734 - AmpersandAmpersandToken 2031735 2031738 - BinaryExpression 2031738 2031786 - PropertyAccessExpression 2031738 2031759 - PropertyAccessExpression 2031738 2031754 - Identifier 2031738 2031743 - Identifier 2031744 2031754 - Identifier 2031755 2031759 - EqualsEqualsEqualsToken 2031759 2031763 - PropertyAccessExpression 2031763 2031786 - Identifier 2031763 2031774 - Identifier 2031775 2031786 - AmpersandAmpersandToken 2031786 2031789 - Identifier 2031789 2031824 - ReturnStatement 2031852 2031875 - FalseKeyword 2031868 2031874 - FunctionDeclaration 2031882 2035142 - Identifier 2031898 2031928 - Parameter 2031929 2032001 - Identifier 2031929 2031933 - UnionType 2031934 2032001 - TypeReference 2031934 2031958 - Identifier 2031934 2031958 - TypeReference 2031960 2031985 - Identifier 2031960 2031985 - TypeReference 2031987 2032001 - Identifier 2031987 2032001 - Parameter 2032002 2032027 - Identifier 2032002 2032007 - UnionType 2032008 2032027 - TypeReference 2032008 2032015 - Identifier 2032008 2032015 - UndefinedKeyword 2032017 2032027 - Parameter 2032028 2032043 - Identifier 2032028 2032037 - TypeReference 2032038 2032043 - Identifier 2032038 2032043 - Parameter 2032044 2032060 - Identifier 2032044 2032054 - TypeReference 2032055 2032060 - Identifier 2032055 2032060 - Parameter 2032061 2032094 - Identifier 2032061 2032071 - UnionType 2032072 2032094 - TypeReference 2032072 2032082 - Identifier 2032072 2032082 - UndefinedKeyword 2032084 2032094 - Block 2032095 2035142 - VariableStatement 2032097 2032396 - VariableDeclarationList 2032097 2032395 - VariableDeclaration 2032348 2032395 - Identifier 2032348 2032363 - CallExpression 2032365 2032395 - Identifier 2032365 2032389 - Identifier 2032390 2032394 - IfStatement 2032396 2032562 - BinaryExpression 2032410 2032452 - Identifier 2032410 2032424 - EqualsEqualsEqualsToken 2032424 2032428 - PropertyAccessExpression 2032428 2032452 - Identifier 2032428 2032443 - Identifier 2032444 2032452 - Block 2032453 2032562 - ReturnStatement 2032455 2032551 - CallExpression 2032475 2032550 - Identifier 2032475 2032493 - Identifier 2032494 2032502 - PrefixUnaryExpression 2032503 2032549 - PrefixUnaryExpression 2032505 2032549 - ParenthesizedExpression 2032506 2032549 - BinaryExpression 2032507 2032548 - Identifier 2032507 2032511 - AmpersandAmpersandToken 2032511 2032514 - BinaryExpression 2032514 2032548 - PropertyAccessExpression 2032514 2032525 - Identifier 2032514 2032519 - Identifier 2032520 2032525 - AmpersandToken 2032525 2032527 - PropertyAccessExpression 2032527 2032548 - Identifier 2032527 2032539 - Identifier 2032540 2032548 - IfStatement 2032562 2032899 - BinaryExpression 2032576 2032845 - BinaryExpression 2032576 2032782 - BinaryExpression 2032576 2032695 - Identifier 2032576 2032594 - AmpersandAmpersandToken 2032594 2032597 - PrefixUnaryExpression 2032597 2032695 - ParenthesizedExpression 2032612 2032695 - BinaryExpression 2032613 2032694 - PropertyAccessExpression 2032613 2032623 - Identifier 2032613 2032617 - Identifier 2032618 2032623 - AmpersandToken 2032623 2032625 - ParenthesizedExpression 2032625 2032694 - BinaryExpression 2032627 2032693 - BinaryExpression 2032627 2032670 - PropertyAccessExpression 2032627 2032647 - Identifier 2032627 2032638 - Identifier 2032639 2032647 - BarToken 2032647 2032649 - PropertyAccessExpression 2032649 2032670 - Identifier 2032649 2032661 - Identifier 2032662 2032670 - BarToken 2032670 2032672 - PropertyAccessExpression 2032672 2032693 - Identifier 2032672 2032684 - Identifier 2032685 2032693 - AmpersandAmpersandToken 2032695 2032711 - PrefixUnaryExpression 2032711 2032782 - ParenthesizedExpression 2032713 2032782 - BinaryExpression 2032714 2032781 - BinaryExpression 2032714 2032745 - PropertyAccessExpression 2032714 2032724 - Identifier 2032714 2032718 - Identifier 2032719 2032724 - AmpersandToken 2032724 2032726 - PropertyAccessExpression 2032726 2032745 - Identifier 2032726 2032738 - Identifier 2032739 2032745 - AmpersandAmpersandToken 2032745 2032748 - BinaryExpression 2032748 2032781 - PropertyAccessExpression 2032748 2032763 - Identifier 2032748 2032757 - Identifier 2032758 2032763 - AmpersandToken 2032763 2032765 - PropertyAccessExpression 2032765 2032781 - Identifier 2032765 2032775 - Identifier 2032776 2032781 - AmpersandAmpersandToken 2032782 2032798 - PrefixUnaryExpression 2032798 2032845 - CallExpression 2032800 2032845 - Identifier 2032800 2032826 - PropertyAccessExpression 2032827 2032844 - Identifier 2032827 2032831 - Identifier 2032832 2032844 - Block 2032856 2032899 - ReturnStatement 2032858 2032888 - Identifier 2032878 2032887 - IfStatement 2032899 2033003 - BinaryExpression 2032913 2032934 - Identifier 2032913 2032921 - EqualsEqualsEqualsToken 2032921 2032925 - Identifier 2032925 2032934 - Block 2032935 2033003 - ReturnStatement 2032937 2032992 - CallExpression 2032957 2032991 - Identifier 2032957 2032979 - Identifier 2032980 2032984 - Identifier 2032985 2032990 - ExpressionStatement 2033003 2033081 - BinaryExpression 2033003 2033080 - Identifier 2033003 2033021 - EqualsToken 2033021 2033023 - CallExpression 2033023 2033080 - Identifier 2033023 2033053 - Identifier 2033054 2033062 - Identifier 2033063 2033068 - Identifier 2033069 2033079 - VariableStatement 2033081 2033503 - VariableDeclarationList 2033081 2033502 - VariableDeclaration 2033474 2033502 - Identifier 2033474 2033494 - FalseKeyword 2033496 2033502 - IfStatement 2033503 2034587 - BinaryExpression 2033517 2033644 - BinaryExpression 2033517 2033593 - BinaryExpression 2033517 2033565 - Identifier 2033517 2033533 - AmpersandAmpersandToken 2033533 2033536 - Identifier 2033536 2033565 - AmpersandAmpersandToken 2033565 2033568 - CallExpression 2033568 2033593 - Identifier 2033568 2033587 - Identifier 2033588 2033592 - AmpersandAmpersandToken 2033593 2033596 - BinaryExpression 2033596 2033644 - PropertyAccessExpression 2033596 2033617 - PropertyAccessExpression 2033596 2033612 - Identifier 2033596 2033601 - Identifier 2033602 2033612 - Identifier 2033613 2033617 - EqualsEqualsEqualsToken 2033617 2033621 - PropertyAccessExpression 2033621 2033644 - Identifier 2033621 2033632 - Identifier 2033633 2033644 - Block 2033645 2034195 - VariableStatement 2033647 2033711 - VariableDeclarationList 2033647 2033710 - VariableDeclaration 2033666 2033710 - Identifier 2033666 2033678 - BinaryExpression 2033680 2033710 - Identifier 2033680 2033685 - AmpersandAmpersandToken 2033685 2033688 - PropertyAccessExpression 2033688 2033710 - Identifier 2033688 2033693 - Identifier 2033694 2033710 - IfStatement 2033711 2034184 - BinaryExpression 2033729 2033785 - Identifier 2033729 2033740 - AmpersandAmpersandToken 2033740 2033743 - CallExpression 2033743 2033785 - Identifier 2033743 2033772 - Identifier 2033773 2033784 - Block 2033786 2034184 - IfStatement 2033788 2034169 - PrefixUnaryExpression 2033810 2033832 - CallExpression 2033811 2033832 - Identifier 2033811 2033819 - Identifier 2033820 2033831 - Block 2033833 2034169 - VariableStatement 2033835 2033909 - VariableDeclarationList 2033835 2033908 - VariableDeclaration 2033862 2033908 - Identifier 2033862 2033876 - CallExpression 2033878 2033908 - Identifier 2033878 2033902 - Identifier 2033903 2033907 - IfStatement 2033909 2034150 - BinaryExpression 2033935 2034071 - BinaryExpression 2033935 2034027 - BinaryExpression 2033935 2033980 - PropertyAccessExpression 2033935 2033953 - Identifier 2033935 2033948 - Identifier 2033949 2033953 - EqualsEqualsEqualsToken 2033953 2033957 - PropertyAccessExpression 2033957 2033980 - Identifier 2033957 2033968 - Identifier 2033969 2033980 - AmpersandAmpersandToken 2033980 2033983 - BinaryExpression 2033983 2034027 - PropertyAccessExpression 2033983 2034004 - Identifier 2033983 2033997 - Identifier 2033998 2034004 - EqualsEqualsEqualsToken 2034004 2034008 - PropertyAccessExpression 2034008 2034027 - Identifier 2034008 2034020 - Identifier 2034021 2034027 - AmpersandAmpersandToken 2034027 2034030 - PrefixUnaryExpression 2034030 2034071 - ParenthesizedExpression 2034032 2034071 - BinaryExpression 2034033 2034070 - PropertyAccessExpression 2034033 2034050 - Identifier 2034033 2034044 - Identifier 2034045 2034050 - AmpersandToken 2034050 2034052 - PropertyAccessExpression 2034052 2034070 - Identifier 2034052 2034062 - Identifier 2034063 2034070 - Block 2034072 2034150 - ExpressionStatement 2034074 2034127 - BinaryExpression 2034074 2034126 - Identifier 2034074 2034119 - EqualsToken 2034119 2034121 - TrueKeyword 2034121 2034126 - IfStatement 2034209 2034587 - BinaryExpression 2034214 2034522 - BinaryExpression 2034214 2034425 - BinaryExpression 2034214 2034343 - BinaryExpression 2034214 2034277 - BinaryExpression 2034214 2034252 - Identifier 2034214 2034244 - AmpersandAmpersandToken 2034244 2034247 - Identifier 2034247 2034252 - AmpersandAmpersandToken 2034252 2034255 - PropertyAccessExpression 2034255 2034277 - Identifier 2034255 2034260 - Identifier 2034261 2034277 - AmpersandAmpersandToken 2034277 2034280 - CallExpression 2034280 2034343 - Identifier 2034280 2034320 - PropertyAccessExpression 2034321 2034342 - Identifier 2034321 2034325 - Identifier 2034326 2034342 - AmpersandAmpersandToken 2034343 2034346 - CallExpression 2034346 2034425 - Identifier 2034346 2034402 - PropertyAccessExpression 2034403 2034424 - Identifier 2034403 2034407 - Identifier 2034408 2034424 - AmpersandAmpersandToken 2034425 2034428 - BinaryExpression 2034428 2034522 - CallExpression 2034428 2034471 - Identifier 2034428 2034465 - Identifier 2034466 2034470 - EqualsEqualsEqualsToken 2034471 2034475 - CallExpression 2034475 2034522 - Identifier 2034475 2034499 - PropertyAccessExpression 2034500 2034521 - Identifier 2034500 2034504 - Identifier 2034505 2034521 - Block 2034533 2034587 - ExpressionStatement 2034535 2034576 - BinaryExpression 2034535 2034575 - Identifier 2034535 2034568 - EqualsToken 2034568 2034570 - TrueKeyword 2034570 2034575 - VariableStatement 2034587 2034713 - VariableDeclarationList 2034587 2034712 - VariableDeclaration 2034602 2034712 - Identifier 2034602 2034611 - CallExpression 2034613 2034712 - Identifier 2034613 2034636 - Identifier 2034637 2034641 - Identifier 2034642 2034651 - ConditionalExpression 2034652 2034711 - Identifier 2034652 2034672 - QuestionToken 2034672 2034674 - CallExpression 2034674 2034700 - Identifier 2034674 2034690 - Identifier 2034691 2034699 - ColonToken 2034700 2034702 - Identifier 2034702 2034711 - IfStatement 2034713 2035055 - BinaryExpression 2034727 2034817 - BinaryExpression 2034727 2034782 - Identifier 2034727 2034746 - AmpersandAmpersandToken 2034746 2034749 - PrefixUnaryExpression 2034749 2034782 - CallExpression 2034751 2034782 - Identifier 2034751 2034772 - Identifier 2034773 2034781 - AmpersandAmpersandToken 2034782 2034785 - CallExpression 2034785 2034817 - Identifier 2034785 2034807 - Identifier 2034808 2034816 - Block 2034818 2035055 - ExpressionStatement 2034820 2034928 - CallExpression 2034820 2034927 - Identifier 2034820 2034839 - Identifier 2034840 2034849 - PropertyAccessExpression 2034850 2034903 - Identifier 2034850 2034862 - Identifier 2034863 2034903 - CallExpression 2034904 2034926 - Identifier 2034904 2034919 - NonNullExpression 2034920 2034925 - Identifier 2034920 2034924 - ReturnStatement 2034928 2035044 - Identifier 2035034 2035043 - ReturnStatement 2035055 2035135 - ConditionalExpression 2035071 2035134 - Identifier 2035071 2035086 - QuestionToken 2035086 2035088 - CallExpression 2035088 2035123 - Identifier 2035088 2035113 - Identifier 2035114 2035122 - ColonToken 2035123 2035125 - Identifier 2035125 2035134 - FunctionDeclaration 2035142 2036827 - Identifier 2035158 2035196 - Parameter 2035197 2035209 - Identifier 2035197 2035201 - TypeReference 2035202 2035209 - Identifier 2035202 2035209 - Parameter 2035210 2035257 - Identifier 2035210 2035215 - UnionType 2035216 2035257 - TypeReference 2035216 2035241 - Identifier 2035216 2035241 - TypeReference 2035243 2035257 - Identifier 2035243 2035257 - Parameter 2035258 2035296 - Identifier 2035258 2035264 - UnionType 2035265 2035296 - TypeReference 2035265 2035276 - Identifier 2035265 2035276 - TypeReference 2035278 2035296 - Identifier 2035278 2035296 - VoidKeyword 2035298 2035303 - Block 2035303 2036827 - VariableStatement 2035305 2035349 - VariableDeclarationList 2035305 2035348 - VariableDeclaration 2035320 2035348 - ObjectBindingPattern 2035320 2035341 - BindingElement 2035322 2035339 - Identifier 2035322 2035339 - Identifier 2035343 2035348 - IfStatement 2035349 2035462 - BinaryExpression 2035363 2035427 - PrefixUnaryExpression 2035363 2035380 - Identifier 2035364 2035380 - BarBarToken 2035380 2035383 - PropertyAccessExpression 2035383 2035427 - CallExpression 2035383 2035409 - Identifier 2035383 2035403 - Identifier 2035404 2035408 - Identifier 2035410 2035427 - Block 2035428 2035462 - ReturnStatement 2035430 2035451 - VariableStatement 2035462 2035496 - VariableDeclarationList 2035462 2035495 - VariableDeclaration 2035477 2035495 - Identifier 2035477 2035495 - VariableStatement 2035496 2035544 - VariableDeclarationList 2035496 2035543 - VariableDeclaration 2035511 2035543 - Identifier 2035511 2035527 - CallExpression 2035529 2035543 - Identifier 2035529 2035536 - Identifier 2035537 2035542 - IfStatement 2035544 2036632 - BinaryExpression 2035558 2036062 - BinaryExpression 2035558 2035976 - BinaryExpression 2035558 2035844 - BinaryExpression 2035558 2035767 - BinaryExpression 2035558 2035684 - CallExpression 2035558 2035619 - Identifier 2035558 2035613 - Identifier 2035614 2035618 - AmpersandAmpersandToken 2035619 2035635 - PrefixUnaryExpression 2035635 2035684 - CallExpression 2035637 2035684 - Identifier 2035637 2035666 - Identifier 2035667 2035683 - AmpersandAmpersandToken 2035684 2035700 - PrefixUnaryExpression 2035700 2035767 - ParenthesizedExpression 2035702 2035767 - BinaryExpression 2035703 2035766 - CallExpression 2035703 2035727 - Identifier 2035703 2035721 - Identifier 2035722 2035726 - AmpersandAmpersandToken 2035727 2035730 - CallExpression 2035730 2035766 - Identifier 2035730 2035749 - PropertyAccessExpression 2035750 2035765 - Identifier 2035750 2035754 - Identifier 2035755 2035765 - AmpersandAmpersandToken 2035767 2035783 - PrefixUnaryExpression 2035783 2035844 - CallExpression 2035785 2035844 - Identifier 2035785 2035819 - Identifier 2035820 2035836 - Identifier 2035837 2035843 - AmpersandAmpersandToken 2035844 2035860 - PrefixUnaryExpression 2035860 2035976 - ParenthesizedExpression 2035862 2035976 - BinaryExpression 2035863 2035975 - CallExpression 2035863 2035900 - Identifier 2035863 2035882 - Identifier 2035883 2035899 - AmpersandAmpersandToken 2035900 2035903 - BinaryExpression 2035903 2035975 - CallExpression 2035903 2035952 - Identifier 2035903 2035934 - Identifier 2035935 2035951 - AmpersandToken 2035952 2035954 - PropertyAccessExpression 2035954 2035975 - Identifier 2035954 2035968 - Identifier 2035969 2035975 - AmpersandAmpersandToken 2035976 2035992 - ParenthesizedExpression 2035992 2036062 - BinaryExpression 2035994 2036061 - Identifier 2035994 2036017 - BarBarToken 2036017 2036020 - PrefixUnaryExpression 2036020 2036061 - CallExpression 2036022 2036061 - Identifier 2036022 2036055 - Identifier 2036056 2036060 - Block 2036073 2036208 - ExpressionStatement 2036075 2036197 - BinaryExpression 2036075 2036196 - Identifier 2036075 2036106 - EqualsToken 2036106 2036108 - CallExpression 2036108 2036196 - Identifier 2036108 2036114 - Identifier 2036115 2036120 - PropertyAccessExpression 2036121 2036178 - Identifier 2036121 2036133 - Identifier 2036134 2036178 - Identifier 2036179 2036195 - IfStatement 2036222 2036632 - BinaryExpression 2036227 2036495 - BinaryExpression 2036227 2036418 - BinaryExpression 2036227 2036356 - BinaryExpression 2036227 2036294 - PropertyAccessExpression 2036227 2036262 - Identifier 2036227 2036257 - Identifier 2036258 2036262 - EqualsEqualsEqualsToken 2036262 2036266 - PropertyAccessExpression 2036266 2036294 - Identifier 2036266 2036277 - Identifier 2036278 2036294 - AmpersandAmpersandToken 2036294 2036297 - BinaryExpression 2036297 2036356 - PropertyAccessExpression 2036297 2036327 - PropertyAccessExpression 2036297 2036322 - Identifier 2036297 2036315 - Identifier 2036316 2036322 - Identifier 2036323 2036327 - ExclamationEqualsEqualsToken 2036327 2036331 - PropertyAccessExpression 2036331 2036356 - Identifier 2036331 2036342 - Identifier 2036343 2036356 - AmpersandAmpersandToken 2036356 2036359 - PrefixUnaryExpression 2036359 2036418 - ParenthesizedExpression 2036374 2036418 - BinaryExpression 2036375 2036417 - PropertyAccessExpression 2036375 2036397 - Identifier 2036375 2036391 - Identifier 2036392 2036397 - AmpersandToken 2036397 2036399 - PropertyAccessExpression 2036399 2036417 - Identifier 2036399 2036409 - Identifier 2036410 2036417 - AmpersandAmpersandToken 2036418 2036421 - PrefixUnaryExpression 2036421 2036495 - CallExpression 2036436 2036495 - Identifier 2036436 2036470 - Identifier 2036471 2036487 - Identifier 2036488 2036494 - Block 2036506 2036632 - ExpressionStatement 2036508 2036621 - BinaryExpression 2036508 2036620 - Identifier 2036508 2036539 - EqualsToken 2036539 2036541 - CallExpression 2036541 2036620 - Identifier 2036541 2036547 - Identifier 2036548 2036553 - PropertyAccessExpression 2036554 2036602 - Identifier 2036554 2036566 - Identifier 2036567 2036602 - Identifier 2036603 2036619 - IfStatement 2036632 2036820 - Identifier 2036648 2036665 - Block 2036666 2036820 - ExpressionStatement 2036668 2036809 - CallExpression 2036668 2036808 - Identifier 2036668 2036696 - Identifier 2036697 2036714 - CallExpression 2036715 2036807 - Identifier 2036715 2036739 - Identifier 2036740 2036756 - PropertyAccessExpression 2036757 2036789 - Identifier 2036757 2036769 - Identifier 2036770 2036789 - Identifier 2036790 2036806 - FunctionDeclaration 2036827 2038172 - Identifier 2036843 2036885 - Parameter 2036886 2036896 - Identifier 2036886 2036890 - TypeReference 2036891 2036896 - Identifier 2036891 2036896 - BooleanKeyword 2036898 2036906 - Block 2036906 2038172 - ReturnStatement 2036908 2038165 - PrefixUnaryExpression 2036924 2038164 - PrefixUnaryExpression 2036926 2038164 - CallExpression 2036927 2038164 - Identifier 2036927 2036939 - Identifier 2036940 2036944 - ArrowFunction 2036945 2038163 - Parameter 2036945 2036950 - Identifier 2036945 2036950 - EqualsGreaterThanToken 2036950 2036953 - Block 2036953 2038163 - SwitchStatement 2036955 2038152 - PropertyAccessExpression 2036977 2036986 - Identifier 2036977 2036981 - Identifier 2036982 2036986 - CaseBlock 2036987 2038152 - CaseClause 2036989 2037077 - PropertyAccessExpression 2037011 2037042 - Identifier 2037011 2037022 - Identifier 2037023 2037042 - ReturnStatement 2037043 2037077 - TrueKeyword 2037071 2037076 - CaseClause 2037077 2037130 - PropertyAccessExpression 2037099 2037129 - Identifier 2037099 2037110 - Identifier 2037111 2037129 - CaseClause 2037130 2037182 - PropertyAccessExpression 2037152 2037181 - Identifier 2037152 2037163 - Identifier 2037164 2037181 - CaseClause 2037182 2037228 - PropertyAccessExpression 2037204 2037227 - Identifier 2037204 2037215 - Identifier 2037216 2037227 - CaseClause 2037228 2037274 - PropertyAccessExpression 2037250 2037273 - Identifier 2037250 2037261 - Identifier 2037262 2037273 - CaseClause 2037274 2037325 - PropertyAccessExpression 2037296 2037324 - Identifier 2037296 2037307 - Identifier 2037308 2037324 - CaseClause 2037325 2037380 - PropertyAccessExpression 2037347 2037379 - Identifier 2037347 2037358 - Identifier 2037359 2037379 - CaseClause 2037380 2037427 - PropertyAccessExpression 2037402 2037426 - Identifier 2037402 2037413 - Identifier 2037414 2037426 - CaseClause 2037427 2037475 - PropertyAccessExpression 2037449 2037474 - Identifier 2037449 2037460 - Identifier 2037461 2037474 - CaseClause 2037475 2037522 - PropertyAccessExpression 2037497 2037521 - Identifier 2037497 2037508 - Identifier 2037509 2037521 - CaseClause 2037522 2037570 - PropertyAccessExpression 2037544 2037569 - Identifier 2037544 2037555 - Identifier 2037556 2037569 - CaseClause 2037570 2037623 - PropertyAccessExpression 2037592 2037622 - Identifier 2037592 2037603 - Identifier 2037604 2037622 - CaseClause 2037623 2037675 - PropertyAccessExpression 2037645 2037674 - Identifier 2037645 2037656 - Identifier 2037657 2037674 - CaseClause 2037675 2037737 - PropertyAccessExpression 2037697 2037736 - Identifier 2037697 2037708 - Identifier 2037709 2037736 - CaseClause 2037737 2037821 - PropertyAccessExpression 2037759 2037785 - Identifier 2037759 2037770 - Identifier 2037771 2037785 - ReturnStatement 2037786 2037821 - FalseKeyword 2037814 2037820 - CaseClause 2037821 2037869 - PropertyAccessExpression 2037843 2037868 - Identifier 2037843 2037854 - Identifier 2037855 2037868 - CaseClause 2037869 2038042 - PropertyAccessExpression 2037891 2037922 - Identifier 2037891 2037902 - Identifier 2037903 2037922 - ReturnStatement 2037923 2038042 - ConditionalExpression 2037951 2038041 - BinaryExpression 2037951 2038025 - CallExpression 2037951 2037972 - Identifier 2037951 2037959 - PropertyAccessExpression 2037960 2037971 - Identifier 2037960 2037964 - Identifier 2037965 2037971 - AmpersandAmpersandToken 2037972 2037975 - CallExpression 2037975 2038025 - Identifier 2037975 2038005 - PropertyAccessExpression 2038006 2038024 - PropertyAccessExpression 2038006 2038017 - Identifier 2038006 2038010 - Identifier 2038011 2038017 - Identifier 2038018 2038024 - QuestionToken 2038025 2038027 - TrueKeyword 2038027 2038032 - ColonToken 2038032 2038034 - StringLiteral 2038034 2038041 - DefaultClause 2038042 2038137 - ReturnStatement 2038068 2038137 - ConditionalExpression 2038096 2038136 - CallExpression 2038096 2038119 - Identifier 2038096 2038113 - Identifier 2038114 2038118 - QuestionToken 2038119 2038121 - FalseKeyword 2038121 2038127 - ColonToken 2038127 2038129 - StringLiteral 2038129 2038136 - FunctionDeclaration 2038172 2039134 - Identifier 2038464 2038498 - Parameter 2038499 2038511 - Identifier 2038499 2038503 - TypeReference 2038504 2038511 - Identifier 2038504 2038511 - BooleanKeyword 2038513 2038521 - Block 2038521 2039134 - IfStatement 2038523 2038619 - PrefixUnaryExpression 2038537 2038578 - ParenthesizedExpression 2038538 2038578 - BinaryExpression 2038539 2038577 - PropertyAccessExpression 2038539 2038557 - NonNullExpression 2038539 2038551 - PropertyAccessExpression 2038539 2038550 - Identifier 2038539 2038543 - Identifier 2038544 2038550 - Identifier 2038552 2038557 - AmpersandToken 2038557 2038559 - PropertyAccessExpression 2038559 2038577 - Identifier 2038559 2038571 - Identifier 2038572 2038577 - Block 2038579 2038619 - ReturnStatement 2038581 2038608 - FalseKeyword 2038601 2038607 - VariableStatement 2038619 2038719 - VariableDeclarationList 2038619 2038718 - VariableDeclaration 2038632 2038718 - Identifier 2038632 2038642 - UnionType 2038643 2038669 - TypeReference 2038643 2038657 - Identifier 2038643 2038657 - UndefinedKeyword 2038659 2038669 - AsExpression 2038671 2038718 - CallExpression 2038671 2038701 - Identifier 2038671 2038687 - NonNullExpression 2038688 2038700 - PropertyAccessExpression 2038688 2038699 - Identifier 2038688 2038692 - Identifier 2038693 2038699 - TypeReference 2038704 2038718 - Identifier 2038704 2038718 - WhileStatement 2038719 2039127 - TrueKeyword 2038736 2038740 - Block 2038741 2039127 - ExpressionStatement 2038743 2038843 - BinaryExpression 2038743 2038842 - Identifier 2038743 2038766 - EqualsToken 2038766 2038768 - BinaryExpression 2038768 2038842 - PropertyAccessExpression 2038768 2038785 - Identifier 2038768 2038778 - Identifier 2038779 2038785 - AmpersandAmpersandToken 2038785 2038788 - AsExpression 2038788 2038842 - CallExpression 2038788 2038813 - Identifier 2038788 2038802 - Identifier 2038803 2038812 - UnionType 2038816 2038842 - TypeReference 2038816 2038830 - Identifier 2038816 2038830 - UndefinedKeyword 2038832 2038842 - IfStatement 2038843 2038920 - PrefixUnaryExpression 2038861 2038871 - Identifier 2038862 2038871 - Block 2038872 2038920 - ReturnStatement 2038874 2038905 - FalseKeyword 2038898 2038904 - VariableStatement 2038920 2039003 - VariableDeclarationList 2038920 2039002 - VariableDeclaration 2038939 2039002 - Identifier 2038939 2038953 - CallExpression 2038955 2039002 - Identifier 2038955 2038973 - Identifier 2038974 2038983 - PropertyAccessExpression 2038984 2039001 - Identifier 2038984 2038989 - Identifier 2038990 2039001 - IfStatement 2039003 2039116 - BinaryExpression 2039021 2039068 - Identifier 2039021 2039034 - AmpersandAmpersandToken 2039034 2039037 - PropertyAccessExpression 2039037 2039068 - Identifier 2039037 2039051 - Identifier 2039052 2039068 - Block 2039069 2039116 - ReturnStatement 2039071 2039101 - TrueKeyword 2039095 2039100 - FunctionDeclaration 2039134 2039374 - Identifier 2039150 2039164 - Parameter 2039165 2039189 - Identifier 2039165 2039174 - TypeReference 2039175 2039189 - Identifier 2039175 2039189 - UnionType 2039191 2039208 - TypeReference 2039191 2039196 - Identifier 2039191 2039196 - UndefinedKeyword 2039198 2039208 - Block 2039208 2039374 - VariableStatement 2039210 2039254 - VariableDeclarationList 2039210 2039253 - VariableDeclaration 2039225 2039253 - Identifier 2039225 2039227 - CallExpression 2039229 2039253 - Identifier 2039229 2039242 - Identifier 2039243 2039252 - IfStatement 2039254 2039327 - BinaryExpression 2039268 2039282 - PropertyAccessExpression 2039268 2039276 - Identifier 2039268 2039269 - Identifier 2039270 2039276 - EqualsEqualsEqualsToken 2039276 2039280 - NumericLiteral 2039280 2039282 - Block 2039283 2039327 - ReturnStatement 2039285 2039316 - Identifier 2039305 2039315 - ReturnStatement 2039327 2039367 - CallExpression 2039343 2039366 - Identifier 2039343 2039363 - Identifier 2039364 2039365 - FunctionDeclaration 2039374 2043699 - Identifier 2039390 2039416 - Parameter 2039417 2039457 - Identifier 2039417 2039425 - UnionType 2039426 2039457 - TypeReference 2039426 2039437 - Identifier 2039426 2039437 - TypeReference 2039439 2039457 - Identifier 2039439 2039457 - Parameter 2039458 2039479 - Identifier 2039458 2039473 - TypeReference 2039474 2039479 - Identifier 2039474 2039479 - Parameter 2039480 2039503 - Identifier 2039480 2039494 - BooleanKeyword 2039495 2039503 - Block 2039504 2043699 - VariableStatement 2039506 2039553 - VariableDeclarationList 2039506 2039552 - VariableDeclaration 2039521 2039552 - Identifier 2039521 2039527 - CallExpression 2039529 2039552 - Identifier 2039529 2039542 - Identifier 2039543 2039551 - VariableStatement 2039553 2039625 - VariableDeclarationList 2039553 2039624 - VariableDeclaration 2039568 2039624 - Identifier 2039568 2039574 - ParenthesizedExpression 2039576 2039624 - BinaryExpression 2039578 2039623 - PropertyAccessExpression 2039578 2039609 - Identifier 2039578 2039583 - Identifier 2039584 2039609 - BarBarEqualsToken 2039609 2039613 - NewExpression 2039613 2039623 - Identifier 2039617 2039621 - VariableStatement 2039625 2039695 - VariableDeclarationList 2039625 2039694 - VariableDeclaration 2039640 2039694 - Identifier 2039640 2039644 - TemplateExpression 2039646 2039694 - TemplateHead 2039646 2039650 - TemplateSpan 2039650 2039679 - CallExpression 2039650 2039675 - Identifier 2039650 2039659 - Identifier 2039660 2039674 - TemplateMiddle 2039675 2039679 - TemplateSpan 2039679 2039694 - Identifier 2039679 2039692 - TemplateTail 2039692 2039694 - IfStatement 2039695 2039758 - CallExpression 2039709 2039723 - PropertyAccessExpression 2039709 2039718 - Identifier 2039709 2039714 - Identifier 2039715 2039718 - Identifier 2039719 2039722 - Block 2039724 2039758 - ReturnStatement 2039726 2039747 - ExpressionStatement 2039758 2039783 - CallExpression 2039758 2039782 - PropertyAccessExpression 2039758 2039777 - Identifier 2039758 2039773 - Identifier 2039774 2039777 - Identifier 2039778 2039781 - VariableStatement 2039783 2039843 - VariableDeclarationList 2039783 2039842 - VariableDeclaration 2039796 2039842 - Identifier 2039796 2039806 - UnionType 2039807 2039842 - TypeReference 2039807 2039830 - Identifier 2039807 2039830 - UndefinedKeyword 2039832 2039842 - VariableStatement 2039843 2039893 - VariableDeclarationList 2039843 2039892 - VariableDeclaration 2039856 2039892 - Identifier 2039856 2039868 - UnionType 2039869 2039892 - TypeReference 2039869 2039880 - Identifier 2039869 2039880 - UndefinedKeyword 2039882 2039892 - IfStatement 2039893 2040493 - BinaryExpression 2039907 2040028 - BinaryExpression 2039907 2039979 - PrefixUnaryExpression 2039907 2039937 - CallExpression 2039908 2039937 - Identifier 2039908 2039927 - Identifier 2039928 2039936 - AmpersandAmpersandToken 2039937 2039940 - BinaryExpression 2039940 2039979 - PropertyAccessExpression 2039940 2039961 - Identifier 2039940 2039955 - Identifier 2039956 2039961 - AmpersandToken 2039961 2039963 - PropertyAccessExpression 2039963 2039979 - Identifier 2039963 2039973 - Identifier 2039974 2039979 - AmpersandAmpersandToken 2039979 2039982 - PrefixUnaryExpression 2039982 2040028 - ParenthesizedExpression 2039984 2040028 - BinaryExpression 2039985 2040027 - PropertyAccessExpression 2039985 2040005 - Identifier 2039985 2039999 - Identifier 2040000 2040005 - AmpersandToken 2040005 2040007 - PropertyAccessExpression 2040007 2040027 - Identifier 2040007 2040017 - Identifier 2040018 2040027 - Block 2040029 2040493 - ForOfStatement 2040031 2040482 - VariableDeclarationList 2040050 2040063 - VariableDeclaration 2040055 2040063 - Identifier 2040055 2040063 - PropertyAccessExpression 2040066 2040102 - ParenthesizedExpression 2040066 2040096 - AsExpression 2040068 2040095 - Identifier 2040068 2040082 - TypeReference 2040085 2040095 - Identifier 2040085 2040095 - Identifier 2040097 2040102 - Block 2040103 2040482 - IfStatement 2040105 2040467 - BinaryExpression 2040127 2040241 - PrefixUnaryExpression 2040127 2040176 - CallExpression 2040128 2040176 - Identifier 2040128 2040145 - Identifier 2040146 2040153 - PropertyAccessExpression 2040154 2040175 - Identifier 2040154 2040163 - Identifier 2040164 2040175 - AmpersandAmpersandToken 2040176 2040179 - PrefixUnaryExpression 2040179 2040241 - CallExpression 2040181 2040241 - Identifier 2040181 2040210 - Identifier 2040211 2040218 - PropertyAccessExpression 2040219 2040240 - Identifier 2040219 2040228 - Identifier 2040229 2040240 - Block 2040242 2040467 - ExpressionStatement 2040244 2040420 - BinaryExpression 2040244 2040419 - Identifier 2040244 2040275 - EqualsToken 2040275 2040277 - CallExpression 2040277 2040419 - Identifier 2040277 2040301 - Identifier 2040302 2040311 - PropertyAccessExpression 2040312 2040360 - Identifier 2040312 2040324 - Identifier 2040325 2040360 - CallExpression 2040361 2040395 - Identifier 2040361 2040385 - Identifier 2040386 2040394 - CallExpression 2040396 2040418 - Identifier 2040396 2040409 - Identifier 2040410 2040417 - BreakStatement 2040420 2040448 - IfStatement 2040493 2043312 - CallExpression 2040507 2040566 - Identifier 2040507 2040528 - PropertyAccessExpression 2040529 2040549 - Identifier 2040529 2040537 - Identifier 2040538 2040549 - Identifier 2040550 2040565 - Block 2040567 2040913 - VariableStatement 2040569 2040634 - VariableDeclarationList 2040569 2040633 - VariableDeclaration 2040588 2040633 - Identifier 2040588 2040597 - CallExpression 2040599 2040633 - Identifier 2040599 2040623 - Identifier 2040624 2040632 - VariableStatement 2040634 2040694 - VariableDeclarationList 2040634 2040693 - VariableDeclaration 2040653 2040693 - Identifier 2040653 2040662 - CallExpression 2040664 2040693 - Identifier 2040664 2040677 - Identifier 2040678 2040692 - ExpressionStatement 2040694 2040902 - BinaryExpression 2040694 2040901 - Identifier 2040694 2040717 - EqualsToken 2040717 2040719 - CallExpression 2040719 2040901 - Identifier 2040719 2040743 - Identifier 2040744 2040753 - PropertyAccessExpression 2040754 2040853 - Identifier 2040754 2040766 - Identifier 2040767 2040853 - Identifier 2040854 2040863 - Identifier 2040864 2040873 - BinaryExpression 2040874 2040900 - BinaryExpression 2040874 2040889 - Identifier 2040874 2040883 - PlusToken 2040883 2040885 - StringLiteral 2040885 2040889 - PlusToken 2040889 2040891 - Identifier 2040891 2040900 - Block 2040927 2043312 - VariableStatement 2040929 2041005 - VariableDeclarationList 2040929 2041004 - VariableDeclaration 2040948 2041004 - Identifier 2040948 2040961 - CallExpression 2040963 2041004 - Identifier 2040963 2040988 - Identifier 2040989 2041003 - IfStatement 2041005 2043301 - BinaryExpression 2041023 2041092 - Identifier 2041023 2041035 - AmpersandAmpersandToken 2041035 2041038 - CallExpression 2041038 2041092 - Identifier 2041038 2041056 - Identifier 2041057 2041069 - PropertyAccessExpression 2041070 2041091 - Identifier 2041070 2041079 - Identifier 2041080 2041091 - Block 2041093 2041396 - ExpressionStatement 2041095 2041274 - BinaryExpression 2041095 2041273 - Identifier 2041095 2041122 - EqualsToken 2041122 2041124 - CallExpression 2041124 2041273 - Identifier 2041124 2041148 - Identifier 2041149 2041158 - PropertyAccessExpression 2041159 2041207 - Identifier 2041159 2041171 - Identifier 2041172 2041207 - CallExpression 2041208 2041242 - Identifier 2041208 2041232 - Identifier 2041233 2041241 - CallExpression 2041243 2041272 - Identifier 2041243 2041256 - Identifier 2041257 2041271 - ExpressionStatement 2041274 2041381 - BinaryExpression 2041274 2041380 - Identifier 2041274 2041303 - EqualsToken 2041303 2041305 - CallExpression 2041305 2041380 - Identifier 2041305 2041329 - Identifier 2041330 2041338 - PropertyAccessExpression 2041339 2041379 - Identifier 2041339 2041351 - Identifier 2041352 2041379 - Block 2041414 2043301 - VariableStatement 2041416 2041492 - VariableDeclarationList 2041416 2041491 - VariableDeclaration 2041439 2041491 - Identifier 2041439 2041455 - CallExpression 2041457 2041491 - Identifier 2041457 2041481 - Identifier 2041482 2041490 - VariableStatement 2041492 2041557 - VariableDeclarationList 2041492 2041556 - VariableDeclaration 2041515 2041556 - Identifier 2041515 2041525 - CallExpression 2041527 2041556 - Identifier 2041527 2041540 - Identifier 2041541 2041555 - VariableStatement 2041557 2041668 - VariableDeclarationList 2041557 2041667 - VariableDeclaration 2041580 2041667 - Identifier 2041580 2041594 - CallExpression 2041596 2041667 - Identifier 2041596 2041634 - Identifier 2041635 2041650 - Identifier 2041651 2041666 - IfStatement 2041668 2043286 - BinaryExpression 2041690 2041717 - Identifier 2041690 2041703 - ExclamationEqualsEqualsToken 2041703 2041707 - Identifier 2041707 2041717 - Block 2041718 2041993 - ExpressionStatement 2041720 2041974 - BinaryExpression 2041720 2041973 - Identifier 2041720 2041751 - EqualsToken 2041751 2041753 - CallExpression 2041753 2041973 - Identifier 2041753 2041777 - Identifier 2041778 2041787 - PropertyAccessExpression 2041788 2041929 - Identifier 2041788 2041800 - Identifier 2041801 2041929 - Identifier 2041930 2041946 - Identifier 2041947 2041957 - Identifier 2041958 2041972 - Block 2042015 2043286 - VariableStatement 2042017 2042125 - VariableDeclarationList 2042017 2042124 - VariableDeclaration 2042044 2042124 - Identifier 2042044 2042055 - CallExpression 2042057 2042124 - Identifier 2042057 2042098 - Identifier 2042099 2042107 - Identifier 2042108 2042123 - IfStatement 2042125 2043267 - BinaryExpression 2042151 2042175 - Identifier 2042151 2042161 - ExclamationEqualsEqualsToken 2042161 2042165 - Identifier 2042165 2042175 - Block 2042176 2042754 - VariableStatement 2042178 2042249 - VariableDeclarationList 2042178 2042248 - VariableDeclaration 2042209 2042248 - Identifier 2042209 2042223 - CallExpression 2042225 2042248 - Identifier 2042225 2042236 - Identifier 2042237 2042247 - VariableStatement 2042249 2042434 - VariableDeclarationList 2042249 2042433 - VariableDeclaration 2042280 2042433 - Identifier 2042280 2042288 - ConditionalExpression 2042290 2042433 - Identifier 2042290 2042304 - QuestionToken 2042304 2042306 - PropertyAccessExpression 2042306 2042368 - Identifier 2042306 2042318 - Identifier 2042319 2042368 - ColonToken 2042368 2042370 - PropertyAccessExpression 2042370 2042433 - Identifier 2042370 2042382 - Identifier 2042383 2042433 - ExpressionStatement 2042434 2042559 - BinaryExpression 2042434 2042558 - Identifier 2042434 2042469 - EqualsToken 2042469 2042471 - CallExpression 2042471 2042558 - Identifier 2042471 2042495 - Identifier 2042496 2042505 - Identifier 2042506 2042514 - Identifier 2042515 2042531 - Identifier 2042532 2042542 - Identifier 2042543 2042557 - ExpressionStatement 2042559 2042731 - BinaryExpression 2042559 2042730 - Identifier 2042559 2042596 - EqualsToken 2042596 2042598 - BinaryExpression 2042598 2042730 - PropertyAccessExpression 2042598 2042626 - Identifier 2042598 2042609 - Identifier 2042610 2042626 - AmpersandAmpersandToken 2042626 2042629 - CallExpression 2042629 2042730 - Identifier 2042629 2042653 - PropertyAccessExpression 2042654 2042681 - Identifier 2042654 2042664 - Identifier 2042665 2042681 - PropertyAccessExpression 2042682 2042714 - Identifier 2042682 2042694 - Identifier 2042695 2042714 - Identifier 2042715 2042729 - Block 2042780 2043267 - VariableStatement 2042782 2043087 - VariableDeclarationList 2042782 2043086 - VariableDeclaration 2042813 2043086 - Identifier 2042813 2042824 - ConditionalExpression 2042826 2043086 - CallExpression 2042826 2042876 - Identifier 2042826 2042860 - Identifier 2042861 2042875 - QuestionToken 2042876 2042907 - PropertyAccessExpression 2042907 2043007 - Identifier 2042907 2042919 - Identifier 2042920 2043007 - ColonToken 2043007 2043038 - PropertyAccessExpression 2043038 2043086 - Identifier 2043038 2043050 - Identifier 2043051 2043086 - ExpressionStatement 2043087 2043244 - BinaryExpression 2043087 2043243 - Identifier 2043087 2043122 - EqualsToken 2043122 2043124 - CallExpression 2043124 2043243 - Identifier 2043124 2043148 - CallExpression 2043149 2043202 - Identifier 2043149 2043175 - Identifier 2043176 2043185 - Identifier 2043186 2043201 - Identifier 2043203 2043214 - Identifier 2043215 2043231 - Identifier 2043232 2043242 - VariableStatement 2043312 2043439 - VariableDeclarationList 2043312 2043438 - VariableDeclaration 2043327 2043438 - Identifier 2043327 2043344 - CallExpression 2043346 2043438 - Identifier 2043346 2043386 - CallExpression 2043387 2043416 - Identifier 2043387 2043406 - Identifier 2043407 2043415 - Identifier 2043417 2043426 - Identifier 2043427 2043437 - IfStatement 2043439 2043538 - Identifier 2043453 2043464 - Block 2043465 2043538 - ExpressionStatement 2043467 2043527 - CallExpression 2043467 2043526 - Identifier 2043467 2043495 - Identifier 2043496 2043512 - Identifier 2043513 2043525 - ExpressionStatement 2043538 2043692 - CallExpression 2043538 2043691 - Identifier 2043538 2043568 - BinaryExpression 2043569 2043672 - PrefixUnaryExpression 2043569 2043583 - Identifier 2043570 2043583 - BarBarToken 2043583 2043586 - BinaryExpression 2043586 2043672 - PropertyAccessExpression 2043586 2043601 - Identifier 2043586 2043596 - Identifier 2043597 2043601 - ExclamationEqualsEqualsToken 2043601 2043605 - PropertyAccessExpression 2043605 2043672 - PropertyAccessExpression 2043605 2043667 - Identifier 2043605 2043617 - Identifier 2043618 2043667 - Identifier 2043668 2043672 - Identifier 2043673 2043690 - FunctionDeclaration 2043699 2044093 - Identifier 2043715 2043749 - Parameter 2043750 2043770 - Identifier 2043750 2043764 - TypeReference 2043765 2043770 - Identifier 2043765 2043770 - Block 2043771 2044093 - ReturnStatement 2043773 2044086 - BinaryExpression 2043789 2044085 - BinaryExpression 2043789 2044035 - ParenthesizedExpression 2043789 2043851 - BinaryExpression 2043791 2043850 - PropertyAccessExpression 2043791 2043810 - Identifier 2043791 2043806 - Identifier 2043807 2043810 - AmpersandAmpersandToken 2043810 2043813 - PrefixUnaryExpression 2043813 2043850 - CallExpression 2043815 2043850 - PropertyAccessExpression 2043815 2043843 - PropertyAccessExpression 2043815 2043834 - Identifier 2043815 2043830 - Identifier 2043831 2043834 - Identifier 2043835 2043843 - StringLiteral 2043844 2043849 - AmpersandAmpersandToken 2043851 2043854 - CallExpression 2043854 2044035 - Identifier 2043854 2043886 - Identifier 2043887 2043901 - ArrowFunction 2043902 2044034 - Parameter 2043902 2043907 - Identifier 2043902 2043907 - EqualsGreaterThanToken 2043907 2043910 - BinaryExpression 2043910 2044034 - PropertyAccessExpression 2043910 2043922 - Identifier 2043910 2043915 - Identifier 2043916 2043922 - AmpersandAmpersandToken 2043922 2043925 - CallExpression 2043925 2044034 - PropertyAccessExpression 2043925 2043981 - RegularExpressionLiteral 2043925 2043976 - Identifier 2043977 2043981 - CallExpression 2043982 2044033 - Identifier 2043982 2044008 - PropertyAccessExpression 2044009 2044032 - PropertyAccessExpression 2044009 2044020 - Identifier 2044009 2044013 - Identifier 2044014 2044020 - Identifier 2044021 2044032 - AmpersandAmpersandToken 2044035 2044038 - CallExpression 2044038 2044085 - Identifier 2044038 2044069 - Identifier 2044070 2044084 - FunctionDeclaration 2044093 2044405 - Identifier 2044109 2044131 - Parameter 2044132 2044150 - Identifier 2044132 2044140 - TypeReference 2044141 2044150 - Identifier 2044141 2044150 - Parameter 2044151 2044172 - Identifier 2044151 2044166 - TypeReference 2044167 2044172 - Identifier 2044167 2044172 - BooleanKeyword 2044174 2044182 - Block 2044182 2044405 - VariableStatement 2044184 2044300 - VariableDeclarationList 2044184 2044299 - VariableDeclaration 2044199 2044299 - Identifier 2044199 2044204 - BinaryExpression 2044206 2044299 - PropertyAccessExpression 2044206 2044228 - Identifier 2044206 2044221 - Identifier 2044222 2044228 - AmpersandAmpersandToken 2044228 2044231 - CallExpression 2044231 2044299 - Identifier 2044231 2044249 - CallExpression 2044250 2044288 - Identifier 2044250 2044265 - PropertyAccessExpression 2044266 2044287 - Identifier 2044266 2044280 - Identifier 2044281 2044287 - Identifier 2044289 2044298 - ReturnStatement 2044300 2044398 - BinaryExpression 2044316 2044397 - BinaryExpression 2044316 2044362 - BinaryExpression 2044316 2044335 - Identifier 2044316 2044321 - ExclamationEqualsEqualsToken 2044321 2044325 - Identifier 2044325 2044335 - AmpersandAmpersandToken 2044335 2044338 - PrefixUnaryExpression 2044338 2044362 - PrefixUnaryExpression 2044340 2044362 - PropertyAccessExpression 2044341 2044362 - Identifier 2044341 2044345 - Identifier 2044346 2044362 - AmpersandAmpersandToken 2044362 2044365 - CallExpression 2044365 2044397 - Identifier 2044365 2044374 - PropertyAccessExpression 2044375 2044396 - Identifier 2044375 2044379 - Identifier 2044380 2044396 - FunctionDeclaration 2044405 2044728 - Identifier 2044421 2044455 - Parameter 2044456 2044483 - Identifier 2044456 2044460 - UnionType 2044461 2044483 - TypeReference 2044461 2044470 - Identifier 2044461 2044470 - TypeReference 2044472 2044483 - Identifier 2044472 2044483 - Block 2044484 2044728 - VariableStatement 2044486 2044537 - VariableDeclarationList 2044486 2044536 - VariableDeclaration 2044501 2044536 - Identifier 2044501 2044513 - CallExpression 2044515 2044536 - Identifier 2044515 2044530 - Identifier 2044531 2044535 - VariableStatement 2044537 2044593 - VariableDeclarationList 2044537 2044592 - VariableDeclaration 2044552 2044592 - Identifier 2044552 2044564 - CallExpression 2044566 2044592 - Identifier 2044566 2044590 - VariableStatement 2044593 2044653 - VariableDeclarationList 2044593 2044652 - VariableDeclaration 2044608 2044652 - Identifier 2044608 2044621 - CallExpression 2044623 2044652 - PropertyAccessExpression 2044623 2044639 - Identifier 2044623 2044635 - Identifier 2044636 2044639 - Identifier 2044640 2044651 - ReturnStatement 2044653 2044721 - BinaryExpression 2044669 2044720 - Identifier 2044669 2044682 - AmpersandAmpersandToken 2044682 2044685 - CallExpression 2044685 2044720 - Identifier 2044685 2044699 - CallExpression 2044700 2044719 - PropertyAccessExpression 2044700 2044717 - Identifier 2044700 2044712 - Identifier 2044713 2044717 - FunctionDeclaration 2044728 2045406 - Identifier 2044744 2044782 - Parameter 2044783 2044806 - Identifier 2044783 2044798 - StringKeyword 2044799 2044806 - Parameter 2044807 2044828 - Identifier 2044807 2044822 - TypeReference 2044823 2044828 - Identifier 2044823 2044828 - Block 2044829 2045406 - VariableStatement 2044831 2044898 - VariableDeclarationList 2044831 2044897 - VariableDeclaration 2044846 2044897 - Identifier 2044846 2044856 - PropertyAccessExpression 2044858 2044897 - CallExpression 2044858 2044890 - Identifier 2044858 2044874 - Identifier 2044875 2044889 - Identifier 2044891 2044897 - IfStatement 2044898 2044967 - PrefixUnaryExpression 2044912 2044922 - Identifier 2044913 2044922 - Block 2044923 2044967 - ReturnStatement 2044925 2044956 - Identifier 2044945 2044955 - VariableStatement 2044967 2045026 - VariableDeclarationList 2044967 2045025 - VariableDeclaration 2044982 2045025 - Identifier 2044982 2045001 - CallExpression 2045003 2045025 - Identifier 2045003 2045014 - Identifier 2045015 2045024 - VariableStatement 2045026 2045082 - VariableDeclarationList 2045026 2045081 - VariableDeclaration 2045041 2045081 - Identifier 2045041 2045053 - CallExpression 2045055 2045081 - Identifier 2045055 2045079 - VariableStatement 2045082 2045149 - VariableDeclarationList 2045082 2045148 - VariableDeclaration 2045097 2045148 - Identifier 2045097 2045110 - CallExpression 2045112 2045148 - PropertyAccessExpression 2045112 2045128 - Identifier 2045112 2045124 - Identifier 2045125 2045128 - Identifier 2045129 2045147 - IfStatement 2045149 2045399 - Identifier 2045163 2045175 - Block 2045176 2045399 - ForOfStatement 2045178 2045388 - VariableDeclarationList 2045197 2045230 - VariableDeclaration 2045202 2045230 - ArrayBindingPattern 2045202 2045230 - BindingElement 2045204 2045213 - Identifier 2045204 2045213 - BindingElement 2045214 2045229 - Identifier 2045214 2045229 - Identifier 2045233 2045246 - Block 2045247 2045388 - IfStatement 2045249 2045373 - CallExpression 2045271 2045312 - Identifier 2045271 2045279 - Identifier 2045280 2045294 - Identifier 2045295 2045311 - Block 2045313 2045373 - ReturnStatement 2045315 2045354 - Identifier 2045343 2045353 - FunctionDeclaration 2045406 2045633 - Identifier 2045422 2045466 - Parameter 2045467 2045479 - Identifier 2045467 2045471 - StringKeyword 2045472 2045479 - Parameter 2045480 2045495 - Identifier 2045480 2045489 - TypeReference 2045490 2045495 - Identifier 2045490 2045495 - UnionType 2045497 2045516 - TypeReference 2045497 2045504 - Identifier 2045497 2045504 - UndefinedKeyword 2045506 2045516 - Block 2045516 2045633 - ReturnStatement 2045518 2045626 - CallExpression 2045534 2045625 - Identifier 2045534 2045563 - Identifier 2045564 2045568 - CallExpression 2045569 2045599 - Identifier 2045569 2045589 - Identifier 2045590 2045598 - PropertyAccessExpression 2045600 2045624 - Identifier 2045600 2045612 - Identifier 2045613 2045624 - FunctionDeclaration 2045633 2046236 - Identifier 2045649 2045690 - Parameter 2045691 2045736 - Identifier 2045691 2045695 - UnionType 2045696 2045736 - TypeReference 2045696 2045707 - Identifier 2045696 2045707 - TypeReference 2045709 2045727 - Identifier 2045709 2045727 - StringKeyword 2045729 2045736 - Parameter 2045737 2045758 - Identifier 2045737 2045752 - TypeReference 2045753 2045758 - Identifier 2045753 2045758 - UnionType 2045760 2045779 - TypeReference 2045760 2045767 - Identifier 2045760 2045767 - UndefinedKeyword 2045769 2045779 - Block 2045779 2046236 - VariableStatement 2045781 2045839 - VariableDeclarationList 2045781 2045838 - VariableDeclaration 2045794 2045838 - Identifier 2045794 2045800 - CallExpression 2045802 2045838 - Identifier 2045802 2045822 - Identifier 2045823 2045837 - IfStatement 2045839 2046151 - BinaryExpression 2045853 2045877 - TypeOfExpression 2045853 2045864 - Identifier 2045859 2045864 - ExclamationEqualsEqualsToken 2045864 2045868 - StringLiteral 2045868 2045877 - Block 2045878 2046151 - VariableStatement 2045880 2045921 - VariableDeclarationList 2045880 2045920 - VariableDeclaration 2045899 2045920 - Identifier 2045899 2045906 - PropertyAccessExpression 2045908 2045920 - Identifier 2045908 2045913 - Identifier 2045914 2045920 - IfStatement 2045921 2046106 - CallExpression 2045939 2045973 - Identifier 2045939 2045965 - Identifier 2045966 2045972 - Block 2045974 2046106 - ExpressionStatement 2045976 2046091 - BinaryExpression 2045976 2046090 - Identifier 2045976 2045999 - EqualsToken 2045999 2046001 - CallExpression 2046001 2046090 - Identifier 2046001 2046008 - Identifier 2046009 2046014 - ArrowFunction 2046015 2046089 - Parameter 2046015 2046020 - Identifier 2046015 2046020 - EqualsGreaterThanToken 2046020 2046023 - CallExpression 2046023 2046089 - Identifier 2046023 2046059 - Identifier 2046060 2046066 - Identifier 2046067 2046082 - Identifier 2046083 2046088 - ExpressionStatement 2046106 2046140 - BinaryExpression 2046106 2046139 - Identifier 2046106 2046124 - EqualsToken 2046124 2046126 - CallExpression 2046126 2046139 - Identifier 2046126 2046133 - Identifier 2046134 2046138 - ReturnStatement 2046151 2046229 - CallExpression 2046167 2046228 - Identifier 2046167 2046196 - Identifier 2046197 2046201 - Identifier 2046202 2046208 - PropertyAccessExpression 2046209 2046227 - Identifier 2046209 2046221 - Identifier 2046222 2046227 - FunctionDeclaration 2046236 2046840 - Identifier 2046252 2046297 - Parameter 2046298 2046343 - Identifier 2046298 2046302 - UnionType 2046303 2046343 - TypeReference 2046303 2046314 - Identifier 2046303 2046314 - TypeReference 2046316 2046334 - Identifier 2046316 2046334 - StringKeyword 2046336 2046343 - Parameter 2046344 2046365 - Identifier 2046344 2046359 - TypeReference 2046360 2046365 - Identifier 2046360 2046365 - UnionType 2046367 2046386 - TypeReference 2046367 2046374 - Identifier 2046367 2046374 - UndefinedKeyword 2046376 2046386 - Block 2046386 2046840 - VariableStatement 2046388 2046451 - VariableDeclarationList 2046388 2046450 - VariableDeclaration 2046403 2046450 - Identifier 2046403 2046411 - ConditionalExpression 2046413 2046450 - CallExpression 2046413 2046428 - Identifier 2046413 2046422 - Identifier 2046423 2046427 - QuestionToken 2046428 2046430 - Identifier 2046430 2046435 - ColonToken 2046435 2046437 - CallExpression 2046437 2046450 - Identifier 2046437 2046444 - Identifier 2046445 2046449 - VariableStatement 2046451 2046516 - VariableDeclarationList 2046451 2046515 - VariableDeclaration 2046466 2046515 - Identifier 2046466 2046477 - CallExpression 2046479 2046515 - Identifier 2046479 2046499 - Identifier 2046500 2046514 - VariableStatement 2046516 2046732 - VariableDeclarationList 2046516 2046731 - VariableDeclaration 2046531 2046731 - Identifier 2046531 2046543 - ConditionalExpression 2046545 2046731 - BinaryExpression 2046545 2046563 - Identifier 2046545 2046553 - EqualsEqualsEqualsToken 2046553 2046557 - StringLiteral 2046557 2046563 - QuestionToken 2046563 2046565 - CallExpression 2046565 2046616 - Identifier 2046565 2046570 - Identifier 2046571 2046581 - ArrowFunction 2046582 2046615 - Parameter 2046582 2046584 - Identifier 2046582 2046584 - EqualsGreaterThanToken 2046584 2046587 - BinaryExpression 2046587 2046615 - CallExpression 2046587 2046601 - Identifier 2046587 2046598 - Identifier 2046599 2046600 - EqualsEqualsEqualsToken 2046601 2046605 - StringLiteral 2046605 2046615 - ColonToken 2046616 2046631 - ConditionalExpression 2046631 2046731 - BinaryExpression 2046631 2046651 - Identifier 2046631 2046639 - EqualsEqualsEqualsToken 2046639 2046643 - StringLiteral 2046643 2046651 - QuestionToken 2046651 2046653 - CallExpression 2046653 2046706 - Identifier 2046653 2046658 - Identifier 2046659 2046669 - ArrowFunction 2046670 2046705 - Parameter 2046670 2046672 - Identifier 2046670 2046672 - EqualsGreaterThanToken 2046672 2046675 - BinaryExpression 2046675 2046705 - CallExpression 2046675 2046689 - Identifier 2046675 2046686 - Identifier 2046687 2046688 - EqualsEqualsEqualsToken 2046689 2046693 - StringLiteral 2046693 2046705 - ColonToken 2046706 2046721 - Identifier 2046721 2046731 - ReturnStatement 2046732 2046833 - BinaryExpression 2046748 2046832 - Identifier 2046748 2046760 - QuestionQuestionToken 2046760 2046763 - CallExpression 2046763 2046832 - Identifier 2046763 2046792 - Identifier 2046793 2046800 - Identifier 2046801 2046812 - PropertyAccessExpression 2046813 2046831 - Identifier 2046813 2046825 - Identifier 2046826 2046831 - FunctionDeclaration 2046840 2047136 - Identifier 2046856 2046892 - Parameter 2046893 2046938 - Identifier 2046893 2046897 - UnionType 2046898 2046938 - TypeReference 2046898 2046909 - Identifier 2046898 2046909 - TypeReference 2046911 2046929 - Identifier 2046911 2046929 - StringKeyword 2046931 2046938 - Parameter 2046939 2046960 - Identifier 2046939 2046954 - TypeReference 2046955 2046960 - Identifier 2046955 2046960 - UnionType 2046962 2046981 - StringKeyword 2046962 2046969 - UndefinedKeyword 2046971 2046981 - Block 2046981 2047136 - VariableStatement 2046983 2047075 - VariableDeclarationList 2046983 2047074 - VariableDeclaration 2046998 2047074 - Identifier 2046998 2047009 - CallExpression 2047011 2047074 - Identifier 2047011 2047052 - Identifier 2047053 2047057 - Identifier 2047058 2047073 - ReturnStatement 2047075 2047129 - BinaryExpression 2047091 2047128 - Identifier 2047091 2047102 - AmpersandAmpersandToken 2047102 2047105 - CallExpression 2047105 2047128 - Identifier 2047105 2047116 - Identifier 2047117 2047127 - FunctionDeclaration 2047136 2048383 - Identifier 2047152 2047185 - Parameter 2047186 2047206 - Identifier 2047186 2047193 - TypeReference 2047194 2047206 - Identifier 2047194 2047206 - Parameter 2047207 2047222 - Identifier 2047207 2047212 - TypeReference 2047213 2047222 - Identifier 2047213 2047222 - Parameter 2047223 2047244 - Identifier 2047223 2047231 - TypeReference 2047232 2047244 - Identifier 2047232 2047244 - Block 2047245 2048383 - VariableStatement 2047247 2047306 - VariableDeclarationList 2047247 2047305 - VariableDeclaration 2047262 2047305 - Identifier 2047262 2047269 - CallExpression 2047271 2047305 - Identifier 2047271 2047281 - Identifier 2047282 2047289 - Identifier 2047290 2047295 - Identifier 2047296 2047304 - IfStatement 2047306 2047691 - Identifier 2047669 2047675 - ReturnStatement 2047676 2047691 - Identifier 2047683 2047690 - VariableStatement 2047691 2047726 - VariableDeclarationList 2047691 2047725 - VariableDeclaration 2047704 2047725 - Identifier 2047704 2047715 - ArrayType 2047716 2047725 - TypeReference 2047716 2047723 - Identifier 2047716 2047723 - IfStatement 2047726 2048275 - BinaryExpression 2047740 2047759 - Identifier 2047740 2047747 - EqualsEqualsEqualsToken 2047747 2047751 - Identifier 2047751 2047759 - Block 2047760 2048193 - VariableStatement 2047762 2048108 - VariableDeclarationList 2047762 2048107 - VariableDeclaration 2047781 2048107 - Identifier 2047781 2047792 - CallExpression 2047794 2048107 - Identifier 2047794 2047805 - ArrayLiteralExpression 2047806 2047885 - StringLiteral 2047825 2047833 - StringLiteral 2047834 2047843 - StringLiteral 2047844 2047854 - StringLiteral 2047855 2047864 - StringLiteral 2047865 2047874 - StringLiteral 2047875 2047884 - ArrowFunction 2047886 2048091 - Parameter 2047886 2047905 - Identifier 2047886 2047905 - EqualsGreaterThanToken 2047905 2047908 - ConditionalExpression 2047908 2048091 - CallExpression 2047908 2047974 - PropertyAccessExpression 2047908 2047920 - Identifier 2047908 2047916 - Identifier 2047917 2047920 - AsExpression 2047921 2047973 - ParenthesizedExpression 2047921 2047961 - BinaryExpression 2047922 2047960 - CallExpression 2047922 2047947 - PropertyAccessExpression 2047922 2047945 - CallExpression 2047922 2047933 - PropertyAccessExpression 2047922 2047930 - Identifier 2047922 2047923 - Identifier 2047924 2047930 - NumericLiteral 2047931 2047932 - Identifier 2047934 2047945 - PlusToken 2047947 2047949 - CallExpression 2047949 2047960 - PropertyAccessExpression 2047949 2047957 - Identifier 2047949 2047951 - Identifier 2047952 2047957 - NumericLiteral 2047958 2047959 - TypeReference 2047964 2047973 - Identifier 2047964 2047973 - QuestionToken 2047974 2047997 - AsExpression 2047997 2048058 - CallExpression 2047997 2048048 - Identifier 2047997 2048010 - PropertyAccessExpression 2048011 2048032 - Identifier 2048011 2048022 - Identifier 2048023 2048032 - AsExpression 2048033 2048047 - Identifier 2048033 2048035 - TypeReference 2048038 2048047 - Identifier 2048038 2048047 - TypeReference 2048051 2048058 - Identifier 2048051 2048058 - ColonToken 2048058 2048081 - Identifier 2048081 2048091 - ExpressionStatement 2048108 2048182 - BinaryExpression 2048108 2048181 - Identifier 2048108 2048132 - EqualsToken 2048132 2048134 - CallExpression 2048134 2048181 - PropertyAccessExpression 2048134 2048152 - Identifier 2048134 2048145 - Identifier 2048146 2048152 - CallExpression 2048153 2048180 - Identifier 2048153 2048162 - CallExpression 2048163 2048179 - PropertyAccessExpression 2048163 2048177 - Identifier 2048163 2048170 - Identifier 2048171 2048177 - Block 2048207 2048275 - ExpressionStatement 2048209 2048264 - BinaryExpression 2048209 2048263 - Identifier 2048209 2048233 - EqualsToken 2048233 2048235 - CallExpression 2048235 2048263 - Identifier 2048235 2048245 - CallExpression 2048246 2048262 - PropertyAccessExpression 2048246 2048260 - Identifier 2048246 2048253 - Identifier 2048254 2048260 - ReturnStatement 2048275 2048376 - CallExpression 2048291 2048375 - Identifier 2048291 2048320 - CallExpression 2048321 2048353 - Identifier 2048321 2048347 - Identifier 2048348 2048352 - Identifier 2048354 2048365 - Identifier 2048366 2048374 - FunctionDeclaration 2048383 2048810 - Identifier 2048397 2048436 - Parameter 2048437 2048463 - Identifier 2048437 2048445 - UnionType 2048446 2048463 - TypeReference 2048446 2048451 - Identifier 2048446 2048451 - UndefinedKeyword 2048453 2048463 - Parameter 2048464 2048484 - Identifier 2048464 2048474 - TypeReference 2048475 2048484 - Identifier 2048475 2048484 - Parameter 2048485 2048506 - Identifier 2048485 2048493 - TypeReference 2048494 2048506 - Identifier 2048494 2048506 - UnionType 2048508 2048527 - TypeReference 2048508 2048515 - Identifier 2048508 2048515 - UndefinedKeyword 2048517 2048527 - Block 2048527 2048810 - ExpressionStatement 2048529 2048615 - CallExpression 2048529 2048614 - PropertyAccessExpression 2048529 2048551 - Identifier 2048529 2048544 - Identifier 2048545 2048551 - BinaryExpression 2048552 2048575 - Identifier 2048552 2048561 - ExclamationEqualsEqualsToken 2048561 2048565 - Identifier 2048565 2048575 - StringLiteral 2048576 2048613 - VariableStatement 2048615 2048779 - VariableDeclarationList 2048615 2048778 - VariableDeclaration 2048630 2048778 - Identifier 2048630 2048637 - CallExpression 2048639 2048778 - Identifier 2048639 2048670 - Identifier 2048671 2048679 - Identifier 2048680 2048690 - Identifier 2048691 2048699 - Identifier 2048700 2048734 - FalseKeyword 2048735 2048751 - FalseKeyword 2048752 2048777 - ReturnStatement 2048779 2048803 - Identifier 2048795 2048802 - FunctionDeclaration 2048810 2049085 - Identifier 2048826 2048865 - Parameter 2048866 2048882 - Identifier 2048866 2048870 - TypeReference 2048871 2048882 - Identifier 2048871 2048882 - Parameter 2048883 2048904 - Identifier 2048883 2048896 - TypeReference 2048897 2048904 - Identifier 2048897 2048904 - UnionType 2048906 2048925 - TypeReference 2048906 2048913 - Identifier 2048906 2048913 - UndefinedKeyword 2048915 2048925 - Block 2048925 2049085 - ReturnStatement 2048927 2049078 - BinaryExpression 2048943 2049077 - PropertyAccessExpression 2048943 2048964 - Identifier 2048943 2048956 - Identifier 2048957 2048964 - AmpersandAmpersandToken 2048964 2048967 - CallExpression 2048967 2049077 - Identifier 2048967 2048996 - CallExpression 2048997 2049009 - Identifier 2048997 2049003 - Identifier 2049004 2049008 - CallExpression 2049010 2049050 - Identifier 2049010 2049036 - Identifier 2049037 2049049 - PropertyAccessExpression 2049051 2049076 - Identifier 2049051 2049063 - Identifier 2049064 2049076 - FunctionDeclaration 2049085 2050142 - Identifier 2049101 2049143 - Parameter 2049144 2049160 - Identifier 2049144 2049154 - TypeReference 2049155 2049160 - Identifier 2049155 2049160 - Parameter 2049161 2049191 - Identifier 2049161 2049166 - TypeReference 2049167 2049191 - Identifier 2049167 2049191 - Parameter 2049192 2049208 - Identifier 2049192 2049202 - TypeReference 2049203 2049208 - Identifier 2049203 2049208 - UnionType 2049210 2049229 - StringKeyword 2049210 2049217 - UndefinedKeyword 2049219 2049229 - Block 2049229 2050142 - FunctionDeclaration 2049231 2049685 - Identifier 2049303 2049311 - Parameter 2049312 2049331 - Identifier 2049312 2049316 - UnionType 2049317 2049331 - LiteralType 2049317 2049323 - StringLiteral 2049317 2049323 - LiteralType 2049325 2049331 - StringLiteral 2049325 2049331 - Block 2049332 2049685 - VariableStatement 2049334 2049415 - VariableDeclarationList 2049334 2049414 - VariableDeclaration 2049353 2049414 - Identifier 2049353 2049358 - CallExpression 2049360 2049414 - Identifier 2049360 2049384 - Identifier 2049385 2049395 - AsExpression 2049396 2049413 - Identifier 2049396 2049401 - TypeReference 2049404 2049413 - Identifier 2049404 2049413 - IfStatement 2049415 2049647 - Identifier 2049433 2049437 - Block 2049438 2049647 - VariableStatement 2049440 2049514 - VariableDeclarationList 2049440 2049513 - VariableDeclaration 2049463 2049513 - Identifier 2049463 2049465 - CallExpression 2049467 2049513 - Identifier 2049467 2049490 - CallExpression 2049491 2049512 - Identifier 2049491 2049506 - Identifier 2049507 2049511 - ReturnStatement 2049514 2049632 - BinaryExpression 2049538 2049631 - BinaryExpression 2049538 2049573 - PrefixUnaryExpression 2049538 2049542 - PrefixUnaryExpression 2049540 2049542 - Identifier 2049541 2049542 - AmpersandAmpersandToken 2049542 2049545 - BinaryExpression 2049545 2049573 - CallExpression 2049545 2049568 - Identifier 2049545 2049565 - Identifier 2049566 2049567 - GreaterThanEqualsToken 2049568 2049571 - NumericLiteral 2049571 2049573 - AmpersandAmpersandToken 2049573 2049576 - CallExpression 2049576 2049631 - Identifier 2049576 2049595 - Identifier 2049596 2049605 - CallExpression 2049606 2049630 - Identifier 2049606 2049624 - Identifier 2049625 2049626 - NumericLiteral 2049627 2049629 - ReturnStatement 2049647 2049674 - FalseKeyword 2049667 2049673 - VariableStatement 2049685 2049762 - VariableDeclarationList 2049685 2049761 - VariableDeclaration 2049702 2049761 - Identifier 2049702 2049718 - ConditionalExpression 2049720 2049761 - CallExpression 2049720 2049745 - Identifier 2049720 2049739 - Identifier 2049740 2049744 - QuestionToken 2049745 2049747 - StringLiteral 2049747 2049753 - ColonToken 2049753 2049755 - StringLiteral 2049755 2049761 - IfStatement 2049762 2049846 - PrefixUnaryExpression 2049776 2049801 - CallExpression 2049777 2049801 - Identifier 2049777 2049784 - Identifier 2049785 2049800 - Block 2049802 2049846 - ReturnStatement 2049804 2049835 - Identifier 2049824 2049834 - VariableStatement 2049846 2049933 - VariableDeclarationList 2049846 2049932 - VariableDeclaration 2049861 2049932 - Identifier 2049861 2049872 - CallExpression 2049874 2049932 - Identifier 2049874 2049915 - PropertyAccessExpression 2049916 2049931 - Identifier 2049916 2049920 - Identifier 2049921 2049931 - IfStatement 2049933 2050105 - BinaryExpression 2049947 2049971 - Identifier 2049947 2049957 - EqualsEqualsEqualsToken 2049957 2049961 - Identifier 2049961 2049971 - Block 2049972 2050028 - ExpressionStatement 2049974 2050017 - BinaryExpression 2049974 2050016 - Identifier 2049974 2049998 - EqualsToken 2049998 2050000 - Identifier 2050000 2050016 - Block 2050042 2050105 - ExpressionStatement 2050044 2050094 - BinaryExpression 2050044 2050093 - Identifier 2050044 2050068 - PlusEqualsToken 2050068 2050071 - BinaryExpression 2050071 2050093 - StringLiteral 2050071 2050075 - PlusToken 2050075 2050077 - Identifier 2050077 2050093 - ReturnStatement 2050105 2050135 - Identifier 2050123 2050134 - FunctionDeclaration 2050142 2050505 - Identifier 2050158 2050206 - Parameter 2050207 2050232 - Identifier 2050207 2050213 - TypeReference 2050214 2050232 - Identifier 2050214 2050232 - Parameter 2050233 2050251 - Identifier 2050233 2050240 - TypeReference 2050241 2050251 - Identifier 2050241 2050251 - UnionType 2050253 2050283 - TypeReference 2050253 2050271 - Identifier 2050253 2050271 - UndefinedKeyword 2050273 2050283 - Block 2050283 2050505 - VariableStatement 2050285 2050413 - VariableDeclarationList 2050285 2050412 - VariableDeclaration 2050300 2050412 - Identifier 2050300 2050311 - CallExpression 2050313 2050412 - PropertyAccessExpression 2050313 2050333 - PropertyAccessExpression 2050313 2050326 - Identifier 2050313 2050320 - Identifier 2050321 2050326 - Identifier 2050327 2050333 - ArrowFunction 2050334 2050411 - Parameter 2050335 2050339 - Identifier 2050335 2050339 - TypePredicate 2050341 2050367 - Identifier 2050341 2050346 - TypeReference 2050349 2050367 - Identifier 2050349 2050367 - EqualsGreaterThanToken 2050367 2050370 - PrefixUnaryExpression 2050370 2050411 - PrefixUnaryExpression 2050372 2050411 - ParenthesizedExpression 2050373 2050411 - BinaryExpression 2050374 2050410 - PropertyAccessExpression 2050374 2050384 - Identifier 2050374 2050378 - Identifier 2050379 2050384 - AmpersandToken 2050384 2050386 - PropertyAccessExpression 2050386 2050410 - Identifier 2050386 2050396 - Identifier 2050397 2050410 - ReturnStatement 2050413 2050498 - CallExpression 2050429 2050497 - Identifier 2050429 2050451 - PropertyAccessExpression 2050452 2050464 - Identifier 2050452 2050458 - Identifier 2050459 2050464 - Identifier 2050465 2050476 - ArrowFunction 2050477 2050496 - Parameter 2050477 2050482 - Identifier 2050477 2050482 - EqualsGreaterThanToken 2050482 2050485 - PropertyAccessExpression 2050485 2050496 - Identifier 2050485 2050490 - Identifier 2050491 2050496 - FunctionDeclaration 2050505 2052290 - Identifier 2051493 2051522 - Parameter 2051523 2051535 - Identifier 2051523 2051527 - StringKeyword 2051528 2051535 - Parameter 2051536 2051554 - Identifier 2051536 2051544 - ArrayType 2051545 2051554 - TypeReference 2051545 2051552 - Identifier 2051545 2051552 - Parameter 2051555 2051576 - Identifier 2051555 2051563 - TypeReference 2051564 2051576 - Identifier 2051564 2051576 - UnionType 2051578 2051597 - TypeReference 2051578 2051585 - Identifier 2051578 2051585 - UndefinedKeyword 2051587 2051597 - Block 2051597 2052290 - ReturnStatement 2051599 2051671 - CallExpression 2051615 2051670 - Identifier 2051615 2051637 - Identifier 2051638 2051642 - Identifier 2051643 2051651 - Identifier 2051652 2051669 - FunctionDeclaration 2051671 2052283 - Identifier 2051691 2051708 - Parameter 2051709 2051726 - Identifier 2051709 2051718 - TypeReference 2051719 2051726 - Identifier 2051719 2051726 - Block 2051727 2052283 - VariableStatement 2051729 2051787 - VariableDeclarationList 2051729 2051786 - VariableDeclaration 2051748 2051786 - Identifier 2051748 2051762 - CallExpression 2051764 2051786 - Identifier 2051764 2051775 - Identifier 2051776 2051785 - IfStatement 2051787 2051888 - CallExpression 2051805 2051835 - Identifier 2051805 2051815 - Identifier 2051816 2051829 - StringLiteral 2051830 2051834 - Block 2051836 2051888 - ReturnStatement 2051838 2051873 - Identifier 2051862 2051872 - IfStatement 2051888 2051990 - BinaryExpression 2051908 2051933 - PropertyAccessExpression 2051908 2051923 - Identifier 2051908 2051917 - Identifier 2051918 2051923 - AmpersandToken 2051923 2051925 - Identifier 2051925 2051933 - Block 2051934 2051990 - ReturnStatement 2051936 2051975 - Identifier 2051960 2051974 - IfStatement 2051990 2052239 - BinaryExpression 2052010 2052045 - PropertyAccessExpression 2052010 2052025 - Identifier 2052010 2052019 - Identifier 2052020 2052025 - AmpersandToken 2052025 2052027 - PropertyAccessExpression 2052027 2052045 - Identifier 2052027 2052039 - Identifier 2052040 2052045 - Block 2052046 2052239 - VariableStatement 2052048 2052107 - VariableDeclarationList 2052048 2052106 - VariableDeclaration 2052071 2052106 - Identifier 2052071 2052077 - CallExpression 2052079 2052106 - Identifier 2052079 2052095 - Identifier 2052096 2052105 - IfStatement 2052107 2052224 - BinaryExpression 2052129 2052159 - Identifier 2052129 2052134 - AmpersandAmpersandToken 2052134 2052137 - BinaryExpression 2052137 2052159 - PropertyAccessExpression 2052137 2052149 - Identifier 2052137 2052143 - Identifier 2052144 2052149 - AmpersandToken 2052149 2052151 - Identifier 2052151 2052159 - Block 2052160 2052224 - ReturnStatement 2052162 2052205 - Identifier 2052190 2052204 - ReturnStatement 2052239 2052272 - Identifier 2052261 2052271 - FunctionDeclaration 2052290 2053643 - Identifier 2052306 2052331 - Parameter 2052332 2052344 - Identifier 2052332 2052336 - TypeReference 2052337 2052344 - Identifier 2052337 2052344 - Parameter 2052345 2052385 - Identifier 2052345 2052367 - UnionType 2052368 2052385 - TypeReference 2052368 2052373 - Identifier 2052368 2052373 - UndefinedKeyword 2052375 2052385 - Parameter 2052386 2052412 - Identifier 2052386 2052403 - BooleanKeyword 2052404 2052412 - Block 2052413 2053643 - VariableStatement 2052415 2052522 - VariableDeclarationList 2052415 2052521 - VariableDeclaration 2052430 2052521 - Identifier 2052430 2052447 - BinaryExpression 2052449 2052521 - BinaryExpression 2052449 2052496 - Identifier 2052449 2052454 - AmpersandAmpersandToken 2052454 2052457 - ParenthesizedExpression 2052457 2052496 - BinaryExpression 2052459 2052495 - PropertyAccessExpression 2052459 2052469 - Identifier 2052459 2052463 - Identifier 2052464 2052469 - AmpersandToken 2052469 2052471 - PropertyAccessExpression 2052471 2052495 - Identifier 2052471 2052483 - Identifier 2052484 2052495 - AmpersandAmpersandToken 2052496 2052499 - PropertyAccessExpression 2052499 2052521 - Identifier 2052499 2052504 - Identifier 2052505 2052521 - IfStatement 2052522 2052588 - PrefixUnaryExpression 2052536 2052553 - Identifier 2052537 2052553 - Block 2052554 2052588 - ReturnStatement 2052556 2052577 - VariableStatement 2052588 2052687 - VariableDeclarationList 2052588 2052686 - VariableDeclaration 2052603 2052686 - Identifier 2052603 2052622 - CallExpression 2052624 2052686 - Identifier 2052624 2052645 - Identifier 2052646 2052662 - PropertyAccessExpression 2052663 2052685 - Identifier 2052663 2052677 - Identifier 2052678 2052685 - VariableStatement 2052687 2052844 - VariableDeclarationList 2052687 2052843 - VariableDeclaration 2052702 2052843 - Identifier 2052702 2052723 - BinaryExpression 2052725 2052843 - BinaryExpression 2052725 2052792 - PropertyAccessExpression 2052725 2052747 - Identifier 2052725 2052730 - Identifier 2052731 2052747 - AmpersandAmpersandToken 2052747 2052750 - CallExpression 2052750 2052792 - Identifier 2052750 2052769 - PropertyAccessExpression 2052770 2052791 - Identifier 2052770 2052774 - Identifier 2052775 2052791 - AmpersandAmpersandToken 2052792 2052795 - CallExpression 2052795 2052843 - Identifier 2052795 2052815 - PropertyAccessExpression 2052816 2052842 - PropertyAccessExpression 2052816 2052837 - Identifier 2052816 2052820 - Identifier 2052821 2052837 - Identifier 2052838 2052842 - IfStatement 2052844 2052937 - BinaryExpression 2052858 2052902 - PrefixUnaryExpression 2052858 2052877 - Identifier 2052859 2052877 - AmpersandAmpersandToken 2052877 2052880 - PrefixUnaryExpression 2052880 2052902 - Identifier 2052882 2052902 - Block 2052903 2052937 - ReturnStatement 2052905 2052926 - IfStatement 2052937 2053094 - BinaryExpression 2052951 2053059 - BinaryExpression 2052951 2053016 - Identifier 2052951 2052972 - AmpersandAmpersandToken 2052972 2052975 - CallExpression 2052975 2053016 - Identifier 2052975 2052993 - Identifier 2052994 2053015 - AmpersandAmpersandToken 2053016 2053019 - PrefixUnaryExpression 2053019 2053059 - ParenthesizedExpression 2053021 2053059 - BinaryExpression 2053022 2053058 - PropertyAccessExpression 2053022 2053032 - Identifier 2053022 2053026 - Identifier 2053027 2053032 - AmpersandToken 2053032 2053034 - PropertyAccessExpression 2053034 2053058 - Identifier 2053034 2053046 - Identifier 2053047 2053058 - Block 2053060 2053094 - ReturnStatement 2053062 2053083 - IfStatement 2053094 2053507 - Identifier 2053108 2053124 - Block 2053125 2053507 - VariableStatement 2053127 2053383 - VariableDeclarationList 2053127 2053382 - VariableDeclaration 2053300 2053382 - Identifier 2053300 2053317 - CallExpression 2053319 2053382 - Identifier 2053319 2053332 - Identifier 2053333 2053354 - Identifier 2053355 2053381 - IfStatement 2053383 2053496 - BinaryExpression 2053401 2053453 - Identifier 2053401 2053417 - AmpersandAmpersandToken 2053417 2053420 - BinaryExpression 2053420 2053453 - PropertyAccessExpression 2053420 2053444 - Identifier 2053420 2053437 - Identifier 2053438 2053444 - EqualsEqualsEqualsToken 2053444 2053448 - Identifier 2053448 2053453 - Block 2053454 2053496 - ReturnStatement 2053456 2053481 - ExpressionStatement 2053507 2053636 - BinaryExpression 2053507 2053635 - PropertyAccessExpression 2053507 2053617 - NonNullExpression 2053507 2053604 - ParenthesizedExpression 2053507 2053603 - ConditionalExpression 2053520 2053602 - BinaryExpression 2053520 2053565 - CallExpression 2053520 2053539 - Identifier 2053520 2053533 - Identifier 2053534 2053538 - AmpersandToken 2053539 2053541 - PropertyAccessExpression 2053541 2053565 - Identifier 2053541 2053552 - Identifier 2053553 2053565 - QuestionToken 2053565 2053567 - PropertyAccessExpression 2053567 2053595 - CallExpression 2053567 2053588 - Identifier 2053567 2053582 - Identifier 2053583 2053587 - Identifier 2053589 2053595 - ColonToken 2053595 2053597 - Identifier 2053597 2053602 - Identifier 2053605 2053617 - EqualsToken 2053617 2053619 - PropertyAccessExpression 2053619 2053635 - Identifier 2053619 2053631 - Identifier 2053632 2053635 - FunctionDeclaration 2053643 2053916 - Identifier 2053659 2053676 - Parameter 2053677 2053709 - Identifier 2053677 2053681 - UnionType 2053682 2053709 - TypeReference 2053682 2053693 - Identifier 2053682 2053693 - TypeReference 2053695 2053709 - Identifier 2053695 2053709 - Parameter 2053710 2053737 - Identifier 2053710 2053717 - UnionType 2053718 2053737 - TypeReference 2053718 2053725 - Identifier 2053718 2053725 - UndefinedKeyword 2053727 2053737 - Block 2053738 2053916 - ReturnStatement 2053740 2053909 - BinaryExpression 2053756 2053908 - BinaryExpression 2053756 2053793 - PropertyAccessExpression 2053756 2053766 - Identifier 2053756 2053761 - Identifier 2053762 2053766 - EqualsEqualsEqualsToken 2053766 2053770 - PropertyAccessExpression 2053770 2053793 - Identifier 2053770 2053781 - Identifier 2053782 2053793 - BarBarToken 2053793 2053809 - BinaryExpression 2053809 2053908 - BinaryExpression 2053809 2053850 - PrefixUnaryExpression 2053809 2053818 - PrefixUnaryExpression 2053811 2053818 - Identifier 2053812 2053818 - AmpersandAmpersandToken 2053818 2053821 - CallExpression 2053821 2053850 - Identifier 2053821 2053844 - Identifier 2053845 2053849 - AmpersandAmpersandToken 2053850 2053853 - BinaryExpression 2053853 2053908 - Identifier 2053853 2053860 - EqualsEqualsEqualsToken 2053860 2053864 - CallExpression 2053864 2053908 - Identifier 2053864 2053882 - CallExpression 2053883 2053907 - Identifier 2053883 2053901 - Identifier 2053902 2053906 - FunctionDeclaration 2053916 2054676 - Identifier 2053932 2053954 - Parameter 2053955 2054018 - Identifier 2053955 2053959 - UnionType 2053960 2054018 - TypeReference 2053960 2053985 - Identifier 2053960 2053985 - TypeReference 2053987 2054001 - Identifier 2053987 2054001 - TypeReference 2054003 2054018 - Identifier 2054003 2054018 - Parameter 2054019 2054042 - Identifier 2054019 2054032 - TypeReference 2054033 2054042 - Identifier 2054033 2054042 - BooleanKeyword 2054044 2054052 - Block 2054052 2054676 - SwitchStatement 2054054 2054669 - PropertyAccessExpression 2054072 2054081 - Identifier 2054072 2054076 - Identifier 2054077 2054081 - CaseBlock 2054082 2054669 - CaseClause 2054084 2054314 - PropertyAccessExpression 2054102 2054138 - Identifier 2054102 2054113 - Identifier 2054114 2054138 - ReturnStatement 2054139 2054314 - CallExpression 2054163 2054313 - Identifier 2054163 2054193 - Identifier 2054194 2054198 - BinaryExpression 2054199 2054248 - PropertyAccessExpression 2054199 2054220 - PropertyAccessExpression 2054199 2054215 - Identifier 2054199 2054204 - Identifier 2054205 2054215 - Identifier 2054216 2054220 - EqualsEqualsEqualsToken 2054220 2054224 - PropertyAccessExpression 2054224 2054248 - Identifier 2054224 2054235 - Identifier 2054236 2054248 - Identifier 2054249 2054262 - CallExpression 2054263 2054312 - Identifier 2054263 2054278 - CallExpression 2054279 2054311 - Identifier 2054279 2054294 - PropertyAccessExpression 2054295 2054310 - Identifier 2054295 2054299 - Identifier 2054300 2054310 - CaseClause 2054314 2054496 - PropertyAccessExpression 2054332 2054357 - Identifier 2054332 2054343 - Identifier 2054344 2054357 - ReturnStatement 2054358 2054496 - CallExpression 2054382 2054495 - Identifier 2054382 2054412 - Identifier 2054413 2054417 - FalseKeyword 2054418 2054436 - Identifier 2054437 2054450 - CallExpression 2054451 2054494 - Identifier 2054451 2054466 - CallExpression 2054467 2054493 - Identifier 2054467 2054482 - PropertyAccessExpression 2054483 2054492 - Identifier 2054483 2054487 - Identifier 2054488 2054492 - CaseClause 2054496 2054658 - PropertyAccessExpression 2054514 2054536 - Identifier 2054514 2054525 - Identifier 2054526 2054536 - ReturnStatement 2054537 2054658 - CallExpression 2054561 2054657 - Identifier 2054561 2054591 - Identifier 2054592 2054596 - FalseKeyword 2054597 2054615 - Identifier 2054616 2054629 - CallExpression 2054630 2054656 - Identifier 2054630 2054650 - Identifier 2054651 2054655 - FunctionDeclaration 2054676 2055826 - Identifier 2055362 2055398 - Parameter 2055399 2055462 - Identifier 2055399 2055403 - UnionType 2055404 2055462 - TypeReference 2055404 2055429 - Identifier 2055404 2055429 - TypeReference 2055431 2055446 - Identifier 2055431 2055446 - TypeReference 2055448 2055462 - Identifier 2055448 2055462 - Parameter 2055463 2055474 - Identifier 2055463 2055468 - TypeReference 2055469 2055474 - Identifier 2055469 2055474 - Parameter 2055475 2055492 - Identifier 2055475 2055484 - TypeReference 2055485 2055492 - Identifier 2055485 2055492 - BooleanKeyword 2055494 2055502 - Block 2055502 2055826 - ReturnStatement 2055504 2055686 - CallExpression 2055520 2055685 - Identifier 2055520 2055541 - Identifier 2055542 2055546 - BinaryExpression 2055547 2055649 - BinaryExpression 2055547 2055597 - PropertyAccessExpression 2055547 2055557 - Identifier 2055547 2055552 - Identifier 2055553 2055557 - EqualsEqualsEqualsToken 2055557 2055561 - PropertyAccessExpression 2055561 2055597 - Identifier 2055561 2055572 - Identifier 2055573 2055597 - AmpersandAmpersandToken 2055597 2055600 - BinaryExpression 2055600 2055649 - PropertyAccessExpression 2055600 2055621 - PropertyAccessExpression 2055600 2055616 - Identifier 2055600 2055605 - Identifier 2055606 2055616 - Identifier 2055617 2055621 - EqualsEqualsEqualsToken 2055621 2055625 - PropertyAccessExpression 2055625 2055649 - Identifier 2055625 2055636 - Identifier 2055637 2055649 - FalseKeyword 2055650 2055668 - Identifier 2055669 2055674 - Identifier 2055675 2055684 - FunctionDeclaration 2055826 2056334 - Identifier 2055842 2055872 - Parameter 2055873 2055946 - Identifier 2055873 2055887 - UnionType 2055888 2055946 - TypeReference 2055888 2055913 - Identifier 2055888 2055913 - TypeReference 2055915 2055929 - Identifier 2055915 2055929 - TypeReference 2055931 2055946 - Identifier 2055931 2055946 - Parameter 2055947 2055973 - Identifier 2055947 2055964 - BooleanKeyword 2055965 2055973 - Parameter 2055974 2056006 - Identifier 2055974 2055996 - TypeReference 2055997 2056006 - Identifier 2055997 2056006 - Parameter 2056007 2056027 - Identifier 2056007 2056021 - TypeReference 2056022 2056027 - Identifier 2056022 2056027 - BooleanKeyword 2056036 2056044 - Block 2056044 2056334 - IfStatement 2056046 2056170 - CallExpression 2056115 2056130 - Identifier 2056115 2056124 - Identifier 2056125 2056129 - Block 2056131 2056170 - ReturnStatement 2056133 2056159 - TrueKeyword 2056153 2056158 - VariableStatement 2056170 2056233 - VariableDeclarationList 2056170 2056232 - VariableDeclaration 2056187 2056232 - Identifier 2056187 2056192 - CallExpression 2056194 2056232 - Identifier 2056194 2056212 - Identifier 2056213 2056217 - Identifier 2056218 2056231 - ReturnStatement 2056233 2056327 - BinaryExpression 2056249 2056326 - PrefixUnaryExpression 2056249 2056256 - PrefixUnaryExpression 2056251 2056256 - Identifier 2056252 2056256 - AmpersandAmpersandToken 2056256 2056259 - CallExpression 2056259 2056326 - Identifier 2056259 2056280 - Identifier 2056281 2056285 - Identifier 2056286 2056294 - FalseKeyword 2056295 2056313 - Identifier 2056314 2056319 - Identifier 2056320 2056325 - FunctionDeclaration 2056334 2057785 - Identifier 2056877 2056898 - Parameter 2056899 2056919 - Identifier 2056899 2056913 - TypeReference 2056914 2056919 - Identifier 2056914 2056919 - Parameter 2056920 2056946 - Identifier 2056920 2056937 - BooleanKeyword 2056938 2056946 - Parameter 2056947 2056973 - Identifier 2056947 2056964 - BooleanKeyword 2056965 2056973 - Parameter 2056974 2057004 - Identifier 2056974 2056998 - TypeReference 2056999 2057004 - Identifier 2056999 2057004 - Parameter 2057005 2057031 - Identifier 2057005 2057023 - TypeReference 2057024 2057031 - Identifier 2057024 2057031 - BooleanKeyword 2057040 2057048 - Block 2057048 2057785 - IfStatement 2057050 2057184 - CallExpression 2057119 2057144 - Identifier 2057119 2057128 - Identifier 2057129 2057143 - Block 2057145 2057184 - ReturnStatement 2057147 2057173 - TrueKeyword 2057167 2057172 - IfStatement 2057184 2057672 - BinaryExpression 2057382 2057480 - PropertyAccessExpression 2057382 2057407 - Identifier 2057382 2057390 - Identifier 2057391 2057407 - AmpersandAmpersandToken 2057407 2057410 - CallExpression 2057410 2057480 - Identifier 2057410 2057453 - PropertyAccessExpression 2057454 2057479 - Identifier 2057454 2057462 - Identifier 2057463 2057479 - Block 2057481 2057672 - VariableStatement 2057483 2057561 - VariableDeclarationList 2057483 2057560 - VariableDeclaration 2057502 2057560 - Identifier 2057502 2057512 - CallExpression 2057514 2057560 - Identifier 2057514 2057533 - PropertyAccessExpression 2057534 2057559 - Identifier 2057534 2057542 - Identifier 2057543 2057559 - ReturnStatement 2057561 2057661 - BinaryExpression 2057581 2057660 - PrefixUnaryExpression 2057581 2057604 - CallExpression 2057583 2057604 - Identifier 2057583 2057598 - Identifier 2057599 2057603 - AmpersandAmpersandToken 2057604 2057607 - PrefixUnaryExpression 2057607 2057660 - PrefixUnaryExpression 2057609 2057660 - CallExpression 2057610 2057660 - Identifier 2057610 2057622 - Identifier 2057623 2057627 - ArrowFunction 2057628 2057659 - Parameter 2057628 2057635 - Identifier 2057628 2057635 - EqualsGreaterThanToken 2057635 2057638 - BinaryExpression 2057638 2057659 - Identifier 2057638 2057645 - EqualsEqualsEqualsToken 2057645 2057649 - Identifier 2057649 2057659 - ReturnStatement 2057672 2057778 - CallExpression 2057690 2057777 - Identifier 2057690 2057727 - Identifier 2057728 2057732 - Identifier 2057733 2057741 - Identifier 2057742 2057750 - Identifier 2057751 2057766 - Identifier 2057767 2057776 - FunctionDeclaration 2057785 2058520 - Identifier 2057922 2057945 - Parameter 2057946 2057966 - Identifier 2057946 2057950 - TypeReference 2057951 2057966 - Identifier 2057951 2057966 - UnionType 2057968 2057987 - TypeReference 2057968 2057975 - Identifier 2057968 2057975 - UndefinedKeyword 2057977 2057987 - Block 2057987 2058520 - VariableStatement 2057989 2058036 - VariableDeclarationList 2057989 2058035 - VariableDeclaration 2058004 2058035 - Identifier 2058004 2058016 - PropertyAccessExpression 2058018 2058035 - Identifier 2058018 2058023 - Identifier 2058024 2058035 - IfStatement 2058036 2058486 - BinaryExpression 2058050 2058105 - PropertyAccessExpression 2058050 2058066 - Identifier 2058050 2058061 - Identifier 2058062 2058066 - EqualsEqualsEqualsToken 2058066 2058070 - PropertyAccessExpression 2058070 2058105 - Identifier 2058070 2058081 - Identifier 2058082 2058105 - Block 2058106 2058345 - VariableStatement 2058108 2058196 - VariableDeclarationList 2058108 2058195 - VariableDeclaration 2058127 2058195 - Identifier 2058127 2058136 - ElementAccessExpression 2058138 2058195 - PropertyAccessExpression 2058138 2058192 - ParenthesizedExpression 2058138 2058179 - AsExpression 2058140 2058178 - Identifier 2058140 2058151 - TypeReference 2058154 2058178 - Identifier 2058154 2058178 - Identifier 2058180 2058192 - NumericLiteral 2058193 2058194 - IfStatement 2058196 2058334 - BinaryExpression 2058214 2058258 - Identifier 2058214 2058222 - AmpersandAmpersandToken 2058222 2058225 - PrefixUnaryExpression 2058225 2058258 - CallExpression 2058227 2058258 - Identifier 2058227 2058243 - PropertyAccessExpression 2058244 2058257 - Identifier 2058244 2058252 - Identifier 2058253 2058257 - Block 2058259 2058334 - ReturnStatement 2058261 2058319 - CallExpression 2058285 2058318 - Identifier 2058285 2058308 - Identifier 2058309 2058317 - IfStatement 2058359 2058486 - BinaryExpression 2058364 2058406 - PropertyAccessExpression 2058364 2058380 - Identifier 2058364 2058375 - Identifier 2058376 2058380 - EqualsEqualsEqualsToken 2058380 2058384 - PropertyAccessExpression 2058384 2058406 - Identifier 2058384 2058395 - Identifier 2058396 2058406 - Block 2058407 2058486 - ReturnStatement 2058409 2058475 - CallExpression 2058429 2058474 - Identifier 2058429 2058447 - AsExpression 2058448 2058473 - Identifier 2058448 2058459 - TypeReference 2058462 2058473 - Identifier 2058462 2058473 - ReturnStatement 2058486 2058513 - Identifier 2058502 2058512 - FunctionDeclaration 2058520 2058781 - Identifier 2058638 2058662 - Parameter 2058663 2058673 - Identifier 2058663 2058667 - TypeReference 2058668 2058673 - Identifier 2058668 2058673 - Block 2058674 2058781 - ReturnStatement 2058676 2058774 - BinaryExpression 2058692 2058773 - BinaryExpression 2058692 2058731 - PropertyAccessExpression 2058692 2058725 - CallExpression 2058692 2058718 - Identifier 2058692 2058712 - Identifier 2058713 2058717 - Identifier 2058719 2058725 - EqualsEqualsEqualsToken 2058725 2058729 - NumericLiteral 2058729 2058731 - AmpersandAmpersandToken 2058731 2058734 - PrefixUnaryExpression 2058734 2058773 - PrefixUnaryExpression 2058736 2058773 - CallExpression 2058737 2058773 - Identifier 2058737 2058755 - Identifier 2058756 2058760 - Identifier 2058761 2058772 - FunctionDeclaration 2058781 2059985 - Identifier 2059004 2059043 - Parameter 2059044 2059060 - Identifier 2059044 2059048 - TypeReference 2059049 2059060 - Identifier 2059049 2059060 - Block 2059061 2059985 - VariableStatement 2059063 2059105 - VariableDeclarationList 2059063 2059104 - VariableDeclaration 2059078 2059104 - Identifier 2059078 2059080 - CallExpression 2059082 2059104 - Identifier 2059082 2059098 - Identifier 2059099 2059103 - IfStatement 2059105 2059955 - BinaryExpression 2059119 2059151 - PropertyAccessExpression 2059119 2059125 - Identifier 2059119 2059120 - Identifier 2059121 2059125 - EqualsEqualsEqualsToken 2059125 2059129 - PropertyAccessExpression 2059129 2059151 - Identifier 2059129 2059140 - Identifier 2059141 2059151 - Block 2059152 2059955 - VariableStatement 2059154 2059218 - VariableDeclarationList 2059154 2059217 - VariableDeclaration 2059173 2059217 - Identifier 2059173 2059180 - CallExpression 2059182 2059217 - Identifier 2059182 2059200 - AsExpression 2059201 2059216 - Identifier 2059201 2059202 - TypeReference 2059205 2059216 - Identifier 2059205 2059216 - IfStatement 2059218 2059944 - BinaryExpression 2059236 2059271 - PropertyAccessExpression 2059236 2059248 - Identifier 2059236 2059242 - Identifier 2059243 2059248 - AmpersandToken 2059248 2059250 - PropertyAccessExpression 2059250 2059271 - Identifier 2059250 2059262 - Identifier 2059263 2059271 - Block 2059272 2059944 - VariableStatement 2059274 2059315 - VariableDeclarationList 2059274 2059314 - VariableDeclaration 2059295 2059314 - Identifier 2059295 2059301 - TypeReference 2059302 2059307 - Identifier 2059302 2059307 - Identifier 2059309 2059314 - VariableStatement 2059315 2059356 - VariableDeclarationList 2059315 2059355 - VariableDeclaration 2059336 2059355 - Identifier 2059336 2059341 - PropertyAccessExpression 2059343 2059355 - Identifier 2059343 2059348 - Identifier 2059349 2059355 - WhileStatement 2059356 2059929 - Identifier 2059381 2059385 - Block 2059386 2059929 - IfStatement 2059388 2059834 - BinaryExpression 2059414 2059748 - BinaryExpression 2059414 2059638 - BinaryExpression 2059414 2059552 - BinaryExpression 2059414 2059479 - PropertyAccessExpression 2059414 2059449 - Identifier 2059414 2059444 - Identifier 2059445 2059449 - EqualsEqualsEqualsToken 2059449 2059453 - PropertyAccessExpression 2059453 2059479 - Identifier 2059453 2059464 - Identifier 2059465 2059479 - AmpersandAmpersandToken 2059479 2059482 - BinaryExpression 2059482 2059552 - Identifier 2059482 2059513 - EqualsEqualsEqualsToken 2059513 2059517 - PropertyAccessExpression 2059517 2059552 - ParenthesizedExpression 2059517 2059542 - AsExpression 2059519 2059541 - Identifier 2059519 2059523 - TypeReference 2059526 2059541 - Identifier 2059526 2059541 - Identifier 2059543 2059552 - AmpersandAmpersandToken 2059552 2059555 - BinaryExpression 2059555 2059638 - CallExpression 2059555 2059627 - Identifier 2059555 2059603 - AsExpression 2059604 2059626 - Identifier 2059604 2059608 - TypeReference 2059611 2059626 - Identifier 2059611 2059626 - EqualsEqualsEqualsToken 2059627 2059631 - Identifier 2059631 2059638 - AmpersandAmpersandToken 2059638 2059641 - CallExpression 2059641 2059748 - Identifier 2059641 2059690 - CallExpression 2059691 2059747 - Identifier 2059691 2059710 - PropertyAccessExpression 2059711 2059746 - ParenthesizedExpression 2059711 2059735 - AsExpression 2059712 2059734 - Identifier 2059712 2059716 - TypeReference 2059719 2059734 - Identifier 2059719 2059734 - Identifier 2059736 2059746 - Block 2059771 2059834 - ReturnStatement 2059773 2059811 - TrueKeyword 2059805 2059810 - ExpressionStatement 2059834 2059869 - BinaryExpression 2059834 2059868 - Identifier 2059834 2059861 - EqualsToken 2059861 2059863 - Identifier 2059863 2059868 - ExpressionStatement 2059869 2059910 - BinaryExpression 2059869 2059909 - Identifier 2059869 2059895 - EqualsToken 2059895 2059897 - PropertyAccessExpression 2059897 2059909 - Identifier 2059897 2059902 - Identifier 2059903 2059909 - ReturnStatement 2059955 2059978 - FalseKeyword 2059971 2059977 - FunctionDeclaration 2059985 2060321 - Identifier 2060001 2060020 - Parameter 2060021 2060050 - Identifier 2060021 2060025 - TypeReference 2060026 2060050 - Identifier 2060026 2060050 - Parameter 2060051 2060084 - Identifier 2060051 2060061 - UnionType 2060062 2060084 - TypeReference 2060062 2060072 - Identifier 2060062 2060072 - UndefinedKeyword 2060074 2060084 - TypeReference 2060086 2060091 - Identifier 2060086 2060091 - Block 2060091 2060321 - ReturnStatement 2060093 2060314 - ConditionalExpression 2060109 2060313 - BinaryExpression 2060109 2060146 - PropertyAccessExpression 2060109 2060120 - Identifier 2060109 2060114 - Identifier 2060115 2060120 - AmpersandToken 2060120 2060122 - PropertyAccessExpression 2060122 2060146 - Identifier 2060122 2060132 - Identifier 2060133 2060146 - QuestionToken 2060146 2060148 - CallExpression 2060148 2060211 - Identifier 2060148 2060172 - AsExpression 2060173 2060199 - Identifier 2060173 2060177 - TypeReference 2060180 2060199 - Identifier 2060180 2060199 - Identifier 2060200 2060210 - ColonToken 2060211 2060213 - CallExpression 2060213 2060313 - Identifier 2060213 2060255 - Identifier 2060256 2060260 - CallExpression 2060261 2060301 - Identifier 2060261 2060284 - PropertyAccessExpression 2060285 2060300 - Identifier 2060285 2060289 - Identifier 2060290 2060300 - Identifier 2060302 2060312 - FunctionDeclaration 2060321 2060757 - Identifier 2060337 2060361 - Parameter 2060362 2060386 - Identifier 2060362 2060366 - TypeReference 2060367 2060386 - Identifier 2060367 2060386 - Parameter 2060387 2060420 - Identifier 2060387 2060397 - UnionType 2060398 2060420 - TypeReference 2060398 2060408 - Identifier 2060398 2060408 - UndefinedKeyword 2060410 2060420 - Block 2060421 2060757 - VariableStatement 2060423 2060483 - VariableDeclarationList 2060423 2060482 - VariableDeclaration 2060438 2060482 - Identifier 2060438 2060447 - CallExpression 2060449 2060482 - Identifier 2060449 2060465 - PropertyAccessExpression 2060466 2060481 - Identifier 2060466 2060470 - Identifier 2060471 2060481 - VariableStatement 2060483 2060570 - VariableDeclarationList 2060483 2060569 - VariableDeclaration 2060498 2060569 - Identifier 2060498 2060514 - CallExpression 2060516 2060569 - Identifier 2060516 2060542 - Identifier 2060543 2060551 - PropertyAccessExpression 2060552 2060568 - Identifier 2060552 2060557 - Identifier 2060558 2060568 - ReturnStatement 2060570 2060750 - CallExpression 2060586 2060749 - Identifier 2060586 2060614 - CallExpression 2060615 2060712 - Identifier 2060615 2060643 - Identifier 2060644 2060648 - CallExpression 2060649 2060700 - Identifier 2060649 2060666 - Identifier 2060667 2060682 - PropertyAccessExpression 2060683 2060699 - Identifier 2060683 2060688 - Identifier 2060689 2060699 - Identifier 2060701 2060711 - Identifier 2060713 2060718 - BinaryExpression 2060719 2060748 - Identifier 2060719 2060735 - ExclamationEqualsEqualsToken 2060735 2060739 - Identifier 2060739 2060748 - FunctionDeclaration 2060757 2062529 - Identifier 2060773 2060802 - Parameter 2060803 2060832 - Identifier 2060803 2060807 - TypeReference 2060808 2060832 - Identifier 2060808 2060832 - Parameter 2060833 2060848 - Identifier 2060833 2060842 - TypeReference 2060843 2060848 - Identifier 2060843 2060848 - Parameter 2060849 2060882 - Identifier 2060849 2060859 - UnionType 2060860 2060882 - TypeReference 2060860 2060870 - Identifier 2060860 2060870 - UndefinedKeyword 2060872 2060882 - TypeReference 2060884 2060889 - Identifier 2060884 2060889 - Block 2060889 2062529 - VariableStatement 2060891 2061043 - VariableDeclarationList 2060891 2061042 - VariableDeclaration 2060906 2061042 - Identifier 2060906 2060917 - ConditionalExpression 2060919 2061042 - BinaryExpression 2060919 2061004 - BinaryExpression 2060919 2060973 - CallExpression 2060919 2060949 - Identifier 2060919 2060943 - Identifier 2060944 2060948 - ExclamationEqualsEqualsToken 2060949 2060953 - PropertyAccessExpression 2060953 2060973 - Identifier 2060953 2060968 - Identifier 2060969 2060973 - BarBarToken 2060973 2060976 - CallExpression 2060976 2061004 - Identifier 2060976 2060998 - Identifier 2060999 2061003 - QuestionToken 2061004 2061006 - CallExpression 2061006 2061031 - Identifier 2061006 2061021 - Identifier 2061022 2061030 - ColonToken 2061031 2061033 - Identifier 2061033 2061042 - VariableStatement 2061043 2061101 - VariableDeclarationList 2061043 2061100 - VariableDeclaration 2061058 2061100 - Identifier 2061058 2061074 - PropertyAccessExpression 2061076 2061100 - Identifier 2061076 2061081 - Identifier 2061082 2061100 - VariableStatement 2061101 2061162 - VariableDeclarationList 2061101 2061161 - VariableDeclaration 2061116 2061161 - Identifier 2061116 2061126 - CallExpression 2061128 2061161 - Identifier 2061128 2061144 - Identifier 2061145 2061160 - IfStatement 2061162 2061281 - BinaryExpression 2061178 2061235 - CallExpression 2061178 2061201 - Identifier 2061178 2061189 - Identifier 2061190 2061200 - BarBarToken 2061201 2061204 - BinaryExpression 2061204 2061235 - Identifier 2061204 2061215 - EqualsEqualsEqualsToken 2061215 2061219 - Identifier 2061219 2061235 - Block 2061236 2061281 - ReturnStatement 2061238 2061270 - Identifier 2061258 2061269 - IfStatement 2061281 2061530 - BinaryExpression 2061297 2061371 - CallExpression 2061297 2061330 - Identifier 2061297 2061318 - Identifier 2061319 2061329 - AmpersandAmpersandToken 2061330 2061333 - PrefixUnaryExpression 2061333 2061371 - CallExpression 2061335 2061371 - Identifier 2061335 2061354 - Identifier 2061355 2061370 - Block 2061372 2061530 - ExpressionStatement 2061374 2061488 - CallExpression 2061374 2061487 - Identifier 2061374 2061393 - Identifier 2061394 2061409 - PropertyAccessExpression 2061410 2061486 - Identifier 2061410 2061422 - Identifier 2061423 2061486 - ReturnStatement 2061488 2061519 - Identifier 2061508 2061518 - VariableStatement 2061530 2061650 - VariableDeclarationList 2061530 2061649 - VariableDeclaration 2061547 2061649 - Identifier 2061547 2061566 - ConditionalExpression 2061568 2061649 - CallExpression 2061568 2061624 - Identifier 2061568 2061607 - Identifier 2061608 2061623 - QuestionToken 2061624 2061626 - Identifier 2061626 2061637 - ColonToken 2061637 2061639 - Identifier 2061639 2061649 - VariableStatement 2061650 2061719 - VariableDeclarationList 2061650 2061718 - VariableDeclaration 2061665 2061718 - Identifier 2061665 2061686 - CallExpression 2061688 2061718 - Identifier 2061688 2061712 - Identifier 2061713 2061717 - VariableStatement 2061719 2061758 - VariableDeclarationList 2061719 2061757 - VariableDeclaration 2061732 2061757 - Identifier 2061732 2061744 - TypeReference 2061745 2061757 - Identifier 2061745 2061757 - IfStatement 2061758 2062220 - BinaryExpression 2061772 2061816 - Identifier 2061772 2061792 - EqualsEqualsEqualsToken 2061792 2061796 - PropertyAccessExpression 2061796 2061816 - Identifier 2061796 2061811 - Identifier 2061812 2061816 - Block 2061817 2061889 - ExpressionStatement 2061819 2061878 - BinaryExpression 2061819 2061877 - Identifier 2061819 2061844 - EqualsToken 2061844 2061846 - PropertyAccessExpression 2061846 2061877 - Identifier 2061846 2061858 - Identifier 2061859 2061877 - Block 2061903 2062220 - ExpressionStatement 2061905 2062061 - BinaryExpression 2061905 2062060 - Identifier 2061905 2061930 - EqualsToken 2061930 2061932 - BinaryExpression 2061932 2062060 - PropertyAccessExpression 2061932 2061952 - Identifier 2061932 2061944 - Identifier 2061945 2061952 - BarToken 2061952 2061954 - ParenthesizedExpression 2061954 2062060 - ConditionalExpression 2061956 2062059 - BinaryExpression 2061956 2062023 - CallExpression 2061956 2061987 - Identifier 2061956 2061975 - Identifier 2061976 2061986 - AmpersandAmpersandToken 2061987 2061990 - PrefixUnaryExpression 2061990 2062023 - CallExpression 2061992 2062023 - Identifier 2061992 2062011 - Identifier 2062012 2062022 - QuestionToken 2062023 2062025 - PropertyAccessExpression 2062025 2062055 - Identifier 2062025 2062037 - Identifier 2062038 2062055 - ColonToken 2062055 2062057 - NumericLiteral 2062057 2062059 - IfStatement 2062061 2062209 - BinaryExpression 2062079 2062127 - Identifier 2062079 2062099 - EqualsEqualsEqualsToken 2062099 2062103 - PropertyAccessExpression 2062103 2062127 - Identifier 2062103 2062118 - Identifier 2062119 2062127 - Block 2062128 2062209 - ExpressionStatement 2062130 2062194 - BinaryExpression 2062130 2062193 - Identifier 2062130 2062159 - BarEqualsToken 2062159 2062162 - PropertyAccessExpression 2062162 2062193 - Identifier 2062162 2062174 - Identifier 2062175 2062193 - VariableStatement 2062220 2062352 - VariableDeclarationList 2062220 2062351 - VariableDeclaration 2062235 2062351 - Identifier 2062235 2062253 - BinaryExpression 2062255 2062351 - CallExpression 2062255 2062338 - Identifier 2062255 2062287 - Identifier 2062288 2062298 - Identifier 2062299 2062318 - Identifier 2062319 2062331 - Identifier 2062332 2062337 - BarBarToken 2062338 2062341 - Identifier 2062341 2062351 - ReturnStatement 2062352 2062522 - CallExpression 2062368 2062521 - Identifier 2062368 2062396 - CallExpression 2062397 2062514 - Identifier 2062397 2062426 - Identifier 2062427 2062431 - PropertyAccessExpression 2062432 2062466 - CallExpression 2062432 2062451 - Identifier 2062432 2062445 - Identifier 2062446 2062450 - Identifier 2062452 2062466 - Identifier 2062467 2062485 - Identifier 2062486 2062502 - Identifier 2062503 2062513 - Identifier 2062515 2062520 - FunctionDeclaration 2062529 2062820 - Identifier 2062545 2062584 - Parameter 2062585 2062609 - Identifier 2062585 2062589 - TypeReference 2062590 2062609 - Identifier 2062590 2062609 - TypePredicate 2062611 2062697 - Identifier 2062611 2062616 - UnionType 2062619 2062697 - TypeReference 2062619 2062634 - Identifier 2062619 2062634 - TypeReference 2062636 2062650 - Identifier 2062636 2062650 - TypeReference 2062652 2062677 - Identifier 2062652 2062677 - TypeReference 2062679 2062697 - Identifier 2062679 2062697 - Block 2062697 2062820 - ReturnStatement 2062699 2062813 - BinaryExpression 2062715 2062812 - BinaryExpression 2062715 2062779 - CallExpression 2062715 2062743 - Identifier 2062715 2062737 - Identifier 2062738 2062742 - BarBarToken 2062743 2062746 - CallExpression 2062746 2062779 - Identifier 2062746 2062773 - Identifier 2062774 2062778 - BarBarToken 2062779 2062782 - CallExpression 2062782 2062812 - Identifier 2062782 2062806 - Identifier 2062807 2062811 - FunctionDeclaration 2062820 2063783 - Identifier 2062836 2062855 - Parameter 2062856 2062880 - Identifier 2062856 2062860 - TypeReference 2062861 2062880 - Identifier 2062861 2062880 - TypeReference 2062882 2062892 - Identifier 2062882 2062892 - Block 2062892 2063783 - IfStatement 2062894 2063243 - CallExpression 2062908 2062952 - Identifier 2062908 2062946 - Identifier 2062947 2062951 - Block 2062953 2063243 - ExpressionStatement 2062955 2063232 - CallExpression 2062955 2063231 - Identifier 2062955 2063191 - PropertyAccessExpression 2063192 2063210 - Identifier 2063192 2063196 - Identifier 2063197 2063210 - Identifier 2063211 2063230 - IfStatement 2063243 2063746 - BinaryExpression 2063259 2063308 - PropertyAccessExpression 2063259 2063268 - Identifier 2063259 2063263 - Identifier 2063264 2063268 - EqualsEqualsEqualsToken 2063268 2063272 - PropertyAccessExpression 2063272 2063308 - Identifier 2063272 2063283 - Identifier 2063284 2063308 - Block 2063309 2063367 - ExpressionStatement 2063311 2063356 - CallExpression 2063311 2063355 - Identifier 2063311 2063340 - PropertyAccessExpression 2063341 2063354 - Identifier 2063341 2063345 - Identifier 2063346 2063354 - IfStatement 2063381 2063746 - CallExpression 2063386 2063415 - Identifier 2063386 2063409 - Identifier 2063410 2063414 - Block 2063416 2063476 - ExpressionStatement 2063418 2063465 - CallExpression 2063418 2063464 - Identifier 2063418 2063447 - PropertyAccessExpression 2063448 2063463 - Identifier 2063448 2063452 - Identifier 2063453 2063463 - IfStatement 2063490 2063746 - CallExpression 2063495 2063519 - Identifier 2063495 2063513 - Identifier 2063514 2063518 - Block 2063520 2063574 - ExpressionStatement 2063522 2063563 - CallExpression 2063522 2063562 - Identifier 2063522 2063551 - PropertyAccessExpression 2063552 2063561 - Identifier 2063552 2063556 - Identifier 2063557 2063561 - IfStatement 2063588 2063746 - CallExpression 2063593 2063620 - Identifier 2063593 2063614 - Identifier 2063615 2063619 - Block 2063621 2063746 - ExpressionStatement 2063623 2063735 - CallExpression 2063623 2063734 - Identifier 2063623 2063644 - PropertyAccessExpression 2063645 2063659 - Identifier 2063645 2063649 - Identifier 2063650 2063659 - ArrowFunction 2063660 2063733 - Parameter 2063660 2063669 - Identifier 2063660 2063669 - EqualsGreaterThanToken 2063669 2063672 - Block 2063672 2063733 - ExpressionStatement 2063674 2063718 - CallExpression 2063674 2063717 - Identifier 2063674 2063707 - Identifier 2063708 2063716 - ReturnStatement 2063746 2063776 - Identifier 2063762 2063775 - FunctionDeclaration 2063783 2063931 - Identifier 2063799 2063816 - Parameter 2063817 2063841 - Identifier 2063817 2063821 - TypeReference 2063822 2063841 - Identifier 2063822 2063841 - TypeReference 2063843 2063853 - Identifier 2063843 2063853 - Block 2063853 2063931 - ExpressionStatement 2063855 2063890 - CallExpression 2063855 2063889 - Identifier 2063855 2063883 - Identifier 2063884 2063888 - ReturnStatement 2063890 2063924 - Identifier 2063906 2063923 - FunctionDeclaration 2063931 2066628 - Identifier 2064536 2064554 - Parameter 2064555 2064587 - Identifier 2064555 2064565 - TypeOperator 2064566 2064587 - ArrayType 2064575 2064587 - TypeReference 2064575 2064585 - Identifier 2064575 2064585 - Parameter 2064588 2064608 - Identifier 2064588 2064595 - ArrayType 2064596 2064608 - TypeReference 2064596 2064606 - Identifier 2064596 2064606 - Parameter 2064609 2064640 - Identifier 2064609 2064624 - TypeReference 2064625 2064640 - Identifier 2064625 2064640 - VoidKeyword 2064642 2064647 - Block 2064647 2066628 - VariableStatement 2064649 2064692 - VariableDeclarationList 2064649 2064691 - VariableDeclaration 2064662 2064691 - Identifier 2064662 2064673 - UnionType 2064674 2064691 - TypeReference 2064674 2064679 - Identifier 2064674 2064679 - UndefinedKeyword 2064681 2064691 - VariableStatement 2064692 2064737 - VariableDeclarationList 2064692 2064736 - VariableDeclaration 2064705 2064736 - Identifier 2064705 2064716 - UnionType 2064717 2064736 - TypeReference 2064717 2064724 - Identifier 2064717 2064724 - UndefinedKeyword 2064726 2064736 - VariableStatement 2064737 2064767 - VariableDeclarationList 2064737 2064766 - VariableDeclaration 2064750 2064766 - Identifier 2064750 2064762 - NumericLiteral 2064764 2064766 - VariableStatement 2064767 2064807 - VariableDeclarationList 2064767 2064806 - VariableDeclaration 2064780 2064806 - Identifier 2064780 2064786 - UnionType 2064787 2064806 - NumberKeyword 2064787 2064794 - UndefinedKeyword 2064796 2064806 - VariableStatement 2064807 2064843 - VariableDeclarationList 2064807 2064842 - VariableDeclaration 2064820 2064842 - Identifier 2064820 2064837 - PrefixUnaryExpression 2064839 2064842 - NumericLiteral 2064841 2064842 - VariableStatement 2064843 2064877 - VariableDeclarationList 2064843 2064876 - VariableDeclaration 2064856 2064876 - Identifier 2064856 2064868 - NumberKeyword 2064869 2064876 - ExpressionStatement 2064877 2064916 - CallExpression 2064877 2064915 - PropertyAccessExpression 2064877 2064899 - Identifier 2064877 2064892 - Identifier 2064893 2064899 - PrefixUnaryExpression 2064900 2064914 - PropertyAccessExpression 2064901 2064914 - Identifier 2064901 2064907 - Identifier 2064908 2064914 - ForOfStatement 2064916 2066621 - VariableDeclarationList 2064931 2064946 - VariableDeclaration 2064936 2064946 - Identifier 2064936 2064946 - Identifier 2064949 2064960 - Block 2064961 2066621 - VariableStatement 2064963 2065063 - VariableDeclarationList 2064963 2065062 - VariableDeclaration 2064982 2065062 - Identifier 2064982 2064989 - BinaryExpression 2064991 2065062 - PropertyAccessExpression 2064991 2065013 - Identifier 2064991 2065001 - Identifier 2065002 2065013 - AmpersandAmpersandToken 2065013 2065016 - CallExpression 2065016 2065062 - Identifier 2065016 2065039 - PropertyAccessExpression 2065040 2065061 - Identifier 2065040 2065049 - Identifier 2065050 2065061 - VariableStatement 2065063 2065146 - VariableDeclarationList 2065063 2065145 - VariableDeclaration 2065082 2065145 - Identifier 2065082 2065089 - BinaryExpression 2065091 2065145 - PropertyAccessExpression 2065091 2065113 - Identifier 2065091 2065101 - Identifier 2065102 2065113 - AmpersandAmpersandToken 2065113 2065116 - PropertyAccessExpression 2065116 2065145 - PropertyAccessExpression 2065116 2065138 - Identifier 2065116 2065126 - Identifier 2065127 2065138 - Identifier 2065139 2065145 - IfStatement 2065146 2065774 - BinaryExpression 2065164 2065200 - PrefixUnaryExpression 2065164 2065175 - Identifier 2065165 2065175 - BarBarToken 2065175 2065178 - BinaryExpression 2065178 2065200 - Identifier 2065178 2065185 - EqualsEqualsEqualsToken 2065185 2065189 - Identifier 2065189 2065200 - Block 2065201 2065465 - IfStatement 2065203 2065450 - BinaryExpression 2065225 2065260 - Identifier 2065225 2065235 - AmpersandAmpersandToken 2065235 2065238 - BinaryExpression 2065238 2065260 - Identifier 2065238 2065245 - EqualsEqualsEqualsToken 2065245 2065249 - Identifier 2065249 2065260 - Block 2065261 2065323 - ExpressionStatement 2065263 2065304 - BinaryExpression 2065263 2065303 - Identifier 2065263 2065290 - EqualsToken 2065290 2065292 - BinaryExpression 2065292 2065303 - NonNullExpression 2065292 2065299 - Identifier 2065292 2065298 - PlusToken 2065299 2065301 - NumericLiteral 2065301 2065303 - Block 2065345 2065450 - ExpressionStatement 2065347 2065389 - BinaryExpression 2065347 2065388 - Identifier 2065347 2065379 - EqualsToken 2065379 2065381 - Identifier 2065381 2065388 - ExpressionStatement 2065389 2065431 - BinaryExpression 2065389 2065430 - Identifier 2065389 2065416 - EqualsToken 2065416 2065418 - Identifier 2065418 2065430 - Block 2065483 2065774 - ExpressionStatement 2065485 2065721 - BinaryExpression 2065485 2065720 - Identifier 2065485 2065690 - EqualsToken 2065690 2065692 - BinaryExpression 2065692 2065720 - Identifier 2065692 2065704 - EqualsToken 2065704 2065706 - PropertyAccessExpression 2065706 2065720 - Identifier 2065706 2065713 - Identifier 2065714 2065720 - ExpressionStatement 2065721 2065759 - BinaryExpression 2065721 2065758 - Identifier 2065721 2065749 - EqualsToken 2065749 2065751 - Identifier 2065751 2065758 - ExpressionStatement 2065774 2065808 - BinaryExpression 2065774 2065807 - Identifier 2065774 2065798 - EqualsToken 2065798 2065800 - Identifier 2065800 2065807 - IfStatement 2065808 2066482 - CallExpression 2065989 2066024 - Identifier 2065989 2066013 - Identifier 2066014 2066023 - Block 2066025 2066409 - ExpressionStatement 2066027 2066064 - PostfixUnaryExpression 2066027 2066063 - Identifier 2066027 2066061 - ExpressionStatement 2066064 2066113 - BinaryExpression 2066064 2066112 - Identifier 2066064 2066093 - EqualsToken 2066093 2066095 - Identifier 2066095 2066112 - ExpressionStatement 2066113 2066394 - PostfixUnaryExpression 2066113 2066393 - Identifier 2066113 2066391 - Block 2066427 2066482 - ExpressionStatement 2066429 2066467 - BinaryExpression 2066429 2066466 - Identifier 2066429 2066458 - EqualsToken 2066458 2066460 - Identifier 2066460 2066466 - ExpressionStatement 2066482 2066610 - CallExpression 2066482 2066609 - PropertyAccessExpression 2066482 2066511 - Identifier 2066482 2066504 - Identifier 2066505 2066511 - Identifier 2066512 2066523 - NumericLiteral 2066524 2066526 - ConditionalExpression 2066527 2066608 - Identifier 2066527 2066542 - QuestionToken 2066542 2066544 - CallExpression 2066544 2066596 - Identifier 2066544 2066569 - Identifier 2066570 2066579 - Identifier 2066580 2066595 - ColonToken 2066596 2066598 - Identifier 2066598 2066608 - FunctionDeclaration 2066628 2066872 - Identifier 2066644 2066661 - Parameter 2066662 2066689 - Identifier 2066662 2066665 - UnionType 2066666 2066689 - TypeReference 2066666 2066677 - Identifier 2066666 2066677 - UndefinedKeyword 2066679 2066689 - TypePredicate 2066691 2066709 - Identifier 2066691 2066695 - TypeReference 2066698 2066709 - Identifier 2066698 2066709 - Block 2066709 2066872 - ReturnStatement 2066711 2066865 - BinaryExpression 2066727 2066864 - PrefixUnaryExpression 2066727 2066733 - PrefixUnaryExpression 2066729 2066733 - Identifier 2066730 2066733 - AmpersandAmpersandToken 2066733 2066736 - ParenthesizedExpression 2066736 2066864 - BinaryExpression 2066738 2066863 - BinaryExpression 2066738 2066775 - PropertyAccessExpression 2066738 2066746 - Identifier 2066738 2066741 - Identifier 2066742 2066746 - EqualsEqualsEqualsToken 2066746 2066750 - PropertyAccessExpression 2066750 2066775 - Identifier 2066750 2066761 - Identifier 2066762 2066775 - BarBarToken 2066775 2066778 - BinaryExpression 2066778 2066863 - BinaryExpression 2066778 2066822 - PropertyAccessExpression 2066778 2066787 - Identifier 2066778 2066782 - Identifier 2066783 2066787 - EqualsEqualsEqualsToken 2066787 2066791 - PropertyAccessExpression 2066791 2066822 - Identifier 2066791 2066802 - Identifier 2066803 2066822 - AmpersandAmpersandToken 2066822 2066825 - PropertyAccessExpression 2066825 2066863 - ParenthesizedExpression 2066825 2066854 - AsExpression 2066827 2066853 - Identifier 2066827 2066830 - TypeReference 2066833 2066853 - Identifier 2066833 2066853 - Identifier 2066855 2066863 - FunctionDeclaration 2066872 2067008 - Identifier 2066888 2066911 - Parameter 2066912 2066939 - Identifier 2066912 2066916 - TypeOperator 2066917 2066939 - ArrayType 2066926 2066939 - TypeReference 2066926 2066937 - Identifier 2066926 2066937 - NumberKeyword 2066941 2066948 - Block 2066948 2067008 - ReturnStatement 2066950 2067001 - CallExpression 2066966 2067000 - Identifier 2066966 2066976 - Identifier 2066977 2066981 - Identifier 2066982 2066999 - FunctionDeclaration 2067008 2067109 - Identifier 2067024 2067036 - Parameter 2067037 2067044 - Identifier 2067037 2067038 - TypeReference 2067039 2067044 - Identifier 2067039 2067044 - BooleanKeyword 2067046 2067054 - Block 2067054 2067109 - ReturnStatement 2067056 2067102 - PrefixUnaryExpression 2067072 2067101 - PrefixUnaryExpression 2067074 2067101 - ParenthesizedExpression 2067075 2067101 - BinaryExpression 2067076 2067100 - PropertyAccessExpression 2067076 2067083 - Identifier 2067076 2067077 - Identifier 2067078 2067083 - AmpersandToken 2067083 2067085 - PropertyAccessExpression 2067085 2067100 - Identifier 2067085 2067095 - Identifier 2067096 2067100 - FunctionDeclaration 2067109 2067291 - Identifier 2067125 2067158 - Parameter 2067159 2067166 - Identifier 2067159 2067160 - TypeReference 2067161 2067166 - Identifier 2067161 2067166 - BooleanKeyword 2067168 2067176 - Block 2067176 2067291 - ReturnStatement 2067178 2067284 - PrefixUnaryExpression 2067194 2067283 - PrefixUnaryExpression 2067196 2067283 - ParenthesizedExpression 2067197 2067283 - BinaryExpression 2067198 2067282 - PropertyAccessExpression 2067198 2067205 - Identifier 2067198 2067199 - Identifier 2067200 2067205 - AmpersandToken 2067205 2067207 - ParenthesizedExpression 2067207 2067282 - BinaryExpression 2067209 2067281 - BinaryExpression 2067209 2067265 - BinaryExpression 2067209 2067245 - PropertyAccessExpression 2067209 2067223 - Identifier 2067209 2067218 - Identifier 2067219 2067223 - BarToken 2067223 2067225 - PropertyAccessExpression 2067225 2067245 - Identifier 2067225 2067235 - Identifier 2067236 2067245 - BarToken 2067245 2067247 - PropertyAccessExpression 2067247 2067265 - Identifier 2067247 2067257 - Identifier 2067258 2067265 - BarToken 2067265 2067267 - PropertyAccessExpression 2067267 2067281 - Identifier 2067267 2067277 - Identifier 2067278 2067281 - FunctionDeclaration 2067291 2071584 - Identifier 2067307 2067323 - Parameter 2067324 2067348 - Identifier 2067324 2067328 - TypeReference 2067329 2067348 - Identifier 2067329 2067348 - Parameter 2067349 2067377 - Identifier 2067349 2067354 - TypeOperator 2067355 2067377 - ArrayType 2067364 2067377 - TypeReference 2067364 2067375 - Identifier 2067364 2067375 - Parameter 2067378 2067399 - Identifier 2067378 2067388 - TypeReference 2067389 2067399 - Identifier 2067389 2067399 - Parameter 2067400 2067435 - Identifier 2067400 2067427 - FalseKeyword 2067429 2067435 - Block 2067436 2071584 - IfStatement 2067438 2067492 - CallExpression 2067452 2067478 - Identifier 2067452 2067472 - Identifier 2067473 2067477 - ReturnStatement 2067479 2067492 - TrueKeyword 2067486 2067491 - VariableStatement 2067492 2067525 - VariableDeclarationList 2067492 2067524 - VariableDeclaration 2067507 2067524 - Identifier 2067507 2067516 - NumberKeyword 2067517 2067524 - VariableStatement 2067525 2067564 - VariableDeclarationList 2067525 2067563 - VariableDeclaration 2067538 2067563 - Identifier 2067538 2067555 - FalseKeyword 2067557 2067563 - VariableStatement 2067564 2067708 - VariableDeclarationList 2067564 2067707 - VariableDeclaration 2067652 2067707 - Identifier 2067652 2067676 - CallExpression 2067678 2067707 - Identifier 2067678 2067696 - Identifier 2067697 2067706 - VariableStatement 2067708 2067781 - VariableDeclarationList 2067708 2067780 - VariableDeclaration 2067721 2067780 - Identifier 2067721 2067747 - CallExpression 2067749 2067780 - Identifier 2067749 2067769 - Identifier 2067770 2067779 - IfStatement 2067781 2070744 - BinaryExpression 2067797 2067846 - PropertyAccessExpression 2067797 2067806 - Identifier 2067797 2067801 - Identifier 2067802 2067806 - EqualsEqualsEqualsToken 2067806 2067810 - PropertyAccessExpression 2067810 2067846 - Identifier 2067810 2067821 - Identifier 2067822 2067846 - Block 2067847 2068940 - ExpressionStatement 2067849 2067886 - BinaryExpression 2067849 2067885 - Identifier 2067849 2067871 - EqualsToken 2067871 2067873 - PropertyAccessExpression 2067873 2067885 - Identifier 2067873 2067878 - Identifier 2067879 2067885 - IfStatement 2067886 2068929 - BinaryExpression 2067904 2067956 - PropertyAccessExpression 2067904 2067922 - PropertyAccessExpression 2067904 2067917 - Identifier 2067904 2067908 - Identifier 2067909 2067917 - Identifier 2067918 2067922 - EqualsEqualsEqualsToken 2067922 2067926 - PropertyAccessExpression 2067926 2067956 - Identifier 2067926 2067937 - Identifier 2067938 2067956 - Block 2067957 2068389 - VariableStatement 2067959 2068224 - VariableDeclarationList 2067959 2068223 - VariableDeclaration 2068178 2068223 - Identifier 2068178 2068187 - CallExpression 2068189 2068223 - Identifier 2068189 2068194 - PropertyAccessExpression 2068195 2068222 - PropertyAccessExpression 2068195 2068208 - Identifier 2068195 2068199 - Identifier 2068200 2068208 - Identifier 2068209 2068222 - ExpressionStatement 2068224 2068374 - BinaryExpression 2068224 2068373 - Identifier 2068224 2068302 - EqualsToken 2068302 2068304 - BinaryExpression 2068304 2068373 - CallExpression 2068304 2068336 - Identifier 2068304 2068318 - PropertyAccessExpression 2068319 2068335 - Identifier 2068319 2068327 - Identifier 2068328 2068335 - BarBarToken 2068336 2068339 - PrefixUnaryExpression 2068339 2068373 - PrefixUnaryExpression 2068341 2068373 - PropertyAccessExpression 2068342 2068373 - PropertyAccessExpression 2068342 2068358 - Identifier 2068342 2068350 - Identifier 2068351 2068358 - Identifier 2068359 2068373 - Block 2068407 2068929 - VariableStatement 2068409 2068746 - VariableDeclarationList 2068409 2068745 - VariableDeclaration 2068692 2068745 - Identifier 2068692 2068708 - AsExpression 2068710 2068745 - PropertyAccessExpression 2068710 2068724 - Identifier 2068710 2068715 - Identifier 2068716 2068724 - TypeReference 2068727 2068745 - Identifier 2068727 2068745 - ExpressionStatement 2068746 2068844 - CallExpression 2068746 2068843 - PropertyAccessExpression 2068746 2068776 - Identifier 2068746 2068769 - Identifier 2068770 2068776 - BinaryExpression 2068777 2068842 - PropertyAccessExpression 2068777 2068797 - Identifier 2068777 2068792 - Identifier 2068793 2068797 - EqualsEqualsEqualsToken 2068797 2068801 - PropertyAccessExpression 2068801 2068842 - Identifier 2068801 2068812 - Identifier 2068813 2068842 - ExpressionStatement 2068844 2068914 - BinaryExpression 2068844 2068913 - Identifier 2068844 2068878 - EqualsToken 2068878 2068880 - PrefixUnaryExpression 2068880 2068913 - PrefixUnaryExpression 2068882 2068913 - PropertyAccessExpression 2068883 2068913 - Identifier 2068883 2068898 - Identifier 2068899 2068913 - IfStatement 2068954 2070744 - BinaryExpression 2068959 2068993 - PropertyAccessExpression 2068959 2068968 - Identifier 2068959 2068963 - Identifier 2068964 2068968 - EqualsEqualsEqualsToken 2068968 2068972 - PropertyAccessExpression 2068972 2068993 - Identifier 2068972 2068983 - Identifier 2068984 2068993 - Block 2068994 2069075 - ExpressionStatement 2068996 2069064 - BinaryExpression 2068996 2069063 - Identifier 2068996 2069018 - EqualsToken 2069018 2069020 - CallExpression 2069020 2069063 - Identifier 2069020 2069046 - Identifier 2069047 2069051 - Identifier 2069052 2069062 - IfStatement 2069089 2070744 - BinaryExpression 2069094 2069135 - PropertyAccessExpression 2069094 2069103 - Identifier 2069094 2069098 - Identifier 2069099 2069103 - EqualsEqualsEqualsToken 2069103 2069107 - PropertyAccessExpression 2069107 2069135 - Identifier 2069107 2069118 - Identifier 2069119 2069135 - Block 2069136 2069176 - ExpressionStatement 2069138 2069165 - BinaryExpression 2069138 2069164 - Identifier 2069138 2069160 - EqualsToken 2069160 2069162 - NumericLiteral 2069162 2069164 - IfStatement 2069190 2070744 - CallExpression 2069195 2069224 - Identifier 2069195 2069218 - Identifier 2069219 2069223 - Block 2069225 2069809 - ExpressionStatement 2069227 2069293 - BinaryExpression 2069227 2069292 - Identifier 2069227 2069257 - EqualsToken 2069257 2069259 - BinaryExpression 2069259 2069292 - PropertyAccessExpression 2069259 2069279 - PropertyAccessExpression 2069259 2069275 - Identifier 2069259 2069264 - Identifier 2069265 2069275 - Identifier 2069276 2069279 - EqualsEqualsEqualsToken 2069279 2069283 - PropertyAccessExpression 2069283 2069292 - Identifier 2069283 2069288 - Identifier 2069289 2069292 - IfStatement 2069293 2069375 - Identifier 2069311 2069327 - Block 2069328 2069375 - ReturnStatement 2069330 2069360 - TrueKeyword 2069354 2069359 - ExpressionStatement 2069375 2069450 - BinaryExpression 2069375 2069449 - Identifier 2069375 2069397 - EqualsToken 2069397 2069399 - ConditionalExpression 2069399 2069449 - BinaryExpression 2069399 2069431 - Identifier 2069399 2069425 - EqualsEqualsEqualsToken 2069425 2069429 - NumericLiteral 2069429 2069431 - QuestionToken 2069431 2069433 - PropertyAccessExpression 2069433 2069445 - Identifier 2069433 2069438 - Identifier 2069439 2069445 - ColonToken 2069445 2069447 - NumericLiteral 2069447 2069449 - ExpressionStatement 2069450 2069538 - BinaryExpression 2069450 2069537 - Identifier 2069450 2069487 - EqualsToken 2069487 2069489 - ConditionalExpression 2069489 2069537 - BinaryExpression 2069489 2069507 - PropertyAccessExpression 2069489 2069501 - Identifier 2069489 2069494 - Identifier 2069495 2069501 - EqualsEqualsEqualsToken 2069501 2069505 - NumericLiteral 2069505 2069507 - QuestionToken 2069507 2069509 - Identifier 2069509 2069533 - ColonToken 2069533 2069535 - NumericLiteral 2069535 2069537 - ExpressionStatement 2069538 2069719 - BinaryExpression 2069538 2069718 - Identifier 2069538 2069677 - EqualsToken 2069677 2069679 - CallExpression 2069679 2069718 - PropertyAccessExpression 2069679 2069688 - Identifier 2069679 2069684 - Identifier 2069685 2069688 - Identifier 2069689 2069714 - NumericLiteral 2069715 2069717 - IfStatement 2069823 2070744 - PrefixUnaryExpression 2069828 2069843 - PropertyAccessExpression 2069829 2069843 - Identifier 2069829 2069833 - Identifier 2069834 2069843 - Block 2069844 2070060 - ExpressionStatement 2069846 2069991 - CallExpression 2069846 2069990 - PropertyAccessExpression 2069846 2069950 - Identifier 2069846 2069943 - Identifier 2069944 2069950 - BinaryExpression 2069951 2069989 - PropertyAccessExpression 2069951 2069960 - Identifier 2069951 2069955 - Identifier 2069956 2069960 - EqualsEqualsEqualsToken 2069960 2069964 - PropertyAccessExpression 2069964 2069989 - Identifier 2069964 2069975 - Identifier 2069976 2069989 - ReturnStatement 2069991 2070049 - BinaryExpression 2070011 2070048 - CallExpression 2070011 2070042 - Identifier 2070011 2070031 - Identifier 2070032 2070041 - EqualsEqualsEqualsToken 2070042 2070046 - NumericLiteral 2070046 2070048 - Block 2070074 2070744 - ExpressionStatement 2070076 2070160 - BinaryExpression 2070076 2070159 - Identifier 2070076 2070098 - EqualsToken 2070098 2070100 - ConditionalExpression 2070100 2070159 - Identifier 2070100 2070127 - QuestionToken 2070127 2070129 - BinaryExpression 2070129 2070145 - PropertyAccessExpression 2070129 2070141 - Identifier 2070129 2070134 - Identifier 2070135 2070141 - PlusToken 2070141 2070143 - NumericLiteral 2070143 2070145 - ColonToken 2070145 2070147 - PropertyAccessExpression 2070147 2070159 - Identifier 2070147 2070152 - Identifier 2070153 2070159 - ExpressionStatement 2070160 2070308 - BinaryExpression 2070160 2070307 - Identifier 2070160 2070273 - EqualsToken 2070273 2070275 - BinaryExpression 2070275 2070307 - PropertyAccessExpression 2070275 2070294 - PropertyAccessExpression 2070275 2070290 - Identifier 2070275 2070280 - Identifier 2070281 2070290 - Identifier 2070291 2070294 - EqualsEqualsEqualsToken 2070294 2070298 - PropertyAccessExpression 2070298 2070307 - Identifier 2070298 2070303 - Identifier 2070304 2070307 - VariableStatement 2070308 2070513 - VariableDeclarationList 2070308 2070512 - VariableDeclaration 2070466 2070512 - Identifier 2070466 2070481 - CallExpression 2070483 2070512 - Identifier 2070483 2070506 - Identifier 2070507 2070511 - IfStatement 2070513 2070733 - BinaryExpression 2070531 2070550 - Identifier 2070531 2070545 - GreaterThanEqualsToken 2070545 2070548 - NumericLiteral 2070548 2070550 - Block 2070551 2070733 - ReturnStatement 2070553 2070718 - BinaryExpression 2070577 2070717 - BinaryExpression 2070577 2070626 - Identifier 2070577 2070592 - GreaterThanEqualsToken 2070592 2070595 - CallExpression 2070595 2070626 - Identifier 2070595 2070615 - Identifier 2070616 2070625 - AmpersandAmpersandToken 2070626 2070629 - ParenthesizedExpression 2070629 2070717 - BinaryExpression 2070631 2070716 - CallExpression 2070631 2070667 - Identifier 2070631 2070656 - Identifier 2070657 2070666 - BarBarToken 2070667 2070670 - BinaryExpression 2070670 2070716 - Identifier 2070670 2070685 - LessThanToken 2070685 2070687 - CallExpression 2070687 2070716 - Identifier 2070687 2070705 - Identifier 2070706 2070715 - IfStatement 2070744 2070932 - BinaryExpression 2070816 2070891 - PrefixUnaryExpression 2070816 2070853 - CallExpression 2070817 2070853 - Identifier 2070817 2070842 - Identifier 2070843 2070852 - AmpersandAmpersandToken 2070853 2070856 - BinaryExpression 2070856 2070891 - Identifier 2070856 2070865 - GreaterThanToken 2070865 2070867 - Identifier 2070867 2070891 - Block 2070892 2070932 - ReturnStatement 2070894 2070921 - FalseKeyword 2070914 2070920 - IfStatement 2070932 2071220 - BinaryExpression 2071123 2071180 - Identifier 2071123 2071139 - BarBarToken 2071139 2071142 - BinaryExpression 2071142 2071180 - Identifier 2071142 2071151 - GreaterThanEqualsToken 2071151 2071154 - Identifier 2071154 2071180 - Block 2071181 2071220 - ReturnStatement 2071183 2071209 - TrueKeyword 2071203 2071208 - ForStatement 2071220 2071555 - VariableDeclarationList 2071235 2071251 - VariableDeclaration 2071238 2071251 - Identifier 2071238 2071240 - Identifier 2071242 2071251 - BinaryExpression 2071252 2071282 - Identifier 2071252 2071254 - LessThanToken 2071254 2071256 - Identifier 2071256 2071282 - PostfixUnaryExpression 2071283 2071287 - Identifier 2071283 2071285 - Block 2071288 2071555 - VariableStatement 2071290 2071349 - VariableDeclarationList 2071290 2071348 - VariableDeclaration 2071309 2071348 - Identifier 2071309 2071314 - CallExpression 2071316 2071348 - Identifier 2071316 2071334 - Identifier 2071335 2071344 - Identifier 2071345 2071347 - IfStatement 2071349 2071544 - BinaryExpression 2071367 2071495 - PropertyAccessExpression 2071367 2071477 - CallExpression 2071367 2071471 - Identifier 2071367 2071377 - Identifier 2071378 2071382 - ConditionalExpression 2071383 2071470 - BinaryExpression 2071383 2071421 - CallExpression 2071383 2071400 - Identifier 2071383 2071394 - Identifier 2071395 2071399 - AmpersandAmpersandToken 2071400 2071403 - PrefixUnaryExpression 2071403 2071421 - Identifier 2071405 2071421 - QuestionToken 2071421 2071423 - Identifier 2071423 2071456 - ColonToken 2071456 2071458 - Identifier 2071458 2071470 - Identifier 2071472 2071477 - AmpersandToken 2071477 2071479 - PropertyAccessExpression 2071479 2071495 - Identifier 2071479 2071489 - Identifier 2071490 2071495 - Block 2071496 2071544 - ReturnStatement 2071498 2071529 - FalseKeyword 2071522 2071528 - ReturnStatement 2071555 2071577 - TrueKeyword 2071571 2071576 - FunctionDeclaration 2071584 2072193 - Identifier 2071600 2071628 - Parameter 2071629 2071649 - Identifier 2071629 2071638 - TypeReference 2071639 2071649 - Identifier 2071639 2071649 - Parameter 2071650 2071697 - Identifier 2071650 2071664 - UnionType 2071665 2071697 - TypeReference 2071665 2071685 - Identifier 2071665 2071675 - TypeReference 2071676 2071684 - Identifier 2071676 2071684 - UndefinedKeyword 2071687 2071697 - Block 2071698 2072193 - VariableStatement 2071700 2071951 - VariableDeclarationList 2071700 2071950 - VariableDeclaration 2071897 2071950 - Identifier 2071897 2071915 - CallExpression 2071917 2071950 - Identifier 2071917 2071924 - PropertyAccessExpression 2071925 2071949 - Identifier 2071925 2071934 - Identifier 2071935 2071949 - VariableStatement 2071951 2072040 - VariableDeclarationList 2071951 2072039 - VariableDeclaration 2071966 2072039 - Identifier 2071966 2071987 - CallExpression 2071989 2072039 - Identifier 2071989 2072013 - PropertyAccessExpression 2072014 2072038 - Identifier 2072014 2072023 - Identifier 2072024 2072038 - ReturnStatement 2072040 2072186 - BinaryExpression 2072056 2072185 - PrefixUnaryExpression 2072056 2072077 - CallExpression 2072058 2072077 - Identifier 2072058 2072062 - Identifier 2072063 2072076 - BarBarToken 2072077 2072080 - ParenthesizedExpression 2072080 2072185 - BinaryExpression 2072095 2072184 - BinaryExpression 2072095 2072139 - PropertyAccessExpression 2072095 2072115 - Identifier 2072095 2072108 - Identifier 2072109 2072115 - GreaterThanEqualsToken 2072115 2072118 - Identifier 2072118 2072139 - AmpersandAmpersandToken 2072139 2072142 - BinaryExpression 2072142 2072184 - PropertyAccessExpression 2072142 2072163 - Identifier 2072142 2072156 - Identifier 2072157 2072163 - LessThanEqualsToken 2072163 2072166 - Identifier 2072166 2072184 - FunctionDeclaration 2072193 2072420 - Identifier 2072209 2072240 - Parameter 2072241 2072261 - Identifier 2072241 2072250 - TypeReference 2072251 2072261 - Identifier 2072251 2072261 - Parameter 2072262 2072274 - Identifier 2072262 2072266 - NumberKeyword 2072267 2072274 - Block 2072275 2072420 - VariableStatement 2072277 2072296 - VariableDeclarationList 2072277 2072295 - VariableDeclaration 2072290 2072295 - Identifier 2072290 2072295 - ReturnStatement 2072296 2072413 - PrefixUnaryExpression 2072312 2072412 - PrefixUnaryExpression 2072314 2072412 - ParenthesizedExpression 2072315 2072412 - BinaryExpression 2072316 2072411 - BinaryExpression 2072316 2072388 - PropertyAccessExpression 2072316 2072332 - Identifier 2072316 2072325 - Identifier 2072326 2072332 - AmpersandAmpersandToken 2072332 2072335 - ParenthesizedExpression 2072335 2072388 - BinaryExpression 2072337 2072387 - Identifier 2072337 2072341 - EqualsToken 2072341 2072343 - CallExpression 2072343 2072387 - Identifier 2072343 2072364 - PropertyAccessExpression 2072365 2072381 - Identifier 2072365 2072374 - Identifier 2072375 2072381 - Identifier 2072382 2072386 - AmpersandAmpersandToken 2072388 2072391 - CallExpression 2072391 2072411 - Identifier 2072391 2072405 - Identifier 2072406 2072410 - FunctionDeclaration 2072420 2072707 - Identifier 2072554 2072577 - Parameter 2072578 2072588 - Identifier 2072578 2072582 - TypeReference 2072583 2072588 - Identifier 2072583 2072588 - UnionType 2072590 2072612 - TypeReference 2072590 2072600 - Identifier 2072590 2072600 - UndefinedKeyword 2072602 2072612 - Block 2072612 2072707 - ReturnStatement 2072614 2072700 - CallExpression 2072630 2072699 - Identifier 2072630 2072649 - Identifier 2072650 2072654 - PropertyAccessExpression 2072655 2072674 - Identifier 2072655 2072669 - Identifier 2072670 2072674 - FalseKeyword 2072675 2072698 - FunctionDeclaration 2072707 2072977 - Identifier 2072723 2072757 - Parameter 2072758 2072768 - Identifier 2072758 2072762 - TypeReference 2072763 2072768 - Identifier 2072763 2072768 - UnionType 2072770 2072792 - TypeReference 2072770 2072780 - Identifier 2072770 2072780 - UndefinedKeyword 2072782 2072792 - Block 2072792 2072977 - ReturnStatement 2072794 2072970 - BinaryExpression 2072810 2072969 - CallExpression 2072810 2072879 - Identifier 2072810 2072829 - Identifier 2072830 2072834 - PropertyAccessExpression 2072835 2072854 - Identifier 2072835 2072849 - Identifier 2072850 2072854 - FalseKeyword 2072855 2072878 - BarBarToken 2072879 2072882 - CallExpression 2072882 2072969 - Identifier 2072882 2072914 - Identifier 2072915 2072919 - PropertyAccessExpression 2072920 2072944 - Identifier 2072920 2072934 - Identifier 2072935 2072944 - FalseKeyword 2072945 2072968 - FunctionDeclaration 2072977 2073818 - Identifier 2072993 2073012 - Parameter 2073013 2073023 - Identifier 2073013 2073017 - TypeReference 2073018 2073023 - Identifier 2073018 2073023 - Parameter 2073024 2073044 - Identifier 2073024 2073029 - TypeReference 2073030 2073044 - Identifier 2073030 2073044 - Parameter 2073045 2073067 - Identifier 2073045 2073058 - BooleanKeyword 2073059 2073067 - UnionType 2073069 2073091 - TypeReference 2073069 2073079 - Identifier 2073069 2073079 - UndefinedKeyword 2073081 2073091 - Block 2073091 2073818 - IfStatement 2073093 2073784 - BinaryExpression 2073107 2073136 - PropertyAccessExpression 2073107 2073117 - Identifier 2073107 2073111 - Identifier 2073112 2073117 - AmpersandToken 2073117 2073119 - PropertyAccessExpression 2073119 2073136 - Identifier 2073119 2073129 - Identifier 2073130 2073136 - Block 2073137 2073784 - VariableStatement 2073139 2073219 - VariableDeclarationList 2073139 2073218 - VariableDeclaration 2073158 2073218 - Identifier 2073158 2073167 - CallExpression 2073169 2073218 - Identifier 2073169 2073198 - AsExpression 2073199 2073217 - Identifier 2073199 2073203 - TypeReference 2073206 2073217 - Identifier 2073206 2073217 - IfStatement 2073219 2073773 - BinaryExpression 2073237 2073321 - Identifier 2073237 2073249 - BarBarToken 2073249 2073252 - BinaryExpression 2073252 2073321 - BinaryExpression 2073252 2073285 - PropertyAccessExpression 2073252 2073279 - PropertyAccessExpression 2073252 2073272 - Identifier 2073252 2073261 - Identifier 2073262 2073272 - Identifier 2073273 2073279 - EqualsEqualsEqualsToken 2073279 2073283 - NumericLiteral 2073283 2073285 - AmpersandAmpersandToken 2073285 2073288 - BinaryExpression 2073288 2073321 - PropertyAccessExpression 2073288 2073315 - PropertyAccessExpression 2073288 2073308 - Identifier 2073288 2073297 - Identifier 2073298 2073308 - Identifier 2073309 2073315 - EqualsEqualsEqualsToken 2073315 2073319 - NumericLiteral 2073319 2073321 - Block 2073322 2073773 - IfStatement 2073324 2073536 - BinaryExpression 2073346 2073458 - BinaryExpression 2073346 2073413 - BinaryExpression 2073346 2073373 - Identifier 2073346 2073350 - EqualsEqualsEqualsToken 2073350 2073354 - PropertyAccessExpression 2073354 2073373 - Identifier 2073354 2073368 - Identifier 2073369 2073373 - AmpersandAmpersandToken 2073373 2073376 - BinaryExpression 2073376 2073413 - PropertyAccessExpression 2073376 2073407 - PropertyAccessExpression 2073376 2073400 - Identifier 2073376 2073385 - Identifier 2073386 2073400 - Identifier 2073401 2073407 - EqualsEqualsEqualsToken 2073407 2073411 - NumericLiteral 2073411 2073413 - AmpersandAmpersandToken 2073413 2073416 - BinaryExpression 2073416 2073458 - PropertyAccessExpression 2073416 2073452 - PropertyAccessExpression 2073416 2073445 - Identifier 2073416 2073425 - Identifier 2073426 2073445 - Identifier 2073446 2073452 - EqualsEqualsEqualsToken 2073452 2073456 - NumericLiteral 2073456 2073458 - Block 2073459 2073536 - ReturnStatement 2073461 2073517 - ElementAccessExpression 2073489 2073516 - PropertyAccessExpression 2073489 2073513 - Identifier 2073489 2073498 - Identifier 2073499 2073513 - NumericLiteral 2073514 2073515 - IfStatement 2073536 2073758 - BinaryExpression 2073558 2073675 - BinaryExpression 2073558 2073635 - BinaryExpression 2073558 2073590 - Identifier 2073558 2073562 - EqualsEqualsEqualsToken 2073562 2073566 - PropertyAccessExpression 2073566 2073590 - Identifier 2073566 2073580 - Identifier 2073581 2073590 - AmpersandAmpersandToken 2073590 2073593 - BinaryExpression 2073593 2073635 - PropertyAccessExpression 2073593 2073629 - PropertyAccessExpression 2073593 2073622 - Identifier 2073593 2073602 - Identifier 2073603 2073622 - Identifier 2073623 2073629 - EqualsEqualsEqualsToken 2073629 2073633 - NumericLiteral 2073633 2073635 - AmpersandAmpersandToken 2073635 2073638 - BinaryExpression 2073638 2073675 - PropertyAccessExpression 2073638 2073669 - PropertyAccessExpression 2073638 2073662 - Identifier 2073638 2073647 - Identifier 2073648 2073662 - Identifier 2073663 2073669 - EqualsEqualsEqualsToken 2073669 2073673 - NumericLiteral 2073673 2073675 - Block 2073676 2073758 - ReturnStatement 2073678 2073739 - ElementAccessExpression 2073706 2073738 - PropertyAccessExpression 2073706 2073735 - Identifier 2073706 2073715 - Identifier 2073716 2073735 - NumericLiteral 2073736 2073737 - ReturnStatement 2073784 2073811 - Identifier 2073800 2073810 - FunctionDeclaration 2073818 2075569 - Identifier 2073951 2073983 - Parameter 2073984 2074004 - Identifier 2073984 2073993 - TypeReference 2073994 2074004 - Identifier 2073994 2074004 - Parameter 2074005 2074036 - Identifier 2074005 2074025 - TypeReference 2074026 2074036 - Identifier 2074026 2074036 - Parameter 2074037 2074073 - Identifier 2074037 2074054 - QuestionToken 2074054 2074055 - TypeReference 2074056 2074073 - Identifier 2074056 2074073 - Parameter 2074074 2074102 - Identifier 2074074 2074087 - QuestionToken 2074087 2074088 - TypeReference 2074089 2074102 - Identifier 2074089 2074102 - TypeReference 2074104 2074114 - Identifier 2074104 2074114 - Block 2074114 2075569 - VariableStatement 2074116 2074251 - VariableDeclarationList 2074116 2074250 - VariableDeclaration 2074131 2074250 - Identifier 2074131 2074139 - CallExpression 2074141 2074250 - Identifier 2074141 2074164 - NonNullExpression 2074165 2074203 - CallExpression 2074165 2074202 - Identifier 2074165 2074191 - Identifier 2074192 2074201 - Identifier 2074204 2074214 - PropertyAccessExpression 2074215 2074235 - Identifier 2074215 2074230 - Identifier 2074231 2074235 - Identifier 2074236 2074249 - VariableStatement 2074251 2074639 - VariableDeclarationList 2074251 2074638 - VariableDeclaration 2074585 2074638 - Identifier 2074585 2074594 - CallExpression 2074596 2074638 - Identifier 2074596 2074617 - Identifier 2074618 2074637 - VariableStatement 2074639 2074800 - VariableDeclarationList 2074639 2074799 - VariableDeclaration 2074654 2074799 - Identifier 2074654 2074661 - BinaryExpression 2074663 2074799 - Identifier 2074663 2074680 - AmpersandAmpersandToken 2074680 2074683 - ParenthesizedExpression 2074683 2074799 - ConditionalExpression 2074685 2074798 - BinaryExpression 2074685 2074737 - Identifier 2074685 2074693 - AmpersandAmpersandToken 2074693 2074696 - BinaryExpression 2074696 2074737 - PropertyAccessExpression 2074696 2074711 - Identifier 2074696 2074705 - Identifier 2074706 2074711 - AmpersandToken 2074711 2074713 - PropertyAccessExpression 2074713 2074737 - Identifier 2074713 2074723 - Identifier 2074724 2074737 - QuestionToken 2074737 2074739 - PropertyAccessExpression 2074739 2074772 - Identifier 2074739 2074756 - Identifier 2074757 2074772 - ColonToken 2074772 2074774 - PropertyAccessExpression 2074774 2074798 - Identifier 2074774 2074791 - Identifier 2074792 2074798 - VariableStatement 2074800 2074915 - VariableDeclarationList 2074800 2074914 - VariableDeclaration 2074815 2074914 - Identifier 2074815 2074831 - ConditionalExpression 2074833 2074914 - Identifier 2074833 2074840 - QuestionToken 2074840 2074842 - CallExpression 2074842 2074892 - Identifier 2074842 2074863 - Identifier 2074864 2074883 - Identifier 2074884 2074891 - ColonToken 2074892 2074894 - Identifier 2074894 2074914 - ExpressionStatement 2074915 2075193 - CallExpression 2074915 2075192 - Identifier 2074915 2074946 - Identifier 2074947 2074962 - Identifier 2074963 2074973 - ArrowFunction 2074974 2075191 - Parameter 2074976 2074982 - Identifier 2074976 2074982 - Parameter 2074983 2074990 - Identifier 2074983 2074990 - EqualsGreaterThanToken 2074991 2074994 - Block 2074994 2075191 - ExpressionStatement 2074996 2075180 - CallExpression 2074996 2075179 - Identifier 2074996 2075143 - PropertyAccessExpression 2075144 2075162 - Identifier 2075144 2075151 - Identifier 2075152 2075162 - Identifier 2075163 2075170 - Identifier 2075171 2075178 - IfStatement 2075193 2075436 - PrefixUnaryExpression 2075207 2075224 - Identifier 2075208 2075224 - Block 2075225 2075436 - ExpressionStatement 2075227 2075425 - CallExpression 2075227 2075424 - Identifier 2075227 2075259 - Identifier 2075260 2075279 - Identifier 2075280 2075290 - ArrowFunction 2075291 2075423 - Parameter 2075293 2075299 - Identifier 2075293 2075299 - Parameter 2075300 2075307 - Identifier 2075300 2075307 - EqualsGreaterThanToken 2075308 2075311 - Block 2075311 2075423 - ExpressionStatement 2075313 2075408 - CallExpression 2075313 2075407 - Identifier 2075313 2075341 - PropertyAccessExpression 2075342 2075360 - Identifier 2075342 2075349 - Identifier 2075350 2075360 - Identifier 2075361 2075368 - Identifier 2075369 2075376 - PropertyAccessExpression 2075377 2075406 - Identifier 2075377 2075395 - Identifier 2075396 2075406 - ReturnStatement 2075436 2075562 - CallExpression 2075452 2075561 - Identifier 2075452 2075478 - Identifier 2075479 2075488 - CallExpression 2075489 2075515 - Identifier 2075489 2075506 - Identifier 2075507 2075514 - CallExpression 2075516 2075560 - Identifier 2075516 2075527 - PropertyAccessExpression 2075528 2075559 - Identifier 2075528 2075547 - Identifier 2075548 2075559 - FunctionDeclaration 2075569 2076034 - Identifier 2075585 2075607 - Parameter 2075608 2075635 - Identifier 2075608 2075612 - TypeReference 2075613 2075635 - Identifier 2075613 2075635 - Parameter 2075636 2075657 - Identifier 2075636 2075646 - TypeReference 2075647 2075657 - Identifier 2075647 2075657 - Parameter 2075658 2075679 - Identifier 2075658 2075668 - TypeReference 2075669 2075679 - Identifier 2075669 2075679 - Parameter 2075680 2075706 - Identifier 2075680 2075688 - TypeReference 2075689 2075706 - Identifier 2075689 2075706 - ArrayType 2075708 2075715 - TypeReference 2075708 2075713 - Identifier 2075708 2075713 - Block 2075715 2076034 - VariableStatement 2075717 2075803 - VariableDeclarationList 2075717 2075802 - VariableDeclaration 2075732 2075802 - Identifier 2075732 2075742 - CallExpression 2075744 2075802 - Identifier 2075744 2075785 - Identifier 2075786 2075795 - Identifier 2075796 2075801 - VariableStatement 2075803 2075917 - VariableDeclarationList 2075803 2075916 - VariableDeclaration 2075818 2075916 - Identifier 2075818 2075832 - CallExpression 2075834 2075916 - Identifier 2075834 2075868 - PropertyAccessExpression 2075869 2075884 - Identifier 2075869 2075873 - Identifier 2075874 2075884 - Identifier 2075885 2075895 - Identifier 2075896 2075904 - Identifier 2075905 2075915 - ExpressionStatement 2075917 2075984 - CallExpression 2075917 2075983 - Identifier 2075917 2075937 - PropertyAccessExpression 2075938 2075956 - Identifier 2075938 2075945 - Identifier 2075946 2075956 - Identifier 2075957 2075971 - Identifier 2075972 2075982 - ReturnStatement 2075984 2076027 - CallExpression 2076000 2076026 - Identifier 2076000 2076017 - Identifier 2076018 2076025 - FunctionDeclaration 2076034 2076585 - Identifier 2076050 2076070 - Parameter 2076071 2076111 - Identifier 2076071 2076087 - UnionType 2076088 2076111 - TypeReference 2076088 2076099 - Identifier 2076088 2076099 - UndefinedKeyword 2076101 2076111 - Block 2076112 2076585 - IfStatement 2076114 2076189 - PrefixUnaryExpression 2076128 2076145 - Identifier 2076129 2076145 - Block 2076146 2076189 - ReturnStatement 2076148 2076178 - Identifier 2076168 2076177 - VariableStatement 2076189 2076258 - VariableDeclarationList 2076189 2076257 - VariableDeclaration 2076204 2076257 - Identifier 2076204 2076221 - CallExpression 2076223 2076257 - Identifier 2076223 2076239 - Identifier 2076240 2076256 - ReturnStatement 2076258 2076578 - ConditionalExpression 2076274 2076577 - CallExpression 2076274 2076326 - Identifier 2076274 2076308 - Identifier 2076309 2076325 - QuestionToken 2076326 2076328 - Identifier 2076328 2076345 - ColonToken 2076345 2076347 - ConditionalExpression 2076347 2076577 - CallExpression 2076347 2076405 - Identifier 2076347 2076380 - PropertyAccessExpression 2076381 2076404 - Identifier 2076381 2076397 - Identifier 2076398 2076404 - QuestionToken 2076405 2076407 - CallExpression 2076407 2076444 - Identifier 2076407 2076426 - Identifier 2076427 2076443 - ColonToken 2076444 2076446 - ConditionalExpression 2076446 2076577 - CallExpression 2076446 2076500 - Identifier 2076446 2076475 - PropertyAccessExpression 2076476 2076499 - Identifier 2076476 2076492 - Identifier 2076493 2076499 - QuestionToken 2076500 2076502 - CallExpression 2076502 2076545 - Identifier 2076502 2076527 - Identifier 2076528 2076544 - ColonToken 2076545 2076547 - Identifier 2076547 2076577 - FunctionDeclaration 2076585 2083475 - Identifier 2076601 2076620 - Parameter 2076621 2076645 - Identifier 2076621 2076625 - TypeReference 2076626 2076645 - Identifier 2076626 2076645 - Parameter 2076646 2076667 - Identifier 2076646 2076656 - TypeReference 2076657 2076667 - Identifier 2076657 2076667 - Parameter 2076668 2076696 - Identifier 2076668 2076673 - TypeOperator 2076674 2076696 - ArrayType 2076683 2076696 - TypeReference 2076683 2076694 - Identifier 2076683 2076694 - Parameter 2076697 2076718 - Identifier 2076697 2076707 - TypeReference 2076708 2076718 - Identifier 2076708 2076718 - Parameter 2076719 2076745 - Identifier 2076719 2076727 - TypeReference 2076728 2076745 - Identifier 2076728 2076745 - ArrayType 2076747 2076754 - TypeReference 2076747 2076752 - Identifier 2076747 2076752 - Block 2076754 2083475 - IfStatement 2076756 2076893 - CallExpression 2076770 2076799 - Identifier 2076770 2076793 - Identifier 2076794 2076798 - Block 2076800 2076893 - ReturnStatement 2076802 2076882 - CallExpression 2076822 2076881 - Identifier 2076822 2076844 - Identifier 2076845 2076849 - Identifier 2076850 2076860 - Identifier 2076861 2076871 - Identifier 2076872 2076880 - IfStatement 2076893 2081863 - BinaryExpression 2077274 2077353 - BinaryExpression 2077274 2077308 - PropertyAccessExpression 2077274 2077283 - Identifier 2077274 2077278 - Identifier 2077279 2077283 - ExclamationEqualsEqualsToken 2077283 2077287 - PropertyAccessExpression 2077287 2077308 - Identifier 2077287 2077298 - Identifier 2077299 2077308 - AmpersandAmpersandToken 2077308 2077311 - BinaryExpression 2077311 2077353 - PropertyAccessExpression 2077311 2077321 - Identifier 2077311 2077316 - Identifier 2077317 2077321 - ExclamationEqualsEqualsToken 2077321 2077325 - PropertyAccessExpression 2077325 2077353 - Identifier 2077325 2077336 - Identifier 2077337 2077353 - Block 2077354 2081863 - VariableStatement 2077356 2077469 - VariableDeclarationList 2077356 2077468 - VariableDeclaration 2077375 2077468 - Identifier 2077375 2077395 - CallExpression 2077397 2077468 - Identifier 2077397 2077403 - PropertyAccessExpression 2077404 2077428 - Identifier 2077404 2077413 - Identifier 2077414 2077428 - ArrowFunction 2077429 2077467 - Parameter 2077429 2077431 - Identifier 2077429 2077431 - EqualsGreaterThanToken 2077431 2077434 - PrefixUnaryExpression 2077434 2077467 - PrefixUnaryExpression 2077436 2077467 - CallExpression 2077437 2077467 - Identifier 2077437 2077464 - Identifier 2077465 2077466 - VariableStatement 2077469 2077606 - VariableDeclarationList 2077469 2077605 - VariableDeclaration 2077488 2077605 - Identifier 2077488 2077503 - CallExpression 2077505 2077605 - Identifier 2077505 2077523 - Identifier 2077524 2077528 - ConditionalExpression 2077529 2077604 - Identifier 2077529 2077549 - QuestionToken 2077549 2077551 - PropertyAccessExpression 2077551 2077584 - Identifier 2077551 2077564 - Identifier 2077565 2077584 - ColonToken 2077584 2077586 - PropertyAccessExpression 2077586 2077604 - Identifier 2077586 2077599 - Identifier 2077600 2077604 - IfStatement 2077606 2081852 - Identifier 2077624 2077638 - Block 2077639 2081852 - VariableStatement 2077641 2077723 - VariableDeclarationList 2077641 2077722 - VariableDeclaration 2077664 2077722 - Identifier 2077664 2077684 - CallExpression 2077686 2077722 - Identifier 2077686 2077711 - Identifier 2077712 2077721 - IfStatement 2077723 2081837 - CallExpression 2077745 2077791 - Identifier 2077745 2077770 - Identifier 2077771 2077790 - Block 2077792 2081837 - VariableStatement 2077794 2077863 - VariableDeclarationList 2077794 2077862 - VariableDeclaration 2077821 2077862 - Identifier 2077821 2077834 - CallExpression 2077836 2077862 - Identifier 2077836 2077856 - Identifier 2077857 2077861 - VariableStatement 2077863 2078015 - VariableDeclarationList 2077863 2078014 - VariableDeclaration 2077890 2078014 - Identifier 2077890 2077911 - BinaryExpression 2077913 2078014 - PrefixUnaryExpression 2077913 2077934 - Identifier 2077915 2077934 - AmpersandAmpersandToken 2077934 2077937 - BinaryExpression 2077937 2078014 - CallExpression 2077937 2077995 - Identifier 2077937 2077955 - Identifier 2077956 2077960 - PropertyAccessExpression 2077961 2077994 - Identifier 2077961 2077974 - Identifier 2077975 2077994 - ExclamationEqualsEqualsToken 2077995 2077999 - Identifier 2077999 2078014 - IfStatement 2078015 2080844 - PrefixUnaryExpression 2078872 2078893 - Identifier 2078873 2078893 - Block 2078894 2080844 - VariableStatement 2078896 2079320 - VariableDeclarationList 2078896 2079319 - VariableDeclaration 2079221 2079319 - Identifier 2079221 2079233 - CallExpression 2079235 2079319 - Identifier 2079235 2079256 - CallExpression 2079257 2079318 - Identifier 2079257 2079278 - Identifier 2079279 2079291 - PropertyAccessExpression 2079292 2079317 - Identifier 2079292 2079307 - Identifier 2079308 2079317 - VariableStatement 2079320 2079416 - VariableDeclarationList 2079320 2079415 - VariableDeclaration 2079351 2079415 - Identifier 2079351 2079368 - CallExpression 2079370 2079415 - Identifier 2079370 2079386 - Identifier 2079387 2079401 - Identifier 2079402 2079414 - VariableStatement 2079416 2080250 - VariableDeclarationList 2079416 2080249 - VariableDeclaration 2080186 2080249 - Identifier 2080186 2080206 - CallExpression 2080208 2080249 - Identifier 2080208 2080231 - Identifier 2080232 2080248 - VariableStatement 2080250 2080583 - VariableDeclarationList 2080250 2080582 - VariableDeclaration 2080281 2080582 - Identifier 2080281 2080301 - ConditionalExpression 2080303 2080582 - BinaryExpression 2080303 2080361 - Identifier 2080303 2080323 - AmpersandAmpersandToken 2080323 2080326 - PropertyAccessExpression 2080326 2080361 - Identifier 2080326 2080346 - Identifier 2080347 2080361 - QuestionToken 2080361 2080363 - CallExpression 2080363 2080534 - Identifier 2080363 2080421 - CallExpression 2080422 2080533 - Identifier 2080422 2080476 - Identifier 2080477 2080496 - PropertyAccessExpression 2080497 2080532 - Identifier 2080497 2080517 - Identifier 2080518 2080532 - ColonToken 2080534 2080536 - Identifier 2080536 2080582 - ExpressionStatement 2080583 2080821 - CallExpression 2080583 2080820 - Identifier 2080583 2080728 - PropertyAccessExpression 2080729 2080747 - Identifier 2080729 2080736 - Identifier 2080737 2080747 - Identifier 2080748 2080768 - Identifier 2080769 2080789 - PropertyAccessExpression 2080790 2080819 - Identifier 2080790 2080808 - Identifier 2080809 2080819 - VariableStatement 2080844 2081420 - VariableDeclarationList 2080844 2081419 - VariableDeclaration 2081327 2081419 - Identifier 2081327 2081341 - CallExpression 2081343 2081419 - Identifier 2081343 2081366 - NonNullExpression 2081367 2081392 - PropertyAccessExpression 2081367 2081391 - Identifier 2081367 2081376 - Identifier 2081377 2081391 - Identifier 2081393 2081403 - PropertyAccessExpression 2081404 2081418 - Identifier 2081404 2081412 - Identifier 2081413 2081418 - VariableStatement 2081420 2081542 - VariableDeclarationList 2081420 2081541 - VariableDeclaration 2081447 2081541 - Identifier 2081447 2081464 - CallExpression 2081466 2081541 - Identifier 2081466 2081482 - Identifier 2081483 2081497 - BinaryExpression 2081498 2081540 - Identifier 2081498 2081511 - AmpersandAmpersandToken 2081511 2081514 - PropertyAccessExpression 2081514 2081540 - Identifier 2081514 2081527 - Identifier 2081528 2081540 - ExpressionStatement 2081542 2081640 - CallExpression 2081542 2081639 - Identifier 2081542 2081574 - PropertyAccessExpression 2081575 2081599 - Identifier 2081575 2081588 - Identifier 2081589 2081599 - Identifier 2081600 2081617 - Identifier 2081618 2081638 - ExpressionStatement 2081640 2081818 - BinaryExpression 2081640 2081817 - PropertyAccessExpression 2081640 2081682 - Identifier 2081640 2081669 - Identifier 2081670 2081682 - EqualsToken 2081682 2081684 - ConditionalExpression 2081684 2081817 - CallExpression 2081684 2081739 - Identifier 2081684 2081689 - PropertyAccessExpression 2081690 2081714 - Identifier 2081690 2081703 - Identifier 2081704 2081714 - Identifier 2081715 2081738 - QuestionToken 2081739 2081741 - CallExpression 2081741 2081805 - Identifier 2081741 2081762 - CallExpression 2081763 2081804 - Identifier 2081763 2081789 - Identifier 2081790 2081803 - ColonToken 2081805 2081807 - Identifier 2081807 2081817 - VariableStatement 2081863 2081923 - VariableDeclarationList 2081863 2081922 - VariableDeclaration 2081880 2081922 - Identifier 2081880 2081889 - CallExpression 2081891 2081922 - Identifier 2081891 2081911 - Identifier 2081912 2081921 - VariableStatement 2081923 2082031 - VariableDeclarationList 2081923 2082030 - VariableDeclaration 2081938 2082030 - Identifier 2081938 2081947 - ConditionalExpression 2081949 2082030 - Identifier 2081949 2081958 - QuestionToken 2081958 2081960 - CallExpression 2081960 2082016 - PropertyAccessExpression 2081960 2081969 - Identifier 2081960 2081965 - Identifier 2081966 2081969 - BinaryExpression 2081970 2082002 - CallExpression 2081970 2081998 - Identifier 2081970 2081987 - Identifier 2081988 2081997 - MinusToken 2081998 2082000 - NumericLiteral 2082000 2082002 - PropertyAccessExpression 2082003 2082015 - Identifier 2082003 2082008 - Identifier 2082009 2082015 - ColonToken 2082016 2082018 - PropertyAccessExpression 2082018 2082030 - Identifier 2082018 2082023 - Identifier 2082024 2082030 - IfStatement 2082031 2082367 - BinaryExpression 2082045 2082097 - Identifier 2082045 2082053 - AmpersandAmpersandToken 2082053 2082056 - BinaryExpression 2082056 2082097 - PropertyAccessExpression 2082056 2082071 - Identifier 2082056 2082065 - Identifier 2082066 2082071 - AmpersandToken 2082071 2082073 - PropertyAccessExpression 2082073 2082097 - Identifier 2082073 2082083 - Identifier 2082084 2082097 - Block 2082098 2082367 - VariableStatement 2082100 2082193 - VariableDeclarationList 2082100 2082192 - VariableDeclaration 2082119 2082192 - Identifier 2082119 2082124 - CallExpression 2082126 2082192 - Identifier 2082126 2082131 - PropertyAccessExpression 2082132 2082150 - Identifier 2082132 2082139 - Identifier 2082140 2082150 - ArrowFunction 2082151 2082191 - Parameter 2082151 2082156 - Identifier 2082151 2082156 - EqualsGreaterThanToken 2082156 2082159 - BinaryExpression 2082159 2082191 - PropertyAccessExpression 2082159 2082178 - Identifier 2082159 2082164 - Identifier 2082165 2082178 - EqualsEqualsEqualsToken 2082178 2082182 - Identifier 2082182 2082191 - IfStatement 2082193 2082356 - Identifier 2082211 2082215 - Block 2082216 2082356 - ExpressionStatement 2082218 2082341 - BinaryExpression 2082218 2082340 - PropertyAccessExpression 2082218 2082253 - Identifier 2082218 2082240 - Identifier 2082241 2082253 - EqualsToken 2082253 2082255 - ConditionalExpression 2082255 2082340 - BinaryExpression 2082255 2082303 - CallExpression 2082255 2082299 - Identifier 2082255 2082265 - Identifier 2082266 2082270 - Identifier 2082271 2082288 - Identifier 2082289 2082298 - LessThanToken 2082299 2082301 - NumericLiteral 2082301 2082303 - QuestionToken 2082303 2082305 - BinaryExpression 2082305 2082328 - PropertyAccessExpression 2082305 2082317 - Identifier 2082305 2082310 - Identifier 2082311 2082317 - MinusToken 2082317 2082319 - Identifier 2082319 2082328 - ColonToken 2082328 2082330 - Identifier 2082330 2082340 - VariableStatement 2082367 2082430 - VariableDeclarationList 2082367 2082429 - VariableDeclaration 2082384 2082429 - Identifier 2082384 2082393 - CallExpression 2082395 2082429 - Identifier 2082395 2082418 - Identifier 2082419 2082428 - IfStatement 2082430 2082666 - BinaryExpression 2082444 2082491 - Identifier 2082444 2082452 - AmpersandAmpersandToken 2082452 2082455 - CallExpression 2082455 2082491 - Identifier 2082455 2082481 - Identifier 2082482 2082490 - Block 2082492 2082666 - VariableStatement 2082494 2082561 - VariableDeclarationList 2082494 2082560 - VariableDeclaration 2082513 2082560 - Identifier 2082513 2082530 - CallExpression 2082532 2082560 - Identifier 2082532 2082554 - Identifier 2082555 2082559 - ExpressionStatement 2082561 2082655 - CallExpression 2082561 2082654 - Identifier 2082561 2082585 - PropertyAccessExpression 2082586 2082604 - Identifier 2082586 2082593 - Identifier 2082594 2082604 - CallExpression 2082605 2082643 - Identifier 2082605 2082625 - Identifier 2082626 2082642 - Identifier 2082644 2082653 - ForStatement 2082666 2083165 - VariableDeclarationList 2082683 2082692 - VariableDeclaration 2082686 2082692 - Identifier 2082686 2082688 - NumericLiteral 2082690 2082692 - BinaryExpression 2082693 2082706 - Identifier 2082693 2082695 - LessThanToken 2082695 2082697 - Identifier 2082697 2082706 - PostfixUnaryExpression 2082707 2082711 - Identifier 2082707 2082709 - Block 2082712 2083165 - VariableStatement 2082714 2082748 - VariableDeclarationList 2082714 2082747 - VariableDeclaration 2082733 2082747 - Identifier 2082733 2082737 - ElementAccessExpression 2082739 2082747 - Identifier 2082739 2082744 - Identifier 2082745 2082746 - IfStatement 2082748 2083154 - BinaryExpression 2082766 2082807 - PropertyAccessExpression 2082766 2082774 - Identifier 2082766 2082769 - Identifier 2082770 2082774 - ExclamationEqualsEqualsToken 2082774 2082778 - PropertyAccessExpression 2082778 2082807 - Identifier 2082778 2082789 - Identifier 2082790 2082807 - Block 2082808 2083154 - VariableStatement 2082810 2082878 - VariableDeclarationList 2082810 2082877 - VariableDeclaration 2082833 2082877 - Identifier 2082833 2082843 - CallExpression 2082845 2082877 - Identifier 2082845 2082863 - Identifier 2082864 2082873 - Identifier 2082874 2082876 - IfStatement 2082878 2083139 - CallExpression 2082900 2082936 - Identifier 2082900 2082925 - Identifier 2082926 2082935 - Block 2082937 2083139 - VariableStatement 2082939 2083047 - VariableDeclarationList 2082939 2083046 - VariableDeclaration 2082966 2083046 - Identifier 2082966 2082974 - CallExpression 2082976 2083046 - Identifier 2082976 2083010 - Identifier 2083011 2083014 - Identifier 2083015 2083025 - Identifier 2083026 2083034 - Identifier 2083035 2083045 - ExpressionStatement 2083047 2083120 - CallExpression 2083047 2083119 - Identifier 2083047 2083079 - PropertyAccessExpression 2083080 2083098 - Identifier 2083080 2083087 - Identifier 2083088 2083098 - Identifier 2083099 2083107 - Identifier 2083108 2083118 - IfStatement 2083165 2083423 - BinaryExpression 2083181 2083228 - Identifier 2083181 2083189 - AmpersandAmpersandToken 2083189 2083192 - CallExpression 2083192 2083228 - Identifier 2083192 2083218 - Identifier 2083219 2083227 - Block 2083229 2083423 - VariableStatement 2083231 2083345 - VariableDeclarationList 2083231 2083344 - VariableDeclaration 2083250 2083344 - Identifier 2083250 2083261 - CallExpression 2083263 2083344 - Identifier 2083263 2083285 - Identifier 2083286 2083290 - Identifier 2083291 2083300 - PropertyAccessExpression 2083301 2083313 - Identifier 2083301 2083306 - Identifier 2083307 2083313 - Identifier 2083314 2083323 - Identifier 2083324 2083332 - Identifier 2083333 2083343 - ExpressionStatement 2083345 2083412 - CallExpression 2083345 2083411 - Identifier 2083345 2083369 - PropertyAccessExpression 2083370 2083388 - Identifier 2083370 2083377 - Identifier 2083378 2083388 - Identifier 2083389 2083400 - Identifier 2083401 2083410 - ReturnStatement 2083423 2083468 - CallExpression 2083441 2083467 - Identifier 2083441 2083458 - Identifier 2083459 2083466 - FunctionDeclaration 2083475 2083966 - Identifier 2083491 2083518 - Parameter 2083519 2083529 - Identifier 2083519 2083523 - TypeReference 2083524 2083529 - Identifier 2083524 2083529 - Block 2083530 2083966 - ReturnStatement 2083532 2083959 - ConditionalExpression 2083548 2083958 - BinaryExpression 2083548 2083577 - PropertyAccessExpression 2083548 2083559 - Identifier 2083548 2083553 - Identifier 2083554 2083559 - AmpersandToken 2083559 2083561 - PropertyAccessExpression 2083561 2083577 - Identifier 2083561 2083571 - Identifier 2083572 2083577 - QuestionToken 2083577 2083579 - CallExpression 2083579 2083621 - Identifier 2083579 2083587 - Identifier 2083588 2083592 - Identifier 2083593 2083620 - ColonToken 2083621 2083623 - ConditionalExpression 2083623 2083958 - BinaryExpression 2083623 2083727 - BinaryExpression 2083623 2083663 - PropertyAccessExpression 2083623 2083647 - Identifier 2083623 2083641 - Identifier 2083642 2083647 - AmpersandToken 2083647 2083649 - PropertyAccessExpression 2083649 2083663 - Identifier 2083649 2083659 - Identifier 2083660 2083663 - BarBarToken 2083663 2083666 - CallExpression 2083666 2083727 - Identifier 2083666 2083688 - BinaryExpression 2083689 2083726 - CallExpression 2083689 2083718 - Identifier 2083689 2083712 - Identifier 2083713 2083717 - BarBarToken 2083718 2083721 - Identifier 2083721 2083726 - QuestionToken 2083727 2083729 - Identifier 2083729 2083734 - ColonToken 2083734 2083736 - ConditionalExpression 2083736 2083958 - CallExpression 2083736 2083767 - Identifier 2083736 2083761 - Identifier 2083762 2083766 - QuestionToken 2083767 2083769 - CallExpression 2083769 2083894 - Identifier 2083769 2083785 - CallExpression 2083786 2083807 - Identifier 2083786 2083801 - Identifier 2083802 2083806 - PropertyAccessExpression 2083808 2083833 - PropertyAccessExpression 2083808 2083820 - Identifier 2083808 2083813 - Identifier 2083814 2083820 - Identifier 2083821 2083833 - FalseKeyword 2083834 2083853 - PropertyAccessExpression 2083854 2083893 - PropertyAccessExpression 2083854 2083866 - Identifier 2083854 2083859 - Identifier 2083860 2083866 - Identifier 2083867 2083893 - ColonToken 2083894 2083896 - CallExpression 2083896 2083958 - Identifier 2083896 2083925 - ArrayLiteralExpression 2083926 2083932 - Identifier 2083927 2083931 - ArrayLiteralExpression 2083933 2083957 - PropertyAccessExpression 2083935 2083956 - Identifier 2083935 2083947 - Identifier 2083948 2083956 - FunctionDeclaration 2083966 2087207 - Identifier 2083982 2084004 - Parameter 2084005 2084032 - Identifier 2084005 2084009 - TypeOperator 2084010 2084032 - ArrayType 2084019 2084032 - TypeReference 2084019 2084030 - Identifier 2084019 2084030 - Parameter 2084033 2084047 - Identifier 2084033 2084039 - NumberKeyword 2084040 2084047 - Parameter 2084048 2084065 - Identifier 2084048 2084057 - NumberKeyword 2084058 2084065 - Parameter 2084066 2084081 - Identifier 2084066 2084075 - TypeReference 2084076 2084081 - Identifier 2084076 2084081 - Parameter 2084082 2084120 - Identifier 2084082 2084090 - UnionType 2084091 2084120 - TypeReference 2084091 2084108 - Identifier 2084091 2084108 - UndefinedKeyword 2084110 2084120 - Parameter 2084121 2084142 - Identifier 2084121 2084131 - TypeReference 2084132 2084142 - Identifier 2084132 2084142 - Block 2084143 2087207 - VariableStatement 2084145 2084208 - VariableDeclarationList 2084145 2084207 - VariableDeclaration 2084160 2084207 - Identifier 2084160 2084175 - CallExpression 2084177 2084207 - Identifier 2084177 2084197 - Identifier 2084198 2084206 - IfStatement 2084208 2085131 - BinaryExpression 2084224 2084245 - Identifier 2084224 2084229 - GreaterThanEqualsToken 2084229 2084232 - BinaryExpression 2084232 2084245 - Identifier 2084232 2084241 - MinusToken 2084241 2084243 - NumericLiteral 2084243 2084245 - Block 2084246 2085131 - VariableStatement 2084248 2084293 - VariableDeclarationList 2084248 2084292 - VariableDeclaration 2084267 2084292 - Identifier 2084267 2084271 - ElementAccessExpression 2084273 2084292 - Identifier 2084273 2084278 - BinaryExpression 2084279 2084291 - Identifier 2084279 2084287 - MinusToken 2084287 2084289 - NumericLiteral 2084289 2084291 - IfStatement 2084293 2085120 - CallExpression 2084311 2084332 - Identifier 2084311 2084327 - Identifier 2084328 2084331 - Block 2084333 2085120 - VariableStatement 2084335 2084744 - VariableDeclarationList 2084335 2084743 - VariableDeclaration 2084528 2084743 - Identifier 2084528 2084539 - ConditionalExpression 2084541 2084743 - BinaryExpression 2084541 2084585 - PropertyAccessExpression 2084541 2084550 - Identifier 2084541 2084545 - Identifier 2084546 2084550 - EqualsEqualsEqualsToken 2084550 2084554 - PropertyAccessExpression 2084554 2084585 - Identifier 2084554 2084565 - Identifier 2084566 2084585 - QuestionToken 2084585 2084587 - PropertyAccessExpression 2084587 2084621 - ParenthesizedExpression 2084587 2084616 - AsExpression 2084589 2084615 - Identifier 2084589 2084592 - TypeReference 2084595 2084615 - Identifier 2084595 2084615 - Identifier 2084617 2084621 - ColonToken 2084621 2084623 - CallExpression 2084623 2084743 - Identifier 2084623 2084678 - PropertyAccessExpression 2084679 2084712 - ParenthesizedExpression 2084679 2084701 - AsExpression 2084680 2084700 - Identifier 2084680 2084683 - TypeReference 2084686 2084700 - Identifier 2084686 2084700 - Identifier 2084702 2084712 - Identifier 2084713 2084722 - Identifier 2084723 2084731 - Identifier 2084732 2084742 - IfStatement 2084744 2084885 - CallExpression 2084768 2084795 - Identifier 2084768 2084783 - Identifier 2084784 2084794 - Block 2084796 2084885 - ReturnStatement 2084798 2084866 - CallExpression 2084826 2084865 - Identifier 2084826 2084853 - Identifier 2084854 2084864 - ReturnStatement 2084885 2085105 - CallExpression 2084911 2085104 - Identifier 2084911 2084927 - CallExpression 2084928 2085087 - Identifier 2084928 2084958 - PropertyAccessExpression 2084959 2084978 - Identifier 2084959 2084971 - Identifier 2084972 2084978 - Identifier 2084979 2084990 - Identifier 2084991 2085005 - ConditionalExpression 2085006 2085086 - BinaryExpression 2085006 2085044 - PropertyAccessExpression 2085006 2085015 - Identifier 2085006 2085010 - Identifier 2085011 2085015 - EqualsEqualsEqualsToken 2085015 2085019 - PropertyAccessExpression 2085019 2085044 - Identifier 2085019 2085030 - Identifier 2085031 2085044 - QuestionToken 2085044 2085046 - PropertyAccessExpression 2085046 2085080 - ParenthesizedExpression 2085046 2085069 - AsExpression 2085048 2085068 - Identifier 2085048 2085051 - TypeReference 2085054 2085068 - Identifier 2085054 2085068 - Identifier 2085070 2085080 - ColonToken 2085080 2085082 - Identifier 2085082 2085086 - Identifier 2085088 2085103 - VariableStatement 2085131 2085158 - VariableDeclarationList 2085131 2085157 - VariableDeclaration 2085146 2085157 - Identifier 2085146 2085152 - ArrayLiteralExpression 2085154 2085157 - VariableStatement 2085158 2085185 - VariableDeclarationList 2085158 2085184 - VariableDeclaration 2085173 2085184 - Identifier 2085173 2085179 - ArrayLiteralExpression 2085181 2085184 - VariableStatement 2085185 2085212 - VariableDeclarationList 2085185 2085211 - VariableDeclaration 2085200 2085211 - Identifier 2085200 2085206 - ArrayLiteralExpression 2085208 2085211 - ForStatement 2085212 2087083 - VariableDeclarationList 2085227 2085240 - VariableDeclaration 2085230 2085240 - Identifier 2085230 2085232 - Identifier 2085234 2085240 - BinaryExpression 2085241 2085254 - Identifier 2085241 2085243 - LessThanToken 2085243 2085245 - Identifier 2085245 2085254 - PostfixUnaryExpression 2085255 2085259 - Identifier 2085255 2085257 - Block 2085260 2087083 - VariableStatement 2085262 2085296 - VariableDeclarationList 2085262 2085295 - VariableDeclaration 2085281 2085295 - Identifier 2085281 2085285 - ElementAccessExpression 2085287 2085295 - Identifier 2085287 2085292 - Identifier 2085293 2085294 - IfStatement 2085296 2086794 - CallExpression 2085314 2085335 - Identifier 2085314 2085330 - Identifier 2085331 2085334 - Block 2085336 2085984 - VariableStatement 2085338 2085508 - VariableDeclarationList 2085338 2085507 - VariableDeclaration 2085361 2085507 - Identifier 2085361 2085372 - ConditionalExpression 2085374 2085507 - BinaryExpression 2085374 2085418 - PropertyAccessExpression 2085374 2085383 - Identifier 2085374 2085378 - Identifier 2085379 2085383 - EqualsEqualsEqualsToken 2085383 2085387 - PropertyAccessExpression 2085387 2085418 - Identifier 2085387 2085398 - Identifier 2085399 2085418 - QuestionToken 2085418 2085420 - PropertyAccessExpression 2085420 2085454 - ParenthesizedExpression 2085420 2085449 - AsExpression 2085422 2085448 - Identifier 2085422 2085425 - TypeReference 2085428 2085448 - Identifier 2085428 2085448 - Identifier 2085450 2085454 - ColonToken 2085454 2085456 - CallExpression 2085456 2085507 - Identifier 2085456 2085472 - PropertyAccessExpression 2085473 2085506 - ParenthesizedExpression 2085473 2085495 - AsExpression 2085474 2085494 - Identifier 2085474 2085477 - TypeReference 2085480 2085494 - Identifier 2085480 2085494 - Identifier 2085496 2085506 - IfStatement 2085508 2085969 - CallExpression 2085530 2085557 - Identifier 2085530 2085545 - Identifier 2085546 2085556 - Block 2085558 2085680 - ExpressionStatement 2085560 2085605 - CallExpression 2085560 2085604 - PropertyAccessExpression 2085560 2085592 - Identifier 2085560 2085587 - Identifier 2085588 2085592 - Identifier 2085593 2085603 - ExpressionStatement 2085605 2085661 - CallExpression 2085605 2085660 - PropertyAccessExpression 2085605 2085637 - Identifier 2085605 2085632 - Identifier 2085633 2085637 - PropertyAccessExpression 2085638 2085659 - Identifier 2085638 2085650 - Identifier 2085651 2085659 - Block 2085702 2085969 - ExpressionStatement 2085704 2085898 - CallExpression 2085704 2085897 - PropertyAccessExpression 2085704 2085736 - Identifier 2085704 2085731 - Identifier 2085732 2085736 - CallExpression 2085737 2085896 - Identifier 2085737 2085767 - PropertyAccessExpression 2085768 2085787 - Identifier 2085768 2085780 - Identifier 2085781 2085787 - Identifier 2085788 2085799 - Identifier 2085800 2085814 - ConditionalExpression 2085815 2085895 - BinaryExpression 2085815 2085853 - PropertyAccessExpression 2085815 2085824 - Identifier 2085815 2085819 - Identifier 2085820 2085824 - EqualsEqualsEqualsToken 2085824 2085828 - PropertyAccessExpression 2085828 2085853 - Identifier 2085828 2085839 - Identifier 2085840 2085853 - QuestionToken 2085853 2085855 - PropertyAccessExpression 2085855 2085889 - ParenthesizedExpression 2085855 2085878 - AsExpression 2085857 2085877 - Identifier 2085857 2085860 - TypeReference 2085863 2085877 - Identifier 2085863 2085877 - Identifier 2085879 2085889 - ColonToken 2085889 2085891 - Identifier 2085891 2085895 - ExpressionStatement 2085898 2085950 - CallExpression 2085898 2085949 - PropertyAccessExpression 2085898 2085930 - Identifier 2085898 2085925 - Identifier 2085926 2085930 - PropertyAccessExpression 2085931 2085948 - Identifier 2085931 2085943 - Identifier 2085944 2085948 - Block 2086002 2086794 - VariableStatement 2086004 2086293 - VariableDeclarationList 2086004 2086292 - VariableDeclaration 2086027 2086292 - Identifier 2086027 2086042 - ConditionalExpression 2086044 2086292 - CallExpression 2086044 2086066 - Identifier 2086044 2086056 - Identifier 2086057 2086065 - QuestionToken 2086066 2086068 - BinaryExpression 2086068 2086181 - CallExpression 2086068 2086166 - Identifier 2086068 2086127 - Identifier 2086128 2086136 - BinaryExpression 2086137 2086147 - Identifier 2086137 2086139 - MinusToken 2086139 2086141 - Identifier 2086141 2086147 - BinaryExpression 2086148 2086165 - Identifier 2086148 2086157 - MinusToken 2086157 2086159 - Identifier 2086159 2086165 - BarBarToken 2086166 2086169 - Identifier 2086169 2086181 - ColonToken 2086181 2086183 - CallExpression 2086183 2086292 - Identifier 2086183 2086225 - Identifier 2086226 2086234 - CallExpression 2086235 2086267 - Identifier 2086235 2086256 - BinaryExpression 2086257 2086266 - Identifier 2086257 2086258 - MinusToken 2086258 2086260 - Identifier 2086260 2086266 - PropertyAccessExpression 2086268 2086291 - Identifier 2086268 2086280 - Identifier 2086281 2086291 - VariableStatement 2086293 2086402 - VariableDeclarationList 2086293 2086401 - VariableDeclaration 2086316 2086401 - Identifier 2086316 2086324 - CallExpression 2086326 2086401 - Identifier 2086326 2086360 - Identifier 2086361 2086364 - Identifier 2086365 2086380 - Identifier 2086381 2086389 - Identifier 2086390 2086400 - VariableStatement 2086402 2086598 - VariableDeclarationList 2086402 2086597 - VariableDeclaration 2086425 2086597 - Identifier 2086425 2086452 - BinaryExpression 2086454 2086597 - Identifier 2086454 2086469 - BarBarToken 2086469 2086472 - CallExpression 2086472 2086597 - Identifier 2086472 2086488 - Identifier 2086489 2086503 - BinaryExpression 2086504 2086596 - BinaryExpression 2086504 2086570 - BinaryExpression 2086504 2086542 - PropertyAccessExpression 2086504 2086524 - Identifier 2086504 2086514 - Identifier 2086515 2086524 - BarToken 2086524 2086526 - PropertyAccessExpression 2086526 2086542 - Identifier 2086526 2086536 - Identifier 2086537 2086542 - BarToken 2086542 2086544 - PropertyAccessExpression 2086544 2086570 - Identifier 2086544 2086554 - Identifier 2086555 2086570 - BarToken 2086570 2086572 - PropertyAccessExpression 2086572 2086596 - Identifier 2086572 2086582 - Identifier 2086583 2086596 - ExpressionStatement 2086598 2086727 - CallExpression 2086598 2086726 - PropertyAccessExpression 2086598 2086626 - Identifier 2086598 2086621 - Identifier 2086622 2086626 - ConditionalExpression 2086627 2086725 - Identifier 2086627 2086653 - QuestionToken 2086653 2086655 - CallExpression 2086655 2086692 - Identifier 2086655 2086683 - Identifier 2086684 2086691 - ColonToken 2086692 2086694 - CallExpression 2086694 2086725 - Identifier 2086694 2086716 - Identifier 2086717 2086724 - ExpressionStatement 2086727 2086779 - CallExpression 2086727 2086778 - PropertyAccessExpression 2086727 2086755 - Identifier 2086727 2086750 - Identifier 2086751 2086755 - PropertyAccessExpression 2086756 2086777 - Identifier 2086756 2086768 - Identifier 2086769 2086777 - IfStatement 2086794 2087072 - BinaryExpression 2086812 2086903 - BinaryExpression 2086812 2086855 - PropertyAccessExpression 2086812 2086820 - Identifier 2086812 2086815 - Identifier 2086816 2086820 - EqualsEqualsEqualsToken 2086820 2086824 - PropertyAccessExpression 2086824 2086855 - Identifier 2086824 2086835 - Identifier 2086836 2086855 - AmpersandAmpersandToken 2086855 2086858 - PropertyAccessExpression 2086858 2086903 - ParenthesizedExpression 2086858 2086887 - AsExpression 2086860 2086886 - Identifier 2086860 2086863 - TypeReference 2086866 2086886 - Identifier 2086866 2086886 - Identifier 2086888 2086903 - Block 2086904 2086997 - ExpressionStatement 2086906 2086982 - CallExpression 2086906 2086981 - PropertyAccessExpression 2086906 2086934 - Identifier 2086906 2086929 - Identifier 2086930 2086934 - NonNullExpression 2086935 2086980 - PropertyAccessExpression 2086935 2086979 - ParenthesizedExpression 2086935 2086963 - AsExpression 2086936 2086962 - Identifier 2086936 2086939 - TypeReference 2086942 2086962 - Identifier 2086942 2086962 - Identifier 2086964 2086979 - Block 2087015 2087072 - ExpressionStatement 2087017 2087057 - CallExpression 2087017 2087056 - PropertyAccessExpression 2087017 2087045 - Identifier 2087017 2087040 - Identifier 2087041 2087045 - Identifier 2087046 2087055 - ReturnStatement 2087083 2087200 - CallExpression 2087099 2087199 - Identifier 2087099 2087115 - Identifier 2087116 2087121 - Identifier 2087122 2087128 - BinaryExpression 2087129 2087191 - Identifier 2087129 2087144 - AmpersandAmpersandToken 2087144 2087147 - PrefixUnaryExpression 2087147 2087191 - CallExpression 2087149 2087191 - Identifier 2087149 2087157 - Identifier 2087158 2087166 - Identifier 2087167 2087190 - Identifier 2087192 2087198 - FunctionDeclaration 2087207 2089065 - Identifier 2087223 2087242 - Parameter 2087243 2087263 - Identifier 2087243 2087252 - TypeReference 2087253 2087263 - Identifier 2087253 2087263 - Parameter 2087264 2087303 - Identifier 2087264 2087282 - TypeOperator 2087283 2087303 - ArrayType 2087292 2087303 - TypeReference 2087292 2087301 - Identifier 2087292 2087301 - Parameter 2087304 2087326 - Identifier 2087304 2087317 - BooleanKeyword 2087318 2087326 - Parameter 2087327 2087359 - Identifier 2087327 2087339 - QuestionToken 2087339 2087340 - TypeReference 2087341 2087359 - Identifier 2087341 2087359 - UnionType 2087361 2087380 - ArrayType 2087361 2087368 - TypeReference 2087361 2087366 - Identifier 2087361 2087366 - UndefinedKeyword 2087370 2087380 - Block 2087380 2089065 - VariableStatement 2087382 2087447 - VariableDeclarationList 2087382 2087446 - VariableDeclaration 2087397 2087446 - Identifier 2087397 2087410 - CallExpression 2087412 2087446 - Identifier 2087412 2087423 - PropertyAccessExpression 2087424 2087445 - Identifier 2087424 2087433 - Identifier 2087434 2087445 - VariableStatement 2087447 2087506 - VariableDeclarationList 2087447 2087505 - VariableDeclaration 2087462 2087505 - Identifier 2087462 2087477 - NonNullExpression 2087479 2087505 - PropertyAccessExpression 2087479 2087504 - Identifier 2087479 2087489 - Identifier 2087490 2087504 - VariableStatement 2087506 2087683 - VariableDeclarationList 2087506 2087682 - VariableDeclaration 2087521 2087682 - Identifier 2087521 2087539 - CallExpression 2087541 2087682 - Identifier 2087541 2087566 - CallExpression 2087567 2087610 - Identifier 2087567 2087570 - Identifier 2087571 2087588 - Identifier 2087589 2087609 - Identifier 2087611 2087626 - CallExpression 2087627 2087667 - Identifier 2087627 2087651 - Identifier 2087652 2087666 - Identifier 2087668 2087681 - VariableStatement 2087683 2087728 - VariableDeclarationList 2087683 2087727 - VariableDeclaration 2087696 2087727 - Identifier 2087696 2087703 - UnionType 2087704 2087727 - TypeReference 2087704 2087715 - Identifier 2087704 2087715 - UndefinedKeyword 2087717 2087727 - ForStatement 2087728 2089023 - VariableDeclarationList 2087743 2087752 - VariableDeclaration 2087746 2087752 - Identifier 2087746 2087748 - NumericLiteral 2087750 2087752 - BinaryExpression 2087753 2087782 - Identifier 2087753 2087755 - LessThanToken 2087755 2087757 - PropertyAccessExpression 2087757 2087782 - Identifier 2087757 2087775 - Identifier 2087776 2087782 - PostfixUnaryExpression 2087783 2087787 - Identifier 2087783 2087785 - Block 2087788 2089023 - ExpressionStatement 2087790 2087917 - CallExpression 2087790 2087916 - PropertyAccessExpression 2087790 2087816 - Identifier 2087790 2087809 - Identifier 2087810 2087816 - BinaryExpression 2087817 2087848 - ElementAccessExpression 2087817 2087834 - Identifier 2087817 2087831 - Identifier 2087832 2087833 - ExclamationEqualsEqualsToken 2087834 2087838 - Identifier 2087838 2087848 - StringLiteral 2087849 2087915 - VariableStatement 2087917 2087998 - VariableDeclarationList 2087917 2087997 - VariableDeclaration 2087936 2087997 - Identifier 2087936 2087947 - CallExpression 2087949 2087997 - Identifier 2087949 2087978 - ElementAccessExpression 2087979 2087996 - Identifier 2087979 2087993 - Identifier 2087994 2087995 - IfStatement 2087998 2089012 - Identifier 2088016 2088026 - Block 2088027 2089012 - VariableStatement 2088029 2088216 - VariableDeclarationList 2088029 2088215 - VariableDeclaration 2088052 2088215 - Identifier 2088052 2088062 - ConditionalExpression 2088064 2088215 - BinaryExpression 2088064 2088092 - Identifier 2088064 2088077 - AmpersandAmpersandToken 2088077 2088080 - Identifier 2088080 2088092 - QuestionToken 2088092 2088094 - ParenthesizedExpression 2088094 2088203 - ArrowFunction 2088096 2088202 - EqualsGreaterThanToken 2088098 2088101 - CallExpression 2088101 2088202 - Identifier 2088101 2088125 - Identifier 2088126 2088147 - PropertyAccessExpression 2088148 2088201 - Identifier 2088148 2088160 - Identifier 2088161 2088201 - ColonToken 2088203 2088205 - Identifier 2088205 2088215 - VariableStatement 2088216 2088334 - VariableDeclarationList 2088216 2088333 - VariableDeclaration 2088239 2088333 - Identifier 2088239 2088263 - BinaryExpression 2088265 2088333 - Identifier 2088265 2088277 - BarBarToken 2088277 2088280 - PropertyAccessExpression 2088280 2088333 - Identifier 2088280 2088292 - Identifier 2088293 2088333 - IfStatement 2088334 2088468 - PrefixUnaryExpression 2088356 2088363 - Identifier 2088357 2088363 - Block 2088364 2088468 - ExpressionStatement 2088366 2088449 - BinaryExpression 2088366 2088448 - Identifier 2088366 2088394 - EqualsToken 2088394 2088396 - CallExpression 2088396 2088448 - Identifier 2088396 2088413 - Identifier 2088414 2088428 - Identifier 2088429 2088447 - VariableStatement 2088468 2088528 - VariableDeclarationList 2088468 2088527 - VariableDeclaration 2088491 2088527 - Identifier 2088491 2088504 - ElementAccessExpression 2088506 2088527 - Identifier 2088506 2088524 - Identifier 2088525 2088526 - IfStatement 2088528 2088997 - PrefixUnaryExpression 2088550 2088918 - CallExpression 2088573 2088918 - Identifier 2088573 2088594 - Identifier 2088595 2088633 - CallExpression 2088634 2088734 - Identifier 2088634 2088683 - CallExpression 2088684 2088719 - Identifier 2088684 2088699 - Identifier 2088700 2088710 - Identifier 2088711 2088718 - Identifier 2088720 2088733 - ConditionalExpression 2088735 2088808 - Identifier 2088735 2088773 - QuestionToken 2088773 2088775 - ElementAccessExpression 2088775 2088796 - Identifier 2088775 2088793 - Identifier 2088794 2088795 - ColonToken 2088796 2088798 - Identifier 2088798 2088808 - Identifier 2088809 2088858 - Identifier 2088859 2088894 - Block 2088937 2088997 - ReturnStatement 2088939 2088978 - Identifier 2088967 2088977 - ReturnStatement 2089023 2089058 - Identifier 2089039 2089057 - FunctionDeclaration 2089065 2089645 - Identifier 2089081 2089101 - Parameter 2089102 2089129 - Identifier 2089102 2089106 - TypeReference 2089107 2089129 - Identifier 2089107 2089129 - TypeReference 2089131 2089148 - Identifier 2089131 2089148 - Block 2089148 2089645 - IfStatement 2089150 2089257 - CallExpression 2089164 2089199 - Identifier 2089164 2089185 - PropertyAccessExpression 2089186 2089198 - Identifier 2089186 2089190 - Identifier 2089191 2089198 - Block 2089200 2089257 - ReturnStatement 2089202 2089246 - PropertyAccessExpression 2089222 2089245 - Identifier 2089222 2089239 - Identifier 2089240 2089245 - VariableStatement 2089257 2089330 - VariableDeclarationList 2089257 2089329 - VariableDeclaration 2089272 2089329 - Identifier 2089272 2089280 - CallExpression 2089282 2089329 - Identifier 2089282 2089298 - CallExpression 2089299 2089328 - Identifier 2089299 2089314 - PropertyAccessExpression 2089315 2089327 - Identifier 2089315 2089319 - Identifier 2089320 2089327 - IfStatement 2089330 2089467 - CallExpression 2089344 2089405 - Identifier 2089344 2089350 - CallExpression 2089351 2089404 - Identifier 2089351 2089370 - Identifier 2089371 2089378 - PropertyAccessExpression 2089379 2089403 - Identifier 2089379 2089393 - Identifier 2089394 2089403 - Block 2089406 2089467 - ReturnStatement 2089408 2089456 - PropertyAccessExpression 2089428 2089455 - Identifier 2089428 2089445 - Identifier 2089446 2089455 - IfStatement 2089467 2089598 - CallExpression 2089481 2089537 - Identifier 2089481 2089487 - CallExpression 2089488 2089536 - Identifier 2089488 2089507 - Identifier 2089508 2089515 - PropertyAccessExpression 2089516 2089535 - Identifier 2089516 2089530 - Identifier 2089531 2089535 - Block 2089538 2089598 - ReturnStatement 2089540 2089587 - PropertyAccessExpression 2089560 2089586 - Identifier 2089560 2089577 - Identifier 2089578 2089586 - ReturnStatement 2089598 2089638 - PropertyAccessExpression 2089614 2089637 - Identifier 2089614 2089631 - Identifier 2089632 2089637 - FunctionDeclaration 2089645 2096262 - Identifier 2090042 2090088 - Parameter 2090089 2090116 - Identifier 2090089 2090103 - TypeReference 2090104 2090116 - Identifier 2090104 2090116 - Parameter 2090117 2090147 - Identifier 2090117 2090136 - TypeReference 2090137 2090147 - Identifier 2090137 2090147 - Parameter 2090148 2090205 - Identifier 2090148 2090166 - TypeReference 2090167 2090205 - Identifier 2090167 2090171 - StringKeyword 2090172 2090178 - TypeReference 2090179 2090204 - Identifier 2090179 2090204 - Parameter 2090206 2090236 - Identifier 2090206 2090225 - TypeReference 2090226 2090236 - Identifier 2090226 2090236 - Parameter 2090237 2090268 - Identifier 2090237 2090259 - BooleanKeyword 2090260 2090268 - Parameter 2090269 2090357 - Identifier 2090269 2090301 - UnionType 2090302 2090357 - ParenthesizedType 2090302 2090345 - FunctionType 2090304 2090344 - UnionType 2090309 2090344 - TypeReference 2090309 2090332 - Identifier 2090309 2090332 - UndefinedKeyword 2090334 2090344 - UndefinedKeyword 2090347 2090357 - Parameter 2090358 2090410 - Identifier 2090358 2090388 - TypeReference 2090389 2090410 - Identifier 2090389 2090410 - Block 2090418 2096262 - VariableStatement 2090420 2090808 - VariableDeclarationList 2090420 2090807 - VariableDeclaration 2090737 2090807 - Identifier 2090737 2090747 - CallExpression 2090749 2090807 - Identifier 2090749 2090790 - Identifier 2090791 2090800 - Identifier 2090801 2090806 - VariableStatement 2090808 2091029 - VariableDeclarationList 2090808 2091028 - VariableDeclaration 2090823 2091028 - Identifier 2090823 2090838 - ConditionalExpression 2090840 2091028 - CallExpression 2090840 2090867 - Identifier 2090840 2090861 - Identifier 2090862 2090866 - QuestionToken 2090867 2090869 - CallExpression 2090869 2090921 - Identifier 2090869 2090915 - Identifier 2090916 2090920 - ColonToken 2090921 2090923 - CallExpression 2090923 2091028 - Identifier 2090923 2090957 - PropertyAccessExpression 2090958 2090973 - Identifier 2090958 2090962 - Identifier 2090963 2090973 - Identifier 2090974 2090984 - Identifier 2090985 2091016 - Identifier 2091017 2091027 - VariableStatement 2091029 2091175 - VariableDeclarationList 2091029 2091174 - VariableDeclaration 2091044 2091174 - Identifier 2091044 2091064 - ConditionalExpression 2091066 2091174 - BinaryExpression 2091066 2091109 - Identifier 2091066 2091076 - AmpersandToken 2091076 2091078 - PropertyAccessExpression 2091078 2091109 - Identifier 2091078 2091088 - Identifier 2091089 2091109 - QuestionToken 2091109 2091111 - CallExpression 2091111 2091157 - Identifier 2091111 2091141 - Identifier 2091142 2091156 - ColonToken 2091157 2091159 - Identifier 2091159 2091174 - ReturnStatement 2091175 2091646 - BinaryExpression 2091191 2091645 - CallExpression 2091191 2091235 - Identifier 2091191 2091233 - AmpersandAmpersandToken 2091235 2091238 - CallExpression 2091238 2091645 - Identifier 2091238 2091279 - Identifier 2091280 2091313 - Identifier 2091314 2091337 - Identifier 2091338 2091360 - ConditionalExpression 2091361 2091450 - Identifier 2091361 2091387 - QuestionToken 2091387 2091389 - ConditionalExpression 2091389 2091438 - CallExpression 2091389 2091416 - Identifier 2091389 2091410 - Identifier 2091411 2091415 - QuestionToken 2091416 2091418 - Identifier 2091418 2091423 - ColonToken 2091423 2091425 - PropertyAccessExpression 2091425 2091438 - Identifier 2091425 2091430 - Identifier 2091431 2091438 - ColonToken 2091438 2091440 - Identifier 2091440 2091450 - ConditionalExpression 2091451 2091521 - CallExpression 2091451 2091491 - Identifier 2091451 2091485 - Identifier 2091486 2091490 - QuestionToken 2091491 2091493 - Identifier 2091493 2091503 - ColonToken 2091503 2091505 - PropertyAccessExpression 2091505 2091521 - Identifier 2091505 2091510 - Identifier 2091511 2091521 - Identifier 2091522 2091561 - Identifier 2091562 2091598 - Identifier 2091599 2091633 - FunctionDeclaration 2091646 2096255 - Identifier 2091666 2091708 - BooleanKeyword 2091711 2091719 - Block 2091719 2096255 - IfStatement 2091721 2091996 - CallExpression 2091739 2091786 - Identifier 2091739 2091780 - Identifier 2091781 2091785 - Block 2091787 2091996 - ReturnStatement 2091789 2091819 - TrueKeyword 2091813 2091818 - VariableStatement 2091996 2092311 - VariableDeclarationList 2091996 2092310 - VariableDeclaration 2092116 2092310 - Identifier 2092116 2092124 - ConditionalExpression 2092126 2092310 - BinaryExpression 2092126 2092266 - ParenthesizedExpression 2092126 2092187 - BinaryExpression 2092128 2092186 - CallExpression 2092128 2092153 - Identifier 2092128 2092147 - Identifier 2092148 2092152 - BarBarToken 2092153 2092156 - CallExpression 2092156 2092186 - Identifier 2092156 2092180 - Identifier 2092181 2092185 - AmpersandAmpersandToken 2092187 2092190 - PrefixUnaryExpression 2092190 2092266 - ParenthesizedExpression 2092192 2092266 - BinaryExpression 2092193 2092265 - CallExpression 2092193 2092228 - Identifier 2092193 2092214 - PropertyAccessExpression 2092215 2092227 - Identifier 2092215 2092219 - Identifier 2092220 2092227 - BarBarToken 2092228 2092231 - CallExpression 2092231 2092265 - Identifier 2092231 2092251 - PropertyAccessExpression 2092252 2092264 - Identifier 2092252 2092256 - Identifier 2092257 2092264 - QuestionToken 2092266 2092268 - CallExpression 2092268 2092298 - Identifier 2092268 2092284 - PropertyAccessExpression 2092285 2092297 - Identifier 2092285 2092289 - Identifier 2092290 2092297 - ColonToken 2092298 2092300 - Identifier 2092300 2092310 - IfStatement 2092311 2092385 - PrefixUnaryExpression 2092329 2092337 - Identifier 2092330 2092337 - Block 2092338 2092385 - ReturnStatement 2092340 2092370 - TrueKeyword 2092364 2092369 - VariableStatement 2092385 2092474 - VariableDeclarationList 2092385 2092473 - VariableDeclaration 2092404 2092473 - Identifier 2092404 2092422 - CallExpression 2092424 2092473 - Identifier 2092424 2092444 - Identifier 2092445 2092452 - PropertyAccessExpression 2092453 2092472 - Identifier 2092453 2092467 - Identifier 2092468 2092472 - IfStatement 2092474 2092566 - PrefixUnaryExpression 2092492 2092518 - CallExpression 2092493 2092518 - Identifier 2092493 2092499 - Identifier 2092500 2092517 - Block 2092519 2092566 - ReturnStatement 2092521 2092551 - TrueKeyword 2092545 2092550 - VariableStatement 2092566 2092622 - VariableDeclarationList 2092566 2092621 - VariableDeclaration 2092585 2092621 - Identifier 2092585 2092593 - CallExpression 2092595 2092621 - Identifier 2092595 2092615 - Identifier 2092616 2092620 - IfStatement 2092622 2092696 - PrefixUnaryExpression 2092640 2092648 - Identifier 2092641 2092648 - Block 2092649 2092696 - ReturnStatement 2092651 2092681 - TrueKeyword 2092675 2092680 - VariableStatement 2092696 2092835 - VariableDeclarationList 2092696 2092834 - VariableDeclaration 2092715 2092834 - Identifier 2092715 2092729 - CallExpression 2092731 2092834 - Identifier 2092731 2092749 - Identifier 2092750 2092757 - PropertyAccessExpression 2092758 2092776 - Identifier 2092758 2092770 - Identifier 2092771 2092776 - TrueKeyword 2092777 2092799 - FalseKeyword 2092800 2092827 - Identifier 2092828 2092833 - IfStatement 2092835 2092915 - PrefixUnaryExpression 2092853 2092867 - Identifier 2092854 2092867 - Block 2092868 2092915 - ReturnStatement 2092870 2092900 - TrueKeyword 2092894 2092899 - VariableStatement 2092915 2092982 - VariableDeclarationList 2092915 2092981 - VariableDeclaration 2092936 2092981 - Identifier 2092936 2092948 - CallExpression 2092950 2092981 - Identifier 2092950 2092966 - Identifier 2092967 2092980 - VariableStatement 2092982 2093072 - VariableDeclarationList 2092982 2093071 - VariableDeclaration 2093001 2093071 - Identifier 2093001 2093016 - CallExpression 2093018 2093071 - Identifier 2093018 2093038 - Identifier 2093039 2093050 - PropertyAccessExpression 2093051 2093070 - Identifier 2093051 2093065 - Identifier 2093066 2093070 - IfStatement 2093072 2093161 - PrefixUnaryExpression 2093090 2093113 - CallExpression 2093091 2093113 - Identifier 2093091 2093097 - Identifier 2093098 2093112 - Block 2093114 2093161 - ReturnStatement 2093116 2093146 - TrueKeyword 2093140 2093145 - VariableStatement 2093161 2093213 - VariableDeclarationList 2093161 2093212 - VariableDeclaration 2093180 2093212 - Identifier 2093180 2093204 - FalseKeyword 2093206 2093212 - VariableStatement 2093213 2093249 - VariableDeclarationList 2093213 2093248 - VariableDeclaration 2093230 2093248 - Identifier 2093230 2093244 - NumericLiteral 2093246 2093248 - ForOfStatement 2093249 2094241 - VariableDeclarationList 2093419 2093428 - VariableDeclaration 2093424 2093428 - Identifier 2093424 2093428 - Identifier 2093431 2093446 - Block 2093447 2094241 - VariableStatement 2093449 2093512 - VariableDeclarationList 2093449 2093511 - VariableDeclaration 2093472 2093511 - Identifier 2093472 2093483 - CallExpression 2093485 2093511 - Identifier 2093485 2093503 - Identifier 2093504 2093507 - NumericLiteral 2093508 2093510 - VariableStatement 2093512 2093608 - VariableDeclarationList 2093512 2093607 - VariableDeclaration 2093535 2093607 - Identifier 2093535 2093553 - CallExpression 2093555 2093607 - Identifier 2093555 2093575 - Identifier 2093576 2093586 - PropertyAccessExpression 2093587 2093606 - Identifier 2093587 2093601 - Identifier 2093602 2093606 - IfStatement 2093608 2093667 - PrefixUnaryExpression 2093630 2093656 - CallExpression 2093631 2093656 - Identifier 2093631 2093637 - Identifier 2093638 2093655 - ContinueStatement 2093657 2093667 - ForOfStatement 2093667 2094226 - VariableDeclarationList 2093690 2093704 - VariableDeclaration 2093695 2093704 - Identifier 2093695 2093704 - Identifier 2093707 2093725 - Block 2093726 2094226 - ExpressionStatement 2093728 2093781 - BinaryExpression 2093728 2093780 - Identifier 2093728 2093773 - EqualsToken 2093773 2093775 - TrueKeyword 2093775 2093780 - IfStatement 2093781 2094007 - CallExpression 2093807 2093842 - Identifier 2093807 2093832 - Identifier 2093833 2093841 - Block 2093843 2094007 - ReturnStatement 2093845 2093883 - TrueKeyword 2093877 2093882 - VariableStatement 2094007 2094076 - VariableDeclarationList 2094007 2094075 - VariableDeclaration 2094034 2094075 - Identifier 2094034 2094045 - CallExpression 2094047 2094075 - Identifier 2094047 2094065 - Identifier 2094066 2094074 - IfStatement 2094076 2094207 - BinaryExpression 2094102 2094128 - Identifier 2094102 2094112 - GreaterThanToken 2094112 2094114 - Identifier 2094114 2094128 - Block 2094129 2094207 - ExpressionStatement 2094131 2094184 - BinaryExpression 2094131 2094183 - Identifier 2094131 2094170 - EqualsToken 2094170 2094172 - Identifier 2094172 2094183 - IfStatement 2094241 2094552 - PrefixUnaryExpression 2094259 2094283 - Identifier 2094260 2094283 - Block 2094284 2094552 - ReturnStatement 2094286 2094537 - TrueKeyword 2094531 2094536 - VariableStatement 2094552 2094601 - VariableDeclarationList 2094552 2094600 - VariableDeclaration 2094569 2094600 - Identifier 2094569 2094589 - Identifier 2094591 2094600 - ForOfStatement 2094601 2094894 - VariableDeclarationList 2094620 2094632 - VariableDeclaration 2094625 2094632 - Identifier 2094625 2094632 - Identifier 2094635 2094653 - Block 2094654 2094894 - VariableStatement 2094656 2094730 - VariableDeclarationList 2094656 2094729 - VariableDeclaration 2094679 2094729 - Identifier 2094679 2094699 - CallExpression 2094701 2094729 - Identifier 2094701 2094721 - Identifier 2094722 2094728 - IfStatement 2094730 2094879 - BinaryExpression 2094752 2094793 - Identifier 2094752 2094771 - LessThanToken 2094771 2094773 - Identifier 2094773 2094793 - Block 2094794 2094879 - ExpressionStatement 2094796 2094860 - BinaryExpression 2094796 2094859 - Identifier 2094796 2094837 - EqualsToken 2094837 2094839 - Identifier 2094839 2094859 - IfStatement 2094894 2095078 - BinaryExpression 2094912 2094948 - Identifier 2094912 2094931 - LessThanEqualsToken 2094931 2094934 - Identifier 2094934 2094948 - Block 2094949 2095078 - ReturnStatement 2094951 2094981 - TrueKeyword 2094975 2094980 - IfStatement 2095078 2096217 - Identifier 2095098 2095110 - Block 2095111 2096217 - VariableStatement 2095113 2095329 - VariableDeclarationList 2095113 2095328 - VariableDeclaration 2095258 2095328 - Identifier 2095258 2095266 - PropertyAccessExpression 2095268 2095328 - ParenthesizedExpression 2095268 2095320 - AsExpression 2095270 2095319 - Identifier 2095270 2095274 - UnionType 2095277 2095319 - TypeReference 2095277 2095295 - Identifier 2095277 2095295 - TypeReference 2095297 2095319 - Identifier 2095297 2095319 - Identifier 2095321 2095328 - VariableStatement 2095329 2095576 - VariableDeclarationList 2095329 2095575 - VariableDeclaration 2095352 2095575 - Identifier 2095352 2095357 - CallExpression 2095359 2095575 - Identifier 2095359 2095383 - Identifier 2095384 2095391 - PropertyAccessExpression 2095392 2095480 - Identifier 2095392 2095404 - Identifier 2095405 2095480 - CallExpression 2095481 2095509 - Identifier 2095481 2095500 - Identifier 2095501 2095508 - Identifier 2095510 2095530 - CallExpression 2095531 2095559 - Identifier 2095531 2095550 - Identifier 2095551 2095558 - Identifier 2095560 2095574 - VariableStatement 2095576 2095668 - VariableDeclarationList 2095576 2095667 - VariableDeclaration 2095599 2095667 - Identifier 2095599 2095618 - PropertyAccessExpression 2095620 2095667 - CallExpression 2095620 2095649 - Identifier 2095620 2095640 - Identifier 2095641 2095648 - QuestionDotToken 2095649 2095651 - Identifier 2095651 2095667 - IfStatement 2095668 2095880 - Identifier 2095690 2095708 - Block 2095709 2095880 - ExpressionStatement 2095711 2095861 - CallExpression 2095711 2095860 - Identifier 2095711 2095747 - Identifier 2095748 2095752 - CallExpression 2095753 2095859 - Identifier 2095753 2095777 - Identifier 2095778 2095796 - PropertyAccessExpression 2095797 2095829 - Identifier 2095797 2095809 - Identifier 2095810 2095829 - CallExpression 2095830 2095858 - Identifier 2095830 2095849 - Identifier 2095850 2095857 - IfStatement 2095880 2096081 - BinaryExpression 2095902 2095958 - Identifier 2095902 2095922 - AmpersandAmpersandToken 2095922 2095925 - PropertyAccessExpression 2095925 2095958 - Identifier 2095925 2095946 - Identifier 2095947 2095958 - Block 2095959 2096081 - ExpressionStatement 2095961 2096062 - CallExpression 2095961 2096061 - PropertyAccessExpression 2095961 2096055 - ParenthesizedExpression 2095961 2096050 - BinaryExpression 2095984 2096049 - PropertyAccessExpression 2095984 2096011 - Identifier 2095984 2096004 - Identifier 2096005 2096011 - BarBarToken 2096011 2096014 - ParenthesizedExpression 2096014 2096049 - BinaryExpression 2096016 2096048 - PropertyAccessExpression 2096016 2096043 - Identifier 2096016 2096036 - Identifier 2096037 2096043 - EqualsToken 2096043 2096045 - ArrayLiteralExpression 2096045 2096048 - Identifier 2096051 2096055 - Identifier 2096056 2096060 - IfStatement 2096081 2096202 - PrefixUnaryExpression 2096103 2096136 - PropertyAccessExpression 2096104 2096136 - Identifier 2096104 2096124 - Identifier 2096125 2096136 - Block 2096137 2096202 - ExpressionStatement 2096139 2096183 - CallExpression 2096139 2096182 - PropertyAccessExpression 2096139 2096176 - Identifier 2096139 2096172 - Identifier 2096173 2096176 - Identifier 2096177 2096181 - ReturnStatement 2096217 2096244 - FalseKeyword 2096237 2096243 - FunctionDeclaration 2096262 2096654 - Identifier 2096278 2096300 - Parameter 2096301 2096321 - Identifier 2096301 2096309 - TypeReference 2096310 2096321 - Identifier 2096310 2096321 - TypeReference 2096323 2096334 - Identifier 2096323 2096334 - Block 2096334 2096654 - VariableStatement 2096336 2096592 - VariableDeclarationList 2096336 2096591 - VariableDeclaration 2096351 2096591 - Identifier 2096351 2096357 - ConditionalExpression 2096359 2096591 - CallExpression 2096359 2096380 - Identifier 2096359 2096370 - Identifier 2096371 2096379 - QuestionToken 2096380 2096395 - BinaryExpression 2096395 2096510 - BinaryExpression 2096395 2096461 - PropertyAccessExpression 2096395 2096428 - Identifier 2096395 2096416 - Identifier 2096417 2096428 - BarToken 2096428 2096430 - PropertyAccessExpression 2096430 2096461 - Identifier 2096430 2096451 - Identifier 2096452 2096461 - BarToken 2096461 2096463 - PropertyAccessExpression 2096463 2096510 - Identifier 2096463 2096484 - Identifier 2096485 2096510 - ColonToken 2096510 2096525 - BinaryExpression 2096525 2096591 - PropertyAccessExpression 2096525 2096558 - Identifier 2096525 2096546 - Identifier 2096547 2096558 - BarToken 2096558 2096560 - PropertyAccessExpression 2096560 2096591 - Identifier 2096560 2096581 - Identifier 2096582 2096591 - ReturnStatement 2096592 2096647 - CallExpression 2096608 2096646 - Identifier 2096608 2096629 - Identifier 2096630 2096638 - Identifier 2096639 2096645 - FunctionDeclaration 2096654 2102800 - Identifier 2096670 2096701 - Parameter 2096702 2096736 - Identifier 2096702 2096716 - TypeReference 2096717 2096736 - Identifier 2096717 2096736 - Parameter 2096737 2096774 - Identifier 2096737 2096751 - TypeOperator 2096752 2096774 - ArrayType 2096761 2096774 - TypeReference 2096761 2096772 - Identifier 2096761 2096772 - Parameter 2096775 2096805 - Identifier 2096775 2096794 - TypeReference 2096795 2096805 - Identifier 2096795 2096805 - Parameter 2096806 2096863 - Identifier 2096806 2096824 - TypeReference 2096825 2096863 - Identifier 2096825 2096829 - StringKeyword 2096830 2096836 - TypeReference 2096837 2096862 - Identifier 2096837 2096862 - Parameter 2096864 2096894 - Identifier 2096864 2096883 - TypeReference 2096884 2096894 - Identifier 2096884 2096894 - Parameter 2096895 2096926 - Identifier 2096895 2096917 - BooleanKeyword 2096918 2096926 - Parameter 2096927 2097015 - Identifier 2096927 2096959 - UnionType 2096960 2097015 - ParenthesizedType 2096960 2097003 - FunctionType 2096962 2097002 - UnionType 2096967 2097002 - TypeReference 2096967 2096990 - Identifier 2096967 2096990 - UndefinedKeyword 2096992 2097002 - UndefinedKeyword 2097005 2097015 - Parameter 2097016 2097072 - Identifier 2097016 2097042 - UnionType 2097043 2097072 - TypeReference 2097043 2097060 - Identifier 2097043 2097060 - UndefinedKeyword 2097062 2097072 - UnionType 2097081 2097115 - TypeOperator 2097081 2097103 - ArrayType 2097090 2097103 - TypeReference 2097090 2097101 - Identifier 2097090 2097101 - UndefinedKeyword 2097105 2097115 - Block 2097115 2102800 - VariableStatement 2097117 2097219 - VariableDeclarationList 2097117 2097218 - VariableDeclaration 2097132 2097218 - Identifier 2097132 2097153 - TypeReference 2097154 2097175 - Identifier 2097154 2097175 - ObjectLiteralExpression 2097177 2097218 - PropertyAssignment 2097179 2097197 - Identifier 2097179 2097186 - Identifier 2097187 2097197 - PropertyAssignment 2097198 2097216 - Identifier 2097198 2097210 - TrueKeyword 2097211 2097216 - IfStatement 2097219 2097671 - CallExpression 2097233 2097252 - Identifier 2097233 2097246 - Identifier 2097247 2097251 - Block 2097253 2097671 - IfStatement 2097255 2097629 - PrefixUnaryExpression 2097273 2097417 - CallExpression 2097274 2097417 - Identifier 2097274 2097319 - Identifier 2097320 2097324 - Identifier 2097325 2097335 - Identifier 2097336 2097345 - Identifier 2097346 2097356 - Identifier 2097357 2097370 - Identifier 2097371 2097394 - Identifier 2097395 2097416 - Block 2097418 2097629 - ExpressionStatement 2097420 2097547 - CallExpression 2097420 2097546 - PropertyAccessExpression 2097420 2097450 - Identifier 2097420 2097443 - Identifier 2097444 2097450 - BinaryExpression 2097451 2097497 - PrefixUnaryExpression 2097451 2097464 - Identifier 2097452 2097464 - BarBarToken 2097464 2097467 - PrefixUnaryExpression 2097467 2097497 - PrefixUnaryExpression 2097469 2097497 - PropertyAccessExpression 2097470 2097497 - Identifier 2097470 2097490 - Identifier 2097491 2097497 - StringLiteral 2097498 2097545 - ReturnStatement 2097547 2097614 - BinaryExpression 2097571 2097613 - PropertyAccessExpression 2097571 2097599 - Identifier 2097571 2097592 - Identifier 2097593 2097599 - BarBarToken 2097599 2097602 - Identifier 2097602 2097613 - ReturnStatement 2097629 2097660 - Identifier 2097649 2097659 - VariableStatement 2097671 2097732 - VariableDeclarationList 2097671 2097731 - VariableDeclaration 2097686 2097731 - Identifier 2097686 2097695 - CallExpression 2097697 2097731 - Identifier 2097697 2097720 - Identifier 2097721 2097730 - IfStatement 2097732 2098925 - BinaryExpression 2097746 2097869 - BinaryExpression 2097746 2097779 - Identifier 2097746 2097754 - AmpersandAmpersandToken 2097754 2097757 - BinaryExpression 2097757 2097779 - Identifier 2097757 2097766 - ExclamationEqualsEqualsToken 2097766 2097770 - Identifier 2097770 2097779 - AmpersandAmpersandToken 2097779 2097782 - PrefixUnaryExpression 2097782 2097869 - ParenthesizedExpression 2097784 2097869 - BinaryExpression 2097785 2097868 - CallExpression 2097785 2097806 - Identifier 2097785 2097800 - Identifier 2097801 2097805 - BarBarToken 2097806 2097809 - BinaryExpression 2097809 2097868 - CallExpression 2097809 2097832 - Identifier 2097809 2097826 - Identifier 2097827 2097831 - AmpersandAmpersandToken 2097832 2097835 - CallExpression 2097835 2097868 - Identifier 2097835 2097851 - PropertyAccessExpression 2097852 2097867 - Identifier 2097852 2097856 - Identifier 2097857 2097867 - Block 2097870 2098925 - VariableStatement 2097872 2098265 - VariableDeclarationList 2097872 2098264 - VariableDeclaration 2098217 2098264 - Identifier 2098217 2098234 - CallExpression 2098236 2098264 - Identifier 2098236 2098258 - Identifier 2098259 2098263 - VariableStatement 2098265 2098342 - VariableDeclarationList 2098265 2098341 - VariableDeclaration 2098284 2098341 - Identifier 2098284 2098301 - CallExpression 2098303 2098341 - Identifier 2098303 2098323 - Identifier 2098324 2098340 - VariableStatement 2098342 2098428 - VariableDeclarationList 2098342 2098427 - VariableDeclaration 2098361 2098427 - Identifier 2098361 2098371 - ConditionalExpression 2098373 2098427 - Identifier 2098373 2098386 - QuestionToken 2098386 2098388 - ParenthesizedExpression 2098388 2098415 - BinaryExpression 2098390 2098414 - Identifier 2098390 2098406 - BarBarToken 2098406 2098409 - Identifier 2098409 2098414 - ColonToken 2098415 2098417 - Identifier 2098417 2098427 - VariableStatement 2098428 2098546 - VariableDeclarationList 2098428 2098545 - VariableDeclaration 2098447 2098545 - Identifier 2098447 2098459 - PropertyAccessExpression 2098461 2098545 - Identifier 2098461 2098473 - Identifier 2098474 2098545 - IfStatement 2098546 2098914 - PrefixUnaryExpression 2098564 2098691 - CallExpression 2098565 2098691 - Identifier 2098565 2098583 - Identifier 2098584 2098600 - Identifier 2098601 2098610 - Identifier 2098611 2098620 - Identifier 2098621 2098631 - Identifier 2098632 2098644 - Identifier 2098645 2098668 - Identifier 2098669 2098690 - Block 2098692 2098914 - ExpressionStatement 2098694 2098832 - CallExpression 2098694 2098831 - PropertyAccessExpression 2098694 2098724 - Identifier 2098694 2098717 - Identifier 2098718 2098724 - BinaryExpression 2098725 2098771 - PrefixUnaryExpression 2098725 2098738 - Identifier 2098726 2098738 - BarBarToken 2098738 2098741 - PrefixUnaryExpression 2098741 2098771 - PrefixUnaryExpression 2098743 2098771 - PropertyAccessExpression 2098744 2098771 - Identifier 2098744 2098764 - Identifier 2098765 2098771 - StringLiteral 2098772 2098830 - ReturnStatement 2098832 2098899 - BinaryExpression 2098856 2098898 - PropertyAccessExpression 2098856 2098884 - Identifier 2098856 2098877 - Identifier 2098878 2098884 - BarBarToken 2098884 2098887 - Identifier 2098887 2098898 - VariableStatement 2098925 2099027 - VariableDeclarationList 2098925 2099026 - VariableDeclaration 2098940 2099026 - Identifier 2098940 2098952 - PropertyAccessExpression 2098954 2099026 - Identifier 2098954 2098966 - Identifier 2098967 2099026 - VariableStatement 2099027 2099085 - VariableDeclarationList 2099027 2099084 - VariableDeclaration 2099042 2099084 - Identifier 2099042 2099051 - CallExpression 2099053 2099084 - Identifier 2099053 2099073 - Identifier 2099074 2099083 - VariableStatement 2099085 2099193 - VariableDeclarationList 2099085 2099192 - VariableDeclaration 2099100 2099192 - Identifier 2099100 2099109 - ConditionalExpression 2099111 2099192 - Identifier 2099111 2099120 - QuestionToken 2099120 2099122 - CallExpression 2099122 2099178 - PropertyAccessExpression 2099122 2099131 - Identifier 2099122 2099127 - Identifier 2099128 2099131 - BinaryExpression 2099132 2099164 - CallExpression 2099132 2099160 - Identifier 2099132 2099149 - Identifier 2099150 2099159 - MinusToken 2099160 2099162 - NumericLiteral 2099162 2099164 - PropertyAccessExpression 2099165 2099177 - Identifier 2099165 2099170 - Identifier 2099171 2099177 - ColonToken 2099178 2099180 - PropertyAccessExpression 2099180 2099192 - Identifier 2099180 2099185 - Identifier 2099186 2099192 - ForStatement 2099193 2101010 - VariableDeclarationList 2099208 2099217 - VariableDeclaration 2099211 2099217 - Identifier 2099211 2099213 - NumericLiteral 2099215 2099217 - BinaryExpression 2099218 2099231 - Identifier 2099218 2099220 - LessThanToken 2099220 2099222 - Identifier 2099222 2099231 - PostfixUnaryExpression 2099232 2099236 - Identifier 2099232 2099234 - Block 2099237 2101010 - VariableStatement 2099239 2099273 - VariableDeclarationList 2099239 2099272 - VariableDeclaration 2099258 2099272 - Identifier 2099258 2099262 - ElementAccessExpression 2099264 2099272 - Identifier 2099264 2099269 - Identifier 2099270 2099271 - IfStatement 2099273 2100999 - BinaryExpression 2099291 2099332 - PropertyAccessExpression 2099291 2099299 - Identifier 2099291 2099294 - Identifier 2099295 2099299 - ExclamationEqualsEqualsToken 2099299 2099303 - PropertyAccessExpression 2099303 2099332 - Identifier 2099303 2099314 - Identifier 2099315 2099332 - Block 2099333 2100999 - VariableStatement 2099335 2099403 - VariableDeclarationList 2099335 2099402 - VariableDeclaration 2099358 2099402 - Identifier 2099358 2099368 - CallExpression 2099370 2099402 - Identifier 2099370 2099388 - Identifier 2099389 2099398 - Identifier 2099399 2099401 - VariableStatement 2099403 2099530 - VariableDeclarationList 2099403 2099529 - VariableDeclaration 2099426 2099529 - Identifier 2099426 2099434 - CallExpression 2099436 2099529 - Identifier 2099436 2099470 - Identifier 2099471 2099474 - Identifier 2099475 2099485 - Identifier 2099486 2099517 - Identifier 2099518 2099528 - VariableStatement 2099530 2100017 - VariableDeclarationList 2099530 2100016 - VariableDeclaration 2099905 2100016 - Identifier 2099905 2099920 - ConditionalExpression 2099922 2100016 - BinaryExpression 2099922 2099965 - Identifier 2099922 2099932 - AmpersandToken 2099932 2099934 - PropertyAccessExpression 2099934 2099965 - Identifier 2099934 2099944 - Identifier 2099945 2099965 - QuestionToken 2099965 2099967 - CallExpression 2099967 2100006 - Identifier 2099967 2099997 - Identifier 2099998 2100005 - ColonToken 2100006 2100008 - Identifier 2100008 2100016 - VariableStatement 2100017 2100357 - VariableDeclarationList 2100017 2100356 - VariableDeclaration 2100239 2100356 - Identifier 2100239 2100252 - ConditionalExpression 2100254 2100356 - Identifier 2100254 2100271 - QuestionToken 2100271 2100273 - CallExpression 2100273 2100339 - Identifier 2100273 2100289 - Identifier 2100290 2100304 - PropertyAccessExpression 2100305 2100338 - Identifier 2100305 2100322 - Identifier 2100323 2100338 - ColonToken 2100339 2100341 - Identifier 2100341 2100356 - VariableStatement 2100357 2100437 - VariableDeclarationList 2100357 2100436 - VariableDeclaration 2100380 2100436 - Identifier 2100380 2100407 - CallExpression 2100409 2100436 - Identifier 2100409 2100431 - Identifier 2100432 2100435 - IfStatement 2100437 2100984 - PrefixUnaryExpression 2100459 2100677 - CallExpression 2100460 2100677 - Identifier 2100460 2100500 - Identifier 2100501 2100513 - Identifier 2100514 2100524 - Identifier 2100525 2100534 - ConditionalExpression 2100535 2100589 - Identifier 2100535 2100548 - QuestionToken 2100548 2100550 - Identifier 2100550 2100577 - ColonToken 2100577 2100579 - Identifier 2100579 2100589 - Identifier 2100590 2100617 - Identifier 2100618 2100630 - Identifier 2100631 2100654 - Identifier 2100655 2100676 - Block 2100678 2100984 - ExpressionStatement 2100680 2100817 - CallExpression 2100680 2100816 - PropertyAccessExpression 2100680 2100714 - Identifier 2100680 2100707 - Identifier 2100708 2100714 - BinaryExpression 2100715 2100761 - PrefixUnaryExpression 2100715 2100728 - Identifier 2100716 2100728 - BarBarToken 2100728 2100731 - PrefixUnaryExpression 2100731 2100761 - PrefixUnaryExpression 2100733 2100761 - PropertyAccessExpression 2100734 2100761 - Identifier 2100734 2100754 - Identifier 2100755 2100761 - StringLiteral 2100762 2100815 - ExpressionStatement 2100817 2100894 - CallExpression 2100817 2100893 - Identifier 2100817 2100863 - Identifier 2100864 2100867 - Identifier 2100868 2100881 - Identifier 2100882 2100892 - ReturnStatement 2100894 2100965 - BinaryExpression 2100922 2100964 - PropertyAccessExpression 2100922 2100950 - Identifier 2100922 2100943 - Identifier 2100944 2100950 - BarBarToken 2100950 2100953 - Identifier 2100953 2100964 - IfStatement 2101010 2101995 - Identifier 2101024 2101032 - Block 2101033 2101995 - VariableStatement 2101035 2101163 - VariableDeclarationList 2101035 2101162 - VariableDeclaration 2101054 2101162 - Identifier 2101054 2101065 - CallExpression 2101067 2101162 - Identifier 2101067 2101089 - Identifier 2101090 2101094 - Identifier 2101095 2101104 - PropertyAccessExpression 2101105 2101117 - Identifier 2101105 2101110 - Identifier 2101111 2101117 - Identifier 2101118 2101127 - Identifier 2101128 2101150 - Identifier 2101151 2101161 - VariableStatement 2101163 2101221 - VariableDeclarationList 2101163 2101220 - VariableDeclaration 2101182 2101220 - Identifier 2101182 2101195 - BinaryExpression 2101197 2101220 - PropertyAccessExpression 2101197 2101209 - Identifier 2101197 2101202 - Identifier 2101203 2101209 - MinusToken 2101209 2101211 - Identifier 2101211 2101220 - VariableStatement 2101221 2101532 - VariableDeclarationList 2101221 2101531 - VariableDeclaration 2101240 2101531 - Identifier 2101240 2101250 - ConditionalExpression 2101252 2101531 - PrefixUnaryExpression 2101252 2101266 - Identifier 2101254 2101266 - QuestionToken 2101266 2101268 - Identifier 2101268 2101278 - ColonToken 2101278 2101280 - ConditionalExpression 2101280 2101531 - BinaryExpression 2101280 2101316 - Identifier 2101280 2101310 - EqualsEqualsEqualsToken 2101310 2101314 - NumericLiteral 2101314 2101316 - QuestionToken 2101316 2101318 - Identifier 2101318 2101323 - ColonToken 2101323 2101325 - ConditionalExpression 2101325 2101531 - BinaryExpression 2101325 2101361 - Identifier 2101325 2101355 - EqualsEqualsEqualsToken 2101355 2101359 - NumericLiteral 2101359 2101361 - QuestionToken 2101361 2101363 - CallExpression 2101363 2101401 - Identifier 2101363 2101385 - ElementAccessExpression 2101386 2101400 - Identifier 2101386 2101390 - Identifier 2101391 2101399 - ColonToken 2101401 2101403 - CallExpression 2101403 2101531 - Identifier 2101403 2101439 - CallExpression 2101440 2101483 - Identifier 2101440 2101465 - Identifier 2101466 2101470 - Identifier 2101471 2101482 - PropertyAccessExpression 2101484 2101503 - ElementAccessExpression 2101484 2101499 - Identifier 2101484 2101489 - Identifier 2101490 2101498 - Identifier 2101500 2101503 - PropertyAccessExpression 2101504 2101530 - ElementAccessExpression 2101504 2101526 - Identifier 2101504 2101509 - BinaryExpression 2101510 2101525 - PropertyAccessExpression 2101510 2101521 - Identifier 2101510 2101514 - Identifier 2101515 2101521 - MinusToken 2101521 2101523 - NumericLiteral 2101523 2101525 - Identifier 2101527 2101530 - IfStatement 2101532 2101984 - PrefixUnaryExpression 2101550 2101685 - CallExpression 2101551 2101685 - Identifier 2101551 2101569 - Identifier 2101570 2101580 - Identifier 2101581 2101590 - Identifier 2101591 2101600 - Identifier 2101601 2101611 - Identifier 2101612 2101624 - Identifier 2101625 2101662 - Identifier 2101663 2101684 - Block 2101686 2101984 - ExpressionStatement 2101688 2101826 - CallExpression 2101688 2101825 - PropertyAccessExpression 2101688 2101718 - Identifier 2101688 2101711 - Identifier 2101712 2101718 - BinaryExpression 2101719 2101765 - PrefixUnaryExpression 2101719 2101732 - Identifier 2101720 2101732 - BarBarToken 2101732 2101735 - PrefixUnaryExpression 2101735 2101765 - PrefixUnaryExpression 2101737 2101765 - PropertyAccessExpression 2101738 2101765 - Identifier 2101738 2101758 - Identifier 2101759 2101765 - StringLiteral 2101766 2101824 - ExpressionStatement 2101826 2101902 - CallExpression 2101826 2101901 - Identifier 2101826 2101868 - Identifier 2101869 2101878 - Identifier 2101879 2101890 - Identifier 2101891 2101900 - ReturnStatement 2101902 2101969 - BinaryExpression 2101926 2101968 - PropertyAccessExpression 2101926 2101954 - Identifier 2101926 2101947 - Identifier 2101948 2101954 - BarBarToken 2101954 2101957 - Identifier 2101957 2101968 - ReturnStatement 2101995 2102022 - Identifier 2102011 2102021 - FunctionDeclaration 2102022 2102793 - Identifier 2102042 2102067 - Parameter 2102068 2102095 - Identifier 2102068 2102077 - UnionType 2102078 2102095 - TypeReference 2102078 2102083 - Identifier 2102078 2102083 - UndefinedKeyword 2102085 2102095 - Parameter 2102096 2102109 - Identifier 2102096 2102103 - TypeReference 2102104 2102109 - Identifier 2102104 2102109 - Parameter 2102110 2102123 - Identifier 2102110 2102117 - TypeReference 2102118 2102123 - Identifier 2102118 2102123 - Block 2102124 2102793 - IfStatement 2102126 2102782 - BinaryExpression 2102144 2102238 - BinaryExpression 2102144 2102200 - BinaryExpression 2102144 2102169 - Identifier 2102144 2102153 - AmpersandAmpersandToken 2102153 2102156 - Identifier 2102156 2102169 - AmpersandAmpersandToken 2102169 2102172 - PropertyAccessExpression 2102172 2102200 - Identifier 2102172 2102193 - Identifier 2102194 2102200 - AmpersandAmpersandToken 2102200 2102203 - PropertyAccessExpression 2102203 2102238 - PropertyAccessExpression 2102203 2102231 - Identifier 2102203 2102224 - Identifier 2102225 2102231 - Identifier 2102232 2102238 - Block 2102239 2102782 - IfStatement 2102241 2102422 - CallExpression 2102340 2102371 - Identifier 2102340 2102363 - Identifier 2102364 2102370 - Block 2102372 2102422 - ReturnStatement 2102374 2102403 - VariableStatement 2102422 2102500 - VariableDeclarationList 2102422 2102499 - VariableDeclaration 2102445 2102499 - Identifier 2102445 2102465 - CallExpression 2102467 2102499 - Identifier 2102467 2102491 - Identifier 2102492 2102498 - IfStatement 2102500 2102767 - BinaryExpression 2102522 2102599 - Identifier 2102522 2102541 - AmpersandAmpersandToken 2102541 2102544 - CallExpression 2102544 2102599 - Identifier 2102544 2102560 - Identifier 2102561 2102580 - Identifier 2102581 2102588 - Identifier 2102589 2102598 - Block 2102600 2102767 - ExpressionStatement 2102602 2102748 - CallExpression 2102602 2102747 - Identifier 2102602 2102638 - ElementAccessExpression 2102639 2102669 - PropertyAccessExpression 2102639 2102666 - Identifier 2102639 2102659 - Identifier 2102660 2102666 - NumericLiteral 2102667 2102668 - CallExpression 2102670 2102746 - Identifier 2102670 2102694 - Identifier 2102695 2102704 - PropertyAccessExpression 2102705 2102745 - Identifier 2102705 2102717 - Identifier 2102718 2102745 - FunctionDeclaration 2102800 2103593 - Identifier 2102927 2102949 - Parameter 2102950 2102974 - Identifier 2102950 2102954 - TypeReference 2102955 2102974 - Identifier 2102955 2102974 - UnionType 2102976 2102999 - TypeReference 2102976 2102987 - Identifier 2102976 2102987 - UndefinedKeyword 2102989 2102999 - Block 2102999 2103593 - IfStatement 2103001 2103102 - BinaryExpression 2103015 2103056 - PropertyAccessExpression 2103015 2103024 - Identifier 2103015 2103019 - Identifier 2103020 2103024 - EqualsEqualsEqualsToken 2103024 2103028 - PropertyAccessExpression 2103028 2103056 - Identifier 2103028 2103039 - Identifier 2103040 2103056 - Block 2103057 2103102 - ReturnStatement 2103059 2103091 - PropertyAccessExpression 2103079 2103090 - Identifier 2103079 2103084 - Identifier 2103085 2103090 - VariableStatement 2103102 2103381 - VariableDeclarationList 2103102 2103380 - VariableDeclaration 2103119 2103380 - Identifier 2103119 2103130 - ConditionalExpression 2103132 2103380 - BinaryExpression 2103132 2103172 - PropertyAccessExpression 2103132 2103142 - Identifier 2103132 2103137 - Identifier 2103138 2103142 - EqualsEqualsEqualsToken 2103142 2103146 - PropertyAccessExpression 2103146 2103172 - Identifier 2103146 2103157 - Identifier 2103158 2103172 - QuestionToken 2103172 2103174 - PropertyAccessExpression 2103174 2103190 - Identifier 2103174 2103179 - Identifier 2103180 2103190 - ColonToken 2103190 2103192 - ConditionalExpression 2103192 2103380 - BinaryExpression 2103192 2103255 - PropertyAccessExpression 2103192 2103215 - Identifier 2103192 2103210 - Identifier 2103211 2103215 - EqualsEqualsEqualsToken 2103215 2103219 - PropertyAccessExpression 2103219 2103255 - Identifier 2103219 2103230 - Identifier 2103231 2103255 - QuestionToken 2103255 2103257 - PropertyAccessExpression 2103257 2103266 - Identifier 2103257 2103262 - Identifier 2103263 2103266 - ColonToken 2103266 2103268 - ConditionalExpression 2103268 2103380 - BinaryExpression 2103268 2103337 - BinaryExpression 2103268 2103316 - PropertyAccessExpression 2103268 2103291 - Identifier 2103268 2103286 - Identifier 2103287 2103291 - EqualsEqualsEqualsToken 2103291 2103295 - PropertyAccessExpression 2103295 2103316 - Identifier 2103295 2103306 - Identifier 2103307 2103316 - AmpersandAmpersandToken 2103316 2103319 - PrefixUnaryExpression 2103319 2103337 - Identifier 2103321 2103337 - QuestionToken 2103337 2103339 - PropertyAccessExpression 2103339 2103355 - Identifier 2103339 2103344 - Identifier 2103345 2103355 - ColonToken 2103355 2103357 - Identifier 2103357 2103380 - IfStatement 2103381 2103586 - Identifier 2103395 2103405 - Block 2103406 2103586 - VariableStatement 2103408 2103470 - VariableDeclarationList 2103408 2103469 - VariableDeclaration 2103427 2103469 - Identifier 2103427 2103434 - CallExpression 2103436 2103469 - Identifier 2103436 2103457 - Identifier 2103458 2103468 - IfStatement 2103470 2103575 - CallExpression 2103488 2103514 - Identifier 2103488 2103506 - Identifier 2103507 2103513 - Block 2103515 2103575 - ReturnStatement 2103517 2103560 - PropertyAccessExpression 2103541 2103559 - Identifier 2103541 2103548 - Identifier 2103549 2103559 - FunctionDeclaration 2103593 2103955 - Identifier 2103609 2103635 - Parameter 2103636 2103648 - Identifier 2103636 2103642 - TypeReference 2103643 2103648 - Identifier 2103643 2103648 - Parameter 2103649 2103660 - Identifier 2103649 2103654 - TypeReference 2103655 2103660 - Identifier 2103655 2103660 - Parameter 2103661 2103680 - Identifier 2103661 2103670 - QuestionToken 2103670 2103671 - BooleanKeyword 2103672 2103680 - Parameter 2103681 2103739 - Identifier 2103681 2103697 - QuestionToken 2103697 2103698 - UnionType 2103699 2103739 - TypeReference 2103699 2103720 - Identifier 2103699 2103720 - TypeReference 2103722 2103739 - Identifier 2103722 2103739 - Block 2103740 2103955 - VariableStatement 2103742 2103843 - VariableDeclarationList 2103742 2103842 - VariableDeclaration 2103757 2103842 - Identifier 2103757 2103764 - CallExpression 2103766 2103842 - PropertyAccessExpression 2103766 2103809 - Identifier 2103766 2103783 - Identifier 2103784 2103809 - Identifier 2103810 2103814 - Identifier 2103815 2103824 - Identifier 2103825 2103841 - ExpressionStatement 2103843 2103888 - CallExpression 2103843 2103887 - Identifier 2103843 2103871 - Identifier 2103872 2103878 - Identifier 2103879 2103886 - ExpressionStatement 2103888 2103924 - CallExpression 2103888 2103923 - Identifier 2103888 2103907 - Identifier 2103908 2103914 - Identifier 2103915 2103922 - ReturnStatement 2103924 2103948 - Identifier 2103940 2103947 - FunctionDeclaration 2103955 2106769 - Identifier 2104086 2104112 - Parameter 2104113 2104137 - Identifier 2104113 2104117 - TypeReference 2104118 2104137 - Identifier 2104118 2104137 - TypeOperator 2104139 2104161 - ArrayType 2104148 2104161 - TypeReference 2104148 2104159 - Identifier 2104148 2104159 - Block 2104161 2106769 - IfStatement 2104163 2104453 - CallExpression 2104177 2104203 - Identifier 2104177 2104197 - Identifier 2104198 2104202 - Block 2104204 2104453 - ReturnStatement 2104206 2104442 - ArrayLiteralExpression 2104382 2104441 - CallExpression 2104384 2104440 - Identifier 2104384 2104409 - Identifier 2104410 2104414 - Identifier 2104415 2104439 - IfStatement 2104453 2104931 - BinaryExpression 2104469 2104518 - PropertyAccessExpression 2104469 2104478 - Identifier 2104469 2104473 - Identifier 2104474 2104478 - EqualsEqualsEqualsToken 2104478 2104482 - PropertyAccessExpression 2104482 2104518 - Identifier 2104482 2104493 - Identifier 2104494 2104518 - Block 2104519 2104931 - VariableStatement 2104521 2104566 - VariableDeclarationList 2104521 2104565 - VariableDeclaration 2104540 2104565 - Identifier 2104540 2104549 - PropertyAccessExpression 2104551 2104565 - Identifier 2104551 2104556 - Identifier 2104557 2104565 - VariableStatement 2104566 2104682 - VariableDeclarationList 2104566 2104681 - VariableDeclaration 2104585 2104681 - Identifier 2104585 2104590 - ArrayType 2104591 2104604 - TypeReference 2104591 2104602 - Identifier 2104591 2104602 - ArrayLiteralExpression 2104606 2104681 - CallExpression 2104608 2104680 - Identifier 2104608 2104633 - Identifier 2104634 2104642 - CallExpression 2104643 2104679 - Identifier 2104643 2104677 - IfStatement 2104682 2104894 - BinaryExpression 2104700 2104747 - PropertyAccessExpression 2104700 2104713 - Identifier 2104700 2104708 - Identifier 2104709 2104713 - EqualsEqualsEqualsToken 2104713 2104717 - PropertyAccessExpression 2104717 2104747 - Identifier 2104717 2104728 - Identifier 2104729 2104747 - Block 2104748 2104894 - ExpressionStatement 2104750 2104879 - CallExpression 2104750 2104878 - Identifier 2104750 2104775 - PropertyAccessExpression 2104776 2104798 - Identifier 2104776 2104784 - Identifier 2104785 2104798 - ArrowFunction 2104799 2104877 - Parameter 2104799 2104804 - Identifier 2104799 2104804 - EqualsGreaterThanToken 2104804 2104807 - Block 2104807 2104877 - ExpressionStatement 2104809 2104858 - CallExpression 2104809 2104857 - PropertyAccessExpression 2104809 2104840 - Identifier 2104809 2104835 - Identifier 2104836 2104840 - PropertyAccessExpression 2104841 2104856 - Identifier 2104841 2104845 - Identifier 2104846 2104856 - ReturnStatement 2104894 2104920 - Identifier 2104914 2104919 - IfStatement 2104931 2105051 - BinaryExpression 2104945 2104979 - PropertyAccessExpression 2104945 2104954 - Identifier 2104945 2104949 - Identifier 2104950 2104954 - EqualsEqualsEqualsToken 2104954 2104958 - PropertyAccessExpression 2104958 2104979 - Identifier 2104958 2104969 - Identifier 2104970 2104979 - Block 2104980 2105051 - ReturnStatement 2104982 2105040 - CallExpression 2105002 2105039 - Identifier 2105002 2105033 - Identifier 2105034 2105038 - IfStatement 2105051 2105153 - BinaryExpression 2105065 2105106 - PropertyAccessExpression 2105065 2105074 - Identifier 2105065 2105069 - Identifier 2105070 2105074 - EqualsEqualsEqualsToken 2105074 2105078 - PropertyAccessExpression 2105078 2105106 - Identifier 2105078 2105089 - Identifier 2105090 2105106 - Block 2105107 2105153 - ReturnStatement 2105109 2105142 - ArrayLiteralExpression 2105129 2105141 - PropertyAccessExpression 2105131 2105140 - Identifier 2105131 2105135 - Identifier 2105136 2105140 - IfStatement 2105153 2105368 - CallExpression 2105167 2105196 - Identifier 2105167 2105190 - Identifier 2105191 2105195 - Block 2105197 2105368 - ReturnStatement 2105199 2105357 - ConditionalExpression 2105219 2105356 - BinaryExpression 2105219 2105323 - BinaryExpression 2105219 2105257 - PropertyAccessExpression 2105219 2105253 - PropertyAccessExpression 2105219 2105246 - PropertyAccessExpression 2105219 2105235 - Identifier 2105219 2105224 - Identifier 2105225 2105235 - Identifier 2105236 2105246 - Identifier 2105247 2105253 - GreaterThanToken 2105253 2105255 - NumericLiteral 2105255 2105257 - BarBarToken 2105257 2105260 - ParenthesizedExpression 2105260 2105323 - BinaryExpression 2105262 2105322 - CallExpression 2105262 2105287 - Identifier 2105262 2105281 - Identifier 2105282 2105286 - AmpersandAmpersandToken 2105287 2105290 - BinaryExpression 2105290 2105322 - PropertyAccessExpression 2105290 2105318 - PropertyAccessExpression 2105290 2105311 - PropertyAccessExpression 2105290 2105302 - Identifier 2105290 2105295 - Identifier 2105296 2105302 - Identifier 2105303 2105311 - Identifier 2105312 2105318 - GreaterThanToken 2105318 2105320 - NumericLiteral 2105320 2105322 - QuestionToken 2105323 2105325 - ArrayLiteralExpression 2105325 2105343 - PropertyAccessExpression 2105327 2105342 - Identifier 2105327 2105331 - Identifier 2105332 2105342 - ColonToken 2105343 2105345 - Identifier 2105345 2105356 - VariableStatement 2105368 2105420 - VariableDeclarationList 2105368 2105419 - VariableDeclaration 2105383 2105419 - Identifier 2105383 2105388 - BinaryExpression 2105390 2105419 - PropertyAccessExpression 2105390 2105405 - Identifier 2105390 2105395 - Identifier 2105396 2105405 - BarBarToken 2105405 2105408 - Identifier 2105408 2105419 - VariableStatement 2105420 2105479 - VariableDeclarationList 2105420 2105478 - VariableDeclaration 2105435 2105478 - Identifier 2105435 2105447 - CallExpression 2105449 2105478 - Identifier 2105449 2105472 - Identifier 2105473 2105477 - IfStatement 2105479 2106740 - BinaryExpression 2105493 2105509 - Identifier 2105493 2105504 - GreaterThanEqualsToken 2105504 2105507 - NumericLiteral 2105507 2105509 - Block 2105510 2106740 - VariableStatement 2105512 2105647 - VariableDeclarationList 2105512 2105646 - VariableDeclaration 2105603 2105646 - Identifier 2105603 2105617 - CallExpression 2105619 2105646 - PropertyAccessExpression 2105619 2105630 - Identifier 2105619 2105624 - Identifier 2105625 2105630 - NumericLiteral 2105631 2105632 - Identifier 2105633 2105645 - ForStatement 2105647 2106694 - VariableDeclarationList 2105666 2105685 - VariableDeclaration 2105669 2105685 - Identifier 2105669 2105671 - Identifier 2105673 2105685 - BinaryExpression 2105686 2105702 - Identifier 2105686 2105688 - LessThanToken 2105688 2105690 - PropertyAccessExpression 2105690 2105702 - Identifier 2105690 2105695 - Identifier 2105696 2105702 - PostfixUnaryExpression 2105703 2105707 - Identifier 2105703 2105705 - Block 2105708 2106694 - VariableStatement 2105710 2105748 - VariableDeclarationList 2105710 2105747 - VariableDeclaration 2105733 2105747 - Identifier 2105733 2105737 - ElementAccessExpression 2105739 2105747 - Identifier 2105739 2105744 - Identifier 2105745 2105746 - VariableStatement 2105748 2106065 - VariableDeclarationList 2105748 2106064 - VariableDeclaration 2105882 2106064 - Identifier 2105882 2105893 - BinaryExpression 2105895 2106064 - BinaryExpression 2105895 2105933 - PropertyAccessExpression 2105895 2105904 - Identifier 2105895 2105899 - Identifier 2105900 2105904 - EqualsEqualsEqualsToken 2105904 2105908 - PropertyAccessExpression 2105908 2105933 - Identifier 2105908 2105919 - Identifier 2105920 2105933 - AmpersandAmpersandToken 2105933 2105936 - ParenthesizedExpression 2105936 2106064 - ConditionalExpression 2105938 2106063 - Identifier 2105938 2105951 - QuestionToken 2105951 2105953 - CallExpression 2105953 2106004 - Identifier 2105953 2105969 - PropertyAccessExpression 2105970 2106003 - ParenthesizedExpression 2105970 2105992 - AsExpression 2105971 2105991 - Identifier 2105971 2105974 - TypeReference 2105977 2105991 - Identifier 2105977 2105991 - Identifier 2105993 2106003 - ColonToken 2106004 2106006 - CallExpression 2106006 2106063 - Identifier 2106006 2106028 - PropertyAccessExpression 2106029 2106062 - ParenthesizedExpression 2106029 2106051 - AsExpression 2106030 2106050 - Identifier 2106030 2106033 - TypeReference 2106036 2106050 - Identifier 2106036 2106050 - Identifier 2106052 2106062 - IfStatement 2106065 2106679 - BinaryExpression 2106087 2106124 - Identifier 2106087 2106097 - AmpersandAmpersandToken 2106097 2106100 - CallExpression 2106100 2106124 - Identifier 2106100 2106112 - Identifier 2106113 2106123 - Block 2106125 2106590 - ExpressionStatement 2106127 2106571 - CallExpression 2106127 2106570 - Identifier 2106127 2106156 - CallExpression 2106157 2106184 - Identifier 2106157 2106172 - Identifier 2106173 2106183 - ArrowFunction 2106185 2106569 - Parameter 2106187 2106188 - Identifier 2106187 2106188 - Parameter 2106189 2106191 - Identifier 2106189 2106191 - EqualsGreaterThanToken 2106192 2106195 - Block 2106195 2106569 - VariableStatement 2106197 2106271 - VariableDeclarationList 2106197 2106270 - VariableDeclaration 2106228 2106270 - Identifier 2106228 2106234 - ElementAccessExpression 2106236 2106270 - PropertyAccessExpression 2106236 2106267 - PropertyAccessExpression 2106236 2106254 - Identifier 2106236 2106247 - Identifier 2106248 2106254 - Identifier 2106255 2106267 - Identifier 2106268 2106269 - VariableStatement 2106271 2106487 - VariableDeclarationList 2106271 2106486 - VariableDeclaration 2106302 2106486 - Identifier 2106302 2106315 - CallExpression 2106317 2106486 - Identifier 2106317 2106343 - Identifier 2106344 2106347 - ConditionalExpression 2106348 2106399 - BinaryExpression 2106348 2106374 - Identifier 2106348 2106354 - AmpersandToken 2106354 2106356 - PropertyAccessExpression 2106356 2106374 - Identifier 2106356 2106369 - Identifier 2106370 2106374 - QuestionToken 2106374 2106376 - CallExpression 2106376 2106395 - Identifier 2106376 2106392 - Identifier 2106393 2106394 - ColonToken 2106395 2106397 - Identifier 2106397 2106399 - PrefixUnaryExpression 2106400 2106434 - PrefixUnaryExpression 2106402 2106434 - ParenthesizedExpression 2106403 2106434 - BinaryExpression 2106404 2106433 - Identifier 2106404 2106409 - AmpersandToken 2106409 2106411 - PropertyAccessExpression 2106411 2106433 - Identifier 2106411 2106424 - Identifier 2106425 2106433 - ElementAccessExpression 2106435 2106485 - PropertyAccessExpression 2106435 2106480 - PropertyAccessExpression 2106435 2106453 - Identifier 2106435 2106446 - Identifier 2106447 2106453 - Identifier 2106454 2106480 - QuestionDotToken 2106480 2106482 - Identifier 2106483 2106484 - ExpressionStatement 2106487 2106546 - CallExpression 2106487 2106545 - PropertyAccessExpression 2106487 2106531 - Identifier 2106487 2106526 - Identifier 2106527 2106531 - Identifier 2106532 2106544 - Block 2106612 2106679 - ExpressionStatement 2106614 2106660 - CallExpression 2106614 2106659 - PropertyAccessExpression 2106614 2106654 - Identifier 2106614 2106649 - Identifier 2106650 2106654 - Identifier 2106655 2106658 - ReturnStatement 2106694 2106729 - Identifier 2106714 2106728 - ReturnStatement 2106740 2106762 - Identifier 2106756 2106761 - FunctionDeclaration 2106769 2107384 - Identifier 2106875 2106906 - Parameter 2106907 2106922 - Identifier 2106907 2106911 - TypeReference 2106912 2106922 - Identifier 2106912 2106922 - TypeOperator 2106924 2106946 - ArrayType 2106933 2106946 - TypeReference 2106933 2106944 - Identifier 2106933 2106944 - Block 2106946 2107384 - VariableStatement 2106948 2106987 - VariableDeclarationList 2106948 2106986 - VariableDeclaration 2106963 2106986 - Identifier 2106963 2106968 - PropertyAccessExpression 2106970 2106986 - Identifier 2106970 2106975 - Identifier 2106976 2106986 - VariableStatement 2106987 2107047 - VariableDeclarationList 2106987 2107046 - VariableDeclaration 2107002 2107046 - Identifier 2107002 2107012 - CallExpression 2107014 2107046 - Identifier 2107014 2107040 - Identifier 2107041 2107045 - IfStatement 2107047 2107347 - Identifier 2107061 2107070 - Block 2107071 2107347 - VariableStatement 2107073 2107117 - VariableDeclarationList 2107073 2107116 - VariableDeclaration 2107092 2107116 - Identifier 2107092 2107097 - ArrayType 2107098 2107111 - TypeReference 2107098 2107109 - Identifier 2107098 2107109 - ArrayLiteralExpression 2107113 2107116 - ForOfStatement 2107117 2107310 - VariableDeclarationList 2107136 2107147 - VariableDeclaration 2107141 2107147 - Identifier 2107141 2107147 - PropertyAccessExpression 2107150 2107171 - Identifier 2107150 2107160 - Identifier 2107161 2107171 - Block 2107172 2107310 - VariableStatement 2107174 2107228 - VariableDeclarationList 2107174 2107227 - VariableDeclaration 2107197 2107227 - Identifier 2107197 2107202 - CallExpression 2107204 2107227 - Identifier 2107204 2107220 - Identifier 2107221 2107226 - ExpressionStatement 2107228 2107295 - CallExpression 2107228 2107294 - PropertyAccessExpression 2107228 2107255 - Identifier 2107228 2107250 - Identifier 2107251 2107255 - CallExpression 2107256 2107293 - Identifier 2107256 2107281 - Identifier 2107282 2107286 - Identifier 2107287 2107292 - ReturnStatement 2107310 2107336 - Identifier 2107330 2107335 - ReturnStatement 2107347 2107377 - CallExpression 2107363 2107376 - PropertyAccessExpression 2107363 2107374 - Identifier 2107363 2107369 - Identifier 2107370 2107374 - FunctionDeclaration 2107384 2107897 - Identifier 2107513 2107539 - Parameter 2107540 2107555 - Identifier 2107540 2107544 - TypeReference 2107545 2107555 - Identifier 2107545 2107555 - Parameter 2107556 2107577 - Identifier 2107556 2107566 - TypeReference 2107567 2107577 - Identifier 2107567 2107577 - Block 2107578 2107897 - ReturnStatement 2107580 2107890 - ConditionalExpression 2107596 2107889 - PropertyAccessExpression 2107596 2107635 - Identifier 2107596 2107612 - Identifier 2107613 2107635 - QuestionToken 2107635 2107637 - CallExpression 2107637 2107699 - Identifier 2107637 2107682 - Identifier 2107683 2107687 - Identifier 2107688 2107698 - ColonToken 2107699 2107701 - CallExpression 2107701 2107889 - PropertyAccessExpression 2107701 2107843 - Identifier 2107701 2107839 - Identifier 2107840 2107843 - CallExpression 2107844 2107885 - PropertyAccessExpression 2107844 2107852 - Identifier 2107844 2107848 - Identifier 2107849 2107852 - CallExpression 2107853 2107881 - Identifier 2107853 2107870 - Identifier 2107871 2107880 - NumericLiteral 2107882 2107884 - NumericLiteral 2107886 2107888 - FunctionDeclaration 2107897 2108804 - Identifier 2108026 2108058 - Parameter 2108059 2108074 - Identifier 2108059 2108063 - TypeReference 2108064 2108074 - Identifier 2108064 2108074 - Parameter 2108075 2108096 - Identifier 2108075 2108085 - TypeReference 2108086 2108096 - Identifier 2108086 2108096 - Block 2108097 2108804 - SwitchStatement 2108099 2108797 - PropertyAccessExpression 2108117 2108133 - PropertyAccessExpression 2108117 2108128 - Identifier 2108117 2108121 - Identifier 2108122 2108128 - Identifier 2108129 2108133 - CaseBlock 2108134 2108797 - CaseClause 2108136 2108183 - PropertyAccessExpression 2108154 2108182 - Identifier 2108154 2108165 - Identifier 2108166 2108182 - CaseClause 2108183 2108256 - PropertyAccessExpression 2108201 2108228 - Identifier 2108201 2108212 - Identifier 2108213 2108228 - ReturnStatement 2108229 2108256 - NumericLiteral 2108253 2108255 - CaseClause 2108256 2108372 - PropertyAccessExpression 2108274 2108305 - Identifier 2108274 2108285 - Identifier 2108286 2108305 - ReturnStatement 2108306 2108372 - ConditionalExpression 2108330 2108371 - CallExpression 2108330 2108363 - Identifier 2108330 2108350 - PropertyAccessExpression 2108351 2108362 - Identifier 2108351 2108355 - Identifier 2108356 2108362 - QuestionToken 2108363 2108365 - NumericLiteral 2108365 2108367 - ColonToken 2108367 2108369 - NumericLiteral 2108369 2108371 - CaseClause 2108372 2108420 - PropertyAccessExpression 2108390 2108419 - Identifier 2108390 2108401 - Identifier 2108402 2108419 - CaseClause 2108420 2108462 - PropertyAccessExpression 2108438 2108461 - Identifier 2108438 2108449 - Identifier 2108450 2108461 - CaseClause 2108462 2108659 - PropertyAccessExpression 2108480 2108503 - Identifier 2108480 2108491 - Identifier 2108492 2108503 - ReturnStatement 2108504 2108659 - ConditionalExpression 2108617 2108658 - BinaryExpression 2108617 2108650 - PropertyAccessExpression 2108617 2108645 - PropertyAccessExpression 2108617 2108638 - Identifier 2108617 2108627 - Identifier 2108628 2108638 - Identifier 2108639 2108645 - LessThanEqualsToken 2108645 2108648 - NumericLiteral 2108648 2108650 - QuestionToken 2108650 2108652 - NumericLiteral 2108652 2108654 - ColonToken 2108654 2108656 - NumericLiteral 2108656 2108658 - CaseClause 2108659 2108726 - PropertyAccessExpression 2108677 2108698 - Identifier 2108677 2108688 - Identifier 2108689 2108698 - ReturnStatement 2108699 2108726 - NumericLiteral 2108723 2108725 - DefaultClause 2108726 2108786 - ReturnStatement 2108748 2108786 - CallExpression 2108772 2108785 - PropertyAccessExpression 2108772 2108783 - Identifier 2108772 2108778 - Identifier 2108779 2108783 - FunctionDeclaration 2108804 2109136 - Identifier 2108820 2108849 - Parameter 2108850 2108870 - Identifier 2108850 2108854 - TypeReference 2108855 2108870 - Identifier 2108855 2108870 - Block 2108871 2109136 - VariableStatement 2108873 2108928 - VariableDeclarationList 2108873 2108927 - VariableDeclaration 2108888 2108927 - Identifier 2108888 2108899 - CallExpression 2108901 2108927 - Identifier 2108901 2108921 - Identifier 2108922 2108926 - VariableStatement 2108928 2109082 - VariableDeclarationList 2108928 2109081 - VariableDeclaration 2108943 2109081 - ObjectBindingPattern 2108943 2108961 - BindingElement 2108945 2108951 - Identifier 2108945 2108951 - BindingElement 2108952 2108959 - Identifier 2108952 2108959 - CallExpression 2108963 2109081 - Identifier 2108963 2108983 - Identifier 2108984 2108994 - ConditionalExpression 2108995 2109080 - CallExpression 2108995 2109039 - Identifier 2108995 2109022 - PropertyAccessExpression 2109023 2109038 - Identifier 2109023 2109027 - Identifier 2109028 2109038 - QuestionToken 2109039 2109041 - PropertyAccessExpression 2109041 2109062 - PropertyAccessExpression 2109041 2109057 - Identifier 2109041 2109046 - Identifier 2109047 2109057 - Identifier 2109058 2109062 - ColonToken 2109062 2109064 - PropertyAccessExpression 2109064 2109080 - Identifier 2109064 2109069 - Identifier 2109070 2109080 - ReturnStatement 2109082 2109129 - ObjectLiteralExpression 2109098 2109128 - ShorthandPropertyAssignment 2109100 2109106 - Identifier 2109100 2109106 - ShorthandPropertyAssignment 2109107 2109114 - Identifier 2109107 2109114 - ShorthandPropertyAssignment 2109115 2109126 - Identifier 2109115 2109126 - FunctionDeclaration 2109136 2110032 - Identifier 2109152 2109177 - Parameter 2109178 2109202 - Identifier 2109178 2109182 - TypeReference 2109183 2109202 - Identifier 2109183 2109202 - Parameter 2109203 2109255 - Identifier 2109203 2109211 - UnionType 2109212 2109255 - TypeReference 2109212 2109230 - Identifier 2109212 2109230 - TypeReference 2109232 2109255 - Identifier 2109232 2109255 - Parameter 2109256 2109285 - DotDotDotToken 2109256 2109260 - Identifier 2109260 2109264 - TypeReference 2109265 2109285 - Identifier 2109265 2109285 - TypeReference 2109287 2109310 - Identifier 2109287 2109310 - Block 2109310 2110032 - IfStatement 2109312 2110025 - CallExpression 2109326 2109348 - Identifier 2109326 2109342 - Identifier 2109343 2109347 - Block 2109349 2109722 - VariableStatement 2109351 2109438 - VariableDeclarationList 2109351 2109437 - VariableDeclaration 2109370 2109437 - ObjectBindingPattern 2109370 2109400 - BindingElement 2109372 2109383 - Identifier 2109372 2109383 - BindingElement 2109384 2109390 - Identifier 2109384 2109390 - BindingElement 2109391 2109398 - Identifier 2109391 2109398 - CallExpression 2109402 2109437 - Identifier 2109402 2109431 - Identifier 2109432 2109436 - IfStatement 2109438 2109629 - BinaryExpression 2109456 2109476 - StringLiteral 2109456 2109465 - InKeyword 2109465 2109468 - Identifier 2109468 2109476 - Block 2109477 2109629 - ReturnStatement 2109479 2109614 - CallExpression 2109547 2109613 - Identifier 2109547 2109568 - Identifier 2109569 2109579 - Identifier 2109580 2109586 - Identifier 2109587 2109594 - Identifier 2109595 2109603 - SpreadElement 2109604 2109612 - Identifier 2109608 2109612 - ReturnStatement 2109629 2109711 - CallExpression 2109649 2109710 - Identifier 2109649 2109689 - Identifier 2109690 2109700 - Identifier 2109701 2109709 - Block 2109736 2110025 - IfStatement 2109738 2109911 - BinaryExpression 2109756 2109776 - StringLiteral 2109756 2109765 - InKeyword 2109765 2109768 - Identifier 2109768 2109776 - Block 2109777 2109911 - ReturnStatement 2109779 2109896 - CallExpression 2109847 2109895 - Identifier 2109847 2109871 - Identifier 2109872 2109876 - Identifier 2109877 2109885 - SpreadElement 2109886 2109894 - Identifier 2109890 2109894 - ReturnStatement 2109911 2110014 - CallExpression 2109931 2110013 - Identifier 2109931 2109971 - CallExpression 2109972 2109997 - Identifier 2109972 2109991 - Identifier 2109992 2109996 - Identifier 2109998 2110003 - Identifier 2110004 2110012 - FunctionDeclaration 2110032 2110580 - Identifier 2110048 2110072 - Parameter 2110073 2110101 - Identifier 2110073 2110081 - TypeReference 2110082 2110101 - Identifier 2110082 2110101 - TypeReference 2110103 2110108 - Identifier 2110103 2110108 - Block 2110108 2110580 - IfStatement 2110110 2110287 - CallExpression 2110124 2110155 - Identifier 2110124 2110145 - Identifier 2110146 2110154 - Block 2110156 2110287 - ReturnStatement 2110158 2110276 - ConditionalExpression 2110178 2110275 - CallExpression 2110178 2110226 - Identifier 2110178 2110205 - PropertyAccessExpression 2110206 2110225 - Identifier 2110206 2110214 - Identifier 2110215 2110225 - QuestionToken 2110226 2110228 - PropertyAccessExpression 2110228 2110253 - PropertyAccessExpression 2110228 2110248 - Identifier 2110228 2110237 - Identifier 2110238 2110248 - Identifier 2110249 2110253 - ColonToken 2110253 2110255 - PropertyAccessExpression 2110255 2110275 - Identifier 2110255 2110264 - Identifier 2110265 2110275 - IfStatement 2110287 2110448 - CallExpression 2110301 2110337 - Identifier 2110301 2110327 - Identifier 2110328 2110336 - Block 2110338 2110448 - ReturnStatement 2110340 2110437 - ConditionalExpression 2110360 2110436 - CallExpression 2110360 2110401 - Identifier 2110360 2110387 - PropertyAccessExpression 2110388 2110400 - Identifier 2110388 2110396 - Identifier 2110397 2110400 - QuestionToken 2110401 2110403 - PropertyAccessExpression 2110403 2110421 - PropertyAccessExpression 2110403 2110416 - Identifier 2110403 2110412 - Identifier 2110413 2110416 - Identifier 2110417 2110421 - ColonToken 2110421 2110423 - PropertyAccessExpression 2110423 2110436 - Identifier 2110423 2110432 - Identifier 2110433 2110436 - IfStatement 2110448 2110547 - CallExpression 2110462 2110495 - Identifier 2110462 2110485 - Identifier 2110486 2110494 - Block 2110496 2110547 - ReturnStatement 2110498 2110536 - PropertyAccessExpression 2110518 2110535 - Identifier 2110518 2110527 - Identifier 2110528 2110535 - ReturnStatement 2110547 2110573 - Identifier 2110563 2110572 - FunctionDeclaration 2110580 2111489 - Identifier 2110596 2110623 - Parameter 2110624 2110648 - Identifier 2110624 2110628 - TypeReference 2110629 2110648 - Identifier 2110629 2110648 - Block 2110649 2111489 - IfStatement 2110651 2110737 - BinaryExpression 2110665 2110722 - PrefixUnaryExpression 2110665 2110688 - CallExpression 2110666 2110688 - Identifier 2110666 2110682 - Identifier 2110683 2110687 - BarBarToken 2110688 2110691 - PrefixUnaryExpression 2110691 2110722 - CallExpression 2110693 2110722 - Identifier 2110693 2110705 - PropertyAccessExpression 2110706 2110721 - Identifier 2110706 2110710 - Identifier 2110711 2110721 - ReturnStatement 2110723 2110737 - FalseKeyword 2110730 2110736 - VariableStatement 2110737 2110893 - VariableDeclarationList 2110737 2110892 - VariableDeclaration 2110754 2110892 - Identifier 2110754 2110761 - CallExpression 2110763 2110892 - Identifier 2110763 2110775 - PropertyAccessExpression 2110776 2110791 - Identifier 2110776 2110780 - Identifier 2110781 2110791 - PropertyAccessExpression 2110792 2110820 - PropertyAccessExpression 2110792 2110808 - Identifier 2110792 2110797 - Identifier 2110798 2110808 - Identifier 2110809 2110820 - PropertyAccessExpression 2110821 2110839 - Identifier 2110821 2110833 - Identifier 2110834 2110839 - Identifier 2110840 2110874 - FalseKeyword 2110875 2110891 - VariableStatement 2110893 2110941 - VariableDeclarationList 2110893 2110940 - VariableDeclaration 2110908 2110940 - Identifier 2110908 2110913 - PropertyAccessExpression 2110915 2110940 - Identifier 2110915 2110922 - QuestionDotToken 2110922 2110924 - Identifier 2110924 2110940 - IfStatement 2110941 2111164 - BinaryExpression 2110955 2111123 - BinaryExpression 2110955 2111075 - BinaryExpression 2110955 2111035 - BinaryExpression 2110955 2110982 - PrefixUnaryExpression 2110955 2110960 - Identifier 2110956 2110960 - BarBarToken 2110960 2110963 - PrefixUnaryExpression 2110963 2110982 - CallExpression 2110965 2110982 - Identifier 2110965 2110976 - Identifier 2110977 2110981 - BarBarToken 2110982 2110985 - PrefixUnaryExpression 2110985 2111035 - CallExpression 2110987 2111035 - Identifier 2110987 2111022 - PropertyAccessExpression 2111023 2111034 - Identifier 2111023 2111027 - Identifier 2111028 2111034 - BarBarToken 2111035 2111038 - PrefixUnaryExpression 2111038 2111075 - CallExpression 2111040 2111075 - Identifier 2111040 2111055 - PropertyAccessExpression 2111056 2111074 - PropertyAccessExpression 2111056 2111067 - Identifier 2111056 2111060 - Identifier 2111061 2111067 - Identifier 2111068 2111074 - BarBarToken 2111075 2111078 - PrefixUnaryExpression 2111078 2111123 - CallExpression 2111080 2111123 - Identifier 2111080 2111092 - PropertyAccessExpression 2111093 2111122 - PropertyAccessExpression 2111093 2111111 - PropertyAccessExpression 2111093 2111104 - Identifier 2111093 2111097 - Identifier 2111098 2111104 - Identifier 2111105 2111111 - Identifier 2111112 2111122 - Block 2111124 2111164 - ReturnStatement 2111126 2111153 - FalseKeyword 2111146 2111152 - VariableStatement 2111164 2111262 - VariableDeclarationList 2111164 2111261 - VariableDeclaration 2111181 2111261 - Identifier 2111181 2111201 - CallExpression 2111203 2111261 - Identifier 2111203 2111237 - FalseKeyword 2111238 2111260 - IfStatement 2111262 2111311 - PrefixUnaryExpression 2111276 2111296 - Identifier 2111277 2111296 - ReturnStatement 2111297 2111311 - FalseKeyword 2111304 2111310 - VariableStatement 2111311 2111423 - VariableDeclarationList 2111311 2111422 - VariableDeclaration 2111328 2111422 - Identifier 2111328 2111346 - CallExpression 2111348 2111422 - Identifier 2111348 2111368 - PropertyAccessExpression 2111369 2111398 - PropertyAccessExpression 2111369 2111387 - PropertyAccessExpression 2111369 2111380 - Identifier 2111369 2111373 - Identifier 2111374 2111380 - Identifier 2111381 2111387 - Identifier 2111388 2111398 - TrueKeyword 2111399 2111421 - ReturnStatement 2111423 2111482 - BinaryExpression 2111439 2111481 - Identifier 2111439 2111457 - EqualsEqualsEqualsToken 2111457 2111461 - Identifier 2111461 2111481 - FunctionDeclaration 2111489 2117274 - Identifier 2111505 2111527 - Parameter 2111528 2111552 - Identifier 2111528 2111532 - TypeReference 2111533 2111552 - Identifier 2111533 2111552 - Parameter 2111553 2111586 - Identifier 2111553 2111564 - TypeOperator 2111565 2111586 - ArrayType 2111574 2111586 - TypeReference 2111574 2111584 - Identifier 2111574 2111584 - Parameter 2111587 2111615 - Identifier 2111587 2111592 - TypeOperator 2111593 2111615 - ArrayType 2111602 2111615 - TypeReference 2111602 2111613 - Identifier 2111602 2111613 - Parameter 2111616 2111648 - Identifier 2111616 2111628 - QuestionToken 2111628 2111629 - TypeReference 2111630 2111648 - Identifier 2111630 2111648 - Block 2111649 2117274 - VariableStatement 2111651 2111710 - VariableDeclarationList 2111651 2111709 - VariableDeclaration 2111666 2111709 - Identifier 2111666 2111678 - CallExpression 2111680 2111709 - Identifier 2111680 2111703 - Identifier 2111704 2111708 - IfStatement 2111710 2111912 - BinaryExpression 2111724 2111740 - Identifier 2111724 2111735 - GreaterThanToken 2111735 2111737 - PrefixUnaryExpression 2111737 2111740 - NumericLiteral 2111739 2111740 - Block 2111741 2111912 - ReturnStatement 2111743 2111901 - CallExpression 2111763 2111900 - Identifier 2111763 2111787 - ElementAccessExpression 2111788 2111805 - Identifier 2111788 2111792 - Identifier 2111793 2111804 - PropertyAccessExpression 2111806 2111899 - Identifier 2111806 2111818 - Identifier 2111819 2111899 - VariableStatement 2111912 2111957 - VariableDeclarationList 2111912 2111956 - VariableDeclaration 2111925 2111956 - Identifier 2111925 2111929 - PropertyAccessExpression 2111931 2111956 - Identifier 2111931 2111938 - Identifier 2111939 2111956 - VariableStatement 2111957 2112030 - VariableDeclarationList 2111957 2112029 - VariableDeclaration 2111998 2112029 - Identifier 2111998 2112002 - PropertyAccessExpression 2112004 2112029 - Identifier 2112004 2112011 - Identifier 2112012 2112029 - VariableStatement 2112030 2112107 - VariableDeclarationList 2112030 2112106 - VariableDeclaration 2112070 2112106 - Identifier 2112070 2112079 - PropertyAccessExpression 2112081 2112106 - Identifier 2112081 2112088 - Identifier 2112089 2112106 - VariableStatement 2112107 2112229 - VariableDeclarationList 2112107 2112228 - VariableDeclaration 2112192 2112228 - Identifier 2112192 2112201 - PropertyAccessExpression 2112203 2112228 - Identifier 2112203 2112210 - Identifier 2112211 2112228 - VariableStatement 2112229 2112357 - VariableDeclarationList 2112229 2112356 - VariableDeclaration 2112316 2112356 - Identifier 2112316 2112333 - UnionType 2112334 2112356 - TypeReference 2112334 2112344 - Identifier 2112334 2112344 - UndefinedKeyword 2112346 2112356 - ForOfStatement 2112357 2113063 - VariableDeclarationList 2112372 2112381 - VariableDeclaration 2112377 2112381 - Identifier 2112377 2112381 - Identifier 2112384 2112395 - Block 2112396 2113063 - VariableStatement 2112398 2112458 - VariableDeclarationList 2112398 2112457 - VariableDeclaration 2112417 2112457 - Identifier 2112417 2112430 - CallExpression 2112432 2112457 - Identifier 2112432 2112452 - Identifier 2112453 2112456 - VariableStatement 2112458 2112516 - VariableDeclarationList 2112458 2112515 - VariableDeclaration 2112477 2112515 - Identifier 2112477 2112490 - CallExpression 2112492 2112515 - Identifier 2112492 2112510 - Identifier 2112511 2112514 - IfStatement 2112516 2112698 - BinaryExpression 2112584 2112602 - Identifier 2112584 2112596 - LessThanToken 2112596 2112598 - Identifier 2112598 2112602 - Block 2112603 2112698 - ExpressionStatement 2112605 2112642 - BinaryExpression 2112605 2112641 - Identifier 2112605 2112626 - EqualsToken 2112626 2112628 - Identifier 2112628 2112641 - ExpressionStatement 2112642 2112683 - BinaryExpression 2112642 2112682 - Identifier 2112642 2112676 - EqualsToken 2112676 2112678 - Identifier 2112678 2112682 - ExpressionStatement 2112698 2112746 - BinaryExpression 2112698 2112745 - Identifier 2112698 2112715 - EqualsToken 2112715 2112717 - CallExpression 2112717 2112745 - PropertyAccessExpression 2112717 2112726 - Identifier 2112717 2112722 - Identifier 2112723 2112726 - Identifier 2112727 2112730 - Identifier 2112731 2112744 - IfStatement 2112746 2112955 - BinaryExpression 2112876 2112929 - BinaryExpression 2112876 2112902 - Identifier 2112876 2112888 - LessThanToken 2112888 2112890 - PropertyAccessExpression 2112890 2112902 - Identifier 2112890 2112895 - Identifier 2112896 2112902 - AmpersandAmpersandToken 2112902 2112905 - BinaryExpression 2112905 2112929 - Identifier 2112905 2112918 - GreaterThanToken 2112918 2112920 - Identifier 2112920 2112929 - ExpressionStatement 2112930 2112955 - BinaryExpression 2112930 2112954 - Identifier 2112930 2112939 - EqualsToken 2112939 2112941 - Identifier 2112941 2112954 - IfStatement 2112955 2113052 - BinaryExpression 2112973 2113026 - BinaryExpression 2112973 2112999 - PropertyAccessExpression 2112973 2112984 - Identifier 2112973 2112977 - Identifier 2112978 2112984 - LessThanToken 2112984 2112986 - Identifier 2112986 2112999 - AmpersandAmpersandToken 2112999 2113002 - BinaryExpression 2113002 2113026 - Identifier 2113002 2113015 - LessThanToken 2113015 2113017 - Identifier 2113017 2113026 - ExpressionStatement 2113027 2113052 - BinaryExpression 2113027 2113051 - Identifier 2113027 2113036 - EqualsToken 2113036 2113038 - Identifier 2113038 2113051 - VariableStatement 2113063 2113142 - VariableDeclarationList 2113063 2113141 - VariableDeclaration 2113078 2113141 - Identifier 2113078 2113095 - CallExpression 2113097 2113141 - Identifier 2113097 2113102 - Identifier 2113103 2113113 - Identifier 2113114 2113140 - VariableStatement 2113142 2113260 - VariableDeclarationList 2113142 2113259 - VariableDeclaration 2113157 2113259 - Identifier 2113157 2113172 - ConditionalExpression 2113174 2113259 - Identifier 2113174 2113191 - QuestionToken 2113191 2113193 - Identifier 2113193 2113197 - ColonToken 2113197 2113212 - ConditionalExpression 2113212 2113259 - BinaryExpression 2113212 2113222 - Identifier 2113212 2113216 - LessThanToken 2113216 2113218 - Identifier 2113218 2113222 - QuestionToken 2113222 2113224 - BinaryExpression 2113224 2113240 - BinaryExpression 2113224 2113234 - Identifier 2113224 2113228 - PlusToken 2113228 2113230 - StringLiteral 2113230 2113234 - PlusToken 2113234 2113236 - Identifier 2113236 2113240 - ColonToken 2113240 2113255 - Identifier 2113255 2113259 - VariableStatement 2113260 2113396 - VariableDeclarationList 2113260 2113395 - VariableDeclaration 2113275 2113395 - Identifier 2113275 2113294 - BinaryExpression 2113296 2113395 - BinaryExpression 2113296 2113359 - BinaryExpression 2113296 2113338 - PrefixUnaryExpression 2113296 2113314 - Identifier 2113298 2113314 - AmpersandAmpersandToken 2113314 2113317 - BinaryExpression 2113317 2113338 - Identifier 2113317 2113332 - EqualsEqualsEqualsToken 2113332 2113336 - NumericLiteral 2113336 2113338 - AmpersandAmpersandToken 2113338 2113341 - BinaryExpression 2113341 2113359 - PropertyAccessExpression 2113341 2113353 - Identifier 2113341 2113346 - Identifier 2113347 2113353 - EqualsEqualsEqualsToken 2113353 2113357 - NumericLiteral 2113357 2113359 - AmpersandAmpersandToken 2113359 2113362 - CallExpression 2113362 2113395 - Identifier 2113362 2113389 - Identifier 2113390 2113394 - IfStatement 2113396 2113646 - BinaryExpression 2113410 2113448 - Identifier 2113410 2113428 - AmpersandAmpersandToken 2113428 2113431 - CallExpression 2113431 2113448 - Identifier 2113431 2113442 - Identifier 2113443 2113447 - Block 2113449 2113646 - ReturnStatement 2113451 2113635 - CallExpression 2113471 2113634 - Identifier 2113471 2113496 - Identifier 2113497 2113501 - PropertyAccessExpression 2113502 2113633 - Identifier 2113502 2113514 - Identifier 2113515 2113633 - VariableStatement 2113646 2114227 - VariableDeclarationList 2113646 2114226 - VariableDeclaration 2113661 2114226 - Identifier 2113661 2113667 - ConditionalExpression 2113669 2114226 - CallExpression 2113669 2113687 - Identifier 2113669 2113681 - Identifier 2113682 2113686 - QuestionToken 2113687 2113689 - ConditionalExpression 2113689 2113939 - Identifier 2113689 2113719 - QuestionToken 2113719 2113721 - PropertyAccessExpression 2113721 2113825 - Identifier 2113721 2113733 - Identifier 2113734 2113825 - ColonToken 2113825 2113827 - PropertyAccessExpression 2113827 2113939 - Identifier 2113827 2113856 - Identifier 2113857 2113939 - ColonToken 2113939 2113941 - ConditionalExpression 2113941 2114226 - Identifier 2113941 2113971 - QuestionToken 2113971 2113973 - PropertyAccessExpression 2113973 2114025 - Identifier 2113973 2113985 - Identifier 2113986 2114025 - ColonToken 2114025 2114027 - ConditionalExpression 2114027 2114226 - Identifier 2114027 2114059 - QuestionToken 2114059 2114061 - PropertyAccessExpression 2114061 2114168 - Identifier 2114061 2114073 - Identifier 2114074 2114168 - ColonToken 2114168 2114170 - PropertyAccessExpression 2114170 2114226 - Identifier 2114170 2114195 - Identifier 2114196 2114226 - IfStatement 2114227 2117267 - BinaryExpression 2114243 2114281 - BinaryExpression 2114243 2114260 - Identifier 2114243 2114246 - LessThanToken 2114246 2114248 - PropertyAccessExpression 2114248 2114260 - Identifier 2114248 2114253 - Identifier 2114254 2114260 - AmpersandAmpersandToken 2114260 2114263 - BinaryExpression 2114263 2114281 - PropertyAccessExpression 2114263 2114275 - Identifier 2114263 2114268 - Identifier 2114269 2114275 - LessThanToken 2114275 2114277 - Identifier 2114277 2114281 - Block 2114282 2114945 - IfStatement 2114284 2114745 - Identifier 2114369 2114380 - Block 2114381 2114745 - VariableStatement 2114383 2114597 - VariableDeclarationList 2114383 2114596 - VariableDeclaration 2114404 2114596 - Identifier 2114404 2114410 - CallExpression 2114412 2114596 - Identifier 2114412 2114436 - Identifier 2114437 2114458 - PropertyAccessExpression 2114459 2114562 - Identifier 2114459 2114471 - Identifier 2114472 2114562 - PropertyAccessExpression 2114563 2114575 - Identifier 2114563 2114568 - Identifier 2114569 2114575 - Identifier 2114576 2114585 - Identifier 2114586 2114595 - ExpressionStatement 2114597 2114667 - BinaryExpression 2114597 2114666 - Identifier 2114597 2114620 - EqualsToken 2114620 2114622 - CallExpression 2114622 2114666 - Identifier 2114622 2114646 - Identifier 2114647 2114652 - Identifier 2114653 2114665 - ReturnStatement 2114667 2114730 - CallExpression 2114691 2114729 - Identifier 2114691 2114716 - Identifier 2114717 2114721 - Identifier 2114722 2114728 - ReturnStatement 2114745 2114934 - CallExpression 2114765 2114933 - Identifier 2114765 2114790 - Identifier 2114791 2114795 - PropertyAccessExpression 2114796 2114899 - Identifier 2114796 2114808 - Identifier 2114809 2114899 - PropertyAccessExpression 2114900 2114912 - Identifier 2114900 2114905 - Identifier 2114906 2114912 - Identifier 2114913 2114922 - Identifier 2114923 2114932 - IfStatement 2114959 2117267 - BinaryExpression 2114964 2114981 - PropertyAccessExpression 2114964 2114975 - Identifier 2114964 2114968 - Identifier 2114969 2114975 - LessThanToken 2114975 2114977 - Identifier 2114977 2114981 - Block 2114982 2116420 - VariableStatement 2114984 2115115 - VariableDeclarationList 2114984 2115114 - VariableDeclaration 2115091 2115114 - Identifier 2115091 2115102 - TypeReference 2115103 2115114 - Identifier 2115103 2115114 - IfStatement 2115115 2115547 - Identifier 2115133 2115144 - Block 2115145 2115414 - VariableStatement 2115147 2115260 - VariableDeclarationList 2115147 2115259 - VariableDeclaration 2115168 2115259 - Identifier 2115168 2115174 - CallExpression 2115176 2115259 - Identifier 2115176 2115200 - Identifier 2115201 2115222 - Identifier 2115223 2115229 - Identifier 2115230 2115245 - PropertyAccessExpression 2115246 2115258 - Identifier 2115246 2115251 - Identifier 2115252 2115258 - ExpressionStatement 2115260 2115330 - BinaryExpression 2115260 2115329 - Identifier 2115260 2115283 - EqualsToken 2115283 2115285 - CallExpression 2115285 2115329 - Identifier 2115285 2115309 - Identifier 2115310 2115315 - Identifier 2115316 2115328 - ExpressionStatement 2115330 2115399 - BinaryExpression 2115330 2115398 - Identifier 2115330 2115358 - EqualsToken 2115358 2115360 - CallExpression 2115360 2115398 - Identifier 2115360 2115385 - Identifier 2115386 2115390 - Identifier 2115391 2115397 - Block 2115432 2115547 - ExpressionStatement 2115434 2115532 - BinaryExpression 2115434 2115531 - Identifier 2115434 2115462 - EqualsToken 2115462 2115464 - CallExpression 2115464 2115531 - Identifier 2115464 2115489 - Identifier 2115490 2115494 - Identifier 2115495 2115501 - Identifier 2115502 2115517 - PropertyAccessExpression 2115518 2115530 - Identifier 2115518 2115523 - Identifier 2115524 2115530 - VariableStatement 2115547 2115685 - VariableDeclarationList 2115547 2115684 - VariableDeclaration 2115566 2115684 - Identifier 2115566 2115576 - ElementAccessExpression 2115578 2115684 - PropertyAccessExpression 2115578 2115620 - PropertyAccessExpression 2115578 2115608 - Identifier 2115578 2115595 - QuestionDotToken 2115595 2115597 - Identifier 2115597 2115608 - QuestionDotToken 2115608 2115610 - Identifier 2115610 2115620 - ConditionalExpression 2115621 2115683 - PropertyAccessExpression 2115621 2115651 - Identifier 2115621 2115637 - Identifier 2115638 2115651 - QuestionToken 2115651 2115653 - BinaryExpression 2115653 2115669 - PropertyAccessExpression 2115653 2115665 - Identifier 2115653 2115658 - Identifier 2115659 2115665 - PlusToken 2115665 2115667 - NumericLiteral 2115667 2115669 - ColonToken 2115669 2115671 - PropertyAccessExpression 2115671 2115683 - Identifier 2115671 2115676 - Identifier 2115677 2115683 - IfStatement 2115685 2116377 - Identifier 2115703 2115712 - Block 2115713 2116377 - VariableStatement 2115715 2116199 - VariableDeclarationList 2115715 2116198 - VariableDeclaration 2115738 2116198 - Identifier 2115738 2115753 - TypeReference 2115754 2115777 - Identifier 2115754 2115777 - ConditionalExpression 2115779 2116198 - CallExpression 2115779 2115812 - Identifier 2115779 2115796 - PropertyAccessExpression 2115797 2115811 - Identifier 2115797 2115806 - Identifier 2115807 2115811 - QuestionToken 2115812 2115814 - ArrayLiteralExpression 2115814 2115887 - PropertyAccessExpression 2115816 2115886 - Identifier 2115816 2115827 - Identifier 2115828 2115886 - ColonToken 2115887 2115910 - ConditionalExpression 2115910 2116198 - CallExpression 2115910 2115937 - Identifier 2115910 2115926 - Identifier 2115927 2115936 - QuestionToken 2115937 2115939 - ArrayLiteralExpression 2115939 2116050 - PropertyAccessExpression 2115941 2116005 - Identifier 2115941 2115952 - Identifier 2115953 2116005 - CallExpression 2116006 2116049 - Identifier 2116006 2116013 - CallExpression 2116014 2116048 - Identifier 2116014 2116032 - PropertyAccessExpression 2116033 2116047 - Identifier 2116033 2116042 - Identifier 2116043 2116047 - ColonToken 2116050 2116073 - ArrayLiteralExpression 2116073 2116198 - PropertyAccessExpression 2116075 2116121 - Identifier 2116075 2116086 - Identifier 2116087 2116121 - ConditionalExpression 2116122 2116197 - PrefixUnaryExpression 2116122 2116138 - PropertyAccessExpression 2116124 2116138 - Identifier 2116124 2116133 - Identifier 2116134 2116138 - QuestionToken 2116138 2116140 - PropertyAccessExpression 2116140 2116152 - Identifier 2116140 2116145 - Identifier 2116146 2116152 - ColonToken 2116152 2116154 - CallExpression 2116154 2116197 - Identifier 2116154 2116161 - CallExpression 2116162 2116196 - Identifier 2116162 2116180 - PropertyAccessExpression 2116181 2116195 - Identifier 2116181 2116190 - Identifier 2116191 2116195 - VariableStatement 2116199 2116294 - VariableDeclarationList 2116199 2116293 - VariableDeclaration 2116222 2116293 - Identifier 2116222 2116237 - CallExpression 2116239 2116293 - Identifier 2116239 2116263 - Identifier 2116264 2116273 - SpreadElement 2116274 2116292 - Identifier 2116278 2116292 - ReturnStatement 2116294 2116362 - CallExpression 2116318 2116361 - Identifier 2116318 2116333 - Identifier 2116334 2116344 - Identifier 2116345 2116360 - ReturnStatement 2116377 2116409 - Identifier 2116397 2116408 - Block 2116434 2117267 - VariableStatement 2116436 2116571 - VariableDeclarationList 2116436 2116570 - VariableDeclaration 2116517 2116570 - Identifier 2116517 2116527 - CallExpression 2116529 2116570 - PropertyAccessExpression 2116529 2116553 - Identifier 2116529 2116537 - Identifier 2116538 2116553 - CallExpression 2116554 2116569 - PropertyAccessExpression 2116554 2116564 - Identifier 2116554 2116558 - Identifier 2116559 2116564 - Identifier 2116565 2116568 - VariableStatement 2116571 2116618 - VariableDeclarationList 2116571 2116617 - VariableDeclaration 2116590 2116617 - Identifier 2116590 2116594 - PropertyAccessExpression 2116596 2116617 - CallExpression 2116596 2116613 - Identifier 2116596 2116602 - Identifier 2116603 2116612 - Identifier 2116614 2116617 - VariableStatement 2116618 2116662 - VariableDeclarationList 2116618 2116661 - VariableDeclaration 2116635 2116661 - Identifier 2116635 2116639 - PropertyAccessExpression 2116641 2116661 - CallExpression 2116641 2116657 - Identifier 2116641 2116646 - Identifier 2116647 2116656 - Identifier 2116658 2116661 - IfStatement 2116662 2116733 - BinaryExpression 2116680 2116691 - Identifier 2116680 2116683 - EqualsEqualsEqualsToken 2116683 2116687 - Identifier 2116687 2116691 - Block 2116692 2116733 - ExpressionStatement 2116694 2116718 - PostfixUnaryExpression 2116694 2116717 - Identifier 2116694 2116715 - ExpressionStatement 2116733 2116787 - CallExpression 2116733 2116786 - Identifier 2116733 2116765 - Identifier 2116766 2116775 - Identifier 2116776 2116780 - Identifier 2116781 2116785 - IfStatement 2116787 2117132 - Identifier 2116805 2116816 - Block 2116817 2117132 - VariableStatement 2116819 2116932 - VariableDeclarationList 2116819 2116931 - VariableDeclaration 2116840 2116931 - Identifier 2116840 2116846 - CallExpression 2116848 2116931 - Identifier 2116848 2116872 - Identifier 2116873 2116894 - Identifier 2116895 2116901 - Identifier 2116902 2116917 - PropertyAccessExpression 2116918 2116930 - Identifier 2116918 2116923 - Identifier 2116924 2116930 - ExpressionStatement 2116932 2117002 - BinaryExpression 2116932 2117001 - Identifier 2116932 2116955 - EqualsToken 2116955 2116957 - CallExpression 2116957 2117001 - Identifier 2116957 2116981 - Identifier 2116982 2116987 - Identifier 2116988 2117000 - ReturnStatement 2117002 2117117 - CallExpression 2117026 2117116 - Identifier 2117026 2117071 - CallExpression 2117072 2117097 - Identifier 2117072 2117091 - Identifier 2117092 2117096 - Identifier 2117098 2117108 - Identifier 2117109 2117115 - ReturnStatement 2117132 2117256 - CallExpression 2117152 2117255 - Identifier 2117152 2117181 - CallExpression 2117182 2117207 - Identifier 2117182 2117201 - Identifier 2117202 2117206 - Identifier 2117208 2117218 - Identifier 2117219 2117225 - Identifier 2117226 2117241 - PropertyAccessExpression 2117242 2117254 - Identifier 2117242 2117247 - Identifier 2117248 2117254 - FunctionDeclaration 2117274 2120258 - Identifier 2117290 2117316 - Parameter 2117317 2117327 - Identifier 2117317 2117321 - TypeReference 2117322 2117327 - Identifier 2117322 2117327 - Parameter 2117328 2117361 - Identifier 2117328 2117339 - TypeOperator 2117340 2117361 - ArrayType 2117349 2117361 - TypeReference 2117349 2117359 - Identifier 2117349 2117359 - Parameter 2117362 2117397 - Identifier 2117362 2117376 - TypeReference 2117377 2117397 - Identifier 2117377 2117387 - TypeReference 2117388 2117396 - Identifier 2117388 2117396 - Parameter 2117398 2117430 - Identifier 2117398 2117410 - QuestionToken 2117410 2117411 - TypeReference 2117412 2117430 - Identifier 2117412 2117430 - Block 2117431 2120258 - VariableStatement 2117433 2117481 - VariableDeclarationList 2117433 2117480 - VariableDeclaration 2117448 2117480 - Identifier 2117448 2117457 - PropertyAccessExpression 2117459 2117480 - Identifier 2117459 2117473 - Identifier 2117474 2117480 - IfStatement 2117481 2118319 - BinaryExpression 2117526 2117549 - PropertyAccessExpression 2117526 2117543 - Identifier 2117526 2117536 - Identifier 2117537 2117543 - EqualsEqualsEqualsToken 2117543 2117547 - NumericLiteral 2117547 2117549 - Block 2117550 2118319 - VariableStatement 2117552 2117592 - VariableDeclarationList 2117552 2117591 - VariableDeclaration 2117571 2117591 - Identifier 2117571 2117575 - ElementAccessExpression 2117577 2117591 - Identifier 2117577 2117588 - NumericLiteral 2117589 2117590 - VariableStatement 2117592 2117662 - VariableDeclarationList 2117592 2117661 - VariableDeclaration 2117611 2117661 - Identifier 2117611 2117615 - CallExpression 2117617 2117661 - Identifier 2117617 2117641 - PropertyAccessExpression 2117642 2117660 - Identifier 2117642 2117645 - Identifier 2117646 2117660 - VariableStatement 2117662 2117715 - VariableDeclarationList 2117662 2117714 - VariableDeclaration 2117681 2117714 - Identifier 2117681 2117685 - CallExpression 2117687 2117714 - Identifier 2117687 2117694 - PropertyAccessExpression 2117695 2117713 - Identifier 2117695 2117698 - Identifier 2117699 2117713 - IfStatement 2117715 2118122 - Identifier 2117733 2117744 - Block 2117745 2118122 - VariableStatement 2117747 2117918 - VariableDeclarationList 2117747 2117917 - VariableDeclaration 2117768 2117917 - Identifier 2117768 2117774 - CallExpression 2117776 2117917 - Identifier 2117776 2117800 - Identifier 2117801 2117822 - PropertyAccessExpression 2117823 2117871 - Identifier 2117823 2117835 - Identifier 2117836 2117871 - ConditionalExpression 2117872 2117906 - BinaryExpression 2117872 2117882 - Identifier 2117872 2117876 - LessThanToken 2117876 2117878 - Identifier 2117878 2117882 - QuestionToken 2117882 2117884 - BinaryExpression 2117884 2117900 - BinaryExpression 2117884 2117894 - Identifier 2117884 2117888 - PlusToken 2117888 2117890 - StringLiteral 2117890 2117894 - PlusToken 2117894 2117896 - Identifier 2117896 2117900 - ColonToken 2117900 2117902 - Identifier 2117902 2117906 - Identifier 2117907 2117916 - ExpressionStatement 2117918 2117988 - BinaryExpression 2117918 2117987 - Identifier 2117918 2117941 - EqualsToken 2117941 2117943 - CallExpression 2117943 2117987 - Identifier 2117943 2117967 - Identifier 2117968 2117973 - Identifier 2117974 2117986 - ReturnStatement 2117988 2118107 - CallExpression 2118012 2118106 - Identifier 2118012 2118057 - CallExpression 2118058 2118083 - Identifier 2118058 2118077 - Identifier 2118078 2118082 - Identifier 2118084 2118098 - Identifier 2118099 2118105 - ReturnStatement 2118122 2118308 - CallExpression 2118142 2118307 - Identifier 2118142 2118171 - CallExpression 2118172 2118197 - Identifier 2118172 2118191 - Identifier 2118192 2118196 - Identifier 2118198 2118212 - PropertyAccessExpression 2118213 2118261 - Identifier 2118213 2118225 - Identifier 2118226 2118261 - ConditionalExpression 2118262 2118296 - BinaryExpression 2118262 2118272 - Identifier 2118262 2118266 - LessThanToken 2118266 2118268 - Identifier 2118268 2118272 - QuestionToken 2118272 2118274 - BinaryExpression 2118274 2118290 - BinaryExpression 2118274 2118284 - Identifier 2118274 2118278 - PlusToken 2118278 2118280 - StringLiteral 2118280 2118284 - PlusToken 2118284 2118286 - Identifier 2118286 2118290 - ColonToken 2118290 2118292 - Identifier 2118292 2118296 - Identifier 2118297 2118306 - VariableStatement 2118319 2118387 - VariableDeclarationList 2118319 2118386 - VariableDeclaration 2118360 2118386 - Identifier 2118360 2118374 - PrefixUnaryExpression 2118376 2118386 - Identifier 2118378 2118386 - VariableStatement 2118387 2118426 - VariableDeclarationList 2118387 2118425 - VariableDeclaration 2118400 2118425 - Identifier 2118400 2118414 - Identifier 2118416 2118425 - ForOfStatement 2118426 2118832 - VariableDeclarationList 2118441 2118450 - VariableDeclaration 2118446 2118450 - Identifier 2118446 2118450 - Identifier 2118453 2118464 - Block 2118465 2118832 - VariableStatement 2118467 2118537 - VariableDeclarationList 2118467 2118536 - VariableDeclaration 2118486 2118536 - Identifier 2118486 2118490 - CallExpression 2118492 2118536 - Identifier 2118492 2118516 - PropertyAccessExpression 2118517 2118535 - Identifier 2118517 2118520 - Identifier 2118521 2118535 - VariableStatement 2118537 2118590 - VariableDeclarationList 2118537 2118589 - VariableDeclaration 2118556 2118589 - Identifier 2118556 2118560 - CallExpression 2118562 2118589 - Identifier 2118562 2118569 - PropertyAccessExpression 2118570 2118588 - Identifier 2118570 2118573 - Identifier 2118574 2118588 - IfStatement 2118590 2118821 - BinaryExpression 2118608 2118622 - Identifier 2118608 2118611 - GreaterThanToken 2118611 2118613 - Identifier 2118613 2118622 - Block 2118623 2118703 - ExpressionStatement 2118625 2118688 - BinaryExpression 2118625 2118687 - Identifier 2118625 2118656 - EqualsToken 2118656 2118658 - CallExpression 2118658 2118687 - PropertyAccessExpression 2118658 2118667 - Identifier 2118658 2118663 - Identifier 2118664 2118667 - Identifier 2118668 2118681 - Identifier 2118682 2118686 - IfStatement 2118721 2118821 - BinaryExpression 2118726 2118740 - Identifier 2118726 2118729 - LessThanToken 2118729 2118731 - Identifier 2118731 2118740 - Block 2118741 2118821 - ExpressionStatement 2118743 2118806 - BinaryExpression 2118743 2118805 - Identifier 2118743 2118774 - EqualsToken 2118774 2118776 - CallExpression 2118776 2118805 - PropertyAccessExpression 2118776 2118785 - Identifier 2118776 2118781 - Identifier 2118782 2118785 - Identifier 2118786 2118799 - Identifier 2118800 2118804 - IfStatement 2118832 2119630 - BinaryExpression 2118846 2118903 - BinaryExpression 2118846 2118873 - Identifier 2118846 2118859 - ExclamationEqualsEqualsToken 2118859 2118863 - PrefixUnaryExpression 2118863 2118873 - Identifier 2118865 2118873 - AmpersandAmpersandToken 2118873 2118876 - BinaryExpression 2118876 2118903 - Identifier 2118876 2118890 - ExclamationEqualsEqualsToken 2118890 2118894 - Identifier 2118894 2118903 - Block 2118904 2119630 - IfStatement 2118906 2119373 - Identifier 2118924 2118935 - Block 2118936 2119373 - VariableStatement 2118938 2119169 - VariableDeclarationList 2118938 2119168 - VariableDeclaration 2118959 2119168 - Identifier 2118959 2118965 - CallExpression 2118967 2119168 - Identifier 2118967 2118991 - Identifier 2118992 2119013 - PropertyAccessExpression 2119014 2119127 - Identifier 2119014 2119026 - Identifier 2119027 2119127 - Identifier 2119128 2119137 - Identifier 2119138 2119152 - Identifier 2119153 2119167 - ExpressionStatement 2119169 2119239 - BinaryExpression 2119169 2119238 - Identifier 2119169 2119192 - EqualsToken 2119192 2119194 - CallExpression 2119194 2119238 - Identifier 2119194 2119218 - Identifier 2119219 2119224 - Identifier 2119225 2119237 - ReturnStatement 2119239 2119358 - CallExpression 2119263 2119357 - Identifier 2119263 2119308 - CallExpression 2119309 2119334 - Identifier 2119309 2119328 - Identifier 2119329 2119333 - Identifier 2119335 2119349 - Identifier 2119350 2119356 - ReturnStatement 2119373 2119619 - CallExpression 2119393 2119618 - Identifier 2119393 2119422 - CallExpression 2119423 2119448 - Identifier 2119423 2119442 - Identifier 2119443 2119447 - Identifier 2119449 2119463 - PropertyAccessExpression 2119464 2119577 - Identifier 2119464 2119476 - Identifier 2119477 2119577 - Identifier 2119578 2119587 - Identifier 2119588 2119602 - Identifier 2119603 2119617 - IfStatement 2119630 2120043 - Identifier 2119644 2119655 - Block 2119656 2120043 - VariableStatement 2119658 2119851 - VariableDeclarationList 2119658 2119850 - VariableDeclaration 2119675 2119850 - Identifier 2119675 2119681 - CallExpression 2119683 2119850 - Identifier 2119683 2119707 - Identifier 2119708 2119729 - PropertyAccessExpression 2119730 2119778 - Identifier 2119730 2119742 - Identifier 2119743 2119778 - ConditionalExpression 2119779 2119839 - BinaryExpression 2119779 2119807 - Identifier 2119779 2119793 - EqualsEqualsEqualsToken 2119793 2119797 - PrefixUnaryExpression 2119797 2119807 - Identifier 2119799 2119807 - QuestionToken 2119807 2119809 - Identifier 2119809 2119823 - ColonToken 2119823 2119825 - Identifier 2119825 2119839 - Identifier 2119840 2119849 - ExpressionStatement 2119851 2119917 - BinaryExpression 2119851 2119916 - Identifier 2119851 2119870 - EqualsToken 2119870 2119872 - CallExpression 2119872 2119916 - Identifier 2119872 2119896 - Identifier 2119897 2119902 - Identifier 2119903 2119915 - ReturnStatement 2119917 2120032 - CallExpression 2119937 2120031 - Identifier 2119937 2119982 - CallExpression 2119983 2120008 - Identifier 2119983 2120002 - Identifier 2120003 2120007 - Identifier 2120009 2120023 - Identifier 2120024 2120030 - ReturnStatement 2120043 2120251 - CallExpression 2120059 2120250 - Identifier 2120059 2120088 - CallExpression 2120089 2120114 - Identifier 2120089 2120108 - Identifier 2120109 2120113 - Identifier 2120115 2120129 - PropertyAccessExpression 2120130 2120178 - Identifier 2120130 2120142 - Identifier 2120143 2120178 - ConditionalExpression 2120179 2120239 - BinaryExpression 2120179 2120207 - Identifier 2120179 2120193 - EqualsEqualsEqualsToken 2120193 2120197 - PrefixUnaryExpression 2120197 2120207 - Identifier 2120199 2120207 - QuestionToken 2120207 2120209 - Identifier 2120209 2120223 - ColonToken 2120223 2120225 - Identifier 2120225 2120239 - Identifier 2120240 2120249 - FunctionDeclaration 2120258 2144145 - Identifier 2120274 2120286 - Parameter 2120287 2120311 - Identifier 2120287 2120291 - TypeReference 2120292 2120311 - Identifier 2120292 2120311 - Parameter 2120312 2120345 - Identifier 2120312 2120323 - TypeOperator 2120324 2120345 - ArrayType 2120333 2120345 - TypeReference 2120333 2120343 - Identifier 2120333 2120343 - Parameter 2120346 2120390 - Identifier 2120346 2120365 - UnionType 2120366 2120390 - ArrayType 2120366 2120378 - TypeReference 2120366 2120376 - Identifier 2120366 2120376 - UndefinedKeyword 2120380 2120390 - Parameter 2120391 2120412 - Identifier 2120391 2120401 - TypeReference 2120402 2120412 - Identifier 2120402 2120412 - Parameter 2120413 2120444 - Identifier 2120413 2120428 - TypeReference 2120429 2120444 - Identifier 2120429 2120444 - Parameter 2120445 2120477 - Identifier 2120445 2120457 - QuestionToken 2120457 2120458 - TypeReference 2120459 2120477 - Identifier 2120459 2120477 - TypeReference 2120479 2120489 - Identifier 2120479 2120489 - Block 2120489 2144145 - VariableStatement 2120491 2120576 - VariableDeclarationList 2120491 2120575 - VariableDeclaration 2120506 2120575 - Identifier 2120506 2120523 - BinaryExpression 2120525 2120575 - PropertyAccessExpression 2120525 2120535 - Identifier 2120525 2120530 - Identifier 2120531 2120535 - EqualsEqualsEqualsToken 2120535 2120539 - PropertyAccessExpression 2120539 2120575 - Identifier 2120539 2120550 - Identifier 2120551 2120575 - VariableStatement 2120576 2120641 - VariableDeclarationList 2120576 2120640 - VariableDeclaration 2120591 2120640 - Identifier 2120591 2120603 - BinaryExpression 2120605 2120640 - PropertyAccessExpression 2120605 2120615 - Identifier 2120605 2120610 - Identifier 2120611 2120615 - EqualsEqualsEqualsToken 2120615 2120619 - PropertyAccessExpression 2120619 2120640 - Identifier 2120619 2120630 - Identifier 2120631 2120640 - VariableStatement 2120641 2120722 - VariableDeclarationList 2120641 2120721 - VariableDeclaration 2120656 2120721 - Identifier 2120656 2120689 - CallExpression 2120691 2120721 - Identifier 2120691 2120715 - Identifier 2120716 2120720 - VariableStatement 2120722 2120785 - VariableDeclarationList 2120722 2120784 - VariableDeclaration 2120737 2120784 - Identifier 2120737 2120755 - CallExpression 2120757 2120784 - Identifier 2120757 2120778 - Identifier 2120779 2120783 - VariableStatement 2120785 2120858 - VariableDeclarationList 2120785 2120857 - VariableDeclaration 2120800 2120857 - Identifier 2120800 2120813 - BinaryExpression 2120815 2120857 - PropertyAccessExpression 2120815 2120825 - Identifier 2120815 2120820 - Identifier 2120821 2120825 - EqualsEqualsEqualsToken 2120825 2120829 - PropertyAccessExpression 2120829 2120857 - Identifier 2120829 2120840 - Identifier 2120841 2120857 - VariableStatement 2120858 2120941 - VariableDeclarationList 2120858 2120940 - VariableDeclaration 2120873 2120940 - Identifier 2120873 2120886 - BinaryExpression 2120888 2120940 - PrefixUnaryExpression 2120888 2120917 - Identifier 2120890 2120917 - AmpersandAmpersandToken 2120917 2120920 - PrefixUnaryExpression 2120920 2120940 - Identifier 2120922 2120940 - VariableStatement 2120941 2122235 - VariableDeclarationList 2120941 2122234 - VariableDeclaration 2122182 2122234 - Identifier 2122182 2122209 - UnionType 2122210 2122234 - ArrayType 2122210 2122222 - TypeReference 2122210 2122220 - Identifier 2122210 2122220 - UndefinedKeyword 2122224 2122234 - VariableStatement 2122235 2122303 - VariableDeclarationList 2122235 2122302 - VariableDeclaration 2122248 2122302 - Identifier 2122248 2122279 - UnionType 2122280 2122302 - TypeReference 2122280 2122290 - Identifier 2122280 2122290 - UndefinedKeyword 2122292 2122302 - VariableStatement 2122303 2122370 - VariableDeclarationList 2122303 2122369 - VariableDeclaration 2122316 2122369 - Identifier 2122316 2122346 - UnionType 2122347 2122369 - TypeReference 2122347 2122357 - Identifier 2122347 2122357 - UndefinedKeyword 2122359 2122369 - VariableStatement 2122370 2122414 - VariableDeclarationList 2122370 2122413 - VariableDeclaration 2122383 2122413 - Identifier 2122383 2122390 - UnionType 2122391 2122413 - TypeReference 2122391 2122401 - Identifier 2122391 2122401 - UndefinedKeyword 2122403 2122413 - VariableStatement 2122414 2122460 - VariableDeclarationList 2122414 2122459 - VariableDeclaration 2122427 2122459 - Identifier 2122427 2122440 - PropertyAccessExpression 2122442 2122459 - Identifier 2122442 2122452 - Identifier 2122453 2122459 - VariableStatement 2122460 2122505 - VariableDeclarationList 2122460 2122504 - VariableDeclaration 2122475 2122504 - Identifier 2122475 2122486 - ArrayType 2122487 2122499 - TypeReference 2122487 2122497 - Identifier 2122487 2122497 - ArrayLiteralExpression 2122501 2122504 - VariableStatement 2122505 2122566 - VariableDeclarationList 2122505 2122565 - VariableDeclaration 2122518 2122565 - Identifier 2122518 2122532 - UnionType 2122533 2122565 - TypeReference 2122533 2122553 - Identifier 2122533 2122543 - TypeReference 2122544 2122552 - Identifier 2122544 2122552 - UndefinedKeyword 2122555 2122565 - IfStatement 2122566 2123058 - BinaryExpression 2122580 2122653 - BinaryExpression 2122580 2122631 - BinaryExpression 2122580 2122609 - PrefixUnaryExpression 2122580 2122592 - Identifier 2122581 2122592 - AmpersandAmpersandToken 2122592 2122595 - PrefixUnaryExpression 2122595 2122609 - Identifier 2122597 2122609 - AmpersandAmpersandToken 2122609 2122612 - PrefixUnaryExpression 2122612 2122631 - CallExpression 2122614 2122631 - Identifier 2122614 2122625 - Identifier 2122626 2122630 - AmpersandAmpersandToken 2122631 2122634 - PrefixUnaryExpression 2122634 2122653 - Identifier 2122636 2122653 - Block 2122654 2123058 - ExpressionStatement 2122656 2122725 - BinaryExpression 2122656 2122724 - Identifier 2122656 2122683 - EqualsToken 2122683 2122685 - PropertyAccessExpression 2122685 2122724 - ParenthesizedExpression 2122685 2122710 - AsExpression 2122687 2122709 - Identifier 2122687 2122691 - TypeReference 2122694 2122709 - Identifier 2122694 2122709 - Identifier 2122711 2122724 - IfStatement 2122725 2123047 - BinaryExpression 2122844 2122968 - BinaryExpression 2122844 2122896 - Identifier 2122844 2122860 - BarBarToken 2122860 2122863 - Identifier 2122863 2122896 - BarBarToken 2122896 2122899 - BinaryExpression 2122899 2122968 - PropertyAccessExpression 2122899 2122940 - PropertyAccessExpression 2122899 2122935 - ParenthesizedExpression 2122899 2122924 - AsExpression 2122901 2122923 - Identifier 2122901 2122905 - TypeReference 2122908 2122923 - Identifier 2122908 2122923 - Identifier 2122925 2122935 - Identifier 2122936 2122940 - ExclamationEqualsEqualsToken 2122940 2122944 - PropertyAccessExpression 2122944 2122968 - Identifier 2122944 2122955 - Identifier 2122956 2122968 - Block 2122969 2123047 - ExpressionStatement 2122971 2123032 - CallExpression 2122971 2123031 - Identifier 2122971 2122996 - Identifier 2122997 2123010 - Identifier 2123011 2123030 - ExpressionStatement 2123058 2123108 - BinaryExpression 2123058 2123107 - Identifier 2123058 2123080 - EqualsToken 2123080 2123082 - BinaryExpression 2123082 2123107 - Identifier 2123082 2123101 - BarBarToken 2123101 2123104 - ArrayLiteralExpression 2123104 2123107 - ExpressionStatement 2123108 2123245 - CallExpression 2123108 2123244 - Identifier 2123108 2123204 - Identifier 2123205 2123215 - Identifier 2123216 2123227 - Identifier 2123228 2123243 - IfStatement 2123245 2123402 - PrefixUnaryExpression 2123259 2123277 - Identifier 2123260 2123277 - Block 2123278 2123402 - ExpressionStatement 2123280 2123391 - CallExpression 2123280 2123390 - PropertyAccessExpression 2123280 2123306 - Identifier 2123280 2123299 - Identifier 2123300 2123306 - PropertyAccessExpression 2123307 2123324 - Identifier 2123307 2123317 - Identifier 2123318 2123324 - StringLiteral 2123325 2123389 - VariableStatement 2123402 2123457 - VariableDeclarationList 2123402 2123456 - VariableDeclaration 2123417 2123456 - Identifier 2123417 2123422 - CallExpression 2123424 2123456 - Identifier 2123424 2123450 - Identifier 2123451 2123455 - VariableStatement 2123457 2124389 - VariableDeclarationList 2123457 2124388 - VariableDeclaration 2124301 2124388 - Identifier 2124301 2124329 - BinaryExpression 2124331 2124388 - BinaryExpression 2124331 2124355 - PropertyAccessExpression 2124331 2124349 - Identifier 2124331 2124342 - Identifier 2124343 2124349 - EqualsEqualsEqualsToken 2124349 2124353 - NumericLiteral 2124353 2124355 - AmpersandAmpersandToken 2124355 2124358 - PrefixUnaryExpression 2124358 2124388 - PropertyAccessExpression 2124360 2124388 - ElementAccessExpression 2124360 2124373 - Identifier 2124360 2124370 - NumericLiteral 2124371 2124372 - Identifier 2124374 2124388 - IfStatement 2124389 2124555 - BinaryExpression 2124403 2124481 - BinaryExpression 2124403 2124447 - PrefixUnaryExpression 2124403 2124415 - Identifier 2124404 2124415 - AmpersandAmpersandToken 2124415 2124418 - PrefixUnaryExpression 2124418 2124447 - Identifier 2124420 2124447 - AmpersandAmpersandToken 2124447 2124450 - CallExpression 2124450 2124481 - Identifier 2124450 2124455 - Identifier 2124456 2124460 - Identifier 2124461 2124480 - Block 2124482 2124555 - ExpressionStatement 2124484 2124544 - BinaryExpression 2124484 2124543 - Identifier 2124484 2124510 - EqualsToken 2124510 2124512 - PropertyAccessExpression 2124512 2124543 - Identifier 2124512 2124522 - Identifier 2124523 2124543 - VariableStatement 2124555 2124958 - VariableDeclarationList 2124555 2124957 - VariableDeclaration 2124805 2124957 - Identifier 2124805 2124832 - BinaryExpression 2124834 2124957 - BinaryExpression 2124834 2124922 - PrefixUnaryExpression 2124834 2124879 - PrefixUnaryExpression 2124836 2124879 - ParenthesizedExpression 2124837 2124879 - BinaryExpression 2124838 2124878 - Identifier 2124838 2124847 - AmpersandToken 2124847 2124849 - PropertyAccessExpression 2124849 2124878 - Identifier 2124849 2124859 - Identifier 2124860 2124878 - AmpersandAmpersandToken 2124879 2124882 - BinaryExpression 2124882 2124922 - PropertyAccessExpression 2124882 2124892 - Identifier 2124882 2124887 - Identifier 2124888 2124892 - EqualsEqualsEqualsToken 2124892 2124896 - PropertyAccessExpression 2124896 2124922 - Identifier 2124896 2124907 - Identifier 2124908 2124922 - AmpersandAmpersandToken 2124922 2124925 - PropertyAccessExpression 2124925 2124957 - PropertyAccessExpression 2124925 2124940 - Identifier 2124925 2124930 - Identifier 2124931 2124940 - Identifier 2124941 2124957 - IfStatement 2124958 2125894 - BinaryExpression 2125735 2125756 - PropertyAccessExpression 2125735 2125752 - Identifier 2125735 2125745 - Identifier 2125746 2125752 - GreaterThanToken 2125752 2125754 - NumericLiteral 2125754 2125756 - Block 2125757 2125894 - ExpressionStatement 2125759 2125883 - BinaryExpression 2125759 2125882 - Identifier 2125759 2125779 - EqualsToken 2125779 2125781 - CallExpression 2125781 2125882 - Identifier 2125781 2125796 - Identifier 2125797 2125807 - Identifier 2125808 2125824 - Identifier 2125825 2125853 - Identifier 2125854 2125881 - IfStatement 2125894 2126056 - PrefixUnaryExpression 2125908 2125915 - Identifier 2125909 2125915 - Block 2125916 2126056 - ExpressionStatement 2125918 2126045 - BinaryExpression 2125918 2126044 - Identifier 2125918 2125938 - EqualsToken 2125938 2125940 - CallExpression 2125940 2126044 - Identifier 2125940 2125955 - Identifier 2125956 2125966 - Identifier 2125967 2125986 - Identifier 2125987 2126015 - Identifier 2126016 2126043 - VariableStatement 2126056 2126099 - VariableDeclarationList 2126056 2126098 - VariableDeclaration 2126071 2126098 - Identifier 2126071 2126077 - CallExpression 2126079 2126098 - Identifier 2126079 2126092 - Identifier 2126093 2126097 - IfStatement 2126099 2128072 - BinaryExpression 2126113 2126182 - BinaryExpression 2126113 2126159 - PropertyAccessExpression 2126113 2126136 - Identifier 2126113 2126118 - Identifier 2126119 2126136 - ExclamationEqualsEqualsToken 2126136 2126140 - Identifier 2126140 2126159 - AmpersandAmpersandToken 2126159 2126162 - PrefixUnaryExpression 2126162 2126182 - Identifier 2126164 2126182 - Block 2126183 2128072 - ExpressionStatement 2126185 2128016 - CallExpression 2126185 2128015 - PropertyAccessExpression 2126185 2127990 - Identifier 2126185 2127983 - Identifier 2127984 2127990 - PropertyAccessExpression 2127991 2128014 - Identifier 2127991 2127996 - Identifier 2127997 2128014 - ReturnStatement 2128016 2128061 - PropertyAccessExpression 2128036 2128060 - Identifier 2128036 2128042 - Identifier 2128043 2128060 - IfStatement 2128072 2128134 - Identifier 2128086 2128092 - Block 2128093 2128134 - ReturnStatement 2128095 2128123 - Identifier 2128115 2128122 - ExpressionStatement 2128134 2128241 - BinaryExpression 2128134 2128240 - Identifier 2128134 2128150 - EqualsToken 2128150 2128152 - CallExpression 2128152 2128240 - Identifier 2128152 2128183 - Identifier 2128184 2128188 - Identifier 2128189 2128200 - Identifier 2128201 2128206 - PrefixUnaryExpression 2128207 2128228 - PrefixUnaryExpression 2128209 2128228 - Identifier 2128210 2128228 - Identifier 2128229 2128239 - ExpressionStatement 2128241 2128908 - BinaryExpression 2128241 2128907 - PropertyAccessExpression 2128241 2128898 - Identifier 2128241 2128880 - Identifier 2128881 2128898 - EqualsToken 2128898 2128900 - Identifier 2128900 2128907 - IfStatement 2128908 2135661 - Identifier 2129246 2129258 - Block 2129259 2135661 - IfStatement 2129261 2129858 - BinaryExpression 2129629 2129657 - PrefixUnaryExpression 2129629 2129641 - Identifier 2129630 2129641 - AmpersandAmpersandToken 2129641 2129644 - Identifier 2129644 2129657 - Block 2129658 2129858 - ExpressionStatement 2129660 2129843 - BinaryExpression 2129660 2129842 - Identifier 2129660 2129689 - EqualsToken 2129689 2129691 - PropertyAccessExpression 2129691 2129842 - Identifier 2129691 2129703 - Identifier 2129704 2129842 - IfStatement 2129858 2135650 - Identifier 2129876 2129902 - Block 2129903 2134626 - IfStatement 2129905 2134611 - BinaryExpression 2129927 2130007 - BinaryExpression 2129927 2129966 - PropertyAccessExpression 2129927 2129960 - Identifier 2129927 2129953 - Identifier 2129954 2129960 - EqualsEqualsEqualsToken 2129960 2129964 - NumericLiteral 2129964 2129966 - BarBarToken 2129966 2129969 - BinaryExpression 2129969 2130007 - PropertyAccessExpression 2129969 2130003 - Identifier 2129969 2129996 - Identifier 2129997 2130003 - GreaterThanToken 2130003 2130005 - NumericLiteral 2130005 2130007 - Block 2130008 2131502 - VariableStatement 2130010 2130111 - VariableDeclarationList 2130010 2130110 - VariableDeclaration 2130037 2130110 - Identifier 2130037 2130042 - ElementAccessExpression 2130044 2130110 - Identifier 2130044 2130071 - BinaryExpression 2130072 2130109 - PropertyAccessExpression 2130072 2130105 - Identifier 2130072 2130098 - Identifier 2130099 2130105 - MinusToken 2130105 2130107 - NumericLiteral 2130107 2130109 - VariableStatement 2130111 2130179 - VariableDeclarationList 2130111 2130178 - VariableDeclaration 2130136 2130178 - Identifier 2130136 2130142 - UnionType 2130143 2130178 - TypeReference 2130143 2130166 - Identifier 2130143 2130166 - UndefinedKeyword 2130168 2130178 - IfStatement 2130179 2130497 - BinaryExpression 2130205 2130242 - PropertyAccessExpression 2130205 2130238 - Identifier 2130205 2130231 - Identifier 2130232 2130238 - GreaterThanToken 2130238 2130240 - NumericLiteral 2130240 2130242 - Block 2130243 2130497 - ExpressionStatement 2130245 2130366 - BinaryExpression 2130245 2130365 - Identifier 2130245 2130276 - EqualsToken 2130276 2130278 - CallExpression 2130278 2130365 - Identifier 2130278 2130302 - Identifier 2130303 2130308 - PropertyAccessExpression 2130309 2130364 - Identifier 2130309 2130321 - Identifier 2130322 2130364 - ExpressionStatement 2130366 2130474 - BinaryExpression 2130366 2130473 - Identifier 2130366 2130397 - EqualsToken 2130397 2130399 - CallExpression 2130399 2130473 - Identifier 2130399 2130423 - Identifier 2130424 2130429 - PropertyAccessExpression 2130430 2130472 - Identifier 2130430 2130442 - Identifier 2130443 2130472 - IfStatement 2130497 2130638 - Identifier 2130523 2130534 - Block 2130535 2130638 - ExpressionStatement 2130537 2130615 - BinaryExpression 2130537 2130614 - Identifier 2130537 2130568 - EqualsToken 2130568 2130570 - CallExpression 2130570 2130614 - Identifier 2130570 2130594 - Identifier 2130595 2130600 - Identifier 2130601 2130613 - VariableStatement 2130638 2130829 - VariableDeclarationList 2130638 2130828 - VariableDeclaration 2130665 2130828 - Identifier 2130665 2130671 - CallExpression 2130673 2130828 - Identifier 2130673 2130704 - Identifier 2130705 2130709 - Identifier 2130710 2130715 - Identifier 2130716 2130721 - Identifier 2130722 2130741 - PropertyAccessExpression 2130742 2130759 - Identifier 2130742 2130752 - Identifier 2130753 2130759 - TrueKeyword 2130760 2130782 - ArrowFunction 2130783 2130795 - EqualsGreaterThanToken 2130786 2130789 - Identifier 2130789 2130795 - Identifier 2130796 2130827 - IfStatement 2130829 2131483 - Identifier 2130855 2130860 - Block 2130861 2131355 - ForOfStatement 2130863 2131332 - VariableDeclarationList 2130894 2130901 - VariableDeclaration 2130899 2130901 - Identifier 2130899 2130901 - Identifier 2130904 2130910 - Block 2130911 2131332 - IfStatement 2130913 2131181 - BinaryExpression 2130947 2131004 - PropertyAccessExpression 2130947 2130963 - Identifier 2130947 2130951 - Identifier 2130952 2130963 - AmpersandAmpersandToken 2130963 2130966 - BinaryExpression 2130966 2131004 - PropertyAccessExpression 2130966 2131000 - Identifier 2130966 2130993 - Identifier 2130994 2131000 - GreaterThanToken 2131000 2131002 - NumericLiteral 2131002 2131004 - Block 2131005 2131181 - ExpressionStatement 2131007 2131150 - CallExpression 2131007 2131149 - Identifier 2131007 2131055 - Identifier 2131056 2131057 - CallExpression 2131058 2131148 - Identifier 2131058 2131082 - PropertyAccessExpression 2131083 2131099 - Identifier 2131083 2131087 - Identifier 2131088 2131099 - PropertyAccessExpression 2131100 2131147 - Identifier 2131100 2131112 - Identifier 2131113 2131147 - ExpressionStatement 2131181 2131256 - CallExpression 2131181 2131255 - Identifier 2131181 2131246 - Identifier 2131247 2131251 - Identifier 2131252 2131254 - ExpressionStatement 2131256 2131305 - CallExpression 2131256 2131304 - PropertyAccessExpression 2131256 2131301 - Identifier 2131256 2131297 - Identifier 2131298 2131301 - Identifier 2131302 2131303 - Block 2131381 2131483 - ExpressionStatement 2131383 2131460 - CallExpression 2131383 2131459 - PropertyAccessExpression 2131383 2131419 - Identifier 2131383 2131414 - Identifier 2131415 2131419 - StringLiteral 2131420 2131458 - Block 2131524 2134611 - VariableStatement 2131526 2131619 - VariableDeclarationList 2131526 2131618 - VariableDeclaration 2131553 2131618 - Identifier 2131553 2131568 - ArrayType 2131569 2131613 - ParenthesizedType 2131569 2131611 - TypeOperator 2131571 2131610 - ArrayType 2131579 2131610 - TypeReference 2131579 2131608 - Identifier 2131579 2131608 - ArrayLiteralExpression 2131615 2131618 - VariableStatement 2131619 2131653 - VariableDeclarationList 2131619 2131652 - VariableDeclaration 2131644 2131652 - Identifier 2131644 2131648 - NumericLiteral 2131650 2131652 - VariableStatement 2131653 2131702 - VariableDeclarationList 2131653 2131701 - VariableDeclaration 2131678 2131701 - Identifier 2131678 2131682 - PropertyAccessExpression 2131684 2131701 - Identifier 2131684 2131691 - Identifier 2131692 2131701 - VariableStatement 2131702 2131741 - VariableDeclarationList 2131702 2131740 - VariableDeclaration 2131727 2131740 - Identifier 2131727 2131736 - NumericLiteral 2131738 2131740 - VariableStatement 2131741 2131773 - VariableDeclarationList 2131741 2131772 - VariableDeclaration 2131766 2131772 - Identifier 2131766 2131768 - NumericLiteral 2131770 2131772 - ForOfStatement 2131773 2132796 - VariableDeclarationList 2131800 2131807 - VariableDeclaration 2131805 2131807 - Identifier 2131805 2131807 - Identifier 2131810 2131837 - Block 2131838 2132796 - VariableStatement 2131840 2132037 - VariableDeclarationList 2131840 2132036 - VariableDeclaration 2131871 2132036 - Identifier 2131871 2131877 - ArrowFunction 2131879 2132036 - EqualsGreaterThanToken 2131882 2131885 - CallExpression 2131885 2132036 - Identifier 2131885 2131909 - Identifier 2131910 2131931 - PropertyAccessExpression 2131932 2131987 - Identifier 2131932 2131944 - Identifier 2131945 2131987 - BinaryExpression 2131988 2131994 - Identifier 2131988 2131990 - PlusToken 2131990 2131992 - NumericLiteral 2131992 2131994 - PropertyAccessExpression 2131995 2132013 - Identifier 2131995 2132006 - Identifier 2132007 2132013 - CallExpression 2132014 2132035 - Identifier 2132014 2132032 - Identifier 2132033 2132034 - VariableStatement 2132037 2132223 - VariableDeclarationList 2132037 2132222 - VariableDeclaration 2132068 2132222 - Identifier 2132068 2132074 - CallExpression 2132076 2132222 - Identifier 2132076 2132107 - Identifier 2132108 2132112 - Identifier 2132113 2132118 - Identifier 2132119 2132121 - Identifier 2132122 2132141 - PropertyAccessExpression 2132142 2132159 - Identifier 2132142 2132152 - Identifier 2132153 2132159 - TrueKeyword 2132160 2132182 - Identifier 2132183 2132189 - Identifier 2132190 2132221 - IfStatement 2132223 2132743 - Identifier 2132253 2132258 - Block 2132259 2132596 - IfStatement 2132261 2132448 - BinaryExpression 2132295 2132314 - PropertyAccessExpression 2132295 2132307 - Identifier 2132295 2132300 - Identifier 2132301 2132307 - LessThanEqualsToken 2132307 2132310 - Identifier 2132310 2132314 - Block 2132315 2132448 - ExpressionStatement 2132317 2132370 - BinaryExpression 2132317 2132369 - Identifier 2132317 2132354 - EqualsToken 2132354 2132356 - PropertyAccessExpression 2132356 2132369 - Identifier 2132356 2132362 - Identifier 2132363 2132369 - ExpressionStatement 2132370 2132417 - BinaryExpression 2132370 2132416 - Identifier 2132370 2132412 - EqualsToken 2132412 2132414 - Identifier 2132414 2132416 - ExpressionStatement 2132448 2132512 - BinaryExpression 2132448 2132511 - Identifier 2132448 2132481 - EqualsToken 2132481 2132483 - CallExpression 2132483 2132511 - PropertyAccessExpression 2132483 2132492 - Identifier 2132483 2132488 - Identifier 2132489 2132492 - Identifier 2132493 2132496 - PropertyAccessExpression 2132497 2132510 - Identifier 2132497 2132503 - Identifier 2132504 2132510 - ExpressionStatement 2132512 2132569 - CallExpression 2132512 2132568 - PropertyAccessExpression 2132512 2132561 - Identifier 2132512 2132556 - Identifier 2132557 2132561 - Identifier 2132562 2132567 - Block 2132626 2132743 - ExpressionStatement 2132628 2132716 - CallExpression 2132628 2132715 - PropertyAccessExpression 2132628 2132668 - Identifier 2132628 2132663 - Identifier 2132664 2132668 - StringLiteral 2132669 2132714 - ExpressionStatement 2132743 2132773 - PostfixUnaryExpression 2132743 2132772 - Identifier 2132743 2132770 - VariableStatement 2132796 2132895 - VariableDeclarationList 2132796 2132894 - VariableDeclaration 2132825 2132894 - Identifier 2132825 2132831 - ConditionalExpression 2132833 2132894 - BinaryExpression 2132833 2132841 - Identifier 2132833 2132837 - GreaterThanToken 2132837 2132839 - NumericLiteral 2132839 2132841 - QuestionToken 2132841 2132843 - ElementAccessExpression 2132843 2132868 - Identifier 2132843 2132858 - Identifier 2132859 2132867 - ColonToken 2132868 2132870 - CallExpression 2132870 2132894 - Identifier 2132870 2132878 - Identifier 2132879 2132893 - ExpressionStatement 2132895 2133005 - CallExpression 2132895 2133004 - PropertyAccessExpression 2132895 2132929 - Identifier 2132895 2132922 - Identifier 2132923 2132929 - BinaryExpression 2132930 2132946 - PropertyAccessExpression 2132930 2132942 - Identifier 2132930 2132935 - Identifier 2132936 2132942 - GreaterThanToken 2132942 2132944 - NumericLiteral 2132944 2132946 - StringLiteral 2132947 2133003 - VariableStatement 2133005 2133236 - VariableDeclarationList 2133005 2133235 - VariableDeclaration 2133030 2133235 - Identifier 2133030 2133036 - CallExpression 2133038 2133235 - Identifier 2133038 2133062 - CallExpression 2133063 2133143 - Identifier 2133063 2133092 - Identifier 2133093 2133098 - Identifier 2133099 2133142 - PropertyAccessExpression 2133144 2133211 - Identifier 2133144 2133181 - Identifier 2133182 2133211 - IfStatement 2133236 2133377 - Identifier 2133262 2133273 - Block 2133274 2133377 - ExpressionStatement 2133276 2133354 - BinaryExpression 2133276 2133353 - Identifier 2133276 2133307 - EqualsToken 2133307 2133309 - CallExpression 2133309 2133353 - Identifier 2133309 2133333 - Identifier 2133334 2133339 - Identifier 2133340 2133352 - VariableStatement 2133377 2133838 - VariableDeclarationList 2133377 2133837 - VariableDeclaration 2133730 2133837 - Identifier 2133730 2133738 - ArrayLiteralExpression 2133740 2133837 - SpreadElement 2133742 2133836 - AsExpression 2133745 2133836 - CallExpression 2133745 2133802 - Identifier 2133745 2133752 - Identifier 2133753 2133758 - ArrowFunction 2133759 2133801 - Parameter 2133759 2133761 - Identifier 2133759 2133761 - EqualsGreaterThanToken 2133761 2133764 - PropertyAccessExpression 2133764 2133801 - ParenthesizedExpression 2133764 2133782 - AsExpression 2133766 2133781 - Identifier 2133766 2133767 - TypeReference 2133770 2133781 - Identifier 2133770 2133781 - Identifier 2133783 2133801 - ArrayType 2133805 2133836 - TypeReference 2133805 2133834 - Identifier 2133805 2133834 - VariableStatement 2133838 2133881 - VariableDeclarationList 2133838 2133880 - VariableDeclaration 2133863 2133880 - Identifier 2133863 2133868 - TypeReference 2133869 2133880 - Identifier 2133869 2133880 - IfStatement 2133881 2134453 - CallExpression 2133907 2134012 - Identifier 2133907 2133912 - Identifier 2133913 2133918 - ArrowFunction 2133919 2134011 - Parameter 2133919 2133921 - Identifier 2133919 2133921 - EqualsGreaterThanToken 2133921 2133924 - BinaryExpression 2133924 2134011 - BinaryExpression 2133924 2133983 - BinaryExpression 2133924 2133951 - PropertyAccessExpression 2133924 2133932 - Identifier 2133924 2133926 - Identifier 2133927 2133932 - EqualsEqualsEqualsToken 2133932 2133936 - PropertyAccessExpression 2133936 2133951 - ElementAccessExpression 2133936 2133945 - Identifier 2133936 2133942 - NumericLiteral 2133943 2133944 - Identifier 2133946 2133951 - AmpersandAmpersandToken 2133951 2133954 - BinaryExpression 2133954 2133983 - PropertyAccessExpression 2133954 2133963 - Identifier 2133954 2133956 - Identifier 2133957 2133963 - EqualsEqualsEqualsToken 2133963 2133967 - PropertyAccessExpression 2133967 2133983 - ElementAccessExpression 2133967 2133976 - Identifier 2133967 2133973 - NumericLiteral 2133974 2133975 - Identifier 2133977 2133983 - AmpersandAmpersandToken 2133983 2133986 - BinaryExpression 2133986 2134011 - PropertyAccessExpression 2133986 2133993 - Identifier 2133986 2133988 - Identifier 2133989 2133993 - EqualsEqualsEqualsToken 2133993 2133997 - PropertyAccessExpression 2133997 2134011 - ElementAccessExpression 2133997 2134006 - Identifier 2133997 2134003 - NumericLiteral 2134004 2134005 - Identifier 2134007 2134011 - Block 2134013 2134255 - VariableStatement 2134015 2134082 - VariableDeclarationList 2134015 2134081 - VariableDeclaration 2134046 2134081 - ObjectBindingPattern 2134046 2134070 - BindingElement 2134048 2134053 - Identifier 2134048 2134053 - BindingElement 2134054 2134060 - Identifier 2134054 2134060 - BindingElement 2134061 2134068 - Identifier 2134061 2134068 - ElementAccessExpression 2134072 2134081 - Identifier 2134072 2134078 - NumericLiteral 2134079 2134080 - ExpressionStatement 2134082 2134232 - BinaryExpression 2134082 2134231 - Identifier 2134082 2134112 - EqualsToken 2134112 2134114 - ObjectLiteralExpression 2134114 2134231 - ShorthandPropertyAssignment 2134116 2134121 - Identifier 2134116 2134121 - ShorthandPropertyAssignment 2134122 2134128 - Identifier 2134122 2134128 - ShorthandPropertyAssignment 2134129 2134136 - Identifier 2134129 2134136 - PropertyAssignment 2134137 2134154 - Identifier 2134137 2134142 - PropertyAccessExpression 2134143 2134154 - Identifier 2134143 2134149 - Identifier 2134150 2134154 - PropertyAssignment 2134155 2134180 - Identifier 2134155 2134164 - PropertyAccessExpression 2134165 2134180 - Identifier 2134165 2134171 - Identifier 2134172 2134180 - PropertyAssignment 2134181 2134200 - Identifier 2134181 2134193 - Identifier 2134194 2134200 - PropertyAssignment 2134201 2134229 - Identifier 2134201 2134220 - Identifier 2134221 2134229 - Block 2134281 2134453 - ExpressionStatement 2134283 2134430 - BinaryExpression 2134283 2134429 - Identifier 2134283 2134313 - EqualsToken 2134313 2134315 - CallExpression 2134315 2134429 - Identifier 2134315 2134355 - CallExpression 2134356 2134381 - Identifier 2134356 2134375 - Identifier 2134376 2134380 - CallExpression 2134382 2134412 - Identifier 2134382 2134406 - Identifier 2134407 2134411 - Identifier 2134413 2134419 - Identifier 2134420 2134428 - ExpressionStatement 2134453 2134548 - CallExpression 2134453 2134547 - Identifier 2134453 2134510 - ElementAccessExpression 2134511 2134540 - Identifier 2134511 2134537 - NumericLiteral 2134538 2134539 - Identifier 2134541 2134546 - ExpressionStatement 2134548 2134592 - CallExpression 2134548 2134591 - PropertyAccessExpression 2134548 2134585 - Identifier 2134548 2134581 - Identifier 2134582 2134585 - Identifier 2134586 2134590 - IfStatement 2134644 2135650 - Identifier 2134649 2134679 - Block 2134680 2134813 - ExpressionStatement 2134682 2134798 - CallExpression 2134682 2134797 - PropertyAccessExpression 2134682 2134715 - Identifier 2134682 2134711 - Identifier 2134712 2134715 - CallExpression 2134716 2134796 - Identifier 2134716 2134737 - Identifier 2134738 2134742 - ArrayLiteralExpression 2134743 2134776 - Identifier 2134745 2134775 - Identifier 2134777 2134782 - Identifier 2134783 2134795 - IfStatement 2134831 2135650 - Identifier 2134836 2134865 - Block 2134866 2135079 - ExpressionStatement 2134868 2135064 - CallExpression 2134868 2135063 - Identifier 2134868 2134904 - Identifier 2134905 2134934 - NonNullExpression 2134935 2135026 - PropertyAccessExpression 2134935 2135025 - ParenthesizedExpression 2134935 2135011 - AsExpression 2134937 2135010 - Identifier 2134937 2134941 - UnionType 2134944 2135010 - TypeReference 2134944 2134959 - Identifier 2134944 2134959 - TypeReference 2134961 2134986 - Identifier 2134961 2134986 - TypeReference 2134988 2135010 - Identifier 2134988 2135010 - Identifier 2135012 2135025 - TrueKeyword 2135027 2135049 - Identifier 2135050 2135062 - IfStatement 2135097 2135650 - PrefixUnaryExpression 2135102 2135120 - Identifier 2135103 2135120 - Block 2135121 2135650 - VariableStatement 2135123 2135259 - VariableDeclarationList 2135123 2135258 - VariableDeclaration 2135146 2135258 - Identifier 2135146 2135185 - CallExpression 2135187 2135258 - Identifier 2135187 2135194 - Identifier 2135195 2135205 - ArrowFunction 2135206 2135257 - Parameter 2135206 2135208 - Identifier 2135206 2135208 - EqualsGreaterThanToken 2135208 2135211 - CallExpression 2135211 2135257 - Identifier 2135211 2135239 - Identifier 2135240 2135241 - Identifier 2135242 2135256 - IfStatement 2135259 2135635 - BinaryExpression 2135281 2135332 - PropertyAccessExpression 2135281 2135326 - Identifier 2135281 2135319 - Identifier 2135320 2135326 - EqualsEqualsEqualsToken 2135326 2135330 - NumericLiteral 2135330 2135332 - Block 2135333 2135466 - ExpressionStatement 2135335 2135447 - CallExpression 2135335 2135446 - PropertyAccessExpression 2135335 2135372 - Identifier 2135335 2135368 - Identifier 2135369 2135372 - CallExpression 2135373 2135445 - Identifier 2135373 2135398 - Identifier 2135399 2135403 - Identifier 2135404 2135415 - NonNullExpression 2135416 2135431 - Identifier 2135416 2135430 - Identifier 2135432 2135444 - Block 2135488 2135635 - ExpressionStatement 2135490 2135616 - CallExpression 2135490 2135615 - PropertyAccessExpression 2135490 2135527 - Identifier 2135490 2135523 - Identifier 2135524 2135527 - CallExpression 2135528 2135614 - Identifier 2135528 2135549 - Identifier 2135550 2135554 - Identifier 2135555 2135594 - Identifier 2135595 2135600 - Identifier 2135601 2135613 - ReturnStatement 2135661 2135687 - Identifier 2135679 2135686 - FunctionDeclaration 2135687 2137184 - Identifier 2135707 2135743 - Parameter 2135744 2135761 - Identifier 2135744 2135750 - TypeReference 2135751 2135761 - Identifier 2135751 2135761 - Parameter 2135762 2135785 - Identifier 2135762 2135773 - TypeReference 2135774 2135785 - Identifier 2135774 2135785 - Block 2135786 2137184 - VariableStatement 2135788 2135867 - VariableDeclarationList 2135788 2135866 - VariableDeclaration 2135807 2135866 - Identifier 2135807 2135837 - Identifier 2135839 2135866 - VariableStatement 2135867 2135954 - VariableDeclarationList 2135867 2135953 - VariableDeclaration 2135886 2135953 - Identifier 2135886 2135920 - Identifier 2135922 2135953 - VariableStatement 2135954 2136039 - VariableDeclarationList 2135954 2136038 - VariableDeclaration 2135973 2136038 - Identifier 2135973 2136006 - Identifier 2136008 2136038 - VariableStatement 2136039 2136146 - VariableDeclarationList 2136039 2136145 - VariableDeclaration 2136060 2136145 - Identifier 2136060 2136088 - BinaryExpression 2136090 2136145 - PropertyAccessExpression 2136090 2136131 - PropertyAccessExpression 2136090 2136117 - PropertyAccessExpression 2136090 2136109 - Identifier 2136090 2136097 - Identifier 2136098 2136109 - QuestionDotToken 2136109 2136111 - Identifier 2136111 2136117 - QuestionDotToken 2136117 2136119 - Identifier 2136119 2136131 - BarBarToken 2136131 2136134 - Identifier 2136134 2136145 - VariableStatement 2136146 2136218 - VariableDeclarationList 2136146 2136217 - VariableDeclaration 2136165 2136217 - Identifier 2136165 2136176 - BinaryExpression 2136178 2136217 - PropertyAccessExpression 2136178 2136213 - Identifier 2136178 2136206 - Identifier 2136207 2136213 - GreaterThanToken 2136213 2136215 - NumericLiteral 2136215 2136217 - VariableStatement 2136218 2136368 - VariableDeclarationList 2136218 2136367 - VariableDeclaration 2136237 2136367 - Identifier 2136237 2136246 - ConditionalExpression 2136248 2136367 - Identifier 2136248 2136259 - QuestionToken 2136259 2136261 - CallExpression 2136261 2136355 - Identifier 2136261 2136266 - Identifier 2136267 2136294 - ArrowFunction 2136295 2136354 - Parameter 2136295 2136297 - Identifier 2136295 2136297 - EqualsGreaterThanToken 2136297 2136300 - BinaryExpression 2136300 2136354 - CallExpression 2136300 2136329 - Identifier 2136300 2136326 - Identifier 2136327 2136328 - AmpersandAmpersandToken 2136329 2136332 - CallExpression 2136332 2136354 - Identifier 2136332 2136346 - PropertyAccessExpression 2136347 2136353 - Identifier 2136347 2136348 - Identifier 2136349 2136353 - ColonToken 2136355 2136357 - Identifier 2136357 2136367 - IfStatement 2136368 2136938 - Identifier 2136386 2136394 - Block 2136395 2136938 - VariableStatement 2136397 2136498 - VariableDeclarationList 2136397 2136497 - VariableDeclaration 2136420 2136497 - Identifier 2136420 2136430 - CallExpression 2136432 2136497 - Identifier 2136432 2136460 - AsExpression 2136461 2136496 - Identifier 2136461 2136469 - TypeReference 2136472 2136496 - Identifier 2136472 2136496 - VariableStatement 2136498 2136578 - VariableDeclarationList 2136498 2136577 - VariableDeclaration 2136521 2136577 - Identifier 2136521 2136549 - PrefixUnaryExpression 2136551 2136577 - PropertyAccessExpression 2136553 2136577 - Identifier 2136553 2136562 - Identifier 2136563 2136577 - IfStatement 2136578 2136923 - CallExpression 2136600 2136676 - Identifier 2136600 2136614 - ArrayLiteralExpression 2136615 2136626 - Identifier 2136616 2136625 - Identifier 2136627 2136646 - Identifier 2136647 2136675 - Block 2136677 2136923 - ExpressionStatement 2136679 2136904 - CallExpression 2136679 2136903 - Identifier 2136679 2136715 - Identifier 2136716 2136726 - CallExpression 2136727 2136902 - Identifier 2136727 2136751 - Identifier 2136752 2136760 - PropertyAccessExpression 2136761 2136901 - Identifier 2136761 2136773 - Identifier 2136774 2136901 - ExpressionStatement 2136938 2137013 - BinaryExpression 2136938 2137012 - Identifier 2136938 2136980 - EqualsToken 2136980 2136982 - Identifier 2136982 2137012 - ExpressionStatement 2137013 2137094 - BinaryExpression 2137013 2137093 - Identifier 2137013 2137057 - EqualsToken 2137057 2137059 - Identifier 2137059 2137093 - ExpressionStatement 2137094 2137173 - BinaryExpression 2137094 2137172 - Identifier 2137094 2137137 - EqualsToken 2137137 2137139 - Identifier 2137139 2137172 - FunctionDeclaration 2137184 2144138 - Identifier 2137204 2137219 - Parameter 2137220 2137243 - Identifier 2137220 2137230 - ArrayType 2137231 2137243 - TypeReference 2137231 2137241 - Identifier 2137231 2137241 - Parameter 2137244 2137292 - Identifier 2137244 2137253 - TypeReference 2137254 2137292 - Identifier 2137254 2137258 - StringKeyword 2137259 2137265 - TypeReference 2137266 2137291 - Identifier 2137266 2137291 - Parameter 2137293 2137330 - Identifier 2137293 2137321 - BooleanKeyword 2137322 2137330 - Parameter 2137331 2137366 - Identifier 2137331 2137358 - FalseKeyword 2137360 2137366 - Block 2137367 2144138 - ExpressionStatement 2137369 2137422 - BinaryExpression 2137369 2137421 - Identifier 2137369 2137409 - EqualsToken 2137409 2137411 - Identifier 2137411 2137421 - ExpressionStatement 2137422 2137479 - BinaryExpression 2137422 2137478 - Identifier 2137422 2137466 - EqualsToken 2137466 2137468 - Identifier 2137468 2137478 - ExpressionStatement 2137479 2137535 - BinaryExpression 2137479 2137534 - Identifier 2137479 2137522 - EqualsToken 2137522 2137524 - Identifier 2137524 2137534 - IfStatement 2137535 2138179 - Identifier 2137555 2137582 - Block 2137583 2138179 - VariableStatement 2137585 2137635 - VariableDeclarationList 2137585 2137634 - VariableDeclaration 2137608 2137634 - Identifier 2137608 2137618 - ElementAccessExpression 2137620 2137634 - Identifier 2137620 2137631 - NumericLiteral 2137632 2137633 - IfStatement 2137635 2137808 - BinaryExpression 2137657 2137747 - CallExpression 2137657 2137676 - Identifier 2137657 2137661 - Identifier 2137662 2137675 - BarBarToken 2137676 2137679 - PrefixUnaryExpression 2137679 2137747 - CallExpression 2137681 2137747 - Identifier 2137681 2137696 - Identifier 2137697 2137701 - Identifier 2137702 2137707 - Identifier 2137708 2137718 - Identifier 2137719 2137746 - Block 2137748 2137808 - ReturnStatement 2137750 2137789 - Identifier 2137778 2137788 - IfStatement 2137808 2138129 - CallExpression 2137830 2138005 - Identifier 2137830 2137860 - Identifier 2137861 2137865 - Identifier 2137866 2137871 - Identifier 2137872 2137882 - Identifier 2137883 2137892 - PropertyAccessExpression 2137893 2137910 - Identifier 2137893 2137903 - Identifier 2137904 2137910 - FalseKeyword 2137911 2137934 - Identifier 2137935 2137972 - Identifier 2137973 2138004 - Block 2138006 2138129 - ExpressionStatement 2138008 2138071 - BinaryExpression 2138008 2138070 - Identifier 2138008 2138056 - EqualsToken 2138056 2138058 - ArrayLiteralExpression 2138058 2138070 - Identifier 2138060 2138069 - ReturnStatement 2138071 2138110 - Identifier 2138099 2138109 - ReturnStatement 2138129 2138164 - Identifier 2138153 2138163 - ForStatement 2138179 2144094 - VariableDeclarationList 2138200 2138222 - VariableDeclaration 2138203 2138222 - Identifier 2138203 2138218 - NumericLiteral 2138220 2138222 - BinaryExpression 2138223 2138258 - Identifier 2138223 2138238 - LessThanToken 2138238 2138240 - PropertyAccessExpression 2138240 2138258 - Identifier 2138240 2138251 - Identifier 2138252 2138258 - PostfixUnaryExpression 2138259 2138276 - Identifier 2138259 2138274 - Block 2138277 2144094 - VariableStatement 2138279 2138340 - VariableDeclarationList 2138279 2138339 - VariableDeclaration 2138300 2138339 - Identifier 2138300 2138310 - ElementAccessExpression 2138312 2138339 - Identifier 2138312 2138323 - Identifier 2138324 2138338 - IfStatement 2138340 2138540 - BinaryExpression 2138362 2138487 - PrefixUnaryExpression 2138362 2138416 - CallExpression 2138363 2138416 - Identifier 2138363 2138390 - Identifier 2138391 2138400 - Identifier 2138401 2138415 - BarBarToken 2138416 2138419 - PrefixUnaryExpression 2138419 2138487 - CallExpression 2138421 2138487 - Identifier 2138421 2138436 - Identifier 2138437 2138441 - Identifier 2138442 2138447 - Identifier 2138448 2138458 - Identifier 2138459 2138486 - Block 2138488 2138540 - ContinueStatement 2138490 2138521 - VariableStatement 2138540 2138590 - VariableDeclarationList 2138540 2138589 - VariableDeclaration 2138563 2138589 - Identifier 2138563 2138578 - TypeReference 2138579 2138589 - Identifier 2138579 2138589 - VariableStatement 2138590 2138659 - VariableDeclarationList 2138590 2138658 - VariableDeclaration 2138611 2138658 - Identifier 2138611 2138628 - UnionType 2138629 2138658 - TypeReference 2138629 2138646 - Identifier 2138629 2138646 - UndefinedKeyword 2138648 2138658 - IfStatement 2138659 2141705 - PropertyAccessExpression 2138683 2138707 - Identifier 2138683 2138692 - Identifier 2138693 2138707 - Block 2138708 2141613 - VariableStatement 2138710 2139098 - VariableDeclarationList 2138710 2139097 - VariableDeclaration 2139020 2139097 - Identifier 2139020 2139034 - PropertyAccessExpression 2139036 2139097 - ElementAccessExpression 2139036 2139089 - PropertyAccessExpression 2139036 2139084 - PropertyAccessExpression 2139036 2139071 - ElementAccessExpression 2139036 2139064 - PropertyAccessExpression 2139036 2139061 - Identifier 2139036 2139046 - Identifier 2139047 2139061 - NumericLiteral 2139062 2139063 - Identifier 2139065 2139071 - Identifier 2139072 2139084 - QuestionDotToken 2139084 2139086 - NumericLiteral 2139087 2139088 - QuestionDotToken 2139089 2139091 - Identifier 2139091 2139097 - VariableStatement 2139098 2139301 - VariableDeclarationList 2139098 2139300 - VariableDeclaration 2139125 2139300 - Identifier 2139125 2139151 - BinaryExpression 2139153 2139300 - Identifier 2139153 2139167 - BarBarToken 2139167 2139170 - ParenthesizedExpression 2139170 2139300 - ConditionalExpression 2139172 2139299 - BinaryExpression 2139172 2139244 - PropertyAccessExpression 2139172 2139193 - Identifier 2139172 2139181 - Identifier 2139182 2139193 - AmpersandAmpersandToken 2139193 2139196 - CallExpression 2139196 2139244 - Identifier 2139196 2139221 - PropertyAccessExpression 2139222 2139243 - Identifier 2139222 2139231 - Identifier 2139232 2139243 - QuestionToken 2139244 2139246 - PropertyAccessExpression 2139246 2139275 - PropertyAccessExpression 2139246 2139268 - Identifier 2139246 2139256 - Identifier 2139257 2139268 - Identifier 2139269 2139275 - ColonToken 2139275 2139277 - PropertyAccessExpression 2139277 2139299 - Identifier 2139277 2139287 - Identifier 2139288 2139299 - IfStatement 2139301 2139514 - BinaryExpression 2139327 2139412 - Identifier 2139327 2139352 - AmpersandAmpersandToken 2139352 2139355 - CallExpression 2139355 2139412 - Identifier 2139355 2139368 - Identifier 2139369 2139373 - ArrowFunction 2139374 2139411 - Parameter 2139374 2139376 - Identifier 2139374 2139376 - EqualsGreaterThanToken 2139376 2139379 - BinaryExpression 2139379 2139411 - Identifier 2139379 2139381 - EqualsEqualsEqualsToken 2139381 2139385 - Identifier 2139385 2139411 - Block 2139413 2139514 - ExpressionStatement 2139415 2139491 - BinaryExpression 2139415 2139490 - Identifier 2139415 2139450 - EqualsToken 2139450 2139452 - CallExpression 2139452 2139490 - Identifier 2139452 2139479 - Identifier 2139480 2139489 - VariableStatement 2139514 2139587 - VariableDeclarationList 2139514 2139586 - VariableDeclaration 2139539 2139586 - Identifier 2139539 2139557 - UnionType 2139558 2139586 - TypeOperator 2139558 2139574 - ArrayType 2139567 2139574 - TypeReference 2139567 2139572 - Identifier 2139567 2139572 - UndefinedKeyword 2139576 2139586 - IfStatement 2139587 2140934 - CallExpression 2139613 2139632 - Identifier 2139613 2139617 - Identifier 2139618 2139631 - Block 2139633 2139962 - ExpressionStatement 2139635 2139750 - BinaryExpression 2139635 2139749 - Identifier 2139635 2139678 - EqualsToken 2139678 2139680 - CallExpression 2139680 2139749 - Identifier 2139680 2139699 - Identifier 2139700 2139709 - Identifier 2139710 2139724 - FalseKeyword 2139725 2139748 - IfStatement 2139750 2139939 - PrefixUnaryExpression 2139780 2139798 - Identifier 2139781 2139798 - Block 2139799 2139939 - ExpressionStatement 2139801 2139873 - BinaryExpression 2139801 2139872 - Identifier 2139801 2139860 - EqualsToken 2139860 2139862 - Identifier 2139862 2139872 - ContinueStatement 2139873 2139912 - Block 2139988 2140934 - ExpressionStatement 2139990 2140174 - BinaryExpression 2139990 2140173 - Identifier 2139990 2140032 - EqualsToken 2140032 2140034 - CallExpression 2140034 2140173 - Identifier 2140034 2140057 - NonNullExpression 2140058 2140083 - PropertyAccessExpression 2140058 2140082 - Identifier 2140058 2140067 - Identifier 2140068 2140082 - Identifier 2140084 2140094 - ConditionalExpression 2140095 2140172 - CallExpression 2140095 2140122 - Identifier 2140095 2140116 - Identifier 2140117 2140121 - QuestionToken 2140122 2140124 - PropertyAccessExpression 2140124 2140150 - Identifier 2140124 2140139 - Identifier 2140140 2140150 - ColonToken 2140150 2140152 - PropertyAccessExpression 2140152 2140172 - Identifier 2140152 2140167 - Identifier 2140168 2140172 - ExpressionStatement 2140174 2140754 - BinaryExpression 2140174 2140753 - Identifier 2140174 2140592 - EqualsToken 2140592 2140594 - CallExpression 2140594 2140753 - Identifier 2140594 2140611 - CallExpression 2140612 2140718 - Identifier 2140612 2140630 - Identifier 2140631 2140635 - Identifier 2140636 2140646 - Identifier 2140647 2140652 - BinaryExpression 2140653 2140699 - Identifier 2140653 2140666 - BarToken 2140666 2140668 - PropertyAccessExpression 2140668 2140699 - Identifier 2140668 2140678 - Identifier 2140679 2140699 - Identifier 2140700 2140717 - PropertyAccessExpression 2140719 2140752 - Identifier 2140719 2140736 - Identifier 2140737 2140752 - ExpressionStatement 2140754 2140911 - BinaryExpression 2140754 2140910 - Identifier 2140754 2140792 - BarEqualsToken 2140792 2140795 - ConditionalExpression 2140795 2140910 - BinaryExpression 2140795 2140858 - PropertyAccessExpression 2140795 2140818 - Identifier 2140795 2140812 - Identifier 2140813 2140818 - AmpersandToken 2140818 2140820 - PropertyAccessExpression 2140820 2140858 - Identifier 2140820 2140835 - Identifier 2140836 2140858 - QuestionToken 2140858 2140860 - PropertyAccessExpression 2140860 2140891 - Identifier 2140860 2140870 - Identifier 2140871 2140891 - ColonToken 2140891 2140893 - PropertyAccessExpression 2140893 2140910 - Identifier 2140893 2140903 - Identifier 2140904 2140910 - ExpressionStatement 2140934 2141125 - BinaryExpression 2140934 2141124 - Identifier 2140934 2140970 - EqualsToken 2140970 2140972 - CallExpression 2140972 2141124 - Identifier 2140972 2140998 - Identifier 2140999 2141008 - Identifier 2141009 2141027 - CallExpression 2141028 2141062 - Identifier 2141028 2141039 - PropertyAccessExpression 2141040 2141061 - Identifier 2141040 2141049 - Identifier 2141050 2141061 - BinaryExpression 2141063 2141123 - Identifier 2141063 2141080 - AmpersandAmpersandToken 2141080 2141083 - PropertyAccessExpression 2141083 2141123 - Identifier 2141083 2141100 - Identifier 2141101 2141123 - IfStatement 2141125 2141594 - BinaryExpression 2141353 2141459 - CallExpression 2141353 2141383 - Identifier 2141353 2141372 - Identifier 2141373 2141382 - AmpersandAmpersandToken 2141383 2141386 - PrefixUnaryExpression 2141386 2141459 - CallExpression 2141388 2141459 - Identifier 2141388 2141403 - Identifier 2141404 2141408 - Identifier 2141409 2141414 - Identifier 2141415 2141430 - Identifier 2141431 2141458 - Block 2141460 2141594 - ExpressionStatement 2141462 2141536 - BinaryExpression 2141462 2141535 - Identifier 2141462 2141518 - EqualsToken 2141518 2141520 - Identifier 2141520 2141535 - ContinueStatement 2141536 2141571 - Block 2141635 2141705 - ExpressionStatement 2141637 2141686 - BinaryExpression 2141637 2141685 - Identifier 2141637 2141673 - EqualsToken 2141673 2141675 - Identifier 2141675 2141685 - IfStatement 2141705 2142168 - CallExpression 2141727 2141889 - Identifier 2141727 2141757 - Identifier 2141758 2141762 - Identifier 2141763 2141768 - Identifier 2141769 2141784 - Identifier 2141785 2141794 - Identifier 2141795 2141808 - FalseKeyword 2141809 2141832 - Identifier 2141833 2141870 - Identifier 2141871 2141888 - Block 2141890 2142168 - ExpressionStatement 2141892 2142118 - CallExpression 2141892 2142117 - PropertyAccessExpression 2141892 2142101 - ParenthesizedExpression 2141892 2142096 - BinaryExpression 2142032 2142095 - Identifier 2142032 2142058 - BarBarToken 2142058 2142061 - ParenthesizedExpression 2142061 2142095 - BinaryExpression 2142063 2142094 - Identifier 2142063 2142089 - EqualsToken 2142089 2142091 - ArrayLiteralExpression 2142091 2142094 - Identifier 2142097 2142101 - Identifier 2142102 2142116 - ContinueStatement 2142118 2142149 - IfStatement 2142168 2143977 - Identifier 2142190 2142202 - Block 2142203 2143977 - ExpressionStatement 2142205 2142570 - BinaryExpression 2142205 2142569 - Identifier 2142205 2142550 - EqualsToken 2142550 2142552 - PropertyAccessExpression 2142552 2142569 - Identifier 2142552 2142562 - Identifier 2142563 2142569 - IfStatement 2142570 2143475 - Identifier 2142596 2142612 - Block 2142613 2143475 - VariableStatement 2142615 2142784 - VariableDeclarationList 2142615 2142783 - VariableDeclaration 2142646 2142783 - Identifier 2142646 2142664 - CallExpression 2142666 2142783 - Identifier 2142666 2142683 - CallExpression 2142684 2142757 - Identifier 2142684 2142702 - Identifier 2142703 2142707 - Identifier 2142708 2142718 - Identifier 2142719 2142724 - Identifier 2142725 2142738 - Identifier 2142739 2142756 - PropertyAccessExpression 2142758 2142782 - Identifier 2142758 2142775 - Identifier 2142776 2142782 - ExpressionStatement 2142784 2142959 - BinaryExpression 2142784 2142958 - Identifier 2142784 2142824 - EqualsToken 2142824 2142826 - CallExpression 2142826 2142958 - Identifier 2142826 2142852 - Identifier 2142853 2142862 - Identifier 2142863 2142881 - CallExpression 2142882 2142916 - Identifier 2142882 2142893 - PropertyAccessExpression 2142894 2142915 - Identifier 2142894 2142903 - Identifier 2142904 2142915 - PropertyAccessExpression 2142917 2142957 - Identifier 2142917 2142934 - Identifier 2142935 2142957 - IfStatement 2142959 2143452 - BinaryExpression 2143199 2143305 - CallExpression 2143199 2143229 - Identifier 2143199 2143218 - Identifier 2143219 2143228 - AmpersandAmpersandToken 2143229 2143232 - PrefixUnaryExpression 2143232 2143305 - CallExpression 2143234 2143305 - Identifier 2143234 2143249 - Identifier 2143250 2143254 - Identifier 2143255 2143260 - Identifier 2143261 2143276 - Identifier 2143277 2143304 - Block 2143306 2143452 - ExpressionStatement 2143308 2143386 - BinaryExpression 2143308 2143385 - Identifier 2143308 2143368 - EqualsToken 2143368 2143370 - Identifier 2143370 2143385 - ContinueStatement 2143386 2143425 - IfStatement 2143475 2143958 - CallExpression 2143501 2143663 - Identifier 2143501 2143531 - Identifier 2143532 2143536 - Identifier 2143537 2143542 - Identifier 2143543 2143558 - Identifier 2143559 2143568 - Identifier 2143569 2143582 - FalseKeyword 2143583 2143606 - Identifier 2143607 2143644 - Identifier 2143645 2143662 - Block 2143664 2143958 - ExpressionStatement 2143666 2143900 - CallExpression 2143666 2143899 - PropertyAccessExpression 2143666 2143883 - ParenthesizedExpression 2143666 2143878 - BinaryExpression 2143814 2143877 - Identifier 2143814 2143840 - BarBarToken 2143840 2143843 - ParenthesizedExpression 2143843 2143877 - BinaryExpression 2143845 2143876 - Identifier 2143845 2143871 - EqualsToken 2143871 2143873 - ArrayLiteralExpression 2143873 2143876 - Identifier 2143879 2143883 - Identifier 2143884 2143898 - ContinueStatement 2143900 2143935 - ExpressionStatement 2143977 2144039 - BinaryExpression 2143977 2144038 - ElementAccessExpression 2143977 2144021 - Identifier 2143977 2144005 - Identifier 2144006 2144020 - EqualsToken 2144021 2144023 - Identifier 2144023 2144038 - ReturnStatement 2144039 2144079 - Identifier 2144063 2144078 - ReturnStatement 2144094 2144127 - Identifier 2144116 2144126 - FunctionDeclaration 2144145 2145160 - Identifier 2144261 2144292 - Parameter 2144293 2144327 - Identifier 2144293 2144307 - TypeReference 2144308 2144327 - Identifier 2144308 2144327 - Parameter 2144328 2144361 - Identifier 2144328 2144348 - ArrayType 2144349 2144361 - TypeReference 2144349 2144359 - Identifier 2144349 2144359 - Parameter 2144362 2144399 - Identifier 2144362 2144376 - TypeOperator 2144377 2144399 - ArrayType 2144386 2144399 - TypeReference 2144386 2144397 - Identifier 2144386 2144397 - Parameter 2144400 2144440 - Identifier 2144400 2144431 - BooleanKeyword 2144432 2144440 - Parameter 2144441 2144471 - Identifier 2144441 2144460 - TypeReference 2144461 2144471 - Identifier 2144461 2144471 - TypeReference 2144480 2144490 - Identifier 2144480 2144490 - Block 2144490 2145160 - ExpressionStatement 2144492 2144538 - CallExpression 2144492 2144537 - PropertyAccessExpression 2144492 2144514 - Identifier 2144492 2144507 - Identifier 2144508 2144514 - BinaryExpression 2144515 2144536 - PropertyAccessExpression 2144515 2144532 - Identifier 2144515 2144525 - Identifier 2144526 2144532 - GreaterThanToken 2144532 2144534 - NumericLiteral 2144534 2144536 - ExpressionStatement 2144538 2144609 - CallExpression 2144538 2144608 - Identifier 2144538 2144602 - Identifier 2144603 2144607 - ReturnStatement 2144609 2145153 - ConditionalExpression 2144910 2145152 - BinaryExpression 2144910 2145003 - BinaryExpression 2144910 2144959 - Identifier 2144910 2144932 - BarBarToken 2144932 2144935 - BinaryExpression 2144935 2144959 - PropertyAccessExpression 2144935 2144953 - Identifier 2144935 2144946 - Identifier 2144947 2144953 - EqualsEqualsEqualsToken 2144953 2144957 - NumericLiteral 2144957 2144959 - BarBarToken 2144959 2144962 - CallExpression 2144962 2145003 - PropertyAccessExpression 2144962 2144978 - Identifier 2144962 2144973 - Identifier 2144974 2144978 - ArrowFunction 2144979 2145002 - Parameter 2144979 2144980 - Identifier 2144979 2144980 - EqualsGreaterThanToken 2144980 2144983 - PrefixUnaryExpression 2144983 2145002 - PrefixUnaryExpression 2144985 2145002 - PropertyAccessExpression 2144986 2145002 - Identifier 2144986 2144987 - Identifier 2144988 2145002 - QuestionToken 2145003 2145018 - CallExpression 2145018 2145083 - Identifier 2145018 2145048 - Identifier 2145049 2145053 - Identifier 2145054 2145065 - Identifier 2145066 2145071 - Identifier 2145072 2145082 - ColonToken 2145083 2145098 - CallExpression 2145098 2145152 - Identifier 2145098 2145140 - Identifier 2145141 2145151 - FunctionDeclaration 2145160 2147384 - Identifier 2145176 2145218 - Parameter 2145219 2145251 - Identifier 2145219 2145229 - TypeOperator 2145230 2145251 - ArrayType 2145239 2145251 - TypeReference 2145239 2145249 - Identifier 2145239 2145249 - TypeReference 2145253 2145263 - Identifier 2145253 2145263 - Block 2145263 2147384 - VariableStatement 2145265 2145343 - VariableDeclarationList 2145265 2145342 - VariableDeclaration 2145280 2145342 - Identifier 2145280 2145295 - CallExpression 2145297 2145342 - Identifier 2145297 2145308 - Identifier 2145309 2145319 - ArrowFunction 2145320 2145341 - Parameter 2145320 2145322 - Identifier 2145320 2145322 - EqualsGreaterThanToken 2145322 2145325 - PropertyAccessExpression 2145325 2145341 - Identifier 2145325 2145327 - Identifier 2145328 2145341 - VariableStatement 2145343 2145391 - VariableDeclarationList 2145343 2145390 - VariableDeclaration 2145356 2145390 - Identifier 2145356 2145370 - UnionType 2145371 2145390 - TypeReference 2145371 2145378 - Identifier 2145371 2145378 - UndefinedKeyword 2145380 2145390 - IfStatement 2145391 2145556 - PropertyAccessExpression 2145405 2145426 - Identifier 2145405 2145419 - Identifier 2145420 2145426 - Block 2145427 2145556 - ExpressionStatement 2145429 2145545 - BinaryExpression 2145429 2145544 - Identifier 2145429 2145456 - EqualsToken 2145456 2145458 - CallExpression 2145458 2145544 - Identifier 2145458 2145488 - Identifier 2145489 2145503 - CallExpression 2145504 2145543 - PropertyAccessExpression 2145504 2145523 - Identifier 2145504 2145519 - Identifier 2145520 2145523 - Identifier 2145524 2145542 - VariableStatement 2145556 2145669 - VariableDeclarationList 2145556 2145668 - VariableDeclaration 2145571 2145668 - ObjectBindingPattern 2145571 2145619 - BindingElement 2145573 2145595 - Identifier 2145573 2145577 - Identifier 2145578 2145595 - BindingElement 2145596 2145617 - Identifier 2145596 2145600 - Identifier 2145601 2145617 - CallExpression 2145621 2145668 - Identifier 2145621 2145631 - Identifier 2145632 2145642 - Identifier 2145643 2145667 - VariableStatement 2145669 2145711 - VariableDeclarationList 2145669 2145710 - VariableDeclaration 2145684 2145710 - Identifier 2145684 2145695 - ArrayType 2145696 2145705 - TypeReference 2145696 2145703 - Identifier 2145696 2145703 - ArrayLiteralExpression 2145707 2145710 - ForStatement 2145711 2146239 - VariableDeclarationList 2145726 2145735 - VariableDeclaration 2145729 2145735 - Identifier 2145729 2145731 - NumericLiteral 2145733 2145735 - BinaryExpression 2145736 2145756 - Identifier 2145736 2145738 - LessThanToken 2145738 2145740 - Identifier 2145740 2145756 - PostfixUnaryExpression 2145757 2145761 - Identifier 2145757 2145759 - Block 2145762 2146239 - VariableStatement 2145764 2146036 - VariableDeclarationList 2145764 2146035 - VariableDeclaration 2145783 2146035 - Identifier 2145783 2145791 - CallExpression 2145793 2146035 - Identifier 2145793 2145804 - Identifier 2145805 2145815 - ArrowFunction 2145816 2146034 - Parameter 2145816 2145818 - Identifier 2145816 2145818 - EqualsGreaterThanToken 2145818 2145821 - ConditionalExpression 2145821 2146034 - CallExpression 2145821 2145867 - Identifier 2145821 2145864 - Identifier 2145865 2145866 - QuestionToken 2145867 2145869 - ConditionalExpression 2145869 2145957 - BinaryExpression 2145869 2145918 - Identifier 2145869 2145892 - LessThanToken 2145892 2145894 - BinaryExpression 2145894 2145918 - PropertyAccessExpression 2145894 2145914 - PropertyAccessExpression 2145894 2145907 - Identifier 2145894 2145896 - Identifier 2145897 2145907 - Identifier 2145908 2145914 - MinusToken 2145914 2145916 - NumericLiteral 2145916 2145918 - QuestionToken 2145918 2145920 - ElementAccessExpression 2145920 2145936 - PropertyAccessExpression 2145920 2145933 - Identifier 2145920 2145922 - Identifier 2145923 2145933 - Identifier 2145934 2145935 - ColonToken 2145936 2145938 - CallExpression 2145938 2145957 - Identifier 2145938 2145943 - PropertyAccessExpression 2145944 2145956 - Identifier 2145944 2145945 - Identifier 2145946 2145956 - ColonToken 2145957 2145959 - ConditionalExpression 2145959 2146034 - BinaryExpression 2145959 2146004 - Identifier 2145959 2145982 - LessThanToken 2145982 2145984 - PropertyAccessExpression 2145984 2146004 - PropertyAccessExpression 2145984 2145997 - Identifier 2145984 2145986 - Identifier 2145987 2145997 - Identifier 2145998 2146004 - QuestionToken 2146004 2146006 - ElementAccessExpression 2146006 2146022 - PropertyAccessExpression 2146006 2146019 - Identifier 2146006 2146008 - Identifier 2146009 2146019 - Identifier 2146020 2146021 - ColonToken 2146022 2146024 - Identifier 2146024 2146034 - ExpressionStatement 2146036 2146085 - CallExpression 2146036 2146084 - PropertyAccessExpression 2146036 2146062 - Identifier 2146036 2146055 - Identifier 2146056 2146062 - BinaryExpression 2146063 2146083 - PropertyAccessExpression 2146063 2146077 - Identifier 2146063 2146070 - Identifier 2146071 2146077 - ExclamationEqualsEqualsToken 2146077 2146081 - NumericLiteral 2146081 2146083 - ExpressionStatement 2146085 2146228 - CallExpression 2146085 2146227 - PropertyAccessExpression 2146085 2146114 - Identifier 2146085 2146109 - Identifier 2146110 2146114 - CallExpression 2146115 2146226 - Identifier 2146115 2146144 - Identifier 2146145 2146152 - CallExpression 2146153 2146225 - Identifier 2146153 2146164 - Identifier 2146165 2146175 - ArrowFunction 2146176 2146224 - Parameter 2146176 2146186 - Identifier 2146176 2146186 - EqualsGreaterThanToken 2146186 2146189 - CallExpression 2146189 2146224 - Identifier 2146189 2146210 - Identifier 2146211 2146220 - Identifier 2146221 2146223 - VariableStatement 2146239 2146369 - VariableDeclarationList 2146239 2146368 - VariableDeclaration 2146254 2146368 - Identifier 2146254 2146275 - CallExpression 2146277 2146368 - Identifier 2146277 2146288 - Identifier 2146289 2146299 - ArrowFunction 2146300 2146367 - Parameter 2146300 2146302 - Identifier 2146300 2146302 - EqualsGreaterThanToken 2146302 2146305 - ConditionalExpression 2146305 2146367 - CallExpression 2146305 2146334 - Identifier 2146305 2146331 - Identifier 2146332 2146333 - QuestionToken 2146334 2146336 - CallExpression 2146336 2146355 - Identifier 2146336 2146341 - PropertyAccessExpression 2146342 2146354 - Identifier 2146342 2146343 - Identifier 2146344 2146354 - ColonToken 2146355 2146357 - Identifier 2146357 2146367 - VariableStatement 2146369 2146445 - VariableDeclarationList 2146369 2146444 - VariableDeclaration 2146382 2146444 - Identifier 2146382 2146388 - PropertyAccessExpression 2146390 2146444 - Identifier 2146390 2146405 - Identifier 2146406 2146444 - IfStatement 2146445 2146791 - BinaryExpression 2146459 2146492 - PropertyAccessExpression 2146459 2146486 - Identifier 2146459 2146479 - Identifier 2146480 2146486 - ExclamationEqualsEqualsToken 2146486 2146490 - NumericLiteral 2146490 2146492 - Block 2146493 2146791 - VariableStatement 2146495 2146627 - VariableDeclarationList 2146495 2146626 - VariableDeclaration 2146514 2146626 - Identifier 2146514 2146519 - CallExpression 2146521 2146626 - Identifier 2146521 2146537 - CallExpression 2146538 2146625 - Identifier 2146538 2146550 - CallExpression 2146551 2146600 - Identifier 2146551 2146561 - Identifier 2146562 2146572 - Identifier 2146573 2146599 - PropertyAccessExpression 2146601 2146624 - Identifier 2146601 2146616 - Identifier 2146617 2146624 - ExpressionStatement 2146627 2146725 - CallExpression 2146627 2146724 - PropertyAccessExpression 2146627 2146656 - Identifier 2146627 2146651 - Identifier 2146652 2146656 - CallExpression 2146657 2146723 - Identifier 2146657 2146695 - Identifier 2146696 2146716 - Identifier 2146717 2146722 - ExpressionStatement 2146725 2146780 - BinaryExpression 2146725 2146779 - Identifier 2146725 2146744 - BarEqualsToken 2146744 2146747 - PropertyAccessExpression 2146747 2146779 - Identifier 2146747 2146762 - Identifier 2146763 2146779 - IfStatement 2146791 2146914 - CallExpression 2146805 2146846 - PropertyAccessExpression 2146805 2146820 - Identifier 2146805 2146815 - Identifier 2146816 2146820 - Identifier 2146821 2146845 - Block 2146847 2146914 - ExpressionStatement 2146849 2146903 - BinaryExpression 2146849 2146902 - Identifier 2146849 2146868 - BarEqualsToken 2146868 2146871 - PropertyAccessExpression 2146871 2146902 - Identifier 2146871 2146886 - Identifier 2146887 2146902 - ReturnStatement 2146914 2147377 - CallExpression 2146930 2147376 - Identifier 2146930 2146946 - PropertyAccessExpression 2146947 2146986 - ElementAccessExpression 2146947 2146974 - Identifier 2146947 2146971 - NumericLiteral 2146972 2146973 - Identifier 2146975 2146986 - Identifier 2146987 2147029 - Identifier 2147030 2147139 - Identifier 2147140 2147164 - CallExpression 2147165 2147263 - Identifier 2147165 2147221 - CallExpression 2147222 2147262 - PropertyAccessExpression 2147222 2147236 - Identifier 2147222 2147232 - Identifier 2147233 2147236 - Identifier 2147237 2147261 - Identifier 2147264 2147313 - Identifier 2147314 2147344 - Identifier 2147345 2147364 - FunctionDeclaration 2147384 2147601 - Identifier 2147400 2147424 - Parameter 2147425 2147445 - Identifier 2147425 2147434 - TypeReference 2147435 2147445 - Identifier 2147435 2147445 - NumberKeyword 2147447 2147454 - Block 2147454 2147601 - VariableStatement 2147456 2147512 - VariableDeclarationList 2147456 2147511 - VariableDeclaration 2147471 2147511 - Identifier 2147471 2147481 - PropertyAccessExpression 2147483 2147511 - PropertyAccessExpression 2147483 2147504 - Identifier 2147483 2147493 - Identifier 2147494 2147504 - Identifier 2147505 2147511 - ReturnStatement 2147512 2147594 - ConditionalExpression 2147528 2147593 - CallExpression 2147528 2147565 - Identifier 2147528 2147554 - Identifier 2147555 2147564 - QuestionToken 2147565 2147567 - BinaryExpression 2147567 2147581 - Identifier 2147567 2147577 - MinusToken 2147577 2147579 - NumericLiteral 2147579 2147581 - ColonToken 2147581 2147583 - Identifier 2147583 2147593 - FunctionDeclaration 2147601 2147817 - Identifier 2147617 2147647 - Parameter 2147648 2147674 - Identifier 2147648 2147655 - TypeOperator 2147656 2147674 - ArrayType 2147665 2147674 - TypeReference 2147665 2147672 - Identifier 2147665 2147672 - Parameter 2147675 2147689 - Identifier 2147675 2147681 - ArrayType 2147682 2147689 - TypeReference 2147682 2147687 - Identifier 2147682 2147687 - TypeReference 2147691 2147698 - Identifier 2147691 2147698 - Block 2147698 2147817 - ReturnStatement 2147700 2147810 - CallExpression 2147716 2147809 - Identifier 2147716 2147755 - Identifier 2147756 2147763 - CallExpression 2147764 2147808 - Identifier 2147764 2147777 - Identifier 2147778 2147783 - PropertyAccessExpression 2147784 2147807 - Identifier 2147784 2147799 - Identifier 2147800 2147807 - FunctionDeclaration 2147817 2148113 - Identifier 2147833 2147872 - Parameter 2147873 2147899 - Identifier 2147873 2147880 - TypeOperator 2147881 2147899 - ArrayType 2147890 2147899 - TypeReference 2147890 2147897 - Identifier 2147890 2147897 - Parameter 2147900 2147911 - Identifier 2147900 2147905 - TypeReference 2147906 2147911 - Identifier 2147906 2147911 - TypeReference 2147913 2147920 - Identifier 2147913 2147920 - Block 2147920 2148113 - ReturnStatement 2147922 2148106 - CallExpression 2148062 2148105 - Identifier 2148062 2148083 - CallExpression 2148084 2148098 - Identifier 2148084 2148089 - Identifier 2148090 2148097 - Identifier 2148099 2148104 - FunctionDeclaration 2148113 2149515 - Identifier 2148129 2148159 - Parameter 2148160 2148184 - Identifier 2148160 2148164 - TypeReference 2148165 2148184 - Identifier 2148165 2148184 - Parameter 2148185 2148209 - Identifier 2148185 2148196 - ArrayType 2148197 2148209 - TypeReference 2148197 2148207 - Identifier 2148197 2148207 - Parameter 2148210 2148238 - Identifier 2148210 2148215 - TypeOperator 2148216 2148238 - ArrayType 2148225 2148238 - TypeReference 2148225 2148236 - Identifier 2148225 2148236 - Parameter 2148239 2148260 - Identifier 2148239 2148249 - TypeReference 2148250 2148260 - Identifier 2148250 2148260 - TypeReference 2148262 2148272 - Identifier 2148262 2148272 - Block 2148272 2149515 - VariableStatement 2148274 2148816 - VariableDeclarationList 2148274 2148815 - VariableDeclaration 2148691 2148815 - Identifier 2148691 2148701 - CallExpression 2148703 2148815 - Identifier 2148703 2148728 - Identifier 2148729 2148739 - ConditionalExpression 2148740 2148814 - BinaryExpression 2148740 2148776 - Identifier 2148740 2148762 - EqualsEqualsEqualsToken 2148762 2148766 - Identifier 2148766 2148776 - QuestionToken 2148776 2148778 - PropertyAccessExpression 2148778 2148790 - Identifier 2148778 2148783 - Identifier 2148784 2148790 - ColonToken 2148790 2148792 - Identifier 2148792 2148814 - VariableStatement 2148816 2148866 - VariableDeclarationList 2148816 2148865 - VariableDeclaration 2148831 2148865 - Identifier 2148831 2148841 - ElementAccessExpression 2148843 2148865 - Identifier 2148843 2148854 - Identifier 2148855 2148864 - VariableStatement 2148866 2148913 - VariableDeclarationList 2148866 2148912 - VariableDeclaration 2148881 2148912 - ObjectBindingPattern 2148881 2148900 - BindingElement 2148883 2148898 - Identifier 2148883 2148898 - Identifier 2148902 2148912 - IfStatement 2148913 2148987 - PrefixUnaryExpression 2148927 2148942 - Identifier 2148928 2148942 - Block 2148943 2148987 - ReturnStatement 2148945 2148976 - Identifier 2148965 2148975 - VariableStatement 2148987 2149136 - VariableDeclarationList 2148987 2149135 - VariableDeclaration 2149004 2149135 - Identifier 2149004 2149022 - UnionType 2149023 2149055 - TypeOperator 2149023 2149043 - ArrayType 2149032 2149043 - TypeReference 2149032 2149041 - Identifier 2149032 2149041 - UndefinedKeyword 2149045 2149055 - ConditionalExpression 2149057 2149135 - CallExpression 2149057 2149102 - Identifier 2149057 2149096 - Identifier 2149097 2149101 - QuestionToken 2149102 2149104 - PropertyAccessExpression 2149104 2149123 - Identifier 2149104 2149109 - Identifier 2149110 2149123 - ColonToken 2149123 2149125 - Identifier 2149125 2149135 - VariableStatement 2149136 2149431 - VariableDeclarationList 2149136 2149430 - VariableDeclaration 2149151 2149430 - Identifier 2149151 2149164 - ConditionalExpression 2149166 2149430 - Identifier 2149166 2149184 - QuestionToken 2149184 2149199 - CallExpression 2149199 2149319 - Identifier 2149199 2149228 - Identifier 2149229 2149238 - CallExpression 2149239 2149318 - Identifier 2149239 2149265 - Identifier 2149266 2149283 - Identifier 2149284 2149299 - CallExpression 2149300 2149317 - Identifier 2149300 2149311 - Identifier 2149312 2149316 - ColonToken 2149319 2149334 - CallExpression 2149334 2149430 - Identifier 2149334 2149380 - Identifier 2149381 2149385 - Identifier 2149386 2149401 - Identifier 2149402 2149412 - Identifier 2149413 2149418 - Identifier 2149419 2149429 - ExpressionStatement 2149431 2149478 - BinaryExpression 2149431 2149477 - ElementAccessExpression 2149431 2149462 - Identifier 2149431 2149451 - Identifier 2149452 2149461 - EqualsToken 2149462 2149464 - Identifier 2149464 2149477 - ReturnStatement 2149478 2149508 - Identifier 2149494 2149507 - FunctionDeclaration 2149515 2150170 - Identifier 2149531 2149557 - Parameter 2149558 2149596 - Identifier 2149558 2149575 - TypeOperator 2149576 2149596 - ArrayType 2149585 2149596 - TypeReference 2149585 2149594 - Identifier 2149585 2149594 - Parameter 2149597 2149638 - Identifier 2149597 2149612 - TypeOperator 2149613 2149638 - ArrayType 2149622 2149638 - TypeReference 2149622 2149636 - Identifier 2149622 2149636 - Parameter 2149639 2149653 - Identifier 2149639 2149644 - BooleanKeyword 2149645 2149653 - TypeOperator 2149655 2149671 - ArrayType 2149664 2149671 - TypeReference 2149664 2149669 - Identifier 2149664 2149669 - Block 2149671 2150170 - VariableStatement 2149673 2149742 - VariableDeclarationList 2149673 2149741 - VariableDeclaration 2149688 2149741 - Identifier 2149688 2149702 - CallExpression 2149704 2149741 - PropertyAccessExpression 2149704 2149726 - Identifier 2149704 2149722 - Identifier 2149723 2149726 - Identifier 2149727 2149740 - WhileStatement 2149742 2149851 - BinaryExpression 2149759 2149803 - PropertyAccessExpression 2149759 2149779 - Identifier 2149759 2149772 - Identifier 2149773 2149779 - GreaterThanToken 2149779 2149781 - PropertyAccessExpression 2149781 2149803 - Identifier 2149781 2149796 - Identifier 2149797 2149803 - Block 2149804 2149851 - ExpressionStatement 2149806 2149840 - CallExpression 2149806 2149839 - PropertyAccessExpression 2149806 2149837 - Identifier 2149806 2149833 - Identifier 2149834 2149837 - WhileStatement 2149851 2150132 - BinaryExpression 2149868 2149912 - PropertyAccessExpression 2149868 2149888 - Identifier 2149868 2149881 - Identifier 2149882 2149888 - LessThanToken 2149888 2149890 - PropertyAccessExpression 2149890 2149912 - Identifier 2149890 2149905 - Identifier 2149906 2149912 - Block 2149913 2150132 - ExpressionStatement 2149915 2150121 - CallExpression 2149915 2150120 - PropertyAccessExpression 2149915 2149947 - Identifier 2149915 2149942 - Identifier 2149943 2149947 - BinaryExpression 2149948 2150119 - BinaryExpression 2149948 2150083 - CallExpression 2149948 2150013 - Identifier 2149948 2149975 - ElementAccessExpression 2149976 2150012 - Identifier 2149976 2149990 - PropertyAccessExpression 2149991 2150011 - Identifier 2149991 2150004 - Identifier 2150005 2150011 - BarBarToken 2150013 2150016 - CallExpression 2150016 2150083 - Identifier 2150016 2150045 - ElementAccessExpression 2150046 2150082 - Identifier 2150046 2150060 - PropertyAccessExpression 2150061 2150081 - Identifier 2150061 2150074 - Identifier 2150075 2150081 - BarBarToken 2150083 2150086 - CallExpression 2150086 2150119 - Identifier 2150086 2150113 - Identifier 2150114 2150118 - ReturnStatement 2150132 2150163 - Identifier 2150148 2150162 - FunctionDeclaration 2150170 2150805 - Identifier 2150186 2150232 - Parameter 2150233 2150257 - Identifier 2150233 2150237 - TypeReference 2150238 2150257 - Identifier 2150238 2150257 - Parameter 2150258 2150299 - Identifier 2150258 2150273 - TypeOperator 2150274 2150299 - ArrayType 2150283 2150299 - TypeReference 2150283 2150297 - Identifier 2150283 2150297 - Parameter 2150300 2150321 - Identifier 2150300 2150310 - TypeReference 2150311 2150321 - Identifier 2150311 2150321 - Parameter 2150322 2150350 - Identifier 2150322 2150327 - TypeOperator 2150328 2150350 - ArrayType 2150337 2150350 - TypeReference 2150337 2150348 - Identifier 2150337 2150348 - Parameter 2150351 2150372 - Identifier 2150351 2150361 - TypeReference 2150362 2150372 - Identifier 2150362 2150372 - TypeReference 2150374 2150384 - Identifier 2150374 2150384 - Block 2150384 2150805 - VariableStatement 2150386 2150549 - VariableDeclarationList 2150386 2150548 - VariableDeclaration 2150401 2150548 - Identifier 2150401 2150418 - CallExpression 2150420 2150548 - Identifier 2150420 2150443 - Identifier 2150444 2150458 - Identifier 2150459 2150469 - ConditionalExpression 2150470 2150547 - CallExpression 2150470 2150497 - Identifier 2150470 2150491 - Identifier 2150492 2150496 - QuestionToken 2150497 2150499 - PropertyAccessExpression 2150499 2150525 - Identifier 2150499 2150514 - Identifier 2150515 2150525 - ColonToken 2150525 2150527 - PropertyAccessExpression 2150527 2150547 - Identifier 2150527 2150542 - Identifier 2150543 2150547 - VariableStatement 2150549 2150722 - VariableDeclarationList 2150549 2150721 - VariableDeclaration 2150564 2150721 - Identifier 2150564 2150582 - CallExpression 2150584 2150721 - Identifier 2150584 2150603 - Identifier 2150604 2150608 - Identifier 2150609 2150619 - Identifier 2150620 2150625 - BinaryExpression 2150626 2150702 - BinaryExpression 2150626 2150669 - Identifier 2150626 2150636 - BarToken 2150636 2150638 - PropertyAccessExpression 2150638 2150669 - Identifier 2150638 2150648 - Identifier 2150649 2150669 - BarToken 2150669 2150671 - PropertyAccessExpression 2150671 2150702 - Identifier 2150671 2150681 - Identifier 2150682 2150702 - Identifier 2150703 2150720 - ReturnStatement 2150722 2150798 - CallExpression 2150738 2150797 - Identifier 2150738 2150767 - Identifier 2150768 2150777 - Identifier 2150778 2150796 - FunctionDeclaration 2150805 2151442 - Identifier 2150821 2150846 - Parameter 2150847 2150870 - Identifier 2150847 2150857 - ArrayType 2150858 2150870 - TypeReference 2150858 2150868 - Identifier 2150858 2150868 - Parameter 2150871 2150889 - Identifier 2150871 2150881 - NumberKeyword 2150882 2150889 - NumberKeyword 2150891 2150898 - Block 2150898 2151442 - VariableStatement 2150900 2150934 - VariableDeclarationList 2150900 2150933 - VariableDeclaration 2150913 2150933 - Identifier 2150913 2150928 - PrefixUnaryExpression 2150930 2150933 - NumericLiteral 2150932 2150933 - VariableStatement 2150934 2150963 - VariableDeclarationList 2150934 2150962 - VariableDeclaration 2150947 2150962 - Identifier 2150947 2150957 - PrefixUnaryExpression 2150959 2150962 - NumericLiteral 2150961 2150962 - ForStatement 2150963 2151401 - VariableDeclarationList 2150980 2150989 - VariableDeclaration 2150983 2150989 - Identifier 2150983 2150985 - NumericLiteral 2150987 2150989 - BinaryExpression 2150990 2151012 - Identifier 2150990 2150992 - LessThanToken 2150992 2150994 - PropertyAccessExpression 2150994 2151012 - Identifier 2150994 2151005 - Identifier 2151006 2151012 - PostfixUnaryExpression 2151013 2151017 - Identifier 2151013 2151015 - Block 2151018 2151401 - VariableStatement 2151020 2151066 - VariableDeclarationList 2151020 2151065 - VariableDeclaration 2151039 2151065 - Identifier 2151039 2151049 - ElementAccessExpression 2151051 2151065 - Identifier 2151051 2151062 - Identifier 2151063 2151064 - VariableStatement 2151066 2151128 - VariableDeclarationList 2151066 2151127 - VariableDeclaration 2151085 2151127 - Identifier 2151085 2151096 - CallExpression 2151098 2151127 - Identifier 2151098 2151116 - Identifier 2151117 2151126 - IfStatement 2151128 2151254 - BinaryExpression 2151146 2151209 - CallExpression 2151146 2151182 - Identifier 2151146 2151171 - Identifier 2151172 2151181 - BarBarToken 2151182 2151185 - BinaryExpression 2151185 2151209 - Identifier 2151185 2151196 - GreaterThanEqualsToken 2151196 2151199 - Identifier 2151199 2151209 - Block 2151210 2151254 - ReturnStatement 2151212 2151239 - Identifier 2151236 2151238 - IfStatement 2151254 2151390 - BinaryExpression 2151272 2151294 - Identifier 2151272 2151282 - GreaterThanToken 2151282 2151284 - Identifier 2151284 2151294 - Block 2151295 2151390 - ExpressionStatement 2151297 2151338 - BinaryExpression 2151297 2151337 - Identifier 2151297 2151324 - EqualsToken 2151324 2151326 - Identifier 2151326 2151337 - ExpressionStatement 2151338 2151375 - BinaryExpression 2151338 2151374 - Identifier 2151338 2151370 - EqualsToken 2151370 2151372 - Identifier 2151372 2151374 - ReturnStatement 2151401 2151435 - Identifier 2151419 2151434 - FunctionDeclaration 2151442 2158267 - Identifier 2151458 2151480 - Parameter 2151481 2151501 - Identifier 2151481 2151485 - TypeReference 2151486 2151501 - Identifier 2151486 2151501 - Parameter 2151502 2151546 - Identifier 2151502 2151521 - UnionType 2151522 2151546 - ArrayType 2151522 2151534 - TypeReference 2151522 2151532 - Identifier 2151522 2151532 - UndefinedKeyword 2151536 2151546 - Parameter 2151547 2151568 - Identifier 2151547 2151557 - TypeReference 2151558 2151568 - Identifier 2151558 2151568 - TypeReference 2151570 2151580 - Identifier 2151570 2151580 - Block 2151580 2158267 - IfStatement 2151582 2152731 - BinaryExpression 2151596 2151644 - PropertyAccessExpression 2151596 2151616 - PropertyAccessExpression 2151596 2151611 - Identifier 2151596 2151600 - Identifier 2151601 2151611 - Identifier 2151612 2151616 - EqualsEqualsEqualsToken 2151616 2151620 - PropertyAccessExpression 2151620 2151644 - Identifier 2151620 2151631 - Identifier 2151632 2151644 - Block 2151645 2152731 - VariableStatement 2151647 2151717 - VariableDeclarationList 2151647 2151716 - VariableDeclaration 2151666 2151716 - Identifier 2151666 2151676 - CallExpression 2151678 2151716 - Identifier 2151678 2151699 - PropertyAccessExpression 2151700 2151715 - Identifier 2151700 2151704 - Identifier 2151705 2151715 - IfStatement 2151717 2151990 - CallExpression 2151735 2151755 - Identifier 2151735 2151744 - Identifier 2151745 2151754 - Block 2151756 2151990 - ForOfStatement 2151758 2151937 - VariableDeclarationList 2151781 2151790 - VariableDeclaration 2151786 2151790 - Identifier 2151786 2151790 - PropertyAccessExpression 2151793 2151808 - Identifier 2151793 2151798 - Identifier 2151799 2151808 - Block 2151809 2151937 - ExpressionStatement 2151811 2151854 - CallExpression 2151811 2151853 - Identifier 2151811 2151848 - Identifier 2151849 2151852 - ReturnStatement 2151937 2151975 - Identifier 2151961 2151974 - IfStatement 2151990 2152674 - PrefixUnaryExpression 2152008 2152031 - CallExpression 2152009 2152031 - Identifier 2152009 2152020 - Identifier 2152021 2152030 - Block 2152032 2152674 - VariableStatement 2152034 2152342 - VariableDeclarationList 2152034 2152341 - VariableDeclaration 2152274 2152341 - Identifier 2152274 2152287 - CallExpression 2152289 2152341 - Identifier 2152289 2152314 - NonNullExpression 2152315 2152340 - CallExpression 2152315 2152339 - Identifier 2152315 2152333 - Identifier 2152334 2152338 - IfStatement 2152342 2152659 - Identifier 2152364 2152376 - Block 2152377 2152659 - VariableStatement 2152379 2152523 - VariableDeclarationList 2152379 2152522 - VariableDeclaration 2152406 2152522 - Identifier 2152406 2152423 - CallExpression 2152425 2152522 - Identifier 2152425 2152469 - Identifier 2152470 2152479 - PropertyAccessExpression 2152480 2152507 - Identifier 2152480 2152493 - Identifier 2152494 2152507 - Identifier 2152508 2152521 - ReturnStatement 2152523 2152640 - CallExpression 2152551 2152639 - Identifier 2152551 2152563 - Identifier 2152564 2152568 - Identifier 2152569 2152586 - Identifier 2152587 2152606 - Identifier 2152607 2152617 - PropertyAccessExpression 2152618 2152638 - Identifier 2152618 2152633 - Identifier 2152634 2152638 - ReturnStatement 2152674 2152720 - CallExpression 2152694 2152719 - Identifier 2152694 2152713 - Identifier 2152714 2152718 - VariableStatement 2152731 2152778 - VariableDeclarationList 2152731 2152777 - VariableDeclaration 2152746 2152777 - Identifier 2152746 2152761 - TypeReference 2152762 2152777 - Identifier 2152762 2152777 - VariableStatement 2152778 2152836 - VariableDeclarationList 2152778 2152835 - VariableDeclaration 2152791 2152835 - Identifier 2152791 2152800 - CallExpression 2152802 2152835 - Identifier 2152802 2152818 - PropertyAccessExpression 2152819 2152834 - Identifier 2152819 2152823 - Identifier 2152824 2152834 - IfStatement 2152836 2153308 - CallExpression 2152850 2152867 - Identifier 2152850 2152861 - Identifier 2152862 2152866 - Block 2152868 2153230 - VariableStatement 2152870 2152961 - VariableDeclarationList 2152870 2152960 - VariableDeclaration 2152889 2152960 - Identifier 2152889 2152905 - CallExpression 2152907 2152960 - Identifier 2152907 2152933 - Identifier 2152934 2152942 - PropertyAccessExpression 2152943 2152959 - Identifier 2152943 2152948 - Identifier 2152949 2152959 - ExpressionStatement 2152961 2153178 - BinaryExpression 2152961 2153177 - Identifier 2152961 2152989 - EqualsToken 2152989 2152991 - ConditionalExpression 2152991 2153177 - BinaryExpression 2152991 2153020 - Identifier 2152991 2153007 - EqualsEqualsEqualsToken 2153007 2153011 - Identifier 2153011 2153020 - QuestionToken 2153020 2153022 - PropertyAccessExpression 2153022 2153042 - Identifier 2153022 2153037 - Identifier 2153038 2153042 - ColonToken 2153042 2153044 - ConditionalExpression 2153044 2153177 - CallExpression 2153044 2153092 - Identifier 2153044 2153086 - Identifier 2153087 2153091 - QuestionToken 2153092 2153094 - PropertyAccessExpression 2153094 2153126 - Identifier 2153094 2153109 - Identifier 2153110 2153126 - ColonToken 2153126 2153128 - PropertyAccessExpression 2153128 2153177 - Identifier 2153128 2153160 - Identifier 2153161 2153177 - ExpressionStatement 2153178 2153219 - BinaryExpression 2153178 2153218 - Identifier 2153178 2153200 - EqualsToken 2153200 2153202 - Identifier 2153202 2153218 - Block 2153244 2153308 - ExpressionStatement 2153246 2153297 - BinaryExpression 2153246 2153296 - Identifier 2153246 2153274 - EqualsToken 2153274 2153276 - PropertyAccessExpression 2153276 2153296 - Identifier 2153276 2153291 - Identifier 2153292 2153296 - ExpressionStatement 2153308 2153486 - BinaryExpression 2153308 2153485 - Identifier 2153308 2153328 - EqualsToken 2153328 2153330 - CallExpression 2153330 2153485 - Identifier 2153330 2153359 - Identifier 2153360 2153382 - PropertyAccessExpression 2153383 2153412 - Identifier 2153383 2153401 - Identifier 2153402 2153412 - Identifier 2153413 2153473 - IfStatement 2153486 2153586 - BinaryExpression 2153502 2153530 - Identifier 2153502 2153510 - EqualsEqualsEqualsToken 2153510 2153514 - Identifier 2153514 2153530 - Block 2153531 2153586 - ReturnStatement 2153533 2153575 - Identifier 2153553 2153574 - VariableStatement 2153586 2153645 - VariableDeclarationList 2153586 2153644 - VariableDeclaration 2153603 2153644 - Identifier 2153603 2153616 - CallExpression 2153618 2153644 - Identifier 2153618 2153634 - Identifier 2153635 2153643 - IfStatement 2153645 2153798 - CallExpression 2153659 2153684 - Identifier 2153659 2153670 - Identifier 2153671 2153683 - Block 2153685 2153798 - ReturnStatement 2153687 2153787 - CallExpression 2153763 2153786 - Identifier 2153763 2153780 - Identifier 2153781 2153785 - VariableStatement 2153798 2154222 - VariableDeclarationList 2153798 2154221 - VariableDeclaration 2154150 2154221 - Identifier 2154150 2154165 - CallExpression 2154167 2154221 - Identifier 2154167 2154187 - Identifier 2154188 2154200 - PropertyAccessExpression 2154201 2154220 - Identifier 2154201 2154215 - Identifier 2154216 2154220 - VariableStatement 2154222 2154329 - VariableDeclarationList 2154222 2154328 - VariableDeclaration 2154237 2154328 - Identifier 2154237 2154260 - PropertyAccessExpression 2154262 2154328 - CallExpression 2154262 2154321 - Identifier 2154262 2154282 - Identifier 2154283 2154295 - PropertyAccessExpression 2154296 2154320 - Identifier 2154296 2154310 - Identifier 2154311 2154320 - Identifier 2154322 2154328 - IfStatement 2154329 2155070 - CallExpression 2154586 2154678 - Identifier 2154586 2154607 - Identifier 2154608 2154616 - Identifier 2154617 2154630 - PropertyAccessExpression 2154631 2154653 - Identifier 2154631 2154646 - Identifier 2154647 2154653 - Identifier 2154654 2154677 - Block 2154679 2155070 - IfStatement 2154681 2155013 - BinaryExpression 2154855 2154899 - PrefixUnaryExpression 2154855 2154877 - CallExpression 2154856 2154877 - Identifier 2154856 2154867 - Identifier 2154868 2154876 - AmpersandAmpersandToken 2154877 2154880 - PropertyAccessExpression 2154880 2154899 - Identifier 2154880 2154885 - Identifier 2154886 2154899 - Block 2154900 2155013 - ExpressionStatement 2154902 2154998 - CallExpression 2154902 2154997 - Identifier 2154902 2154925 - Identifier 2154926 2154930 - PropertyAccessExpression 2154931 2154996 - Identifier 2154931 2154943 - Identifier 2154944 2154996 - ReturnStatement 2155013 2155059 - CallExpression 2155033 2155058 - Identifier 2155033 2155052 - Identifier 2155053 2155057 - IfStatement 2155070 2156248 - PrefixUnaryExpression 2155342 2155364 - PropertyAccessExpression 2155343 2155364 - Identifier 2155343 2155357 - Identifier 2155358 2155364 - Block 2155365 2156248 - IfStatement 2155367 2156193 - Identifier 2155385 2155407 - Block 2155408 2155552 - ExpressionStatement 2155410 2155537 - CallExpression 2155410 2155536 - Identifier 2155410 2155433 - Identifier 2155434 2155438 - PropertyAccessExpression 2155439 2155511 - Identifier 2155439 2155451 - Identifier 2155452 2155511 - CallExpression 2155512 2155535 - Identifier 2155512 2155525 - Identifier 2155526 2155534 - Block 2155570 2156193 - VariableStatement 2155572 2155655 - VariableDeclarationList 2155572 2155654 - VariableDeclaration 2155593 2155654 - Identifier 2155593 2155612 - UnionType 2155613 2155654 - TypeReference 2155613 2155642 - Identifier 2155613 2155642 - UndefinedKeyword 2155644 2155654 - IfStatement 2155655 2156073 - BinaryExpression 2155677 2155704 - PropertyAccessExpression 2155677 2155698 - PropertyAccessExpression 2155677 2155691 - Identifier 2155677 2155681 - Identifier 2155682 2155691 - Identifier 2155692 2155698 - EqualsEqualsEqualsToken 2155698 2155702 - NumericLiteral 2155702 2155704 - Block 2155705 2156073 - VariableStatement 2155707 2155773 - VariableDeclarationList 2155707 2155772 - VariableDeclaration 2155734 2155772 - Identifier 2155734 2155739 - PropertyAccessExpression 2155741 2155772 - CallExpression 2155741 2155767 - Identifier 2155741 2155761 - Identifier 2155762 2155766 - Identifier 2155768 2155772 - IfStatement 2155773 2156054 - CallExpression 2155799 2155899 - Identifier 2155799 2155810 - CallExpression 2155811 2155898 - PropertyAccessExpression 2155811 2155826 - Identifier 2155811 2155815 - Identifier 2155816 2155826 - BinaryExpression 2155827 2155897 - CallExpression 2155827 2155893 - Identifier 2155827 2155837 - Identifier 2155838 2155842 - PropertyAccessExpression 2155843 2155863 - PropertyAccessExpression 2155843 2155859 - Identifier 2155843 2155848 - Identifier 2155849 2155859 - Identifier 2155860 2155863 - TrueKeyword 2155864 2155892 - MinusToken 2155893 2155895 - NumericLiteral 2155895 2155897 - Block 2155900 2156054 - ExpressionStatement 2155902 2156031 - BinaryExpression 2155902 2156030 - Identifier 2155902 2155946 - EqualsToken 2155946 2155948 - CallExpression 2155948 2156030 - Identifier 2155948 2155972 - PropertyAccessExpression 2155973 2155988 - Identifier 2155973 2155977 - Identifier 2155978 2155988 - PropertyAccessExpression 2155989 2156029 - Identifier 2155989 2156001 - Identifier 2156002 2156029 - ExpressionStatement 2156073 2156178 - CallExpression 2156073 2156177 - Identifier 2156073 2156106 - PropertyAccessExpression 2156107 2156122 - Identifier 2156107 2156111 - Identifier 2156112 2156122 - Identifier 2156123 2156136 - PropertyAccessExpression 2156137 2156156 - Identifier 2156137 2156151 - Identifier 2156152 2156156 - Identifier 2156157 2156176 - ReturnStatement 2156193 2156237 - CallExpression 2156213 2156236 - Identifier 2156213 2156230 - Identifier 2156231 2156235 - IfStatement 2156248 2157777 - BinaryExpression 2157545 2157669 - BinaryExpression 2157545 2157610 - BinaryExpression 2157545 2157587 - Identifier 2157545 2157554 - AmpersandToken 2157554 2157556 - PropertyAccessExpression 2157556 2157587 - Identifier 2157556 2157566 - Identifier 2157567 2157587 - AmpersandAmpersandToken 2157587 2157590 - PrefixUnaryExpression 2157590 2157610 - PropertyAccessExpression 2157592 2157610 - Identifier 2157592 2157596 - Identifier 2157597 2157610 - AmpersandAmpersandToken 2157610 2157613 - CallExpression 2157613 2157669 - PropertyAccessExpression 2157613 2157633 - Identifier 2157613 2157628 - Identifier 2157629 2157633 - Identifier 2157634 2157668 - Block 2157670 2157777 - ExpressionStatement 2157672 2157726 - CallExpression 2157672 2157725 - Identifier 2157672 2157708 - Identifier 2157709 2157713 - Identifier 2157714 2157724 - ReturnStatement 2157726 2157766 - Identifier 2157746 2157765 - IfStatement 2157777 2158160 - CallExpression 2157884 2157979 - PropertyAccessExpression 2157884 2157903 - Identifier 2157884 2157898 - Identifier 2157899 2157903 - ArrowFunction 2157904 2157978 - Parameter 2157904 2157907 - Identifier 2157904 2157907 - EqualsGreaterThanToken 2157907 2157910 - BinaryExpression 2157910 2157978 - CallExpression 2157910 2157938 - Identifier 2157910 2157921 - PropertyAccessExpression 2157922 2157937 - Identifier 2157922 2157925 - Identifier 2157926 2157937 - AmpersandAmpersandToken 2157938 2157941 - PrefixUnaryExpression 2157941 2157978 - PrefixUnaryExpression 2157943 2157978 - CallExpression 2157944 2157978 - Identifier 2157944 2157960 - NonNullExpression 2157961 2157977 - PropertyAccessExpression 2157961 2157976 - Identifier 2157961 2157964 - Identifier 2157965 2157976 - Block 2157980 2158160 - ExpressionStatement 2157982 2158105 - CallExpression 2157982 2158104 - Identifier 2157982 2158001 - Identifier 2158002 2158006 - PropertyAccessExpression 2158007 2158079 - Identifier 2158007 2158019 - Identifier 2158020 2158079 - CallExpression 2158080 2158103 - Identifier 2158080 2158093 - Identifier 2158094 2158102 - ReturnStatement 2158105 2158149 - CallExpression 2158125 2158148 - Identifier 2158125 2158142 - Identifier 2158143 2158147 - ReturnStatement 2158160 2158260 - CallExpression 2158178 2158259 - Identifier 2158178 2158190 - Identifier 2158191 2158195 - Identifier 2158196 2158211 - Identifier 2158212 2158231 - Identifier 2158232 2158242 - Identifier 2158243 2158258 - FunctionDeclaration 2158267 2158450 - Identifier 2158283 2158318 - Parameter 2158319 2158339 - Identifier 2158319 2158328 - TypeReference 2158329 2158339 - Identifier 2158329 2158339 - Block 2158340 2158450 - ReturnStatement 2158342 2158443 - PrefixUnaryExpression 2158358 2158442 - PrefixUnaryExpression 2158360 2158442 - ParenthesizedExpression 2158361 2158442 - BinaryExpression 2158362 2158441 - PropertyAccessExpression 2158362 2158386 - Identifier 2158362 2158371 - Identifier 2158372 2158386 - AmpersandAmpersandToken 2158386 2158389 - CallExpression 2158389 2158441 - Identifier 2158389 2158404 - CallExpression 2158405 2158440 - Identifier 2158405 2158429 - Identifier 2158430 2158439 - FunctionDeclaration 2158450 2159300 - Identifier 2158698 2158720 - Parameter 2158721 2158735 - Identifier 2158721 2158729 - TypeReference 2158730 2158735 - Identifier 2158730 2158735 - Parameter 2158736 2158759 - Identifier 2158736 2158753 - TypeReference 2158754 2158759 - Identifier 2158754 2158759 - Parameter 2158760 2158786 - Identifier 2158760 2158778 - NumberKeyword 2158779 2158786 - Parameter 2158787 2158818 - Identifier 2158787 2158810 - NumberKeyword 2158811 2158818 - BooleanKeyword 2158820 2158828 - Block 2158828 2159300 - ReturnStatement 2158830 2159293 - BinaryExpression 2158969 2159292 - BinaryExpression 2158969 2159068 - CallExpression 2158969 2158989 - Identifier 2158969 2158979 - Identifier 2158980 2158988 - BarBarToken 2158989 2158992 - BinaryExpression 2158992 2159068 - CallExpression 2158992 2159020 - Identifier 2158992 2159002 - Identifier 2159003 2159019 - AmpersandAmpersandToken 2159020 2159023 - PrefixUnaryExpression 2159023 2159068 - PrefixUnaryExpression 2159025 2159068 - ParenthesizedExpression 2159026 2159068 - BinaryExpression 2159027 2159067 - PropertyAccessExpression 2159027 2159041 - Identifier 2159027 2159035 - Identifier 2159036 2159041 - AmpersandToken 2159041 2159043 - PropertyAccessExpression 2159043 2159067 - Identifier 2159043 2159053 - Identifier 2159054 2159067 - BarBarToken 2159068 2159071 - BinaryExpression 2159071 2159292 - BinaryExpression 2159071 2159240 - BinaryExpression 2159071 2159177 - BinaryExpression 2159071 2159130 - PrefixUnaryExpression 2159071 2159103 - Identifier 2159086 2159103 - AmpersandAmpersandToken 2159103 2159106 - PrefixUnaryExpression 2159106 2159130 - Identifier 2159108 2159130 - AmpersandAmpersandToken 2159130 2159133 - PrefixUnaryExpression 2159133 2159177 - ParenthesizedExpression 2159135 2159177 - BinaryExpression 2159136 2159176 - PropertyAccessExpression 2159136 2159158 - Identifier 2159136 2159152 - Identifier 2159153 2159158 - AmpersandToken 2159158 2159160 - PropertyAccessExpression 2159160 2159176 - Identifier 2159160 2159170 - Identifier 2159171 2159176 - AmpersandAmpersandToken 2159177 2159180 - PrefixUnaryExpression 2159180 2159240 - ParenthesizedExpression 2159182 2159240 - BinaryExpression 2159183 2159239 - PropertyAccessExpression 2159183 2159221 - CallExpression 2159183 2159215 - Identifier 2159183 2159197 - Identifier 2159198 2159214 - Identifier 2159216 2159221 - AmpersandToken 2159221 2159223 - PropertyAccessExpression 2159223 2159239 - Identifier 2159223 2159233 - Identifier 2159234 2159239 - AmpersandAmpersandToken 2159240 2159243 - CallExpression 2159243 2159292 - Identifier 2159243 2159262 - Identifier 2159263 2159271 - Identifier 2159272 2159291 - FunctionDeclaration 2159300 2163674 - Identifier 2159316 2159337 - Parameter 2159338 2159357 - Identifier 2159338 2159342 - TypeReference 2159343 2159357 - Identifier 2159343 2159357 - Parameter 2159358 2159402 - Identifier 2159358 2159377 - UnionType 2159378 2159402 - ArrayType 2159378 2159390 - TypeReference 2159378 2159388 - Identifier 2159378 2159388 - UndefinedKeyword 2159392 2159402 - Parameter 2159403 2159424 - Identifier 2159403 2159413 - TypeReference 2159414 2159424 - Identifier 2159414 2159424 - TypeReference 2159426 2159436 - Identifier 2159426 2159436 - Block 2159436 2163674 - VariableStatement 2159438 2159509 - VariableDeclarationList 2159438 2159508 - VariableDeclaration 2159451 2159508 - Identifier 2159451 2159466 - CallExpression 2159468 2159508 - Identifier 2159468 2159491 - PropertyAccessExpression 2159492 2159507 - Identifier 2159492 2159496 - Identifier 2159497 2159507 - IfStatement 2159509 2159613 - BinaryExpression 2159523 2159557 - Identifier 2159523 2159537 - EqualsEqualsEqualsToken 2159537 2159541 - Identifier 2159541 2159557 - Block 2159558 2159613 - ReturnStatement 2159560 2159602 - Identifier 2159580 2159601 - ExpressionStatement 2159613 2160089 - BinaryExpression 2159613 2160088 - Identifier 2159613 2160054 - EqualsToken 2160054 2160056 - CallExpression 2160056 2160088 - Identifier 2160056 2160072 - Identifier 2160073 2160087 - IfStatement 2160089 2160244 - CallExpression 2160103 2160130 - Identifier 2160103 2160114 - Identifier 2160115 2160129 - Block 2160131 2160244 - ReturnStatement 2160133 2160233 - CallExpression 2160209 2160232 - Identifier 2160209 2160226 - Identifier 2160227 2160231 - IfStatement 2160244 2160661 - CallExpression 2160426 2160451 - Identifier 2160426 2160435 - Identifier 2160436 2160450 - Block 2160452 2160661 - IfStatement 2160454 2160604 - PropertyAccessExpression 2160472 2160490 - Identifier 2160472 2160476 - Identifier 2160477 2160490 - Block 2160491 2160604 - ExpressionStatement 2160493 2160589 - CallExpression 2160493 2160588 - Identifier 2160493 2160516 - Identifier 2160517 2160521 - PropertyAccessExpression 2160522 2160587 - Identifier 2160522 2160534 - Identifier 2160535 2160587 - ReturnStatement 2160604 2160650 - CallExpression 2160624 2160649 - Identifier 2160624 2160643 - Identifier 2160644 2160648 - VariableStatement 2160661 2161102 - VariableDeclarationList 2160661 2161101 - VariableDeclaration 2161018 2161101 - Identifier 2161018 2161038 - CallExpression 2161040 2161101 - Identifier 2161040 2161060 - Identifier 2161061 2161075 - PropertyAccessExpression 2161076 2161100 - Identifier 2161076 2161090 - Identifier 2161091 2161100 - IfStatement 2161102 2162343 - PropertyAccessExpression 2161116 2161142 - Identifier 2161116 2161135 - Identifier 2161136 2161142 - Block 2161143 2162343 - IfStatement 2161145 2161283 - PrefixUnaryExpression 2161163 2161217 - CallExpression 2161164 2161217 - Identifier 2161164 2161187 - Identifier 2161188 2161192 - ElementAccessExpression 2161193 2161216 - Identifier 2161193 2161213 - NumericLiteral 2161214 2161215 - Block 2161218 2161283 - ReturnStatement 2161220 2161268 - CallExpression 2161244 2161267 - Identifier 2161244 2161261 - Identifier 2161262 2161266 - IfStatement 2161283 2161864 - CallExpression 2161614 2161708 - Identifier 2161614 2161627 - Identifier 2161628 2161647 - ArrowFunction 2161648 2161707 - Parameter 2161648 2161658 - Identifier 2161648 2161658 - EqualsGreaterThanToken 2161658 2161661 - PrefixUnaryExpression 2161661 2161707 - PrefixUnaryExpression 2161663 2161707 - ParenthesizedExpression 2161664 2161707 - BinaryExpression 2161665 2161706 - PropertyAccessExpression 2161665 2161680 - Identifier 2161665 2161674 - Identifier 2161675 2161680 - AmpersandToken 2161680 2161682 - PropertyAccessExpression 2161682 2161706 - Identifier 2161682 2161697 - Identifier 2161698 2161706 - Block 2161709 2161864 - ExpressionStatement 2161711 2161801 - CallExpression 2161711 2161800 - Identifier 2161711 2161734 - Identifier 2161735 2161739 - PropertyAccessExpression 2161740 2161799 - Identifier 2161740 2161752 - Identifier 2161753 2161799 - ReturnStatement 2161801 2161849 - CallExpression 2161825 2161848 - Identifier 2161825 2161842 - Identifier 2161843 2161847 - VariableStatement 2161864 2161976 - VariableDeclarationList 2161864 2161975 - VariableDeclaration 2161883 2161975 - Identifier 2161883 2161893 - BinaryExpression 2161895 2161975 - PropertyAccessExpression 2161895 2161917 - Identifier 2161895 2161910 - Identifier 2161911 2161917 - AmpersandAmpersandToken 2161917 2161920 - CallExpression 2161920 2161975 - Identifier 2161920 2161952 - PropertyAccessExpression 2161953 2161974 - Identifier 2161953 2161967 - Identifier 2161968 2161974 - IfStatement 2161976 2162218 - BinaryExpression 2161994 2162062 - Identifier 2161994 2162003 - AmpersandAmpersandToken 2162003 2162006 - CallExpression 2162006 2162062 - Identifier 2162006 2162027 - Identifier 2162028 2162037 - PropertyAccessExpression 2162038 2162061 - Identifier 2162038 2162052 - Identifier 2162053 2162061 - Block 2162063 2162218 - ExpressionStatement 2162065 2162155 - CallExpression 2162065 2162154 - Identifier 2162065 2162088 - Identifier 2162089 2162093 - PropertyAccessExpression 2162094 2162153 - Identifier 2162094 2162106 - Identifier 2162107 2162153 - ReturnStatement 2162155 2162203 - CallExpression 2162179 2162202 - Identifier 2162179 2162196 - Identifier 2162197 2162201 - ReturnStatement 2162218 2162332 - CallExpression 2162240 2162331 - Identifier 2162240 2162252 - Identifier 2162253 2162257 - Identifier 2162258 2162278 - Identifier 2162279 2162298 - Identifier 2162299 2162309 - PropertyAccessExpression 2162310 2162330 - Identifier 2162310 2162325 - Identifier 2162326 2162330 - VariableStatement 2162343 2162809 - VariableDeclarationList 2162343 2162808 - VariableDeclaration 2162735 2162808 - Identifier 2162735 2162750 - CallExpression 2162752 2162808 - Identifier 2162752 2162772 - Identifier 2162773 2162787 - PropertyAccessExpression 2162788 2162807 - Identifier 2162788 2162802 - Identifier 2162803 2162807 - IfStatement 2162809 2163541 - PropertyAccessExpression 2162823 2162844 - Identifier 2162823 2162837 - Identifier 2162838 2162844 - Block 2162845 2163541 - VariableStatement 2162847 2162965 - VariableDeclarationList 2162847 2162964 - VariableDeclaration 2162866 2162964 - Identifier 2162866 2162876 - CallExpression 2162878 2162964 - Identifier 2162878 2162890 - Identifier 2162891 2162895 - Identifier 2162896 2162911 - Identifier 2162912 2162931 - Identifier 2162932 2162942 - PropertyAccessExpression 2162943 2162963 - Identifier 2162943 2162958 - Identifier 2162959 2162963 - IfStatement 2162965 2163499 - PrefixUnaryExpression 2162983 2162997 - Identifier 2162984 2162997 - Block 2162998 2163499 - IfStatement 2163000 2163263 - BinaryExpression 2163022 2163138 - BinaryExpression 2163022 2163086 - PropertyAccessExpression 2163022 2163043 - Identifier 2163022 2163031 - Identifier 2163032 2163043 - AmpersandAmpersandToken 2163043 2163046 - PrefixUnaryExpression 2163046 2163086 - CallExpression 2163048 2163086 - Identifier 2163048 2163063 - PropertyAccessExpression 2163064 2163085 - Identifier 2163064 2163073 - Identifier 2163074 2163085 - AmpersandAmpersandToken 2163086 2163089 - BinaryExpression 2163089 2163138 - CallExpression 2163089 2163125 - Identifier 2163089 2163114 - Identifier 2163115 2163124 - ExclamationEqualsEqualsToken 2163125 2163129 - Identifier 2163129 2163138 - Block 2163139 2163263 - ExpressionStatement 2163141 2163244 - CallExpression 2163141 2163243 - Identifier 2163141 2163168 - Identifier 2163169 2163173 - PropertyAccessExpression 2163174 2163242 - Identifier 2163174 2163186 - Identifier 2163187 2163242 - IfStatement 2163263 2163484 - BinaryExpression 2163285 2163331 - CallExpression 2163285 2163318 - Identifier 2163285 2163307 - Identifier 2163308 2163317 - EqualsEqualsEqualsToken 2163318 2163322 - Identifier 2163322 2163331 - Block 2163332 2163484 - ExpressionStatement 2163334 2163465 - CallExpression 2163334 2163464 - Identifier 2163334 2163361 - Identifier 2163362 2163366 - PropertyAccessExpression 2163367 2163463 - Identifier 2163367 2163379 - Identifier 2163380 2163463 - ReturnStatement 2163499 2163530 - Identifier 2163519 2163529 - ExpressionStatement 2163541 2163627 - CallExpression 2163541 2163626 - Identifier 2163541 2163568 - PropertyAccessExpression 2163569 2163584 - Identifier 2163569 2163573 - Identifier 2163574 2163584 - Identifier 2163585 2163600 - PropertyAccessExpression 2163601 2163625 - Identifier 2163601 2163615 - Identifier 2163616 2163625 - ReturnStatement 2163627 2163667 - CallExpression 2163643 2163666 - Identifier 2163643 2163660 - Identifier 2163661 2163665 - FunctionDeclaration 2163674 2164045 - Identifier 2163690 2163704 - Parameter 2163705 2163749 - Identifier 2163705 2163715 - UnionType 2163716 2163749 - TypeReference 2163716 2163726 - Identifier 2163716 2163726 - TypeOperator 2163728 2163749 - ArrayType 2163737 2163749 - TypeReference 2163737 2163747 - Identifier 2163737 2163747 - Parameter 2163750 2163779 - Identifier 2163750 2163752 - FunctionType 2163753 2163779 - Parameter 2163755 2163767 - Identifier 2163755 2163756 - TypeReference 2163757 2163767 - Identifier 2163757 2163767 - BooleanKeyword 2163771 2163779 - BooleanKeyword 2163781 2163789 - Block 2163789 2164045 - IfStatement 2163791 2163918 - CallExpression 2163805 2163824 - Identifier 2163805 2163812 - Identifier 2163813 2163823 - Block 2163825 2163918 - ReturnStatement 2163827 2163907 - CallExpression 2163847 2163906 - Identifier 2163847 2163852 - Identifier 2163853 2163863 - ArrowFunction 2163864 2163905 - Parameter 2163864 2163874 - Identifier 2163864 2163874 - EqualsGreaterThanToken 2163874 2163877 - CallExpression 2163877 2163905 - Identifier 2163877 2163891 - Identifier 2163892 2163901 - Identifier 2163902 2163904 - ReturnStatement 2163918 2164038 - ConditionalExpression 2163934 2164037 - BinaryExpression 2163934 2163979 - PropertyAccessExpression 2163934 2163959 - Identifier 2163934 2163945 - Identifier 2163946 2163959 - EqualsEqualsEqualsToken 2163959 2163963 - PropertyAccessExpression 2163963 2163979 - Identifier 2163963 2163973 - Identifier 2163974 2163979 - QuestionToken 2163979 2163981 - CallExpression 2163981 2164021 - Identifier 2163981 2163986 - PropertyAccessExpression 2163987 2164017 - Identifier 2163987 2163997 - Identifier 2163998 2164017 - Identifier 2164018 2164020 - ColonToken 2164021 2164023 - CallExpression 2164023 2164037 - Identifier 2164023 2164025 - Identifier 2164026 2164036 - FunctionDeclaration 2164045 2165388 - Identifier 2164061 2164092 - Parameter 2164093 2164107 - Identifier 2164093 2164099 - TypeReference 2164100 2164107 - Identifier 2164100 2164107 - Parameter 2164108 2164128 - Identifier 2164108 2164113 - TypeReference 2164114 2164128 - Identifier 2164114 2164128 - BooleanKeyword 2164130 2164138 - Block 2164138 2165388 - VariableStatement 2164140 2164187 - VariableDeclarationList 2164140 2164186 - VariableDeclaration 2164155 2164186 - Identifier 2164155 2164165 - CallExpression 2164167 2164186 - Identifier 2164167 2164180 - Identifier 2164181 2164185 - IfStatement 2164187 2164260 - PrefixUnaryExpression 2164201 2164219 - CallExpression 2164202 2164219 - Identifier 2164202 2164208 - Identifier 2164209 2164218 - Block 2164220 2164260 - ReturnStatement 2164222 2164249 - FalseKeyword 2164242 2164248 - VariableStatement 2164260 2164301 - VariableDeclarationList 2164260 2164300 - VariableDeclaration 2164275 2164300 - Identifier 2164275 2164285 - ElementAccessExpression 2164287 2164300 - Identifier 2164287 2164297 - NumericLiteral 2164298 2164299 - IfStatement 2164301 2165216 - BinaryExpression 2164315 2164355 - PropertyAccessExpression 2164315 2164330 - Identifier 2164315 2164324 - Identifier 2164325 2164330 - AmpersandToken 2164330 2164332 - PropertyAccessExpression 2164332 2164355 - Identifier 2164332 2164342 - Identifier 2164343 2164355 - Block 2164356 2165216 - VariableStatement 2164358 2164424 - VariableDeclarationList 2164358 2164423 - VariableDeclaration 2164377 2164423 - Identifier 2164377 2164383 - PropertyAccessExpression 2164385 2164423 - ParenthesizedExpression 2164385 2164417 - AsExpression 2164387 2164416 - Identifier 2164387 2164396 - TypeReference 2164399 2164416 - Identifier 2164399 2164416 - Identifier 2164418 2164423 - VariableStatement 2164424 2164475 - VariableDeclarationList 2164424 2164474 - VariableDeclaration 2164443 2164474 - Identifier 2164443 2164454 - CallExpression 2164456 2164474 - Identifier 2164456 2164467 - Identifier 2164468 2164473 - VariableStatement 2164475 2164499 - VariableDeclarationList 2164475 2164498 - VariableDeclaration 2164492 2164498 - Identifier 2164492 2164494 - NumericLiteral 2164496 2164498 - ForOfStatement 2164499 2165178 - VariableDeclarationList 2164518 2164542 - VariableDeclaration 2164523 2164542 - Identifier 2164523 2164542 - PropertyAccessExpression 2164545 2164583 - ParenthesizedExpression 2164545 2164577 - AsExpression 2164547 2164576 - Identifier 2164547 2164556 - TypeReference 2164559 2164576 - Identifier 2164559 2164576 - Identifier 2164578 2164583 - Block 2164584 2165178 - IfStatement 2164586 2165141 - PrefixUnaryExpression 2164658 2164672 - ElementAccessExpression 2164659 2164672 - Identifier 2164659 2164669 - Identifier 2164670 2164671 - Block 2164673 2165141 - IfStatement 2164675 2165122 - BinaryExpression 2164701 2164781 - CallExpression 2164701 2164735 - Identifier 2164701 2164715 - Identifier 2164716 2164734 - AmpersandToken 2164735 2164737 - ParenthesizedExpression 2164737 2164781 - BinaryExpression 2164739 2164780 - PropertyAccessExpression 2164739 2164756 - Identifier 2164739 2164750 - Identifier 2164751 2164756 - BarToken 2164756 2164758 - PropertyAccessExpression 2164758 2164780 - Identifier 2164758 2164770 - Identifier 2164771 2164780 - Block 2164782 2165122 - IfStatement 2164784 2164922 - BinaryExpression 2164814 2164850 - PropertyAccessExpression 2164814 2164839 - Identifier 2164814 2164832 - Identifier 2164833 2164839 - EqualsEqualsEqualsToken 2164839 2164843 - Identifier 2164843 2164850 - Block 2164851 2164922 - ReturnStatement 2164853 2164895 - TrueKeyword 2164889 2164894 - IfStatement 2164922 2165099 - CallExpression 2164952 2165027 - Identifier 2164952 2164982 - Identifier 2164983 2164989 - AsExpression 2164990 2165026 - Identifier 2164990 2165009 - TypeReference 2165012 2165026 - Identifier 2165012 2165026 - Block 2165028 2165099 - ReturnStatement 2165030 2165072 - TrueKeyword 2165066 2165071 - ExpressionStatement 2165141 2165163 - PostfixUnaryExpression 2165141 2165162 - Identifier 2165141 2165160 - ReturnStatement 2165178 2165205 - FalseKeyword 2165198 2165204 - IfStatement 2165216 2165297 - BinaryExpression 2165230 2165257 - PropertyAccessExpression 2165230 2165246 - Identifier 2165230 2165239 - Identifier 2165240 2165246 - EqualsEqualsEqualsToken 2165246 2165250 - Identifier 2165250 2165257 - Block 2165258 2165297 - ReturnStatement 2165260 2165286 - TrueKeyword 2165280 2165285 - ReturnStatement 2165297 2165381 - CallExpression 2165313 2165380 - Identifier 2165313 2165344 - Identifier 2165345 2165351 - AsExpression 2165352 2165379 - Identifier 2165352 2165362 - TypeReference 2165365 2165379 - Identifier 2165365 2165379 - FunctionDeclaration 2165388 2167257 - Identifier 2165404 2165428 - Parameter 2165429 2165448 - Identifier 2165429 2165433 - TypeReference 2165434 2165448 - Identifier 2165434 2165448 - Parameter 2165449 2165470 - Identifier 2165449 2165459 - TypeReference 2165460 2165470 - Identifier 2165460 2165470 - Block 2165471 2167257 - IfStatement 2165473 2165563 - BinaryExpression 2165487 2165523 - PrefixUnaryExpression 2165487 2165497 - Identifier 2165488 2165497 - BarBarToken 2165497 2165500 - PrefixUnaryExpression 2165500 2165523 - PropertyAccessExpression 2165502 2165523 - Identifier 2165502 2165511 - Identifier 2165512 2165523 - Block 2165524 2165563 - ReturnStatement 2165526 2165552 - TrueKeyword 2165546 2165551 - VariableStatement 2165563 2165617 - VariableDeclarationList 2165563 2165616 - VariableDeclaration 2165580 2165616 - Identifier 2165580 2165592 - PropertyAccessExpression 2165594 2165616 - Identifier 2165594 2165604 - Identifier 2165605 2165616 - VariableStatement 2165617 2165738 - VariableDeclarationList 2165617 2165737 - VariableDeclaration 2165632 2165737 - Identifier 2165632 2165642 - CallExpression 2165644 2165737 - Identifier 2165644 2165678 - Identifier 2165679 2165690 - PropertyAccessExpression 2165691 2165736 - Identifier 2165691 2165705 - Identifier 2165706 2165736 - IfStatement 2165738 2165940 - BinaryExpression 2165843 2165900 - PrefixUnaryExpression 2165843 2165853 - Identifier 2165844 2165853 - BarBarToken 2165853 2165856 - BinaryExpression 2165856 2165900 - PropertyAccessExpression 2165856 2165873 - Identifier 2165856 2165868 - Identifier 2165869 2165873 - ExclamationEqualsEqualsToken 2165873 2165877 - PropertyAccessExpression 2165877 2165900 - Identifier 2165877 2165888 - Identifier 2165889 2165900 - Block 2165901 2165940 - ReturnStatement 2165903 2165929 - TrueKeyword 2165923 2165928 - VariableStatement 2165940 2166046 - VariableDeclarationList 2165940 2166045 - VariableDeclaration 2165957 2166045 - Identifier 2165957 2165983 - NonNullExpression 2165985 2166045 - CallExpression 2165985 2166044 - Identifier 2165985 2166017 - PropertyAccessExpression 2166018 2166043 - PropertyAccessExpression 2166018 2166036 - Identifier 2166018 2166029 - Identifier 2166030 2166036 - Identifier 2166037 2166043 - VariableStatement 2166046 2166147 - VariableDeclarationList 2166046 2166146 - VariableDeclaration 2166061 2166146 - Identifier 2166061 2166076 - AsExpression 2166078 2166146 - CallExpression 2166078 2166129 - Identifier 2166078 2166102 - PropertyAccessExpression 2166103 2166128 - PropertyAccessExpression 2166103 2166121 - Identifier 2166103 2166114 - Identifier 2166115 2166121 - Identifier 2166122 2166128 - TypeReference 2166132 2166146 - Identifier 2166132 2166146 - IfStatement 2166147 2167226 - PrefixUnaryExpression 2166287 2166338 - CallExpression 2166288 2166338 - Identifier 2166288 2166305 - Identifier 2166306 2166310 - Identifier 2166311 2166337 - Block 2166339 2167226 - VariableStatement 2166341 2166404 - VariableDeclarationList 2166341 2166403 - VariableDeclaration 2166360 2166403 - Identifier 2166360 2166376 - CallExpression 2166378 2166403 - Identifier 2166378 2166397 - Identifier 2166398 2166402 - IfStatement 2166404 2166734 - BinaryExpression 2166422 2166476 - Identifier 2166422 2166437 - AmpersandAmpersandToken 2166437 2166440 - BinaryExpression 2166440 2166476 - Identifier 2166440 2166450 - AmpersandToken 2166450 2166452 - PropertyAccessExpression 2166452 2166476 - Identifier 2166452 2166466 - Identifier 2166467 2166476 - Block 2166477 2166734 - VariableStatement 2166479 2166551 - VariableDeclarationList 2166479 2166550 - VariableDeclaration 2166502 2166550 - Identifier 2166502 2166517 - CallExpression 2166519 2166550 - Identifier 2166519 2166533 - Identifier 2166534 2166549 - IfStatement 2166551 2166719 - CallExpression 2166573 2166663 - Identifier 2166573 2166603 - PropertyAccessExpression 2166604 2166629 - PropertyAccessExpression 2166604 2166622 - Identifier 2166604 2166615 - Identifier 2166616 2166622 - Identifier 2166623 2166629 - AsExpression 2166630 2166662 - Identifier 2166630 2166645 - TypeReference 2166648 2166662 - Identifier 2166648 2166662 - Block 2166664 2166719 - ReturnStatement 2166666 2166700 - TrueKeyword 2166694 2166699 - IfStatement 2166734 2166959 - BinaryExpression 2166752 2166785 - Identifier 2166752 2166761 - AmpersandToken 2166761 2166763 - PropertyAccessExpression 2166763 2166785 - Identifier 2166763 2166777 - Identifier 2166778 2166785 - Block 2166786 2166959 - ExpressionStatement 2166788 2166944 - CallExpression 2166788 2166943 - Identifier 2166788 2166811 - Identifier 2166812 2166816 - PropertyAccessExpression 2166817 2166912 - Identifier 2166817 2166829 - Identifier 2166830 2166912 - CallExpression 2166913 2166942 - Identifier 2166913 2166926 - Identifier 2166927 2166941 - IfStatement 2166959 2167188 - BinaryExpression 2166977 2167012 - Identifier 2166977 2166986 - AmpersandToken 2166986 2166988 - PropertyAccessExpression 2166988 2167012 - Identifier 2166988 2167002 - Identifier 2167003 2167012 - Block 2167013 2167188 - ExpressionStatement 2167015 2167173 - CallExpression 2167015 2167172 - Identifier 2167015 2167038 - Identifier 2167039 2167043 - PropertyAccessExpression 2167044 2167141 - Identifier 2167044 2167056 - Identifier 2167057 2167141 - CallExpression 2167142 2167171 - Identifier 2167142 2167155 - Identifier 2167156 2167170 - ReturnStatement 2167188 2167215 - FalseKeyword 2167208 2167214 - ReturnStatement 2167226 2167250 - TrueKeyword 2167244 2167249 - FunctionDeclaration 2167257 2171630 - Identifier 2167273 2167296 - Parameter 2167297 2167314 - Identifier 2167297 2167308 - TypeReference 2167309 2167314 - Identifier 2167309 2167314 - Parameter 2167315 2167334 - Identifier 2167315 2167328 - TypeReference 2167329 2167334 - Identifier 2167329 2167334 - Parameter 2167335 2167355 - Identifier 2167335 2167340 - TypeReference 2167341 2167355 - Identifier 2167341 2167355 - TypeLiteral 2167357 2167446 - PropertySignature 2167359 2167397 - Identifier 2167359 2167372 - TypeReference 2167373 2167396 - Identifier 2167373 2167396 - PropertySignature 2167397 2167444 - Identifier 2167397 2167412 - UnionType 2167413 2167443 - TypeReference 2167413 2167431 - Identifier 2167413 2167431 - UndefinedKeyword 2167433 2167443 - Block 2167446 2171630 - VariableStatement 2167448 2167508 - VariableDeclarationList 2167448 2167507 - VariableDeclaration 2167461 2167507 - Identifier 2167461 2167471 - UnionType 2167472 2167507 - TypeReference 2167472 2167495 - Identifier 2167472 2167495 - UndefinedKeyword 2167497 2167507 - VariableStatement 2167508 2167561 - VariableDeclarationList 2167508 2167560 - VariableDeclaration 2167523 2167560 - Identifier 2167523 2167530 - BinaryExpression 2167532 2167560 - Identifier 2167532 2167537 - EqualsEqualsEqualsToken 2167537 2167541 - PropertyAccessExpression 2167541 2167560 - Identifier 2167541 2167555 - Identifier 2167556 2167560 - VariableStatement 2167561 2167620 - VariableDeclarationList 2167561 2167619 - VariableDeclaration 2167576 2167619 - Identifier 2167576 2167588 - CallExpression 2167590 2167619 - Identifier 2167590 2167605 - Identifier 2167606 2167618 - VariableStatement 2167620 2167721 - VariableDeclarationList 2167620 2167720 - VariableDeclaration 2167635 2167720 - Identifier 2167635 2167653 - BinaryExpression 2167655 2167720 - Identifier 2167655 2167667 - AmpersandAmpersandToken 2167667 2167670 - BinaryExpression 2167670 2167720 - PropertyAccessExpression 2167670 2167716 - CallExpression 2167670 2167709 - Identifier 2167670 2167690 - Identifier 2167691 2167702 - Identifier 2167703 2167708 - Identifier 2167710 2167716 - GreaterThanToken 2167716 2167718 - NumericLiteral 2167718 2167720 - IfStatement 2167721 2170798 - BinaryExpression 2167735 2167771 - PropertyAccessExpression 2167735 2167753 - Identifier 2167735 2167747 - Identifier 2167748 2167753 - AmpersandToken 2167753 2167755 - PropertyAccessExpression 2167755 2167771 - Identifier 2167755 2167765 - Identifier 2167766 2167771 - Block 2167772 2170472 - VariableStatement 2167774 2167836 - VariableDeclarationList 2167774 2167835 - VariableDeclaration 2167793 2167835 - Identifier 2167793 2167799 - PropertyAccessExpression 2167801 2167835 - ParenthesizedExpression 2167801 2167829 - AsExpression 2167803 2167828 - Identifier 2167803 2167815 - TypeReference 2167818 2167828 - Identifier 2167818 2167828 - Identifier 2167830 2167835 - VariableStatement 2167836 2167876 - VariableDeclarationList 2167836 2167875 - VariableDeclaration 2167853 2167875 - Identifier 2167853 2167867 - FalseKeyword 2167869 2167875 - ForOfStatement 2167876 2169526 - VariableDeclarationList 2167895 2167912 - VariableDeclaration 2167900 2167912 - Identifier 2167900 2167912 - Identifier 2167915 2167921 - Block 2167922 2169526 - VariableStatement 2167924 2168000 - VariableDeclarationList 2167924 2167999 - VariableDeclaration 2167947 2167999 - Identifier 2167947 2167958 - CallExpression 2167960 2167999 - Identifier 2167960 2167980 - Identifier 2167981 2167992 - Identifier 2167993 2167998 - IfStatement 2168000 2169511 - BinaryExpression 2168022 2168045 - PropertyAccessExpression 2168022 2168039 - Identifier 2168022 2168032 - Identifier 2168033 2168039 - ExclamationEqualsEqualsToken 2168039 2168043 - NumericLiteral 2168043 2168045 - Block 2168046 2168321 - ExpressionStatement 2168048 2168091 - BinaryExpression 2168048 2168090 - Identifier 2168048 2168083 - EqualsToken 2168083 2168085 - TrueKeyword 2168085 2168090 - IfStatement 2168091 2168302 - Identifier 2168117 2168126 - Block 2168127 2168302 - BreakStatement 2168129 2168279 - Block 2168343 2169511 - IfStatement 2168345 2169273 - PrefixUnaryExpression 2168444 2168454 - Identifier 2168445 2168454 - Block 2168455 2169273 - ExpressionStatement 2168457 2168839 - BinaryExpression 2168457 2168838 - Identifier 2168457 2168492 - EqualsToken 2168492 2168494 - CallExpression 2168494 2168838 - Identifier 2168494 2168518 - Identifier 2168519 2168558 - ConditionalExpression 2168559 2168754 - Identifier 2168559 2168595 - QuestionToken 2168595 2168597 - PropertyAccessExpression 2168597 2168672 - Identifier 2168597 2168642 - Identifier 2168643 2168672 - ColonToken 2168672 2168674 - PropertyAccessExpression 2168674 2168754 - Identifier 2168674 2168719 - Identifier 2168720 2168754 - CallExpression 2168755 2168810 - Identifier 2168755 2168797 - Identifier 2168798 2168809 - ExpressionStatement 2168839 2169250 - BinaryExpression 2168839 2169249 - Identifier 2168839 2168874 - EqualsToken 2168874 2168876 - CallExpression 2168876 2169249 - Identifier 2168876 2168900 - Identifier 2168901 2168940 - ConditionalExpression 2168941 2169164 - Identifier 2168941 2168977 - QuestionToken 2168977 2168979 - PropertyAccessExpression 2168979 2169068 - Identifier 2168979 2169024 - Identifier 2169025 2169068 - ColonToken 2169068 2169070 - PropertyAccessExpression 2169070 2169164 - Identifier 2169070 2169115 - Identifier 2169116 2169164 - CallExpression 2169165 2169221 - Identifier 2169165 2169207 - Identifier 2169208 2169220 - IfStatement 2169273 2169492 - Identifier 2169299 2169312 - Block 2169313 2169492 - BreakStatement 2169315 2169469 - IfStatement 2169526 2169929 - PrefixUnaryExpression 2169544 2169558 - Identifier 2169545 2169558 - Block 2169559 2169929 - ExpressionStatement 2169561 2169914 - BinaryExpression 2169561 2169913 - Identifier 2169561 2169588 - EqualsToken 2169588 2169590 - CallExpression 2169590 2169913 - Identifier 2169590 2169614 - Identifier 2169615 2169658 - ConditionalExpression 2169659 2169844 - Identifier 2169659 2169687 - QuestionToken 2169687 2169689 - PropertyAccessExpression 2169689 2169763 - Identifier 2169689 2169726 - Identifier 2169727 2169763 - ColonToken 2169763 2169765 - PropertyAccessExpression 2169765 2169844 - Identifier 2169765 2169802 - Identifier 2169803 2169844 - CallExpression 2169845 2169893 - Identifier 2169845 2169879 - Identifier 2169880 2169892 - IfStatement 2169929 2170461 - PrefixUnaryExpression 2169947 2169957 - Identifier 2169948 2169957 - Block 2169958 2170461 - ExpressionStatement 2169960 2170446 - BinaryExpression 2169960 2170445 - Identifier 2169960 2169987 - EqualsToken 2169987 2169989 - CallExpression 2169989 2170445 - Identifier 2169989 2170013 - Identifier 2170014 2170045 - ConditionalExpression 2170046 2170376 - Identifier 2170046 2170074 - QuestionToken 2170074 2170076 - PropertyAccessExpression 2170076 2170220 - Identifier 2170076 2170113 - Identifier 2170114 2170220 - ColonToken 2170220 2170222 - PropertyAccessExpression 2170222 2170376 - Identifier 2170222 2170259 - Identifier 2170260 2170376 - CallExpression 2170377 2170425 - Identifier 2170377 2170411 - Identifier 2170412 2170424 - Block 2170486 2170798 - ExpressionStatement 2170488 2170787 - BinaryExpression 2170488 2170786 - Identifier 2170488 2170511 - EqualsToken 2170511 2170513 - CallExpression 2170513 2170786 - Identifier 2170513 2170537 - Identifier 2170538 2170565 - ConditionalExpression 2170566 2170725 - Identifier 2170566 2170590 - QuestionToken 2170590 2170592 - PropertyAccessExpression 2170592 2170655 - Identifier 2170592 2170625 - Identifier 2170626 2170655 - ColonToken 2170655 2170657 - PropertyAccessExpression 2170657 2170725 - Identifier 2170657 2170690 - Identifier 2170691 2170725 - CallExpression 2170726 2170770 - Identifier 2170726 2170756 - Identifier 2170757 2170769 - VariableStatement 2170798 2170932 - VariableDeclarationList 2170798 2170931 - VariableDeclaration 2170813 2170931 - Identifier 2170813 2170825 - ConditionalExpression 2170827 2170931 - Identifier 2170827 2170834 - QuestionToken 2170834 2170836 - PropertyAccessExpression 2170836 2170880 - Identifier 2170836 2170848 - Identifier 2170849 2170880 - ColonToken 2170880 2170882 - PropertyAccessExpression 2170882 2170931 - Identifier 2170882 2170894 - Identifier 2170895 2170931 - IfStatement 2170932 2171413 - BinaryExpression 2171015 2171096 - CallExpression 2171015 2171051 - Identifier 2171015 2171031 - PropertyAccessExpression 2171032 2171050 - Identifier 2171032 2171043 - Identifier 2171044 2171050 - AmpersandAmpersandToken 2171051 2171054 - BinaryExpression 2171054 2171096 - PropertyAccessExpression 2171054 2171090 - PropertyAccessExpression 2171054 2171083 - PropertyAccessExpression 2171054 2171073 - Identifier 2171054 2171066 - Identifier 2171067 2171073 - Identifier 2171074 2171083 - Identifier 2171084 2171090 - EqualsEqualsEqualsToken 2171090 2171094 - NumericLiteral 2171094 2171096 - Block 2171097 2171413 - VariableStatement 2171099 2171166 - VariableDeclarationList 2171099 2171165 - VariableDeclaration 2171118 2171165 - ObjectBindingPattern 2171118 2171137 - BindingElement 2171120 2171135 - Identifier 2171120 2171135 - CallExpression 2171139 2171165 - Identifier 2171139 2171152 - Identifier 2171153 2171164 - IfStatement 2171166 2171402 - BinaryExpression 2171184 2171248 - Identifier 2171184 2171198 - AmpersandAmpersandToken 2171198 2171201 - BinaryExpression 2171201 2171248 - PropertyAccessExpression 2171201 2171222 - Identifier 2171201 2171216 - Identifier 2171217 2171222 - AmpersandToken 2171222 2171224 - PropertyAccessExpression 2171224 2171248 - Identifier 2171224 2171236 - Identifier 2171237 2171248 - Block 2171249 2171402 - ExpressionStatement 2171251 2171387 - BinaryExpression 2171251 2171386 - Identifier 2171251 2171280 - EqualsToken 2171280 2171282 - PropertyAccessExpression 2171282 2171386 - Identifier 2171282 2171294 - Identifier 2171295 2171386 - ReturnStatement 2171413 2171623 - ObjectLiteralExpression 2171431 2171622 - PropertyAssignment 2171433 2171508 - Identifier 2171433 2171459 - CallExpression 2171460 2171508 - Identifier 2171460 2171484 - Identifier 2171485 2171494 - Identifier 2171495 2171507 - PropertyAssignment 2171509 2171610 - Identifier 2171509 2171537 - ConditionalExpression 2171538 2171610 - Identifier 2171538 2171556 - QuestionToken 2171556 2171558 - PropertyAccessExpression 2171558 2171598 - Identifier 2171558 2171570 - Identifier 2171571 2171598 - ColonToken 2171598 2171600 - Identifier 2171600 2171610 - FunctionDeclaration 2171630 2172568 - Identifier 2171644 2171660 - Parameter 2171661 2171678 - Identifier 2171661 2171672 - TypeReference 2171673 2171678 - Identifier 2171673 2171678 - Parameter 2171679 2171698 - Identifier 2171679 2171692 - TypeReference 2171693 2171698 - Identifier 2171693 2171698 - Parameter 2171699 2171719 - Identifier 2171699 2171704 - TypeReference 2171705 2171719 - Identifier 2171705 2171719 - Parameter 2171720 2171770 - Identifier 2171720 2171739 - QuestionToken 2171739 2171740 - TypeReference 2171741 2171770 - Identifier 2171741 2171770 - Block 2171771 2172568 - VariableStatement 2171773 2171893 - VariableDeclarationList 2171773 2171892 - VariableDeclaration 2171788 2171892 - ObjectBindingPattern 2171788 2171834 - BindingElement 2171790 2171803 - Identifier 2171790 2171803 - BindingElement 2171804 2171832 - Identifier 2171804 2171819 - Identifier 2171820 2171832 - CallExpression 2171836 2171892 - Identifier 2171836 2171859 - Identifier 2171860 2171871 - Identifier 2171872 2171885 - Identifier 2171886 2171891 - VariableStatement 2171893 2172023 - VariableDeclarationList 2171893 2172022 - VariableDeclaration 2171908 2172022 - Identifier 2171908 2171919 - CallExpression 2171921 2172022 - Identifier 2171921 2171961 - CallExpression 2171962 2171994 - Identifier 2171962 2171981 - Identifier 2171982 2171993 - Identifier 2171995 2172007 - Identifier 2172008 2172021 - IfStatement 2172023 2172154 - Identifier 2172037 2172048 - Block 2172049 2172154 - ExpressionStatement 2172051 2172143 - CallExpression 2172051 2172142 - Identifier 2172051 2172079 - Identifier 2172080 2172090 - CallExpression 2172091 2172141 - Identifier 2172091 2172115 - Identifier 2172116 2172127 - Identifier 2172128 2172140 - IfStatement 2172154 2172387 - CallExpression 2172168 2172204 - Identifier 2172168 2172184 - PropertyAccessExpression 2172185 2172203 - Identifier 2172185 2172196 - Identifier 2172197 2172203 - Block 2172205 2172387 - VariableStatement 2172207 2172296 - VariableDeclarationList 2172207 2172295 - VariableDeclaration 2172226 2172295 - ObjectBindingPattern 2172226 2172244 - BindingElement 2172228 2172234 - Identifier 2172228 2172234 - BindingElement 2172235 2172242 - Identifier 2172235 2172242 - CallExpression 2172246 2172295 - Identifier 2172246 2172275 - PropertyAccessExpression 2172276 2172294 - Identifier 2172276 2172287 - Identifier 2172288 2172294 - ExpressionStatement 2172296 2172335 - BinaryExpression 2172296 2172334 - PropertyAccessExpression 2172296 2172326 - Identifier 2172296 2172320 - Identifier 2172321 2172326 - EqualsToken 2172326 2172328 - Identifier 2172328 2172334 - ExpressionStatement 2172335 2172376 - BinaryExpression 2172335 2172375 - PropertyAccessExpression 2172335 2172366 - Identifier 2172335 2172359 - Identifier 2172360 2172366 - EqualsToken 2172366 2172368 - Identifier 2172368 2172375 - ExpressionStatement 2172387 2172425 - CallExpression 2172387 2172424 - PropertyAccessExpression 2172387 2172412 - Identifier 2172387 2172408 - Identifier 2172409 2172412 - Identifier 2172413 2172423 - ExpressionStatement 2172425 2172561 - CallExpression 2172425 2172560 - Identifier 2172425 2172458 - Identifier 2172459 2172471 - Identifier 2172472 2172477 - ConditionalExpression 2172478 2172559 - Identifier 2172478 2172497 - QuestionToken 2172497 2172499 - CallExpression 2172499 2172546 - Identifier 2172499 2172514 - Identifier 2172515 2172525 - Identifier 2172526 2172545 - ColonToken 2172546 2172548 - Identifier 2172548 2172559 - FunctionDeclaration 2172568 2173605 - Identifier 2172584 2172608 - Parameter 2172609 2172627 - Identifier 2172609 2172621 - TypeReference 2172622 2172627 - Identifier 2172622 2172627 - Parameter 2172628 2172648 - Identifier 2172628 2172633 - TypeReference 2172634 2172648 - Identifier 2172634 2172648 - Parameter 2172649 2172672 - Identifier 2172649 2172660 - TypeReference 2172661 2172672 - Identifier 2172661 2172672 - Block 2172673 2173605 - IfStatement 2172675 2172744 - PrefixUnaryExpression 2172689 2172709 - PropertyAccessExpression 2172690 2172709 - Identifier 2172690 2172702 - Identifier 2172703 2172709 - Block 2172710 2172744 - ReturnStatement 2172712 2172733 - VariableStatement 2172744 2172827 - VariableDeclarationList 2172744 2172826 - VariableDeclaration 2172759 2172826 - Identifier 2172759 2172770 - PropertyAccessExpression 2172772 2172826 - CallExpression 2172772 2172808 - Identifier 2172772 2172787 - PropertyAccessExpression 2172788 2172807 - Identifier 2172788 2172800 - Identifier 2172801 2172807 - Identifier 2172809 2172826 - IfStatement 2172827 2173598 - BinaryExpression 2173102 2173141 - Identifier 2173102 2173112 - AmpersandAmpersandToken 2173112 2173115 - PrefixUnaryExpression 2173115 2173141 - CallExpression 2173117 2173141 - Identifier 2173117 2173129 - Identifier 2173130 2173140 - Block 2173142 2173598 - VariableStatement 2173144 2173259 - VariableDeclarationList 2173144 2173258 - VariableDeclaration 2173163 2173258 - Identifier 2173163 2173168 - CallExpression 2173170 2173258 - Identifier 2173170 2173190 - CallExpression 2173191 2173251 - Identifier 2173191 2173206 - NonNullExpression 2173207 2173250 - PropertyAccessExpression 2173207 2173249 - CallExpression 2173207 2173242 - Identifier 2173207 2173221 - PropertyAccessExpression 2173222 2173241 - Identifier 2173222 2173234 - Identifier 2173235 2173241 - Identifier 2173243 2173249 - Identifier 2173252 2173257 - IfStatement 2173259 2173307 - BinaryExpression 2173277 2173298 - PrefixUnaryExpression 2173277 2173282 - Identifier 2173278 2173282 - BarBarToken 2173282 2173285 - PrefixUnaryExpression 2173285 2173298 - PropertyAccessExpression 2173287 2173298 - Identifier 2173287 2173291 - Identifier 2173292 2173298 - ReturnStatement 2173299 2173307 - ExpressionStatement 2173307 2173587 - CallExpression 2173307 2173586 - Identifier 2173307 2173337 - Identifier 2173338 2173348 - CallExpression 2173349 2173585 - Identifier 2173349 2173373 - Identifier 2173374 2173384 - PropertyAccessExpression 2173385 2173584 - Identifier 2173385 2173397 - Identifier 2173398 2173584 - FunctionDeclaration 2173605 2175074 - Identifier 2173621 2173653 - Parameter 2173654 2173684 - Identifier 2173654 2173658 - TypeReference 2173659 2173684 - Identifier 2173659 2173684 - Parameter 2173685 2173729 - Identifier 2173685 2173704 - UnionType 2173705 2173729 - ArrayType 2173705 2173717 - TypeReference 2173705 2173715 - Identifier 2173705 2173715 - UndefinedKeyword 2173719 2173729 - Parameter 2173730 2173751 - Identifier 2173730 2173740 - TypeReference 2173741 2173751 - Identifier 2173741 2173751 - TypeReference 2173753 2173763 - Identifier 2173753 2173763 - Block 2173763 2175074 - VariableStatement 2173765 2173817 - VariableDeclarationList 2173765 2173816 - VariableDeclaration 2173780 2173816 - Identifier 2173780 2173788 - CallExpression 2173790 2173816 - Identifier 2173790 2173806 - PropertyAccessExpression 2173807 2173815 - Identifier 2173807 2173811 - Identifier 2173812 2173815 - VariableStatement 2173817 2173873 - VariableDeclarationList 2173817 2173872 - VariableDeclaration 2173832 2173872 - Identifier 2173832 2173845 - CallExpression 2173847 2173872 - Identifier 2173847 2173863 - Identifier 2173864 2173871 - IfStatement 2173873 2174028 - CallExpression 2173889 2173914 - Identifier 2173889 2173900 - Identifier 2173901 2173913 - Block 2173915 2174028 - ReturnStatement 2173917 2174017 - CallExpression 2173993 2174016 - Identifier 2173993 2174010 - Identifier 2174011 2174015 - VariableStatement 2174028 2174117 - VariableDeclarationList 2174028 2174116 - VariableDeclaration 2174045 2174116 - Identifier 2174045 2174060 - CallExpression 2174062 2174116 - Identifier 2174062 2174082 - Identifier 2174083 2174095 - PropertyAccessExpression 2174096 2174115 - Identifier 2174096 2174110 - Identifier 2174111 2174115 - VariableStatement 2174117 2174224 - VariableDeclarationList 2174117 2174223 - VariableDeclaration 2174132 2174223 - Identifier 2174132 2174155 - PropertyAccessExpression 2174157 2174223 - CallExpression 2174157 2174216 - Identifier 2174157 2174177 - Identifier 2174178 2174190 - PropertyAccessExpression 2174191 2174215 - Identifier 2174191 2174205 - Identifier 2174206 2174215 - Identifier 2174217 2174223 - IfStatement 2174224 2174391 - CallExpression 2174240 2174331 - Identifier 2174240 2174261 - Identifier 2174262 2174269 - Identifier 2174270 2174283 - PropertyAccessExpression 2174284 2174306 - Identifier 2174284 2174299 - Identifier 2174300 2174306 - Identifier 2174307 2174330 - Block 2174332 2174391 - ReturnStatement 2174334 2174380 - CallExpression 2174354 2174379 - Identifier 2174354 2174373 - Identifier 2174374 2174378 - IfStatement 2174391 2174962 - PrefixUnaryExpression 2174407 2174429 - PropertyAccessExpression 2174408 2174429 - Identifier 2174408 2174422 - Identifier 2174423 2174429 - Block 2174430 2174962 - IfStatement 2174432 2174831 - CallExpression 2174450 2174487 - Identifier 2174450 2174474 - PropertyAccessExpression 2174475 2174486 - Identifier 2174475 2174479 - Identifier 2174480 2174486 - Block 2174488 2174831 - VariableStatement 2174490 2174722 - VariableDeclarationList 2174490 2174721 - VariableDeclaration 2174513 2174721 - Identifier 2174513 2174524 - CallExpression 2174526 2174721 - Identifier 2174526 2174550 - PropertyAccessExpression 2174551 2174559 - Identifier 2174551 2174555 - Identifier 2174556 2174559 - PropertyAccessExpression 2174560 2174720 - Identifier 2174560 2174572 - Identifier 2174573 2174720 - ExpressionStatement 2174722 2174768 - CallExpression 2174722 2174767 - PropertyAccessExpression 2174722 2174755 - Identifier 2174722 2174751 - Identifier 2174752 2174755 - Identifier 2174756 2174766 - ReturnStatement 2174768 2174816 - CallExpression 2174792 2174815 - Identifier 2174792 2174809 - Identifier 2174810 2174814 - ExpressionStatement 2174831 2174907 - CallExpression 2174831 2174906 - Identifier 2174831 2174862 - PropertyAccessExpression 2174863 2174871 - Identifier 2174863 2174867 - Identifier 2174868 2174871 - Identifier 2174872 2174885 - PropertyAccessExpression 2174886 2174905 - Identifier 2174886 2174900 - Identifier 2174901 2174905 - ReturnStatement 2174907 2174951 - CallExpression 2174927 2174950 - Identifier 2174927 2174944 - Identifier 2174945 2174949 - ReturnStatement 2174962 2175067 - CallExpression 2174980 2175066 - Identifier 2174980 2174992 - Identifier 2174993 2174997 - Identifier 2174998 2175013 - Identifier 2175014 2175033 - Identifier 2175034 2175044 - PropertyAccessExpression 2175045 2175065 - Identifier 2175045 2175060 - Identifier 2175061 2175065 - FunctionDeclaration 2175074 2176190 - Identifier 2175226 2175273 - Parameter 2175274 2175289 - Identifier 2175274 2175278 - TypeReference 2175279 2175289 - Identifier 2175279 2175289 - Block 2175290 2176190 - SwitchStatement 2175292 2176183 - PropertyAccessExpression 2175310 2175326 - PropertyAccessExpression 2175310 2175321 - Identifier 2175310 2175314 - Identifier 2175315 2175321 - Identifier 2175322 2175326 - CaseBlock 2175327 2176183 - CaseClause 2175329 2175376 - PropertyAccessExpression 2175347 2175375 - Identifier 2175347 2175358 - Identifier 2175359 2175375 - CaseClause 2175376 2175535 - PropertyAccessExpression 2175394 2175421 - Identifier 2175394 2175405 - Identifier 2175406 2175421 - ReturnStatement 2175422 2175535 - PropertyAccessExpression 2175446 2175534 - Identifier 2175446 2175458 - Identifier 2175459 2175534 - CaseClause 2175535 2175694 - PropertyAccessExpression 2175555 2175576 - Identifier 2175555 2175566 - Identifier 2175567 2175576 - ReturnStatement 2175577 2175694 - PropertyAccessExpression 2175601 2175693 - Identifier 2175601 2175613 - Identifier 2175614 2175693 - CaseClause 2175694 2175862 - PropertyAccessExpression 2175714 2175745 - Identifier 2175714 2175725 - Identifier 2175726 2175745 - ReturnStatement 2175746 2175862 - PropertyAccessExpression 2175770 2175861 - Identifier 2175770 2175782 - Identifier 2175783 2175861 - CaseClause 2175862 2175912 - PropertyAccessExpression 2175882 2175911 - Identifier 2175882 2175893 - Identifier 2175894 2175911 - CaseClause 2175912 2175954 - PropertyAccessExpression 2175930 2175953 - Identifier 2175930 2175941 - Identifier 2175942 2175953 - CaseClause 2175954 2176110 - PropertyAccessExpression 2175972 2175995 - Identifier 2175972 2175983 - Identifier 2175984 2175995 - ReturnStatement 2175996 2176110 - PropertyAccessExpression 2176020 2176109 - Identifier 2176020 2176032 - Identifier 2176033 2176109 - DefaultClause 2176110 2176172 - ReturnStatement 2176134 2176172 - CallExpression 2176158 2176171 - PropertyAccessExpression 2176158 2176169 - Identifier 2176158 2176164 - Identifier 2176165 2176169 - FunctionDeclaration 2176190 2178320 - Identifier 2176286 2176303 - Parameter 2176304 2176319 - Identifier 2176304 2176308 - TypeReference 2176309 2176319 - Identifier 2176309 2176319 - Parameter 2176320 2176364 - Identifier 2176320 2176339 - UnionType 2176340 2176364 - ArrayType 2176340 2176352 - TypeReference 2176340 2176350 - Identifier 2176340 2176350 - UndefinedKeyword 2176354 2176364 - Parameter 2176365 2176386 - Identifier 2176365 2176375 - TypeReference 2176376 2176386 - Identifier 2176376 2176386 - TypeReference 2176388 2176398 - Identifier 2176388 2176398 - Block 2176398 2178320 - VariableStatement 2176400 2176460 - VariableDeclarationList 2176400 2176459 - VariableDeclaration 2176415 2176459 - Identifier 2176415 2176424 - CallExpression 2176426 2176459 - Identifier 2176426 2176442 - PropertyAccessExpression 2176443 2176458 - Identifier 2176443 2176447 - Identifier 2176448 2176458 - VariableStatement 2176460 2176517 - VariableDeclarationList 2176460 2176516 - VariableDeclaration 2176475 2176516 - Identifier 2176475 2176488 - CallExpression 2176490 2176516 - Identifier 2176490 2176506 - Identifier 2176507 2176515 - IfStatement 2176517 2176614 - CallExpression 2176531 2176556 - Identifier 2176531 2176542 - Identifier 2176543 2176555 - Block 2176557 2176614 - ReturnStatement 2176559 2176603 - CallExpression 2176579 2176602 - Identifier 2176579 2176596 - Identifier 2176597 2176601 - VariableStatement 2176614 2176703 - VariableDeclarationList 2176614 2176702 - VariableDeclaration 2176631 2176702 - Identifier 2176631 2176646 - CallExpression 2176648 2176702 - Identifier 2176648 2176668 - Identifier 2176669 2176681 - PropertyAccessExpression 2176682 2176701 - Identifier 2176682 2176696 - Identifier 2176697 2176701 - VariableStatement 2176703 2176810 - VariableDeclarationList 2176703 2176809 - VariableDeclaration 2176718 2176809 - Identifier 2176718 2176741 - PropertyAccessExpression 2176743 2176809 - CallExpression 2176743 2176802 - Identifier 2176743 2176763 - Identifier 2176764 2176776 - PropertyAccessExpression 2176777 2176801 - Identifier 2176777 2176791 - Identifier 2176792 2176801 - Identifier 2176803 2176809 - IfStatement 2176810 2176976 - CallExpression 2176824 2176916 - Identifier 2176824 2176845 - Identifier 2176846 2176854 - Identifier 2176855 2176868 - PropertyAccessExpression 2176869 2176891 - Identifier 2176869 2176884 - Identifier 2176885 2176891 - Identifier 2176892 2176915 - Block 2176917 2176976 - ReturnStatement 2176919 2176965 - CallExpression 2176939 2176964 - Identifier 2176939 2176958 - Identifier 2176959 2176963 - IfStatement 2176976 2177385 - BinaryExpression 2176992 2177091 - CallExpression 2176992 2177044 - Identifier 2176992 2177022 - Identifier 2177023 2177027 - Identifier 2177028 2177043 - AmpersandAmpersandToken 2177044 2177047 - PrefixUnaryExpression 2177047 2177091 - CallExpression 2177049 2177091 - Identifier 2177049 2177074 - PropertyAccessExpression 2177075 2177090 - Identifier 2177075 2177079 - Identifier 2177080 2177090 - Block 2177092 2177385 - VariableStatement 2177094 2177180 - VariableDeclarationList 2177094 2177179 - VariableDeclaration 2177113 2177179 - Identifier 2177113 2177121 - CallExpression 2177123 2177179 - Identifier 2177123 2177137 - PropertyAccessExpression 2177138 2177153 - Identifier 2177138 2177142 - Identifier 2177143 2177153 - FalseKeyword 2177154 2177178 - ExpressionStatement 2177180 2177330 - CallExpression 2177180 2177329 - Identifier 2177180 2177199 - Identifier 2177200 2177204 - PropertyAccessExpression 2177205 2177319 - Identifier 2177205 2177217 - Identifier 2177218 2177319 - Identifier 2177320 2177328 - ReturnStatement 2177330 2177374 - CallExpression 2177350 2177373 - Identifier 2177350 2177367 - Identifier 2177368 2177372 - VariableStatement 2177385 2177470 - VariableDeclarationList 2177385 2177469 - VariableDeclaration 2177402 2177469 - Identifier 2177402 2177414 - CallExpression 2177416 2177469 - Identifier 2177416 2177463 - Identifier 2177464 2177468 - IfStatement 2177470 2178195 - PrefixUnaryExpression 2177484 2177506 - PropertyAccessExpression 2177485 2177506 - Identifier 2177485 2177499 - Identifier 2177500 2177506 - Block 2177507 2178195 - VariableStatement 2177509 2177618 - VariableDeclarationList 2177509 2177617 - VariableDeclaration 2177528 2177617 - Identifier 2177528 2177541 - CallExpression 2177543 2177617 - Identifier 2177543 2177566 - PropertyAccessExpression 2177567 2177582 - Identifier 2177567 2177571 - Identifier 2177572 2177582 - Identifier 2177583 2177596 - PropertyAccessExpression 2177597 2177616 - Identifier 2177597 2177611 - Identifier 2177612 2177616 - VariableStatement 2177618 2177717 - VariableDeclarationList 2177618 2177716 - VariableDeclaration 2177637 2177716 - Identifier 2177637 2177650 - CallExpression 2177652 2177716 - Identifier 2177652 2177676 - PropertyAccessExpression 2177677 2177702 - Identifier 2177677 2177689 - Identifier 2177690 2177702 - Identifier 2177703 2177715 - VariableStatement 2177717 2177853 - VariableDeclarationList 2177717 2177852 - VariableDeclaration 2177736 2177852 - Identifier 2177736 2177741 - CallExpression 2177743 2177852 - Identifier 2177743 2177783 - CallExpression 2177784 2177820 - Identifier 2177784 2177803 - PropertyAccessExpression 2177804 2177819 - Identifier 2177804 2177808 - Identifier 2177809 2177819 - PropertyAccessExpression 2177821 2177837 - Identifier 2177821 2177826 - Identifier 2177827 2177837 - Identifier 2177838 2177851 - IfStatement 2177853 2178026 - PropertyAccessExpression 2177871 2177898 - Identifier 2177871 2177883 - Identifier 2177884 2177898 - Block 2177899 2178026 - ExpressionStatement 2177901 2178011 - CallExpression 2177901 2178010 - Identifier 2177901 2177933 - Identifier 2177934 2177938 - CallExpression 2177939 2178009 - Identifier 2177939 2177963 - PropertyAccessExpression 2177964 2177979 - Identifier 2177964 2177968 - Identifier 2177969 2177979 - PropertyAccessExpression 2177980 2178008 - Identifier 2177980 2177993 - Identifier 2177994 2178008 - ExpressionStatement 2178026 2178062 - CallExpression 2178026 2178061 - PropertyAccessExpression 2178026 2178055 - Identifier 2178026 2178051 - Identifier 2178052 2178055 - Identifier 2178056 2178060 - ExpressionStatement 2178062 2178140 - CallExpression 2178062 2178139 - Identifier 2178062 2178099 - Identifier 2178100 2178112 - PropertyAccessExpression 2178113 2178132 - Identifier 2178113 2178127 - Identifier 2178128 2178132 - Identifier 2178133 2178138 - ReturnStatement 2178140 2178184 - CallExpression 2178160 2178183 - Identifier 2178160 2178177 - Identifier 2178178 2178182 - ReturnStatement 2178195 2178313 - CallExpression 2178213 2178312 - Identifier 2178213 2178225 - Identifier 2178226 2178230 - Identifier 2178231 2178246 - Identifier 2178247 2178266 - Identifier 2178267 2178277 - PropertyAccessExpression 2178278 2178298 - Identifier 2178278 2178293 - Identifier 2178294 2178298 - Identifier 2178299 2178311 - FunctionDeclaration 2178320 2179848 - Identifier 2178336 2178367 - Parameter 2178368 2178385 - Identifier 2178368 2178372 - TypeReference 2178373 2178385 - Identifier 2178373 2178385 - Parameter 2178386 2178399 - Identifier 2178386 2178393 - TypeReference 2178394 2178399 - Identifier 2178394 2178399 - TypeReference 2178401 2178411 - Identifier 2178401 2178411 - Block 2178411 2179848 - VariableStatement 2178413 2178465 - VariableDeclarationList 2178413 2178464 - VariableDeclaration 2178428 2178464 - Identifier 2178428 2178438 - CallExpression 2178440 2178464 - Identifier 2178440 2178458 - Identifier 2178459 2178463 - VariableStatement 2178465 2178534 - VariableDeclarationList 2178465 2178533 - VariableDeclaration 2178480 2178533 - Identifier 2178480 2178488 - BinaryExpression 2178490 2178533 - Identifier 2178490 2178500 - AmpersandAmpersandToken 2178500 2178503 - CallExpression 2178503 2178533 - Identifier 2178503 2178522 - Identifier 2178523 2178532 - VariableStatement 2178534 2178812 - VariableDeclarationList 2178534 2178811 - VariableDeclaration 2178732 2178811 - Identifier 2178732 2178743 - BinaryExpression 2178745 2178811 - Identifier 2178745 2178753 - AmpersandAmpersandToken 2178753 2178756 - CallExpression 2178756 2178811 - Identifier 2178756 2178766 - Identifier 2178767 2178774 - PropertyAccessExpression 2178775 2178792 - Identifier 2178775 2178784 - Identifier 2178785 2178792 - PropertyAccessExpression 2178793 2178810 - Identifier 2178793 2178805 - Identifier 2178806 2178810 - VariableStatement 2178812 2178922 - VariableDeclarationList 2178812 2178921 - VariableDeclaration 2178827 2178921 - Identifier 2178827 2178838 - BinaryExpression 2178840 2178921 - Identifier 2178840 2178851 - AmpersandAmpersandToken 2178851 2178854 - CallExpression 2178854 2178921 - PropertyAccessExpression 2178854 2178885 - Identifier 2178854 2178866 - Identifier 2178867 2178885 - Identifier 2178886 2178896 - PropertyAccessExpression 2178897 2178914 - Identifier 2178897 2178909 - Identifier 2178910 2178914 - Identifier 2178915 2178920 - VariableStatement 2178922 2179328 - VariableDeclarationList 2178922 2179327 - VariableDeclaration 2178937 2179327 - Identifier 2178937 2178949 - CallExpression 2178951 2179327 - PropertyAccessExpression 2178951 2178982 - Identifier 2178951 2178959 - Identifier 2178960 2178982 - Identifier 2178983 2179011 - ArrayLiteralExpression 2179012 2179184 - CallExpression 2179014 2179183 - PropertyAccessExpression 2179014 2179048 - Identifier 2179014 2179021 - Identifier 2179022 2179048 - Identifier 2179049 2179072 - Identifier 2179073 2179102 - StringLiteral 2179103 2179111 - Identifier 2179112 2179140 - CallExpression 2179141 2179182 - PropertyAccessExpression 2179141 2179168 - Identifier 2179141 2179153 - Identifier 2179154 2179168 - Identifier 2179169 2179175 - Identifier 2179176 2179181 - ConditionalExpression 2179185 2179326 - Identifier 2179185 2179196 - QuestionToken 2179196 2179198 - CallExpression 2179198 2179271 - PropertyAccessExpression 2179198 2179230 - Identifier 2179198 2179206 - Identifier 2179207 2179230 - Identifier 2179231 2179241 - Identifier 2179242 2179270 - ColonToken 2179271 2179273 - CallExpression 2179273 2179326 - PropertyAccessExpression 2179273 2179303 - Identifier 2179273 2179281 - Identifier 2179282 2179303 - PropertyAccessExpression 2179304 2179325 - Identifier 2179304 2179314 - Identifier 2179315 2179325 - VariableStatement 2179328 2179432 - VariableDeclarationList 2179328 2179431 - VariableDeclaration 2179343 2179431 - Identifier 2179343 2179359 - CallExpression 2179361 2179431 - Identifier 2179361 2179374 - PropertyAccessExpression 2179375 2179409 - Identifier 2179375 2179386 - Identifier 2179387 2179409 - AsExpression 2179410 2179430 - StringLiteral 2179410 2179418 - TypeReference 2179421 2179430 - Identifier 2179421 2179430 - ExpressionStatement 2179432 2179478 - BinaryExpression 2179432 2179477 - PropertyAccessExpression 2179432 2179468 - PropertyAccessExpression 2179432 2179463 - Identifier 2179432 2179457 - Identifier 2179458 2179463 - Identifier 2179464 2179468 - EqualsToken 2179468 2179470 - Identifier 2179470 2179477 - ReturnStatement 2179478 2179841 - CallExpression 2179494 2179840 - Identifier 2179494 2179510 - Identifier 2179511 2179536 - Identifier 2179537 2179579 - Identifier 2179580 2179621 - ArrayLiteralExpression 2179622 2179653 - Identifier 2179637 2179652 - ConditionalExpression 2179654 2179728 - Identifier 2179654 2179678 - QuestionToken 2179678 2179680 - CallExpression 2179680 2179716 - Identifier 2179680 2179704 - Identifier 2179705 2179715 - ColonToken 2179716 2179718 - Identifier 2179718 2179728 - Identifier 2179729 2179778 - NumericLiteral 2179779 2179794 - PropertyAccessExpression 2179795 2179828 - Identifier 2179795 2179823 - Identifier 2179824 2179828 - FunctionDeclaration 2179848 2182010 - Identifier 2179864 2179883 - Parameter 2179884 2179908 - Identifier 2179884 2179888 - TypeReference 2179889 2179908 - Identifier 2179889 2179908 - TypeReference 2179910 2179915 - Identifier 2179910 2179915 - Block 2179915 2182010 - VariableStatement 2179917 2180095 - VariableDeclarationList 2179917 2180094 - VariableDeclaration 2180036 2180094 - Identifier 2180036 2180052 - CallExpression 2180054 2180094 - Identifier 2180054 2180067 - CallExpression 2180068 2180093 - Identifier 2180068 2180087 - Identifier 2180088 2180092 - IfStatement 2180095 2180195 - BinaryExpression 2180109 2180154 - PropertyAccessExpression 2180109 2180140 - Identifier 2180109 2180124 - Identifier 2180125 2180140 - ExclamationEqualsEqualsToken 2180140 2180144 - Identifier 2180144 2180154 - ReturnStatement 2180155 2180195 - PropertyAccessExpression 2180162 2180194 - Identifier 2180162 2180178 - Identifier 2180179 2180194 - VariableStatement 2180195 2180260 - VariableDeclarationList 2180195 2180259 - VariableDeclaration 2180212 2180259 - Identifier 2180212 2180235 - CallExpression 2180237 2180259 - Identifier 2180237 2180253 - Identifier 2180254 2180258 - VariableStatement 2180260 2180498 - VariableDeclarationList 2180260 2180497 - VariableDeclaration 2180336 2180497 - Identifier 2180336 2180366 - BinaryExpression 2180368 2180497 - ParenthesizedExpression 2180368 2180460 - BinaryExpression 2180370 2180459 - BinaryExpression 2180370 2180407 - PropertyAccessExpression 2180370 2180389 - Identifier 2180370 2180385 - Identifier 2180386 2180389 - EqualsEqualsEqualsToken 2180389 2180393 - PropertyAccessExpression 2180393 2180407 - Identifier 2180393 2180401 - Identifier 2180402 2180407 - BarBarToken 2180407 2180410 - BinaryExpression 2180410 2180459 - PropertyAccessExpression 2180410 2180445 - Identifier 2180410 2180426 - Identifier 2180427 2180445 - ExclamationEqualsEqualsToken 2180445 2180449 - Identifier 2180449 2180459 - AmpersandAmpersandToken 2180460 2180463 - BinaryExpression 2180463 2180497 - Identifier 2180463 2180486 - ExclamationEqualsEqualsToken 2180486 2180490 - StringLiteral 2180490 2180497 - IfStatement 2180498 2180593 - PrefixUnaryExpression 2180512 2180542 - Identifier 2180513 2180542 - ReturnStatement 2180543 2180593 - BinaryExpression 2180550 2180592 - PropertyAccessExpression 2180550 2180582 - Identifier 2180550 2180566 - Identifier 2180567 2180582 - EqualsToken 2180582 2180584 - Identifier 2180584 2180592 - VariableStatement 2180593 2180720 - VariableDeclarationList 2180593 2180719 - VariableDeclaration 2180610 2180719 - Identifier 2180610 2180629 - BinaryExpression 2180631 2180719 - BinaryExpression 2180631 2180672 - PropertyAccessExpression 2180631 2180651 - Identifier 2180631 2180647 - Identifier 2180648 2180651 - ExclamationEqualsEqualsToken 2180651 2180655 - PropertyAccessExpression 2180655 2180672 - Identifier 2180655 2180663 - Identifier 2180664 2180672 - AmpersandAmpersandToken 2180672 2180675 - BinaryExpression 2180675 2180719 - PropertyAccessExpression 2180675 2180695 - Identifier 2180675 2180691 - Identifier 2180692 2180695 - ExclamationEqualsEqualsToken 2180695 2180699 - PropertyAccessExpression 2180699 2180719 - Identifier 2180699 2180707 - Identifier 2180708 2180719 - VariableStatement 2180720 2180882 - VariableDeclarationList 2180720 2180881 - VariableDeclaration 2180735 2180881 - Identifier 2180735 2180752 - ConditionalExpression 2180754 2180881 - Identifier 2180754 2180766 - QuestionToken 2180766 2180768 - PropertyAccessExpression 2180768 2180869 - Identifier 2180768 2180780 - Identifier 2180781 2180869 - ColonToken 2180869 2180871 - Identifier 2180871 2180881 - VariableStatement 2180882 2181262 - VariableDeclarationList 2180882 2181261 - VariableDeclaration 2180897 2181261 - Identifier 2180897 2180914 - BinaryExpression 2180916 2181261 - CallExpression 2180916 2180964 - Identifier 2180916 2180958 - Identifier 2180959 2180963 - QuestionQuestionToken 2180964 2180967 - CallExpression 2180967 2181261 - Identifier 2180967 2180992 - Identifier 2180993 2181015 - Identifier 2181016 2181056 - ConditionalExpression 2181057 2181153 - Identifier 2181057 2181093 - QuestionToken 2181093 2181095 - PropertyAccessExpression 2181095 2181113 - Identifier 2181095 2181107 - Identifier 2181108 2181113 - ColonToken 2181113 2181115 - BinaryExpression 2181115 2181153 - PropertyAccessExpression 2181115 2181133 - Identifier 2181115 2181127 - Identifier 2181128 2181133 - AmpersandToken 2181133 2181135 - PrefixUnaryExpression 2181135 2181153 - PropertyAccessExpression 2181137 2181153 - Identifier 2181137 2181148 - Identifier 2181149 2181153 - Identifier 2181154 2181212 - TrueKeyword 2181213 2181245 - IfStatement 2181262 2181361 - BinaryExpression 2181278 2181308 - Identifier 2181278 2181294 - EqualsEqualsEqualsToken 2181294 2181298 - Identifier 2181298 2181308 - ReturnStatement 2181309 2181361 - BinaryExpression 2181316 2181360 - PropertyAccessExpression 2181316 2181348 - Identifier 2181316 2181332 - Identifier 2181333 2181348 - EqualsToken 2181348 2181350 - Identifier 2181350 2181360 - IfStatement 2181361 2181504 - BinaryExpression 2181375 2181427 - PropertyAccessExpression 2181375 2181403 - Identifier 2181375 2181391 - Identifier 2181392 2181403 - EqualsEqualsEqualsToken 2181403 2181407 - PropertyAccessExpression 2181407 2181427 - Identifier 2181407 2181418 - Identifier 2181419 2181427 - ReturnStatement 2181428 2181504 - BinaryExpression 2181435 2181503 - PropertyAccessExpression 2181435 2181467 - Identifier 2181435 2181451 - Identifier 2181452 2181467 - EqualsToken 2181467 2181469 - CallExpression 2181469 2181503 - Identifier 2181469 2181485 - Identifier 2181486 2181502 - VariableStatement 2181504 2181641 - VariableDeclarationList 2181504 2181640 - VariableDeclaration 2181521 2181640 - Identifier 2181521 2181535 - ConditionalExpression 2181537 2181640 - BinaryExpression 2181537 2181588 - ParenthesizedExpression 2181537 2181582 - BinaryExpression 2181539 2181581 - PropertyAccessExpression 2181539 2181561 - Identifier 2181539 2181555 - Identifier 2181556 2181561 - AmpersandToken 2181561 2181563 - PropertyAccessExpression 2181563 2181581 - Identifier 2181563 2181575 - Identifier 2181576 2181581 - EqualsEqualsEqualsToken 2181582 2181586 - NumericLiteral 2181586 2181588 - QuestionToken 2181588 2181590 - Identifier 2181590 2181607 - ColonToken 2181607 2181609 - CallExpression 2181609 2181640 - Identifier 2181609 2181622 - Identifier 2181623 2181639 - VariableStatement 2181641 2181726 - VariableDeclarationList 2181641 2181725 - VariableDeclaration 2181656 2181725 - Identifier 2181656 2181669 - BinaryExpression 2181671 2181725 - Identifier 2181671 2181688 - AmpersandAmpersandToken 2181688 2181691 - CallExpression 2181691 2181725 - Identifier 2181691 2181710 - Identifier 2181711 2181724 - VariableStatement 2181726 2181849 - VariableDeclarationList 2181726 2181848 - VariableDeclaration 2181741 2181848 - Identifier 2181741 2181752 - BinaryExpression 2181754 2181848 - Identifier 2181754 2181767 - AmpersandAmpersandToken 2181767 2181770 - CallExpression 2181770 2181848 - Identifier 2181770 2181780 - Identifier 2181781 2181793 - PropertyAccessExpression 2181794 2181814 - Identifier 2181794 2181805 - Identifier 2181806 2181814 - PropertyAccessExpression 2181815 2181847 - Identifier 2181815 2181827 - Identifier 2181828 2181847 - VariableStatement 2181849 2181914 - VariableDeclarationList 2181849 2181913 - VariableDeclaration 2181864 2181913 - Identifier 2181864 2181869 - BinaryExpression 2181871 2181913 - Identifier 2181871 2181882 - AmpersandAmpersandToken 2181882 2181885 - CallExpression 2181885 2181913 - Identifier 2181885 2181901 - Identifier 2181902 2181912 - ReturnStatement 2181914 2182003 - BinaryExpression 2181930 2182002 - PropertyAccessExpression 2181930 2181962 - Identifier 2181930 2181946 - Identifier 2181947 2181962 - EqualsToken 2181962 2181964 - ConditionalExpression 2181964 2182002 - BinaryExpression 2181964 2181983 - Identifier 2181964 2181969 - EqualsEqualsEqualsToken 2181969 2181973 - Identifier 2181973 2181983 - QuestionToken 2181983 2181985 - Identifier 2181985 2181995 - ColonToken 2181995 2181997 - Identifier 2181997 2182002 - FunctionDeclaration 2182010 2184353 - Identifier 2182026 2182055 - Parameter 2182056 2182073 - Identifier 2182056 2182060 - TypeReference 2182061 2182073 - Identifier 2182061 2182073 - Parameter 2182074 2182118 - Identifier 2182074 2182093 - UnionType 2182094 2182118 - ArrayType 2182094 2182106 - TypeReference 2182094 2182104 - Identifier 2182094 2182104 - UndefinedKeyword 2182108 2182118 - Parameter 2182119 2182140 - Identifier 2182119 2182129 - TypeReference 2182130 2182140 - Identifier 2182130 2182140 - TypeReference 2182142 2182152 - Identifier 2182142 2182152 - Block 2182152 2184353 - VariableStatement 2182154 2182217 - VariableDeclarationList 2182154 2182216 - VariableDeclaration 2182169 2182216 - Identifier 2182169 2182187 - CallExpression 2182189 2182216 - Identifier 2182189 2182210 - Identifier 2182211 2182215 - VariableStatement 2182217 2182247 - VariableDeclarationList 2182217 2182246 - VariableDeclaration 2182230 2182246 - Identifier 2182230 2182240 - TypeReference 2182241 2182246 - Identifier 2182241 2182246 - IfStatement 2182247 2183315 - PrefixUnaryExpression 2182261 2182279 - Identifier 2182262 2182279 - Block 2182280 2183237 - IfStatement 2182282 2183170 - CallExpression 2182300 2182335 - Identifier 2182300 2182321 - PropertyAccessExpression 2182322 2182334 - Identifier 2182322 2182326 - Identifier 2182327 2182334 - Block 2182336 2183170 - VariableStatement 2182338 2182429 - VariableDeclarationList 2182338 2182428 - VariableDeclaration 2182361 2182428 - Identifier 2182361 2182368 - CallExpression 2182370 2182428 - Identifier 2182370 2182422 - Identifier 2182423 2182427 - VariableStatement 2182429 2182514 - VariableDeclarationList 2182429 2182513 - VariableDeclaration 2182452 2182513 - Identifier 2182452 2182466 - CallExpression 2182468 2182513 - Identifier 2182468 2182499 - Identifier 2182500 2182504 - Identifier 2182505 2182512 - ExpressionStatement 2182514 2182780 - CallExpression 2182514 2182779 - Identifier 2182514 2182575 - CallExpression 2182576 2182739 - Identifier 2182576 2182609 - PropertyAccessExpression 2182610 2182625 - Identifier 2182610 2182614 - Identifier 2182615 2182625 - CallExpression 2182626 2182688 - Identifier 2182626 2182667 - Identifier 2182668 2182681 - Identifier 2182682 2182687 - Identifier 2182689 2182720 - PropertyAccessExpression 2182721 2182738 - Identifier 2182721 2182731 - Identifier 2182732 2182738 - Identifier 2182740 2182747 - PropertyAccessExpression 2182748 2182761 - Identifier 2182748 2182753 - Identifier 2182754 2182761 - PropertyAccessExpression 2182762 2182778 - Identifier 2182762 2182767 - Identifier 2182768 2182778 - IfStatement 2182780 2183116 - CallExpression 2182802 2182828 - Identifier 2182802 2182808 - PropertyAccessExpression 2182809 2182827 - Identifier 2182809 2182813 - Identifier 2182814 2182827 - Block 2182829 2183116 - ExpressionStatement 2182831 2182901 - CallExpression 2182831 2182900 - Identifier 2182831 2182860 - PropertyAccessExpression 2182861 2182879 - Identifier 2182861 2182865 - Identifier 2182866 2182879 - Identifier 2182880 2182899 - ExpressionStatement 2182901 2183097 - CallExpression 2182901 2183096 - PropertyAccessExpression 2182901 2182938 - Identifier 2182901 2182934 - Identifier 2182935 2182938 - CallExpression 2182939 2183095 - Identifier 2182939 2182967 - CallExpression 2182968 2182993 - Identifier 2182968 2182987 - Identifier 2182988 2182992 - NonNullExpression 2182994 2183014 - PropertyAccessExpression 2182994 2183013 - Identifier 2182994 2182999 - Identifier 2183000 2183013 - PropertyAccessExpression 2183015 2183063 - Identifier 2183015 2183027 - Identifier 2183028 2183063 - NumericLiteral 2183064 2183066 - CallExpression 2183067 2183094 - Identifier 2183067 2183074 - PropertyAccessExpression 2183075 2183093 - Identifier 2183075 2183079 - Identifier 2183080 2183093 - ReturnStatement 2183116 2183155 - Identifier 2183140 2183154 - ExpressionStatement 2183170 2183226 - BinaryExpression 2183170 2183225 - Identifier 2183170 2183193 - EqualsToken 2183193 2183195 - CallExpression 2183195 2183225 - Identifier 2183195 2183211 - PropertyAccessExpression 2183212 2183224 - Identifier 2183212 2183216 - Identifier 2183217 2183224 - Block 2183251 2183315 - ExpressionStatement 2183253 2183304 - BinaryExpression 2183253 2183303 - Identifier 2183253 2183276 - EqualsToken 2183276 2183278 - CallExpression 2183278 2183303 - Identifier 2183278 2183297 - Identifier 2183298 2183302 - VariableStatement 2183315 2183373 - VariableDeclarationList 2183315 2183372 - VariableDeclaration 2183330 2183372 - Identifier 2183330 2183343 - CallExpression 2183345 2183372 - Identifier 2183345 2183361 - Identifier 2183362 2183371 - IfStatement 2183373 2183470 - CallExpression 2183387 2183412 - Identifier 2183387 2183398 - Identifier 2183399 2183411 - Block 2183413 2183470 - ReturnStatement 2183415 2183459 - CallExpression 2183435 2183458 - Identifier 2183435 2183452 - Identifier 2183453 2183457 - VariableStatement 2183470 2183553 - VariableDeclarationList 2183470 2183552 - VariableDeclaration 2183485 2183552 - Identifier 2183485 2183496 - CallExpression 2183498 2183552 - Identifier 2183498 2183535 - Identifier 2183536 2183545 - Identifier 2183546 2183551 - IfStatement 2183553 2183719 - CallExpression 2183567 2183659 - Identifier 2183567 2183588 - Identifier 2183589 2183598 - Identifier 2183599 2183612 - PropertyAccessExpression 2183613 2183631 - Identifier 2183613 2183624 - Identifier 2183625 2183631 - NumericLiteral 2183632 2183658 - Block 2183660 2183719 - ReturnStatement 2183662 2183708 - CallExpression 2183682 2183707 - Identifier 2183682 2183701 - Identifier 2183702 2183706 - IfStatement 2183719 2184245 - BinaryExpression 2183735 2183758 - PropertyAccessExpression 2183735 2183752 - Identifier 2183735 2183745 - Identifier 2183746 2183752 - EqualsEqualsEqualsToken 2183752 2183756 - NumericLiteral 2183756 2183758 - Block 2183759 2184245 - IfStatement 2183761 2184190 - Identifier 2183844 2183861 - Block 2183862 2184009 - ExpressionStatement 2183864 2183994 - CallExpression 2183864 2183993 - Identifier 2183864 2183887 - Identifier 2183888 2183892 - PropertyAccessExpression 2183893 2183971 - Identifier 2183893 2183905 - Identifier 2183906 2183971 - CallExpression 2183972 2183992 - Identifier 2183972 2183986 - Identifier 2183987 2183991 - Block 2184027 2184190 - ExpressionStatement 2184029 2184175 - CallExpression 2184029 2184174 - Identifier 2184029 2184052 - PropertyAccessExpression 2184053 2184065 - Identifier 2184053 2184057 - Identifier 2184058 2184065 - PropertyAccessExpression 2184066 2184144 - Identifier 2184066 2184078 - Identifier 2184079 2184144 - CallExpression 2184145 2184173 - Identifier 2184145 2184159 - PropertyAccessExpression 2184160 2184172 - Identifier 2184160 2184164 - Identifier 2184165 2184172 - ReturnStatement 2184190 2184234 - CallExpression 2184210 2184233 - Identifier 2184210 2184227 - Identifier 2184228 2184232 - ReturnStatement 2184245 2184346 - CallExpression 2184263 2184345 - Identifier 2184263 2184275 - Identifier 2184276 2184280 - Identifier 2184281 2184292 - Identifier 2184293 2184312 - Identifier 2184313 2184323 - PropertyAccessExpression 2184324 2184344 - Identifier 2184324 2184339 - Identifier 2184340 2184344 - FunctionDeclaration 2184353 2186491 - Identifier 2184369 2184397 - Parameter 2184398 2184424 - Identifier 2184398 2184402 - TypeReference 2184403 2184424 - Identifier 2184403 2184424 - Parameter 2184425 2184469 - Identifier 2184425 2184444 - UnionType 2184445 2184469 - ArrayType 2184445 2184457 - TypeReference 2184445 2184455 - Identifier 2184445 2184455 - UndefinedKeyword 2184459 2184469 - Parameter 2184470 2184491 - Identifier 2184470 2184480 - TypeReference 2184481 2184491 - Identifier 2184481 2184491 - TypeReference 2184493 2184503 - Identifier 2184493 2184503 - Block 2184503 2186491 - VariableStatement 2184505 2184887 - VariableDeclarationList 2184505 2184886 - VariableDeclaration 2184846 2184886 - Identifier 2184846 2184856 - CallExpression 2184858 2184886 - Identifier 2184858 2184874 - PropertyAccessExpression 2184875 2184885 - Identifier 2184875 2184879 - Identifier 2184880 2184885 - IfStatement 2184887 2186409 - PrefixUnaryExpression 2184901 2184922 - CallExpression 2184902 2184922 - Identifier 2184902 2184911 - Identifier 2184912 2184921 - Block 2184923 2186409 - VariableStatement 2184925 2185019 - VariableDeclarationList 2184925 2185018 - VariableDeclaration 2184944 2185018 - Identifier 2184944 2184966 - CallExpression 2184968 2185018 - Identifier 2184968 2185007 - Identifier 2185008 2185017 - IfStatement 2185019 2186398 - Identifier 2185037 2185058 - Block 2185059 2185866 - VariableStatement 2185061 2185139 - VariableDeclarationList 2185061 2185138 - VariableDeclaration 2185084 2185138 - Identifier 2185084 2185097 - CallExpression 2185099 2185138 - Identifier 2185099 2185115 - Identifier 2185116 2185137 - IfStatement 2185139 2185260 - CallExpression 2185161 2185186 - Identifier 2185161 2185172 - Identifier 2185173 2185185 - Block 2185187 2185260 - ReturnStatement 2185189 2185241 - CallExpression 2185217 2185240 - Identifier 2185217 2185234 - Identifier 2185235 2185239 - VariableStatement 2185260 2185357 - VariableDeclarationList 2185260 2185356 - VariableDeclaration 2185285 2185356 - Identifier 2185285 2185300 - CallExpression 2185302 2185356 - Identifier 2185302 2185322 - Identifier 2185323 2185335 - PropertyAccessExpression 2185336 2185355 - Identifier 2185336 2185350 - Identifier 2185351 2185355 - VariableStatement 2185357 2185462 - VariableDeclarationList 2185357 2185461 - VariableDeclaration 2185380 2185461 - Identifier 2185380 2185400 - CallExpression 2185402 2185461 - Identifier 2185402 2185422 - Identifier 2185423 2185435 - PropertyAccessExpression 2185436 2185460 - Identifier 2185436 2185450 - Identifier 2185451 2185460 - IfStatement 2185462 2185669 - CallExpression 2185484 2185593 - Identifier 2185484 2185505 - Identifier 2185506 2185527 - Identifier 2185528 2185541 - PropertyAccessExpression 2185542 2185564 - Identifier 2185542 2185557 - Identifier 2185558 2185564 - PropertyAccessExpression 2185565 2185592 - Identifier 2185565 2185585 - Identifier 2185586 2185592 - Block 2185594 2185669 - ReturnStatement 2185596 2185650 - CallExpression 2185624 2185649 - Identifier 2185624 2185643 - Identifier 2185644 2185648 - IfStatement 2185669 2185851 - PropertyAccessExpression 2185693 2185714 - Identifier 2185693 2185707 - Identifier 2185708 2185714 - Block 2185715 2185851 - ReturnStatement 2185717 2185832 - CallExpression 2185745 2185831 - Identifier 2185745 2185757 - Identifier 2185758 2185762 - Identifier 2185763 2185778 - Identifier 2185779 2185798 - Identifier 2185799 2185809 - PropertyAccessExpression 2185810 2185830 - Identifier 2185810 2185825 - Identifier 2185826 2185830 - IfStatement 2185983 2186398 - PrefixUnaryExpression 2185988 2186084 - ParenthesizedExpression 2185989 2186084 - BinaryExpression 2185990 2186083 - CallExpression 2185990 2186033 - Identifier 2185990 2186022 - Identifier 2186023 2186032 - BarBarToken 2186033 2186036 - CallExpression 2186036 2186083 - Identifier 2186036 2186052 - Identifier 2186053 2186062 - Identifier 2186063 2186082 - Block 2186085 2186398 - ExpressionStatement 2186087 2186335 - CallExpression 2186087 2186334 - Identifier 2186087 2186110 - PropertyAccessExpression 2186111 2186121 - Identifier 2186111 2186115 - Identifier 2186116 2186121 - PropertyAccessExpression 2186122 2186333 - Identifier 2186122 2186134 - Identifier 2186135 2186333 - ReturnStatement 2186335 2186383 - CallExpression 2186359 2186382 - Identifier 2186359 2186376 - Identifier 2186377 2186381 - ReturnStatement 2186409 2186484 - Identifier 2186470 2186483 - FunctionDeclaration 2186491 2187142 - Identifier 2186782 2186813 - Parameter 2186814 2186834 - Identifier 2186814 2186823 - TypeReference 2186824 2186834 - Identifier 2186824 2186834 - Parameter 2186835 2186868 - Identifier 2186835 2186846 - TypeOperator 2186847 2186868 - ArrayType 2186856 2186868 - TypeReference 2186856 2186866 - Identifier 2186856 2186866 - Block 2186869 2187142 - ReturnStatement 2186871 2187135 - BinaryExpression 2186887 2187134 - PropertyAccessExpression 2186887 2186905 - Identifier 2186887 2186898 - Identifier 2186899 2186905 - AmpersandAmpersandToken 2186905 2186908 - CallExpression 2186908 2187134 - Identifier 2186908 2186914 - Identifier 2186915 2186925 - ArrowFunction 2186926 2187133 - Parameter 2186926 2186936 - Identifier 2186926 2186936 - EqualsGreaterThanToken 2186936 2186939 - BinaryExpression 2186939 2187133 - BinaryExpression 2186939 2187039 - BinaryExpression 2186939 2186985 - PropertyAccessExpression 2186939 2186979 - Identifier 2186939 2186962 - Identifier 2186963 2186979 - EqualsEqualsEqualsToken 2186979 2186983 - NumericLiteral 2186983 2186985 - AmpersandAmpersandToken 2186985 2186988 - PrefixUnaryExpression 2186988 2187039 - CallExpression 2187003 2187039 - Identifier 2187003 2187028 - Identifier 2187029 2187038 - AmpersandAmpersandToken 2187039 2187042 - BinaryExpression 2187042 2187133 - PropertyAccessExpression 2187042 2187083 - PropertyAccessExpression 2187042 2187076 - Identifier 2187042 2187065 - Identifier 2187066 2187076 - Identifier 2187077 2187083 - LessThanToken 2187083 2187085 - CallExpression 2187085 2187133 - Identifier 2187085 2187111 - Identifier 2187112 2187121 - Identifier 2187122 2187132 - FunctionDeclaration 2187142 2188319 - Identifier 2187158 2187175 - Parameter 2187176 2187200 - Identifier 2187176 2187180 - TypeReference 2187181 2187200 - Identifier 2187181 2187200 - Parameter 2187201 2187245 - Identifier 2187201 2187220 - UnionType 2187221 2187245 - ArrayType 2187221 2187233 - TypeReference 2187221 2187231 - Identifier 2187221 2187231 - UndefinedKeyword 2187235 2187245 - Parameter 2187246 2187267 - Identifier 2187246 2187256 - TypeReference 2187257 2187267 - Identifier 2187257 2187267 - TypeReference 2187269 2187279 - Identifier 2187269 2187279 - Block 2187279 2188319 - SwitchStatement 2187281 2188223 - PropertyAccessExpression 2187299 2187308 - Identifier 2187299 2187303 - Identifier 2187304 2187308 - CaseBlock 2187309 2188223 - CaseClause 2187311 2187440 - PropertyAccessExpression 2187329 2187355 - Identifier 2187329 2187340 - Identifier 2187341 2187355 - ReturnStatement 2187356 2187440 - CallExpression 2187380 2187439 - Identifier 2187380 2187402 - Identifier 2187403 2187407 - Identifier 2187408 2187427 - Identifier 2187428 2187438 - CaseClause 2187440 2187567 - PropertyAccessExpression 2187458 2187483 - Identifier 2187458 2187469 - Identifier 2187470 2187483 - ReturnStatement 2187484 2187567 - CallExpression 2187508 2187566 - Identifier 2187508 2187529 - Identifier 2187530 2187534 - Identifier 2187535 2187554 - Identifier 2187555 2187565 - CaseClause 2187567 2187716 - PropertyAccessExpression 2187585 2187621 - Identifier 2187585 2187596 - Identifier 2187597 2187621 - ReturnStatement 2187622 2187716 - CallExpression 2187646 2187715 - Identifier 2187646 2187678 - Identifier 2187679 2187683 - Identifier 2187684 2187703 - Identifier 2187704 2187714 - CaseClause 2187716 2187835 - PropertyAccessExpression 2187734 2187755 - Identifier 2187734 2187745 - Identifier 2187746 2187755 - ReturnStatement 2187756 2187835 - CallExpression 2187780 2187834 - Identifier 2187780 2187797 - Identifier 2187798 2187802 - Identifier 2187803 2187822 - Identifier 2187823 2187833 - CaseClause 2187835 2187884 - PropertyAccessExpression 2187853 2187883 - Identifier 2187853 2187864 - Identifier 2187865 2187883 - CaseClause 2187884 2187932 - PropertyAccessExpression 2187902 2187931 - Identifier 2187902 2187913 - Identifier 2187914 2187931 - CaseClause 2187932 2188075 - PropertyAccessExpression 2187950 2187983 - Identifier 2187950 2187961 - Identifier 2187962 2187983 - ReturnStatement 2187984 2188075 - CallExpression 2188008 2188074 - Identifier 2188008 2188037 - Identifier 2188038 2188042 - Identifier 2188043 2188062 - Identifier 2188063 2188073 - CaseClause 2188075 2188212 - PropertyAccessExpression 2188093 2188121 - Identifier 2188093 2188104 - Identifier 2188105 2188121 - ReturnStatement 2188122 2188212 - CallExpression 2188146 2188211 - Identifier 2188146 2188174 - Identifier 2188175 2188179 - Identifier 2188180 2188199 - Identifier 2188200 2188210 - ExpressionStatement 2188223 2188312 - CallExpression 2188223 2188311 - PropertyAccessExpression 2188223 2188250 - Identifier 2188223 2188238 - Identifier 2188239 2188250 - Identifier 2188251 2188255 - StringLiteral 2188256 2188310 - FunctionDeclaration 2188319 2191053 - Identifier 2188825 2188846 - Parameter 2188847 2188871 - Identifier 2188847 2188851 - TypeReference 2188852 2188871 - Identifier 2188852 2188871 - Parameter 2188872 2188917 - Identifier 2188872 2188891 - QuestionToken 2188891 2188892 - UnionType 2188893 2188917 - ArrayType 2188893 2188905 - TypeReference 2188893 2188903 - Identifier 2188893 2188903 - UndefinedKeyword 2188907 2188917 - Parameter 2188918 2188940 - Identifier 2188918 2188928 - QuestionToken 2188928 2188929 - TypeReference 2188930 2188940 - Identifier 2188930 2188940 - TypeReference 2188942 2188952 - Identifier 2188942 2188952 - Block 2188952 2191053 - VariableStatement 2188954 2188997 - VariableDeclarationList 2188954 2188996 - VariableDeclaration 2188969 2188996 - Identifier 2188969 2188975 - CallExpression 2188977 2188996 - Identifier 2188977 2188990 - Identifier 2188991 2188995 - VariableStatement 2188997 2189407 - VariableDeclarationList 2188997 2189406 - VariableDeclaration 2189373 2189406 - Identifier 2189373 2189380 - PropertyAccessExpression 2189382 2189406 - Identifier 2189382 2189388 - Identifier 2189389 2189406 - IfStatement 2189407 2189525 - BinaryExpression 2189421 2189483 - BinaryExpression 2189421 2189460 - Identifier 2189421 2189427 - AmpersandAmpersandToken 2189427 2189430 - BinaryExpression 2189430 2189460 - Identifier 2189430 2189437 - ExclamationEqualsEqualsToken 2189437 2189441 - Identifier 2189441 2189460 - AmpersandAmpersandToken 2189460 2189463 - PrefixUnaryExpression 2189463 2189483 - Identifier 2189465 2189483 - Block 2189484 2189525 - ReturnStatement 2189486 2189514 - Identifier 2189506 2189513 - VariableStatement 2189525 2189579 - VariableDeclarationList 2189525 2189578 - VariableDeclaration 2189540 2189578 - Identifier 2189540 2189560 - Identifier 2189562 2189578 - IfStatement 2189579 2190254 - PrefixUnaryExpression 2189593 2189600 - Identifier 2189594 2189600 - Block 2189601 2190254 - ExpressionStatement 2189603 2190243 - BinaryExpression 2189603 2190242 - Identifier 2189603 2190215 - EqualsToken 2190215 2190217 - PropertyAccessExpression 2190217 2190242 - Identifier 2190217 2190235 - Identifier 2190236 2190242 - ExpressionStatement 2190254 2190309 - BinaryExpression 2190254 2190308 - PropertyAccessExpression 2190254 2190287 - Identifier 2190254 2190269 - Identifier 2190270 2190287 - EqualsToken 2190287 2190289 - Identifier 2190289 2190308 - VariableStatement 2190309 2190408 - VariableDeclarationList 2190309 2190407 - VariableDeclaration 2190324 2190407 - Identifier 2190324 2190331 - CallExpression 2190333 2190407 - Identifier 2190333 2190350 - Identifier 2190351 2190355 - Identifier 2190356 2190375 - BinaryExpression 2190376 2190406 - Identifier 2190376 2190386 - BarBarToken 2190386 2190389 - PropertyAccessExpression 2190389 2190406 - Identifier 2190389 2190399 - Identifier 2190400 2190406 - ExpressionStatement 2190408 2190456 - BinaryExpression 2190408 2190455 - Identifier 2190408 2190433 - EqualsToken 2190433 2190435 - Identifier 2190435 2190455 - IfStatement 2190456 2191022 - BinaryExpression 2190616 2190645 - Identifier 2190616 2190622 - ExclamationEqualsEqualsToken 2190622 2190626 - Identifier 2190626 2190645 - Block 2190646 2191022 - ExpressionStatement 2190648 2191011 - BinaryExpression 2190648 2191010 - PropertyAccessExpression 2190648 2190958 - Identifier 2190648 2190940 - Identifier 2190941 2190958 - EqualsToken 2190958 2190960 - ConditionalExpression 2190960 2191010 - BinaryExpression 2190960 2190992 - Identifier 2190960 2190974 - EqualsEqualsEqualsToken 2190974 2190978 - Identifier 2190978 2190992 - QuestionToken 2190992 2190994 - Identifier 2190994 2191001 - ColonToken 2191001 2191003 - Identifier 2191003 2191010 - ReturnStatement 2191022 2191046 - Identifier 2191038 2191045 - FunctionDeclaration 2191053 2192191 - Identifier 2191189 2191205 - Parameter 2191206 2191228 - Identifier 2191206 2191210 - UnionType 2191211 2191228 - TypeReference 2191211 2191216 - Identifier 2191211 2191216 - UndefinedKeyword 2191218 2191228 - TypePredicate 2191230 2191279 - Identifier 2191230 2191235 - UnionType 2191238 2191279 - TypeReference 2191238 2191258 - Identifier 2191238 2191258 - TypeReference 2191260 2191279 - Identifier 2191260 2191279 - Block 2191279 2192191 - IfStatement 2191281 2191362 - BinaryExpression 2191295 2191321 - PrefixUnaryExpression 2191295 2191300 - Identifier 2191296 2191300 - BarBarToken 2191300 2191303 - PrefixUnaryExpression 2191303 2191321 - CallExpression 2191305 2191321 - Identifier 2191305 2191315 - Identifier 2191316 2191320 - Block 2191322 2191362 - ReturnStatement 2191324 2191351 - FalseKeyword 2191344 2191350 - VariableStatement 2191362 2191631 - VariableDeclarationList 2191362 2191630 - VariableDeclaration 2191377 2191630 - Identifier 2191377 2191382 - ConditionalExpression 2191384 2191630 - BinaryExpression 2191384 2191442 - CallExpression 2191384 2191412 - Identifier 2191384 2191406 - Identifier 2191407 2191411 - BarBarToken 2191412 2191415 - CallExpression 2191415 2191442 - Identifier 2191415 2191436 - Identifier 2191437 2191441 - QuestionToken 2191442 2191444 - Identifier 2191444 2191449 - ColonToken 2191449 2191451 - ConditionalExpression 2191451 2191630 - BinaryExpression 2191451 2191586 - BinaryExpression 2191451 2191544 - ParenthesizedExpression 2191451 2191524 - BinaryExpression 2191466 2191523 - CallExpression 2191466 2191493 - Identifier 2191466 2191487 - Identifier 2191488 2191492 - BarBarToken 2191493 2191496 - CallExpression 2191496 2191523 - Identifier 2191496 2191517 - Identifier 2191518 2191522 - AmpersandAmpersandToken 2191524 2191527 - PropertyAccessExpression 2191527 2191544 - Identifier 2191527 2191532 - Identifier 2191533 2191544 - AmpersandAmpersandToken 2191544 2191547 - CallExpression 2191547 2191586 - Identifier 2191547 2191568 - PropertyAccessExpression 2191569 2191585 - Identifier 2191569 2191573 - Identifier 2191574 2191585 - QuestionToken 2191586 2191588 - PropertyAccessExpression 2191588 2191605 - Identifier 2191588 2191593 - Identifier 2191594 2191605 - ColonToken 2191605 2191607 - Identifier 2191607 2191630 - IfStatement 2191631 2192161 - Identifier 2191645 2191649 - Block 2191650 2192161 - IfStatement 2191652 2191797 - CallExpression 2191761 2191783 - Identifier 2191761 2191777 - Identifier 2191778 2191782 - ReturnStatement 2191784 2191797 - TrueKeyword 2191791 2191796 - IfStatement 2191797 2191961 - CallExpression 2191881 2191946 - Identifier 2191881 2191901 - CallExpression 2191902 2191945 - Identifier 2191902 2191932 - PropertyAccessExpression 2191933 2191944 - Identifier 2191933 2191937 - Identifier 2191938 2191944 - ReturnStatement 2191947 2191961 - FalseKeyword 2191954 2191960 - VariableStatement 2191961 2192105 - VariableDeclarationList 2191961 2192104 - VariableDeclaration 2192066 2192104 - Identifier 2192066 2192073 - CallExpression 2192075 2192104 - Identifier 2192075 2192098 - Identifier 2192099 2192103 - ReturnStatement 2192105 2192150 - PrefixUnaryExpression 2192125 2192149 - PrefixUnaryExpression 2192127 2192149 - PropertyAccessExpression 2192128 2192149 - PropertyAccessExpression 2192128 2192143 - Identifier 2192128 2192134 - QuestionDotToken 2192134 2192136 - Identifier 2192136 2192143 - QuestionDotToken 2192143 2192145 - Identifier 2192145 2192149 - ReturnStatement 2192161 2192184 - FalseKeyword 2192177 2192183 - FunctionDeclaration 2192191 2193298 - Identifier 2192207 2192222 - Parameter 2192223 2192237 - Identifier 2192223 2192229 - TypeReference 2192230 2192237 - Identifier 2192230 2192237 - Parameter 2192238 2192265 - Identifier 2192238 2192245 - UnionType 2192246 2192265 - TypeReference 2192246 2192253 - Identifier 2192246 2192253 - UndefinedKeyword 2192255 2192265 - Block 2192266 2193298 - IfStatement 2192268 2193291 - Identifier 2192282 2192288 - Block 2192289 2193291 - VariableStatement 2192291 2192342 - VariableDeclarationList 2192291 2192341 - VariableDeclaration 2192310 2192341 - Identifier 2192310 2192316 - CallExpression 2192318 2192341 - Identifier 2192318 2192333 - Identifier 2192334 2192340 - IfStatement 2192342 2193208 - BinaryExpression 2192360 2192441 - PrefixUnaryExpression 2192360 2192386 - PropertyAccessExpression 2192361 2192386 - Identifier 2192361 2192366 - Identifier 2192367 2192386 - BarBarToken 2192386 2192389 - PrefixUnaryExpression 2192389 2192441 - CallExpression 2192391 2192441 - PropertyAccessExpression 2192391 2192420 - PropertyAccessExpression 2192391 2192416 - Identifier 2192391 2192396 - Identifier 2192397 2192416 - Identifier 2192417 2192420 - CallExpression 2192421 2192440 - Identifier 2192421 2192432 - Identifier 2192433 2192439 - Block 2192442 2193208 - VariableStatement 2192444 2192536 - VariableDeclarationList 2192444 2192535 - VariableDeclaration 2192467 2192535 - Identifier 2192467 2192476 - ConditionalExpression 2192478 2192535 - CallExpression 2192478 2192504 - Identifier 2192478 2192496 - Identifier 2192497 2192503 - QuestionToken 2192504 2192506 - Identifier 2192506 2192513 - ColonToken 2192513 2192515 - CallExpression 2192515 2192535 - Identifier 2192515 2192527 - Identifier 2192528 2192534 - ExpressionStatement 2192536 2192613 - BinaryExpression 2192536 2192612 - PropertyAccessExpression 2192536 2192570 - Identifier 2192536 2192562 - Identifier 2192563 2192570 - EqualsToken 2192570 2192572 - BinaryExpression 2192572 2192612 - PropertyAccessExpression 2192572 2192589 - Identifier 2192572 2192581 - Identifier 2192582 2192589 - BarBarToken 2192589 2192592 - CallExpression 2192592 2192612 - Identifier 2192592 2192610 - ExpressionStatement 2192613 2192690 - BinaryExpression 2192613 2192689 - PropertyAccessExpression 2192613 2192647 - Identifier 2192613 2192639 - Identifier 2192640 2192647 - EqualsToken 2192647 2192649 - BinaryExpression 2192649 2192689 - PropertyAccessExpression 2192649 2192666 - Identifier 2192649 2192658 - Identifier 2192659 2192666 - BarBarToken 2192666 2192669 - CallExpression 2192669 2192689 - Identifier 2192669 2192687 - ExpressionStatement 2192690 2192759 - BinaryExpression 2192690 2192758 - PropertyAccessExpression 2192690 2192722 - Identifier 2192690 2192716 - Identifier 2192717 2192722 - BarEqualsToken 2192722 2192725 - BinaryExpression 2192725 2192758 - PropertyAccessExpression 2192725 2192738 - Identifier 2192725 2192732 - Identifier 2192733 2192738 - AmpersandToken 2192738 2192740 - PropertyAccessExpression 2192740 2192758 - Identifier 2192740 2192752 - Identifier 2192753 2192758 - IfStatement 2192759 2192896 - PropertyAccessExpression 2192781 2192801 - PropertyAccessExpression 2192781 2192795 - Identifier 2192781 2192787 - Identifier 2192788 2192795 - QuestionDotToken 2192795 2192797 - Identifier 2192797 2192801 - Block 2192802 2192896 - ExpressionStatement 2192804 2192877 - CallExpression 2192804 2192876 - Identifier 2192804 2192842 - PropertyAccessExpression 2192843 2192859 - Identifier 2192843 2192851 - Identifier 2192852 2192859 - PropertyAccessExpression 2192860 2192875 - Identifier 2192860 2192867 - Identifier 2192868 2192875 - IfStatement 2192896 2193033 - PropertyAccessExpression 2192918 2192938 - PropertyAccessExpression 2192918 2192932 - Identifier 2192918 2192924 - Identifier 2192925 2192932 - QuestionDotToken 2192932 2192934 - Identifier 2192934 2192938 - Block 2192939 2193033 - ExpressionStatement 2192941 2193014 - CallExpression 2192941 2193013 - Identifier 2192941 2192979 - PropertyAccessExpression 2192980 2192996 - Identifier 2192980 2192988 - Identifier 2192989 2192996 - PropertyAccessExpression 2192997 2193012 - Identifier 2192997 2193004 - Identifier 2193005 2193012 - ExpressionStatement 2193033 2193159 - CallExpression 2193033 2193158 - PropertyAccessExpression 2193033 2193125 - ParenthesizedExpression 2193033 2193121 - BinaryExpression 2193052 2193120 - PropertyAccessExpression 2193052 2193077 - Identifier 2193052 2193057 - Identifier 2193058 2193077 - BarBarToken 2193077 2193080 - ParenthesizedExpression 2193080 2193120 - BinaryExpression 2193082 2193119 - PropertyAccessExpression 2193082 2193107 - Identifier 2193082 2193087 - Identifier 2193088 2193107 - EqualsToken 2193107 2193109 - NewExpression 2193109 2193119 - Identifier 2193113 2193117 - Identifier 2193122 2193125 - CallExpression 2193126 2193147 - Identifier 2193126 2193137 - Identifier 2193138 2193146 - Identifier 2193148 2193157 - ReturnStatement 2193159 2193193 - Identifier 2193183 2193192 - ReturnStatement 2193208 2193280 - CallExpression 2193228 2193279 - PropertyAccessExpression 2193228 2193258 - PropertyAccessExpression 2193228 2193254 - Identifier 2193228 2193234 - Identifier 2193235 2193254 - Identifier 2193255 2193258 - CallExpression 2193259 2193278 - Identifier 2193259 2193270 - Identifier 2193271 2193277 - FunctionDeclaration 2193298 2193734 - Identifier 2193314 2193337 - Parameter 2193338 2193355 - Identifier 2193338 2193342 - TypeReference 2193343 2193355 - Identifier 2193343 2193355 - UnionType 2193357 2193376 - TypeReference 2193357 2193364 - Identifier 2193357 2193364 - UndefinedKeyword 2193366 2193376 - Block 2193376 2193734 - VariableStatement 2193378 2193473 - VariableDeclarationList 2193378 2193472 - VariableDeclaration 2193393 2193472 - Identifier 2193393 2193410 - BinaryExpression 2193412 2193472 - Identifier 2193412 2193417 - AmpersandAmpersandToken 2193417 2193420 - CallExpression 2193420 2193472 - Identifier 2193420 2193439 - Identifier 2193440 2193444 - TrueKeyword 2193445 2193471 - VariableStatement 2193473 2193557 - VariableDeclarationList 2193473 2193556 - VariableDeclaration 2193488 2193556 - Identifier 2193488 2193498 - CallExpression 2193500 2193556 - PropertyAccessExpression 2193500 2193531 - PropertyAccessExpression 2193500 2193526 - Identifier 2193500 2193517 - QuestionDotToken 2193517 2193519 - Identifier 2193519 2193526 - QuestionDotToken 2193526 2193528 - Identifier 2193528 2193531 - AsExpression 2193532 2193555 - StringLiteral 2193532 2193543 - TypeReference 2193546 2193555 - Identifier 2193546 2193555 - VariableStatement 2193557 2193662 - VariableDeclarationList 2193557 2193661 - VariableDeclaration 2193572 2193661 - Identifier 2193572 2193577 - BinaryExpression 2193579 2193661 - PropertyAccessExpression 2193579 2193607 - Identifier 2193579 2193589 - QuestionDotToken 2193589 2193591 - Identifier 2193591 2193607 - AmpersandAmpersandToken 2193607 2193610 - CallExpression 2193610 2193661 - Identifier 2193610 2193633 - PropertyAccessExpression 2193634 2193660 - Identifier 2193634 2193643 - Identifier 2193644 2193660 - ReturnStatement 2193662 2193727 - ConditionalExpression 2193678 2193726 - Identifier 2193678 2193683 - QuestionToken 2193683 2193685 - CallExpression 2193685 2193714 - Identifier 2193685 2193708 - Identifier 2193709 2193713 - ColonToken 2193714 2193716 - Identifier 2193716 2193726 - FunctionDeclaration 2193734 2195897 - Identifier 2193750 2193769 - Parameter 2193770 2193780 - Identifier 2193770 2193774 - TypeReference 2193775 2193780 - Identifier 2193775 2193780 - Parameter 2193781 2193807 - Identifier 2193781 2193798 - BooleanKeyword 2193799 2193807 - UnionType 2193809 2193828 - TypeReference 2193809 2193816 - Identifier 2193809 2193816 - UndefinedKeyword 2193818 2193828 - Block 2193828 2195897 - IfStatement 2193830 2193901 - PrefixUnaryExpression 2193844 2193856 - PropertyAccessExpression 2193845 2193856 - Identifier 2193845 2193849 - Identifier 2193850 2193856 - Block 2193857 2193901 - ReturnStatement 2193859 2193890 - Identifier 2193879 2193889 - VariableStatement 2193901 2193958 - VariableDeclarationList 2193901 2193957 - VariableDeclaration 2193914 2193957 - Identifier 2193914 2193919 - UnionType 2193920 2193957 - TypeReference 2193920 2193931 - Identifier 2193920 2193931 - TypeReference 2193933 2193945 - Identifier 2193933 2193945 - UndefinedKeyword 2193947 2193957 - VariableStatement 2193958 2193995 - VariableDeclarationList 2193958 2193994 - VariableDeclaration 2193971 2193994 - Identifier 2193971 2193976 - UnionType 2193977 2193994 - TypeReference 2193977 2193982 - Identifier 2193977 2193982 - UndefinedKeyword 2193984 2193994 - IfStatement 2193995 2195696 - BinaryExpression 2194009 2194079 - CallExpression 2194009 2194043 - Identifier 2194009 2194030 - PropertyAccessExpression 2194031 2194042 - Identifier 2194031 2194035 - Identifier 2194036 2194042 - AmpersandAmpersandToken 2194043 2194046 - BinaryExpression 2194046 2194079 - PropertyAccessExpression 2194046 2194070 - PropertyAccessExpression 2194046 2194058 - Identifier 2194046 2194051 - Identifier 2194052 2194058 - Identifier 2194059 2194070 - EqualsEqualsEqualsToken 2194070 2194074 - Identifier 2194074 2194079 - Block 2194080 2194321 - IfStatement 2194082 2194239 - BinaryExpression 2194100 2194186 - PrefixUnaryExpression 2194100 2194117 - CallExpression 2194101 2194117 - Identifier 2194101 2194111 - Identifier 2194112 2194116 - AmpersandAmpersandToken 2194117 2194120 - PrefixUnaryExpression 2194120 2194186 - ParenthesizedExpression 2194122 2194186 - BinaryExpression 2194123 2194185 - CallExpression 2194123 2194150 - Identifier 2194123 2194137 - PropertyAccessExpression 2194138 2194149 - Identifier 2194138 2194142 - Identifier 2194143 2194149 - AmpersandAmpersandToken 2194150 2194153 - CallExpression 2194153 2194185 - Identifier 2194153 2194179 - Identifier 2194180 2194184 - Block 2194187 2194239 - ReturnStatement 2194189 2194224 - Identifier 2194213 2194223 - ExpressionStatement 2194239 2194277 - BinaryExpression 2194239 2194276 - Identifier 2194239 2194257 - EqualsToken 2194257 2194259 - PropertyAccessExpression 2194259 2194276 - PropertyAccessExpression 2194259 2194271 - Identifier 2194259 2194264 - Identifier 2194265 2194271 - Identifier 2194272 2194276 - ExpressionStatement 2194277 2194310 - BinaryExpression 2194277 2194309 - Identifier 2194277 2194295 - EqualsToken 2194295 2194297 - PropertyAccessExpression 2194297 2194309 - Identifier 2194297 2194302 - Identifier 2194303 2194309 - IfStatement 2194335 2195696 - CallExpression 2194340 2194371 - Identifier 2194340 2194358 - PropertyAccessExpression 2194359 2194370 - Identifier 2194359 2194363 - Identifier 2194364 2194370 - Block 2194372 2195559 - VariableStatement 2194374 2194419 - VariableDeclarationList 2194374 2194418 - VariableDeclaration 2194393 2194418 - Identifier 2194393 2194404 - PropertyAccessExpression 2194406 2194418 - Identifier 2194406 2194411 - Identifier 2194412 2194418 - VariableStatement 2194419 2194491 - VariableDeclarationList 2194419 2194490 - VariableDeclaration 2194438 2194490 - Identifier 2194438 2194457 - PropertyAccessExpression 2194459 2194490 - PropertyAccessExpression 2194459 2194485 - PropertyAccessExpression 2194459 2194471 - Identifier 2194459 2194464 - Identifier 2194465 2194471 - Identifier 2194472 2194485 - Identifier 2194486 2194490 - IfStatement 2194491 2195548 - BinaryExpression 2194509 2194605 - BinaryExpression 2194509 2194554 - Identifier 2194509 2194527 - EqualsEqualsEqualsToken 2194527 2194531 - PropertyAccessExpression 2194531 2194554 - Identifier 2194531 2194542 - Identifier 2194543 2194554 - AmpersandAmpersandToken 2194554 2194557 - ParenthesizedExpression 2194557 2194605 - BinaryExpression 2194559 2194604 - Identifier 2194559 2194575 - BarBarToken 2194575 2194578 - BinaryExpression 2194578 2194604 - PropertyAccessExpression 2194578 2194595 - Identifier 2194578 2194589 - Identifier 2194590 2194595 - EqualsEqualsEqualsToken 2194595 2194599 - Identifier 2194599 2194604 - Block 2194606 2194694 - ExpressionStatement 2194608 2194649 - BinaryExpression 2194608 2194648 - Identifier 2194608 2194630 - EqualsToken 2194630 2194632 - PropertyAccessExpression 2194632 2194648 - Identifier 2194632 2194643 - Identifier 2194644 2194648 - ExpressionStatement 2194649 2194679 - BinaryExpression 2194649 2194678 - Identifier 2194649 2194671 - EqualsToken 2194671 2194673 - Identifier 2194673 2194678 - IfStatement 2194712 2195548 - BinaryExpression 2194717 2194821 - BinaryExpression 2194717 2194762 - Identifier 2194717 2194735 - EqualsEqualsEqualsToken 2194735 2194739 - PropertyAccessExpression 2194739 2194762 - Identifier 2194739 2194750 - Identifier 2194751 2194762 - BarBarToken 2194762 2194765 - BinaryExpression 2194765 2194821 - Identifier 2194765 2194784 - EqualsEqualsEqualsToken 2194784 2194788 - PropertyAccessExpression 2194788 2194821 - Identifier 2194788 2194799 - Identifier 2194800 2194821 - Block 2194822 2195548 - IfStatement 2194824 2195358 - BinaryExpression 2194846 2194934 - CallExpression 2194846 2194886 - Identifier 2194846 2194867 - PropertyAccessExpression 2194868 2194885 - Identifier 2194868 2194878 - Identifier 2194879 2194885 - AmpersandAmpersandToken 2194886 2194889 - BinaryExpression 2194889 2194934 - PropertyAccessExpression 2194889 2194919 - PropertyAccessExpression 2194889 2194907 - Identifier 2194889 2194900 - Identifier 2194901 2194907 - Identifier 2194908 2194919 - EqualsEqualsEqualsToken 2194919 2194923 - Identifier 2194923 2194934 - Block 2194935 2195055 - ExpressionStatement 2194937 2194989 - BinaryExpression 2194937 2194988 - Identifier 2194937 2194963 - EqualsToken 2194963 2194965 - PropertyAccessExpression 2194965 2194988 - PropertyAccessExpression 2194965 2194983 - Identifier 2194965 2194976 - Identifier 2194977 2194983 - Identifier 2194984 2194988 - ExpressionStatement 2194989 2195036 - BinaryExpression 2194989 2195035 - Identifier 2194989 2195015 - EqualsToken 2195015 2195017 - PropertyAccessExpression 2195017 2195035 - Identifier 2195017 2195028 - Identifier 2195029 2195035 - IfStatement 2195077 2195358 - BinaryExpression 2195082 2195250 - BinaryExpression 2195082 2195186 - CallExpression 2195082 2195119 - Identifier 2195082 2195100 - PropertyAccessExpression 2195101 2195118 - Identifier 2195101 2195111 - Identifier 2195112 2195118 - AmpersandAmpersandToken 2195119 2195122 - BinaryExpression 2195122 2195186 - PropertyAccessExpression 2195122 2195159 - PropertyAccessExpression 2195122 2195154 - PropertyAccessExpression 2195122 2195140 - Identifier 2195122 2195133 - Identifier 2195134 2195140 - Identifier 2195141 2195154 - Identifier 2195155 2195159 - EqualsEqualsEqualsToken 2195159 2195163 - PropertyAccessExpression 2195163 2195186 - Identifier 2195163 2195174 - Identifier 2195175 2195186 - AmpersandAmpersandToken 2195186 2195189 - ParenthesizedExpression 2195189 2195250 - BinaryExpression 2195191 2195249 - Identifier 2195191 2195207 - BarBarToken 2195207 2195210 - BinaryExpression 2195210 2195249 - PropertyAccessExpression 2195210 2195234 - PropertyAccessExpression 2195210 2195228 - Identifier 2195210 2195221 - Identifier 2195222 2195228 - Identifier 2195229 2195234 - EqualsEqualsEqualsToken 2195234 2195238 - Identifier 2195238 2195249 - Block 2195251 2195358 - ExpressionStatement 2195253 2195305 - BinaryExpression 2195253 2195304 - Identifier 2195253 2195279 - EqualsToken 2195279 2195281 - PropertyAccessExpression 2195281 2195304 - PropertyAccessExpression 2195281 2195299 - Identifier 2195281 2195292 - Identifier 2195293 2195299 - Identifier 2195300 2195304 - ExpressionStatement 2195305 2195339 - BinaryExpression 2195305 2195338 - Identifier 2195305 2195331 - EqualsToken 2195331 2195333 - Identifier 2195333 2195338 - IfStatement 2195358 2195533 - BinaryExpression 2195382 2195472 - BinaryExpression 2195382 2195428 - PrefixUnaryExpression 2195382 2195387 - Identifier 2195383 2195387 - BarBarToken 2195387 2195390 - PrefixUnaryExpression 2195390 2195428 - CallExpression 2195392 2195428 - Identifier 2195392 2195422 - Identifier 2195423 2195427 - BarBarToken 2195428 2195431 - PrefixUnaryExpression 2195431 2195472 - CallExpression 2195433 2195472 - Identifier 2195433 2195449 - Identifier 2195450 2195454 - PropertyAccessExpression 2195455 2195471 - Identifier 2195455 2195466 - Identifier 2195467 2195471 - Block 2195473 2195533 - ReturnStatement 2195475 2195514 - Identifier 2195503 2195513 - IfStatement 2195573 2195696 - BinaryExpression 2195578 2195625 - Identifier 2195578 2195594 - AmpersandAmpersandToken 2195594 2195597 - CallExpression 2195597 2195625 - Identifier 2195597 2195619 - Identifier 2195620 2195624 - Block 2195626 2195696 - ExpressionStatement 2195628 2195659 - BinaryExpression 2195628 2195658 - Identifier 2195628 2195646 - EqualsToken 2195646 2195648 - PropertyAccessExpression 2195648 2195658 - Identifier 2195648 2195653 - Identifier 2195654 2195658 - ExpressionStatement 2195659 2195685 - BinaryExpression 2195659 2195684 - Identifier 2195659 2195677 - EqualsToken 2195677 2195679 - Identifier 2195679 2195684 - IfStatement 2195696 2195851 - BinaryExpression 2195712 2195806 - BinaryExpression 2195712 2195726 - PrefixUnaryExpression 2195712 2195717 - Identifier 2195713 2195717 - BarBarToken 2195717 2195720 - PrefixUnaryExpression 2195720 2195726 - Identifier 2195722 2195726 - BarBarToken 2195726 2195729 - ParenthesizedExpression 2195729 2195806 - BinaryExpression 2195731 2195805 - PrefixUnaryExpression 2195731 2195748 - Identifier 2195732 2195748 - AmpersandAmpersandToken 2195748 2195751 - PrefixUnaryExpression 2195751 2195805 - CallExpression 2195753 2195805 - Identifier 2195753 2195774 - Identifier 2195775 2195779 - CallExpression 2195780 2195804 - Identifier 2195780 2195798 - Identifier 2195799 2195803 - Block 2195807 2195851 - ReturnStatement 2195809 2195840 - Identifier 2195829 2195839 - ReturnStatement 2195851 2195890 - CallExpression 2195867 2195889 - Identifier 2195867 2195883 - Identifier 2195884 2195888 - FunctionDeclaration 2195897 2196480 - Identifier 2195913 2195936 - Parameter 2195937 2195947 - Identifier 2195937 2195941 - TypeReference 2195942 2195947 - Identifier 2195942 2195947 - Block 2195948 2196480 - IfStatement 2195950 2196017 - PrefixUnaryExpression 2195964 2195976 - PropertyAccessExpression 2195965 2195976 - Identifier 2195965 2195969 - Identifier 2195970 2195976 - Block 2195977 2196017 - ReturnStatement 2195979 2196006 - FalseKeyword 2195999 2196005 - VariableStatement 2196017 2196058 - VariableDeclarationList 2196017 2196057 - VariableDeclaration 2196030 2196057 - Identifier 2196030 2196037 - TypeReference 2196038 2196043 - Identifier 2196038 2196043 - PropertyAccessExpression 2196045 2196057 - Identifier 2196045 2196050 - Identifier 2196051 2196057 - WhileStatement 2196058 2196187 - BinaryExpression 2196075 2196136 - Identifier 2196075 2196081 - AmpersandAmpersandToken 2196081 2196084 - BinaryExpression 2196084 2196136 - PropertyAccessExpression 2196084 2196096 - Identifier 2196084 2196091 - Identifier 2196092 2196096 - EqualsEqualsEqualsToken 2196096 2196100 - PropertyAccessExpression 2196100 2196136 - Identifier 2196100 2196111 - Identifier 2196112 2196136 - Block 2196137 2196187 - ExpressionStatement 2196139 2196176 - BinaryExpression 2196139 2196175 - Identifier 2196139 2196159 - EqualsToken 2196159 2196161 - PropertyAccessExpression 2196161 2196175 - Identifier 2196161 2196168 - Identifier 2196169 2196175 - IfStatement 2196187 2196473 - BinaryExpression 2196201 2196327 - BinaryExpression 2196201 2196271 - BinaryExpression 2196201 2196237 - Identifier 2196201 2196207 - AmpersandAmpersandToken 2196207 2196210 - CallExpression 2196210 2196237 - Identifier 2196210 2196229 - Identifier 2196230 2196236 - AmpersandAmpersandToken 2196237 2196240 - CallExpression 2196240 2196271 - Identifier 2196240 2196258 - PropertyAccessExpression 2196259 2196270 - Identifier 2196259 2196265 - Identifier 2196266 2196270 - AmpersandAmpersandToken 2196271 2196274 - BinaryExpression 2196274 2196327 - PropertyAccessExpression 2196274 2196300 - PropertyAccessExpression 2196274 2196295 - Identifier 2196274 2196281 - Identifier 2196282 2196295 - Identifier 2196296 2196300 - EqualsEqualsEqualsToken 2196300 2196304 - PropertyAccessExpression 2196304 2196327 - Identifier 2196304 2196315 - Identifier 2196316 2196327 - Block 2196328 2196473 - VariableStatement 2196330 2196399 - VariableDeclarationList 2196330 2196398 - VariableDeclaration 2196349 2196398 - Identifier 2196349 2196355 - CallExpression 2196357 2196398 - Identifier 2196357 2196390 - Identifier 2196391 2196397 - ReturnStatement 2196399 2196462 - BinaryExpression 2196419 2196461 - CallExpression 2196419 2196452 - Identifier 2196419 2196445 - Identifier 2196446 2196451 - AmpersandAmpersandToken 2196452 2196455 - Identifier 2196455 2196461 - FunctionDeclaration 2196480 2200381 - Identifier 2196737 2196757 - Parameter 2196758 2196794 - Identifier 2196758 2196762 - UnionType 2196763 2196794 - TypeReference 2196763 2196778 - Identifier 2196763 2196778 - TypeReference 2196780 2196794 - Identifier 2196780 2196794 - Parameter 2196795 2196817 - Identifier 2196795 2196805 - QuestionToken 2196805 2196806 - TypeReference 2196807 2196817 - Identifier 2196807 2196817 - TypeReference 2196819 2196824 - Identifier 2196819 2196824 - Block 2196824 2200381 - ExpressionStatement 2196826 2196888 - CallExpression 2196826 2196887 - Identifier 2196826 2196861 - Identifier 2196862 2196866 - PropertyAccessExpression 2196867 2196886 - Identifier 2196867 2196872 - Identifier 2196873 2196886 - VariableStatement 2196888 2196990 - VariableDeclarationList 2196888 2196989 - VariableDeclaration 2196905 2196989 - Identifier 2196905 2196915 - CallExpression 2196917 2196989 - Identifier 2196917 2196938 - Identifier 2196939 2196943 - Identifier 2196944 2196977 - Identifier 2196978 2196988 - IfStatement 2196990 2197278 - BinaryExpression 2197004 2197036 - Identifier 2197004 2197013 - EqualsEqualsEqualsToken 2197013 2197017 - Identifier 2197017 2197036 - Block 2197037 2197278 - ReturnStatement 2197039 2197267 - Identifier 2197250 2197266 - ExpressionStatement 2197278 2197332 - CallExpression 2197278 2197331 - Identifier 2197278 2197314 - Identifier 2197315 2197324 - Identifier 2197325 2197330 - IfStatement 2197332 2197440 - BinaryExpression 2197348 2197396 - PropertyAccessExpression 2197348 2197368 - PropertyAccessExpression 2197348 2197363 - Identifier 2197348 2197352 - Identifier 2197353 2197363 - Identifier 2197364 2197368 - EqualsEqualsEqualsToken 2197368 2197372 - PropertyAccessExpression 2197372 2197396 - Identifier 2197372 2197383 - Identifier 2197384 2197396 - Block 2197397 2197440 - ReturnStatement 2197399 2197429 - Identifier 2197419 2197428 - IfStatement 2197440 2198420 - BinaryExpression 2197456 2197494 - PropertyAccessExpression 2197456 2197465 - Identifier 2197456 2197460 - Identifier 2197461 2197465 - EqualsEqualsEqualsToken 2197465 2197469 - PropertyAccessExpression 2197469 2197494 - Identifier 2197469 2197480 - Identifier 2197481 2197494 - Block 2197495 2198420 - VariableStatement 2197497 2197553 - VariableDeclarationList 2197497 2197552 - VariableDeclaration 2197516 2197552 - Identifier 2197516 2197528 - PropertyAccessExpression 2197530 2197552 - Identifier 2197530 2197540 - Identifier 2197541 2197552 - IfStatement 2197553 2198409 - BinaryExpression 2197573 2198038 - BinaryExpression 2197573 2197988 - BinaryExpression 2197573 2197928 - BinaryExpression 2197573 2197805 - BinaryExpression 2197573 2197737 - BinaryExpression 2197573 2197666 - Identifier 2197573 2197602 - AmpersandAmpersandToken 2197602 2197605 - BinaryExpression 2197605 2197666 - PropertyAccessExpression 2197605 2197639 - Identifier 2197605 2197634 - Identifier 2197635 2197639 - ExclamationEqualsEqualsToken 2197639 2197643 - PropertyAccessExpression 2197643 2197666 - Identifier 2197643 2197654 - Identifier 2197655 2197666 - AmpersandAmpersandToken 2197666 2197669 - BinaryExpression 2197669 2197737 - PropertyAccessExpression 2197669 2197703 - Identifier 2197669 2197698 - Identifier 2197699 2197703 - ExclamationEqualsEqualsToken 2197703 2197707 - PropertyAccessExpression 2197707 2197737 - Identifier 2197707 2197718 - Identifier 2197719 2197737 - AmpersandAmpersandToken 2197737 2197740 - BinaryExpression 2197740 2197805 - PropertyAccessExpression 2197740 2197774 - Identifier 2197740 2197769 - Identifier 2197770 2197774 - ExclamationEqualsEqualsToken 2197774 2197778 - PropertyAccessExpression 2197778 2197805 - Identifier 2197778 2197789 - Identifier 2197790 2197805 - AmpersandAmpersandToken 2197805 2197808 - PrefixUnaryExpression 2197808 2197928 - ParenthesizedExpression 2197827 2197928 - BinaryExpression 2197828 2197927 - CallExpression 2197828 2197857 - Identifier 2197828 2197844 - Identifier 2197845 2197856 - AmpersandAmpersandToken 2197857 2197860 - BinaryExpression 2197860 2197927 - PropertyAccessExpression 2197860 2197900 - PropertyAccessExpression 2197860 2197894 - CallExpression 2197860 2197886 - Identifier 2197860 2197873 - Identifier 2197874 2197885 - QuestionDotToken 2197886 2197888 - Identifier 2197888 2197894 - QuestionDotToken 2197894 2197896 - Identifier 2197896 2197900 - EqualsEqualsEqualsToken 2197900 2197904 - PropertyAccessExpression 2197904 2197927 - Identifier 2197904 2197915 - Identifier 2197916 2197927 - AmpersandAmpersandToken 2197928 2197931 - PrefixUnaryExpression 2197931 2197988 - CallExpression 2197950 2197988 - Identifier 2197950 2197975 - Identifier 2197976 2197987 - AmpersandAmpersandToken 2197988 2197991 - PrefixUnaryExpression 2197991 2198038 - CallExpression 2198010 2198038 - Identifier 2198010 2198025 - Identifier 2198026 2198037 - Block 2198053 2198409 - IfStatement 2198055 2198361 - Identifier 2198196 2198209 - Block 2198210 2198361 - ExpressionStatement 2198212 2198342 - CallExpression 2198212 2198341 - Identifier 2198212 2198239 - Identifier 2198240 2198244 - PropertyAccessExpression 2198245 2198340 - Identifier 2198245 2198257 - Identifier 2198258 2198340 - ReturnStatement 2198361 2198394 - Identifier 2198385 2198393 - IfStatement 2198420 2198692 - BinaryExpression 2198542 2198585 - CallExpression 2198542 2198558 - Identifier 2198542 2198552 - Identifier 2198553 2198557 - AmpersandAmpersandToken 2198558 2198561 - CallExpression 2198561 2198585 - Identifier 2198561 2198579 - Identifier 2198580 2198584 - Block 2198586 2198692 - ReturnStatement 2198588 2198681 - CallExpression 2198608 2198680 - Identifier 2198608 2198643 - AsExpression 2198644 2198679 - ElementAccessExpression 2198644 2198662 - NonNullExpression 2198644 2198659 - PropertyAccessExpression 2198644 2198658 - Identifier 2198644 2198648 - Identifier 2198649 2198658 - NumericLiteral 2198660 2198661 - TypeReference 2198665 2198679 - Identifier 2198665 2198679 - VariableStatement 2198692 2198759 - VariableDeclarationList 2198692 2198758 - VariableDeclaration 2198709 2198758 - Identifier 2198709 2198720 - CallExpression 2198722 2198758 - Identifier 2198722 2198747 - Identifier 2198748 2198757 - IfStatement 2198759 2199118 - BinaryExpression 2198937 2199011 - BinaryExpression 2198937 2198978 - PropertyAccessExpression 2198937 2198953 - Identifier 2198937 2198947 - Identifier 2198948 2198953 - AmpersandToken 2198953 2198955 - PropertyAccessExpression 2198955 2198978 - Identifier 2198955 2198965 - Identifier 2198966 2198978 - AmpersandAmpersandToken 2198978 2198981 - CallExpression 2198981 2199011 - Identifier 2198981 2199005 - Identifier 2199006 2199010 - Block 2199012 2199118 - ReturnStatement 2199014 2199107 - CallExpression 2199034 2199106 - Identifier 2199034 2199061 - CallExpression 2199062 2199105 - Identifier 2199062 2199092 - PropertyAccessExpression 2199093 2199104 - Identifier 2199093 2199097 - Identifier 2199098 2199104 - IfStatement 2199118 2199879 - BinaryExpression 2199132 2199358 - BinaryExpression 2199132 2199316 - BinaryExpression 2199132 2199266 - BinaryExpression 2199132 2199211 - BinaryExpression 2199132 2199185 - PropertyAccessExpression 2199132 2199155 - Identifier 2199132 2199150 - Identifier 2199151 2199155 - EqualsEqualsEqualsToken 2199155 2199159 - PropertyAccessExpression 2199159 2199185 - Identifier 2199159 2199170 - Identifier 2199171 2199185 - AmpersandAmpersandToken 2199185 2199188 - PrefixUnaryExpression 2199188 2199211 - PropertyAccessExpression 2199190 2199211 - Identifier 2199190 2199194 - Identifier 2199195 2199211 - AmpersandAmpersandToken 2199211 2199214 - BinaryExpression 2199214 2199266 - PropertyAccessExpression 2199214 2199231 - PropertyAccessExpression 2199214 2199226 - Identifier 2199214 2199219 - Identifier 2199220 2199226 - Identifier 2199227 2199231 - EqualsEqualsEqualsToken 2199231 2199235 - PropertyAccessExpression 2199235 2199266 - Identifier 2199235 2199246 - Identifier 2199247 2199266 - AmpersandAmpersandToken 2199266 2199269 - BinaryExpression 2199269 2199316 - PropertyAccessExpression 2199269 2199299 - Identifier 2199269 2199293 - Identifier 2199294 2199299 - AmpersandToken 2199299 2199301 - PropertyAccessExpression 2199301 2199316 - Identifier 2199301 2199311 - Identifier 2199312 2199316 - AmpersandAmpersandToken 2199316 2199319 - CallExpression 2199319 2199358 - Identifier 2199319 2199347 - Identifier 2199348 2199357 - Block 2199369 2199879 - IfStatement 2199371 2199868 - PrefixUnaryExpression 2199389 2199419 - CallExpression 2199390 2199419 - Identifier 2199390 2199402 - PropertyAccessExpression 2199403 2199418 - Identifier 2199403 2199407 - Identifier 2199408 2199418 - Block 2199420 2199564 - ExpressionStatement 2199422 2199549 - CallExpression 2199422 2199548 - Identifier 2199422 2199445 - PropertyAccessExpression 2199446 2199461 - Identifier 2199446 2199450 - Identifier 2199451 2199461 - PropertyAccessExpression 2199462 2199547 - Identifier 2199462 2199474 - Identifier 2199475 2199547 - IfStatement 2199582 2199868 - PrefixUnaryExpression 2199587 2199613 - CallExpression 2199588 2199613 - Identifier 2199588 2199607 - Identifier 2199608 2199612 - Block 2199614 2199868 - VariableStatement 2199616 2199786 - VariableDeclarationList 2199616 2199785 - VariableDeclaration 2199639 2199785 - Identifier 2199639 2199650 - CallExpression 2199652 2199785 - Identifier 2199652 2199658 - PropertyAccessExpression 2199659 2199674 - Identifier 2199659 2199663 - Identifier 2199664 2199674 - PropertyAccessExpression 2199675 2199784 - Identifier 2199675 2199687 - Identifier 2199688 2199784 - ExpressionStatement 2199786 2199853 - CallExpression 2199786 2199852 - Identifier 2199786 2199823 - PropertyAccessExpression 2199824 2199839 - Identifier 2199824 2199828 - Identifier 2199829 2199839 - Identifier 2199840 2199851 - IfStatement 2199879 2200344 - CallExpression 2199895 2199911 - Identifier 2199895 2199905 - Identifier 2199906 2199910 - Block 2199912 2200344 - VariableStatement 2199914 2199998 - VariableDeclarationList 2199914 2199997 - VariableDeclaration 2199933 2199997 - Identifier 2199933 2199942 - CallExpression 2199944 2199997 - Identifier 2199944 2199963 - Identifier 2199964 2199968 - FalseKeyword 2199969 2199996 - IfStatement 2199998 2200333 - PropertyAccessExpression 2200016 2200039 - PropertyAccessExpression 2200016 2200033 - Identifier 2200016 2200024 - QuestionDotToken 2200024 2200026 - Identifier 2200026 2200033 - QuestionDotToken 2200033 2200035 - Identifier 2200035 2200039 - Block 2200040 2200333 - VariableStatement 2200042 2200169 - VariableDeclarationList 2200042 2200168 - VariableDeclaration 2200065 2200168 - Identifier 2200065 2200082 - CallExpression 2200084 2200168 - Identifier 2200084 2200104 - Identifier 2200105 2200113 - PropertyAccessExpression 2200114 2200131 - Identifier 2200114 2200123 - Identifier 2200124 2200131 - Identifier 2200132 2200143 - Identifier 2200144 2200155 - Identifier 2200156 2200167 - ExpressionStatement 2200169 2200241 - BinaryExpression 2200169 2200240 - PropertyAccessExpression 2200169 2200215 - Identifier 2200169 2200203 - Identifier 2200204 2200215 - BarEqualsToken 2200215 2200218 - PropertyAccessExpression 2200218 2200240 - Identifier 2200218 2200230 - Identifier 2200231 2200240 - ReturnStatement 2200241 2200318 - CallExpression 2200265 2200317 - Identifier 2200265 2200285 - ArrayLiteralExpression 2200286 2200316 - Identifier 2200287 2200297 - Identifier 2200298 2200315 - ReturnStatement 2200344 2200374 - Identifier 2200362 2200373 - FunctionDeclaration 2200381 2200969 - Identifier 2200397 2200422 - Parameter 2200423 2200443 - Identifier 2200423 2200432 - TypeReference 2200433 2200443 - Identifier 2200433 2200443 - Parameter 2200444 2200469 - Identifier 2200444 2200449 - TypeReference 2200450 2200469 - Identifier 2200450 2200469 - Block 2200470 2200969 - IfStatement 2200472 2200566 - BinaryExpression 2200486 2200557 - PropertyAccessExpression 2200486 2200501 - Identifier 2200486 2200495 - Identifier 2200496 2200501 - AmpersandToken 2200501 2200503 - PropertyAccessExpression 2200503 2200557 - Identifier 2200503 2200518 - Identifier 2200519 2200557 - ReturnStatement 2200558 2200566 - IfStatement 2200566 2200962 - BinaryExpression 2200580 2200655 - PropertyAccessExpression 2200580 2200601 - Identifier 2200580 2200589 - Identifier 2200590 2200601 - AmpersandAmpersandToken 2200601 2200604 - BinaryExpression 2200604 2200655 - PropertyAccessExpression 2200604 2200632 - PropertyAccessExpression 2200604 2200626 - Identifier 2200604 2200614 - Identifier 2200615 2200626 - Identifier 2200627 2200632 - AmpersandToken 2200632 2200634 - PropertyAccessExpression 2200634 2200655 - Identifier 2200634 2200644 - Identifier 2200645 2200655 - Block 2200656 2200962 - VariableStatement 2200658 2200729 - VariableDeclarationList 2200658 2200728 - VariableDeclaration 2200677 2200728 - Identifier 2200677 2200692 - CallExpression 2200694 2200728 - Identifier 2200694 2200722 - Identifier 2200723 2200727 - VariableStatement 2200729 2200825 - VariableDeclarationList 2200729 2200824 - VariableDeclaration 2200748 2200824 - Identifier 2200748 2200753 - CallExpression 2200755 2200824 - Identifier 2200755 2200796 - CallExpression 2200797 2200823 - Identifier 2200797 2200817 - Identifier 2200818 2200822 - ExpressionStatement 2200825 2200951 - CallExpression 2200825 2200950 - Identifier 2200825 2200875 - Identifier 2200876 2200890 - PropertyAccessExpression 2200891 2200913 - Identifier 2200891 2200901 - Identifier 2200902 2200913 - Identifier 2200914 2200919 - CallExpression 2200920 2200949 - Identifier 2200920 2200938 - Identifier 2200939 2200948 - FunctionDeclaration 2200969 2202235 - Identifier 2200985 2201013 - Parameter 2201014 2201024 - Identifier 2201014 2201018 - TypeReference 2201019 2201024 - Identifier 2201019 2201024 - TypeReference 2201026 2201031 - Identifier 2201026 2201031 - Block 2201031 2202235 - ExpressionStatement 2201033 2201072 - BinaryExpression 2201033 2201071 - Identifier 2201033 2201047 - EqualsToken 2201047 2201049 - CallExpression 2201049 2201071 - Identifier 2201049 2201065 - Identifier 2201066 2201070 - SwitchStatement 2201072 2202228 - PropertyAccessExpression 2201090 2201099 - Identifier 2201090 2201094 - Identifier 2201095 2201099 - CaseBlock 2201100 2202228 - CaseClause 2201102 2201147 - PropertyAccessExpression 2201120 2201146 - Identifier 2201120 2201131 - Identifier 2201132 2201146 - CaseClause 2201147 2201187 - PropertyAccessExpression 2201165 2201186 - Identifier 2201165 2201176 - Identifier 2201177 2201186 - CaseClause 2201187 2201349 - PropertyAccessExpression 2201205 2201230 - Identifier 2201205 2201216 - Identifier 2201217 2201230 - ReturnStatement 2201231 2201349 - CallExpression 2201255 2201348 - Identifier 2201255 2201283 - PropertyAccessExpression 2201284 2201347 - ParenthesizedExpression 2201284 2201336 - AsExpression 2201285 2201335 - Identifier 2201285 2201289 - UnionType 2201292 2201335 - TypeReference 2201292 2201302 - Identifier 2201292 2201302 - TypeReference 2201304 2201319 - Identifier 2201304 2201319 - TypeReference 2201321 2201335 - Identifier 2201321 2201335 - Identifier 2201337 2201347 - CaseClause 2201349 2201497 - PropertyAccessExpression 2201367 2201403 - Identifier 2201367 2201378 - Identifier 2201379 2201403 - ReturnStatement 2201404 2201497 - CallExpression 2201428 2201496 - Identifier 2201428 2201456 - PropertyAccessExpression 2201457 2201495 - ParenthesizedExpression 2201457 2201491 - AsExpression 2201458 2201490 - Identifier 2201458 2201462 - TypeReference 2201465 2201490 - Identifier 2201465 2201490 - Identifier 2201492 2201495 - CaseClause 2201497 2201545 - PropertyAccessExpression 2201515 2201544 - Identifier 2201515 2201526 - Identifier 2201527 2201544 - CaseClause 2201545 2201691 - PropertyAccessExpression 2201563 2201596 - Identifier 2201563 2201574 - Identifier 2201575 2201596 - ReturnStatement 2201597 2201691 - CallExpression 2201621 2201690 - Identifier 2201621 2201649 - PropertyAccessExpression 2201650 2201689 - ParenthesizedExpression 2201650 2201681 - AsExpression 2201651 2201680 - Identifier 2201651 2201655 - TypeReference 2201658 2201680 - Identifier 2201658 2201680 - Identifier 2201682 2201689 - CaseClause 2201691 2201823 - PropertyAccessExpression 2201709 2201744 - Identifier 2201709 2201720 - Identifier 2201721 2201744 - ReturnStatement 2201745 2201823 - PropertyAccessExpression 2201769 2201822 - ParenthesizedExpression 2201769 2201803 - AsExpression 2201771 2201802 - Identifier 2201771 2201775 - TypeReference 2201778 2201802 - Identifier 2201778 2201802 - Identifier 2201804 2201822 - CaseClause 2201823 2201943 - PropertyAccessExpression 2201841 2201877 - Identifier 2201841 2201852 - Identifier 2201853 2201877 - ReturnStatement 2201878 2201943 - PropertyAccessExpression 2201902 2201942 - ParenthesizedExpression 2201902 2201937 - AsExpression 2201904 2201936 - Identifier 2201904 2201908 - TypeReference 2201911 2201936 - Identifier 2201911 2201936 - Identifier 2201938 2201942 - CaseClause 2201943 2202165 - PropertyAccessExpression 2201961 2201986 - Identifier 2201961 2201972 - Identifier 2201973 2201986 - VariableStatement 2201987 2202053 - VariableDeclarationList 2201987 2202052 - VariableDeclaration 2202010 2202052 - Identifier 2202010 2202024 - AsExpression 2202026 2202052 - Identifier 2202026 2202031 - TypeReference 2202034 2202052 - Identifier 2202034 2202052 - ReturnStatement 2202053 2202165 - ConditionalExpression 2202077 2202164 - CallExpression 2202077 2202117 - Identifier 2202077 2202093 - PropertyAccessExpression 2202094 2202116 - Identifier 2202094 2202107 - Identifier 2202108 2202116 - QuestionToken 2202117 2202119 - PropertyAccessExpression 2202119 2202148 - PropertyAccessExpression 2202119 2202142 - Identifier 2202119 2202133 - Identifier 2202134 2202142 - Identifier 2202143 2202148 - ColonToken 2202148 2202150 - Identifier 2202150 2202164 - DefaultClause 2202165 2202217 - ReturnStatement 2202187 2202217 - Identifier 2202211 2202216 - FunctionDeclaration 2202235 2202989 - Identifier 2202251 2202275 - Parameter 2202276 2202286 - Identifier 2202276 2202280 - TypeReference 2202281 2202286 - Identifier 2202281 2202286 - Block 2202287 2202989 - IfStatement 2202289 2202341 - PrefixUnaryExpression 2202303 2202326 - CallExpression 2202304 2202326 - Identifier 2202304 2202320 - Identifier 2202321 2202325 - ReturnStatement 2202327 2202341 - FalseKeyword 2202334 2202340 - VariableStatement 2202341 2202378 - VariableDeclarationList 2202341 2202377 - VariableDeclaration 2202354 2202377 - Identifier 2202354 2202359 - PropertyAccessExpression 2202361 2202377 - Identifier 2202361 2202366 - Identifier 2202367 2202377 - IfStatement 2202378 2202510 - BinaryExpression 2202392 2202459 - CallExpression 2202392 2202424 - Identifier 2202392 2202418 - Identifier 2202419 2202423 - AmpersandAmpersandToken 2202424 2202427 - BinaryExpression 2202427 2202459 - PropertyAccessExpression 2202427 2202449 - PropertyAccessExpression 2202427 2202437 - Identifier 2202427 2202432 - Identifier 2202433 2202437 - Identifier 2202438 2202449 - EqualsEqualsEqualsToken 2202449 2202453 - StringLiteral 2202453 2202459 - Block 2202460 2202510 - ExpressionStatement 2202462 2202499 - BinaryExpression 2202462 2202498 - Identifier 2202462 2202480 - EqualsToken 2202480 2202482 - PropertyAccessExpression 2202482 2202498 - Identifier 2202482 2202487 - Identifier 2202488 2202498 - IfStatement 2202510 2202617 - BinaryExpression 2202524 2202576 - PrefixUnaryExpression 2202524 2202543 - CallExpression 2202525 2202543 - Identifier 2202525 2202537 - Identifier 2202538 2202542 - BarBarToken 2202543 2202546 - BinaryExpression 2202546 2202576 - PropertyAccessExpression 2202546 2202563 - Identifier 2202546 2202551 - Identifier 2202552 2202563 - ExclamationEqualsEqualsToken 2202563 2202567 - StringLiteral 2202567 2202576 - Block 2202577 2202617 - ReturnStatement 2202579 2202606 - FalseKeyword 2202599 2202605 - VariableStatement 2202617 2202763 - VariableDeclarationList 2202617 2202762 - VariableDeclaration 2202686 2202762 - Identifier 2202686 2202701 - CallExpression 2202703 2202762 - Identifier 2202703 2202738 - FalseKeyword 2202739 2202761 - IfStatement 2202763 2202833 - PrefixUnaryExpression 2202777 2202792 - Identifier 2202778 2202792 - Block 2202793 2202833 - ReturnStatement 2202795 2202822 - FalseKeyword 2202815 2202821 - ReturnStatement 2202833 2202982 - BinaryExpression 2202851 2202981 - Identifier 2202851 2202866 - EqualsEqualsEqualsToken 2202866 2202870 - CallExpression 2202870 2202981 - Identifier 2202870 2202882 - Identifier 2202883 2202887 - AsExpression 2202888 2202909 - StringLiteral 2202888 2202897 - TypeReference 2202900 2202909 - Identifier 2202900 2202909 - PropertyAccessExpression 2202910 2202928 - Identifier 2202910 2202922 - Identifier 2202923 2202928 - Identifier 2202929 2202963 - FalseKeyword 2202964 2202980 - FunctionDeclaration 2202989 2205235 - Identifier 2203005 2203031 - Parameter 2203032 2203048 - Identifier 2203032 2203036 - TypeReference 2203037 2203048 - Identifier 2203037 2203048 - TypeReference 2203050 2203055 - Identifier 2203050 2203055 - Block 2203055 2205235 - ExpressionStatement 2203057 2203150 - CallExpression 2203057 2203149 - Identifier 2203057 2203143 - Identifier 2203144 2203148 - IfStatement 2203150 2203267 - BinaryExpression 2203166 2203193 - PropertyAccessExpression 2203166 2203187 - PropertyAccessExpression 2203166 2203180 - Identifier 2203166 2203170 - Identifier 2203171 2203180 - Identifier 2203181 2203187 - EqualsEqualsEqualsToken 2203187 2203191 - NumericLiteral 2203191 2203193 - Block 2203194 2203267 - ReturnStatement 2203196 2203256 - CallExpression 2203216 2203255 - Identifier 2203216 2203240 - Identifier 2203241 2203245 - Identifier 2203246 2203254 - VariableStatement 2203267 2203315 - VariableDeclarationList 2203267 2203314 - VariableDeclaration 2203284 2203314 - Identifier 2203284 2203294 - ElementAccessExpression 2203296 2203314 - PropertyAccessExpression 2203296 2203311 - Identifier 2203296 2203301 - Identifier 2203302 2203311 - NumericLiteral 2203312 2203313 - VariableStatement 2203315 2203380 - VariableDeclarationList 2203315 2203379 - VariableDeclaration 2203330 2203379 - Identifier 2203330 2203344 - CallExpression 2203346 2203379 - Identifier 2203346 2203368 - Identifier 2203369 2203378 - VariableStatement 2203380 2203491 - VariableDeclarationList 2203380 2203490 - VariableDeclaration 2203395 2203490 - Identifier 2203395 2203407 - ConditionalExpression 2203409 2203490 - BinaryExpression 2203409 2203435 - PropertyAccessExpression 2203409 2203431 - PropertyAccessExpression 2203409 2203424 - Identifier 2203409 2203414 - Identifier 2203415 2203424 - Identifier 2203425 2203431 - GreaterThanToken 2203431 2203433 - NumericLiteral 2203433 2203435 - QuestionToken 2203435 2203437 - CallExpression 2203437 2203478 - Identifier 2203437 2203459 - ElementAccessExpression 2203460 2203477 - PropertyAccessExpression 2203460 2203474 - Identifier 2203460 2203464 - Identifier 2203465 2203474 - NumericLiteral 2203475 2203476 - ColonToken 2203478 2203480 - Identifier 2203480 2203490 - ForStatement 2203491 2203729 - VariableDeclarationList 2203619 2203628 - VariableDeclaration 2203622 2203628 - Identifier 2203622 2203624 - NumericLiteral 2203626 2203628 - BinaryExpression 2203629 2203655 - Identifier 2203629 2203631 - LessThanToken 2203631 2203633 - PropertyAccessExpression 2203633 2203655 - PropertyAccessExpression 2203633 2203648 - Identifier 2203633 2203638 - Identifier 2203639 2203648 - Identifier 2203649 2203655 - PrefixUnaryExpression 2203656 2203660 - Identifier 2203659 2203660 - Block 2203661 2203729 - ExpressionStatement 2203663 2203718 - CallExpression 2203663 2203717 - Identifier 2203663 2203698 - ElementAccessExpression 2203699 2203716 - PropertyAccessExpression 2203699 2203713 - Identifier 2203699 2203703 - Identifier 2203704 2203713 - Identifier 2203714 2203715 - IfStatement 2203729 2204033 - BinaryExpression 2203745 2203876 - BinaryExpression 2203745 2203826 - BinaryExpression 2203745 2203786 - PropertyAccessExpression 2203745 2203764 - Identifier 2203745 2203758 - Identifier 2203759 2203764 - AmpersandToken 2203764 2203766 - PropertyAccessExpression 2203766 2203786 - Identifier 2203766 2203776 - Identifier 2203777 2203786 - BarBarToken 2203786 2203789 - BinaryExpression 2203789 2203826 - PropertyAccessExpression 2203789 2203809 - Identifier 2203789 2203803 - Identifier 2203804 2203809 - AmpersandToken 2203809 2203811 - PropertyAccessExpression 2203811 2203826 - Identifier 2203811 2203821 - Identifier 2203822 2203826 - BarBarToken 2203826 2203829 - PrefixUnaryExpression 2203829 2203876 - CallExpression 2203831 2203876 - Identifier 2203831 2203849 - Identifier 2203850 2203863 - Identifier 2203864 2203875 - Block 2203877 2204033 - ExpressionStatement 2203879 2204022 - CallExpression 2203879 2204021 - Identifier 2203879 2203898 - Identifier 2203899 2203908 - PropertyAccessExpression 2203909 2203991 - Identifier 2203909 2203921 - Identifier 2203922 2203991 - CallExpression 2203992 2204020 - Identifier 2203992 2204005 - Identifier 2204006 2204019 - IfStatement 2204033 2204382 - Identifier 2204049 2204060 - Block 2204061 2204382 - VariableStatement 2204063 2204161 - VariableDeclarationList 2204063 2204160 - VariableDeclaration 2204082 2204160 - Identifier 2204082 2204104 - CallExpression 2204106 2204160 - Identifier 2204106 2204137 - TrueKeyword 2204138 2204159 - IfStatement 2204161 2204371 - BinaryExpression 2204179 2204220 - Identifier 2204179 2204200 - ExclamationEqualsEqualsToken 2204200 2204204 - Identifier 2204204 2204220 - Block 2204221 2204371 - ExpressionStatement 2204223 2204356 - CallExpression 2204223 2204355 - Identifier 2204223 2204262 - Identifier 2204263 2204274 - CallExpression 2204275 2204335 - Identifier 2204275 2204291 - Identifier 2204292 2204313 - PropertyAccessExpression 2204314 2204334 - Identifier 2204314 2204324 - Identifier 2204325 2204334 - ElementAccessExpression 2204336 2204354 - PropertyAccessExpression 2204336 2204351 - Identifier 2204336 2204341 - Identifier 2204342 2204351 - NumericLiteral 2204352 2204353 - VariableStatement 2204382 2204575 - VariableDeclarationList 2204382 2204574 - VariableDeclaration 2204516 2204574 - Identifier 2204516 2204529 - CallExpression 2204531 2204574 - Identifier 2204531 2204557 - Identifier 2204558 2204562 - Identifier 2204563 2204573 - IfStatement 2204575 2205172 - Identifier 2204589 2204601 - Block 2204602 2205172 - VariableStatement 2204604 2204747 - VariableDeclarationList 2204604 2204746 - VariableDeclaration 2204623 2204746 - Identifier 2204623 2204638 - CallExpression 2204640 2204746 - Identifier 2204640 2204662 - Identifier 2204663 2204675 - Identifier 2204676 2204686 - TrueKeyword 2204687 2204713 - FalseKeyword 2204714 2204745 - IfStatement 2204747 2205161 - Identifier 2204765 2204779 - Block 2204780 2205161 - ReturnStatement 2204782 2205146 - CallExpression 2204806 2205145 - Identifier 2204806 2204830 - Identifier 2204831 2204857 - BinaryExpression 2204858 2205125 - CallExpression 2204858 2204985 - Identifier 2204858 2204911 - CallExpression 2204912 2204943 - Identifier 2204912 2204927 - Identifier 2204928 2204942 - Identifier 2204944 2204959 - Identifier 2204960 2204973 - Identifier 2204974 2204984 - BarBarToken 2204985 2204988 - CallExpression 2204988 2205125 - Identifier 2204988 2205051 - CallExpression 2205052 2205083 - Identifier 2205052 2205067 - Identifier 2205068 2205082 - Identifier 2205084 2205099 - Identifier 2205100 2205113 - Identifier 2205114 2205124 - ReturnStatement 2205172 2205228 - CallExpression 2205188 2205227 - Identifier 2205188 2205212 - Identifier 2205213 2205217 - Identifier 2205218 2205226 - FunctionDeclaration 2205235 2205869 - Identifier 2205251 2205289 - Parameter 2205290 2205304 - Identifier 2205290 2205296 - TypeReference 2205297 2205304 - Identifier 2205297 2205304 - Parameter 2205305 2205340 - Identifier 2205305 2205320 - UnionType 2205321 2205340 - TypeReference 2205321 2205328 - Identifier 2205321 2205328 - UndefinedKeyword 2205330 2205340 - Parameter 2205341 2205378 - Identifier 2205341 2205357 - QuestionToken 2205357 2205358 - UnionType 2205359 2205378 - TypeReference 2205359 2205366 - Identifier 2205359 2205366 - UndefinedKeyword 2205368 2205378 - Block 2205379 2205869 - VariableStatement 2205381 2205431 - VariableDeclarationList 2205381 2205430 - VariableDeclaration 2205396 2205430 - Identifier 2205396 2205408 - CallExpression 2205410 2205430 - Identifier 2205410 2205428 - VariableStatement 2205431 2205519 - VariableDeclarationList 2205431 2205518 - VariableDeclaration 2205446 2205518 - Identifier 2205446 2205456 - CallExpression 2205458 2205518 - Identifier 2205458 2205471 - PropertyAccessExpression 2205472 2205489 - Identifier 2205472 2205483 - Identifier 2205484 2205489 - PropertyAccessExpression 2205490 2205517 - Identifier 2205490 2205509 - Identifier 2205510 2205517 - ExpressionStatement 2205519 2205563 - BinaryExpression 2205519 2205562 - PropertyAccessExpression 2205519 2205545 - Identifier 2205519 2205538 - Identifier 2205539 2205545 - EqualsToken 2205545 2205547 - Identifier 2205547 2205562 - ExpressionStatement 2205563 2205632 - BinaryExpression 2205563 2205631 - PropertyAccessExpression 2205563 2205597 - PropertyAccessExpression 2205563 2205588 - Identifier 2205563 2205582 - Identifier 2205583 2205588 - Identifier 2205589 2205597 - EqualsToken 2205597 2205599 - CallExpression 2205599 2205631 - Identifier 2205599 2205620 - StringLiteral 2205621 2205630 - ExpressionStatement 2205632 2205694 - BinaryExpression 2205632 2205693 - PropertyAccessExpression 2205632 2205669 - PropertyAccessExpression 2205632 2205657 - Identifier 2205632 2205651 - Identifier 2205652 2205657 - Identifier 2205658 2205669 - EqualsToken 2205669 2205671 - CallExpression 2205671 2205693 - Identifier 2205671 2205685 - Identifier 2205686 2205692 - ExpressionStatement 2205694 2205759 - CallExpression 2205694 2205758 - PropertyAccessExpression 2205694 2205719 - Identifier 2205694 2205715 - Identifier 2205716 2205719 - PropertyAccessExpression 2205720 2205746 - Identifier 2205720 2205738 - Identifier 2205739 2205746 - Identifier 2205747 2205757 - ReturnStatement 2205759 2205862 - CallExpression 2205775 2205861 - Identifier 2205775 2205795 - Identifier 2205796 2205811 - Identifier 2205812 2205824 - Identifier 2205825 2205836 - Identifier 2205837 2205848 - Identifier 2205849 2205860 - FunctionDeclaration 2205869 2206502 - Identifier 2205885 2205917 - Parameter 2205918 2205928 - Identifier 2205918 2205922 - TypeReference 2205923 2205928 - Identifier 2205923 2205928 - Parameter 2205929 2205944 - Identifier 2205929 2205936 - TypeReference 2205937 2205944 - Identifier 2205937 2205944 - Parameter 2205945 2205968 - Identifier 2205945 2205960 - TypeReference 2205961 2205968 - Identifier 2205961 2205968 - Parameter 2205969 2205997 - Identifier 2205969 2205985 - TypeReference 2205986 2205997 - Identifier 2205986 2205997 - Block 2205998 2206502 - VariableStatement 2206000 2206076 - VariableDeclarationList 2206000 2206075 - VariableDeclaration 2206015 2206075 - Identifier 2206015 2206030 - CallExpression 2206032 2206075 - Identifier 2206032 2206058 - Identifier 2206059 2206074 - IfStatement 2206076 2206468 - BinaryExpression 2206090 2206134 - BinaryExpression 2206090 2206112 - Identifier 2206090 2206104 - AmpersandAmpersandToken 2206104 2206107 - Identifier 2206107 2206112 - AmpersandAmpersandToken 2206112 2206115 - PrefixUnaryExpression 2206115 2206134 - CallExpression 2206117 2206134 - Identifier 2206117 2206128 - Identifier 2206129 2206133 - Block 2206135 2206468 - VariableStatement 2206137 2206204 - VariableDeclarationList 2206137 2206203 - VariableDeclaration 2206156 2206203 - Identifier 2206156 2206166 - AsExpression 2206168 2206203 - Identifier 2206168 2206173 - TypeReference 2206176 2206203 - Identifier 2206176 2206203 - IfStatement 2206204 2206410 - PrefixUnaryExpression 2206222 2206248 - PropertyAccessExpression 2206223 2206248 - Identifier 2206223 2206232 - Identifier 2206233 2206248 - Block 2206249 2206410 - VariableStatement 2206251 2206344 - VariableDeclarationList 2206251 2206343 - VariableDeclaration 2206274 2206343 - Identifier 2206274 2206279 - CallExpression 2206281 2206343 - Identifier 2206281 2206319 - Identifier 2206320 2206326 - Identifier 2206327 2206342 - ExpressionStatement 2206344 2206395 - BinaryExpression 2206344 2206394 - PropertyAccessExpression 2206344 2206387 - Identifier 2206344 2206371 - Identifier 2206372 2206387 - EqualsToken 2206387 2206389 - Identifier 2206389 2206394 - ReturnStatement 2206410 2206457 - PropertyAccessExpression 2206430 2206456 - Identifier 2206430 2206440 - Identifier 2206441 2206456 - ReturnStatement 2206468 2206495 - Identifier 2206484 2206494 - FunctionDeclaration 2206502 2207825 - Identifier 2206518 2206556 - Parameter 2206557 2206567 - Identifier 2206557 2206561 - TypeReference 2206562 2206567 - Identifier 2206562 2206567 - Parameter 2206568 2206583 - Identifier 2206568 2206575 - TypeReference 2206576 2206583 - Identifier 2206576 2206583 - Parameter 2206584 2206607 - Identifier 2206584 2206599 - TypeReference 2206600 2206607 - Identifier 2206600 2206607 - Parameter 2206608 2206636 - Identifier 2206608 2206624 - TypeReference 2206625 2206636 - Identifier 2206625 2206636 - TypeReference 2206638 2206643 - Identifier 2206638 2206643 - Block 2206643 2207825 - IfStatement 2206645 2207796 - BinaryExpression 2206659 2206717 - BinaryExpression 2206659 2206695 - Identifier 2206659 2206687 - AmpersandAmpersandToken 2206687 2206690 - Identifier 2206690 2206695 - AmpersandAmpersandToken 2206695 2206698 - PrefixUnaryExpression 2206698 2206717 - CallExpression 2206700 2206717 - Identifier 2206700 2206711 - Identifier 2206712 2206716 - Block 2206718 2207796 - VariableStatement 2206720 2206787 - VariableDeclarationList 2206720 2206786 - VariableDeclaration 2206739 2206786 - Identifier 2206739 2206749 - AsExpression 2206751 2206786 - Identifier 2206751 2206756 - TypeReference 2206759 2206786 - Identifier 2206759 2206786 - IfStatement 2206787 2207740 - PrefixUnaryExpression 2206805 2206829 - PropertyAccessExpression 2206806 2206829 - Identifier 2206806 2206815 - Identifier 2206816 2206829 - Block 2206830 2207740 - VariableStatement 2206832 2206911 - VariableDeclarationList 2206832 2206910 - VariableDeclaration 2206855 2206910 - Identifier 2206855 2206860 - CallExpression 2206862 2206910 - PropertyAccessExpression 2206862 2206896 - PropertyAccessExpression 2206862 2206890 - Identifier 2206862 2206877 - Identifier 2206878 2206890 - QuestionDotToken 2206890 2206892 - Identifier 2206892 2206896 - Identifier 2206897 2206909 - VariableStatement 2206911 2207048 - VariableDeclarationList 2206911 2207047 - VariableDeclaration 2206934 2207047 - Identifier 2206934 2206954 - CallExpression 2206956 2207047 - Identifier 2206956 2206980 - Identifier 2206981 2206985 - Identifier 2206986 2207001 - FalseKeyword 2207002 2207029 - Identifier 2207030 2207046 - IfStatement 2207048 2207725 - Identifier 2207070 2207089 - Block 2207090 2207629 - VariableStatement 2207092 2207201 - VariableDeclarationList 2207092 2207200 - VariableDeclaration 2207119 2207200 - Identifier 2207119 2207135 - CallExpression 2207137 2207200 - Identifier 2207137 2207150 - PropertyAccessExpression 2207151 2207174 - Identifier 2207151 2207162 - Identifier 2207163 2207174 - PropertyAccessExpression 2207175 2207199 - Identifier 2207175 2207194 - Identifier 2207195 2207199 - VariableStatement 2207201 2207334 - VariableDeclarationList 2207201 2207333 - VariableDeclaration 2207228 2207333 - Identifier 2207228 2207252 - CallExpression 2207254 2207333 - Identifier 2207254 2207292 - Identifier 2207293 2207299 - Identifier 2207300 2207315 - Identifier 2207316 2207332 - ExpressionStatement 2207334 2207409 - BinaryExpression 2207334 2207408 - PropertyAccessExpression 2207334 2207382 - PropertyAccessExpression 2207334 2207377 - Identifier 2207334 2207371 - Identifier 2207372 2207377 - Identifier 2207378 2207382 - EqualsToken 2207382 2207384 - Identifier 2207384 2207408 - ExpressionStatement 2207409 2207610 - BinaryExpression 2207409 2207609 - PropertyAccessExpression 2207409 2207454 - Identifier 2207409 2207440 - Identifier 2207441 2207454 - EqualsToken 2207454 2207456 - ConditionalExpression 2207456 2207609 - CallExpression 2207456 2207480 - Identifier 2207456 2207474 - Identifier 2207475 2207479 - QuestionToken 2207480 2207482 - CallExpression 2207482 2207583 - Identifier 2207482 2207496 - Identifier 2207497 2207501 - Identifier 2207502 2207526 - Identifier 2207527 2207543 - NumericLiteral 2207544 2207562 - FalseKeyword 2207563 2207582 - ColonToken 2207583 2207585 - Identifier 2207585 2207609 - Block 2207651 2207725 - ExpressionStatement 2207653 2207706 - BinaryExpression 2207653 2207705 - PropertyAccessExpression 2207653 2207698 - Identifier 2207653 2207684 - Identifier 2207685 2207698 - EqualsToken 2207698 2207700 - Identifier 2207700 2207705 - ReturnStatement 2207740 2207785 - PropertyAccessExpression 2207760 2207784 - Identifier 2207760 2207770 - Identifier 2207771 2207784 - ReturnStatement 2207796 2207818 - Identifier 2207812 2207817 - FunctionDeclaration 2207825 2209183 - Identifier 2207841 2207859 - Parameter 2207860 2207870 - Identifier 2207860 2207864 - TypeReference 2207865 2207870 - Identifier 2207865 2207870 - BooleanKeyword 2207872 2207880 - Block 2207880 2209183 - IfStatement 2207882 2208000 - PrefixUnaryExpression 2207896 2207959 - CallExpression 2207897 2207959 - Identifier 2207897 2207910 - Identifier 2207911 2207915 - TrueKeyword 2207916 2207958 - Block 2207960 2208000 - ReturnStatement 2207962 2207989 - FalseKeyword 2207982 2207988 - IfStatement 2208000 2208122 - PrefixUnaryExpression 2208070 2208100 - CallExpression 2208071 2208100 - Identifier 2208071 2208083 - PropertyAccessExpression 2208084 2208099 - Identifier 2208084 2208088 - Identifier 2208089 2208099 - ReturnStatement 2208101 2208122 - CallExpression 2208108 2208121 - PropertyAccessExpression 2208108 2208119 - Identifier 2208108 2208114 - Identifier 2208115 2208119 - VariableStatement 2208122 2208285 - VariableDeclarationList 2208122 2208284 - VariableDeclaration 2208137 2208284 - Identifier 2208137 2208153 - NonNullExpression 2208155 2208284 - CallExpression 2208155 2208283 - Identifier 2208155 2208167 - PropertyAccessExpression 2208168 2208183 - Identifier 2208168 2208172 - Identifier 2208173 2208183 - PropertyAccessExpression 2208184 2208212 - PropertyAccessExpression 2208184 2208200 - Identifier 2208184 2208189 - Identifier 2208190 2208200 - Identifier 2208201 2208212 - PropertyAccessExpression 2208213 2208231 - Identifier 2208213 2208225 - Identifier 2208226 2208231 - Identifier 2208232 2208266 - TrueKeyword 2208267 2208282 - IfStatement 2208285 2208390 - BinaryExpression 2208317 2208350 - Identifier 2208317 2208332 - EqualsEqualsEqualsToken 2208332 2208336 - Identifier 2208336 2208350 - Block 2208351 2208390 - ReturnStatement 2208353 2208379 - TrueKeyword 2208373 2208378 - IfStatement 2208390 2208589 - BinaryExpression 2208507 2208548 - PropertyAccessExpression 2208507 2208528 - Identifier 2208507 2208522 - Identifier 2208523 2208528 - AmpersandToken 2208528 2208530 - PropertyAccessExpression 2208530 2208548 - Identifier 2208530 2208542 - Identifier 2208543 2208548 - Block 2208549 2208589 - ReturnStatement 2208551 2208578 - FalseKeyword 2208571 2208577 - VariableStatement 2208589 2208862 - VariableDeclarationList 2208589 2208861 - VariableDeclaration 2208606 2208861 - Identifier 2208606 2208628 - ConditionalExpression 2208630 2208861 - BinaryExpression 2208630 2208675 - PropertyAccessExpression 2208630 2208652 - Identifier 2208630 2208646 - Identifier 2208647 2208652 - AmpersandToken 2208652 2208654 - PropertyAccessExpression 2208654 2208675 - Identifier 2208654 2208666 - Identifier 2208667 2208675 - QuestionToken 2208675 2208690 - PropertyAccessExpression 2208690 2208721 - Identifier 2208690 2208701 - Identifier 2208702 2208721 - ColonToken 2208721 2208736 - ConditionalExpression 2208736 2208861 - BinaryExpression 2208736 2208781 - PropertyAccessExpression 2208736 2208758 - Identifier 2208736 2208752 - Identifier 2208753 2208758 - AmpersandToken 2208758 2208760 - PropertyAccessExpression 2208760 2208781 - Identifier 2208760 2208772 - Identifier 2208773 2208781 - QuestionToken 2208781 2208796 - PropertyAccessExpression 2208796 2208827 - Identifier 2208796 2208807 - Identifier 2208808 2208827 - ColonToken 2208827 2208842 - PropertyAccessExpression 2208842 2208861 - Identifier 2208842 2208853 - Identifier 2208854 2208861 - IfStatement 2208862 2209153 - BinaryExpression 2208876 2208920 - Identifier 2208876 2208897 - ExclamationEqualsEqualsToken 2208897 2208901 - PropertyAccessExpression 2208901 2208920 - Identifier 2208901 2208912 - Identifier 2208913 2208920 - Block 2208921 2209153 - VariableStatement 2208923 2209012 - VariableDeclarationList 2208923 2209011 - VariableDeclaration 2208942 2209011 - Identifier 2208942 2208947 - NonNullExpression 2208949 2209011 - CallExpression 2208949 2209010 - Identifier 2208949 2208970 - Identifier 2208971 2208986 - Identifier 2208987 2209009 - ReturnStatement 2209012 2209142 - BinaryExpression 2209096 2209141 - PrefixUnaryExpression 2209096 2209103 - PrefixUnaryExpression 2209098 2209103 - Identifier 2209099 2209103 - AmpersandAmpersandToken 2209103 2209106 - PrefixUnaryExpression 2209106 2209141 - PrefixUnaryExpression 2209108 2209141 - ParenthesizedExpression 2209109 2209141 - BinaryExpression 2209110 2209140 - PropertyAccessExpression 2209110 2209120 - Identifier 2209110 2209114 - Identifier 2209115 2209120 - AmpersandToken 2209120 2209122 - PropertyAccessExpression 2209122 2209140 - Identifier 2209122 2209132 - Identifier 2209133 2209140 - ReturnStatement 2209153 2209176 - FalseKeyword 2209169 2209175 - FunctionDeclaration 2209183 2209717 - Identifier 2209199 2209229 - Parameter 2209230 2209260 - Identifier 2209230 2209234 - TypeReference 2209235 2209260 - Identifier 2209235 2209260 - TypeReference 2209262 2209267 - Identifier 2209262 2209267 - Block 2209267 2209717 - IfStatement 2209269 2209375 - PrefixUnaryExpression 2209283 2209321 - CallExpression 2209284 2209321 - Identifier 2209284 2209315 - Identifier 2209316 2209320 - ExpressionStatement 2209322 2209375 - CallExpression 2209322 2209374 - Identifier 2209322 2209348 - Identifier 2209349 2209353 - PropertyAccessExpression 2209354 2209373 - Identifier 2209354 2209359 - Identifier 2209360 2209373 - IfStatement 2209375 2209550 - BinaryExpression 2209389 2209451 - Identifier 2209389 2209404 - LessThanToken 2209404 2209406 - PropertyAccessExpression 2209406 2209451 - Identifier 2209406 2209435 - Identifier 2209436 2209451 - Block 2209452 2209550 - ExpressionStatement 2209454 2209539 - CallExpression 2209454 2209538 - Identifier 2209454 2209492 - Identifier 2209493 2209497 - PropertyAccessExpression 2209498 2209537 - Identifier 2209498 2209518 - Identifier 2209519 2209537 - VariableStatement 2209550 2209605 - VariableDeclarationList 2209550 2209604 - VariableDeclaration 2209565 2209604 - Identifier 2209565 2209575 - CallExpression 2209577 2209604 - Identifier 2209577 2209598 - Identifier 2209599 2209603 - ExpressionStatement 2209605 2209657 - CallExpression 2209605 2209656 - Identifier 2209605 2209639 - Identifier 2209640 2209649 - Identifier 2209650 2209655 - ReturnStatement 2209657 2209710 - CallExpression 2209673 2209709 - Identifier 2209673 2209698 - Identifier 2209699 2209708 - FunctionDeclaration 2209717 2210261 - Identifier 2209733 2209748 - Parameter 2209749 2209774 - Identifier 2209749 2209753 - TypeReference 2209754 2209774 - Identifier 2209754 2209774 - Parameter 2209775 2209808 - Identifier 2209775 2209785 - UnionType 2209786 2209808 - TypeReference 2209786 2209796 - Identifier 2209786 2209796 - UndefinedKeyword 2209798 2209808 - Block 2209809 2210261 - IfStatement 2209811 2210199 - BinaryExpression 2209825 2209873 - PropertyAccessExpression 2209825 2209834 - Identifier 2209825 2209829 - Identifier 2209830 2209834 - EqualsEqualsEqualsToken 2209834 2209838 - PropertyAccessExpression 2209838 2209873 - Identifier 2209838 2209849 - Identifier 2209850 2209873 - Block 2209874 2210199 - VariableStatement 2209876 2209929 - VariableDeclarationList 2209876 2209928 - VariableDeclaration 2209895 2209928 - Identifier 2209895 2209900 - CallExpression 2209902 2209928 - Identifier 2209902 2209922 - Identifier 2209923 2209927 - IfStatement 2209929 2210188 - BinaryExpression 2209947 2210022 - Identifier 2209947 2209951 - AmpersandAmpersandToken 2209951 2209954 - CallExpression 2209954 2210022 - Identifier 2209954 2209975 - PropertyAccessExpression 2209976 2209989 - Identifier 2209976 2209980 - Identifier 2209981 2209989 - ArrayLiteralExpression 2209990 2210021 - PropertyAccessExpression 2209992 2210005 - Identifier 2209992 2210001 - Identifier 2210002 2210005 - PropertyAccessExpression 2210006 2210020 - Identifier 2210006 2210016 - Identifier 2210017 2210020 - Block 2210023 2210188 - ExpressionStatement 2210025 2210173 - CallExpression 2210025 2210172 - Identifier 2210025 2210061 - Identifier 2210062 2210066 - PropertyAccessExpression 2210067 2210171 - Identifier 2210067 2210079 - Identifier 2210080 2210171 - ReturnStatement 2210199 2210254 - CallExpression 2210215 2210253 - Identifier 2210215 2210236 - Identifier 2210237 2210241 - Identifier 2210242 2210252 - FunctionDeclaration 2210261 2211887 - Identifier 2210277 2210307 - Parameter 2210308 2210318 - Identifier 2210308 2210312 - TypeReference 2210313 2210318 - Identifier 2210313 2210318 - BooleanKeyword 2210320 2210328 - Block 2210328 2211887 - SwitchStatement 2210330 2211857 - PropertyAccessExpression 2210348 2210357 - Identifier 2210348 2210352 - Identifier 2210353 2210357 - CaseBlock 2210358 2211857 - CaseClause 2210360 2210404 - PropertyAccessExpression 2210378 2210403 - Identifier 2210378 2210389 - Identifier 2210390 2210403 - CaseClause 2210404 2210464 - PropertyAccessExpression 2210422 2210463 - Identifier 2210422 2210433 - Identifier 2210434 2210463 - CaseClause 2210464 2210509 - PropertyAccessExpression 2210482 2210508 - Identifier 2210482 2210493 - Identifier 2210494 2210508 - CaseClause 2210509 2210553 - PropertyAccessExpression 2210527 2210552 - Identifier 2210527 2210538 - Identifier 2210539 2210552 - CaseClause 2210553 2210595 - PropertyAccessExpression 2210571 2210594 - Identifier 2210571 2210582 - Identifier 2210583 2210594 - CaseClause 2210595 2210638 - PropertyAccessExpression 2210613 2210637 - Identifier 2210613 2210624 - Identifier 2210625 2210637 - CaseClause 2210638 2210691 - PropertyAccessExpression 2210656 2210690 - Identifier 2210656 2210667 - Identifier 2210668 2210690 - CaseClause 2210691 2210745 - PropertyAccessExpression 2210709 2210744 - Identifier 2210709 2210720 - Identifier 2210721 2210744 - CaseClause 2210745 2210824 - PropertyAccessExpression 2210763 2210793 - Identifier 2210763 2210774 - Identifier 2210775 2210793 - ReturnStatement 2210794 2210824 - TrueKeyword 2210818 2210823 - CaseClause 2210824 2210979 - PropertyAccessExpression 2210842 2210877 - Identifier 2210842 2210853 - Identifier 2210854 2210877 - ReturnStatement 2210878 2210979 - CallExpression 2210902 2210978 - Identifier 2210902 2210932 - PropertyAccessExpression 2210933 2210977 - ParenthesizedExpression 2210933 2210966 - AsExpression 2210934 2210965 - Identifier 2210934 2210938 - TypeReference 2210941 2210965 - Identifier 2210941 2210965 - Identifier 2210967 2210977 - CaseClause 2210979 2211404 - PropertyAccessExpression 2210997 2211030 - Identifier 2210997 2211008 - Identifier 2211009 2211030 - VariableStatement 2211031 2211101 - VariableDeclarationList 2211031 2211100 - VariableDeclaration 2211054 2211100 - Identifier 2211054 2211057 - PropertyAccessExpression 2211059 2211100 - ParenthesizedExpression 2211059 2211091 - AsExpression 2211061 2211090 - Identifier 2211061 2211065 - TypeReference 2211068 2211090 - Identifier 2211068 2211090 - Identifier 2211092 2211100 - VariableStatement 2211101 2211171 - VariableDeclarationList 2211101 2211170 - VariableDeclaration 2211124 2211170 - Identifier 2211124 2211128 - PropertyAccessExpression 2211130 2211170 - ParenthesizedExpression 2211130 2211162 - AsExpression 2211132 2211161 - Identifier 2211132 2211136 - TypeReference 2211139 2211161 - Identifier 2211139 2211161 - Identifier 2211163 2211170 - ReturnStatement 2211171 2211404 - BinaryExpression 2211195 2211403 - BinaryExpression 2211195 2211309 - BinaryExpression 2211195 2211224 - Identifier 2211195 2211198 - EqualsEqualsEqualsToken 2211198 2211202 - PropertyAccessExpression 2211202 2211224 - Identifier 2211202 2211213 - Identifier 2211214 2211224 - AmpersandAmpersandToken 2211224 2211227 - ParenthesizedExpression 2211227 2211309 - BinaryExpression 2211229 2211308 - BinaryExpression 2211229 2211267 - PropertyAccessExpression 2211229 2211237 - Identifier 2211229 2211232 - Identifier 2211233 2211237 - EqualsEqualsEqualsToken 2211237 2211241 - PropertyAccessExpression 2211241 2211267 - Identifier 2211241 2211252 - Identifier 2211253 2211267 - BarBarToken 2211267 2211270 - BinaryExpression 2211270 2211308 - PropertyAccessExpression 2211270 2211279 - Identifier 2211270 2211274 - Identifier 2211275 2211279 - EqualsEqualsEqualsToken 2211279 2211283 - PropertyAccessExpression 2211283 2211308 - Identifier 2211283 2211294 - Identifier 2211295 2211308 - BarBarToken 2211309 2211312 - BinaryExpression 2211312 2211403 - BinaryExpression 2211312 2211361 - Identifier 2211312 2211336 - EqualsEqualsEqualsToken 2211336 2211340 - PropertyAccessExpression 2211340 2211361 - Identifier 2211340 2211351 - Identifier 2211352 2211361 - AmpersandAmpersandToken 2211361 2211364 - BinaryExpression 2211364 2211403 - PropertyAccessExpression 2211364 2211373 - Identifier 2211364 2211368 - Identifier 2211369 2211373 - EqualsEqualsEqualsToken 2211373 2211377 - PropertyAccessExpression 2211377 2211403 - Identifier 2211377 2211388 - Identifier 2211389 2211403 - CaseClause 2211404 2211459 - PropertyAccessExpression 2211422 2211458 - Identifier 2211422 2211433 - Identifier 2211434 2211458 - CaseClause 2211459 2211846 - PropertyAccessExpression 2211477 2211512 - Identifier 2211477 2211488 - Identifier 2211489 2211512 - VariableStatement 2211513 2211633 - VariableDeclarationList 2211513 2211632 - VariableDeclaration 2211536 2211632 - Identifier 2211536 2211541 - CallExpression 2211543 2211632 - Identifier 2211543 2211559 - PropertyAccessExpression 2211560 2211631 - ParenthesizedExpression 2211560 2211620 - AsExpression 2211561 2211619 - Identifier 2211561 2211565 - UnionType 2211568 2211619 - TypeReference 2211568 2211593 - Identifier 2211568 2211593 - TypeReference 2211595 2211619 - Identifier 2211595 2211619 - Identifier 2211621 2211631 - VariableStatement 2211633 2211775 - VariableDeclarationList 2211633 2211774 - VariableDeclaration 2211656 2211774 - Identifier 2211656 2211663 - ConditionalExpression 2211665 2211774 - CallExpression 2211665 2211694 - Identifier 2211665 2211688 - Identifier 2211689 2211693 - QuestionToken 2211694 2211696 - CallExpression 2211696 2211762 - Identifier 2211696 2211714 - Identifier 2211715 2211719 - PropertyAccessExpression 2211720 2211738 - Identifier 2211720 2211732 - Identifier 2211733 2211738 - TrueKeyword 2211739 2211761 - ColonToken 2211762 2211764 - Identifier 2211764 2211774 - ReturnStatement 2211775 2211846 - PrefixUnaryExpression 2211799 2211845 - PrefixUnaryExpression 2211801 2211845 - ParenthesizedExpression 2211802 2211845 - BinaryExpression 2211803 2211844 - Identifier 2211803 2211809 - AmpersandAmpersandToken 2211809 2211812 - BinaryExpression 2211812 2211844 - PropertyAccessExpression 2211812 2211825 - Identifier 2211812 2211819 - Identifier 2211820 2211825 - AmpersandToken 2211825 2211827 - PropertyAccessExpression 2211827 2211844 - Identifier 2211827 2211839 - Identifier 2211840 2211844 - ReturnStatement 2211857 2211880 - FalseKeyword 2211873 2211879 - FunctionDeclaration 2211887 2212721 - Identifier 2211903 2211924 - Parameter 2211925 2211971 - Identifier 2211925 2211929 - UnionType 2211930 2211971 - TypeReference 2211930 2211949 - Identifier 2211930 2211949 - TypeReference 2211951 2211971 - Identifier 2211951 2211971 - Parameter 2211972 2212005 - Identifier 2211972 2211982 - UnionType 2211983 2212005 - TypeReference 2211983 2211993 - Identifier 2211983 2211993 - UndefinedKeyword 2211995 2212005 - Block 2212006 2212721 - VariableStatement 2212008 2212083 - VariableDeclarationList 2212008 2212082 - VariableDeclaration 2212023 2212082 - ObjectBindingPattern 2212023 2212044 - BindingElement 2212025 2212030 - Identifier 2212025 2212030 - BindingElement 2212031 2212042 - Identifier 2212031 2212042 - CallExpression 2212046 2212082 - Identifier 2212046 2212076 - Identifier 2212077 2212081 - VariableStatement 2212083 2212149 - VariableDeclarationList 2212083 2212148 - VariableDeclaration 2212098 2212148 - Identifier 2212098 2212107 - CallExpression 2212109 2212148 - Identifier 2212109 2212125 - Identifier 2212126 2212136 - Identifier 2212137 2212147 - IfStatement 2212149 2212508 - CallExpression 2212163 2212189 - Identifier 2212163 2212183 - Identifier 2212184 2212188 - Block 2212190 2212508 - IfStatement 2212192 2212438 - PrefixUnaryExpression 2212210 2212252 - CallExpression 2212211 2212252 - Identifier 2212211 2212240 - Identifier 2212241 2212251 - Block 2212253 2212438 - ExpressionStatement 2212255 2212423 - CallExpression 2212255 2212422 - Identifier 2212255 2212278 - Identifier 2212279 2212289 - PropertyAccessExpression 2212290 2212421 - Identifier 2212290 2212302 - Identifier 2212303 2212421 - ReturnStatement 2212438 2212497 - CallExpression 2212458 2212496 - Identifier 2212458 2212486 - Identifier 2212487 2212495 - VariableStatement 2212508 2212551 - VariableDeclarationList 2212508 2212550 - VariableDeclaration 2212523 2212550 - Identifier 2212523 2212529 - CallExpression 2212531 2212550 - Identifier 2212531 2212544 - Identifier 2212545 2212549 - ExpressionStatement 2212551 2212602 - BinaryExpression 2212551 2212601 - PropertyAccessExpression 2212551 2212590 - Identifier 2212551 2212566 - Identifier 2212567 2212590 - EqualsToken 2212590 2212592 - Identifier 2212592 2212601 - ExpressionStatement 2212602 2212637 - CallExpression 2212602 2212636 - Identifier 2212602 2212630 - Identifier 2212631 2212635 - ExpressionStatement 2212637 2212671 - CallExpression 2212637 2212670 - Identifier 2212637 2212664 - Identifier 2212665 2212669 - ReturnStatement 2212671 2212714 - CallExpression 2212687 2212713 - Identifier 2212687 2212707 - Identifier 2212708 2212712 - FunctionDeclaration 2212721 2213356 - Identifier 2212737 2212767 - Parameter 2212768 2212814 - Identifier 2212768 2212772 - UnionType 2212773 2212814 - TypeReference 2212773 2212792 - Identifier 2212773 2212792 - TypeReference 2212794 2212814 - Identifier 2212794 2212814 - Block 2212815 2213356 - VariableStatement 2212817 2212846 - VariableDeclarationList 2212817 2212845 - VariableDeclaration 2212830 2212845 - Identifier 2212830 2212835 - TypeReference 2212836 2212845 - Identifier 2212836 2212845 - VariableStatement 2212846 2212883 - VariableDeclarationList 2212846 2212882 - VariableDeclaration 2212859 2212882 - Identifier 2212859 2212870 - TypeReference 2212871 2212882 - Identifier 2212871 2212882 - SwitchStatement 2212883 2213309 - PropertyAccessExpression 2212901 2212910 - Identifier 2212901 2212905 - Identifier 2212906 2212910 - CaseBlock 2212911 2213309 - CaseClause 2212913 2212956 - PropertyAccessExpression 2212931 2212955 - Identifier 2212931 2212942 - Identifier 2212943 2212955 - CaseClause 2212956 2213116 - PropertyAccessExpression 2212974 2213009 - Identifier 2212974 2212985 - Identifier 2212986 2213009 - ExpressionStatement 2213010 2213045 - BinaryExpression 2213010 2213044 - Identifier 2213010 2213032 - EqualsToken 2213032 2213034 - PropertyAccessExpression 2213034 2213044 - Identifier 2213034 2213039 - Identifier 2213040 2213044 - ExpressionStatement 2213045 2213092 - BinaryExpression 2213045 2213091 - Identifier 2213045 2213073 - EqualsToken 2213073 2213075 - PropertyAccessExpression 2213075 2213091 - Identifier 2213075 2213080 - Identifier 2213081 2213091 - BreakStatement 2213092 2213116 - CaseClause 2213116 2213298 - PropertyAccessExpression 2213134 2213169 - Identifier 2213134 2213145 - Identifier 2213146 2213169 - ExpressionStatement 2213170 2213227 - BinaryExpression 2213170 2213226 - Identifier 2213170 2213192 - EqualsToken 2213192 2213194 - CallExpression 2213194 2213226 - Identifier 2213194 2213220 - Identifier 2213221 2213225 - ExpressionStatement 2213227 2213274 - BinaryExpression 2213227 2213273 - Identifier 2213227 2213255 - EqualsToken 2213255 2213257 - PropertyAccessExpression 2213257 2213273 - Identifier 2213257 2213262 - Identifier 2213263 2213273 - BreakStatement 2213274 2213298 - ReturnStatement 2213309 2213349 - ObjectLiteralExpression 2213327 2213348 - ShorthandPropertyAssignment 2213329 2213334 - Identifier 2213329 2213334 - ShorthandPropertyAssignment 2213335 2213346 - Identifier 2213335 2213346 - FunctionDeclaration 2213356 2214379 - Identifier 2213372 2213395 - Parameter 2213396 2213442 - Identifier 2213396 2213400 - UnionType 2213401 2213442 - TypeReference 2213401 2213420 - Identifier 2213401 2213420 - TypeReference 2213422 2213442 - Identifier 2213422 2213442 - Block 2213443 2214379 - VariableStatement 2213445 2213508 - VariableDeclarationList 2213445 2213507 - VariableDeclaration 2213460 2213507 - ObjectBindingPattern 2213460 2213469 - BindingElement 2213462 2213467 - Identifier 2213462 2213467 - CallExpression 2213471 2213507 - Identifier 2213471 2213501 - Identifier 2213502 2213506 - VariableStatement 2213508 2213580 - VariableDeclarationList 2213508 2213579 - VariableDeclaration 2213523 2213579 - Identifier 2213523 2213531 - ConditionalExpression 2213533 2213579 - CallExpression 2213533 2213565 - Identifier 2213533 2213559 - Identifier 2213560 2213564 - QuestionToken 2213565 2213567 - Identifier 2213567 2213572 - ColonToken 2213572 2213574 - Identifier 2213574 2213579 - VariableStatement 2213580 2213623 - VariableDeclarationList 2213580 2213622 - VariableDeclaration 2213595 2213622 - Identifier 2213595 2213601 - CallExpression 2213603 2213622 - Identifier 2213603 2213616 - Identifier 2213617 2213621 - ExpressionStatement 2213623 2213686 - CallExpression 2213623 2213685 - PropertyAccessExpression 2213623 2213654 - Identifier 2213623 2213638 - Identifier 2213639 2213654 - PropertyAccessExpression 2213655 2213684 - Identifier 2213655 2213660 - Identifier 2213661 2213684 - VariableStatement 2213686 2213800 - VariableDeclarationList 2213686 2213799 - VariableDeclaration 2213701 2213799 - Identifier 2213701 2213710 - CallExpression 2213712 2213799 - Identifier 2213712 2213742 - CallExpression 2213743 2213798 - Identifier 2213743 2213767 - PropertyAccessExpression 2213768 2213797 - Identifier 2213768 2213773 - Identifier 2213774 2213797 - VariableStatement 2213800 2213855 - VariableDeclarationList 2213800 2213854 - VariableDeclaration 2213815 2213854 - Identifier 2213815 2213826 - CallExpression 2213828 2213854 - Identifier 2213828 2213848 - Identifier 2213849 2213853 - IfStatement 2213855 2214372 - PrefixUnaryExpression 2213869 2213893 - CallExpression 2213870 2213893 - Identifier 2213870 2213881 - Identifier 2213882 2213892 - Block 2213894 2214372 - ExpressionStatement 2213896 2214361 - CallExpression 2213896 2214360 - Identifier 2213896 2213927 - ArrowFunction 2213928 2214359 - EqualsGreaterThanToken 2213930 2213933 - Block 2213933 2214359 - VariableStatement 2213935 2213998 - VariableDeclarationList 2213935 2213997 - VariableDeclaration 2213958 2213997 - Identifier 2213958 2213970 - CallExpression 2213972 2213997 - Identifier 2213972 2213987 - Identifier 2213988 2213996 - IfStatement 2213998 2214344 - PrefixUnaryExpression 2214020 2214064 - CallExpression 2214021 2214064 - Identifier 2214021 2214039 - Identifier 2214040 2214050 - Identifier 2214051 2214063 - Block 2214065 2214344 - ExpressionStatement 2214067 2214325 - CallExpression 2214067 2214324 - Identifier 2214067 2214110 - Identifier 2214111 2214119 - Identifier 2214120 2214131 - Identifier 2214132 2214140 - PropertyAccessExpression 2214141 2214323 - Identifier 2214141 2214153 - Identifier 2214154 2214323 - FunctionDeclaration 2214379 2214707 - Identifier 2214395 2214413 - Parameter 2214414 2214432 - Identifier 2214414 2214418 - TypeReference 2214419 2214432 - Identifier 2214419 2214432 - Block 2214433 2214707 - VariableStatement 2214435 2214495 - VariableDeclarationList 2214435 2214494 - VariableDeclaration 2214450 2214494 - Identifier 2214450 2214459 - CallExpression 2214461 2214494 - Identifier 2214461 2214477 - PropertyAccessExpression 2214478 2214493 - Identifier 2214478 2214482 - Identifier 2214483 2214493 - VariableStatement 2214495 2214582 - VariableDeclarationList 2214495 2214581 - VariableDeclaration 2214510 2214581 - Identifier 2214510 2214526 - CallExpression 2214528 2214581 - Identifier 2214528 2214554 - Identifier 2214555 2214563 - PropertyAccessExpression 2214564 2214580 - Identifier 2214564 2214569 - Identifier 2214570 2214580 - ReturnStatement 2214582 2214700 - CallExpression 2214598 2214699 - Identifier 2214598 2214626 - CallExpression 2214627 2214662 - Identifier 2214627 2214645 - Identifier 2214646 2214661 - Identifier 2214663 2214668 - BinaryExpression 2214669 2214698 - Identifier 2214669 2214685 - ExclamationEqualsEqualsToken 2214685 2214689 - Identifier 2214689 2214698 - FunctionDeclaration 2214707 2214943 - Identifier 2214723 2214745 - Parameter 2214746 2214769 - Identifier 2214746 2214750 - TypeReference 2214751 2214769 - Identifier 2214751 2214769 - Block 2214770 2214943 - ReturnStatement 2214772 2214936 - ConditionalExpression 2214788 2214935 - BinaryExpression 2214788 2214825 - PropertyAccessExpression 2214788 2214799 - Identifier 2214788 2214793 - Identifier 2214794 2214799 - AmpersandToken 2214799 2214801 - PropertyAccessExpression 2214801 2214825 - Identifier 2214801 2214811 - Identifier 2214812 2214825 - QuestionToken 2214825 2214827 - CallExpression 2214827 2214867 - Identifier 2214827 2214845 - AsExpression 2214846 2214866 - Identifier 2214846 2214850 - TypeReference 2214853 2214866 - Identifier 2214853 2214866 - ColonToken 2214867 2214869 - CallExpression 2214869 2214935 - Identifier 2214869 2214901 - CallExpression 2214902 2214934 - Identifier 2214902 2214917 - PropertyAccessExpression 2214918 2214933 - Identifier 2214918 2214922 - Identifier 2214923 2214933 - FunctionDeclaration 2214943 2215986 - Identifier 2214959 2214992 - Parameter 2214993 2215042 - Identifier 2214993 2214997 - UnionType 2214998 2215042 - TypeReference 2214998 2215026 - Identifier 2214998 2215026 - TypeReference 2215028 2215042 - Identifier 2215028 2215042 - Block 2215043 2215986 - ExpressionStatement 2215045 2215101 - CallExpression 2215045 2215100 - Identifier 2215045 2215094 - Identifier 2215095 2215099 - ExpressionStatement 2215101 2215159 - CallExpression 2215101 2215158 - Identifier 2215101 2215118 - PropertyAccessExpression 2215119 2215137 - Identifier 2215119 2215123 - Identifier 2215124 2215137 - Identifier 2215138 2215157 - IfStatement 2215159 2215670 - BinaryExpression 2215173 2215225 - PropertyAccessExpression 2215173 2215182 - Identifier 2215173 2215177 - Identifier 2215178 2215182 - EqualsEqualsEqualsToken 2215182 2215186 - PropertyAccessExpression 2215186 2215225 - Identifier 2215186 2215197 - Identifier 2215198 2215225 - Block 2215226 2215670 - VariableStatement 2215228 2215301 - VariableDeclarationList 2215228 2215300 - VariableDeclaration 2215247 2215300 - Identifier 2215247 2215254 - CallExpression 2215256 2215300 - Identifier 2215256 2215287 - PropertyAccessExpression 2215288 2215299 - Identifier 2215288 2215292 - Identifier 2215293 2215299 - IfStatement 2215301 2215659 - BinaryExpression 2215319 2215510 - BinaryExpression 2215319 2215446 - BinaryExpression 2215319 2215362 - PropertyAccessExpression 2215319 2215330 - Identifier 2215319 2215325 - Identifier 2215326 2215330 - EqualsEqualsEqualsToken 2215330 2215334 - PropertyAccessExpression 2215334 2215362 - Identifier 2215334 2215345 - Identifier 2215346 2215362 - AmpersandAmpersandToken 2215362 2215365 - BinaryExpression 2215365 2215446 - PropertyAccessExpression 2215365 2215413 - PropertyAccessExpression 2215365 2215408 - ParenthesizedExpression 2215365 2215394 - AsExpression 2215367 2215393 - Identifier 2215367 2215373 - TypeReference 2215376 2215393 - Identifier 2215376 2215393 - Identifier 2215395 2215408 - Identifier 2215409 2215413 - EqualsEqualsEqualsToken 2215413 2215417 - PropertyAccessExpression 2215417 2215446 - Identifier 2215417 2215428 - Identifier 2215429 2215446 - AmpersandAmpersandToken 2215446 2215449 - CallExpression 2215449 2215510 - Identifier 2215449 2215468 - Identifier 2215469 2215473 - PropertyAccessExpression 2215474 2215509 - ParenthesizedExpression 2215474 2215503 - AsExpression 2215476 2215502 - Identifier 2215476 2215482 - TypeReference 2215485 2215502 - Identifier 2215485 2215502 - Identifier 2215504 2215509 - Block 2215511 2215659 - ExpressionStatement 2215513 2215644 - CallExpression 2215513 2215643 - Identifier 2215513 2215536 - Identifier 2215537 2215541 - PropertyAccessExpression 2215542 2215642 - Identifier 2215542 2215554 - Identifier 2215555 2215642 - VariableStatement 2215670 2215915 - VariableDeclarationList 2215670 2215914 - VariableDeclaration 2215685 2215914 - Identifier 2215685 2215694 - ConditionalExpression 2215696 2215914 - BinaryExpression 2215696 2215749 - PropertyAccessExpression 2215696 2215706 - Identifier 2215696 2215701 - Identifier 2215702 2215706 - EqualsEqualsEqualsToken 2215706 2215710 - PropertyAccessExpression 2215710 2215749 - Identifier 2215710 2215721 - Identifier 2215722 2215749 - QuestionToken 2215749 2215751 - CallExpression 2215751 2215784 - Identifier 2215751 2215767 - PropertyAccessExpression 2215768 2215783 - Identifier 2215768 2215772 - Identifier 2215773 2215783 - ColonToken 2215784 2215786 - ConditionalExpression 2215786 2215914 - CallExpression 2215786 2215831 - Identifier 2215786 2215816 - PropertyAccessExpression 2215817 2215830 - Identifier 2215817 2215821 - Identifier 2215822 2215830 - QuestionToken 2215831 2215833 - CallExpression 2215833 2215868 - Identifier 2215833 2215853 - PropertyAccessExpression 2215854 2215867 - Identifier 2215854 2215858 - Identifier 2215859 2215867 - ColonToken 2215868 2215870 - CallExpression 2215870 2215914 - Identifier 2215870 2215899 - PropertyAccessExpression 2215900 2215913 - Identifier 2215900 2215904 - Identifier 2215905 2215913 - ReturnStatement 2215915 2215979 - CallExpression 2215931 2215978 - Identifier 2215931 2215962 - Identifier 2215963 2215971 - Identifier 2215972 2215977 - FunctionDeclaration 2215986 2220244 - Identifier 2216002 2216033 - Parameter 2216034 2216048 - Identifier 2216034 2216042 - TypeReference 2216043 2216048 - Identifier 2216043 2216048 - Parameter 2216049 2216077 - Identifier 2216049 2216054 - TypeReference 2216055 2216077 - Identifier 2216055 2216077 - Block 2216078 2220244 - VariableStatement 2216080 2216131 - VariableDeclarationList 2216080 2216130 - VariableDeclaration 2216095 2216130 - Identifier 2216095 2216109 - PropertyAccessExpression 2216111 2216130 - Identifier 2216111 2216116 - Identifier 2216117 2216130 - IfStatement 2216131 2216266 - BinaryExpression 2216145 2216222 - BinaryExpression 2216145 2216198 - BinaryExpression 2216145 2216173 - Identifier 2216145 2216153 - EqualsEqualsEqualsToken 2216153 2216157 - Identifier 2216157 2216173 - BarBarToken 2216173 2216176 - CallExpression 2216176 2216198 - Identifier 2216176 2216188 - Identifier 2216189 2216197 - BarBarToken 2216198 2216201 - PrefixUnaryExpression 2216201 2216222 - CallExpression 2216203 2216222 - Identifier 2216203 2216207 - Identifier 2216208 2216221 - Block 2216223 2216266 - ReturnStatement 2216225 2216255 - Identifier 2216245 2216254 - VariableStatement 2216266 2216309 - VariableDeclarationList 2216266 2216308 - VariableDeclaration 2216281 2216308 - Identifier 2216281 2216287 - CallExpression 2216289 2216308 - Identifier 2216289 2216302 - Identifier 2216303 2216307 - IfStatement 2216309 2216433 - PrefixUnaryExpression 2216323 2216358 - PropertyAccessExpression 2216324 2216358 - Identifier 2216324 2216329 - Identifier 2216330 2216358 - Block 2216359 2216433 - ExpressionStatement 2216361 2216422 - BinaryExpression 2216361 2216421 - PropertyAccessExpression 2216361 2216409 - Identifier 2216361 2216380 - Identifier 2216381 2216409 - EqualsToken 2216409 2216411 - NewExpression 2216411 2216421 - Identifier 2216415 2216419 - IfStatement 2216433 2216586 - CallExpression 2216447 2216498 - PropertyAccessExpression 2216447 2216485 - PropertyAccessExpression 2216447 2216481 - Identifier 2216447 2216452 - Identifier 2216453 2216481 - Identifier 2216482 2216485 - PropertyAccessExpression 2216486 2216497 - Identifier 2216486 2216494 - Identifier 2216495 2216497 - Block 2216499 2216586 - ReturnStatement 2216501 2216575 - NonNullExpression 2216521 2216574 - CallExpression 2216521 2216573 - PropertyAccessExpression 2216521 2216560 - PropertyAccessExpression 2216521 2216556 - Identifier 2216521 2216527 - Identifier 2216528 2216556 - Identifier 2216557 2216560 - PropertyAccessExpression 2216561 2216572 - Identifier 2216561 2216569 - Identifier 2216570 2216572 - VariableStatement 2216586 2216635 - VariableDeclarationList 2216586 2216634 - VariableDeclaration 2216599 2216634 - Identifier 2216599 2216626 - FalseKeyword 2216628 2216634 - VariableStatement 2216635 2216685 - VariableDeclarationList 2216635 2216684 - VariableDeclaration 2216648 2216684 - Identifier 2216648 2216666 - UnionType 2216667 2216684 - TypeReference 2216667 2216672 - Identifier 2216667 2216672 - UndefinedKeyword 2216674 2216684 - VariableStatement 2216685 2216740 - VariableDeclarationList 2216685 2216739 - VariableDeclaration 2216700 2216739 - Identifier 2216700 2216707 - CallExpression 2216709 2216739 - Identifier 2216709 2216729 - Identifier 2216730 2216738 - ExpressionStatement 2216740 2216810 - CallExpression 2216740 2216809 - PropertyAccessExpression 2216740 2216788 - PropertyAccessExpression 2216740 2216784 - Identifier 2216740 2216755 - Identifier 2216756 2216784 - Identifier 2216785 2216788 - PropertyAccessExpression 2216789 2216800 - Identifier 2216789 2216797 - Identifier 2216798 2216800 - Identifier 2216801 2216808 - VariableStatement 2216810 2216896 - VariableDeclarationList 2216810 2216895 - VariableDeclaration 2216825 2216895 - Identifier 2216825 2216835 - ConditionalExpression 2216837 2216895 - Identifier 2216837 2216864 - QuestionToken 2216864 2216866 - Identifier 2216866 2216884 - ColonToken 2216884 2216886 - Identifier 2216886 2216895 - IfStatement 2216896 2217145 - Identifier 2216910 2216919 - Block 2216920 2217145 - ExpressionStatement 2216922 2217134 - CallExpression 2216922 2217133 - PropertyAccessExpression 2216922 2216951 - Identifier 2216922 2216947 - Identifier 2216948 2216951 - CallExpression 2216952 2217132 - Identifier 2216952 2216980 - CallExpression 2216981 2217006 - Identifier 2216981 2217000 - Identifier 2217001 2217005 - Identifier 2217007 2217021 - PropertyAccessExpression 2217022 2217106 - Identifier 2217022 2217034 - Identifier 2217035 2217106 - CallExpression 2217107 2217131 - Identifier 2217107 2217120 - Identifier 2217121 2217130 - ReturnStatement 2217145 2217169 - Identifier 2217161 2217168 - FunctionDeclaration 2217169 2219689 - Identifier 2217189 2217209 - Parameter 2217210 2217220 - Identifier 2217210 2217214 - TypeReference 2217215 2217220 - Identifier 2217215 2217220 - TypeReference 2217222 2217227 - Identifier 2217222 2217227 - Block 2217227 2219689 - VariableStatement 2217229 2217269 - VariableDeclarationList 2217229 2217268 - VariableDeclaration 2217246 2217268 - Identifier 2217246 2217260 - FalseKeyword 2217262 2217268 - VariableStatement 2217269 2217318 - VariableDeclarationList 2217269 2217317 - VariableDeclaration 2217286 2217317 - Identifier 2217286 2217309 - FalseKeyword 2217311 2217317 - VariableStatement 2217318 2217377 - VariableDeclarationList 2217318 2217376 - VariableDeclaration 2217337 2217376 - Identifier 2217337 2217344 - CallExpression 2217346 2217376 - Identifier 2217346 2217370 - Identifier 2217371 2217375 - ExpressionStatement 2217377 2217445 - BinaryExpression 2217377 2217444 - Identifier 2217377 2217417 - BarBarEqualsToken 2217417 2217421 - Identifier 2217421 2217444 - IfStatement 2217445 2217566 - BinaryExpression 2217463 2217503 - Identifier 2217463 2217476 - AmpersandAmpersandToken 2217476 2217479 - PrefixUnaryExpression 2217479 2217503 - Identifier 2217481 2217503 - Block 2217504 2217566 - ExpressionStatement 2217506 2217551 - BinaryExpression 2217506 2217550 - Identifier 2217506 2217541 - QuestionQuestionEqualsToken 2217541 2217545 - Identifier 2217545 2217550 - ReturnStatement 2217566 2217594 - Identifier 2217586 2217593 - FunctionDeclaration 2217594 2219678 - Identifier 2217618 2217642 - Parameter 2217643 2217653 - Identifier 2217643 2217647 - TypeReference 2217648 2217653 - Identifier 2217648 2217653 - TypeReference 2217655 2217660 - Identifier 2217655 2217660 - Block 2217660 2219678 - IfStatement 2217662 2219633 - BinaryExpression 2217684 2217713 - PropertyAccessExpression 2217684 2217694 - Identifier 2217684 2217688 - Identifier 2217689 2217694 - AmpersandToken 2217694 2217696 - PropertyAccessExpression 2217696 2217713 - Identifier 2217696 2217706 - Identifier 2217707 2217713 - Block 2217714 2218842 - VariableStatement 2217716 2217804 - VariableDeclarationList 2217716 2217803 - VariableDeclaration 2217743 2217803 - Identifier 2217743 2217752 - CallExpression 2217754 2217803 - Identifier 2217754 2217783 - AsExpression 2217784 2217802 - Identifier 2217784 2217788 - TypeReference 2217791 2217802 - Identifier 2217791 2217802 - VariableStatement 2217804 2217900 - VariableDeclarationList 2217804 2217899 - VariableDeclaration 2217831 2217899 - Identifier 2217831 2217846 - CallExpression 2217848 2217899 - Identifier 2217848 2217874 - PropertyAccessExpression 2217875 2217898 - Identifier 2217875 2217883 - Identifier 2217884 2217898 - VariableStatement 2217900 2218006 - VariableDeclarationList 2217900 2218005 - VariableDeclaration 2217927 2218005 - Identifier 2217927 2217947 - CallExpression 2217949 2218005 - Identifier 2217949 2217975 - PropertyAccessExpression 2217976 2218004 - Identifier 2217976 2217984 - Identifier 2217985 2218004 - ExpressionStatement 2218006 2218128 - BinaryExpression 2218006 2218127 - Identifier 2218006 2218041 - BarBarEqualsToken 2218041 2218045 - BinaryExpression 2218045 2218127 - BinaryExpression 2218045 2218082 - PropertyAccessExpression 2218045 2218076 - PropertyAccessExpression 2218045 2218069 - Identifier 2218045 2218054 - Identifier 2218055 2218069 - Identifier 2218070 2218076 - ExclamationEqualsEqualsToken 2218076 2218080 - NumericLiteral 2218080 2218082 - BarBarToken 2218082 2218085 - BinaryExpression 2218085 2218127 - PropertyAccessExpression 2218085 2218121 - PropertyAccessExpression 2218085 2218114 - Identifier 2218085 2218094 - Identifier 2218095 2218114 - Identifier 2218115 2218121 - ExclamationEqualsEqualsToken 2218121 2218125 - NumericLiteral 2218125 2218127 - ExpressionStatement 2218128 2218241 - BinaryExpression 2218128 2218240 - Identifier 2218128 2218172 - BarBarEqualsToken 2218172 2218176 - BinaryExpression 2218176 2218240 - BinaryExpression 2218176 2218204 - PropertyAccessExpression 2218176 2218198 - Identifier 2218176 2218191 - Identifier 2218192 2218198 - ExclamationEqualsEqualsToken 2218198 2218202 - NumericLiteral 2218202 2218204 - BarBarToken 2218204 2218207 - BinaryExpression 2218207 2218240 - PropertyAccessExpression 2218207 2218234 - Identifier 2218207 2218227 - Identifier 2218228 2218234 - ExclamationEqualsEqualsToken 2218234 2218238 - NumericLiteral 2218238 2218240 - IfStatement 2218241 2218823 - BinaryExpression 2218267 2218365 - BinaryExpression 2218267 2218309 - Identifier 2218267 2218281 - ExclamationEqualsEqualsToken 2218281 2218285 - PropertyAccessExpression 2218285 2218309 - Identifier 2218285 2218294 - Identifier 2218295 2218309 - BarBarToken 2218309 2218312 - BinaryExpression 2218312 2218365 - Identifier 2218312 2218332 - ExclamationEqualsEqualsToken 2218332 2218336 - PropertyAccessExpression 2218336 2218365 - Identifier 2218336 2218345 - Identifier 2218346 2218365 - Block 2218366 2218823 - VariableStatement 2218368 2218627 - VariableDeclarationList 2218368 2218626 - VariableDeclaration 2218399 2218626 - Identifier 2218399 2218406 - AsExpression 2218408 2218626 - CallExpression 2218408 2218580 - Identifier 2218408 2218428 - CallExpression 2218429 2218503 - Identifier 2218429 2218441 - PropertyAccessExpression 2218442 2218458 - Identifier 2218442 2218453 - Identifier 2218454 2218458 - PropertyAccessExpression 2218459 2218502 - Identifier 2218459 2218478 - Identifier 2218479 2218502 - PropertyAccessExpression 2218504 2218521 - Identifier 2218504 2218513 - Identifier 2218514 2218521 - Identifier 2218522 2218537 - Identifier 2218538 2218558 - PropertyAccessExpression 2218559 2218579 - Identifier 2218559 2218568 - Identifier 2218569 2218579 - IntersectionType 2218583 2218626 - TypeReference 2218583 2218596 - Identifier 2218583 2218596 - TypeReference 2218598 2218626 - Identifier 2218598 2218626 - ExpressionStatement 2218627 2218715 - BinaryExpression 2218627 2218714 - PropertyAccessExpression 2218627 2218671 - Identifier 2218627 2218659 - Identifier 2218660 2218671 - BarEqualsToken 2218671 2218674 - PropertyAccessExpression 2218674 2218714 - Identifier 2218674 2218686 - Identifier 2218687 2218714 - ExpressionStatement 2218715 2218760 - BinaryExpression 2218715 2218759 - PropertyAccessExpression 2218715 2218752 - Identifier 2218715 2218747 - Identifier 2218748 2218752 - EqualsToken 2218752 2218754 - Identifier 2218754 2218759 - ReturnStatement 2218760 2218800 - Identifier 2218792 2218799 - IfStatement 2218864 2219633 - BinaryExpression 2218869 2218916 - PropertyAccessExpression 2218869 2218879 - Identifier 2218869 2218873 - Identifier 2218874 2218879 - AmpersandToken 2218879 2218881 - PropertyAccessExpression 2218881 2218916 - Identifier 2218881 2218891 - Identifier 2218892 2218916 - Block 2218917 2219291 - VariableStatement 2218919 2218990 - VariableDeclarationList 2218919 2218989 - VariableDeclaration 2218946 2218989 - Identifier 2218946 2218957 - CallExpression 2218959 2218989 - Identifier 2218959 2218983 - Identifier 2218984 2218988 - IfStatement 2218990 2219272 - Identifier 2219016 2219026 - Block 2219027 2219272 - VariableStatement 2219029 2219112 - VariableDeclarationList 2219029 2219111 - VariableDeclaration 2219060 2219111 - Identifier 2219060 2219073 - CallExpression 2219075 2219111 - Identifier 2219075 2219099 - Identifier 2219100 2219110 - IfStatement 2219112 2219249 - BinaryExpression 2219142 2219169 - Identifier 2219142 2219154 - ExclamationEqualsEqualsToken 2219154 2219158 - Identifier 2219158 2219169 - Block 2219170 2219249 - ReturnStatement 2219172 2219222 - Identifier 2219208 2219221 - IfStatement 2219313 2219633 - BinaryExpression 2219318 2219346 - PropertyAccessExpression 2219318 2219328 - Identifier 2219318 2219322 - Identifier 2219323 2219328 - AmpersandToken 2219328 2219330 - PropertyAccessExpression 2219330 2219346 - Identifier 2219330 2219340 - Identifier 2219341 2219346 - Block 2219347 2219432 - ReturnStatement 2219349 2219413 - CallExpression 2219377 2219412 - Identifier 2219377 2219385 - Identifier 2219386 2219390 - Identifier 2219391 2219411 - IfStatement 2219454 2219633 - BinaryExpression 2219459 2219494 - PropertyAccessExpression 2219459 2219469 - Identifier 2219459 2219463 - Identifier 2219464 2219469 - AmpersandToken 2219469 2219471 - PropertyAccessExpression 2219471 2219494 - Identifier 2219471 2219481 - Identifier 2219482 2219494 - Block 2219495 2219633 - ReturnStatement 2219497 2219614 - CallExpression 2219525 2219613 - Identifier 2219525 2219545 - CallExpression 2219546 2219612 - Identifier 2219546 2219553 - PropertyAccessExpression 2219554 2219586 - ParenthesizedExpression 2219554 2219580 - AsExpression 2219555 2219579 - Identifier 2219555 2219559 - TypeReference 2219562 2219579 - Identifier 2219562 2219579 - Identifier 2219581 2219586 - Identifier 2219587 2219611 - ReturnStatement 2219633 2219663 - Identifier 2219657 2219662 - FunctionDeclaration 2219689 2220237 - Identifier 2219709 2219735 - Parameter 2219736 2219768 - Identifier 2219736 2219746 - TypeOperator 2219747 2219768 - ArrayType 2219756 2219768 - TypeReference 2219756 2219766 - Identifier 2219756 2219766 - Block 2219769 2220237 - VariableStatement 2219771 2219913 - VariableDeclarationList 2219771 2219912 - VariableDeclaration 2219790 2219912 - Identifier 2219790 2219811 - CallExpression 2219813 2219912 - Identifier 2219813 2219820 - Identifier 2219821 2219831 - ArrowFunction 2219832 2219911 - Parameter 2219832 2219836 - Identifier 2219832 2219836 - EqualsGreaterThanToken 2219836 2219839 - BinaryExpression 2219839 2219911 - PrefixUnaryExpression 2219839 2219860 - PrefixUnaryExpression 2219841 2219860 - PropertyAccessExpression 2219842 2219860 - Identifier 2219842 2219845 - Identifier 2219846 2219860 - AmpersandAmpersandToken 2219860 2219863 - CallExpression 2219863 2219911 - Identifier 2219863 2219891 - Identifier 2219892 2219895 - Identifier 2219896 2219910 - ReturnStatement 2219913 2220226 - CallExpression 2219933 2220225 - Identifier 2219933 2219941 - Identifier 2219942 2219962 - ArrowFunction 2219963 2220224 - Parameter 2219963 2219967 - Identifier 2219963 2219967 - EqualsGreaterThanToken 2219967 2219970 - Block 2219970 2220224 - VariableStatement 2219972 2220079 - VariableDeclarationList 2219972 2220078 - VariableDeclaration 2219995 2220078 - Identifier 2219995 2220013 - CallExpression 2220015 2220078 - Identifier 2220015 2220034 - Identifier 2220035 2220038 - NonNullExpression 2220039 2220054 - Identifier 2220039 2220053 - TrueKeyword 2220055 2220077 - ReturnStatement 2220079 2220209 - ConditionalExpression 2220103 2220208 - Identifier 2220103 2220121 - QuestionToken 2220121 2220123 - CallExpression 2220123 2220202 - Identifier 2220123 2220149 - Identifier 2220150 2220153 - Identifier 2220154 2220172 - CallExpression 2220173 2220201 - Identifier 2220173 2220184 - PropertyAccessExpression 2220185 2220200 - Identifier 2220185 2220188 - Identifier 2220189 2220200 - ColonToken 2220202 2220204 - Identifier 2220204 2220208 - FunctionDeclaration 2220244 2220437 - Identifier 2220260 2220285 - Parameter 2220286 2220311 - Identifier 2220286 2220290 - TypeReference 2220291 2220311 - Identifier 2220291 2220311 - Block 2220312 2220437 - ExpressionStatement 2220314 2220354 - CallExpression 2220314 2220353 - Identifier 2220314 2220342 - PropertyAccessExpression 2220343 2220352 - Identifier 2220343 2220347 - Identifier 2220348 2220352 - ReturnStatement 2220354 2220430 - CallExpression 2220370 2220429 - Identifier 2220370 2220401 - PropertyAccessExpression 2220402 2220417 - Identifier 2220402 2220406 - Identifier 2220407 2220417 - PropertyAccessExpression 2220418 2220428 - Identifier 2220418 2220423 - Identifier 2220424 2220428 - FunctionDeclaration 2220437 2221093 - Identifier 2220453 2220484 - Parameter 2220485 2220507 - Identifier 2220485 2220495 - TypeReference 2220496 2220507 - Identifier 2220496 2220507 - Parameter 2220508 2220525 - Identifier 2220508 2220515 - TypeReference 2220516 2220525 - Identifier 2220516 2220525 - Parameter 2220526 2220548 - Identifier 2220526 2220536 - QuestionToken 2220536 2220537 - TypeReference 2220538 2220548 - Identifier 2220538 2220548 - Block 2220549 2221093 - VariableStatement 2220551 2220617 - VariableDeclarationList 2220551 2220616 - VariableDeclaration 2220566 2220616 - Identifier 2220566 2220575 - CallExpression 2220577 2220616 - Identifier 2220577 2220593 - Identifier 2220594 2220604 - Identifier 2220605 2220615 - VariableStatement 2220617 2220674 - VariableDeclarationList 2220617 2220673 - VariableDeclaration 2220632 2220673 - Identifier 2220632 2220643 - CallExpression 2220645 2220673 - Identifier 2220645 2220665 - Identifier 2220666 2220672 - IfStatement 2220674 2220757 - CallExpression 2220688 2220711 - Identifier 2220688 2220699 - Identifier 2220700 2220710 - Block 2220712 2220757 - ReturnStatement 2220714 2220746 - Identifier 2220734 2220745 - VariableStatement 2220757 2220904 - VariableDeclarationList 2220757 2220903 - VariableDeclaration 2220772 2220903 - Identifier 2220772 2220782 - CallExpression 2220784 2220903 - Identifier 2220784 2220797 - PropertyAccessExpression 2220798 2220811 - Identifier 2220798 2220804 - Identifier 2220805 2220811 - ArrowFunction 2220812 2220902 - Parameter 2220812 2220814 - Identifier 2220812 2220814 - EqualsGreaterThanToken 2220814 2220817 - BinaryExpression 2220817 2220902 - BinaryExpression 2220817 2220859 - PropertyAccessExpression 2220817 2220824 - Identifier 2220817 2220819 - Identifier 2220820 2220824 - EqualsEqualsEqualsToken 2220824 2220828 - PropertyAccessExpression 2220828 2220859 - Identifier 2220828 2220839 - Identifier 2220840 2220859 - BarBarToken 2220859 2220862 - BinaryExpression 2220862 2220902 - PropertyAccessExpression 2220862 2220869 - Identifier 2220862 2220864 - Identifier 2220865 2220869 - EqualsEqualsEqualsToken 2220869 2220873 - PropertyAccessExpression 2220873 2220902 - Identifier 2220873 2220884 - Identifier 2220885 2220902 - ExpressionStatement 2220904 2221060 - CallExpression 2220904 2221059 - Identifier 2220904 2220957 - Identifier 2220958 2220966 - Identifier 2220967 2220978 - Identifier 2220979 2220989 - Identifier 2220990 2221001 - PropertyAccessExpression 2221002 2221058 - Identifier 2221002 2221014 - Identifier 2221015 2221058 - ReturnStatement 2221060 2221086 - Identifier 2221076 2221085 - FunctionDeclaration 2221093 2221513 - Identifier 2221109 2221127 - Parameter 2221128 2221146 - Identifier 2221128 2221132 - TypeReference 2221133 2221146 - Identifier 2221133 2221146 - TypeReference 2221148 2221153 - Identifier 2221148 2221153 - Block 2221153 2221513 - ExpressionStatement 2221155 2221196 - CallExpression 2221155 2221195 - Identifier 2221155 2221189 - Identifier 2221190 2221194 - IfStatement 2221196 2221323 - BinaryExpression 2221212 2221255 - PropertyAccessExpression 2221212 2221229 - Identifier 2221212 2221216 - Identifier 2221217 2221229 - EqualsEqualsEqualsToken 2221229 2221233 - PropertyAccessExpression 2221233 2221255 - Identifier 2221233 2221244 - Identifier 2221245 2221255 - Block 2221256 2221323 - ReturnStatement 2221258 2221312 - CallExpression 2221278 2221311 - Identifier 2221278 2221305 - Identifier 2221306 2221310 - IfStatement 2221323 2221450 - BinaryExpression 2221339 2221385 - PropertyAccessExpression 2221339 2221356 - Identifier 2221339 2221343 - Identifier 2221344 2221356 - EqualsEqualsEqualsToken 2221356 2221360 - PropertyAccessExpression 2221360 2221385 - Identifier 2221360 2221371 - Identifier 2221372 2221385 - Block 2221386 2221450 - ReturnStatement 2221388 2221439 - CallExpression 2221408 2221438 - Identifier 2221408 2221432 - Identifier 2221433 2221437 - ReturnStatement 2221450 2221506 - CallExpression 2221468 2221505 - PropertyAccessExpression 2221468 2221486 - Identifier 2221468 2221474 - Identifier 2221475 2221486 - PropertyAccessExpression 2221487 2221504 - Identifier 2221487 2221491 - Identifier 2221492 2221504 - FunctionDeclaration 2221513 2222018 - Identifier 2221529 2221554 - Parameter 2221555 2221573 - Identifier 2221555 2221559 - TypeReference 2221560 2221573 - Identifier 2221560 2221573 - TypeReference 2221575 2221580 - Identifier 2221575 2221580 - Block 2221580 2222018 - SwitchStatement 2221582 2222011 - PropertyAccessExpression 2221600 2221617 - Identifier 2221600 2221604 - Identifier 2221605 2221617 - CaseBlock 2221618 2222011 - CaseClause 2221620 2221725 - PropertyAccessExpression 2221638 2221663 - Identifier 2221638 2221649 - Identifier 2221650 2221663 - ReturnStatement 2221664 2221725 - CallExpression 2221688 2221724 - Identifier 2221688 2221722 - CaseClause 2221725 2221923 - PropertyAccessExpression 2221743 2221765 - Identifier 2221743 2221754 - Identifier 2221755 2221765 - VariableStatement 2221766 2221830 - VariableDeclarationList 2221766 2221829 - VariableDeclaration 2221789 2221829 - Identifier 2221789 2221794 - CallExpression 2221796 2221829 - Identifier 2221796 2221823 - Identifier 2221824 2221828 - ReturnStatement 2221830 2221923 - ConditionalExpression 2221854 2221922 - CallExpression 2221854 2221872 - Identifier 2221854 2221866 - Identifier 2221867 2221871 - QuestionToken 2221872 2221874 - Identifier 2221874 2221884 - ColonToken 2221884 2221886 - CallExpression 2221886 2221922 - Identifier 2221886 2221916 - Identifier 2221917 2221921 - DefaultClause 2221923 2222000 - ExpressionStatement 2221945 2222000 - CallExpression 2221945 2221999 - PropertyAccessExpression 2221945 2221980 - Identifier 2221945 2221968 - Identifier 2221969 2221980 - PropertyAccessExpression 2221981 2221998 - Identifier 2221981 2221985 - Identifier 2221986 2221998 - FunctionDeclaration 2222018 2222697 - Identifier 2222034 2222061 - Parameter 2222062 2222080 - Identifier 2222062 2222066 - TypeReference 2222067 2222080 - Identifier 2222067 2222080 - Block 2222081 2222697 - VariableStatement 2222083 2222139 - VariableDeclarationList 2222083 2222138 - VariableDeclaration 2222098 2222138 - Identifier 2222098 2222108 - CallExpression 2222110 2222138 - Identifier 2222110 2222132 - Identifier 2222133 2222137 - IfStatement 2222139 2222690 - PrefixUnaryExpression 2222153 2222163 - Identifier 2222154 2222163 - Block 2222164 2222366 - ExpressionStatement 2222166 2222324 - CallExpression 2222166 2222323 - Identifier 2222166 2222185 - Identifier 2222186 2222190 - PropertyAccessExpression 2222191 2222308 - Identifier 2222191 2222203 - Identifier 2222204 2222308 - StringLiteral 2222309 2222322 - ReturnStatement 2222324 2222355 - Identifier 2222344 2222354 - IfStatement 2222380 2222690 - BinaryExpression 2222385 2222426 - PropertyAccessExpression 2222385 2222399 - Identifier 2222385 2222394 - Identifier 2222395 2222399 - EqualsEqualsEqualsToken 2222399 2222403 - PropertyAccessExpression 2222403 2222426 - Identifier 2222403 2222414 - Identifier 2222415 2222426 - Block 2222427 2222555 - VariableStatement 2222429 2222499 - VariableDeclarationList 2222429 2222498 - VariableDeclaration 2222448 2222498 - Identifier 2222448 2222455 - CallExpression 2222457 2222498 - Identifier 2222457 2222480 - PropertyAccessExpression 2222481 2222497 - Identifier 2222481 2222490 - Identifier 2222491 2222497 - ReturnStatement 2222499 2222544 - CallExpression 2222519 2222543 - Identifier 2222519 2222535 - Identifier 2222536 2222542 - Block 2222569 2222690 - VariableStatement 2222571 2222634 - VariableDeclarationList 2222571 2222633 - VariableDeclaration 2222590 2222633 - Identifier 2222590 2222597 - CallExpression 2222599 2222633 - Identifier 2222599 2222622 - Identifier 2222623 2222632 - ReturnStatement 2222634 2222679 - CallExpression 2222654 2222678 - Identifier 2222654 2222670 - Identifier 2222671 2222677 - FunctionDeclaration 2222697 2223632 - Identifier 2222713 2222737 - Parameter 2222738 2222756 - Identifier 2222738 2222742 - TypeReference 2222743 2222756 - Identifier 2222743 2222756 - Block 2222757 2223632 - IfStatement 2222759 2223355 - BinaryExpression 2222773 2222841 - BinaryExpression 2222773 2222804 - PropertyAccessExpression 2222773 2222790 - Identifier 2222773 2222783 - Identifier 2222784 2222790 - LessThanEqualsToken 2222790 2222793 - Identifier 2222793 2222804 - AmpersandAmpersandToken 2222804 2222807 - BinaryExpression 2222807 2222841 - Identifier 2222807 2222818 - LessThanEqualsToken 2222818 2222821 - PropertyAccessExpression 2222821 2222841 - Identifier 2222821 2222832 - Identifier 2222833 2222841 - Block 2222842 2223091 - IfStatement 2222844 2223080 - BinaryExpression 2222862 2222927 - PropertyAccessExpression 2222862 2222905 - CallExpression 2222862 2222887 - Identifier 2222862 2222881 - Identifier 2222882 2222886 - Identifier 2222888 2222905 - ExclamationEqualsEqualsToken 2222905 2222909 - PropertyAccessExpression 2222909 2222927 - Identifier 2222909 2222920 - Identifier 2222921 2222927 - Block 2222928 2223080 - ExpressionStatement 2222930 2223065 - CallExpression 2222930 2223064 - Identifier 2222930 2222953 - Identifier 2222954 2222958 - PropertyAccessExpression 2222959 2223063 - Identifier 2222959 2222971 - Identifier 2222972 2223063 - IfStatement 2223105 2223355 - BinaryExpression 2223110 2223176 - BinaryExpression 2223110 2223140 - Identifier 2223110 2223120 - LessThanToken 2223120 2223122 - PropertyAccessExpression 2223122 2223140 - Identifier 2223122 2223133 - Identifier 2223134 2223140 - AmpersandAmpersandToken 2223140 2223143 - BinaryExpression 2223143 2223176 - Identifier 2223143 2223154 - ExclamationEqualsEqualsToken 2223154 2223158 - PropertyAccessExpression 2223158 2223176 - Identifier 2223158 2223169 - Identifier 2223170 2223176 - Block 2223177 2223355 - ExpressionStatement 2223179 2223344 - CallExpression 2223179 2223343 - Identifier 2223179 2223198 - Identifier 2223199 2223203 - PropertyAccessExpression 2223204 2223342 - Identifier 2223204 2223216 - Identifier 2223217 2223342 - VariableStatement 2223355 2223404 - VariableDeclarationList 2223355 2223403 - VariableDeclaration 2223370 2223403 - Identifier 2223370 2223375 - CallExpression 2223377 2223403 - Identifier 2223377 2223397 - Identifier 2223398 2223402 - ExpressionStatement 2223404 2223535 - CallExpression 2223404 2223534 - PropertyAccessExpression 2223404 2223426 - Identifier 2223404 2223419 - Identifier 2223420 2223426 - PrefixUnaryExpression 2223427 2223480 - PrefixUnaryExpression 2223428 2223480 - ParenthesizedExpression 2223429 2223480 - BinaryExpression 2223430 2223479 - PropertyAccessExpression 2223430 2223440 - Identifier 2223430 2223434 - Identifier 2223435 2223440 - AmpersandToken 2223440 2223442 - PropertyAccessExpression 2223442 2223479 - Identifier 2223442 2223452 - Identifier 2223453 2223479 - StringLiteral 2223481 2223533 - ReturnStatement 2223535 2223625 - ConditionalExpression 2223551 2223624 - BinaryExpression 2223551 2223584 - PropertyAccessExpression 2223551 2223573 - PropertyAccessExpression 2223551 2223561 - Identifier 2223551 2223556 - Identifier 2223557 2223561 - Identifier 2223562 2223573 - EqualsEqualsEqualsToken 2223573 2223577 - StringLiteral 2223577 2223584 - QuestionToken 2223584 2223586 - CallExpression 2223586 2223612 - Identifier 2223586 2223610 - ColonToken 2223612 2223614 - Identifier 2223614 2223624 - FunctionDeclaration 2223632 2223977 - Identifier 2223648 2223667 - Parameter 2223668 2223682 - Identifier 2223668 2223674 - TypeReference 2223675 2223682 - Identifier 2223675 2223682 - Block 2223683 2223977 - VariableStatement 2223685 2223739 - VariableDeclarationList 2223685 2223738 - VariableDeclaration 2223700 2223738 - Identifier 2223700 2223712 - PropertyAccessExpression 2223714 2223738 - Identifier 2223714 2223721 - Identifier 2223722 2223738 - ReturnStatement 2223739 2223970 - CallExpression 2223755 2223969 - Identifier 2223755 2223770 - CallExpression 2223771 2223808 - Identifier 2223771 2223800 - Identifier 2223801 2223807 - FalseKeyword 2223809 2223843 - BinaryExpression 2223844 2223957 - PrefixUnaryExpression 2223844 2223886 - PrefixUnaryExpression 2223874 2223886 - Identifier 2223875 2223886 - AmpersandAmpersandToken 2223886 2223889 - ParenthesizedExpression 2223889 2223957 - BinaryExpression 2223891 2223956 - CallExpression 2223891 2223918 - Identifier 2223891 2223905 - Identifier 2223906 2223917 - BarBarToken 2223918 2223921 - CallExpression 2223921 2223956 - Identifier 2223921 2223943 - Identifier 2223944 2223955 - FunctionDeclaration 2223977 2227034 - Identifier 2224301 2224340 - Parameter 2224341 2224384 - Identifier 2224341 2224345 - UnionType 2224346 2224384 - TypeReference 2224346 2224361 - Identifier 2224346 2224361 - TypeReference 2224363 2224384 - Identifier 2224363 2224384 - Parameter 2224385 2224399 - Identifier 2224385 2224391 - NumberKeyword 2224392 2224399 - Parameter 2224400 2224427 - Identifier 2224400 2224413 - TypeReference 2224414 2224427 - Identifier 2224414 2224427 - TypeReference 2224429 2224438 - Identifier 2224429 2224438 - Block 2224438 2227034 - SwitchStatement 2224440 2226983 - PropertyAccessExpression 2224458 2224472 - PropertyAccessExpression 2224458 2224467 - Identifier 2224458 2224462 - Identifier 2224463 2224467 - Identifier 2224468 2224472 - CaseBlock 2224473 2226983 - CaseClause 2224475 2226040 - PropertyAccessExpression 2224493 2224515 - Identifier 2224493 2224504 - Identifier 2224505 2224515 - Block 2224516 2226040 - VariableStatement 2224518 2224571 - VariableDeclarationList 2224518 2224570 - VariableDeclaration 2224541 2224570 - Identifier 2224541 2224546 - PropertyAccessExpression 2224548 2224570 - PropertyAccessExpression 2224548 2224558 - Identifier 2224548 2224553 - Identifier 2224554 2224558 - Identifier 2224559 2224570 - IfStatement 2224571 2226025 - PropertyAccessExpression 2224593 2224612 - Identifier 2224593 2224597 - Identifier 2224598 2224612 - Block 2224613 2225384 - ReturnStatement 2224615 2225365 - ConditionalExpression 2225287 2225364 - BinaryExpression 2225287 2225324 - Identifier 2225287 2225300 - AmpersandToken 2225300 2225302 - PropertyAccessExpression 2225302 2225324 - Identifier 2225302 2225315 - Identifier 2225316 2225324 - QuestionToken 2225324 2225326 - Identifier 2225326 2225331 - ColonToken 2225331 2225333 - AsExpression 2225333 2225364 - TemplateExpression 2225333 2225352 - TemplateHead 2225333 2225337 - TemplateSpan 2225337 2225345 - Identifier 2225337 2225341 - TemplateMiddle 2225341 2225345 - TemplateSpan 2225345 2225352 - Identifier 2225345 2225350 - TemplateTail 2225350 2225352 - TypeReference 2225355 2225364 - Identifier 2225355 2225364 - Block 2225406 2226025 - ReturnStatement 2225408 2226006 - ConditionalExpression 2225938 2226005 - BinaryExpression 2225938 2225972 - Identifier 2225938 2225951 - AmpersandToken 2225951 2225953 - PropertyAccessExpression 2225953 2225972 - Identifier 2225953 2225966 - Identifier 2225967 2225972 - QuestionToken 2225972 2225974 - Identifier 2225974 2225979 - ColonToken 2225979 2225981 - AsExpression 2225981 2226005 - TemplateExpression 2225981 2225993 - TemplateHead 2225981 2225985 - TemplateSpan 2225985 2225993 - Identifier 2225985 2225989 - TemplateTail 2225989 2225993 - TypeReference 2225996 2226005 - Identifier 2225996 2226005 - CaseClause 2226040 2226972 - PropertyAccessExpression 2226058 2226089 - Identifier 2226058 2226069 - Identifier 2226070 2226089 - Block 2226090 2226972 - IfStatement 2226092 2226933 - PropertyAccessExpression 2226114 2226133 - Identifier 2226114 2226118 - Identifier 2226119 2226133 - Block 2226134 2226933 - VariableStatement 2226136 2226194 - VariableDeclarationList 2226136 2226193 - VariableDeclaration 2226163 2226193 - Identifier 2226163 2226172 - PropertyAccessExpression 2226174 2226193 - PropertyAccessExpression 2226174 2226184 - Identifier 2226174 2226179 - Identifier 2226180 2226184 - Identifier 2226185 2226193 - VariableStatement 2226194 2226289 - VariableDeclarationList 2226194 2226288 - VariableDeclaration 2226221 2226288 - Identifier 2226221 2226233 - CallExpression 2226235 2226288 - Identifier 2226235 2226243 - CallExpression 2226244 2226269 - Identifier 2226244 2226259 - Identifier 2226260 2226268 - Identifier 2226270 2226287 - VariableStatement 2226289 2226388 - VariableDeclarationList 2226289 2226387 - VariableDeclaration 2226316 2226387 - Identifier 2226316 2226329 - BinaryExpression 2226331 2226387 - PropertyAccessExpression 2226331 2226347 - Identifier 2226331 2226340 - Identifier 2226341 2226347 - MinusToken 2226347 2226349 - ParenthesizedExpression 2226349 2226387 - ConditionalExpression 2226351 2226386 - PropertyAccessExpression 2226351 2226378 - Identifier 2226351 2226362 - QuestionDotToken 2226362 2226364 - Identifier 2226364 2226378 - QuestionToken 2226378 2226380 - NumericLiteral 2226380 2226382 - ColonToken 2226382 2226384 - NumericLiteral 2226384 2226386 - IfStatement 2226388 2226914 - BinaryExpression 2226414 2226434 - Identifier 2226414 2226419 - LessThanToken 2226419 2226421 - Identifier 2226421 2226434 - Block 2226435 2226709 - VariableStatement 2226437 2226495 - VariableDeclarationList 2226437 2226494 - VariableDeclaration 2226468 2226494 - Identifier 2226468 2226476 - ElementAccessExpression 2226478 2226494 - Identifier 2226478 2226487 - Identifier 2226488 2226493 - IfStatement 2226495 2226686 - CallExpression 2226525 2226550 - Identifier 2226525 2226541 - Identifier 2226542 2226549 - Block 2226551 2226686 - ReturnStatement 2226553 2226659 - CallExpression 2226589 2226658 - Identifier 2226589 2226628 - Identifier 2226629 2226636 - Identifier 2226637 2226643 - Identifier 2226644 2226657 - IfStatement 2226735 2226914 - PropertyAccessExpression 2226740 2226767 - Identifier 2226740 2226751 - QuestionDotToken 2226751 2226753 - Identifier 2226753 2226767 - Block 2226768 2226914 - ReturnStatement 2226770 2226891 - CallExpression 2226802 2226890 - Identifier 2226802 2226841 - Identifier 2226842 2226853 - BinaryExpression 2226854 2226875 - Identifier 2226854 2226860 - MinusToken 2226860 2226862 - Identifier 2226862 2226875 - Identifier 2226876 2226889 - BreakStatement 2226933 2226957 - ReturnStatement 2226983 2227027 - AsExpression 2226999 2227026 - TemplateExpression 2226999 2227014 - TemplateHead 2226999 2227007 - TemplateSpan 2227007 2227014 - Identifier 2227007 2227012 - TemplateTail 2227012 2227014 - TypeReference 2227017 2227026 - Identifier 2227017 2227026 - FunctionDeclaration 2227034 2227126 - Identifier 2227050 2227071 - Parameter 2227072 2227114 - Identifier 2227072 2227073 - UnionType 2227074 2227114 - TypeReference 2227074 2227095 - Identifier 2227074 2227095 - TypeReference 2227097 2227114 - Identifier 2227097 2227114 - TypeReference 2227116 2227125 - Identifier 2227116 2227125 - FunctionDeclaration 2227126 2227292 - Identifier 2227140 2227161 - Parameter 2227162 2227216 - Identifier 2227162 2227163 - UnionType 2227164 2227216 - TypeReference 2227164 2227185 - Identifier 2227164 2227185 - TypeReference 2227187 2227204 - Identifier 2227187 2227204 - UndefinedKeyword 2227206 2227216 - Parameter 2227217 2227231 - Identifier 2227217 2227223 - NumberKeyword 2227224 2227231 - Parameter 2227232 2227259 - Identifier 2227232 2227245 - TypeReference 2227246 2227259 - Identifier 2227246 2227259 - Parameter 2227260 2227280 - Identifier 2227260 2227271 - QuestionToken 2227271 2227272 - TypeReference 2227273 2227280 - Identifier 2227273 2227280 - TypeReference 2227282 2227291 - Identifier 2227282 2227291 - FunctionDeclaration 2227292 2227935 - Identifier 2227306 2227327 - Parameter 2227328 2227382 - Identifier 2227328 2227329 - UnionType 2227330 2227382 - TypeReference 2227330 2227351 - Identifier 2227330 2227351 - TypeReference 2227353 2227370 - Identifier 2227353 2227370 - UndefinedKeyword 2227372 2227382 - Parameter 2227383 2227393 - Identifier 2227383 2227389 - NumericLiteral 2227391 2227393 - Parameter 2227394 2227428 - Identifier 2227394 2227407 - PropertyAccessExpression 2227409 2227428 - Identifier 2227409 2227422 - Identifier 2227423 2227428 - Parameter 2227429 2227449 - Identifier 2227429 2227440 - QuestionToken 2227440 2227441 - TypeReference 2227442 2227449 - Identifier 2227442 2227449 - Block 2227450 2227935 - IfStatement 2227452 2227759 - PrefixUnaryExpression 2227466 2227468 - Identifier 2227467 2227468 - Block 2227469 2227759 - VariableStatement 2227471 2227558 - VariableDeclarationList 2227471 2227557 - VariableDeclaration 2227490 2227557 - Identifier 2227490 2227504 - CallExpression 2227506 2227557 - Identifier 2227506 2227514 - PropertyAccessExpression 2227515 2227543 - Identifier 2227515 2227525 - QuestionDotToken 2227525 2227527 - Identifier 2227527 2227543 - Identifier 2227544 2227556 - ReturnStatement 2227558 2227748 - ConditionalExpression 2227578 2227747 - Identifier 2227578 2227592 - QuestionToken 2227592 2227594 - CallExpression 2227594 2227669 - Identifier 2227594 2227633 - Identifier 2227634 2227647 - Identifier 2227648 2227654 - Identifier 2227655 2227668 - ColonToken 2227669 2227671 - AsExpression 2227671 2227747 - TemplateExpression 2227671 2227735 - TemplateHead 2227671 2227692 - TemplateSpan 2227692 2227728 - BinaryExpression 2227692 2227724 - PropertyAccessExpression 2227692 2227715 - Identifier 2227692 2227702 - QuestionDotToken 2227702 2227704 - Identifier 2227704 2227715 - QuestionQuestionToken 2227715 2227718 - StringLiteral 2227718 2227724 - TemplateMiddle 2227724 2227728 - TemplateSpan 2227728 2227735 - Identifier 2227728 2227733 - TemplateTail 2227733 2227735 - TypeReference 2227738 2227747 - Identifier 2227738 2227747 - ExpressionStatement 2227759 2227804 - CallExpression 2227759 2227803 - PropertyAccessExpression 2227759 2227781 - Identifier 2227759 2227774 - Identifier 2227775 2227781 - CallExpression 2227782 2227802 - Identifier 2227782 2227794 - PropertyAccessExpression 2227795 2227801 - Identifier 2227795 2227796 - Identifier 2227797 2227801 - ReturnStatement 2227804 2227928 - PropertyAccessExpression 2227908 2227927 - PropertyAccessExpression 2227908 2227915 - Identifier 2227908 2227910 - Identifier 2227911 2227915 - Identifier 2227916 2227927 - FunctionDeclaration 2227935 2228875 - Identifier 2227951 2227978 - Parameter 2227979 2227999 - Identifier 2227979 2227988 - TypeReference 2227989 2227999 - Identifier 2227989 2227999 - Parameter 2228000 2228012 - Identifier 2228000 2228004 - NumberKeyword 2228005 2228012 - Parameter 2228013 2228037 - Identifier 2228013 2228030 - QuestionToken 2228030 2228031 - TypeReference 2228032 2228037 - Identifier 2228032 2228037 - Block 2228038 2228875 - VariableStatement 2228040 2228146 - VariableDeclarationList 2228040 2228145 - VariableDeclaration 2228055 2228145 - Identifier 2228055 2228066 - BinaryExpression 2228068 2228145 - PropertyAccessExpression 2228068 2228096 - PropertyAccessExpression 2228068 2228089 - Identifier 2228068 2228078 - Identifier 2228079 2228089 - Identifier 2228090 2228096 - MinusToken 2228096 2228098 - ParenthesizedExpression 2228098 2228145 - ConditionalExpression 2228100 2228144 - CallExpression 2228100 2228136 - Identifier 2228100 2228125 - Identifier 2228126 2228135 - QuestionToken 2228136 2228138 - NumericLiteral 2228138 2228140 - ColonToken 2228140 2228142 - NumericLiteral 2228142 2228144 - IfStatement 2228146 2228249 - BinaryExpression 2228160 2228176 - Identifier 2228160 2228163 - LessThanToken 2228163 2228165 - Identifier 2228165 2228176 - Block 2228177 2228249 - ReturnStatement 2228179 2228238 - PropertyAccessExpression 2228199 2228237 - ElementAccessExpression 2228199 2228225 - PropertyAccessExpression 2228199 2228220 - Identifier 2228199 2228209 - Identifier 2228210 2228220 - Identifier 2228221 2228224 - Identifier 2228226 2228237 - VariableStatement 2228249 2228331 - VariableDeclarationList 2228249 2228330 - VariableDeclaration 2228264 2228330 - Identifier 2228264 2228278 - BinaryExpression 2228280 2228330 - ElementAccessExpression 2228280 2228313 - PropertyAccessExpression 2228280 2228301 - Identifier 2228280 2228290 - Identifier 2228291 2228301 - Identifier 2228302 2228312 - BarBarToken 2228313 2228316 - Identifier 2228316 2228330 - VariableStatement 2228331 2228409 - VariableDeclarationList 2228331 2228408 - VariableDeclaration 2228346 2228408 - Identifier 2228346 2228355 - BinaryExpression 2228357 2228408 - Identifier 2228357 2228374 - BarBarToken 2228374 2228377 - CallExpression 2228377 2228408 - Identifier 2228377 2228393 - Identifier 2228394 2228407 - IfStatement 2228409 2228825 - CallExpression 2228423 2228444 - Identifier 2228423 2228434 - Identifier 2228435 2228443 - Block 2228445 2228825 - VariableStatement 2228447 2228527 - VariableDeclarationList 2228447 2228526 - VariableDeclaration 2228466 2228526 - Identifier 2228466 2228476 - AsExpression 2228478 2228526 - PropertyAccessExpression 2228478 2228513 - ParenthesizedExpression 2228478 2228506 - AsExpression 2228480 2228505 - Identifier 2228480 2228488 - TypeReference 2228491 2228505 - Identifier 2228491 2228505 - Identifier 2228507 2228513 - TypeReference 2228516 2228526 - Identifier 2228516 2228526 - VariableStatement 2228527 2228572 - VariableDeclarationList 2228527 2228571 - VariableDeclaration 2228546 2228571 - Identifier 2228546 2228552 - BinaryExpression 2228554 2228571 - Identifier 2228554 2228558 - MinusToken 2228558 2228560 - Identifier 2228560 2228571 - VariableStatement 2228572 2228655 - VariableDeclarationList 2228572 2228654 - VariableDeclaration 2228591 2228654 - Identifier 2228591 2228606 - ElementAccessExpression 2228608 2228654 - PropertyAccessExpression 2228608 2228645 - Identifier 2228608 2228618 - Identifier 2228619 2228645 - QuestionDotToken 2228645 2228647 - Identifier 2228648 2228653 - VariableStatement 2228655 2228720 - VariableDeclarationList 2228655 2228719 - VariableDeclaration 2228674 2228719 - Identifier 2228674 2228687 - ElementAccessExpression 2228689 2228719 - PropertyAccessExpression 2228689 2228712 - Identifier 2228689 2228699 - Identifier 2228700 2228712 - Identifier 2228713 2228718 - ReturnStatement 2228720 2228814 - CallExpression 2228740 2228813 - Identifier 2228740 2228761 - Identifier 2228762 2228776 - Identifier 2228777 2228783 - Identifier 2228784 2228797 - Identifier 2228798 2228812 - ReturnStatement 2228825 2228868 - PropertyAccessExpression 2228841 2228867 - Identifier 2228841 2228855 - Identifier 2228856 2228867 - FunctionDeclaration 2228875 2230772 - Identifier 2228891 2228928 - Parameter 2228929 2228949 - Identifier 2228929 2228938 - TypeReference 2228939 2228949 - Identifier 2228939 2228949 - Parameter 2228950 2228962 - Identifier 2228950 2228954 - NumberKeyword 2228955 2228962 - UnionType 2228964 2229054 - TypeLiteral 2228964 2229042 - PropertySignature 2228966 2228989 - Identifier 2228966 2228976 - TypeReference 2228977 2228988 - Identifier 2228977 2228988 - PropertySignature 2228989 2229014 - Identifier 2228989 2229003 - TypeReference 2229004 2229013 - Identifier 2229004 2229013 - PropertySignature 2229014 2229040 - Identifier 2229014 2229030 - BooleanKeyword 2229031 2229039 - UndefinedKeyword 2229044 2229054 - Block 2229054 2230772 - IfStatement 2229056 2229175 - BinaryExpression 2229070 2229130 - PropertyAccessExpression 2229070 2229097 - PropertyAccessExpression 2229070 2229091 - Identifier 2229070 2229079 - Identifier 2229080 2229091 - QuestionDotToken 2229091 2229093 - Identifier 2229093 2229097 - EqualsEqualsEqualsToken 2229097 2229101 - PropertyAccessExpression 2229101 2229130 - Identifier 2229101 2229112 - Identifier 2229113 2229130 - Block 2229131 2229175 - ReturnStatement 2229133 2229164 - Identifier 2229153 2229163 - VariableStatement 2229175 2229281 - VariableDeclarationList 2229175 2229280 - VariableDeclaration 2229190 2229280 - Identifier 2229190 2229201 - BinaryExpression 2229203 2229280 - PropertyAccessExpression 2229203 2229231 - PropertyAccessExpression 2229203 2229224 - Identifier 2229203 2229213 - Identifier 2229214 2229224 - Identifier 2229225 2229231 - MinusToken 2229231 2229233 - ParenthesizedExpression 2229233 2229280 - ConditionalExpression 2229235 2229279 - CallExpression 2229235 2229271 - Identifier 2229235 2229260 - Identifier 2229261 2229270 - QuestionToken 2229271 2229273 - NumericLiteral 2229273 2229275 - ColonToken 2229275 2229277 - NumericLiteral 2229277 2229279 - IfStatement 2229281 2229648 - BinaryExpression 2229295 2229311 - Identifier 2229295 2229298 - LessThanToken 2229298 2229300 - Identifier 2229300 2229311 - Block 2229312 2229648 - VariableStatement 2229314 2229368 - VariableDeclarationList 2229314 2229367 - VariableDeclaration 2229333 2229367 - Identifier 2229333 2229339 - ElementAccessExpression 2229341 2229367 - PropertyAccessExpression 2229341 2229362 - Identifier 2229341 2229351 - Identifier 2229352 2229362 - Identifier 2229363 2229366 - VariableStatement 2229368 2229442 - VariableDeclarationList 2229368 2229441 - VariableDeclaration 2229387 2229441 - Identifier 2229387 2229398 - CallExpression 2229400 2229441 - Identifier 2229400 2229434 - Identifier 2229435 2229440 - ReturnStatement 2229442 2229637 - ConditionalExpression 2229462 2229636 - Identifier 2229462 2229473 - QuestionToken 2229473 2229475 - ObjectLiteralExpression 2229475 2229624 - PropertyAssignment 2229477 2229516 - Identifier 2229477 2229504 - Identifier 2229505 2229516 - PropertyAssignment 2229517 2229567 - Identifier 2229517 2229548 - PropertyAccessExpression 2229549 2229567 - Identifier 2229549 2229555 - Identifier 2229556 2229567 - PropertyAssignment 2229568 2229608 - Identifier 2229568 2229601 - FalseKeyword 2229602 2229608 - ColonToken 2229624 2229626 - Identifier 2229626 2229636 - VariableStatement 2229648 2229732 - VariableDeclarationList 2229648 2229731 - VariableDeclaration 2229665 2229731 - Identifier 2229665 2229679 - BinaryExpression 2229681 2229731 - ElementAccessExpression 2229681 2229714 - PropertyAccessExpression 2229681 2229702 - Identifier 2229681 2229691 - Identifier 2229692 2229702 - Identifier 2229703 2229713 - BarBarToken 2229714 2229717 - Identifier 2229717 2229731 - VariableStatement 2229732 2229809 - VariableDeclarationList 2229732 2229808 - VariableDeclaration 2229747 2229808 - Identifier 2229747 2229757 - CallExpression 2229759 2229808 - Identifier 2229759 2229793 - Identifier 2229794 2229807 - IfStatement 2229809 2229878 - PrefixUnaryExpression 2229823 2229833 - Identifier 2229824 2229833 - Block 2229834 2229878 - ReturnStatement 2229836 2229867 - Identifier 2229856 2229866 - VariableStatement 2229878 2229938 - VariableDeclarationList 2229878 2229937 - VariableDeclaration 2229895 2229937 - Identifier 2229895 2229904 - CallExpression 2229906 2229937 - Identifier 2229906 2229922 - Identifier 2229923 2229936 - IfStatement 2229938 2230579 - CallExpression 2229952 2229973 - Identifier 2229952 2229963 - Identifier 2229964 2229972 - Block 2229974 2230579 - VariableStatement 2229976 2230091 - VariableDeclarationList 2229976 2230090 - VariableDeclaration 2229995 2230090 - Identifier 2229995 2230011 - PropertyAccessExpression 2230013 2230090 - ParenthesizedExpression 2230013 2230063 - AsExpression 2230015 2230062 - PropertyAccessExpression 2230015 2230049 - ParenthesizedExpression 2230015 2230042 - AsExpression 2230016 2230041 - Identifier 2230016 2230024 - TypeReference 2230027 2230041 - Identifier 2230027 2230041 - Identifier 2230043 2230049 - TypeReference 2230052 2230062 - Identifier 2230052 2230062 - Identifier 2230064 2230090 - VariableStatement 2230091 2230136 - VariableDeclarationList 2230091 2230135 - VariableDeclaration 2230110 2230135 - Identifier 2230110 2230116 - BinaryExpression 2230118 2230135 - Identifier 2230118 2230122 - MinusToken 2230122 2230124 - Identifier 2230124 2230135 - VariableStatement 2230136 2230198 - VariableDeclarationList 2230136 2230197 - VariableDeclaration 2230155 2230197 - Identifier 2230155 2230170 - ElementAccessExpression 2230172 2230197 - Identifier 2230172 2230188 - QuestionDotToken 2230188 2230190 - Identifier 2230191 2230196 - VariableStatement 2230198 2230272 - VariableDeclarationList 2230198 2230271 - VariableDeclaration 2230217 2230271 - Identifier 2230217 2230236 - PrefixUnaryExpression 2230238 2230271 - PrefixUnaryExpression 2230240 2230271 - PropertyAccessExpression 2230241 2230271 - Identifier 2230241 2230255 - QuestionDotToken 2230255 2230257 - Identifier 2230257 2230271 - IfStatement 2230272 2230535 - Identifier 2230292 2230306 - Block 2230307 2230535 - ExpressionStatement 2230309 2230375 - CallExpression 2230309 2230374 - PropertyAccessExpression 2230309 2230339 - Identifier 2230309 2230332 - Identifier 2230333 2230339 - CallExpression 2230340 2230373 - Identifier 2230340 2230352 - PropertyAccessExpression 2230353 2230372 - Identifier 2230353 2230367 - Identifier 2230368 2230372 - ReturnStatement 2230375 2230520 - ObjectLiteralExpression 2230399 2230519 - PropertyAssignment 2230401 2230432 - Identifier 2230401 2230411 - PropertyAccessExpression 2230412 2230432 - Identifier 2230412 2230427 - Identifier 2230428 2230432 - PropertyAssignment 2230433 2230480 - Identifier 2230433 2230447 - PropertyAccessExpression 2230448 2230480 - PropertyAccessExpression 2230448 2230468 - Identifier 2230448 2230463 - Identifier 2230464 2230468 - Identifier 2230469 2230480 - PropertyAssignment 2230481 2230517 - Identifier 2230481 2230497 - Identifier 2230498 2230517 - ReturnStatement 2230535 2230568 - Identifier 2230557 2230567 - IfStatement 2230579 2230738 - BinaryExpression 2230595 2230613 - Identifier 2230595 2230598 - EqualsEqualsEqualsToken 2230598 2230602 - Identifier 2230602 2230613 - Block 2230614 2230738 - ReturnStatement 2230616 2230727 - ObjectLiteralExpression 2230636 2230726 - PropertyAssignment 2230638 2230659 - Identifier 2230638 2230648 - Identifier 2230649 2230659 - PropertyAssignment 2230660 2230701 - Identifier 2230660 2230674 - PropertyAccessExpression 2230675 2230701 - Identifier 2230675 2230689 - Identifier 2230690 2230701 - PropertyAssignment 2230702 2230724 - Identifier 2230702 2230718 - TrueKeyword 2230719 2230724 - ReturnStatement 2230738 2230765 - Identifier 2230754 2230764 - FunctionDeclaration 2230772 2231006 - Identifier 2230788 2230822 - Parameter 2230823 2230837 - Identifier 2230823 2230829 - TypeReference 2230830 2230837 - Identifier 2230830 2230837 - Block 2230838 2231006 - ReturnStatement 2230840 2230999 - BinaryExpression 2230856 2230998 - BinaryExpression 2230856 2230966 - BinaryExpression 2230856 2230920 - PropertyAccessExpression 2230856 2230880 - Identifier 2230856 2230863 - Identifier 2230864 2230880 - AmpersandAmpersandToken 2230880 2230883 - CallExpression 2230883 2230920 - Identifier 2230883 2230895 - PropertyAccessExpression 2230896 2230919 - Identifier 2230896 2230902 - Identifier 2230903 2230919 - AmpersandAmpersandToken 2230920 2230923 - CallExpression 2230923 2230966 - Identifier 2230923 2230936 - PropertyAccessExpression 2230937 2230965 - PropertyAccessExpression 2230937 2230960 - Identifier 2230937 2230943 - Identifier 2230944 2230960 - Identifier 2230961 2230965 - AmpersandAmpersandToken 2230966 2230969 - PropertyAccessExpression 2230969 2230998 - PropertyAccessExpression 2230969 2230993 - Identifier 2230969 2230976 - Identifier 2230977 2230993 - Identifier 2230994 2230998 - FunctionDeclaration 2231006 2231259 - Identifier 2231020 2231052 - Parameter 2231053 2231067 - Identifier 2231053 2231054 - TypeReference 2231055 2231067 - Identifier 2231055 2231067 - TypePredicate 2231069 2231140 - Identifier 2231069 2231071 - UnionType 2231074 2231140 - TypeReference 2231074 2231091 - Identifier 2231074 2231091 - ParenthesizedType 2231093 2231140 - IntersectionType 2231095 2231139 - TypeReference 2231095 2231115 - Identifier 2231095 2231115 - TypeLiteral 2231117 2231139 - PropertySignature 2231119 2231137 - Identifier 2231119 2231124 - TypeReference 2231125 2231136 - Identifier 2231125 2231136 - Block 2231140 2231259 - ReturnStatement 2231142 2231252 - BinaryExpression 2231158 2231251 - BinaryExpression 2231158 2231197 - PropertyAccessExpression 2231158 2231165 - Identifier 2231158 2231160 - Identifier 2231161 2231165 - EqualsEqualsEqualsToken 2231165 2231169 - PropertyAccessExpression 2231169 2231197 - Identifier 2231169 2231180 - Identifier 2231181 2231197 - BarBarToken 2231197 2231200 - ParenthesizedExpression 2231200 2231251 - BinaryExpression 2231202 2231250 - BinaryExpression 2231202 2231226 - CallExpression 2231202 2231216 - Identifier 2231202 2231213 - Identifier 2231214 2231215 - AmpersandAmpersandToken 2231216 2231219 - PropertyAccessExpression 2231219 2231226 - Identifier 2231219 2231221 - Identifier 2231222 2231226 - AmpersandAmpersandToken 2231226 2231229 - CallExpression 2231229 2231250 - Identifier 2231229 2231242 - PropertyAccessExpression 2231243 2231249 - Identifier 2231243 2231244 - Identifier 2231245 2231249 - FunctionDeclaration 2231259 2232230 - Identifier 2231275 2231308 - Parameter 2231309 2231329 - Identifier 2231309 2231318 - TypeReference 2231319 2231329 - Identifier 2231319 2231329 - Parameter 2231330 2231342 - Identifier 2231330 2231334 - NumberKeyword 2231335 2231342 - Block 2231343 2232230 - VariableStatement 2231345 2231451 - VariableDeclarationList 2231345 2231450 - VariableDeclaration 2231360 2231450 - Identifier 2231360 2231371 - BinaryExpression 2231373 2231450 - PropertyAccessExpression 2231373 2231401 - PropertyAccessExpression 2231373 2231394 - Identifier 2231373 2231383 - Identifier 2231384 2231394 - Identifier 2231395 2231401 - MinusToken 2231401 2231403 - ParenthesizedExpression 2231403 2231450 - ConditionalExpression 2231405 2231449 - CallExpression 2231405 2231441 - Identifier 2231405 2231430 - Identifier 2231431 2231440 - QuestionToken 2231441 2231443 - NumericLiteral 2231443 2231445 - ColonToken 2231445 2231447 - NumericLiteral 2231447 2231449 - IfStatement 2231451 2231651 - BinaryExpression 2231465 2231481 - Identifier 2231465 2231468 - LessThanToken 2231468 2231470 - Identifier 2231470 2231481 - Block 2231482 2231651 - VariableStatement 2231484 2231554 - VariableDeclarationList 2231484 2231553 - VariableDeclaration 2231503 2231553 - Identifier 2231503 2231508 - PropertyAccessExpression 2231510 2231553 - ElementAccessExpression 2231510 2231536 - PropertyAccessExpression 2231510 2231531 - Identifier 2231510 2231520 - Identifier 2231521 2231531 - Identifier 2231532 2231535 - Identifier 2231537 2231553 - ReturnStatement 2231554 2231640 - ConditionalExpression 2231574 2231639 - BinaryExpression 2231574 2231620 - Identifier 2231574 2231579 - AmpersandAmpersandToken 2231579 2231582 - CallExpression 2231582 2231620 - Identifier 2231582 2231614 - Identifier 2231615 2231619 - QuestionToken 2231620 2231622 - Identifier 2231622 2231627 - ColonToken 2231627 2231629 - Identifier 2231629 2231639 - VariableStatement 2231651 2231733 - VariableDeclarationList 2231651 2231732 - VariableDeclaration 2231666 2231732 - Identifier 2231666 2231680 - BinaryExpression 2231682 2231732 - ElementAccessExpression 2231682 2231715 - PropertyAccessExpression 2231682 2231703 - Identifier 2231682 2231692 - Identifier 2231693 2231703 - Identifier 2231704 2231714 - BarBarToken 2231715 2231718 - Identifier 2231718 2231732 - VariableStatement 2231733 2231791 - VariableDeclarationList 2231733 2231790 - VariableDeclaration 2231748 2231790 - Identifier 2231748 2231757 - CallExpression 2231759 2231790 - Identifier 2231759 2231775 - Identifier 2231776 2231789 - IfStatement 2231791 2232063 - CallExpression 2231805 2231826 - Identifier 2231805 2231816 - Identifier 2231817 2231825 - Block 2231827 2232063 - VariableStatement 2231829 2231944 - VariableDeclarationList 2231829 2231943 - VariableDeclaration 2231848 2231943 - Identifier 2231848 2231864 - PropertyAccessExpression 2231866 2231943 - ParenthesizedExpression 2231866 2231916 - AsExpression 2231868 2231915 - PropertyAccessExpression 2231868 2231902 - ParenthesizedExpression 2231868 2231895 - AsExpression 2231869 2231894 - Identifier 2231869 2231877 - TypeReference 2231880 2231894 - Identifier 2231880 2231894 - Identifier 2231896 2231902 - TypeReference 2231905 2231915 - Identifier 2231905 2231915 - Identifier 2231917 2231943 - VariableStatement 2231944 2231989 - VariableDeclarationList 2231944 2231988 - VariableDeclaration 2231963 2231988 - Identifier 2231963 2231969 - BinaryExpression 2231971 2231988 - Identifier 2231971 2231975 - MinusToken 2231975 2231977 - Identifier 2231977 2231988 - ReturnStatement 2231989 2232052 - BinaryExpression 2232009 2232051 - Identifier 2232009 2232025 - AmpersandAmpersandToken 2232025 2232028 - ElementAccessExpression 2232028 2232051 - Identifier 2232028 2232044 - Identifier 2232045 2232050 - ReturnStatement 2232063 2232223 - ConditionalExpression 2232079 2232222 - BinaryExpression 2232079 2232177 - PropertyAccessExpression 2232079 2232110 - Identifier 2232079 2232093 - Identifier 2232094 2232110 - AmpersandAmpersandToken 2232110 2232113 - CallExpression 2232113 2232177 - Identifier 2232113 2232145 - PropertyAccessExpression 2232146 2232176 - Identifier 2232146 2232159 - Identifier 2232160 2232176 - QuestionToken 2232177 2232179 - PropertyAccessExpression 2232179 2232210 - Identifier 2232179 2232193 - Identifier 2232194 2232210 - ColonToken 2232210 2232212 - Identifier 2232212 2232222 - FunctionDeclaration 2232230 2232379 - Identifier 2232246 2232264 - Parameter 2232265 2232285 - Identifier 2232265 2232274 - TypeReference 2232275 2232285 - Identifier 2232275 2232285 - Parameter 2232286 2232298 - Identifier 2232286 2232290 - NumberKeyword 2232291 2232298 - TypeReference 2232300 2232305 - Identifier 2232300 2232305 - Block 2232305 2232379 - ReturnStatement 2232307 2232372 - BinaryExpression 2232323 2232371 - CallExpression 2232323 2232360 - Identifier 2232323 2232344 - Identifier 2232345 2232354 - Identifier 2232355 2232359 - BarBarToken 2232360 2232363 - Identifier 2232363 2232371 - FunctionDeclaration 2232379 2233399 - Identifier 2232395 2232416 - Parameter 2232417 2232437 - Identifier 2232417 2232426 - TypeReference 2232427 2232437 - Identifier 2232427 2232437 - Parameter 2232438 2232450 - Identifier 2232438 2232442 - NumberKeyword 2232443 2232450 - UnionType 2232452 2232469 - TypeReference 2232452 2232457 - Identifier 2232452 2232457 - UndefinedKeyword 2232459 2232469 - Block 2232469 2233399 - VariableStatement 2232471 2232577 - VariableDeclarationList 2232471 2232576 - VariableDeclaration 2232486 2232576 - Identifier 2232486 2232497 - BinaryExpression 2232499 2232576 - PropertyAccessExpression 2232499 2232527 - PropertyAccessExpression 2232499 2232520 - Identifier 2232499 2232509 - Identifier 2232510 2232520 - Identifier 2232521 2232527 - MinusToken 2232527 2232529 - ParenthesizedExpression 2232529 2232576 - ConditionalExpression 2232531 2232575 - CallExpression 2232531 2232567 - Identifier 2232531 2232556 - Identifier 2232557 2232566 - QuestionToken 2232567 2232569 - NumericLiteral 2232569 2232571 - ColonToken 2232571 2232573 - NumericLiteral 2232573 2232575 - IfStatement 2232577 2232688 - BinaryExpression 2232591 2232607 - Identifier 2232591 2232594 - LessThanToken 2232594 2232596 - Identifier 2232596 2232607 - Block 2232608 2232688 - ReturnStatement 2232610 2232677 - CallExpression 2232630 2232676 - Identifier 2232630 2232649 - ElementAccessExpression 2232650 2232675 - PropertyAccessExpression 2232650 2232670 - Identifier 2232650 2232659 - Identifier 2232660 2232670 - Identifier 2232671 2232674 - IfStatement 2232688 2233365 - CallExpression 2232702 2232738 - Identifier 2232702 2232727 - Identifier 2232728 2232737 - Block 2232739 2233365 - VariableStatement 2232741 2233070 - VariableDeclarationList 2232741 2233069 - VariableDeclaration 2233008 2233069 - Identifier 2233008 2233017 - CallExpression 2233019 2233069 - Identifier 2233019 2233035 - ElementAccessExpression 2233036 2233068 - PropertyAccessExpression 2233036 2233056 - Identifier 2233036 2233045 - Identifier 2233046 2233056 - Identifier 2233057 2233067 - VariableStatement 2233070 2233115 - VariableDeclarationList 2233070 2233114 - VariableDeclaration 2233089 2233114 - Identifier 2233089 2233095 - BinaryExpression 2233097 2233114 - Identifier 2233097 2233101 - MinusToken 2233101 2233103 - Identifier 2233103 2233114 - IfStatement 2233115 2233354 - BinaryExpression 2233133 2233251 - BinaryExpression 2233133 2233212 - PrefixUnaryExpression 2233133 2233155 - CallExpression 2233134 2233155 - Identifier 2233134 2233145 - Identifier 2233146 2233154 - BarBarToken 2233155 2233158 - BinaryExpression 2233158 2233212 - PropertyAccessExpression 2233158 2233188 - PropertyAccessExpression 2233158 2233174 - Identifier 2233158 2233167 - Identifier 2233168 2233174 - Identifier 2233175 2233188 - AmpersandToken 2233188 2233190 - PropertyAccessExpression 2233190 2233212 - Identifier 2233190 2233203 - Identifier 2233204 2233212 - BarBarToken 2233212 2233215 - BinaryExpression 2233215 2233251 - Identifier 2233215 2233221 - LessThanToken 2233221 2233223 - PropertyAccessExpression 2233223 2233251 - PropertyAccessExpression 2233223 2233239 - Identifier 2233223 2233232 - Identifier 2233233 2233239 - Identifier 2233240 2233251 - Block 2233252 2233354 - ReturnStatement 2233254 2233339 - CallExpression 2233278 2233338 - Identifier 2233278 2233299 - Identifier 2233300 2233308 - CallExpression 2233309 2233337 - Identifier 2233309 2233330 - Identifier 2233331 2233336 - ReturnStatement 2233365 2233392 - Identifier 2233381 2233391 - FunctionDeclaration 2233399 2234503 - Identifier 2233415 2233437 - Parameter 2233438 2233455 - Identifier 2233438 2233444 - TypeReference 2233445 2233455 - Identifier 2233445 2233455 - Parameter 2233456 2233468 - Identifier 2233456 2233460 - NumberKeyword 2233461 2233468 - Parameter 2233469 2233488 - Identifier 2233469 2233478 - QuestionToken 2233478 2233479 - BooleanKeyword 2233480 2233488 - TypeReference 2233490 2233495 - Identifier 2233490 2233495 - Block 2233495 2234503 - VariableStatement 2233497 2233556 - VariableDeclarationList 2233497 2233555 - VariableDeclaration 2233512 2233555 - Identifier 2233512 2233527 - CallExpression 2233529 2233555 - Identifier 2233529 2233547 - Identifier 2233548 2233554 - VariableStatement 2233556 2233619 - VariableDeclarationList 2233556 2233618 - VariableDeclaration 2233571 2233618 - Identifier 2233571 2233588 - CallExpression 2233590 2233618 - Identifier 2233590 2233610 - Identifier 2233611 2233617 - VariableStatement 2233619 2233675 - VariableDeclarationList 2233619 2233674 - VariableDeclaration 2233634 2233674 - Identifier 2233634 2233643 - CallExpression 2233645 2233674 - Identifier 2233645 2233666 - Identifier 2233667 2233673 - IfStatement 2233675 2233861 - BinaryExpression 2233689 2233726 - Identifier 2233689 2233697 - AmpersandAmpersandToken 2233697 2233700 - BinaryExpression 2233700 2233726 - Identifier 2233700 2233704 - GreaterThanEqualsToken 2233704 2233707 - BinaryExpression 2233707 2233726 - Identifier 2233707 2233722 - MinusToken 2233722 2233724 - NumericLiteral 2233724 2233726 - Block 2233727 2233861 - ReturnStatement 2233729 2233850 - ConditionalExpression 2233749 2233849 - BinaryExpression 2233749 2233776 - Identifier 2233749 2233753 - EqualsEqualsEqualsToken 2233753 2233757 - BinaryExpression 2233757 2233776 - Identifier 2233757 2233772 - MinusToken 2233772 2233774 - NumericLiteral 2233774 2233776 - QuestionToken 2233776 2233778 - Identifier 2233778 2233787 - ColonToken 2233787 2233789 - CallExpression 2233789 2233849 - Identifier 2233789 2233805 - CallExpression 2233806 2233848 - Identifier 2233806 2233826 - Identifier 2233827 2233835 - Identifier 2233836 2233847 - VariableStatement 2233861 2233888 - VariableDeclarationList 2233861 2233887 - VariableDeclaration 2233876 2233887 - Identifier 2233876 2233882 - ArrayLiteralExpression 2233884 2233887 - VariableStatement 2233888 2233915 - VariableDeclarationList 2233888 2233914 - VariableDeclaration 2233903 2233914 - Identifier 2233903 2233909 - ArrayLiteralExpression 2233911 2233914 - VariableStatement 2233915 2233942 - VariableDeclarationList 2233915 2233941 - VariableDeclaration 2233930 2233941 - Identifier 2233930 2233936 - ArrayLiteralExpression 2233938 2233941 - ForStatement 2233942 2234432 - VariableDeclarationList 2233957 2233968 - VariableDeclaration 2233960 2233968 - Identifier 2233960 2233962 - Identifier 2233964 2233968 - BinaryExpression 2233969 2233988 - Identifier 2233969 2233971 - LessThanToken 2233971 2233973 - Identifier 2233973 2233988 - PostfixUnaryExpression 2233989 2233993 - Identifier 2233989 2233991 - Block 2233994 2234432 - IfStatement 2233996 2234351 - BinaryExpression 2234014 2234049 - PrefixUnaryExpression 2234014 2234023 - Identifier 2234015 2234023 - BarBarToken 2234023 2234026 - BinaryExpression 2234026 2234049 - Identifier 2234026 2234028 - LessThanToken 2234028 2234030 - BinaryExpression 2234030 2234049 - Identifier 2234030 2234045 - MinusToken 2234045 2234047 - NumericLiteral 2234047 2234049 - Block 2234050 2234225 - ExpressionStatement 2234052 2234111 - CallExpression 2234052 2234110 - PropertyAccessExpression 2234052 2234080 - Identifier 2234052 2234075 - Identifier 2234076 2234080 - CallExpression 2234081 2234109 - Identifier 2234081 2234098 - Identifier 2234099 2234105 - Identifier 2234106 2234108 - ExpressionStatement 2234111 2234210 - CallExpression 2234111 2234209 - PropertyAccessExpression 2234111 2234139 - Identifier 2234111 2234134 - Identifier 2234135 2234139 - ConditionalExpression 2234140 2234208 - BinaryExpression 2234140 2234160 - Identifier 2234140 2234141 - LessThanToken 2234141 2234143 - Identifier 2234143 2234160 - QuestionToken 2234160 2234162 - PropertyAccessExpression 2234162 2234184 - Identifier 2234162 2234175 - Identifier 2234176 2234184 - ColonToken 2234184 2234186 - PropertyAccessExpression 2234186 2234208 - Identifier 2234186 2234199 - Identifier 2234200 2234208 - Block 2234243 2234351 - ExpressionStatement 2234245 2234284 - CallExpression 2234245 2234283 - PropertyAccessExpression 2234245 2234273 - Identifier 2234245 2234268 - Identifier 2234269 2234273 - Identifier 2234274 2234282 - ExpressionStatement 2234284 2234336 - CallExpression 2234284 2234335 - PropertyAccessExpression 2234284 2234312 - Identifier 2234284 2234307 - Identifier 2234308 2234312 - PropertyAccessExpression 2234313 2234334 - Identifier 2234313 2234325 - Identifier 2234326 2234334 - ExpressionStatement 2234351 2234421 - CallExpression 2234351 2234420 - PropertyAccessExpression 2234351 2234375 - Identifier 2234351 2234370 - Identifier 2234371 2234375 - CallExpression 2234376 2234419 - Identifier 2234376 2234408 - Identifier 2234409 2234415 - Identifier 2234416 2234418 - ReturnStatement 2234432 2234496 - CallExpression 2234448 2234495 - Identifier 2234448 2234464 - Identifier 2234465 2234470 - Identifier 2234471 2234477 - Identifier 2234478 2234487 - Identifier 2234488 2234494 - FunctionDeclaration 2234503 2235083 - Identifier 2234793 2234820 - Parameter 2234821 2234838 - Identifier 2234821 2234827 - TypeReference 2234828 2234838 - Identifier 2234828 2234838 - Parameter 2234839 2234851 - Identifier 2234839 2234843 - NumberKeyword 2234844 2234851 - TypeReference 2234853 2234858 - Identifier 2234853 2234858 - Block 2234858 2235083 - VariableStatement 2234860 2234922 - VariableDeclarationList 2234860 2234921 - VariableDeclaration 2234875 2234921 - Identifier 2234875 2234884 - CallExpression 2234886 2234921 - Identifier 2234886 2234908 - Identifier 2234909 2234915 - Identifier 2234916 2234920 - VariableStatement 2234922 2235000 - VariableDeclarationList 2234922 2234999 - VariableDeclaration 2234937 2234999 - Identifier 2234937 2234949 - BinaryExpression 2234951 2234999 - Identifier 2234951 2234960 - AmpersandAmpersandToken 2234960 2234963 - CallExpression 2234963 2234999 - Identifier 2234963 2234989 - Identifier 2234990 2234998 - ReturnStatement 2235000 2235076 - ConditionalExpression 2235016 2235075 - BinaryExpression 2235016 2235054 - Identifier 2235016 2235028 - AmpersandAmpersandToken 2235028 2235031 - CallExpression 2235031 2235054 - Identifier 2235031 2235041 - Identifier 2235042 2235053 - QuestionToken 2235054 2235056 - Identifier 2235056 2235064 - ColonToken 2235064 2235066 - Identifier 2235066 2235075 - FunctionDeclaration 2235083 2235938 - Identifier 2235482 2235500 - Parameter 2235501 2235521 - Identifier 2235501 2235510 - TypeReference 2235511 2235521 - Identifier 2235511 2235521 - Block 2235522 2235938 - VariableStatement 2235524 2235577 - VariableDeclarationList 2235524 2235576 - VariableDeclaration 2235539 2235576 - Identifier 2235539 2235546 - PropertyAccessExpression 2235548 2235576 - PropertyAccessExpression 2235548 2235569 - Identifier 2235548 2235558 - Identifier 2235559 2235569 - Identifier 2235570 2235576 - IfStatement 2235577 2235907 - CallExpression 2235591 2235627 - Identifier 2235591 2235616 - Identifier 2235617 2235626 - Block 2235628 2235907 - VariableStatement 2235630 2235711 - VariableDeclarationList 2235630 2235710 - VariableDeclaration 2235649 2235710 - Identifier 2235649 2235658 - CallExpression 2235660 2235710 - Identifier 2235660 2235676 - ElementAccessExpression 2235677 2235709 - PropertyAccessExpression 2235677 2235697 - Identifier 2235677 2235686 - Identifier 2235687 2235697 - BinaryExpression 2235698 2235708 - Identifier 2235698 2235704 - MinusToken 2235704 2235706 - NumericLiteral 2235706 2235708 - IfStatement 2235711 2235896 - CallExpression 2235729 2235750 - Identifier 2235729 2235740 - Identifier 2235741 2235749 - Block 2235751 2235896 - ReturnStatement 2235753 2235881 - BinaryExpression 2235777 2235880 - BinaryExpression 2235777 2235814 - Identifier 2235777 2235784 - PlusToken 2235784 2235786 - PropertyAccessExpression 2235786 2235814 - PropertyAccessExpression 2235786 2235802 - Identifier 2235786 2235795 - Identifier 2235796 2235802 - Identifier 2235803 2235814 - MinusToken 2235814 2235816 - ParenthesizedExpression 2235816 2235880 - ConditionalExpression 2235818 2235879 - BinaryExpression 2235818 2235871 - PropertyAccessExpression 2235818 2235847 - PropertyAccessExpression 2235818 2235833 - Identifier 2235818 2235826 - Identifier 2235827 2235833 - Identifier 2235834 2235847 - AmpersandToken 2235847 2235849 - PropertyAccessExpression 2235849 2235871 - Identifier 2235849 2235862 - Identifier 2235863 2235871 - QuestionToken 2235871 2235873 - NumericLiteral 2235873 2235875 - ColonToken 2235875 2235877 - NumericLiteral 2235877 2235879 - ReturnStatement 2235907 2235931 - Identifier 2235923 2235930 - FunctionDeclaration 2235938 2237829 - Identifier 2235954 2235974 - Parameter 2235975 2235995 - Identifier 2235975 2235984 - TypeReference 2235985 2235995 - Identifier 2235985 2235995 - Parameter 2235996 2236026 - Identifier 2235996 2236002 - QuestionToken 2236002 2236003 - TypeReference 2236004 2236026 - Identifier 2236004 2236026 - Block 2236027 2237829 - VariableStatement 2236029 2236126 - VariableDeclarationList 2236029 2236125 - VariableDeclaration 2236044 2236125 - Identifier 2236044 2236068 - BinaryExpression 2236070 2236125 - NonNullExpression 2236070 2236077 - Identifier 2236070 2236076 - AmpersandToken 2236077 2236079 - PropertyAccessExpression 2236079 2236125 - Identifier 2236079 2236101 - Identifier 2236102 2236125 - VariableStatement 2236126 2236211 - VariableDeclarationList 2236126 2236210 - VariableDeclaration 2236141 2236210 - Identifier 2236141 2236159 - BinaryExpression 2236161 2236210 - NonNullExpression 2236161 2236168 - Identifier 2236161 2236167 - AmpersandToken 2236168 2236170 - PropertyAccessExpression 2236170 2236210 - Identifier 2236170 2236192 - Identifier 2236193 2236210 - IfStatement 2236211 2237770 - BinaryExpression 2236225 2236294 - Identifier 2236225 2236242 - BarBarToken 2236242 2236245 - BinaryExpression 2236245 2236294 - PropertyAccessExpression 2236245 2236280 - Identifier 2236245 2236255 - Identifier 2236256 2236280 - EqualsEqualsEqualsToken 2236280 2236284 - Identifier 2236284 2236294 - Block 2236295 2237770 - VariableStatement 2236297 2236352 - VariableDeclarationList 2236297 2236351 - VariableDeclaration 2236314 2236351 - Identifier 2236314 2236331 - UnionType 2236332 2236351 - NumberKeyword 2236332 2236339 - UndefinedKeyword 2236341 2236351 - IfStatement 2236352 2236999 - CallExpression 2236370 2236406 - Identifier 2236370 2236395 - Identifier 2236396 2236405 - Block 2236407 2236999 - VariableStatement 2236409 2236515 - VariableDeclarationList 2236409 2236514 - VariableDeclaration 2236432 2236514 - Identifier 2236432 2236441 - CallExpression 2236443 2236514 - Identifier 2236443 2236459 - ElementAccessExpression 2236460 2236513 - PropertyAccessExpression 2236460 2236480 - Identifier 2236460 2236469 - Identifier 2236470 2236480 - BinaryExpression 2236481 2236512 - PropertyAccessExpression 2236481 2236508 - PropertyAccessExpression 2236481 2236501 - Identifier 2236481 2236490 - Identifier 2236491 2236501 - Identifier 2236502 2236508 - MinusToken 2236508 2236510 - NumericLiteral 2236510 2236512 - IfStatement 2236515 2236984 - CallExpression 2236537 2236558 - Identifier 2236537 2236548 - Identifier 2236549 2236557 - Block 2236559 2236984 - VariableStatement 2236561 2236685 - VariableDeclarationList 2236561 2236684 - VariableDeclaration 2236588 2236684 - Identifier 2236588 2236607 - CallExpression 2236609 2236684 - Identifier 2236609 2236619 - PropertyAccessExpression 2236620 2236648 - PropertyAccessExpression 2236620 2236635 - Identifier 2236620 2236628 - Identifier 2236629 2236635 - Identifier 2236636 2236648 - ArrowFunction 2236649 2236683 - Parameter 2236649 2236651 - Identifier 2236649 2236651 - EqualsGreaterThanToken 2236651 2236654 - PrefixUnaryExpression 2236654 2236683 - ParenthesizedExpression 2236656 2236683 - BinaryExpression 2236657 2236682 - Identifier 2236657 2236658 - AmpersandToken 2236658 2236660 - PropertyAccessExpression 2236660 2236682 - Identifier 2236660 2236673 - Identifier 2236674 2236682 - VariableStatement 2236685 2236803 - VariableDeclarationList 2236685 2236802 - VariableDeclaration 2236712 2236802 - Identifier 2236712 2236726 - ConditionalExpression 2236728 2236802 - BinaryExpression 2236728 2236751 - Identifier 2236728 2236747 - LessThanToken 2236747 2236749 - NumericLiteral 2236749 2236751 - QuestionToken 2236751 2236753 - PropertyAccessExpression 2236753 2236781 - PropertyAccessExpression 2236753 2236769 - Identifier 2236753 2236762 - Identifier 2236763 2236769 - Identifier 2236770 2236781 - ColonToken 2236781 2236783 - Identifier 2236783 2236802 - IfStatement 2236803 2236965 - BinaryExpression 2236829 2236846 - Identifier 2236829 2236842 - GreaterThanToken 2236842 2236844 - NumericLiteral 2236844 2236846 - Block 2236847 2236965 - ExpressionStatement 2236849 2236942 - BinaryExpression 2236849 2236941 - Identifier 2236849 2236891 - EqualsToken 2236891 2236893 - BinaryExpression 2236893 2236941 - BinaryExpression 2236893 2236925 - PropertyAccessExpression 2236893 2236921 - PropertyAccessExpression 2236893 2236914 - Identifier 2236893 2236903 - Identifier 2236904 2236914 - Identifier 2236915 2236921 - MinusToken 2236921 2236923 - NumericLiteral 2236923 2236925 - PlusToken 2236925 2236927 - Identifier 2236927 2236941 - IfStatement 2236999 2237291 - BinaryExpression 2237017 2237047 - Identifier 2237017 2237033 - EqualsEqualsEqualsToken 2237033 2237037 - Identifier 2237037 2237047 - Block 2237048 2237291 - IfStatement 2237050 2237212 - BinaryExpression 2237072 2237159 - PrefixUnaryExpression 2237072 2237096 - Identifier 2237073 2237096 - AmpersandAmpersandToken 2237096 2237099 - BinaryExpression 2237099 2237159 - PropertyAccessExpression 2237099 2237115 - Identifier 2237099 2237109 - Identifier 2237110 2237115 - AmpersandToken 2237115 2237117 - PropertyAccessExpression 2237117 2237159 - Identifier 2237117 2237132 - Identifier 2237133 2237159 - Block 2237160 2237212 - ReturnStatement 2237162 2237193 - NumericLiteral 2237190 2237192 - ExpressionStatement 2237212 2237276 - BinaryExpression 2237212 2237275 - Identifier 2237212 2237246 - EqualsToken 2237246 2237248 - PropertyAccessExpression 2237248 2237275 - Identifier 2237248 2237258 - Identifier 2237259 2237275 - IfStatement 2237291 2237386 - Identifier 2237309 2237326 - Block 2237327 2237386 - ReturnStatement 2237329 2237371 - Identifier 2237353 2237370 - ForStatement 2237386 2237691 - VariableDeclarationList 2237405 2237433 - VariableDeclaration 2237408 2237433 - Identifier 2237408 2237410 - BinaryExpression 2237412 2237433 - Identifier 2237412 2237429 - MinusToken 2237429 2237431 - NumericLiteral 2237431 2237433 - BinaryExpression 2237434 2237441 - Identifier 2237434 2237436 - GreaterThanEqualsToken 2237436 2237439 - NumericLiteral 2237439 2237441 - PostfixUnaryExpression 2237442 2237446 - Identifier 2237442 2237444 - Block 2237447 2237691 - VariableStatement 2237449 2237512 - VariableDeclarationList 2237449 2237511 - VariableDeclaration 2237472 2237511 - Identifier 2237472 2237477 - CallExpression 2237479 2237511 - Identifier 2237479 2237497 - Identifier 2237498 2237507 - Identifier 2237508 2237510 - IfStatement 2237512 2237637 - BinaryExpression 2237534 2237587 - PropertyAccessExpression 2237534 2237569 - CallExpression 2237534 2237563 - Identifier 2237534 2237544 - Identifier 2237545 2237549 - Identifier 2237550 2237562 - Identifier 2237564 2237569 - AmpersandToken 2237569 2237571 - PropertyAccessExpression 2237571 2237587 - Identifier 2237571 2237581 - Identifier 2237582 2237587 - Block 2237588 2237637 - BreakStatement 2237590 2237618 - ExpressionStatement 2237637 2237676 - BinaryExpression 2237637 2237675 - Identifier 2237637 2237671 - EqualsToken 2237671 2237673 - Identifier 2237673 2237675 - ExpressionStatement 2237691 2237759 - BinaryExpression 2237691 2237758 - PropertyAccessExpression 2237691 2237739 - Identifier 2237691 2237714 - Identifier 2237715 2237739 - EqualsToken 2237739 2237741 - Identifier 2237741 2237758 - ReturnStatement 2237770 2237822 - PropertyAccessExpression 2237786 2237821 - Identifier 2237786 2237796 - Identifier 2237797 2237821 - FunctionDeclaration 2237829 2238196 - Identifier 2237845 2237871 - Parameter 2237872 2237892 - Identifier 2237872 2237881 - TypeReference 2237882 2237892 - Identifier 2237882 2237892 - Block 2237893 2238196 - IfStatement 2237895 2238166 - CallExpression 2237909 2237945 - Identifier 2237909 2237934 - Identifier 2237935 2237944 - Block 2237946 2238166 - VariableStatement 2237948 2238050 - VariableDeclarationList 2237948 2238049 - VariableDeclaration 2237967 2238049 - Identifier 2237967 2237976 - CallExpression 2237978 2238049 - Identifier 2237978 2237994 - ElementAccessExpression 2237995 2238048 - PropertyAccessExpression 2237995 2238015 - Identifier 2237995 2238004 - Identifier 2238005 2238015 - BinaryExpression 2238016 2238047 - PropertyAccessExpression 2238016 2238043 - PropertyAccessExpression 2238016 2238036 - Identifier 2238016 2238025 - Identifier 2238026 2238036 - Identifier 2238037 2238043 - MinusToken 2238043 2238045 - NumericLiteral 2238045 2238047 - ReturnStatement 2238050 2238155 - BinaryExpression 2238070 2238154 - PrefixUnaryExpression 2238070 2238093 - CallExpression 2238072 2238093 - Identifier 2238072 2238083 - Identifier 2238084 2238092 - BarBarToken 2238093 2238096 - PrefixUnaryExpression 2238096 2238154 - PrefixUnaryExpression 2238098 2238154 - ParenthesizedExpression 2238099 2238154 - BinaryExpression 2238100 2238153 - PropertyAccessExpression 2238100 2238129 - PropertyAccessExpression 2238100 2238115 - Identifier 2238100 2238108 - Identifier 2238109 2238115 - Identifier 2238116 2238129 - AmpersandToken 2238129 2238131 - PropertyAccessExpression 2238131 2238153 - Identifier 2238131 2238144 - Identifier 2238145 2238153 - ReturnStatement 2238166 2238189 - FalseKeyword 2238182 2238188 - FunctionDeclaration 2238196 2238754 - Identifier 2238212 2238233 - Parameter 2238234 2238254 - Identifier 2238234 2238243 - TypeReference 2238244 2238254 - Identifier 2238244 2238254 - Block 2238255 2238754 - IfStatement 2238257 2238720 - CallExpression 2238271 2238307 - Identifier 2238271 2238296 - Identifier 2238297 2238306 - Block 2238308 2238720 - VariableStatement 2238310 2238412 - VariableDeclarationList 2238310 2238411 - VariableDeclaration 2238329 2238411 - Identifier 2238329 2238338 - CallExpression 2238340 2238411 - Identifier 2238340 2238356 - ElementAccessExpression 2238357 2238410 - PropertyAccessExpression 2238357 2238377 - Identifier 2238357 2238366 - Identifier 2238367 2238377 - BinaryExpression 2238378 2238409 - PropertyAccessExpression 2238378 2238405 - PropertyAccessExpression 2238378 2238398 - Identifier 2238378 2238387 - Identifier 2238388 2238398 - Identifier 2238399 2238405 - MinusToken 2238405 2238407 - NumericLiteral 2238407 2238409 - IfStatement 2238412 2238541 - PrefixUnaryExpression 2238430 2238452 - CallExpression 2238431 2238452 - Identifier 2238431 2238442 - Identifier 2238443 2238451 - Block 2238453 2238541 - ReturnStatement 2238455 2238526 - ConditionalExpression 2238479 2238525 - CallExpression 2238479 2238499 - Identifier 2238479 2238489 - Identifier 2238490 2238498 - QuestionToken 2238499 2238501 - Identifier 2238501 2238514 - ColonToken 2238514 2238516 - Identifier 2238516 2238525 - IfStatement 2238541 2238709 - BinaryExpression 2238559 2238612 - PropertyAccessExpression 2238559 2238588 - PropertyAccessExpression 2238559 2238574 - Identifier 2238559 2238567 - Identifier 2238568 2238574 - Identifier 2238575 2238588 - AmpersandToken 2238588 2238590 - PropertyAccessExpression 2238590 2238612 - Identifier 2238590 2238603 - Identifier 2238604 2238612 - Block 2238613 2238709 - ReturnStatement 2238615 2238694 - CallExpression 2238639 2238693 - Identifier 2238639 2238654 - Identifier 2238655 2238663 - PropertyAccessExpression 2238664 2238692 - PropertyAccessExpression 2238664 2238680 - Identifier 2238664 2238673 - Identifier 2238674 2238680 - Identifier 2238681 2238692 - ReturnStatement 2238720 2238747 - Identifier 2238736 2238746 - FunctionDeclaration 2238754 2238979 - Identifier 2238770 2238790 - Parameter 2238791 2238811 - Identifier 2238791 2238800 - TypeReference 2238801 2238811 - Identifier 2238801 2238811 - Block 2238812 2238979 - VariableStatement 2238814 2238873 - VariableDeclarationList 2238814 2238872 - VariableDeclaration 2238829 2238872 - Identifier 2238829 2238838 - CallExpression 2238840 2238872 - Identifier 2238840 2238861 - Identifier 2238862 2238871 - ReturnStatement 2238873 2238972 - ConditionalExpression 2238889 2238971 - BinaryExpression 2238889 2238948 - BinaryExpression 2238889 2238924 - Identifier 2238889 2238898 - AmpersandAmpersandToken 2238898 2238901 - PrefixUnaryExpression 2238901 2238924 - CallExpression 2238903 2238924 - Identifier 2238903 2238914 - Identifier 2238915 2238923 - AmpersandAmpersandToken 2238924 2238927 - PrefixUnaryExpression 2238927 2238948 - CallExpression 2238929 2238948 - Identifier 2238929 2238938 - Identifier 2238939 2238947 - QuestionToken 2238948 2238950 - Identifier 2238950 2238959 - ColonToken 2238959 2238961 - Identifier 2238961 2238971 - FunctionDeclaration 2238979 2239147 - Identifier 2238995 2239030 - Parameter 2239031 2239051 - Identifier 2239031 2239040 - TypeReference 2239041 2239051 - Identifier 2239041 2239051 - Block 2239052 2239147 - ReturnStatement 2239054 2239140 - CallExpression 2239070 2239139 - Identifier 2239070 2239117 - Identifier 2239118 2239127 - Identifier 2239128 2239138 - FunctionDeclaration 2239147 2239359 - Identifier 2239163 2239210 - Parameter 2239211 2239231 - Identifier 2239211 2239220 - TypeReference 2239221 2239231 - Identifier 2239221 2239231 - Parameter 2239232 2239251 - Identifier 2239232 2239245 - TypeReference 2239246 2239251 - Identifier 2239246 2239251 - Block 2239252 2239359 - ReturnStatement 2239254 2239352 - ConditionalExpression 2239270 2239351 - BinaryExpression 2239270 2239302 - PropertyAccessExpression 2239270 2239298 - PropertyAccessExpression 2239270 2239291 - Identifier 2239270 2239280 - Identifier 2239281 2239291 - Identifier 2239292 2239298 - GreaterThanToken 2239298 2239300 - NumericLiteral 2239300 2239302 - QuestionToken 2239302 2239304 - CallExpression 2239304 2239336 - Identifier 2239304 2239322 - Identifier 2239323 2239332 - NumericLiteral 2239333 2239335 - ColonToken 2239336 2239338 - Identifier 2239338 2239351 - FunctionDeclaration 2239359 2240473 - Identifier 2239375 2239413 - Parameter 2239414 2239434 - Identifier 2239414 2239423 - TypeReference 2239424 2239434 - Identifier 2239424 2239434 - Parameter 2239435 2239454 - Identifier 2239435 2239443 - TypeReference 2239444 2239454 - Identifier 2239444 2239454 - Parameter 2239455 2239490 - Identifier 2239455 2239472 - TypeReference 2239473 2239490 - Identifier 2239473 2239490 - Block 2239491 2240473 - VariableStatement 2239493 2239592 - VariableDeclarationList 2239493 2239591 - VariableDeclaration 2239508 2239591 - Identifier 2239508 2239512 - BinaryExpression 2239514 2239591 - PropertyAccessExpression 2239514 2239542 - PropertyAccessExpression 2239514 2239535 - Identifier 2239514 2239524 - Identifier 2239525 2239535 - Identifier 2239536 2239542 - MinusToken 2239542 2239544 - ParenthesizedExpression 2239544 2239591 - ConditionalExpression 2239546 2239590 - CallExpression 2239546 2239582 - Identifier 2239546 2239571 - Identifier 2239572 2239581 - QuestionToken 2239582 2239584 - NumericLiteral 2239584 2239586 - ColonToken 2239586 2239588 - NumericLiteral 2239588 2239590 - ForStatement 2239592 2240136 - VariableDeclarationList 2239607 2239616 - VariableDeclaration 2239610 2239616 - Identifier 2239610 2239612 - NumericLiteral 2239614 2239616 - BinaryExpression 2239617 2239625 - Identifier 2239617 2239619 - LessThanToken 2239619 2239621 - Identifier 2239621 2239625 - PostfixUnaryExpression 2239626 2239630 - Identifier 2239626 2239628 - Block 2239631 2240136 - VariableStatement 2239633 2239732 - VariableDeclarationList 2239633 2239731 - VariableDeclaration 2239652 2239731 - Identifier 2239652 2239664 - AsExpression 2239666 2239731 - PropertyAccessExpression 2239666 2239707 - ElementAccessExpression 2239666 2239690 - PropertyAccessExpression 2239666 2239687 - Identifier 2239666 2239676 - Identifier 2239677 2239687 - Identifier 2239688 2239689 - Identifier 2239691 2239707 - TypeReference 2239710 2239731 - Identifier 2239710 2239731 - VariableStatement 2239732 2239807 - VariableDeclarationList 2239732 2239806 - VariableDeclaration 2239751 2239806 - Identifier 2239751 2239760 - CallExpression 2239762 2239806 - Identifier 2239762 2239793 - Identifier 2239794 2239805 - IfStatement 2239807 2240125 - Identifier 2239825 2239833 - Block 2239834 2240125 - VariableStatement 2239836 2239973 - VariableDeclarationList 2239836 2239972 - VariableDeclaration 2239859 2239972 - Identifier 2239859 2239866 - CallExpression 2239868 2239972 - Identifier 2239868 2239883 - CallExpression 2239884 2239913 - Identifier 2239884 2239903 - Identifier 2239904 2239912 - FalseKeyword 2239914 2239935 - CallExpression 2239936 2239971 - Identifier 2239936 2239958 - Identifier 2239959 2239970 - VariableStatement 2239973 2240036 - VariableDeclarationList 2239973 2240035 - VariableDeclaration 2239996 2240035 - Identifier 2239996 2240003 - CallExpression 2240005 2240035 - Identifier 2240005 2240023 - Identifier 2240024 2240031 - Identifier 2240032 2240034 - ExpressionStatement 2240036 2240110 - CallExpression 2240036 2240109 - Identifier 2240036 2240064 - PropertyAccessExpression 2240065 2240092 - Identifier 2240065 2240081 - Identifier 2240082 2240092 - Identifier 2240093 2240100 - Identifier 2240101 2240108 - VariableStatement 2240136 2240238 - VariableDeclarationList 2240136 2240237 - VariableDeclaration 2240151 2240237 - Identifier 2240151 2240160 - BinaryExpression 2240162 2240237 - PropertyAccessExpression 2240162 2240184 - Identifier 2240162 2240172 - Identifier 2240173 2240184 - AmpersandAmpersandToken 2240184 2240187 - CallExpression 2240187 2240237 - Identifier 2240187 2240214 - PropertyAccessExpression 2240215 2240236 - Identifier 2240215 2240224 - Identifier 2240225 2240236 - IfStatement 2240238 2240466 - Identifier 2240252 2240260 - Block 2240261 2240466 - VariableStatement 2240263 2240322 - VariableDeclarationList 2240263 2240321 - VariableDeclaration 2240282 2240321 - Identifier 2240282 2240289 - CallExpression 2240291 2240321 - Identifier 2240291 2240311 - Identifier 2240312 2240320 - VariableStatement 2240322 2240385 - VariableDeclarationList 2240322 2240384 - VariableDeclaration 2240341 2240384 - Identifier 2240341 2240348 - CallExpression 2240350 2240384 - Identifier 2240350 2240375 - Identifier 2240376 2240383 - ExpressionStatement 2240385 2240455 - CallExpression 2240385 2240454 - Identifier 2240385 2240409 - PropertyAccessExpression 2240410 2240437 - Identifier 2240410 2240426 - Identifier 2240427 2240437 - Identifier 2240438 2240445 - Identifier 2240446 2240453 - FunctionDeclaration 2240473 2243244 - Identifier 2240489 2240520 - Parameter 2240521 2240541 - Identifier 2240521 2240530 - TypeReference 2240531 2240541 - Identifier 2240531 2240541 - Parameter 2240542 2240561 - Identifier 2240542 2240550 - TypeReference 2240551 2240561 - Identifier 2240551 2240561 - Block 2240562 2243244 - IfStatement 2240564 2240888 - PropertyAccessExpression 2240578 2240600 - Identifier 2240578 2240585 - Identifier 2240586 2240600 - Block 2240601 2240888 - IfStatement 2240603 2240877 - PrefixUnaryExpression 2240621 2240646 - PropertyAccessExpression 2240622 2240646 - Identifier 2240622 2240631 - Identifier 2240632 2240646 - Block 2240647 2240732 - ExpressionStatement 2240649 2240717 - BinaryExpression 2240649 2240716 - PropertyAccessExpression 2240649 2240691 - Identifier 2240649 2240676 - Identifier 2240677 2240691 - EqualsToken 2240691 2240693 - PropertyAccessExpression 2240693 2240716 - Identifier 2240693 2240701 - Identifier 2240702 2240716 - Block 2240750 2240877 - ReturnStatement 2240752 2240777 - IfStatement 2240888 2241401 - PropertyAccessExpression 2240902 2240923 - Identifier 2240902 2240909 - Identifier 2240910 2240923 - Block 2240924 2241401 - VariableStatement 2240926 2240982 - VariableDeclarationList 2240926 2240981 - VariableDeclaration 2240945 2240981 - Identifier 2240945 2240955 - PropertyAccessExpression 2240957 2240981 - Identifier 2240957 2240967 - Identifier 2240968 2240981 - IfStatement 2240982 2241390 - BinaryExpression 2241000 2241102 - PrefixUnaryExpression 2241000 2241010 - Identifier 2241001 2241010 - BarBarToken 2241010 2241013 - BinaryExpression 2241013 2241102 - PropertyAccessExpression 2241013 2241040 - Identifier 2241013 2241023 - Identifier 2241024 2241040 - AmpersandAmpersandToken 2241040 2241043 - PrefixUnaryExpression 2241043 2241102 - PropertyAccessExpression 2241045 2241102 - ParenthesizedExpression 2241045 2241097 - AsExpression 2241046 2241096 - PropertyAccessExpression 2241046 2241072 - Identifier 2241046 2241055 - Identifier 2241056 2241072 - TypeReference 2241075 2241096 - Identifier 2241075 2241096 - Identifier 2241098 2241102 - Block 2241103 2241390 - IfStatement 2241105 2241271 - PrefixUnaryExpression 2241127 2241137 - Identifier 2241128 2241137 - Block 2241138 2241271 - ExpressionStatement 2241140 2241252 - BinaryExpression 2241140 2241251 - PropertyAccessExpression 2241140 2241185 - Identifier 2241140 2241171 - Identifier 2241172 2241185 - EqualsToken 2241185 2241187 - CallExpression 2241187 2241251 - Identifier 2241187 2241208 - PropertyAccessExpression 2241209 2241230 - Identifier 2241209 2241216 - Identifier 2241217 2241230 - Identifier 2241231 2241250 - ExpressionStatement 2241271 2241375 - CallExpression 2241271 2241374 - Identifier 2241271 2241308 - NonNullExpression 2241309 2241333 - PropertyAccessExpression 2241309 2241332 - Identifier 2241309 2241318 - Identifier 2241319 2241332 - CallExpression 2241334 2241373 - Identifier 2241334 2241350 - PropertyAccessExpression 2241351 2241372 - Identifier 2241351 2241358 - Identifier 2241359 2241372 - VariableStatement 2241401 2241500 - VariableDeclarationList 2241401 2241499 - VariableDeclaration 2241416 2241499 - Identifier 2241416 2241420 - BinaryExpression 2241422 2241499 - PropertyAccessExpression 2241422 2241450 - PropertyAccessExpression 2241422 2241443 - Identifier 2241422 2241432 - Identifier 2241433 2241443 - Identifier 2241444 2241450 - MinusToken 2241450 2241452 - ParenthesizedExpression 2241452 2241499 - ConditionalExpression 2241454 2241498 - CallExpression 2241454 2241490 - Identifier 2241454 2241479 - Identifier 2241480 2241489 - QuestionToken 2241490 2241492 - NumericLiteral 2241492 2241494 - ColonToken 2241494 2241496 - NumericLiteral 2241496 2241498 - ForStatement 2241500 2242321 - VariableDeclarationList 2241515 2241524 - VariableDeclaration 2241518 2241524 - Identifier 2241518 2241520 - NumericLiteral 2241522 2241524 - BinaryExpression 2241525 2241533 - Identifier 2241525 2241527 - LessThanToken 2241527 2241529 - Identifier 2241529 2241533 - PostfixUnaryExpression 2241534 2241538 - Identifier 2241534 2241536 - Block 2241539 2242321 - VariableStatement 2241541 2241597 - VariableDeclarationList 2241541 2241596 - VariableDeclaration 2241560 2241596 - Identifier 2241560 2241570 - ElementAccessExpression 2241572 2241596 - PropertyAccessExpression 2241572 2241593 - Identifier 2241572 2241582 - Identifier 2241583 2241593 - Identifier 2241594 2241595 - VariableStatement 2241597 2241682 - VariableDeclarationList 2241597 2241681 - VariableDeclaration 2241616 2241681 - Identifier 2241616 2241628 - AsExpression 2241630 2241681 - PropertyAccessExpression 2241630 2241657 - Identifier 2241630 2241640 - Identifier 2241641 2241657 - TypeReference 2241660 2241681 - Identifier 2241660 2241681 - IfStatement 2241682 2242310 - PrefixUnaryExpression 2241700 2241744 - CallExpression 2241701 2241744 - Identifier 2241701 2241731 - Identifier 2241732 2241743 - Block 2241745 2242310 - VariableStatement 2241747 2241809 - VariableDeclarationList 2241747 2241808 - VariableDeclaration 2241768 2241808 - Identifier 2241768 2241773 - CallExpression 2241775 2241808 - Identifier 2241775 2241796 - Identifier 2241797 2241804 - Identifier 2241805 2241807 - IfStatement 2241809 2242240 - BinaryExpression 2241831 2241862 - Identifier 2241831 2241835 - AmpersandAmpersandToken 2241835 2241838 - PropertyAccessExpression 2241838 2241862 - Identifier 2241838 2241850 - Identifier 2241851 2241862 - Block 2241863 2242240 - VariableStatement 2241865 2241968 - VariableDeclarationList 2241865 2241967 - VariableDeclaration 2241890 2241967 - Identifier 2241890 2241906 - CallExpression 2241908 2241967 - Identifier 2241908 2241936 - Identifier 2241937 2241948 - PropertyAccessExpression 2241949 2241966 - Identifier 2241949 2241959 - Identifier 2241960 2241966 - IfStatement 2241968 2242221 - BinaryExpression 2241994 2242146 - PrefixUnaryExpression 2241994 2242036 - CallExpression 2241995 2242036 - Identifier 2241995 2242013 - Identifier 2242014 2242029 - Identifier 2242030 2242035 - AmpersandAmpersandToken 2242036 2242039 - CallExpression 2242039 2242146 - Identifier 2242039 2242058 - Identifier 2242059 2242063 - BinaryExpression 2242064 2242145 - Identifier 2242064 2242080 - EqualsToken 2242080 2242082 - CallExpression 2242082 2242145 - Identifier 2242082 2242115 - Identifier 2242116 2242127 - Identifier 2242128 2242144 - Block 2242147 2242221 - ExpressionStatement 2242149 2242198 - BinaryExpression 2242149 2242197 - Identifier 2242149 2242179 - EqualsToken 2242179 2242181 - Identifier 2242181 2242197 - ExpressionStatement 2242240 2242295 - CallExpression 2242240 2242294 - Identifier 2242240 2242277 - Identifier 2242278 2242287 - Identifier 2242288 2242293 - IfStatement 2242321 2243237 - CallExpression 2242335 2242371 - Identifier 2242335 2242360 - Identifier 2242361 2242370 - Block 2242372 2243237 - VariableStatement 2242374 2242541 - VariableDeclarationList 2242374 2242540 - VariableDeclaration 2242501 2242540 - Identifier 2242501 2242511 - CallExpression 2242513 2242540 - Identifier 2242513 2242518 - PropertyAccessExpression 2242519 2242539 - Identifier 2242519 2242528 - Identifier 2242529 2242539 - IfStatement 2242541 2243226 - ConditionalExpression 2242559 2243034 - PropertyAccessExpression 2242559 2242603 - Identifier 2242559 2242586 - Identifier 2242587 2242603 - QuestionToken 2242603 2242626 - PrefixUnaryExpression 2242626 2242710 - CallExpression 2242628 2242710 - Identifier 2242628 2242658 - AsExpression 2242659 2242709 - PropertyAccessExpression 2242659 2242685 - Identifier 2242659 2242668 - Identifier 2242669 2242685 - TypeReference 2242688 2242709 - Identifier 2242688 2242709 - ColonToken 2242710 2242979 - PrefixUnaryExpression 2242979 2243034 - PrefixUnaryExpression 2242981 2243034 - ParenthesizedExpression 2242982 2243034 - BinaryExpression 2242983 2243033 - CallExpression 2242983 2243007 - Identifier 2242983 2242996 - Identifier 2242997 2243006 - AmpersandToken 2243007 2243009 - PropertyAccessExpression 2243009 2243033 - Identifier 2243009 2243020 - Identifier 2243021 2243033 - Block 2243049 2243226 - VariableStatement 2243051 2243137 - VariableDeclarationList 2243051 2243136 - VariableDeclaration 2243074 2243136 - Identifier 2243074 2243098 - CallExpression 2243100 2243136 - Identifier 2243100 2243122 - Identifier 2243123 2243130 - Identifier 2243131 2243135 - ExpressionStatement 2243137 2243211 - CallExpression 2243137 2243210 - Identifier 2243137 2243174 - Identifier 2243175 2243184 - Identifier 2243185 2243209 - FunctionDeclaration 2243244 2243548 - Identifier 2243260 2243294 - Parameter 2243295 2243315 - Identifier 2243295 2243304 - TypeReference 2243305 2243315 - Identifier 2243305 2243315 - Block 2243316 2243548 - IfStatement 2243318 2243428 - PropertyAccessExpression 2243332 2243355 - Identifier 2243332 2243341 - Identifier 2243342 2243355 - Block 2243356 2243428 - ExpressionStatement 2243358 2243417 - CallExpression 2243358 2243416 - Identifier 2243358 2243391 - PropertyAccessExpression 2243392 2243415 - Identifier 2243392 2243401 - Identifier 2243402 2243415 - ForOfStatement 2243428 2243541 - VariableDeclarationList 2243443 2243458 - VariableDeclaration 2243448 2243458 - Identifier 2243448 2243458 - PropertyAccessExpression 2243461 2243482 - Identifier 2243461 2243471 - Identifier 2243472 2243482 - Block 2243483 2243541 - ExpressionStatement 2243485 2243530 - CallExpression 2243485 2243529 - Identifier 2243485 2243518 - Identifier 2243519 2243528 - FunctionDeclaration 2243548 2244822 - Identifier 2243564 2243584 - Parameter 2243585 2243602 - Identifier 2243585 2243594 - TypeReference 2243595 2243602 - Identifier 2243595 2243602 - Parameter 2243603 2243625 - Identifier 2243603 2243618 - QuestionToken 2243618 2243619 - TypeReference 2243620 2243625 - Identifier 2243620 2243625 - Block 2243626 2244822 - VariableStatement 2243628 2243678 - VariableDeclarationList 2243628 2243677 - VariableDeclaration 2243643 2243677 - Identifier 2243643 2243649 - CallExpression 2243651 2243677 - Identifier 2243651 2243666 - Identifier 2243667 2243676 - IfStatement 2243678 2244815 - PrefixUnaryExpression 2243692 2243703 - PropertyAccessExpression 2243693 2243703 - Identifier 2243693 2243698 - Identifier 2243699 2243703 - Block 2243704 2244623 - VariableStatement 2243706 2243803 - VariableDeclarationList 2243706 2243802 - VariableDeclaration 2243725 2243802 - Identifier 2243725 2243737 - AsExpression 2243739 2243802 - PropertyAccessExpression 2243739 2243766 - Identifier 2243739 2243749 - Identifier 2243750 2243766 - UnionType 2243769 2243802 - TypeReference 2243769 2243790 - Identifier 2243769 2243790 - UndefinedKeyword 2243792 2243802 - ExpressionStatement 2243803 2244171 - BinaryExpression 2243803 2244170 - PropertyAccessExpression 2243803 2243827 - Identifier 2243803 2243822 - Identifier 2243823 2243827 - EqualsToken 2243827 2243829 - CallExpression 2243829 2244170 - Identifier 2243829 2243844 - BinaryExpression 2243845 2244002 - Identifier 2243845 2243877 - BarBarToken 2243877 2243880 - ParenthesizedExpression 2243880 2244002 - ConditionalExpression 2243882 2244001 - Identifier 2243882 2243893 - QuestionToken 2243893 2243895 - CallExpression 2243895 2243972 - Identifier 2243895 2243936 - Identifier 2243937 2243948 - TrueKeyword 2243949 2243971 - ColonToken 2243972 2243974 - CallExpression 2243974 2244001 - Identifier 2243974 2243990 - Identifier 2243991 2244000 - FalseKeyword 2244003 2244041 - BinaryExpression 2244042 2244154 - BinaryExpression 2244042 2244116 - PrefixUnaryExpression 2244042 2244088 - PrefixUnaryExpression 2244076 2244088 - Identifier 2244077 2244088 - AmpersandAmpersandToken 2244088 2244091 - PrefixUnaryExpression 2244091 2244116 - PropertyAccessExpression 2244093 2244116 - Identifier 2244093 2244104 - Identifier 2244105 2244116 - AmpersandAmpersandToken 2244116 2244119 - CallExpression 2244119 2244154 - Identifier 2244119 2244141 - Identifier 2244142 2244153 - IfStatement 2244171 2244612 - BinaryExpression 2244189 2244251 - Identifier 2244189 2244200 - AmpersandAmpersandToken 2244200 2244203 - BinaryExpression 2244203 2244251 - PropertyAccessExpression 2244203 2244225 - PropertyAccessExpression 2244203 2244220 - Identifier 2244203 2244215 - Identifier 2244216 2244220 - Identifier 2244221 2244225 - ExclamationEqualsEqualsToken 2244225 2244229 - PropertyAccessExpression 2244229 2244251 - Identifier 2244229 2244240 - Identifier 2244241 2244251 - Block 2244252 2244612 - IfStatement 2244254 2244523 - BinaryExpression 2244396 2244422 - PropertyAccessExpression 2244396 2244406 - Identifier 2244396 2244401 - Identifier 2244402 2244406 - EqualsEqualsEqualsToken 2244406 2244410 - Identifier 2244410 2244422 - Block 2244423 2244523 - ExpressionStatement 2244425 2244504 - BinaryExpression 2244425 2244503 - PropertyAccessExpression 2244425 2244457 - Identifier 2244425 2244452 - Identifier 2244453 2244457 - EqualsToken 2244457 2244459 - CallExpression 2244459 2244503 - Identifier 2244459 2244485 - PropertyAccessExpression 2244486 2244502 - Identifier 2244486 2244497 - Identifier 2244498 2244502 - ExpressionStatement 2244523 2244597 - CallExpression 2244523 2244596 - Identifier 2244523 2244566 - PropertyAccessExpression 2244567 2244583 - Identifier 2244567 2244578 - Identifier 2244579 2244583 - PropertyAccessExpression 2244584 2244595 - Identifier 2244584 2244590 - Identifier 2244591 2244595 - IfStatement 2244637 2244815 - Identifier 2244642 2244656 - Block 2244657 2244815 - ExpressionStatement 2244659 2244804 - CallExpression 2244659 2244803 - PropertyAccessExpression 2244659 2244690 - Identifier 2244659 2244678 - Identifier 2244679 2244690 - PropertyAccessExpression 2244691 2244701 - Identifier 2244691 2244696 - Identifier 2244697 2244701 - Identifier 2244702 2244717 - StringLiteral 2244718 2244802 - FunctionDeclaration 2244822 2245623 - Identifier 2245020 2245046 - Parameter 2245047 2245070 - Identifier 2245047 2245054 - TypeReference 2245055 2245070 - Identifier 2245055 2245070 - Parameter 2245071 2245088 - Identifier 2245071 2245082 - TypeReference 2245083 2245088 - Identifier 2245083 2245088 - Block 2245089 2245623 - ForOfStatement 2245091 2245616 - VariableDeclarationList 2245106 2245119 - VariableDeclaration 2245111 2245119 - Identifier 2245111 2245119 - PropertyAccessExpression 2245122 2245139 - Identifier 2245122 2245130 - Identifier 2245131 2245139 - Block 2245140 2245616 - IfStatement 2245142 2245605 - PrefixUnaryExpression 2245160 2245189 - CallExpression 2245161 2245189 - Identifier 2245161 2245180 - Identifier 2245181 2245188 - Block 2245190 2245605 - VariableStatement 2245192 2245310 - VariableDeclarationList 2245192 2245309 - VariableDeclaration 2245215 2245309 - Identifier 2245215 2245220 - CallExpression 2245222 2245309 - Identifier 2245222 2245258 - Identifier 2245259 2245266 - Identifier 2245267 2245278 - FalseKeyword 2245279 2245308 - IfStatement 2245310 2245590 - BinaryExpression 2245332 2245375 - PropertyAccessExpression 2245332 2245349 - PropertyAccessExpression 2245332 2245344 - Identifier 2245332 2245339 - Identifier 2245340 2245344 - Identifier 2245345 2245349 - EqualsEqualsEqualsToken 2245349 2245353 - PropertyAccessExpression 2245353 2245375 - Identifier 2245353 2245364 - Identifier 2245365 2245375 - Block 2245376 2245479 - ExpressionStatement 2245378 2245460 - BinaryExpression 2245378 2245459 - PropertyAccessExpression 2245378 2245452 - CallExpression 2245378 2245447 - Identifier 2245378 2245414 - CallExpression 2245415 2245446 - Identifier 2245415 2245437 - Identifier 2245438 2245445 - Identifier 2245448 2245452 - EqualsToken 2245452 2245454 - Identifier 2245454 2245459 - Block 2245501 2245590 - ExpressionStatement 2245503 2245571 - CallExpression 2245503 2245570 - Identifier 2245503 2245550 - PropertyAccessExpression 2245551 2245563 - Identifier 2245551 2245558 - Identifier 2245559 2245563 - Identifier 2245564 2245569 - FunctionDeclaration 2245623 2245809 - Identifier 2245639 2245671 - Parameter 2245672 2245687 - Identifier 2245672 2245681 - TypeReference 2245682 2245687 - Identifier 2245682 2245687 - Block 2245688 2245809 - ReturnStatement 2245690 2245802 - CallExpression 2245706 2245801 - Identifier 2245706 2245729 - CallExpression 2245730 2245787 - Identifier 2245730 2245764 - TrueKeyword 2245765 2245786 - ArrayLiteralExpression 2245788 2245800 - Identifier 2245790 2245799 - FunctionDeclaration 2245809 2246033 - Identifier 2245825 2245863 - Parameter 2245864 2245878 - Identifier 2245864 2245872 - TypeReference 2245873 2245878 - Identifier 2245873 2245878 - Parameter 2245879 2245895 - Identifier 2245879 2245889 - TypeReference 2245890 2245895 - Identifier 2245890 2245895 - Block 2245896 2246033 - ReturnStatement 2245898 2246026 - CallExpression 2245914 2246025 - Identifier 2245914 2245937 - CallExpression 2245938 2246001 - Identifier 2245938 2245978 - TrueKeyword 2245979 2246000 - ArrayLiteralExpression 2246002 2246024 - Identifier 2246004 2246012 - Identifier 2246013 2246023 - FunctionDeclaration 2246033 2246257 - Identifier 2246049 2246087 - Parameter 2246088 2246102 - Identifier 2246088 2246096 - TypeReference 2246097 2246102 - Identifier 2246097 2246102 - Parameter 2246103 2246119 - Identifier 2246103 2246113 - TypeReference 2246114 2246119 - Identifier 2246114 2246119 - Block 2246120 2246257 - ReturnStatement 2246122 2246250 - CallExpression 2246138 2246249 - Identifier 2246138 2246161 - CallExpression 2246162 2246225 - Identifier 2246162 2246202 - TrueKeyword 2246203 2246224 - ArrayLiteralExpression 2246226 2246248 - Identifier 2246228 2246236 - Identifier 2246237 2246247 - FunctionDeclaration 2246257 2246481 - Identifier 2246273 2246311 - Parameter 2246312 2246326 - Identifier 2246312 2246320 - TypeReference 2246321 2246326 - Identifier 2246321 2246326 - Parameter 2246327 2246343 - Identifier 2246327 2246337 - TypeReference 2246338 2246343 - Identifier 2246338 2246343 - Block 2246344 2246481 - ReturnStatement 2246346 2246474 - CallExpression 2246362 2246473 - Identifier 2246362 2246385 - CallExpression 2246386 2246449 - Identifier 2246386 2246426 - TrueKeyword 2246427 2246448 - ArrayLiteralExpression 2246450 2246472 - Identifier 2246452 2246460 - Identifier 2246461 2246471 - FunctionDeclaration 2246481 2246709 - Identifier 2246497 2246537 - Parameter 2246538 2246552 - Identifier 2246538 2246546 - TypeReference 2246547 2246552 - Identifier 2246547 2246552 - Parameter 2246553 2246569 - Identifier 2246553 2246563 - TypeReference 2246564 2246569 - Identifier 2246564 2246569 - Block 2246570 2246709 - ReturnStatement 2246572 2246702 - CallExpression 2246588 2246701 - Identifier 2246588 2246611 - CallExpression 2246612 2246677 - Identifier 2246612 2246654 - TrueKeyword 2246655 2246676 - ArrayLiteralExpression 2246678 2246700 - Identifier 2246680 2246688 - Identifier 2246689 2246699 - FunctionDeclaration 2246709 2246931 - Identifier 2246725 2246762 - Parameter 2246763 2246777 - Identifier 2246763 2246771 - TypeReference 2246772 2246777 - Identifier 2246772 2246777 - Parameter 2246778 2246794 - Identifier 2246778 2246788 - TypeReference 2246789 2246794 - Identifier 2246789 2246794 - Block 2246795 2246931 - ReturnStatement 2246797 2246924 - CallExpression 2246813 2246923 - Identifier 2246813 2246836 - CallExpression 2246837 2246899 - Identifier 2246837 2246876 - TrueKeyword 2246877 2246898 - ArrayLiteralExpression 2246900 2246922 - Identifier 2246902 2246910 - Identifier 2246911 2246921 - FunctionDeclaration 2246931 2248066 - Identifier 2247151 2247194 - Parameter 2247195 2247209 - Identifier 2247195 2247203 - TypeReference 2247204 2247209 - Identifier 2247204 2247209 - Parameter 2247210 2247229 - Identifier 2247210 2247220 - BooleanKeyword 2247221 2247229 - Parameter 2247230 2247248 - Identifier 2247230 2247239 - BooleanKeyword 2247240 2247248 - Block 2247249 2248066 - VariableStatement 2247251 2247346 - VariableDeclarationList 2247251 2247345 - VariableDeclaration 2247266 2247345 - Identifier 2247266 2247270 - AsExpression 2247272 2247345 - TemplateExpression 2247272 2247336 - TemplateHead 2247272 2247276 - TemplateSpan 2247276 2247300 - ConditionalExpression 2247276 2247297 - Identifier 2247276 2247285 - QuestionToken 2247285 2247287 - StringLiteral 2247287 2247291 - ColonToken 2247291 2247293 - StringLiteral 2247293 2247297 - TemplateMiddle 2247297 2247300 - TemplateSpan 2247300 2247323 - ConditionalExpression 2247300 2247320 - Identifier 2247300 2247308 - QuestionToken 2247308 2247310 - StringLiteral 2247310 2247314 - ColonToken 2247314 2247316 - StringLiteral 2247316 2247320 - TemplateMiddle 2247320 2247323 - TemplateSpan 2247323 2247336 - PropertyAccessExpression 2247323 2247334 - Identifier 2247323 2247331 - Identifier 2247332 2247334 - TemplateTail 2247334 2247336 - TypeReference 2247339 2247345 - Identifier 2247339 2247345 - VariableStatement 2247346 2247418 - VariableDeclarationList 2247346 2247417 - VariableDeclaration 2247359 2247417 - Identifier 2247359 2247372 - CallExpression 2247374 2247417 - PropertyAccessExpression 2247374 2247412 - Identifier 2247374 2247408 - Identifier 2247409 2247412 - Identifier 2247413 2247416 - IfStatement 2247418 2248029 - PrefixUnaryExpression 2247432 2247445 - Identifier 2247433 2247445 - Block 2247446 2248029 - VariableStatement 2247448 2247498 - VariableDeclarationList 2247448 2247497 - VariableDeclaration 2247467 2247497 - Identifier 2247467 2247475 - CallExpression 2247477 2247497 - Identifier 2247477 2247495 - ExpressionStatement 2247498 2247590 - CallExpression 2247498 2247589 - PropertyAccessExpression 2247498 2247523 - Identifier 2247498 2247519 - Identifier 2247520 2247523 - AsExpression 2247524 2247542 - StringLiteral 2247524 2247530 - TypeReference 2247533 2247542 - Identifier 2247533 2247542 - CallExpression 2247543 2247588 - Identifier 2247543 2247558 - AsExpression 2247559 2247577 - StringLiteral 2247559 2247565 - TypeReference 2247568 2247577 - Identifier 2247568 2247577 - Identifier 2247578 2247587 - ExpressionStatement 2247590 2247712 - CallExpression 2247590 2247711 - PropertyAccessExpression 2247590 2247615 - Identifier 2247590 2247611 - Identifier 2247612 2247615 - AsExpression 2247616 2247637 - StringLiteral 2247616 2247625 - TypeReference 2247628 2247637 - Identifier 2247628 2247637 - CallExpression 2247638 2247710 - Identifier 2247638 2247653 - AsExpression 2247654 2247675 - StringLiteral 2247654 2247663 - TypeReference 2247666 2247675 - Identifier 2247666 2247675 - ConditionalExpression 2247676 2247709 - Identifier 2247676 2247686 - QuestionToken 2247686 2247688 - Identifier 2247688 2247697 - ColonToken 2247697 2247699 - Identifier 2247699 2247709 - ExpressionStatement 2247712 2247831 - CallExpression 2247712 2247830 - PropertyAccessExpression 2247712 2247737 - Identifier 2247712 2247733 - Identifier 2247734 2247737 - AsExpression 2247738 2247758 - StringLiteral 2247738 2247746 - TypeReference 2247749 2247758 - Identifier 2247749 2247758 - CallExpression 2247759 2247829 - Identifier 2247759 2247774 - AsExpression 2247775 2247795 - StringLiteral 2247775 2247783 - TypeReference 2247786 2247795 - Identifier 2247786 2247795 - ConditionalExpression 2247796 2247828 - Identifier 2247796 2247805 - QuestionToken 2247805 2247807 - Identifier 2247807 2247816 - ColonToken 2247816 2247818 - Identifier 2247818 2247828 - ExpressionStatement 2247831 2247947 - BinaryExpression 2247831 2247946 - Identifier 2247831 2247857 - EqualsToken 2247857 2247859 - CallExpression 2247859 2247946 - Identifier 2247859 2247879 - Identifier 2247880 2247900 - Identifier 2247901 2247909 - Identifier 2247910 2247921 - Identifier 2247922 2247933 - Identifier 2247934 2247945 - ExpressionStatement 2247947 2248018 - CallExpression 2247947 2248017 - PropertyAccessExpression 2247947 2247998 - Identifier 2247947 2247994 - Identifier 2247995 2247998 - Identifier 2247999 2248002 - Identifier 2248003 2248016 - ReturnStatement 2248029 2248059 - Identifier 2248045 2248058 - FunctionDeclaration 2248066 2249239 - Identifier 2248082 2248127 - Parameter 2248128 2248195 - Identifier 2248128 2248132 - UnionType 2248133 2248195 - TypeReference 2248133 2248151 - Identifier 2248133 2248151 - TypeReference 2248153 2248173 - Identifier 2248153 2248173 - TypeReference 2248175 2248195 - Identifier 2248175 2248195 - Parameter 2248196 2248211 - Identifier 2248196 2248205 - TypeReference 2248206 2248211 - Identifier 2248206 2248211 - Parameter 2248212 2248228 - Identifier 2248212 2248222 - TypeReference 2248223 2248228 - Identifier 2248223 2248228 - Block 2248229 2249239 - VariableStatement 2248231 2248282 - VariableDeclarationList 2248231 2248281 - VariableDeclaration 2248246 2248281 - Identifier 2248246 2248255 - CallExpression 2248257 2248281 - Identifier 2248257 2248275 - Identifier 2248276 2248280 - VariableStatement 2248282 2248341 - VariableDeclarationList 2248282 2248340 - VariableDeclaration 2248297 2248340 - Identifier 2248297 2248307 - CallExpression 2248309 2248340 - Identifier 2248309 2248329 - PropertyAccessExpression 2248330 2248339 - Identifier 2248330 2248334 - Identifier 2248335 2248339 - VariableStatement 2248341 2248464 - VariableDeclarationList 2248341 2248463 - VariableDeclaration 2248356 2248463 - Identifier 2248356 2248365 - ConditionalExpression 2248367 2248463 - Identifier 2248367 2248377 - QuestionToken 2248377 2248379 - CallExpression 2248379 2248419 - Identifier 2248379 2248400 - CallExpression 2248401 2248418 - Identifier 2248401 2248407 - PropertyAccessExpression 2248408 2248417 - Identifier 2248408 2248412 - Identifier 2248413 2248417 - ColonToken 2248419 2248421 - CallExpression 2248421 2248463 - Identifier 2248421 2248452 - PropertyAccessExpression 2248453 2248462 - Identifier 2248453 2248457 - Identifier 2248458 2248462 - VariableStatement 2248464 2249061 - VariableDeclarationList 2248464 2249060 - VariableDeclaration 2248479 2249060 - Identifier 2248479 2248491 - ConditionalExpression 2248493 2249060 - CallExpression 2248493 2248519 - Identifier 2248493 2248513 - Identifier 2248514 2248518 - QuestionToken 2248519 2248521 - CallExpression 2248521 2248580 - Identifier 2248521 2248559 - Identifier 2248560 2248568 - Identifier 2248569 2248579 - ColonToken 2248580 2248582 - ConditionalExpression 2248582 2249060 - CallExpression 2248582 2248626 - Identifier 2248582 2248620 - Identifier 2248621 2248625 - QuestionToken 2248626 2248628 - CallExpression 2248628 2248687 - Identifier 2248628 2248666 - Identifier 2248667 2248675 - Identifier 2248676 2248686 - ColonToken 2248687 2248689 - ConditionalExpression 2248689 2249060 - CallExpression 2248689 2248733 - Identifier 2248689 2248727 - Identifier 2248728 2248732 - QuestionToken 2248733 2248735 - CallExpression 2248735 2248794 - Identifier 2248735 2248773 - Identifier 2248774 2248782 - Identifier 2248783 2248793 - ColonToken 2248794 2248796 - ConditionalExpression 2248796 2249060 - CallExpression 2248796 2248849 - Identifier 2248796 2248843 - Identifier 2248844 2248848 - QuestionToken 2248849 2248851 - CallExpression 2248851 2248912 - Identifier 2248851 2248891 - Identifier 2248892 2248900 - Identifier 2248901 2248911 - ColonToken 2248912 2248914 - ConditionalExpression 2248914 2249060 - CallExpression 2248914 2248955 - Identifier 2248914 2248949 - Identifier 2248950 2248954 - QuestionToken 2248955 2248957 - CallExpression 2248957 2249015 - Identifier 2248957 2248994 - Identifier 2248995 2249003 - Identifier 2249004 2249014 - ColonToken 2249015 2249017 - CallExpression 2249017 2249060 - PropertyAccessExpression 2249017 2249054 - Identifier 2249017 2249036 - Identifier 2249037 2249054 - Identifier 2249055 2249059 - VariableStatement 2249061 2249166 - VariableDeclarationList 2249061 2249165 - VariableDeclaration 2249076 2249165 - Identifier 2249076 2249089 - CallExpression 2249091 2249165 - Identifier 2249091 2249134 - Identifier 2249135 2249143 - Identifier 2249144 2249154 - Identifier 2249155 2249164 - ReturnStatement 2249166 2249232 - CallExpression 2249182 2249231 - Identifier 2249182 2249202 - ArrayLiteralExpression 2249203 2249230 - Identifier 2249204 2249215 - Identifier 2249216 2249229 - FunctionDeclaration 2249239 2249465 - Identifier 2249255 2249294 - Parameter 2249295 2249309 - Identifier 2249295 2249303 - TypeReference 2249304 2249309 - Identifier 2249304 2249309 - Parameter 2249310 2249326 - Identifier 2249310 2249320 - TypeReference 2249321 2249326 - Identifier 2249321 2249326 - Block 2249327 2249465 - ReturnStatement 2249329 2249458 - CallExpression 2249345 2249457 - Identifier 2249345 2249368 - CallExpression 2249369 2249433 - Identifier 2249369 2249410 - TrueKeyword 2249411 2249432 - ArrayLiteralExpression 2249434 2249456 - Identifier 2249436 2249444 - Identifier 2249445 2249455 - FunctionDeclaration 2249465 2249691 - Identifier 2249481 2249520 - Parameter 2249521 2249535 - Identifier 2249521 2249529 - TypeReference 2249530 2249535 - Identifier 2249530 2249535 - Parameter 2249536 2249552 - Identifier 2249536 2249546 - TypeReference 2249547 2249552 - Identifier 2249547 2249552 - Block 2249553 2249691 - ReturnStatement 2249555 2249684 - CallExpression 2249571 2249683 - Identifier 2249571 2249594 - CallExpression 2249595 2249659 - Identifier 2249595 2249636 - TrueKeyword 2249637 2249658 - ArrayLiteralExpression 2249660 2249682 - Identifier 2249662 2249670 - Identifier 2249671 2249681 - FunctionDeclaration 2249691 2250082 - Identifier 2249707 2249755 - Parameter 2249756 2249770 - Identifier 2249756 2249764 - TypeReference 2249765 2249770 - Identifier 2249765 2249770 - Parameter 2249771 2249787 - Identifier 2249771 2249781 - TypeReference 2249782 2249787 - Identifier 2249782 2249787 - Block 2249788 2250082 - VariableStatement 2249790 2249864 - VariableDeclarationList 2249790 2249863 - VariableDeclaration 2249805 2249863 - Identifier 2249805 2249815 - CallExpression 2249817 2249863 - Identifier 2249817 2249833 - AsExpression 2249834 2249852 - StringLiteral 2249834 2249840 - TypeReference 2249843 2249852 - Identifier 2249843 2249852 - Identifier 2249853 2249862 - VariableStatement 2249864 2249941 - VariableDeclarationList 2249864 2249940 - VariableDeclaration 2249879 2249940 - Identifier 2249879 2249890 - CallExpression 2249892 2249940 - Identifier 2249892 2249908 - AsExpression 2249909 2249928 - StringLiteral 2249909 2249916 - TypeReference 2249919 2249928 - Identifier 2249919 2249928 - Identifier 2249929 2249939 - ReturnStatement 2249941 2250075 - CallExpression 2249957 2250074 - Identifier 2249957 2249976 - Identifier 2249977 2250005 - Identifier 2250006 2250016 - ArrayLiteralExpression 2250017 2250030 - Identifier 2250019 2250029 - Identifier 2250031 2250041 - Identifier 2250042 2250070 - NumericLiteral 2250071 2250073 - FunctionDeclaration 2250082 2250776 - Identifier 2250293 2250324 - Parameter 2250325 2250341 - Identifier 2250325 2250335 - TypeReference 2250336 2250341 - Identifier 2250336 2250341 - Parameter 2250342 2250360 - Identifier 2250342 2250354 - TypeReference 2250355 2250360 - Identifier 2250355 2250360 - Parameter 2250361 2250389 - Identifier 2250361 2250383 - TypeReference 2250384 2250389 - Identifier 2250384 2250389 - Block 2250390 2250776 - VariableStatement 2250392 2250472 - VariableDeclarationList 2250392 2250471 - VariableDeclaration 2250407 2250471 - Identifier 2250407 2250419 - CallExpression 2250421 2250471 - Identifier 2250421 2250437 - AsExpression 2250438 2250458 - StringLiteral 2250438 2250446 - TypeReference 2250449 2250458 - Identifier 2250449 2250458 - Identifier 2250459 2250470 - VariableStatement 2250472 2250555 - VariableDeclarationList 2250472 2250554 - VariableDeclaration 2250487 2250554 - Identifier 2250487 2250500 - CallExpression 2250502 2250554 - Identifier 2250502 2250518 - AsExpression 2250519 2250540 - StringLiteral 2250519 2250528 - TypeReference 2250531 2250540 - Identifier 2250531 2250540 - Identifier 2250541 2250553 - VariableStatement 2250555 2250632 - VariableDeclarationList 2250555 2250631 - VariableDeclaration 2250570 2250631 - Identifier 2250570 2250581 - CallExpression 2250583 2250631 - Identifier 2250583 2250596 - ArrayLiteralExpression 2250597 2250630 - Identifier 2250598 2250619 - Identifier 2250620 2250629 - ReturnStatement 2250632 2250769 - CallExpression 2250648 2250768 - Identifier 2250648 2250668 - Identifier 2250669 2250697 - Identifier 2250698 2250726 - ArrayLiteralExpression 2250727 2250755 - Identifier 2250729 2250740 - Identifier 2250741 2250754 - Identifier 2250756 2250767 - FunctionDeclaration 2250776 2263234 - Identifier 2251242 2251270 - Parameter 2251271 2251291 - Identifier 2251271 2251280 - TypeReference 2251281 2251291 - Identifier 2251281 2251291 - Block 2251292 2263234 - VariableStatement 2251294 2256889 - VariableDeclarationList 2251294 2256888 - VariableDeclaration 2256865 2256888 - ObjectBindingPattern 2256865 2256876 - BindingElement 2256867 2256874 - Identifier 2256867 2256874 - Identifier 2256878 2256888 - VariableStatement 2256889 2256934 - VariableDeclarationList 2256889 2256933 - VariableDeclaration 2256904 2256933 - Identifier 2256904 2256910 - CallExpression 2256912 2256933 - Identifier 2256912 2256925 - Identifier 2256926 2256932 - IfStatement 2256934 2263129 - PrefixUnaryExpression 2256948 2256973 - PropertyAccessExpression 2256949 2256973 - Identifier 2256949 2256954 - Identifier 2256955 2256973 - Block 2256974 2263129 - ExpressionStatement 2256976 2257030 - BinaryExpression 2256976 2257029 - PropertyAccessExpression 2256976 2257014 - Identifier 2256976 2256995 - Identifier 2256996 2257014 - EqualsToken 2257014 2257016 - Identifier 2257016 2257029 - SwitchStatement 2257030 2263118 - PropertyAccessExpression 2257052 2257063 - Identifier 2257052 2257058 - Identifier 2257059 2257063 - CaseBlock 2257064 2263118 - CaseClause 2257066 2257117 - PropertyAccessExpression 2257088 2257116 - Identifier 2257088 2257099 - Identifier 2257100 2257116 - CaseClause 2257117 2257809 - PropertyAccessExpression 2257139 2257166 - Identifier 2257139 2257150 - Identifier 2257151 2257166 - Block 2257167 2257809 - VariableStatement 2257169 2257472 - VariableDeclarationList 2257169 2257471 - VariableDeclaration 2257419 2257471 - Identifier 2257419 2257424 - AsExpression 2257426 2257471 - Identifier 2257426 2257433 - UnionType 2257436 2257471 - TypeReference 2257436 2257453 - Identifier 2257436 2257453 - TypeReference 2257455 2257471 - Identifier 2257455 2257471 - VariableStatement 2257472 2257559 - VariableDeclarationList 2257472 2257558 - VariableDeclaration 2257499 2257558 - Identifier 2257499 2257510 - CallExpression 2257512 2257558 - Identifier 2257512 2257528 - CallExpression 2257529 2257557 - Identifier 2257529 2257551 - Identifier 2257552 2257556 - VariableStatement 2257559 2257645 - VariableDeclarationList 2257559 2257644 - VariableDeclaration 2257586 2257644 - Identifier 2257586 2257598 - CallExpression 2257600 2257644 - Identifier 2257600 2257632 - Identifier 2257633 2257643 - ExpressionStatement 2257645 2257762 - BinaryExpression 2257645 2257761 - PropertyAccessExpression 2257645 2257691 - Identifier 2257645 2257672 - Identifier 2257673 2257691 - EqualsToken 2257691 2257693 - CallExpression 2257693 2257761 - Identifier 2257693 2257724 - Identifier 2257725 2257735 - Identifier 2257736 2257748 - Identifier 2257749 2257760 - BreakStatement 2257762 2257790 - CaseClause 2257809 2257863 - PropertyAccessExpression 2257833 2257862 - Identifier 2257833 2257844 - Identifier 2257845 2257862 - CaseClause 2257863 2257909 - PropertyAccessExpression 2257885 2257908 - Identifier 2257885 2257896 - Identifier 2257897 2257908 - CaseClause 2257909 2260611 - PropertyAccessExpression 2257931 2257954 - Identifier 2257931 2257942 - Identifier 2257943 2257954 - Block 2257955 2260611 - VariableStatement 2257957 2258070 - VariableDeclarationList 2257957 2258069 - VariableDeclaration 2257984 2258069 - Identifier 2257984 2257989 - AsExpression 2257991 2258069 - Identifier 2257991 2257998 - UnionType 2258001 2258069 - TypeReference 2258001 2258019 - Identifier 2258001 2258019 - TypeReference 2258021 2258044 - Identifier 2258021 2258044 - TypeReference 2258046 2258069 - Identifier 2258046 2258069 - IfStatement 2258070 2258129 - PrefixUnaryExpression 2258096 2258121 - CallExpression 2258097 2258121 - Identifier 2258097 2258108 - PropertyAccessExpression 2258109 2258120 - Identifier 2258109 2258113 - Identifier 2258114 2258120 - BreakStatement 2258122 2258129 - VariableStatement 2258129 2259242 - VariableDeclarationList 2258129 2259241 - VariableDeclaration 2259090 2259241 - Identifier 2259090 2259100 - ConditionalExpression 2259102 2259241 - CallExpression 2259102 2259128 - Identifier 2259102 2259122 - Identifier 2259123 2259127 - QuestionToken 2259128 2259130 - CallExpression 2259130 2259194 - Identifier 2259130 2259159 - CallExpression 2259160 2259193 - Identifier 2259160 2259187 - Identifier 2259188 2259192 - ColonToken 2259194 2259196 - CallExpression 2259196 2259241 - Identifier 2259196 2259235 - Identifier 2259236 2259240 - VariableStatement 2259242 2259485 - VariableDeclarationList 2259242 2259484 - VariableDeclaration 2259271 2259484 - Identifier 2259271 2259280 - ConditionalExpression 2259282 2259484 - CallExpression 2259282 2259306 - Identifier 2259282 2259300 - Identifier 2259301 2259305 - QuestionToken 2259306 2259308 - CallExpression 2259308 2259386 - Identifier 2259308 2259349 - CallExpression 2259350 2259385 - Identifier 2259350 2259372 - PropertyAccessExpression 2259373 2259384 - Identifier 2259373 2259377 - Identifier 2259378 2259384 - ColonToken 2259386 2259388 - CallExpression 2259388 2259484 - Identifier 2259388 2259447 - CallExpression 2259448 2259483 - Identifier 2259448 2259470 - PropertyAccessExpression 2259471 2259482 - Identifier 2259471 2259475 - Identifier 2259476 2259482 - VariableStatement 2259485 2260017 - VariableDeclarationList 2259485 2260016 - VariableDeclaration 2259801 2260016 - Identifier 2259801 2259812 - ConditionalExpression 2259814 2260016 - CallExpression 2259814 2259845 - Identifier 2259814 2259839 - Identifier 2259840 2259844 - QuestionToken 2259845 2259847 - CallExpression 2259847 2259883 - Identifier 2259847 2259872 - Identifier 2259873 2259882 - ColonToken 2259883 2259885 - ConditionalExpression 2259885 2260016 - CallExpression 2259885 2259941 - Identifier 2259885 2259935 - Identifier 2259936 2259940 - QuestionToken 2259941 2259943 - CallExpression 2259943 2259979 - Identifier 2259943 2259968 - Identifier 2259969 2259978 - ColonToken 2259979 2259981 - Identifier 2259981 2260016 - VariableStatement 2260017 2260133 - VariableDeclarationList 2260017 2260132 - VariableDeclaration 2260046 2260132 - Identifier 2260046 2260058 - CallExpression 2260060 2260132 - Identifier 2260060 2260105 - Identifier 2260106 2260110 - Identifier 2260111 2260120 - Identifier 2260121 2260131 - VariableStatement 2260133 2260445 - VariableDeclarationList 2260133 2260444 - VariableDeclaration 2260229 2260444 - Identifier 2260229 2260240 - ConditionalExpression 2260242 2260444 - CallExpression 2260242 2260273 - Identifier 2260242 2260267 - Identifier 2260268 2260272 - QuestionToken 2260273 2260275 - CallExpression 2260275 2260311 - Identifier 2260275 2260300 - Identifier 2260301 2260310 - ColonToken 2260311 2260313 - ConditionalExpression 2260313 2260444 - CallExpression 2260313 2260369 - Identifier 2260313 2260363 - Identifier 2260364 2260368 - QuestionToken 2260369 2260371 - CallExpression 2260371 2260407 - Identifier 2260371 2260396 - Identifier 2260397 2260406 - ColonToken 2260407 2260409 - Identifier 2260409 2260444 - ExpressionStatement 2260445 2260564 - BinaryExpression 2260445 2260563 - PropertyAccessExpression 2260445 2260493 - Identifier 2260445 2260474 - Identifier 2260475 2260493 - EqualsToken 2260493 2260495 - CallExpression 2260495 2260563 - Identifier 2260495 2260526 - Identifier 2260527 2260537 - Identifier 2260538 2260550 - Identifier 2260551 2260562 - BreakStatement 2260564 2260592 - CaseClause 2260611 2263103 - PropertyAccessExpression 2260635 2260666 - Identifier 2260635 2260646 - Identifier 2260647 2260666 - Block 2260667 2263103 - VariableStatement 2260669 2260734 - VariableDeclarationList 2260669 2260733 - VariableDeclaration 2260696 2260733 - Identifier 2260696 2260701 - AsExpression 2260703 2260733 - Identifier 2260703 2260710 - TypeReference 2260713 2260733 - Identifier 2260713 2260733 - IfStatement 2260734 2260793 - PrefixUnaryExpression 2260760 2260785 - CallExpression 2260761 2260785 - Identifier 2260761 2260772 - PropertyAccessExpression 2260773 2260784 - Identifier 2260773 2260777 - Identifier 2260778 2260784 - BreakStatement 2260786 2260793 - VariableStatement 2260793 2261385 - VariableDeclarationList 2260793 2261384 - VariableDeclaration 2261352 2261384 - Identifier 2261352 2261362 - CallExpression 2261364 2261384 - Identifier 2261364 2261378 - Identifier 2261379 2261383 - VariableStatement 2261385 2261626 - VariableDeclarationList 2261385 2261625 - VariableDeclaration 2261412 2261625 - Identifier 2261412 2261421 - ConditionalExpression 2261423 2261625 - CallExpression 2261423 2261447 - Identifier 2261423 2261441 - Identifier 2261442 2261446 - QuestionToken 2261447 2261449 - CallExpression 2261449 2261527 - Identifier 2261449 2261490 - CallExpression 2261491 2261526 - Identifier 2261491 2261513 - PropertyAccessExpression 2261514 2261525 - Identifier 2261514 2261518 - Identifier 2261519 2261525 - ColonToken 2261527 2261529 - CallExpression 2261529 2261625 - Identifier 2261529 2261588 - CallExpression 2261589 2261624 - Identifier 2261589 2261611 - PropertyAccessExpression 2261612 2261623 - Identifier 2261612 2261616 - Identifier 2261617 2261623 - VariableStatement 2261626 2262144 - VariableDeclarationList 2261626 2262143 - VariableDeclaration 2262001 2262143 - Identifier 2262001 2262012 - ConditionalExpression 2262014 2262143 - CallExpression 2262014 2262040 - Identifier 2262014 2262034 - Identifier 2262035 2262039 - QuestionToken 2262040 2262042 - CallExpression 2262042 2262102 - Identifier 2262042 2262081 - Identifier 2262082 2262090 - Identifier 2262091 2262101 - ColonToken 2262102 2262104 - Identifier 2262104 2262143 - VariableStatement 2262144 2262260 - VariableDeclarationList 2262144 2262259 - VariableDeclaration 2262173 2262259 - Identifier 2262173 2262185 - CallExpression 2262187 2262259 - Identifier 2262187 2262232 - Identifier 2262233 2262237 - Identifier 2262238 2262247 - Identifier 2262248 2262258 - VariableStatement 2262260 2262937 - VariableDeclarationList 2262260 2262936 - VariableDeclaration 2262739 2262936 - Identifier 2262739 2262750 - ConditionalExpression 2262752 2262936 - CallExpression 2262752 2262778 - Identifier 2262752 2262772 - Identifier 2262773 2262777 - QuestionToken 2262778 2262780 - CallExpression 2262780 2262840 - Identifier 2262780 2262819 - Identifier 2262820 2262828 - Identifier 2262829 2262839 - ColonToken 2262840 2262842 - CallExpression 2262842 2262936 - Identifier 2262842 2262915 - Identifier 2262916 2262924 - Identifier 2262925 2262935 - ExpressionStatement 2262937 2263056 - BinaryExpression 2262937 2263055 - PropertyAccessExpression 2262937 2262985 - Identifier 2262937 2262966 - Identifier 2262967 2262985 - EqualsToken 2262985 2262987 - CallExpression 2262987 2263055 - Identifier 2262987 2263018 - Identifier 2263019 2263029 - Identifier 2263030 2263042 - Identifier 2263043 2263054 - BreakStatement 2263056 2263084 - ReturnStatement 2263129 2263227 - ConditionalExpression 2263145 2263226 - BinaryExpression 2263145 2263187 - PropertyAccessExpression 2263145 2263170 - Identifier 2263145 2263151 - Identifier 2263152 2263170 - EqualsEqualsEqualsToken 2263170 2263174 - Identifier 2263174 2263187 - QuestionToken 2263187 2263189 - Identifier 2263189 2263199 - ColonToken 2263199 2263201 - PropertyAccessExpression 2263201 2263226 - Identifier 2263201 2263207 - Identifier 2263208 2263226 - FunctionDeclaration 2263234 2268787 - Identifier 2263250 2263282 - Parameter 2263283 2263303 - Identifier 2263283 2263292 - TypeReference 2263293 2263303 - Identifier 2263293 2263303 - Block 2263304 2268787 - VariableStatement 2263306 2263345 - VariableDeclarationList 2263306 2263344 - VariableDeclaration 2263321 2263344 - ObjectBindingPattern 2263321 2263332 - BindingElement 2263323 2263330 - Identifier 2263323 2263330 - Identifier 2263334 2263344 - VariableStatement 2263345 2263390 - VariableDeclarationList 2263345 2263389 - VariableDeclaration 2263360 2263389 - Identifier 2263360 2263366 - CallExpression 2263368 2263389 - Identifier 2263368 2263381 - Identifier 2263382 2263388 - IfStatement 2263390 2268682 - PrefixUnaryExpression 2263404 2263429 - PropertyAccessExpression 2263405 2263429 - Identifier 2263405 2263410 - Identifier 2263411 2263429 - Block 2263430 2268682 - ExpressionStatement 2263432 2263486 - BinaryExpression 2263432 2263485 - PropertyAccessExpression 2263432 2263470 - Identifier 2263432 2263451 - Identifier 2263452 2263470 - EqualsToken 2263470 2263472 - Identifier 2263472 2263485 - SwitchStatement 2263486 2268671 - PropertyAccessExpression 2263508 2263519 - Identifier 2263508 2263514 - Identifier 2263515 2263519 - CaseBlock 2263520 2268671 - CaseClause 2263522 2263573 - PropertyAccessExpression 2263544 2263572 - Identifier 2263544 2263555 - Identifier 2263556 2263572 - CaseClause 2263573 2264401 - PropertyAccessExpression 2263595 2263622 - Identifier 2263595 2263606 - Identifier 2263607 2263622 - Block 2263623 2264401 - VariableStatement 2263625 2263705 - VariableDeclarationList 2263625 2263704 - VariableDeclaration 2263652 2263704 - Identifier 2263652 2263657 - AsExpression 2263659 2263704 - Identifier 2263659 2263666 - UnionType 2263669 2263704 - TypeReference 2263669 2263686 - Identifier 2263669 2263686 - TypeReference 2263688 2263704 - Identifier 2263688 2263704 - VariableStatement 2263705 2263957 - VariableDeclarationList 2263705 2263956 - VariableDeclaration 2263897 2263956 - Identifier 2263897 2263908 - CallExpression 2263910 2263956 - Identifier 2263910 2263926 - CallExpression 2263927 2263955 - Identifier 2263927 2263949 - Identifier 2263950 2263954 - VariableStatement 2263957 2264049 - VariableDeclarationList 2263957 2264048 - VariableDeclaration 2263984 2264048 - Identifier 2263984 2263996 - CallExpression 2263998 2264048 - Identifier 2263998 2264014 - AsExpression 2264015 2264035 - StringLiteral 2264015 2264023 - TypeReference 2264026 2264035 - Identifier 2264026 2264035 - Identifier 2264036 2264047 - ExpressionStatement 2264049 2264354 - BinaryExpression 2264049 2264353 - PropertyAccessExpression 2264049 2264095 - Identifier 2264049 2264076 - Identifier 2264077 2264095 - EqualsToken 2264095 2264097 - CallExpression 2264097 2264353 - Identifier 2264097 2264117 - Identifier 2264118 2264172 - Identifier 2264173 2264226 - ArrayLiteralExpression 2264227 2264266 - Identifier 2264254 2264265 - CallExpression 2264267 2264329 - Identifier 2264267 2264305 - ArrayLiteralExpression 2264306 2264328 - Identifier 2264307 2264317 - Identifier 2264318 2264327 - BreakStatement 2264354 2264382 - CaseClause 2264401 2266420 - PropertyAccessExpression 2264423 2264444 - Identifier 2264423 2264434 - Identifier 2264435 2264444 - Block 2264445 2266420 - VariableStatement 2264447 2264513 - VariableDeclarationList 2264447 2264512 - VariableDeclaration 2264474 2264512 - Identifier 2264474 2264479 - AsExpression 2264481 2264512 - Identifier 2264481 2264488 - TypeReference 2264491 2264512 - Identifier 2264491 2264512 - IfStatement 2264513 2264823 - BinaryExpression 2264539 2264743 - PrefixUnaryExpression 2264539 2264603 - CallExpression 2264566 2264603 - Identifier 2264566 2264590 - PropertyAccessExpression 2264591 2264602 - Identifier 2264591 2264595 - Identifier 2264596 2264602 - AmpersandAmpersandToken 2264603 2264606 - PrefixUnaryExpression 2264606 2264743 - ParenthesizedExpression 2264633 2264743 - BinaryExpression 2264634 2264742 - CallExpression 2264634 2264666 - Identifier 2264634 2264653 - PropertyAccessExpression 2264654 2264665 - Identifier 2264654 2264658 - Identifier 2264659 2264665 - BarBarToken 2264666 2264669 - BinaryExpression 2264669 2264742 - CallExpression 2264669 2264707 - Identifier 2264669 2264694 - PropertyAccessExpression 2264695 2264706 - Identifier 2264695 2264699 - Identifier 2264700 2264706 - AmpersandAmpersandToken 2264707 2264710 - CallExpression 2264710 2264742 - Identifier 2264710 2264722 - PropertyAccessExpression 2264723 2264741 - PropertyAccessExpression 2264723 2264734 - Identifier 2264723 2264727 - Identifier 2264728 2264734 - Identifier 2264735 2264741 - Block 2264766 2264823 - BreakStatement 2264768 2264800 - IfStatement 2264823 2264947 - BinaryExpression 2264851 2264889 - CallExpression 2264851 2264880 - Identifier 2264851 2264867 - PropertyAccessExpression 2264868 2264879 - Identifier 2264868 2264872 - Identifier 2264873 2264879 - EqualsEqualsEqualsToken 2264880 2264884 - Identifier 2264884 2264889 - Block 2264890 2264947 - BreakStatement 2264892 2264924 - VariableStatement 2264947 2265147 - VariableDeclarationList 2264947 2265146 - VariableDeclaration 2264976 2265146 - Identifier 2264976 2264982 - ConditionalExpression 2264984 2265146 - CallExpression 2264984 2265014 - Identifier 2264984 2265001 - PropertyAccessExpression 2265002 2265013 - Identifier 2265002 2265006 - Identifier 2265007 2265013 - QuestionToken 2265014 2265016 - BinaryExpression 2265016 2265082 - CallExpression 2265016 2265078 - PropertyAccessExpression 2265016 2265072 - PropertyAccessExpression 2265016 2265064 - PropertyAccessExpression 2265016 2265053 - Identifier 2265016 2265046 - Identifier 2265047 2265053 - Identifier 2265054 2265064 - Identifier 2265065 2265072 - Identifier 2265073 2265077 - MinusToken 2265078 2265080 - NumericLiteral 2265080 2265082 - ColonToken 2265082 2265084 - CallExpression 2265084 2265146 - PropertyAccessExpression 2265084 2265140 - PropertyAccessExpression 2265084 2265132 - PropertyAccessExpression 2265084 2265121 - Identifier 2265084 2265114 - Identifier 2265115 2265121 - Identifier 2265122 2265132 - Identifier 2265133 2265140 - Identifier 2265141 2265145 - ExpressionStatement 2265147 2265194 - CallExpression 2265147 2265193 - PropertyAccessExpression 2265147 2265181 - Identifier 2265147 2265174 - Identifier 2265175 2265181 - BinaryExpression 2265182 2265192 - Identifier 2265182 2265187 - GreaterThanEqualsToken 2265187 2265190 - NumericLiteral 2265190 2265192 - VariableStatement 2265194 2265556 - VariableDeclarationList 2265194 2265555 - VariableDeclaration 2265374 2265555 - Identifier 2265374 2265385 - ConditionalExpression 2265387 2265555 - CallExpression 2265387 2265425 - Identifier 2265387 2265412 - PropertyAccessExpression 2265413 2265424 - Identifier 2265413 2265417 - Identifier 2265418 2265424 - QuestionToken 2265425 2265427 - CallExpression 2265427 2265487 - Identifier 2265427 2265443 - CallExpression 2265444 2265486 - Identifier 2265444 2265466 - PropertyAccessExpression 2265467 2265485 - PropertyAccessExpression 2265467 2265478 - Identifier 2265467 2265471 - Identifier 2265472 2265478 - Identifier 2265479 2265485 - ColonToken 2265487 2265489 - CallExpression 2265489 2265555 - Identifier 2265489 2265542 - PropertyAccessExpression 2265543 2265554 - Identifier 2265543 2265547 - Identifier 2265548 2265554 - VariableStatement 2265556 2265721 - VariableDeclarationList 2265556 2265720 - VariableDeclaration 2265585 2265720 - Identifier 2265585 2265593 - ConditionalExpression 2265595 2265720 - CallExpression 2265595 2265633 - Identifier 2265595 2265620 - PropertyAccessExpression 2265621 2265632 - Identifier 2265621 2265625 - Identifier 2265626 2265632 - QuestionToken 2265633 2265635 - Identifier 2265635 2265649 - ColonToken 2265649 2265651 - CallExpression 2265651 2265720 - Identifier 2265651 2265707 - PropertyAccessExpression 2265708 2265719 - Identifier 2265708 2265712 - Identifier 2265713 2265719 - VariableStatement 2265721 2265791 - VariableDeclarationList 2265721 2265790 - VariableDeclaration 2265750 2265790 - Identifier 2265750 2265760 - CallExpression 2265762 2265790 - Identifier 2265762 2265783 - Identifier 2265784 2265789 - VariableStatement 2265791 2265885 - VariableDeclarationList 2265791 2265884 - VariableDeclaration 2265820 2265884 - Identifier 2265820 2265832 - CallExpression 2265834 2265884 - Identifier 2265834 2265850 - AsExpression 2265851 2265871 - StringLiteral 2265851 2265859 - TypeReference 2265862 2265871 - Identifier 2265862 2265871 - Identifier 2265872 2265883 - VariableStatement 2265885 2265976 - VariableDeclarationList 2265885 2265975 - VariableDeclaration 2265912 2265975 - Identifier 2265912 2265921 - CallExpression 2265923 2265975 - Identifier 2265923 2265939 - AsExpression 2265940 2265965 - StringLiteral 2265940 2265953 - TypeReference 2265956 2265965 - Identifier 2265956 2265965 - Identifier 2265966 2265974 - VariableStatement 2265976 2266074 - VariableDeclarationList 2265976 2266073 - VariableDeclaration 2266003 2266073 - Identifier 2266003 2266014 - CallExpression 2266016 2266073 - Identifier 2266016 2266032 - AsExpression 2266033 2266061 - StringLiteral 2266033 2266049 - TypeReference 2266052 2266061 - Identifier 2266052 2266061 - Identifier 2266062 2266072 - ExpressionStatement 2266074 2266373 - BinaryExpression 2266074 2266372 - PropertyAccessExpression 2266074 2266120 - Identifier 2266074 2266101 - Identifier 2266102 2266120 - EqualsToken 2266120 2266122 - CallExpression 2266122 2266372 - Identifier 2266122 2266142 - Identifier 2266143 2266197 - Identifier 2266198 2266251 - ArrayLiteralExpression 2266252 2266313 - Identifier 2266279 2266290 - Identifier 2266291 2266300 - Identifier 2266301 2266312 - Identifier 2266314 2266348 - BreakStatement 2266373 2266401 - CaseClause 2266420 2266472 - PropertyAccessExpression 2266442 2266471 - Identifier 2266442 2266453 - Identifier 2266454 2266471 - CaseClause 2266472 2266518 - PropertyAccessExpression 2266494 2266517 - Identifier 2266494 2266505 - Identifier 2266506 2266517 - CaseClause 2266518 2266564 - PropertyAccessExpression 2266540 2266563 - Identifier 2266540 2266551 - Identifier 2266552 2266563 - CaseClause 2266564 2268656 - PropertyAccessExpression 2266586 2266617 - Identifier 2266586 2266597 - Identifier 2266598 2266617 - Block 2266618 2268656 - VariableStatement 2266620 2266727 - VariableDeclarationList 2266620 2266726 - VariableDeclaration 2266647 2266726 - Identifier 2266647 2266652 - AsExpression 2266654 2266726 - Identifier 2266654 2266661 - UnionType 2266664 2266726 - TypeReference 2266664 2266682 - Identifier 2266664 2266682 - TypeReference 2266684 2266704 - Identifier 2266684 2266704 - TypeReference 2266706 2266726 - Identifier 2266706 2266726 - IfStatement 2266727 2266786 - PrefixUnaryExpression 2266753 2266778 - CallExpression 2266754 2266778 - Identifier 2266754 2266765 - PropertyAccessExpression 2266766 2266777 - Identifier 2266766 2266770 - Identifier 2266771 2266777 - BreakStatement 2266779 2266786 - VariableStatement 2266786 2267058 - VariableDeclarationList 2266786 2267057 - VariableDeclaration 2267010 2267057 - Identifier 2267010 2267021 - CallExpression 2267023 2267057 - Identifier 2267023 2267051 - Identifier 2267052 2267056 - VariableStatement 2267058 2267150 - VariableDeclarationList 2267058 2267149 - VariableDeclaration 2267085 2267149 - Identifier 2267085 2267097 - CallExpression 2267099 2267149 - Identifier 2267099 2267115 - AsExpression 2267116 2267136 - StringLiteral 2267116 2267124 - TypeReference 2267127 2267136 - Identifier 2267127 2267136 - Identifier 2267137 2267148 - VariableStatement 2267150 2267227 - VariableDeclarationList 2267150 2267226 - VariableDeclaration 2267179 2267226 - Identifier 2267179 2267187 - CallExpression 2267189 2267226 - Identifier 2267189 2267220 - Identifier 2267221 2267225 - VariableStatement 2267227 2267318 - VariableDeclarationList 2267227 2267317 - VariableDeclaration 2267254 2267317 - Identifier 2267254 2267263 - CallExpression 2267265 2267317 - Identifier 2267265 2267281 - AsExpression 2267282 2267307 - StringLiteral 2267282 2267295 - TypeReference 2267298 2267307 - Identifier 2267298 2267307 - Identifier 2267308 2267316 - VariableStatement 2267318 2267482 - VariableDeclarationList 2267318 2267481 - VariableDeclaration 2267347 2267481 - Identifier 2267347 2267358 - ConditionalExpression 2267360 2267481 - CallExpression 2267360 2267388 - Identifier 2267360 2267382 - Identifier 2267383 2267387 - QuestionToken 2267388 2267390 - Identifier 2267390 2267399 - ColonToken 2267399 2267401 - CallExpression 2267401 2267481 - Identifier 2267401 2267460 - CallExpression 2267461 2267480 - Identifier 2267461 2267474 - Identifier 2267475 2267479 - VariableStatement 2267482 2267588 - VariableDeclarationList 2267482 2267587 - VariableDeclaration 2267511 2267587 - Identifier 2267511 2267523 - BinaryExpression 2267525 2267587 - PrefixUnaryExpression 2267525 2267556 - CallExpression 2267527 2267556 - Identifier 2267527 2267548 - Identifier 2267549 2267555 - BarBarToken 2267556 2267559 - CallExpression 2267559 2267587 - Identifier 2267559 2267579 - Identifier 2267580 2267586 - IfStatement 2267588 2268609 - Identifier 2267614 2267625 - Block 2267626 2268219 - VariableStatement 2267628 2267732 - VariableDeclarationList 2267628 2267731 - VariableDeclaration 2267659 2267731 - Identifier 2267659 2267674 - CallExpression 2267676 2267731 - Identifier 2267676 2267710 - CallExpression 2267711 2267730 - Identifier 2267711 2267724 - Identifier 2267725 2267729 - VariableStatement 2267732 2267840 - VariableDeclarationList 2267732 2267839 - VariableDeclaration 2267763 2267839 - Identifier 2267763 2267779 - CallExpression 2267781 2267839 - Identifier 2267781 2267797 - AsExpression 2267798 2267822 - StringLiteral 2267798 2267810 - TypeReference 2267813 2267822 - Identifier 2267813 2267822 - Identifier 2267823 2267838 - ExpressionStatement 2267840 2268196 - BinaryExpression 2267840 2268195 - PropertyAccessExpression 2267840 2267890 - Identifier 2267840 2267871 - Identifier 2267872 2267890 - EqualsToken 2267890 2267892 - CallExpression 2267892 2268195 - Identifier 2267892 2267912 - Identifier 2267913 2267971 - Identifier 2267972 2268029 - ArrayLiteralExpression 2268030 2268100 - Identifier 2268061 2268072 - Identifier 2268073 2268082 - Identifier 2268083 2268099 - CallExpression 2268101 2268167 - Identifier 2268101 2268143 - ArrayLiteralExpression 2268144 2268166 - Identifier 2268145 2268155 - Identifier 2268156 2268165 - Block 2268245 2268609 - ExpressionStatement 2268247 2268586 - BinaryExpression 2268247 2268585 - PropertyAccessExpression 2268247 2268297 - Identifier 2268247 2268278 - Identifier 2268279 2268297 - EqualsToken 2268297 2268299 - CallExpression 2268299 2268585 - Identifier 2268299 2268319 - Identifier 2268320 2268378 - Identifier 2268379 2268436 - ArrayLiteralExpression 2268437 2268490 - Identifier 2268468 2268479 - Identifier 2268480 2268489 - CallExpression 2268491 2268557 - Identifier 2268491 2268533 - ArrayLiteralExpression 2268534 2268556 - Identifier 2268535 2268545 - Identifier 2268546 2268555 - BreakStatement 2268609 2268637 - ReturnStatement 2268682 2268780 - ConditionalExpression 2268698 2268779 - BinaryExpression 2268698 2268740 - PropertyAccessExpression 2268698 2268723 - Identifier 2268698 2268704 - Identifier 2268705 2268723 - EqualsEqualsEqualsToken 2268723 2268727 - Identifier 2268727 2268740 - QuestionToken 2268740 2268742 - Identifier 2268742 2268752 - ColonToken 2268752 2268754 - PropertyAccessExpression 2268754 2268779 - Identifier 2268754 2268760 - Identifier 2268761 2268779 - FunctionDeclaration 2268787 2268993 - Identifier 2268803 2268829 - Parameter 2268830 2268850 - Identifier 2268830 2268839 - TypeReference 2268840 2268850 - Identifier 2268840 2268850 - Block 2268851 2268993 - ReturnStatement 2268853 2268986 - ConditionalExpression 2268869 2268985 - Identifier 2268869 2268886 - QuestionToken 2268886 2268888 - CallExpression 2268888 2268931 - Identifier 2268888 2268920 - Identifier 2268921 2268930 - ColonToken 2268931 2268933 - CallExpression 2268933 2268985 - Identifier 2268933 2268974 - Identifier 2268975 2268984 - FunctionDeclaration 2268993 2269685 - Identifier 2269009 2269027 - Parameter 2269028 2269046 - Identifier 2269028 2269040 - TypeReference 2269041 2269046 - Identifier 2269041 2269046 - TypeReference 2269048 2269053 - Identifier 2269048 2269053 - Block 2269053 2269685 - VariableStatement 2269055 2269214 - VariableDeclarationList 2269055 2269213 - VariableDeclaration 2269149 2269213 - Identifier 2269149 2269167 - CallExpression 2269169 2269213 - Identifier 2269169 2269190 - TrueKeyword 2269191 2269212 - IfStatement 2269214 2269647 - BinaryExpression 2269228 2269266 - Identifier 2269228 2269245 - ExclamationEqualsEqualsToken 2269245 2269249 - Identifier 2269249 2269266 - Block 2269267 2269647 - ExpressionStatement 2269269 2269560 - BinaryExpression 2269269 2269559 - Identifier 2269269 2269487 - EqualsToken 2269487 2269489 - BinaryExpression 2269489 2269559 - CallExpression 2269489 2269544 - Identifier 2269489 2269511 - CallExpression 2269512 2269543 - Identifier 2269512 2269529 - Identifier 2269530 2269542 - BarBarToken 2269544 2269547 - Identifier 2269547 2269559 - ReturnStatement 2269560 2269636 - CallExpression 2269580 2269635 - Identifier 2269580 2269600 - Identifier 2269601 2269618 - ArrayLiteralExpression 2269619 2269634 - Identifier 2269621 2269633 - ReturnStatement 2269647 2269678 - Identifier 2269665 2269677 - FunctionDeclaration 2269685 2270401 - Identifier 2269701 2269723 - Parameter 2269724 2269742 - Identifier 2269724 2269736 - TypeReference 2269737 2269742 - Identifier 2269737 2269742 - TypeReference 2269744 2269749 - Identifier 2269744 2269749 - Block 2269749 2270401 - VariableStatement 2269751 2269922 - VariableDeclarationList 2269751 2269921 - VariableDeclaration 2269849 2269921 - Identifier 2269849 2269871 - CallExpression 2269873 2269921 - Identifier 2269873 2269898 - TrueKeyword 2269899 2269920 - IfStatement 2269922 2270363 - BinaryExpression 2269936 2269978 - Identifier 2269936 2269957 - ExclamationEqualsEqualsToken 2269957 2269961 - Identifier 2269961 2269978 - Block 2269979 2270363 - ExpressionStatement 2269981 2270272 - BinaryExpression 2269981 2270271 - Identifier 2269981 2270199 - EqualsToken 2270199 2270201 - BinaryExpression 2270201 2270271 - CallExpression 2270201 2270256 - Identifier 2270201 2270223 - CallExpression 2270224 2270255 - Identifier 2270224 2270241 - Identifier 2270242 2270254 - BarBarToken 2270256 2270259 - Identifier 2270259 2270271 - ReturnStatement 2270272 2270352 - CallExpression 2270292 2270351 - Identifier 2270292 2270312 - Identifier 2270313 2270334 - ArrayLiteralExpression 2270335 2270350 - Identifier 2270337 2270349 - ReturnStatement 2270363 2270394 - Identifier 2270381 2270393 - FunctionDeclaration 2270401 2271695 - Identifier 2270417 2270441 - Parameter 2270442 2270484 - Identifier 2270442 2270446 - UnionType 2270447 2270484 - TypeReference 2270447 2270471 - Identifier 2270447 2270471 - TypeReference 2270473 2270484 - Identifier 2270473 2270484 - Parameter 2270485 2270504 - Identifier 2270485 2270498 - TypeReference 2270499 2270504 - Identifier 2270499 2270504 - Block 2270505 2271695 - VariableStatement 2270507 2270569 - VariableDeclarationList 2270507 2270568 - VariableDeclaration 2270522 2270568 - Identifier 2270522 2270534 - CallExpression 2270536 2270568 - Identifier 2270536 2270554 - Identifier 2270555 2270567 - IfStatement 2270569 2271657 - BinaryExpression 2270583 2270610 - Identifier 2270583 2270594 - EqualsEqualsEqualsToken 2270594 2270598 - Identifier 2270598 2270610 - Block 2270611 2271075 - ExpressionStatement 2270613 2271033 - CallExpression 2270613 2271032 - Identifier 2270613 2270632 - Identifier 2270633 2270655 - ConditionalExpression 2270656 2271016 - CallExpression 2270656 2270692 - Identifier 2270656 2270686 - Identifier 2270687 2270691 - QuestionToken 2270692 2270694 - PropertyAccessExpression 2270694 2270849 - Identifier 2270694 2270727 - Identifier 2270728 2270849 - ColonToken 2270849 2270851 - PropertyAccessExpression 2270851 2271016 - Identifier 2270851 2270884 - Identifier 2270885 2271016 - ReturnStatement 2271033 2271064 - Identifier 2271053 2271063 - IfStatement 2271089 2271657 - PrefixUnaryExpression 2271094 2271151 - CallExpression 2271095 2271151 - Identifier 2271095 2271128 - TrueKeyword 2271129 2271150 - Block 2271152 2271657 - ExpressionStatement 2271154 2271646 - CallExpression 2271154 2271645 - Identifier 2271154 2271173 - Identifier 2271174 2271196 - ConditionalExpression 2271197 2271629 - CallExpression 2271197 2271233 - Identifier 2271197 2271227 - Identifier 2271228 2271232 - QuestionToken 2271233 2271235 - PropertyAccessExpression 2271235 2271428 - Identifier 2271235 2271268 - Identifier 2271269 2271428 - ColonToken 2271428 2271430 - PropertyAccessExpression 2271430 2271629 - Identifier 2271430 2271463 - Identifier 2271464 2271629 - ReturnStatement 2271657 2271688 - Identifier 2271675 2271687 - FunctionDeclaration 2271695 2272363 - Identifier 2271711 2271741 - Parameter 2271742 2271758 - Identifier 2271742 2271752 - TypeReference 2271753 2271758 - Identifier 2271753 2271758 - TypeReference 2271760 2271765 - Identifier 2271760 2271765 - Block 2271765 2272363 - VariableStatement 2271767 2271940 - VariableDeclarationList 2271767 2271939 - VariableDeclaration 2271864 2271939 - Identifier 2271864 2271871 - CallExpression 2271873 2271939 - Identifier 2271873 2271886 - PropertyAccessExpression 2271887 2271903 - Identifier 2271887 2271898 - Identifier 2271899 2271903 - AsExpression 2271904 2271938 - StringLiteral 2271904 2271926 - TypeReference 2271929 2271938 - Identifier 2271929 2271938 - VariableStatement 2271940 2272059 - VariableDeclarationList 2271940 2272058 - VariableDeclaration 2271957 2272058 - Identifier 2271957 2271978 - CallExpression 2271980 2272058 - Identifier 2271980 2271993 - PropertyAccessExpression 2271994 2272014 - Identifier 2271994 2272005 - Identifier 2272006 2272014 - AsExpression 2272015 2272036 - StringLiteral 2272015 2272024 - TypeReference 2272027 2272036 - Identifier 2272027 2272036 - PropertyAccessExpression 2272037 2272057 - Identifier 2272037 2272048 - Identifier 2272049 2272057 - ExpressionStatement 2272059 2272106 - BinaryExpression 2272059 2272105 - PropertyAccessExpression 2272059 2272096 - Identifier 2272059 2272089 - Identifier 2272090 2272096 - EqualsToken 2272096 2272098 - Identifier 2272098 2272105 - ExpressionStatement 2272106 2272161 - BinaryExpression 2272106 2272160 - PropertyAccessExpression 2272106 2272147 - PropertyAccessExpression 2272106 2272142 - Identifier 2272106 2272136 - Identifier 2272137 2272142 - Identifier 2272143 2272147 - EqualsToken 2272147 2272149 - Identifier 2272149 2272160 - VariableStatement 2272161 2272231 - VariableDeclarationList 2272161 2272230 - VariableDeclaration 2272178 2272230 - Identifier 2272178 2272186 - CallExpression 2272188 2272230 - Identifier 2272188 2272206 - ArrayLiteralExpression 2272207 2272229 - Identifier 2272208 2272228 - ExpressionStatement 2272231 2272266 - BinaryExpression 2272231 2272265 - PropertyAccessExpression 2272231 2272255 - Identifier 2272231 2272247 - Identifier 2272248 2272255 - EqualsToken 2272255 2272257 - Identifier 2272257 2272265 - ReturnStatement 2272266 2272356 - CallExpression 2272282 2272355 - Identifier 2272282 2272302 - Identifier 2272303 2272309 - Identifier 2272310 2272318 - Identifier 2272319 2272330 - Identifier 2272331 2272342 - Identifier 2272343 2272354 - FunctionDeclaration 2272363 2278505 - Identifier 2272379 2272401 - Parameter 2272402 2272431 - Identifier 2272402 2272406 - TypeReference 2272407 2272431 - Identifier 2272407 2272431 - Parameter 2272432 2272454 - Identifier 2272432 2272442 - QuestionToken 2272442 2272443 - TypeReference 2272444 2272454 - Identifier 2272444 2272454 - TypeReference 2272456 2272461 - Identifier 2272456 2272461 - Block 2272461 2278505 - IfStatement 2272463 2272532 - PrefixUnaryExpression 2272477 2272487 - PropertyAccessExpression 2272478 2272487 - Identifier 2272478 2272482 - Identifier 2272483 2272487 - Block 2272488 2272532 - ReturnStatement 2272490 2272521 - Identifier 2272510 2272520 - VariableStatement 2272532 2272589 - VariableDeclarationList 2272532 2272588 - VariableDeclaration 2272549 2272588 - Identifier 2272549 2272563 - CallExpression 2272565 2272588 - Identifier 2272565 2272582 - Identifier 2272583 2272587 - VariableStatement 2272589 2272659 - VariableDeclarationList 2272589 2272658 - VariableDeclaration 2272604 2272658 - Identifier 2272604 2272612 - BinaryExpression 2272614 2272658 - ParenthesizedExpression 2272614 2272652 - BinaryExpression 2272616 2272651 - Identifier 2272616 2272629 - AmpersandToken 2272629 2272631 - PropertyAccessExpression 2272631 2272651 - Identifier 2272631 2272645 - Identifier 2272646 2272651 - ExclamationEqualsEqualsToken 2272652 2272656 - NumericLiteral 2272656 2272658 - VariableStatement 2272659 2272737 - VariableDeclarationList 2272659 2272736 - VariableDeclaration 2272674 2272736 - Identifier 2272674 2272686 - BinaryExpression 2272688 2272736 - ParenthesizedExpression 2272688 2272730 - BinaryExpression 2272690 2272729 - Identifier 2272690 2272703 - AmpersandToken 2272703 2272705 - PropertyAccessExpression 2272705 2272729 - Identifier 2272705 2272719 - Identifier 2272720 2272729 - ExclamationEqualsEqualsToken 2272730 2272734 - NumericLiteral 2272734 2272736 - VariableStatement 2272737 2272782 - VariableDeclarationList 2272737 2272781 - VariableDeclaration 2272752 2272781 - Identifier 2272752 2272763 - UnionType 2272764 2272781 - TypeReference 2272764 2272769 - Identifier 2272764 2272769 - UndefinedKeyword 2272771 2272781 - VariableStatement 2272782 2272824 - VariableDeclarationList 2272782 2272823 - VariableDeclaration 2272795 2272823 - Identifier 2272795 2272805 - UnionType 2272806 2272823 - TypeReference 2272806 2272811 - Identifier 2272806 2272811 - UndefinedKeyword 2272813 2272823 - VariableStatement 2272824 2272865 - VariableDeclarationList 2272824 2272864 - VariableDeclaration 2272837 2272864 - Identifier 2272837 2272846 - UnionType 2272847 2272864 - TypeReference 2272847 2272852 - Identifier 2272847 2272852 - UndefinedKeyword 2272854 2272864 - VariableStatement 2272865 2272915 - VariableDeclarationList 2272865 2272914 - VariableDeclaration 2272878 2272914 - Identifier 2272878 2272897 - TypeReference 2272898 2272903 - Identifier 2272898 2272903 - Identifier 2272905 2272914 - IfStatement 2272915 2275789 - BinaryExpression 2272929 2272964 - PropertyAccessExpression 2272929 2272943 - PropertyAccessExpression 2272929 2272938 - Identifier 2272929 2272933 - Identifier 2272934 2272938 - Identifier 2272939 2272943 - ExclamationEqualsEqualsToken 2272943 2272947 - PropertyAccessExpression 2272947 2272964 - Identifier 2272947 2272958 - Identifier 2272959 2272964 - Block 2272965 2273813 - ExpressionStatement 2272967 2273119 - BinaryExpression 2272967 2273118 - Identifier 2272967 2273025 - EqualsToken 2273025 2273027 - CallExpression 2273027 2273118 - Identifier 2273027 2273049 - PropertyAccessExpression 2273050 2273059 - Identifier 2273050 2273054 - Identifier 2273055 2273059 - BinaryExpression 2273060 2273117 - Identifier 2273060 2273070 - AmpersandAmpersandToken 2273070 2273073 - BinaryExpression 2273073 2273117 - Identifier 2273073 2273083 - AmpersandToken 2273083 2273085 - PrefixUnaryExpression 2273085 2273117 - PropertyAccessExpression 2273087 2273117 - Identifier 2273087 2273096 - Identifier 2273097 2273117 - IfStatement 2273119 2273802 - Identifier 2273137 2273144 - Block 2273145 2273802 - ExpressionStatement 2273147 2273787 - BinaryExpression 2273147 2273786 - Identifier 2273147 2273571 - EqualsToken 2273571 2273573 - CallExpression 2273573 2273786 - Identifier 2273573 2273591 - CallExpression 2273592 2273785 - Identifier 2273592 2273608 - Identifier 2273609 2273619 - FalseKeyword 2273620 2273640 - Identifier 2273641 2273660 - PropertyAccessExpression 2273661 2273784 - Identifier 2273661 2273673 - Identifier 2273674 2273784 - IfStatement 2273827 2275789 - Identifier 2273832 2273843 - Block 2273844 2274520 - VariableStatement 2273846 2273976 - VariableDeclarationList 2273846 2273975 - VariableDeclaration 2273905 2273975 - Identifier 2273905 2273917 - CallExpression 2273919 2273975 - Identifier 2273919 2273958 - Identifier 2273959 2273963 - Identifier 2273964 2273974 - IfStatement 2273976 2274217 - PrefixUnaryExpression 2273994 2274006 - Identifier 2273995 2274006 - Block 2274007 2274073 - ExpressionStatement 2274009 2274058 - BinaryExpression 2274009 2274057 - Identifier 2274009 2274045 - EqualsToken 2274045 2274047 - Identifier 2274047 2274057 - IfStatement 2274091 2274217 - BinaryExpression 2274096 2274118 - PropertyAccessExpression 2274096 2274114 - Identifier 2274096 2274107 - Identifier 2274108 2274114 - GreaterThanToken 2274114 2274116 - NumericLiteral 2274116 2274118 - Block 2274119 2274217 - ExpressionStatement 2274121 2274202 - BinaryExpression 2274121 2274201 - Identifier 2274121 2274149 - EqualsToken 2274149 2274151 - CallExpression 2274151 2274201 - Identifier 2274151 2274164 - Identifier 2274165 2274176 - PropertyAccessExpression 2274177 2274200 - Identifier 2274177 2274192 - Identifier 2274193 2274200 - VariableStatement 2274217 2274317 - VariableDeclarationList 2274217 2274316 - VariableDeclaration 2274236 2274316 - ObjectBindingPattern 2274236 2274262 - BindingElement 2274238 2274249 - Identifier 2274238 2274249 - BindingElement 2274250 2274260 - Identifier 2274250 2274260 - CallExpression 2274264 2274316 - Identifier 2274264 2274299 - Identifier 2274300 2274304 - Identifier 2274305 2274315 - ExpressionStatement 2274317 2274423 - BinaryExpression 2274317 2274422 - Identifier 2274317 2274340 - EqualsToken 2274340 2274342 - ConditionalExpression 2274342 2274422 - CallExpression 2274342 2274359 - Identifier 2274342 2274347 - Identifier 2274348 2274358 - QuestionToken 2274359 2274361 - CallExpression 2274361 2274410 - Identifier 2274361 2274374 - Identifier 2274375 2274385 - PropertyAccessExpression 2274386 2274409 - Identifier 2274386 2274401 - Identifier 2274402 2274409 - ColonToken 2274410 2274412 - Identifier 2274412 2274422 - ExpressionStatement 2274423 2274509 - BinaryExpression 2274423 2274508 - Identifier 2274423 2274445 - EqualsToken 2274445 2274447 - ConditionalExpression 2274447 2274508 - CallExpression 2274447 2274463 - Identifier 2274447 2274452 - Identifier 2274453 2274462 - QuestionToken 2274463 2274465 - CallExpression 2274465 2274496 - Identifier 2274465 2274485 - Identifier 2274486 2274495 - ColonToken 2274496 2274498 - Identifier 2274498 2274508 - Block 2274534 2275789 - VariableStatement 2274536 2274648 - VariableDeclarationList 2274536 2274647 - VariableDeclaration 2274583 2274647 - Identifier 2274583 2274589 - CallExpression 2274591 2274647 - Identifier 2274591 2274630 - Identifier 2274631 2274635 - Identifier 2274636 2274646 - IfStatement 2274648 2274995 - PrefixUnaryExpression 2274666 2274672 - Identifier 2274667 2274672 - Block 2274673 2274995 - ReturnStatement 2274675 2274961 - ConditionalExpression 2274809 2274960 - BinaryExpression 2274809 2274845 - Identifier 2274809 2274823 - AmpersandToken 2274823 2274825 - PropertyAccessExpression 2274825 2274845 - Identifier 2274825 2274839 - Identifier 2274840 2274845 - QuestionToken 2274845 2274868 - CallExpression 2274868 2274909 - Identifier 2274868 2274892 - Identifier 2274893 2274897 - Identifier 2274898 2274908 - ColonToken 2274909 2274950 - Identifier 2274950 2274960 - IfStatement 2274995 2275642 - BinaryExpression 2275013 2275031 - PropertyAccessExpression 2275013 2275025 - Identifier 2275013 2275018 - Identifier 2275019 2275025 - EqualsEqualsEqualsToken 2275025 2275029 - NumericLiteral 2275029 2275031 - Block 2275032 2275642 - VariableStatement 2275034 2275267 - VariableDeclarationList 2275034 2275266 - VariableDeclaration 2275185 2275266 - Identifier 2275185 2275206 - CallExpression 2275208 2275266 - Identifier 2275208 2275232 - Identifier 2275233 2275237 - Identifier 2275238 2275265 - VariableStatement 2275267 2275451 - VariableDeclarationList 2275267 2275450 - VariableDeclaration 2275290 2275450 - Identifier 2275290 2275301 - ConditionalExpression 2275303 2275450 - BinaryExpression 2275303 2275423 - Identifier 2275303 2275324 - AmpersandAmpersandToken 2275324 2275327 - BinaryExpression 2275327 2275423 - PropertyAccessExpression 2275327 2275401 - ParenthesizedExpression 2275327 2275395 - BinaryExpression 2275329 2275394 - CallExpression 2275329 2275382 - Identifier 2275329 2275345 - Identifier 2275346 2275366 - Identifier 2275367 2275381 - BarBarToken 2275382 2275385 - Identifier 2275385 2275394 - Identifier 2275396 2275401 - AmpersandToken 2275401 2275403 - PropertyAccessExpression 2275403 2275423 - Identifier 2275403 2275413 - Identifier 2275414 2275423 - QuestionToken 2275423 2275425 - Identifier 2275425 2275439 - ColonToken 2275439 2275441 - Identifier 2275441 2275450 - ReturnStatement 2275451 2275608 - ConditionalExpression 2275475 2275607 - BinaryExpression 2275475 2275511 - Identifier 2275475 2275489 - AmpersandToken 2275489 2275491 - PropertyAccessExpression 2275491 2275511 - Identifier 2275491 2275505 - Identifier 2275506 2275511 - QuestionToken 2275511 2275513 - CallExpression 2275513 2275555 - Identifier 2275513 2275537 - Identifier 2275538 2275542 - Identifier 2275543 2275554 - ColonToken 2275555 2275557 - Identifier 2275557 2275607 - ExpressionStatement 2275642 2275778 - BinaryExpression 2275642 2275777 - Identifier 2275642 2275731 - EqualsToken 2275731 2275733 - CallExpression 2275733 2275777 - Identifier 2275733 2275746 - Identifier 2275747 2275752 - PropertyAccessExpression 2275753 2275776 - Identifier 2275753 2275768 - Identifier 2275769 2275776 - IfStatement 2275789 2277685 - BinaryExpression 2275805 2275840 - BinaryExpression 2275805 2275828 - Identifier 2275805 2275815 - BarBarToken 2275815 2275818 - Identifier 2275818 2275828 - BarBarToken 2275828 2275831 - Identifier 2275831 2275840 - Block 2275841 2277685 - IfStatement 2275843 2275943 - Identifier 2275861 2275870 - ExpressionStatement 2275871 2275943 - CallExpression 2275871 2275942 - Identifier 2275871 2275896 - Identifier 2275897 2275901 - Identifier 2275902 2275912 - PropertyAccessExpression 2275913 2275941 - Identifier 2275913 2275926 - Identifier 2275927 2275941 - IfStatement 2275943 2276045 - Identifier 2275961 2275971 - ExpressionStatement 2275972 2276045 - CallExpression 2275972 2276044 - Identifier 2275972 2275997 - Identifier 2275998 2276002 - Identifier 2276003 2276014 - PropertyAccessExpression 2276015 2276043 - Identifier 2276015 2276028 - Identifier 2276029 2276043 - IfStatement 2276045 2276142 - Identifier 2276063 2276071 - ExpressionStatement 2276072 2276142 - CallExpression 2276072 2276141 - Identifier 2276072 2276097 - Identifier 2276098 2276102 - Identifier 2276103 2276112 - PropertyAccessExpression 2276113 2276140 - Identifier 2276113 2276126 - Identifier 2276127 2276140 - IfStatement 2276142 2277471 - BinaryExpression 2276160 2276322 - BinaryExpression 2276160 2276269 - BinaryExpression 2276160 2276214 - Identifier 2276160 2276188 - AmpersandAmpersandToken 2276188 2276191 - CallExpression 2276191 2276214 - Identifier 2276191 2276202 - Identifier 2276203 2276213 - BarBarToken 2276214 2276217 - BinaryExpression 2276217 2276269 - Identifier 2276217 2276244 - AmpersandAmpersandToken 2276244 2276247 - CallExpression 2276247 2276269 - Identifier 2276247 2276258 - Identifier 2276259 2276268 - BarBarToken 2276269 2276272 - BinaryExpression 2276272 2276322 - Identifier 2276272 2276298 - AmpersandAmpersandToken 2276298 2276301 - CallExpression 2276301 2276322 - Identifier 2276301 2276312 - Identifier 2276313 2276321 - Block 2276337 2277471 - VariableStatement 2276339 2276440 - VariableDeclarationList 2276339 2276439 - VariableDeclaration 2276362 2276439 - Identifier 2276362 2276382 - CallExpression 2276384 2276439 - Identifier 2276384 2276433 - Identifier 2276434 2276438 - VariableStatement 2276440 2276764 - VariableDeclarationList 2276440 2276763 - VariableDeclaration 2276463 2276763 - Identifier 2276463 2276478 - ConditionalExpression 2276480 2276763 - PrefixUnaryExpression 2276480 2276501 - Identifier 2276482 2276501 - QuestionToken 2276501 2276503 - Identifier 2276503 2276513 - ColonToken 2276513 2276515 - ConditionalExpression 2276515 2276763 - BinaryExpression 2276515 2276594 - Identifier 2276515 2276556 - EqualsEqualsEqualsToken 2276556 2276560 - CallExpression 2276560 2276594 - Identifier 2276560 2276588 - Identifier 2276589 2276593 - QuestionToken 2276594 2276596 - ConditionalExpression 2276596 2276633 - Identifier 2276596 2276608 - QuestionToken 2276608 2276610 - Identifier 2276610 2276620 - ColonToken 2276620 2276622 - Identifier 2276622 2276633 - ColonToken 2276633 2276635 - CallExpression 2276635 2276763 - Identifier 2276635 2276682 - CallExpression 2276683 2276728 - Identifier 2276683 2276707 - Identifier 2276708 2276727 - Identifier 2276729 2276734 - Identifier 2276735 2276762 - IfStatement 2276764 2277456 - Identifier 2276786 2276797 - Block 2276798 2277284 - ExpressionStatement 2276800 2276955 - BinaryExpression 2276800 2276954 - Identifier 2276800 2276831 - EqualsToken 2276831 2276833 - CallExpression 2276833 2276954 - Identifier 2276833 2276893 - Identifier 2276894 2276903 - Identifier 2276904 2276919 - PropertyAccessExpression 2276920 2276944 - Identifier 2276920 2276938 - Identifier 2276939 2276944 - Identifier 2276945 2276953 - ExpressionStatement 2276955 2277113 - BinaryExpression 2276955 2277112 - Identifier 2276955 2276987 - EqualsToken 2276987 2276989 - CallExpression 2276989 2277112 - Identifier 2276989 2277049 - Identifier 2277050 2277060 - Identifier 2277061 2277076 - PropertyAccessExpression 2277077 2277102 - Identifier 2277077 2277095 - Identifier 2277096 2277102 - Identifier 2277103 2277111 - ExpressionStatement 2277113 2277265 - BinaryExpression 2277113 2277264 - Identifier 2277113 2277143 - EqualsToken 2277143 2277145 - CallExpression 2277145 2277264 - Identifier 2277145 2277205 - Identifier 2277206 2277214 - Identifier 2277215 2277230 - PropertyAccessExpression 2277231 2277254 - Identifier 2277231 2277249 - Identifier 2277250 2277254 - Identifier 2277255 2277263 - Block 2277306 2277456 - ExpressionStatement 2277308 2277437 - BinaryExpression 2277308 2277436 - Identifier 2277308 2277340 - EqualsToken 2277340 2277342 - CallExpression 2277342 2277436 - Identifier 2277342 2277399 - Identifier 2277400 2277410 - Identifier 2277411 2277426 - Identifier 2277427 2277435 - IfStatement 2277471 2277540 - Identifier 2277491 2277500 - ExpressionStatement 2277501 2277540 - BinaryExpression 2277501 2277539 - Identifier 2277501 2277511 - EqualsToken 2277511 2277513 - CallExpression 2277513 2277539 - Identifier 2277513 2277528 - Identifier 2277529 2277538 - IfStatement 2277540 2277610 - Identifier 2277558 2277568 - ExpressionStatement 2277569 2277610 - BinaryExpression 2277569 2277609 - Identifier 2277569 2277580 - EqualsToken 2277580 2277582 - CallExpression 2277582 2277609 - Identifier 2277582 2277597 - Identifier 2277598 2277608 - IfStatement 2277610 2277674 - Identifier 2277628 2277636 - ExpressionStatement 2277637 2277674 - BinaryExpression 2277637 2277673 - Identifier 2277637 2277646 - EqualsToken 2277646 2277648 - CallExpression 2277648 2277673 - Identifier 2277648 2277663 - Identifier 2277664 2277672 - IfStatement 2277685 2278498 - Identifier 2277701 2277712 - Block 2277713 2278003 - ReturnStatement 2277715 2277992 - CallExpression 2277735 2277991 - Identifier 2277735 2277755 - BinaryExpression 2277756 2277796 - Identifier 2277756 2277783 - BarBarToken 2277783 2277786 - Identifier 2277786 2277796 - BinaryExpression 2277797 2277847 - Identifier 2277797 2277825 - BarBarToken 2277825 2277828 - Identifier 2277828 2277847 - BinaryExpression 2277848 2277949 - BinaryExpression 2277848 2277934 - Identifier 2277848 2277874 - BarBarToken 2277874 2277877 - CallExpression 2277877 2277934 - Identifier 2277877 2277904 - PropertyAccessExpression 2277905 2277927 - Identifier 2277905 2277922 - Identifier 2277923 2277927 - Identifier 2277928 2277933 - BarBarToken 2277934 2277937 - Identifier 2277937 2277949 - Identifier 2277950 2277975 - Block 2278017 2278498 - ReturnStatement 2278019 2278487 - ConditionalExpression 2278355 2278486 - Identifier 2278355 2278363 - QuestionToken 2278363 2278382 - CallExpression 2278382 2278434 - Identifier 2278382 2278400 - BinaryExpression 2278401 2278433 - Identifier 2278401 2278411 - BarBarToken 2278411 2278414 - Identifier 2278414 2278433 - ColonToken 2278434 2278453 - BinaryExpression 2278453 2278486 - Identifier 2278453 2278464 - BarBarToken 2278464 2278467 - Identifier 2278467 2278486 - FunctionDeclaration 2278505 2279777 - Identifier 2278521 2278541 - Parameter 2278542 2278557 - Identifier 2278542 2278551 - TypeReference 2278552 2278557 - Identifier 2278552 2278557 - Parameter 2278558 2278575 - Identifier 2278558 2278569 - TypeReference 2278570 2278575 - Identifier 2278570 2278575 - Parameter 2278576 2278591 - Identifier 2278576 2278585 - TypeReference 2278586 2278591 - Identifier 2278586 2278591 - Parameter 2278592 2278618 - Identifier 2278592 2278609 - BooleanKeyword 2278610 2278618 - Block 2278619 2279777 - VariableStatement 2278621 2278724 - VariableDeclarationList 2278621 2278723 - VariableDeclaration 2278636 2278723 - Identifier 2278636 2278645 - ConditionalExpression 2278647 2278723 - Identifier 2278647 2278664 - QuestionToken 2278664 2278666 - Identifier 2278666 2278694 - ColonToken 2278694 2278696 - Identifier 2278696 2278723 - VariableStatement 2278724 2278818 - VariableDeclarationList 2278724 2278817 - VariableDeclaration 2278739 2278817 - Identifier 2278739 2278759 - CallExpression 2278761 2278817 - PropertyAccessExpression 2278761 2278793 - Identifier 2278761 2278770 - Identifier 2278771 2278793 - FalseKeyword 2278794 2278816 - ExpressionStatement 2278818 2278921 - BinaryExpression 2278818 2278920 - Identifier 2278818 2278837 - EqualsToken 2278837 2278839 - BinaryExpression 2278839 2278920 - CallExpression 2278839 2278905 - PropertyAccessExpression 2278839 2278869 - Identifier 2278839 2278848 - Identifier 2278849 2278869 - Identifier 2278870 2278879 - Identifier 2278880 2278904 - BarBarToken 2278905 2278908 - Identifier 2278908 2278920 - ExpressionStatement 2278921 2279026 - BinaryExpression 2278921 2279025 - Identifier 2278921 2278941 - EqualsToken 2278941 2278943 - BinaryExpression 2278943 2279025 - CallExpression 2278943 2279010 - PropertyAccessExpression 2278943 2278973 - Identifier 2278943 2278952 - Identifier 2278953 2278973 - Identifier 2278974 2278984 - Identifier 2278985 2279009 - BarBarToken 2279010 2279013 - Identifier 2279013 2279025 - IfStatement 2279026 2279663 - BinaryExpression 2279040 2279080 - Identifier 2279040 2279059 - EqualsEqualsEqualsToken 2279059 2279063 - Identifier 2279063 2279080 - Block 2279081 2279663 - VariableStatement 2279083 2279258 - VariableDeclarationList 2279083 2279257 - VariableDeclaration 2279165 2279257 - Identifier 2279165 2279192 - CallExpression 2279194 2279257 - PropertyAccessExpression 2279194 2279233 - Identifier 2279194 2279203 - Identifier 2279204 2279233 - FalseKeyword 2279234 2279256 - IfStatement 2279258 2279461 - BinaryExpression 2279276 2279323 - Identifier 2279276 2279302 - ExclamationEqualsEqualsToken 2279302 2279306 - Identifier 2279306 2279323 - Block 2279324 2279461 - ReturnStatement 2279326 2279446 - CallExpression 2279350 2279445 - Identifier 2279350 2279382 - Identifier 2279383 2279409 - ArrayLiteralExpression 2279410 2279444 - Identifier 2279412 2279421 - Identifier 2279422 2279433 - Identifier 2279434 2279443 - ExpressionStatement 2279461 2279615 - CallExpression 2279461 2279614 - PropertyAccessExpression 2279461 2279591 - Identifier 2279461 2279561 - Identifier 2279562 2279591 - TrueKeyword 2279592 2279613 - ReturnStatement 2279615 2279652 - Identifier 2279635 2279651 - ReturnStatement 2279663 2279770 - CallExpression 2279681 2279769 - Identifier 2279681 2279713 - Identifier 2279714 2279733 - ArrayLiteralExpression 2279734 2279768 - Identifier 2279736 2279745 - Identifier 2279746 2279757 - Identifier 2279758 2279767 - FunctionDeclaration 2279777 2281102 - Identifier 2279793 2279828 - Parameter 2279829 2279858 - Identifier 2279829 2279833 - TypeReference 2279834 2279858 - Identifier 2279834 2279858 - Parameter 2279859 2279892 - Identifier 2279859 2279869 - UnionType 2279870 2279892 - TypeReference 2279870 2279880 - Identifier 2279870 2279880 - UndefinedKeyword 2279882 2279892 - Block 2279893 2281102 - VariableStatement 2279895 2279935 - VariableDeclarationList 2279895 2279934 - VariableDeclaration 2279910 2279934 - Identifier 2279910 2279921 - ArrayType 2279922 2279929 - TypeReference 2279922 2279927 - Identifier 2279922 2279927 - ArrayLiteralExpression 2279931 2279934 - VariableStatement 2279935 2279974 - VariableDeclarationList 2279935 2279973 - VariableDeclaration 2279950 2279973 - Identifier 2279950 2279960 - ArrayType 2279961 2279968 - TypeReference 2279961 2279966 - Identifier 2279961 2279966 - ArrayLiteralExpression 2279970 2279973 - VariableStatement 2279974 2280053 - VariableDeclarationList 2279974 2280052 - VariableDeclaration 2279989 2280052 - Identifier 2279989 2279997 - BinaryExpression 2279999 2280052 - ParenthesizedExpression 2279999 2280046 - BinaryExpression 2280001 2280045 - CallExpression 2280001 2280023 - Identifier 2280001 2280017 - Identifier 2280018 2280022 - AmpersandToken 2280023 2280025 - PropertyAccessExpression 2280025 2280045 - Identifier 2280025 2280039 - Identifier 2280040 2280045 - ExclamationEqualsEqualsToken 2280046 2280050 - NumericLiteral 2280050 2280052 - ExpressionStatement 2280053 2281052 - CallExpression 2280053 2281051 - Identifier 2280053 2280085 - AsExpression 2280086 2280104 - PropertyAccessExpression 2280086 2280095 - Identifier 2280086 2280090 - Identifier 2280091 2280095 - TypeReference 2280098 2280104 - Identifier 2280098 2280104 - ArrowFunction 2280105 2281050 - Parameter 2280105 2280121 - Identifier 2280105 2280121 - EqualsGreaterThanToken 2280121 2280124 - Block 2280124 2281050 - VariableStatement 2280126 2280276 - VariableDeclarationList 2280126 2280275 - VariableDeclaration 2280145 2280275 - Identifier 2280145 2280165 - ConditionalExpression 2280167 2280275 - PropertyAccessExpression 2280167 2280194 - Identifier 2280167 2280183 - Identifier 2280184 2280194 - QuestionToken 2280194 2280196 - CallExpression 2280196 2280251 - Identifier 2280196 2280212 - PropertyAccessExpression 2280213 2280239 - Identifier 2280213 2280228 - Identifier 2280229 2280239 - Identifier 2280240 2280250 - ColonToken 2280251 2280253 - Identifier 2280253 2280275 - ExpressionStatement 2280276 2280404 - CallExpression 2280276 2280403 - Identifier 2280276 2280302 - Identifier 2280303 2280313 - CallExpression 2280314 2280402 - Identifier 2280314 2280346 - Identifier 2280347 2280362 - Identifier 2280363 2280383 - Identifier 2280384 2280392 - Identifier 2280393 2280401 - VariableStatement 2280404 2280449 - VariableDeclarationList 2280404 2280448 - VariableDeclaration 2280421 2280448 - Identifier 2280421 2280430 - UnionType 2280431 2280448 - TypeReference 2280431 2280436 - Identifier 2280431 2280436 - UndefinedKeyword 2280438 2280448 - IfStatement 2280449 2280977 - PropertyAccessExpression 2280467 2280496 - Identifier 2280467 2280482 - Identifier 2280483 2280496 - Block 2280497 2280850 - VariableStatement 2280499 2280764 - VariableDeclarationList 2280499 2280763 - VariableDeclaration 2280522 2280763 - Identifier 2280522 2280537 - CallExpression 2280539 2280763 - Identifier 2280539 2280567 - Identifier 2280568 2280609 - ConditionalExpression 2280610 2280694 - Identifier 2280610 2280639 - QuestionToken 2280639 2280641 - PropertyAccessExpression 2280641 2280669 - Identifier 2280641 2280654 - Identifier 2280655 2280669 - ColonToken 2280669 2280671 - PropertyAccessExpression 2280671 2280694 - Identifier 2280671 2280684 - Identifier 2280685 2280694 - PropertyAccessExpression 2280695 2280743 - Identifier 2280695 2280732 - Identifier 2280733 2280743 - ExpressionStatement 2280764 2280835 - BinaryExpression 2280764 2280834 - Identifier 2280764 2280790 - EqualsToken 2280790 2280792 - BinaryExpression 2280792 2280834 - Identifier 2280792 2280807 - AmpersandAmpersandToken 2280807 2280810 - PropertyAccessExpression 2280810 2280834 - Identifier 2280810 2280825 - Identifier 2280826 2280834 - Block 2280868 2280977 - ExpressionStatement 2280870 2280962 - BinaryExpression 2280870 2280961 - Identifier 2280870 2280896 - EqualsToken 2280896 2280898 - CallExpression 2280898 2280961 - Identifier 2280898 2280916 - Identifier 2280917 2280932 - Identifier 2280933 2280960 - IfStatement 2280977 2281039 - Identifier 2280995 2281003 - ExpressionStatement 2281004 2281039 - CallExpression 2281004 2281038 - Identifier 2281004 2281017 - Identifier 2281018 2281027 - Identifier 2281028 2281037 - ReturnStatement 2281052 2281095 - ObjectLiteralExpression 2281068 2281094 - ShorthandPropertyAssignment 2281070 2281081 - Identifier 2281070 2281081 - ShorthandPropertyAssignment 2281082 2281092 - Identifier 2281082 2281092 - FunctionDeclaration 2281102 2282056 - Identifier 2281118 2281150 - Parameter 2281151 2281172 - Identifier 2281151 2281155 - TypeReference 2281156 2281172 - Identifier 2281156 2281172 - Parameter 2281173 2281194 - Identifier 2281173 2281188 - TypeReference 2281189 2281194 - Identifier 2281189 2281194 - Parameter 2281195 2281210 - Identifier 2281195 2281204 - TypeReference 2281205 2281210 - Identifier 2281205 2281210 - Parameter 2281211 2281228 - Identifier 2281211 2281219 - BooleanKeyword 2281220 2281228 - UnionType 2281230 2281247 - TypeReference 2281230 2281235 - Identifier 2281230 2281235 - UndefinedKeyword 2281237 2281247 - Block 2281247 2282056 - VariableStatement 2281249 2281301 - VariableDeclarationList 2281249 2281300 - VariableDeclaration 2281264 2281300 - Identifier 2281264 2281274 - BinaryExpression 2281276 2281300 - PropertyAccessExpression 2281276 2281292 - Identifier 2281276 2281281 - Identifier 2281282 2281292 - BarBarToken 2281292 2281295 - Identifier 2281295 2281300 - VariableStatement 2281301 2281589 - VariableDeclarationList 2281301 2281588 - VariableDeclaration 2281404 2281588 - Identifier 2281404 2281416 - ConditionalExpression 2281418 2281588 - PropertyAccessExpression 2281418 2281437 - Identifier 2281418 2281423 - Identifier 2281424 2281437 - QuestionToken 2281437 2281439 - CallExpression 2281439 2281571 - Identifier 2281439 2281470 - ConditionalExpression 2281471 2281533 - Identifier 2281471 2281478 - QuestionToken 2281478 2281480 - PropertyAccessExpression 2281480 2281508 - Identifier 2281480 2281493 - Identifier 2281494 2281508 - ColonToken 2281508 2281510 - PropertyAccessExpression 2281510 2281533 - Identifier 2281510 2281523 - Identifier 2281524 2281533 - Identifier 2281534 2281549 - Identifier 2281550 2281559 - Identifier 2281560 2281570 - ColonToken 2281571 2281573 - Identifier 2281573 2281588 - ReturnStatement 2281589 2282049 - ConditionalExpression 2281605 2282048 - PrefixUnaryExpression 2281605 2281614 - Identifier 2281607 2281614 - QuestionToken 2281614 2281616 - Identifier 2281616 2281628 - ColonToken 2281628 2281630 - CallExpression 2281630 2282048 - Identifier 2281630 2281645 - Identifier 2281646 2281671 - Identifier 2281672 2281695 - ConditionalExpression 2281696 2282036 - PropertyAccessExpression 2281696 2281728 - Identifier 2281696 2281714 - Identifier 2281715 2281728 - QuestionToken 2281728 2281747 - PropertyAccessExpression 2281747 2281887 - Identifier 2281747 2281759 - Identifier 2281760 2281887 - ColonToken 2281887 2281906 - PropertyAccessExpression 2281906 2282036 - Identifier 2281906 2281918 - Identifier 2281919 2282036 - FunctionDeclaration 2282056 2282624 - Identifier 2282183 2282216 - Parameter 2282217 2282230 - Identifier 2282217 2282222 - NumberKeyword 2282223 2282230 - Parameter 2282231 2282243 - Identifier 2282231 2282235 - NumberKeyword 2282236 2282243 - Parameter 2282244 2282278 - Identifier 2282244 2282254 - ArrayType 2282255 2282278 - ParenthesizedType 2282255 2282276 - UnionType 2282257 2282275 - StringKeyword 2282257 2282263 - UndefinedKeyword 2282265 2282275 - TypeReference 2282280 2282290 - Identifier 2282280 2282290 - Block 2282290 2282624 - VariableStatement 2282292 2282340 - VariableDeclarationList 2282292 2282339 - VariableDeclaration 2282305 2282339 - Identifier 2282305 2282311 - TypeReference 2282312 2282322 - Identifier 2282312 2282322 - PropertyAccessExpression 2282324 2282339 - Identifier 2282324 2282334 - Identifier 2282335 2282339 - ForStatement 2282340 2282594 - VariableDeclarationList 2282355 2282364 - VariableDeclaration 2282358 2282364 - Identifier 2282358 2282360 - NumericLiteral 2282362 2282364 - BinaryExpression 2282365 2282386 - Identifier 2282365 2282367 - LessThanToken 2282367 2282369 - PropertyAccessExpression 2282369 2282386 - Identifier 2282369 2282379 - Identifier 2282380 2282386 - PostfixUnaryExpression 2282387 2282391 - Identifier 2282387 2282389 - Block 2282392 2282594 - VariableStatement 2282394 2282473 - VariableDeclarationList 2282394 2282472 - VariableDeclaration 2282413 2282472 - Identifier 2282413 2282421 - ConditionalExpression 2282423 2282472 - BinaryExpression 2282423 2282445 - BinaryExpression 2282423 2282433 - Identifier 2282423 2282425 - LessThanToken 2282425 2282427 - Identifier 2282427 2282433 - BarBarToken 2282433 2282436 - BinaryExpression 2282436 2282445 - Identifier 2282436 2282438 - GreaterThanEqualsToken 2282438 2282441 - Identifier 2282441 2282445 - QuestionToken 2282445 2282447 - ElementAccessExpression 2282447 2282460 - Identifier 2282447 2282457 - Identifier 2282458 2282459 - ColonToken 2282460 2282462 - Identifier 2282462 2282472 - ExpressionStatement 2282473 2282583 - BinaryExpression 2282473 2282582 - Identifier 2282473 2282492 - BarEqualsToken 2282492 2282495 - ConditionalExpression 2282495 2282582 - BinaryExpression 2282495 2282517 - Identifier 2282495 2282503 - ExclamationEqualsEqualsToken 2282503 2282507 - Identifier 2282507 2282517 - QuestionToken 2282517 2282519 - BinaryExpression 2282519 2282578 - CallExpression 2282519 2282546 - PropertyAccessExpression 2282519 2282537 - Identifier 2282519 2282533 - Identifier 2282534 2282537 - Identifier 2282538 2282545 - BarBarToken 2282546 2282549 - PropertyAccessExpression 2282549 2282578 - Identifier 2282549 2282559 - Identifier 2282560 2282578 - ColonToken 2282578 2282580 - NumericLiteral 2282580 2282582 - ReturnStatement 2282594 2282617 - Identifier 2282610 2282616 - FunctionDeclaration 2282624 2283234 - Identifier 2282640 2282668 - Parameter 2282669 2282690 - Identifier 2282669 2282673 - TypeReference 2282674 2282690 - Identifier 2282674 2282690 - BooleanKeyword 2282692 2282700 - Block 2282700 2283234 - VariableStatement 2282702 2282745 - VariableDeclarationList 2282702 2282744 - VariableDeclaration 2282717 2282744 - Identifier 2282717 2282723 - CallExpression 2282725 2282744 - Identifier 2282725 2282738 - Identifier 2282739 2282743 - IfStatement 2282745 2283191 - BinaryExpression 2282759 2282791 - PropertyAccessExpression 2282759 2282777 - Identifier 2282759 2282764 - Identifier 2282765 2282777 - EqualsEqualsEqualsToken 2282777 2282781 - Identifier 2282781 2282791 - Block 2282792 2283061 - ExpressionStatement 2282794 2282831 - BinaryExpression 2282794 2282830 - PropertyAccessExpression 2282794 2282826 - Identifier 2282794 2282813 - Identifier 2282814 2282826 - EqualsToken 2282826 2282828 - NumericLiteral 2282828 2282830 - VariableStatement 2282831 2282940 - VariableDeclarationList 2282831 2282939 - VariableDeclaration 2282887 2282939 - Identifier 2282887 2282898 - CallExpression 2282900 2282939 - Identifier 2282900 2282933 - Identifier 2282934 2282938 - IfStatement 2282940 2283050 - BinaryExpression 2282958 2282982 - PropertyAccessExpression 2282958 2282976 - Identifier 2282958 2282963 - Identifier 2282964 2282976 - EqualsEqualsEqualsToken 2282976 2282980 - NumericLiteral 2282980 2282982 - Block 2282983 2283050 - ExpressionStatement 2282985 2283035 - BinaryExpression 2282985 2283034 - PropertyAccessExpression 2282985 2283021 - Identifier 2282985 2283008 - Identifier 2283009 2283021 - EqualsToken 2283021 2283023 - Identifier 2283023 2283034 - IfStatement 2283075 2283191 - BinaryExpression 2283080 2283104 - PropertyAccessExpression 2283080 2283098 - Identifier 2283080 2283085 - Identifier 2283086 2283098 - EqualsEqualsEqualsToken 2283098 2283102 - NumericLiteral 2283102 2283104 - Block 2283105 2283191 - ExpressionStatement 2283107 2283148 - BinaryExpression 2283107 2283147 - PropertyAccessExpression 2283107 2283139 - Identifier 2283107 2283126 - Identifier 2283127 2283139 - EqualsToken 2283139 2283141 - FalseKeyword 2283141 2283147 - ReturnStatement 2283191 2283227 - PropertyAccessExpression 2283207 2283226 - Identifier 2283207 2283213 - Identifier 2283214 2283226 - FunctionDeclaration 2283234 2284740 - Identifier 2283250 2283283 - Parameter 2283284 2283305 - Identifier 2283284 2283288 - TypeReference 2283289 2283305 - Identifier 2283289 2283305 - BooleanKeyword 2283307 2283315 - Block 2283315 2284740 - IfStatement 2283317 2284298 - BinaryExpression 2283331 2283383 - PropertyAccessExpression 2283331 2283351 - PropertyAccessExpression 2283331 2283346 - Identifier 2283331 2283335 - Identifier 2283336 2283346 - Identifier 2283347 2283351 - EqualsEqualsEqualsToken 2283351 2283355 - PropertyAccessExpression 2283355 2283383 - Identifier 2283355 2283366 - Identifier 2283367 2283383 - Block 2283384 2284298 - VariableStatement 2283386 2283455 - VariableDeclarationList 2283386 2283454 - VariableDeclaration 2283405 2283454 - Identifier 2283405 2283415 - CallExpression 2283417 2283454 - Identifier 2283417 2283448 - Identifier 2283449 2283453 - IfStatement 2283455 2283532 - PrefixUnaryExpression 2283473 2283483 - Identifier 2283474 2283483 - Block 2283484 2283532 - ReturnStatement 2283486 2283517 - FalseKeyword 2283510 2283516 - VariableStatement 2283532 2283669 - VariableDeclarationList 2283532 2283668 - VariableDeclaration 2283551 2283668 - Identifier 2283551 2283569 - CallExpression 2283571 2283668 - Identifier 2283571 2283595 - CallExpression 2283596 2283667 - Identifier 2283596 2283617 - PropertyAccessExpression 2283618 2283666 - ParenthesizedExpression 2283618 2283655 - AsExpression 2283619 2283654 - PropertyAccessExpression 2283619 2283634 - Identifier 2283619 2283623 - Identifier 2283624 2283634 - TypeReference 2283637 2283654 - Identifier 2283637 2283654 - Identifier 2283656 2283666 - VariableStatement 2283669 2283818 - VariableDeclarationList 2283669 2283817 - VariableDeclaration 2283751 2283817 - Identifier 2283751 2283765 - CallExpression 2283767 2283817 - Identifier 2283767 2283800 - NumericLiteral 2283801 2283802 - NumericLiteral 2283803 2283805 - Identifier 2283806 2283816 - IfStatement 2283818 2284088 - BinaryExpression 2283836 2283884 - PropertyAccessExpression 2283836 2283859 - Identifier 2283836 2283853 - Identifier 2283854 2283859 - AmpersandToken 2283859 2283861 - PropertyAccessExpression 2283861 2283884 - Identifier 2283861 2283871 - Identifier 2283872 2283884 - Block 2283885 2284088 - ReturnStatement 2283887 2284073 - BinaryExpression 2284006 2284072 - ParenthesizedExpression 2284006 2284046 - BinaryExpression 2284008 2284045 - PropertyAccessExpression 2284008 2284029 - Identifier 2284008 2284017 - Identifier 2284018 2284029 - AmpersandToken 2284029 2284031 - Identifier 2284031 2284045 - EqualsEqualsEqualsToken 2284046 2284050 - PropertyAccessExpression 2284050 2284072 - Identifier 2284050 2284060 - Identifier 2284061 2284072 - ReturnStatement 2284088 2284287 - PrefixUnaryExpression 2284202 2284286 - CallExpression 2284204 2284286 - Identifier 2284204 2284212 - Identifier 2284213 2284230 - ArrowFunction 2284231 2284285 - Parameter 2284231 2284233 - Identifier 2284231 2284233 - EqualsGreaterThanToken 2284233 2284236 - BinaryExpression 2284236 2284285 - CallExpression 2284236 2284267 - Identifier 2284236 2284249 - Identifier 2284250 2284251 - Identifier 2284252 2284266 - EqualsEqualsEqualsToken 2284267 2284271 - Identifier 2284271 2284285 - VariableStatement 2284298 2284385 - VariableDeclarationList 2284298 2284384 - VariableDeclaration 2284313 2284384 - Identifier 2284313 2284318 - CallExpression 2284320 2284384 - Identifier 2284320 2284344 - CallExpression 2284345 2284383 - Identifier 2284345 2284366 - PropertyAccessExpression 2284367 2284382 - Identifier 2284367 2284371 - Identifier 2284372 2284382 - IfStatement 2284385 2284460 - PrefixUnaryExpression 2284399 2284419 - CallExpression 2284400 2284419 - Identifier 2284400 2284413 - Identifier 2284414 2284418 - Block 2284420 2284460 - ReturnStatement 2284422 2284449 - FalseKeyword 2284442 2284448 - VariableStatement 2284460 2284517 - VariableDeclarationList 2284460 2284516 - VariableDeclaration 2284475 2284516 - Identifier 2284475 2284487 - CallExpression 2284489 2284516 - Identifier 2284489 2284510 - Identifier 2284511 2284515 - IfStatement 2284517 2284639 - BinaryExpression 2284531 2284598 - PrefixUnaryExpression 2284531 2284550 - PropertyAccessExpression 2284532 2284550 - Identifier 2284532 2284543 - Identifier 2284544 2284550 - BarBarToken 2284550 2284553 - CallExpression 2284553 2284598 - Identifier 2284553 2284558 - Identifier 2284559 2284570 - Identifier 2284571 2284597 - Block 2284599 2284639 - ReturnStatement 2284601 2284628 - FalseKeyword 2284621 2284627 - ReturnStatement 2284639 2284733 - CallExpression 2284655 2284732 - Identifier 2284655 2284675 - CallExpression 2284676 2284718 - Identifier 2284676 2284683 - Identifier 2284684 2284688 - Identifier 2284689 2284717 - Identifier 2284719 2284731 - FunctionDeclaration 2284740 2284897 - Identifier 2284756 2284782 - Parameter 2284783 2284812 - Identifier 2284783 2284787 - TypeReference 2284788 2284812 - Identifier 2284788 2284812 - Block 2284813 2284897 - ReturnStatement 2284815 2284890 - BinaryExpression 2284831 2284889 - PropertyAccessExpression 2284831 2284848 - Identifier 2284831 2284836 - Identifier 2284837 2284848 - AmpersandAmpersandToken 2284848 2284851 - CallExpression 2284851 2284889 - Identifier 2284851 2284871 - PropertyAccessExpression 2284872 2284888 - Identifier 2284872 2284876 - Identifier 2284877 2284888 - FunctionDeclaration 2284897 2288339 - Identifier 2285064 2285103 - Parameter 2285104 2285133 - Identifier 2285104 2285108 - TypeReference 2285109 2285133 - Identifier 2285109 2285133 - Parameter 2285134 2285167 - Identifier 2285134 2285144 - UnionType 2285145 2285167 - TypeReference 2285145 2285155 - Identifier 2285145 2285155 - UndefinedKeyword 2285157 2285167 - UnionType 2285169 2285188 - ArrayType 2285169 2285176 - TypeReference 2285169 2285174 - Identifier 2285169 2285174 - UndefinedKeyword 2285178 2285188 - Block 2285188 2288339 - VariableStatement 2285190 2285245 - VariableDeclarationList 2285190 2285244 - VariableDeclaration 2285205 2285244 - Identifier 2285205 2285219 - CallExpression 2285221 2285244 - Identifier 2285221 2285238 - Identifier 2285239 2285243 - VariableStatement 2285245 2285290 - VariableDeclarationList 2285245 2285289 - VariableDeclaration 2285260 2285289 - Identifier 2285260 2285276 - ArrayType 2285277 2285284 - TypeReference 2285277 2285282 - Identifier 2285277 2285282 - ArrayLiteralExpression 2285286 2285289 - VariableStatement 2285290 2285364 - VariableDeclarationList 2285290 2285363 - VariableDeclaration 2285303 2285363 - Identifier 2285303 2285329 - CallExpression 2285331 2285363 - Identifier 2285331 2285357 - Identifier 2285358 2285362 - VariableStatement 2285364 2285407 - VariableDeclarationList 2285364 2285406 - VariableDeclaration 2285377 2285406 - Identifier 2285377 2285398 - FalseKeyword 2285400 2285406 - ExpressionStatement 2285407 2287720 - CallExpression 2285407 2287719 - Identifier 2285407 2285439 - AsExpression 2285440 2285458 - PropertyAccessExpression 2285440 2285449 - Identifier 2285440 2285444 - Identifier 2285445 2285449 - TypeReference 2285452 2285458 - Identifier 2285452 2285458 - ArrowFunction 2285459 2287718 - Parameter 2285459 2285475 - Identifier 2285459 2285475 - EqualsGreaterThanToken 2285475 2285478 - Block 2285478 2287718 - VariableStatement 2285480 2285532 - VariableDeclarationList 2285480 2285531 - VariableDeclaration 2285497 2285531 - Identifier 2285497 2285502 - PropertyAccessExpression 2285504 2285531 - Identifier 2285504 2285520 - Identifier 2285521 2285531 - IfStatement 2285532 2287707 - Identifier 2285550 2285554 - Block 2285555 2287621 - ExpressionStatement 2285557 2285641 - BinaryExpression 2285557 2285640 - Identifier 2285557 2285579 - EqualsToken 2285579 2285581 - CallExpression 2285581 2285640 - Identifier 2285581 2285597 - Identifier 2285598 2285602 - TrueKeyword 2285603 2285639 - IfStatement 2285641 2286034 - BinaryExpression 2285813 2285892 - BinaryExpression 2285813 2285848 - Identifier 2285813 2285826 - AmpersandToken 2285826 2285828 - PropertyAccessExpression 2285828 2285848 - Identifier 2285828 2285842 - Identifier 2285843 2285848 - AmpersandAmpersandToken 2285848 2285851 - BinaryExpression 2285851 2285892 - PropertyAccessExpression 2285851 2285861 - Identifier 2285851 2285856 - Identifier 2285857 2285861 - EqualsEqualsEqualsToken 2285861 2285865 - PropertyAccessExpression 2285865 2285892 - Identifier 2285865 2285876 - Identifier 2285877 2285892 - Block 2285893 2286034 - ExpressionStatement 2285895 2286015 - BinaryExpression 2285895 2286014 - Identifier 2285895 2285921 - EqualsToken 2285921 2285923 - CallExpression 2285923 2286014 - Identifier 2285923 2285939 - PropertyAccessExpression 2285940 2285976 - ParenthesizedExpression 2285940 2285965 - AsExpression 2285941 2285964 - Identifier 2285941 2285945 - TypeReference 2285948 2285964 - Identifier 2285948 2285964 - Identifier 2285966 2285976 - TrueKeyword 2285977 2286013 - IfStatement 2286034 2286604 - BinaryExpression 2286056 2286485 - BinaryExpression 2286056 2286331 - BinaryExpression 2286056 2286208 - BinaryExpression 2286056 2286117 - PropertyAccessExpression 2286056 2286087 - Identifier 2286056 2286082 - Identifier 2286083 2286087 - EqualsEqualsEqualsToken 2286087 2286091 - PropertyAccessExpression 2286091 2286117 - Identifier 2286091 2286102 - Identifier 2286103 2286117 - AmpersandAmpersandToken 2286117 2286120 - BinaryExpression 2286120 2286208 - PropertyAccessExpression 2286120 2286182 - PropertyAccessExpression 2286120 2286177 - ParenthesizedExpression 2286120 2286166 - AsExpression 2286143 2286165 - Identifier 2286143 2286147 - TypeReference 2286150 2286165 - Identifier 2286150 2286165 - Identifier 2286167 2286177 - Identifier 2286178 2286182 - EqualsEqualsEqualsToken 2286182 2286186 - PropertyAccessExpression 2286186 2286208 - Identifier 2286186 2286197 - Identifier 2286198 2286208 - AmpersandAmpersandToken 2286208 2286211 - BinaryExpression 2286211 2286331 - PropertyAccessExpression 2286211 2286298 - CallExpression 2286211 2286291 - Identifier 2286211 2286254 - PropertyAccessExpression 2286255 2286290 - ParenthesizedExpression 2286255 2286279 - AsExpression 2286256 2286278 - Identifier 2286256 2286260 - TypeReference 2286263 2286278 - Identifier 2286263 2286278 - Identifier 2286280 2286290 - Identifier 2286292 2286298 - EqualsEqualsEqualsToken 2286298 2286302 - CallExpression 2286302 2286331 - Identifier 2286302 2286318 - PropertyAccessExpression 2286319 2286330 - Identifier 2286319 2286323 - Identifier 2286324 2286330 - AmpersandAmpersandToken 2286331 2286334 - ParenthesizedExpression 2286334 2286485 - BinaryExpression 2286357 2286484 - PrefixUnaryExpression 2286357 2286424 - CallExpression 2286358 2286424 - Identifier 2286358 2286393 - NonNullExpression 2286394 2286423 - PropertyAccessExpression 2286394 2286422 - PropertyAccessExpression 2286394 2286405 - Identifier 2286394 2286398 - Identifier 2286399 2286405 - Identifier 2286406 2286422 - BarBarToken 2286424 2286427 - CallExpression 2286427 2286484 - Identifier 2286427 2286447 - PropertyAccessExpression 2286448 2286483 - ParenthesizedExpression 2286448 2286472 - AsExpression 2286449 2286471 - Identifier 2286449 2286453 - TypeReference 2286456 2286471 - Identifier 2286456 2286471 - Identifier 2286473 2286483 - Block 2286504 2286604 - ExpressionStatement 2286506 2286556 - BinaryExpression 2286506 2286555 - Identifier 2286506 2286548 - EqualsToken 2286548 2286550 - TrueKeyword 2286550 2286555 - ReturnStatement 2286556 2286585 - VariableStatement 2286604 2286721 - VariableDeclarationList 2286604 2286720 - VariableDeclaration 2286627 2286720 - Identifier 2286627 2286632 - CallExpression 2286634 2286720 - Identifier 2286634 2286656 - Identifier 2286657 2286661 - BinaryExpression 2286662 2286719 - Identifier 2286662 2286672 - AmpersandAmpersandToken 2286672 2286675 - BinaryExpression 2286675 2286719 - Identifier 2286675 2286685 - AmpersandToken 2286685 2286687 - PrefixUnaryExpression 2286687 2286719 - PropertyAccessExpression 2286689 2286719 - Identifier 2286689 2286698 - Identifier 2286699 2286719 - IfStatement 2286721 2287430 - BinaryExpression 2286743 2286778 - Identifier 2286743 2286756 - AmpersandToken 2286756 2286758 - PropertyAccessExpression 2286758 2286778 - Identifier 2286758 2286772 - Identifier 2286773 2286778 - Block 2286779 2287430 - ExpressionStatement 2286781 2287411 - BinaryExpression 2286781 2287410 - Identifier 2286781 2287215 - EqualsToken 2287215 2287217 - CallExpression 2287217 2287410 - Identifier 2287217 2287235 - CallExpression 2287236 2287409 - Identifier 2287236 2287252 - Identifier 2287253 2287257 - FalseKeyword 2287258 2287278 - Identifier 2287279 2287284 - PropertyAccessExpression 2287285 2287408 - Identifier 2287285 2287297 - Identifier 2287298 2287408 - IfStatement 2287430 2287552 - BinaryExpression 2287452 2287480 - PropertyAccessExpression 2287452 2287462 - Identifier 2287452 2287456 - Identifier 2287457 2287462 - AmpersandToken 2287462 2287464 - PropertyAccessExpression 2287464 2287480 - Identifier 2287464 2287474 - Identifier 2287475 2287480 - Block 2287481 2287552 - ExpressionStatement 2287483 2287533 - BinaryExpression 2287483 2287532 - Identifier 2287483 2287525 - EqualsToken 2287525 2287527 - TrueKeyword 2287527 2287532 - ExpressionStatement 2287552 2287606 - CallExpression 2287552 2287605 - Identifier 2287552 2287582 - Identifier 2287583 2287598 - Identifier 2287599 2287604 - Block 2287639 2287707 - ExpressionStatement 2287641 2287692 - BinaryExpression 2287641 2287691 - Identifier 2287641 2287684 - EqualsToken 2287684 2287686 - TrueKeyword 2287686 2287691 - IfStatement 2287720 2287887 - BinaryExpression 2287734 2287842 - BinaryExpression 2287734 2287792 - BinaryExpression 2287734 2287762 - PropertyAccessExpression 2287734 2287756 - Identifier 2287734 2287749 - Identifier 2287750 2287756 - EqualsEqualsEqualsToken 2287756 2287760 - NumericLiteral 2287760 2287762 - AmpersandAmpersandToken 2287762 2287765 - PrefixUnaryExpression 2287765 2287792 - Identifier 2287767 2287792 - AmpersandAmpersandToken 2287792 2287795 - ParenthesizedExpression 2287795 2287842 - BinaryExpression 2287797 2287841 - Identifier 2287797 2287817 - BarBarToken 2287817 2287820 - CallExpression 2287820 2287841 - Identifier 2287820 2287835 - Identifier 2287836 2287840 - Block 2287843 2287887 - ReturnStatement 2287845 2287876 - Identifier 2287865 2287875 - IfStatement 2287887 2288299 - BinaryExpression 2287901 2288082 - BinaryExpression 2287901 2287986 - BinaryExpression 2287901 2287957 - Identifier 2287901 2287931 - AmpersandAmpersandToken 2287931 2287934 - PropertyAccessExpression 2287934 2287957 - Identifier 2287934 2287950 - Identifier 2287951 2287957 - AmpersandAmpersandToken 2287957 2287960 - Identifier 2287960 2287986 - AmpersandAmpersandToken 2287986 2287989 - PrefixUnaryExpression 2287989 2288082 - ParenthesizedExpression 2288004 2288082 - BinaryExpression 2288005 2288081 - CallExpression 2288005 2288026 - Identifier 2288005 2288020 - Identifier 2288021 2288025 - AmpersandAmpersandToken 2288026 2288029 - CallExpression 2288029 2288081 - PropertyAccessExpression 2288029 2288050 - Identifier 2288029 2288045 - Identifier 2288046 2288050 - ArrowFunction 2288051 2288080 - Parameter 2288051 2288052 - Identifier 2288051 2288052 - EqualsGreaterThanToken 2288052 2288055 - BinaryExpression 2288055 2288080 - PropertyAccessExpression 2288055 2288064 - Identifier 2288055 2288057 - Identifier 2288058 2288064 - EqualsEqualsEqualsToken 2288064 2288068 - PropertyAccessExpression 2288068 2288080 - Identifier 2288068 2288073 - Identifier 2288074 2288080 - Block 2288093 2288299 - ExpressionStatement 2288095 2288288 - CallExpression 2288095 2288287 - Identifier 2288095 2288255 - Identifier 2288256 2288271 - Identifier 2288272 2288286 - ReturnStatement 2288299 2288332 - Identifier 2288315 2288331 - FunctionDeclaration 2288339 2288763 - Identifier 2288353 2288368 - Parameter 2288369 2288398 - Identifier 2288369 2288373 - TypeReference 2288374 2288398 - Identifier 2288374 2288398 - BooleanKeyword 2288400 2288408 - Block 2288408 2288763 - SwitchStatement 2288410 2288756 - PropertyAccessExpression 2288428 2288437 - Identifier 2288428 2288432 - Identifier 2288433 2288437 - CaseBlock 2288438 2288756 - CaseClause 2288440 2288489 - PropertyAccessExpression 2288458 2288488 - Identifier 2288458 2288469 - Identifier 2288470 2288488 - CaseClause 2288489 2288563 - PropertyAccessExpression 2288507 2288532 - Identifier 2288507 2288518 - Identifier 2288519 2288532 - ReturnStatement 2288533 2288563 - TrueKeyword 2288557 2288562 - CaseClause 2288563 2288692 - PropertyAccessExpression 2288581 2288610 - Identifier 2288581 2288592 - Identifier 2288593 2288610 - ReturnStatement 2288611 2288692 - BinaryExpression 2288635 2288691 - PropertyAccessExpression 2288635 2288652 - PropertyAccessExpression 2288635 2288647 - Identifier 2288635 2288640 - Identifier 2288641 2288647 - Identifier 2288648 2288652 - EqualsEqualsEqualsToken 2288652 2288656 - PropertyAccessExpression 2288656 2288691 - Identifier 2288656 2288667 - Identifier 2288668 2288691 - DefaultClause 2288692 2288745 - ReturnStatement 2288714 2288745 - FalseKeyword 2288738 2288744 - FunctionDeclaration 2288763 2289921 - Identifier 2288779 2288804 - Parameter 2288805 2288834 - Identifier 2288805 2288809 - TypeReference 2288810 2288834 - Identifier 2288810 2288834 - UnionType 2288836 2288862 - TypeReference 2288836 2288850 - Identifier 2288836 2288850 - UndefinedKeyword 2288852 2288862 - Block 2288862 2289921 - SwitchStatement 2288864 2289066 - PropertyAccessExpression 2288882 2288891 - Identifier 2288882 2288886 - Identifier 2288887 2288891 - CaseBlock 2288892 2289066 - CaseClause 2288894 2288936 - PropertyAccessExpression 2288912 2288935 - Identifier 2288912 2288923 - Identifier 2288924 2288935 - CaseClause 2288936 2288978 - PropertyAccessExpression 2288954 2288977 - Identifier 2288954 2288965 - Identifier 2288966 2288977 - CaseClause 2288978 2289055 - PropertyAccessExpression 2288996 2289019 - Identifier 2288996 2289007 - Identifier 2289008 2289019 - ReturnStatement 2289020 2289055 - Identifier 2289044 2289054 - VariableStatement 2289066 2289121 - VariableDeclarationList 2289066 2289120 - VariableDeclaration 2289081 2289120 - Identifier 2289081 2289095 - CallExpression 2289097 2289120 - Identifier 2289097 2289114 - Identifier 2289115 2289119 - IfStatement 2289121 2289192 - BinaryExpression 2289135 2289173 - Identifier 2289135 2289148 - ExclamationEqualsEqualsToken 2289148 2289152 - PropertyAccessExpression 2289152 2289173 - Identifier 2289152 2289166 - Identifier 2289167 2289173 - ReturnStatement 2289174 2289192 - Identifier 2289181 2289191 - VariableStatement 2289192 2289327 - VariableDeclarationList 2289192 2289326 - VariableDeclaration 2289289 2289326 - Identifier 2289289 2289302 - UnionType 2289303 2289326 - TypeReference 2289303 2289314 - Identifier 2289303 2289314 - UndefinedKeyword 2289316 2289326 - IfStatement 2289327 2289840 - BinaryExpression 2289341 2289389 - PropertyAccessExpression 2289341 2289350 - Identifier 2289341 2289345 - Identifier 2289346 2289350 - AmpersandAmpersandToken 2289350 2289353 - BinaryExpression 2289353 2289389 - PropertyAccessExpression 2289353 2289368 - PropertyAccessExpression 2289353 2289363 - Identifier 2289353 2289358 - Identifier 2289359 2289363 - Identifier 2289364 2289368 - ExclamationEqualsEqualsToken 2289368 2289372 - PropertyAccessExpression 2289372 2289389 - Identifier 2289372 2289383 - Identifier 2289384 2289389 - Block 2289390 2289460 - ExpressionStatement 2289392 2289431 - BinaryExpression 2289392 2289430 - Identifier 2289392 2289418 - EqualsToken 2289418 2289420 - PropertyAccessExpression 2289420 2289430 - Identifier 2289420 2289425 - Identifier 2289426 2289430 - Block 2289474 2289840 - VariableStatement 2289476 2289729 - VariableDeclarationList 2289476 2289728 - VariableDeclaration 2289495 2289728 - Identifier 2289495 2289507 - CallExpression 2289509 2289728 - Identifier 2289509 2289532 - AsExpression 2289533 2289551 - PropertyAccessExpression 2289533 2289542 - Identifier 2289533 2289537 - Identifier 2289538 2289542 - TypeReference 2289545 2289551 - Identifier 2289545 2289551 - ArrowFunction 2289552 2289727 - Parameter 2289552 2289568 - Identifier 2289552 2289568 - EqualsGreaterThanToken 2289568 2289571 - Block 2289571 2289727 - IfStatement 2289573 2289652 - BinaryExpression 2289595 2289638 - Identifier 2289595 2289607 - BarBarToken 2289607 2289610 - PrefixUnaryExpression 2289610 2289638 - PropertyAccessExpression 2289612 2289638 - Identifier 2289612 2289627 - Identifier 2289628 2289638 - ReturnStatement 2289639 2289652 - TrueKeyword 2289646 2289651 - ExpressionStatement 2289652 2289712 - BinaryExpression 2289652 2289711 - Identifier 2289652 2289682 - EqualsToken 2289682 2289684 - PropertyAccessExpression 2289684 2289711 - Identifier 2289684 2289700 - Identifier 2289701 2289711 - IfStatement 2289729 2289829 - BinaryExpression 2289747 2289810 - BinaryExpression 2289747 2289775 - Identifier 2289747 2289758 - BarBarToken 2289758 2289761 - PrefixUnaryExpression 2289761 2289775 - Identifier 2289763 2289775 - BarBarToken 2289775 2289778 - CallExpression 2289778 2289810 - Identifier 2289778 2289804 - Identifier 2289805 2289809 - ReturnStatement 2289811 2289829 - Identifier 2289818 2289828 - ReturnStatement 2289840 2289914 - CallExpression 2289856 2289913 - Identifier 2289856 2289893 - Identifier 2289894 2289898 - Identifier 2289899 2289912 - FunctionDeclaration 2289921 2290959 - Identifier 2289937 2289974 - Parameter 2289975 2290004 - Identifier 2289975 2289979 - TypeReference 2289980 2290004 - Identifier 2289980 2290004 - Parameter 2290005 2290022 - Identifier 2290005 2290010 - TypeReference 2290011 2290022 - Identifier 2290011 2290022 - UnionType 2290024 2290050 - TypeReference 2290024 2290038 - Identifier 2290024 2290038 - UndefinedKeyword 2290040 2290050 - Block 2290050 2290959 - ExpressionStatement 2290052 2290128 - BinaryExpression 2290052 2290127 - Identifier 2290052 2290066 - EqualsToken 2290066 2290068 - CallExpression 2290068 2290127 - Identifier 2290068 2290084 - Identifier 2290085 2290089 - TrueKeyword 2290090 2290126 - VariableStatement 2290128 2290185 - VariableDeclarationList 2290128 2290184 - VariableDeclaration 2290143 2290184 - Identifier 2290143 2290154 - CallExpression 2290156 2290184 - Identifier 2290156 2290178 - Identifier 2290179 2290183 - IfStatement 2290185 2290257 - PrefixUnaryExpression 2290199 2290238 - ParenthesizedExpression 2290200 2290238 - BinaryExpression 2290201 2290237 - PropertyAccessExpression 2290201 2290217 - Identifier 2290201 2290211 - Identifier 2290212 2290217 - AmpersandToken 2290217 2290219 - PropertyAccessExpression 2290219 2290237 - Identifier 2290219 2290229 - Identifier 2290230 2290237 - ReturnStatement 2290239 2290257 - Identifier 2290246 2290256 - ReturnStatement 2290257 2290952 - CallExpression 2290275 2290951 - Identifier 2290275 2290283 - PropertyAccessExpression 2290284 2290299 - Identifier 2290284 2290288 - Identifier 2290289 2290299 - ArrowFunction 2290300 2290950 - Parameter 2290302 2290307 - Identifier 2290302 2290307 - Parameter 2290308 2290310 - Identifier 2290308 2290310 - EqualsGreaterThanToken 2290311 2290314 - Block 2290314 2290950 - VariableStatement 2290316 2290377 - VariableDeclarationList 2290316 2290376 - VariableDeclaration 2290335 2290376 - Identifier 2290335 2290344 - CallExpression 2290346 2290376 - Identifier 2290346 2290362 - PropertyAccessExpression 2290363 2290375 - Identifier 2290363 2290368 - Identifier 2290369 2290375 - IfStatement 2290377 2290661 - BinaryExpression 2290395 2290531 - BinaryExpression 2290395 2290505 - BinaryExpression 2290395 2290471 - BinaryExpression 2290395 2290442 - PrefixUnaryExpression 2290395 2290404 - Identifier 2290396 2290404 - BarBarToken 2290404 2290407 - BinaryExpression 2290407 2290442 - PropertyAccessExpression 2290407 2290422 - Identifier 2290407 2290416 - Identifier 2290417 2290422 - AmpersandToken 2290422 2290424 - PropertyAccessExpression 2290424 2290442 - Identifier 2290424 2290434 - Identifier 2290435 2290442 - BarBarToken 2290442 2290445 - PrefixUnaryExpression 2290445 2290471 - CallExpression 2290447 2290471 - Identifier 2290447 2290459 - PropertyAccessExpression 2290460 2290470 - Identifier 2290460 2290465 - Identifier 2290466 2290470 - BarBarToken 2290471 2290474 - CallExpression 2290474 2290505 - Identifier 2290474 2290491 - PropertyAccessExpression 2290492 2290504 - Identifier 2290492 2290497 - Identifier 2290498 2290504 - BarBarToken 2290505 2290508 - CallExpression 2290508 2290531 - Identifier 2290508 2290524 - Identifier 2290525 2290530 - Block 2290532 2290661 - ReturnStatement 2290534 2290646 - VariableStatement 2290661 2290755 - VariableDeclarationList 2290661 2290754 - VariableDeclaration 2290680 2290754 - Identifier 2290680 2290689 - CallExpression 2290691 2290754 - Identifier 2290691 2290725 - Identifier 2290726 2290730 - Identifier 2290731 2290736 - Identifier 2290737 2290743 - Identifier 2290744 2290753 - IfStatement 2290755 2290939 - Identifier 2290773 2290781 - Block 2290782 2290939 - ReturnStatement 2290784 2290924 - CallExpression 2290808 2290923 - Identifier 2290808 2290828 - PropertyAccessExpression 2290829 2290857 - Identifier 2290829 2290846 - Identifier 2290847 2290857 - CallExpression 2290858 2290909 - Identifier 2290858 2290885 - PropertyAccessExpression 2290886 2290908 - PropertyAccessExpression 2290886 2290896 - Identifier 2290886 2290891 - Identifier 2290892 2290896 - Identifier 2290897 2290908 - Identifier 2290910 2290912 - Identifier 2290913 2290922 - FunctionDeclaration 2290959 2292220 - Identifier 2290975 2291009 - Parameter 2291010 2291039 - Identifier 2291010 2291014 - TypeReference 2291015 2291039 - Identifier 2291015 2291039 - Parameter 2291040 2291057 - Identifier 2291040 2291045 - TypeReference 2291046 2291057 - Identifier 2291046 2291057 - Parameter 2291058 2291086 - Identifier 2291058 2291064 - TypeReference 2291065 2291086 - Identifier 2291065 2291086 - Parameter 2291087 2291102 - Identifier 2291087 2291096 - TypeReference 2291097 2291102 - Identifier 2291097 2291102 - UnionType 2291104 2291121 - TypeReference 2291104 2291109 - Identifier 2291104 2291109 - UndefinedKeyword 2291111 2291121 - Block 2291121 2292220 - VariableStatement 2291123 2291394 - VariableDeclarationList 2291123 2291393 - VariableDeclaration 2291138 2291393 - Identifier 2291138 2291149 - BinaryExpression 2291151 2291393 - BinaryExpression 2291151 2291299 - BinaryExpression 2291151 2291190 - CallExpression 2291151 2291173 - Identifier 2291151 2291167 - Identifier 2291168 2291172 - AmpersandAmpersandToken 2291173 2291176 - PropertyAccessExpression 2291176 2291190 - Identifier 2291176 2291181 - Identifier 2291182 2291190 - BarBarToken 2291190 2291193 - BinaryExpression 2291193 2291299 - BinaryExpression 2291193 2291254 - PropertyAccessExpression 2291193 2291223 - PropertyAccessExpression 2291193 2291218 - Identifier 2291193 2291211 - Identifier 2291212 2291218 - Identifier 2291219 2291223 - EqualsEqualsEqualsToken 2291223 2291227 - PropertyAccessExpression 2291227 2291254 - Identifier 2291227 2291238 - Identifier 2291239 2291254 - AmpersandAmpersandToken 2291254 2291257 - PropertyAccessExpression 2291257 2291299 - ParenthesizedExpression 2291257 2291290 - AsExpression 2291259 2291289 - PropertyAccessExpression 2291259 2291270 - Identifier 2291259 2291263 - Identifier 2291264 2291270 - TypeReference 2291273 2291289 - Identifier 2291273 2291289 - Identifier 2291291 2291299 - BarBarToken 2291299 2291302 - CallExpression 2291302 2291393 - Identifier 2291302 2291330 - PropertyAccessExpression 2291331 2291346 - Identifier 2291331 2291340 - Identifier 2291341 2291346 - Identifier 2291347 2291366 - Identifier 2291367 2291392 - VariableStatement 2291394 2291484 - VariableDeclarationList 2291394 2291483 - VariableDeclaration 2291409 2291483 - Identifier 2291409 2291423 - CallExpression 2291425 2291483 - Identifier 2291425 2291440 - PropertyAccessExpression 2291441 2291464 - Identifier 2291441 2291450 - Identifier 2291451 2291464 - Identifier 2291465 2291470 - Identifier 2291471 2291482 - VariableStatement 2291484 2291589 - VariableDeclarationList 2291484 2291588 - VariableDeclaration 2291501 2291588 - Identifier 2291501 2291510 - CallExpression 2291512 2291588 - Identifier 2291512 2291535 - PropertyAccessExpression 2291536 2291546 - Identifier 2291536 2291541 - Identifier 2291542 2291546 - Identifier 2291547 2291556 - Identifier 2291557 2291566 - Identifier 2291567 2291572 - Identifier 2291573 2291587 - IfStatement 2291589 2291643 - BinaryExpression 2291603 2291624 - Identifier 2291603 2291611 - EqualsEqualsEqualsToken 2291611 2291615 - Identifier 2291615 2291624 - ReturnStatement 2291625 2291643 - Identifier 2291632 2291642 - VariableStatement 2291643 2292012 - VariableDeclarationList 2291643 2292011 - VariableDeclaration 2291935 2292011 - Identifier 2291935 2291950 - CallExpression 2291952 2292011 - Identifier 2291952 2291967 - PropertyAccessExpression 2291968 2291992 - Identifier 2291968 2291977 - Identifier 2291978 2291992 - Identifier 2291993 2291998 - Identifier 2291999 2292010 - VariableStatement 2292012 2292136 - VariableDeclarationList 2292012 2292135 - VariableDeclaration 2292027 2292135 - Identifier 2292027 2292040 - CallExpression 2292042 2292135 - Identifier 2292042 2292057 - CallExpression 2292058 2292134 - Identifier 2292058 2292080 - PropertyAccessExpression 2292081 2292091 - Identifier 2292081 2292086 - Identifier 2292087 2292091 - Identifier 2292092 2292101 - Identifier 2292102 2292111 - Identifier 2292112 2292117 - Identifier 2292118 2292133 - ReturnStatement 2292136 2292213 - ConditionalExpression 2292152 2292212 - BinaryExpression 2292152 2292189 - PropertyAccessExpression 2292152 2292171 - Identifier 2292152 2292165 - Identifier 2292166 2292171 - AmpersandToken 2292171 2292173 - PropertyAccessExpression 2292173 2292189 - Identifier 2292173 2292183 - Identifier 2292184 2292189 - QuestionToken 2292189 2292191 - Identifier 2292191 2292200 - ColonToken 2292200 2292202 - Identifier 2292202 2292212 - FunctionDeclaration 2292220 2295971 - Identifier 2292784 2292832 - Parameter 2292833 2292880 - Identifier 2292833 2292837 - UnionType 2292838 2292880 - TypeReference 2292838 2292862 - Identifier 2292838 2292862 - TypeReference 2292864 2292880 - Identifier 2292864 2292880 - Parameter 2292881 2292910 - Identifier 2292881 2292892 - UnionType 2292893 2292910 - TypeReference 2292893 2292898 - Identifier 2292893 2292898 - UndefinedKeyword 2292900 2292910 - Block 2292911 2295971 - ExpressionStatement 2292913 2293001 - CallExpression 2292913 2293000 - Identifier 2292913 2292940 - Identifier 2292941 2292999 - ReturnStatement 2293001 2293018 - FunctionDeclaration 2293018 2295964 - Identifier 2293038 2293097 - VoidKeyword 2293100 2293105 - Block 2293105 2295964 - VariableStatement 2293107 2293166 - VariableDeclarationList 2293107 2293165 - VariableDeclaration 2293126 2293165 - Identifier 2293126 2293140 - CallExpression 2293142 2293165 - Identifier 2293142 2293159 - Identifier 2293160 2293164 - VariableStatement 2293166 2293251 - VariableDeclarationList 2293166 2293250 - VariableDeclaration 2293185 2293250 - Identifier 2293185 2293190 - BinaryExpression 2293192 2293250 - Identifier 2293192 2293203 - AmpersandAmpersandToken 2293203 2293206 - CallExpression 2293206 2293250 - Identifier 2293206 2293223 - Identifier 2293224 2293234 - Identifier 2293235 2293249 - IfStatement 2293251 2293588 - BinaryExpression 2293444 2293545 - Identifier 2293444 2293448 - AmpersandAmpersandToken 2293448 2293451 - ParenthesizedExpression 2293451 2293545 - BinaryExpression 2293453 2293544 - CallExpression 2293453 2293490 - Identifier 2293453 2293468 - Identifier 2293469 2293473 - PropertyAccessExpression 2293474 2293489 - Identifier 2293474 2293484 - Identifier 2293485 2293489 - BarBarToken 2293490 2293493 - BinaryExpression 2293493 2293544 - PropertyAccessExpression 2293493 2293504 - Identifier 2293493 2293498 - Identifier 2293499 2293504 - AmpersandToken 2293504 2293506 - ParenthesizedExpression 2293506 2293544 - BinaryExpression 2293508 2293543 - PropertyAccessExpression 2293508 2293521 - Identifier 2293508 2293517 - Identifier 2293518 2293521 - BarToken 2293521 2293523 - PropertyAccessExpression 2293523 2293543 - Identifier 2293523 2293533 - Identifier 2293534 2293543 - Block 2293546 2293588 - ReturnStatement 2293548 2293573 - IfStatement 2293588 2294059 - BinaryExpression 2293872 2294016 - BinaryExpression 2293872 2293980 - BinaryExpression 2293872 2293940 - BinaryExpression 2293872 2293912 - PropertyAccessExpression 2293872 2293881 - Identifier 2293872 2293876 - Identifier 2293877 2293881 - EqualsEqualsEqualsToken 2293881 2293885 - PropertyAccessExpression 2293885 2293912 - Identifier 2293885 2293896 - Identifier 2293897 2293912 - BarBarToken 2293912 2293915 - CallExpression 2293915 2293940 - Identifier 2293915 2293929 - PropertyAccessExpression 2293930 2293939 - Identifier 2293930 2293934 - Identifier 2293935 2293939 - BarBarToken 2293940 2293943 - BinaryExpression 2293943 2293980 - PropertyAccessExpression 2293943 2293959 - NonNullExpression 2293943 2293954 - PropertyAccessExpression 2293943 2293953 - Identifier 2293943 2293948 - Identifier 2293949 2293953 - Identifier 2293955 2293959 - ExclamationEqualsEqualsToken 2293959 2293963 - PropertyAccessExpression 2293963 2293980 - Identifier 2293963 2293974 - Identifier 2293975 2293980 - BarBarToken 2293980 2293983 - PrefixUnaryExpression 2293983 2294016 - CallExpression 2293985 2294016 - Identifier 2293985 2294010 - Identifier 2294011 2294015 - Block 2294017 2294059 - ReturnStatement 2294019 2294044 - VariableStatement 2294059 2294142 - VariableDeclarationList 2294059 2294141 - VariableDeclaration 2294080 2294141 - Identifier 2294080 2294098 - BinaryExpression 2294100 2294141 - PropertyAccessExpression 2294100 2294111 - Identifier 2294100 2294105 - Identifier 2294106 2294111 - AmpersandToken 2294111 2294113 - PropertyAccessExpression 2294113 2294141 - Identifier 2294113 2294123 - Identifier 2294124 2294141 - VariableStatement 2294142 2294215 - VariableDeclarationList 2294142 2294214 - VariableDeclaration 2294161 2294214 - Identifier 2294161 2294171 - BinaryExpression 2294173 2294214 - CallExpression 2294173 2294206 - Identifier 2294173 2294200 - Identifier 2294201 2294205 - BarBarToken 2294206 2294209 - Identifier 2294209 2294214 - IfStatement 2294215 2295953 - BinaryExpression 2294235 2294271 - Identifier 2294235 2294239 - AmpersandAmpersandToken 2294239 2294242 - BinaryExpression 2294242 2294271 - PropertyAccessExpression 2294242 2294253 - Identifier 2294242 2294247 - Identifier 2294248 2294253 - AmpersandToken 2294253 2294255 - PropertyAccessExpression 2294255 2294271 - Identifier 2294255 2294265 - Identifier 2294266 2294271 - Block 2294272 2294398 - ExpressionStatement 2294274 2294383 - CallExpression 2294274 2294382 - Identifier 2294274 2294297 - Identifier 2294298 2294307 - PropertyAccessExpression 2294308 2294381 - Identifier 2294308 2294320 - Identifier 2294321 2294381 - IfStatement 2294416 2295953 - BinaryExpression 2294421 2294447 - Identifier 2294421 2294425 - AmpersandAmpersandToken 2294425 2294428 - PrefixUnaryExpression 2294428 2294447 - Identifier 2294430 2294447 - Block 2294448 2294798 - ExpressionStatement 2294450 2294783 - CallExpression 2294450 2294782 - Identifier 2294450 2294673 - Identifier 2294674 2294683 - PropertyAccessExpression 2294684 2294781 - Identifier 2294684 2294696 - Identifier 2294697 2294781 - IfStatement 2294816 2295953 - BinaryExpression 2294821 2294889 - BinaryExpression 2294821 2294845 - Identifier 2294821 2294825 - AmpersandAmpersandToken 2294825 2294828 - Identifier 2294828 2294845 - AmpersandAmpersandToken 2294845 2294848 - PrefixUnaryExpression 2294848 2294889 - CallExpression 2294850 2294889 - Identifier 2294850 2294868 - Identifier 2294869 2294882 - Identifier 2294883 2294888 - Block 2294890 2295037 - ExpressionStatement 2294892 2295022 - CallExpression 2294892 2295021 - Identifier 2294892 2294915 - Identifier 2294916 2294925 - PropertyAccessExpression 2294926 2295020 - Identifier 2294926 2294938 - Identifier 2294939 2295020 - IfStatement 2295055 2295953 - PropertyAccessExpression 2295060 2295093 - Identifier 2295060 2295075 - Identifier 2295076 2295093 - Block 2295094 2295953 - IfStatement 2295096 2295856 - PrefixUnaryExpression 2295118 2295123 - Identifier 2295119 2295123 - Block 2295124 2295856 - IfStatement 2295126 2295578 - PrefixUnaryExpression 2295501 2295519 - Identifier 2295502 2295519 - Block 2295520 2295578 - ReturnStatement 2295522 2295555 - VariableStatement 2295578 2295687 - VariableDeclarationList 2295578 2295686 - VariableDeclaration 2295605 2295686 - Identifier 2295605 2295624 - CallExpression 2295626 2295686 - Identifier 2295626 2295651 - CallExpression 2295652 2295685 - Identifier 2295652 2295679 - Identifier 2295680 2295684 - IfStatement 2295687 2295837 - CallExpression 2295713 2295778 - Identifier 2295713 2295752 - Identifier 2295753 2295757 - Identifier 2295758 2295777 - Block 2295779 2295837 - ReturnStatement 2295781 2295814 - ExpressionStatement 2295856 2295938 - CallExpression 2295856 2295937 - Identifier 2295856 2295879 - Identifier 2295880 2295889 - PropertyAccessExpression 2295890 2295936 - Identifier 2295890 2295902 - Identifier 2295903 2295936 - FunctionDeclaration 2295971 2298420 - Identifier 2295987 2296032 - Parameter 2296033 2296093 - Identifier 2296033 2296037 - UnionType 2296038 2296093 - TypeReference 2296038 2296057 - Identifier 2296038 2296057 - TypeReference 2296059 2296073 - Identifier 2296059 2296073 - TypeReference 2296075 2296093 - Identifier 2296075 2296093 - Parameter 2296094 2296116 - Identifier 2296094 2296104 - QuestionToken 2296104 2296105 - TypeReference 2296106 2296116 - Identifier 2296106 2296116 - TypeReference 2296118 2296123 - Identifier 2296118 2296123 - Block 2296123 2298420 - ExpressionStatement 2296125 2296223 - CallExpression 2296125 2296222 - PropertyAccessExpression 2296125 2296147 - Identifier 2296125 2296140 - Identifier 2296141 2296147 - BinaryExpression 2296148 2296221 - BinaryExpression 2296148 2296190 - PropertyAccessExpression 2296148 2296157 - Identifier 2296148 2296152 - Identifier 2296153 2296157 - ExclamationEqualsEqualsToken 2296157 2296161 - PropertyAccessExpression 2296161 2296190 - Identifier 2296161 2296172 - Identifier 2296173 2296190 - BarBarToken 2296190 2296193 - CallExpression 2296193 2296221 - Identifier 2296193 2296215 - Identifier 2296216 2296220 - ExpressionStatement 2296223 2296257 - CallExpression 2296223 2296256 - Identifier 2296223 2296250 - Identifier 2296251 2296255 - IfStatement 2296257 2296378 - CallExpression 2296273 2296299 - Identifier 2296273 2296293 - Identifier 2296294 2296298 - Block 2296300 2296378 - ExpressionStatement 2296302 2296367 - CallExpression 2296302 2296366 - Identifier 2296302 2296349 - Identifier 2296350 2296354 - PropertyAccessExpression 2296355 2296365 - Identifier 2296355 2296360 - Identifier 2296361 2296365 - IfStatement 2296378 2298019 - BinaryExpression 2296492 2296575 - BinaryExpression 2296492 2296547 - Identifier 2296492 2296501 - AmpersandAmpersandToken 2296501 2296504 - BinaryExpression 2296504 2296547 - Identifier 2296504 2296514 - AmpersandToken 2296514 2296516 - PropertyAccessExpression 2296516 2296547 - Identifier 2296516 2296526 - Identifier 2296527 2296547 - AmpersandAmpersandToken 2296547 2296550 - CallExpression 2296550 2296575 - Identifier 2296550 2296569 - Identifier 2296570 2296574 - Block 2296576 2298019 - IfStatement 2296578 2297971 - BinaryExpression 2296747 2296820 - PrefixUnaryExpression 2296747 2296780 - CallExpression 2296748 2296780 - Identifier 2296748 2296774 - Identifier 2296775 2296779 - AmpersandAmpersandToken 2296780 2296783 - PrefixUnaryExpression 2296783 2296820 - CallExpression 2296785 2296820 - Identifier 2296785 2296814 - Identifier 2296815 2296819 - Block 2296821 2297971 - VariableStatement 2296823 2297017 - VariableDeclarationList 2296823 2297016 - VariableDeclaration 2296965 2297016 - Identifier 2296965 2296985 - CallExpression 2296987 2297016 - Identifier 2296987 2297010 - Identifier 2297011 2297015 - IfStatement 2297017 2297956 - BinaryExpression 2297039 2297134 - Identifier 2297039 2297058 - AmpersandAmpersandToken 2297058 2297061 - CallExpression 2297061 2297134 - Identifier 2297061 2297087 - CallExpression 2297088 2297133 - Identifier 2297088 2297112 - Identifier 2297113 2297132 - Block 2297135 2297956 - VariableStatement 2297137 2297192 - VariableDeclarationList 2297137 2297191 - VariableDeclaration 2297164 2297191 - Identifier 2297164 2297170 - CallExpression 2297172 2297191 - Identifier 2297172 2297185 - Identifier 2297186 2297190 - IfStatement 2297192 2297320 - PropertyAccessExpression 2297218 2297239 - Identifier 2297218 2297223 - Identifier 2297224 2297239 - Block 2297240 2297320 - ReturnStatement 2297242 2297297 - PropertyAccessExpression 2297274 2297296 - Identifier 2297274 2297280 - Identifier 2297281 2297296 - VariableStatement 2297320 2297400 - VariableDeclarationList 2297320 2297399 - VariableDeclaration 2297347 2297399 - Identifier 2297347 2297358 - CallExpression 2297360 2297399 - Identifier 2297360 2297382 - Identifier 2297383 2297387 - Identifier 2297388 2297398 - VariableStatement 2297400 2297648 - VariableDeclarationList 2297400 2297647 - VariableDeclaration 2297427 2297647 - Identifier 2297427 2297447 - CallExpression 2297449 2297647 - Identifier 2297449 2297465 - Identifier 2297466 2297491 - Identifier 2297492 2297521 - Identifier 2297522 2297550 - Identifier 2297551 2297562 - Identifier 2297563 2297574 - Identifier 2297575 2297611 - NumericLiteral 2297612 2297614 - PropertyAccessExpression 2297615 2297646 - Identifier 2297615 2297630 - Identifier 2297631 2297646 - VariableStatement 2297648 2297787 - VariableDeclarationList 2297648 2297786 - VariableDeclaration 2297675 2297786 - Identifier 2297675 2297690 - CallExpression 2297692 2297786 - Identifier 2297692 2297712 - PropertyAccessExpression 2297713 2297724 - Identifier 2297713 2297717 - Identifier 2297718 2297724 - Identifier 2297725 2297738 - ArrayLiteralExpression 2297739 2297761 - Identifier 2297741 2297760 - Identifier 2297762 2297773 - Identifier 2297774 2297785 - ExpressionStatement 2297787 2297869 - BinaryExpression 2297787 2297868 - PropertyAccessExpression 2297787 2297835 - Identifier 2297787 2297823 - Identifier 2297824 2297835 - BarEqualsToken 2297835 2297838 - PropertyAccessExpression 2297838 2297868 - Identifier 2297838 2297850 - Identifier 2297851 2297868 - ReturnStatement 2297869 2297937 - BinaryExpression 2297897 2297936 - PropertyAccessExpression 2297897 2297919 - Identifier 2297897 2297903 - Identifier 2297904 2297919 - EqualsToken 2297919 2297921 - Identifier 2297921 2297936 - ReturnStatement 2297971 2298008 - Identifier 2297991 2298007 - VariableStatement 2298019 2298126 - VariableDeclarationList 2298019 2298125 - VariableDeclaration 2298065 2298125 - Identifier 2298065 2298081 - CallExpression 2298083 2298125 - Identifier 2298083 2298119 - Identifier 2298120 2298124 - IfStatement 2298126 2298262 - BinaryExpression 2298140 2298203 - PrefixUnaryExpression 2298140 2298156 - Identifier 2298141 2298156 - AmpersandAmpersandToken 2298156 2298159 - BinaryExpression 2298159 2298203 - PropertyAccessExpression 2298159 2298169 - Identifier 2298159 2298164 - Identifier 2298165 2298169 - EqualsEqualsEqualsToken 2298169 2298173 - PropertyAccessExpression 2298173 2298203 - Identifier 2298173 2298184 - Identifier 2298185 2298203 - Block 2298204 2298262 - ExpressionStatement 2298206 2298251 - CallExpression 2298206 2298250 - Identifier 2298206 2298244 - Identifier 2298245 2298249 - ExpressionStatement 2298262 2298348 - CallExpression 2298262 2298347 - Identifier 2298262 2298330 - Identifier 2298331 2298335 - Identifier 2298336 2298346 - ReturnStatement 2298348 2298413 - CallExpression 2298366 2298412 - Identifier 2298366 2298382 - CallExpression 2298383 2298411 - Identifier 2298383 2298405 - Identifier 2298406 2298410 - FunctionDeclaration 2298420 2301836 - Identifier 2298436 2298493 - Parameter 2298494 2298554 - Identifier 2298494 2298498 - UnionType 2298499 2298554 - TypeReference 2298499 2298518 - Identifier 2298499 2298518 - TypeReference 2298520 2298534 - Identifier 2298520 2298534 - TypeReference 2298536 2298554 - Identifier 2298536 2298554 - Parameter 2298555 2298577 - Identifier 2298555 2298565 - QuestionToken 2298565 2298566 - TypeReference 2298567 2298577 - Identifier 2298567 2298577 - Block 2298578 2301836 - VariableStatement 2298580 2298623 - VariableDeclarationList 2298580 2298622 - VariableDeclaration 2298595 2298622 - Identifier 2298595 2298601 - CallExpression 2298603 2298622 - Identifier 2298603 2298616 - Identifier 2298617 2298621 - IfStatement 2298623 2301829 - PrefixUnaryExpression 2298734 2298780 - ParenthesizedExpression 2298735 2298780 - BinaryExpression 2298736 2298779 - PropertyAccessExpression 2298736 2298747 - Identifier 2298736 2298741 - Identifier 2298742 2298747 - AmpersandToken 2298747 2298749 - PropertyAccessExpression 2298749 2298779 - Identifier 2298749 2298764 - Identifier 2298765 2298779 - Block 2298781 2301829 - VariableStatement 2298783 2298854 - VariableDeclarationList 2298783 2298853 - VariableDeclaration 2298802 2298853 - Identifier 2298802 2298822 - CallExpression 2298824 2298853 - Identifier 2298824 2298847 - Identifier 2298848 2298852 - IfStatement 2298854 2301818 - PrefixUnaryExpression 2299170 2299216 - ParenthesizedExpression 2299171 2299216 - BinaryExpression 2299172 2299215 - PropertyAccessExpression 2299172 2299183 - Identifier 2299172 2299177 - Identifier 2299178 2299183 - AmpersandToken 2299183 2299185 - PropertyAccessExpression 2299185 2299215 - Identifier 2299185 2299200 - Identifier 2299201 2299215 - Block 2299217 2301818 - ExpressionStatement 2299219 2299282 - BinaryExpression 2299219 2299281 - PropertyAccessExpression 2299219 2299248 - Identifier 2299219 2299242 - Identifier 2299243 2299248 - BarEqualsToken 2299248 2299251 - PropertyAccessExpression 2299251 2299281 - Identifier 2299251 2299266 - Identifier 2299267 2299281 - VariableStatement 2299282 2299423 - VariableDeclarationList 2299282 2299422 - VariableDeclaration 2299305 2299422 - Identifier 2299305 2299315 - CallExpression 2299317 2299422 - Identifier 2299317 2299334 - CallExpression 2299335 2299421 - Identifier 2299335 2299354 - CallExpression 2299355 2299400 - Identifier 2299355 2299370 - CallExpression 2299371 2299399 - Identifier 2299371 2299393 - Identifier 2299394 2299398 - PropertyAccessExpression 2299401 2299420 - Identifier 2299401 2299415 - Identifier 2299416 2299420 - IfStatement 2299423 2299506 - PrefixUnaryExpression 2299445 2299455 - Identifier 2299446 2299455 - Block 2299456 2299506 - ReturnStatement 2299458 2299487 - IfStatement 2299506 2301390 - CallExpression 2299528 2299552 - Identifier 2299528 2299546 - Identifier 2299547 2299551 - Block 2299553 2300946 - IfStatement 2299555 2300927 - Identifier 2299581 2299600 - Block 2299601 2300667 - VariableStatement 2299603 2299680 - VariableDeclarationList 2299603 2299679 - VariableDeclaration 2299634 2299679 - Identifier 2299634 2299651 - CallExpression 2299653 2299679 - Identifier 2299653 2299673 - Identifier 2299674 2299678 - VariableStatement 2299680 2299765 - VariableDeclarationList 2299680 2299764 - VariableDeclaration 2299709 2299764 - Identifier 2299709 2299741 - UnionType 2299742 2299764 - TypeReference 2299742 2299752 - Identifier 2299742 2299752 - UndefinedKeyword 2299754 2299764 - IfStatement 2299765 2300344 - BinaryExpression 2299795 2299841 - Identifier 2299795 2299804 - AmpersandAmpersandToken 2299804 2299807 - BinaryExpression 2299807 2299841 - Identifier 2299807 2299817 - AmpersandToken 2299817 2299819 - PropertyAccessExpression 2299819 2299841 - Identifier 2299819 2299829 - Identifier 2299830 2299841 - Block 2299842 2300344 - ExpressionStatement 2299844 2299963 - CallExpression 2299844 2299962 - Identifier 2299844 2299911 - Identifier 2299912 2299921 - Identifier 2299922 2299942 - NonNullExpression 2299943 2299961 - Identifier 2299943 2299960 - VariableStatement 2299963 2300052 - VariableDeclarationList 2299963 2300051 - VariableDeclaration 2299998 2300051 - Identifier 2299998 2300007 - CallExpression 2300009 2300051 - Identifier 2300009 2300030 - Identifier 2300031 2300050 - IfStatement 2300052 2300317 - BinaryExpression 2300086 2300138 - Identifier 2300086 2300094 - AmpersandAmpersandToken 2300094 2300097 - BinaryExpression 2300097 2300138 - PropertyAccessExpression 2300097 2300112 - Identifier 2300097 2300106 - Identifier 2300107 2300112 - AmpersandToken 2300112 2300114 - PropertyAccessExpression 2300114 2300138 - Identifier 2300114 2300124 - Identifier 2300125 2300138 - Block 2300139 2300317 - ExpressionStatement 2300141 2300286 - BinaryExpression 2300141 2300285 - Identifier 2300141 2300206 - EqualsToken 2300206 2300208 - CallExpression 2300208 2300285 - Identifier 2300208 2300229 - Identifier 2300230 2300249 - PropertyAccessExpression 2300250 2300284 - NonNullExpression 2300250 2300268 - Identifier 2300250 2300267 - Identifier 2300269 2300284 - ExpressionStatement 2300344 2300543 - BinaryExpression 2300344 2300542 - Identifier 2300344 2300401 - BarBarEqualsToken 2300401 2300405 - ConditionalExpression 2300405 2300542 - Identifier 2300405 2300422 - QuestionToken 2300422 2300424 - CallExpression 2300424 2300520 - Identifier 2300424 2300474 - Identifier 2300475 2300494 - PropertyAccessExpression 2300495 2300519 - Identifier 2300495 2300512 - Identifier 2300513 2300519 - ColonToken 2300520 2300522 - Identifier 2300522 2300542 - ExpressionStatement 2300543 2300644 - CallExpression 2300543 2300643 - Identifier 2300543 2300599 - Identifier 2300600 2300609 - Identifier 2300610 2300642 - Block 2300693 2300927 - ExpressionStatement 2300695 2300904 - CallExpression 2300695 2300903 - Identifier 2300695 2300892 - Identifier 2300893 2300902 - IfStatement 2300968 2301390 - BinaryExpression 2300973 2301082 - BinaryExpression 2300973 2301016 - Identifier 2300973 2300992 - AmpersandAmpersandToken 2300992 2300995 - PrefixUnaryExpression 2300995 2301016 - PropertyAccessExpression 2300997 2301016 - Identifier 2300997 2301001 - Identifier 2301002 2301016 - AmpersandAmpersandToken 2301016 2301019 - BinaryExpression 2301019 2301082 - PropertyAccessExpression 2301019 2301057 - PropertyAccessExpression 2301019 2301050 - Identifier 2301019 2301039 - Identifier 2301040 2301050 - Identifier 2301051 2301057 - GreaterThanToken 2301057 2301059 - PropertyAccessExpression 2301059 2301082 - PropertyAccessExpression 2301059 2301075 - Identifier 2301059 2301064 - Identifier 2301065 2301075 - Identifier 2301076 2301082 - Block 2301083 2301390 - VariableStatement 2301085 2301158 - VariableDeclarationList 2301085 2301157 - VariableDeclaration 2301112 2301157 - Identifier 2301112 2301129 - CallExpression 2301131 2301157 - Identifier 2301131 2301151 - Identifier 2301152 2301156 - IfStatement 2301158 2301371 - BinaryExpression 2301184 2301230 - Identifier 2301184 2301193 - AmpersandAmpersandToken 2301193 2301196 - BinaryExpression 2301196 2301230 - Identifier 2301196 2301206 - AmpersandToken 2301206 2301208 - PropertyAccessExpression 2301208 2301230 - Identifier 2301208 2301218 - Identifier 2301219 2301230 - Block 2301231 2301371 - ExpressionStatement 2301233 2301348 - CallExpression 2301233 2301347 - Identifier 2301233 2301296 - Identifier 2301297 2301306 - Identifier 2301307 2301327 - NonNullExpression 2301328 2301346 - Identifier 2301328 2301345 - IfStatement 2301390 2301753 - BinaryExpression 2301412 2301502 - BinaryExpression 2301412 2301469 - Identifier 2301412 2301431 - AmpersandAmpersandToken 2301431 2301434 - PrefixUnaryExpression 2301434 2301469 - CallExpression 2301436 2301469 - Identifier 2301436 2301463 - Identifier 2301464 2301468 - AmpersandAmpersandToken 2301469 2301472 - PrefixUnaryExpression 2301472 2301502 - PropertyAccessExpression 2301474 2301502 - Identifier 2301474 2301483 - Identifier 2301484 2301502 - Block 2301503 2301753 - VariableStatement 2301505 2301585 - VariableDeclarationList 2301505 2301584 - VariableDeclaration 2301532 2301584 - Identifier 2301532 2301543 - CallExpression 2301545 2301584 - Identifier 2301545 2301567 - Identifier 2301568 2301572 - Identifier 2301573 2301583 - IfStatement 2301585 2301734 - PrefixUnaryExpression 2301611 2301640 - PropertyAccessExpression 2301612 2301640 - Identifier 2301612 2301621 - Identifier 2301622 2301640 - Block 2301641 2301734 - ExpressionStatement 2301643 2301711 - BinaryExpression 2301643 2301710 - PropertyAccessExpression 2301643 2301697 - Identifier 2301643 2301678 - Identifier 2301679 2301697 - EqualsToken 2301697 2301699 - Identifier 2301699 2301710 - ExpressionStatement 2301753 2301803 - CallExpression 2301753 2301802 - Identifier 2301753 2301796 - Identifier 2301797 2301801 - FunctionDeclaration 2301836 2303966 - Identifier 2301852 2301905 - Parameter 2301906 2301966 - Identifier 2301906 2301910 - UnionType 2301911 2301966 - TypeReference 2301911 2301925 - Identifier 2301911 2301925 - TypeReference 2301927 2301946 - Identifier 2301927 2301946 - TypeReference 2301948 2301966 - Identifier 2301948 2301966 - Block 2301967 2303966 - ExpressionStatement 2301969 2302067 - CallExpression 2301969 2302066 - PropertyAccessExpression 2301969 2301991 - Identifier 2301969 2301984 - Identifier 2301985 2301991 - BinaryExpression 2301992 2302065 - BinaryExpression 2301992 2302034 - PropertyAccessExpression 2301992 2302001 - Identifier 2301992 2301996 - Identifier 2301997 2302001 - ExclamationEqualsEqualsToken 2302001 2302005 - PropertyAccessExpression 2302005 2302034 - Identifier 2302005 2302016 - Identifier 2302017 2302034 - BarBarToken 2302034 2302037 - CallExpression 2302037 2302065 - Identifier 2302037 2302059 - Identifier 2302060 2302064 - VariableStatement 2302067 2302124 - VariableDeclarationList 2302067 2302123 - VariableDeclaration 2302084 2302123 - Identifier 2302084 2302098 - CallExpression 2302100 2302123 - Identifier 2302100 2302117 - Identifier 2302118 2302122 - VariableStatement 2302124 2302187 - VariableDeclarationList 2302124 2302186 - VariableDeclaration 2302139 2302186 - Identifier 2302139 2302150 - CallExpression 2302152 2302186 - Identifier 2302152 2302180 - Identifier 2302181 2302185 - ExpressionStatement 2302187 2302263 - CallExpression 2302187 2302262 - Identifier 2302187 2302244 - Identifier 2302245 2302249 - Identifier 2302250 2302261 - IfStatement 2302263 2303959 - PropertyAccessExpression 2302279 2302288 - Identifier 2302279 2302283 - Identifier 2302284 2302288 - Block 2302289 2303959 - IfStatement 2302291 2302970 - PrefixUnaryExpression 2302309 2302342 - CallExpression 2302310 2302342 - Identifier 2302310 2302336 - Identifier 2302337 2302341 - Block 2302343 2302970 - ExpressionStatement 2302345 2302955 - CallExpression 2302345 2302954 - Identifier 2302345 2302919 - CallExpression 2302920 2302953 - Identifier 2302920 2302947 - Identifier 2302948 2302952 - IfStatement 2302970 2303948 - BinaryExpression 2302990 2303025 - PropertyAccessExpression 2302990 2303004 - PropertyAccessExpression 2302990 2302999 - Identifier 2302990 2302994 - Identifier 2302995 2302999 - Identifier 2303000 2303004 - EqualsEqualsEqualsToken 2303004 2303008 - PropertyAccessExpression 2303008 2303025 - Identifier 2303008 2303019 - Identifier 2303020 2303025 - Block 2303026 2303091 - ExpressionStatement 2303028 2303076 - CallExpression 2303028 2303075 - Identifier 2303028 2303064 - PropertyAccessExpression 2303065 2303074 - Identifier 2303065 2303069 - Identifier 2303070 2303074 - Block 2303109 2303948 - VariableStatement 2303111 2303660 - VariableDeclarationList 2303111 2303659 - VariableDeclaration 2303621 2303659 - Identifier 2303621 2303630 - CallExpression 2303632 2303659 - Identifier 2303632 2303648 - PropertyAccessExpression 2303649 2303658 - Identifier 2303649 2303653 - Identifier 2303654 2303658 - VariableStatement 2303660 2303765 - VariableDeclarationList 2303660 2303764 - VariableDeclaration 2303683 2303764 - Identifier 2303683 2303704 - BinaryExpression 2303706 2303764 - Identifier 2303706 2303717 - AmpersandAmpersandToken 2303717 2303720 - CallExpression 2303720 2303764 - Identifier 2303720 2303737 - Identifier 2303738 2303748 - Identifier 2303749 2303763 - IfStatement 2303765 2303933 - Identifier 2303787 2303807 - Block 2303808 2303933 - ExpressionStatement 2303810 2303914 - CallExpression 2303810 2303913 - Identifier 2303810 2303853 - Identifier 2303854 2303858 - Identifier 2303859 2303880 - PropertyAccessExpression 2303881 2303891 - Identifier 2303881 2303886 - Identifier 2303887 2303891 - PropertyAccessExpression 2303892 2303902 - Identifier 2303892 2303897 - Identifier 2303898 2303902 - Identifier 2303903 2303912 - FunctionDeclaration 2303966 2304507 - Identifier 2303982 2304009 - Parameter 2304010 2304023 - Identifier 2304010 2304017 - TypeReference 2304018 2304023 - Identifier 2304018 2304023 - Parameter 2304024 2304035 - Identifier 2304024 2304029 - TypeReference 2304030 2304035 - Identifier 2304030 2304035 - Parameter 2304036 2304066 - Identifier 2304036 2304047 - TypeReference 2304048 2304066 - Identifier 2304048 2304066 - Parameter 2304067 2304088 - Identifier 2304067 2304080 - FalseKeyword 2304082 2304088 - BooleanKeyword 2304090 2304098 - Block 2304098 2304507 - IfStatement 2304100 2304478 - PrefixUnaryExpression 2304114 2304159 - CallExpression 2304115 2304159 - Identifier 2304115 2304133 - Identifier 2304134 2304138 - Identifier 2304139 2304158 - Block 2304160 2304478 - VariableStatement 2304162 2304242 - VariableDeclarationList 2304162 2304241 - VariableDeclaration 2304181 2304241 - Identifier 2304181 2304193 - BinaryExpression 2304195 2304241 - Identifier 2304195 2304208 - AmpersandAmpersandToken 2304208 2304211 - CallExpression 2304211 2304241 - Identifier 2304211 2304235 - Identifier 2304236 2304240 - ExpressionStatement 2304242 2304440 - CallExpression 2304242 2304439 - Identifier 2304242 2304281 - Identifier 2304282 2304307 - BinaryExpression 2304308 2304394 - PrefixUnaryExpression 2304308 2304339 - PrefixUnaryExpression 2304327 2304339 - Identifier 2304328 2304339 - AmpersandAmpersandToken 2304339 2304342 - CallExpression 2304342 2304394 - Identifier 2304342 2304361 - Identifier 2304362 2304373 - Identifier 2304374 2304393 - Identifier 2304395 2304423 - ReturnStatement 2304440 2304467 - FalseKeyword 2304460 2304466 - ReturnStatement 2304478 2304500 - TrueKeyword 2304494 2304499 - FunctionDeclaration 2304507 2306143 - Identifier 2304523 2304555 - Parameter 2304556 2304570 - Identifier 2304556 2304557 - TypeReference 2304558 2304570 - Identifier 2304558 2304570 - Block 2304571 2306143 - IfStatement 2304573 2304648 - PrefixUnaryExpression 2304587 2304607 - CallExpression 2304588 2304607 - Identifier 2304588 2304604 - Identifier 2304605 2304606 - Block 2304608 2304648 - ReturnStatement 2304610 2304637 - FalseKeyword 2304630 2304636 - IfStatement 2304648 2304741 - PrefixUnaryExpression 2304662 2304700 - CallExpression 2304663 2304700 - Identifier 2304663 2304697 - Identifier 2304698 2304699 - Block 2304701 2304741 - ReturnStatement 2304703 2304730 - FalseKeyword 2304723 2304729 - VariableStatement 2304741 2304811 - VariableDeclarationList 2304741 2304810 - VariableDeclaration 2304756 2304810 - Identifier 2304756 2304770 - CallExpression 2304772 2304810 - Identifier 2304772 2304794 - ElementAccessExpression 2304795 2304809 - PropertyAccessExpression 2304795 2304806 - Identifier 2304795 2304796 - Identifier 2304797 2304806 - NumericLiteral 2304807 2304808 - VariableStatement 2304811 2304899 - VariableDeclarationList 2304811 2304898 - VariableDeclaration 2304826 2304898 - Identifier 2304826 2304836 - CallExpression 2304838 2304898 - Identifier 2304838 2304862 - Identifier 2304863 2304876 - AsExpression 2304877 2304897 - StringLiteral 2304877 2304885 - TypeReference 2304888 2304897 - Identifier 2304888 2304897 - IfStatement 2304899 2306032 - Identifier 2304913 2304922 - Block 2304923 2306032 - VariableStatement 2304925 2305017 - VariableDeclarationList 2304925 2305016 - VariableDeclaration 2304944 2305016 - Identifier 2304944 2304957 - CallExpression 2304959 2305016 - Identifier 2304959 2304977 - Identifier 2304978 2304991 - AsExpression 2304992 2305015 - StringLiteral 2304992 2305003 - TypeReference 2305006 2305015 - Identifier 2305006 2305015 - VariableStatement 2305017 2305098 - VariableDeclarationList 2305017 2305097 - VariableDeclaration 2305036 2305097 - Identifier 2305036 2305049 - BinaryExpression 2305051 2305097 - Identifier 2305051 2305064 - AmpersandAmpersandToken 2305064 2305067 - CallExpression 2305067 2305097 - Identifier 2305067 2305083 - Identifier 2305084 2305096 - IfStatement 2305098 2305244 - BinaryExpression 2305116 2305196 - BinaryExpression 2305116 2305159 - PrefixUnaryExpression 2305116 2305129 - Identifier 2305117 2305129 - BarBarToken 2305129 2305132 - BinaryExpression 2305132 2305159 - Identifier 2305132 2305145 - EqualsEqualsEqualsToken 2305145 2305149 - Identifier 2305149 2305159 - BarBarToken 2305159 2305162 - BinaryExpression 2305162 2305196 - Identifier 2305162 2305175 - EqualsEqualsEqualsToken 2305175 2305179 - Identifier 2305179 2305196 - Block 2305197 2305244 - ReturnStatement 2305199 2305229 - TrueKeyword 2305223 2305228 - IfStatement 2305244 2305994 - BinaryExpression 2305578 2305678 - BinaryExpression 2305578 2305623 - Identifier 2305578 2305590 - AmpersandAmpersandToken 2305590 2305593 - PropertyAccessExpression 2305593 2305623 - Identifier 2305593 2305606 - Identifier 2305607 2305623 - AmpersandAmpersandToken 2305623 2305626 - CallExpression 2305626 2305678 - Identifier 2305626 2305647 - PropertyAccessExpression 2305648 2305677 - Identifier 2305648 2305660 - Identifier 2305661 2305677 - Block 2305679 2305994 - VariableStatement 2305681 2305761 - VariableDeclarationList 2305681 2305760 - VariableDeclaration 2305704 2305760 - Identifier 2305704 2305716 - PropertyAccessExpression 2305718 2305760 - PropertyAccessExpression 2305718 2305748 - Identifier 2305718 2305731 - Identifier 2305732 2305748 - Identifier 2305749 2305760 - VariableStatement 2305761 2305832 - VariableDeclarationList 2305761 2305831 - VariableDeclaration 2305784 2305831 - Identifier 2305784 2305800 - CallExpression 2305802 2305831 - Identifier 2305802 2305818 - Identifier 2305819 2305830 - IfStatement 2305832 2305979 - BinaryExpression 2305854 2305923 - BinaryExpression 2305854 2305883 - Identifier 2305854 2305869 - EqualsEqualsEqualsToken 2305869 2305873 - Identifier 2305873 2305883 - BarBarToken 2305883 2305886 - BinaryExpression 2305886 2305923 - Identifier 2305886 2305902 - EqualsEqualsEqualsToken 2305902 2305906 - Identifier 2305906 2305923 - Block 2305924 2305979 - ReturnStatement 2305926 2305960 - TrueKeyword 2305954 2305959 - ReturnStatement 2305994 2306021 - FalseKeyword 2306014 2306020 - VariableStatement 2306032 2306110 - VariableDeclarationList 2306032 2306109 - VariableDeclaration 2306047 2306109 - Identifier 2306047 2306055 - CallExpression 2306057 2306109 - Identifier 2306057 2306075 - Identifier 2306076 2306089 - AsExpression 2306090 2306108 - StringLiteral 2306090 2306096 - TypeReference 2306099 2306108 - Identifier 2306099 2306108 - ReturnStatement 2306110 2306136 - PrefixUnaryExpression 2306126 2306135 - Identifier 2306128 2306135 - FunctionDeclaration 2306143 2307172 - Identifier 2306159 2306176 - Parameter 2306177 2306191 - Identifier 2306177 2306183 - TypeReference 2306184 2306191 - Identifier 2306184 2306191 - BooleanKeyword 2306193 2306201 - Block 2306201 2307172 - ReturnStatement 2306203 2307165 - PrefixUnaryExpression 2306646 2307164 - PrefixUnaryExpression 2306648 2307164 - ParenthesizedExpression 2306649 2307164 - BinaryExpression 2306650 2307163 - BinaryExpression 2306650 2307088 - BinaryExpression 2306650 2307034 - BinaryExpression 2306650 2306937 - BinaryExpression 2306650 2306819 - BinaryExpression 2306650 2306693 - CallExpression 2306650 2306671 - Identifier 2306650 2306663 - Identifier 2306664 2306670 - AmpersandToken 2306671 2306673 - PropertyAccessExpression 2306673 2306693 - Identifier 2306673 2306684 - Identifier 2306685 2306693 - BarBarToken 2306693 2306696 - BinaryExpression 2306696 2306819 - BinaryExpression 2306696 2306745 - PropertyAccessExpression 2306696 2306722 - Identifier 2306696 2306716 - Identifier 2306717 2306722 - AmpersandToken 2306722 2306724 - PropertyAccessExpression 2306724 2306745 - Identifier 2306724 2306736 - Identifier 2306737 2306745 - AmpersandAmpersandToken 2306745 2306748 - BinaryExpression 2306748 2306819 - CallExpression 2306748 2306794 - Identifier 2306748 2306786 - Identifier 2306787 2306793 - AmpersandToken 2306794 2306796 - PropertyAccessExpression 2306796 2306819 - Identifier 2306796 2306810 - Identifier 2306811 2306819 - BarBarToken 2306819 2306822 - BinaryExpression 2306822 2306937 - BinaryExpression 2306822 2306871 - PropertyAccessExpression 2306822 2306848 - Identifier 2306822 2306842 - Identifier 2306843 2306848 - AmpersandToken 2306848 2306850 - PropertyAccessExpression 2306850 2306871 - Identifier 2306850 2306862 - Identifier 2306863 2306871 - AmpersandAmpersandToken 2306871 2306874 - BinaryExpression 2306874 2306937 - CallExpression 2306874 2306916 - Identifier 2306874 2306908 - Identifier 2306909 2306915 - AmpersandToken 2306916 2306918 - PropertyAccessExpression 2306918 2306937 - Identifier 2306918 2306928 - Identifier 2306929 2306937 - BarBarToken 2306937 2306940 - BinaryExpression 2306940 2307034 - BinaryExpression 2306940 2306989 - PropertyAccessExpression 2306940 2306966 - Identifier 2306940 2306960 - Identifier 2306961 2306966 - AmpersandToken 2306966 2306968 - PropertyAccessExpression 2306968 2306989 - Identifier 2306968 2306980 - Identifier 2306981 2306989 - AmpersandAmpersandToken 2306989 2306992 - PrefixUnaryExpression 2306992 2307034 - ParenthesizedExpression 2306994 2307034 - BinaryExpression 2306995 2307033 - PropertyAccessExpression 2306995 2307007 - Identifier 2306995 2307001 - Identifier 2307002 2307007 - AmpersandToken 2307007 2307009 - PropertyAccessExpression 2307009 2307033 - Identifier 2307009 2307021 - Identifier 2307022 2307033 - BarBarToken 2307034 2307037 - BinaryExpression 2307037 2307088 - PropertyAccessExpression 2307037 2307063 - Identifier 2307037 2307057 - Identifier 2307058 2307063 - AmpersandToken 2307063 2307065 - PropertyAccessExpression 2307065 2307088 - Identifier 2307065 2307077 - Identifier 2307078 2307088 - BarBarToken 2307088 2307091 - CallExpression 2307091 2307163 - Identifier 2307091 2307109 - PropertyAccessExpression 2307110 2307129 - Identifier 2307110 2307116 - Identifier 2307117 2307129 - Identifier 2307130 2307162 - FunctionDeclaration 2307172 2309736 - Identifier 2307188 2307217 - Parameter 2307218 2307234 - Identifier 2307218 2307222 - TypeReference 2307223 2307234 - Identifier 2307223 2307234 - Parameter 2307235 2307250 - Identifier 2307235 2307242 - TypeReference 2307243 2307250 - Identifier 2307243 2307250 - Parameter 2307251 2307282 - Identifier 2307251 2307266 - TypeReference 2307267 2307282 - Identifier 2307267 2307282 - Block 2307283 2309736 - IfStatement 2307285 2307462 - BinaryExpression 2307299 2307337 - Identifier 2307299 2307313 - EqualsEqualsEqualsToken 2307313 2307317 - PropertyAccessExpression 2307317 2307337 - Identifier 2307317 2307332 - Identifier 2307333 2307337 - Block 2307338 2307462 - ReturnStatement 2307340 2307451 - FalseKeyword 2307444 2307450 - IfStatement 2307462 2309136 - CallExpression 2307476 2307500 - Identifier 2307476 2307492 - Identifier 2307493 2307499 - Block 2307501 2309136 - IfStatement 2307503 2309099 - BinaryExpression 2307629 2307795 - BinaryExpression 2307629 2307727 - BinaryExpression 2307629 2307682 - PropertyAccessExpression 2307629 2307659 - Identifier 2307629 2307653 - Identifier 2307654 2307659 - AmpersandToken 2307659 2307661 - PropertyAccessExpression 2307661 2307682 - Identifier 2307661 2307673 - Identifier 2307674 2307682 - AmpersandAmpersandToken 2307682 2307685 - CallExpression 2307685 2307727 - Identifier 2307685 2307721 - Identifier 2307722 2307726 - AmpersandAmpersandToken 2307727 2307730 - BinaryExpression 2307730 2307795 - PropertyAccessExpression 2307730 2307768 - PropertyAccessExpression 2307730 2307763 - Identifier 2307730 2307752 - Identifier 2307753 2307763 - Identifier 2307764 2307768 - EqualsEqualsEqualsToken 2307768 2307772 - PropertyAccessExpression 2307772 2307795 - Identifier 2307772 2307783 - Identifier 2307784 2307795 - Block 2307810 2309099 - VariableStatement 2307812 2307975 - VariableDeclarationList 2307812 2307974 - VariableDeclaration 2307937 2307974 - Identifier 2307937 2307942 - CallExpression 2307944 2307974 - Identifier 2307944 2307968 - Identifier 2307969 2307973 - IfStatement 2307975 2308127 - PrefixUnaryExpression 2307997 2308071 - ParenthesizedExpression 2307998 2308071 - BinaryExpression 2307999 2308070 - Identifier 2307999 2308003 - AmpersandAmpersandToken 2308003 2308006 - ParenthesizedExpression 2308006 2308070 - BinaryExpression 2308008 2308069 - BinaryExpression 2308008 2308044 - PropertyAccessExpression 2308008 2308017 - Identifier 2308008 2308012 - Identifier 2308013 2308017 - EqualsEqualsEqualsToken 2308017 2308021 - PropertyAccessExpression 2308021 2308044 - Identifier 2308021 2308032 - Identifier 2308033 2308044 - BarBarToken 2308044 2308047 - CallExpression 2308047 2308069 - Identifier 2308047 2308063 - Identifier 2308064 2308068 - Block 2308072 2308127 - ReturnStatement 2308074 2308108 - TrueKeyword 2308102 2308107 - IfStatement 2308127 2309084 - PropertyAccessExpression 2308149 2308172 - Identifier 2308149 2308155 - Identifier 2308156 2308172 - Block 2308173 2309084 - VariableStatement 2308175 2308273 - VariableDeclarationList 2308175 2308272 - VariableDeclaration 2308202 2308272 - Identifier 2308202 2308226 - CallExpression 2308228 2308272 - Identifier 2308228 2308247 - PropertyAccessExpression 2308248 2308271 - Identifier 2308248 2308254 - Identifier 2308255 2308271 - VariableStatement 2308273 2308377 - VariableDeclarationList 2308273 2308376 - VariableDeclaration 2308300 2308376 - Identifier 2308300 2308327 - BinaryExpression 2308329 2308376 - PropertyAccessExpression 2308329 2308341 - Identifier 2308329 2308334 - Identifier 2308335 2308341 - EqualsEqualsEqualsToken 2308341 2308345 - PropertyAccessExpression 2308345 2308376 - PropertyAccessExpression 2308345 2308369 - Identifier 2308345 2308352 - Identifier 2308353 2308369 - Identifier 2308370 2308376 - VariableStatement 2308377 2308472 - VariableDeclarationList 2308377 2308471 - VariableDeclaration 2308404 2308471 - Identifier 2308404 2308429 - BinaryExpression 2308431 2308471 - Identifier 2308431 2308436 - EqualsEqualsEqualsToken 2308436 2308440 - PropertyAccessExpression 2308440 2308471 - PropertyAccessExpression 2308440 2308464 - Identifier 2308440 2308447 - Identifier 2308448 2308464 - Identifier 2308465 2308471 - VariableStatement 2308472 2308607 - VariableDeclarationList 2308472 2308606 - VariableDeclaration 2308499 2308606 - Identifier 2308499 2308529 - BinaryExpression 2308531 2308606 - Identifier 2308531 2308555 - AmpersandAmpersandToken 2308555 2308558 - BinaryExpression 2308558 2308606 - PropertyAccessExpression 2308558 2308590 - PropertyAccessExpression 2308558 2308572 - Identifier 2308558 2308565 - Identifier 2308566 2308572 - QuestionDotToken 2308572 2308574 - Identifier 2308574 2308590 - EqualsEqualsEqualsToken 2308590 2308594 - PropertyAccessExpression 2308594 2308606 - Identifier 2308594 2308599 - Identifier 2308600 2308606 - VariableStatement 2308607 2308754 - VariableDeclarationList 2308607 2308753 - VariableDeclaration 2308634 2308753 - Identifier 2308634 2308683 - BinaryExpression 2308685 2308753 - Identifier 2308685 2308709 - AmpersandAmpersandToken 2308709 2308712 - BinaryExpression 2308712 2308753 - PropertyAccessExpression 2308712 2308744 - PropertyAccessExpression 2308712 2308726 - Identifier 2308712 2308719 - Identifier 2308720 2308726 - QuestionDotToken 2308726 2308728 - Identifier 2308728 2308744 - EqualsEqualsEqualsToken 2308744 2308748 - Identifier 2308748 2308753 - VariableStatement 2308754 2309017 - VariableDeclarationList 2308754 2309016 - VariableDeclaration 2308781 2309016 - Identifier 2308781 2308799 - BinaryExpression 2308801 2309016 - BinaryExpression 2308801 2308939 - BinaryExpression 2308801 2308881 - Identifier 2308801 2308828 - BarBarToken 2308828 2308856 - Identifier 2308856 2308881 - BarBarToken 2308881 2308909 - Identifier 2308909 2308939 - BarBarToken 2308939 2308967 - Identifier 2308967 2309016 - ReturnStatement 2309017 2309065 - PrefixUnaryExpression 2309045 2309064 - Identifier 2309047 2309064 - ReturnStatement 2309099 2309125 - TrueKeyword 2309119 2309124 - IfStatement 2309136 2309706 - CallExpression 2309150 2309174 - Identifier 2309150 2309168 - Identifier 2309169 2309173 - Block 2309175 2309706 - VariableStatement 2309177 2309308 - VariableDeclarationList 2309177 2309307 - VariableDeclaration 2309267 2309307 - Identifier 2309267 2309272 - CallExpression 2309274 2309307 - Identifier 2309274 2309290 - PropertyAccessExpression 2309291 2309306 - Identifier 2309291 2309295 - Identifier 2309296 2309306 - IfStatement 2309308 2309695 - BinaryExpression 2309326 2309361 - PropertyAccessExpression 2309326 2309335 - Identifier 2309326 2309330 - Identifier 2309331 2309335 - EqualsEqualsEqualsToken 2309335 2309339 - PropertyAccessExpression 2309339 2309361 - Identifier 2309339 2309350 - Identifier 2309351 2309361 - Block 2309362 2309695 - VariableStatement 2309364 2309432 - VariableDeclarationList 2309364 2309431 - VariableDeclaration 2309387 2309431 - Identifier 2309387 2309394 - NonNullExpression 2309396 2309431 - PropertyAccessExpression 2309396 2309430 - CallExpression 2309396 2309415 - Identifier 2309396 2309409 - Identifier 2309410 2309414 - Identifier 2309416 2309430 - IfStatement 2309432 2309680 - BinaryExpression 2309454 2309486 - PropertyAccessExpression 2309454 2309466 - Identifier 2309454 2309460 - Identifier 2309461 2309466 - AmpersandToken 2309466 2309468 - PropertyAccessExpression 2309468 2309486 - Identifier 2309468 2309480 - Identifier 2309481 2309486 - Block 2309487 2309680 - VariableStatement 2309489 2309567 - VariableDeclarationList 2309489 2309566 - VariableDeclaration 2309516 2309566 - Identifier 2309516 2309528 - CallExpression 2309530 2309566 - Identifier 2309530 2309558 - Identifier 2309559 2309565 - ReturnStatement 2309567 2309661 - BinaryExpression 2309595 2309660 - PrefixUnaryExpression 2309595 2309609 - PrefixUnaryExpression 2309597 2309609 - Identifier 2309598 2309609 - AmpersandAmpersandToken 2309609 2309612 - BinaryExpression 2309612 2309660 - PropertyAccessExpression 2309612 2309629 - Identifier 2309612 2309624 - Identifier 2309625 2309629 - EqualsEqualsEqualsToken 2309629 2309633 - PropertyAccessExpression 2309633 2309660 - Identifier 2309633 2309644 - Identifier 2309645 2309660 - ReturnStatement 2309706 2309729 - FalseKeyword 2309722 2309728 - FunctionDeclaration 2309736 2310453 - Identifier 2309752 2309777 - Parameter 2309778 2309794 - Identifier 2309778 2309782 - TypeReference 2309783 2309794 - Identifier 2309783 2309794 - Parameter 2309795 2309838 - Identifier 2309795 2309819 - TypeReference 2309820 2309838 - Identifier 2309820 2309838 - Parameter 2309839 2309886 - Identifier 2309839 2309867 - TypeReference 2309868 2309886 - Identifier 2309868 2309886 - BooleanKeyword 2309888 2309896 - Block 2309896 2310453 - VariableStatement 2309898 2310108 - VariableDeclarationList 2309898 2310107 - VariableDeclaration 2310005 2310107 - Identifier 2310005 2310010 - CallExpression 2310012 2310107 - Identifier 2310012 2310033 - Identifier 2310034 2310038 - BinaryExpression 2310039 2310106 - PropertyAccessExpression 2310039 2310071 - Identifier 2310039 2310060 - Identifier 2310061 2310071 - BarToken 2310071 2310073 - PropertyAccessExpression 2310073 2310106 - Identifier 2310073 2310094 - Identifier 2310095 2310106 - IfStatement 2310108 2310278 - BinaryExpression 2310122 2310186 - BinaryExpression 2310122 2310157 - PropertyAccessExpression 2310122 2310131 - Identifier 2310122 2310126 - Identifier 2310127 2310131 - ExclamationEqualsEqualsToken 2310131 2310135 - PropertyAccessExpression 2310135 2310157 - Identifier 2310135 2310146 - Identifier 2310147 2310157 - AmpersandAmpersandToken 2310157 2310160 - PrefixUnaryExpression 2310160 2310186 - CallExpression 2310162 2310186 - Identifier 2310162 2310180 - Identifier 2310181 2310185 - Block 2310187 2310278 - ExpressionStatement 2310189 2310240 - CallExpression 2310189 2310239 - Identifier 2310189 2310208 - Identifier 2310209 2310213 - Identifier 2310214 2310238 - ReturnStatement 2310240 2310267 - FalseKeyword 2310260 2310266 - IfStatement 2310278 2310424 - BinaryExpression 2310292 2310328 - PropertyAccessExpression 2310292 2310302 - Identifier 2310292 2310296 - Identifier 2310297 2310302 - AmpersandToken 2310302 2310304 - PropertyAccessExpression 2310304 2310328 - Identifier 2310304 2310314 - Identifier 2310315 2310328 - Block 2310329 2310424 - ExpressionStatement 2310331 2310386 - CallExpression 2310331 2310385 - Identifier 2310331 2310350 - Identifier 2310351 2310355 - Identifier 2310356 2310384 - ReturnStatement 2310386 2310413 - FalseKeyword 2310406 2310412 - ReturnStatement 2310424 2310446 - TrueKeyword 2310440 2310445 - FunctionDeclaration 2310453 2311475 - Identifier 2310469 2310491 - Parameter 2310492 2310514 - Identifier 2310492 2310496 - TypeReference 2310497 2310514 - Identifier 2310497 2310514 - TypeReference 2310516 2310521 - Identifier 2310516 2310521 - Block 2310521 2311475 - ExpressionStatement 2310523 2310566 - CallExpression 2310523 2310565 - Identifier 2310523 2310548 - PropertyAccessExpression 2310549 2310564 - Identifier 2310549 2310553 - Identifier 2310554 2310564 - VariableStatement 2310566 2310622 - VariableDeclarationList 2310566 2310621 - VariableDeclaration 2310581 2310621 - Identifier 2310581 2310586 - CallExpression 2310588 2310621 - Identifier 2310588 2310604 - PropertyAccessExpression 2310605 2310620 - Identifier 2310605 2310609 - Identifier 2310610 2310620 - IfStatement 2310622 2310809 - PrefixUnaryExpression 2310636 2310661 - CallExpression 2310637 2310661 - Identifier 2310637 2310655 - Identifier 2310656 2310660 - Block 2310662 2310809 - ExpressionStatement 2310664 2310765 - CallExpression 2310664 2310764 - Identifier 2310664 2310683 - Identifier 2310684 2310688 - PropertyAccessExpression 2310689 2310763 - Identifier 2310689 2310701 - Identifier 2310702 2310763 - ReturnStatement 2310765 2310798 - Identifier 2310785 2310797 - IfStatement 2310809 2311006 - BinaryExpression 2310823 2310889 - CallExpression 2310823 2310855 - Identifier 2310823 2310849 - Identifier 2310850 2310854 - AmpersandAmpersandToken 2310855 2310858 - CallExpression 2310858 2310889 - Identifier 2310858 2310878 - PropertyAccessExpression 2310879 2310888 - Identifier 2310879 2310883 - Identifier 2310884 2310888 - Block 2310890 2311006 - ExpressionStatement 2310892 2310995 - CallExpression 2310892 2310994 - Identifier 2310892 2310911 - Identifier 2310912 2310916 - PropertyAccessExpression 2310917 2310993 - Identifier 2310917 2310929 - Identifier 2310930 2310993 - VariableStatement 2311006 2311049 - VariableDeclarationList 2311006 2311048 - VariableDeclaration 2311021 2311048 - Identifier 2311021 2311027 - CallExpression 2311029 2311048 - Identifier 2311029 2311042 - Identifier 2311043 2311047 - VariableStatement 2311049 2311135 - VariableDeclarationList 2311049 2311134 - VariableDeclaration 2311064 2311134 - Identifier 2311064 2311071 - CallExpression 2311073 2311134 - Identifier 2311073 2311112 - PropertyAccessExpression 2311113 2311133 - Identifier 2311113 2311118 - Identifier 2311119 2311133 - IfStatement 2311135 2311439 - Identifier 2311149 2311155 - Block 2311156 2311439 - IfStatement 2311158 2311428 - CallExpression 2311176 2311200 - Identifier 2311176 2311192 - Identifier 2311193 2311199 - Block 2311201 2311325 - ExpressionStatement 2311203 2311310 - CallExpression 2311203 2311309 - Identifier 2311203 2311226 - Identifier 2311227 2311231 - PropertyAccessExpression 2311232 2311308 - Identifier 2311232 2311244 - Identifier 2311245 2311308 - Block 2311343 2311428 - ExpressionStatement 2311345 2311413 - CallExpression 2311345 2311412 - Identifier 2311345 2311398 - Identifier 2311399 2311403 - Identifier 2311404 2311411 - ReturnStatement 2311439 2311468 - Identifier 2311455 2311467 - FunctionDeclaration 2311475 2311983 - Identifier 2311491 2311527 - Parameter 2311528 2311550 - Identifier 2311528 2311532 - TypeReference 2311533 2311550 - Identifier 2311533 2311550 - Parameter 2311551 2311566 - Identifier 2311551 2311558 - TypeReference 2311559 2311566 - Identifier 2311559 2311566 - Block 2311567 2311983 - VariableStatement 2311569 2311616 - VariableDeclarationList 2311569 2311615 - VariableDeclaration 2311584 2311615 - Identifier 2311584 2311589 - CallExpression 2311591 2311615 - Identifier 2311591 2311607 - Identifier 2311608 2311614 - IfStatement 2311616 2311976 - BinaryExpression 2311630 2311863 - BinaryExpression 2311630 2311735 - Identifier 2311630 2311660 - AmpersandAmpersandToken 2311660 2311663 - PrefixUnaryExpression 2311663 2311735 - ParenthesizedExpression 2311678 2311735 - BinaryExpression 2311679 2311734 - PropertyAccessExpression 2311679 2311689 - Identifier 2311679 2311683 - Identifier 2311684 2311689 - AmpersandToken 2311689 2311691 - ParenthesizedExpression 2311691 2311734 - BinaryExpression 2311693 2311733 - PropertyAccessExpression 2311693 2311715 - Identifier 2311693 2311702 - Identifier 2311703 2311715 - BarToken 2311715 2311717 - PropertyAccessExpression 2311717 2311733 - Identifier 2311717 2311727 - Identifier 2311728 2311733 - AmpersandAmpersandToken 2311735 2311738 - PrefixUnaryExpression 2311738 2311863 - ParenthesizedExpression 2311753 2311863 - ConditionalExpression 2311754 2311862 - Identifier 2311754 2311780 - QuestionToken 2311780 2311782 - BinaryExpression 2311782 2311818 - PropertyAccessExpression 2311782 2311795 - Identifier 2311782 2311789 - Identifier 2311790 2311795 - AmpersandToken 2311795 2311797 - PropertyAccessExpression 2311797 2311818 - Identifier 2311797 2311809 - Identifier 2311810 2311818 - ColonToken 2311818 2311820 - CallExpression 2311820 2311862 - Identifier 2311820 2311833 - Identifier 2311834 2311838 - PropertyAccessExpression 2311839 2311861 - Identifier 2311839 2311849 - Identifier 2311850 2311861 - Block 2311874 2311976 - ExpressionStatement 2311876 2311965 - CallExpression 2311876 2311964 - Identifier 2311876 2311895 - Identifier 2311896 2311900 - PropertyAccessExpression 2311901 2311963 - Identifier 2311901 2311913 - Identifier 2311914 2311963 - FunctionDeclaration 2311983 2312131 - Identifier 2311999 2312021 - Parameter 2312022 2312044 - Identifier 2312022 2312026 - TypeReference 2312027 2312044 - Identifier 2312027 2312044 - TypeReference 2312046 2312051 - Identifier 2312046 2312051 - Block 2312051 2312131 - ExpressionStatement 2312053 2312096 - CallExpression 2312053 2312095 - Identifier 2312053 2312078 - PropertyAccessExpression 2312079 2312094 - Identifier 2312079 2312083 - Identifier 2312084 2312094 - ReturnStatement 2312096 2312124 - Identifier 2312112 2312123 - FunctionDeclaration 2312131 2312277 - Identifier 2312147 2312167 - Parameter 2312168 2312188 - Identifier 2312168 2312172 - TypeReference 2312173 2312188 - Identifier 2312173 2312188 - TypeReference 2312190 2312195 - Identifier 2312190 2312195 - Block 2312195 2312277 - ExpressionStatement 2312197 2312231 - CallExpression 2312197 2312230 - Identifier 2312197 2312224 - Identifier 2312225 2312229 - ReturnStatement 2312231 2312270 - Identifier 2312247 2312269 - FunctionDeclaration 2312277 2317776 - Identifier 2312293 2312311 - Parameter 2312312 2312359 - Identifier 2312312 2312316 - UnionType 2312317 2312359 - TypeReference 2312317 2312333 - Identifier 2312317 2312333 - TypeReference 2312335 2312359 - Identifier 2312335 2312359 - BooleanKeyword 2312361 2312369 - Block 2312369 2317776 - VariableStatement 2312371 2312431 - VariableDeclarationList 2312371 2312430 - VariableDeclaration 2312413 2312430 - Identifier 2312413 2312422 - FalseKeyword 2312424 2312430 - VariableStatement 2312431 2312505 - VariableDeclarationList 2312431 2312504 - VariableDeclaration 2312446 2312504 - Identifier 2312446 2312456 - CallExpression 2312458 2312504 - Identifier 2312458 2312498 - Identifier 2312499 2312503 - IfStatement 2312505 2317410 - BinaryExpression 2312519 2312572 - Identifier 2312519 2312528 - AmpersandAmpersandToken 2312528 2312531 - CallExpression 2312531 2312572 - Identifier 2312531 2312561 - Identifier 2312562 2312571 - Block 2312573 2312967 - VariableStatement 2312575 2312891 - VariableDeclarationList 2312575 2312890 - VariableDeclaration 2312685 2312890 - Identifier 2312685 2312693 - ConditionalExpression 2312695 2312890 - CallExpression 2312695 2312719 - Identifier 2312695 2312713 - Identifier 2312714 2312718 - QuestionToken 2312719 2312721 - PropertyAccessExpression 2312721 2312793 - Identifier 2312721 2312733 - Identifier 2312734 2312793 - ColonToken 2312793 2312795 - PropertyAccessExpression 2312795 2312890 - Identifier 2312795 2312824 - Identifier 2312825 2312890 - ExpressionStatement 2312891 2312926 - CallExpression 2312891 2312925 - Identifier 2312891 2312910 - Identifier 2312911 2312915 - Identifier 2312916 2312924 - ExpressionStatement 2312926 2312956 - BinaryExpression 2312926 2312955 - Identifier 2312926 2312948 - EqualsToken 2312948 2312950 - TrueKeyword 2312950 2312955 - IfStatement 2312981 2317410 - PrefixUnaryExpression 2312986 2313024 - ParenthesizedExpression 2312987 2313024 - BinaryExpression 2312988 2313023 - PropertyAccessExpression 2312988 2312998 - Identifier 2312988 2312992 - Identifier 2312993 2312998 - AmpersandToken 2312998 2313000 - PropertyAccessExpression 2313000 2313023 - Identifier 2313000 2313010 - Identifier 2313011 2313023 - Block 2313025 2317410 - IfStatement 2313027 2317399 - CallExpression 2313045 2313070 - Identifier 2313045 2313064 - Identifier 2313065 2313069 - Block 2313071 2316217 - VariableStatement 2313073 2313136 - VariableDeclarationList 2313073 2313135 - VariableDeclaration 2313096 2313135 - Identifier 2313096 2313107 - CallExpression 2313109 2313135 - Identifier 2313109 2313129 - Identifier 2313130 2313134 - IfStatement 2313136 2316202 - PrefixUnaryExpression 2313158 2313190 - CallExpression 2313159 2313190 - Identifier 2313159 2313178 - Identifier 2313179 2313189 - Block 2313191 2316202 - VariableStatement 2313193 2313246 - VariableDeclarationList 2313193 2313245 - VariableDeclaration 2313218 2313245 - Identifier 2313218 2313223 - UnionType 2313224 2313245 - TypeReference 2313224 2313233 - Identifier 2313224 2313233 - UndefinedKeyword 2313235 2313245 - IfStatement 2313246 2314147 - PrefixUnaryExpression 2313272 2313327 - CallExpression 2313273 2313327 - Identifier 2313273 2313298 - Identifier 2313299 2313309 - Identifier 2313310 2313326 - Block 2313328 2314147 - ExpressionStatement 2313330 2313412 - BinaryExpression 2313330 2313411 - Identifier 2313330 2313360 - QuestionQuestionEqualsToken 2313360 2313364 - CallExpression 2313364 2313411 - Identifier 2313364 2313389 - Identifier 2313390 2313400 - PropertyAccessExpression 2313401 2313410 - Identifier 2313401 2313406 - Identifier 2313407 2313410 - VariableStatement 2313412 2313916 - VariableDeclarationList 2313412 2313915 - VariableDeclaration 2313443 2313915 - Identifier 2313443 2313451 - ConditionalExpression 2313453 2313915 - CallExpression 2313453 2313477 - Identifier 2313453 2313471 - Identifier 2313472 2313476 - QuestionToken 2313477 2313479 - PropertyAccessExpression 2313479 2313679 - Identifier 2313479 2313491 - Identifier 2313492 2313679 - ColonToken 2313679 2313681 - PropertyAccessExpression 2313681 2313915 - Identifier 2313681 2313722 - Identifier 2313723 2313915 - VariableStatement 2313916 2314028 - VariableDeclarationList 2313916 2314027 - VariableDeclaration 2313947 2314027 - Identifier 2313947 2313958 - CallExpression 2313960 2314027 - Identifier 2313960 2313981 - Identifier 2313982 2313992 - PropertyAccessExpression 2313993 2314004 - Identifier 2313993 2313998 - Identifier 2313999 2314004 - PropertyAccessExpression 2314005 2314017 - Identifier 2314005 2314010 - Identifier 2314011 2314017 - Identifier 2314018 2314026 - ExpressionStatement 2314028 2314082 - CallExpression 2314028 2314081 - PropertyAccessExpression 2314028 2314069 - Identifier 2314028 2314065 - Identifier 2314066 2314069 - Identifier 2314070 2314080 - ExpressionStatement 2314082 2314124 - BinaryExpression 2314082 2314123 - Identifier 2314082 2314116 - EqualsToken 2314116 2314118 - TrueKeyword 2314118 2314123 - SwitchStatement 2314147 2316183 - Identifier 2314177 2314187 - CaseBlock 2314188 2316183 - CaseClause 2314190 2314239 - PropertyAccessExpression 2314220 2314238 - Identifier 2314220 2314231 - Identifier 2314232 2314238 - CaseClause 2314239 2314288 - PropertyAccessExpression 2314269 2314287 - Identifier 2314269 2314280 - Identifier 2314281 2314287 - CaseClause 2314288 2314910 - PropertyAccessExpression 2314318 2314338 - Identifier 2314318 2314329 - Identifier 2314330 2314338 - IfStatement 2314339 2314910 - BinaryExpression 2314373 2314425 - PropertyAccessExpression 2314373 2314401 - Identifier 2314373 2314383 - Identifier 2314384 2314401 - EqualsEqualsEqualsToken 2314401 2314405 - PropertyAccessExpression 2314405 2314425 - Identifier 2314405 2314416 - Identifier 2314417 2314425 - Block 2314426 2314910 - ExpressionStatement 2314428 2314518 - BinaryExpression 2314428 2314517 - Identifier 2314428 2314466 - QuestionQuestionEqualsToken 2314466 2314470 - CallExpression 2314470 2314517 - Identifier 2314470 2314495 - Identifier 2314496 2314506 - PropertyAccessExpression 2314507 2314516 - Identifier 2314507 2314512 - Identifier 2314513 2314516 - ExpressionStatement 2314518 2314789 - CallExpression 2314518 2314788 - PropertyAccessExpression 2314518 2314567 - Identifier 2314518 2314563 - Identifier 2314564 2314567 - CallExpression 2314568 2314752 - Identifier 2314568 2314626 - Identifier 2314627 2314637 - PropertyAccessExpression 2314638 2314649 - Identifier 2314638 2314643 - Identifier 2314644 2314649 - PropertyAccessExpression 2314650 2314662 - Identifier 2314650 2314655 - Identifier 2314656 2314662 - PropertyAccessExpression 2314663 2314751 - Identifier 2314663 2314675 - Identifier 2314676 2314751 - ExpressionStatement 2314789 2314839 - BinaryExpression 2314789 2314838 - Identifier 2314789 2314831 - EqualsToken 2314831 2314833 - TrueKeyword 2314833 2314838 - BreakStatement 2314839 2314879 - CaseClause 2314910 2315003 - PropertyAccessExpression 2314984 2315002 - Identifier 2314984 2314995 - Identifier 2314996 2315002 - CaseClause 2315003 2315052 - PropertyAccessExpression 2315033 2315051 - Identifier 2315033 2315044 - Identifier 2315045 2315051 - CaseClause 2315052 2315103 - PropertyAccessExpression 2315082 2315102 - Identifier 2315082 2315093 - Identifier 2315094 2315102 - CaseClause 2315103 2315298 - PropertyAccessExpression 2315133 2315151 - Identifier 2315133 2315144 - Identifier 2315145 2315151 - IfStatement 2315152 2315298 - BinaryExpression 2315186 2315224 - Identifier 2315186 2315201 - GreaterThanEqualsToken 2315201 2315204 - PropertyAccessExpression 2315204 2315224 - Identifier 2315204 2315217 - Identifier 2315218 2315224 - Block 2315225 2315298 - BreakStatement 2315227 2315267 - DefaultClause 2315298 2316160 - ExpressionStatement 2315376 2315462 - BinaryExpression 2315376 2315461 - Identifier 2315376 2315410 - QuestionQuestionEqualsToken 2315410 2315414 - CallExpression 2315414 2315461 - Identifier 2315414 2315439 - Identifier 2315440 2315450 - PropertyAccessExpression 2315451 2315460 - Identifier 2315451 2315456 - Identifier 2315457 2315460 - VariableStatement 2315462 2315964 - VariableDeclarationList 2315462 2315963 - VariableDeclaration 2315497 2315963 - Identifier 2315497 2315505 - ConditionalExpression 2315507 2315963 - CallExpression 2315507 2315531 - Identifier 2315507 2315525 - Identifier 2315526 2315530 - QuestionToken 2315531 2315533 - PropertyAccessExpression 2315533 2315728 - Identifier 2315533 2315545 - Identifier 2315546 2315728 - ColonToken 2315728 2315730 - PropertyAccessExpression 2315730 2315963 - Identifier 2315730 2315775 - Identifier 2315776 2315963 - ExpressionStatement 2315964 2316078 - CallExpression 2315964 2316077 - PropertyAccessExpression 2315964 2316009 - Identifier 2315964 2316005 - Identifier 2316006 2316009 - CallExpression 2316010 2316076 - Identifier 2316010 2316030 - Identifier 2316031 2316041 - PropertyAccessExpression 2316042 2316053 - Identifier 2316042 2316047 - Identifier 2316048 2316053 - PropertyAccessExpression 2316054 2316066 - Identifier 2316054 2316059 - Identifier 2316060 2316066 - Identifier 2316067 2316075 - ExpressionStatement 2316078 2316124 - BinaryExpression 2316078 2316123 - Identifier 2316078 2316116 - EqualsToken 2316116 2316118 - TrueKeyword 2316118 2316123 - BreakStatement 2316124 2316160 - Block 2316235 2317399 - VariableStatement 2316237 2316357 - VariableDeclarationList 2316237 2316356 - VariableDeclaration 2316317 2316356 - Identifier 2316317 2316328 - CallExpression 2316330 2316356 - Identifier 2316330 2316350 - Identifier 2316351 2316355 - IfStatement 2316357 2317384 - PrefixUnaryExpression 2316379 2316411 - CallExpression 2316380 2316411 - Identifier 2316380 2316399 - Identifier 2316400 2316410 - Block 2316412 2317384 - VariableStatement 2316414 2316496 - VariableDeclarationList 2316414 2316495 - VariableDeclaration 2316441 2316495 - Identifier 2316441 2316446 - CallExpression 2316448 2316495 - Identifier 2316448 2316473 - Identifier 2316474 2316484 - PropertyAccessExpression 2316485 2316494 - Identifier 2316485 2316490 - Identifier 2316491 2316494 - VariableStatement 2316496 2316798 - VariableDeclarationList 2316496 2316797 - VariableDeclaration 2316523 2316797 - Identifier 2316523 2316531 - ConditionalExpression 2316533 2316797 - CallExpression 2316533 2316557 - Identifier 2316533 2316551 - Identifier 2316552 2316556 - QuestionToken 2316557 2316559 - PropertyAccessExpression 2316559 2316662 - Identifier 2316559 2316571 - Identifier 2316572 2316662 - ColonToken 2316662 2316664 - PropertyAccessExpression 2316664 2316797 - Identifier 2316664 2316701 - Identifier 2316702 2316797 - VariableStatement 2316798 2316906 - VariableDeclarationList 2316798 2316905 - VariableDeclaration 2316825 2316905 - Identifier 2316825 2316836 - CallExpression 2316838 2316905 - Identifier 2316838 2316859 - Identifier 2316860 2316870 - PropertyAccessExpression 2316871 2316882 - Identifier 2316871 2316876 - Identifier 2316877 2316882 - PropertyAccessExpression 2316883 2316895 - Identifier 2316883 2316888 - Identifier 2316889 2316895 - Identifier 2316896 2316904 - IfStatement 2316906 2317277 - BinaryExpression 2316932 2317047 - BinaryExpression 2316932 2316986 - Identifier 2316932 2316941 - AmpersandAmpersandToken 2316941 2316944 - BinaryExpression 2316944 2316986 - PropertyAccessExpression 2316944 2316959 - Identifier 2316944 2316954 - Identifier 2316955 2316959 - ExclamationEqualsEqualsToken 2316959 2316963 - PropertyAccessExpression 2316963 2316986 - Identifier 2316963 2316974 - Identifier 2316975 2316986 - AmpersandAmpersandToken 2316986 2316989 - BinaryExpression 2316989 2317047 - ParenthesizedExpression 2316989 2317041 - BinaryExpression 2316991 2317040 - CallExpression 2316991 2317018 - Identifier 2316991 2317007 - Identifier 2317008 2317017 - AmpersandToken 2317018 2317020 - PropertyAccessExpression 2317020 2317040 - Identifier 2317020 2317034 - Identifier 2317035 2317040 - EqualsEqualsEqualsToken 2317041 2317045 - NumericLiteral 2317045 2317047 - Block 2317048 2317277 - VariableStatement 2317050 2317188 - VariableDeclarationList 2317050 2317187 - VariableDeclaration 2317081 2317187 - Identifier 2317081 2317093 - CallExpression 2317095 2317187 - Identifier 2317095 2317119 - Identifier 2317120 2317129 - PropertyAccessExpression 2317130 2317186 - Identifier 2317130 2317142 - Identifier 2317143 2317186 - ExpressionStatement 2317188 2317254 - CallExpression 2317188 2317253 - Identifier 2317188 2317228 - Identifier 2317229 2317239 - Identifier 2317240 2317252 - ExpressionStatement 2317277 2317327 - CallExpression 2317277 2317326 - PropertyAccessExpression 2317277 2317314 - Identifier 2317277 2317310 - Identifier 2317311 2317314 - Identifier 2317315 2317325 - ExpressionStatement 2317327 2317365 - BinaryExpression 2317327 2317364 - Identifier 2317327 2317357 - EqualsToken 2317357 2317359 - TrueKeyword 2317359 2317364 - IfStatement 2317410 2317741 - BinaryExpression 2317426 2317507 - CallExpression 2317426 2317449 - Identifier 2317426 2317443 - Identifier 2317444 2317448 - AmpersandAmpersandToken 2317449 2317452 - CallExpression 2317452 2317507 - Identifier 2317452 2317501 - Identifier 2317502 2317506 - Block 2317508 2317741 - ExpressionStatement 2317510 2317700 - CallExpression 2317510 2317699 - Identifier 2317510 2317620 - Identifier 2317621 2317625 - PropertyAccessExpression 2317626 2317698 - Identifier 2317626 2317638 - Identifier 2317639 2317698 - ExpressionStatement 2317700 2317730 - BinaryExpression 2317700 2317729 - Identifier 2317700 2317722 - EqualsToken 2317722 2317724 - TrueKeyword 2317724 2317729 - ReturnStatement 2317741 2317769 - Identifier 2317759 2317768 - FunctionDeclaration 2317776 2318481 - Identifier 2317792 2317813 - Parameter 2317814 2317835 - Identifier 2317814 2317818 - TypeReference 2317819 2317835 - Identifier 2317819 2317835 - TypeReference 2317837 2317842 - Identifier 2317837 2317842 - Block 2317842 2318481 - ExpressionStatement 2317844 2317903 - CallExpression 2317844 2317902 - Identifier 2317844 2317871 - ArrowFunction 2317872 2317901 - EqualsGreaterThanToken 2317874 2317877 - CallExpression 2317877 2317901 - Identifier 2317877 2317895 - Identifier 2317896 2317900 - VariableStatement 2317903 2317968 - VariableDeclarationList 2317903 2317967 - VariableDeclaration 2317920 2317967 - Identifier 2317920 2317932 - CallExpression 2317934 2317967 - Identifier 2317934 2317950 - PropertyAccessExpression 2317951 2317966 - Identifier 2317951 2317955 - Identifier 2317956 2317966 - VariableStatement 2317968 2318163 - VariableDeclarationList 2317968 2318162 - VariableDeclaration 2317983 2318162 - Identifier 2317983 2317995 - CallExpression 2317997 2318162 - Identifier 2317997 2318014 - Identifier 2318015 2318026 - TrueKeyword 2318027 2318046 - Identifier 2318047 2318052 - PropertyAccessExpression 2318053 2318161 - Identifier 2318053 2318065 - Identifier 2318066 2318161 - IfStatement 2318163 2318445 - BinaryExpression 2318177 2318282 - BinaryExpression 2318177 2318233 - BinaryExpression 2318177 2318204 - Identifier 2318177 2318188 - EqualsEqualsEqualsToken 2318188 2318192 - Identifier 2318192 2318204 - AmpersandAmpersandToken 2318204 2318207 - PrefixUnaryExpression 2318207 2318233 - CallExpression 2318209 2318233 - Identifier 2318209 2318220 - Identifier 2318221 2318232 - AmpersandAmpersandToken 2318233 2318236 - PrefixUnaryExpression 2318236 2318282 - ParenthesizedExpression 2318238 2318282 - BinaryExpression 2318239 2318281 - PropertyAccessExpression 2318239 2318256 - Identifier 2318239 2318250 - Identifier 2318251 2318256 - AmpersandToken 2318256 2318258 - PropertyAccessExpression 2318258 2318281 - Identifier 2318258 2318268 - Identifier 2318269 2318281 - Block 2318283 2318445 - ExpressionStatement 2318285 2318434 - CallExpression 2318285 2318433 - Identifier 2318285 2318319 - FalseKeyword 2318320 2318337 - CallExpression 2318338 2318432 - Identifier 2318338 2318362 - Identifier 2318363 2318367 - PropertyAccessExpression 2318368 2318431 - Identifier 2318368 2318380 - Identifier 2318381 2318431 - ReturnStatement 2318445 2318474 - Identifier 2318461 2318473 - FunctionDeclaration 2318481 2321832 - Identifier 2318497 2318524 - Parameter 2318525 2318552 - Identifier 2318525 2318529 - TypeReference 2318530 2318552 - Identifier 2318530 2318552 - TypeReference 2318554 2318559 - Identifier 2318554 2318559 - Block 2318559 2321832 - VariableStatement 2318561 2318621 - VariableDeclarationList 2318561 2318620 - VariableDeclaration 2318576 2318620 - Identifier 2318576 2318588 - CallExpression 2318590 2318620 - Identifier 2318590 2318606 - PropertyAccessExpression 2318607 2318619 - Identifier 2318607 2318611 - Identifier 2318612 2318619 - IfStatement 2318621 2318717 - BinaryExpression 2318635 2318666 - Identifier 2318635 2318646 - EqualsEqualsEqualsToken 2318646 2318650 - Identifier 2318650 2318666 - Block 2318667 2318717 - ReturnStatement 2318669 2318706 - Identifier 2318689 2318705 - SwitchStatement 2318717 2319601 - PropertyAccessExpression 2318735 2318752 - PropertyAccessExpression 2318735 2318747 - Identifier 2318735 2318739 - Identifier 2318740 2318747 - Identifier 2318748 2318752 - CaseBlock 2318753 2319601 - CaseClause 2318755 2319224 - PropertyAccessExpression 2318773 2318799 - Identifier 2318773 2318784 - Identifier 2318785 2318799 - SwitchStatement 2318800 2319200 - PropertyAccessExpression 2318826 2318839 - Identifier 2318826 2318830 - Identifier 2318831 2318839 - CaseBlock 2318840 2319200 - CaseClause 2318842 2319012 - PropertyAccessExpression 2318868 2318890 - Identifier 2318868 2318879 - Identifier 2318880 2318890 - ReturnStatement 2318891 2319012 - CallExpression 2318923 2319011 - Identifier 2318923 2318949 - CallExpression 2318950 2319010 - Identifier 2318950 2318970 - PrefixUnaryExpression 2318971 2319009 - PropertyAccessExpression 2318972 2319009 - ParenthesizedExpression 2318972 2319004 - AsExpression 2318973 2319003 - PropertyAccessExpression 2318973 2318985 - Identifier 2318973 2318977 - Identifier 2318978 2318985 - TypeReference 2318988 2319003 - Identifier 2318988 2319003 - Identifier 2319005 2319009 - CaseClause 2319012 2319181 - PropertyAccessExpression 2319038 2319059 - Identifier 2319038 2319049 - Identifier 2319050 2319059 - ReturnStatement 2319060 2319181 - CallExpression 2319092 2319180 - Identifier 2319092 2319118 - CallExpression 2319119 2319179 - Identifier 2319119 2319139 - PrefixUnaryExpression 2319140 2319178 - PropertyAccessExpression 2319141 2319178 - ParenthesizedExpression 2319141 2319173 - AsExpression 2319142 2319172 - PropertyAccessExpression 2319142 2319154 - Identifier 2319142 2319146 - Identifier 2319147 2319154 - TypeReference 2319157 2319172 - Identifier 2319157 2319172 - Identifier 2319174 2319178 - BreakStatement 2319200 2319224 - CaseClause 2319224 2319590 - PropertyAccessExpression 2319242 2319267 - Identifier 2319242 2319253 - Identifier 2319254 2319267 - IfStatement 2319268 2319590 - BinaryExpression 2319290 2319329 - PropertyAccessExpression 2319290 2319303 - Identifier 2319290 2319294 - Identifier 2319295 2319303 - EqualsEqualsEqualsToken 2319303 2319307 - PropertyAccessExpression 2319307 2319329 - Identifier 2319307 2319318 - Identifier 2319319 2319329 - Block 2319330 2319590 - ReturnStatement 2319332 2319571 - CallExpression 2319360 2319570 - Identifier 2319360 2319386 - CallExpression 2319387 2319569 - Identifier 2319387 2319407 - ObjectLiteralExpression 2319408 2319568 - PropertyAssignment 2319409 2319449 - Identifier 2319409 2319443 - TrueKeyword 2319444 2319449 - PropertyAssignment 2319450 2319544 - Identifier 2319450 2319487 - CallExpression 2319488 2319544 - Identifier 2319488 2319506 - PropertyAccessExpression 2319507 2319543 - ParenthesizedExpression 2319507 2319538 - AsExpression 2319508 2319537 - PropertyAccessExpression 2319508 2319520 - Identifier 2319508 2319512 - Identifier 2319513 2319520 - TypeReference 2319523 2319537 - Identifier 2319523 2319537 - Identifier 2319539 2319543 - SwitchStatement 2319601 2321798 - PropertyAccessExpression 2319619 2319632 - Identifier 2319619 2319623 - Identifier 2319624 2319632 - CaseBlock 2319633 2321798 - CaseClause 2319635 2319675 - PropertyAccessExpression 2319653 2319674 - Identifier 2319653 2319664 - Identifier 2319665 2319674 - CaseClause 2319675 2319716 - PropertyAccessExpression 2319693 2319715 - Identifier 2319693 2319704 - Identifier 2319705 2319715 - CaseClause 2319716 2320560 - PropertyAccessExpression 2319734 2319756 - Identifier 2319734 2319745 - Identifier 2319746 2319756 - ExpressionStatement 2319757 2319819 - CallExpression 2319757 2319818 - Identifier 2319757 2319791 - Identifier 2319792 2319803 - PropertyAccessExpression 2319804 2319817 - Identifier 2319804 2319809 - Identifier 2319810 2319817 - IfStatement 2319819 2320073 - CallExpression 2319841 2319918 - Identifier 2319841 2319881 - Identifier 2319882 2319893 - PropertyAccessExpression 2319894 2319917 - Identifier 2319894 2319904 - Identifier 2319905 2319917 - Block 2319919 2320073 - ExpressionStatement 2319921 2320054 - CallExpression 2319921 2320053 - Identifier 2319921 2319948 - PropertyAccessExpression 2319949 2319961 - Identifier 2319949 2319953 - Identifier 2319954 2319961 - PropertyAccessExpression 2319962 2320022 - Identifier 2319962 2319974 - Identifier 2319975 2320022 - CallExpression 2320023 2320052 - Identifier 2320023 2320037 - PropertyAccessExpression 2320038 2320051 - Identifier 2320038 2320042 - Identifier 2320043 2320051 - IfStatement 2320073 2320503 - BinaryExpression 2320095 2320133 - PropertyAccessExpression 2320095 2320108 - Identifier 2320095 2320099 - Identifier 2320100 2320108 - EqualsEqualsEqualsToken 2320108 2320112 - PropertyAccessExpression 2320112 2320133 - Identifier 2320112 2320123 - Identifier 2320124 2320133 - Block 2320134 2320503 - IfStatement 2320136 2320444 - CallExpression 2320162 2320237 - Identifier 2320162 2320202 - Identifier 2320203 2320214 - PropertyAccessExpression 2320215 2320236 - Identifier 2320215 2320225 - Identifier 2320226 2320236 - Block 2320238 2320444 - ExpressionStatement 2320240 2320421 - CallExpression 2320240 2320420 - Identifier 2320240 2320271 - PropertyAccessExpression 2320272 2320284 - Identifier 2320272 2320276 - Identifier 2320277 2320284 - PropertyAccessExpression 2320285 2320336 - Identifier 2320285 2320297 - Identifier 2320298 2320336 - CallExpression 2320337 2320366 - Identifier 2320337 2320351 - PropertyAccessExpression 2320352 2320365 - Identifier 2320352 2320356 - Identifier 2320357 2320365 - CallExpression 2320367 2320419 - Identifier 2320367 2320380 - CallExpression 2320381 2320418 - Identifier 2320381 2320405 - Identifier 2320406 2320417 - ReturnStatement 2320444 2320484 - Identifier 2320472 2320483 - ReturnStatement 2320503 2320560 - CallExpression 2320527 2320559 - Identifier 2320527 2320546 - Identifier 2320547 2320558 - CaseClause 2320560 2320927 - PropertyAccessExpression 2320578 2320606 - Identifier 2320578 2320589 - Identifier 2320590 2320606 - ExpressionStatement 2320607 2320674 - CallExpression 2320607 2320673 - Identifier 2320607 2320646 - Identifier 2320647 2320658 - PropertyAccessExpression 2320659 2320672 - Identifier 2320659 2320664 - Identifier 2320665 2320672 - VariableStatement 2320674 2320768 - VariableDeclarationList 2320674 2320767 - VariableDeclaration 2320697 2320767 - Identifier 2320697 2320703 - CallExpression 2320705 2320767 - Identifier 2320705 2320718 - Identifier 2320719 2320730 - BinaryExpression 2320731 2320766 - PropertyAccessExpression 2320731 2320748 - Identifier 2320731 2320741 - Identifier 2320742 2320748 - BarToken 2320748 2320750 - PropertyAccessExpression 2320750 2320766 - Identifier 2320750 2320760 - Identifier 2320761 2320766 - ReturnStatement 2320768 2320927 - ConditionalExpression 2320792 2320926 - BinaryExpression 2320792 2320819 - Identifier 2320792 2320798 - EqualsEqualsEqualsToken 2320798 2320802 - PropertyAccessExpression 2320802 2320819 - Identifier 2320802 2320812 - Identifier 2320813 2320819 - QuestionToken 2320819 2320821 - Identifier 2320821 2320831 - ColonToken 2320831 2320833 - ConditionalExpression 2320833 2320926 - BinaryExpression 2320833 2320880 - Identifier 2320833 2320860 - EqualsEqualsEqualsToken 2320860 2320864 - PropertyAccessExpression 2320864 2320880 - Identifier 2320864 2320874 - Identifier 2320875 2320880 - QuestionToken 2320880 2320882 - Identifier 2320882 2320891 - ColonToken 2320891 2320893 - Identifier 2320893 2320926 - CaseClause 2320927 2320971 - PropertyAccessExpression 2320945 2320970 - Identifier 2320945 2320956 - Identifier 2320957 2320970 - CaseClause 2320971 2321787 - PropertyAccessExpression 2320989 2321016 - Identifier 2320989 2321000 - Identifier 2321001 2321016 - VariableStatement 2321017 2321217 - VariableDeclarationList 2321017 2321216 - VariableDeclaration 2321040 2321216 - Identifier 2321040 2321043 - CallExpression 2321045 2321216 - Identifier 2321045 2321072 - PropertyAccessExpression 2321073 2321085 - Identifier 2321073 2321077 - Identifier 2321078 2321085 - CallExpression 2321086 2321130 - Identifier 2321086 2321103 - Identifier 2321104 2321115 - PropertyAccessExpression 2321116 2321129 - Identifier 2321116 2321121 - Identifier 2321122 2321129 - PropertyAccessExpression 2321131 2321215 - Identifier 2321131 2321143 - Identifier 2321144 2321215 - IfStatement 2321217 2321730 - Identifier 2321239 2321241 - Block 2321242 2321730 - ExpressionStatement 2321244 2321711 - CallExpression 2321244 2321710 - Identifier 2321244 2321392 - PropertyAccessExpression 2321393 2321431 - Identifier 2321393 2321423 - Identifier 2321424 2321431 - PropertyAccessExpression 2321432 2321559 - Identifier 2321432 2321469 - Identifier 2321470 2321559 - PropertyAccessExpression 2321560 2321686 - Identifier 2321560 2321597 - Identifier 2321598 2321686 - ReturnStatement 2321730 2321787 - CallExpression 2321754 2321786 - Identifier 2321754 2321773 - Identifier 2321774 2321785 - ReturnStatement 2321798 2321825 - Identifier 2321814 2321824 - FunctionDeclaration 2321832 2322818 - Identifier 2321848 2321876 - Parameter 2321877 2321905 - Identifier 2321877 2321881 - TypeReference 2321882 2321905 - Identifier 2321882 2321905 - TypeReference 2321907 2321912 - Identifier 2321907 2321912 - Block 2321912 2322818 - VariableStatement 2321914 2321974 - VariableDeclarationList 2321914 2321973 - VariableDeclaration 2321929 2321973 - Identifier 2321929 2321941 - CallExpression 2321943 2321973 - Identifier 2321943 2321959 - PropertyAccessExpression 2321960 2321972 - Identifier 2321960 2321964 - Identifier 2321965 2321972 - IfStatement 2321974 2322070 - BinaryExpression 2321988 2322019 - Identifier 2321988 2321999 - EqualsEqualsEqualsToken 2321999 2322003 - Identifier 2322003 2322019 - Block 2322020 2322070 - ReturnStatement 2322022 2322059 - Identifier 2322042 2322058 - VariableStatement 2322070 2322313 - VariableDeclarationList 2322070 2322312 - VariableDeclaration 2322085 2322312 - Identifier 2322085 2322088 - CallExpression 2322090 2322312 - Identifier 2322090 2322117 - PropertyAccessExpression 2322118 2322144 - Identifier 2322118 2322136 - Identifier 2322137 2322144 - CallExpression 2322145 2322202 - Identifier 2322145 2322175 - Identifier 2322176 2322187 - PropertyAccessExpression 2322188 2322201 - Identifier 2322188 2322193 - Identifier 2322194 2322201 - PropertyAccessExpression 2322203 2322300 - Identifier 2322203 2322228 - Identifier 2322229 2322300 - IfStatement 2322313 2322762 - Identifier 2322327 2322329 - Block 2322330 2322762 - ExpressionStatement 2322332 2322751 - CallExpression 2322332 2322750 - Identifier 2322332 2322464 - PropertyAccessExpression 2322465 2322495 - Identifier 2322465 2322487 - Identifier 2322488 2322495 - PropertyAccessExpression 2322496 2322615 - Identifier 2322496 2322525 - Identifier 2322526 2322615 - PropertyAccessExpression 2322616 2322734 - Identifier 2322616 2322645 - Identifier 2322646 2322734 - ReturnStatement 2322762 2322811 - CallExpression 2322778 2322810 - Identifier 2322778 2322797 - Identifier 2322798 2322809 - FunctionDeclaration 2322818 2323277 - Identifier 2322834 2322853 - Parameter 2322854 2322871 - Identifier 2322854 2322865 - TypeReference 2322866 2322871 - Identifier 2322866 2322871 - TypeReference 2322873 2322878 - Identifier 2322873 2322878 - Block 2322878 2323277 - IfStatement 2322880 2323161 - CallExpression 2322894 2322944 - Identifier 2322894 2322909 - Identifier 2322910 2322921 - PropertyAccessExpression 2322922 2322943 - Identifier 2322922 2322932 - Identifier 2322933 2322943 - Block 2322945 2323161 - ReturnStatement 2322947 2323150 - ConditionalExpression 2322967 2323149 - BinaryExpression 2322967 2323081 - CallExpression 2322967 2323027 - Identifier 2322967 2322990 - Identifier 2322991 2323002 - PropertyAccessExpression 2323003 2323026 - Identifier 2323003 2323013 - Identifier 2323014 2323026 - BarBarToken 2323027 2323030 - CallExpression 2323030 2323081 - Identifier 2323030 2323046 - Identifier 2323047 2323058 - PropertyAccessExpression 2323059 2323080 - Identifier 2323059 2323069 - Identifier 2323070 2323080 - QuestionToken 2323081 2323100 - Identifier 2323100 2323119 - ColonToken 2323119 2323138 - Identifier 2323138 2323149 - ReturnStatement 2323161 2323270 - Identifier 2323258 2323269 - FunctionDeclaration 2323277 2323602 - Identifier 2323293 2323334 - Parameter 2323335 2323345 - Identifier 2323335 2323339 - TypeReference 2323340 2323345 - Identifier 2323340 2323345 - Parameter 2323346 2323362 - Identifier 2323346 2323351 - TypeReference 2323352 2323362 - Identifier 2323352 2323362 - BooleanKeyword 2323364 2323372 - Block 2323372 2323602 - IfStatement 2323374 2323455 - CallExpression 2323388 2323415 - Identifier 2323388 2323403 - Identifier 2323404 2323408 - Identifier 2323409 2323414 - Block 2323416 2323455 - ReturnStatement 2323418 2323444 - TrueKeyword 2323438 2323443 - VariableStatement 2323455 2323520 - VariableDeclarationList 2323455 2323519 - VariableDeclaration 2323472 2323519 - Identifier 2323472 2323487 - CallExpression 2323489 2323519 - Identifier 2323489 2323513 - Identifier 2323514 2323518 - ReturnStatement 2323520 2323595 - BinaryExpression 2323536 2323594 - PrefixUnaryExpression 2323536 2323553 - PrefixUnaryExpression 2323538 2323553 - Identifier 2323539 2323553 - AmpersandAmpersandToken 2323553 2323556 - CallExpression 2323556 2323594 - Identifier 2323556 2323572 - Identifier 2323573 2323587 - Identifier 2323588 2323593 - FunctionDeclaration 2323602 2324241 - Identifier 2323791 2323807 - Parameter 2323808 2323818 - Identifier 2323808 2323812 - TypeReference 2323813 2323818 - Identifier 2323813 2323818 - Parameter 2323819 2323835 - Identifier 2323819 2323824 - TypeReference 2323825 2323835 - Identifier 2323825 2323835 - BooleanKeyword 2323837 2323845 - Block 2323845 2324241 - IfStatement 2323847 2323918 - BinaryExpression 2323861 2323878 - PropertyAccessExpression 2323861 2323871 - Identifier 2323861 2323865 - Identifier 2323866 2323871 - AmpersandToken 2323871 2323873 - Identifier 2323873 2323878 - Block 2323879 2323918 - ReturnStatement 2323881 2323907 - TrueKeyword 2323901 2323906 - IfStatement 2323918 2324211 - BinaryExpression 2323932 2323974 - PropertyAccessExpression 2323932 2323942 - Identifier 2323932 2323936 - Identifier 2323937 2323942 - AmpersandToken 2323942 2323944 - PropertyAccessExpression 2323944 2323974 - Identifier 2323944 2323954 - Identifier 2323955 2323974 - Block 2323975 2324211 - VariableStatement 2323977 2324045 - VariableDeclarationList 2323977 2324044 - VariableDeclaration 2323996 2324044 - Identifier 2323996 2324002 - PropertyAccessExpression 2324004 2324044 - ParenthesizedExpression 2324004 2324038 - AsExpression 2324006 2324037 - Identifier 2324006 2324010 - TypeReference 2324013 2324037 - Identifier 2324013 2324037 - Identifier 2324039 2324044 - ForOfStatement 2324045 2324200 - VariableDeclarationList 2324064 2324071 - VariableDeclaration 2324069 2324071 - Identifier 2324069 2324071 - Identifier 2324074 2324080 - Block 2324081 2324200 - IfStatement 2324083 2324185 - CallExpression 2324105 2324129 - Identifier 2324105 2324120 - Identifier 2324121 2324122 - Identifier 2324123 2324128 - Block 2324130 2324185 - ReturnStatement 2324132 2324166 - TrueKeyword 2324160 2324165 - ReturnStatement 2324211 2324234 - FalseKeyword 2324227 2324233 - FunctionDeclaration 2324241 2325471 - Identifier 2324257 2324280 - Parameter 2324281 2324293 - Identifier 2324281 2324287 - TypeReference 2324288 2324293 - Identifier 2324288 2324293 - Parameter 2324294 2324310 - Identifier 2324294 2324299 - TypeReference 2324300 2324310 - Identifier 2324300 2324310 - Parameter 2324311 2324328 - Identifier 2324311 2324318 - QuestionToken 2324318 2324319 - BooleanKeyword 2324320 2324328 - BooleanKeyword 2324330 2324338 - Block 2324338 2325471 - IfStatement 2324340 2324413 - BinaryExpression 2324354 2324373 - PropertyAccessExpression 2324354 2324366 - Identifier 2324354 2324360 - Identifier 2324361 2324366 - AmpersandToken 2324366 2324368 - Identifier 2324368 2324373 - Block 2324374 2324413 - ReturnStatement 2324376 2324402 - TrueKeyword 2324396 2324401 - IfStatement 2324413 2324573 - BinaryExpression 2324427 2324532 - Identifier 2324427 2324433 - AmpersandAmpersandToken 2324433 2324436 - BinaryExpression 2324436 2324532 - PropertyAccessExpression 2324436 2324449 - Identifier 2324436 2324443 - Identifier 2324444 2324449 - AmpersandToken 2324449 2324451 - ParenthesizedExpression 2324451 2324532 - BinaryExpression 2324453 2324531 - BinaryExpression 2324453 2324514 - BinaryExpression 2324453 2324492 - PropertyAccessExpression 2324453 2324475 - Identifier 2324453 2324462 - Identifier 2324463 2324475 - BarToken 2324475 2324477 - PropertyAccessExpression 2324477 2324492 - Identifier 2324477 2324487 - Identifier 2324488 2324492 - BarToken 2324492 2324494 - PropertyAccessExpression 2324494 2324514 - Identifier 2324494 2324504 - Identifier 2324505 2324514 - BarToken 2324514 2324516 - PropertyAccessExpression 2324516 2324531 - Identifier 2324516 2324526 - Identifier 2324527 2324531 - Block 2324533 2324573 - ReturnStatement 2324535 2324562 - FalseKeyword 2324555 2324561 - ReturnStatement 2324573 2325464 - BinaryExpression 2324589 2325463 - BinaryExpression 2324589 2325365 - BinaryExpression 2324589 2325275 - BinaryExpression 2324589 2325183 - BinaryExpression 2324589 2325101 - BinaryExpression 2324589 2325017 - BinaryExpression 2324589 2324935 - BinaryExpression 2324589 2324843 - BinaryExpression 2324589 2324753 - BinaryExpression 2324589 2324663 - PrefixUnaryExpression 2324589 2324621 - PrefixUnaryExpression 2324591 2324621 - ParenthesizedExpression 2324592 2324621 - BinaryExpression 2324593 2324620 - Identifier 2324593 2324597 - AmpersandToken 2324597 2324599 - PropertyAccessExpression 2324599 2324620 - Identifier 2324599 2324609 - Identifier 2324610 2324620 - AmpersandAmpersandToken 2324621 2324624 - CallExpression 2324624 2324663 - Identifier 2324624 2324643 - Identifier 2324644 2324650 - Identifier 2324651 2324662 - BarBarToken 2324663 2324666 - BinaryExpression 2324666 2324753 - PrefixUnaryExpression 2324666 2324711 - PrefixUnaryExpression 2324681 2324711 - ParenthesizedExpression 2324682 2324711 - BinaryExpression 2324683 2324710 - Identifier 2324683 2324687 - AmpersandToken 2324687 2324689 - PropertyAccessExpression 2324689 2324710 - Identifier 2324689 2324699 - Identifier 2324700 2324710 - AmpersandAmpersandToken 2324711 2324714 - CallExpression 2324714 2324753 - Identifier 2324714 2324733 - Identifier 2324734 2324740 - Identifier 2324741 2324752 - BarBarToken 2324753 2324756 - BinaryExpression 2324756 2324843 - PrefixUnaryExpression 2324756 2324801 - PrefixUnaryExpression 2324771 2324801 - ParenthesizedExpression 2324772 2324801 - BinaryExpression 2324773 2324800 - Identifier 2324773 2324777 - AmpersandToken 2324777 2324779 - PropertyAccessExpression 2324779 2324800 - Identifier 2324779 2324789 - Identifier 2324790 2324800 - AmpersandAmpersandToken 2324801 2324804 - CallExpression 2324804 2324843 - Identifier 2324804 2324823 - Identifier 2324824 2324830 - Identifier 2324831 2324842 - BarBarToken 2324843 2324846 - BinaryExpression 2324846 2324935 - PrefixUnaryExpression 2324846 2324892 - PrefixUnaryExpression 2324861 2324892 - ParenthesizedExpression 2324862 2324892 - BinaryExpression 2324863 2324891 - Identifier 2324863 2324867 - AmpersandToken 2324867 2324869 - PropertyAccessExpression 2324869 2324891 - Identifier 2324869 2324879 - Identifier 2324880 2324891 - AmpersandAmpersandToken 2324892 2324895 - CallExpression 2324895 2324935 - Identifier 2324895 2324914 - Identifier 2324915 2324921 - Identifier 2324922 2324934 - BarBarToken 2324935 2324938 - BinaryExpression 2324938 2325017 - PrefixUnaryExpression 2324938 2324977 - PrefixUnaryExpression 2324953 2324977 - ParenthesizedExpression 2324954 2324977 - BinaryExpression 2324955 2324976 - Identifier 2324955 2324959 - AmpersandToken 2324959 2324961 - PropertyAccessExpression 2324961 2324976 - Identifier 2324961 2324971 - Identifier 2324972 2324976 - AmpersandAmpersandToken 2324977 2324980 - CallExpression 2324980 2325017 - Identifier 2324980 2324999 - Identifier 2325000 2325006 - Identifier 2325007 2325016 - BarBarToken 2325017 2325020 - BinaryExpression 2325020 2325101 - PrefixUnaryExpression 2325020 2325060 - PrefixUnaryExpression 2325035 2325060 - ParenthesizedExpression 2325036 2325060 - BinaryExpression 2325037 2325059 - Identifier 2325037 2325041 - AmpersandToken 2325041 2325043 - PropertyAccessExpression 2325043 2325059 - Identifier 2325043 2325053 - Identifier 2325054 2325059 - AmpersandAmpersandToken 2325060 2325063 - CallExpression 2325063 2325101 - Identifier 2325063 2325082 - Identifier 2325083 2325089 - Identifier 2325090 2325100 - BarBarToken 2325101 2325104 - BinaryExpression 2325104 2325183 - PrefixUnaryExpression 2325104 2325143 - PrefixUnaryExpression 2325119 2325143 - ParenthesizedExpression 2325120 2325143 - BinaryExpression 2325121 2325142 - Identifier 2325121 2325125 - AmpersandToken 2325125 2325127 - PropertyAccessExpression 2325127 2325142 - Identifier 2325127 2325137 - Identifier 2325138 2325142 - AmpersandAmpersandToken 2325143 2325146 - CallExpression 2325146 2325183 - Identifier 2325146 2325165 - Identifier 2325166 2325172 - Identifier 2325173 2325182 - BarBarToken 2325183 2325186 - BinaryExpression 2325186 2325275 - PrefixUnaryExpression 2325186 2325230 - PrefixUnaryExpression 2325201 2325230 - ParenthesizedExpression 2325202 2325230 - BinaryExpression 2325203 2325229 - Identifier 2325203 2325207 - AmpersandToken 2325207 2325209 - PropertyAccessExpression 2325209 2325229 - Identifier 2325209 2325219 - Identifier 2325220 2325229 - AmpersandAmpersandToken 2325230 2325233 - CallExpression 2325233 2325275 - Identifier 2325233 2325252 - Identifier 2325253 2325259 - Identifier 2325260 2325274 - BarBarToken 2325275 2325278 - BinaryExpression 2325278 2325365 - PrefixUnaryExpression 2325278 2325321 - PrefixUnaryExpression 2325293 2325321 - ParenthesizedExpression 2325294 2325321 - BinaryExpression 2325295 2325320 - Identifier 2325295 2325299 - AmpersandToken 2325299 2325301 - PropertyAccessExpression 2325301 2325320 - Identifier 2325301 2325311 - Identifier 2325312 2325320 - AmpersandAmpersandToken 2325321 2325324 - CallExpression 2325324 2325365 - Identifier 2325324 2325343 - Identifier 2325344 2325350 - Identifier 2325351 2325364 - BarBarToken 2325365 2325368 - BinaryExpression 2325368 2325463 - PrefixUnaryExpression 2325368 2325415 - PrefixUnaryExpression 2325383 2325415 - ParenthesizedExpression 2325384 2325415 - BinaryExpression 2325385 2325414 - Identifier 2325385 2325389 - AmpersandToken 2325389 2325391 - PropertyAccessExpression 2325391 2325414 - Identifier 2325391 2325401 - Identifier 2325402 2325414 - AmpersandAmpersandToken 2325415 2325418 - CallExpression 2325418 2325463 - Identifier 2325418 2325437 - Identifier 2325438 2325444 - Identifier 2325445 2325462 - FunctionDeclaration 2325471 2325797 - Identifier 2325487 2325512 - Parameter 2325513 2325525 - Identifier 2325513 2325519 - TypeReference 2325520 2325525 - Identifier 2325520 2325525 - Parameter 2325526 2325542 - Identifier 2325526 2325531 - TypeReference 2325532 2325542 - Identifier 2325532 2325542 - Parameter 2325543 2325560 - Identifier 2325543 2325550 - QuestionToken 2325550 2325551 - BooleanKeyword 2325552 2325560 - BooleanKeyword 2325562 2325570 - Block 2325570 2325797 - ReturnStatement 2325572 2325790 - ConditionalExpression 2325588 2325789 - BinaryExpression 2325588 2325619 - PropertyAccessExpression 2325588 2325601 - Identifier 2325588 2325595 - Identifier 2325596 2325601 - AmpersandToken 2325601 2325603 - PropertyAccessExpression 2325603 2325619 - Identifier 2325603 2325613 - Identifier 2325614 2325619 - QuestionToken 2325619 2325621 - CallExpression 2325621 2325729 - Identifier 2325621 2325640 - PropertyAccessExpression 2325641 2325668 - ParenthesizedExpression 2325641 2325662 - AsExpression 2325642 2325661 - Identifier 2325642 2325648 - TypeReference 2325651 2325661 - Identifier 2325651 2325661 - Identifier 2325663 2325668 - ArrowFunction 2325669 2325728 - Parameter 2325669 2325677 - Identifier 2325669 2325677 - EqualsGreaterThanToken 2325677 2325680 - CallExpression 2325680 2325728 - Identifier 2325680 2325705 - Identifier 2325706 2325713 - Identifier 2325714 2325719 - Identifier 2325720 2325727 - ColonToken 2325729 2325731 - CallExpression 2325731 2325789 - Identifier 2325731 2325767 - Identifier 2325768 2325774 - Identifier 2325775 2325780 - Identifier 2325781 2325788 - FunctionDeclaration 2325797 2325982 - Identifier 2325813 2325835 - Parameter 2325836 2325846 - Identifier 2325836 2325840 - TypeReference 2325841 2325846 - Identifier 2325841 2325846 - BooleanKeyword 2325848 2325856 - Block 2325856 2325982 - ReturnStatement 2325858 2325975 - BinaryExpression 2325874 2325974 - BinaryExpression 2325874 2325940 - PrefixUnaryExpression 2325874 2325923 - PrefixUnaryExpression 2325876 2325923 - ParenthesizedExpression 2325877 2325923 - BinaryExpression 2325878 2325922 - CallExpression 2325878 2325898 - Identifier 2325878 2325892 - Identifier 2325893 2325897 - AmpersandToken 2325898 2325900 - PropertyAccessExpression 2325900 2325922 - Identifier 2325900 2325912 - Identifier 2325913 2325922 - AmpersandAmpersandToken 2325923 2325926 - PrefixUnaryExpression 2325926 2325940 - PrefixUnaryExpression 2325928 2325940 - PropertyAccessExpression 2325929 2325940 - Identifier 2325929 2325933 - Identifier 2325934 2325940 - AmpersandAmpersandToken 2325940 2325943 - CallExpression 2325943 2325974 - Identifier 2325943 2325961 - PropertyAccessExpression 2325962 2325973 - Identifier 2325962 2325966 - Identifier 2325967 2325973 - FunctionDeclaration 2325982 2326112 - Identifier 2325998 2326016 - Parameter 2326017 2326031 - Identifier 2326017 2326023 - TypeReference 2326024 2326031 - Identifier 2326024 2326031 - BooleanKeyword 2326033 2326041 - Block 2326041 2326112 - ReturnStatement 2326043 2326105 - BinaryExpression 2326059 2326104 - ParenthesizedExpression 2326059 2326098 - BinaryExpression 2326061 2326097 - PropertyAccessExpression 2326061 2326073 - Identifier 2326061 2326067 - Identifier 2326068 2326073 - AmpersandToken 2326073 2326075 - PropertyAccessExpression 2326075 2326097 - Identifier 2326075 2326087 - Identifier 2326088 2326097 - ExclamationEqualsEqualsToken 2326098 2326102 - NumericLiteral 2326102 2326104 - FunctionDeclaration 2326112 2326890 - Identifier 2326223 2326262 - Parameter 2326263 2326273 - Identifier 2326263 2326267 - TypeReference 2326268 2326273 - Identifier 2326268 2326273 - Block 2326274 2326890 - VariableStatement 2326276 2326367 - VariableDeclarationList 2326276 2326366 - VariableDeclaration 2326291 2326366 - Identifier 2326291 2326315 - CallExpression 2326317 2326366 - Identifier 2326317 2326351 - StringLiteral 2326352 2326365 - IfStatement 2326367 2326883 - CallExpression 2326381 2326435 - Identifier 2326381 2326405 - Identifier 2326406 2326410 - PropertyAccessExpression 2326411 2326434 - Identifier 2326411 2326421 - Identifier 2326422 2326434 - Block 2326436 2326883 - VariableStatement 2326438 2326529 - VariableDeclarationList 2326438 2326528 - VariableDeclaration 2326457 2326528 - Identifier 2326457 2326477 - CallExpression 2326479 2326528 - Identifier 2326479 2326497 - Identifier 2326498 2326502 - Identifier 2326503 2326527 - IfStatement 2326529 2326872 - Identifier 2326547 2326566 - Block 2326567 2326872 - VariableStatement 2326569 2326656 - VariableDeclarationList 2326569 2326655 - VariableDeclaration 2326592 2326655 - Identifier 2326592 2326616 - CallExpression 2326618 2326655 - Identifier 2326618 2326634 - Identifier 2326635 2326654 - IfStatement 2326656 2326857 - BinaryExpression 2326678 2326782 - Identifier 2326678 2326701 - AmpersandAmpersandToken 2326701 2326704 - BinaryExpression 2326704 2326782 - PropertyAccessExpression 2326704 2326776 - CallExpression 2326704 2326769 - Identifier 2326704 2326724 - Identifier 2326725 2326748 - PropertyAccessExpression 2326749 2326768 - Identifier 2326749 2326763 - Identifier 2326764 2326768 - Identifier 2326770 2326776 - ExclamationEqualsEqualsToken 2326776 2326780 - NumericLiteral 2326780 2326782 - Block 2326783 2326857 - ReturnStatement 2326785 2326838 - Identifier 2326813 2326837 - FunctionDeclaration 2326890 2329291 - Identifier 2326906 2326932 - Parameter 2326933 2326949 - Identifier 2326933 2326937 - TypeReference 2326938 2326949 - Identifier 2326938 2326949 - Parameter 2326950 2326968 - Identifier 2326950 2326956 - TypeReference 2326957 2326968 - Identifier 2326957 2326968 - Parameter 2326969 2326984 - Identifier 2326969 2326978 - TypeReference 2326979 2326984 - Identifier 2326979 2326984 - Parameter 2326985 2327001 - Identifier 2326985 2326995 - TypeReference 2326996 2327001 - Identifier 2326996 2327001 - Parameter 2327002 2327024 - Identifier 2327002 2327012 - QuestionToken 2327012 2327013 - TypeReference 2327014 2327024 - Identifier 2327014 2327024 - TypeReference 2327026 2327031 - Identifier 2327026 2327031 - Block 2327031 2329291 - IfStatement 2327033 2327159 - BinaryExpression 2327047 2327108 - BinaryExpression 2327047 2327075 - Identifier 2327047 2327055 - EqualsEqualsEqualsToken 2327055 2327059 - Identifier 2327059 2327075 - BarBarToken 2327075 2327078 - BinaryExpression 2327078 2327108 - Identifier 2327078 2327088 - EqualsEqualsEqualsToken 2327088 2327092 - Identifier 2327092 2327108 - Block 2327109 2327159 - ReturnStatement 2327111 2327148 - Identifier 2327131 2327147 - IfStatement 2327159 2327920 - BinaryExpression 2327649 2327755 - PrefixUnaryExpression 2327649 2327683 - CallExpression 2327664 2327683 - Identifier 2327664 2327673 - Identifier 2327674 2327682 - AmpersandAmpersandToken 2327683 2327686 - CallExpression 2327686 2327755 - Identifier 2327686 2327724 - Identifier 2327725 2327733 - PropertyAccessExpression 2327734 2327754 - Identifier 2327734 2327744 - Identifier 2327745 2327754 - Block 2327766 2327920 - ExpressionStatement 2327768 2327909 - CallExpression 2327768 2327908 - Identifier 2327768 2327787 - Identifier 2327788 2327792 - PropertyAccessExpression 2327793 2327907 - Identifier 2327793 2327805 - Identifier 2327806 2327907 - ExpressionStatement 2327920 2327982 - CallExpression 2327920 2327981 - PropertyAccessExpression 2327920 2327944 - Identifier 2327920 2327937 - Identifier 2327938 2327944 - CallExpression 2327945 2327980 - Identifier 2327945 2327967 - PropertyAccessExpression 2327968 2327979 - Identifier 2327968 2327972 - Identifier 2327973 2327979 - VariableStatement 2327982 2328089 - VariableDeclarationList 2327982 2328088 - VariableDeclaration 2327997 2328088 - Identifier 2327997 2328007 - CallExpression 2328009 2328088 - Identifier 2328009 2328030 - PropertyAccessExpression 2328031 2328042 - Identifier 2328031 2328035 - Identifier 2328036 2328042 - Identifier 2328043 2328076 - Identifier 2328077 2328087 - IfStatement 2328089 2328377 - BinaryExpression 2328103 2328135 - Identifier 2328103 2328112 - EqualsEqualsEqualsToken 2328112 2328116 - Identifier 2328116 2328135 - Block 2328136 2328377 - ReturnStatement 2328138 2328366 - Identifier 2328349 2328365 - VariableStatement 2328377 2328790 - VariableDeclarationList 2328377 2328789 - VariableDeclaration 2328740 2328789 - Identifier 2328740 2328751 - CallExpression 2328753 2328789 - Identifier 2328753 2328778 - Identifier 2328779 2328788 - ExpressionStatement 2328790 2329253 - CallExpression 2328790 2329252 - Identifier 2328790 2329072 - Identifier 2329073 2329083 - Identifier 2329084 2329096 - Identifier 2329097 2329103 - PropertyAccessExpression 2329104 2329251 - Identifier 2329104 2329116 - Identifier 2329117 2329251 - ReturnStatement 2329253 2329284 - Identifier 2329271 2329283 - FunctionDeclaration 2329291 2329529 - Identifier 2329307 2329334 - Parameter 2329335 2329345 - Identifier 2329335 2329339 - TypeReference 2329340 2329345 - Identifier 2329340 2329345 - BooleanKeyword 2329347 2329355 - Block 2329355 2329529 - ReturnStatement 2329357 2329522 - CallExpression 2329373 2329521 - Identifier 2329373 2329382 - Identifier 2329383 2329387 - ArrowFunction 2329388 2329520 - Parameter 2329388 2329390 - Identifier 2329388 2329390 - EqualsGreaterThanToken 2329390 2329393 - BinaryExpression 2329393 2329520 - BinaryExpression 2329393 2329422 - Identifier 2329393 2329395 - EqualsEqualsEqualsToken 2329395 2329399 - Identifier 2329399 2329422 - BarBarToken 2329422 2329425 - BinaryExpression 2329425 2329520 - PrefixUnaryExpression 2329425 2329462 - PrefixUnaryExpression 2329427 2329462 - ParenthesizedExpression 2329428 2329462 - BinaryExpression 2329429 2329461 - PropertyAccessExpression 2329429 2329436 - Identifier 2329429 2329430 - Identifier 2329431 2329436 - AmpersandToken 2329436 2329438 - PropertyAccessExpression 2329438 2329461 - Identifier 2329438 2329448 - Identifier 2329449 2329461 - AmpersandAmpersandToken 2329462 2329465 - CallExpression 2329465 2329520 - Identifier 2329465 2329492 - CallExpression 2329493 2329519 - Identifier 2329493 2329516 - Identifier 2329517 2329518 - FunctionDeclaration 2329529 2331797 - Identifier 2329545 2329563 - Parameter 2329564 2329580 - Identifier 2329564 2329568 - TypeReference 2329569 2329580 - Identifier 2329569 2329580 - Parameter 2329581 2329599 - Identifier 2329581 2329587 - TypeReference 2329588 2329599 - Identifier 2329588 2329599 - Parameter 2329600 2329615 - Identifier 2329600 2329609 - TypeReference 2329610 2329615 - Identifier 2329610 2329615 - Parameter 2329616 2329632 - Identifier 2329616 2329626 - TypeReference 2329627 2329632 - Identifier 2329627 2329632 - TypeReference 2329634 2329639 - Identifier 2329634 2329639 - Block 2329639 2331797 - IfStatement 2329641 2329767 - BinaryExpression 2329655 2329716 - BinaryExpression 2329655 2329683 - Identifier 2329655 2329663 - EqualsEqualsEqualsToken 2329663 2329667 - Identifier 2329667 2329683 - BarBarToken 2329683 2329686 - BinaryExpression 2329686 2329716 - Identifier 2329686 2329696 - EqualsEqualsEqualsToken 2329696 2329700 - Identifier 2329700 2329716 - Block 2329717 2329767 - ReturnStatement 2329719 2329756 - Identifier 2329739 2329755 - IfStatement 2329767 2330887 - CallExpression 2329781 2329806 - Identifier 2329781 2329800 - Identifier 2329801 2329805 - Block 2329807 2330667 - IfStatement 2329809 2330189 - BinaryExpression 2329827 2330067 - BinaryExpression 2329827 2330022 - BinaryExpression 2329827 2329924 - Identifier 2329827 2329860 - LessThanToken 2329860 2329862 - PropertyAccessExpression 2329862 2329924 - Identifier 2329862 2329891 - Identifier 2329892 2329924 - BarBarToken 2329924 2329927 - BinaryExpression 2329927 2330022 - Identifier 2329927 2329960 - LessThanToken 2329960 2329962 - PropertyAccessExpression 2329962 2330022 - Identifier 2329962 2329991 - Identifier 2329992 2330022 - BarBarToken 2330022 2330025 - PrefixUnaryExpression 2330025 2330067 - Identifier 2330044 2330067 - Block 2330082 2330189 - ExpressionStatement 2330084 2330174 - CallExpression 2330084 2330173 - Identifier 2330084 2330126 - Identifier 2330127 2330131 - PropertyAccessExpression 2330132 2330172 - Identifier 2330132 2330152 - Identifier 2330153 2330172 - IfStatement 2330189 2330656 - BinaryExpression 2330387 2330449 - PrefixUnaryExpression 2330387 2330421 - PropertyAccessExpression 2330388 2330421 - CallExpression 2330388 2330406 - Identifier 2330388 2330400 - Identifier 2330401 2330405 - Identifier 2330407 2330421 - AmpersandAmpersandToken 2330421 2330424 - CallExpression 2330424 2330449 - Identifier 2330424 2330443 - Identifier 2330444 2330448 - Block 2330450 2330656 - VariableStatement 2330452 2330565 - VariableDeclarationList 2330452 2330564 - VariableDeclaration 2330475 2330564 - Identifier 2330475 2330489 - CallExpression 2330491 2330564 - Identifier 2330491 2330515 - Identifier 2330516 2330520 - PropertyAccessExpression 2330521 2330538 - Identifier 2330521 2330531 - Identifier 2330532 2330538 - TrueKeyword 2330539 2330563 - ExpressionStatement 2330565 2330641 - CallExpression 2330565 2330640 - Identifier 2330565 2330608 - Identifier 2330609 2330613 - Identifier 2330614 2330624 - Identifier 2330625 2330639 - Block 2330681 2330887 - ExpressionStatement 2330683 2330876 - CallExpression 2330683 2330875 - Identifier 2330683 2330811 - CallExpression 2330812 2330844 - Identifier 2330812 2330828 - Identifier 2330829 2330837 - Identifier 2330838 2330843 - Identifier 2330845 2330868 - Identifier 2330869 2330874 - IfStatement 2330887 2331697 - CallExpression 2330975 2331057 - Identifier 2330975 2330996 - CallExpression 2330997 2331031 - Identifier 2330997 2331013 - Identifier 2331014 2331023 - Identifier 2331024 2331030 - Identifier 2331032 2331049 - Identifier 2331050 2331056 - Block 2331058 2331697 - IfStatement 2331060 2331686 - CallExpression 2331460 2331497 - Identifier 2331460 2331486 - Identifier 2331487 2331496 - Block 2331498 2331686 - ExpressionStatement 2331500 2331671 - CallExpression 2331500 2331670 - Identifier 2331500 2331523 - Identifier 2331524 2331529 - PropertyAccessExpression 2331530 2331644 - Identifier 2331530 2331542 - Identifier 2331543 2331644 - CallExpression 2331645 2331669 - Identifier 2331645 2331658 - Identifier 2331659 2331668 - ReturnStatement 2331697 2331790 - Identifier 2331777 2331789 - FunctionDeclaration 2331797 2332305 - Identifier 2331813 2331842 - Parameter 2331843 2331872 - Identifier 2331843 2331847 - TypeReference 2331848 2331872 - Identifier 2331848 2331872 - Parameter 2331873 2331890 - Identifier 2331873 2331884 - TypeReference 2331885 2331890 - Identifier 2331885 2331890 - Parameter 2331891 2331913 - Identifier 2331891 2331903 - QuestionToken 2331903 2331904 - BooleanKeyword 2331905 2331913 - TypeReference 2331915 2331920 - Identifier 2331915 2331920 - Block 2331920 2332305 - VariableStatement 2331922 2331967 - VariableDeclarationList 2331922 2331966 - VariableDeclaration 2331937 2331966 - Identifier 2331937 2331948 - PropertyAccessExpression 2331950 2331966 - Identifier 2331950 2331955 - Identifier 2331956 2331966 - IfStatement 2331967 2332094 - BinaryExpression 2331981 2332024 - Identifier 2331981 2331997 - AmpersandAmpersandToken 2331997 2332000 - BinaryExpression 2332000 2332024 - PropertyAccessExpression 2332000 2332018 - Identifier 2332000 2332011 - Identifier 2332012 2332018 - EqualsEqualsEqualsToken 2332018 2332022 - NumericLiteral 2332022 2332024 - Block 2332025 2332094 - ReturnStatement 2332027 2332083 - CallExpression 2332047 2332082 - Identifier 2332047 2332064 - Identifier 2332065 2332075 - Identifier 2332076 2332081 - ForStatement 2332094 2332270 - VariableDeclarationList 2332109 2332118 - VariableDeclaration 2332112 2332118 - Identifier 2332112 2332114 - NumericLiteral 2332116 2332118 - BinaryExpression 2332119 2332141 - Identifier 2332119 2332121 - LessThanToken 2332121 2332123 - PropertyAccessExpression 2332123 2332141 - Identifier 2332123 2332134 - Identifier 2332135 2332141 - PostfixUnaryExpression 2332142 2332146 - Identifier 2332142 2332144 - Block 2332147 2332270 - ExpressionStatement 2332149 2332259 - CallExpression 2332149 2332258 - Identifier 2332149 2332212 - Identifier 2332213 2332217 - Identifier 2332218 2332229 - Identifier 2332230 2332232 - Identifier 2332233 2332244 - Identifier 2332245 2332257 - ReturnStatement 2332270 2332298 - Identifier 2332286 2332297 - FunctionDeclaration 2332305 2335124 - Identifier 2332429 2332479 - Parameter 2332480 2332509 - Identifier 2332480 2332484 - TypeReference 2332485 2332509 - Identifier 2332485 2332509 - Parameter 2332510 2332534 - Identifier 2332510 2332528 - TypeReference 2332529 2332534 - Identifier 2332529 2332534 - Parameter 2332535 2332557 - Identifier 2332535 2332549 - NumberKeyword 2332550 2332557 - Parameter 2332558 2332610 - Identifier 2332558 2332572 - QuestionToken 2332572 2332573 - TypeReference 2332574 2332610 - Identifier 2332574 2332584 - TypeReference 2332585 2332609 - Identifier 2332585 2332609 - Parameter 2332611 2332631 - Identifier 2332611 2332623 - FalseKeyword 2332625 2332631 - Block 2332632 2335124 - VariableStatement 2332634 2332679 - VariableDeclarationList 2332634 2332678 - VariableDeclaration 2332649 2332678 - Identifier 2332649 2332660 - PropertyAccessExpression 2332662 2332678 - Identifier 2332662 2332667 - Identifier 2332668 2332678 - VariableStatement 2332679 2332732 - VariableDeclarationList 2332679 2332731 - VariableDeclaration 2332694 2332731 - Identifier 2332694 2332703 - ElementAccessExpression 2332705 2332731 - Identifier 2332705 2332716 - Identifier 2332717 2332730 - IfStatement 2332732 2335117 - BinaryExpression 2332746 2332853 - BinaryExpression 2332746 2332793 - PropertyAccessExpression 2332746 2332759 - Identifier 2332746 2332754 - Identifier 2332755 2332759 - EqualsEqualsEqualsToken 2332759 2332763 - PropertyAccessExpression 2332763 2332793 - Identifier 2332763 2332774 - Identifier 2332775 2332793 - BarBarToken 2332793 2332796 - BinaryExpression 2332796 2332853 - PropertyAccessExpression 2332796 2332810 - Identifier 2332796 2332805 - Identifier 2332806 2332810 - EqualsEqualsEqualsToken 2332810 2332814 - PropertyAccessExpression 2332814 2332853 - Identifier 2332814 2332825 - Identifier 2332826 2332853 - Block 2332854 2333840 - VariableStatement 2332856 2332897 - VariableDeclarationList 2332856 2332896 - VariableDeclaration 2332875 2332896 - Identifier 2332875 2332880 - PropertyAccessExpression 2332882 2332896 - Identifier 2332882 2332891 - Identifier 2332892 2332896 - VariableStatement 2332897 2332965 - VariableDeclarationList 2332897 2332964 - VariableDeclaration 2332916 2332964 - Identifier 2332916 2332925 - CallExpression 2332927 2332964 - Identifier 2332927 2332958 - Identifier 2332959 2332963 - IfStatement 2332965 2333421 - CallExpression 2332983 2333019 - Identifier 2332983 2333009 - Identifier 2333010 2333018 - Block 2333020 2333421 - VariableStatement 2333022 2333087 - VariableDeclarationList 2333022 2333086 - VariableDeclaration 2333045 2333086 - Identifier 2333045 2333050 - CallExpression 2333052 2333086 - Identifier 2333052 2333076 - Identifier 2333077 2333085 - VariableStatement 2333087 2333161 - VariableDeclarationList 2333087 2333160 - VariableDeclaration 2333110 2333160 - Identifier 2333110 2333115 - CallExpression 2333117 2333160 - Identifier 2333117 2333135 - Identifier 2333136 2333153 - Identifier 2333154 2333159 - IfStatement 2333161 2333406 - Identifier 2333183 2333187 - Block 2333188 2333406 - ExpressionStatement 2333190 2333266 - CallExpression 2333190 2333265 - Identifier 2333190 2333236 - Identifier 2333237 2333241 - Identifier 2333242 2333251 - Identifier 2333252 2333264 - ExpressionStatement 2333266 2333387 - CallExpression 2333266 2333386 - Identifier 2333266 2333314 - Identifier 2333315 2333323 - FalseKeyword 2333324 2333342 - TrueKeyword 2333343 2333360 - Identifier 2333361 2333379 - Identifier 2333380 2333385 - VariableStatement 2333421 2333604 - VariableDeclarationList 2333421 2333603 - VariableDeclaration 2333440 2333603 - Identifier 2333440 2333452 - CallExpression 2333454 2333603 - Identifier 2333454 2333475 - Identifier 2333476 2333493 - Identifier 2333494 2333503 - BinaryExpression 2333504 2333596 - PropertyAccessExpression 2333504 2333535 - Identifier 2333504 2333516 - Identifier 2333517 2333535 - BarToken 2333535 2333537 - ParenthesizedExpression 2333537 2333596 - ConditionalExpression 2333539 2333595 - CallExpression 2333539 2333564 - Identifier 2333539 2333554 - Identifier 2333555 2333563 - QuestionToken 2333564 2333566 - PropertyAccessExpression 2333566 2333591 - Identifier 2333566 2333578 - Identifier 2333579 2333591 - ColonToken 2333591 2333593 - NumericLiteral 2333593 2333595 - Identifier 2333597 2333602 - VariableStatement 2333604 2333681 - VariableDeclarationList 2333604 2333680 - VariableDeclaration 2333623 2333680 - Identifier 2333623 2333628 - CallExpression 2333630 2333680 - Identifier 2333630 2333657 - Identifier 2333658 2333666 - Identifier 2333667 2333679 - ReturnStatement 2333681 2333829 - CallExpression 2333701 2333828 - Identifier 2333701 2333730 - ConditionalExpression 2333731 2333821 - BinaryExpression 2333731 2333787 - PropertyAccessExpression 2333731 2333744 - Identifier 2333731 2333739 - Identifier 2333740 2333744 - EqualsEqualsEqualsToken 2333744 2333748 - PropertyAccessExpression 2333748 2333787 - Identifier 2333748 2333759 - Identifier 2333760 2333787 - QuestionToken 2333787 2333789 - Identifier 2333789 2333798 - ColonToken 2333798 2333800 - PropertyAccessExpression 2333800 2333821 - Identifier 2333800 2333809 - Identifier 2333810 2333821 - Identifier 2333822 2333827 - IfStatement 2333854 2335117 - BinaryExpression 2333859 2333904 - PropertyAccessExpression 2333859 2333872 - Identifier 2333859 2333867 - Identifier 2333868 2333872 - EqualsEqualsEqualsToken 2333872 2333876 - PropertyAccessExpression 2333876 2333904 - Identifier 2333876 2333887 - Identifier 2333888 2333904 - Block 2333905 2335018 - IfStatement 2333907 2335007 - BinaryExpression 2333925 2333962 - Identifier 2333925 2333938 - LessThanToken 2333938 2333940 - BinaryExpression 2333940 2333962 - PropertyAccessExpression 2333940 2333958 - Identifier 2333940 2333951 - Identifier 2333952 2333958 - MinusToken 2333958 2333960 - NumericLiteral 2333960 2333962 - Block 2333963 2334082 - ExpressionStatement 2333965 2334067 - CallExpression 2333965 2334066 - Identifier 2333965 2333988 - Identifier 2333989 2333997 - PropertyAccessExpression 2333998 2334065 - Identifier 2333998 2334010 - Identifier 2334011 2334065 - Block 2334100 2335007 - IfStatement 2334102 2334292 - BinaryExpression 2334124 2334187 - Identifier 2334124 2334139 - LessThanToken 2334139 2334141 - PropertyAccessExpression 2334141 2334187 - Identifier 2334141 2334170 - Identifier 2334171 2334187 - Block 2334188 2334292 - ExpressionStatement 2334190 2334273 - CallExpression 2334190 2334272 - Identifier 2334190 2334236 - Identifier 2334237 2334245 - PropertyAccessExpression 2334246 2334271 - Identifier 2334246 2334266 - Identifier 2334267 2334271 - VariableStatement 2334292 2334350 - VariableDeclarationList 2334292 2334349 - VariableDeclaration 2334315 2334349 - Identifier 2334315 2334328 - ArrayType 2334329 2334344 - TypeReference 2334329 2334342 - Identifier 2334329 2334342 - ArrayLiteralExpression 2334346 2334349 - IfStatement 2334350 2334658 - Identifier 2334372 2334385 - Block 2334386 2334658 - ForOfStatement 2334388 2334639 - VariableDeclarationList 2334415 2334434 - VariableDeclaration 2334420 2334434 - Identifier 2334420 2334434 - Identifier 2334437 2334451 - Block 2334452 2334639 - IfStatement 2334454 2334616 - PrefixUnaryExpression 2334484 2334518 - CallExpression 2334485 2334518 - Identifier 2334485 2334503 - Identifier 2334504 2334517 - Block 2334519 2334616 - ExpressionStatement 2334521 2334589 - CallExpression 2334521 2334588 - PropertyAccessExpression 2334521 2334568 - Identifier 2334521 2334563 - Identifier 2334564 2334568 - PropertyAccessExpression 2334569 2334587 - Identifier 2334569 2334582 - Identifier 2334583 2334587 - VariableStatement 2334658 2334760 - VariableDeclarationList 2334658 2334759 - VariableDeclaration 2334681 2334759 - Identifier 2334681 2334686 - CallExpression 2334688 2334759 - Identifier 2334688 2334700 - Identifier 2334701 2334718 - Identifier 2334719 2334732 - PropertyAccessExpression 2334733 2334758 - Identifier 2334733 2334751 - Identifier 2334752 2334758 - ExpressionStatement 2334760 2334911 - CallExpression 2334760 2334910 - Identifier 2334760 2334816 - Identifier 2334817 2334830 - PropertyAccessExpression 2334831 2334909 - Identifier 2334831 2334843 - Identifier 2334844 2334909 - ReturnStatement 2334911 2334992 - CallExpression 2334935 2334991 - Identifier 2334935 2334964 - PropertyAccessExpression 2334965 2334984 - Identifier 2334965 2334973 - Identifier 2334974 2334984 - Identifier 2334985 2334990 - Block 2335032 2335117 - ExpressionStatement 2335034 2335106 - CallExpression 2335034 2335105 - Identifier 2335034 2335053 - Identifier 2335054 2335062 - PropertyAccessExpression 2335063 2335104 - Identifier 2335063 2335075 - Identifier 2335076 2335104 - FunctionDeclaration 2335124 2336574 - Identifier 2335140 2335168 - Parameter 2335169 2335197 - Identifier 2335169 2335173 - TypeReference 2335174 2335197 - Identifier 2335174 2335197 - Parameter 2335198 2335215 - Identifier 2335198 2335209 - TypeReference 2335210 2335215 - Identifier 2335210 2335215 - Parameter 2335216 2335238 - Identifier 2335216 2335226 - QuestionToken 2335226 2335227 - TypeReference 2335228 2335238 - Identifier 2335228 2335238 - TypeReference 2335240 2335245 - Identifier 2335240 2335245 - Block 2335245 2336574 - VariableStatement 2335247 2335288 - VariableDeclarationList 2335247 2335287 - VariableDeclaration 2335262 2335287 - Identifier 2335262 2335271 - PropertyAccessExpression 2335273 2335287 - Identifier 2335273 2335278 - Identifier 2335279 2335287 - IfStatement 2335288 2335495 - BinaryExpression 2335302 2335410 - BinaryExpression 2335302 2335372 - Identifier 2335302 2335317 - LessThanToken 2335317 2335319 - PropertyAccessExpression 2335319 2335372 - Identifier 2335319 2335348 - Identifier 2335349 2335372 - AmpersandAmpersandToken 2335372 2335375 - PropertyAccessExpression 2335375 2335410 - Identifier 2335375 2335391 - Identifier 2335392 2335410 - Block 2335411 2335495 - ExpressionStatement 2335413 2335484 - CallExpression 2335413 2335483 - Identifier 2335413 2335451 - Identifier 2335452 2335456 - PropertyAccessExpression 2335457 2335482 - Identifier 2335457 2335477 - Identifier 2335478 2335482 - VariableStatement 2335495 2335951 - VariableDeclarationList 2335495 2335950 - VariableDeclaration 2335784 2335950 - Identifier 2335784 2335808 - BinaryExpression 2335810 2335950 - CallExpression 2335810 2335937 - Identifier 2335810 2335841 - BinaryExpression 2335842 2335903 - PropertyAccessExpression 2335842 2335868 - Identifier 2335842 2335854 - Identifier 2335855 2335868 - BarToken 2335868 2335870 - PropertyAccessExpression 2335870 2335903 - Identifier 2335870 2335883 - Identifier 2335884 2335903 - Identifier 2335904 2335915 - Identifier 2335916 2335930 - Identifier 2335931 2335936 - BarBarToken 2335937 2335940 - Identifier 2335940 2335950 - VariableStatement 2335951 2336077 - VariableDeclarationList 2335951 2336076 - VariableDeclaration 2335964 2336076 - Identifier 2335964 2335977 - UnionType 2335978 2335995 - TypeReference 2335978 2335983 - Identifier 2335978 2335983 - UndefinedKeyword 2335985 2335995 - ConditionalExpression 2335997 2336076 - PropertyAccessExpression 2335997 2336038 - Identifier 2335997 2336013 - Identifier 2336014 2336038 - QuestionToken 2336038 2336040 - Identifier 2336040 2336050 - ColonToken 2336050 2336052 - Identifier 2336052 2336076 - ForStatement 2336077 2336539 - VariableDeclarationList 2336092 2336101 - VariableDeclaration 2336095 2336101 - Identifier 2336095 2336097 - NumericLiteral 2336099 2336101 - BinaryExpression 2336102 2336122 - Identifier 2336102 2336104 - LessThanToken 2336104 2336106 - PropertyAccessExpression 2336106 2336122 - Identifier 2336106 2336115 - Identifier 2336116 2336122 - PostfixUnaryExpression 2336123 2336127 - Identifier 2336123 2336125 - Block 2336128 2336539 - VariableStatement 2336130 2336179 - VariableDeclarationList 2336130 2336178 - VariableDeclaration 2336147 2336178 - Identifier 2336147 2336152 - Identifier 2336154 2336178 - IfStatement 2336179 2336428 - BinaryExpression 2336197 2336247 - PropertyAccessExpression 2336197 2336218 - ElementAccessExpression 2336197 2336213 - PropertyAccessExpression 2336197 2336210 - Identifier 2336197 2336201 - Identifier 2336202 2336210 - Identifier 2336211 2336212 - Identifier 2336214 2336218 - EqualsEqualsEqualsToken 2336218 2336222 - PropertyAccessExpression 2336222 2336247 - Identifier 2336222 2336233 - Identifier 2336234 2336247 - Block 2336248 2336428 - ExpressionStatement 2336250 2336413 - BinaryExpression 2336250 2336412 - Identifier 2336250 2336272 - EqualsToken 2336272 2336274 - BinaryExpression 2336274 2336412 - Identifier 2336274 2336287 - EqualsToken 2336287 2336289 - BinaryExpression 2336289 2336412 - Identifier 2336289 2336302 - QuestionQuestionToken 2336302 2336305 - ParenthesizedExpression 2336305 2336412 - BinaryExpression 2336307 2336411 - CallExpression 2336307 2336398 - Identifier 2336307 2336337 - PropertyAccessExpression 2336338 2336364 - Identifier 2336338 2336350 - Identifier 2336351 2336364 - Identifier 2336365 2336376 - Identifier 2336377 2336391 - Identifier 2336392 2336397 - BarBarToken 2336398 2336401 - Identifier 2336401 2336411 - ExpressionStatement 2336428 2336528 - CallExpression 2336428 2336527 - Identifier 2336428 2336489 - Identifier 2336490 2336494 - Identifier 2336495 2336506 - Identifier 2336507 2336509 - Identifier 2336510 2336515 - Identifier 2336516 2336526 - ReturnStatement 2336539 2336567 - Identifier 2336555 2336566 - FunctionDeclaration 2336574 2339176 - Identifier 2336590 2336638 - Parameter 2336639 2336667 - Identifier 2336639 2336643 - TypeReference 2336644 2336667 - Identifier 2336644 2336667 - Parameter 2336668 2336685 - Identifier 2336668 2336679 - TypeReference 2336680 2336685 - Identifier 2336680 2336685 - Parameter 2336686 2336707 - Identifier 2336686 2336699 - NumberKeyword 2336700 2336707 - Parameter 2336708 2336726 - Identifier 2336708 2336720 - TypeReference 2336721 2336726 - Identifier 2336721 2336726 - Parameter 2336727 2336749 - Identifier 2336727 2336737 - QuestionToken 2336737 2336738 - TypeReference 2336739 2336749 - Identifier 2336739 2336749 - Block 2336750 2339176 - VariableStatement 2336752 2336793 - VariableDeclarationList 2336752 2336792 - VariableDeclaration 2336767 2336792 - Identifier 2336767 2336776 - PropertyAccessExpression 2336778 2336792 - Identifier 2336778 2336783 - Identifier 2336784 2336792 - VariableStatement 2336793 2336842 - VariableDeclarationList 2336793 2336841 - VariableDeclaration 2336808 2336841 - Identifier 2336808 2336816 - ElementAccessExpression 2336818 2336841 - Identifier 2336818 2336827 - Identifier 2336828 2336840 - IfStatement 2336842 2339142 - BinaryExpression 2336856 2336901 - PropertyAccessExpression 2336856 2336868 - Identifier 2336856 2336863 - Identifier 2336864 2336868 - ExclamationEqualsEqualsToken 2336868 2336872 - PropertyAccessExpression 2336872 2336901 - Identifier 2336872 2336883 - Identifier 2336884 2336901 - Block 2336902 2339142 - IfStatement 2336904 2338008 - BinaryExpression 2336922 2336963 - PropertyAccessExpression 2336922 2336934 - Identifier 2336922 2336929 - Identifier 2336930 2336934 - ExclamationEqualsEqualsToken 2336934 2336938 - PropertyAccessExpression 2336938 2336963 - Identifier 2336938 2336949 - Identifier 2336950 2336963 - Block 2336964 2338008 - VariableStatement 2336966 2337037 - VariableDeclarationList 2336966 2337036 - VariableDeclaration 2336989 2337036 - Identifier 2336989 2336999 - CallExpression 2337001 2337036 - Identifier 2337001 2337022 - Identifier 2337023 2337035 - IfStatement 2337037 2337906 - CallExpression 2337059 2337086 - Identifier 2337059 2337074 - Identifier 2337075 2337085 - Block 2337087 2337906 - VariableStatement 2337089 2337411 - VariableDeclarationList 2337089 2337410 - VariableDeclaration 2337305 2337410 - Identifier 2337305 2337317 - BinaryExpression 2337319 2337410 - PropertyAccessExpression 2337319 2337350 - Identifier 2337319 2337331 - Identifier 2337332 2337350 - BarToken 2337350 2337352 - ParenthesizedExpression 2337352 2337410 - ConditionalExpression 2337354 2337409 - CallExpression 2337354 2337378 - Identifier 2337354 2337369 - Identifier 2337370 2337377 - QuestionToken 2337378 2337380 - PropertyAccessExpression 2337380 2337405 - Identifier 2337380 2337392 - Identifier 2337393 2337405 - ColonToken 2337405 2337407 - NumericLiteral 2337407 2337409 - VariableStatement 2337411 2337581 - VariableDeclarationList 2337411 2337580 - VariableDeclaration 2337438 2337580 - Identifier 2337438 2337450 - BinaryExpression 2337452 2337580 - CallExpression 2337452 2337567 - Identifier 2337452 2337484 - Identifier 2337485 2337495 - Identifier 2337496 2337506 - Identifier 2337507 2337519 - CallExpression 2337520 2337566 - Identifier 2337520 2337546 - Identifier 2337547 2337554 - Identifier 2337555 2337565 - BarBarToken 2337567 2337570 - Identifier 2337570 2337580 - VariableStatement 2337581 2337718 - VariableDeclarationList 2337581 2337717 - VariableDeclaration 2337608 2337717 - Identifier 2337608 2337621 - ConditionalExpression 2337623 2337717 - CallExpression 2337623 2337648 - Identifier 2337623 2337639 - Identifier 2337640 2337647 - QuestionToken 2337648 2337650 - CallExpression 2337650 2337703 - Identifier 2337650 2337667 - Identifier 2337668 2337679 - PropertyAccessExpression 2337680 2337702 - Identifier 2337680 2337690 - Identifier 2337691 2337702 - ColonToken 2337703 2337705 - Identifier 2337705 2337717 - VariableStatement 2337718 2337803 - VariableDeclarationList 2337718 2337802 - VariableDeclaration 2337745 2337802 - Identifier 2337745 2337750 - CallExpression 2337752 2337802 - Identifier 2337752 2337779 - Identifier 2337780 2337787 - Identifier 2337788 2337801 - ReturnStatement 2337803 2337887 - CallExpression 2337831 2337886 - Identifier 2337831 2337860 - Identifier 2337861 2337868 - Identifier 2337869 2337874 - Identifier 2337875 2337885 - ReturnStatement 2337906 2337993 - CallExpression 2337930 2337992 - Identifier 2337930 2337959 - Identifier 2337960 2337967 - Identifier 2337968 2337980 - Identifier 2337981 2337991 - IfStatement 2338008 2339131 - BinaryExpression 2338026 2338060 - Identifier 2338026 2338038 - LessThanToken 2338038 2338040 - BinaryExpression 2338040 2338060 - PropertyAccessExpression 2338040 2338056 - Identifier 2338040 2338049 - Identifier 2338050 2338056 - MinusToken 2338056 2338058 - NumericLiteral 2338058 2338060 - Block 2338061 2338179 - ExpressionStatement 2338063 2338164 - CallExpression 2338063 2338163 - Identifier 2338063 2338086 - Identifier 2338087 2338094 - PropertyAccessExpression 2338095 2338162 - Identifier 2338095 2338107 - Identifier 2338108 2338162 - Block 2338197 2339131 - VariableStatement 2338199 2338278 - VariableDeclarationList 2338199 2338277 - VariableDeclaration 2338222 2338277 - Identifier 2338222 2338237 - PropertyAccessExpression 2338239 2338277 - ParenthesizedExpression 2338239 2338266 - AsExpression 2338241 2338265 - Identifier 2338241 2338248 - TypeReference 2338251 2338265 - Identifier 2338251 2338265 - Identifier 2338267 2338277 - IfStatement 2338278 2339116 - BinaryExpression 2338300 2338437 - BinaryExpression 2338300 2338351 - PropertyAccessExpression 2338300 2338319 - Identifier 2338300 2338314 - Identifier 2338315 2338319 - EqualsEqualsEqualsToken 2338319 2338323 - PropertyAccessExpression 2338323 2338351 - Identifier 2338323 2338334 - Identifier 2338335 2338351 - AmpersandAmpersandToken 2338351 2338354 - BinaryExpression 2338354 2338437 - PropertyAccessExpression 2338354 2338410 - PropertyAccessExpression 2338354 2338405 - ParenthesizedExpression 2338354 2338391 - AsExpression 2338356 2338390 - Identifier 2338356 2338370 - TypeReference 2338373 2338390 - Identifier 2338373 2338390 - Identifier 2338392 2338405 - Identifier 2338406 2338410 - EqualsEqualsEqualsToken 2338410 2338414 - PropertyAccessExpression 2338414 2338437 - Identifier 2338414 2338425 - Identifier 2338426 2338437 - Block 2338438 2338594 - ExpressionStatement 2338440 2338575 - CallExpression 2338440 2338574 - Identifier 2338440 2338467 - PropertyAccessExpression 2338468 2338518 - ParenthesizedExpression 2338468 2338504 - AsExpression 2338469 2338503 - Identifier 2338469 2338483 - TypeReference 2338486 2338503 - Identifier 2338486 2338503 - Identifier 2338505 2338518 - PropertyAccessExpression 2338519 2338573 - Identifier 2338519 2338531 - Identifier 2338532 2338573 - Block 2338616 2339116 - ExpressionStatement 2338618 2338773 - CallExpression 2338618 2338772 - Identifier 2338618 2338678 - PropertyAccessExpression 2338679 2338692 - Identifier 2338679 2338683 - Identifier 2338684 2338692 - PropertyAccessExpression 2338693 2338771 - Identifier 2338693 2338705 - Identifier 2338706 2338771 - VariableStatement 2338773 2339006 - VariableDeclarationList 2338773 2339005 - VariableDeclaration 2338800 2339005 - Identifier 2338800 2338805 - ConditionalExpression 2338807 2339005 - CallExpression 2338807 2338842 - Identifier 2338807 2338817 - Identifier 2338818 2338828 - Identifier 2338829 2338841 - QuestionToken 2338842 2338844 - CallExpression 2338844 2338949 - Identifier 2338844 2338877 - Identifier 2338878 2338888 - ArrowFunction 2338889 2338948 - Parameter 2338889 2338891 - Identifier 2338889 2338891 - EqualsGreaterThanToken 2338891 2338894 - CallExpression 2338894 2338948 - Identifier 2338894 2338909 - AsExpression 2338910 2338933 - Identifier 2338910 2338911 - TypeReference 2338914 2338933 - Identifier 2338914 2338933 - Identifier 2338934 2338947 - ColonToken 2338949 2338951 - CallExpression 2338951 2339005 - Identifier 2338951 2338992 - Identifier 2338993 2339004 - ReturnStatement 2339006 2339097 - CallExpression 2339034 2339096 - Identifier 2339034 2339063 - Identifier 2339064 2339078 - Identifier 2339079 2339084 - Identifier 2339085 2339095 - ReturnStatement 2339142 2339169 - Identifier 2339158 2339168 - FunctionDeclaration 2339176 2341307 - Identifier 2339192 2339221 - Parameter 2339222 2339280 - Identifier 2339222 2339238 - UnionType 2339239 2339280 - TypeReference 2339239 2339250 - Identifier 2339239 2339250 - TypeReference 2339252 2339280 - Identifier 2339252 2339280 - Parameter 2339281 2339298 - Identifier 2339281 2339292 - TypeReference 2339293 2339298 - Identifier 2339293 2339298 - Parameter 2339299 2339321 - Identifier 2339299 2339309 - QuestionToken 2339309 2339310 - TypeReference 2339311 2339321 - Identifier 2339311 2339321 - Parameter 2339322 2339344 - Identifier 2339322 2339334 - QuestionToken 2339334 2339335 - BooleanKeyword 2339336 2339344 - TypeReference 2339346 2339351 - Identifier 2339346 2339351 - Block 2339351 2341307 - VariableStatement 2339353 2339386 - VariableDeclarationList 2339353 2339385 - VariableDeclaration 2339366 2339385 - Identifier 2339366 2339373 - TypeReference 2339374 2339385 - Identifier 2339374 2339385 - IfStatement 2339386 2340351 - BinaryExpression 2339400 2339464 - PropertyAccessExpression 2339400 2339421 - Identifier 2339400 2339416 - Identifier 2339417 2339421 - EqualsEqualsEqualsToken 2339421 2339425 - PropertyAccessExpression 2339425 2339464 - Identifier 2339425 2339436 - Identifier 2339437 2339464 - Block 2339465 2340284 - VariableStatement 2339467 2339542 - VariableDeclarationList 2339467 2339541 - VariableDeclaration 2339486 2339541 - Identifier 2339486 2339491 - AsExpression 2339493 2339541 - Identifier 2339493 2339510 - TypeReference 2339513 2339541 - Identifier 2339513 2339541 - IfStatement 2339542 2340195 - PropertyAccessExpression 2339560 2339592 - Identifier 2339560 2339564 - Identifier 2339565 2339592 - Block 2339593 2340195 - IfStatement 2339595 2340061 - BinaryExpression 2339782 2339934 - Identifier 2339782 2339820 - AmpersandAmpersandToken 2339820 2339823 - PrefixUnaryExpression 2339823 2339934 - ParenthesizedExpression 2339846 2339934 - CallExpression 2339847 2339933 - Identifier 2339847 2339859 - CallExpression 2339860 2339909 - Identifier 2339860 2339875 - PropertyAccessExpression 2339876 2339908 - Identifier 2339876 2339880 - Identifier 2339881 2339908 - PropertyAccessExpression 2339910 2339932 - Identifier 2339910 2339920 - Identifier 2339921 2339932 - Block 2339953 2340061 - ExpressionStatement 2339955 2340042 - BinaryExpression 2339955 2340041 - Identifier 2339955 2339987 - EqualsToken 2339987 2339989 - CallExpression 2339989 2340041 - Identifier 2339989 2340006 - Identifier 2340007 2340017 - PropertyAccessExpression 2340018 2340040 - Identifier 2340018 2340028 - Identifier 2340029 2340040 - ExpressionStatement 2340061 2340180 - CallExpression 2340061 2340179 - Identifier 2340061 2340104 - PropertyAccessExpression 2340105 2340114 - Identifier 2340105 2340109 - Identifier 2340110 2340114 - NonNullExpression 2340115 2340133 - PropertyAccessExpression 2340115 2340132 - Identifier 2340115 2340120 - Identifier 2340121 2340132 - PropertyAccessExpression 2340134 2340167 - Identifier 2340134 2340139 - Identifier 2340140 2340167 - Identifier 2340168 2340178 - ExpressionStatement 2340195 2340273 - BinaryExpression 2340195 2340272 - Identifier 2340195 2340215 - EqualsToken 2340215 2340217 - PropertyAccessExpression 2340217 2340272 - ParenthesizedExpression 2340217 2340267 - AsExpression 2340219 2340266 - Identifier 2340219 2340235 - TypeReference 2340238 2340266 - Identifier 2340238 2340266 - Identifier 2340268 2340272 - Block 2340298 2340351 - ExpressionStatement 2340300 2340340 - BinaryExpression 2340300 2340339 - Identifier 2340300 2340320 - EqualsToken 2340320 2340322 - Identifier 2340322 2340339 - IfStatement 2340351 2340856 - BinaryExpression 2340367 2340488 - BinaryExpression 2340367 2340410 - PropertyAccessExpression 2340367 2340378 - Identifier 2340367 2340373 - Identifier 2340374 2340378 - EqualsEqualsEqualsToken 2340378 2340382 - PropertyAccessExpression 2340382 2340410 - Identifier 2340382 2340393 - Identifier 2340394 2340410 - AmpersandAmpersandToken 2340410 2340413 - BinaryExpression 2340413 2340488 - PropertyAccessExpression 2340413 2340461 - PropertyAccessExpression 2340413 2340456 - ParenthesizedExpression 2340413 2340442 - AsExpression 2340415 2340441 - Identifier 2340415 2340421 - TypeReference 2340424 2340441 - Identifier 2340424 2340441 - Identifier 2340443 2340456 - Identifier 2340457 2340461 - EqualsEqualsEqualsToken 2340461 2340465 - PropertyAccessExpression 2340465 2340488 - Identifier 2340465 2340476 - Identifier 2340477 2340488 - Block 2340489 2340856 - ExpressionStatement 2340491 2340566 - CallExpression 2340491 2340565 - Identifier 2340491 2340526 - AsExpression 2340527 2340553 - Identifier 2340527 2340533 - TypeReference 2340536 2340553 - Identifier 2340536 2340553 - Identifier 2340554 2340564 - ExpressionStatement 2340566 2340623 - BinaryExpression 2340566 2340622 - Identifier 2340566 2340586 - EqualsToken 2340586 2340588 - PropertyAccessExpression 2340588 2340622 - ParenthesizedExpression 2340588 2340617 - AsExpression 2340590 2340616 - Identifier 2340590 2340596 - TypeReference 2340599 2340616 - Identifier 2340599 2340616 - Identifier 2340618 2340622 - IfStatement 2340623 2340845 - Identifier 2340728 2340744 - Block 2340745 2340845 - ExpressionStatement 2340747 2340830 - BinaryExpression 2340747 2340829 - Identifier 2340747 2340775 - EqualsToken 2340775 2340777 - CallExpression 2340777 2340829 - Identifier 2340777 2340794 - Identifier 2340795 2340805 - PropertyAccessExpression 2340806 2340828 - Identifier 2340806 2340816 - Identifier 2340817 2340828 - IfStatement 2340856 2341044 - BinaryExpression 2340870 2340920 - PropertyAccessExpression 2340870 2340881 - Identifier 2340870 2340876 - Identifier 2340877 2340881 - EqualsEqualsEqualsToken 2340881 2340885 - PropertyAccessExpression 2340885 2340920 - Identifier 2340885 2340896 - Identifier 2340897 2340920 - Block 2340921 2341044 - ReturnStatement 2340923 2341033 - CallExpression 2340943 2341032 - Identifier 2340943 2340972 - AsExpression 2340973 2341006 - Identifier 2340973 2340979 - TypeReference 2340982 2341006 - Identifier 2340982 2341006 - Identifier 2341007 2341018 - Identifier 2341019 2341031 - IfStatement 2341044 2341227 - BinaryExpression 2341058 2341107 - PropertyAccessExpression 2341058 2341069 - Identifier 2341058 2341064 - Identifier 2341065 2341069 - EqualsEqualsEqualsToken 2341069 2341073 - PropertyAccessExpression 2341073 2341107 - Identifier 2341073 2341084 - Identifier 2341085 2341107 - Block 2341108 2341227 - ReturnStatement 2341110 2341216 - CallExpression 2341130 2341215 - Identifier 2341130 2341158 - AsExpression 2341159 2341191 - Identifier 2341159 2341165 - TypeReference 2341168 2341191 - Identifier 2341168 2341191 - Identifier 2341192 2341203 - Identifier 2341204 2341214 - ReturnStatement 2341227 2341300 - CallExpression 2341243 2341299 - Identifier 2341243 2341268 - Identifier 2341269 2341275 - Identifier 2341276 2341287 - Identifier 2341288 2341298 - FunctionDeclaration 2341307 2342607 - Identifier 2341323 2341348 - Parameter 2341349 2341367 - Identifier 2341349 2341355 - TypeReference 2341356 2341367 - Identifier 2341356 2341367 - Parameter 2341368 2341385 - Identifier 2341368 2341379 - TypeReference 2341380 2341385 - Identifier 2341380 2341385 - Parameter 2341386 2341408 - Identifier 2341386 2341396 - QuestionToken 2341396 2341397 - TypeReference 2341398 2341408 - Identifier 2341398 2341408 - TypeReference 2341410 2341415 - Identifier 2341410 2341415 - Block 2341415 2342607 - VariableStatement 2341417 2341481 - VariableDeclarationList 2341417 2341480 - VariableDeclaration 2341432 2341480 - Identifier 2341432 2341443 - CallExpression 2341445 2341480 - Identifier 2341445 2341461 - Identifier 2341462 2341468 - Identifier 2341469 2341479 - VariableStatement 2341481 2341777 - VariableDeclarationList 2341481 2341776 - VariableDeclaration 2341496 2341776 - Identifier 2341496 2341502 - ConditionalExpression 2341504 2341776 - BinaryExpression 2341504 2341555 - PropertyAccessExpression 2341504 2341523 - PropertyAccessExpression 2341504 2341518 - Identifier 2341504 2341511 - Identifier 2341512 2341518 - Identifier 2341519 2341523 - EqualsEqualsEqualsToken 2341523 2341527 - PropertyAccessExpression 2341527 2341555 - Identifier 2341527 2341538 - Identifier 2341539 2341555 - QuestionToken 2341555 2341557 - PropertyAccessExpression 2341557 2341662 - Identifier 2341557 2341582 - Identifier 2341583 2341662 - ColonToken 2341662 2341664 - PropertyAccessExpression 2341664 2341776 - Identifier 2341664 2341689 - Identifier 2341690 2341776 - VariableStatement 2341777 2342079 - VariableDeclarationList 2341777 2342078 - VariableDeclaration 2341792 2342078 - Identifier 2341792 2341806 - ConditionalExpression 2341808 2342078 - BinaryExpression 2341808 2341859 - PropertyAccessExpression 2341808 2341827 - PropertyAccessExpression 2341808 2341822 - Identifier 2341808 2341815 - Identifier 2341816 2341822 - Identifier 2341823 2341827 - EqualsEqualsEqualsToken 2341827 2341831 - PropertyAccessExpression 2341831 2341859 - Identifier 2341831 2341842 - Identifier 2341843 2341859 - QuestionToken 2341859 2341861 - PropertyAccessExpression 2341861 2341965 - Identifier 2341861 2341886 - Identifier 2341887 2341965 - ColonToken 2341965 2341967 - PropertyAccessExpression 2341967 2342078 - Identifier 2341967 2341992 - Identifier 2341993 2342078 - IfStatement 2342079 2342259 - CallExpression 2342093 2342147 - Identifier 2342093 2342117 - Identifier 2342118 2342124 - Identifier 2342125 2342131 - Identifier 2342132 2342146 - Block 2342148 2342259 - ExpressionStatement 2342150 2342248 - CallExpression 2342150 2342247 - Identifier 2342150 2342207 - Identifier 2342208 2342218 - Identifier 2342219 2342230 - Identifier 2342231 2342238 - Identifier 2342239 2342246 - IfStatement 2342259 2342572 - CallExpression 2342273 2342324 - Identifier 2342273 2342316 - Identifier 2342317 2342323 - Block 2342325 2342572 - ExpressionStatement 2342327 2342561 - CallExpression 2342327 2342560 - Identifier 2342327 2342503 - PropertyAccessExpression 2342504 2342517 - Identifier 2342504 2342510 - Identifier 2342511 2342517 - PropertyAccessExpression 2342518 2342559 - Identifier 2342518 2342538 - Identifier 2342539 2342559 - ReturnStatement 2342572 2342600 - Identifier 2342588 2342599 - FunctionDeclaration 2342607 2345724 - Identifier 2343062 2343079 - Parameter 2343080 2343090 - Identifier 2343080 2343084 - TypeReference 2343085 2343090 - Identifier 2343085 2343090 - BooleanKeyword 2343092 2343100 - Block 2343100 2345724 - ExpressionStatement 2343102 2343141 - BinaryExpression 2343102 2343140 - Identifier 2343102 2343116 - EqualsToken 2343116 2343118 - CallExpression 2343118 2343140 - Identifier 2343118 2343134 - Identifier 2343135 2343139 - SwitchStatement 2343141 2345717 - PropertyAccessExpression 2343159 2343168 - Identifier 2343159 2343163 - Identifier 2343164 2343168 - CaseBlock 2343169 2345717 - CaseClause 2343171 2343212 - PropertyAccessExpression 2343189 2343211 - Identifier 2343189 2343200 - Identifier 2343201 2343211 - CaseClause 2343212 2343256 - PropertyAccessExpression 2343230 2343255 - Identifier 2343230 2343241 - Identifier 2343242 2343255 - CaseClause 2343256 2343311 - PropertyAccessExpression 2343274 2343310 - Identifier 2343274 2343285 - Identifier 2343286 2343310 - CaseClause 2343311 2343366 - PropertyAccessExpression 2343329 2343365 - Identifier 2343329 2343340 - Identifier 2343341 2343365 - CaseClause 2343366 2343415 - PropertyAccessExpression 2343384 2343414 - Identifier 2343384 2343395 - Identifier 2343396 2343414 - CaseClause 2343415 2343475 - PropertyAccessExpression 2343433 2343474 - Identifier 2343433 2343444 - Identifier 2343445 2343474 - CaseClause 2343475 2343520 - PropertyAccessExpression 2343493 2343519 - Identifier 2343493 2343504 - Identifier 2343505 2343519 - CaseClause 2343520 2343564 - PropertyAccessExpression 2343538 2343563 - Identifier 2343538 2343549 - Identifier 2343550 2343563 - CaseClause 2343564 2343606 - PropertyAccessExpression 2343582 2343605 - Identifier 2343582 2343593 - Identifier 2343594 2343605 - CaseClause 2343606 2343649 - PropertyAccessExpression 2343624 2343648 - Identifier 2343624 2343635 - Identifier 2343636 2343648 - CaseClause 2343649 2343691 - PropertyAccessExpression 2343667 2343690 - Identifier 2343667 2343678 - Identifier 2343679 2343690 - CaseClause 2343691 2343738 - PropertyAccessExpression 2343709 2343737 - Identifier 2343709 2343720 - Identifier 2343721 2343737 - CaseClause 2343738 2343787 - PropertyAccessExpression 2343756 2343786 - Identifier 2343756 2343767 - Identifier 2343768 2343786 - CaseClause 2343787 2343833 - PropertyAccessExpression 2343805 2343832 - Identifier 2343805 2343816 - Identifier 2343817 2343832 - CaseClause 2343833 2343877 - PropertyAccessExpression 2343851 2343876 - Identifier 2343851 2343862 - Identifier 2343863 2343876 - CaseClause 2343877 2343930 - PropertyAccessExpression 2343895 2343929 - Identifier 2343895 2343906 - Identifier 2343907 2343929 - CaseClause 2343930 2343984 - PropertyAccessExpression 2343948 2343983 - Identifier 2343948 2343959 - Identifier 2343960 2343983 - CaseClause 2343984 2344031 - PropertyAccessExpression 2344002 2344030 - Identifier 2344002 2344013 - Identifier 2344014 2344030 - CaseClause 2344031 2344079 - PropertyAccessExpression 2344049 2344078 - Identifier 2344049 2344060 - Identifier 2344061 2344078 - CaseClause 2344079 2344131 - PropertyAccessExpression 2344097 2344130 - Identifier 2344097 2344108 - Identifier 2344109 2344130 - CaseClause 2344131 2344202 - PropertyAccessExpression 2344149 2344171 - Identifier 2344149 2344160 - Identifier 2344161 2344171 - ReturnStatement 2344172 2344202 - TrueKeyword 2344196 2344201 - CaseClause 2344202 2344424 - PropertyAccessExpression 2344222 2344255 - Identifier 2344222 2344233 - Identifier 2344234 2344255 - ReturnStatement 2344256 2344424 - BinaryExpression 2344280 2344423 - CallExpression 2344280 2344339 - Identifier 2344280 2344297 - PropertyAccessExpression 2344298 2344338 - ParenthesizedExpression 2344298 2344329 - AsExpression 2344299 2344328 - Identifier 2344299 2344303 - TypeReference 2344306 2344328 - Identifier 2344306 2344328 - Identifier 2344330 2344338 - AmpersandAmpersandToken 2344339 2344342 - CallExpression 2344342 2344423 - Identifier 2344342 2344380 - PropertyAccessExpression 2344381 2344422 - ParenthesizedExpression 2344381 2344412 - AsExpression 2344382 2344411 - Identifier 2344382 2344386 - TypeReference 2344389 2344411 - Identifier 2344389 2344411 - Identifier 2344413 2344422 - CaseClause 2344424 2344769 - PropertyAccessExpression 2344444 2344472 - Identifier 2344444 2344455 - Identifier 2344456 2344472 - IfStatement 2344473 2344619 - CallExpression 2344495 2344562 - Identifier 2344495 2344515 - PropertyAccessExpression 2344516 2344561 - PropertyAccessExpression 2344516 2344556 - ParenthesizedExpression 2344516 2344542 - AsExpression 2344517 2344541 - Identifier 2344517 2344521 - TypeReference 2344524 2344541 - Identifier 2344524 2344541 - Identifier 2344543 2344556 - Identifier 2344557 2344561 - Block 2344563 2344619 - ReturnStatement 2344565 2344600 - FalseKeyword 2344593 2344599 - ReturnStatement 2344619 2344769 - BinaryExpression 2344643 2344768 - CallExpression 2344643 2344693 - Identifier 2344643 2344660 - PropertyAccessExpression 2344661 2344692 - ParenthesizedExpression 2344661 2344687 - AsExpression 2344662 2344686 - Identifier 2344662 2344666 - TypeReference 2344669 2344686 - Identifier 2344669 2344686 - Identifier 2344688 2344692 - AmpersandAmpersandToken 2344693 2344696 - CallExpression 2344696 2344768 - Identifier 2344696 2344734 - PropertyAccessExpression 2344735 2344767 - ParenthesizedExpression 2344735 2344761 - AsExpression 2344736 2344760 - Identifier 2344736 2344740 - TypeReference 2344743 2344760 - Identifier 2344743 2344760 - Identifier 2344762 2344767 - CaseClause 2344769 2344823 - PropertyAccessExpression 2344789 2344822 - Identifier 2344789 2344800 - Identifier 2344801 2344822 - CaseClause 2344823 2345340 - PropertyAccessExpression 2344841 2344875 - Identifier 2344841 2344852 - Identifier 2344853 2344875 - SwitchStatement 2344876 2345309 - PropertyAccessExpression 2345008 2345048 - ParenthesizedExpression 2345008 2345039 - AsExpression 2345009 2345038 - Identifier 2345009 2345013 - TypeReference 2345016 2345038 - Identifier 2345016 2345038 - Identifier 2345040 2345048 - CaseBlock 2345049 2345309 - CaseClause 2345051 2345106 - PropertyAccessExpression 2345077 2345105 - Identifier 2345077 2345088 - Identifier 2345089 2345105 - CaseClause 2345106 2345154 - PropertyAccessExpression 2345132 2345153 - Identifier 2345132 2345143 - Identifier 2345144 2345153 - CaseClause 2345154 2345203 - PropertyAccessExpression 2345180 2345202 - Identifier 2345180 2345191 - Identifier 2345192 2345202 - CaseClause 2345203 2345290 - PropertyAccessExpression 2345229 2345251 - Identifier 2345229 2345240 - Identifier 2345241 2345251 - ReturnStatement 2345252 2345290 - TrueKeyword 2345284 2345289 - ReturnStatement 2345309 2345340 - FalseKeyword 2345333 2345339 - CaseClause 2345340 2345438 - PropertyAccessExpression 2345411 2345437 - Identifier 2345411 2345422 - Identifier 2345423 2345437 - CaseClause 2345438 2345512 - PropertyAccessExpression 2345476 2345511 - Identifier 2345476 2345487 - Identifier 2345488 2345511 - CaseClause 2345512 2345604 - PropertyAccessExpression 2345579 2345603 - Identifier 2345579 2345590 - Identifier 2345591 2345603 - DefaultClause 2345604 2345706 - ReturnStatement 2345675 2345706 - FalseKeyword 2345699 2345705 - FunctionDeclaration 2345724 2345901 - Identifier 2345740 2345767 - Parameter 2345768 2345780 - Identifier 2345768 2345774 - TypeReference 2345775 2345780 - Identifier 2345775 2345780 - Parameter 2345781 2345794 - Identifier 2345781 2345788 - TypeReference 2345789 2345794 - Identifier 2345789 2345794 - Block 2345795 2345901 - ReturnStatement 2345797 2345894 - BinaryExpression 2345813 2345893 - BinaryExpression 2345813 2345855 - ParenthesizedExpression 2345813 2345849 - BinaryExpression 2345815 2345848 - PropertyAccessExpression 2345815 2345827 - Identifier 2345815 2345821 - Identifier 2345822 2345827 - AmpersandToken 2345827 2345829 - PropertyAccessExpression 2345829 2345848 - Identifier 2345829 2345839 - Identifier 2345840 2345848 - ExclamationEqualsEqualsToken 2345849 2345853 - NumericLiteral 2345853 2345855 - BarBarToken 2345855 2345858 - CallExpression 2345858 2345893 - Identifier 2345858 2345877 - Identifier 2345878 2345884 - Identifier 2345885 2345892 - FunctionDeclaration 2345901 2351951 - Identifier 2345917 2345945 - Block 2345947 2351951 - InterfaceDeclaration 2345949 2346474 - Identifier 2345968 2345977 - PropertySignature 2345979 2346035 - ReadonlyKeyword 2345979 2346001 - Identifier 2346001 2346011 - UnionType 2346012 2346034 - TypeReference 2346012 2346022 - Identifier 2346012 2346022 - UndefinedKeyword 2346024 2346034 - PropertySignature 2346035 2346063 - Identifier 2346035 2346053 - BooleanKeyword 2346054 2346062 - PropertySignature 2346063 2346096 - Identifier 2346063 2346087 - NumberKeyword 2346088 2346095 - PropertySignature 2346096 2346463 - Identifier 2346096 2346440 - ArrayType 2346441 2346462 - ParenthesizedType 2346441 2346460 - UnionType 2346443 2346459 - TypeReference 2346443 2346447 - Identifier 2346443 2346447 - UndefinedKeyword 2346449 2346459 - VariableStatement 2346474 2346595 - VariableDeclarationList 2346474 2346594 - VariableDeclaration 2346491 2346594 - Identifier 2346491 2346502 - CallExpression 2346504 2346594 - Identifier 2346504 2346537 - Identifier 2346538 2346545 - Identifier 2346546 2346553 - Identifier 2346554 2346565 - Identifier 2346566 2346574 - Identifier 2346575 2346582 - Identifier 2346583 2346593 - ReturnStatement 2346595 2346818 - ArrowFunction 2346613 2346817 - Parameter 2346615 2346637 - Identifier 2346615 2346619 - TypeReference 2346620 2346637 - Identifier 2346620 2346637 - Parameter 2346638 2346671 - Identifier 2346638 2346648 - UnionType 2346649 2346671 - TypeReference 2346649 2346659 - Identifier 2346649 2346659 - UndefinedKeyword 2346661 2346671 - EqualsGreaterThanToken 2346672 2346675 - Block 2346675 2346817 - VariableStatement 2346677 2346734 - VariableDeclarationList 2346677 2346733 - VariableDeclaration 2346696 2346733 - Identifier 2346696 2346703 - CallExpression 2346705 2346733 - Identifier 2346705 2346716 - Identifier 2346717 2346721 - Identifier 2346722 2346732 - ExpressionStatement 2346734 2346778 - CallExpression 2346734 2346777 - PropertyAccessExpression 2346734 2346769 - Identifier 2346734 2346753 - Identifier 2346754 2346769 - Identifier 2346770 2346776 - ReturnStatement 2346778 2346806 - Identifier 2346798 2346805 - FunctionDeclaration 2346818 2348221 - Identifier 2346838 2346846 - Parameter 2346847 2346869 - Identifier 2346847 2346851 - TypeReference 2346852 2346869 - Identifier 2346852 2346869 - Parameter 2346870 2346898 - Identifier 2346870 2346876 - UnionType 2346877 2346898 - TypeReference 2346877 2346886 - Identifier 2346877 2346886 - UndefinedKeyword 2346888 2346898 - Parameter 2346899 2346932 - Identifier 2346899 2346909 - UnionType 2346910 2346932 - TypeReference 2346910 2346920 - Identifier 2346910 2346920 - UndefinedKeyword 2346922 2346932 - Block 2346933 2348221 - IfStatement 2346935 2347406 - Identifier 2346953 2346958 - Block 2346959 2347166 - ExpressionStatement 2346961 2346998 - PostfixUnaryExpression 2346961 2346997 - PropertyAccessExpression 2346961 2346995 - Identifier 2346961 2346984 - Identifier 2346985 2346995 - ExpressionStatement 2346998 2347035 - BinaryExpression 2346998 2347034 - PropertyAccessExpression 2346998 2347026 - Identifier 2346998 2347021 - Identifier 2347022 2347026 - EqualsToken 2347026 2347028 - FalseKeyword 2347028 2347034 - ExpressionStatement 2347035 2347092 - CallExpression 2347035 2347091 - Identifier 2347035 2347064 - Identifier 2347065 2347070 - Identifier 2347071 2347090 - ExpressionStatement 2347092 2347151 - CallExpression 2347092 2347150 - Identifier 2347092 2347123 - Identifier 2347124 2347129 - Identifier 2347130 2347149 - Block 2347184 2347406 - ExpressionStatement 2347186 2347391 - BinaryExpression 2347186 2347390 - Identifier 2347186 2347209 - EqualsToken 2347209 2347211 - ObjectLiteralExpression 2347211 2347390 - ShorthandPropertyAssignment 2347213 2347244 - Identifier 2347213 2347244 - PropertyAssignment 2347245 2347278 - Identifier 2347245 2347271 - FalseKeyword 2347272 2347278 - PropertyAssignment 2347279 2347314 - Identifier 2347279 2347311 - NumericLiteral 2347312 2347314 - PropertyAssignment 2347315 2347370 - Identifier 2347315 2347346 - ArrayLiteralExpression 2347347 2347370 - Identifier 2347349 2347358 - Identifier 2347359 2347369 - IfStatement 2347406 2347645 - BinaryExpression 2347426 2347481 - CallExpression 2347426 2347442 - Identifier 2347426 2347436 - Identifier 2347437 2347441 - AmpersandAmpersandToken 2347442 2347445 - CallExpression 2347445 2347481 - Identifier 2347445 2347475 - Identifier 2347476 2347480 - Block 2347482 2347645 - ExpressionStatement 2347484 2347520 - BinaryExpression 2347484 2347519 - PropertyAccessExpression 2347484 2347512 - Identifier 2347484 2347507 - Identifier 2347508 2347512 - EqualsToken 2347512 2347514 - TrueKeyword 2347514 2347519 - ExpressionStatement 2347520 2347599 - CallExpression 2347520 2347598 - Identifier 2347520 2347551 - Identifier 2347552 2347557 - CallExpression 2347558 2347597 - Identifier 2347558 2347574 - PropertyAccessExpression 2347575 2347585 - Identifier 2347575 2347579 - Identifier 2347580 2347585 - Identifier 2347586 2347596 - ReturnStatement 2347599 2347630 - Identifier 2347623 2347629 - ExpressionStatement 2347645 2347696 - CallExpression 2347645 2347695 - Identifier 2347645 2347689 - Identifier 2347690 2347694 - VariableStatement 2347696 2347753 - VariableDeclarationList 2347696 2347752 - VariableDeclaration 2347717 2347752 - Identifier 2347717 2347726 - PropertyAccessExpression 2347728 2347752 - PropertyAccessExpression 2347728 2347747 - Identifier 2347728 2347733 - Identifier 2347734 2347747 - Identifier 2347748 2347752 - IfStatement 2347753 2348181 - BinaryExpression 2347771 2347921 - BinaryExpression 2347771 2347806 - Identifier 2347771 2347779 - EqualsEqualsEqualsToken 2347779 2347783 - PropertyAccessExpression 2347783 2347806 - Identifier 2347783 2347794 - Identifier 2347795 2347806 - AmpersandAmpersandToken 2347806 2347809 - ParenthesizedExpression 2347809 2347921 - BinaryExpression 2347811 2347920 - BinaryExpression 2347811 2347864 - PropertyAccessExpression 2347811 2347825 - PropertyAccessExpression 2347811 2347820 - Identifier 2347811 2347815 - Identifier 2347816 2347820 - Identifier 2347821 2347825 - EqualsEqualsEqualsToken 2347825 2347829 - PropertyAccessExpression 2347829 2347864 - Identifier 2347829 2347840 - Identifier 2347841 2347864 - BarBarToken 2347864 2347867 - BinaryExpression 2347867 2347920 - PropertyAccessExpression 2347867 2347882 - PropertyAccessExpression 2347867 2347877 - Identifier 2347867 2347872 - Identifier 2347873 2347877 - Identifier 2347878 2347882 - EqualsEqualsEqualsToken 2347882 2347886 - PropertyAccessExpression 2347886 2347920 - Identifier 2347886 2347897 - Identifier 2347898 2347920 - Block 2347922 2348181 - ExpressionStatement 2347924 2347960 - BinaryExpression 2347924 2347959 - PropertyAccessExpression 2347924 2347952 - Identifier 2347924 2347947 - Identifier 2347948 2347952 - EqualsToken 2347952 2347954 - TrueKeyword 2347954 2347959 - ExpressionStatement 2347960 2348135 - CallExpression 2347960 2348134 - Identifier 2347960 2347991 - Identifier 2347992 2347997 - CallExpression 2347998 2348133 - Identifier 2347998 2348027 - PropertyAccessExpression 2348028 2348037 - Identifier 2348028 2348032 - Identifier 2348033 2348037 - CallExpression 2348038 2348077 - Identifier 2348038 2348054 - PropertyAccessExpression 2348055 2348065 - Identifier 2348055 2348059 - Identifier 2348060 2348065 - Identifier 2348066 2348076 - Identifier 2348078 2348088 - BinaryExpression 2348089 2348132 - PropertyAccessExpression 2348089 2348105 - PropertyAccessExpression 2348089 2348100 - Identifier 2348089 2348094 - Identifier 2348095 2348100 - Identifier 2348101 2348105 - EqualsEqualsEqualsToken 2348105 2348109 - PropertyAccessExpression 2348109 2348132 - Identifier 2348109 2348120 - Identifier 2348121 2348132 - ReturnStatement 2348135 2348166 - Identifier 2348159 2348165 - ReturnStatement 2348181 2348210 - Identifier 2348203 2348209 - FunctionDeclaration 2348221 2348427 - Identifier 2348241 2348248 - Parameter 2348249 2348265 - Identifier 2348249 2348253 - TypeReference 2348254 2348265 - Identifier 2348254 2348265 - Parameter 2348266 2348282 - Identifier 2348266 2348272 - TypeReference 2348273 2348282 - Identifier 2348273 2348282 - Parameter 2348283 2348307 - Identifier 2348283 2348289 - TypeReference 2348290 2348307 - Identifier 2348290 2348307 - Block 2348308 2348427 - IfStatement 2348310 2348416 - PrefixUnaryExpression 2348328 2348339 - PropertyAccessExpression 2348329 2348339 - Identifier 2348329 2348334 - Identifier 2348335 2348339 - Block 2348340 2348416 - ReturnStatement 2348342 2348401 - CallExpression 2348366 2348400 - Identifier 2348366 2348387 - Identifier 2348388 2348393 - Identifier 2348394 2348399 - FunctionDeclaration 2348427 2349642 - Identifier 2348447 2348458 - Parameter 2348459 2348493 - Identifier 2348459 2348472 - TypeReference 2348473 2348493 - Identifier 2348473 2348493 - Parameter 2348494 2348510 - Identifier 2348494 2348500 - TypeReference 2348501 2348510 - Identifier 2348501 2348510 - Parameter 2348511 2348534 - Identifier 2348511 2348516 - TypeReference 2348517 2348534 - Identifier 2348517 2348534 - Block 2348535 2349642 - IfStatement 2348537 2349631 - PrefixUnaryExpression 2348555 2348566 - PropertyAccessExpression 2348556 2348566 - Identifier 2348556 2348561 - Identifier 2348562 2348566 - Block 2348567 2349631 - VariableStatement 2348569 2348625 - VariableDeclarationList 2348569 2348624 - VariableDeclaration 2348592 2348624 - Identifier 2348592 2348601 - CallExpression 2348603 2348624 - Identifier 2348603 2348617 - Identifier 2348618 2348623 - ExpressionStatement 2348625 2348675 - CallExpression 2348625 2348674 - PropertyAccessExpression 2348625 2348664 - Identifier 2348625 2348648 - Identifier 2348649 2348664 - Identifier 2348665 2348673 - ExpressionStatement 2348675 2348722 - CallExpression 2348675 2348721 - Identifier 2348675 2348704 - Identifier 2348705 2348710 - Identifier 2348711 2348720 - ExpressionStatement 2348722 2348781 - CallExpression 2348722 2348780 - Identifier 2348722 2348753 - Identifier 2348754 2348759 - Identifier 2348760 2348779 - VariableStatement 2348781 2348835 - VariableDeclarationList 2348781 2348834 - VariableDeclaration 2348804 2348834 - Identifier 2348804 2348813 - PropertyAccessExpression 2348815 2348834 - Identifier 2348815 2348829 - Identifier 2348830 2348834 - IfStatement 2348835 2349616 - CallExpression 2348857 2348902 - Identifier 2348857 2348892 - Identifier 2348893 2348901 - Block 2348903 2349616 - VariableStatement 2348905 2348952 - VariableDeclarationList 2348905 2348951 - VariableDeclaration 2348930 2348951 - Identifier 2348930 2348937 - PropertyAccessExpression 2348939 2348951 - Identifier 2348939 2348944 - Identifier 2348945 2348951 - WhileStatement 2348952 2349155 - BinaryExpression 2348981 2349080 - BinaryExpression 2348981 2349031 - PropertyAccessExpression 2348981 2348992 - Identifier 2348981 2348987 - Identifier 2348988 2348992 - EqualsEqualsEqualsToken 2348992 2348996 - PropertyAccessExpression 2348996 2349031 - Identifier 2348996 2349007 - Identifier 2349008 2349031 - BarBarToken 2349031 2349034 - CallExpression 2349034 2349080 - Identifier 2349034 2349072 - Identifier 2349073 2349079 - Block 2349081 2349155 - ExpressionStatement 2349083 2349132 - BinaryExpression 2349083 2349131 - Identifier 2349083 2349115 - EqualsToken 2349115 2349117 - PropertyAccessExpression 2349117 2349131 - Identifier 2349117 2349124 - Identifier 2349125 2349131 - IfStatement 2349155 2349443 - BinaryExpression 2349181 2349253 - BinaryExpression 2349181 2349228 - Identifier 2349181 2349189 - EqualsEqualsEqualsToken 2349189 2349193 - PropertyAccessExpression 2349193 2349228 - Identifier 2349193 2349204 - Identifier 2349205 2349228 - BarBarToken 2349228 2349231 - CallExpression 2349231 2349253 - Identifier 2349231 2349245 - Identifier 2349246 2349252 - Block 2349254 2349443 - ExpressionStatement 2349256 2349420 - CallExpression 2349256 2349419 - Identifier 2349256 2349340 - PropertyAccessExpression 2349341 2349350 - Identifier 2349341 2349345 - Identifier 2349346 2349350 - Identifier 2349351 2349360 - ConditionalExpression 2349361 2349418 - CallExpression 2349361 2349383 - Identifier 2349361 2349375 - Identifier 2349376 2349382 - QuestionToken 2349383 2349385 - PropertyAccessExpression 2349385 2349406 - Identifier 2349385 2349392 - Identifier 2349393 2349406 - ColonToken 2349406 2349408 - Identifier 2349408 2349418 - IfStatement 2349443 2349597 - CallExpression 2349469 2349502 - Identifier 2349469 2349492 - Identifier 2349493 2349501 - Block 2349503 2349597 - ExpressionStatement 2349505 2349574 - CallExpression 2349505 2349573 - Identifier 2349505 2349552 - Identifier 2349553 2349561 - PropertyAccessExpression 2349562 2349572 - Identifier 2349562 2349567 - Identifier 2349568 2349572 - FunctionDeclaration 2349642 2349851 - Identifier 2349662 2349670 - Parameter 2349671 2349688 - Identifier 2349671 2349676 - TypeReference 2349677 2349688 - Identifier 2349677 2349688 - Parameter 2349689 2349705 - Identifier 2349689 2349695 - TypeReference 2349696 2349705 - Identifier 2349696 2349705 - Parameter 2349706 2349730 - Identifier 2349706 2349712 - TypeReference 2349713 2349730 - Identifier 2349713 2349730 - Block 2349731 2349851 - IfStatement 2349733 2349840 - PrefixUnaryExpression 2349751 2349762 - PropertyAccessExpression 2349752 2349762 - Identifier 2349752 2349757 - Identifier 2349758 2349762 - Block 2349763 2349840 - ReturnStatement 2349765 2349825 - CallExpression 2349789 2349824 - Identifier 2349789 2349810 - Identifier 2349811 2349816 - Identifier 2349817 2349823 - FunctionDeclaration 2349851 2350688 - Identifier 2349871 2349878 - Parameter 2349879 2349901 - Identifier 2349879 2349883 - TypeReference 2349884 2349901 - Identifier 2349884 2349901 - Parameter 2349902 2349918 - Identifier 2349902 2349908 - TypeReference 2349909 2349918 - Identifier 2349909 2349918 - UnionType 2349920 2349937 - TypeReference 2349920 2349925 - Identifier 2349920 2349925 - UndefinedKeyword 2349927 2349937 - Block 2349937 2350688 - VariableStatement 2349939 2349982 - VariableDeclarationList 2349939 2349981 - VariableDeclaration 2349956 2349981 - Identifier 2349956 2349963 - UnionType 2349964 2349981 - TypeReference 2349964 2349969 - Identifier 2349964 2349969 - UndefinedKeyword 2349971 2349981 - IfStatement 2349982 2350473 - PropertyAccessExpression 2350000 2350010 - Identifier 2350000 2350005 - Identifier 2350006 2350010 - Block 2350011 2350076 - ExpressionStatement 2350013 2350061 - BinaryExpression 2350013 2350060 - Identifier 2350013 2350037 - EqualsToken 2350037 2350039 - CallExpression 2350039 2350060 - Identifier 2350039 2350053 - Identifier 2350054 2350059 - Block 2350094 2350473 - VariableStatement 2350096 2350150 - VariableDeclarationList 2350096 2350149 - VariableDeclaration 2350119 2350149 - Identifier 2350119 2350128 - CallExpression 2350130 2350149 - Identifier 2350130 2350142 - Identifier 2350143 2350148 - ExpressionStatement 2350150 2350200 - CallExpression 2350150 2350199 - PropertyAccessExpression 2350150 2350189 - Identifier 2350150 2350173 - Identifier 2350174 2350189 - Identifier 2350190 2350198 - VariableStatement 2350200 2350259 - VariableDeclarationList 2350200 2350258 - VariableDeclaration 2350225 2350258 - Identifier 2350225 2350235 - CallExpression 2350237 2350258 - Identifier 2350237 2350251 - Identifier 2350252 2350257 - ExpressionStatement 2350259 2350310 - CallExpression 2350259 2350309 - PropertyAccessExpression 2350259 2350298 - Identifier 2350259 2350282 - Identifier 2350283 2350298 - Identifier 2350299 2350308 - ExpressionStatement 2350310 2350458 - BinaryExpression 2350310 2350457 - Identifier 2350310 2350336 - EqualsToken 2350336 2350338 - CallExpression 2350338 2350457 - Identifier 2350338 2350370 - PropertyAccessExpression 2350371 2350380 - Identifier 2350371 2350375 - Identifier 2350376 2350380 - PropertyAccessExpression 2350381 2350400 - Identifier 2350381 2350386 - Identifier 2350387 2350400 - PropertyAccessExpression 2350401 2350412 - Identifier 2350401 2350406 - Identifier 2350407 2350412 - Identifier 2350413 2350422 - Identifier 2350423 2350433 - PropertyAccessExpression 2350434 2350450 - Identifier 2350434 2350440 - Identifier 2350441 2350450 - Identifier 2350451 2350456 - ExpressionStatement 2350473 2350508 - BinaryExpression 2350473 2350507 - PropertyAccessExpression 2350473 2350499 - Identifier 2350473 2350494 - Identifier 2350495 2350499 - EqualsToken 2350499 2350501 - FalseKeyword 2350501 2350507 - ExpressionStatement 2350508 2350561 - CallExpression 2350508 2350560 - Identifier 2350508 2350533 - Identifier 2350534 2350539 - Identifier 2350540 2350559 - ExpressionStatement 2350561 2350616 - CallExpression 2350561 2350615 - Identifier 2350561 2350588 - Identifier 2350589 2350594 - Identifier 2350595 2350614 - ExpressionStatement 2350616 2350649 - PostfixUnaryExpression 2350616 2350648 - PropertyAccessExpression 2350616 2350646 - Identifier 2350616 2350635 - Identifier 2350636 2350646 - ReturnStatement 2350649 2350677 - Identifier 2350669 2350676 - FunctionDeclaration 2350688 2350869 - Identifier 2350708 2350718 - Parameter 2350719 2350734 - Identifier 2350719 2350724 - TypeReference 2350725 2350734 - Identifier 2350725 2350734 - Parameter 2350735 2350760 - Identifier 2350735 2350742 - UnionType 2350743 2350760 - TypeReference 2350743 2350748 - Identifier 2350743 2350748 - UndefinedKeyword 2350750 2350760 - Parameter 2350761 2350785 - Identifier 2350761 2350767 - UnionType 2350768 2350785 - LiteralType 2350768 2350775 - StringLiteral 2350768 2350775 - LiteralType 2350777 2350785 - StringLiteral 2350777 2350785 - Block 2350786 2350869 - ExpressionStatement 2350788 2350831 - CallExpression 2350788 2350830 - Identifier 2350788 2350815 - Identifier 2350816 2350821 - Identifier 2350822 2350829 - ReturnStatement 2350831 2350858 - Identifier 2350851 2350857 - FunctionDeclaration 2350869 2351153 - Identifier 2350889 2350910 - Parameter 2350911 2350926 - Identifier 2350911 2350916 - TypeReference 2350917 2350926 - Identifier 2350917 2350926 - Parameter 2350927 2350944 - Identifier 2350927 2350932 - TypeReference 2350933 2350944 - Identifier 2350933 2350944 - UnionType 2350946 2350975 - TypeReference 2350946 2350963 - Identifier 2350946 2350963 - UndefinedKeyword 2350965 2350975 - Block 2350975 2351153 - IfStatement 2350977 2351067 - CallExpression 2350995 2351019 - Identifier 2350995 2351013 - Identifier 2351014 2351018 - Block 2351020 2351067 - ReturnStatement 2351022 2351052 - Identifier 2351046 2351051 - ExpressionStatement 2351067 2351142 - CallExpression 2351067 2351141 - Identifier 2351067 2351094 - Identifier 2351095 2351100 - CallExpression 2351101 2351140 - Identifier 2351101 2351117 - Identifier 2351118 2351122 - PropertyAccessExpression 2351123 2351139 - Identifier 2351123 2351129 - Identifier 2351130 2351139 - FunctionDeclaration 2351153 2351270 - Identifier 2351173 2351185 - Parameter 2351186 2351201 - Identifier 2351186 2351191 - TypeReference 2351192 2351201 - Identifier 2351192 2351201 - Block 2351202 2351270 - ReturnStatement 2351204 2351259 - ElementAccessExpression 2351224 2351258 - PropertyAccessExpression 2351224 2351240 - Identifier 2351224 2351230 - Identifier 2351231 2351240 - PropertyAccessExpression 2351241 2351257 - Identifier 2351241 2351246 - Identifier 2351247 2351257 - FunctionDeclaration 2351270 2351411 - Identifier 2351290 2351302 - Parameter 2351303 2351318 - Identifier 2351303 2351308 - TypeReference 2351309 2351318 - Identifier 2351309 2351318 - Parameter 2351319 2351342 - Identifier 2351319 2351324 - UnionType 2351325 2351342 - TypeReference 2351325 2351330 - Identifier 2351325 2351330 - UndefinedKeyword 2351332 2351342 - Block 2351343 2351411 - ExpressionStatement 2351345 2351400 - BinaryExpression 2351345 2351399 - ElementAccessExpression 2351345 2351392 - PropertyAccessExpression 2351345 2351374 - Identifier 2351345 2351364 - Identifier 2351365 2351374 - PropertyAccessExpression 2351375 2351391 - Identifier 2351375 2351380 - Identifier 2351381 2351391 - EqualsToken 2351392 2351394 - Identifier 2351394 2351399 - FunctionDeclaration 2351411 2351534 - Identifier 2351431 2351445 - Parameter 2351446 2351461 - Identifier 2351446 2351451 - TypeReference 2351452 2351461 - Identifier 2351452 2351461 - Block 2351462 2351534 - ReturnStatement 2351464 2351523 - ElementAccessExpression 2351484 2351522 - PropertyAccessExpression 2351484 2351500 - Identifier 2351484 2351490 - Identifier 2351491 2351500 - BinaryExpression 2351501 2351521 - PropertyAccessExpression 2351501 2351517 - Identifier 2351501 2351506 - Identifier 2351507 2351517 - PlusToken 2351517 2351519 - NumericLiteral 2351519 2351521 - FunctionDeclaration 2351534 2351944 - Identifier 2351554 2351568 - Parameter 2351569 2351584 - Identifier 2351569 2351574 - TypeReference 2351575 2351584 - Identifier 2351575 2351584 - Parameter 2351585 2351608 - Identifier 2351585 2351590 - UnionType 2351591 2351608 - TypeReference 2351591 2351596 - Identifier 2351591 2351596 - UndefinedKeyword 2351598 2351608 - Block 2351609 2351944 - ExpressionStatement 2351611 2351933 - BinaryExpression 2351611 2351932 - ElementAccessExpression 2351611 2351925 - PropertyAccessExpression 2351611 2351903 - Identifier 2351611 2351893 - Identifier 2351894 2351903 - BinaryExpression 2351904 2351924 - PropertyAccessExpression 2351904 2351920 - Identifier 2351904 2351909 - Identifier 2351910 2351920 - PlusToken 2351920 2351922 - NumericLiteral 2351922 2351924 - EqualsToken 2351925 2351927 - Identifier 2351927 2351932 - FunctionDeclaration 2351951 2353016 - Identifier 2351967 2351996 - Parameter 2351997 2352019 - Identifier 2351997 2352001 - TypeReference 2352002 2352019 - Identifier 2352002 2352019 - Block 2352020 2353016 - VariableStatement 2352022 2352076 - VariableDeclarationList 2352022 2352075 - VariableDeclaration 2352037 2352075 - ObjectBindingPattern 2352037 2352068 - BindingElement 2352039 2352044 - Identifier 2352039 2352044 - BindingElement 2352045 2352059 - Identifier 2352045 2352059 - BindingElement 2352060 2352066 - Identifier 2352060 2352066 - Identifier 2352070 2352075 - IfStatement 2352076 2353009 - BinaryExpression 2352090 2352145 - PropertyAccessExpression 2352090 2352108 - Identifier 2352090 2352103 - Identifier 2352104 2352108 - EqualsEqualsEqualsToken 2352108 2352112 - PropertyAccessExpression 2352112 2352145 - Identifier 2352112 2352123 - Identifier 2352124 2352145 - Block 2352146 2353009 - IfStatement 2352148 2352517 - BinaryExpression 2352166 2352312 - CallExpression 2352166 2352190 - Identifier 2352166 2352184 - Identifier 2352185 2352189 - AmpersandAmpersandToken 2352190 2352193 - ParenthesizedExpression 2352193 2352312 - BinaryExpression 2352195 2352311 - BinaryExpression 2352195 2352245 - PropertyAccessExpression 2352195 2352218 - PropertyAccessExpression 2352195 2352213 - Identifier 2352195 2352199 - Identifier 2352200 2352213 - Identifier 2352214 2352218 - EqualsEqualsEqualsToken 2352218 2352222 - PropertyAccessExpression 2352222 2352245 - Identifier 2352222 2352233 - Identifier 2352234 2352245 - BarBarToken 2352245 2352248 - BinaryExpression 2352248 2352311 - PropertyAccessExpression 2352248 2352272 - PropertyAccessExpression 2352248 2352267 - Identifier 2352248 2352253 - Identifier 2352254 2352267 - Identifier 2352268 2352272 - EqualsEqualsEqualsToken 2352272 2352276 - PropertyAccessExpression 2352276 2352311 - Identifier 2352276 2352287 - Identifier 2352288 2352311 - Block 2352313 2352517 - ExpressionStatement 2352315 2352502 - CallExpression 2352315 2352501 - Identifier 2352315 2352351 - Identifier 2352352 2352356 - PropertyAccessExpression 2352357 2352425 - Identifier 2352357 2352369 - Identifier 2352370 2352425 - CallExpression 2352426 2352465 - Identifier 2352426 2352440 - PropertyAccessExpression 2352441 2352464 - PropertyAccessExpression 2352441 2352459 - Identifier 2352441 2352445 - Identifier 2352446 2352459 - Identifier 2352460 2352464 - CallExpression 2352466 2352500 - Identifier 2352466 2352480 - PropertyAccessExpression 2352481 2352499 - Identifier 2352481 2352494 - Identifier 2352495 2352499 - IfStatement 2352517 2352891 - BinaryExpression 2352535 2352684 - CallExpression 2352535 2352560 - Identifier 2352535 2352553 - Identifier 2352554 2352559 - AmpersandAmpersandToken 2352560 2352563 - ParenthesizedExpression 2352563 2352684 - BinaryExpression 2352565 2352683 - BinaryExpression 2352565 2352616 - PropertyAccessExpression 2352565 2352589 - PropertyAccessExpression 2352565 2352584 - Identifier 2352565 2352570 - Identifier 2352571 2352584 - Identifier 2352585 2352589 - EqualsEqualsEqualsToken 2352589 2352593 - PropertyAccessExpression 2352593 2352616 - Identifier 2352593 2352604 - Identifier 2352605 2352616 - BarBarToken 2352616 2352619 - BinaryExpression 2352619 2352683 - PropertyAccessExpression 2352619 2352644 - PropertyAccessExpression 2352619 2352639 - Identifier 2352619 2352625 - Identifier 2352626 2352639 - Identifier 2352640 2352644 - EqualsEqualsEqualsToken 2352644 2352648 - PropertyAccessExpression 2352648 2352683 - Identifier 2352648 2352659 - Identifier 2352660 2352683 - Block 2352685 2352891 - ExpressionStatement 2352687 2352876 - CallExpression 2352687 2352875 - Identifier 2352687 2352723 - Identifier 2352724 2352729 - PropertyAccessExpression 2352730 2352798 - Identifier 2352730 2352742 - Identifier 2352743 2352798 - CallExpression 2352799 2352839 - Identifier 2352799 2352813 - PropertyAccessExpression 2352814 2352838 - PropertyAccessExpression 2352814 2352833 - Identifier 2352814 2352819 - Identifier 2352820 2352833 - Identifier 2352834 2352838 - CallExpression 2352840 2352874 - Identifier 2352840 2352854 - PropertyAccessExpression 2352855 2352873 - Identifier 2352855 2352868 - Identifier 2352869 2352873 - ExpressionStatement 2352891 2352945 - CallExpression 2352891 2352944 - Identifier 2352891 2352938 - Identifier 2352939 2352943 - ExpressionStatement 2352945 2352998 - CallExpression 2352945 2352997 - Identifier 2352945 2352991 - Identifier 2352992 2352996 - FunctionDeclaration 2353016 2353666 - Identifier 2353032 2353064 - Parameter 2353065 2353087 - Identifier 2353065 2353069 - TypeReference 2353070 2353087 - Identifier 2353070 2353087 - Block 2353088 2353666 - VariableStatement 2353090 2353177 - VariableDeclarationList 2353090 2353176 - VariableDeclaration 2353105 2353176 - Identifier 2353105 2353116 - CallExpression 2353118 2353176 - Identifier 2353118 2353139 - PropertyAccessExpression 2353140 2353149 - Identifier 2353140 2353144 - Identifier 2353145 2353149 - PropertyAccessExpression 2353150 2353175 - Identifier 2353150 2353171 - Identifier 2353172 2353175 - VariableStatement 2353177 2353259 - VariableDeclarationList 2353177 2353258 - VariableDeclaration 2353194 2353258 - Identifier 2353194 2353211 - CallExpression 2353213 2353258 - Identifier 2353213 2353246 - Identifier 2353247 2353257 - IfStatement 2353259 2353659 - BinaryExpression 2353273 2353322 - Identifier 2353273 2353289 - ExclamationEqualsEqualsToken 2353289 2353293 - PropertyAccessExpression 2353293 2353322 - Identifier 2353293 2353312 - Identifier 2353313 2353322 - Block 2353323 2353659 - IfStatement 2353325 2353648 - BinaryExpression 2353343 2353389 - Identifier 2353343 2353359 - EqualsEqualsEqualsToken 2353359 2353363 - PropertyAccessExpression 2353363 2353389 - Identifier 2353363 2353382 - Identifier 2353383 2353389 - Block 2353390 2353490 - ExpressionStatement 2353392 2353475 - CallExpression 2353392 2353474 - Identifier 2353392 2353415 - Identifier 2353416 2353426 - PropertyAccessExpression 2353427 2353473 - Identifier 2353427 2353439 - Identifier 2353440 2353473 - Block 2353508 2353648 - ExpressionStatement 2353510 2353633 - CallExpression 2353510 2353632 - Identifier 2353510 2353533 - Identifier 2353534 2353544 - PropertyAccessExpression 2353545 2353631 - Identifier 2353545 2353557 - Identifier 2353558 2353631 - FunctionDeclaration 2353666 2354322 - Identifier 2353682 2353715 - Parameter 2353716 2353738 - Identifier 2353716 2353720 - TypeReference 2353721 2353738 - Identifier 2353721 2353738 - Block 2353739 2354322 - VariableStatement 2353741 2353830 - VariableDeclarationList 2353741 2353829 - VariableDeclaration 2353756 2353829 - Identifier 2353756 2353768 - CallExpression 2353770 2353829 - Identifier 2353770 2353791 - PropertyAccessExpression 2353792 2353802 - Identifier 2353792 2353796 - Identifier 2353797 2353802 - PropertyAccessExpression 2353803 2353828 - Identifier 2353803 2353824 - Identifier 2353825 2353828 - VariableStatement 2353830 2353911 - VariableDeclarationList 2353830 2353910 - VariableDeclaration 2353845 2353910 - Identifier 2353845 2353862 - CallExpression 2353864 2353910 - Identifier 2353864 2353897 - Identifier 2353898 2353909 - IfStatement 2353911 2354002 - CallExpression 2353925 2353967 - Identifier 2353925 2353961 - Identifier 2353962 2353966 - Block 2353968 2354002 - ReturnStatement 2353970 2353991 - IfStatement 2354002 2354315 - BinaryExpression 2354018 2354064 - Identifier 2354018 2354034 - EqualsEqualsEqualsToken 2354034 2354038 - PropertyAccessExpression 2354038 2354064 - Identifier 2354038 2354057 - Identifier 2354058 2354064 - Block 2354065 2354158 - ExpressionStatement 2354067 2354147 - CallExpression 2354067 2354146 - Identifier 2354067 2354086 - Identifier 2354087 2354098 - PropertyAccessExpression 2354099 2354145 - Identifier 2354099 2354111 - Identifier 2354112 2354145 - IfStatement 2354172 2354315 - BinaryExpression 2354177 2354222 - Identifier 2354177 2354193 - EqualsEqualsEqualsToken 2354193 2354197 - PropertyAccessExpression 2354197 2354222 - Identifier 2354197 2354216 - Identifier 2354217 2354222 - Block 2354223 2354315 - ExpressionStatement 2354225 2354304 - CallExpression 2354225 2354303 - Identifier 2354225 2354244 - Identifier 2354245 2354256 - PropertyAccessExpression 2354257 2354302 - Identifier 2354257 2354269 - Identifier 2354270 2354302 - FunctionDeclaration 2354322 2354529 - Identifier 2354338 2354375 - Parameter 2354376 2354398 - Identifier 2354376 2354380 - TypeReference 2354381 2354398 - Identifier 2354381 2354398 - Block 2354399 2354529 - ReturnStatement 2354401 2354522 - BinaryExpression 2354417 2354521 - PrefixUnaryExpression 2354417 2354450 - CallExpression 2354419 2354450 - Identifier 2354419 2354437 - PropertyAccessExpression 2354438 2354449 - Identifier 2354438 2354442 - Identifier 2354443 2354449 - BarBarToken 2354450 2354453 - BinaryExpression 2354453 2354521 - PropertyAccessExpression 2354453 2354484 - PropertyAccessExpression 2354453 2354479 - PropertyAccessExpression 2354453 2354465 - Identifier 2354453 2354458 - Identifier 2354459 2354465 - Identifier 2354466 2354479 - Identifier 2354480 2354484 - ExclamationEqualsEqualsToken 2354484 2354488 - PropertyAccessExpression 2354488 2354521 - Identifier 2354488 2354499 - Identifier 2354500 2354521 - FunctionDeclaration 2354529 2356731 - Identifier 2354545 2354578 - Parameter 2354579 2354589 - Identifier 2354579 2354583 - TypeReference 2354584 2354589 - Identifier 2354584 2354589 - TypeReference 2354591 2354610 - Identifier 2354591 2354610 - Block 2354610 2356731 - ExpressionStatement 2354612 2354656 - BinaryExpression 2354612 2354655 - Identifier 2354612 2354626 - EqualsToken 2354626 2354628 - CallExpression 2354628 2354655 - Identifier 2354628 2354649 - Identifier 2354650 2354654 - SwitchStatement 2354656 2356682 - PropertyAccessExpression 2354674 2354683 - Identifier 2354674 2354678 - Identifier 2354679 2354683 - CaseBlock 2354684 2356682 - CaseClause 2354686 2354732 - PropertyAccessExpression 2354704 2354731 - Identifier 2354704 2354715 - Identifier 2354716 2354731 - CaseClause 2354732 2354777 - PropertyAccessExpression 2354750 2354776 - Identifier 2354750 2354761 - Identifier 2354762 2354776 - CaseClause 2354777 2354832 - PropertyAccessExpression 2354795 2354831 - Identifier 2354795 2354806 - Identifier 2354807 2354831 - CaseClause 2354832 2354886 - PropertyAccessExpression 2354850 2354885 - Identifier 2354850 2354861 - Identifier 2354862 2354885 - CaseClause 2354886 2354929 - PropertyAccessExpression 2354904 2354928 - Identifier 2354904 2354915 - Identifier 2354916 2354928 - CaseClause 2354929 2354973 - PropertyAccessExpression 2354947 2354972 - Identifier 2354947 2354958 - Identifier 2354959 2354972 - CaseClause 2354973 2355028 - PropertyAccessExpression 2354991 2355027 - Identifier 2354991 2355002 - Identifier 2355003 2355027 - CaseClause 2355028 2355074 - PropertyAccessExpression 2355046 2355073 - Identifier 2355046 2355057 - Identifier 2355058 2355073 - CaseClause 2355074 2355170 - PropertyAccessExpression 2355092 2355115 - Identifier 2355092 2355103 - Identifier 2355104 2355115 - ReturnStatement 2355116 2355170 - PropertyAccessExpression 2355140 2355169 - Identifier 2355140 2355159 - Identifier 2355160 2355169 - CaseClause 2355170 2356097 - PropertyAccessExpression 2355188 2355216 - Identifier 2355188 2355199 - Identifier 2355200 2355216 - SwitchStatement 2355217 2356047 - PropertyAccessExpression 2355357 2355402 - PropertyAccessExpression 2355357 2355397 - ParenthesizedExpression 2355357 2355383 - AsExpression 2355358 2355382 - Identifier 2355358 2355362 - TypeReference 2355365 2355382 - Identifier 2355365 2355382 - Identifier 2355384 2355397 - Identifier 2355398 2355402 - CaseBlock 2355403 2356047 - CaseClause 2355405 2355455 - PropertyAccessExpression 2355431 2355454 - Identifier 2355431 2355442 - Identifier 2355443 2355454 - CaseClause 2355455 2355515 - PropertyAccessExpression 2355481 2355514 - Identifier 2355481 2355492 - Identifier 2355493 2355514 - CaseClause 2355515 2355581 - PropertyAccessExpression 2355541 2355580 - Identifier 2355541 2355552 - Identifier 2355553 2355580 - CaseClause 2355581 2355631 - PropertyAccessExpression 2355607 2355630 - Identifier 2355607 2355618 - Identifier 2355619 2355630 - CaseClause 2355631 2355687 - PropertyAccessExpression 2355657 2355686 - Identifier 2355657 2355668 - Identifier 2355669 2355686 - CaseClause 2355687 2355749 - PropertyAccessExpression 2355713 2355748 - Identifier 2355713 2355724 - Identifier 2355725 2355748 - CaseClause 2355749 2355879 - PropertyAccessExpression 2355775 2355816 - Identifier 2355775 2355786 - Identifier 2355787 2355816 - ReturnStatement 2355817 2355879 - PropertyAccessExpression 2355849 2355878 - Identifier 2355849 2355868 - Identifier 2355869 2355878 - CaseClause 2355879 2356028 - PropertyAccessExpression 2355905 2355927 - Identifier 2355905 2355916 - Identifier 2355917 2355927 - ReturnStatement 2355928 2356028 - CallExpression 2355960 2356027 - Identifier 2355960 2355993 - PropertyAccessExpression 2355994 2356026 - ParenthesizedExpression 2355994 2356020 - AsExpression 2355995 2356019 - Identifier 2355995 2355999 - TypeReference 2356002 2356019 - Identifier 2356002 2356019 - Identifier 2356021 2356026 - ReturnStatement 2356047 2356097 - PropertyAccessExpression 2356071 2356096 - Identifier 2356071 2356090 - Identifier 2356091 2356096 - CaseClause 2356097 2356327 - PropertyAccessExpression 2356115 2356148 - Identifier 2356115 2356126 - Identifier 2356127 2356148 - ReturnStatement 2356149 2356327 - BinaryExpression 2356173 2356326 - CallExpression 2356173 2356248 - Identifier 2356173 2356206 - PropertyAccessExpression 2356207 2356247 - ParenthesizedExpression 2356207 2356238 - AsExpression 2356208 2356237 - Identifier 2356208 2356212 - TypeReference 2356215 2356237 - Identifier 2356215 2356237 - Identifier 2356239 2356247 - BarToken 2356248 2356250 - CallExpression 2356250 2356326 - Identifier 2356250 2356283 - PropertyAccessExpression 2356284 2356325 - ParenthesizedExpression 2356284 2356315 - AsExpression 2356285 2356314 - Identifier 2356285 2356289 - TypeReference 2356292 2356314 - Identifier 2356292 2356314 - Identifier 2356316 2356325 - CaseClause 2356327 2356420 - PropertyAccessExpression 2356345 2356368 - Identifier 2356345 2356356 - Identifier 2356357 2356368 - ReturnStatement 2356369 2356420 - PropertyAccessExpression 2356393 2356419 - Identifier 2356393 2356412 - Identifier 2356413 2356419 - CaseClause 2356420 2356671 - PropertyAccessExpression 2356438 2356460 - Identifier 2356438 2356449 - Identifier 2356450 2356460 - IfStatement 2356461 2356617 - BinaryExpression 2356483 2356540 - CallExpression 2356483 2356520 - Identifier 2356483 2356500 - AsExpression 2356501 2356519 - Identifier 2356501 2356505 - TypeReference 2356508 2356519 - Identifier 2356508 2356519 - EqualsEqualsEqualsToken 2356520 2356524 - Identifier 2356524 2356540 - Block 2356541 2356617 - ReturnStatement 2356543 2356598 - PropertyAccessExpression 2356571 2356597 - Identifier 2356571 2356590 - Identifier 2356591 2356597 - ReturnStatement 2356617 2356671 - PropertyAccessExpression 2356641 2356670 - Identifier 2356641 2356660 - Identifier 2356661 2356670 - ReturnStatement 2356682 2356724 - PropertyAccessExpression 2356698 2356723 - Identifier 2356698 2356717 - Identifier 2356718 2356723 - FunctionDeclaration 2356731 2357921 - Identifier 2356984 2357010 - Parameter 2357011 2357027 - Identifier 2357011 2357015 - TypeReference 2357016 2357027 - Identifier 2357016 2357027 - Parameter 2357028 2357063 - Identifier 2357028 2357042 - TypeReference 2357043 2357063 - Identifier 2357043 2357063 - Parameter 2357064 2357082 - Identifier 2357064 2357070 - TypeReference 2357071 2357082 - Identifier 2357071 2357082 - Parameter 2357083 2357105 - Identifier 2357083 2357093 - QuestionToken 2357093 2357094 - TypeReference 2357095 2357105 - Identifier 2357095 2357105 - Parameter 2357106 2357123 - Identifier 2357106 2357116 - QuestionToken 2357116 2357117 - TypeReference 2357118 2357123 - Identifier 2357118 2357123 - TypeReference 2357125 2357130 - Identifier 2357125 2357130 - Block 2357130 2357921 - VariableStatement 2357132 2357178 - VariableDeclarationList 2357132 2357177 - VariableDeclaration 2357147 2357177 - Identifier 2357147 2357156 - PropertyAccessExpression 2357158 2357177 - Identifier 2357158 2357172 - Identifier 2357173 2357177 - IfStatement 2357178 2357487 - BinaryExpression 2357192 2357332 - BinaryExpression 2357192 2357227 - Identifier 2357192 2357200 - EqualsEqualsEqualsToken 2357200 2357204 - PropertyAccessExpression 2357204 2357227 - Identifier 2357204 2357215 - Identifier 2357216 2357227 - AmpersandAmpersandToken 2357227 2357230 - ParenthesizedExpression 2357230 2357332 - BinaryExpression 2357232 2357331 - BinaryExpression 2357232 2357280 - PropertyAccessExpression 2357232 2357241 - Identifier 2357232 2357236 - Identifier 2357237 2357241 - EqualsEqualsEqualsToken 2357241 2357245 - PropertyAccessExpression 2357245 2357280 - Identifier 2357245 2357256 - Identifier 2357257 2357280 - BarBarToken 2357280 2357283 - BinaryExpression 2357283 2357331 - PropertyAccessExpression 2357283 2357293 - Identifier 2357283 2357288 - Identifier 2357289 2357293 - EqualsEqualsEqualsToken 2357293 2357297 - PropertyAccessExpression 2357297 2357331 - Identifier 2357297 2357308 - Identifier 2357309 2357331 - Block 2357333 2357487 - ReturnStatement 2357335 2357476 - CallExpression 2357355 2357475 - Identifier 2357355 2357384 - Identifier 2357385 2357389 - CallExpression 2357390 2357424 - Identifier 2357390 2357406 - Identifier 2357407 2357412 - Identifier 2357413 2357423 - Identifier 2357425 2357435 - BinaryExpression 2357436 2357474 - PropertyAccessExpression 2357436 2357447 - Identifier 2357436 2357442 - Identifier 2357443 2357447 - EqualsEqualsEqualsToken 2357447 2357451 - PropertyAccessExpression 2357451 2357474 - Identifier 2357451 2357462 - Identifier 2357463 2357474 - VariableStatement 2357487 2357516 - VariableDeclarationList 2357487 2357515 - VariableDeclaration 2357500 2357515 - Identifier 2357500 2357509 - TypeReference 2357510 2357515 - Identifier 2357510 2357515 - IfStatement 2357516 2357730 - CallExpression 2357530 2357563 - Identifier 2357530 2357553 - Identifier 2357554 2357562 - Block 2357564 2357645 - ExpressionStatement 2357566 2357634 - BinaryExpression 2357566 2357633 - Identifier 2357566 2357588 - EqualsToken 2357588 2357590 - CallExpression 2357590 2357633 - Identifier 2357590 2357616 - Identifier 2357617 2357621 - Identifier 2357622 2357632 - Block 2357659 2357730 - ExpressionStatement 2357661 2357719 - BinaryExpression 2357661 2357718 - Identifier 2357661 2357683 - EqualsToken 2357683 2357685 - CallExpression 2357685 2357718 - Identifier 2357685 2357701 - Identifier 2357702 2357706 - Identifier 2357707 2357717 - VariableStatement 2357730 2357794 - VariableDeclarationList 2357730 2357793 - VariableDeclaration 2357747 2357793 - Identifier 2357747 2357757 - CallExpression 2357759 2357793 - Identifier 2357759 2357775 - Identifier 2357776 2357781 - Identifier 2357782 2357792 - ReturnStatement 2357794 2357914 - CallExpression 2357810 2357913 - Identifier 2357810 2357842 - Identifier 2357843 2357847 - Identifier 2357848 2357862 - Identifier 2357863 2357869 - Identifier 2357870 2357879 - Identifier 2357880 2357890 - Identifier 2357891 2357901 - Identifier 2357902 2357912 - FunctionDeclaration 2357921 2385763 - Identifier 2357937 2357969 - Parameter 2357970 2357996 - Identifier 2357970 2357984 - TypeReference 2357985 2357996 - Identifier 2357985 2357996 - Parameter 2357997 2358041 - Identifier 2357997 2358020 - TypeReference 2358021 2358041 - Identifier 2358021 2358041 - Parameter 2358042 2358069 - Identifier 2358042 2358057 - TypeReference 2358058 2358069 - Identifier 2358058 2358069 - Parameter 2358070 2358094 - Identifier 2358070 2358088 - TypeReference 2358089 2358094 - Identifier 2358089 2358094 - Parameter 2358095 2358120 - Identifier 2358095 2358114 - TypeReference 2358115 2358120 - Identifier 2358115 2358120 - Parameter 2358121 2358152 - Identifier 2358121 2358140 - QuestionToken 2358140 2358141 - TypeReference 2358142 2358152 - Identifier 2358142 2358152 - Parameter 2358153 2358179 - Identifier 2358153 2358172 - QuestionToken 2358172 2358173 - TypeReference 2358174 2358179 - Identifier 2358174 2358179 - TypeReference 2358188 2358193 - Identifier 2358188 2358193 - Block 2358193 2385763 - VariableStatement 2358195 2358241 - VariableDeclarationList 2358195 2358240 - VariableDeclaration 2358210 2358240 - Identifier 2358210 2358219 - PropertyAccessExpression 2358221 2358240 - Identifier 2358221 2358235 - Identifier 2358236 2358240 - SwitchStatement 2358241 2374832 - Identifier 2358259 2358267 - CaseBlock 2358268 2374832 - CaseClause 2358270 2358314 - PropertyAccessExpression 2358288 2358313 - Identifier 2358288 2358299 - Identifier 2358300 2358313 - CaseClause 2358314 2358366 - PropertyAccessExpression 2358332 2358365 - Identifier 2358332 2358343 - Identifier 2358344 2358365 - CaseClause 2358366 2358416 - PropertyAccessExpression 2358384 2358415 - Identifier 2358384 2358395 - Identifier 2358396 2358415 - CaseClause 2358416 2358474 - PropertyAccessExpression 2358434 2358473 - Identifier 2358434 2358445 - Identifier 2358446 2358473 - CaseClause 2358474 2358515 - PropertyAccessExpression 2358492 2358514 - Identifier 2358492 2358503 - Identifier 2358504 2358514 - CaseClause 2358515 2358562 - PropertyAccessExpression 2358533 2358561 - Identifier 2358533 2358544 - Identifier 2358545 2358561 - CaseClause 2358562 2358605 - PropertyAccessExpression 2358580 2358604 - Identifier 2358580 2358591 - Identifier 2358592 2358604 - CaseClause 2358605 2358654 - PropertyAccessExpression 2358623 2358653 - Identifier 2358623 2358634 - Identifier 2358635 2358653 - CaseClause 2358654 2358695 - PropertyAccessExpression 2358672 2358694 - Identifier 2358672 2358683 - Identifier 2358684 2358694 - CaseClause 2358695 2358742 - PropertyAccessExpression 2358713 2358741 - Identifier 2358713 2358724 - Identifier 2358725 2358741 - CaseClause 2358742 2358794 - PropertyAccessExpression 2358760 2358793 - Identifier 2358760 2358771 - Identifier 2358772 2358793 - CaseClause 2358794 2358852 - PropertyAccessExpression 2358812 2358851 - Identifier 2358812 2358823 - Identifier 2358824 2358851 - CaseClause 2358852 2358910 - PropertyAccessExpression 2358870 2358909 - Identifier 2358870 2358881 - Identifier 2358882 2358909 - CaseClause 2358910 2358974 - PropertyAccessExpression 2358928 2358973 - Identifier 2358928 2358939 - Identifier 2358940 2358973 - CaseClause 2358974 2359043 - PropertyAccessExpression 2358992 2359042 - Identifier 2358992 2359003 - Identifier 2359004 2359042 - CaseClause 2359043 2359118 - PropertyAccessExpression 2359061 2359117 - Identifier 2359061 2359072 - Identifier 2359073 2359117 - CaseClause 2359118 2359157 - PropertyAccessExpression 2359136 2359156 - Identifier 2359136 2359147 - Identifier 2359148 2359156 - CaseClause 2359157 2359202 - PropertyAccessExpression 2359175 2359201 - Identifier 2359175 2359186 - Identifier 2359187 2359201 - CaseClause 2359202 2359243 - PropertyAccessExpression 2359220 2359242 - Identifier 2359220 2359231 - Identifier 2359232 2359242 - CaseClause 2359243 2359290 - PropertyAccessExpression 2359261 2359289 - Identifier 2359261 2359272 - Identifier 2359273 2359289 - CaseClause 2359290 2359335 - PropertyAccessExpression 2359308 2359334 - Identifier 2359308 2359319 - Identifier 2359320 2359334 - CaseClause 2359335 2364584 - PropertyAccessExpression 2359353 2359385 - Identifier 2359353 2359364 - Identifier 2359365 2359385 - IfStatement 2359386 2359536 - BinaryExpression 2359408 2359469 - BinaryExpression 2359408 2359436 - Identifier 2359408 2359416 - EqualsEqualsEqualsToken 2359416 2359420 - Identifier 2359420 2359436 - BarBarToken 2359436 2359439 - BinaryExpression 2359439 2359469 - Identifier 2359439 2359449 - EqualsEqualsEqualsToken 2359449 2359453 - Identifier 2359453 2359469 - Block 2359470 2359536 - ReturnStatement 2359472 2359517 - Identifier 2359500 2359516 - ExpressionStatement 2359536 2359600 - BinaryExpression 2359536 2359599 - Identifier 2359536 2359564 - EqualsToken 2359564 2359566 - CallExpression 2359566 2359599 - Identifier 2359566 2359583 - Identifier 2359584 2359592 - Identifier 2359593 2359598 - ExpressionStatement 2359600 2359665 - BinaryExpression 2359600 2359664 - Identifier 2359600 2359627 - EqualsToken 2359627 2359629 - CallExpression 2359629 2359664 - Identifier 2359629 2359646 - Identifier 2359647 2359656 - Identifier 2359657 2359663 - VariableStatement 2359665 2359742 - VariableDeclarationList 2359665 2359741 - VariableDeclaration 2359688 2359741 - Identifier 2359688 2359706 - UnionType 2359707 2359741 - TypeReference 2359707 2359729 - Identifier 2359707 2359729 - UndefinedKeyword 2359731 2359741 - IfStatement 2359742 2364584 - BinaryExpression 2359911 2360147 - BinaryExpression 2359911 2360039 - ParenthesizedExpression 2359911 2359973 - BinaryExpression 2359934 2359972 - PropertyAccessExpression 2359934 2359948 - Identifier 2359934 2359942 - Identifier 2359943 2359948 - AmpersandToken 2359948 2359950 - PropertyAccessExpression 2359950 2359972 - Identifier 2359950 2359960 - Identifier 2359961 2359972 - AmpersandAmpersandToken 2359973 2359976 - ParenthesizedExpression 2359976 2360039 - BinaryExpression 2359999 2360038 - PropertyAccessExpression 2359999 2360014 - Identifier 2359999 2360008 - Identifier 2360009 2360014 - AmpersandToken 2360014 2360016 - PropertyAccessExpression 2360016 2360038 - Identifier 2360016 2360026 - Identifier 2360027 2360038 - AmpersandAmpersandToken 2360039 2360042 - BinaryExpression 2360042 2360147 - ParenthesizedExpression 2360042 2360133 - BinaryExpression 2360065 2360132 - Identifier 2360065 2360082 - EqualsToken 2360082 2360084 - CallExpression 2360084 2360132 - Identifier 2360084 2360112 - PropertyAccessExpression 2360113 2360131 - Identifier 2360113 2360126 - Identifier 2360127 2360131 - ExclamationEqualsEqualsToken 2360133 2360137 - Identifier 2360137 2360147 - Block 2360166 2360438 - ExpressionStatement 2360168 2360379 - CallExpression 2360168 2360378 - Identifier 2360168 2360195 - BinaryExpression 2360196 2360222 - Identifier 2360196 2360205 - BarBarToken 2360205 2360208 - Identifier 2360208 2360222 - PropertyAccessExpression 2360223 2360308 - Identifier 2360223 2360235 - Identifier 2360236 2360308 - CallExpression 2360309 2360343 - Identifier 2360309 2360323 - PropertyAccessExpression 2360324 2360342 - Identifier 2360324 2360337 - Identifier 2360338 2360342 - CallExpression 2360344 2360377 - Identifier 2360344 2360358 - Identifier 2360359 2360376 - ReturnStatement 2360379 2360419 - Identifier 2360407 2360418 - Block 2360460 2364584 - VariableStatement 2360462 2360771 - VariableDeclarationList 2360462 2360770 - VariableDeclaration 2360586 2360770 - Identifier 2360586 2360593 - CallExpression 2360595 2360770 - Identifier 2360595 2360622 - Identifier 2360623 2360627 - Identifier 2360628 2360637 - PropertyAccessExpression 2360638 2360746 - Identifier 2360638 2360650 - Identifier 2360651 2360746 - TrueKeyword 2360747 2360769 - VariableStatement 2360771 2360987 - VariableDeclarationList 2360771 2360986 - VariableDeclaration 2360798 2360986 - Identifier 2360798 2360806 - CallExpression 2360808 2360986 - Identifier 2360808 2360835 - Identifier 2360836 2360841 - Identifier 2360842 2360852 - PropertyAccessExpression 2360853 2360962 - Identifier 2360853 2360865 - Identifier 2360866 2360962 - TrueKeyword 2360963 2360985 - VariableStatement 2360987 2361030 - VariableDeclarationList 2360987 2361029 - VariableDeclaration 2361012 2361029 - Identifier 2361012 2361023 - TypeReference 2361024 2361029 - Identifier 2361024 2361029 - IfStatement 2361030 2362884 - BinaryExpression 2361158 2361539 - ParenthesizedExpression 2361158 2361303 - BinaryExpression 2361185 2361302 - CallExpression 2361185 2361241 - Identifier 2361185 2361207 - Identifier 2361208 2361216 - PropertyAccessExpression 2361217 2361240 - Identifier 2361217 2361227 - Identifier 2361228 2361240 - AmpersandAmpersandToken 2361241 2361244 - CallExpression 2361244 2361302 - Identifier 2361244 2361267 - Identifier 2361268 2361277 - PropertyAccessExpression 2361278 2361301 - Identifier 2361278 2361288 - Identifier 2361289 2361301 - BarBarToken 2361303 2361306 - PrefixUnaryExpression 2361306 2361539 - ParenthesizedExpression 2361438 2361539 - BinaryExpression 2361439 2361538 - CallExpression 2361439 2361486 - Identifier 2361439 2361454 - Identifier 2361455 2361463 - PropertyAccessExpression 2361464 2361485 - Identifier 2361464 2361474 - Identifier 2361475 2361485 - BarBarToken 2361486 2361489 - CallExpression 2361489 2361538 - Identifier 2361489 2361505 - Identifier 2361506 2361515 - PropertyAccessExpression 2361516 2361537 - Identifier 2361516 2361526 - Identifier 2361527 2361537 - Block 2361562 2361637 - ExpressionStatement 2361564 2361614 - BinaryExpression 2361564 2361613 - Identifier 2361564 2361600 - EqualsToken 2361600 2361602 - Identifier 2361602 2361613 - IfStatement 2361748 2362884 - CallExpression 2361753 2361791 - Identifier 2361753 2361770 - Identifier 2361771 2361779 - Identifier 2361780 2361790 - Block 2361792 2362637 - SwitchStatement 2361794 2362564 - Identifier 2361828 2361836 - CaseBlock 2361837 2362564 - CaseClause 2361839 2361924 - PropertyAccessExpression 2361873 2361923 - Identifier 2361873 2361884 - Identifier 2361885 2361923 - CaseClause 2361924 2362111 - PropertyAccessExpression 2361958 2362014 - Identifier 2361958 2361969 - Identifier 2361970 2362014 - ExpressionStatement 2362015 2362071 - CallExpression 2362015 2362070 - Identifier 2362015 2362068 - BreakStatement 2362071 2362111 - CaseClause 2362111 2362179 - PropertyAccessExpression 2362145 2362178 - Identifier 2362145 2362156 - Identifier 2362157 2362178 - CaseClause 2362179 2362537 - PropertyAccessExpression 2362213 2362252 - Identifier 2362213 2362224 - Identifier 2362225 2362252 - IfStatement 2362253 2362537 - BinaryExpression 2362291 2362328 - Identifier 2362291 2362306 - LessThanToken 2362306 2362308 - PropertyAccessExpression 2362308 2362328 - Identifier 2362308 2362321 - Identifier 2362322 2362328 - Block 2362329 2362537 - ExpressionStatement 2362331 2362502 - CallExpression 2362331 2362501 - Identifier 2362331 2362374 - Identifier 2362375 2362384 - PropertyAccessExpression 2362385 2362500 - Identifier 2362385 2362397 - Identifier 2362398 2362500 - ExpressionStatement 2362564 2362614 - BinaryExpression 2362564 2362613 - Identifier 2362564 2362600 - EqualsToken 2362600 2362602 - Identifier 2362602 2362613 - Block 2362745 2362884 - ExpressionStatement 2362747 2362812 - CallExpression 2362747 2362811 - Identifier 2362747 2362792 - Identifier 2362793 2362810 - ExpressionStatement 2362812 2362861 - BinaryExpression 2362812 2362860 - Identifier 2362812 2362848 - EqualsToken 2362848 2362850 - Identifier 2362850 2362860 - IfStatement 2362884 2364525 - BinaryExpression 2362910 2362927 - Identifier 2362910 2362916 - AmpersandAmpersandToken 2362916 2362919 - Identifier 2362919 2362927 - Block 2362928 2364525 - ExpressionStatement 2362930 2362992 - CallExpression 2362930 2362991 - Identifier 2362930 2362979 - Identifier 2362980 2362990 - SwitchStatement 2362992 2364502 - Identifier 2363026 2363034 - CaseBlock 2363035 2364502 - CaseClause 2363037 2363105 - PropertyAccessExpression 2363071 2363104 - Identifier 2363071 2363082 - Identifier 2363083 2363104 - CaseClause 2363105 2363179 - PropertyAccessExpression 2363139 2363178 - Identifier 2363139 2363150 - Identifier 2363151 2363178 - CaseClause 2363179 2363253 - PropertyAccessExpression 2363213 2363252 - Identifier 2363213 2363224 - Identifier 2363225 2363252 - CaseClause 2363253 2363333 - PropertyAccessExpression 2363287 2363332 - Identifier 2363287 2363298 - Identifier 2363299 2363332 - CaseClause 2363333 2363418 - PropertyAccessExpression 2363367 2363417 - Identifier 2363367 2363378 - Identifier 2363379 2363417 - CaseClause 2363418 2364397 - PropertyAccessExpression 2363452 2363508 - Identifier 2363452 2363463 - Identifier 2363464 2363508 - VariableStatement 2363509 2363575 - VariableDeclarationList 2363509 2363574 - VariableDeclaration 2363548 2363574 - Identifier 2363548 2363556 - CallExpression 2363558 2363574 - Identifier 2363558 2363567 - Identifier 2363568 2363573 - IfStatement 2363575 2364357 - BinaryExpression 2363613 2363679 - BinaryExpression 2363613 2363646 - TypeOfExpression 2363613 2363633 - PropertyAccessExpression 2363619 2363633 - Identifier 2363619 2363627 - Identifier 2363628 2363633 - EqualsEqualsEqualsToken 2363633 2363637 - StringLiteral 2363637 2363646 - AmpersandAmpersandToken 2363646 2363649 - BinaryExpression 2363649 2363679 - CallExpression 2363649 2363673 - PropertyAccessExpression 2363649 2363658 - Identifier 2363649 2363654 - Identifier 2363655 2363658 - PropertyAccessExpression 2363659 2363672 - Identifier 2363659 2363666 - Identifier 2363667 2363672 - GreaterThanEqualsToken 2363673 2363676 - NumericLiteral 2363676 2363679 - Block 2363680 2364357 - ExpressionStatement 2363682 2364322 - CallExpression 2363682 2364321 - Identifier 2363682 2363737 - CallExpression 2363738 2363845 - Identifier 2363738 2363792 - CallExpression 2363793 2363844 - Identifier 2363793 2363823 - PropertyAccessExpression 2363824 2363843 - PropertyAccessExpression 2363824 2363836 - Identifier 2363824 2363829 - Identifier 2363830 2363836 - Identifier 2363837 2363843 - BinaryExpression 2363846 2363972 - Identifier 2363846 2363955 - BarBarToken 2363955 2363958 - Identifier 2363958 2363972 - PropertyAccessExpression 2363973 2364092 - Identifier 2363973 2364026 - Identifier 2364027 2364092 - CallExpression 2364093 2364154 - Identifier 2364093 2364148 - Identifier 2364149 2364153 - CallExpression 2364155 2364220 - Identifier 2364155 2364210 - Identifier 2364211 2364219 - BinaryExpression 2364221 2364281 - PropertyAccessExpression 2364221 2364276 - Identifier 2364221 2364270 - Identifier 2364271 2364276 - PercentToken 2364276 2364278 - NumericLiteral 2364278 2364281 - BreakStatement 2364357 2364397 - DefaultClause 2364397 2364475 - BreakStatement 2364435 2364475 - ReturnStatement 2364525 2364565 - Identifier 2364553 2364564 - CaseClause 2364584 2364624 - PropertyAccessExpression 2364602 2364623 - Identifier 2364602 2364613 - Identifier 2364614 2364623 - CaseClause 2364624 2367973 - PropertyAccessExpression 2364642 2364669 - Identifier 2364642 2364653 - Identifier 2364654 2364669 - IfStatement 2364670 2364820 - BinaryExpression 2364692 2364753 - BinaryExpression 2364692 2364720 - Identifier 2364692 2364700 - EqualsEqualsEqualsToken 2364700 2364704 - Identifier 2364704 2364720 - BarBarToken 2364720 2364723 - BinaryExpression 2364723 2364753 - Identifier 2364723 2364733 - EqualsEqualsEqualsToken 2364733 2364737 - Identifier 2364737 2364753 - Block 2364754 2364820 - ReturnStatement 2364756 2364801 - Identifier 2364784 2364800 - IfStatement 2364820 2365116 - BinaryExpression 2364844 2364959 - PrefixUnaryExpression 2364844 2364899 - CallExpression 2364845 2364899 - Identifier 2364845 2364867 - Identifier 2364868 2364876 - PropertyAccessExpression 2364877 2364898 - Identifier 2364877 2364887 - Identifier 2364888 2364898 - AmpersandAmpersandToken 2364899 2364902 - PrefixUnaryExpression 2364902 2364959 - CallExpression 2364904 2364959 - Identifier 2364904 2364926 - Identifier 2364927 2364936 - PropertyAccessExpression 2364937 2364958 - Identifier 2364937 2364947 - Identifier 2364948 2364958 - Block 2364960 2365116 - ExpressionStatement 2364962 2365028 - BinaryExpression 2364962 2365027 - Identifier 2364962 2364992 - EqualsToken 2364992 2364994 - CallExpression 2364994 2365027 - Identifier 2364994 2365011 - Identifier 2365012 2365020 - Identifier 2365021 2365026 - ExpressionStatement 2365028 2365097 - BinaryExpression 2365028 2365096 - Identifier 2365028 2365059 - EqualsToken 2365059 2365061 - CallExpression 2365061 2365096 - Identifier 2365061 2365078 - Identifier 2365079 2365088 - Identifier 2365089 2365095 - VariableStatement 2365116 2365169 - VariableDeclarationList 2365116 2365168 - VariableDeclaration 2365139 2365168 - Identifier 2365139 2365150 - UnionType 2365151 2365168 - TypeReference 2365151 2365156 - Identifier 2365151 2365156 - UndefinedKeyword 2365158 2365168 - IfStatement 2365169 2366732 - BinaryExpression 2365191 2365338 - CallExpression 2365191 2365262 - Identifier 2365191 2365213 - Identifier 2365214 2365222 - PropertyAccessExpression 2365223 2365244 - Identifier 2365223 2365233 - Identifier 2365234 2365244 - TrueKeyword 2365245 2365261 - AmpersandAmpersandToken 2365262 2365265 - CallExpression 2365265 2365338 - Identifier 2365265 2365288 - Identifier 2365289 2365298 - PropertyAccessExpression 2365299 2365320 - Identifier 2365299 2365309 - Identifier 2365310 2365320 - TrueKeyword 2365321 2365337 - Block 2365339 2365623 - ExpressionStatement 2365341 2365604 - BinaryExpression 2365341 2365603 - Identifier 2365341 2365590 - EqualsToken 2365590 2365592 - Identifier 2365592 2365603 - IfStatement 2365645 2366732 - BinaryExpression 2365650 2365797 - CallExpression 2365650 2365721 - Identifier 2365650 2365672 - Identifier 2365673 2365681 - PropertyAccessExpression 2365682 2365703 - Identifier 2365682 2365692 - Identifier 2365693 2365703 - TrueKeyword 2365704 2365720 - AmpersandAmpersandToken 2365721 2365724 - CallExpression 2365724 2365797 - Identifier 2365724 2365747 - Identifier 2365748 2365757 - PropertyAccessExpression 2365758 2365779 - Identifier 2365758 2365768 - Identifier 2365769 2365779 - TrueKeyword 2365780 2365796 - Block 2365798 2365984 - ExpressionStatement 2365800 2365965 - BinaryExpression 2365800 2365964 - Identifier 2365800 2365951 - EqualsToken 2365951 2365953 - Identifier 2365953 2365964 - IfStatement 2366006 2366732 - BinaryExpression 2366011 2366158 - CallExpression 2366011 2366082 - Identifier 2366011 2366033 - Identifier 2366034 2366042 - PropertyAccessExpression 2366043 2366064 - Identifier 2366043 2366053 - Identifier 2366054 2366064 - TrueKeyword 2366065 2366081 - BarBarToken 2366082 2366085 - CallExpression 2366085 2366158 - Identifier 2366085 2366108 - Identifier 2366109 2366118 - PropertyAccessExpression 2366119 2366140 - Identifier 2366119 2366129 - Identifier 2366130 2366140 - TrueKeyword 2366141 2366157 - Block 2366159 2366352 - ExpressionStatement 2366161 2366333 - BinaryExpression 2366161 2366332 - Identifier 2366161 2366319 - EqualsToken 2366319 2366321 - Identifier 2366321 2366332 - IfStatement 2366374 2366732 - BinaryExpression 2366379 2366422 - CallExpression 2366379 2366398 - Identifier 2366379 2366388 - Identifier 2366389 2366397 - BarBarToken 2366398 2366401 - CallExpression 2366401 2366422 - Identifier 2366401 2366411 - Identifier 2366412 2366421 - Block 2366423 2366732 - ExpressionStatement 2366425 2366713 - BinaryExpression 2366425 2366712 - Identifier 2366425 2366640 - EqualsToken 2366640 2366642 - ConditionalExpression 2366642 2366712 - BinaryExpression 2366642 2366690 - CallExpression 2366642 2366664 - Identifier 2366642 2366654 - Identifier 2366655 2366663 - BarBarToken 2366664 2366667 - CallExpression 2366667 2366690 - Identifier 2366667 2366679 - Identifier 2366680 2366689 - QuestionToken 2366690 2366692 - Identifier 2366692 2366702 - ColonToken 2366702 2366704 - Identifier 2366704 2366712 - IfStatement 2366732 2366953 - BinaryExpression 2366833 2366891 - Identifier 2366833 2366843 - AmpersandAmpersandToken 2366843 2366846 - PrefixUnaryExpression 2366846 2366891 - CallExpression 2366848 2366891 - Identifier 2366848 2366881 - Identifier 2366882 2366890 - Block 2366892 2366953 - ReturnStatement 2366894 2366934 - Identifier 2366922 2366933 - IfStatement 2366953 2367794 - PrefixUnaryExpression 2366977 2366988 - Identifier 2366978 2366988 - Block 2366989 2367794 - VariableStatement 2366991 2367510 - VariableDeclarationList 2366991 2367509 - VariableDeclaration 2367399 2367509 - Identifier 2367399 2367415 - BinaryExpression 2367417 2367509 - BinaryExpression 2367417 2367484 - BinaryExpression 2367417 2367461 - PropertyAccessExpression 2367417 2367438 - Identifier 2367417 2367427 - Identifier 2367428 2367438 - BarToken 2367438 2367440 - PropertyAccessExpression 2367440 2367461 - Identifier 2367440 2367450 - Identifier 2367451 2367461 - BarToken 2367461 2367463 - PropertyAccessExpression 2367463 2367484 - Identifier 2367463 2367473 - Identifier 2367474 2367484 - BarToken 2367484 2367486 - PropertyAccessExpression 2367486 2367509 - Identifier 2367486 2367496 - Identifier 2367497 2367509 - ExpressionStatement 2367510 2367738 - CallExpression 2367510 2367737 - Identifier 2367510 2367551 - ArrowFunction 2367552 2367714 - Parameter 2367553 2367557 - Identifier 2367553 2367557 - Parameter 2367558 2367564 - Identifier 2367558 2367564 - EqualsGreaterThanToken 2367565 2367568 - BinaryExpression 2367568 2367714 - CallExpression 2367568 2367639 - Identifier 2367568 2367616 - Identifier 2367617 2367621 - Identifier 2367622 2367638 - AmpersandAmpersandToken 2367639 2367642 - CallExpression 2367642 2367714 - Identifier 2367642 2367690 - Identifier 2367691 2367696 - Identifier 2367697 2367713 - ReturnStatement 2367738 2367775 - Identifier 2367766 2367774 - IfStatement 2367794 2367937 - BinaryExpression 2367818 2367857 - Identifier 2367818 2367826 - EqualsEqualsEqualsToken 2367826 2367830 - PropertyAccessExpression 2367830 2367857 - Identifier 2367830 2367841 - Identifier 2367842 2367857 - Block 2367858 2367937 - ExpressionStatement 2367860 2367918 - CallExpression 2367860 2367917 - Identifier 2367860 2367905 - Identifier 2367906 2367916 - ReturnStatement 2367937 2367973 - Identifier 2367961 2367972 - CaseClause 2367973 2368017 - PropertyAccessExpression 2367991 2368016 - Identifier 2367991 2368002 - Identifier 2368003 2368016 - CaseClause 2368017 2368064 - PropertyAccessExpression 2368035 2368063 - Identifier 2368035 2368046 - Identifier 2368047 2368063 - CaseClause 2368064 2368114 - PropertyAccessExpression 2368082 2368113 - Identifier 2368082 2368093 - Identifier 2368094 2368113 - CaseClause 2368114 2369140 - PropertyAccessExpression 2368132 2368166 - Identifier 2368132 2368143 - Identifier 2368144 2368166 - IfStatement 2368167 2369103 - CallExpression 2368189 2368232 - Identifier 2368189 2368222 - Identifier 2368223 2368231 - Block 2368233 2369103 - ExpressionStatement 2368235 2368340 - BinaryExpression 2368235 2368339 - Identifier 2368235 2368265 - EqualsToken 2368265 2368267 - CallExpression 2368267 2368339 - Identifier 2368267 2368305 - CallExpression 2368306 2368338 - Identifier 2368306 2368322 - Identifier 2368323 2368331 - Identifier 2368332 2368337 - ExpressionStatement 2368340 2368448 - BinaryExpression 2368340 2368447 - Identifier 2368340 2368371 - EqualsToken 2368371 2368373 - CallExpression 2368373 2368447 - Identifier 2368373 2368411 - CallExpression 2368412 2368446 - Identifier 2368412 2368428 - Identifier 2368429 2368438 - Identifier 2368439 2368445 - ExpressionStatement 2368448 2369084 - CallExpression 2368448 2369083 - Identifier 2368448 2368495 - ArrowFunction 2368496 2369082 - Parameter 2368497 2368501 - Identifier 2368497 2368501 - Parameter 2368502 2368508 - Identifier 2368502 2368508 - EqualsGreaterThanToken 2368509 2368512 - Block 2368512 2369082 - IfStatement 2368514 2368651 - BinaryExpression 2368544 2368579 - CallExpression 2368544 2368559 - Identifier 2368544 2368553 - Identifier 2368554 2368558 - BarBarToken 2368559 2368562 - CallExpression 2368562 2368579 - Identifier 2368562 2368572 - Identifier 2368573 2368578 - Block 2368580 2368651 - ReturnStatement 2368582 2368624 - TrueKeyword 2368618 2368623 - VariableStatement 2368651 2368753 - VariableDeclarationList 2368651 2368752 - VariableDeclaration 2368682 2368752 - Identifier 2368682 2368705 - CallExpression 2368707 2368752 - Identifier 2368707 2368726 - Identifier 2368727 2368731 - Identifier 2368732 2368751 - VariableStatement 2368753 2368857 - VariableDeclarationList 2368753 2368856 - VariableDeclaration 2368784 2368856 - Identifier 2368784 2368808 - CallExpression 2368810 2368856 - Identifier 2368810 2368829 - Identifier 2368830 2368835 - Identifier 2368836 2368855 - ReturnStatement 2368857 2369059 - BinaryExpression 2368889 2369058 - BinaryExpression 2368889 2368939 - Identifier 2368889 2368912 - AmpersandAmpersandToken 2368912 2368915 - Identifier 2368915 2368939 - BarBarToken 2368939 2368942 - BinaryExpression 2368942 2369058 - BinaryExpression 2368942 2369023 - PrefixUnaryExpression 2368942 2368995 - Identifier 2368973 2368995 - AmpersandAmpersandToken 2368995 2368998 - PrefixUnaryExpression 2368998 2369023 - Identifier 2369000 2369023 - AmpersandAmpersandToken 2369023 2369026 - CallExpression 2369026 2369058 - Identifier 2369026 2369045 - Identifier 2369046 2369050 - Identifier 2369051 2369057 - ReturnStatement 2369103 2369140 - Identifier 2369127 2369139 - CaseClause 2369140 2369188 - PropertyAccessExpression 2369158 2369187 - Identifier 2369158 2369169 - Identifier 2369170 2369187 - CaseClause 2369188 2369241 - PropertyAccessExpression 2369206 2369240 - Identifier 2369206 2369217 - Identifier 2369218 2369240 - CaseClause 2369241 2369295 - PropertyAccessExpression 2369259 2369294 - Identifier 2369259 2369270 - Identifier 2369271 2369294 - CaseClause 2369295 2370788 - PropertyAccessExpression 2369313 2369353 - Identifier 2369313 2369324 - Identifier 2369325 2369353 - IfStatement 2369354 2370751 - PrefixUnaryExpression 2369745 2369791 - ParenthesizedExpression 2369746 2369791 - BinaryExpression 2369747 2369790 - Identifier 2369747 2369756 - AmpersandAmpersandToken 2369756 2369759 - BinaryExpression 2369759 2369790 - Identifier 2369759 2369769 - AmpersandToken 2369769 2369771 - PropertyAccessExpression 2369771 2369790 - Identifier 2369771 2369781 - Identifier 2369782 2369790 - Block 2369792 2370751 - IfStatement 2369794 2370510 - BinaryExpression 2369820 2370152 - ParenthesizedExpression 2369820 2369919 - BinaryExpression 2369847 2369918 - CallExpression 2369847 2369880 - Identifier 2369847 2369874 - Identifier 2369875 2369879 - BarBarToken 2369880 2369883 - CallExpression 2369883 2369918 - Identifier 2369883 2369911 - Identifier 2369912 2369917 - AmpersandAmpersandToken 2369919 2369922 - ParenthesizedExpression 2369922 2370152 - BinaryExpression 2370025 2370151 - PrefixUnaryExpression 2370025 2370042 - CallExpression 2370026 2370042 - Identifier 2370026 2370036 - Identifier 2370037 2370041 - BarBarToken 2370042 2370045 - ParenthesizedExpression 2370045 2370151 - BinaryExpression 2370047 2370150 - BinaryExpression 2370047 2370094 - Identifier 2370047 2370055 - EqualsEqualsEqualsToken 2370055 2370059 - PropertyAccessExpression 2370059 2370094 - Identifier 2370059 2370070 - Identifier 2370071 2370094 - BarBarToken 2370094 2370097 - BinaryExpression 2370097 2370150 - Identifier 2370097 2370106 - EqualsEqualsEqualsToken 2370106 2370110 - PropertyAccessExpression 2370110 2370150 - Identifier 2370110 2370121 - Identifier 2370122 2370150 - Block 2370175 2370510 - VariableStatement 2370177 2370311 - VariableDeclarationList 2370177 2370310 - VariableDeclaration 2370208 2370310 - Identifier 2370208 2370215 - BinaryExpression 2370217 2370310 - BinaryExpression 2370217 2370259 - Identifier 2370217 2370226 - EqualsEqualsEqualsToken 2370226 2370230 - PropertyAccessExpression 2370230 2370259 - Identifier 2370230 2370241 - Identifier 2370242 2370259 - BarBarToken 2370259 2370262 - BinaryExpression 2370262 2370310 - Identifier 2370262 2370271 - EqualsEqualsEqualsToken 2370271 2370275 - PropertyAccessExpression 2370275 2370310 - Identifier 2370275 2370286 - Identifier 2370287 2370310 - ExpressionStatement 2370311 2370487 - CallExpression 2370311 2370486 - Identifier 2370311 2370342 - Identifier 2370343 2370352 - PropertyAccessExpression 2370353 2370458 - Identifier 2370353 2370365 - Identifier 2370366 2370458 - ConditionalExpression 2370459 2370485 - Identifier 2370459 2370466 - QuestionToken 2370466 2370468 - StringLiteral 2370468 2370476 - ColonToken 2370476 2370478 - StringLiteral 2370478 2370485 - ExpressionStatement 2370510 2370583 - CallExpression 2370510 2370582 - Identifier 2370510 2370548 - Identifier 2370549 2370558 - Identifier 2370559 2370568 - Identifier 2370569 2370574 - Identifier 2370575 2370581 - ExpressionStatement 2370583 2370732 - CallExpression 2370583 2370731 - Identifier 2370583 2370630 - ArrowFunction 2370631 2370730 - Parameter 2370632 2370636 - Identifier 2370632 2370636 - Parameter 2370637 2370643 - Identifier 2370637 2370643 - EqualsGreaterThanToken 2370644 2370647 - BinaryExpression 2370647 2370730 - CallExpression 2370647 2370687 - Identifier 2370647 2370674 - Identifier 2370675 2370679 - Identifier 2370680 2370686 - BarBarToken 2370687 2370690 - CallExpression 2370690 2370730 - Identifier 2370690 2370717 - Identifier 2370718 2370723 - Identifier 2370724 2370729 - ReturnStatement 2370751 2370788 - Identifier 2370775 2370787 - CaseClause 2370788 2370932 - PropertyAccessExpression 2370806 2370835 - Identifier 2370806 2370817 - Identifier 2370818 2370835 - ReturnStatement 2370836 2370932 - CallExpression 2370860 2370931 - Identifier 2370860 2370886 - Identifier 2370887 2370891 - Identifier 2370892 2370898 - Identifier 2370899 2370908 - Identifier 2370909 2370919 - Identifier 2370920 2370930 - CaseClause 2370932 2371049 - PropertyAccessExpression 2370950 2370971 - Identifier 2370950 2370961 - Identifier 2370962 2370971 - ReturnStatement 2370972 2371049 - CallExpression 2370996 2371048 - Identifier 2370996 2371014 - Identifier 2371015 2371019 - Identifier 2371020 2371026 - Identifier 2371027 2371036 - Identifier 2371037 2371047 - CaseClause 2371049 2371103 - PropertyAccessExpression 2371067 2371102 - Identifier 2371067 2371078 - Identifier 2371079 2371102 - CaseClause 2371103 2371625 - PropertyAccessExpression 2371121 2371162 - Identifier 2371121 2371132 - Identifier 2371133 2371162 - Block 2371163 2371625 - VariableStatement 2371165 2371420 - VariableDeclarationList 2371165 2371419 - VariableDeclaration 2371188 2371419 - Identifier 2371188 2371199 - ConditionalExpression 2371201 2371419 - CallExpression 2371201 2371242 - Identifier 2371201 2371214 - Identifier 2371215 2371223 - PropertyAccessExpression 2371224 2371241 - Identifier 2371224 2371234 - Identifier 2371235 2371241 - QuestionToken 2371242 2371244 - CallExpression 2371244 2371387 - Identifier 2371244 2371278 - ArrayLiteralExpression 2371279 2371386 - CallExpression 2371280 2371374 - Identifier 2371280 2371307 - ConditionalExpression 2371308 2371373 - Identifier 2371308 2371324 - QuestionToken 2371324 2371326 - Identifier 2371326 2371335 - ColonToken 2371335 2371337 - CallExpression 2371337 2371373 - Identifier 2371337 2371362 - Identifier 2371363 2371372 - Identifier 2371375 2371385 - ColonToken 2371387 2371389 - Identifier 2371389 2371419 - IfStatement 2371420 2371574 - BinaryExpression 2371442 2371495 - Identifier 2371442 2371450 - EqualsEqualsEqualsToken 2371450 2371454 - PropertyAccessExpression 2371454 2371495 - Identifier 2371454 2371465 - Identifier 2371466 2371495 - Block 2371496 2371574 - ExpressionStatement 2371498 2371555 - CallExpression 2371498 2371554 - Identifier 2371498 2371543 - Identifier 2371544 2371553 - ReturnStatement 2371574 2371610 - Identifier 2371598 2371609 - CaseClause 2371625 2371667 - PropertyAccessExpression 2371643 2371666 - Identifier 2371643 2371654 - Identifier 2371655 2371666 - CaseClause 2371667 2372150 - PropertyAccessExpression 2371685 2371714 - Identifier 2371685 2371696 - Identifier 2371697 2371714 - Block 2371715 2372150 - VariableStatement 2371717 2371957 - VariableDeclarationList 2371717 2371956 - VariableDeclaration 2371740 2371956 - Identifier 2371740 2371751 - ConditionalExpression 2371753 2371956 - CallExpression 2371753 2371793 - Identifier 2371753 2371766 - Identifier 2371767 2371775 - PropertyAccessExpression 2371776 2371792 - Identifier 2371776 2371786 - Identifier 2371787 2371792 - QuestionToken 2371793 2371795 - CallExpression 2371795 2371924 - Identifier 2371795 2371829 - ArrayLiteralExpression 2371830 2371899 - CallExpression 2371831 2371887 - Identifier 2371831 2371849 - CallExpression 2371850 2371886 - Identifier 2371850 2371876 - Identifier 2371877 2371885 - Identifier 2371888 2371898 - PropertyAccessExpression 2371900 2371923 - Identifier 2371900 2371915 - Identifier 2371916 2371923 - ColonToken 2371924 2371926 - Identifier 2371926 2371956 - IfStatement 2371957 2372099 - BinaryExpression 2371979 2372020 - Identifier 2371979 2371987 - EqualsEqualsEqualsToken 2371987 2371991 - PropertyAccessExpression 2371991 2372020 - Identifier 2371991 2372002 - Identifier 2372003 2372020 - Block 2372021 2372099 - ExpressionStatement 2372023 2372080 - CallExpression 2372023 2372079 - Identifier 2372023 2372068 - Identifier 2372069 2372078 - ReturnStatement 2372099 2372135 - Identifier 2372123 2372134 - CaseClause 2372150 2372202 - PropertyAccessExpression 2372168 2372201 - Identifier 2372168 2372179 - Identifier 2372180 2372201 - CaseClause 2372202 2372689 - PropertyAccessExpression 2372220 2372259 - Identifier 2372220 2372231 - Identifier 2372232 2372259 - Block 2372260 2372689 - VariableStatement 2372262 2372486 - VariableDeclarationList 2372262 2372485 - VariableDeclaration 2372285 2372485 - Identifier 2372285 2372296 - ConditionalExpression 2372298 2372485 - CallExpression 2372298 2372350 - Identifier 2372298 2372311 - Identifier 2372312 2372320 - PropertyAccessExpression 2372321 2372349 - Identifier 2372321 2372331 - Identifier 2372332 2372349 - QuestionToken 2372350 2372352 - CallExpression 2372352 2372453 - Identifier 2372352 2372386 - ArrayLiteralExpression 2372387 2372428 - CallExpression 2372388 2372416 - Identifier 2372388 2372406 - Identifier 2372407 2372415 - Identifier 2372417 2372427 - PropertyAccessExpression 2372429 2372452 - Identifier 2372429 2372444 - Identifier 2372445 2372452 - ColonToken 2372453 2372455 - Identifier 2372455 2372485 - IfStatement 2372486 2372638 - BinaryExpression 2372508 2372559 - Identifier 2372508 2372516 - EqualsEqualsEqualsToken 2372516 2372520 - PropertyAccessExpression 2372520 2372559 - Identifier 2372520 2372531 - Identifier 2372532 2372559 - Block 2372560 2372638 - ExpressionStatement 2372562 2372619 - CallExpression 2372562 2372618 - Identifier 2372562 2372607 - Identifier 2372608 2372617 - ReturnStatement 2372638 2372674 - Identifier 2372662 2372673 - CaseClause 2372689 2373926 - PropertyAccessExpression 2372707 2372730 - Identifier 2372707 2372718 - Identifier 2372719 2372730 - VariableStatement 2372731 2372875 - VariableDeclarationList 2372731 2372874 - VariableDeclaration 2372754 2372874 - Identifier 2372754 2372763 - ConditionalExpression 2372765 2372874 - CallExpression 2372765 2372797 - Identifier 2372765 2372784 - PropertyAccessExpression 2372785 2372796 - Identifier 2372785 2372789 - Identifier 2372790 2372796 - QuestionToken 2372797 2372799 - CallExpression 2372799 2372841 - Identifier 2372799 2372828 - PropertyAccessExpression 2372829 2372840 - Identifier 2372829 2372833 - Identifier 2372834 2372840 - ColonToken 2372841 2372843 - PropertyAccessExpression 2372843 2372874 - Identifier 2372843 2372869 - Identifier 2372870 2372874 - ExpressionStatement 2372875 2372941 - CallExpression 2372875 2372940 - Identifier 2372875 2372919 - Identifier 2372920 2372928 - Identifier 2372929 2372939 - IfStatement 2372941 2373926 - CallExpression 2372963 2372996 - Identifier 2372963 2372986 - Identifier 2372987 2372995 - Block 2372997 2373787 - IfStatement 2372999 2373730 - BinaryExpression 2373025 2373472 - PrefixUnaryExpression 2373025 2373088 - ParenthesizedExpression 2373052 2373088 - BinaryExpression 2373053 2373087 - PropertyAccessExpression 2373053 2373068 - Identifier 2373053 2373062 - Identifier 2373063 2373068 - AmpersandToken 2373068 2373070 - PropertyAccessExpression 2373070 2373087 - Identifier 2373070 2373080 - Identifier 2373081 2373087 - BarBarToken 2373088 2373091 - BinaryExpression 2373091 2373472 - BinaryExpression 2373091 2373391 - BinaryExpression 2373091 2373312 - BinaryExpression 2373091 2373250 - BinaryExpression 2373091 2373169 - Identifier 2373091 2373125 - ExclamationEqualsEqualsToken 2373125 2373129 - PropertyAccessExpression 2373129 2373169 - Identifier 2373129 2373155 - Identifier 2373156 2373169 - AmpersandAmpersandToken 2373169 2373172 - BinaryExpression 2373172 2373250 - Identifier 2373172 2373210 - ExclamationEqualsEqualsToken 2373210 2373214 - PropertyAccessExpression 2373214 2373250 - Identifier 2373214 2373240 - Identifier 2373241 2373250 - AmpersandAmpersandToken 2373250 2373253 - PrefixUnaryExpression 2373253 2373312 - CallExpression 2373284 2373312 - Identifier 2373284 2373301 - Identifier 2373302 2373311 - AmpersandAmpersandToken 2373312 2373315 - PrefixUnaryExpression 2373315 2373391 - CallExpression 2373346 2373391 - Identifier 2373346 2373366 - AsExpression 2373367 2373390 - Identifier 2373367 2373376 - TypeReference 2373379 2373390 - Identifier 2373379 2373390 - AmpersandAmpersandToken 2373391 2373394 - PrefixUnaryExpression 2373394 2373472 - ParenthesizedExpression 2373425 2373472 - BinaryExpression 2373426 2373471 - CallExpression 2373426 2373451 - Identifier 2373426 2373440 - Identifier 2373441 2373450 - AmpersandToken 2373451 2373453 - PropertyAccessExpression 2373453 2373471 - Identifier 2373453 2373465 - Identifier 2373466 2373471 - Block 2373495 2373730 - ExpressionStatement 2373497 2373707 - CallExpression 2373497 2373706 - Identifier 2373497 2373695 - Identifier 2373696 2373705 - ReturnStatement 2373730 2373768 - Identifier 2373758 2373767 - Block 2373809 2373926 - ExpressionStatement 2373811 2373868 - CallExpression 2373811 2373867 - Identifier 2373811 2373856 - Identifier 2373857 2373866 - ReturnStatement 2373868 2373907 - Identifier 2373896 2373906 - CaseClause 2373926 2374759 - PropertyAccessExpression 2373944 2373966 - Identifier 2373944 2373955 - Identifier 2373956 2373966 - IfStatement 2373967 2374724 - BinaryExpression 2373989 2374104 - BinaryExpression 2373989 2374052 - PrefixUnaryExpression 2373989 2374026 - PropertyAccessExpression 2373990 2374026 - Identifier 2373990 2374005 - Identifier 2374006 2374026 - AmpersandAmpersandToken 2374026 2374029 - CallExpression 2374029 2374052 - Identifier 2374029 2374046 - Identifier 2374047 2374051 - AmpersandAmpersandToken 2374052 2374055 - PrefixUnaryExpression 2374055 2374104 - CallExpression 2374057 2374104 - Identifier 2374057 2374071 - AsExpression 2374072 2374103 - PropertyAccessExpression 2374072 2374083 - Identifier 2374072 2374076 - Identifier 2374077 2374083 - TypeReference 2374086 2374103 - Identifier 2374086 2374103 - Block 2374105 2374724 - VariableStatement 2374107 2374166 - VariableDeclarationList 2374107 2374165 - VariableDeclaration 2374134 2374165 - Identifier 2374134 2374137 - CallExpression 2374139 2374165 - Identifier 2374139 2374159 - Identifier 2374160 2374164 - VariableStatement 2374166 2374215 - VariableDeclarationList 2374166 2374214 - VariableDeclaration 2374193 2374214 - Identifier 2374193 2374204 - PropertyAccessExpression 2374206 2374214 - Identifier 2374206 2374209 - Identifier 2374210 2374214 - VariableStatement 2374215 2374284 - VariableDeclarationList 2374215 2374283 - VariableDeclaration 2374242 2374283 - Identifier 2374242 2374248 - CallExpression 2374250 2374283 - Identifier 2374250 2374261 - Identifier 2374262 2374272 - PropertyAccessExpression 2374273 2374282 - Identifier 2374273 2374278 - Identifier 2374279 2374282 - VariableStatement 2374284 2374577 - VariableDeclarationList 2374284 2374576 - VariableDeclaration 2374311 2374576 - Identifier 2374311 2374324 - CallExpression 2374326 2374576 - PropertyAccessExpression 2374326 2374351 - PropertyAccessExpression 2374326 2374346 - Identifier 2374326 2374329 - Identifier 2374330 2374346 - Identifier 2374347 2374351 - ArrowFunction 2374352 2374575 - Parameter 2374352 2374356 - Identifier 2374352 2374356 - EqualsGreaterThanToken 2374356 2374359 - Block 2374359 2374575 - IfStatement 2374361 2374481 - BinaryExpression 2374391 2374466 - PropertyAccessExpression 2374391 2374400 - Identifier 2374391 2374395 - Identifier 2374396 2374400 - ExclamationEqualsEqualsToken 2374400 2374404 - PropertyAccessExpression 2374404 2374466 - PropertyAccessExpression 2374404 2374461 - Identifier 2374404 2374416 - Identifier 2374417 2374461 - Identifier 2374462 2374466 - ReturnStatement 2374467 2374481 - FalseKeyword 2374474 2374480 - ReturnStatement 2374481 2374552 - CallExpression 2374513 2374551 - Identifier 2374513 2374538 - Identifier 2374539 2374543 - Identifier 2374544 2374550 - IfStatement 2374577 2374705 - PrefixUnaryExpression 2374603 2374616 - Identifier 2374604 2374616 - ExpressionStatement 2374617 2374705 - CallExpression 2374617 2374704 - Identifier 2374617 2374623 - Identifier 2374624 2374628 - PropertyAccessExpression 2374629 2374703 - Identifier 2374629 2374641 - Identifier 2374642 2374703 - ReturnStatement 2374724 2374759 - Identifier 2374748 2374758 - DefaultClause 2374759 2374821 - ReturnStatement 2374783 2374821 - CallExpression 2374807 2374820 - PropertyAccessExpression 2374807 2374818 - Identifier 2374807 2374813 - Identifier 2374814 2374818 - FunctionDeclaration 2374832 2375044 - Identifier 2374852 2374870 - Parameter 2374871 2374881 - Identifier 2374871 2374875 - TypeReference 2374876 2374881 - Identifier 2374876 2374881 - Parameter 2374882 2374894 - Identifier 2374882 2374888 - TypeReference 2374889 2374894 - Identifier 2374889 2374894 - BooleanKeyword 2374896 2374904 - Block 2374904 2375044 - ReturnStatement 2374906 2375033 - BinaryExpression 2374926 2375032 - CallExpression 2374926 2374977 - Identifier 2374926 2374949 - Identifier 2374950 2374954 - PropertyAccessExpression 2374955 2374976 - Identifier 2374955 2374965 - Identifier 2374966 2374976 - AmpersandAmpersandToken 2374977 2374980 - CallExpression 2374980 2375032 - Identifier 2374980 2375003 - Identifier 2375004 2375009 - PropertyAccessExpression 2375010 2375031 - Identifier 2375010 2375020 - Identifier 2375021 2375031 - FunctionDeclaration 2375044 2376149 - Identifier 2375064 2375091 - Parameter 2375092 2375123 - Identifier 2375092 2375096 - TypeReference 2375097 2375123 - Identifier 2375097 2375123 - Parameter 2375124 2375140 - Identifier 2375124 2375134 - TypeReference 2375135 2375140 - Identifier 2375135 2375140 - Block 2375141 2376149 - IfStatement 2375143 2376138 - BinaryExpression 2375161 2375209 - Identifier 2375161 2375165 - EqualsEqualsEqualsToken 2375165 2375169 - PropertyAccessExpression 2375169 2375209 - Identifier 2375169 2375195 - Identifier 2375196 2375209 - Block 2375210 2376138 - ForOfStatement 2375212 2376123 - VariableDeclarationList 2375235 2375245 - VariableDeclaration 2375240 2375245 - Identifier 2375240 2375245 - CallExpression 2375248 2375285 - Identifier 2375248 2375274 - Identifier 2375275 2375284 - Block 2375286 2376123 - VariableStatement 2375288 2375349 - VariableDeclarationList 2375288 2375348 - VariableDeclaration 2375315 2375348 - Identifier 2375315 2375324 - CallExpression 2375326 2375348 - Identifier 2375326 2375342 - Identifier 2375343 2375347 - IfStatement 2375349 2376104 - BinaryExpression 2375375 2375435 - PropertyAccessExpression 2375375 2375390 - Identifier 2375375 2375383 - Identifier 2375384 2375390 - AmpersandAmpersandToken 2375390 2375393 - BinaryExpression 2375393 2375435 - PropertyAccessExpression 2375393 2375415 - PropertyAccessExpression 2375393 2375409 - Identifier 2375393 2375402 - Identifier 2375403 2375409 - Identifier 2375410 2375415 - AmpersandToken 2375415 2375417 - PropertyAccessExpression 2375417 2375435 - Identifier 2375417 2375429 - Identifier 2375430 2375435 - Block 2375436 2376104 - VariableStatement 2375438 2375494 - VariableDeclarationList 2375438 2375493 - VariableDeclaration 2375469 2375493 - Identifier 2375469 2375474 - PropertyAccessExpression 2375476 2375493 - Identifier 2375476 2375481 - Identifier 2375482 2375493 - VariableStatement 2375494 2375646 - VariableDeclarationList 2375494 2375645 - VariableDeclaration 2375525 2375645 - Identifier 2375525 2375532 - CallExpression 2375534 2375645 - Identifier 2375534 2375546 - PropertyAccessExpression 2375547 2375568 - Identifier 2375547 2375551 - Identifier 2375552 2375568 - Identifier 2375569 2375574 - PropertyAccessExpression 2375575 2375592 - Identifier 2375575 2375587 - Identifier 2375588 2375592 - Identifier 2375593 2375627 - FalseKeyword 2375628 2375644 - IfStatement 2375646 2376081 - BinaryExpression 2375676 2375743 - PropertyAccessExpression 2375676 2375696 - Identifier 2375676 2375682 - QuestionDotToken 2375682 2375684 - Identifier 2375684 2375696 - AmpersandAmpersandToken 2375696 2375699 - CallExpression 2375699 2375743 - PropertyAccessExpression 2375699 2375724 - PropertyAccessExpression 2375699 2375719 - Identifier 2375699 2375706 - Identifier 2375707 2375719 - Identifier 2375720 2375724 - Identifier 2375725 2375742 - Block 2375744 2376081 - ExpressionStatement 2375746 2375900 - CallExpression 2375746 2375899 - Identifier 2375746 2375815 - Identifier 2375816 2375822 - PropertyAccessExpression 2375823 2375858 - Identifier 2375823 2375835 - Identifier 2375836 2375858 - CallExpression 2375859 2375892 - Identifier 2375859 2375886 - Identifier 2375887 2375891 - Identifier 2375893 2375898 - ExpressionStatement 2375900 2376054 - CallExpression 2375900 2376053 - Identifier 2375900 2375969 - Identifier 2375970 2375974 - PropertyAccessExpression 2375975 2376010 - Identifier 2375975 2375987 - Identifier 2375988 2376010 - CallExpression 2376011 2376044 - Identifier 2376011 2376038 - Identifier 2376039 2376043 - Identifier 2376045 2376052 - FunctionDeclaration 2376149 2376944 - Identifier 2376290 2376305 - Parameter 2376306 2376328 - Identifier 2376306 2376310 - TypeReference 2376311 2376328 - Identifier 2376311 2376328 - BooleanKeyword 2376330 2376338 - Block 2376338 2376944 - ReturnStatement 2376340 2376933 - BinaryExpression 2376360 2376932 - BinaryExpression 2376360 2376682 - BinaryExpression 2376360 2376507 - BinaryExpression 2376360 2376464 - BinaryExpression 2376360 2376416 - PropertyAccessExpression 2376360 2376377 - PropertyAccessExpression 2376360 2376372 - Identifier 2376360 2376365 - Identifier 2376366 2376372 - Identifier 2376373 2376377 - EqualsEqualsEqualsToken 2376377 2376381 - PropertyAccessExpression 2376381 2376416 - Identifier 2376381 2376392 - Identifier 2376393 2376416 - AmpersandAmpersandToken 2376416 2376419 - CallExpression 2376419 2376464 - Identifier 2376419 2376453 - PropertyAccessExpression 2376454 2376463 - Identifier 2376454 2376458 - Identifier 2376459 2376463 - AmpersandAmpersandToken 2376464 2376467 - BinaryExpression 2376467 2376507 - PropertyAccessExpression 2376467 2376499 - PropertyAccessExpression 2376467 2376494 - Identifier 2376467 2376489 - Identifier 2376490 2376494 - Identifier 2376495 2376499 - EqualsEqualsEqualsToken 2376499 2376503 - StringLiteral 2376503 2376507 - AmpersandAmpersandToken 2376507 2376510 - ParenthesizedExpression 2376510 2376682 - BinaryExpression 2376529 2376681 - BinaryExpression 2376529 2376614 - CallExpression 2376529 2376565 - Identifier 2376529 2376545 - PropertyAccessExpression 2376546 2376564 - PropertyAccessExpression 2376546 2376557 - Identifier 2376546 2376550 - Identifier 2376551 2376557 - Identifier 2376558 2376564 - AmpersandAmpersandToken 2376565 2376568 - BinaryExpression 2376568 2376614 - PropertyAccessExpression 2376568 2376598 - PropertyAccessExpression 2376568 2376587 - PropertyAccessExpression 2376568 2376580 - Identifier 2376568 2376573 - Identifier 2376574 2376580 - Identifier 2376581 2376587 - Identifier 2376588 2376598 - EqualsEqualsEqualsToken 2376598 2376602 - PropertyAccessExpression 2376602 2376614 - Identifier 2376602 2376607 - Identifier 2376608 2376614 - BarBarToken 2376614 2376617 - BinaryExpression 2376617 2376681 - PropertyAccessExpression 2376617 2376641 - PropertyAccessExpression 2376617 2376636 - PropertyAccessExpression 2376617 2376629 - Identifier 2376617 2376622 - Identifier 2376623 2376629 - Identifier 2376630 2376636 - Identifier 2376637 2376641 - EqualsEqualsEqualsToken 2376641 2376645 - PropertyAccessExpression 2376645 2376681 - Identifier 2376645 2376656 - Identifier 2376657 2376681 - AmpersandAmpersandToken 2376682 2376685 - ParenthesizedExpression 2376685 2376932 - BinaryExpression 2376836 2376931 - CallExpression 2376836 2376866 - Identifier 2376836 2376854 - PropertyAccessExpression 2376855 2376865 - Identifier 2376855 2376859 - Identifier 2376860 2376865 - BarBarToken 2376866 2376869 - BinaryExpression 2376869 2376931 - CallExpression 2376869 2376894 - Identifier 2376869 2376882 - PropertyAccessExpression 2376883 2376893 - Identifier 2376883 2376887 - Identifier 2376888 2376893 - AmpersandAmpersandToken 2376894 2376897 - BinaryExpression 2376897 2376931 - PropertyAccessExpression 2376897 2376920 - PropertyAccessExpression 2376897 2376908 - Identifier 2376897 2376902 - Identifier 2376903 2376908 - Identifier 2376909 2376920 - EqualsEqualsEqualsToken 2376920 2376924 - StringLiteral 2376924 2376931 - FunctionDeclaration 2376944 2377641 - Identifier 2377040 2377074 - Parameter 2377075 2377106 - Identifier 2377075 2377083 - TypeReference 2377084 2377106 - Identifier 2377084 2377106 - BooleanKeyword 2377108 2377116 - Block 2377116 2377641 - VariableStatement 2377118 2377377 - VariableDeclarationList 2377118 2377376 - VariableDeclaration 2377137 2377376 - Identifier 2377137 2377160 - ConditionalExpression 2377162 2377376 - CallExpression 2377162 2377237 - Identifier 2377162 2377203 - Identifier 2377204 2377212 - PropertyAccessExpression 2377213 2377236 - Identifier 2377213 2377223 - Identifier 2377224 2377236 - QuestionToken 2377237 2377239 - Identifier 2377239 2377244 - ColonToken 2377244 2377246 - ConditionalExpression 2377246 2377376 - CallExpression 2377246 2377339 - Identifier 2377246 2377304 - Identifier 2377305 2377314 - PropertyAccessExpression 2377315 2377338 - Identifier 2377315 2377325 - Identifier 2377326 2377338 - QuestionToken 2377339 2377341 - Identifier 2377341 2377347 - ColonToken 2377347 2377349 - Identifier 2377349 2377376 - IfStatement 2377377 2377602 - Identifier 2377397 2377419 - Block 2377420 2377602 - ExpressionStatement 2377422 2377556 - CallExpression 2377422 2377555 - Identifier 2377422 2377445 - Identifier 2377446 2377468 - PropertyAccessExpression 2377469 2377529 - Identifier 2377469 2377481 - Identifier 2377482 2377529 - CallExpression 2377530 2377554 - Identifier 2377530 2377544 - Identifier 2377545 2377553 - ReturnStatement 2377556 2377587 - FalseKeyword 2377580 2377586 - ReturnStatement 2377602 2377630 - TrueKeyword 2377624 2377629 - FunctionDeclaration 2377641 2378349 - Identifier 2377661 2377689 - Parameter 2377690 2377710 - Identifier 2377690 2377698 - TypeReference 2377699 2377710 - Identifier 2377699 2377710 - UnionType 2377712 2377746 - TypeReference 2377712 2377734 - Identifier 2377712 2377734 - UndefinedKeyword 2377736 2377746 - Block 2377746 2378349 - SwitchStatement 2377748 2378338 - Identifier 2377770 2377778 - CaseBlock 2377779 2378338 - CaseClause 2377781 2377824 - PropertyAccessExpression 2377803 2377823 - Identifier 2377803 2377814 - Identifier 2377815 2377823 - CaseClause 2377824 2377925 - PropertyAccessExpression 2377846 2377872 - Identifier 2377846 2377857 - Identifier 2377858 2377872 - ReturnStatement 2377873 2377925 - PropertyAccessExpression 2377901 2377924 - Identifier 2377901 2377912 - Identifier 2377913 2377924 - CaseClause 2377925 2377970 - PropertyAccessExpression 2377947 2377969 - Identifier 2377947 2377958 - Identifier 2377959 2377969 - CaseClause 2377970 2378090 - PropertyAccessExpression 2377992 2378020 - Identifier 2377992 2378003 - Identifier 2378004 2378020 - ReturnStatement 2378021 2378090 - PropertyAccessExpression 2378049 2378089 - Identifier 2378049 2378060 - Identifier 2378061 2378089 - CaseClause 2378090 2378139 - PropertyAccessExpression 2378112 2378138 - Identifier 2378112 2378123 - Identifier 2378124 2378138 - CaseClause 2378139 2378258 - PropertyAccessExpression 2378161 2378193 - Identifier 2378161 2378172 - Identifier 2378173 2378193 - ReturnStatement 2378194 2378258 - PropertyAccessExpression 2378222 2378257 - Identifier 2378222 2378233 - Identifier 2378234 2378257 - DefaultClause 2378258 2378323 - ReturnStatement 2378284 2378323 - Identifier 2378312 2378322 - FunctionDeclaration 2378349 2380710 - Identifier 2378369 2378393 - Parameter 2378394 2378409 - Identifier 2378394 2378403 - TypeReference 2378404 2378409 - Identifier 2378404 2378409 - VoidKeyword 2378411 2378416 - Block 2378416 2380710 - IfStatement 2378418 2378551 - CallExpression 2378436 2378466 - Identifier 2378436 2378456 - Identifier 2378457 2378465 - Block 2378467 2378551 - ExpressionStatement 2378469 2378536 - CallExpression 2378469 2378535 - Identifier 2378469 2378504 - Identifier 2378505 2378534 - FunctionDeclaration 2378551 2380699 - Identifier 2378575 2378605 - Block 2378607 2380699 - VariableStatement 2378609 2378655 - VariableDeclarationList 2378609 2378654 - VariableDeclaration 2378630 2378654 - Identifier 2378630 2378643 - Identifier 2378645 2378654 - IfStatement 2378655 2379060 - BinaryExpression 2378799 2378892 - CallExpression 2378799 2378839 - Identifier 2378799 2378819 - PropertyAccessExpression 2378820 2378838 - Identifier 2378820 2378833 - Identifier 2378834 2378838 - AmpersandAmpersandToken 2378839 2378842 - BinaryExpression 2378842 2378892 - PropertyAccessExpression 2378842 2378852 - Identifier 2378842 2378847 - Identifier 2378848 2378852 - EqualsEqualsEqualsToken 2378852 2378856 - PropertyAccessExpression 2378856 2378892 - Identifier 2378856 2378867 - Identifier 2378868 2378892 - Block 2378893 2379060 - ExpressionStatement 2378895 2379041 - BinaryExpression 2378895 2379040 - Identifier 2378895 2378929 - EqualsToken 2378929 2378931 - CallExpression 2378931 2379040 - Identifier 2378931 2378961 - AsExpression 2378962 2378994 - Identifier 2378962 2378966 - TypeReference 2378969 2378994 - Identifier 2378969 2378994 - Identifier 2378995 2379019 - TrueKeyword 2379020 2379039 - IfStatement 2379060 2380684 - CallExpression 2379524 2379753 - Identifier 2379524 2379548 - Identifier 2379549 2379553 - PropertyAccessExpression 2379554 2379653 - Identifier 2379554 2379566 - Identifier 2379567 2379653 - PropertyAccessExpression 2379654 2379752 - Identifier 2379654 2379666 - Identifier 2379667 2379752 - Block 2379754 2380684 - VariableStatement 2379756 2379825 - VariableDeclarationList 2379756 2379824 - VariableDeclaration 2379781 2379824 - Identifier 2379781 2379793 - UnionType 2379794 2379824 - TypeReference 2379794 2379812 - Identifier 2379794 2379812 - UndefinedKeyword 2379814 2379824 - IfStatement 2379825 2380412 - BinaryExpression 2379851 2379964 - BinaryExpression 2379851 2379913 - Identifier 2379851 2379877 - AmpersandAmpersandToken 2379877 2379880 - CallExpression 2379880 2379913 - Identifier 2379880 2379907 - Identifier 2379908 2379912 - AmpersandAmpersandToken 2379913 2379916 - CallExpression 2379916 2379964 - Identifier 2379916 2379932 - Identifier 2379933 2379942 - PropertyAccessExpression 2379943 2379963 - Identifier 2379943 2379953 - Identifier 2379954 2379963 - Block 2379965 2380412 - VariableStatement 2379967 2380093 - VariableDeclarationList 2379967 2380092 - VariableDeclaration 2379998 2380092 - Identifier 2379998 2380005 - CallExpression 2380007 2380092 - Identifier 2380007 2380031 - CallExpression 2380032 2380068 - Identifier 2380032 2380051 - PropertyAccessExpression 2380052 2380067 - Identifier 2380052 2380056 - Identifier 2380057 2380067 - PropertyAccessExpression 2380069 2380091 - PropertyAccessExpression 2380069 2380079 - Identifier 2380069 2380074 - Identifier 2380075 2380079 - Identifier 2380080 2380091 - IfStatement 2380093 2380389 - CallExpression 2380123 2380173 - Identifier 2380123 2380154 - Identifier 2380155 2380164 - Identifier 2380165 2380172 - Block 2380174 2380389 - ExpressionStatement 2380176 2380362 - BinaryExpression 2380176 2380361 - Identifier 2380176 2380217 - EqualsToken 2380217 2380219 - PropertyAccessExpression 2380219 2380361 - Identifier 2380219 2380231 - Identifier 2380232 2380361 - ExpressionStatement 2380412 2380665 - CallExpression 2380412 2380664 - Identifier 2380412 2380613 - Identifier 2380614 2380623 - Identifier 2380624 2380637 - Identifier 2380638 2380643 - Identifier 2380644 2380650 - Identifier 2380651 2380663 - FunctionDeclaration 2380710 2381567 - Identifier 2380730 2380754 - Parameter 2380755 2380786 - Identifier 2380755 2380759 - TypeReference 2380760 2380786 - Identifier 2380760 2380786 - Block 2380787 2381567 - SwitchStatement 2380789 2381556 - Identifier 2380811 2380815 - CaseBlock 2380816 2381556 - CaseClause 2380818 2380915 - PropertyAccessExpression 2380840 2380880 - Identifier 2380840 2380866 - Identifier 2380867 2380880 - ReturnStatement 2380881 2380915 - TrueKeyword 2380909 2380914 - CaseClause 2380915 2380980 - PropertyAccessExpression 2380937 2380979 - Identifier 2380937 2380963 - Identifier 2380964 2380979 - CaseClause 2380980 2381038 - PropertyAccessExpression 2381002 2381037 - Identifier 2381002 2381028 - Identifier 2381029 2381037 - CaseClause 2381038 2381097 - PropertyAccessExpression 2381060 2381096 - Identifier 2381060 2381086 - Identifier 2381087 2381096 - CaseClause 2381097 2381164 - PropertyAccessExpression 2381119 2381163 - Identifier 2381119 2381145 - Identifier 2381146 2381163 - CaseClause 2381164 2381480 - PropertyAccessExpression 2381186 2381225 - Identifier 2381186 2381212 - Identifier 2381213 2381225 - VariableStatement 2381226 2381285 - VariableDeclarationList 2381226 2381284 - VariableDeclaration 2381253 2381284 - Identifier 2381253 2381260 - CallExpression 2381262 2381284 - Identifier 2381262 2381278 - Identifier 2381279 2381283 - VariableStatement 2381285 2381357 - VariableDeclarationList 2381285 2381356 - VariableDeclaration 2381312 2381356 - Identifier 2381312 2381317 - CallExpression 2381319 2381356 - Identifier 2381319 2381349 - Identifier 2381350 2381355 - ReturnStatement 2381357 2381480 - BinaryExpression 2381385 2381479 - BinaryExpression 2381385 2381427 - PrefixUnaryExpression 2381385 2381392 - PrefixUnaryExpression 2381387 2381392 - Identifier 2381388 2381392 - AmpersandAmpersandToken 2381392 2381395 - CallExpression 2381395 2381427 - Identifier 2381395 2381421 - Identifier 2381422 2381426 - AmpersandAmpersandToken 2381427 2381430 - PrefixUnaryExpression 2381430 2381479 - PrefixUnaryExpression 2381457 2381479 - PropertyAccessExpression 2381458 2381479 - PropertyAccessExpression 2381458 2381473 - Identifier 2381458 2381464 - QuestionDotToken 2381464 2381466 - Identifier 2381466 2381473 - QuestionDotToken 2381473 2381475 - Identifier 2381475 2381479 - DefaultClause 2381480 2381541 - ReturnStatement 2381506 2381541 - FalseKeyword 2381534 2381540 - FunctionDeclaration 2381567 2381959 - Identifier 2381662 2381688 - Parameter 2381689 2381745 - Identifier 2381689 2381707 - FunctionType 2381708 2381745 - Parameter 2381710 2381720 - Identifier 2381710 2381714 - TypeReference 2381715 2381720 - Identifier 2381715 2381720 - Parameter 2381721 2381733 - Identifier 2381721 2381727 - TypeReference 2381728 2381733 - Identifier 2381728 2381733 - BooleanKeyword 2381737 2381745 - BooleanKeyword 2381747 2381755 - Block 2381755 2381959 - IfStatement 2381757 2381921 - PrefixUnaryExpression 2381775 2381815 - CallExpression 2381776 2381815 - Identifier 2381776 2381794 - Identifier 2381795 2381803 - Identifier 2381804 2381814 - Block 2381816 2381921 - ExpressionStatement 2381818 2381876 - CallExpression 2381818 2381875 - Identifier 2381818 2381855 - Identifier 2381856 2381874 - ReturnStatement 2381876 2381906 - TrueKeyword 2381900 2381905 - ReturnStatement 2381921 2381948 - FalseKeyword 2381941 2381947 - FunctionDeclaration 2381959 2383406 - Identifier 2381979 2381999 - Parameter 2382000 2382048 - Identifier 2382000 2382009 - QuestionToken 2382009 2382010 - FunctionType 2382011 2382048 - Parameter 2382013 2382023 - Identifier 2382013 2382017 - TypeReference 2382018 2382023 - Identifier 2382018 2382023 - Parameter 2382024 2382036 - Identifier 2382024 2382030 - TypeReference 2382031 2382036 - Identifier 2382031 2382036 - BooleanKeyword 2382040 2382048 - Block 2382049 2383406 - VariableStatement 2382051 2382096 - VariableDeclarationList 2382051 2382095 - VariableDeclaration 2382068 2382095 - Identifier 2382068 2382087 - FalseKeyword 2382089 2382095 - VariableStatement 2382096 2382153 - VariableDeclarationList 2382096 2382152 - VariableDeclaration 2382115 2382152 - Identifier 2382115 2382123 - BinaryExpression 2382125 2382152 - Identifier 2382125 2382135 - BarBarToken 2382135 2382138 - Identifier 2382138 2382152 - IfStatement 2382153 2382586 - Identifier 2382171 2382180 - Block 2382181 2382586 - VariableStatement 2382183 2382257 - VariableDeclarationList 2382183 2382256 - VariableDeclaration 2382206 2382256 - Identifier 2382206 2382222 - CallExpression 2382224 2382256 - Identifier 2382224 2382246 - Identifier 2382247 2382255 - VariableStatement 2382257 2382333 - VariableDeclarationList 2382257 2382332 - VariableDeclaration 2382280 2382332 - Identifier 2382280 2382297 - CallExpression 2382299 2382332 - Identifier 2382299 2382321 - Identifier 2382322 2382331 - ExpressionStatement 2382333 2382571 - BinaryExpression 2382333 2382570 - Identifier 2382333 2382369 - EqualsToken 2382369 2382371 - BinaryExpression 2382371 2382570 - BinaryExpression 2382371 2382501 - PrefixUnaryExpression 2382371 2382437 - ParenthesizedExpression 2382373 2382437 - BinaryExpression 2382374 2382436 - BinaryExpression 2382374 2382402 - Identifier 2382374 2382389 - EqualsEqualsEqualsToken 2382389 2382393 - Identifier 2382393 2382402 - AmpersandAmpersandToken 2382402 2382405 - BinaryExpression 2382405 2382436 - Identifier 2382405 2382422 - EqualsEqualsEqualsToken 2382422 2382426 - Identifier 2382426 2382436 - AmpersandAmpersandToken 2382437 2382461 - PrefixUnaryExpression 2382461 2382501 - PrefixUnaryExpression 2382463 2382501 - ParenthesizedExpression 2382464 2382501 - BinaryExpression 2382465 2382500 - Identifier 2382465 2382480 - AmpersandAmpersandToken 2382480 2382483 - Identifier 2382483 2382500 - AmpersandAmpersandToken 2382501 2382525 - CallExpression 2382525 2382570 - Identifier 2382525 2382535 - Identifier 2382536 2382551 - Identifier 2382552 2382569 - VariableStatement 2382586 2382631 - VariableDeclarationList 2382586 2382630 - VariableDeclaration 2382605 2382630 - Identifier 2382605 2382619 - Identifier 2382621 2382630 - VariableStatement 2382631 2382676 - VariableDeclarationList 2382631 2382675 - VariableDeclaration 2382648 2382675 - Identifier 2382648 2382663 - Identifier 2382665 2382675 - IfStatement 2382676 2382852 - BinaryExpression 2382694 2382726 - PrefixUnaryExpression 2382694 2382713 - Identifier 2382695 2382713 - AmpersandAmpersandToken 2382713 2382716 - Identifier 2382716 2382726 - Block 2382727 2382852 - ExpressionStatement 2382729 2382837 - BinaryExpression 2382729 2382836 - ArrayLiteralExpression 2382729 2382778 - Identifier 2382748 2382761 - Identifier 2382762 2382777 - EqualsToken 2382778 2382780 - CallExpression 2382780 2382836 - Identifier 2382780 2382804 - Identifier 2382805 2382813 - Identifier 2382814 2382824 - Identifier 2382825 2382835 - VariableStatement 2382852 2382953 - VariableDeclarationList 2382852 2382952 - VariableDeclaration 2382871 2382952 - ArrayBindingPattern 2382871 2382891 - BindingElement 2382873 2382880 - Identifier 2382873 2382880 - BindingElement 2382881 2382890 - Identifier 2382881 2382890 - CallExpression 2382893 2382952 - Identifier 2382893 2382921 - Identifier 2382922 2382935 - Identifier 2382936 2382951 - IfStatement 2382953 2383395 - PrefixUnaryExpression 2382971 2383045 - CallExpression 2382972 2383045 - Identifier 2382972 2382997 - Identifier 2382998 2383005 - Identifier 2383006 2383025 - Identifier 2383026 2383034 - Identifier 2383035 2383044 - Block 2383046 2383395 - ExpressionStatement 2383048 2383380 - CallExpression 2383048 2383379 - Identifier 2383048 2383091 - Identifier 2383092 2383121 - Identifier 2383122 2383162 - PropertyAccessExpression 2383163 2383242 - Identifier 2383163 2383196 - Identifier 2383197 2383242 - CallExpression 2383243 2383298 - Identifier 2383243 2383278 - PropertyAccessExpression 2383279 2383297 - Identifier 2383279 2383292 - Identifier 2383293 2383297 - Identifier 2383299 2383328 - Identifier 2383329 2383359 - FunctionDeclaration 2383406 2384246 - Identifier 2383426 2383452 - Parameter 2383453 2383466 - Identifier 2383453 2383460 - TypeReference 2383461 2383466 - Identifier 2383461 2383466 - Parameter 2383467 2383494 - Identifier 2383467 2383485 - BooleanKeyword 2383486 2383494 - Parameter 2383495 2383511 - Identifier 2383495 2383503 - StringKeyword 2383504 2383511 - Parameter 2383512 2383529 - Identifier 2383512 2383521 - StringKeyword 2383522 2383529 - Block 2383530 2384246 - SwitchStatement 2383532 2384235 - PropertyAccessExpression 2383554 2383572 - Identifier 2383554 2383567 - Identifier 2383568 2383572 - CaseBlock 2383573 2384235 - CaseClause 2383575 2383633 - PropertyAccessExpression 2383597 2383632 - Identifier 2383597 2383608 - Identifier 2383609 2383632 - CaseClause 2383633 2383685 - PropertyAccessExpression 2383655 2383684 - Identifier 2383655 2383666 - Identifier 2383667 2383684 - CaseClause 2383685 2383748 - PropertyAccessExpression 2383707 2383747 - Identifier 2383707 2383718 - Identifier 2383719 2383747 - CaseClause 2383748 2384155 - PropertyAccessExpression 2383770 2383804 - Identifier 2383770 2383781 - Identifier 2383782 2383804 - ReturnStatement 2383805 2384155 - CallExpression 2383833 2384154 - Identifier 2383833 2383859 - Identifier 2383860 2383893 - Identifier 2383894 2383937 - PropertyAccessExpression 2383938 2384061 - Identifier 2383938 2383975 - Identifier 2383976 2384061 - Identifier 2384062 2384095 - Identifier 2384096 2384130 - DefaultClause 2384155 2384220 - ReturnStatement 2384181 2384220 - Identifier 2384209 2384219 - FunctionDeclaration 2384246 2385420 - Identifier 2384266 2384283 - Parameter 2384284 2384311 - Identifier 2384284 2384293 - UnionType 2384294 2384311 - TypeReference 2384294 2384299 - Identifier 2384294 2384299 - UndefinedKeyword 2384301 2384311 - Parameter 2384312 2384333 - Identifier 2384312 2384321 - TypeReference 2384322 2384333 - Identifier 2384322 2384333 - Parameter 2384334 2384351 - Identifier 2384334 2384339 - TypeReference 2384340 2384351 - Identifier 2384340 2384351 - Parameter 2384352 2384370 - Identifier 2384352 2384358 - TypeReference 2384359 2384370 - Identifier 2384359 2384370 - Block 2384371 2385420 - VariableStatement 2384373 2384440 - VariableDeclarationList 2384373 2384439 - VariableDeclaration 2384392 2384439 - Identifier 2384392 2384402 - CallExpression 2384404 2384439 - Identifier 2384404 2384416 - CallExpression 2384417 2384438 - Identifier 2384417 2384432 - Identifier 2384433 2384437 - VariableStatement 2384440 2384509 - VariableDeclarationList 2384440 2384508 - VariableDeclaration 2384459 2384508 - Identifier 2384459 2384470 - CallExpression 2384472 2384508 - Identifier 2384472 2384484 - CallExpression 2384485 2384507 - Identifier 2384485 2384500 - Identifier 2384501 2384506 - IfStatement 2384509 2385409 - BinaryExpression 2384527 2384550 - Identifier 2384527 2384536 - BarBarToken 2384536 2384539 - Identifier 2384539 2384550 - Block 2384551 2385409 - VariableStatement 2384553 2384809 - VariableDeclarationList 2384553 2384808 - VariableDeclaration 2384576 2384808 - Identifier 2384576 2384580 - CallExpression 2384582 2384808 - Identifier 2384582 2384588 - Identifier 2384589 2384598 - PropertyAccessExpression 2384599 2384647 - Identifier 2384599 2384611 - Identifier 2384612 2384647 - CallExpression 2384648 2384807 - Identifier 2384648 2384662 - ConditionalExpression 2384663 2384806 - BinaryExpression 2384663 2384755 - BinaryExpression 2384663 2384710 - Identifier 2384663 2384671 - EqualsEqualsEqualsToken 2384671 2384675 - PropertyAccessExpression 2384675 2384710 - Identifier 2384675 2384686 - Identifier 2384687 2384710 - BarBarToken 2384710 2384713 - BinaryExpression 2384713 2384755 - Identifier 2384713 2384722 - EqualsEqualsEqualsToken 2384722 2384726 - PropertyAccessExpression 2384726 2384755 - Identifier 2384726 2384737 - Identifier 2384738 2384755 - QuestionToken 2384755 2384757 - PropertyAccessExpression 2384757 2384781 - Identifier 2384757 2384768 - Identifier 2384769 2384781 - ColonToken 2384781 2384783 - PropertyAccessExpression 2384783 2384806 - Identifier 2384783 2384794 - Identifier 2384795 2384806 - IfStatement 2384809 2384863 - BinaryExpression 2384831 2384854 - Identifier 2384831 2384840 - AmpersandAmpersandToken 2384840 2384843 - Identifier 2384843 2384854 - ReturnStatement 2384855 2384863 - VariableStatement 2384863 2385057 - VariableDeclarationList 2384863 2385056 - VariableDeclaration 2384886 2385056 - Identifier 2384886 2384901 - ConditionalExpression 2384903 2385056 - BinaryExpression 2384903 2385006 - BinaryExpression 2384903 2384956 - Identifier 2384903 2384912 - EqualsEqualsEqualsToken 2384912 2384916 - PropertyAccessExpression 2384916 2384956 - Identifier 2384916 2384927 - Identifier 2384928 2384956 - BarBarToken 2384956 2384959 - BinaryExpression 2384959 2385006 - Identifier 2384959 2384968 - EqualsEqualsEqualsToken 2384968 2384972 - PropertyAccessExpression 2384972 2385006 - Identifier 2384972 2384983 - Identifier 2384984 2385006 - QuestionToken 2385006 2385008 - CallExpression 2385008 2385051 - Identifier 2385008 2385022 - PropertyAccessExpression 2385023 2385050 - Identifier 2385023 2385033 - Identifier 2385034 2385050 - ColonToken 2385051 2385053 - StringLiteral 2385053 2385056 - VariableStatement 2385057 2385117 - VariableDeclarationList 2385057 2385116 - VariableDeclaration 2385080 2385116 - Identifier 2385080 2385089 - ConditionalExpression 2385091 2385116 - Identifier 2385091 2385101 - QuestionToken 2385101 2385103 - Identifier 2385103 2385109 - ColonToken 2385109 2385111 - Identifier 2385111 2385116 - VariableStatement 2385117 2385180 - VariableDeclarationList 2385117 2385179 - VariableDeclaration 2385140 2385179 - Identifier 2385140 2385151 - CallExpression 2385153 2385179 - Identifier 2385153 2385169 - Identifier 2385170 2385178 - ExpressionStatement 2385180 2385394 - CallExpression 2385180 2385393 - Identifier 2385180 2385212 - Identifier 2385213 2385216 - CallExpression 2385217 2385392 - Identifier 2385217 2385241 - Identifier 2385242 2385250 - PropertyAccessExpression 2385251 2385278 - Identifier 2385251 2385263 - Identifier 2385264 2385278 - TemplateExpression 2385279 2385391 - TemplateHead 2385279 2385283 - TemplateSpan 2385283 2385313 - Identifier 2385283 2385297 - TemplateMiddle 2385297 2385313 - TemplateSpan 2385313 2385391 - ConditionalExpression 2385313 2385388 - CallExpression 2385313 2385347 - Identifier 2385313 2385335 - Identifier 2385336 2385346 - QuestionToken 2385347 2385349 - CallExpression 2385349 2385380 - Identifier 2385349 2385368 - Identifier 2385369 2385379 - ColonToken 2385380 2385382 - StringLiteral 2385382 2385388 - TemplateTail 2385388 2385391 - FunctionDeclaration 2385420 2385756 - Identifier 2385440 2385452 - Parameter 2385453 2385469 - Identifier 2385453 2385457 - TypeReference 2385458 2385469 - Identifier 2385458 2385469 - BooleanKeyword 2385471 2385479 - Block 2385479 2385756 - IfStatement 2385481 2385718 - BinaryExpression 2385499 2385547 - CallExpression 2385499 2385517 - Identifier 2385499 2385511 - Identifier 2385512 2385516 - AmpersandAmpersandToken 2385517 2385520 - BinaryExpression 2385520 2385547 - PropertyAccessExpression 2385520 2385537 - Identifier 2385520 2385525 - Identifier 2385526 2385537 - EqualsEqualsEqualsToken 2385537 2385541 - StringLiteral 2385541 2385547 - Block 2385548 2385718 - VariableStatement 2385550 2385613 - VariableDeclarationList 2385550 2385612 - VariableDeclaration 2385573 2385612 - Identifier 2385573 2385589 - CallExpression 2385591 2385612 - Identifier 2385591 2385610 - ReturnStatement 2385613 2385703 - BinaryExpression 2385637 2385702 - PrefixUnaryExpression 2385637 2385655 - PrefixUnaryExpression 2385639 2385655 - Identifier 2385640 2385655 - AmpersandAmpersandToken 2385655 2385658 - BinaryExpression 2385658 2385702 - Identifier 2385658 2385674 - EqualsEqualsEqualsToken 2385674 2385678 - CallExpression 2385678 2385702 - Identifier 2385678 2385696 - Identifier 2385697 2385701 - ReturnStatement 2385718 2385745 - FalseKeyword 2385738 2385744 - FunctionDeclaration 2385763 2386302 - Identifier 2385779 2385803 - Parameter 2385804 2385818 - Identifier 2385804 2385812 - TypeReference 2385813 2385818 - Identifier 2385813 2385818 - Parameter 2385819 2385835 - Identifier 2385819 2385829 - TypeReference 2385830 2385835 - Identifier 2385830 2385835 - Parameter 2385836 2385884 - Identifier 2385836 2385846 - FunctionType 2385847 2385884 - Parameter 2385849 2385859 - Identifier 2385849 2385853 - TypeReference 2385854 2385859 - Identifier 2385854 2385859 - Parameter 2385860 2385872 - Identifier 2385860 2385866 - TypeReference 2385867 2385872 - Identifier 2385867 2385872 - BooleanKeyword 2385876 2385884 - TupleType 2385886 2385899 - TypeReference 2385888 2385892 - Identifier 2385888 2385892 - TypeReference 2385893 2385898 - Identifier 2385893 2385898 - Block 2385899 2386302 - VariableStatement 2385901 2385940 - VariableDeclarationList 2385901 2385939 - VariableDeclaration 2385914 2385939 - Identifier 2385914 2385928 - Identifier 2385930 2385939 - VariableStatement 2385940 2385981 - VariableDeclarationList 2385940 2385980 - VariableDeclaration 2385953 2385980 - Identifier 2385953 2385968 - Identifier 2385970 2385980 - VariableStatement 2385981 2386043 - VariableDeclarationList 2385981 2386042 - VariableDeclaration 2385996 2386042 - Identifier 2385996 2386005 - CallExpression 2386007 2386042 - Identifier 2386007 2386032 - Identifier 2386033 2386041 - VariableStatement 2386043 2386107 - VariableDeclarationList 2386043 2386106 - VariableDeclaration 2386058 2386106 - Identifier 2386058 2386068 - CallExpression 2386070 2386106 - Identifier 2386070 2386095 - Identifier 2386096 2386105 - IfStatement 2386107 2386246 - PrefixUnaryExpression 2386121 2386152 - CallExpression 2386122 2386152 - Identifier 2386122 2386131 - Identifier 2386132 2386140 - Identifier 2386141 2386151 - Block 2386153 2386246 - ExpressionStatement 2386155 2386194 - BinaryExpression 2386155 2386193 - Identifier 2386155 2386182 - EqualsToken 2386182 2386184 - Identifier 2386184 2386193 - ExpressionStatement 2386194 2386235 - BinaryExpression 2386194 2386234 - Identifier 2386194 2386222 - EqualsToken 2386222 2386224 - Identifier 2386224 2386234 - ReturnStatement 2386246 2386295 - ArrayLiteralExpression 2386262 2386294 - Identifier 2386264 2386277 - Identifier 2386278 2386293 - FunctionDeclaration 2386302 2390363 - Identifier 2386318 2386339 - Parameter 2386340 2386361 - Identifier 2386340 2386344 - TypeReference 2386345 2386361 - Identifier 2386345 2386361 - TypeReference 2386363 2386368 - Identifier 2386363 2386368 - Block 2386368 2390363 - ExpressionStatement 2386370 2386427 - CallExpression 2386370 2386426 - Identifier 2386370 2386397 - Identifier 2386398 2386425 - VariableStatement 2386427 2386480 - VariableDeclarationList 2386427 2386479 - VariableDeclaration 2386444 2386479 - Identifier 2386444 2386449 - CallExpression 2386451 2386479 - Identifier 2386451 2386473 - Identifier 2386474 2386478 - IfStatement 2386480 2386516 - PrefixUnaryExpression 2386494 2386499 - Identifier 2386495 2386499 - ReturnStatement 2386500 2386516 - Identifier 2386507 2386515 - VariableStatement 2386516 2386571 - VariableDeclarationList 2386516 2386570 - VariableDeclaration 2386531 2386570 - Identifier 2386531 2386545 - CallExpression 2386547 2386570 - Identifier 2386547 2386564 - Identifier 2386565 2386569 - IfStatement 2386571 2386807 - PrefixUnaryExpression 2386587 2386629 - ParenthesizedExpression 2386588 2386629 - BinaryExpression 2386589 2386628 - Identifier 2386589 2386602 - AmpersandToken 2386602 2386604 - PropertyAccessExpression 2386604 2386628 - Identifier 2386604 2386618 - Identifier 2386619 2386628 - Block 2386630 2386807 - ReturnStatement 2386632 2386796 - Identifier 2386787 2386795 - VariableStatement 2386807 2386879 - VariableDeclarationList 2386807 2386878 - VariableDeclaration 2386824 2386878 - Identifier 2386824 2386832 - BinaryExpression 2386834 2386878 - ParenthesizedExpression 2386834 2386872 - BinaryExpression 2386836 2386871 - Identifier 2386836 2386849 - AmpersandToken 2386849 2386851 - PropertyAccessExpression 2386851 2386871 - Identifier 2386851 2386865 - Identifier 2386866 2386871 - ExclamationEqualsEqualsToken 2386872 2386876 - NumericLiteral 2386876 2386878 - IfStatement 2386879 2387568 - PropertyAccessExpression 2386893 2386911 - Identifier 2386893 2386897 - Identifier 2386898 2386911 - Block 2386912 2387568 - IfStatement 2386914 2387255 - BinaryExpression 2387071 2387144 - Identifier 2387071 2387078 - AmpersandAmpersandToken 2387078 2387081 - BinaryExpression 2387081 2387144 - Identifier 2387081 2387097 - LessThanToken 2387097 2387099 - PropertyAccessExpression 2387099 2387144 - Identifier 2387099 2387128 - Identifier 2387129 2387144 - Block 2387145 2387255 - ExpressionStatement 2387147 2387240 - CallExpression 2387147 2387239 - Identifier 2387147 2387189 - Identifier 2387190 2387194 - PropertyAccessExpression 2387195 2387238 - Identifier 2387195 2387215 - Identifier 2387216 2387238 - IfStatement 2387255 2387557 - BinaryExpression 2387355 2387462 - BinaryExpression 2387355 2387424 - PrefixUnaryExpression 2387355 2387363 - Identifier 2387356 2387363 - AmpersandAmpersandToken 2387363 2387366 - BinaryExpression 2387366 2387424 - Identifier 2387366 2387382 - LessThanToken 2387382 2387384 - PropertyAccessExpression 2387384 2387424 - Identifier 2387384 2387413 - Identifier 2387414 2387424 - AmpersandAmpersandToken 2387424 2387427 - PropertyAccessExpression 2387427 2387462 - Identifier 2387427 2387443 - Identifier 2387444 2387462 - Block 2387463 2387557 - ExpressionStatement 2387465 2387542 - CallExpression 2387465 2387541 - Identifier 2387465 2387507 - Identifier 2387508 2387512 - PropertyAccessExpression 2387513 2387540 - Identifier 2387513 2387533 - Identifier 2387534 2387540 - VariableStatement 2387568 2387834 - VariableDeclarationList 2387568 2387833 - VariableDeclaration 2387786 2387833 - Identifier 2387786 2387797 - CallExpression 2387799 2387833 - Identifier 2387799 2387827 - Identifier 2387828 2387832 - IfStatement 2387834 2388062 - BinaryExpression 2387848 2387896 - Identifier 2387848 2387858 - AmpersandAmpersandToken 2387858 2387861 - BinaryExpression 2387861 2387896 - PropertyAccessExpression 2387861 2387878 - Identifier 2387861 2387872 - Identifier 2387873 2387878 - AmpersandToken 2387878 2387880 - PropertyAccessExpression 2387880 2387896 - Identifier 2387880 2387890 - Identifier 2387891 2387896 - Block 2387897 2388062 - ExpressionStatement 2387899 2388051 - BinaryExpression 2387899 2388050 - Identifier 2387899 2387923 - EqualsToken 2387923 2387925 - CallExpression 2387925 2388050 - Identifier 2387925 2387936 - Identifier 2387937 2387947 - ArrowFunction 2387948 2388049 - Parameter 2387948 2387950 - Identifier 2387948 2387950 - EqualsGreaterThanToken 2387950 2387953 - CallExpression 2387953 2388049 - Identifier 2387953 2388006 - Identifier 2388007 2388008 - Identifier 2388009 2388023 - Identifier 2388024 2388048 - VariableStatement 2388062 2388177 - VariableDeclarationList 2388062 2388176 - VariableDeclaration 2388077 2388176 - Identifier 2388077 2388092 - BinaryExpression 2388094 2388176 - Identifier 2388094 2388105 - AmpersandAmpersandToken 2388105 2388108 - CallExpression 2388108 2388176 - Identifier 2388108 2388155 - Identifier 2388156 2388166 - Identifier 2388167 2388175 - VariableStatement 2388177 2388268 - VariableDeclarationList 2388177 2388267 - VariableDeclaration 2388192 2388267 - Identifier 2388192 2388211 - BinaryExpression 2388213 2388267 - BinaryExpression 2388213 2388256 - Identifier 2388213 2388228 - AmpersandAmpersandToken 2388228 2388231 - PropertyAccessExpression 2388231 2388256 - Identifier 2388231 2388246 - Identifier 2388247 2388256 - BarBarToken 2388256 2388259 - Identifier 2388259 2388267 - VariableStatement 2388268 2388357 - VariableDeclarationList 2388268 2388356 - VariableDeclaration 2388283 2388356 - Identifier 2388283 2388301 - BinaryExpression 2388303 2388356 - BinaryExpression 2388303 2388345 - Identifier 2388303 2388318 - AmpersandAmpersandToken 2388318 2388321 - PropertyAccessExpression 2388321 2388345 - Identifier 2388321 2388336 - Identifier 2388337 2388345 - BarBarToken 2388345 2388348 - Identifier 2388348 2388356 - VariableStatement 2388357 2388470 - VariableDeclarationList 2388357 2388469 - VariableDeclaration 2388372 2388469 - Identifier 2388372 2388392 - ConditionalExpression 2388394 2388469 - PropertyAccessExpression 2388394 2388410 - Identifier 2388394 2388399 - Identifier 2388400 2388410 - QuestionToken 2388410 2388412 - CallExpression 2388412 2388445 - Identifier 2388412 2388428 - PropertyAccessExpression 2388429 2388444 - Identifier 2388429 2388433 - Identifier 2388434 2388444 - ColonToken 2388445 2388447 - Identifier 2388447 2388469 - VariableStatement 2388470 2388587 - VariableDeclarationList 2388470 2388586 - VariableDeclaration 2388485 2388586 - Identifier 2388485 2388497 - CallExpression 2388499 2388586 - Identifier 2388499 2388531 - Identifier 2388532 2388536 - Identifier 2388537 2388557 - Identifier 2388558 2388576 - Identifier 2388577 2388585 - IfStatement 2388587 2388773 - BinaryExpression 2388601 2388626 - Identifier 2388601 2388611 - AmpersandAmpersandToken 2388611 2388614 - Identifier 2388614 2388626 - Block 2388627 2388773 - ExpressionStatement 2388629 2388762 - CallExpression 2388629 2388761 - Identifier 2388629 2388686 - Identifier 2388687 2388698 - Identifier 2388699 2388718 - BinaryExpression 2388719 2388743 - PropertyAccessExpression 2388719 2388735 - Identifier 2388719 2388724 - Identifier 2388725 2388735 - BarBarToken 2388735 2388738 - Identifier 2388738 2388743 - PropertyAccessExpression 2388744 2388760 - Identifier 2388744 2388749 - Identifier 2388750 2388760 - IfStatement 2388773 2389238 - PropertyAccessExpression 2388789 2388807 - Identifier 2388789 2388793 - Identifier 2388794 2388807 - Block 2388808 2389055 - VariableStatement 2388810 2388899 - VariableDeclarationList 2388810 2388898 - VariableDeclaration 2388829 2388898 - Identifier 2388829 2388833 - ConditionalExpression 2388835 2388898 - Identifier 2388835 2388843 - QuestionToken 2388843 2388845 - PropertyAccessExpression 2388845 2388873 - Identifier 2388845 2388858 - Identifier 2388859 2388873 - ColonToken 2388873 2388875 - PropertyAccessExpression 2388875 2388898 - Identifier 2388875 2388888 - Identifier 2388889 2388898 - ReturnStatement 2388899 2389044 - BinaryExpression 2388919 2389043 - CallExpression 2388919 2389015 - Identifier 2388919 2388946 - Identifier 2388947 2388950 - PropertyAccessExpression 2388951 2388976 - Identifier 2388951 2388969 - Identifier 2388970 2388976 - Identifier 2388977 2388997 - PropertyAccessExpression 2388998 2389014 - Identifier 2388998 2389003 - Identifier 2389004 2389014 - BarBarToken 2389015 2389035 - Identifier 2389035 2389043 - IfStatement 2389069 2389238 - Identifier 2389074 2389084 - Block 2389085 2389238 - ReturnStatement 2389087 2389227 - BinaryExpression 2389107 2389226 - CallExpression 2389107 2389198 - Identifier 2389107 2389153 - PropertyAccessExpression 2389154 2389176 - Identifier 2389154 2389171 - Identifier 2389172 2389176 - Identifier 2389177 2389188 - Identifier 2389189 2389197 - BarBarToken 2389198 2389218 - Identifier 2389218 2389226 - VariableStatement 2389238 2389316 - VariableDeclarationList 2389238 2389315 - VariableDeclaration 2389251 2389315 - Identifier 2389251 2389256 - CallExpression 2389258 2389315 - Identifier 2389258 2389285 - PropertyAccessExpression 2389286 2389308 - Identifier 2389286 2389303 - Identifier 2389304 2389308 - Identifier 2389309 2389314 - IfStatement 2389316 2389885 - PrefixUnaryExpression 2389330 2389335 - Identifier 2389331 2389335 - Block 2389336 2389885 - ExpressionStatement 2389338 2389367 - BinaryExpression 2389338 2389366 - Identifier 2389338 2389356 - EqualsToken 2389356 2389358 - Identifier 2389358 2389366 - ExpressionStatement 2389367 2389874 - CallExpression 2389367 2389873 - Identifier 2389367 2389398 - ArrowFunction 2389399 2389872 - EqualsGreaterThanToken 2389401 2389404 - Block 2389404 2389872 - IfStatement 2389406 2389857 - BinaryExpression 2389428 2389476 - Identifier 2389428 2389441 - AmpersandAmpersandToken 2389441 2389444 - PrefixUnaryExpression 2389444 2389476 - CallExpression 2389446 2389476 - Identifier 2389446 2389470 - Identifier 2389471 2389475 - Block 2389477 2389857 - VariableStatement 2389479 2389576 - VariableDeclarationList 2389479 2389575 - VariableDeclaration 2389506 2389575 - Identifier 2389506 2389521 - CallExpression 2389523 2389575 - Identifier 2389523 2389541 - Identifier 2389542 2389546 - Identifier 2389547 2389574 - IfStatement 2389576 2389838 - BinaryExpression 2389602 2389646 - PrefixUnaryExpression 2389602 2389617 - Identifier 2389603 2389617 - BarBarToken 2389617 2389620 - CallExpression 2389620 2389646 - Identifier 2389620 2389630 - Identifier 2389631 2389645 - Block 2389647 2389838 - ExpressionStatement 2389649 2389815 - CallExpression 2389649 2389814 - Identifier 2389649 2389680 - Identifier 2389681 2389685 - PropertyAccessExpression 2389686 2389813 - Identifier 2389686 2389698 - Identifier 2389699 2389813 - ReturnStatement 2389885 2389907 - Identifier 2389901 2389906 - FunctionDeclaration 2389907 2390356 - Identifier 2389927 2389955 - Block 2389957 2390356 - IfStatement 2389959 2390150 - PrefixUnaryExpression 2389977 2390015 - ParenthesizedExpression 2389978 2390015 - BinaryExpression 2389979 2390014 - PropertyAccessExpression 2389979 2389989 - Identifier 2389979 2389983 - Identifier 2389984 2389989 - AmpersandToken 2389989 2389991 - PropertyAccessExpression 2389991 2390014 - Identifier 2389991 2390001 - Identifier 2390002 2390014 - Block 2390016 2390150 - ExpressionStatement 2390018 2390135 - CallExpression 2390018 2390134 - Identifier 2390018 2390060 - Identifier 2390061 2390065 - PropertyAccessExpression 2390066 2390133 - Identifier 2390066 2390078 - Identifier 2390079 2390133 - IfStatement 2390150 2390345 - CallExpression 2390170 2390224 - Identifier 2390170 2390218 - Identifier 2390219 2390223 - Block 2390225 2390345 - ExpressionStatement 2390227 2390330 - CallExpression 2390227 2390329 - Identifier 2390227 2390250 - Identifier 2390251 2390255 - PropertyAccessExpression 2390256 2390328 - Identifier 2390256 2390268 - Identifier 2390269 2390328 - FunctionDeclaration 2390363 2390858 - Identifier 2390379 2390406 - Parameter 2390407 2390434 - Identifier 2390407 2390411 - TypeReference 2390412 2390434 - Identifier 2390412 2390434 - Parameter 2390435 2390457 - Identifier 2390435 2390445 - QuestionToken 2390445 2390446 - TypeReference 2390447 2390457 - Identifier 2390447 2390457 - TypeReference 2390459 2390464 - Identifier 2390459 2390464 - Block 2390464 2390858 - VariableStatement 2390466 2390542 - VariableDeclarationList 2390466 2390541 - VariableDeclaration 2390481 2390541 - Identifier 2390481 2390486 - CallExpression 2390488 2390541 - Identifier 2390488 2390514 - PropertyAccessExpression 2390515 2390529 - Identifier 2390515 2390519 - Identifier 2390520 2390529 - Identifier 2390530 2390540 - ExpressionStatement 2390542 2390648 - CallExpression 2390542 2390647 - Identifier 2390542 2390610 - PropertyAccessExpression 2390611 2390625 - Identifier 2390611 2390615 - Identifier 2390616 2390625 - Identifier 2390626 2390631 - PropertyAccessExpression 2390632 2390646 - Identifier 2390632 2390637 - Identifier 2390638 2390646 - VariableStatement 2390648 2390714 - VariableDeclarationList 2390648 2390713 - VariableDeclaration 2390663 2390713 - Identifier 2390663 2390669 - CallExpression 2390671 2390713 - Identifier 2390671 2390687 - PropertyAccessExpression 2390688 2390701 - Identifier 2390688 2390692 - Identifier 2390693 2390701 - Identifier 2390702 2390712 - VariableStatement 2390714 2390781 - VariableDeclarationList 2390714 2390780 - VariableDeclaration 2390729 2390780 - Identifier 2390729 2390735 - CallExpression 2390737 2390780 - Identifier 2390737 2390753 - PropertyAccessExpression 2390754 2390768 - Identifier 2390754 2390758 - Identifier 2390759 2390768 - Identifier 2390769 2390779 - ReturnStatement 2390781 2390851 - CallExpression 2390797 2390850 - Identifier 2390797 2390810 - ArrayLiteralExpression 2390811 2390825 - Identifier 2390812 2390817 - Identifier 2390818 2390824 - PropertyAccessExpression 2390826 2390849 - Identifier 2390826 2390841 - Identifier 2390842 2390849 - FunctionDeclaration 2390858 2391141 - Identifier 2390874 2390899 - Parameter 2390900 2390910 - Identifier 2390900 2390904 - TypeReference 2390905 2390910 - Identifier 2390905 2390910 - BooleanKeyword 2390912 2390920 - Block 2390920 2391141 - VariableStatement 2390922 2390959 - VariableDeclarationList 2390922 2390958 - VariableDeclaration 2390937 2390958 - Identifier 2390937 2390944 - PropertyAccessExpression 2390946 2390958 - Identifier 2390946 2390951 - Identifier 2390952 2390958 - ReturnStatement 2390959 2391134 - BinaryExpression 2390975 2391133 - BinaryExpression 2390975 2391045 - CallExpression 2390975 2391009 - Identifier 2390975 2391001 - Identifier 2391002 2391008 - AmpersandAmpersandToken 2391009 2391012 - CallExpression 2391012 2391045 - Identifier 2391012 2391037 - Identifier 2391038 2391044 - BarBarToken 2391045 2391048 - BinaryExpression 2391048 2391133 - CallExpression 2391048 2391095 - Identifier 2391048 2391087 - Identifier 2391088 2391094 - AmpersandAmpersandToken 2391095 2391098 - BinaryExpression 2391098 2391133 - PropertyAccessExpression 2391098 2391124 - Identifier 2391098 2391105 - Identifier 2391106 2391124 - EqualsEqualsEqualsToken 2391124 2391128 - Identifier 2391128 2391133 - FunctionDeclaration 2391141 2392326 - Identifier 2391157 2391181 - Parameter 2391182 2391206 - Identifier 2391182 2391186 - TypeReference 2391187 2391206 - Identifier 2391187 2391206 - TypeReference 2391208 2391213 - Identifier 2391208 2391213 - Block 2391213 2392326 - VariableStatement 2391215 2391256 - VariableDeclarationList 2391215 2391255 - VariableDeclaration 2391230 2391255 - Identifier 2391230 2391236 - ArrayLiteralExpression 2391238 2391255 - PropertyAccessExpression 2391240 2391254 - PropertyAccessExpression 2391240 2391249 - Identifier 2391240 2391244 - Identifier 2391245 2391249 - Identifier 2391250 2391254 - VariableStatement 2391256 2391283 - VariableDeclarationList 2391256 2391282 - VariableDeclaration 2391271 2391282 - Identifier 2391271 2391277 - ArrayLiteralExpression 2391279 2391282 - ForOfStatement 2391283 2391812 - VariableDeclarationList 2391298 2391308 - VariableDeclaration 2391303 2391308 - Identifier 2391303 2391308 - PropertyAccessExpression 2391311 2391330 - Identifier 2391311 2391316 - Identifier 2391317 2391330 - Block 2391331 2391812 - VariableStatement 2391333 2391393 - VariableDeclarationList 2391333 2391392 - VariableDeclaration 2391352 2391392 - Identifier 2391352 2391357 - CallExpression 2391359 2391392 - Identifier 2391359 2391375 - PropertyAccessExpression 2391376 2391391 - Identifier 2391376 2391380 - Identifier 2391381 2391391 - IfStatement 2391393 2391662 - CallExpression 2391411 2391481 - Identifier 2391411 2391451 - Identifier 2391452 2391456 - PropertyAccessExpression 2391457 2391480 - Identifier 2391457 2391467 - Identifier 2391468 2391480 - Block 2391482 2391662 - ExpressionStatement 2391484 2391647 - CallExpression 2391484 2391646 - Identifier 2391484 2391507 - PropertyAccessExpression 2391508 2391523 - Identifier 2391508 2391512 - Identifier 2391513 2391523 - PropertyAccessExpression 2391524 2391645 - Identifier 2391524 2391536 - Identifier 2391537 2391645 - ExpressionStatement 2391662 2391706 - CallExpression 2391662 2391705 - PropertyAccessExpression 2391662 2391686 - Identifier 2391662 2391681 - Identifier 2391682 2391686 - PropertyAccessExpression 2391687 2391704 - PropertyAccessExpression 2391687 2391699 - Identifier 2391687 2391691 - Identifier 2391692 2391699 - Identifier 2391700 2391704 - ExpressionStatement 2391706 2391801 - CallExpression 2391706 2391800 - PropertyAccessExpression 2391706 2391730 - Identifier 2391706 2391725 - Identifier 2391726 2391730 - ConditionalExpression 2391731 2391799 - CallExpression 2391731 2391779 - Identifier 2391731 2391749 - Identifier 2391750 2391754 - Identifier 2391755 2391778 - QuestionToken 2391779 2391781 - Identifier 2391781 2391786 - ColonToken 2391786 2391788 - Identifier 2391788 2391799 - VariableStatement 2391812 2391921 - VariableDeclarationList 2391812 2391920 - VariableDeclaration 2391827 2391920 - Identifier 2391827 2391837 - BinaryExpression 2391839 2391920 - BinaryExpression 2391839 2391896 - PropertyAccessExpression 2391839 2391856 - PropertyAccessExpression 2391839 2391851 - Identifier 2391839 2391844 - Identifier 2391845 2391851 - Identifier 2391852 2391856 - ExclamationEqualsEqualsToken 2391856 2391860 - PropertyAccessExpression 2391860 2391896 - Identifier 2391860 2391871 - Identifier 2391872 2391896 - AmpersandAmpersandToken 2391896 2391899 - PropertyAccessExpression 2391899 2391920 - CallExpression 2391899 2391914 - Identifier 2391899 2391908 - Identifier 2391909 2391913 - Identifier 2391915 2391920 - IfStatement 2391921 2392038 - Identifier 2391935 2391944 - Block 2391945 2392038 - ReturnStatement 2391947 2392027 - CallExpression 2391967 2392026 - Identifier 2391967 2391993 - CallExpression 2391994 2392025 - Identifier 2391994 2392014 - Identifier 2392015 2392024 - IfStatement 2392038 2392291 - BinaryExpression 2392052 2392219 - BinaryExpression 2392052 2392106 - CallExpression 2392052 2392072 - Identifier 2392052 2392066 - Identifier 2392067 2392071 - BarBarToken 2392072 2392075 - CallExpression 2392075 2392106 - Identifier 2392075 2392100 - Identifier 2392101 2392105 - BarBarToken 2392106 2392109 - CallExpression 2392109 2392219 - Identifier 2392109 2392118 - BinaryExpression 2392119 2392185 - CallExpression 2392119 2392170 - Identifier 2392119 2392136 - Identifier 2392137 2392141 - Identifier 2392142 2392169 - BarBarToken 2392170 2392173 - Identifier 2392173 2392185 - Identifier 2392186 2392218 - Block 2392220 2392291 - ReturnStatement 2392222 2392280 - CallExpression 2392242 2392279 - Identifier 2392242 2392265 - Identifier 2392266 2392271 - Identifier 2392272 2392278 - ReturnStatement 2392291 2392319 - Identifier 2392307 2392318 - FunctionDeclaration 2392326 2392643 - Identifier 2392342 2392374 - Parameter 2392375 2392385 - Identifier 2392375 2392379 - TypeReference 2392380 2392385 - Identifier 2392380 2392385 - BooleanKeyword 2392387 2392395 - Block 2392395 2392643 - ReturnStatement 2392397 2392636 - PrefixUnaryExpression 2392413 2392635 - PrefixUnaryExpression 2392415 2392635 - ParenthesizedExpression 2392416 2392635 - BinaryExpression 2392417 2392634 - BinaryExpression 2392417 2392483 - PropertyAccessExpression 2392417 2392427 - Identifier 2392417 2392421 - Identifier 2392422 2392427 - AmpersandToken 2392427 2392429 - ParenthesizedExpression 2392429 2392483 - BinaryExpression 2392431 2392482 - PropertyAccessExpression 2392431 2392454 - Identifier 2392431 2392440 - Identifier 2392441 2392454 - BarToken 2392454 2392456 - PropertyAccessExpression 2392456 2392482 - Identifier 2392456 2392466 - Identifier 2392467 2392482 - BarBarToken 2392483 2392486 - BinaryExpression 2392486 2392634 - BinaryExpression 2392486 2392547 - PropertyAccessExpression 2392486 2392510 - Identifier 2392486 2392504 - Identifier 2392505 2392510 - AmpersandToken 2392510 2392512 - PropertyAccessExpression 2392512 2392547 - Identifier 2392512 2392522 - Identifier 2392523 2392547 - AmpersandAmpersandToken 2392547 2392550 - CallExpression 2392550 2392634 - Identifier 2392550 2392566 - BinaryExpression 2392567 2392611 - CallExpression 2392567 2392596 - Identifier 2392567 2392590 - Identifier 2392591 2392595 - BarBarToken 2392596 2392599 - Identifier 2392599 2392611 - PropertyAccessExpression 2392612 2392633 - Identifier 2392612 2392622 - Identifier 2392623 2392633 - FunctionDeclaration 2392643 2393000 - Identifier 2392659 2392674 - Parameter 2392675 2392691 - Identifier 2392675 2392679 - TypeReference 2392680 2392691 - Identifier 2392680 2392691 - TypeReference 2392693 2392704 - Identifier 2392693 2392704 - Block 2392704 2393000 - IfStatement 2392706 2392971 - BinaryExpression 2392720 2392782 - CallExpression 2392720 2392741 - Identifier 2392720 2392735 - Identifier 2392736 2392740 - AmpersandAmpersandToken 2392741 2392744 - PrefixUnaryExpression 2392744 2392782 - CallExpression 2392746 2392782 - Identifier 2392746 2392769 - PropertyAccessExpression 2392770 2392781 - Identifier 2392770 2392774 - Identifier 2392775 2392781 - Block 2392783 2392971 - ReturnStatement 2392785 2392825 - PropertyAccessExpression 2392805 2392824 - PropertyAccessExpression 2392805 2392817 - Identifier 2392805 2392810 - Identifier 2392811 2392817 - Identifier 2392818 2392824 - ReturnStatement 2392971 2392993 - Identifier 2392987 2392992 - FunctionDeclaration 2393000 2394525 - Identifier 2393016 2393050 - Parameter 2393051 2393067 - Identifier 2393051 2393055 - TypeReference 2393056 2393067 - Identifier 2393056 2393067 - Parameter 2393068 2393089 - Identifier 2393068 2393083 - TypeReference 2393084 2393089 - Identifier 2393084 2393089 - Parameter 2393090 2393137 - Identifier 2393090 2393107 - UnionType 2393108 2393137 - TypeReference 2393108 2393125 - Identifier 2393108 2393125 - UndefinedKeyword 2393127 2393137 - Parameter 2393138 2393159 - Identifier 2393138 2393148 - TypeReference 2393149 2393159 - Identifier 2393149 2393159 - TypeReference 2393161 2393166 - Identifier 2393161 2393166 - Block 2393166 2394525 - VariableStatement 2393168 2393219 - VariableDeclarationList 2393168 2393218 - VariableDeclaration 2393183 2393218 - Identifier 2393183 2393195 - CallExpression 2393197 2393218 - Identifier 2393197 2393212 - Identifier 2393213 2393217 - ExpressionStatement 2393219 2393296 - CallExpression 2393219 2393295 - Identifier 2393219 2393247 - Identifier 2393248 2393259 - Identifier 2393260 2393275 - FalseKeyword 2393276 2393294 - ExpressionStatement 2393296 2393358 - CallExpression 2393296 2393357 - Identifier 2393296 2393326 - Identifier 2393327 2393338 - Identifier 2393339 2393356 - VariableStatement 2393358 2393486 - VariableDeclarationList 2393358 2393485 - VariableDeclaration 2393373 2393485 - Identifier 2393373 2393378 - CallExpression 2393380 2393485 - Identifier 2393380 2393396 - Identifier 2393397 2393401 - BinaryExpression 2393402 2393484 - BinaryExpression 2393402 2393435 - Identifier 2393402 2393412 - BarToken 2393412 2393414 - PropertyAccessExpression 2393414 2393435 - Identifier 2393414 2393424 - Identifier 2393425 2393435 - BarToken 2393435 2393437 - ParenthesizedExpression 2393437 2393484 - ConditionalExpression 2393439 2393483 - Identifier 2393439 2393455 - QuestionToken 2393455 2393457 - PropertyAccessExpression 2393457 2393479 - Identifier 2393457 2393467 - Identifier 2393468 2393479 - ColonToken 2393479 2393481 - NumericLiteral 2393481 2393483 - IfStatement 2393486 2393864 - BinaryExpression 2393711 2393777 - Identifier 2393711 2393727 - AmpersandAmpersandToken 2393727 2393730 - PropertyAccessExpression 2393730 2393777 - Identifier 2393730 2393747 - Identifier 2393748 2393777 - Block 2393778 2393864 - ExpressionStatement 2393780 2393853 - BinaryExpression 2393780 2393852 - PropertyAccessExpression 2393780 2393840 - Identifier 2393780 2393810 - Identifier 2393811 2393840 - EqualsToken 2393840 2393842 - Identifier 2393842 2393852 - VariableStatement 2393864 2394432 - VariableDeclarationList 2393864 2394431 - VariableDeclaration 2394213 2394431 - Identifier 2394213 2394220 - ConditionalExpression 2394222 2394431 - BinaryExpression 2394222 2394375 - CallExpression 2394222 2394263 - Identifier 2394222 2394238 - Identifier 2394239 2394243 - PropertyAccessExpression 2394244 2394262 - Identifier 2394244 2394254 - Identifier 2394255 2394262 - AmpersandAmpersandToken 2394263 2394266 - CallExpression 2394266 2394375 - Identifier 2394266 2394292 - Identifier 2394293 2394297 - CallExpression 2394298 2394374 - Identifier 2394298 2394324 - Identifier 2394325 2394339 - Identifier 2394340 2394345 - Identifier 2394346 2394373 - QuestionToken 2394375 2394377 - CallExpression 2394377 2394424 - Identifier 2394377 2394418 - Identifier 2394419 2394423 - ColonToken 2394424 2394426 - Identifier 2394426 2394431 - ExpressionStatement 2394432 2394464 - CallExpression 2394432 2394463 - Identifier 2394432 2394461 - ExpressionStatement 2394464 2394494 - CallExpression 2394464 2394493 - Identifier 2394464 2394491 - ReturnStatement 2394494 2394518 - Identifier 2394510 2394517 - FunctionDeclaration 2394525 2395532 - Identifier 2394541 2394563 - Parameter 2394564 2394596 - Identifier 2394564 2394568 - UnionType 2394569 2394596 - TypeReference 2394569 2394580 - Identifier 2394569 2394580 - TypeReference 2394582 2394596 - Identifier 2394582 2394596 - Parameter 2394597 2394619 - Identifier 2394597 2394607 - QuestionToken 2394607 2394608 - TypeReference 2394609 2394619 - Identifier 2394609 2394619 - TypeReference 2394621 2394626 - Identifier 2394621 2394626 - Block 2394626 2395532 - IfStatement 2394628 2394719 - Identifier 2394642 2394651 - Block 2394652 2394719 - ReturnStatement 2394654 2394708 - CallExpression 2394674 2394707 - Identifier 2394674 2394690 - Identifier 2394691 2394695 - Identifier 2394696 2394706 - VariableStatement 2394719 2394762 - VariableDeclarationList 2394719 2394761 - VariableDeclaration 2394734 2394761 - Identifier 2394734 2394740 - CallExpression 2394742 2394761 - Identifier 2394742 2394755 - Identifier 2394756 2394760 - IfStatement 2394762 2395489 - PrefixUnaryExpression 2394776 2394795 - PropertyAccessExpression 2394777 2394795 - Identifier 2394777 2394782 - Identifier 2394783 2394795 - Block 2394796 2395489 - VariableStatement 2394798 2395176 - VariableDeclarationList 2394798 2395175 - VariableDeclaration 2395141 2395175 - Identifier 2395141 2395159 - Identifier 2395161 2395175 - VariableStatement 2395176 2395230 - VariableDeclarationList 2395176 2395229 - VariableDeclaration 2395195 2395229 - Identifier 2395195 2395213 - Identifier 2395215 2395229 - ExpressionStatement 2395230 2395274 - BinaryExpression 2395230 2395273 - Identifier 2395230 2395257 - EqualsToken 2395257 2395259 - Identifier 2395259 2395273 - ExpressionStatement 2395274 2395314 - BinaryExpression 2395274 2395313 - Identifier 2395274 2395301 - EqualsToken 2395301 2395303 - Identifier 2395303 2395313 - ExpressionStatement 2395314 2395382 - BinaryExpression 2395314 2395381 - PropertyAccessExpression 2395314 2395346 - Identifier 2395314 2395333 - Identifier 2395334 2395346 - EqualsToken 2395346 2395348 - CallExpression 2395348 2395381 - Identifier 2395348 2395364 - Identifier 2395365 2395369 - Identifier 2395370 2395380 - ExpressionStatement 2395382 2395430 - BinaryExpression 2395382 2395429 - Identifier 2395382 2395409 - EqualsToken 2395409 2395411 - Identifier 2395411 2395429 - ExpressionStatement 2395430 2395478 - BinaryExpression 2395430 2395477 - Identifier 2395430 2395457 - EqualsToken 2395457 2395459 - Identifier 2395459 2395477 - ReturnStatement 2395489 2395525 - PropertyAccessExpression 2395505 2395524 - Identifier 2395505 2395511 - Identifier 2395512 2395524 - FunctionDeclaration 2395532 2395830 - Identifier 2395548 2395564 - Parameter 2395565 2395581 - Identifier 2395565 2395569 - TypeReference 2395570 2395581 - Identifier 2395570 2395581 - Block 2395582 2395830 - ExpressionStatement 2395584 2395660 - BinaryExpression 2395584 2395659 - Identifier 2395584 2395598 - EqualsToken 2395598 2395600 - CallExpression 2395600 2395659 - Identifier 2395600 2395616 - Identifier 2395617 2395621 - TrueKeyword 2395622 2395658 - ReturnStatement 2395660 2395823 - BinaryExpression 2395676 2395822 - BinaryExpression 2395676 2395779 - BinaryExpression 2395676 2395725 - PropertyAccessExpression 2395676 2395686 - Identifier 2395676 2395681 - Identifier 2395682 2395686 - EqualsEqualsEqualsToken 2395686 2395690 - PropertyAccessExpression 2395690 2395725 - Identifier 2395690 2395701 - Identifier 2395702 2395725 - BarBarToken 2395725 2395728 - BinaryExpression 2395728 2395779 - PropertyAccessExpression 2395728 2395751 - Identifier 2395728 2395746 - Identifier 2395747 2395751 - EqualsEqualsEqualsToken 2395751 2395755 - PropertyAccessExpression 2395755 2395779 - Identifier 2395755 2395766 - Identifier 2395767 2395779 - BarBarToken 2395779 2395782 - CallExpression 2395782 2395822 - Identifier 2395782 2395816 - Identifier 2395817 2395821 - FunctionDeclaration 2395830 2397158 - Identifier 2395846 2395874 - Parameter 2395875 2395922 - Identifier 2395875 2395896 - TypeReference 2395897 2395922 - Identifier 2395897 2395922 - Parameter 2395923 2395953 - Identifier 2395923 2395942 - TypeReference 2395943 2395953 - Identifier 2395943 2395953 - Parameter 2395954 2395997 - Identifier 2395954 2395978 - QuestionToken 2395978 2395979 - UnionType 2395980 2395997 - TypeReference 2395980 2395985 - Identifier 2395980 2395985 - UndefinedKeyword 2395987 2395997 - Block 2396005 2397158 - VariableStatement 2396007 2396075 - VariableDeclarationList 2396007 2396074 - VariableDeclaration 2396022 2396074 - Identifier 2396022 2396034 - NonNullExpression 2396036 2396074 - CallExpression 2396036 2396073 - Identifier 2396036 2396060 - Identifier 2396061 2396072 - IfStatement 2396075 2396333 - CallExpression 2396089 2396112 - Identifier 2396089 2396099 - Identifier 2396100 2396111 - Block 2396113 2396333 - VariableStatement 2396115 2396188 - VariableDeclarationList 2396115 2396187 - VariableDeclaration 2396134 2396187 - Identifier 2396134 2396143 - CallExpression 2396145 2396187 - Identifier 2396145 2396174 - Identifier 2396175 2396186 - IfStatement 2396188 2396322 - Identifier 2396206 2396214 - Block 2396215 2396322 - ReturnStatement 2396217 2396307 - CallExpression 2396241 2396306 - Identifier 2396241 2396272 - Identifier 2396273 2396284 - Identifier 2396285 2396294 - Identifier 2396295 2396305 - VariableStatement 2396333 2396616 - VariableDeclarationList 2396333 2396615 - VariableDeclaration 2396348 2396615 - Identifier 2396348 2396353 - BinaryExpression 2396355 2396615 - CallExpression 2396355 2396393 - Identifier 2396355 2396380 - Identifier 2396381 2396392 - BarBarToken 2396393 2396396 - ParenthesizedExpression 2396396 2396615 - ConditionalExpression 2396398 2396614 - Identifier 2396398 2396412 - QuestionToken 2396412 2396414 - CallExpression 2396414 2396553 - Identifier 2396414 2396461 - Identifier 2396462 2396473 - Identifier 2396474 2396489 - Identifier 2396490 2396521 - BinaryExpression 2396522 2396552 - Identifier 2396522 2396532 - BarBarToken 2396532 2396535 - PropertyAccessExpression 2396535 2396552 - Identifier 2396535 2396545 - Identifier 2396546 2396552 - ColonToken 2396553 2396555 - CallExpression 2396555 2396614 - Identifier 2396555 2396590 - Identifier 2396591 2396602 - Identifier 2396603 2396613 - IfStatement 2396616 2397129 - CallExpression 2396630 2396734 - Identifier 2396630 2396641 - ConditionalExpression 2396642 2396733 - CallExpression 2396642 2396671 - Identifier 2396642 2396658 - Identifier 2396659 2396670 - QuestionToken 2396671 2396673 - CallExpression 2396673 2396719 - Identifier 2396673 2396706 - Identifier 2396707 2396718 - ColonToken 2396719 2396721 - Identifier 2396721 2396733 - Block 2396735 2397129 - IfStatement 2396737 2396943 - BinaryExpression 2396755 2396841 - BinaryExpression 2396755 2396812 - PropertyAccessExpression 2396755 2396776 - PropertyAccessExpression 2396755 2396771 - Identifier 2396755 2396766 - Identifier 2396767 2396771 - Identifier 2396772 2396776 - EqualsEqualsEqualsToken 2396776 2396780 - PropertyAccessExpression 2396780 2396812 - Identifier 2396780 2396791 - Identifier 2396792 2396812 - AmpersandAmpersandToken 2396812 2396815 - CallExpression 2396815 2396841 - Identifier 2396815 2396835 - Identifier 2396836 2396840 - Block 2396842 2396943 - ReturnStatement 2396844 2396928 - CallExpression 2396868 2396927 - Identifier 2396868 2396889 - AsExpression 2396890 2396908 - Identifier 2396890 2396894 - TypeReference 2396897 2396908 - Identifier 2396897 2396908 - PropertyAccessExpression 2396909 2396926 - Identifier 2396909 2396921 - Identifier 2396922 2396926 - IfStatement 2396943 2397118 - BinaryExpression 2396961 2397038 - BinaryExpression 2396961 2397017 - PropertyAccessExpression 2396961 2396982 - PropertyAccessExpression 2396961 2396977 - Identifier 2396961 2396972 - Identifier 2396973 2396977 - Identifier 2396978 2396982 - EqualsEqualsEqualsToken 2396982 2396986 - PropertyAccessExpression 2396986 2397017 - Identifier 2396986 2396997 - Identifier 2396998 2397017 - AmpersandAmpersandToken 2397017 2397020 - CallExpression 2397020 2397038 - Identifier 2397020 2397032 - Identifier 2397033 2397037 - Block 2397039 2397118 - ReturnStatement 2397041 2397103 - CallExpression 2397065 2397102 - Identifier 2397065 2397078 - Identifier 2397079 2397083 - PropertyAccessExpression 2397084 2397101 - Identifier 2397084 2397096 - Identifier 2397097 2397101 - ReturnStatement 2397129 2397151 - Identifier 2397145 2397150 - FunctionDeclaration 2397158 2398425 - Identifier 2397174 2397195 - Parameter 2397196 2397212 - Identifier 2397196 2397200 - TypeReference 2397201 2397212 - Identifier 2397201 2397212 - Parameter 2397213 2397243 - Identifier 2397213 2397221 - TypeReference 2397222 2397243 - Identifier 2397222 2397243 - TypeReference 2397245 2397250 - Identifier 2397245 2397250 - Block 2397250 2398425 - VariableStatement 2397252 2397312 - VariableDeclarationList 2397252 2397311 - VariableDeclaration 2397265 2397311 - Identifier 2397265 2397281 - UnionType 2397282 2397311 - ArrayType 2397282 2397299 - TypeReference 2397282 2397297 - Identifier 2397282 2397297 - UndefinedKeyword 2397301 2397311 - ForOfStatement 2397312 2397634 - VariableDeclarationList 2397327 2397334 - VariableDeclaration 2397332 2397334 - Identifier 2397332 2397334 - PropertyAccessExpression 2397337 2397354 - Identifier 2397337 2397345 - Identifier 2397346 2397354 - Block 2397355 2397634 - IfStatement 2397357 2397623 - PropertyAccessExpression 2397375 2397388 - Identifier 2397375 2397376 - Identifier 2397377 2397388 - Block 2397389 2397623 - VariableStatement 2397391 2397459 - VariableDeclarationList 2397391 2397458 - VariableDeclaration 2397414 2397458 - Identifier 2397414 2397419 - CallExpression 2397421 2397458 - Identifier 2397421 2397455 - Identifier 2397456 2397457 - IfStatement 2397459 2397608 - BinaryExpression 2397481 2397519 - Identifier 2397481 2397485 - AmpersandAmpersandToken 2397485 2397488 - PrefixUnaryExpression 2397488 2397519 - CallExpression 2397490 2397519 - Identifier 2397490 2397507 - Identifier 2397508 2397512 - Identifier 2397513 2397518 - Block 2397520 2397608 - ExpressionStatement 2397522 2397589 - BinaryExpression 2397522 2397588 - Identifier 2397522 2397559 - EqualsToken 2397559 2397561 - CallExpression 2397561 2397588 - Identifier 2397561 2397568 - Identifier 2397569 2397584 - Identifier 2397585 2397587 - IfStatement 2397634 2397704 - PrefixUnaryExpression 2397648 2397664 - Identifier 2397649 2397664 - Block 2397665 2397704 - ReturnStatement 2397667 2397693 - Identifier 2397687 2397692 - VariableStatement 2397704 2397750 - VariableDeclarationList 2397704 2397749 - VariableDeclaration 2397719 2397749 - Identifier 2397719 2397727 - CallExpression 2397729 2397749 - Identifier 2397729 2397747 - ForOfStatement 2397750 2397874 - VariableDeclarationList 2397765 2397775 - VariableDeclaration 2397770 2397775 - Identifier 2397770 2397775 - CallExpression 2397778 2397810 - Identifier 2397778 2397804 - Identifier 2397805 2397809 - Block 2397811 2397874 - ExpressionStatement 2397813 2397863 - CallExpression 2397813 2397862 - PropertyAccessExpression 2397813 2397838 - Identifier 2397813 2397834 - Identifier 2397835 2397838 - PropertyAccessExpression 2397839 2397855 - Identifier 2397839 2397843 - Identifier 2397844 2397855 - Identifier 2397856 2397861 - ForOfStatement 2397874 2398228 - VariableDeclarationList 2397889 2397896 - VariableDeclaration 2397894 2397896 - Identifier 2397894 2397896 - Identifier 2397899 2397915 - Block 2397916 2398228 - VariableStatement 2397918 2398044 - VariableDeclarationList 2397918 2398043 - VariableDeclaration 2397937 2398043 - Identifier 2397937 2397944 - CallExpression 2397946 2398043 - Identifier 2397946 2397959 - BinaryExpression 2397960 2398003 - PropertyAccessExpression 2397960 2397980 - Identifier 2397960 2397971 - Identifier 2397972 2397980 - BarToken 2397980 2397982 - PropertyAccessExpression 2397982 2398003 - Identifier 2397982 2397994 - Identifier 2397995 2398003 - NonNullExpression 2398004 2398042 - CallExpression 2398004 2398041 - Identifier 2398004 2398038 - Identifier 2398039 2398040 - ExpressionStatement 2398044 2398163 - BinaryExpression 2398044 2398162 - PropertyAccessExpression 2398044 2398075 - PropertyAccessExpression 2398044 2398070 - Identifier 2398044 2398064 - Identifier 2398065 2398070 - Identifier 2398071 2398075 - EqualsToken 2398075 2398077 - CallExpression 2398077 2398162 - Identifier 2398077 2398103 - Identifier 2398104 2398105 - FalseKeyword 2398106 2398137 - FalseKeyword 2398138 2398161 - ExpressionStatement 2398163 2398217 - CallExpression 2398163 2398216 - PropertyAccessExpression 2398163 2398188 - Identifier 2398163 2398184 - Identifier 2398185 2398188 - PropertyAccessExpression 2398189 2398207 - Identifier 2398189 2398195 - Identifier 2398196 2398207 - Identifier 2398208 2398215 - VariableStatement 2398228 2398346 - VariableDeclarationList 2398228 2398345 - VariableDeclaration 2398243 2398345 - Identifier 2398243 2398250 - CallExpression 2398252 2398345 - Identifier 2398252 2398272 - PropertyAccessExpression 2398273 2398284 - Identifier 2398273 2398277 - Identifier 2398278 2398284 - Identifier 2398285 2398293 - Identifier 2398294 2398305 - Identifier 2398306 2398317 - CallExpression 2398318 2398344 - Identifier 2398318 2398338 - Identifier 2398339 2398343 - ExpressionStatement 2398346 2398394 - BinaryExpression 2398346 2398393 - PropertyAccessExpression 2398346 2398374 - Identifier 2398346 2398362 - Identifier 2398363 2398374 - EqualsToken 2398374 2398376 - PropertyAccessExpression 2398376 2398393 - Identifier 2398376 2398381 - Identifier 2398382 2398393 - ReturnStatement 2398394 2398418 - Identifier 2398410 2398417 - FunctionDeclaration 2398425 2398703 - Identifier 2398441 2398475 - Parameter 2398476 2398493 - Identifier 2398476 2398477 - TypeReference 2398478 2398493 - Identifier 2398478 2398493 - Block 2398494 2398703 - VariableStatement 2398496 2398594 - VariableDeclarationList 2398496 2398593 - VariableDeclaration 2398511 2398593 - Identifier 2398511 2398520 - CallExpression 2398522 2398593 - Identifier 2398522 2398553 - BinaryExpression 2398554 2398592 - PropertyAccessExpression 2398554 2398568 - Identifier 2398554 2398555 - Identifier 2398556 2398568 - BarBarToken 2398568 2398571 - AsExpression 2398571 2398592 - PropertyAccessExpression 2398571 2398578 - Identifier 2398571 2398573 - Identifier 2398574 2398578 - TypeReference 2398581 2398592 - Identifier 2398581 2398592 - ReturnStatement 2398594 2398696 - ConditionalExpression 2398610 2398695 - CallExpression 2398610 2398647 - Identifier 2398610 2398637 - Identifier 2398638 2398646 - QuestionToken 2398647 2398649 - CallExpression 2398649 2398683 - Identifier 2398649 2398673 - Identifier 2398674 2398682 - ColonToken 2398683 2398685 - Identifier 2398685 2398695 - FunctionDeclaration 2398703 2399867 - Identifier 2398719 2398732 - Parameter 2398733 2398757 - Identifier 2398733 2398737 - TypeReference 2398738 2398757 - Identifier 2398738 2398757 - Parameter 2398758 2398787 - Identifier 2398758 2398766 - TypeReference 2398767 2398787 - Identifier 2398767 2398787 - Block 2398788 2399867 - IfStatement 2398790 2398951 - BinaryExpression 2398804 2398911 - BinaryExpression 2398804 2398853 - PropertyAccessExpression 2398804 2398829 - PropertyAccessExpression 2398804 2398815 - Identifier 2398804 2398808 - Identifier 2398809 2398815 - Identifier 2398816 2398829 - AmpersandToken 2398829 2398831 - PropertyAccessExpression 2398831 2398853 - Identifier 2398831 2398844 - Identifier 2398845 2398853 - BarBarToken 2398853 2398856 - BinaryExpression 2398856 2398911 - CallExpression 2398856 2398884 - Identifier 2398856 2398878 - Identifier 2398879 2398883 - GreaterThanEqualsToken 2398884 2398887 - PropertyAccessExpression 2398887 2398911 - PropertyAccessExpression 2398887 2398904 - Identifier 2398887 2398895 - Identifier 2398896 2398904 - Identifier 2398905 2398911 - Block 2398912 2398951 - ReturnStatement 2398914 2398940 - Identifier 2398934 2398939 - VariableStatement 2398951 2399002 - VariableDeclarationList 2398951 2399001 - VariableDeclaration 2398966 2399001 - Identifier 2398966 2398982 - PropertyAccessExpression 2398984 2399001 - Identifier 2398984 2398992 - Identifier 2398993 2399001 - VariableStatement 2399002 2399063 - VariableDeclarationList 2399002 2399062 - VariableDeclaration 2399017 2399062 - Identifier 2399017 2399030 - CallExpression 2399032 2399062 - PropertyAccessExpression 2399032 2399060 - CallExpression 2399032 2399054 - Identifier 2399032 2399048 - Identifier 2399049 2399053 - Identifier 2399055 2399060 - VariableStatement 2399063 2399127 - VariableDeclarationList 2399063 2399126 - VariableDeclaration 2399078 2399126 - Identifier 2399078 2399091 - CallExpression 2399093 2399126 - PropertyAccessExpression 2399093 2399124 - PropertyAccessExpression 2399093 2399118 - PropertyAccessExpression 2399093 2399105 - Identifier 2399093 2399098 - Identifier 2399099 2399105 - Identifier 2399106 2399118 - Identifier 2399119 2399124 - ForStatement 2399127 2399777 - VariableDeclarationList 2399142 2399177 - VariableDeclaration 2399145 2399177 - Identifier 2399145 2399147 - CallExpression 2399149 2399177 - Identifier 2399149 2399171 - Identifier 2399172 2399176 - BinaryExpression 2399178 2399205 - Identifier 2399178 2399180 - LessThanToken 2399180 2399182 - PropertyAccessExpression 2399182 2399205 - Identifier 2399182 2399198 - Identifier 2399199 2399205 - PostfixUnaryExpression 2399206 2399210 - Identifier 2399206 2399208 - Block 2399211 2399777 - VariableStatement 2399213 2399256 - VariableDeclarationList 2399213 2399255 - VariableDeclaration 2399232 2399255 - Identifier 2399232 2399234 - ElementAccessExpression 2399236 2399255 - Identifier 2399236 2399252 - Identifier 2399253 2399254 - IfStatement 2399256 2399766 - BinaryExpression 2399274 2399367 - BinaryExpression 2399274 2399304 - Identifier 2399274 2399275 - LessThanToken 2399275 2399277 - BinaryExpression 2399277 2399304 - PropertyAccessExpression 2399277 2399300 - Identifier 2399277 2399293 - Identifier 2399294 2399300 - MinusToken 2399300 2399302 - NumericLiteral 2399302 2399304 - BarBarToken 2399304 2399307 - PrefixUnaryExpression 2399307 2399367 - ParenthesizedExpression 2399309 2399367 - BinaryExpression 2399310 2399366 - BinaryExpression 2399310 2399346 - PropertyAccessExpression 2399310 2399316 - Identifier 2399310 2399311 - Identifier 2399312 2399316 - EqualsEqualsEqualsToken 2399316 2399320 - PropertyAccessExpression 2399320 2399346 - Identifier 2399320 2399331 - Identifier 2399332 2399346 - AmpersandAmpersandToken 2399346 2399349 - PropertyAccessExpression 2399349 2399366 - Identifier 2399349 2399351 - Identifier 2399352 2399366 - Block 2399368 2399766 - ExpressionStatement 2399370 2399550 - CallExpression 2399370 2399549 - PropertyAccessExpression 2399370 2399405 - Identifier 2399370 2399400 - Identifier 2399401 2399405 - ConditionalExpression 2399406 2399548 - BinaryExpression 2399406 2399451 - PrefixUnaryExpression 2399406 2399429 - CallExpression 2399407 2399429 - Identifier 2399407 2399426 - Identifier 2399427 2399428 - AmpersandAmpersandToken 2399429 2399432 - CallExpression 2399432 2399451 - Identifier 2399432 2399448 - Identifier 2399449 2399450 - QuestionToken 2399451 2399453 - CallExpression 2399453 2399538 - Identifier 2399453 2399479 - Identifier 2399480 2399481 - FalseKeyword 2399482 2399513 - FalseKeyword 2399514 2399537 - ColonToken 2399538 2399540 - Identifier 2399540 2399548 - ExpressionStatement 2399550 2399609 - CallExpression 2399550 2399608 - PropertyAccessExpression 2399550 2399585 - Identifier 2399550 2399580 - Identifier 2399581 2399585 - PropertyAccessExpression 2399586 2399607 - Identifier 2399586 2399598 - Identifier 2399599 2399607 - IfStatement 2399609 2399751 - BinaryExpression 2399631 2399677 - PrefixUnaryExpression 2399631 2399654 - CallExpression 2399632 2399654 - Identifier 2399632 2399651 - Identifier 2399652 2399653 - AmpersandAmpersandToken 2399654 2399657 - PrefixUnaryExpression 2399657 2399677 - CallExpression 2399659 2399677 - Identifier 2399659 2399674 - Identifier 2399675 2399676 - Block 2399678 2399751 - ExpressionStatement 2399680 2399732 - CallExpression 2399680 2399731 - Identifier 2399680 2399719 - Identifier 2399720 2399721 - Identifier 2399722 2399730 - ReturnStatement 2399777 2399860 - CallExpression 2399793 2399859 - Identifier 2399793 2399809 - Identifier 2399810 2399822 - Identifier 2399823 2399836 - PropertyAccessExpression 2399837 2399858 - PropertyAccessExpression 2399837 2399849 - Identifier 2399837 2399842 - Identifier 2399843 2399849 - Identifier 2399850 2399858 - FunctionDeclaration 2399867 2400461 - Identifier 2399883 2399916 - Parameter 2399917 2399954 - Identifier 2399917 2399928 - TypeReference 2399929 2399954 - Identifier 2399929 2399954 - Parameter 2399955 2399966 - Identifier 2399955 2399960 - TypeReference 2399961 2399966 - Identifier 2399961 2399966 - Block 2399967 2400461 - VariableStatement 2399969 2400050 - VariableDeclarationList 2399969 2400049 - VariableDeclaration 2399984 2400049 - Identifier 2399984 2399992 - CallExpression 2399994 2400049 - Identifier 2399994 2400030 - Identifier 2400031 2400042 - Identifier 2400043 2400048 - IfStatement 2400050 2400429 - CallExpression 2400064 2400087 - Identifier 2400064 2400074 - Identifier 2400075 2400086 - Block 2400088 2400429 - IfStatement 2400090 2400418 - CallExpression 2400108 2400135 - Identifier 2400108 2400126 - Identifier 2400127 2400134 - Block 2400136 2400244 - ExpressionStatement 2400138 2400196 - CallExpression 2400138 2400195 - Identifier 2400138 2400173 - Identifier 2400174 2400185 - Identifier 2400186 2400194 - ReturnStatement 2400196 2400229 - Identifier 2400220 2400228 - IfStatement 2400262 2400418 - CallExpression 2400267 2400299 - Identifier 2400267 2400290 - Identifier 2400291 2400298 - Block 2400300 2400418 - ExpressionStatement 2400302 2400365 - CallExpression 2400302 2400364 - Identifier 2400302 2400337 - Identifier 2400338 2400349 - Identifier 2400350 2400363 - ReturnStatement 2400365 2400403 - Identifier 2400389 2400402 - ReturnStatement 2400429 2400454 - Identifier 2400445 2400453 - FunctionDeclaration 2400461 2400726 - Identifier 2400477 2400513 - Parameter 2400514 2400551 - Identifier 2400514 2400525 - TypeReference 2400526 2400551 - Identifier 2400526 2400551 - Parameter 2400552 2400563 - Identifier 2400552 2400557 - TypeReference 2400558 2400563 - Identifier 2400558 2400563 - Block 2400564 2400726 - ReturnStatement 2400566 2400719 - ConditionalExpression 2400582 2400718 - BinaryExpression 2400582 2400681 - BinaryExpression 2400582 2400643 - CallExpression 2400582 2400622 - Identifier 2400582 2400609 - Identifier 2400610 2400621 - AmpersandToken 2400622 2400624 - PropertyAccessExpression 2400624 2400643 - Identifier 2400624 2400634 - Identifier 2400635 2400643 - BarBarToken 2400643 2400646 - CallExpression 2400646 2400681 - Identifier 2400646 2400668 - Identifier 2400669 2400680 - QuestionToken 2400681 2400683 - Identifier 2400683 2400688 - ColonToken 2400688 2400690 - CallExpression 2400690 2400718 - Identifier 2400690 2400712 - Identifier 2400713 2400717 - FunctionDeclaration 2400726 2403114 - Identifier 2400742 2400768 - Parameter 2400769 2400788 - Identifier 2400769 2400782 - TypeReference 2400783 2400788 - Identifier 2400783 2400788 - Parameter 2400789 2400822 - Identifier 2400789 2400804 - UnionType 2400805 2400822 - TypeReference 2400805 2400810 - Identifier 2400805 2400810 - UndefinedKeyword 2400812 2400822 - BooleanKeyword 2400824 2400832 - Block 2400832 2403114 - IfStatement 2400834 2403084 - Identifier 2400848 2400862 - Block 2400863 2403084 - IfStatement 2400865 2401108 - BinaryExpression 2400883 2400935 - PropertyAccessExpression 2400883 2400903 - Identifier 2400883 2400897 - Identifier 2400898 2400903 - AmpersandToken 2400903 2400905 - PropertyAccessExpression 2400905 2400935 - Identifier 2400905 2400915 - Identifier 2400916 2400935 - Block 2400936 2401108 - VariableStatement 2400938 2401006 - VariableDeclarationList 2400938 2401005 - VariableDeclaration 2400961 2401005 - Identifier 2400961 2400967 - PropertyAccessExpression 2400969 2401005 - ParenthesizedExpression 2400969 2400999 - AsExpression 2400971 2400998 - Identifier 2400971 2400985 - TypeReference 2400988 2400998 - Identifier 2400988 2400998 - Identifier 2401000 2401005 - ReturnStatement 2401006 2401093 - CallExpression 2401030 2401092 - Identifier 2401030 2401035 - Identifier 2401036 2401041 - ArrowFunction 2401042 2401091 - Parameter 2401042 2401044 - Identifier 2401042 2401044 - EqualsGreaterThanToken 2401044 2401047 - CallExpression 2401047 2401091 - Identifier 2401047 2401073 - Identifier 2401074 2401087 - Identifier 2401088 2401090 - IfStatement 2401108 2402184 - BinaryExpression 2401126 2401183 - PropertyAccessExpression 2401126 2401146 - Identifier 2401126 2401140 - Identifier 2401141 2401146 - AmpersandToken 2401146 2401148 - PropertyAccessExpression 2401148 2401183 - Identifier 2401148 2401158 - Identifier 2401159 2401183 - Block 2401184 2402184 - VariableStatement 2401186 2401572 - VariableDeclarationList 2401186 2401571 - VariableDeclaration 2401503 2401571 - Identifier 2401503 2401514 - BinaryExpression 2401516 2401571 - CallExpression 2401516 2401556 - Identifier 2401516 2401540 - Identifier 2401541 2401555 - BarBarToken 2401556 2401559 - Identifier 2401559 2401571 - ReturnStatement 2401572 2402169 - BinaryExpression 2401596 2402168 - BinaryExpression 2401596 2402091 - BinaryExpression 2401596 2401959 - BinaryExpression 2401596 2401830 - BinaryExpression 2401596 2401701 - CallExpression 2401596 2401642 - Identifier 2401596 2401612 - Identifier 2401613 2401623 - PropertyAccessExpression 2401624 2401641 - Identifier 2401624 2401634 - Identifier 2401635 2401641 - AmpersandAmpersandToken 2401642 2401645 - CallExpression 2401645 2401701 - Identifier 2401645 2401661 - Identifier 2401662 2401675 - PropertyAccessExpression 2401676 2401700 - Identifier 2401676 2401686 - Identifier 2401687 2401700 - BarBarToken 2401701 2401704 - BinaryExpression 2401704 2401830 - CallExpression 2401704 2401771 - Identifier 2401704 2401741 - Identifier 2401742 2401752 - PropertyAccessExpression 2401753 2401770 - Identifier 2401753 2401763 - Identifier 2401764 2401770 - AmpersandAmpersandToken 2401771 2401774 - CallExpression 2401774 2401830 - Identifier 2401774 2401790 - Identifier 2401791 2401804 - PropertyAccessExpression 2401805 2401829 - Identifier 2401805 2401815 - Identifier 2401816 2401829 - BarBarToken 2401830 2401833 - BinaryExpression 2401833 2401959 - CallExpression 2401833 2401900 - Identifier 2401833 2401870 - Identifier 2401871 2401881 - PropertyAccessExpression 2401882 2401899 - Identifier 2401882 2401892 - Identifier 2401893 2401899 - AmpersandAmpersandToken 2401900 2401903 - CallExpression 2401903 2401959 - Identifier 2401903 2401919 - Identifier 2401920 2401933 - PropertyAccessExpression 2401934 2401958 - Identifier 2401934 2401944 - Identifier 2401945 2401958 - BarBarToken 2401959 2401962 - BinaryExpression 2401962 2402091 - CallExpression 2401962 2402031 - Identifier 2401962 2401999 - Identifier 2402000 2402010 - PropertyAccessExpression 2402011 2402030 - Identifier 2402011 2402021 - Identifier 2402022 2402030 - AmpersandAmpersandToken 2402031 2402034 - CallExpression 2402034 2402091 - Identifier 2402034 2402050 - Identifier 2402051 2402064 - PropertyAccessExpression 2402065 2402090 - Identifier 2402065 2402075 - Identifier 2402076 2402090 - BarBarToken 2402091 2402094 - CallExpression 2402094 2402168 - Identifier 2402094 2402141 - Identifier 2402142 2402155 - Identifier 2402156 2402167 - ReturnStatement 2402184 2403073 - PrefixUnaryExpression 2402380 2403072 - PrefixUnaryExpression 2402382 2403072 - ParenthesizedExpression 2402383 2403072 - BinaryExpression 2402384 2403071 - BinaryExpression 2402384 2402943 - BinaryExpression 2402384 2402815 - BinaryExpression 2402384 2402689 - BinaryExpression 2402384 2402563 - BinaryExpression 2402384 2402504 - PropertyAccessExpression 2402384 2402404 - Identifier 2402384 2402398 - Identifier 2402399 2402404 - AmpersandToken 2402404 2402406 - ParenthesizedExpression 2402406 2402504 - BinaryExpression 2402408 2402503 - BinaryExpression 2402408 2402477 - BinaryExpression 2402408 2402449 - PropertyAccessExpression 2402408 2402431 - Identifier 2402408 2402417 - Identifier 2402418 2402431 - BarToken 2402431 2402433 - PropertyAccessExpression 2402433 2402449 - Identifier 2402433 2402443 - Identifier 2402444 2402449 - BarToken 2402449 2402451 - PropertyAccessExpression 2402451 2402477 - Identifier 2402451 2402461 - Identifier 2402462 2402477 - BarToken 2402477 2402479 - PropertyAccessExpression 2402479 2402503 - Identifier 2402479 2402489 - Identifier 2402490 2402503 - AmpersandAmpersandToken 2402504 2402507 - CallExpression 2402507 2402563 - Identifier 2402507 2402523 - Identifier 2402524 2402537 - PropertyAccessExpression 2402538 2402562 - Identifier 2402538 2402548 - Identifier 2402549 2402562 - BarBarToken 2402563 2402566 - BinaryExpression 2402566 2402689 - BinaryExpression 2402566 2402630 - PropertyAccessExpression 2402566 2402604 - Identifier 2402566 2402598 - Identifier 2402599 2402604 - AmpersandToken 2402604 2402606 - PropertyAccessExpression 2402606 2402630 - Identifier 2402606 2402616 - Identifier 2402617 2402630 - AmpersandAmpersandToken 2402630 2402633 - CallExpression 2402633 2402689 - Identifier 2402633 2402649 - Identifier 2402650 2402663 - PropertyAccessExpression 2402664 2402688 - Identifier 2402664 2402674 - Identifier 2402675 2402688 - BarBarToken 2402689 2402692 - BinaryExpression 2402692 2402815 - BinaryExpression 2402692 2402756 - PropertyAccessExpression 2402692 2402730 - Identifier 2402692 2402724 - Identifier 2402725 2402730 - AmpersandToken 2402730 2402732 - PropertyAccessExpression 2402732 2402756 - Identifier 2402732 2402742 - Identifier 2402743 2402756 - AmpersandAmpersandToken 2402756 2402759 - CallExpression 2402759 2402815 - Identifier 2402759 2402775 - Identifier 2402776 2402789 - PropertyAccessExpression 2402790 2402814 - Identifier 2402790 2402800 - Identifier 2402801 2402814 - BarBarToken 2402815 2402818 - BinaryExpression 2402818 2402943 - BinaryExpression 2402818 2402883 - PropertyAccessExpression 2402818 2402856 - Identifier 2402818 2402850 - Identifier 2402851 2402856 - AmpersandToken 2402856 2402858 - PropertyAccessExpression 2402858 2402883 - Identifier 2402858 2402868 - Identifier 2402869 2402883 - AmpersandAmpersandToken 2402883 2402886 - CallExpression 2402886 2402943 - Identifier 2402886 2402902 - Identifier 2402903 2402916 - PropertyAccessExpression 2402917 2402942 - Identifier 2402917 2402927 - Identifier 2402928 2402942 - BarBarToken 2402943 2402946 - BinaryExpression 2402946 2403071 - BinaryExpression 2402946 2403011 - PropertyAccessExpression 2402946 2402984 - Identifier 2402946 2402978 - Identifier 2402979 2402984 - AmpersandToken 2402984 2402986 - PropertyAccessExpression 2402986 2403011 - Identifier 2402986 2402996 - Identifier 2402997 2403011 - AmpersandAmpersandToken 2403011 2403014 - CallExpression 2403014 2403071 - Identifier 2403014 2403030 - Identifier 2403031 2403044 - PropertyAccessExpression 2403045 2403070 - Identifier 2403045 2403055 - Identifier 2403056 2403070 - ReturnStatement 2403084 2403107 - FalseKeyword 2403100 2403106 - FunctionDeclaration 2403114 2403813 - Identifier 2403130 2403145 - Parameter 2403146 2403162 - Identifier 2403146 2403150 - TypeReference 2403151 2403162 - Identifier 2403151 2403162 - BooleanKeyword 2403164 2403172 - Block 2403172 2403813 - VariableStatement 2403174 2403211 - VariableDeclarationList 2403174 2403210 - VariableDeclaration 2403189 2403210 - Identifier 2403189 2403196 - PropertyAccessExpression 2403198 2403210 - Identifier 2403198 2403203 - Identifier 2403204 2403210 - ReturnStatement 2403211 2403806 - BinaryExpression 2403227 2403805 - BinaryExpression 2403227 2403658 - BinaryExpression 2403227 2403517 - BinaryExpression 2403227 2403398 - BinaryExpression 2403227 2403294 - CallExpression 2403227 2403257 - Identifier 2403227 2403249 - Identifier 2403250 2403256 - AmpersandAmpersandToken 2403257 2403260 - CallExpression 2403260 2403294 - Identifier 2403260 2403281 - PropertyAccessExpression 2403282 2403293 - Identifier 2403282 2403288 - Identifier 2403289 2403293 - BarBarToken 2403294 2403297 - BinaryExpression 2403297 2403398 - CallExpression 2403297 2403339 - Identifier 2403297 2403331 - Identifier 2403332 2403338 - AmpersandAmpersandToken 2403339 2403342 - CallExpression 2403342 2403398 - Identifier 2403342 2403363 - CallExpression 2403364 2403397 - Identifier 2403364 2403389 - Identifier 2403390 2403396 - BarBarToken 2403398 2403401 - BinaryExpression 2403401 2403517 - CallExpression 2403401 2403450 - Identifier 2403401 2403444 - Identifier 2403445 2403449 - AmpersandAmpersandToken 2403450 2403453 - CallExpression 2403453 2403517 - Identifier 2403453 2403473 - CallExpression 2403474 2403516 - Identifier 2403474 2403491 - Identifier 2403492 2403496 - PropertyAccessExpression 2403497 2403515 - Identifier 2403497 2403510 - Identifier 2403511 2403515 - BarBarToken 2403517 2403520 - BinaryExpression 2403520 2403658 - ParenthesizedExpression 2403520 2403632 - BinaryExpression 2403535 2403631 - BinaryExpression 2403535 2403604 - CallExpression 2403535 2403568 - Identifier 2403535 2403560 - Identifier 2403561 2403567 - BarBarToken 2403568 2403571 - CallExpression 2403571 2403604 - Identifier 2403571 2403596 - Identifier 2403597 2403603 - BarBarToken 2403604 2403607 - CallExpression 2403607 2403631 - Identifier 2403607 2403623 - Identifier 2403624 2403630 - AmpersandAmpersandToken 2403632 2403635 - CallExpression 2403635 2403658 - Identifier 2403635 2403650 - Identifier 2403651 2403657 - BarBarToken 2403658 2403661 - BinaryExpression 2403661 2403805 - ParenthesizedExpression 2403661 2403772 - BinaryExpression 2403676 2403771 - BinaryExpression 2403676 2403745 - CallExpression 2403676 2403704 - Identifier 2403676 2403696 - Identifier 2403697 2403703 - BarBarToken 2403704 2403707 - CallExpression 2403707 2403745 - Identifier 2403707 2403737 - Identifier 2403738 2403744 - BarBarToken 2403745 2403748 - CallExpression 2403748 2403771 - Identifier 2403748 2403763 - Identifier 2403764 2403770 - AmpersandAmpersandToken 2403772 2403775 - CallExpression 2403775 2403805 - Identifier 2403775 2403790 - PropertyAccessExpression 2403791 2403804 - Identifier 2403791 2403797 - Identifier 2403798 2403804 - FunctionDeclaration 2403813 2404354 - Identifier 2403829 2403863 - Parameter 2403864 2403880 - Identifier 2403864 2403868 - TypeReference 2403869 2403880 - Identifier 2403869 2403880 - Parameter 2403881 2403914 - Identifier 2403881 2403891 - UnionType 2403892 2403914 - TypeReference 2403892 2403902 - Identifier 2403892 2403902 - UndefinedKeyword 2403904 2403914 - Parameter 2403915 2403936 - Identifier 2403915 2403926 - QuestionToken 2403926 2403927 - BooleanKeyword 2403928 2403936 - TypeReference 2403938 2403943 - Identifier 2403938 2403943 - Block 2403943 2404354 - VariableStatement 2403945 2404013 - VariableDeclarationList 2403945 2404012 - VariableDeclaration 2403960 2404012 - Identifier 2403960 2403965 - CallExpression 2403967 2404012 - Identifier 2403967 2403983 - Identifier 2403984 2403988 - Identifier 2403989 2403999 - Identifier 2404000 2404011 - ReturnStatement 2404013 2404347 - ConditionalExpression 2404029 2404346 - BinaryExpression 2404029 2404088 - CallExpression 2404029 2404050 - Identifier 2404029 2404044 - Identifier 2404045 2404049 - BarBarToken 2404050 2404053 - CallExpression 2404053 2404088 - Identifier 2404053 2404082 - Identifier 2404083 2404087 - QuestionToken 2404088 2404090 - CallExpression 2404090 2404124 - Identifier 2404090 2404118 - Identifier 2404119 2404123 - ColonToken 2404124 2404126 - ConditionalExpression 2404126 2404346 - CallExpression 2404126 2404161 - Identifier 2404126 2404155 - Identifier 2404156 2404160 - QuestionToken 2404161 2404163 - Identifier 2404163 2404168 - ColonToken 2404168 2404170 - CallExpression 2404170 2404346 - Identifier 2404170 2404226 - Identifier 2404227 2404231 - CallExpression 2404232 2404345 - Identifier 2404232 2404258 - CallExpression 2404259 2404310 - Identifier 2404259 2404276 - Identifier 2404277 2404281 - Identifier 2404282 2404309 - Identifier 2404311 2404316 - Identifier 2404317 2404344 - FunctionDeclaration 2404354 2404892 - Identifier 2404370 2404394 - Parameter 2404395 2404419 - Identifier 2404395 2404399 - TypeReference 2404400 2404419 - Identifier 2404400 2404419 - Parameter 2404420 2404442 - Identifier 2404420 2404430 - QuestionToken 2404430 2404431 - TypeReference 2404432 2404442 - Identifier 2404432 2404442 - TypeReference 2404444 2404449 - Identifier 2404444 2404449 - Block 2404449 2404892 - IfStatement 2404451 2404803 - BinaryExpression 2404688 2404738 - PropertyAccessExpression 2404688 2404702 - PropertyAccessExpression 2404688 2404697 - Identifier 2404688 2404692 - Identifier 2404693 2404697 - Identifier 2404698 2404702 - EqualsEqualsEqualsToken 2404702 2404706 - PropertyAccessExpression 2404706 2404738 - Identifier 2404706 2404717 - Identifier 2404718 2404738 - Block 2404739 2404803 - ExpressionStatement 2404741 2404792 - CallExpression 2404741 2404791 - Identifier 2404741 2404780 - PropertyAccessExpression 2404781 2404790 - Identifier 2404781 2404785 - Identifier 2404786 2404790 - ReturnStatement 2404803 2404885 - CallExpression 2404821 2404884 - Identifier 2404821 2404855 - PropertyAccessExpression 2404856 2404872 - Identifier 2404856 2404860 - Identifier 2404861 2404872 - Identifier 2404873 2404883 - FunctionDeclaration 2404892 2405615 - Identifier 2404908 2404933 - Parameter 2404934 2404957 - Identifier 2404934 2404938 - TypeReference 2404939 2404957 - Identifier 2404939 2404957 - Parameter 2404958 2404980 - Identifier 2404958 2404968 - QuestionToken 2404968 2404969 - TypeReference 2404970 2404980 - Identifier 2404970 2404980 - TypeReference 2404982 2404987 - Identifier 2404982 2404987 - Block 2404987 2405615 - ExpressionStatement 2404989 2405053 - CallExpression 2404989 2405052 - Identifier 2404989 2405046 - Identifier 2405047 2405051 - IfStatement 2405053 2405407 - BinaryExpression 2405292 2405342 - PropertyAccessExpression 2405292 2405306 - PropertyAccessExpression 2405292 2405301 - Identifier 2405292 2405296 - Identifier 2405297 2405301 - Identifier 2405302 2405306 - EqualsEqualsEqualsToken 2405306 2405310 - PropertyAccessExpression 2405310 2405342 - Identifier 2405310 2405321 - Identifier 2405322 2405342 - Block 2405343 2405407 - ExpressionStatement 2405345 2405396 - CallExpression 2405345 2405395 - Identifier 2405345 2405384 - PropertyAccessExpression 2405385 2405394 - Identifier 2405385 2405389 - Identifier 2405390 2405394 - VariableStatement 2405407 2405508 - VariableDeclarationList 2405407 2405507 - VariableDeclaration 2405424 2405507 - Identifier 2405424 2405443 - CallExpression 2405445 2405507 - Identifier 2405445 2405490 - Identifier 2405491 2405495 - Identifier 2405496 2405506 - ReturnStatement 2405508 2405608 - CallExpression 2405524 2405607 - Identifier 2405524 2405570 - Identifier 2405571 2405575 - Identifier 2405576 2405595 - Identifier 2405596 2405606 - FunctionDeclaration 2405615 2411361 - Identifier 2405631 2405677 - Parameter 2405678 2405730 - Identifier 2405678 2405682 - UnionType 2405683 2405730 - TypeReference 2405683 2405694 - Identifier 2405683 2405694 - TypeReference 2405696 2405714 - Identifier 2405696 2405714 - TypeReference 2405716 2405730 - Identifier 2405716 2405730 - Parameter 2405731 2405742 - Identifier 2405731 2405736 - TypeReference 2405737 2405742 - Identifier 2405737 2405742 - Parameter 2405743 2405765 - Identifier 2405743 2405753 - QuestionToken 2405753 2405754 - TypeReference 2405755 2405765 - Identifier 2405755 2405765 - Block 2405766 2411361 - IfStatement 2405768 2411332 - BinaryExpression 2405782 2405863 - Identifier 2405782 2405791 - AmpersandAmpersandToken 2405791 2405794 - BinaryExpression 2405794 2405863 - Identifier 2405794 2405804 - AmpersandToken 2405804 2405806 - ParenthesizedExpression 2405806 2405863 - BinaryExpression 2405808 2405862 - PropertyAccessExpression 2405808 2405829 - Identifier 2405808 2405817 - Identifier 2405818 2405829 - BarToken 2405829 2405831 - PropertyAccessExpression 2405831 2405862 - Identifier 2405831 2405841 - Identifier 2405842 2405862 - Block 2405864 2411332 - VariableStatement 2405866 2405970 - VariableDeclarationList 2405866 2405969 - VariableDeclaration 2405885 2405969 - Identifier 2405885 2405899 - CallExpression 2405901 2405969 - Identifier 2405901 2405920 - Identifier 2405921 2405925 - PropertyAccessExpression 2405926 2405945 - Identifier 2405926 2405940 - Identifier 2405941 2405945 - TrueKeyword 2405946 2405968 - VariableStatement 2405970 2406084 - VariableDeclarationList 2405970 2406083 - VariableDeclaration 2405989 2406083 - Identifier 2405989 2406008 - CallExpression 2406010 2406083 - Identifier 2406010 2406029 - Identifier 2406030 2406034 - PropertyAccessExpression 2406035 2406059 - Identifier 2406035 2406049 - Identifier 2406050 2406059 - TrueKeyword 2406060 2406082 - VariableStatement 2406084 2406152 - VariableDeclarationList 2406084 2406151 - VariableDeclaration 2406103 2406151 - Identifier 2406103 2406113 - BinaryExpression 2406115 2406151 - Identifier 2406115 2406129 - BarBarToken 2406129 2406132 - Identifier 2406132 2406151 - IfStatement 2406152 2411321 - BinaryExpression 2406170 2406207 - Identifier 2406170 2406179 - AmpersandAmpersandToken 2406179 2406182 - PropertyAccessExpression 2406182 2406207 - Identifier 2406182 2406192 - Identifier 2406193 2406207 - Block 2406208 2411321 - VariableStatement 2406210 2406331 - VariableDeclarationList 2406210 2406330 - VariableDeclaration 2406233 2406330 - Identifier 2406233 2406248 - CallExpression 2406250 2406330 - Identifier 2406250 2406282 - AsExpression 2406283 2406301 - Identifier 2406283 2406287 - TypeReference 2406290 2406301 - Identifier 2406290 2406301 - PropertyAccessExpression 2406302 2406329 - Identifier 2406302 2406315 - Identifier 2406316 2406329 - IfStatement 2406331 2411306 - Identifier 2406353 2406367 - Block 2406368 2411306 - VariableStatement 2406370 2406561 - VariableDeclarationList 2406370 2406560 - VariableDeclaration 2406397 2406560 - Identifier 2406397 2406417 - CallExpression 2406419 2406560 - Identifier 2406419 2406438 - CallExpression 2406439 2406473 - Identifier 2406439 2406457 - Identifier 2406458 2406472 - ConditionalExpression 2406474 2406535 - Identifier 2406474 2406488 - QuestionToken 2406488 2406490 - PropertyAccessExpression 2406490 2406509 - Identifier 2406490 2406504 - Identifier 2406505 2406509 - ColonToken 2406509 2406511 - PropertyAccessExpression 2406511 2406535 - Identifier 2406511 2406525 - Identifier 2406526 2406535 - FalseKeyword 2406536 2406559 - IfStatement 2406561 2411287 - BinaryExpression 2406587 2406645 - Identifier 2406587 2406606 - AmpersandAmpersandToken 2406606 2406609 - PrefixUnaryExpression 2406609 2406645 - PropertyAccessExpression 2406611 2406645 - Identifier 2406611 2406630 - Identifier 2406631 2406645 - Block 2406646 2411287 - IfStatement 2406648 2406873 - BinaryExpression 2406678 2406720 - Identifier 2406678 2406687 - AmpersandToken 2406687 2406689 - PropertyAccessExpression 2406689 2406720 - Identifier 2406689 2406699 - Identifier 2406700 2406720 - Block 2406721 2406873 - ExpressionStatement 2406723 2406793 - CallExpression 2406723 2406792 - Identifier 2406723 2406775 - Identifier 2406776 2406780 - Identifier 2406781 2406791 - ReturnStatement 2406793 2406846 - Identifier 2406829 2406845 - VariableStatement 2406873 2406942 - VariableDeclarationList 2406873 2406941 - VariableDeclaration 2406904 2406941 - Identifier 2406904 2406912 - NonNullExpression 2406914 2406941 - CallExpression 2406914 2406940 - Identifier 2406914 2406934 - Identifier 2406935 2406939 - VariableStatement 2406942 2407748 - VariableDeclarationList 2406942 2407747 - VariableDeclaration 2407669 2407747 - Identifier 2407669 2407680 - BinaryExpression 2407682 2407747 - PropertyAccessExpression 2407682 2407700 - Identifier 2407682 2407690 - Identifier 2407691 2407700 - AmpersandAmpersandToken 2407700 2407703 - CallExpression 2407703 2407747 - Identifier 2407703 2407728 - PropertyAccessExpression 2407729 2407746 - Identifier 2407729 2407736 - Identifier 2407737 2407746 - VariableStatement 2407748 2407858 - VariableDeclarationList 2407748 2407857 - VariableDeclaration 2407779 2407857 - Identifier 2407779 2407795 - BinaryExpression 2407797 2407857 - Identifier 2407797 2407808 - AmpersandAmpersandToken 2407808 2407811 - CallExpression 2407811 2407857 - Identifier 2407811 2407845 - Identifier 2407846 2407856 - IfStatement 2407858 2410504 - BinaryExpression 2407888 2407992 - BinaryExpression 2407888 2407938 - Identifier 2407888 2407903 - AmpersandAmpersandToken 2407903 2407906 - PrefixUnaryExpression 2407906 2407938 - PropertyAccessExpression 2407908 2407938 - Identifier 2407908 2407923 - Identifier 2407924 2407938 - AmpersandAmpersandToken 2407938 2407941 - PrefixUnaryExpression 2407941 2407992 - CallExpression 2407943 2407992 - Identifier 2407943 2407948 - PropertyAccessExpression 2407949 2407967 - Identifier 2407949 2407956 - Identifier 2407957 2407967 - Identifier 2407968 2407991 - Block 2407993 2410504 - VariableStatement 2407995 2408323 - VariableDeclarationList 2407995 2408322 - VariableDeclaration 2408240 2408322 - Identifier 2408240 2408261 - CallExpression 2408263 2408322 - Identifier 2408263 2408287 - Identifier 2408288 2408295 - PropertyAccessExpression 2408296 2408321 - Identifier 2408296 2408306 - Identifier 2408307 2408321 - VariableStatement 2408323 2408471 - VariableDeclarationList 2408323 2408470 - VariableDeclaration 2408358 2408470 - Identifier 2408358 2408380 - CallExpression 2408382 2408470 - Identifier 2408382 2408437 - Identifier 2408438 2408447 - Identifier 2408448 2408469 - VariableStatement 2408471 2408811 - VariableDeclarationList 2408471 2408810 - VariableDeclaration 2408724 2408810 - Identifier 2408724 2408735 - CallExpression 2408737 2408810 - Identifier 2408737 2408741 - PropertyAccessExpression 2408742 2408760 - Identifier 2408742 2408749 - Identifier 2408750 2408760 - ArrowFunction 2408761 2408809 - Parameter 2408761 2408766 - Identifier 2408761 2408766 - EqualsGreaterThanToken 2408766 2408769 - CallExpression 2408769 2408809 - Identifier 2408769 2408789 - PropertyAccessExpression 2408790 2408808 - Identifier 2408790 2408794 - Identifier 2408795 2408808 - ExpressionStatement 2408811 2409074 - CallExpression 2408811 2409073 - Identifier 2408811 2408862 - Identifier 2408863 2408884 - Identifier 2408885 2408905 - ArrowFunction 2408906 2409072 - Parameter 2408908 2408914 - Identifier 2408908 2408914 - Parameter 2408915 2408922 - Identifier 2408915 2408922 - EqualsGreaterThanToken 2408923 2408926 - Block 2408926 2409072 - ExpressionStatement 2408928 2409041 - CallExpression 2408928 2409040 - Identifier 2408928 2408972 - Identifier 2408973 2408983 - Identifier 2408984 2408991 - Identifier 2408992 2408999 - NumericLiteral 2409000 2409015 - TrueKeyword 2409016 2409039 - IfStatement 2409074 2410477 - CallExpression 2409108 2409148 - Identifier 2409108 2409112 - Identifier 2409113 2409123 - Identifier 2409124 2409147 - Block 2409149 2410477 - ExpressionStatement 2409151 2409633 - CallExpression 2409151 2409632 - Identifier 2409151 2409453 - Identifier 2409454 2409475 - Identifier 2409476 2409496 - ArrowFunction 2409497 2409631 - Parameter 2409499 2409505 - Identifier 2409499 2409505 - Parameter 2409506 2409513 - Identifier 2409506 2409513 - EqualsGreaterThanToken 2409514 2409517 - Block 2409517 2409631 - ExpressionStatement 2409519 2409596 - CallExpression 2409519 2409595 - Identifier 2409519 2409567 - Identifier 2409568 2409578 - Identifier 2409579 2409586 - Identifier 2409587 2409594 - IfStatement 2409633 2410446 - PrefixUnaryExpression 2410031 2410088 - CallExpression 2410032 2410088 - Identifier 2410032 2410056 - PropertyAccessExpression 2410057 2410075 - Identifier 2410057 2410064 - Identifier 2410065 2410075 - Identifier 2410076 2410087 - Block 2410089 2410446 - ExpressionStatement 2410091 2410177 - CallExpression 2410091 2410176 - Identifier 2410091 2410144 - PropertyAccessExpression 2410145 2410163 - Identifier 2410145 2410152 - Identifier 2410153 2410163 - Identifier 2410164 2410175 - ExpressionStatement 2410177 2410314 - BinaryExpression 2410177 2410313 - PropertyAccessExpression 2410177 2410245 - Identifier 2410177 2410222 - Identifier 2410223 2410245 - EqualsToken 2410245 2410247 - CallExpression 2410247 2410313 - Identifier 2410247 2410259 - PropertyAccessExpression 2410260 2410290 - Identifier 2410260 2410267 - Identifier 2410268 2410290 - Identifier 2410291 2410312 - ReturnStatement 2410314 2410411 - CallExpression 2410358 2410410 - Identifier 2410358 2410387 - Identifier 2410388 2410409 - ReturnStatement 2410504 2411264 - CallExpression 2411073 2411263 - Identifier 2411073 2411102 - CallExpression 2411103 2411175 - Identifier 2411103 2411134 - Identifier 2411135 2411144 - Identifier 2411145 2411165 - Identifier 2411166 2411174 - CallExpression 2411176 2411262 - PropertyAccessExpression 2411176 2411260 - CallExpression 2411176 2411254 - Identifier 2411176 2411184 - Identifier 2411185 2411202 - ArrowFunction 2411203 2411253 - Parameter 2411203 2411205 - Identifier 2411203 2411205 - EqualsGreaterThanToken 2411205 2411208 - BinaryExpression 2411208 2411253 - Identifier 2411208 2411210 - AmpersandAmpersandToken 2411210 2411213 - CallExpression 2411213 2411253 - Identifier 2411213 2411217 - PropertyAccessExpression 2411218 2411230 - Identifier 2411218 2411219 - Identifier 2411220 2411230 - ArrowFunction 2411231 2411252 - Parameter 2411231 2411233 - Identifier 2411231 2411233 - EqualsGreaterThanToken 2411233 2411236 - PropertyAccessExpression 2411236 2411252 - Identifier 2411236 2411238 - Identifier 2411239 2411252 - Identifier 2411255 2411260 - ReturnStatement 2411332 2411354 - Identifier 2411348 2411353 - FunctionDeclaration 2411361 2411843 - Identifier 2411377 2411400 - Parameter 2411401 2411411 - Identifier 2411401 2411405 - TypeReference 2411406 2411411 - Identifier 2411406 2411411 - Parameter 2411412 2411433 - Identifier 2411412 2411422 - TypeReference 2411423 2411433 - Identifier 2411423 2411433 - Block 2411434 2411843 - IfStatement 2411436 2411836 - BinaryExpression 2411450 2411483 - Identifier 2411450 2411459 - AmpersandToken 2411459 2411461 - PropertyAccessExpression 2411461 2411483 - Identifier 2411461 2411471 - Identifier 2411472 2411483 - Block 2411484 2411836 - VariableStatement 2411486 2411756 - VariableDeclarationList 2411486 2411755 - VariableDeclaration 2411718 2411755 - Identifier 2411718 2411726 - NonNullExpression 2411728 2411755 - CallExpression 2411728 2411754 - Identifier 2411728 2411748 - Identifier 2411749 2411753 - ExpressionStatement 2411756 2411825 - BinaryExpression 2411756 2411824 - PropertyAccessExpression 2411756 2411783 - Identifier 2411756 2411777 - Identifier 2411778 2411783 - BarEqualsToken 2411783 2411786 - PropertyAccessExpression 2411786 2411824 - Identifier 2411786 2411801 - Identifier 2411802 2411824 - FunctionDeclaration 2411843 2411974 - Identifier 2411859 2411882 - Parameter 2411883 2411902 - Identifier 2411883 2411887 - TypeReference 2411888 2411902 - Identifier 2411888 2411902 - Block 2411903 2411974 - ReturnStatement 2411905 2411967 - PrefixUnaryExpression 2411921 2411966 - PrefixUnaryExpression 2411923 2411966 - ParenthesizedExpression 2411924 2411966 - BinaryExpression 2411925 2411965 - PropertyAccessExpression 2411925 2411940 - Identifier 2411925 2411929 - Identifier 2411930 2411940 - BarBarToken 2411940 2411943 - PropertyAccessExpression 2411943 2411965 - Identifier 2411943 2411948 - Identifier 2411949 2411965 - FunctionDeclaration 2411974 2412161 - Identifier 2411990 2412022 - Parameter 2412023 2412042 - Identifier 2412023 2412027 - TypeReference 2412028 2412042 - Identifier 2412028 2412042 - Block 2412043 2412161 - ReturnStatement 2412045 2412154 - PrefixUnaryExpression 2412061 2412153 - PrefixUnaryExpression 2412063 2412153 - ParenthesizedExpression 2412064 2412153 - BinaryExpression 2412065 2412152 - BinaryExpression 2412065 2412105 - PropertyAccessExpression 2412065 2412080 - Identifier 2412065 2412069 - Identifier 2412070 2412080 - BarBarToken 2412080 2412083 - PropertyAccessExpression 2412083 2412105 - Identifier 2412083 2412088 - Identifier 2412089 2412105 - BarBarToken 2412105 2412108 - CallExpression 2412108 2412152 - Identifier 2412108 2412132 - PropertyAccessExpression 2412133 2412151 - Identifier 2412133 2412137 - Identifier 2412138 2412151 - FunctionDeclaration 2412161 2412457 - Identifier 2412177 2412202 - Parameter 2412203 2412221 - Identifier 2412203 2412204 - ArrayType 2412205 2412221 - TypeReference 2412205 2412219 - Identifier 2412205 2412219 - Parameter 2412222 2412241 - Identifier 2412222 2412224 - ArrayType 2412225 2412241 - TypeReference 2412225 2412239 - Identifier 2412225 2412239 - Block 2412242 2412457 - ForStatement 2412244 2412427 - VariableDeclarationList 2412259 2412268 - VariableDeclaration 2412262 2412268 - Identifier 2412262 2412264 - NumericLiteral 2412266 2412268 - BinaryExpression 2412269 2412282 - Identifier 2412269 2412271 - LessThanToken 2412271 2412273 - PropertyAccessExpression 2412273 2412282 - Identifier 2412273 2412275 - Identifier 2412276 2412282 - PostfixUnaryExpression 2412283 2412287 - Identifier 2412283 2412285 - Block 2412288 2412427 - IfStatement 2412290 2412416 - BinaryExpression 2412308 2412368 - CallExpression 2412308 2412336 - Identifier 2412308 2412330 - ElementAccessExpression 2412331 2412335 - Identifier 2412331 2412332 - Identifier 2412333 2412334 - AmpersandAmpersandToken 2412336 2412339 - CallExpression 2412339 2412368 - Identifier 2412339 2412362 - ElementAccessExpression 2412363 2412367 - Identifier 2412363 2412364 - Identifier 2412365 2412366 - Block 2412369 2412416 - ReturnStatement 2412371 2412401 - TrueKeyword 2412395 2412400 - ReturnStatement 2412427 2412450 - FalseKeyword 2412443 2412449 - FunctionDeclaration 2412457 2412757 - Identifier 2412473 2412489 - Parameter 2412490 2412513 - Identifier 2412490 2412496 - ArrayType 2412497 2412513 - TypeReference 2412497 2412511 - Identifier 2412497 2412511 - Parameter 2412514 2412538 - Identifier 2412514 2412521 - ArrayType 2412522 2412538 - TypeReference 2412522 2412536 - Identifier 2412522 2412536 - Block 2412539 2412757 - ForStatement 2412541 2412750 - VariableDeclarationList 2412556 2412565 - VariableDeclaration 2412559 2412565 - Identifier 2412559 2412561 - NumericLiteral 2412563 2412565 - BinaryExpression 2412566 2412584 - Identifier 2412566 2412568 - LessThanToken 2412568 2412570 - PropertyAccessExpression 2412570 2412584 - Identifier 2412570 2412577 - Identifier 2412578 2412584 - PostfixUnaryExpression 2412585 2412589 - Identifier 2412585 2412587 - Block 2412590 2412750 - IfStatement 2412592 2412739 - BinaryExpression 2412610 2412681 - PrefixUnaryExpression 2412610 2412644 - CallExpression 2412611 2412644 - Identifier 2412611 2412633 - ElementAccessExpression 2412634 2412643 - Identifier 2412634 2412640 - Identifier 2412641 2412642 - AmpersandAmpersandToken 2412644 2412647 - CallExpression 2412647 2412681 - Identifier 2412647 2412670 - ElementAccessExpression 2412671 2412680 - Identifier 2412671 2412677 - Identifier 2412678 2412679 - Block 2412682 2412739 - ExpressionStatement 2412684 2412724 - BinaryExpression 2412684 2412723 - ElementAccessExpression 2412684 2412711 - Identifier 2412684 2412708 - Identifier 2412709 2412710 - EqualsToken 2412711 2412713 - ElementAccessExpression 2412713 2412723 - Identifier 2412713 2412720 - Identifier 2412721 2412722 - FunctionDeclaration 2412757 2414152 - Identifier 2412773 2412797 - Parameter 2412798 2412823 - Identifier 2412798 2412805 - TypeReference 2412806 2412823 - Identifier 2412806 2412823 - Parameter 2412824 2412865 - Identifier 2412824 2412839 - TypeOperator 2412840 2412865 - ArrayType 2412849 2412865 - TypeReference 2412849 2412863 - Identifier 2412849 2412863 - TypeOperator 2412867 2412892 - ArrayType 2412876 2412892 - TypeReference 2412876 2412890 - Identifier 2412876 2412890 - Block 2412892 2414152 - VariableStatement 2412894 2412939 - VariableDeclarationList 2412894 2412938 - VariableDeclaration 2412909 2412938 - Identifier 2412909 2412916 - ArrayType 2412917 2412933 - TypeReference 2412917 2412931 - Identifier 2412917 2412931 - ArrayLiteralExpression 2412935 2412938 - VariableStatement 2412939 2413000 - VariableDeclarationList 2412939 2412999 - VariableDeclaration 2412952 2412999 - Identifier 2412952 2412970 - UnionType 2412971 2412999 - ArrayType 2412971 2412987 - TypeReference 2412971 2412985 - Identifier 2412971 2412985 - UndefinedKeyword 2412989 2412999 - VariableStatement 2413000 2413061 - VariableDeclarationList 2413000 2413060 - VariableDeclaration 2413013 2413060 - Identifier 2413013 2413031 - UnionType 2413032 2413060 - ArrayType 2413032 2413048 - TypeReference 2413032 2413046 - Identifier 2413032 2413046 - UndefinedKeyword 2413050 2413060 - ForOfStatement 2413061 2413888 - VariableDeclarationList 2413076 2413084 - VariableDeclaration 2413081 2413084 - Identifier 2413081 2413084 - Identifier 2413087 2413102 - Block 2413103 2413888 - VariableStatement 2413105 2413154 - VariableDeclarationList 2413105 2413153 - VariableDeclaration 2413124 2413153 - Identifier 2413124 2413129 - PropertyAccessExpression 2413131 2413153 - PropertyAccessExpression 2413131 2413141 - Identifier 2413131 2413134 - Identifier 2413135 2413141 - Identifier 2413142 2413153 - IfStatement 2413154 2413877 - BinaryExpression 2413172 2413272 - CallExpression 2413172 2413232 - Identifier 2413172 2413194 - PropertyAccessExpression 2413195 2413225 - Identifier 2413195 2413202 - Identifier 2413203 2413225 - Identifier 2413226 2413231 - BarBarToken 2413232 2413235 - CallExpression 2413235 2413272 - Identifier 2413235 2413258 - Identifier 2413259 2413265 - Identifier 2413266 2413271 - Block 2413273 2413808 - VariableStatement 2413275 2413395 - VariableDeclarationList 2413275 2413394 - VariableDeclaration 2413298 2413394 - Identifier 2413298 2413306 - CallExpression 2413308 2413394 - Identifier 2413308 2413335 - CallExpression 2413336 2413387 - Identifier 2413336 2413347 - PropertyAccessExpression 2413348 2413378 - Identifier 2413348 2413355 - Identifier 2413356 2413378 - Identifier 2413379 2413386 - Identifier 2413388 2413393 - VariableStatement 2413395 2413477 - VariableDeclarationList 2413395 2413476 - VariableDeclaration 2413418 2413476 - Identifier 2413418 2413425 - CallExpression 2413427 2413476 - Identifier 2413427 2413440 - PropertyAccessExpression 2413441 2413466 - Identifier 2413441 2413452 - Identifier 2413453 2413466 - Identifier 2413467 2413475 - VariableStatement 2413477 2413548 - VariableDeclarationList 2413477 2413547 - VariableDeclaration 2413500 2413547 - Identifier 2413500 2413517 - CallExpression 2413519 2413547 - Identifier 2413519 2413539 - Identifier 2413540 2413546 - ExpressionStatement 2413548 2413595 - BinaryExpression 2413548 2413594 - PropertyAccessExpression 2413548 2413589 - Identifier 2413548 2413582 - Identifier 2413583 2413589 - EqualsToken 2413589 2413591 - Identifier 2413591 2413594 - ExpressionStatement 2413595 2413663 - BinaryExpression 2413595 2413662 - Identifier 2413595 2413630 - EqualsToken 2413630 2413632 - CallExpression 2413632 2413662 - Identifier 2413632 2413639 - Identifier 2413640 2413657 - Identifier 2413658 2413661 - ExpressionStatement 2413663 2413745 - BinaryExpression 2413663 2413744 - Identifier 2413663 2413698 - EqualsToken 2413698 2413700 - CallExpression 2413700 2413744 - Identifier 2413700 2413707 - Identifier 2413708 2413725 - Identifier 2413726 2413743 - ExpressionStatement 2413745 2413793 - CallExpression 2413745 2413792 - PropertyAccessExpression 2413745 2413774 - Identifier 2413745 2413769 - Identifier 2413770 2413774 - Identifier 2413775 2413791 - Block 2413826 2413877 - ExpressionStatement 2413828 2413862 - CallExpression 2413828 2413861 - PropertyAccessExpression 2413828 2413857 - Identifier 2413828 2413852 - Identifier 2413853 2413857 - Identifier 2413858 2413860 - IfStatement 2413888 2414121 - Identifier 2413902 2413919 - Block 2413920 2414121 - VariableStatement 2413922 2414007 - VariableDeclarationList 2413922 2414006 - VariableDeclaration 2413941 2414006 - Identifier 2413941 2413948 - CallExpression 2413950 2414006 - Identifier 2413950 2413967 - NonNullExpression 2413968 2413986 - Identifier 2413968 2413985 - Identifier 2413987 2414005 - ForOfStatement 2414007 2414110 - VariableDeclarationList 2414026 2414034 - VariableDeclaration 2414031 2414034 - Identifier 2414031 2414034 - Identifier 2414037 2414055 - Block 2414056 2414110 - ExpressionStatement 2414058 2414095 - BinaryExpression 2414058 2414094 - PropertyAccessExpression 2414058 2414085 - Identifier 2414058 2414078 - Identifier 2414079 2414085 - EqualsToken 2414085 2414087 - Identifier 2414087 2414094 - ReturnStatement 2414121 2414145 - Identifier 2414137 2414144 - FunctionDeclaration 2414152 2414346 - Identifier 2414168 2414191 - Parameter 2414192 2414244 - Identifier 2414192 2414206 - UnionType 2414207 2414244 - TypeOperator 2414207 2414232 - ArrayType 2414216 2414232 - TypeReference 2414216 2414230 - Identifier 2414216 2414230 - UndefinedKeyword 2414234 2414244 - Parameter 2414245 2414260 - Identifier 2414245 2414250 - TypeReference 2414251 2414260 - Identifier 2414251 2414260 - Block 2414261 2414346 - ReturnStatement 2414263 2414339 - CallExpression 2414279 2414338 - Identifier 2414279 2414284 - Identifier 2414285 2414299 - ArrowFunction 2414300 2414337 - Parameter 2414300 2414303 - Identifier 2414300 2414303 - EqualsGreaterThanToken 2414303 2414306 - BinaryExpression 2414306 2414337 - PropertyAccessExpression 2414306 2414328 - PropertyAccessExpression 2414306 2414316 - Identifier 2414306 2414309 - Identifier 2414310 2414316 - Identifier 2414317 2414328 - EqualsEqualsEqualsToken 2414328 2414332 - Identifier 2414332 2414337 - FunctionDeclaration 2414346 2414969 - Identifier 2414362 2414389 - Parameter 2414390 2414430 - Identifier 2414390 2414404 - TypeOperator 2414405 2414430 - ArrayType 2414414 2414430 - TypeReference 2414414 2414428 - Identifier 2414414 2414428 - Parameter 2414431 2414450 - Identifier 2414431 2414440 - TypeReference 2414441 2414450 - Identifier 2414441 2414450 - Block 2414451 2414969 - VariableStatement 2414453 2414501 - VariableDeclarationList 2414453 2414500 - VariableDeclaration 2414466 2414500 - Identifier 2414466 2414470 - PropertyAccessExpression 2414472 2414500 - ParenthesizedExpression 2414472 2414493 - AsExpression 2414474 2414492 - Identifier 2414474 2414482 - StringKeyword 2414485 2414492 - Identifier 2414494 2414500 - WhileStatement 2414501 2414663 - BinaryExpression 2414518 2414655 - BinaryExpression 2414518 2414590 - BinaryExpression 2414518 2414525 - Identifier 2414518 2414521 - GreaterThanToken 2414521 2414523 - NumericLiteral 2414523 2414525 - AmpersandAmpersandToken 2414525 2414528 - BinaryExpression 2414528 2414590 - CallExpression 2414528 2414569 - PropertyAccessExpression 2414528 2414560 - ParenthesizedExpression 2414528 2414549 - AsExpression 2414530 2414548 - Identifier 2414530 2414538 - StringKeyword 2414541 2414548 - Identifier 2414550 2414560 - BinaryExpression 2414561 2414568 - Identifier 2414561 2414564 - MinusToken 2414564 2414566 - NumericLiteral 2414566 2414568 - GreaterThanEqualsToken 2414569 2414572 - PropertyAccessExpression 2414572 2414590 - Identifier 2414572 2414587 - Identifier 2414588 2414590 - AmpersandAmpersandToken 2414590 2414593 - BinaryExpression 2414593 2414655 - CallExpression 2414593 2414634 - PropertyAccessExpression 2414593 2414625 - ParenthesizedExpression 2414593 2414614 - AsExpression 2414595 2414613 - Identifier 2414595 2414603 - StringKeyword 2414606 2414613 - Identifier 2414615 2414625 - BinaryExpression 2414626 2414633 - Identifier 2414626 2414629 - MinusToken 2414629 2414631 - NumericLiteral 2414631 2414633 - LessThanEqualsToken 2414634 2414637 - PropertyAccessExpression 2414637 2414655 - Identifier 2414637 2414652 - Identifier 2414653 2414655 - ExpressionStatement 2414656 2414663 - PostfixUnaryExpression 2414656 2414662 - Identifier 2414656 2414660 - VariableStatement 2414663 2414718 - VariableDeclarationList 2414663 2414717 - VariableDeclaration 2414678 2414717 - Identifier 2414678 2414680 - CallExpression 2414682 2414717 - PropertyAccessExpression 2414682 2414709 - ParenthesizedExpression 2414682 2414703 - AsExpression 2414684 2414702 - Identifier 2414684 2414692 - StringKeyword 2414695 2414702 - Identifier 2414704 2414709 - NumericLiteral 2414710 2414711 - Identifier 2414712 2414716 - ForStatement 2414718 2414962 - VariableDeclarationList 2414733 2414746 - VariableDeclaration 2414736 2414746 - Identifier 2414736 2414742 - NumericLiteral 2414744 2414746 - TrueKeyword 2414747 2414752 - PostfixUnaryExpression 2414753 2414761 - Identifier 2414753 2414759 - Block 2414762 2414962 - VariableStatement 2414764 2414822 - VariableDeclarationList 2414764 2414821 - VariableDeclaration 2414783 2414821 - Identifier 2414783 2414797 - AsExpression 2414799 2414821 - BinaryExpression 2414799 2414809 - Identifier 2414799 2414801 - PlusToken 2414801 2414803 - Identifier 2414803 2414809 - TypeReference 2414812 2414821 - Identifier 2414812 2414821 - IfStatement 2414822 2414951 - PrefixUnaryExpression 2414840 2414894 - CallExpression 2414841 2414894 - Identifier 2414841 2414863 - Identifier 2414864 2414878 - Identifier 2414879 2414893 - Block 2414895 2414951 - ReturnStatement 2414897 2414936 - Identifier 2414921 2414935 - FunctionDeclaration 2414969 2415239 - Identifier 2414985 2415030 - Parameter 2415031 2415045 - Identifier 2415031 2415039 - TypeReference 2415040 2415045 - Identifier 2415040 2415045 - Block 2415046 2415239 - VariableStatement 2415048 2415109 - VariableDeclarationList 2415048 2415108 - VariableDeclaration 2415063 2415108 - Identifier 2415063 2415073 - CallExpression 2415075 2415108 - Identifier 2415075 2415098 - Identifier 2415099 2415107 - IfStatement 2415109 2415232 - BinaryExpression 2415123 2415161 - Identifier 2415123 2415132 - AmpersandAmpersandToken 2415132 2415135 - PrefixUnaryExpression 2415135 2415161 - PropertyAccessExpression 2415137 2415161 - Identifier 2415137 2415146 - Identifier 2415147 2415161 - Block 2415162 2415232 - ReturnStatement 2415164 2415221 - CallExpression 2415184 2415220 - Identifier 2415184 2415209 - Identifier 2415210 2415219 - FunctionDeclaration 2415239 2415671 - Identifier 2415255 2415307 - Parameter 2415308 2415323 - Identifier 2415308 2415312 - TypeReference 2415313 2415323 - Identifier 2415313 2415323 - Block 2415324 2415671 - VariableStatement 2415326 2415386 - VariableDeclarationList 2415326 2415385 - VariableDeclaration 2415341 2415385 - Identifier 2415341 2415350 - CallExpression 2415352 2415385 - Identifier 2415352 2415368 - PropertyAccessExpression 2415369 2415384 - Identifier 2415369 2415373 - Identifier 2415374 2415384 - VariableStatement 2415386 2415473 - VariableDeclarationList 2415386 2415472 - VariableDeclaration 2415401 2415472 - Identifier 2415401 2415417 - CallExpression 2415419 2415472 - Identifier 2415419 2415445 - Identifier 2415446 2415454 - PropertyAccessExpression 2415455 2415471 - Identifier 2415455 2415460 - Identifier 2415461 2415471 - VariableStatement 2415473 2415557 - VariableDeclarationList 2415473 2415556 - VariableDeclaration 2415488 2415556 - Identifier 2415488 2415499 - CallExpression 2415501 2415556 - Identifier 2415501 2415546 - Identifier 2415547 2415555 - ReturnStatement 2415557 2415664 - BinaryExpression 2415573 2415663 - Identifier 2415573 2415584 - AmpersandAmpersandToken 2415584 2415587 - CallExpression 2415587 2415663 - Identifier 2415587 2415615 - Identifier 2415616 2415626 - Identifier 2415627 2415632 - BinaryExpression 2415633 2415662 - Identifier 2415633 2415649 - ExclamationEqualsEqualsToken 2415649 2415653 - Identifier 2415653 2415662 - FunctionDeclaration 2415671 2416950 - Identifier 2415904 2415924 - Parameter 2415925 2415941 - Identifier 2415925 2415929 - TypeReference 2415930 2415941 - Identifier 2415930 2415941 - Block 2415942 2416950 - VariableStatement 2415944 2416098 - VariableDeclarationList 2415944 2416097 - VariableDeclaration 2416054 2416097 - Identifier 2416054 2416064 - CallExpression 2416066 2416097 - Identifier 2416066 2416091 - Identifier 2416092 2416096 - IfStatement 2416098 2416166 - Identifier 2416112 2416121 - Block 2416122 2416166 - ReturnStatement 2416124 2416155 - Identifier 2416144 2416154 - IfStatement 2416166 2416453 - BinaryExpression 2416243 2416293 - BinaryExpression 2416243 2416276 - PropertyAccessExpression 2416243 2416253 - Identifier 2416243 2416247 - Identifier 2416248 2416253 - AmpersandToken 2416253 2416255 - PropertyAccessExpression 2416255 2416276 - Identifier 2416255 2416265 - Identifier 2416266 2416276 - AmpersandAmpersandToken 2416276 2416279 - Identifier 2416279 2416293 - Block 2416294 2416453 - VariableStatement 2416296 2416360 - VariableDeclarationList 2416296 2416359 - VariableDeclaration 2416315 2416359 - Identifier 2416315 2416326 - ElementAccessExpression 2416328 2416359 - Identifier 2416328 2416342 - CallExpression 2416343 2416358 - Identifier 2416343 2416352 - Identifier 2416353 2416357 - IfStatement 2416360 2416442 - Identifier 2416378 2416388 - Block 2416389 2416442 - ReturnStatement 2416391 2416427 - Identifier 2416415 2416426 - VariableStatement 2416453 2416512 - VariableDeclarationList 2416453 2416511 - VariableDeclaration 2416468 2416511 - Identifier 2416468 2416489 - Identifier 2416491 2416511 - VariableStatement 2416512 2416577 - VariableDeclarationList 2416512 2416576 - VariableDeclaration 2416527 2416576 - Identifier 2416527 2416532 - CallExpression 2416534 2416576 - Identifier 2416534 2416550 - Identifier 2416551 2416555 - PropertyAccessExpression 2416556 2416575 - Identifier 2416556 2416566 - Identifier 2416567 2416575 - IfStatement 2416577 2416921 - BinaryExpression 2416685 2416729 - Identifier 2416685 2416704 - ExclamationEqualsEqualsToken 2416704 2416708 - Identifier 2416708 2416729 - Block 2416730 2416921 - VariableStatement 2416732 2416798 - VariableDeclarationList 2416732 2416797 - VariableDeclaration 2416751 2416797 - Identifier 2416751 2416757 - BinaryExpression 2416759 2416797 - Identifier 2416759 2416773 - BarBarToken 2416773 2416776 - ParenthesizedExpression 2416776 2416797 - BinaryExpression 2416778 2416796 - Identifier 2416778 2416791 - EqualsToken 2416791 2416793 - ArrayLiteralExpression 2416793 2416796 - ExpressionStatement 2416798 2416842 - BinaryExpression 2416798 2416841 - ElementAccessExpression 2416798 2416834 - Identifier 2416798 2416817 - CallExpression 2416818 2416833 - Identifier 2416818 2416827 - Identifier 2416828 2416832 - EqualsToken 2416834 2416836 - Identifier 2416836 2416841 - ExpressionStatement 2416842 2416910 - CallExpression 2416842 2416909 - Identifier 2416842 2416868 - Identifier 2416869 2416873 - BinaryExpression 2416874 2416908 - PropertyAccessExpression 2416874 2416885 - Identifier 2416874 2416879 - Identifier 2416880 2416885 - BarToken 2416885 2416887 - PropertyAccessExpression 2416887 2416908 - Identifier 2416887 2416897 - Identifier 2416898 2416908 - ReturnStatement 2416921 2416943 - Identifier 2416937 2416942 - FunctionDeclaration 2416950 2418481 - Identifier 2416966 2416991 - Parameter 2416992 2417008 - Identifier 2416992 2416996 - TypeReference 2416997 2417008 - Identifier 2416997 2417008 - UnionType 2417010 2417027 - TypeReference 2417010 2417015 - Identifier 2417010 2417015 - UndefinedKeyword 2417017 2417027 - Block 2417027 2418481 - VariableStatement 2417029 2417109 - VariableDeclarationList 2417029 2417108 - VariableDeclaration 2417042 2417108 - Identifier 2417042 2417047 - CallExpression 2417049 2417108 - Identifier 2417049 2417065 - Identifier 2417066 2417070 - TrueKeyword 2417071 2417107 - IfStatement 2417109 2417336 - CallExpression 2417123 2417149 - Identifier 2417123 2417143 - Identifier 2417144 2417148 - Block 2417150 2417336 - VariableStatement 2417152 2417211 - VariableDeclarationList 2417152 2417210 - VariableDeclaration 2417171 2417210 - Identifier 2417171 2417176 - CallExpression 2417178 2417210 - Identifier 2417178 2417204 - Identifier 2417205 2417209 - IfStatement 2417211 2417325 - PrefixUnaryExpression 2417229 2417256 - CallExpression 2417230 2417256 - Identifier 2417230 2417250 - Identifier 2417251 2417255 - Block 2417257 2417325 - ReturnStatement 2417259 2417310 - CallExpression 2417283 2417309 - Identifier 2417283 2417303 - Identifier 2417304 2417308 - ExpressionStatement 2417336 2417375 - BinaryExpression 2417336 2417374 - Identifier 2417336 2417350 - EqualsToken 2417350 2417352 - CallExpression 2417352 2417374 - Identifier 2417352 2417368 - Identifier 2417369 2417373 - IfStatement 2417375 2417556 - CallExpression 2417389 2417412 - Identifier 2417389 2417406 - Identifier 2417407 2417411 - Block 2417413 2417556 - VariableStatement 2417415 2417484 - VariableDeclarationList 2417415 2417483 - VariableDeclaration 2417434 2417483 - Identifier 2417434 2417439 - CallExpression 2417441 2417483 - Identifier 2417441 2417466 - PropertyAccessExpression 2417467 2417482 - Identifier 2417467 2417471 - Identifier 2417472 2417482 - ReturnStatement 2417484 2417545 - ConditionalExpression 2417504 2417544 - Identifier 2417504 2417509 - QuestionToken 2417509 2417511 - CallExpression 2417511 2417532 - Identifier 2417511 2417526 - Identifier 2417527 2417531 - ColonToken 2417532 2417534 - Identifier 2417534 2417544 - IfStatement 2417556 2418447 - BinaryExpression 2417760 2417935 - BinaryExpression 2417760 2417901 - BinaryExpression 2417760 2417834 - CallExpression 2417760 2417782 - Identifier 2417760 2417776 - Identifier 2417777 2417781 - AmpersandAmpersandToken 2417782 2417785 - BinaryExpression 2417785 2417834 - PropertyAccessExpression 2417785 2417806 - PropertyAccessExpression 2417785 2417801 - Identifier 2417785 2417790 - Identifier 2417791 2417801 - Identifier 2417802 2417806 - ExclamationEqualsEqualsToken 2417806 2417810 - PropertyAccessExpression 2417810 2417834 - Identifier 2417810 2417821 - Identifier 2417822 2417834 - AmpersandAmpersandToken 2417834 2417837 - PrefixUnaryExpression 2417837 2417901 - CallExpression 2417839 2417901 - Identifier 2417839 2417852 - Identifier 2417853 2417857 - TrueKeyword 2417858 2417900 - AmpersandAmpersandToken 2417901 2417904 - PrefixUnaryExpression 2417904 2417935 - CallExpression 2417906 2417935 - Identifier 2417906 2417929 - Identifier 2417930 2417934 - Block 2417936 2418153 - ReturnStatement 2417938 2418142 - ConditionalExpression 2417958 2418141 - CallExpression 2417958 2417976 - Identifier 2417958 2417970 - Identifier 2417971 2417975 - QuestionToken 2417976 2417978 - CallExpression 2417978 2418036 - Identifier 2417978 2418030 - Identifier 2418031 2418035 - ColonToken 2418036 2418038 - CallExpression 2418038 2418141 - Identifier 2418038 2418100 - CallExpression 2418101 2418140 - Identifier 2418101 2418123 - PropertyAccessExpression 2418124 2418139 - Identifier 2418124 2418128 - Identifier 2418129 2418139 - IfStatement 2418167 2418447 - BinaryExpression 2418172 2418235 - CallExpression 2418172 2418199 - Identifier 2418172 2418193 - Identifier 2418194 2418198 - AmpersandAmpersandToken 2418199 2418202 - PrefixUnaryExpression 2418202 2418235 - CallExpression 2418204 2418235 - Identifier 2418204 2418224 - PropertyAccessExpression 2418225 2418234 - Identifier 2418225 2418229 - Identifier 2418230 2418234 - Block 2418236 2418320 - ReturnStatement 2418238 2418309 - CallExpression 2418258 2418308 - Identifier 2418258 2418278 - PropertyAccessExpression 2418279 2418307 - ParenthesizedExpression 2418279 2418302 - AsExpression 2418280 2418301 - Identifier 2418280 2418284 - TypeReference 2418287 2418301 - Identifier 2418287 2418301 - Identifier 2418303 2418307 - IfStatement 2418334 2418447 - BinaryExpression 2418339 2418390 - CallExpression 2418339 2418364 - Identifier 2418339 2418358 - Identifier 2418359 2418363 - BarBarToken 2418364 2418367 - CallExpression 2418367 2418390 - Identifier 2418367 2418384 - Identifier 2418385 2418389 - Block 2418391 2418447 - ReturnStatement 2418393 2418436 - CallExpression 2418413 2418435 - Identifier 2418413 2418429 - Identifier 2418430 2418434 - ReturnStatement 2418447 2418474 - Identifier 2418463 2418473 - FunctionDeclaration 2418481 2419383 - Identifier 2418974 2419005 - Parameter 2419006 2419022 - Identifier 2419006 2419010 - TypeReference 2419011 2419022 - Identifier 2419011 2419022 - Block 2419023 2419383 - VariableStatement 2419025 2419068 - VariableDeclarationList 2419025 2419067 - VariableDeclaration 2419040 2419067 - Identifier 2419040 2419046 - CallExpression 2419048 2419067 - Identifier 2419048 2419061 - Identifier 2419062 2419066 - IfStatement 2419068 2419160 - PropertyAccessExpression 2419082 2419103 - Identifier 2419082 2419087 - Identifier 2419088 2419103 - Block 2419104 2419160 - ReturnStatement 2419106 2419149 - PropertyAccessExpression 2419126 2419148 - Identifier 2419126 2419132 - Identifier 2419133 2419148 - ExpressionStatement 2419160 2419223 - CallExpression 2419160 2419222 - Identifier 2419160 2419188 - Identifier 2419189 2419193 - Identifier 2419194 2419202 - FalseKeyword 2419203 2419221 - VariableStatement 2419223 2419324 - VariableDeclarationList 2419223 2419323 - VariableDeclaration 2419238 2419323 - Identifier 2419238 2419243 - BinaryExpression 2419245 2419323 - PropertyAccessExpression 2419245 2419267 - Identifier 2419245 2419251 - Identifier 2419252 2419267 - EqualsToken 2419267 2419269 - CallExpression 2419269 2419323 - Identifier 2419269 2419285 - Identifier 2419286 2419290 - PropertyAccessExpression 2419291 2419322 - Identifier 2419291 2419301 - Identifier 2419302 2419322 - ExpressionStatement 2419324 2419354 - CallExpression 2419324 2419353 - Identifier 2419324 2419351 - ReturnStatement 2419354 2419376 - Identifier 2419370 2419375 - FunctionDeclaration 2419383 2420156 - Identifier 2419399 2419415 - Parameter 2419416 2419448 - Identifier 2419416 2419420 - UnionType 2419421 2419448 - TypeReference 2419421 2419432 - Identifier 2419421 2419432 - TypeReference 2419434 2419448 - Identifier 2419434 2419448 - Parameter 2419449 2419471 - Identifier 2419449 2419459 - QuestionToken 2419459 2419460 - TypeReference 2419461 2419471 - Identifier 2419461 2419471 - Parameter 2419472 2419493 - Identifier 2419472 2419483 - QuestionToken 2419483 2419484 - BooleanKeyword 2419485 2419493 - TypeReference 2419495 2419500 - Identifier 2419495 2419500 - Block 2419500 2420156 - ExpressionStatement 2419502 2419658 - CallExpression 2419502 2419657 - PropertyAccessExpression 2419502 2419525 - Identifier 2419502 2419519 - QuestionDotToken 2419519 2419521 - Identifier 2419521 2419525 - PropertyAccessExpression 2419526 2419545 - PropertyAccessExpression 2419526 2419539 - Identifier 2419526 2419533 - Identifier 2419534 2419539 - Identifier 2419540 2419545 - StringLiteral 2419546 2419564 - ObjectLiteralExpression 2419565 2419656 - PropertyAssignment 2419567 2419583 - Identifier 2419567 2419572 - PropertyAccessExpression 2419573 2419583 - Identifier 2419573 2419578 - Identifier 2419579 2419583 - PropertyAssignment 2419584 2419598 - Identifier 2419584 2419588 - PropertyAccessExpression 2419589 2419598 - Identifier 2419589 2419594 - Identifier 2419595 2419598 - PropertyAssignment 2419599 2419613 - Identifier 2419599 2419603 - PropertyAccessExpression 2419604 2419613 - Identifier 2419604 2419609 - Identifier 2419610 2419613 - PropertyAssignment 2419614 2419654 - Identifier 2419614 2419619 - PropertyAccessExpression 2419620 2419654 - ParenthesizedExpression 2419620 2419642 - AsExpression 2419622 2419641 - Identifier 2419622 2419626 - TypeReference 2419629 2419641 - Identifier 2419629 2419641 - Identifier 2419643 2419654 - VariableStatement 2419658 2419704 - VariableDeclarationList 2419658 2419703 - VariableDeclaration 2419673 2419703 - Identifier 2419673 2419689 - Identifier 2419691 2419703 - ExpressionStatement 2419704 2419733 - BinaryExpression 2419704 2419732 - Identifier 2419704 2419725 - EqualsToken 2419725 2419727 - Identifier 2419727 2419732 - ExpressionStatement 2419733 2419766 - BinaryExpression 2419733 2419765 - Identifier 2419733 2419761 - EqualsToken 2419761 2419763 - NumericLiteral 2419763 2419765 - VariableStatement 2419766 2419854 - VariableDeclarationList 2419766 2419853 - VariableDeclaration 2419781 2419853 - Identifier 2419781 2419800 - CallExpression 2419802 2419853 - Identifier 2419802 2419824 - Identifier 2419825 2419829 - Identifier 2419830 2419840 - Identifier 2419841 2419852 - VariableStatement 2419854 2419960 - VariableDeclarationList 2419854 2419959 - VariableDeclaration 2419869 2419959 - Identifier 2419869 2419874 - CallExpression 2419876 2419959 - Identifier 2419876 2419922 - Identifier 2419923 2419927 - Identifier 2419928 2419947 - Identifier 2419948 2419958 - IfStatement 2419960 2420062 - CallExpression 2419974 2420001 - Identifier 2419974 2419995 - Identifier 2419996 2420000 - Block 2420002 2420062 - ExpressionStatement 2420004 2420051 - CallExpression 2420004 2420050 - Identifier 2420004 2420038 - Identifier 2420039 2420043 - Identifier 2420044 2420049 - ExpressionStatement 2420062 2420102 - BinaryExpression 2420062 2420101 - Identifier 2420062 2420083 - EqualsToken 2420083 2420085 - Identifier 2420085 2420101 - ExpressionStatement 2420102 2420127 - CallExpression 2420102 2420126 - PropertyAccessExpression 2420102 2420124 - Identifier 2420102 2420119 - QuestionDotToken 2420119 2420121 - Identifier 2420121 2420124 - ReturnStatement 2420127 2420149 - Identifier 2420143 2420148 - FunctionDeclaration 2420156 2422681 - Identifier 2420172 2420193 - Parameter 2420194 2420226 - Identifier 2420194 2420198 - UnionType 2420199 2420226 - TypeReference 2420199 2420210 - Identifier 2420199 2420210 - TypeReference 2420212 2420226 - Identifier 2420212 2420226 - Parameter 2420227 2420238 - Identifier 2420227 2420232 - TypeReference 2420233 2420238 - Identifier 2420233 2420238 - Block 2420239 2422681 - VariableStatement 2420241 2421064 - VariableDeclarationList 2420241 2421063 - VariableDeclaration 2420453 2421063 - Identifier 2420453 2420456 - BinaryExpression 2420458 2421063 - BinaryExpression 2420458 2420997 - BinaryExpression 2420458 2420720 - ParenthesizedExpression 2420458 2420582 - BinaryExpression 2420460 2420581 - BinaryExpression 2420460 2420516 - PropertyAccessExpression 2420460 2420476 - PropertyAccessExpression 2420460 2420471 - Identifier 2420460 2420464 - Identifier 2420465 2420471 - Identifier 2420472 2420476 - EqualsEqualsEqualsToken 2420476 2420480 - PropertyAccessExpression 2420480 2420516 - Identifier 2420480 2420491 - Identifier 2420492 2420516 - AmpersandAmpersandToken 2420516 2420519 - BinaryExpression 2420519 2420581 - PropertyAccessExpression 2420519 2420572 - ParenthesizedExpression 2420519 2420561 - AsExpression 2420521 2420560 - PropertyAccessExpression 2420521 2420532 - Identifier 2420521 2420525 - Identifier 2420526 2420532 - TypeReference 2420535 2420560 - Identifier 2420535 2420560 - Identifier 2420562 2420572 - EqualsEqualsEqualsToken 2420572 2420576 - Identifier 2420576 2420581 - BarBarToken 2420582 2420585 - ParenthesizedExpression 2420585 2420720 - BinaryExpression 2420600 2420719 - BinaryExpression 2420600 2420655 - PropertyAccessExpression 2420600 2420616 - PropertyAccessExpression 2420600 2420611 - Identifier 2420600 2420604 - Identifier 2420605 2420611 - Identifier 2420612 2420616 - EqualsEqualsEqualsToken 2420616 2420620 - PropertyAccessExpression 2420620 2420655 - Identifier 2420620 2420631 - Identifier 2420632 2420655 - AmpersandAmpersandToken 2420655 2420658 - BinaryExpression 2420658 2420719 - PropertyAccessExpression 2420658 2420710 - ParenthesizedExpression 2420658 2420699 - AsExpression 2420660 2420698 - PropertyAccessExpression 2420660 2420671 - Identifier 2420660 2420664 - Identifier 2420665 2420671 - TypeReference 2420674 2420698 - Identifier 2420674 2420698 - Identifier 2420700 2420710 - EqualsEqualsEqualsToken 2420710 2420714 - Identifier 2420714 2420719 - BarBarToken 2420720 2420723 - ParenthesizedExpression 2420723 2420997 - BinaryExpression 2420738 2420996 - BinaryExpression 2420738 2420880 - ParenthesizedExpression 2420738 2420817 - BinaryExpression 2420739 2420816 - BinaryExpression 2420739 2420774 - PropertyAccessExpression 2420739 2420748 - Identifier 2420739 2420743 - Identifier 2420744 2420748 - EqualsEqualsEqualsToken 2420748 2420752 - PropertyAccessExpression 2420752 2420774 - Identifier 2420752 2420763 - Identifier 2420764 2420774 - BarBarToken 2420774 2420777 - BinaryExpression 2420777 2420816 - PropertyAccessExpression 2420777 2420787 - Identifier 2420777 2420782 - Identifier 2420783 2420787 - EqualsEqualsEqualsToken 2420787 2420791 - PropertyAccessExpression 2420791 2420816 - Identifier 2420791 2420802 - Identifier 2420803 2420816 - AmpersandAmpersandToken 2420817 2420820 - CallExpression 2420820 2420880 - Identifier 2420820 2420860 - AsExpression 2420861 2420879 - Identifier 2420861 2420865 - TypeReference 2420868 2420879 - Identifier 2420868 2420879 - BarBarToken 2420880 2420883 - ParenthesizedExpression 2420883 2420996 - BinaryExpression 2420902 2420995 - BinaryExpression 2420902 2420943 - PropertyAccessExpression 2420902 2420918 - PropertyAccessExpression 2420902 2420913 - Identifier 2420902 2420906 - Identifier 2420907 2420913 - Identifier 2420914 2420918 - EqualsEqualsEqualsToken 2420918 2420922 - PropertyAccessExpression 2420922 2420943 - Identifier 2420922 2420933 - Identifier 2420934 2420943 - AmpersandAmpersandToken 2420943 2420946 - BinaryExpression 2420946 2420995 - PropertyAccessExpression 2420946 2420986 - ParenthesizedExpression 2420946 2420977 - AsExpression 2420948 2420976 - PropertyAccessExpression 2420948 2420959 - Identifier 2420948 2420952 - Identifier 2420953 2420959 - TypeReference 2420962 2420976 - Identifier 2420962 2420976 - Identifier 2420978 2420986 - EqualsEqualsEqualsToken 2420986 2420990 - Identifier 2420990 2420995 - BarBarToken 2420997 2421000 - ParenthesizedExpression 2421000 2421063 - BinaryExpression 2421015 2421062 - PropertyAccessExpression 2421015 2421031 - PropertyAccessExpression 2421015 2421026 - Identifier 2421015 2421019 - Identifier 2421020 2421026 - Identifier 2421027 2421031 - EqualsEqualsEqualsToken 2421031 2421035 - PropertyAccessExpression 2421035 2421062 - Identifier 2421035 2421046 - Identifier 2421047 2421062 - IfStatement 2421064 2421324 - PrefixUnaryExpression 2421116 2421119 - Identifier 2421117 2421119 - Block 2421120 2421324 - ExpressionStatement 2421122 2421313 - CallExpression 2421122 2421312 - Identifier 2421122 2421141 - Identifier 2421142 2421146 - PropertyAccessExpression 2421147 2421311 - Identifier 2421147 2421159 - Identifier 2421160 2421311 - IfStatement 2421324 2422674 - BinaryExpression 2421558 2422022 - PropertyAccessExpression 2421558 2421603 - Identifier 2421558 2421587 - Identifier 2421588 2421603 - BarBarToken 2421603 2421619 - BinaryExpression 2421619 2422022 - BinaryExpression 2421619 2421679 - PropertyAccessExpression 2421619 2421656 - Identifier 2421619 2421635 - Identifier 2421636 2421656 - AmpersandAmpersandToken 2421656 2421676 - Identifier 2421676 2421679 - AmpersandAmpersandToken 2421679 2421699 - PrefixUnaryExpression 2421699 2422022 - CallExpression 2421701 2422022 - Identifier 2421701 2421712 - Identifier 2421713 2421739 - CallExpression 2421740 2421822 - Identifier 2421740 2421780 - AsExpression 2421781 2421821 - Identifier 2421781 2421785 - TypeReference 2421788 2421821 - Identifier 2421788 2421821 - PropertyAccessExpression 2421823 2421862 - Identifier 2421823 2421856 - Identifier 2421857 2421862 - Identifier 2421863 2421918 - FalseKeyword 2421919 2421956 - TrueKeyword 2421957 2422002 - Block 2422033 2422674 - ExpressionStatement 2422035 2422109 - CallExpression 2422035 2422108 - PropertyAccessExpression 2422035 2422061 - Identifier 2422035 2422054 - Identifier 2422055 2422061 - PrefixUnaryExpression 2422062 2422107 - PrefixUnaryExpression 2422063 2422107 - ParenthesizedExpression 2422064 2422107 - BinaryExpression 2422065 2422106 - PropertyAccessExpression 2422065 2422082 - PropertyAccessExpression 2422065 2422076 - Identifier 2422065 2422069 - Identifier 2422070 2422076 - Identifier 2422077 2422082 - AmpersandToken 2422082 2422084 - PropertyAccessExpression 2422084 2422106 - Identifier 2422084 2422096 - Identifier 2422097 2422106 - VariableStatement 2422109 2422200 - VariableDeclarationList 2422109 2422199 - VariableDeclaration 2422128 2422199 - Identifier 2422128 2422149 - AsExpression 2422151 2422199 - PropertyAccessExpression 2422151 2422180 - PropertyAccessExpression 2422151 2422163 - Identifier 2422151 2422156 - Identifier 2422157 2422163 - Identifier 2422164 2422180 - TypeReference 2422183 2422199 - Identifier 2422183 2422199 - VariableStatement 2422200 2422345 - VariableDeclarationList 2422200 2422344 - VariableDeclaration 2422219 2422344 - Identifier 2422219 2422228 - CallExpression 2422230 2422344 - PropertyAccessExpression 2422230 2422288 - Identifier 2422230 2422235 - Identifier 2422236 2422288 - PropertyAccessExpression 2422289 2422343 - CallExpression 2422289 2422330 - Identifier 2422289 2422308 - Identifier 2422309 2422329 - Identifier 2422331 2422343 - IfStatement 2422345 2422663 - BinaryExpression 2422363 2422521 - BinaryExpression 2422363 2422447 - BinaryExpression 2422363 2422409 - PropertyAccessExpression 2422363 2422389 - Identifier 2422363 2422383 - Identifier 2422384 2422389 - AmpersandToken 2422389 2422391 - PropertyAccessExpression 2422391 2422409 - Identifier 2422391 2422401 - Identifier 2422402 2422409 - AmpersandAmpersandToken 2422409 2422412 - PrefixUnaryExpression 2422412 2422447 - CallExpression 2422414 2422447 - Identifier 2422414 2422441 - Identifier 2422442 2422446 - AmpersandAmpersandToken 2422447 2422450 - ParenthesizedExpression 2422450 2422521 - BinaryExpression 2422452 2422520 - PrefixUnaryExpression 2422452 2422461 - Identifier 2422453 2422461 - BarBarToken 2422461 2422464 - PrefixUnaryExpression 2422464 2422520 - CallExpression 2422466 2422520 - Identifier 2422466 2422490 - PropertyAccessExpression 2422491 2422519 - PropertyAccessExpression 2422491 2422511 - Identifier 2422491 2422499 - Identifier 2422500 2422511 - Identifier 2422512 2422519 - Block 2422522 2422663 - ExpressionStatement 2422524 2422648 - CallExpression 2422524 2422647 - Identifier 2422524 2422547 - Identifier 2422548 2422552 - PropertyAccessExpression 2422553 2422617 - Identifier 2422553 2422565 - Identifier 2422566 2422617 - Identifier 2422618 2422646 - FunctionDeclaration 2422681 2423219 - Identifier 2422697 2422726 - Parameter 2422727 2422756 - Identifier 2422727 2422731 - TypeReference 2422732 2422756 - Identifier 2422732 2422756 - Parameter 2422757 2422779 - Identifier 2422757 2422767 - QuestionToken 2422767 2422768 - TypeReference 2422769 2422779 - Identifier 2422769 2422779 - TypeReference 2422781 2422786 - Identifier 2422781 2422786 - Block 2422786 2423219 - IfStatement 2422788 2423151 - CallExpression 2422802 2422821 - Identifier 2422802 2422815 - Identifier 2422816 2422820 - Block 2422822 2423151 - IfStatement 2422824 2423015 - CallExpression 2422842 2422874 - Identifier 2422842 2422868 - Identifier 2422869 2422873 - Block 2422875 2423015 - ReturnStatement 2422877 2423000 - CallExpression 2422901 2422999 - Identifier 2422901 2422932 - PropertyAccessExpression 2422933 2422948 - Identifier 2422933 2422937 - Identifier 2422938 2422948 - CallExpression 2422949 2422987 - Identifier 2422949 2422981 - Identifier 2422982 2422986 - Identifier 2422988 2422998 - IfStatement 2423015 2423140 - CallExpression 2423033 2423059 - Identifier 2423033 2423053 - Identifier 2423054 2423058 - Block 2423060 2423140 - ReturnStatement 2423062 2423125 - CallExpression 2423086 2423124 - Identifier 2423086 2423107 - Identifier 2423108 2423112 - Identifier 2423113 2423123 - ReturnStatement 2423151 2423212 - CallExpression 2423167 2423211 - Identifier 2423167 2423183 - PropertyAccessExpression 2423184 2423199 - Identifier 2423184 2423188 - Identifier 2423189 2423199 - Identifier 2423200 2423210 - FunctionDeclaration 2423219 2430380 - Identifier 2423235 2423257 - Parameter 2423258 2423290 - Identifier 2423258 2423262 - UnionType 2423263 2423290 - TypeReference 2423263 2423274 - Identifier 2423263 2423274 - TypeReference 2423276 2423290 - Identifier 2423276 2423290 - Parameter 2423291 2423324 - Identifier 2423291 2423301 - UnionType 2423302 2423324 - TypeReference 2423302 2423312 - Identifier 2423302 2423312 - UndefinedKeyword 2423314 2423324 - Parameter 2423325 2423346 - Identifier 2423325 2423336 - QuestionToken 2423336 2423337 - BooleanKeyword 2423338 2423346 - TypeReference 2423348 2423353 - Identifier 2423348 2423353 - Block 2423353 2430380 - VariableStatement 2423355 2423388 - VariableDeclarationList 2423355 2423387 - VariableDeclaration 2423370 2423387 - Identifier 2423370 2423375 - PropertyAccessExpression 2423377 2423387 - Identifier 2423377 2423382 - Identifier 2423383 2423387 - IfStatement 2423388 2423866 - Identifier 2423402 2423419 - Block 2423420 2423866 - SwitchStatement 2423422 2423855 - Identifier 2423611 2423615 - CaseBlock 2423616 2423855 - CaseClause 2423618 2423668 - PropertyAccessExpression 2423640 2423667 - Identifier 2423640 2423651 - Identifier 2423652 2423667 - CaseClause 2423668 2423721 - PropertyAccessExpression 2423690 2423720 - Identifier 2423690 2423701 - Identifier 2423702 2423720 - CaseClause 2423721 2423840 - PropertyAccessExpression 2423743 2423768 - Identifier 2423743 2423754 - Identifier 2423755 2423768 - ExpressionStatement 2423769 2423840 - CallExpression 2423769 2423839 - PropertyAccessExpression 2423769 2423837 - Identifier 2423769 2423808 - Identifier 2423809 2423837 - SwitchStatement 2423866 2430346 - Identifier 2423884 2423888 - CaseBlock 2423889 2430346 - CaseClause 2423891 2424004 - PropertyAccessExpression 2423909 2423931 - Identifier 2423909 2423920 - Identifier 2423921 2423931 - ReturnStatement 2423932 2424004 - CallExpression 2423956 2424003 - Identifier 2423956 2423972 - AsExpression 2423973 2423991 - Identifier 2423973 2423977 - TypeReference 2423980 2423991 - Identifier 2423980 2423991 - Identifier 2423992 2424002 - CaseClause 2424004 2424137 - PropertyAccessExpression 2424022 2424051 - Identifier 2424022 2424033 - Identifier 2424034 2424051 - ReturnStatement 2424052 2424137 - CallExpression 2424076 2424136 - Identifier 2424076 2424109 - AsExpression 2424110 2424135 - Identifier 2424110 2424114 - TypeReference 2424117 2424135 - Identifier 2424117 2424135 - CaseClause 2424137 2424230 - PropertyAccessExpression 2424155 2424178 - Identifier 2424155 2424166 - Identifier 2424167 2424178 - ReturnStatement 2424179 2424230 - CallExpression 2424203 2424229 - Identifier 2424203 2424223 - Identifier 2424224 2424228 - CaseClause 2424230 2424325 - PropertyAccessExpression 2424248 2424272 - Identifier 2424248 2424259 - Identifier 2424260 2424272 - ReturnStatement 2424273 2424325 - CallExpression 2424297 2424324 - Identifier 2424297 2424318 - Identifier 2424319 2424323 - CaseClause 2424325 2424409 - PropertyAccessExpression 2424343 2424366 - Identifier 2424343 2424354 - Identifier 2424355 2424366 - ReturnStatement 2424367 2424409 - Identifier 2424391 2424408 - CaseClause 2424409 2424469 - PropertyAccessExpression 2424427 2424468 - Identifier 2424427 2424438 - Identifier 2424439 2424468 - CaseClause 2424469 2424717 - PropertyAccessExpression 2424487 2424512 - Identifier 2424487 2424498 - Identifier 2424499 2424512 - ReturnStatement 2424513 2424717 - ConditionalExpression 2424537 2424716 - CallExpression 2424537 2424570 - Identifier 2424537 2424564 - Identifier 2424565 2424569 - QuestionToken 2424570 2424572 - Identifier 2424572 2424611 - ColonToken 2424611 2424613 - CallExpression 2424613 2424716 - Identifier 2424613 2424660 - CallExpression 2424661 2424715 - Identifier 2424661 2424681 - PropertyAccessExpression 2424682 2424714 - ParenthesizedExpression 2424682 2424709 - AsExpression 2424683 2424708 - Identifier 2424683 2424687 - TypeReference 2424690 2424708 - Identifier 2424690 2424708 - Identifier 2424710 2424714 - CaseClause 2424717 2424936 - PropertyAccessExpression 2424735 2424761 - Identifier 2424735 2424746 - Identifier 2424747 2424761 - ExpressionStatement 2424762 2424831 - CallExpression 2424762 2424830 - Identifier 2424762 2424806 - AsExpression 2424807 2424829 - Identifier 2424807 2424811 - TypeReference 2424814 2424829 - Identifier 2424814 2424829 - ReturnStatement 2424831 2424936 - CallExpression 2424855 2424935 - Identifier 2424855 2424881 - CallExpression 2424882 2424934 - Identifier 2424882 2424902 - PrefixUnaryExpression 2424903 2424933 - PropertyAccessExpression 2424904 2424933 - ParenthesizedExpression 2424904 2424928 - AsExpression 2424905 2424927 - Identifier 2424905 2424909 - TypeReference 2424912 2424927 - Identifier 2424912 2424927 - Identifier 2424929 2424933 - CaseClause 2424936 2425263 - PropertyAccessExpression 2424954 2424979 - Identifier 2424954 2424965 - Identifier 2424966 2424979 - ExpressionStatement 2424980 2425047 - CallExpression 2424980 2425046 - Identifier 2424980 2425023 - AsExpression 2425024 2425045 - Identifier 2425024 2425028 - TypeReference 2425031 2425045 - Identifier 2425031 2425045 - ReturnStatement 2425047 2425263 - CallExpression 2425071 2425262 - Identifier 2425071 2425097 - CallExpression 2425098 2425261 - Identifier 2425098 2425118 - ObjectLiteralExpression 2425119 2425260 - PropertyAssignment 2425120 2425157 - Identifier 2425120 2425150 - FalseKeyword 2425151 2425157 - PropertyAssignment 2425158 2425240 - Identifier 2425158 2425191 - CallExpression 2425192 2425240 - Identifier 2425192 2425210 - PropertyAccessExpression 2425211 2425239 - ParenthesizedExpression 2425211 2425234 - AsExpression 2425212 2425233 - Identifier 2425212 2425216 - TypeReference 2425219 2425233 - Identifier 2425219 2425233 - Identifier 2425235 2425239 - CaseClause 2425263 2425339 - PropertyAccessExpression 2425281 2425304 - Identifier 2425281 2425292 - Identifier 2425293 2425304 - ReturnStatement 2425305 2425339 - Identifier 2425329 2425338 - CaseClause 2425339 2425417 - PropertyAccessExpression 2425357 2425381 - Identifier 2425357 2425368 - Identifier 2425369 2425381 - ReturnStatement 2425382 2425417 - Identifier 2425406 2425416 - CaseClause 2425417 2425543 - PropertyAccessExpression 2425435 2425465 - Identifier 2425435 2425446 - Identifier 2425447 2425465 - ReturnStatement 2425466 2425543 - CallExpression 2425490 2425542 - Identifier 2425490 2425514 - AsExpression 2425515 2425541 - Identifier 2425515 2425519 - TypeReference 2425522 2425541 - Identifier 2425522 2425541 - CaseClause 2425543 2425687 - PropertyAccessExpression 2425561 2425597 - Identifier 2425561 2425572 - Identifier 2425573 2425597 - ReturnStatement 2425598 2425687 - CallExpression 2425622 2425686 - Identifier 2425622 2425652 - AsExpression 2425653 2425685 - Identifier 2425653 2425657 - TypeReference 2425660 2425685 - Identifier 2425660 2425685 - CaseClause 2425687 2425838 - PropertyAccessExpression 2425705 2425739 - Identifier 2425705 2425716 - Identifier 2425717 2425739 - ReturnStatement 2425740 2425838 - CallExpression 2425764 2425837 - Identifier 2425764 2425782 - AsExpression 2425783 2425813 - Identifier 2425783 2425787 - TypeReference 2425790 2425813 - Identifier 2425790 2425813 - Identifier 2425814 2425824 - Identifier 2425825 2425836 - CaseClause 2425838 2425980 - PropertyAccessExpression 2425856 2425891 - Identifier 2425856 2425867 - Identifier 2425868 2425891 - ReturnStatement 2425892 2425980 - CallExpression 2425916 2425979 - Identifier 2425916 2425935 - AsExpression 2425936 2425967 - Identifier 2425936 2425940 - TypeReference 2425943 2425967 - Identifier 2425943 2425967 - Identifier 2425968 2425978 - CaseClause 2425980 2426135 - PropertyAccessExpression 2425998 2426034 - Identifier 2425998 2426009 - Identifier 2426010 2426034 - ReturnStatement 2426035 2426135 - CallExpression 2426059 2426134 - Identifier 2426059 2426089 - AsExpression 2426090 2426122 - Identifier 2426090 2426094 - TypeReference 2426097 2426122 - Identifier 2426097 2426122 - Identifier 2426123 2426133 - CaseClause 2426135 2426257 - PropertyAccessExpression 2426153 2426178 - Identifier 2426153 2426164 - Identifier 2426165 2426178 - ReturnStatement 2426179 2426257 - CallExpression 2426203 2426256 - Identifier 2426203 2426222 - AsExpression 2426223 2426244 - Identifier 2426223 2426227 - TypeReference 2426230 2426244 - Identifier 2426230 2426244 - Identifier 2426245 2426255 - CaseClause 2426257 2426399 - PropertyAccessExpression 2426275 2426310 - Identifier 2426275 2426286 - Identifier 2426287 2426310 - ReturnStatement 2426311 2426399 - CallExpression 2426335 2426398 - Identifier 2426335 2426354 - AsExpression 2426355 2426386 - Identifier 2426355 2426359 - TypeReference 2426362 2426386 - Identifier 2426362 2426386 - Identifier 2426387 2426397 - CaseClause 2426399 2426632 - PropertyAccessExpression 2426417 2426443 - Identifier 2426417 2426428 - Identifier 2426429 2426443 - IfStatement 2426444 2426632 - BinaryExpression 2426466 2426535 - PropertyAccessExpression 2426466 2426506 - PropertyAccessExpression 2426466 2426501 - ParenthesizedExpression 2426466 2426490 - AsExpression 2426467 2426489 - Identifier 2426467 2426471 - TypeReference 2426474 2426489 - Identifier 2426474 2426489 - Identifier 2426491 2426501 - Identifier 2426502 2426506 - EqualsEqualsEqualsToken 2426506 2426510 - PropertyAccessExpression 2426510 2426535 - Identifier 2426510 2426521 - Identifier 2426522 2426535 - Block 2426536 2426632 - ReturnStatement 2426538 2426613 - CallExpression 2426566 2426612 - Identifier 2426566 2426592 - AsExpression 2426593 2426611 - Identifier 2426593 2426597 - TypeReference 2426600 2426611 - Identifier 2426600 2426611 - CaseClause 2426632 2426790 - PropertyAccessExpression 2426684 2426709 - Identifier 2426684 2426695 - Identifier 2426696 2426709 - ReturnStatement 2426710 2426790 - CallExpression 2426734 2426789 - Identifier 2426734 2426754 - AsExpression 2426755 2426777 - Identifier 2426755 2426759 - TypeReference 2426762 2426777 - Identifier 2426762 2426777 - Identifier 2426778 2426788 - CaseClause 2426790 2426934 - PropertyAccessExpression 2426808 2426844 - Identifier 2426808 2426819 - Identifier 2426820 2426844 - ReturnStatement 2426845 2426934 - CallExpression 2426869 2426933 - Identifier 2426869 2426899 - AsExpression 2426900 2426932 - Identifier 2426900 2426904 - TypeReference 2426907 2426932 - Identifier 2426907 2426932 - CaseClause 2426934 2427086 - PropertyAccessExpression 2426952 2426987 - Identifier 2426952 2426963 - Identifier 2426964 2426987 - ReturnStatement 2426988 2427086 - CallExpression 2427012 2427085 - Identifier 2427012 2427041 - AsExpression 2427042 2427073 - Identifier 2427042 2427046 - TypeReference 2427049 2427073 - Identifier 2427049 2427073 - Identifier 2427074 2427084 - CaseClause 2427086 2427203 - PropertyAccessExpression 2427104 2427131 - Identifier 2427104 2427115 - Identifier 2427116 2427131 - ReturnStatement 2427132 2427203 - CallExpression 2427156 2427202 - Identifier 2427156 2427177 - AsExpression 2427178 2427201 - Identifier 2427178 2427182 - TypeReference 2427185 2427201 - Identifier 2427185 2427201 - CaseClause 2427203 2427252 - PropertyAccessExpression 2427221 2427251 - Identifier 2427221 2427232 - Identifier 2427233 2427251 - CaseClause 2427252 2427421 - PropertyAccessExpression 2427270 2427295 - Identifier 2427270 2427281 - Identifier 2427282 2427295 - ReturnStatement 2427296 2427421 - CallExpression 2427320 2427420 - Identifier 2427320 2427365 - AsExpression 2427366 2427408 - Identifier 2427366 2427370 - UnionType 2427373 2427408 - TypeReference 2427373 2427392 - Identifier 2427373 2427392 - TypeReference 2427394 2427408 - Identifier 2427394 2427408 - Identifier 2427409 2427419 - CaseClause 2427421 2427541 - PropertyAccessExpression 2427439 2427467 - Identifier 2427439 2427450 - Identifier 2427451 2427467 - ReturnStatement 2427468 2427541 - CallExpression 2427492 2427540 - Identifier 2427492 2427514 - AsExpression 2427515 2427539 - Identifier 2427515 2427519 - TypeReference 2427522 2427539 - Identifier 2427522 2427539 - CaseClause 2427541 2427595 - PropertyAccessExpression 2427559 2427594 - Identifier 2427559 2427570 - Identifier 2427571 2427594 - CaseClause 2427595 2427718 - PropertyAccessExpression 2427613 2427637 - Identifier 2427613 2427624 - Identifier 2427625 2427637 - ReturnStatement 2427638 2427718 - CallExpression 2427662 2427717 - Identifier 2427662 2427677 - AsExpression 2427678 2427705 - Identifier 2427678 2427682 - TypeReference 2427685 2427705 - Identifier 2427685 2427705 - Identifier 2427706 2427716 - CaseClause 2427718 2427840 - PropertyAccessExpression 2427736 2427765 - Identifier 2427736 2427747 - Identifier 2427748 2427765 - ReturnStatement 2427766 2427840 - CallExpression 2427790 2427839 - Identifier 2427790 2427812 - AsExpression 2427813 2427838 - Identifier 2427813 2427817 - TypeReference 2427820 2427838 - Identifier 2427820 2427838 - CaseClause 2427840 2427993 - PropertyAccessExpression 2427858 2427897 - Identifier 2427858 2427869 - Identifier 2427870 2427897 - ReturnStatement 2427898 2427993 - CallExpression 2427922 2427992 - Identifier 2427922 2427955 - AsExpression 2427956 2427991 - Identifier 2427956 2427960 - TypeReference 2427963 2427991 - Identifier 2427963 2427991 - CaseClause 2427993 2428122 - PropertyAccessExpression 2428011 2428042 - Identifier 2428011 2428022 - Identifier 2428023 2428042 - ReturnStatement 2428043 2428122 - CallExpression 2428067 2428121 - Identifier 2428067 2428092 - AsExpression 2428093 2428120 - Identifier 2428093 2428097 - TypeReference 2428100 2428120 - Identifier 2428100 2428120 - CaseClause 2428122 2428230 - PropertyAccessExpression 2428140 2428164 - Identifier 2428140 2428151 - Identifier 2428152 2428164 - ReturnStatement 2428165 2428230 - CallExpression 2428189 2428229 - Identifier 2428189 2428207 - AsExpression 2428208 2428228 - Identifier 2428208 2428212 - TypeReference 2428215 2428228 - Identifier 2428215 2428228 - CaseClause 2428230 2428350 - PropertyAccessExpression 2428248 2428276 - Identifier 2428248 2428259 - Identifier 2428260 2428276 - ReturnStatement 2428277 2428350 - CallExpression 2428301 2428349 - Identifier 2428301 2428323 - AsExpression 2428324 2428348 - Identifier 2428324 2428328 - TypeReference 2428331 2428348 - Identifier 2428331 2428348 - CaseClause 2428350 2428464 - PropertyAccessExpression 2428368 2428394 - Identifier 2428368 2428379 - Identifier 2428380 2428394 - ReturnStatement 2428395 2428464 - CallExpression 2428419 2428463 - Identifier 2428419 2428439 - AsExpression 2428440 2428462 - Identifier 2428440 2428444 - TypeReference 2428447 2428462 - Identifier 2428447 2428462 - CaseClause 2428464 2428581 - PropertyAccessExpression 2428482 2428509 - Identifier 2428482 2428493 - Identifier 2428494 2428509 - ReturnStatement 2428510 2428581 - CallExpression 2428534 2428580 - Identifier 2428534 2428555 - AsExpression 2428556 2428579 - Identifier 2428556 2428560 - TypeReference 2428563 2428579 - Identifier 2428563 2428579 - CaseClause 2428581 2428716 - PropertyAccessExpression 2428599 2428632 - Identifier 2428599 2428610 - Identifier 2428611 2428632 - ReturnStatement 2428633 2428716 - CallExpression 2428657 2428715 - Identifier 2428657 2428684 - AsExpression 2428685 2428714 - Identifier 2428685 2428689 - TypeReference 2428692 2428714 - Identifier 2428692 2428714 - CaseClause 2428716 2428854 - PropertyAccessExpression 2428734 2428768 - Identifier 2428734 2428745 - Identifier 2428746 2428768 - ReturnStatement 2428769 2428854 - CallExpression 2428793 2428853 - Identifier 2428793 2428821 - AsExpression 2428822 2428852 - Identifier 2428822 2428826 - TypeReference 2428829 2428852 - Identifier 2428829 2428852 - CaseClause 2428854 2428985 - PropertyAccessExpression 2428872 2428900 - Identifier 2428872 2428883 - Identifier 2428884 2428900 - ReturnStatement 2428901 2428985 - CallExpression 2428925 2428984 - Identifier 2428925 2428947 - AsExpression 2428948 2428972 - Identifier 2428948 2428952 - TypeReference 2428955 2428972 - Identifier 2428955 2428972 - Identifier 2428973 2428983 - CaseClause 2428985 2429131 - PropertyAccessExpression 2429003 2429036 - Identifier 2429003 2429014 - Identifier 2429015 2429036 - ReturnStatement 2429037 2429131 - CallExpression 2429061 2429130 - Identifier 2429061 2429088 - AsExpression 2429089 2429118 - Identifier 2429089 2429093 - TypeReference 2429096 2429118 - Identifier 2429096 2429118 - Identifier 2429119 2429129 - CaseClause 2429131 2429256 - PropertyAccessExpression 2429149 2429174 - Identifier 2429149 2429160 - Identifier 2429161 2429174 - ReturnStatement 2429175 2429256 - CallExpression 2429199 2429255 - Identifier 2429199 2429221 - AsExpression 2429222 2429243 - Identifier 2429222 2429226 - TypeReference 2429229 2429243 - Identifier 2429229 2429243 - Identifier 2429244 2429254 - CaseClause 2429256 2429351 - PropertyAccessExpression 2429274 2429303 - Identifier 2429274 2429285 - Identifier 2429286 2429303 - ReturnStatement 2429304 2429351 - Identifier 2429328 2429350 - CaseClause 2429351 2429468 - PropertyAccessExpression 2429369 2429396 - Identifier 2429369 2429380 - Identifier 2429381 2429396 - ReturnStatement 2429397 2429468 - CallExpression 2429421 2429467 - Identifier 2429421 2429442 - AsExpression 2429443 2429466 - Identifier 2429443 2429447 - TypeReference 2429450 2429466 - Identifier 2429450 2429466 - CaseClause 2429468 2429597 - PropertyAccessExpression 2429486 2429517 - Identifier 2429486 2429497 - Identifier 2429498 2429517 - ReturnStatement 2429518 2429597 - CallExpression 2429542 2429596 - Identifier 2429542 2429567 - AsExpression 2429568 2429595 - Identifier 2429568 2429572 - TypeReference 2429575 2429595 - Identifier 2429575 2429595 - CaseClause 2429597 2429719 - PropertyAccessExpression 2429615 2429640 - Identifier 2429615 2429626 - Identifier 2429627 2429640 - ReturnStatement 2429641 2429719 - CallExpression 2429665 2429718 - Identifier 2429665 2429684 - AsExpression 2429685 2429706 - Identifier 2429685 2429689 - TypeReference 2429692 2429706 - Identifier 2429692 2429706 - Identifier 2429707 2429717 - CaseClause 2429719 2429832 - PropertyAccessExpression 2429737 2429759 - Identifier 2429737 2429748 - Identifier 2429749 2429759 - ReturnStatement 2429760 2429832 - CallExpression 2429784 2429831 - Identifier 2429784 2429800 - AsExpression 2429801 2429819 - Identifier 2429801 2429805 - TypeReference 2429808 2429819 - Identifier 2429808 2429819 - Identifier 2429820 2429830 - CaseClause 2429832 2429978 - PropertyAccessExpression 2429850 2429883 - Identifier 2429850 2429861 - Identifier 2429862 2429883 - ReturnStatement 2429884 2429978 - CallExpression 2429908 2429977 - Identifier 2429908 2429935 - AsExpression 2429936 2429965 - Identifier 2429936 2429940 - TypeReference 2429943 2429965 - Identifier 2429943 2429965 - Identifier 2429966 2429976 - CaseClause 2429978 2430083 - PropertyAccessExpression 2429996 2430019 - Identifier 2429996 2430007 - Identifier 2430008 2430019 - ReturnStatement 2430020 2430083 - CallExpression 2430044 2430082 - Identifier 2430044 2430061 - AsExpression 2430062 2430081 - Identifier 2430062 2430066 - TypeReference 2430069 2430081 - Identifier 2430069 2430081 - CaseClause 2430083 2430205 - PropertyAccessExpression 2430101 2430126 - Identifier 2430101 2430112 - Identifier 2430113 2430126 - ReturnStatement 2430127 2430205 - CallExpression 2430151 2430204 - Identifier 2430151 2430170 - AsExpression 2430171 2430192 - Identifier 2430171 2430175 - TypeReference 2430178 2430192 - Identifier 2430178 2430192 - Identifier 2430193 2430203 - CaseClause 2430205 2430335 - PropertyAccessExpression 2430223 2430252 - Identifier 2430223 2430234 - Identifier 2430235 2430252 - ExpressionStatement 2430253 2430335 - CallExpression 2430253 2430334 - PropertyAccessExpression 2430253 2430281 - Identifier 2430253 2430276 - Identifier 2430277 2430281 - StringLiteral 2430282 2430333 - ReturnStatement 2430346 2430373 - Identifier 2430362 2430372 - FunctionDeclaration 2430380 2431784 - Identifier 2430446 2430465 - Parameter 2430466 2430496 - Identifier 2430466 2430470 - TypeReference 2430471 2430496 - Identifier 2430471 2430496 - Block 2430497 2431784 - ExpressionStatement 2430499 2430566 - CallExpression 2430499 2430565 - Identifier 2430499 2430559 - Identifier 2430560 2430564 - IfStatement 2430566 2430692 - PropertyAccessExpression 2430580 2430595 - Identifier 2430580 2430584 - Identifier 2430585 2430595 - Block 2430596 2430692 - ExpressionStatement 2430598 2430681 - CallExpression 2430598 2430680 - Identifier 2430598 2430636 - PropertyAccessExpression 2430637 2430652 - Identifier 2430637 2430641 - Identifier 2430642 2430652 - PropertyAccessExpression 2430653 2430679 - Identifier 2430653 2430665 - Identifier 2430666 2430679 - ExpressionStatement 2430692 2430740 - CallExpression 2430692 2430739 - Identifier 2430692 2430722 - PropertyAccessExpression 2430723 2430738 - Identifier 2430723 2430727 - Identifier 2430728 2430738 - ExpressionStatement 2430740 2430783 - CallExpression 2430740 2430782 - Identifier 2430740 2430768 - PropertyAccessExpression 2430769 2430781 - Identifier 2430769 2430773 - Identifier 2430774 2430781 - VariableStatement 2430783 2430876 - VariableDeclarationList 2430783 2430875 - VariableDeclaration 2430798 2430875 - Identifier 2430798 2430812 - CallExpression 2430814 2430875 - Identifier 2430814 2430845 - CallExpression 2430846 2430874 - Identifier 2430846 2430868 - Identifier 2430869 2430873 - ExpressionStatement 2430876 2430990 - CallExpression 2430876 2430989 - Identifier 2430876 2430974 - Identifier 2430975 2430988 - IfStatement 2430990 2431184 - PrefixUnaryExpression 2431004 2431054 - CallExpression 2431005 2431054 - Identifier 2431005 2431039 - Identifier 2431040 2431053 - Block 2431055 2431184 - ExpressionStatement 2431057 2431173 - CallExpression 2431057 2431172 - Identifier 2431057 2431076 - PropertyAccessExpression 2431077 2431089 - Identifier 2431077 2431081 - Identifier 2431082 2431089 - PropertyAccessExpression 2431090 2431142 - Identifier 2431090 2431102 - Identifier 2431103 2431142 - CallExpression 2431143 2431171 - Identifier 2431143 2431156 - Identifier 2431157 2431170 - VariableStatement 2431184 2431261 - VariableDeclarationList 2431184 2431260 - VariableDeclaration 2431199 2431260 - Identifier 2431199 2431214 - CallExpression 2431216 2431260 - Identifier 2431216 2431245 - Identifier 2431246 2431259 - VariableStatement 2431261 2431334 - VariableDeclarationList 2431261 2431333 - VariableDeclaration 2431276 2431333 - Identifier 2431276 2431288 - CallExpression 2431290 2431333 - Identifier 2431290 2431318 - Identifier 2431319 2431332 - IfStatement 2431334 2431628 - BinaryExpression 2431348 2431377 - Identifier 2431348 2431362 - AmpersandAmpersandToken 2431362 2431365 - Identifier 2431365 2431377 - Block 2431378 2431628 - ExpressionStatement 2431380 2431617 - CallExpression 2431380 2431616 - Identifier 2431380 2431415 - Identifier 2431416 2431427 - CallExpression 2431428 2431547 - Identifier 2431428 2431452 - CallExpression 2431453 2431533 - Identifier 2431453 2431468 - Identifier 2431469 2431483 - CallExpression 2431484 2431532 - Identifier 2431484 2431504 - Identifier 2431505 2431518 - Identifier 2431519 2431531 - Identifier 2431534 2431546 - PropertyAccessExpression 2431548 2431561 - Identifier 2431548 2431553 - Identifier 2431554 2431561 - PropertyAccessExpression 2431562 2431615 - Identifier 2431562 2431574 - Identifier 2431575 2431615 - ExpressionStatement 2431628 2431662 - CallExpression 2431628 2431661 - Identifier 2431628 2431655 - Identifier 2431656 2431660 - ExpressionStatement 2431662 2431777 - CallExpression 2431662 2431776 - Identifier 2431662 2431689 - ArrowFunction 2431690 2431775 - EqualsGreaterThanToken 2431692 2431695 - CallExpression 2431695 2431775 - Identifier 2431695 2431719 - PropertyAccessExpression 2431720 2431729 - Identifier 2431720 2431724 - Identifier 2431725 2431729 - PropertyAccessExpression 2431730 2431774 - Identifier 2431730 2431742 - Identifier 2431743 2431774 - FunctionDeclaration 2431784 2433654 - Identifier 2431800 2431827 - Parameter 2431828 2431858 - Identifier 2431828 2431832 - TypeReference 2431833 2431858 - Identifier 2431833 2431858 - Block 2431859 2433654 - IfStatement 2431861 2433647 - BinaryExpression 2431875 2431977 - BinaryExpression 2431875 2431938 - CallExpression 2431875 2431910 - Identifier 2431875 2431897 - PropertyAccessExpression 2431898 2431909 - Identifier 2431898 2431902 - Identifier 2431903 2431909 - BarBarToken 2431910 2431913 - CallExpression 2431913 2431938 - Identifier 2431913 2431925 - PropertyAccessExpression 2431926 2431937 - Identifier 2431926 2431930 - Identifier 2431931 2431937 - BarBarToken 2431938 2431941 - CallExpression 2431941 2431977 - Identifier 2431941 2431964 - PropertyAccessExpression 2431965 2431976 - Identifier 2431965 2431969 - Identifier 2431970 2431976 - Block 2431978 2433647 - VariableStatement 2431980 2432077 - VariableDeclarationList 2431980 2432076 - VariableDeclaration 2431999 2432076 - Identifier 2431999 2432013 - CallExpression 2432015 2432076 - Identifier 2432015 2432046 - CallExpression 2432047 2432075 - Identifier 2432047 2432069 - Identifier 2432070 2432074 - VariableStatement 2432077 2432191 - VariableDeclarationList 2432077 2432190 - VariableDeclaration 2432096 2432190 - Identifier 2432096 2432106 - BinaryExpression 2432108 2432190 - CallExpression 2432108 2432149 - Identifier 2432108 2432134 - Identifier 2432135 2432148 - AmpersandToken 2432149 2432151 - ParenthesizedExpression 2432151 2432190 - BinaryExpression 2432153 2432189 - PropertyAccessExpression 2432153 2432169 - Identifier 2432153 2432166 - Identifier 2432167 2432169 - BarToken 2432169 2432171 - PropertyAccessExpression 2432171 2432189 - Identifier 2432171 2432185 - Identifier 2432186 2432189 - IfStatement 2432191 2433636 - Identifier 2432209 2432218 - Block 2432219 2433636 - VariableStatement 2432221 2432290 - VariableDeclarationList 2432221 2432289 - VariableDeclaration 2432244 2432289 - Identifier 2432244 2432251 - CallExpression 2432253 2432289 - Identifier 2432253 2432276 - PropertyAccessExpression 2432277 2432288 - Identifier 2432277 2432281 - Identifier 2432282 2432288 - IfStatement 2432290 2433621 - BinaryExpression 2432312 2432448 - CallExpression 2432312 2432347 - Identifier 2432312 2432334 - PropertyAccessExpression 2432335 2432346 - Identifier 2432335 2432339 - Identifier 2432340 2432346 - AmpersandAmpersandToken 2432347 2432350 - PrefixUnaryExpression 2432350 2432448 - ParenthesizedExpression 2432352 2432448 - BinaryExpression 2432353 2432447 - CallExpression 2432353 2432400 - Identifier 2432353 2432367 - CallExpression 2432368 2432399 - Identifier 2432368 2432391 - Identifier 2432392 2432398 - AmpersandToken 2432400 2432402 - ParenthesizedExpression 2432402 2432447 - BinaryExpression 2432404 2432446 - PropertyAccessExpression 2432404 2432425 - Identifier 2432404 2432415 - Identifier 2432416 2432425 - BarToken 2432425 2432427 - PropertyAccessExpression 2432427 2432446 - Identifier 2432427 2432439 - Identifier 2432440 2432446 - Block 2432449 2432622 - ExpressionStatement 2432451 2432603 - CallExpression 2432451 2432602 - Identifier 2432451 2432478 - Identifier 2432479 2432483 - PropertyAccessExpression 2432484 2432601 - Identifier 2432484 2432496 - Identifier 2432497 2432601 - IfStatement 2432644 2433621 - BinaryExpression 2432649 2432714 - BinaryExpression 2432649 2432679 - Identifier 2432649 2432658 - EqualsEqualsEqualsToken 2432658 2432662 - PropertyAccessExpression 2432662 2432679 - Identifier 2432662 2432676 - Identifier 2432677 2432679 - BarBarToken 2432679 2432682 - BinaryExpression 2432682 2432714 - Identifier 2432682 2432692 - EqualsEqualsEqualsToken 2432692 2432696 - PropertyAccessExpression 2432696 2432714 - Identifier 2432696 2432710 - Identifier 2432711 2432714 - Block 2432715 2433621 - ExpressionStatement 2432717 2432895 - CallExpression 2432717 2432894 - PropertyAccessExpression 2432717 2432752 - Identifier 2432717 2432746 - QuestionDotToken 2432746 2432748 - Identifier 2432748 2432752 - PropertyAccessExpression 2432753 2432777 - PropertyAccessExpression 2432753 2432766 - Identifier 2432753 2432760 - Identifier 2432761 2432766 - Identifier 2432767 2432777 - StringLiteral 2432778 2432807 - ObjectLiteralExpression 2432808 2432893 - PropertyAssignment 2432810 2432861 - Identifier 2432810 2432817 - CallExpression 2432818 2432861 - Identifier 2432818 2432828 - CallExpression 2432829 2432860 - Identifier 2432829 2432852 - Identifier 2432853 2432859 - PropertyAssignment 2432862 2432891 - Identifier 2432862 2432865 - CallExpression 2432866 2432891 - Identifier 2432866 2432876 - Identifier 2432877 2432890 - VariableStatement 2432895 2433055 - VariableDeclarationList 2432895 2433054 - VariableDeclaration 2432922 2433054 - Identifier 2432922 2432929 - CallExpression 2432931 2433054 - Identifier 2432931 2432948 - Identifier 2432949 2432955 - Identifier 2432956 2432970 - ConditionalExpression 2432971 2433053 - BinaryExpression 2432971 2433003 - Identifier 2432971 2432981 - EqualsEqualsEqualsToken 2432981 2432985 - PropertyAccessExpression 2432985 2433003 - Identifier 2432985 2432999 - Identifier 2433000 2433003 - QuestionToken 2433003 2433005 - Identifier 2433005 2433027 - ColonToken 2433027 2433029 - Identifier 2433029 2433053 - VariableStatement 2433055 2433215 - VariableDeclarationList 2433055 2433214 - VariableDeclaration 2433082 2433214 - Identifier 2433082 2433089 - CallExpression 2433091 2433214 - Identifier 2433091 2433108 - Identifier 2433109 2433115 - Identifier 2433116 2433130 - ConditionalExpression 2433131 2433213 - BinaryExpression 2433131 2433163 - Identifier 2433131 2433141 - EqualsEqualsEqualsToken 2433141 2433145 - PropertyAccessExpression 2433145 2433163 - Identifier 2433145 2433159 - Identifier 2433160 2433163 - QuestionToken 2433163 2433165 - Identifier 2433165 2433189 - ColonToken 2433189 2433191 - Identifier 2433191 2433213 - VariableStatement 2433215 2433285 - VariableDeclarationList 2433215 2433284 - VariableDeclaration 2433242 2433284 - Identifier 2433242 2433268 - Identifier 2433270 2433284 - ExpressionStatement 2433285 2433345 - BinaryExpression 2433285 2433344 - Identifier 2433285 2433328 - EqualsToken 2433328 2433330 - Identifier 2433330 2433344 - ExpressionStatement 2433345 2433493 - CallExpression 2433345 2433492 - Identifier 2433345 2433388 - Identifier 2433389 2433395 - Identifier 2433396 2433403 - Identifier 2433404 2433409 - PropertyAccessExpression 2433410 2433491 - Identifier 2433410 2433422 - Identifier 2433423 2433491 - ExpressionStatement 2433493 2433565 - BinaryExpression 2433493 2433564 - Identifier 2433493 2433536 - EqualsToken 2433536 2433538 - Identifier 2433538 2433564 - ExpressionStatement 2433565 2433602 - CallExpression 2433565 2433601 - PropertyAccessExpression 2433565 2433599 - Identifier 2433565 2433594 - QuestionDotToken 2433594 2433596 - Identifier 2433596 2433599 - FunctionDeclaration 2433654 2436558 - Identifier 2433670 2433685 - Parameter 2433686 2433712 - Identifier 2433686 2433690 - TypeReference 2433691 2433712 - Identifier 2433691 2433712 - Block 2433713 2436558 - ExpressionStatement 2433715 2434052 - CallExpression 2433715 2434051 - Identifier 2433715 2434045 - Identifier 2434046 2434050 - ExpressionStatement 2434052 2434099 - CallExpression 2434052 2434098 - Identifier 2434052 2434092 - Identifier 2434093 2434097 - VariableStatement 2434099 2434151 - VariableDeclarationList 2434099 2434150 - VariableDeclaration 2434114 2434150 - Identifier 2434114 2434119 - NonNullExpression 2434121 2434150 - CallExpression 2434121 2434149 - Identifier 2434121 2434143 - Identifier 2434144 2434148 - IfStatement 2434151 2434882 - CallExpression 2434165 2434232 - Identifier 2434165 2434185 - Identifier 2434186 2434190 - PropertyAccessExpression 2434191 2434231 - Identifier 2434191 2434205 - Identifier 2434206 2434231 - Block 2434233 2434882 - IfStatement 2434235 2434410 - PropertyAccessExpression 2434253 2434287 - Identifier 2434253 2434268 - Identifier 2434269 2434287 - Block 2434288 2434410 - ExpressionStatement 2434290 2434395 - CallExpression 2434290 2434394 - Identifier 2434290 2434313 - Identifier 2434314 2434318 - PropertyAccessExpression 2434319 2434393 - Identifier 2434319 2434331 - Identifier 2434332 2434393 - IfStatement 2434410 2434625 - PrefixUnaryExpression 2434428 2434495 - ParenthesizedExpression 2434429 2434495 - BinaryExpression 2434430 2434494 - BinaryExpression 2434430 2434466 - PropertyAccessExpression 2434430 2434439 - Identifier 2434430 2434434 - Identifier 2434435 2434439 - EqualsEqualsEqualsToken 2434439 2434443 - PropertyAccessExpression 2434443 2434466 - Identifier 2434443 2434454 - Identifier 2434455 2434466 - AmpersandAmpersandToken 2434466 2434469 - CallExpression 2434469 2434494 - Identifier 2434469 2434483 - PropertyAccessExpression 2434484 2434493 - Identifier 2434484 2434488 - Identifier 2434489 2434493 - Block 2434496 2434625 - ExpressionStatement 2434498 2434610 - CallExpression 2434498 2434609 - Identifier 2434498 2434521 - Identifier 2434522 2434526 - PropertyAccessExpression 2434527 2434608 - Identifier 2434527 2434539 - Identifier 2434540 2434608 - IfStatement 2434625 2434871 - BinaryExpression 2434643 2434749 - BinaryExpression 2434643 2434706 - BinaryExpression 2434643 2434679 - PropertyAccessExpression 2434643 2434652 - Identifier 2434643 2434647 - Identifier 2434648 2434652 - EqualsEqualsEqualsToken 2434652 2434656 - PropertyAccessExpression 2434656 2434679 - Identifier 2434656 2434667 - Identifier 2434668 2434679 - AmpersandAmpersandToken 2434679 2434682 - CallExpression 2434682 2434706 - Identifier 2434682 2434695 - PropertyAccessExpression 2434696 2434705 - Identifier 2434696 2434700 - Identifier 2434701 2434705 - AmpersandAmpersandToken 2434706 2434709 - BinaryExpression 2434709 2434749 - PropertyAccessExpression 2434709 2434731 - PropertyAccessExpression 2434709 2434719 - Identifier 2434709 2434714 - Identifier 2434715 2434719 - Identifier 2434720 2434731 - EqualsEqualsEqualsToken 2434731 2434735 - StringLiteral 2434735 2434749 - Block 2434750 2434871 - ExpressionStatement 2434752 2434856 - CallExpression 2434752 2434855 - Identifier 2434752 2434775 - PropertyAccessExpression 2434776 2434785 - Identifier 2434776 2434780 - Identifier 2434781 2434785 - PropertyAccessExpression 2434786 2434854 - Identifier 2434786 2434798 - Identifier 2434799 2434854 - IfStatement 2434882 2435148 - BinaryExpression 2434896 2435017 - BinaryExpression 2434896 2434975 - BinaryExpression 2434896 2434944 - PrefixUnaryExpression 2434896 2434913 - PropertyAccessExpression 2434897 2434913 - Identifier 2434897 2434901 - Identifier 2434902 2434913 - AmpersandAmpersandToken 2434913 2434916 - CallExpression 2434916 2434944 - Identifier 2434916 2434938 - Identifier 2434939 2434943 - AmpersandAmpersandToken 2434944 2434947 - CallExpression 2434947 2434975 - Identifier 2434947 2434964 - PropertyAccessExpression 2434965 2434974 - Identifier 2434965 2434969 - Identifier 2434970 2434974 - AmpersandAmpersandToken 2434975 2434978 - PropertyAccessExpression 2434978 2435017 - ParenthesizedExpression 2434978 2435012 - AsExpression 2434980 2435011 - Identifier 2434980 2434984 - TypeReference 2434987 2435011 - Identifier 2434987 2435011 - Identifier 2435013 2435017 - Block 2435018 2435148 - ExpressionStatement 2435020 2435137 - CallExpression 2435020 2435136 - Identifier 2435020 2435039 - Identifier 2435040 2435044 - PropertyAccessExpression 2435045 2435135 - Identifier 2435045 2435057 - Identifier 2435058 2435135 - IfStatement 2435148 2436095 - BinaryExpression 2435162 2435271 - BinaryExpression 2435162 2435198 - PropertyAccessExpression 2435162 2435171 - Identifier 2435162 2435166 - Identifier 2435167 2435171 - AmpersandAmpersandToken 2435171 2435174 - CallExpression 2435174 2435198 - Identifier 2435174 2435187 - PropertyAccessExpression 2435188 2435197 - Identifier 2435188 2435192 - Identifier 2435193 2435197 - AmpersandAmpersandToken 2435198 2435201 - ParenthesizedExpression 2435201 2435271 - BinaryExpression 2435203 2435270 - BinaryExpression 2435203 2435235 - PropertyAccessExpression 2435203 2435224 - PropertyAccessExpression 2435203 2435212 - Identifier 2435203 2435207 - Identifier 2435208 2435212 - Identifier 2435213 2435224 - EqualsEqualsEqualsToken 2435224 2435228 - StringLiteral 2435228 2435235 - BarBarToken 2435235 2435238 - BinaryExpression 2435238 2435270 - PropertyAccessExpression 2435238 2435260 - PropertyAccessExpression 2435238 2435248 - Identifier 2435238 2435243 - Identifier 2435244 2435248 - Identifier 2435249 2435260 - EqualsEqualsEqualsToken 2435260 2435264 - StringLiteral 2435264 2435270 - Block 2435272 2436095 - IfStatement 2435274 2435463 - BinaryExpression 2435292 2435327 - CallExpression 2435292 2435321 - PropertyAccessExpression 2435292 2435315 - PropertyAccessExpression 2435292 2435307 - Identifier 2435292 2435296 - Identifier 2435297 2435307 - Identifier 2435308 2435315 - Identifier 2435316 2435320 - ExclamationEqualsEqualsToken 2435321 2435325 - NumericLiteral 2435325 2435327 - Block 2435328 2435463 - ExpressionStatement 2435330 2435448 - CallExpression 2435330 2435447 - Identifier 2435330 2435353 - Identifier 2435354 2435358 - PropertyAccessExpression 2435359 2435413 - Identifier 2435359 2435371 - Identifier 2435372 2435413 - AsExpression 2435414 2435446 - PropertyAccessExpression 2435414 2435436 - PropertyAccessExpression 2435414 2435424 - Identifier 2435414 2435419 - Identifier 2435420 2435424 - Identifier 2435425 2435436 - StringKeyword 2435439 2435446 - IfStatement 2435463 2435712 - BinaryExpression 2435481 2435608 - BinaryExpression 2435481 2435564 - BinaryExpression 2435481 2435517 - PropertyAccessExpression 2435481 2435490 - Identifier 2435481 2435485 - Identifier 2435486 2435490 - EqualsEqualsEqualsToken 2435490 2435494 - PropertyAccessExpression 2435494 2435517 - Identifier 2435494 2435505 - Identifier 2435506 2435517 - BarBarToken 2435517 2435520 - BinaryExpression 2435520 2435564 - PropertyAccessExpression 2435520 2435530 - Identifier 2435520 2435525 - Identifier 2435526 2435530 - EqualsEqualsEqualsToken 2435530 2435534 - PropertyAccessExpression 2435534 2435564 - Identifier 2435534 2435545 - Identifier 2435546 2435564 - BarBarToken 2435564 2435567 - BinaryExpression 2435567 2435608 - PropertyAccessExpression 2435567 2435577 - Identifier 2435567 2435572 - Identifier 2435573 2435577 - EqualsEqualsEqualsToken 2435577 2435581 - PropertyAccessExpression 2435581 2435608 - Identifier 2435581 2435592 - Identifier 2435593 2435608 - Block 2435609 2435712 - ExpressionStatement 2435611 2435697 - CallExpression 2435611 2435696 - Identifier 2435611 2435634 - Identifier 2435635 2435639 - PropertyAccessExpression 2435640 2435695 - Identifier 2435640 2435652 - Identifier 2435653 2435695 - IfStatement 2435712 2435876 - BinaryExpression 2435730 2435768 - PropertyAccessExpression 2435730 2435739 - Identifier 2435730 2435734 - Identifier 2435735 2435739 - EqualsEqualsEqualsToken 2435739 2435743 - PropertyAccessExpression 2435743 2435768 - Identifier 2435743 2435754 - Identifier 2435755 2435768 - Block 2435769 2435876 - ExpressionStatement 2435771 2435861 - CallExpression 2435771 2435860 - Identifier 2435771 2435794 - Identifier 2435795 2435799 - PropertyAccessExpression 2435800 2435859 - Identifier 2435800 2435812 - Identifier 2435813 2435859 - IfStatement 2435876 2436084 - BinaryExpression 2435894 2435970 - BinaryExpression 2435894 2435930 - PropertyAccessExpression 2435894 2435903 - Identifier 2435894 2435898 - Identifier 2435899 2435903 - EqualsEqualsEqualsToken 2435903 2435907 - PropertyAccessExpression 2435907 2435930 - Identifier 2435907 2435918 - Identifier 2435919 2435930 - BarBarToken 2435930 2435933 - BinaryExpression 2435933 2435970 - PropertyAccessExpression 2435933 2435943 - Identifier 2435933 2435938 - Identifier 2435939 2435943 - EqualsEqualsEqualsToken 2435943 2435947 - PropertyAccessExpression 2435947 2435970 - Identifier 2435947 2435958 - Identifier 2435959 2435970 - Block 2435971 2436084 - ExpressionStatement 2435973 2436069 - CallExpression 2435973 2436068 - Identifier 2435973 2435996 - Identifier 2435997 2436001 - PropertyAccessExpression 2436002 2436067 - Identifier 2436002 2436014 - Identifier 2436015 2436067 - IfStatement 2436095 2436551 - BinaryExpression 2436314 2436456 - BinaryExpression 2436314 2436365 - PropertyAccessExpression 2436314 2436333 - Identifier 2436314 2436318 - Identifier 2436319 2436333 - AmpersandAmpersandToken 2436333 2436336 - PrefixUnaryExpression 2436336 2436365 - CallExpression 2436338 2436365 - Identifier 2436338 2436354 - PropertyAccessExpression 2436355 2436364 - Identifier 2436355 2436359 - Identifier 2436360 2436364 - AmpersandAmpersandToken 2436365 2436368 - PrefixUnaryExpression 2436368 2436456 - CallExpression 2436370 2436456 - Identifier 2436370 2436388 - CallExpression 2436389 2436433 - Identifier 2436389 2436403 - CallExpression 2436404 2436432 - Identifier 2436404 2436419 - PropertyAccessExpression 2436420 2436431 - Identifier 2436420 2436424 - Identifier 2436425 2436431 - Identifier 2436434 2436455 - Block 2436457 2436551 - ExpressionStatement 2436459 2436540 - CallExpression 2436459 2436539 - Identifier 2436459 2436478 - Identifier 2436479 2436483 - PropertyAccessExpression 2436484 2436538 - Identifier 2436484 2436496 - Identifier 2436497 2436538 - FunctionDeclaration 2436558 2438824 - Identifier 2436574 2436593 - Parameter 2436594 2436617 - Identifier 2436594 2436598 - TypeReference 2436599 2436617 - Identifier 2436599 2436617 - VoidKeyword 2436619 2436624 - Block 2436624 2438824 - VariableStatement 2436626 2436680 - VariableDeclarationList 2436626 2436679 - VariableDeclaration 2436641 2436679 - Identifier 2436641 2436648 - CallExpression 2436650 2436679 - Identifier 2436650 2436673 - Identifier 2436674 2436678 - IfStatement 2436680 2436904 - PrefixUnaryExpression 2436694 2436701 - Identifier 2436695 2436701 - Block 2436702 2436904 - ExpressionStatement 2436704 2436872 - CallExpression 2436704 2436871 - Identifier 2436704 2436769 - Identifier 2436770 2436774 - PropertyAccessExpression 2436775 2436870 - Identifier 2436775 2436787 - Identifier 2436788 2436870 - ReturnStatement 2436872 2436893 - VariableStatement 2436904 2436970 - VariableDeclarationList 2436904 2436969 - VariableDeclaration 2436921 2436969 - Identifier 2436921 2436931 - CallExpression 2436933 2436969 - Identifier 2436933 2436961 - Identifier 2436962 2436968 - VariableStatement 2436970 2437041 - VariableDeclarationList 2436970 2437040 - VariableDeclaration 2436985 2437040 - Identifier 2436985 2436999 - CallExpression 2437001 2437040 - Identifier 2437001 2437029 - Identifier 2437030 2437039 - IfStatement 2437041 2437104 - PrefixUnaryExpression 2437055 2437069 - Identifier 2437056 2437069 - Block 2437070 2437104 - ReturnStatement 2437072 2437093 - ExpressionStatement 2437104 2437146 - CallExpression 2437104 2437145 - Identifier 2437104 2437134 - PropertyAccessExpression 2437135 2437144 - Identifier 2437135 2437139 - Identifier 2437140 2437144 - VariableStatement 2437146 2437189 - VariableDeclarationList 2437146 2437188 - VariableDeclaration 2437163 2437188 - ObjectBindingPattern 2437163 2437181 - BindingElement 2437165 2437179 - Identifier 2437165 2437179 - Identifier 2437183 2437188 - IfStatement 2437189 2438817 - BinaryExpression 2437203 2437304 - BinaryExpression 2437203 2437248 - PropertyAccessExpression 2437203 2437221 - Identifier 2437203 2437216 - Identifier 2437217 2437221 - ExclamationEqualsEqualsToken 2437221 2437225 - PropertyAccessExpression 2437225 2437248 - Identifier 2437225 2437243 - Identifier 2437244 2437248 - AmpersandAmpersandToken 2437248 2437251 - BinaryExpression 2437251 2437304 - PropertyAccessExpression 2437251 2437270 - Identifier 2437251 2437265 - Identifier 2437266 2437270 - ExclamationEqualsEqualsToken 2437270 2437274 - PropertyAccessExpression 2437274 2437304 - Identifier 2437274 2437292 - Identifier 2437293 2437304 - Block 2437305 2438817 - IfStatement 2437307 2438806 - BinaryExpression 2437325 2437358 - PropertyAccessExpression 2437325 2437353 - Identifier 2437325 2437338 - Identifier 2437339 2437353 - GreaterThanEqualsToken 2437353 2437356 - NumericLiteral 2437356 2437358 - Block 2437359 2438113 - IfStatement 2437361 2438098 - BinaryExpression 2437383 2437487 - CallExpression 2437383 2437419 - Identifier 2437383 2437408 - Identifier 2437409 2437418 - AmpersandAmpersandToken 2437419 2437422 - BinaryExpression 2437422 2437487 - PropertyAccessExpression 2437422 2437451 - Identifier 2437422 2437436 - Identifier 2437437 2437451 - EqualsEqualsEqualsToken 2437451 2437455 - BinaryExpression 2437455 2437487 - PropertyAccessExpression 2437455 2437483 - PropertyAccessExpression 2437455 2437476 - Identifier 2437455 2437465 - Identifier 2437466 2437476 - Identifier 2437477 2437483 - MinusToken 2437483 2437485 - NumericLiteral 2437485 2437487 - Block 2437488 2437616 - ExpressionStatement 2437490 2437597 - CallExpression 2437490 2437596 - Identifier 2437490 2437517 - Identifier 2437518 2437531 - PropertyAccessExpression 2437532 2437595 - Identifier 2437532 2437544 - Identifier 2437545 2437595 - Block 2437638 2438098 - IfStatement 2437640 2438079 - PropertyAccessExpression 2437666 2437684 - Identifier 2437666 2437679 - Identifier 2437680 2437684 - Block 2437685 2438079 - VariableStatement 2437687 2437867 - VariableDeclarationList 2437687 2437866 - VariableDeclaration 2437718 2437866 - Identifier 2437718 2437731 - ArrowFunction 2437733 2437866 - EqualsGreaterThanToken 2437736 2437739 - CallExpression 2437739 2437866 - Identifier 2437739 2437763 - Identifier 2437764 2437785 - PropertyAccessExpression 2437786 2437865 - Identifier 2437786 2437798 - Identifier 2437799 2437865 - ExpressionStatement 2437867 2438056 - CallExpression 2437867 2438055 - Identifier 2437867 2437914 - PropertyAccessExpression 2437915 2437933 - Identifier 2437915 2437928 - Identifier 2437929 2437933 - CallExpression 2437934 2438002 - Identifier 2437934 2437950 - ElementAccessExpression 2437951 2438001 - PropertyAccessExpression 2437951 2437971 - Identifier 2437951 2437960 - Identifier 2437961 2437971 - PropertyAccessExpression 2437972 2438000 - Identifier 2437972 2437985 - Identifier 2437986 2438000 - PropertyAccessExpression 2438003 2438013 - Identifier 2438003 2438008 - Identifier 2438009 2438013 - Identifier 2438014 2438040 - Identifier 2438041 2438054 - IfStatement 2438131 2438806 - Identifier 2438136 2438149 - Block 2438150 2438806 - VariableStatement 2438152 2438199 - VariableDeclarationList 2438152 2438198 - VariableDeclaration 2438173 2438198 - Identifier 2438173 2438190 - FalseKeyword 2438192 2438198 - ForOfStatement 2438199 2438616 - VariableDeclarationList 2438222 2438236 - VariableDeclaration 2438227 2438236 - ObjectBindingPattern 2438227 2438236 - BindingElement 2438229 2438234 - Identifier 2438229 2438234 - PropertyAccessExpression 2438239 2438257 - Identifier 2438239 2438246 - Identifier 2438247 2438257 - Block 2438258 2438616 - IfStatement 2438260 2438597 - BinaryExpression 2438286 2438467 - CallExpression 2438286 2438334 - Identifier 2438286 2438328 - Identifier 2438329 2438333 - AmpersandAmpersandToken 2438334 2438337 - CallExpression 2438337 2438467 - Identifier 2438337 2438417 - Identifier 2438418 2438422 - Identifier 2438423 2438437 - PropertyAccessExpression 2438438 2438466 - Identifier 2438438 2438452 - Identifier 2438453 2438466 - Block 2438490 2438597 - ExpressionStatement 2438492 2438542 - BinaryExpression 2438492 2438541 - Identifier 2438492 2438534 - EqualsToken 2438534 2438536 - TrueKeyword 2438536 2438541 - BreakStatement 2438542 2438574 - IfStatement 2438616 2438791 - PrefixUnaryExpression 2438638 2438655 - Identifier 2438639 2438655 - Block 2438656 2438791 - ExpressionStatement 2438658 2438772 - CallExpression 2438658 2438771 - Identifier 2438658 2438685 - PropertyAccessExpression 2438686 2438704 - Identifier 2438686 2438690 - Identifier 2438691 2438704 - PropertyAccessExpression 2438705 2438741 - Identifier 2438705 2438717 - Identifier 2438718 2438741 - PropertyAccessExpression 2438742 2438770 - Identifier 2438742 2438756 - Identifier 2438757 2438770 - FunctionDeclaration 2438824 2439459 - Identifier 2438840 2438863 - Parameter 2438864 2438874 - Identifier 2438864 2438868 - TypeReference 2438869 2438874 - Identifier 2438869 2438874 - UnionType 2438876 2438909 - TypeReference 2438876 2438897 - Identifier 2438876 2438897 - UndefinedKeyword 2438899 2438909 - Block 2438909 2439459 - SwitchStatement 2438911 2439452 - PropertyAccessExpression 2438929 2438945 - PropertyAccessExpression 2438929 2438940 - Identifier 2438929 2438933 - Identifier 2438934 2438940 - Identifier 2438941 2438945 - CaseBlock 2438946 2439452 - CaseClause 2438948 2438992 - PropertyAccessExpression 2438966 2438991 - Identifier 2438966 2438977 - Identifier 2438978 2438991 - CaseClause 2438992 2439036 - PropertyAccessExpression 2439010 2439035 - Identifier 2439010 2439021 - Identifier 2439022 2439035 - CaseClause 2439036 2439086 - PropertyAccessExpression 2439054 2439085 - Identifier 2439054 2439065 - Identifier 2439066 2439085 - CaseClause 2439086 2439135 - PropertyAccessExpression 2439104 2439134 - Identifier 2439104 2439115 - Identifier 2439116 2439134 - CaseClause 2439135 2439178 - PropertyAccessExpression 2439153 2439177 - Identifier 2439153 2439164 - Identifier 2439165 2439177 - CaseClause 2439178 2439226 - PropertyAccessExpression 2439196 2439225 - Identifier 2439196 2439207 - Identifier 2439208 2439225 - CaseClause 2439226 2439441 - PropertyAccessExpression 2439244 2439271 - Identifier 2439244 2439255 - Identifier 2439256 2439271 - VariableStatement 2439272 2439341 - VariableDeclarationList 2439272 2439340 - VariableDeclaration 2439295 2439340 - Identifier 2439295 2439302 - AsExpression 2439304 2439340 - PropertyAccessExpression 2439304 2439316 - Identifier 2439304 2439309 - Identifier 2439310 2439316 - TypeReference 2439319 2439340 - Identifier 2439319 2439340 - IfStatement 2439341 2439441 - BinaryExpression 2439363 2439383 - Identifier 2439363 2439367 - EqualsEqualsEqualsToken 2439367 2439371 - PropertyAccessExpression 2439371 2439383 - Identifier 2439371 2439378 - Identifier 2439379 2439383 - Block 2439384 2439441 - ReturnStatement 2439386 2439422 - Identifier 2439414 2439421 - FunctionDeclaration 2439459 2440606 - Identifier 2439475 2439530 - Parameter 2439531 2439564 - Identifier 2439531 2439548 - TypeReference 2439549 2439564 - Identifier 2439549 2439564 - Parameter 2439565 2439602 - Identifier 2439565 2439596 - TypeReference 2439597 2439602 - Identifier 2439597 2439602 - Parameter 2439603 2439642 - Identifier 2439603 2439634 - StringKeyword 2439635 2439642 - Block 2439650 2440606 - ForOfStatement 2439652 2440599 - VariableDeclarationList 2439667 2439680 - VariableDeclaration 2439672 2439680 - Identifier 2439672 2439680 - PropertyAccessExpression 2439683 2439700 - Identifier 2439683 2439691 - Identifier 2439692 2439700 - Block 2439701 2440599 - IfStatement 2439703 2439794 - CallExpression 2439721 2439749 - Identifier 2439721 2439740 - Identifier 2439741 2439748 - Block 2439750 2439794 - ContinueStatement 2439752 2439779 - VariableStatement 2439794 2439836 - VariableDeclarationList 2439794 2439835 - VariableDeclaration 2439815 2439835 - Identifier 2439815 2439820 - PropertyAccessExpression 2439822 2439835 - Identifier 2439822 2439830 - Identifier 2439831 2439835 - IfStatement 2439836 2440588 - BinaryExpression 2439854 2439935 - BinaryExpression 2439854 2439889 - PropertyAccessExpression 2439854 2439863 - Identifier 2439854 2439858 - Identifier 2439859 2439863 - EqualsEqualsEqualsToken 2439863 2439867 - PropertyAccessExpression 2439867 2439889 - Identifier 2439867 2439878 - Identifier 2439879 2439889 - AmpersandAmpersandToken 2439889 2439892 - BinaryExpression 2439892 2439935 - PropertyAccessExpression 2439892 2439909 - Identifier 2439892 2439897 - Identifier 2439898 2439909 - EqualsEqualsEqualsToken 2439909 2439913 - Identifier 2439913 2439935 - Block 2439936 2440131 - ExpressionStatement 2439938 2440086 - CallExpression 2439938 2440085 - Identifier 2439938 2439961 - Identifier 2439962 2439983 - PropertyAccessExpression 2439984 2440061 - Identifier 2439984 2439996 - Identifier 2439997 2440061 - Identifier 2440062 2440084 - ReturnStatement 2440086 2440116 - TrueKeyword 2440110 2440115 - IfStatement 2440149 2440588 - BinaryExpression 2440154 2440247 - BinaryExpression 2440154 2440198 - PropertyAccessExpression 2440154 2440163 - Identifier 2440154 2440158 - Identifier 2440159 2440163 - EqualsEqualsEqualsToken 2440163 2440167 - PropertyAccessExpression 2440167 2440198 - Identifier 2440167 2440178 - Identifier 2440179 2440198 - BarBarToken 2440198 2440201 - BinaryExpression 2440201 2440247 - PropertyAccessExpression 2440201 2440211 - Identifier 2440201 2440206 - Identifier 2440207 2440211 - EqualsEqualsEqualsToken 2440211 2440215 - PropertyAccessExpression 2440215 2440247 - Identifier 2440215 2440226 - Identifier 2440227 2440247 - Block 2440248 2440588 - IfStatement 2440250 2440573 - CallExpression 2440272 2440499 - Identifier 2440272 2440348 - Identifier 2440349 2440379 - Identifier 2440380 2440427 - Identifier 2440428 2440475 - Block 2440518 2440573 - ReturnStatement 2440520 2440554 - TrueKeyword 2440548 2440553 - FunctionDeclaration 2440606 2445638 - Identifier 2440622 2440648 - Parameter 2440649 2440675 - Identifier 2440649 2440653 - TypeReference 2440654 2440675 - Identifier 2440654 2440675 - Block 2440676 2445638 - IfStatement 2440678 2441366 - BinaryExpression 2440721 2440760 - PropertyAccessExpression 2440721 2440730 - Identifier 2440721 2440725 - Identifier 2440726 2440730 - EqualsEqualsEqualsToken 2440730 2440734 - PropertyAccessExpression 2440734 2440760 - Identifier 2440734 2440745 - Identifier 2440746 2440760 - Block 2440761 2440821 - ExpressionStatement 2440763 2440810 - CallExpression 2440763 2440809 - Identifier 2440763 2440803 - Identifier 2440804 2440808 - IfStatement 2440956 2441366 - BinaryExpression 2440961 2441259 - BinaryExpression 2440961 2441199 - BinaryExpression 2440961 2441159 - BinaryExpression 2440961 2441104 - BinaryExpression 2440961 2441060 - BinaryExpression 2440961 2441012 - PropertyAccessExpression 2440961 2440984 - Identifier 2440961 2440979 - Identifier 2440980 2440984 - EqualsEqualsEqualsToken 2440984 2440988 - PropertyAccessExpression 2440988 2441012 - Identifier 2440988 2440999 - Identifier 2441000 2441012 - BarBarToken 2441012 2441015 - BinaryExpression 2441015 2441060 - PropertyAccessExpression 2441015 2441025 - Identifier 2441015 2441020 - Identifier 2441021 2441025 - EqualsEqualsEqualsToken 2441025 2441029 - PropertyAccessExpression 2441029 2441060 - Identifier 2441029 2441040 - Identifier 2441041 2441060 - BarBarToken 2441060 2441063 - BinaryExpression 2441063 2441104 - PropertyAccessExpression 2441063 2441073 - Identifier 2441063 2441068 - Identifier 2441069 2441073 - EqualsEqualsEqualsToken 2441073 2441077 - PropertyAccessExpression 2441077 2441104 - Identifier 2441077 2441088 - Identifier 2441089 2441104 - BarBarToken 2441104 2441107 - BinaryExpression 2441107 2441159 - PropertyAccessExpression 2441107 2441130 - Identifier 2441107 2441125 - Identifier 2441126 2441130 - EqualsEqualsEqualsToken 2441130 2441134 - PropertyAccessExpression 2441134 2441159 - Identifier 2441134 2441145 - Identifier 2441146 2441159 - BarBarToken 2441159 2441162 - BinaryExpression 2441162 2441199 - PropertyAccessExpression 2441162 2441172 - Identifier 2441162 2441167 - Identifier 2441168 2441172 - EqualsEqualsEqualsToken 2441172 2441176 - PropertyAccessExpression 2441176 2441199 - Identifier 2441176 2441187 - Identifier 2441188 2441199 - BarBarToken 2441199 2441202 - BinaryExpression 2441202 2441259 - PropertyAccessExpression 2441202 2441225 - Identifier 2441202 2441220 - Identifier 2441221 2441225 - EqualsEqualsEqualsToken 2441225 2441229 - PropertyAccessExpression 2441229 2441259 - Identifier 2441229 2441240 - Identifier 2441241 2441259 - Block 2441270 2441366 - ExpressionStatement 2441272 2441355 - CallExpression 2441272 2441354 - Identifier 2441272 2441321 - AsExpression 2441322 2441353 - Identifier 2441322 2441326 - TypeReference 2441329 2441353 - Identifier 2441329 2441353 - VariableStatement 2441366 2441450 - VariableDeclarationList 2441366 2441449 - VariableDeclaration 2441383 2441449 - Identifier 2441383 2441397 - CallExpression 2441399 2441449 - Identifier 2441399 2441416 - AsExpression 2441417 2441448 - Identifier 2441417 2441421 - TypeReference 2441424 2441448 - Identifier 2441424 2441448 - IfStatement 2441450 2442615 - PrefixUnaryExpression 2441464 2441504 - ParenthesizedExpression 2441465 2441504 - BinaryExpression 2441466 2441503 - Identifier 2441466 2441479 - AmpersandToken 2441479 2441481 - PropertyAccessExpression 2441481 2441503 - Identifier 2441481 2441495 - Identifier 2441496 2441503 - Block 2441505 2442615 - IfStatement 2441507 2441879 - BinaryExpression 2441623 2441768 - BinaryExpression 2441623 2441702 - ParenthesizedExpression 2441623 2441669 - BinaryExpression 2441624 2441668 - Identifier 2441624 2441637 - AmpersandToken 2441637 2441639 - PropertyAccessExpression 2441639 2441668 - Identifier 2441639 2441653 - Identifier 2441654 2441668 - EqualsEqualsEqualsToken 2441669 2441673 - PropertyAccessExpression 2441673 2441702 - Identifier 2441673 2441687 - Identifier 2441688 2441702 - AmpersandAmpersandToken 2441702 2441705 - BinaryExpression 2441705 2441768 - Identifier 2441705 2441721 - LessThanToken 2441721 2441723 - PropertyAccessExpression 2441723 2441768 - Identifier 2441723 2441752 - Identifier 2441753 2441768 - Block 2441769 2441879 - ExpressionStatement 2441771 2441864 - CallExpression 2441771 2441863 - Identifier 2441771 2441813 - Identifier 2441814 2441818 - PropertyAccessExpression 2441819 2441862 - Identifier 2441819 2441839 - Identifier 2441840 2441862 - IfStatement 2441879 2442207 - BinaryExpression 2441976 2442111 - BinaryExpression 2441976 2442046 - ParenthesizedExpression 2441976 2442022 - BinaryExpression 2441977 2442021 - Identifier 2441977 2441990 - AmpersandToken 2441990 2441992 - PropertyAccessExpression 2441992 2442021 - Identifier 2441992 2442006 - Identifier 2442007 2442021 - EqualsEqualsEqualsToken 2442022 2442026 - PropertyAccessExpression 2442026 2442046 - Identifier 2442026 2442040 - Identifier 2442041 2442046 - AmpersandAmpersandToken 2442046 2442049 - BinaryExpression 2442049 2442111 - Identifier 2442049 2442065 - LessThanToken 2442065 2442067 - PropertyAccessExpression 2442067 2442111 - Identifier 2442067 2442096 - Identifier 2442097 2442111 - Block 2442112 2442207 - ExpressionStatement 2442114 2442192 - CallExpression 2442114 2442191 - Identifier 2442114 2442156 - Identifier 2442157 2442161 - PropertyAccessExpression 2442162 2442190 - Identifier 2442162 2442182 - Identifier 2442183 2442190 - IfStatement 2442207 2442604 - BinaryExpression 2442374 2442506 - BinaryExpression 2442374 2442445 - ParenthesizedExpression 2442374 2442420 - BinaryExpression 2442375 2442419 - Identifier 2442375 2442388 - AmpersandToken 2442388 2442390 - PropertyAccessExpression 2442390 2442419 - Identifier 2442390 2442404 - Identifier 2442405 2442419 - ExclamationEqualsEqualsToken 2442420 2442424 - PropertyAccessExpression 2442424 2442445 - Identifier 2442424 2442438 - Identifier 2442439 2442445 - AmpersandAmpersandToken 2442445 2442448 - BinaryExpression 2442448 2442506 - Identifier 2442448 2442464 - LessThanToken 2442464 2442466 - PropertyAccessExpression 2442466 2442506 - Identifier 2442466 2442495 - Identifier 2442496 2442506 - Block 2442507 2442604 - ExpressionStatement 2442509 2442589 - CallExpression 2442509 2442588 - Identifier 2442509 2442551 - Identifier 2442552 2442556 - PropertyAccessExpression 2442557 2442587 - Identifier 2442557 2442577 - Identifier 2442578 2442587 - ExpressionStatement 2442615 2442692 - CallExpression 2442615 2442691 - Identifier 2442615 2442646 - CallExpression 2442647 2442690 - Identifier 2442647 2442684 - Identifier 2442685 2442689 - ExpressionStatement 2442692 2442738 - CallExpression 2442692 2442737 - Identifier 2442692 2442731 - Identifier 2442732 2442736 - ExpressionStatement 2442738 2442791 - CallExpression 2442738 2442790 - Identifier 2442738 2442757 - PropertyAccessExpression 2442758 2442773 - Identifier 2442758 2442762 - Identifier 2442763 2442773 - Identifier 2442774 2442789 - IfStatement 2442791 2442940 - PropertyAccessExpression 2442873 2442882 - Identifier 2442873 2442877 - Identifier 2442878 2442882 - Block 2442883 2442940 - ExpressionStatement 2442885 2442929 - CallExpression 2442885 2442928 - Identifier 2442885 2442917 - PropertyAccessExpression 2442918 2442927 - Identifier 2442918 2442922 - Identifier 2442923 2442927 - ExpressionStatement 2442940 2443008 - CallExpression 2442940 2443007 - Identifier 2442940 2442969 - Identifier 2442970 2443006 - FunctionDeclaration 2443008 2445631 - Identifier 2443028 2443065 - Block 2443067 2445631 - ExpressionStatement 2443069 2443132 - CallExpression 2443069 2443131 - Identifier 2443069 2443125 - Identifier 2443126 2443130 - VariableStatement 2443132 2443202 - VariableDeclarationList 2443132 2443201 - VariableDeclaration 2443151 2443201 - Identifier 2443151 2443166 - CallExpression 2443168 2443201 - Identifier 2443168 2443195 - Identifier 2443196 2443200 - VariableStatement 2443202 2443261 - VariableDeclarationList 2443202 2443260 - VariableDeclaration 2443219 2443260 - Identifier 2443219 2443243 - Identifier 2443245 2443260 - IfStatement 2443261 2443867 - CallExpression 2443281 2443297 - Identifier 2443281 2443291 - Identifier 2443292 2443296 - Block 2443298 2443867 - VariableStatement 2443300 2443356 - VariableDeclarationList 2443300 2443355 - VariableDeclaration 2443323 2443355 - Identifier 2443323 2443331 - CallExpression 2443333 2443355 - Identifier 2443333 2443349 - Identifier 2443350 2443354 - IfStatement 2443356 2443852 - BinaryExpression 2443378 2443463 - BinaryExpression 2443378 2443411 - Identifier 2443378 2443385 - AmpersandAmpersandToken 2443385 2443388 - PropertyAccessExpression 2443388 2443411 - Identifier 2443388 2443396 - Identifier 2443397 2443411 - AmpersandAmpersandToken 2443411 2443414 - CallExpression 2443414 2443463 - Identifier 2443414 2443434 - PropertyAccessExpression 2443435 2443462 - PropertyAccessExpression 2443435 2443457 - Identifier 2443435 2443442 - Identifier 2443443 2443457 - Identifier 2443458 2443462 - Block 2443464 2443852 - VariableStatement 2443466 2443574 - VariableDeclarationList 2443466 2443573 - VariableDeclaration 2443493 2443573 - Identifier 2443493 2443503 - CallExpression 2443505 2443573 - Identifier 2443505 2443528 - CallExpression 2443529 2443572 - Identifier 2443529 2443548 - PropertyAccessExpression 2443549 2443571 - Identifier 2443549 2443556 - Identifier 2443557 2443571 - IfStatement 2443574 2443833 - BinaryExpression 2443600 2443634 - Identifier 2443600 2443609 - AmpersandAmpersandToken 2443609 2443612 - PropertyAccessExpression 2443612 2443634 - Identifier 2443612 2443622 - Identifier 2443623 2443634 - Block 2443635 2443833 - ExpressionStatement 2443637 2443730 - BinaryExpression 2443637 2443729 - Identifier 2443637 2443677 - EqualsToken 2443677 2443679 - CallExpression 2443679 2443729 - Identifier 2443679 2443706 - PropertyAccessExpression 2443707 2443728 - Identifier 2443707 2443716 - Identifier 2443717 2443728 - ExpressionStatement 2443730 2443810 - BinaryExpression 2443730 2443809 - Identifier 2443730 2443779 - EqualsToken 2443779 2443781 - PropertyAccessExpression 2443781 2443809 - PropertyAccessExpression 2443781 2443804 - Identifier 2443781 2443789 - Identifier 2443790 2443804 - Identifier 2443805 2443809 - IfStatement 2443867 2444442 - BinaryExpression 2443887 2443919 - Identifier 2443887 2443900 - AmpersandAmpersandToken 2443900 2443903 - PrefixUnaryExpression 2443903 2443919 - Identifier 2443905 2443919 - Block 2443920 2444442 - SwitchStatement 2443922 2444427 - PropertyAccessExpression 2443948 2443957 - Identifier 2443948 2443952 - Identifier 2443953 2443957 - CaseBlock 2443958 2444427 - CaseClause 2443960 2444189 - PropertyAccessExpression 2443986 2444016 - Identifier 2443986 2443997 - Identifier 2443998 2444016 - ExpressionStatement 2444017 2444157 - CallExpression 2444017 2444156 - Identifier 2444017 2444048 - Identifier 2444049 2444053 - PropertyAccessExpression 2444054 2444155 - Identifier 2444054 2444066 - Identifier 2444067 2444155 - BreakStatement 2444157 2444189 - CaseClause 2444189 2444408 - PropertyAccessExpression 2444215 2444240 - Identifier 2444215 2444226 - Identifier 2444227 2444240 - ExpressionStatement 2444241 2444376 - CallExpression 2444241 2444375 - Identifier 2444241 2444272 - Identifier 2444273 2444277 - PropertyAccessExpression 2444278 2444374 - Identifier 2444278 2444290 - Identifier 2444291 2444374 - BreakStatement 2444376 2444408 - IfStatement 2444442 2445441 - BinaryExpression 2444462 2444503 - Identifier 2444462 2444476 - AmpersandAmpersandToken 2444476 2444479 - Identifier 2444479 2444503 - Block 2444504 2445441 - VariableStatement 2444506 2444592 - VariableDeclarationList 2444506 2444591 - VariableDeclaration 2444529 2444591 - Identifier 2444529 2444543 - CallExpression 2444545 2444591 - Identifier 2444545 2444562 - AsExpression 2444563 2444590 - Identifier 2444563 2444567 - TypeReference 2444570 2444590 - Identifier 2444570 2444590 - IfStatement 2444592 2445426 - BinaryExpression 2444614 2444709 - ParenthesizedExpression 2444614 2444681 - BinaryExpression 2444615 2444680 - Identifier 2444615 2444628 - AmpersandToken 2444628 2444630 - ParenthesizedExpression 2444630 2444680 - BinaryExpression 2444632 2444679 - PropertyAccessExpression 2444632 2444653 - Identifier 2444632 2444645 - Identifier 2444646 2444653 - BarToken 2444653 2444655 - PropertyAccessExpression 2444655 2444679 - Identifier 2444655 2444669 - Identifier 2444670 2444679 - EqualsEqualsEqualsToken 2444681 2444685 - PropertyAccessExpression 2444685 2444709 - Identifier 2444685 2444699 - Identifier 2444700 2444709 - Block 2444710 2445182 - VariableStatement 2444712 2444789 - VariableDeclarationList 2444712 2444788 - VariableDeclaration 2444739 2444788 - Identifier 2444739 2444750 - CallExpression 2444752 2444788 - Identifier 2444752 2444772 - Identifier 2444773 2444787 - IfStatement 2444789 2445163 - BinaryExpression 2444815 2444838 - Identifier 2444815 2444825 - EqualsEqualsEqualsToken 2444825 2444829 - Identifier 2444829 2444838 - Block 2444839 2444981 - ExpressionStatement 2444841 2444958 - CallExpression 2444841 2444957 - Identifier 2444841 2444872 - Identifier 2444873 2444896 - PropertyAccessExpression 2444897 2444956 - Identifier 2444897 2444909 - Identifier 2444910 2444956 - Block 2445007 2445163 - ExpressionStatement 2445009 2445140 - CallExpression 2445009 2445139 - Identifier 2445009 2445087 - Identifier 2445088 2445098 - Identifier 2445099 2445113 - Identifier 2445114 2445138 - IfStatement 2445204 2445426 - BinaryExpression 2445209 2445279 - ParenthesizedExpression 2445209 2445255 - BinaryExpression 2445210 2445254 - Identifier 2445210 2445223 - AmpersandToken 2445223 2445225 - PropertyAccessExpression 2445225 2445254 - Identifier 2445225 2445239 - Identifier 2445240 2445254 - EqualsEqualsEqualsToken 2445255 2445259 - PropertyAccessExpression 2445259 2445279 - Identifier 2445259 2445273 - Identifier 2445274 2445279 - Block 2445280 2445426 - ExpressionStatement 2445282 2445407 - CallExpression 2445282 2445406 - Identifier 2445282 2445332 - AsExpression 2445333 2445364 - Identifier 2445333 2445337 - TypeReference 2445340 2445364 - Identifier 2445340 2445364 - Identifier 2445365 2445380 - Identifier 2445381 2445405 - IfStatement 2445441 2445620 - BinaryExpression 2445459 2445544 - BinaryExpression 2445459 2445498 - PropertyAccessExpression 2445459 2445468 - Identifier 2445459 2445463 - Identifier 2445464 2445468 - ExclamationEqualsEqualsToken 2445468 2445472 - PropertyAccessExpression 2445472 2445498 - Identifier 2445472 2445483 - Identifier 2445484 2445498 - AmpersandAmpersandToken 2445498 2445501 - BinaryExpression 2445501 2445544 - PropertyAccessExpression 2445501 2445511 - Identifier 2445501 2445506 - Identifier 2445507 2445511 - ExclamationEqualsEqualsToken 2445511 2445515 - PropertyAccessExpression 2445515 2445544 - Identifier 2445515 2445526 - Identifier 2445527 2445544 - Block 2445545 2445620 - ExpressionStatement 2445547 2445605 - CallExpression 2445547 2445604 - Identifier 2445547 2445598 - Identifier 2445599 2445603 - FunctionDeclaration 2445638 2446969 - Identifier 2445654 2445707 - Parameter 2445708 2445724 - Identifier 2445708 2445718 - TypeReference 2445719 2445724 - Identifier 2445719 2445724 - Parameter 2445725 2445754 - Identifier 2445725 2445739 - TypeReference 2445740 2445754 - Identifier 2445740 2445754 - Parameter 2445755 2445776 - Identifier 2445755 2445765 - QuestionToken 2445765 2445766 - TypeReference 2445767 2445776 - Identifier 2445767 2445776 - Block 2445777 2446969 - VariableStatement 2445779 2446345 - VariableDeclarationList 2445779 2446344 - VariableDeclaration 2446184 2446344 - Identifier 2446184 2446203 - BinaryExpression 2446205 2446344 - CallExpression 2446205 2446333 - Identifier 2446205 2446251 - PropertyAccessExpression 2446252 2446275 - Identifier 2446252 2446269 - Identifier 2446270 2446275 - Identifier 2446276 2446287 - BinaryExpression 2446288 2446332 - ParenthesizedExpression 2446288 2446326 - BinaryExpression 2446290 2446325 - Identifier 2446290 2446303 - AmpersandToken 2446303 2446305 - PropertyAccessExpression 2446305 2446325 - Identifier 2446305 2446319 - Identifier 2446320 2446325 - ExclamationEqualsEqualsToken 2446326 2446330 - NumericLiteral 2446330 2446332 - BarBarToken 2446333 2446336 - Identifier 2446336 2446344 - VariableStatement 2446345 2446534 - VariableDeclarationList 2446345 2446533 - VariableDeclaration 2446360 2446533 - Identifier 2446360 2446380 - BinaryExpression 2446382 2446533 - CallExpression 2446382 2446511 - Identifier 2446382 2446428 - PropertyAccessExpression 2446429 2446453 - Identifier 2446429 2446446 - Identifier 2446447 2446453 - Identifier 2446454 2446465 - BinaryExpression 2446466 2446510 - ParenthesizedExpression 2446466 2446504 - BinaryExpression 2446468 2446503 - Identifier 2446468 2446481 - AmpersandToken 2446481 2446483 - PropertyAccessExpression 2446483 2446503 - Identifier 2446483 2446497 - Identifier 2446498 2446503 - ExclamationEqualsEqualsToken 2446504 2446508 - NumericLiteral 2446508 2446510 - BarBarToken 2446511 2446514 - Identifier 2446514 2446533 - VariableStatement 2446534 2446712 - VariableDeclarationList 2446534 2446711 - VariableDeclaration 2446549 2446711 - Identifier 2446549 2446567 - BinaryExpression 2446569 2446711 - CallExpression 2446569 2446696 - Identifier 2446569 2446615 - PropertyAccessExpression 2446616 2446638 - Identifier 2446616 2446633 - Identifier 2446634 2446638 - Identifier 2446639 2446650 - BinaryExpression 2446651 2446695 - ParenthesizedExpression 2446651 2446689 - BinaryExpression 2446653 2446688 - Identifier 2446653 2446666 - AmpersandToken 2446666 2446668 - PropertyAccessExpression 2446668 2446688 - Identifier 2446668 2446682 - Identifier 2446683 2446688 - ExclamationEqualsEqualsToken 2446689 2446693 - NumericLiteral 2446693 2446695 - BarBarToken 2446696 2446699 - Identifier 2446699 2446711 - VariableStatement 2446712 2446874 - VariableDeclarationList 2446712 2446873 - VariableDeclaration 2446727 2446873 - Identifier 2446727 2446750 - CallExpression 2446752 2446873 - Identifier 2446752 2446772 - Identifier 2446773 2446791 - Identifier 2446792 2446812 - Identifier 2446813 2446831 - PrefixUnaryExpression 2446832 2446872 - PrefixUnaryExpression 2446834 2446872 - ParenthesizedExpression 2446835 2446872 - BinaryExpression 2446836 2446871 - Identifier 2446836 2446849 - AmpersandToken 2446849 2446851 - PropertyAccessExpression 2446851 2446871 - Identifier 2446851 2446865 - Identifier 2446866 2446871 - ReturnStatement 2446874 2446962 - CallExpression 2446892 2446961 - Identifier 2446892 2446914 - Identifier 2446915 2446937 - Identifier 2446938 2446949 - Identifier 2446950 2446960 - FunctionDeclaration 2446969 2451093 - Identifier 2446985 2447020 - Parameter 2447021 2447047 - Identifier 2447021 2447025 - TypeReference 2447026 2447047 - Identifier 2447026 2447047 - Block 2447048 2451093 - VariableStatement 2447050 2447122 - VariableDeclarationList 2447050 2447121 - VariableDeclaration 2447065 2447121 - Identifier 2447065 2447079 - NewExpression 2447081 2447121 - Identifier 2447085 2447089 - TypeReference 2447090 2447098 - Identifier 2447090 2447098 - TypeReference 2447099 2447118 - Identifier 2447099 2447118 - VariableStatement 2447122 2447192 - VariableDeclarationList 2447122 2447191 - VariableDeclaration 2447137 2447191 - Identifier 2447137 2447149 - NewExpression 2447151 2447191 - Identifier 2447155 2447159 - TypeReference 2447160 2447168 - Identifier 2447160 2447168 - TypeReference 2447169 2447188 - Identifier 2447169 2447188 - VariableStatement 2447192 2447342 - VariableDeclarationList 2447192 2447341 - VariableDeclaration 2447280 2447341 - Identifier 2447280 2447299 - NewExpression 2447301 2447341 - Identifier 2447305 2447309 - TypeReference 2447310 2447318 - Identifier 2447310 2447318 - TypeReference 2447319 2447338 - Identifier 2447319 2447338 - ForOfStatement 2447342 2449434 - VariableDeclarationList 2447357 2447369 - VariableDeclaration 2447362 2447369 - Identifier 2447362 2447369 - PropertyAccessExpression 2447372 2447385 - Identifier 2447372 2447377 - Identifier 2447378 2447385 - Block 2447386 2449434 - IfStatement 2447388 2449423 - BinaryExpression 2447406 2447444 - PropertyAccessExpression 2447406 2447417 - Identifier 2447406 2447412 - Identifier 2447413 2447417 - EqualsEqualsEqualsToken 2447417 2447421 - PropertyAccessExpression 2447421 2447444 - Identifier 2447421 2447432 - Identifier 2447433 2447444 - Block 2447445 2447819 - ForOfStatement 2447447 2447804 - VariableDeclarationList 2447470 2447481 - VariableDeclaration 2447475 2447481 - Identifier 2447475 2447481 - PropertyAccessExpression 2447484 2447530 - ParenthesizedExpression 2447484 2447519 - AsExpression 2447486 2447518 - Identifier 2447486 2447492 - TypeReference 2447495 2447518 - Identifier 2447495 2447518 - Identifier 2447520 2447530 - Block 2447531 2447804 - IfStatement 2447533 2447785 - BinaryExpression 2447559 2447637 - CallExpression 2447559 2447604 - Identifier 2447559 2447589 - Identifier 2447590 2447595 - Identifier 2447596 2447603 - AmpersandAmpersandToken 2447604 2447607 - PrefixUnaryExpression 2447607 2447637 - CallExpression 2447609 2447637 - Identifier 2447609 2447625 - PropertyAccessExpression 2447626 2447636 - Identifier 2447626 2447631 - Identifier 2447632 2447636 - Block 2447638 2447785 - ExpressionStatement 2447640 2447762 - CallExpression 2447640 2447761 - Identifier 2447640 2447673 - Identifier 2447674 2447687 - PropertyAccessExpression 2447688 2447699 - Identifier 2447688 2447694 - Identifier 2447695 2447699 - PropertyAccessExpression 2447700 2447723 - PropertyAccessExpression 2447700 2447711 - Identifier 2447700 2447706 - Identifier 2447707 2447711 - Identifier 2447712 2447723 - PropertyAccessExpression 2447724 2447760 - Identifier 2447724 2447743 - Identifier 2447744 2447760 - Block 2447837 2449423 - VariableStatement 2447839 2447897 - VariableDeclarationList 2447839 2447896 - VariableDeclaration 2447862 2447896 - Identifier 2447862 2447877 - CallExpression 2447879 2447896 - Identifier 2447879 2447888 - Identifier 2447889 2447895 - VariableStatement 2447897 2447940 - VariableDeclarationList 2447897 2447939 - VariableDeclaration 2447920 2447939 - Identifier 2447920 2447925 - PropertyAccessExpression 2447927 2447939 - Identifier 2447927 2447934 - Identifier 2447935 2447939 - IfStatement 2447940 2448020 - PrefixUnaryExpression 2447962 2447967 - Identifier 2447963 2447967 - Block 2447968 2448020 - ContinueStatement 2447970 2448001 - VariableStatement 2448020 2448082 - VariableDeclarationList 2448020 2448081 - VariableDeclaration 2448043 2448081 - Identifier 2448043 2448053 - CallExpression 2448055 2448081 - Identifier 2448055 2448075 - Identifier 2448076 2448080 - VariableStatement 2448082 2448194 - VariableDeclarationList 2448082 2448193 - VariableDeclaration 2448105 2448193 - Identifier 2448105 2448124 - ConditionalExpression 2448126 2448193 - BinaryExpression 2448126 2448154 - Identifier 2448126 2448136 - AmpersandAmpersandToken 2448136 2448139 - Identifier 2448139 2448154 - QuestionToken 2448154 2448156 - PropertyAccessExpression 2448156 2448189 - Identifier 2448156 2448175 - Identifier 2448176 2448189 - ColonToken 2448189 2448191 - NumericLiteral 2448191 2448193 - VariableStatement 2448194 2448346 - VariableDeclarationList 2448194 2448345 - VariableDeclaration 2448217 2448345 - Identifier 2448217 2448223 - ConditionalExpression 2448225 2448345 - Identifier 2448225 2448235 - QuestionToken 2448235 2448237 - Identifier 2448237 2448256 - ColonToken 2448256 2448258 - ConditionalExpression 2448258 2448345 - Identifier 2448258 2448294 - QuestionToken 2448294 2448296 - Identifier 2448296 2448308 - ColonToken 2448308 2448310 - Identifier 2448310 2448345 - VariableStatement 2448346 2448443 - VariableDeclarationList 2448346 2448442 - VariableDeclaration 2448371 2448442 - Identifier 2448371 2448382 - BinaryExpression 2448384 2448442 - Identifier 2448384 2448389 - AmpersandAmpersandToken 2448389 2448392 - CallExpression 2448392 2448442 - Identifier 2448392 2448436 - Identifier 2448437 2448441 - IfStatement 2448443 2449408 - Identifier 2448465 2448475 - Block 2448476 2449408 - SwitchStatement 2448478 2449389 - PropertyAccessExpression 2448508 2448519 - Identifier 2448508 2448514 - Identifier 2448515 2448519 - CaseBlock 2448520 2449389 - CaseClause 2448522 2448728 - PropertyAccessExpression 2448552 2448575 - Identifier 2448552 2448563 - Identifier 2448564 2448575 - ExpressionStatement 2448576 2448692 - CallExpression 2448576 2448691 - Identifier 2448576 2448613 - Identifier 2448614 2448619 - Identifier 2448620 2448625 - Identifier 2448626 2448637 - BinaryExpression 2448638 2448690 - PropertyAccessExpression 2448638 2448669 - Identifier 2448638 2448657 - Identifier 2448658 2448669 - BarToken 2448669 2448671 - Identifier 2448671 2448690 - BreakStatement 2448692 2448728 - CaseClause 2448728 2448936 - PropertyAccessExpression 2448760 2448783 - Identifier 2448760 2448771 - Identifier 2448772 2448783 - ExpressionStatement 2448784 2448900 - CallExpression 2448784 2448899 - Identifier 2448784 2448821 - Identifier 2448822 2448827 - Identifier 2448828 2448833 - Identifier 2448834 2448845 - BinaryExpression 2448846 2448898 - PropertyAccessExpression 2448846 2448877 - Identifier 2448846 2448865 - Identifier 2448866 2448877 - BarToken 2448877 2448879 - Identifier 2448879 2448898 - BreakStatement 2448900 2448936 - CaseClause 2448936 2449157 - PropertyAccessExpression 2448968 2448999 - Identifier 2448968 2448979 - Identifier 2448980 2448999 - ExpressionStatement 2449000 2449121 - CallExpression 2449000 2449120 - Identifier 2449000 2449037 - Identifier 2449038 2449043 - Identifier 2449044 2449049 - Identifier 2449050 2449061 - BinaryExpression 2449062 2449119 - PropertyAccessExpression 2449062 2449098 - Identifier 2449062 2449081 - Identifier 2449082 2449098 - BarToken 2449098 2449100 - Identifier 2449100 2449119 - BreakStatement 2449121 2449157 - CaseClause 2449157 2449366 - PropertyAccessExpression 2449189 2449218 - Identifier 2449189 2449200 - Identifier 2449201 2449218 - ExpressionStatement 2449219 2449330 - CallExpression 2449219 2449329 - Identifier 2449219 2449256 - Identifier 2449257 2449262 - Identifier 2449263 2449268 - Identifier 2449269 2449280 - BinaryExpression 2449281 2449328 - PropertyAccessExpression 2449281 2449307 - Identifier 2449281 2449300 - Identifier 2449301 2449307 - BarToken 2449307 2449309 - Identifier 2449309 2449328 - BreakStatement 2449330 2449366 - FunctionDeclaration 2449434 2451086 - Identifier 2449454 2449462 - Parameter 2449463 2449503 - Identifier 2449463 2449468 - TypeReference 2449469 2449503 - Identifier 2449469 2449473 - TypeReference 2449474 2449482 - Identifier 2449474 2449482 - TypeReference 2449483 2449502 - Identifier 2449483 2449502 - Parameter 2449504 2449519 - Identifier 2449504 2449513 - TypeReference 2449514 2449519 - Identifier 2449514 2449519 - Parameter 2449520 2449535 - Identifier 2449520 2449525 - TypeReference 2449526 2449535 - Identifier 2449526 2449535 - Parameter 2449536 2449564 - Identifier 2449536 2449544 - TypeReference 2449545 2449564 - Identifier 2449545 2449564 - Block 2449565 2451086 - VariableStatement 2449567 2449610 - VariableDeclarationList 2449567 2449609 - VariableDeclaration 2449586 2449609 - Identifier 2449586 2449591 - CallExpression 2449593 2449609 - PropertyAccessExpression 2449593 2449603 - Identifier 2449593 2449599 - Identifier 2449600 2449603 - Identifier 2449604 2449608 - IfStatement 2449610 2451075 - Identifier 2449628 2449632 - Block 2449633 2450997 - IfStatement 2449635 2450982 - BinaryExpression 2449772 2449862 - ParenthesizedExpression 2449772 2449813 - BinaryExpression 2449773 2449812 - Identifier 2449773 2449777 - AmpersandToken 2449777 2449779 - PropertyAccessExpression 2449779 2449812 - Identifier 2449779 2449798 - Identifier 2449799 2449812 - ExclamationEqualsEqualsToken 2449813 2449817 - ParenthesizedExpression 2449817 2449862 - BinaryExpression 2449819 2449861 - Identifier 2449819 2449826 - AmpersandToken 2449826 2449828 - PropertyAccessExpression 2449828 2449861 - Identifier 2449828 2449847 - Identifier 2449848 2449861 - Block 2449863 2450047 - ExpressionStatement 2449865 2450028 - CallExpression 2449865 2450027 - Identifier 2449865 2449892 - Identifier 2449893 2449901 - PropertyAccessExpression 2449902 2450001 - Identifier 2449902 2449914 - Identifier 2449915 2450001 - CallExpression 2450002 2450026 - Identifier 2450002 2450016 - Identifier 2450017 2450025 - Block 2450069 2450982 - VariableStatement 2450071 2450151 - VariableDeclarationList 2450071 2450150 - VariableDeclaration 2450098 2450150 - Identifier 2450098 2450111 - PrefixUnaryExpression 2450113 2450150 - PrefixUnaryExpression 2450115 2450150 - ParenthesizedExpression 2450116 2450150 - BinaryExpression 2450117 2450149 - Identifier 2450117 2450121 - AmpersandToken 2450121 2450123 - PropertyAccessExpression 2450123 2450149 - Identifier 2450123 2450142 - Identifier 2450143 2450149 - VariableStatement 2450151 2450230 - VariableDeclarationList 2450151 2450229 - VariableDeclaration 2450178 2450229 - Identifier 2450178 2450187 - PrefixUnaryExpression 2450189 2450229 - PrefixUnaryExpression 2450191 2450229 - ParenthesizedExpression 2450192 2450229 - BinaryExpression 2450193 2450228 - Identifier 2450193 2450200 - AmpersandToken 2450200 2450202 - PropertyAccessExpression 2450202 2450228 - Identifier 2450202 2450221 - Identifier 2450222 2450228 - IfStatement 2450230 2450963 - BinaryExpression 2450256 2450280 - Identifier 2450256 2450268 - BarBarToken 2450268 2450271 - Identifier 2450271 2450280 - Block 2450281 2450644 - IfStatement 2450283 2450475 - BinaryExpression 2450313 2450338 - Identifier 2450313 2450325 - ExclamationEqualsEqualsToken 2450325 2450329 - Identifier 2450329 2450338 - Block 2450339 2450475 - ExpressionStatement 2450341 2450448 - CallExpression 2450341 2450447 - Identifier 2450341 2450376 - Identifier 2450377 2450385 - PropertyAccessExpression 2450386 2450421 - Identifier 2450386 2450398 - Identifier 2450399 2450421 - CallExpression 2450422 2450446 - Identifier 2450422 2450436 - Identifier 2450437 2450445 - IfStatement 2450670 2450963 - BinaryExpression 2450675 2450725 - BinaryExpression 2450675 2450689 - Identifier 2450675 2450679 - AmpersandToken 2450679 2450681 - Identifier 2450681 2450689 - AmpersandToken 2450689 2450691 - PrefixUnaryExpression 2450691 2450725 - PropertyAccessExpression 2450693 2450725 - Identifier 2450693 2450711 - Identifier 2450712 2450725 - Block 2450726 2450854 - ExpressionStatement 2450728 2450831 - CallExpression 2450728 2450830 - Identifier 2450728 2450759 - Identifier 2450760 2450768 - PropertyAccessExpression 2450769 2450804 - Identifier 2450769 2450781 - Identifier 2450782 2450804 - CallExpression 2450805 2450829 - Identifier 2450805 2450819 - Identifier 2450820 2450828 - Block 2450880 2450963 - ExpressionStatement 2450882 2450940 - CallExpression 2450882 2450939 - PropertyAccessExpression 2450882 2450917 - Identifier 2450882 2450913 - Identifier 2450914 2450917 - Identifier 2450918 2450922 - BinaryExpression 2450923 2450938 - Identifier 2450923 2450928 - BarToken 2450928 2450930 - Identifier 2450930 2450938 - Block 2451015 2451075 - ExpressionStatement 2451017 2451060 - CallExpression 2451017 2451059 - PropertyAccessExpression 2451017 2451044 - Identifier 2451017 2451040 - Identifier 2451041 2451044 - Identifier 2451045 2451049 - Identifier 2451050 2451058 - FunctionDeclaration 2451093 2452970 - Identifier 2451812 2451853 - Parameter 2451854 2451880 - Identifier 2451854 2451858 - TypeReference 2451859 2451880 - Identifier 2451859 2451880 - Block 2451881 2452970 - ForOfStatement 2451883 2452963 - VariableDeclarationList 2451898 2451910 - VariableDeclaration 2451903 2451910 - Identifier 2451903 2451910 - PropertyAccessExpression 2451913 2451926 - Identifier 2451913 2451918 - Identifier 2451919 2451926 - Block 2451927 2452963 - VariableStatement 2451929 2451978 - VariableDeclarationList 2451929 2451977 - VariableDeclaration 2451948 2451977 - Identifier 2451948 2451963 - PropertyAccessExpression 2451965 2451977 - Identifier 2451965 2451972 - Identifier 2451973 2451977 - VariableStatement 2451978 2452032 - VariableDeclarationList 2451978 2452031 - VariableDeclaration 2451997 2452031 - Identifier 2451997 2452012 - CallExpression 2452014 2452031 - Identifier 2452014 2452023 - Identifier 2452024 2452030 - IfStatement 2452032 2452952 - BinaryExpression 2452050 2452082 - Identifier 2452050 2452064 - AmpersandAmpersandToken 2452064 2452067 - Identifier 2452067 2452082 - Block 2452083 2452952 - VariableStatement 2452085 2452182 - VariableDeclarationList 2452085 2452181 - VariableDeclaration 2452108 2452181 - Identifier 2452108 2452119 - CallExpression 2452121 2452181 - Identifier 2452121 2452165 - Identifier 2452166 2452180 - SwitchStatement 2452182 2452937 - Identifier 2452208 2452218 - CaseBlock 2452219 2452937 - CaseClause 2452221 2452255 - StringLiteral 2452247 2452254 - CaseClause 2452255 2452291 - StringLiteral 2452281 2452290 - CaseClause 2452291 2452327 - StringLiteral 2452317 2452326 - CaseClause 2452327 2452485 - StringLiteral 2452353 2452365 - IfStatement 2452366 2452485 - Identifier 2452396 2452419 - Block 2452420 2452485 - BreakStatement 2452422 2452458 - CaseClause 2452485 2452918 - StringLiteral 2452552 2452564 - VariableStatement 2452565 2452707 - VariableDeclarationList 2452565 2452706 - VariableDeclaration 2452596 2452706 - Identifier 2452596 2452604 - PropertyAccessExpression 2452606 2452706 - Identifier 2452606 2452618 - Identifier 2452619 2452706 - VariableStatement 2452707 2452806 - VariableDeclarationList 2452707 2452805 - VariableDeclaration 2452738 2452805 - Identifier 2452738 2452748 - CallExpression 2452750 2452805 - Identifier 2452750 2452775 - CallExpression 2452776 2452804 - Identifier 2452776 2452798 - Identifier 2452799 2452803 - ExpressionStatement 2452806 2452886 - CallExpression 2452806 2452885 - Identifier 2452806 2452837 - Identifier 2452838 2452852 - Identifier 2452853 2452861 - Identifier 2452862 2452873 - Identifier 2452874 2452884 - BreakStatement 2452886 2452918 - FunctionDeclaration 2452970 2454174 - Identifier 2452986 2453026 - Parameter 2453027 2453071 - Identifier 2453027 2453031 - UnionType 2453032 2453071 - TypeReference 2453032 2453048 - Identifier 2453032 2453048 - TypeReference 2453050 2453071 - Identifier 2453050 2453071 - Block 2453072 2454174 - VariableStatement 2453074 2453125 - VariableDeclarationList 2453074 2453124 - VariableDeclaration 2453089 2453124 - Identifier 2453089 2453095 - NewExpression 2453097 2453124 - Identifier 2453101 2453105 - StringKeyword 2453106 2453112 - BooleanKeyword 2453113 2453121 - ForOfStatement 2453125 2454167 - VariableDeclarationList 2453140 2453152 - VariableDeclaration 2453145 2453152 - Identifier 2453145 2453152 - PropertyAccessExpression 2453155 2453168 - Identifier 2453155 2453160 - Identifier 2453161 2453168 - Block 2453169 2454167 - IfStatement 2453171 2454156 - BinaryExpression 2453189 2453233 - PropertyAccessExpression 2453189 2453200 - Identifier 2453189 2453195 - Identifier 2453196 2453200 - EqualsEqualsEqualsToken 2453200 2453204 - PropertyAccessExpression 2453204 2453233 - Identifier 2453204 2453215 - Identifier 2453216 2453233 - Block 2453234 2454156 - VariableStatement 2453236 2453277 - VariableDeclarationList 2453236 2453276 - VariableDeclaration 2453257 2453276 - Identifier 2453257 2453268 - StringKeyword 2453269 2453276 - VariableStatement 2453277 2453321 - VariableDeclarationList 2453277 2453320 - VariableDeclaration 2453300 2453320 - Identifier 2453300 2453305 - NonNullExpression 2453307 2453320 - PropertyAccessExpression 2453307 2453319 - Identifier 2453307 2453314 - Identifier 2453315 2453319 - SwitchStatement 2453321 2453762 - PropertyAccessExpression 2453347 2453356 - Identifier 2453347 2453351 - Identifier 2453352 2453356 - CaseBlock 2453357 2453762 - CaseClause 2453359 2453411 - PropertyAccessExpression 2453385 2453410 - Identifier 2453385 2453396 - Identifier 2453397 2453410 - CaseClause 2453411 2453545 - PropertyAccessExpression 2453437 2453463 - Identifier 2453437 2453448 - Identifier 2453449 2453463 - ExpressionStatement 2453464 2453513 - BinaryExpression 2453464 2453512 - Identifier 2453464 2453500 - EqualsToken 2453500 2453502 - PropertyAccessExpression 2453502 2453512 - Identifier 2453502 2453507 - Identifier 2453508 2453512 - BreakStatement 2453513 2453545 - CaseClause 2453545 2453678 - PropertyAccessExpression 2453571 2453593 - Identifier 2453571 2453582 - Identifier 2453583 2453593 - ExpressionStatement 2453594 2453646 - BinaryExpression 2453594 2453645 - Identifier 2453594 2453630 - EqualsToken 2453630 2453632 - CallExpression 2453632 2453645 - Identifier 2453632 2453639 - Identifier 2453640 2453644 - BreakStatement 2453646 2453678 - DefaultClause 2453678 2453743 - ContinueStatement 2453708 2453743 - IfStatement 2453762 2454141 - CallExpression 2453786 2453807 - PropertyAccessExpression 2453786 2453795 - Identifier 2453786 2453791 - Identifier 2453792 2453795 - Identifier 2453796 2453806 - Block 2453808 2454048 - ExpressionStatement 2453810 2453940 - CallExpression 2453810 2453939 - Identifier 2453810 2453837 - CallExpression 2453838 2453890 - Identifier 2453838 2453858 - PropertyAccessExpression 2453859 2453889 - PropertyAccessExpression 2453859 2453872 - Identifier 2453859 2453865 - Identifier 2453866 2453872 - Identifier 2453873 2453889 - PropertyAccessExpression 2453891 2453926 - Identifier 2453891 2453903 - Identifier 2453904 2453926 - Identifier 2453927 2453938 - ExpressionStatement 2453940 2454029 - CallExpression 2453940 2454028 - Identifier 2453940 2453967 - PropertyAccessExpression 2453968 2453979 - Identifier 2453968 2453974 - Identifier 2453975 2453979 - PropertyAccessExpression 2453980 2454015 - Identifier 2453980 2453992 - Identifier 2453993 2454015 - Identifier 2454016 2454027 - Block 2454070 2454141 - ExpressionStatement 2454072 2454122 - CallExpression 2454072 2454121 - PropertyAccessExpression 2454072 2454103 - Identifier 2454072 2454099 - Identifier 2454100 2454103 - Identifier 2454104 2454114 - TrueKeyword 2454115 2454120 - FunctionDeclaration 2454174 2456671 - Identifier 2454190 2454227 - Parameter 2454228 2454295 - Identifier 2454228 2454232 - UnionType 2454233 2454295 - TypeReference 2454233 2454254 - Identifier 2454233 2454254 - TypeReference 2454256 2454277 - Identifier 2454256 2454277 - TypeReference 2454279 2454295 - Identifier 2454279 2454295 - Block 2454296 2456671 - IfStatement 2454298 2454829 - BinaryExpression 2454312 2454357 - PropertyAccessExpression 2454312 2454321 - Identifier 2454312 2454316 - Identifier 2454317 2454321 - EqualsEqualsEqualsToken 2454321 2454325 - PropertyAccessExpression 2454325 2454357 - Identifier 2454325 2454336 - Identifier 2454337 2454357 - Block 2454358 2454829 - VariableStatement 2454360 2454422 - VariableDeclarationList 2454360 2454421 - VariableDeclaration 2454379 2454421 - Identifier 2454379 2454390 - CallExpression 2454392 2454421 - Identifier 2454392 2454415 - Identifier 2454416 2454420 - IfStatement 2454422 2454818 - BinaryExpression 2454675 2454775 - BinaryExpression 2454675 2454736 - PropertyAccessExpression 2454675 2454698 - Identifier 2454675 2454685 - Identifier 2454686 2454698 - AmpersandAmpersandToken 2454698 2454701 - BinaryExpression 2454701 2454736 - PropertyAccessExpression 2454701 2454732 - PropertyAccessExpression 2454701 2454725 - Identifier 2454701 2454712 - Identifier 2454713 2454725 - Identifier 2454726 2454732 - GreaterThanToken 2454732 2454734 - NumericLiteral 2454734 2454736 - AmpersandAmpersandToken 2454736 2454739 - BinaryExpression 2454739 2454775 - ElementAccessExpression 2454739 2454766 - PropertyAccessExpression 2454739 2454763 - Identifier 2454739 2454750 - Identifier 2454751 2454763 - NumericLiteral 2454764 2454765 - ExclamationEqualsEqualsToken 2454766 2454770 - Identifier 2454770 2454775 - Block 2454776 2454818 - ReturnStatement 2454778 2454803 - VariableStatement 2454829 2455196 - VariableDeclarationList 2454829 2455195 - VariableDeclaration 2455136 2455195 - Identifier 2455136 2455148 - CallExpression 2455150 2455195 - Identifier 2455150 2455165 - CallExpression 2455166 2455194 - Identifier 2455166 2455188 - Identifier 2455189 2455193 - IfStatement 2455196 2456664 - PropertyAccessExpression 2455210 2455235 - Identifier 2455210 2455221 - QuestionDotToken 2455221 2455223 - Identifier 2455223 2455235 - Block 2455236 2456664 - VariableStatement 2455238 2455356 - VariableDeclarationList 2455238 2455355 - VariableDeclaration 2455257 2455355 - Identifier 2455257 2455275 - NewExpression 2455277 2455355 - Identifier 2455281 2455285 - TypeReference 2455286 2455292 - Identifier 2455286 2455292 - TypeLiteral 2455293 2455352 - PropertySignature 2455295 2455307 - Identifier 2455295 2455300 - TypeReference 2455301 2455306 - Identifier 2455301 2455306 - PropertySignature 2455307 2455350 - Identifier 2455307 2455320 - ArrayType 2455321 2455349 - TypeReference 2455321 2455347 - Identifier 2455321 2455347 - ForOfStatement 2455356 2456300 - VariableDeclarationList 2455375 2455392 - VariableDeclaration 2455380 2455392 - Identifier 2455380 2455392 - PropertyAccessExpression 2455395 2455420 - Identifier 2455395 2455407 - Identifier 2455408 2455420 - Block 2455421 2456300 - IfStatement 2455423 2456163 - CallExpression 2455445 2455485 - Identifier 2455445 2455472 - Identifier 2455473 2455484 - Block 2455486 2456163 - IfStatement 2455488 2456144 - BinaryExpression 2455514 2455583 - BinaryExpression 2455514 2455549 - PropertyAccessExpression 2455514 2455543 - PropertyAccessExpression 2455514 2455536 - Identifier 2455514 2455525 - Identifier 2455526 2455536 - Identifier 2455537 2455543 - EqualsEqualsEqualsToken 2455543 2455547 - NumericLiteral 2455547 2455549 - AmpersandAmpersandToken 2455549 2455552 - PropertyAccessExpression 2455552 2455583 - ElementAccessExpression 2455552 2455578 - PropertyAccessExpression 2455552 2455575 - Identifier 2455552 2455564 - Identifier 2455565 2455575 - NumericLiteral 2455576 2455577 - Identifier 2455579 2455583 - Block 2455584 2456144 - ExpressionStatement 2455586 2456121 - CallExpression 2455586 2456120 - Identifier 2455586 2455623 - CallExpression 2455624 2455675 - Identifier 2455624 2455643 - PropertyAccessExpression 2455644 2455674 - ElementAccessExpression 2455644 2455669 - PropertyAccessExpression 2455644 2455666 - Identifier 2455644 2455655 - Identifier 2455656 2455666 - NumericLiteral 2455667 2455668 - Identifier 2455670 2455674 - ArrowFunction 2455676 2456119 - Parameter 2455676 2455681 - Identifier 2455676 2455681 - EqualsGreaterThanToken 2455681 2455684 - Block 2455684 2456119 - VariableStatement 2455686 2455769 - VariableDeclarationList 2455686 2455768 - VariableDeclaration 2455721 2455768 - Identifier 2455721 2455727 - CallExpression 2455729 2455768 - PropertyAccessExpression 2455729 2455751 - Identifier 2455729 2455747 - Identifier 2455748 2455751 - CallExpression 2455752 2455767 - Identifier 2455752 2455761 - Identifier 2455762 2455766 - IfStatement 2455769 2456092 - Identifier 2455803 2455808 - Block 2455809 2455913 - ExpressionStatement 2455811 2455882 - CallExpression 2455811 2455881 - PropertyAccessExpression 2455811 2455868 - PropertyAccessExpression 2455811 2455863 - Identifier 2455811 2455850 - Identifier 2455851 2455863 - Identifier 2455864 2455868 - Identifier 2455869 2455880 - Block 2455947 2456092 - ExpressionStatement 2455949 2456061 - CallExpression 2455949 2456060 - PropertyAccessExpression 2455949 2456004 - Identifier 2455949 2456000 - Identifier 2456001 2456004 - CallExpression 2456005 2456020 - Identifier 2456005 2456014 - Identifier 2456015 2456019 - ObjectLiteralExpression 2456021 2456059 - ShorthandPropertyAssignment 2456023 2456028 - Identifier 2456023 2456028 - PropertyAssignment 2456029 2456057 - Identifier 2456029 2456042 - ArrayLiteralExpression 2456043 2456057 - Identifier 2456045 2456056 - ExpressionStatement 2456300 2456653 - CallExpression 2456300 2456652 - PropertyAccessExpression 2456300 2456339 - Identifier 2456300 2456331 - Identifier 2456332 2456339 - ArrowFunction 2456340 2456651 - Parameter 2456340 2456345 - Identifier 2456340 2456345 - EqualsGreaterThanToken 2456345 2456348 - Block 2456348 2456651 - IfStatement 2456350 2456636 - BinaryExpression 2456372 2456401 - PropertyAccessExpression 2456372 2456397 - PropertyAccessExpression 2456372 2456390 - Identifier 2456372 2456377 - Identifier 2456378 2456390 - Identifier 2456391 2456397 - GreaterThanToken 2456397 2456399 - NumericLiteral 2456399 2456401 - Block 2456402 2456636 - ForOfStatement 2456404 2456617 - VariableDeclarationList 2456431 2456448 - VariableDeclaration 2456436 2456448 - Identifier 2456436 2456448 - PropertyAccessExpression 2456451 2456470 - Identifier 2456451 2456457 - Identifier 2456458 2456470 - Block 2456471 2456617 - ExpressionStatement 2456473 2456594 - CallExpression 2456473 2456593 - Identifier 2456473 2456504 - Identifier 2456505 2456516 - PropertyAccessExpression 2456517 2456566 - Identifier 2456517 2456529 - Identifier 2456530 2456566 - CallExpression 2456567 2456592 - Identifier 2456567 2456580 - PropertyAccessExpression 2456581 2456591 - Identifier 2456581 2456586 - Identifier 2456587 2456591 - FunctionDeclaration 2456671 2457410 - Identifier 2456687 2456712 - Parameter 2456713 2456758 - Identifier 2456713 2456717 - UnionType 2456718 2456758 - TypeReference 2456718 2456738 - Identifier 2456718 2456738 - TypeReference 2456740 2456758 - Identifier 2456740 2456758 - Block 2456759 2457410 - IfStatement 2456761 2456909 - BinaryExpression 2456804 2456863 - PrefixUnaryExpression 2456804 2456832 - CallExpression 2456805 2456832 - Identifier 2456805 2456826 - Identifier 2456827 2456831 - AmpersandAmpersandToken 2456832 2456835 - PrefixUnaryExpression 2456835 2456863 - CallExpression 2456837 2456863 - Identifier 2456837 2456857 - Identifier 2456858 2456862 - ExpressionStatement 2456864 2456909 - CallExpression 2456864 2456908 - Identifier 2456864 2456897 - PropertyAccessExpression 2456898 2456907 - Identifier 2456898 2456902 - Identifier 2456903 2456907 - ExpressionStatement 2456909 2456954 - CallExpression 2456909 2456953 - Identifier 2456909 2456947 - Identifier 2456948 2456952 - ExpressionStatement 2456954 2457010 - CallExpression 2456954 2457009 - Identifier 2456954 2457003 - Identifier 2457004 2457008 - IfStatement 2457010 2457403 - BinaryExpression 2457128 2457246 - BinaryExpression 2457128 2457226 - CallExpression 2457128 2457178 - Identifier 2457128 2457148 - Identifier 2457149 2457153 - PropertyAccessExpression 2457154 2457177 - Identifier 2457154 2457168 - Identifier 2457169 2457177 - AmpersandAmpersandToken 2457178 2457181 - BinaryExpression 2457181 2457226 - PropertyAccessExpression 2457181 2457191 - Identifier 2457181 2457186 - Identifier 2457187 2457191 - EqualsEqualsEqualsToken 2457191 2457195 - PropertyAccessExpression 2457195 2457226 - Identifier 2457195 2457206 - Identifier 2457207 2457226 - AmpersandAmpersandToken 2457226 2457229 - PropertyAccessExpression 2457229 2457246 - Identifier 2457229 2457234 - Identifier 2457235 2457246 - Block 2457247 2457403 - ExpressionStatement 2457249 2457392 - CallExpression 2457249 2457391 - Identifier 2457249 2457268 - Identifier 2457269 2457273 - PropertyAccessExpression 2457274 2457354 - Identifier 2457274 2457286 - Identifier 2457287 2457354 - CallExpression 2457355 2457390 - Identifier 2457355 2457379 - PropertyAccessExpression 2457380 2457389 - Identifier 2457380 2457384 - Identifier 2457385 2457389 - FunctionDeclaration 2457410 2457685 - Identifier 2457426 2457449 - Parameter 2457450 2457473 - Identifier 2457450 2457454 - TypeReference 2457455 2457473 - Identifier 2457455 2457473 - Block 2457474 2457685 - IfStatement 2457476 2457630 - CallExpression 2457490 2457520 - Identifier 2457490 2457509 - PropertyAccessExpression 2457510 2457519 - Identifier 2457510 2457514 - Identifier 2457515 2457519 - Block 2457521 2457630 - ExpressionStatement 2457523 2457619 - CallExpression 2457523 2457618 - Identifier 2457523 2457542 - Identifier 2457543 2457547 - PropertyAccessExpression 2457548 2457617 - Identifier 2457548 2457560 - Identifier 2457561 2457617 - ReturnStatement 2457630 2457678 - CallExpression 2457646 2457677 - Identifier 2457646 2457671 - Identifier 2457672 2457676 - FunctionDeclaration 2457685 2458976 - Identifier 2457701 2457724 - Parameter 2457725 2457766 - Identifier 2457725 2457729 - UnionType 2457730 2457766 - TypeReference 2457730 2457748 - Identifier 2457730 2457748 - TypeReference 2457750 2457766 - Identifier 2457750 2457766 - Block 2457767 2458976 - IfStatement 2457769 2457883 - PrefixUnaryExpression 2457812 2457837 - CallExpression 2457813 2457837 - Identifier 2457813 2457831 - Identifier 2457832 2457836 - ExpressionStatement 2457838 2457883 - CallExpression 2457838 2457882 - Identifier 2457838 2457871 - PropertyAccessExpression 2457872 2457881 - Identifier 2457872 2457876 - Identifier 2457877 2457881 - IfStatement 2457883 2458111 - BinaryExpression 2457899 2458012 - BinaryExpression 2457899 2457973 - BinaryExpression 2457899 2457946 - CallExpression 2457899 2457924 - Identifier 2457899 2457918 - Identifier 2457919 2457923 - AmpersandAmpersandToken 2457924 2457927 - PropertyAccessExpression 2457927 2457946 - Identifier 2457927 2457932 - Identifier 2457933 2457946 - AmpersandAmpersandToken 2457946 2457949 - CallExpression 2457949 2457973 - Identifier 2457949 2457962 - PropertyAccessExpression 2457963 2457972 - Identifier 2457963 2457967 - Identifier 2457968 2457972 - AmpersandAmpersandToken 2457973 2457976 - BinaryExpression 2457976 2458012 - CallExpression 2457976 2457994 - Identifier 2457976 2457983 - PropertyAccessExpression 2457984 2457993 - Identifier 2457984 2457988 - Identifier 2457989 2457993 - EqualsEqualsEqualsToken 2457994 2457998 - StringLiteral 2457998 2458012 - Block 2458013 2458111 - ExpressionStatement 2458015 2458100 - CallExpression 2458015 2458099 - Identifier 2458015 2458034 - PropertyAccessExpression 2458035 2458044 - Identifier 2458035 2458039 - Identifier 2458040 2458044 - PropertyAccessExpression 2458045 2458098 - Identifier 2458045 2458057 - Identifier 2458058 2458098 - ExpressionStatement 2458111 2458269 - CallExpression 2458111 2458268 - Identifier 2458111 2458262 - Identifier 2458263 2458267 - IfStatement 2458269 2458655 - BinaryExpression 2458388 2458497 - BinaryExpression 2458388 2458484 - CallExpression 2458388 2458438 - Identifier 2458388 2458408 - Identifier 2458409 2458413 - PropertyAccessExpression 2458414 2458437 - Identifier 2458414 2458428 - Identifier 2458429 2458437 - AmpersandAmpersandToken 2458438 2458441 - BinaryExpression 2458441 2458484 - PropertyAccessExpression 2458441 2458451 - Identifier 2458441 2458446 - Identifier 2458447 2458451 - EqualsEqualsEqualsToken 2458451 2458455 - PropertyAccessExpression 2458455 2458484 - Identifier 2458455 2458466 - Identifier 2458467 2458484 - AmpersandAmpersandToken 2458484 2458487 - PropertyAccessExpression 2458487 2458497 - Identifier 2458487 2458492 - Identifier 2458493 2458497 - Block 2458498 2458655 - ExpressionStatement 2458500 2458644 - CallExpression 2458500 2458643 - Identifier 2458500 2458519 - Identifier 2458520 2458524 - PropertyAccessExpression 2458525 2458606 - Identifier 2458525 2458537 - Identifier 2458538 2458606 - CallExpression 2458607 2458642 - Identifier 2458607 2458631 - PropertyAccessExpression 2458632 2458641 - Identifier 2458632 2458636 - Identifier 2458637 2458641 - IfStatement 2458655 2458913 - BinaryExpression 2458744 2458803 - CallExpression 2458744 2458774 - Identifier 2458744 2458763 - PropertyAccessExpression 2458764 2458773 - Identifier 2458764 2458768 - Identifier 2458769 2458773 - AmpersandAmpersandToken 2458774 2458777 - PrefixUnaryExpression 2458777 2458803 - CallExpression 2458779 2458803 - Identifier 2458779 2458797 - Identifier 2458798 2458802 - Block 2458804 2458913 - ExpressionStatement 2458806 2458902 - CallExpression 2458806 2458901 - Identifier 2458806 2458825 - Identifier 2458826 2458830 - PropertyAccessExpression 2458831 2458900 - Identifier 2458831 2458843 - Identifier 2458844 2458900 - ExpressionStatement 2458913 2458969 - CallExpression 2458913 2458968 - Identifier 2458913 2458962 - Identifier 2458963 2458967 - FunctionDeclaration 2458976 2460517 - Identifier 2458992 2459030 - Parameter 2459031 2459136 - Identifier 2459031 2459035 - UnionType 2459036 2459136 - TypeReference 2459036 2459056 - Identifier 2459036 2459056 - TypeReference 2459058 2459076 - Identifier 2459058 2459076 - TypeReference 2459078 2459096 - Identifier 2459078 2459096 - TypeReference 2459098 2459114 - Identifier 2459098 2459114 - TypeReference 2459116 2459136 - Identifier 2459116 2459136 - Block 2459137 2460517 - IfStatement 2459139 2460510 - CallExpression 2459153 2459183 - Identifier 2459153 2459172 - PropertyAccessExpression 2459173 2459182 - Identifier 2459173 2459177 - Identifier 2459178 2459182 - Block 2459184 2460510 - IfStatement 2459186 2460499 - BinaryExpression 2459204 2459444 - BinaryExpression 2459204 2459399 - BinaryExpression 2459204 2459301 - Identifier 2459204 2459237 - LessThanToken 2459237 2459239 - PropertyAccessExpression 2459239 2459301 - Identifier 2459239 2459268 - Identifier 2459269 2459301 - BarBarToken 2459301 2459304 - BinaryExpression 2459304 2459399 - Identifier 2459304 2459337 - LessThanToken 2459337 2459339 - PropertyAccessExpression 2459339 2459399 - Identifier 2459339 2459368 - Identifier 2459369 2459399 - BarBarToken 2459399 2459402 - PrefixUnaryExpression 2459402 2459444 - Identifier 2459421 2459444 - Block 2459459 2460499 - ForStatement 2459461 2459749 - VariableDeclarationList 2459484 2459540 - VariableDeclaration 2459487 2459540 - Identifier 2459487 2459500 - CallExpression 2459502 2459540 - Identifier 2459502 2459534 - Identifier 2459535 2459539 - PrefixUnaryExpression 2459541 2459556 - PrefixUnaryExpression 2459543 2459556 - Identifier 2459544 2459556 - BinaryExpression 2459557 2459618 - Identifier 2459557 2459570 - EqualsToken 2459570 2459572 - CallExpression 2459572 2459618 - Identifier 2459572 2459604 - Identifier 2459605 2459617 - Block 2459619 2459749 - ExpressionStatement 2459621 2459730 - BinaryExpression 2459621 2459729 - PropertyAccessExpression 2459621 2459675 - CallExpression 2459621 2459669 - Identifier 2459621 2459655 - Identifier 2459656 2459668 - Identifier 2459670 2459675 - BarEqualsToken 2459675 2459678 - PropertyAccessExpression 2459678 2459729 - Identifier 2459678 2459693 - Identifier 2459694 2459729 - IfStatement 2459749 2460484 - CallExpression 2460025 2460055 - Identifier 2460025 2460042 - PropertyAccessExpression 2460043 2460054 - Identifier 2460043 2460047 - Identifier 2460048 2460054 - Block 2460056 2460484 - VariableStatement 2460058 2460160 - VariableDeclarationList 2460058 2460159 - VariableDeclaration 2460085 2460159 - Identifier 2460085 2460113 - CallExpression 2460115 2460159 - Identifier 2460115 2460146 - PropertyAccessExpression 2460147 2460158 - Identifier 2460147 2460151 - Identifier 2460152 2460158 - IfStatement 2460160 2460465 - Identifier 2460186 2460213 - Block 2460214 2460465 - ExpressionStatement 2460216 2460315 - BinaryExpression 2460216 2460314 - PropertyAccessExpression 2460216 2460271 - CallExpression 2460216 2460265 - Identifier 2460216 2460254 - PropertyAccessExpression 2460255 2460264 - Identifier 2460255 2460259 - Identifier 2460260 2460264 - Identifier 2460266 2460271 - BarEqualsToken 2460271 2460274 - PropertyAccessExpression 2460274 2460314 - Identifier 2460274 2460289 - Identifier 2460290 2460314 - ExpressionStatement 2460315 2460442 - BinaryExpression 2460315 2460441 - PropertyAccessExpression 2460315 2460388 - CallExpression 2460315 2460382 - Identifier 2460315 2460353 - Identifier 2460354 2460381 - Identifier 2460383 2460388 - BarEqualsToken 2460388 2460391 - PropertyAccessExpression 2460391 2460441 - Identifier 2460391 2460406 - Identifier 2460407 2460441 - FunctionDeclaration 2460517 2460699 - Identifier 2460533 2460566 - Parameter 2460567 2460600 - Identifier 2460567 2460571 - TypeReference 2460572 2460600 - Identifier 2460572 2460600 - Block 2460601 2460699 - ExpressionStatement 2460603 2460641 - CallExpression 2460603 2460640 - Identifier 2460603 2460634 - Identifier 2460635 2460639 - ExpressionStatement 2460641 2460692 - CallExpression 2460641 2460691 - Identifier 2460641 2460665 - Identifier 2460666 2460670 - Identifier 2460671 2460690 - FunctionDeclaration 2460699 2465891 - Identifier 2460715 2460743 - Parameter 2460744 2460772 - Identifier 2460744 2460748 - TypeReference 2460749 2460772 - Identifier 2460749 2460772 - Block 2460773 2465891 - ExpressionStatement 2460775 2460950 - CallExpression 2460775 2460949 - Identifier 2460775 2460943 - Identifier 2460944 2460948 - IfStatement 2460950 2461132 - PrefixUnaryExpression 2461042 2461086 - CallExpression 2461043 2461086 - Identifier 2461043 2461080 - Identifier 2461081 2461085 - ExpressionStatement 2461087 2461132 - CallExpression 2461087 2461131 - Identifier 2461087 2461125 - Identifier 2461126 2461130 - ExpressionStatement 2461132 2461174 - CallExpression 2461132 2461173 - Identifier 2461132 2461162 - PropertyAccessExpression 2461163 2461172 - Identifier 2461163 2461167 - Identifier 2461168 2461172 - VariableStatement 2461174 2461230 - VariableDeclarationList 2461174 2461229 - VariableDeclaration 2461191 2461229 - Identifier 2461191 2461198 - CallExpression 2461200 2461229 - Identifier 2461200 2461223 - Identifier 2461224 2461228 - VariableStatement 2461230 2461305 - VariableDeclarationList 2461230 2461304 - VariableDeclaration 2461245 2461304 - Identifier 2461245 2461262 - CallExpression 2461264 2461304 - Identifier 2461264 2461285 - Identifier 2461286 2461292 - PropertyAccessExpression 2461293 2461303 - Identifier 2461293 2461298 - Identifier 2461299 2461303 - IfStatement 2461305 2461459 - BinaryExpression 2461365 2461390 - Identifier 2461365 2461369 - EqualsEqualsEqualsToken 2461369 2461373 - Identifier 2461373 2461390 - Block 2461391 2461459 - ExpressionStatement 2461393 2461448 - CallExpression 2461393 2461447 - Identifier 2461393 2461439 - Identifier 2461440 2461446 - IfStatement 2461459 2461622 - CallExpression 2461563 2461587 - Identifier 2461563 2461576 - PropertyAccessExpression 2461577 2461586 - Identifier 2461577 2461581 - Identifier 2461582 2461586 - Block 2461588 2461622 - ReturnStatement 2461590 2461611 - ExpressionStatement 2461622 2461692 - CallExpression 2461622 2461691 - Identifier 2461622 2461651 - Identifier 2461652 2461690 - ReturnStatement 2461692 2461711 - FunctionDeclaration 2461711 2462091 - Identifier 2461731 2461792 - Parameter 2461793 2461800 - Identifier 2461793 2461794 - TypeReference 2461795 2461800 - Identifier 2461795 2461800 - BooleanKeyword 2461802 2461810 - Block 2461810 2462091 - IfStatement 2461812 2461923 - CallExpression 2461830 2461875 - Identifier 2461830 2461872 - Identifier 2461873 2461874 - Block 2461876 2461923 - ReturnStatement 2461878 2461908 - TrueKeyword 2461902 2461907 - ReturnStatement 2461923 2462080 - BinaryExpression 2461943 2462079 - BinaryExpression 2461943 2462018 - BinaryExpression 2461943 2461985 - PropertyAccessExpression 2461943 2461950 - Identifier 2461943 2461945 - Identifier 2461946 2461950 - EqualsEqualsEqualsToken 2461950 2461954 - PropertyAccessExpression 2461954 2461985 - Identifier 2461954 2461965 - Identifier 2461966 2461985 - AmpersandAmpersandToken 2461985 2461988 - PrefixUnaryExpression 2461988 2462018 - CallExpression 2462007 2462018 - Identifier 2462007 2462015 - Identifier 2462016 2462017 - AmpersandAmpersandToken 2462018 2462021 - PrefixUnaryExpression 2462021 2462079 - PrefixUnaryExpression 2462040 2462079 - PropertyAccessExpression 2462041 2462079 - ParenthesizedExpression 2462041 2462067 - AsExpression 2462042 2462066 - Identifier 2462042 2462043 - TypeReference 2462046 2462066 - Identifier 2462046 2462066 - Identifier 2462068 2462079 - FunctionDeclaration 2462091 2465884 - Identifier 2462111 2462150 - Block 2462152 2465884 - VariableStatement 2462154 2462475 - VariableDeclarationList 2462154 2462474 - VariableDeclaration 2462440 2462474 - Identifier 2462440 2462460 - PropertyAccessExpression 2462462 2462474 - Identifier 2462462 2462467 - Identifier 2462468 2462474 - IfStatement 2462475 2465873 - CallExpression 2462493 2462544 - Identifier 2462493 2462523 - Identifier 2462524 2462543 - Block 2462545 2465873 - ExpressionStatement 2462547 2462618 - CallExpression 2462547 2462617 - Identifier 2462547 2462583 - PropertyAccessExpression 2462584 2462595 - Identifier 2462584 2462588 - Identifier 2462589 2462595 - Identifier 2462596 2462616 - VariableStatement 2462618 2462710 - VariableDeclarationList 2462618 2462709 - VariableDeclaration 2462641 2462709 - Identifier 2462641 2462658 - CallExpression 2462660 2462709 - Identifier 2462660 2462688 - Identifier 2462689 2462708 - VariableStatement 2462710 2462777 - VariableDeclarationList 2462710 2462776 - VariableDeclaration 2462733 2462776 - Identifier 2462733 2462743 - CallExpression 2462745 2462776 - Identifier 2462745 2462764 - NonNullExpression 2462765 2462775 - PropertyAccessExpression 2462765 2462774 - Identifier 2462765 2462769 - Identifier 2462770 2462774 - IfStatement 2462777 2465858 - Identifier 2462799 2462808 - Block 2462809 2465686 - IfStatement 2462811 2463005 - Identifier 2462837 2462853 - Block 2462854 2463005 - ExpressionStatement 2462856 2462982 - CallExpression 2462856 2462981 - Identifier 2462856 2462887 - Identifier 2462888 2462897 - PropertyAccessExpression 2462898 2462980 - Identifier 2462898 2462910 - Identifier 2462911 2462980 - VariableStatement 2463005 2463685 - VariableDeclarationList 2463005 2463684 - VariableDeclaration 2463387 2463684 - Identifier 2463387 2463414 - BinaryExpression 2463416 2463684 - PrefixUnaryExpression 2463416 2463441 - Identifier 2463418 2463441 - AmpersandAmpersandToken 2463441 2463444 - ParenthesizedExpression 2463444 2463684 - BinaryExpression 2463471 2463683 - CallExpression 2463471 2463558 - Identifier 2463471 2463475 - PropertyAccessExpression 2463476 2463495 - PropertyAccessExpression 2463476 2463487 - Identifier 2463476 2463480 - Identifier 2463481 2463487 - Identifier 2463488 2463495 - Identifier 2463496 2463557 - BarBarToken 2463558 2463561 - CallExpression 2463561 2463683 - Identifier 2463561 2463595 - PropertyAccessExpression 2463596 2463611 - Identifier 2463596 2463600 - Identifier 2463601 2463611 - ArrowFunction 2463612 2463682 - Parameter 2463612 2463614 - Identifier 2463612 2463614 - EqualsGreaterThanToken 2463614 2463617 - CallExpression 2463617 2463682 - Identifier 2463617 2463638 - Identifier 2463639 2463640 - PropertyAccessExpression 2463641 2463681 - Identifier 2463641 2463655 - Identifier 2463656 2463681 - IfStatement 2463685 2465667 - Identifier 2463713 2463739 - Block 2463740 2465667 - IfStatement 2463742 2465644 - PrefixUnaryExpression 2463956 2464013 - CallExpression 2463957 2464013 - Identifier 2463957 2463990 - Identifier 2463991 2464000 - NonNullExpression 2464001 2464012 - PropertyAccessExpression 2464001 2464011 - Identifier 2464001 2464006 - Identifier 2464007 2464011 - Block 2464014 2464268 - ExpressionStatement 2464016 2464241 - CallExpression 2464016 2464240 - Identifier 2464016 2464051 - Identifier 2464052 2464061 - PropertyAccessExpression 2464062 2464239 - Identifier 2464062 2464074 - Identifier 2464075 2464239 - Block 2464435 2465644 - VariableStatement 2464437 2464523 - VariableDeclarationList 2464437 2464522 - VariableDeclaration 2464470 2464522 - Identifier 2464470 2464489 - UnionType 2464490 2464522 - TypeReference 2464490 2464510 - Identifier 2464490 2464510 - UndefinedKeyword 2464512 2464522 - ForOfStatement 2464523 2465081 - VariableDeclarationList 2464560 2464575 - VariableDeclaration 2464565 2464575 - Identifier 2464565 2464575 - PropertyAccessExpression 2464578 2464600 - NonNullExpression 2464578 2464589 - PropertyAccessExpression 2464578 2464588 - Identifier 2464578 2464583 - Identifier 2464584 2464588 - Identifier 2464590 2464600 - Block 2464601 2465081 - IfStatement 2464603 2464883 - BinaryExpression 2464641 2464732 - CallExpression 2464641 2464673 - Identifier 2464641 2464662 - Identifier 2464663 2464672 - AmpersandAmpersandToken 2464673 2464676 - CallExpression 2464676 2464732 - Identifier 2464676 2464688 - CallExpression 2464689 2464731 - Identifier 2464689 2464709 - PropertyAccessExpression 2464710 2464730 - Identifier 2464710 2464719 - Identifier 2464720 2464730 - Block 2464733 2464883 - ExpressionStatement 2464735 2464804 - BinaryExpression 2464735 2464803 - Identifier 2464735 2464791 - EqualsToken 2464791 2464793 - Identifier 2464793 2464803 - BreakStatement 2464804 2464848 - IfStatement 2464883 2465050 - CallExpression 2464921 2464968 - Identifier 2464921 2464957 - Identifier 2464958 2464967 - Block 2464969 2465050 - BreakStatement 2464971 2465015 - IfStatement 2465081 2465617 - BinaryExpression 2465309 2465341 - Identifier 2465309 2465327 - EqualsEqualsEqualsToken 2465327 2465331 - Identifier 2465331 2465341 - Block 2465342 2465617 - ExpressionStatement 2465344 2465586 - CallExpression 2465344 2465585 - Identifier 2465344 2465383 - Identifier 2465384 2465388 - PropertyAccessExpression 2465389 2465584 - Identifier 2465389 2465401 - Identifier 2465402 2465584 - IfStatement 2465708 2465858 - PrefixUnaryExpression 2465713 2465730 - Identifier 2465714 2465730 - Block 2465731 2465858 - ExpressionStatement 2465733 2465839 - CallExpression 2465733 2465838 - Identifier 2465733 2465760 - Identifier 2465761 2465765 - PropertyAccessExpression 2465766 2465837 - Identifier 2465766 2465778 - Identifier 2465779 2465837 - FunctionDeclaration 2465891 2466154 - Identifier 2465907 2465941 - Parameter 2465942 2465957 - Identifier 2465942 2465951 - TypeReference 2465952 2465957 - Identifier 2465952 2465957 - Parameter 2465958 2465970 - Identifier 2465958 2465963 - TypeReference 2465964 2465970 - Identifier 2465964 2465970 - Block 2465971 2466154 - VariableStatement 2465973 2466056 - VariableDeclarationList 2465973 2466055 - VariableDeclaration 2465988 2466055 - Identifier 2465988 2466004 - CallExpression 2466006 2466055 - Identifier 2466006 2466037 - PropertyAccessExpression 2466038 2466054 - Identifier 2466038 2466047 - Identifier 2466048 2466054 - ReturnStatement 2466056 2466147 - BinaryExpression 2466072 2466146 - CallExpression 2466072 2466111 - Identifier 2466072 2466094 - Identifier 2466095 2466110 - AmpersandAmpersandToken 2466111 2466114 - BinaryExpression 2466114 2466146 - PropertyAccessExpression 2466114 2466137 - Identifier 2466114 2466130 - Identifier 2466131 2466137 - EqualsEqualsEqualsToken 2466137 2466141 - Identifier 2466141 2466146 - FunctionDeclaration 2466154 2466539 - Identifier 2466170 2466207 - Parameter 2466208 2466218 - Identifier 2466208 2466212 - TypeReference 2466213 2466218 - Identifier 2466213 2466218 - BooleanKeyword 2466220 2466228 - Block 2466228 2466539 - IfStatement 2466230 2466361 - BinaryExpression 2466244 2466321 - BinaryExpression 2466244 2466281 - PropertyAccessExpression 2466244 2466253 - Identifier 2466244 2466248 - Identifier 2466249 2466253 - EqualsEqualsEqualsToken 2466253 2466257 - PropertyAccessExpression 2466257 2466281 - Identifier 2466257 2466268 - Identifier 2466269 2466281 - BarBarToken 2466281 2466284 - BinaryExpression 2466284 2466321 - PropertyAccessExpression 2466284 2466294 - Identifier 2466284 2466289 - Identifier 2466290 2466294 - EqualsEqualsEqualsToken 2466294 2466298 - PropertyAccessExpression 2466298 2466321 - Identifier 2466298 2466309 - Identifier 2466310 2466321 - Block 2466322 2466361 - ReturnStatement 2466324 2466350 - TrueKeyword 2466344 2466349 - IfStatement 2466361 2466454 - CallExpression 2466377 2466413 - Identifier 2466377 2466407 - Identifier 2466408 2466412 - Block 2466414 2466454 - ReturnStatement 2466416 2466443 - FalseKeyword 2466436 2466442 - ReturnStatement 2466454 2466532 - PrefixUnaryExpression 2466472 2466531 - PrefixUnaryExpression 2466474 2466531 - CallExpression 2466475 2466531 - Identifier 2466475 2466487 - Identifier 2466488 2466492 - Identifier 2466493 2466530 - FunctionDeclaration 2466539 2470077 - Identifier 2466555 2466580 - Parameter 2466581 2466606 - Identifier 2466581 2466585 - TypeReference 2466586 2466606 - Identifier 2466586 2466606 - Block 2466607 2470077 - IfStatement 2466609 2466812 - BinaryExpression 2466623 2466713 - BinaryExpression 2466623 2466685 - CallExpression 2466623 2466646 - Identifier 2466623 2466635 - PropertyAccessExpression 2466636 2466645 - Identifier 2466636 2466640 - Identifier 2466641 2466645 - AmpersandAmpersandToken 2466646 2466649 - BinaryExpression 2466649 2466685 - CallExpression 2466649 2466667 - Identifier 2466649 2466656 - PropertyAccessExpression 2466657 2466666 - Identifier 2466657 2466661 - Identifier 2466662 2466666 - EqualsEqualsEqualsToken 2466667 2466671 - StringLiteral 2466671 2466685 - AmpersandAmpersandToken 2466685 2466688 - CallExpression 2466688 2466713 - Identifier 2466688 2466700 - PropertyAccessExpression 2466701 2466712 - Identifier 2466701 2466705 - Identifier 2466706 2466712 - Block 2466714 2466812 - ExpressionStatement 2466716 2466801 - CallExpression 2466716 2466800 - Identifier 2466716 2466735 - PropertyAccessExpression 2466736 2466745 - Identifier 2466736 2466740 - Identifier 2466741 2466745 - PropertyAccessExpression 2466746 2466799 - Identifier 2466746 2466758 - Identifier 2466759 2466799 - ExpressionStatement 2466812 2466877 - CallExpression 2466812 2466876 - Identifier 2466812 2466839 - Identifier 2466840 2466875 - ExpressionStatement 2466877 2466917 - CallExpression 2466877 2466916 - Identifier 2466877 2466905 - PropertyAccessExpression 2466906 2466915 - Identifier 2466906 2466910 - Identifier 2466911 2466915 - ExpressionStatement 2466917 2466971 - CallExpression 2466917 2466970 - Identifier 2466917 2466964 - Identifier 2466965 2466969 - FunctionDeclaration 2466971 2470070 - Identifier 2466991 2467027 - Block 2467029 2470070 - IfStatement 2467031 2467211 - BinaryExpression 2467092 2467165 - PrefixUnaryExpression 2467092 2467134 - CallExpression 2467093 2467134 - Identifier 2467093 2467128 - Identifier 2467129 2467133 - AmpersandAmpersandToken 2467134 2467137 - PrefixUnaryExpression 2467137 2467165 - CallExpression 2467139 2467165 - Identifier 2467139 2467159 - Identifier 2467160 2467164 - ExpressionStatement 2467166 2467211 - CallExpression 2467166 2467210 - Identifier 2467166 2467199 - PropertyAccessExpression 2467200 2467209 - Identifier 2467200 2467204 - Identifier 2467205 2467209 - ExpressionStatement 2467211 2467249 - CallExpression 2467211 2467248 - Identifier 2467211 2467242 - Identifier 2467243 2467247 - ExpressionStatement 2467249 2467295 - CallExpression 2467249 2467294 - Identifier 2467249 2467288 - Identifier 2467289 2467293 - IfStatement 2467295 2467704 - BinaryExpression 2467313 2467349 - PropertyAccessExpression 2467313 2467322 - Identifier 2467313 2467317 - Identifier 2467318 2467322 - EqualsEqualsEqualsToken 2467322 2467326 - PropertyAccessExpression 2467326 2467349 - Identifier 2467326 2467337 - Identifier 2467338 2467349 - Block 2467350 2467704 - IfStatement 2467352 2467689 - BinaryExpression 2467374 2467481 - BinaryExpression 2467374 2467435 - PrefixUnaryExpression 2467374 2467407 - ParenthesizedExpression 2467375 2467407 - BinaryExpression 2467376 2467406 - PropertyAccessExpression 2467376 2467386 - Identifier 2467376 2467380 - Identifier 2467381 2467386 - AmpersandToken 2467386 2467388 - PropertyAccessExpression 2467388 2467406 - Identifier 2467388 2467398 - Identifier 2467399 2467406 - AmpersandAmpersandToken 2467407 2467410 - CallExpression 2467410 2467435 - Identifier 2467410 2467424 - PropertyAccessExpression 2467425 2467434 - Identifier 2467425 2467429 - Identifier 2467430 2467434 - AmpersandAmpersandToken 2467435 2467438 - ParenthesizedExpression 2467438 2467481 - BinaryExpression 2467440 2467480 - PropertyAccessExpression 2467440 2467450 - Identifier 2467440 2467444 - Identifier 2467445 2467450 - AmpersandToken 2467450 2467452 - PropertyAccessExpression 2467452 2467480 - Identifier 2467452 2467462 - Identifier 2467463 2467480 - Block 2467482 2467689 - IfStatement 2467484 2467670 - PrefixUnaryExpression 2467510 2467553 - ParenthesizedExpression 2467511 2467553 - BinaryExpression 2467512 2467552 - PropertyAccessExpression 2467512 2467522 - Identifier 2467512 2467516 - Identifier 2467517 2467522 - AmpersandToken 2467522 2467524 - PropertyAccessExpression 2467524 2467552 - Identifier 2467524 2467534 - Identifier 2467535 2467552 - Block 2467554 2467670 - ExpressionStatement 2467556 2467647 - CallExpression 2467556 2467646 - Identifier 2467556 2467587 - PropertyAccessExpression 2467588 2467597 - Identifier 2467588 2467592 - Identifier 2467593 2467597 - PropertyAccessExpression 2467598 2467645 - Identifier 2467598 2467610 - Identifier 2467611 2467645 - IfStatement 2467704 2468080 - BinaryExpression 2467957 2468007 - PropertyAccessExpression 2467957 2467971 - PropertyAccessExpression 2467957 2467966 - Identifier 2467957 2467961 - Identifier 2467962 2467966 - Identifier 2467967 2467971 - EqualsEqualsEqualsToken 2467971 2467975 - PropertyAccessExpression 2467975 2468007 - Identifier 2467975 2467986 - Identifier 2467987 2468007 - Block 2468008 2468080 - ExpressionStatement 2468010 2468065 - CallExpression 2468010 2468064 - Identifier 2468010 2468053 - PropertyAccessExpression 2468054 2468063 - Identifier 2468054 2468058 - Identifier 2468059 2468063 - IfStatement 2468080 2469821 - CallExpression 2468100 2468121 - Identifier 2468100 2468115 - Identifier 2468116 2468120 - Block 2468122 2469821 - VariableStatement 2468124 2468338 - VariableDeclarationList 2468124 2468337 - VariableDeclaration 2468299 2468337 - Identifier 2468299 2468306 - CallExpression 2468308 2468337 - Identifier 2468308 2468331 - Identifier 2468332 2468336 - VariableStatement 2468338 2468445 - VariableDeclarationList 2468338 2468444 - VariableDeclaration 2468361 2468444 - Identifier 2468361 2468368 - CallExpression 2468370 2468444 - Identifier 2468370 2468391 - TypeReference 2468392 2468411 - Identifier 2468392 2468411 - Identifier 2468413 2468419 - PropertyAccessExpression 2468420 2468443 - Identifier 2468420 2468431 - Identifier 2468432 2468443 - VariableStatement 2468445 2468552 - VariableDeclarationList 2468445 2468551 - VariableDeclaration 2468468 2468551 - Identifier 2468468 2468475 - CallExpression 2468477 2468551 - Identifier 2468477 2468498 - TypeReference 2468499 2468518 - Identifier 2468499 2468518 - Identifier 2468520 2468526 - PropertyAccessExpression 2468527 2468550 - Identifier 2468527 2468538 - Identifier 2468539 2468550 - IfStatement 2468552 2469806 - BinaryExpression 2468574 2468651 - BinaryExpression 2468574 2468590 - Identifier 2468574 2468580 - AmpersandAmpersandToken 2468580 2468583 - Identifier 2468583 2468590 - AmpersandAmpersandToken 2468590 2468593 - PrefixUnaryExpression 2468593 2468651 - ParenthesizedExpression 2468595 2468651 - BinaryExpression 2468596 2468650 - CallExpression 2468596 2468621 - Identifier 2468596 2468613 - Identifier 2468614 2468620 - AmpersandToken 2468621 2468623 - PropertyAccessExpression 2468623 2468650 - Identifier 2468623 2468638 - Identifier 2468639 2468650 - Block 2468652 2469806 - ExpressionStatement 2468654 2468733 - BinaryExpression 2468654 2468732 - PropertyAccessExpression 2468654 2468702 - CallExpression 2468654 2468696 - Identifier 2468654 2468688 - Identifier 2468689 2468695 - Identifier 2468697 2468702 - BarEqualsToken 2468702 2468705 - PropertyAccessExpression 2468705 2468732 - Identifier 2468705 2468720 - Identifier 2468721 2468732 - VariableStatement 2468733 2468809 - VariableDeclarationList 2468733 2468808 - VariableDeclaration 2468760 2468808 - Identifier 2468760 2468772 - CallExpression 2468774 2468808 - Identifier 2468774 2468800 - Identifier 2468801 2468807 - VariableStatement 2468809 2468885 - VariableDeclarationList 2468809 2468884 - VariableDeclaration 2468836 2468884 - Identifier 2468836 2468848 - CallExpression 2468850 2468884 - Identifier 2468850 2468876 - Identifier 2468877 2468883 - IfStatement 2468885 2469230 - BinaryExpression 2468911 2468992 - ParenthesizedExpression 2468911 2468949 - BinaryExpression 2468912 2468948 - Identifier 2468912 2468923 - AmpersandToken 2468923 2468925 - PropertyAccessExpression 2468925 2468948 - Identifier 2468925 2468939 - Identifier 2468940 2468948 - ExclamationEqualsEqualsToken 2468949 2468953 - ParenthesizedExpression 2468953 2468992 - BinaryExpression 2468955 2468991 - Identifier 2468955 2468966 - AmpersandToken 2468966 2468968 - PropertyAccessExpression 2468968 2468991 - Identifier 2468968 2468982 - Identifier 2468983 2468991 - Block 2468993 2469230 - ExpressionStatement 2468995 2469101 - CallExpression 2468995 2469100 - Identifier 2468995 2469026 - PropertyAccessExpression 2469027 2469038 - Identifier 2469027 2469033 - Identifier 2469034 2469038 - PropertyAccessExpression 2469039 2469099 - Identifier 2469039 2469051 - Identifier 2469052 2469099 - ExpressionStatement 2469101 2469207 - CallExpression 2469101 2469206 - Identifier 2469101 2469132 - PropertyAccessExpression 2469133 2469144 - Identifier 2469133 2469139 - Identifier 2469140 2469144 - PropertyAccessExpression 2469145 2469205 - Identifier 2469145 2469157 - Identifier 2469158 2469205 - IfStatement 2469230 2469787 - BinaryExpression 2469256 2469503 - ParenthesizedExpression 2469256 2469393 - BinaryExpression 2469283 2469392 - ParenthesizedExpression 2469283 2469322 - BinaryExpression 2469284 2469321 - Identifier 2469284 2469295 - AmpersandToken 2469295 2469297 - PropertyAccessExpression 2469297 2469321 - Identifier 2469297 2469311 - Identifier 2469312 2469321 - AmpersandAmpersandToken 2469322 2469325 - PrefixUnaryExpression 2469325 2469392 - ParenthesizedExpression 2469327 2469392 - BinaryExpression 2469328 2469391 - Identifier 2469328 2469339 - AmpersandToken 2469339 2469341 - ParenthesizedExpression 2469341 2469391 - BinaryExpression 2469343 2469390 - PropertyAccessExpression 2469343 2469366 - Identifier 2469343 2469356 - Identifier 2469357 2469366 - BarToken 2469366 2469368 - PropertyAccessExpression 2469368 2469390 - Identifier 2469368 2469382 - Identifier 2469383 2469390 - BarBarToken 2469393 2469396 - ParenthesizedExpression 2469396 2469503 - BinaryExpression 2469423 2469502 - ParenthesizedExpression 2469423 2469460 - BinaryExpression 2469424 2469459 - Identifier 2469424 2469435 - AmpersandToken 2469435 2469437 - PropertyAccessExpression 2469437 2469459 - Identifier 2469437 2469451 - Identifier 2469452 2469459 - AmpersandAmpersandToken 2469460 2469463 - PrefixUnaryExpression 2469463 2469502 - ParenthesizedExpression 2469465 2469502 - BinaryExpression 2469466 2469501 - Identifier 2469466 2469477 - AmpersandToken 2469477 2469479 - PropertyAccessExpression 2469479 2469501 - Identifier 2469479 2469493 - Identifier 2469494 2469501 - Block 2469526 2469787 - ExpressionStatement 2469528 2469646 - CallExpression 2469528 2469645 - Identifier 2469528 2469559 - PropertyAccessExpression 2469560 2469571 - Identifier 2469560 2469566 - Identifier 2469567 2469571 - PropertyAccessExpression 2469572 2469644 - Identifier 2469572 2469584 - Identifier 2469585 2469644 - ExpressionStatement 2469646 2469764 - CallExpression 2469646 2469763 - Identifier 2469646 2469677 - PropertyAccessExpression 2469678 2469689 - Identifier 2469678 2469684 - Identifier 2469685 2469689 - PropertyAccessExpression 2469690 2469762 - Identifier 2469690 2469702 - Identifier 2469703 2469762 - VariableStatement 2469821 2469903 - VariableDeclarationList 2469821 2469902 - VariableDeclaration 2469840 2469902 - Identifier 2469840 2469851 - CallExpression 2469853 2469902 - Identifier 2469853 2469872 - CallExpression 2469873 2469901 - Identifier 2469873 2469895 - Identifier 2469896 2469900 - IfStatement 2469903 2470059 - BinaryExpression 2469921 2469957 - PropertyAccessExpression 2469921 2469930 - Identifier 2469921 2469925 - Identifier 2469926 2469930 - EqualsEqualsEqualsToken 2469930 2469934 - PropertyAccessExpression 2469934 2469957 - Identifier 2469934 2469945 - Identifier 2469946 2469957 - Block 2469958 2470059 - ExpressionStatement 2469960 2470044 - CallExpression 2469960 2470043 - Identifier 2469960 2470025 - Identifier 2470026 2470030 - Identifier 2470031 2470042 - FunctionDeclaration 2470077 2470170 - Identifier 2470093 2470117 - Parameter 2470118 2470128 - Identifier 2470118 2470122 - TypeReference 2470123 2470128 - Identifier 2470123 2470128 - Block 2470129 2470170 - ExpressionStatement 2470131 2470163 - CallExpression 2470131 2470162 - Identifier 2470131 2470156 - Identifier 2470157 2470161 - FunctionDeclaration 2470170 2470568 - Identifier 2470186 2470218 - Parameter 2470219 2470272 - Identifier 2470219 2470223 - UnionType 2470224 2470272 - TypeReference 2470224 2470242 - Identifier 2470224 2470242 - TypeReference 2470244 2470272 - Identifier 2470244 2470272 - Parameter 2470273 2470314 - Identifier 2470273 2470288 - TypeOperator 2470289 2470314 - ArrayType 2470298 2470314 - TypeReference 2470298 2470312 - Identifier 2470298 2470312 - Parameter 2470315 2470329 - Identifier 2470315 2470321 - NumberKeyword 2470322 2470329 - TypeReference 2470331 2470336 - Identifier 2470331 2470336 - Block 2470336 2470568 - IfStatement 2470338 2470489 - BinaryExpression 2470352 2470407 - PropertyAccessExpression 2470352 2470370 - Identifier 2470352 2470356 - Identifier 2470357 2470370 - AmpersandAmpersandToken 2470370 2470373 - BinaryExpression 2470373 2470407 - Identifier 2470373 2470379 - LessThanToken 2470379 2470381 - PropertyAccessExpression 2470381 2470407 - PropertyAccessExpression 2470381 2470400 - Identifier 2470381 2470386 - Identifier 2470387 2470400 - Identifier 2470401 2470407 - Block 2470408 2470489 - ReturnStatement 2470410 2470478 - CallExpression 2470430 2470477 - Identifier 2470430 2470450 - ElementAccessExpression 2470451 2470476 - PropertyAccessExpression 2470451 2470469 - Identifier 2470451 2470455 - Identifier 2470456 2470469 - Identifier 2470470 2470475 - ReturnStatement 2470489 2470561 - ElementAccessExpression 2470505 2470560 - CallExpression 2470505 2470553 - Identifier 2470505 2470531 - Identifier 2470532 2470536 - Identifier 2470537 2470552 - Identifier 2470554 2470559 - FunctionDeclaration 2470568 2470912 - Identifier 2470584 2470610 - Parameter 2470611 2470688 - Identifier 2470611 2470615 - UnionType 2470616 2470688 - TypeReference 2470616 2470634 - Identifier 2470616 2470634 - TypeReference 2470636 2470664 - Identifier 2470636 2470664 - TypeReference 2470666 2470688 - Identifier 2470666 2470688 - Parameter 2470689 2470730 - Identifier 2470689 2470704 - TypeOperator 2470705 2470730 - ArrayType 2470714 2470730 - TypeReference 2470714 2470728 - Identifier 2470714 2470728 - ArrayType 2470732 2470739 - TypeReference 2470732 2470737 - Identifier 2470732 2470737 - Block 2470739 2470912 - ReturnStatement 2470741 2470905 - CallExpression 2470757 2470904 - Identifier 2470757 2470782 - CallExpression 2470783 2470828 - Identifier 2470783 2470786 - NonNullExpression 2470787 2470806 - PropertyAccessExpression 2470787 2470805 - Identifier 2470787 2470791 - Identifier 2470792 2470805 - Identifier 2470807 2470827 - Identifier 2470829 2470844 - CallExpression 2470845 2470885 - Identifier 2470845 2470869 - Identifier 2470870 2470884 - CallExpression 2470886 2470903 - Identifier 2470886 2470897 - Identifier 2470898 2470902 - FunctionDeclaration 2470912 2471957 - Identifier 2470928 2470957 - Parameter 2470958 2471035 - Identifier 2470958 2470962 - UnionType 2470963 2471035 - TypeReference 2470963 2470981 - Identifier 2470963 2470981 - TypeReference 2470983 2471011 - Identifier 2470983 2471011 - TypeReference 2471013 2471035 - Identifier 2471013 2471035 - Parameter 2471036 2471077 - Identifier 2471036 2471051 - TypeOperator 2471052 2471077 - ArrayType 2471061 2471077 - TypeReference 2471061 2471075 - Identifier 2471061 2471075 - BooleanKeyword 2471079 2471087 - Block 2471087 2471957 - VariableStatement 2471089 2471137 - VariableDeclarationList 2471089 2471136 - VariableDeclaration 2471102 2471136 - Identifier 2471102 2471116 - UnionType 2471117 2471136 - ArrayType 2471117 2471124 - TypeReference 2471117 2471122 - Identifier 2471117 2471122 - UndefinedKeyword 2471126 2471136 - VariableStatement 2471137 2471182 - VariableDeclarationList 2471137 2471181 - VariableDeclaration 2471150 2471181 - Identifier 2471150 2471157 - UnionType 2471158 2471181 - TypeReference 2471158 2471169 - Identifier 2471158 2471169 - UndefinedKeyword 2471171 2471181 - VariableStatement 2471182 2471210 - VariableDeclarationList 2471182 2471209 - VariableDeclaration 2471195 2471209 - Identifier 2471195 2471202 - TrueKeyword 2471204 2471209 - ForStatement 2471210 2471926 - VariableDeclarationList 2471225 2471234 - VariableDeclaration 2471228 2471234 - Identifier 2471228 2471230 - NumericLiteral 2471232 2471234 - BinaryExpression 2471235 2471261 - Identifier 2471235 2471237 - LessThanToken 2471237 2471239 - PropertyAccessExpression 2471239 2471261 - Identifier 2471239 2471254 - Identifier 2471255 2471261 - PostfixUnaryExpression 2471262 2471266 - Identifier 2471262 2471264 - Block 2471267 2471926 - VariableStatement 2471269 2471350 - VariableDeclarationList 2471269 2471349 - VariableDeclaration 2471288 2471349 - Identifier 2471288 2471299 - CallExpression 2471301 2471349 - Identifier 2471301 2471330 - ElementAccessExpression 2471331 2471348 - Identifier 2471331 2471345 - Identifier 2471346 2471347 - IfStatement 2471350 2471915 - Identifier 2471368 2471378 - Block 2471379 2471915 - IfStatement 2471381 2471604 - PrefixUnaryExpression 2471403 2471417 - Identifier 2471404 2471417 - Block 2471418 2471604 - ExpressionStatement 2471420 2471506 - BinaryExpression 2471420 2471505 - Identifier 2471420 2471455 - EqualsToken 2471455 2471457 - CallExpression 2471457 2471505 - Identifier 2471457 2471483 - Identifier 2471484 2471488 - Identifier 2471489 2471504 - ExpressionStatement 2471506 2471585 - BinaryExpression 2471506 2471584 - Identifier 2471506 2471534 - EqualsToken 2471534 2471536 - CallExpression 2471536 2471584 - Identifier 2471536 2471553 - Identifier 2471554 2471568 - Identifier 2471569 2471583 - ExpressionStatement 2471604 2471900 - BinaryExpression 2471604 2471899 - Identifier 2471604 2471628 - EqualsToken 2471628 2471630 - BinaryExpression 2471630 2471899 - Identifier 2471630 2471637 - AmpersandAmpersandToken 2471637 2471640 - CallExpression 2471640 2471899 - Identifier 2471640 2471662 - ElementAccessExpression 2471663 2471701 - Identifier 2471663 2471698 - Identifier 2471699 2471700 - CallExpression 2471702 2471759 - Identifier 2471702 2471739 - Identifier 2471740 2471750 - Identifier 2471751 2471758 - ElementAccessExpression 2471760 2471804 - NonNullExpression 2471760 2471801 - PropertyAccessExpression 2471760 2471800 - Identifier 2471760 2471786 - Identifier 2471787 2471800 - Identifier 2471802 2471803 - PropertyAccessExpression 2471805 2471879 - Identifier 2471805 2471838 - Identifier 2471839 2471879 - ReturnStatement 2471926 2471950 - Identifier 2471942 2471949 - FunctionDeclaration 2471957 2472348 - Identifier 2471973 2472007 - Parameter 2472008 2472018 - Identifier 2472008 2472012 - TypeReference 2472013 2472018 - Identifier 2472013 2472018 - Parameter 2472019 2472034 - Identifier 2472019 2472026 - TypeReference 2472027 2472034 - Identifier 2472027 2472034 - Block 2472035 2472348 - IfStatement 2472037 2472314 - PrefixUnaryExpression 2472051 2472069 - CallExpression 2472052 2472069 - Identifier 2472052 2472063 - Identifier 2472064 2472068 - Block 2472070 2472314 - ReturnStatement 2472072 2472303 - BinaryExpression 2472092 2472302 - BinaryExpression 2472092 2472170 - BinaryExpression 2472092 2472129 - PropertyAccessExpression 2472092 2472105 - Identifier 2472092 2472099 - Identifier 2472100 2472105 - AmpersandToken 2472105 2472107 - PropertyAccessExpression 2472107 2472129 - Identifier 2472107 2472119 - Identifier 2472120 2472129 - AmpersandAmpersandToken 2472129 2472132 - PropertyAccessExpression 2472132 2472170 - CallExpression 2472132 2472155 - Identifier 2472132 2472147 - Identifier 2472148 2472154 - Identifier 2472156 2472170 - BarBarToken 2472170 2472173 - ParenthesizedExpression 2472173 2472302 - ConditionalExpression 2472192 2472301 - BinaryExpression 2472192 2472236 - CallExpression 2472192 2472212 - Identifier 2472192 2472206 - Identifier 2472207 2472211 - AmpersandToken 2472212 2472214 - PropertyAccessExpression 2472214 2472236 - Identifier 2472214 2472226 - Identifier 2472227 2472236 - QuestionToken 2472236 2472238 - PropertyAccessExpression 2472238 2472289 - PropertyAccessExpression 2472238 2472269 - ParenthesizedExpression 2472238 2472262 - AsExpression 2472240 2472261 - Identifier 2472240 2472244 - TypeReference 2472247 2472261 - Identifier 2472247 2472261 - Identifier 2472263 2472269 - Identifier 2472270 2472289 - ColonToken 2472289 2472291 - Identifier 2472291 2472301 - ReturnStatement 2472314 2472341 - Identifier 2472330 2472340 - FunctionDeclaration 2472348 2472787 - Identifier 2472364 2472406 - Parameter 2472407 2472477 - Identifier 2472407 2472411 - UnionType 2472412 2472477 - TypeReference 2472412 2472430 - Identifier 2472412 2472430 - TypeReference 2472432 2472460 - Identifier 2472432 2472460 - TypeReference 2472462 2472477 - Identifier 2472462 2472477 - Block 2472478 2472787 - VariableStatement 2472480 2472529 - VariableDeclarationList 2472480 2472528 - VariableDeclaration 2472495 2472528 - Identifier 2472495 2472500 - CallExpression 2472502 2472528 - Identifier 2472502 2472522 - Identifier 2472523 2472527 - IfStatement 2472529 2472753 - PrefixUnaryExpression 2472543 2472561 - CallExpression 2472544 2472561 - Identifier 2472544 2472555 - Identifier 2472556 2472560 - Block 2472562 2472753 - VariableStatement 2472564 2472627 - VariableDeclarationList 2472564 2472626 - VariableDeclaration 2472583 2472626 - Identifier 2472583 2472590 - PropertyAccessExpression 2472592 2472626 - CallExpression 2472592 2472611 - Identifier 2472592 2472605 - Identifier 2472606 2472610 - Identifier 2472612 2472626 - IfStatement 2472627 2472742 - Identifier 2472645 2472651 - Block 2472652 2472742 - ReturnStatement 2472654 2472727 - CallExpression 2472678 2472726 - Identifier 2472678 2472712 - Identifier 2472713 2472717 - Identifier 2472718 2472725 - ReturnStatement 2472753 2472780 - Identifier 2472769 2472779 - FunctionDeclaration 2472787 2473674 - Identifier 2472803 2472826 - Parameter 2472827 2472880 - Identifier 2472827 2472831 - UnionType 2472832 2472880 - TypeReference 2472832 2472850 - Identifier 2472832 2472850 - TypeReference 2472852 2472880 - Identifier 2472852 2472880 - Block 2472881 2473674 - ExpressionStatement 2472883 2472945 - CallExpression 2472883 2472944 - Identifier 2472883 2472918 - Identifier 2472919 2472923 - PropertyAccessExpression 2472924 2472943 - Identifier 2472924 2472929 - Identifier 2472930 2472943 - IfStatement 2472945 2473566 - BinaryExpression 2472959 2473108 - BinaryExpression 2472959 2473060 - BinaryExpression 2472959 2473038 - BinaryExpression 2472959 2473018 - BinaryExpression 2472959 2472997 - PropertyAccessExpression 2472959 2472968 - Identifier 2472959 2472963 - Identifier 2472964 2472968 - EqualsEqualsEqualsToken 2472968 2472972 - PropertyAccessExpression 2472972 2472997 - Identifier 2472972 2472983 - Identifier 2472984 2472997 - AmpersandAmpersandToken 2472997 2473000 - PrefixUnaryExpression 2473000 2473018 - CallExpression 2473002 2473018 - Identifier 2473002 2473012 - Identifier 2473013 2473017 - AmpersandAmpersandToken 2473018 2473021 - PrefixUnaryExpression 2473021 2473038 - CallExpression 2473023 2473038 - Identifier 2473023 2473032 - Identifier 2473033 2473037 - AmpersandAmpersandToken 2473038 2473041 - PropertyAccessExpression 2473041 2473060 - Identifier 2473041 2473046 - Identifier 2473047 2473060 - AmpersandAmpersandToken 2473060 2473063 - BinaryExpression 2473063 2473108 - PropertyAccessExpression 2473063 2473081 - PropertyAccessExpression 2473063 2473077 - Identifier 2473063 2473068 - Identifier 2473069 2473077 - Identifier 2473078 2473081 - ExclamationEqualsEqualsToken 2473081 2473085 - PropertyAccessExpression 2473085 2473108 - PropertyAccessExpression 2473085 2473104 - Identifier 2473085 2473090 - Identifier 2473091 2473104 - Identifier 2473105 2473108 - Block 2473109 2473566 - VariableStatement 2473111 2473280 - VariableDeclarationList 2473111 2473279 - VariableDeclaration 2473240 2473279 - Identifier 2473240 2473251 - CallExpression 2473253 2473279 - Identifier 2473253 2473273 - Identifier 2473274 2473278 - IfStatement 2473280 2473555 - BinaryExpression 2473298 2473372 - CallExpression 2473298 2473348 - Identifier 2473298 2473317 - Identifier 2473318 2473328 - PropertyAccessExpression 2473329 2473347 - PropertyAccessExpression 2473329 2473343 - Identifier 2473329 2473334 - Identifier 2473335 2473343 - Identifier 2473344 2473347 - EqualsEqualsEqualsToken 2473348 2473352 - PropertyAccessExpression 2473352 2473372 - Identifier 2473352 2473363 - Identifier 2473364 2473372 - Block 2473373 2473555 - ExpressionStatement 2473375 2473540 - CallExpression 2473375 2473539 - Identifier 2473375 2473410 - Identifier 2473411 2473415 - CallExpression 2473416 2473463 - Identifier 2473416 2473427 - PropertyAccessExpression 2473428 2473443 - Identifier 2473428 2473438 - Identifier 2473439 2473443 - PropertyAccessExpression 2473444 2473462 - PropertyAccessExpression 2473444 2473458 - Identifier 2473444 2473449 - Identifier 2473450 2473458 - Identifier 2473459 2473462 - NumericLiteral 2473464 2473466 - PropertyAccessExpression 2473467 2473538 - Identifier 2473467 2473479 - Identifier 2473480 2473538 - ExpressionStatement 2473566 2473624 - CallExpression 2473566 2473623 - Identifier 2473566 2473583 - PropertyAccessExpression 2473584 2473602 - Identifier 2473584 2473588 - Identifier 2473589 2473602 - Identifier 2473603 2473622 - ExpressionStatement 2473624 2473667 - CallExpression 2473624 2473666 - Identifier 2473624 2473660 - Identifier 2473661 2473665 - FunctionDeclaration 2473674 2474718 - Identifier 2473690 2473717 - Parameter 2473718 2473788 - Identifier 2473718 2473722 - UnionType 2473723 2473788 - TypeReference 2473723 2473741 - Identifier 2473723 2473741 - TypeReference 2473743 2473771 - Identifier 2473743 2473771 - TypeReference 2473773 2473788 - Identifier 2473773 2473788 - Block 2473789 2474718 - VariableStatement 2473791 2473840 - VariableDeclarationList 2473791 2473839 - VariableDeclaration 2473806 2473839 - Identifier 2473806 2473811 - CallExpression 2473813 2473839 - Identifier 2473813 2473833 - Identifier 2473834 2473838 - IfStatement 2473840 2474711 - PrefixUnaryExpression 2473854 2473872 - CallExpression 2473855 2473872 - Identifier 2473855 2473866 - Identifier 2473867 2473871 - Block 2473873 2474711 - IfStatement 2473875 2474229 - PropertyAccessExpression 2473893 2473911 - Identifier 2473893 2473897 - Identifier 2473898 2473911 - Block 2473912 2474229 - ExpressionStatement 2473914 2474214 - CallExpression 2473914 2474213 - Identifier 2473914 2473949 - ArrowFunction 2473950 2474212 - EqualsGreaterThanToken 2473952 2473955 - Block 2473955 2474212 - VariableStatement 2473957 2474050 - VariableDeclarationList 2473957 2474049 - VariableDeclaration 2473984 2474049 - Identifier 2473984 2473999 - CallExpression 2474001 2474049 - Identifier 2474001 2474043 - Identifier 2474044 2474048 - IfStatement 2474050 2474193 - Identifier 2474076 2474090 - Block 2474091 2474193 - ExpressionStatement 2474093 2474170 - CallExpression 2474093 2474169 - Identifier 2474093 2474147 - Identifier 2474148 2474152 - Identifier 2474153 2474168 - VariableStatement 2474229 2474292 - VariableDeclarationList 2474229 2474291 - VariableDeclaration 2474248 2474291 - Identifier 2474248 2474255 - PropertyAccessExpression 2474257 2474291 - CallExpression 2474257 2474276 - Identifier 2474257 2474270 - Identifier 2474271 2474275 - Identifier 2474277 2474291 - IfStatement 2474292 2474700 - Identifier 2474310 2474316 - Block 2474317 2474700 - IfStatement 2474319 2474685 - CallExpression 2474341 2474431 - Identifier 2474341 2474345 - PropertyAccessExpression 2474346 2474365 - Identifier 2474346 2474352 - Identifier 2474353 2474365 - ArrowFunction 2474366 2474430 - Parameter 2474366 2474368 - Identifier 2474366 2474368 - EqualsGreaterThanToken 2474368 2474371 - BinaryExpression 2474371 2474430 - CallExpression 2474371 2474392 - Identifier 2474371 2474389 - Identifier 2474390 2474391 - AmpersandAmpersandToken 2474392 2474395 - PrefixUnaryExpression 2474395 2474430 - PrefixUnaryExpression 2474397 2474430 - ParenthesizedExpression 2474398 2474430 - BinaryExpression 2474399 2474429 - PropertyAccessExpression 2474399 2474406 - Identifier 2474399 2474400 - Identifier 2474401 2474406 - AmpersandToken 2474406 2474408 - PropertyAccessExpression 2474408 2474429 - Identifier 2474408 2474418 - Identifier 2474419 2474429 - Block 2474432 2474685 - ExpressionStatement 2474434 2474666 - CallExpression 2474434 2474665 - Identifier 2474434 2474479 - CallExpression 2474480 2474539 - Identifier 2474480 2474533 - Identifier 2474534 2474538 - NonNullExpression 2474540 2474586 - PropertyAccessExpression 2474540 2474585 - Identifier 2474540 2474572 - Identifier 2474573 2474585 - AsExpression 2474587 2474641 - PropertyAccessExpression 2474587 2474631 - Identifier 2474587 2474619 - Identifier 2474620 2474631 - StringKeyword 2474634 2474641 - FunctionDeclaration 2474718 2475351 - Identifier 2474734 2474760 - Parameter 2474761 2474775 - Identifier 2474761 2474765 - TypeReference 2474766 2474775 - Identifier 2474766 2474775 - UnionType 2474777 2474794 - TypeReference 2474777 2474782 - Identifier 2474777 2474782 - UndefinedKeyword 2474784 2474794 - Block 2474794 2475351 - VariableStatement 2474796 2474874 - VariableDeclarationList 2474796 2474873 - VariableDeclaration 2474811 2474873 - Identifier 2474811 2474829 - CallExpression 2474831 2474873 - Identifier 2474831 2474839 - PropertyAccessExpression 2474840 2474851 - Identifier 2474840 2474844 - Identifier 2474845 2474851 - Identifier 2474852 2474872 - IfStatement 2474874 2474925 - PrefixUnaryExpression 2474888 2474906 - Identifier 2474889 2474906 - ReturnStatement 2474907 2474925 - Identifier 2474914 2474924 - VariableStatement 2474925 2475019 - VariableDeclarationList 2474925 2475018 - VariableDeclaration 2474940 2475018 - Identifier 2474940 2474955 - CallExpression 2474957 2475018 - Identifier 2474957 2474999 - Identifier 2475000 2475017 - IfStatement 2475019 2475067 - PrefixUnaryExpression 2475033 2475048 - Identifier 2475034 2475048 - ReturnStatement 2475049 2475067 - Identifier 2475056 2475066 - VariableStatement 2475067 2475189 - VariableDeclarationList 2475067 2475188 - VariableDeclaration 2475082 2475188 - Identifier 2475082 2475093 - CallExpression 2475095 2475188 - Identifier 2475095 2475124 - ElementAccessExpression 2475125 2475187 - Identifier 2475125 2475139 - CallExpression 2475140 2475186 - PropertyAccessExpression 2475140 2475180 - NonNullExpression 2475140 2475172 - PropertyAccessExpression 2475140 2475171 - Identifier 2475140 2475157 - Identifier 2475158 2475171 - Identifier 2475173 2475180 - Identifier 2475181 2475185 - ReturnStatement 2475189 2475344 - BinaryExpression 2475205 2475343 - Identifier 2475205 2475216 - AmpersandAmpersandToken 2475216 2475219 - CallExpression 2475219 2475343 - Identifier 2475219 2475235 - Identifier 2475236 2475246 - CallExpression 2475247 2475342 - Identifier 2475247 2475264 - Identifier 2475265 2475279 - CallExpression 2475280 2475341 - Identifier 2475280 2475306 - Identifier 2475307 2475324 - Identifier 2475325 2475340 - FunctionDeclaration 2475351 2475453 - Identifier 2475367 2475382 - Parameter 2475383 2475402 - Identifier 2475383 2475387 - TypeReference 2475388 2475402 - Identifier 2475388 2475402 - Block 2475403 2475453 - ExpressionStatement 2475405 2475446 - CallExpression 2475405 2475445 - Identifier 2475405 2475439 - Identifier 2475440 2475444 - FunctionDeclaration 2475453 2475949 - Identifier 2475469 2475486 - Parameter 2475487 2475508 - Identifier 2475487 2475491 - TypeReference 2475492 2475508 - Identifier 2475492 2475508 - Block 2475509 2475949 - ExpressionStatement 2475511 2475563 - CallExpression 2475511 2475562 - Identifier 2475511 2475528 - PropertyAccessExpression 2475529 2475541 - Identifier 2475529 2475533 - Identifier 2475534 2475541 - Identifier 2475542 2475561 - ExpressionStatement 2475563 2475620 - CallExpression 2475563 2475619 - Identifier 2475563 2475590 - Identifier 2475591 2475618 - FunctionDeclaration 2475620 2475942 - Identifier 2475640 2475668 - Block 2475670 2475942 - VariableStatement 2475672 2475759 - VariableDeclarationList 2475672 2475758 - VariableDeclaration 2475691 2475758 - Identifier 2475691 2475696 - CallExpression 2475698 2475758 - Identifier 2475698 2475752 - Identifier 2475753 2475757 - ExpressionStatement 2475759 2475814 - CallExpression 2475759 2475813 - Identifier 2475759 2475794 - Identifier 2475795 2475799 - PropertyAccessExpression 2475800 2475812 - Identifier 2475800 2475805 - Identifier 2475806 2475812 - ExpressionStatement 2475814 2475871 - CallExpression 2475814 2475870 - Identifier 2475814 2475864 - Identifier 2475865 2475869 - ExpressionStatement 2475871 2475931 - CallExpression 2475871 2475930 - Identifier 2475871 2475924 - Identifier 2475925 2475929 - FunctionDeclaration 2475949 2476057 - Identifier 2475965 2475980 - Parameter 2475981 2476000 - Identifier 2475981 2475985 - TypeReference 2475986 2476000 - Identifier 2475986 2476000 - Block 2476001 2476057 - ExpressionStatement 2476003 2476050 - CallExpression 2476003 2476049 - Identifier 2476003 2476031 - PropertyAccessExpression 2476032 2476048 - Identifier 2476032 2476036 - Identifier 2476037 2476048 - FunctionDeclaration 2476057 2477738 - Identifier 2476073 2476088 - Parameter 2476089 2476108 - Identifier 2476089 2476093 - TypeReference 2476094 2476108 - Identifier 2476094 2476108 - Block 2476109 2477738 - VariableStatement 2476111 2476153 - VariableDeclarationList 2476111 2476152 - VariableDeclaration 2476124 2476152 - Identifier 2476124 2476144 - FalseKeyword 2476146 2476152 - VariableStatement 2476153 2476191 - VariableDeclarationList 2476153 2476190 - VariableDeclaration 2476166 2476190 - Identifier 2476166 2476182 - FalseKeyword 2476184 2476190 - ForOfStatement 2476191 2477642 - VariableDeclarationList 2476206 2476213 - VariableDeclaration 2476211 2476213 - Identifier 2476211 2476213 - PropertyAccessExpression 2476216 2476230 - Identifier 2476216 2476221 - Identifier 2476222 2476230 - Block 2476231 2477642 - VariableStatement 2476233 2476283 - VariableDeclarationList 2476233 2476282 - VariableDeclaration 2476250 2476282 - Identifier 2476250 2476256 - CallExpression 2476258 2476282 - Identifier 2476258 2476279 - Identifier 2476280 2476281 - IfStatement 2476283 2476804 - BinaryExpression 2476301 2476330 - Identifier 2476301 2476306 - AmpersandToken 2476306 2476308 - PropertyAccessExpression 2476308 2476330 - Identifier 2476308 2476321 - Identifier 2476322 2476330 - Block 2476331 2476804 - VariableStatement 2476333 2476429 - VariableDeclarationList 2476333 2476428 - VariableDeclaration 2476356 2476428 - Identifier 2476356 2476361 - CallExpression 2476363 2476428 - Identifier 2476363 2476383 - PropertyAccessExpression 2476384 2476427 - ParenthesizedExpression 2476384 2476422 - AsExpression 2476385 2476421 - Identifier 2476385 2476386 - UnionType 2476389 2476421 - TypeReference 2476389 2476402 - Identifier 2476389 2476402 - TypeReference 2476404 2476421 - Identifier 2476404 2476421 - Identifier 2476423 2476427 - IfStatement 2476429 2476609 - PrefixUnaryExpression 2476451 2476473 - CallExpression 2476452 2476473 - Identifier 2476452 2476467 - Identifier 2476468 2476472 - Block 2476474 2476609 - ExpressionStatement 2476476 2476562 - CallExpression 2476476 2476561 - Identifier 2476476 2476503 - Identifier 2476504 2476505 - PropertyAccessExpression 2476506 2476560 - Identifier 2476506 2476518 - Identifier 2476519 2476560 - BreakStatement 2476562 2476590 - IfStatement 2476609 2476789 - BinaryExpression 2476631 2476718 - CallExpression 2476631 2476648 - Identifier 2476631 2476642 - Identifier 2476643 2476647 - BarBarToken 2476648 2476651 - BinaryExpression 2476651 2476718 - CallExpression 2476651 2476669 - Identifier 2476651 2476663 - Identifier 2476664 2476668 - AmpersandAmpersandToken 2476669 2476672 - BinaryExpression 2476672 2476718 - PropertyAccessExpression 2476672 2476698 - PropertyAccessExpression 2476672 2476684 - Identifier 2476672 2476677 - Identifier 2476678 2476684 - Identifier 2476685 2476698 - AmpersandToken 2476698 2476700 - PropertyAccessExpression 2476700 2476718 - Identifier 2476700 2476713 - Identifier 2476714 2476718 - Block 2476719 2476789 - ExpressionStatement 2476721 2476770 - BinaryExpression 2476721 2476769 - Identifier 2476721 2476748 - BarEqualsToken 2476748 2476751 - PropertyAccessExpression 2476751 2476769 - Identifier 2476751 2476764 - Identifier 2476765 2476769 - IfStatement 2476804 2477631 - BinaryExpression 2476822 2476847 - Identifier 2476822 2476827 - AmpersandToken 2476827 2476829 - PropertyAccessExpression 2476829 2476847 - Identifier 2476829 2476842 - Identifier 2476843 2476847 - Block 2476848 2477100 - IfStatement 2476850 2477044 - Identifier 2476872 2476887 - Block 2476888 2477044 - ExpressionStatement 2476890 2476997 - CallExpression 2476890 2476996 - Identifier 2476890 2476930 - Identifier 2476931 2476932 - PropertyAccessExpression 2476933 2476995 - Identifier 2476933 2476945 - Identifier 2476946 2476995 - BreakStatement 2476997 2477025 - ExpressionStatement 2477044 2477085 - BinaryExpression 2477044 2477084 - Identifier 2477044 2477077 - EqualsToken 2477077 2477079 - TrueKeyword 2477079 2477084 - IfStatement 2477118 2477631 - BinaryExpression 2477123 2477152 - Identifier 2477123 2477128 - AmpersandToken 2477128 2477130 - PropertyAccessExpression 2477130 2477152 - Identifier 2477130 2477143 - Identifier 2477144 2477152 - Block 2477153 2477408 - IfStatement 2477155 2477348 - Identifier 2477177 2477192 - Block 2477193 2477348 - ExpressionStatement 2477195 2477301 - CallExpression 2477195 2477300 - Identifier 2477195 2477235 - Identifier 2477236 2477237 - PropertyAccessExpression 2477238 2477299 - Identifier 2477238 2477250 - Identifier 2477251 2477299 - BreakStatement 2477301 2477329 - ExpressionStatement 2477348 2477393 - BinaryExpression 2477348 2477392 - Identifier 2477348 2477385 - EqualsToken 2477385 2477387 - TrueKeyword 2477387 2477392 - IfStatement 2477426 2477631 - BinaryExpression 2477431 2477483 - BinaryExpression 2477431 2477460 - Identifier 2477431 2477436 - AmpersandToken 2477436 2477438 - PropertyAccessExpression 2477438 2477460 - Identifier 2477438 2477451 - Identifier 2477452 2477460 - AmpersandAmpersandToken 2477460 2477463 - Identifier 2477463 2477483 - Block 2477484 2477631 - ExpressionStatement 2477486 2477592 - CallExpression 2477486 2477591 - Identifier 2477486 2477522 - Identifier 2477523 2477524 - PropertyAccessExpression 2477525 2477590 - Identifier 2477525 2477537 - Identifier 2477538 2477590 - BreakStatement 2477592 2477616 - ExpressionStatement 2477642 2477695 - CallExpression 2477642 2477694 - Identifier 2477642 2477659 - PropertyAccessExpression 2477660 2477673 - Identifier 2477660 2477664 - Identifier 2477665 2477673 - Identifier 2477674 2477693 - ExpressionStatement 2477695 2477731 - CallExpression 2477695 2477730 - Identifier 2477695 2477724 - Identifier 2477725 2477729 - FunctionDeclaration 2477738 2477913 - Identifier 2477754 2477783 - Parameter 2477784 2477817 - Identifier 2477784 2477788 - TypeReference 2477789 2477817 - Identifier 2477789 2477817 - Block 2477818 2477913 - ExpressionStatement 2477820 2477870 - CallExpression 2477820 2477869 - Identifier 2477820 2477837 - PropertyAccessExpression 2477838 2477848 - Identifier 2477838 2477842 - Identifier 2477843 2477848 - Identifier 2477849 2477868 - ExpressionStatement 2477870 2477906 - CallExpression 2477870 2477905 - Identifier 2477870 2477899 - Identifier 2477900 2477904 - FunctionDeclaration 2477913 2480218 - Identifier 2477929 2477957 - Parameter 2477958 2477968 - Identifier 2477958 2477962 - TypeReference 2477963 2477968 - Identifier 2477963 2477968 - Parameter 2477969 2478029 - Identifier 2477969 2477980 - UnionType 2477981 2478029 - TypeReference 2477981 2478003 - Identifier 2477981 2478003 - TypeReference 2478005 2478029 - Identifier 2478005 2478029 - Block 2478030 2480218 - IfStatement 2478032 2478125 - PrefixUnaryExpression 2478046 2478085 - ParenthesizedExpression 2478047 2478085 - BinaryExpression 2478048 2478084 - PropertyAccessExpression 2478048 2478058 - Identifier 2478048 2478052 - Identifier 2478053 2478058 - AmpersandToken 2478058 2478060 - PropertyAccessExpression 2478060 2478084 - Identifier 2478060 2478070 - Identifier 2478071 2478084 - Block 2478086 2478125 - ReturnStatement 2478088 2478114 - Identifier 2478108 2478113 - VariableStatement 2478125 2478277 - VariableDeclarationList 2478125 2478276 - VariableDeclaration 2478224 2478276 - Identifier 2478224 2478235 - PropertyAccessExpression 2478237 2478276 - ParenthesizedExpression 2478237 2478265 - AsExpression 2478239 2478264 - Identifier 2478239 2478243 - TypeReference 2478246 2478264 - Identifier 2478246 2478264 - Identifier 2478266 2478276 - VariableStatement 2478277 2478343 - VariableDeclarationList 2478277 2478342 - VariableDeclaration 2478292 2478342 - Identifier 2478292 2478302 - PropertyAccessExpression 2478304 2478342 - ParenthesizedExpression 2478304 2478332 - AsExpression 2478306 2478331 - Identifier 2478306 2478310 - TypeReference 2478313 2478331 - Identifier 2478313 2478331 - Identifier 2478333 2478342 - VariableStatement 2478343 2478677 - VariableDeclarationList 2478343 2478676 - VariableDeclaration 2478421 2478676 - Identifier 2478421 2478437 - ConditionalExpression 2478439 2478676 - BinaryExpression 2478439 2478549 - CallExpression 2478439 2478471 - Identifier 2478439 2478459 - Identifier 2478460 2478470 - AmpersandAmpersandToken 2478471 2478474 - BinaryExpression 2478474 2478549 - CallExpression 2478474 2478512 - Identifier 2478474 2478500 - Identifier 2478501 2478511 - EqualsEqualsEqualsToken 2478512 2478516 - PropertyAccessExpression 2478516 2478549 - Identifier 2478516 2478539 - Identifier 2478540 2478549 - QuestionToken 2478549 2478564 - CallExpression 2478564 2478619 - Identifier 2478564 2478590 - Identifier 2478591 2478601 - PropertyAccessExpression 2478602 2478618 - Identifier 2478602 2478613 - Identifier 2478614 2478618 - ColonToken 2478619 2478634 - CallExpression 2478634 2478676 - Identifier 2478634 2478647 - Identifier 2478648 2478658 - PropertyAccessExpression 2478659 2478675 - Identifier 2478659 2478670 - Identifier 2478671 2478675 - VariableStatement 2478677 2478759 - VariableDeclarationList 2478677 2478758 - VariableDeclaration 2478692 2478758 - Identifier 2478692 2478711 - PrefixUnaryExpression 2478713 2478758 - PrefixUnaryExpression 2478715 2478758 - CallExpression 2478716 2478758 - Identifier 2478716 2478734 - Identifier 2478735 2478745 - Identifier 2478746 2478757 - IfStatement 2478759 2479376 - CallExpression 2478773 2478900 - Identifier 2478773 2478782 - Identifier 2478783 2478792 - ArrowFunction 2478793 2478899 - Parameter 2478793 2478795 - Identifier 2478793 2478795 - EqualsGreaterThanToken 2478795 2478798 - BinaryExpression 2478798 2478899 - CallExpression 2478798 2478837 - Identifier 2478798 2478817 - Identifier 2478818 2478819 - Identifier 2478820 2478836 - BarBarToken 2478837 2478840 - BinaryExpression 2478840 2478899 - Identifier 2478840 2478859 - AmpersandAmpersandToken 2478859 2478862 - CallExpression 2478862 2478899 - Identifier 2478862 2478884 - Identifier 2478885 2478886 - Identifier 2478887 2478898 - Block 2478901 2479376 - IfStatement 2478903 2479339 - BinaryExpression 2478921 2479185 - BinaryExpression 2478921 2479095 - BinaryExpression 2478921 2479027 - BinaryExpression 2478921 2478993 - PropertyAccessExpression 2478921 2478954 - Identifier 2478921 2478949 - Identifier 2478950 2478954 - EqualsEqualsEqualsToken 2478954 2478958 - PropertyAccessExpression 2478958 2478993 - Identifier 2478958 2478969 - Identifier 2478970 2478993 - AmpersandAmpersandToken 2478993 2478996 - CallExpression 2478996 2479027 - Identifier 2478996 2479015 - Identifier 2479016 2479026 - AmpersandAmpersandToken 2479027 2479030 - BinaryExpression 2479030 2479095 - CallExpression 2479030 2479074 - Identifier 2479030 2479062 - Identifier 2479063 2479073 - AmpersandToken 2479074 2479076 - PropertyAccessExpression 2479076 2479095 - Identifier 2479076 2479088 - Identifier 2479089 2479095 - AmpersandAmpersandToken 2479095 2479098 - BinaryExpression 2479098 2479185 - CallExpression 2479098 2479147 - Identifier 2479098 2479121 - AsExpression 2479122 2479146 - Identifier 2479122 2479132 - TypeReference 2479135 2479146 - Identifier 2479135 2479146 - AmpersandToken 2479147 2479149 - PropertyAccessExpression 2479149 2479185 - Identifier 2479149 2479169 - Identifier 2479170 2479185 - Block 2479200 2479339 - ExpressionStatement 2479202 2479324 - CallExpression 2479202 2479323 - Identifier 2479202 2479225 - Identifier 2479226 2479236 - PropertyAccessExpression 2479237 2479296 - Identifier 2479237 2479249 - Identifier 2479250 2479296 - CallExpression 2479297 2479322 - Identifier 2479297 2479310 - Identifier 2479311 2479321 - ReturnStatement 2479339 2479365 - Identifier 2479359 2479364 - IfStatement 2479376 2480054 - CallExpression 2479390 2479421 - Identifier 2479390 2479409 - Identifier 2479410 2479420 - Block 2479422 2480054 - VariableStatement 2479424 2479507 - VariableDeclarationList 2479424 2479506 - VariableDeclaration 2479443 2479506 - Identifier 2479443 2479456 - CallExpression 2479458 2479506 - Identifier 2479458 2479483 - Identifier 2479484 2479493 - Identifier 2479494 2479505 - IfStatement 2479507 2480043 - Identifier 2479525 2479537 - Block 2479538 2480043 - VariableStatement 2479540 2479663 - VariableDeclarationList 2479540 2479662 - VariableDeclaration 2479563 2479662 - Identifier 2479563 2479578 - CallExpression 2479580 2479662 - Identifier 2479580 2479592 - CallExpression 2479593 2479620 - Identifier 2479593 2479608 - Identifier 2479609 2479619 - ArrowFunction 2479621 2479661 - Parameter 2479621 2479623 - Identifier 2479621 2479623 - EqualsGreaterThanToken 2479623 2479626 - CallExpression 2479626 2479661 - Identifier 2479626 2479644 - Identifier 2479645 2479646 - Identifier 2479647 2479660 - IfStatement 2479663 2480028 - BinaryExpression 2479685 2479803 - Identifier 2479685 2479699 - AmpersandAmpersandToken 2479699 2479702 - BinaryExpression 2479702 2479803 - CallExpression 2479702 2479756 - Identifier 2479702 2479740 - Identifier 2479741 2479755 - AmpersandToken 2479756 2479758 - PropertyAccessExpression 2479758 2479803 - Identifier 2479758 2479772 - Identifier 2479773 2479803 - Block 2479804 2480028 - ExpressionStatement 2479806 2479970 - CallExpression 2479806 2479969 - Identifier 2479806 2479833 - Identifier 2479834 2479844 - PropertyAccessExpression 2479845 2479926 - Identifier 2479845 2479857 - Identifier 2479858 2479926 - CallExpression 2479927 2479968 - Identifier 2479927 2479954 - Identifier 2479955 2479967 - ReturnStatement 2479970 2480009 - Identifier 2479998 2480008 - ExpressionStatement 2480054 2480184 - CallExpression 2480054 2480183 - Identifier 2480054 2480069 - Identifier 2480070 2480080 - PropertyAccessExpression 2480081 2480131 - Identifier 2480081 2480093 - Identifier 2480094 2480131 - CallExpression 2480132 2480156 - Identifier 2480132 2480145 - Identifier 2480146 2480155 - CallExpression 2480157 2480182 - Identifier 2480157 2480170 - Identifier 2480171 2480181 - ReturnStatement 2480184 2480211 - Identifier 2480200 2480210 - FunctionDeclaration 2480218 2480470 - Identifier 2480234 2480257 - Parameter 2480258 2480285 - Identifier 2480258 2480262 - TypeReference 2480263 2480285 - Identifier 2480263 2480285 - Block 2480286 2480470 - ExpressionStatement 2480288 2480334 - CallExpression 2480288 2480333 - Identifier 2480288 2480316 - PropertyAccessExpression 2480317 2480332 - Identifier 2480317 2480321 - Identifier 2480322 2480332 - ExpressionStatement 2480334 2480379 - CallExpression 2480334 2480378 - Identifier 2480334 2480362 - PropertyAccessExpression 2480363 2480377 - Identifier 2480363 2480367 - Identifier 2480368 2480377 - ExpressionStatement 2480379 2480463 - CallExpression 2480379 2480462 - Identifier 2480379 2480416 - CallExpression 2480417 2480455 - Identifier 2480417 2480449 - Identifier 2480450 2480454 - Identifier 2480456 2480461 - FunctionDeclaration 2480470 2481280 - Identifier 2480486 2480502 - Parameter 2480503 2480523 - Identifier 2480503 2480507 - TypeReference 2480508 2480523 - Identifier 2480508 2480523 - Block 2480524 2481280 - ExpressionStatement 2480526 2480565 - CallExpression 2480526 2480564 - Identifier 2480526 2480558 - Identifier 2480559 2480563 - ExpressionStatement 2480565 2480614 - CallExpression 2480565 2480613 - Identifier 2480565 2480593 - PropertyAccessExpression 2480594 2480612 - Identifier 2480594 2480598 - Identifier 2480599 2480612 - ExpressionStatement 2480614 2480658 - CallExpression 2480614 2480657 - Identifier 2480614 2480642 - PropertyAccessExpression 2480643 2480656 - Identifier 2480643 2480647 - Identifier 2480648 2480656 - ExpressionStatement 2480658 2480698 - CallExpression 2480658 2480697 - Identifier 2480658 2480686 - PropertyAccessExpression 2480687 2480696 - Identifier 2480687 2480691 - Identifier 2480692 2480696 - IfStatement 2480698 2480785 - PrefixUnaryExpression 2480714 2480724 - PropertyAccessExpression 2480715 2480724 - Identifier 2480715 2480719 - Identifier 2480720 2480724 - Block 2480725 2480785 - ExpressionStatement 2480727 2480774 - CallExpression 2480727 2480773 - Identifier 2480727 2480758 - Identifier 2480759 2480763 - Identifier 2480764 2480772 - VariableStatement 2480785 2480856 - VariableDeclarationList 2480785 2480855 - VariableDeclaration 2480802 2480855 - Identifier 2480802 2480807 - AsExpression 2480809 2480855 - CallExpression 2480809 2480841 - Identifier 2480809 2480835 - Identifier 2480836 2480840 - TypeReference 2480844 2480855 - Identifier 2480844 2480855 - VariableStatement 2480856 2480915 - VariableDeclarationList 2480856 2480914 - VariableDeclaration 2480871 2480914 - Identifier 2480871 2480880 - CallExpression 2480882 2480914 - Identifier 2480882 2480908 - Identifier 2480909 2480913 - IfStatement 2480915 2481273 - Identifier 2480929 2480937 - Block 2480938 2481036 - ExpressionStatement 2480940 2481025 - CallExpression 2480940 2481024 - Identifier 2480940 2480975 - Identifier 2480976 2480984 - Identifier 2480985 2481008 - PropertyAccessExpression 2481009 2481023 - Identifier 2481009 2481014 - Identifier 2481015 2481023 - Block 2481050 2481273 - VariableStatement 2481052 2481127 - VariableDeclarationList 2481052 2481126 - VariableDeclaration 2481071 2481126 - Identifier 2481071 2481086 - CallExpression 2481088 2481126 - Identifier 2481088 2481120 - Identifier 2481121 2481125 - ExpressionStatement 2481127 2481262 - CallExpression 2481127 2481261 - Identifier 2481127 2481162 - Identifier 2481163 2481177 - Identifier 2481178 2481201 - CallExpression 2481202 2481260 - Identifier 2481202 2481240 - PropertyAccessExpression 2481241 2481259 - Identifier 2481241 2481245 - Identifier 2481246 2481259 - FunctionDeclaration 2481280 2481520 - Identifier 2481296 2481319 - Parameter 2481320 2481340 - Identifier 2481320 2481324 - TypeReference 2481325 2481340 - Identifier 2481325 2481340 - Block 2481341 2481520 - IfStatement 2481343 2481513 - PropertyAccessExpression 2481357 2481377 - PropertyAccessExpression 2481357 2481369 - Identifier 2481357 2481361 - Identifier 2481362 2481369 - QuestionDotToken 2481369 2481371 - Identifier 2481371 2481377 - Block 2481378 2481513 - ReturnStatement 2481380 2481502 - CallExpression 2481400 2481501 - Identifier 2481400 2481419 - ElementAccessExpression 2481420 2481435 - PropertyAccessExpression 2481420 2481432 - Identifier 2481420 2481424 - Identifier 2481425 2481432 - NumericLiteral 2481433 2481434 - PropertyAccessExpression 2481436 2481500 - Identifier 2481436 2481448 - Identifier 2481449 2481500 - FunctionDeclaration 2481520 2481619 - Identifier 2481536 2481550 - Parameter 2481551 2481569 - Identifier 2481551 2481555 - TypeReference 2481556 2481569 - Identifier 2481556 2481569 - Block 2481570 2481619 - ExpressionStatement 2481572 2481612 - CallExpression 2481572 2481611 - Identifier 2481572 2481605 - Identifier 2481606 2481610 - FunctionDeclaration 2481619 2481771 - Identifier 2481635 2481653 - Parameter 2481654 2481676 - Identifier 2481654 2481658 - TypeReference 2481659 2481676 - Identifier 2481659 2481676 - Block 2481677 2481771 - ExpressionStatement 2481679 2481724 - CallExpression 2481679 2481723 - Identifier 2481679 2481717 - Identifier 2481718 2481722 - ExpressionStatement 2481724 2481764 - CallExpression 2481724 2481763 - Identifier 2481724 2481752 - PropertyAccessExpression 2481753 2481762 - Identifier 2481753 2481757 - Identifier 2481758 2481762 - FunctionDeclaration 2481771 2481893 - Identifier 2481787 2481808 - Parameter 2481809 2481834 - Identifier 2481809 2481813 - TypeReference 2481814 2481834 - Identifier 2481814 2481834 - Block 2481835 2481893 - ExpressionStatement 2481837 2481886 - CallExpression 2481837 2481885 - Identifier 2481837 2481859 - Identifier 2481860 2481864 - Identifier 2481865 2481884 - FunctionDeclaration 2481893 2483330 - Identifier 2481909 2481924 - Parameter 2481925 2481944 - Identifier 2481925 2481929 - TypeReference 2481930 2481944 - Identifier 2481930 2481944 - Block 2481945 2483330 - IfStatement 2481947 2482246 - PrefixUnaryExpression 2481961 2482098 - CallExpression 2481962 2482098 - Identifier 2481962 2481974 - Identifier 2481975 2481979 - ArrowFunction 2481980 2482097 - Parameter 2481980 2481982 - Identifier 2481980 2481982 - EqualsGreaterThanToken 2481982 2481985 - BinaryExpression 2481985 2482097 - BinaryExpression 2481985 2482042 - PropertyAccessExpression 2481985 2481994 - Identifier 2481985 2481987 - Identifier 2481988 2481994 - AmpersandAmpersandToken 2481994 2481997 - BinaryExpression 2481997 2482042 - PropertyAccessExpression 2481997 2482011 - PropertyAccessExpression 2481997 2482006 - Identifier 2481997 2481999 - Identifier 2482000 2482006 - Identifier 2482007 2482011 - EqualsEqualsEqualsToken 2482011 2482015 - PropertyAccessExpression 2482015 2482042 - Identifier 2482015 2482026 - Identifier 2482027 2482042 - AmpersandAmpersandToken 2482042 2482045 - BinaryExpression 2482045 2482097 - PropertyAccessExpression 2482045 2482091 - ParenthesizedExpression 2482045 2482079 - AsExpression 2482047 2482078 - PropertyAccessExpression 2482047 2482055 - Identifier 2482047 2482048 - Identifier 2482049 2482055 - TypeReference 2482058 2482078 - Identifier 2482058 2482078 - Identifier 2482080 2482091 - EqualsEqualsEqualsToken 2482091 2482095 - Identifier 2482095 2482097 - Block 2482099 2482246 - ExpressionStatement 2482101 2482235 - CallExpression 2482101 2482234 - Identifier 2482101 2482133 - Identifier 2482134 2482138 - PropertyAccessExpression 2482139 2482233 - Identifier 2482139 2482151 - Identifier 2482152 2482233 - ExpressionStatement 2482246 2482295 - CallExpression 2482246 2482294 - Identifier 2482246 2482274 - PropertyAccessExpression 2482275 2482293 - Identifier 2482275 2482279 - Identifier 2482280 2482293 - VariableStatement 2482295 2482363 - VariableDeclarationList 2482295 2482362 - VariableDeclaration 2482310 2482362 - Identifier 2482310 2482317 - CallExpression 2482319 2482362 - Identifier 2482319 2482342 - PropertyAccessExpression 2482343 2482361 - Identifier 2482343 2482347 - Identifier 2482348 2482361 - IfStatement 2482363 2483273 - BinaryExpression 2482377 2482430 - PropertyAccessExpression 2482377 2482396 - Identifier 2482377 2482383 - Identifier 2482384 2482396 - AmpersandAmpersandToken 2482396 2482399 - BinaryExpression 2482399 2482430 - PropertyAccessExpression 2482399 2482426 - PropertyAccessExpression 2482399 2482419 - Identifier 2482399 2482406 - Identifier 2482407 2482419 - Identifier 2482420 2482426 - GreaterThanToken 2482426 2482428 - NumericLiteral 2482428 2482430 - Block 2482431 2483273 - VariableStatement 2482433 2482484 - VariableDeclarationList 2482433 2482483 - VariableDeclaration 2482452 2482483 - Identifier 2482452 2482458 - CallExpression 2482460 2482483 - Identifier 2482460 2482475 - Identifier 2482476 2482482 - IfStatement 2482484 2483262 - PrefixUnaryExpression 2482502 2482530 - PropertyAccessExpression 2482503 2482530 - Identifier 2482503 2482508 - Identifier 2482509 2482530 - Block 2482531 2483262 - ExpressionStatement 2482533 2482586 - BinaryExpression 2482533 2482585 - PropertyAccessExpression 2482533 2482578 - Identifier 2482533 2482556 - Identifier 2482557 2482578 - EqualsToken 2482578 2482580 - TrueKeyword 2482580 2482585 - VariableStatement 2482586 2482665 - VariableDeclarationList 2482586 2482664 - VariableDeclaration 2482609 2482664 - Identifier 2482609 2482623 - CallExpression 2482625 2482664 - Identifier 2482625 2482656 - Identifier 2482657 2482663 - VariableStatement 2482665 2482788 - VariableDeclarationList 2482665 2482787 - VariableDeclaration 2482688 2482787 - Identifier 2482688 2482701 - ArrayType 2482702 2482729 - TypeReference 2482702 2482727 - Identifier 2482702 2482727 - CallExpression 2482731 2482787 - Identifier 2482731 2482753 - Identifier 2482754 2482760 - PropertyAccessExpression 2482761 2482786 - Identifier 2482761 2482772 - Identifier 2482773 2482786 - IfStatement 2482788 2483247 - PrefixUnaryExpression 2482810 2482884 - CallExpression 2482811 2482884 - Identifier 2482811 2482837 - Identifier 2482838 2482850 - ArrayLiteralExpression 2482851 2482867 - Identifier 2482853 2482866 - ArrowFunction 2482868 2482883 - Parameter 2482868 2482873 - Identifier 2482868 2482873 - EqualsGreaterThanToken 2482873 2482876 - ArrayLiteralExpression 2482876 2482883 - Identifier 2482878 2482882 - Block 2482885 2483247 - VariableStatement 2482887 2483019 - VariableDeclarationList 2482887 2483018 - VariableDeclaration 2482988 2483018 - Identifier 2482988 2482993 - CallExpression 2482995 2483018 - Identifier 2482995 2483010 - Identifier 2483011 2483017 - ForOfStatement 2483019 2483228 - VariableDeclarationList 2483046 2483063 - VariableDeclaration 2483051 2483063 - Identifier 2483051 2483063 - Identifier 2483066 2483079 - Block 2483080 2483228 - ExpressionStatement 2483082 2483205 - CallExpression 2483082 2483204 - Identifier 2483082 2483113 - PropertyAccessExpression 2483114 2483130 - Identifier 2483114 2483125 - Identifier 2483126 2483130 - PropertyAccessExpression 2483131 2483197 - Identifier 2483131 2483143 - Identifier 2483144 2483197 - Identifier 2483198 2483203 - ExpressionStatement 2483273 2483323 - CallExpression 2483273 2483322 - Identifier 2483273 2483316 - Identifier 2483317 2483321 - FunctionDeclaration 2483330 2483687 - Identifier 2483346 2483371 - Parameter 2483372 2483401 - Identifier 2483372 2483376 - TypeReference 2483377 2483401 - Identifier 2483377 2483401 - Block 2483402 2483687 - ForOfStatement 2483404 2483644 - VariableDeclarationList 2483419 2483429 - VariableDeclaration 2483424 2483429 - Identifier 2483424 2483429 - PropertyAccessExpression 2483432 2483451 - Identifier 2483432 2483437 - Identifier 2483438 2483451 - Block 2483452 2483644 - ExpressionStatement 2483454 2483498 - CallExpression 2483454 2483497 - Identifier 2483454 2483486 - PropertyAccessExpression 2483487 2483496 - Identifier 2483487 2483491 - Identifier 2483492 2483496 - VariableStatement 2483498 2483556 - VariableDeclarationList 2483498 2483555 - VariableDeclaration 2483517 2483555 - Identifier 2483517 2483522 - CallExpression 2483524 2483555 - Identifier 2483524 2483544 - PropertyAccessExpression 2483545 2483554 - Identifier 2483545 2483549 - Identifier 2483550 2483554 - ExpressionStatement 2483556 2483633 - CallExpression 2483556 2483632 - Identifier 2483556 2483591 - Identifier 2483592 2483596 - Identifier 2483597 2483620 - PropertyAccessExpression 2483621 2483631 - Identifier 2483621 2483626 - Identifier 2483627 2483631 - ExpressionStatement 2483644 2483680 - CallExpression 2483644 2483679 - Identifier 2483644 2483673 - Identifier 2483674 2483678 - FunctionDeclaration 2483687 2483959 - Identifier 2483703 2483719 - Parameter 2483720 2483740 - Identifier 2483720 2483724 - TypeReference 2483725 2483740 - Identifier 2483725 2483740 - Block 2483741 2483959 - ExpressionStatement 2483743 2483787 - CallExpression 2483743 2483786 - Identifier 2483743 2483771 - PropertyAccessExpression 2483772 2483785 - Identifier 2483772 2483776 - Identifier 2483777 2483785 - IfStatement 2483787 2483909 - PropertyAccessExpression 2483803 2483818 - Identifier 2483803 2483807 - Identifier 2483808 2483818 - Block 2483819 2483909 - ExpressionStatement 2483821 2483898 - CallExpression 2483821 2483897 - Identifier 2483821 2483860 - PropertyAccessExpression 2483861 2483876 - Identifier 2483861 2483865 - Identifier 2483866 2483876 - Identifier 2483877 2483896 - ExpressionStatement 2483909 2483952 - CallExpression 2483909 2483951 - Identifier 2483909 2483945 - Identifier 2483946 2483950 - FunctionDeclaration 2483959 2484752 - Identifier 2483975 2483997 - Parameter 2483998 2484020 - Identifier 2483998 2484002 - TypeReference 2484003 2484020 - Identifier 2484003 2484020 - Block 2484021 2484752 - IfStatement 2484023 2484192 - BinaryExpression 2484037 2484078 - PropertyAccessExpression 2484037 2484056 - Identifier 2484037 2484041 - Identifier 2484042 2484056 - AmpersandAmpersandToken 2484056 2484059 - PropertyAccessExpression 2484059 2484078 - Identifier 2484059 2484064 - Identifier 2484065 2484078 - Block 2484079 2484192 - ExpressionStatement 2484081 2484181 - CallExpression 2484081 2484180 - Identifier 2484081 2484113 - Identifier 2484114 2484118 - PropertyAccessExpression 2484119 2484179 - Identifier 2484119 2484131 - Identifier 2484132 2484179 - IfStatement 2484192 2484451 - BinaryExpression 2484206 2484248 - PropertyAccessExpression 2484206 2484220 - PropertyAccessExpression 2484206 2484215 - Identifier 2484206 2484210 - Identifier 2484211 2484215 - Identifier 2484216 2484220 - EqualsEqualsEqualsToken 2484220 2484224 - PropertyAccessExpression 2484224 2484248 - Identifier 2484224 2484235 - Identifier 2484236 2484248 - Block 2484249 2484451 - ExpressionStatement 2484251 2484440 - CallExpression 2484251 2484439 - Identifier 2484251 2484283 - PropertyAccessExpression 2484284 2484293 - Identifier 2484284 2484288 - Identifier 2484289 2484293 - PropertyAccessExpression 2484294 2484438 - Identifier 2484294 2484306 - Identifier 2484307 2484438 - IfStatement 2484451 2484669 - BinaryExpression 2484465 2484503 - PropertyAccessExpression 2484465 2484479 - PropertyAccessExpression 2484465 2484474 - Identifier 2484465 2484469 - Identifier 2484470 2484474 - Identifier 2484475 2484479 - EqualsEqualsEqualsToken 2484479 2484483 - PropertyAccessExpression 2484483 2484503 - Identifier 2484483 2484494 - Identifier 2484495 2484503 - Block 2484504 2484669 - ExpressionStatement 2484506 2484658 - CallExpression 2484506 2484657 - Identifier 2484506 2484538 - PropertyAccessExpression 2484539 2484548 - Identifier 2484539 2484543 - Identifier 2484544 2484548 - PropertyAccessExpression 2484549 2484656 - Identifier 2484549 2484561 - Identifier 2484562 2484656 - ExpressionStatement 2484669 2484709 - CallExpression 2484669 2484708 - Identifier 2484669 2484697 - PropertyAccessExpression 2484698 2484707 - Identifier 2484698 2484702 - Identifier 2484703 2484707 - ExpressionStatement 2484709 2484745 - CallExpression 2484709 2484744 - Identifier 2484709 2484738 - Identifier 2484739 2484743 - FunctionDeclaration 2484752 2484980 - Identifier 2484768 2484791 - Parameter 2484792 2484802 - Identifier 2484792 2484796 - TypeReference 2484797 2484802 - Identifier 2484797 2484802 - BooleanKeyword 2484804 2484812 - Block 2484812 2484980 - ReturnStatement 2484814 2484973 - BinaryExpression 2484830 2484972 - ParenthesizedExpression 2484830 2484934 - BinaryExpression 2484832 2484933 - CallExpression 2484832 2484881 - Identifier 2484832 2484852 - Identifier 2484853 2484857 - PropertyAccessExpression 2484858 2484880 - Identifier 2484858 2484872 - Identifier 2484873 2484880 - BarBarToken 2484881 2484884 - CallExpression 2484884 2484933 - Identifier 2484884 2484927 - Identifier 2484928 2484932 - AmpersandAmpersandToken 2484934 2484937 - PrefixUnaryExpression 2484937 2484972 - PrefixUnaryExpression 2484939 2484972 - ParenthesizedExpression 2484940 2484972 - BinaryExpression 2484941 2484971 - PropertyAccessExpression 2484941 2484951 - Identifier 2484941 2484945 - Identifier 2484946 2484951 - AmpersandToken 2484951 2484953 - PropertyAccessExpression 2484953 2484971 - Identifier 2484953 2484963 - Identifier 2484964 2484971 - FunctionDeclaration 2484980 2486119 - Identifier 2484996 2485025 - Parameter 2485026 2485040 - Identifier 2485026 2485027 - TypeReference 2485028 2485040 - Identifier 2485028 2485040 - Parameter 2485041 2485069 - Identifier 2485041 2485054 - TypeReference 2485055 2485069 - Identifier 2485055 2485069 - TypeReference 2485071 2485085 - Identifier 2485071 2485085 - Block 2485085 2486119 - VariableStatement 2485087 2485143 - VariableDeclarationList 2485087 2485142 - VariableDeclaration 2485100 2485142 - Identifier 2485100 2485106 - CallExpression 2485108 2485142 - Identifier 2485108 2485139 - Identifier 2485140 2485141 - IfStatement 2485143 2486072 - BinaryExpression 2485320 2485550 - BinaryExpression 2485320 2485506 - BinaryExpression 2485320 2485445 - BinaryExpression 2485320 2485383 - PropertyAccessExpression 2485320 2485347 - PropertyAccessExpression 2485320 2485342 - Identifier 2485320 2485335 - Identifier 2485336 2485342 - Identifier 2485343 2485347 - ExclamationEqualsEqualsToken 2485347 2485351 - PropertyAccessExpression 2485351 2485383 - Identifier 2485351 2485362 - Identifier 2485363 2485383 - AmpersandAmpersandToken 2485383 2485386 - BinaryExpression 2485386 2485445 - PropertyAccessExpression 2485386 2485413 - PropertyAccessExpression 2485386 2485408 - Identifier 2485386 2485401 - Identifier 2485402 2485408 - Identifier 2485409 2485413 - ExclamationEqualsEqualsToken 2485413 2485417 - PropertyAccessExpression 2485417 2485445 - Identifier 2485417 2485428 - Identifier 2485429 2485445 - AmpersandAmpersandToken 2485445 2485448 - BinaryExpression 2485448 2485506 - PropertyAccessExpression 2485448 2485475 - PropertyAccessExpression 2485448 2485470 - Identifier 2485448 2485463 - Identifier 2485464 2485470 - Identifier 2485471 2485475 - ExclamationEqualsEqualsToken 2485475 2485479 - PropertyAccessExpression 2485479 2485506 - Identifier 2485479 2485490 - Identifier 2485491 2485506 - AmpersandAmpersandToken 2485506 2485509 - BinaryExpression 2485509 2485550 - PropertyAccessExpression 2485509 2485530 - Identifier 2485509 2485524 - Identifier 2485525 2485530 - AmpersandToken 2485530 2485532 - PropertyAccessExpression 2485532 2485550 - Identifier 2485532 2485542 - Identifier 2485543 2485550 - Block 2485561 2486072 - VariableStatement 2485563 2485620 - VariableDeclarationList 2485563 2485619 - VariableDeclaration 2485582 2485619 - Identifier 2485582 2485592 - CallExpression 2485594 2485619 - Identifier 2485594 2485616 - Identifier 2485617 2485618 - IfStatement 2485620 2486016 - BinaryExpression 2485638 2485846 - BinaryExpression 2485638 2485730 - ParenthesizedExpression 2485638 2485694 - BinaryExpression 2485639 2485693 - Identifier 2485639 2485648 - AmpersandAmpersandToken 2485648 2485651 - BinaryExpression 2485651 2485693 - PropertyAccessExpression 2485651 2485667 - Identifier 2485651 2485661 - Identifier 2485662 2485667 - AmpersandToken 2485667 2485669 - PropertyAccessExpression 2485669 2485693 - Identifier 2485669 2485679 - Identifier 2485680 2485693 - AmpersandAmpersandToken 2485694 2485697 - PrefixUnaryExpression 2485697 2485730 - ParenthesizedExpression 2485699 2485730 - BinaryExpression 2485700 2485729 - Identifier 2485700 2485705 - AmpersandToken 2485705 2485707 - PropertyAccessExpression 2485707 2485729 - Identifier 2485707 2485721 - Identifier 2485722 2485729 - AmpersandAmpersandToken 2485730 2485733 - PrefixUnaryExpression 2485733 2485846 - ParenthesizedExpression 2485735 2485846 - BinaryExpression 2485736 2485845 - BinaryExpression 2485736 2485799 - CallExpression 2485736 2485759 - Identifier 2485736 2485749 - PropertyAccessExpression 2485750 2485758 - Identifier 2485750 2485751 - Identifier 2485752 2485758 - AmpersandAmpersandToken 2485759 2485762 - CallExpression 2485762 2485799 - Identifier 2485762 2485782 - PropertyAccessExpression 2485783 2485798 - PropertyAccessExpression 2485783 2485791 - Identifier 2485783 2485784 - Identifier 2485785 2485791 - Identifier 2485792 2485798 - AmpersandAmpersandToken 2485799 2485802 - CallExpression 2485802 2485845 - Identifier 2485802 2485828 - PropertyAccessExpression 2485829 2485844 - PropertyAccessExpression 2485829 2485837 - Identifier 2485829 2485830 - Identifier 2485831 2485837 - Identifier 2485838 2485844 - Block 2485847 2486016 - ExpressionStatement 2485849 2486001 - BinaryExpression 2485849 2486000 - Identifier 2485849 2485976 - BarEqualsToken 2485976 2485979 - PropertyAccessExpression 2485979 2486000 - Identifier 2485979 2485993 - Identifier 2485994 2486000 - ExpressionStatement 2486016 2486061 - BinaryExpression 2486016 2486060 - Identifier 2486016 2486035 - BarEqualsToken 2486035 2486038 - PropertyAccessExpression 2486038 2486060 - Identifier 2486038 2486052 - Identifier 2486053 2486060 - ReturnStatement 2486072 2486112 - BinaryExpression 2486090 2486111 - Identifier 2486090 2486096 - AmpersandToken 2486096 2486098 - Identifier 2486098 2486111 - FunctionDeclaration 2486119 2486281 - Identifier 2486135 2486168 - Parameter 2486169 2486183 - Identifier 2486169 2486175 - TypeReference 2486176 2486183 - Identifier 2486176 2486183 - VoidKeyword 2486185 2486190 - Block 2486190 2486281 - ExpressionStatement 2486192 2486274 - CallExpression 2486192 2486273 - Identifier 2486192 2486219 - ArrowFunction 2486220 2486272 - EqualsGreaterThanToken 2486222 2486225 - CallExpression 2486225 2486272 - Identifier 2486225 2486264 - Identifier 2486265 2486271 - FunctionDeclaration 2486281 2502850 - Identifier 2486297 2486336 - Parameter 2486337 2486351 - Identifier 2486337 2486343 - TypeReference 2486344 2486351 - Identifier 2486344 2486351 - VoidKeyword 2486353 2486358 - Block 2486358 2502850 - FunctionDeclaration 2486360 2487242 - Identifier 2486378 2486399 - Parameter 2486400 2486433 - Identifier 2486400 2486409 - TypeOperator 2486410 2486433 - ArrayType 2486419 2486433 - TypeReference 2486419 2486431 - Identifier 2486419 2486431 - Parameter 2486434 2486486 - Identifier 2486434 2486449 - UnionType 2486450 2486486 - TypeReference 2486450 2486474 - Identifier 2486450 2486474 - UndefinedKeyword 2486476 2486486 - TypeReference 2486488 2486500 - Identifier 2486488 2486500 - Block 2486500 2487242 - VariableStatement 2486502 2487131 - VariableDeclarationList 2486502 2487130 - VariableDeclaration 2487003 2487130 - Identifier 2487003 2487050 - BinaryExpression 2487052 2487130 - BinaryExpression 2487052 2487081 - Identifier 2487052 2487067 - ExclamationEqualsEqualsToken 2487067 2487071 - Identifier 2487071 2487081 - AmpersandAmpersandToken 2487081 2487084 - BinaryExpression 2487084 2487130 - PropertyAccessExpression 2487084 2487106 - Identifier 2487084 2487099 - Identifier 2487100 2487106 - EqualsEqualsEqualsToken 2487106 2487110 - PropertyAccessExpression 2487110 2487130 - ElementAccessExpression 2487110 2487123 - Identifier 2487110 2487120 - NumericLiteral 2487121 2487122 - Identifier 2487124 2487130 - ReturnStatement 2487131 2487231 - ConditionalExpression 2487151 2487230 - Identifier 2487151 2487198 - QuestionToken 2487198 2487200 - Identifier 2487200 2487215 - ColonToken 2487215 2487217 - ElementAccessExpression 2487217 2487230 - Identifier 2487217 2487227 - NumericLiteral 2487228 2487229 - FunctionDeclaration 2487242 2490293 - Identifier 2487262 2487297 - Parameter 2487298 2487322 - Identifier 2487298 2487307 - ArrayType 2487308 2487322 - TypeReference 2487308 2487320 - Identifier 2487308 2487320 - Parameter 2487323 2487375 - Identifier 2487323 2487338 - UnionType 2487339 2487375 - TypeReference 2487339 2487363 - Identifier 2487339 2487363 - UndefinedKeyword 2487365 2487375 - Parameter 2487376 2487404 - Identifier 2487376 2487389 - TypeReference 2487390 2487404 - Identifier 2487390 2487404 - Parameter 2487405 2487438 - Identifier 2487405 2487423 - TypeReference 2487424 2487438 - Identifier 2487424 2487438 - Parameter 2487439 2487471 - Identifier 2487439 2487456 - TypeReference 2487457 2487471 - Identifier 2487457 2487471 - VoidKeyword 2487473 2487478 - Block 2487478 2490293 - VariableStatement 2487480 2487742 - VariableDeclarationList 2487480 2487741 - VariableDeclaration 2487675 2487741 - Identifier 2487675 2487702 - BinaryExpression 2487704 2487741 - Identifier 2487704 2487722 - CaretToken 2487722 2487724 - Identifier 2487724 2487741 - IfStatement 2487742 2490282 - BinaryExpression 2487760 2487792 - Identifier 2487760 2487786 - ExclamationEqualsEqualsToken 2487786 2487790 - NumericLiteral 2487790 2487792 - Block 2487793 2490282 - VariableStatement 2487795 2487928 - VariableDeclarationList 2487795 2487927 - VariableDeclaration 2487818 2487927 - Identifier 2487818 2487833 - CallExpression 2487835 2487927 - Identifier 2487835 2487864 - CallExpression 2487865 2487912 - Identifier 2487865 2487885 - Identifier 2487886 2487895 - Identifier 2487896 2487911 - Identifier 2487913 2487926 - ExpressionStatement 2487928 2490267 - CallExpression 2487928 2490266 - PropertyAccessExpression 2487928 2488008 - CallExpression 2487928 2488000 - Identifier 2487928 2487951 - Identifier 2487952 2487961 - ArrowFunction 2487962 2487999 - Parameter 2487962 2487964 - Identifier 2487962 2487964 - EqualsGreaterThanToken 2487964 2487967 - PropertyAccessExpression 2487967 2487999 - CallExpression 2487967 2487990 - Identifier 2487967 2487987 - Identifier 2487988 2487989 - Identifier 2487991 2487999 - Identifier 2488001 2488008 - ArrowFunction 2488009 2490265 - Parameter 2488009 2488024 - Identifier 2488009 2488024 - EqualsGreaterThanToken 2488024 2488027 - Block 2488027 2490265 - VariableStatement 2488029 2488179 - VariableDeclarationList 2488029 2488178 - VariableDeclaration 2488056 2488178 - Identifier 2488056 2488078 - CallExpression 2488080 2488178 - Identifier 2488080 2488109 - CallExpression 2488110 2488163 - Identifier 2488110 2488130 - Identifier 2488131 2488146 - Identifier 2488147 2488162 - Identifier 2488164 2488177 - ForOfStatement 2488179 2490246 - VariableDeclarationList 2488206 2488213 - VariableDeclaration 2488211 2488213 - Identifier 2488211 2488213 - Identifier 2488216 2488232 - Block 2488233 2490246 - VariableStatement 2488235 2488342 - VariableDeclarationList 2488235 2488341 - VariableDeclaration 2488266 2488341 - Identifier 2488266 2488276 - BinaryExpression 2488278 2488341 - CallExpression 2488278 2488324 - Identifier 2488278 2488307 - Identifier 2488308 2488309 - Identifier 2488310 2488323 - CaretToken 2488324 2488326 - Identifier 2488326 2488341 - VariableStatement 2488342 2488462 - VariableDeclarationList 2488342 2488461 - VariableDeclaration 2488373 2488461 - Identifier 2488373 2488389 - BinaryExpression 2488391 2488461 - CallExpression 2488391 2488437 - Identifier 2488391 2488420 - Identifier 2488421 2488422 - Identifier 2488423 2488436 - CaretToken 2488437 2488439 - Identifier 2488439 2488461 - IfStatement 2488462 2490223 - BinaryExpression 2488492 2488530 - Identifier 2488492 2488507 - AmpersandToken 2488507 2488509 - PropertyAccessExpression 2488509 2488530 - Identifier 2488509 2488523 - Identifier 2488524 2488530 - Block 2488531 2489293 - ExpressionStatement 2488533 2489266 - CallExpression 2488533 2489265 - Identifier 2488533 2489170 - CallExpression 2489171 2489194 - Identifier 2489171 2489191 - Identifier 2489192 2489193 - PropertyAccessExpression 2489195 2489264 - Identifier 2489195 2489207 - Identifier 2489208 2489264 - IfStatement 2489323 2490223 - BinaryExpression 2489328 2489367 - Identifier 2489328 2489343 - AmpersandToken 2489343 2489345 - PropertyAccessExpression 2489345 2489367 - Identifier 2489345 2489359 - Identifier 2489360 2489367 - Block 2489368 2489728 - ExpressionStatement 2489370 2489701 - CallExpression 2489370 2489700 - Identifier 2489370 2489607 - CallExpression 2489608 2489631 - Identifier 2489608 2489628 - Identifier 2489629 2489630 - PropertyAccessExpression 2489632 2489699 - Identifier 2489632 2489644 - Identifier 2489645 2489699 - IfStatement 2489758 2490223 - BinaryExpression 2489763 2489824 - Identifier 2489763 2489772 - AmpersandToken 2489772 2489774 - ParenthesizedExpression 2489774 2489824 - BinaryExpression 2489776 2489823 - PropertyAccessExpression 2489776 2489797 - Identifier 2489776 2489789 - Identifier 2489790 2489797 - BarToken 2489797 2489799 - PropertyAccessExpression 2489799 2489823 - Identifier 2489799 2489813 - Identifier 2489814 2489823 - Block 2489825 2489993 - ExpressionStatement 2489827 2489966 - CallExpression 2489827 2489965 - Identifier 2489827 2489862 - BinaryExpression 2489863 2489891 - CallExpression 2489863 2489886 - Identifier 2489863 2489883 - Identifier 2489884 2489885 - BarBarToken 2489886 2489889 - Identifier 2489889 2489891 - PropertyAccessExpression 2489892 2489964 - Identifier 2489892 2489904 - Identifier 2489905 2489964 - IfStatement 2490023 2490223 - BinaryExpression 2490028 2490062 - Identifier 2490028 2490037 - AmpersandToken 2490037 2490039 - PropertyAccessExpression 2490039 2490062 - Identifier 2490039 2490053 - Identifier 2490054 2490062 - Block 2490063 2490223 - ExpressionStatement 2490065 2490196 - CallExpression 2490065 2490195 - Identifier 2490065 2490100 - CallExpression 2490101 2490124 - Identifier 2490101 2490121 - Identifier 2490122 2490123 - PropertyAccessExpression 2490125 2490194 - Identifier 2490125 2490137 - Identifier 2490138 2490194 - FunctionDeclaration 2490293 2491056 - Identifier 2490313 2490357 - Parameter 2490358 2490382 - Identifier 2490358 2490367 - ArrayType 2490368 2490382 - TypeReference 2490368 2490380 - Identifier 2490368 2490380 - Parameter 2490383 2490435 - Identifier 2490383 2490398 - UnionType 2490399 2490435 - TypeReference 2490399 2490423 - Identifier 2490399 2490423 - UndefinedKeyword 2490425 2490435 - Parameter 2490436 2490467 - Identifier 2490436 2490458 - BooleanKeyword 2490459 2490467 - Parameter 2490468 2490498 - Identifier 2490468 2490489 - BooleanKeyword 2490490 2490498 - VoidKeyword 2490500 2490505 - Block 2490505 2491056 - IfStatement 2490507 2491045 - BinaryExpression 2490525 2490571 - Identifier 2490525 2490546 - ExclamationEqualsEqualsToken 2490546 2490550 - Identifier 2490550 2490571 - Block 2490572 2491045 - VariableStatement 2490574 2490692 - VariableDeclarationList 2490574 2490691 - VariableDeclaration 2490597 2490691 - Identifier 2490597 2490623 - CallExpression 2490625 2490691 - Identifier 2490625 2490642 - CallExpression 2490643 2490690 - Identifier 2490643 2490663 - Identifier 2490664 2490673 - Identifier 2490674 2490689 - ExpressionStatement 2490692 2491030 - CallExpression 2490692 2491029 - Identifier 2490692 2490717 - Identifier 2490718 2490727 - ArrowFunction 2490728 2491028 - Parameter 2490728 2490730 - Identifier 2490728 2490730 - EqualsGreaterThanToken 2490730 2490733 - Block 2490733 2491028 - VariableStatement 2490735 2490825 - VariableDeclarationList 2490735 2490824 - VariableDeclaration 2490762 2490824 - Identifier 2490762 2490772 - BinaryExpression 2490774 2490824 - CallExpression 2490774 2490794 - Identifier 2490774 2490791 - Identifier 2490792 2490793 - ExclamationEqualsEqualsToken 2490794 2490798 - Identifier 2490798 2490824 - IfStatement 2490825 2491009 - Identifier 2490851 2490860 - Block 2490861 2491009 - ExpressionStatement 2490863 2490986 - CallExpression 2490863 2490985 - Identifier 2490863 2490894 - CallExpression 2490895 2490918 - Identifier 2490895 2490915 - Identifier 2490916 2490917 - PropertyAccessExpression 2490919 2490984 - Identifier 2490919 2490931 - Identifier 2490932 2490984 - VariableStatement 2491056 2491224 - VariableDeclarationList 2491056 2491223 - VariableDeclaration 2491073 2491223 - Identifier 2491073 2491086 - TypeReference 2491087 2491101 - Identifier 2491087 2491101 - BinaryExpression 2491103 2491223 - BinaryExpression 2491103 2491198 - BinaryExpression 2491103 2491172 - BinaryExpression 2491103 2491148 - PropertyAccessExpression 2491103 2491124 - Identifier 2491103 2491117 - Identifier 2491118 2491124 - BarToken 2491124 2491126 - PropertyAccessExpression 2491126 2491148 - Identifier 2491126 2491140 - Identifier 2491141 2491148 - BarToken 2491148 2491150 - PropertyAccessExpression 2491150 2491172 - Identifier 2491150 2491164 - Identifier 2491165 2491172 - BarToken 2491172 2491174 - PropertyAccessExpression 2491174 2491198 - Identifier 2491174 2491188 - Identifier 2491189 2491198 - BarToken 2491198 2491200 - PropertyAccessExpression 2491200 2491223 - Identifier 2491200 2491214 - Identifier 2491215 2491223 - VariableStatement 2491224 2491288 - VariableDeclarationList 2491224 2491287 - VariableDeclaration 2491237 2491287 - Identifier 2491237 2491251 - TypeReference 2491252 2491266 - Identifier 2491252 2491266 - PropertyAccessExpression 2491268 2491287 - Identifier 2491268 2491282 - Identifier 2491283 2491287 - VariableStatement 2491288 2491330 - VariableDeclarationList 2491288 2491329 - VariableDeclaration 2491301 2491329 - Identifier 2491301 2491314 - Identifier 2491316 2491329 - VariableStatement 2491330 2491374 - VariableDeclarationList 2491330 2491373 - VariableDeclaration 2491343 2491373 - Identifier 2491343 2491365 - FalseKeyword 2491367 2491373 - VariableStatement 2491374 2491416 - VariableDeclarationList 2491374 2491415 - VariableDeclaration 2491387 2491415 - Identifier 2491387 2491408 - TrueKeyword 2491410 2491415 - VariableStatement 2491416 2491451 - VariableDeclarationList 2491416 2491450 - VariableDeclaration 2491429 2491450 - Identifier 2491429 2491442 - FalseKeyword 2491444 2491450 - VariableStatement 2491451 2491518 - VariableDeclarationList 2491451 2491517 - VariableDeclaration 2491464 2491517 - Identifier 2491464 2491480 - UnionType 2491481 2491517 - TypeReference 2491481 2491505 - Identifier 2491481 2491505 - UndefinedKeyword 2491507 2491517 - VariableStatement 2491518 2491599 - VariableDeclarationList 2491518 2491598 - VariableDeclaration 2491531 2491598 - Identifier 2491531 2491561 - UnionType 2491562 2491598 - TypeReference 2491562 2491586 - Identifier 2491562 2491586 - UndefinedKeyword 2491588 2491598 - VariableStatement 2491599 2491667 - VariableDeclarationList 2491599 2491666 - VariableDeclaration 2491612 2491666 - Identifier 2491612 2491632 - UnionType 2491633 2491666 - TypeReference 2491633 2491654 - Identifier 2491633 2491654 - UndefinedKeyword 2491656 2491666 - VariableStatement 2491667 2491720 - VariableDeclarationList 2491667 2491719 - VariableDeclaration 2491684 2491719 - Identifier 2491684 2491697 - PropertyAccessExpression 2491699 2491719 - Identifier 2491699 2491706 - Identifier 2491707 2491719 - VariableStatement 2491720 2491799 - VariableDeclarationList 2491720 2491798 - VariableDeclaration 2491735 2491798 - Identifier 2491735 2491749 - BinaryExpression 2491751 2491798 - ParenthesizedExpression 2491751 2491792 - BinaryExpression 2491753 2491791 - PropertyAccessExpression 2491753 2491765 - Identifier 2491753 2491759 - Identifier 2491760 2491765 - AmpersandToken 2491765 2491767 - PropertyAccessExpression 2491767 2491791 - Identifier 2491767 2491779 - Identifier 2491780 2491791 - ExclamationEqualsEqualsToken 2491792 2491796 - NumericLiteral 2491796 2491798 - FunctionDeclaration 2491799 2495854 - Identifier 2491819 2491853 - Parameter 2491854 2491880 - Identifier 2491854 2491858 - TypeReference 2491859 2491880 - Identifier 2491859 2491880 - VoidKeyword 2491882 2491887 - Block 2491887 2495854 - IfStatement 2491889 2491987 - BinaryExpression 2491907 2491944 - PropertyAccessExpression 2491907 2491916 - Identifier 2491907 2491911 - Identifier 2491912 2491916 - AmpersandAmpersandToken 2491916 2491919 - CallExpression 2491919 2491944 - Identifier 2491919 2491933 - PropertyAccessExpression 2491934 2491943 - Identifier 2491934 2491938 - Identifier 2491939 2491943 - Block 2491945 2491987 - ReturnStatement 2491947 2491972 - VariableStatement 2491987 2492020 - VariableDeclarationList 2491987 2492019 - VariableDeclaration 2492006 2492019 - Identifier 2492006 2492011 - FalseKeyword 2492013 2492019 - VariableStatement 2492020 2492268 - VariableDeclarationList 2492020 2492267 - VariableDeclaration 2492039 2492267 - Identifier 2492039 2492054 - CallExpression 2492056 2492267 - Identifier 2492056 2492069 - PropertyAccessExpression 2492070 2492081 - Identifier 2492070 2492074 - Identifier 2492075 2492081 - ArrowFunction 2492082 2492266 - Parameter 2492082 2492084 - Identifier 2492082 2492084 - EqualsGreaterThanToken 2492084 2492087 - Block 2492087 2492266 - IfStatement 2492089 2492251 - Identifier 2492111 2492115 - Block 2492116 2492168 - ReturnStatement 2492118 2492149 - Identifier 2492146 2492148 - Block 2492190 2492251 - ExpressionStatement 2492192 2492232 - BinaryExpression 2492192 2492231 - Identifier 2492192 2492218 - EqualsToken 2492218 2492220 - BinaryExpression 2492220 2492231 - Identifier 2492220 2492222 - EqualsEqualsEqualsToken 2492222 2492226 - Identifier 2492226 2492231 - IfStatement 2492268 2495069 - BinaryExpression 2492531 2492580 - Identifier 2492531 2492545 - AmpersandAmpersandToken 2492545 2492548 - BinaryExpression 2492548 2492580 - PropertyAccessExpression 2492548 2492567 - Identifier 2492548 2492563 - Identifier 2492564 2492567 - EqualsEqualsEqualsToken 2492567 2492571 - PropertyAccessExpression 2492571 2492580 - Identifier 2492571 2492576 - Identifier 2492577 2492580 - Block 2492581 2495069 - IfStatement 2492583 2495054 - BinaryExpression 2492605 2492638 - PropertyAccessExpression 2492605 2492624 - Identifier 2492605 2492619 - Identifier 2492620 2492624 - EqualsEqualsEqualsToken 2492624 2492628 - PropertyAccessExpression 2492628 2492638 - Identifier 2492628 2492633 - Identifier 2492634 2492638 - Block 2492639 2495054 - VariableStatement 2492641 2492754 - VariableDeclarationList 2492641 2492753 - VariableDeclaration 2492668 2492753 - Identifier 2492668 2492678 - TypeReference 2492679 2492684 - Identifier 2492679 2492684 - BinaryExpression 2492686 2492753 - PropertyAccessExpression 2492686 2492735 - ParenthesizedExpression 2492686 2492730 - AsExpression 2492688 2492729 - Identifier 2492688 2492702 - TypeReference 2492705 2492729 - Identifier 2492705 2492729 - Identifier 2492731 2492735 - BarBarToken 2492735 2492738 - Identifier 2492738 2492753 - VariableStatement 2492754 2492848 - VariableDeclarationList 2492754 2492847 - VariableDeclaration 2492781 2492847 - Identifier 2492781 2492796 - PropertyAccessExpression 2492798 2492847 - ParenthesizedExpression 2492798 2492842 - AsExpression 2492800 2492841 - Identifier 2492800 2492814 - TypeReference 2492817 2492841 - Identifier 2492817 2492841 - Identifier 2492843 2492847 - IfStatement 2492848 2494756 - BinaryExpression 2492874 2493778 - BinaryExpression 2492874 2492927 - PropertyAccessExpression 2492874 2492909 - Identifier 2492874 2492904 - Identifier 2492905 2492909 - AmpersandAmpersandToken 2492909 2492912 - Identifier 2492912 2492927 - AmpersandAmpersandToken 2492927 2492930 - ParenthesizedExpression 2492930 2493778 - BinaryExpression 2492932 2493751 - BinaryExpression 2492932 2493423 - BinaryExpression 2492932 2493148 - BinaryExpression 2492932 2493092 - CallExpression 2492932 2493053 - Identifier 2492932 2493042 - PropertyAccessExpression 2493043 2493052 - Identifier 2493043 2493047 - Identifier 2493048 2493052 - AmpersandAmpersandToken 2493053 2493056 - CallExpression 2493056 2493092 - Identifier 2493056 2493076 - Identifier 2493077 2493091 - AmpersandAmpersandToken 2493092 2493095 - BinaryExpression 2493095 2493148 - PropertyAccessExpression 2493095 2493117 - PropertyAccessExpression 2493095 2493105 - Identifier 2493095 2493100 - Identifier 2493101 2493105 - Identifier 2493106 2493117 - EqualsEqualsEqualsToken 2493117 2493121 - PropertyAccessExpression 2493121 2493148 - Identifier 2493121 2493136 - Identifier 2493137 2493148 - BarBarToken 2493148 2493151 - BinaryExpression 2493151 2493423 - BinaryExpression 2493151 2493321 - CallExpression 2493151 2493279 - Identifier 2493151 2493268 - PropertyAccessExpression 2493269 2493278 - Identifier 2493269 2493273 - Identifier 2493274 2493278 - AmpersandAmpersandToken 2493279 2493282 - CallExpression 2493282 2493321 - Identifier 2493282 2493305 - Identifier 2493306 2493320 - AmpersandAmpersandToken 2493321 2493324 - CallExpression 2493324 2493423 - Identifier 2493324 2493342 - CallExpression 2493343 2493379 - Identifier 2493343 2493368 - PropertyAccessExpression 2493369 2493378 - Identifier 2493369 2493373 - Identifier 2493374 2493378 - CallExpression 2493380 2493422 - Identifier 2493380 2493406 - Identifier 2493407 2493421 - BarBarToken 2493423 2493426 - BinaryExpression 2493426 2493751 - BinaryExpression 2493426 2493612 - CallExpression 2493426 2493571 - Identifier 2493426 2493560 - PropertyAccessExpression 2493561 2493570 - Identifier 2493561 2493565 - Identifier 2493566 2493570 - AmpersandAmpersandToken 2493571 2493574 - CallExpression 2493574 2493612 - Identifier 2493574 2493596 - Identifier 2493597 2493611 - AmpersandAmpersandToken 2493612 2493615 - BinaryExpression 2493615 2493751 - CallExpression 2493615 2493695 - Identifier 2493615 2493684 - PropertyAccessExpression 2493685 2493694 - Identifier 2493685 2493689 - Identifier 2493690 2493694 - EqualsEqualsEqualsToken 2493695 2493699 - CallExpression 2493699 2493751 - Identifier 2493699 2493735 - Identifier 2493736 2493750 - Block 2493801 2494756 - VariableStatement 2493803 2494014 - VariableDeclarationList 2493803 2494013 - VariableDeclaration 2493834 2494013 - Identifier 2493834 2493846 - BinaryExpression 2493848 2494013 - ParenthesizedExpression 2493848 2493937 - BinaryExpression 2493850 2493936 - BinaryExpression 2493850 2493892 - PropertyAccessExpression 2493850 2493859 - Identifier 2493850 2493854 - Identifier 2493855 2493859 - EqualsEqualsEqualsToken 2493859 2493863 - PropertyAccessExpression 2493863 2493892 - Identifier 2493863 2493874 - Identifier 2493875 2493892 - BarBarToken 2493892 2493895 - BinaryExpression 2493895 2493936 - PropertyAccessExpression 2493895 2493905 - Identifier 2493895 2493900 - Identifier 2493901 2493905 - EqualsEqualsEqualsToken 2493905 2493909 - PropertyAccessExpression 2493909 2493936 - Identifier 2493909 2493920 - Identifier 2493921 2493936 - AmpersandAmpersandToken 2493937 2493940 - BinaryExpression 2493940 2494013 - CallExpression 2493940 2493984 - Identifier 2493940 2493978 - Identifier 2493979 2493983 - ExclamationEqualsEqualsToken 2493984 2493988 - CallExpression 2493988 2494013 - Identifier 2493988 2493997 - Identifier 2493998 2494012 - IfStatement 2494014 2494700 - Identifier 2494438 2494449 - Block 2494450 2494700 - VariableStatement 2494452 2494614 - VariableDeclarationList 2494452 2494613 - VariableDeclaration 2494487 2494613 - Identifier 2494487 2494498 - ConditionalExpression 2494500 2494613 - CallExpression 2494500 2494515 - Identifier 2494500 2494509 - Identifier 2494510 2494514 - QuestionToken 2494515 2494517 - PropertyAccessExpression 2494517 2494562 - Identifier 2494517 2494529 - Identifier 2494530 2494562 - ColonToken 2494562 2494564 - PropertyAccessExpression 2494564 2494613 - Identifier 2494564 2494576 - Identifier 2494577 2494613 - ExpressionStatement 2494614 2494673 - CallExpression 2494614 2494672 - Identifier 2494614 2494649 - Identifier 2494650 2494659 - Identifier 2494660 2494671 - ReturnStatement 2494700 2494733 - IfStatement 2494756 2495035 - CallExpression 2494782 2494845 - Identifier 2494782 2494795 - PropertyAccessExpression 2494796 2494844 - ParenthesizedExpression 2494796 2494839 - AsExpression 2494797 2494838 - Identifier 2494797 2494811 - TypeReference 2494814 2494838 - Identifier 2494814 2494838 - Identifier 2494840 2494844 - Block 2494846 2495035 - ExpressionStatement 2494848 2494979 - CallExpression 2494848 2494978 - Identifier 2494848 2494879 - Identifier 2494880 2494889 - PropertyAccessExpression 2494890 2494941 - Identifier 2494890 2494902 - Identifier 2494903 2494941 - CallExpression 2494942 2494977 - Identifier 2494942 2494966 - PropertyAccessExpression 2494967 2494976 - Identifier 2494967 2494971 - Identifier 2494972 2494976 - ReturnStatement 2494979 2495012 - VariableStatement 2495069 2495125 - VariableDeclarationList 2495069 2495124 - VariableDeclaration 2495088 2495124 - Identifier 2495088 2495098 - TypeReference 2495099 2495104 - Identifier 2495099 2495104 - BinaryExpression 2495106 2495124 - PropertyAccessExpression 2495106 2495116 - Identifier 2495106 2495111 - Identifier 2495112 2495116 - BarBarToken 2495116 2495119 - Identifier 2495119 2495124 - IfStatement 2495125 2495843 - Identifier 2495143 2495156 - Block 2495157 2495260 - ExpressionStatement 2495159 2495245 - CallExpression 2495159 2495244 - Identifier 2495159 2495182 - Identifier 2495183 2495192 - PropertyAccessExpression 2495193 2495243 - Identifier 2495193 2495205 - Identifier 2495206 2495243 - Block 2495278 2495843 - IfStatement 2495280 2495828 - CallExpression 2495470 2495520 - Identifier 2495470 2495490 - Identifier 2495491 2495495 - PropertyAccessExpression 2495496 2495519 - Identifier 2495496 2495510 - Identifier 2495511 2495519 - Block 2495521 2495653 - ExpressionStatement 2495523 2495634 - CallExpression 2495523 2495633 - Identifier 2495523 2495550 - Identifier 2495551 2495560 - PropertyAccessExpression 2495561 2495632 - Identifier 2495561 2495573 - Identifier 2495574 2495632 - Block 2495675 2495828 - ExpressionStatement 2495677 2495809 - CallExpression 2495677 2495808 - Identifier 2495677 2495704 - Identifier 2495705 2495714 - PropertyAccessExpression 2495715 2495807 - Identifier 2495715 2495727 - Identifier 2495728 2495807 - VariableStatement 2495854 2495907 - VariableDeclarationList 2495854 2495906 - VariableDeclaration 2495869 2495906 - Identifier 2495869 2495898 - FalseKeyword 2495900 2495906 - VariableStatement 2495907 2495963 - VariableDeclarationList 2495907 2495962 - VariableDeclaration 2495920 2495962 - Identifier 2495920 2495954 - FalseKeyword 2495956 2495962 - VariableStatement 2495963 2496004 - VariableDeclarationList 2495963 2496003 - VariableDeclaration 2495976 2496003 - Identifier 2495976 2495995 - FalseKeyword 2495997 2496003 - VariableStatement 2496004 2496063 - VariableDeclarationList 2496004 2496062 - VariableDeclaration 2496019 2496062 - Identifier 2496019 2496040 - AsExpression 2496042 2496062 - ArrayLiteralExpression 2496042 2496045 - ArrayType 2496048 2496062 - TypeReference 2496048 2496060 - Identifier 2496048 2496060 - IfStatement 2496063 2499438 - Identifier 2496077 2496089 - Block 2496090 2499438 - ForOfStatement 2496092 2499427 - VariableDeclarationList 2496111 2496124 - VariableDeclaration 2496116 2496124 - Identifier 2496116 2496124 - Identifier 2496127 2496140 - Block 2496141 2499427 - VariableStatement 2496143 2496243 - VariableDeclarationList 2496143 2496242 - VariableDeclaration 2496166 2496242 - Identifier 2496166 2496171 - AsExpression 2496173 2496242 - Identifier 2496173 2496181 - UnionType 2496184 2496242 - TypeReference 2496184 2496205 - Identifier 2496184 2496205 - TypeReference 2496207 2496224 - Identifier 2496207 2496224 - TypeReference 2496226 2496242 - Identifier 2496226 2496242 - VariableStatement 2496243 2496317 - VariableDeclarationList 2496243 2496316 - VariableDeclaration 2496266 2496316 - Identifier 2496266 2496283 - BinaryExpression 2496285 2496316 - PropertyAccessExpression 2496285 2496296 - Identifier 2496285 2496290 - Identifier 2496291 2496296 - AmpersandToken 2496296 2496298 - PropertyAccessExpression 2496298 2496316 - Identifier 2496298 2496308 - Identifier 2496309 2496316 - VariableStatement 2496317 2496508 - VariableDeclarationList 2496317 2496507 - VariableDeclaration 2496340 2496507 - Identifier 2496340 2496368 - BinaryExpression 2496370 2496507 - BinaryExpression 2496370 2496487 - PropertyAccessExpression 2496370 2496382 - Identifier 2496370 2496375 - Identifier 2496376 2496382 - AmpersandAmpersandToken 2496382 2496385 - ParenthesizedExpression 2496385 2496487 - BinaryExpression 2496387 2496486 - BinaryExpression 2496387 2496439 - PropertyAccessExpression 2496387 2496403 - PropertyAccessExpression 2496387 2496398 - Identifier 2496387 2496391 - Identifier 2496392 2496398 - Identifier 2496399 2496403 - EqualsEqualsEqualsToken 2496403 2496407 - PropertyAccessExpression 2496407 2496439 - Identifier 2496407 2496418 - Identifier 2496419 2496439 - BarBarToken 2496439 2496442 - BinaryExpression 2496442 2496486 - PropertyAccessExpression 2496442 2496459 - PropertyAccessExpression 2496442 2496454 - Identifier 2496442 2496447 - Identifier 2496448 2496454 - Identifier 2496455 2496459 - EqualsEqualsEqualsToken 2496459 2496463 - PropertyAccessExpression 2496463 2496486 - Identifier 2496463 2496474 - Identifier 2496475 2496486 - BarBarToken 2496487 2496490 - Identifier 2496490 2496507 - IfStatement 2496508 2497140 - Identifier 2496530 2496557 - Block 2496558 2497140 - ExpressionStatement 2496560 2497121 - BinaryExpression 2496560 2497120 - Identifier 2496560 2497108 - EqualsToken 2497108 2497110 - Identifier 2497110 2497120 - IfStatement 2497140 2497342 - BinaryExpression 2497164 2497272 - ParenthesizedExpression 2497164 2497251 - BinaryExpression 2497165 2497250 - BinaryExpression 2497165 2497206 - PropertyAccessExpression 2497165 2497174 - Identifier 2497165 2497169 - Identifier 2497170 2497174 - EqualsEqualsEqualsToken 2497174 2497178 - PropertyAccessExpression 2497178 2497206 - Identifier 2497178 2497189 - Identifier 2497190 2497206 - BarBarToken 2497206 2497209 - BinaryExpression 2497209 2497250 - PropertyAccessExpression 2497209 2497219 - Identifier 2497209 2497214 - Identifier 2497215 2497219 - EqualsEqualsEqualsToken 2497219 2497223 - PropertyAccessExpression 2497223 2497250 - Identifier 2497223 2497234 - Identifier 2497235 2497250 - AmpersandAmpersandToken 2497251 2497254 - PrefixUnaryExpression 2497254 2497272 - Identifier 2497256 2497272 - Block 2497273 2497342 - ExpressionStatement 2497275 2497323 - BinaryExpression 2497275 2497322 - Identifier 2497275 2497315 - EqualsToken 2497315 2497317 - TrueKeyword 2497317 2497322 - IfStatement 2497342 2499226 - BinaryExpression 2497366 2497540 - BinaryExpression 2497366 2497500 - BinaryExpression 2497366 2497456 - BinaryExpression 2497366 2497410 - PropertyAccessExpression 2497366 2497375 - Identifier 2497366 2497370 - Identifier 2497371 2497375 - EqualsEqualsEqualsToken 2497375 2497379 - PropertyAccessExpression 2497379 2497410 - Identifier 2497379 2497390 - Identifier 2497391 2497410 - BarBarToken 2497410 2497413 - BinaryExpression 2497413 2497456 - PropertyAccessExpression 2497413 2497423 - Identifier 2497413 2497418 - Identifier 2497419 2497423 - EqualsEqualsEqualsToken 2497423 2497427 - PropertyAccessExpression 2497427 2497456 - Identifier 2497427 2497438 - Identifier 2497439 2497456 - BarBarToken 2497456 2497459 - BinaryExpression 2497459 2497500 - PropertyAccessExpression 2497459 2497469 - Identifier 2497459 2497464 - Identifier 2497465 2497469 - EqualsEqualsEqualsToken 2497469 2497473 - PropertyAccessExpression 2497473 2497500 - Identifier 2497473 2497484 - Identifier 2497485 2497500 - BarBarToken 2497500 2497503 - BinaryExpression 2497503 2497540 - PropertyAccessExpression 2497503 2497513 - Identifier 2497503 2497508 - Identifier 2497509 2497513 - EqualsEqualsEqualsToken 2497513 2497517 - PropertyAccessExpression 2497517 2497540 - Identifier 2497517 2497528 - Identifier 2497529 2497540 - Block 2497541 2499226 - ExpressionStatement 2497543 2497597 - CallExpression 2497543 2497596 - PropertyAccessExpression 2497543 2497590 - Identifier 2497543 2497585 - Identifier 2497586 2497590 - Identifier 2497591 2497595 - VariableStatement 2497597 2497693 - VariableDeclarationList 2497597 2497692 - VariableDeclaration 2497624 2497692 - Identifier 2497624 2497641 - CallExpression 2497643 2497692 - Identifier 2497643 2497672 - Identifier 2497673 2497677 - Identifier 2497678 2497691 - ExpressionStatement 2497693 2497749 - BinaryExpression 2497693 2497748 - Identifier 2497693 2497728 - BarEqualsToken 2497728 2497731 - Identifier 2497731 2497748 - ExpressionStatement 2497749 2497804 - BinaryExpression 2497749 2497803 - Identifier 2497749 2497783 - AmpersandEqualsToken 2497783 2497786 - Identifier 2497786 2497803 - ExpressionStatement 2497804 2497898 - BinaryExpression 2497804 2497897 - Identifier 2497804 2497847 - EqualsToken 2497847 2497849 - BinaryExpression 2497849 2497897 - Identifier 2497849 2497871 - BarBarToken 2497871 2497874 - CallExpression 2497874 2497897 - Identifier 2497874 2497891 - Identifier 2497892 2497896 - ExpressionStatement 2497898 2497990 - BinaryExpression 2497898 2497989 - Identifier 2497898 2497940 - EqualsToken 2497940 2497942 - BinaryExpression 2497942 2497989 - Identifier 2497942 2497963 - AmpersandAmpersandToken 2497963 2497966 - CallExpression 2497966 2497989 - Identifier 2497966 2497983 - Identifier 2497984 2497988 - VariableStatement 2497990 2498088 - VariableDeclarationList 2497990 2498087 - VariableDeclaration 2498017 2498087 - Identifier 2498017 2498031 - CallExpression 2498033 2498087 - Identifier 2498033 2498047 - PropertyAccessExpression 2498048 2498086 - ParenthesizedExpression 2498048 2498081 - AsExpression 2498049 2498080 - Identifier 2498049 2498053 - TypeReference 2498056 2498080 - Identifier 2498056 2498080 - Identifier 2498082 2498086 - IfStatement 2498088 2498664 - BinaryExpression 2498116 2498148 - Identifier 2498116 2498129 - AmpersandAmpersandToken 2498129 2498132 - Identifier 2498132 2498148 - Block 2498149 2498443 - IfStatement 2498151 2498420 - Identifier 2498181 2498194 - Block 2498195 2498295 - ExpressionStatement 2498197 2498268 - BinaryExpression 2498197 2498267 - Identifier 2498197 2498260 - EqualsToken 2498260 2498262 - TrueKeyword 2498262 2498267 - Block 2498325 2498420 - ExpressionStatement 2498327 2498393 - BinaryExpression 2498327 2498392 - Identifier 2498327 2498385 - EqualsToken 2498385 2498387 - TrueKeyword 2498387 2498392 - IfStatement 2498469 2498664 - BinaryExpression 2498474 2498557 - BinaryExpression 2498474 2498517 - PropertyAccessExpression 2498474 2498501 - Identifier 2498474 2498493 - QuestionDotToken 2498493 2498495 - Identifier 2498495 2498501 - EqualsEqualsEqualsToken 2498501 2498505 - PropertyAccessExpression 2498505 2498517 - Identifier 2498505 2498510 - Identifier 2498511 2498517 - AmpersandAmpersandToken 2498517 2498520 - BinaryExpression 2498520 2498557 - PropertyAccessExpression 2498520 2498544 - Identifier 2498520 2498540 - Identifier 2498541 2498544 - ExclamationEqualsEqualsToken 2498544 2498548 - PropertyAccessExpression 2498548 2498557 - Identifier 2498548 2498553 - Identifier 2498554 2498557 - Block 2498558 2498664 - ExpressionStatement 2498560 2498641 - CallExpression 2498560 2498640 - Identifier 2498560 2498619 - Identifier 2498620 2498639 - IfStatement 2498664 2498984 - Identifier 2498692 2498705 - Block 2498706 2498887 - IfStatement 2498708 2498864 - PrefixUnaryExpression 2498738 2498754 - Identifier 2498739 2498754 - Block 2498755 2498864 - ExpressionStatement 2498757 2498837 - BinaryExpression 2498757 2498836 - Identifier 2498757 2498802 - EqualsToken 2498802 2498804 - AsExpression 2498804 2498836 - Identifier 2498804 2498809 - TypeReference 2498812 2498836 - Identifier 2498812 2498836 - Block 2498913 2498984 - ExpressionStatement 2498915 2498961 - BinaryExpression 2498915 2498960 - Identifier 2498915 2498953 - EqualsToken 2498953 2498955 - TrueKeyword 2498955 2498960 - ExpressionStatement 2498984 2499035 - BinaryExpression 2498984 2499034 - Identifier 2498984 2499027 - EqualsToken 2499027 2499029 - Identifier 2499029 2499034 - IfStatement 2499035 2499207 - PrefixUnaryExpression 2499063 2499091 - Identifier 2499064 2499091 - Block 2499092 2499207 - ExpressionStatement 2499094 2499184 - BinaryExpression 2499094 2499183 - Identifier 2499094 2499149 - EqualsToken 2499149 2499151 - AsExpression 2499151 2499183 - Identifier 2499151 2499156 - TypeReference 2499159 2499183 - Identifier 2499159 2499183 - IfStatement 2499226 2499412 - BinaryExpression 2499248 2499311 - BinaryExpression 2499248 2499294 - CallExpression 2499248 2499267 - Identifier 2499248 2499258 - Identifier 2499259 2499266 - AmpersandAmpersandToken 2499267 2499270 - CallExpression 2499270 2499294 - Identifier 2499270 2499285 - Identifier 2499286 2499293 - AmpersandAmpersandToken 2499294 2499297 - PropertyAccessExpression 2499297 2499311 - Identifier 2499297 2499305 - Identifier 2499306 2499311 - Block 2499312 2499412 - ExpressionStatement 2499314 2499393 - BinaryExpression 2499314 2499392 - Identifier 2499314 2499348 - EqualsToken 2499348 2499350 - BinaryExpression 2499350 2499392 - CallExpression 2499350 2499388 - Identifier 2499350 2499357 - CallExpression 2499358 2499387 - Identifier 2499358 2499378 - Identifier 2499379 2499386 - GreaterThanToken 2499388 2499390 - NumericLiteral 2499390 2499392 - IfStatement 2499438 2499681 - Identifier 2499454 2499487 - Block 2499488 2499681 - ExpressionStatement 2499490 2499670 - CallExpression 2499490 2499669 - Identifier 2499490 2499511 - Identifier 2499512 2499532 - ArrowFunction 2499533 2499668 - Parameter 2499533 2499545 - Identifier 2499533 2499545 - EqualsGreaterThanToken 2499545 2499548 - Block 2499548 2499668 - ExpressionStatement 2499550 2499653 - CallExpression 2499550 2499652 - Identifier 2499550 2499573 - Identifier 2499574 2499585 - PropertyAccessExpression 2499586 2499651 - Identifier 2499586 2499598 - Identifier 2499599 2499651 - IfStatement 2499681 2499937 - Identifier 2499697 2499725 - Block 2499726 2499937 - ExpressionStatement 2499728 2499926 - CallExpression 2499728 2499925 - Identifier 2499728 2499749 - Identifier 2499750 2499770 - ArrowFunction 2499771 2499924 - Parameter 2499771 2499783 - Identifier 2499771 2499783 - EqualsGreaterThanToken 2499783 2499786 - Block 2499786 2499924 - ExpressionStatement 2499788 2499909 - CallExpression 2499788 2499908 - Identifier 2499788 2499811 - BinaryExpression 2499812 2499860 - CallExpression 2499812 2499845 - Identifier 2499812 2499832 - Identifier 2499833 2499844 - BarBarToken 2499845 2499848 - Identifier 2499848 2499860 - PropertyAccessExpression 2499861 2499907 - Identifier 2499861 2499873 - Identifier 2499874 2499907 - IfStatement 2499937 2501015 - BinaryExpression 2499953 2500044 - BinaryExpression 2499953 2500028 - BinaryExpression 2499953 2499989 - Identifier 2499953 2499971 - AmpersandAmpersandToken 2499971 2499974 - PrefixUnaryExpression 2499974 2499989 - Identifier 2499976 2499989 - AmpersandAmpersandToken 2499989 2499992 - BinaryExpression 2499992 2500028 - PropertyAccessExpression 2499992 2500005 - Identifier 2499992 2499999 - Identifier 2500000 2500005 - AmpersandToken 2500005 2500007 - PropertyAccessExpression 2500007 2500028 - Identifier 2500007 2500019 - Identifier 2500020 2500028 - AmpersandAmpersandToken 2500028 2500031 - Identifier 2500031 2500044 - Block 2500045 2501015 - VariableStatement 2500047 2500271 - VariableDeclarationList 2500047 2500270 - VariableDeclaration 2500066 2500270 - Identifier 2500066 2500085 - CallExpression 2500087 2500270 - PropertyAccessExpression 2500087 2500175 - CallExpression 2500087 2500153 - Identifier 2500087 2500094 - Identifier 2500095 2500107 - ArrowFunction 2500108 2500152 - Parameter 2500108 2500110 - Identifier 2500108 2500110 - EqualsGreaterThanToken 2500110 2500113 - BinaryExpression 2500113 2500152 - PropertyAccessExpression 2500113 2500120 - Identifier 2500113 2500115 - Identifier 2500116 2500120 - EqualsEqualsEqualsToken 2500120 2500124 - PropertyAccessExpression 2500124 2500152 - Identifier 2500124 2500135 - Identifier 2500136 2500152 - Identifier 2500172 2500175 - ArrowFunction 2500176 2500269 - Parameter 2500176 2500177 - Identifier 2500176 2500177 - EqualsGreaterThanToken 2500177 2500180 - CallExpression 2500180 2500269 - Identifier 2500180 2500204 - Identifier 2500205 2500206 - PropertyAccessExpression 2500207 2500268 - Identifier 2500207 2500219 - Identifier 2500220 2500268 - ExpressionStatement 2500271 2501004 - CallExpression 2500271 2501003 - Identifier 2500271 2500294 - Identifier 2500295 2500307 - ArrowFunction 2500308 2501002 - Parameter 2500308 2500320 - Identifier 2500308 2500320 - EqualsGreaterThanToken 2500320 2500323 - Block 2500323 2501002 - VariableStatement 2500325 2500710 - VariableDeclarationList 2500325 2500709 - VariableDeclaration 2500348 2500709 - Identifier 2500348 2500359 - ConditionalExpression 2500361 2500709 - BinaryExpression 2500361 2500410 - PropertyAccessExpression 2500361 2500378 - Identifier 2500361 2500373 - Identifier 2500374 2500378 - EqualsEqualsEqualsToken 2500378 2500382 - PropertyAccessExpression 2500382 2500410 - Identifier 2500382 2500393 - Identifier 2500394 2500410 - QuestionToken 2500410 2500433 - PropertyAccessExpression 2500433 2500500 - Identifier 2500433 2500445 - Identifier 2500446 2500500 - ColonToken 2500500 2500523 - ConditionalExpression 2500523 2500709 - BinaryExpression 2500523 2500575 - PropertyAccessExpression 2500523 2500540 - Identifier 2500523 2500535 - Identifier 2500536 2500540 - EqualsEqualsEqualsToken 2500540 2500544 - PropertyAccessExpression 2500544 2500575 - Identifier 2500544 2500555 - Identifier 2500556 2500575 - QuestionToken 2500575 2500598 - PropertyAccessExpression 2500598 2500676 - Identifier 2500598 2500610 - Identifier 2500611 2500676 - ColonToken 2500676 2500699 - Identifier 2500699 2500709 - IfStatement 2500710 2500987 - Identifier 2500732 2500742 - Block 2500743 2500987 - ExpressionStatement 2500745 2500968 - CallExpression 2500745 2500967 - Identifier 2500745 2500781 - CallExpression 2500782 2500895 - Identifier 2500782 2500813 - BinaryExpression 2500814 2500862 - CallExpression 2500814 2500847 - Identifier 2500814 2500834 - Identifier 2500835 2500846 - BarBarToken 2500847 2500850 - Identifier 2500850 2500862 - Identifier 2500863 2500874 - CallExpression 2500875 2500894 - Identifier 2500875 2500886 - Identifier 2500887 2500893 - SpreadElement 2500896 2500943 - Identifier 2500925 2500943 - IfStatement 2501015 2501454 - BinaryExpression 2501128 2501351 - BinaryExpression 2501128 2501303 - BinaryExpression 2501128 2501210 - Identifier 2501128 2501171 - AmpersandAmpersandToken 2501171 2501174 - PrefixUnaryExpression 2501174 2501210 - PropertyAccessExpression 2501176 2501210 - Identifier 2501176 2501205 - Identifier 2501206 2501210 - AmpersandAmpersandToken 2501210 2501213 - PrefixUnaryExpression 2501213 2501303 - CallExpression 2501228 2501303 - Identifier 2501228 2501248 - Identifier 2501249 2501278 - PropertyAccessExpression 2501279 2501302 - Identifier 2501279 2501293 - Identifier 2501294 2501302 - AmpersandAmpersandToken 2501303 2501306 - PrefixUnaryExpression 2501306 2501351 - PropertyAccessExpression 2501308 2501351 - Identifier 2501308 2501337 - Identifier 2501338 2501351 - Block 2501362 2501454 - ExpressionStatement 2501364 2501443 - CallExpression 2501364 2501442 - Identifier 2501364 2501411 - Identifier 2501412 2501441 - IfStatement 2501454 2502843 - Identifier 2501470 2501482 - Block 2501483 2502843 - IfStatement 2501485 2501798 - Identifier 2501503 2501515 - Block 2501516 2501798 - ExpressionStatement 2501518 2501645 - CallExpression 2501518 2501644 - Identifier 2501518 2501570 - Identifier 2501571 2501583 - Identifier 2501584 2501600 - Identifier 2501601 2501614 - Identifier 2501615 2501629 - Identifier 2501630 2501643 - ExpressionStatement 2501645 2501783 - CallExpression 2501645 2501782 - Identifier 2501645 2501706 - Identifier 2501707 2501719 - Identifier 2501720 2501736 - Identifier 2501737 2501759 - Identifier 2501760 2501781 - IfStatement 2501798 2502832 - Identifier 2501818 2501833 - Block 2501834 2502832 - VariableStatement 2501836 2501903 - VariableDeclarationList 2501836 2501902 - VariableDeclaration 2501859 2501902 - Identifier 2501859 2501870 - CallExpression 2501872 2501902 - Identifier 2501872 2501894 - Identifier 2501895 2501901 - VariableStatement 2501903 2501988 - VariableDeclarationList 2501903 2501987 - VariableDeclaration 2501926 2501987 - Identifier 2501926 2501940 - CallExpression 2501942 2501987 - Identifier 2501942 2501970 - Identifier 2501971 2501986 - ForOfStatement 2501988 2502817 - VariableDeclarationList 2502011 2502026 - VariableDeclaration 2502016 2502026 - Identifier 2502016 2502026 - Identifier 2502029 2502040 - Block 2502041 2502817 - IfStatement 2502043 2502798 - PrefixUnaryExpression 2502069 2502134 - CallExpression 2502070 2502134 - Identifier 2502070 2502108 - Identifier 2502109 2502122 - Identifier 2502123 2502133 - Block 2502135 2502798 - VariableStatement 2502137 2502408 - VariableDeclarationList 2502137 2502407 - VariableDeclaration 2502168 2502407 - Identifier 2502168 2502178 - ConditionalExpression 2502180 2502407 - BinaryExpression 2502180 2502245 - PropertyAccessExpression 2502180 2502202 - Identifier 2502180 2502190 - Identifier 2502191 2502202 - AmpersandAmpersandToken 2502202 2502205 - CallExpression 2502205 2502245 - Identifier 2502205 2502222 - PropertyAccessExpression 2502223 2502244 - Identifier 2502223 2502232 - Identifier 2502233 2502244 - QuestionToken 2502245 2502276 - PropertyAccessExpression 2502276 2502354 - ParenthesizedExpression 2502276 2502346 - AsExpression 2502278 2502345 - PropertyAccessExpression 2502278 2502306 - PropertyAccessExpression 2502278 2502299 - Identifier 2502278 2502287 - Identifier 2502288 2502299 - Identifier 2502300 2502306 - UnionType 2502309 2502345 - TypeReference 2502309 2502326 - Identifier 2502309 2502326 - TypeReference 2502328 2502345 - Identifier 2502328 2502345 - Identifier 2502347 2502354 - ColonToken 2502354 2502385 - PropertyAccessExpression 2502385 2502407 - Identifier 2502385 2502395 - Identifier 2502396 2502407 - ExpressionStatement 2502408 2502743 - CallExpression 2502408 2502742 - Identifier 2502408 2502448 - CallExpression 2502449 2502584 - Identifier 2502449 2502484 - Identifier 2502485 2502494 - PropertyAccessExpression 2502495 2502583 - Identifier 2502495 2502507 - Identifier 2502508 2502583 - CallExpression 2502585 2502714 - Identifier 2502585 2502638 - Identifier 2502639 2502654 - PropertyAccessExpression 2502655 2502713 - Identifier 2502655 2502667 - Identifier 2502668 2502713 - BreakStatement 2502743 2502775 - FunctionDeclaration 2502850 2503013 - Identifier 2502866 2502899 - Parameter 2502900 2502917 - Identifier 2502900 2502904 - TypeReference 2502905 2502917 - Identifier 2502905 2502917 - VoidKeyword 2502919 2502924 - Block 2502924 2503013 - ExpressionStatement 2502926 2503006 - CallExpression 2502926 2503005 - Identifier 2502926 2502953 - ArrowFunction 2502954 2503004 - EqualsGreaterThanToken 2502956 2502959 - CallExpression 2502959 2503004 - Identifier 2502959 2502998 - Identifier 2502999 2503003 - FunctionDeclaration 2503013 2510292 - Identifier 2503029 2503068 - Parameter 2503069 2503086 - Identifier 2503069 2503073 - TypeReference 2503074 2503086 - Identifier 2503074 2503086 - VoidKeyword 2503088 2503093 - Block 2503093 2510292 - VariableStatement 2503095 2503230 - VariableDeclarationList 2503095 2503229 - VariableDeclaration 2503203 2503229 - Identifier 2503203 2503210 - PropertyAccessExpression 2503212 2503229 - Identifier 2503212 2503217 - Identifier 2503218 2503229 - IfStatement 2503230 2503672 - PrefixUnaryExpression 2503244 2503251 - Identifier 2503245 2503251 - Block 2503252 2503672 - ExpressionStatement 2503254 2503468 - BinaryExpression 2503254 2503467 - Identifier 2503254 2503435 - EqualsToken 2503435 2503437 - NonNullExpression 2503437 2503467 - CallExpression 2503437 2503466 - Identifier 2503437 2503460 - Identifier 2503461 2503465 - IfStatement 2503468 2503661 - PrefixUnaryExpression 2503486 2503506 - PropertyAccessExpression 2503487 2503506 - Identifier 2503487 2503493 - Identifier 2503494 2503506 - Block 2503507 2503661 - ReturnStatement 2503509 2503646 - IfStatement 2503672 2503840 - BinaryExpression 2503757 2503805 - CallExpression 2503757 2503796 - Identifier 2503757 2503777 - Identifier 2503778 2503784 - PropertyAccessExpression 2503785 2503795 - Identifier 2503785 2503790 - Identifier 2503791 2503795 - ExclamationEqualsEqualsToken 2503796 2503800 - Identifier 2503800 2503805 - Block 2503806 2503840 - ReturnStatement 2503808 2503829 - VariableStatement 2503840 2503907 - VariableDeclarationList 2503840 2503906 - VariableDeclaration 2503855 2503906 - Identifier 2503855 2503881 - PropertyAccessExpression 2503883 2503906 - Identifier 2503883 2503901 - Identifier 2503902 2503906 - VariableStatement 2503907 2503975 - VariableDeclarationList 2503907 2503974 - VariableDeclaration 2503920 2503974 - Identifier 2503920 2503949 - PropertyAccessExpression 2503951 2503974 - Identifier 2503951 2503969 - Identifier 2503970 2503974 - VariableStatement 2503975 2504047 - VariableDeclarationList 2503975 2504046 - VariableDeclaration 2503988 2504046 - Identifier 2503988 2504021 - PropertyAccessExpression 2504023 2504046 - Identifier 2504023 2504041 - Identifier 2504042 2504046 - ForOfStatement 2504047 2504767 - VariableDeclarationList 2504062 2504069 - VariableDeclaration 2504067 2504069 - Identifier 2504067 2504069 - NonNullExpression 2504072 2504093 - PropertyAccessExpression 2504072 2504092 - Identifier 2504072 2504079 - Identifier 2504080 2504092 - Block 2504094 2504767 - VariableStatement 2504096 2504160 - VariableDeclarationList 2504096 2504159 - VariableDeclaration 2504115 2504159 - Identifier 2504115 2504133 - CallExpression 2504135 2504159 - Identifier 2504135 2504156 - Identifier 2504157 2504158 - VariableStatement 2504160 2504286 - VariableDeclarationList 2504160 2504285 - VariableDeclaration 2504179 2504285 - Identifier 2504179 2504205 - CallExpression 2504207 2504285 - Identifier 2504207 2504236 - Identifier 2504237 2504238 - BinaryExpression 2504239 2504284 - PropertyAccessExpression 2504239 2504260 - Identifier 2504239 2504253 - Identifier 2504254 2504260 - BarToken 2504260 2504262 - PropertyAccessExpression 2504262 2504284 - Identifier 2504262 2504276 - Identifier 2504277 2504284 - IfStatement 2504286 2504756 - BinaryExpression 2504306 2504354 - Identifier 2504306 2504331 - AmpersandToken 2504331 2504333 - PropertyAccessExpression 2504333 2504354 - Identifier 2504333 2504347 - Identifier 2504348 2504354 - Block 2504355 2504653 - IfStatement 2504357 2504638 - BinaryExpression 2504379 2504428 - Identifier 2504379 2504404 - AmpersandToken 2504404 2504406 - PropertyAccessExpression 2504406 2504428 - Identifier 2504406 2504420 - Identifier 2504421 2504428 - Block 2504429 2504526 - ExpressionStatement 2504431 2504507 - BinaryExpression 2504431 2504506 - Identifier 2504431 2504485 - BarEqualsToken 2504485 2504488 - Identifier 2504488 2504506 - Block 2504548 2504638 - ExpressionStatement 2504550 2504619 - BinaryExpression 2504550 2504618 - Identifier 2504550 2504597 - BarEqualsToken 2504597 2504600 - Identifier 2504600 2504618 - Block 2504671 2504756 - ExpressionStatement 2504673 2504741 - BinaryExpression 2504673 2504740 - Identifier 2504673 2504719 - BarEqualsToken 2504719 2504722 - Identifier 2504722 2504740 - VariableStatement 2504767 2504945 - VariableDeclarationList 2504767 2504944 - VariableDeclaration 2504849 2504944 - Identifier 2504849 2504885 - BinaryExpression 2504887 2504944 - Identifier 2504887 2504913 - BarToken 2504913 2504915 - Identifier 2504915 2504944 - VariableStatement 2504945 2505065 - VariableDeclarationList 2504945 2505064 - VariableDeclaration 2504962 2505064 - Identifier 2504962 2505005 - BinaryExpression 2505007 2505064 - Identifier 2505007 2505033 - AmpersandToken 2505033 2505035 - Identifier 2505035 2505064 - VariableStatement 2505065 2505201 - VariableDeclarationList 2505065 2505200 - VariableDeclaration 2505080 2505200 - Identifier 2505080 2505127 - BinaryExpression 2505129 2505200 - Identifier 2505129 2505162 - AmpersandToken 2505162 2505164 - Identifier 2505164 2505200 - IfStatement 2505201 2506288 - BinaryExpression 2505217 2505309 - Identifier 2505217 2505259 - BarBarToken 2505259 2505262 - Identifier 2505262 2505309 - Block 2505310 2506288 - ForOfStatement 2505312 2506277 - VariableDeclarationList 2505419 2505426 - VariableDeclaration 2505424 2505426 - Identifier 2505424 2505426 - NonNullExpression 2505429 2505450 - PropertyAccessExpression 2505429 2505449 - Identifier 2505429 2505436 - Identifier 2505437 2505449 - Block 2505451 2506277 - VariableStatement 2505453 2505521 - VariableDeclarationList 2505453 2505520 - VariableDeclaration 2505476 2505520 - Identifier 2505476 2505494 - CallExpression 2505496 2505520 - Identifier 2505496 2505517 - Identifier 2505518 2505519 - VariableStatement 2505521 2505578 - VariableDeclarationList 2505521 2505577 - VariableDeclaration 2505546 2505577 - Identifier 2505546 2505551 - CallExpression 2505553 2505577 - Identifier 2505553 2505574 - Identifier 2505575 2505576 - IfStatement 2505578 2506262 - BinaryExpression 2505696 2505762 - Identifier 2505696 2505713 - AmpersandToken 2505713 2505715 - Identifier 2505715 2505762 - Block 2505763 2505991 - ExpressionStatement 2505765 2505972 - CallExpression 2505765 2505971 - Identifier 2505765 2505792 - Identifier 2505793 2505797 - PropertyAccessExpression 2505798 2505939 - Identifier 2505798 2505810 - Identifier 2505811 2505939 - CallExpression 2505940 2505970 - Identifier 2505940 2505964 - Identifier 2505965 2505969 - IfStatement 2506013 2506262 - BinaryExpression 2506018 2506080 - Identifier 2506018 2506035 - AmpersandToken 2506035 2506037 - Identifier 2506037 2506080 - Block 2506081 2506262 - ExpressionStatement 2506083 2506243 - CallExpression 2506083 2506242 - Identifier 2506083 2506110 - Identifier 2506111 2506115 - PropertyAccessExpression 2506116 2506210 - Identifier 2506116 2506128 - Identifier 2506129 2506210 - CallExpression 2506211 2506241 - Identifier 2506211 2506235 - Identifier 2506236 2506240 - FunctionDeclaration 2506288 2510285 - Identifier 2506308 2506329 - Parameter 2506330 2506347 - Identifier 2506330 2506334 - TypeReference 2506335 2506347 - Identifier 2506335 2506347 - TypeReference 2506349 2506367 - Identifier 2506349 2506367 - Block 2506367 2510285 - VariableStatement 2506369 2506404 - VariableDeclarationList 2506369 2506403 - VariableDeclaration 2506386 2506403 - Identifier 2506386 2506388 - AsExpression 2506390 2506403 - Identifier 2506390 2506395 - TypeReference 2506398 2506403 - Identifier 2506398 2506403 - SwitchStatement 2506404 2510274 - PropertyAccessExpression 2506426 2506432 - Identifier 2506426 2506427 - Identifier 2506428 2506432 - CaseBlock 2506433 2510274 - CaseClause 2506435 2506490 - PropertyAccessExpression 2506457 2506489 - Identifier 2506457 2506468 - Identifier 2506469 2506489 - CaseClause 2506490 2506545 - PropertyAccessExpression 2506512 2506544 - Identifier 2506512 2506523 - Identifier 2506524 2506544 - CaseClause 2506545 2506714 - PropertyAccessExpression 2506686 2506713 - Identifier 2506686 2506697 - Identifier 2506698 2506713 - CaseClause 2506714 2506765 - PropertyAccessExpression 2506736 2506764 - Identifier 2506736 2506747 - Identifier 2506748 2506764 - CaseClause 2506765 2506870 - PropertyAccessExpression 2506787 2506811 - Identifier 2506787 2506798 - Identifier 2506799 2506811 - ReturnStatement 2506812 2506870 - PropertyAccessExpression 2506840 2506869 - Identifier 2506840 2506858 - Identifier 2506859 2506869 - CaseClause 2506870 2507235 - PropertyAccessExpression 2506892 2506921 - Identifier 2506892 2506903 - Identifier 2506904 2506921 - ReturnStatement 2506922 2507235 - ConditionalExpression 2506950 2507234 - BinaryExpression 2506950 2507080 - CallExpression 2506950 2506990 - Identifier 2506950 2506966 - AsExpression 2506967 2506989 - Identifier 2506967 2506968 - TypeReference 2506971 2506989 - Identifier 2506971 2506989 - BarBarToken 2506990 2506993 - BinaryExpression 2506993 2507080 - CallExpression 2506993 2507040 - Identifier 2506993 2507016 - AsExpression 2507017 2507039 - Identifier 2507017 2507018 - TypeReference 2507021 2507039 - Identifier 2507021 2507039 - ExclamationEqualsEqualsToken 2507040 2507044 - PropertyAccessExpression 2507044 2507080 - Identifier 2507044 2507064 - Identifier 2507065 2507080 - QuestionToken 2507080 2507107 - BinaryExpression 2507107 2507173 - PropertyAccessExpression 2507107 2507141 - Identifier 2507107 2507125 - Identifier 2507126 2507141 - BarToken 2507141 2507143 - PropertyAccessExpression 2507143 2507173 - Identifier 2507143 2507161 - Identifier 2507162 2507173 - ColonToken 2507173 2507200 - PropertyAccessExpression 2507200 2507234 - Identifier 2507200 2507218 - Identifier 2507219 2507234 - CaseClause 2507235 2507286 - PropertyAccessExpression 2507257 2507285 - Identifier 2507257 2507268 - Identifier 2507269 2507285 - CaseClause 2507286 2507336 - PropertyAccessExpression 2507308 2507335 - Identifier 2507308 2507319 - Identifier 2507320 2507335 - CaseClause 2507336 2507471 - PropertyAccessExpression 2507358 2507380 - Identifier 2507358 2507369 - Identifier 2507370 2507380 - ReturnStatement 2507381 2507471 - BinaryExpression 2507409 2507470 - PropertyAccessExpression 2507409 2507438 - Identifier 2507409 2507427 - Identifier 2507428 2507438 - BarToken 2507438 2507440 - PropertyAccessExpression 2507440 2507470 - Identifier 2507440 2507458 - Identifier 2507459 2507470 - CaseClause 2507471 2507642 - PropertyAccessExpression 2507493 2507515 - Identifier 2507493 2507504 - Identifier 2507505 2507515 - ReturnStatement 2507516 2507642 - BinaryExpression 2507544 2507641 - BinaryExpression 2507544 2507605 - PropertyAccessExpression 2507544 2507573 - Identifier 2507544 2507562 - Identifier 2507563 2507573 - BarToken 2507573 2507575 - PropertyAccessExpression 2507575 2507605 - Identifier 2507575 2507593 - Identifier 2507594 2507605 - BarToken 2507605 2507607 - PropertyAccessExpression 2507607 2507641 - Identifier 2507607 2507625 - Identifier 2507626 2507641 - CaseClause 2507642 2507693 - PropertyAccessExpression 2507664 2507692 - Identifier 2507664 2507675 - Identifier 2507676 2507692 - CaseClause 2507693 2508237 - PropertyAccessExpression 2507715 2507743 - Identifier 2507715 2507726 - Identifier 2507727 2507743 - VariableStatement 2507744 2507820 - VariableDeclarationList 2507744 2507819 - VariableDeclaration 2507771 2507819 - Identifier 2507771 2507776 - AsExpression 2507778 2507819 - Identifier 2507778 2507780 - UnionType 2507783 2507819 - TypeReference 2507783 2507800 - Identifier 2507783 2507800 - TypeReference 2507802 2507819 - Identifier 2507802 2507819 - VariableStatement 2507820 2507917 - VariableDeclarationList 2507820 2507916 - VariableDeclaration 2507847 2507916 - Identifier 2507847 2507858 - ConditionalExpression 2507860 2507916 - CallExpression 2507860 2507885 - Identifier 2507860 2507879 - Identifier 2507880 2507884 - QuestionToken 2507885 2507887 - PropertyAccessExpression 2507887 2507903 - Identifier 2507887 2507892 - Identifier 2507893 2507903 - ColonToken 2507903 2507905 - PropertyAccessExpression 2507905 2507916 - Identifier 2507905 2507910 - Identifier 2507911 2507916 - IfStatement 2507917 2508200 - PrefixUnaryExpression 2508076 2508111 - CallExpression 2508077 2508111 - Identifier 2508077 2508099 - Identifier 2508100 2508110 - Block 2508112 2508200 - ReturnStatement 2508114 2508177 - PropertyAccessExpression 2508146 2508176 - Identifier 2508146 2508164 - Identifier 2508165 2508176 - ExpressionStatement 2508200 2508237 - BinaryExpression 2508200 2508236 - Identifier 2508200 2508223 - EqualsToken 2508223 2508225 - Identifier 2508225 2508236 - CaseClause 2508237 2508464 - PropertyAccessExpression 2508428 2508463 - Identifier 2508428 2508439 - Identifier 2508440 2508463 - CaseClause 2508464 2508514 - PropertyAccessExpression 2508486 2508513 - Identifier 2508486 2508497 - Identifier 2508498 2508513 - CaseClause 2508514 2508972 - PropertyAccessExpression 2508536 2508560 - Identifier 2508536 2508547 - Identifier 2508548 2508560 - VariableStatement 2508561 2508619 - VariableDeclarationList 2508561 2508618 - VariableDeclaration 2508586 2508618 - Identifier 2508586 2508593 - PropertyAccessExpression 2508595 2508618 - Identifier 2508595 2508613 - Identifier 2508614 2508618 - VariableStatement 2508619 2508794 - VariableDeclarationList 2508619 2508793 - VariableDeclaration 2508646 2508793 - Identifier 2508646 2508653 - CallExpression 2508655 2508793 - Identifier 2508655 2508668 - CallExpression 2508669 2508792 - Identifier 2508669 2508691 - AsExpression 2508692 2508791 - Identifier 2508692 2508693 - UnionType 2508696 2508791 - TypeReference 2508696 2508720 - Identifier 2508696 2508720 - TypeReference 2508722 2508738 - Identifier 2508722 2508738 - TypeReference 2508740 2508753 - Identifier 2508740 2508753 - TypeReference 2508755 2508772 - Identifier 2508755 2508772 - TypeReference 2508774 2508791 - Identifier 2508774 2508791 - ExpressionStatement 2508794 2508936 - CallExpression 2508794 2508935 - Identifier 2508794 2508823 - PropertyAccessExpression 2508824 2508843 - Identifier 2508824 2508830 - Identifier 2508831 2508843 - ArrowFunction 2508844 2508934 - Parameter 2508844 2508846 - Identifier 2508844 2508846 - EqualsGreaterThanToken 2508846 2508849 - Block 2508849 2508934 - ExpressionStatement 2508851 2508911 - BinaryExpression 2508851 2508910 - Identifier 2508851 2508883 - BarEqualsToken 2508883 2508886 - CallExpression 2508886 2508910 - Identifier 2508886 2508907 - Identifier 2508908 2508909 - ReturnStatement 2508936 2508972 - Identifier 2508964 2508971 - CaseClause 2508972 2509026 - PropertyAccessExpression 2508994 2509025 - Identifier 2508994 2509005 - Identifier 2509006 2509025 - CaseClause 2509026 2509075 - PropertyAccessExpression 2509048 2509074 - Identifier 2509048 2509059 - Identifier 2509060 2509074 - CaseClause 2509075 2509129 - PropertyAccessExpression 2509097 2509128 - Identifier 2509097 2509108 - Identifier 2509109 2509128 - CaseClause 2509129 2509179 - PropertyAccessExpression 2509151 2509178 - Identifier 2509151 2509162 - Identifier 2509163 2509178 - CaseClause 2509179 2510017 - PropertyAccessExpression 2509254 2509276 - Identifier 2509254 2509265 - Identifier 2509266 2509276 - ReturnStatement 2509277 2510017 - PropertyAccessExpression 2509986 2510016 - Identifier 2509986 2510004 - Identifier 2510005 2510016 - CaseClause 2510017 2510067 - PropertyAccessExpression 2510039 2510066 - Identifier 2510039 2510050 - Identifier 2510051 2510066 - CaseClause 2510067 2510177 - PropertyAccessExpression 2510089 2510118 - Identifier 2510089 2510100 - Identifier 2510101 2510118 - ReturnStatement 2510119 2510177 - PropertyAccessExpression 2510147 2510176 - Identifier 2510147 2510165 - Identifier 2510166 2510176 - DefaultClause 2510177 2510259 - ReturnStatement 2510203 2510259 - CallExpression 2510231 2510258 - PropertyAccessExpression 2510231 2510255 - Identifier 2510231 2510237 - Identifier 2510238 2510255 - Identifier 2510256 2510257 - FunctionDeclaration 2510292 2510632 - Identifier 2510308 2510332 - Parameter 2510333 2510343 - Identifier 2510333 2510337 - TypeReference 2510338 2510343 - Identifier 2510338 2510343 - Parameter 2510344 2510361 - Identifier 2510344 2510354 - QuestionToken 2510354 2510355 - TypeReference 2510356 2510361 - Identifier 2510356 2510361 - Parameter 2510362 2510400 - Identifier 2510362 2510380 - QuestionToken 2510380 2510381 - TypeReference 2510382 2510400 - Identifier 2510382 2510400 - Parameter 2510401 2510430 - DotDotDotToken 2510401 2510405 - Identifier 2510405 2510409 - TypeReference 2510410 2510430 - Identifier 2510410 2510430 - UnionType 2510432 2510449 - TypeReference 2510432 2510437 - Identifier 2510432 2510437 - UndefinedKeyword 2510439 2510449 - Block 2510449 2510632 - VariableStatement 2510451 2510524 - VariableDeclarationList 2510451 2510523 - VariableDeclaration 2510466 2510523 - Identifier 2510466 2510479 - CallExpression 2510481 2510523 - Identifier 2510481 2510506 - Identifier 2510507 2510511 - Identifier 2510512 2510522 - ReturnStatement 2510524 2510625 - BinaryExpression 2510540 2510624 - Identifier 2510540 2510553 - AmpersandAmpersandToken 2510553 2510556 - CallExpression 2510556 2510624 - Identifier 2510556 2510571 - Identifier 2510572 2510584 - Identifier 2510585 2510595 - Identifier 2510596 2510614 - SpreadElement 2510615 2510623 - Identifier 2510619 2510623 - FunctionDeclaration 2510632 2514239 - Identifier 2510873 2510898 - Parameter 2510899 2510909 - Identifier 2510899 2510903 - TypeReference 2510904 2510909 - Identifier 2510904 2510909 - Parameter 2510910 2510927 - Identifier 2510910 2510920 - QuestionToken 2510920 2510921 - TypeReference 2510922 2510927 - Identifier 2510922 2510927 - Parameter 2510928 2510968 - Identifier 2510928 2510948 - QuestionToken 2510948 2510949 - TypeLiteral 2510950 2510968 - PropertySignature 2510952 2510966 - Identifier 2510952 2510958 - QuestionToken 2510958 2510959 - TypeReference 2510960 2510965 - Identifier 2510960 2510965 - UnionType 2510970 2510987 - TypeReference 2510970 2510975 - Identifier 2510970 2510975 - UndefinedKeyword 2510977 2510987 - Block 2510987 2514239 - IfStatement 2510989 2511341 - CallExpression 2511281 2511296 - Identifier 2511281 2511290 - Identifier 2511291 2511295 - Block 2511297 2511341 - ReturnStatement 2511299 2511330 - Identifier 2511319 2511329 - VariableStatement 2511341 2511406 - VariableDeclarationList 2511341 2511405 - VariableDeclaration 2511358 2511405 - Identifier 2511358 2511372 - AsExpression 2511374 2511405 - Identifier 2511374 2511379 - TypeReference 2511382 2511405 - Identifier 2511382 2511405 - IfStatement 2511406 2511526 - PropertyAccessExpression 2511420 2511455 - Identifier 2511420 2511433 - Identifier 2511434 2511455 - Block 2511456 2511526 - ReturnStatement 2511458 2511515 - PropertyAccessExpression 2511478 2511514 - Identifier 2511478 2511492 - Identifier 2511493 2511514 - IfStatement 2511526 2511725 - CallExpression 2511542 2511611 - Identifier 2511542 2511559 - Identifier 2511560 2511564 - CallExpression 2511565 2511610 - Identifier 2511565 2511586 - FalseKeyword 2511587 2511609 - Block 2511612 2511725 - ReturnStatement 2511614 2511714 - BinaryExpression 2511634 2511713 - PropertyAccessExpression 2511634 2511670 - Identifier 2511634 2511648 - Identifier 2511649 2511670 - EqualsToken 2511670 2511672 - ElementAccessExpression 2511672 2511713 - CallExpression 2511672 2511710 - Identifier 2511672 2511689 - AsExpression 2511690 2511709 - Identifier 2511690 2511694 - TypeReference 2511697 2511709 - Identifier 2511697 2511709 - NumericLiteral 2511711 2511712 - IfStatement 2511725 2511951 - CallExpression 2511812 2511906 - Identifier 2511812 2511836 - CallExpression 2511837 2511866 - Identifier 2511837 2511860 - Identifier 2511861 2511865 - BinaryExpression 2511867 2511905 - PropertyAccessExpression 2511867 2511887 - Identifier 2511867 2511877 - Identifier 2511878 2511887 - BarToken 2511887 2511889 - PropertyAccessExpression 2511889 2511905 - Identifier 2511889 2511899 - Identifier 2511900 2511905 - Block 2511907 2511951 - ReturnStatement 2511909 2511940 - Identifier 2511929 2511939 - VariableStatement 2511951 2512035 - VariableDeclarationList 2511951 2512034 - VariableDeclaration 2511968 2512034 - Identifier 2511968 2511981 - NonNullExpression 2511983 2512034 - CallExpression 2511983 2512033 - Identifier 2511983 2512007 - Identifier 2512008 2512012 - AsExpression 2512013 2512032 - StringLiteral 2512013 2512020 - TypeReference 2512023 2512032 - Identifier 2512023 2512032 - IfStatement 2512035 2512135 - CallExpression 2512067 2512090 - Identifier 2512067 2512076 - Identifier 2512077 2512089 - Block 2512091 2512135 - ReturnStatement 2512093 2512124 - Identifier 2512113 2512123 - VariableStatement 2512135 2512252 - VariableDeclarationList 2512135 2512251 - VariableDeclaration 2512152 2512251 - Identifier 2512152 2512167 - ConditionalExpression 2512169 2512251 - Identifier 2512169 2512182 - QuestionToken 2512182 2512184 - CallExpression 2512184 2512238 - Identifier 2512184 2512204 - Identifier 2512205 2512217 - PropertyAccessExpression 2512218 2512237 - Identifier 2512218 2512232 - Identifier 2512233 2512237 - ColonToken 2512238 2512240 - Identifier 2512240 2512251 - IfStatement 2512252 2512465 - BinaryExpression 2512266 2512293 - PropertyAccessExpression 2512266 2512287 - Identifier 2512266 2512280 - Identifier 2512281 2512287 - EqualsEqualsEqualsToken 2512287 2512291 - NumericLiteral 2512291 2512293 - Block 2512294 2512465 - IfStatement 2512296 2512423 - Identifier 2512314 2512323 - Block 2512324 2512423 - ExpressionStatement 2512326 2512408 - CallExpression 2512326 2512407 - Identifier 2512326 2512349 - Identifier 2512350 2512359 - PropertyAccessExpression 2512360 2512406 - Identifier 2512360 2512372 - Identifier 2512373 2512406 - ReturnStatement 2512423 2512454 - Identifier 2512443 2512453 - VariableStatement 2512465 2512516 - VariableDeclarationList 2512465 2512515 - VariableDeclaration 2512480 2512515 - Identifier 2512480 2512497 - UnionType 2512498 2512515 - TypeReference 2512498 2512503 - Identifier 2512498 2512503 - UndefinedKeyword 2512505 2512515 - VariableStatement 2512516 2512566 - VariableDeclarationList 2512516 2512565 - VariableDeclaration 2512529 2512565 - Identifier 2512529 2512540 - UnionType 2512541 2512565 - ArrayType 2512541 2512553 - TypeReference 2512541 2512551 - Identifier 2512541 2512551 - UndefinedKeyword 2512555 2512565 - ForOfStatement 2512566 2512969 - VariableDeclarationList 2512581 2512600 - VariableDeclaration 2512586 2512600 - Identifier 2512586 2512600 - Identifier 2512603 2512618 - Block 2512619 2512969 - VariableStatement 2512621 2512690 - VariableDeclarationList 2512621 2512689 - VariableDeclaration 2512640 2512689 - Identifier 2512640 2512649 - CallExpression 2512651 2512689 - Identifier 2512651 2512674 - Identifier 2512675 2512688 - IfStatement 2512690 2512958 - BinaryExpression 2512708 2512794 - BinaryExpression 2512708 2512741 - Identifier 2512708 2512716 - AmpersandAmpersandToken 2512716 2512719 - BinaryExpression 2512719 2512741 - Identifier 2512719 2512728 - ExclamationEqualsEqualsToken 2512728 2512732 - Identifier 2512732 2512741 - AmpersandAmpersandToken 2512741 2512744 - PrefixUnaryExpression 2512744 2512794 - CallExpression 2512746 2512794 - Identifier 2512746 2512761 - Identifier 2512762 2512766 - Identifier 2512767 2512776 - Identifier 2512777 2512793 - Block 2512795 2512858 - ExpressionStatement 2512797 2512843 - BinaryExpression 2512797 2512842 - Identifier 2512797 2512831 - EqualsToken 2512831 2512833 - Identifier 2512833 2512842 - Block 2512876 2512958 - ExpressionStatement 2512878 2512943 - BinaryExpression 2512878 2512942 - Identifier 2512878 2512906 - EqualsToken 2512906 2512908 - CallExpression 2512908 2512942 - Identifier 2512908 2512915 - Identifier 2512916 2512926 - Identifier 2512927 2512941 - IfStatement 2512969 2513430 - PrefixUnaryExpression 2512985 2512996 - Identifier 2512986 2512996 - Block 2512997 2513430 - ExpressionStatement 2512999 2513053 - CallExpression 2512999 2513052 - PropertyAccessExpression 2512999 2513034 - Identifier 2512999 2513018 - Identifier 2513019 2513034 - Identifier 2513035 2513051 - IfStatement 2513053 2513171 - Identifier 2513071 2513090 - Block 2513091 2513171 - ExpressionStatement 2513093 2513156 - BinaryExpression 2513093 2513155 - PropertyAccessExpression 2513093 2513136 - Identifier 2513093 2513130 - Identifier 2513131 2513136 - EqualsToken 2513136 2513138 - Identifier 2513138 2513155 - IfStatement 2513171 2513388 - Identifier 2513189 2513198 - Block 2513199 2513388 - ExpressionStatement 2513201 2513373 - CallExpression 2513201 2513372 - Identifier 2513201 2513224 - Identifier 2513225 2513234 - PropertyAccessExpression 2513235 2513319 - Identifier 2513235 2513247 - Identifier 2513248 2513319 - CallExpression 2513320 2513339 - Identifier 2513320 2513333 - Identifier 2513334 2513338 - CallExpression 2513340 2513371 - Identifier 2513340 2513353 - Identifier 2513354 2513370 - ReturnStatement 2513388 2513419 - Identifier 2513408 2513418 - VariableStatement 2513430 2513588 - VariableDeclarationList 2513430 2513587 - VariableDeclaration 2513447 2513587 - Identifier 2513447 2513472 - CallExpression 2513474 2513587 - Identifier 2513474 2513491 - CallExpression 2513492 2513557 - Identifier 2513492 2513504 - CallExpression 2513505 2513556 - Identifier 2513505 2513508 - Identifier 2513509 2513519 - Identifier 2513520 2513555 - PropertyAccessExpression 2513558 2513586 - Identifier 2513558 2513568 - Identifier 2513569 2513586 - IfStatement 2513588 2513682 - CallExpression 2513602 2513637 - Identifier 2513602 2513611 - Identifier 2513612 2513636 - Block 2513638 2513682 - ReturnStatement 2513640 2513671 - Identifier 2513660 2513670 - VariableStatement 2513682 2513799 - VariableDeclarationList 2513682 2513798 - VariableDeclaration 2513699 2513798 - Identifier 2513699 2513730 - CallExpression 2513732 2513798 - Identifier 2513732 2513752 - Identifier 2513753 2513777 - PropertyAccessExpression 2513778 2513797 - Identifier 2513778 2513792 - Identifier 2513793 2513797 - IfStatement 2513799 2514065 - BinaryExpression 2513813 2513856 - PropertyAccessExpression 2513813 2513850 - Identifier 2513813 2513843 - Identifier 2513844 2513850 - EqualsEqualsEqualsToken 2513850 2513854 - NumericLiteral 2513854 2513856 - Block 2513857 2514065 - IfStatement 2513859 2514023 - Identifier 2513877 2513886 - Block 2513887 2514023 - ExpressionStatement 2513889 2514008 - CallExpression 2513889 2514007 - Identifier 2513889 2513912 - Identifier 2513913 2513922 - PropertyAccessExpression 2513923 2514006 - Identifier 2513923 2513935 - Identifier 2513936 2514006 - ReturnStatement 2514023 2514054 - Identifier 2514043 2514053 - ReturnStatement 2514065 2514232 - BinaryExpression 2514083 2514231 - PropertyAccessExpression 2514083 2514119 - Identifier 2514083 2514097 - Identifier 2514098 2514119 - EqualsToken 2514119 2514121 - CallExpression 2514121 2514231 - Identifier 2514121 2514134 - CallExpression 2514135 2514206 - Identifier 2514135 2514138 - Identifier 2514139 2514169 - Identifier 2514170 2514205 - PropertyAccessExpression 2514207 2514230 - Identifier 2514207 2514222 - Identifier 2514223 2514230 - FunctionDeclaration 2514239 2515081 - Identifier 2514693 2514710 - Parameter 2514711 2514721 - Identifier 2514711 2514715 - TypeReference 2514716 2514721 - Identifier 2514716 2514721 - Parameter 2514722 2514741 - Identifier 2514722 2514732 - BooleanKeyword 2514733 2514741 - Parameter 2514742 2514758 - Identifier 2514742 2514752 - TypeReference 2514753 2514758 - Identifier 2514753 2514758 - Parameter 2514759 2514796 - Identifier 2514759 2514777 - TypeReference 2514778 2514796 - Identifier 2514778 2514796 - Parameter 2514797 2514826 - DotDotDotToken 2514797 2514801 - Identifier 2514801 2514805 - TypeReference 2514806 2514826 - Identifier 2514806 2514826 - TypeReference 2514828 2514833 - Identifier 2514828 2514833 - Block 2514833 2515081 - VariableStatement 2514835 2515032 - VariableDeclarationList 2514835 2515031 - VariableDeclaration 2514850 2515031 - Identifier 2514850 2514862 - ConditionalExpression 2514864 2515031 - Identifier 2514864 2514874 - QuestionToken 2514874 2514876 - CallExpression 2514876 2514949 - Identifier 2514876 2514904 - Identifier 2514905 2514909 - Identifier 2514910 2514920 - Identifier 2514921 2514939 - SpreadElement 2514940 2514948 - Identifier 2514944 2514948 - ColonToken 2514949 2514951 - CallExpression 2514951 2515031 - Identifier 2514951 2514986 - Identifier 2514987 2514991 - Identifier 2514992 2515002 - Identifier 2515003 2515021 - SpreadElement 2515022 2515030 - Identifier 2515026 2515030 - ReturnStatement 2515032 2515074 - BinaryExpression 2515048 2515073 - Identifier 2515048 2515060 - BarBarToken 2515060 2515063 - Identifier 2515063 2515073 - FunctionDeclaration 2515081 2515709 - Identifier 2515193 2515208 - Parameter 2515209 2515219 - Identifier 2515209 2515213 - TypeReference 2515214 2515219 - Identifier 2515214 2515219 - BooleanKeyword 2515221 2515229 - Block 2515229 2515709 - IfStatement 2515231 2515472 - CallExpression 2515245 2515339 - Identifier 2515245 2515269 - CallExpression 2515270 2515299 - Identifier 2515270 2515293 - Identifier 2515294 2515298 - BinaryExpression 2515300 2515338 - PropertyAccessExpression 2515300 2515320 - Identifier 2515300 2515310 - Identifier 2515311 2515320 - BarToken 2515320 2515322 - PropertyAccessExpression 2515322 2515338 - Identifier 2515322 2515332 - Identifier 2515333 2515338 - Block 2515340 2515472 - ReturnStatement 2515342 2515461 - FalseKeyword 2515454 2515460 - VariableStatement 2515472 2515555 - VariableDeclarationList 2515472 2515554 - VariableDeclaration 2515489 2515554 - Identifier 2515489 2515502 - CallExpression 2515504 2515554 - Identifier 2515504 2515528 - Identifier 2515529 2515533 - AsExpression 2515534 2515553 - StringLiteral 2515534 2515541 - TypeReference 2515544 2515553 - Identifier 2515544 2515553 - ReturnStatement 2515555 2515702 - BinaryExpression 2515571 2515701 - PrefixUnaryExpression 2515571 2515586 - PrefixUnaryExpression 2515573 2515586 - Identifier 2515574 2515586 - AmpersandAmpersandToken 2515586 2515589 - BinaryExpression 2515589 2515701 - PropertyAccessExpression 2515589 2515697 - CallExpression 2515589 2515690 - Identifier 2515589 2515609 - CallExpression 2515610 2515669 - Identifier 2515610 2515626 - Identifier 2515627 2515639 - PropertyAccessExpression 2515640 2515668 - Identifier 2515640 2515650 - Identifier 2515651 2515668 - PropertyAccessExpression 2515670 2515689 - Identifier 2515670 2515684 - Identifier 2515685 2515689 - Identifier 2515691 2515697 - GreaterThanToken 2515697 2515699 - NumericLiteral 2515699 2515701 - InterfaceDeclaration 2515709 2515884 - Identifier 2515726 2515751 - HeritageClause 2515751 2515764 - ExpressionWithTypeArguments 2515759 2515764 - Identifier 2515759 2515764 - PropertySignature 2515766 2515801 - Identifier 2515766 2515793 - NeverKeyword 2515794 2515800 - PropertySignature 2515801 2515831 - Identifier 2515801 2515822 - TypeReference 2515823 2515830 - Identifier 2515823 2515830 - PropertySignature 2515831 2515877 - Identifier 2515831 2515859 - TypeOperator 2515860 2515876 - ArrayType 2515869 2515876 - TypeReference 2515869 2515874 - Identifier 2515869 2515874 - FunctionDeclaration 2515884 2516266 - Identifier 2515900 2515927 - Parameter 2515928 2515938 - Identifier 2515928 2515932 - TypeReference 2515933 2515938 - Identifier 2515933 2515938 - TypePredicate 2515940 2515973 - Identifier 2515940 2515945 - TypeReference 2515948 2515973 - Identifier 2515948 2515973 - Block 2515973 2516266 - IfStatement 2515975 2516236 - BinaryExpression 2515989 2516023 - PropertyAccessExpression 2515989 2515999 - Identifier 2515989 2515993 - Identifier 2515994 2515999 - AmpersandToken 2515999 2516001 - PropertyAccessExpression 2516001 2516023 - Identifier 2516001 2516011 - Identifier 2516012 2516023 - Block 2516024 2516236 - VariableStatement 2516026 2516109 - VariableDeclarationList 2516026 2516108 - VariableDeclaration 2516045 2516108 - Identifier 2516045 2516059 - CallExpression 2516061 2516108 - Identifier 2516061 2516084 - FalseKeyword 2516085 2516107 - ReturnStatement 2516109 2516225 - BinaryExpression 2516129 2516224 - BinaryExpression 2516129 2516183 - PrefixUnaryExpression 2516129 2516145 - PrefixUnaryExpression 2516131 2516145 - Identifier 2516132 2516145 - AmpersandAmpersandToken 2516145 2516148 - BinaryExpression 2516148 2516183 - PropertyAccessExpression 2516148 2516165 - Identifier 2516148 2516153 - Identifier 2516154 2516165 - EqualsEqualsEqualsToken 2516165 2516169 - Identifier 2516169 2516183 - AmpersandAmpersandToken 2516183 2516186 - BinaryExpression 2516186 2516224 - PropertyAccessExpression 2516186 2516218 - PropertyAccessExpression 2516186 2516210 - Identifier 2516186 2516191 - Identifier 2516192 2516210 - QuestionDotToken 2516210 2516212 - Identifier 2516212 2516218 - EqualsEqualsEqualsToken 2516218 2516222 - NumericLiteral 2516222 2516224 - ReturnStatement 2516236 2516259 - FalseKeyword 2516252 2516258 - FunctionDeclaration 2516266 2516563 - Identifier 2516346 2516364 - Parameter 2516365 2516375 - Identifier 2516365 2516369 - TypeReference 2516370 2516375 - Identifier 2516370 2516375 - Block 2516376 2516563 - ReturnStatement 2516378 2516556 - ConditionalExpression 2516394 2516555 - BinaryExpression 2516394 2516423 - PropertyAccessExpression 2516394 2516405 - Identifier 2516394 2516399 - Identifier 2516400 2516405 - AmpersandToken 2516405 2516407 - PropertyAccessExpression 2516407 2516423 - Identifier 2516407 2516417 - Identifier 2516418 2516423 - QuestionToken 2516423 2516425 - CallExpression 2516425 2516458 - Identifier 2516425 2516433 - Identifier 2516434 2516438 - Identifier 2516439 2516457 - ColonToken 2516458 2516460 - ConditionalExpression 2516460 2516555 - CallExpression 2516460 2516506 - Identifier 2516460 2516500 - Identifier 2516501 2516505 - QuestionToken 2516506 2516508 - ElementAccessExpression 2516508 2516535 - PropertyAccessExpression 2516508 2516532 - Identifier 2516508 2516513 - Identifier 2516514 2516532 - NumericLiteral 2516533 2516534 - ColonToken 2516535 2516537 - Identifier 2516537 2516555 - FunctionDeclaration 2516563 2517617 - Identifier 2516579 2516599 - Parameter 2516600 2516610 - Identifier 2516600 2516604 - TypeReference 2516605 2516610 - Identifier 2516605 2516610 - Block 2516611 2517617 - IfStatement 2516613 2516848 - BinaryExpression 2516756 2516807 - CallExpression 2516756 2516771 - Identifier 2516756 2516765 - Identifier 2516766 2516770 - BarBarToken 2516771 2516774 - CallExpression 2516774 2516807 - Identifier 2516774 2516801 - Identifier 2516802 2516806 - Block 2516808 2516848 - ReturnStatement 2516810 2516837 - FalseKeyword 2516830 2516836 - IfStatement 2516848 2517585 - CallExpression 2516948 2516973 - Identifier 2516948 2516967 - Identifier 2516968 2516972 - Block 2516974 2517585 - VariableStatement 2516976 2517043 - VariableDeclarationList 2516976 2517042 - VariableDeclaration 2516995 2517042 - Identifier 2516995 2517010 - CallExpression 2517012 2517042 - Identifier 2517012 2517036 - Identifier 2517037 2517041 - IfStatement 2517043 2517574 - ConditionalExpression 2517261 2517512 - Identifier 2517261 2517293 - QuestionToken 2517293 2517295 - BinaryExpression 2517295 2517443 - BinaryExpression 2517295 2517399 - BinaryExpression 2517295 2517362 - PropertyAccessExpression 2517295 2517337 - Identifier 2517295 2517331 - Identifier 2517332 2517337 - AmpersandToken 2517337 2517339 - PropertyAccessExpression 2517339 2517362 - Identifier 2517339 2517349 - Identifier 2517350 2517362 - BarBarToken 2517362 2517365 - CallExpression 2517365 2517399 - Identifier 2517365 2517383 - Identifier 2517384 2517398 - BarBarToken 2517399 2517402 - CallExpression 2517402 2517443 - Identifier 2517402 2517411 - Identifier 2517412 2517426 - Identifier 2517427 2517442 - ColonToken 2517443 2517445 - CallExpression 2517445 2517512 - Identifier 2517445 2517482 - Identifier 2517483 2517487 - PropertyAccessExpression 2517488 2517511 - Identifier 2517488 2517498 - Identifier 2517499 2517511 - Block 2517527 2517574 - ReturnStatement 2517529 2517559 - TrueKeyword 2517553 2517558 - ReturnStatement 2517585 2517610 - FalseKeyword 2517603 2517609 - FunctionDeclaration 2517617 2518171 - Identifier 2517633 2517654 - Parameter 2517655 2517665 - Identifier 2517655 2517659 - TypeReference 2517660 2517665 - Identifier 2517660 2517665 - UnionType 2517667 2517684 - TypeReference 2517667 2517672 - Identifier 2517667 2517672 - UndefinedKeyword 2517674 2517684 - Block 2517684 2518171 - VariableStatement 2517686 2517820 - VariableDeclarationList 2517686 2517819 - VariableDeclaration 2517757 2517819 - Identifier 2517757 2517771 - CallExpression 2517773 2517819 - Identifier 2517773 2517796 - TrueKeyword 2517797 2517818 - IfStatement 2517820 2518135 - Identifier 2517834 2517847 - Block 2517848 2518135 - ReturnStatement 2517850 2518124 - CallExpression 2518055 2518123 - Identifier 2518055 2518081 - Identifier 2518082 2518095 - ArrayLiteralExpression 2518096 2518122 - CallExpression 2518098 2518121 - Identifier 2518098 2518115 - Identifier 2518116 2518120 - ReturnStatement 2518135 2518164 - Identifier 2518153 2518163 - FunctionDeclaration 2518171 2518978 - Identifier 2518187 2518213 - Parameter 2518214 2518224 - Identifier 2518214 2518218 - TypeReference 2518219 2518224 - Identifier 2518219 2518224 - TypeReference 2518226 2518231 - Identifier 2518226 2518231 - Block 2518231 2518978 - IfStatement 2518233 2518781 - CallExpression 2518686 2518711 - Identifier 2518686 2518705 - Identifier 2518706 2518710 - Block 2518712 2518781 - ReturnStatement 2518714 2518770 - BinaryExpression 2518734 2518769 - CallExpression 2518734 2518761 - Identifier 2518734 2518755 - Identifier 2518756 2518760 - QuestionQuestionToken 2518761 2518764 - Identifier 2518764 2518769 - ExpressionStatement 2518781 2518949 - CallExpression 2518781 2518948 - PropertyAccessExpression 2518781 2518805 - Identifier 2518781 2518798 - Identifier 2518799 2518805 - BinaryExpression 2518806 2518886 - CallExpression 2518806 2518838 - Identifier 2518806 2518832 - Identifier 2518833 2518837 - BarBarToken 2518838 2518841 - BinaryExpression 2518841 2518886 - CallExpression 2518841 2518872 - Identifier 2518841 2518866 - Identifier 2518867 2518871 - EqualsEqualsEqualsToken 2518872 2518876 - Identifier 2518876 2518886 - StringLiteral 2518887 2518947 - ReturnStatement 2518949 2518971 - Identifier 2518965 2518970 - FunctionDeclaration 2518978 2519764 - Identifier 2519455 2519470 - Parameter 2519471 2519481 - Identifier 2519471 2519475 - TypeReference 2519476 2519481 - Identifier 2519476 2519481 - Parameter 2519482 2519499 - Identifier 2519482 2519492 - QuestionToken 2519492 2519493 - TypeReference 2519494 2519499 - Identifier 2519494 2519499 - Parameter 2519500 2519538 - Identifier 2519500 2519518 - QuestionToken 2519518 2519519 - TypeReference 2519520 2519538 - Identifier 2519520 2519538 - Parameter 2519539 2519568 - DotDotDotToken 2519539 2519543 - Identifier 2519543 2519547 - TypeReference 2519548 2519568 - Identifier 2519548 2519568 - UnionType 2519570 2519587 - TypeReference 2519570 2519575 - Identifier 2519570 2519575 - UndefinedKeyword 2519577 2519587 - Block 2519587 2519764 - VariableStatement 2519589 2519686 - VariableDeclarationList 2519589 2519685 - VariableDeclaration 2519604 2519685 - Identifier 2519604 2519616 - CallExpression 2519618 2519685 - Identifier 2519618 2519640 - Identifier 2519641 2519645 - Identifier 2519646 2519656 - Identifier 2519657 2519675 - SpreadElement 2519676 2519684 - Identifier 2519680 2519684 - ReturnStatement 2519686 2519757 - BinaryExpression 2519702 2519756 - Identifier 2519702 2519714 - AmpersandAmpersandToken 2519714 2519717 - CallExpression 2519717 2519756 - Identifier 2519717 2519743 - Identifier 2519744 2519755 - FunctionDeclaration 2519764 2526158 - Identifier 2519929 2519951 - Parameter 2519952 2519962 - Identifier 2519952 2519956 - TypeReference 2519957 2519962 - Identifier 2519957 2519962 - Parameter 2519963 2519980 - Identifier 2519963 2519973 - QuestionToken 2519973 2519974 - TypeReference 2519975 2519980 - Identifier 2519975 2519980 - Parameter 2519981 2520019 - Identifier 2519981 2519999 - QuestionToken 2519999 2520000 - TypeReference 2520001 2520019 - Identifier 2520001 2520019 - Parameter 2520020 2520049 - DotDotDotToken 2520020 2520024 - Identifier 2520024 2520028 - TypeReference 2520029 2520049 - Identifier 2520029 2520049 - UnionType 2520051 2520068 - TypeReference 2520051 2520056 - Identifier 2520051 2520056 - UndefinedKeyword 2520058 2520068 - Block 2520068 2526158 - IfStatement 2520070 2520139 - CallExpression 2520084 2520099 - Identifier 2520084 2520093 - Identifier 2520094 2520098 - Block 2520100 2520139 - ReturnStatement 2520102 2520128 - Identifier 2520122 2520127 - IfStatement 2520139 2520341 - CallExpression 2520269 2520301 - Identifier 2520269 2520295 - Identifier 2520296 2520300 - Block 2520302 2520341 - ReturnStatement 2520304 2520330 - Identifier 2520324 2520329 - VariableStatement 2520341 2520500 - VariableDeclarationList 2520341 2520499 - VariableDeclaration 2520450 2520499 - Identifier 2520450 2520466 - AsExpression 2520468 2520499 - Identifier 2520468 2520473 - TypeReference 2520476 2520499 - Identifier 2520476 2520499 - IfStatement 2520500 2520616 - PropertyAccessExpression 2520514 2520547 - Identifier 2520514 2520529 - Identifier 2520530 2520547 - Block 2520548 2520616 - ReturnStatement 2520550 2520605 - PropertyAccessExpression 2520570 2520604 - Identifier 2520570 2520586 - Identifier 2520587 2520604 - IfStatement 2520616 2521437 - BinaryExpression 2520711 2520739 - PropertyAccessExpression 2520711 2520721 - Identifier 2520711 2520715 - Identifier 2520716 2520721 - AmpersandToken 2520721 2520723 - PropertyAccessExpression 2520723 2520739 - Identifier 2520723 2520733 - Identifier 2520734 2520739 - Block 2520740 2521437 - IfStatement 2520742 2521053 - BinaryExpression 2520760 2520802 - CallExpression 2520760 2520797 - PropertyAccessExpression 2520760 2520788 - Identifier 2520760 2520776 - Identifier 2520777 2520788 - PropertyAccessExpression 2520789 2520796 - Identifier 2520789 2520793 - Identifier 2520794 2520796 - GreaterThanEqualsToken 2520797 2520800 - NumericLiteral 2520800 2520802 - Block 2520803 2521053 - IfStatement 2520805 2521003 - Identifier 2520827 2520836 - Block 2520837 2521003 - ExpressionStatement 2520839 2520984 - CallExpression 2520839 2520983 - Identifier 2520839 2520866 - Identifier 2520867 2520876 - PropertyAccessExpression 2520877 2520982 - Identifier 2520877 2520889 - Identifier 2520890 2520982 - ReturnStatement 2521003 2521038 - Identifier 2521027 2521037 - VariableStatement 2521053 2521225 - VariableDeclarationList 2521053 2521224 - VariableDeclaration 2521074 2521224 - Identifier 2521074 2521081 - ConditionalExpression 2521083 2521224 - Identifier 2521083 2521093 - QuestionToken 2521093 2521095 - ArrowFunction 2521095 2521200 - Parameter 2521097 2521118 - Identifier 2521097 2521112 - TypeReference 2521113 2521118 - Identifier 2521113 2521118 - EqualsGreaterThanToken 2521119 2521122 - CallExpression 2521122 2521200 - Identifier 2521122 2521144 - Identifier 2521145 2521160 - Identifier 2521161 2521171 - Identifier 2521172 2521190 - SpreadElement 2521191 2521199 - Identifier 2521195 2521199 - ColonToken 2521200 2521202 - Identifier 2521202 2521224 - ExpressionStatement 2521225 2521272 - CallExpression 2521225 2521271 - PropertyAccessExpression 2521225 2521262 - Identifier 2521225 2521257 - Identifier 2521258 2521262 - PropertyAccessExpression 2521263 2521270 - Identifier 2521263 2521267 - Identifier 2521268 2521270 - VariableStatement 2521272 2521323 - VariableDeclarationList 2521272 2521322 - VariableDeclaration 2521291 2521322 - Identifier 2521291 2521298 - CallExpression 2521300 2521322 - Identifier 2521300 2521308 - Identifier 2521309 2521313 - Identifier 2521314 2521321 - ExpressionStatement 2521323 2521360 - CallExpression 2521323 2521359 - PropertyAccessExpression 2521323 2521357 - Identifier 2521323 2521353 - Identifier 2521354 2521357 - ReturnStatement 2521360 2521426 - BinaryExpression 2521382 2521425 - PropertyAccessExpression 2521382 2521416 - Identifier 2521382 2521398 - Identifier 2521399 2521416 - EqualsToken 2521416 2521418 - Identifier 2521418 2521425 - IfStatement 2521437 2521637 - CallExpression 2521536 2521561 - Identifier 2521536 2521555 - Identifier 2521556 2521560 - Block 2521562 2521637 - ReturnStatement 2521564 2521626 - BinaryExpression 2521584 2521625 - PropertyAccessExpression 2521584 2521618 - Identifier 2521584 2521600 - Identifier 2521601 2521618 - EqualsToken 2521618 2521620 - Identifier 2521620 2521625 - VariableStatement 2521637 2521728 - VariableDeclarationList 2521637 2521727 - VariableDeclaration 2521654 2521727 - Identifier 2521654 2521674 - TypeLiteral 2521675 2521704 - PropertySignature 2521677 2521702 - Identifier 2521677 2521683 - UnionType 2521684 2521701 - TypeReference 2521684 2521689 - Identifier 2521684 2521689 - UndefinedKeyword 2521691 2521701 - ObjectLiteralExpression 2521706 2521727 - PropertyAssignment 2521708 2521725 - Identifier 2521708 2521714 - Identifier 2521715 2521725 - VariableStatement 2521728 2521836 - VariableDeclarationList 2521728 2521835 - VariableDeclaration 2521743 2521835 - Identifier 2521743 2521756 - CallExpression 2521758 2521835 - Identifier 2521758 2521783 - Identifier 2521784 2521788 - Identifier 2521789 2521813 - Identifier 2521814 2521834 - IfStatement 2521836 2524451 - Identifier 2521850 2521862 - Block 2521863 2524451 - IfStatement 2521865 2523931 - BinaryExpression 2521883 2521964 - BinaryExpression 2521883 2521910 - PropertyAccessExpression 2521883 2521890 - Identifier 2521883 2521887 - Identifier 2521888 2521890 - EqualsEqualsEqualsToken 2521890 2521894 - PropertyAccessExpression 2521894 2521910 - Identifier 2521894 2521907 - Identifier 2521908 2521910 - BarBarToken 2521910 2521913 - BinaryExpression 2521913 2521964 - CallExpression 2521913 2521959 - PropertyAccessExpression 2521913 2521942 - Identifier 2521913 2521930 - Identifier 2521931 2521942 - PropertyAccessExpression 2521943 2521958 - Identifier 2521943 2521955 - Identifier 2521956 2521958 - GreaterThanEqualsToken 2521959 2521962 - NumericLiteral 2521962 2521964 - Block 2521965 2523931 - IfStatement 2521967 2523881 - Identifier 2523705 2523714 - Block 2523715 2523881 - ExpressionStatement 2523717 2523862 - CallExpression 2523717 2523861 - Identifier 2523717 2523744 - Identifier 2523745 2523754 - PropertyAccessExpression 2523755 2523860 - Identifier 2523755 2523767 - Identifier 2523768 2523860 - ReturnStatement 2523881 2523916 - Identifier 2523905 2523915 - ExpressionStatement 2523931 2524138 - CallExpression 2523931 2524137 - PropertyAccessExpression 2523931 2524128 - Identifier 2523931 2524123 - Identifier 2524124 2524128 - PropertyAccessExpression 2524129 2524136 - Identifier 2524129 2524133 - Identifier 2524134 2524136 - VariableStatement 2524138 2524247 - VariableDeclarationList 2524138 2524246 - VariableDeclaration 2524157 2524246 - Identifier 2524157 2524169 - CallExpression 2524171 2524246 - Identifier 2524171 2524193 - Identifier 2524194 2524206 - Identifier 2524207 2524217 - Identifier 2524218 2524236 - SpreadElement 2524237 2524245 - Identifier 2524241 2524245 - ExpressionStatement 2524247 2524284 - CallExpression 2524247 2524283 - PropertyAccessExpression 2524247 2524281 - Identifier 2524247 2524277 - Identifier 2524278 2524281 - IfStatement 2524284 2524369 - PrefixUnaryExpression 2524304 2524316 - Identifier 2524305 2524316 - Block 2524317 2524369 - ReturnStatement 2524319 2524354 - Identifier 2524343 2524353 - ReturnStatement 2524369 2524440 - BinaryExpression 2524391 2524439 - PropertyAccessExpression 2524391 2524425 - Identifier 2524391 2524407 - Identifier 2524408 2524425 - EqualsToken 2524425 2524427 - Identifier 2524427 2524439 - IfStatement 2524451 2526091 - CallExpression 2525372 2525392 - Identifier 2525372 2525386 - Identifier 2525387 2525391 - Block 2525393 2526091 - IfStatement 2525395 2526049 - Identifier 2525413 2525422 - Block 2525423 2526049 - ExpressionStatement 2525425 2525484 - CallExpression 2525425 2525483 - PropertyAccessExpression 2525425 2525464 - Identifier 2525425 2525448 - Identifier 2525449 2525464 - Identifier 2525465 2525482 - VariableStatement 2525484 2525548 - VariableDeclarationList 2525484 2525547 - VariableDeclaration 2525505 2525547 - Identifier 2525505 2525511 - UnionType 2525512 2525547 - TypeReference 2525512 2525535 - Identifier 2525512 2525535 - UndefinedKeyword 2525537 2525547 - IfStatement 2525548 2525824 - PropertyAccessExpression 2525570 2525595 - Identifier 2525570 2525589 - Identifier 2525590 2525595 - Block 2525596 2525824 - ExpressionStatement 2525598 2525805 - BinaryExpression 2525598 2525804 - Identifier 2525598 2525625 - EqualsToken 2525625 2525627 - CallExpression 2525627 2525804 - Identifier 2525627 2525651 - Identifier 2525652 2525657 - PropertyAccessExpression 2525658 2525742 - Identifier 2525658 2525670 - Identifier 2525671 2525742 - CallExpression 2525743 2525762 - Identifier 2525743 2525756 - Identifier 2525757 2525761 - CallExpression 2525763 2525803 - Identifier 2525763 2525776 - PropertyAccessExpression 2525777 2525802 - Identifier 2525777 2525796 - Identifier 2525797 2525802 - ExpressionStatement 2525824 2525909 - BinaryExpression 2525824 2525908 - Identifier 2525824 2525847 - EqualsToken 2525847 2525849 - CallExpression 2525849 2525908 - Identifier 2525849 2525873 - Identifier 2525874 2525879 - Identifier 2525880 2525898 - SpreadElement 2525899 2525907 - Identifier 2525903 2525907 - ExpressionStatement 2525909 2526034 - CallExpression 2525909 2526033 - PropertyAccessExpression 2525909 2525942 - Identifier 2525909 2525938 - Identifier 2525939 2525942 - CallExpression 2525943 2526032 - Identifier 2525943 2525982 - CallExpression 2525983 2526013 - Identifier 2525983 2526002 - Identifier 2526003 2526012 - Identifier 2526014 2526024 - Identifier 2526025 2526031 - ReturnStatement 2526049 2526080 - Identifier 2526069 2526079 - ReturnStatement 2526091 2526151 - BinaryExpression 2526109 2526150 - PropertyAccessExpression 2526109 2526143 - Identifier 2526109 2526125 - Identifier 2526126 2526143 - EqualsToken 2526143 2526145 - Identifier 2526145 2526150 - FunctionDeclaration 2526158 2533398 - Identifier 2526777 2526806 - Parameter 2526807 2526854 - Identifier 2526807 2526811 - UnionType 2526812 2526854 - TypeReference 2526812 2526836 - Identifier 2526812 2526836 - TypeReference 2526838 2526854 - Identifier 2526838 2526854 - Parameter 2526855 2526880 - Identifier 2526855 2526870 - TypeReference 2526871 2526880 - Identifier 2526871 2526880 - Parameter 2526881 2526915 - Identifier 2526881 2526905 - TypeReference 2526906 2526915 - Identifier 2526906 2526915 - Block 2526916 2533398 - VariableStatement 2526918 2528084 - VariableDeclarationList 2526918 2528083 - VariableDeclaration 2528034 2528083 - Identifier 2528034 2528045 - CallExpression 2528047 2528083 - Identifier 2528047 2528067 - Identifier 2528068 2528082 - IfStatement 2528084 2532591 - BinaryExpression 2528098 2528136 - Identifier 2528098 2528113 - GreaterThanEqualsToken 2528113 2528116 - PropertyAccessExpression 2528116 2528136 - Identifier 2528116 2528129 - Identifier 2528130 2528136 - Block 2528137 2528915 - IfStatement 2528139 2528223 - CallExpression 2528157 2528180 - Identifier 2528157 2528168 - Identifier 2528169 2528179 - Block 2528181 2528223 - ReturnStatement 2528183 2528208 - VariableStatement 2528223 2528307 - VariableDeclarationList 2528223 2528306 - VariableDeclaration 2528242 2528306 - Identifier 2528242 2528260 - CallExpression 2528262 2528306 - Identifier 2528262 2528283 - TrueKeyword 2528284 2528305 - IfStatement 2528307 2528904 - BinaryExpression 2528325 2528416 - BinaryExpression 2528325 2528363 - Identifier 2528325 2528342 - ExclamationEqualsEqualsToken 2528342 2528346 - Identifier 2528346 2528363 - AmpersandAmpersandToken 2528363 2528366 - PrefixUnaryExpression 2528366 2528416 - CallExpression 2528368 2528416 - Identifier 2528368 2528385 - Identifier 2528386 2528396 - Identifier 2528397 2528415 - Block 2528417 2528904 - ExpressionStatement 2528419 2528864 - CallExpression 2528419 2528863 - Identifier 2528419 2528635 - PropertyAccessExpression 2528636 2528760 - Identifier 2528636 2528647 - Identifier 2528648 2528760 - Identifier 2528761 2528776 - Identifier 2528777 2528801 - CallExpression 2528802 2528862 - Identifier 2528802 2528815 - BinaryExpression 2528816 2528861 - CallExpression 2528816 2528849 - Identifier 2528816 2528837 - Identifier 2528838 2528848 - BarBarToken 2528849 2528852 - Identifier 2528852 2528861 - ReturnStatement 2528864 2528889 - Block 2528929 2532591 - ExpressionStatement 2528931 2529081 - CallExpression 2528931 2529080 - Identifier 2528931 2529045 - Identifier 2529046 2529050 - PropertyAccessExpression 2529051 2529079 - Identifier 2529051 2529065 - Identifier 2529066 2529079 - IfStatement 2529081 2529165 - CallExpression 2529099 2529122 - Identifier 2529099 2529110 - Identifier 2529111 2529121 - Block 2529123 2529165 - ReturnStatement 2529125 2529150 - VariableStatement 2529165 2529254 - VariableDeclarationList 2529165 2529253 - VariableDeclaration 2529186 2529253 - Identifier 2529186 2529209 - CallExpression 2529211 2529253 - Identifier 2529211 2529237 - Identifier 2529238 2529252 - IfStatement 2529254 2529605 - BinaryExpression 2529272 2529308 - Identifier 2529272 2529294 - EqualsEqualsEqualsToken 2529294 2529298 - Identifier 2529298 2529308 - Block 2529309 2529605 - ExpressionStatement 2529311 2529565 - CallExpression 2529311 2529564 - Identifier 2529311 2529360 - PropertyAccessExpression 2529361 2529496 - Identifier 2529361 2529372 - Identifier 2529373 2529496 - Identifier 2529497 2529512 - Identifier 2529513 2529537 - CallExpression 2529538 2529563 - Identifier 2529538 2529551 - Identifier 2529552 2529562 - ReturnStatement 2529565 2529590 - VariableStatement 2529605 2529738 - VariableDeclarationList 2529605 2529737 - VariableDeclaration 2529626 2529737 - Identifier 2529626 2529651 - CallExpression 2529653 2529737 - Identifier 2529653 2529671 - Identifier 2529672 2529694 - PropertyAccessExpression 2529695 2529713 - Identifier 2529695 2529707 - Identifier 2529708 2529713 - TrueKeyword 2529714 2529736 - VariableStatement 2529738 2529864 - VariableDeclarationList 2529738 2529863 - VariableDeclaration 2529757 2529863 - Identifier 2529757 2529780 - ConditionalExpression 2529782 2529863 - Identifier 2529782 2529807 - QuestionToken 2529807 2529809 - CallExpression 2529809 2529851 - Identifier 2529809 2529825 - Identifier 2529826 2529850 - ColonToken 2529851 2529853 - Identifier 2529853 2529863 - IfStatement 2529864 2530738 - CallExpression 2529882 2529917 - Identifier 2529882 2529893 - Identifier 2529894 2529916 - Block 2529918 2530738 - IfStatement 2529920 2530698 - BinaryExpression 2529942 2530125 - BinaryExpression 2529942 2530047 - BinaryExpression 2529942 2529995 - PropertyAccessExpression 2529942 2529969 - Identifier 2529942 2529964 - Identifier 2529965 2529969 - EqualsEqualsEqualsToken 2529969 2529973 - PropertyAccessExpression 2529973 2529995 - Identifier 2529973 2529984 - Identifier 2529985 2529995 - AmpersandAmpersandToken 2529995 2529998 - BinaryExpression 2529998 2530047 - PropertyAccessExpression 2529998 2530033 - Identifier 2529998 2530021 - Identifier 2530022 2530033 - EqualsEqualsEqualsToken 2530033 2530037 - StringLiteral 2530037 2530047 - AmpersandAmpersandToken 2530047 2530050 - BinaryExpression 2530050 2530125 - CallExpression 2530050 2530076 - Identifier 2530050 2530064 - Identifier 2530065 2530075 - EqualsEqualsEqualsToken 2530076 2530080 - CallExpression 2530080 2530125 - Identifier 2530080 2530101 - FalseKeyword 2530102 2530124 - Block 2530126 2530379 - ExpressionStatement 2530128 2530360 - CallExpression 2530128 2530359 - Identifier 2530128 2530155 - Identifier 2530156 2530179 - PropertyAccessExpression 2530180 2530358 - Identifier 2530180 2530192 - Identifier 2530193 2530358 - Block 2530401 2530698 - ExpressionStatement 2530403 2530679 - CallExpression 2530403 2530678 - Identifier 2530403 2530456 - PropertyAccessExpression 2530457 2530592 - Identifier 2530457 2530468 - Identifier 2530469 2530592 - Identifier 2530593 2530608 - Identifier 2530609 2530633 - CallExpression 2530634 2530677 - Identifier 2530634 2530653 - Identifier 2530654 2530676 - ReturnStatement 2530698 2530723 - VariableStatement 2530738 2530854 - VariableDeclarationList 2530738 2530853 - VariableDeclaration 2530759 2530853 - Identifier 2530759 2530792 - CallExpression 2530794 2530853 - Identifier 2530794 2530830 - TrueKeyword 2530831 2530852 - IfStatement 2530854 2531388 - BinaryExpression 2530872 2530924 - Identifier 2530872 2530904 - EqualsEqualsEqualsToken 2530904 2530908 - Identifier 2530908 2530924 - Block 2530925 2531388 - ExpressionStatement 2530927 2531348 - CallExpression 2530927 2531347 - Identifier 2530927 2531125 - PropertyAccessExpression 2531126 2531261 - Identifier 2531126 2531137 - Identifier 2531138 2531261 - Identifier 2531262 2531277 - Identifier 2531278 2531302 - CallExpression 2531303 2531346 - Identifier 2531303 2531322 - Identifier 2531323 2531345 - ReturnStatement 2531348 2531373 - VariableStatement 2531388 2531560 - VariableDeclarationList 2531388 2531559 - VariableDeclaration 2531409 2531559 - Identifier 2531409 2531421 - PropertyAccessExpression 2531423 2531559 - Identifier 2531423 2531435 - Identifier 2531436 2531559 - VariableStatement 2531560 2531796 - VariableDeclarationList 2531560 2531795 - VariableDeclaration 2531579 2531795 - Identifier 2531579 2531589 - ArrowFunction 2531591 2531795 - EqualsGreaterThanToken 2531594 2531597 - ConditionalExpression 2531597 2531795 - BinaryExpression 2531597 2531640 - Identifier 2531597 2531612 - EqualsEqualsEqualsToken 2531612 2531616 - Identifier 2531616 2531640 - QuestionToken 2531640 2531642 - Identifier 2531642 2531652 - ColonToken 2531652 2531654 - CallExpression 2531654 2531795 - Identifier 2531654 2531678 - Identifier 2531679 2531700 - PropertyAccessExpression 2531701 2531794 - Identifier 2531701 2531713 - Identifier 2531714 2531794 - IfStatement 2531796 2531986 - PrefixUnaryExpression 2531814 2531943 - CallExpression 2531815 2531943 - Identifier 2531815 2531836 - Identifier 2531837 2531859 - Identifier 2531860 2531893 - Identifier 2531894 2531918 - Identifier 2531919 2531931 - Identifier 2531932 2531942 - Block 2531944 2531986 - ReturnStatement 2531946 2531971 - VariableStatement 2531986 2532190 - VariableDeclarationList 2531986 2532189 - VariableDeclaration 2532109 2532189 - Identifier 2532109 2532118 - BinaryExpression 2532120 2532189 - Identifier 2532120 2532143 - AmpersandAmpersandToken 2532143 2532146 - CallExpression 2532146 2532189 - Identifier 2532146 2532165 - Identifier 2532166 2532188 - VariableStatement 2532190 2532293 - VariableDeclarationList 2532190 2532292 - VariableDeclaration 2532209 2532292 - Identifier 2532209 2532225 - CallExpression 2532227 2532292 - Identifier 2532227 2532237 - NonNullExpression 2532238 2532250 - PropertyAccessExpression 2532238 2532249 - Identifier 2532238 2532242 - Identifier 2532243 2532249 - PropertyAccessExpression 2532251 2532272 - Identifier 2532251 2532260 - Identifier 2532261 2532272 - PropertyAccessExpression 2532273 2532291 - Identifier 2532273 2532285 - Identifier 2532286 2532291 - IfStatement 2532293 2532580 - Identifier 2532311 2532326 - Block 2532327 2532580 - ExpressionStatement 2532329 2532540 - CallExpression 2532329 2532539 - Identifier 2532329 2532352 - PropertyAccessExpression 2532353 2532385 - Identifier 2532353 2532368 - Identifier 2532369 2532385 - PropertyAccessExpression 2532386 2532476 - Identifier 2532386 2532398 - Identifier 2532399 2532476 - CallExpression 2532477 2532494 - Identifier 2532477 2532484 - Identifier 2532485 2532493 - CallExpression 2532495 2532538 - Identifier 2532495 2532514 - Identifier 2532515 2532537 - ReturnStatement 2532540 2532565 - ExpressionStatement 2532591 2532783 - CallExpression 2532591 2532782 - Identifier 2532591 2532619 - Identifier 2532620 2532630 - FalseKeyword 2532631 2532651 - Identifier 2532652 2532657 - PropertyAccessExpression 2532658 2532781 - Identifier 2532658 2532670 - Identifier 2532671 2532781 - FunctionDeclaration 2532783 2533391 - Identifier 2532803 2532835 - Parameter 2532836 2532862 - Identifier 2532836 2532843 - TypeReference 2532844 2532862 - Identifier 2532844 2532862 - Parameter 2532863 2532888 - Identifier 2532863 2532878 - TypeReference 2532879 2532888 - Identifier 2532879 2532888 - Parameter 2532889 2532923 - Identifier 2532889 2532913 - TypeReference 2532914 2532923 - Identifier 2532914 2532923 - Parameter 2532924 2532941 - Identifier 2532924 2532933 - StringKeyword 2532934 2532941 - Block 2532942 2533391 - IfStatement 2532944 2533380 - BinaryExpression 2532962 2533004 - Identifier 2532962 2532976 - EqualsEqualsEqualsToken 2532976 2532980 - Identifier 2532980 2533004 - Block 2533005 2533090 - ExpressionStatement 2533007 2533075 - CallExpression 2533007 2533074 - Identifier 2533007 2533030 - Identifier 2533031 2533054 - Identifier 2533055 2533063 - Identifier 2533064 2533073 - Block 2533108 2533380 - VariableStatement 2533110 2533266 - VariableDeclarationList 2533110 2533265 - VariableDeclaration 2533133 2533265 - Identifier 2533133 2533138 - CallExpression 2533140 2533265 - Identifier 2533140 2533146 - Identifier 2533147 2533170 - PropertyAccessExpression 2533171 2533264 - Identifier 2533171 2533183 - Identifier 2533184 2533264 - ExpressionStatement 2533266 2533365 - CallExpression 2533266 2533364 - Identifier 2533266 2533298 - Identifier 2533299 2533303 - CallExpression 2533304 2533363 - Identifier 2533304 2533328 - Identifier 2533329 2533343 - Identifier 2533344 2533352 - Identifier 2533353 2533362 - FunctionDeclaration 2533398 2536237 - Identifier 2533414 2533436 - Parameter 2533437 2533457 - Identifier 2533437 2533446 - TypeReference 2533447 2533457 - Identifier 2533447 2533457 - BooleanKeyword 2533459 2533467 - Block 2533467 2536237 - VariableStatement 2533469 2533529 - VariableDeclarationList 2533469 2533528 - VariableDeclaration 2533484 2533528 - Identifier 2533484 2533495 - CallExpression 2533497 2533528 - Identifier 2533497 2533517 - Identifier 2533518 2533527 - IfStatement 2533529 2536205 - PrefixUnaryExpression 2533543 2533575 - CallExpression 2533544 2533575 - Identifier 2533544 2533563 - Identifier 2533564 2533574 - Block 2533576 2536205 - VariableStatement 2533578 2533636 - VariableDeclarationList 2533578 2533635 - VariableDeclaration 2533595 2533635 - Identifier 2533595 2533600 - TypeReference 2533601 2533612 - Identifier 2533601 2533612 - PropertyAccessExpression 2533614 2533635 - Identifier 2533614 2533624 - Identifier 2533625 2533635 - IfStatement 2533636 2533826 - CallExpression 2533746 2533777 - Identifier 2533746 2533771 - Identifier 2533772 2533776 - Block 2533778 2533826 - ReturnStatement 2533780 2533811 - FalseKeyword 2533804 2533810 - VariableStatement 2533826 2533875 - VariableDeclarationList 2533826 2533874 - VariableDeclaration 2533845 2533874 - Identifier 2533845 2533867 - TrueKeyword 2533869 2533874 - VariableStatement 2533875 2533921 - VariableDeclarationList 2533875 2533920 - VariableDeclaration 2533892 2533920 - Identifier 2533892 2533902 - UnionType 2533903 2533920 - TypeReference 2533903 2533908 - Identifier 2533903 2533908 - UndefinedKeyword 2533910 2533920 - WhileStatement 2533921 2535834 - TrueKeyword 2533942 2533946 - Block 2533947 2535834 - IfStatement 2533949 2534227 - BinaryExpression 2534065 2534129 - CallExpression 2534065 2534100 - Identifier 2534065 2534094 - Identifier 2534095 2534099 - BarBarToken 2534100 2534103 - CallExpression 2534103 2534129 - Identifier 2534103 2534123 - Identifier 2534124 2534128 - Block 2534130 2534227 - ExpressionStatement 2534132 2534177 - BinaryExpression 2534132 2534176 - Identifier 2534132 2534158 - EqualsToken 2534158 2534160 - PropertyAccessExpression 2534160 2534176 - Identifier 2534160 2534165 - Identifier 2534166 2534176 - ContinueStatement 2534177 2534208 - IfStatement 2534227 2534896 - CallExpression 2534357 2534379 - Identifier 2534357 2534373 - Identifier 2534374 2534378 - Block 2534380 2534896 - IfStatement 2534382 2534499 - PrefixUnaryExpression 2534408 2534430 - Identifier 2534409 2534430 - Block 2534431 2534499 - ExpressionStatement 2534433 2534476 - BinaryExpression 2534433 2534475 - Identifier 2534433 2534468 - EqualsToken 2534468 2534470 - Identifier 2534470 2534475 - IfStatement 2534499 2534749 - PropertyAccessExpression 2534525 2534546 - Identifier 2534525 2534529 - Identifier 2534530 2534546 - Block 2534547 2534749 - ExpressionStatement 2534549 2534726 - BinaryExpression 2534549 2534725 - Identifier 2534549 2534701 - EqualsToken 2534701 2534703 - PropertyAccessExpression 2534703 2534725 - Identifier 2534703 2534708 - Identifier 2534709 2534725 - ExpressionStatement 2534749 2534794 - BinaryExpression 2534749 2534793 - Identifier 2534749 2534775 - EqualsToken 2534775 2534777 - PropertyAccessExpression 2534777 2534793 - Identifier 2534777 2534782 - Identifier 2534783 2534793 - ExpressionStatement 2534794 2534846 - BinaryExpression 2534794 2534845 - Identifier 2534794 2534837 - EqualsToken 2534837 2534839 - FalseKeyword 2534839 2534845 - ContinueStatement 2534846 2534877 - IfStatement 2534896 2535581 - CallExpression 2535149 2535181 - Identifier 2535149 2535175 - Identifier 2535176 2535180 - Block 2535182 2535581 - IfStatement 2535184 2535434 - PropertyAccessExpression 2535210 2535231 - Identifier 2535210 2535214 - Identifier 2535215 2535231 - Block 2535232 2535434 - ExpressionStatement 2535234 2535411 - BinaryExpression 2535234 2535410 - Identifier 2535234 2535386 - EqualsToken 2535386 2535388 - PropertyAccessExpression 2535388 2535410 - Identifier 2535388 2535393 - Identifier 2535394 2535410 - ExpressionStatement 2535434 2535479 - BinaryExpression 2535434 2535478 - Identifier 2535434 2535460 - EqualsToken 2535460 2535462 - PropertyAccessExpression 2535462 2535478 - Identifier 2535462 2535467 - Identifier 2535468 2535478 - ExpressionStatement 2535479 2535531 - BinaryExpression 2535479 2535530 - Identifier 2535479 2535522 - EqualsToken 2535522 2535524 - FalseKeyword 2535524 2535530 - ContinueStatement 2535531 2535562 - IfStatement 2535581 2535793 - PrefixUnaryExpression 2535605 2535624 - CallExpression 2535606 2535624 - Identifier 2535606 2535618 - Identifier 2535619 2535623 - Block 2535625 2535793 - ExpressionStatement 2535627 2535774 - BinaryExpression 2535627 2535773 - Identifier 2535627 2535766 - EqualsToken 2535766 2535768 - Identifier 2535768 2535773 - BreakStatement 2535793 2535819 - IfStatement 2535834 2536194 - Identifier 2535854 2535863 - Block 2535864 2536194 - ExpressionStatement 2535866 2536149 - CallExpression 2535866 2536148 - Identifier 2535866 2535898 - CallExpression 2535899 2536030 - Identifier 2535899 2535926 - PropertyAccessExpression 2535927 2535947 - Identifier 2535927 2535936 - Identifier 2535937 2535947 - PropertyAccessExpression 2535948 2536029 - Identifier 2535948 2535960 - Identifier 2535961 2536029 - CallExpression 2536031 2536128 - Identifier 2536031 2536076 - Identifier 2536077 2536086 - PropertyAccessExpression 2536087 2536127 - Identifier 2536087 2536099 - Identifier 2536100 2536127 - ReturnStatement 2536149 2536179 - TrueKeyword 2536173 2536178 - ReturnStatement 2536205 2536230 - FalseKeyword 2536223 2536229 - FunctionDeclaration 2536237 2538189 - Identifier 2536283 2536298 - Parameter 2536299 2536314 - Identifier 2536299 2536303 - TypeReference 2536304 2536314 - Identifier 2536304 2536314 - VoidKeyword 2536316 2536321 - Block 2536321 2538189 - ExpressionStatement 2536323 2536361 - CallExpression 2536323 2536360 - Identifier 2536323 2536354 - Identifier 2536355 2536359 - VariableStatement 2536361 2536418 - VariableDeclarationList 2536361 2536417 - VariableDeclaration 2536378 2536417 - Identifier 2536378 2536388 - CallExpression 2536390 2536417 - Identifier 2536390 2536411 - Identifier 2536412 2536416 - ExpressionStatement 2536418 2536470 - CallExpression 2536418 2536469 - Identifier 2536418 2536452 - Identifier 2536453 2536462 - Identifier 2536463 2536468 - VariableStatement 2536470 2536535 - VariableDeclarationList 2536470 2536534 - VariableDeclaration 2536485 2536534 - Identifier 2536485 2536496 - CallExpression 2536498 2536534 - Identifier 2536498 2536523 - Identifier 2536524 2536533 - IfStatement 2536535 2536616 - BinaryExpression 2536549 2536581 - PropertyAccessExpression 2536549 2536565 - Identifier 2536549 2536559 - Identifier 2536560 2536565 - AmpersandToken 2536565 2536567 - PropertyAccessExpression 2536567 2536581 - Identifier 2536567 2536577 - Identifier 2536578 2536581 - Block 2536582 2536616 - ReturnStatement 2536584 2536605 - VariableStatement 2536616 2536819 - VariableDeclarationList 2536616 2536818 - VariableDeclaration 2536765 2536818 - Identifier 2536765 2536784 - CallExpression 2536786 2536818 - Identifier 2536786 2536812 - Identifier 2536813 2536817 - IfStatement 2536819 2536881 - PrefixUnaryExpression 2536833 2536872 - PropertyAccessExpression 2536834 2536872 - Identifier 2536834 2536852 - QuestionDotToken 2536852 2536854 - Identifier 2536854 2536872 - ReturnStatement 2536873 2536881 - VariableStatement 2536881 2536928 - VariableDeclarationList 2536881 2536927 - VariableDeclaration 2536896 2536927 - Identifier 2536896 2536908 - TypeReference 2536909 2536927 - Identifier 2536909 2536927 - VariableStatement 2536928 2537003 - VariableDeclarationList 2536928 2537002 - VariableDeclaration 2536943 2537002 - Identifier 2536943 2536962 - PropertyAccessExpression 2536964 2537002 - Identifier 2536964 2536983 - Identifier 2536984 2537002 - SwitchStatement 2537003 2538086 - PropertyAccessExpression 2537021 2537037 - PropertyAccessExpression 2537021 2537032 - Identifier 2537021 2537025 - Identifier 2537026 2537032 - Identifier 2537033 2537037 - CaseBlock 2537038 2538086 - CaseClause 2537040 2537087 - PropertyAccessExpression 2537058 2537086 - Identifier 2537058 2537069 - Identifier 2537070 2537086 - CaseClause 2537087 2537262 - PropertyAccessExpression 2537105 2537132 - Identifier 2537105 2537116 - Identifier 2537117 2537132 - ExpressionStatement 2537133 2537238 - BinaryExpression 2537133 2537237 - Identifier 2537133 2537162 - EqualsToken 2537162 2537164 - PropertyAccessExpression 2537164 2537237 - Identifier 2537164 2537176 - Identifier 2537177 2537237 - BreakStatement 2537238 2537262 - CaseClause 2537262 2537512 - PropertyAccessExpression 2537282 2537313 - Identifier 2537282 2537293 - Identifier 2537294 2537313 - IfStatement 2537314 2537512 - PrefixUnaryExpression 2537336 2537353 - Identifier 2537337 2537353 - Block 2537354 2537512 - ExpressionStatement 2537356 2537465 - BinaryExpression 2537356 2537464 - Identifier 2537356 2537389 - EqualsToken 2537389 2537391 - PropertyAccessExpression 2537391 2537464 - Identifier 2537391 2537403 - Identifier 2537404 2537464 - BreakStatement 2537465 2537493 - CaseClause 2537512 2537726 - PropertyAccessExpression 2537566 2537587 - Identifier 2537566 2537577 - Identifier 2537578 2537587 - ExpressionStatement 2537588 2537702 - BinaryExpression 2537588 2537701 - Identifier 2537588 2537617 - EqualsToken 2537617 2537619 - PropertyAccessExpression 2537619 2537701 - Identifier 2537619 2537631 - Identifier 2537632 2537701 - BreakStatement 2537702 2537726 - CaseClause 2537726 2537776 - PropertyAccessExpression 2537746 2537775 - Identifier 2537746 2537757 - Identifier 2537758 2537775 - CaseClause 2537776 2537818 - PropertyAccessExpression 2537794 2537817 - Identifier 2537794 2537805 - Identifier 2537806 2537817 - CaseClause 2537818 2537989 - PropertyAccessExpression 2537836 2537859 - Identifier 2537836 2537847 - Identifier 2537848 2537859 - ExpressionStatement 2537860 2537965 - BinaryExpression 2537860 2537964 - Identifier 2537860 2537889 - EqualsToken 2537889 2537891 - PropertyAccessExpression 2537891 2537964 - Identifier 2537891 2537903 - Identifier 2537904 2537964 - BreakStatement 2537965 2537989 - DefaultClause 2537989 2538075 - ReturnStatement 2538013 2538075 - CallExpression 2538037 2538074 - PropertyAccessExpression 2538037 2538061 - Identifier 2538037 2538043 - Identifier 2538044 2538061 - PropertyAccessExpression 2538062 2538073 - Identifier 2538062 2538066 - Identifier 2538067 2538073 - ExpressionStatement 2538086 2538182 - CallExpression 2538086 2538181 - Identifier 2538086 2538119 - Identifier 2538120 2538130 - Identifier 2538131 2538150 - PropertyAccessExpression 2538151 2538167 - Identifier 2538151 2538156 - Identifier 2538157 2538167 - Identifier 2538168 2538180 - FunctionDeclaration 2538189 2538942 - Identifier 2538298 2538318 - Parameter 2538319 2538381 - Identifier 2538319 2538343 - UnionType 2538344 2538381 - TypeOperator 2538344 2538369 - ArrayType 2538353 2538369 - TypeReference 2538353 2538367 - Identifier 2538353 2538367 - UndefinedKeyword 2538371 2538381 - Parameter 2538382 2538425 - Identifier 2538382 2538405 - UnionType 2538406 2538425 - TypeReference 2538406 2538413 - Identifier 2538406 2538413 - UndefinedKeyword 2538415 2538425 - Parameter 2538426 2538465 - Identifier 2538426 2538446 - TypeOperator 2538447 2538465 - ArrayType 2538456 2538465 - TypeReference 2538456 2538463 - Identifier 2538456 2538463 - Parameter 2538466 2538492 - Identifier 2538466 2538486 - TypeReference 2538487 2538492 - Identifier 2538487 2538492 - Parameter 2538493 2538532 - Identifier 2538493 2538516 - QuestionToken 2538516 2538517 - TypeReference 2538518 2538532 - Identifier 2538518 2538532 - Parameter 2538533 2538587 - Identifier 2538533 2538559 - NumberKeyword 2538560 2538567 - PropertyAccessExpression 2538569 2538587 - Identifier 2538569 2538580 - Identifier 2538581 2538587 - Parameter 2538588 2538641 - Identifier 2538588 2538603 - TypeReference 2538604 2538619 - Identifier 2538604 2538619 - PropertyAccessExpression 2538621 2538641 - Identifier 2538621 2538636 - Identifier 2538637 2538641 - Block 2538649 2538942 - VariableStatement 2538651 2538801 - VariableDeclarationList 2538651 2538800 - VariableDeclaration 2538666 2538800 - Identifier 2538666 2538671 - CallExpression 2538673 2538800 - PropertyAccessExpression 2538673 2538704 - Identifier 2538673 2538681 - Identifier 2538682 2538704 - Identifier 2538705 2538733 - Identifier 2538734 2538745 - CallExpression 2538746 2538799 - PropertyAccessExpression 2538746 2538776 - Identifier 2538746 2538754 - Identifier 2538755 2538776 - PropertyAccessExpression 2538777 2538798 - Identifier 2538777 2538787 - Identifier 2538788 2538798 - ReturnStatement 2538801 2538935 - CallExpression 2538817 2538934 - Identifier 2538817 2538833 - Identifier 2538834 2538838 - Identifier 2538839 2538854 - Identifier 2538855 2538869 - Identifier 2538870 2538881 - Identifier 2538882 2538893 - Identifier 2538894 2538908 - Identifier 2538909 2538926 - Identifier 2538927 2538933 - FunctionDeclaration 2538942 2539538 - Identifier 2539019 2539038 - Parameter 2539039 2539101 - Identifier 2539039 2539063 - UnionType 2539064 2539101 - TypeOperator 2539064 2539089 - ArrayType 2539073 2539089 - TypeReference 2539073 2539087 - Identifier 2539073 2539087 - UndefinedKeyword 2539091 2539101 - Parameter 2539102 2539145 - Identifier 2539102 2539125 - UnionType 2539126 2539145 - TypeReference 2539126 2539133 - Identifier 2539126 2539133 - UndefinedKeyword 2539135 2539145 - Parameter 2539146 2539185 - Identifier 2539146 2539166 - TypeOperator 2539167 2539185 - ArrayType 2539176 2539185 - TypeReference 2539176 2539183 - Identifier 2539176 2539183 - Parameter 2539186 2539212 - Identifier 2539186 2539206 - TypeReference 2539207 2539212 - Identifier 2539207 2539212 - Parameter 2539213 2539252 - Identifier 2539213 2539236 - QuestionToken 2539236 2539237 - TypeReference 2539238 2539252 - Identifier 2539238 2539252 - Parameter 2539253 2539288 - Identifier 2539253 2539279 - QuestionToken 2539279 2539280 - NumberKeyword 2539281 2539288 - Parameter 2539289 2539321 - Identifier 2539289 2539304 - QuestionToken 2539304 2539305 - TypeReference 2539306 2539321 - Identifier 2539306 2539321 - Block 2539329 2539538 - VariableStatement 2539331 2539474 - VariableDeclarationList 2539331 2539473 - VariableDeclaration 2539346 2539473 - Identifier 2539346 2539356 - CallExpression 2539358 2539473 - Identifier 2539358 2539378 - Identifier 2539379 2539393 - Identifier 2539394 2539408 - Identifier 2539409 2539420 - Identifier 2539421 2539432 - Identifier 2539433 2539447 - Identifier 2539448 2539465 - Identifier 2539466 2539472 - ReturnStatement 2539474 2539531 - CallExpression 2539490 2539530 - Identifier 2539490 2539519 - Identifier 2539520 2539529 - FunctionDeclaration 2539538 2539713 - Identifier 2539554 2539579 - Parameter 2539580 2539590 - Identifier 2539580 2539584 - TypeReference 2539585 2539590 - Identifier 2539585 2539590 - Block 2539591 2539713 - ReturnStatement 2539593 2539706 - CallExpression 2539609 2539705 - Identifier 2539609 2539628 - Identifier 2539629 2539657 - Identifier 2539658 2539686 - Identifier 2539687 2539698 - Identifier 2539699 2539704 - FunctionDeclaration 2539713 2539966 - Identifier 2539729 2539754 - Parameter 2539755 2539765 - Identifier 2539755 2539759 - TypeReference 2539760 2539765 - Identifier 2539760 2539765 - Block 2539766 2539966 - VariableStatement 2539768 2539840 - VariableDeclarationList 2539768 2539839 - VariableDeclaration 2539783 2539839 - Identifier 2539783 2539794 - CallExpression 2539796 2539839 - Identifier 2539796 2539812 - AsExpression 2539813 2539832 - StringLiteral 2539813 2539820 - TypeReference 2539823 2539832 - Identifier 2539823 2539832 - Identifier 2539833 2539838 - ReturnStatement 2539840 2539959 - CallExpression 2539856 2539958 - Identifier 2539856 2539875 - Identifier 2539876 2539904 - Identifier 2539905 2539933 - ArrayLiteralExpression 2539934 2539947 - Identifier 2539936 2539946 - Identifier 2539948 2539957 - FunctionDeclaration 2539966 2540905 - Identifier 2539982 2540016 - Parameter 2540017 2540043 - Identifier 2540017 2540021 - UnionType 2540022 2540043 - TypeReference 2540022 2540031 - Identifier 2540022 2540031 - UndefinedKeyword 2540033 2540043 - UnionType 2540045 2540068 - TypeReference 2540045 2540056 - Identifier 2540045 2540056 - UndefinedKeyword 2540058 2540068 - Block 2540068 2540905 - IfStatement 2540070 2540898 - Identifier 2540084 2540088 - Block 2540089 2540898 - SwitchStatement 2540091 2540887 - PropertyAccessExpression 2540113 2540122 - Identifier 2540113 2540117 - Identifier 2540118 2540122 - CaseBlock 2540123 2540887 - CaseClause 2540125 2540176 - PropertyAccessExpression 2540147 2540175 - Identifier 2540147 2540158 - Identifier 2540159 2540175 - CaseClause 2540176 2540340 - PropertyAccessExpression 2540198 2540219 - Identifier 2540198 2540209 - Identifier 2540210 2540219 - ReturnStatement 2540220 2540340 - CallExpression 2540248 2540339 - Identifier 2540248 2540294 - PropertyAccessExpression 2540295 2540338 - ParenthesizedExpression 2540295 2540332 - AsExpression 2540296 2540331 - Identifier 2540296 2540300 - TypeReference 2540303 2540331 - Identifier 2540303 2540331 - Identifier 2540333 2540338 - CaseClause 2540340 2540550 - PropertyAccessExpression 2540364 2540391 - Identifier 2540364 2540375 - Identifier 2540376 2540391 - ReturnStatement 2540392 2540550 - CallExpression 2540420 2540549 - Identifier 2540420 2540466 - ArrayLiteralExpression 2540467 2540548 - PropertyAccessExpression 2540468 2540506 - ParenthesizedExpression 2540468 2540497 - AsExpression 2540469 2540496 - Identifier 2540469 2540473 - TypeReference 2540476 2540496 - Identifier 2540476 2540496 - Identifier 2540498 2540506 - PropertyAccessExpression 2540507 2540547 - ParenthesizedExpression 2540507 2540537 - AsExpression 2540509 2540536 - Identifier 2540509 2540513 - TypeReference 2540516 2540536 - Identifier 2540516 2540536 - Identifier 2540538 2540547 - CaseClause 2540550 2540604 - PropertyAccessExpression 2540574 2540603 - Identifier 2540574 2540585 - Identifier 2540586 2540603 - CaseClause 2540604 2540756 - PropertyAccessExpression 2540626 2540654 - Identifier 2540626 2540637 - Identifier 2540638 2540654 - ReturnStatement 2540655 2540756 - CallExpression 2540683 2540755 - Identifier 2540683 2540717 - PropertyAccessExpression 2540718 2540754 - ParenthesizedExpression 2540718 2540749 - AsExpression 2540719 2540748 - Identifier 2540719 2540723 - TypeReference 2540726 2540748 - Identifier 2540726 2540748 - Identifier 2540750 2540754 - CaseClause 2540756 2540872 - PropertyAccessExpression 2540780 2540805 - Identifier 2540780 2540791 - Identifier 2540792 2540805 - ReturnStatement 2540806 2540872 - PropertyAccessExpression 2540834 2540871 - ParenthesizedExpression 2540834 2540862 - AsExpression 2540836 2540861 - Identifier 2540836 2540840 - TypeReference 2540843 2540861 - Identifier 2540843 2540861 - Identifier 2540863 2540871 - FunctionDeclaration 2540905 2543095 - Identifier 2540921 2540967 - Parameter 2540968 2540994 - Identifier 2540968 2540973 - TypeOperator 2540974 2540994 - ArrayType 2540983 2540994 - TypeReference 2540983 2540992 - Identifier 2540983 2540992 - UnionType 2540996 2541019 - TypeReference 2540996 2541007 - Identifier 2540996 2541007 - UndefinedKeyword 2541009 2541019 - Block 2541019 2543095 - VariableStatement 2541021 2541076 - VariableDeclarationList 2541021 2541075 - VariableDeclaration 2541034 2541075 - Identifier 2541034 2541051 - UnionType 2541052 2541075 - TypeReference 2541052 2541063 - Identifier 2541052 2541063 - UndefinedKeyword 2541065 2541075 - ForOfStatement 2541076 2543054 - VariableDeclarationList 2541091 2541103 - VariableDeclaration 2541094 2541103 - Identifier 2541094 2541103 - Identifier 2541106 2541112 - Block 2541113 2543054 - WhileStatement 2541115 2541364 - BinaryExpression 2541136 2541231 - BinaryExpression 2541136 2541182 - PropertyAccessExpression 2541136 2541149 - Identifier 2541136 2541144 - Identifier 2541145 2541149 - EqualsEqualsEqualsToken 2541149 2541153 - PropertyAccessExpression 2541153 2541182 - Identifier 2541153 2541164 - Identifier 2541165 2541182 - BarBarToken 2541182 2541185 - BinaryExpression 2541185 2541231 - PropertyAccessExpression 2541185 2541199 - Identifier 2541185 2541194 - Identifier 2541195 2541199 - EqualsEqualsEqualsToken 2541199 2541203 - PropertyAccessExpression 2541203 2541231 - Identifier 2541203 2541214 - Identifier 2541215 2541231 - Block 2541232 2541364 - ExpressionStatement 2541234 2541323 - BinaryExpression 2541234 2541322 - Identifier 2541234 2541260 - EqualsToken 2541260 2541262 - PropertyAccessExpression 2541262 2541322 - ParenthesizedExpression 2541262 2541317 - AsExpression 2541264 2541316 - Identifier 2541264 2541272 - UnionType 2541275 2541316 - TypeReference 2541275 2541297 - Identifier 2541275 2541297 - TypeReference 2541299 2541316 - Identifier 2541299 2541316 - Identifier 2541318 2541322 - IfStatement 2541364 2541532 - BinaryExpression 2541382 2541423 - PropertyAccessExpression 2541382 2541395 - Identifier 2541382 2541390 - Identifier 2541391 2541395 - EqualsEqualsEqualsToken 2541395 2541399 - PropertyAccessExpression 2541399 2541423 - Identifier 2541399 2541410 - Identifier 2541411 2541423 - Block 2541424 2541532 - ContinueStatement 2541426 2541453 - IfStatement 2541532 2541906 - BinaryExpression 2541550 2541735 - PrefixUnaryExpression 2541550 2541567 - Identifier 2541551 2541567 - AmpersandAmpersandToken 2541567 2541570 - ParenthesizedExpression 2541570 2541735 - BinaryExpression 2541572 2541734 - BinaryExpression 2541572 2541685 - BinaryExpression 2541572 2541612 - PropertyAccessExpression 2541572 2541585 - Identifier 2541572 2541580 - Identifier 2541581 2541585 - EqualsEqualsEqualsToken 2541585 2541589 - PropertyAccessExpression 2541589 2541612 - Identifier 2541589 2541600 - Identifier 2541601 2541612 - AmpersandAmpersandToken 2541612 2541615 - BinaryExpression 2541615 2541685 - PropertyAccessExpression 2541615 2541658 - PropertyAccessExpression 2541615 2541653 - ParenthesizedExpression 2541615 2541645 - AsExpression 2541617 2541644 - Identifier 2541617 2541625 - TypeReference 2541628 2541644 - Identifier 2541628 2541644 - Identifier 2541646 2541653 - Identifier 2541654 2541658 - EqualsEqualsEqualsToken 2541658 2541662 - PropertyAccessExpression 2541662 2541685 - Identifier 2541662 2541673 - Identifier 2541674 2541685 - BarBarToken 2541685 2541688 - BinaryExpression 2541688 2541734 - PropertyAccessExpression 2541688 2541702 - Identifier 2541688 2541697 - Identifier 2541698 2541702 - EqualsEqualsEqualsToken 2541702 2541706 - PropertyAccessExpression 2541706 2541734 - Identifier 2541706 2541717 - Identifier 2541718 2541734 - Block 2541736 2541906 - ContinueStatement 2541738 2541765 - VariableStatement 2541906 2541993 - VariableDeclarationList 2541906 2541992 - VariableDeclaration 2541925 2541992 - Identifier 2541925 2541946 - CallExpression 2541948 2541992 - Identifier 2541948 2541982 - Identifier 2541983 2541991 - IfStatement 2541993 2542264 - PrefixUnaryExpression 2542011 2542032 - Identifier 2542012 2542032 - Block 2542033 2542264 - ReturnStatement 2542035 2542249 - Identifier 2542238 2542248 - IfStatement 2542264 2543043 - Identifier 2542284 2542300 - Block 2542301 2542950 - IfStatement 2542303 2542935 - BinaryExpression 2542653 2542856 - BinaryExpression 2542653 2542766 - PrefixUnaryExpression 2542653 2542706 - CallExpression 2542676 2542706 - Identifier 2542676 2542688 - Identifier 2542689 2542705 - BarBarToken 2542706 2542709 - PrefixUnaryExpression 2542709 2542766 - CallExpression 2542732 2542766 - Identifier 2542732 2542744 - Identifier 2542745 2542765 - BarBarToken 2542766 2542769 - BinaryExpression 2542769 2542856 - PropertyAccessExpression 2542769 2542819 - Identifier 2542769 2542807 - Identifier 2542808 2542819 - ExclamationEqualsEqualsToken 2542819 2542823 - PropertyAccessExpression 2542823 2542856 - Identifier 2542823 2542844 - Identifier 2542845 2542856 - Block 2542875 2542935 - ReturnStatement 2542877 2542916 - Identifier 2542905 2542915 - Block 2542968 2543043 - ExpressionStatement 2542970 2543028 - BinaryExpression 2542970 2543027 - Identifier 2542970 2543004 - EqualsToken 2543004 2543006 - Identifier 2543006 2543027 - ReturnStatement 2543054 2543088 - Identifier 2543070 2543087 - FunctionDeclaration 2543095 2543362 - Identifier 2543111 2543149 - Parameter 2543150 2543176 - Identifier 2543150 2543154 - TypeReference 2543155 2543176 - Identifier 2543155 2543176 - UnionType 2543178 2543199 - TypeReference 2543178 2543187 - Identifier 2543178 2543187 - UndefinedKeyword 2543189 2543199 - Block 2543199 2543362 - VariableStatement 2543201 2543265 - VariableDeclarationList 2543201 2543264 - VariableDeclaration 2543216 2543264 - Identifier 2543216 2543225 - CallExpression 2543227 2543264 - Identifier 2543227 2543258 - Identifier 2543259 2543263 - ReturnStatement 2543265 2543355 - ConditionalExpression 2543281 2543354 - CallExpression 2543281 2543303 - Identifier 2543281 2543297 - Identifier 2543298 2543302 - QuestionToken 2543303 2543305 - CallExpression 2543305 2543343 - Identifier 2543305 2543333 - Identifier 2543334 2543342 - ColonToken 2543343 2543345 - Identifier 2543345 2543354 - FunctionDeclaration 2543362 2545679 - Identifier 2543421 2543437 - Parameter 2543438 2543448 - Identifier 2543438 2543442 - TypeReference 2543443 2543448 - Identifier 2543443 2543448 - VoidKeyword 2543450 2543455 - Block 2543455 2545679 - IfStatement 2543457 2543806 - BinaryExpression 2543624 2543771 - BinaryExpression 2543624 2543691 - BinaryExpression 2543624 2543672 - PrefixUnaryExpression 2543624 2543648 - CallExpression 2543625 2543648 - Identifier 2543625 2543642 - Identifier 2543643 2543647 - BarBarToken 2543648 2543651 - PrefixUnaryExpression 2543651 2543672 - CallExpression 2543653 2543672 - Identifier 2543653 2543666 - Identifier 2543667 2543671 - BarBarToken 2543672 2543675 - PrefixUnaryExpression 2543675 2543691 - PropertyAccessExpression 2543677 2543691 - Identifier 2543677 2543681 - Identifier 2543682 2543691 - BarBarToken 2543691 2543694 - PrefixUnaryExpression 2543694 2543771 - CallExpression 2543696 2543771 - Identifier 2543696 2543714 - Identifier 2543715 2543731 - Identifier 2543732 2543737 - PropertyAccessExpression 2543738 2543750 - Identifier 2543738 2543743 - Identifier 2543744 2543750 - PropertyAccessExpression 2543751 2543770 - PropertyAccessExpression 2543751 2543763 - Identifier 2543751 2543756 - Identifier 2543757 2543763 - Identifier 2543764 2543770 - Block 2543772 2543806 - ReturnStatement 2543774 2543795 - VariableStatement 2543806 2543875 - VariableDeclarationList 2543806 2543874 - VariableDeclaration 2543823 2543874 - Identifier 2543823 2543838 - CallExpression 2543840 2543874 - Identifier 2543840 2543845 - PropertyAccessExpression 2543846 2543860 - Identifier 2543846 2543850 - Identifier 2543851 2543860 - Identifier 2543861 2543873 - IfStatement 2543875 2543939 - PrefixUnaryExpression 2543889 2543904 - Identifier 2543890 2543904 - Block 2543905 2543939 - ReturnStatement 2543907 2543928 - IfStatement 2543939 2545445 - Identifier 2543955 2543971 - Block 2543972 2544226 - ExpressionStatement 2543974 2544059 - CallExpression 2543974 2544058 - Identifier 2543974 2544012 - Identifier 2544013 2544027 - PropertyAccessExpression 2544028 2544057 - Identifier 2544028 2544048 - Identifier 2544049 2544057 - IfStatement 2544059 2544215 - BinaryExpression 2544077 2544111 - PropertyAccessExpression 2544077 2544086 - Identifier 2544077 2544081 - Identifier 2544082 2544086 - EqualsEqualsEqualsToken 2544086 2544090 - PropertyAccessExpression 2544090 2544111 - Identifier 2544090 2544101 - Identifier 2544102 2544111 - Block 2544112 2544215 - ExpressionStatement 2544114 2544200 - CallExpression 2544114 2544199 - Identifier 2544114 2544156 - Identifier 2544157 2544171 - PropertyAccessExpression 2544172 2544198 - Identifier 2544172 2544192 - Identifier 2544193 2544198 - IfStatement 2544240 2545445 - BinaryExpression 2544245 2544322 - Identifier 2544245 2544260 - LessThanToken 2544260 2544262 - PropertyAccessExpression 2544262 2544322 - Identifier 2544262 2544291 - Identifier 2544292 2544322 - Block 2544323 2545445 - ExpressionStatement 2544325 2544430 - CallExpression 2544325 2544429 - Identifier 2544325 2544363 - Identifier 2544364 2544378 - PropertyAccessExpression 2544379 2544428 - Identifier 2544379 2544399 - Identifier 2544400 2544428 - IfStatement 2544430 2545434 - CallExpression 2544448 2544472 - Identifier 2544448 2544466 - Identifier 2544467 2544471 - Block 2544473 2544932 - IfStatement 2544475 2544917 - PrefixUnaryExpression 2544497 2544507 - PropertyAccessExpression 2544498 2544507 - Identifier 2544498 2544502 - Identifier 2544503 2544507 - Block 2544508 2544629 - ExpressionStatement 2544510 2544610 - CallExpression 2544510 2544609 - Identifier 2544510 2544556 - Identifier 2544557 2544571 - PropertyAccessExpression 2544572 2544608 - Identifier 2544572 2544592 - Identifier 2544593 2544608 - Block 2544651 2544917 - VariableStatement 2544653 2544736 - VariableDeclarationList 2544653 2544735 - VariableDeclaration 2544680 2544735 - Identifier 2544680 2544687 - CallExpression 2544689 2544735 - Identifier 2544689 2544729 - Identifier 2544730 2544734 - IfStatement 2544736 2544898 - Identifier 2544762 2544768 - Block 2544769 2544898 - ExpressionStatement 2544771 2544875 - CallExpression 2544771 2544874 - Identifier 2544771 2544821 - Identifier 2544822 2544836 - PropertyAccessExpression 2544837 2544873 - Identifier 2544837 2544857 - Identifier 2544858 2544873 - IfStatement 2544950 2545434 - PrefixUnaryExpression 2544955 2544979 - CallExpression 2544956 2544979 - Identifier 2544956 2544973 - Identifier 2544974 2544978 - Block 2544980 2545434 - IfStatement 2544982 2545250 - BinaryExpression 2545004 2545128 - CallExpression 2545004 2545034 - Identifier 2545004 2545023 - PropertyAccessExpression 2545024 2545033 - Identifier 2545024 2545028 - Identifier 2545029 2545033 - AmpersandAmpersandToken 2545034 2545037 - ParenthesizedExpression 2545037 2545128 - BinaryExpression 2545039 2545127 - BinaryExpression 2545039 2545084 - CallExpression 2545039 2545064 - Identifier 2545039 2545058 - Identifier 2545059 2545063 - BarBarToken 2545064 2545067 - CallExpression 2545067 2545084 - Identifier 2545067 2545078 - Identifier 2545079 2545083 - BarBarToken 2545084 2545087 - CallExpression 2545087 2545127 - Identifier 2545087 2545121 - Identifier 2545122 2545126 - Block 2545129 2545250 - ExpressionStatement 2545131 2545231 - CallExpression 2545131 2545230 - Identifier 2545131 2545177 - Identifier 2545178 2545192 - PropertyAccessExpression 2545193 2545229 - Identifier 2545193 2545213 - Identifier 2545214 2545229 - IfStatement 2545250 2545419 - CallExpression 2545272 2545305 - Identifier 2545272 2545294 - PropertyAccessExpression 2545295 2545304 - Identifier 2545295 2545299 - Identifier 2545300 2545304 - Block 2545306 2545419 - ExpressionStatement 2545308 2545400 - CallExpression 2545308 2545399 - Identifier 2545308 2545354 - Identifier 2545355 2545369 - PropertyAccessExpression 2545370 2545398 - Identifier 2545370 2545390 - Identifier 2545391 2545398 - ExpressionStatement 2545445 2545509 - CallExpression 2545445 2545508 - Identifier 2545445 2545477 - Identifier 2545478 2545482 - PropertyAccessExpression 2545483 2545507 - Identifier 2545483 2545497 - Identifier 2545498 2545507 - ForOfStatement 2545509 2545672 - VariableDeclarationList 2545526 2545540 - VariableDeclaration 2545531 2545540 - Identifier 2545531 2545540 - PropertyAccessExpression 2545543 2545558 - Identifier 2545543 2545548 - Identifier 2545549 2545558 - Block 2545559 2545672 - IfStatement 2545561 2545661 - CallExpression 2545579 2545600 - Identifier 2545579 2545590 - Identifier 2545591 2545599 - Block 2545601 2545661 - ExpressionStatement 2545603 2545646 - CallExpression 2545603 2545645 - Identifier 2545603 2545635 - Identifier 2545636 2545644 - FunctionDeclaration 2545679 2546061 - Identifier 2545695 2545720 - Parameter 2545721 2545746 - Identifier 2545721 2545725 - TypeReference 2545726 2545746 - Identifier 2545726 2545746 - VoidKeyword 2545748 2545753 - Block 2545753 2546061 - ExpressionStatement 2545755 2545820 - CallExpression 2545755 2545819 - Identifier 2545755 2545782 - Identifier 2545783 2545818 - FunctionDeclaration 2545820 2546054 - Identifier 2545840 2545876 - Block 2545878 2546054 - ExpressionStatement 2545880 2545933 - CallExpression 2545880 2545932 - Identifier 2545880 2545926 - Identifier 2545927 2545931 - ExpressionStatement 2545933 2545978 - CallExpression 2545933 2545977 - Identifier 2545933 2545971 - Identifier 2545972 2545976 - ExpressionStatement 2545978 2546043 - CallExpression 2545978 2546042 - Identifier 2545978 2546025 - Identifier 2546026 2546030 - PropertyAccessExpression 2546031 2546041 - Identifier 2546031 2546036 - Identifier 2546037 2546041 - FunctionDeclaration 2546061 2546708 - Identifier 2546077 2546100 - Parameter 2546101 2546141 - Identifier 2546101 2546105 - UnionType 2546106 2546141 - TypeReference 2546106 2546122 - Identifier 2546106 2546122 - TypeReference 2546124 2546141 - Identifier 2546124 2546141 - Block 2546142 2546708 - IfStatement 2546144 2546447 - PrefixUnaryExpression 2546158 2546178 - PropertyAccessExpression 2546159 2546178 - Identifier 2546159 2546163 - Identifier 2546164 2546178 - Block 2546179 2546447 - ExpressionStatement 2546181 2546436 - CallExpression 2546181 2546435 - Identifier 2546181 2546314 - PropertyAccessExpression 2546315 2546324 - Identifier 2546315 2546319 - Identifier 2546320 2546324 - PropertyAccessExpression 2546325 2546434 - Identifier 2546325 2546337 - Identifier 2546338 2546434 - IfStatement 2546447 2546576 - PropertyAccessExpression 2546463 2546472 - Identifier 2546463 2546467 - Identifier 2546468 2546472 - Block 2546473 2546576 - ExpressionStatement 2546475 2546565 - CallExpression 2546475 2546564 - Identifier 2546475 2546512 - PropertyAccessExpression 2546513 2546522 - Identifier 2546513 2546517 - Identifier 2546518 2546522 - PropertyAccessExpression 2546523 2546563 - Identifier 2546523 2546535 - Identifier 2546536 2546563 - ExpressionStatement 2546576 2546626 - CallExpression 2546576 2546625 - Identifier 2546576 2546604 - PropertyAccessExpression 2546605 2546624 - Identifier 2546605 2546609 - Identifier 2546610 2546624 - ExpressionStatement 2546626 2546701 - CallExpression 2546626 2546700 - Identifier 2546626 2546655 - CallExpression 2546656 2546699 - Identifier 2546656 2546693 - Identifier 2546694 2546698 - FunctionDeclaration 2546708 2546928 - Identifier 2546724 2546746 - Parameter 2546747 2546769 - Identifier 2546747 2546751 - TypeReference 2546752 2546769 - Identifier 2546752 2546769 - VoidKeyword 2546771 2546776 - Block 2546776 2546928 - ExpressionStatement 2546778 2546824 - CallExpression 2546778 2546823 - Identifier 2546778 2546806 - PropertyAccessExpression 2546807 2546822 - Identifier 2546807 2546811 - Identifier 2546812 2546822 - ForOfStatement 2546824 2546921 - VariableDeclarationList 2546839 2546847 - VariableDeclaration 2546844 2546847 - Identifier 2546844 2546847 - PropertyAccessExpression 2546850 2546870 - Identifier 2546850 2546855 - Identifier 2546856 2546870 - Block 2546871 2546921 - ExpressionStatement 2546873 2546910 - CallExpression 2546873 2546909 - Identifier 2546873 2546905 - Identifier 2546906 2546908 - FunctionDeclaration 2546928 2547041 - Identifier 2546944 2546962 - Parameter 2546963 2546981 - Identifier 2546963 2546967 - TypeReference 2546968 2546981 - Identifier 2546968 2546981 - Block 2546982 2547041 - ExpressionStatement 2546984 2547034 - CallExpression 2546984 2547033 - Identifier 2546984 2547012 - PropertyAccessExpression 2547013 2547032 - Identifier 2547013 2547017 - Identifier 2547018 2547032 - FunctionDeclaration 2547041 2547592 - Identifier 2547057 2547080 - Parameter 2547081 2547104 - Identifier 2547081 2547085 - TypeReference 2547086 2547104 - Identifier 2547086 2547104 - Block 2547105 2547592 - ExpressionStatement 2547107 2547157 - CallExpression 2547107 2547156 - Identifier 2547107 2547135 - PropertyAccessExpression 2547136 2547155 - Identifier 2547136 2547140 - Identifier 2547141 2547155 - VariableStatement 2547157 2547208 - VariableDeclarationList 2547157 2547207 - VariableDeclaration 2547172 2547207 - Identifier 2547172 2547177 - CallExpression 2547179 2547207 - Identifier 2547179 2547201 - Identifier 2547202 2547206 - IfStatement 2547208 2547585 - Identifier 2547222 2547226 - Block 2547227 2547585 - VariableStatement 2547229 2547299 - VariableDeclarationList 2547229 2547298 - VariableDeclaration 2547248 2547298 - Identifier 2547248 2547253 - CallExpression 2547255 2547298 - Identifier 2547255 2547271 - Identifier 2547272 2547276 - Identifier 2547277 2547297 - IfStatement 2547299 2547574 - BinaryExpression 2547317 2547333 - CallExpression 2547317 2547329 - Identifier 2547317 2547323 - Identifier 2547324 2547328 - GreaterThanToken 2547329 2547331 - NumericLiteral 2547331 2547333 - Block 2547334 2547574 - ForStatement 2547336 2547559 - VariableDeclarationList 2547359 2547368 - VariableDeclaration 2547362 2547368 - Identifier 2547362 2547364 - NumericLiteral 2547366 2547368 - BinaryExpression 2547369 2547386 - Identifier 2547369 2547371 - LessThanToken 2547371 2547373 - CallExpression 2547373 2547386 - Identifier 2547373 2547380 - Identifier 2547381 2547385 - PostfixUnaryExpression 2547387 2547391 - Identifier 2547387 2547389 - Block 2547392 2547559 - VariableStatement 2547394 2547448 - VariableDeclarationList 2547394 2547447 - VariableDeclaration 2547421 2547447 - Identifier 2547421 2547429 - PropertyAccessExpression 2547431 2547447 - ElementAccessExpression 2547431 2547439 - Identifier 2547431 2547436 - Identifier 2547437 2547438 - Identifier 2547440 2547447 - ExpressionStatement 2547448 2547540 - CallExpression 2547448 2547539 - Identifier 2547448 2547475 - Identifier 2547476 2547483 - PropertyAccessExpression 2547484 2547521 - Identifier 2547484 2547496 - Identifier 2547497 2547521 - CallExpression 2547522 2547538 - Identifier 2547522 2547529 - Identifier 2547530 2547537 - FunctionDeclaration 2547592 2547797 - Identifier 2547608 2547630 - Parameter 2547631 2547679 - Identifier 2547631 2547635 - UnionType 2547636 2547679 - TypeReference 2547636 2547646 - Identifier 2547636 2547646 - TypeReference 2547648 2547662 - Identifier 2547648 2547662 - TypeReference 2547664 2547679 - Identifier 2547664 2547679 - Block 2547680 2547797 - IfStatement 2547682 2547790 - PropertyAccessExpression 2547696 2547705 - Identifier 2547696 2547700 - Identifier 2547701 2547705 - Block 2547706 2547790 - ExpressionStatement 2547708 2547779 - CallExpression 2547708 2547778 - Identifier 2547708 2547744 - PropertyAccessExpression 2547745 2547754 - Identifier 2547745 2547749 - Identifier 2547750 2547754 - TrueKeyword 2547755 2547777 - FunctionDeclaration 2547797 2547920 - Identifier 2547813 2547836 - Parameter 2547837 2547860 - Identifier 2547837 2547841 - TypeReference 2547842 2547860 - Identifier 2547842 2547860 - Block 2547861 2547920 - ExpressionStatement 2547863 2547913 - CallExpression 2547863 2547912 - Identifier 2547863 2547891 - PropertyAccessExpression 2547892 2547911 - Identifier 2547892 2547896 - Identifier 2547897 2547911 - FunctionDeclaration 2547920 2548041 - Identifier 2547936 2547958 - Parameter 2547959 2547981 - Identifier 2547959 2547963 - TypeReference 2547964 2547981 - Identifier 2547964 2547981 - Block 2547982 2548041 - ExpressionStatement 2547984 2548034 - CallExpression 2547984 2548033 - Identifier 2547984 2548012 - PropertyAccessExpression 2548013 2548032 - Identifier 2548013 2548017 - Identifier 2548018 2548032 - FunctionDeclaration 2548041 2548427 - Identifier 2548057 2548080 - Parameter 2548081 2548104 - Identifier 2548081 2548085 - TypeReference 2548086 2548104 - Identifier 2548086 2548104 - VoidKeyword 2548106 2548111 - Block 2548111 2548427 - ExpressionStatement 2548113 2548176 - CallExpression 2548113 2548175 - Identifier 2548113 2548140 - Identifier 2548141 2548174 - ExpressionStatement 2548176 2548218 - CallExpression 2548176 2548217 - Identifier 2548176 2548211 - Identifier 2548212 2548216 - FunctionDeclaration 2548218 2548420 - Identifier 2548238 2548272 - Block 2548274 2548420 - IfStatement 2548276 2548409 - BinaryExpression 2548294 2548340 - PrefixUnaryExpression 2548294 2548304 - PropertyAccessExpression 2548295 2548304 - Identifier 2548295 2548299 - Identifier 2548300 2548304 - AmpersandAmpersandToken 2548304 2548307 - PrefixUnaryExpression 2548307 2548340 - CallExpression 2548309 2548340 - Identifier 2548309 2548334 - Identifier 2548335 2548339 - Block 2548341 2548409 - ExpressionStatement 2548343 2548394 - CallExpression 2548343 2548393 - Identifier 2548343 2548378 - Identifier 2548379 2548383 - Identifier 2548384 2548392 - FunctionDeclaration 2548427 2548692 - Identifier 2548443 2548461 - Parameter 2548462 2548480 - Identifier 2548462 2548466 - TypeReference 2548467 2548480 - Identifier 2548467 2548480 - Block 2548481 2548692 - VariableStatement 2548483 2548534 - VariableDeclarationList 2548483 2548533 - VariableDeclaration 2548498 2548533 - Identifier 2548498 2548503 - CallExpression 2548505 2548533 - Identifier 2548505 2548527 - Identifier 2548528 2548532 - IfStatement 2548534 2548685 - BinaryExpression 2548548 2548577 - Identifier 2548548 2548552 - AmpersandAmpersandToken 2548552 2548555 - CallExpression 2548555 2548577 - Identifier 2548555 2548571 - Identifier 2548572 2548576 - Block 2548578 2548685 - ExpressionStatement 2548580 2548674 - CallExpression 2548580 2548673 - Identifier 2548580 2548599 - PropertyAccessExpression 2548600 2548612 - Identifier 2548600 2548604 - Identifier 2548605 2548612 - PropertyAccessExpression 2548613 2548672 - Identifier 2548613 2548625 - Identifier 2548626 2548672 - FunctionDeclaration 2548692 2548797 - Identifier 2548708 2548728 - Parameter 2548729 2548749 - Identifier 2548729 2548733 - TypeReference 2548734 2548749 - Identifier 2548734 2548749 - Block 2548750 2548797 - ExpressionStatement 2548752 2548790 - CallExpression 2548752 2548789 - Identifier 2548752 2548783 - Identifier 2548784 2548788 - FunctionDeclaration 2548797 2549140 - Identifier 2548813 2548837 - Parameter 2548838 2548862 - Identifier 2548838 2548842 - TypeReference 2548843 2548862 - Identifier 2548843 2548862 - VoidKeyword 2548864 2548869 - Block 2548869 2549140 - VariableStatement 2548871 2548927 - VariableDeclarationList 2548871 2548926 - VariableDeclaration 2548886 2548926 - Identifier 2548886 2548896 - CallExpression 2548898 2548926 - Identifier 2548898 2548920 - Identifier 2548921 2548925 - IfStatement 2548927 2549133 - BinaryExpression 2548941 2549018 - PrefixUnaryExpression 2548941 2548951 - Identifier 2548942 2548951 - BarBarToken 2548951 2548954 - BinaryExpression 2548954 2549018 - PrefixUnaryExpression 2548954 2548985 - CallExpression 2548956 2548985 - Identifier 2548956 2548974 - Identifier 2548975 2548984 - AmpersandAmpersandToken 2548985 2548988 - PrefixUnaryExpression 2548988 2549018 - CallExpression 2548990 2549018 - Identifier 2548990 2549007 - Identifier 2549008 2549017 - Block 2549019 2549133 - ExpressionStatement 2549021 2549122 - CallExpression 2549021 2549121 - Identifier 2549021 2549040 - Identifier 2549041 2549050 - PropertyAccessExpression 2549051 2549098 - Identifier 2549051 2549063 - Identifier 2549064 2549098 - CallExpression 2549099 2549120 - Identifier 2549099 2549106 - PropertyAccessExpression 2549107 2549119 - Identifier 2549107 2549111 - Identifier 2549112 2549119 - FunctionDeclaration 2549140 2550313 - Identifier 2549156 2549178 - Parameter 2549179 2549201 - Identifier 2549179 2549183 - TypeReference 2549184 2549201 - Identifier 2549184 2549201 - VoidKeyword 2549203 2549208 - Block 2549208 2550313 - VariableStatement 2549210 2549266 - VariableDeclarationList 2549210 2549265 - VariableDeclaration 2549225 2549265 - Identifier 2549225 2549235 - CallExpression 2549237 2549265 - Identifier 2549237 2549259 - Identifier 2549260 2549264 - IfStatement 2549266 2549493 - BinaryExpression 2549280 2549357 - PrefixUnaryExpression 2549280 2549290 - Identifier 2549281 2549290 - BarBarToken 2549290 2549293 - BinaryExpression 2549293 2549357 - PrefixUnaryExpression 2549293 2549324 - CallExpression 2549295 2549324 - Identifier 2549295 2549313 - Identifier 2549314 2549323 - AmpersandAmpersandToken 2549324 2549327 - PrefixUnaryExpression 2549327 2549357 - CallExpression 2549329 2549357 - Identifier 2549329 2549346 - Identifier 2549347 2549356 - Block 2549358 2549493 - ExpressionStatement 2549360 2549461 - CallExpression 2549360 2549460 - Identifier 2549360 2549379 - Identifier 2549380 2549389 - PropertyAccessExpression 2549390 2549437 - Identifier 2549390 2549402 - Identifier 2549403 2549437 - CallExpression 2549438 2549459 - Identifier 2549438 2549445 - PropertyAccessExpression 2549446 2549458 - Identifier 2549446 2549450 - Identifier 2549451 2549458 - ReturnStatement 2549461 2549482 - VariableStatement 2549493 2549577 - VariableDeclarationList 2549493 2549576 - VariableDeclaration 2549510 2549576 - Identifier 2549510 2549523 - CallExpression 2549525 2549576 - PropertyAccessExpression 2549525 2549556 - CallExpression 2549525 2549549 - Identifier 2549525 2549538 - Identifier 2549539 2549548 - Identifier 2549550 2549556 - Identifier 2549557 2549575 - ExpressionStatement 2549577 2549625 - CallExpression 2549577 2549624 - PropertyAccessExpression 2549577 2549599 - Identifier 2549577 2549592 - Identifier 2549593 2549599 - BinaryExpression 2549600 2549623 - PropertyAccessExpression 2549600 2549619 - Identifier 2549600 2549612 - Identifier 2549613 2549619 - GreaterThanToken 2549619 2549621 - NumericLiteral 2549621 2549623 - IfStatement 2549625 2549795 - BinaryExpression 2549639 2549662 - PropertyAccessExpression 2549639 2549658 - Identifier 2549639 2549651 - Identifier 2549652 2549658 - GreaterThanToken 2549658 2549660 - NumericLiteral 2549660 2549662 - Block 2549663 2549795 - ExpressionStatement 2549665 2549784 - CallExpression 2549665 2549783 - Identifier 2549665 2549684 - ElementAccessExpression 2549685 2549700 - Identifier 2549685 2549697 - NumericLiteral 2549698 2549699 - PropertyAccessExpression 2549701 2549782 - Identifier 2549701 2549713 - Identifier 2549714 2549782 - VariableStatement 2549795 2549881 - VariableDeclarationList 2549795 2549880 - VariableDeclaration 2549812 2549880 - Identifier 2549812 2549817 - CallExpression 2549819 2549880 - Identifier 2549819 2549857 - PropertyAccessExpression 2549858 2549879 - PropertyAccessExpression 2549858 2549868 - Identifier 2549858 2549862 - Identifier 2549863 2549868 - Identifier 2549869 2549879 - VariableStatement 2549881 2549948 - VariableDeclarationList 2549881 2549947 - VariableDeclaration 2549896 2549947 - Identifier 2549896 2549903 - CallExpression 2549905 2549947 - Identifier 2549905 2549936 - Identifier 2549937 2549946 - IfStatement 2549948 2550306 - Identifier 2549962 2549968 - Block 2549969 2550306 - VariableStatement 2549971 2550060 - VariableDeclarationList 2549971 2550059 - VariableDeclaration 2549990 2550059 - Identifier 2549990 2550000 - CallExpression 2550002 2550059 - Identifier 2550002 2550040 - PropertyAccessExpression 2550041 2550058 - Identifier 2550041 2550047 - Identifier 2550048 2550058 - IfStatement 2550060 2550295 - BinaryExpression 2550078 2550133 - Identifier 2550078 2550087 - AmpersandAmpersandToken 2550087 2550090 - BinaryExpression 2550090 2550133 - PropertyAccessExpression 2550090 2550107 - Identifier 2550090 2550095 - Identifier 2550096 2550107 - ExclamationEqualsEqualsToken 2550107 2550111 - PropertyAccessExpression 2550111 2550133 - Identifier 2550111 2550121 - Identifier 2550122 2550133 - Block 2550134 2550295 - ExpressionStatement 2550136 2550280 - CallExpression 2550136 2550279 - Identifier 2550136 2550159 - Identifier 2550160 2550164 - PropertyAccessExpression 2550165 2550223 - Identifier 2550165 2550177 - Identifier 2550178 2550223 - CallExpression 2550224 2550245 - Identifier 2550224 2550231 - PropertyAccessExpression 2550232 2550244 - Identifier 2550232 2550236 - Identifier 2550237 2550244 - CallExpression 2550246 2550259 - Identifier 2550246 2550253 - Identifier 2550254 2550258 - CallExpression 2550260 2550278 - Identifier 2550260 2550267 - Identifier 2550268 2550277 - FunctionDeclaration 2550313 2550669 - Identifier 2550329 2550362 - Parameter 2550363 2550421 - Identifier 2550363 2550367 - UnionType 2550368 2550421 - TypeReference 2550368 2550383 - Identifier 2550368 2550383 - TypeReference 2550385 2550403 - Identifier 2550385 2550403 - TypeReference 2550405 2550421 - Identifier 2550405 2550421 - VoidKeyword 2550423 2550428 - Block 2550428 2550669 - VariableStatement 2550430 2550472 - VariableDeclarationList 2550430 2550471 - VariableDeclaration 2550445 2550471 - Identifier 2550445 2550450 - CallExpression 2550452 2550471 - Identifier 2550452 2550465 - Identifier 2550466 2550470 - IfStatement 2550472 2550662 - BinaryExpression 2550486 2550542 - Identifier 2550486 2550490 - AmpersandAmpersandToken 2550490 2550493 - CallExpression 2550493 2550542 - Identifier 2550493 2550536 - Identifier 2550537 2550541 - Block 2550543 2550662 - ExpressionStatement 2550545 2550651 - CallExpression 2550545 2550650 - Identifier 2550545 2550564 - Identifier 2550565 2550569 - PropertyAccessExpression 2550570 2550649 - Identifier 2550570 2550582 - Identifier 2550583 2550649 - FunctionDeclaration 2550669 2550801 - Identifier 2550685 2550723 - Parameter 2550724 2550767 - Identifier 2550724 2550728 - UnionType 2550729 2550767 - TypeReference 2550729 2550740 - Identifier 2550729 2550740 - TypeReference 2550742 2550767 - Identifier 2550742 2550767 - UnionType 2550769 2550800 - TypeReference 2550769 2550780 - Identifier 2550769 2550780 - TypeReference 2550782 2550800 - Identifier 2550782 2550800 - FunctionDeclaration 2550801 2550916 - Identifier 2550815 2550853 - Parameter 2550854 2550870 - Identifier 2550854 2550858 - TypeReference 2550859 2550870 - Identifier 2550859 2550870 - UnionType 2550872 2550915 - TypeReference 2550872 2550883 - Identifier 2550872 2550883 - TypeReference 2550885 2550903 - Identifier 2550885 2550903 - UndefinedKeyword 2550905 2550915 - FunctionDeclaration 2550916 2551342 - Identifier 2550930 2550968 - Parameter 2550969 2550985 - Identifier 2550969 2550973 - TypeReference 2550974 2550985 - Identifier 2550974 2550985 - UnionType 2550987 2551030 - TypeReference 2550987 2550998 - Identifier 2550987 2550998 - TypeReference 2551000 2551018 - Identifier 2551000 2551018 - UndefinedKeyword 2551020 2551030 - Block 2551030 2551342 - SwitchStatement 2551032 2551335 - PropertyAccessExpression 2551050 2551059 - Identifier 2551050 2551054 - Identifier 2551055 2551059 - CaseBlock 2551060 2551335 - CaseClause 2551062 2551147 - PropertyAccessExpression 2551080 2551102 - Identifier 2551080 2551091 - Identifier 2551092 2551102 - ReturnStatement 2551103 2551147 - AsExpression 2551127 2551146 - Identifier 2551127 2551132 - TypeReference 2551135 2551146 - Identifier 2551135 2551146 - CaseClause 2551147 2551267 - PropertyAccessExpression 2551165 2551201 - Identifier 2551165 2551176 - Identifier 2551177 2551201 - ReturnStatement 2551202 2551267 - PropertyAccessExpression 2551226 2551266 - ParenthesizedExpression 2551226 2551261 - AsExpression 2551228 2551260 - Identifier 2551228 2551232 - TypeReference 2551235 2551260 - Identifier 2551235 2551260 - Identifier 2551262 2551266 - DefaultClause 2551267 2551324 - ReturnStatement 2551289 2551324 - Identifier 2551313 2551323 - FunctionDeclaration 2551342 2555420 - Identifier 2551358 2551391 - Parameter 2551392 2551455 - Identifier 2551392 2551396 - UnionType 2551397 2551455 - TypeReference 2551397 2551417 - Identifier 2551397 2551417 - TypeReference 2551419 2551437 - Identifier 2551419 2551437 - TypeReference 2551439 2551455 - Identifier 2551439 2551455 - VoidKeyword 2551457 2551462 - Block 2551462 2555420 - ExpressionStatement 2551464 2551496 - CallExpression 2551464 2551495 - Identifier 2551464 2551489 - Identifier 2551490 2551494 - ExpressionStatement 2551496 2551538 - CallExpression 2551496 2551537 - Identifier 2551496 2551531 - Identifier 2551532 2551536 - VariableStatement 2551538 2551593 - VariableDeclarationList 2551538 2551592 - VariableDeclaration 2551553 2551592 - Identifier 2551553 2551567 - CallExpression 2551569 2551592 - Identifier 2551569 2551586 - Identifier 2551587 2551591 - IfStatement 2551593 2552109 - BinaryExpression 2551832 2551895 - PropertyAccessExpression 2551832 2551841 - Identifier 2551832 2551836 - Identifier 2551837 2551841 - AmpersandAmpersandToken 2551841 2551844 - BinaryExpression 2551844 2551895 - PropertyAccessExpression 2551844 2551859 - PropertyAccessExpression 2551844 2551854 - Identifier 2551844 2551849 - Identifier 2551850 2551854 - Identifier 2551855 2551859 - EqualsEqualsEqualsToken 2551859 2551863 - PropertyAccessExpression 2551863 2551895 - Identifier 2551863 2551874 - Identifier 2551875 2551895 - Block 2551896 2552109 - ExpressionStatement 2551898 2552098 - CallExpression 2551898 2552097 - Identifier 2551898 2552086 - PropertyAccessExpression 2552087 2552096 - Identifier 2552087 2552091 - Identifier 2552092 2552096 - IfStatement 2552109 2553595 - CallExpression 2552125 2552146 - Identifier 2552125 2552140 - Identifier 2552141 2552145 - Block 2552147 2553595 - VariableStatement 2552149 2552560 - VariableDeclarationList 2552149 2552559 - VariableDeclaration 2552521 2552559 - Identifier 2552521 2552528 - CallExpression 2552530 2552559 - Identifier 2552530 2552553 - Identifier 2552554 2552558 - VariableStatement 2552560 2552621 - VariableDeclarationList 2552560 2552620 - VariableDeclaration 2552579 2552620 - Identifier 2552579 2552591 - BinaryExpression 2552593 2552620 - PropertyAccessExpression 2552593 2552610 - Identifier 2552593 2552598 - Identifier 2552599 2552610 - BarBarToken 2552610 2552613 - Identifier 2552613 2552620 - VariableStatement 2552621 2553189 - VariableDeclarationList 2552621 2553188 - VariableDeclaration 2552941 2553188 - Identifier 2552941 2552958 - CallExpression 2552960 2553188 - PropertyAccessExpression 2552960 2552991 - PropertyAccessExpression 2552960 2552985 - Identifier 2552960 2552972 - Identifier 2552973 2552985 - QuestionDotToken 2552985 2552987 - Identifier 2552987 2552991 - ArrowFunction 2552992 2553172 - Parameter 2552992 2553087 - Identifier 2552992 2553087 - EqualsGreaterThanToken 2553087 2553090 - BinaryExpression 2553090 2553172 - BinaryExpression 2553090 2553121 - PropertyAccessExpression 2553090 2553107 - Identifier 2553090 2553102 - Identifier 2553103 2553107 - EqualsEqualsEqualsToken 2553107 2553111 - PropertyAccessExpression 2553111 2553121 - Identifier 2553111 2553116 - Identifier 2553117 2553121 - AmpersandAmpersandToken 2553121 2553124 - PrefixUnaryExpression 2553124 2553172 - ParenthesizedExpression 2553126 2553172 - BinaryExpression 2553127 2553171 - PropertyAccessExpression 2553127 2553144 - Identifier 2553127 2553138 - Identifier 2553139 2553144 - AmpersandToken 2553144 2553146 - PropertyAccessExpression 2553146 2553171 - Identifier 2553146 2553156 - Identifier 2553157 2553171 - IfStatement 2553189 2553364 - BinaryExpression 2553257 2553282 - Identifier 2553257 2553261 - EqualsEqualsEqualsToken 2553261 2553265 - Identifier 2553265 2553282 - Block 2553283 2553364 - ExpressionStatement 2553285 2553349 - CallExpression 2553285 2553348 - Identifier 2553285 2553335 - Identifier 2553336 2553347 - IfStatement 2553364 2553584 - PropertyAccessExpression 2553384 2553397 - Identifier 2553384 2553390 - Identifier 2553391 2553397 - Block 2553398 2553584 - ExpressionStatement 2553400 2553569 - CallExpression 2553400 2553568 - Identifier 2553400 2553560 - Identifier 2553561 2553567 - VariableStatement 2553595 2553685 - VariableDeclarationList 2553595 2553684 - VariableDeclaration 2553612 2553684 - Identifier 2553612 2553617 - ConditionalExpression 2553619 2553684 - BinaryExpression 2553619 2553660 - PropertyAccessExpression 2553619 2553629 - Identifier 2553619 2553624 - Identifier 2553625 2553629 - EqualsEqualsEqualsToken 2553629 2553633 - PropertyAccessExpression 2553633 2553660 - Identifier 2553633 2553644 - Identifier 2553645 2553660 - QuestionToken 2553660 2553662 - Identifier 2553662 2553672 - ColonToken 2553672 2553674 - PropertyAccessExpression 2553674 2553684 - Identifier 2553674 2553679 - Identifier 2553680 2553684 - ExpressionStatement 2553685 2553720 - CallExpression 2553685 2553719 - Identifier 2553685 2553713 - Identifier 2553714 2553718 - ExpressionStatement 2553720 2553819 - CallExpression 2553720 2553818 - Identifier 2553720 2553777 - Identifier 2553778 2553782 - CallExpression 2553783 2553817 - Identifier 2553783 2553811 - Identifier 2553812 2553816 - ExpressionStatement 2553819 2553894 - CallExpression 2553819 2553893 - Identifier 2553819 2553848 - Identifier 2553849 2553892 - IfStatement 2553894 2554411 - CallExpression 2554041 2554057 - Identifier 2554041 2554051 - Identifier 2554052 2554056 - Block 2554058 2554411 - VariableStatement 2554060 2554112 - VariableDeclarationList 2554060 2554111 - VariableDeclaration 2554079 2554111 - Identifier 2554079 2554087 - CallExpression 2554089 2554111 - Identifier 2554089 2554105 - Identifier 2554106 2554110 - IfStatement 2554112 2554400 - BinaryExpression 2554130 2554245 - BinaryExpression 2554130 2554163 - Identifier 2554130 2554137 - AmpersandAmpersandToken 2554137 2554140 - PropertyAccessExpression 2554140 2554163 - Identifier 2554140 2554148 - Identifier 2554149 2554163 - AmpersandAmpersandToken 2554163 2554166 - PrefixUnaryExpression 2554166 2554245 - CallExpression 2554168 2554245 - Identifier 2554168 2554194 - CallExpression 2554195 2554238 - Identifier 2554195 2554214 - PropertyAccessExpression 2554215 2554237 - Identifier 2554215 2554222 - Identifier 2554223 2554237 - Identifier 2554239 2554244 - Block 2554246 2554400 - ExpressionStatement 2554248 2554385 - CallExpression 2554248 2554384 - Identifier 2554248 2554271 - PropertyAccessExpression 2554272 2554299 - PropertyAccessExpression 2554272 2554294 - Identifier 2554272 2554279 - Identifier 2554280 2554294 - Identifier 2554295 2554299 - PropertyAccessExpression 2554300 2554383 - Identifier 2554300 2554312 - Identifier 2554313 2554383 - FunctionDeclaration 2554411 2555413 - Identifier 2554431 2554475 - Block 2554477 2555413 - IfStatement 2554479 2555402 - PrefixUnaryExpression 2554497 2554530 - CallExpression 2554498 2554530 - Identifier 2554498 2554524 - Identifier 2554525 2554529 - Block 2554531 2555402 - IfStatement 2554533 2554854 - BinaryExpression 2554725 2554777 - CallExpression 2554725 2554744 - Identifier 2554725 2554738 - Identifier 2554739 2554743 - AmpersandAmpersandToken 2554744 2554747 - PrefixUnaryExpression 2554747 2554777 - CallExpression 2554749 2554777 - Identifier 2554749 2554771 - Identifier 2554772 2554776 - Block 2554778 2554854 - ExpressionStatement 2554780 2554835 - CallExpression 2554780 2554834 - Identifier 2554780 2554819 - Identifier 2554820 2554824 - Identifier 2554825 2554833 - IfStatement 2554854 2555387 - BinaryExpression 2554878 2554940 - BinaryExpression 2554878 2554917 - Identifier 2554878 2554891 - AmpersandToken 2554891 2554893 - PropertyAccessExpression 2554893 2554917 - Identifier 2554893 2554907 - Identifier 2554908 2554917 - AmpersandAmpersandToken 2554917 2554920 - CallExpression 2554920 2554940 - Identifier 2554920 2554934 - Identifier 2554935 2554939 - Block 2554941 2555387 - ExpressionStatement 2554943 2555368 - CallExpression 2554943 2555367 - Identifier 2554943 2555332 - CallExpression 2555333 2555366 - Identifier 2555333 2555360 - Identifier 2555361 2555365 - FunctionDeclaration 2555420 2556443 - Identifier 2555436 2555470 - Parameter 2555471 2555504 - Identifier 2555471 2555475 - TypeReference 2555476 2555504 - Identifier 2555476 2555504 - VoidKeyword 2555506 2555511 - Block 2555511 2556443 - ExpressionStatement 2555513 2555587 - CallExpression 2555513 2555586 - Identifier 2555513 2555540 - Identifier 2555541 2555585 - FunctionDeclaration 2555587 2556436 - Identifier 2555607 2555652 - Block 2555654 2556436 - VariableStatement 2555656 2555882 - VariableDeclarationList 2555656 2555881 - VariableDeclaration 2555842 2555881 - Identifier 2555842 2555853 - CallExpression 2555855 2555881 - Identifier 2555855 2555875 - Identifier 2555876 2555880 - VariableStatement 2555882 2555984 - VariableDeclarationList 2555882 2555983 - VariableDeclaration 2555899 2555983 - Identifier 2555899 2555928 - CallExpression 2555930 2555983 - PropertyAccessExpression 2555930 2555966 - Identifier 2555930 2555962 - Identifier 2555963 2555966 - PropertyAccessExpression 2555967 2555982 - Identifier 2555967 2555977 - Identifier 2555978 2555982 - IfStatement 2555984 2556202 - PrefixUnaryExpression 2556002 2556031 - Identifier 2556003 2556031 - Block 2556032 2556202 - ExpressionStatement 2556034 2556086 - BinaryExpression 2556034 2556085 - Identifier 2556034 2556080 - EqualsToken 2556080 2556082 - ArrayLiteralExpression 2556082 2556085 - ExpressionStatement 2556086 2556187 - CallExpression 2556086 2556186 - PropertyAccessExpression 2556086 2556139 - Identifier 2556086 2556135 - Identifier 2556136 2556139 - PropertyAccessExpression 2556140 2556155 - Identifier 2556140 2556150 - Identifier 2556151 2556155 - Identifier 2556156 2556185 - ExpressionStatement 2556202 2556425 - CallExpression 2556202 2556424 - PropertyAccessExpression 2556202 2556418 - Identifier 2556202 2556413 - Identifier 2556414 2556418 - Identifier 2556419 2556423 - TypeAliasDeclaration 2556443 2556750 - Identifier 2556455 2556483 - UnionType 2556485 2556749 - TypeReference 2556485 2556496 - Identifier 2556485 2556496 - TypeReference 2556498 2556516 - Identifier 2556498 2556516 - TypeReference 2556518 2556539 - Identifier 2556518 2556539 - TypeReference 2556541 2556562 - Identifier 2556541 2556562 - TypeReference 2556564 2556570 - Identifier 2556564 2556570 - TypeReference 2556572 2556582 - Identifier 2556572 2556582 - TypeReference 2556584 2556597 - Identifier 2556584 2556597 - TypeReference 2556599 2556614 - Identifier 2556599 2556614 - TypeReference 2556616 2556631 - Identifier 2556616 2556631 - TypeReference 2556633 2556710 - Identifier 2556633 2556641 - TypeReference 2556642 2556662 - Identifier 2556642 2556662 - UnionType 2556663 2556709 - TypeReference 2556663 2556689 - Identifier 2556663 2556689 - TypeReference 2556691 2556709 - Identifier 2556691 2556709 - TypeReference 2556712 2556733 - Identifier 2556712 2556733 - TypeReference 2556735 2556749 - Identifier 2556735 2556749 - FunctionDeclaration 2556750 2559131 - Identifier 2556766 2556789 - Parameter 2556790 2556858 - Identifier 2556790 2556818 - TypeOperator 2556819 2556858 - ArrayType 2556828 2556858 - TypeReference 2556828 2556856 - Identifier 2556828 2556856 - Parameter 2556859 2556894 - Identifier 2556859 2556873 - TypeReference 2556874 2556894 - Identifier 2556874 2556894 - Block 2556895 2559131 - ForOfStatement 2556897 2559124 - VariableDeclarationList 2556912 2556922 - VariableDeclaration 2556917 2556922 - Identifier 2556917 2556922 - Identifier 2556925 2556954 - Block 2556955 2559124 - SwitchStatement 2556957 2559113 - PropertyAccessExpression 2556979 2556988 - Identifier 2556979 2556983 - Identifier 2556984 2556988 - CaseBlock 2556989 2559113 - CaseClause 2556991 2557042 - PropertyAccessExpression 2557013 2557041 - Identifier 2557013 2557024 - Identifier 2557025 2557041 - CaseClause 2557042 2557256 - PropertyAccessExpression 2557064 2557091 - Identifier 2557064 2557075 - Identifier 2557076 2557091 - ExpressionStatement 2557092 2557159 - CallExpression 2557092 2557158 - Identifier 2557092 2557137 - Identifier 2557138 2557142 - Identifier 2557143 2557157 - ExpressionStatement 2557159 2557228 - CallExpression 2557159 2557227 - Identifier 2557159 2557206 - Identifier 2557207 2557211 - Identifier 2557212 2557226 - BreakStatement 2557228 2557256 - CaseClause 2557256 2557301 - PropertyAccessExpression 2557278 2557300 - Identifier 2557278 2557289 - Identifier 2557290 2557300 - CaseClause 2557301 2557353 - PropertyAccessExpression 2557323 2557352 - Identifier 2557323 2557334 - Identifier 2557335 2557352 - CaseClause 2557353 2557393 - PropertyAccessExpression 2557375 2557392 - Identifier 2557375 2557386 - Identifier 2557387 2557392 - CaseClause 2557393 2557437 - PropertyAccessExpression 2557415 2557436 - Identifier 2557415 2557426 - Identifier 2557427 2557436 - CaseClause 2557437 2557484 - PropertyAccessExpression 2557459 2557483 - Identifier 2557459 2557470 - Identifier 2557471 2557483 - CaseClause 2557484 2557533 - PropertyAccessExpression 2557506 2557532 - Identifier 2557506 2557517 - Identifier 2557518 2557532 - CaseClause 2557533 2557684 - PropertyAccessExpression 2557555 2557581 - Identifier 2557555 2557566 - Identifier 2557567 2557581 - ExpressionStatement 2557582 2557656 - CallExpression 2557582 2557655 - Identifier 2557582 2557634 - Identifier 2557635 2557639 - Identifier 2557640 2557654 - BreakStatement 2557656 2557684 - CaseClause 2557684 2557730 - PropertyAccessExpression 2557706 2557729 - Identifier 2557706 2557717 - Identifier 2557718 2557729 - CaseClause 2557730 2557783 - PropertyAccessExpression 2557752 2557782 - Identifier 2557752 2557763 - Identifier 2557764 2557782 - CaseClause 2557783 2557837 - PropertyAccessExpression 2557805 2557836 - Identifier 2557805 2557816 - Identifier 2557817 2557836 - CaseClause 2557837 2557885 - PropertyAccessExpression 2557859 2557884 - Identifier 2557859 2557870 - Identifier 2557871 2557884 - CaseClause 2557885 2557937 - PropertyAccessExpression 2557907 2557936 - Identifier 2557907 2557918 - Identifier 2557919 2557936 - CaseClause 2557937 2557983 - PropertyAccessExpression 2557959 2557982 - Identifier 2557959 2557970 - Identifier 2557971 2557982 - CaseClause 2557983 2558357 - PropertyAccessExpression 2558005 2558028 - Identifier 2558005 2558016 - Identifier 2558017 2558028 - IfStatement 2558029 2558260 - PropertyAccessExpression 2558147 2558156 - Identifier 2558147 2558151 - Identifier 2558152 2558156 - Block 2558157 2558260 - ExpressionStatement 2558159 2558237 - CallExpression 2558159 2558236 - Identifier 2558159 2558215 - Identifier 2558216 2558220 - Identifier 2558221 2558235 - ExpressionStatement 2558260 2558329 - CallExpression 2558260 2558328 - Identifier 2558260 2558307 - Identifier 2558308 2558312 - Identifier 2558313 2558327 - BreakStatement 2558329 2558357 - CaseClause 2558357 2558407 - PropertyAccessExpression 2558379 2558406 - Identifier 2558379 2558390 - Identifier 2558391 2558406 - CaseClause 2558407 2558455 - PropertyAccessExpression 2558429 2558454 - Identifier 2558429 2558440 - Identifier 2558441 2558454 - CaseClause 2558455 2558508 - PropertyAccessExpression 2558477 2558507 - Identifier 2558477 2558488 - Identifier 2558489 2558507 - CaseClause 2558508 2558555 - PropertyAccessExpression 2558530 2558554 - Identifier 2558530 2558541 - Identifier 2558542 2558554 - CaseClause 2558555 2558605 - PropertyAccessExpression 2558577 2558604 - Identifier 2558577 2558588 - Identifier 2558589 2558604 - CaseClause 2558605 2558660 - PropertyAccessExpression 2558627 2558659 - Identifier 2558627 2558638 - Identifier 2558639 2558659 - CaseClause 2558660 2558812 - PropertyAccessExpression 2558682 2558714 - Identifier 2558682 2558693 - Identifier 2558694 2558714 - ExpressionStatement 2558715 2558784 - CallExpression 2558715 2558783 - Identifier 2558715 2558762 - Identifier 2558763 2558767 - Identifier 2558768 2558782 - BreakStatement 2558784 2558812 - CaseClause 2558812 2558957 - PropertyAccessExpression 2558834 2558855 - Identifier 2558834 2558845 - Identifier 2558846 2558855 - ExpressionStatement 2558856 2558929 - CallExpression 2558856 2558928 - Identifier 2558856 2558907 - Identifier 2558908 2558912 - Identifier 2558913 2558927 - BreakStatement 2558929 2558957 - DefaultClause 2558957 2559098 - ExpressionStatement 2558983 2559098 - CallExpression 2558983 2559097 - PropertyAccessExpression 2558983 2559022 - Identifier 2558983 2559010 - Identifier 2559011 2559022 - Identifier 2559023 2559027 - StringLiteral 2559028 2559096 - FunctionDeclaration 2559131 2559580 - Identifier 2559147 2559164 - Parameter 2559165 2559189 - Identifier 2559165 2559176 - TypeReference 2559177 2559189 - Identifier 2559177 2559189 - Parameter 2559190 2559203 - Identifier 2559190 2559195 - StringKeyword 2559196 2559203 - Parameter 2559204 2559239 - Identifier 2559204 2559218 - TypeReference 2559219 2559239 - Identifier 2559219 2559239 - Block 2559240 2559580 - VariableStatement 2559242 2559314 - VariableDeclarationList 2559242 2559313 - VariableDeclaration 2559257 2559313 - Identifier 2559257 2559262 - BinaryExpression 2559264 2559313 - CallExpression 2559264 2559298 - Identifier 2559264 2559285 - Identifier 2559286 2559297 - BarBarToken 2559298 2559301 - Identifier 2559301 2559313 - VariableStatement 2559314 2559472 - VariableDeclarationList 2559314 2559471 - VariableDeclaration 2559329 2559471 - Identifier 2559329 2559337 - ConditionalExpression 2559339 2559471 - CallExpression 2559339 2559370 - Identifier 2559339 2559357 - Identifier 2559358 2559369 - QuestionToken 2559370 2559372 - PropertyAccessExpression 2559372 2559414 - Identifier 2559372 2559384 - Identifier 2559385 2559414 - ColonToken 2559414 2559416 - PropertyAccessExpression 2559416 2559471 - Identifier 2559416 2559428 - Identifier 2559429 2559471 - ExpressionStatement 2559472 2559573 - CallExpression 2559472 2559572 - Identifier 2559472 2559495 - Identifier 2559496 2559507 - PropertyAccessExpression 2559508 2559525 - Identifier 2559508 2559519 - Identifier 2559520 2559525 - CallExpression 2559526 2559571 - Identifier 2559526 2559550 - Identifier 2559551 2559555 - Identifier 2559556 2559564 - Identifier 2559565 2559570 - FunctionDeclaration 2559580 2559741 - Identifier 2559596 2559633 - Parameter 2559634 2559644 - Identifier 2559634 2559638 - TypeReference 2559639 2559644 - Identifier 2559639 2559644 - Block 2559645 2559741 - ReturnStatement 2559647 2559734 - BinaryExpression 2559663 2559733 - CallExpression 2559663 2559682 - Identifier 2559663 2559676 - Identifier 2559677 2559681 - AmpersandAmpersandToken 2559682 2559685 - BinaryExpression 2559685 2559733 - CallExpression 2559685 2559712 - PropertyAccessExpression 2559685 2559709 - CallExpression 2559685 2559698 - Identifier 2559685 2559692 - Identifier 2559693 2559697 - Identifier 2559699 2559709 - NumericLiteral 2559710 2559711 - EqualsEqualsEqualsToken 2559712 2559716 - PropertyAccessExpression 2559716 2559733 - Identifier 2559716 2559731 - Identifier 2559732 2559733 - FunctionDeclaration 2559741 2561913 - Identifier 2559757 2559781 - Parameter 2559782 2559822 - Identifier 2559782 2559786 - UnionType 2559787 2559822 - TypeReference 2559787 2559804 - Identifier 2559787 2559804 - TypeReference 2559806 2559822 - Identifier 2559806 2559822 - Parameter 2559823 2559858 - Identifier 2559823 2559837 - TypeReference 2559838 2559858 - Identifier 2559838 2559858 - VoidKeyword 2559860 2559865 - Block 2559865 2561913 - ForOfStatement 2559867 2561906 - VariableDeclarationList 2559882 2559894 - VariableDeclaration 2559887 2559894 - Identifier 2559887 2559894 - PropertyAccessExpression 2559897 2559910 - Identifier 2559897 2559902 - Identifier 2559903 2559910 - Block 2559911 2561906 - SwitchStatement 2559913 2561895 - PropertyAccessExpression 2559935 2559946 - Identifier 2559935 2559941 - Identifier 2559942 2559946 - CaseBlock 2559947 2561895 - CaseClause 2559949 2560001 - PropertyAccessExpression 2559971 2560000 - Identifier 2559971 2559982 - Identifier 2559983 2560000 - CaseClause 2560001 2560055 - PropertyAccessExpression 2560023 2560054 - Identifier 2560023 2560034 - Identifier 2560035 2560054 - CaseClause 2560055 2560101 - PropertyAccessExpression 2560077 2560100 - Identifier 2560077 2560088 - Identifier 2560089 2560100 - CaseClause 2560101 2561011 - PropertyAccessExpression 2560123 2560146 - Identifier 2560123 2560134 - Identifier 2560135 2560146 - IfStatement 2560147 2560398 - BinaryExpression 2560173 2560260 - BinaryExpression 2560173 2560211 - PropertyAccessExpression 2560173 2560184 - Identifier 2560173 2560179 - Identifier 2560180 2560184 - EqualsEqualsEqualsToken 2560184 2560188 - PropertyAccessExpression 2560188 2560211 - Identifier 2560188 2560199 - Identifier 2560200 2560211 - AmpersandAmpersandToken 2560211 2560214 - BinaryExpression 2560214 2560260 - PropertyAccessExpression 2560214 2560234 - PropertyAccessExpression 2560214 2560228 - Identifier 2560214 2560221 - Identifier 2560222 2560228 - Identifier 2560229 2560234 - AmpersandToken 2560234 2560236 - PropertyAccessExpression 2560236 2560260 - Identifier 2560236 2560248 - Identifier 2560249 2560260 - Block 2560261 2560398 - BreakStatement 2560263 2560375 - VariableStatement 2560398 2560466 - VariableDeclarationList 2560398 2560465 - VariableDeclaration 2560425 2560465 - Identifier 2560425 2560432 - CallExpression 2560434 2560465 - Identifier 2560434 2560457 - Identifier 2560458 2560464 - IfStatement 2560466 2560983 - BinaryExpression 2560492 2560750 - BinaryExpression 2560492 2560686 - PrefixUnaryExpression 2560492 2560538 - PropertyAccessExpression 2560519 2560538 - Identifier 2560519 2560525 - Identifier 2560526 2560538 - AmpersandAmpersandToken 2560538 2560566 - ParenthesizedExpression 2560566 2560686 - BinaryExpression 2560568 2560685 - CallExpression 2560568 2560619 - Identifier 2560568 2560588 - Identifier 2560589 2560595 - PropertyAccessExpression 2560596 2560618 - Identifier 2560596 2560610 - Identifier 2560611 2560618 - BarBarToken 2560619 2560622 - BinaryExpression 2560622 2560685 - CallExpression 2560622 2560649 - Identifier 2560622 2560641 - Identifier 2560642 2560648 - AmpersandAmpersandToken 2560649 2560652 - CallExpression 2560652 2560685 - Identifier 2560652 2560672 - PropertyAccessExpression 2560673 2560684 - Identifier 2560673 2560679 - Identifier 2560680 2560684 - AmpersandAmpersandToken 2560686 2560714 - PrefixUnaryExpression 2560714 2560750 - ParenthesizedExpression 2560716 2560750 - BinaryExpression 2560717 2560749 - PropertyAccessExpression 2560717 2560729 - Identifier 2560717 2560723 - Identifier 2560724 2560729 - AmpersandToken 2560729 2560731 - PropertyAccessExpression 2560731 2560749 - Identifier 2560731 2560741 - Identifier 2560742 2560749 - Block 2560773 2560983 - ExpressionStatement 2560775 2560960 - CallExpression 2560775 2560959 - Identifier 2560775 2560814 - Identifier 2560815 2560821 - PropertyAccessExpression 2560822 2560839 - Identifier 2560822 2560833 - Identifier 2560834 2560839 - CallExpression 2560840 2560958 - Identifier 2560840 2560864 - NonNullExpression 2560865 2560877 - PropertyAccessExpression 2560865 2560876 - Identifier 2560865 2560871 - Identifier 2560872 2560876 - PropertyAccessExpression 2560878 2560933 - Identifier 2560878 2560890 - Identifier 2560891 2560933 - CallExpression 2560934 2560957 - Identifier 2560934 2560949 - Identifier 2560950 2560956 - BreakStatement 2560983 2561011 - CaseClause 2561011 2561558 - PropertyAccessExpression 2561033 2561056 - Identifier 2561033 2561044 - Identifier 2561045 2561056 - ForOfStatement 2561057 2561530 - VariableDeclarationList 2561084 2561099 - VariableDeclaration 2561089 2561099 - Identifier 2561089 2561099 - PropertyAccessExpression 2561102 2561148 - ParenthesizedExpression 2561102 2561137 - AsExpression 2561104 2561136 - Identifier 2561104 2561110 - TypeReference 2561113 2561136 - Identifier 2561113 2561136 - Identifier 2561138 2561148 - Block 2561149 2561530 - IfStatement 2561151 2561507 - BinaryExpression 2561181 2561269 - PrefixUnaryExpression 2561181 2561211 - PropertyAccessExpression 2561182 2561211 - PropertyAccessExpression 2561182 2561198 - Identifier 2561182 2561191 - Identifier 2561192 2561198 - Identifier 2561199 2561211 - AmpersandAmpersandToken 2561211 2561214 - CallExpression 2561214 2561269 - Identifier 2561214 2561235 - Identifier 2561236 2561245 - PropertyAccessExpression 2561246 2561268 - Identifier 2561246 2561260 - Identifier 2561261 2561268 - Block 2561270 2561507 - ExpressionStatement 2561272 2561480 - CallExpression 2561272 2561479 - Identifier 2561272 2561315 - Identifier 2561316 2561325 - PropertyAccessExpression 2561326 2561343 - Identifier 2561326 2561337 - Identifier 2561338 2561343 - CallExpression 2561344 2561478 - Identifier 2561344 2561368 - PropertyAccessExpression 2561369 2561383 - Identifier 2561369 2561378 - Identifier 2561379 2561383 - PropertyAccessExpression 2561384 2561447 - Identifier 2561384 2561396 - Identifier 2561397 2561447 - CallExpression 2561448 2561477 - Identifier 2561448 2561459 - PropertyAccessExpression 2561460 2561476 - Identifier 2561460 2561469 - Identifier 2561470 2561476 - BreakStatement 2561530 2561558 - CaseClause 2561558 2561607 - PropertyAccessExpression 2561580 2561606 - Identifier 2561580 2561591 - Identifier 2561592 2561606 - CaseClause 2561607 2561663 - PropertyAccessExpression 2561629 2561662 - Identifier 2561629 2561640 - Identifier 2561641 2561662 - CaseClause 2561663 2561794 - PropertyAccessExpression 2561685 2561724 - Identifier 2561685 2561696 - Identifier 2561697 2561724 - BreakStatement 2561725 2561794 - DefaultClause 2561794 2561880 - ExpressionStatement 2561820 2561880 - CallExpression 2561820 2561879 - PropertyAccessExpression 2561820 2561852 - Identifier 2561820 2561847 - Identifier 2561848 2561852 - StringLiteral 2561853 2561878 - FunctionDeclaration 2561913 2562307 - Identifier 2561929 2561959 - Parameter 2561960 2561979 - Identifier 2561960 2561964 - TypeReference 2561965 2561979 - Identifier 2561965 2561979 - Parameter 2561980 2562015 - Identifier 2561980 2561994 - TypeReference 2561995 2562015 - Identifier 2561995 2562015 - VoidKeyword 2562017 2562022 - Block 2562022 2562307 - VariableStatement 2562024 2562065 - VariableDeclarationList 2562024 2562064 - VariableDeclaration 2562039 2562064 - ObjectBindingPattern 2562039 2562057 - BindingElement 2562041 2562055 - Identifier 2562041 2562055 - Identifier 2562059 2562064 - IfStatement 2562065 2562300 - CallExpression 2562079 2562115 - Identifier 2562079 2562100 - Identifier 2562101 2562114 - Block 2562116 2562300 - ExpressionStatement 2562118 2562289 - CallExpression 2562118 2562288 - Identifier 2562118 2562145 - Identifier 2562146 2562150 - PropertyAccessExpression 2562151 2562172 - Identifier 2562151 2562162 - Identifier 2562163 2562172 - CallExpression 2562173 2562287 - Identifier 2562173 2562197 - Identifier 2562198 2562202 - PropertyAccessExpression 2562203 2562258 - Identifier 2562203 2562215 - Identifier 2562216 2562258 - CallExpression 2562259 2562286 - Identifier 2562259 2562266 - PropertyAccessExpression 2562267 2562285 - Identifier 2562267 2562280 - Identifier 2562281 2562285 - FunctionDeclaration 2562307 2564688 - Identifier 2562323 2562349 - Parameter 2562350 2562445 - Identifier 2562350 2562354 - UnionType 2562355 2562445 - TypeReference 2562355 2562376 - Identifier 2562355 2562376 - TypeReference 2562378 2562399 - Identifier 2562378 2562399 - TypeReference 2562401 2562422 - Identifier 2562401 2562422 - TypeReference 2562424 2562445 - Identifier 2562424 2562445 - Parameter 2562446 2562481 - Identifier 2562446 2562460 - TypeReference 2562461 2562481 - Identifier 2562461 2562481 - VoidKeyword 2562483 2562488 - Block 2562488 2564688 - VariableStatement 2562490 2562716 - VariableDeclarationList 2562490 2562715 - VariableDeclaration 2562658 2562715 - Identifier 2562658 2562671 - PropertyAccessExpression 2562673 2562715 - CallExpression 2562673 2562702 - Identifier 2562673 2562696 - Identifier 2562697 2562701 - Identifier 2562703 2562715 - IfStatement 2562716 2562783 - BinaryExpression 2562730 2562774 - PrefixUnaryExpression 2562730 2562743 - Identifier 2562731 2562743 - BarBarToken 2562743 2562746 - BinaryExpression 2562746 2562774 - CallExpression 2562746 2562765 - Identifier 2562746 2562751 - Identifier 2562752 2562764 - ExclamationEqualsEqualsToken 2562765 2562769 - Identifier 2562769 2562774 - ReturnStatement 2562775 2562783 - VariableStatement 2562783 2562862 - VariableDeclarationList 2562783 2562861 - VariableDeclaration 2562800 2562861 - Identifier 2562800 2562815 - CallExpression 2562817 2562861 - Identifier 2562817 2562855 - Identifier 2562856 2562860 - VariableStatement 2562862 2562955 - VariableDeclarationList 2562862 2562954 - VariableDeclaration 2562877 2562954 - Identifier 2562877 2562904 - NewExpression 2562906 2562954 - Identifier 2562910 2562914 - TypeReference 2562915 2562951 - Identifier 2562915 2562951 - ForOfStatement 2562955 2564681 - VariableDeclarationList 2562972 2562991 - VariableDeclaration 2562977 2562991 - Identifier 2562977 2562991 - Identifier 2562994 2563009 - Block 2563010 2564681 - IfStatement 2563012 2563078 - PrefixUnaryExpression 2563030 2563067 - CallExpression 2563031 2563067 - Identifier 2563031 2563052 - Identifier 2563053 2563066 - ContinueStatement 2563068 2563078 - VariableStatement 2563078 2563134 - VariableDeclarationList 2563078 2563133 - VariableDeclaration 2563099 2563133 - Identifier 2563099 2563104 - CallExpression 2563106 2563133 - Identifier 2563106 2563113 - PropertyAccessExpression 2563114 2563132 - Identifier 2563114 2563127 - Identifier 2563128 2563132 - VariableStatement 2563134 2563181 - VariableDeclarationList 2563134 2563180 - VariableDeclaration 2563153 2563180 - ObjectBindingPattern 2563153 2563164 - BindingElement 2563155 2563162 - Identifier 2563155 2563162 - Identifier 2563166 2563180 - IfStatement 2563181 2564670 - BinaryExpression 2563199 2563290 - BinaryExpression 2563199 2563235 - PropertyAccessExpression 2563199 2563210 - Identifier 2563199 2563205 - Identifier 2563206 2563210 - ExclamationEqualsEqualsToken 2563210 2563214 - PropertyAccessExpression 2563214 2563235 - Identifier 2563214 2563225 - Identifier 2563226 2563235 - AmpersandAmpersandToken 2563235 2563238 - CallExpression 2563238 2563290 - PropertyAccessExpression 2563238 2563267 - NonNullExpression 2563238 2563261 - PropertyAccessExpression 2563238 2563260 - Identifier 2563238 2563245 - Identifier 2563246 2563260 - Identifier 2563262 2563267 - Identifier 2563268 2563289 - Block 2563291 2564355 - IfStatement 2563293 2564340 - CallExpression 2563315 2563362 - Identifier 2563315 2563326 - Identifier 2563327 2563353 - Identifier 2563354 2563361 - Block 2563363 2564340 - VariableStatement 2563365 2563434 - VariableDeclarationList 2563365 2563433 - VariableDeclaration 2563392 2563433 - Identifier 2563392 2563403 - CallExpression 2563405 2563433 - Identifier 2563405 2563425 - Identifier 2563426 2563432 - VariableStatement 2563434 2563743 - VariableDeclarationList 2563434 2563742 - VariableDeclaration 2563461 2563742 - Identifier 2563461 2563467 - ConditionalExpression 2563469 2563742 - CallExpression 2563469 2563496 - Identifier 2563469 2563488 - Identifier 2563489 2563495 - QuestionToken 2563496 2563571 - CallExpression 2563571 2563591 - Identifier 2563571 2563583 - Identifier 2563584 2563590 - ColonToken 2563591 2563684 - CallExpression 2563684 2563742 - Identifier 2563684 2563706 - Identifier 2563707 2563717 - NonNullExpression 2563718 2563741 - PropertyAccessExpression 2563718 2563740 - Identifier 2563718 2563725 - Identifier 2563726 2563740 - VariableStatement 2563743 2563814 - VariableDeclarationList 2563743 2563813 - VariableDeclaration 2563770 2563813 - Identifier 2563770 2563775 - BinaryExpression 2563777 2563813 - PropertyAccessExpression 2563777 2563807 - NonNullExpression 2563777 2563800 - PropertyAccessExpression 2563777 2563799 - Identifier 2563777 2563784 - Identifier 2563785 2563799 - Identifier 2563801 2563807 - EqualsEqualsEqualsToken 2563807 2563811 - NumericLiteral 2563811 2563813 - VariableStatement 2563814 2564162 - VariableDeclarationList 2563814 2564161 - VariableDeclaration 2563954 2564161 - Identifier 2563954 2563968 - TypeReference 2563969 2563992 - Identifier 2563969 2563992 - ConditionalExpression 2563994 2564161 - Identifier 2563994 2563999 - QuestionToken 2563999 2564026 - ArrayLiteralExpression 2564026 2564089 - PropertyAccessExpression 2564028 2564082 - Identifier 2564028 2564039 - Identifier 2564040 2564082 - Identifier 2564083 2564088 - ColonToken 2564089 2564116 - ArrayLiteralExpression 2564116 2564161 - PropertyAccessExpression 2564118 2564160 - Identifier 2564118 2564129 - Identifier 2564130 2564160 - ExpressionStatement 2564162 2564321 - CallExpression 2564162 2564320 - Identifier 2564162 2564197 - Identifier 2564198 2564211 - PropertyAccessExpression 2564212 2564233 - Identifier 2564212 2564223 - Identifier 2564224 2564233 - CallExpression 2564234 2564319 - Identifier 2564234 2564255 - Identifier 2564256 2564266 - PropertyAccessExpression 2564267 2564277 - Identifier 2564267 2564273 - Identifier 2564274 2564277 - BinaryExpression 2564278 2564300 - PropertyAccessExpression 2564278 2564288 - Identifier 2564278 2564284 - Identifier 2564285 2564288 - MinusToken 2564288 2564290 - PropertyAccessExpression 2564290 2564300 - Identifier 2564290 2564296 - Identifier 2564297 2564300 - SpreadElement 2564301 2564318 - Identifier 2564305 2564318 - Block 2564373 2564670 - ExpressionStatement 2564375 2564655 - CallExpression 2564375 2564654 - Identifier 2564375 2564515 - Identifier 2564516 2564529 - PropertyAccessExpression 2564530 2564551 - Identifier 2564530 2564541 - Identifier 2564542 2564551 - CallExpression 2564552 2564653 - Identifier 2564552 2564576 - Identifier 2564577 2564590 - PropertyAccessExpression 2564591 2564646 - Identifier 2564591 2564603 - Identifier 2564604 2564646 - Identifier 2564647 2564652 - FunctionDeclaration 2564688 2564944 - Identifier 2564702 2564724 - Parameter 2564725 2564764 - Identifier 2564725 2564738 - TypeReference 2564739 2564764 - Identifier 2564739 2564764 - BooleanKeyword 2564766 2564774 - Block 2564774 2564944 - ReturnStatement 2564776 2564937 - BinaryExpression 2564792 2564936 - PrefixUnaryExpression 2564792 2564875 - ParenthesizedExpression 2564794 2564875 - BinaryExpression 2564795 2564874 - NonNullExpression 2564795 2564846 - PropertyAccessExpression 2564795 2564845 - CallExpression 2564795 2564832 - Identifier 2564795 2564810 - PropertyAccessExpression 2564811 2564831 - Identifier 2564811 2564824 - Identifier 2564825 2564831 - Identifier 2564833 2564845 - AmpersandToken 2564846 2564848 - PropertyAccessExpression 2564848 2564874 - Identifier 2564848 2564860 - Identifier 2564861 2564874 - AmpersandAmpersandToken 2564875 2564878 - PrefixUnaryExpression 2564878 2564936 - CallExpression 2564880 2564936 - Identifier 2564880 2564916 - PropertyAccessExpression 2564917 2564935 - Identifier 2564917 2564930 - Identifier 2564931 2564935 - FunctionDeclaration 2564944 2565310 - Identifier 2564960 2564971 - TypeParameter 2564972 2564973 - Identifier 2564972 2564973 - TypeParameter 2564974 2564976 - Identifier 2564974 2564976 - Parameter 2564978 2565004 - Identifier 2564978 2564981 - TypeReference 2564982 2565004 - Identifier 2564982 2564986 - StringKeyword 2564987 2564993 - TupleType 2564994 2565003 - TypeReference 2564996 2564997 - Identifier 2564996 2564997 - ArrayType 2564998 2565002 - TypeReference 2564998 2565000 - Identifier 2564998 2565000 - Parameter 2565005 2565012 - Identifier 2565005 2565009 - TypeReference 2565010 2565012 - Identifier 2565010 2565012 - Parameter 2565013 2565022 - Identifier 2565013 2565019 - TypeReference 2565020 2565022 - Identifier 2565020 2565022 - Parameter 2565023 2565059 - Identifier 2565023 2565030 - FunctionType 2565031 2565059 - Parameter 2565033 2565039 - Identifier 2565033 2565036 - TypeReference 2565037 2565039 - Identifier 2565037 2565039 - UnionType 2565043 2565059 - NumberKeyword 2565043 2565050 - StringKeyword 2565052 2565059 - VoidKeyword 2565061 2565066 - Block 2565066 2565310 - VariableStatement 2565068 2565116 - VariableDeclarationList 2565068 2565115 - VariableDeclaration 2565083 2565115 - Identifier 2565083 2565093 - CallExpression 2565095 2565115 - Identifier 2565095 2565102 - CallExpression 2565103 2565114 - Identifier 2565103 2565109 - Identifier 2565110 2565113 - VariableStatement 2565116 2565159 - VariableDeclarationList 2565116 2565158 - VariableDeclaration 2565131 2565158 - Identifier 2565131 2565137 - CallExpression 2565139 2565158 - PropertyAccessExpression 2565139 2565147 - Identifier 2565139 2565143 - Identifier 2565144 2565147 - Identifier 2565148 2565157 - IfStatement 2565159 2565303 - Identifier 2565173 2565178 - Block 2565179 2565227 - ExpressionStatement 2565181 2565216 - CallExpression 2565181 2565215 - PropertyAccessExpression 2565181 2565208 - ElementAccessExpression 2565181 2565203 - Identifier 2565181 2565200 - NumericLiteral 2565201 2565202 - Identifier 2565204 2565208 - Identifier 2565209 2565214 - Block 2565241 2565303 - ExpressionStatement 2565243 2565292 - CallExpression 2565243 2565291 - PropertyAccessExpression 2565243 2565264 - Identifier 2565243 2565260 - Identifier 2565261 2565264 - Identifier 2565265 2565274 - ArrayLiteralExpression 2565275 2565290 - Identifier 2565277 2565280 - ArrayLiteralExpression 2565281 2565289 - Identifier 2565283 2565288 - FunctionDeclaration 2565310 2565476 - Identifier 2565326 2565357 - Parameter 2565358 2565368 - Identifier 2565358 2565362 - TypeReference 2565363 2565368 - Identifier 2565363 2565368 - UnionType 2565370 2565403 - TypeReference 2565370 2565391 - Identifier 2565370 2565391 - UndefinedKeyword 2565393 2565403 - Block 2565403 2565476 - ReturnStatement 2565405 2565469 - CallExpression 2565421 2565468 - Identifier 2565421 2565429 - CallExpression 2565430 2565454 - Identifier 2565430 2565448 - Identifier 2565449 2565453 - Identifier 2565455 2565467 - FunctionDeclaration 2565476 2566283 - Identifier 2565492 2565522 - Parameter 2565523 2565547 - Identifier 2565523 2565534 - TypeReference 2565535 2565547 - Identifier 2565535 2565547 - BooleanKeyword 2565549 2565557 - Block 2565557 2566283 - IfStatement 2565559 2566029 - CallExpression 2565573 2565602 - Identifier 2565573 2565589 - Identifier 2565590 2565601 - Block 2565603 2566029 - IfStatement 2565605 2565942 - CallExpression 2565623 2565665 - Identifier 2565623 2565645 - PropertyAccessExpression 2565646 2565664 - Identifier 2565646 2565657 - Identifier 2565658 2565664 - Block 2565666 2565942 - ReturnStatement 2565668 2565927 - PrefixUnaryExpression 2565839 2565926 - PrefixUnaryExpression 2565841 2565926 - ParenthesizedExpression 2565842 2565926 - BinaryExpression 2565843 2565925 - PropertyAccessExpression 2565843 2565867 - Identifier 2565843 2565854 - Identifier 2565855 2565867 - AmpersandAmpersandToken 2565867 2565870 - CallExpression 2565870 2565925 - Identifier 2565870 2565907 - PropertyAccessExpression 2565908 2565924 - Identifier 2565908 2565919 - Identifier 2565920 2565924 - ReturnStatement 2565942 2566018 - CallExpression 2565962 2566017 - Identifier 2565962 2565999 - PropertyAccessExpression 2566000 2566016 - Identifier 2566000 2566011 - Identifier 2566012 2566016 - ReturnStatement 2566029 2566276 - BinaryExpression 2566045 2566275 - CallExpression 2566045 2566074 - Identifier 2566045 2566061 - Identifier 2566062 2566073 - BarBarToken 2566074 2566077 - BinaryExpression 2566077 2566275 - ParenthesizedExpression 2566077 2566216 - BinaryExpression 2566092 2566215 - BinaryExpression 2566092 2566177 - CallExpression 2566092 2566126 - Identifier 2566092 2566113 - Identifier 2566114 2566125 - AmpersandAmpersandToken 2566126 2566129 - CallExpression 2566129 2566177 - Identifier 2566129 2566150 - PropertyAccessExpression 2566151 2566176 - PropertyAccessExpression 2566151 2566169 - Identifier 2566151 2566162 - Identifier 2566163 2566169 - Identifier 2566170 2566176 - BarBarToken 2566177 2566180 - CallExpression 2566180 2566215 - Identifier 2566180 2566202 - Identifier 2566203 2566214 - AmpersandAmpersandToken 2566216 2566219 - CallExpression 2566219 2566275 - Identifier 2566219 2566256 - NonNullExpression 2566257 2566274 - PropertyAccessExpression 2566257 2566273 - Identifier 2566257 2566268 - Identifier 2566269 2566273 - FunctionDeclaration 2566283 2573716 - Identifier 2566299 2566330 - Parameter 2566331 2566356 - Identifier 2566331 2566345 - TypeReference 2566346 2566356 - Identifier 2566346 2566356 - Parameter 2566357 2566392 - Identifier 2566357 2566371 - TypeReference 2566372 2566392 - Identifier 2566372 2566392 - VoidKeyword 2566394 2566399 - Block 2566399 2573716 - VariableStatement 2566401 2566638 - VariableDeclarationList 2566401 2566637 - VariableDeclaration 2566564 2566637 - Identifier 2566564 2566578 - NewExpression 2566580 2566637 - Identifier 2566584 2566588 - StringKeyword 2566589 2566595 - TupleType 2566596 2566634 - TypeReference 2566598 2566610 - Identifier 2566598 2566610 - ArrayType 2566611 2566633 - TypeReference 2566611 2566631 - Identifier 2566611 2566631 - VariableStatement 2566638 2566729 - VariableDeclarationList 2566638 2566728 - VariableDeclaration 2566653 2566728 - Identifier 2566653 2566672 - NewExpression 2566674 2566728 - Identifier 2566678 2566682 - StringKeyword 2566683 2566689 - TupleType 2566690 2566725 - TypeReference 2566692 2566706 - Identifier 2566692 2566706 - ArrayType 2566707 2566724 - TypeReference 2566707 2566722 - Identifier 2566707 2566722 - VariableStatement 2566729 2566831 - VariableDeclarationList 2566729 2566830 - VariableDeclaration 2566744 2566830 - Identifier 2566744 2566760 - NewExpression 2566762 2566830 - Identifier 2566766 2566770 - StringKeyword 2566771 2566777 - TupleType 2566778 2566827 - TypeReference 2566780 2566803 - Identifier 2566780 2566803 - ArrayType 2566804 2566826 - TypeReference 2566804 2566824 - Identifier 2566804 2566824 - ExpressionStatement 2566831 2570232 - CallExpression 2566831 2570231 - PropertyAccessExpression 2566831 2566871 - NonNullExpression 2566831 2566863 - PropertyAccessExpression 2566831 2566862 - Identifier 2566831 2566855 - Identifier 2566856 2566862 - Identifier 2566864 2566871 - ArrowFunction 2566872 2570230 - Parameter 2566872 2566877 - Identifier 2566872 2566877 - EqualsGreaterThanToken 2566877 2566880 - Block 2566880 2570230 - IfStatement 2566882 2567322 - ConditionalExpression 2567108 2567279 - BinaryExpression 2567108 2567147 - PropertyAccessExpression 2567108 2567119 - Identifier 2567108 2567113 - Identifier 2567114 2567119 - AmpersandToken 2567119 2567121 - PropertyAccessExpression 2567121 2567147 - Identifier 2567121 2567133 - Identifier 2567134 2567147 - QuestionToken 2567147 2567149 - PrefixUnaryExpression 2567149 2567236 - ParenthesizedExpression 2567151 2567236 - BinaryExpression 2567152 2567235 - BinaryExpression 2567152 2567186 - PropertyAccessExpression 2567152 2567163 - Identifier 2567152 2567157 - Identifier 2567158 2567163 - AmpersandToken 2567163 2567165 - PropertyAccessExpression 2567165 2567186 - Identifier 2567165 2567177 - Identifier 2567178 2567186 - AmpersandAmpersandToken 2567186 2567189 - PrefixUnaryExpression 2567189 2567235 - ParenthesizedExpression 2567191 2567235 - BinaryExpression 2567192 2567234 - NonNullExpression 2567192 2567211 - PropertyAccessExpression 2567192 2567210 - Identifier 2567192 2567197 - Identifier 2567198 2567210 - AmpersandToken 2567211 2567213 - PropertyAccessExpression 2567213 2567234 - Identifier 2567213 2567225 - Identifier 2567226 2567234 - ColonToken 2567236 2567238 - BinaryExpression 2567238 2567279 - PropertyAccessExpression 2567238 2567257 - Identifier 2567238 2567244 - Identifier 2567245 2567257 - BarBarToken 2567257 2567260 - PropertyAccessExpression 2567260 2567279 - Identifier 2567260 2567266 - Identifier 2567267 2567279 - Block 2567280 2567322 - ReturnStatement 2567282 2567307 - IfStatement 2567322 2570219 - PropertyAccessExpression 2567342 2567360 - Identifier 2567342 2567347 - Identifier 2567348 2567360 - Block 2567361 2570219 - ForOfStatement 2567363 2570204 - VariableDeclarationList 2567386 2567403 - VariableDeclaration 2567391 2567403 - Identifier 2567391 2567403 - PropertyAccessExpression 2567406 2567425 - Identifier 2567406 2567412 - Identifier 2567413 2567425 - Block 2567426 2570204 - IfStatement 2567428 2567557 - CallExpression 2567454 2567496 - Identifier 2567454 2567483 - Identifier 2567484 2567495 - Block 2567497 2567557 - ContinueStatement 2567499 2567534 - IfStatement 2567557 2570185 - CallExpression 2567585 2567619 - Identifier 2567585 2567606 - Identifier 2567607 2567618 - Block 2567620 2567760 - ExpressionStatement 2567622 2567737 - CallExpression 2567622 2567736 - Identifier 2567622 2567658 - Identifier 2567659 2567672 - CallExpression 2567673 2567711 - Identifier 2567673 2567698 - Identifier 2567699 2567710 - Identifier 2567712 2567724 - Identifier 2567725 2567735 - IfStatement 2567786 2570185 - BinaryExpression 2567791 2567866 - CallExpression 2567791 2567820 - Identifier 2567791 2567807 - Identifier 2567808 2567819 - AmpersandAmpersandToken 2567820 2567823 - CallExpression 2567823 2567866 - Identifier 2567823 2567846 - PropertyAccessExpression 2567847 2567865 - Identifier 2567847 2567858 - Identifier 2567859 2567865 - Block 2567867 2568355 - VariableStatement 2567869 2568087 - VariableDeclarationList 2567869 2568086 - VariableDeclaration 2568038 2568086 - Identifier 2568038 2568050 - CallExpression 2568052 2568086 - Identifier 2568052 2568057 - PropertyAccessExpression 2568058 2568085 - PropertyAccessExpression 2568058 2568076 - Identifier 2568058 2568069 - Identifier 2568070 2568076 - Identifier 2568077 2568085 - IfStatement 2568087 2568332 - BinaryExpression 2568117 2568197 - BinaryExpression 2568117 2568144 - Identifier 2568117 2568128 - EqualsEqualsEqualsToken 2568128 2568132 - Identifier 2568132 2568144 - BarBarToken 2568144 2568147 - PrefixUnaryExpression 2568147 2568197 - PropertyAccessExpression 2568149 2568197 - CallExpression 2568149 2568182 - Identifier 2568149 2568153 - PropertyAccessExpression 2568154 2568181 - PropertyAccessExpression 2568154 2568172 - Identifier 2568154 2568165 - Identifier 2568166 2568172 - Identifier 2568173 2568181 - Identifier 2568183 2568197 - Block 2568198 2568332 - ExpressionStatement 2568200 2568305 - CallExpression 2568200 2568304 - Identifier 2568200 2568240 - Identifier 2568241 2568259 - PropertyAccessExpression 2568260 2568279 - Identifier 2568260 2568272 - Identifier 2568273 2568279 - Identifier 2568280 2568292 - Identifier 2568293 2568303 - IfStatement 2568381 2570185 - CallExpression 2568386 2568420 - Identifier 2568386 2568407 - Identifier 2568408 2568419 - Block 2568421 2568927 - VariableStatement 2568423 2568536 - VariableDeclarationList 2568423 2568535 - VariableDeclaration 2568454 2568535 - Identifier 2568454 2568469 - BinaryExpression 2568471 2568535 - CallExpression 2568471 2568511 - Identifier 2568471 2568498 - Identifier 2568499 2568510 - AmpersandToken 2568511 2568513 - PropertyAccessExpression 2568513 2568535 - Identifier 2568513 2568523 - Identifier 2568524 2568535 - VariableStatement 2568536 2568609 - VariableDeclarationList 2568536 2568608 - VariableDeclaration 2568567 2568608 - Identifier 2568567 2568572 - CallExpression 2568574 2568608 - Identifier 2568574 2568595 - Identifier 2568596 2568607 - IfStatement 2568609 2568904 - BinaryExpression 2568639 2568772 - BinaryExpression 2568639 2568725 - BinaryExpression 2568639 2568716 - BinaryExpression 2568639 2568673 - Identifier 2568639 2568653 - ExclamationEqualsEqualsToken 2568653 2568657 - PropertyAccessExpression 2568657 2568673 - Identifier 2568657 2568667 - Identifier 2568668 2568673 - AmpersandAmpersandToken 2568673 2568676 - BinaryExpression 2568676 2568716 - Identifier 2568676 2568691 - ExclamationEqualsEqualsToken 2568691 2568695 - PropertyAccessExpression 2568695 2568716 - Identifier 2568695 2568705 - Identifier 2568706 2568716 - BarBarToken 2568716 2568719 - PrefixUnaryExpression 2568719 2568725 - Identifier 2568721 2568725 - BarBarToken 2568725 2568728 - PrefixUnaryExpression 2568728 2568772 - CallExpression 2568730 2568772 - Identifier 2568730 2568766 - Identifier 2568767 2568771 - Block 2568773 2568904 - ExpressionStatement 2568775 2568877 - CallExpression 2568775 2568876 - Identifier 2568775 2568815 - Identifier 2568816 2568831 - PropertyAccessExpression 2568832 2568851 - Identifier 2568832 2568844 - Identifier 2568845 2568851 - Identifier 2568852 2568864 - Identifier 2568865 2568875 - Block 2568953 2570185 - VariableStatement 2568955 2569080 - VariableDeclarationList 2568955 2569079 - VariableDeclaration 2568986 2569079 - Identifier 2568986 2568996 - BinaryExpression 2568998 2569079 - PropertyAccessExpression 2568998 2569021 - Identifier 2568998 2569004 - Identifier 2569005 2569021 - AmpersandAmpersandToken 2569021 2569024 - CallExpression 2569024 2569079 - Identifier 2569024 2569055 - PropertyAccessExpression 2569056 2569078 - Identifier 2569056 2569061 - Identifier 2569062 2569078 - VariableStatement 2569080 2569190 - VariableDeclarationList 2569080 2569189 - VariableDeclaration 2569111 2569189 - Identifier 2569111 2569116 - BinaryExpression 2569118 2569189 - PropertyAccessExpression 2569118 2569141 - Identifier 2569118 2569124 - Identifier 2569125 2569141 - AmpersandAmpersandToken 2569141 2569144 - CallExpression 2569144 2569189 - Identifier 2569144 2569165 - PropertyAccessExpression 2569166 2569188 - Identifier 2569166 2569171 - Identifier 2569172 2569188 - IfStatement 2569190 2570162 - BinaryExpression 2569220 2569237 - Identifier 2569220 2569229 - AmpersandAmpersandToken 2569229 2569232 - Identifier 2569232 2569237 - Block 2569238 2570009 - IfStatement 2569240 2569982 - BinaryExpression 2569274 2569419 - BinaryExpression 2569274 2569372 - PrefixUnaryExpression 2569274 2569334 - CallExpression 2569275 2569334 - Identifier 2569275 2569305 - Identifier 2569306 2569315 - PropertyAccessExpression 2569316 2569333 - Identifier 2569316 2569326 - Identifier 2569327 2569333 - AmpersandAmpersandToken 2569334 2569337 - PrefixUnaryExpression 2569337 2569372 - CallExpression 2569339 2569372 - Identifier 2569339 2569361 - Identifier 2569362 2569371 - AmpersandAmpersandToken 2569372 2569375 - PrefixUnaryExpression 2569375 2569419 - CallExpression 2569377 2569419 - Identifier 2569377 2569413 - Identifier 2569414 2569418 - Block 2569420 2569982 - IfStatement 2569422 2569951 - BinaryExpression 2569460 2569534 - CallExpression 2569460 2569489 - Identifier 2569460 2569476 - Identifier 2569477 2569488 - AmpersandAmpersandToken 2569489 2569492 - CallExpression 2569492 2569534 - Identifier 2569492 2569514 - PropertyAccessExpression 2569515 2569533 - Identifier 2569515 2569526 - Identifier 2569527 2569533 - Block 2569535 2569685 - ExpressionStatement 2569537 2569650 - CallExpression 2569537 2569649 - Identifier 2569537 2569585 - Identifier 2569586 2569604 - PropertyAccessExpression 2569605 2569624 - Identifier 2569605 2569617 - Identifier 2569618 2569624 - Identifier 2569625 2569637 - Identifier 2569638 2569648 - Block 2569723 2569951 - ExpressionStatement 2569725 2569916 - CallExpression 2569725 2569915 - Identifier 2569725 2569776 - Identifier 2569777 2569786 - PropertyAccessExpression 2569787 2569808 - Identifier 2569787 2569798 - Identifier 2569799 2569808 - CallExpression 2569809 2569914 - Identifier 2569809 2569833 - Identifier 2569834 2569838 - PropertyAccessExpression 2569839 2569894 - Identifier 2569839 2569851 - Identifier 2569852 2569894 - CallExpression 2569895 2569913 - Identifier 2569895 2569906 - Identifier 2569907 2569912 - Block 2570039 2570162 - ExpressionStatement 2570041 2570135 - CallExpression 2570041 2570134 - Identifier 2570041 2570087 - Identifier 2570088 2570099 - CallExpression 2570100 2570118 - Identifier 2570100 2570111 - Identifier 2570112 2570117 - Identifier 2570119 2570133 - ExpressionStatement 2570232 2571284 - CallExpression 2570232 2571283 - PropertyAccessExpression 2570232 2570263 - Identifier 2570232 2570255 - Identifier 2570256 2570263 - ArrowFunction 2570264 2571282 - Parameter 2570265 2570288 - ArrayBindingPattern 2570265 2570288 - BindingElement 2570266 2570278 - Identifier 2570266 2570278 - BindingElement 2570279 2570287 - Identifier 2570279 2570287 - EqualsGreaterThanToken 2570289 2570292 - Block 2570292 2571282 - VariableStatement 2570294 2570347 - VariableDeclarationList 2570294 2570346 - VariableDeclaration 2570313 2570346 - Identifier 2570313 2570324 - PropertyAccessExpression 2570326 2570346 - Identifier 2570326 2570339 - Identifier 2570340 2570346 - VariableStatement 2570347 2570621 - VariableDeclarationList 2570347 2570620 - VariableDeclaration 2570366 2570620 - Identifier 2570366 2570380 - BinaryExpression 2570382 2570620 - ParenthesizedExpression 2570382 2570410 - ConditionalExpression 2570384 2570409 - PropertyAccessExpression 2570384 2570401 - Identifier 2570384 2570396 - Identifier 2570397 2570401 - QuestionToken 2570401 2570403 - NumericLiteral 2570403 2570405 - ColonToken 2570405 2570407 - NumericLiteral 2570407 2570409 - PlusToken 2570410 2570412 - ParenthesizedExpression 2570412 2570620 - ConditionalExpression 2570431 2570619 - PropertyAccessExpression 2570431 2570457 - Identifier 2570431 2570443 - Identifier 2570444 2570457 - QuestionToken 2570457 2570459 - ParenthesizedExpression 2570459 2570594 - ConditionalExpression 2570482 2570593 - BinaryExpression 2570482 2570544 - PropertyAccessExpression 2570482 2570513 - PropertyAccessExpression 2570482 2570508 - Identifier 2570482 2570494 - Identifier 2570495 2570508 - Identifier 2570509 2570513 - EqualsEqualsEqualsToken 2570513 2570517 - PropertyAccessExpression 2570517 2570544 - Identifier 2570517 2570528 - Identifier 2570529 2570544 - QuestionToken 2570544 2570546 - NumericLiteral 2570546 2570548 - ColonToken 2570548 2570550 - PropertyAccessExpression 2570550 2570593 - PropertyAccessExpression 2570550 2570586 - PropertyAccessExpression 2570550 2570577 - Identifier 2570550 2570563 - Identifier 2570564 2570577 - Identifier 2570578 2570586 - Identifier 2570587 2570593 - ColonToken 2570594 2570617 - NumericLiteral 2570617 2570619 - IfStatement 2570621 2571271 - BinaryExpression 2570639 2570671 - Identifier 2570639 2570652 - EqualsEqualsEqualsToken 2570652 2570656 - PropertyAccessExpression 2570656 2570671 - Identifier 2570656 2570664 - Identifier 2570665 2570671 - Block 2570672 2571126 - ExpressionStatement 2570674 2571111 - CallExpression 2570674 2571110 - Identifier 2570674 2570705 - Identifier 2570706 2570738 - PropertyAccessExpression 2570739 2570777 - Identifier 2570739 2570771 - Identifier 2570772 2570777 - ConditionalExpression 2570778 2571090 - BinaryExpression 2570778 2570820 - PropertyAccessExpression 2570778 2570814 - Identifier 2570778 2570807 - Identifier 2570808 2570814 - EqualsEqualsEqualsToken 2570814 2570818 - NumericLiteral 2570818 2570820 - QuestionToken 2570820 2570847 - CallExpression 2570847 2570969 - Identifier 2570847 2570871 - Identifier 2570872 2570882 - PropertyAccessExpression 2570883 2570938 - Identifier 2570883 2570895 - Identifier 2570896 2570938 - CallExpression 2570939 2570968 - Identifier 2570939 2570946 - NonNullExpression 2570947 2570967 - PropertyAccessExpression 2570947 2570966 - CallExpression 2570947 2570961 - Identifier 2570947 2570952 - Identifier 2570953 2570960 - Identifier 2570962 2570966 - ColonToken 2570969 2570996 - CallExpression 2570996 2571090 - Identifier 2570996 2571020 - Identifier 2571021 2571031 - PropertyAccessExpression 2571032 2571089 - Identifier 2571032 2571044 - Identifier 2571045 2571089 - Block 2571144 2571271 - ForOfStatement 2571146 2571256 - VariableDeclarationList 2571169 2571181 - VariableDeclaration 2571174 2571181 - Identifier 2571174 2571181 - Identifier 2571184 2571192 - ExpressionStatement 2571193 2571256 - CallExpression 2571193 2571255 - Identifier 2571193 2571210 - Identifier 2571211 2571217 - CallExpression 2571218 2571239 - Identifier 2571218 2571225 - NonNullExpression 2571226 2571238 - PropertyAccessExpression 2571226 2571237 - Identifier 2571226 2571232 - Identifier 2571233 2571237 - Identifier 2571240 2571254 - ExpressionStatement 2571284 2572701 - CallExpression 2571284 2572700 - PropertyAccessExpression 2571284 2571320 - Identifier 2571284 2571312 - Identifier 2571313 2571320 - ArrowFunction 2571321 2572699 - Parameter 2571322 2571355 - ArrayBindingPattern 2571322 2571355 - BindingElement 2571323 2571337 - Identifier 2571323 2571337 - BindingElement 2571338 2571354 - Identifier 2571338 2571354 - EqualsGreaterThanToken 2571356 2571359 - Block 2571359 2572699 - VariableStatement 2571361 2571484 - VariableDeclarationList 2571361 2571483 - VariableDeclaration 2571380 2571483 - Identifier 2571380 2571385 - ConditionalExpression 2571387 2571483 - CallExpression 2571387 2571441 - Identifier 2571387 2571418 - PropertyAccessExpression 2571419 2571440 - Identifier 2571419 2571433 - Identifier 2571434 2571440 - QuestionToken 2571441 2571443 - PropertyAccessExpression 2571443 2571464 - Identifier 2571443 2571454 - Identifier 2571455 2571464 - ColonToken 2571464 2571466 - PropertyAccessExpression 2571466 2571483 - Identifier 2571466 2571477 - Identifier 2571478 2571483 - IfStatement 2571484 2572688 - BinaryExpression 2571502 2571559 - PropertyAccessExpression 2571502 2571532 - PropertyAccessExpression 2571502 2571525 - Identifier 2571502 2571516 - Identifier 2571517 2571525 - Identifier 2571526 2571532 - EqualsEqualsEqualsToken 2571532 2571536 - PropertyAccessExpression 2571536 2571559 - Identifier 2571536 2571552 - Identifier 2571553 2571559 - Block 2571560 2572428 - IfStatement 2571562 2572413 - BinaryExpression 2571584 2571753 - BinaryExpression 2571584 2571677 - BinaryExpression 2571584 2571612 - PropertyAccessExpression 2571584 2571606 - Identifier 2571584 2571599 - Identifier 2571600 2571606 - EqualsEqualsEqualsToken 2571606 2571610 - NumericLiteral 2571610 2571612 - AmpersandAmpersandToken 2571612 2571615 - BinaryExpression 2571615 2571677 - PropertyAccessExpression 2571615 2571642 - PropertyAccessExpression 2571615 2571637 - Identifier 2571615 2571630 - Identifier 2571631 2571637 - Identifier 2571638 2571642 - EqualsEqualsEqualsToken 2571642 2571646 - PropertyAccessExpression 2571646 2571677 - Identifier 2571646 2571657 - Identifier 2571658 2571677 - AmpersandAmpersandToken 2571677 2571680 - BinaryExpression 2571680 2571753 - PropertyAccessExpression 2571680 2571714 - PropertyAccessExpression 2571680 2571709 - PropertyAccessExpression 2571680 2571702 - Identifier 2571680 2571695 - Identifier 2571696 2571702 - Identifier 2571703 2571709 - Identifier 2571710 2571714 - EqualsEqualsEqualsToken 2571714 2571718 - PropertyAccessExpression 2571718 2571753 - Identifier 2571718 2571729 - Identifier 2571730 2571753 - Block 2571754 2571889 - ExpressionStatement 2571756 2571870 - CallExpression 2571756 2571869 - Identifier 2571756 2571788 - Identifier 2571789 2571804 - PropertyAccessExpression 2571805 2571834 - PropertyAccessExpression 2571805 2571827 - Identifier 2571805 2571820 - Identifier 2571821 2571827 - Identifier 2571828 2571834 - PropertyAccessExpression 2571835 2571857 - Identifier 2571835 2571850 - Identifier 2571851 2571857 - Identifier 2571858 2571868 - Block 2571911 2572413 - ExpressionStatement 2571913 2572394 - CallExpression 2571913 2572393 - Identifier 2571913 2571948 - Identifier 2571949 2571989 - Identifier 2571990 2572020 - ConditionalExpression 2572021 2572369 - BinaryExpression 2572021 2572075 - PropertyAccessExpression 2572021 2572069 - Identifier 2572021 2572062 - Identifier 2572063 2572069 - EqualsEqualsEqualsToken 2572069 2572073 - NumericLiteral 2572073 2572075 - QuestionToken 2572075 2572106 - CallExpression 2572106 2572248 - Identifier 2572106 2572130 - Identifier 2572131 2572145 - PropertyAccessExpression 2572146 2572201 - Identifier 2572146 2572158 - Identifier 2572159 2572201 - CallExpression 2572202 2572247 - Identifier 2572202 2572218 - PropertyAccessExpression 2572219 2572246 - CallExpression 2572219 2572241 - Identifier 2572219 2572224 - Identifier 2572225 2572240 - Identifier 2572242 2572246 - ColonToken 2572248 2572279 - CallExpression 2572279 2572369 - Identifier 2572279 2572303 - Identifier 2572304 2572318 - PropertyAccessExpression 2572319 2572368 - Identifier 2572319 2572331 - Identifier 2572332 2572368 - Block 2572446 2572688 - ForOfStatement 2572448 2572673 - VariableDeclarationList 2572471 2572478 - VariableDeclaration 2572476 2572478 - Identifier 2572476 2572478 - Identifier 2572481 2572497 - Block 2572498 2572673 - ExpressionStatement 2572500 2572654 - CallExpression 2572500 2572653 - Identifier 2572500 2572535 - Identifier 2572536 2572537 - Identifier 2572538 2572543 - CallExpression 2572544 2572652 - Identifier 2572544 2572568 - Identifier 2572569 2572570 - PropertyAccessExpression 2572571 2572626 - Identifier 2572571 2572583 - Identifier 2572584 2572626 - CallExpression 2572627 2572651 - Identifier 2572627 2572643 - PropertyAccessExpression 2572644 2572650 - Identifier 2572644 2572645 - Identifier 2572646 2572650 - ExpressionStatement 2572701 2573709 - CallExpression 2572701 2573708 - PropertyAccessExpression 2572701 2572734 - Identifier 2572701 2572726 - Identifier 2572727 2572734 - ArrowFunction 2572735 2573707 - Parameter 2572736 2572767 - ArrayBindingPattern 2572736 2572767 - BindingElement 2572737 2572752 - Identifier 2572737 2572752 - BindingElement 2572753 2572766 - Identifier 2572753 2572766 - EqualsGreaterThanToken 2572768 2572771 - Block 2572771 2573707 - IfStatement 2572773 2573696 - BinaryExpression 2572791 2572850 - PropertyAccessExpression 2572791 2572826 - PropertyAccessExpression 2572791 2572819 - Identifier 2572791 2572806 - Identifier 2572807 2572819 - Identifier 2572820 2572826 - EqualsEqualsEqualsToken 2572826 2572830 - PropertyAccessExpression 2572830 2572850 - Identifier 2572830 2572843 - Identifier 2572844 2572850 - Block 2572851 2573415 - ExpressionStatement 2572853 2573400 - CallExpression 2572853 2573399 - Identifier 2572853 2572884 - Identifier 2572885 2572922 - PropertyAccessExpression 2572923 2572961 - Identifier 2572923 2572955 - Identifier 2572956 2572961 - ConditionalExpression 2572962 2573379 - BinaryExpression 2572962 2573009 - PropertyAccessExpression 2572962 2573003 - Identifier 2572962 2572996 - Identifier 2572997 2573003 - EqualsEqualsEqualsToken 2573003 2573007 - NumericLiteral 2573007 2573009 - QuestionToken 2573009 2573036 - CallExpression 2573036 2573185 - Identifier 2573036 2573060 - PropertyAccessExpression 2573061 2573085 - CallExpression 2573061 2573080 - Identifier 2573061 2573066 - Identifier 2573067 2573079 - Identifier 2573081 2573085 - PropertyAccessExpression 2573086 2573141 - Identifier 2573086 2573098 - Identifier 2573099 2573141 - CallExpression 2573142 2573184 - Identifier 2573142 2573158 - PropertyAccessExpression 2573159 2573183 - CallExpression 2573159 2573178 - Identifier 2573159 2573164 - Identifier 2573165 2573177 - Identifier 2573179 2573183 - ColonToken 2573185 2573212 - CallExpression 2573212 2573379 - Identifier 2573212 2573236 - ConditionalExpression 2573237 2573340 - BinaryExpression 2573237 2573297 - PropertyAccessExpression 2573237 2573264 - PropertyAccessExpression 2573237 2573259 - Identifier 2573237 2573252 - Identifier 2573253 2573259 - Identifier 2573260 2573264 - EqualsEqualsEqualsToken 2573264 2573268 - PropertyAccessExpression 2573268 2573297 - Identifier 2573268 2573279 - Identifier 2573280 2573297 - QuestionToken 2573297 2573299 - PropertyAccessExpression 2573299 2573322 - Identifier 2573299 2573315 - Identifier 2573316 2573322 - ColonToken 2573322 2573324 - Identifier 2573324 2573340 - PropertyAccessExpression 2573341 2573378 - Identifier 2573341 2573353 - Identifier 2573354 2573378 - Block 2573433 2573696 - ForOfStatement 2573435 2573681 - VariableDeclarationList 2573458 2573468 - VariableDeclaration 2573463 2573468 - Identifier 2573463 2573468 - Identifier 2573471 2573484 - Block 2573485 2573681 - ExpressionStatement 2573487 2573662 - CallExpression 2573487 2573661 - Identifier 2573487 2573522 - Identifier 2573523 2573527 - PropertyAccessExpression 2573528 2573545 - Identifier 2573528 2573539 - Identifier 2573540 2573545 - CallExpression 2573546 2573660 - Identifier 2573546 2573570 - Identifier 2573571 2573575 - PropertyAccessExpression 2573576 2573631 - Identifier 2573576 2573588 - Identifier 2573589 2573631 - CallExpression 2573632 2573659 - Identifier 2573632 2573648 - PropertyAccessExpression 2573649 2573658 - Identifier 2573649 2573653 - Identifier 2573654 2573658 - FunctionDeclaration 2573716 2574989 - Identifier 2573732 2573785 - Block 2573787 2574989 - ForOfStatement 2573789 2574982 - VariableDeclarationList 2573804 2573814 - VariableDeclaration 2573809 2573814 - Identifier 2573809 2573814 - Identifier 2573817 2573862 - Block 2573863 2574982 - IfStatement 2573865 2574971 - PrefixUnaryExpression 2573883 2573926 - PropertyAccessExpression 2573884 2573926 - CallExpression 2573884 2573912 - Identifier 2573884 2573906 - Identifier 2573907 2573911 - QuestionDotToken 2573912 2573914 - Identifier 2573914 2573926 - Block 2573927 2574971 - VariableStatement 2573929 2574014 - VariableDeclarationList 2573929 2574013 - VariableDeclaration 2573952 2574013 - Identifier 2573952 2573972 - CallExpression 2573974 2574013 - Identifier 2573974 2574007 - Identifier 2574008 2574012 - ExpressionStatement 2574014 2574149 - CallExpression 2574014 2574148 - PropertyAccessExpression 2574014 2574044 - Identifier 2574014 2574037 - Identifier 2574038 2574044 - CallExpression 2574045 2574094 - Identifier 2574045 2574073 - Identifier 2574074 2574093 - StringLiteral 2574095 2574147 - VariableStatement 2574149 2574390 - VariableDeclarationList 2574149 2574389 - VariableDeclaration 2574172 2574389 - Identifier 2574172 2574183 - CallExpression 2574185 2574389 - Identifier 2574185 2574209 - PropertyAccessExpression 2574210 2574219 - Identifier 2574210 2574214 - Identifier 2574215 2574219 - PropertyAccessExpression 2574220 2574308 - Identifier 2574220 2574232 - Identifier 2574233 2574308 - CallExpression 2574309 2574344 - Identifier 2574309 2574333 - PropertyAccessExpression 2574334 2574343 - Identifier 2574334 2574338 - Identifier 2574339 2574343 - CallExpression 2574345 2574388 - Identifier 2574345 2574369 - PropertyAccessExpression 2574370 2574387 - Identifier 2574370 2574374 - Identifier 2574375 2574387 - IfStatement 2574390 2574910 - PrefixUnaryExpression 2574412 2574437 - PropertyAccessExpression 2574413 2574437 - Identifier 2574413 2574432 - Identifier 2574433 2574437 - Block 2574438 2574910 - ExpressionStatement 2574440 2574891 - CallExpression 2574440 2574890 - Identifier 2574440 2574577 - Identifier 2574578 2574614 - CallExpression 2574615 2574866 - Identifier 2574615 2574661 - CallExpression 2574662 2574702 - Identifier 2574662 2574681 - Identifier 2574682 2574701 - PropertyAccessExpression 2574703 2574727 - Identifier 2574703 2574723 - Identifier 2574724 2574727 - NumericLiteral 2574728 2574730 - PropertyAccessExpression 2574731 2574821 - Identifier 2574731 2574743 - Identifier 2574744 2574821 - CallExpression 2574822 2574865 - Identifier 2574822 2574846 - PropertyAccessExpression 2574847 2574864 - Identifier 2574847 2574851 - Identifier 2574852 2574864 - ExpressionStatement 2574910 2574956 - CallExpression 2574910 2574955 - PropertyAccessExpression 2574910 2574943 - Identifier 2574910 2574939 - Identifier 2574940 2574943 - Identifier 2574944 2574954 - FunctionDeclaration 2574989 2575441 - Identifier 2575005 2575021 - Parameter 2575022 2575039 - Identifier 2575022 2575026 - TypeReference 2575027 2575039 - Identifier 2575027 2575039 - StringKeyword 2575041 2575048 - Block 2575048 2575441 - SwitchStatement 2575050 2575434 - PropertyAccessExpression 2575068 2575077 - Identifier 2575068 2575072 - Identifier 2575073 2575077 - CaseBlock 2575078 2575434 - CaseClause 2575080 2575159 - PropertyAccessExpression 2575098 2575120 - Identifier 2575098 2575109 - Identifier 2575110 2575120 - ReturnStatement 2575121 2575159 - CallExpression 2575145 2575158 - Identifier 2575145 2575152 - Identifier 2575153 2575157 - CaseClause 2575159 2575209 - PropertyAccessExpression 2575177 2575208 - Identifier 2575177 2575188 - Identifier 2575189 2575208 - CaseClause 2575209 2575352 - PropertyAccessExpression 2575227 2575259 - Identifier 2575227 2575238 - Identifier 2575239 2575259 - ReturnStatement 2575260 2575352 - CallExpression 2575284 2575351 - Identifier 2575284 2575300 - PropertyAccessExpression 2575301 2575350 - CallExpression 2575301 2575345 - Identifier 2575301 2575305 - CallExpression 2575306 2575326 - Identifier 2575306 2575311 - PropertyAccessExpression 2575312 2575325 - Identifier 2575312 2575316 - Identifier 2575317 2575325 - Identifier 2575327 2575344 - Identifier 2575346 2575350 - DefaultClause 2575352 2575423 - ReturnStatement 2575374 2575423 - CallExpression 2575398 2575422 - PropertyAccessExpression 2575398 2575416 - Identifier 2575398 2575404 - Identifier 2575405 2575416 - Identifier 2575417 2575421 - TypeAliasDeclaration 2575441 2575525 - Identifier 2575453 2575473 - UnionType 2575475 2575524 - TypeReference 2575475 2575488 - Identifier 2575475 2575488 - TypeReference 2575490 2575506 - Identifier 2575490 2575506 - TypeReference 2575508 2575524 - Identifier 2575508 2575524 - FunctionDeclaration 2575525 2575754 - Identifier 2575539 2575561 - Parameter 2575562 2575572 - Identifier 2575562 2575566 - TypeReference 2575567 2575572 - Identifier 2575567 2575572 - TypePredicate 2575574 2575602 - Identifier 2575574 2575579 - TypeReference 2575582 2575602 - Identifier 2575582 2575602 - Block 2575602 2575754 - ReturnStatement 2575604 2575747 - BinaryExpression 2575620 2575746 - BinaryExpression 2575620 2575702 - BinaryExpression 2575620 2575658 - PropertyAccessExpression 2575620 2575630 - Identifier 2575620 2575625 - Identifier 2575626 2575630 - EqualsEqualsEqualsToken 2575630 2575634 - PropertyAccessExpression 2575634 2575658 - Identifier 2575634 2575645 - Identifier 2575646 2575658 - BarBarToken 2575658 2575661 - BinaryExpression 2575661 2575702 - PropertyAccessExpression 2575661 2575671 - Identifier 2575661 2575666 - Identifier 2575667 2575671 - EqualsEqualsEqualsToken 2575671 2575675 - PropertyAccessExpression 2575675 2575702 - Identifier 2575675 2575686 - Identifier 2575687 2575702 - BarBarToken 2575702 2575705 - BinaryExpression 2575705 2575746 - PropertyAccessExpression 2575705 2575715 - Identifier 2575705 2575710 - Identifier 2575711 2575715 - EqualsEqualsEqualsToken 2575715 2575719 - PropertyAccessExpression 2575719 2575746 - Identifier 2575719 2575730 - Identifier 2575731 2575746 - FunctionDeclaration 2575754 2575983 - Identifier 2575768 2575793 - Parameter 2575794 2575819 - Identifier 2575794 2575798 - TypeReference 2575799 2575819 - Identifier 2575799 2575819 - TypeReference 2575821 2575834 - Identifier 2575821 2575834 - Block 2575834 2575983 - ReturnStatement 2575836 2575976 - ConditionalExpression 2575852 2575975 - BinaryExpression 2575852 2575890 - PropertyAccessExpression 2575852 2575862 - Identifier 2575852 2575857 - Identifier 2575858 2575862 - EqualsEqualsEqualsToken 2575862 2575866 - PropertyAccessExpression 2575866 2575890 - Identifier 2575866 2575877 - Identifier 2575878 2575890 - QuestionToken 2575890 2575892 - Identifier 2575892 2575897 - ColonToken 2575897 2575899 - ConditionalExpression 2575899 2575975 - BinaryExpression 2575899 2575940 - PropertyAccessExpression 2575899 2575909 - Identifier 2575899 2575904 - Identifier 2575905 2575909 - EqualsEqualsEqualsToken 2575909 2575913 - PropertyAccessExpression 2575913 2575940 - Identifier 2575913 2575924 - Identifier 2575925 2575940 - QuestionToken 2575940 2575942 - PropertyAccessExpression 2575942 2575954 - Identifier 2575942 2575947 - Identifier 2575948 2575954 - ColonToken 2575954 2575956 - PropertyAccessExpression 2575956 2575975 - PropertyAccessExpression 2575956 2575968 - Identifier 2575956 2575961 - Identifier 2575962 2575968 - Identifier 2575969 2575975 - FunctionDeclaration 2575983 2576623 - Identifier 2575999 2576010 - Parameter 2576011 2576022 - Identifier 2576011 2576015 - TypeReference 2576016 2576022 - Identifier 2576016 2576022 - Block 2576023 2576623 - IfStatement 2576025 2576191 - BinaryExpression 2576089 2576119 - PropertyAccessExpression 2576089 2576098 - Identifier 2576089 2576093 - Identifier 2576094 2576098 - EqualsEqualsEqualsToken 2576098 2576102 - PropertyAccessExpression 2576102 2576119 - Identifier 2576102 2576113 - Identifier 2576114 2576119 - Block 2576120 2576191 - ExpressionStatement 2576122 2576180 - CallExpression 2576122 2576179 - Identifier 2576122 2576173 - Identifier 2576174 2576178 - IfStatement 2576191 2576523 - CallExpression 2576205 2576234 - Identifier 2576205 2576228 - Identifier 2576229 2576233 - Block 2576235 2576437 - VariableStatement 2576237 2576305 - VariableDeclarationList 2576237 2576304 - VariableDeclaration 2576256 2576304 - Identifier 2576256 2576281 - Identifier 2576283 2576304 - ExpressionStatement 2576305 2576364 - CallExpression 2576305 2576363 - Identifier 2576305 2576326 - PropertyAccessExpression 2576327 2576342 - Identifier 2576327 2576331 - Identifier 2576332 2576342 - Identifier 2576343 2576362 - ExpressionStatement 2576364 2576426 - BinaryExpression 2576364 2576425 - Identifier 2576364 2576398 - EqualsToken 2576398 2576400 - Identifier 2576400 2576425 - Block 2576451 2576523 - ExpressionStatement 2576453 2576512 - CallExpression 2576453 2576511 - Identifier 2576453 2576474 - PropertyAccessExpression 2576475 2576490 - Identifier 2576475 2576479 - Identifier 2576480 2576490 - Identifier 2576491 2576510 - IfStatement 2576523 2576616 - PropertyAccessExpression 2576537 2576548 - Identifier 2576537 2576541 - Identifier 2576542 2576548 - Block 2576549 2576616 - ExpressionStatement 2576551 2576605 - CallExpression 2576551 2576604 - Identifier 2576551 2576598 - Identifier 2576599 2576603 - FunctionDeclaration 2576623 2577333 - Identifier 2576639 2576682 - Parameter 2576683 2576709 - Identifier 2576683 2576687 - TypeReference 2576688 2576709 - Identifier 2576688 2576709 - Block 2576710 2577333 - IfStatement 2576712 2577001 - BinaryExpression 2576810 2576966 - BinaryExpression 2576810 2576909 - BinaryExpression 2576810 2576875 - BinaryExpression 2576810 2576848 - Identifier 2576810 2576825 - GreaterThanEqualsToken 2576825 2576828 - PropertyAccessExpression 2576828 2576848 - Identifier 2576828 2576841 - Identifier 2576842 2576848 - BarBarToken 2576848 2576851 - PrefixUnaryExpression 2576851 2576875 - CallExpression 2576853 2576875 - Identifier 2576853 2576869 - Identifier 2576870 2576874 - BarBarToken 2576875 2576878 - BinaryExpression 2576878 2576909 - PropertyAccessExpression 2576878 2576889 - Identifier 2576878 2576883 - Identifier 2576884 2576889 - AmpersandToken 2576889 2576891 - PropertyAccessExpression 2576891 2576909 - Identifier 2576891 2576901 - Identifier 2576902 2576909 - BarBarToken 2576909 2576912 - CallExpression 2576912 2576966 - Identifier 2576912 2576926 - PropertyAccessExpression 2576927 2576965 - ParenthesizedExpression 2576927 2576960 - AsExpression 2576928 2576959 - Identifier 2576928 2576932 - TypeReference 2576935 2576959 - Identifier 2576935 2576959 - Identifier 2576961 2576965 - Block 2576967 2577001 - ReturnStatement 2576969 2576990 - ExpressionStatement 2577001 2577326 - CallExpression 2577001 2577325 - Identifier 2577001 2577020 - PropertyAccessExpression 2577021 2577036 - Identifier 2577021 2577025 - Identifier 2577026 2577036 - ArrowFunction 2577037 2577324 - Parameter 2577037 2577039 - Identifier 2577037 2577039 - EqualsGreaterThanToken 2577039 2577042 - Block 2577042 2577324 - IfStatement 2577044 2577313 - BinaryExpression 2577062 2577151 - BinaryExpression 2577062 2577097 - PropertyAccessExpression 2577062 2577068 - Identifier 2577062 2577063 - Identifier 2577064 2577068 - AmpersandAmpersandToken 2577068 2577071 - PrefixUnaryExpression 2577071 2577097 - CallExpression 2577073 2577097 - Identifier 2577073 2577089 - PropertyAccessExpression 2577090 2577096 - Identifier 2577090 2577091 - Identifier 2577092 2577096 - AmpersandAmpersandToken 2577097 2577100 - BinaryExpression 2577100 2577151 - PropertyAccessExpression 2577100 2577119 - PropertyAccessExpression 2577100 2577107 - Identifier 2577100 2577102 - Identifier 2577103 2577107 - Identifier 2577108 2577119 - EqualsEqualsEqualsToken 2577119 2577123 - PropertyAccessExpression 2577123 2577151 - Identifier 2577123 2577139 - Identifier 2577140 2577151 - Block 2577152 2577313 - ExpressionStatement 2577154 2577298 - CallExpression 2577154 2577297 - Identifier 2577154 2577186 - StringLiteral 2577187 2577195 - Identifier 2577196 2577198 - PropertyAccessExpression 2577199 2577296 - Identifier 2577199 2577211 - Identifier 2577212 2577296 - FunctionDeclaration 2577333 2579183 - Identifier 2577689 2577721 - Parameter 2577722 2577732 - Identifier 2577722 2577726 - TypeReference 2577727 2577732 - Identifier 2577727 2577732 - Parameter 2577733 2577768 - Identifier 2577733 2577744 - UnionType 2577745 2577768 - TypeReference 2577745 2577756 - Identifier 2577745 2577756 - UndefinedKeyword 2577758 2577768 - Parameter 2577769 2577782 - Identifier 2577769 2577774 - StringKeyword 2577775 2577782 - BooleanKeyword 2577784 2577792 - Block 2577792 2579183 - IfStatement 2577794 2577881 - BinaryExpression 2577808 2577840 - PropertyAccessExpression 2577808 2577831 - Identifier 2577808 2577818 - QuestionDotToken 2577818 2577820 - Identifier 2577820 2577831 - ExclamationEqualsEqualsToken 2577831 2577835 - Identifier 2577835 2577840 - Block 2577841 2577881 - ReturnStatement 2577843 2577870 - FalseKeyword 2577863 2577869 - IfStatement 2577881 2578464 - BinaryExpression 2577897 2578296 - BinaryExpression 2577897 2578236 - BinaryExpression 2577897 2578183 - BinaryExpression 2577897 2578130 - BinaryExpression 2577897 2578073 - BinaryExpression 2577897 2578014 - BinaryExpression 2577897 2577955 - PropertyAccessExpression 2577897 2577920 - Identifier 2577897 2577915 - Identifier 2577916 2577920 - EqualsEqualsEqualsToken 2577920 2577924 - PropertyAccessExpression 2577924 2577955 - Identifier 2577924 2577935 - Identifier 2577936 2577955 - BarBarToken 2577955 2577958 - BinaryExpression 2577958 2578014 - PropertyAccessExpression 2577958 2577981 - Identifier 2577958 2577976 - Identifier 2577977 2577981 - EqualsEqualsEqualsToken 2577981 2577985 - PropertyAccessExpression 2577985 2578014 - Identifier 2577985 2577996 - Identifier 2577997 2578014 - BarBarToken 2578014 2578017 - BinaryExpression 2578017 2578073 - PropertyAccessExpression 2578017 2578040 - Identifier 2578017 2578035 - Identifier 2578036 2578040 - EqualsEqualsEqualsToken 2578040 2578044 - PropertyAccessExpression 2578044 2578073 - Identifier 2578044 2578055 - Identifier 2578056 2578073 - BarBarToken 2578073 2578076 - BinaryExpression 2578076 2578130 - PropertyAccessExpression 2578076 2578099 - Identifier 2578076 2578094 - Identifier 2578095 2578099 - EqualsEqualsEqualsToken 2578099 2578103 - PropertyAccessExpression 2578103 2578130 - Identifier 2578103 2578114 - Identifier 2578115 2578130 - BarBarToken 2578130 2578133 - BinaryExpression 2578133 2578183 - PropertyAccessExpression 2578133 2578156 - Identifier 2578133 2578151 - Identifier 2578152 2578156 - EqualsEqualsEqualsToken 2578156 2578160 - PropertyAccessExpression 2578160 2578183 - Identifier 2578160 2578171 - Identifier 2578172 2578183 - BarBarToken 2578183 2578186 - BinaryExpression 2578186 2578236 - PropertyAccessExpression 2578186 2578209 - Identifier 2578186 2578204 - Identifier 2578205 2578209 - EqualsEqualsEqualsToken 2578209 2578213 - PropertyAccessExpression 2578213 2578236 - Identifier 2578213 2578224 - Identifier 2578225 2578236 - BarBarToken 2578236 2578239 - BinaryExpression 2578239 2578296 - PropertyAccessExpression 2578239 2578262 - Identifier 2578239 2578257 - Identifier 2578258 2578262 - EqualsEqualsEqualsToken 2578262 2578266 - PropertyAccessExpression 2578266 2578296 - Identifier 2578266 2578277 - Identifier 2578278 2578296 - Block 2578307 2578464 - ReturnStatement 2578309 2578453 - FalseKeyword 2578446 2578452 - IfStatement 2578464 2578603 - BinaryExpression 2578480 2578510 - PropertyAccessExpression 2578480 2578490 - Identifier 2578480 2578484 - Identifier 2578485 2578490 - AmpersandToken 2578490 2578492 - PropertyAccessExpression 2578492 2578510 - Identifier 2578492 2578502 - Identifier 2578503 2578510 - Block 2578511 2578603 - ReturnStatement 2578513 2578592 - FalseKeyword 2578585 2578591 - IfStatement 2578603 2578913 - BinaryExpression 2578619 2578701 - BinaryExpression 2578619 2578674 - CallExpression 2578619 2578639 - Identifier 2578619 2578633 - Identifier 2578634 2578638 - BarBarToken 2578639 2578642 - CallExpression 2578642 2578674 - Identifier 2578642 2578668 - Identifier 2578669 2578673 - BarBarToken 2578674 2578677 - CallExpression 2578677 2578701 - Identifier 2578677 2578695 - Identifier 2578696 2578700 - Block 2578702 2578913 - IfStatement 2578704 2578902 - CallExpression 2578812 2578853 - Identifier 2578812 2578847 - Identifier 2578848 2578852 - Block 2578854 2578902 - ReturnStatement 2578856 2578887 - FalseKeyword 2578880 2578886 - VariableStatement 2578913 2578963 - VariableDeclarationList 2578913 2578962 - VariableDeclaration 2578930 2578962 - Identifier 2578930 2578935 - CallExpression 2578937 2578962 - Identifier 2578937 2578956 - Identifier 2578957 2578961 - IfStatement 2578963 2579152 - BinaryExpression 2578977 2579058 - CallExpression 2578977 2578994 - Identifier 2578977 2578988 - Identifier 2578989 2578993 - AmpersandAmpersandToken 2578994 2578997 - CallExpression 2578997 2579058 - Identifier 2578997 2579011 - PropertyAccessExpression 2579012 2579057 - ParenthesizedExpression 2579012 2579052 - AsExpression 2579013 2579051 - PropertyAccessExpression 2579013 2579024 - Identifier 2579013 2579017 - Identifier 2579018 2579024 - TypeReference 2579027 2579051 - Identifier 2579027 2579051 - Identifier 2579053 2579057 - Block 2579059 2579152 - ReturnStatement 2579061 2579141 - FalseKeyword 2579134 2579140 - ReturnStatement 2579152 2579176 - TrueKeyword 2579170 2579175 - FunctionDeclaration 2579183 2580063 - Identifier 2579303 2579341 - Parameter 2579342 2579352 - Identifier 2579342 2579346 - TypeReference 2579347 2579352 - Identifier 2579347 2579352 - VoidKeyword 2579354 2579359 - Block 2579359 2580063 - ExpressionStatement 2579361 2580056 - CallExpression 2579361 2580055 - Identifier 2579361 2579383 - Identifier 2579384 2579388 - ArrowFunction 2579389 2580054 - Parameter 2579389 2579397 - Identifier 2579389 2579397 - EqualsGreaterThanToken 2579397 2579400 - Block 2579400 2580054 - IfStatement 2579402 2580016 - BinaryExpression 2579420 2579475 - CallExpression 2579420 2579446 - Identifier 2579420 2579437 - Identifier 2579438 2579445 - AmpersandToken 2579446 2579448 - PropertyAccessExpression 2579448 2579475 - Identifier 2579448 2579463 - Identifier 2579464 2579475 - Block 2579476 2580016 - VariableStatement 2579478 2579554 - VariableDeclarationList 2579478 2579553 - VariableDeclaration 2579501 2579553 - Identifier 2579501 2579515 - BinaryExpression 2579517 2579553 - PropertyAccessExpression 2579517 2579527 - Identifier 2579517 2579522 - Identifier 2579523 2579527 - ExclamationEqualsEqualsToken 2579527 2579531 - PropertyAccessExpression 2579531 2579553 - Identifier 2579531 2579542 - Identifier 2579543 2579553 - IfStatement 2579554 2579971 - Identifier 2579576 2579589 - Block 2579590 2579787 - ExpressionStatement 2579592 2579768 - CallExpression 2579592 2579767 - Identifier 2579592 2579619 - CallExpression 2579620 2579661 - Identifier 2579620 2579640 - AsExpression 2579641 2579660 - Identifier 2579641 2579645 - TypeReference 2579648 2579660 - Identifier 2579648 2579660 - PropertyAccessExpression 2579662 2579766 - Identifier 2579662 2579674 - Identifier 2579675 2579766 - Block 2579809 2579971 - ExpressionStatement 2579811 2579952 - CallExpression 2579811 2579951 - Identifier 2579811 2579838 - Identifier 2579839 2579843 - PropertyAccessExpression 2579844 2579950 - Identifier 2579844 2579856 - Identifier 2579857 2579950 - ReturnStatement 2579971 2580001 - TrueKeyword 2579995 2580000 - ReturnStatement 2580016 2580043 - FalseKeyword 2580036 2580042 - FunctionDeclaration 2580063 2580904 - Identifier 2580079 2580122 - Parameter 2580123 2580133 - Identifier 2580123 2580127 - TypeReference 2580128 2580133 - Identifier 2580128 2580133 - VoidKeyword 2580135 2580140 - Block 2580140 2580904 - ExpressionStatement 2580142 2580897 - CallExpression 2580142 2580896 - Identifier 2580142 2580164 - Identifier 2580165 2580169 - ArrowFunction 2580170 2580895 - Parameter 2580170 2580178 - Identifier 2580170 2580178 - EqualsGreaterThanToken 2580178 2580181 - Block 2580181 2580895 - IfStatement 2580183 2580857 - BinaryExpression 2580201 2580261 - CallExpression 2580201 2580227 - Identifier 2580201 2580218 - Identifier 2580219 2580226 - AmpersandToken 2580227 2580229 - PropertyAccessExpression 2580229 2580261 - Identifier 2580229 2580244 - Identifier 2580245 2580261 - Block 2580262 2580857 - VariableStatement 2580264 2580340 - VariableDeclarationList 2580264 2580339 - VariableDeclaration 2580287 2580339 - Identifier 2580287 2580301 - BinaryExpression 2580303 2580339 - PropertyAccessExpression 2580303 2580313 - Identifier 2580303 2580308 - Identifier 2580309 2580313 - ExclamationEqualsEqualsToken 2580313 2580317 - PropertyAccessExpression 2580317 2580339 - Identifier 2580317 2580328 - Identifier 2580329 2580339 - IfStatement 2580340 2580812 - Identifier 2580362 2580375 - Block 2580376 2580603 - ExpressionStatement 2580378 2580584 - CallExpression 2580378 2580583 - Identifier 2580378 2580405 - CallExpression 2580406 2580447 - Identifier 2580406 2580426 - AsExpression 2580427 2580446 - Identifier 2580427 2580431 - TypeReference 2580434 2580446 - Identifier 2580434 2580446 - PropertyAccessExpression 2580448 2580582 - Identifier 2580448 2580460 - Identifier 2580461 2580582 - Block 2580625 2580812 - ExpressionStatement 2580627 2580793 - CallExpression 2580627 2580792 - Identifier 2580627 2580654 - Identifier 2580655 2580659 - PropertyAccessExpression 2580660 2580791 - Identifier 2580660 2580672 - Identifier 2580673 2580791 - ReturnStatement 2580812 2580842 - TrueKeyword 2580836 2580841 - ReturnStatement 2580857 2580884 - FalseKeyword 2580877 2580883 - FunctionDeclaration 2580904 2582225 - Identifier 2580920 2580968 - Parameter 2580969 2580979 - Identifier 2580969 2580973 - TypeReference 2580974 2580979 - Identifier 2580974 2580979 - Parameter 2580980 2581009 - Identifier 2580980 2580985 - UnionType 2580986 2581009 - TypeReference 2580986 2580997 - Identifier 2580986 2580997 - UndefinedKeyword 2580999 2581009 - Block 2581010 2582225 - IfStatement 2581012 2581217 - BinaryExpression 2581104 2581182 - CallExpression 2581104 2581161 - PropertyAccessExpression 2581104 2581134 - Identifier 2581104 2581108 - Identifier 2581109 2581134 - CallExpression 2581135 2581160 - Identifier 2581135 2581154 - Identifier 2581155 2581159 - GreaterThanEqualsToken 2581161 2581164 - PropertyAccessExpression 2581164 2581182 - Identifier 2581164 2581175 - Identifier 2581176 2581182 - Block 2581183 2581217 - ReturnStatement 2581185 2581206 - IfStatement 2581217 2581391 - BinaryExpression 2581233 2581356 - PrefixUnaryExpression 2581233 2581238 - Identifier 2581234 2581238 - BarBarToken 2581238 2581241 - BinaryExpression 2581241 2581356 - PrefixUnaryExpression 2581241 2581297 - CallExpression 2581243 2581297 - Identifier 2581243 2581274 - Identifier 2581275 2581279 - Identifier 2581280 2581285 - StringLiteral 2581286 2581296 - AmpersandAmpersandToken 2581297 2581300 - PrefixUnaryExpression 2581300 2581356 - CallExpression 2581302 2581356 - Identifier 2581302 2581333 - Identifier 2581334 2581338 - Identifier 2581339 2581344 - StringLiteral 2581345 2581355 - Block 2581357 2581391 - ReturnStatement 2581359 2581380 - IfStatement 2581391 2581594 - BinaryExpression 2581465 2581559 - CallExpression 2581465 2581490 - Identifier 2581465 2581484 - Identifier 2581485 2581489 - AmpersandAmpersandToken 2581490 2581493 - BinaryExpression 2581493 2581559 - CallExpression 2581493 2581522 - Identifier 2581493 2581516 - Identifier 2581517 2581521 - ExclamationEqualsEqualsToken 2581522 2581526 - PropertyAccessExpression 2581526 2581559 - Identifier 2581526 2581546 - Identifier 2581547 2581559 - Block 2581560 2581594 - ReturnStatement 2581562 2581583 - VariableStatement 2581594 2581773 - VariableDeclarationList 2581594 2581772 - VariableDeclaration 2581733 2581772 - Identifier 2581733 2581740 - CallExpression 2581742 2581772 - Identifier 2581742 2581766 - Identifier 2581767 2581771 - IfStatement 2581773 2582218 - BinaryExpression 2581787 2581876 - BinaryExpression 2581787 2581824 - PropertyAccessExpression 2581787 2581798 - Identifier 2581787 2581793 - Identifier 2581794 2581798 - EqualsEqualsEqualsToken 2581798 2581802 - PropertyAccessExpression 2581802 2581824 - Identifier 2581802 2581813 - Identifier 2581814 2581824 - AmpersandAmpersandToken 2581824 2581827 - CallExpression 2581827 2581876 - Identifier 2581827 2581854 - AsExpression 2581855 2581875 - Identifier 2581855 2581861 - TypeReference 2581864 2581875 - Identifier 2581864 2581875 - Block 2581877 2582218 - ExpressionStatement 2581879 2582207 - CallExpression 2581879 2582206 - Identifier 2581879 2582036 - StringLiteral 2582037 2582045 - Identifier 2582046 2582051 - PropertyAccessExpression 2582052 2582143 - Identifier 2582052 2582064 - Identifier 2582065 2582143 - CallExpression 2582144 2582174 - Identifier 2582144 2582168 - Identifier 2582169 2582173 - CallExpression 2582175 2582205 - Identifier 2582175 2582199 - Identifier 2582200 2582204 - FunctionDeclaration 2582225 2583392 - Identifier 2582241 2582288 - Parameter 2582289 2582299 - Identifier 2582289 2582293 - TypeReference 2582294 2582299 - Identifier 2582294 2582299 - Parameter 2582300 2582329 - Identifier 2582300 2582305 - UnionType 2582306 2582329 - TypeReference 2582306 2582317 - Identifier 2582306 2582317 - UndefinedKeyword 2582319 2582329 - VoidKeyword 2582331 2582336 - Block 2582336 2583392 - IfStatement 2582338 2582493 - BinaryExpression 2582352 2582458 - BinaryExpression 2582352 2582399 - PrefixUnaryExpression 2582352 2582357 - Identifier 2582353 2582357 - BarBarToken 2582357 2582360 - BinaryExpression 2582360 2582399 - Identifier 2582360 2582376 - GreaterThanEqualsToken 2582376 2582379 - PropertyAccessExpression 2582379 2582399 - Identifier 2582379 2582392 - Identifier 2582393 2582399 - BarBarToken 2582399 2582402 - PrefixUnaryExpression 2582402 2582458 - CallExpression 2582404 2582458 - Identifier 2582404 2582435 - Identifier 2582436 2582440 - Identifier 2582441 2582446 - StringLiteral 2582447 2582457 - Block 2582459 2582493 - ReturnStatement 2582461 2582482 - IfStatement 2582493 2582696 - BinaryExpression 2582567 2582661 - CallExpression 2582567 2582592 - Identifier 2582567 2582586 - Identifier 2582587 2582591 - AmpersandAmpersandToken 2582592 2582595 - BinaryExpression 2582595 2582661 - CallExpression 2582595 2582624 - Identifier 2582595 2582618 - Identifier 2582619 2582623 - ExclamationEqualsEqualsToken 2582624 2582628 - PropertyAccessExpression 2582628 2582661 - Identifier 2582628 2582648 - Identifier 2582649 2582661 - Block 2582662 2582696 - ReturnStatement 2582664 2582685 - VariableStatement 2582696 2582875 - VariableDeclarationList 2582696 2582874 - VariableDeclaration 2582835 2582874 - Identifier 2582835 2582842 - CallExpression 2582844 2582874 - Identifier 2582844 2582868 - Identifier 2582869 2582873 - IfStatement 2582875 2583385 - BinaryExpression 2582889 2583024 - BinaryExpression 2582889 2582978 - BinaryExpression 2582889 2582926 - PropertyAccessExpression 2582889 2582900 - Identifier 2582889 2582895 - Identifier 2582896 2582900 - EqualsEqualsEqualsToken 2582900 2582904 - PropertyAccessExpression 2582904 2582926 - Identifier 2582904 2582915 - Identifier 2582916 2582926 - AmpersandAmpersandToken 2582926 2582929 - CallExpression 2582929 2582978 - Identifier 2582929 2582956 - AsExpression 2582957 2582977 - Identifier 2582957 2582963 - TypeReference 2582966 2582977 - Identifier 2582966 2582977 - AmpersandAmpersandToken 2582978 2582981 - BinaryExpression 2582981 2583024 - PropertyAccessExpression 2582981 2582994 - Identifier 2582981 2582988 - Identifier 2582989 2582994 - AmpersandToken 2582994 2582996 - PropertyAccessExpression 2582996 2583024 - Identifier 2582996 2583006 - Identifier 2583007 2583024 - Block 2583025 2583385 - ExpressionStatement 2583027 2583374 - CallExpression 2583027 2583373 - Identifier 2583027 2583176 - StringLiteral 2583177 2583185 - Identifier 2583186 2583191 - PropertyAccessExpression 2583192 2583310 - Identifier 2583192 2583204 - Identifier 2583205 2583310 - CallExpression 2583311 2583341 - Identifier 2583311 2583335 - Identifier 2583336 2583340 - CallExpression 2583342 2583372 - Identifier 2583342 2583366 - Identifier 2583367 2583371 - FunctionDeclaration 2583392 2583783 - Identifier 2583408 2583462 - Parameter 2583463 2583473 - Identifier 2583463 2583467 - TypeReference 2583468 2583473 - Identifier 2583468 2583473 - Parameter 2583474 2583491 - Identifier 2583474 2583479 - TypeReference 2583480 2583491 - Identifier 2583480 2583491 - VoidKeyword 2583493 2583498 - Block 2583498 2583783 - IfStatement 2583500 2583776 - BinaryExpression 2583514 2583697 - BinaryExpression 2583514 2583566 - Identifier 2583514 2583543 - LessThanEqualsToken 2583543 2583546 - PropertyAccessExpression 2583546 2583566 - Identifier 2583546 2583559 - Identifier 2583560 2583566 - AmpersandAmpersandToken 2583566 2583582 - ParenthesizedExpression 2583582 2583697 - BinaryExpression 2583584 2583696 - CallExpression 2583584 2583638 - Identifier 2583584 2583615 - Identifier 2583616 2583620 - Identifier 2583621 2583626 - StringLiteral 2583627 2583637 - BarBarToken 2583638 2583641 - CallExpression 2583641 2583696 - Identifier 2583641 2583673 - Identifier 2583674 2583678 - Identifier 2583679 2583684 - StringLiteral 2583685 2583695 - Block 2583708 2583776 - ExpressionStatement 2583710 2583765 - CallExpression 2583710 2583764 - PropertyAccessExpression 2583710 2583758 - Identifier 2583710 2583753 - Identifier 2583754 2583758 - Identifier 2583759 2583763 - FunctionDeclaration 2583783 2584389 - Identifier 2583799 2583824 - Parameter 2583825 2583835 - Identifier 2583825 2583829 - TypeReference 2583830 2583835 - Identifier 2583830 2583835 - Block 2583836 2584389 - VariableStatement 2583838 2583914 - VariableDeclarationList 2583838 2583913 - VariableDeclaration 2583853 2583913 - Identifier 2583853 2583873 - CallExpression 2583875 2583913 - Identifier 2583875 2583907 - Identifier 2583908 2583912 - IfStatement 2583914 2584382 - BinaryExpression 2583928 2584019 - CallExpression 2583928 2583966 - Identifier 2583928 2583945 - Identifier 2583946 2583965 - AmpersandToken 2583966 2583968 - PropertyAccessExpression 2583968 2584019 - Identifier 2583968 2583983 - Identifier 2583984 2584019 - Block 2584020 2584382 - ExpressionStatement 2584022 2584222 - CallExpression 2584022 2584221 - PropertyAccessExpression 2584022 2584048 - Identifier 2584022 2584041 - Identifier 2584042 2584048 - BinaryExpression 2584049 2584145 - BinaryExpression 2584049 2584100 - CallExpression 2584049 2584073 - Identifier 2584049 2584067 - Identifier 2584068 2584072 - AmpersandAmpersandToken 2584073 2584076 - CallExpression 2584076 2584100 - Identifier 2584076 2584089 - PropertyAccessExpression 2584090 2584099 - Identifier 2584090 2584094 - Identifier 2584095 2584099 - AmpersandAmpersandToken 2584100 2584103 - BinaryExpression 2584103 2584145 - TypeOfExpression 2584103 2584132 - PropertyAccessExpression 2584110 2584132 - PropertyAccessExpression 2584110 2584120 - Identifier 2584110 2584115 - Identifier 2584116 2584120 - Identifier 2584121 2584132 - EqualsEqualsEqualsToken 2584132 2584136 - StringLiteral 2584136 2584145 - StringLiteral 2584146 2584220 - ExpressionStatement 2584222 2584371 - CallExpression 2584222 2584370 - Identifier 2584222 2584250 - StringLiteral 2584251 2584259 - Identifier 2584260 2584265 - PropertyAccessExpression 2584266 2584346 - Identifier 2584266 2584278 - Identifier 2584279 2584346 - PropertyAccessExpression 2584347 2584369 - PropertyAccessExpression 2584347 2584357 - Identifier 2584347 2584352 - Identifier 2584353 2584357 - Identifier 2584358 2584369 - FunctionDeclaration 2584389 2584776 - Identifier 2584405 2584456 - Parameter 2584457 2584467 - Identifier 2584457 2584461 - TypeReference 2584462 2584467 - Identifier 2584462 2584467 - Parameter 2584468 2584497 - Identifier 2584468 2584473 - UnionType 2584474 2584497 - TypeReference 2584474 2584485 - Identifier 2584474 2584485 - UndefinedKeyword 2584487 2584497 - VoidKeyword 2584499 2584504 - Block 2584504 2584776 - IfStatement 2584506 2584769 - BinaryExpression 2584520 2584693 - BinaryExpression 2584520 2584622 - BinaryExpression 2584520 2584580 - Identifier 2584520 2584538 - AmpersandAmpersandToken 2584538 2584541 - BinaryExpression 2584541 2584580 - Identifier 2584541 2584557 - GreaterThanEqualsToken 2584557 2584560 - PropertyAccessExpression 2584560 2584580 - Identifier 2584560 2584573 - Identifier 2584574 2584580 - AmpersandAmpersandToken 2584580 2584583 - BinaryExpression 2584583 2584622 - Identifier 2584583 2584599 - LessThanEqualsToken 2584599 2584602 - PropertyAccessExpression 2584602 2584622 - Identifier 2584602 2584615 - Identifier 2584616 2584622 - AmpersandAmpersandToken 2584622 2584638 - CallExpression 2584638 2584693 - Identifier 2584638 2584670 - Identifier 2584671 2584675 - Identifier 2584676 2584681 - StringLiteral 2584682 2584692 - Block 2584704 2584769 - ExpressionStatement 2584706 2584758 - CallExpression 2584706 2584757 - PropertyAccessExpression 2584706 2584751 - Identifier 2584706 2584746 - Identifier 2584747 2584751 - Identifier 2584752 2584756 - FunctionDeclaration 2584776 2586302 - Identifier 2584792 2584814 - Parameter 2584815 2584825 - Identifier 2584815 2584819 - TypeReference 2584820 2584825 - Identifier 2584820 2584825 - Block 2584826 2586302 - VariableStatement 2584828 2584863 - VariableDeclarationList 2584828 2584862 - VariableDeclaration 2584841 2584862 - Identifier 2584841 2584854 - FalseKeyword 2584856 2584862 - IfStatement 2584863 2585901 - CallExpression 2584877 2584900 - Identifier 2584877 2584894 - Identifier 2584895 2584899 - Block 2584901 2585305 - ForOfStatement 2584903 2585294 - VariableDeclarationList 2585051 2585063 - VariableDeclaration 2585056 2585063 - Identifier 2585056 2585063 - PropertyAccessExpression 2585066 2585079 - Identifier 2585066 2585071 - Identifier 2585072 2585079 - Block 2585080 2585294 - IfStatement 2585082 2585279 - BinaryExpression 2585104 2585187 - CallExpression 2585104 2585129 - Identifier 2585104 2585121 - Identifier 2585122 2585128 - AmpersandToken 2585129 2585131 - PropertyAccessExpression 2585131 2585187 - Identifier 2585131 2585146 - Identifier 2585147 2585187 - Block 2585188 2585279 - ExpressionStatement 2585190 2585232 - BinaryExpression 2585190 2585231 - Identifier 2585190 2585224 - EqualsToken 2585224 2585226 - TrueKeyword 2585226 2585231 - BreakStatement 2585232 2585260 - IfStatement 2585319 2585901 - CallExpression 2585324 2585350 - Identifier 2585324 2585344 - Identifier 2585345 2585349 - Block 2585351 2585631 - IfStatement 2585353 2585620 - BinaryExpression 2585483 2585564 - CallExpression 2585483 2585506 - Identifier 2585483 2585500 - Identifier 2585501 2585505 - AmpersandToken 2585506 2585508 - PropertyAccessExpression 2585508 2585564 - Identifier 2585508 2585523 - Identifier 2585524 2585564 - Block 2585565 2585620 - ExpressionStatement 2585567 2585605 - BinaryExpression 2585567 2585604 - Identifier 2585567 2585597 - EqualsToken 2585597 2585599 - TrueKeyword 2585599 2585604 - Block 2585645 2585901 - VariableStatement 2585647 2585717 - VariableDeclarationList 2585647 2585716 - VariableDeclaration 2585666 2585716 - Identifier 2585666 2585676 - CallExpression 2585678 2585716 - Identifier 2585678 2585710 - Identifier 2585711 2585715 - IfStatement 2585717 2585890 - BinaryExpression 2585735 2585834 - Identifier 2585735 2585744 - AmpersandAmpersandToken 2585744 2585747 - BinaryExpression 2585747 2585834 - CallExpression 2585747 2585776 - Identifier 2585747 2585765 - Identifier 2585766 2585775 - AmpersandToken 2585776 2585778 - PropertyAccessExpression 2585778 2585834 - Identifier 2585778 2585793 - Identifier 2585794 2585834 - Block 2585835 2585890 - ExpressionStatement 2585837 2585875 - BinaryExpression 2585837 2585874 - Identifier 2585837 2585867 - EqualsToken 2585867 2585869 - TrueKeyword 2585869 2585874 - IfStatement 2585901 2586295 - Identifier 2585915 2585927 - Block 2585928 2586295 - ExpressionStatement 2585930 2586077 - CallExpression 2585930 2586076 - PropertyAccessExpression 2585930 2585956 - Identifier 2585930 2585949 - Identifier 2585950 2585956 - BinaryExpression 2585957 2586008 - CallExpression 2585957 2585981 - Identifier 2585957 2585975 - Identifier 2585976 2585980 - AmpersandAmpersandToken 2585981 2585984 - CallExpression 2585984 2586008 - Identifier 2585984 2585997 - PropertyAccessExpression 2585998 2586007 - Identifier 2585998 2586002 - Identifier 2586003 2586007 - StringLiteral 2586009 2586075 - ExpressionStatement 2586077 2586284 - CallExpression 2586077 2586283 - Identifier 2586077 2586105 - StringLiteral 2586106 2586114 - Identifier 2586115 2586120 - PropertyAccessExpression 2586121 2586235 - Identifier 2586121 2586133 - Identifier 2586134 2586235 - CallExpression 2586236 2586271 - Identifier 2586236 2586260 - PropertyAccessExpression 2586261 2586270 - Identifier 2586261 2586265 - Identifier 2586266 2586270 - StringLiteral 2586272 2586282 - FunctionDeclaration 2586302 2587106 - Identifier 2586318 2586352 - Parameter 2586353 2586363 - Identifier 2586353 2586357 - TypeReference 2586358 2586363 - Identifier 2586358 2586363 - Parameter 2586364 2586393 - Identifier 2586364 2586369 - UnionType 2586370 2586393 - TypeReference 2586370 2586381 - Identifier 2586370 2586381 - UndefinedKeyword 2586383 2586393 - Block 2586394 2587106 - IfStatement 2586396 2586424 - PrefixUnaryExpression 2586410 2586415 - Identifier 2586411 2586415 - ReturnStatement 2586416 2586424 - ExpressionStatement 2586424 2586494 - CallExpression 2586424 2586493 - Identifier 2586424 2586481 - Identifier 2586482 2586486 - Identifier 2586487 2586492 - ExpressionStatement 2586494 2586563 - CallExpression 2586494 2586562 - Identifier 2586494 2586550 - Identifier 2586551 2586555 - Identifier 2586556 2586561 - ExpressionStatement 2586563 2586639 - CallExpression 2586563 2586638 - Identifier 2586563 2586626 - Identifier 2586627 2586631 - Identifier 2586632 2586637 - ExpressionStatement 2586639 2586712 - CallExpression 2586639 2586711 - Identifier 2586639 2586699 - Identifier 2586700 2586704 - Identifier 2586705 2586710 - IfStatement 2586712 2587099 - CallExpression 2586726 2586743 - Identifier 2586726 2586737 - Identifier 2586738 2586742 - Block 2586744 2586964 - ExpressionStatement 2586746 2586826 - CallExpression 2586746 2586825 - Identifier 2586746 2586783 - Identifier 2586784 2586788 - PropertyAccessExpression 2586789 2586824 - Identifier 2586789 2586801 - Identifier 2586802 2586824 - IfStatement 2586826 2586953 - PrefixUnaryExpression 2586844 2586877 - ParenthesizedExpression 2586845 2586877 - BinaryExpression 2586846 2586876 - PropertyAccessExpression 2586846 2586856 - Identifier 2586846 2586850 - Identifier 2586851 2586856 - AmpersandToken 2586856 2586858 - PropertyAccessExpression 2586858 2586876 - Identifier 2586858 2586868 - Identifier 2586869 2586876 - Block 2586878 2586953 - ExpressionStatement 2586880 2586938 - CallExpression 2586880 2586937 - Identifier 2586880 2586931 - Identifier 2586932 2586936 - IfStatement 2586978 2587099 - CallExpression 2586983 2587006 - Identifier 2586983 2587000 - Identifier 2587001 2587005 - Block 2587007 2587099 - ExpressionStatement 2587009 2587088 - CallExpression 2587009 2587087 - Identifier 2587009 2587046 - Identifier 2587047 2587051 - PropertyAccessExpression 2587052 2587086 - Identifier 2587052 2587064 - Identifier 2587065 2587086 - FunctionDeclaration 2587106 2591412 - Identifier 2587122 2587155 - Parameter 2587156 2587198 - Identifier 2587156 2587160 - UnionType 2587161 2587198 - TypeReference 2587161 2587181 - Identifier 2587161 2587181 - TypeReference 2587183 2587198 - Identifier 2587183 2587198 - Block 2587199 2591412 - IfStatement 2587201 2589033 - BinaryExpression 2588896 2588998 - BinaryExpression 2588896 2588960 - ParenthesizedExpression 2588896 2588954 - BinaryExpression 2588897 2588953 - CallExpression 2588897 2588929 - Identifier 2588897 2588923 - Identifier 2588924 2588928 - AmpersandToken 2588929 2588931 - PropertyAccessExpression 2588931 2588953 - Identifier 2588931 2588941 - Identifier 2588942 2588953 - ExclamationEqualsEqualsToken 2588954 2588958 - NumericLiteral 2588958 2588960 - BarBarToken 2588960 2588963 - CallExpression 2588963 2588998 - Identifier 2588963 2588992 - Identifier 2588993 2588997 - Block 2588999 2589033 - ReturnStatement 2589001 2589022 - VariableStatement 2589033 2589266 - VariableDeclarationList 2589033 2589265 - VariableDeclaration 2589227 2589265 - Identifier 2589227 2589234 - CallExpression 2589236 2589265 - Identifier 2589236 2589259 - Identifier 2589260 2589264 - IfStatement 2589266 2591405 - BinaryExpression 2589280 2589329 - PropertyAccessExpression 2589280 2589292 - Identifier 2589280 2589286 - Identifier 2589287 2589292 - AmpersandToken 2589292 2589294 - PropertyAccessExpression 2589294 2589329 - Identifier 2589294 2589306 - Identifier 2589307 2589329 - Block 2589330 2591405 - IfStatement 2589332 2589396 - PrefixUnaryExpression 2589350 2589374 - CallExpression 2589351 2589374 - Identifier 2589351 2589363 - PropertyAccessExpression 2589364 2589373 - Identifier 2589364 2589368 - Identifier 2589369 2589373 - ReturnStatement 2589375 2589396 - CallExpression 2589382 2589395 - PropertyAccessExpression 2589382 2589393 - Identifier 2589382 2589388 - Identifier 2589389 2589393 - VariableStatement 2589396 2589556 - VariableDeclarationList 2589396 2589555 - VariableDeclaration 2589415 2589555 - Identifier 2589415 2589438 - CallExpression 2589440 2589555 - Identifier 2589440 2589452 - Identifier 2589453 2589457 - PropertyAccessExpression 2589458 2589480 - PropertyAccessExpression 2589458 2589468 - Identifier 2589458 2589463 - Identifier 2589464 2589468 - Identifier 2589469 2589480 - PropertyAccessExpression 2589481 2589502 - Identifier 2589481 2589493 - Identifier 2589494 2589502 - Identifier 2589503 2589537 - FalseKeyword 2589538 2589554 - IfStatement 2589556 2591394 - BinaryExpression 2589574 2589751 - BinaryExpression 2589574 2589668 - Identifier 2589574 2589614 - AmpersandAmpersandToken 2589614 2589617 - BinaryExpression 2589617 2589668 - Identifier 2589617 2589657 - ExclamationEqualsEqualsToken 2589657 2589661 - Identifier 2589661 2589668 - AmpersandAmpersandToken 2589668 2589671 - BinaryExpression 2589671 2589751 - PropertyAccessExpression 2589671 2589717 - Identifier 2589671 2589711 - Identifier 2589712 2589717 - AmpersandToken 2589717 2589719 - PropertyAccessExpression 2589719 2589751 - Identifier 2589719 2589731 - Identifier 2589732 2589751 - Block 2589766 2591394 - IfStatement 2589768 2591379 - BinaryExpression 2589790 2589871 - CallExpression 2589790 2589847 - Identifier 2589790 2589823 - Identifier 2589824 2589846 - AmpersandToken 2589847 2589849 - PropertyAccessExpression 2589849 2589871 - Identifier 2589849 2589859 - Identifier 2589860 2589871 - Block 2589872 2591379 - VariableStatement 2589874 2590006 - VariableDeclarationList 2589874 2590005 - VariableDeclaration 2589901 2590005 - Identifier 2589901 2589913 - NonNullExpression 2589915 2590005 - CallExpression 2589915 2590004 - Identifier 2589915 2589927 - PropertyAccessExpression 2589928 2589967 - Identifier 2589928 2589950 - Identifier 2589951 2589967 - PropertyAccessExpression 2589968 2590003 - Identifier 2589968 2589979 - Identifier 2589980 2590003 - VariableStatement 2590006 2590222 - VariableDeclarationList 2590006 2590221 - VariableDeclaration 2590033 2590221 - Identifier 2590033 2590043 - ConditionalExpression 2590045 2590221 - BinaryExpression 2590045 2590131 - BinaryExpression 2590045 2590102 - PropertyAccessExpression 2590045 2590069 - PropertyAccessExpression 2590045 2590064 - Identifier 2590045 2590057 - Identifier 2590058 2590064 - Identifier 2590065 2590069 - EqualsEqualsEqualsToken 2590069 2590073 - PropertyAccessExpression 2590073 2590102 - Identifier 2590073 2590084 - Identifier 2590085 2590102 - AmpersandAmpersandToken 2590102 2590105 - PropertyAccessExpression 2590105 2590131 - PropertyAccessExpression 2590105 2590124 - Identifier 2590105 2590117 - Identifier 2590118 2590124 - Identifier 2590125 2590131 - QuestionToken 2590131 2590158 - PropertyAccessExpression 2590158 2590184 - PropertyAccessExpression 2590158 2590177 - Identifier 2590158 2590170 - Identifier 2590171 2590177 - Identifier 2590178 2590184 - ColonToken 2590184 2590211 - Identifier 2590211 2590221 - VariableStatement 2590222 2590834 - VariableDeclarationList 2590222 2590833 - VariableDeclaration 2590476 2590833 - Identifier 2590476 2590492 - BinaryExpression 2590494 2590833 - Identifier 2590494 2590504 - AmpersandAmpersandToken 2590504 2590507 - ParenthesizedExpression 2590507 2590833 - BinaryExpression 2590534 2590832 - BinaryExpression 2590534 2590759 - BinaryExpression 2590534 2590679 - BinaryExpression 2590534 2590605 - BinaryExpression 2590534 2590569 - PropertyAccessExpression 2590534 2590548 - Identifier 2590534 2590543 - Identifier 2590544 2590548 - EqualsEqualsEqualsToken 2590548 2590552 - PropertyAccessExpression 2590552 2590569 - Identifier 2590552 2590563 - Identifier 2590564 2590569 - AmpersandAmpersandToken 2590569 2590572 - CallExpression 2590572 2590605 - Identifier 2590572 2590587 - PropertyAccessExpression 2590588 2590604 - Identifier 2590588 2590597 - Identifier 2590598 2590604 - BarBarToken 2590605 2590608 - BinaryExpression 2590608 2590679 - PropertyAccessExpression 2590608 2590652 - Identifier 2590608 2590647 - Identifier 2590648 2590652 - EqualsEqualsEqualsToken 2590652 2590656 - PropertyAccessExpression 2590656 2590679 - Identifier 2590656 2590667 - Identifier 2590668 2590679 - BarBarToken 2590679 2590682 - BinaryExpression 2590682 2590759 - PropertyAccessExpression 2590682 2590726 - Identifier 2590682 2590721 - Identifier 2590722 2590726 - EqualsEqualsEqualsToken 2590726 2590730 - PropertyAccessExpression 2590730 2590759 - Identifier 2590730 2590741 - Identifier 2590742 2590759 - BarBarToken 2590759 2590762 - BinaryExpression 2590762 2590832 - PropertyAccessExpression 2590762 2590806 - Identifier 2590762 2590801 - Identifier 2590802 2590806 - EqualsEqualsEqualsToken 2590806 2590810 - PropertyAccessExpression 2590810 2590832 - Identifier 2590810 2590821 - Identifier 2590822 2590832 - IfStatement 2590834 2591360 - PrefixUnaryExpression 2591087 2591103 - Identifier 2591088 2591103 - Block 2591104 2591360 - VariableStatement 2591106 2591184 - VariableDeclarationList 2591106 2591183 - VariableDeclaration 2591137 2591183 - Identifier 2591137 2591142 - CallExpression 2591144 2591183 - Identifier 2591144 2591159 - Identifier 2591160 2591182 - ExpressionStatement 2591184 2591337 - CallExpression 2591184 2591336 - Identifier 2591184 2591215 - Identifier 2591216 2591220 - PropertyAccessExpression 2591221 2591323 - Identifier 2591221 2591233 - Identifier 2591234 2591323 - Identifier 2591324 2591329 - Identifier 2591330 2591335 - FunctionDeclaration 2591412 2591558 - Identifier 2591428 2591445 - Parameter 2591446 2591456 - Identifier 2591446 2591450 - TypeReference 2591451 2591456 - Identifier 2591451 2591456 - Block 2591457 2591558 - ReturnStatement 2591459 2591551 - ConditionalExpression 2591475 2591550 - BinaryExpression 2591475 2591493 - Identifier 2591475 2591480 - EqualsEqualsEqualsToken 2591480 2591484 - Identifier 2591484 2591493 - QuestionToken 2591493 2591495 - Identifier 2591495 2591503 - ColonToken 2591503 2591505 - ConditionalExpression 2591505 2591550 - BinaryExpression 2591505 2591528 - Identifier 2591505 2591510 - EqualsEqualsEqualsToken 2591510 2591514 - Identifier 2591514 2591528 - QuestionToken 2591528 2591530 - Identifier 2591530 2591543 - ColonToken 2591543 2591545 - Identifier 2591545 2591550 - FunctionDeclaration 2591558 2602973 - Identifier 2591633 2591662 - Parameter 2591663 2591770 - Identifier 2591663 2591667 - UnionType 2591668 2591770 - TypeReference 2591668 2591689 - Identifier 2591668 2591689 - TypeReference 2591691 2591711 - Identifier 2591691 2591711 - TypeReference 2591713 2591731 - Identifier 2591713 2591731 - TypeReference 2591733 2591753 - Identifier 2591733 2591753 - TypeReference 2591755 2591770 - Identifier 2591755 2591770 - Block 2591771 2602973 - ExpressionStatement 2591773 2591805 - CallExpression 2591773 2591804 - Identifier 2591773 2591798 - Identifier 2591799 2591803 - IfStatement 2591805 2591900 - PrefixUnaryExpression 2591819 2591842 - CallExpression 2591820 2591842 - Identifier 2591820 2591836 - Identifier 2591837 2591841 - Block 2591843 2591900 - ExpressionStatement 2591845 2591889 - CallExpression 2591845 2591888 - Identifier 2591845 2591877 - PropertyAccessExpression 2591878 2591887 - Identifier 2591878 2591882 - Identifier 2591883 2591887 - IfStatement 2591900 2592056 - PrefixUnaryExpression 2592011 2592021 - PropertyAccessExpression 2592012 2592021 - Identifier 2592012 2592016 - Identifier 2592017 2592021 - Block 2592022 2592056 - ReturnStatement 2592024 2592045 - IfStatement 2592056 2592631 - BinaryExpression 2592368 2592418 - PropertyAccessExpression 2592368 2592382 - PropertyAccessExpression 2592368 2592377 - Identifier 2592368 2592372 - Identifier 2592373 2592377 - Identifier 2592378 2592382 - EqualsEqualsEqualsToken 2592382 2592386 - PropertyAccessExpression 2592386 2592418 - Identifier 2592386 2592397 - Identifier 2592398 2592418 - Block 2592419 2592631 - ExpressionStatement 2592421 2592472 - CallExpression 2592421 2592471 - Identifier 2592421 2592460 - PropertyAccessExpression 2592461 2592470 - Identifier 2592461 2592465 - Identifier 2592466 2592470 - IfStatement 2592472 2592620 - BinaryExpression 2592490 2592544 - CallExpression 2592490 2592524 - Identifier 2592490 2592518 - Identifier 2592519 2592523 - AmpersandAmpersandToken 2592524 2592527 - PropertyAccessExpression 2592527 2592544 - Identifier 2592527 2592532 - Identifier 2592533 2592544 - Block 2592545 2592620 - ExpressionStatement 2592547 2592605 - CallExpression 2592547 2592604 - Identifier 2592547 2592586 - PropertyAccessExpression 2592587 2592603 - Identifier 2592587 2592591 - Identifier 2592592 2592603 - IfStatement 2592631 2594961 - CallExpression 2592647 2592669 - Identifier 2592647 2592663 - Identifier 2592664 2592668 - Block 2592670 2594961 - IfStatement 2592672 2593297 - BinaryExpression 2592690 2592921 - BinaryExpression 2592690 2592824 - BinaryExpression 2592690 2592769 - PropertyAccessExpression 2592690 2592725 - Identifier 2592690 2592712 - Identifier 2592713 2592725 - AmpersandAmpersandToken 2592725 2592728 - CallExpression 2592728 2592769 - Identifier 2592728 2592758 - PropertyAccessExpression 2592759 2592768 - Identifier 2592759 2592763 - Identifier 2592764 2592768 - AmpersandAmpersandToken 2592769 2592772 - CallExpression 2592772 2592824 - Identifier 2592772 2592818 - Identifier 2592819 2592823 - AmpersandAmpersandToken 2592824 2592827 - CallExpression 2592827 2592921 - Identifier 2592827 2592858 - PropertyAccessExpression 2592859 2592920 - ParenthesizedExpression 2592859 2592915 - AsExpression 2592860 2592914 - CallExpression 2592860 2592887 - Identifier 2592860 2592881 - Identifier 2592882 2592886 - TypeReference 2592890 2592914 - Identifier 2592890 2592914 - Identifier 2592916 2592920 - Block 2592936 2593297 - ExpressionStatement 2592938 2593257 - CallExpression 2592938 2593256 - PropertyAccessExpression 2592938 2593250 - Identifier 2592938 2593245 - Identifier 2593246 2593250 - Identifier 2593251 2593255 - ReturnStatement 2593257 2593282 - IfStatement 2593297 2593535 - BinaryExpression 2593317 2593442 - BinaryExpression 2593317 2593375 - CallExpression 2593317 2593352 - Identifier 2593317 2593339 - PropertyAccessExpression 2593340 2593351 - Identifier 2593340 2593344 - Identifier 2593345 2593351 - AmpersandAmpersandToken 2593352 2593355 - PropertyAccessExpression 2593355 2593375 - Identifier 2593355 2593360 - Identifier 2593361 2593375 - AmpersandAmpersandToken 2593375 2593378 - BinaryExpression 2593378 2593442 - Identifier 2593378 2593394 - LessThanToken 2593394 2593396 - PropertyAccessExpression 2593396 2593442 - Identifier 2593396 2593425 - Identifier 2593426 2593442 - Block 2593443 2593535 - ExpressionStatement 2593445 2593520 - CallExpression 2593445 2593519 - Identifier 2593445 2593487 - Identifier 2593488 2593492 - PropertyAccessExpression 2593493 2593518 - Identifier 2593493 2593513 - Identifier 2593514 2593518 - IfStatement 2593535 2593797 - BinaryExpression 2593637 2593716 - PropertyAccessExpression 2593637 2593654 - Identifier 2593637 2593641 - Identifier 2593642 2593654 - AmpersandAmpersandToken 2593654 2593657 - BinaryExpression 2593657 2593716 - PropertyAccessExpression 2593657 2593680 - PropertyAccessExpression 2593657 2593675 - Identifier 2593657 2593662 - Identifier 2593663 2593675 - Identifier 2593676 2593680 - EqualsEqualsEqualsToken 2593680 2593684 - PropertyAccessExpression 2593684 2593716 - Identifier 2593684 2593695 - Identifier 2593696 2593716 - Block 2593717 2593797 - ExpressionStatement 2593719 2593782 - CallExpression 2593719 2593781 - Identifier 2593719 2593762 - PropertyAccessExpression 2593763 2593780 - Identifier 2593763 2593767 - Identifier 2593768 2593780 - VariableStatement 2593797 2593903 - VariableDeclarationList 2593797 2593902 - VariableDeclaration 2593874 2593902 - Identifier 2593874 2593881 - PropertyAccessExpression 2593883 2593902 - PropertyAccessExpression 2593883 2593895 - Identifier 2593883 2593888 - Identifier 2593889 2593895 - Identifier 2593896 2593902 - VariableStatement 2593903 2594011 - VariableDeclarationList 2593903 2594010 - VariableDeclaration 2593922 2594010 - Identifier 2593922 2593938 - ConditionalExpression 2593940 2594010 - PropertyAccessExpression 2593940 2593960 - Identifier 2593940 2593945 - Identifier 2593946 2593960 - QuestionToken 2593960 2593962 - PropertyAccessExpression 2593962 2593991 - Identifier 2593962 2593972 - Identifier 2593973 2593991 - ColonToken 2593991 2593993 - PropertyAccessExpression 2593993 2594010 - Identifier 2593993 2594003 - Identifier 2594004 2594010 - VariableStatement 2594011 2594100 - VariableDeclarationList 2594011 2594099 - VariableDeclaration 2594030 2594099 - Identifier 2594030 2594041 - CallExpression 2594043 2594099 - Identifier 2594043 2594074 - Identifier 2594075 2594081 - Identifier 2594082 2594098 - VariableStatement 2594100 2594158 - VariableDeclarationList 2594100 2594157 - VariableDeclaration 2594119 2594157 - Identifier 2594119 2594124 - BinaryExpression 2594126 2594157 - PropertyAccessExpression 2594126 2594144 - Identifier 2594126 2594131 - Identifier 2594132 2594144 - BarBarToken 2594144 2594147 - PropertyAccessExpression 2594147 2594157 - Identifier 2594147 2594152 - Identifier 2594153 2594157 - IfStatement 2594158 2594950 - BinaryExpression 2594176 2594213 - Identifier 2594176 2594186 - AmpersandAmpersandToken 2594186 2594189 - PrefixUnaryExpression 2594189 2594213 - CallExpression 2594191 2594213 - Identifier 2594191 2594207 - Identifier 2594208 2594212 - Block 2594214 2594950 - VariableStatement 2594216 2594288 - VariableDeclarationList 2594216 2594287 - VariableDeclaration 2594239 2594287 - Identifier 2594239 2594248 - CallExpression 2594250 2594287 - Identifier 2594250 2594281 - Identifier 2594282 2594286 - IfStatement 2594288 2594935 - CallExpression 2594310 2594346 - Identifier 2594310 2594336 - Identifier 2594337 2594345 - Block 2594347 2594935 - VariableStatement 2594349 2594422 - VariableDeclarationList 2594349 2594421 - VariableDeclaration 2594376 2594421 - Identifier 2594376 2594385 - CallExpression 2594387 2594421 - Identifier 2594387 2594411 - Identifier 2594412 2594420 - VariableStatement 2594422 2594501 - VariableDeclarationList 2594422 2594500 - VariableDeclaration 2594449 2594500 - Identifier 2594449 2594458 - CallExpression 2594460 2594500 - Identifier 2594460 2594478 - Identifier 2594479 2594489 - Identifier 2594490 2594499 - IfStatement 2594501 2594916 - Identifier 2594527 2594535 - Block 2594536 2594916 - ExpressionStatement 2594538 2594664 - CallExpression 2594538 2594663 - Identifier 2594538 2594588 - Identifier 2594589 2594597 - Identifier 2594598 2594634 - FalseKeyword 2594635 2594662 - ExpressionStatement 2594664 2594893 - CallExpression 2594664 2594892 - Identifier 2594664 2594768 - Identifier 2594769 2594773 - BinaryExpression 2594774 2594850 - PrefixUnaryExpression 2594774 2594795 - PrefixUnaryExpression 2594776 2594795 - PropertyAccessExpression 2594777 2594795 - Identifier 2594777 2594783 - Identifier 2594784 2594795 - AmpersandAmpersandToken 2594795 2594798 - BinaryExpression 2594798 2594850 - PropertyAccessExpression 2594798 2594822 - PropertyAccessExpression 2594798 2594817 - Identifier 2594798 2594805 - Identifier 2594806 2594817 - Identifier 2594818 2594822 - EqualsEqualsEqualsToken 2594822 2594826 - PropertyAccessExpression 2594826 2594850 - Identifier 2594826 2594837 - Identifier 2594838 2594850 - FalseKeyword 2594851 2594869 - Identifier 2594870 2594881 - Identifier 2594882 2594891 - IfStatement 2594961 2595414 - CallExpression 2595045 2595072 - Identifier 2595045 2595061 - PropertyAccessExpression 2595062 2595071 - Identifier 2595062 2595066 - Identifier 2595067 2595071 - Block 2595073 2595414 - IfStatement 2595075 2595339 - BinaryExpression 2595093 2595246 - BinaryExpression 2595093 2595208 - BinaryExpression 2595093 2595142 - PropertyAccessExpression 2595093 2595107 - PropertyAccessExpression 2595093 2595102 - Identifier 2595093 2595097 - Identifier 2595098 2595102 - Identifier 2595103 2595107 - EqualsEqualsEqualsToken 2595107 2595111 - PropertyAccessExpression 2595111 2595142 - Identifier 2595111 2595122 - Identifier 2595123 2595142 - AmpersandAmpersandToken 2595142 2595145 - BinaryExpression 2595145 2595208 - Identifier 2595145 2595161 - LessThanToken 2595161 2595163 - PropertyAccessExpression 2595163 2595208 - Identifier 2595163 2595192 - Identifier 2595193 2595208 - AmpersandAmpersandToken 2595208 2595211 - PropertyAccessExpression 2595211 2595246 - Identifier 2595211 2595227 - Identifier 2595228 2595246 - Block 2595247 2595339 - ExpressionStatement 2595249 2595324 - CallExpression 2595249 2595323 - Identifier 2595249 2595291 - Identifier 2595292 2595296 - PropertyAccessExpression 2595297 2595322 - Identifier 2595297 2595317 - Identifier 2595318 2595322 - ExpressionStatement 2595339 2595403 - CallExpression 2595339 2595402 - Identifier 2595339 2595362 - PropertyAccessExpression 2595363 2595381 - PropertyAccessExpression 2595363 2595372 - Identifier 2595363 2595367 - Identifier 2595368 2595372 - Identifier 2595373 2595381 - Identifier 2595382 2595401 - IfStatement 2595414 2595843 - BinaryExpression 2595551 2595685 - BinaryExpression 2595551 2595605 - PropertyAccessExpression 2595551 2595567 - Identifier 2595551 2595555 - Identifier 2595556 2595567 - AmpersandAmpersandToken 2595567 2595570 - CallExpression 2595570 2595605 - Identifier 2595570 2595599 - Identifier 2595600 2595604 - AmpersandAmpersandToken 2595605 2595608 - CallExpression 2595608 2595685 - Identifier 2595608 2595622 - PropertyAccessExpression 2595623 2595684 - ParenthesizedExpression 2595623 2595679 - AsExpression 2595624 2595678 - CallExpression 2595624 2595651 - Identifier 2595624 2595645 - Identifier 2595646 2595650 - TypeReference 2595654 2595678 - Identifier 2595654 2595678 - Identifier 2595680 2595684 - Block 2595686 2595843 - ExpressionStatement 2595688 2595811 - CallExpression 2595688 2595810 - Identifier 2595688 2595707 - Identifier 2595708 2595712 - PropertyAccessExpression 2595713 2595809 - Identifier 2595713 2595725 - Identifier 2595726 2595809 - ReturnStatement 2595811 2595832 - IfStatement 2595843 2597571 - CallExpression 2595926 2595953 - Identifier 2595926 2595942 - PropertyAccessExpression 2595943 2595952 - Identifier 2595943 2595947 - Identifier 2595948 2595952 - Block 2595954 2597571 - IfStatement 2595956 2596044 - CallExpression 2595974 2596001 - Identifier 2595974 2595995 - Identifier 2595996 2596000 - Block 2596002 2596044 - ReturnStatement 2596004 2596029 - VariableStatement 2596044 2596199 - VariableDeclarationList 2596044 2596198 - VariableDeclaration 2596063 2596198 - Identifier 2596063 2596084 - BinaryExpression 2596086 2596198 - BinaryExpression 2596086 2596141 - CallExpression 2596086 2596121 - Identifier 2596086 2596115 - Identifier 2596116 2596120 - AmpersandAmpersandToken 2596121 2596124 - PropertyAccessExpression 2596124 2596141 - Identifier 2596124 2596129 - Identifier 2596130 2596141 - AmpersandAmpersandToken 2596141 2596144 - BinaryExpression 2596144 2596198 - PropertyAccessExpression 2596144 2596168 - PropertyAccessExpression 2596144 2596163 - PropertyAccessExpression 2596144 2596156 - Identifier 2596144 2596149 - Identifier 2596150 2596156 - Identifier 2596157 2596163 - Identifier 2596164 2596168 - ExclamationEqualsEqualsToken 2596168 2596172 - PropertyAccessExpression 2596172 2596198 - Identifier 2596172 2596183 - Identifier 2596184 2596198 - VariableStatement 2596199 2596294 - VariableDeclarationList 2596199 2596293 - VariableDeclaration 2596218 2596293 - Identifier 2596218 2596239 - PrefixUnaryExpression 2596241 2596293 - CallExpression 2596243 2596293 - Identifier 2596243 2596247 - PropertyAccessExpression 2596248 2596266 - PropertyAccessExpression 2596248 2596257 - Identifier 2596248 2596252 - Identifier 2596253 2596257 - Identifier 2596258 2596266 - CallExpression 2596267 2596292 - Identifier 2596267 2596271 - Identifier 2596272 2596291 - IfStatement 2596294 2597539 - BinaryExpression 2596312 2596356 - Identifier 2596312 2596332 - BarBarToken 2596332 2596335 - Identifier 2596335 2596356 - Block 2596357 2597539 - VariableStatement 2596359 2596524 - VariableDeclarationList 2596359 2596523 - VariableDeclaration 2596462 2596523 - Identifier 2596462 2596474 - CallExpression 2596476 2596523 - Identifier 2596476 2596517 - Identifier 2596518 2596522 - IfStatement 2596524 2597049 - Identifier 2596546 2596566 - Block 2596567 2597049 - VariableStatement 2596569 2596655 - VariableDeclarationList 2596569 2596654 - VariableDeclaration 2596596 2596654 - Identifier 2596596 2596612 - CallExpression 2596614 2596654 - Identifier 2596614 2596636 - PropertyAccessExpression 2596637 2596653 - Identifier 2596637 2596641 - Identifier 2596642 2596653 - IfStatement 2596655 2597030 - BinaryExpression 2596681 2596721 - Identifier 2596681 2596697 - AmpersandAmpersandToken 2596697 2596700 - Identifier 2596700 2596721 - Block 2596722 2596820 - ExpressionStatement 2596724 2596797 - CallExpression 2596724 2596796 - Identifier 2596724 2596773 - Identifier 2596774 2596789 - Identifier 2596790 2596795 - Block 2596846 2597030 - ExpressionStatement 2596848 2597007 - CallExpression 2596848 2597006 - Identifier 2596848 2596917 - Identifier 2596918 2596933 - CallExpression 2596934 2596981 - Identifier 2596934 2596975 - Identifier 2596976 2596980 - Identifier 2596982 2596987 - PropertyAccessExpression 2596988 2597005 - Identifier 2596988 2596993 - Identifier 2596994 2597005 - IfStatement 2597049 2597524 - Identifier 2597137 2597157 - Block 2597158 2597524 - IfStatement 2597160 2597505 - CallExpression 2597186 2597218 - Identifier 2597186 2597207 - PropertyAccessExpression 2597208 2597217 - Identifier 2597208 2597212 - Identifier 2597213 2597217 - Block 2597219 2597363 - ExpressionStatement 2597221 2597340 - CallExpression 2597221 2597339 - Identifier 2597221 2597277 - PropertyAccessExpression 2597278 2597304 - Identifier 2597278 2597290 - Identifier 2597291 2597304 - Identifier 2597305 2597317 - Identifier 2597318 2597332 - Identifier 2597333 2597338 - IfStatement 2597389 2597505 - Identifier 2597394 2597410 - Block 2597411 2597505 - ExpressionStatement 2597413 2597482 - CallExpression 2597413 2597481 - Identifier 2597413 2597462 - Identifier 2597463 2597474 - Identifier 2597475 2597480 - ReturnStatement 2597539 2597560 - VariableStatement 2597571 2597701 - VariableDeclarationList 2597571 2597700 - VariableDeclaration 2597662 2597700 - Identifier 2597662 2597669 - CallExpression 2597671 2597700 - Identifier 2597671 2597694 - Identifier 2597695 2597699 - IfStatement 2597701 2597935 - BinaryExpression 2597715 2597863 - BinaryExpression 2597715 2597747 - PropertyAccessExpression 2597715 2597727 - Identifier 2597715 2597721 - Identifier 2597722 2597727 - AmpersandToken 2597727 2597729 - PropertyAccessExpression 2597729 2597747 - Identifier 2597729 2597741 - Identifier 2597742 2597747 - AmpersandAmpersandToken 2597747 2597750 - ParenthesizedExpression 2597750 2597863 - BinaryExpression 2597752 2597862 - CallExpression 2597752 2597813 - Identifier 2597752 2597807 - Identifier 2597808 2597812 - BarBarToken 2597813 2597816 - CallExpression 2597816 2597862 - Identifier 2597816 2597856 - Identifier 2597857 2597861 - Block 2597864 2597935 - ExpressionStatement 2597866 2597903 - CallExpression 2597866 2597902 - Identifier 2597866 2597896 - Identifier 2597897 2597901 - ReturnStatement 2597903 2597924 - IfStatement 2597935 2598103 - BinaryExpression 2597951 2597994 - PropertyAccessExpression 2597951 2597965 - PropertyAccessExpression 2597951 2597960 - Identifier 2597951 2597955 - Identifier 2597956 2597960 - Identifier 2597961 2597965 - EqualsEqualsEqualsToken 2597965 2597969 - PropertyAccessExpression 2597969 2597994 - Identifier 2597969 2597980 - Identifier 2597981 2597994 - Block 2597995 2598103 - ExpressionStatement 2597997 2598092 - CallExpression 2597997 2598091 - Identifier 2597997 2598016 - PropertyAccessExpression 2598017 2598026 - Identifier 2598017 2598021 - Identifier 2598022 2598026 - PropertyAccessExpression 2598027 2598090 - Identifier 2598027 2598039 - Identifier 2598040 2598090 - VariableStatement 2598103 2598170 - VariableDeclarationList 2598103 2598169 - VariableDeclaration 2598120 2598169 - Identifier 2598120 2598125 - CallExpression 2598127 2598169 - Identifier 2598127 2598144 - CallExpression 2598145 2598168 - Identifier 2598145 2598160 - Identifier 2598161 2598167 - IfStatement 2598170 2602472 - BinaryExpression 2598184 2598216 - Identifier 2598184 2598188 - EqualsEqualsEqualsToken 2598188 2598192 - PropertyAccessExpression 2598192 2598216 - Identifier 2598192 2598199 - Identifier 2598200 2598216 - Block 2598217 2601258 - VariableStatement 2598219 2598490 - VariableDeclarationList 2598219 2598489 - VariableDeclaration 2598407 2598489 - Identifier 2598407 2598419 - BinaryExpression 2598421 2598489 - CallExpression 2598421 2598456 - Identifier 2598421 2598450 - Identifier 2598451 2598455 - AmpersandAmpersandToken 2598456 2598459 - CallExpression 2598459 2598489 - Identifier 2598459 2598483 - Identifier 2598484 2598488 - IfStatement 2598490 2600869 - Identifier 2598508 2598519 - Block 2598520 2600869 - VariableStatement 2598522 2598798 - VariableDeclarationList 2598522 2598797 - VariableDeclaration 2598545 2598797 - Identifier 2598545 2598574 - BinaryExpression 2598576 2598797 - BinaryExpression 2598576 2598750 - BinaryExpression 2598576 2598656 - CallExpression 2598576 2598593 - Identifier 2598576 2598587 - Identifier 2598588 2598592 - AmpersandAmpersandToken 2598593 2598596 - CallExpression 2598596 2598656 - Identifier 2598596 2598643 - Identifier 2598644 2598655 - AmpersandAmpersandToken 2598656 2598659 - ParenthesizedExpression 2598659 2598750 - BinaryExpression 2598682 2598749 - BinaryExpression 2598682 2598717 - PropertyAccessExpression 2598682 2598711 - PropertyAccessExpression 2598682 2598704 - Identifier 2598682 2598693 - Identifier 2598694 2598704 - Identifier 2598705 2598711 - EqualsEqualsEqualsToken 2598711 2598715 - NumericLiteral 2598715 2598717 - BarBarToken 2598717 2598720 - CallExpression 2598720 2598749 - Identifier 2598720 2598738 - PropertyAccessExpression 2598739 2598748 - Identifier 2598739 2598743 - Identifier 2598744 2598748 - AmpersandAmpersandToken 2598750 2598753 - PrefixUnaryExpression 2598753 2598797 - PrefixUnaryExpression 2598776 2598797 - PropertyAccessExpression 2598777 2598797 - PropertyAccessExpression 2598777 2598791 - Identifier 2598777 2598783 - Identifier 2598784 2598791 - QuestionDotToken 2598791 2598793 - Identifier 2598793 2598797 - IfStatement 2598798 2600854 - BinaryExpression 2598820 2598906 - PrefixUnaryExpression 2598820 2598849 - Identifier 2598821 2598849 - AmpersandAmpersandToken 2598849 2598852 - BinaryExpression 2598852 2598906 - PropertyAccessExpression 2598852 2598876 - PropertyAccessExpression 2598852 2598871 - PropertyAccessExpression 2598852 2598864 - Identifier 2598852 2598857 - Identifier 2598858 2598864 - Identifier 2598865 2598871 - Identifier 2598872 2598876 - ExclamationEqualsEqualsToken 2598876 2598880 - PropertyAccessExpression 2598880 2598906 - Identifier 2598880 2598891 - Identifier 2598892 2598906 - Block 2598907 2600854 - VariableStatement 2598909 2598990 - VariableDeclarationList 2598909 2598989 - VariableDeclaration 2598936 2598989 - Identifier 2598936 2598952 - CallExpression 2598954 2598989 - Identifier 2598954 2598976 - Identifier 2598977 2598988 - ExpressionStatement 2598990 2599125 - CallExpression 2598990 2599124 - Identifier 2598990 2599055 - Identifier 2599056 2599071 - Identifier 2599072 2599077 - Identifier 2599078 2599083 - Identifier 2599084 2599096 - Identifier 2599097 2599123 - VariableStatement 2599125 2599227 - VariableDeclarationList 2599125 2599226 - VariableDeclaration 2599152 2599226 - Identifier 2599152 2599167 - BinaryExpression 2599169 2599226 - CallExpression 2599169 2599202 - Identifier 2599169 2599196 - Identifier 2599197 2599201 - AmpersandToken 2599202 2599204 - PropertyAccessExpression 2599204 2599226 - Identifier 2599204 2599214 - Identifier 2599215 2599226 - IfStatement 2599227 2600835 - BinaryExpression 2599253 2599292 - Identifier 2599253 2599267 - EqualsEqualsEqualsToken 2599267 2599271 - PropertyAccessExpression 2599271 2599292 - Identifier 2599271 2599281 - Identifier 2599282 2599292 - Block 2599293 2600140 - VariableStatement 2599295 2599407 - VariableDeclarationList 2599295 2599406 - VariableDeclaration 2599326 2599406 - Identifier 2599326 2599352 - CallExpression 2599354 2599406 - Identifier 2599354 2599383 - TrueKeyword 2599384 2599405 - VariableStatement 2599407 2599509 - VariableDeclarationList 2599407 2599508 - VariableDeclaration 2599438 2599508 - Identifier 2599438 2599459 - CallExpression 2599461 2599508 - Identifier 2599461 2599485 - TrueKeyword 2599486 2599507 - IfStatement 2599509 2600117 - BinaryExpression 2599539 2599628 - BinaryExpression 2599539 2599584 - Identifier 2599539 2599564 - ExclamationEqualsEqualsToken 2599564 2599568 - Identifier 2599568 2599584 - AmpersandAmpersandToken 2599584 2599587 - BinaryExpression 2599587 2599628 - Identifier 2599587 2599608 - ExclamationEqualsEqualsToken 2599608 2599612 - Identifier 2599612 2599628 - Block 2599629 2600117 - VariableStatement 2599631 2599781 - VariableDeclarationList 2599631 2599780 - VariableDeclaration 2599666 2599780 - Identifier 2599666 2599689 - CallExpression 2599691 2599780 - Identifier 2599691 2599704 - ArrayLiteralExpression 2599705 2599779 - Identifier 2599706 2599731 - Identifier 2599732 2599753 - Identifier 2599754 2599763 - Identifier 2599764 2599778 - ExpressionStatement 2599781 2600090 - CallExpression 2599781 2600089 - Identifier 2599781 2599832 - CallExpression 2599833 2599891 - Identifier 2599833 2599868 - Identifier 2599869 2599884 - Identifier 2599885 2599890 - Identifier 2599892 2599915 - Identifier 2599916 2599928 - PropertyAccessExpression 2599929 2600088 - Identifier 2599929 2599941 - Identifier 2599942 2600088 - IfStatement 2600166 2600835 - BinaryExpression 2600171 2600205 - Identifier 2600171 2600185 - EqualsEqualsEqualsToken 2600185 2600189 - PropertyAccessExpression 2600189 2600205 - Identifier 2600189 2600199 - Identifier 2600200 2600205 - Block 2600206 2600835 - VariableStatement 2600208 2600310 - VariableDeclarationList 2600208 2600309 - VariableDeclaration 2600239 2600309 - Identifier 2600239 2600260 - CallExpression 2600262 2600309 - Identifier 2600262 2600286 - TrueKeyword 2600287 2600308 - IfStatement 2600310 2600812 - BinaryExpression 2600340 2600380 - Identifier 2600340 2600360 - ExclamationEqualsEqualsToken 2600360 2600364 - Identifier 2600364 2600380 - Block 2600381 2600812 - VariableStatement 2600383 2600506 - VariableDeclarationList 2600383 2600505 - VariableDeclaration 2600418 2600505 - Identifier 2600418 2600441 - CallExpression 2600443 2600505 - Identifier 2600443 2600456 - ArrayLiteralExpression 2600457 2600504 - Identifier 2600458 2600478 - Identifier 2600479 2600488 - Identifier 2600489 2600503 - ExpressionStatement 2600506 2600785 - CallExpression 2600506 2600784 - Identifier 2600506 2600557 - CallExpression 2600558 2600616 - Identifier 2600558 2600593 - Identifier 2600594 2600609 - Identifier 2600610 2600615 - Identifier 2600617 2600640 - Identifier 2600641 2600653 - PropertyAccessExpression 2600654 2600783 - Identifier 2600654 2600666 - Identifier 2600667 2600783 - IfStatement 2600869 2601247 - BinaryExpression 2600887 2600940 - PropertyAccessExpression 2600887 2600906 - Identifier 2600887 2600893 - Identifier 2600894 2600906 - AmpersandAmpersandToken 2600906 2600909 - BinaryExpression 2600909 2600940 - PropertyAccessExpression 2600909 2600936 - PropertyAccessExpression 2600909 2600929 - Identifier 2600909 2600916 - Identifier 2600917 2600929 - Identifier 2600930 2600936 - GreaterThanToken 2600936 2600938 - NumericLiteral 2600938 2600940 - Block 2600941 2601247 - IfStatement 2600943 2601232 - CallExpression 2600965 2601070 - Identifier 2600965 2600969 - PropertyAccessExpression 2600970 2600989 - Identifier 2600970 2600976 - Identifier 2600977 2600989 - ArrowFunction 2600990 2601069 - Parameter 2600990 2600992 - Identifier 2600990 2600992 - EqualsGreaterThanToken 2600992 2600995 - BinaryExpression 2600995 2601069 - BinaryExpression 2600995 2601027 - BinaryExpression 2600995 2601006 - Identifier 2600995 2600997 - ExclamationEqualsEqualsToken 2600997 2601001 - Identifier 2601001 2601006 - AmpersandAmpersandToken 2601006 2601009 - CallExpression 2601009 2601027 - Identifier 2601009 2601024 - Identifier 2601025 2601026 - AmpersandAmpersandToken 2601027 2601030 - PrefixUnaryExpression 2601030 2601069 - CallExpression 2601032 2601069 - Identifier 2601032 2601060 - Identifier 2601061 2601062 - Identifier 2601063 2601068 - Block 2601071 2601232 - ExpressionStatement 2601073 2601213 - CallExpression 2601073 2601212 - Identifier 2601073 2601100 - PropertyAccessExpression 2601101 2601110 - Identifier 2601101 2601105 - Identifier 2601106 2601110 - PropertyAccessExpression 2601111 2601175 - Identifier 2601111 2601123 - Identifier 2601124 2601175 - CallExpression 2601176 2601211 - Identifier 2601176 2601200 - PropertyAccessExpression 2601201 2601210 - Identifier 2601201 2601205 - Identifier 2601206 2601210 - Block 2601272 2602472 - VariableStatement 2601274 2601570 - VariableDeclarationList 2601274 2601569 - VariableDeclaration 2601486 2601569 - Identifier 2601486 2601502 - CallExpression 2601504 2601569 - Identifier 2601504 2601521 - CallExpression 2601522 2601568 - Identifier 2601522 2601562 - Identifier 2601563 2601567 - IfStatement 2601570 2601941 - BinaryExpression 2601590 2601782 - BinaryExpression 2601590 2601721 - BinaryExpression 2601590 2601659 - PrefixUnaryExpression 2601590 2601626 - CallExpression 2601609 2601626 - Identifier 2601609 2601620 - Identifier 2601621 2601625 - AmpersandAmpersandToken 2601626 2601629 - PrefixUnaryExpression 2601629 2601659 - CallExpression 2601631 2601659 - Identifier 2601631 2601642 - Identifier 2601643 2601658 - AmpersandAmpersandToken 2601659 2601662 - PrefixUnaryExpression 2601662 2601721 - CallExpression 2601681 2601721 - Identifier 2601681 2601698 - Identifier 2601699 2601703 - Identifier 2601704 2601720 - AmpersandAmpersandToken 2601721 2601724 - PrefixUnaryExpression 2601724 2601782 - ParenthesizedExpression 2601743 2601782 - BinaryExpression 2601744 2601781 - PropertyAccessExpression 2601744 2601756 - Identifier 2601744 2601750 - Identifier 2601751 2601756 - AmpersandToken 2601756 2601758 - PropertyAccessExpression 2601758 2601781 - Identifier 2601758 2601770 - Identifier 2601771 2601781 - Block 2601797 2601941 - ExpressionStatement 2601799 2601926 - CallExpression 2601799 2601925 - Identifier 2601799 2601871 - PropertyAccessExpression 2601872 2601895 - Identifier 2601872 2601878 - Identifier 2601879 2601895 - Identifier 2601896 2601901 - Identifier 2601902 2601907 - Identifier 2601908 2601924 - IfStatement 2601941 2602202 - BinaryExpression 2601959 2602013 - CallExpression 2601959 2601993 - Identifier 2601959 2601987 - Identifier 2601988 2601992 - AmpersandAmpersandToken 2601993 2601996 - PropertyAccessExpression 2601996 2602013 - Identifier 2601996 2602001 - Identifier 2602002 2602013 - Block 2602014 2602202 - ExpressionStatement 2602016 2602187 - CallExpression 2602016 2602186 - Identifier 2602016 2602077 - CallExpression 2602078 2602117 - Identifier 2602078 2602099 - PropertyAccessExpression 2602100 2602116 - Identifier 2602100 2602104 - Identifier 2602105 2602116 - Identifier 2602118 2602134 - Identifier 2602135 2602140 - PropertyAccessExpression 2602141 2602158 - Identifier 2602141 2602146 - Identifier 2602147 2602158 - Identifier 2602159 2602185 - IfStatement 2602202 2602461 - BinaryExpression 2602220 2602307 - PropertyAccessExpression 2602220 2602243 - Identifier 2602220 2602226 - Identifier 2602227 2602243 - AmpersandAmpersandToken 2602243 2602246 - PrefixUnaryExpression 2602246 2602307 - CallExpression 2602248 2602307 - Identifier 2602248 2602276 - Identifier 2602277 2602281 - PropertyAccessExpression 2602282 2602306 - Identifier 2602282 2602289 - Identifier 2602290 2602306 - Block 2602308 2602461 - ExpressionStatement 2602310 2602446 - CallExpression 2602310 2602445 - Identifier 2602310 2602333 - PropertyAccessExpression 2602334 2602343 - Identifier 2602334 2602338 - Identifier 2602339 2602343 - PropertyAccessExpression 2602344 2602408 - Identifier 2602344 2602356 - Identifier 2602357 2602408 - CallExpression 2602409 2602444 - Identifier 2602409 2602433 - PropertyAccessExpression 2602434 2602443 - Identifier 2602434 2602438 - Identifier 2602439 2602443 - IfStatement 2602472 2602966 - BinaryExpression 2602486 2602576 - BinaryExpression 2602486 2602530 - PropertyAccessExpression 2602486 2602495 - Identifier 2602486 2602490 - Identifier 2602491 2602495 - ExclamationEqualsEqualsToken 2602495 2602499 - PropertyAccessExpression 2602499 2602530 - Identifier 2602499 2602510 - Identifier 2602511 2602530 - AmpersandAmpersandToken 2602530 2602533 - BinaryExpression 2602533 2602576 - PropertyAccessExpression 2602533 2602543 - Identifier 2602533 2602538 - Identifier 2602539 2602543 - ExclamationEqualsEqualsToken 2602543 2602547 - PropertyAccessExpression 2602547 2602576 - Identifier 2602547 2602558 - Identifier 2602559 2602576 - Block 2602577 2602966 - ExpressionStatement 2602579 2602710 - CallExpression 2602579 2602709 - Identifier 2602579 2602703 - Identifier 2602704 2602708 - IfStatement 2602710 2602890 - BinaryExpression 2602728 2602815 - BinaryExpression 2602728 2602772 - PropertyAccessExpression 2602728 2602737 - Identifier 2602728 2602732 - Identifier 2602733 2602737 - EqualsEqualsEqualsToken 2602737 2602741 - PropertyAccessExpression 2602741 2602772 - Identifier 2602741 2602752 - Identifier 2602753 2602772 - BarBarToken 2602772 2602775 - BinaryExpression 2602775 2602815 - PropertyAccessExpression 2602775 2602785 - Identifier 2602775 2602780 - Identifier 2602781 2602785 - EqualsEqualsEqualsToken 2602785 2602789 - PropertyAccessExpression 2602789 2602815 - Identifier 2602789 2602800 - Identifier 2602801 2602815 - Block 2602816 2602890 - ExpressionStatement 2602818 2602875 - CallExpression 2602818 2602874 - Identifier 2602818 2602868 - Identifier 2602869 2602873 - ExpressionStatement 2602890 2602955 - CallExpression 2602890 2602954 - Identifier 2602890 2602937 - Identifier 2602938 2602942 - PropertyAccessExpression 2602943 2602953 - Identifier 2602943 2602948 - Identifier 2602949 2602953 - FunctionDeclaration 2602973 2604082 - Identifier 2602989 2603044 - Parameter 2603045 2603086 - Identifier 2603045 2603061 - UnionType 2603062 2603086 - TypeReference 2603062 2603074 - Identifier 2603062 2603074 - UndefinedKeyword 2603076 2603086 - Parameter 2603087 2603103 - Identifier 2603087 2603097 - TypeReference 2603098 2603103 - Identifier 2603098 2603103 - Parameter 2603104 2603133 - Identifier 2603104 2603120 - TypeReference 2603121 2603133 - Identifier 2603121 2603133 - Parameter 2603134 2603149 - Identifier 2603134 2603143 - TypeReference 2603144 2603149 - Identifier 2603144 2603149 - VoidKeyword 2603151 2603156 - Block 2603156 2604082 - VariableStatement 2603158 2603234 - VariableDeclarationList 2603158 2603233 - VariableDeclaration 2603173 2603233 - Identifier 2603173 2603193 - CallExpression 2603195 2603233 - Identifier 2603195 2603216 - Identifier 2603217 2603232 - VariableStatement 2603234 2603639 - VariableDeclarationList 2603234 2603638 - VariableDeclaration 2603249 2603638 - Identifier 2603249 2603257 - ConditionalExpression 2603259 2603638 - BinaryExpression 2603259 2603372 - BinaryExpression 2603259 2603315 - PropertyAccessExpression 2603259 2603280 - Identifier 2603259 2603275 - Identifier 2603276 2603280 - EqualsEqualsEqualsToken 2603280 2603284 - PropertyAccessExpression 2603284 2603315 - Identifier 2603284 2603295 - Identifier 2603296 2603315 - BarBarToken 2603315 2603318 - BinaryExpression 2603318 2603372 - PropertyAccessExpression 2603318 2603339 - Identifier 2603318 2603334 - Identifier 2603335 2603339 - EqualsEqualsEqualsToken 2603339 2603343 - PropertyAccessExpression 2603343 2603372 - Identifier 2603343 2603354 - Identifier 2603355 2603372 - QuestionToken 2603372 2603387 - PropertyAccessExpression 2603387 2603505 - Identifier 2603387 2603399 - Identifier 2603400 2603505 - ColonToken 2603505 2603520 - PropertyAccessExpression 2603520 2603638 - Identifier 2603520 2603532 - Identifier 2603533 2603638 - VariableStatement 2603639 2603711 - VariableDeclarationList 2603639 2603710 - VariableDeclaration 2603654 2603710 - Identifier 2603654 2603663 - CallExpression 2603665 2603710 - Identifier 2603665 2603689 - Identifier 2603690 2603709 - VariableStatement 2603711 2603905 - VariableDeclarationList 2603711 2603904 - VariableDeclaration 2603726 2603904 - Identifier 2603726 2603730 - CallExpression 2603732 2603904 - Identifier 2603732 2603738 - Identifier 2603739 2603772 - Identifier 2603773 2603794 - Identifier 2603795 2603817 - CallExpression 2603818 2603855 - Identifier 2603818 2603844 - Identifier 2603845 2603854 - CallExpression 2603856 2603892 - Identifier 2603856 2603882 - Identifier 2603883 2603891 - IfStatement 2603905 2604075 - Identifier 2603919 2603935 - Block 2603936 2604075 - ExpressionStatement 2603938 2604064 - CallExpression 2603938 2604063 - Identifier 2603938 2603966 - Identifier 2603967 2603970 - CallExpression 2603971 2604062 - Identifier 2603971 2603995 - Identifier 2603996 2604012 - PropertyAccessExpression 2604013 2604051 - Identifier 2604013 2604025 - Identifier 2604026 2604051 - Identifier 2604052 2604061 - FunctionDeclaration 2604082 2605021 - Identifier 2604098 2604127 - Parameter 2604128 2604145 - Identifier 2604128 2604132 - TypeReference 2604133 2604145 - Identifier 2604133 2604145 - Parameter 2604146 2604165 - Identifier 2604146 2604152 - TypeReference 2604153 2604165 - Identifier 2604153 2604165 - Block 2604166 2605021 - IfStatement 2604168 2604522 - BinaryExpression 2604182 2604383 - ParenthesizedExpression 2604182 2604281 - BinaryExpression 2604197 2604280 - BinaryExpression 2604197 2604231 - PropertyAccessExpression 2604197 2604206 - Identifier 2604197 2604201 - Identifier 2604202 2604206 - EqualsEqualsEqualsToken 2604206 2604210 - PropertyAccessExpression 2604210 2604231 - Identifier 2604210 2604221 - Identifier 2604222 2604231 - AmpersandAmpersandToken 2604231 2604234 - BinaryExpression 2604234 2604280 - PropertyAccessExpression 2604234 2604245 - Identifier 2604234 2604240 - Identifier 2604241 2604245 - EqualsEqualsEqualsToken 2604245 2604249 - PropertyAccessExpression 2604249 2604280 - Identifier 2604249 2604260 - Identifier 2604261 2604280 - BarBarToken 2604281 2604284 - ParenthesizedExpression 2604284 2604383 - BinaryExpression 2604299 2604382 - BinaryExpression 2604299 2604343 - PropertyAccessExpression 2604299 2604308 - Identifier 2604299 2604303 - Identifier 2604304 2604308 - EqualsEqualsEqualsToken 2604308 2604312 - PropertyAccessExpression 2604312 2604343 - Identifier 2604312 2604323 - Identifier 2604324 2604343 - AmpersandAmpersandToken 2604343 2604346 - BinaryExpression 2604346 2604382 - PropertyAccessExpression 2604346 2604357 - Identifier 2604346 2604352 - Identifier 2604353 2604357 - EqualsEqualsEqualsToken 2604357 2604361 - PropertyAccessExpression 2604361 2604382 - Identifier 2604361 2604372 - Identifier 2604373 2604382 - Block 2604394 2604522 - ReturnStatement 2604396 2604511 - TrueKeyword 2604505 2604510 - IfStatement 2604522 2604629 - BinaryExpression 2604538 2604588 - CallExpression 2604538 2604560 - Identifier 2604538 2604554 - Identifier 2604555 2604559 - ExclamationEqualsEqualsToken 2604560 2604564 - CallExpression 2604564 2604588 - Identifier 2604564 2604581 - Identifier 2604582 2604587 - Block 2604589 2604629 - ReturnStatement 2604591 2604618 - FalseKeyword 2604611 2604617 - VariableStatement 2604629 2604874 - VariableDeclarationList 2604629 2604873 - VariableDeclaration 2604646 2604873 - Identifier 2604646 2604663 - BinaryExpression 2604665 2604873 - BinaryExpression 2604665 2604837 - BinaryExpression 2604665 2604799 - BinaryExpression 2604665 2604761 - BinaryExpression 2604665 2604726 - PropertyAccessExpression 2604665 2604687 - Identifier 2604665 2604679 - Identifier 2604680 2604687 - BarToken 2604687 2604689 - PropertyAccessExpression 2604689 2604726 - Identifier 2604689 2604716 - Identifier 2604717 2604726 - BarToken 2604726 2604728 - PropertyAccessExpression 2604728 2604761 - Identifier 2604728 2604755 - Identifier 2604756 2604761 - BarToken 2604761 2604763 - PropertyAccessExpression 2604763 2604799 - Identifier 2604763 2604790 - Identifier 2604791 2604799 - BarToken 2604799 2604801 - PropertyAccessExpression 2604801 2604837 - Identifier 2604801 2604828 - Identifier 2604829 2604837 - BarToken 2604837 2604839 - PropertyAccessExpression 2604839 2604873 - Identifier 2604839 2604866 - Identifier 2604867 2604873 - ReturnStatement 2604874 2605014 - BinaryExpression 2604892 2605013 - CallExpression 2604892 2604950 - Identifier 2604892 2604926 - Identifier 2604927 2604931 - Identifier 2604932 2604949 - EqualsEqualsEqualsToken 2604950 2604954 - CallExpression 2604954 2605013 - Identifier 2604954 2604988 - Identifier 2604989 2604994 - Identifier 2604995 2605012 - FunctionDeclaration 2605021 2605381 - Identifier 2605037 2605062 - Parameter 2605063 2605088 - Identifier 2605063 2605067 - TypeReference 2605068 2605088 - Identifier 2605068 2605088 - Block 2605089 2605381 - ExpressionStatement 2605091 2605256 - CallExpression 2605091 2605255 - PropertyAccessExpression 2605091 2605114 - Identifier 2605091 2605108 - QuestionDotToken 2605108 2605110 - Identifier 2605110 2605114 - PropertyAccessExpression 2605115 2605134 - PropertyAccessExpression 2605115 2605128 - Identifier 2605115 2605122 - Identifier 2605123 2605128 - Identifier 2605129 2605134 - StringLiteral 2605135 2605162 - ObjectLiteralExpression 2605163 2605254 - PropertyAssignment 2605165 2605181 - Identifier 2605165 2605170 - PropertyAccessExpression 2605171 2605181 - Identifier 2605171 2605176 - Identifier 2605177 2605181 - PropertyAssignment 2605182 2605196 - Identifier 2605182 2605186 - PropertyAccessExpression 2605187 2605196 - Identifier 2605187 2605192 - Identifier 2605193 2605196 - PropertyAssignment 2605197 2605211 - Identifier 2605197 2605201 - PropertyAccessExpression 2605202 2605211 - Identifier 2605202 2605207 - Identifier 2605208 2605211 - PropertyAssignment 2605212 2605252 - Identifier 2605212 2605217 - PropertyAccessExpression 2605218 2605252 - ParenthesizedExpression 2605218 2605240 - AsExpression 2605220 2605239 - Identifier 2605220 2605224 - TypeReference 2605227 2605239 - Identifier 2605227 2605239 - Identifier 2605241 2605252 - ExpressionStatement 2605256 2605304 - CallExpression 2605256 2605303 - Identifier 2605256 2605297 - Identifier 2605298 2605302 - ExpressionStatement 2605304 2605349 - CallExpression 2605304 2605348 - Identifier 2605304 2605342 - Identifier 2605343 2605347 - ExpressionStatement 2605349 2605374 - CallExpression 2605349 2605373 - PropertyAccessExpression 2605349 2605371 - Identifier 2605349 2605366 - QuestionDotToken 2605366 2605368 - Identifier 2605368 2605371 - FunctionDeclaration 2605381 2605543 - Identifier 2605397 2605417 - Parameter 2605418 2605438 - Identifier 2605418 2605422 - TypeReference 2605423 2605438 - Identifier 2605423 2605438 - Block 2605439 2605543 - ExpressionStatement 2605441 2605484 - CallExpression 2605441 2605483 - Identifier 2605441 2605477 - Identifier 2605478 2605482 - ReturnStatement 2605484 2605536 - CallExpression 2605500 2605535 - Identifier 2605500 2605529 - Identifier 2605530 2605534 - FunctionDeclaration 2605543 2606054 - Identifier 2605559 2605588 - Parameter 2605589 2605618 - Identifier 2605589 2605593 - TypeReference 2605594 2605618 - Identifier 2605594 2605618 - Block 2605619 2606054 - VariableStatement 2605621 2605705 - VariableDeclarationList 2605621 2605704 - VariableDeclaration 2605636 2605704 - Identifier 2605636 2605651 - BinaryExpression 2605653 2605704 - CallExpression 2605653 2605680 - Identifier 2605653 2605674 - Identifier 2605675 2605679 - AmpersandToken 2605680 2605682 - PropertyAccessExpression 2605682 2605704 - Identifier 2605682 2605692 - Identifier 2605693 2605704 - IfStatement 2605705 2605988 - BinaryExpression 2605719 2605867 - ParenthesizedExpression 2605719 2605798 - BinaryExpression 2605720 2605797 - BinaryExpression 2605720 2605754 - Identifier 2605720 2605734 - EqualsEqualsEqualsToken 2605734 2605738 - PropertyAccessExpression 2605738 2605754 - Identifier 2605738 2605748 - Identifier 2605749 2605754 - BarBarToken 2605754 2605757 - BinaryExpression 2605757 2605797 - Identifier 2605757 2605772 - EqualsEqualsEqualsToken 2605772 2605776 - PropertyAccessExpression 2605776 2605797 - Identifier 2605776 2605786 - Identifier 2605787 2605797 - AmpersandAmpersandToken 2605798 2605801 - BinaryExpression 2605801 2605867 - Identifier 2605801 2605817 - LessThanToken 2605817 2605819 - PropertyAccessExpression 2605819 2605867 - Identifier 2605819 2605848 - Identifier 2605849 2605867 - Block 2605868 2605988 - ExpressionStatement 2605870 2605977 - CallExpression 2605870 2605976 - Identifier 2605870 2605908 - Identifier 2605909 2605913 - PropertyAccessExpression 2605914 2605975 - Identifier 2605914 2605934 - Identifier 2605935 2605975 - ExpressionStatement 2605988 2606047 - CallExpression 2605988 2606046 - Identifier 2605988 2606007 - PropertyAccessExpression 2606008 2606025 - Identifier 2606008 2606012 - Identifier 2606013 2606025 - Identifier 2606026 2606045 - FunctionDeclaration 2606054 2606383 - Identifier 2606070 2606093 - Parameter 2606094 2606117 - Identifier 2606094 2606098 - TypeReference 2606099 2606117 - Identifier 2606099 2606117 - Block 2606118 2606383 - IfStatement 2606120 2606315 - BinaryExpression 2606163 2606253 - PrefixUnaryExpression 2606163 2606191 - CallExpression 2606164 2606191 - Identifier 2606164 2606185 - Identifier 2606186 2606190 - AmpersandAmpersandToken 2606191 2606194 - PrefixUnaryExpression 2606194 2606253 - CallExpression 2606196 2606253 - Identifier 2606196 2606231 - PropertyAccessExpression 2606232 2606252 - Identifier 2606232 2606236 - Identifier 2606237 2606252 - ExpressionStatement 2606254 2606315 - CallExpression 2606254 2606314 - Identifier 2606254 2606308 - Identifier 2606309 2606313 - ExpressionStatement 2606315 2606376 - CallExpression 2606315 2606375 - Identifier 2606315 2606353 - PropertyAccessExpression 2606354 2606374 - Identifier 2606354 2606358 - Identifier 2606359 2606374 - FunctionDeclaration 2606383 2606588 - Identifier 2606399 2606424 - Parameter 2606425 2606450 - Identifier 2606425 2606429 - TypeReference 2606430 2606450 - Identifier 2606430 2606450 - Block 2606451 2606588 - ExpressionStatement 2606453 2606536 - CallExpression 2606453 2606535 - Identifier 2606453 2606529 - Identifier 2606530 2606534 - ExpressionStatement 2606536 2606581 - CallExpression 2606536 2606580 - Identifier 2606536 2606563 - PropertyAccessExpression 2606564 2606579 - Identifier 2606564 2606568 - Identifier 2606569 2606579 - FunctionDeclaration 2606588 2607204 - Identifier 2606604 2606621 - Parameter 2606622 2606639 - Identifier 2606622 2606626 - TypeReference 2606627 2606639 - Identifier 2606627 2606639 - Block 2606640 2607204 - ExpressionStatement 2606642 2606725 - CallExpression 2606642 2606724 - Identifier 2606642 2606718 - Identifier 2606719 2606723 - VariableStatement 2606725 2606791 - VariableDeclarationList 2606725 2606790 - VariableDeclaration 2606740 2606790 - Identifier 2606740 2606745 - CallExpression 2606747 2606790 - Identifier 2606747 2606773 - PropertyAccessExpression 2606774 2606789 - Identifier 2606774 2606778 - Identifier 2606779 2606789 - ExpressionStatement 2606791 2606903 - CallExpression 2606791 2606902 - Identifier 2606791 2606859 - PropertyAccessExpression 2606860 2606875 - Identifier 2606860 2606864 - Identifier 2606865 2606875 - Identifier 2606876 2606881 - PropertyAccessExpression 2606882 2606901 - Identifier 2606882 2606887 - Identifier 2606888 2606901 - ExpressionStatement 2606903 2606952 - CallExpression 2606903 2606951 - Identifier 2606903 2606931 - PropertyAccessExpression 2606932 2606950 - Identifier 2606932 2606936 - Identifier 2606937 2606950 - IfStatement 2606952 2607146 - BinaryExpression 2606968 2607021 - PropertyAccessExpression 2606968 2606991 - PropertyAccessExpression 2606968 2606986 - Identifier 2606968 2606972 - Identifier 2606973 2606986 - Identifier 2606987 2606991 - EqualsEqualsEqualsToken 2606991 2606995 - PropertyAccessExpression 2606995 2607021 - Identifier 2606995 2607006 - Identifier 2607007 2607021 - Block 2607022 2607146 - ExpressionStatement 2607024 2607135 - CallExpression 2607024 2607134 - Identifier 2607024 2607043 - PropertyAccessExpression 2607044 2607062 - Identifier 2607044 2607048 - Identifier 2607049 2607062 - PropertyAccessExpression 2607063 2607133 - Identifier 2607063 2607075 - Identifier 2607076 2607133 - ExpressionStatement 2607146 2607197 - CallExpression 2607146 2607196 - Identifier 2607146 2607176 - PropertyAccessExpression 2607177 2607195 - Identifier 2607177 2607181 - Identifier 2607182 2607195 - FunctionDeclaration 2607204 2611066 - Identifier 2607220 2607279 - Parameter 2607280 2607300 - Identifier 2607280 2607288 - TypeReference 2607289 2607300 - Identifier 2607289 2607300 - Parameter 2607301 2607316 - Identifier 2607301 2607310 - TypeReference 2607311 2607316 - Identifier 2607311 2607316 - Parameter 2607317 2607347 - Identifier 2607317 2607322 - QuestionToken 2607322 2607323 - UnionType 2607324 2607347 - TypeReference 2607324 2607334 - Identifier 2607324 2607334 - TypeReference 2607336 2607347 - Identifier 2607336 2607347 - Block 2607348 2611066 - IfStatement 2607350 2607390 - PrefixUnaryExpression 2607364 2607381 - Identifier 2607365 2607381 - ReturnStatement 2607382 2607390 - ExpressionStatement 2607390 2607427 - CallExpression 2607390 2607426 - Identifier 2607390 2607410 - Identifier 2607411 2607419 - Identifier 2607420 2607425 - FunctionDeclaration 2607427 2607923 - Identifier 2607447 2607458 - Parameter 2607459 2607479 - Identifier 2607459 2607467 - TypeReference 2607468 2607479 - Identifier 2607468 2607479 - Parameter 2607480 2607521 - Identifier 2607480 2607485 - UnionType 2607486 2607521 - TypeReference 2607486 2607497 - Identifier 2607486 2607497 - TypeReference 2607499 2607509 - Identifier 2607499 2607509 - UndefinedKeyword 2607511 2607521 - Block 2607522 2607923 - ExpressionStatement 2607524 2607575 - BinaryExpression 2607524 2607574 - Identifier 2607524 2607546 - EqualsToken 2607546 2607548 - CallExpression 2607548 2607574 - Identifier 2607548 2607564 - Identifier 2607565 2607573 - ExpressionStatement 2607575 2607614 - CallExpression 2607575 2607613 - Identifier 2607575 2607597 - Identifier 2607598 2607606 - Identifier 2607607 2607612 - WhileStatement 2607614 2607912 - BinaryExpression 2607637 2607793 - CallExpression 2607637 2607665 - Identifier 2607637 2607655 - Identifier 2607656 2607664 - AmpersandAmpersandToken 2607665 2607668 - ParenthesizedExpression 2607668 2607793 - BinaryExpression 2607670 2607792 - BinaryExpression 2607670 2607724 - PropertyAccessExpression 2607670 2607697 - PropertyAccessExpression 2607670 2607692 - Identifier 2607670 2607678 - Identifier 2607679 2607692 - Identifier 2607693 2607697 - EqualsEqualsEqualsToken 2607697 2607701 - PropertyAccessExpression 2607701 2607724 - Identifier 2607701 2607712 - Identifier 2607713 2607724 - BarBarToken 2607724 2607727 - BinaryExpression 2607727 2607792 - PropertyAccessExpression 2607727 2607755 - PropertyAccessExpression 2607727 2607750 - Identifier 2607727 2607736 - Identifier 2607737 2607750 - Identifier 2607751 2607755 - EqualsEqualsEqualsToken 2607755 2607759 - PropertyAccessExpression 2607759 2607792 - Identifier 2607759 2607770 - Identifier 2607771 2607792 - Block 2607794 2607912 - ExpressionStatement 2607796 2607856 - BinaryExpression 2607796 2607855 - Identifier 2607796 2607822 - EqualsToken 2607822 2607824 - CallExpression 2607824 2607855 - Identifier 2607824 2607840 - PropertyAccessExpression 2607841 2607854 - Identifier 2607841 2607849 - Identifier 2607850 2607854 - ExpressionStatement 2607856 2607897 - CallExpression 2607856 2607896 - Identifier 2607856 2607880 - Identifier 2607881 2607889 - Identifier 2607890 2607895 - FunctionDeclaration 2607923 2611059 - Identifier 2607943 2607950 - Parameter 2607951 2607971 - Identifier 2607951 2607959 - TypeReference 2607960 2607971 - Identifier 2607960 2607971 - Parameter 2607972 2608013 - Identifier 2607972 2607977 - UnionType 2607978 2608013 - TypeReference 2607978 2607989 - Identifier 2607978 2607989 - TypeReference 2607991 2608001 - Identifier 2607991 2608001 - UndefinedKeyword 2608003 2608013 - Block 2608014 2611059 - VariableStatement 2608016 2608140 - VariableDeclarationList 2608016 2608139 - VariableDeclaration 2608035 2608139 - Identifier 2608035 2608044 - ConditionalExpression 2608046 2608139 - CallExpression 2608046 2608094 - Identifier 2608046 2608084 - Identifier 2608085 2608093 - QuestionToken 2608094 2608096 - CallExpression 2608096 2608128 - Identifier 2608096 2608112 - PropertyAccessExpression 2608113 2608127 - Identifier 2608113 2608121 - Identifier 2608122 2608127 - ColonToken 2608128 2608130 - Identifier 2608130 2608139 - IfStatement 2608140 2608242 - CallExpression 2608158 2608199 - Identifier 2608158 2608189 - Identifier 2608190 2608198 - Block 2608200 2608242 - ReturnStatement 2608202 2608227 - IfStatement 2608242 2608395 - CallExpression 2608260 2608307 - Identifier 2608260 2608297 - Identifier 2608298 2608306 - Block 2608308 2608395 - ExpressionStatement 2608310 2608355 - CallExpression 2608310 2608354 - Identifier 2608310 2608338 - Identifier 2608339 2608347 - Identifier 2608348 2608353 - ReturnStatement 2608355 2608380 - VariableStatement 2608395 2608483 - VariableDeclarationList 2608395 2608482 - VariableDeclaration 2608414 2608482 - Identifier 2608414 2608419 - ConditionalExpression 2608421 2608482 - BinaryExpression 2608421 2608443 - Identifier 2608421 2608430 - EqualsEqualsEqualsToken 2608430 2608434 - Identifier 2608434 2608443 - QuestionToken 2608443 2608445 - Identifier 2608445 2608454 - ColonToken 2608454 2608456 - CallExpression 2608456 2608482 - Identifier 2608456 2608472 - Identifier 2608473 2608481 - IfStatement 2608483 2608964 - BinaryExpression 2608501 2608671 - BinaryExpression 2608501 2608575 - BinaryExpression 2608501 2608535 - PropertyAccessExpression 2608501 2608511 - Identifier 2608501 2608505 - Identifier 2608506 2608511 - AmpersandToken 2608511 2608513 - PropertyAccessExpression 2608513 2608535 - Identifier 2608513 2608523 - Identifier 2608524 2608535 - AmpersandAmpersandToken 2608535 2608538 - CallExpression 2608538 2608575 - Identifier 2608538 2608565 - Identifier 2608566 2608574 - AmpersandAmpersandToken 2608575 2608578 - BinaryExpression 2608578 2608671 - PropertyAccessExpression 2608578 2608652 - ParenthesizedExpression 2608578 2608646 - BinaryExpression 2608580 2608645 - PropertyAccessExpression 2608580 2608628 - CallExpression 2608580 2608613 - Identifier 2608580 2608592 - PropertyAccessExpression 2608593 2608612 - Identifier 2608593 2608601 - Identifier 2608602 2608612 - Identifier 2608614 2608628 - QuestionQuestionToken 2608628 2608631 - Identifier 2608631 2608645 - Identifier 2608647 2608652 - AmpersandToken 2608652 2608654 - PropertyAccessExpression 2608654 2608671 - Identifier 2608654 2608666 - Identifier 2608667 2608671 - Block 2608672 2608964 - ExpressionStatement 2608674 2608924 - CallExpression 2608674 2608923 - Identifier 2608674 2608814 - Identifier 2608815 2608823 - PropertyAccessExpression 2608824 2608872 - Identifier 2608824 2608836 - Identifier 2608837 2608872 - ConditionalExpression 2608873 2608922 - PrefixUnaryExpression 2608873 2608903 - PrefixUnaryExpression 2608875 2608903 - PropertyAccessExpression 2608876 2608903 - ParenthesizedExpression 2608876 2608897 - AsExpression 2608877 2608896 - Identifier 2608877 2608881 - TypeReference 2608884 2608896 - Identifier 2608884 2608896 - Identifier 2608898 2608903 - QuestionToken 2608903 2608905 - StringLiteral 2608905 2608912 - ColonToken 2608912 2608914 - StringLiteral 2608914 2608922 - ReturnStatement 2608924 2608949 - VariableStatement 2608964 2609088 - VariableDeclarationList 2608964 2609087 - VariableDeclaration 2608983 2609087 - Identifier 2608983 2609008 - BinaryExpression 2609010 2609087 - CallExpression 2609010 2609047 - Identifier 2609010 2609037 - Identifier 2609038 2609046 - AmpersandAmpersandToken 2609047 2609050 - CallExpression 2609050 2609087 - Identifier 2609050 2609066 - PropertyAccessExpression 2609067 2609086 - Identifier 2609067 2609075 - Identifier 2609076 2609086 - IfStatement 2609088 2609180 - BinaryExpression 2609106 2609171 - PrefixUnaryExpression 2609106 2609143 - CallExpression 2609107 2609143 - Identifier 2609107 2609119 - Identifier 2609120 2609124 - PropertyAccessExpression 2609125 2609142 - Identifier 2609125 2609135 - Identifier 2609136 2609142 - BarBarToken 2609143 2609146 - Identifier 2609146 2609171 - ReturnStatement 2609172 2609180 - VariableStatement 2609180 2609650 - VariableDeclarationList 2609180 2609649 - VariableDeclaration 2609586 2609649 - Identifier 2609586 2609601 - CallExpression 2609603 2609649 - Identifier 2609603 2609623 - Identifier 2609624 2609628 - PropertyAccessExpression 2609629 2609648 - Identifier 2609629 2609643 - Identifier 2609644 2609648 - VariableStatement 2609650 2609714 - VariableDeclarationList 2609650 2609713 - VariableDeclaration 2609669 2609713 - Identifier 2609669 2609679 - PrefixUnaryExpression 2609681 2609713 - PrefixUnaryExpression 2609683 2609713 - CallExpression 2609684 2609713 - Identifier 2609684 2609707 - Identifier 2609708 2609712 - IfStatement 2609714 2609816 - BinaryExpression 2609732 2609773 - BinaryExpression 2609732 2609759 - PropertyAccessExpression 2609732 2609753 - Identifier 2609732 2609746 - Identifier 2609747 2609753 - EqualsEqualsEqualsToken 2609753 2609757 - NumericLiteral 2609757 2609759 - AmpersandAmpersandToken 2609759 2609762 - PrefixUnaryExpression 2609762 2609773 - Identifier 2609764 2609773 - Block 2609774 2609816 - ReturnStatement 2609776 2609801 - VariableStatement 2609816 2609986 - VariableDeclarationList 2609816 2609985 - VariableDeclaration 2609837 2609985 - Identifier 2609837 2609848 - ConditionalExpression 2609850 2609985 - CallExpression 2609850 2609873 - Identifier 2609850 2609863 - Identifier 2609864 2609872 - QuestionToken 2609873 2609875 - Identifier 2609875 2609884 - ColonToken 2609884 2609903 - ConditionalExpression 2609903 2609985 - CallExpression 2609903 2609940 - Identifier 2609903 2609930 - Identifier 2609931 2609939 - QuestionToken 2609940 2609942 - PropertyAccessExpression 2609942 2609956 - Identifier 2609942 2609951 - Identifier 2609952 2609956 - ColonToken 2609956 2609975 - Identifier 2609975 2609985 - VariableStatement 2609986 2610067 - VariableDeclarationList 2609986 2610066 - VariableDeclaration 2610005 2610066 - Identifier 2610005 2610018 - BinaryExpression 2610020 2610066 - Identifier 2610020 2610031 - AmpersandAmpersandToken 2610031 2610034 - CallExpression 2610034 2610066 - Identifier 2610034 2610054 - Identifier 2610055 2610065 - IfStatement 2610067 2610155 - BinaryExpression 2610085 2610112 - PrefixUnaryExpression 2610085 2610098 - Identifier 2610086 2610098 - AmpersandAmpersandToken 2610098 2610101 - PrefixUnaryExpression 2610101 2610112 - Identifier 2610103 2610112 - Block 2610113 2610155 - ReturnStatement 2610115 2610140 - VariableStatement 2610155 2610422 - VariableDeclarationList 2610155 2610421 - VariableDeclaration 2610176 2610421 - Identifier 2610176 2610183 - BinaryExpression 2610185 2610421 - BinaryExpression 2610185 2610307 - BinaryExpression 2610185 2610237 - Identifier 2610185 2610198 - AmpersandAmpersandToken 2610198 2610201 - CallExpression 2610201 2610237 - Identifier 2610201 2610220 - PropertyAccessExpression 2610221 2610236 - Identifier 2610221 2610229 - Identifier 2610230 2610236 - AmpersandAmpersandToken 2610237 2610240 - CallExpression 2610240 2610307 - Identifier 2610240 2610276 - PropertyAccessExpression 2610277 2610292 - Identifier 2610277 2610285 - Identifier 2610286 2610292 - Identifier 2610293 2610306 - BarBarToken 2610307 2610327 - BinaryExpression 2610327 2610421 - BinaryExpression 2610327 2610348 - Identifier 2610327 2610340 - AmpersandAmpersandToken 2610340 2610343 - Identifier 2610343 2610348 - AmpersandAmpersandToken 2610348 2610351 - CallExpression 2610351 2610421 - Identifier 2610351 2610379 - Identifier 2610380 2610388 - Identifier 2610389 2610394 - Identifier 2610395 2610406 - Identifier 2610407 2610420 - IfStatement 2610422 2611048 - PrefixUnaryExpression 2610440 2610447 - Identifier 2610441 2610447 - Block 2610448 2611048 - IfStatement 2610450 2611033 - Identifier 2610472 2610481 - Block 2610482 2610830 - ExpressionStatement 2610484 2610811 - CallExpression 2610484 2610810 - Identifier 2610484 2610531 - Identifier 2610532 2610566 - TrueKeyword 2610567 2610619 - PropertyAccessExpression 2610620 2610727 - Identifier 2610620 2610657 - Identifier 2610658 2610727 - CallExpression 2610728 2610786 - Identifier 2610728 2610780 - Identifier 2610781 2610785 - Block 2610852 2611033 - ExpressionStatement 2610854 2611014 - CallExpression 2610854 2611013 - Identifier 2610854 2610881 - Identifier 2610882 2610890 - PropertyAccessExpression 2610891 2611012 - Identifier 2610891 2610903 - Identifier 2610904 2611012 - FunctionDeclaration 2611066 2613484 - Identifier 2611082 2611110 - Parameter 2611111 2611127 - Identifier 2611111 2611115 - TypeReference 2611116 2611127 - Identifier 2611116 2611127 - Parameter 2611128 2611157 - Identifier 2611128 2611133 - UnionType 2611134 2611157 - TypeReference 2611134 2611144 - Identifier 2611134 2611144 - TypeReference 2611146 2611157 - Identifier 2611146 2611157 - Parameter 2611158 2611175 - Identifier 2611158 2611169 - TypeReference 2611170 2611175 - Identifier 2611170 2611175 - Parameter 2611176 2611197 - Identifier 2611176 2611189 - TypeReference 2611190 2611197 - Identifier 2611190 2611197 - BooleanKeyword 2611199 2611207 - Block 2611207 2613484 - ReturnStatement 2611209 2613477 - PrefixUnaryExpression 2611225 2613476 - PrefixUnaryExpression 2611227 2613476 - CallExpression 2611228 2613476 - Identifier 2611228 2611240 - Identifier 2611241 2611245 - FunctionExpression 2611246 2613475 - Identifier 2611255 2611261 - Parameter 2611262 2611271 - Identifier 2611262 2611271 - UnionType 2611273 2611293 - BooleanKeyword 2611273 2611281 - UndefinedKeyword 2611283 2611293 - Block 2611293 2613475 - IfStatement 2611295 2613412 - CallExpression 2611313 2611336 - Identifier 2611313 2611325 - Identifier 2611326 2611335 - Block 2611337 2613412 - VariableStatement 2611339 2611408 - VariableDeclarationList 2611339 2611407 - VariableDeclaration 2611362 2611407 - Identifier 2611362 2611374 - CallExpression 2611376 2611407 - Identifier 2611376 2611396 - Identifier 2611397 2611406 - IfStatement 2611408 2613397 - BinaryExpression 2611430 2611473 - Identifier 2611430 2611441 - AmpersandAmpersandToken 2611441 2611444 - BinaryExpression 2611444 2611473 - Identifier 2611444 2611456 - EqualsEqualsEqualsToken 2611456 2611460 - Identifier 2611460 2611473 - Block 2611474 2613397 - IfStatement 2611476 2611744 - BinaryExpression 2611593 2611680 - CallExpression 2611593 2611611 - Identifier 2611593 2611605 - Identifier 2611606 2611610 - BarBarToken 2611611 2611614 - BinaryExpression 2611614 2611680 - CallExpression 2611614 2611639 - Identifier 2611614 2611627 - Identifier 2611628 2611638 - AmpersandAmpersandToken 2611639 2611642 - CallExpression 2611642 2611680 - Identifier 2611642 2611661 - PropertyAccessExpression 2611662 2611679 - Identifier 2611662 2611672 - Identifier 2611673 2611679 - Block 2611681 2611744 - ReturnStatement 2611683 2611721 - TrueKeyword 2611715 2611720 - VariableStatement 2611744 2611899 - VariableDeclarationList 2611744 2611898 - VariableDeclaration 2611861 2611898 - Identifier 2611861 2611878 - PropertyAccessExpression 2611880 2611898 - Identifier 2611880 2611891 - Identifier 2611892 2611898 - VariableStatement 2611899 2611960 - VariableDeclarationList 2611899 2611959 - VariableDeclaration 2611924 2611959 - Identifier 2611924 2611940 - PropertyAccessExpression 2611942 2611959 - Identifier 2611942 2611952 - Identifier 2611953 2611959 - WhileStatement 2611960 2613378 - BinaryExpression 2611989 2612024 - Identifier 2611989 2612005 - AmpersandAmpersandToken 2612005 2612008 - Identifier 2612008 2612024 - Block 2612025 2613378 - IfStatement 2612027 2613355 - BinaryExpression 2612057 2612282 - BinaryExpression 2612057 2612150 - CallExpression 2612057 2612117 - Identifier 2612057 2612099 - Identifier 2612100 2612116 - AmpersandAmpersandToken 2612117 2612120 - CallExpression 2612120 2612150 - Identifier 2612120 2612133 - Identifier 2612134 2612149 - BarBarToken 2612150 2612153 - BinaryExpression 2612153 2612282 - BinaryExpression 2612153 2612231 - PropertyAccessExpression 2612153 2612204 - Identifier 2612153 2612199 - Identifier 2612200 2612204 - EqualsEqualsEqualsToken 2612204 2612208 - PropertyAccessExpression 2612208 2612231 - Identifier 2612208 2612219 - Identifier 2612220 2612231 - AmpersandAmpersandToken 2612231 2612234 - BinaryExpression 2612234 2612282 - PropertyAccessExpression 2612234 2612255 - Identifier 2612234 2612250 - Identifier 2612251 2612255 - EqualsEqualsEqualsToken 2612255 2612259 - PropertyAccessExpression 2612259 2612282 - Identifier 2612259 2612270 - Identifier 2612271 2612282 - Block 2612309 2612454 - ReturnStatement 2612311 2612427 - BinaryExpression 2612347 2612426 - CallExpression 2612347 2612385 - Identifier 2612347 2612367 - Identifier 2612368 2612384 - EqualsEqualsEqualsToken 2612385 2612389 - CallExpression 2612389 2612426 - Identifier 2612389 2612409 - Identifier 2612410 2612425 - IfStatement 2612484 2613355 - BinaryExpression 2612489 2612580 - CallExpression 2612489 2612533 - Identifier 2612489 2612515 - Identifier 2612516 2612532 - AmpersandAmpersandToken 2612533 2612536 - CallExpression 2612536 2612580 - Identifier 2612536 2612563 - Identifier 2612564 2612579 - Block 2612581 2612965 - IfStatement 2612583 2612786 - BinaryExpression 2612617 2612705 - CallExpression 2612617 2612659 - Identifier 2612617 2612636 - PropertyAccessExpression 2612637 2612658 - Identifier 2612637 2612653 - Identifier 2612654 2612658 - ExclamationEqualsEqualsToken 2612659 2612663 - CallExpression 2612663 2612705 - Identifier 2612663 2612683 - PropertyAccessExpression 2612684 2612704 - Identifier 2612684 2612699 - Identifier 2612700 2612704 - Block 2612706 2612786 - ReturnStatement 2612708 2612755 - FalseKeyword 2612748 2612754 - ExpressionStatement 2612786 2612861 - BinaryExpression 2612786 2612860 - Identifier 2612786 2612831 - EqualsToken 2612831 2612833 - PropertyAccessExpression 2612833 2612860 - Identifier 2612833 2612849 - Identifier 2612850 2612860 - ExpressionStatement 2612861 2612938 - BinaryExpression 2612861 2612937 - Identifier 2612861 2612907 - EqualsToken 2612907 2612909 - PropertyAccessExpression 2612909 2612937 - Identifier 2612909 2612926 - Identifier 2612927 2612937 - IfStatement 2612995 2613355 - BinaryExpression 2613000 2613071 - CallExpression 2613000 2613034 - Identifier 2613000 2613016 - Identifier 2613017 2613033 - AmpersandAmpersandToken 2613034 2613037 - CallExpression 2613037 2613071 - Identifier 2613037 2613054 - Identifier 2613055 2613070 - Block 2613072 2613253 - ExpressionStatement 2613074 2613149 - BinaryExpression 2613074 2613148 - Identifier 2613074 2613119 - EqualsToken 2613119 2613121 - PropertyAccessExpression 2613121 2613148 - Identifier 2613121 2613137 - Identifier 2613138 2613148 - ExpressionStatement 2613149 2613226 - BinaryExpression 2613149 2613225 - Identifier 2613149 2613195 - EqualsToken 2613195 2613197 - PropertyAccessExpression 2613197 2613225 - Identifier 2613197 2613214 - Identifier 2613215 2613225 - Block 2613283 2613355 - ReturnStatement 2613285 2613328 - FalseKeyword 2613321 2613327 - ReturnStatement 2613412 2613464 - CallExpression 2613432 2613463 - Identifier 2613432 2613445 - Identifier 2613446 2613455 - Identifier 2613456 2613462 - FunctionDeclaration 2613484 2614254 - Identifier 2613500 2613536 - Parameter 2613537 2613547 - Identifier 2613537 2613541 - TypeReference 2613542 2613547 - Identifier 2613542 2613547 - Parameter 2613548 2613569 - Identifier 2613548 2613561 - TypeReference 2613562 2613569 - Identifier 2613562 2613569 - BooleanKeyword 2613571 2613579 - Block 2613579 2614254 - WhileStatement 2613581 2614224 - BinaryExpression 2613598 2613688 - CallExpression 2613598 2613622 - Identifier 2613598 2613616 - Identifier 2613617 2613621 - AmpersandAmpersandToken 2613622 2613625 - BinaryExpression 2613625 2613688 - PropertyAccessExpression 2613625 2613649 - PropertyAccessExpression 2613625 2613644 - Identifier 2613625 2613630 - Identifier 2613631 2613644 - Identifier 2613645 2613649 - EqualsEqualsEqualsToken 2613649 2613653 - PropertyAccessExpression 2613653 2613688 - Identifier 2613653 2613664 - Identifier 2613665 2613688 - Block 2613689 2614224 - VariableStatement 2613691 2614108 - VariableDeclarationList 2613691 2614107 - VariableDeclaration 2613710 2614107 - Identifier 2613710 2613717 - CallExpression 2613719 2614107 - Identifier 2613719 2613732 - PropertyAccessExpression 2613733 2613743 - Identifier 2613733 2613737 - Identifier 2613738 2613743 - FunctionExpression 2613744 2614106 - Identifier 2613753 2613759 - Parameter 2613760 2613765 - Identifier 2613760 2613765 - UnionType 2613767 2613787 - BooleanKeyword 2613767 2613775 - UndefinedKeyword 2613777 2613787 - Block 2613787 2614106 - IfStatement 2613789 2614039 - CallExpression 2613811 2613830 - Identifier 2613811 2613823 - Identifier 2613824 2613829 - Block 2613831 2614039 - VariableStatement 2613833 2613897 - VariableDeclarationList 2613833 2613896 - VariableDeclaration 2613860 2613896 - Identifier 2613860 2613867 - CallExpression 2613869 2613896 - Identifier 2613869 2613889 - Identifier 2613890 2613895 - IfStatement 2613897 2614020 - BinaryExpression 2613923 2613956 - Identifier 2613923 2613929 - AmpersandAmpersandToken 2613929 2613932 - BinaryExpression 2613932 2613956 - Identifier 2613932 2613939 - EqualsEqualsEqualsToken 2613939 2613943 - Identifier 2613943 2613956 - Block 2613957 2614020 - ReturnStatement 2613959 2613997 - TrueKeyword 2613991 2613996 - ReturnStatement 2614039 2614091 - CallExpression 2614063 2614090 - Identifier 2614063 2614076 - Identifier 2614077 2614082 - Identifier 2614083 2614089 - IfStatement 2614108 2614180 - Identifier 2614126 2614132 - Block 2614133 2614180 - ReturnStatement 2614135 2614165 - TrueKeyword 2614159 2614164 - ExpressionStatement 2614180 2614213 - BinaryExpression 2614180 2614212 - Identifier 2614180 2614198 - EqualsToken 2614198 2614200 - PropertyAccessExpression 2614200 2614212 - Identifier 2614200 2614205 - Identifier 2614206 2614212 - ReturnStatement 2614224 2614247 - FalseKeyword 2614240 2614246 - FunctionDeclaration 2614254 2614498 - Identifier 2614270 2614287 - Parameter 2614288 2614305 - Identifier 2614288 2614292 - TypeReference 2614293 2614305 - Identifier 2614293 2614305 - Block 2614306 2614498 - ExpressionStatement 2614308 2614391 - CallExpression 2614308 2614390 - Identifier 2614308 2614384 - Identifier 2614385 2614389 - ExpressionStatement 2614391 2614438 - CallExpression 2614391 2614437 - Identifier 2614391 2614421 - PropertyAccessExpression 2614422 2614436 - Identifier 2614422 2614426 - Identifier 2614427 2614436 - ExpressionStatement 2614438 2614491 - CallExpression 2614438 2614490 - Identifier 2614438 2614473 - PropertyAccessExpression 2614474 2614489 - Identifier 2614474 2614478 - Identifier 2614479 2614489 - FunctionDeclaration 2614498 2614748 - Identifier 2614514 2614534 - Parameter 2614535 2614555 - Identifier 2614535 2614539 - TypeReference 2614540 2614555 - Identifier 2614540 2614555 - Block 2614556 2614748 - ExpressionStatement 2614558 2614641 - CallExpression 2614558 2614640 - Identifier 2614558 2614634 - Identifier 2614635 2614639 - ExpressionStatement 2614641 2614696 - CallExpression 2614641 2614695 - Identifier 2614641 2614678 - PropertyAccessExpression 2614679 2614694 - Identifier 2614679 2614683 - Identifier 2614684 2614694 - ExpressionStatement 2614696 2614741 - CallExpression 2614696 2614740 - Identifier 2614696 2614724 - PropertyAccessExpression 2614725 2614739 - Identifier 2614725 2614729 - Identifier 2614730 2614739 - FunctionDeclaration 2614748 2615459 - Identifier 2614764 2614786 - Parameter 2614787 2614797 - Identifier 2614787 2614791 - TypeReference 2614792 2614797 - Identifier 2614792 2614797 - Parameter 2614798 2614809 - Identifier 2614798 2614803 - TypeReference 2614804 2614809 - Identifier 2614804 2614809 - Block 2614810 2615459 - IfStatement 2614812 2615428 - BinaryExpression 2614826 2614853 - PropertyAccessExpression 2614826 2614836 - Identifier 2614826 2614830 - Identifier 2614831 2614836 - AmpersandToken 2614836 2614838 - PropertyAccessExpression 2614838 2614853 - Identifier 2614838 2614848 - Identifier 2614849 2614853 - Block 2614854 2614965 - ExpressionStatement 2614856 2614954 - CallExpression 2614856 2614953 - Identifier 2614856 2614875 - Identifier 2614876 2614880 - PropertyAccessExpression 2614881 2614952 - Identifier 2614881 2614893 - Identifier 2614894 2614952 - Block 2614979 2615428 - VariableStatement 2614981 2615047 - VariableDeclarationList 2614981 2615046 - VariableDeclaration 2615000 2615046 - Identifier 2615000 2615010 - CallExpression 2615012 2615046 - Identifier 2615012 2615040 - Identifier 2615041 2615045 - IfStatement 2615047 2615417 - BinaryExpression 2615065 2615107 - Identifier 2615065 2615074 - ExclamationEqualsEqualsToken 2615074 2615078 - PropertyAccessExpression 2615078 2615107 - Identifier 2615078 2615097 - Identifier 2615098 2615107 - Block 2615108 2615417 - ExpressionStatement 2615110 2615402 - CallExpression 2615110 2615401 - Identifier 2615110 2615133 - Identifier 2615134 2615160 - ConditionalExpression 2615161 2615381 - BinaryExpression 2615161 2615222 - Identifier 2615161 2615192 - EqualsEqualsEqualsToken 2615192 2615196 - PropertyAccessExpression 2615196 2615222 - Identifier 2615196 2615215 - Identifier 2615216 2615222 - QuestionToken 2615222 2615224 - PropertyAccessExpression 2615224 2615302 - Identifier 2615224 2615261 - Identifier 2615262 2615302 - ColonToken 2615302 2615304 - PropertyAccessExpression 2615304 2615381 - Identifier 2615304 2615341 - Identifier 2615342 2615381 - ReturnStatement 2615428 2615452 - Identifier 2615446 2615451 - FunctionDeclaration 2615459 2617345 - Identifier 2615475 2615503 - Parameter 2615504 2615514 - Identifier 2615504 2615508 - TypeReference 2615509 2615514 - Identifier 2615509 2615514 - TypeReference 2615516 2615535 - Identifier 2615516 2615535 - Block 2615535 2617345 - ExpressionStatement 2615537 2615581 - BinaryExpression 2615537 2615580 - Identifier 2615537 2615551 - EqualsToken 2615551 2615553 - CallExpression 2615553 2615580 - Identifier 2615553 2615574 - Identifier 2615575 2615579 - SwitchStatement 2615581 2617292 - PropertyAccessExpression 2615599 2615608 - Identifier 2615599 2615603 - Identifier 2615604 2615608 - CaseBlock 2615609 2617292 - CaseClause 2615611 2615938 - PropertyAccessExpression 2615629 2615655 - Identifier 2615629 2615640 - Identifier 2615641 2615655 - IfStatement 2615656 2615887 - BinaryExpression 2615729 2615807 - BinaryExpression 2615729 2615766 - PropertyAccessExpression 2615729 2615758 - ParenthesizedExpression 2615729 2615753 - AsExpression 2615730 2615752 - Identifier 2615730 2615734 - TypeReference 2615737 2615752 - Identifier 2615737 2615752 - Identifier 2615754 2615758 - EqualsEqualsEqualsToken 2615758 2615762 - StringLiteral 2615762 2615766 - BarBarToken 2615766 2615769 - BinaryExpression 2615769 2615807 - PropertyAccessExpression 2615769 2615799 - ParenthesizedExpression 2615769 2615794 - AsExpression 2615771 2615793 - Identifier 2615771 2615775 - TypeReference 2615778 2615793 - Identifier 2615778 2615793 - Identifier 2615795 2615799 - EqualsEqualsEqualsToken 2615799 2615803 - StringLiteral 2615803 2615807 - Block 2615808 2615887 - ReturnStatement 2615810 2615868 - PropertyAccessExpression 2615838 2615867 - Identifier 2615838 2615857 - Identifier 2615858 2615867 - ReturnStatement 2615887 2615938 - PropertyAccessExpression 2615911 2615937 - Identifier 2615911 2615930 - Identifier 2615931 2615937 - CaseClause 2615938 2615991 - PropertyAccessExpression 2615956 2615990 - Identifier 2615956 2615967 - Identifier 2615968 2615990 - CaseClause 2615991 2616035 - PropertyAccessExpression 2616009 2616034 - Identifier 2616009 2616020 - Identifier 2616021 2616034 - CaseClause 2616035 2616079 - PropertyAccessExpression 2616053 2616078 - Identifier 2616053 2616064 - Identifier 2616065 2616078 - CaseClause 2616079 2616125 - PropertyAccessExpression 2616097 2616124 - Identifier 2616097 2616108 - Identifier 2616109 2616124 - CaseClause 2616125 2616174 - PropertyAccessExpression 2616143 2616173 - Identifier 2616143 2616154 - Identifier 2616155 2616173 - CaseClause 2616174 2616215 - PropertyAccessExpression 2616192 2616214 - Identifier 2616192 2616203 - Identifier 2616204 2616214 - CaseClause 2616215 2616267 - PropertyAccessExpression 2616233 2616266 - Identifier 2616233 2616244 - Identifier 2616245 2616266 - CaseClause 2616267 2616321 - PropertyAccessExpression 2616285 2616320 - Identifier 2616285 2616296 - Identifier 2616297 2616320 - CaseClause 2616321 2616427 - PropertyAccessExpression 2616339 2616375 - Identifier 2616339 2616350 - Identifier 2616351 2616375 - ReturnStatement 2616376 2616427 - PropertyAccessExpression 2616400 2616426 - Identifier 2616400 2616419 - Identifier 2616420 2616426 - CaseClause 2616427 2616472 - PropertyAccessExpression 2616445 2616471 - Identifier 2616445 2616456 - Identifier 2616457 2616471 - CaseClause 2616472 2616564 - PropertyAccessExpression 2616490 2616513 - Identifier 2616490 2616501 - Identifier 2616502 2616513 - ReturnStatement 2616514 2616564 - PropertyAccessExpression 2616538 2616563 - Identifier 2616538 2616557 - Identifier 2616558 2616563 - CaseClause 2616564 2616624 - PropertyAccessExpression 2616582 2616623 - Identifier 2616582 2616593 - Identifier 2616594 2616623 - CaseClause 2616624 2616811 - PropertyAccessExpression 2616642 2616667 - Identifier 2616642 2616653 - Identifier 2616654 2616667 - ReturnStatement 2616668 2616811 - ConditionalExpression 2616692 2616810 - PrefixUnaryExpression 2616692 2616755 - PrefixUnaryExpression 2616694 2616755 - PropertyAccessExpression 2616695 2616755 - ParenthesizedExpression 2616695 2616750 - AsExpression 2616696 2616749 - Identifier 2616696 2616700 - UnionType 2616703 2616749 - TypeReference 2616703 2616717 - Identifier 2616703 2616717 - TypeReference 2616719 2616749 - Identifier 2616719 2616749 - Identifier 2616751 2616755 - QuestionToken 2616755 2616757 - PropertyAccessExpression 2616757 2616783 - Identifier 2616757 2616776 - Identifier 2616777 2616783 - ColonToken 2616783 2616785 - PropertyAccessExpression 2616785 2616810 - Identifier 2616785 2616804 - Identifier 2616805 2616810 - CaseClause 2616811 2617031 - PropertyAccessExpression 2616829 2616862 - Identifier 2616829 2616840 - Identifier 2616841 2616862 - ReturnStatement 2616863 2617031 - BinaryExpression 2616887 2617030 - CallExpression 2616887 2616957 - Identifier 2616887 2616915 - PropertyAccessExpression 2616916 2616956 - ParenthesizedExpression 2616916 2616947 - AsExpression 2616917 2616946 - Identifier 2616917 2616921 - TypeReference 2616924 2616946 - Identifier 2616924 2616946 - Identifier 2616948 2616956 - BarToken 2616957 2616959 - CallExpression 2616959 2617030 - Identifier 2616959 2616987 - PropertyAccessExpression 2616988 2617029 - ParenthesizedExpression 2616988 2617019 - AsExpression 2616989 2617018 - Identifier 2616989 2616993 - TypeReference 2616996 2617018 - Identifier 2616996 2617018 - Identifier 2617020 2617029 - CaseClause 2617031 2617281 - PropertyAccessExpression 2617049 2617071 - Identifier 2617049 2617060 - Identifier 2617061 2617071 - IfStatement 2617072 2617227 - BinaryExpression 2617094 2617151 - CallExpression 2617094 2617131 - Identifier 2617094 2617111 - AsExpression 2617112 2617130 - Identifier 2617112 2617116 - TypeReference 2617119 2617130 - Identifier 2617119 2617130 - EqualsEqualsEqualsToken 2617131 2617135 - Identifier 2617135 2617151 - Block 2617152 2617227 - ReturnStatement 2617154 2617208 - PropertyAccessExpression 2617182 2617207 - Identifier 2617182 2617201 - Identifier 2617202 2617207 - ReturnStatement 2617227 2617281 - PropertyAccessExpression 2617251 2617280 - Identifier 2617251 2617270 - Identifier 2617271 2617280 - ReturnStatement 2617292 2617338 - PropertyAccessExpression 2617308 2617337 - Identifier 2617308 2617327 - Identifier 2617328 2617337 - FunctionDeclaration 2617345 2617516 - Identifier 2617361 2617387 - Parameter 2617388 2617404 - Identifier 2617388 2617392 - TypeReference 2617393 2617404 - Identifier 2617393 2617404 - Parameter 2617405 2617427 - Identifier 2617405 2617415 - QuestionToken 2617415 2617416 - TypeReference 2617417 2617427 - Identifier 2617417 2617427 - Block 2617428 2617516 - ReturnStatement 2617430 2617509 - CallExpression 2617446 2617508 - Identifier 2617446 2617468 - CallExpression 2617469 2617501 - Identifier 2617469 2617484 - Identifier 2617485 2617489 - Identifier 2617490 2617500 - Identifier 2617502 2617507 - FunctionDeclaration 2617516 2618494 - Identifier 2617532 2617550 - Parameter 2617551 2617569 - Identifier 2617551 2617555 - TypeReference 2617556 2617569 - Identifier 2617556 2617569 - Block 2617570 2618494 - IfStatement 2617572 2617888 - PrefixUnaryExpression 2617615 2617659 - CallExpression 2617616 2617659 - Identifier 2617616 2617653 - Identifier 2617654 2617658 - Block 2617660 2617888 - IfStatement 2617662 2617877 - BinaryExpression 2617680 2617760 - PropertyAccessExpression 2617680 2617696 - Identifier 2617680 2617684 - Identifier 2617685 2617696 - AmpersandAmpersandToken 2617696 2617699 - BinaryExpression 2617699 2617760 - PropertyAccessExpression 2617699 2617721 - PropertyAccessExpression 2617699 2617716 - Identifier 2617699 2617704 - Identifier 2617705 2617716 - Identifier 2617717 2617721 - EqualsEqualsEqualsToken 2617721 2617725 - PropertyAccessExpression 2617725 2617760 - Identifier 2617725 2617736 - Identifier 2617737 2617760 - Block 2617761 2617877 - ExpressionStatement 2617763 2617862 - CallExpression 2617763 2617861 - Identifier 2617763 2617816 - AsExpression 2617817 2617860 - PropertyAccessExpression 2617817 2617833 - Identifier 2617817 2617821 - Identifier 2617822 2617833 - TypeReference 2617836 2617860 - Identifier 2617836 2617860 - IfStatement 2617888 2618209 - PropertyAccessExpression 2617904 2617920 - Identifier 2617904 2617908 - Identifier 2617909 2617920 - Block 2617921 2618209 - IfStatement 2617923 2618198 - BinaryExpression 2617941 2618001 - PropertyAccessExpression 2617941 2617962 - PropertyAccessExpression 2617941 2617957 - Identifier 2617941 2617945 - Identifier 2617946 2617957 - Identifier 2617958 2617962 - EqualsEqualsEqualsToken 2617962 2617966 - PropertyAccessExpression 2617966 2618001 - Identifier 2617966 2617977 - Identifier 2617978 2618001 - Block 2618002 2618111 - ExpressionStatement 2618004 2618096 - CallExpression 2618004 2618095 - Identifier 2618004 2618050 - AsExpression 2618051 2618094 - PropertyAccessExpression 2618051 2618067 - Identifier 2618051 2618055 - Identifier 2618056 2618067 - TypeReference 2618070 2618094 - Identifier 2618070 2618094 - Block 2618129 2618198 - ExpressionStatement 2618131 2618183 - CallExpression 2618131 2618182 - Identifier 2618131 2618164 - PropertyAccessExpression 2618165 2618181 - Identifier 2618165 2618169 - Identifier 2618170 2618181 - IfStatement 2618209 2618283 - PropertyAccessExpression 2618225 2618239 - Identifier 2618225 2618229 - Identifier 2618230 2618239 - ExpressionStatement 2618240 2618283 - CallExpression 2618240 2618282 - Identifier 2618240 2618266 - PropertyAccessExpression 2618267 2618281 - Identifier 2618267 2618271 - Identifier 2618272 2618281 - IfStatement 2618283 2618349 - PropertyAccessExpression 2618297 2618313 - Identifier 2618297 2618301 - Identifier 2618302 2618313 - ExpressionStatement 2618314 2618349 - CallExpression 2618314 2618348 - Identifier 2618314 2618330 - PropertyAccessExpression 2618331 2618347 - Identifier 2618331 2618335 - Identifier 2618336 2618347 - ExpressionStatement 2618349 2618394 - CallExpression 2618349 2618393 - Identifier 2618349 2618377 - PropertyAccessExpression 2618378 2618392 - Identifier 2618378 2618382 - Identifier 2618383 2618392 - IfStatement 2618394 2618487 - PropertyAccessExpression 2618408 2618419 - Identifier 2618408 2618412 - Identifier 2618413 2618419 - Block 2618420 2618487 - ExpressionStatement 2618422 2618476 - CallExpression 2618422 2618475 - Identifier 2618422 2618469 - Identifier 2618470 2618474 - FunctionDeclaration 2618494 2622167 - Identifier 2618510 2618530 - Parameter 2618531 2618551 - Identifier 2618531 2618535 - TypeReference 2618536 2618551 - Identifier 2618536 2618551 - VoidKeyword 2618553 2618558 - Block 2618558 2622167 - ExpressionStatement 2618560 2618610 - CallExpression 2618560 2618609 - Identifier 2618560 2618603 - Identifier 2618604 2618608 - VariableStatement 2618610 2618686 - VariableDeclarationList 2618610 2618685 - VariableDeclaration 2618627 2618685 - Identifier 2618627 2618637 - CallExpression 2618639 2618685 - Identifier 2618639 2618679 - Identifier 2618680 2618684 - IfStatement 2618686 2619783 - PropertyAccessExpression 2618700 2618718 - Identifier 2618700 2618704 - Identifier 2618705 2618718 - Block 2618719 2619476 - IfStatement 2618721 2619465 - BinaryExpression 2618739 2618792 - Identifier 2618739 2618748 - AmpersandAmpersandToken 2618748 2618751 - CallExpression 2618751 2618792 - Identifier 2618751 2618781 - Identifier 2618782 2618791 - Block 2618793 2618939 - ExpressionStatement 2618795 2618924 - CallExpression 2618795 2618923 - Identifier 2618795 2618831 - PropertyAccessExpression 2618832 2618850 - Identifier 2618832 2618836 - Identifier 2618837 2618850 - PropertyAccessExpression 2618851 2618922 - Identifier 2618851 2618863 - Identifier 2618864 2618922 - Block 2618957 2619465 - VariableStatement 2618959 2619027 - VariableDeclarationList 2618959 2619026 - VariableDeclaration 2618982 2619026 - Identifier 2618982 2618996 - CallExpression 2618998 2619026 - Identifier 2618998 2619015 - Identifier 2619016 2619025 - IfStatement 2619027 2619450 - BinaryExpression 2619049 2619197 - BinaryExpression 2619049 2619136 - ParenthesizedExpression 2619049 2619112 - BinaryExpression 2619050 2619111 - Identifier 2619050 2619063 - AmpersandToken 2619063 2619065 - ParenthesizedExpression 2619065 2619111 - BinaryExpression 2619067 2619110 - PropertyAccessExpression 2619067 2619088 - Identifier 2619067 2619080 - Identifier 2619081 2619088 - BarToken 2619088 2619090 - PropertyAccessExpression 2619090 2619110 - Identifier 2619090 2619104 - Identifier 2619105 2619110 - EqualsEqualsEqualsToken 2619112 2619116 - PropertyAccessExpression 2619116 2619136 - Identifier 2619116 2619130 - Identifier 2619131 2619136 - AmpersandAmpersandToken 2619136 2619139 - BinaryExpression 2619139 2619197 - Identifier 2619139 2619155 - LessThanToken 2619155 2619157 - PropertyAccessExpression 2619157 2619197 - Identifier 2619157 2619186 - Identifier 2619187 2619197 - Block 2619198 2619450 - ExpressionStatement 2619200 2619431 - CallExpression 2619200 2619430 - Identifier 2619200 2619384 - Identifier 2619385 2619389 - PropertyAccessExpression 2619390 2619429 - Identifier 2619390 2619410 - Identifier 2619411 2619429 - IfStatement 2619490 2619783 - BinaryExpression 2619495 2619585 - PropertyAccessExpression 2619495 2619529 - Identifier 2619495 2619510 - Identifier 2619511 2619529 - AmpersandAmpersandToken 2619529 2619532 - BinaryExpression 2619532 2619585 - Identifier 2619532 2619548 - LessThanToken 2619548 2619550 - PropertyAccessExpression 2619550 2619585 - Identifier 2619550 2619579 - Identifier 2619580 2619585 - Block 2619586 2619783 - ExpressionStatement 2619588 2619772 - CallExpression 2619588 2619771 - Identifier 2619588 2619730 - Identifier 2619731 2619735 - PropertyAccessExpression 2619736 2619770 - Identifier 2619736 2619756 - Identifier 2619757 2619770 - IfStatement 2619783 2622020 - BinaryExpression 2620153 2620213 - PropertyAccessExpression 2620153 2620174 - PropertyAccessExpression 2620153 2620169 - Identifier 2620153 2620157 - Identifier 2620158 2620169 - Identifier 2620170 2620174 - EqualsEqualsEqualsToken 2620174 2620178 - PropertyAccessExpression 2620178 2620213 - Identifier 2620178 2620189 - Identifier 2620190 2620213 - Block 2620214 2620315 - ExpressionStatement 2620216 2620304 - CallExpression 2620216 2620303 - Identifier 2620216 2620258 - AsExpression 2620259 2620302 - PropertyAccessExpression 2620259 2620275 - Identifier 2620259 2620263 - Identifier 2620264 2620275 - TypeReference 2620278 2620302 - Identifier 2620278 2620302 - Block 2620329 2622020 - VariableStatement 2620331 2620378 - VariableDeclarationList 2620331 2620377 - VariableDeclaration 2620350 2620377 - Identifier 2620350 2620358 - PropertyAccessExpression 2620360 2620377 - Identifier 2620360 2620365 - Identifier 2620366 2620377 - VariableStatement 2620378 2620445 - VariableDeclarationList 2620378 2620444 - VariableDeclaration 2620397 2620444 - Identifier 2620397 2620410 - CallExpression 2620412 2620444 - Identifier 2620412 2620438 - Identifier 2620439 2620443 - IfStatement 2620445 2622009 - BinaryExpression 2620538 2620643 - BinaryExpression 2620538 2620588 - PropertyAccessExpression 2620538 2620550 - Identifier 2620538 2620545 - Identifier 2620546 2620550 - EqualsEqualsEqualsToken 2620550 2620554 - PropertyAccessExpression 2620554 2620588 - Identifier 2620554 2620565 - Identifier 2620566 2620588 - BarBarToken 2620588 2620591 - BinaryExpression 2620591 2620643 - PropertyAccessExpression 2620591 2620604 - Identifier 2620591 2620599 - Identifier 2620600 2620604 - EqualsEqualsEqualsToken 2620604 2620608 - PropertyAccessExpression 2620608 2620643 - Identifier 2620608 2620619 - Identifier 2620620 2620643 - Block 2620644 2621068 - ExpressionStatement 2620646 2621053 - CallExpression 2620646 2621052 - Identifier 2620646 2621016 - Identifier 2621017 2621024 - BinaryExpression 2621025 2621051 - Identifier 2621025 2621038 - BarBarToken 2621038 2621041 - Identifier 2621041 2621051 - Block 2621086 2622009 - VariableStatement 2621088 2621148 - VariableDeclarationList 2621088 2621147 - VariableDeclaration 2621111 2621147 - Identifier 2621111 2621120 - CallExpression 2621122 2621147 - Identifier 2621122 2621138 - Identifier 2621139 2621146 - ExpressionStatement 2621148 2621470 - CallExpression 2621148 2621469 - Identifier 2621148 2621190 - Identifier 2621191 2621220 - PropertyAccessExpression 2621221 2621335 - Identifier 2621221 2621254 - Identifier 2621255 2621335 - PropertyAccessExpression 2621336 2621449 - Identifier 2621336 2621369 - Identifier 2621370 2621449 - IfStatement 2621470 2621994 - Identifier 2621844 2621856 - Block 2621857 2621994 - ExpressionStatement 2621859 2621975 - CallExpression 2621859 2621974 - Identifier 2621859 2621924 - Identifier 2621925 2621937 - Identifier 2621938 2621947 - Identifier 2621948 2621956 - PropertyAccessExpression 2621957 2621973 - Identifier 2621957 2621962 - Identifier 2621963 2621973 - ExpressionStatement 2622020 2622067 - CallExpression 2622020 2622066 - Identifier 2622020 2622050 - PropertyAccessExpression 2622051 2622065 - Identifier 2622051 2622055 - Identifier 2622056 2622065 - IfStatement 2622067 2622160 - PropertyAccessExpression 2622081 2622092 - Identifier 2622081 2622085 - Identifier 2622086 2622092 - Block 2622093 2622160 - ExpressionStatement 2622095 2622149 - CallExpression 2622095 2622148 - Identifier 2622095 2622142 - Identifier 2622143 2622147 - FunctionDeclaration 2622167 2625291 - Identifier 2622183 2622203 - Parameter 2622204 2622224 - Identifier 2622204 2622208 - TypeReference 2622209 2622224 - Identifier 2622209 2622224 - Block 2622225 2625291 - ExpressionStatement 2622227 2622306 - CallExpression 2622227 2622305 - Identifier 2622227 2622299 - Identifier 2622300 2622304 - VariableStatement 2622306 2622397 - VariableDeclarationList 2622306 2622396 - VariableDeclaration 2622323 2622396 - Identifier 2622323 2622333 - CallExpression 2622335 2622396 - Identifier 2622335 2622362 - CallExpression 2622363 2622395 - Identifier 2622363 2622378 - PropertyAccessExpression 2622379 2622394 - Identifier 2622379 2622383 - Identifier 2622384 2622394 - IfStatement 2622397 2624600 - BinaryExpression 2622774 2622834 - PropertyAccessExpression 2622774 2622795 - PropertyAccessExpression 2622774 2622790 - Identifier 2622774 2622778 - Identifier 2622779 2622790 - Identifier 2622791 2622795 - EqualsEqualsEqualsToken 2622795 2622799 - PropertyAccessExpression 2622799 2622834 - Identifier 2622799 2622810 - Identifier 2622811 2622834 - Block 2622835 2623235 - VariableStatement 2622837 2622930 - VariableDeclarationList 2622837 2622929 - VariableDeclaration 2622856 2622929 - Identifier 2622856 2622865 - ElementAccessExpression 2622867 2622929 - PropertyAccessExpression 2622867 2622926 - ParenthesizedExpression 2622867 2622913 - AsExpression 2622869 2622912 - PropertyAccessExpression 2622869 2622885 - Identifier 2622869 2622873 - Identifier 2622874 2622885 - TypeReference 2622888 2622912 - Identifier 2622888 2622912 - Identifier 2622914 2622926 - NumericLiteral 2622927 2622928 - IfStatement 2622930 2623136 - BinaryExpression 2622948 2622991 - Identifier 2622948 2622956 - AmpersandAmpersandToken 2622956 2622959 - CallExpression 2622959 2622991 - Identifier 2622959 2622976 - PropertyAccessExpression 2622977 2622990 - Identifier 2622977 2622985 - Identifier 2622986 2622990 - Block 2622992 2623136 - ExpressionStatement 2622994 2623121 - CallExpression 2622994 2623120 - Identifier 2622994 2623017 - PropertyAccessExpression 2623018 2623031 - Identifier 2623018 2623026 - Identifier 2623027 2623031 - PropertyAccessExpression 2623032 2623119 - Identifier 2623032 2623044 - Identifier 2623045 2623119 - ExpressionStatement 2623136 2623224 - CallExpression 2623136 2623223 - Identifier 2623136 2623178 - AsExpression 2623179 2623222 - PropertyAccessExpression 2623179 2623195 - Identifier 2623179 2623183 - Identifier 2623184 2623195 - TypeReference 2623198 2623222 - Identifier 2623198 2623222 - Block 2623249 2624600 - VariableStatement 2623251 2623610 - VariableDeclarationList 2623251 2623609 - VariableDeclaration 2623582 2623609 - Identifier 2623582 2623590 - PropertyAccessExpression 2623592 2623609 - Identifier 2623592 2623597 - Identifier 2623598 2623609 - VariableStatement 2623610 2623666 - VariableDeclarationList 2623610 2623665 - VariableDeclaration 2623629 2623665 - Identifier 2623629 2623638 - CallExpression 2623640 2623665 - Identifier 2623640 2623656 - Identifier 2623657 2623664 - IfStatement 2623666 2624589 - BinaryExpression 2623684 2623789 - BinaryExpression 2623684 2623734 - PropertyAccessExpression 2623684 2623696 - Identifier 2623684 2623691 - Identifier 2623692 2623696 - EqualsEqualsEqualsToken 2623696 2623700 - PropertyAccessExpression 2623700 2623734 - Identifier 2623700 2623711 - Identifier 2623712 2623734 - BarBarToken 2623734 2623737 - BinaryExpression 2623737 2623789 - PropertyAccessExpression 2623737 2623750 - Identifier 2623737 2623745 - Identifier 2623746 2623750 - EqualsEqualsEqualsToken 2623750 2623754 - PropertyAccessExpression 2623754 2623789 - Identifier 2623754 2623765 - Identifier 2623766 2623789 - Block 2623790 2623928 - ExpressionStatement 2623792 2623913 - CallExpression 2623792 2623912 - Identifier 2623792 2623815 - Identifier 2623816 2623823 - PropertyAccessExpression 2623824 2623911 - Identifier 2623824 2623836 - Identifier 2623837 2623911 - IfStatement 2623946 2624589 - PrefixUnaryExpression 2623951 2624013 - CallExpression 2623952 2624013 - Identifier 2623952 2623970 - CallExpression 2623971 2624002 - Identifier 2623971 2623991 - Identifier 2623992 2624001 - Identifier 2624003 2624012 - Block 2624014 2624148 - ExpressionStatement 2624016 2624133 - CallExpression 2624016 2624132 - Identifier 2624016 2624039 - Identifier 2624040 2624047 - PropertyAccessExpression 2624048 2624131 - Identifier 2624048 2624060 - Identifier 2624061 2624131 - Block 2624166 2624589 - ExpressionStatement 2624168 2624574 - CallExpression 2624168 2624573 - Identifier 2624168 2624294 - Identifier 2624295 2624324 - PropertyAccessExpression 2624325 2624439 - Identifier 2624325 2624358 - Identifier 2624359 2624439 - PropertyAccessExpression 2624440 2624553 - Identifier 2624440 2624473 - Identifier 2624474 2624553 - IfStatement 2624600 2625144 - BinaryExpression 2624816 2624938 - BinaryExpression 2624816 2624839 - Identifier 2624816 2624825 - EqualsEqualsEqualsToken 2624825 2624829 - Identifier 2624829 2624839 - BarBarToken 2624839 2624842 - PrefixUnaryExpression 2624842 2624938 - CallExpression 2624844 2624938 - Identifier 2624844 2624866 - Identifier 2624867 2624876 - BinaryExpression 2624877 2624937 - PropertyAccessExpression 2624877 2624900 - Identifier 2624877 2624887 - Identifier 2624888 2624900 - BarToken 2624900 2624902 - PropertyAccessExpression 2624902 2624937 - Identifier 2624902 2624912 - Identifier 2624913 2624937 - Block 2624939 2625144 - ExpressionStatement 2624941 2625133 - CallExpression 2624941 2625132 - Identifier 2624941 2624960 - PropertyAccessExpression 2624961 2624976 - Identifier 2624961 2624965 - Identifier 2624966 2624976 - PropertyAccessExpression 2624977 2625106 - Identifier 2624977 2624989 - Identifier 2624990 2625106 - CallExpression 2625107 2625131 - Identifier 2625107 2625120 - Identifier 2625121 2625130 - ExpressionStatement 2625144 2625191 - CallExpression 2625144 2625190 - Identifier 2625144 2625174 - PropertyAccessExpression 2625175 2625189 - Identifier 2625175 2625179 - Identifier 2625180 2625189 - IfStatement 2625191 2625284 - PropertyAccessExpression 2625205 2625216 - Identifier 2625205 2625209 - Identifier 2625210 2625216 - Block 2625217 2625284 - ExpressionStatement 2625219 2625273 - CallExpression 2625219 2625272 - Identifier 2625219 2625266 - Identifier 2625267 2625271 - FunctionDeclaration 2625291 2625604 - Identifier 2625307 2625333 - Parameter 2625334 2625359 - Identifier 2625334 2625343 - TypeReference 2625344 2625359 - Identifier 2625344 2625359 - TypeReference 2625361 2625366 - Identifier 2625361 2625366 - Block 2625366 2625604 - VariableStatement 2625368 2625461 - VariableDeclarationList 2625368 2625460 - VariableDeclaration 2625383 2625460 - Identifier 2625383 2625387 - ConditionalExpression 2625389 2625460 - PropertyAccessExpression 2625389 2625413 - Identifier 2625389 2625399 - Identifier 2625400 2625413 - QuestionToken 2625413 2625415 - PropertyAccessExpression 2625415 2625439 - Identifier 2625415 2625428 - Identifier 2625429 2625439 - ColonToken 2625439 2625441 - PropertyAccessExpression 2625441 2625460 - Identifier 2625441 2625454 - Identifier 2625455 2625460 - ReturnStatement 2625461 2625597 - CallExpression 2625477 2625596 - Identifier 2625477 2625508 - Identifier 2625509 2625512 - CallExpression 2625513 2625558 - Identifier 2625513 2625536 - PropertyAccessExpression 2625537 2625557 - Identifier 2625537 2625546 - Identifier 2625547 2625557 - Identifier 2625559 2625573 - PropertyAccessExpression 2625574 2625595 - Identifier 2625574 2625584 - Identifier 2625585 2625595 - FunctionDeclaration 2625604 2625949 - Identifier 2625620 2625651 - Parameter 2625652 2625669 - Identifier 2625652 2625655 - TypeReference 2625656 2625669 - Identifier 2625656 2625669 - Parameter 2625670 2625686 - Identifier 2625670 2625680 - TypeReference 2625681 2625686 - Identifier 2625681 2625686 - Parameter 2625687 2625702 - Identifier 2625687 2625696 - TypeReference 2625697 2625702 - Identifier 2625697 2625702 - Parameter 2625703 2625731 - Identifier 2625703 2625713 - UnionType 2625714 2625731 - TypeReference 2625714 2625719 - Identifier 2625714 2625719 - UndefinedKeyword 2625721 2625731 - TypeReference 2625733 2625738 - Identifier 2625733 2625738 - Block 2625738 2625949 - IfStatement 2625740 2625819 - CallExpression 2625754 2625774 - Identifier 2625754 2625763 - Identifier 2625764 2625773 - Block 2625775 2625819 - ReturnStatement 2625777 2625808 - Identifier 2625797 2625807 - ReturnStatement 2625819 2625942 - BinaryExpression 2625835 2625941 - CallExpression 2625835 2625930 - Identifier 2625835 2625864 - Identifier 2625865 2625868 - Identifier 2625869 2625879 - Identifier 2625880 2625889 - Identifier 2625890 2625900 - TrueKeyword 2625901 2625929 - BarBarToken 2625930 2625933 - Identifier 2625933 2625941 - FunctionDeclaration 2625949 2633648 - Identifier 2626280 2626309 - Parameter 2626310 2626327 - Identifier 2626310 2626313 - TypeReference 2626314 2626327 - Identifier 2626314 2626327 - Parameter 2626328 2626344 - Identifier 2626328 2626338 - TypeReference 2626339 2626344 - Identifier 2626339 2626344 - Parameter 2626345 2626360 - Identifier 2626345 2626354 - TypeReference 2626355 2626360 - Identifier 2626355 2626360 - Parameter 2626361 2626389 - Identifier 2626361 2626371 - UnionType 2626372 2626389 - TypeReference 2626372 2626377 - Identifier 2626372 2626377 - UndefinedKeyword 2626379 2626389 - Parameter 2626390 2626418 - Identifier 2626390 2626409 - BooleanKeyword 2626410 2626418 - UnionType 2626420 2626437 - TypeReference 2626420 2626425 - Identifier 2626420 2626425 - UndefinedKeyword 2626427 2626437 - Block 2626437 2633648 - VariableStatement 2626439 2626529 - VariableDeclarationList 2626439 2626528 - VariableDeclaration 2626454 2626528 - Identifier 2626454 2626474 - BinaryExpression 2626476 2626528 - ParenthesizedExpression 2626476 2626522 - BinaryExpression 2626478 2626521 - Identifier 2626478 2626481 - AmpersandToken 2626481 2626483 - PropertyAccessExpression 2626483 2626521 - Identifier 2626483 2626496 - Identifier 2626497 2626521 - ExclamationEqualsEqualsToken 2626522 2626526 - NumericLiteral 2626526 2626528 - IfStatement 2626529 2626744 - BinaryExpression 2626543 2626566 - Identifier 2626543 2626552 - EqualsEqualsEqualsToken 2626552 2626556 - Identifier 2626556 2626566 - Block 2626567 2626744 - IfStatement 2626569 2626702 - Identifier 2626587 2626596 - Block 2626597 2626702 - ExpressionStatement 2626599 2626687 - CallExpression 2626599 2626686 - Identifier 2626599 2626643 - Identifier 2626644 2626653 - Identifier 2626654 2626664 - Identifier 2626665 2626685 - ReturnStatement 2626702 2626733 - Identifier 2626722 2626732 - VariableStatement 2626744 2626820 - VariableDeclarationList 2626744 2626819 - VariableDeclaration 2626761 2626819 - Identifier 2626761 2626778 - BinaryExpression 2626780 2626819 - Identifier 2626780 2626796 - GreaterThanEqualsToken 2626796 2626799 - PropertyAccessExpression 2626799 2626819 - Identifier 2626799 2626812 - Identifier 2626813 2626819 - VariableStatement 2626820 2626913 - VariableDeclarationList 2626820 2626912 - VariableDeclaration 2626835 2626912 - Identifier 2626835 2626854 - BinaryExpression 2626856 2626912 - PrefixUnaryExpression 2626856 2626874 - Identifier 2626858 2626874 - AmpersandAmpersandToken 2626874 2626877 - PropertyAccessExpression 2626877 2626912 - Identifier 2626877 2626893 - Identifier 2626894 2626912 - VariableStatement 2626913 2627038 - VariableDeclarationList 2626913 2627037 - VariableDeclaration 2626928 2627037 - Identifier 2626928 2626948 - BinaryExpression 2626950 2627037 - PropertyAccessExpression 2626950 2626991 - Identifier 2626950 2626966 - Identifier 2626967 2626991 - AmpersandAmpersandToken 2626991 2626994 - PrefixUnaryExpression 2626994 2627037 - PrefixUnaryExpression 2626996 2627037 - ParenthesizedExpression 2626997 2627037 - BinaryExpression 2626998 2627036 - Identifier 2626998 2627001 - AmpersandToken 2627001 2627003 - PropertyAccessExpression 2627003 2627036 - Identifier 2627003 2627016 - Identifier 2627017 2627036 - IfStatement 2627038 2628901 - BinaryExpression 2627275 2627336 - BinaryExpression 2627275 2627313 - Identifier 2627275 2627291 - BarBarToken 2627291 2627294 - Identifier 2627294 2627313 - BarBarToken 2627313 2627316 - Identifier 2627316 2627336 - Block 2627337 2628901 - VariableStatement 2627339 2627550 - VariableDeclarationList 2627339 2627549 - VariableDeclaration 2627446 2627549 - Identifier 2627446 2627461 - CallExpression 2627463 2627549 - Identifier 2627463 2627491 - Identifier 2627492 2627501 - Identifier 2627502 2627506 - ConditionalExpression 2627507 2627548 - Identifier 2627507 2627524 - QuestionToken 2627524 2627526 - Identifier 2627526 2627536 - ColonToken 2627536 2627538 - Identifier 2627538 2627548 - IfStatement 2627550 2628649 - Identifier 2627568 2627586 - Block 2627587 2628649 - IfStatement 2627589 2628634 - Identifier 2627611 2627625 - Block 2627626 2628634 - VariableStatement 2627628 2628447 - VariableDeclarationList 2627628 2628446 - VariableDeclaration 2627655 2628446 - Identifier 2627655 2627666 - ConditionalExpression 2627668 2628446 - BinaryExpression 2627668 2627697 - Identifier 2627668 2627672 - AmpersandToken 2627672 2627674 - PropertyAccessExpression 2627674 2627697 - Identifier 2627674 2627687 - Identifier 2627688 2627697 - QuestionToken 2627697 2627699 - PropertyAccessExpression 2627699 2627817 - Identifier 2627699 2627711 - Identifier 2627712 2627817 - ColonToken 2627817 2627819 - ConditionalExpression 2627819 2628446 - BinaryExpression 2627819 2627874 - Identifier 2627819 2627848 - AmpersandToken 2627848 2627850 - PropertyAccessExpression 2627850 2627874 - Identifier 2627850 2627863 - Identifier 2627864 2627874 - QuestionToken 2627874 2627876 - PropertyAccessExpression 2627876 2628000 - Identifier 2627876 2627888 - Identifier 2627889 2628000 - ColonToken 2628000 2628002 - ConditionalExpression 2628002 2628446 - BinaryExpression 2628002 2628064 - Identifier 2628002 2628031 - AmpersandToken 2628031 2628033 - PropertyAccessExpression 2628033 2628064 - Identifier 2628033 2628046 - Identifier 2628047 2628064 - QuestionToken 2628064 2628066 - PropertyAccessExpression 2628066 2628197 - Identifier 2628066 2628078 - Identifier 2628079 2628197 - ColonToken 2628197 2628199 - ConditionalExpression 2628199 2628446 - BinaryExpression 2628199 2628257 - Identifier 2628199 2628228 - AmpersandToken 2628228 2628230 - PropertyAccessExpression 2628230 2628257 - Identifier 2628230 2628243 - Identifier 2628244 2628257 - QuestionToken 2628257 2628259 - PropertyAccessExpression 2628259 2628409 - Identifier 2628259 2628271 - Identifier 2628272 2628409 - ColonToken 2628409 2628411 - Identifier 2628411 2628446 - IfStatement 2628447 2628615 - Identifier 2628473 2628483 - Block 2628484 2628615 - ExpressionStatement 2628486 2628592 - CallExpression 2628486 2628591 - Identifier 2628486 2628533 - Identifier 2628534 2628542 - PropertyAccessExpression 2628543 2628567 - Identifier 2628543 2628558 - Identifier 2628559 2628567 - Identifier 2628568 2628578 - Identifier 2628579 2628590 - IfStatement 2628649 2628890 - BinaryExpression 2628667 2628701 - Identifier 2628667 2628681 - BarBarToken 2628681 2628684 - Identifier 2628684 2628701 - Block 2628702 2628890 - ReturnStatement 2628704 2628875 - ConditionalExpression 2628728 2628874 - Identifier 2628728 2628748 - QuestionToken 2628748 2628750 - CallExpression 2628750 2628827 - Identifier 2628750 2628783 - BinaryExpression 2628784 2628826 - Identifier 2628784 2628798 - AmpersandAmpersandToken 2628798 2628801 - PropertyAccessExpression 2628801 2628826 - Identifier 2628801 2628816 - Identifier 2628817 2628826 - ColonToken 2628827 2628829 - ParenthesizedExpression 2628829 2628874 - BinaryExpression 2628831 2628873 - Identifier 2628831 2628845 - AmpersandAmpersandToken 2628845 2628848 - PropertyAccessExpression 2628848 2628873 - Identifier 2628848 2628863 - Identifier 2628864 2628873 - VariableStatement 2628901 2628939 - VariableDeclarationList 2628901 2628938 - VariableDeclaration 2628916 2628938 - Identifier 2628916 2628926 - Identifier 2628928 2628938 - VariableStatement 2628939 2628982 - VariableDeclarationList 2628939 2628981 - VariableDeclaration 2628952 2628981 - Identifier 2628952 2628973 - FalseKeyword 2628975 2628981 - IfStatement 2628982 2630432 - BinaryExpression 2629208 2629248 - Identifier 2629208 2629211 - AmpersandToken 2629211 2629213 - PropertyAccessExpression 2629213 2629248 - Identifier 2629213 2629226 - Identifier 2629227 2629248 - Block 2629249 2630432 - IfStatement 2629251 2629952 - BinaryExpression 2629269 2629302 - PropertyAccessExpression 2629269 2629284 - Identifier 2629269 2629278 - Identifier 2629279 2629284 - AmpersandToken 2629284 2629286 - PropertyAccessExpression 2629286 2629302 - Identifier 2629286 2629296 - Identifier 2629297 2629302 - Block 2629303 2629833 - VariableStatement 2629305 2629561 - VariableDeclarationList 2629305 2629560 - VariableDeclaration 2629516 2629560 - Identifier 2629516 2629527 - PropertyAccessExpression 2629529 2629560 - ParenthesizedExpression 2629529 2629554 - AsExpression 2629531 2629553 - Identifier 2629531 2629540 - TypeReference 2629543 2629553 - Identifier 2629543 2629553 - Identifier 2629555 2629560 - VariableStatement 2629561 2629660 - VariableDeclarationList 2629561 2629659 - VariableDeclaration 2629584 2629659 - Identifier 2629584 2629598 - CallExpression 2629600 2629659 - Identifier 2629600 2629607 - Identifier 2629608 2629618 - ArrowFunction 2629619 2629658 - Parameter 2629619 2629621 - Identifier 2629619 2629621 - EqualsGreaterThanToken 2629621 2629624 - PrefixUnaryExpression 2629624 2629658 - ParenthesizedExpression 2629626 2629658 - BinaryExpression 2629627 2629657 - PropertyAccessExpression 2629627 2629634 - Identifier 2629627 2629628 - Identifier 2629629 2629634 - AmpersandToken 2629634 2629636 - PropertyAccessExpression 2629636 2629657 - Identifier 2629636 2629646 - Identifier 2629647 2629657 - IfStatement 2629660 2629818 - BinaryExpression 2629682 2629710 - Identifier 2629682 2629695 - ExclamationEqualsEqualsToken 2629695 2629699 - Identifier 2629699 2629710 - Block 2629711 2629818 - ExpressionStatement 2629713 2629799 - BinaryExpression 2629713 2629798 - Identifier 2629713 2629744 - EqualsToken 2629744 2629746 - CallExpression 2629746 2629798 - Identifier 2629746 2629759 - Identifier 2629760 2629773 - PropertyAccessExpression 2629774 2629797 - Identifier 2629774 2629789 - Identifier 2629790 2629797 - IfStatement 2629851 2629952 - BinaryExpression 2629856 2629894 - PropertyAccessExpression 2629856 2629871 - Identifier 2629856 2629865 - Identifier 2629866 2629871 - AmpersandToken 2629871 2629873 - PropertyAccessExpression 2629873 2629894 - Identifier 2629873 2629883 - Identifier 2629884 2629894 - Block 2629895 2629952 - ExpressionStatement 2629897 2629937 - BinaryExpression 2629897 2629936 - Identifier 2629897 2629924 - EqualsToken 2629924 2629926 - Identifier 2629926 2629936 - ExpressionStatement 2629952 2630015 - BinaryExpression 2629952 2630014 - Identifier 2629952 2629988 - EqualsToken 2629988 2629990 - BinaryExpression 2629990 2630014 - Identifier 2629990 2630000 - ExclamationEqualsEqualsToken 2630000 2630004 - Identifier 2630004 2630014 - IfStatement 2630015 2630421 - Identifier 2630033 2630053 - Block 2630054 2630421 - IfStatement 2630056 2630406 - BinaryExpression 2630242 2630275 - PropertyAccessExpression 2630242 2630257 - Identifier 2630242 2630251 - Identifier 2630252 2630257 - AmpersandToken 2630257 2630259 - PropertyAccessExpression 2630259 2630275 - Identifier 2630259 2630269 - Identifier 2630270 2630275 - Block 2630276 2630406 - ReturnStatement 2630278 2630387 - ConditionalExpression 2630306 2630386 - Identifier 2630306 2630326 - QuestionToken 2630326 2630328 - CallExpression 2630328 2630373 - Identifier 2630328 2630361 - Identifier 2630362 2630372 - ColonToken 2630373 2630375 - Identifier 2630375 2630386 - IfStatement 2630432 2631596 - PrefixUnaryExpression 2630448 2630475 - CallExpression 2630449 2630475 - Identifier 2630449 2630464 - Identifier 2630465 2630474 - Block 2630476 2631596 - IfStatement 2630478 2631449 - Identifier 2630496 2630505 - Block 2630506 2631449 - VariableStatement 2630508 2631042 - VariableDeclarationList 2630508 2631041 - VariableDeclaration 2630955 2631041 - Identifier 2630955 2630969 - BinaryExpression 2630971 2631041 - PrefixUnaryExpression 2630971 2631016 - PrefixUnaryExpression 2630973 2631016 - ParenthesizedExpression 2630974 2631016 - BinaryExpression 2630975 2631015 - Identifier 2630975 2630978 - AmpersandToken 2630978 2630980 - PropertyAccessExpression 2630980 2631015 - Identifier 2630980 2630993 - Identifier 2630994 2631015 - AmpersandAmpersandToken 2631016 2631019 - PrefixUnaryExpression 2631019 2631041 - Identifier 2631021 2631041 - VariableStatement 2631042 2631172 - VariableDeclarationList 2631042 2631171 - VariableDeclaration 2631065 2631171 - ArrayBindingPattern 2631065 2631104 - BindingElement 2631067 2631084 - Identifier 2631067 2631084 - BindingElement 2631085 2631103 - Identifier 2631085 2631103 - CallExpression 2631106 2631171 - Identifier 2631106 2631136 - Identifier 2631137 2631150 - Identifier 2631151 2631170 - ExpressionStatement 2631172 2631434 - CallExpression 2631172 2631433 - Identifier 2631172 2631215 - Identifier 2631216 2631247 - BinaryExpression 2631248 2631327 - Identifier 2631248 2631287 - AmpersandAmpersandToken 2631287 2631290 - PrefixUnaryExpression 2631290 2631327 - PrefixUnaryExpression 2631292 2631327 - CallExpression 2631293 2631327 - Identifier 2631293 2631316 - Identifier 2631317 2631326 - Identifier 2631328 2631367 - CallExpression 2631368 2631413 - Identifier 2631368 2631402 - Identifier 2631403 2631412 - ReturnStatement 2631449 2631585 - ConditionalExpression 2631469 2631584 - Identifier 2631469 2631490 - QuestionToken 2631490 2631492 - ConditionalExpression 2631492 2631572 - Identifier 2631492 2631512 - QuestionToken 2631512 2631514 - CallExpression 2631514 2631559 - Identifier 2631514 2631547 - Identifier 2631548 2631558 - ColonToken 2631559 2631561 - Identifier 2631561 2631572 - ColonToken 2631572 2631574 - Identifier 2631574 2631584 - VariableStatement 2631596 2631675 - VariableDeclarationList 2631596 2631674 - VariableDeclaration 2631613 2631674 - Identifier 2631613 2631630 - CallExpression 2631632 2631674 - Identifier 2631632 2631651 - Identifier 2631652 2631661 - Identifier 2631662 2631673 - IfStatement 2631675 2632170 - BinaryExpression 2631689 2631729 - Identifier 2631689 2631709 - AmpersandAmpersandToken 2631709 2631712 - Identifier 2631712 2631729 - Block 2631730 2632170 - IfStatement 2631732 2631997 - BinaryExpression 2631853 2631943 - BinaryExpression 2631853 2631898 - PropertyAccessExpression 2631853 2631875 - Identifier 2631853 2631869 - Identifier 2631870 2631875 - AmpersandToken 2631875 2631877 - PropertyAccessExpression 2631877 2631898 - Identifier 2631877 2631887 - Identifier 2631888 2631898 - AmpersandAmpersandToken 2631898 2631901 - PrefixUnaryExpression 2631901 2631943 - PropertyAccessExpression 2631903 2631943 - Identifier 2631903 2631918 - Identifier 2631919 2631943 - Block 2631944 2631997 - ReturnStatement 2631946 2631982 - Identifier 2631970 2631981 - ReturnStatement 2631997 2632159 - CallExpression 2632019 2632158 - Identifier 2632019 2632032 - ConditionalExpression 2632033 2632133 - Identifier 2632033 2632052 - QuestionToken 2632052 2632054 - ArrayLiteralExpression 2632054 2632100 - Identifier 2632056 2632072 - Identifier 2632073 2632084 - Identifier 2632085 2632099 - ColonToken 2632100 2632102 - ArrayLiteralExpression 2632102 2632133 - Identifier 2632104 2632120 - Identifier 2632121 2632132 - PropertyAccessExpression 2632134 2632157 - Identifier 2632134 2632149 - Identifier 2632150 2632157 - ReturnStatement 2632170 2632302 - ConditionalExpression 2632188 2632301 - ParenthesizedExpression 2632188 2632229 - BinaryExpression 2632190 2632228 - Identifier 2632190 2632193 - AmpersandToken 2632193 2632195 - PropertyAccessExpression 2632195 2632228 - Identifier 2632195 2632208 - Identifier 2632209 2632228 - QuestionToken 2632229 2632231 - CallExpression 2632231 2632282 - Identifier 2632231 2632264 - Identifier 2632265 2632281 - ColonToken 2632282 2632284 - Identifier 2632284 2632301 - FunctionDeclaration 2632302 2633641 - Identifier 2632322 2632352 - Parameter 2632353 2632375 - Identifier 2632353 2632366 - BooleanKeyword 2632367 2632375 - Parameter 2632376 2632416 - Identifier 2632376 2632395 - UnionType 2632396 2632416 - BooleanKeyword 2632396 2632404 - UndefinedKeyword 2632406 2632416 - TupleType 2632418 2632473 - NamedTupleMember 2632420 2632444 - Identifier 2632420 2632425 - TypeReference 2632426 2632444 - Identifier 2632426 2632444 - NamedTupleMember 2632445 2632472 - Identifier 2632445 2632463 - BooleanKeyword 2632464 2632472 - Block 2632473 2633641 - IfStatement 2632475 2632861 - Identifier 2632493 2632511 - Block 2632512 2632861 - ReturnStatement 2632514 2632846 - ConditionalExpression 2632538 2632845 - Identifier 2632538 2632552 - QuestionToken 2632552 2632575 - ArrayLiteralExpression 2632575 2632707 - PropertyAccessExpression 2632577 2632700 - Identifier 2632577 2632588 - Identifier 2632589 2632700 - TrueKeyword 2632701 2632706 - ColonToken 2632707 2632730 - ArrayLiteralExpression 2632730 2632845 - PropertyAccessExpression 2632732 2632838 - Identifier 2632732 2632743 - Identifier 2632744 2632838 - TrueKeyword 2632839 2632844 - VariableStatement 2632861 2632988 - VariableDeclarationList 2632861 2632987 - VariableDeclaration 2632882 2632987 - Identifier 2632882 2632892 - CallExpression 2632894 2632987 - Identifier 2632894 2632921 - Identifier 2632922 2632925 - PropertyAccessExpression 2632926 2632950 - Identifier 2632926 2632944 - Identifier 2632945 2632950 - Identifier 2632951 2632961 - Identifier 2632962 2632986 - IfStatement 2632988 2633193 - Identifier 2633008 2633017 - Block 2633018 2633193 - ReturnStatement 2633020 2633178 - ArrayLiteralExpression 2633044 2633177 - PropertyAccessExpression 2633046 2633169 - Identifier 2633046 2633057 - Identifier 2633058 2633169 - FalseKeyword 2633170 2633176 - IfStatement 2633193 2633442 - CallExpression 2633213 2633267 - Identifier 2633213 2633236 - PropertyAccessExpression 2633237 2633266 - PropertyAccessExpression 2633237 2633253 - Identifier 2633237 2633246 - Identifier 2633247 2633253 - QuestionDotToken 2633253 2633255 - Identifier 2633255 2633266 - Block 2633268 2633442 - ReturnStatement 2633270 2633427 - ArrayLiteralExpression 2633294 2633426 - PropertyAccessExpression 2633296 2633419 - Identifier 2633296 2633307 - Identifier 2633308 2633419 - TrueKeyword 2633420 2633425 - ReturnStatement 2633442 2633630 - ConditionalExpression 2633464 2633629 - Identifier 2633464 2633478 - QuestionToken 2633478 2633497 - ArrayLiteralExpression 2633497 2633562 - PropertyAccessExpression 2633499 2633555 - Identifier 2633499 2633510 - Identifier 2633511 2633555 - TrueKeyword 2633556 2633561 - ColonToken 2633562 2633581 - ArrayLiteralExpression 2633581 2633629 - PropertyAccessExpression 2633583 2633622 - Identifier 2633583 2633594 - Identifier 2633595 2633622 - TrueKeyword 2633623 2633628 - FunctionDeclaration 2633648 2634126 - Identifier 2633664 2633688 - Parameter 2633689 2633700 - Identifier 2633689 2633690 - TypeReference 2633691 2633700 - Identifier 2633691 2633700 - Block 2633701 2634126 - SwitchStatement 2633703 2634096 - Identifier 2633721 2633722 - CaseBlock 2633723 2634096 - CaseClause 2633725 2633759 - StringLiteral 2633743 2633758 - CaseClause 2633759 2633793 - StringLiteral 2633777 2633792 - CaseClause 2633793 2633825 - StringLiteral 2633811 2633824 - CaseClause 2633825 2633857 - StringLiteral 2633843 2633856 - CaseClause 2633857 2633888 - StringLiteral 2633875 2633887 - CaseClause 2633888 2633918 - StringLiteral 2633906 2633917 - CaseClause 2633918 2633951 - StringLiteral 2633936 2633950 - CaseClause 2633951 2633984 - StringLiteral 2633969 2633983 - CaseClause 2633984 2634016 - StringLiteral 2634002 2634015 - CaseClause 2634016 2634085 - StringLiteral 2634034 2634054 - ReturnStatement 2634055 2634085 - TrueKeyword 2634079 2634084 - ReturnStatement 2634096 2634119 - FalseKeyword 2634112 2634118 - FunctionDeclaration 2634126 2634678 - Identifier 2634258 2634285 - Parameter 2634286 2634303 - Identifier 2634286 2634289 - TypeReference 2634290 2634303 - Identifier 2634290 2634303 - Parameter 2634304 2634332 - Identifier 2634304 2634313 - TypeReference 2634314 2634332 - Identifier 2634314 2634332 - Parameter 2634333 2634349 - Identifier 2634333 2634343 - TypeReference 2634344 2634349 - Identifier 2634344 2634349 - Parameter 2634350 2634378 - Identifier 2634350 2634360 - UnionType 2634361 2634378 - TypeReference 2634361 2634366 - Identifier 2634361 2634366 - UndefinedKeyword 2634368 2634378 - UnionType 2634380 2634397 - TypeReference 2634380 2634385 - Identifier 2634380 2634385 - UndefinedKeyword 2634387 2634397 - Block 2634397 2634678 - IfStatement 2634399 2634478 - CallExpression 2634413 2634433 - Identifier 2634413 2634422 - Identifier 2634423 2634432 - Block 2634434 2634478 - ReturnStatement 2634436 2634467 - Identifier 2634456 2634466 - VariableStatement 2634478 2634568 - VariableDeclarationList 2634478 2634567 - VariableDeclaration 2634495 2634567 - Identifier 2634495 2634510 - CallExpression 2634512 2634567 - Identifier 2634512 2634540 - Identifier 2634541 2634550 - Identifier 2634551 2634555 - Identifier 2634556 2634566 - ReturnStatement 2634568 2634671 - BinaryExpression 2634584 2634670 - Identifier 2634584 2634599 - AmpersandAmpersandToken 2634599 2634602 - ElementAccessExpression 2634602 2634670 - Identifier 2634602 2634617 - CallExpression 2634618 2634669 - Identifier 2634618 2634659 - Identifier 2634660 2634668 - FunctionDeclaration 2634678 2636205 - Identifier 2634694 2634715 - Parameter 2634716 2634743 - Identifier 2634716 2634725 - TypeReference 2634726 2634731 - Identifier 2634726 2634731 - Identifier 2634733 2634743 - Parameter 2634744 2634773 - Identifier 2634744 2634755 - TypeReference 2634756 2634761 - Identifier 2634756 2634761 - Identifier 2634763 2634773 - Parameter 2634774 2634803 - Identifier 2634774 2634783 - TypeReference 2634784 2634789 - Identifier 2634784 2634789 - Identifier 2634791 2634803 - TypeReference 2634805 2634820 - Identifier 2634805 2634820 - Block 2634820 2636205 - IfStatement 2634822 2636145 - BinaryExpression 2635459 2635764 - BinaryExpression 2635459 2635638 - BinaryExpression 2635459 2635510 - PropertyAccessExpression 2635459 2635488 - Identifier 2635459 2635482 - Identifier 2635483 2635488 - AmpersandToken 2635488 2635490 - PropertyAccessExpression 2635490 2635510 - Identifier 2635490 2635500 - Identifier 2635501 2635510 - AmpersandAmpersandToken 2635510 2635513 - BinaryExpression 2635513 2635638 - PropertyAccessExpression 2635513 2635543 - Identifier 2635513 2635537 - Identifier 2635538 2635543 - AmpersandToken 2635543 2635545 - ParenthesizedExpression 2635545 2635638 - BinaryExpression 2635547 2635637 - BinaryExpression 2635547 2635615 - BinaryExpression 2635547 2635598 - BinaryExpression 2635547 2635578 - PropertyAccessExpression 2635547 2635560 - Identifier 2635547 2635556 - Identifier 2635557 2635560 - BarToken 2635560 2635562 - PropertyAccessExpression 2635562 2635578 - Identifier 2635562 2635572 - Identifier 2635573 2635578 - BarToken 2635578 2635580 - PropertyAccessExpression 2635580 2635598 - Identifier 2635580 2635590 - Identifier 2635591 2635598 - BarToken 2635598 2635600 - PropertyAccessExpression 2635600 2635615 - Identifier 2635600 2635610 - Identifier 2635611 2635615 - BarToken 2635615 2635617 - PropertyAccessExpression 2635617 2635637 - Identifier 2635617 2635627 - Identifier 2635628 2635637 - AmpersandAmpersandToken 2635638 2635641 - BinaryExpression 2635641 2635764 - PropertyAccessExpression 2635641 2635669 - Identifier 2635641 2635663 - Identifier 2635664 2635669 - AmpersandToken 2635669 2635671 - ParenthesizedExpression 2635671 2635764 - BinaryExpression 2635673 2635763 - BinaryExpression 2635673 2635741 - BinaryExpression 2635673 2635724 - BinaryExpression 2635673 2635704 - PropertyAccessExpression 2635673 2635686 - Identifier 2635673 2635682 - Identifier 2635683 2635686 - BarToken 2635686 2635688 - PropertyAccessExpression 2635688 2635704 - Identifier 2635688 2635698 - Identifier 2635699 2635704 - BarToken 2635704 2635706 - PropertyAccessExpression 2635706 2635724 - Identifier 2635706 2635716 - Identifier 2635717 2635724 - BarToken 2635724 2635726 - PropertyAccessExpression 2635726 2635741 - Identifier 2635726 2635736 - Identifier 2635737 2635741 - BarToken 2635741 2635743 - PropertyAccessExpression 2635743 2635763 - Identifier 2635743 2635753 - Identifier 2635754 2635763 - Block 2635775 2636145 - VariableStatement 2635777 2635851 - VariableDeclarationList 2635777 2635850 - VariableDeclaration 2635796 2635850 - Identifier 2635796 2635799 - CallExpression 2635801 2635850 - Identifier 2635801 2635815 - ArrayLiteralExpression 2635816 2635849 - Identifier 2635817 2635826 - Identifier 2635827 2635838 - Identifier 2635839 2635848 - VariableStatement 2635851 2635914 - VariableDeclarationList 2635851 2635913 - VariableDeclaration 2635868 2635913 - Identifier 2635868 2635883 - CallExpression 2635885 2635913 - PropertyAccessExpression 2635885 2635909 - Identifier 2635885 2635905 - Identifier 2635906 2635909 - Identifier 2635910 2635912 - IfStatement 2635914 2636098 - PrefixUnaryExpression 2635932 2635947 - Identifier 2635933 2635947 - Block 2635948 2636098 - ExpressionStatement 2635950 2636021 - BinaryExpression 2635950 2636020 - Identifier 2635950 2635982 - EqualsToken 2635982 2635984 - ObjectLiteralExpression 2635984 2636020 - ShorthandPropertyAssignment 2635986 2635996 - Identifier 2635986 2635996 - ShorthandPropertyAssignment 2635997 2636008 - Identifier 2635997 2636008 - ShorthandPropertyAssignment 2636009 2636018 - Identifier 2636009 2636018 - ExpressionStatement 2636021 2636083 - CallExpression 2636021 2636082 - PropertyAccessExpression 2636021 2636062 - Identifier 2636021 2636058 - Identifier 2636059 2636062 - Identifier 2636063 2636065 - Identifier 2636066 2636081 - ReturnStatement 2636098 2636134 - Identifier 2636118 2636133 - ReturnStatement 2636145 2636198 - ObjectLiteralExpression 2636161 2636197 - ShorthandPropertyAssignment 2636163 2636173 - Identifier 2636163 2636173 - ShorthandPropertyAssignment 2636174 2636185 - Identifier 2636174 2636185 - ShorthandPropertyAssignment 2636186 2636195 - Identifier 2636186 2636195 - FunctionDeclaration 2636205 2637593 - Identifier 2636533 2636555 - Parameter 2636556 2636593 - Identifier 2636556 2636561 - ArrayType 2636562 2636593 - ParenthesizedType 2636562 2636591 - UnionType 2636564 2636590 - TypeReference 2636564 2636578 - Identifier 2636564 2636578 - UndefinedKeyword 2636580 2636590 - Block 2636594 2637593 - VariableStatement 2636596 2636641 - VariableDeclarationList 2636596 2636640 - VariableDeclaration 2636609 2636640 - Identifier 2636609 2636620 - UnionType 2636621 2636640 - ArrayType 2636621 2636628 - TypeReference 2636621 2636626 - Identifier 2636621 2636626 - UndefinedKeyword 2636630 2636640 - VariableStatement 2636641 2636687 - VariableDeclarationList 2636641 2636686 - VariableDeclaration 2636654 2636686 - Identifier 2636654 2636666 - UnionType 2636667 2636686 - ArrayType 2636667 2636674 - TypeReference 2636667 2636672 - Identifier 2636667 2636672 - UndefinedKeyword 2636676 2636686 - VariableStatement 2636687 2636731 - VariableDeclarationList 2636687 2636730 - VariableDeclaration 2636700 2636730 - Identifier 2636700 2636710 - UnionType 2636711 2636730 - ArrayType 2636711 2636718 - TypeReference 2636711 2636716 - Identifier 2636711 2636716 - UndefinedKeyword 2636720 2636730 - ForOfStatement 2636731 2637250 - VariableDeclarationList 2636746 2636766 - VariableDeclaration 2636751 2636766 - Identifier 2636751 2636766 - Identifier 2636769 2636775 - Block 2636776 2637250 - IfStatement 2636778 2636908 - BinaryExpression 2636796 2636863 - BinaryExpression 2636796 2636824 - Identifier 2636796 2636810 - EqualsEqualsEqualsToken 2636810 2636814 - Identifier 2636814 2636824 - BarBarToken 2636824 2636827 - BinaryExpression 2636827 2636863 - Identifier 2636827 2636842 - EqualsEqualsEqualsToken 2636842 2636846 - Identifier 2636846 2636863 - Block 2636864 2636908 - ContinueStatement 2636866 2636893 - IfStatement 2636908 2637023 - BinaryExpression 2636926 2636962 - Identifier 2636926 2636940 - EqualsEqualsEqualsToken 2636940 2636944 - Identifier 2636944 2636962 - Block 2636963 2637023 - ReturnStatement 2636965 2637008 - Identifier 2636989 2637007 - ExpressionStatement 2637023 2637095 - BinaryExpression 2637023 2637094 - Identifier 2637023 2637047 - EqualsToken 2637047 2637049 - CallExpression 2637049 2637094 - Identifier 2637049 2637056 - Identifier 2637057 2637067 - PropertyAccessExpression 2637068 2637093 - Identifier 2637068 2637083 - Identifier 2637084 2637093 - ExpressionStatement 2637095 2637170 - BinaryExpression 2637095 2637169 - Identifier 2637095 2637120 - EqualsToken 2637120 2637122 - CallExpression 2637122 2637169 - Identifier 2637122 2637129 - Identifier 2637130 2637141 - PropertyAccessExpression 2637142 2637168 - Identifier 2637142 2637157 - Identifier 2637158 2637168 - ExpressionStatement 2637170 2637239 - BinaryExpression 2637170 2637238 - Identifier 2637170 2637193 - EqualsToken 2637193 2637195 - CallExpression 2637195 2637238 - Identifier 2637195 2637202 - Identifier 2637203 2637212 - PropertyAccessExpression 2637213 2637237 - Identifier 2637213 2637228 - Identifier 2637229 2637237 - IfStatement 2637250 2637552 - BinaryExpression 2637264 2637302 - BinaryExpression 2637264 2637289 - Identifier 2637264 2637274 - BarBarToken 2637274 2637277 - Identifier 2637277 2637289 - BarBarToken 2637289 2637292 - Identifier 2637292 2637302 - Block 2637303 2637552 - ReturnStatement 2637305 2637541 - CallExpression 2637325 2637540 - Identifier 2637325 2637346 - BinaryExpression 2637347 2637403 - Identifier 2637347 2637375 - AmpersandAmpersandToken 2637375 2637378 - CallExpression 2637378 2637403 - Identifier 2637378 2637391 - Identifier 2637392 2637402 - BinaryExpression 2637404 2637462 - Identifier 2637404 2637433 - AmpersandAmpersandToken 2637433 2637436 - CallExpression 2637436 2637462 - Identifier 2637436 2637449 - Identifier 2637450 2637461 - BinaryExpression 2637463 2637524 - Identifier 2637463 2637490 - AmpersandAmpersandToken 2637490 2637493 - CallExpression 2637493 2637524 - Identifier 2637493 2637513 - Identifier 2637514 2637523 - ReturnStatement 2637552 2637586 - Identifier 2637568 2637585 - FunctionDeclaration 2637593 2637790 - Identifier 2637609 2637633 - Parameter 2637634 2637644 - Identifier 2637634 2637638 - TypeReference 2637639 2637644 - Identifier 2637639 2637644 - Parameter 2637645 2637720 - Identifier 2637645 2637654 - TypeReference 2637655 2637720 - Identifier 2637655 2637668 - TypeReference 2637669 2637691 - Identifier 2637669 2637691 - UnionType 2637692 2637719 - TypeReference 2637692 2637707 - Identifier 2637692 2637707 - UndefinedKeyword 2637709 2637719 - Block 2637721 2637790 - ReturnStatement 2637723 2637783 - ElementAccessExpression 2637739 2637782 - ParenthesizedExpression 2637739 2637772 - AsExpression 2637741 2637771 - Identifier 2637741 2637745 - TypeReference 2637748 2637771 - Identifier 2637748 2637771 - Identifier 2637773 2637781 - FunctionDeclaration 2637790 2638030 - Identifier 2637806 2637830 - Parameter 2637831 2637841 - Identifier 2637831 2637835 - TypeReference 2637836 2637841 - Identifier 2637836 2637841 - Parameter 2637842 2637917 - Identifier 2637842 2637851 - TypeReference 2637852 2637917 - Identifier 2637852 2637865 - TypeReference 2637866 2637888 - Identifier 2637866 2637888 - UnionType 2637889 2637916 - TypeReference 2637889 2637904 - Identifier 2637889 2637904 - UndefinedKeyword 2637906 2637916 - Parameter 2637918 2637946 - Identifier 2637918 2637930 - TypeReference 2637931 2637946 - Identifier 2637931 2637946 - Block 2637947 2638030 - ReturnStatement 2637949 2638023 - BinaryExpression 2637965 2638022 - ElementAccessExpression 2637965 2638008 - ParenthesizedExpression 2637965 2637998 - AsExpression 2637967 2637997 - Identifier 2637967 2637971 - TypeReference 2637974 2637997 - Identifier 2637974 2637997 - Identifier 2637999 2638007 - EqualsToken 2638008 2638010 - Identifier 2638010 2638022 - FunctionDeclaration 2638030 2642296 - Identifier 2639341 2639369 - Parameter 2639370 2639380 - Identifier 2639370 2639374 - TypeReference 2639375 2639380 - Identifier 2639375 2639380 - Parameter 2639381 2639399 - Identifier 2639381 2639385 - TypeReference 2639386 2639399 - Identifier 2639386 2639399 - Parameter 2639400 2639428 - Identifier 2639400 2639410 - UnionType 2639411 2639428 - TypeReference 2639411 2639416 - Identifier 2639411 2639416 - UndefinedKeyword 2639418 2639428 - Block 2639429 2642296 - IfStatement 2639431 2639513 - CallExpression 2639445 2639460 - Identifier 2639445 2639454 - Identifier 2639455 2639459 - Block 2639461 2639513 - ReturnStatement 2639463 2639502 - Identifier 2639483 2639501 - IfStatement 2639513 2640528 - PrefixUnaryExpression 2639529 2639560 - ParenthesizedExpression 2639530 2639560 - BinaryExpression 2639531 2639559 - PropertyAccessExpression 2639531 2639541 - Identifier 2639531 2639535 - Identifier 2639536 2639541 - AmpersandToken 2639541 2639543 - PropertyAccessExpression 2639543 2639559 - Identifier 2639543 2639553 - Identifier 2639554 2639559 - Block 2639561 2640528 - VariableStatement 2639563 2639705 - VariableDeclarationList 2639563 2639704 - VariableDeclaration 2639582 2639704 - Identifier 2639582 2639603 - UnionType 2639604 2639637 - TypeReference 2639604 2639625 - Identifier 2639604 2639625 - UndefinedKeyword 2639627 2639637 - ConditionalExpression 2639639 2639704 - Identifier 2639639 2639649 - QuestionToken 2639649 2639651 - ObjectLiteralExpression 2639651 2639692 - PropertyAssignment 2639653 2639671 - Identifier 2639653 2639660 - Identifier 2639661 2639671 - PropertyAssignment 2639672 2639690 - Identifier 2639672 2639684 - TrueKeyword 2639685 2639690 - ColonToken 2639692 2639694 - Identifier 2639694 2639704 - VariableStatement 2639705 2639820 - VariableDeclarationList 2639705 2639819 - VariableDeclaration 2639724 2639819 - Identifier 2639724 2639739 - CallExpression 2639741 2639819 - Identifier 2639741 2639775 - Identifier 2639776 2639780 - Identifier 2639781 2639785 - Identifier 2639786 2639796 - Identifier 2639797 2639818 - IfStatement 2639820 2640481 - BinaryExpression 2639838 2639873 - Identifier 2639838 2639852 - EqualsEqualsEqualsToken 2639852 2639856 - Identifier 2639856 2639873 - Block 2639874 2640274 - IfStatement 2639876 2640224 - Identifier 2639898 2639907 - Block 2639908 2640224 - VariableStatement 2639910 2640042 - VariableDeclarationList 2639910 2640041 - VariableDeclaration 2639937 2640041 - Identifier 2639937 2639946 - CallExpression 2639948 2640041 - Identifier 2639948 2639975 - Identifier 2639976 2639985 - Identifier 2639986 2639991 - PrefixUnaryExpression 2639992 2640040 - PrefixUnaryExpression 2639994 2640040 - ParenthesizedExpression 2639995 2640040 - BinaryExpression 2639996 2640039 - Identifier 2639996 2639999 - AmpersandToken 2639999 2640001 - PropertyAccessExpression 2640001 2640039 - Identifier 2640001 2640014 - Identifier 2640015 2640039 - IfStatement 2640042 2640205 - PropertyAccessExpression 2640068 2640096 - Identifier 2640068 2640088 - QuestionDotToken 2640088 2640090 - Identifier 2640090 2640096 - Block 2640097 2640205 - ExpressionStatement 2640099 2640182 - CallExpression 2640099 2640181 - Identifier 2640099 2640139 - Identifier 2640140 2640148 - SpreadElement 2640149 2640180 - PropertyAccessExpression 2640153 2640180 - Identifier 2640153 2640173 - Identifier 2640174 2640180 - ReturnStatement 2640224 2640259 - Identifier 2640248 2640258 - IfStatement 2640292 2640481 - PropertyAccessExpression 2640297 2640333 - PropertyAccessExpression 2640297 2640325 - Identifier 2640297 2640317 - QuestionDotToken 2640317 2640319 - Identifier 2640319 2640325 - QuestionDotToken 2640325 2640327 - Identifier 2640327 2640333 - Block 2640334 2640481 - ForOfStatement 2640336 2640466 - VariableDeclarationList 2640359 2640369 - VariableDeclaration 2640364 2640369 - Identifier 2640364 2640369 - PropertyAccessExpression 2640372 2640400 - Identifier 2640372 2640393 - Identifier 2640394 2640400 - Block 2640401 2640466 - ExpressionStatement 2640403 2640447 - CallExpression 2640403 2640446 - PropertyAccessExpression 2640403 2640440 - Identifier 2640403 2640436 - Identifier 2640437 2640440 - Identifier 2640441 2640445 - ReturnStatement 2640481 2640517 - Identifier 2640501 2640516 - VariableStatement 2640528 2640664 - VariableDeclarationList 2640528 2640663 - VariableDeclaration 2640545 2640663 - Identifier 2640545 2640554 - ConditionalExpression 2640556 2640663 - BinaryExpression 2640556 2640600 - Identifier 2640556 2640560 - AmpersandToken 2640560 2640562 - PropertyAccessExpression 2640562 2640600 - Identifier 2640562 2640575 - Identifier 2640576 2640600 - QuestionToken 2640600 2640602 - StringLiteral 2640602 2640634 - ColonToken 2640634 2640636 - StringLiteral 2640636 2640663 - VariableStatement 2640664 2640734 - VariableDeclarationList 2640664 2640733 - VariableDeclaration 2640679 2640733 - Identifier 2640679 2640691 - CallExpression 2640693 2640733 - Identifier 2640693 2640717 - Identifier 2640718 2640722 - Identifier 2640723 2640732 - IfStatement 2640734 2640827 - Identifier 2640748 2640759 - ReturnStatement 2640760 2640827 - ConditionalExpression 2640767 2640826 - BinaryExpression 2640767 2640800 - Identifier 2640767 2640779 - EqualsEqualsEqualsToken 2640779 2640783 - Identifier 2640783 2640800 - QuestionToken 2640800 2640802 - Identifier 2640802 2640812 - ColonToken 2640812 2640814 - Identifier 2640814 2640826 - VariableStatement 2640827 2640891 - VariableDeclarationList 2640827 2640890 - VariableDeclaration 2640842 2640890 - Identifier 2640842 2640860 - UnionType 2640861 2640890 - ArrayType 2640861 2640878 - TypeReference 2640861 2640876 - Identifier 2640861 2640876 - UndefinedKeyword 2640880 2640890 - ForOfStatement 2640891 2642026 - VariableDeclarationList 2640906 2640923 - VariableDeclaration 2640911 2640923 - Identifier 2640911 2640923 - PropertyAccessExpression 2640926 2640952 - ParenthesizedExpression 2640926 2640946 - AsExpression 2640928 2640945 - Identifier 2640928 2640932 - TypeReference 2640935 2640945 - Identifier 2640935 2640945 - Identifier 2640947 2640952 - Block 2640953 2642026 - VariableStatement 2640955 2641078 - VariableDeclarationList 2640955 2641077 - VariableDeclaration 2640974 2641077 - Identifier 2640974 2640995 - UnionType 2640996 2641029 - TypeReference 2640996 2641017 - Identifier 2640996 2641017 - UndefinedKeyword 2641019 2641029 - ConditionalExpression 2641031 2641077 - Identifier 2641031 2641041 - QuestionToken 2641041 2641043 - ObjectLiteralExpression 2641043 2641065 - PropertyAssignment 2641045 2641063 - Identifier 2641045 2641052 - Identifier 2641053 2641063 - ColonToken 2641065 2641067 - Identifier 2641067 2641077 - VariableStatement 2641078 2641200 - VariableDeclarationList 2641078 2641199 - VariableDeclaration 2641097 2641199 - Identifier 2641097 2641112 - CallExpression 2641114 2641199 - Identifier 2641114 2641148 - Identifier 2641149 2641160 - Identifier 2641161 2641165 - Identifier 2641166 2641176 - Identifier 2641177 2641198 - IfStatement 2641200 2641937 - BinaryExpression 2641218 2641253 - Identifier 2641218 2641232 - EqualsEqualsEqualsToken 2641232 2641236 - Identifier 2641236 2641253 - Block 2641254 2641730 - IfStatement 2641256 2641604 - Identifier 2641278 2641287 - Block 2641288 2641604 - VariableStatement 2641290 2641422 - VariableDeclarationList 2641290 2641421 - VariableDeclaration 2641317 2641421 - Identifier 2641317 2641326 - CallExpression 2641328 2641421 - Identifier 2641328 2641355 - Identifier 2641356 2641365 - Identifier 2641366 2641371 - PrefixUnaryExpression 2641372 2641420 - PrefixUnaryExpression 2641374 2641420 - ParenthesizedExpression 2641375 2641420 - BinaryExpression 2641376 2641419 - Identifier 2641376 2641379 - AmpersandToken 2641379 2641381 - PropertyAccessExpression 2641381 2641419 - Identifier 2641381 2641394 - Identifier 2641395 2641419 - IfStatement 2641422 2641585 - PropertyAccessExpression 2641448 2641476 - Identifier 2641448 2641468 - QuestionDotToken 2641468 2641470 - Identifier 2641470 2641476 - Block 2641477 2641585 - ExpressionStatement 2641479 2641562 - CallExpression 2641479 2641561 - Identifier 2641479 2641519 - Identifier 2641520 2641528 - SpreadElement 2641529 2641560 - PropertyAccessExpression 2641533 2641560 - Identifier 2641533 2641553 - Identifier 2641554 2641560 - ExpressionStatement 2641604 2641680 - CallExpression 2641604 2641679 - Identifier 2641604 2641645 - Identifier 2641646 2641650 - Identifier 2641651 2641660 - Identifier 2641661 2641678 - ReturnStatement 2641680 2641715 - Identifier 2641704 2641714 - IfStatement 2641748 2641937 - PropertyAccessExpression 2641753 2641789 - PropertyAccessExpression 2641753 2641781 - Identifier 2641753 2641773 - QuestionDotToken 2641773 2641775 - Identifier 2641775 2641781 - QuestionDotToken 2641781 2641783 - Identifier 2641783 2641789 - Block 2641790 2641937 - ForOfStatement 2641792 2641922 - VariableDeclarationList 2641815 2641825 - VariableDeclaration 2641820 2641825 - Identifier 2641820 2641825 - PropertyAccessExpression 2641828 2641856 - Identifier 2641828 2641849 - Identifier 2641850 2641856 - Block 2641857 2641922 - ExpressionStatement 2641859 2641903 - CallExpression 2641859 2641902 - PropertyAccessExpression 2641859 2641896 - Identifier 2641859 2641892 - Identifier 2641893 2641896 - Identifier 2641897 2641901 - ExpressionStatement 2641937 2642015 - BinaryExpression 2641937 2642014 - Identifier 2641937 2641970 - EqualsToken 2641970 2641972 - CallExpression 2641972 2642014 - Identifier 2641972 2641979 - Identifier 2641980 2641997 - Identifier 2641998 2642013 - VariableStatement 2642026 2642141 - VariableDeclarationList 2642026 2642140 - VariableDeclaration 2642043 2642140 - Identifier 2642043 2642058 - ConditionalExpression 2642060 2642140 - Identifier 2642060 2642078 - QuestionToken 2642078 2642080 - CallExpression 2642080 2642121 - Identifier 2642080 2642102 - Identifier 2642103 2642120 - ColonToken 2642121 2642123 - Identifier 2642123 2642140 - ExpressionStatement 2642141 2642207 - CallExpression 2642141 2642206 - Identifier 2642141 2642174 - Identifier 2642175 2642179 - Identifier 2642180 2642189 - Identifier 2642190 2642205 - ReturnStatement 2642207 2642289 - ConditionalExpression 2642223 2642288 - BinaryExpression 2642223 2642259 - Identifier 2642223 2642238 - EqualsEqualsEqualsToken 2642238 2642242 - Identifier 2642242 2642259 - QuestionToken 2642259 2642261 - Identifier 2642261 2642271 - ColonToken 2642271 2642273 - Identifier 2642273 2642288 - FunctionDeclaration 2642296 2643016 - Identifier 2642312 2642343 - Parameter 2642344 2642374 - Identifier 2642344 2642358 - TypeReference 2642359 2642374 - Identifier 2642359 2642374 - Parameter 2642375 2642403 - Identifier 2642375 2642385 - UnionType 2642386 2642403 - TypeReference 2642386 2642391 - Identifier 2642386 2642391 - UndefinedKeyword 2642393 2642403 - Block 2642404 2643016 - IfStatement 2642406 2642481 - BinaryExpression 2642420 2642455 - Identifier 2642420 2642434 - EqualsEqualsEqualsToken 2642434 2642438 - Identifier 2642438 2642455 - ReturnStatement 2642456 2642481 - Identifier 2642463 2642480 - IfStatement 2642481 2642558 - BinaryExpression 2642495 2642531 - Identifier 2642495 2642509 - EqualsEqualsEqualsToken 2642509 2642513 - Identifier 2642513 2642531 - ReturnStatement 2642532 2642558 - Identifier 2642539 2642557 - VariableStatement 2642558 2642627 - VariableDeclarationList 2642558 2642626 - VariableDeclaration 2642573 2642626 - ObjectBindingPattern 2642573 2642609 - BindingElement 2642575 2642585 - Identifier 2642575 2642585 - BindingElement 2642586 2642597 - Identifier 2642586 2642597 - BindingElement 2642598 2642607 - Identifier 2642598 2642607 - Identifier 2642611 2642626 - IfStatement 2642627 2642811 - Identifier 2642728 2642737 - Block 2642738 2642811 - ExpressionStatement 2642740 2642800 - CallExpression 2642740 2642799 - Identifier 2642740 2642776 - TrueKeyword 2642777 2642798 - ReturnStatement 2642811 2643009 - CallExpression 2642827 2643008 - Identifier 2642827 2642848 - BinaryExpression 2642849 2642910 - CallExpression 2642849 2642899 - Identifier 2642849 2642877 - Identifier 2642878 2642887 - Identifier 2642888 2642898 - BarBarToken 2642899 2642902 - Identifier 2642902 2642910 - BinaryExpression 2642911 2642973 - CallExpression 2642911 2642962 - Identifier 2642911 2642939 - Identifier 2642940 2642950 - Identifier 2642951 2642961 - BarBarToken 2642962 2642965 - Identifier 2642965 2642973 - Identifier 2642974 2642996 - FunctionDeclaration 2643016 2646966 - Identifier 2643501 2643535 - Parameter 2643536 2643546 - Identifier 2643536 2643540 - TypeReference 2643541 2643546 - Identifier 2643541 2643546 - Parameter 2643547 2643565 - Identifier 2643547 2643551 - TypeReference 2643552 2643565 - Identifier 2643552 2643565 - Parameter 2643566 2643594 - Identifier 2643566 2643576 - UnionType 2643577 2643594 - TypeReference 2643577 2643582 - Identifier 2643577 2643582 - UndefinedKeyword 2643584 2643594 - Parameter 2643595 2643650 - Identifier 2643595 2643616 - UnionType 2643617 2643650 - TypeReference 2643617 2643638 - Identifier 2643617 2643638 - UndefinedKeyword 2643640 2643650 - Block 2643651 2646966 - IfStatement 2643653 2643735 - CallExpression 2643667 2643682 - Identifier 2643667 2643676 - Identifier 2643677 2643681 - Block 2643683 2643735 - ReturnStatement 2643685 2643724 - Identifier 2643705 2643723 - VariableStatement 2643735 2643998 - VariableDeclarationList 2643735 2643997 - VariableDeclaration 2643981 2643997 - Identifier 2643981 2643989 - FalseKeyword 2643991 2643997 - IfStatement 2643998 2644719 - BinaryExpression 2644014 2644057 - Identifier 2644014 2644017 - AmpersandToken 2644017 2644019 - PropertyAccessExpression 2644019 2644057 - Identifier 2644019 2644032 - Identifier 2644033 2644057 - Block 2644058 2644719 - VariableStatement 2644060 2644253 - VariableDeclarationList 2644060 2644252 - VariableDeclaration 2644079 2644252 - Identifier 2644079 2644094 - BinaryExpression 2644096 2644252 - CallExpression 2644096 2644165 - Identifier 2644096 2644130 - Identifier 2644131 2644135 - Identifier 2644136 2644164 - BarBarToken 2644165 2644168 - CallExpression 2644168 2644252 - Identifier 2644168 2644217 - Identifier 2644218 2644222 - Identifier 2644223 2644251 - IfStatement 2644253 2644708 - Identifier 2644271 2644285 - Block 2644286 2644708 - IfStatement 2644288 2644693 - BinaryExpression 2644310 2644358 - BinaryExpression 2644310 2644345 - Identifier 2644310 2644324 - EqualsEqualsEqualsToken 2644324 2644328 - Identifier 2644328 2644345 - AmpersandAmpersandToken 2644345 2644348 - Identifier 2644348 2644358 - Block 2644359 2644465 - ExpressionStatement 2644361 2644446 - BinaryExpression 2644361 2644445 - Identifier 2644361 2644438 - EqualsToken 2644438 2644440 - TrueKeyword 2644440 2644445 - Block 2644487 2644693 - ReturnStatement 2644489 2644674 - ConditionalExpression 2644517 2644673 - BinaryExpression 2644517 2644546 - Identifier 2644517 2644521 - AmpersandToken 2644521 2644523 - PropertyAccessExpression 2644523 2644546 - Identifier 2644523 2644536 - Identifier 2644537 2644546 - QuestionToken 2644546 2644548 - CallExpression 2644548 2644631 - Identifier 2644548 2644604 - Identifier 2644605 2644619 - Identifier 2644620 2644630 - ColonToken 2644631 2644633 - Identifier 2644633 2644673 - IfStatement 2644719 2645901 - BinaryExpression 2644735 2644777 - Identifier 2644735 2644738 - AmpersandToken 2644738 2644740 - PropertyAccessExpression 2644740 2644777 - Identifier 2644740 2644753 - Identifier 2644754 2644777 - Block 2644778 2645901 - VariableStatement 2644780 2644969 - VariableDeclarationList 2644780 2644968 - VariableDeclaration 2644797 2644968 - Identifier 2644797 2644812 - BinaryExpression 2644814 2644968 - CallExpression 2644814 2644882 - Identifier 2644814 2644848 - Identifier 2644849 2644853 - Identifier 2644854 2644881 - BarBarToken 2644882 2644885 - CallExpression 2644885 2644968 - Identifier 2644885 2644934 - Identifier 2644935 2644939 - Identifier 2644940 2644967 - IfStatement 2644969 2645890 - Identifier 2644987 2645001 - Block 2645002 2645890 - IfStatement 2645004 2645875 - BinaryExpression 2645026 2645074 - BinaryExpression 2645026 2645061 - Identifier 2645026 2645040 - EqualsEqualsEqualsToken 2645040 2645044 - Identifier 2645044 2645061 - AmpersandAmpersandToken 2645061 2645064 - Identifier 2645064 2645074 - Block 2645075 2645181 - ExpressionStatement 2645077 2645162 - BinaryExpression 2645077 2645161 - Identifier 2645077 2645154 - EqualsToken 2645154 2645156 - TrueKeyword 2645156 2645161 - Block 2645203 2645875 - IfStatement 2645205 2645856 - BinaryExpression 2645231 2645274 - Identifier 2645231 2645234 - AmpersandToken 2645234 2645236 - PropertyAccessExpression 2645236 2645274 - Identifier 2645236 2645249 - Identifier 2645250 2645274 - Block 2645275 2645757 - IfStatement 2645277 2645734 - BinaryExpression 2645421 2645456 - Identifier 2645421 2645435 - ExclamationEqualsEqualsToken 2645435 2645439 - Identifier 2645439 2645456 - Block 2645457 2645734 - ExpressionStatement 2645459 2645564 - BinaryExpression 2645459 2645563 - Identifier 2645459 2645503 - EqualsToken 2645503 2645505 - CallExpression 2645505 2645563 - Identifier 2645505 2645536 - Identifier 2645537 2645551 - Identifier 2645552 2645562 - ReturnStatement 2645564 2645707 - ConditionalExpression 2645600 2645706 - Identifier 2645600 2645608 - QuestionToken 2645608 2645610 - Identifier 2645610 2645625 - ColonToken 2645625 2645627 - CallExpression 2645627 2645706 - Identifier 2645627 2645651 - Identifier 2645652 2645656 - StringLiteral 2645657 2645689 - Identifier 2645690 2645705 - Block 2645783 2645856 - ReturnStatement 2645785 2645833 - Identifier 2645817 2645832 - IfStatement 2645901 2646231 - BinaryExpression 2645917 2645960 - Identifier 2645917 2645920 - AmpersandToken 2645920 2645922 - PropertyAccessExpression 2645922 2645960 - Identifier 2645922 2645935 - Identifier 2645936 2645960 - Block 2645961 2646231 - VariableStatement 2645963 2646109 - VariableDeclarationList 2645963 2646108 - VariableDeclaration 2645982 2646108 - Identifier 2645982 2645997 - CallExpression 2645999 2646108 - Identifier 2645999 2646031 - Identifier 2646032 2646036 - Identifier 2646037 2646065 - Identifier 2646066 2646076 - Identifier 2646077 2646098 - Identifier 2646099 2646107 - IfStatement 2646109 2646220 - BinaryExpression 2646127 2646162 - Identifier 2646127 2646141 - ExclamationEqualsEqualsToken 2646141 2646145 - Identifier 2646145 2646162 - Block 2646163 2646220 - ReturnStatement 2646165 2646205 - Identifier 2646189 2646204 - IfStatement 2646231 2646923 - BinaryExpression 2646247 2646289 - Identifier 2646247 2646250 - AmpersandToken 2646250 2646252 - PropertyAccessExpression 2646252 2646289 - Identifier 2646252 2646265 - Identifier 2646266 2646289 - Block 2646290 2646923 - VariableStatement 2646292 2646435 - VariableDeclarationList 2646292 2646434 - VariableDeclaration 2646309 2646434 - Identifier 2646309 2646324 - CallExpression 2646326 2646434 - Identifier 2646326 2646358 - Identifier 2646359 2646363 - Identifier 2646364 2646391 - Identifier 2646392 2646402 - Identifier 2646403 2646424 - Identifier 2646425 2646433 - IfStatement 2646435 2646912 - BinaryExpression 2646453 2646488 - Identifier 2646453 2646467 - ExclamationEqualsEqualsToken 2646467 2646471 - Identifier 2646471 2646488 - Block 2646489 2646912 - IfStatement 2646491 2646897 - BinaryExpression 2646513 2646556 - Identifier 2646513 2646516 - AmpersandToken 2646516 2646518 - PropertyAccessExpression 2646518 2646556 - Identifier 2646518 2646531 - Identifier 2646532 2646556 - Block 2646557 2646810 - ExpressionStatement 2646559 2646656 - BinaryExpression 2646559 2646655 - Identifier 2646559 2646595 - EqualsToken 2646595 2646597 - CallExpression 2646597 2646655 - Identifier 2646597 2646628 - Identifier 2646629 2646643 - Identifier 2646644 2646654 - ReturnStatement 2646656 2646791 - ConditionalExpression 2646684 2646790 - Identifier 2646684 2646692 - QuestionToken 2646692 2646694 - Identifier 2646694 2646709 - ColonToken 2646709 2646711 - CallExpression 2646711 2646790 - Identifier 2646711 2646735 - Identifier 2646736 2646740 - StringLiteral 2646741 2646773 - Identifier 2646774 2646789 - Block 2646832 2646897 - ReturnStatement 2646834 2646878 - Identifier 2646862 2646877 - ReturnStatement 2646923 2646959 - Identifier 2646941 2646958 - FunctionDeclaration 2646966 2647428 - Identifier 2647265 2647299 - Parameter 2647300 2647310 - Identifier 2647300 2647304 - TypeReference 2647305 2647310 - Identifier 2647305 2647310 - Parameter 2647311 2647344 - Identifier 2647311 2647320 - TypeReference 2647321 2647344 - Identifier 2647321 2647344 - Block 2647345 2647428 - ReturnStatement 2647347 2647421 - CallExpression 2647363 2647420 - Identifier 2647363 2647387 - Identifier 2647388 2647392 - PropertyAccessExpression 2647393 2647419 - Identifier 2647393 2647402 - Identifier 2647403 2647419 - FunctionDeclaration 2647428 2650328 - Identifier 2648052 2648084 - Parameter 2648085 2648095 - Identifier 2648085 2648089 - TypeReference 2648090 2648095 - Identifier 2648090 2648095 - Parameter 2648096 2648129 - Identifier 2648096 2648105 - TypeReference 2648106 2648129 - Identifier 2648106 2648129 - Block 2648130 2650328 - IfStatement 2648132 2649439 - BinaryExpression 2648653 2649049 - BinaryExpression 2648653 2648952 - BinaryExpression 2648653 2648848 - CallExpression 2648653 2648746 - Identifier 2648653 2648684 - Identifier 2648685 2648689 - CallExpression 2648690 2648745 - PropertyAccessExpression 2648690 2648721 - Identifier 2648690 2648699 - Identifier 2648700 2648721 - FalseKeyword 2648722 2648744 - BarBarToken 2648746 2648749 - CallExpression 2648749 2648848 - Identifier 2648749 2648780 - Identifier 2648781 2648785 - CallExpression 2648786 2648847 - PropertyAccessExpression 2648786 2648823 - Identifier 2648786 2648795 - Identifier 2648796 2648823 - FalseKeyword 2648824 2648846 - BarBarToken 2648848 2648851 - CallExpression 2648851 2648952 - Identifier 2648851 2648882 - Identifier 2648883 2648887 - CallExpression 2648888 2648951 - PropertyAccessExpression 2648888 2648927 - Identifier 2648888 2648897 - Identifier 2648898 2648927 - FalseKeyword 2648928 2648950 - BarBarToken 2648952 2648955 - CallExpression 2648955 2649049 - Identifier 2648955 2648986 - Identifier 2648987 2648991 - CallExpression 2648992 2649048 - PropertyAccessExpression 2648992 2649024 - Identifier 2648992 2649001 - Identifier 2649002 2649024 - FalseKeyword 2649025 2649047 - Block 2649060 2649439 - VariableStatement 2649062 2649156 - VariableDeclarationList 2649062 2649155 - VariableDeclaration 2649081 2649155 - ArrayBindingPattern 2649081 2649115 - BindingElement 2649083 2649092 - Identifier 2649083 2649092 - BindingElement 2649093 2649104 - Identifier 2649093 2649104 - BindingElement 2649105 2649114 - Identifier 2649105 2649114 - CallExpression 2649117 2649155 - Identifier 2649117 2649134 - AsExpression 2649135 2649154 - Identifier 2649135 2649139 - TypeReference 2649142 2649154 - Identifier 2649142 2649154 - ReturnStatement 2649156 2649428 - CallExpression 2649176 2649427 - Identifier 2649176 2649200 - Identifier 2649201 2649205 - PropertyAccessExpression 2649206 2649232 - Identifier 2649206 2649215 - Identifier 2649216 2649232 - CallExpression 2649233 2649426 - Identifier 2649233 2649254 - BinaryExpression 2649255 2649333 - CallExpression 2649255 2649320 - PropertyAccessExpression 2649255 2649284 - Identifier 2649255 2649263 - Identifier 2649264 2649284 - Identifier 2649285 2649294 - Identifier 2649295 2649319 - BarBarToken 2649320 2649323 - Identifier 2649323 2649333 - BinaryExpression 2649334 2649415 - CallExpression 2649334 2649401 - PropertyAccessExpression 2649334 2649364 - Identifier 2649334 2649343 - Identifier 2649344 2649364 - Identifier 2649365 2649375 - Identifier 2649376 2649400 - BarBarToken 2649401 2649404 - Identifier 2649404 2649415 - Identifier 2649416 2649425 - IfStatement 2649439 2650321 - CallExpression 2649787 2649856 - Identifier 2649787 2649808 - Identifier 2649809 2649813 - CallExpression 2649814 2649855 - PropertyAccessExpression 2649814 2649853 - Identifier 2649814 2649823 - Identifier 2649824 2649853 - Block 2649857 2650321 - VariableStatement 2649859 2649931 - VariableDeclarationList 2649859 2649930 - VariableDeclaration 2649878 2649930 - ArrayBindingPattern 2649878 2649890 - BindingElement 2649880 2649889 - Identifier 2649880 2649889 - CallExpression 2649892 2649930 - Identifier 2649892 2649909 - AsExpression 2649910 2649929 - Identifier 2649910 2649914 - TypeReference 2649917 2649929 - Identifier 2649917 2649929 - VariableStatement 2649931 2649995 - VariableDeclarationList 2649931 2649994 - VariableDeclaration 2649950 2649994 - Identifier 2649950 2649961 - CallExpression 2649963 2649994 - Identifier 2649963 2649992 - VariableStatement 2649995 2650038 - VariableDeclarationList 2649995 2650037 - VariableDeclaration 2650014 2650037 - Identifier 2650014 2650023 - Identifier 2650025 2650037 - ReturnStatement 2650038 2650310 - CallExpression 2650058 2650309 - Identifier 2650058 2650082 - Identifier 2650083 2650087 - PropertyAccessExpression 2650088 2650114 - Identifier 2650088 2650097 - Identifier 2650098 2650114 - CallExpression 2650115 2650308 - Identifier 2650115 2650136 - BinaryExpression 2650137 2650215 - CallExpression 2650137 2650202 - PropertyAccessExpression 2650137 2650166 - Identifier 2650137 2650145 - Identifier 2650146 2650166 - Identifier 2650167 2650176 - Identifier 2650177 2650201 - BarBarToken 2650202 2650205 - Identifier 2650205 2650215 - BinaryExpression 2650216 2650297 - CallExpression 2650216 2650283 - PropertyAccessExpression 2650216 2650246 - Identifier 2650216 2650225 - Identifier 2650226 2650246 - Identifier 2650247 2650257 - Identifier 2650258 2650282 - BarBarToken 2650283 2650286 - Identifier 2650286 2650297 - Identifier 2650298 2650307 - FunctionDeclaration 2650328 2650774 - Identifier 2650344 2650378 - Parameter 2650379 2650397 - Identifier 2650379 2650389 - StringKeyword 2650390 2650397 - TypeReference 2650399 2650408 - Identifier 2650399 2650408 - Block 2650408 2650774 - VariableStatement 2650410 2650496 - VariableDeclarationList 2650410 2650495 - VariableDeclaration 2650425 2650495 - Identifier 2650425 2650434 - CallExpression 2650436 2650495 - Identifier 2650436 2650471 - FalseKeyword 2650472 2650494 - VariableStatement 2650496 2650626 - VariableDeclarationList 2650496 2650625 - VariableDeclaration 2650511 2650625 - Identifier 2650511 2650522 - BinaryExpression 2650524 2650625 - Identifier 2650524 2650533 - AmpersandAmpersandToken 2650533 2650536 - CallExpression 2650536 2650625 - Identifier 2650536 2650560 - CallExpression 2650561 2650586 - Identifier 2650561 2650576 - Identifier 2650577 2650585 - CallExpression 2650587 2650624 - Identifier 2650587 2650612 - Identifier 2650613 2650623 - ReturnStatement 2650626 2650767 - ConditionalExpression 2650642 2650766 - BinaryExpression 2650642 2650695 - Identifier 2650642 2650653 - AmpersandAmpersandToken 2650653 2650656 - CallExpression 2650656 2650695 - Identifier 2650656 2650683 - Identifier 2650684 2650694 - QuestionToken 2650695 2650697 - CallExpression 2650697 2650733 - Identifier 2650697 2650721 - Identifier 2650722 2650732 - ColonToken 2650733 2650735 - AsExpression 2650735 2650766 - TemplateExpression 2650735 2650754 - TemplateHead 2650735 2650742 - TemplateSpan 2650742 2650754 - Identifier 2650742 2650752 - TemplateTail 2650752 2650754 - TypeReference 2650757 2650766 - Identifier 2650757 2650766 - FunctionDeclaration 2650774 2652862 - Identifier 2651248 2651280 - Parameter 2651281 2651291 - Identifier 2651281 2651285 - TypeReference 2651286 2651291 - Identifier 2651286 2651291 - Parameter 2651292 2651325 - Identifier 2651292 2651301 - TypeReference 2651302 2651325 - Identifier 2651302 2651325 - Parameter 2651326 2651354 - Identifier 2651326 2651336 - UnionType 2651337 2651354 - TypeReference 2651337 2651342 - Identifier 2651337 2651342 - UndefinedKeyword 2651344 2651354 - Parameter 2651355 2651410 - Identifier 2651355 2651376 - UnionType 2651377 2651410 - TypeReference 2651377 2651398 - Identifier 2651377 2651398 - UndefinedKeyword 2651400 2651410 - Parameter 2651411 2651428 - Identifier 2651411 2651419 - BooleanKeyword 2651420 2651428 - Block 2651429 2652862 - VariableStatement 2651431 2651544 - VariableDeclarationList 2651431 2651543 - VariableDeclaration 2651446 2651543 - Identifier 2651446 2651453 - CallExpression 2651455 2651543 - Identifier 2651455 2651473 - Identifier 2651474 2651478 - CallExpression 2651479 2651542 - Identifier 2651479 2651513 - PropertyAccessExpression 2651514 2651541 - Identifier 2651514 2651522 - Identifier 2651523 2651541 - VariableStatement 2651544 2651660 - VariableDeclarationList 2651544 2651659 - VariableDeclaration 2651559 2651659 - Identifier 2651559 2651570 - ConditionalExpression 2651572 2651659 - BinaryExpression 2651572 2651621 - Identifier 2651572 2651579 - AmpersandAmpersandToken 2651579 2651582 - PrefixUnaryExpression 2651582 2651621 - ParenthesizedExpression 2651584 2651621 - BinaryExpression 2651585 2651620 - PropertyAccessExpression 2651585 2651597 - Identifier 2651585 2651591 - Identifier 2651592 2651597 - AmpersandToken 2651597 2651599 - PropertyAccessExpression 2651599 2651620 - Identifier 2651599 2651611 - Identifier 2651612 2651620 - QuestionToken 2651621 2651623 - CallExpression 2651623 2651647 - Identifier 2651623 2651639 - Identifier 2651640 2651646 - ColonToken 2651647 2651649 - Identifier 2651649 2651659 - IfStatement 2651660 2651836 - CallExpression 2651674 2651695 - Identifier 2651674 2651683 - Identifier 2651684 2651694 - Block 2651696 2651836 - ReturnStatement 2651698 2651825 - ConditionalExpression 2651718 2651824 - Identifier 2651718 2651726 - QuestionToken 2651726 2651728 - Identifier 2651728 2651746 - ColonToken 2651746 2651748 - CallExpression 2651748 2651824 - Identifier 2651748 2651772 - Identifier 2651773 2651777 - PropertyAccessExpression 2651778 2651804 - Identifier 2651778 2651787 - Identifier 2651788 2651804 - Identifier 2651805 2651823 - VariableStatement 2651836 2651947 - VariableDeclarationList 2651836 2651946 - VariableDeclaration 2651853 2651946 - Identifier 2651853 2651867 - ConditionalExpression 2651869 2651946 - Identifier 2651869 2651880 - QuestionToken 2651880 2651882 - CallExpression 2651882 2651934 - Identifier 2651882 2651902 - Identifier 2651903 2651913 - PropertyAccessExpression 2651914 2651933 - Identifier 2651914 2651928 - Identifier 2651929 2651933 - ColonToken 2651934 2651936 - Identifier 2651936 2651946 - VariableStatement 2651947 2652042 - VariableDeclarationList 2651947 2652041 - VariableDeclaration 2651962 2652041 - Identifier 2651962 2651978 - CallExpression 2651980 2652041 - Identifier 2651980 2651987 - Identifier 2651988 2652001 - ArrowFunction 2652002 2652040 - Parameter 2652002 2652006 - Identifier 2652002 2652006 - EqualsGreaterThanToken 2652006 2652009 - BinaryExpression 2652009 2652040 - CallExpression 2652009 2652034 - Identifier 2652009 2652029 - Identifier 2652030 2652033 - EqualsEqualsEqualsToken 2652034 2652038 - NumericLiteral 2652038 2652040 - IfStatement 2652042 2652484 - PrefixUnaryExpression 2652056 2652078 - CallExpression 2652057 2652078 - Identifier 2652057 2652061 - Identifier 2652062 2652077 - Block 2652079 2652484 - IfStatement 2652081 2652348 - BinaryExpression 2652099 2652131 - Identifier 2652099 2652108 - AmpersandAmpersandToken 2652108 2652111 - CallExpression 2652111 2652131 - Identifier 2652111 2652116 - Identifier 2652117 2652130 - Block 2652132 2652348 - ExpressionStatement 2652134 2652333 - CallExpression 2652134 2652332 - Identifier 2652134 2652173 - Identifier 2652174 2652178 - CallExpression 2652179 2652233 - PropertyAccessExpression 2652179 2652210 - Identifier 2652179 2652188 - Identifier 2652189 2652210 - TrueKeyword 2652211 2652232 - Identifier 2652234 2652244 - Identifier 2652245 2652271 - Identifier 2652272 2652309 - Identifier 2652310 2652331 - ReturnStatement 2652348 2652473 - ConditionalExpression 2652368 2652472 - Identifier 2652368 2652376 - QuestionToken 2652376 2652378 - Identifier 2652378 2652395 - ColonToken 2652395 2652397 - CallExpression 2652397 2652472 - Identifier 2652397 2652421 - Identifier 2652422 2652426 - PropertyAccessExpression 2652427 2652453 - Identifier 2652427 2652436 - Identifier 2652437 2652453 - Identifier 2652454 2652471 - VariableStatement 2652484 2652585 - VariableDeclarationList 2652484 2652584 - VariableDeclaration 2652501 2652584 - Identifier 2652501 2652514 - CallExpression 2652516 2652584 - Identifier 2652516 2652536 - CallExpression 2652537 2652583 - Identifier 2652537 2652540 - Identifier 2652541 2652556 - Identifier 2652557 2652582 - VariableStatement 2652585 2652738 - VariableDeclarationList 2652585 2652737 - VariableDeclaration 2652600 2652737 - Identifier 2652600 2652615 - BinaryExpression 2652617 2652737 - CallExpression 2652617 2652717 - Identifier 2652617 2652651 - Identifier 2652652 2652664 - Identifier 2652665 2652674 - Identifier 2652675 2652685 - Identifier 2652686 2652707 - Identifier 2652708 2652716 - QuestionQuestionToken 2652717 2652720 - Identifier 2652720 2652737 - ReturnStatement 2652738 2652855 - ConditionalExpression 2652754 2652854 - Identifier 2652754 2652762 - QuestionToken 2652762 2652764 - Identifier 2652764 2652779 - ColonToken 2652779 2652781 - CallExpression 2652781 2652854 - Identifier 2652781 2652805 - Identifier 2652806 2652810 - PropertyAccessExpression 2652811 2652837 - Identifier 2652811 2652820 - Identifier 2652821 2652837 - Identifier 2652838 2652853 - FunctionDeclaration 2652862 2653961 - Identifier 2652878 2652905 - Parameter 2652906 2652921 - Identifier 2652906 2652915 - TypeReference 2652916 2652921 - Identifier 2652916 2652921 - Parameter 2652922 2652933 - Identifier 2652922 2652927 - TypeReference 2652928 2652933 - Identifier 2652928 2652933 - Parameter 2652934 2652963 - Identifier 2652934 2652954 - BooleanKeyword 2652955 2652963 - TypeReference 2652965 2652976 - Identifier 2652965 2652976 - Block 2652976 2653961 - VariableStatement 2652978 2653223 - VariableDeclarationList 2652978 2653222 - VariableDeclaration 2652993 2653222 - Identifier 2652993 2653001 - ConditionalExpression 2653003 2653222 - Identifier 2653003 2653023 - QuestionToken 2653023 2653038 - PropertyAccessExpression 2653038 2653128 - Identifier 2653038 2653050 - Identifier 2653051 2653128 - ColonToken 2653128 2653143 - PropertyAccessExpression 2653143 2653222 - Identifier 2653143 2653155 - Identifier 2653156 2653222 - VariableStatement 2653223 2653857 - VariableDeclarationList 2653223 2653856 - VariableDeclaration 2653238 2653856 - Identifier 2653238 2653251 - BinaryExpression 2653253 2653856 - PrefixUnaryExpression 2653253 2653365 - PrefixUnaryExpression 2653335 2653365 - CallExpression 2653336 2653365 - Identifier 2653336 2653359 - Identifier 2653360 2653364 - BarBarToken 2653365 2653433 - ParenthesizedExpression 2653433 2653856 - BinaryExpression 2653435 2653841 - BinaryExpression 2653435 2653682 - BinaryExpression 2653435 2653590 - BinaryExpression 2653435 2653528 - PrefixUnaryExpression 2653435 2653473 - Identifier 2653454 2653473 - AmpersandAmpersandToken 2653473 2653476 - CallExpression 2653476 2653528 - Identifier 2653476 2653510 - PropertyAccessExpression 2653511 2653527 - Identifier 2653511 2653520 - Identifier 2653521 2653527 - AmpersandAmpersandToken 2653528 2653531 - BinaryExpression 2653531 2653590 - PropertyAccessExpression 2653531 2653576 - PropertyAccessExpression 2653531 2653565 - Identifier 2653531 2653558 - Identifier 2653559 2653565 - Identifier 2653566 2653576 - EqualsEqualsEqualsToken 2653576 2653580 - Identifier 2653580 2653590 - AmpersandAmpersandToken 2653590 2653593 - BinaryExpression 2653593 2653682 - CallExpression 2653593 2653661 - Identifier 2653593 2653637 - FalseKeyword 2653638 2653660 - ExclamationEqualsEqualsToken 2653661 2653665 - Identifier 2653665 2653682 - AmpersandAmpersandToken 2653682 2653685 - CallExpression 2653685 2653841 - Identifier 2653685 2653721 - Identifier 2653722 2653726 - CallExpression 2653727 2653840 - Identifier 2653727 2653759 - CallExpression 2653760 2653810 - Identifier 2653760 2653786 - FalseKeyword 2653787 2653809 - ArrayLiteralExpression 2653811 2653839 - Identifier 2653813 2653820 - Identifier 2653821 2653829 - Identifier 2653830 2653838 - ReturnStatement 2653857 2653954 - CallExpression 2653873 2653953 - Identifier 2653873 2653899 - Identifier 2653900 2653909 - Identifier 2653910 2653923 - Identifier 2653924 2653932 - CallExpression 2653933 2653952 - Identifier 2653933 2653946 - Identifier 2653947 2653951 - FunctionDeclaration 2653961 2654555 - Identifier 2654268 2654296 - Parameter 2654297 2654307 - Identifier 2654297 2654301 - TypeReference 2654302 2654307 - Identifier 2654302 2654307 - Parameter 2654308 2654341 - Identifier 2654308 2654317 - TypeReference 2654318 2654341 - Identifier 2654318 2654341 - Parameter 2654342 2654370 - Identifier 2654342 2654352 - UnionType 2654353 2654370 - TypeReference 2654353 2654358 - Identifier 2654353 2654358 - UndefinedKeyword 2654360 2654370 - Parameter 2654371 2654426 - Identifier 2654371 2654392 - UnionType 2654393 2654426 - TypeReference 2654393 2654414 - Identifier 2654393 2654414 - UndefinedKeyword 2654416 2654426 - Block 2654427 2654555 - ReturnStatement 2654429 2654548 - CallExpression 2654445 2654547 - Identifier 2654445 2654479 - Identifier 2654480 2654484 - Identifier 2654485 2654494 - Identifier 2654495 2654505 - Identifier 2654506 2654527 - FalseKeyword 2654528 2654546 - FunctionDeclaration 2654555 2655771 - Identifier 2654999 2655033 - Parameter 2655034 2655044 - Identifier 2655034 2655038 - TypeReference 2655039 2655044 - Identifier 2655039 2655044 - Parameter 2655045 2655078 - Identifier 2655045 2655054 - TypeReference 2655055 2655078 - Identifier 2655055 2655078 - Parameter 2655079 2655107 - Identifier 2655079 2655089 - UnionType 2655090 2655107 - TypeReference 2655090 2655095 - Identifier 2655090 2655095 - UndefinedKeyword 2655097 2655107 - Parameter 2655108 2655163 - Identifier 2655108 2655129 - UnionType 2655130 2655163 - TypeReference 2655130 2655151 - Identifier 2655130 2655151 - UndefinedKeyword 2655153 2655163 - Parameter 2655164 2655181 - Identifier 2655164 2655172 - BooleanKeyword 2655173 2655181 - Block 2655182 2655771 - IfStatement 2655184 2655266 - CallExpression 2655198 2655213 - Identifier 2655198 2655207 - Identifier 2655208 2655212 - Block 2655214 2655266 - ReturnStatement 2655216 2655255 - Identifier 2655236 2655254 - VariableStatement 2655266 2655413 - VariableDeclarationList 2655266 2655412 - VariableDeclaration 2655281 2655412 - Identifier 2655281 2655296 - BinaryExpression 2655298 2655412 - CallExpression 2655298 2655348 - Identifier 2655298 2655332 - Identifier 2655333 2655337 - Identifier 2655338 2655347 - BarBarToken 2655348 2655351 - CallExpression 2655351 2655412 - Identifier 2655351 2655396 - Identifier 2655397 2655401 - Identifier 2655402 2655411 - IfStatement 2655413 2655561 - BinaryExpression 2655429 2655477 - BinaryExpression 2655429 2655464 - Identifier 2655429 2655443 - EqualsEqualsEqualsToken 2655443 2655447 - Identifier 2655447 2655464 - AmpersandAmpersandToken 2655464 2655467 - Identifier 2655467 2655477 - Block 2655478 2655561 - ExpressionStatement 2655480 2655521 - BinaryExpression 2655480 2655520 - Identifier 2655480 2655508 - EqualsToken 2655508 2655510 - Identifier 2655510 2655520 - ExpressionStatement 2655521 2655550 - BinaryExpression 2655521 2655549 - Identifier 2655521 2655542 - EqualsToken 2655542 2655544 - TrueKeyword 2655544 2655549 - ExpressionStatement 2655561 2655682 - BinaryExpression 2655561 2655681 - Identifier 2655561 2655587 - QuestionQuestionEqualsToken 2655587 2655591 - CallExpression 2655591 2655681 - Identifier 2655591 2655623 - Identifier 2655624 2655628 - Identifier 2655629 2655638 - Identifier 2655639 2655649 - Identifier 2655650 2655671 - Identifier 2655672 2655680 - ReturnStatement 2655682 2655764 - ConditionalExpression 2655698 2655763 - BinaryExpression 2655698 2655734 - Identifier 2655698 2655713 - EqualsEqualsEqualsToken 2655713 2655717 - Identifier 2655717 2655734 - QuestionToken 2655734 2655736 - Identifier 2655736 2655746 - ColonToken 2655746 2655748 - Identifier 2655748 2655763 - FunctionDeclaration 2655771 2656213 - Identifier 2656050 2656084 - Parameter 2656085 2656095 - Identifier 2656085 2656089 - TypeReference 2656090 2656095 - Identifier 2656090 2656095 - Parameter 2656096 2656129 - Identifier 2656096 2656105 - TypeReference 2656106 2656129 - Identifier 2656106 2656129 - Block 2656130 2656213 - ReturnStatement 2656132 2656206 - CallExpression 2656148 2656205 - Identifier 2656148 2656172 - Identifier 2656173 2656177 - PropertyAccessExpression 2656178 2656204 - Identifier 2656178 2656187 - Identifier 2656188 2656204 - FunctionDeclaration 2656213 2658836 - Identifier 2656830 2656862 - Parameter 2656863 2656873 - Identifier 2656863 2656867 - TypeReference 2656868 2656873 - Identifier 2656868 2656873 - Parameter 2656874 2656907 - Identifier 2656874 2656883 - TypeReference 2656884 2656907 - Identifier 2656884 2656907 - Block 2656908 2658836 - IfStatement 2656910 2658086 - BinaryExpression 2657439 2657835 - BinaryExpression 2657439 2657738 - BinaryExpression 2657439 2657636 - CallExpression 2657439 2657540 - Identifier 2657439 2657470 - Identifier 2657471 2657475 - CallExpression 2657476 2657539 - PropertyAccessExpression 2657476 2657515 - Identifier 2657476 2657485 - Identifier 2657486 2657515 - FalseKeyword 2657516 2657538 - BarBarToken 2657540 2657543 - CallExpression 2657543 2657636 - Identifier 2657543 2657574 - Identifier 2657575 2657579 - CallExpression 2657580 2657635 - PropertyAccessExpression 2657580 2657611 - Identifier 2657580 2657589 - Identifier 2657590 2657611 - FalseKeyword 2657612 2657634 - BarBarToken 2657636 2657639 - CallExpression 2657639 2657738 - Identifier 2657639 2657670 - Identifier 2657671 2657675 - CallExpression 2657676 2657737 - PropertyAccessExpression 2657676 2657713 - Identifier 2657676 2657685 - Identifier 2657686 2657713 - FalseKeyword 2657714 2657736 - BarBarToken 2657738 2657741 - CallExpression 2657741 2657835 - Identifier 2657741 2657772 - Identifier 2657773 2657777 - CallExpression 2657778 2657834 - PropertyAccessExpression 2657778 2657810 - Identifier 2657778 2657787 - Identifier 2657788 2657810 - FalseKeyword 2657811 2657833 - Block 2657846 2658086 - VariableStatement 2657848 2657942 - VariableDeclarationList 2657848 2657941 - VariableDeclaration 2657867 2657941 - ArrayBindingPattern 2657867 2657901 - BindingElement 2657869 2657878 - Identifier 2657869 2657878 - BindingElement 2657879 2657890 - Identifier 2657879 2657890 - BindingElement 2657891 2657900 - Identifier 2657891 2657900 - CallExpression 2657903 2657941 - Identifier 2657903 2657920 - AsExpression 2657921 2657940 - Identifier 2657921 2657925 - TypeReference 2657928 2657940 - Identifier 2657928 2657940 - ReturnStatement 2657942 2658075 - CallExpression 2657962 2658074 - Identifier 2657962 2657986 - Identifier 2657987 2657991 - PropertyAccessExpression 2657992 2658018 - Identifier 2657992 2658001 - Identifier 2658002 2658018 - CallExpression 2658019 2658073 - Identifier 2658019 2658040 - Identifier 2658041 2658050 - Identifier 2658051 2658062 - Identifier 2658063 2658072 - IfStatement 2658086 2658829 - CallExpression 2658434 2658503 - Identifier 2658434 2658455 - Identifier 2658456 2658460 - CallExpression 2658461 2658502 - PropertyAccessExpression 2658461 2658500 - Identifier 2658461 2658470 - Identifier 2658471 2658500 - Block 2658504 2658829 - VariableStatement 2658506 2658578 - VariableDeclarationList 2658506 2658577 - VariableDeclaration 2658525 2658577 - ArrayBindingPattern 2658525 2658537 - BindingElement 2658527 2658536 - Identifier 2658527 2658536 - CallExpression 2658539 2658577 - Identifier 2658539 2658556 - AsExpression 2658557 2658576 - Identifier 2658557 2658561 - TypeReference 2658564 2658576 - Identifier 2658564 2658576 - VariableStatement 2658578 2658642 - VariableDeclarationList 2658578 2658641 - VariableDeclaration 2658597 2658641 - Identifier 2658597 2658608 - CallExpression 2658610 2658641 - Identifier 2658610 2658639 - VariableStatement 2658642 2658685 - VariableDeclarationList 2658642 2658684 - VariableDeclaration 2658661 2658684 - Identifier 2658661 2658670 - Identifier 2658672 2658684 - ReturnStatement 2658685 2658818 - CallExpression 2658705 2658817 - Identifier 2658705 2658729 - Identifier 2658730 2658734 - PropertyAccessExpression 2658735 2658761 - Identifier 2658735 2658744 - Identifier 2658745 2658761 - CallExpression 2658762 2658816 - Identifier 2658762 2658783 - Identifier 2658784 2658793 - Identifier 2658794 2658805 - Identifier 2658806 2658815 - FunctionDeclaration 2658836 2659558 - Identifier 2658852 2658869 - Parameter 2658870 2658880 - Identifier 2658870 2658874 - TypeReference 2658875 2658880 - Identifier 2658875 2658880 - Parameter 2658881 2658938 - Identifier 2658881 2658886 - UnionType 2658887 2658938 - TypeReference 2658887 2658911 - QualifiedName 2658887 2658911 - Identifier 2658887 2658905 - Identifier 2658906 2658911 - TypeReference 2658913 2658938 - QualifiedName 2658913 2658938 - Identifier 2658913 2658931 - Identifier 2658932 2658938 - Block 2658939 2659558 - VariableStatement 2658941 2659448 - VariableDeclarationList 2658941 2659447 - VariableDeclaration 2659373 2659447 - Identifier 2659373 2659382 - BinaryExpression 2659384 2659447 - CallExpression 2659384 2659434 - Identifier 2659384 2659408 - Identifier 2659409 2659413 - AsExpression 2659414 2659433 - StringLiteral 2659414 2659421 - TypeReference 2659424 2659433 - Identifier 2659424 2659433 - BarBarToken 2659434 2659437 - Identifier 2659437 2659447 - ReturnStatement 2659448 2659551 - CallExpression 2659464 2659550 - Identifier 2659464 2659483 - ConditionalExpression 2659484 2659539 - BinaryExpression 2659484 2659516 - Identifier 2659484 2659488 - EqualsEqualsEqualsToken 2659488 2659492 - PropertyAccessExpression 2659492 2659516 - Identifier 2659492 2659510 - Identifier 2659511 2659516 - QuestionToken 2659516 2659518 - Identifier 2659518 2659528 - ColonToken 2659528 2659530 - Identifier 2659530 2659539 - Identifier 2659540 2659549 - FunctionDeclaration 2659558 2659682 - Identifier 2659574 2659596 - Parameter 2659597 2659607 - Identifier 2659597 2659601 - TypeReference 2659602 2659607 - Identifier 2659602 2659607 - Block 2659608 2659682 - ReturnStatement 2659610 2659675 - CallExpression 2659626 2659674 - Identifier 2659626 2659643 - Identifier 2659644 2659648 - PropertyAccessExpression 2659649 2659673 - Identifier 2659649 2659667 - Identifier 2659668 2659673 - FunctionDeclaration 2659682 2659808 - Identifier 2659698 2659721 - Parameter 2659722 2659732 - Identifier 2659722 2659726 - TypeReference 2659727 2659732 - Identifier 2659727 2659732 - Block 2659733 2659808 - ReturnStatement 2659735 2659801 - CallExpression 2659751 2659800 - Identifier 2659751 2659768 - Identifier 2659769 2659773 - PropertyAccessExpression 2659774 2659799 - Identifier 2659774 2659792 - Identifier 2659793 2659799 - FunctionDeclaration 2659808 2662537 - Identifier 2660153 2660187 - Parameter 2660188 2660198 - Identifier 2660188 2660192 - TypeReference 2660193 2660198 - Identifier 2660193 2660198 - Block 2660199 2662537 - IfStatement 2660201 2660283 - CallExpression 2660215 2660230 - Identifier 2660215 2660224 - Identifier 2660225 2660229 - Block 2660231 2660283 - ReturnStatement 2660233 2660272 - Identifier 2660253 2660271 - VariableStatement 2660283 2660379 - VariableDeclarationList 2660283 2660378 - VariableDeclaration 2660300 2660378 - Identifier 2660300 2660312 - CallExpression 2660314 2660378 - Identifier 2660314 2660338 - Identifier 2660339 2660343 - StringLiteral 2660344 2660377 - IfStatement 2660379 2660451 - Identifier 2660393 2660404 - Block 2660405 2660451 - ReturnStatement 2660407 2660440 - Identifier 2660427 2660439 - IfStatement 2660451 2661001 - CallExpression 2660665 2660746 - Identifier 2660665 2660682 - Identifier 2660683 2660687 - CallExpression 2660688 2660745 - Identifier 2660688 2660721 - FalseKeyword 2660722 2660744 - Block 2660747 2661001 - VariableStatement 2660749 2660822 - VariableDeclarationList 2660749 2660821 - VariableDeclaration 2660768 2660821 - Identifier 2660768 2660778 - ElementAccessExpression 2660780 2660821 - CallExpression 2660780 2660818 - Identifier 2660780 2660797 - AsExpression 2660798 2660817 - Identifier 2660798 2660802 - TypeReference 2660805 2660817 - Identifier 2660805 2660817 - NumericLiteral 2660819 2660820 - ReturnStatement 2660822 2660990 - CallExpression 2660842 2660989 - Identifier 2660842 2660866 - Identifier 2660867 2660871 - StringLiteral 2660872 2660905 - CallExpression 2660906 2660988 - Identifier 2660906 2660927 - Identifier 2660928 2660937 - Identifier 2660938 2660963 - Identifier 2660964 2660987 - IfStatement 2661001 2661353 - CallExpression 2661015 2661097 - Identifier 2661015 2661032 - Identifier 2661033 2661037 - CallExpression 2661038 2661096 - Identifier 2661038 2661072 - FalseKeyword 2661073 2661095 - Block 2661098 2661353 - VariableStatement 2661100 2661174 - VariableDeclarationList 2661100 2661173 - VariableDeclaration 2661119 2661173 - Identifier 2661119 2661130 - ElementAccessExpression 2661132 2661173 - CallExpression 2661132 2661170 - Identifier 2661132 2661149 - AsExpression 2661150 2661169 - Identifier 2661150 2661154 - TypeReference 2661157 2661169 - Identifier 2661157 2661169 - NumericLiteral 2661171 2661172 - ReturnStatement 2661174 2661342 - CallExpression 2661194 2661341 - Identifier 2661194 2661218 - Identifier 2661219 2661223 - StringLiteral 2661224 2661257 - CallExpression 2661258 2661340 - Identifier 2661258 2661279 - Identifier 2661280 2661303 - Identifier 2661304 2661315 - Identifier 2661316 2661339 - VariableStatement 2661353 2661516 - VariableDeclarationList 2661353 2661515 - VariableDeclaration 2661453 2661515 - Identifier 2661453 2661473 - CallExpression 2661475 2661515 - Identifier 2661475 2661486 - Identifier 2661487 2661491 - Identifier 2661492 2661514 - VariableStatement 2661516 2661658 - VariableDeclarationList 2661516 2661657 - VariableDeclaration 2661531 2661657 - Identifier 2661531 2661541 - ConditionalExpression 2661543 2661657 - BinaryExpression 2661543 2661577 - Identifier 2661543 2661563 - ExclamationEqualsEqualsToken 2661563 2661567 - Identifier 2661567 2661577 - QuestionToken 2661577 2661579 - CallExpression 2661579 2661645 - Identifier 2661579 2661603 - Identifier 2661604 2661623 - AsExpression 2661624 2661644 - StringLiteral 2661624 2661632 - TypeReference 2661635 2661644 - Identifier 2661635 2661644 - ColonToken 2661645 2661647 - Identifier 2661647 2661657 - VariableStatement 2661658 2661740 - VariableDeclarationList 2661658 2661739 - VariableDeclaration 2661675 2661739 - Identifier 2661675 2661696 - CallExpression 2661698 2661739 - Identifier 2661698 2661709 - Identifier 2661710 2661714 - Identifier 2661715 2661738 - VariableStatement 2661740 2661885 - VariableDeclarationList 2661740 2661884 - VariableDeclaration 2661755 2661884 - Identifier 2661755 2661766 - ConditionalExpression 2661768 2661884 - BinaryExpression 2661768 2661803 - Identifier 2661768 2661789 - ExclamationEqualsEqualsToken 2661789 2661793 - Identifier 2661793 2661803 - QuestionToken 2661803 2661805 - CallExpression 2661805 2661872 - Identifier 2661805 2661829 - Identifier 2661830 2661850 - AsExpression 2661851 2661871 - StringLiteral 2661851 2661859 - TypeReference 2661862 2661871 - Identifier 2661862 2661871 - ColonToken 2661872 2661874 - Identifier 2661874 2661884 - IfStatement 2661885 2662043 - BinaryExpression 2661901 2661926 - PrefixUnaryExpression 2661901 2661911 - Identifier 2661902 2661911 - AmpersandAmpersandToken 2661911 2661914 - PrefixUnaryExpression 2661914 2661926 - Identifier 2661916 2661926 - Block 2661927 2662043 - ReturnStatement 2661929 2662032 - CallExpression 2661949 2662031 - Identifier 2661949 2661973 - Identifier 2661974 2661978 - StringLiteral 2661979 2662012 - Identifier 2662013 2662030 - ReturnStatement 2662043 2662530 - CallExpression 2662384 2662529 - Identifier 2662384 2662408 - Identifier 2662409 2662413 - StringLiteral 2662414 2662447 - CallExpression 2662448 2662528 - Identifier 2662448 2662469 - Identifier 2662470 2662479 - BinaryExpression 2662480 2662503 - Identifier 2662480 2662491 - BarBarToken 2662491 2662494 - Identifier 2662494 2662503 - Identifier 2662504 2662527 - FunctionDeclaration 2662537 2669152 - Identifier 2662899 2662925 - Parameter 2662926 2662936 - Identifier 2662926 2662930 - TypeReference 2662931 2662936 - Identifier 2662931 2662936 - Parameter 2662937 2662970 - Identifier 2662937 2662946 - TypeReference 2662947 2662970 - Identifier 2662947 2662970 - Parameter 2662971 2663011 - Identifier 2662971 2662982 - UnionType 2662983 2663011 - LiteralType 2662983 2662990 - StringLiteral 2662983 2662990 - LiteralType 2662992 2663001 - StringLiteral 2662992 2663001 - LiteralType 2663003 2663011 - StringLiteral 2663003 2663011 - Parameter 2663012 2663040 - Identifier 2663012 2663022 - UnionType 2663023 2663040 - TypeReference 2663023 2663028 - Identifier 2663023 2663028 - UndefinedKeyword 2663030 2663040 - Parameter 2663041 2663096 - Identifier 2663041 2663062 - UnionType 2663063 2663096 - TypeReference 2663063 2663084 - Identifier 2663063 2663084 - UndefinedKeyword 2663086 2663096 - UnionType 2663098 2663125 - TypeReference 2663098 2663113 - Identifier 2663098 2663113 - UndefinedKeyword 2663115 2663125 - Block 2663125 2669152 - VariableStatement 2663127 2663200 - VariableDeclarationList 2663127 2663199 - VariableDeclaration 2663142 2663199 - Identifier 2663142 2663149 - CallExpression 2663151 2663199 - Identifier 2663151 2663169 - Identifier 2663170 2663174 - AsExpression 2663175 2663198 - Identifier 2663175 2663186 - TypeReference 2663189 2663198 - Identifier 2663189 2663198 - IfStatement 2663200 2663353 - BinaryExpression 2663276 2663308 - PrefixUnaryExpression 2663276 2663283 - Identifier 2663277 2663283 - AmpersandAmpersandToken 2663283 2663286 - BinaryExpression 2663286 2663308 - Identifier 2663286 2663297 - ExclamationEqualsEqualsToken 2663297 2663301 - StringLiteral 2663301 2663308 - Block 2663309 2663353 - ReturnStatement 2663311 2663342 - Identifier 2663331 2663341 - VariableStatement 2663353 2663621 - VariableDeclarationList 2663353 2663620 - VariableDeclaration 2663370 2663620 - Identifier 2663370 2663381 - ConditionalExpression 2663383 2663620 - BinaryExpression 2663383 2663459 - Identifier 2663383 2663390 - AmpersandAmpersandToken 2663390 2663393 - PrefixUnaryExpression 2663393 2663459 - ParenthesizedExpression 2663395 2663459 - BinaryExpression 2663396 2663458 - BinaryExpression 2663396 2663417 - Identifier 2663396 2663406 - EqualsEqualsEqualsToken 2663406 2663410 - StringLiteral 2663410 2663417 - AmpersandAmpersandToken 2663417 2663420 - ParenthesizedExpression 2663420 2663458 - BinaryExpression 2663422 2663457 - PropertyAccessExpression 2663422 2663434 - Identifier 2663422 2663428 - Identifier 2663429 2663434 - AmpersandToken 2663434 2663436 - PropertyAccessExpression 2663436 2663457 - Identifier 2663436 2663448 - Identifier 2663449 2663457 - QuestionToken 2663459 2663474 - ConditionalExpression 2663474 2663595 - BinaryExpression 2663474 2663496 - Identifier 2663474 2663485 - EqualsEqualsEqualsToken 2663485 2663489 - StringLiteral 2663489 2663496 - QuestionToken 2663496 2663498 - CallExpression 2663498 2663522 - Identifier 2663498 2663514 - Identifier 2663515 2663521 - ColonToken 2663522 2663524 - CallExpression 2663524 2663595 - Identifier 2663524 2663541 - CallExpression 2663542 2663565 - Identifier 2663542 2663557 - Identifier 2663558 2663564 - PropertyAccessExpression 2663566 2663594 - Identifier 2663566 2663576 - Identifier 2663577 2663594 - ColonToken 2663595 2663610 - Identifier 2663610 2663620 - IfStatement 2663621 2663711 - CallExpression 2663637 2663658 - Identifier 2663637 2663646 - Identifier 2663647 2663657 - Block 2663659 2663711 - ReturnStatement 2663661 2663700 - Identifier 2663681 2663699 - VariableStatement 2663711 2663902 - VariableDeclarationList 2663711 2663901 - VariableDeclaration 2663804 2663901 - Identifier 2663804 2663821 - ConditionalExpression 2663823 2663901 - Identifier 2663823 2663834 - QuestionToken 2663834 2663836 - CallExpression 2663836 2663888 - Identifier 2663836 2663856 - Identifier 2663857 2663867 - PropertyAccessExpression 2663868 2663887 - Identifier 2663868 2663882 - Identifier 2663883 2663887 - ColonToken 2663888 2663890 - Identifier 2663890 2663901 - IfStatement 2663902 2664597 - BinaryExpression 2663916 2663945 - PropertyAccessExpression 2663916 2663939 - Identifier 2663916 2663932 - Identifier 2663933 2663939 - EqualsEqualsEqualsToken 2663939 2663943 - NumericLiteral 2663943 2663945 - Block 2663946 2664597 - IfStatement 2663948 2664512 - Identifier 2663966 2663975 - Block 2663976 2664512 - VariableStatement 2663978 2664155 - VariableDeclarationList 2663978 2664154 - VariableDeclaration 2664001 2664154 - Identifier 2664001 2664012 - ConditionalExpression 2664014 2664154 - BinaryExpression 2664014 2664036 - Identifier 2664014 2664025 - EqualsEqualsEqualsToken 2664025 2664029 - StringLiteral 2664029 2664036 - QuestionToken 2664036 2664059 - PropertyAccessExpression 2664059 2664098 - Identifier 2664059 2664068 - Identifier 2664069 2664098 - ColonToken 2664098 2664121 - PropertyAccessExpression 2664121 2664154 - Identifier 2664121 2664130 - Identifier 2664131 2664154 - IfStatement 2664155 2664497 - Identifier 2664177 2664197 - Block 2664198 2664391 - ExpressionStatement 2664200 2664257 - BinaryExpression 2664200 2664256 - PropertyAccessExpression 2664200 2664249 - Identifier 2664200 2664242 - Identifier 2664243 2664249 - QuestionQuestionEqualsToken 2664249 2664253 - ArrayLiteralExpression 2664253 2664256 - ExpressionStatement 2664257 2664372 - CallExpression 2664257 2664371 - PropertyAccessExpression 2664257 2664311 - PropertyAccessExpression 2664257 2664306 - Identifier 2664257 2664299 - Identifier 2664300 2664306 - Identifier 2664307 2664311 - CallExpression 2664312 2664370 - Identifier 2664312 2664335 - Identifier 2664336 2664345 - Identifier 2664346 2664357 - Identifier 2664358 2664369 - Block 2664413 2664497 - ExpressionStatement 2664415 2664478 - CallExpression 2664415 2664477 - Identifier 2664415 2664442 - Identifier 2664443 2664452 - Identifier 2664453 2664464 - Identifier 2664465 2664476 - ReturnStatement 2664512 2664586 - ConditionalExpression 2664532 2664585 - BinaryExpression 2664532 2664554 - Identifier 2664532 2664543 - EqualsEqualsEqualsToken 2664543 2664547 - StringLiteral 2664547 2664554 - QuestionToken 2664554 2664556 - Identifier 2664556 2664573 - ColonToken 2664573 2664575 - Identifier 2664575 2664585 - IfStatement 2664597 2666395 - BinaryExpression 2665296 2665347 - PropertyAccessExpression 2665296 2665314 - Identifier 2665296 2665306 - QuestionDotToken 2665306 2665308 - Identifier 2665308 2665314 - AmpersandAmpersandToken 2665314 2665317 - BinaryExpression 2665317 2665347 - PropertyAccessExpression 2665317 2665341 - Identifier 2665317 2665334 - Identifier 2665335 2665341 - EqualsEqualsEqualsToken 2665341 2665345 - NumericLiteral 2665345 2665347 - Block 2665348 2666395 - VariableStatement 2665350 2665448 - VariableDeclarationList 2665350 2665447 - VariableDeclaration 2665369 2665447 - Identifier 2665369 2665389 - CallExpression 2665391 2665447 - PropertyAccessExpression 2665391 2665423 - Identifier 2665391 2665400 - Identifier 2665401 2665423 - FalseKeyword 2665424 2665446 - VariableStatement 2665448 2665544 - VariableDeclarationList 2665448 2665543 - VariableDeclaration 2665467 2665543 - Identifier 2665467 2665486 - CallExpression 2665488 2665543 - PropertyAccessExpression 2665488 2665519 - Identifier 2665488 2665497 - Identifier 2665498 2665519 - FalseKeyword 2665520 2665542 - VariableStatement 2665544 2665671 - VariableDeclarationList 2665544 2665670 - VariableDeclaration 2665563 2665670 - Identifier 2665563 2665581 - BinaryExpression 2665583 2665670 - CallExpression 2665583 2665648 - PropertyAccessExpression 2665583 2665624 - PropertyAccessExpression 2665583 2665619 - PropertyAccessExpression 2665583 2665610 - Identifier 2665583 2665603 - Identifier 2665604 2665610 - QuestionDotToken 2665610 2665612 - Identifier 2665612 2665619 - QuestionDotToken 2665619 2665621 - Identifier 2665621 2665624 - AsExpression 2665625 2665647 - Identifier 2665625 2665635 - TypeReference 2665638 2665647 - Identifier 2665638 2665647 - EqualsEqualsEqualsToken 2665648 2665652 - PropertyAccessExpression 2665652 2665670 - Identifier 2665652 2665663 - Identifier 2665664 2665670 - VariableStatement 2665671 2665818 - VariableDeclarationList 2665671 2665817 - VariableDeclaration 2665690 2665817 - Identifier 2665690 2665707 - BinaryExpression 2665709 2665817 - PrefixUnaryExpression 2665709 2665728 - Identifier 2665711 2665728 - AmpersandAmpersandToken 2665728 2665731 - BinaryExpression 2665731 2665817 - CallExpression 2665731 2665795 - PropertyAccessExpression 2665731 2665771 - PropertyAccessExpression 2665731 2665766 - PropertyAccessExpression 2665731 2665757 - Identifier 2665731 2665750 - Identifier 2665751 2665757 - QuestionDotToken 2665757 2665759 - Identifier 2665759 2665766 - QuestionDotToken 2665766 2665768 - Identifier 2665768 2665771 - AsExpression 2665772 2665794 - Identifier 2665772 2665782 - TypeReference 2665785 2665794 - Identifier 2665785 2665794 - EqualsEqualsEqualsToken 2665795 2665799 - PropertyAccessExpression 2665799 2665817 - Identifier 2665799 2665810 - Identifier 2665811 2665817 - IfStatement 2665818 2666384 - BinaryExpression 2665836 2665873 - Identifier 2665836 2665853 - BarBarToken 2665853 2665856 - Identifier 2665856 2665873 - Block 2665874 2666384 - VariableStatement 2665876 2665974 - VariableDeclarationList 2665876 2665973 - VariableDeclaration 2665899 2665973 - Identifier 2665899 2665910 - ConditionalExpression 2665912 2665973 - Identifier 2665912 2665930 - QuestionToken 2665930 2665932 - Identifier 2665932 2665952 - ColonToken 2665952 2665954 - Identifier 2665954 2665973 - VariableStatement 2665974 2666039 - VariableDeclarationList 2665974 2666038 - VariableDeclaration 2665997 2666038 - ObjectBindingPattern 2665997 2666008 - BindingElement 2665999 2666006 - Identifier 2665999 2666006 - AsExpression 2666010 2666038 - Identifier 2666010 2666021 - TypeReference 2666024 2666038 - Identifier 2666024 2666038 - ReturnStatement 2666039 2666369 - CallExpression 2666063 2666368 - Identifier 2666063 2666084 - CallExpression 2666085 2666160 - Identifier 2666085 2666120 - ElementAccessExpression 2666121 2666150 - NonNullExpression 2666121 2666147 - PropertyAccessExpression 2666121 2666146 - Identifier 2666121 2666131 - Identifier 2666132 2666146 - NumericLiteral 2666148 2666149 - NonNullExpression 2666151 2666159 - Identifier 2666151 2666158 - CallExpression 2666161 2666236 - Identifier 2666161 2666196 - ElementAccessExpression 2666197 2666226 - NonNullExpression 2666197 2666223 - PropertyAccessExpression 2666197 2666222 - Identifier 2666197 2666207 - Identifier 2666208 2666222 - NumericLiteral 2666224 2666225 - NonNullExpression 2666227 2666235 - Identifier 2666227 2666234 - ConditionalExpression 2666237 2666348 - BinaryExpression 2666237 2666280 - Identifier 2666237 2666269 - EqualsEqualsEqualsToken 2666269 2666273 - StringLiteral 2666273 2666280 - QuestionToken 2666280 2666282 - CallExpression 2666282 2666336 - Identifier 2666282 2666296 - ElementAccessExpression 2666297 2666326 - NonNullExpression 2666297 2666323 - PropertyAccessExpression 2666297 2666322 - Identifier 2666297 2666307 - Identifier 2666308 2666322 - NumericLiteral 2666324 2666325 - NonNullExpression 2666327 2666335 - Identifier 2666327 2666334 - ColonToken 2666336 2666338 - Identifier 2666338 2666348 - VariableStatement 2666395 2666527 - VariableDeclarationList 2666395 2666526 - VariableDeclaration 2666485 2666526 - Identifier 2666485 2666506 - UnionType 2666507 2666526 - ArrayType 2666507 2666514 - TypeReference 2666507 2666512 - Identifier 2666507 2666512 - UndefinedKeyword 2666516 2666526 - VariableStatement 2666527 2666579 - VariableDeclarationList 2666527 2666578 - VariableDeclaration 2666540 2666578 - Identifier 2666540 2666558 - UnionType 2666559 2666578 - ArrayType 2666559 2666566 - TypeReference 2666559 2666564 - Identifier 2666559 2666564 - UndefinedKeyword 2666568 2666578 - ForOfStatement 2666579 2666931 - VariableDeclarationList 2666594 2666609 - VariableDeclaration 2666599 2666609 - Identifier 2666599 2666609 - Identifier 2666612 2666629 - Block 2666630 2666931 - IfStatement 2666632 2666823 - BinaryExpression 2666650 2666702 - BinaryExpression 2666650 2666672 - Identifier 2666650 2666660 - ExclamationEqualsEqualsToken 2666660 2666664 - StringLiteral 2666664 2666672 - AmpersandAmpersandToken 2666672 2666675 - CallExpression 2666675 2666702 - Identifier 2666675 2666680 - PropertyAccessExpression 2666681 2666701 - Identifier 2666681 2666690 - Identifier 2666691 2666701 - Block 2666703 2666823 - ExpressionStatement 2666705 2666808 - BinaryExpression 2666705 2666807 - Identifier 2666705 2666743 - EqualsToken 2666743 2666745 - CallExpression 2666745 2666807 - Identifier 2666745 2666752 - Identifier 2666753 2666773 - CallExpression 2666774 2666806 - Identifier 2666774 2666792 - Identifier 2666793 2666802 - NumericLiteral 2666803 2666805 - ExpressionStatement 2666823 2666920 - BinaryExpression 2666823 2666919 - Identifier 2666823 2666854 - EqualsToken 2666854 2666856 - CallExpression 2666856 2666919 - Identifier 2666856 2666863 - Identifier 2666864 2666881 - CallExpression 2666882 2666918 - Identifier 2666882 2666907 - Identifier 2666908 2666917 - VariableStatement 2666931 2667114 - VariableDeclarationList 2666931 2667113 - VariableDeclaration 2667081 2667113 - Identifier 2667081 2667093 - UnionType 2667094 2667113 - ArrayType 2667094 2667101 - TypeReference 2667094 2667099 - Identifier 2667094 2667099 - UndefinedKeyword 2667103 2667113 - VariableStatement 2667114 2667155 - VariableDeclarationList 2667114 2667154 - VariableDeclaration 2667127 2667154 - Identifier 2667127 2667136 - UnionType 2667137 2667154 - TypeReference 2667137 2667142 - Identifier 2667137 2667142 - UndefinedKeyword 2667144 2667154 - IfStatement 2667155 2667863 - BinaryExpression 2667169 2667191 - Identifier 2667169 2667179 - ExclamationEqualsEqualsToken 2667179 2667183 - StringLiteral 2667183 2667191 - Block 2667192 2667863 - VariableStatement 2667194 2667308 - VariableDeclarationList 2667194 2667307 - VariableDeclaration 2667213 2667307 - Identifier 2667213 2667233 - ConditionalExpression 2667235 2667307 - Identifier 2667235 2667256 - QuestionToken 2667256 2667258 - CallExpression 2667258 2667293 - Identifier 2667258 2667271 - Identifier 2667272 2667292 - ColonToken 2667293 2667295 - Identifier 2667295 2667307 - IfStatement 2667308 2667852 - BinaryExpression 2667326 2667347 - Identifier 2667326 2667336 - EqualsEqualsEqualsToken 2667336 2667340 - StringLiteral 2667340 2667347 - Block 2667348 2667498 - ExpressionStatement 2667350 2667483 - BinaryExpression 2667350 2667482 - Identifier 2667350 2667460 - EqualsToken 2667460 2667462 - Identifier 2667462 2667482 - IfStatement 2667516 2667852 - BinaryExpression 2667521 2667544 - Identifier 2667521 2667531 - EqualsEqualsEqualsToken 2667531 2667535 - StringLiteral 2667535 2667544 - Block 2667545 2667852 - VariableStatement 2667547 2667756 - VariableDeclarationList 2667547 2667755 - VariableDeclaration 2667652 2667755 - Identifier 2667652 2667680 - BinaryExpression 2667682 2667755 - CallExpression 2667682 2667744 - PropertyAccessExpression 2667682 2667712 - Identifier 2667682 2667691 - Identifier 2667692 2667712 - Identifier 2667713 2667732 - Identifier 2667733 2667743 - BarBarToken 2667744 2667747 - Identifier 2667747 2667755 - ExpressionStatement 2667756 2667837 - BinaryExpression 2667756 2667836 - Identifier 2667756 2667785 - EqualsToken 2667785 2667787 - CallExpression 2667787 2667836 - Identifier 2667787 2667794 - Identifier 2667795 2667806 - Identifier 2667807 2667835 - VariableStatement 2667863 2668005 - VariableDeclarationList 2667863 2668004 - VariableDeclaration 2667988 2668004 - Identifier 2667988 2667998 - TypeReference 2667999 2668004 - Identifier 2667999 2668004 - VariableStatement 2668005 2668111 - VariableDeclarationList 2668005 2668110 - VariableDeclaration 2668020 2668110 - Identifier 2668020 2668037 - ConditionalExpression 2668039 2668110 - Identifier 2668039 2668057 - QuestionToken 2668057 2668059 - CallExpression 2668059 2668098 - Identifier 2668059 2668079 - Identifier 2668080 2668097 - ColonToken 2668098 2668100 - Identifier 2668100 2668110 - VariableStatement 2668111 2668224 - VariableDeclarationList 2668111 2668223 - VariableDeclaration 2668126 2668223 - Identifier 2668126 2668151 - BinaryExpression 2668153 2668223 - CallExpression 2668153 2668212 - PropertyAccessExpression 2668153 2668183 - Identifier 2668153 2668162 - Identifier 2668163 2668183 - Identifier 2668184 2668200 - Identifier 2668201 2668211 - BarBarToken 2668212 2668215 - Identifier 2668215 2668223 - VariableStatement 2668224 2668317 - VariableDeclarationList 2668224 2668316 - VariableDeclaration 2668239 2668316 - Identifier 2668239 2668254 - CallExpression 2668256 2668316 - Identifier 2668256 2668290 - Identifier 2668291 2668315 - IfStatement 2668317 2669057 - BinaryExpression 2668331 2668366 - Identifier 2668331 2668345 - EqualsEqualsEqualsToken 2668345 2668349 - Identifier 2668349 2668366 - Block 2668367 2668904 - IfStatement 2668369 2668802 - Identifier 2668387 2668396 - Block 2668397 2668802 - IfStatement 2668399 2668787 - Identifier 2668421 2668441 - Block 2668442 2668658 - ExpressionStatement 2668444 2668501 - BinaryExpression 2668444 2668500 - PropertyAccessExpression 2668444 2668493 - Identifier 2668444 2668486 - Identifier 2668487 2668493 - QuestionQuestionEqualsToken 2668493 2668497 - ArrayLiteralExpression 2668497 2668500 - ExpressionStatement 2668501 2668639 - CallExpression 2668501 2668638 - PropertyAccessExpression 2668501 2668555 - PropertyAccessExpression 2668501 2668550 - Identifier 2668501 2668543 - Identifier 2668544 2668550 - Identifier 2668551 2668555 - CallExpression 2668556 2668637 - Identifier 2668556 2668579 - Identifier 2668580 2668589 - PropertyAccessExpression 2668590 2668624 - Identifier 2668590 2668599 - Identifier 2668600 2668624 - Identifier 2668625 2668636 - Block 2668680 2668787 - ExpressionStatement 2668682 2668768 - CallExpression 2668682 2668767 - Identifier 2668682 2668709 - Identifier 2668710 2668719 - PropertyAccessExpression 2668720 2668754 - Identifier 2668720 2668729 - Identifier 2668730 2668754 - Identifier 2668755 2668766 - ExpressionStatement 2668802 2668836 - BinaryExpression 2668802 2668835 - Identifier 2668802 2668825 - EqualsToken 2668825 2668827 - Identifier 2668827 2668835 - ExpressionStatement 2668836 2668893 - BinaryExpression 2668836 2668892 - Identifier 2668836 2668861 - EqualsToken 2668861 2668863 - CallExpression 2668863 2668892 - Identifier 2668863 2668870 - Identifier 2668871 2668882 - Identifier 2668883 2668891 - Block 2668918 2669057 - ExpressionStatement 2668920 2668971 - BinaryExpression 2668920 2668970 - Identifier 2668920 2668943 - EqualsToken 2668943 2668945 - PropertyAccessExpression 2668945 2668970 - Identifier 2668945 2668960 - Identifier 2668961 2668970 - ExpressionStatement 2668971 2669046 - BinaryExpression 2668971 2669045 - Identifier 2668971 2668996 - EqualsToken 2668996 2668998 - CallExpression 2668998 2669045 - Identifier 2668998 2669005 - Identifier 2669006 2669017 - PropertyAccessExpression 2669018 2669044 - Identifier 2669018 2669033 - Identifier 2669034 2669044 - ReturnStatement 2669057 2669145 - CallExpression 2669075 2669144 - Identifier 2669075 2669096 - Identifier 2669097 2669106 - CallExpression 2669107 2669133 - Identifier 2669107 2669120 - Identifier 2669121 2669132 - Identifier 2669134 2669143 - FunctionDeclaration 2669152 2670296 - Identifier 2669626 2669658 - Parameter 2669659 2669669 - Identifier 2669659 2669663 - TypeReference 2669664 2669669 - Identifier 2669664 2669669 - Parameter 2669670 2669703 - Identifier 2669670 2669679 - TypeReference 2669680 2669703 - Identifier 2669680 2669703 - Parameter 2669704 2669732 - Identifier 2669704 2669714 - UnionType 2669715 2669732 - TypeReference 2669715 2669720 - Identifier 2669715 2669720 - UndefinedKeyword 2669722 2669732 - Parameter 2669733 2669788 - Identifier 2669733 2669754 - UnionType 2669755 2669788 - TypeReference 2669755 2669776 - Identifier 2669755 2669776 - UndefinedKeyword 2669778 2669788 - Parameter 2669789 2669806 - Identifier 2669789 2669797 - BooleanKeyword 2669798 2669806 - Block 2669807 2670296 - VariableStatement 2669809 2670172 - VariableDeclarationList 2669809 2670171 - VariableDeclaration 2669824 2670171 - Identifier 2669824 2669839 - CallExpression 2669841 2670171 - Identifier 2669841 2669863 - ArrayLiteralExpression 2669864 2670170 - CallExpression 2669865 2669961 - Identifier 2669865 2669904 - Identifier 2669905 2669909 - Identifier 2669910 2669919 - StringLiteral 2669920 2669927 - Identifier 2669928 2669938 - Identifier 2669939 2669960 - CallExpression 2669962 2670060 - Identifier 2669962 2670001 - Identifier 2670002 2670006 - Identifier 2670007 2670016 - StringLiteral 2670017 2670026 - Identifier 2670027 2670037 - Identifier 2670038 2670059 - CallExpression 2670061 2670158 - Identifier 2670061 2670100 - Identifier 2670101 2670105 - Identifier 2670106 2670115 - StringLiteral 2670116 2670124 - Identifier 2670125 2670135 - Identifier 2670136 2670157 - ReturnStatement 2670172 2670289 - ConditionalExpression 2670188 2670288 - Identifier 2670188 2670196 - QuestionToken 2670196 2670198 - Identifier 2670198 2670213 - ColonToken 2670213 2670215 - CallExpression 2670215 2670288 - Identifier 2670215 2670239 - Identifier 2670240 2670244 - PropertyAccessExpression 2670245 2670271 - Identifier 2670245 2670254 - Identifier 2670255 2670271 - Identifier 2670272 2670287 - FunctionDeclaration 2670296 2671087 - Identifier 2670653 2670699 - Parameter 2670700 2670723 - Identifier 2670700 2670704 - TypeReference 2670705 2670723 - Identifier 2670705 2670723 - Parameter 2670724 2670741 - Identifier 2670724 2670735 - TypeReference 2670736 2670741 - Identifier 2670736 2670741 - Parameter 2670742 2670768 - Identifier 2670742 2670759 - BooleanKeyword 2670760 2670768 - UnionType 2670770 2670787 - TypeReference 2670770 2670775 - Identifier 2670770 2670775 - UndefinedKeyword 2670777 2670787 - Block 2670787 2671087 - IfStatement 2670789 2670869 - CallExpression 2670803 2670824 - Identifier 2670803 2670812 - Identifier 2670813 2670823 - Block 2670825 2670869 - ReturnStatement 2670827 2670858 - Identifier 2670847 2670857 - VariableStatement 2670869 2670981 - VariableDeclarationList 2670869 2670980 - VariableDeclaration 2670886 2670980 - Identifier 2670886 2670901 - CallExpression 2670903 2670980 - Identifier 2670903 2670950 - Identifier 2670951 2670961 - Identifier 2670962 2670979 - ReturnStatement 2670981 2671080 - BinaryExpression 2670997 2671079 - Identifier 2670997 2671012 - AmpersandAmpersandToken 2671012 2671015 - ElementAccessExpression 2671015 2671079 - Identifier 2671015 2671030 - CallExpression 2671031 2671078 - Identifier 2671031 2671072 - Identifier 2671073 2671077 - FunctionDeclaration 2671087 2671701 - Identifier 2671103 2671150 - Parameter 2671151 2671161 - Identifier 2671151 2671155 - TypeReference 2671156 2671161 - Identifier 2671156 2671161 - Parameter 2671162 2671188 - Identifier 2671162 2671179 - BooleanKeyword 2671180 2671188 - Block 2671189 2671701 - IfStatement 2671191 2671273 - CallExpression 2671205 2671220 - Identifier 2671205 2671214 - Identifier 2671215 2671219 - Block 2671221 2671273 - ReturnStatement 2671223 2671262 - Identifier 2671243 2671261 - VariableStatement 2671273 2671389 - VariableDeclarationList 2671273 2671388 - VariableDeclaration 2671290 2671388 - Identifier 2671290 2671294 - ConditionalExpression 2671296 2671388 - Identifier 2671296 2671313 - QuestionToken 2671313 2671315 - PropertyAccessExpression 2671315 2671353 - Identifier 2671315 2671328 - Identifier 2671329 2671353 - ColonToken 2671353 2671355 - PropertyAccessExpression 2671355 2671388 - Identifier 2671355 2671368 - Identifier 2671369 2671388 - VariableStatement 2671389 2671492 - VariableDeclarationList 2671389 2671491 - VariableDeclaration 2671404 2671491 - Identifier 2671404 2671413 - ConditionalExpression 2671415 2671491 - Identifier 2671415 2671432 - QuestionToken 2671432 2671434 - Identifier 2671434 2671462 - ColonToken 2671462 2671464 - Identifier 2671464 2671491 - ReturnStatement 2671492 2671694 - BinaryExpression 2671508 2671693 - CallExpression 2671508 2671572 - Identifier 2671508 2671536 - Identifier 2671537 2671541 - Identifier 2671542 2671546 - Identifier 2671547 2671571 - BarBarToken 2671572 2671575 - CallExpression 2671575 2671693 - Identifier 2671575 2671616 - Identifier 2671617 2671621 - Identifier 2671622 2671631 - Identifier 2671632 2671656 - Identifier 2671657 2671692 - FunctionDeclaration 2671701 2671973 - Identifier 2671717 2671747 - Parameter 2671748 2671778 - Identifier 2671748 2671752 - TypeReference 2671753 2671778 - Identifier 2671753 2671778 - Block 2671779 2671973 - IfStatement 2671781 2671913 - PrefixUnaryExpression 2671824 2671868 - CallExpression 2671825 2671868 - Identifier 2671825 2671862 - Identifier 2671863 2671867 - ExpressionStatement 2671869 2671913 - CallExpression 2671869 2671912 - Identifier 2671869 2671906 - Identifier 2671907 2671911 - FunctionDeclaration 2671973 2672670 - Identifier 2671989 2672006 - Parameter 2672007 2672023 - Identifier 2672007 2672017 - TypeReference 2672018 2672023 - Identifier 2672018 2672023 - Parameter 2672024 2672053 - Identifier 2672024 2672038 - TypeReference 2672039 2672053 - Identifier 2672039 2672053 - Block 2672054 2672670 - VariableStatement 2672056 2672130 - VariableDeclarationList 2672056 2672129 - VariableDeclaration 2672071 2672129 - Identifier 2672071 2672083 - PrefixUnaryExpression 2672085 2672129 - PrefixUnaryExpression 2672087 2672129 - ParenthesizedExpression 2672088 2672129 - BinaryExpression 2672089 2672128 - Identifier 2672089 2672102 - AmpersandToken 2672102 2672104 - PropertyAccessExpression 2672104 2672128 - Identifier 2672104 2672118 - Identifier 2672119 2672128 - VariableStatement 2672130 2672196 - VariableDeclarationList 2672130 2672195 - VariableDeclaration 2672145 2672195 - Identifier 2672145 2672153 - PrefixUnaryExpression 2672155 2672195 - PrefixUnaryExpression 2672157 2672195 - ParenthesizedExpression 2672158 2672195 - BinaryExpression 2672159 2672194 - Identifier 2672159 2672172 - AmpersandToken 2672172 2672174 - PropertyAccessExpression 2672174 2672194 - Identifier 2672174 2672188 - Identifier 2672189 2672194 - IfStatement 2672196 2672576 - Identifier 2672210 2672221 - Block 2672222 2672576 - VariableStatement 2672224 2672359 - VariableDeclarationList 2672224 2672358 - VariableDeclaration 2672243 2672358 - Identifier 2672243 2672263 - CallExpression 2672265 2672358 - Identifier 2672265 2672311 - PropertyAccessExpression 2672312 2672336 - Identifier 2672312 2672329 - Identifier 2672330 2672336 - Identifier 2672337 2672348 - Identifier 2672349 2672357 - IfStatement 2672359 2672450 - PrefixUnaryExpression 2672377 2672397 - Identifier 2672378 2672397 - Block 2672398 2672450 - ReturnStatement 2672400 2672435 - Identifier 2672424 2672434 - ReturnStatement 2672450 2672565 - ConditionalExpression 2672470 2672564 - Identifier 2672470 2672478 - QuestionToken 2672478 2672480 - CallExpression 2672480 2672542 - Identifier 2672480 2672502 - CallExpression 2672503 2672541 - Identifier 2672503 2672520 - Identifier 2672521 2672540 - ColonToken 2672542 2672544 - Identifier 2672544 2672564 - ReturnStatement 2672576 2672663 - ConditionalExpression 2672592 2672662 - Identifier 2672592 2672600 - QuestionToken 2672600 2672602 - BinaryExpression 2672602 2672649 - CallExpression 2672602 2672636 - Identifier 2672602 2672624 - Identifier 2672625 2672635 - BarBarToken 2672636 2672639 - Identifier 2672639 2672649 - ColonToken 2672649 2672651 - Identifier 2672651 2672662 - FunctionDeclaration 2672670 2672989 - Identifier 2672686 2672726 - Parameter 2672727 2672753 - Identifier 2672727 2672731 - TypeReference 2672732 2672753 - Identifier 2672732 2672753 - Parameter 2672754 2672771 - Identifier 2672754 2672765 - TypeReference 2672766 2672771 - Identifier 2672766 2672771 - BooleanKeyword 2672773 2672781 - Block 2672781 2672989 - VariableStatement 2672783 2672859 - VariableDeclarationList 2672783 2672858 - VariableDeclaration 2672798 2672858 - Identifier 2672798 2672803 - CallExpression 2672805 2672858 - Identifier 2672805 2672822 - Identifier 2672823 2672833 - CallExpression 2672834 2672857 - Identifier 2672834 2672851 - Identifier 2672852 2672856 - ReturnStatement 2672859 2672982 - PrefixUnaryExpression 2672875 2672981 - PrefixUnaryExpression 2672877 2672981 - ParenthesizedExpression 2672878 2672981 - BinaryExpression 2672879 2672980 - Identifier 2672879 2672883 - AmpersandAmpersandToken 2672883 2672886 - ParenthesizedExpression 2672886 2672980 - BinaryExpression 2672888 2672979 - CallExpression 2672888 2672925 - Identifier 2672888 2672903 - Identifier 2672904 2672908 - PropertyAccessExpression 2672909 2672924 - Identifier 2672909 2672919 - Identifier 2672920 2672924 - BarBarToken 2672925 2672928 - BinaryExpression 2672928 2672979 - PropertyAccessExpression 2672928 2672939 - Identifier 2672928 2672933 - Identifier 2672934 2672939 - AmpersandToken 2672939 2672941 - ParenthesizedExpression 2672941 2672979 - BinaryExpression 2672943 2672978 - PropertyAccessExpression 2672943 2672956 - Identifier 2672943 2672952 - Identifier 2672953 2672956 - BarToken 2672956 2672958 - PropertyAccessExpression 2672958 2672978 - Identifier 2672958 2672968 - Identifier 2672969 2672978 - FunctionDeclaration 2672989 2675340 - Identifier 2673005 2673026 - Parameter 2673027 2673048 - Identifier 2673027 2673031 - TypeReference 2673032 2673048 - Identifier 2673032 2673048 - Block 2673049 2675340 - IfStatement 2673051 2673172 - CallExpression 2673094 2673137 - Identifier 2673094 2673131 - Identifier 2673132 2673136 - Block 2673138 2673172 - ReturnStatement 2673140 2673161 - VariableStatement 2673172 2673248 - VariableDeclarationList 2673172 2673247 - VariableDeclaration 2673189 2673247 - Identifier 2673189 2673199 - CallExpression 2673201 2673247 - Identifier 2673201 2673241 - Identifier 2673242 2673246 - IfStatement 2673248 2673470 - BinaryExpression 2673262 2673315 - Identifier 2673262 2673271 - AmpersandAmpersandToken 2673271 2673274 - CallExpression 2673274 2673315 - Identifier 2673274 2673304 - Identifier 2673305 2673314 - Block 2673316 2673470 - ExpressionStatement 2673318 2673438 - CallExpression 2673318 2673437 - Identifier 2673318 2673356 - Identifier 2673357 2673361 - PropertyAccessExpression 2673362 2673436 - Identifier 2673362 2673374 - Identifier 2673375 2673436 - ReturnStatement 2673438 2673459 - IfStatement 2673470 2673648 - PrefixUnaryExpression 2673486 2673496 - Identifier 2673487 2673496 - Block 2673497 2673648 - ExpressionStatement 2673499 2673616 - CallExpression 2673499 2673615 - Identifier 2673499 2673537 - Identifier 2673538 2673542 - PropertyAccessExpression 2673543 2673614 - Identifier 2673543 2673555 - Identifier 2673556 2673614 - ReturnStatement 2673616 2673637 - VariableStatement 2673648 2673717 - VariableDeclarationList 2673648 2673716 - VariableDeclaration 2673665 2673716 - Identifier 2673665 2673675 - CallExpression 2673677 2673716 - Identifier 2673677 2673705 - Identifier 2673706 2673715 - VariableStatement 2673717 2673782 - VariableDeclarationList 2673717 2673781 - VariableDeclaration 2673732 2673781 - Identifier 2673732 2673743 - CallExpression 2673745 2673781 - Identifier 2673745 2673770 - Identifier 2673771 2673780 - IfStatement 2673782 2675333 - BinaryExpression 2673796 2673869 - BinaryExpression 2673796 2673831 - Identifier 2673796 2673812 - BarBarToken 2673812 2673815 - PropertyAccessExpression 2673815 2673831 - Identifier 2673815 2673820 - Identifier 2673821 2673831 - BarBarToken 2673831 2673834 - BinaryExpression 2673834 2673869 - PropertyAccessExpression 2673834 2673851 - Identifier 2673834 2673845 - Identifier 2673846 2673851 - AmpersandToken 2673851 2673853 - PropertyAccessExpression 2673853 2673869 - Identifier 2673853 2673863 - Identifier 2673864 2673869 - Block 2673870 2674981 - VariableStatement 2673872 2673976 - VariableDeclarationList 2673872 2673975 - VariableDeclaration 2673891 2673975 - Identifier 2673891 2673900 - ConditionalExpression 2673902 2673975 - PropertyAccessExpression 2673902 2673918 - Identifier 2673902 2673907 - Identifier 2673908 2673918 - QuestionToken 2673918 2673920 - CallExpression 2673920 2673959 - Identifier 2673920 2673942 - PropertyAccessExpression 2673943 2673958 - Identifier 2673943 2673947 - Identifier 2673948 2673958 - ColonToken 2673959 2673961 - Identifier 2673961 2673975 - IfStatement 2673976 2674970 - BinaryExpression 2673994 2674035 - PropertyAccessExpression 2673994 2674008 - Identifier 2673994 2674003 - Identifier 2674004 2674008 - EqualsEqualsEqualsToken 2674008 2674012 - PropertyAccessExpression 2674012 2674035 - Identifier 2674012 2674023 - Identifier 2674024 2674035 - Block 2674036 2674189 - IfStatement 2674038 2674174 - PropertyAccessExpression 2674060 2674075 - Identifier 2674060 2674064 - Identifier 2674065 2674075 - Block 2674076 2674174 - ExpressionStatement 2674078 2674155 - CallExpression 2674078 2674154 - Identifier 2674078 2674105 - Identifier 2674106 2674110 - PropertyAccessExpression 2674111 2674153 - Identifier 2674111 2674123 - Identifier 2674124 2674153 - IfStatement 2674207 2674970 - BinaryExpression 2674212 2674253 - PropertyAccessExpression 2674212 2674226 - Identifier 2674212 2674221 - Identifier 2674222 2674226 - EqualsEqualsEqualsToken 2674226 2674230 - PropertyAccessExpression 2674230 2674253 - Identifier 2674230 2674241 - Identifier 2674242 2674253 - Block 2674254 2674668 - VariableStatement 2674256 2674364 - VariableDeclarationList 2674256 2674363 - VariableDeclaration 2674279 2674363 - Identifier 2674279 2674288 - ConditionalExpression 2674290 2674363 - PropertyAccessExpression 2674290 2674306 - Identifier 2674290 2674295 - Identifier 2674296 2674306 - QuestionToken 2674306 2674308 - CallExpression 2674308 2674347 - Identifier 2674308 2674330 - PropertyAccessExpression 2674331 2674346 - Identifier 2674331 2674335 - Identifier 2674336 2674346 - ColonToken 2674347 2674349 - Identifier 2674349 2674363 - IfStatement 2674364 2674653 - BinaryExpression 2674386 2674494 - PropertyAccessExpression 2674386 2674401 - Identifier 2674386 2674390 - Identifier 2674391 2674401 - AmpersandAmpersandToken 2674401 2674404 - PrefixUnaryExpression 2674404 2674494 - CallExpression 2674406 2674494 - Identifier 2674406 2674449 - Identifier 2674450 2674458 - Identifier 2674459 2674470 - Identifier 2674471 2674476 - PropertyAccessExpression 2674477 2674493 - Identifier 2674477 2674482 - Identifier 2674483 2674493 - Block 2674495 2674653 - ExpressionStatement 2674497 2674634 - CallExpression 2674497 2674633 - Identifier 2674497 2674524 - Identifier 2674525 2674529 - PropertyAccessExpression 2674530 2674632 - Identifier 2674530 2674542 - Identifier 2674543 2674632 - IfStatement 2674686 2674970 - CallExpression 2674691 2674729 - Identifier 2674691 2674718 - Identifier 2674719 2674728 - Block 2674730 2674970 - VariableStatement 2674732 2674850 - VariableDeclarationList 2674732 2674849 - VariableDeclaration 2674755 2674849 - Identifier 2674755 2674775 - BinaryExpression 2674777 2674849 - CallExpression 2674777 2674835 - Identifier 2674777 2674794 - Identifier 2674795 2674805 - CallExpression 2674806 2674834 - Identifier 2674806 2674823 - Identifier 2674824 2674833 - QuestionQuestionToken 2674835 2674838 - Identifier 2674838 2674849 - ExpressionStatement 2674850 2674955 - CallExpression 2674850 2674954 - Identifier 2674850 2674889 - Identifier 2674890 2674899 - Identifier 2674900 2674920 - Identifier 2674921 2674926 - PropertyAccessExpression 2674927 2674943 - Identifier 2674927 2674932 - Identifier 2674933 2674943 - Identifier 2674944 2674953 - IfStatement 2674995 2675333 - BinaryExpression 2675000 2675145 - BinaryExpression 2675000 2675078 - BinaryExpression 2675000 2675041 - PropertyAccessExpression 2675000 2675014 - Identifier 2675000 2675009 - Identifier 2675010 2675014 - ExclamationEqualsEqualsToken 2675014 2675018 - PropertyAccessExpression 2675018 2675041 - Identifier 2675018 2675029 - Identifier 2675030 2675041 - AmpersandAmpersandToken 2675041 2675044 - PropertyAccessExpression 2675044 2675078 - Identifier 2675044 2675060 - Identifier 2675061 2675078 - AmpersandAmpersandToken 2675078 2675081 - PrefixUnaryExpression 2675081 2675145 - CallExpression 2675083 2675145 - Identifier 2675083 2675122 - Identifier 2675123 2675132 - Identifier 2675133 2675144 - Block 2675146 2675333 - ExpressionStatement 2675148 2675322 - CallExpression 2675148 2675321 - Identifier 2675148 2675268 - Identifier 2675269 2675273 - PropertyAccessExpression 2675274 2675320 - Identifier 2675274 2675286 - Identifier 2675287 2675320 - FunctionDeclaration 2675340 2677270 - Identifier 2675506 2675528 - Parameter 2675529 2675570 - Identifier 2675529 2675548 - TypeReference 2675549 2675570 - Identifier 2675549 2675570 - Parameter 2675571 2675606 - Identifier 2675571 2675600 - TypeReference 2675601 2675606 - Identifier 2675601 2675606 - Parameter 2675607 2675651 - Identifier 2675607 2675621 - UnionType 2675622 2675651 - TypeReference 2675622 2675638 - Identifier 2675622 2675638 - TypeReference 2675640 2675651 - Identifier 2675640 2675651 - Parameter 2675652 2675690 - Identifier 2675652 2675666 - UnionType 2675667 2675690 - TypeReference 2675667 2675678 - Identifier 2675667 2675678 - UndefinedKeyword 2675680 2675690 - Parameter 2675691 2675715 - Identifier 2675691 2675709 - TypeReference 2675710 2675715 - Identifier 2675710 2675715 - Parameter 2675716 2675757 - Identifier 2675716 2675749 - FalseKeyword 2675751 2675757 - VoidKeyword 2675766 2675771 - Block 2675771 2677270 - VariableStatement 2675773 2675835 - VariableDeclarationList 2675773 2675834 - VariableDeclaration 2675788 2675834 - Identifier 2675788 2675815 - CallExpression 2675817 2675834 - Identifier 2675817 2675828 - Identifier 2675829 2675833 - VariableStatement 2675835 2675895 - VariableDeclarationList 2675835 2675894 - VariableDeclaration 2675850 2675894 - Identifier 2675850 2675864 - CallExpression 2675866 2675894 - Identifier 2675866 2675883 - Identifier 2675884 2675893 - IfStatement 2675895 2676468 - Identifier 2675909 2675913 - Block 2675914 2676468 - VariableStatement 2675916 2676002 - VariableDeclarationList 2675916 2676001 - VariableDeclaration 2675935 2676001 - Identifier 2675935 2675949 - CallExpression 2675951 2676001 - Identifier 2675951 2675967 - Identifier 2675968 2675972 - Identifier 2675973 2676000 - IfStatement 2676002 2676457 - CallExpression 2676020 2676058 - Identifier 2676020 2676043 - Identifier 2676044 2676057 - Block 2676059 2676457 - ExpressionStatement 2676061 2676238 - CallExpression 2676061 2676237 - Identifier 2676061 2676100 - Identifier 2676101 2676110 - Identifier 2676111 2676131 - Identifier 2676132 2676137 - PropertyAccessExpression 2676138 2676161 - Identifier 2676138 2676152 - Identifier 2676153 2676161 - CallExpression 2676162 2676202 - Identifier 2676162 2676178 - PropertyAccessExpression 2676179 2676201 - Identifier 2676179 2676192 - Identifier 2676193 2676201 - TrueKeyword 2676203 2676236 - ExpressionStatement 2676238 2676417 - CallExpression 2676238 2676416 - Identifier 2676238 2676277 - Identifier 2676278 2676287 - Identifier 2676288 2676308 - Identifier 2676309 2676314 - PropertyAccessExpression 2676315 2676339 - Identifier 2676315 2676329 - Identifier 2676330 2676339 - CallExpression 2676340 2676381 - Identifier 2676340 2676356 - PropertyAccessExpression 2676357 2676380 - Identifier 2676357 2676370 - Identifier 2676371 2676380 - TrueKeyword 2676382 2676415 - ReturnStatement 2676417 2676442 - VariableStatement 2676468 2676547 - VariableDeclarationList 2676468 2676546 - VariableDeclaration 2676485 2676546 - Identifier 2676485 2676503 - BinaryExpression 2676505 2676546 - PropertyAccessExpression 2676505 2676515 - Identifier 2676505 2676510 - Identifier 2676511 2676515 - EqualsEqualsEqualsToken 2676515 2676519 - PropertyAccessExpression 2676519 2676546 - Identifier 2676519 2676530 - Identifier 2676531 2676546 - VariableStatement 2676547 2676920 - VariableDeclarationList 2676547 2676919 - VariableDeclaration 2676562 2676919 - Identifier 2676562 2676580 - ConditionalExpression 2676582 2676919 - BinaryExpression 2676582 2676618 - Identifier 2676582 2676596 - AmpersandToken 2676596 2676598 - PropertyAccessExpression 2676598 2676618 - Identifier 2676598 2676612 - Identifier 2676613 2676618 - QuestionToken 2676618 2676633 - CallExpression 2676633 2676895 - Identifier 2676633 2676650 - Identifier 2676651 2676677 - FalseKeyword 2676678 2676715 - Identifier 2676716 2676738 - PropertyAccessExpression 2676739 2676879 - Identifier 2676739 2676768 - Identifier 2676769 2676879 - ColonToken 2676895 2676910 - Identifier 2676910 2676919 - VariableStatement 2676920 2676990 - VariableDeclarationList 2676920 2676989 - VariableDeclaration 2676937 2676989 - Identifier 2676937 2676951 - BinaryExpression 2676953 2676989 - Identifier 2676953 2676958 - AmpersandAmpersandToken 2676958 2676961 - CallExpression 2676961 2676989 - Identifier 2676961 2676983 - Identifier 2676984 2676988 - VariableStatement 2676990 2677141 - VariableDeclarationList 2676990 2677140 - VariableDeclaration 2677059 2677140 - Identifier 2677059 2677069 - ConditionalExpression 2677071 2677140 - BinaryExpression 2677071 2677117 - Identifier 2677071 2677089 - AmpersandAmpersandToken 2677089 2677092 - PrefixUnaryExpression 2677092 2677117 - Identifier 2677094 2677117 - QuestionToken 2677117 2677119 - Identifier 2677119 2677124 - ColonToken 2677124 2677126 - Identifier 2677126 2677140 - ExpressionStatement 2677141 2677263 - CallExpression 2677141 2677262 - Identifier 2677141 2677196 - Identifier 2677197 2677214 - Identifier 2677215 2677235 - Identifier 2677236 2677246 - Identifier 2677247 2677261 - FunctionDeclaration 2677270 2678094 - Identifier 2677286 2677305 - Parameter 2677306 2677325 - Identifier 2677306 2677310 - TypeReference 2677311 2677325 - Identifier 2677311 2677325 - Block 2677326 2678094 - IfStatement 2677328 2677639 - PrefixUnaryExpression 2677389 2677433 - CallExpression 2677390 2677433 - Identifier 2677390 2677427 - Identifier 2677428 2677432 - Block 2677434 2677639 - IfStatement 2677436 2677628 - BinaryExpression 2677454 2677489 - PropertyAccessExpression 2677454 2677464 - Identifier 2677454 2677458 - Identifier 2677459 2677464 - AmpersandToken 2677464 2677466 - PropertyAccessExpression 2677466 2677489 - Identifier 2677466 2677476 - Identifier 2677477 2677489 - Block 2677490 2677628 - ExpressionStatement 2677492 2677613 - CallExpression 2677492 2677612 - Identifier 2677492 2677534 - Identifier 2677535 2677539 - PropertyAccessExpression 2677540 2677611 - Identifier 2677540 2677552 - Identifier 2677553 2677611 - ExpressionStatement 2677639 2677684 - CallExpression 2677639 2677683 - Identifier 2677639 2677666 - PropertyAccessExpression 2677667 2677682 - Identifier 2677667 2677671 - Identifier 2677672 2677682 - VariableStatement 2677684 2677741 - VariableDeclarationList 2677684 2677740 - VariableDeclaration 2677701 2677740 - Identifier 2677701 2677712 - CallExpression 2677714 2677740 - Identifier 2677714 2677734 - Identifier 2677735 2677739 - IfStatement 2677741 2678087 - PrefixUnaryExpression 2677755 2677787 - CallExpression 2677756 2677787 - Identifier 2677756 2677775 - Identifier 2677776 2677786 - Block 2677788 2678087 - VariableStatement 2677790 2677871 - VariableDeclarationList 2677790 2677870 - VariableDeclaration 2677809 2677870 - Identifier 2677809 2677815 - PropertyAccessExpression 2677817 2677870 - CallExpression 2677817 2677864 - Identifier 2677817 2677842 - Identifier 2677843 2677853 - PropertyAccessExpression 2677854 2677863 - Identifier 2677854 2677859 - Identifier 2677860 2677863 - Identifier 2677865 2677870 - VariableStatement 2677871 2677916 - VariableDeclarationList 2677871 2677915 - VariableDeclaration 2677890 2677915 - Identifier 2677890 2677894 - PropertyAccessExpression 2677896 2677915 - PropertyAccessExpression 2677896 2677911 - Identifier 2677896 2677901 - Identifier 2677902 2677911 - Identifier 2677912 2677915 - ExpressionStatement 2677916 2678076 - CallExpression 2677916 2678075 - Identifier 2677916 2677947 - Identifier 2677948 2677958 - Identifier 2677959 2677965 - BinaryExpression 2677966 2677978 - Identifier 2677966 2677970 - MinusToken 2677970 2677972 - Identifier 2677972 2677978 - PropertyAccessExpression 2677979 2678074 - Identifier 2677979 2677991 - Identifier 2677992 2678074 - FunctionDeclaration 2678094 2680431 - Identifier 2678110 2678131 - Parameter 2678132 2678153 - Identifier 2678132 2678136 - TypeReference 2678137 2678153 - Identifier 2678137 2678153 - Block 2678154 2680431 - ExpressionStatement 2678156 2678239 - CallExpression 2678156 2678238 - Identifier 2678156 2678232 - Identifier 2678233 2678237 - VariableStatement 2678239 2678295 - VariableDeclarationList 2678239 2678294 - VariableDeclaration 2678254 2678294 - Identifier 2678254 2678273 - TypeReference 2678274 2678294 - Identifier 2678274 2678294 - VariableStatement 2678295 2678343 - VariableDeclarationList 2678295 2678342 - VariableDeclaration 2678308 2678342 - Identifier 2678308 2678334 - FalseKeyword 2678336 2678342 - VariableStatement 2678343 2678411 - VariableDeclarationList 2678343 2678410 - VariableDeclaration 2678360 2678410 - Identifier 2678360 2678375 - CallExpression 2678377 2678410 - Identifier 2678377 2678393 - PropertyAccessExpression 2678394 2678409 - Identifier 2678394 2678398 - Identifier 2678399 2678409 - ExpressionStatement 2678411 2680311 - CallExpression 2678411 2680310 - Identifier 2678411 2678430 - PropertyAccessExpression 2678431 2678453 - PropertyAccessExpression 2678431 2678445 - Identifier 2678431 2678435 - Identifier 2678436 2678445 - Identifier 2678446 2678453 - ArrowFunction 2678454 2680309 - Parameter 2678454 2678461 - Identifier 2678454 2678461 - EqualsGreaterThanToken 2678461 2678464 - Block 2678464 2680309 - IfStatement 2678466 2679038 - BinaryExpression 2678596 2678666 - BinaryExpression 2678596 2678636 - PropertyAccessExpression 2678596 2678607 - Identifier 2678596 2678602 - Identifier 2678603 2678607 - EqualsEqualsEqualsToken 2678607 2678611 - PropertyAccessExpression 2678611 2678636 - Identifier 2678611 2678622 - Identifier 2678623 2678636 - AmpersandAmpersandToken 2678636 2678639 - PrefixUnaryExpression 2678639 2678666 - Identifier 2678641 2678666 - Block 2678667 2679038 - IfStatement 2678669 2679023 - BinaryExpression 2678691 2678723 - Identifier 2678691 2678709 - EqualsEqualsEqualsToken 2678709 2678713 - Identifier 2678713 2678723 - Block 2678724 2678795 - ExpressionStatement 2678726 2678776 - BinaryExpression 2678726 2678775 - Identifier 2678726 2678766 - EqualsToken 2678766 2678768 - Identifier 2678768 2678775 - Block 2678817 2679023 - ExpressionStatement 2678819 2678949 - CallExpression 2678819 2678948 - Identifier 2678819 2678859 - Identifier 2678860 2678866 - PropertyAccessExpression 2678867 2678947 - Identifier 2678867 2678879 - Identifier 2678880 2678947 - ExpressionStatement 2678949 2679004 - BinaryExpression 2678949 2679003 - Identifier 2678949 2678996 - EqualsToken 2678996 2678998 - TrueKeyword 2678998 2679003 - IfStatement 2679038 2679190 - BinaryExpression 2679058 2679095 - PropertyAccessExpression 2679058 2679069 - Identifier 2679058 2679064 - Identifier 2679065 2679069 - EqualsEqualsEqualsToken 2679069 2679073 - PropertyAccessExpression 2679073 2679095 - Identifier 2679073 2679084 - Identifier 2679085 2679095 - Block 2679096 2679190 - ExpressionStatement 2679098 2679175 - CallExpression 2679098 2679174 - Identifier 2679098 2679133 - CallExpression 2679134 2679173 - Identifier 2679134 2679165 - Identifier 2679166 2679172 - ExpressionStatement 2679190 2679251 - CallExpression 2679190 2679250 - Identifier 2679190 2679211 - PropertyAccessExpression 2679212 2679229 - Identifier 2679212 2679218 - Identifier 2679219 2679229 - Identifier 2679230 2679249 - IfStatement 2679251 2679482 - BinaryExpression 2679269 2679392 - BinaryExpression 2679269 2679341 - PropertyAccessExpression 2679269 2679311 - Identifier 2679269 2679284 - Identifier 2679285 2679311 - AmpersandAmpersandToken 2679311 2679314 - PropertyAccessExpression 2679314 2679341 - Identifier 2679314 2679321 - Identifier 2679322 2679341 - AmpersandAmpersandToken 2679341 2679344 - CallExpression 2679344 2679392 - Identifier 2679344 2679364 - PropertyAccessExpression 2679365 2679391 - Identifier 2679365 2679371 - Identifier 2679372 2679391 - Block 2679393 2679482 - ExpressionStatement 2679395 2679467 - CallExpression 2679395 2679466 - Identifier 2679395 2679418 - Identifier 2679419 2679425 - PropertyAccessExpression 2679426 2679465 - Identifier 2679426 2679438 - Identifier 2679439 2679465 - FunctionDeclaration 2679482 2680298 - Identifier 2679506 2679538 - Parameter 2679539 2679557 - Identifier 2679539 2679545 - TypeReference 2679546 2679557 - Identifier 2679546 2679557 - Block 2679558 2680298 - ReturnStatement 2679560 2680283 - ArrowFunction 2679584 2680282 - EqualsGreaterThanToken 2679587 2679590 - Block 2679590 2680282 - VariableStatement 2679592 2679909 - VariableDeclarationList 2679592 2679908 - VariableDeclaration 2679862 2679908 - Identifier 2679862 2679871 - CallExpression 2679873 2679908 - Identifier 2679873 2679889 - PropertyAccessExpression 2679890 2679907 - Identifier 2679890 2679896 - Identifier 2679897 2679907 - IfStatement 2679909 2680263 - PrefixUnaryExpression 2679937 2679990 - CallExpression 2679938 2679990 - Identifier 2679938 2679964 - Identifier 2679965 2679979 - Identifier 2679980 2679989 - Block 2679991 2680263 - ExpressionStatement 2679993 2680240 - CallExpression 2679993 2680239 - Identifier 2679993 2680167 - Identifier 2680168 2680176 - Identifier 2680177 2680192 - PropertyAccessExpression 2680193 2680211 - Identifier 2680193 2680200 - Identifier 2680201 2680211 - Identifier 2680212 2680238 - IfStatement 2680311 2680424 - PropertyAccessExpression 2680325 2680346 - PropertyAccessExpression 2680325 2680339 - Identifier 2680325 2680329 - Identifier 2680330 2680339 - Identifier 2680340 2680346 - Block 2680347 2680424 - ExpressionStatement 2680349 2680413 - CallExpression 2680349 2680412 - Identifier 2680349 2680396 - PropertyAccessExpression 2680397 2680411 - Identifier 2680397 2680401 - Identifier 2680402 2680411 - FunctionDeclaration 2680431 2681204 - Identifier 2680447 2680469 - Parameter 2680470 2680492 - Identifier 2680470 2680474 - TypeReference 2680475 2680492 - Identifier 2680475 2680492 - Block 2680493 2681204 - IfStatement 2680495 2681110 - PrefixUnaryExpression 2680538 2680582 - CallExpression 2680539 2680582 - Identifier 2680539 2680576 - Identifier 2680577 2680581 - Block 2680583 2681110 - ExpressionStatement 2680585 2681099 - CallExpression 2680585 2681098 - Identifier 2680585 2680611 - PropertyAccessExpression 2680612 2680623 - Identifier 2680612 2680616 - Identifier 2680617 2680623 - ArrowFunction 2680624 2681097 - Parameter 2680624 2680632 - Identifier 2680624 2680632 - EqualsGreaterThanToken 2680632 2680635 - Block 2680635 2681097 - IfStatement 2680637 2680740 - CallExpression 2680659 2680682 - Identifier 2680659 2680673 - Identifier 2680674 2680681 - Block 2680683 2680740 - ReturnStatement 2680685 2680721 - StringLiteral 2680713 2680720 - IfStatement 2680740 2681051 - BinaryExpression 2680762 2680884 - BinaryExpression 2680762 2680806 - PropertyAccessExpression 2680762 2680774 - Identifier 2680762 2680769 - Identifier 2680770 2680774 - EqualsEqualsEqualsToken 2680774 2680778 - PropertyAccessExpression 2680778 2680806 - Identifier 2680778 2680789 - Identifier 2680790 2680806 - AmpersandAmpersandToken 2680806 2680809 - BinaryExpression 2680809 2680884 - PropertyAccessExpression 2680809 2680857 - PropertyAccessExpression 2680809 2680845 - ParenthesizedExpression 2680809 2680839 - AsExpression 2680811 2680838 - Identifier 2680811 2680818 - TypeReference 2680821 2680838 - Identifier 2680821 2680838 - Identifier 2680840 2680845 - Identifier 2680846 2680857 - EqualsEqualsEqualsToken 2680857 2680861 - PropertyAccessExpression 2680861 2680884 - PropertyAccessExpression 2680861 2680872 - Identifier 2680861 2680866 - Identifier 2680867 2680872 - Identifier 2680873 2680884 - Block 2680885 2681051 - ExpressionStatement 2680887 2680998 - CallExpression 2680887 2680997 - Identifier 2680887 2680927 - PropertyAccessExpression 2680928 2680938 - Identifier 2680928 2680932 - Identifier 2680933 2680938 - PropertyAccessExpression 2680939 2680969 - Identifier 2680939 2680951 - Identifier 2680952 2680969 - CallExpression 2680970 2680996 - Identifier 2680970 2680984 - PropertyAccessExpression 2680985 2680995 - Identifier 2680985 2680989 - Identifier 2680990 2680995 - ReturnStatement 2680998 2681032 - TrueKeyword 2681026 2681031 - ReturnStatement 2681051 2681082 - FalseKeyword 2681075 2681081 - ExpressionStatement 2681110 2681197 - CallExpression 2681110 2681196 - Identifier 2681110 2681180 - PropertyAccessExpression 2681181 2681195 - Identifier 2681181 2681185 - Identifier 2681186 2681195 - FunctionDeclaration 2681204 2681656 - Identifier 2681220 2681240 - Parameter 2681241 2681261 - Identifier 2681241 2681245 - TypeReference 2681246 2681261 - Identifier 2681246 2681261 - Block 2681262 2681656 - IfStatement 2681264 2681557 - PrefixUnaryExpression 2681307 2681351 - CallExpression 2681308 2681351 - Identifier 2681308 2681345 - Identifier 2681346 2681350 - Block 2681352 2681557 - IfStatement 2681354 2681546 - BinaryExpression 2681372 2681433 - CallExpression 2681372 2681401 - Identifier 2681372 2681384 - PropertyAccessExpression 2681385 2681400 - Identifier 2681385 2681389 - Identifier 2681390 2681400 - AmpersandAmpersandToken 2681401 2681404 - PrefixUnaryExpression 2681404 2681433 - PropertyAccessExpression 2681406 2681433 - PropertyAccessExpression 2681406 2681421 - Identifier 2681406 2681410 - Identifier 2681411 2681421 - Identifier 2681422 2681433 - Block 2681434 2681546 - ExpressionStatement 2681436 2681531 - CallExpression 2681436 2681530 - Identifier 2681436 2681481 - Identifier 2681482 2681486 - PropertyAccessExpression 2681487 2681529 - Identifier 2681487 2681499 - Identifier 2681500 2681529 - IfStatement 2681557 2681649 - PropertyAccessExpression 2681573 2681588 - Identifier 2681573 2681577 - Identifier 2681578 2681588 - Block 2681589 2681649 - ExpressionStatement 2681591 2681638 - CallExpression 2681591 2681637 - Identifier 2681591 2681620 - PropertyAccessExpression 2681621 2681636 - Identifier 2681621 2681625 - Identifier 2681626 2681636 - FunctionDeclaration 2681656 2683632 - Identifier 2681672 2681690 - Parameter 2681691 2681709 - Identifier 2681691 2681695 - TypeReference 2681696 2681709 - Identifier 2681696 2681709 - Block 2681710 2683632 - ExpressionStatement 2681712 2681795 - CallExpression 2681712 2681794 - Identifier 2681712 2681788 - Identifier 2681789 2681793 - ExpressionStatement 2681795 2681833 - CallExpression 2681795 2681832 - Identifier 2681795 2681817 - PropertyAccessExpression 2681818 2681831 - Identifier 2681818 2681822 - Identifier 2681823 2681831 - VariableStatement 2681833 2681880 - VariableDeclarationList 2681833 2681879 - VariableDeclaration 2681848 2681879 - Identifier 2681848 2681860 - PropertyAccessExpression 2681862 2681879 - Identifier 2681862 2681867 - Identifier 2681868 2681879 - IfStatement 2681880 2683534 - Identifier 2681894 2681905 - Block 2681906 2683534 - IfStatement 2681908 2683477 - PropertyAccessExpression 2681959 2681990 - Identifier 2681959 2681970 - Identifier 2681971 2681990 - Block 2681991 2683477 - VariableStatement 2681993 2682063 - VariableDeclarationList 2681993 2682062 - VariableDeclaration 2682016 2682062 - Identifier 2682016 2682028 - PropertyAccessExpression 2682030 2682062 - Identifier 2682030 2682042 - Identifier 2682043 2682062 - ExpressionStatement 2682063 2682123 - CallExpression 2682063 2682122 - Identifier 2682063 2682109 - Identifier 2682110 2682121 - VariableStatement 2682123 2682202 - VariableDeclarationList 2682123 2682201 - VariableDeclaration 2682146 2682201 - Identifier 2682146 2682155 - CallExpression 2682157 2682201 - Identifier 2682157 2682188 - Identifier 2682189 2682200 - IfStatement 2682202 2683462 - Identifier 2682224 2682232 - Block 2682233 2682565 - VariableStatement 2682235 2682300 - VariableDeclarationList 2682235 2682299 - VariableDeclaration 2682262 2682299 - Identifier 2682262 2682267 - CallExpression 2682269 2682299 - Identifier 2682269 2682289 - Identifier 2682290 2682298 - IfStatement 2682300 2682546 - BinaryExpression 2682326 2682372 - Identifier 2682326 2682330 - AmpersandAmpersandToken 2682330 2682333 - PrefixUnaryExpression 2682333 2682372 - ParenthesizedExpression 2682335 2682372 - BinaryExpression 2682336 2682371 - PropertyAccessExpression 2682336 2682346 - Identifier 2682336 2682340 - Identifier 2682341 2682346 - AmpersandToken 2682346 2682348 - PropertyAccessExpression 2682348 2682371 - Identifier 2682348 2682358 - Identifier 2682359 2682371 - Block 2682373 2682546 - ExpressionStatement 2682375 2682523 - CallExpression 2682375 2682522 - Identifier 2682375 2682425 - Identifier 2682426 2682434 - PropertyAccessExpression 2682435 2682521 - Identifier 2682435 2682447 - Identifier 2682448 2682521 - IfStatement 2682587 2683462 - PropertyAccessExpression 2682592 2682615 - Identifier 2682592 2682603 - Identifier 2682604 2682615 - Block 2682616 2682771 - ExpressionStatement 2682618 2682752 - CallExpression 2682618 2682751 - Identifier 2682618 2682664 - PropertyAccessExpression 2682665 2682688 - Identifier 2682665 2682676 - Identifier 2682677 2682688 - PropertyAccessExpression 2682689 2682750 - Identifier 2682689 2682701 - Identifier 2682702 2682750 - Block 2682793 2683462 - VariableStatement 2682795 2682862 - VariableDeclarationList 2682795 2682861 - VariableDeclaration 2682822 2682861 - Identifier 2682822 2682834 - PropertyAccessExpression 2682836 2682861 - PropertyAccessExpression 2682836 2682854 - Identifier 2682836 2682848 - Identifier 2682849 2682854 - Identifier 2682855 2682861 - IfStatement 2682862 2683443 - Identifier 2682888 2682899 - Block 2682900 2683443 - ExpressionStatement 2682902 2683420 - CallExpression 2682902 2683419 - Identifier 2682902 2682938 - NonNullExpression 2682939 2682958 - PropertyAccessExpression 2682939 2682957 - Identifier 2682939 2682950 - Identifier 2682951 2682957 - ArrowFunction 2682959 2683418 - Parameter 2682959 2682970 - Identifier 2682959 2682970 - EqualsGreaterThanToken 2682970 2682973 - Block 2682973 2683418 - VariableStatement 2682975 2683052 - VariableDeclarationList 2682975 2683051 - VariableDeclaration 2683010 2683051 - Identifier 2683010 2683021 - CallExpression 2683023 2683051 - PropertyAccessExpression 2683023 2683039 - Identifier 2683023 2683035 - Identifier 2683036 2683039 - Identifier 2683040 2683050 - IfStatement 2683052 2683391 - BinaryExpression 2683086 2683176 - PropertyAccessExpression 2683086 2683114 - Identifier 2683086 2683096 - QuestionDotToken 2683096 2683098 - Identifier 2683098 2683114 - AmpersandAmpersandToken 2683114 2683117 - BinaryExpression 2683117 2683176 - ParenthesizedExpression 2683117 2683170 - BinaryExpression 2683119 2683169 - PropertyAccessExpression 2683119 2683135 - Identifier 2683119 2683129 - Identifier 2683130 2683135 - AmpersandToken 2683135 2683137 - PropertyAccessExpression 2683137 2683169 - Identifier 2683137 2683149 - Identifier 2683150 2683169 - ExclamationEqualsEqualsToken 2683170 2683174 - NumericLiteral 2683174 2683176 - Block 2683177 2683391 - ExpressionStatement 2683179 2683360 - CallExpression 2683179 2683359 - Identifier 2683179 2683231 - PropertyAccessExpression 2683232 2683259 - Identifier 2683232 2683242 - Identifier 2683243 2683259 - PropertyAccessExpression 2683260 2683318 - Identifier 2683260 2683272 - Identifier 2683273 2683318 - CallExpression 2683319 2683358 - Identifier 2683319 2683346 - Identifier 2683347 2683357 - ExpressionStatement 2683477 2683523 - CallExpression 2683477 2683522 - Identifier 2683477 2683503 - PropertyAccessExpression 2683504 2683521 - Identifier 2683504 2683515 - Identifier 2683516 2683521 - IfStatement 2683534 2683625 - PropertyAccessExpression 2683550 2683567 - Identifier 2683550 2683554 - Identifier 2683555 2683567 - Block 2683568 2683625 - ExpressionStatement 2683570 2683614 - CallExpression 2683570 2683613 - Identifier 2683570 2683594 - PropertyAccessExpression 2683595 2683612 - Identifier 2683595 2683599 - Identifier 2683600 2683612 - FunctionDeclaration 2683632 2685256 - Identifier 2683648 2683670 - Parameter 2683671 2683681 - Identifier 2683671 2683675 - TypeReference 2683676 2683681 - Identifier 2683676 2683681 - Parameter 2683682 2683697 - Identifier 2683682 2683689 - TypeReference 2683690 2683697 - Identifier 2683690 2683697 - Parameter 2683698 2683722 - Identifier 2683698 2683712 - QuestionToken 2683712 2683713 - BooleanKeyword 2683714 2683722 - Block 2683723 2685256 - VariableStatement 2683725 2683780 - VariableDeclarationList 2683725 2683779 - VariableDeclaration 2683740 2683779 - Identifier 2683740 2683751 - CallExpression 2683753 2683779 - Identifier 2683753 2683773 - Identifier 2683774 2683778 - IfStatement 2683780 2683852 - BinaryExpression 2683794 2683817 - PropertyAccessExpression 2683794 2683811 - Identifier 2683794 2683804 - Identifier 2683805 2683811 - EqualsEqualsEqualsToken 2683811 2683815 - NumericLiteral 2683815 2683817 - Block 2683818 2683852 - ReturnStatement 2683820 2683841 - ForOfStatement 2683852 2684213 - VariableDeclarationList 2683867 2683877 - VariableDeclaration 2683872 2683877 - Identifier 2683872 2683877 - CallExpression 2683880 2683912 - Identifier 2683880 2683906 - Identifier 2683907 2683911 - Block 2683913 2684213 - IfStatement 2683915 2684202 - PrefixUnaryExpression 2683933 2683987 - ParenthesizedExpression 2683934 2683987 - BinaryExpression 2683935 2683986 - Identifier 2683935 2683948 - AmpersandAmpersandToken 2683948 2683951 - BinaryExpression 2683951 2683986 - PropertyAccessExpression 2683951 2683962 - Identifier 2683951 2683956 - Identifier 2683957 2683962 - AmpersandToken 2683962 2683964 - PropertyAccessExpression 2683964 2683986 - Identifier 2683964 2683976 - Identifier 2683977 2683986 - Block 2683988 2684202 - ExpressionStatement 2683990 2684187 - CallExpression 2683990 2684186 - Identifier 2683990 2684039 - Identifier 2684040 2684044 - Identifier 2684045 2684050 - CallExpression 2684051 2684152 - Identifier 2684051 2684078 - Identifier 2684079 2684083 - PropertyAccessExpression 2684084 2684124 - Identifier 2684084 2684094 - Identifier 2684095 2684124 - TrueKeyword 2684125 2684151 - CallExpression 2684153 2684185 - Identifier 2684153 2684179 - Identifier 2684180 2684184 - VariableStatement 2684213 2684271 - VariableDeclarationList 2684213 2684270 - VariableDeclaration 2684228 2684270 - Identifier 2684228 2684244 - PropertyAccessExpression 2684246 2684270 - Identifier 2684246 2684253 - Identifier 2684254 2684270 - IfStatement 2684271 2685071 - BinaryExpression 2684285 2684332 - Identifier 2684285 2684300 - AmpersandAmpersandToken 2684300 2684303 - CallExpression 2684303 2684332 - Identifier 2684303 2684315 - Identifier 2684316 2684331 - Block 2684333 2685071 - ForOfStatement 2684335 2685060 - VariableDeclarationList 2684354 2684366 - VariableDeclaration 2684359 2684366 - Identifier 2684359 2684366 - PropertyAccessExpression 2684369 2684393 - Identifier 2684369 2684385 - Identifier 2684386 2684393 - Block 2684394 2685060 - IfStatement 2684396 2685045 - BinaryExpression 2684559 2684760 - ParenthesizedExpression 2684559 2684732 - BinaryExpression 2684582 2684709 - ParenthesizedExpression 2684582 2684645 - BinaryExpression 2684609 2684644 - PrefixUnaryExpression 2684609 2684623 - Identifier 2684610 2684623 - AmpersandAmpersandToken 2684623 2684626 - PrefixUnaryExpression 2684626 2684644 - CallExpression 2684628 2684644 - Identifier 2684628 2684636 - Identifier 2684637 2684643 - BarBarToken 2684645 2684648 - ParenthesizedExpression 2684648 2684709 - BinaryExpression 2684675 2684708 - Identifier 2684675 2684688 - AmpersandAmpersandToken 2684688 2684691 - CallExpression 2684691 2684708 - Identifier 2684691 2684700 - Identifier 2684701 2684707 - AmpersandAmpersandToken 2684732 2684735 - PrefixUnaryExpression 2684735 2684760 - CallExpression 2684737 2684760 - Identifier 2684737 2684752 - Identifier 2684753 2684759 - Block 2684779 2685045 - VariableStatement 2684781 2684849 - VariableDeclarationList 2684781 2684848 - VariableDeclaration 2684808 2684848 - Identifier 2684808 2684815 - CallExpression 2684817 2684848 - Identifier 2684817 2684840 - Identifier 2684841 2684847 - ExpressionStatement 2684849 2685026 - CallExpression 2684849 2685025 - Identifier 2684849 2684902 - Identifier 2684903 2684907 - Identifier 2684908 2684915 - CallExpression 2684916 2684989 - Identifier 2684916 2684936 - PropertyAccessExpression 2684937 2684988 - PropertyAccessExpression 2684937 2684977 - ParenthesizedExpression 2684937 2684972 - AsExpression 2684938 2684971 - Identifier 2684938 2684944 - TypeReference 2684947 2684971 - Identifier 2684947 2684971 - Identifier 2684973 2684977 - Identifier 2684978 2684988 - CallExpression 2684990 2685024 - Identifier 2684990 2685016 - Identifier 2685017 2685023 - IfStatement 2685071 2685249 - BinaryExpression 2685085 2685106 - PropertyAccessExpression 2685085 2685102 - Identifier 2685085 2685095 - Identifier 2685096 2685102 - GreaterThanToken 2685102 2685104 - NumericLiteral 2685104 2685106 - Block 2685107 2685249 - ForOfStatement 2685109 2685238 - VariableDeclarationList 2685128 2685138 - VariableDeclaration 2685133 2685138 - Identifier 2685133 2685138 - Identifier 2685141 2685152 - Block 2685153 2685238 - ExpressionStatement 2685155 2685223 - CallExpression 2685155 2685222 - Identifier 2685155 2685210 - Identifier 2685211 2685215 - Identifier 2685216 2685221 - FunctionDeclaration 2685256 2687631 - Identifier 2685272 2685304 - Parameter 2685305 2685315 - Identifier 2685305 2685309 - TypeReference 2685310 2685315 - Identifier 2685310 2685315 - Parameter 2685316 2685329 - Identifier 2685316 2685321 - TypeReference 2685322 2685329 - Identifier 2685322 2685329 - Parameter 2685330 2685349 - Identifier 2685330 2685343 - TypeReference 2685344 2685349 - Identifier 2685344 2685349 - Parameter 2685350 2685365 - Identifier 2685350 2685359 - TypeReference 2685360 2685365 - Identifier 2685360 2685365 - Block 2685366 2687631 - VariableStatement 2685368 2685420 - VariableDeclarationList 2685368 2685419 - VariableDeclaration 2685383 2685419 - Identifier 2685383 2685395 - PropertyAccessExpression 2685397 2685419 - Identifier 2685397 2685402 - Identifier 2685403 2685419 - VariableStatement 2685420 2685477 - VariableDeclarationList 2685420 2685476 - VariableDeclaration 2685435 2685476 - Identifier 2685435 2685440 - CallExpression 2685442 2685476 - Identifier 2685442 2685463 - Identifier 2685464 2685475 - IfStatement 2685477 2685559 - BinaryExpression 2685491 2685524 - Identifier 2685491 2685495 - AmpersandAmpersandToken 2685495 2685498 - CallExpression 2685498 2685524 - Identifier 2685498 2685518 - Identifier 2685519 2685523 - Block 2685525 2685559 - ReturnStatement 2685527 2685548 - VariableStatement 2685559 2685632 - VariableDeclarationList 2685559 2685631 - VariableDeclaration 2685574 2685631 - Identifier 2685574 2685585 - CallExpression 2685587 2685631 - Identifier 2685587 2685611 - Identifier 2685612 2685616 - Identifier 2685617 2685630 - VariableStatement 2685632 2685797 - VariableDeclarationList 2685632 2685796 - VariableDeclaration 2685647 2685796 - Identifier 2685647 2685668 - ConditionalExpression 2685670 2685796 - BinaryExpression 2685670 2685715 - CallExpression 2685670 2685691 - Identifier 2685670 2685685 - Identifier 2685686 2685690 - AmpersandToken 2685691 2685693 - PropertyAccessExpression 2685693 2685715 - Identifier 2685693 2685705 - Identifier 2685706 2685715 - QuestionToken 2685715 2685717 - CallExpression 2685717 2685784 - Identifier 2685717 2685738 - PropertyAccessExpression 2685739 2685750 - Identifier 2685739 2685743 - Identifier 2685744 2685750 - PropertyAccessExpression 2685751 2685783 - Identifier 2685751 2685762 - Identifier 2685763 2685783 - ColonToken 2685784 2685786 - Identifier 2685786 2685796 - VariableStatement 2685797 2685995 - VariableDeclarationList 2685797 2685994 - VariableDeclaration 2685812 2685994 - Identifier 2685812 2685828 - ConditionalExpression 2685830 2685994 - BinaryExpression 2685830 2685968 - BinaryExpression 2685830 2685894 - Identifier 2685830 2685842 - AmpersandAmpersandToken 2685842 2685845 - BinaryExpression 2685845 2685894 - PropertyAccessExpression 2685845 2685862 - Identifier 2685845 2685857 - Identifier 2685858 2685862 - EqualsEqualsEqualsToken 2685862 2685866 - PropertyAccessExpression 2685866 2685894 - Identifier 2685866 2685877 - Identifier 2685878 2685894 - BarBarToken 2685894 2685897 - BinaryExpression 2685897 2685968 - Identifier 2685897 2685919 - AmpersandAmpersandToken 2685919 2685922 - BinaryExpression 2685922 2685968 - PropertyAccessExpression 2685922 2685932 - Identifier 2685922 2685927 - Identifier 2685928 2685932 - EqualsEqualsEqualsToken 2685932 2685936 - PropertyAccessExpression 2685936 2685968 - Identifier 2685936 2685947 - Identifier 2685948 2685968 - QuestionToken 2685968 2685970 - Identifier 2685970 2685982 - ColonToken 2685982 2685984 - Identifier 2685984 2685994 - VariableStatement 2685995 2686100 - VariableDeclarationList 2685995 2686099 - VariableDeclaration 2686010 2686099 - Identifier 2686010 2686031 - ConditionalExpression 2686033 2686099 - BinaryExpression 2686033 2686073 - CallExpression 2686033 2686057 - Identifier 2686033 2686051 - Identifier 2686052 2686056 - EqualsEqualsEqualsToken 2686057 2686061 - PropertyAccessExpression 2686061 2686073 - Identifier 2686061 2686066 - Identifier 2686067 2686073 - QuestionToken 2686073 2686075 - Identifier 2686075 2686087 - ColonToken 2686087 2686089 - Identifier 2686089 2686099 - ForOfStatement 2686100 2687624 - VariableDeclarationList 2686115 2686125 - VariableDeclaration 2686120 2686125 - Identifier 2686120 2686125 - Identifier 2686128 2686139 - Block 2686140 2687624 - VariableStatement 2686142 2686313 - VariableDeclarationList 2686142 2686312 - VariableDeclaration 2686161 2686312 - Identifier 2686161 2686183 - ConditionalExpression 2686185 2686312 - BinaryExpression 2686185 2686281 - PropertyAccessExpression 2686185 2686202 - Identifier 2686185 2686190 - Identifier 2686191 2686202 - AmpersandAmpersandToken 2686202 2686205 - BinaryExpression 2686205 2686281 - CallExpression 2686205 2686265 - Identifier 2686205 2686223 - CallExpression 2686224 2686264 - Identifier 2686224 2686246 - PropertyAccessExpression 2686247 2686263 - Identifier 2686247 2686251 - Identifier 2686252 2686263 - EqualsEqualsEqualsToken 2686265 2686269 - PropertyAccessExpression 2686269 2686281 - Identifier 2686269 2686274 - Identifier 2686275 2686281 - QuestionToken 2686281 2686283 - PropertyAccessExpression 2686283 2686300 - Identifier 2686283 2686288 - Identifier 2686289 2686300 - ColonToken 2686300 2686302 - Identifier 2686302 2686312 - VariableStatement 2686313 2687011 - VariableDeclarationList 2686313 2687010 - VariableDeclaration 2686725 2687010 - Identifier 2686725 2686735 - BinaryExpression 2686737 2687010 - BinaryExpression 2686737 2686783 - Identifier 2686737 2686758 - BarBarToken 2686758 2686761 - Identifier 2686761 2686783 - BarBarToken 2686783 2686786 - ParenthesizedExpression 2686786 2687010 - ConditionalExpression 2686805 2687009 - BinaryExpression 2686805 2686974 - Identifier 2686805 2686825 - AmpersandAmpersandToken 2686825 2686828 - PrefixUnaryExpression 2686828 2686974 - CallExpression 2686830 2686974 - Identifier 2686830 2686834 - CallExpression 2686835 2686870 - Identifier 2686835 2686847 - AsExpression 2686848 2686869 - Identifier 2686848 2686852 - TypeReference 2686855 2686869 - Identifier 2686855 2686869 - ArrowFunction 2686871 2686973 - Parameter 2686871 2686876 - Identifier 2686871 2686876 - EqualsGreaterThanToken 2686876 2686879 - BinaryExpression 2686879 2686973 - PrefixUnaryExpression 2686879 2686929 - PrefixUnaryExpression 2686881 2686929 - CallExpression 2686882 2686929 - Identifier 2686882 2686905 - Identifier 2686906 2686910 - PropertyAccessExpression 2686911 2686928 - Identifier 2686911 2686916 - Identifier 2686917 2686928 - AmpersandAmpersandToken 2686929 2686932 - PrefixUnaryExpression 2686932 2686973 - PrefixUnaryExpression 2686934 2686973 - CallExpression 2686935 2686973 - Identifier 2686935 2686953 - Identifier 2686954 2686958 - PropertyAccessExpression 2686959 2686972 - Identifier 2686959 2686964 - Identifier 2686965 2686972 - QuestionToken 2686974 2686976 - Identifier 2686976 2686997 - ColonToken 2686997 2686999 - Identifier 2686999 2687009 - IfStatement 2687011 2687613 - BinaryExpression 2687029 2687082 - Identifier 2687029 2687038 - AmpersandAmpersandToken 2687038 2687041 - PrefixUnaryExpression 2687041 2687082 - CallExpression 2687043 2687082 - Identifier 2687043 2687061 - Identifier 2687062 2687070 - PropertyAccessExpression 2687071 2687081 - Identifier 2687071 2687076 - Identifier 2687077 2687081 - Block 2687083 2687613 - VariableStatement 2687085 2687314 - VariableDeclarationList 2687085 2687313 - VariableDeclaration 2687108 2687313 - Identifier 2687108 2687119 - CallExpression 2687121 2687313 - Identifier 2687121 2687133 - Identifier 2687134 2687143 - PropertyAccessExpression 2687144 2687213 - Identifier 2687144 2687156 - Identifier 2687157 2687213 - CallExpression 2687214 2687235 - Identifier 2687214 2687229 - Identifier 2687230 2687234 - CallExpression 2687236 2687259 - Identifier 2687236 2687249 - Identifier 2687250 2687258 - CallExpression 2687260 2687287 - Identifier 2687260 2687273 - PropertyAccessExpression 2687274 2687286 - Identifier 2687274 2687278 - Identifier 2687279 2687286 - CallExpression 2687288 2687312 - Identifier 2687288 2687301 - PropertyAccessExpression 2687302 2687311 - Identifier 2687302 2687306 - Identifier 2687307 2687311 - IfStatement 2687314 2687552 - BinaryExpression 2687336 2687384 - Identifier 2687336 2687351 - AmpersandAmpersandToken 2687351 2687354 - BinaryExpression 2687354 2687384 - Identifier 2687354 2687364 - ExclamationEqualsEqualsToken 2687364 2687368 - Identifier 2687368 2687384 - Block 2687385 2687552 - ExpressionStatement 2687387 2687533 - CallExpression 2687387 2687532 - Identifier 2687387 2687423 - Identifier 2687424 2687434 - CallExpression 2687435 2687531 - Identifier 2687435 2687459 - Identifier 2687460 2687475 - PropertyAccessExpression 2687476 2687508 - Identifier 2687476 2687488 - Identifier 2687489 2687508 - CallExpression 2687509 2687530 - Identifier 2687509 2687524 - Identifier 2687525 2687529 - ExpressionStatement 2687552 2687598 - CallExpression 2687552 2687597 - PropertyAccessExpression 2687552 2687585 - Identifier 2687552 2687581 - Identifier 2687582 2687585 - Identifier 2687586 2687596 - FunctionDeclaration 2687631 2689437 - Identifier 2687647 2687685 - Parameter 2687686 2687696 - Identifier 2687686 2687690 - TypeReference 2687691 2687696 - Identifier 2687691 2687696 - Parameter 2687697 2687718 - Identifier 2687697 2687707 - TypeReference 2687708 2687718 - Identifier 2687708 2687718 - Block 2687719 2689437 - VariableStatement 2687721 2687773 - VariableDeclarationList 2687721 2687772 - VariableDeclaration 2687736 2687772 - Identifier 2687736 2687748 - PropertyAccessExpression 2687750 2687772 - Identifier 2687750 2687760 - Identifier 2687761 2687772 - VariableStatement 2687773 2687851 - VariableDeclarationList 2687773 2687850 - VariableDeclaration 2687788 2687850 - Identifier 2687788 2687799 - CallExpression 2687801 2687850 - Identifier 2687801 2687825 - Identifier 2687826 2687830 - PropertyAccessExpression 2687831 2687849 - Identifier 2687831 2687841 - Identifier 2687842 2687849 - VariableStatement 2687851 2688016 - VariableDeclarationList 2687851 2688015 - VariableDeclaration 2687866 2688015 - Identifier 2687866 2687887 - ConditionalExpression 2687889 2688015 - BinaryExpression 2687889 2687934 - CallExpression 2687889 2687910 - Identifier 2687889 2687904 - Identifier 2687905 2687909 - AmpersandToken 2687910 2687912 - PropertyAccessExpression 2687912 2687934 - Identifier 2687912 2687924 - Identifier 2687925 2687934 - QuestionToken 2687934 2687936 - CallExpression 2687936 2688003 - Identifier 2687936 2687957 - PropertyAccessExpression 2687958 2687969 - Identifier 2687958 2687962 - Identifier 2687963 2687969 - PropertyAccessExpression 2687970 2688002 - Identifier 2687970 2687981 - Identifier 2687982 2688002 - ColonToken 2688003 2688005 - Identifier 2688005 2688015 - VariableStatement 2688016 2688168 - VariableDeclarationList 2688016 2688167 - VariableDeclaration 2688031 2688167 - Identifier 2688031 2688053 - ConditionalExpression 2688055 2688167 - BinaryExpression 2688055 2688141 - Identifier 2688055 2688067 - AmpersandAmpersandToken 2688067 2688070 - BinaryExpression 2688070 2688141 - CallExpression 2688070 2688125 - Identifier 2688070 2688088 - CallExpression 2688089 2688124 - Identifier 2688089 2688111 - Identifier 2688112 2688123 - EqualsEqualsEqualsToken 2688125 2688129 - PropertyAccessExpression 2688129 2688141 - Identifier 2688129 2688134 - Identifier 2688135 2688141 - QuestionToken 2688141 2688143 - Identifier 2688143 2688155 - ColonToken 2688155 2688157 - Identifier 2688157 2688167 - ForOfStatement 2688168 2689430 - VariableDeclarationList 2688183 2688193 - VariableDeclaration 2688188 2688193 - Identifier 2688188 2688193 - Identifier 2688196 2688207 - Block 2688208 2689430 - IfStatement 2688210 2688257 - BinaryExpression 2688228 2688246 - Identifier 2688228 2688232 - EqualsEqualsEqualsToken 2688232 2688236 - Identifier 2688236 2688246 - ContinueStatement 2688247 2688257 - VariableStatement 2688257 2688428 - VariableDeclarationList 2688257 2688427 - VariableDeclaration 2688276 2688427 - Identifier 2688276 2688298 - ConditionalExpression 2688300 2688427 - BinaryExpression 2688300 2688396 - PropertyAccessExpression 2688300 2688317 - Identifier 2688300 2688305 - Identifier 2688306 2688317 - AmpersandAmpersandToken 2688317 2688320 - BinaryExpression 2688320 2688396 - CallExpression 2688320 2688380 - Identifier 2688320 2688338 - CallExpression 2688339 2688379 - Identifier 2688339 2688361 - PropertyAccessExpression 2688362 2688378 - Identifier 2688362 2688366 - Identifier 2688367 2688378 - EqualsEqualsEqualsToken 2688380 2688384 - PropertyAccessExpression 2688384 2688396 - Identifier 2688384 2688389 - Identifier 2688390 2688396 - QuestionToken 2688396 2688398 - PropertyAccessExpression 2688398 2688415 - Identifier 2688398 2688403 - Identifier 2688404 2688415 - ColonToken 2688415 2688417 - Identifier 2688417 2688427 - VariableStatement 2688428 2689108 - VariableDeclarationList 2688428 2689107 - VariableDeclaration 2688825 2689107 - Identifier 2688825 2688835 - BinaryExpression 2688837 2689107 - BinaryExpression 2688837 2688884 - Identifier 2688837 2688859 - BarBarToken 2688859 2688862 - Identifier 2688862 2688884 - BarBarToken 2688884 2688887 - ParenthesizedExpression 2688887 2689107 - ConditionalExpression 2688906 2689106 - BinaryExpression 2688906 2689071 - Identifier 2688906 2688926 - AmpersandAmpersandToken 2688926 2688929 - PrefixUnaryExpression 2688929 2689071 - CallExpression 2688931 2689071 - Identifier 2688931 2688935 - CallExpression 2688936 2688971 - Identifier 2688936 2688948 - AsExpression 2688949 2688970 - Identifier 2688949 2688953 - TypeReference 2688956 2688970 - Identifier 2688956 2688970 - ArrowFunction 2688972 2689070 - Parameter 2688972 2688977 - Identifier 2688972 2688977 - EqualsGreaterThanToken 2688977 2688980 - BinaryExpression 2688980 2689070 - PrefixUnaryExpression 2688980 2689026 - PrefixUnaryExpression 2688982 2689026 - CallExpression 2688983 2689026 - Identifier 2688983 2689001 - Identifier 2689002 2689006 - PropertyAccessExpression 2689007 2689025 - Identifier 2689007 2689017 - Identifier 2689018 2689025 - AmpersandAmpersandToken 2689026 2689029 - PrefixUnaryExpression 2689029 2689070 - PrefixUnaryExpression 2689031 2689070 - CallExpression 2689032 2689070 - Identifier 2689032 2689050 - Identifier 2689051 2689055 - PropertyAccessExpression 2689056 2689069 - Identifier 2689056 2689061 - Identifier 2689062 2689069 - QuestionToken 2689071 2689073 - Identifier 2689073 2689094 - ColonToken 2689094 2689096 - Identifier 2689096 2689106 - IfStatement 2689108 2689419 - BinaryExpression 2689126 2689185 - Identifier 2689126 2689135 - AmpersandAmpersandToken 2689135 2689138 - PrefixUnaryExpression 2689138 2689185 - CallExpression 2689140 2689185 - Identifier 2689140 2689158 - PropertyAccessExpression 2689159 2689173 - Identifier 2689159 2689168 - Identifier 2689169 2689173 - PropertyAccessExpression 2689174 2689184 - Identifier 2689174 2689179 - Identifier 2689180 2689184 - Block 2689186 2689419 - ExpressionStatement 2689188 2689404 - CallExpression 2689188 2689403 - Identifier 2689188 2689211 - Identifier 2689212 2689221 - PropertyAccessExpression 2689222 2689286 - Identifier 2689222 2689234 - Identifier 2689235 2689286 - CallExpression 2689287 2689319 - Identifier 2689287 2689300 - PropertyAccessExpression 2689301 2689318 - Identifier 2689301 2689310 - Identifier 2689311 2689318 - CallExpression 2689320 2689349 - Identifier 2689320 2689333 - PropertyAccessExpression 2689334 2689348 - Identifier 2689334 2689343 - Identifier 2689344 2689348 - CallExpression 2689350 2689377 - Identifier 2689350 2689363 - PropertyAccessExpression 2689364 2689376 - Identifier 2689364 2689368 - Identifier 2689369 2689376 - CallExpression 2689378 2689402 - Identifier 2689378 2689391 - PropertyAccessExpression 2689392 2689401 - Identifier 2689392 2689396 - Identifier 2689397 2689401 - FunctionDeclaration 2689437 2690109 - Identifier 2689453 2689477 - Parameter 2689478 2689494 - Identifier 2689478 2689482 - TypeReference 2689483 2689494 - Identifier 2689483 2689494 - Parameter 2689495 2689522 - Identifier 2689495 2689503 - TypeReference 2689504 2689522 - Identifier 2689504 2689522 - VoidKeyword 2689524 2689529 - Block 2689529 2690109 - SwitchStatement 2689531 2690102 - PropertyAccessExpression 2689698 2689714 - Identifier 2689698 2689702 - Identifier 2689703 2689714 - CaseBlock 2689715 2690102 - CaseClause 2689717 2689742 - StringLiteral 2689735 2689741 - CaseClause 2689742 2689771 - StringLiteral 2689760 2689770 - CaseClause 2689771 2689798 - StringLiteral 2689789 2689797 - CaseClause 2689798 2689826 - StringLiteral 2689816 2689825 - CaseClause 2689826 2689854 - StringLiteral 2689844 2689853 - CaseClause 2689854 2689883 - StringLiteral 2689872 2689882 - CaseClause 2689883 2689911 - StringLiteral 2689901 2689910 - CaseClause 2689911 2689939 - StringLiteral 2689929 2689938 - CaseClause 2689939 2689965 - StringLiteral 2689957 2689964 - CaseClause 2689965 2689993 - StringLiteral 2689983 2689992 - CaseClause 2689993 2690091 - StringLiteral 2690011 2690023 - ExpressionStatement 2690024 2690091 - CallExpression 2690024 2690090 - Identifier 2690024 2690047 - Identifier 2690048 2690052 - Identifier 2690053 2690061 - AsExpression 2690062 2690089 - PropertyAccessExpression 2690062 2690079 - Identifier 2690062 2690067 - Identifier 2690068 2690079 - StringKeyword 2690082 2690089 - FunctionDeclaration 2690109 2690691 - Identifier 2690230 2690264 - Parameter 2690265 2690281 - Identifier 2690265 2690269 - TypeReference 2690270 2690281 - Identifier 2690270 2690281 - VoidKeyword 2690283 2690288 - Block 2690288 2690691 - IfStatement 2690290 2690684 - BinaryExpression 2690304 2690480 - BinaryExpression 2690304 2690386 - BinaryExpression 2690304 2690353 - Identifier 2690304 2690333 - GreaterThanEqualsToken 2690333 2690336 - PropertyAccessExpression 2690336 2690353 - Identifier 2690336 2690349 - Identifier 2690350 2690353 - AmpersandAmpersandToken 2690353 2690356 - BinaryExpression 2690356 2690386 - PropertyAccessExpression 2690356 2690373 - Identifier 2690356 2690361 - Identifier 2690362 2690373 - EqualsEqualsEqualsToken 2690373 2690377 - StringLiteral 2690377 2690386 - AmpersandAmpersandToken 2690386 2690402 - BinaryExpression 2690402 2690480 - CallExpression 2690402 2690460 - PropertyAccessExpression 2690402 2690433 - Identifier 2690402 2690407 - Identifier 2690408 2690433 - CallExpression 2690434 2690459 - Identifier 2690434 2690453 - Identifier 2690454 2690458 - LessThanToken 2690460 2690462 - PropertyAccessExpression 2690462 2690480 - Identifier 2690462 2690473 - Identifier 2690474 2690480 - Block 2690491 2690684 - ExpressionStatement 2690493 2690617 - CallExpression 2690493 2690616 - Identifier 2690493 2690512 - Identifier 2690513 2690517 - PropertyAccessExpression 2690518 2690591 - Identifier 2690518 2690530 - Identifier 2690531 2690591 - ElementAccessExpression 2690592 2690615 - Identifier 2690592 2690603 - Identifier 2690604 2690614 - FunctionDeclaration 2690691 2693011 - Identifier 2690707 2690737 - Parameter 2690738 2690764 - Identifier 2690738 2690742 - TypeReference 2690743 2690764 - Identifier 2690743 2690764 - Block 2690765 2693011 - VariableStatement 2690767 2690849 - VariableDeclarationList 2690767 2690848 - VariableDeclaration 2690782 2690848 - Identifier 2690782 2690798 - CallExpression 2690800 2690848 - Identifier 2690800 2690807 - CallExpression 2690808 2690826 - Identifier 2690808 2690820 - Identifier 2690821 2690825 - Identifier 2690827 2690847 - IfStatement 2690849 2690896 - PrefixUnaryExpression 2690863 2690887 - CallExpression 2690864 2690887 - Identifier 2690864 2690870 - Identifier 2690871 2690886 - ReturnStatement 2690888 2690896 - VariableStatement 2690896 2690938 - VariableDeclarationList 2690896 2690937 - VariableDeclaration 2690913 2690937 - Identifier 2690913 2690918 - CallExpression 2690920 2690937 - Identifier 2690920 2690931 - Identifier 2690932 2690936 - VariableStatement 2690938 2690987 - VariableDeclarationList 2690938 2690986 - VariableDeclaration 2690953 2690986 - Identifier 2690953 2690964 - NewExpression 2690966 2690986 - Identifier 2690970 2690974 - TypeReference 2690975 2690983 - Identifier 2690975 2690983 - VariableStatement 2690987 2691042 - VariableDeclarationList 2690987 2691041 - VariableDeclaration 2691002 2691041 - Identifier 2691002 2691021 - NewExpression 2691023 2691041 - Identifier 2691027 2691031 - NumberKeyword 2691032 2691038 - ExpressionStatement 2691042 2691323 - CallExpression 2691042 2691322 - Identifier 2691042 2691059 - PropertyAccessExpression 2691060 2691075 - Identifier 2691060 2691064 - Identifier 2691065 2691075 - ArrowFunction 2691076 2691321 - Parameter 2691078 2691086 - ObjectBindingPattern 2691078 2691086 - BindingElement 2691079 2691084 - Identifier 2691079 2691084 - Parameter 2691087 2691093 - Identifier 2691087 2691093 - EqualsGreaterThanToken 2691094 2691097 - Block 2691097 2691321 - IfStatement 2691099 2691204 - CallExpression 2691117 2691135 - Identifier 2691117 2691129 - Identifier 2691130 2691134 - Block 2691136 2691204 - ExpressionStatement 2691138 2691189 - CallExpression 2691138 2691188 - PropertyAccessExpression 2691138 2691170 - Identifier 2691138 2691166 - Identifier 2691167 2691170 - PropertyAccessExpression 2691171 2691187 - Identifier 2691171 2691175 - Identifier 2691176 2691187 - IfStatement 2691204 2691310 - CallExpression 2691222 2691244 - Identifier 2691222 2691238 - Identifier 2691239 2691243 - Block 2691245 2691310 - ExpressionStatement 2691247 2691295 - CallExpression 2691247 2691294 - PropertyAccessExpression 2691247 2691287 - Identifier 2691247 2691283 - Identifier 2691284 2691287 - Identifier 2691288 2691293 - VariableStatement 2691323 2691394 - VariableDeclarationList 2691323 2691393 - VariableDeclaration 2691340 2691393 - Identifier 2691340 2691358 - CallExpression 2691360 2691393 - Identifier 2691360 2691387 - Identifier 2691388 2691392 - IfStatement 2691394 2693004 - Identifier 2691408 2691425 - Block 2691426 2692174 - VariableStatement 2691428 2691497 - VariableDeclarationList 2691428 2691496 - VariableDeclaration 2691447 2691496 - Identifier 2691447 2691467 - BinaryExpression 2691469 2691496 - PropertyAccessExpression 2691469 2691492 - Identifier 2691469 2691485 - Identifier 2691486 2691492 - MinusToken 2691492 2691494 - NumericLiteral 2691494 2691496 - VariableStatement 2691497 2691571 - VariableDeclarationList 2691497 2691570 - VariableDeclaration 2691516 2691570 - Identifier 2691516 2691531 - ElementAccessExpression 2691533 2691570 - Identifier 2691533 2691549 - Identifier 2691550 2691569 - IfStatement 2691571 2692163 - BinaryExpression 2691589 2691927 - BinaryExpression 2691589 2691854 - BinaryExpression 2691589 2691806 - BinaryExpression 2691589 2691754 - BinaryExpression 2691589 2691699 - BinaryExpression 2691589 2691666 - BinaryExpression 2691589 2691629 - Identifier 2691589 2691611 - AmpersandAmpersandToken 2691611 2691614 - Identifier 2691614 2691629 - AmpersandAmpersandToken 2691629 2691632 - CallExpression 2691632 2691666 - Identifier 2691632 2691645 - PropertyAccessExpression 2691646 2691665 - Identifier 2691646 2691660 - Identifier 2691661 2691665 - AmpersandAmpersandToken 2691666 2691669 - PropertyAccessExpression 2691669 2691699 - Identifier 2691669 2691684 - Identifier 2691685 2691699 - AmpersandAmpersandToken 2691699 2691702 - PropertyAccessExpression 2691702 2691754 - PropertyAccessExpression 2691702 2691749 - Identifier 2691702 2691734 - Identifier 2691735 2691749 - Identifier 2691750 2691754 - AmpersandAmpersandToken 2691754 2691757 - PrefixUnaryExpression 2691757 2691806 - CallExpression 2691759 2691806 - PropertyAccessExpression 2691759 2691773 - Identifier 2691759 2691769 - Identifier 2691770 2691773 - PropertyAccessExpression 2691774 2691805 - PropertyAccessExpression 2691774 2691793 - Identifier 2691774 2691788 - Identifier 2691789 2691793 - Identifier 2691794 2691805 - AmpersandAmpersandToken 2691806 2691809 - PrefixUnaryExpression 2691809 2691854 - CallExpression 2691811 2691854 - PropertyAccessExpression 2691811 2691833 - Identifier 2691811 2691829 - Identifier 2691830 2691833 - Identifier 2691834 2691853 - AmpersandAmpersandToken 2691854 2691857 - PrefixUnaryExpression 2691857 2691927 - CallExpression 2691859 2691927 - Identifier 2691859 2691870 - CallExpression 2691871 2691926 - Identifier 2691871 2691890 - PropertyAccessExpression 2691891 2691925 - PropertyAccessExpression 2691891 2691920 - Identifier 2691891 2691905 - Identifier 2691906 2691920 - Identifier 2691921 2691925 - Block 2691942 2692163 - ExpressionStatement 2691944 2692148 - CallExpression 2691944 2692147 - Identifier 2691944 2691967 - PropertyAccessExpression 2691968 2691987 - Identifier 2691968 2691982 - Identifier 2691983 2691987 - PropertyAccessExpression 2691988 2692117 - Identifier 2691988 2692000 - Identifier 2692001 2692117 - CallExpression 2692118 2692146 - Identifier 2692118 2692125 - PropertyAccessExpression 2692126 2692145 - Identifier 2692126 2692140 - Identifier 2692141 2692145 - Block 2692188 2693004 - ExpressionStatement 2692190 2692993 - CallExpression 2692190 2692992 - Identifier 2692190 2692211 - Identifier 2692212 2692227 - ArrowFunction 2692228 2692991 - Parameter 2692230 2692251 - ObjectBindingPattern 2692230 2692251 - BindingElement 2692231 2692236 - Identifier 2692231 2692236 - BindingElement 2692237 2692249 - Identifier 2692237 2692249 - Parameter 2692252 2692258 - Identifier 2692252 2692258 - EqualsGreaterThanToken 2692259 2692262 - Block 2692262 2692991 - IfStatement 2692264 2692424 - BinaryExpression 2692286 2692373 - CallExpression 2692286 2692315 - PropertyAccessExpression 2692286 2692308 - Identifier 2692286 2692304 - Identifier 2692305 2692308 - Identifier 2692309 2692314 - BarBarToken 2692315 2692318 - BinaryExpression 2692318 2692373 - CallExpression 2692318 2692337 - Identifier 2692318 2692331 - Identifier 2692332 2692336 - AmpersandAmpersandToken 2692337 2692340 - CallExpression 2692340 2692373 - PropertyAccessExpression 2692340 2692355 - Identifier 2692340 2692351 - Identifier 2692352 2692355 - PropertyAccessExpression 2692356 2692372 - Identifier 2692356 2692360 - Identifier 2692361 2692372 - Block 2692374 2692424 - ReturnStatement 2692376 2692405 - IfStatement 2692424 2692976 - CallExpression 2692446 2692467 - Identifier 2692446 2692461 - Identifier 2692462 2692466 - Block 2692468 2692718 - IfStatement 2692470 2692699 - Identifier 2692496 2692500 - Block 2692501 2692699 - ExpressionStatement 2692503 2692676 - CallExpression 2692503 2692675 - Identifier 2692503 2692534 - Identifier 2692535 2692539 - PropertyAccessExpression 2692540 2692617 - Identifier 2692540 2692552 - Identifier 2692553 2692617 - CallExpression 2692618 2692643 - Identifier 2692618 2692637 - Identifier 2692638 2692642 - CallExpression 2692644 2692674 - Identifier 2692644 2692663 - PropertyAccessExpression 2692664 2692673 - Identifier 2692664 2692668 - Identifier 2692669 2692673 - Block 2692740 2692976 - IfStatement 2692742 2692957 - PrefixUnaryExpression 2692768 2692780 - Identifier 2692769 2692780 - Block 2692781 2692957 - ExpressionStatement 2692783 2692934 - CallExpression 2692783 2692933 - Identifier 2692783 2692826 - Identifier 2692827 2692831 - Identifier 2692832 2692837 - PropertyAccessExpression 2692838 2692918 - Identifier 2692838 2692850 - Identifier 2692851 2692918 - CallExpression 2692919 2692932 - Identifier 2692919 2692926 - Identifier 2692927 2692931 - FunctionDeclaration 2693011 2694432 - Identifier 2693156 2693176 - Parameter 2693177 2693251 - Identifier 2693177 2693202 - UnionType 2693203 2693251 - TypeOperator 2693203 2693239 - ArrayType 2693212 2693239 - TypeReference 2693212 2693237 - Identifier 2693212 2693237 - UndefinedKeyword 2693241 2693251 - Block 2693252 2694432 - VariableStatement 2693254 2693288 - VariableDeclarationList 2693254 2693287 - VariableDeclaration 2693267 2693287 - Identifier 2693267 2693279 - FalseKeyword 2693281 2693287 - IfStatement 2693288 2693616 - Identifier 2693302 2693327 - Block 2693328 2693616 - ForStatement 2693330 2693605 - VariableDeclarationList 2693349 2693358 - VariableDeclaration 2693352 2693358 - Identifier 2693352 2693354 - NumericLiteral 2693356 2693358 - BinaryExpression 2693359 2693396 - Identifier 2693359 2693361 - LessThanToken 2693361 2693363 - PropertyAccessExpression 2693363 2693396 - Identifier 2693363 2693389 - Identifier 2693390 2693396 - PostfixUnaryExpression 2693397 2693401 - Identifier 2693397 2693399 - Block 2693402 2693605 - VariableStatement 2693404 2693464 - VariableDeclarationList 2693404 2693463 - VariableDeclaration 2693427 2693463 - Identifier 2693427 2693432 - ElementAccessExpression 2693434 2693463 - Identifier 2693434 2693460 - Identifier 2693461 2693462 - ExpressionStatement 2693464 2693507 - CallExpression 2693464 2693506 - Identifier 2693464 2693500 - Identifier 2693501 2693505 - ExpressionStatement 2693507 2693590 - CallExpression 2693507 2693589 - Identifier 2693507 2693544 - CallExpression 2693545 2693588 - Identifier 2693545 2693579 - Identifier 2693580 2693584 - Identifier 2693585 2693587 - FunctionDeclaration 2693616 2694425 - Identifier 2693636 2693671 - Parameter 2693672 2693702 - Identifier 2693672 2693676 - TypeReference 2693677 2693702 - Identifier 2693677 2693702 - Parameter 2693703 2693713 - Identifier 2693703 2693705 - NumberKeyword 2693706 2693713 - Block 2693714 2694425 - ReturnStatement 2693716 2694414 - ArrowFunction 2693736 2694413 - EqualsGreaterThanToken 2693739 2693742 - Block 2693742 2694413 - IfStatement 2693744 2694113 - PropertyAccessExpression 2693766 2693778 - Identifier 2693766 2693770 - Identifier 2693771 2693778 - Block 2693779 2693941 - ExpressionStatement 2693781 2693822 - BinaryExpression 2693781 2693821 - Identifier 2693781 2693814 - EqualsToken 2693814 2693816 - TrueKeyword 2693816 2693821 - ExpressionStatement 2693822 2693922 - CallExpression 2693822 2693921 - Identifier 2693822 2693876 - PropertyAccessExpression 2693877 2693889 - Identifier 2693877 2693881 - Identifier 2693882 2693889 - NonNullExpression 2693890 2693917 - Identifier 2693890 2693916 - Identifier 2693918 2693920 - IfStatement 2693963 2694113 - Identifier 2693968 2693979 - Block 2693980 2694113 - ExpressionStatement 2693982 2694094 - CallExpression 2693982 2694093 - Identifier 2693982 2694009 - Identifier 2694010 2694014 - PropertyAccessExpression 2694015 2694092 - Identifier 2694015 2694027 - Identifier 2694028 2694092 - ForStatement 2694113 2694398 - VariableDeclarationList 2694136 2694145 - VariableDeclaration 2694139 2694145 - Identifier 2694139 2694141 - NumericLiteral 2694143 2694145 - BinaryExpression 2694146 2694152 - Identifier 2694146 2694148 - LessThanToken 2694148 2694150 - Identifier 2694150 2694152 - PostfixUnaryExpression 2694153 2694157 - Identifier 2694153 2694155 - Block 2694158 2694398 - IfStatement 2694160 2694379 - BinaryExpression 2694186 2694238 - PropertyAccessExpression 2694186 2694222 - ElementAccessExpression 2694186 2694215 - NonNullExpression 2694186 2694212 - Identifier 2694186 2694211 - Identifier 2694213 2694214 - Identifier 2694216 2694222 - EqualsEqualsEqualsToken 2694222 2694226 - PropertyAccessExpression 2694226 2694238 - Identifier 2694226 2694231 - Identifier 2694232 2694238 - Block 2694239 2694379 - ExpressionStatement 2694241 2694356 - CallExpression 2694241 2694355 - Identifier 2694241 2694272 - PropertyAccessExpression 2694273 2694282 - Identifier 2694273 2694277 - Identifier 2694278 2694282 - PropertyAccessExpression 2694283 2694318 - Identifier 2694283 2694295 - Identifier 2694296 2694318 - CallExpression 2694319 2694354 - Identifier 2694319 2694343 - PropertyAccessExpression 2694344 2694353 - Identifier 2694344 2694348 - Identifier 2694349 2694353 - FunctionDeclaration 2694432 2695369 - Identifier 2694546 2694579 - Parameter 2694580 2694594 - Identifier 2694580 2694584 - TypeReference 2694585 2694594 - Identifier 2694585 2694594 - Parameter 2694595 2694647 - Identifier 2694595 2694610 - TypeOperator 2694611 2694647 - ArrayType 2694620 2694647 - TypeReference 2694620 2694645 - Identifier 2694620 2694645 - Parameter 2694648 2694662 - Identifier 2694648 2694654 - NumberKeyword 2694655 2694662 - Block 2694663 2695369 - ExpressionStatement 2694665 2694687 - CallExpression 2694665 2694686 - Identifier 2694665 2694680 - Identifier 2694681 2694685 - FunctionDeclaration 2694687 2695362 - Identifier 2694705 2694711 - Parameter 2694712 2694722 - Identifier 2694712 2694716 - TypeReference 2694717 2694722 - Identifier 2694717 2694722 - Block 2694723 2695362 - IfStatement 2694725 2695311 - BinaryExpression 2694743 2694781 - PropertyAccessExpression 2694743 2694752 - Identifier 2694743 2694747 - Identifier 2694748 2694752 - EqualsEqualsEqualsToken 2694752 2694756 - PropertyAccessExpression 2694756 2694781 - Identifier 2694756 2694767 - Identifier 2694768 2694781 - Block 2694782 2695311 - VariableStatement 2694784 2694867 - VariableDeclarationList 2694784 2694866 - VariableDeclaration 2694807 2694866 - Identifier 2694807 2694812 - CallExpression 2694814 2694866 - Identifier 2694814 2694839 - AsExpression 2694840 2694865 - Identifier 2694840 2694844 - TypeReference 2694847 2694865 - Identifier 2694847 2694865 - IfStatement 2694867 2695296 - BinaryExpression 2694889 2694925 - PropertyAccessExpression 2694889 2694899 - Identifier 2694889 2694893 - Identifier 2694894 2694899 - AmpersandToken 2694899 2694901 - PropertyAccessExpression 2694901 2694925 - Identifier 2694901 2694911 - Identifier 2694912 2694925 - Block 2694926 2695296 - ForStatement 2694928 2695277 - VariableDeclarationList 2694955 2694968 - VariableDeclaration 2694958 2694968 - Identifier 2694958 2694960 - Identifier 2694962 2694968 - BinaryExpression 2694969 2694995 - Identifier 2694969 2694971 - LessThanToken 2694971 2694973 - PropertyAccessExpression 2694973 2694995 - Identifier 2694973 2694988 - Identifier 2694989 2694995 - PostfixUnaryExpression 2694996 2695000 - Identifier 2694996 2694998 - Block 2695001 2695277 - IfStatement 2695003 2695254 - BinaryExpression 2695033 2695090 - PropertyAccessExpression 2695033 2695044 - Identifier 2695033 2695037 - Identifier 2695038 2695044 - EqualsEqualsEqualsToken 2695044 2695048 - CallExpression 2695048 2695090 - Identifier 2695048 2695071 - ElementAccessExpression 2695072 2695089 - Identifier 2695072 2695086 - Identifier 2695087 2695088 - Block 2695091 2695254 - ExpressionStatement 2695093 2695227 - CallExpression 2695093 2695226 - Identifier 2695093 2695128 - Identifier 2695129 2695133 - PropertyAccessExpression 2695134 2695225 - Identifier 2695134 2695146 - Identifier 2695147 2695225 - ExpressionStatement 2695311 2695351 - CallExpression 2695311 2695350 - Identifier 2695311 2695337 - Identifier 2695338 2695342 - Identifier 2695343 2695349 - FunctionDeclaration 2695369 2696519 - Identifier 2695472 2695505 - Parameter 2695506 2695520 - Identifier 2695506 2695512 - TypeReference 2695513 2695520 - Identifier 2695513 2695520 - Block 2695521 2696519 - IfStatement 2695523 2695627 - BinaryExpression 2695537 2695592 - PropertyAccessExpression 2695537 2695556 - Identifier 2695537 2695543 - Identifier 2695544 2695556 - AmpersandAmpersandToken 2695556 2695559 - BinaryExpression 2695559 2695592 - PropertyAccessExpression 2695559 2695586 - PropertyAccessExpression 2695559 2695579 - Identifier 2695559 2695566 - Identifier 2695567 2695579 - Identifier 2695580 2695586 - EqualsEqualsEqualsToken 2695586 2695590 - NumericLiteral 2695590 2695592 - Block 2695593 2695627 - ReturnStatement 2695595 2695616 - VariableStatement 2695627 2695676 - VariableDeclarationList 2695627 2695675 - VariableDeclaration 2695644 2695675 - Identifier 2695644 2695650 - CallExpression 2695652 2695675 - Identifier 2695652 2695667 - Identifier 2695668 2695674 - IfStatement 2695676 2696512 - PrefixUnaryExpression 2695690 2695718 - PropertyAccessExpression 2695691 2695718 - Identifier 2695691 2695696 - Identifier 2695697 2695718 - Block 2695719 2696512 - ExpressionStatement 2695721 2695770 - BinaryExpression 2695721 2695769 - PropertyAccessExpression 2695721 2695762 - Identifier 2695721 2695740 - Identifier 2695741 2695762 - EqualsToken 2695762 2695764 - TrueKeyword 2695764 2695769 - VariableStatement 2695770 2695853 - VariableDeclarationList 2695770 2695852 - VariableDeclaration 2695789 2695852 - Identifier 2695789 2695802 - CallExpression 2695804 2695852 - Identifier 2695804 2695844 - Identifier 2695845 2695851 - IfStatement 2695853 2695955 - BinaryExpression 2695871 2695912 - PrefixUnaryExpression 2695871 2695884 - Identifier 2695872 2695884 - BarBarToken 2695884 2695887 - BinaryExpression 2695887 2695912 - PropertyAccessExpression 2695887 2695907 - Identifier 2695887 2695900 - Identifier 2695901 2695907 - LessThanEqualsToken 2695907 2695910 - NumericLiteral 2695910 2695912 - Block 2695913 2695955 - ReturnStatement 2695915 2695940 - VariableStatement 2695955 2696033 - VariableDeclarationList 2695955 2696032 - VariableDeclaration 2695976 2696032 - Identifier 2695976 2695981 - AsExpression 2695983 2696032 - CallExpression 2695983 2696015 - Identifier 2695983 2696007 - Identifier 2696008 2696014 - TypeReference 2696018 2696032 - Identifier 2696018 2696032 - IfStatement 2696033 2696501 - PrefixUnaryExpression 2696051 2696158 - CallExpression 2696052 2696158 - Identifier 2696052 2696078 - Identifier 2696079 2696091 - NonNullExpression 2696092 2696118 - PropertyAccessExpression 2696092 2696117 - Identifier 2696092 2696097 - Identifier 2696098 2696117 - Identifier 2696119 2696157 - Block 2696159 2696501 - VariableStatement 2696161 2696285 - VariableDeclarationList 2696161 2696284 - VariableDeclaration 2696254 2696284 - Identifier 2696254 2696259 - CallExpression 2696261 2696284 - Identifier 2696261 2696276 - Identifier 2696277 2696283 - ForOfStatement 2696285 2696486 - VariableDeclarationList 2696308 2696325 - VariableDeclaration 2696313 2696325 - Identifier 2696313 2696325 - Identifier 2696328 2696341 - Block 2696342 2696486 - ExpressionStatement 2696344 2696467 - CallExpression 2696344 2696466 - Identifier 2696344 2696371 - PropertyAccessExpression 2696372 2696388 - Identifier 2696372 2696383 - Identifier 2696384 2696388 - PropertyAccessExpression 2696389 2696459 - Identifier 2696389 2696401 - Identifier 2696402 2696459 - Identifier 2696460 2696465 - FunctionDeclaration 2696519 2699250 - Identifier 2696535 2696562 - TypeParameter 2696563 2696629 - Identifier 2696563 2696564 - UnionType 2696572 2696629 - TypeReference 2696572 2696602 - Identifier 2696572 2696602 - TypeReference 2696604 2696629 - Identifier 2696604 2696629 - Parameter 2696631 2696657 - Identifier 2696631 2696643 - TypeOperator 2696644 2696657 - ArrayType 2696653 2696657 - TypeReference 2696653 2696655 - Identifier 2696653 2696655 - Parameter 2696658 2696692 - Identifier 2696658 2696675 - ArrayType 2696676 2696692 - TypeReference 2696676 2696690 - Identifier 2696676 2696690 - Parameter 2696693 2696772 - Identifier 2696693 2696722 - FunctionType 2696723 2696772 - Parameter 2696725 2696732 - Identifier 2696725 2696729 - TypeReference 2696730 2696732 - Identifier 2696730 2696732 - TypeOperator 2696736 2696772 - ArrayType 2696745 2696772 - TypeReference 2696745 2696770 - Identifier 2696745 2696770 - Block 2696773 2699250 - VariableStatement 2696775 2696839 - VariableDeclarationList 2696775 2696838 - VariableDeclaration 2696790 2696838 - Identifier 2696790 2696811 - CallExpression 2696813 2696838 - Identifier 2696813 2696820 - Identifier 2696821 2696837 - VariableStatement 2696839 2696920 - VariableDeclarationList 2696839 2696919 - VariableDeclaration 2696854 2696919 - Identifier 2696854 2696875 - CallExpression 2696877 2696919 - Identifier 2696877 2696901 - Identifier 2696902 2696918 - ForOfStatement 2696920 2699219 - VariableDeclarationList 2696937 2696954 - VariableDeclaration 2696942 2696954 - Identifier 2696942 2696954 - Identifier 2696957 2696970 - Block 2696971 2699219 - VariableStatement 2696973 2697150 - VariableDeclarationList 2696973 2697149 - VariableDeclaration 2697088 2697149 - Identifier 2697088 2697105 - CallExpression 2697107 2697149 - Identifier 2697107 2697136 - Identifier 2697137 2697148 - VariableStatement 2697150 2697214 - VariableDeclarationList 2697150 2697213 - VariableDeclaration 2697169 2697213 - Identifier 2697169 2697187 - PropertyAccessExpression 2697189 2697213 - Identifier 2697189 2697206 - Identifier 2697207 2697213 - IfStatement 2697214 2697365 - BinaryExpression 2697232 2697316 - BinaryExpression 2697232 2697272 - Identifier 2697232 2697249 - LessThanToken 2697249 2697251 - Identifier 2697251 2697272 - BarBarToken 2697272 2697275 - BinaryExpression 2697275 2697316 - Identifier 2697275 2697293 - GreaterThanToken 2697293 2697295 - Identifier 2697295 2697316 - Block 2697317 2697365 - ReturnStatement 2697319 2697350 - FalseKeyword 2697343 2697349 - ForStatement 2697365 2699208 - VariableDeclarationList 2697386 2697395 - VariableDeclaration 2697389 2697395 - Identifier 2697389 2697391 - NumericLiteral 2697393 2697395 - BinaryExpression 2697396 2697418 - Identifier 2697396 2697398 - LessThanToken 2697398 2697400 - Identifier 2697400 2697418 - PostfixUnaryExpression 2697419 2697423 - Identifier 2697419 2697421 - Block 2697424 2699208 - VariableStatement 2697426 2697479 - VariableDeclarationList 2697426 2697478 - VariableDeclaration 2697449 2697478 - Identifier 2697449 2697456 - ElementAccessExpression 2697458 2697478 - Identifier 2697458 2697475 - Identifier 2697476 2697477 - VariableStatement 2697479 2697532 - VariableDeclarationList 2697479 2697531 - VariableDeclaration 2697502 2697531 - Identifier 2697502 2697509 - ElementAccessExpression 2697511 2697531 - Identifier 2697511 2697528 - Identifier 2697529 2697530 - IfStatement 2697532 2697825 - BinaryExpression 2697715 2697768 - PropertyAccessExpression 2697715 2697738 - PropertyAccessExpression 2697715 2697726 - Identifier 2697715 2697721 - Identifier 2697722 2697726 - Identifier 2697727 2697738 - ExclamationEqualsEqualsToken 2697738 2697742 - PropertyAccessExpression 2697742 2697768 - PropertyAccessExpression 2697742 2697756 - Identifier 2697742 2697749 - Identifier 2697750 2697756 - Identifier 2697757 2697768 - Block 2697769 2697825 - ReturnStatement 2697771 2697806 - FalseKeyword 2697799 2697805 - VariableStatement 2697825 2698084 - VariableDeclarationList 2697825 2698083 - VariableDeclaration 2698024 2698083 - Identifier 2698024 2698035 - CallExpression 2698037 2698083 - Identifier 2698037 2698075 - Identifier 2698076 2698082 - VariableStatement 2698084 2698173 - VariableDeclarationList 2698084 2698172 - VariableDeclaration 2698107 2698172 - Identifier 2698107 2698124 - BinaryExpression 2698126 2698172 - Identifier 2698126 2698137 - AmpersandAmpersandToken 2698137 2698140 - CallExpression 2698140 2698172 - Identifier 2698140 2698160 - Identifier 2698161 2698171 - VariableStatement 2698173 2698253 - VariableDeclarationList 2698173 2698252 - VariableDeclaration 2698196 2698252 - Identifier 2698196 2698213 - CallExpression 2698215 2698252 - Identifier 2698215 2698244 - Identifier 2698245 2698251 - IfStatement 2698253 2698679 - BinaryExpression 2698528 2698622 - BinaryExpression 2698528 2698564 - Identifier 2698528 2698544 - AmpersandAmpersandToken 2698544 2698547 - Identifier 2698547 2698564 - AmpersandAmpersandToken 2698564 2698567 - PrefixUnaryExpression 2698567 2698622 - CallExpression 2698569 2698622 - Identifier 2698569 2698586 - Identifier 2698587 2698603 - Identifier 2698604 2698621 - Block 2698623 2698679 - ReturnStatement 2698625 2698660 - FalseKeyword 2698653 2698659 - VariableStatement 2698679 2698956 - VariableDeclarationList 2698679 2698955 - VariableDeclaration 2698885 2698955 - Identifier 2698885 2698899 - BinaryExpression 2698901 2698955 - PropertyAccessExpression 2698901 2698916 - Identifier 2698901 2698908 - Identifier 2698909 2698916 - AmpersandAmpersandToken 2698916 2698919 - CallExpression 2698919 2698955 - Identifier 2698919 2698939 - PropertyAccessExpression 2698940 2698954 - Identifier 2698940 2698946 - Identifier 2698947 2698954 - VariableStatement 2698956 2699032 - VariableDeclarationList 2698956 2699031 - VariableDeclaration 2698979 2699031 - Identifier 2698979 2698993 - CallExpression 2698995 2699031 - Identifier 2698995 2699023 - Identifier 2699024 2699030 - IfStatement 2699032 2699193 - BinaryExpression 2699054 2699136 - BinaryExpression 2699054 2699084 - Identifier 2699054 2699067 - AmpersandAmpersandToken 2699067 2699070 - Identifier 2699070 2699084 - AmpersandAmpersandToken 2699084 2699087 - PrefixUnaryExpression 2699087 2699136 - CallExpression 2699089 2699136 - Identifier 2699089 2699106 - Identifier 2699107 2699120 - Identifier 2699121 2699135 - Block 2699137 2699193 - ReturnStatement 2699139 2699174 - FalseKeyword 2699167 2699173 - ReturnStatement 2699219 2699243 - TrueKeyword 2699237 2699242 - FunctionDeclaration 2699250 2700948 - Identifier 2699266 2699306 - Parameter 2699307 2699333 - Identifier 2699307 2699311 - TypeReference 2699312 2699333 - Identifier 2699312 2699333 - Block 2699334 2700948 - VariableStatement 2699336 2699589 - VariableDeclarationList 2699336 2699588 - VariableDeclaration 2699351 2699588 - Identifier 2699351 2699395 - BinaryExpression 2699397 2699588 - BinaryExpression 2699397 2699496 - PrefixUnaryExpression 2699397 2699415 - Identifier 2699399 2699415 - AmpersandAmpersandToken 2699415 2699418 - BinaryExpression 2699418 2699496 - Identifier 2699418 2699434 - LessThanToken 2699434 2699436 - PropertyAccessExpression 2699436 2699496 - Identifier 2699436 2699465 - Identifier 2699466 2699496 - AmpersandAmpersandToken 2699496 2699499 - CallExpression 2699499 2699588 - Identifier 2699499 2699551 - FalseKeyword 2699552 2699581 - Identifier 2699582 2699587 - VariableStatement 2699589 2699829 - VariableDeclarationList 2699589 2699828 - VariableDeclaration 2699604 2699828 - Identifier 2699604 2699652 - BinaryExpression 2699654 2699828 - BinaryExpression 2699654 2699734 - Identifier 2699654 2699670 - LessThanToken 2699670 2699672 - PropertyAccessExpression 2699672 2699734 - Identifier 2699672 2699701 - Identifier 2699702 2699734 - BarBarToken 2699734 2699737 - BinaryExpression 2699737 2699828 - Identifier 2699737 2699766 - LessThanToken 2699766 2699768 - PropertyAccessExpression 2699768 2699828 - Identifier 2699768 2699797 - Identifier 2699798 2699828 - VariableStatement 2699829 2699898 - VariableDeclarationList 2699829 2699897 - VariableDeclaration 2699844 2699897 - Identifier 2699844 2699870 - PrefixUnaryExpression 2699872 2699897 - Identifier 2699874 2699897 - IfStatement 2699898 2700941 - BinaryExpression 2699912 2700006 - Identifier 2699912 2699955 - BarBarToken 2699955 2699958 - Identifier 2699958 2700006 - Block 2700007 2700941 - ForOfStatement 2700009 2700930 - VariableDeclarationList 2700028 2700040 - VariableDeclaration 2700033 2700040 - Identifier 2700033 2700040 - PropertyAccessExpression 2700043 2700056 - Identifier 2700043 2700048 - Identifier 2700049 2700056 - Block 2700057 2700930 - IfStatement 2700059 2700915 - BinaryExpression 2700081 2700219 - Identifier 2700081 2700124 - AmpersandAmpersandToken 2700124 2700127 - CallExpression 2700127 2700219 - Identifier 2700127 2700174 - FalseKeyword 2700175 2700204 - Identifier 2700205 2700212 - Identifier 2700213 2700218 - Block 2700220 2700316 - ReturnStatement 2700222 2700297 - BinaryExpression 2700250 2700296 - CallExpression 2700250 2700288 - Identifier 2700250 2700267 - CallExpression 2700268 2700287 - Identifier 2700268 2700281 - Identifier 2700282 2700286 - QuestionQuestionToken 2700288 2700291 - Identifier 2700291 2700296 - IfStatement 2700338 2700915 - Identifier 2700343 2700390 - Block 2700391 2700915 - IfStatement 2700393 2700896 - CallExpression 2700419 2700456 - Identifier 2700419 2700448 - Identifier 2700449 2700455 - Block 2700457 2700522 - ReturnStatement 2700459 2700499 - Identifier 2700491 2700498 - IfStatement 2700548 2700896 - CallExpression 2700553 2700569 - Identifier 2700553 2700561 - Identifier 2700562 2700568 - Block 2700570 2700896 - IfStatement 2700572 2700873 - BinaryExpression 2700602 2700773 - CallExpression 2700602 2700682 - Identifier 2700602 2700674 - Identifier 2700675 2700681 - BarBarToken 2700682 2700685 - BinaryExpression 2700685 2700773 - Identifier 2700685 2700740 - AmpersandAmpersandToken 2700740 2700743 - CallExpression 2700743 2700773 - Identifier 2700743 2700765 - Identifier 2700766 2700772 - Block 2700800 2700873 - ReturnStatement 2700802 2700846 - Identifier 2700838 2700845 - FunctionDeclaration 2700948 2702034 - Identifier 2700964 2701000 - Parameter 2701001 2701022 - Identifier 2701001 2701005 - TypeReference 2701006 2701022 - Identifier 2701006 2701022 - Block 2701023 2702034 - IfStatement 2701025 2701057 - PropertyAccessExpression 2701039 2701048 - Identifier 2701039 2701043 - Identifier 2701044 2701048 - ReturnStatement 2701049 2701057 - VariableStatement 2701057 2701113 - VariableDeclarationList 2701057 2701112 - VariableDeclaration 2701074 2701112 - Identifier 2701074 2701081 - CallExpression 2701083 2701112 - Identifier 2701083 2701106 - Identifier 2701107 2701111 - IfStatement 2701113 2701168 - PrefixUnaryExpression 2701127 2701159 - CallExpression 2701128 2701159 - Identifier 2701128 2701151 - Identifier 2701152 2701158 - ReturnStatement 2701160 2701168 - VariableStatement 2701168 2701313 - VariableDeclarationList 2701168 2701312 - VariableDeclaration 2701185 2701312 - Identifier 2701185 2701211 - BinaryExpression 2701213 2701312 - PrefixUnaryExpression 2701213 2701231 - Identifier 2701215 2701231 - AmpersandAmpersandToken 2701231 2701234 - BinaryExpression 2701234 2701312 - Identifier 2701234 2701250 - LessThanToken 2701250 2701252 - PropertyAccessExpression 2701252 2701312 - Identifier 2701252 2701281 - Identifier 2701282 2701312 - VariableStatement 2701313 2701354 - VariableDeclarationList 2701313 2701353 - VariableDeclaration 2701326 2701353 - Identifier 2701326 2701335 - UnionType 2701336 2701353 - TypeReference 2701336 2701341 - Identifier 2701336 2701341 - UndefinedKeyword 2701343 2701353 - IfStatement 2701354 2701655 - BinaryExpression 2701368 2701472 - Identifier 2701368 2701393 - AmpersandAmpersandToken 2701393 2701396 - CallExpression 2701396 2701472 - Identifier 2701396 2701435 - FalseKeyword 2701436 2701465 - Identifier 2701466 2701471 - Block 2701473 2701557 - ExpressionStatement 2701475 2701546 - BinaryExpression 2701475 2701545 - Identifier 2701475 2701497 - EqualsToken 2701497 2701499 - BinaryExpression 2701499 2701545 - CallExpression 2701499 2701537 - Identifier 2701499 2701516 - CallExpression 2701517 2701536 - Identifier 2701517 2701530 - Identifier 2701531 2701535 - QuestionQuestionToken 2701537 2701540 - Identifier 2701540 2701545 - Block 2701571 2701655 - ExpressionStatement 2701573 2701644 - BinaryExpression 2701573 2701643 - Identifier 2701573 2701595 - EqualsToken 2701595 2701597 - CallExpression 2701597 2701643 - Identifier 2701597 2701637 - Identifier 2701638 2701642 - IfStatement 2701655 2702027 - Identifier 2701671 2701679 - Block 2701680 2702027 - ExpressionStatement 2701682 2701768 - CallExpression 2701682 2701767 - Identifier 2701682 2701720 - Identifier 2701721 2701729 - PropertyAccessExpression 2701730 2701766 - Identifier 2701730 2701750 - Identifier 2701751 2701766 - IfStatement 2701768 2702016 - BinaryExpression 2701786 2701916 - ParenthesizedExpression 2701786 2701877 - BinaryExpression 2701787 2701876 - BinaryExpression 2701787 2701848 - CallExpression 2701787 2701815 - Identifier 2701787 2701807 - Identifier 2701808 2701814 - BarBarToken 2701815 2701818 - CallExpression 2701818 2701848 - Identifier 2701818 2701840 - Identifier 2701841 2701847 - BarBarToken 2701848 2701851 - CallExpression 2701851 2701876 - Identifier 2701851 2701868 - Identifier 2701869 2701875 - AmpersandAmpersandToken 2701877 2701880 - CallExpression 2701880 2701916 - Identifier 2701880 2701903 - PropertyAccessExpression 2701904 2701915 - Identifier 2701904 2701910 - Identifier 2701911 2701915 - Block 2701917 2702016 - ExpressionStatement 2701919 2702001 - CallExpression 2701919 2702000 - Identifier 2701919 2701961 - Identifier 2701962 2701970 - PropertyAccessExpression 2701971 2701999 - Identifier 2701971 2701991 - Identifier 2701992 2701999 - FunctionDeclaration 2702034 2702300 - Identifier 2702050 2702071 - Parameter 2702072 2702093 - Identifier 2702072 2702076 - TypeReference 2702077 2702093 - Identifier 2702077 2702093 - TypeReference 2702095 2702100 - Identifier 2702095 2702100 - Block 2702100 2702300 - ExpressionStatement 2702102 2702144 - CallExpression 2702102 2702143 - Identifier 2702102 2702137 - Identifier 2702138 2702142 - ExpressionStatement 2702144 2702178 - CallExpression 2702144 2702177 - Identifier 2702144 2702171 - Identifier 2702172 2702176 - ExpressionStatement 2702178 2702230 - CallExpression 2702178 2702229 - Identifier 2702178 2702223 - Identifier 2702224 2702228 - ReturnStatement 2702230 2702293 - CallExpression 2702246 2702292 - Identifier 2702246 2702262 - CallExpression 2702263 2702291 - Identifier 2702263 2702285 - Identifier 2702286 2702290 - FunctionDeclaration 2702300 2702479 - Identifier 2702316 2702345 - Parameter 2702346 2702367 - Identifier 2702346 2702350 - TypeReference 2702351 2702367 - Identifier 2702351 2702367 - Block 2702368 2702479 - ExpressionStatement 2702370 2702422 - CallExpression 2702370 2702421 - Identifier 2702370 2702387 - PropertyAccessExpression 2702388 2702400 - Identifier 2702388 2702392 - Identifier 2702393 2702400 - Identifier 2702401 2702420 - ExpressionStatement 2702422 2702472 - CallExpression 2702422 2702471 - Identifier 2702422 2702465 - Identifier 2702466 2702470 - FunctionDeclaration 2702479 2703308 - Identifier 2702495 2702517 - Parameter 2702518 2702540 - Identifier 2702518 2702522 - TypeReference 2702523 2702540 - Identifier 2702523 2702540 - Block 2702541 2703308 - VariableStatement 2702543 2702610 - VariableDeclarationList 2702543 2702609 - VariableDeclaration 2702558 2702609 - Identifier 2702558 2702573 - CallExpression 2702575 2702609 - Identifier 2702575 2702580 - PropertyAccessExpression 2702581 2702595 - Identifier 2702581 2702585 - Identifier 2702586 2702595 - Identifier 2702596 2702608 - IfStatement 2702610 2702939 - BinaryExpression 2702624 2702756 - BinaryExpression 2702624 2702658 - Identifier 2702624 2702640 - AmpersandAmpersandToken 2702640 2702643 - Identifier 2702643 2702658 - AmpersandAmpersandToken 2702658 2702661 - CallExpression 2702661 2702756 - Identifier 2702661 2702666 - PropertyAccessExpression 2702667 2702679 - Identifier 2702667 2702671 - Identifier 2702672 2702679 - ArrowFunction 2702680 2702755 - Parameter 2702680 2702682 - Identifier 2702680 2702682 - EqualsGreaterThanToken 2702682 2702685 - BinaryExpression 2702685 2702755 - CallExpression 2702685 2702706 - Identifier 2702685 2702703 - Identifier 2702704 2702705 - AmpersandAmpersandToken 2702706 2702709 - CallExpression 2702709 2702755 - Identifier 2702709 2702752 - Identifier 2702753 2702754 - Block 2702757 2702939 - ExpressionStatement 2702759 2702928 - CallExpression 2702759 2702927 - Identifier 2702759 2702791 - Identifier 2702792 2702806 - PropertyAccessExpression 2702807 2702926 - Identifier 2702807 2702819 - Identifier 2702820 2702926 - IfStatement 2702939 2703155 - BinaryExpression 2702953 2703017 - PrefixUnaryExpression 2702953 2702963 - PropertyAccessExpression 2702954 2702963 - Identifier 2702954 2702958 - Identifier 2702959 2702963 - AmpersandAmpersandToken 2702963 2702966 - PrefixUnaryExpression 2702966 2703017 - CallExpression 2702968 2703017 - Identifier 2702968 2702988 - Identifier 2702989 2702993 - PropertyAccessExpression 2702994 2703016 - Identifier 2702994 2703008 - Identifier 2703009 2703016 - Block 2703018 2703155 - ExpressionStatement 2703020 2703144 - CallExpression 2703020 2703143 - Identifier 2703020 2703058 - Identifier 2703059 2703063 - PropertyAccessExpression 2703064 2703142 - Identifier 2703064 2703076 - Identifier 2703077 2703142 - ExpressionStatement 2703155 2703197 - CallExpression 2703155 2703196 - Identifier 2703155 2703190 - Identifier 2703191 2703195 - ExpressionStatement 2703197 2703249 - CallExpression 2703197 2703248 - Identifier 2703197 2703214 - PropertyAccessExpression 2703215 2703227 - Identifier 2703215 2703219 - Identifier 2703220 2703227 - Identifier 2703228 2703247 - ExpressionStatement 2703249 2703301 - CallExpression 2703249 2703300 - Identifier 2703249 2703294 - Identifier 2703295 2703299 - FunctionDeclaration 2703308 2710797 - Identifier 2703324 2703350 - Parameter 2703351 2703377 - Identifier 2703351 2703355 - TypeReference 2703356 2703377 - Identifier 2703356 2703377 - Block 2703378 2710797 - ExpressionStatement 2703380 2703429 - CallExpression 2703380 2703428 - Identifier 2703380 2703422 - Identifier 2703423 2703427 - ExpressionStatement 2703429 2703461 - CallExpression 2703429 2703460 - Identifier 2703429 2703454 - Identifier 2703455 2703459 - ExpressionStatement 2703461 2703522 - CallExpression 2703461 2703521 - Identifier 2703461 2703504 - Identifier 2703505 2703509 - PropertyAccessExpression 2703510 2703520 - Identifier 2703510 2703515 - Identifier 2703516 2703520 - ExpressionStatement 2703522 2703597 - CallExpression 2703522 2703596 - Identifier 2703522 2703551 - CallExpression 2703552 2703595 - Identifier 2703552 2703589 - Identifier 2703590 2703594 - ExpressionStatement 2703597 2703646 - CallExpression 2703597 2703645 - Identifier 2703597 2703639 - Identifier 2703640 2703644 - VariableStatement 2703646 2703700 - VariableDeclarationList 2703646 2703699 - VariableDeclaration 2703661 2703699 - Identifier 2703661 2703668 - CallExpression 2703670 2703699 - Identifier 2703670 2703693 - Identifier 2703694 2703698 - VariableStatement 2703700 2703772 - VariableDeclarationList 2703700 2703771 - VariableDeclaration 2703715 2703771 - Identifier 2703715 2703720 - AsExpression 2703722 2703771 - CallExpression 2703722 2703754 - Identifier 2703722 2703746 - Identifier 2703747 2703753 - TypeReference 2703757 2703771 - Identifier 2703757 2703771 - VariableStatement 2703772 2703833 - VariableDeclarationList 2703772 2703832 - VariableDeclaration 2703787 2703832 - Identifier 2703787 2703800 - CallExpression 2703802 2703832 - Identifier 2703802 2703826 - Identifier 2703827 2703831 - VariableStatement 2703833 2703900 - VariableDeclarationList 2703833 2703899 - VariableDeclaration 2703848 2703899 - Identifier 2703848 2703859 - AsExpression 2703861 2703899 - CallExpression 2703861 2703885 - Identifier 2703861 2703877 - Identifier 2703878 2703884 - TypeReference 2703888 2703899 - Identifier 2703888 2703899 - ExpressionStatement 2703900 2703951 - CallExpression 2703900 2703950 - Identifier 2703900 2703942 - Identifier 2703943 2703949 - ExpressionStatement 2703951 2704002 - CallExpression 2703951 2704001 - Identifier 2703951 2703993 - Identifier 2703994 2704000 - ExpressionStatement 2704002 2704053 - CallExpression 2704002 2704052 - Identifier 2704002 2704046 - Identifier 2704047 2704051 - VariableStatement 2704053 2704208 - VariableDeclarationList 2704053 2704207 - VariableDeclaration 2704149 2704207 - Identifier 2704149 2704170 - PrefixUnaryExpression 2704172 2704207 - PrefixUnaryExpression 2704174 2704207 - ParenthesizedExpression 2704175 2704207 - BinaryExpression 2704176 2704206 - PropertyAccessExpression 2704176 2704186 - Identifier 2704176 2704180 - Identifier 2704181 2704186 - AmpersandToken 2704186 2704188 - PropertyAccessExpression 2704188 2704206 - Identifier 2704188 2704198 - Identifier 2704199 2704206 - IfStatement 2704208 2704318 - PrefixUnaryExpression 2704222 2704243 - Identifier 2704223 2704243 - Block 2704244 2704318 - ExpressionStatement 2704246 2704307 - CallExpression 2704246 2704306 - Identifier 2704246 2704300 - Identifier 2704301 2704305 - VariableStatement 2704318 2704382 - VariableDeclarationList 2704318 2704381 - VariableDeclaration 2704335 2704381 - Identifier 2704335 2704348 - CallExpression 2704350 2704381 - Identifier 2704350 2704375 - Identifier 2704376 2704380 - IfStatement 2704382 2708581 - Identifier 2704396 2704408 - Block 2704409 2708581 - ExpressionStatement 2704411 2704481 - CallExpression 2704411 2704480 - Identifier 2704411 2704432 - PropertyAccessExpression 2704433 2704459 - Identifier 2704433 2704445 - Identifier 2704446 2704459 - Identifier 2704460 2704479 - IfStatement 2704481 2704664 - BinaryExpression 2704499 2704553 - Identifier 2704499 2704514 - LessThanToken 2704514 2704516 - PropertyAccessExpression 2704516 2704553 - Identifier 2704516 2704545 - Identifier 2704546 2704553 - Block 2704554 2704664 - ExpressionStatement 2704556 2704649 - CallExpression 2704556 2704648 - Identifier 2704556 2704598 - PropertyAccessExpression 2704599 2704618 - Identifier 2704599 2704611 - Identifier 2704612 2704618 - PropertyAccessExpression 2704619 2704647 - Identifier 2704619 2704639 - Identifier 2704640 2704647 - VariableStatement 2704664 2704806 - VariableDeclarationList 2704664 2704805 - VariableDeclaration 2704754 2704805 - Identifier 2704754 2704766 - CallExpression 2704768 2704805 - Identifier 2704768 2704799 - Identifier 2704800 2704804 - IfStatement 2704806 2704943 - BinaryExpression 2704824 2704867 - Identifier 2704824 2704835 - AmpersandAmpersandToken 2704835 2704838 - BinaryExpression 2704838 2704867 - Identifier 2704838 2704850 - ExclamationEqualsEqualsToken 2704850 2704854 - Identifier 2704854 2704867 - Block 2704868 2704943 - ExpressionStatement 2704870 2704928 - CallExpression 2704870 2704927 - Identifier 2704870 2704903 - PropertyAccessExpression 2704904 2704926 - Identifier 2704904 2704915 - Identifier 2704916 2704926 - VariableStatement 2704943 2704996 - VariableDeclarationList 2704943 2704995 - VariableDeclaration 2704964 2704995 - Identifier 2704964 2704974 - CallExpression 2704976 2704995 - Identifier 2704976 2704989 - Identifier 2704990 2704994 - IfStatement 2704996 2708570 - PropertyAccessExpression 2705014 2705030 - Identifier 2705014 2705023 - Identifier 2705024 2705030 - Block 2705031 2708570 - ExpressionStatement 2705033 2708555 - CallExpression 2705033 2708554 - Identifier 2705033 2705068 - ArrowFunction 2705069 2708553 - EqualsGreaterThanToken 2705071 2705074 - Block 2705074 2708553 - VariableStatement 2705076 2705128 - VariableDeclarationList 2705076 2705127 - VariableDeclaration 2705103 2705127 - Identifier 2705103 2705112 - ElementAccessExpression 2705114 2705127 - Identifier 2705114 2705124 - NumericLiteral 2705125 2705126 - VariableStatement 2705128 2705214 - VariableDeclarationList 2705128 2705213 - VariableDeclaration 2705155 2705213 - Identifier 2705155 2705175 - CallExpression 2705177 2705213 - Identifier 2705177 2705207 - Identifier 2705208 2705212 - VariableStatement 2705214 2705296 - VariableDeclarationList 2705214 2705295 - VariableDeclaration 2705241 2705295 - Identifier 2705241 2705256 - CallExpression 2705258 2705295 - Identifier 2705258 2705274 - Identifier 2705275 2705294 - ExpressionStatement 2705296 2705375 - CallExpression 2705296 2705374 - Identifier 2705296 2705344 - Identifier 2705345 2705359 - Identifier 2705360 2705373 - ExpressionStatement 2705375 2705441 - CallExpression 2705375 2705440 - Identifier 2705375 2705415 - PropertyAccessExpression 2705416 2705439 - Identifier 2705416 2705428 - Identifier 2705429 2705439 - IfStatement 2705441 2705958 - CallExpression 2705467 2705499 - Identifier 2705467 2705471 - PropertyAccessExpression 2705472 2705498 - Identifier 2705472 2705484 - Identifier 2705485 2705498 - Block 2705500 2705958 - ExpressionStatement 2705502 2705584 - CallExpression 2705502 2705583 - Identifier 2705502 2705535 - PropertyAccessExpression 2705536 2705562 - Identifier 2705536 2705548 - Identifier 2705549 2705562 - Identifier 2705563 2705582 - ForOfStatement 2705584 2705935 - VariableDeclarationList 2705615 2705632 - VariableDeclaration 2705620 2705632 - Identifier 2705620 2705632 - CallExpression 2705635 2705725 - Identifier 2705635 2705667 - Identifier 2705668 2705682 - PropertyAccessExpression 2705683 2705710 - Identifier 2705683 2705696 - Identifier 2705697 2705710 - Identifier 2705711 2705724 - Block 2705726 2705935 - IfStatement 2705728 2705908 - PrefixUnaryExpression 2705762 2705834 - CallExpression 2705763 2705834 - Identifier 2705763 2705791 - Identifier 2705792 2705804 - NonNullExpression 2705805 2705833 - PropertyAccessExpression 2705805 2705832 - Identifier 2705805 2705817 - Identifier 2705818 2705832 - Block 2705835 2705908 - BreakStatement 2705837 2705877 - VariableStatement 2705958 2706050 - VariableDeclarationList 2705958 2706049 - VariableDeclaration 2705985 2706049 - Identifier 2705985 2705998 - CallExpression 2706000 2706049 - Identifier 2706000 2706024 - Identifier 2706025 2706033 - PropertyAccessExpression 2706034 2706048 - Identifier 2706034 2706039 - Identifier 2706040 2706048 - IfStatement 2706050 2706657 - PrefixUnaryExpression 2706076 2706151 - CallExpression 2706077 2706151 - Identifier 2706077 2706098 - Identifier 2706099 2706111 - Identifier 2706112 2706125 - Identifier 2706126 2706150 - Block 2706152 2706316 - ExpressionStatement 2706154 2706293 - CallExpression 2706154 2706292 - Identifier 2706154 2706204 - Identifier 2706205 2706209 - Identifier 2706210 2706223 - Identifier 2706224 2706237 - PropertyAccessExpression 2706238 2706291 - Identifier 2706238 2706250 - Identifier 2706251 2706291 - Block 2706342 2706657 - ExpressionStatement 2706344 2706634 - CallExpression 2706344 2706633 - Identifier 2706344 2706482 - Identifier 2706483 2706493 - CallExpression 2706494 2706535 - Identifier 2706494 2706519 - Identifier 2706520 2706534 - BinaryExpression 2706536 2706554 - PropertyAccessExpression 2706536 2706546 - Identifier 2706536 2706541 - Identifier 2706542 2706546 - BarBarToken 2706546 2706549 - Identifier 2706549 2706554 - PropertyAccessExpression 2706555 2706632 - Identifier 2706555 2706567 - Identifier 2706568 2706632 - IfStatement 2706657 2707581 - BinaryExpression 2706683 2706733 - PropertyAccessExpression 2706683 2706708 - Identifier 2706683 2706702 - Identifier 2706703 2706708 - AmpersandToken 2706708 2706710 - PropertyAccessExpression 2706710 2706733 - Identifier 2706710 2706720 - Identifier 2706721 2706733 - Block 2706734 2707581 - IfStatement 2706736 2707558 - PrefixUnaryExpression 2706766 2706801 - CallExpression 2706767 2706801 - Identifier 2706767 2706789 - Identifier 2706790 2706800 - Block 2706802 2706978 - ExpressionStatement 2706804 2706951 - CallExpression 2706804 2706950 - Identifier 2706804 2706839 - BinaryExpression 2706840 2706857 - PropertyAccessExpression 2706840 2706849 - Identifier 2706840 2706844 - Identifier 2706845 2706849 - BarBarToken 2706849 2706852 - Identifier 2706852 2706857 - PropertyAccessExpression 2706858 2706949 - Identifier 2706858 2706870 - Identifier 2706871 2706949 - Block 2707008 2707558 - VariableStatement 2707010 2707134 - VariableDeclarationList 2707010 2707133 - VariableDeclaration 2707045 2707133 - Identifier 2707045 2707065 - CallExpression 2707067 2707133 - Identifier 2707067 2707087 - Identifier 2707088 2707107 - PropertyAccessExpression 2707108 2707132 - Identifier 2707108 2707122 - Identifier 2707123 2707132 - IfStatement 2707134 2707531 - BinaryExpression 2707168 2707303 - CallExpression 2707168 2707248 - PropertyAccessExpression 2707168 2707192 - Identifier 2707168 2707187 - Identifier 2707188 2707192 - ArrowFunction 2707193 2707247 - Parameter 2707193 2707202 - Identifier 2707193 2707202 - EqualsGreaterThanToken 2707202 2707205 - BinaryExpression 2707205 2707247 - PropertyAccessExpression 2707205 2707221 - Identifier 2707205 2707215 - Identifier 2707216 2707221 - AmpersandToken 2707221 2707223 - PropertyAccessExpression 2707223 2707247 - Identifier 2707223 2707238 - Identifier 2707239 2707247 - AmpersandAmpersandToken 2707248 2707251 - PrefixUnaryExpression 2707251 2707303 - CallExpression 2707253 2707303 - Identifier 2707253 2707273 - Identifier 2707274 2707278 - PropertyAccessExpression 2707279 2707302 - Identifier 2707279 2707293 - Identifier 2707294 2707302 - Block 2707304 2707531 - ExpressionStatement 2707306 2707500 - CallExpression 2707306 2707499 - Identifier 2707306 2707345 - BinaryExpression 2707346 2707363 - PropertyAccessExpression 2707346 2707355 - Identifier 2707346 2707350 - Identifier 2707351 2707355 - BarBarToken 2707355 2707358 - Identifier 2707358 2707363 - PropertyAccessExpression 2707364 2707498 - Identifier 2707364 2707376 - Identifier 2707377 2707498 - IfStatement 2707581 2708460 - BinaryExpression 2707609 2707741 - PrefixUnaryExpression 2707609 2707684 - ParenthesizedExpression 2707610 2707684 - BinaryExpression 2707611 2707683 - PropertyAccessExpression 2707611 2707632 - Identifier 2707611 2707625 - Identifier 2707626 2707632 - AmpersandAmpersandToken 2707632 2707635 - BinaryExpression 2707635 2707683 - PropertyAccessExpression 2707635 2707663 - PropertyAccessExpression 2707635 2707657 - Identifier 2707635 2707650 - Identifier 2707651 2707657 - Identifier 2707658 2707663 - AmpersandToken 2707663 2707665 - PropertyAccessExpression 2707665 2707683 - Identifier 2707665 2707677 - Identifier 2707678 2707683 - AmpersandAmpersandToken 2707684 2707687 - PrefixUnaryExpression 2707687 2707741 - ParenthesizedExpression 2707689 2707741 - BinaryExpression 2707690 2707740 - PropertyAccessExpression 2707690 2707715 - Identifier 2707690 2707709 - Identifier 2707710 2707715 - AmpersandToken 2707715 2707717 - PropertyAccessExpression 2707717 2707740 - Identifier 2707717 2707727 - Identifier 2707728 2707740 - Block 2707742 2708460 - VariableStatement 2707744 2708124 - VariableDeclarationList 2707744 2708123 - VariableDeclaration 2708006 2708123 - Identifier 2708006 2708019 - CallExpression 2708021 2708123 - Identifier 2708021 2708065 - Identifier 2708066 2708080 - PropertyAccessExpression 2708081 2708108 - Identifier 2708081 2708094 - Identifier 2708095 2708108 - Identifier 2708109 2708122 - IfStatement 2708124 2708437 - CallExpression 2708154 2708280 - Identifier 2708154 2708161 - Identifier 2708162 2708174 - ArrowFunction 2708175 2708279 - Parameter 2708175 2708179 - Identifier 2708175 2708179 - EqualsGreaterThanToken 2708179 2708182 - BinaryExpression 2708182 2708279 - PrefixUnaryExpression 2708182 2708216 - CallExpression 2708184 2708216 - Identifier 2708184 2708199 - PropertyAccessExpression 2708200 2708215 - Identifier 2708200 2708203 - Identifier 2708204 2708215 - AmpersandAmpersandToken 2708216 2708219 - PrefixUnaryExpression 2708219 2708279 - CallExpression 2708221 2708279 - Identifier 2708221 2708238 - CallExpression 2708239 2708268 - Identifier 2708239 2708263 - Identifier 2708264 2708267 - Identifier 2708269 2708278 - Block 2708281 2708437 - ExpressionStatement 2708283 2708410 - CallExpression 2708283 2708409 - Identifier 2708283 2708318 - PropertyAccessExpression 2708319 2708342 - Identifier 2708319 2708331 - Identifier 2708332 2708342 - PropertyAccessExpression 2708343 2708408 - Identifier 2708343 2708355 - Identifier 2708356 2708408 - ExpressionStatement 2708460 2708534 - CallExpression 2708460 2708533 - Identifier 2708460 2708517 - Identifier 2708518 2708522 - Identifier 2708523 2708532 - ExpressionStatement 2708581 2708663 - CallExpression 2708581 2708662 - Identifier 2708581 2708624 - Identifier 2708625 2708629 - Identifier 2708630 2708635 - Identifier 2708636 2708649 - Identifier 2708650 2708661 - VariableStatement 2708663 2708742 - VariableDeclarationList 2708663 2708741 - VariableDeclaration 2708680 2708741 - Identifier 2708680 2708701 - CallExpression 2708703 2708741 - Identifier 2708703 2708735 - Identifier 2708736 2708740 - IfStatement 2708742 2709289 - Identifier 2708756 2708776 - Block 2708777 2709289 - ForOfStatement 2708779 2709278 - VariableDeclarationList 2708798 2708815 - VariableDeclaration 2708803 2708815 - Identifier 2708803 2708815 - Identifier 2708818 2708839 - Block 2708840 2709278 - IfStatement 2708842 2709131 - BinaryExpression 2708864 2708954 - PrefixUnaryExpression 2708864 2708911 - CallExpression 2708865 2708911 - Identifier 2708865 2708887 - PropertyAccessExpression 2708888 2708910 - Identifier 2708888 2708899 - Identifier 2708900 2708910 - BarBarToken 2708911 2708914 - CallExpression 2708914 2708954 - Identifier 2708914 2708930 - PropertyAccessExpression 2708931 2708953 - Identifier 2708931 2708942 - Identifier 2708943 2708953 - Block 2708955 2709131 - ExpressionStatement 2708957 2709112 - CallExpression 2708957 2709111 - Identifier 2708957 2708984 - PropertyAccessExpression 2708985 2709007 - Identifier 2708985 2708996 - Identifier 2708997 2709007 - PropertyAccessExpression 2709008 2709110 - Identifier 2709008 2709020 - Identifier 2709021 2709110 - ExpressionStatement 2709131 2709185 - CallExpression 2709131 2709184 - Identifier 2709131 2709171 - Identifier 2709172 2709183 - ExpressionStatement 2709185 2709263 - CallExpression 2709185 2709262 - Identifier 2709185 2709220 - CallExpression 2709221 2709261 - Identifier 2709221 2709248 - Identifier 2709249 2709260 - ExpressionStatement 2709289 2709574 - CallExpression 2709289 2709573 - Identifier 2709289 2709318 - ArrowFunction 2709319 2709572 - EqualsGreaterThanToken 2709321 2709324 - Block 2709324 2709572 - ExpressionStatement 2709326 2709376 - CallExpression 2709326 2709375 - Identifier 2709326 2709361 - Identifier 2709362 2709366 - Identifier 2709367 2709374 - ExpressionStatement 2709376 2709456 - CallExpression 2709376 2709455 - Identifier 2709376 2709411 - Identifier 2709412 2709422 - Identifier 2709423 2709430 - TrueKeyword 2709431 2709454 - ExpressionStatement 2709456 2709513 - CallExpression 2709456 2709512 - Identifier 2709456 2709506 - Identifier 2709507 2709511 - ExpressionStatement 2709513 2709561 - CallExpression 2709513 2709560 - Identifier 2709513 2709554 - Identifier 2709555 2709559 - FunctionDeclaration 2709574 2710790 - Identifier 2709594 2709622 - Parameter 2709623 2709663 - Identifier 2709623 2709634 - TypeReference 2709635 2709663 - Identifier 2709635 2709663 - Block 2709664 2710790 - ReturnStatement 2709666 2710779 - ArrowFunction 2709686 2710778 - EqualsGreaterThanToken 2709689 2709692 - Block 2709692 2710778 - VariableStatement 2709694 2709771 - VariableDeclarationList 2709694 2709770 - VariableDeclaration 2709717 2709770 - Identifier 2709717 2709719 - CallExpression 2709721 2709770 - Identifier 2709721 2709736 - CallExpression 2709737 2709769 - Identifier 2709737 2709756 - Identifier 2709757 2709768 - IfStatement 2709771 2710763 - PrefixUnaryExpression 2709793 2709808 - CallExpression 2709794 2709808 - Identifier 2709794 2709805 - Identifier 2709806 2709807 - Block 2709809 2710763 - IfStatement 2709811 2710744 - CallExpression 2709837 2709855 - Identifier 2709837 2709852 - Identifier 2709853 2709854 - Block 2709856 2710531 - VariableStatement 2709858 2710182 - VariableDeclarationList 2709858 2710181 - VariableDeclaration 2709889 2710181 - Identifier 2709889 2709901 - ConditionalExpression 2709903 2710181 - BinaryExpression 2709903 2709950 - PropertyAccessExpression 2709903 2709912 - Identifier 2709903 2709905 - Identifier 2709906 2709912 - AmpersandAmpersandToken 2709912 2709915 - BinaryExpression 2709915 2709950 - PropertyAccessExpression 2709915 2709930 - PropertyAccessExpression 2709915 2709924 - Identifier 2709915 2709917 - Identifier 2709918 2709924 - Identifier 2709925 2709930 - AmpersandToken 2709930 2709932 - PropertyAccessExpression 2709932 2709950 - Identifier 2709932 2709944 - Identifier 2709945 2709950 - QuestionToken 2709950 2709952 - PropertyAccessExpression 2709952 2710095 - Identifier 2709952 2709993 - Identifier 2709994 2710095 - ColonToken 2710095 2710097 - PropertyAccessExpression 2710097 2710181 - Identifier 2710097 2710138 - Identifier 2710139 2710181 - VariableStatement 2710182 2710271 - VariableDeclarationList 2710182 2710270 - VariableDeclaration 2710213 2710270 - Identifier 2710213 2710226 - CallExpression 2710228 2710270 - Identifier 2710228 2710252 - Identifier 2710253 2710254 - PropertyAccessExpression 2710255 2710269 - Identifier 2710255 2710260 - Identifier 2710261 2710269 - IfStatement 2710271 2710508 - PrefixUnaryExpression 2710301 2710376 - CallExpression 2710302 2710376 - Identifier 2710302 2710323 - Identifier 2710324 2710336 - Identifier 2710337 2710350 - Identifier 2710351 2710375 - Block 2710377 2710508 - ExpressionStatement 2710379 2710481 - CallExpression 2710379 2710480 - Identifier 2710379 2710433 - Identifier 2710434 2710438 - Identifier 2710439 2710452 - Identifier 2710453 2710466 - Identifier 2710467 2710479 - Block 2710557 2710744 - ExpressionStatement 2710559 2710721 - CallExpression 2710559 2710720 - Identifier 2710559 2710590 - Identifier 2710591 2710602 - PropertyAccessExpression 2710603 2710719 - Identifier 2710603 2710615 - Identifier 2710616 2710719 - FunctionDeclaration 2710797 2712406 - Identifier 2710813 2710845 - Parameter 2710846 2710872 - Identifier 2710846 2710850 - TypeReference 2710851 2710872 - Identifier 2710851 2710872 - Parameter 2710873 2710893 - Identifier 2710873 2710878 - TypeReference 2710879 2710893 - Identifier 2710879 2710893 - Parameter 2710894 2710913 - Identifier 2710894 2710907 - TypeReference 2710908 2710913 - Identifier 2710908 2710913 - Parameter 2710914 2710937 - Identifier 2710914 2710925 - TypeReference 2710926 2710937 - Identifier 2710926 2710937 - Block 2710938 2712406 - VariableStatement 2710940 2711002 - VariableDeclarationList 2710940 2711001 - VariableDeclaration 2710955 2711001 - Identifier 2710955 2710968 - CallExpression 2710970 2711001 - Identifier 2710970 2710995 - Identifier 2710996 2711000 - VariableStatement 2711002 2711065 - VariableDeclarationList 2711002 2711064 - VariableDeclaration 2711017 2711064 - Identifier 2711017 2711027 - BinaryExpression 2711029 2711064 - Identifier 2711029 2711042 - AmpersandAmpersandToken 2711042 2711045 - CallExpression 2711045 2711064 - Identifier 2711045 2711058 - Identifier 2711059 2711063 - VariableStatement 2711065 2711185 - VariableDeclarationList 2711065 2711184 - VariableDeclaration 2711080 2711184 - Identifier 2711080 2711093 - ConditionalExpression 2711095 2711184 - PropertyAccessExpression 2711095 2711113 - Identifier 2711095 2711105 - QuestionDotToken 2711105 2711107 - Identifier 2711107 2711113 - QuestionToken 2711113 2711115 - CallExpression 2711115 2711172 - Identifier 2711115 2711139 - CallExpression 2711140 2711156 - Identifier 2711140 2711145 - Identifier 2711146 2711155 - PropertyAccessExpression 2711157 2711171 - Identifier 2711157 2711162 - Identifier 2711163 2711171 - ColonToken 2711172 2711174 - Identifier 2711174 2711184 - VariableStatement 2711185 2711254 - VariableDeclarationList 2711185 2711253 - VariableDeclaration 2711200 2711253 - Identifier 2711200 2711215 - CallExpression 2711217 2711253 - Identifier 2711217 2711247 - Identifier 2711248 2711252 - ForOfStatement 2711254 2712399 - VariableDeclarationList 2711271 2711283 - VariableDeclaration 2711276 2711283 - Identifier 2711276 2711283 - PropertyAccessExpression 2711286 2711299 - Identifier 2711286 2711291 - Identifier 2711292 2711299 - Block 2711300 2712399 - IfStatement 2711302 2711391 - CallExpression 2711320 2711346 - Identifier 2711320 2711338 - Identifier 2711339 2711345 - Block 2711347 2711391 - ContinueStatement 2711349 2711376 - IfStatement 2711391 2712070 - CallExpression 2711411 2711443 - Identifier 2711411 2711435 - Identifier 2711436 2711442 - Block 2711444 2712070 - ExpressionStatement 2711446 2712055 - CallExpression 2711446 2712054 - Identifier 2711446 2711471 - PropertyAccessExpression 2711472 2711489 - Identifier 2711472 2711478 - Identifier 2711479 2711489 - ArrowFunction 2711490 2712053 - Parameter 2711490 2711496 - Identifier 2711490 2711496 - EqualsGreaterThanToken 2711496 2711499 - Block 2711499 2712053 - IfStatement 2711501 2712034 - CallExpression 2711527 2711572 - Identifier 2711527 2711557 - Identifier 2711558 2711563 - Identifier 2711564 2711571 - Block 2711573 2712034 - ExpressionStatement 2711575 2712011 - CallExpression 2711575 2712010 - Identifier 2711575 2711639 - Identifier 2711640 2711674 - Identifier 2711675 2711715 - Identifier 2711716 2711760 - Identifier 2711761 2711803 - Identifier 2711804 2711838 - Identifier 2711839 2711881 - Identifier 2711882 2711917 - TrueKeyword 2711918 2711982 - ExpressionStatement 2712070 2712388 - CallExpression 2712070 2712387 - Identifier 2712070 2712122 - Identifier 2712123 2712145 - Identifier 2712146 2712174 - Identifier 2712175 2712207 - Identifier 2712208 2712238 - Identifier 2712239 2712261 - Identifier 2712262 2712292 - Identifier 2712293 2712317 - FalseKeyword 2712318 2712371 - FunctionDeclaration 2712406 2713629 - Identifier 2712549 2712588 - Parameter 2712589 2712625 - Identifier 2712589 2712603 - TypeReference 2712604 2712625 - Identifier 2712604 2712625 - Parameter 2712626 2712658 - Identifier 2712626 2712646 - TypeReference 2712647 2712658 - Identifier 2712647 2712658 - Parameter 2712659 2712689 - Identifier 2712659 2712683 - TypeReference 2712684 2712689 - Identifier 2712684 2712689 - Parameter 2712690 2712730 - Identifier 2712690 2712712 - UnionType 2712713 2712730 - TypeReference 2712713 2712718 - Identifier 2712713 2712718 - UndefinedKeyword 2712720 2712730 - Parameter 2712731 2712760 - Identifier 2712731 2712745 - TypeReference 2712746 2712760 - Identifier 2712746 2712760 - Parameter 2712761 2712789 - Identifier 2712761 2712783 - TypeReference 2712784 2712789 - Identifier 2712784 2712789 - Parameter 2712790 2712851 - Identifier 2712790 2712806 - UnionType 2712807 2712851 - TypeReference 2712807 2712820 - Identifier 2712807 2712820 - TypeReference 2712822 2712851 - Identifier 2712822 2712851 - Parameter 2712852 2712896 - Identifier 2712852 2712887 - BooleanKeyword 2712888 2712896 - Parameter 2712897 2712926 - Identifier 2712897 2712919 - TrueKeyword 2712921 2712926 - TypeReference 2712935 2712956 - Identifier 2712935 2712956 - Block 2712956 2713629 - VariableStatement 2712958 2713098 - VariableDeclarationList 2712958 2713097 - VariableDeclaration 2712973 2713097 - Identifier 2712973 2712986 - BinaryExpression 2712988 2713097 - BinaryExpression 2712988 2713053 - PropertyAccessExpression 2712988 2713000 - Identifier 2712988 2712995 - Identifier 2712996 2713000 - AmpersandAmpersandToken 2713000 2713020 - CallExpression 2713020 2713053 - Identifier 2713020 2713040 - PropertyAccessExpression 2713041 2713052 - Identifier 2713041 2713047 - Identifier 2713048 2713052 - BarBarToken 2713053 2713069 - CallExpression 2713069 2713097 - Identifier 2713069 2713089 - Identifier 2713090 2713096 - IfStatement 2713098 2713184 - PrefixUnaryExpression 2713112 2713125 - Identifier 2713113 2713125 - Block 2713126 2713184 - ReturnStatement 2713128 2713173 - PropertyAccessExpression 2713148 2713172 - Identifier 2713148 2713169 - Identifier 2713170 2713172 - ReturnStatement 2713184 2713622 - CallExpression 2713202 2713621 - Identifier 2713202 2713233 - Identifier 2713234 2713252 - Identifier 2713253 2713277 - Identifier 2713278 2713306 - Identifier 2713307 2713333 - Identifier 2713334 2713352 - Identifier 2713353 2713379 - CallExpression 2713380 2713421 - Identifier 2713380 2713413 - Identifier 2713414 2713420 - CallExpression 2713422 2713463 - Identifier 2713422 2713455 - Identifier 2713456 2713462 - CallExpression 2713464 2713494 - Identifier 2713464 2713486 - Identifier 2713487 2713493 - Identifier 2713495 2713534 - Identifier 2713535 2713561 - ConditionalExpression 2713562 2713609 - Identifier 2713562 2713588 - QuestionToken 2713588 2713590 - Identifier 2713590 2713597 - ColonToken 2713597 2713599 - Identifier 2713599 2713609 - FunctionDeclaration 2713629 2719744 - Identifier 2714153 2714184 - Parameter 2714185 2714221 - Identifier 2714185 2714199 - TypeReference 2714200 2714221 - Identifier 2714200 2714221 - Parameter 2714222 2714254 - Identifier 2714222 2714242 - TypeReference 2714243 2714254 - Identifier 2714243 2714254 - Parameter 2714255 2714285 - Identifier 2714255 2714279 - TypeReference 2714280 2714285 - Identifier 2714280 2714285 - Parameter 2714286 2714326 - Identifier 2714286 2714308 - UnionType 2714309 2714326 - TypeReference 2714309 2714314 - Identifier 2714309 2714314 - UndefinedKeyword 2714316 2714326 - Parameter 2714327 2714356 - Identifier 2714327 2714341 - TypeReference 2714342 2714356 - Identifier 2714342 2714356 - Parameter 2714357 2714385 - Identifier 2714357 2714379 - TypeReference 2714380 2714385 - Identifier 2714380 2714385 - Parameter 2714386 2714430 - Identifier 2714386 2714421 - BooleanKeyword 2714422 2714430 - Parameter 2714431 2714475 - Identifier 2714431 2714466 - BooleanKeyword 2714467 2714475 - Parameter 2714476 2714509 - Identifier 2714476 2714500 - BooleanKeyword 2714501 2714509 - Parameter 2714510 2714554 - Identifier 2714510 2714545 - BooleanKeyword 2714546 2714554 - Parameter 2714555 2714579 - Identifier 2714555 2714571 - TypeReference 2714572 2714579 - Identifier 2714572 2714579 - Parameter 2714580 2714606 - Identifier 2714580 2714599 - QuestionToken 2714599 2714600 - TypeReference 2714601 2714606 - Identifier 2714601 2714606 - TypeReference 2714615 2714636 - Identifier 2714615 2714636 - Block 2714636 2719744 - VariableStatement 2714638 2714678 - VariableDeclarationList 2714638 2714677 - VariableDeclaration 2714653 2714677 - Identifier 2714653 2714658 - CallExpression 2714660 2714677 - Identifier 2714660 2714671 - Identifier 2714672 2714676 - VariableStatement 2714678 2714752 - VariableDeclarationList 2714678 2714751 - VariableDeclaration 2714693 2714751 - Identifier 2714693 2714714 - PrefixUnaryExpression 2714716 2714751 - PrefixUnaryExpression 2714718 2714751 - ParenthesizedExpression 2714719 2714751 - BinaryExpression 2714720 2714750 - PropertyAccessExpression 2714720 2714730 - Identifier 2714720 2714724 - Identifier 2714725 2714730 - AmpersandToken 2714730 2714732 - PropertyAccessExpression 2714732 2714750 - Identifier 2714732 2714742 - Identifier 2714743 2714750 - IfStatement 2714752 2715346 - BinaryExpression 2714766 2714952 - BinaryExpression 2714766 2714894 - BinaryExpression 2714766 2714862 - BinaryExpression 2714766 2714819 - Identifier 2714766 2714791 - AmpersandAmpersandToken 2714791 2714794 - PropertyAccessExpression 2714794 2714819 - Identifier 2714794 2714801 - QuestionDotToken 2714801 2714803 - Identifier 2714803 2714819 - AmpersandAmpersandToken 2714819 2714822 - CallExpression 2714822 2714862 - Identifier 2714822 2714837 - PropertyAccessExpression 2714838 2714861 - Identifier 2714838 2714844 - Identifier 2714845 2714861 - AmpersandAmpersandToken 2714862 2714865 - PropertyAccessExpression 2714865 2714894 - PropertyAccessExpression 2714865 2714889 - Identifier 2714865 2714872 - Identifier 2714873 2714889 - Identifier 2714890 2714894 - AmpersandAmpersandToken 2714894 2714897 - CallExpression 2714897 2714952 - Identifier 2714897 2714922 - PropertyAccessExpression 2714923 2714951 - PropertyAccessExpression 2714923 2714946 - Identifier 2714923 2714929 - Identifier 2714930 2714946 - Identifier 2714947 2714951 - Block 2714953 2715346 - ExpressionStatement 2714955 2715274 - CallExpression 2714955 2715273 - Identifier 2714955 2714974 - Identifier 2714975 2715002 - ConditionalExpression 2715003 2715257 - Identifier 2715003 2715025 - QuestionToken 2715025 2715027 - PropertyAccessExpression 2715027 2715149 - Identifier 2715027 2715060 - Identifier 2715061 2715149 - ColonToken 2715149 2715151 - PropertyAccessExpression 2715151 2715257 - Identifier 2715151 2715184 - Identifier 2715185 2715257 - ReturnStatement 2715274 2715335 - PropertyAccessExpression 2715294 2715334 - Identifier 2715294 2715315 - Identifier 2715316 2715334 - IfStatement 2715346 2719694 - BinaryExpression 2715360 2715441 - Identifier 2715360 2715372 - AmpersandAmpersandToken 2715372 2715375 - ParenthesizedExpression 2715375 2715441 - BinaryExpression 2715377 2715440 - Identifier 2715377 2715402 - BarBarToken 2715402 2715405 - PropertyAccessExpression 2715405 2715440 - Identifier 2715405 2715421 - Identifier 2715422 2715440 - Block 2715442 2719034 - VariableStatement 2715444 2715518 - VariableDeclarationList 2715444 2715517 - VariableDeclaration 2715463 2715517 - Identifier 2715463 2715472 - ConditionalExpression 2715474 2715517 - Identifier 2715474 2715489 - QuestionToken 2715489 2715491 - Identifier 2715491 2715502 - ColonToken 2715502 2715504 - Identifier 2715504 2715517 - VariableStatement 2715518 2715596 - VariableDeclarationList 2715518 2715595 - VariableDeclaration 2715537 2715595 - Identifier 2715537 2715546 - ConditionalExpression 2715548 2715595 - Identifier 2715548 2715563 - QuestionToken 2715563 2715565 - Identifier 2715565 2715580 - ColonToken 2715580 2715582 - Identifier 2715582 2715595 - VariableStatement 2715596 2715671 - VariableDeclarationList 2715596 2715670 - VariableDeclaration 2715615 2715670 - Identifier 2715615 2715620 - CallExpression 2715622 2715670 - Identifier 2715622 2715640 - Identifier 2715641 2715649 - PropertyAccessExpression 2715650 2715669 - Identifier 2715650 2715657 - Identifier 2715658 2715669 - VariableStatement 2715671 2715750 - VariableDeclarationList 2715671 2715749 - VariableDeclaration 2715690 2715749 - Identifier 2715690 2715699 - CallExpression 2715701 2715749 - Identifier 2715701 2715719 - Identifier 2715720 2715728 - PropertyAccessExpression 2715729 2715748 - Identifier 2715729 2715736 - Identifier 2715737 2715748 - VariableStatement 2715750 2715815 - VariableDeclarationList 2715750 2715814 - VariableDeclaration 2715771 2715814 - Identifier 2715771 2715785 - CallExpression 2715787 2715814 - Identifier 2715787 2715800 - Identifier 2715801 2715813 - IfStatement 2715815 2719023 - BinaryExpression 2715833 2715879 - BinaryExpression 2715833 2715850 - Identifier 2715833 2715837 - AmpersandAmpersandToken 2715837 2715840 - PrefixUnaryExpression 2715840 2715850 - Identifier 2715842 2715850 - AmpersandAmpersandToken 2715850 2715853 - Identifier 2715853 2715879 - Block 2715880 2717275 - IfStatement 2715882 2717195 - Identifier 2715904 2715913 - Block 2715914 2717195 - VariableStatement 2715916 2716031 - VariableDeclarationList 2715916 2716030 - VariableDeclaration 2715943 2716030 - Identifier 2715943 2715954 - CallExpression 2715956 2716030 - Identifier 2715956 2716000 - CallExpression 2716001 2716019 - Identifier 2716001 2716011 - Identifier 2716012 2716018 - Identifier 2716020 2716029 - ExpressionStatement 2716031 2717176 - ConditionalExpression 2716031 2717175 - Identifier 2716031 2716140 - QuestionToken 2716140 2716142 - CallExpression 2716142 2716701 - Identifier 2716142 2716173 - Identifier 2716174 2716213 - ConditionalExpression 2716214 2716572 - Identifier 2716214 2716248 - QuestionToken 2716248 2716250 - PropertyAccessExpression 2716250 2716418 - Identifier 2716250 2716295 - Identifier 2716296 2716418 - ColonToken 2716418 2716420 - PropertyAccessExpression 2716420 2716572 - Identifier 2716420 2716465 - Identifier 2716466 2716572 - Identifier 2716573 2716616 - CallExpression 2716617 2716673 - Identifier 2716617 2716661 - Identifier 2716662 2716672 - ColonToken 2716701 2716703 - CallExpression 2716703 2717175 - Identifier 2716703 2716734 - Identifier 2716735 2716774 - ConditionalExpression 2716775 2717103 - Identifier 2716775 2716809 - QuestionToken 2716809 2716811 - PropertyAccessExpression 2716811 2716964 - Identifier 2716811 2716856 - Identifier 2716857 2716964 - ColonToken 2716964 2716966 - PropertyAccessExpression 2716966 2717103 - Identifier 2716966 2717011 - Identifier 2717012 2717103 - Identifier 2717104 2717147 - ReturnStatement 2717195 2717260 - PropertyAccessExpression 2717219 2717259 - Identifier 2717219 2717240 - Identifier 2717241 2717259 - IfStatement 2717293 2719023 - BinaryExpression 2717298 2717391 - BinaryExpression 2717298 2717366 - BinaryExpression 2717298 2717328 - Identifier 2717298 2717302 - AmpersandAmpersandToken 2717302 2717305 - PropertyAccessExpression 2717305 2717328 - Identifier 2717305 2717314 - QuestionDotToken 2717314 2717316 - Identifier 2717316 2717328 - AmpersandAmpersandToken 2717328 2717331 - PropertyAccessExpression 2717331 2717366 - Identifier 2717331 2717347 - Identifier 2717348 2717366 - AmpersandAmpersandToken 2717366 2717369 - PrefixUnaryExpression 2717369 2717391 - Identifier 2717371 2717391 - Block 2717392 2719023 - VariableStatement 2717394 2717485 - VariableDeclarationList 2717394 2717484 - VariableDeclaration 2717417 2717484 - Identifier 2717417 2717433 - CallExpression 2717435 2717484 - Identifier 2717435 2717440 - PropertyAccessExpression 2717441 2717462 - Identifier 2717441 2717449 - Identifier 2717450 2717462 - Identifier 2717463 2717483 - IfStatement 2717485 2717607 - Identifier 2717507 2717532 - Block 2717533 2717607 - ReturnStatement 2717535 2717588 - PropertyAccessExpression 2717563 2717587 - Identifier 2717563 2717584 - Identifier 2717585 2717587 - IfStatement 2717607 2719008 - PrefixUnaryExpression 2717631 2717647 - Identifier 2717632 2717647 - Block 2717648 2718599 - IfStatement 2717650 2718516 - Identifier 2717676 2717685 - Block 2717686 2718516 - VariableStatement 2717688 2718429 - VariableDeclarationList 2717688 2718428 - VariableDeclaration 2717719 2718428 - Identifier 2717719 2717724 - ConditionalExpression 2717726 2718428 - Identifier 2717726 2717752 - QuestionToken 2717752 2717754 - ConditionalExpression 2717754 2718104 - Identifier 2717754 2717788 - QuestionToken 2717788 2717790 - PropertyAccessExpression 2717790 2717956 - Identifier 2717790 2717835 - Identifier 2717836 2717956 - ColonToken 2717956 2717958 - PropertyAccessExpression 2717958 2718104 - Identifier 2717958 2718003 - Identifier 2718004 2718104 - ColonToken 2718104 2718106 - ConditionalExpression 2718106 2718428 - Identifier 2718106 2718140 - QuestionToken 2718140 2718142 - PropertyAccessExpression 2718142 2718292 - Identifier 2718142 2718183 - Identifier 2718184 2718292 - ColonToken 2718292 2718294 - PropertyAccessExpression 2718294 2718428 - Identifier 2718294 2718335 - Identifier 2718336 2718428 - ExpressionStatement 2718429 2718493 - CallExpression 2718429 2718492 - Identifier 2718429 2718460 - Identifier 2718461 2718470 - Identifier 2718471 2718476 - Identifier 2718477 2718491 - ReturnStatement 2718516 2718580 - PropertyAccessExpression 2718544 2718579 - Identifier 2718544 2718565 - Identifier 2718566 2718579 - IfStatement 2718621 2719008 - BinaryExpression 2718626 2718670 - Identifier 2718626 2718651 - AmpersandAmpersandToken 2718651 2718654 - Identifier 2718654 2718670 - Block 2718671 2719008 - IfStatement 2718673 2718925 - Identifier 2718699 2718708 - Block 2718709 2718925 - ExpressionStatement 2718711 2718902 - CallExpression 2718711 2718901 - Identifier 2718711 2718742 - Identifier 2718743 2718752 - PropertyAccessExpression 2718753 2718885 - Identifier 2718753 2718765 - Identifier 2718766 2718885 - Identifier 2718886 2718900 - ReturnStatement 2718925 2718989 - PropertyAccessExpression 2718953 2718988 - Identifier 2718953 2718974 - Identifier 2718975 2718988 - IfStatement 2719048 2719694 - Identifier 2719053 2719078 - Block 2719079 2719694 - IfStatement 2719081 2719622 - Identifier 2719099 2719108 - Block 2719109 2719622 - VariableStatement 2719111 2719166 - VariableDeclarationList 2719111 2719165 - VariableDeclaration 2719134 2719165 - Identifier 2719134 2719144 - CallExpression 2719146 2719165 - Identifier 2719146 2719159 - Identifier 2719160 2719164 - ExpressionStatement 2719166 2719607 - CallExpression 2719166 2719606 - Identifier 2719166 2719189 - Identifier 2719190 2719221 - ConditionalExpression 2719222 2719554 - Identifier 2719222 2719248 - QuestionToken 2719248 2719250 - PropertyAccessExpression 2719250 2719409 - Identifier 2719250 2719287 - Identifier 2719288 2719409 - ColonToken 2719409 2719411 - PropertyAccessExpression 2719411 2719554 - Identifier 2719411 2719448 - Identifier 2719449 2719554 - Identifier 2719555 2719586 - ReturnStatement 2719622 2719683 - PropertyAccessExpression 2719642 2719682 - Identifier 2719642 2719663 - Identifier 2719664 2719682 - ReturnStatement 2719694 2719737 - PropertyAccessExpression 2719712 2719736 - Identifier 2719712 2719733 - Identifier 2719734 2719736 - FunctionDeclaration 2719744 2721543 - Identifier 2719760 2719785 - Parameter 2719786 2719812 - Identifier 2719786 2719790 - TypeReference 2719791 2719812 - Identifier 2719791 2719812 - Parameter 2719813 2719832 - Identifier 2719813 2719826 - TypeReference 2719827 2719832 - Identifier 2719827 2719832 - Parameter 2719833 2719852 - Identifier 2719833 2719846 - TypeReference 2719847 2719852 - Identifier 2719847 2719852 - Parameter 2719853 2719882 - Identifier 2719853 2719863 - TypeReference 2719864 2719882 - Identifier 2719864 2719882 - Block 2719883 2721543 - VariableStatement 2719885 2720076 - VariableDeclarationList 2719885 2720075 - VariableDeclaration 2720049 2720075 - Identifier 2720049 2720067 - FalseKeyword 2720069 2720075 - ForOfStatement 2720076 2721317 - VariableDeclarationList 2720091 2720103 - VariableDeclaration 2720096 2720103 - Identifier 2720096 2720103 - PropertyAccessExpression 2720106 2720119 - Identifier 2720106 2720111 - Identifier 2720112 2720119 - Block 2720120 2721317 - IfStatement 2720122 2720201 - CallExpression 2720140 2720156 - Identifier 2720140 2720148 - Identifier 2720149 2720155 - Block 2720157 2720201 - ContinueStatement 2720159 2720186 - VariableStatement 2720201 2720315 - VariableDeclarationList 2720201 2720314 - VariableDeclaration 2720220 2720314 - Identifier 2720220 2720233 - BinaryExpression 2720235 2720314 - BinaryExpression 2720235 2720283 - PropertyAccessExpression 2720235 2720247 - Identifier 2720235 2720242 - Identifier 2720243 2720247 - AmpersandAmpersandToken 2720247 2720250 - CallExpression 2720250 2720283 - Identifier 2720250 2720270 - PropertyAccessExpression 2720271 2720282 - Identifier 2720271 2720277 - Identifier 2720278 2720282 - BarBarToken 2720283 2720286 - CallExpression 2720286 2720314 - Identifier 2720286 2720306 - Identifier 2720307 2720313 - IfStatement 2720315 2721306 - Identifier 2720333 2720345 - Block 2720346 2721306 - VariableStatement 2720348 2720437 - VariableDeclarationList 2720348 2720436 - VariableDeclaration 2720371 2720436 - Identifier 2720371 2720376 - CallExpression 2720378 2720436 - Identifier 2720378 2720396 - Identifier 2720397 2720409 - PropertyAccessExpression 2720410 2720435 - Identifier 2720410 2720423 - Identifier 2720424 2720435 - VariableStatement 2720437 2720530 - VariableDeclarationList 2720437 2720529 - VariableDeclaration 2720460 2720529 - Identifier 2720460 2720469 - CallExpression 2720471 2720529 - Identifier 2720471 2720489 - Identifier 2720490 2720502 - PropertyAccessExpression 2720503 2720528 - Identifier 2720503 2720516 - Identifier 2720517 2720528 - IfStatement 2720530 2721291 - BinaryExpression 2720552 2720568 - Identifier 2720552 2720556 - AmpersandAmpersandToken 2720556 2720559 - Identifier 2720559 2720568 - Block 2720569 2721291 - VariableStatement 2720571 2721036 - VariableDeclarationList 2720571 2721035 - VariableDeclaration 2720598 2721035 - Identifier 2720598 2720608 - ArrowFunction 2720610 2721035 - EqualsGreaterThanToken 2720613 2720616 - CallExpression 2720616 2721035 - Identifier 2720616 2720665 - Identifier 2720666 2720717 - PropertyAccessExpression 2720718 2720834 - Identifier 2720718 2720759 - Identifier 2720760 2720834 - CallExpression 2720835 2720893 - Identifier 2720835 2720879 - Identifier 2720880 2720892 - CallExpression 2720894 2720950 - Identifier 2720894 2720936 - Identifier 2720937 2720949 - CallExpression 2720951 2721007 - Identifier 2720951 2720993 - Identifier 2720994 2721006 - IfStatement 2721036 2721272 - PrefixUnaryExpression 2721062 2721195 - CallExpression 2721063 2721195 - Identifier 2721063 2721084 - CallExpression 2721085 2721106 - Identifier 2721085 2721100 - Identifier 2721101 2721105 - CallExpression 2721107 2721133 - Identifier 2721107 2721123 - Identifier 2721124 2721132 - BinaryExpression 2721134 2721156 - PropertyAccessExpression 2721134 2721146 - Identifier 2721134 2721141 - Identifier 2721142 2721146 - BarBarToken 2721146 2721149 - Identifier 2721149 2721156 - Identifier 2721157 2721183 - Identifier 2721184 2721194 - Block 2721196 2721272 - ExpressionStatement 2721198 2721249 - BinaryExpression 2721198 2721248 - Identifier 2721198 2721241 - EqualsToken 2721241 2721243 - TrueKeyword 2721243 2721248 - IfStatement 2721317 2721536 - PrefixUnaryExpression 2721331 2721349 - Identifier 2721332 2721349 - Block 2721350 2721536 - ExpressionStatement 2721352 2721525 - CallExpression 2721352 2721524 - Identifier 2721352 2721466 - Identifier 2721467 2721479 - Identifier 2721480 2721493 - BinaryExpression 2721494 2721512 - PropertyAccessExpression 2721494 2721504 - Identifier 2721494 2721499 - Identifier 2721500 2721504 - BarBarToken 2721504 2721507 - Identifier 2721507 2721512 - Identifier 2721513 2721523 - FunctionDeclaration 2721543 2722263 - Identifier 2721559 2721586 - Parameter 2721587 2721597 - Identifier 2721587 2721591 - TypeReference 2721592 2721597 - Identifier 2721592 2721597 - Parameter 2721598 2721632 - Identifier 2721598 2721603 - TypeReference 2721604 2721632 - Identifier 2721604 2721632 - Block 2721633 2722263 - VariableStatement 2721635 2721715 - VariableDeclarationList 2721635 2721714 - VariableDeclaration 2721650 2721714 - Identifier 2721650 2721661 - CallExpression 2721663 2721714 - Identifier 2721663 2721683 - Identifier 2721684 2721688 - PropertyAccessExpression 2721689 2721713 - Identifier 2721689 2721703 - Identifier 2721704 2721713 - IfStatement 2721715 2722256 - PropertyAccessExpression 2721729 2721746 - Identifier 2721729 2721739 - Identifier 2721740 2721746 - Block 2721747 2722256 - VariableStatement 2721749 2721809 - VariableDeclarationList 2721749 2721808 - VariableDeclaration 2721768 2721808 - Identifier 2721768 2721780 - PropertyAccessExpression 2721782 2721808 - ElementAccessExpression 2721782 2721796 - Identifier 2721782 2721793 - NumericLiteral 2721794 2721795 - Identifier 2721797 2721808 - IfStatement 2721809 2722245 - BinaryExpression 2721827 2721898 - Identifier 2721827 2721838 - AmpersandAmpersandToken 2721838 2721841 - CallExpression 2721841 2721898 - Identifier 2721841 2721862 - Identifier 2721863 2721874 - PropertyAccessExpression 2721875 2721897 - Identifier 2721875 2721889 - Identifier 2721890 2721897 - Block 2721899 2722245 - VariableStatement 2721901 2721994 - VariableDeclarationList 2721901 2721993 - VariableDeclaration 2721924 2721993 - Identifier 2721924 2721945 - NonNullExpression 2721947 2721993 - CallExpression 2721947 2721992 - Identifier 2721947 2721979 - PropertyAccessExpression 2721980 2721991 - Identifier 2721980 2721984 - Identifier 2721985 2721991 - IfStatement 2721994 2722230 - PrefixUnaryExpression 2722016 2722062 - CallExpression 2722017 2722062 - Identifier 2722017 2722034 - Identifier 2722035 2722039 - Identifier 2722040 2722061 - Block 2722063 2722230 - ExpressionStatement 2722065 2722211 - CallExpression 2722065 2722210 - Identifier 2722065 2722092 - Identifier 2722093 2722097 - PropertyAccessExpression 2722098 2722173 - Identifier 2722098 2722110 - Identifier 2722111 2722173 - CallExpression 2722174 2722209 - Identifier 2722174 2722196 - PropertyAccessExpression 2722197 2722208 - Identifier 2722197 2722201 - Identifier 2722202 2722208 - FunctionDeclaration 2722263 2723991 - Identifier 2722615 2722647 - Parameter 2722648 2722674 - Identifier 2722648 2722652 - TypeReference 2722653 2722674 - Identifier 2722653 2722674 - Parameter 2722675 2722696 - Identifier 2722675 2722682 - TypeReference 2722683 2722696 - Identifier 2722683 2722696 - Parameter 2722697 2722718 - Identifier 2722697 2722710 - TypeReference 2722711 2722718 - Identifier 2722711 2722718 - TypeReference 2722720 2722741 - Identifier 2722720 2722741 - Block 2722741 2723991 - IfStatement 2722743 2722828 - PrefixUnaryExpression 2722757 2722769 - PropertyAccessExpression 2722758 2722769 - Identifier 2722758 2722764 - Identifier 2722765 2722769 - Block 2722770 2722828 - ReturnStatement 2722772 2722817 - PropertyAccessExpression 2722792 2722816 - Identifier 2722792 2722813 - Identifier 2722814 2722816 - VariableStatement 2722828 2722889 - VariableDeclarationList 2722828 2722888 - VariableDeclaration 2722845 2722888 - Identifier 2722845 2722857 - CallExpression 2722859 2722888 - Identifier 2722859 2722882 - Identifier 2722883 2722887 - VariableStatement 2722889 2722966 - VariableDeclarationList 2722889 2722965 - VariableDeclaration 2722904 2722965 - Identifier 2722904 2722909 - AsExpression 2722911 2722965 - CallExpression 2722911 2722948 - Identifier 2722911 2722935 - Identifier 2722936 2722947 - TypeReference 2722951 2722965 - Identifier 2722951 2722965 - VariableStatement 2722966 2723027 - VariableDeclarationList 2722966 2723026 - VariableDeclaration 2722981 2723026 - Identifier 2722981 2722994 - CallExpression 2722996 2723026 - Identifier 2722996 2723020 - Identifier 2723021 2723025 - VariableStatement 2723027 2723099 - VariableDeclarationList 2723027 2723098 - VariableDeclaration 2723042 2723098 - Identifier 2723042 2723053 - AsExpression 2723055 2723098 - CallExpression 2723055 2723084 - Identifier 2723055 2723071 - Identifier 2723072 2723083 - TypeReference 2723087 2723098 - Identifier 2723087 2723098 - VariableStatement 2723099 2723163 - VariableDeclarationList 2723099 2723162 - VariableDeclaration 2723116 2723162 - Identifier 2723116 2723129 - CallExpression 2723131 2723162 - Identifier 2723131 2723156 - Identifier 2723157 2723161 - VariableStatement 2723163 2723226 - VariableDeclarationList 2723163 2723225 - VariableDeclaration 2723178 2723225 - Identifier 2723178 2723188 - BinaryExpression 2723190 2723225 - Identifier 2723190 2723203 - AmpersandAmpersandToken 2723203 2723206 - CallExpression 2723206 2723225 - Identifier 2723206 2723219 - Identifier 2723220 2723224 - VariableStatement 2723226 2723346 - VariableDeclarationList 2723226 2723345 - VariableDeclaration 2723241 2723345 - Identifier 2723241 2723254 - ConditionalExpression 2723256 2723345 - PropertyAccessExpression 2723256 2723274 - Identifier 2723256 2723266 - QuestionDotToken 2723266 2723268 - Identifier 2723268 2723274 - QuestionToken 2723274 2723276 - CallExpression 2723276 2723333 - Identifier 2723276 2723300 - CallExpression 2723301 2723317 - Identifier 2723301 2723306 - Identifier 2723307 2723316 - PropertyAccessExpression 2723318 2723332 - Identifier 2723318 2723323 - Identifier 2723324 2723332 - ColonToken 2723333 2723335 - Identifier 2723335 2723345 - VariableStatement 2723346 2723415 - VariableDeclarationList 2723346 2723414 - VariableDeclaration 2723361 2723414 - Identifier 2723361 2723376 - CallExpression 2723378 2723414 - Identifier 2723378 2723408 - Identifier 2723409 2723413 - VariableStatement 2723415 2723586 - VariableDeclarationList 2723415 2723585 - VariableDeclaration 2723432 2723585 - Identifier 2723432 2723458 - ConditionalExpression 2723460 2723585 - PropertyAccessExpression 2723460 2723474 - Identifier 2723460 2723467 - Identifier 2723468 2723474 - QuestionToken 2723474 2723489 - CallExpression 2723489 2723517 - Identifier 2723489 2723509 - Identifier 2723510 2723516 - ColonToken 2723517 2723532 - CallExpression 2723532 2723585 - Identifier 2723532 2723553 - Identifier 2723554 2723560 - PropertyAccessExpression 2723561 2723584 - Identifier 2723561 2723575 - Identifier 2723576 2723584 - ReturnStatement 2723586 2723984 - CallExpression 2723604 2723983 - Identifier 2723604 2723635 - Identifier 2723636 2723654 - Identifier 2723655 2723679 - Identifier 2723680 2723708 - Identifier 2723709 2723735 - Identifier 2723736 2723754 - Identifier 2723755 2723781 - Identifier 2723782 2723821 - CallExpression 2723822 2723863 - Identifier 2723822 2723855 - Identifier 2723856 2723862 - CallExpression 2723864 2723894 - Identifier 2723864 2723886 - Identifier 2723887 2723893 - FalseKeyword 2723895 2723944 - Identifier 2723945 2723971 - FunctionDeclaration 2723991 2724440 - Identifier 2724007 2724023 - Parameter 2724024 2724033 - Identifier 2724024 2724025 - TypeReference 2724026 2724033 - Identifier 2724026 2724033 - Block 2724034 2724440 - ReturnStatement 2724036 2724433 - ConditionalExpression 2724346 2724432 - BinaryExpression 2724346 2724389 - CallExpression 2724346 2724363 - Identifier 2724346 2724360 - Identifier 2724361 2724362 - AmpersandToken 2724363 2724365 - PropertyAccessExpression 2724365 2724389 - Identifier 2724365 2724376 - Identifier 2724377 2724389 - QuestionToken 2724389 2724391 - NonNullExpression 2724391 2724428 - PropertyAccessExpression 2724391 2724427 - PropertyAccessExpression 2724391 2724420 - ParenthesizedExpression 2724391 2724414 - AsExpression 2724393 2724413 - Identifier 2724393 2724394 - TypeReference 2724397 2724413 - Identifier 2724397 2724413 - Identifier 2724415 2724420 - Identifier 2724421 2724427 - ColonToken 2724428 2724430 - Identifier 2724430 2724432 - FunctionDeclaration 2724440 2724718 - Identifier 2724456 2724496 - Parameter 2724497 2724511 - Identifier 2724497 2724503 - TypeReference 2724504 2724511 - Identifier 2724504 2724511 - Block 2724512 2724718 - ReturnStatement 2724514 2724711 - CallExpression 2724530 2724710 - Identifier 2724530 2724537 - PropertyAccessExpression 2724538 2724557 - Identifier 2724538 2724544 - Identifier 2724545 2724557 - ArrowFunction 2724558 2724709 - Parameter 2724560 2724574 - Identifier 2724560 2724561 - TypeReference 2724562 2724574 - Identifier 2724562 2724574 - TypePredicate 2724576 2724621 - Identifier 2724576 2724578 - UnionType 2724581 2724621 - TypeReference 2724581 2724598 - Identifier 2724581 2724598 - TypeReference 2724600 2724621 - Identifier 2724600 2724621 - EqualsGreaterThanToken 2724621 2724624 - BinaryExpression 2724624 2724709 - BinaryExpression 2724624 2724663 - PropertyAccessExpression 2724624 2724631 - Identifier 2724624 2724626 - Identifier 2724627 2724631 - EqualsEqualsEqualsToken 2724631 2724635 - PropertyAccessExpression 2724635 2724663 - Identifier 2724635 2724646 - Identifier 2724647 2724663 - BarBarToken 2724663 2724666 - BinaryExpression 2724666 2724709 - PropertyAccessExpression 2724666 2724673 - Identifier 2724666 2724668 - Identifier 2724669 2724673 - EqualsEqualsEqualsToken 2724673 2724677 - PropertyAccessExpression 2724677 2724709 - Identifier 2724677 2724688 - Identifier 2724689 2724709 - FunctionDeclaration 2724718 2737262 - Identifier 2724734 2724770 - Parameter 2724771 2724790 - Identifier 2724771 2724775 - TypeReference 2724776 2724790 - Identifier 2724776 2724790 - Parameter 2724791 2724810 - Identifier 2724791 2724800 - TypeReference 2724801 2724810 - Identifier 2724801 2724810 - VoidKeyword 2724812 2724817 - Block 2724817 2737262 - VariableStatement 2724819 2726116 - VariableDeclarationList 2724819 2726115 - VariableDeclaration 2726068 2726115 - Identifier 2726068 2726083 - CallExpression 2726085 2726115 - Identifier 2726085 2726105 - Identifier 2726106 2726114 - InterfaceDeclaration 2726116 2726268 - Identifier 2726137 2726148 - PropertySignature 2726150 2726191 - Identifier 2726150 2726180 - ArrayType 2726181 2726190 - StringKeyword 2726181 2726188 - PropertySignature 2726191 2726226 - Identifier 2726191 2726217 - StringKeyword 2726218 2726225 - PropertySignature 2726226 2726257 - Identifier 2726226 2726248 - StringKeyword 2726249 2726256 - VariableStatement 2726268 2726349 - VariableDeclarationList 2726268 2726348 - VariableDeclaration 2726283 2726348 - Identifier 2726283 2726302 - NewExpression 2726304 2726348 - Identifier 2726308 2726312 - TypeReference 2726313 2726333 - Identifier 2726313 2726333 - TypeReference 2726334 2726345 - Identifier 2726334 2726345 - LabeledStatement 2726349 2735034 - Identifier 2726349 2726378 - ForOfStatement 2726379 2735034 - VariableDeclarationList 2726385 2726403 - VariableDeclaration 2726390 2726403 - Identifier 2726390 2726403 - Identifier 2726406 2726421 - Block 2726422 2735034 - VariableStatement 2726424 2726481 - VariableDeclarationList 2726424 2726480 - VariableDeclaration 2726443 2726480 - Identifier 2726443 2726448 - CallExpression 2726450 2726480 - Identifier 2726450 2726466 - Identifier 2726467 2726479 - IfStatement 2726481 2726580 - BinaryExpression 2726501 2726535 - PropertyAccessExpression 2726501 2726511 - Identifier 2726501 2726505 - Identifier 2726506 2726511 - AmpersandToken 2726511 2726513 - PropertyAccessExpression 2726513 2726535 - Identifier 2726513 2726525 - Identifier 2726526 2726535 - Block 2726536 2726580 - ContinueStatement 2726538 2726565 - VariableStatement 2726580 2726661 - VariableDeclarationList 2726580 2726660 - VariableDeclaration 2726599 2726660 - Identifier 2726599 2726610 - CallExpression 2726612 2726660 - Identifier 2726612 2726636 - Identifier 2726637 2726641 - PropertyAccessExpression 2726642 2726659 - Identifier 2726642 2726647 - Identifier 2726648 2726659 - IfStatement 2726661 2726735 - PrefixUnaryExpression 2726679 2726690 - Identifier 2726680 2726690 - Block 2726691 2726735 - ContinueStatement 2726693 2726720 - VariableStatement 2726735 2726793 - VariableDeclarationList 2726735 2726792 - VariableDeclaration 2726754 2726792 - Identifier 2726754 2726762 - CallExpression 2726764 2726792 - Identifier 2726764 2726780 - Identifier 2726781 2726791 - VariableStatement 2726793 2726880 - VariableDeclarationList 2726793 2726879 - VariableDeclaration 2726812 2726879 - Identifier 2726812 2726833 - CallExpression 2726835 2726879 - Identifier 2726835 2726873 - Identifier 2726874 2726878 - ExpressionStatement 2726880 2727001 - CallExpression 2726880 2727000 - PropertyAccessExpression 2726880 2726908 - Identifier 2726880 2726901 - Identifier 2726902 2726908 - PrefixUnaryExpression 2726909 2726918 - PrefixUnaryExpression 2726910 2726918 - Identifier 2726911 2726918 - StringLiteral 2726919 2726999 - IfStatement 2727001 2735023 - BinaryExpression 2727356 2727372 - Identifier 2727356 2727363 - EqualsEqualsEqualsToken 2727363 2727367 - Identifier 2727367 2727372 - Block 2727373 2729260 - VariableStatement 2727375 2727543 - VariableDeclarationList 2727375 2727542 - VariableDeclaration 2727477 2727542 - Identifier 2727477 2727494 - NonNullExpression 2727496 2727542 - CallExpression 2727496 2727541 - Identifier 2727496 2727528 - PropertyAccessExpression 2727529 2727540 - Identifier 2727529 2727533 - Identifier 2727534 2727540 - IfStatement 2727543 2729245 - BinaryExpression 2727856 2727991 - BinaryExpression 2727856 2727901 - Identifier 2727856 2727876 - AmpersandToken 2727876 2727878 - PropertyAccessExpression 2727878 2727901 - Identifier 2727878 2727892 - Identifier 2727893 2727901 - AmpersandAmpersandToken 2727901 2727904 - ParenthesizedExpression 2727904 2727991 - BinaryExpression 2727906 2727990 - PrefixUnaryExpression 2727906 2727923 - Identifier 2727907 2727923 - BarBarToken 2727923 2727926 - PrefixUnaryExpression 2727926 2727990 - CallExpression 2727928 2727990 - Identifier 2727928 2727948 - Identifier 2727949 2727965 - PropertyAccessExpression 2727966 2727989 - Identifier 2727966 2727980 - Identifier 2727981 2727989 - Block 2727992 2729245 - ForOfStatement 2727994 2728785 - VariableDeclarationList 2728294 2728313 - VariableDeclaration 2728299 2728313 - Identifier 2728299 2728313 - CallExpression 2728316 2728335 - Identifier 2728316 2728329 - Identifier 2728330 2728334 - Block 2728336 2728785 - IfStatement 2728338 2728405 - BinaryExpression 2728368 2728394 - Identifier 2728368 2728381 - EqualsEqualsEqualsToken 2728381 2728385 - Identifier 2728385 2728394 - ContinueStatement 2728395 2728405 - VariableStatement 2728405 2728507 - VariableDeclarationList 2728405 2728506 - VariableDeclaration 2728436 2728506 - Identifier 2728436 2728447 - CallExpression 2728449 2728506 - Identifier 2728449 2728473 - Identifier 2728474 2728487 - PropertyAccessExpression 2728488 2728505 - Identifier 2728488 2728493 - Identifier 2728494 2728505 - VariableStatement 2728507 2728600 - VariableDeclarationList 2728507 2728599 - VariableDeclaration 2728538 2728599 - Identifier 2728538 2728555 - BinaryExpression 2728557 2728599 - Identifier 2728557 2728568 - AmpersandAmpersandToken 2728568 2728571 - CallExpression 2728571 2728599 - Identifier 2728571 2728587 - Identifier 2728588 2728598 - IfStatement 2728600 2728762 - BinaryExpression 2728630 2728675 - Identifier 2728630 2728646 - AmpersandAmpersandToken 2728646 2728649 - BinaryExpression 2728649 2728675 - Identifier 2728649 2728666 - ExclamationEqualsEqualsToken 2728666 2728670 - Identifier 2728670 2728675 - Block 2728676 2728762 - ContinueStatement 2728678 2728735 - Identifier 2728716 2728734 - VariableStatement 2728785 2728851 - VariableDeclarationList 2728785 2728850 - VariableDeclaration 2728812 2728850 - Identifier 2728812 2728825 - CallExpression 2728827 2728850 - Identifier 2728827 2728840 - Identifier 2728841 2728849 - VariableStatement 2728851 2728909 - VariableDeclarationList 2728851 2728908 - VariableDeclaration 2728878 2728908 - Identifier 2728878 2728887 - CallExpression 2728889 2728908 - Identifier 2728889 2728902 - Identifier 2728903 2728907 - VariableStatement 2728909 2728985 - VariableDeclarationList 2728909 2728984 - VariableDeclaration 2728936 2728984 - Identifier 2728936 2728953 - CallExpression 2728955 2728984 - Identifier 2728955 2728970 - Identifier 2728971 2728983 - VariableStatement 2728985 2729117 - VariableDeclarationList 2728985 2729116 - VariableDeclaration 2729012 2729116 - Identifier 2729012 2729029 - CallExpression 2729031 2729116 - Identifier 2729031 2729038 - PropertyAccessExpression 2729039 2729097 - CallExpression 2729039 2729079 - PropertyAccessExpression 2729039 2729061 - Identifier 2729039 2729057 - Identifier 2729058 2729061 - Identifier 2729062 2729078 - QuestionDotToken 2729079 2729081 - Identifier 2729081 2729097 - Identifier 2729098 2729115 - ExpressionStatement 2729117 2729226 - CallExpression 2729117 2729225 - PropertyAccessExpression 2729117 2729161 - Identifier 2729117 2729157 - Identifier 2729158 2729161 - Identifier 2729162 2729178 - ObjectLiteralExpression 2729179 2729224 - ShorthandPropertyAssignment 2729181 2729194 - Identifier 2729181 2729194 - ShorthandPropertyAssignment 2729195 2729204 - Identifier 2729195 2729204 - ShorthandPropertyAssignment 2729205 2729222 - Identifier 2729205 2729222 - Block 2729278 2735023 - VariableStatement 2729280 2729421 - VariableDeclarationList 2729280 2729420 - VariableDeclaration 2729347 2729420 - Identifier 2729347 2729371 - CallExpression 2729373 2729420 - Identifier 2729373 2729411 - Identifier 2729412 2729419 - IfStatement 2729421 2729682 - BinaryExpression 2729443 2729538 - BinaryExpression 2729443 2729487 - Identifier 2729443 2729463 - AmpersandToken 2729463 2729465 - PropertyAccessExpression 2729465 2729487 - Identifier 2729465 2729479 - Identifier 2729480 2729487 - BarBarToken 2729487 2729490 - BinaryExpression 2729490 2729538 - Identifier 2729490 2729514 - AmpersandToken 2729514 2729516 - PropertyAccessExpression 2729516 2729538 - Identifier 2729516 2729530 - Identifier 2729531 2729538 - Block 2729539 2729682 - ContinueStatement 2729541 2729663 - VariableStatement 2729682 2729738 - VariableDeclarationList 2729682 2729737 - VariableDeclaration 2729705 2729737 - Identifier 2729705 2729718 - TypeReference 2729719 2729737 - Identifier 2729719 2729737 - VariableStatement 2729738 2729826 - VariableDeclarationList 2729738 2729825 - VariableDeclaration 2729761 2729825 - Identifier 2729761 2729779 - BinaryExpression 2729781 2729825 - PropertyAccessExpression 2729781 2729792 - Identifier 2729781 2729786 - Identifier 2729787 2729792 - AmpersandToken 2729792 2729794 - PropertyAccessExpression 2729794 2729825 - Identifier 2729794 2729806 - Identifier 2729807 2729825 - VariableStatement 2729826 2729920 - VariableDeclarationList 2729826 2729919 - VariableDeclaration 2729849 2729919 - Identifier 2729849 2729870 - BinaryExpression 2729872 2729919 - PropertyAccessExpression 2729872 2729886 - Identifier 2729872 2729880 - Identifier 2729881 2729886 - AmpersandToken 2729886 2729888 - PropertyAccessExpression 2729888 2729919 - Identifier 2729888 2729900 - Identifier 2729901 2729919 - IfStatement 2729920 2734826 - BinaryExpression 2729942 2729983 - Identifier 2729942 2729959 - AmpersandAmpersandToken 2729959 2729962 - Identifier 2729962 2729983 - Block 2729984 2733791 - IfStatement 2729986 2730992 - BinaryExpression 2730091 2730563 - BinaryExpression 2730091 2730462 - ParenthesizedExpression 2730091 2730394 - ConditionalExpression 2730118 2730393 - BinaryExpression 2730118 2730160 - CallExpression 2730118 2730137 - Identifier 2730118 2730131 - Identifier 2730132 2730136 - AmpersandToken 2730137 2730139 - PropertyAccessExpression 2730139 2730160 - Identifier 2730139 2730150 - Identifier 2730151 2730160 - QuestionToken 2730160 2730191 - CallExpression 2730191 2730276 - PropertyAccessExpression 2730191 2730215 - PropertyAccessExpression 2730191 2730209 - Identifier 2730191 2730196 - Identifier 2730197 2730209 - QuestionDotToken 2730209 2730211 - Identifier 2730211 2730215 - ArrowFunction 2730216 2730275 - Parameter 2730216 2730217 - Identifier 2730216 2730217 - EqualsGreaterThanToken 2730217 2730220 - CallExpression 2730220 2730275 - Identifier 2730220 2730250 - Identifier 2730251 2730252 - Identifier 2730253 2730274 - ColonToken 2730276 2730307 - CallExpression 2730307 2730393 - PropertyAccessExpression 2730307 2730332 - PropertyAccessExpression 2730307 2730325 - Identifier 2730307 2730312 - Identifier 2730313 2730325 - QuestionDotToken 2730325 2730327 - Identifier 2730327 2730332 - ArrowFunction 2730333 2730392 - Parameter 2730333 2730334 - Identifier 2730333 2730334 - EqualsGreaterThanToken 2730334 2730337 - CallExpression 2730337 2730392 - Identifier 2730337 2730367 - Identifier 2730368 2730369 - Identifier 2730370 2730391 - BarBarToken 2730394 2730422 - BinaryExpression 2730422 2730462 - CallExpression 2730422 2730442 - Identifier 2730422 2730436 - Identifier 2730437 2730441 - AmpersandToken 2730442 2730444 - PropertyAccessExpression 2730444 2730462 - Identifier 2730444 2730455 - Identifier 2730456 2730462 - BarBarToken 2730462 2730490 - BinaryExpression 2730490 2730563 - PropertyAccessExpression 2730490 2730515 - Identifier 2730490 2730498 - Identifier 2730499 2730515 - AmpersandAmpersandToken 2730515 2730518 - CallExpression 2730518 2730563 - Identifier 2730518 2730537 - PropertyAccessExpression 2730538 2730562 - Identifier 2730538 2730545 - Identifier 2730546 2730562 - Block 2730586 2730992 - ContinueStatement 2730588 2730969 - VariableStatement 2730992 2731143 - VariableDeclarationList 2730992 2731142 - VariableDeclaration 2731021 2731142 - Identifier 2731021 2731048 - BinaryExpression 2731050 2731142 - BinaryExpression 2731050 2731093 - Identifier 2731050 2731068 - ExclamationEqualsEqualsToken 2731068 2731072 - PropertyAccessExpression 2731072 2731093 - Identifier 2731072 2731084 - Identifier 2731085 2731093 - AmpersandAmpersandToken 2731093 2731096 - BinaryExpression 2731096 2731142 - Identifier 2731096 2731117 - EqualsEqualsEqualsToken 2731117 2731121 - PropertyAccessExpression 2731121 2731142 - Identifier 2731121 2731133 - Identifier 2731134 2731142 - VariableStatement 2731143 2731292 - VariableDeclarationList 2731143 2731291 - VariableDeclaration 2731170 2731291 - Identifier 2731170 2731197 - BinaryExpression 2731199 2731291 - BinaryExpression 2731199 2731242 - Identifier 2731199 2731217 - EqualsEqualsEqualsToken 2731217 2731221 - PropertyAccessExpression 2731221 2731242 - Identifier 2731221 2731233 - Identifier 2731234 2731242 - AmpersandAmpersandToken 2731242 2731245 - BinaryExpression 2731245 2731291 - Identifier 2731245 2731266 - ExclamationEqualsEqualsToken 2731266 2731270 - PropertyAccessExpression 2731270 2731291 - Identifier 2731270 2731282 - Identifier 2731283 2731291 - IfStatement 2731292 2733702 - BinaryExpression 2731318 2731374 - Identifier 2731318 2731344 - BarBarToken 2731344 2731347 - Identifier 2731347 2731374 - Block 2731375 2731922 - VariableStatement 2731377 2731711 - VariableDeclarationList 2731377 2731710 - VariableDeclaration 2731408 2731710 - Identifier 2731408 2731421 - ConditionalExpression 2731423 2731710 - Identifier 2731423 2731450 - QuestionToken 2731450 2731452 - PropertyAccessExpression 2731452 2731585 - Identifier 2731452 2731493 - Identifier 2731494 2731585 - ColonToken 2731585 2731587 - PropertyAccessExpression 2731587 2731710 - Identifier 2731587 2731628 - Identifier 2731629 2731710 - ExpressionStatement 2731711 2731899 - CallExpression 2731711 2731898 - Identifier 2731711 2731742 - BinaryExpression 2731743 2731817 - CallExpression 2731743 2731789 - Identifier 2731743 2731763 - PropertyAccessExpression 2731764 2731788 - Identifier 2731764 2731771 - Identifier 2731772 2731788 - BarBarToken 2731789 2731792 - PropertyAccessExpression 2731792 2731817 - Identifier 2731792 2731800 - Identifier 2731801 2731817 - Identifier 2731818 2731831 - CallExpression 2731832 2731853 - Identifier 2731832 2731847 - Identifier 2731848 2731852 - CallExpression 2731854 2731877 - Identifier 2731854 2731867 - Identifier 2731868 2731876 - CallExpression 2731878 2731897 - Identifier 2731878 2731891 - Identifier 2731892 2731896 - IfStatement 2731948 2733702 - Identifier 2731953 2731976 - Block 2731977 2733702 - VariableStatement 2731979 2732145 - VariableDeclarationList 2731979 2732144 - VariableDeclaration 2732010 2732144 - Identifier 2732010 2732024 - CallExpression 2732026 2732144 - PropertyAccessExpression 2732026 2732053 - PropertyAccessExpression 2732026 2732047 - Identifier 2732026 2732034 - Identifier 2732035 2732047 - QuestionDotToken 2732047 2732049 - Identifier 2732049 2732053 - ArrowFunction 2732054 2732143 - Parameter 2732054 2732055 - Identifier 2732054 2732055 - EqualsGreaterThanToken 2732055 2732058 - BinaryExpression 2732058 2732143 - BinaryExpression 2732058 2732100 - PropertyAccessExpression 2732058 2732065 - Identifier 2732058 2732060 - Identifier 2732061 2732065 - EqualsEqualsEqualsToken 2732065 2732069 - PropertyAccessExpression 2732069 2732100 - Identifier 2732069 2732080 - Identifier 2732081 2732100 - AmpersandAmpersandToken 2732100 2732103 - PrefixUnaryExpression 2732103 2732143 - PropertyAccessExpression 2732105 2732143 - ParenthesizedExpression 2732105 2732131 - AsExpression 2732106 2732130 - Identifier 2732106 2732107 - TypeReference 2732110 2732130 - Identifier 2732110 2732130 - Identifier 2732132 2732143 - IfStatement 2732145 2733679 - BinaryExpression 2732175 2732554 - BinaryExpression 2732175 2732456 - BinaryExpression 2732175 2732372 - BinaryExpression 2732175 2732291 - Identifier 2732175 2732218 - AmpersandAmpersandToken 2732218 2732250 - PrefixUnaryExpression 2732250 2732291 - ParenthesizedExpression 2732252 2732291 - BinaryExpression 2732253 2732290 - PropertyAccessExpression 2732253 2732266 - Identifier 2732253 2732260 - Identifier 2732261 2732266 - AmpersandToken 2732266 2732268 - PropertyAccessExpression 2732268 2732290 - Identifier 2732268 2732280 - Identifier 2732281 2732290 - AmpersandAmpersandToken 2732291 2732323 - PrefixUnaryExpression 2732323 2732372 - ParenthesizedExpression 2732325 2732372 - BinaryExpression 2732326 2732371 - Identifier 2732326 2732346 - AmpersandToken 2732346 2732348 - PropertyAccessExpression 2732348 2732371 - Identifier 2732348 2732362 - Identifier 2732363 2732371 - AmpersandAmpersandToken 2732372 2732404 - PrefixUnaryExpression 2732404 2732456 - ParenthesizedExpression 2732406 2732456 - BinaryExpression 2732407 2732455 - Identifier 2732407 2732430 - AmpersandToken 2732430 2732432 - PropertyAccessExpression 2732432 2732455 - Identifier 2732432 2732446 - Identifier 2732447 2732455 - AmpersandAmpersandToken 2732456 2732488 - PrefixUnaryExpression 2732488 2732554 - CallExpression 2732490 2732554 - PropertyAccessExpression 2732490 2732516 - PropertyAccessExpression 2732490 2732510 - Identifier 2732490 2732497 - Identifier 2732498 2732510 - QuestionDotToken 2732510 2732512 - Identifier 2732512 2732516 - ArrowFunction 2732517 2732553 - Parameter 2732517 2732518 - Identifier 2732517 2732518 - EqualsGreaterThanToken 2732518 2732521 - PrefixUnaryExpression 2732521 2732553 - PrefixUnaryExpression 2732523 2732553 - ParenthesizedExpression 2732524 2732553 - BinaryExpression 2732525 2732552 - PropertyAccessExpression 2732525 2732532 - Identifier 2732525 2732526 - Identifier 2732527 2732532 - AmpersandToken 2732532 2732534 - PropertyAccessExpression 2732534 2732552 - Identifier 2732534 2732544 - Identifier 2732545 2732552 - Block 2732581 2733679 - VariableStatement 2732583 2732707 - VariableDeclarationList 2732583 2732706 - VariableDeclaration 2732618 2732706 - Identifier 2732618 2732630 - CallExpression 2732632 2732706 - Identifier 2732632 2732659 - NonNullExpression 2732660 2732705 - CallExpression 2732660 2732704 - Identifier 2732660 2732691 - PropertyAccessExpression 2732692 2732703 - Identifier 2732692 2732696 - Identifier 2732697 2732703 - VariableStatement 2732707 2732798 - VariableDeclarationList 2732707 2732797 - VariableDeclaration 2732742 2732797 - Identifier 2732742 2732751 - PropertyAccessExpression 2732753 2732797 - ParenthesizedExpression 2732753 2732792 - AsExpression 2732755 2732791 - Identifier 2732755 2732768 - TypeReference 2732771 2732791 - Identifier 2732771 2732791 - Identifier 2732793 2732797 - IfStatement 2732798 2733652 - BinaryExpression 2732832 2733185 - BinaryExpression 2732832 2733084 - BinaryExpression 2732832 2733030 - BinaryExpression 2732832 2732970 - PropertyAccessExpression 2732832 2732921 - ParenthesizedExpression 2732832 2732904 - AsExpression 2732867 2732903 - Identifier 2732867 2732880 - TypeReference 2732883 2732903 - Identifier 2732883 2732903 - Identifier 2732905 2732921 - BarBarToken 2732921 2732957 - PrefixUnaryExpression 2732957 2732970 - Identifier 2732959 2732970 - BarBarToken 2732970 2733006 - PrefixUnaryExpression 2733006 2733030 - CallExpression 2733008 2733030 - Identifier 2733008 2733020 - Identifier 2733021 2733029 - BarBarToken 2733030 2733066 - PrefixUnaryExpression 2733066 2733084 - Identifier 2733068 2733084 - BarBarToken 2733084 2733120 - PrefixUnaryExpression 2733120 2733185 - CallExpression 2733122 2733185 - Identifier 2733122 2733156 - Identifier 2733157 2733165 - Identifier 2733166 2733171 - Identifier 2733172 2733184 - Block 2733216 2733652 - VariableStatement 2733218 2733445 - VariableDeclarationList 2733218 2733444 - VariableDeclaration 2733257 2733444 - Identifier 2733257 2733270 - PropertyAccessExpression 2733272 2733444 - Identifier 2733272 2733284 - Identifier 2733285 2733444 - ExpressionStatement 2733445 2733621 - CallExpression 2733445 2733620 - Identifier 2733445 2733484 - BinaryExpression 2733485 2733559 - CallExpression 2733485 2733531 - Identifier 2733485 2733505 - PropertyAccessExpression 2733506 2733530 - Identifier 2733506 2733513 - Identifier 2733514 2733530 - BarBarToken 2733531 2733534 - PropertyAccessExpression 2733534 2733559 - Identifier 2733534 2733542 - Identifier 2733543 2733559 - Identifier 2733560 2733573 - CallExpression 2733574 2733595 - Identifier 2733574 2733589 - Identifier 2733590 2733594 - CallExpression 2733596 2733619 - Identifier 2733596 2733609 - Identifier 2733610 2733618 - ContinueStatement 2733702 2733772 - IfStatement 2733813 2734826 - CallExpression 2733818 2733843 - Identifier 2733818 2733837 - Identifier 2733838 2733842 - Block 2733844 2734397 - IfStatement 2733846 2734378 - BinaryExpression 2733872 2733940 - CallExpression 2733872 2733900 - Identifier 2733872 2733891 - Identifier 2733892 2733899 - BarBarToken 2733900 2733903 - BinaryExpression 2733903 2733940 - PropertyAccessExpression 2733903 2733917 - Identifier 2733903 2733911 - Identifier 2733912 2733917 - AmpersandToken 2733917 2733919 - PropertyAccessExpression 2733919 2733940 - Identifier 2733919 2733931 - Identifier 2733932 2733940 - Block 2733941 2734090 - ContinueStatement 2733943 2734067 - Block 2734116 2734378 - ExpressionStatement 2734118 2734199 - CallExpression 2734118 2734198 - PropertyAccessExpression 2734118 2734156 - Identifier 2734118 2734149 - Identifier 2734150 2734156 - PrefixUnaryExpression 2734157 2734197 - PrefixUnaryExpression 2734158 2734197 - ParenthesizedExpression 2734159 2734197 - BinaryExpression 2734160 2734196 - PropertyAccessExpression 2734160 2734173 - Identifier 2734160 2734167 - Identifier 2734168 2734173 - AmpersandToken 2734173 2734175 - PropertyAccessExpression 2734175 2734196 - Identifier 2734175 2734187 - Identifier 2734188 2734196 - ExpressionStatement 2734199 2734355 - BinaryExpression 2734199 2734354 - Identifier 2734199 2734237 - EqualsToken 2734237 2734239 - PropertyAccessExpression 2734239 2734354 - Identifier 2734239 2734251 - Identifier 2734252 2734354 - IfStatement 2734419 2734826 - BinaryExpression 2734424 2734457 - PropertyAccessExpression 2734424 2734434 - Identifier 2734424 2734428 - Identifier 2734429 2734434 - AmpersandToken 2734434 2734436 - PropertyAccessExpression 2734436 2734457 - Identifier 2734436 2734448 - Identifier 2734449 2734457 - Block 2734458 2734631 - ExpressionStatement 2734460 2734612 - BinaryExpression 2734460 2734611 - Identifier 2734460 2734494 - EqualsToken 2734494 2734496 - PropertyAccessExpression 2734496 2734611 - Identifier 2734496 2734508 - Identifier 2734509 2734611 - Block 2734653 2734826 - ExpressionStatement 2734655 2734807 - BinaryExpression 2734655 2734806 - Identifier 2734655 2734689 - EqualsToken 2734689 2734691 - PropertyAccessExpression 2734691 2734806 - Identifier 2734691 2734703 - Identifier 2734704 2734806 - ExpressionStatement 2734826 2735008 - CallExpression 2734826 2735007 - Identifier 2734826 2734851 - BinaryExpression 2734852 2734926 - CallExpression 2734852 2734898 - Identifier 2734852 2734872 - PropertyAccessExpression 2734873 2734897 - Identifier 2734873 2734880 - Identifier 2734881 2734897 - BarBarToken 2734898 2734901 - PropertyAccessExpression 2734901 2734926 - Identifier 2734901 2734909 - Identifier 2734910 2734926 - Identifier 2734927 2734940 - CallExpression 2734941 2734964 - Identifier 2734941 2734954 - Identifier 2734955 2734963 - CallExpression 2734965 2734986 - Identifier 2734965 2734980 - Identifier 2734981 2734985 - CallExpression 2734987 2735006 - Identifier 2734987 2735000 - Identifier 2735001 2735005 - ForOfStatement 2735034 2737255 - VariableDeclarationList 2735051 2735080 - VariableDeclaration 2735056 2735080 - ArrayBindingPattern 2735056 2735080 - BindingElement 2735058 2735067 - Identifier 2735058 2735067 - BindingElement 2735068 2735079 - Identifier 2735068 2735079 - Identifier 2735083 2735102 - Block 2735103 2737255 - IfStatement 2735105 2737244 - BinaryExpression 2735123 2735164 - CallExpression 2735123 2735158 - Identifier 2735123 2735129 - PropertyAccessExpression 2735130 2735157 - Identifier 2735130 2735140 - Identifier 2735141 2735157 - EqualsEqualsEqualsToken 2735158 2735162 - NumericLiteral 2735162 2735164 - Block 2735165 2735715 - IfStatement 2735167 2735700 - CallExpression 2735189 2735217 - Identifier 2735189 2735206 - Identifier 2735207 2735216 - Block 2735218 2735442 - ExpressionStatement 2735220 2735423 - CallExpression 2735220 2735422 - Identifier 2735220 2735247 - Identifier 2735248 2735257 - PropertyAccessExpression 2735258 2735360 - Identifier 2735258 2735270 - Identifier 2735271 2735360 - CallExpression 2735361 2735396 - Identifier 2735361 2735367 - PropertyAccessExpression 2735368 2735395 - Identifier 2735368 2735378 - Identifier 2735379 2735395 - PropertyAccessExpression 2735397 2735421 - Identifier 2735397 2735408 - Identifier 2735409 2735421 - Block 2735464 2735700 - ExpressionStatement 2735466 2735681 - CallExpression 2735466 2735680 - Identifier 2735466 2735493 - Identifier 2735494 2735503 - PropertyAccessExpression 2735504 2735597 - Identifier 2735504 2735516 - Identifier 2735517 2735597 - PropertyAccessExpression 2735598 2735618 - Identifier 2735598 2735609 - Identifier 2735610 2735618 - CallExpression 2735619 2735654 - Identifier 2735619 2735625 - PropertyAccessExpression 2735626 2735653 - Identifier 2735626 2735636 - Identifier 2735637 2735653 - PropertyAccessExpression 2735655 2735679 - Identifier 2735655 2735666 - Identifier 2735667 2735679 - IfStatement 2735733 2737244 - BinaryExpression 2735738 2735777 - CallExpression 2735738 2735773 - Identifier 2735738 2735744 - PropertyAccessExpression 2735745 2735772 - Identifier 2735745 2735755 - Identifier 2735756 2735772 - GreaterThanToken 2735773 2735775 - NumericLiteral 2735775 2735777 - Block 2735778 2736592 - VariableStatement 2735780 2735900 - VariableDeclarationList 2735780 2735899 - VariableDeclaration 2735803 2735899 - Identifier 2735803 2735820 - CallExpression 2735822 2735899 - PropertyAccessExpression 2735822 2735893 - CallExpression 2735822 2735888 - Identifier 2735822 2735826 - CallExpression 2735827 2735866 - PropertyAccessExpression 2735827 2735860 - PropertyAccessExpression 2735827 2735854 - Identifier 2735827 2735837 - Identifier 2735838 2735854 - Identifier 2735855 2735860 - NumericLiteral 2735861 2735862 - NumericLiteral 2735863 2735865 - ArrowFunction 2735867 2735887 - Parameter 2735867 2735872 - Identifier 2735867 2735872 - EqualsGreaterThanToken 2735872 2735875 - TemplateExpression 2735875 2735887 - TemplateHead 2735875 2735880 - TemplateSpan 2735880 2735887 - Identifier 2735880 2735884 - TemplateTail 2735884 2735887 - Identifier 2735889 2735893 - StringLiteral 2735894 2735898 - VariableStatement 2735900 2735992 - VariableDeclarationList 2735900 2735991 - VariableDeclaration 2735923 2735991 - Identifier 2735923 2735949 - BinaryExpression 2735951 2735991 - CallExpression 2735951 2735987 - Identifier 2735951 2735958 - PropertyAccessExpression 2735959 2735986 - Identifier 2735959 2735969 - Identifier 2735970 2735986 - MinusToken 2735987 2735989 - NumericLiteral 2735989 2735991 - IfStatement 2735992 2736577 - CallExpression 2736014 2736042 - Identifier 2736014 2736031 - Identifier 2736032 2736041 - Block 2736043 2736293 - ExpressionStatement 2736045 2736274 - CallExpression 2736045 2736273 - Identifier 2736045 2736072 - Identifier 2736073 2736082 - PropertyAccessExpression 2736083 2736202 - Identifier 2736083 2736095 - Identifier 2736096 2736202 - PropertyAccessExpression 2736203 2736227 - Identifier 2736203 2736214 - Identifier 2736215 2736227 - Identifier 2736228 2736245 - Identifier 2736246 2736272 - Block 2736315 2736577 - ExpressionStatement 2736317 2736558 - CallExpression 2736317 2736557 - Identifier 2736317 2736344 - Identifier 2736345 2736354 - PropertyAccessExpression 2736355 2736465 - Identifier 2736355 2736367 - Identifier 2736368 2736465 - PropertyAccessExpression 2736466 2736486 - Identifier 2736466 2736477 - Identifier 2736478 2736486 - PropertyAccessExpression 2736487 2736511 - Identifier 2736487 2736498 - Identifier 2736499 2736511 - Identifier 2736512 2736529 - Identifier 2736530 2736556 - Block 2736610 2737244 - VariableStatement 2736612 2736720 - VariableDeclarationList 2736612 2736719 - VariableDeclaration 2736635 2736719 - Identifier 2736635 2736652 - CallExpression 2736654 2736719 - PropertyAccessExpression 2736654 2736713 - CallExpression 2736654 2736708 - Identifier 2736654 2736658 - PropertyAccessExpression 2736659 2736686 - Identifier 2736659 2736669 - Identifier 2736670 2736686 - ArrowFunction 2736687 2736707 - Parameter 2736687 2736692 - Identifier 2736687 2736692 - EqualsGreaterThanToken 2736692 2736695 - TemplateExpression 2736695 2736707 - TemplateHead 2736695 2736700 - TemplateSpan 2736700 2736707 - Identifier 2736700 2736704 - TemplateTail 2736704 2736707 - Identifier 2736709 2736713 - StringLiteral 2736714 2736718 - IfStatement 2736720 2737229 - CallExpression 2736742 2736770 - Identifier 2736742 2736759 - Identifier 2736760 2736769 - Block 2736771 2736983 - ExpressionStatement 2736773 2736964 - CallExpression 2736773 2736963 - Identifier 2736773 2736800 - Identifier 2736801 2736810 - PropertyAccessExpression 2736811 2736919 - Identifier 2736811 2736823 - Identifier 2736824 2736919 - PropertyAccessExpression 2736920 2736944 - Identifier 2736920 2736931 - Identifier 2736932 2736944 - Identifier 2736945 2736962 - Block 2737005 2737229 - ExpressionStatement 2737007 2737210 - CallExpression 2737007 2737209 - Identifier 2737007 2737034 - Identifier 2737035 2737044 - PropertyAccessExpression 2737045 2737144 - Identifier 2737045 2737057 - Identifier 2737058 2737144 - PropertyAccessExpression 2737145 2737165 - Identifier 2737145 2737156 - Identifier 2737157 2737165 - PropertyAccessExpression 2737166 2737190 - Identifier 2737166 2737177 - Identifier 2737178 2737190 - Identifier 2737191 2737208 - FunctionDeclaration 2737262 2737571 - Identifier 2737278 2737308 - Parameter 2737309 2737333 - Identifier 2737309 2737320 - TypeReference 2737321 2737333 - Identifier 2737321 2737333 - Parameter 2737334 2737370 - Identifier 2737334 2737355 - TypeReference 2737356 2737370 - Identifier 2737356 2737370 - Block 2737371 2737571 - ReturnStatement 2737373 2737564 - BinaryExpression 2737389 2737563 - BinaryExpression 2737389 2737504 - BinaryExpression 2737389 2737435 - Identifier 2737389 2737410 - AmpersandToken 2737410 2737412 - PropertyAccessExpression 2737412 2737435 - Identifier 2737412 2737426 - Identifier 2737427 2737435 - AmpersandAmpersandToken 2737435 2737438 - ParenthesizedExpression 2737438 2737504 - BinaryExpression 2737440 2737503 - PrefixUnaryExpression 2737440 2737475 - CallExpression 2737441 2737475 - Identifier 2737441 2737462 - Identifier 2737463 2737474 - BarBarToken 2737475 2737478 - PrefixUnaryExpression 2737478 2737503 - PropertyAccessExpression 2737480 2737503 - Identifier 2737480 2737491 - Identifier 2737492 2737503 - BarBarToken 2737504 2737520 - CallExpression 2737520 2737563 - Identifier 2737520 2737543 - PropertyAccessExpression 2737544 2737562 - Identifier 2737544 2737555 - Identifier 2737556 2737562 - FunctionDeclaration 2737571 2738366 - Identifier 2737587 2737613 - Parameter 2737614 2737633 - Identifier 2737614 2737618 - TypeReference 2737619 2737633 - Identifier 2737619 2737633 - Parameter 2737634 2737656 - Identifier 2737634 2737644 - ArrayType 2737645 2737656 - TypeReference 2737645 2737654 - Identifier 2737645 2737654 - Parameter 2737657 2737678 - Identifier 2737657 2737668 - ArrayType 2737669 2737678 - TypeReference 2737669 2737676 - Identifier 2737669 2737676 - Block 2737679 2738366 - IfStatement 2737681 2737759 - PrefixUnaryExpression 2737695 2737713 - CallExpression 2737696 2737713 - Identifier 2737696 2737702 - Identifier 2737703 2737712 - Block 2737714 2737759 - ReturnStatement 2737716 2737748 - Identifier 2737736 2737747 - VariableStatement 2737759 2737810 - VariableDeclarationList 2737759 2737809 - VariableDeclaration 2737774 2737809 - Identifier 2737774 2737779 - NewExpression 2737781 2737809 - Identifier 2737785 2737789 - TypeReference 2737790 2737798 - Identifier 2737790 2737798 - TypeReference 2737799 2737806 - Identifier 2737799 2737806 - ExpressionStatement 2737810 2737900 - CallExpression 2737810 2737899 - Identifier 2737810 2737827 - Identifier 2737828 2737838 - ArrowFunction 2737839 2737898 - Parameter 2737839 2737841 - Identifier 2737839 2737841 - EqualsGreaterThanToken 2737841 2737844 - Block 2737844 2737898 - ExpressionStatement 2737846 2737887 - CallExpression 2737846 2737886 - PropertyAccessExpression 2737846 2737868 - Identifier 2737846 2737864 - Identifier 2737865 2737868 - PropertyAccessExpression 2737869 2737882 - Identifier 2737869 2737870 - Identifier 2737871 2737882 - Identifier 2737883 2737885 - ForOfStatement 2737900 2738315 - VariableDeclarationList 2737917 2737927 - VariableDeclaration 2737922 2737927 - Identifier 2737922 2737927 - Identifier 2737930 2737940 - Block 2737941 2738315 - VariableStatement 2737943 2738042 - VariableDeclarationList 2737943 2738041 - VariableDeclaration 2737962 2738041 - Identifier 2737962 2737973 - CallExpression 2737975 2738041 - Identifier 2737975 2737995 - CallExpression 2737996 2738040 - Identifier 2737996 2738019 - Identifier 2738020 2738024 - PropertyAccessExpression 2738025 2738039 - Identifier 2738025 2738030 - Identifier 2738031 2738039 - ForOfStatement 2738042 2738304 - VariableDeclarationList 2738061 2738071 - VariableDeclaration 2738066 2738071 - Identifier 2738066 2738071 - Identifier 2738074 2738085 - Block 2738086 2738304 - VariableStatement 2738088 2738150 - VariableDeclarationList 2738088 2738149 - VariableDeclaration 2738111 2738149 - Identifier 2738111 2738120 - CallExpression 2738122 2738149 - PropertyAccessExpression 2738122 2738131 - Identifier 2738122 2738127 - Identifier 2738128 2738131 - PropertyAccessExpression 2738132 2738148 - Identifier 2738132 2738136 - Identifier 2738137 2738148 - IfStatement 2738150 2738289 - BinaryExpression 2738172 2738215 - Identifier 2738172 2738180 - AmpersandAmpersandToken 2738180 2738183 - BinaryExpression 2738183 2738215 - PropertyAccessExpression 2738183 2738195 - Identifier 2738183 2738188 - Identifier 2738189 2738195 - EqualsEqualsEqualsToken 2738195 2738199 - PropertyAccessExpression 2738199 2738215 - Identifier 2738199 2738208 - Identifier 2738209 2738215 - Block 2738216 2738289 - ExpressionStatement 2738218 2738270 - CallExpression 2738218 2738269 - PropertyAccessExpression 2738218 2738251 - Identifier 2738218 2738244 - Identifier 2738245 2738251 - PropertyAccessExpression 2738252 2738268 - Identifier 2738252 2738256 - Identifier 2738257 2738268 - ReturnStatement 2738315 2738359 - CallExpression 2738333 2738358 - Identifier 2738333 2738343 - CallExpression 2738344 2738357 - PropertyAccessExpression 2738344 2738355 - Identifier 2738344 2738348 - Identifier 2738349 2738355 - FunctionDeclaration 2738366 2740334 - Identifier 2738382 2738419 - Parameter 2738420 2738439 - Identifier 2738420 2738424 - TypeReference 2738425 2738439 - Identifier 2738425 2738439 - Parameter 2738440 2738455 - Identifier 2738440 2738449 - TypeReference 2738450 2738455 - Identifier 2738450 2738455 - BooleanKeyword 2738457 2738465 - Block 2738465 2740334 - VariableStatement 2738467 2738514 - VariableDeclarationList 2738467 2738513 - VariableDeclaration 2738482 2738513 - Identifier 2738482 2738492 - CallExpression 2738494 2738513 - Identifier 2738494 2738507 - Identifier 2738508 2738512 - IfStatement 2738514 2738588 - BinaryExpression 2738528 2738548 - PropertyAccessExpression 2738528 2738544 - Identifier 2738528 2738537 - Identifier 2738538 2738544 - LessThanToken 2738544 2738546 - NumericLiteral 2738546 2738548 - Block 2738549 2738588 - ReturnStatement 2738551 2738577 - TrueKeyword 2738571 2738576 - InterfaceDeclaration 2738588 2738703 - Identifier 2738609 2738628 - PropertySignature 2738630 2738657 - Identifier 2738630 2738648 - TypeReference 2738649 2738656 - Identifier 2738649 2738656 - PropertySignature 2738657 2738692 - Identifier 2738657 2738685 - TypeReference 2738686 2738691 - Identifier 2738686 2738691 - VariableStatement 2738703 2738766 - VariableDeclarationList 2738703 2738765 - VariableDeclaration 2738718 2738765 - Identifier 2738718 2738723 - NewExpression 2738725 2738765 - Identifier 2738729 2738733 - TypeReference 2738734 2738742 - Identifier 2738734 2738742 - TypeReference 2738743 2738762 - Identifier 2738743 2738762 - ExpressionStatement 2738766 2738925 - CallExpression 2738766 2738924 - Identifier 2738766 2738783 - PropertyAccessExpression 2738784 2738831 - CallExpression 2738784 2738812 - Identifier 2738784 2738806 - Identifier 2738807 2738811 - Identifier 2738813 2738831 - ArrowFunction 2738832 2738923 - Parameter 2738832 2738834 - Identifier 2738832 2738834 - EqualsGreaterThanToken 2738834 2738837 - Block 2738837 2738923 - ExpressionStatement 2738839 2738912 - CallExpression 2738839 2738911 - PropertyAccessExpression 2738839 2738861 - Identifier 2738839 2738857 - Identifier 2738858 2738861 - PropertyAccessExpression 2738862 2738875 - Identifier 2738862 2738863 - Identifier 2738864 2738875 - ObjectLiteralExpression 2738876 2738910 - PropertyAssignment 2738878 2738886 - Identifier 2738878 2738883 - Identifier 2738884 2738886 - PropertyAssignment 2738887 2738908 - Identifier 2738887 2738902 - Identifier 2738903 2738908 - VariableStatement 2738925 2738949 - VariableDeclarationList 2738925 2738948 - VariableDeclaration 2738938 2738948 - Identifier 2738938 2738941 - TrueKeyword 2738943 2738948 - ForOfStatement 2738949 2740305 - VariableDeclarationList 2738966 2738976 - VariableDeclaration 2738971 2738976 - Identifier 2738971 2738976 - Identifier 2738979 2738989 - Block 2738990 2740305 - VariableStatement 2738992 2739091 - VariableDeclarationList 2738992 2739090 - VariableDeclaration 2739011 2739090 - Identifier 2739011 2739022 - CallExpression 2739024 2739090 - Identifier 2739024 2739044 - CallExpression 2739045 2739089 - Identifier 2739045 2739068 - Identifier 2739069 2739073 - PropertyAccessExpression 2739074 2739088 - Identifier 2739074 2739079 - Identifier 2739080 2739088 - ForOfStatement 2739091 2740294 - VariableDeclarationList 2739110 2739120 - VariableDeclaration 2739115 2739120 - Identifier 2739115 2739120 - Identifier 2739123 2739134 - Block 2739135 2740294 - VariableStatement 2739137 2739199 - VariableDeclarationList 2739137 2739198 - VariableDeclaration 2739160 2739198 - Identifier 2739160 2739169 - CallExpression 2739171 2739198 - PropertyAccessExpression 2739171 2739180 - Identifier 2739171 2739176 - Identifier 2739177 2739180 - PropertyAccessExpression 2739181 2739197 - Identifier 2739181 2739185 - Identifier 2739186 2739197 - IfStatement 2739199 2740279 - PrefixUnaryExpression 2739221 2739230 - Identifier 2739222 2739230 - Block 2739231 2739333 - ExpressionStatement 2739233 2739314 - CallExpression 2739233 2739313 - PropertyAccessExpression 2739233 2739263 - Identifier 2739233 2739259 - Identifier 2739260 2739263 - PropertyAccessExpression 2739264 2739280 - Identifier 2739264 2739268 - Identifier 2739269 2739280 - ObjectLiteralExpression 2739281 2739312 - ShorthandPropertyAssignment 2739283 2739288 - Identifier 2739283 2739288 - PropertyAssignment 2739289 2739310 - Identifier 2739289 2739304 - Identifier 2739305 2739310 - Block 2739355 2740279 - VariableStatement 2739357 2739440 - VariableDeclarationList 2739357 2739439 - VariableDeclaration 2739384 2739439 - Identifier 2739384 2739404 - BinaryExpression 2739406 2739439 - PropertyAccessExpression 2739406 2739430 - Identifier 2739406 2739415 - Identifier 2739416 2739430 - ExclamationEqualsEqualsToken 2739430 2739434 - Identifier 2739434 2739439 - IfStatement 2739440 2740260 - BinaryExpression 2739466 2739532 - Identifier 2739466 2739485 - AmpersandAmpersandToken 2739485 2739488 - PrefixUnaryExpression 2739488 2739532 - CallExpression 2739490 2739532 - Identifier 2739490 2739511 - PropertyAccessExpression 2739512 2739525 - Identifier 2739512 2739520 - Identifier 2739521 2739525 - Identifier 2739526 2739531 - Block 2739533 2740260 - ExpressionStatement 2739535 2739572 - BinaryExpression 2739535 2739571 - Identifier 2739535 2739563 - EqualsToken 2739563 2739565 - FalseKeyword 2739565 2739571 - VariableStatement 2739572 2739656 - VariableDeclarationList 2739572 2739655 - VariableDeclaration 2739605 2739655 - Identifier 2739605 2739615 - CallExpression 2739617 2739655 - Identifier 2739617 2739630 - PropertyAccessExpression 2739631 2739654 - Identifier 2739631 2739639 - Identifier 2739640 2739654 - VariableStatement 2739656 2739719 - VariableDeclarationList 2739656 2739718 - VariableDeclaration 2739687 2739718 - Identifier 2739687 2739697 - CallExpression 2739699 2739718 - Identifier 2739699 2739712 - Identifier 2739713 2739717 - VariableStatement 2739719 2739919 - VariableDeclarationList 2739719 2739918 - VariableDeclaration 2739750 2739918 - Identifier 2739750 2739760 - CallExpression 2739762 2739918 - Identifier 2739762 2739786 - Identifier 2739787 2739808 - PropertyAccessExpression 2739809 2739873 - Identifier 2739809 2739821 - Identifier 2739822 2739873 - CallExpression 2739874 2739895 - Identifier 2739874 2739889 - Identifier 2739890 2739894 - Identifier 2739896 2739906 - Identifier 2739907 2739917 - ExpressionStatement 2739919 2740102 - BinaryExpression 2739919 2740101 - Identifier 2739919 2739954 - EqualsToken 2739954 2739956 - CallExpression 2739956 2740101 - Identifier 2739956 2739980 - Identifier 2739981 2739990 - PropertyAccessExpression 2739991 2740058 - Identifier 2739991 2740003 - Identifier 2740004 2740058 - CallExpression 2740059 2740078 - Identifier 2740059 2740072 - Identifier 2740073 2740077 - Identifier 2740079 2740089 - Identifier 2740090 2740100 - ExpressionStatement 2740102 2740237 - CallExpression 2740102 2740236 - PropertyAccessExpression 2740102 2740143 - Identifier 2740102 2740139 - Identifier 2740140 2740143 - CallExpression 2740144 2740235 - Identifier 2740144 2740183 - CallExpression 2740184 2740213 - Identifier 2740184 2740203 - Identifier 2740204 2740212 - Identifier 2740214 2740223 - Identifier 2740224 2740234 - ReturnStatement 2740305 2740327 - Identifier 2740323 2740326 - FunctionDeclaration 2740334 2741609 - Identifier 2740350 2740378 - Parameter 2740379 2740405 - Identifier 2740379 2740383 - TypeReference 2740384 2740405 - Identifier 2740384 2740405 - Block 2740406 2741609 - IfStatement 2740408 2740541 - BinaryExpression 2740422 2740506 - BinaryExpression 2740422 2740472 - PrefixUnaryExpression 2740422 2740439 - Identifier 2740423 2740439 - BarBarToken 2740439 2740442 - PrefixUnaryExpression 2740442 2740472 - Identifier 2740444 2740472 - BarBarToken 2740472 2740475 - BinaryExpression 2740475 2740506 - PropertyAccessExpression 2740475 2740486 - Identifier 2740475 2740480 - Identifier 2740481 2740486 - AmpersandToken 2740486 2740488 - PropertyAccessExpression 2740488 2740506 - Identifier 2740488 2740498 - Identifier 2740499 2740506 - Block 2740507 2740541 - ReturnStatement 2740509 2740530 - VariableStatement 2740541 2740604 - VariableDeclarationList 2740541 2740603 - VariableDeclaration 2740556 2740603 - Identifier 2740556 2740568 - CallExpression 2740570 2740603 - Identifier 2740570 2740597 - Identifier 2740598 2740602 - ForOfStatement 2740604 2741602 - VariableDeclarationList 2740619 2740631 - VariableDeclaration 2740624 2740631 - Identifier 2740624 2740631 - PropertyAccessExpression 2740634 2740647 - Identifier 2740634 2740639 - Identifier 2740640 2740647 - Block 2740648 2741602 - IfStatement 2740650 2740770 - BinaryExpression 2740668 2740725 - CallExpression 2740668 2740701 - Identifier 2740668 2740693 - Identifier 2740694 2740700 - AmpersandToken 2740701 2740703 - PropertyAccessExpression 2740703 2740725 - Identifier 2740703 2740717 - Identifier 2740718 2740725 - Block 2740726 2740770 - ContinueStatement 2740728 2740755 - IfStatement 2740770 2741591 - BinaryExpression 2740788 2740845 - PrefixUnaryExpression 2740788 2740805 - CallExpression 2740789 2740805 - Identifier 2740789 2740797 - Identifier 2740798 2740804 - AmpersandAmpersandToken 2740805 2740808 - CallExpression 2740808 2740845 - Identifier 2740808 2740837 - Identifier 2740838 2740844 - Block 2740846 2741591 - VariableStatement 2740848 2740920 - VariableDeclarationList 2740848 2740919 - VariableDeclaration 2740871 2740919 - Identifier 2740871 2740880 - PropertyAccessExpression 2740882 2740919 - ParenthesizedExpression 2740882 2740914 - AsExpression 2740884 2740913 - Identifier 2740884 2740890 - TypeReference 2740893 2740913 - Identifier 2740893 2740913 - Identifier 2740915 2740919 - IfStatement 2740920 2741576 - BinaryExpression 2740942 2741033 - BinaryExpression 2740942 2740997 - CallExpression 2740942 2740964 - Identifier 2740942 2740954 - Identifier 2740955 2740963 - BarBarToken 2740964 2740967 - CallExpression 2740967 2740997 - Identifier 2740967 2740987 - Identifier 2740988 2740996 - BarBarToken 2740997 2741000 - CallExpression 2741000 2741033 - Identifier 2741000 2741023 - Identifier 2741024 2741032 - Block 2741034 2741576 - VariableStatement 2741036 2741119 - VariableDeclarationList 2741036 2741118 - VariableDeclaration 2741063 2741118 - Identifier 2741063 2741068 - CallExpression 2741070 2741118 - Identifier 2741070 2741086 - CallExpression 2741087 2741117 - Identifier 2741087 2741109 - Identifier 2741110 2741116 - IfStatement 2741119 2741557 - PrefixUnaryExpression 2741145 2741214 - ParenthesizedExpression 2741146 2741214 - BinaryExpression 2741147 2741213 - BinaryExpression 2741147 2741182 - PropertyAccessExpression 2741147 2741157 - Identifier 2741147 2741151 - Identifier 2741152 2741157 - AmpersandToken 2741157 2741159 - PropertyAccessExpression 2741159 2741182 - Identifier 2741159 2741169 - Identifier 2741170 2741182 - BarBarToken 2741182 2741185 - CallExpression 2741185 2741213 - Identifier 2741185 2741207 - Identifier 2741208 2741212 - Block 2741215 2741557 - IfStatement 2741217 2741534 - BinaryExpression 2741247 2741327 - PrefixUnaryExpression 2741247 2741259 - Identifier 2741248 2741259 - BarBarToken 2741259 2741262 - PrefixUnaryExpression 2741262 2741327 - CallExpression 2741264 2741327 - Identifier 2741264 2741298 - Identifier 2741299 2741307 - Identifier 2741308 2741313 - Identifier 2741314 2741326 - Block 2741328 2741534 - ExpressionStatement 2741330 2741507 - CallExpression 2741330 2741506 - Identifier 2741330 2741365 - PropertyAccessExpression 2741366 2741377 - Identifier 2741366 2741372 - Identifier 2741373 2741377 - PropertyAccessExpression 2741378 2741470 - Identifier 2741378 2741390 - Identifier 2741391 2741470 - CallExpression 2741471 2741505 - Identifier 2741471 2741495 - Identifier 2741496 2741504 - FunctionDeclaration 2741609 2741903 - Identifier 2741625 2741654 - Parameter 2741655 2741665 - Identifier 2741655 2741659 - TypeReference 2741660 2741665 - Identifier 2741660 2741665 - Block 2741666 2741903 - ReturnStatement 2741668 2741896 - BinaryExpression 2741684 2741895 - BinaryExpression 2741684 2741836 - BinaryExpression 2741684 2741772 - BinaryExpression 2741684 2741729 - PropertyAccessExpression 2741684 2741694 - Identifier 2741684 2741689 - Identifier 2741690 2741694 - EqualsEqualsEqualsToken 2741694 2741698 - PropertyAccessExpression 2741698 2741729 - Identifier 2741698 2741709 - Identifier 2741710 2741729 - AmpersandAmpersandToken 2741729 2741732 - PrefixUnaryExpression 2741732 2741772 - CallExpression 2741747 2741772 - Identifier 2741747 2741766 - Identifier 2741767 2741771 - AmpersandAmpersandToken 2741772 2741775 - PrefixUnaryExpression 2741775 2741836 - PropertyAccessExpression 2741790 2741836 - ParenthesizedExpression 2741790 2741819 - AsExpression 2741791 2741818 - Identifier 2741791 2741795 - TypeReference 2741798 2741818 - Identifier 2741798 2741818 - Identifier 2741820 2741836 - AmpersandAmpersandToken 2741836 2741839 - PrefixUnaryExpression 2741839 2741895 - PropertyAccessExpression 2741854 2741895 - ParenthesizedExpression 2741854 2741883 - AsExpression 2741855 2741882 - Identifier 2741855 2741859 - TypeReference 2741862 2741882 - Identifier 2741862 2741882 - Identifier 2741884 2741895 - FunctionDeclaration 2741903 2742914 - Identifier 2741919 2741955 - Parameter 2741956 2741996 - Identifier 2741956 2741964 - UnionType 2741965 2741996 - TypeReference 2741965 2741976 - Identifier 2741965 2741976 - TypeReference 2741978 2741996 - Identifier 2741978 2741996 - Parameter 2741997 2742012 - Identifier 2741997 2742006 - TypeReference 2742007 2742012 - Identifier 2742007 2742012 - Parameter 2742013 2742066 - Identifier 2742013 2742026 - TypeOperator 2742027 2742066 - ArrayType 2742036 2742066 - TypeReference 2742036 2742064 - Identifier 2742036 2742064 - Parameter 2742067 2742084 - Identifier 2742067 2742076 - NumberKeyword 2742077 2742084 - Parameter 2742085 2742100 - Identifier 2742085 2742092 - NumberKeyword 2742093 2742100 - Block 2742101 2742914 - ForOfStatement 2742103 2742884 - VariableDeclarationList 2742118 2742135 - VariableDeclaration 2742123 2742135 - Identifier 2742123 2742135 - Identifier 2742138 2742151 - Block 2742152 2742884 - IfStatement 2742154 2742873 - BinaryExpression 2742297 2742353 - BinaryExpression 2742297 2742324 - PropertyAccessExpression 2742297 2742312 - Identifier 2742297 2742308 - Identifier 2742309 2742312 - GreaterThanEqualsToken 2742312 2742315 - Identifier 2742315 2742324 - AmpersandAmpersandToken 2742324 2742327 - BinaryExpression 2742327 2742353 - PropertyAccessExpression 2742327 2742343 - Identifier 2742327 2742339 - Identifier 2742340 2742343 - LessThanEqualsToken 2742343 2742346 - Identifier 2742346 2742353 - Block 2742354 2742873 - VariableStatement 2742356 2742463 - VariableDeclarationList 2742356 2742462 - VariableDeclaration 2742379 2742462 - Identifier 2742379 2742389 - CallExpression 2742391 2742462 - PropertyAccessExpression 2742391 2742430 - Identifier 2742391 2742399 - Identifier 2742400 2742430 - CallExpression 2742431 2742451 - PropertyAccessExpression 2742431 2742449 - Identifier 2742431 2742438 - Identifier 2742439 2742449 - Identifier 2742452 2742461 - ExpressionStatement 2742463 2742524 - CallExpression 2742463 2742523 - Identifier 2742463 2742490 - PropertyAccessExpression 2742491 2742511 - Identifier 2742491 2742500 - Identifier 2742501 2742511 - Identifier 2742512 2742522 - ExpressionStatement 2742524 2742576 - CallExpression 2742524 2742575 - Identifier 2742524 2742551 - Identifier 2742552 2742561 - Identifier 2742562 2742574 - ExpressionStatement 2742576 2742642 - BinaryExpression 2742576 2742641 - PropertyAccessExpression 2742576 2742612 - Identifier 2742576 2742603 - Identifier 2742604 2742612 - EqualsToken 2742612 2742614 - PropertyAccessExpression 2742614 2742641 - Identifier 2742614 2742626 - Identifier 2742627 2742641 - VariableStatement 2742642 2742748 - VariableDeclarationList 2742642 2742747 - VariableDeclaration 2742665 2742747 - Identifier 2742665 2742674 - CallExpression 2742676 2742747 - Identifier 2742676 2742699 - Identifier 2742700 2742709 - Identifier 2742710 2742719 - CallExpression 2742720 2742746 - Identifier 2742720 2742736 - Identifier 2742737 2742745 - IfStatement 2742748 2742858 - PrefixUnaryExpression 2742770 2742802 - CallExpression 2742771 2742802 - Identifier 2742771 2742792 - Identifier 2742793 2742801 - Block 2742803 2742858 - ReturnStatement 2742805 2742839 - TrueKeyword 2742833 2742838 - ReturnStatement 2742884 2742907 - FalseKeyword 2742900 2742906 - FunctionDeclaration 2742914 2743638 - Identifier 2742930 2742965 - Parameter 2742966 2743029 - Identifier 2742966 2742974 - UnionType 2742975 2743029 - TypeReference 2742975 2742986 - Identifier 2742975 2742986 - TypeReference 2742988 2743006 - Identifier 2742988 2743006 - TypeReference 2743008 2743029 - Identifier 2743008 2743029 - Parameter 2743030 2743045 - Identifier 2743030 2743039 - TypeReference 2743040 2743045 - Identifier 2743040 2743045 - Parameter 2743046 2743082 - Identifier 2743046 2743058 - TypeReference 2743059 2743082 - Identifier 2743059 2743082 - Block 2743083 2743638 - VariableStatement 2743085 2743328 - VariableDeclarationList 2743085 2743327 - VariableDeclaration 2743100 2743327 - Identifier 2743100 2743110 - ConditionalExpression 2743112 2743327 - CallExpression 2743112 2743145 - Identifier 2743112 2743135 - Identifier 2743136 2743144 - QuestionToken 2743145 2743160 - CallExpression 2743160 2743241 - PropertyAccessExpression 2743160 2743198 - Identifier 2743160 2743168 - Identifier 2743169 2743198 - CallExpression 2743199 2743219 - PropertyAccessExpression 2743199 2743217 - Identifier 2743199 2743206 - Identifier 2743207 2743217 - PropertyAccessExpression 2743220 2743240 - Identifier 2743220 2743229 - Identifier 2743230 2743240 - ColonToken 2743241 2743256 - CallExpression 2743256 2743327 - PropertyAccessExpression 2743256 2743295 - Identifier 2743256 2743264 - Identifier 2743265 2743295 - CallExpression 2743296 2743316 - PropertyAccessExpression 2743296 2743314 - Identifier 2743296 2743303 - Identifier 2743304 2743314 - Identifier 2743317 2743326 - ExpressionStatement 2743328 2743381 - CallExpression 2743328 2743380 - Identifier 2743328 2743347 - PropertyAccessExpression 2743348 2743368 - Identifier 2743348 2743357 - Identifier 2743358 2743368 - Identifier 2743369 2743379 - ExpressionStatement 2743381 2743425 - CallExpression 2743381 2743424 - Identifier 2743381 2743400 - Identifier 2743401 2743410 - Identifier 2743411 2743423 - ExpressionStatement 2743425 2743483 - BinaryExpression 2743425 2743482 - PropertyAccessExpression 2743425 2743453 - Identifier 2743425 2743444 - Identifier 2743445 2743453 - EqualsToken 2743453 2743455 - PropertyAccessExpression 2743455 2743482 - Identifier 2743455 2743467 - Identifier 2743468 2743482 - VariableStatement 2743483 2743581 - VariableDeclarationList 2743483 2743580 - VariableDeclaration 2743498 2743580 - Identifier 2743498 2743507 - CallExpression 2743509 2743580 - Identifier 2743509 2743532 - Identifier 2743533 2743542 - Identifier 2743543 2743552 - CallExpression 2743553 2743579 - Identifier 2743553 2743569 - Identifier 2743570 2743578 - ReturnStatement 2743581 2743631 - PrefixUnaryExpression 2743597 2743630 - CallExpression 2743599 2743630 - Identifier 2743599 2743620 - Identifier 2743621 2743629 - FunctionDeclaration 2743638 2745949 - Identifier 2743654 2743680 - Parameter 2743681 2743707 - Identifier 2743681 2743685 - TypeReference 2743686 2743707 - Identifier 2743686 2743707 - Block 2743708 2745949 - IfStatement 2743710 2743822 - PrefixUnaryExpression 2743753 2743781 - CallExpression 2743754 2743781 - Identifier 2743754 2743775 - Identifier 2743776 2743780 - ExpressionStatement 2743782 2743822 - CallExpression 2743782 2743821 - Identifier 2743782 2743815 - Identifier 2743816 2743820 - IfStatement 2743822 2744003 - PrefixUnaryExpression 2743836 2743872 - CallExpression 2743837 2743872 - Identifier 2743837 2743859 - PropertyAccessExpression 2743860 2743871 - Identifier 2743860 2743864 - Identifier 2743865 2743871 - Block 2743873 2744003 - ExpressionStatement 2743875 2743992 - CallExpression 2743875 2743991 - Identifier 2743875 2743907 - Identifier 2743908 2743912 - PropertyAccessExpression 2743913 2743977 - Identifier 2743913 2743925 - Identifier 2743926 2743977 - StringLiteral 2743978 2743990 - ExpressionStatement 2744003 2744056 - CallExpression 2744003 2744055 - Identifier 2744003 2744034 - PropertyAccessExpression 2744035 2744054 - Identifier 2744035 2744039 - Identifier 2744040 2744054 - ExpressionStatement 2744056 2745298 - CallExpression 2744056 2745297 - Identifier 2744056 2744083 - ArrowFunction 2744084 2745296 - EqualsGreaterThanToken 2744086 2744089 - Block 2744089 2745296 - ExpressionStatement 2744091 2744180 - CallExpression 2744091 2744179 - Identifier 2744091 2744128 - PropertyAccessExpression 2744129 2744138 - Identifier 2744129 2744133 - Identifier 2744134 2744138 - PropertyAccessExpression 2744139 2744178 - Identifier 2744139 2744151 - Identifier 2744152 2744178 - ExpressionStatement 2744180 2744235 - CallExpression 2744180 2744234 - Identifier 2744180 2744228 - Identifier 2744229 2744233 - VariableStatement 2744235 2744293 - VariableDeclarationList 2744235 2744292 - VariableDeclaration 2744254 2744292 - Identifier 2744254 2744261 - CallExpression 2744263 2744292 - Identifier 2744263 2744286 - Identifier 2744287 2744291 - ExpressionStatement 2744293 2744348 - CallExpression 2744293 2744347 - Identifier 2744293 2744339 - Identifier 2744340 2744346 - VariableStatement 2744348 2744519 - VariableDeclarationList 2744348 2744518 - VariableDeclaration 2744413 2744518 - Identifier 2744413 2744432 - CallExpression 2744434 2744518 - Identifier 2744434 2744455 - TypeReference 2744456 2744476 - Identifier 2744456 2744476 - Identifier 2744478 2744484 - PropertyAccessExpression 2744485 2744517 - Identifier 2744485 2744496 - Identifier 2744497 2744517 - IfStatement 2744519 2745225 - BinaryExpression 2744537 2744564 - Identifier 2744537 2744541 - EqualsEqualsEqualsToken 2744541 2744545 - Identifier 2744545 2744564 - Block 2744565 2745225 - VariableStatement 2744567 2744647 - VariableDeclarationList 2744567 2744646 - VariableDeclaration 2744590 2744646 - Identifier 2744590 2744595 - AsExpression 2744597 2744646 - CallExpression 2744597 2744629 - Identifier 2744597 2744621 - Identifier 2744622 2744628 - TypeReference 2744632 2744646 - Identifier 2744632 2744646 - VariableStatement 2744647 2744716 - VariableDeclarationList 2744647 2744715 - VariableDeclaration 2744670 2744715 - Identifier 2744670 2744683 - CallExpression 2744685 2744715 - Identifier 2744685 2744709 - Identifier 2744710 2744714 - IfStatement 2744716 2745210 - CallExpression 2744808 2744861 - Identifier 2744808 2744844 - Identifier 2744845 2744849 - PropertyAccessExpression 2744850 2744860 - Identifier 2744850 2744855 - Identifier 2744856 2744860 - Block 2744862 2745210 - ForOfStatement 2744864 2745133 - VariableDeclarationList 2744891 2744905 - VariableDeclaration 2744896 2744905 - Identifier 2744896 2744905 - CallExpression 2744908 2744927 - Identifier 2744908 2744921 - Identifier 2744922 2744926 - Block 2744928 2745133 - ExpressionStatement 2744930 2745110 - CallExpression 2744930 2745109 - Identifier 2744930 2744977 - Identifier 2744978 2744990 - CallExpression 2744991 2745040 - Identifier 2744991 2745015 - Identifier 2745016 2745024 - PropertyAccessExpression 2745025 2745039 - Identifier 2745025 2745030 - Identifier 2745031 2745039 - PropertyAccessExpression 2745041 2745051 - Identifier 2745041 2745046 - Identifier 2745047 2745051 - PropertyAccessExpression 2745052 2745108 - Identifier 2745052 2745064 - Identifier 2745065 2745108 - ExpressionStatement 2745133 2745191 - CallExpression 2745133 2745190 - Identifier 2745133 2745176 - Identifier 2745177 2745181 - Identifier 2745182 2745189 - ExpressionStatement 2745225 2745285 - CallExpression 2745225 2745284 - Identifier 2745225 2745278 - Identifier 2745279 2745283 - ExpressionStatement 2745298 2745727 - CallExpression 2745298 2745726 - Identifier 2745298 2745315 - CallExpression 2745316 2745347 - Identifier 2745316 2745341 - Identifier 2745342 2745346 - ArrowFunction 2745348 2745725 - Parameter 2745348 2745364 - Identifier 2745348 2745364 - EqualsGreaterThanToken 2745364 2745367 - Block 2745367 2745725 - IfStatement 2745369 2745660 - BinaryExpression 2745387 2745485 - PrefixUnaryExpression 2745387 2745438 - CallExpression 2745388 2745438 - Identifier 2745388 2745410 - PropertyAccessExpression 2745411 2745437 - Identifier 2745411 2745426 - Identifier 2745427 2745437 - BarBarToken 2745438 2745441 - CallExpression 2745441 2745485 - Identifier 2745441 2745457 - PropertyAccessExpression 2745458 2745484 - Identifier 2745458 2745473 - Identifier 2745474 2745484 - Block 2745486 2745660 - ExpressionStatement 2745488 2745645 - CallExpression 2745488 2745644 - Identifier 2745488 2745511 - PropertyAccessExpression 2745512 2745538 - Identifier 2745512 2745527 - Identifier 2745528 2745538 - PropertyAccessExpression 2745539 2745643 - Identifier 2745539 2745551 - Identifier 2745552 2745643 - ExpressionStatement 2745660 2745714 - CallExpression 2745660 2745713 - Identifier 2745660 2745696 - Identifier 2745697 2745712 - ExpressionStatement 2745727 2745781 - CallExpression 2745727 2745780 - Identifier 2745727 2745746 - PropertyAccessExpression 2745747 2745759 - Identifier 2745747 2745751 - Identifier 2745752 2745759 - Identifier 2745760 2745779 - ExpressionStatement 2745781 2745942 - CallExpression 2745781 2745941 - Identifier 2745781 2745810 - ArrowFunction 2745811 2745940 - EqualsGreaterThanToken 2745813 2745816 - Block 2745816 2745940 - ExpressionStatement 2745818 2745875 - CallExpression 2745818 2745874 - Identifier 2745818 2745868 - Identifier 2745869 2745873 - ExpressionStatement 2745875 2745929 - CallExpression 2745875 2745928 - Identifier 2745875 2745922 - Identifier 2745923 2745927 - FunctionDeclaration 2745949 2747107 - Identifier 2745965 2745991 - Parameter 2745992 2746018 - Identifier 2745992 2745996 - TypeReference 2745997 2746018 - Identifier 2745997 2746018 - Block 2746019 2747107 - ExpressionStatement 2746021 2746088 - CallExpression 2746021 2746087 - Identifier 2746021 2746081 - Identifier 2746082 2746086 - ExpressionStatement 2746088 2746174 - CallExpression 2746088 2746173 - Identifier 2746088 2746121 - PropertyAccessExpression 2746122 2746131 - Identifier 2746122 2746126 - Identifier 2746127 2746131 - PropertyAccessExpression 2746132 2746172 - Identifier 2746132 2746144 - Identifier 2746145 2746172 - IfStatement 2746174 2746350 - PrefixUnaryExpression 2746188 2746224 - CallExpression 2746189 2746224 - Identifier 2746189 2746211 - PropertyAccessExpression 2746212 2746223 - Identifier 2746212 2746216 - Identifier 2746217 2746223 - Block 2746225 2746350 - ExpressionStatement 2746227 2746339 - CallExpression 2746227 2746338 - Identifier 2746227 2746259 - Identifier 2746260 2746264 - PropertyAccessExpression 2746265 2746329 - Identifier 2746265 2746277 - Identifier 2746278 2746329 - StringLiteral 2746330 2746337 - ExpressionStatement 2746350 2746399 - CallExpression 2746350 2746398 - Identifier 2746350 2746392 - Identifier 2746393 2746397 - ExpressionStatement 2746399 2746450 - CallExpression 2746399 2746449 - Identifier 2746399 2746428 - PropertyAccessExpression 2746429 2746448 - Identifier 2746429 2746433 - Identifier 2746434 2746448 - IfStatement 2746450 2747100 - BinaryExpression 2746464 2746510 - PropertyAccessExpression 2746464 2746478 - PropertyAccessExpression 2746464 2746473 - Identifier 2746464 2746468 - Identifier 2746469 2746473 - Identifier 2746474 2746478 - EqualsEqualsEqualsToken 2746478 2746482 - PropertyAccessExpression 2746482 2746510 - Identifier 2746482 2746493 - Identifier 2746494 2746510 - Block 2746511 2746975 - VariableStatement 2746513 2746582 - VariableDeclarationList 2746513 2746581 - VariableDeclaration 2746532 2746581 - Identifier 2746532 2746551 - CallExpression 2746553 2746581 - Identifier 2746553 2746560 - PropertyAccessExpression 2746561 2746580 - Identifier 2746561 2746565 - Identifier 2746566 2746580 - VariableStatement 2746582 2746790 - VariableDeclarationList 2746582 2746789 - VariableDeclaration 2746601 2746789 - Identifier 2746601 2746607 - ConditionalExpression 2746609 2746789 - BinaryExpression 2746609 2746634 - Identifier 2746609 2746628 - EqualsEqualsEqualsToken 2746628 2746632 - NumericLiteral 2746632 2746634 - QuestionToken 2746634 2746636 - BinaryExpression 2746636 2746686 - PropertyAccessExpression 2746636 2746658 - PropertyAccessExpression 2746636 2746646 - Identifier 2746636 2746641 - Identifier 2746642 2746646 - Identifier 2746647 2746658 - EqualsEqualsEqualsToken 2746658 2746662 - StringLiteral 2746662 2746686 - ColonToken 2746686 2746688 - BinaryExpression 2746688 2746789 - BinaryExpression 2746688 2746730 - Identifier 2746688 2746724 - EqualsEqualsEqualsToken 2746724 2746728 - NumericLiteral 2746728 2746730 - AmpersandAmpersandToken 2746730 2746733 - CallExpression 2746733 2746789 - PropertyAccessExpression 2746733 2746756 - Identifier 2746733 2746752 - Identifier 2746753 2746756 - AsExpression 2746757 2746788 - PropertyAccessExpression 2746757 2746778 - PropertyAccessExpression 2746757 2746766 - Identifier 2746757 2746761 - Identifier 2746762 2746766 - Identifier 2746767 2746778 - StringKeyword 2746781 2746788 - IfStatement 2746790 2746964 - PrefixUnaryExpression 2746808 2746814 - Identifier 2746809 2746814 - Block 2746815 2746964 - ExpressionStatement 2746817 2746949 - CallExpression 2746817 2746948 - Identifier 2746817 2746840 - PropertyAccessExpression 2746841 2746850 - Identifier 2746841 2746845 - Identifier 2746846 2746850 - PropertyAccessExpression 2746851 2746947 - Identifier 2746851 2746863 - Identifier 2746864 2746947 - Block 2746989 2747100 - ExpressionStatement 2746991 2747035 - CallExpression 2746991 2747034 - Identifier 2746991 2747023 - PropertyAccessExpression 2747024 2747033 - Identifier 2747024 2747028 - Identifier 2747029 2747033 - ExpressionStatement 2747035 2747089 - CallExpression 2747035 2747088 - Identifier 2747035 2747082 - Identifier 2747083 2747087 - FunctionDeclaration 2747107 2747822 - Identifier 2747123 2747147 - Parameter 2747148 2747169 - Identifier 2747148 2747152 - TypeReference 2747153 2747169 - Identifier 2747153 2747169 - Block 2747170 2747822 - VariableStatement 2747172 2747219 - VariableDeclarationList 2747172 2747218 - VariableDeclaration 2747187 2747218 - Identifier 2747187 2747197 - CallExpression 2747199 2747218 - Identifier 2747199 2747212 - Identifier 2747213 2747217 - IfStatement 2747219 2747815 - PrefixUnaryExpression 2747233 2747287 - ParenthesizedExpression 2747234 2747287 - BinaryExpression 2747235 2747286 - PropertyAccessExpression 2747235 2747250 - Identifier 2747235 2747244 - Identifier 2747245 2747250 - AmpersandToken 2747250 2747252 - PropertyAccessExpression 2747252 2747286 - Identifier 2747252 2747267 - Identifier 2747268 2747286 - Block 2747288 2747815 - ExpressionStatement 2747290 2747357 - BinaryExpression 2747290 2747356 - PropertyAccessExpression 2747290 2747319 - Identifier 2747290 2747313 - Identifier 2747314 2747319 - BarEqualsToken 2747319 2747322 - PropertyAccessExpression 2747322 2747356 - Identifier 2747322 2747337 - Identifier 2747338 2747356 - VariableStatement 2747357 2747409 - VariableDeclarationList 2747357 2747408 - VariableDeclaration 2747374 2747408 - Identifier 2747374 2747384 - UnionType 2747385 2747404 - NumberKeyword 2747385 2747392 - UndefinedKeyword 2747394 2747404 - NumericLiteral 2747406 2747408 - VariableStatement 2747409 2747460 - VariableDeclarationList 2747409 2747459 - VariableDeclaration 2747426 2747459 - Identifier 2747426 2747435 - UnionType 2747436 2747459 - TypeReference 2747436 2747447 - Identifier 2747436 2747447 - UndefinedKeyword 2747449 2747459 - ForOfStatement 2747460 2747804 - VariableDeclarationList 2747479 2747491 - VariableDeclaration 2747484 2747491 - Identifier 2747484 2747491 - PropertyAccessExpression 2747494 2747507 - Identifier 2747494 2747499 - Identifier 2747500 2747507 - Block 2747508 2747804 - VariableStatement 2747510 2747595 - VariableDeclarationList 2747510 2747594 - VariableDeclaration 2747533 2747594 - Identifier 2747533 2747540 - CallExpression 2747542 2747594 - Identifier 2747542 2747565 - Identifier 2747566 2747572 - Identifier 2747573 2747583 - Identifier 2747584 2747593 - ExpressionStatement 2747595 2747659 - BinaryExpression 2747595 2747658 - PropertyAccessExpression 2747595 2747649 - CallExpression 2747595 2747633 - Identifier 2747595 2747625 - Identifier 2747626 2747632 - Identifier 2747634 2747649 - EqualsToken 2747649 2747651 - Identifier 2747651 2747658 - ExpressionStatement 2747659 2747753 - BinaryExpression 2747659 2747752 - Identifier 2747659 2747686 - EqualsToken 2747686 2747688 - ConditionalExpression 2747688 2747752 - BinaryExpression 2747688 2747721 - TypeOfExpression 2747688 2747708 - PropertyAccessExpression 2747695 2747708 - Identifier 2747695 2747702 - Identifier 2747703 2747708 - EqualsEqualsEqualsToken 2747708 2747712 - StringLiteral 2747712 2747721 - QuestionToken 2747721 2747723 - BinaryExpression 2747723 2747740 - PropertyAccessExpression 2747723 2747736 - Identifier 2747723 2747730 - Identifier 2747731 2747736 - PlusToken 2747736 2747738 - NumericLiteral 2747738 2747740 - ColonToken 2747740 2747742 - Identifier 2747742 2747752 - ExpressionStatement 2747753 2747789 - BinaryExpression 2747753 2747788 - Identifier 2747753 2747779 - EqualsToken 2747779 2747781 - Identifier 2747781 2747788 - FunctionDeclaration 2747822 2749966 - Identifier 2747838 2747861 - Parameter 2747862 2747880 - Identifier 2747862 2747868 - TypeReference 2747869 2747880 - Identifier 2747869 2747880 - Parameter 2747881 2747911 - Identifier 2747881 2747891 - UnionType 2747892 2747911 - NumberKeyword 2747892 2747899 - UndefinedKeyword 2747901 2747911 - Parameter 2747912 2747945 - Identifier 2747912 2747921 - UnionType 2747922 2747945 - TypeReference 2747922 2747933 - Identifier 2747922 2747933 - UndefinedKeyword 2747935 2747945 - TypeReference 2747947 2747963 - Identifier 2747947 2747963 - Block 2747963 2749966 - IfStatement 2747965 2748400 - CallExpression 2747979 2748016 - Identifier 2747979 2748003 - PropertyAccessExpression 2748004 2748015 - Identifier 2748004 2748010 - Identifier 2748011 2748015 - Block 2748017 2748125 - ExpressionStatement 2748019 2748114 - CallExpression 2748019 2748113 - Identifier 2748019 2748038 - PropertyAccessExpression 2748039 2748050 - Identifier 2748039 2748045 - Identifier 2748046 2748050 - PropertyAccessExpression 2748051 2748112 - Identifier 2748051 2748063 - Identifier 2748064 2748112 - Block 2748139 2748400 - VariableStatement 2748141 2748203 - VariableDeclarationList 2748141 2748202 - VariableDeclaration 2748160 2748202 - Identifier 2748160 2748165 - CallExpression 2748167 2748202 - Identifier 2748167 2748189 - PropertyAccessExpression 2748190 2748201 - Identifier 2748190 2748196 - Identifier 2748197 2748201 - IfStatement 2748203 2748389 - BinaryExpression 2748221 2748279 - CallExpression 2748221 2748247 - Identifier 2748221 2748241 - Identifier 2748242 2748246 - AmpersandAmpersandToken 2748247 2748250 - PrefixUnaryExpression 2748250 2748279 - CallExpression 2748252 2748279 - Identifier 2748252 2748273 - Identifier 2748274 2748278 - Block 2748280 2748389 - ExpressionStatement 2748282 2748374 - CallExpression 2748282 2748373 - Identifier 2748282 2748305 - PropertyAccessExpression 2748306 2748317 - Identifier 2748306 2748312 - Identifier 2748313 2748317 - PropertyAccessExpression 2748318 2748372 - Identifier 2748318 2748330 - Identifier 2748331 2748372 - IfStatement 2748400 2748506 - PropertyAccessExpression 2748414 2748432 - Identifier 2748414 2748420 - Identifier 2748421 2748432 - Block 2748433 2748506 - ReturnStatement 2748435 2748495 - CallExpression 2748455 2748494 - Identifier 2748455 2748486 - Identifier 2748487 2748493 - IfStatement 2748506 2748848 - BinaryExpression 2748706 2748776 - BinaryExpression 2748706 2748745 - PropertyAccessExpression 2748706 2748725 - PropertyAccessExpression 2748706 2748719 - Identifier 2748706 2748712 - Identifier 2748713 2748719 - Identifier 2748720 2748725 - AmpersandToken 2748725 2748727 - PropertyAccessExpression 2748727 2748745 - Identifier 2748727 2748737 - Identifier 2748738 2748745 - AmpersandAmpersandToken 2748745 2748748 - PrefixUnaryExpression 2748748 2748776 - CallExpression 2748750 2748776 - Identifier 2748750 2748761 - PropertyAccessExpression 2748762 2748775 - Identifier 2748762 2748768 - Identifier 2748769 2748775 - Block 2748777 2748848 - ReturnStatement 2748779 2748837 - CallExpression 2748799 2748836 - Identifier 2748799 2748815 - Identifier 2748816 2748835 - IfStatement 2748848 2749439 - BinaryExpression 2749264 2749287 - Identifier 2749264 2749273 - EqualsEqualsEqualsToken 2749273 2749277 - Identifier 2749277 2749287 - Block 2749288 2749439 - ExpressionStatement 2749290 2749370 - CallExpression 2749290 2749369 - Identifier 2749290 2749309 - PropertyAccessExpression 2749310 2749321 - Identifier 2749310 2749316 - Identifier 2749317 2749321 - PropertyAccessExpression 2749322 2749368 - Identifier 2749322 2749334 - Identifier 2749335 2749368 - ReturnStatement 2749370 2749428 - CallExpression 2749390 2749427 - Identifier 2749390 2749406 - Identifier 2749407 2749426 - IfStatement 2749439 2749915 - BinaryExpression 2749453 2749513 - CallExpression 2749453 2749488 - Identifier 2749453 2749471 - Identifier 2749472 2749487 - AmpersandAmpersandToken 2749488 2749491 - PropertyAccessExpression 2749491 2749513 - Identifier 2749491 2749500 - QuestionDotToken 2749500 2749502 - Identifier 2749502 2749513 - Block 2749514 2749915 - VariableStatement 2749516 2749577 - VariableDeclarationList 2749516 2749576 - VariableDeclaration 2749535 2749576 - Identifier 2749535 2749545 - CallExpression 2749547 2749576 - Identifier 2749547 2749566 - Identifier 2749567 2749575 - IfStatement 2749577 2749904 - PrefixUnaryExpression 2749595 2749666 - ParenthesizedExpression 2749596 2749666 - BinaryExpression 2749597 2749665 - BinaryExpression 2749597 2749632 - TypeOfExpression 2749597 2749619 - PropertyAccessExpression 2749603 2749619 - Identifier 2749603 2749613 - Identifier 2749614 2749619 - EqualsEqualsEqualsToken 2749619 2749623 - StringLiteral 2749623 2749632 - AmpersandAmpersandToken 2749632 2749635 - PrefixUnaryExpression 2749635 2749665 - PropertyAccessExpression 2749637 2749665 - Identifier 2749637 2749646 - Identifier 2749647 2749665 - Block 2749667 2749904 - ExpressionStatement 2749669 2749889 - CallExpression 2749669 2749888 - Identifier 2749669 2749692 - PropertyAccessExpression 2749693 2749726 - Identifier 2749693 2749721 - Identifier 2749722 2749726 - PropertyAccessExpression 2749727 2749868 - Identifier 2749727 2749760 - Identifier 2749761 2749868 - ReturnStatement 2749915 2749959 - CallExpression 2749931 2749958 - Identifier 2749931 2749947 - Identifier 2749948 2749957 - FunctionDeclaration 2749966 2751752 - Identifier 2749982 2750013 - Parameter 2750014 2750032 - Identifier 2750014 2750020 - TypeReference 2750021 2750032 - Identifier 2750021 2750032 - TypeReference 2750034 2750050 - Identifier 2750034 2750050 - Block 2750050 2751752 - VariableStatement 2750052 2750109 - VariableDeclarationList 2750052 2750108 - VariableDeclaration 2750067 2750108 - Identifier 2750067 2750079 - CallExpression 2750081 2750108 - Identifier 2750081 2750093 - PropertyAccessExpression 2750094 2750107 - Identifier 2750094 2750100 - Identifier 2750101 2750107 - VariableStatement 2750109 2750159 - VariableDeclarationList 2750109 2750158 - VariableDeclaration 2750124 2750158 - Identifier 2750124 2750136 - NonNullExpression 2750138 2750158 - PropertyAccessExpression 2750138 2750157 - Identifier 2750138 2750145 - Identifier 2750146 2750157 - VariableStatement 2750159 2750214 - VariableDeclarationList 2750159 2750213 - VariableDeclaration 2750174 2750213 - Identifier 2750174 2750181 - CallExpression 2750183 2750213 - Identifier 2750183 2750192 - Identifier 2750193 2750204 - Identifier 2750205 2750212 - IfStatement 2750214 2751721 - BinaryExpression 2750228 2750254 - PropertyAccessExpression 2750228 2750240 - Identifier 2750228 2750234 - Identifier 2750235 2750240 - ExclamationEqualsEqualsToken 2750240 2750244 - Identifier 2750244 2750254 - Block 2750255 2751167 - IfStatement 2750257 2751156 - BinaryExpression 2750275 2750349 - BinaryExpression 2750275 2750322 - Identifier 2750275 2750286 - AmpersandAmpersandToken 2750286 2750289 - BinaryExpression 2750289 2750322 - TypeOfExpression 2750289 2750309 - PropertyAccessExpression 2750296 2750309 - Identifier 2750296 2750303 - Identifier 2750304 2750309 - EqualsEqualsEqualsToken 2750309 2750313 - StringLiteral 2750313 2750322 - AmpersandAmpersandToken 2750322 2750325 - PrefixUnaryExpression 2750325 2750349 - CallExpression 2750327 2750349 - Identifier 2750327 2750335 - PropertyAccessExpression 2750336 2750348 - Identifier 2750336 2750342 - Identifier 2750343 2750348 - Block 2750350 2750699 - ExpressionStatement 2750352 2750684 - CallExpression 2750352 2750683 - Identifier 2750352 2750375 - Identifier 2750376 2750409 - ConditionalExpression 2750410 2750663 - CallExpression 2750410 2750451 - Identifier 2750410 2750437 - PropertyAccessExpression 2750438 2750450 - Identifier 2750438 2750444 - Identifier 2750445 2750450 - QuestionToken 2750451 2750453 - PropertyAccessExpression 2750453 2750558 - Identifier 2750453 2750490 - Identifier 2750491 2750558 - ColonToken 2750558 2750560 - PropertyAccessExpression 2750560 2750663 - Identifier 2750560 2750597 - Identifier 2750598 2750663 - IfStatement 2750717 2751156 - BinaryExpression 2750722 2750826 - BinaryExpression 2750722 2750793 - CallExpression 2750722 2750757 - Identifier 2750722 2750740 - Identifier 2750741 2750756 - AmpersandAmpersandToken 2750757 2750760 - BinaryExpression 2750760 2750793 - TypeOfExpression 2750760 2750780 - PropertyAccessExpression 2750767 2750780 - Identifier 2750767 2750774 - Identifier 2750775 2750780 - EqualsEqualsEqualsToken 2750780 2750784 - StringLiteral 2750784 2750793 - AmpersandAmpersandToken 2750793 2750796 - PrefixUnaryExpression 2750796 2750826 - PropertyAccessExpression 2750798 2750826 - Identifier 2750798 2750804 - Identifier 2750805 2750826 - Block 2750827 2751156 - ExpressionStatement 2750829 2751141 - CallExpression 2750829 2751140 - Identifier 2750829 2750852 - Identifier 2750853 2750886 - PropertyAccessExpression 2750887 2751028 - Identifier 2750887 2750920 - Identifier 2750921 2751028 - TemplateExpression 2751029 2751120 - TemplateHead 2751029 2751054 - TemplateSpan 2751054 2751084 - CallExpression 2751054 2751080 - Identifier 2751054 2751060 - PropertyAccessExpression 2751061 2751079 - PropertyAccessExpression 2751061 2751074 - Identifier 2751061 2751067 - Identifier 2751068 2751074 - Identifier 2751075 2751079 - TemplateMiddle 2751080 2751084 - TemplateSpan 2751084 2751120 - CallExpression 2751084 2751118 - Identifier 2751084 2751105 - PropertyAccessExpression 2751106 2751117 - Identifier 2751106 2751112 - Identifier 2751113 2751117 - TemplateTail 2751118 2751120 - IfStatement 2751181 2751721 - Identifier 2751186 2751197 - Block 2751198 2751317 - ExpressionStatement 2751200 2751306 - CallExpression 2751200 2751305 - Identifier 2751200 2751219 - Identifier 2751220 2751231 - PropertyAccessExpression 2751232 2751304 - Identifier 2751232 2751244 - Identifier 2751245 2751304 - IfStatement 2751331 2751721 - BinaryExpression 2751336 2751375 - PropertyAccessExpression 2751336 2751355 - PropertyAccessExpression 2751336 2751349 - Identifier 2751336 2751342 - Identifier 2751343 2751349 - Identifier 2751350 2751355 - AmpersandToken 2751355 2751357 - PropertyAccessExpression 2751357 2751375 - Identifier 2751357 2751367 - Identifier 2751368 2751375 - Block 2751376 2751511 - ExpressionStatement 2751378 2751500 - CallExpression 2751378 2751499 - Identifier 2751378 2751397 - Identifier 2751398 2751409 - PropertyAccessExpression 2751410 2751498 - Identifier 2751410 2751422 - Identifier 2751423 2751498 - Block 2751525 2751721 - ExpressionStatement 2751527 2751710 - CallExpression 2751527 2751709 - Identifier 2751527 2751562 - CallExpression 2751563 2751591 - Identifier 2751563 2751578 - Identifier 2751579 2751590 - Identifier 2751592 2751603 - Identifier 2751604 2751616 - PropertyAccessExpression 2751617 2751708 - Identifier 2751617 2751629 - Identifier 2751630 2751708 - ReturnStatement 2751721 2751745 - Identifier 2751737 2751744 - FunctionDeclaration 2751752 2753943 - Identifier 2751768 2751797 - Parameter 2751798 2751824 - Identifier 2751798 2751802 - TypeReference 2751803 2751824 - Identifier 2751803 2751824 - Parameter 2751825 2751848 - Identifier 2751825 2751834 - QuestionToken 2751834 2751835 - TypeReference 2751836 2751848 - Identifier 2751836 2751848 - Block 2751849 2753943 - VariableStatement 2751851 2751942 - VariableDeclarationList 2751851 2751941 - VariableDeclaration 2751866 2751941 - Identifier 2751866 2751873 - CallExpression 2751875 2751941 - Identifier 2751875 2751893 - Identifier 2751894 2751898 - PropertyAccessExpression 2751899 2751917 - Identifier 2751899 2751911 - Identifier 2751912 2751917 - TrueKeyword 2751918 2751940 - IfStatement 2751942 2752009 - PrefixUnaryExpression 2751956 2751963 - Identifier 2751957 2751963 - ReturnStatement 2751964 2752009 - CallExpression 2751971 2752008 - Identifier 2751971 2751987 - Identifier 2751988 2752007 - IfStatement 2752009 2752708 - BinaryExpression 2752025 2752060 - PropertyAccessExpression 2752025 2752034 - Identifier 2752025 2752029 - Identifier 2752030 2752034 - EqualsEqualsEqualsToken 2752034 2752038 - PropertyAccessExpression 2752038 2752060 - Identifier 2752038 2752049 - Identifier 2752050 2752060 - Block 2752061 2752708 - VariableStatement 2752063 2752101 - VariableDeclarationList 2752063 2752100 - VariableDeclaration 2752082 2752100 - Identifier 2752082 2752093 - Identifier 2752095 2752100 - IfStatement 2752101 2752697 - BinaryExpression 2752119 2752265 - CallExpression 2752119 2752164 - Identifier 2752119 2752140 - PropertyAccessExpression 2752141 2752163 - Identifier 2752141 2752151 - Identifier 2752152 2752163 - AmpersandAmpersandToken 2752164 2752167 - ParenthesizedExpression 2752167 2752265 - BinaryExpression 2752169 2752264 - Identifier 2752169 2752175 - EqualsEqualsEqualsToken 2752175 2752179 - CallExpression 2752179 2752264 - Identifier 2752179 2752195 - PropertyAccessExpression 2752196 2752218 - Identifier 2752196 2752206 - Identifier 2752207 2752218 - PropertyAccessExpression 2752219 2752237 - Identifier 2752219 2752231 - Identifier 2752232 2752237 - Identifier 2752238 2752263 - Block 2752266 2752697 - ReturnStatement 2752268 2752682 - CallExpression 2752605 2752681 - Identifier 2752605 2752621 - PrefixUnaryExpression 2752622 2752647 - ParenthesizedExpression 2752623 2752647 - PropertyAccessExpression 2752624 2752646 - Identifier 2752624 2752634 - Identifier 2752635 2752646 - FalseKeyword 2752648 2752680 - IfStatement 2752708 2752910 - BinaryExpression 2752724 2752761 - PropertyAccessExpression 2752724 2752736 - Identifier 2752724 2752730 - Identifier 2752731 2752736 - AmpersandToken 2752736 2752738 - PropertyAccessExpression 2752738 2752761 - Identifier 2752738 2752750 - Identifier 2752751 2752761 - Block 2752762 2752910 - ReturnStatement 2752764 2752899 - ConditionalExpression 2752784 2752898 - Identifier 2752784 2752793 - QuestionToken 2752793 2752795 - CallExpression 2752795 2752838 - Identifier 2752795 2752814 - Identifier 2752815 2752819 - Identifier 2752820 2752827 - Identifier 2752828 2752837 - ColonToken 2752838 2752840 - CallExpression 2752840 2752898 - Identifier 2752840 2752859 - AsExpression 2752860 2752897 - PropertyAccessExpression 2752860 2752883 - Identifier 2752860 2752866 - Identifier 2752867 2752883 - TypeReference 2752886 2752897 - Identifier 2752886 2752897 - IfStatement 2752910 2753882 - CallExpression 2752924 2752950 - Identifier 2752924 2752942 - Identifier 2752943 2752949 - Block 2752951 2753882 - VariableStatement 2752953 2753011 - VariableDeclarationList 2752953 2753010 - VariableDeclaration 2752972 2753010 - Identifier 2752972 2752984 - PropertyAccessExpression 2752986 2753010 - Identifier 2752986 2752993 - Identifier 2752994 2753010 - IfStatement 2753011 2753871 - BinaryExpression 2753029 2753230 - BinaryExpression 2753029 2753126 - BinaryExpression 2753029 2753099 - BinaryExpression 2753029 2753078 - Identifier 2753029 2753040 - AmpersandAmpersandToken 2753040 2753043 - CallExpression 2753043 2753078 - Identifier 2753043 2753065 - Identifier 2753066 2753077 - AmpersandAmpersandToken 2753078 2753081 - PrefixUnaryExpression 2753081 2753099 - PropertyAccessExpression 2753083 2753099 - Identifier 2753083 2753094 - Identifier 2753095 2753099 - AmpersandAmpersandToken 2753099 2753102 - PropertyAccessExpression 2753102 2753126 - Identifier 2753102 2753114 - Identifier 2753115 2753126 - AmpersandAmpersandToken 2753126 2753129 - ParenthesizedExpression 2753129 2753230 - BinaryExpression 2753131 2753229 - PrefixUnaryExpression 2753131 2753140 - Identifier 2753132 2753140 - BarBarToken 2753140 2753143 - BinaryExpression 2753143 2753229 - BinaryExpression 2753143 2753168 - Identifier 2753143 2753155 - ExclamationEqualsEqualsToken 2753155 2753159 - Identifier 2753159 2753168 - AmpersandAmpersandToken 2753168 2753171 - CallExpression 2753171 2753229 - Identifier 2753171 2753206 - Identifier 2753207 2753218 - Identifier 2753219 2753228 - Block 2753231 2753871 - VariableStatement 2753233 2753313 - VariableDeclarationList 2753233 2753312 - VariableDeclaration 2753256 2753312 - Identifier 2753256 2753263 - CallExpression 2753265 2753312 - Identifier 2753265 2753274 - PropertyAccessExpression 2753275 2753298 - Identifier 2753275 2753286 - Identifier 2753287 2753298 - Identifier 2753299 2753311 - IfStatement 2753313 2753712 - BinaryExpression 2753335 2753413 - Identifier 2753335 2753343 - AmpersandAmpersandToken 2753343 2753346 - BinaryExpression 2753346 2753413 - CallExpression 2753346 2753376 - Identifier 2753346 2753366 - Identifier 2753367 2753375 - ExclamationEqualsEqualsToken 2753376 2753380 - CallExpression 2753380 2753413 - Identifier 2753380 2753400 - Identifier 2753401 2753412 - Block 2753414 2753712 - ReturnStatement 2753416 2753693 - CallExpression 2753444 2753692 - Identifier 2753444 2753460 - PropertyAccessExpression 2753461 2753499 - Identifier 2753461 2753493 - Identifier 2753494 2753499 - FalseKeyword 2753500 2753557 - TrueKeyword 2753558 2753611 - TrueKeyword 2753612 2753668 - ReturnStatement 2753712 2753856 - CallExpression 2753736 2753855 - Identifier 2753736 2753752 - PropertyAccessExpression 2753753 2753765 - Identifier 2753753 2753759 - Identifier 2753760 2753765 - PropertyAccessExpression 2753766 2753795 - Identifier 2753766 2753773 - Identifier 2753774 2753795 - PropertyAccessExpression 2753796 2753822 - Identifier 2753796 2753803 - Identifier 2753804 2753822 - TrueKeyword 2753823 2753854 - ReturnStatement 2753882 2753936 - CallExpression 2753898 2753935 - Identifier 2753898 2753914 - Identifier 2753915 2753934 - FunctionDeclaration 2753943 2754912 - Identifier 2753959 2753991 - Parameter 2753992 2754021 - Identifier 2753992 2753996 - TypeReference 2753997 2754021 - Identifier 2753997 2754021 - Parameter 2754022 2754045 - Identifier 2754022 2754031 - QuestionToken 2754031 2754032 - TypeReference 2754033 2754045 - Identifier 2754033 2754045 - Block 2754046 2754912 - VariableStatement 2754048 2754087 - VariableDeclarationList 2754048 2754086 - VariableDeclaration 2754063 2754086 - Identifier 2754063 2754068 - PropertyAccessExpression 2754070 2754086 - Identifier 2754070 2754075 - Identifier 2754076 2754086 - IfStatement 2754087 2754851 - BinaryExpression 2754101 2754177 - CallExpression 2754101 2754129 - Identifier 2754101 2754123 - Identifier 2754124 2754128 - AmpersandAmpersandToken 2754129 2754132 - CallExpression 2754132 2754177 - Identifier 2754132 2754152 - PropertyAccessExpression 2754153 2754176 - Identifier 2754153 2754157 - Identifier 2754158 2754176 - Block 2754178 2754851 - VariableStatement 2754180 2754279 - VariableDeclarationList 2754180 2754278 - VariableDeclaration 2754199 2754278 - Identifier 2754199 2754210 - CallExpression 2754212 2754278 - Identifier 2754212 2754230 - Identifier 2754231 2754235 - PropertyAccessExpression 2754236 2754254 - Identifier 2754236 2754248 - Identifier 2754249 2754254 - TrueKeyword 2754255 2754277 - IfStatement 2754279 2754840 - BinaryExpression 2754297 2754346 - Identifier 2754297 2754307 - AmpersandAmpersandToken 2754307 2754310 - BinaryExpression 2754310 2754346 - PropertyAccessExpression 2754310 2754327 - Identifier 2754310 2754321 - Identifier 2754322 2754327 - AmpersandToken 2754327 2754329 - PropertyAccessExpression 2754329 2754346 - Identifier 2754329 2754341 - Identifier 2754342 2754346 - Block 2754347 2754840 - VariableStatement 2754349 2754435 - VariableDeclarationList 2754349 2754434 - VariableDeclaration 2754372 2754434 - Identifier 2754372 2754377 - CallExpression 2754379 2754434 - Identifier 2754379 2754404 - PropertyAccessExpression 2754405 2754433 - PropertyAccessExpression 2754405 2754428 - Identifier 2754405 2754409 - Identifier 2754410 2754428 - Identifier 2754429 2754433 - VariableStatement 2754435 2754498 - VariableDeclarationList 2754435 2754497 - VariableDeclaration 2754458 2754497 - Identifier 2754458 2754465 - CallExpression 2754467 2754497 - PropertyAccessExpression 2754467 2754491 - NonNullExpression 2754467 2754487 - PropertyAccessExpression 2754467 2754486 - Identifier 2754467 2754478 - Identifier 2754479 2754486 - Identifier 2754488 2754491 - Identifier 2754492 2754496 - IfStatement 2754498 2754825 - Identifier 2754520 2754526 - Block 2754527 2754825 - ExpressionStatement 2754529 2754663 - CallExpression 2754529 2754662 - PropertyAccessExpression 2754529 2754563 - Identifier 2754529 2754556 - Identifier 2754557 2754563 - BinaryExpression 2754564 2754661 - CallExpression 2754564 2754608 - Identifier 2754564 2754583 - PropertyAccessExpression 2754584 2754607 - Identifier 2754584 2754590 - Identifier 2754591 2754607 - EqualsEqualsEqualsToken 2754608 2754612 - CallExpression 2754612 2754661 - Identifier 2754612 2754632 - PropertyAccessExpression 2754633 2754660 - Identifier 2754633 2754643 - Identifier 2754644 2754660 - ReturnStatement 2754663 2754806 - ConditionalExpression 2754691 2754805 - Identifier 2754691 2754700 - QuestionToken 2754700 2754702 - CallExpression 2754702 2754745 - Identifier 2754702 2754721 - Identifier 2754722 2754726 - Identifier 2754727 2754734 - Identifier 2754735 2754744 - ColonToken 2754745 2754747 - CallExpression 2754747 2754805 - Identifier 2754747 2754766 - AsExpression 2754767 2754804 - PropertyAccessExpression 2754767 2754790 - Identifier 2754767 2754773 - Identifier 2754774 2754790 - TypeReference 2754793 2754804 - Identifier 2754793 2754804 - ReturnStatement 2754851 2754905 - CallExpression 2754867 2754904 - Identifier 2754867 2754883 - Identifier 2754884 2754903 - FunctionDeclaration 2754912 2755895 - Identifier 2754928 2754947 - Parameter 2754948 2754964 - Identifier 2754948 2754952 - TypeReference 2754953 2754964 - Identifier 2754953 2754964 - Parameter 2754965 2754980 - Identifier 2754965 2754972 - TypeReference 2754973 2754980 - Identifier 2754973 2754980 - Parameter 2754981 2755003 - Identifier 2754981 2754990 - TypeReference 2754991 2755003 - Identifier 2754991 2755003 - Block 2755004 2755895 - VariableStatement 2755006 2755060 - VariableDeclarationList 2755006 2755059 - VariableDeclaration 2755021 2755059 - Identifier 2755021 2755033 - PropertyAccessExpression 2755035 2755059 - Identifier 2755035 2755042 - Identifier 2755043 2755059 - IfStatement 2755060 2755290 - BinaryExpression 2755074 2755114 - PrefixUnaryExpression 2755074 2755086 - Identifier 2755075 2755086 - BarBarToken 2755086 2755089 - BinaryExpression 2755089 2755114 - Identifier 2755089 2755101 - EqualsEqualsEqualsToken 2755101 2755105 - Identifier 2755105 2755114 - Block 2755115 2755290 - ExpressionStatement 2755117 2755221 - CallExpression 2755117 2755220 - Identifier 2755117 2755136 - Identifier 2755137 2755141 - PropertyAccessExpression 2755142 2755195 - Identifier 2755142 2755154 - Identifier 2755155 2755195 - CallExpression 2755196 2755219 - Identifier 2755196 2755211 - Identifier 2755212 2755218 - ReturnStatement 2755221 2755279 - CallExpression 2755241 2755278 - Identifier 2755241 2755257 - Identifier 2755258 2755277 - IfStatement 2755290 2755592 - PrefixUnaryExpression 2755304 2755362 - CallExpression 2755305 2755362 - Identifier 2755305 2755339 - Identifier 2755340 2755351 - Identifier 2755352 2755361 - Block 2755363 2755592 - ExpressionStatement 2755365 2755531 - CallExpression 2755365 2755530 - Identifier 2755365 2755384 - Identifier 2755385 2755389 - PropertyAccessExpression 2755390 2755529 - Identifier 2755390 2755402 - Identifier 2755403 2755529 - ReturnStatement 2755531 2755581 - CallExpression 2755551 2755580 - Identifier 2755551 2755567 - NumericLiteral 2755568 2755579 - VariableStatement 2755592 2755662 - VariableDeclarationList 2755592 2755661 - VariableDeclaration 2755607 2755661 - Identifier 2755607 2755613 - CallExpression 2755615 2755661 - Identifier 2755615 2755634 - AsExpression 2755635 2755660 - Identifier 2755635 2755646 - TypeReference 2755649 2755660 - Identifier 2755649 2755660 - IfStatement 2755662 2755865 - BinaryExpression 2755676 2755714 - PropertyAccessExpression 2755676 2755691 - Identifier 2755676 2755684 - Identifier 2755685 2755691 - ExclamationEqualsEqualsToken 2755691 2755695 - PropertyAccessExpression 2755695 2755714 - Identifier 2755695 2755707 - Identifier 2755708 2755714 - Block 2755715 2755865 - ReturnStatement 2755717 2755854 - CallExpression 2755737 2755853 - Identifier 2755737 2755753 - PropertyAccessExpression 2755754 2755765 - Identifier 2755754 2755759 - Identifier 2755760 2755765 - PropertyAccessExpression 2755766 2755794 - Identifier 2755766 2755772 - Identifier 2755773 2755794 - PropertyAccessExpression 2755795 2755820 - Identifier 2755795 2755801 - Identifier 2755802 2755820 - TrueKeyword 2755821 2755852 - ReturnStatement 2755865 2755888 - Identifier 2755881 2755887 - FunctionDeclaration 2755895 2756032 - Identifier 2755911 2755932 - Parameter 2755933 2755954 - Identifier 2755933 2755937 - TypeReference 2755938 2755954 - Identifier 2755938 2755954 - Block 2755955 2756032 - ExpressionStatement 2755957 2756025 - CallExpression 2755957 2756024 - Identifier 2755957 2755984 - ArrowFunction 2755985 2756023 - EqualsGreaterThanToken 2755987 2755990 - CallExpression 2755990 2756023 - Identifier 2755990 2756017 - Identifier 2756018 2756022 - FunctionDeclaration 2756032 2758738 - Identifier 2756048 2756075 - Parameter 2756076 2756097 - Identifier 2756076 2756080 - TypeReference 2756081 2756097 - Identifier 2756081 2756097 - Block 2756098 2758738 - ExpressionStatement 2756100 2756167 - CallExpression 2756100 2756166 - Identifier 2756100 2756160 - Identifier 2756161 2756165 - ExpressionStatement 2756167 2756230 - CallExpression 2756167 2756229 - Identifier 2756167 2756212 - Identifier 2756213 2756217 - PropertyAccessExpression 2756218 2756228 - Identifier 2756218 2756223 - Identifier 2756224 2756228 - ExpressionStatement 2756230 2756279 - CallExpression 2756230 2756278 - Identifier 2756230 2756272 - Identifier 2756273 2756277 - ExpressionStatement 2756279 2756330 - CallExpression 2756279 2756329 - PropertyAccessExpression 2756279 2756309 - PropertyAccessExpression 2756279 2756301 - Identifier 2756279 2756293 - Identifier 2756294 2756301 - Identifier 2756302 2756309 - Identifier 2756310 2756328 - IfStatement 2756330 2756532 - BinaryExpression 2756346 2756417 - PropertyAccessExpression 2756346 2756380 - Identifier 2756346 2756361 - Identifier 2756362 2756380 - AmpersandAmpersandToken 2756380 2756383 - PrefixUnaryExpression 2756383 2756417 - ParenthesizedExpression 2756385 2756417 - BinaryExpression 2756386 2756416 - PropertyAccessExpression 2756386 2756396 - Identifier 2756386 2756390 - Identifier 2756391 2756396 - AmpersandToken 2756396 2756398 - PropertyAccessExpression 2756398 2756416 - Identifier 2756398 2756408 - Identifier 2756409 2756416 - Block 2756418 2756532 - ExpressionStatement 2756420 2756521 - CallExpression 2756420 2756520 - Identifier 2756420 2756439 - Identifier 2756440 2756444 - PropertyAccessExpression 2756445 2756519 - Identifier 2756445 2756457 - Identifier 2756458 2756519 - ExpressionStatement 2756532 2756574 - CallExpression 2756532 2756573 - Identifier 2756532 2756567 - Identifier 2756568 2756572 - VariableStatement 2756574 2756992 - VariableDeclarationList 2756574 2756991 - VariableDeclaration 2756949 2756991 - Identifier 2756949 2756960 - CallExpression 2756962 2756991 - Identifier 2756962 2756985 - Identifier 2756986 2756990 - VariableStatement 2756992 2757071 - VariableDeclarationList 2756992 2757070 - VariableDeclaration 2757007 2757070 - Identifier 2757007 2757024 - CallExpression 2757026 2757070 - Identifier 2757026 2757047 - Identifier 2757048 2757058 - PropertyAccessExpression 2757059 2757069 - Identifier 2757059 2757064 - Identifier 2757065 2757069 - IfStatement 2757071 2758731 - BinaryExpression 2757085 2757110 - Identifier 2757085 2757089 - EqualsEqualsEqualsToken 2757089 2757093 - Identifier 2757093 2757110 - Block 2757111 2758731 - IfStatement 2757113 2757661 - BinaryExpression 2757131 2757192 - PropertyAccessExpression 2757131 2757154 - Identifier 2757131 2757141 - Identifier 2757142 2757154 - AmpersandAmpersandToken 2757154 2757157 - BinaryExpression 2757157 2757192 - PropertyAccessExpression 2757157 2757188 - PropertyAccessExpression 2757157 2757181 - Identifier 2757157 2757168 - Identifier 2757169 2757181 - Identifier 2757182 2757188 - GreaterThanToken 2757188 2757190 - NumericLiteral 2757190 2757192 - Block 2757193 2757661 - VariableStatement 2757195 2757251 - VariableDeclarationList 2757195 2757250 - VariableDeclaration 2757218 2757250 - Identifier 2757218 2757230 - CallExpression 2757232 2757250 - Identifier 2757232 2757244 - Identifier 2757245 2757249 - ExpressionStatement 2757251 2757646 - CallExpression 2757251 2757645 - Identifier 2757251 2757356 - PropertyAccessExpression 2757357 2757380 - Identifier 2757357 2757367 - Identifier 2757368 2757380 - ArrowFunction 2757381 2757644 - Parameter 2757381 2757386 - Identifier 2757381 2757386 - EqualsGreaterThanToken 2757386 2757389 - Block 2757389 2757644 - IfStatement 2757391 2757625 - BinaryExpression 2757417 2757477 - CallExpression 2757417 2757440 - Identifier 2757417 2757434 - Identifier 2757435 2757439 - AmpersandAmpersandToken 2757440 2757443 - BinaryExpression 2757443 2757477 - CallExpression 2757443 2757461 - Identifier 2757443 2757455 - Identifier 2757456 2757460 - ExclamationEqualsEqualsToken 2757461 2757465 - Identifier 2757465 2757477 - Block 2757478 2757625 - ExpressionStatement 2757480 2757602 - CallExpression 2757480 2757601 - Identifier 2757480 2757511 - CallExpression 2757512 2757538 - Identifier 2757512 2757532 - Identifier 2757533 2757537 - PropertyAccessExpression 2757539 2757600 - Identifier 2757539 2757551 - Identifier 2757552 2757600 - VariableStatement 2757661 2757723 - VariableDeclarationList 2757661 2757722 - VariableDeclaration 2757680 2757722 - Identifier 2757680 2757714 - FalseKeyword 2757716 2757722 - ExpressionStatement 2757723 2758720 - CallExpression 2757723 2758719 - Identifier 2757723 2757744 - PropertyAccessExpression 2757745 2757768 - Identifier 2757745 2757755 - Identifier 2757756 2757768 - ArrowFunction 2757769 2758718 - Parameter 2757769 2757781 - Identifier 2757769 2757781 - EqualsGreaterThanToken 2757781 2757784 - Block 2757784 2758718 - IfStatement 2757786 2757995 - BinaryExpression 2757891 2757938 - PropertyAccessExpression 2757891 2757907 - Identifier 2757891 2757902 - Identifier 2757903 2757907 - ExclamationEqualsEqualsToken 2757907 2757911 - PropertyAccessExpression 2757911 2757938 - Identifier 2757911 2757922 - Identifier 2757923 2757938 - Block 2757939 2757995 - ReturnStatement 2757941 2757976 - FalseKeyword 2757969 2757975 - VariableStatement 2757995 2758070 - VariableDeclarationList 2757995 2758069 - VariableDeclaration 2758020 2758069 - Identifier 2758020 2758036 - AsExpression 2758038 2758069 - Identifier 2758038 2758050 - TypeReference 2758053 2758069 - Identifier 2758053 2758069 - IfStatement 2758070 2758180 - PrefixUnaryExpression 2758092 2758123 - PropertyAccessExpression 2758093 2758123 - PropertyAccessExpression 2758093 2758116 - Identifier 2758093 2758108 - Identifier 2758109 2758116 - Identifier 2758117 2758123 - Block 2758124 2758180 - ReturnStatement 2758126 2758161 - FalseKeyword 2758154 2758160 - VariableStatement 2758180 2758251 - VariableDeclarationList 2758180 2758250 - VariableDeclaration 2758205 2758250 - Identifier 2758205 2758221 - ElementAccessExpression 2758223 2758250 - PropertyAccessExpression 2758223 2758247 - Identifier 2758223 2758239 - Identifier 2758240 2758247 - NumericLiteral 2758248 2758249 - IfStatement 2758251 2758703 - PrefixUnaryExpression 2758273 2758301 - PropertyAccessExpression 2758274 2758301 - Identifier 2758274 2758289 - Identifier 2758290 2758301 - Block 2758302 2758703 - IfStatement 2758304 2758684 - Identifier 2758330 2758363 - Block 2758364 2758566 - ExpressionStatement 2758366 2758543 - CallExpression 2758366 2758542 - Identifier 2758366 2758397 - PropertyAccessExpression 2758398 2758418 - Identifier 2758398 2758413 - Identifier 2758414 2758418 - PropertyAccessExpression 2758419 2758541 - Identifier 2758419 2758431 - Identifier 2758432 2758541 - Block 2758592 2758684 - ExpressionStatement 2758594 2758661 - BinaryExpression 2758594 2758660 - Identifier 2758594 2758653 - EqualsToken 2758653 2758655 - TrueKeyword 2758655 2758660 - FunctionDeclaration 2758738 2759043 - Identifier 2758754 2758770 - Parameter 2758771 2758787 - Identifier 2758771 2758775 - TypeReference 2758776 2758787 - Identifier 2758776 2758787 - Block 2758788 2759043 - IfStatement 2758790 2758944 - CallExpression 2758804 2758834 - Identifier 2758804 2758823 - PropertyAccessExpression 2758824 2758833 - Identifier 2758824 2758828 - Identifier 2758829 2758833 - Block 2758835 2758944 - ExpressionStatement 2758837 2758933 - CallExpression 2758837 2758932 - Identifier 2758837 2758856 - Identifier 2758857 2758861 - PropertyAccessExpression 2758862 2758931 - Identifier 2758862 2758874 - Identifier 2758875 2758931 - IfStatement 2758944 2759036 - PropertyAccessExpression 2758958 2758974 - Identifier 2758958 2758962 - Identifier 2758963 2758974 - Block 2758975 2759036 - ExpressionStatement 2758977 2759025 - CallExpression 2758977 2759024 - Identifier 2758977 2759006 - PropertyAccessExpression 2759007 2759023 - Identifier 2759007 2759011 - Identifier 2759012 2759023 - FunctionDeclaration 2759043 2759728 - Identifier 2759059 2759104 - Parameter 2759105 2759119 - Identifier 2759105 2759111 - TypeReference 2759112 2759119 - Identifier 2759112 2759119 - UnionType 2759121 2759145 - TypeReference 2759121 2759133 - Identifier 2759121 2759133 - UndefinedKeyword 2759135 2759145 - Block 2759145 2759728 - VariableStatement 2759147 2759198 - VariableDeclarationList 2759147 2759197 - VariableDeclaration 2759162 2759197 - Identifier 2759162 2759175 - PropertyAccessExpression 2759177 2759197 - Identifier 2759177 2759184 - Identifier 2759185 2759197 - IfStatement 2759198 2759694 - Identifier 2759212 2759224 - Block 2759225 2759694 - ForOfStatement 2759227 2759683 - VariableDeclarationList 2759246 2759263 - VariableDeclaration 2759251 2759263 - Identifier 2759251 2759263 - Identifier 2759266 2759279 - Block 2759280 2759683 - IfStatement 2759282 2759668 - BinaryExpression 2759304 2759587 - ParenthesizedExpression 2759304 2759522 - BinaryExpression 2759327 2759521 - BinaryExpression 2759327 2759375 - PropertyAccessExpression 2759327 2759343 - Identifier 2759327 2759338 - Identifier 2759339 2759343 - EqualsEqualsEqualsToken 2759343 2759347 - PropertyAccessExpression 2759347 2759375 - Identifier 2759347 2759358 - Identifier 2759359 2759375 - BarBarToken 2759375 2759378 - ParenthesizedExpression 2759378 2759521 - BinaryExpression 2759405 2759520 - BinaryExpression 2759405 2759456 - PropertyAccessExpression 2759405 2759421 - Identifier 2759405 2759416 - Identifier 2759417 2759421 - EqualsEqualsEqualsToken 2759421 2759425 - PropertyAccessExpression 2759425 2759456 - Identifier 2759425 2759436 - Identifier 2759437 2759456 - AmpersandAmpersandToken 2759456 2759459 - CallExpression 2759459 2759520 - Identifier 2759459 2759473 - PropertyAccessExpression 2759474 2759519 - ParenthesizedExpression 2759474 2759514 - AsExpression 2759475 2759513 - Identifier 2759475 2759486 - TypeReference 2759489 2759513 - Identifier 2759489 2759513 - Identifier 2759515 2759519 - AmpersandAmpersandToken 2759522 2759525 - PrefixUnaryExpression 2759525 2759587 - ParenthesizedExpression 2759548 2759587 - BinaryExpression 2759549 2759586 - PropertyAccessExpression 2759549 2759566 - Identifier 2759549 2759560 - Identifier 2759561 2759566 - AmpersandToken 2759566 2759568 - PropertyAccessExpression 2759568 2759586 - Identifier 2759568 2759578 - Identifier 2759579 2759586 - Block 2759606 2759668 - ReturnStatement 2759608 2759649 - Identifier 2759636 2759648 - ReturnStatement 2759694 2759721 - Identifier 2759710 2759720 - FunctionDeclaration 2759728 2760208 - Identifier 2759744 2759763 - Parameter 2759764 2759775 - Identifier 2759764 2759769 - TypeReference 2759770 2759775 - Identifier 2759770 2759775 - Parameter 2759776 2759788 - Identifier 2759776 2759782 - TypeReference 2759783 2759788 - Identifier 2759783 2759788 - Block 2759789 2760208 - VariableStatement 2759791 2759859 - VariableDeclarationList 2759791 2759858 - VariableDeclaration 2759806 2759858 - Identifier 2759806 2759817 - CallExpression 2759819 2759858 - Identifier 2759819 2759851 - Identifier 2759852 2759857 - VariableStatement 2759859 2759927 - VariableDeclarationList 2759859 2759926 - VariableDeclaration 2759874 2759926 - Identifier 2759874 2759885 - CallExpression 2759887 2759926 - Identifier 2759887 2759919 - Identifier 2759920 2759925 - IfStatement 2759927 2760201 - CallExpression 2759941 2759971 - Identifier 2759941 2759959 - Identifier 2759960 2759970 - Block 2759972 2760037 - ReturnStatement 2759974 2760026 - CallExpression 2759994 2760025 - Identifier 2759994 2760013 - Identifier 2760014 2760024 - IfStatement 2760051 2760201 - CallExpression 2760056 2760086 - Identifier 2760056 2760074 - Identifier 2760075 2760085 - Block 2760087 2760127 - ReturnStatement 2760089 2760116 - FalseKeyword 2760109 2760115 - Block 2760141 2760201 - ReturnStatement 2760143 2760190 - BinaryExpression 2760163 2760189 - Identifier 2760163 2760174 - EqualsEqualsEqualsToken 2760174 2760178 - Identifier 2760178 2760189 - FunctionDeclaration 2760208 2768418 - Identifier 2760224 2760247 - Parameter 2760248 2760271 - Identifier 2760248 2760252 - TypeReference 2760253 2760271 - Identifier 2760253 2760271 - Block 2760272 2768418 - IfStatement 2760274 2760481 - PropertyAccessExpression 2760288 2760297 - Identifier 2760288 2760292 - Identifier 2760293 2760297 - Block 2760298 2760481 - ExpressionStatement 2760300 2760344 - CallExpression 2760300 2760343 - Identifier 2760300 2760332 - PropertyAccessExpression 2760333 2760342 - Identifier 2760333 2760337 - Identifier 2760338 2760342 - IfStatement 2760344 2760470 - PrefixUnaryExpression 2760362 2760394 - CallExpression 2760363 2760394 - Identifier 2760363 2760388 - Identifier 2760389 2760393 - Block 2760395 2760470 - ExpressionStatement 2760397 2760455 - CallExpression 2760397 2760454 - Identifier 2760397 2760448 - Identifier 2760449 2760453 - ExpressionStatement 2760481 2760546 - CallExpression 2760481 2760545 - Identifier 2760481 2760510 - Identifier 2760511 2760544 - FunctionDeclaration 2760546 2768411 - Identifier 2760566 2760600 - Block 2760602 2768411 - VariableStatement 2760604 2760712 - VariableDeclarationList 2760604 2760711 - VariableDeclaration 2760656 2760711 - Identifier 2760656 2760677 - CallExpression 2760679 2760711 - Identifier 2760679 2760705 - Identifier 2760706 2760710 - VariableStatement 2760712 2760782 - VariableDeclarationList 2760712 2760781 - VariableDeclaration 2760731 2760781 - Identifier 2760731 2760748 - BinaryExpression 2760750 2760781 - PropertyAccessExpression 2760750 2760761 - Identifier 2760750 2760755 - Identifier 2760756 2760761 - AmpersandToken 2760761 2760763 - PropertyAccessExpression 2760763 2760781 - Identifier 2760763 2760773 - Identifier 2760774 2760781 - IfStatement 2760782 2761017 - BinaryExpression 2760800 2760841 - Identifier 2760800 2760820 - AmpersandAmpersandToken 2760820 2760823 - PrefixUnaryExpression 2760823 2760841 - Identifier 2760825 2760841 - Block 2760842 2761017 - ExpressionStatement 2760844 2761002 - CallExpression 2760844 2761001 - Identifier 2760844 2760867 - PropertyAccessExpression 2760868 2760877 - Identifier 2760868 2760872 - Identifier 2760873 2760877 - PropertyAccessExpression 2760878 2761000 - Identifier 2760878 2760890 - Identifier 2760891 2761000 - VariableStatement 2761017 2761096 - VariableDeclarationList 2761017 2761095 - VariableDeclaration 2761038 2761095 - Identifier 2761038 2761062 - BooleanKeyword 2761063 2761071 - CallExpression 2761073 2761095 - Identifier 2761073 2761089 - Identifier 2761090 2761094 - VariableStatement 2761096 2761379 - VariableDeclarationList 2761096 2761378 - VariableDeclaration 2761115 2761378 - Identifier 2761115 2761135 - ConditionalExpression 2761137 2761378 - Identifier 2761137 2761161 - QuestionToken 2761161 2761180 - PropertyAccessExpression 2761180 2761265 - Identifier 2761180 2761192 - Identifier 2761193 2761265 - ColonToken 2761265 2761284 - PropertyAccessExpression 2761284 2761378 - Identifier 2761284 2761296 - Identifier 2761297 2761378 - IfStatement 2761379 2761614 - CallExpression 2761397 2761456 - Identifier 2761397 2761429 - Identifier 2761430 2761434 - Identifier 2761435 2761455 - Block 2761457 2761614 - ReturnStatement 2761459 2761599 - IfStatement 2761614 2761895 - PrefixUnaryExpression 2761634 2761662 - CallExpression 2761635 2761662 - Identifier 2761635 2761656 - Identifier 2761657 2761661 - Block 2761663 2761895 - IfStatement 2761665 2761880 - BinaryExpression 2761687 2761751 - PrefixUnaryExpression 2761687 2761704 - Identifier 2761688 2761704 - AmpersandAmpersandToken 2761704 2761707 - BinaryExpression 2761707 2761751 - PropertyAccessExpression 2761707 2761722 - PropertyAccessExpression 2761707 2761717 - Identifier 2761707 2761712 - Identifier 2761713 2761717 - Identifier 2761718 2761722 - EqualsEqualsEqualsToken 2761722 2761726 - PropertyAccessExpression 2761726 2761751 - Identifier 2761726 2761737 - Identifier 2761738 2761751 - Block 2761752 2761880 - ExpressionStatement 2761754 2761861 - CallExpression 2761754 2761860 - Identifier 2761754 2761794 - PropertyAccessExpression 2761795 2761804 - Identifier 2761795 2761799 - Identifier 2761800 2761804 - PropertyAccessExpression 2761805 2761859 - Identifier 2761805 2761817 - Identifier 2761818 2761859 - IfStatement 2761895 2762632 - CallExpression 2761915 2761938 - Identifier 2761915 2761927 - PropertyAccessExpression 2761928 2761937 - Identifier 2761928 2761932 - Identifier 2761933 2761937 - Block 2761939 2762632 - ExpressionStatement 2761941 2762010 - CallExpression 2761941 2762009 - Identifier 2761941 2761992 - Identifier 2761993 2761997 - PropertyAccessExpression 2761998 2762008 - Identifier 2761998 2762003 - Identifier 2762004 2762008 - IfStatement 2762010 2762617 - PrefixUnaryExpression 2762032 2762100 - ParenthesizedExpression 2762033 2762100 - BinaryExpression 2762034 2762099 - PropertyAccessExpression 2762034 2762044 - Identifier 2762034 2762038 - Identifier 2762039 2762044 - AmpersandToken 2762044 2762046 - ParenthesizedExpression 2762046 2762099 - BinaryExpression 2762048 2762098 - PropertyAccessExpression 2762048 2762067 - Identifier 2762048 2762057 - Identifier 2762058 2762067 - BarToken 2762067 2762069 - PropertyAccessExpression 2762069 2762098 - Identifier 2762069 2762079 - Identifier 2762080 2762098 - Block 2762101 2762617 - VariableStatement 2762103 2762170 - VariableDeclarationList 2762103 2762169 - VariableDeclaration 2762130 2762169 - Identifier 2762130 2762141 - CallExpression 2762143 2762169 - Identifier 2762143 2762163 - Identifier 2762164 2762168 - VariableStatement 2762170 2762239 - VariableDeclarationList 2762170 2762238 - VariableDeclaration 2762197 2762238 - Identifier 2762197 2762201 - CallExpression 2762203 2762238 - Identifier 2762203 2762232 - Identifier 2762233 2762237 - VariableStatement 2762239 2762316 - VariableDeclarationList 2762239 2762315 - VariableDeclaration 2762266 2762315 - Identifier 2762266 2762271 - CallExpression 2762273 2762315 - Identifier 2762273 2762298 - Identifier 2762299 2762309 - Identifier 2762310 2762314 - ExpressionStatement 2762316 2762598 - CallExpression 2762316 2762597 - PropertyAccessExpression 2762316 2762363 - Identifier 2762316 2762359 - Identifier 2762360 2762363 - CallExpression 2762364 2762573 - Identifier 2762364 2762410 - Identifier 2762411 2762421 - PropertyAccessExpression 2762422 2762433 - Identifier 2762422 2762427 - Identifier 2762428 2762433 - PropertyAccessExpression 2762434 2762446 - Identifier 2762434 2762439 - Identifier 2762440 2762446 - PropertyAccessExpression 2762447 2762572 - Identifier 2762447 2762459 - Identifier 2762460 2762572 - ExpressionStatement 2762632 2762687 - CallExpression 2762632 2762686 - Identifier 2762632 2762680 - Identifier 2762681 2762685 - VariableStatement 2762687 2762745 - VariableDeclarationList 2762687 2762744 - VariableDeclaration 2762706 2762744 - Identifier 2762706 2762713 - CallExpression 2762715 2762744 - Identifier 2762715 2762738 - Identifier 2762739 2762743 - IfStatement 2762745 2766052 - BinaryExpression 2762863 2763047 - BinaryExpression 2762863 2762957 - BinaryExpression 2762863 2762919 - PropertyAccessExpression 2762863 2762893 - Identifier 2762863 2762887 - Identifier 2762888 2762893 - AmpersandToken 2762893 2762895 - PropertyAccessExpression 2762895 2762919 - Identifier 2762895 2762907 - Identifier 2762908 2762919 - AmpersandAmpersandToken 2762919 2762939 - PrefixUnaryExpression 2762939 2762957 - Identifier 2762941 2762957 - AmpersandAmpersandToken 2762957 2762977 - CallExpression 2762977 2763047 - Identifier 2762977 2762998 - Identifier 2762999 2763003 - CallExpression 2763004 2763046 - Identifier 2763004 2763029 - Identifier 2763030 2763045 - Block 2763062 2766052 - IfStatement 2763064 2763256 - PropertyAccessExpression 2763086 2763120 - Identifier 2763086 2763101 - Identifier 2763102 2763120 - Block 2763121 2763256 - ExpressionStatement 2763123 2763237 - CallExpression 2763123 2763236 - Identifier 2763123 2763150 - PropertyAccessExpression 2763151 2763160 - Identifier 2763151 2763155 - Identifier 2763156 2763160 - PropertyAccessExpression 2763161 2763235 - Identifier 2763161 2763173 - Identifier 2763174 2763235 - IfStatement 2763256 2764027 - BinaryExpression 2763280 2763369 - CallExpression 2763280 2763315 - Identifier 2763280 2763298 - Identifier 2763299 2763314 - AmpersandAmpersandToken 2763315 2763318 - PrefixUnaryExpression 2763318 2763369 - PropertyAccessExpression 2763320 2763369 - CallExpression 2763320 2763345 - Identifier 2763320 2763339 - Identifier 2763340 2763344 - Identifier 2763346 2763369 - Block 2763370 2764027 - ExpressionStatement 2763372 2764008 - CallExpression 2763372 2764007 - Identifier 2763372 2763773 - PropertyAccessExpression 2763774 2763783 - Identifier 2763774 2763778 - Identifier 2763779 2763783 - PropertyAccessExpression 2763784 2763977 - Identifier 2763784 2763796 - Identifier 2763797 2763977 - Identifier 2763978 2764006 - IfStatement 2764027 2765400 - BinaryExpression 2764049 2764081 - NonNullExpression 2764049 2764077 - PropertyAccessExpression 2764049 2764076 - PropertyAccessExpression 2764049 2764068 - Identifier 2764049 2764055 - Identifier 2764056 2764068 - QuestionDotToken 2764068 2764070 - Identifier 2764070 2764076 - GreaterThanToken 2764077 2764079 - NumericLiteral 2764079 2764081 - Block 2764082 2765400 - VariableStatement 2764084 2764194 - VariableDeclarationList 2764084 2764193 - VariableDeclaration 2764111 2764193 - Identifier 2764111 2764138 - CallExpression 2764140 2764193 - Identifier 2764140 2764185 - Identifier 2764186 2764192 - IfStatement 2764194 2764833 - Identifier 2764220 2764246 - Block 2764247 2764833 - IfStatement 2764249 2764810 - BinaryExpression 2764279 2764356 - CallExpression 2764279 2764304 - Identifier 2764279 2764298 - Identifier 2764299 2764303 - ExclamationEqualsEqualsToken 2764304 2764308 - CallExpression 2764308 2764356 - Identifier 2764308 2764328 - Identifier 2764329 2764355 - Block 2764357 2764549 - ExpressionStatement 2764359 2764522 - CallExpression 2764359 2764521 - Identifier 2764359 2764394 - PropertyAccessExpression 2764395 2764404 - Identifier 2764395 2764399 - Identifier 2764400 2764404 - PropertyAccessExpression 2764405 2764520 - Identifier 2764405 2764417 - Identifier 2764418 2764520 - IfStatement 2764579 2764810 - BinaryExpression 2764584 2764625 - PropertyAccessExpression 2764584 2764592 - Identifier 2764584 2764588 - Identifier 2764589 2764592 - LessThanToken 2764592 2764594 - PropertyAccessExpression 2764594 2764625 - Identifier 2764594 2764621 - Identifier 2764622 2764625 - Block 2764626 2764810 - ExpressionStatement 2764628 2764783 - CallExpression 2764628 2764782 - Identifier 2764628 2764663 - PropertyAccessExpression 2764664 2764673 - Identifier 2764664 2764668 - Identifier 2764669 2764673 - PropertyAccessExpression 2764674 2764781 - Identifier 2764674 2764686 - Identifier 2764687 2764781 - VariableStatement 2764833 2765106 - VariableDeclarationList 2764833 2765105 - VariableDeclaration 2765033 2765105 - Identifier 2765033 2765045 - CallExpression 2765047 2765105 - Identifier 2765047 2765068 - Identifier 2765069 2765075 - PropertyAccessExpression 2765076 2765104 - Identifier 2765076 2765087 - Identifier 2765088 2765104 - IfStatement 2765106 2765381 - BinaryExpression 2765132 2765235 - Identifier 2765132 2765169 - AmpersandAmpersandToken 2765169 2765172 - CallExpression 2765172 2765235 - Identifier 2765172 2765216 - Identifier 2765217 2765221 - Identifier 2765222 2765234 - Block 2765258 2765381 - ExpressionStatement 2765260 2765358 - BinaryExpression 2765260 2765357 - PropertyAccessExpression 2765260 2765310 - CallExpression 2765260 2765304 - Identifier 2765260 2765298 - Identifier 2765299 2765303 - Identifier 2765305 2765310 - BarEqualsToken 2765310 2765313 - PropertyAccessExpression 2765313 2765357 - Identifier 2765313 2765328 - Identifier 2765329 2765357 - IfStatement 2765400 2766037 - BinaryExpression 2765422 2765639 - BinaryExpression 2765422 2765547 - PropertyAccessExpression 2765422 2765480 - Identifier 2765422 2765459 - Identifier 2765460 2765480 - AmpersandAmpersandToken 2765480 2765483 - BinaryExpression 2765483 2765547 - PropertyAccessExpression 2765483 2765521 - PropertyAccessExpression 2765483 2765516 - Identifier 2765483 2765509 - Identifier 2765510 2765516 - Identifier 2765517 2765521 - EqualsEqualsEqualsToken 2765521 2765525 - PropertyAccessExpression 2765525 2765547 - Identifier 2765525 2765536 - Identifier 2765537 2765547 - AmpersandAmpersandToken 2765547 2765550 - BinaryExpression 2765550 2765639 - CallExpression 2765550 2765615 - PropertyAccessExpression 2765550 2765602 - Identifier 2765550 2765576 - Identifier 2765577 2765602 - PropertyAccessExpression 2765603 2765614 - Identifier 2765603 2765607 - Identifier 2765608 2765614 - EqualsEqualsEqualsToken 2765615 2765619 - PropertyAccessExpression 2765619 2765639 - Identifier 2765619 2765630 - Identifier 2765631 2765639 - Block 2765658 2766037 - VariableStatement 2765660 2765768 - VariableDeclarationList 2765660 2765767 - VariableDeclaration 2765687 2765767 - Identifier 2765687 2765702 - CallExpression 2765704 2765767 - PropertyAccessExpression 2765704 2765725 - PropertyAccessExpression 2765704 2765719 - Identifier 2765704 2765709 - Identifier 2765710 2765719 - QuestionDotToken 2765719 2765721 - Identifier 2765721 2765725 - ArrowFunction 2765726 2765766 - Parameter 2765726 2765727 - Identifier 2765726 2765727 - EqualsGreaterThanToken 2765727 2765730 - BinaryExpression 2765730 2765766 - PropertyAccessExpression 2765730 2765737 - Identifier 2765730 2765732 - Identifier 2765733 2765737 - EqualsEqualsEqualsToken 2765737 2765741 - PropertyAccessExpression 2765741 2765766 - Identifier 2765741 2765752 - Identifier 2765753 2765766 - IfStatement 2765768 2766018 - Identifier 2765794 2765808 - Block 2765809 2766018 - ExpressionStatement 2765811 2765995 - CallExpression 2765811 2765994 - Identifier 2765811 2765842 - Identifier 2765843 2765857 - PropertyAccessExpression 2765858 2765993 - Identifier 2765858 2765870 - Identifier 2765871 2765993 - IfStatement 2766052 2768400 - Identifier 2766072 2766095 - Block 2766096 2768400 - IfStatement 2766098 2768385 - CallExpression 2766120 2766154 - Identifier 2766120 2766148 - Identifier 2766149 2766153 - Block 2766155 2767118 - VariableStatement 2766157 2766831 - VariableDeclarationList 2766157 2766830 - VariableDeclaration 2766733 2766830 - Identifier 2766733 2766743 - BinaryExpression 2766745 2766830 - Identifier 2766745 2766766 - BarBarToken 2766766 2766769 - ParenthesizedExpression 2766769 2766830 - BinaryExpression 2766771 2766829 - PropertyAccessExpression 2766771 2766805 - CallExpression 2766771 2766799 - Identifier 2766771 2766793 - Identifier 2766794 2766798 - Identifier 2766800 2766805 - AmpersandToken 2766805 2766807 - PropertyAccessExpression 2766807 2766829 - Identifier 2766807 2766819 - Identifier 2766820 2766829 - IfStatement 2766831 2767099 - BinaryExpression 2766857 2766879 - Identifier 2766857 2766866 - AmpersandAmpersandToken 2766866 2766869 - PropertyAccessExpression 2766869 2766879 - Identifier 2766869 2766874 - Identifier 2766875 2766879 - Block 2766880 2767099 - ForOfStatement 2766882 2767076 - VariableDeclarationList 2766913 2766928 - VariableDeclaration 2766918 2766928 - Identifier 2766918 2766928 - PropertyAccessExpression 2766931 2766952 - PropertyAccessExpression 2766931 2766941 - Identifier 2766931 2766936 - Identifier 2766937 2766941 - Identifier 2766942 2766952 - Block 2766953 2767076 - ExpressionStatement 2766955 2767049 - CallExpression 2766955 2767048 - Identifier 2766955 2767015 - Identifier 2767016 2767025 - Identifier 2767026 2767047 - IfStatement 2767140 2768385 - CallExpression 2767145 2767176 - Identifier 2767145 2767163 - PropertyAccessExpression 2767164 2767175 - Identifier 2767164 2767168 - Identifier 2767169 2767175 - Block 2767177 2767685 - IfStatement 2767179 2767666 - Identifier 2767205 2767225 - Block 2767226 2767421 - ExpressionStatement 2767228 2767398 - CallExpression 2767228 2767397 - Identifier 2767228 2767259 - PropertyAccessExpression 2767260 2767269 - Identifier 2767260 2767264 - Identifier 2767265 2767269 - PropertyAccessExpression 2767270 2767396 - Identifier 2767270 2767282 - Identifier 2767283 2767396 - IfStatement 2767447 2767666 - CallExpression 2767452 2767521 - Identifier 2767452 2767480 - CallExpression 2767481 2767520 - Identifier 2767481 2767509 - PropertyAccessExpression 2767510 2767519 - Identifier 2767510 2767514 - Identifier 2767515 2767519 - Block 2767522 2767666 - ExpressionStatement 2767524 2767643 - CallExpression 2767524 2767642 - Identifier 2767524 2767555 - PropertyAccessExpression 2767556 2767565 - Identifier 2767556 2767560 - Identifier 2767561 2767565 - PropertyAccessExpression 2767566 2767641 - Identifier 2767566 2767578 - Identifier 2767579 2767641 - Block 2767707 2768385 - IfStatement 2767709 2768366 - Identifier 2767735 2767755 - Block 2767756 2767951 - ExpressionStatement 2767758 2767928 - CallExpression 2767758 2767927 - Identifier 2767758 2767789 - PropertyAccessExpression 2767790 2767799 - Identifier 2767790 2767794 - Identifier 2767795 2767799 - PropertyAccessExpression 2767800 2767926 - Identifier 2767800 2767812 - Identifier 2767813 2767926 - Block 2767977 2768366 - ExpressionStatement 2767979 2768343 - CallExpression 2767979 2768342 - Identifier 2767979 2768254 - PropertyAccessExpression 2768255 2768264 - Identifier 2768255 2768259 - Identifier 2768260 2768264 - PropertyAccessExpression 2768265 2768341 - Identifier 2768265 2768277 - Identifier 2768278 2768341 - FunctionDeclaration 2768418 2770649 - Identifier 2768434 2768465 - Parameter 2768466 2768476 - Identifier 2768466 2768470 - TypeReference 2768471 2768476 - Identifier 2768471 2768476 - Parameter 2768477 2768507 - Identifier 2768477 2768498 - BooleanKeyword 2768499 2768507 - VoidKeyword 2768509 2768514 - Block 2768514 2770649 - SwitchStatement 2768516 2770642 - PropertyAccessExpression 2768534 2768543 - Identifier 2768534 2768538 - Identifier 2768539 2768543 - CaseBlock 2768544 2770642 - CaseClause 2768546 2768932 - PropertyAccessExpression 2768564 2768593 - Identifier 2768564 2768575 - Identifier 2768576 2768593 - ForOfStatement 2768594 2768908 - VariableDeclarationList 2768735 2768745 - VariableDeclaration 2768740 2768745 - Identifier 2768740 2768745 - PropertyAccessExpression 2768748 2768805 - PropertyAccessExpression 2768748 2768792 - ParenthesizedExpression 2768748 2768776 - AsExpression 2768750 2768775 - Identifier 2768750 2768754 - TypeReference 2768757 2768775 - Identifier 2768757 2768775 - Identifier 2768777 2768792 - Identifier 2768793 2768805 - Block 2768806 2768908 - ExpressionStatement 2768808 2768889 - CallExpression 2768808 2768888 - Identifier 2768808 2768860 - Identifier 2768861 2768865 - Identifier 2768866 2768887 - BreakStatement 2768908 2768932 - CaseClause 2768932 2768979 - PropertyAccessExpression 2768950 2768978 - Identifier 2768950 2768961 - Identifier 2768962 2768978 - CaseClause 2768979 2769186 - PropertyAccessExpression 2768997 2769026 - Identifier 2768997 2769008 - Identifier 2769009 2769026 - ExpressionStatement 2769027 2769162 - CallExpression 2769027 2769161 - Identifier 2769027 2769069 - Identifier 2769070 2769074 - PropertyAccessExpression 2769075 2769160 - Identifier 2769075 2769087 - Identifier 2769088 2769160 - BreakStatement 2769162 2769186 - CaseClause 2769186 2769413 - PropertyAccessExpression 2769204 2769239 - Identifier 2769204 2769215 - Identifier 2769216 2769239 - IfStatement 2769240 2769413 - CallExpression 2769360 2769405 - Identifier 2769360 2769399 - Identifier 2769400 2769404 - BreakStatement 2769406 2769413 - CaseClause 2769413 2769685 - PropertyAccessExpression 2769465 2769494 - Identifier 2769465 2769476 - Identifier 2769477 2769494 - ExpressionStatement 2769495 2769661 - CallExpression 2769495 2769660 - Identifier 2769495 2769537 - Identifier 2769538 2769542 - PropertyAccessExpression 2769543 2769659 - Identifier 2769543 2769555 - Identifier 2769556 2769659 - BreakStatement 2769661 2769685 - CaseClause 2769685 2769730 - PropertyAccessExpression 2769703 2769729 - Identifier 2769703 2769714 - Identifier 2769715 2769729 - CaseClause 2769730 2770187 - PropertyAccessExpression 2769748 2769779 - Identifier 2769748 2769759 - Identifier 2769760 2769779 - VariableStatement 2769780 2769863 - VariableDeclarationList 2769780 2769862 - VariableDeclaration 2769803 2769862 - Identifier 2769803 2769808 - PropertyAccessExpression 2769810 2769862 - ParenthesizedExpression 2769810 2769857 - AsExpression 2769812 2769856 - Identifier 2769812 2769816 - UnionType 2769819 2769856 - TypeReference 2769819 2769839 - Identifier 2769819 2769839 - TypeReference 2769841 2769856 - Identifier 2769841 2769856 - Identifier 2769858 2769862 - IfStatement 2769863 2770187 - CallExpression 2769885 2769907 - Identifier 2769885 2769901 - Identifier 2769902 2769906 - Block 2769908 2770187 - ForOfStatement 2769910 2770140 - VariableDeclarationList 2769937 2769945 - VariableDeclaration 2769942 2769945 - Identifier 2769942 2769945 - PropertyAccessExpression 2769948 2769962 - Identifier 2769948 2769953 - Identifier 2769954 2769962 - Block 2769963 2770140 - ExpressionStatement 2769965 2770117 - CallExpression 2769965 2770116 - Identifier 2769965 2770090 - Identifier 2770091 2770093 - Identifier 2770094 2770115 - BreakStatement 2770140 2770168 - CaseClause 2770187 2770268 - PropertyAccessExpression 2770239 2770267 - Identifier 2770239 2770250 - Identifier 2770251 2770267 - CaseClause 2770268 2770314 - PropertyAccessExpression 2770286 2770313 - Identifier 2770286 2770297 - Identifier 2770298 2770313 - CaseClause 2770314 2770364 - PropertyAccessExpression 2770332 2770363 - Identifier 2770332 2770343 - Identifier 2770344 2770363 - CaseClause 2770364 2770415 - PropertyAccessExpression 2770382 2770414 - Identifier 2770382 2770393 - Identifier 2770394 2770414 - CaseClause 2770415 2770463 - PropertyAccessExpression 2770433 2770462 - Identifier 2770433 2770444 - Identifier 2770445 2770462 - CaseClause 2770463 2770631 - PropertyAccessExpression 2770481 2770513 - Identifier 2770481 2770492 - Identifier 2770493 2770513 - IfStatement 2770514 2770607 - Identifier 2770536 2770556 - Block 2770557 2770607 - ReturnStatement 2770559 2770588 - BreakStatement 2770607 2770631 - FunctionDeclaration 2770649 2771500 - Identifier 2770665 2770700 - Parameter 2770701 2770739 - Identifier 2770701 2770705 - TypeReference 2770706 2770739 - Identifier 2770706 2770739 - TypeReference 2770741 2770752 - Identifier 2770741 2770752 - Block 2770752 2771500 - SwitchStatement 2770754 2771493 - PropertyAccessExpression 2770772 2770781 - Identifier 2770772 2770776 - Identifier 2770777 2770781 - CaseBlock 2770782 2771493 - CaseClause 2770784 2770855 - PropertyAccessExpression 2770802 2770824 - Identifier 2770802 2770813 - Identifier 2770814 2770824 - ReturnStatement 2770825 2770855 - Identifier 2770849 2770854 - CaseClause 2770855 2771071 - PropertyAccessExpression 2770873 2770898 - Identifier 2770873 2770884 - Identifier 2770885 2770898 - DoStatement 2770899 2771041 - Block 2770919 2770979 - ExpressionStatement 2770921 2770960 - BinaryExpression 2770921 2770959 - Identifier 2770921 2770947 - EqualsToken 2770947 2770949 - PropertyAccessExpression 2770949 2770959 - Identifier 2770949 2770954 - Identifier 2770955 2770959 - BinaryExpression 2771004 2771039 - PropertyAccessExpression 2771004 2771013 - Identifier 2771004 2771008 - Identifier 2771009 2771013 - ExclamationEqualsEqualsToken 2771013 2771017 - PropertyAccessExpression 2771017 2771039 - Identifier 2771017 2771028 - Identifier 2771029 2771039 - ReturnStatement 2771041 2771071 - Identifier 2771065 2771070 - CaseClause 2771071 2771482 - PropertyAccessExpression 2771089 2771125 - Identifier 2771089 2771100 - Identifier 2771101 2771125 - DoStatement 2771126 2771452 - Block 2771146 2771390 - IfStatement 2771148 2771326 - BinaryExpression 2771174 2771257 - CallExpression 2771174 2771222 - Identifier 2771174 2771205 - PropertyAccessExpression 2771206 2771221 - Identifier 2771206 2771210 - Identifier 2771211 2771221 - AmpersandAmpersandToken 2771222 2771225 - PrefixUnaryExpression 2771225 2771257 - CallExpression 2771227 2771257 - Identifier 2771227 2771246 - PropertyAccessExpression 2771247 2771256 - Identifier 2771247 2771251 - Identifier 2771252 2771256 - Block 2771258 2771326 - ReturnStatement 2771260 2771303 - PropertyAccessExpression 2771292 2771302 - Identifier 2771292 2771297 - Identifier 2771298 2771302 - ExpressionStatement 2771326 2771371 - BinaryExpression 2771326 2771370 - Identifier 2771326 2771352 - EqualsToken 2771352 2771354 - PropertyAccessExpression 2771354 2771370 - Identifier 2771354 2771359 - Identifier 2771360 2771370 - BinaryExpression 2771415 2771450 - PropertyAccessExpression 2771415 2771424 - Identifier 2771415 2771419 - Identifier 2771420 2771424 - ExclamationEqualsEqualsToken 2771424 2771428 - PropertyAccessExpression 2771428 2771450 - Identifier 2771428 2771439 - Identifier 2771440 2771450 - ReturnStatement 2771452 2771482 - Identifier 2771476 2771481 - FunctionDeclaration 2771500 2774053 - Identifier 2771516 2771555 - Parameter 2771556 2771625 - Identifier 2771556 2771560 - UnionType 2771561 2771625 - TypeReference 2771561 2771579 - Identifier 2771561 2771579 - TypeReference 2771581 2771605 - Identifier 2771581 2771605 - TypeReference 2771607 2771625 - Identifier 2771607 2771625 - BooleanKeyword 2771627 2771635 - Block 2771635 2774053 - VariableStatement 2771637 2771694 - VariableDeclarationList 2771637 2771693 - VariableDeclaration 2771652 2771693 - Identifier 2771652 2771663 - CallExpression 2771665 2771693 - Identifier 2771665 2771687 - Identifier 2771688 2771692 - IfStatement 2771694 2771830 - BinaryExpression 2771708 2771748 - PrefixUnaryExpression 2771708 2771719 - Identifier 2771709 2771719 - BarBarToken 2771719 2771722 - CallExpression 2771722 2771748 - Identifier 2771722 2771736 - Identifier 2771737 2771747 - Block 2771749 2771830 - ReturnStatement 2771751 2771819 - FalseKeyword 2771812 2771818 - IfStatement 2771830 2771982 - PrefixUnaryExpression 2771844 2771872 - CallExpression 2771845 2771872 - Identifier 2771845 2771860 - Identifier 2771861 2771871 - Block 2771873 2771982 - ExpressionStatement 2771875 2771944 - CallExpression 2771875 2771943 - Identifier 2771875 2771894 - Identifier 2771895 2771905 - PropertyAccessExpression 2771906 2771942 - Identifier 2771906 2771918 - Identifier 2771919 2771942 - ReturnStatement 2771944 2771971 - FalseKeyword 2771964 2771970 - VariableStatement 2771982 2772107 - VariableDeclarationList 2771982 2772106 - VariableDeclaration 2771997 2772106 - Identifier 2771997 2772021 - BinaryExpression 2772023 2772106 - BinaryExpression 2772023 2772067 - PropertyAccessExpression 2772023 2772040 - PropertyAccessExpression 2772023 2772035 - Identifier 2772023 2772028 - Identifier 2772029 2772035 - Identifier 2772036 2772040 - EqualsEqualsEqualsToken 2772040 2772044 - PropertyAccessExpression 2772044 2772067 - Identifier 2772044 2772055 - Identifier 2772056 2772067 - AmpersandAmpersandToken 2772067 2772070 - CallExpression 2772070 2772106 - Identifier 2772070 2772086 - PropertyAccessExpression 2772087 2772105 - PropertyAccessExpression 2772087 2772098 - Identifier 2772087 2772091 - Identifier 2772092 2772098 - Identifier 2772099 2772105 - IfStatement 2772107 2772542 - BinaryExpression 2772121 2772191 - BinaryExpression 2772121 2772163 - PropertyAccessExpression 2772121 2772137 - PropertyAccessExpression 2772121 2772132 - Identifier 2772121 2772125 - Identifier 2772126 2772132 - Identifier 2772133 2772137 - ExclamationEqualsEqualsToken 2772137 2772141 - PropertyAccessExpression 2772141 2772163 - Identifier 2772141 2772152 - Identifier 2772153 2772163 - AmpersandAmpersandToken 2772163 2772166 - PrefixUnaryExpression 2772166 2772191 - Identifier 2772168 2772191 - Block 2772192 2772542 - ExpressionStatement 2772194 2772504 - CallExpression 2772194 2772503 - Identifier 2772194 2772213 - Identifier 2772214 2772242 - ConditionalExpression 2772243 2772487 - BinaryExpression 2772243 2772303 - PropertyAccessExpression 2772243 2772270 - Identifier 2772243 2772265 - Identifier 2772266 2772270 - EqualsEqualsEqualsToken 2772270 2772274 - PropertyAccessExpression 2772274 2772303 - Identifier 2772274 2772285 - Identifier 2772286 2772303 - QuestionToken 2772303 2772305 - PropertyAccessExpression 2772305 2772391 - Identifier 2772305 2772338 - Identifier 2772339 2772391 - ColonToken 2772391 2772393 - PropertyAccessExpression 2772393 2772487 - Identifier 2772393 2772426 - Identifier 2772427 2772487 - ReturnStatement 2772504 2772531 - FalseKeyword 2772524 2772530 - IfStatement 2772542 2773414 - BinaryExpression 2772556 2772628 - Identifier 2772556 2772579 - AmpersandAmpersandToken 2772579 2772582 - CallExpression 2772582 2772628 - Identifier 2772582 2772611 - PropertyAccessExpression 2772612 2772627 - Identifier 2772612 2772622 - Identifier 2772623 2772627 - Block 2772629 2773414 - IfStatement 2772631 2773403 - PrefixUnaryExpression 2772827 2772872 - CallExpression 2772828 2772872 - Identifier 2772828 2772866 - Identifier 2772867 2772871 - Block 2772873 2773403 - ExpressionStatement 2772875 2773357 - CallExpression 2772875 2773356 - Identifier 2772875 2773222 - Identifier 2773223 2773227 - PropertyAccessExpression 2773228 2773355 - Identifier 2773228 2773240 - Identifier 2773241 2773355 - ReturnStatement 2773357 2773388 - FalseKeyword 2773381 2773387 - IfStatement 2773414 2774024 - BinaryExpression 2773428 2773479 - PrefixUnaryExpression 2773428 2773460 - CallExpression 2773429 2773460 - Identifier 2773429 2773454 - Identifier 2773455 2773459 - AmpersandAmpersandToken 2773460 2773463 - PropertyAccessExpression 2773463 2773479 - Identifier 2773463 2773468 - Identifier 2773469 2773479 - Block 2773480 2774024 - VariableStatement 2773482 2773710 - VariableDeclarationList 2773482 2773709 - VariableDeclaration 2773501 2773709 - Identifier 2773501 2773512 - ConditionalExpression 2773514 2773709 - BinaryExpression 2773514 2773563 - PropertyAccessExpression 2773514 2773536 - PropertyAccessExpression 2773514 2773530 - Identifier 2773514 2773519 - Identifier 2773520 2773530 - Identifier 2773531 2773536 - EqualsEqualsEqualsToken 2773536 2773540 - PropertyAccessExpression 2773540 2773563 - Identifier 2773540 2773551 - Identifier 2773552 2773563 - QuestionToken 2773563 2773565 - PropertyAccessExpression 2773565 2773636 - Identifier 2773565 2773577 - Identifier 2773578 2773636 - ColonToken 2773636 2773638 - PropertyAccessExpression 2773638 2773709 - Identifier 2773638 2773650 - Identifier 2773651 2773709 - VariableStatement 2773710 2773745 - VariableDeclarationList 2773710 2773744 - VariableDeclaration 2773727 2773744 - Identifier 2773727 2773736 - FalseKeyword 2773738 2773744 - ForOfStatement 2773745 2773982 - VariableDeclarationList 2773764 2773774 - VariableDeclaration 2773769 2773774 - Identifier 2773769 2773774 - PropertyAccessExpression 2773777 2773802 - PropertyAccessExpression 2773777 2773793 - Identifier 2773777 2773782 - Identifier 2773783 2773793 - Identifier 2773794 2773802 - Block 2773803 2773982 - IfStatement 2773805 2773967 - PrefixUnaryExpression 2773827 2773855 - CallExpression 2773828 2773855 - Identifier 2773828 2773843 - PropertyAccessExpression 2773844 2773854 - Identifier 2773844 2773848 - Identifier 2773849 2773854 - Block 2773856 2773967 - ExpressionStatement 2773858 2773896 - BinaryExpression 2773858 2773895 - Identifier 2773858 2773888 - EqualsToken 2773888 2773890 - TrueKeyword 2773890 2773895 - ExpressionStatement 2773896 2773948 - CallExpression 2773896 2773947 - Identifier 2773896 2773923 - PropertyAccessExpression 2773924 2773934 - Identifier 2773924 2773928 - Identifier 2773929 2773934 - Identifier 2773935 2773946 - ReturnStatement 2773982 2774013 - PrefixUnaryExpression 2774002 2774012 - Identifier 2774004 2774012 - ReturnStatement 2774024 2774046 - TrueKeyword 2774040 2774045 - FunctionDeclaration 2774053 2774649 - Identifier 2774069 2774091 - Parameter 2774092 2774126 - Identifier 2774092 2774096 - UnionType 2774097 2774126 - TypeReference 2774097 2774114 - Identifier 2774097 2774114 - UndefinedKeyword 2774116 2774126 - Parameter 2774127 2774153 - Identifier 2774127 2774146 - TrueKeyword 2774148 2774153 - Block 2774154 2774649 - IfStatement 2774156 2774265 - BinaryExpression 2774170 2774230 - BinaryExpression 2774170 2774188 - Identifier 2774170 2774174 - EqualsEqualsEqualsToken 2774174 2774178 - Identifier 2774178 2774188 - BarBarToken 2774188 2774191 - BinaryExpression 2774191 2774230 - PropertyAccessExpression 2774191 2774201 - Identifier 2774191 2774196 - Identifier 2774197 2774201 - ExclamationEqualsEqualsToken 2774201 2774205 - PropertyAccessExpression 2774205 2774230 - Identifier 2774205 2774216 - Identifier 2774217 2774230 - Block 2774231 2774265 - ReturnStatement 2774233 2774254 - IfStatement 2774265 2774642 - PrefixUnaryExpression 2774279 2774298 - Identifier 2774280 2774298 - Block 2774299 2774384 - ExpressionStatement 2774301 2774373 - CallExpression 2774301 2774372 - Identifier 2774301 2774333 - Identifier 2774334 2774338 - PropertyAccessExpression 2774339 2774371 - Identifier 2774339 2774351 - Identifier 2774352 2774371 - IfStatement 2774398 2774642 - BinaryExpression 2774403 2774471 - BinaryExpression 2774403 2774435 - Identifier 2774403 2774413 - EqualsEqualsEqualsToken 2774413 2774417 - PropertyAccessExpression 2774417 2774435 - Identifier 2774417 2774428 - Identifier 2774429 2774435 - BarBarToken 2774435 2774438 - BinaryExpression 2774438 2774471 - Identifier 2774438 2774449 - EqualsEqualsEqualsToken 2774449 2774453 - PropertyAccessExpression 2774453 2774471 - Identifier 2774453 2774464 - Identifier 2774465 2774471 - Block 2774472 2774642 - ExpressionStatement 2774474 2774631 - CallExpression 2774474 2774630 - Identifier 2774474 2774506 - Identifier 2774507 2774511 - PropertyAccessExpression 2774512 2774629 - Identifier 2774512 2774524 - Identifier 2774525 2774629 - FunctionDeclaration 2774649 2786207 - Identifier 2774665 2774682 - Parameter 2774683 2774709 - Identifier 2774683 2774687 - TypeReference 2774688 2774709 - Identifier 2774688 2774709 - Block 2774710 2786207 - VariableStatement 2774712 2774764 - VariableDeclarationList 2774712 2774763 - VariableDeclaration 2774725 2774763 - Identifier 2774725 2774732 - CallExpression 2774734 2774763 - Identifier 2774734 2774757 - Identifier 2774758 2774762 - VariableStatement 2774764 2774810 - VariableDeclarationList 2774764 2774809 - VariableDeclaration 2774779 2774809 - Identifier 2774779 2774786 - CallExpression 2774788 2774809 - Identifier 2774788 2774801 - Identifier 2774802 2774808 - IfStatement 2774810 2786200 - BinaryExpression 2774826 2774850 - Identifier 2774826 2774832 - ExclamationEqualsEqualsToken 2774832 2774836 - Identifier 2774836 2774850 - Block 2774851 2786200 - ExpressionStatement 2774853 2775636 - BinaryExpression 2774853 2775635 - Identifier 2774853 2775586 - EqualsToken 2775586 2775588 - CallExpression 2775588 2775635 - Identifier 2775588 2775604 - BinaryExpression 2775605 2775634 - PropertyAccessExpression 2775605 2775624 - Identifier 2775605 2775611 - Identifier 2775612 2775624 - BarBarToken 2775624 2775627 - Identifier 2775627 2775634 - IfStatement 2775636 2778159 - BinaryExpression 2775785 2775886 - BinaryExpression 2775785 2775840 - CallExpression 2775785 2775801 - Identifier 2775785 2775795 - Identifier 2775796 2775800 - AmpersandAmpersandToken 2775801 2775804 - PrefixUnaryExpression 2775804 2775840 - ParenthesizedExpression 2775806 2775840 - BinaryExpression 2775807 2775839 - PropertyAccessExpression 2775807 2775819 - Identifier 2775807 2775813 - Identifier 2775814 2775819 - AmpersandToken 2775819 2775821 - PropertyAccessExpression 2775821 2775839 - Identifier 2775821 2775833 - Identifier 2775834 2775839 - AmpersandAmpersandToken 2775840 2775843 - PrefixUnaryExpression 2775843 2775886 - CallExpression 2775845 2775886 - Identifier 2775845 2775880 - Identifier 2775881 2775885 - Block 2775887 2778159 - VariableStatement 2775889 2776078 - VariableDeclarationList 2775889 2776077 - VariableDeclaration 2775912 2776077 - Identifier 2775912 2775922 - ConditionalExpression 2775924 2776077 - CallExpression 2775924 2775956 - Identifier 2775924 2775950 - Identifier 2775951 2775955 - QuestionToken 2775956 2775958 - BinaryExpression 2775958 2775989 - PropertyAccessExpression 2775958 2775976 - Identifier 2775958 2775963 - Identifier 2775964 2775976 - BarBarToken 2775976 2775979 - PropertyAccessExpression 2775979 2775989 - Identifier 2775979 2775984 - Identifier 2775985 2775989 - ColonToken 2775989 2775991 - ConditionalExpression 2775991 2776077 - CallExpression 2775991 2776037 - Identifier 2775991 2776031 - Identifier 2776032 2776036 - QuestionToken 2776037 2776039 - PropertyAccessExpression 2776039 2776049 - Identifier 2776039 2776044 - Identifier 2776045 2776049 - ColonToken 2776049 2776051 - Identifier 2776051 2776077 - ExpressionStatement 2776078 2776153 - CallExpression 2776078 2776152 - PropertyAccessExpression 2776078 2776110 - Identifier 2776078 2776103 - Identifier 2776104 2776110 - BinaryExpression 2776111 2776151 - PropertyAccessExpression 2776111 2776120 - Identifier 2776111 2776115 - Identifier 2776116 2776120 - ExclamationEqualsEqualsToken 2776120 2776124 - PropertyAccessExpression 2776124 2776151 - Identifier 2776124 2776135 - Identifier 2776136 2776151 - IfStatement 2776153 2778119 - BinaryExpression 2776175 2776215 - PropertyAccessExpression 2776175 2776184 - Identifier 2776175 2776179 - Identifier 2776180 2776184 - EqualsEqualsEqualsToken 2776184 2776188 - PropertyAccessExpression 2776188 2776215 - Identifier 2776188 2776199 - Identifier 2776200 2776215 - Block 2776216 2777251 - VariableStatement 2776218 2776346 - VariableDeclarationList 2776218 2776345 - VariableDeclaration 2776245 2776345 - Identifier 2776245 2776250 - CallExpression 2776252 2776345 - Identifier 2776252 2776258 - Identifier 2776259 2776268 - PropertyAccessExpression 2776269 2776344 - Identifier 2776269 2776281 - Identifier 2776282 2776344 - VariableStatement 2776346 2776506 - VariableDeclarationList 2776346 2776505 - VariableDeclaration 2776373 2776505 - Identifier 2776373 2776395 - CallExpression 2776397 2776505 - PropertyAccessExpression 2776397 2776444 - PropertyAccessExpression 2776397 2776439 - PropertyAccessExpression 2776397 2776430 - CallExpression 2776397 2776423 - Identifier 2776397 2776417 - Identifier 2776418 2776422 - Identifier 2776424 2776430 - QuestionDotToken 2776430 2776432 - Identifier 2776432 2776439 - QuestionDotToken 2776439 2776441 - Identifier 2776441 2776444 - CallExpression 2776445 2776504 - Identifier 2776445 2776472 - BinaryExpression 2776473 2776503 - PropertyAccessExpression 2776473 2776490 - Identifier 2776473 2776477 - Identifier 2776478 2776490 - BarBarToken 2776490 2776493 - PropertyAccessExpression 2776493 2776503 - Identifier 2776493 2776498 - Identifier 2776499 2776503 - IfStatement 2776506 2777232 - BinaryExpression 2776532 2776564 - Identifier 2776532 2776553 - EqualsEqualsEqualsToken 2776553 2776557 - Identifier 2776557 2776564 - Block 2776565 2777232 - VariableStatement 2776567 2776676 - VariableDeclarationList 2776567 2776675 - VariableDeclaration 2776598 2776675 - Identifier 2776598 2776619 - CallExpression 2776621 2776675 - PropertyAccessExpression 2776621 2776662 - PropertyAccessExpression 2776621 2776656 - Identifier 2776621 2776643 - Identifier 2776644 2776656 - QuestionDotToken 2776656 2776658 - Identifier 2776658 2776662 - Identifier 2776663 2776674 - IfStatement 2776676 2777209 - Identifier 2776706 2776726 - Block 2776727 2777209 - ExpressionStatement 2776729 2777182 - CallExpression 2776729 2777181 - Identifier 2776729 2776773 - Identifier 2776774 2776812 - CallExpression 2776813 2777149 - Identifier 2776813 2776870 - Identifier 2776871 2776929 - PropertyAccessExpression 2776930 2777013 - Identifier 2776930 2776979 - Identifier 2776980 2777013 - CallExpression 2777014 2777113 - Identifier 2777014 2777078 - PropertyAccessExpression 2777079 2777112 - Identifier 2777079 2777100 - Identifier 2777101 2777112 - Block 2777273 2778119 - ExpressionStatement 2777275 2777356 - CallExpression 2777275 2777355 - PropertyAccessExpression 2777275 2777309 - Identifier 2777275 2777302 - Identifier 2777303 2777309 - BinaryExpression 2777310 2777354 - PropertyAccessExpression 2777310 2777319 - Identifier 2777310 2777314 - Identifier 2777315 2777319 - ExclamationEqualsEqualsToken 2777319 2777323 - PropertyAccessExpression 2777323 2777354 - Identifier 2777323 2777334 - Identifier 2777335 2777354 - VariableStatement 2777356 2777475 - VariableDeclarationList 2777356 2777474 - VariableDeclaration 2777383 2777474 - Identifier 2777383 2777401 - CallExpression 2777403 2777474 - Identifier 2777403 2777416 - Identifier 2777417 2777421 - CallExpression 2777422 2777473 - Identifier 2777422 2777425 - Identifier 2777426 2777445 - Identifier 2777446 2777472 - VariableStatement 2777475 2777615 - VariableDeclarationList 2777475 2777614 - VariableDeclaration 2777502 2777614 - Identifier 2777502 2777518 - BinaryExpression 2777520 2777614 - ParenthesizedExpression 2777520 2777605 - BinaryExpression 2777522 2777604 - Identifier 2777522 2777539 - AmpersandAmpersandToken 2777539 2777542 - PropertyAccessExpression 2777542 2777604 - CallExpression 2777542 2777598 - Identifier 2777542 2777579 - Identifier 2777580 2777597 - QuestionDotToken 2777598 2777600 - Identifier 2777600 2777604 - QuestionQuestionToken 2777605 2777608 - StringLiteral 2777608 2777614 - VariableStatement 2777615 2777761 - VariableDeclarationList 2777615 2777760 - VariableDeclaration 2777642 2777760 - Identifier 2777642 2777661 - CallExpression 2777663 2777760 - Identifier 2777663 2777690 - ConditionalExpression 2777691 2777759 - CallExpression 2777691 2777714 - Identifier 2777691 2777703 - Identifier 2777704 2777713 - QuestionToken 2777714 2777716 - PropertyAccessExpression 2777716 2777738 - Identifier 2777716 2777726 - Identifier 2777727 2777738 - ColonToken 2777738 2777740 - PropertyAccessExpression 2777740 2777759 - Identifier 2777740 2777747 - Identifier 2777748 2777759 - ExpressionStatement 2777761 2778100 - CallExpression 2777761 2778099 - Identifier 2777761 2777788 - Identifier 2777789 2777824 - PropertyAccessExpression 2777825 2777951 - Identifier 2777825 2777862 - Identifier 2777863 2777951 - Identifier 2777952 2777996 - TemplateExpression 2777997 2778075 - TemplateHead 2777997 2778034 - TemplateSpan 2778034 2778055 - Identifier 2778034 2778049 - TemplateMiddle 2778049 2778055 - TemplateSpan 2778055 2778075 - Identifier 2778055 2778073 - TemplateTail 2778073 2778075 - ReturnStatement 2778119 2778144 - VariableStatement 2778159 2778218 - VariableDeclarationList 2778159 2778217 - VariableDeclaration 2778180 2778217 - Identifier 2778180 2778192 - CallExpression 2778194 2778217 - Identifier 2778194 2778209 - Identifier 2778210 2778216 - VariableStatement 2778218 2778506 - VariableDeclarationList 2778218 2778505 - VariableDeclaration 2778237 2778505 - Identifier 2778237 2778254 - BinaryExpression 2778256 2778505 - BinaryExpression 2778256 2778419 - ParenthesizedExpression 2778256 2778343 - ConditionalExpression 2778258 2778342 - BinaryExpression 2778258 2778318 - PropertyAccessExpression 2778258 2778270 - Identifier 2778258 2778264 - Identifier 2778265 2778270 - AmpersandToken 2778270 2778272 - ParenthesizedExpression 2778272 2778318 - BinaryExpression 2778274 2778317 - PropertyAccessExpression 2778274 2778291 - Identifier 2778274 2778285 - Identifier 2778286 2778291 - BarToken 2778291 2778293 - PropertyAccessExpression 2778293 2778317 - Identifier 2778293 2778305 - Identifier 2778306 2778317 - QuestionToken 2778318 2778320 - PropertyAccessExpression 2778320 2778338 - Identifier 2778320 2778332 - Identifier 2778333 2778338 - ColonToken 2778338 2778340 - NumericLiteral 2778340 2778342 - BarToken 2778343 2778345 - ParenthesizedExpression 2778345 2778419 - ConditionalExpression 2778364 2778418 - BinaryExpression 2778364 2778395 - PropertyAccessExpression 2778364 2778376 - Identifier 2778364 2778370 - Identifier 2778371 2778376 - AmpersandToken 2778376 2778378 - PropertyAccessExpression 2778378 2778395 - Identifier 2778378 2778390 - Identifier 2778391 2778395 - QuestionToken 2778395 2778397 - PropertyAccessExpression 2778397 2778414 - Identifier 2778397 2778409 - Identifier 2778410 2778414 - ColonToken 2778414 2778416 - NumericLiteral 2778416 2778418 - BarToken 2778419 2778421 - ParenthesizedExpression 2778421 2778505 - ConditionalExpression 2778440 2778504 - BinaryExpression 2778440 2778476 - PropertyAccessExpression 2778440 2778452 - Identifier 2778440 2778446 - Identifier 2778447 2778452 - AmpersandToken 2778452 2778454 - PropertyAccessExpression 2778454 2778476 - Identifier 2778454 2778466 - Identifier 2778467 2778476 - QuestionToken 2778476 2778478 - PropertyAccessExpression 2778478 2778500 - Identifier 2778478 2778490 - Identifier 2778491 2778500 - ColonToken 2778500 2778502 - NumericLiteral 2778502 2778504 - IfStatement 2778506 2779855 - BinaryExpression 2778524 2778554 - Identifier 2778524 2778535 - AmpersandToken 2778535 2778537 - Identifier 2778537 2778554 - Block 2778555 2778897 - VariableStatement 2778557 2778819 - VariableDeclarationList 2778557 2778818 - VariableDeclaration 2778580 2778818 - Identifier 2778580 2778588 - ConditionalExpression 2778590 2778818 - BinaryExpression 2778590 2778631 - PropertyAccessExpression 2778590 2778600 - Identifier 2778590 2778595 - Identifier 2778596 2778600 - EqualsEqualsEqualsToken 2778600 2778604 - PropertyAccessExpression 2778604 2778631 - Identifier 2778604 2778615 - Identifier 2778616 2778631 - QuestionToken 2778631 2778633 - PropertyAccessExpression 2778633 2778726 - Identifier 2778633 2778666 - Identifier 2778667 2778726 - ColonToken 2778726 2778728 - PropertyAccessExpression 2778728 2778818 - Identifier 2778728 2778761 - Identifier 2778762 2778818 - ExpressionStatement 2778819 2778882 - CallExpression 2778819 2778881 - Identifier 2778819 2778842 - Identifier 2778843 2778847 - Identifier 2778848 2778856 - CallExpression 2778857 2778880 - Identifier 2778857 2778872 - Identifier 2778873 2778879 - IfStatement 2778915 2779855 - BinaryExpression 2778920 2778960 - PropertyAccessExpression 2778920 2778929 - Identifier 2778920 2778924 - Identifier 2778925 2778929 - ExclamationEqualsEqualsToken 2778929 2778933 - PropertyAccessExpression 2778933 2778960 - Identifier 2778933 2778944 - Identifier 2778945 2778960 - Block 2778961 2779855 - VariableStatement 2778963 2779371 - VariableDeclarationList 2778963 2779370 - VariableDeclaration 2779250 2779370 - Identifier 2779250 2779276 - BinaryExpression 2779278 2779370 - PropertyAccessExpression 2779278 2779310 - Identifier 2779278 2779294 - Identifier 2779295 2779310 - AmpersandAmpersandToken 2779310 2779313 - PrefixUnaryExpression 2779313 2779370 - CallExpression 2779315 2779370 - Identifier 2779315 2779327 - Identifier 2779328 2779332 - Identifier 2779333 2779369 - IfStatement 2779371 2779840 - BinaryExpression 2779393 2779482 - Identifier 2779393 2779418 - AmpersandAmpersandToken 2779418 2779421 - BinaryExpression 2779421 2779482 - PropertyAccessExpression 2779421 2779434 - Identifier 2779421 2779428 - Identifier 2779429 2779434 - AmpersandToken 2779434 2779436 - ParenthesizedExpression 2779436 2779482 - BinaryExpression 2779438 2779481 - PropertyAccessExpression 2779438 2779455 - Identifier 2779438 2779449 - Identifier 2779450 2779455 - BarToken 2779455 2779457 - PropertyAccessExpression 2779457 2779481 - Identifier 2779457 2779469 - Identifier 2779470 2779481 - Block 2779483 2779840 - ExpressionStatement 2779485 2779821 - CallExpression 2779485 2779820 - Identifier 2779485 2779512 - Identifier 2779513 2779543 - PropertyAccessExpression 2779544 2779693 - Identifier 2779544 2779581 - Identifier 2779582 2779693 - CallExpression 2779694 2779742 - Identifier 2779694 2779734 - Identifier 2779735 2779741 - Identifier 2779743 2779796 - IfStatement 2779855 2785822 - BinaryExpression 2779875 2780045 - BinaryExpression 2779875 2779991 - CallExpression 2779875 2779928 - Identifier 2779875 2779911 - Identifier 2779912 2779927 - AmpersandAmpersandToken 2779928 2779948 - PrefixUnaryExpression 2779948 2779991 - CallExpression 2779950 2779991 - Identifier 2779950 2779985 - Identifier 2779986 2779990 - AmpersandAmpersandToken 2779991 2780011 - PrefixUnaryExpression 2780011 2780045 - ParenthesizedExpression 2780013 2780045 - BinaryExpression 2780014 2780044 - PropertyAccessExpression 2780014 2780024 - Identifier 2780014 2780018 - Identifier 2780019 2780024 - AmpersandToken 2780024 2780026 - PropertyAccessExpression 2780026 2780044 - Identifier 2780026 2780036 - Identifier 2780037 2780044 - Block 2780060 2785822 - VariableStatement 2780062 2780138 - VariableDeclarationList 2780062 2780137 - VariableDeclaration 2780085 2780137 - Identifier 2780085 2780099 - CallExpression 2780101 2780137 - Identifier 2780101 2780129 - Identifier 2780130 2780136 - VariableStatement 2780138 2780206 - VariableDeclarationList 2780138 2780205 - VariableDeclaration 2780161 2780205 - Identifier 2780161 2780168 - PrefixUnaryExpression 2780170 2780205 - ParenthesizedExpression 2780172 2780205 - BinaryExpression 2780173 2780204 - Identifier 2780173 2780184 - AmpersandToken 2780184 2780186 - PropertyAccessExpression 2780186 2780204 - Identifier 2780186 2780198 - Identifier 2780199 2780204 - IfStatement 2780206 2783548 - BinaryExpression 2780228 2780251 - Identifier 2780228 2780234 - BarBarToken 2780234 2780237 - Identifier 2780237 2780251 - Block 2780252 2783548 - SwitchStatement 2780254 2783529 - PropertyAccessExpression 2780284 2780293 - Identifier 2780284 2780288 - Identifier 2780289 2780293 - CaseBlock 2780294 2783529 - CaseClause 2780296 2780351 - PropertyAccessExpression 2780326 2780350 - Identifier 2780326 2780337 - Identifier 2780338 2780350 - CaseClause 2780351 2780409 - PropertyAccessExpression 2780381 2780408 - Identifier 2780381 2780392 - Identifier 2780393 2780408 - CaseClause 2780409 2782210 - PropertyAccessExpression 2780439 2780474 - Identifier 2780439 2780450 - Identifier 2780451 2780474 - Block 2780475 2782210 - IfStatement 2780477 2781805 - PropertyAccessExpression 2780511 2780547 - Identifier 2780511 2780526 - Identifier 2780527 2780547 - Block 2780548 2781805 - ExpressionStatement 2780550 2780669 - CallExpression 2780550 2780668 - PropertyAccessExpression 2780550 2780605 - Identifier 2780550 2780589 - Identifier 2780590 2780605 - PropertyAccessExpression 2780606 2780615 - Identifier 2780606 2780610 - Identifier 2780611 2780615 - StringLiteral 2780616 2780667 - VariableStatement 2780669 2781325 - VariableDeclarationList 2780669 2781324 - VariableDeclaration 2780708 2781324 - Identifier 2780708 2780716 - ConditionalExpression 2780718 2781324 - BinaryExpression 2780718 2780804 - PropertyAccessExpression 2780718 2780755 - Identifier 2780718 2780734 - Identifier 2780735 2780755 - AmpersandAmpersandToken 2780755 2780758 - CallExpression 2780758 2780804 - Identifier 2780758 2780798 - Identifier 2780799 2780803 - QuestionToken 2780804 2780843 - PropertyAccessExpression 2780843 2780958 - Identifier 2780843 2780855 - Identifier 2780856 2780958 - ColonToken 2780958 2780997 - ConditionalExpression 2780997 2781324 - Identifier 2780997 2781004 - QuestionToken 2781004 2781043 - PropertyAccessExpression 2781043 2781151 - Identifier 2781043 2781055 - Identifier 2781056 2781151 - ColonToken 2781151 2781190 - PropertyAccessExpression 2781190 2781324 - Identifier 2781190 2781202 - Identifier 2781203 2781324 - VariableStatement 2781325 2781489 - VariableDeclarationList 2781325 2781488 - VariableDeclaration 2781364 2781488 - Identifier 2781364 2781369 - CallExpression 2781371 2781488 - Identifier 2781371 2781401 - ConditionalExpression 2781402 2781487 - BinaryExpression 2781402 2781442 - PropertyAccessExpression 2781402 2781411 - Identifier 2781402 2781406 - Identifier 2781407 2781411 - EqualsEqualsEqualsToken 2781411 2781415 - PropertyAccessExpression 2781415 2781442 - Identifier 2781415 2781426 - Identifier 2781427 2781442 - QuestionToken 2781442 2781444 - BinaryExpression 2781444 2781475 - PropertyAccessExpression 2781444 2781462 - Identifier 2781444 2781449 - Identifier 2781450 2781462 - BarBarToken 2781462 2781465 - PropertyAccessExpression 2781465 2781475 - Identifier 2781465 2781470 - Identifier 2781471 2781475 - ColonToken 2781475 2781477 - PropertyAccessExpression 2781477 2781487 - Identifier 2781477 2781482 - Identifier 2781483 2781487 - ExpressionStatement 2781489 2781774 - CallExpression 2781489 2781773 - Identifier 2781489 2781556 - CallExpression 2781557 2781621 - Identifier 2781557 2781600 - Identifier 2781601 2781605 - Identifier 2781606 2781614 - Identifier 2781615 2781620 - ConditionalExpression 2781622 2781694 - Identifier 2781622 2781666 - QuestionToken 2781666 2781668 - Identifier 2781668 2781678 - ColonToken 2781678 2781680 - Identifier 2781680 2781694 - Identifier 2781695 2781737 - IfStatement 2781805 2782147 - BinaryExpression 2781839 2781949 - BinaryExpression 2781839 2781897 - Identifier 2781839 2781845 - AmpersandAmpersandToken 2781845 2781848 - BinaryExpression 2781848 2781897 - PropertyAccessExpression 2781848 2781858 - Identifier 2781848 2781853 - Identifier 2781854 2781858 - EqualsEqualsEqualsToken 2781858 2781862 - PropertyAccessExpression 2781862 2781897 - Identifier 2781862 2781873 - Identifier 2781874 2781897 - AmpersandAmpersandToken 2781897 2781900 - CallExpression 2781900 2781949 - Identifier 2781900 2781921 - Identifier 2781922 2781926 - PropertyAccessExpression 2781927 2781948 - Identifier 2781927 2781941 - Identifier 2781942 2781948 - Block 2781950 2782147 - ExpressionStatement 2781952 2782116 - CallExpression 2781952 2782115 - Identifier 2781952 2781991 - Identifier 2781992 2781996 - PropertyAccessExpression 2781997 2782085 - Identifier 2781997 2782009 - Identifier 2782010 2782085 - Identifier 2782086 2782114 - BreakStatement 2782147 2782183 - CaseClause 2782210 2783506 - PropertyAccessExpression 2782240 2782267 - Identifier 2782240 2782251 - Identifier 2782252 2782267 - Block 2782268 2783506 - IfStatement 2782270 2783479 - BinaryExpression 2782644 2782748 - PropertyAccessExpression 2782644 2782680 - Identifier 2782644 2782659 - Identifier 2782660 2782680 - BarBarToken 2782680 2782683 - BinaryExpression 2782683 2782748 - CallExpression 2782683 2782718 - Identifier 2782683 2782703 - Identifier 2782704 2782717 - ExclamationEqualsEqualsToken 2782718 2782722 - CallExpression 2782722 2782748 - Identifier 2782722 2782742 - Identifier 2782743 2782747 - Block 2782749 2783479 - VariableStatement 2782751 2782860 - VariableDeclarationList 2782751 2782859 - VariableDeclaration 2782790 2782859 - Identifier 2782790 2782795 - CallExpression 2782797 2782859 - Identifier 2782797 2782827 - BinaryExpression 2782828 2782858 - PropertyAccessExpression 2782828 2782845 - Identifier 2782828 2782832 - Identifier 2782833 2782845 - BarBarToken 2782845 2782848 - PropertyAccessExpression 2782848 2782858 - Identifier 2782848 2782853 - Identifier 2782854 2782858 - VariableStatement 2782860 2783286 - VariableDeclarationList 2782860 2783285 - VariableDeclaration 2782899 2783285 - Identifier 2782899 2782910 - ConditionalExpression 2782912 2783285 - Identifier 2782912 2782919 - QuestionToken 2782919 2782958 - CallExpression 2782958 2783077 - Identifier 2782958 2782964 - Identifier 2782965 2782969 - PropertyAccessExpression 2782970 2783047 - Identifier 2782970 2782982 - Identifier 2782983 2783047 - Identifier 2783048 2783076 - ColonToken 2783077 2783116 - CallExpression 2783116 2783285 - Identifier 2783116 2783122 - Identifier 2783123 2783127 - PropertyAccessExpression 2783128 2783249 - Identifier 2783128 2783140 - Identifier 2783141 2783249 - Identifier 2783250 2783255 - Identifier 2783256 2783284 - ExpressionStatement 2783286 2783408 - CallExpression 2783286 2783407 - Identifier 2783286 2783353 - Identifier 2783354 2783364 - ConditionalExpression 2783365 2783400 - Identifier 2783365 2783372 - QuestionToken 2783372 2783374 - Identifier 2783374 2783384 - ColonToken 2783384 2783386 - Identifier 2783386 2783400 - Identifier 2783401 2783406 - BreakStatement 2783408 2783448 - IfStatement 2783548 2784949 - BinaryExpression 2783572 2783851 - BinaryExpression 2783572 2783745 - BinaryExpression 2783572 2783703 - PropertyAccessExpression 2783572 2783630 - Identifier 2783572 2783609 - Identifier 2783610 2783630 - AmpersandAmpersandToken 2783630 2783633 - BinaryExpression 2783633 2783703 - PropertyAccessExpression 2783633 2783664 - Identifier 2783633 2783659 - Identifier 2783660 2783664 - ExclamationEqualsEqualsToken 2783664 2783668 - PropertyAccessExpression 2783668 2783703 - Identifier 2783668 2783679 - Identifier 2783680 2783703 - AmpersandAmpersandToken 2783703 2783706 - PrefixUnaryExpression 2783706 2783745 - CallExpression 2783729 2783745 - Identifier 2783729 2783739 - Identifier 2783740 2783744 - AmpersandAmpersandToken 2783745 2783748 - BinaryExpression 2783748 2783851 - CallExpression 2783748 2783827 - PropertyAccessExpression 2783748 2783800 - Identifier 2783748 2783774 - Identifier 2783775 2783800 - CallExpression 2783801 2783826 - Identifier 2783801 2783820 - Identifier 2783821 2783825 - EqualsEqualsEqualsToken 2783827 2783831 - PropertyAccessExpression 2783831 2783851 - Identifier 2783831 2783842 - Identifier 2783843 2783851 - Block 2783870 2784022 - ExpressionStatement 2783872 2784003 - CallExpression 2783872 2784002 - Identifier 2783872 2783899 - Identifier 2783900 2783904 - PropertyAccessExpression 2783905 2784001 - Identifier 2783905 2783917 - Identifier 2783918 2784001 - IfStatement 2784044 2784949 - BinaryExpression 2784049 2784353 - BinaryExpression 2784049 2784247 - BinaryExpression 2784049 2784178 - BinaryExpression 2784049 2784105 - Identifier 2784049 2784081 - EqualsEqualsEqualsToken 2784081 2784085 - PropertyAccessExpression 2784085 2784105 - Identifier 2784085 2784096 - Identifier 2784097 2784105 - AmpersandAmpersandToken 2784105 2784108 - BinaryExpression 2784108 2784178 - PropertyAccessExpression 2784108 2784139 - Identifier 2784108 2784134 - Identifier 2784135 2784139 - ExclamationEqualsEqualsToken 2784139 2784143 - PropertyAccessExpression 2784143 2784178 - Identifier 2784143 2784154 - Identifier 2784155 2784178 - AmpersandAmpersandToken 2784178 2784181 - BinaryExpression 2784181 2784247 - PropertyAccessExpression 2784181 2784212 - Identifier 2784181 2784207 - Identifier 2784208 2784212 - ExclamationEqualsEqualsToken 2784212 2784216 - PropertyAccessExpression 2784216 2784247 - Identifier 2784216 2784227 - Identifier 2784228 2784247 - AmpersandAmpersandToken 2784247 2784250 - BinaryExpression 2784250 2784353 - CallExpression 2784250 2784329 - PropertyAccessExpression 2784250 2784302 - Identifier 2784250 2784276 - Identifier 2784277 2784302 - CallExpression 2784303 2784328 - Identifier 2784303 2784322 - Identifier 2784323 2784327 - EqualsEqualsEqualsToken 2784329 2784333 - PropertyAccessExpression 2784333 2784353 - Identifier 2784333 2784344 - Identifier 2784345 2784353 - Block 2784372 2784949 - ExpressionStatement 2784374 2784930 - CallExpression 2784374 2784929 - Identifier 2784374 2784832 - Identifier 2784833 2784837 - PropertyAccessExpression 2784838 2784928 - Identifier 2784838 2784850 - Identifier 2784851 2784928 - IfStatement 2784949 2785807 - BinaryExpression 2784973 2785216 - BinaryExpression 2784973 2785156 - BinaryExpression 2784973 2785098 - PropertyAccessExpression 2784973 2785031 - Identifier 2784973 2785010 - Identifier 2785011 2785031 - AmpersandAmpersandToken 2785031 2785034 - PrefixUnaryExpression 2785034 2785098 - CallExpression 2785057 2785098 - Identifier 2785057 2785092 - Identifier 2785093 2785097 - AmpersandAmpersandToken 2785098 2785101 - PrefixUnaryExpression 2785101 2785156 - ParenthesizedExpression 2785124 2785156 - BinaryExpression 2785125 2785155 - PropertyAccessExpression 2785125 2785135 - Identifier 2785125 2785129 - Identifier 2785130 2785135 - AmpersandToken 2785135 2785137 - PropertyAccessExpression 2785137 2785155 - Identifier 2785137 2785147 - Identifier 2785148 2785155 - AmpersandAmpersandToken 2785156 2785159 - BinaryExpression 2785159 2785216 - Identifier 2785159 2785192 - AmpersandToken 2785192 2785194 - PropertyAccessExpression 2785194 2785216 - Identifier 2785194 2785206 - Identifier 2785207 2785216 - Block 2785235 2785807 - VariableStatement 2785237 2785331 - VariableDeclarationList 2785237 2785330 - VariableDeclaration 2785264 2785330 - Identifier 2785264 2785285 - AsExpression 2785287 2785330 - PropertyAccessExpression 2785287 2785311 - Identifier 2785287 2785294 - Identifier 2785295 2785311 - TypeReference 2785314 2785330 - Identifier 2785314 2785330 - VariableStatement 2785331 2785484 - VariableDeclarationList 2785331 2785483 - VariableDeclaration 2785358 2785483 - Identifier 2785358 2785367 - CallExpression 2785369 2785483 - PropertyAccessExpression 2785369 2785427 - Identifier 2785369 2785374 - Identifier 2785375 2785427 - PropertyAccessExpression 2785428 2785482 - CallExpression 2785428 2785469 - Identifier 2785428 2785447 - Identifier 2785448 2785468 - Identifier 2785470 2785482 - IfStatement 2785484 2785788 - BinaryExpression 2785510 2785630 - BinaryExpression 2785510 2785556 - PropertyAccessExpression 2785510 2785536 - Identifier 2785510 2785530 - Identifier 2785531 2785536 - AmpersandToken 2785536 2785538 - PropertyAccessExpression 2785538 2785556 - Identifier 2785538 2785548 - Identifier 2785549 2785556 - AmpersandAmpersandToken 2785556 2785559 - ParenthesizedExpression 2785559 2785630 - BinaryExpression 2785561 2785629 - PrefixUnaryExpression 2785561 2785570 - Identifier 2785562 2785570 - BarBarToken 2785570 2785573 - PrefixUnaryExpression 2785573 2785629 - CallExpression 2785575 2785629 - Identifier 2785575 2785599 - PropertyAccessExpression 2785600 2785628 - PropertyAccessExpression 2785600 2785620 - Identifier 2785600 2785608 - Identifier 2785609 2785620 - Identifier 2785621 2785628 - Block 2785631 2785788 - ExpressionStatement 2785633 2785765 - CallExpression 2785633 2785764 - Identifier 2785633 2785664 - Identifier 2785665 2785669 - PropertyAccessExpression 2785670 2785734 - Identifier 2785670 2785682 - Identifier 2785683 2785734 - Identifier 2785735 2785763 - IfStatement 2785822 2786189 - CallExpression 2785842 2785865 - Identifier 2785842 2785859 - Identifier 2785860 2785864 - Block 2785866 2786189 - VariableStatement 2785868 2785954 - VariableDeclarationList 2785868 2785953 - VariableDeclaration 2785891 2785953 - Identifier 2785891 2785904 - CallExpression 2785906 2785953 - Identifier 2785906 2785939 - Identifier 2785940 2785946 - Identifier 2785947 2785952 - IfStatement 2785954 2786174 - BinaryExpression 2785976 2786037 - CallExpression 2785976 2786008 - Identifier 2785976 2785994 - Identifier 2785995 2786007 - AmpersandAmpersandToken 2786008 2786011 - PropertyAccessExpression 2786011 2786037 - Identifier 2786011 2786024 - Identifier 2786025 2786037 - Block 2786038 2786174 - ExpressionStatement 2786040 2786155 - CallExpression 2786040 2786154 - Identifier 2786040 2786085 - Identifier 2786086 2786090 - PropertyAccessExpression 2786091 2786117 - Identifier 2786091 2786104 - Identifier 2786105 2786117 - AsExpression 2786118 2786153 - PropertyAccessExpression 2786118 2786143 - Identifier 2786118 2786131 - Identifier 2786132 2786143 - StringKeyword 2786146 2786153 - FunctionDeclaration 2786207 2787359 - Identifier 2786223 2786256 - Parameter 2786257 2786271 - Identifier 2786257 2786263 - TypeReference 2786264 2786271 - Identifier 2786264 2786271 - Parameter 2786272 2786287 - Identifier 2786272 2786281 - TypeReference 2786282 2786287 - Identifier 2786282 2786287 - Block 2786288 2787359 - IfStatement 2786290 2786451 - BinaryExpression 2786304 2786409 - BinaryExpression 2786304 2786369 - PrefixUnaryExpression 2786304 2786339 - ParenthesizedExpression 2786305 2786339 - BinaryExpression 2786306 2786338 - PropertyAccessExpression 2786306 2786318 - Identifier 2786306 2786312 - Identifier 2786313 2786318 - AmpersandToken 2786318 2786320 - PropertyAccessExpression 2786320 2786338 - Identifier 2786320 2786332 - Identifier 2786333 2786338 - BarBarToken 2786339 2786342 - CallExpression 2786342 2786369 - Identifier 2786342 2786361 - Identifier 2786362 2786368 - BarBarToken 2786369 2786372 - PrefixUnaryExpression 2786372 2786409 - CallExpression 2786374 2786409 - Identifier 2786374 2786401 - Identifier 2786402 2786408 - Block 2786410 2786451 - ReturnStatement 2786412 2786440 - Identifier 2786432 2786439 - VariableStatement 2786451 2786505 - VariableDeclarationList 2786451 2786504 - VariableDeclaration 2786468 2786504 - Identifier 2786468 2786481 - CallExpression 2786483 2786504 - Identifier 2786483 2786496 - Identifier 2786497 2786503 - IfStatement 2786505 2786571 - BinaryExpression 2786519 2786549 - Identifier 2786519 2786531 - EqualsEqualsEqualsToken 2786531 2786535 - Identifier 2786535 2786549 - ReturnStatement 2786550 2786571 - Identifier 2786557 2786570 - WhileStatement 2786571 2787322 - BinaryExpression 2786590 2786622 - PropertyAccessExpression 2786590 2786602 - Identifier 2786590 2786596 - Identifier 2786597 2786602 - AmpersandToken 2786602 2786604 - PropertyAccessExpression 2786604 2786622 - Identifier 2786604 2786616 - Identifier 2786617 2786622 - Block 2786623 2787322 - VariableStatement 2786625 2786688 - VariableDeclarationList 2786625 2786687 - VariableDeclaration 2786644 2786687 - Identifier 2786644 2786651 - CallExpression 2786653 2786687 - Identifier 2786653 2786679 - Identifier 2786680 2786686 - IfStatement 2786688 2787311 - Identifier 2786706 2786712 - Block 2786713 2787252 - IfStatement 2786715 2786768 - BinaryExpression 2786737 2786760 - Identifier 2786737 2786743 - EqualsEqualsEqualsToken 2786743 2786747 - Identifier 2786747 2786760 - BreakStatement 2786761 2786768 - IfStatement 2786768 2787237 - BinaryExpression 2786790 2786840 - PropertyAccessExpression 2786790 2786809 - Identifier 2786790 2786796 - Identifier 2786797 2786809 - AmpersandAmpersandToken 2786809 2786812 - CallExpression 2786812 2786840 - Identifier 2786812 2786819 - PropertyAccessExpression 2786820 2786839 - Identifier 2786820 2786826 - Identifier 2786827 2786839 - Block 2786841 2787237 - IfStatement 2786843 2787218 - CallExpression 2786869 2786895 - Identifier 2786869 2786887 - Identifier 2786888 2786894 - Block 2786896 2787064 - ExpressionStatement 2786898 2787009 - CallExpression 2786898 2787008 - Identifier 2786898 2786947 - Identifier 2786948 2786956 - PropertyAccessExpression 2786957 2786977 - Identifier 2786957 2786964 - Identifier 2786965 2786977 - AsExpression 2786978 2787007 - PropertyAccessExpression 2786978 2786997 - Identifier 2786978 2786985 - Identifier 2786986 2786997 - StringKeyword 2787000 2787007 - BreakStatement 2787009 2787041 - Block 2787090 2787218 - IfStatement 2787092 2787153 - BinaryExpression 2787122 2787145 - Identifier 2787122 2787128 - EqualsEqualsEqualsToken 2787128 2787132 - Identifier 2787132 2787145 - BreakStatement 2787146 2787153 - ExpressionStatement 2787153 2787195 - BinaryExpression 2787153 2787194 - Identifier 2787153 2787185 - EqualsToken 2787185 2787187 - Identifier 2787187 2787194 - Block 2787270 2787311 - BreakStatement 2787272 2787296 - ReturnStatement 2787322 2787352 - Identifier 2787338 2787351 - FunctionDeclaration 2787359 2788065 - Identifier 2787375 2787394 - Parameter 2787395 2787475 - Identifier 2787395 2787399 - UnionType 2787400 2787475 - TypeReference 2787400 2787424 - Identifier 2787400 2787424 - TypeReference 2787426 2787439 - Identifier 2787426 2787439 - TypeReference 2787441 2787457 - Identifier 2787441 2787457 - TypeReference 2787459 2787475 - Identifier 2787459 2787475 - Block 2787476 2788065 - ExpressionStatement 2787478 2787539 - CallExpression 2787478 2787538 - Identifier 2787478 2787521 - Identifier 2787522 2787526 - PropertyAccessExpression 2787527 2787537 - Identifier 2787527 2787532 - Identifier 2787533 2787537 - ExpressionStatement 2787539 2787572 - CallExpression 2787539 2787571 - Identifier 2787539 2787565 - Identifier 2787566 2787570 - IfStatement 2787572 2788058 - BinaryExpression 2787586 2787626 - PropertyAccessExpression 2787586 2787595 - Identifier 2787586 2787590 - Identifier 2787591 2787595 - EqualsEqualsEqualsToken 2787595 2787599 - PropertyAccessExpression 2787599 2787626 - Identifier 2787599 2787610 - Identifier 2787611 2787626 - Block 2787627 2788058 - ExpressionStatement 2787629 2787684 - CallExpression 2787629 2787683 - Identifier 2787629 2787664 - PropertyAccessExpression 2787665 2787682 - Identifier 2787665 2787669 - Identifier 2787670 2787682 - IfStatement 2787684 2788047 - BinaryExpression 2787702 2787931 - BinaryExpression 2787702 2787833 - CallExpression 2787702 2787777 - Identifier 2787702 2787745 - BinaryExpression 2787746 2787776 - PropertyAccessExpression 2787746 2787763 - Identifier 2787746 2787750 - Identifier 2787751 2787763 - BarBarToken 2787763 2787766 - PropertyAccessExpression 2787766 2787776 - Identifier 2787766 2787771 - Identifier 2787772 2787776 - AmpersandAmpersandToken 2787777 2787780 - CallExpression 2787780 2787833 - Identifier 2787780 2787816 - Identifier 2787817 2787832 - AmpersandAmpersandToken 2787833 2787836 - BinaryExpression 2787836 2787931 - CallExpression 2787836 2787911 - PropertyAccessExpression 2787836 2787884 - Identifier 2787836 2787858 - Identifier 2787859 2787884 - CallExpression 2787885 2787910 - Identifier 2787885 2787904 - Identifier 2787905 2787909 - LessThanToken 2787911 2787913 - PropertyAccessExpression 2787913 2787931 - Identifier 2787913 2787924 - Identifier 2787925 2787931 - Block 2787946 2788047 - ExpressionStatement 2787948 2788032 - CallExpression 2787948 2788031 - Identifier 2787948 2787990 - Identifier 2787991 2787995 - PropertyAccessExpression 2787996 2788030 - Identifier 2787996 2788016 - Identifier 2788017 2788030 - FunctionDeclaration 2788065 2790975 - Identifier 2788081 2788103 - Parameter 2788104 2788171 - Identifier 2788104 2788115 - UnionType 2788116 2788171 - TypeReference 2788116 2788134 - Identifier 2788116 2788134 - TypeReference 2788136 2788154 - Identifier 2788136 2788154 - TypeReference 2788156 2788171 - Identifier 2788156 2788171 - Block 2788172 2790975 - VariableStatement 2788174 2788220 - VariableDeclarationList 2788174 2788219 - VariableDeclaration 2788189 2788219 - Identifier 2788189 2788194 - PropertyAccessExpression 2788196 2788219 - Identifier 2788196 2788208 - Identifier 2788209 2788219 - IfStatement 2788220 2790968 - Identifier 2788234 2788238 - Block 2788239 2790968 - VariableStatement 2788241 2788337 - VariableDeclarationList 2788241 2788336 - VariableDeclaration 2788260 2788336 - Identifier 2788260 2788281 - CallExpression 2788283 2788336 - Identifier 2788283 2788313 - TrueKeyword 2788314 2788335 - IfStatement 2788337 2788554 - BinaryExpression 2788355 2788395 - Identifier 2788355 2788375 - ExclamationEqualsEqualsToken 2788375 2788379 - Identifier 2788379 2788395 - Block 2788396 2788554 - ExpressionStatement 2788398 2788539 - CallExpression 2788398 2788538 - Identifier 2788398 2788437 - CallExpression 2788438 2788471 - Identifier 2788438 2788465 - Identifier 2788466 2788470 - CallExpression 2788472 2788531 - Identifier 2788472 2788488 - Identifier 2788489 2788509 - PropertyAccessExpression 2788510 2788530 - Identifier 2788510 2788520 - Identifier 2788521 2788530 - Identifier 2788532 2788537 - VariableStatement 2788554 2788650 - VariableDeclarationList 2788554 2788649 - VariableDeclaration 2788575 2788649 - Identifier 2788575 2788598 - CallExpression 2788600 2788649 - Identifier 2788600 2788636 - Identifier 2788637 2788648 - VariableStatement 2788650 2788770 - VariableDeclarationList 2788650 2788769 - VariableDeclaration 2788669 2788769 - Identifier 2788669 2788678 - CallExpression 2788680 2788769 - Identifier 2788680 2788706 - Identifier 2788707 2788711 - ConditionalExpression 2788712 2788768 - Identifier 2788712 2788735 - QuestionToken 2788735 2788737 - Identifier 2788737 2788756 - ColonToken 2788756 2788758 - Identifier 2788758 2788768 - VariableStatement 2788770 2788867 - VariableDeclarationList 2788770 2788866 - VariableDeclaration 2788789 2788866 - Identifier 2788789 2788808 - BinaryExpression 2788810 2788866 - PropertyAccessExpression 2788810 2788839 - PropertyAccessExpression 2788810 2788833 - Identifier 2788810 2788822 - Identifier 2788823 2788833 - Identifier 2788834 2788839 - EqualsEqualsEqualsToken 2788839 2788843 - PropertyAccessExpression 2788843 2788866 - Identifier 2788843 2788854 - Identifier 2788855 2788866 - IfStatement 2788867 2789052 - BinaryExpression 2788885 2788919 - Identifier 2788885 2788907 - AmpersandAmpersandToken 2788907 2788910 - Identifier 2788910 2788919 - Block 2788920 2789052 - ReturnStatement 2788922 2788947 - IfStatement 2789052 2789553 - PrefixUnaryExpression 2789072 2789115 - CallExpression 2789073 2789115 - Identifier 2789073 2789103 - Identifier 2789104 2789114 - Block 2789116 2789553 - ReturnStatement 2789118 2789538 - CallExpression 2789142 2789537 - Identifier 2789142 2789161 - Identifier 2789162 2789188 - ConditionalExpression 2789189 2789517 - Identifier 2789189 2789229 - QuestionToken 2789229 2789256 - PropertyAccessExpression 2789256 2789373 - Identifier 2789256 2789268 - Identifier 2789269 2789373 - ColonToken 2789373 2789400 - PropertyAccessExpression 2789400 2789517 - Identifier 2789400 2789412 - Identifier 2789413 2789517 - IfStatement 2789553 2789802 - BinaryExpression 2789573 2789630 - BinaryExpression 2789573 2789607 - Identifier 2789573 2789583 - EqualsEqualsEqualsToken 2789583 2789587 - PropertyAccessExpression 2789587 2789607 - Identifier 2789587 2789598 - Identifier 2789599 2789607 - AmpersandAmpersandToken 2789607 2789610 - PrefixUnaryExpression 2789610 2789630 - Identifier 2789612 2789630 - Block 2789631 2789802 - ReturnStatement 2789633 2789787 - CallExpression 2789657 2789786 - Identifier 2789657 2789682 - Identifier 2789683 2789687 - PropertyAccessExpression 2789688 2789785 - Identifier 2789688 2789700 - Identifier 2789701 2789785 - IfStatement 2789802 2790349 - BinaryExpression 2789822 2789947 - PropertyAccessExpression 2789822 2789849 - Identifier 2789822 2789833 - Identifier 2789834 2789849 - AmpersandAmpersandToken 2789849 2789852 - BinaryExpression 2789852 2789947 - CallExpression 2789852 2789923 - Identifier 2789852 2789894 - PropertyAccessExpression 2789895 2789922 - Identifier 2789895 2789906 - Identifier 2789907 2789922 - EqualsEqualsEqualsToken 2789923 2789927 - PropertyAccessExpression 2789927 2789947 - Identifier 2789927 2789938 - Identifier 2789939 2789947 - Block 2789948 2790349 - ReturnStatement 2789950 2790334 - CallExpression 2789974 2790333 - Identifier 2789974 2789993 - Identifier 2789994 2790020 - ConditionalExpression 2790021 2790313 - Identifier 2790021 2790061 - QuestionToken 2790061 2790088 - PropertyAccessExpression 2790088 2790187 - Identifier 2790088 2790100 - Identifier 2790101 2790187 - ColonToken 2790187 2790214 - PropertyAccessExpression 2790214 2790313 - Identifier 2790214 2790226 - Identifier 2790227 2790313 - VariableStatement 2790349 2790516 - VariableDeclarationList 2790349 2790515 - VariableDeclaration 2790370 2790515 - Identifier 2790370 2790381 - BinaryExpression 2790383 2790515 - CallExpression 2790383 2790413 - Identifier 2790383 2790400 - Identifier 2790401 2790412 - BarBarToken 2790413 2790416 - ParenthesizedExpression 2790416 2790515 - ConditionalExpression 2790418 2790514 - CallExpression 2790418 2790450 - Identifier 2790418 2790437 - Identifier 2790438 2790449 - QuestionToken 2790450 2790452 - PropertyAccessExpression 2790452 2790489 - PropertyAccessExpression 2790452 2790477 - Identifier 2790452 2790464 - Identifier 2790465 2790477 - QuestionDotToken 2790477 2790479 - Identifier 2790479 2790489 - ColonToken 2790489 2790491 - PropertyAccessExpression 2790491 2790514 - Identifier 2790491 2790503 - Identifier 2790504 2790514 - IfStatement 2790516 2790794 - Identifier 2790534 2790544 - Block 2790545 2790794 - ReturnStatement 2790547 2790779 - CallExpression 2790571 2790778 - Identifier 2790571 2790590 - Identifier 2790591 2790595 - ConditionalExpression 2790596 2790777 - Identifier 2790596 2790615 - QuestionToken 2790615 2790617 - PropertyAccessExpression 2790617 2790696 - Identifier 2790617 2790629 - Identifier 2790630 2790696 - ColonToken 2790696 2790698 - PropertyAccessExpression 2790698 2790777 - Identifier 2790698 2790710 - Identifier 2790711 2790777 - IfStatement 2790794 2790957 - Identifier 2790814 2790822 - Block 2790823 2790957 - ReturnStatement 2790825 2790942 - CallExpression 2790849 2790941 - Identifier 2790849 2790868 - Identifier 2790869 2790873 - PropertyAccessExpression 2790874 2790940 - Identifier 2790874 2790886 - Identifier 2790887 2790940 - FunctionDeclaration 2790975 2791124 - Identifier 2790991 2791012 - Parameter 2791013 2791034 - Identifier 2791013 2791017 - TypeReference 2791018 2791034 - Identifier 2791018 2791034 - Block 2791035 2791124 - ReturnStatement 2791037 2791117 - CallExpression 2791053 2791116 - Identifier 2791053 2791081 - CallExpression 2791082 2791115 - Identifier 2791082 2791103 - PropertyAccessExpression 2791104 2791114 - Identifier 2791104 2791108 - Identifier 2791109 2791114 - FunctionDeclaration 2791124 2793801 - Identifier 2791140 2791163 - Parameter 2791164 2791187 - Identifier 2791164 2791168 - TypeReference 2791169 2791187 - Identifier 2791169 2791187 - Block 2791188 2793801 - IfStatement 2791190 2791584 - CallExpression 2791204 2791437 - Identifier 2791204 2791236 - Identifier 2791237 2791241 - ConditionalExpression 2791242 2791436 - CallExpression 2791242 2791259 - Identifier 2791242 2791253 - Identifier 2791254 2791258 - QuestionToken 2791259 2791261 - PropertyAccessExpression 2791261 2791341 - Identifier 2791261 2791273 - Identifier 2791274 2791341 - ColonToken 2791341 2791343 - PropertyAccessExpression 2791343 2791436 - Identifier 2791343 2791355 - Identifier 2791356 2791436 - Block 2791438 2791584 - ReturnStatement 2791440 2791573 - IfStatement 2791584 2791760 - BinaryExpression 2791598 2791644 - PrefixUnaryExpression 2791598 2791626 - CallExpression 2791599 2791626 - Identifier 2791599 2791620 - Identifier 2791621 2791625 - AmpersandAmpersandToken 2791626 2791629 - PropertyAccessExpression 2791629 2791644 - Identifier 2791629 2791634 - Identifier 2791635 2791644 - Block 2791645 2791760 - ExpressionStatement 2791647 2791749 - CallExpression 2791647 2791748 - Identifier 2791647 2791685 - Identifier 2791686 2791690 - PropertyAccessExpression 2791691 2791747 - Identifier 2791691 2791703 - Identifier 2791704 2791747 - IfStatement 2791760 2793756 - CallExpression 2791774 2791818 - Identifier 2791774 2791812 - Identifier 2791813 2791817 - Block 2791819 2793756 - VariableStatement 2791821 2791854 - VariableDeclarationList 2791821 2791853 - VariableDeclaration 2791838 2791853 - Identifier 2791838 2791853 - VariableStatement 2791854 2791907 - VariableDeclarationList 2791854 2791906 - VariableDeclaration 2791873 2791906 - Identifier 2791873 2791886 - PropertyAccessExpression 2791888 2791906 - Identifier 2791888 2791893 - Identifier 2791894 2791906 - IfStatement 2791907 2793745 - BinaryExpression 2791925 2791980 - Identifier 2791925 2791937 - AmpersandAmpersandToken 2791937 2791940 - PrefixUnaryExpression 2791940 2791980 - CallExpression 2791942 2791980 - Identifier 2791942 2791966 - Identifier 2791967 2791979 - Block 2791981 2793582 - IfStatement 2791983 2792099 - PropertyAccessExpression 2792005 2792022 - Identifier 2792005 2792017 - Identifier 2792018 2792022 - Block 2792023 2792099 - ExpressionStatement 2792025 2792080 - CallExpression 2792025 2792079 - Identifier 2792025 2792065 - Identifier 2792066 2792078 - IfStatement 2792099 2793001 - PropertyAccessExpression 2792121 2792147 - Identifier 2792121 2792133 - Identifier 2792134 2792147 - Block 2792148 2793001 - IfStatement 2792150 2792982 - BinaryExpression 2792176 2792238 - PropertyAccessExpression 2792176 2792207 - PropertyAccessExpression 2792176 2792202 - Identifier 2792176 2792188 - Identifier 2792189 2792202 - Identifier 2792203 2792207 - EqualsEqualsEqualsToken 2792207 2792211 - PropertyAccessExpression 2792211 2792238 - Identifier 2792211 2792222 - Identifier 2792223 2792238 - Block 2792239 2792665 - ExpressionStatement 2792241 2792314 - CallExpression 2792241 2792313 - Identifier 2792241 2792285 - PropertyAccessExpression 2792286 2792312 - Identifier 2792286 2792298 - Identifier 2792299 2792312 - IfStatement 2792314 2792642 - BinaryExpression 2792344 2792460 - BinaryExpression 2792344 2792421 - CallExpression 2792344 2792401 - PropertyAccessExpression 2792344 2792374 - Identifier 2792344 2792348 - Identifier 2792349 2792374 - CallExpression 2792375 2792400 - Identifier 2792375 2792394 - Identifier 2792395 2792399 - LessThanToken 2792401 2792403 - PropertyAccessExpression 2792403 2792421 - Identifier 2792403 2792414 - Identifier 2792415 2792421 - AmpersandAmpersandToken 2792421 2792424 - CallExpression 2792424 2792460 - Identifier 2792424 2792443 - Identifier 2792444 2792459 - Block 2792461 2792642 - ExpressionStatement 2792463 2792615 - CallExpression 2792463 2792614 - Identifier 2792463 2792576 - Identifier 2792577 2792581 - PropertyAccessExpression 2792582 2792613 - Identifier 2792582 2792602 - Identifier 2792603 2792613 - Block 2792691 2792982 - ExpressionStatement 2792693 2792790 - BinaryExpression 2792693 2792789 - Identifier 2792693 2792733 - EqualsToken 2792733 2792735 - CallExpression 2792735 2792789 - Identifier 2792735 2792761 - Identifier 2792762 2792766 - PropertyAccessExpression 2792767 2792788 - Identifier 2792767 2792772 - Identifier 2792773 2792788 - IfStatement 2792790 2792959 - Identifier 2792820 2792834 - Block 2792835 2792959 - ExpressionStatement 2792837 2792932 - CallExpression 2792837 2792931 - Identifier 2792837 2792874 - PropertyAccessExpression 2792875 2792910 - PropertyAccessExpression 2792875 2792901 - Identifier 2792875 2792887 - Identifier 2792888 2792901 - Identifier 2792902 2792910 - Identifier 2792911 2792930 - IfStatement 2793001 2793567 - BinaryExpression 2793025 2793225 - BinaryExpression 2793025 2793188 - BinaryExpression 2793025 2793121 - BinaryExpression 2793025 2793084 - PrefixUnaryExpression 2793025 2793049 - PropertyAccessExpression 2793026 2793049 - Identifier 2793026 2793038 - Identifier 2793039 2793049 - AmpersandAmpersandToken 2793049 2793052 - BinaryExpression 2793052 2793084 - PropertyAccessExpression 2793052 2793070 - Identifier 2793052 2793063 - Identifier 2793064 2793070 - LessThanEqualsToken 2793070 2793073 - Identifier 2793073 2793084 - AmpersandAmpersandToken 2793084 2793087 - BinaryExpression 2793087 2793121 - Identifier 2793087 2793098 - LessThanEqualsToken 2793098 2793101 - PropertyAccessExpression 2793101 2793121 - Identifier 2793101 2793112 - Identifier 2793113 2793121 - AmpersandAmpersandToken 2793121 2793124 - CallExpression 2793124 2793188 - Identifier 2793124 2793150 - PropertyAccessExpression 2793151 2793171 - Identifier 2793151 2793155 - Identifier 2793156 2793171 - Identifier 2793172 2793187 - AmpersandAmpersandToken 2793188 2793191 - PrefixUnaryExpression 2793191 2793225 - CallExpression 2793193 2793225 - Identifier 2793193 2793219 - Identifier 2793220 2793224 - Block 2793226 2793567 - ExpressionStatement 2793228 2793548 - CallExpression 2793228 2793547 - Identifier 2793228 2793372 - PropertyAccessExpression 2793373 2793393 - Identifier 2793373 2793377 - Identifier 2793378 2793393 - PropertyAccessExpression 2793394 2793522 - Identifier 2793394 2793406 - Identifier 2793407 2793522 - ElementAccessExpression 2793523 2793546 - Identifier 2793523 2793534 - Identifier 2793535 2793545 - IfStatement 2793600 2793745 - BinaryExpression 2793605 2793650 - Identifier 2793605 2793633 - AmpersandAmpersandToken 2793633 2793636 - PrefixUnaryExpression 2793636 2793650 - Identifier 2793638 2793650 - Block 2793651 2793745 - ExpressionStatement 2793653 2793730 - VoidExpression 2793653 2793729 - CallExpression 2793675 2793729 - Identifier 2793675 2793701 - Identifier 2793702 2793706 - PropertyAccessExpression 2793707 2793728 - Identifier 2793707 2793712 - Identifier 2793713 2793728 - ExpressionStatement 2793756 2793794 - CallExpression 2793756 2793793 - Identifier 2793756 2793787 - Identifier 2793788 2793792 - FunctionDeclaration 2793801 2794067 - Identifier 2793817 2793844 - Parameter 2793845 2793868 - Identifier 2793845 2793849 - TypeReference 2793850 2793868 - Identifier 2793850 2793868 - Block 2793869 2794067 - ReturnStatement 2793871 2794060 - BinaryExpression 2793887 2794059 - PrefixUnaryExpression 2793887 2793905 - PrefixUnaryExpression 2793889 2793905 - PropertyAccessExpression 2793890 2793905 - Identifier 2793890 2793894 - Identifier 2793895 2793905 - AmpersandAmpersandToken 2793905 2793908 - CallExpression 2793908 2794059 - PropertyAccessExpression 2793908 2793938 - PropertyAccessExpression 2793908 2793933 - PropertyAccessExpression 2793908 2793924 - Identifier 2793908 2793913 - Identifier 2793914 2793924 - Identifier 2793925 2793933 - Identifier 2793934 2793938 - ArrowFunction 2793939 2794058 - Parameter 2793939 2793943 - Identifier 2793939 2793943 - EqualsGreaterThanToken 2793943 2793946 - BinaryExpression 2793946 2794058 - BinaryExpression 2793946 2793997 - CallExpression 2793946 2793986 - Identifier 2793946 2793975 - PropertyAccessExpression 2793976 2793985 - Identifier 2793976 2793980 - Identifier 2793981 2793985 - EqualsEqualsEqualsToken 2793986 2793990 - StringLiteral 2793990 2793997 - AmpersandAmpersandToken 2793997 2794000 - BinaryExpression 2794000 2794058 - PropertyAccessExpression 2794000 2794047 - CallExpression 2794000 2794041 - Identifier 2794000 2794008 - PropertyAccessExpression 2794009 2794019 - Identifier 2794009 2794013 - Identifier 2794014 2794019 - Identifier 2794020 2794040 - QuestionDotToken 2794041 2794043 - Identifier 2794043 2794047 - EqualsEqualsEqualsToken 2794047 2794051 - StringLiteral 2794051 2794058 - FunctionDeclaration 2794067 2796805 - Identifier 2794083 2794112 - Parameter 2794113 2794142 - Identifier 2794113 2794117 - TypeReference 2794118 2794142 - Identifier 2794118 2794142 - Block 2794143 2796805 - IfStatement 2794145 2794539 - CallExpression 2794159 2794392 - Identifier 2794159 2794191 - Identifier 2794192 2794196 - ConditionalExpression 2794197 2794391 - CallExpression 2794197 2794214 - Identifier 2794197 2794208 - Identifier 2794209 2794213 - QuestionToken 2794214 2794216 - PropertyAccessExpression 2794216 2794296 - Identifier 2794216 2794228 - Identifier 2794229 2794296 - ColonToken 2794296 2794298 - PropertyAccessExpression 2794298 2794391 - Identifier 2794298 2794310 - Identifier 2794311 2794391 - Block 2794393 2794539 - ReturnStatement 2794395 2794528 - ExpressionStatement 2794539 2794579 - CallExpression 2794539 2794578 - Identifier 2794539 2794572 - Identifier 2794573 2794577 - IfStatement 2794579 2794779 - BinaryExpression 2794593 2794664 - PropertyAccessExpression 2794593 2794627 - Identifier 2794593 2794608 - Identifier 2794609 2794627 - AmpersandAmpersandToken 2794627 2794630 - PrefixUnaryExpression 2794630 2794664 - ParenthesizedExpression 2794632 2794664 - BinaryExpression 2794633 2794663 - PropertyAccessExpression 2794633 2794643 - Identifier 2794633 2794637 - Identifier 2794638 2794643 - AmpersandToken 2794643 2794645 - PropertyAccessExpression 2794645 2794663 - Identifier 2794645 2794655 - Identifier 2794656 2794663 - Block 2794665 2794779 - ExpressionStatement 2794667 2794768 - CallExpression 2794667 2794767 - Identifier 2794667 2794686 - Identifier 2794687 2794691 - PropertyAccessExpression 2794692 2794766 - Identifier 2794692 2794704 - Identifier 2794705 2794766 - IfStatement 2794779 2796798 - BinaryExpression 2794793 2794886 - CallExpression 2794793 2794838 - Identifier 2794793 2794832 - Identifier 2794833 2794837 - BarBarToken 2794838 2794841 - CallExpression 2794841 2794886 - Identifier 2794841 2794880 - Identifier 2794881 2794885 - Block 2794887 2796798 - ExpressionStatement 2794889 2794928 - CallExpression 2794889 2794927 - Identifier 2794889 2794921 - Identifier 2794922 2794926 - ExpressionStatement 2794928 2795003 - CallExpression 2794928 2795002 - Identifier 2794928 2794962 - Identifier 2794963 2794967 - PropertyAccessExpression 2794968 2795001 - Identifier 2794968 2794982 - Identifier 2794983 2795001 - IfStatement 2795003 2796787 - BinaryExpression 2795021 2795085 - PropertyAccessExpression 2795021 2795046 - PropertyAccessExpression 2795021 2795041 - Identifier 2795021 2795025 - Identifier 2795026 2795041 - Identifier 2795042 2795046 - ExclamationEqualsEqualsToken 2795046 2795050 - PropertyAccessExpression 2795050 2795085 - Identifier 2795050 2795061 - Identifier 2795062 2795085 - Block 2795086 2796268 - VariableStatement 2795088 2795164 - VariableDeclarationList 2795088 2795163 - VariableDeclaration 2795111 2795163 - Identifier 2795111 2795118 - CallExpression 2795120 2795163 - Identifier 2795120 2795133 - CallExpression 2795134 2795162 - Identifier 2795134 2795156 - Identifier 2795157 2795161 - IfStatement 2795164 2796095 - BinaryExpression 2795186 2795210 - Identifier 2795186 2795192 - ExclamationEqualsEqualsToken 2795192 2795196 - Identifier 2795196 2795210 - Block 2795211 2796095 - VariableStatement 2795213 2795278 - VariableDeclarationList 2795213 2795277 - VariableDeclaration 2795240 2795277 - Identifier 2795240 2795252 - CallExpression 2795254 2795277 - Identifier 2795254 2795269 - Identifier 2795270 2795276 - IfStatement 2795278 2795896 - BinaryExpression 2795304 2795335 - Identifier 2795304 2795315 - AmpersandToken 2795315 2795317 - PropertyAccessExpression 2795317 2795335 - Identifier 2795317 2795329 - Identifier 2795330 2795335 - Block 2795336 2795896 - VariableStatement 2795338 2795548 - VariableDeclarationList 2795338 2795547 - VariableDeclaration 2795493 2795547 - Identifier 2795493 2795504 - CallExpression 2795506 2795547 - Identifier 2795506 2795525 - PropertyAccessExpression 2795526 2795546 - Identifier 2795526 2795530 - Identifier 2795531 2795546 - IfStatement 2795548 2795873 - PrefixUnaryExpression 2795578 2795684 - ParenthesizedExpression 2795579 2795684 - BinaryExpression 2795580 2795683 - PropertyAccessExpression 2795580 2795659 - NonNullExpression 2795580 2795653 - CallExpression 2795580 2795652 - Identifier 2795580 2795597 - Identifier 2795598 2795608 - BinaryExpression 2795609 2795651 - PropertyAccessExpression 2795609 2795627 - Identifier 2795609 2795621 - Identifier 2795622 2795627 - BarToken 2795627 2795629 - PropertyAccessExpression 2795629 2795651 - Identifier 2795629 2795641 - Identifier 2795642 2795651 - Identifier 2795654 2795659 - AmpersandToken 2795659 2795661 - PropertyAccessExpression 2795661 2795683 - Identifier 2795661 2795673 - Identifier 2795674 2795683 - Block 2795685 2795873 - ExpressionStatement 2795687 2795846 - CallExpression 2795687 2795845 - Identifier 2795687 2795722 - Identifier 2795723 2795733 - PropertyAccessExpression 2795734 2795807 - Identifier 2795734 2795746 - Identifier 2795747 2795807 - CallExpression 2795808 2795844 - Identifier 2795808 2795832 - Identifier 2795833 2795843 - IfStatement 2795896 2796076 - BinaryExpression 2795922 2795952 - Identifier 2795922 2795933 - AmpersandToken 2795933 2795935 - PropertyAccessExpression 2795935 2795952 - Identifier 2795935 2795947 - Identifier 2795948 2795952 - Block 2795953 2796076 - ExpressionStatement 2795955 2796053 - CallExpression 2795955 2796052 - Identifier 2795955 2796004 - PropertyAccessExpression 2796005 2796014 - Identifier 2796005 2796009 - Identifier 2796010 2796014 - PropertyAccessExpression 2796015 2796051 - Identifier 2796015 2796027 - Identifier 2796028 2796051 - IfStatement 2796095 2796253 - PropertyAccessExpression 2796117 2796132 - Identifier 2796117 2796121 - Identifier 2796122 2796132 - Block 2796133 2796253 - ExpressionStatement 2796135 2796234 - CallExpression 2796135 2796233 - Identifier 2796135 2796175 - Identifier 2796176 2796180 - PropertyAccessExpression 2796181 2796232 - Identifier 2796181 2796193 - Identifier 2796194 2796232 - Block 2796286 2796787 - IfStatement 2796288 2796772 - BinaryExpression 2796310 2796433 - BinaryExpression 2796310 2796396 - BinaryExpression 2796310 2796376 - BinaryExpression 2796310 2796341 - PropertyAccessExpression 2796310 2796327 - Identifier 2796310 2796320 - Identifier 2796321 2796327 - LessThanEqualsToken 2796327 2796330 - Identifier 2796330 2796341 - AmpersandAmpersandToken 2796341 2796344 - BinaryExpression 2796344 2796376 - Identifier 2796344 2796355 - LessThanEqualsToken 2796355 2796358 - PropertyAccessExpression 2796358 2796376 - Identifier 2796358 2796369 - Identifier 2796370 2796376 - AmpersandAmpersandToken 2796376 2796379 - PrefixUnaryExpression 2796379 2796396 - PropertyAccessExpression 2796381 2796396 - Identifier 2796381 2796385 - Identifier 2796386 2796396 - AmpersandAmpersandToken 2796396 2796399 - PrefixUnaryExpression 2796399 2796433 - ParenthesizedExpression 2796401 2796433 - BinaryExpression 2796402 2796432 - PropertyAccessExpression 2796402 2796412 - Identifier 2796402 2796406 - Identifier 2796407 2796412 - AmpersandToken 2796412 2796414 - PropertyAccessExpression 2796414 2796432 - Identifier 2796414 2796424 - Identifier 2796425 2796432 - Block 2796434 2796772 - ExpressionStatement 2796436 2796753 - CallExpression 2796436 2796752 - Identifier 2796436 2796551 - Identifier 2796552 2796556 - PropertyAccessExpression 2796557 2796751 - Identifier 2796557 2796569 - Identifier 2796570 2796751 - FunctionDeclaration 2796805 2799981 - Identifier 2796821 2796844 - Parameter 2796845 2796868 - Identifier 2796845 2796849 - TypeReference 2796850 2796868 - Identifier 2796850 2796868 - Block 2796869 2799981 - IfStatement 2796871 2797253 - CallExpression 2796885 2797118 - Identifier 2796885 2796917 - Identifier 2796918 2796922 - ConditionalExpression 2796923 2797117 - CallExpression 2796923 2796940 - Identifier 2796923 2796934 - Identifier 2796935 2796939 - QuestionToken 2796940 2796942 - PropertyAccessExpression 2796942 2797022 - Identifier 2796942 2796954 - Identifier 2796955 2797022 - ColonToken 2797022 2797024 - PropertyAccessExpression 2797024 2797117 - Identifier 2797024 2797036 - Identifier 2797037 2797117 - Block 2797119 2797253 - ReturnStatement 2797121 2797242 - IfStatement 2797253 2797444 - BinaryExpression 2797269 2797328 - PrefixUnaryExpression 2797269 2797297 - CallExpression 2797270 2797297 - Identifier 2797270 2797291 - Identifier 2797292 2797296 - AmpersandAmpersandToken 2797297 2797300 - CallExpression 2797300 2797328 - Identifier 2797300 2797322 - Identifier 2797323 2797327 - Block 2797329 2797444 - ExpressionStatement 2797331 2797433 - CallExpression 2797331 2797432 - Identifier 2797331 2797369 - Identifier 2797370 2797374 - PropertyAccessExpression 2797375 2797431 - Identifier 2797375 2797387 - Identifier 2797388 2797431 - ExpressionStatement 2797444 2797492 - CallExpression 2797444 2797491 - Identifier 2797444 2797485 - Identifier 2797486 2797490 - IfStatement 2797492 2799936 - BinaryExpression 2797506 2797575 - PrefixUnaryExpression 2797506 2797527 - PropertyAccessExpression 2797507 2797527 - Identifier 2797507 2797511 - Identifier 2797512 2797527 - BarBarToken 2797527 2797530 - CallExpression 2797530 2797575 - Identifier 2797530 2797569 - Identifier 2797570 2797574 - Block 2797576 2799936 - IfStatement 2797578 2799925 - BinaryExpression 2797596 2797654 - PropertyAccessExpression 2797596 2797613 - Identifier 2797596 2797600 - Identifier 2797601 2797613 - AmpersandAmpersandToken 2797613 2797616 - PrefixUnaryExpression 2797616 2797654 - CallExpression 2797618 2797654 - Identifier 2797618 2797635 - PropertyAccessExpression 2797636 2797653 - Identifier 2797636 2797640 - Identifier 2797641 2797653 - Block 2797655 2798420 - ExpressionStatement 2797657 2797816 - CallExpression 2797657 2797815 - Identifier 2797657 2797765 - PropertyAccessExpression 2797766 2797792 - PropertyAccessExpression 2797766 2797783 - Identifier 2797766 2797770 - Identifier 2797771 2797783 - Identifier 2797784 2797792 - Identifier 2797793 2797814 - VariableStatement 2797816 2797949 - VariableDeclarationList 2797816 2797948 - VariableDeclaration 2797839 2797948 - Identifier 2797839 2797863 - BinaryExpression 2797865 2797948 - BinaryExpression 2797865 2797909 - PropertyAccessExpression 2797865 2797882 - PropertyAccessExpression 2797865 2797877 - Identifier 2797865 2797870 - Identifier 2797871 2797877 - Identifier 2797878 2797882 - EqualsEqualsEqualsToken 2797882 2797886 - PropertyAccessExpression 2797886 2797909 - Identifier 2797886 2797897 - Identifier 2797898 2797909 - AmpersandAmpersandToken 2797909 2797912 - CallExpression 2797912 2797948 - Identifier 2797912 2797928 - PropertyAccessExpression 2797929 2797947 - PropertyAccessExpression 2797929 2797940 - Identifier 2797929 2797933 - Identifier 2797934 2797940 - Identifier 2797941 2797947 - VariableStatement 2797949 2798157 - VariableDeclarationList 2797949 2798156 - VariableDeclaration 2797972 2798156 - Identifier 2797972 2798002 - BinaryExpression 2798004 2798156 - BinaryExpression 2798004 2798122 - BinaryExpression 2798004 2798076 - PrefixUnaryExpression 2798004 2798029 - Identifier 2798006 2798029 - AmpersandAmpersandToken 2798029 2798032 - BinaryExpression 2798032 2798076 - PropertyAccessExpression 2798032 2798049 - PropertyAccessExpression 2798032 2798044 - Identifier 2798032 2798037 - Identifier 2798038 2798044 - Identifier 2798045 2798049 - EqualsEqualsEqualsToken 2798049 2798053 - PropertyAccessExpression 2798053 2798076 - Identifier 2798053 2798064 - Identifier 2798065 2798076 - AmpersandAmpersandToken 2798076 2798079 - PrefixUnaryExpression 2798079 2798122 - PropertyAccessExpression 2798102 2798122 - Identifier 2798102 2798106 - Identifier 2798107 2798122 - AmpersandAmpersandToken 2798122 2798125 - BinaryExpression 2798125 2798156 - PropertyAccessExpression 2798125 2798136 - Identifier 2798125 2798130 - Identifier 2798131 2798136 - AmpersandToken 2798136 2798138 - PropertyAccessExpression 2798138 2798156 - Identifier 2798138 2798148 - Identifier 2798149 2798156 - IfStatement 2798157 2798405 - BinaryExpression 2798179 2798283 - BinaryExpression 2798179 2798249 - BinaryExpression 2798179 2798221 - PropertyAccessExpression 2798179 2798195 - PropertyAccessExpression 2798179 2798190 - Identifier 2798179 2798183 - Identifier 2798184 2798190 - Identifier 2798191 2798195 - ExclamationEqualsEqualsToken 2798195 2798199 - PropertyAccessExpression 2798199 2798221 - Identifier 2798199 2798210 - Identifier 2798211 2798221 - AmpersandAmpersandToken 2798221 2798224 - PrefixUnaryExpression 2798224 2798249 - Identifier 2798226 2798249 - AmpersandAmpersandToken 2798249 2798252 - PrefixUnaryExpression 2798252 2798283 - Identifier 2798254 2798283 - Block 2798284 2798405 - ExpressionStatement 2798286 2798386 - CallExpression 2798286 2798385 - Identifier 2798286 2798313 - Identifier 2798314 2798318 - PropertyAccessExpression 2798319 2798384 - Identifier 2798319 2798331 - Identifier 2798332 2798384 - Block 2798438 2799925 - VariableStatement 2798440 2798621 - VariableDeclarationList 2798440 2798620 - VariableDeclaration 2798550 2798620 - Identifier 2798550 2798563 - CallExpression 2798565 2798620 - Identifier 2798565 2798591 - Identifier 2798592 2798596 - NonNullExpression 2798597 2798619 - PropertyAccessExpression 2798597 2798618 - Identifier 2798597 2798602 - Identifier 2798603 2798618 - IfStatement 2798621 2799066 - BinaryExpression 2798643 2798698 - Identifier 2798643 2798655 - AmpersandAmpersandToken 2798655 2798658 - CallExpression 2798658 2798698 - Identifier 2798658 2798684 - Identifier 2798685 2798697 - Block 2798699 2798874 - ExpressionStatement 2798701 2798855 - CallExpression 2798701 2798854 - Identifier 2798701 2798728 - PropertyAccessExpression 2798729 2798749 - Identifier 2798729 2798733 - Identifier 2798734 2798749 - PropertyAccessExpression 2798750 2798823 - Identifier 2798750 2798762 - Identifier 2798763 2798823 - CallExpression 2798824 2798853 - Identifier 2798824 2798839 - Identifier 2798840 2798852 - IfStatement 2798896 2799066 - PropertyAccessExpression 2798901 2798918 - Identifier 2798901 2798905 - Identifier 2798906 2798918 - Block 2798919 2799066 - ExpressionStatement 2798921 2798979 - CallExpression 2798921 2798978 - Identifier 2798921 2798959 - PropertyAccessExpression 2798960 2798977 - Identifier 2798960 2798964 - Identifier 2798965 2798977 - ExpressionStatement 2798979 2799047 - CallExpression 2798979 2799046 - Identifier 2798979 2799022 - PropertyAccessExpression 2799023 2799045 - PropertyAccessExpression 2799023 2799040 - Identifier 2799023 2799027 - Identifier 2799028 2799040 - Identifier 2799041 2799045 - IfStatement 2799066 2799910 - BinaryExpression 2799088 2799165 - CallExpression 2799088 2799145 - PropertyAccessExpression 2799088 2799118 - Identifier 2799088 2799092 - Identifier 2799093 2799118 - CallExpression 2799119 2799144 - Identifier 2799119 2799138 - Identifier 2799139 2799143 - LessThanToken 2799145 2799147 - PropertyAccessExpression 2799147 2799165 - Identifier 2799147 2799158 - Identifier 2799159 2799165 - Block 2799166 2799910 - IfStatement 2799168 2799891 - PropertyAccessExpression 2799194 2799211 - Identifier 2799194 2799198 - Identifier 2799199 2799211 - Block 2799212 2799703 - IfStatement 2799214 2799680 - CallExpression 2799522 2799557 - Identifier 2799522 2799540 - Identifier 2799541 2799556 - Block 2799558 2799680 - ExpressionStatement 2799560 2799653 - CallExpression 2799560 2799652 - Identifier 2799560 2799614 - Identifier 2799615 2799619 - PropertyAccessExpression 2799620 2799651 - Identifier 2799620 2799640 - Identifier 2799641 2799651 - Block 2799729 2799891 - ExpressionStatement 2799731 2799868 - CallExpression 2799731 2799867 - Identifier 2799731 2799829 - Identifier 2799830 2799834 - PropertyAccessExpression 2799835 2799866 - Identifier 2799835 2799855 - Identifier 2799856 2799866 - ExpressionStatement 2799936 2799974 - CallExpression 2799936 2799973 - Identifier 2799936 2799967 - Identifier 2799968 2799972 - FunctionDeclaration 2799981 2800265 - Identifier 2799997 2800027 - Parameter 2800028 2800051 - Identifier 2800028 2800032 - TypeReference 2800033 2800051 - Identifier 2800033 2800051 - BooleanKeyword 2800053 2800061 - Block 2800061 2800265 - IfStatement 2800063 2800235 - BinaryExpression 2800077 2800147 - PropertyAccessExpression 2800077 2800092 - Identifier 2800077 2800081 - Identifier 2800082 2800092 - AmpersandAmpersandToken 2800092 2800095 - BinaryExpression 2800095 2800147 - PropertyAccessExpression 2800095 2800119 - PropertyAccessExpression 2800095 2800113 - Identifier 2800095 2800100 - Identifier 2800101 2800113 - QuestionDotToken 2800113 2800115 - Identifier 2800115 2800119 - EqualsEqualsEqualsToken 2800119 2800123 - PropertyAccessExpression 2800123 2800147 - Identifier 2800123 2800134 - Identifier 2800135 2800147 - Block 2800148 2800235 - ReturnStatement 2800150 2800224 - CallExpression 2800170 2800223 - Identifier 2800170 2800204 - PropertyAccessExpression 2800205 2800222 - Identifier 2800205 2800209 - Identifier 2800210 2800222 - ReturnStatement 2800235 2800258 - FalseKeyword 2800251 2800257 - FunctionDeclaration 2800265 2800717 - Identifier 2800281 2800314 - Parameter 2800315 2800330 - Identifier 2800315 2800319 - TypeReference 2800320 2800330 - Identifier 2800320 2800330 - Parameter 2800331 2800363 - Identifier 2800331 2800344 - TypeReference 2800345 2800363 - Identifier 2800345 2800363 - BooleanKeyword 2800365 2800373 - Block 2800373 2800717 - VariableStatement 2800375 2800559 - VariableDeclarationList 2800375 2800558 - VariableDeclaration 2800390 2800558 - Identifier 2800390 2800413 - BinaryExpression 2800415 2800558 - BinaryExpression 2800415 2800505 - BinaryExpression 2800415 2800458 - PropertyAccessExpression 2800415 2800432 - PropertyAccessExpression 2800415 2800427 - Identifier 2800415 2800420 - Identifier 2800421 2800427 - Identifier 2800428 2800432 - EqualsEqualsEqualsToken 2800432 2800436 - PropertyAccessExpression 2800436 2800458 - Identifier 2800436 2800447 - Identifier 2800448 2800458 - BarBarToken 2800458 2800461 - BinaryExpression 2800461 2800505 - PropertyAccessExpression 2800461 2800478 - PropertyAccessExpression 2800461 2800473 - Identifier 2800461 2800466 - Identifier 2800467 2800473 - Identifier 2800474 2800478 - EqualsEqualsEqualsToken 2800478 2800482 - PropertyAccessExpression 2800482 2800505 - Identifier 2800482 2800493 - Identifier 2800494 2800505 - BarBarToken 2800505 2800508 - BinaryExpression 2800508 2800558 - PropertyAccessExpression 2800508 2800525 - PropertyAccessExpression 2800508 2800520 - Identifier 2800508 2800513 - Identifier 2800514 2800520 - Identifier 2800521 2800525 - EqualsEqualsEqualsToken 2800525 2800529 - PropertyAccessExpression 2800529 2800558 - Identifier 2800529 2800540 - Identifier 2800541 2800558 - IfStatement 2800559 2800669 - PrefixUnaryExpression 2800573 2800596 - Identifier 2800574 2800596 - Block 2800597 2800669 - ExpressionStatement 2800599 2800658 - CallExpression 2800599 2800657 - Identifier 2800599 2800637 - Identifier 2800638 2800642 - Identifier 2800643 2800656 - ReturnStatement 2800669 2800710 - PrefixUnaryExpression 2800685 2800709 - Identifier 2800687 2800709 - FunctionDeclaration 2800717 2802627 - Identifier 2800733 2800754 - Parameter 2800755 2800776 - Identifier 2800755 2800759 - TypeReference 2800760 2800776 - Identifier 2800760 2800776 - Block 2800777 2802627 - ExpressionStatement 2800779 2800812 - CallExpression 2800779 2800811 - Identifier 2800779 2800805 - Identifier 2800806 2800810 - VariableStatement 2800812 2800898 - VariableDeclarationList 2800812 2800897 - VariableDeclaration 2800827 2800897 - Identifier 2800827 2800846 - BinaryExpression 2800848 2800897 - PropertyAccessExpression 2800848 2800883 - PropertyAccessExpression 2800848 2800867 - PropertyAccessExpression 2800848 2800860 - Identifier 2800848 2800853 - Identifier 2800854 2800860 - Identifier 2800861 2800867 - Identifier 2800868 2800883 - ExclamationEqualsEqualsToken 2800883 2800887 - Identifier 2800887 2800897 - ExpressionStatement 2800898 2800969 - CallExpression 2800898 2800968 - Identifier 2800898 2800929 - PropertyAccessExpression 2800930 2800947 - Identifier 2800930 2800934 - Identifier 2800935 2800947 - Identifier 2800948 2800967 - ExpressionStatement 2800969 2801012 - CallExpression 2800969 2801011 - Identifier 2800969 2801000 - PropertyAccessExpression 2801001 2801010 - Identifier 2801001 2801005 - Identifier 2801006 2801010 - IfStatement 2801012 2801167 - CallExpression 2801026 2801062 - Identifier 2801026 2801045 - Identifier 2801046 2801061 - Block 2801063 2801167 - ExpressionStatement 2801065 2801156 - CallExpression 2801065 2801155 - Identifier 2801065 2801099 - BinaryExpression 2801100 2801130 - PropertyAccessExpression 2801100 2801117 - Identifier 2801100 2801104 - Identifier 2801105 2801117 - BarBarToken 2801117 2801120 - PropertyAccessExpression 2801120 2801130 - Identifier 2801120 2801125 - Identifier 2801126 2801130 - TrueKeyword 2801131 2801154 - IfStatement 2801167 2802620 - PrefixUnaryExpression 2801181 2801200 - Identifier 2801182 2801200 - Block 2801201 2802230 - VariableStatement 2801203 2801269 - VariableDeclarationList 2801203 2801268 - VariableDeclaration 2801222 2801268 - Identifier 2801222 2801235 - BinaryExpression 2801237 2801268 - PropertyAccessExpression 2801237 2801255 - Identifier 2801237 2801242 - Identifier 2801243 2801255 - BarBarToken 2801255 2801258 - PropertyAccessExpression 2801258 2801268 - Identifier 2801258 2801263 - Identifier 2801264 2801268 - IfStatement 2801269 2801429 - BinaryExpression 2801287 2801333 - PropertyAccessExpression 2801287 2801304 - Identifier 2801287 2801299 - Identifier 2801300 2801304 - EqualsEqualsEqualsToken 2801304 2801308 - PropertyAccessExpression 2801308 2801333 - Identifier 2801308 2801319 - Identifier 2801320 2801333 - Block 2801334 2801429 - ReturnStatement 2801336 2801361 - VariableStatement 2801429 2801766 - VariableDeclarationList 2801429 2801765 - VariableDeclaration 2801571 2801765 - Identifier 2801571 2801578 - CallExpression 2801580 2801765 - Identifier 2801580 2801592 - Identifier 2801593 2801605 - PropertyAccessExpression 2801606 2801631 - Identifier 2801606 2801619 - Identifier 2801620 2801631 - BinaryExpression 2801632 2801713 - BinaryExpression 2801632 2801693 - BinaryExpression 2801632 2801669 - PropertyAccessExpression 2801632 2801650 - Identifier 2801632 2801644 - Identifier 2801645 2801650 - BarToken 2801650 2801652 - PropertyAccessExpression 2801652 2801669 - Identifier 2801652 2801664 - Identifier 2801665 2801669 - BarToken 2801669 2801671 - PropertyAccessExpression 2801671 2801693 - Identifier 2801671 2801683 - Identifier 2801684 2801693 - BarToken 2801693 2801695 - PropertyAccessExpression 2801695 2801713 - Identifier 2801695 2801707 - Identifier 2801708 2801713 - Identifier 2801714 2801748 - TrueKeyword 2801749 2801764 - IfStatement 2801766 2802219 - BinaryExpression 2801784 2801947 - Identifier 2801784 2801790 - AmpersandAmpersandToken 2801790 2801793 - ParenthesizedExpression 2801793 2801947 - BinaryExpression 2801795 2801946 - BinaryExpression 2801795 2801852 - BinaryExpression 2801795 2801821 - Identifier 2801795 2801801 - EqualsEqualsEqualsToken 2801801 2801805 - Identifier 2801805 2801821 - BarBarToken 2801821 2801824 - BinaryExpression 2801824 2801852 - Identifier 2801824 2801831 - EqualsEqualsEqualsToken 2801831 2801835 - Identifier 2801835 2801852 - BarBarToken 2801852 2801855 - BinaryExpression 2801855 2801946 - PropertyAccessExpression 2801855 2801875 - Identifier 2801855 2801862 - Identifier 2801863 2801875 - AmpersandAmpersandToken 2801875 2801878 - CallExpression 2801878 2801946 - Identifier 2801878 2801897 - CallExpression 2801898 2801945 - Identifier 2801898 2801921 - ElementAccessExpression 2801922 2801944 - PropertyAccessExpression 2801922 2801941 - Identifier 2801922 2801928 - Identifier 2801929 2801941 - NumericLiteral 2801942 2801943 - Block 2801948 2802108 - ExpressionStatement 2801950 2802093 - CallExpression 2801950 2802092 - Identifier 2801950 2801973 - Identifier 2801974 2801986 - PropertyAccessExpression 2801987 2802069 - Identifier 2801987 2801999 - Identifier 2802000 2802069 - CallExpression 2802070 2802091 - Identifier 2802070 2802077 - Identifier 2802078 2802090 - Block 2802126 2802219 - ExpressionStatement 2802128 2802204 - CallExpression 2802128 2802203 - Identifier 2802128 2802166 - Identifier 2802167 2802171 - PropertyAccessExpression 2802172 2802202 - Identifier 2802172 2802186 - Identifier 2802187 2802202 - Block 2802244 2802620 - IfStatement 2802246 2802609 - BinaryExpression 2802264 2802493 - BinaryExpression 2802264 2802415 - CallExpression 2802264 2802317 - Identifier 2802264 2802300 - Identifier 2802301 2802316 - AmpersandAmpersandToken 2802317 2802320 - BinaryExpression 2802320 2802415 - CallExpression 2802320 2802395 - PropertyAccessExpression 2802320 2802368 - Identifier 2802320 2802342 - Identifier 2802343 2802368 - CallExpression 2802369 2802394 - Identifier 2802369 2802388 - Identifier 2802389 2802393 - LessThanToken 2802395 2802397 - PropertyAccessExpression 2802397 2802415 - Identifier 2802397 2802408 - Identifier 2802409 2802415 - AmpersandAmpersandToken 2802415 2802418 - CallExpression 2802418 2802493 - Identifier 2802418 2802461 - BinaryExpression 2802462 2802492 - PropertyAccessExpression 2802462 2802479 - Identifier 2802462 2802466 - Identifier 2802467 2802479 - BarBarToken 2802479 2802482 - PropertyAccessExpression 2802482 2802492 - Identifier 2802482 2802487 - Identifier 2802488 2802492 - Block 2802508 2802609 - ExpressionStatement 2802510 2802594 - CallExpression 2802510 2802593 - Identifier 2802510 2802552 - Identifier 2802553 2802557 - PropertyAccessExpression 2802558 2802592 - Identifier 2802558 2802578 - Identifier 2802579 2802592 - FunctionDeclaration 2802627 2811615 - Identifier 2802643 2802665 - Parameter 2802666 2802688 - Identifier 2802666 2802670 - TypeReference 2802671 2802688 - Identifier 2802671 2802688 - Block 2802689 2811615 - VariableStatement 2802691 2802957 - VariableDeclarationList 2802691 2802956 - VariableDeclaration 2802706 2802956 - Identifier 2802706 2802728 - ConditionalExpression 2802730 2802956 - PropertyAccessExpression 2802730 2802750 - Identifier 2802730 2802735 - Identifier 2802736 2802750 - QuestionToken 2802750 2802765 - PropertyAccessExpression 2802765 2802855 - Identifier 2802765 2802777 - Identifier 2802778 2802855 - ColonToken 2802855 2802870 - PropertyAccessExpression 2802870 2802956 - Identifier 2802870 2802882 - Identifier 2802883 2802956 - IfStatement 2802957 2803178 - CallExpression 2802971 2803032 - Identifier 2802971 2803003 - Identifier 2803004 2803008 - Identifier 2803009 2803031 - Block 2803033 2803178 - ReturnStatement 2803035 2803167 - IfStatement 2803178 2803403 - BinaryExpression 2803194 2803288 - BinaryExpression 2803194 2803251 - PropertyAccessExpression 2803194 2803228 - Identifier 2803194 2803209 - Identifier 2803210 2803228 - AmpersandAmpersandToken 2803228 2803231 - PropertyAccessExpression 2803231 2803251 - Identifier 2803231 2803236 - Identifier 2803237 2803251 - AmpersandAmpersandToken 2803251 2803254 - PrefixUnaryExpression 2803254 2803288 - ParenthesizedExpression 2803256 2803288 - BinaryExpression 2803257 2803287 - PropertyAccessExpression 2803257 2803267 - Identifier 2803257 2803261 - Identifier 2803262 2803267 - AmpersandToken 2803267 2803269 - PropertyAccessExpression 2803269 2803287 - Identifier 2803269 2803279 - Identifier 2803280 2803287 - Block 2803289 2803403 - ExpressionStatement 2803291 2803392 - CallExpression 2803291 2803391 - Identifier 2803291 2803310 - Identifier 2803311 2803315 - PropertyAccessExpression 2803316 2803390 - Identifier 2803316 2803328 - Identifier 2803329 2803390 - VariableStatement 2803403 2803530 - VariableDeclarationList 2803403 2803529 - VariableDeclaration 2803418 2803529 - Identifier 2803418 2803428 - ConditionalExpression 2803430 2803529 - BinaryExpression 2803430 2803473 - PropertyAccessExpression 2803430 2803447 - PropertyAccessExpression 2803430 2803442 - Identifier 2803430 2803435 - Identifier 2803436 2803442 - Identifier 2803443 2803447 - EqualsEqualsEqualsToken 2803447 2803451 - PropertyAccessExpression 2803451 2803473 - Identifier 2803451 2803462 - Identifier 2803463 2803473 - QuestionToken 2803473 2803475 - PropertyAccessExpression 2803475 2803487 - Identifier 2803475 2803480 - Identifier 2803481 2803487 - ColonToken 2803487 2803489 - AsExpression 2803489 2803529 - PropertyAccessExpression 2803489 2803508 - PropertyAccessExpression 2803489 2803501 - Identifier 2803489 2803494 - Identifier 2803495 2803501 - Identifier 2803502 2803508 - TypeReference 2803511 2803529 - Identifier 2803511 2803529 - IfStatement 2803530 2803950 - BinaryExpression 2803544 2803622 - BinaryExpression 2803544 2803591 - PropertyAccessExpression 2803544 2803558 - Identifier 2803544 2803553 - Identifier 2803554 2803558 - EqualsEqualsEqualsToken 2803558 2803562 - PropertyAccessExpression 2803562 2803591 - Identifier 2803562 2803573 - Identifier 2803574 2803591 - AmpersandAmpersandToken 2803591 2803594 - PrefixUnaryExpression 2803594 2803622 - CallExpression 2803596 2803622 - Identifier 2803596 2803611 - Identifier 2803612 2803621 - Block 2803623 2803950 - IfStatement 2803625 2803916 - PropertyAccessExpression 2803643 2803662 - Identifier 2803643 2803647 - Identifier 2803648 2803662 - Block 2803663 2803774 - ExpressionStatement 2803665 2803759 - CallExpression 2803665 2803758 - Identifier 2803665 2803688 - Identifier 2803689 2803693 - PropertyAccessExpression 2803694 2803757 - Identifier 2803694 2803706 - Identifier 2803707 2803757 - Block 2803792 2803916 - ExpressionStatement 2803794 2803901 - CallExpression 2803794 2803900 - Identifier 2803794 2803817 - Identifier 2803818 2803822 - PropertyAccessExpression 2803823 2803899 - Identifier 2803823 2803835 - Identifier 2803836 2803899 - ReturnStatement 2803916 2803939 - IfStatement 2803950 2804167 - BinaryExpression 2803993 2804052 - PrefixUnaryExpression 2803993 2804021 - CallExpression 2803994 2804021 - Identifier 2803994 2804015 - Identifier 2804016 2804020 - AmpersandAmpersandToken 2804021 2804024 - CallExpression 2804024 2804052 - Identifier 2804024 2804046 - Identifier 2804047 2804051 - Block 2804053 2804167 - ExpressionStatement 2804055 2804156 - CallExpression 2804055 2804155 - Identifier 2804055 2804093 - Identifier 2804094 2804098 - PropertyAccessExpression 2804099 2804154 - Identifier 2804099 2804111 - Identifier 2804112 2804154 - VariableStatement 2804167 2804243 - VariableDeclarationList 2804167 2804242 - VariableDeclaration 2804184 2804242 - Identifier 2804184 2804203 - CallExpression 2804205 2804242 - Identifier 2804205 2804236 - Identifier 2804237 2804241 - IfStatement 2804243 2804423 - Identifier 2804257 2804275 - Block 2804276 2804423 - ExpressionStatement 2804278 2804412 - CallExpression 2804278 2804411 - Identifier 2804278 2804313 - CallExpression 2804314 2804352 - Identifier 2804314 2804335 - PropertyAccessExpression 2804336 2804351 - Identifier 2804336 2804340 - Identifier 2804341 2804351 - CallExpression 2804353 2804393 - Identifier 2804353 2804373 - Identifier 2804374 2804392 - PropertyAccessExpression 2804394 2804410 - Identifier 2804394 2804399 - Identifier 2804400 2804410 - VariableStatement 2804423 2804693 - VariableDeclarationList 2804423 2804692 - VariableDeclaration 2804440 2804692 - Identifier 2804440 2804468 - BinaryExpression 2804470 2804692 - BinaryExpression 2804470 2804594 - BinaryExpression 2804470 2804541 - PrefixUnaryExpression 2804470 2804491 - PropertyAccessExpression 2804472 2804491 - Identifier 2804472 2804476 - Identifier 2804477 2804491 - AmpersandAmpersandToken 2804491 2804494 - PrefixUnaryExpression 2804494 2804541 - ParenthesizedExpression 2804509 2804541 - BinaryExpression 2804510 2804540 - PropertyAccessExpression 2804510 2804520 - Identifier 2804510 2804514 - Identifier 2804515 2804520 - AmpersandToken 2804520 2804522 - PropertyAccessExpression 2804522 2804540 - Identifier 2804522 2804532 - Identifier 2804533 2804540 - AmpersandAmpersandToken 2804541 2804544 - PropertyAccessExpression 2804544 2804594 - Identifier 2804544 2804573 - Identifier 2804574 2804594 - AmpersandAmpersandToken 2804594 2804597 - BinaryExpression 2804597 2804692 - CallExpression 2804597 2804668 - PropertyAccessExpression 2804597 2804641 - Identifier 2804597 2804615 - Identifier 2804616 2804641 - CallExpression 2804642 2804667 - Identifier 2804642 2804661 - Identifier 2804662 2804666 - EqualsEqualsEqualsToken 2804668 2804672 - PropertyAccessExpression 2804672 2804692 - Identifier 2804672 2804683 - Identifier 2804684 2804692 - IfStatement 2804693 2809973 - BinaryExpression 2804709 2804755 - PropertyAccessExpression 2804709 2804729 - PropertyAccessExpression 2804709 2804724 - Identifier 2804709 2804713 - Identifier 2804714 2804724 - Identifier 2804725 2804729 - EqualsEqualsEqualsToken 2804729 2804733 - PropertyAccessExpression 2804733 2804755 - Identifier 2804733 2804744 - Identifier 2804745 2804755 - Block 2804756 2809893 - VariableStatement 2804758 2804813 - VariableDeclarationList 2804758 2804812 - VariableDeclaration 2804777 2804812 - Identifier 2804777 2804780 - AsExpression 2804782 2804812 - PropertyAccessExpression 2804782 2804798 - Identifier 2804782 2804787 - Identifier 2804788 2804798 - TypeReference 2804801 2804812 - Identifier 2804801 2804812 - VariableStatement 2804813 2804974 - VariableDeclarationList 2804813 2804973 - VariableDeclaration 2804832 2804973 - Identifier 2804832 2804836 - CallExpression 2804838 2804973 - Identifier 2804838 2804877 - CallExpression 2804878 2804972 - Identifier 2804878 2804895 - Identifier 2804896 2804898 - PropertyAccessExpression 2804899 2804915 - Identifier 2804899 2804911 - Identifier 2804912 2804915 - TrueKeyword 2804916 2804938 - TrueKeyword 2804939 2804965 - Identifier 2804966 2804971 - IfStatement 2804974 2809741 - Identifier 2804992 2804995 - Block 2804996 2809605 - ExpressionStatement 2804998 2805075 - CallExpression 2804998 2805074 - Identifier 2804998 2805036 - Identifier 2805037 2805041 - PropertyAccessExpression 2805042 2805073 - Identifier 2805042 2805056 - Identifier 2805057 2805073 - VariableStatement 2805075 2805173 - VariableDeclarationList 2805075 2805172 - VariableDeclaration 2805098 2805172 - Identifier 2805098 2805118 - CallExpression 2805120 2805172 - Identifier 2805120 2805148 - Identifier 2805149 2805152 - PropertyAccessExpression 2805153 2805171 - Identifier 2805153 2805165 - Identifier 2805166 2805171 - IfStatement 2805173 2806865 - BinaryExpression 2805331 2805370 - CallExpression 2805331 2805350 - Identifier 2805331 2805345 - Identifier 2805346 2805349 - AmpersandToken 2805350 2805352 - PropertyAccessExpression 2805352 2805370 - Identifier 2805352 2805364 - Identifier 2805365 2805370 - Block 2805371 2806245 - ExpressionStatement 2805373 2805514 - CallExpression 2805373 2805513 - Identifier 2805373 2805509 - Identifier 2805510 2805512 - IfStatement 2805514 2806226 - BinaryExpression 2805540 2805668 - BinaryExpression 2805540 2805645 - BinaryExpression 2805540 2805605 - PrefixUnaryExpression 2805540 2805568 - Identifier 2805541 2805568 - AmpersandAmpersandToken 2805568 2805571 - PrefixUnaryExpression 2805571 2805605 - ParenthesizedExpression 2805573 2805605 - BinaryExpression 2805574 2805604 - PropertyAccessExpression 2805574 2805584 - Identifier 2805574 2805578 - Identifier 2805579 2805584 - AmpersandToken 2805584 2805586 - PropertyAccessExpression 2805586 2805604 - Identifier 2805586 2805596 - Identifier 2805597 2805604 - AmpersandAmpersandToken 2805605 2805608 - PropertyAccessExpression 2805608 2805645 - Identifier 2805608 2805624 - Identifier 2805625 2805645 - AmpersandAmpersandToken 2805645 2805648 - Identifier 2805648 2805668 - Block 2805669 2806226 - ExpressionStatement 2805671 2806203 - CallExpression 2805671 2806202 - Identifier 2805671 2805702 - Identifier 2805703 2805735 - ConditionalExpression 2805736 2806133 - PropertyAccessExpression 2805736 2805785 - Identifier 2805736 2805770 - Identifier 2805771 2805785 - QuestionToken 2805785 2805820 - PropertyAccessExpression 2805820 2805961 - Identifier 2805820 2805832 - Identifier 2805833 2805961 - ColonToken 2805961 2805996 - PropertyAccessExpression 2805996 2806133 - Identifier 2805996 2806008 - Identifier 2806009 2806133 - CallExpression 2806134 2806174 - Identifier 2806134 2806170 - Identifier 2806171 2806173 - IfStatement 2806267 2806865 - BinaryExpression 2806272 2806377 - BinaryExpression 2806272 2806337 - PrefixUnaryExpression 2806272 2806300 - Identifier 2806273 2806300 - AmpersandAmpersandToken 2806300 2806303 - PrefixUnaryExpression 2806303 2806337 - ParenthesizedExpression 2806305 2806337 - BinaryExpression 2806306 2806336 - PropertyAccessExpression 2806306 2806316 - Identifier 2806306 2806310 - Identifier 2806311 2806316 - AmpersandToken 2806316 2806318 - PropertyAccessExpression 2806318 2806336 - Identifier 2806318 2806328 - Identifier 2806329 2806336 - AmpersandAmpersandToken 2806337 2806340 - PropertyAccessExpression 2806340 2806377 - Identifier 2806340 2806356 - Identifier 2806357 2806377 - Block 2806378 2806865 - ExpressionStatement 2806380 2806846 - CallExpression 2806380 2806845 - Identifier 2806380 2806407 - Identifier 2806408 2806436 - ConditionalExpression 2806437 2806784 - PropertyAccessExpression 2806437 2806482 - Identifier 2806437 2806467 - Identifier 2806468 2806482 - QuestionToken 2806482 2806513 - PropertyAccessExpression 2806513 2806635 - Identifier 2806513 2806525 - Identifier 2806526 2806635 - ColonToken 2806635 2806666 - PropertyAccessExpression 2806666 2806784 - Identifier 2806666 2806678 - Identifier 2806679 2806784 - CallExpression 2806785 2806821 - Identifier 2806785 2806817 - Identifier 2806818 2806820 - IfStatement 2806865 2809590 - BinaryExpression 2806889 2807029 - BinaryExpression 2806889 2806993 - BinaryExpression 2806889 2806954 - PrefixUnaryExpression 2806889 2806917 - Identifier 2806890 2806917 - AmpersandAmpersandToken 2806917 2806920 - PrefixUnaryExpression 2806920 2806954 - ParenthesizedExpression 2806922 2806954 - BinaryExpression 2806923 2806953 - PropertyAccessExpression 2806923 2806933 - Identifier 2806923 2806927 - Identifier 2806928 2806933 - AmpersandToken 2806933 2806935 - PropertyAccessExpression 2806935 2806953 - Identifier 2806935 2806945 - Identifier 2806946 2806953 - AmpersandAmpersandToken 2806954 2806957 - CallExpression 2806957 2806993 - Identifier 2806957 2806976 - Identifier 2806977 2806992 - AmpersandAmpersandToken 2806993 2806996 - PrefixUnaryExpression 2806996 2807029 - ParenthesizedExpression 2806998 2807029 - BinaryExpression 2806999 2807028 - PropertyAccessExpression 2806999 2807008 - Identifier 2806999 2807002 - Identifier 2807003 2807008 - AmpersandToken 2807008 2807010 - PropertyAccessExpression 2807010 2807028 - Identifier 2807010 2807022 - Identifier 2807023 2807028 - Block 2807030 2809590 - VariableStatement 2807032 2807165 - VariableDeclarationList 2807032 2807164 - VariableDeclaration 2807059 2807164 - Identifier 2807059 2807076 - CallExpression 2807078 2807164 - Identifier 2807078 2807093 - Identifier 2807094 2807097 - FalseKeyword 2807098 2807132 - TrueKeyword 2807133 2807163 - IfStatement 2807165 2809571 - BinaryExpression 2807191 2807503 - BinaryExpression 2807191 2807378 - BinaryExpression 2807191 2807310 - BinaryExpression 2807191 2807246 - PropertyAccessExpression 2807191 2807226 - Identifier 2807191 2807220 - Identifier 2807221 2807226 - AmpersandToken 2807226 2807228 - PropertyAccessExpression 2807228 2807246 - Identifier 2807228 2807240 - Identifier 2807241 2807246 - AmpersandAmpersandToken 2807246 2807274 - BinaryExpression 2807274 2807310 - Identifier 2807274 2807291 - AmpersandToken 2807291 2807293 - PropertyAccessExpression 2807293 2807310 - Identifier 2807293 2807305 - Identifier 2807306 2807310 - AmpersandAmpersandToken 2807310 2807338 - PrefixUnaryExpression 2807338 2807378 - ParenthesizedExpression 2807340 2807378 - BinaryExpression 2807341 2807377 - Identifier 2807341 2807357 - AmpersandToken 2807357 2807359 - PropertyAccessExpression 2807359 2807377 - Identifier 2807359 2807371 - Identifier 2807372 2807377 - AmpersandAmpersandToken 2807378 2807406 - ParenthesizedExpression 2807406 2807503 - BinaryExpression 2807408 2807502 - PrefixUnaryExpression 2807408 2807428 - Identifier 2807409 2807428 - BarBarToken 2807428 2807431 - BinaryExpression 2807431 2807502 - CallExpression 2807431 2807472 - Identifier 2807431 2807451 - Identifier 2807452 2807471 - ExclamationEqualsEqualsToken 2807472 2807476 - CallExpression 2807476 2807502 - Identifier 2807476 2807496 - Identifier 2807497 2807501 - Block 2807526 2808350 - ExpressionStatement 2807528 2808327 - CallExpression 2807528 2808326 - Identifier 2807528 2807731 - Identifier 2807732 2807764 - ConditionalExpression 2807765 2808199 - PropertyAccessExpression 2807765 2807814 - Identifier 2807765 2807799 - Identifier 2807800 2807814 - QuestionToken 2807814 2807816 - PropertyAccessExpression 2807816 2808010 - Identifier 2807816 2807861 - Identifier 2807862 2808010 - ColonToken 2808010 2808045 - PropertyAccessExpression 2808045 2808199 - Identifier 2808045 2808057 - Identifier 2808058 2808199 - CallExpression 2808200 2808240 - Identifier 2808200 2808236 - Identifier 2808237 2808239 - Identifier 2808241 2808298 - IfStatement 2808376 2809571 - BinaryExpression 2808381 2808474 - Identifier 2808381 2808400 - AmpersandAmpersandToken 2808400 2808403 - BinaryExpression 2808403 2808474 - CallExpression 2808403 2808444 - Identifier 2808403 2808423 - Identifier 2808424 2808443 - ExclamationEqualsEqualsToken 2808444 2808448 - CallExpression 2808448 2808474 - Identifier 2808448 2808468 - Identifier 2808469 2808473 - Block 2808475 2809571 - ExpressionStatement 2808477 2809548 - CallExpression 2808477 2809547 - Identifier 2808477 2808735 - CallExpression 2808736 2809428 - Identifier 2808736 2808771 - Identifier 2808772 2808808 - ConditionalExpression 2808809 2809289 - PropertyAccessExpression 2808809 2808862 - Identifier 2808809 2808847 - Identifier 2808848 2808862 - QuestionToken 2808862 2808864 - PropertyAccessExpression 2808864 2809079 - Identifier 2808864 2808913 - Identifier 2808914 2809079 - ColonToken 2809079 2809118 - PropertyAccessExpression 2809118 2809289 - Identifier 2809118 2809130 - Identifier 2809131 2809289 - CallExpression 2809290 2809334 - Identifier 2809290 2809330 - Identifier 2809331 2809333 - Identifier 2809335 2809396 - Identifier 2809429 2809478 - CallExpression 2809479 2809519 - Identifier 2809479 2809515 - Identifier 2809516 2809518 - Block 2809623 2809741 - ExpressionStatement 2809625 2809669 - CallExpression 2809625 2809668 - Identifier 2809625 2809664 - Identifier 2809665 2809667 - IfStatement 2809741 2809882 - CallExpression 2809761 2809797 - Identifier 2809761 2809780 - Identifier 2809781 2809796 - Block 2809798 2809882 - ExpressionStatement 2809800 2809867 - CallExpression 2809800 2809866 - Identifier 2809800 2809838 - Identifier 2809839 2809841 - TrueKeyword 2809842 2809865 - Block 2809907 2809973 - ExpressionStatement 2809909 2809962 - CallExpression 2809909 2809961 - Identifier 2809909 2809944 - PropertyAccessExpression 2809945 2809960 - Identifier 2809945 2809949 - Identifier 2809950 2809960 - IfStatement 2809973 2810153 - Identifier 2809989 2810016 - Block 2810017 2810153 - ExpressionStatement 2810019 2810142 - CallExpression 2810019 2810141 - Identifier 2810019 2810038 - Identifier 2810039 2810043 - PropertyAccessExpression 2810044 2810140 - Identifier 2810044 2810056 - Identifier 2810057 2810140 - ExpressionStatement 2810153 2810203 - CallExpression 2810153 2810202 - Identifier 2810153 2810191 - Identifier 2810192 2810201 - IfStatement 2810203 2810473 - BinaryExpression 2810219 2810295 - ParenthesizedExpression 2810219 2810251 - BinaryExpression 2810220 2810250 - PropertyAccessExpression 2810220 2810230 - Identifier 2810220 2810224 - Identifier 2810225 2810230 - AmpersandToken 2810230 2810232 - PropertyAccessExpression 2810232 2810250 - Identifier 2810232 2810242 - Identifier 2810243 2810250 - AmpersandAmpersandToken 2810251 2810254 - PrefixUnaryExpression 2810254 2810295 - CallExpression 2810256 2810295 - Identifier 2810256 2810278 - PropertyAccessExpression 2810279 2810294 - Identifier 2810279 2810283 - Identifier 2810284 2810294 - Block 2810296 2810473 - ExpressionStatement 2810298 2810462 - CallExpression 2810298 2810461 - Identifier 2810298 2810330 - PropertyAccessExpression 2810331 2810346 - Identifier 2810331 2810335 - Identifier 2810336 2810346 - PropertyAccessExpression 2810347 2810460 - Identifier 2810347 2810359 - Identifier 2810360 2810460 - IfStatement 2810473 2811608 - PropertyAccessExpression 2810489 2810508 - Identifier 2810489 2810493 - Identifier 2810494 2810508 - Block 2810509 2811608 - IfStatement 2810511 2811597 - BinaryExpression 2810620 2811011 - BinaryExpression 2810620 2810724 - BinaryExpression 2810620 2810669 - Identifier 2810620 2810648 - GreaterThanEqualsToken 2810648 2810651 - PropertyAccessExpression 2810651 2810669 - Identifier 2810651 2810662 - Identifier 2810663 2810669 - AmpersandAmpersandToken 2810669 2810672 - BinaryExpression 2810672 2810724 - Identifier 2810672 2810700 - ExclamationEqualsEqualsToken 2810700 2810704 - PropertyAccessExpression 2810704 2810724 - Identifier 2810704 2810715 - Identifier 2810716 2810724 - AmpersandAmpersandToken 2810724 2810727 - ParenthesizedExpression 2810727 2811011 - BinaryExpression 2810746 2811010 - ParenthesizedExpression 2810746 2810863 - BinaryExpression 2810747 2810862 - BinaryExpression 2810747 2810777 - PropertyAccessExpression 2810747 2810757 - Identifier 2810747 2810751 - Identifier 2810752 2810757 - AmpersandToken 2810757 2810759 - PropertyAccessExpression 2810759 2810777 - Identifier 2810759 2810769 - Identifier 2810770 2810777 - AmpersandAmpersandToken 2810777 2810780 - BinaryExpression 2810780 2810862 - CallExpression 2810780 2810840 - PropertyAccessExpression 2810780 2810813 - Identifier 2810780 2810785 - Identifier 2810786 2810813 - CallExpression 2810814 2810839 - Identifier 2810814 2810833 - Identifier 2810834 2810838 - EqualsEqualsEqualsToken 2810840 2810844 - PropertyAccessExpression 2810844 2810862 - Identifier 2810844 2810855 - Identifier 2810856 2810862 - BarBarToken 2810863 2810866 - ParenthesizedExpression 2810866 2811010 - BinaryExpression 2810889 2811009 - PrefixUnaryExpression 2810889 2810922 - ParenthesizedExpression 2810890 2810922 - BinaryExpression 2810891 2810921 - PropertyAccessExpression 2810891 2810901 - Identifier 2810891 2810895 - Identifier 2810896 2810901 - AmpersandToken 2810901 2810903 - PropertyAccessExpression 2810903 2810921 - Identifier 2810903 2810913 - Identifier 2810914 2810921 - AmpersandAmpersandToken 2810922 2810925 - BinaryExpression 2810925 2811009 - CallExpression 2810925 2810985 - PropertyAccessExpression 2810925 2810958 - Identifier 2810925 2810930 - Identifier 2810931 2810958 - CallExpression 2810959 2810984 - Identifier 2810959 2810978 - Identifier 2810979 2810983 - ExclamationEqualsEqualsToken 2810985 2810989 - PropertyAccessExpression 2810989 2811009 - Identifier 2810989 2811000 - Identifier 2811001 2811009 - Block 2811026 2811299 - ExpressionStatement 2811028 2811284 - CallExpression 2811028 2811283 - Identifier 2811028 2811134 - Identifier 2811135 2811139 - PropertyAccessExpression 2811140 2811282 - Identifier 2811140 2811152 - Identifier 2811153 2811282 - IfStatement 2811317 2811597 - BinaryExpression 2811322 2811391 - BinaryExpression 2811322 2811354 - Identifier 2811322 2811332 - EqualsEqualsEqualsToken 2811332 2811336 - PropertyAccessExpression 2811336 2811354 - Identifier 2811336 2811347 - Identifier 2811348 2811354 - AmpersandAmpersandToken 2811354 2811357 - PrefixUnaryExpression 2811357 2811391 - ParenthesizedExpression 2811359 2811391 - BinaryExpression 2811360 2811390 - PropertyAccessExpression 2811360 2811370 - Identifier 2811360 2811364 - Identifier 2811365 2811370 - AmpersandToken 2811370 2811372 - PropertyAccessExpression 2811372 2811390 - Identifier 2811372 2811382 - Identifier 2811383 2811390 - Block 2811392 2811597 - ExpressionStatement 2811394 2811582 - CallExpression 2811394 2811581 - Identifier 2811394 2811500 - Identifier 2811501 2811505 - PropertyAccessExpression 2811506 2811580 - Identifier 2811506 2811518 - Identifier 2811519 2811580 - FunctionDeclaration 2811615 2811763 - Identifier 2811631 2811650 - Parameter 2811651 2811671 - Identifier 2811651 2811663 - TypeReference 2811664 2811671 - Identifier 2811664 2811671 - Block 2811672 2811763 - ReturnStatement 2811674 2811756 - CallExpression 2811690 2811755 - Identifier 2811690 2811703 - NonNullExpression 2811704 2811725 - PropertyAccessExpression 2811704 2811724 - Identifier 2811704 2811716 - Identifier 2811717 2811724 - ArrowFunction 2811726 2811754 - Parameter 2811728 2811729 - Identifier 2811728 2811729 - Parameter 2811730 2811733 - Identifier 2811730 2811733 - EqualsGreaterThanToken 2811734 2811737 - BinaryExpression 2811737 2811754 - Identifier 2811737 2811740 - ExclamationEqualsEqualsToken 2811740 2811744 - StringLiteral 2811744 2811754 - FunctionDeclaration 2811763 2814377 - Identifier 2811779 2811806 - Parameter 2811807 2811843 - Identifier 2811807 2811811 - UnionType 2811812 2811843 - TypeReference 2811812 2811823 - Identifier 2811812 2811823 - TypeReference 2811825 2811843 - Identifier 2811825 2811843 - Block 2811844 2814377 - VariableStatement 2811846 2811906 - VariableDeclarationList 2811846 2811905 - VariableDeclaration 2811861 2811905 - Identifier 2811861 2811874 - CallExpression 2811876 2811905 - Identifier 2811876 2811899 - Identifier 2811900 2811904 - VariableStatement 2811906 2811959 - VariableDeclarationList 2811906 2811958 - VariableDeclaration 2811921 2811958 - Identifier 2811921 2811927 - CallExpression 2811929 2811958 - Identifier 2811929 2811944 - Identifier 2811945 2811957 - IfStatement 2811959 2814370 - PrefixUnaryExpression 2811973 2811994 - PropertyAccessExpression 2811974 2811994 - Identifier 2811974 2811979 - Identifier 2811980 2811994 - Block 2811995 2814370 - VariableStatement 2811997 2812087 - VariableDeclarationList 2811997 2812086 - VariableDeclaration 2812016 2812086 - Identifier 2812016 2812035 - CallExpression 2812037 2812086 - PropertyAccessExpression 2812037 2812063 - NonNullExpression 2812037 2812059 - PropertyAccessExpression 2812037 2812058 - Identifier 2812037 2812050 - Identifier 2812051 2812058 - Identifier 2812060 2812063 - AsExpression 2812064 2812085 - StringLiteral 2812064 2812073 - TypeReference 2812076 2812085 - Identifier 2812076 2812085 - IfStatement 2812087 2812572 - BinaryExpression 2812105 2812159 - Identifier 2812105 2812123 - AmpersandAmpersandToken 2812123 2812126 - CallExpression 2812126 2812159 - Identifier 2812126 2812145 - Identifier 2812146 2812158 - Block 2812160 2812572 - VariableStatement 2812162 2812287 - VariableDeclarationList 2812162 2812286 - VariableDeclaration 2812185 2812286 - Identifier 2812185 2812197 - BinaryExpression 2812199 2812286 - CallExpression 2812199 2812247 - Identifier 2812199 2812227 - Identifier 2812228 2812246 - BarBarToken 2812247 2812250 - PropertyAccessExpression 2812250 2812286 - Identifier 2812250 2812269 - Identifier 2812270 2812286 - IfStatement 2812287 2812557 - BinaryExpression 2812309 2812404 - BinaryExpression 2812309 2812376 - Identifier 2812309 2812320 - AmpersandAmpersandToken 2812320 2812323 - PrefixUnaryExpression 2812323 2812376 - CallExpression 2812325 2812376 - Identifier 2812325 2812363 - Identifier 2812364 2812375 - AmpersandAmpersandToken 2812376 2812379 - PrefixUnaryExpression 2812379 2812404 - CallExpression 2812381 2812404 - Identifier 2812381 2812391 - Identifier 2812392 2812403 - Block 2812405 2812557 - ExpressionStatement 2812407 2812538 - CallExpression 2812407 2812537 - Identifier 2812407 2812434 - Identifier 2812435 2812446 - PropertyAccessExpression 2812447 2812536 - Identifier 2812447 2812459 - Identifier 2812460 2812536 - VariableStatement 2812572 2812681 - VariableDeclarationList 2812572 2812680 - VariableDeclaration 2812637 2812680 - Identifier 2812637 2812645 - CallExpression 2812647 2812680 - Identifier 2812647 2812666 - Identifier 2812667 2812679 - IfStatement 2812681 2814317 - Identifier 2812699 2812706 - Block 2812707 2814317 - ExpressionStatement 2812709 2814302 - CallExpression 2812709 2814301 - PropertyAccessExpression 2812709 2812742 - Identifier 2812709 2812734 - Identifier 2812735 2812742 - ArrowFunction 2812743 2814300 - Parameter 2812744 2812767 - ObjectBindingPattern 2812744 2812767 - BindingElement 2812745 2812758 - Identifier 2812745 2812758 - BindingElement 2812759 2812765 - Identifier 2812759 2812765 - Parameter 2812768 2812771 - Identifier 2812768 2812771 - EqualsGreaterThanToken 2812772 2812775 - Block 2812775 2814300 - IfStatement 2812777 2812879 - BinaryExpression 2812803 2812820 - Identifier 2812803 2812805 - EqualsEqualsEqualsToken 2812805 2812809 - StringLiteral 2812809 2812820 - Block 2812821 2812879 - ReturnStatement 2812823 2812856 - IfStatement 2812879 2813243 - BinaryExpression 2813134 2813184 - Identifier 2813134 2813139 - AmpersandToken 2813139 2813141 - ParenthesizedExpression 2813141 2813184 - BinaryExpression 2813143 2813183 - PropertyAccessExpression 2813143 2813164 - Identifier 2813143 2813154 - Identifier 2813155 2813164 - BarToken 2813164 2813166 - PropertyAccessExpression 2813166 2813183 - Identifier 2813166 2813178 - Identifier 2813179 2813183 - Block 2813185 2813243 - ReturnStatement 2813187 2813220 - VariableStatement 2813243 2813387 - VariableDeclarationList 2813243 2813386 - VariableDeclaration 2813270 2813386 - Identifier 2813270 2813296 - CallExpression 2813298 2813386 - Identifier 2813298 2813309 - Identifier 2813310 2813322 - CallExpression 2813323 2813385 - Identifier 2813323 2813327 - Identifier 2813328 2813355 - CallExpression 2813356 2813384 - Identifier 2813356 2813360 - Identifier 2813361 2813383 - IfStatement 2813387 2813720 - BinaryExpression 2813413 2813476 - BinaryExpression 2813413 2813442 - Identifier 2813413 2813418 - AmpersandToken 2813418 2813420 - PropertyAccessExpression 2813420 2813442 - Identifier 2813420 2813432 - Identifier 2813433 2813442 - AmpersandAmpersandToken 2813442 2813445 - BinaryExpression 2813445 2813476 - Identifier 2813445 2813471 - LessThanEqualsToken 2813471 2813474 - NumericLiteral 2813474 2813476 - Block 2813477 2813720 - ReturnStatement 2813479 2813697 - IfStatement 2813720 2814281 - BinaryExpression 2813746 2813775 - Identifier 2813746 2813771 - GreaterThanToken 2813771 2813773 - NumericLiteral 2813773 2813775 - Block 2813776 2814281 - IfStatement 2813778 2814258 - PrefixUnaryExpression 2813808 2813849 - CallExpression 2813809 2813849 - Identifier 2813809 2813835 - Identifier 2813836 2813848 - Block 2813850 2814258 - ForOfStatement 2813852 2814231 - VariableDeclarationList 2813887 2813904 - VariableDeclaration 2813892 2813904 - Identifier 2813892 2813904 - NonNullExpression 2813907 2813921 - Identifier 2813907 2813920 - Block 2813922 2814231 - IfStatement 2813924 2814200 - CallExpression 2813962 2813988 - Identifier 2813962 2813975 - Identifier 2813976 2813987 - Block 2813989 2814200 - ExpressionStatement 2813991 2814165 - CallExpression 2813991 2814164 - PropertyAccessExpression 2813991 2814044 - Identifier 2813991 2814040 - Identifier 2814041 2814044 - CallExpression 2814045 2814163 - Identifier 2814045 2814068 - Identifier 2814069 2814080 - PropertyAccessExpression 2814081 2814130 - Identifier 2814081 2814093 - Identifier 2814094 2814130 - CallExpression 2814131 2814162 - Identifier 2814131 2814158 - Identifier 2814159 2814161 - ExpressionStatement 2814317 2814359 - BinaryExpression 2814317 2814358 - PropertyAccessExpression 2814317 2814351 - Identifier 2814317 2814336 - Identifier 2814337 2814351 - EqualsToken 2814351 2814353 - TrueKeyword 2814353 2814358 - FunctionDeclaration 2814377 2814708 - Identifier 2814393 2814420 - Parameter 2814421 2814460 - Identifier 2814421 2814433 - UnionType 2814434 2814460 - ArrayType 2814434 2814448 - TypeReference 2814434 2814446 - Identifier 2814434 2814446 - UndefinedKeyword 2814450 2814460 - Block 2814461 2814708 - ReturnStatement 2814463 2814701 - BinaryExpression 2814479 2814700 - BinaryExpression 2814479 2814532 - Identifier 2814479 2814492 - AmpersandAmpersandToken 2814492 2814508 - BinaryExpression 2814508 2814532 - PropertyAccessExpression 2814508 2814528 - Identifier 2814508 2814521 - Identifier 2814522 2814528 - GreaterThanToken 2814528 2814530 - NumericLiteral 2814530 2814532 - AmpersandAmpersandToken 2814532 2814548 - CallExpression 2814548 2814700 - PropertyAccessExpression 2814548 2814567 - Identifier 2814548 2814561 - Identifier 2814562 2814567 - ArrowFunction 2814568 2814699 - Parameter 2814568 2814569 - Identifier 2814568 2814569 - EqualsGreaterThanToken 2814569 2814572 - BinaryExpression 2814572 2814699 - BinaryExpression 2814572 2814611 - CallExpression 2814572 2814586 - Identifier 2814572 2814583 - Identifier 2814584 2814585 - AmpersandAmpersandToken 2814586 2814589 - CallExpression 2814589 2814611 - Identifier 2814589 2814608 - Identifier 2814609 2814610 - AmpersandAmpersandToken 2814611 2814614 - ParenthesizedExpression 2814614 2814699 - BinaryExpression 2814616 2814698 - CallExpression 2814616 2814649 - Identifier 2814616 2814635 - PropertyAccessExpression 2814636 2814648 - Identifier 2814636 2814637 - Identifier 2814638 2814648 - BarBarToken 2814649 2814652 - CallExpression 2814652 2814698 - Identifier 2814652 2814684 - PropertyAccessExpression 2814685 2814697 - Identifier 2814685 2814686 - Identifier 2814687 2814697 - FunctionDeclaration 2814708 2815023 - Identifier 2814724 2814743 - Parameter 2814744 2814766 - Identifier 2814744 2814748 - UnionType 2814749 2814766 - TypeReference 2814749 2814754 - Identifier 2814749 2814754 - UndefinedKeyword 2814756 2814766 - VoidKeyword 2814768 2814773 - Block 2814773 2815023 - IfStatement 2814775 2815016 - Identifier 2814789 2814793 - Block 2814794 2815016 - VariableStatement 2814796 2814846 - VariableDeclarationList 2814796 2814845 - VariableDeclaration 2814815 2814845 - Identifier 2814815 2814831 - Identifier 2814833 2814845 - ExpressionStatement 2814846 2814879 - BinaryExpression 2814846 2814878 - Identifier 2814846 2814871 - EqualsToken 2814871 2814873 - Identifier 2814873 2814878 - ExpressionStatement 2814879 2814916 - BinaryExpression 2814879 2814915 - Identifier 2814879 2814911 - EqualsToken 2814911 2814913 - NumericLiteral 2814913 2814915 - ExpressionStatement 2814916 2814961 - CallExpression 2814916 2814960 - Identifier 2814916 2814954 - Identifier 2814955 2814959 - ExpressionStatement 2814961 2815005 - BinaryExpression 2814961 2815004 - Identifier 2814961 2814986 - EqualsToken 2814986 2814988 - Identifier 2814988 2815004 - FunctionDeclaration 2815023 2826476 - Identifier 2815039 2815064 - Parameter 2815065 2815075 - Identifier 2815065 2815069 - TypeReference 2815070 2815075 - Identifier 2815070 2815075 - VoidKeyword 2815077 2815082 - Block 2815082 2826476 - IfStatement 2815084 2815194 - BinaryExpression 2815098 2815159 - CallExpression 2815098 2815121 - Identifier 2815098 2815115 - Identifier 2815116 2815120 - AmpersandToken 2815121 2815123 - PropertyAccessExpression 2815123 2815159 - Identifier 2815123 2815138 - Identifier 2815139 2815159 - Block 2815160 2815194 - ReturnStatement 2815162 2815183 - IfStatement 2815194 2815606 - CallExpression 2815210 2815228 - Identifier 2815210 2815222 - Identifier 2815223 2815227 - Block 2815229 2815606 - ExpressionStatement 2815231 2815595 - CallExpression 2815231 2815594 - Identifier 2815231 2815252 - PropertyAccessExpression 2815253 2815263 - Identifier 2815253 2815257 - Identifier 2815258 2815263 - ArrowFunction 2815264 2815593 - Parameter 2815266 2815283 - ObjectBindingPattern 2815266 2815283 - BindingElement 2815267 2815275 - Identifier 2815267 2815275 - BindingElement 2815276 2815281 - Identifier 2815276 2815281 - EqualsGreaterThanToken 2815284 2815287 - Block 2815287 2815593 - ExpressionStatement 2815289 2815340 - CallExpression 2815289 2815339 - Identifier 2815289 2815330 - Identifier 2815331 2815338 - ExpressionStatement 2815340 2815578 - CallExpression 2815340 2815577 - Identifier 2815340 2815365 - Identifier 2815366 2815370 - ArrowFunction 2815371 2815576 - Parameter 2815371 2815375 - Identifier 2815371 2815375 - EqualsGreaterThanToken 2815375 2815378 - Block 2815378 2815576 - ExpressionStatement 2815380 2815439 - CallExpression 2815380 2815438 - Identifier 2815380 2815425 - PropertyAccessExpression 2815426 2815437 - Identifier 2815426 2815429 - Identifier 2815430 2815437 - IfStatement 2815439 2815557 - CallExpression 2815465 2815481 - Identifier 2815465 2815475 - Identifier 2815476 2815480 - Block 2815482 2815557 - ExpressionStatement 2815484 2815534 - CallExpression 2815484 2815533 - Identifier 2815484 2815528 - Identifier 2815529 2815532 - VariableStatement 2815606 2815641 - VariableDeclarationList 2815606 2815640 - VariableDeclaration 2815623 2815640 - Identifier 2815623 2815628 - PropertyAccessExpression 2815630 2815640 - Identifier 2815630 2815635 - Identifier 2815636 2815640 - IfStatement 2815641 2816180 - Identifier 2815655 2815672 - Block 2815673 2816180 - SwitchStatement 2815675 2816169 - Identifier 2815864 2815868 - CaseBlock 2815869 2816169 - CaseClause 2815871 2815923 - PropertyAccessExpression 2815893 2815922 - Identifier 2815893 2815904 - Identifier 2815905 2815922 - CaseClause 2815923 2815974 - PropertyAccessExpression 2815945 2815973 - Identifier 2815945 2815956 - Identifier 2815957 2815973 - CaseClause 2815974 2816029 - PropertyAccessExpression 2815996 2816028 - Identifier 2815996 2816007 - Identifier 2816008 2816028 - CaseClause 2816029 2816154 - PropertyAccessExpression 2816051 2816082 - Identifier 2816051 2816062 - Identifier 2816063 2816082 - ExpressionStatement 2816083 2816154 - CallExpression 2816083 2816153 - PropertyAccessExpression 2816083 2816151 - Identifier 2816083 2816122 - Identifier 2816123 2816151 - IfStatement 2816180 2816483 - BinaryExpression 2816194 2816344 - BinaryExpression 2816194 2816305 - BinaryExpression 2816194 2816288 - BinaryExpression 2816194 2816263 - BinaryExpression 2816194 2816227 - Identifier 2816194 2816198 - GreaterThanEqualsToken 2816198 2816201 - PropertyAccessExpression 2816201 2816227 - Identifier 2816201 2816212 - Identifier 2816213 2816227 - AmpersandAmpersandToken 2816227 2816230 - BinaryExpression 2816230 2816263 - Identifier 2816230 2816235 - LessThanEqualsToken 2816235 2816238 - PropertyAccessExpression 2816238 2816263 - Identifier 2816238 2816249 - Identifier 2816250 2816263 - AmpersandAmpersandToken 2816263 2816266 - CallExpression 2816266 2816288 - Identifier 2816266 2816282 - Identifier 2816283 2816287 - AmpersandAmpersandToken 2816288 2816291 - PropertyAccessExpression 2816291 2816305 - Identifier 2816291 2816296 - Identifier 2816297 2816305 - AmpersandAmpersandToken 2816305 2816308 - PrefixUnaryExpression 2816308 2816344 - CallExpression 2816310 2816344 - Identifier 2816310 2816329 - PropertyAccessExpression 2816330 2816343 - Identifier 2816330 2816334 - Identifier 2816335 2816343 - Block 2816345 2816483 - ExpressionStatement 2816347 2816472 - CallExpression 2816347 2816471 - Identifier 2816347 2816378 - BinaryExpression 2816379 2816425 - PropertyAccessExpression 2816379 2816415 - Identifier 2816379 2816394 - Identifier 2816395 2816415 - EqualsEqualsEqualsToken 2816415 2816419 - FalseKeyword 2816419 2816425 - Identifier 2816426 2816431 - PropertyAccessExpression 2816432 2816470 - Identifier 2816432 2816444 - Identifier 2816445 2816470 - SwitchStatement 2816483 2826469 - Identifier 2816580 2816584 - CaseBlock 2816585 2826469 - CaseClause 2816587 2816709 - PropertyAccessExpression 2816605 2816630 - Identifier 2816605 2816616 - Identifier 2816617 2816630 - ReturnStatement 2816631 2816709 - CallExpression 2816655 2816708 - Identifier 2816655 2816674 - AsExpression 2816675 2816707 - Identifier 2816675 2816679 - TypeReference 2816682 2816707 - Identifier 2816682 2816707 - CaseClause 2816709 2816819 - PropertyAccessExpression 2816727 2816748 - Identifier 2816727 2816738 - Identifier 2816739 2816748 - ReturnStatement 2816749 2816819 - CallExpression 2816773 2816818 - Identifier 2816773 2816788 - AsExpression 2816789 2816817 - Identifier 2816789 2816793 - TypeReference 2816796 2816817 - Identifier 2816796 2816817 - CaseClause 2816819 2816948 - PropertyAccessExpression 2816837 2816868 - Identifier 2816837 2816848 - Identifier 2816849 2816868 - ReturnStatement 2816869 2816948 - CallExpression 2816893 2816947 - Identifier 2816893 2816918 - AsExpression 2816919 2816946 - Identifier 2816919 2816923 - TypeReference 2816926 2816946 - Identifier 2816926 2816946 - CaseClause 2816948 2817071 - PropertyAccessExpression 2816966 2816995 - Identifier 2816966 2816977 - Identifier 2816978 2816995 - ReturnStatement 2816996 2817071 - CallExpression 2817020 2817070 - Identifier 2817020 2817043 - AsExpression 2817044 2817069 - Identifier 2817044 2817048 - TypeReference 2817051 2817069 - Identifier 2817051 2817069 - CaseClause 2817071 2817117 - PropertyAccessExpression 2817089 2817116 - Identifier 2817089 2817100 - Identifier 2817101 2817116 - CaseClause 2817117 2817160 - PropertyAccessExpression 2817135 2817159 - Identifier 2817135 2817146 - Identifier 2817147 2817159 - CaseClause 2817160 2817204 - PropertyAccessExpression 2817178 2817203 - Identifier 2817178 2817189 - Identifier 2817190 2817203 - CaseClause 2817204 2817253 - PropertyAccessExpression 2817222 2817252 - Identifier 2817222 2817233 - Identifier 2817234 2817252 - CaseClause 2817253 2817379 - PropertyAccessExpression 2817271 2817297 - Identifier 2817271 2817282 - Identifier 2817283 2817297 - ReturnStatement 2817298 2817379 - CallExpression 2817322 2817378 - Identifier 2817322 2817348 - AsExpression 2817349 2817377 - Identifier 2817349 2817353 - TypeReference 2817356 2817377 - Identifier 2817356 2817377 - CaseClause 2817379 2817427 - PropertyAccessExpression 2817397 2817426 - Identifier 2817397 2817408 - Identifier 2817409 2817426 - CaseClause 2817427 2817566 - PropertyAccessExpression 2817445 2817472 - Identifier 2817445 2817456 - Identifier 2817457 2817472 - ReturnStatement 2817473 2817566 - CallExpression 2817497 2817565 - Identifier 2817497 2817520 - AsExpression 2817521 2817564 - Identifier 2817521 2817525 - UnionType 2817528 2817564 - TypeReference 2817528 2817546 - Identifier 2817528 2817546 - TypeReference 2817548 2817564 - Identifier 2817548 2817564 - CaseClause 2817566 2817719 - PropertyAccessExpression 2817584 2817623 - Identifier 2817584 2817595 - Identifier 2817596 2817623 - ReturnStatement 2817624 2817719 - CallExpression 2817648 2817718 - Identifier 2817648 2817681 - AsExpression 2817682 2817717 - Identifier 2817682 2817686 - TypeReference 2817689 2817717 - Identifier 2817689 2817717 - CaseClause 2817719 2817846 - PropertyAccessExpression 2817737 2817760 - Identifier 2817737 2817748 - Identifier 2817749 2817760 - ReturnStatement 2817761 2817846 - CallExpression 2817785 2817845 - Identifier 2817785 2817813 - AsExpression 2817814 2817844 - Identifier 2817814 2817818 - TypeReference 2817821 2817844 - Identifier 2817821 2817844 - CaseClause 2817846 2817888 - PropertyAccessExpression 2817864 2817887 - Identifier 2817864 2817875 - Identifier 2817876 2817887 - CaseClause 2817888 2818009 - PropertyAccessExpression 2817906 2817929 - Identifier 2817906 2817917 - Identifier 2817918 2817929 - ReturnStatement 2817930 2818009 - CallExpression 2817954 2818008 - Identifier 2817954 2817979 - AsExpression 2817980 2818007 - Identifier 2817980 2817984 - TypeReference 2817987 2818007 - Identifier 2817987 2818007 - CaseClause 2818009 2818128 - PropertyAccessExpression 2818027 2818052 - Identifier 2818027 2818038 - Identifier 2818039 2818052 - ReturnStatement 2818053 2818128 - CallExpression 2818077 2818127 - Identifier 2818077 2818100 - AsExpression 2818101 2818126 - Identifier 2818101 2818105 - TypeReference 2818108 2818126 - Identifier 2818108 2818126 - CaseClause 2818128 2818243 - PropertyAccessExpression 2818146 2818171 - Identifier 2818146 2818157 - Identifier 2818158 2818171 - ReturnStatement 2818172 2818243 - CallExpression 2818196 2818242 - Identifier 2818196 2818215 - AsExpression 2818216 2818241 - Identifier 2818216 2818220 - TypeReference 2818223 2818241 - Identifier 2818223 2818241 - CaseClause 2818243 2818346 - PropertyAccessExpression 2818261 2818282 - Identifier 2818261 2818272 - Identifier 2818273 2818282 - ReturnStatement 2818283 2818346 - CallExpression 2818307 2818345 - Identifier 2818307 2818322 - AsExpression 2818323 2818344 - Identifier 2818323 2818327 - TypeReference 2818330 2818344 - Identifier 2818330 2818344 - CaseClause 2818346 2818455 - PropertyAccessExpression 2818364 2818387 - Identifier 2818364 2818375 - Identifier 2818376 2818387 - ReturnStatement 2818388 2818455 - CallExpression 2818412 2818454 - Identifier 2818412 2818429 - AsExpression 2818430 2818453 - Identifier 2818430 2818434 - TypeReference 2818437 2818453 - Identifier 2818437 2818453 - CaseClause 2818455 2818558 - PropertyAccessExpression 2818473 2818494 - Identifier 2818473 2818484 - Identifier 2818485 2818494 - ReturnStatement 2818495 2818558 - CallExpression 2818519 2818557 - Identifier 2818519 2818534 - AsExpression 2818535 2818556 - Identifier 2818535 2818539 - TypeReference 2818542 2818556 - Identifier 2818542 2818556 - CaseClause 2818558 2818661 - PropertyAccessExpression 2818576 2818597 - Identifier 2818576 2818587 - Identifier 2818588 2818597 - ReturnStatement 2818598 2818661 - CallExpression 2818622 2818660 - Identifier 2818622 2818637 - AsExpression 2818638 2818659 - Identifier 2818638 2818642 - TypeReference 2818645 2818659 - Identifier 2818645 2818659 - CaseClause 2818661 2818701 - PropertyAccessExpression 2818679 2818700 - Identifier 2818679 2818690 - Identifier 2818691 2818700 - CaseClause 2818701 2818839 - PropertyAccessExpression 2818719 2818747 - Identifier 2818719 2818730 - Identifier 2818731 2818747 - ReturnStatement 2818748 2818839 - CallExpression 2818772 2818838 - Identifier 2818772 2818801 - AsExpression 2818802 2818837 - Identifier 2818802 2818806 - TypeReference 2818809 2818837 - Identifier 2818809 2818837 - CaseClause 2818839 2818887 - PropertyAccessExpression 2818857 2818886 - Identifier 2818857 2818868 - Identifier 2818869 2818886 - CaseClause 2818887 2818930 - PropertyAccessExpression 2818905 2818929 - Identifier 2818905 2818916 - Identifier 2818917 2818929 - CaseClause 2818930 2819085 - PropertyAccessExpression 2818948 2818968 - Identifier 2818948 2818959 - Identifier 2818960 2818968 - ReturnStatement 2818969 2819085 - CallExpression 2818993 2819084 - Identifier 2818993 2819012 - PropertyAccessExpression 2819013 2819083 - ParenthesizedExpression 2819013 2819078 - AsExpression 2819014 2819077 - Identifier 2819014 2819018 - UnionType 2819021 2819077 - TypeReference 2819021 2819043 - Identifier 2819021 2819043 - TypeReference 2819045 2819062 - Identifier 2819045 2819062 - TypeReference 2819064 2819077 - Identifier 2819064 2819077 - Identifier 2819079 2819083 - CaseClause 2819085 2819185 - PropertyAccessExpression 2819103 2819123 - Identifier 2819103 2819114 - Identifier 2819115 2819123 - ReturnStatement 2819124 2819185 - CallExpression 2819148 2819184 - Identifier 2819148 2819162 - AsExpression 2819163 2819183 - Identifier 2819163 2819167 - TypeReference 2819170 2819183 - Identifier 2819170 2819183 - CaseClause 2819185 2819297 - PropertyAccessExpression 2819203 2819227 - Identifier 2819203 2819214 - Identifier 2819215 2819227 - ReturnStatement 2819228 2819297 - CallExpression 2819252 2819296 - Identifier 2819252 2819270 - AsExpression 2819271 2819295 - Identifier 2819271 2819275 - TypeReference 2819278 2819295 - Identifier 2819278 2819295 - CaseClause 2819297 2819418 - PropertyAccessExpression 2819315 2819342 - Identifier 2819315 2819326 - Identifier 2819327 2819342 - ReturnStatement 2819343 2819418 - CallExpression 2819367 2819417 - Identifier 2819367 2819388 - AsExpression 2819389 2819416 - Identifier 2819389 2819393 - TypeReference 2819396 2819416 - Identifier 2819396 2819416 - CaseClause 2819418 2819521 - PropertyAccessExpression 2819436 2819457 - Identifier 2819436 2819447 - Identifier 2819448 2819457 - ReturnStatement 2819458 2819521 - CallExpression 2819482 2819520 - Identifier 2819482 2819497 - AsExpression 2819498 2819519 - Identifier 2819498 2819502 - TypeReference 2819505 2819519 - Identifier 2819505 2819519 - CaseClause 2819521 2819654 - PropertyAccessExpression 2819539 2819570 - Identifier 2819539 2819550 - Identifier 2819551 2819570 - ReturnStatement 2819571 2819654 - CallExpression 2819595 2819653 - Identifier 2819595 2819620 - AsExpression 2819621 2819652 - Identifier 2819621 2819625 - TypeReference 2819628 2819652 - Identifier 2819628 2819652 - CaseClause 2819654 2819760 - PropertyAccessExpression 2819672 2819694 - Identifier 2819672 2819683 - Identifier 2819684 2819694 - ReturnStatement 2819695 2819760 - CallExpression 2819719 2819759 - Identifier 2819719 2819735 - AsExpression 2819736 2819758 - Identifier 2819736 2819740 - TypeReference 2819743 2819758 - Identifier 2819743 2819758 - CaseClause 2819760 2819880 - PropertyAccessExpression 2819778 2819806 - Identifier 2819778 2819789 - Identifier 2819790 2819806 - ReturnStatement 2819807 2819880 - CallExpression 2819831 2819879 - Identifier 2819831 2819853 - AsExpression 2819854 2819878 - Identifier 2819854 2819858 - TypeReference 2819861 2819878 - Identifier 2819861 2819878 - CaseClause 2819880 2820000 - PropertyAccessExpression 2819898 2819926 - Identifier 2819898 2819909 - Identifier 2819910 2819926 - ReturnStatement 2819927 2820000 - CallExpression 2819951 2819999 - Identifier 2819951 2819973 - AsExpression 2819974 2819998 - Identifier 2819974 2819978 - TypeReference 2819981 2819998 - Identifier 2819981 2819998 - CaseClause 2820000 2820126 - PropertyAccessExpression 2820018 2820048 - Identifier 2820018 2820029 - Identifier 2820030 2820048 - ReturnStatement 2820049 2820126 - CallExpression 2820073 2820125 - Identifier 2820073 2820097 - AsExpression 2820098 2820124 - Identifier 2820098 2820102 - TypeReference 2820105 2820124 - Identifier 2820105 2820124 - CaseClause 2820126 2820172 - PropertyAccessExpression 2820144 2820171 - Identifier 2820144 2820155 - Identifier 2820156 2820171 - CaseClause 2820172 2820219 - PropertyAccessExpression 2820190 2820218 - Identifier 2820190 2820201 - Identifier 2820202 2820218 - CaseClause 2820219 2820335 - PropertyAccessExpression 2820237 2820261 - Identifier 2820237 2820248 - Identifier 2820249 2820261 - ReturnStatement 2820262 2820335 - CallExpression 2820286 2820334 - Identifier 2820286 2820309 - AsExpression 2820310 2820333 - Identifier 2820310 2820314 - TypeReference 2820317 2820333 - Identifier 2820317 2820333 - CaseClause 2820335 2820455 - PropertyAccessExpression 2820353 2820381 - Identifier 2820353 2820364 - Identifier 2820365 2820381 - ReturnStatement 2820382 2820455 - CallExpression 2820406 2820454 - Identifier 2820406 2820428 - AsExpression 2820429 2820453 - Identifier 2820429 2820433 - TypeReference 2820436 2820453 - Identifier 2820436 2820453 - CaseClause 2820455 2820563 - PropertyAccessExpression 2820473 2820497 - Identifier 2820473 2820484 - Identifier 2820485 2820497 - ReturnStatement 2820498 2820563 - CallExpression 2820522 2820562 - Identifier 2820522 2820540 - AsExpression 2820541 2820561 - Identifier 2820541 2820545 - TypeReference 2820548 2820561 - Identifier 2820548 2820561 - CaseClause 2820563 2820603 - PropertyAccessExpression 2820581 2820602 - Identifier 2820581 2820592 - Identifier 2820593 2820602 - CaseClause 2820603 2820647 - PropertyAccessExpression 2820621 2820646 - Identifier 2820621 2820632 - Identifier 2820633 2820646 - CaseClause 2820647 2820791 - PropertyAccessExpression 2820665 2820691 - Identifier 2820665 2820676 - Identifier 2820677 2820691 - ReturnStatement 2820692 2820791 - CallExpression 2820716 2820790 - Identifier 2820716 2820738 - AsExpression 2820739 2820789 - Identifier 2820739 2820743 - UnionType 2820746 2820789 - TypeReference 2820746 2820756 - Identifier 2820746 2820756 - TypeReference 2820758 2820772 - Identifier 2820758 2820772 - TypeReference 2820774 2820789 - Identifier 2820774 2820789 - CaseClause 2820791 2820914 - PropertyAccessExpression 2820809 2820838 - Identifier 2820809 2820820 - Identifier 2820821 2820838 - ReturnStatement 2820839 2820914 - CallExpression 2820863 2820913 - Identifier 2820863 2820886 - AsExpression 2820887 2820912 - Identifier 2820887 2820891 - TypeReference 2820894 2820912 - Identifier 2820894 2820912 - CaseClause 2820914 2821034 - PropertyAccessExpression 2820932 2820960 - Identifier 2820932 2820943 - Identifier 2820944 2820960 - ReturnStatement 2820961 2821034 - CallExpression 2820985 2821033 - Identifier 2820985 2821007 - AsExpression 2821008 2821032 - Identifier 2821008 2821012 - TypeReference 2821015 2821032 - Identifier 2821015 2821032 - CaseClause 2821034 2821150 - PropertyAccessExpression 2821052 2821081 - Identifier 2821052 2821063 - Identifier 2821064 2821081 - ExpressionStatement 2821082 2821150 - CallExpression 2821082 2821149 - Identifier 2821082 2821122 - AsExpression 2821123 2821148 - Identifier 2821123 2821127 - TypeReference 2821130 2821148 - Identifier 2821130 2821148 - CaseClause 2821150 2821235 - PropertyAccessExpression 2821202 2821234 - Identifier 2821202 2821213 - Identifier 2821214 2821234 - CaseClause 2821235 2821283 - PropertyAccessExpression 2821253 2821282 - Identifier 2821253 2821264 - Identifier 2821265 2821282 - CaseClause 2821283 2821326 - PropertyAccessExpression 2821301 2821325 - Identifier 2821301 2821312 - Identifier 2821313 2821325 - CaseClause 2821326 2821373 - PropertyAccessExpression 2821344 2821372 - Identifier 2821344 2821355 - Identifier 2821356 2821372 - CaseClause 2821373 2821551 - PropertyAccessExpression 2821391 2821419 - Identifier 2821391 2821402 - Identifier 2821403 2821419 - ExpressionStatement 2821420 2821469 - CallExpression 2821420 2821468 - Identifier 2821420 2821462 - Identifier 2821463 2821467 - ExpressionStatement 2821469 2821526 - CallExpression 2821469 2821525 - Identifier 2821469 2821499 - Identifier 2821500 2821504 - Identifier 2821505 2821524 - ReturnStatement 2821526 2821551 - CaseClause 2821551 2821692 - PropertyAccessExpression 2821569 2821598 - Identifier 2821569 2821580 - Identifier 2821581 2821598 - ExpressionStatement 2821599 2821667 - CallExpression 2821599 2821666 - Identifier 2821599 2821639 - AsExpression 2821640 2821665 - Identifier 2821640 2821644 - TypeReference 2821647 2821665 - Identifier 2821647 2821665 - ReturnStatement 2821667 2821692 - CaseClause 2821692 2821822 - PropertyAccessExpression 2821710 2821741 - Identifier 2821710 2821721 - Identifier 2821722 2821741 - ReturnStatement 2821742 2821822 - CallExpression 2821766 2821821 - Identifier 2821766 2821785 - PropertyAccessExpression 2821786 2821820 - ParenthesizedExpression 2821786 2821815 - AsExpression 2821787 2821814 - Identifier 2821787 2821791 - TypeReference 2821794 2821814 - Identifier 2821794 2821814 - Identifier 2821816 2821820 - CaseClause 2821822 2821867 - PropertyAccessExpression 2821840 2821866 - Identifier 2821840 2821851 - Identifier 2821852 2821866 - CaseClause 2821867 2821915 - PropertyAccessExpression 2821885 2821914 - Identifier 2821885 2821896 - Identifier 2821897 2821914 - CaseClause 2821915 2822081 - PropertyAccessExpression 2821933 2821960 - Identifier 2821933 2821944 - Identifier 2821945 2821960 - ReturnStatement 2821961 2822081 - CallExpression 2821985 2822080 - Identifier 2821985 2822018 - AsExpression 2822019 2822079 - Identifier 2822019 2822023 - UnionType 2822026 2822079 - TypeReference 2822026 2822041 - Identifier 2822026 2822041 - TypeReference 2822043 2822061 - Identifier 2822043 2822061 - TypeReference 2822063 2822079 - Identifier 2822063 2822079 - CaseClause 2822081 2822204 - PropertyAccessExpression 2822099 2822128 - Identifier 2822099 2822110 - Identifier 2822111 2822128 - ReturnStatement 2822129 2822204 - CallExpression 2822153 2822203 - Identifier 2822153 2822176 - AsExpression 2822177 2822202 - Identifier 2822177 2822181 - TypeReference 2822184 2822202 - Identifier 2822184 2822202 - CaseClause 2822204 2822312 - PropertyAccessExpression 2822222 2822246 - Identifier 2822222 2822233 - Identifier 2822234 2822246 - ReturnStatement 2822247 2822312 - CallExpression 2822271 2822311 - Identifier 2822271 2822289 - AsExpression 2822290 2822310 - Identifier 2822290 2822294 - TypeReference 2822297 2822310 - Identifier 2822297 2822310 - CaseClause 2822312 2822426 - PropertyAccessExpression 2822330 2822356 - Identifier 2822330 2822341 - Identifier 2822342 2822356 - ReturnStatement 2822357 2822426 - CallExpression 2822381 2822425 - Identifier 2822381 2822401 - AsExpression 2822402 2822424 - Identifier 2822402 2822406 - TypeReference 2822409 2822424 - Identifier 2822409 2822424 - CaseClause 2822426 2822553 - PropertyAccessExpression 2822444 2822473 - Identifier 2822444 2822455 - Identifier 2822456 2822473 - ReturnStatement 2822474 2822553 - CallExpression 2822498 2822552 - Identifier 2822498 2822521 - AsExpression 2822522 2822551 - Identifier 2822522 2822526 - TypeReference 2822529 2822551 - Identifier 2822529 2822551 - CaseClause 2822553 2822659 - PropertyAccessExpression 2822571 2822593 - Identifier 2822571 2822582 - Identifier 2822583 2822593 - ReturnStatement 2822594 2822659 - CallExpression 2822618 2822658 - Identifier 2822618 2822634 - AsExpression 2822635 2822657 - Identifier 2822635 2822639 - TypeReference 2822642 2822657 - Identifier 2822642 2822657 - CaseClause 2822659 2822788 - PropertyAccessExpression 2822677 2822708 - Identifier 2822677 2822688 - Identifier 2822689 2822708 - ReturnStatement 2822709 2822788 - CallExpression 2822733 2822787 - Identifier 2822733 2822758 - AsExpression 2822759 2822786 - Identifier 2822759 2822763 - TypeReference 2822766 2822786 - Identifier 2822766 2822786 - CaseClause 2822788 2822824 - PropertyAccessExpression 2822806 2822823 - Identifier 2822806 2822817 - Identifier 2822818 2822823 - CaseClause 2822824 2822917 - PropertyAccessExpression 2822842 2822865 - Identifier 2822842 2822853 - Identifier 2822854 2822865 - ReturnStatement 2822866 2822917 - CallExpression 2822890 2822916 - Identifier 2822890 2822901 - AsExpression 2822902 2822915 - Identifier 2822902 2822906 - TypeReference 2822909 2822915 - Identifier 2822909 2822915 - CaseClause 2822917 2823040 - PropertyAccessExpression 2822935 2822964 - Identifier 2822935 2822946 - Identifier 2822947 2822964 - ReturnStatement 2822965 2823040 - CallExpression 2822989 2823039 - Identifier 2822989 2823012 - AsExpression 2823013 2823038 - Identifier 2823013 2823017 - TypeReference 2823020 2823038 - Identifier 2823020 2823038 - CaseClause 2823040 2823169 - PropertyAccessExpression 2823058 2823089 - Identifier 2823058 2823069 - Identifier 2823070 2823089 - ReturnStatement 2823090 2823169 - CallExpression 2823114 2823168 - Identifier 2823114 2823139 - AsExpression 2823140 2823167 - Identifier 2823140 2823144 - TypeReference 2823147 2823167 - Identifier 2823147 2823167 - CaseClause 2823169 2823274 - PropertyAccessExpression 2823187 2823210 - Identifier 2823187 2823198 - Identifier 2823199 2823210 - ReturnStatement 2823211 2823274 - CallExpression 2823235 2823273 - Identifier 2823235 2823252 - AsExpression 2823253 2823272 - Identifier 2823253 2823257 - TypeReference 2823260 2823272 - Identifier 2823260 2823272 - CaseClause 2823274 2823379 - PropertyAccessExpression 2823292 2823315 - Identifier 2823292 2823303 - Identifier 2823304 2823315 - ReturnStatement 2823316 2823379 - CallExpression 2823340 2823378 - Identifier 2823340 2823357 - AsExpression 2823358 2823377 - Identifier 2823358 2823362 - TypeReference 2823365 2823377 - Identifier 2823365 2823377 - CaseClause 2823379 2823493 - PropertyAccessExpression 2823397 2823423 - Identifier 2823397 2823408 - Identifier 2823409 2823423 - ReturnStatement 2823424 2823493 - CallExpression 2823448 2823492 - Identifier 2823448 2823468 - AsExpression 2823469 2823491 - Identifier 2823469 2823473 - TypeReference 2823476 2823491 - Identifier 2823476 2823491 - CaseClause 2823493 2823601 - PropertyAccessExpression 2823511 2823535 - Identifier 2823511 2823522 - Identifier 2823523 2823535 - ReturnStatement 2823536 2823601 - CallExpression 2823560 2823600 - Identifier 2823560 2823578 - AsExpression 2823579 2823599 - Identifier 2823579 2823583 - TypeReference 2823586 2823599 - Identifier 2823586 2823599 - CaseClause 2823601 2823715 - PropertyAccessExpression 2823619 2823645 - Identifier 2823619 2823630 - Identifier 2823631 2823645 - ReturnStatement 2823646 2823715 - CallExpression 2823670 2823714 - Identifier 2823670 2823690 - AsExpression 2823691 2823713 - Identifier 2823691 2823695 - TypeReference 2823698 2823713 - Identifier 2823698 2823713 - CaseClause 2823715 2823829 - PropertyAccessExpression 2823733 2823759 - Identifier 2823733 2823744 - Identifier 2823745 2823759 - ReturnStatement 2823760 2823829 - CallExpression 2823784 2823828 - Identifier 2823784 2823804 - AsExpression 2823805 2823827 - Identifier 2823805 2823809 - TypeReference 2823812 2823827 - Identifier 2823812 2823827 - CaseClause 2823829 2823877 - PropertyAccessExpression 2823847 2823876 - Identifier 2823847 2823858 - Identifier 2823859 2823876 - CaseClause 2823877 2824011 - PropertyAccessExpression 2823895 2823921 - Identifier 2823895 2823906 - Identifier 2823907 2823921 - ReturnStatement 2823922 2824011 - CallExpression 2823946 2824010 - Identifier 2823946 2823976 - AsExpression 2823977 2824009 - Identifier 2823977 2823981 - TypeReference 2823984 2824009 - Identifier 2823984 2824009 - CaseClause 2824011 2824128 - PropertyAccessExpression 2824029 2824056 - Identifier 2824029 2824040 - Identifier 2824041 2824056 - ReturnStatement 2824057 2824128 - CallExpression 2824081 2824127 - Identifier 2824081 2824102 - AsExpression 2824103 2824126 - Identifier 2824103 2824107 - TypeReference 2824110 2824126 - Identifier 2824110 2824126 - CaseClause 2824128 2824239 - PropertyAccessExpression 2824146 2824171 - Identifier 2824146 2824157 - Identifier 2824158 2824171 - ReturnStatement 2824172 2824239 - CallExpression 2824196 2824238 - Identifier 2824196 2824215 - AsExpression 2824216 2824237 - Identifier 2824216 2824220 - TypeReference 2824223 2824237 - Identifier 2824223 2824237 - CaseClause 2824239 2824356 - PropertyAccessExpression 2824257 2824284 - Identifier 2824257 2824268 - Identifier 2824269 2824284 - ReturnStatement 2824285 2824356 - CallExpression 2824309 2824355 - Identifier 2824309 2824330 - AsExpression 2824331 2824354 - Identifier 2824331 2824335 - TypeReference 2824338 2824354 - Identifier 2824338 2824354 - CaseClause 2824356 2824476 - PropertyAccessExpression 2824374 2824402 - Identifier 2824374 2824385 - Identifier 2824386 2824402 - ReturnStatement 2824403 2824476 - CallExpression 2824427 2824475 - Identifier 2824427 2824449 - AsExpression 2824450 2824474 - Identifier 2824450 2824454 - TypeReference 2824457 2824474 - Identifier 2824457 2824474 - CaseClause 2824476 2824590 - PropertyAccessExpression 2824494 2824520 - Identifier 2824494 2824505 - Identifier 2824506 2824520 - ReturnStatement 2824521 2824590 - CallExpression 2824545 2824589 - Identifier 2824545 2824565 - AsExpression 2824566 2824588 - Identifier 2824566 2824570 - TypeReference 2824573 2824588 - Identifier 2824573 2824588 - CaseClause 2824590 2824698 - PropertyAccessExpression 2824608 2824632 - Identifier 2824608 2824619 - Identifier 2824620 2824632 - ReturnStatement 2824633 2824698 - CallExpression 2824657 2824697 - Identifier 2824657 2824675 - AsExpression 2824676 2824696 - Identifier 2824676 2824680 - TypeReference 2824683 2824696 - Identifier 2824683 2824696 - CaseClause 2824698 2824827 - PropertyAccessExpression 2824716 2824747 - Identifier 2824716 2824727 - Identifier 2824728 2824747 - ReturnStatement 2824748 2824827 - CallExpression 2824772 2824826 - Identifier 2824772 2824797 - AsExpression 2824798 2824825 - Identifier 2824798 2824802 - TypeReference 2824805 2824825 - Identifier 2824805 2824825 - CaseClause 2824827 2824941 - PropertyAccessExpression 2824845 2824871 - Identifier 2824845 2824856 - Identifier 2824857 2824871 - ReturnStatement 2824872 2824941 - CallExpression 2824896 2824940 - Identifier 2824896 2824916 - AsExpression 2824917 2824939 - Identifier 2824917 2824921 - TypeReference 2824924 2824939 - Identifier 2824924 2824939 - CaseClause 2824941 2825061 - PropertyAccessExpression 2824959 2824987 - Identifier 2824959 2824970 - Identifier 2824971 2824987 - ReturnStatement 2824988 2825061 - CallExpression 2825012 2825060 - Identifier 2825012 2825034 - AsExpression 2825035 2825059 - Identifier 2825035 2825039 - TypeReference 2825042 2825059 - Identifier 2825042 2825059 - CaseClause 2825061 2825193 - PropertyAccessExpression 2825079 2825111 - Identifier 2825079 2825090 - Identifier 2825091 2825111 - ReturnStatement 2825112 2825193 - CallExpression 2825136 2825192 - Identifier 2825136 2825162 - AsExpression 2825163 2825191 - Identifier 2825163 2825167 - TypeReference 2825170 2825191 - Identifier 2825170 2825191 - CaseClause 2825193 2825325 - PropertyAccessExpression 2825211 2825243 - Identifier 2825211 2825222 - Identifier 2825223 2825243 - ReturnStatement 2825244 2825325 - CallExpression 2825268 2825324 - Identifier 2825268 2825294 - AsExpression 2825295 2825323 - Identifier 2825295 2825299 - TypeReference 2825302 2825323 - Identifier 2825302 2825323 - CaseClause 2825325 2825442 - PropertyAccessExpression 2825343 2825370 - Identifier 2825343 2825354 - Identifier 2825355 2825370 - ReturnStatement 2825371 2825442 - CallExpression 2825395 2825441 - Identifier 2825395 2825416 - AsExpression 2825417 2825440 - Identifier 2825417 2825421 - TypeReference 2825424 2825440 - Identifier 2825424 2825440 - CaseClause 2825442 2825544 - PropertyAccessExpression 2825460 2825482 - Identifier 2825460 2825471 - Identifier 2825472 2825482 - ReturnStatement 2825483 2825544 - CallExpression 2825507 2825543 - Identifier 2825507 2825523 - AsExpression 2825524 2825542 - Identifier 2825524 2825528 - TypeReference 2825531 2825542 - Identifier 2825531 2825542 - CaseClause 2825544 2825667 - PropertyAccessExpression 2825562 2825591 - Identifier 2825562 2825573 - Identifier 2825574 2825591 - ReturnStatement 2825592 2825667 - CallExpression 2825616 2825666 - Identifier 2825616 2825639 - AsExpression 2825640 2825665 - Identifier 2825640 2825644 - TypeReference 2825647 2825665 - Identifier 2825647 2825665 - CaseClause 2825667 2825790 - PropertyAccessExpression 2825685 2825714 - Identifier 2825685 2825696 - Identifier 2825697 2825714 - ReturnStatement 2825715 2825790 - CallExpression 2825739 2825789 - Identifier 2825739 2825762 - AsExpression 2825763 2825788 - Identifier 2825763 2825767 - TypeReference 2825770 2825788 - Identifier 2825770 2825788 - CaseClause 2825790 2825931 - PropertyAccessExpression 2825808 2825843 - Identifier 2825808 2825819 - Identifier 2825820 2825843 - ReturnStatement 2825844 2825931 - CallExpression 2825868 2825930 - Identifier 2825868 2825897 - AsExpression 2825898 2825929 - Identifier 2825898 2825902 - TypeReference 2825905 2825929 - Identifier 2825905 2825929 - CaseClause 2825931 2826054 - PropertyAccessExpression 2825949 2825978 - Identifier 2825949 2825960 - Identifier 2825961 2825978 - ReturnStatement 2825979 2826054 - CallExpression 2826003 2826053 - Identifier 2826003 2826026 - AsExpression 2826027 2826052 - Identifier 2826027 2826031 - TypeReference 2826034 2826052 - Identifier 2826034 2826052 - CaseClause 2826054 2826174 - PropertyAccessExpression 2826072 2826100 - Identifier 2826072 2826083 - Identifier 2826084 2826100 - ReturnStatement 2826101 2826174 - CallExpression 2826125 2826173 - Identifier 2826125 2826147 - AsExpression 2826148 2826172 - Identifier 2826148 2826152 - TypeReference 2826155 2826172 - Identifier 2826155 2826172 - CaseClause 2826174 2826219 - PropertyAccessExpression 2826192 2826218 - Identifier 2826192 2826203 - Identifier 2826204 2826218 - CaseClause 2826219 2826354 - PropertyAccessExpression 2826237 2826266 - Identifier 2826237 2826248 - Identifier 2826249 2826266 - ExpressionStatement 2826267 2826329 - CallExpression 2826267 2826328 - Identifier 2826267 2826322 - Identifier 2826323 2826327 - ReturnStatement 2826329 2826354 - CaseClause 2826354 2826458 - PropertyAccessExpression 2826372 2826402 - Identifier 2826372 2826383 - Identifier 2826384 2826402 - ReturnStatement 2826403 2826458 - CallExpression 2826427 2826457 - Identifier 2826427 2826451 - Identifier 2826452 2826456 - FunctionDeclaration 2826476 2826781 - Identifier 2826492 2826516 - Parameter 2826517 2826567 - Identifier 2826517 2826521 - UnionType 2826522 2826567 - StringKeyword 2826522 2826529 - TypeOperator 2826531 2826555 - ArrayType 2826540 2826555 - TypeReference 2826540 2826553 - Identifier 2826540 2826553 - UndefinedKeyword 2826557 2826567 - Block 2826568 2826781 - IfStatement 2826570 2826774 - CallExpression 2826584 2826597 - Identifier 2826584 2826591 - Identifier 2826592 2826596 - Block 2826598 2826774 - ExpressionStatement 2826600 2826763 - CallExpression 2826600 2826762 - Identifier 2826600 2826621 - Identifier 2826622 2826626 - ArrowFunction 2826627 2826761 - Parameter 2826627 2826631 - Identifier 2826627 2826631 - EqualsGreaterThanToken 2826631 2826634 - Block 2826634 2826761 - IfStatement 2826636 2826746 - CallExpression 2826658 2826678 - Identifier 2826658 2826673 - Identifier 2826674 2826677 - Block 2826679 2826746 - ExpressionStatement 2826681 2826727 - CallExpression 2826681 2826726 - Identifier 2826681 2826721 - Identifier 2826722 2826725 - FunctionDeclaration 2826781 2828077 - Identifier 2826797 2826822 - Parameter 2826823 2826833 - Identifier 2826823 2826827 - TypeReference 2826828 2826833 - Identifier 2826828 2826833 - VoidKeyword 2826835 2826840 - Block 2826840 2828077 - IfStatement 2826842 2828070 - PrefixUnaryExpression 2826856 2826873 - CallExpression 2826857 2826873 - Identifier 2826857 2826867 - Identifier 2826868 2826872 - Block 2826874 2828070 - IfStatement 2826876 2828059 - BinaryExpression 2826894 2826951 - CallExpression 2826894 2826922 - Identifier 2826894 2826916 - Identifier 2826917 2826921 - BarBarToken 2826922 2826925 - CallExpression 2826925 2826951 - Identifier 2826925 2826945 - Identifier 2826946 2826950 - Block 2826952 2827909 - VariableStatement 2826954 2827087 - VariableDeclarationList 2826954 2827086 - VariableDeclaration 2826977 2827086 - Identifier 2826977 2826983 - CallExpression 2826985 2827086 - Identifier 2826985 2826999 - ConditionalExpression 2827000 2827085 - CallExpression 2827000 2827028 - Identifier 2827000 2827022 - Identifier 2827023 2827027 - QuestionToken 2827028 2827030 - PropertyAccessExpression 2827030 2827058 - Identifier 2827030 2827041 - Identifier 2827042 2827058 - ColonToken 2827058 2827060 - PropertyAccessExpression 2827060 2827085 - Identifier 2827060 2827071 - Identifier 2827072 2827085 - VariableStatement 2827087 2827367 - VariableDeclarationList 2827087 2827366 - VariableDeclaration 2827110 2827366 - Identifier 2827110 2827121 - ConditionalExpression 2827123 2827366 - PropertyAccessExpression 2827123 2827136 - Identifier 2827123 2827128 - Identifier 2827129 2827136 - QuestionToken 2827136 2827159 - PropertyAccessExpression 2827159 2827250 - Identifier 2827159 2827171 - Identifier 2827172 2827250 - ColonToken 2827250 2827273 - PropertyAccessExpression 2827273 2827366 - Identifier 2827273 2827285 - Identifier 2827286 2827366 - VariableStatement 2827367 2827412 - VariableDeclarationList 2827367 2827411 - VariableDeclaration 2827390 2827411 - Identifier 2827390 2827399 - PropertyAccessExpression 2827401 2827411 - Identifier 2827401 2827406 - Identifier 2827407 2827411 - VariableStatement 2827412 2827473 - VariableDeclarationList 2827412 2827472 - VariableDeclaration 2827435 2827472 - Identifier 2827435 2827440 - CallExpression 2827442 2827472 - Identifier 2827442 2827462 - Identifier 2827463 2827471 - ExpressionStatement 2827473 2827894 - CallExpression 2827473 2827893 - Identifier 2827473 2827509 - Identifier 2827510 2827536 - Identifier 2827537 2827569 - Identifier 2827570 2827597 - CallExpression 2827598 2827873 - Identifier 2827598 2827632 - ConditionalExpression 2827633 2827849 - BinaryExpression 2827633 2827730 - CallExpression 2827633 2827684 - Identifier 2827633 2827678 - Identifier 2827679 2827683 - AmpersandAmpersandToken 2827684 2827687 - PrefixUnaryExpression 2827687 2827730 - ParenthesizedExpression 2827689 2827730 - BinaryExpression 2827690 2827729 - BinaryExpression 2827690 2827708 - Identifier 2827690 2827694 - EqualsEqualsEqualsToken 2827694 2827698 - Identifier 2827698 2827708 - BarBarToken 2827708 2827711 - BinaryExpression 2827711 2827729 - Identifier 2827711 2827716 - EqualsEqualsEqualsToken 2827716 2827720 - Identifier 2827720 2827729 - QuestionToken 2827730 2827761 - CallExpression 2827761 2827842 - Identifier 2827761 2827774 - CallExpression 2827775 2827841 - Identifier 2827775 2827781 - ArrayLiteralExpression 2827782 2827803 - Identifier 2827783 2827787 - Identifier 2827788 2827802 - ConditionalExpression 2827804 2827840 - PropertyAccessExpression 2827804 2827817 - Identifier 2827804 2827809 - Identifier 2827810 2827817 - QuestionToken 2827817 2827819 - Identifier 2827819 2827829 - ColonToken 2827829 2827831 - Identifier 2827831 2827840 - ColonToken 2827842 2827844 - Identifier 2827844 2827849 - Block 2827927 2828059 - ExpressionStatement 2827929 2828044 - CallExpression 2827929 2828043 - Identifier 2827929 2827965 - Identifier 2827966 2827970 - PropertyAccessExpression 2827971 2828042 - Identifier 2827971 2827983 - Identifier 2827984 2828042 - FunctionDeclaration 2828077 2829437 - Identifier 2828093 2828116 - Parameter 2828117 2828140 - Identifier 2828117 2828121 - TypeReference 2828122 2828140 - Identifier 2828122 2828140 - VoidKeyword 2828142 2828147 - Block 2828147 2829437 - ExpressionStatement 2828149 2828190 - CallExpression 2828149 2828189 - Identifier 2828149 2828183 - Identifier 2828184 2828188 - ExpressionStatement 2828190 2828230 - CallExpression 2828190 2828229 - Identifier 2828190 2828218 - PropertyAccessExpression 2828219 2828228 - Identifier 2828219 2828223 - Identifier 2828224 2828228 - VariableStatement 2828230 2828368 - VariableDeclarationList 2828230 2828367 - VariableDeclaration 2828349 2828367 - ObjectBindingPattern 2828349 2828360 - BindingElement 2828351 2828358 - Identifier 2828351 2828358 - Identifier 2828362 2828367 - IfStatement 2828368 2828644 - BinaryExpression 2828382 2828439 - CallExpression 2828382 2828401 - Identifier 2828382 2828393 - Identifier 2828394 2828400 - AmpersandAmpersandToken 2828401 2828404 - CallExpression 2828404 2828439 - Identifier 2828404 2828424 - PropertyAccessExpression 2828425 2828438 - Identifier 2828425 2828431 - Identifier 2828432 2828438 - Block 2828440 2828644 - IfStatement 2828442 2828612 - BinaryExpression 2828460 2828501 - CallExpression 2828460 2828490 - Identifier 2828460 2828464 - PropertyAccessExpression 2828465 2828489 - PropertyAccessExpression 2828465 2828478 - Identifier 2828465 2828471 - Identifier 2828472 2828478 - Identifier 2828479 2828489 - ExclamationEqualsEqualsToken 2828490 2828494 - Identifier 2828494 2828501 - Block 2828502 2828612 - ExpressionStatement 2828504 2828597 - CallExpression 2828504 2828596 - Identifier 2828504 2828527 - Identifier 2828528 2828532 - PropertyAccessExpression 2828533 2828595 - Identifier 2828533 2828545 - Identifier 2828546 2828595 - ReturnStatement 2828612 2828633 - IfStatement 2828644 2828802 - PrefixUnaryExpression 2828660 2828690 - CallExpression 2828661 2828690 - Identifier 2828661 2828682 - Identifier 2828683 2828689 - Block 2828691 2828802 - ExpressionStatement 2828693 2828791 - CallExpression 2828693 2828790 - Identifier 2828693 2828712 - Identifier 2828713 2828717 - PropertyAccessExpression 2828718 2828789 - Identifier 2828718 2828730 - Identifier 2828731 2828789 - VariableStatement 2828802 2828850 - VariableDeclarationList 2828802 2828849 - VariableDeclaration 2828819 2828849 - Identifier 2828819 2828828 - PropertyAccessExpression 2828830 2828849 - PropertyAccessExpression 2828830 2828842 - Identifier 2828830 2828835 - Identifier 2828836 2828842 - Identifier 2828843 2828849 - IfStatement 2828850 2829027 - PrefixUnaryExpression 2828864 2828894 - CallExpression 2828865 2828894 - Identifier 2828865 2828884 - Identifier 2828885 2828893 - Block 2828895 2829027 - ExpressionStatement 2828897 2828995 - CallExpression 2828897 2828994 - Identifier 2828897 2828916 - Identifier 2828917 2828921 - PropertyAccessExpression 2828922 2828993 - Identifier 2828922 2828934 - Identifier 2828935 2828993 - ReturnStatement 2828995 2829016 - VariableStatement 2829027 2829091 - VariableDeclarationList 2829027 2829090 - VariableDeclaration 2829044 2829090 - Identifier 2829044 2829050 - CallExpression 2829052 2829090 - Identifier 2829052 2829080 - Identifier 2829081 2829089 - IfStatement 2829091 2829205 - PrefixUnaryExpression 2829105 2829111 - Identifier 2829106 2829111 - Block 2829112 2829205 - ReturnStatement 2829114 2829194 - VariableStatement 2829205 2829266 - VariableDeclarationList 2829205 2829265 - VariableDeclaration 2829222 2829265 - Identifier 2829222 2829227 - CallExpression 2829229 2829265 - Identifier 2829229 2829255 - Identifier 2829256 2829264 - IfStatement 2829266 2829430 - BinaryExpression 2829280 2829327 - PrefixUnaryExpression 2829280 2829285 - Identifier 2829281 2829285 - BarBarToken 2829285 2829288 - BinaryExpression 2829288 2829327 - PropertyAccessExpression 2829288 2829317 - CallExpression 2829288 2829310 - Identifier 2829288 2829293 - PropertyAccessExpression 2829294 2829309 - Identifier 2829294 2829298 - Identifier 2829299 2829309 - Identifier 2829311 2829317 - ExclamationEqualsEqualsToken 2829317 2829321 - Identifier 2829321 2829327 - Block 2829328 2829430 - ExpressionStatement 2829330 2829419 - CallExpression 2829330 2829418 - Identifier 2829330 2829349 - Identifier 2829350 2829354 - PropertyAccessExpression 2829355 2829417 - Identifier 2829355 2829367 - Identifier 2829368 2829417 - FunctionDeclaration 2829437 2831265 - Identifier 2829453 2829482 - Parameter 2829483 2829506 - Identifier 2829483 2829487 - TypeReference 2829488 2829506 - Identifier 2829488 2829506 - TypeReference 2829508 2829513 - Identifier 2829508 2829513 - Block 2829513 2831265 - VariableStatement 2829515 2829569 - VariableDeclarationList 2829515 2829568 - VariableDeclaration 2829530 2829568 - Identifier 2829530 2829535 - CallExpression 2829537 2829568 - Identifier 2829537 2829557 - PropertyAccessExpression 2829558 2829567 - Identifier 2829558 2829562 - Identifier 2829563 2829567 - VariableStatement 2829569 2829603 - VariableDeclarationList 2829569 2829602 - VariableDeclaration 2829584 2829602 - ObjectBindingPattern 2829584 2829595 - BindingElement 2829586 2829593 - Identifier 2829586 2829593 - Identifier 2829597 2829602 - VariableStatement 2829603 2829649 - VariableDeclarationList 2829603 2829648 - VariableDeclaration 2829618 2829648 - Identifier 2829618 2829627 - PropertyAccessExpression 2829629 2829648 - PropertyAccessExpression 2829629 2829641 - Identifier 2829629 2829634 - Identifier 2829635 2829641 - Identifier 2829642 2829648 - IfStatement 2829649 2831092 - BinaryExpression 2829663 2829730 - CallExpression 2829663 2829697 - Identifier 2829663 2829684 - PropertyAccessExpression 2829685 2829696 - Identifier 2829685 2829689 - Identifier 2829690 2829696 - AmpersandAmpersandToken 2829697 2829700 - CallExpression 2829700 2829730 - Identifier 2829700 2829720 - Identifier 2829721 2829729 - Block 2829731 2831092 - VariableStatement 2829733 2829873 - VariableDeclarationList 2829733 2829872 - VariableDeclaration 2829829 2829872 - Identifier 2829829 2829834 - CallExpression 2829836 2829872 - Identifier 2829836 2829862 - Identifier 2829863 2829871 - VariableStatement 2829873 2829952 - VariableDeclarationList 2829873 2829951 - VariableDeclaration 2829892 2829951 - Identifier 2829892 2829906 - CallExpression 2829908 2829951 - Identifier 2829908 2829927 - PropertyAccessExpression 2829928 2829950 - PropertyAccessExpression 2829928 2829943 - Identifier 2829928 2829936 - Identifier 2829937 2829943 - Identifier 2829944 2829950 - IfStatement 2829952 2831081 - BinaryExpression 2829970 2829991 - Identifier 2829970 2829974 - BarBarToken 2829974 2829977 - Identifier 2829977 2829991 - Block 2829992 2831081 - VariableStatement 2829994 2830725 - VariableDeclarationList 2829994 2830724 - VariableDeclaration 2830508 2830724 - Identifier 2830508 2830529 - ConditionalExpression 2830531 2830724 - Identifier 2830531 2830545 - QuestionToken 2830545 2830568 - CallExpression 2830568 2830667 - Identifier 2830568 2830584 - PropertyAccessExpression 2830585 2830666 - PropertyAccessExpression 2830585 2830655 - ParenthesizedExpression 2830585 2830640 - AsExpression 2830586 2830639 - AsExpression 2830586 2830619 - PropertyAccessExpression 2830586 2830608 - PropertyAccessExpression 2830586 2830601 - Identifier 2830586 2830594 - Identifier 2830595 2830601 - Identifier 2830602 2830608 - UnknownKeyword 2830611 2830619 - TypeReference 2830622 2830639 - Identifier 2830622 2830639 - Identifier 2830641 2830655 - Identifier 2830656 2830666 - ColonToken 2830667 2830690 - CallExpression 2830690 2830724 - Identifier 2830690 2830706 - PropertyAccessExpression 2830707 2830723 - NonNullExpression 2830707 2830712 - Identifier 2830707 2830711 - Identifier 2830713 2830723 - VariableStatement 2830725 2830796 - VariableDeclarationList 2830725 2830795 - VariableDeclaration 2830748 2830795 - Identifier 2830748 2830755 - CallExpression 2830757 2830795 - Identifier 2830757 2830785 - Identifier 2830786 2830794 - IfStatement 2830796 2831066 - BinaryExpression 2830818 2830975 - PrefixUnaryExpression 2830818 2830861 - Identifier 2830841 2830861 - BarBarToken 2830861 2830864 - BinaryExpression 2830864 2830975 - BinaryExpression 2830864 2830934 - Identifier 2830864 2830892 - AmpersandAmpersandToken 2830892 2830895 - BinaryExpression 2830895 2830934 - PropertyAccessExpression 2830895 2830923 - Identifier 2830895 2830916 - Identifier 2830917 2830923 - EqualsEqualsEqualsToken 2830923 2830927 - Identifier 2830927 2830934 - AmpersandAmpersandToken 2830934 2830937 - CallExpression 2830937 2830975 - Identifier 2830937 2830953 - Identifier 2830954 2830974 - Block 2830994 2831066 - ReturnStatement 2830996 2831047 - CallExpression 2831024 2831046 - Identifier 2831024 2831040 - Identifier 2831041 2831045 - IfStatement 2831092 2831220 - BinaryExpression 2831106 2831163 - CallExpression 2831106 2831125 - Identifier 2831106 2831117 - Identifier 2831118 2831124 - AmpersandAmpersandToken 2831125 2831128 - CallExpression 2831128 2831163 - Identifier 2831128 2831148 - PropertyAccessExpression 2831149 2831162 - Identifier 2831149 2831155 - Identifier 2831156 2831162 - Block 2831164 2831220 - ReturnStatement 2831166 2831209 - CallExpression 2831186 2831208 - Identifier 2831186 2831202 - Identifier 2831203 2831207 - ReturnStatement 2831220 2831258 - CallExpression 2831236 2831257 - Identifier 2831236 2831251 - Identifier 2831252 2831256 - FunctionDeclaration 2831265 2832308 - Identifier 2831866 2831884 - Parameter 2831885 2831895 - Identifier 2831885 2831889 - TypeReference 2831890 2831895 - Identifier 2831890 2831895 - Block 2831896 2832308 - VariableStatement 2831898 2831956 - VariableDeclarationList 2831898 2831955 - VariableDeclaration 2831913 2831955 - Identifier 2831913 2831927 - CallExpression 2831929 2831955 - Identifier 2831929 2831949 - Identifier 2831950 2831954 - VariableStatement 2831956 2832008 - VariableDeclarationList 2831956 2832007 - VariableDeclaration 2831971 2832007 - Identifier 2831971 2831977 - CallExpression 2831979 2832007 - Identifier 2831979 2831992 - Identifier 2831993 2832006 - IfStatement 2832008 2832301 - PrefixUnaryExpression 2832022 2832065 - ParenthesizedExpression 2832023 2832065 - BinaryExpression 2832024 2832064 - PropertyAccessExpression 2832024 2832035 - Identifier 2832024 2832029 - Identifier 2832030 2832035 - AmpersandToken 2832035 2832037 - PropertyAccessExpression 2832037 2832064 - Identifier 2832037 2832052 - Identifier 2832053 2832064 - Block 2832066 2832171 - ExpressionStatement 2832068 2832116 - BinaryExpression 2832068 2832115 - PropertyAccessExpression 2832068 2832101 - Identifier 2832068 2832087 - Identifier 2832088 2832101 - BarBarEqualsToken 2832101 2832105 - NewExpression 2832105 2832115 - Identifier 2832109 2832113 - ExpressionStatement 2832116 2832160 - CallExpression 2832116 2832159 - PropertyAccessExpression 2832116 2832153 - PropertyAccessExpression 2832116 2832149 - Identifier 2832116 2832135 - Identifier 2832136 2832149 - Identifier 2832150 2832153 - Identifier 2832154 2832158 - Block 2832185 2832301 - ExpressionStatement 2832187 2832290 - CallExpression 2832187 2832289 - PropertyAccessExpression 2832187 2832213 - Identifier 2832187 2832206 - Identifier 2832207 2832213 - PrefixUnaryExpression 2832214 2832234 - PropertyAccessExpression 2832215 2832234 - Identifier 2832215 2832220 - Identifier 2832221 2832234 - StringLiteral 2832235 2832288 - FunctionDeclaration 2832308 2832569 - Identifier 2832324 2832343 - Parameter 2832344 2832363 - Identifier 2832344 2832351 - TypeReference 2832352 2832363 - Identifier 2832352 2832363 - Block 2832364 2832569 - VariableStatement 2832366 2832412 - VariableDeclarationList 2832366 2832411 - VariableDeclaration 2832381 2832411 - Identifier 2832381 2832387 - CallExpression 2832389 2832411 - Identifier 2832389 2832402 - Identifier 2832403 2832410 - IfStatement 2832412 2832520 - PropertyAccessExpression 2832426 2832445 - Identifier 2832426 2832431 - Identifier 2832432 2832445 - Block 2832446 2832520 - ExpressionStatement 2832448 2832509 - CallExpression 2832448 2832508 - PropertyAccessExpression 2832448 2832489 - PropertyAccessExpression 2832448 2832481 - Identifier 2832448 2832467 - Identifier 2832468 2832481 - Identifier 2832482 2832489 - Identifier 2832490 2832507 - ExpressionStatement 2832520 2832562 - BinaryExpression 2832520 2832561 - PropertyAccessExpression 2832520 2832549 - Identifier 2832520 2832535 - Identifier 2832536 2832549 - EqualsToken 2832549 2832551 - Identifier 2832551 2832561 - FunctionDeclaration 2832569 2835190 - Identifier 2832585 2832603 - Parameter 2832604 2832614 - Identifier 2832604 2832608 - TypeReference 2832609 2832614 - Identifier 2832609 2832614 - Block 2832615 2835190 - ExpressionStatement 2832617 2832775 - CallExpression 2832617 2832774 - PropertyAccessExpression 2832617 2832640 - Identifier 2832617 2832634 - QuestionDotToken 2832634 2832636 - Identifier 2832636 2832640 - PropertyAccessExpression 2832641 2832660 - PropertyAccessExpression 2832641 2832654 - Identifier 2832641 2832648 - Identifier 2832649 2832654 - Identifier 2832655 2832660 - StringLiteral 2832661 2832681 - ObjectLiteralExpression 2832682 2832773 - PropertyAssignment 2832684 2832700 - Identifier 2832684 2832689 - PropertyAccessExpression 2832690 2832700 - Identifier 2832690 2832695 - Identifier 2832696 2832700 - PropertyAssignment 2832701 2832715 - Identifier 2832701 2832705 - PropertyAccessExpression 2832706 2832715 - Identifier 2832706 2832711 - Identifier 2832712 2832715 - PropertyAssignment 2832716 2832730 - Identifier 2832716 2832720 - PropertyAccessExpression 2832721 2832730 - Identifier 2832721 2832726 - Identifier 2832727 2832730 - PropertyAssignment 2832731 2832771 - Identifier 2832731 2832736 - PropertyAccessExpression 2832737 2832771 - ParenthesizedExpression 2832737 2832759 - AsExpression 2832739 2832758 - Identifier 2832739 2832743 - TypeReference 2832746 2832758 - Identifier 2832746 2832758 - Identifier 2832760 2832771 - VariableStatement 2832775 2832821 - VariableDeclarationList 2832775 2832820 - VariableDeclaration 2832790 2832820 - Identifier 2832790 2832806 - Identifier 2832808 2832820 - ExpressionStatement 2832821 2832850 - BinaryExpression 2832821 2832849 - Identifier 2832821 2832842 - EqualsToken 2832842 2832844 - Identifier 2832844 2832849 - ExpressionStatement 2832850 2832883 - BinaryExpression 2832850 2832882 - Identifier 2832850 2832878 - EqualsToken 2832878 2832880 - NumericLiteral 2832880 2832882 - SwitchStatement 2832883 2835118 - PropertyAccessExpression 2832901 2832910 - Identifier 2832901 2832905 - Identifier 2832906 2832910 - CaseBlock 2832911 2835118 - CaseClause 2832913 2832958 - PropertyAccessExpression 2832931 2832957 - Identifier 2832931 2832942 - Identifier 2832943 2832957 - CaseClause 2832958 2833002 - PropertyAccessExpression 2832976 2833001 - Identifier 2832976 2832987 - Identifier 2832988 2833001 - CaseClause 2833002 2833057 - PropertyAccessExpression 2833020 2833056 - Identifier 2833020 2833031 - Identifier 2833032 2833056 - CaseClause 2833057 2833097 - PropertyAccessExpression 2833075 2833096 - Identifier 2833075 2833086 - Identifier 2833087 2833096 - CaseClause 2833097 2833445 - PropertyAccessExpression 2833115 2833144 - Identifier 2833115 2833126 - Identifier 2833127 2833144 - ExpressionStatement 2833145 2833421 - CallExpression 2833145 2833420 - Identifier 2833145 2833392 - AsExpression 2833393 2833419 - Identifier 2833393 2833397 - TypeReference 2833400 2833419 - Identifier 2833400 2833419 - BreakStatement 2833421 2833445 - CaseClause 2833445 2833494 - PropertyAccessExpression 2833463 2833493 - Identifier 2833463 2833474 - Identifier 2833475 2833493 - CaseClause 2833494 2833538 - PropertyAccessExpression 2833512 2833537 - Identifier 2833512 2833523 - Identifier 2833524 2833537 - CaseClause 2833538 2833586 - PropertyAccessExpression 2833556 2833585 - Identifier 2833556 2833567 - Identifier 2833568 2833585 - CaseClause 2833586 2833755 - PropertyAccessExpression 2833604 2833631 - Identifier 2833604 2833615 - Identifier 2833616 2833631 - ExpressionStatement 2833632 2833731 - CallExpression 2833632 2833730 - Identifier 2833632 2833702 - AsExpression 2833703 2833729 - Identifier 2833703 2833707 - TypeReference 2833710 2833729 - Identifier 2833710 2833729 - BreakStatement 2833731 2833755 - CaseClause 2833755 2833797 - PropertyAccessExpression 2833773 2833796 - Identifier 2833773 2833784 - Identifier 2833785 2833796 - CaseClause 2833797 2833935 - PropertyAccessExpression 2833815 2833838 - Identifier 2833815 2833826 - Identifier 2833827 2833838 - ExpressionStatement 2833839 2833911 - CallExpression 2833839 2833910 - Identifier 2833839 2833881 - AsExpression 2833882 2833909 - Identifier 2833882 2833886 - TypeReference 2833889 2833909 - Identifier 2833889 2833909 - BreakStatement 2833911 2833935 - CaseClause 2833935 2834077 - PropertyAccessExpression 2833953 2833980 - Identifier 2833953 2833964 - Identifier 2833965 2833980 - ExpressionStatement 2833981 2834053 - CallExpression 2833981 2834052 - Identifier 2833981 2834027 - AsExpression 2834028 2834051 - Identifier 2834028 2834032 - TypeReference 2834035 2834051 - Identifier 2834035 2834051 - BreakStatement 2834053 2834077 - CaseClause 2834077 2834224 - PropertyAccessExpression 2834095 2834120 - Identifier 2834095 2834106 - Identifier 2834107 2834120 - ExpressionStatement 2834121 2834200 - CallExpression 2834121 2834199 - Identifier 2834121 2834165 - AsExpression 2834166 2834198 - Identifier 2834166 2834170 - TypeReference 2834173 2834198 - Identifier 2834173 2834198 - BreakStatement 2834200 2834224 - CaseClause 2834224 2834384 - PropertyAccessExpression 2834242 2834275 - Identifier 2834242 2834253 - Identifier 2834254 2834275 - ExpressionStatement 2834276 2834360 - CallExpression 2834276 2834359 - Identifier 2834276 2834328 - AsExpression 2834329 2834358 - Identifier 2834329 2834333 - TypeReference 2834336 2834358 - Identifier 2834336 2834358 - BreakStatement 2834360 2834384 - CaseClause 2834384 2834511 - PropertyAccessExpression 2834402 2834424 - Identifier 2834402 2834413 - Identifier 2834414 2834424 - ExpressionStatement 2834425 2834487 - CallExpression 2834425 2834486 - Identifier 2834425 2834466 - AsExpression 2834467 2834485 - Identifier 2834467 2834471 - TypeReference 2834474 2834485 - Identifier 2834474 2834485 - BreakStatement 2834487 2834511 - CaseClause 2834511 2834565 - PropertyAccessExpression 2834529 2834564 - Identifier 2834529 2834540 - Identifier 2834541 2834564 - CaseClause 2834565 2834608 - PropertyAccessExpression 2834583 2834607 - Identifier 2834583 2834594 - Identifier 2834595 2834607 - CaseClause 2834608 2834777 - PropertyAccessExpression 2834626 2834661 - Identifier 2834626 2834637 - Identifier 2834638 2834661 - ExpressionStatement 2834662 2834753 - CallExpression 2834662 2834752 - Identifier 2834662 2834702 - AsExpression 2834703 2834751 - Identifier 2834703 2834707 - UnionType 2834710 2834751 - TypeReference 2834710 2834730 - Identifier 2834710 2834730 - TypeReference 2834732 2834751 - Identifier 2834732 2834751 - BreakStatement 2834753 2834777 - CaseClause 2834777 2834917 - PropertyAccessExpression 2834795 2834821 - Identifier 2834795 2834806 - Identifier 2834807 2834821 - ExpressionStatement 2834822 2834893 - CallExpression 2834822 2834892 - Identifier 2834822 2834855 - PropertyAccessExpression 2834856 2834891 - ParenthesizedExpression 2834856 2834880 - AsExpression 2834857 2834879 - Identifier 2834857 2834861 - TypeReference 2834864 2834879 - Identifier 2834864 2834879 - Identifier 2834881 2834891 - BreakStatement 2834893 2834917 - CaseClause 2834917 2835107 - PropertyAccessExpression 2834935 2834963 - Identifier 2834935 2834946 - Identifier 2834947 2834963 - IfStatement 2834964 2835083 - CallExpression 2834986 2835014 - Identifier 2834986 2835008 - Identifier 2835009 2835013 - Block 2835015 2835083 - ExpressionStatement 2835017 2835064 - CallExpression 2835017 2835063 - Identifier 2835017 2835057 - Identifier 2835058 2835062 - BreakStatement 2835083 2835107 - ExpressionStatement 2835118 2835158 - BinaryExpression 2835118 2835157 - Identifier 2835118 2835139 - EqualsToken 2835139 2835141 - Identifier 2835141 2835157 - ExpressionStatement 2835158 2835183 - CallExpression 2835158 2835182 - PropertyAccessExpression 2835158 2835180 - Identifier 2835158 2835175 - QuestionDotToken 2835175 2835177 - Identifier 2835177 2835180 - FunctionDeclaration 2835190 2835859 - Identifier 2835206 2835222 - Parameter 2835223 2835239 - Identifier 2835223 2835227 - TypeReference 2835228 2835239 - Identifier 2835228 2835239 - Parameter 2835240 2835273 - Identifier 2835240 2835253 - UnionType 2835254 2835273 - ArrayType 2835254 2835261 - TypeReference 2835254 2835259 - Identifier 2835254 2835259 - UndefinedKeyword 2835263 2835273 - Block 2835274 2835859 - ExpressionStatement 2835276 2835431 - CallExpression 2835276 2835430 - PropertyAccessExpression 2835276 2835299 - Identifier 2835276 2835293 - QuestionDotToken 2835293 2835295 - Identifier 2835295 2835299 - PropertyAccessExpression 2835300 2835319 - PropertyAccessExpression 2835300 2835313 - Identifier 2835300 2835307 - Identifier 2835308 2835313 - Identifier 2835314 2835319 - ConditionalExpression 2835320 2835378 - Identifier 2835320 2835333 - QuestionToken 2835333 2835335 - StringLiteral 2835335 2835358 - ColonToken 2835358 2835360 - StringLiteral 2835360 2835378 - ObjectLiteralExpression 2835379 2835399 - PropertyAssignment 2835381 2835397 - Identifier 2835381 2835386 - PropertyAccessExpression 2835387 2835397 - Identifier 2835387 2835392 - Identifier 2835393 2835397 - TrueKeyword 2835400 2835429 - VariableStatement 2835431 2835510 - VariableDeclarationList 2835431 2835509 - VariableDeclaration 2835446 2835509 - Identifier 2835446 2835457 - ConditionalExpression 2835459 2835509 - Identifier 2835459 2835472 - QuestionToken 2835472 2835474 - StringLiteral 2835474 2835493 - ColonToken 2835493 2835495 - StringLiteral 2835495 2835509 - VariableStatement 2835510 2835586 - VariableDeclarationList 2835510 2835585 - VariableDeclaration 2835525 2835585 - Identifier 2835525 2835535 - ConditionalExpression 2835537 2835585 - Identifier 2835537 2835550 - QuestionToken 2835550 2835552 - StringLiteral 2835552 2835570 - ColonToken 2835570 2835572 - StringLiteral 2835572 2835585 - ExpressionStatement 2835586 2835625 - CallExpression 2835586 2835624 - PropertyAccessExpression 2835586 2835612 - Identifier 2835586 2835607 - Identifier 2835608 2835612 - Identifier 2835613 2835623 - ExpressionStatement 2835625 2835727 - ConditionalExpression 2835625 2835726 - Identifier 2835625 2835647 - QuestionToken 2835647 2835649 - CallExpression 2835649 2835696 - Identifier 2835649 2835676 - Identifier 2835677 2835681 - Identifier 2835682 2835695 - ColonToken 2835696 2835698 - CallExpression 2835698 2835726 - Identifier 2835698 2835720 - Identifier 2835721 2835725 - ExpressionStatement 2835727 2835765 - CallExpression 2835727 2835764 - PropertyAccessExpression 2835727 2835753 - Identifier 2835727 2835748 - Identifier 2835749 2835753 - Identifier 2835754 2835763 - ExpressionStatement 2835765 2835827 - CallExpression 2835765 2835826 - PropertyAccessExpression 2835765 2835794 - Identifier 2835765 2835786 - Identifier 2835787 2835794 - StringLiteral 2835795 2835802 - Identifier 2835803 2835814 - Identifier 2835815 2835825 - ExpressionStatement 2835827 2835852 - CallExpression 2835827 2835851 - PropertyAccessExpression 2835827 2835849 - Identifier 2835827 2835844 - QuestionDotToken 2835844 2835846 - Identifier 2835846 2835849 - FunctionDeclaration 2835859 2836312 - Identifier 2835875 2835889 - Parameter 2835890 2835906 - Identifier 2835890 2835894 - TypeReference 2835895 2835906 - Identifier 2835895 2835906 - Parameter 2835907 2835926 - Identifier 2835907 2835917 - BooleanKeyword 2835918 2835926 - BooleanKeyword 2835928 2835936 - Block 2835936 2836312 - IfStatement 2835938 2836002 - Identifier 2835952 2835961 - Block 2835962 2836002 - ReturnStatement 2835964 2835991 - FalseKeyword 2835984 2835990 - SwitchStatement 2836002 2836305 - Identifier 2836020 2836024 - CaseBlock 2836025 2836305 - CaseClause 2836027 2836121 - PropertyAccessExpression 2836045 2836062 - Identifier 2836045 2836056 - Identifier 2836057 2836062 - ReturnStatement 2836063 2836121 - PrefixUnaryExpression 2836087 2836120 - PrefixUnaryExpression 2836089 2836120 - PropertyAccessExpression 2836090 2836120 - Identifier 2836090 2836105 - Identifier 2836106 2836120 - CaseClause 2836121 2836223 - PropertyAccessExpression 2836139 2836160 - Identifier 2836139 2836150 - Identifier 2836151 2836160 - ReturnStatement 2836161 2836223 - PrefixUnaryExpression 2836185 2836222 - PrefixUnaryExpression 2836187 2836222 - PropertyAccessExpression 2836188 2836222 - Identifier 2836188 2836203 - Identifier 2836204 2836222 - DefaultClause 2836223 2836294 - ReturnStatement 2836245 2836294 - CallExpression 2836269 2836293 - PropertyAccessExpression 2836269 2836287 - Identifier 2836269 2836275 - Identifier 2836276 2836287 - Identifier 2836288 2836292 - FunctionDeclaration 2836312 2836517 - Identifier 2836328 2836360 - Parameter 2836361 2836383 - Identifier 2836361 2836371 - TypeReference 2836372 2836383 - Identifier 2836372 2836383 - TypeOperator 2836385 2836424 - ArrayType 2836394 2836424 - TypeReference 2836394 2836422 - Identifier 2836394 2836422 - Block 2836424 2836517 - ReturnStatement 2836426 2836510 - BinaryExpression 2836442 2836509 - CallExpression 2836442 2836495 - PropertyAccessExpression 2836442 2836478 - Identifier 2836442 2836474 - Identifier 2836475 2836478 - PropertyAccessExpression 2836479 2836494 - Identifier 2836479 2836489 - Identifier 2836490 2836494 - BarBarToken 2836495 2836498 - Identifier 2836498 2836509 - FunctionDeclaration 2836517 2839866 - Identifier 2836610 2836632 - Parameter 2836633 2836649 - Identifier 2836633 2836637 - TypeReference 2836638 2836649 - Identifier 2836638 2836649 - Block 2836650 2839866 - VariableStatement 2836652 2836695 - VariableDeclarationList 2836652 2836694 - VariableDeclaration 2836667 2836694 - Identifier 2836667 2836673 - CallExpression 2836675 2836694 - Identifier 2836675 2836688 - Identifier 2836689 2836693 - IfStatement 2836695 2839859 - PrefixUnaryExpression 2836709 2836752 - ParenthesizedExpression 2836710 2836752 - BinaryExpression 2836711 2836751 - PropertyAccessExpression 2836711 2836722 - Identifier 2836711 2836716 - Identifier 2836717 2836722 - AmpersandToken 2836722 2836724 - PropertyAccessExpression 2836724 2836751 - Identifier 2836724 2836739 - Identifier 2836740 2836751 - Block 2836753 2839859 - IfStatement 2836755 2836861 - CallExpression 2836773 2836818 - Identifier 2836773 2836789 - Identifier 2836790 2836794 - Identifier 2836795 2836811 - Identifier 2836812 2836817 - Block 2836819 2836861 - ReturnStatement 2836821 2836846 - ExpressionStatement 2836861 2836939 - CallExpression 2836861 2836938 - Identifier 2836861 2836932 - Identifier 2836933 2836937 - ExpressionStatement 2836939 2836986 - CallExpression 2836939 2836985 - Identifier 2836939 2836960 - Identifier 2836961 2836984 - ExpressionStatement 2836986 2837036 - CallExpression 2836986 2837035 - Identifier 2836986 2837005 - Identifier 2837006 2837034 - ExpressionStatement 2837036 2837087 - CallExpression 2837036 2837086 - Identifier 2837036 2837055 - Identifier 2837056 2837085 - ExpressionStatement 2837087 2837135 - CallExpression 2837087 2837134 - Identifier 2837087 2837106 - Identifier 2837107 2837133 - ExpressionStatement 2837135 2837201 - CallExpression 2837135 2837200 - Identifier 2837135 2837154 - Identifier 2837155 2837199 - IfStatement 2837201 2837733 - BinaryExpression 2837221 2837270 - PropertyAccessExpression 2837221 2837232 - Identifier 2837221 2837226 - Identifier 2837227 2837232 - AmpersandToken 2837232 2837234 - PropertyAccessExpression 2837234 2837270 - Identifier 2837234 2837249 - Identifier 2837250 2837270 - Block 2837271 2837733 - ExpressionStatement 2837273 2837348 - BinaryExpression 2837273 2837347 - Identifier 2837273 2837314 - EqualsToken 2837314 2837316 - NonNullExpression 2837316 2837347 - PropertyAccessExpression 2837316 2837346 - Identifier 2837316 2837322 - Identifier 2837323 2837346 - ExpressionStatement 2837348 2837433 - BinaryExpression 2837348 2837432 - Identifier 2837348 2837394 - EqualsToken 2837394 2837396 - NonNullExpression 2837396 2837432 - PropertyAccessExpression 2837396 2837431 - Identifier 2837396 2837402 - Identifier 2837403 2837431 - ExpressionStatement 2837433 2837520 - BinaryExpression 2837433 2837519 - Identifier 2837433 2837480 - EqualsToken 2837480 2837482 - NonNullExpression 2837482 2837519 - PropertyAccessExpression 2837482 2837518 - Identifier 2837482 2837488 - Identifier 2837489 2837518 - ExpressionStatement 2837520 2837601 - BinaryExpression 2837520 2837600 - Identifier 2837520 2837564 - EqualsToken 2837564 2837566 - NonNullExpression 2837566 2837600 - PropertyAccessExpression 2837566 2837599 - Identifier 2837566 2837572 - Identifier 2837573 2837599 - ExpressionStatement 2837601 2837718 - BinaryExpression 2837601 2837717 - Identifier 2837601 2837663 - EqualsToken 2837663 2837665 - NonNullExpression 2837665 2837717 - PropertyAccessExpression 2837665 2837716 - Identifier 2837665 2837671 - Identifier 2837672 2837716 - ExpressionStatement 2837733 2837794 - CallExpression 2837733 2837793 - Identifier 2837733 2837756 - PropertyAccessExpression 2837757 2837772 - Identifier 2837757 2837761 - Identifier 2837762 2837772 - Identifier 2837773 2837792 - ExpressionStatement 2837794 2837848 - CallExpression 2837794 2837847 - Identifier 2837794 2837826 - PropertyAccessExpression 2837827 2837846 - Identifier 2837827 2837831 - Identifier 2837832 2837846 - ExpressionStatement 2837848 2837889 - CallExpression 2837848 2837888 - Identifier 2837848 2837882 - Identifier 2837883 2837887 - IfStatement 2837889 2838017 - CallExpression 2837909 2837941 - Identifier 2837909 2837935 - Identifier 2837936 2837940 - Block 2837942 2838017 - ExpressionStatement 2837944 2838002 - CallExpression 2837944 2838001 - Identifier 2837944 2837995 - Identifier 2837996 2838000 - ExpressionStatement 2838017 2838823 - CallExpression 2838017 2838822 - Identifier 2838017 2838050 - ArrowFunction 2838051 2838821 - EqualsGreaterThanToken 2838053 2838056 - Block 2838056 2838821 - IfStatement 2838058 2838662 - BinaryExpression 2838185 2838282 - PrefixUnaryExpression 2838185 2838208 - PropertyAccessExpression 2838186 2838208 - Identifier 2838186 2838190 - Identifier 2838191 2838208 - AmpersandAmpersandToken 2838208 2838211 - ParenthesizedExpression 2838211 2838282 - BinaryExpression 2838213 2838281 - PropertyAccessExpression 2838213 2838243 - Identifier 2838213 2838228 - Identifier 2838229 2838243 - BarBarToken 2838243 2838246 - PropertyAccessExpression 2838246 2838281 - Identifier 2838246 2838262 - Identifier 2838263 2838281 - Block 2838283 2838662 - ExpressionStatement 2838285 2838643 - CallExpression 2838285 2838642 - Identifier 2838285 2838329 - CallExpression 2838330 2838367 - Identifier 2838330 2838361 - Identifier 2838362 2838366 - ArrowFunction 2838368 2838641 - Parameter 2838370 2838384 - Identifier 2838370 2838384 - Parameter 2838385 2838390 - Identifier 2838385 2838390 - Parameter 2838391 2838396 - Identifier 2838391 2838396 - EqualsGreaterThanToken 2838397 2838400 - Block 2838400 2838641 - IfStatement 2838402 2838618 - BinaryExpression 2838432 2838536 - PrefixUnaryExpression 2838432 2838467 - CallExpression 2838433 2838467 - Identifier 2838433 2838451 - Identifier 2838452 2838466 - AmpersandAmpersandToken 2838467 2838470 - CallExpression 2838470 2838536 - Identifier 2838470 2838484 - Identifier 2838485 2838489 - PrefixUnaryExpression 2838490 2838535 - PrefixUnaryExpression 2838492 2838535 - ParenthesizedExpression 2838493 2838535 - BinaryExpression 2838494 2838534 - PropertyAccessExpression 2838494 2838514 - Identifier 2838494 2838508 - Identifier 2838509 2838514 - AmpersandToken 2838514 2838516 - PropertyAccessExpression 2838516 2838534 - Identifier 2838516 2838526 - Identifier 2838527 2838534 - Block 2838537 2838618 - ExpressionStatement 2838539 2838591 - CallExpression 2838539 2838590 - PropertyAccessExpression 2838539 2838584 - Identifier 2838539 2838580 - Identifier 2838581 2838584 - Identifier 2838585 2838589 - IfStatement 2838662 2838806 - PrefixUnaryExpression 2838684 2838707 - PropertyAccessExpression 2838685 2838707 - Identifier 2838685 2838689 - Identifier 2838690 2838707 - Block 2838708 2838806 - ExpressionStatement 2838710 2838787 - CallExpression 2838710 2838786 - Identifier 2838710 2838784 - IfStatement 2838823 2838944 - CallExpression 2838843 2838875 - Identifier 2838843 2838869 - Identifier 2838870 2838874 - Block 2838876 2838944 - ExpressionStatement 2838878 2838929 - CallExpression 2838878 2838928 - Identifier 2838878 2838922 - Identifier 2838923 2838927 - IfStatement 2838944 2839151 - PropertyAccessExpression 2838964 2838994 - Identifier 2838964 2838987 - Identifier 2838988 2838994 - Block 2838995 2839151 - ExpressionStatement 2838997 2839087 - CallExpression 2838997 2839086 - Identifier 2838997 2839022 - Identifier 2839023 2839046 - Identifier 2839047 2839085 - ExpressionStatement 2839087 2839136 - CallExpression 2839087 2839135 - Identifier 2839087 2839110 - Identifier 2839111 2839134 - IfStatement 2839151 2839378 - PropertyAccessExpression 2839171 2839206 - Identifier 2839171 2839199 - Identifier 2839200 2839206 - Block 2839207 2839378 - ExpressionStatement 2839209 2839309 - CallExpression 2839209 2839308 - Identifier 2839209 2839234 - Identifier 2839235 2839263 - Identifier 2839264 2839307 - ExpressionStatement 2839309 2839363 - CallExpression 2839309 2839362 - Identifier 2839309 2839332 - Identifier 2839333 2839361 - IfStatement 2839378 2839590 - PropertyAccessExpression 2839398 2839434 - Identifier 2839398 2839427 - Identifier 2839428 2839434 - Block 2839435 2839590 - ExpressionStatement 2839437 2839520 - CallExpression 2839437 2839519 - Identifier 2839437 2839462 - Identifier 2839463 2839492 - Identifier 2839493 2839518 - ExpressionStatement 2839520 2839575 - CallExpression 2839520 2839574 - Identifier 2839520 2839543 - Identifier 2839544 2839573 - IfStatement 2839590 2839790 - PropertyAccessExpression 2839610 2839643 - Identifier 2839610 2839636 - Identifier 2839637 2839643 - Block 2839644 2839790 - ExpressionStatement 2839646 2839723 - CallExpression 2839646 2839722 - Identifier 2839646 2839671 - Identifier 2839672 2839698 - Identifier 2839699 2839721 - ExpressionStatement 2839723 2839775 - CallExpression 2839723 2839774 - Identifier 2839723 2839746 - Identifier 2839747 2839773 - ExpressionStatement 2839790 2839848 - BinaryExpression 2839790 2839847 - PropertyAccessExpression 2839790 2839817 - Identifier 2839790 2839811 - Identifier 2839812 2839817 - BarEqualsToken 2839817 2839820 - PropertyAccessExpression 2839820 2839847 - Identifier 2839820 2839835 - Identifier 2839836 2839847 - FunctionDeclaration 2839866 2841598 - Identifier 2839882 2839909 - Parameter 2839910 2839926 - Identifier 2839910 2839914 - TypeReference 2839915 2839926 - Identifier 2839915 2839926 - Parameter 2839927 2839950 - Identifier 2839927 2839933 - TypeOperator 2839934 2839950 - ArrayType 2839943 2839950 - TypeReference 2839943 2839948 - Identifier 2839943 2839948 - Block 2839951 2841598 - VariableStatement 2839953 2839996 - VariableDeclarationList 2839953 2839995 - VariableDeclaration 2839968 2839995 - Identifier 2839968 2839974 - CallExpression 2839976 2839995 - Identifier 2839976 2839989 - Identifier 2839990 2839994 - IfStatement 2839996 2841591 - PrefixUnaryExpression 2840010 2840053 - ParenthesizedExpression 2840011 2840053 - BinaryExpression 2840012 2840052 - PropertyAccessExpression 2840012 2840023 - Identifier 2840012 2840017 - Identifier 2840018 2840023 - AmpersandToken 2840023 2840025 - PropertyAccessExpression 2840025 2840052 - Identifier 2840025 2840040 - Identifier 2840041 2840052 - Block 2840054 2841591 - IfStatement 2840056 2840162 - CallExpression 2840074 2840119 - Identifier 2840074 2840090 - Identifier 2840091 2840095 - Identifier 2840096 2840112 - Identifier 2840113 2840118 - Block 2840120 2840162 - ReturnStatement 2840122 2840147 - ExpressionStatement 2840162 2840240 - CallExpression 2840162 2840239 - Identifier 2840162 2840233 - Identifier 2840234 2840238 - ExpressionStatement 2840240 2840287 - CallExpression 2840240 2840286 - Identifier 2840240 2840261 - Identifier 2840262 2840285 - ExpressionStatement 2840287 2840337 - CallExpression 2840287 2840336 - Identifier 2840287 2840306 - Identifier 2840307 2840335 - ExpressionStatement 2840337 2840388 - CallExpression 2840337 2840387 - Identifier 2840337 2840356 - Identifier 2840357 2840386 - ExpressionStatement 2840388 2840436 - CallExpression 2840388 2840435 - Identifier 2840388 2840407 - Identifier 2840408 2840434 - ExpressionStatement 2840436 2840502 - CallExpression 2840436 2840501 - Identifier 2840436 2840455 - Identifier 2840456 2840500 - ExpressionStatement 2840502 2840553 - CallExpression 2840502 2840552 - Identifier 2840502 2840525 - Identifier 2840526 2840531 - Identifier 2840532 2840551 - ExpressionStatement 2840553 2840594 - CallExpression 2840553 2840593 - Identifier 2840553 2840587 - Identifier 2840588 2840592 - ExpressionStatement 2840594 2840715 - CallExpression 2840594 2840714 - PropertyAccessExpression 2840594 2840686 - ParenthesizedExpression 2840594 2840681 - BinaryExpression 2840611 2840680 - PropertyAccessExpression 2840611 2840640 - Identifier 2840611 2840616 - Identifier 2840617 2840640 - BarBarToken 2840640 2840643 - ParenthesizedExpression 2840643 2840680 - BinaryExpression 2840645 2840679 - PropertyAccessExpression 2840645 2840674 - Identifier 2840645 2840650 - Identifier 2840651 2840674 - EqualsToken 2840674 2840676 - ArrayLiteralExpression 2840676 2840679 - Identifier 2840682 2840686 - SpreadElement 2840687 2840713 - Identifier 2840690 2840713 - ExpressionStatement 2840715 2840849 - CallExpression 2840715 2840848 - PropertyAccessExpression 2840715 2840815 - ParenthesizedExpression 2840715 2840810 - BinaryExpression 2840730 2840809 - PropertyAccessExpression 2840730 2840764 - Identifier 2840730 2840735 - Identifier 2840736 2840764 - BarBarToken 2840764 2840767 - ParenthesizedExpression 2840767 2840809 - BinaryExpression 2840769 2840808 - PropertyAccessExpression 2840769 2840803 - Identifier 2840769 2840774 - Identifier 2840775 2840803 - EqualsToken 2840803 2840805 - ArrayLiteralExpression 2840805 2840808 - Identifier 2840811 2840815 - SpreadElement 2840816 2840847 - Identifier 2840819 2840847 - ExpressionStatement 2840849 2840986 - CallExpression 2840849 2840985 - PropertyAccessExpression 2840849 2840951 - ParenthesizedExpression 2840849 2840946 - BinaryExpression 2840864 2840945 - PropertyAccessExpression 2840864 2840899 - Identifier 2840864 2840869 - Identifier 2840870 2840899 - BarBarToken 2840899 2840902 - ParenthesizedExpression 2840902 2840945 - BinaryExpression 2840904 2840944 - PropertyAccessExpression 2840904 2840939 - Identifier 2840904 2840909 - Identifier 2840910 2840939 - EqualsToken 2840939 2840941 - ArrayLiteralExpression 2840941 2840944 - Identifier 2840947 2840951 - SpreadElement 2840952 2840984 - Identifier 2840955 2840984 - ExpressionStatement 2840986 2841114 - CallExpression 2840986 2841113 - PropertyAccessExpression 2840986 2841082 - ParenthesizedExpression 2840986 2841077 - BinaryExpression 2841001 2841076 - PropertyAccessExpression 2841001 2841033 - Identifier 2841001 2841006 - Identifier 2841007 2841033 - BarBarToken 2841033 2841036 - ParenthesizedExpression 2841036 2841076 - BinaryExpression 2841038 2841075 - PropertyAccessExpression 2841038 2841070 - Identifier 2841038 2841043 - Identifier 2841044 2841070 - EqualsToken 2841070 2841072 - ArrayLiteralExpression 2841072 2841075 - Identifier 2841078 2841082 - SpreadElement 2841083 2841112 - Identifier 2841086 2841112 - ExpressionStatement 2841114 2841329 - CallExpression 2841114 2841328 - PropertyAccessExpression 2841114 2841246 - ParenthesizedExpression 2841114 2841241 - BinaryExpression 2841129 2841240 - PropertyAccessExpression 2841129 2841179 - Identifier 2841129 2841134 - Identifier 2841135 2841179 - BarBarToken 2841179 2841182 - ParenthesizedExpression 2841182 2841240 - BinaryExpression 2841184 2841239 - PropertyAccessExpression 2841184 2841234 - Identifier 2841184 2841189 - Identifier 2841190 2841234 - EqualsToken 2841234 2841236 - ArrayLiteralExpression 2841236 2841239 - Identifier 2841242 2841246 - SpreadElement 2841247 2841312 - Identifier 2841268 2841312 - ExpressionStatement 2841329 2841396 - BinaryExpression 2841329 2841395 - PropertyAccessExpression 2841329 2841356 - Identifier 2841329 2841350 - Identifier 2841351 2841356 - BarEqualsToken 2841356 2841359 - PropertyAccessExpression 2841359 2841395 - Identifier 2841359 2841374 - Identifier 2841375 2841395 - ForOfStatement 2841396 2841580 - VariableDeclarationList 2841415 2841425 - VariableDeclaration 2841420 2841425 - Identifier 2841420 2841425 - Identifier 2841428 2841434 - Block 2841435 2841580 - VariableStatement 2841437 2841492 - VariableDeclarationList 2841437 2841491 - VariableDeclaration 2841460 2841491 - Identifier 2841460 2841470 - CallExpression 2841472 2841491 - Identifier 2841472 2841485 - Identifier 2841486 2841490 - ExpressionStatement 2841492 2841565 - BinaryExpression 2841492 2841564 - PropertyAccessExpression 2841492 2841525 - Identifier 2841492 2841519 - Identifier 2841520 2841525 - BarEqualsToken 2841525 2841528 - PropertyAccessExpression 2841528 2841564 - Identifier 2841528 2841543 - Identifier 2841544 2841564 - FunctionDeclaration 2841598 2842166 - Identifier 2841614 2841629 - Parameter 2841630 2841652 - Identifier 2841630 2841640 - TypeReference 2841641 2841652 - Identifier 2841641 2841652 - Parameter 2841653 2841675 - Identifier 2841653 2841656 - TypeReference 2841657 2841675 - Identifier 2841657 2841675 - Parameter 2841676 2841698 - Identifier 2841676 2841689 - QuestionToken 2841689 2841690 - ArrayType 2841691 2841698 - TypeReference 2841691 2841696 - Identifier 2841691 2841696 - ArrayType 2841700 2841713 - TypeReference 2841700 2841711 - Identifier 2841700 2841711 - Block 2841713 2842166 - TryStatement 2841715 2842159 - Block 2841728 2842085 - ExpressionStatement 2841730 2842006 - BinaryExpression 2841730 2842005 - Identifier 2841730 2842000 - EqualsToken 2842000 2842002 - Identifier 2842002 2842005 - ReturnStatement 2842006 2842074 - CallExpression 2842026 2842073 - Identifier 2842026 2842047 - Identifier 2842048 2842058 - Identifier 2842059 2842072 - Block 2842102 2842159 - ExpressionStatement 2842104 2842148 - BinaryExpression 2842104 2842147 - Identifier 2842104 2842135 - EqualsToken 2842135 2842137 - Identifier 2842137 2842147 - FunctionDeclaration 2842166 2842456 - Identifier 2842182 2842218 - Block 2842220 2842456 - ForOfStatement 2842222 2842405 - VariableDeclarationList 2842332 2842340 - VariableDeclaration 2842337 2842340 - Identifier 2842337 2842340 - Identifier 2842343 2842372 - Block 2842373 2842405 - ExpressionStatement 2842375 2842394 - CallExpression 2842375 2842393 - Identifier 2842375 2842391 - ExpressionStatement 2842405 2842449 - BinaryExpression 2842405 2842448 - Identifier 2842405 2842443 - EqualsToken 2842443 2842445 - ArrayLiteralExpression 2842445 2842448 - FunctionDeclaration 2842456 2843340 - Identifier 2842472 2842508 - Parameter 2842509 2842531 - Identifier 2842509 2842519 - TypeReference 2842520 2842531 - Identifier 2842520 2842531 - Parameter 2842532 2842554 - Identifier 2842532 2842545 - QuestionToken 2842545 2842546 - ArrayType 2842547 2842554 - TypeReference 2842547 2842552 - Identifier 2842547 2842552 - Block 2842555 2843340 - ExpressionStatement 2842557 2842605 - CallExpression 2842557 2842604 - Identifier 2842557 2842602 - VariableStatement 2842605 2843188 - VariableDeclarationList 2842605 2843187 - VariableDeclaration 2843145 2843187 - Identifier 2843145 2843167 - Identifier 2843169 2843187 - ExpressionStatement 2843188 2843229 - BinaryExpression 2843188 2843228 - Identifier 2843188 2843215 - EqualsToken 2843215 2843217 - ArrowFunction 2843217 2843228 - Parameter 2843217 2843220 - Identifier 2843217 2843220 - EqualsGreaterThanToken 2843220 2843223 - CallExpression 2843223 2843228 - Identifier 2843223 2843226 - ExpressionStatement 2843229 2843281 - CallExpression 2843229 2843280 - Identifier 2843229 2843254 - Identifier 2843255 2843265 - Identifier 2843266 2843279 - ExpressionStatement 2843281 2843333 - BinaryExpression 2843281 2843332 - Identifier 2843281 2843308 - EqualsToken 2843308 2843310 - Identifier 2843310 2843332 - FunctionDeclaration 2843340 2845450 - Identifier 2843356 2843377 - Parameter 2843378 2843400 - Identifier 2843378 2843388 - TypeReference 2843389 2843400 - Identifier 2843389 2843400 - Parameter 2843401 2843434 - Identifier 2843401 2843414 - UnionType 2843415 2843434 - ArrayType 2843415 2843422 - TypeReference 2843415 2843420 - Identifier 2843415 2843420 - UndefinedKeyword 2843424 2843434 - ArrayType 2843436 2843449 - TypeReference 2843436 2843447 - Identifier 2843436 2843447 - Block 2843449 2845450 - IfStatement 2843451 2845197 - Identifier 2843465 2843475 - Block 2843476 2845197 - ExpressionStatement 2843478 2843530 - CallExpression 2843478 2843529 - Identifier 2843478 2843527 - VariableStatement 2843530 2843834 - VariableDeclarationList 2843530 2843833 - VariableDeclaration 2843770 2843833 - Identifier 2843770 2843796 - CallExpression 2843798 2843833 - PropertyAccessExpression 2843798 2843831 - Identifier 2843798 2843810 - Identifier 2843811 2843831 - VariableStatement 2843834 2843919 - VariableDeclarationList 2843834 2843918 - VariableDeclaration 2843853 2843918 - Identifier 2843853 2843883 - PropertyAccessExpression 2843885 2843918 - Identifier 2843885 2843911 - Identifier 2843912 2843918 - ExpressionStatement 2843919 2843997 - CallExpression 2843919 2843996 - Identifier 2843919 2843970 - Identifier 2843971 2843981 - Identifier 2843982 2843995 - VariableStatement 2843997 2844087 - VariableDeclarationList 2843997 2844086 - VariableDeclaration 2844016 2844086 - Identifier 2844016 2844036 - CallExpression 2844038 2844086 - PropertyAccessExpression 2844038 2844065 - Identifier 2844038 2844050 - Identifier 2844051 2844065 - PropertyAccessExpression 2844066 2844085 - Identifier 2844066 2844076 - Identifier 2844077 2844085 - IfStatement 2844087 2844235 - Identifier 2844105 2844117 - Block 2844118 2844235 - ReturnStatement 2844120 2844220 - Identifier 2844199 2844219 - VariableStatement 2844235 2844317 - VariableDeclarationList 2844235 2844316 - VariableDeclaration 2844254 2844316 - Identifier 2844254 2844279 - CallExpression 2844281 2844316 - PropertyAccessExpression 2844281 2844314 - Identifier 2844281 2844293 - Identifier 2844294 2844314 - IfStatement 2844317 2845143 - BinaryExpression 2844335 2844389 - Identifier 2844335 2844359 - ExclamationEqualsEqualsToken 2844359 2844363 - Identifier 2844363 2844389 - Block 2844390 2844726 - VariableStatement 2844392 2844626 - VariableDeclarationList 2844392 2844625 - VariableDeclaration 2844505 2844625 - Identifier 2844505 2844531 - CallExpression 2844533 2844625 - Identifier 2844533 2844552 - Identifier 2844553 2844578 - Identifier 2844579 2844604 - Identifier 2844605 2844624 - ReturnStatement 2844626 2844711 - CallExpression 2844650 2844710 - Identifier 2844650 2844662 - Identifier 2844663 2844688 - Identifier 2844689 2844709 - IfStatement 2844744 2845143 - BinaryExpression 2844749 2844823 - BinaryExpression 2844749 2844784 - Identifier 2844749 2844778 - EqualsEqualsEqualsToken 2844778 2844782 - NumericLiteral 2844782 2844784 - AmpersandAmpersandToken 2844784 2844787 - BinaryExpression 2844787 2844823 - PropertyAccessExpression 2844787 2844819 - Identifier 2844787 2844812 - Identifier 2844813 2844819 - GreaterThanToken 2844819 2844821 - NumericLiteral 2844821 2844823 - Block 2844824 2845143 - ReturnStatement 2844826 2845128 - CallExpression 2845068 2845127 - Identifier 2845068 2845080 - Identifier 2845081 2845105 - Identifier 2845106 2845126 - ReturnStatement 2845143 2845186 - Identifier 2845165 2845185 - ExpressionStatement 2845197 2845397 - CallExpression 2845197 2845396 - Identifier 2845197 2845322 - CallExpression 2845323 2845344 - PropertyAccessExpression 2845323 2845342 - Identifier 2845323 2845327 - Identifier 2845328 2845342 - ArrowFunction 2845345 2845395 - Parameter 2845345 2845350 - Identifier 2845345 2845350 - EqualsGreaterThanToken 2845350 2845353 - CallExpression 2845353 2845395 - Identifier 2845353 2845389 - Identifier 2845390 2845394 - ReturnStatement 2845397 2845443 - CallExpression 2845413 2845442 - PropertyAccessExpression 2845413 2845440 - Identifier 2845413 2845425 - Identifier 2845426 2845440 - FunctionDeclaration 2845450 2845612 - Identifier 2845466 2845487 - ArrayType 2845490 2845503 - TypeReference 2845490 2845501 - Identifier 2845490 2845501 - Block 2845503 2845612 - ExpressionStatement 2845505 2845553 - CallExpression 2845505 2845552 - Identifier 2845505 2845550 - ReturnStatement 2845553 2845605 - CallExpression 2845569 2845604 - PropertyAccessExpression 2845569 2845602 - Identifier 2845569 2845581 - Identifier 2845582 2845602 - FunctionDeclaration 2845612 2850918 - Identifier 2845663 2845681 - Parameter 2845682 2845696 - Identifier 2845682 2845690 - TypeReference 2845691 2845696 - Identifier 2845691 2845696 - Parameter 2845697 2845718 - Identifier 2845697 2845705 - TypeReference 2845706 2845718 - Identifier 2845706 2845718 - ArrayType 2845720 2845729 - TypeReference 2845720 2845727 - Identifier 2845720 2845727 - Block 2845729 2850918 - IfStatement 2845731 2845925 - BinaryExpression 2845745 2845787 - PropertyAccessExpression 2845745 2845759 - Identifier 2845745 2845753 - Identifier 2845754 2845759 - AmpersandToken 2845759 2845761 - PropertyAccessExpression 2845761 2845787 - Identifier 2845761 2845771 - Identifier 2845772 2845787 - Block 2845788 2845925 - ReturnStatement 2845790 2845914 - ArrayLiteralExpression 2845910 2845913 - VariableStatement 2845925 2845973 - VariableDeclarationList 2845925 2845972 - VariableDeclaration 2845942 2845972 - Identifier 2845942 2845950 - CallExpression 2845952 2845972 - Identifier 2845952 2845970 - VariableStatement 2845973 2846010 - VariableDeclarationList 2845973 2846009 - VariableDeclaration 2845986 2846009 - Identifier 2845986 2846001 - FalseKeyword 2846003 2846009 - ExpressionStatement 2846010 2846040 - CallExpression 2846010 2846039 - Identifier 2846010 2846037 - ExpressionStatement 2846040 2846092 - CallExpression 2846040 2846091 - PropertyAccessExpression 2846040 2846066 - Identifier 2846040 2846059 - Identifier 2846060 2846066 - PropertyAccessExpression 2846067 2846090 - Identifier 2846067 2846085 - Identifier 2846086 2846090 - ReturnStatement 2846092 2846160 - CallExpression 2846135 2846159 - Identifier 2846135 2846150 - Identifier 2846151 2846158 - FunctionDeclaration 2846160 2849094 - Identifier 2846180 2846196 - Block 2846198 2849094 - WhileStatement 2846200 2849037 - Identifier 2846221 2846229 - Block 2846230 2849037 - IfStatement 2846232 2846411 - BinaryExpression 2846254 2846329 - BinaryExpression 2846254 2846296 - CallExpression 2846254 2846277 - Identifier 2846254 2846267 - Identifier 2846268 2846276 - AmpersandAmpersandToken 2846277 2846280 - PropertyAccessExpression 2846280 2846296 - Identifier 2846280 2846289 - Identifier 2846290 2846296 - AmpersandAmpersandToken 2846296 2846299 - PrefixUnaryExpression 2846299 2846329 - CallExpression 2846301 2846329 - Identifier 2846301 2846319 - Identifier 2846320 2846328 - Block 2846330 2846411 - ExpressionStatement 2846332 2846392 - CallExpression 2846332 2846391 - Identifier 2846332 2846365 - PropertyAccessExpression 2846366 2846381 - Identifier 2846366 2846374 - Identifier 2846375 2846381 - Identifier 2846382 2846390 - SwitchStatement 2846411 2848775 - PropertyAccessExpression 2846439 2846452 - Identifier 2846439 2846447 - Identifier 2846448 2846452 - CaseBlock 2846453 2848775 - CaseClause 2846455 2846583 - PropertyAccessExpression 2846481 2846503 - Identifier 2846481 2846492 - Identifier 2846493 2846503 - IfStatement 2846504 2846583 - PrefixUnaryExpression 2846534 2846575 - CallExpression 2846535 2846575 - Identifier 2846535 2846551 - AsExpression 2846552 2846574 - Identifier 2846552 2846560 - TypeReference 2846563 2846574 - Identifier 2846563 2846574 - BreakStatement 2846576 2846583 - CaseClause 2846583 2846884 - PropertyAccessExpression 2846651 2846680 - Identifier 2846651 2846662 - Identifier 2846663 2846680 - ExpressionStatement 2846681 2846852 - CallExpression 2846681 2846851 - Identifier 2846681 2846738 - NonNullExpression 2846739 2846814 - PropertyAccessExpression 2846739 2846813 - CallExpression 2846739 2846805 - Identifier 2846739 2846761 - AsExpression 2846762 2846804 - Identifier 2846762 2846770 - UnionType 2846773 2846804 - TypeReference 2846773 2846791 - Identifier 2846773 2846791 - TypeReference 2846793 2846804 - Identifier 2846793 2846804 - Identifier 2846806 2846813 - BinaryExpression 2846815 2846850 - Identifier 2846815 2846823 - AmpersandToken 2846823 2846825 - PropertyAccessExpression 2846825 2846850 - Identifier 2846825 2846837 - Identifier 2846838 2846850 - BreakStatement 2846852 2846884 - CaseClause 2846884 2847104 - PropertyAccessExpression 2846910 2846937 - Identifier 2846910 2846921 - Identifier 2846922 2846937 - ExpressionStatement 2846938 2847072 - CallExpression 2846938 2847071 - Identifier 2846938 2846975 - NonNullExpression 2846976 2847036 - PropertyAccessExpression 2846976 2847035 - CallExpression 2846976 2847027 - Identifier 2846976 2846998 - AsExpression 2846999 2847026 - Identifier 2846999 2847007 - TypeReference 2847010 2847026 - Identifier 2847010 2847026 - Identifier 2847028 2847035 - BinaryExpression 2847037 2847070 - Identifier 2847037 2847045 - AmpersandToken 2847045 2847047 - PropertyAccessExpression 2847047 2847070 - Identifier 2847047 2847059 - Identifier 2847060 2847070 - BreakStatement 2847072 2847104 - CaseClause 2847104 2847394 - PropertyAccessExpression 2847130 2847157 - Identifier 2847130 2847141 - Identifier 2847142 2847157 - VariableStatement 2847158 2847237 - VariableDeclarationList 2847158 2847236 - VariableDeclaration 2847189 2847236 - Identifier 2847189 2847199 - PropertyAccessExpression 2847201 2847236 - ParenthesizedExpression 2847201 2847231 - AsExpression 2847203 2847230 - Identifier 2847203 2847211 - TypeReference 2847214 2847230 - Identifier 2847214 2847230 - Identifier 2847232 2847236 - IfStatement 2847237 2847394 - Identifier 2847267 2847276 - Block 2847277 2847394 - ExpressionStatement 2847279 2847367 - CallExpression 2847279 2847366 - Identifier 2847279 2847319 - PropertyAccessExpression 2847320 2847356 - ParenthesizedExpression 2847320 2847349 - AsExpression 2847321 2847348 - Identifier 2847321 2847329 - TypeReference 2847332 2847348 - Identifier 2847332 2847348 - Identifier 2847350 2847356 - Identifier 2847357 2847365 - CaseClause 2847394 2847714 - PropertyAccessExpression 2847685 2847713 - Identifier 2847685 2847696 - Identifier 2847697 2847713 - CaseClause 2847714 2848427 - PropertyAccessExpression 2847740 2847772 - Identifier 2847740 2847751 - Identifier 2847752 2847772 - IfStatement 2847773 2848395 - PrefixUnaryExpression 2848183 2848198 - Identifier 2848184 2848198 - Block 2848199 2848395 - ExpressionStatement 2848201 2848368 - CallExpression 2848201 2848367 - Identifier 2848201 2848242 - CallExpression 2848243 2848338 - Identifier 2848243 2848261 - CallExpression 2848262 2848337 - Identifier 2848262 2848284 - AsExpression 2848285 2848336 - Identifier 2848285 2848293 - UnionType 2848296 2848336 - TypeReference 2848296 2848313 - Identifier 2848296 2848313 - TypeReference 2848315 2848336 - Identifier 2848315 2848336 - BinaryExpression 2848339 2848366 - Identifier 2848339 2848347 - AmpersandToken 2848347 2848349 - PropertyAccessExpression 2848349 2848366 - Identifier 2848349 2848361 - Identifier 2848362 2848366 - BreakStatement 2848395 2848427 - CaseClause 2848427 2848756 - PropertyAccessExpression 2848453 2848483 - Identifier 2848453 2848464 - Identifier 2848465 2848483 - VariableStatement 2848484 2848565 - VariableDeclarationList 2848484 2848564 - VariableDeclaration 2848515 2848564 - Identifier 2848515 2848524 - PropertyAccessExpression 2848526 2848564 - ParenthesizedExpression 2848526 2848559 - AsExpression 2848528 2848558 - Identifier 2848528 2848536 - TypeReference 2848539 2848558 - Identifier 2848539 2848558 - Identifier 2848560 2848564 - IfStatement 2848565 2848724 - Identifier 2848595 2848603 - Block 2848604 2848724 - ExpressionStatement 2848606 2848697 - CallExpression 2848606 2848696 - Identifier 2848606 2848646 - PropertyAccessExpression 2848647 2848686 - ParenthesizedExpression 2848647 2848679 - AsExpression 2848648 2848678 - Identifier 2848648 2848656 - TypeReference 2848659 2848678 - Identifier 2848659 2848678 - Identifier 2848680 2848686 - Identifier 2848687 2848695 - BreakStatement 2848724 2848756 - IfStatement 2848775 2848921 - CallExpression 2848799 2848840 - Identifier 2848799 2848830 - Identifier 2848831 2848839 - Block 2848841 2848921 - ExpressionStatement 2848843 2848902 - CallExpression 2848843 2848901 - Identifier 2848843 2848875 - Identifier 2848876 2848891 - Identifier 2848892 2848900 - ExpressionStatement 2848921 2848977 - BinaryExpression 2848921 2848976 - Identifier 2848921 2848955 - EqualsToken 2848955 2848957 - CallExpression 2848957 2848976 - Identifier 2848957 2848966 - Identifier 2848967 2848975 - ExpressionStatement 2848977 2849022 - BinaryExpression 2848977 2849021 - Identifier 2848977 2849003 - EqualsToken 2849003 2849005 - PropertyAccessExpression 2849005 2849021 - Identifier 2849005 2849014 - Identifier 2849015 2849021 - ExpressionStatement 2849037 2849083 - CallExpression 2849037 2849082 - Identifier 2849037 2849064 - Identifier 2849065 2849072 - Identifier 2849073 2849081 - FunctionDeclaration 2849094 2850092 - Identifier 2849535 2849546 - Parameter 2849547 2849561 - Identifier 2849547 2849553 - TypeReference 2849554 2849561 - Identifier 2849554 2849561 - Parameter 2849562 2849583 - Identifier 2849562 2849570 - TypeReference 2849571 2849583 - Identifier 2849571 2849583 - VoidKeyword 2849585 2849590 - Block 2849590 2850092 - IfStatement 2849592 2850081 - BinaryExpression 2849610 2849664 - CallExpression 2849610 2849654 - Identifier 2849610 2849646 - Identifier 2849647 2849653 - AmpersandToken 2849654 2849656 - Identifier 2849656 2849664 - Block 2849665 2850081 - VariableStatement 2849667 2849715 - VariableDeclarationList 2849667 2849714 - VariableDeclaration 2849690 2849714 - Identifier 2849690 2849693 - PropertyAccessExpression 2849695 2849714 - Identifier 2849695 2849702 - Identifier 2849703 2849714 - IfStatement 2849715 2850066 - PrefixUnaryExpression 2849982 2849998 - CallExpression 2849983 2849998 - PropertyAccessExpression 2849983 2849994 - Identifier 2849983 2849990 - Identifier 2849991 2849994 - Identifier 2849995 2849997 - Block 2849999 2850066 - ExpressionStatement 2850001 2850047 - CallExpression 2850001 2850046 - PropertyAccessExpression 2850001 2850034 - Identifier 2850001 2850030 - Identifier 2850031 2850034 - Identifier 2850035 2850037 - Identifier 2850038 2850045 - FunctionDeclaration 2850092 2850344 - Identifier 2850112 2850124 - Parameter 2850125 2850144 - Identifier 2850125 2850131 - TypeReference 2850132 2850144 - Identifier 2850132 2850144 - Parameter 2850145 2850166 - Identifier 2850145 2850153 - TypeReference 2850154 2850166 - Identifier 2850154 2850166 - VoidKeyword 2850168 2850173 - Block 2850173 2850344 - IfStatement 2850175 2850333 - Identifier 2850193 2850200 - Block 2850201 2850333 - ExpressionStatement 2850203 2850318 - CallExpression 2850203 2850317 - PropertyAccessExpression 2850203 2850235 - Identifier 2850203 2850227 - Identifier 2850228 2850235 - ArrowFunction 2850236 2850316 - Parameter 2850236 2850242 - Identifier 2850236 2850242 - EqualsGreaterThanToken 2850242 2850245 - Block 2850245 2850316 - ExpressionStatement 2850247 2850297 - CallExpression 2850247 2850296 - Identifier 2850247 2850279 - Identifier 2850280 2850286 - Identifier 2850287 2850295 - FunctionDeclaration 2850344 2850911 - Identifier 2850364 2850396 - Parameter 2850397 2850416 - Identifier 2850397 2850403 - TypeReference 2850404 2850416 - Identifier 2850404 2850416 - Parameter 2850417 2850438 - Identifier 2850417 2850425 - TypeReference 2850426 2850438 - Identifier 2850426 2850438 - VoidKeyword 2850440 2850445 - Block 2850445 2850911 - IfStatement 2850447 2850900 - Identifier 2850465 2850472 - Block 2850473 2850900 - ExpressionStatement 2850475 2850885 - CallExpression 2850475 2850884 - PropertyAccessExpression 2850475 2850507 - Identifier 2850475 2850499 - Identifier 2850500 2850507 - ArrowFunction 2850508 2850883 - Parameter 2850508 2850514 - Identifier 2850508 2850514 - EqualsGreaterThanToken 2850514 2850517 - Block 2850517 2850883 - IfStatement 2850519 2850864 - BinaryExpression 2850613 2850784 - BinaryExpression 2850613 2850731 - PrefixUnaryExpression 2850613 2850670 - CallExpression 2850614 2850670 - Identifier 2850614 2850634 - Identifier 2850635 2850641 - PropertyAccessExpression 2850642 2850669 - Identifier 2850642 2850653 - Identifier 2850654 2850669 - AmpersandAmpersandToken 2850670 2850673 - PrefixUnaryExpression 2850673 2850731 - CallExpression 2850675 2850731 - Identifier 2850675 2850695 - Identifier 2850696 2850702 - PropertyAccessExpression 2850703 2850730 - Identifier 2850703 2850714 - Identifier 2850715 2850730 - AmpersandAmpersandToken 2850731 2850734 - BinaryExpression 2850734 2850784 - PropertyAccessExpression 2850734 2850753 - Identifier 2850734 2850741 - Identifier 2850742 2850753 - ExclamationEqualsEqualsToken 2850753 2850757 - PropertyAccessExpression 2850757 2850784 - Identifier 2850757 2850776 - Identifier 2850777 2850784 - Block 2850785 2850864 - ExpressionStatement 2850787 2850841 - CallExpression 2850787 2850840 - Identifier 2850787 2850823 - Identifier 2850824 2850830 - Identifier 2850831 2850839 - FunctionDeclaration 2850918 2851145 - Identifier 2850934 2850956 - Parameter 2850957 2850967 - Identifier 2850957 2850961 - TypeReference 2850962 2850967 - Identifier 2850962 2850967 - BooleanKeyword 2850969 2850977 - Block 2850977 2851145 - ReturnStatement 2850979 2851138 - BinaryExpression 2850995 2851137 - BinaryExpression 2850995 2851078 - BinaryExpression 2850995 2851031 - PropertyAccessExpression 2850995 2851005 - Identifier 2850995 2851000 - Identifier 2851001 2851005 - EqualsEqualsEqualsToken 2851005 2851009 - PropertyAccessExpression 2851009 2851031 - Identifier 2851009 2851020 - Identifier 2851021 2851031 - AmpersandAmpersandToken 2851031 2851034 - CallExpression 2851034 2851078 - Identifier 2851034 2851065 - PropertyAccessExpression 2851066 2851077 - Identifier 2851066 2851070 - Identifier 2851071 2851077 - AmpersandAmpersandToken 2851078 2851081 - BinaryExpression 2851081 2851137 - CallExpression 2851081 2851128 - Identifier 2851081 2851115 - PropertyAccessExpression 2851116 2851127 - Identifier 2851116 2851120 - Identifier 2851121 2851127 - EqualsEqualsEqualsToken 2851128 2851132 - Identifier 2851132 2851137 - FunctionDeclaration 2851145 2851479 - Identifier 2851226 2851252 - Parameter 2851253 2851269 - Identifier 2851253 2851257 - TypeReference 2851258 2851269 - Identifier 2851258 2851269 - BooleanKeyword 2851271 2851279 - Block 2851279 2851479 - WhileStatement 2851281 2851407 - BinaryExpression 2851298 2851343 - PropertyAccessExpression 2851298 2851314 - PropertyAccessExpression 2851298 2851309 - Identifier 2851298 2851302 - Identifier 2851303 2851309 - Identifier 2851310 2851314 - EqualsEqualsEqualsToken 2851314 2851318 - PropertyAccessExpression 2851318 2851343 - Identifier 2851318 2851329 - Identifier 2851330 2851343 - Block 2851344 2851407 - ExpressionStatement 2851346 2851396 - BinaryExpression 2851346 2851395 - Identifier 2851346 2851364 - EqualsToken 2851364 2851366 - AsExpression 2851366 2851395 - PropertyAccessExpression 2851366 2851378 - Identifier 2851366 2851371 - Identifier 2851372 2851378 - TypeReference 2851381 2851395 - Identifier 2851381 2851395 - ReturnStatement 2851407 2851472 - BinaryExpression 2851425 2851471 - PropertyAccessExpression 2851425 2851442 - PropertyAccessExpression 2851425 2851437 - Identifier 2851425 2851430 - Identifier 2851431 2851437 - Identifier 2851438 2851442 - EqualsEqualsEqualsToken 2851442 2851446 - PropertyAccessExpression 2851446 2851471 - Identifier 2851446 2851457 - Identifier 2851458 2851471 - FunctionDeclaration 2851479 2851762 - Identifier 2851495 2851533 - Parameter 2851534 2851544 - Identifier 2851534 2851538 - TypeReference 2851539 2851544 - Identifier 2851539 2851544 - BooleanKeyword 2851546 2851554 - Block 2851554 2851762 - WhileStatement 2851556 2851676 - BinaryExpression 2851573 2851629 - PropertyAccessExpression 2851573 2851589 - PropertyAccessExpression 2851573 2851584 - Identifier 2851573 2851577 - Identifier 2851578 2851584 - Identifier 2851585 2851589 - EqualsEqualsEqualsToken 2851589 2851593 - PropertyAccessExpression 2851593 2851629 - Identifier 2851593 2851604 - Identifier 2851605 2851629 - Block 2851630 2851676 - ExpressionStatement 2851632 2851665 - BinaryExpression 2851632 2851664 - Identifier 2851632 2851650 - EqualsToken 2851650 2851652 - PropertyAccessExpression 2851652 2851664 - Identifier 2851652 2851657 - Identifier 2851658 2851664 - ReturnStatement 2851676 2851755 - BinaryExpression 2851694 2851754 - PropertyAccessExpression 2851694 2851711 - PropertyAccessExpression 2851694 2851706 - Identifier 2851694 2851699 - Identifier 2851700 2851706 - Identifier 2851707 2851711 - EqualsEqualsEqualsToken 2851711 2851715 - PropertyAccessExpression 2851715 2851754 - Identifier 2851715 2851726 - Identifier 2851727 2851754 - FunctionDeclaration 2851762 2852189 - Identifier 2851778 2851800 - TypeParameter 2851801 2851802 - Identifier 2851801 2851802 - Parameter 2851804 2851814 - Identifier 2851804 2851808 - TypeReference 2851809 2851814 - Identifier 2851809 2851814 - Parameter 2851815 2851871 - Identifier 2851815 2851824 - FunctionType 2851825 2851871 - Parameter 2851827 2851853 - Identifier 2851827 2851831 - TypeReference 2851832 2851853 - Identifier 2851832 2851853 - UnionType 2851857 2851871 - TypeReference 2851857 2851859 - Identifier 2851857 2851859 - UndefinedKeyword 2851861 2851871 - UnionType 2851873 2851887 - TypeReference 2851873 2851875 - Identifier 2851873 2851875 - UndefinedKeyword 2851877 2851887 - Block 2851887 2852189 - VariableStatement 2851889 2851925 - VariableDeclarationList 2851889 2851924 - VariableDeclaration 2851902 2851924 - Identifier 2851902 2851909 - UnionType 2851910 2851924 - TypeReference 2851910 2851912 - Identifier 2851910 2851912 - UndefinedKeyword 2851914 2851924 - VariableStatement 2851925 2851982 - VariableDeclarationList 2851925 2851981 - VariableDeclaration 2851938 2851981 - Identifier 2851938 2851954 - CallExpression 2851956 2851981 - Identifier 2851956 2851975 - Identifier 2851976 2851980 - WhileStatement 2851982 2852156 - Identifier 2851999 2852014 - Block 2852015 2852156 - IfStatement 2852017 2852077 - BinaryExpression 2852035 2852069 - Identifier 2852035 2852041 - EqualsToken 2852041 2852043 - CallExpression 2852043 2852069 - Identifier 2852043 2852052 - Identifier 2852053 2852068 - BreakStatement 2852070 2852077 - ExpressionStatement 2852077 2852145 - BinaryExpression 2852077 2852144 - Identifier 2852077 2852106 - EqualsToken 2852106 2852108 - CallExpression 2852108 2852144 - Identifier 2852108 2852127 - Identifier 2852128 2852143 - ReturnStatement 2852156 2852182 - Identifier 2852174 2852181 - FunctionDeclaration 2852189 2852649 - Identifier 2852205 2852241 - Parameter 2852242 2852252 - Identifier 2852242 2852246 - TypeReference 2852247 2852252 - Identifier 2852247 2852252 - Block 2852253 2852649 - ReturnStatement 2852255 2852642 - PrefixUnaryExpression 2852271 2852641 - PrefixUnaryExpression 2852273 2852641 - CallExpression 2852274 2852641 - Identifier 2852274 2852286 - Identifier 2852287 2852291 - ArrowFunction 2852292 2852640 - Parameter 2852292 2852300 - Identifier 2852292 2852300 - EqualsGreaterThanToken 2852300 2852303 - Block 2852303 2852640 - IfStatement 2852305 2852600 - BinaryExpression 2852323 2852421 - BinaryExpression 2852323 2852387 - CallExpression 2852323 2852356 - Identifier 2852323 2852347 - Identifier 2852348 2852355 - AmpersandAmpersandToken 2852356 2852359 - CallExpression 2852359 2852387 - Identifier 2852359 2852373 - PropertyAccessExpression 2852374 2852386 - Identifier 2852374 2852381 - Identifier 2852382 2852386 - BarBarToken 2852387 2852390 - CallExpression 2852390 2852421 - Identifier 2852390 2852412 - Identifier 2852413 2852420 - Block 2852422 2852469 - ReturnStatement 2852424 2852454 - TrueKeyword 2852448 2852453 - IfStatement 2852487 2852600 - BinaryExpression 2852492 2852550 - CallExpression 2852492 2852512 - Identifier 2852492 2852503 - Identifier 2852504 2852511 - BarBarToken 2852512 2852515 - CallExpression 2852515 2852550 - Identifier 2852515 2852541 - Identifier 2852542 2852549 - Block 2852551 2852600 - ReturnStatement 2852553 2852585 - StringLiteral 2852577 2852584 - ReturnStatement 2852600 2852629 - FalseKeyword 2852622 2852628 - FunctionDeclaration 2852649 2852820 - Identifier 2852665 2852683 - Parameter 2852684 2852694 - Identifier 2852684 2852688 - TypeReference 2852689 2852694 - Identifier 2852689 2852694 - Parameter 2852695 2852734 - Identifier 2852695 2852712 - TypeReference 2852713 2852734 - Identifier 2852713 2852734 - Block 2852735 2852820 - ReturnStatement 2852737 2852813 - PrefixUnaryExpression 2852753 2852812 - PrefixUnaryExpression 2852755 2852812 - CallExpression 2852756 2852812 - Identifier 2852756 2852777 - Identifier 2852778 2852782 - ArrowFunction 2852783 2852811 - Parameter 2852783 2852785 - Identifier 2852783 2852785 - EqualsGreaterThanToken 2852785 2852788 - BinaryExpression 2852788 2852811 - Identifier 2852788 2852790 - EqualsEqualsEqualsToken 2852790 2852794 - Identifier 2852794 2852811 - FunctionDeclaration 2852820 2853682 - Identifier 2852836 2852880 - Parameter 2852881 2852908 - Identifier 2852881 2852896 - TypeReference 2852897 2852908 - Identifier 2852897 2852908 - UnionType 2852910 2852965 - TypeReference 2852910 2852934 - Identifier 2852910 2852934 - TypeReference 2852936 2852953 - Identifier 2852936 2852953 - UndefinedKeyword 2852955 2852965 - Block 2852965 2853682 - WhileStatement 2852967 2853126 - BinaryExpression 2852984 2853040 - PropertyAccessExpression 2852984 2853011 - PropertyAccessExpression 2852984 2853006 - Identifier 2852984 2852999 - Identifier 2853000 2853006 - Identifier 2853007 2853011 - EqualsEqualsEqualsToken 2853011 2853015 - PropertyAccessExpression 2853015 2853040 - Identifier 2853015 2853026 - Identifier 2853027 2853040 - Block 2853041 2853126 - ExpressionStatement 2853043 2853115 - BinaryExpression 2853043 2853114 - Identifier 2853043 2853072 - EqualsToken 2853072 2853074 - AsExpression 2853074 2853114 - PropertyAccessExpression 2853074 2853097 - Identifier 2853074 2853090 - Identifier 2853091 2853097 - TypeReference 2853100 2853114 - Identifier 2853100 2853114 - IfStatement 2853126 2853395 - BinaryExpression 2853142 2853208 - PropertyAccessExpression 2853142 2853169 - PropertyAccessExpression 2853142 2853164 - Identifier 2853142 2853157 - Identifier 2853158 2853164 - Identifier 2853165 2853169 - EqualsEqualsEqualsToken 2853169 2853173 - PropertyAccessExpression 2853173 2853208 - Identifier 2853173 2853184 - Identifier 2853185 2853208 - Block 2853209 2853395 - ReturnStatement 2853211 2853384 - ConditionalExpression 2853231 2853383 - BinaryExpression 2853231 2853319 - PropertyAccessExpression 2853231 2853299 - ParenthesizedExpression 2853231 2853283 - AsExpression 2853233 2853282 - PropertyAccessExpression 2853233 2853255 - Identifier 2853233 2853248 - Identifier 2853249 2853255 - TypeReference 2853258 2853282 - Identifier 2853258 2853282 - Identifier 2853284 2853299 - EqualsEqualsEqualsToken 2853299 2853303 - Identifier 2853303 2853319 - QuestionToken 2853319 2853321 - AsExpression 2853321 2853371 - PropertyAccessExpression 2853321 2853344 - Identifier 2853321 2853337 - Identifier 2853338 2853344 - TypeReference 2853347 2853371 - Identifier 2853347 2853371 - ColonToken 2853371 2853373 - Identifier 2853373 2853383 - IfStatement 2853395 2853646 - BinaryExpression 2853411 2853470 - PropertyAccessExpression 2853411 2853438 - PropertyAccessExpression 2853411 2853433 - Identifier 2853411 2853426 - Identifier 2853427 2853433 - Identifier 2853434 2853438 - EqualsEqualsEqualsToken 2853438 2853442 - PropertyAccessExpression 2853442 2853470 - Identifier 2853442 2853453 - Identifier 2853454 2853470 - Block 2853471 2853646 - ReturnStatement 2853473 2853635 - ConditionalExpression 2853493 2853634 - BinaryExpression 2853493 2853577 - PropertyAccessExpression 2853493 2853549 - ParenthesizedExpression 2853493 2853538 - AsExpression 2853495 2853537 - PropertyAccessExpression 2853495 2853517 - Identifier 2853495 2853510 - Identifier 2853511 2853517 - TypeReference 2853520 2853537 - Identifier 2853520 2853537 - Identifier 2853539 2853549 - EqualsEqualsEqualsToken 2853549 2853553 - AsExpression 2853553 2853577 - Identifier 2853553 2853569 - TypeReference 2853572 2853577 - Identifier 2853572 2853577 - QuestionToken 2853577 2853579 - AsExpression 2853579 2853622 - PropertyAccessExpression 2853579 2853602 - Identifier 2853579 2853595 - Identifier 2853596 2853602 - TypeReference 2853605 2853622 - Identifier 2853605 2853622 - ColonToken 2853622 2853624 - Identifier 2853624 2853634 - ReturnStatement 2853646 2853675 - Identifier 2853664 2853674 - FunctionDeclaration 2853682 2853846 - Identifier 2853698 2853738 - Parameter 2853739 2853755 - Identifier 2853739 2853743 - TypeReference 2853744 2853755 - Identifier 2853744 2853755 - Block 2853756 2853846 - ReturnStatement 2853758 2853839 - BinaryExpression 2853774 2853838 - CallExpression 2853774 2853824 - Identifier 2853774 2853818 - Identifier 2853819 2853823 - ExclamationEqualsEqualsToken 2853824 2853828 - Identifier 2853828 2853838 - FunctionDeclaration 2853846 2854831 - Identifier 2853862 2853911 - Parameter 2853912 2853961 - Identifier 2853912 2853922 - UnionType 2853923 2853961 - TypeReference 2853923 2853934 - Identifier 2853923 2853934 - TypeReference 2853936 2853961 - Identifier 2853936 2853961 - Block 2853962 2854831 - VariableStatement 2853964 2854087 - VariableDeclarationList 2853964 2854086 - VariableDeclaration 2853979 2854086 - Identifier 2853979 2854009 - CallExpression 2854011 2854086 - Identifier 2854011 2854040 - AsExpression 2854041 2854085 - PropertyAccessExpression 2854041 2854065 - PropertyAccessExpression 2854041 2854058 - Identifier 2854041 2854051 - Identifier 2854052 2854058 - Identifier 2854059 2854065 - TypeReference 2854068 2854085 - Identifier 2854068 2854085 - SwitchStatement 2854087 2854824 - Identifier 2854105 2854134 - CaseBlock 2854135 2854824 - CaseClause 2854137 2854198 - PropertyAccessExpression 2854155 2854197 - Identifier 2854155 2854181 - Identifier 2854182 2854197 - CaseClause 2854198 2854321 - PropertyAccessExpression 2854216 2854260 - Identifier 2854216 2854242 - Identifier 2854243 2854260 - ReturnStatement 2854261 2854321 - CallExpression 2854285 2854320 - Identifier 2854285 2854301 - PropertyAccessExpression 2854302 2854319 - Identifier 2854302 2854312 - Identifier 2854313 2854319 - CaseClause 2854321 2854568 - PropertyAccessExpression 2854339 2854374 - Identifier 2854339 2854365 - Identifier 2854366 2854374 - IfStatement 2854375 2854568 - BinaryExpression 2854397 2854507 - CallExpression 2854397 2854442 - Identifier 2854397 2854423 - PropertyAccessExpression 2854424 2854441 - Identifier 2854424 2854434 - Identifier 2854435 2854441 - AmpersandAmpersandToken 2854442 2854445 - BinaryExpression 2854445 2854507 - CallExpression 2854445 2854492 - Identifier 2854445 2854473 - PropertyAccessExpression 2854474 2854491 - Identifier 2854474 2854484 - Identifier 2854485 2854491 - EqualsEqualsEqualsToken 2854492 2854496 - Identifier 2854496 2854507 - Block 2854508 2854568 - ReturnStatement 2854510 2854549 - Identifier 2854538 2854548 - CaseClause 2854568 2854660 - PropertyAccessExpression 2854620 2854659 - Identifier 2854620 2854646 - Identifier 2854647 2854659 - CaseClause 2854660 2854813 - PropertyAccessExpression 2854678 2854718 - Identifier 2854678 2854704 - Identifier 2854705 2854718 - ReturnStatement 2854719 2854813 - CallExpression 2854743 2854812 - Identifier 2854743 2854766 - AsExpression 2854767 2854811 - PropertyAccessExpression 2854767 2854791 - PropertyAccessExpression 2854767 2854784 - Identifier 2854767 2854777 - Identifier 2854778 2854784 - Identifier 2854785 2854791 - TypeReference 2854794 2854811 - Identifier 2854794 2854811 - FunctionDeclaration 2854831 2855279 - Identifier 2854847 2854873 - Parameter 2854874 2854890 - Identifier 2854874 2854878 - TypeReference 2854879 2854890 - Identifier 2854879 2854890 - UnionType 2854892 2854919 - TypeReference 2854892 2854907 - Identifier 2854892 2854907 - UndefinedKeyword 2854909 2854919 - Block 2854919 2855279 - VariableStatement 2854921 2854956 - VariableDeclarationList 2854921 2854955 - VariableDeclaration 2854934 2854955 - Identifier 2854934 2854941 - PropertyAccessExpression 2854943 2854955 - Identifier 2854943 2854948 - Identifier 2854949 2854955 - WhileStatement 2854956 2855075 - CallExpression 2854973 2854996 - Identifier 2854973 2854988 - Identifier 2854989 2854995 - Block 2854997 2855075 - ExpressionStatement 2854999 2855027 - BinaryExpression 2854999 2855026 - Identifier 2854999 2855017 - EqualsToken 2855017 2855019 - Identifier 2855019 2855026 - ExpressionStatement 2855027 2855064 - BinaryExpression 2855027 2855063 - Identifier 2855027 2855047 - EqualsToken 2855047 2855049 - PropertyAccessExpression 2855049 2855063 - Identifier 2855049 2855056 - Identifier 2855057 2855063 - IfStatement 2855075 2855245 - BinaryExpression 2855089 2855185 - BinaryExpression 2855089 2855136 - Identifier 2855089 2855095 - AmpersandAmpersandToken 2855095 2855098 - BinaryExpression 2855098 2855136 - PropertyAccessExpression 2855098 2855110 - Identifier 2855098 2855105 - Identifier 2855106 2855110 - EqualsEqualsEqualsToken 2855110 2855114 - PropertyAccessExpression 2855114 2855136 - Identifier 2855114 2855125 - Identifier 2855126 2855136 - AmpersandAmpersandToken 2855136 2855139 - BinaryExpression 2855139 2855185 - PropertyAccessExpression 2855139 2855176 - ParenthesizedExpression 2855139 2855166 - AsExpression 2855141 2855165 - Identifier 2855141 2855147 - TypeReference 2855150 2855165 - Identifier 2855150 2855165 - Identifier 2855167 2855176 - EqualsEqualsEqualsToken 2855176 2855180 - Identifier 2855180 2855185 - Block 2855186 2855245 - ReturnStatement 2855188 2855234 - AsExpression 2855208 2855233 - Identifier 2855208 2855215 - TypeReference 2855218 2855233 - Identifier 2855218 2855233 - ReturnStatement 2855245 2855272 - Identifier 2855261 2855271 - FunctionDeclaration 2855279 2856067 - Identifier 2855295 2855322 - Parameter 2855323 2855353 - Identifier 2855323 2855327 - TypeReference 2855328 2855353 - Identifier 2855328 2855353 - Block 2855354 2856067 - IfStatement 2855356 2856060 - BinaryExpression 2855370 2855417 - PropertyAccessExpression 2855370 2855390 - PropertyAccessExpression 2855370 2855385 - Identifier 2855370 2855374 - Identifier 2855375 2855385 - Identifier 2855386 2855390 - EqualsEqualsEqualsToken 2855390 2855394 - PropertyAccessExpression 2855394 2855417 - Identifier 2855394 2855405 - Identifier 2855406 2855417 - Block 2855418 2856060 - VariableStatement 2855420 2855552 - VariableDeclarationList 2855420 2855551 - VariableDeclaration 2855439 2855551 - Identifier 2855439 2855449 - CallExpression 2855451 2855551 - Identifier 2855451 2855468 - Identifier 2855469 2855473 - FalseKeyword 2855474 2855506 - FalseKeyword 2855507 2855550 - IfStatement 2855552 2856049 - CallExpression 2855570 2855595 - Identifier 2855570 2855584 - Identifier 2855585 2855594 - Block 2855596 2856049 - VariableStatement 2855598 2855680 - VariableDeclarationList 2855598 2855679 - VariableDeclaration 2855621 2855679 - Identifier 2855621 2855639 - CallExpression 2855641 2855679 - Identifier 2855641 2855668 - Identifier 2855669 2855678 - IfStatement 2855680 2856034 - Identifier 2855702 2855719 - Block 2855720 2856034 - VariableStatement 2855722 2855846 - VariableDeclarationList 2855722 2855845 - VariableDeclaration 2855749 2855845 - Identifier 2855749 2855764 - CallExpression 2855766 2855845 - Identifier 2855766 2855798 - Identifier 2855799 2855816 - Identifier 2855817 2855844 - VariableStatement 2855846 2855961 - VariableDeclarationList 2855846 2855960 - VariableDeclaration 2855873 2855960 - Identifier 2855873 2855878 - CallExpression 2855880 2855960 - Identifier 2855880 2855925 - Identifier 2855926 2855943 - Identifier 2855944 2855959 - ReturnStatement 2855961 2856015 - BinaryExpression 2855989 2856014 - Identifier 2855989 2855994 - AmpersandAmpersandToken 2855994 2855997 - PrefixUnaryExpression 2855997 2856014 - CallExpression 2855999 2856014 - Identifier 2855999 2856008 - Identifier 2856009 2856013 - FunctionDeclaration 2856067 2863911 - Identifier 2856083 2856125 - Parameter 2856126 2856207 - Identifier 2856126 2856130 - UnionType 2856131 2856207 - TypeReference 2856131 2856142 - Identifier 2856131 2856142 - TypeReference 2856144 2856162 - Identifier 2856144 2856162 - TypeReference 2856164 2856189 - Identifier 2856164 2856189 - TypeReference 2856191 2856207 - Identifier 2856191 2856207 - UnionType 2856209 2856228 - TypeReference 2856209 2856216 - Identifier 2856209 2856216 - UndefinedKeyword 2856218 2856228 - Block 2856228 2863911 - IfStatement 2856230 2856331 - CallExpression 2856244 2856267 - Identifier 2856244 2856261 - Identifier 2856262 2856266 - Block 2856268 2856331 - ReturnStatement 2856270 2856320 - CallExpression 2856290 2856319 - Identifier 2856290 2856306 - PropertyAccessExpression 2856307 2856318 - Identifier 2856307 2856311 - Identifier 2856312 2856318 - IfStatement 2856331 2857026 - BinaryExpression 2856347 2856528 - BinaryExpression 2856347 2856450 - CallExpression 2856347 2856377 - Identifier 2856347 2856371 - Identifier 2856372 2856376 - AmpersandAmpersandToken 2856377 2856380 - BinaryExpression 2856380 2856450 - PropertyAccessExpression 2856380 2856410 - PropertyAccessExpression 2856380 2856405 - Identifier 2856380 2856398 - Identifier 2856399 2856405 - Identifier 2856406 2856410 - EqualsEqualsEqualsToken 2856410 2856414 - PropertyAccessExpression 2856414 2856450 - Identifier 2856414 2856425 - Identifier 2856426 2856450 - AmpersandAmpersandToken 2856450 2856453 - BinaryExpression 2856453 2856528 - PropertyAccessExpression 2856453 2856478 - Identifier 2856453 2856471 - Identifier 2856472 2856478 - EqualsEqualsEqualsToken 2856478 2856482 - PropertyAccessExpression 2856482 2856528 - ParenthesizedExpression 2856482 2856523 - AsExpression 2856484 2856522 - PropertyAccessExpression 2856484 2856502 - PropertyAccessExpression 2856484 2856495 - Identifier 2856484 2856488 - Identifier 2856489 2856495 - Identifier 2856496 2856502 - TypeReference 2856505 2856522 - Identifier 2856505 2856522 - Identifier 2856524 2856528 - Block 2856539 2857026 - IfStatement 2856541 2857015 - BinaryExpression 2856622 2856748 - BinaryExpression 2856622 2856676 - PrefixUnaryExpression 2856622 2856648 - CallExpression 2856623 2856648 - Identifier 2856623 2856642 - Identifier 2856643 2856647 - AmpersandAmpersandToken 2856648 2856651 - PrefixUnaryExpression 2856651 2856676 - CallExpression 2856653 2856676 - Identifier 2856653 2856670 - Identifier 2856671 2856675 - AmpersandAmpersandToken 2856676 2856679 - PrefixUnaryExpression 2856679 2856748 - CallExpression 2856681 2856748 - Identifier 2856681 2856707 - AsExpression 2856708 2856747 - PropertyAccessExpression 2856708 2856719 - Identifier 2856708 2856712 - Identifier 2856713 2856719 - TypeReference 2856722 2856747 - Identifier 2856722 2856747 - Block 2856749 2857015 - VariableStatement 2856751 2856864 - VariableDeclarationList 2856751 2856863 - VariableDeclaration 2856774 2856863 - Identifier 2856774 2856806 - CallExpression 2856808 2856863 - Identifier 2856808 2856857 - Identifier 2856858 2856862 - IfStatement 2856864 2857000 - Identifier 2856886 2856917 - Block 2856918 2857000 - ReturnStatement 2856920 2856981 - Identifier 2856948 2856980 - IfStatement 2857026 2858018 - BinaryExpression 2857042 2857122 - BinaryExpression 2857042 2857090 - PropertyAccessExpression 2857042 2857058 - PropertyAccessExpression 2857042 2857053 - Identifier 2857042 2857046 - Identifier 2857047 2857053 - Identifier 2857054 2857058 - EqualsEqualsEqualsToken 2857058 2857062 - PropertyAccessExpression 2857062 2857090 - Identifier 2857062 2857073 - Identifier 2857074 2857090 - AmpersandAmpersandToken 2857090 2857093 - CallExpression 2857093 2857122 - Identifier 2857093 2857116 - Identifier 2857117 2857121 - Block 2857123 2857554 - VariableStatement 2857125 2857438 - VariableDeclarationList 2857125 2857437 - VariableDeclaration 2857281 2857437 - Identifier 2857281 2857289 - CallExpression 2857291 2857437 - Identifier 2857291 2857309 - Identifier 2857310 2857314 - BinaryExpression 2857315 2857413 - BinaryExpression 2857315 2857393 - BinaryExpression 2857315 2857369 - PropertyAccessExpression 2857315 2857350 - Identifier 2857315 2857344 - Identifier 2857345 2857350 - BarToken 2857350 2857352 - PropertyAccessExpression 2857352 2857369 - Identifier 2857352 2857364 - Identifier 2857365 2857369 - BarToken 2857369 2857371 - PropertyAccessExpression 2857371 2857393 - Identifier 2857371 2857383 - Identifier 2857384 2857393 - BarToken 2857393 2857395 - PropertyAccessExpression 2857395 2857413 - Identifier 2857395 2857407 - Identifier 2857408 2857413 - TrueKeyword 2857414 2857436 - IfStatement 2857438 2857543 - BinaryExpression 2857456 2857492 - Identifier 2857456 2857463 - AmpersandAmpersandToken 2857463 2857466 - BinaryExpression 2857466 2857492 - Identifier 2857466 2857474 - ExclamationEqualsEqualsToken 2857474 2857478 - Identifier 2857478 2857492 - Block 2857493 2857543 - ReturnStatement 2857495 2857528 - Identifier 2857519 2857527 - IfStatement 2857568 2858018 - BinaryExpression 2857573 2857640 - CallExpression 2857573 2857591 - Identifier 2857573 2857585 - Identifier 2857586 2857590 - AmpersandAmpersandToken 2857591 2857594 - CallExpression 2857594 2857640 - Identifier 2857594 2857634 - Identifier 2857635 2857639 - Block 2857641 2858018 - VariableStatement 2857643 2857842 - VariableDeclarationList 2857643 2857841 - VariableDeclaration 2857761 2857841 - Identifier 2857761 2857785 - CallExpression 2857787 2857841 - Identifier 2857787 2857799 - Identifier 2857800 2857804 - PropertyAccessExpression 2857805 2857840 - Identifier 2857805 2857816 - Identifier 2857817 2857840 - ExpressionStatement 2857842 2857908 - CallExpression 2857842 2857907 - PropertyAccessExpression 2857842 2857868 - Identifier 2857842 2857861 - Identifier 2857862 2857868 - BinaryExpression 2857869 2857906 - Identifier 2857869 2857892 - ExclamationEqualsEqualsToken 2857892 2857896 - Identifier 2857896 2857906 - ReturnStatement 2857908 2858007 - CallExpression 2857928 2858006 - Identifier 2857928 2857973 - Identifier 2857974 2857978 - TrueKeyword 2857979 2858005 - IfStatement 2858018 2858380 - CallExpression 2858034 2858052 - Identifier 2858034 2858046 - Identifier 2858047 2858051 - Block 2858053 2858380 - VariableStatement 2858055 2858128 - VariableDeclarationList 2858055 2858127 - VariableDeclaration 2858074 2858127 - Identifier 2858074 2858093 - CallExpression 2858095 2858127 - Identifier 2858095 2858121 - Identifier 2858122 2858126 - IfStatement 2858128 2858369 - Identifier 2858146 2858164 - Block 2858165 2858369 - ExpressionStatement 2858167 2858225 - CallExpression 2858167 2858224 - Identifier 2858167 2858204 - Identifier 2858205 2858223 - VariableStatement 2858225 2858289 - VariableDeclarationList 2858225 2858288 - VariableDeclaration 2858248 2858288 - Identifier 2858248 2858252 - PropertyAccessExpression 2858254 2858288 - CallExpression 2858254 2858273 - Identifier 2858254 2858267 - Identifier 2858268 2858272 - Identifier 2858274 2858288 - ReturnStatement 2858289 2858354 - ConditionalExpression 2858313 2858353 - BinaryExpression 2858313 2858335 - Identifier 2858313 2858317 - EqualsEqualsEqualsToken 2858317 2858321 - Identifier 2858321 2858335 - QuestionToken 2858335 2858337 - Identifier 2858337 2858347 - ColonToken 2858347 2858349 - Identifier 2858349 2858353 - WhileStatement 2858380 2858583 - CallExpression 2858399 2858464 - Identifier 2858399 2858458 - Identifier 2858459 2858463 - Block 2858465 2858583 - ExpressionStatement 2858467 2858572 - BinaryExpression 2858467 2858571 - Identifier 2858467 2858485 - EqualsToken 2858485 2858487 - AsExpression 2858487 2858571 - PropertyAccessExpression 2858487 2858499 - Identifier 2858487 2858492 - Identifier 2858493 2858499 - UnionType 2858502 2858571 - TypeReference 2858502 2858516 - Identifier 2858502 2858516 - TypeReference 2858518 2858553 - Identifier 2858518 2858553 - TypeReference 2858555 2858571 - Identifier 2858555 2858571 - IfStatement 2858583 2859710 - CallExpression 2858599 2858642 - Identifier 2858599 2858636 - Identifier 2858637 2858641 - Block 2858643 2859710 - VariableStatement 2858645 2858690 - VariableDeclarationList 2858645 2858689 - VariableDeclaration 2858662 2858689 - Identifier 2858662 2858670 - PropertyAccessExpression 2858672 2858689 - Identifier 2858672 2858684 - Identifier 2858685 2858689 - IfStatement 2858690 2859422 - BinaryExpression 2858708 2858767 - PropertyAccessExpression 2858708 2858724 - PropertyAccessExpression 2858708 2858719 - Identifier 2858708 2858712 - Identifier 2858713 2858719 - Identifier 2858720 2858724 - EqualsEqualsEqualsToken 2858724 2858728 - PropertyAccessExpression 2858728 2858767 - Identifier 2858728 2858739 - Identifier 2858740 2858767 - Block 2858768 2859337 - ExpressionStatement 2858770 2859082 - BinaryExpression 2858770 2859081 - Identifier 2858770 2859017 - EqualsToken 2859017 2859019 - ConditionalExpression 2859019 2859081 - CallExpression 2859019 2859042 - Identifier 2859019 2859036 - Identifier 2859037 2859041 - QuestionToken 2859042 2859044 - PropertyAccessExpression 2859044 2859061 - Identifier 2859044 2859056 - Identifier 2859057 2859061 - ColonToken 2859061 2859063 - PropertyAccessExpression 2859063 2859081 - Identifier 2859063 2859075 - Identifier 2859076 2859081 - IfStatement 2859082 2859322 - CallExpression 2859187 2859249 - Identifier 2859187 2859236 - PropertyAccessExpression 2859237 2859248 - Identifier 2859237 2859241 - Identifier 2859242 2859248 - Block 2859250 2859322 - ExpressionStatement 2859252 2859303 - BinaryExpression 2859252 2859302 - Identifier 2859252 2859281 - BarEqualsToken 2859281 2859284 - PropertyAccessExpression 2859284 2859302 - Identifier 2859284 2859296 - Identifier 2859297 2859302 - Block 2859355 2859422 - ExpressionStatement 2859357 2859407 - BinaryExpression 2859357 2859406 - Identifier 2859357 2859382 - EqualsToken 2859382 2859384 - PropertyAccessExpression 2859384 2859406 - Identifier 2859384 2859396 - Identifier 2859397 2859406 - ExpressionStatement 2859422 2859467 - BinaryExpression 2859422 2859466 - Identifier 2859422 2859445 - BarEqualsToken 2859445 2859448 - PropertyAccessExpression 2859448 2859466 - Identifier 2859448 2859460 - Identifier 2859461 2859466 - VariableStatement 2859467 2859605 - VariableDeclarationList 2859467 2859604 - VariableDeclaration 2859486 2859604 - Identifier 2859486 2859503 - ConditionalExpression 2859505 2859604 - CallExpression 2859505 2859534 - Identifier 2859505 2859528 - Identifier 2859529 2859533 - QuestionToken 2859534 2859536 - CallExpression 2859536 2859592 - Identifier 2859536 2859554 - Identifier 2859555 2859559 - Identifier 2859560 2859568 - TrueKeyword 2859569 2859591 - ColonToken 2859592 2859594 - Identifier 2859594 2859604 - IfStatement 2859605 2859699 - Identifier 2859623 2859639 - Block 2859640 2859699 - ReturnStatement 2859642 2859684 - Identifier 2859666 2859683 - IfStatement 2859710 2859872 - BinaryExpression 2859726 2859775 - PropertyAccessExpression 2859726 2859742 - PropertyAccessExpression 2859726 2859737 - Identifier 2859726 2859730 - Identifier 2859731 2859737 - Identifier 2859738 2859742 - EqualsEqualsEqualsToken 2859742 2859746 - PropertyAccessExpression 2859746 2859775 - Identifier 2859746 2859757 - Identifier 2859758 2859775 - Block 2859776 2859872 - ReturnStatement 2859778 2859861 - CallExpression 2859798 2859860 - Identifier 2859798 2859826 - AsExpression 2859827 2859859 - PropertyAccessExpression 2859827 2859838 - Identifier 2859827 2859831 - Identifier 2859832 2859838 - TypeReference 2859841 2859859 - Identifier 2859841 2859859 - IfStatement 2859872 2860301 - BinaryExpression 2859888 2859992 - BinaryExpression 2859888 2859933 - PropertyAccessExpression 2859888 2859904 - PropertyAccessExpression 2859888 2859899 - Identifier 2859888 2859892 - Identifier 2859893 2859899 - Identifier 2859900 2859904 - EqualsEqualsEqualsToken 2859904 2859908 - PropertyAccessExpression 2859908 2859933 - Identifier 2859908 2859919 - Identifier 2859920 2859933 - AmpersandAmpersandToken 2859933 2859936 - BinaryExpression 2859936 2859992 - PropertyAccessExpression 2859936 2859960 - PropertyAccessExpression 2859936 2859955 - PropertyAccessExpression 2859936 2859948 - Identifier 2859936 2859941 - Identifier 2859942 2859948 - Identifier 2859949 2859955 - Identifier 2859956 2859960 - EqualsEqualsEqualsToken 2859960 2859964 - PropertyAccessExpression 2859964 2859992 - Identifier 2859964 2859975 - Identifier 2859976 2859992 - Block 2859993 2860301 - ExpressionStatement 2859995 2860041 - CallExpression 2859995 2860040 - PropertyAccessExpression 2859995 2860021 - Identifier 2859995 2860014 - Identifier 2860015 2860021 - PrefixUnaryExpression 2860022 2860039 - CallExpression 2860023 2860039 - Identifier 2860023 2860033 - Identifier 2860034 2860038 - VariableStatement 2860041 2860231 - VariableDeclarationList 2860041 2860230 - VariableDeclaration 2860115 2860230 - Identifier 2860115 2860129 - CallExpression 2860131 2860230 - Identifier 2860131 2860157 - AsExpression 2860158 2860229 - PropertyAccessExpression 2860158 2860169 - Identifier 2860158 2860162 - Identifier 2860163 2860169 - IntersectionType 2860172 2860229 - TypeReference 2860172 2860197 - Identifier 2860172 2860197 - TypeLiteral 2860199 2860229 - PropertySignature 2860201 2860227 - Identifier 2860201 2860208 - TypeReference 2860209 2860226 - Identifier 2860209 2860226 - ReturnStatement 2860231 2860290 - BinaryExpression 2860251 2860289 - Identifier 2860251 2860265 - AmpersandAmpersandToken 2860265 2860268 - PropertyAccessExpression 2860268 2860289 - Identifier 2860268 2860282 - Identifier 2860283 2860289 - IfStatement 2860301 2863674 - CallExpression 2860317 2860339 - Identifier 2860317 2860333 - Identifier 2860334 2860338 - Block 2860340 2863251 - IfStatement 2860342 2860473 - CallExpression 2860360 2860379 - Identifier 2860360 2860373 - Identifier 2860374 2860378 - Block 2860380 2860473 - ReturnStatement 2860382 2860458 - Identifier 2860447 2860457 - VariableStatement 2860473 2860586 - VariableDeclarationList 2860473 2860585 - VariableDeclaration 2860494 2860585 - Identifier 2860494 2860502 - CallExpression 2860504 2860585 - Identifier 2860504 2860517 - Identifier 2860518 2860522 - CallExpression 2860523 2860584 - Identifier 2860523 2860526 - Identifier 2860527 2860542 - Identifier 2860543 2860564 - Identifier 2860565 2860583 - VariableStatement 2860586 2860707 - VariableDeclarationList 2860586 2860706 - VariableDeclaration 2860605 2860706 - Identifier 2860605 2860613 - ConditionalExpression 2860615 2860706 - Identifier 2860615 2860623 - QuestionToken 2860623 2860625 - BinaryExpression 2860625 2860686 - BinaryExpression 2860625 2860666 - PropertyAccessExpression 2860625 2860642 - Identifier 2860625 2860637 - Identifier 2860638 2860642 - BarToken 2860642 2860644 - PropertyAccessExpression 2860644 2860666 - Identifier 2860644 2860656 - Identifier 2860657 2860666 - BarToken 2860666 2860668 - PropertyAccessExpression 2860668 2860686 - Identifier 2860668 2860680 - Identifier 2860681 2860686 - ColonToken 2860686 2860688 - PropertyAccessExpression 2860688 2860706 - Identifier 2860688 2860700 - Identifier 2860701 2860706 - IfStatement 2860707 2863240 - BinaryExpression 2860725 2860760 - PropertyAccessExpression 2860725 2860734 - Identifier 2860725 2860729 - Identifier 2860730 2860734 - EqualsEqualsEqualsToken 2860734 2860738 - PropertyAccessExpression 2860738 2860760 - Identifier 2860738 2860749 - Identifier 2860750 2860760 - Block 2860761 2861974 - IfStatement 2860763 2861028 - BinaryExpression 2860785 2860834 - CallExpression 2860785 2860803 - Identifier 2860785 2860797 - Identifier 2860798 2860802 - AmpersandAmpersandToken 2860803 2860806 - CallExpression 2860806 2860834 - Identifier 2860806 2860828 - Identifier 2860829 2860833 - Block 2860835 2861028 - VariableStatement 2860837 2860934 - VariableDeclarationList 2860837 2860933 - VariableDeclaration 2860864 2860933 - Identifier 2860864 2860871 - CallExpression 2860873 2860933 - Identifier 2860873 2860895 - AsExpression 2860896 2860932 - PropertyAccessExpression 2860896 2860907 - Identifier 2860896 2860900 - Identifier 2860901 2860907 - TypeReference 2860910 2860932 - Identifier 2860910 2860932 - ReturnStatement 2860934 2861009 - ConditionalExpression 2860962 2861008 - BinaryExpression 2860962 2860987 - Identifier 2860962 2860969 - EqualsEqualsEqualsToken 2860969 2860973 - Identifier 2860973 2860987 - QuestionToken 2860987 2860989 - Identifier 2860989 2860999 - ColonToken 2860999 2861001 - Identifier 2861001 2861008 - VariableStatement 2861028 2861177 - VariableDeclarationList 2861028 2861176 - VariableDeclaration 2861051 2861176 - Identifier 2861051 2861058 - CallExpression 2861060 2861176 - Identifier 2861060 2861078 - Identifier 2861079 2861083 - Identifier 2861084 2861092 - TrueKeyword 2861093 2861115 - TrueKeyword 2861116 2861142 - CallExpression 2861143 2861175 - Identifier 2861143 2861169 - Identifier 2861170 2861174 - IfStatement 2861177 2861520 - BinaryExpression 2861199 2861217 - PrefixUnaryExpression 2861199 2861206 - Identifier 2861200 2861206 - AmpersandAmpersandToken 2861206 2861209 - Identifier 2861209 2861217 - Block 2861218 2861520 - VariableStatement 2861220 2861320 - VariableDeclarationList 2861220 2861319 - VariableDeclaration 2861247 2861319 - Identifier 2861247 2861257 - CallExpression 2861259 2861319 - Identifier 2861259 2861272 - Identifier 2861273 2861277 - CallExpression 2861278 2861318 - Identifier 2861278 2861281 - Identifier 2861282 2861293 - Identifier 2861294 2861317 - IfStatement 2861320 2861501 - Identifier 2861346 2861355 - Block 2861356 2861501 - ReturnStatement 2861358 2861478 - CallExpression 2861390 2861477 - Identifier 2861390 2861413 - Identifier 2861414 2861418 - TrueKeyword 2861419 2861441 - CallExpression 2861442 2861476 - Identifier 2861442 2861465 - Identifier 2861466 2861475 - IfStatement 2861520 2861927 - BinaryExpression 2861542 2861559 - Identifier 2861542 2861548 - AmpersandAmpersandToken 2861548 2861551 - Identifier 2861551 2861559 - Block 2861560 2861927 - VariableStatement 2861562 2861621 - VariableDeclarationList 2861562 2861620 - VariableDeclaration 2861589 2861620 - Identifier 2861589 2861599 - CallExpression 2861601 2861620 - Identifier 2861601 2861614 - Identifier 2861615 2861619 - IfStatement 2861621 2861908 - BinaryExpression 2861647 2861724 - BinaryExpression 2861647 2861683 - Identifier 2861647 2861656 - AmpersandAmpersandToken 2861656 2861659 - CallExpression 2861659 2861683 - Identifier 2861659 2861672 - Identifier 2861673 2861682 - AmpersandAmpersandToken 2861683 2861686 - BinaryExpression 2861686 2861724 - Identifier 2861686 2861696 - EqualsEqualsEqualsToken 2861696 2861700 - PropertyAccessExpression 2861700 2861724 - Identifier 2861700 2861707 - Identifier 2861708 2861724 - Block 2861725 2861908 - ReturnStatement 2861727 2861885 - BinaryExpression 2861759 2861884 - CallExpression 2861759 2861874 - Identifier 2861759 2861777 - Identifier 2861778 2861782 - Identifier 2861783 2861791 - TrueKeyword 2861792 2861814 - TrueKeyword 2861815 2861841 - CallExpression 2861842 2861873 - Identifier 2861842 2861862 - Identifier 2861863 2861872 - BarBarToken 2861874 2861877 - Identifier 2861877 2861884 - ReturnStatement 2861927 2861959 - Identifier 2861951 2861958 - IfStatement 2861992 2863240 - CallExpression 2861997 2862022 - Identifier 2861997 2862016 - Identifier 2862017 2862021 - Block 2862023 2862111 - ReturnStatement 2862025 2862096 - CallExpression 2862049 2862095 - Identifier 2862049 2862089 - Identifier 2862090 2862094 - IfStatement 2862129 2863240 - BinaryExpression 2862134 2862225 - BinaryExpression 2862134 2862183 - PropertyAccessExpression 2862134 2862143 - Identifier 2862134 2862138 - Identifier 2862139 2862143 - EqualsEqualsEqualsToken 2862143 2862147 - PropertyAccessExpression 2862147 2862183 - Identifier 2862147 2862158 - Identifier 2862159 2862183 - BarBarToken 2862183 2862186 - BinaryExpression 2862186 2862225 - PropertyAccessExpression 2862186 2862196 - Identifier 2862186 2862191 - Identifier 2862192 2862196 - EqualsEqualsEqualsToken 2862196 2862200 - PropertyAccessExpression 2862200 2862225 - Identifier 2862200 2862211 - Identifier 2862212 2862225 - Block 2862226 2863122 - VariableStatement 2862228 2862279 - VariableDeclarationList 2862228 2862278 - VariableDeclaration 2862251 2862278 - Identifier 2862251 2862257 - CallExpression 2862259 2862278 - Identifier 2862259 2862272 - Identifier 2862273 2862277 - IfStatement 2862279 2862393 - PropertyAccessExpression 2862301 2862321 - Identifier 2862301 2862306 - Identifier 2862307 2862321 - Block 2862322 2862393 - ReturnStatement 2862324 2862374 - PropertyAccessExpression 2862352 2862373 - Identifier 2862352 2862358 - Identifier 2862359 2862373 - IfStatement 2862393 2862902 - BinaryExpression 2862417 2862466 - PropertyAccessExpression 2862417 2862426 - Identifier 2862417 2862421 - Identifier 2862422 2862426 - EqualsEqualsEqualsToken 2862426 2862430 - PropertyAccessExpression 2862430 2862466 - Identifier 2862430 2862441 - Identifier 2862442 2862466 - Block 2862467 2862794 - ExpressionStatement 2862469 2862545 - CallExpression 2862469 2862544 - Identifier 2862469 2862520 - Identifier 2862521 2862525 - PropertyAccessExpression 2862526 2862543 - Identifier 2862526 2862536 - Identifier 2862537 2862543 - IfStatement 2862545 2862775 - PrefixUnaryExpression 2862571 2862592 - PropertyAccessExpression 2862572 2862592 - Identifier 2862572 2862577 - Identifier 2862578 2862592 - Block 2862593 2862775 - ExpressionStatement 2862595 2862752 - BinaryExpression 2862595 2862751 - PropertyAccessExpression 2862595 2862641 - Identifier 2862595 2862626 - Identifier 2862627 2862641 - EqualsToken 2862641 2862643 - CallExpression 2862643 2862751 - Identifier 2862643 2862668 - CallExpression 2862669 2862707 - Identifier 2862669 2862690 - PropertyAccessExpression 2862691 2862706 - Identifier 2862691 2862695 - Identifier 2862696 2862706 - CallExpression 2862708 2862750 - Identifier 2862708 2862739 - PropertyAccessExpression 2862740 2862749 - Identifier 2862740 2862744 - Identifier 2862745 2862749 - Block 2862816 2862902 - ExpressionStatement 2862818 2862883 - CallExpression 2862818 2862882 - Identifier 2862818 2862858 - Identifier 2862859 2862863 - PropertyAccessExpression 2862864 2862881 - Identifier 2862864 2862874 - Identifier 2862875 2862881 - IfStatement 2862902 2863061 - BinaryExpression 2862924 2862981 - BinaryExpression 2862924 2862956 - PrefixUnaryExpression 2862924 2862945 - PropertyAccessExpression 2862925 2862945 - Identifier 2862925 2862930 - Identifier 2862931 2862945 - AmpersandAmpersandToken 2862945 2862948 - Identifier 2862948 2862956 - AmpersandAmpersandToken 2862956 2862959 - CallExpression 2862959 2862981 - Identifier 2862959 2862975 - Identifier 2862976 2862980 - Block 2862982 2863061 - ReturnStatement 2862984 2863042 - CallExpression 2863012 2863041 - Identifier 2863012 2863035 - Identifier 2863036 2863040 - ReturnStatement 2863061 2863107 - PropertyAccessExpression 2863085 2863106 - Identifier 2863085 2863091 - Identifier 2863092 2863106 - IfStatement 2863140 2863240 - CallExpression 2863145 2863168 - Identifier 2863145 2863162 - Identifier 2863163 2863167 - Block 2863169 2863240 - ReturnStatement 2863171 2863225 - CallExpression 2863195 2863224 - Identifier 2863195 2863218 - Identifier 2863219 2863223 - IfStatement 2863265 2863674 - BinaryExpression 2863270 2863323 - CallExpression 2863270 2863288 - Identifier 2863270 2863282 - Identifier 2863283 2863287 - AmpersandAmpersandToken 2863288 2863291 - CallExpression 2863291 2863323 - Identifier 2863291 2863317 - Identifier 2863318 2863322 - Block 2863324 2863674 - VariableStatement 2863326 2863445 - VariableDeclarationList 2863326 2863444 - VariableDeclaration 2863345 2863444 - Identifier 2863345 2863353 - ConditionalExpression 2863355 2863444 - BinaryExpression 2863355 2863401 - PropertyAccessExpression 2863355 2863372 - PropertyAccessExpression 2863355 2863367 - Identifier 2863355 2863360 - Identifier 2863361 2863367 - Identifier 2863368 2863372 - EqualsEqualsEqualsToken 2863372 2863376 - PropertyAccessExpression 2863376 2863401 - Identifier 2863376 2863387 - Identifier 2863388 2863401 - QuestionToken 2863401 2863403 - PropertyAccessExpression 2863403 2863420 - Identifier 2863403 2863415 - Identifier 2863416 2863420 - ColonToken 2863420 2863422 - PropertyAccessExpression 2863422 2863444 - Identifier 2863422 2863434 - Identifier 2863435 2863444 - VariableStatement 2863445 2863557 - VariableDeclarationList 2863445 2863556 - VariableDeclaration 2863464 2863556 - Identifier 2863464 2863471 - CallExpression 2863473 2863556 - Identifier 2863473 2863491 - Identifier 2863492 2863496 - Identifier 2863497 2863505 - TrueKeyword 2863506 2863528 - TrueKeyword 2863529 2863555 - ReturnStatement 2863557 2863663 - ConditionalExpression 2863577 2863662 - BinaryExpression 2863577 2863612 - Identifier 2863577 2863584 - AmpersandAmpersandToken 2863584 2863587 - BinaryExpression 2863587 2863612 - Identifier 2863587 2863594 - ExclamationEqualsEqualsToken 2863594 2863598 - Identifier 2863598 2863612 - QuestionToken 2863612 2863614 - Identifier 2863614 2863621 - ColonToken 2863621 2863623 - CallExpression 2863623 2863662 - Identifier 2863623 2863656 - Identifier 2863657 2863661 - IfStatement 2863674 2863877 - BinaryExpression 2863688 2863733 - PropertyAccessExpression 2863688 2863704 - PropertyAccessExpression 2863688 2863699 - Identifier 2863688 2863692 - Identifier 2863693 2863699 - Identifier 2863700 2863704 - EqualsEqualsEqualsToken 2863704 2863708 - PropertyAccessExpression 2863708 2863733 - Identifier 2863708 2863719 - Identifier 2863720 2863733 - Block 2863734 2863877 - ReturnStatement 2863736 2863866 - CallExpression 2863756 2863865 - Identifier 2863756 2863774 - AsExpression 2863775 2863793 - Identifier 2863775 2863779 - TypeReference 2863782 2863793 - Identifier 2863782 2863793 - PropertyAccessExpression 2863794 2863841 - Identifier 2863794 2863818 - Identifier 2863819 2863841 - TrueKeyword 2863842 2863864 - ReturnStatement 2863877 2863904 - Identifier 2863893 2863903 - FunctionDeclaration 2863911 2865427 - Identifier 2863927 2863952 - Parameter 2863953 2863963 - Identifier 2863953 2863957 - TypeReference 2863958 2863963 - Identifier 2863958 2863963 - Parameter 2863964 2863978 - Identifier 2863964 2863972 - TypeReference 2863973 2863978 - Identifier 2863973 2863978 - Block 2863979 2865427 - VariableStatement 2863981 2864044 - VariableDeclarationList 2863981 2864043 - VariableDeclaration 2863996 2864043 - Identifier 2863996 2864002 - CallExpression 2864004 2864043 - Identifier 2864004 2864028 - Identifier 2864029 2864033 - Identifier 2864034 2864042 - IfStatement 2864044 2865420 - BinaryExpression 2864058 2864102 - PropertyAccessExpression 2864058 2864070 - Identifier 2864058 2864063 - Identifier 2864064 2864070 - AmpersandAmpersandToken 2864070 2864073 - PropertyAccessExpression 2864073 2864102 - ParenthesizedExpression 2864073 2864094 - AsExpression 2864075 2864093 - Identifier 2864075 2864079 - TypeReference 2864082 2864093 - Identifier 2864082 2864093 - Identifier 2864095 2864102 - Block 2864103 2865420 - VariableStatement 2864105 2864222 - VariableDeclarationList 2864105 2864221 - VariableDeclaration 2864124 2864221 - Identifier 2864124 2864131 - CallExpression 2864133 2864221 - Identifier 2864133 2864163 - PropertyAccessExpression 2864164 2864220 - CallExpression 2864164 2864212 - Identifier 2864164 2864192 - AsExpression 2864193 2864211 - Identifier 2864193 2864197 - TypeReference 2864200 2864211 - Identifier 2864200 2864211 - Identifier 2864213 2864220 - IfStatement 2864222 2865409 - BinaryExpression 2864240 2864275 - Identifier 2864240 2864245 - EqualsEqualsEqualsToken 2864245 2864249 - CallExpression 2864249 2864275 - Identifier 2864249 2864269 - Identifier 2864270 2864274 - Block 2864276 2864325 - ReturnStatement 2864278 2864310 - Identifier 2864302 2864309 - IfStatement 2864343 2865409 - Identifier 2864348 2864354 - Block 2864355 2865409 - VariableStatement 2864357 2864418 - VariableDeclarationList 2864357 2864417 - VariableDeclaration 2864380 2864417 - Identifier 2864380 2864392 - CallExpression 2864394 2864417 - Identifier 2864394 2864409 - Identifier 2864410 2864416 - VariableStatement 2864418 2864498 - VariableDeclarationList 2864418 2864497 - VariableDeclaration 2864441 2864497 - Identifier 2864441 2864457 - CallExpression 2864459 2864497 - Identifier 2864459 2864470 - Identifier 2864471 2864476 - ArrowFunction 2864477 2864496 - Parameter 2864477 2864479 - Identifier 2864477 2864479 - EqualsGreaterThanToken 2864479 2864482 - PropertyAccessExpression 2864482 2864496 - Identifier 2864482 2864484 - Identifier 2864485 2864496 - VariableStatement 2864498 2864577 - VariableDeclarationList 2864498 2864576 - VariableDeclaration 2864521 2864576 - Identifier 2864521 2864532 - CallExpression 2864534 2864576 - PropertyAccessExpression 2864534 2864571 - CallExpression 2864534 2864566 - Identifier 2864534 2864538 - Identifier 2864539 2864554 - Identifier 2864555 2864565 - Identifier 2864567 2864571 - StringLiteral 2864572 2864575 - IfStatement 2864577 2864729 - PrefixUnaryExpression 2864599 2864636 - PropertyAccessExpression 2864600 2864636 - Identifier 2864600 2864611 - Identifier 2864612 2864636 - Block 2864637 2864729 - ExpressionStatement 2864639 2864710 - BinaryExpression 2864639 2864709 - PropertyAccessExpression 2864639 2864697 - Identifier 2864639 2864672 - Identifier 2864673 2864697 - EqualsToken 2864697 2864699 - NewExpression 2864699 2864709 - Identifier 2864703 2864707 - IfStatement 2864729 2865394 - CallExpression 2864751 2864803 - PropertyAccessExpression 2864751 2864791 - PropertyAccessExpression 2864751 2864787 - Identifier 2864751 2864762 - Identifier 2864763 2864787 - Identifier 2864788 2864791 - Identifier 2864792 2864802 - Block 2864804 2864908 - ReturnStatement 2864806 2864889 - NonNullExpression 2864834 2864888 - CallExpression 2864834 2864887 - PropertyAccessExpression 2864834 2864875 - PropertyAccessExpression 2864834 2864871 - Identifier 2864834 2864846 - Identifier 2864847 2864871 - Identifier 2864872 2864875 - Identifier 2864876 2864886 - Block 2864930 2865394 - VariableStatement 2864932 2865029 - VariableDeclarationList 2864932 2865028 - VariableDeclaration 2864959 2865028 - Identifier 2864959 2864964 - CallExpression 2864966 2865028 - Identifier 2864966 2864979 - PropertyAccessExpression 2864980 2865001 - Identifier 2864980 2864991 - Identifier 2864992 2865001 - PropertyAccessExpression 2865002 2865027 - Identifier 2865002 2865021 - Identifier 2865022 2865027 - ExpressionStatement 2865029 2865109 - BinaryExpression 2865029 2865108 - PropertyAccessExpression 2865029 2865068 - Identifier 2865029 2865055 - Identifier 2865056 2865068 - EqualsToken 2865068 2865070 - CallExpression 2865070 2865108 - Identifier 2865070 2865081 - Identifier 2865082 2865087 - ArrowFunction 2865088 2865107 - Parameter 2865088 2865090 - Identifier 2865088 2865090 - EqualsGreaterThanToken 2865090 2865093 - PropertyAccessExpression 2865093 2865107 - Identifier 2865093 2865095 - Identifier 2865096 2865107 - ExpressionStatement 2865109 2865260 - BinaryExpression 2865109 2865259 - PropertyAccessExpression 2865109 2865142 - Identifier 2865109 2865135 - Identifier 2865136 2865142 - EqualsToken 2865142 2865144 - ConditionalExpression 2865144 2865259 - PropertyAccessExpression 2865144 2865161 - Identifier 2865144 2865149 - Identifier 2865150 2865161 - QuestionToken 2865161 2865163 - PropertyAccessExpression 2865163 2865180 - Identifier 2865163 2865168 - Identifier 2865169 2865180 - ColonToken 2865180 2865182 - ConditionalExpression 2865182 2865259 - PropertyAccessExpression 2865182 2865194 - Identifier 2865182 2865187 - Identifier 2865188 2865194 - QuestionToken 2865194 2865196 - PropertyAccessExpression 2865196 2865208 - Identifier 2865196 2865201 - Identifier 2865202 2865208 - ColonToken 2865208 2865210 - CallExpression 2865210 2865259 - Identifier 2865210 2865230 - PropertyAccessExpression 2865231 2865258 - ElementAccessExpression 2865231 2865251 - PropertyAccessExpression 2865231 2865248 - Identifier 2865231 2865235 - Identifier 2865236 2865248 - NumericLiteral 2865249 2865250 - Identifier 2865252 2865258 - ExpressionStatement 2865260 2865341 - CallExpression 2865260 2865340 - PropertyAccessExpression 2865260 2865322 - PropertyAccessExpression 2865260 2865318 - Identifier 2865260 2865293 - Identifier 2865294 2865318 - Identifier 2865319 2865322 - Identifier 2865323 2865333 - Identifier 2865334 2865339 - ReturnStatement 2865341 2865375 - Identifier 2865369 2865374 - FunctionDeclaration 2865427 2867017 - Identifier 2865808 2865831 - Parameter 2865832 2865866 - Identifier 2865832 2865836 - UnionType 2865837 2865866 - TypeReference 2865837 2865848 - Identifier 2865837 2865848 - TypeReference 2865850 2865866 - Identifier 2865850 2865866 - Parameter 2865867 2865890 - Identifier 2865867 2865880 - QuestionToken 2865880 2865881 - BooleanKeyword 2865882 2865890 - Parameter 2865891 2865910 - Identifier 2865891 2865901 - QuestionToken 2865901 2865902 - TypeReference 2865903 2865910 - Identifier 2865903 2865910 - UnionType 2865912 2865931 - TypeReference 2865912 2865919 - Identifier 2865912 2865919 - UndefinedKeyword 2865921 2865931 - Block 2865931 2867017 - IfStatement 2865933 2866512 - CallExpression 2865947 2865965 - Identifier 2865947 2865959 - Identifier 2865960 2865964 - Block 2865966 2866512 - VariableStatement 2865968 2866103 - VariableDeclarationList 2865968 2866102 - VariableDeclaration 2866031 2866102 - Identifier 2866031 2866039 - BinaryExpression 2866041 2866102 - BinaryExpression 2866041 2866082 - PropertyAccessExpression 2866041 2866058 - Identifier 2866041 2866053 - Identifier 2866054 2866058 - BarToken 2866058 2866060 - PropertyAccessExpression 2866060 2866082 - Identifier 2866060 2866072 - Identifier 2866073 2866082 - BarToken 2866082 2866084 - PropertyAccessExpression 2866084 2866102 - Identifier 2866084 2866096 - Identifier 2866097 2866102 - VariableStatement 2866103 2866237 - VariableDeclarationList 2866103 2866236 - VariableDeclaration 2866120 2866236 - Identifier 2866120 2866127 - CallExpression 2866129 2866236 - Identifier 2866129 2866147 - Identifier 2866148 2866152 - Identifier 2866153 2866161 - Identifier 2866162 2866175 - TrueKeyword 2866176 2866202 - CallExpression 2866203 2866235 - Identifier 2866203 2866229 - Identifier 2866230 2866234 - IfStatement 2866237 2866427 - BinaryExpression 2866255 2866297 - BinaryExpression 2866255 2866284 - PrefixUnaryExpression 2866255 2866262 - Identifier 2866256 2866262 - AmpersandAmpersandToken 2866262 2866265 - CallExpression 2866265 2866284 - Identifier 2866265 2866278 - Identifier 2866279 2866283 - AmpersandAmpersandToken 2866284 2866287 - Identifier 2866287 2866297 - Block 2866298 2866427 - ExpressionStatement 2866300 2866412 - BinaryExpression 2866300 2866411 - Identifier 2866300 2866324 - EqualsToken 2866324 2866326 - CallExpression 2866326 2866411 - Identifier 2866326 2866342 - CallExpression 2866343 2866410 - Identifier 2866343 2866352 - CallExpression 2866353 2866382 - Identifier 2866353 2866371 - Identifier 2866372 2866381 - PropertyAccessExpression 2866383 2866400 - Identifier 2866383 2866388 - Identifier 2866389 2866400 - Identifier 2866401 2866409 - IfStatement 2866427 2866501 - Identifier 2866445 2866451 - Block 2866452 2866501 - ReturnStatement 2866454 2866486 - Identifier 2866478 2866485 - VariableStatement 2866512 2866627 - VariableDeclarationList 2866512 2866626 - VariableDeclaration 2866527 2866626 - Identifier 2866527 2866532 - ConditionalExpression 2866534 2866626 - CallExpression 2866534 2866553 - Identifier 2866534 2866547 - Identifier 2866548 2866552 - QuestionToken 2866553 2866555 - Identifier 2866555 2866565 - ColonToken 2866565 2866567 - CallExpression 2866567 2866626 - Identifier 2866567 2866590 - PropertyAccessExpression 2866591 2866600 - Identifier 2866591 2866595 - Identifier 2866596 2866600 - Identifier 2866601 2866614 - Identifier 2866615 2866625 - VariableStatement 2866627 2866714 - VariableDeclarationList 2866627 2866713 - VariableDeclaration 2866642 2866713 - Identifier 2866642 2866648 - ConditionalExpression 2866650 2866713 - CallExpression 2866650 2866669 - Identifier 2866650 2866663 - Identifier 2866664 2866668 - QuestionToken 2866669 2866671 - PropertyAccessExpression 2866671 2866688 - Identifier 2866671 2866676 - Identifier 2866677 2866688 - ColonToken 2866688 2866690 - PropertyAccessExpression 2866690 2866713 - PropertyAccessExpression 2866690 2866701 - Identifier 2866690 2866695 - Identifier 2866696 2866701 - Identifier 2866702 2866713 - IfStatement 2866714 2867010 - Identifier 2866728 2866732 - Block 2866733 2867010 - VariableStatement 2866735 2866863 - VariableDeclarationList 2866735 2866862 - VariableDeclaration 2866754 2866862 - Identifier 2866754 2866760 - BinaryExpression 2866762 2866862 - BinaryExpression 2866762 2866793 - PropertyAccessExpression 2866762 2866773 - Identifier 2866762 2866767 - Identifier 2866768 2866773 - AmpersandToken 2866773 2866775 - PropertyAccessExpression 2866775 2866793 - Identifier 2866775 2866787 - Identifier 2866788 2866793 - AmpersandAmpersandToken 2866793 2866796 - CallExpression 2866796 2866862 - Identifier 2866796 2866814 - CallExpression 2866815 2866836 - Identifier 2866815 2866830 - Identifier 2866831 2866835 - AsExpression 2866837 2866861 - StringLiteral 2866837 2866849 - TypeReference 2866852 2866861 - Identifier 2866852 2866861 - VariableStatement 2866863 2866950 - VariableDeclarationList 2866863 2866949 - VariableDeclaration 2866882 2866949 - Identifier 2866882 2866884 - ConditionalExpression 2866886 2866949 - Identifier 2866886 2866892 - QuestionToken 2866892 2866894 - CallExpression 2866894 2866917 - Identifier 2866894 2866910 - Identifier 2866911 2866916 - ColonToken 2866917 2866919 - CallExpression 2866919 2866949 - Identifier 2866919 2866943 - Identifier 2866944 2866948 - ReturnStatement 2866950 2866999 - CallExpression 2866970 2866998 - Identifier 2866970 2866988 - Identifier 2866989 2866990 - Identifier 2866991 2866997 - FunctionDeclaration 2867017 2875645 - Identifier 2867033 2867053 - Parameter 2867054 2867064 - Identifier 2867054 2867058 - TypeReference 2867059 2867064 - Identifier 2867059 2867064 - Parameter 2867065 2867088 - Identifier 2867065 2867078 - QuestionToken 2867078 2867079 - BooleanKeyword 2867080 2867088 - UnionType 2867090 2867109 - TypeReference 2867090 2867097 - Identifier 2867090 2867097 - UndefinedKeyword 2867099 2867109 - Block 2867109 2875645 - IfStatement 2867111 2867244 - CallExpression 2867125 2867143 - Identifier 2867125 2867137 - Identifier 2867138 2867142 - Block 2867144 2867244 - ReturnStatement 2867146 2867233 - ConditionalExpression 2867166 2867232 - CallExpression 2867166 2867189 - Identifier 2867166 2867183 - Identifier 2867184 2867188 - QuestionToken 2867189 2867191 - CallExpression 2867191 2867220 - Identifier 2867191 2867207 - PropertyAccessExpression 2867208 2867219 - Identifier 2867208 2867212 - Identifier 2867213 2867219 - ColonToken 2867220 2867222 - Identifier 2867222 2867232 - VariableStatement 2867244 2867278 - VariableDeclarationList 2867244 2867277 - VariableDeclaration 2867259 2867277 - ObjectBindingPattern 2867259 2867270 - BindingElement 2867261 2867268 - Identifier 2867261 2867268 - Identifier 2867272 2867277 - VariableStatement 2867278 2867322 - VariableDeclarationList 2867278 2867321 - VariableDeclaration 2867293 2867321 - Identifier 2867293 2867305 - PropertyAccessExpression 2867307 2867321 - Identifier 2867307 2867314 - Identifier 2867315 2867321 - IfStatement 2867322 2867521 - BinaryExpression 2867338 2867376 - PropertyAccessExpression 2867338 2867348 - Identifier 2867338 2867342 - Identifier 2867343 2867348 - AmpersandToken 2867348 2867350 - PropertyAccessExpression 2867350 2867376 - Identifier 2867350 2867360 - Identifier 2867361 2867376 - Block 2867377 2867521 - ReturnStatement 2867379 2867510 - Identifier 2867499 2867509 - IfStatement 2867521 2868076 - CallExpression 2867537 2867580 - Identifier 2867537 2867574 - Identifier 2867575 2867579 - Block 2867581 2867923 - VariableStatement 2867583 2867724 - VariableDeclarationList 2867583 2867723 - VariableDeclaration 2867662 2867723 - Identifier 2867662 2867675 - CallExpression 2867677 2867723 - Identifier 2867677 2867700 - AsExpression 2867701 2867722 - Identifier 2867701 2867707 - TypeReference 2867710 2867722 - Identifier 2867710 2867722 - ReturnStatement 2867724 2867912 - ConditionalExpression 2867744 2867911 - BinaryExpression 2867744 2867820 - CallExpression 2867744 2867783 - Identifier 2867744 2867770 - PropertyAccessExpression 2867771 2867782 - Identifier 2867771 2867775 - Identifier 2867776 2867782 - AmpersandAmpersandToken 2867783 2867786 - BinaryExpression 2867786 2867820 - PropertyAccessExpression 2867786 2867811 - PropertyAccessExpression 2867786 2867798 - Identifier 2867786 2867791 - Identifier 2867792 2867798 - Identifier 2867799 2867811 - EqualsEqualsEqualsToken 2867811 2867815 - Identifier 2867815 2867820 - QuestionToken 2867820 2867839 - CallExpression 2867839 2867879 - Identifier 2867839 2867865 - Identifier 2867866 2867878 - ColonToken 2867879 2867898 - Identifier 2867898 2867911 - IfStatement 2867937 2868076 - CallExpression 2867942 2867988 - Identifier 2867942 2867982 - Identifier 2867983 2867987 - Block 2867989 2868076 - ReturnStatement 2867991 2868065 - CallExpression 2868011 2868064 - Identifier 2868011 2868034 - AsExpression 2868035 2868063 - PropertyAccessExpression 2868035 2868048 - Identifier 2868035 2868041 - Identifier 2868042 2868048 - TypeReference 2868051 2868063 - Identifier 2868051 2868063 - IfStatement 2868076 2869989 - BinaryExpression 2868092 2868127 - PropertyAccessExpression 2868092 2868101 - Identifier 2868092 2868096 - Identifier 2868097 2868101 - EqualsEqualsEqualsToken 2868101 2868105 - PropertyAccessExpression 2868105 2868127 - Identifier 2868105 2868116 - Identifier 2868117 2868127 - Block 2868128 2869989 - IfStatement 2868130 2869978 - CallExpression 2868148 2868207 - Identifier 2868148 2868187 - AsExpression 2868188 2868206 - Identifier 2868188 2868192 - TypeReference 2868195 2868206 - Identifier 2868195 2868206 - Block 2868208 2868312 - ReturnStatement 2868210 2868297 - CallExpression 2868234 2868296 - Identifier 2868234 2868276 - AsExpression 2868277 2868295 - Identifier 2868277 2868281 - TypeReference 2868284 2868295 - Identifier 2868284 2868295 - IfStatement 2868330 2869978 - BinaryExpression 2868335 2868536 - BinaryExpression 2868335 2868467 - BinaryExpression 2868335 2868394 - PropertyAccessExpression 2868335 2868364 - Identifier 2868335 2868359 - Identifier 2868360 2868364 - EqualsEqualsEqualsToken 2868364 2868368 - PropertyAccessExpression 2868368 2868394 - Identifier 2868368 2868379 - Identifier 2868380 2868394 - AmpersandAmpersandToken 2868394 2868397 - BinaryExpression 2868397 2868467 - PropertyAccessExpression 2868397 2868431 - Identifier 2868397 2868426 - Identifier 2868427 2868431 - EqualsEqualsEqualsToken 2868431 2868435 - PropertyAccessExpression 2868435 2868467 - Identifier 2868435 2868446 - Identifier 2868447 2868467 - AmpersandAmpersandToken 2868467 2868470 - BinaryExpression 2868470 2868536 - Identifier 2868470 2868492 - EqualsEqualsEqualsToken 2868492 2868496 - PropertyAccessExpression 2868496 2868536 - ParenthesizedExpression 2868496 2868523 - AsExpression 2868498 2868522 - Identifier 2868498 2868504 - TypeReference 2868507 2868522 - Identifier 2868507 2868522 - Identifier 2868524 2868536 - Block 2868551 2868862 - VariableStatement 2868553 2868620 - VariableDeclarationList 2868553 2868619 - VariableDeclaration 2868576 2868619 - Identifier 2868576 2868590 - CallExpression 2868592 2868619 - Identifier 2868592 2868606 - Identifier 2868607 2868618 - VariableStatement 2868620 2868733 - VariableDeclarationList 2868620 2868732 - VariableDeclaration 2868643 2868732 - Identifier 2868643 2868663 - CallExpression 2868665 2868732 - Identifier 2868665 2868683 - Identifier 2868684 2868697 - PropertyAccessExpression 2868698 2868731 - ParenthesizedExpression 2868698 2868719 - AsExpression 2868700 2868718 - Identifier 2868700 2868704 - TypeReference 2868707 2868718 - Identifier 2868707 2868718 - Identifier 2868720 2868731 - IfStatement 2868733 2868847 - Identifier 2868757 2868776 - Block 2868777 2868847 - ReturnStatement 2868779 2868828 - Identifier 2868807 2868827 - IfStatement 2868880 2869978 - BinaryExpression 2868885 2868931 - CallExpression 2868885 2868907 - Identifier 2868885 2868899 - Identifier 2868900 2868906 - AmpersandAmpersandToken 2868907 2868910 - BinaryExpression 2868910 2868931 - PropertyAccessExpression 2868910 2868922 - Identifier 2868910 2868917 - Identifier 2868918 2868922 - EqualsEqualsEqualsToken 2868922 2868926 - Identifier 2868926 2868931 - Block 2868932 2869978 - IfStatement 2868934 2869186 - BinaryExpression 2868956 2869044 - BinaryExpression 2868956 2869001 - PropertyAccessExpression 2868956 2868975 - Identifier 2868956 2868962 - Identifier 2868963 2868975 - EqualsEqualsEqualsToken 2868975 2868979 - PropertyAccessExpression 2868979 2869001 - Identifier 2868979 2868990 - Identifier 2868991 2869001 - AmpersandAmpersandToken 2869001 2869004 - BinaryExpression 2869004 2869044 - CallExpression 2869004 2869031 - Identifier 2869004 2869011 - AsExpression 2869012 2869030 - Identifier 2869012 2869016 - TypeReference 2869019 2869030 - Identifier 2869019 2869030 - EqualsEqualsEqualsToken 2869031 2869035 - StringLiteral 2869035 2869044 - Block 2869045 2869186 - ReturnStatement 2869047 2869167 - PropertyAccessExpression 2869124 2869166 - CallExpression 2869124 2869159 - Identifier 2869124 2869151 - Identifier 2869152 2869158 - Identifier 2869160 2869166 - IfStatement 2869186 2869830 - BinaryExpression 2869621 2869710 - BinaryExpression 2869621 2869669 - PropertyAccessExpression 2869621 2869640 - Identifier 2869621 2869627 - Identifier 2869628 2869640 - EqualsEqualsEqualsToken 2869640 2869644 - PropertyAccessExpression 2869644 2869669 - Identifier 2869644 2869655 - Identifier 2869656 2869669 - AmpersandAmpersandToken 2869669 2869672 - BinaryExpression 2869672 2869710 - CallExpression 2869672 2869699 - Identifier 2869672 2869679 - AsExpression 2869680 2869698 - Identifier 2869680 2869684 - TypeReference 2869687 2869698 - Identifier 2869687 2869698 - EqualsEqualsEqualsToken 2869699 2869703 - StringLiteral 2869703 2869710 - Block 2869711 2869830 - ReturnStatement 2869713 2869811 - CallExpression 2869741 2869810 - PropertyAccessExpression 2869741 2869790 - NonNullExpression 2869741 2869786 - PropertyAccessExpression 2869741 2869785 - CallExpression 2869741 2869777 - Identifier 2869741 2869775 - Identifier 2869778 2869785 - Identifier 2869787 2869790 - AsExpression 2869791 2869809 - StringLiteral 2869791 2869797 - TypeReference 2869800 2869809 - Identifier 2869800 2869809 - ReturnStatement 2869830 2869963 - Identifier 2869952 2869962 - SwitchStatement 2869989 2875638 - PropertyAccessExpression 2870009 2870018 - Identifier 2870009 2870013 - Identifier 2870014 2870018 - CaseBlock 2870019 2875638 - CaseClause 2870021 2870062 - PropertyAccessExpression 2870039 2870061 - Identifier 2870039 2870050 - Identifier 2870051 2870061 - CaseClause 2870062 2870110 - PropertyAccessExpression 2870080 2870109 - Identifier 2870080 2870091 - Identifier 2870092 2870109 - CaseClause 2870110 2870165 - PropertyAccessExpression 2870128 2870164 - Identifier 2870128 2870139 - Identifier 2870140 2870164 - CaseClause 2870165 2870415 - PropertyAccessExpression 2870183 2870208 - Identifier 2870183 2870194 - Identifier 2870195 2870208 - IfStatement 2870209 2870415 - PrefixUnaryExpression 2870231 2870255 - CallExpression 2870232 2870255 - Identifier 2870232 2870249 - Identifier 2870250 2870254 - Block 2870256 2870415 - ReturnStatement 2870258 2870396 - CallExpression 2870286 2870395 - Identifier 2870286 2870328 - AsExpression 2870329 2870394 - Identifier 2870329 2870333 - UnionType 2870336 2870394 - TypeReference 2870336 2870347 - Identifier 2870336 2870347 - TypeReference 2870349 2870367 - Identifier 2870349 2870367 - TypeReference 2870369 2870394 - Identifier 2870369 2870394 - CaseClause 2870415 2871034 - PropertyAccessExpression 2870469 2870492 - Identifier 2870469 2870480 - Identifier 2870481 2870492 - VariableStatement 2870493 2870629 - VariableDeclarationList 2870493 2870628 - VariableDeclaration 2870516 2870628 - Identifier 2870516 2870526 - CallExpression 2870528 2870628 - Identifier 2870528 2870545 - Identifier 2870546 2870550 - FalseKeyword 2870551 2870583 - FalseKeyword 2870584 2870627 - IfStatement 2870629 2870891 - CallExpression 2870651 2870676 - Identifier 2870651 2870665 - Identifier 2870666 2870675 - Block 2870677 2870891 - VariableStatement 2870679 2870752 - VariableDeclarationList 2870679 2870751 - VariableDeclaration 2870706 2870751 - Identifier 2870706 2870710 - CallExpression 2870712 2870751 - Identifier 2870712 2870740 - Identifier 2870741 2870750 - IfStatement 2870752 2870872 - PropertyAccessExpression 2870778 2870795 - Identifier 2870778 2870781 - Identifier 2870782 2870795 - Block 2870796 2870872 - ReturnStatement 2870798 2870849 - PropertyAccessExpression 2870830 2870848 - Identifier 2870830 2870834 - Identifier 2870835 2870848 - IfStatement 2870891 2871034 - CallExpression 2870913 2870940 - Identifier 2870913 2870934 - Identifier 2870935 2870939 - Block 2870941 2871034 - ReturnStatement 2870943 2871015 - PropertyAccessExpression 2870971 2871014 - CallExpression 2870971 2871007 - Identifier 2870971 2870987 - AsExpression 2870988 2871006 - Identifier 2870988 2870992 - TypeReference 2870995 2871006 - Identifier 2870995 2871006 - Identifier 2871008 2871014 - CaseClause 2871034 2871204 - PropertyAccessExpression 2871088 2871108 - Identifier 2871088 2871099 - Identifier 2871100 2871108 - ReturnStatement 2871109 2871204 - PropertyAccessExpression 2871133 2871203 - CallExpression 2871133 2871196 - Identifier 2871133 2871157 - AsExpression 2871158 2871195 - Identifier 2871158 2871162 - UnionType 2871165 2871195 - TypeReference 2871165 2871180 - Identifier 2871165 2871180 - TypeReference 2871182 2871195 - Identifier 2871182 2871195 - Identifier 2871197 2871203 - CaseClause 2871204 2871317 - PropertyAccessExpression 2871224 2871248 - Identifier 2871224 2871235 - Identifier 2871236 2871248 - ReturnStatement 2871249 2871317 - PropertyAccessExpression 2871273 2871316 - CallExpression 2871273 2871309 - Identifier 2871273 2871289 - AsExpression 2871290 2871308 - Identifier 2871290 2871294 - TypeReference 2871297 2871308 - Identifier 2871297 2871308 - Identifier 2871310 2871316 - CaseClause 2871317 2871778 - PropertyAccessExpression 2871337 2871367 - Identifier 2871337 2871348 - Identifier 2871349 2871367 - VariableStatement 2871368 2871531 - VariableDeclarationList 2871368 2871530 - VariableDeclaration 2871493 2871530 - Identifier 2871493 2871516 - PropertyAccessExpression 2871518 2871530 - Identifier 2871518 2871523 - Identifier 2871524 2871530 - IfStatement 2871531 2871743 - BinaryExpression 2871553 2871633 - Identifier 2871553 2871575 - AmpersandAmpersandToken 2871575 2871578 - BinaryExpression 2871578 2871633 - PropertyAccessExpression 2871578 2871606 - Identifier 2871578 2871601 - Identifier 2871602 2871606 - EqualsEqualsEqualsToken 2871606 2871610 - PropertyAccessExpression 2871610 2871633 - Identifier 2871610 2871621 - Identifier 2871622 2871633 - Block 2871634 2871743 - ReturnStatement 2871636 2871724 - PropertyAccessExpression 2871664 2871723 - ParenthesizedExpression 2871664 2871716 - AsExpression 2871666 2871715 - PropertyAccessExpression 2871666 2871695 - Identifier 2871666 2871688 - Identifier 2871689 2871695 - TypeReference 2871698 2871715 - Identifier 2871698 2871715 - Identifier 2871717 2871723 - ReturnStatement 2871743 2871778 - Identifier 2871767 2871777 - CaseClause 2871778 2871824 - PropertyAccessExpression 2871798 2871823 - Identifier 2871798 2871809 - Identifier 2871810 2871823 - CaseClause 2871824 2873315 - PropertyAccessExpression 2871842 2871883 - Identifier 2871842 2871853 - Identifier 2871854 2871883 - IfStatement 2871884 2873109 - BinaryExpression 2872192 2872967 - BinaryExpression 2872192 2872816 - BinaryExpression 2872192 2872668 - BinaryExpression 2872192 2872552 - ParenthesizedExpression 2872192 2872358 - BinaryExpression 2872215 2872357 - CallExpression 2872215 2872274 - Identifier 2872215 2872254 - PropertyAccessExpression 2872255 2872273 - PropertyAccessExpression 2872255 2872266 - Identifier 2872255 2872259 - Identifier 2872260 2872266 - Identifier 2872267 2872273 - AmpersandAmpersandToken 2872274 2872277 - BinaryExpression 2872277 2872357 - CallExpression 2872277 2872348 - Identifier 2872277 2872328 - PropertyAccessExpression 2872329 2872347 - PropertyAccessExpression 2872329 2872340 - Identifier 2872329 2872333 - Identifier 2872334 2872340 - Identifier 2872341 2872347 - EqualsEqualsEqualsToken 2872348 2872352 - Identifier 2872352 2872357 - BarBarToken 2872358 2872361 - ParenthesizedExpression 2872361 2872552 - BinaryExpression 2872384 2872551 - ParenthesizedExpression 2872384 2872488 - BinaryExpression 2872385 2872487 - BinaryExpression 2872385 2872434 - PropertyAccessExpression 2872385 2872401 - PropertyAccessExpression 2872385 2872396 - Identifier 2872385 2872389 - Identifier 2872390 2872396 - Identifier 2872397 2872401 - EqualsEqualsEqualsToken 2872401 2872405 - PropertyAccessExpression 2872405 2872434 - Identifier 2872405 2872416 - Identifier 2872417 2872434 - BarBarToken 2872434 2872437 - BinaryExpression 2872437 2872487 - PropertyAccessExpression 2872437 2872454 - PropertyAccessExpression 2872437 2872449 - Identifier 2872437 2872442 - Identifier 2872443 2872449 - Identifier 2872450 2872454 - EqualsEqualsEqualsToken 2872454 2872458 - PropertyAccessExpression 2872458 2872487 - Identifier 2872458 2872469 - Identifier 2872470 2872487 - AmpersandAmpersandToken 2872488 2872491 - BinaryExpression 2872491 2872551 - PropertyAccessExpression 2872491 2872542 - ParenthesizedExpression 2872491 2872526 - AsExpression 2872493 2872525 - PropertyAccessExpression 2872493 2872504 - Identifier 2872493 2872497 - Identifier 2872498 2872504 - TypeReference 2872507 2872525 - Identifier 2872507 2872525 - Identifier 2872527 2872542 - EqualsEqualsEqualsToken 2872542 2872546 - Identifier 2872546 2872551 - BarBarToken 2872552 2872555 - ParenthesizedExpression 2872555 2872668 - BinaryExpression 2872578 2872667 - BinaryExpression 2872578 2872627 - CallExpression 2872578 2872594 - Identifier 2872578 2872588 - Identifier 2872589 2872593 - AmpersandAmpersandToken 2872594 2872597 - CallExpression 2872597 2872627 - Identifier 2872597 2872614 - PropertyAccessExpression 2872615 2872626 - Identifier 2872615 2872619 - Identifier 2872620 2872626 - AmpersandAmpersandToken 2872627 2872630 - BinaryExpression 2872630 2872667 - PropertyAccessExpression 2872630 2872658 - PropertyAccessExpression 2872630 2872642 - Identifier 2872630 2872635 - Identifier 2872636 2872642 - Identifier 2872643 2872658 - EqualsEqualsEqualsToken 2872658 2872662 - Identifier 2872662 2872667 - BarBarToken 2872668 2872671 - ParenthesizedExpression 2872671 2872816 - BinaryExpression 2872694 2872815 - ParenthesizedExpression 2872694 2872786 - BinaryExpression 2872695 2872785 - CallExpression 2872695 2872711 - Identifier 2872695 2872705 - Identifier 2872706 2872710 - AmpersandAmpersandToken 2872711 2872714 - CallExpression 2872714 2872785 - Identifier 2872714 2872728 - PropertyAccessExpression 2872729 2872740 - Identifier 2872729 2872733 - Identifier 2872734 2872740 - FalseKeyword 2872741 2872784 - BarBarToken 2872786 2872789 - CallExpression 2872789 2872815 - Identifier 2872789 2872802 - PropertyAccessExpression 2872803 2872814 - Identifier 2872803 2872807 - Identifier 2872808 2872814 - BarBarToken 2872816 2872819 - ParenthesizedExpression 2872819 2872967 - BinaryExpression 2872842 2872966 - BinaryExpression 2872842 2872919 - CallExpression 2872842 2872872 - Identifier 2872842 2872859 - PropertyAccessExpression 2872860 2872871 - Identifier 2872860 2872864 - Identifier 2872865 2872871 - AmpersandAmpersandToken 2872872 2872875 - CallExpression 2872875 2872919 - Identifier 2872875 2872899 - PropertyAccessExpression 2872900 2872918 - PropertyAccessExpression 2872900 2872911 - Identifier 2872900 2872904 - Identifier 2872905 2872911 - Identifier 2872912 2872918 - AmpersandAmpersandToken 2872919 2872922 - BinaryExpression 2872922 2872966 - PropertyAccessExpression 2872922 2872950 - PropertyAccessExpression 2872922 2872941 - PropertyAccessExpression 2872922 2872934 - Identifier 2872922 2872927 - Identifier 2872928 2872934 - Identifier 2872935 2872941 - Identifier 2872942 2872950 - EqualsEqualsEqualsToken 2872950 2872954 - PropertyAccessExpression 2872954 2872966 - Identifier 2872954 2872959 - Identifier 2872960 2872966 - Block 2872986 2873109 - ReturnStatement 2872988 2873090 - CallExpression 2873016 2873089 - Identifier 2873016 2873042 - Identifier 2873043 2873047 - AsExpression 2873048 2873074 - Identifier 2873048 2873053 - TypeReference 2873056 2873074 - Identifier 2873056 2873074 - Identifier 2873075 2873088 - IfStatement 2873109 2873315 - BinaryExpression 2873131 2873233 - BinaryExpression 2873131 2873201 - CallExpression 2873131 2873155 - Identifier 2873131 2873147 - Identifier 2873148 2873154 - AmpersandAmpersandToken 2873155 2873158 - CallExpression 2873158 2873201 - Identifier 2873158 2873193 - Identifier 2873194 2873200 - AmpersandAmpersandToken 2873201 2873204 - BinaryExpression 2873204 2873233 - ElementAccessExpression 2873204 2873224 - PropertyAccessExpression 2873204 2873221 - Identifier 2873204 2873211 - Identifier 2873212 2873221 - NumericLiteral 2873222 2873223 - EqualsEqualsEqualsToken 2873224 2873228 - Identifier 2873228 2873233 - Block 2873234 2873315 - ReturnStatement 2873236 2873296 - CallExpression 2873264 2873295 - Identifier 2873264 2873287 - Identifier 2873288 2873294 - CaseClause 2873315 2873942 - PropertyAccessExpression 2873369 2873395 - Identifier 2873369 2873380 - Identifier 2873381 2873395 - VariableStatement 2873396 2873800 - VariableDeclarationList 2873396 2873799 - VariableDeclaration 2873452 2873799 - Identifier 2873452 2873463 - ConditionalExpression 2873465 2873799 - CallExpression 2873465 2873499 - Identifier 2873465 2873491 - Identifier 2873492 2873498 - QuestionToken 2873499 2873522 - ConditionalExpression 2873522 2873610 - BinaryExpression 2873522 2873557 - PropertyAccessExpression 2873522 2873548 - Identifier 2873522 2873529 - Identifier 2873530 2873548 - EqualsEqualsEqualsToken 2873548 2873552 - Identifier 2873552 2873557 - QuestionToken 2873557 2873559 - CallExpression 2873559 2873598 - Identifier 2873559 2873579 - PropertyAccessExpression 2873580 2873597 - Identifier 2873580 2873586 - Identifier 2873587 2873597 - ColonToken 2873598 2873600 - Identifier 2873600 2873610 - ColonToken 2873610 2873633 - ConditionalExpression 2873633 2873799 - BinaryExpression 2873633 2873699 - CallExpression 2873633 2873659 - Identifier 2873633 2873651 - Identifier 2873652 2873658 - AmpersandAmpersandToken 2873659 2873662 - CallExpression 2873662 2873699 - Identifier 2873662 2873686 - Identifier 2873687 2873698 - QuestionToken 2873699 2873722 - CallExpression 2873722 2873766 - Identifier 2873722 2873742 - PropertyAccessExpression 2873743 2873765 - Identifier 2873743 2873754 - Identifier 2873755 2873765 - ColonToken 2873766 2873789 - Identifier 2873789 2873799 - ReturnStatement 2873800 2873942 - BinaryExpression 2873824 2873941 - Identifier 2873824 2873835 - AmpersandAmpersandToken 2873835 2873838 - CallExpression 2873838 2873941 - Identifier 2873838 2873856 - Identifier 2873857 2873867 - CallExpression 2873868 2873940 - Identifier 2873868 2873893 - PropertyAccessExpression 2873894 2873939 - ParenthesizedExpression 2873894 2873934 - AsExpression 2873895 2873933 - Identifier 2873895 2873899 - UnionType 2873902 2873933 - TypeReference 2873902 2873916 - Identifier 2873902 2873916 - TypeReference 2873918 2873933 - Identifier 2873918 2873933 - Identifier 2873935 2873939 - CaseClause 2873942 2873989 - PropertyAccessExpression 2873962 2873988 - Identifier 2873962 2873973 - Identifier 2873974 2873988 - CaseClause 2873989 2874035 - PropertyAccessExpression 2874007 2874034 - Identifier 2874007 2874018 - Identifier 2874019 2874034 - CaseClause 2874035 2874088 - PropertyAccessExpression 2874053 2874087 - Identifier 2874053 2874064 - Identifier 2874065 2874087 - CaseClause 2874088 2874185 - PropertyAccessExpression 2874106 2874130 - Identifier 2874106 2874117 - Identifier 2874118 2874130 - ReturnStatement 2874131 2874185 - CallExpression 2874155 2874184 - Identifier 2874155 2874171 - PropertyAccessExpression 2874172 2874183 - Identifier 2874172 2874176 - Identifier 2874177 2874183 - CaseClause 2874185 2874352 - PropertyAccessExpression 2874203 2874225 - Identifier 2874203 2874214 - Identifier 2874215 2874225 - ReturnStatement 2874226 2874352 - ConditionalExpression 2874250 2874351 - CallExpression 2874250 2874280 - Identifier 2874250 2874274 - Identifier 2874275 2874279 - QuestionToken 2874280 2874282 - CallExpression 2874282 2874339 - Identifier 2874282 2874302 - PropertyAccessExpression 2874303 2874324 - PropertyAccessExpression 2874303 2874316 - Identifier 2874303 2874307 - Identifier 2874308 2874316 - Identifier 2874317 2874324 - Identifier 2874325 2874338 - ColonToken 2874339 2874341 - Identifier 2874341 2874351 - CaseClause 2874352 2874508 - PropertyAccessExpression 2874372 2874397 - Identifier 2874372 2874383 - Identifier 2874384 2874397 - ReturnStatement 2874398 2874508 - ConditionalExpression 2874422 2874507 - CallExpression 2874422 2874454 - Identifier 2874422 2874441 - PropertyAccessExpression 2874442 2874453 - Identifier 2874442 2874446 - Identifier 2874447 2874453 - QuestionToken 2874454 2874456 - CallExpression 2874456 2874495 - PropertyAccessExpression 2874456 2874475 - Identifier 2874456 2874462 - Identifier 2874463 2874475 - PropertyAccessExpression 2874476 2874494 - PropertyAccessExpression 2874476 2874487 - Identifier 2874476 2874480 - Identifier 2874481 2874487 - Identifier 2874488 2874494 - ColonToken 2874495 2874497 - Identifier 2874497 2874507 - CaseClause 2874508 2874554 - PropertyAccessExpression 2874528 2874553 - Identifier 2874528 2874539 - Identifier 2874540 2874553 - CaseClause 2874554 2874707 - PropertyAccessExpression 2874572 2874594 - Identifier 2874572 2874583 - Identifier 2874584 2874594 - ReturnStatement 2874595 2874707 - ConditionalExpression 2874619 2874706 - CallExpression 2874619 2874647 - Identifier 2874619 2874634 - PropertyAccessExpression 2874635 2874646 - Identifier 2874635 2874639 - Identifier 2874640 2874646 - QuestionToken 2874647 2874649 - PropertyAccessExpression 2874649 2874694 - CallExpression 2874649 2874687 - Identifier 2874649 2874674 - PropertyAccessExpression 2874675 2874686 - Identifier 2874675 2874679 - Identifier 2874680 2874686 - Identifier 2874688 2874694 - ColonToken 2874694 2874696 - Identifier 2874696 2874706 - CaseClause 2874707 2875110 - PropertyAccessExpression 2874725 2874754 - Identifier 2874725 2874736 - Identifier 2874737 2874754 - IfStatement 2874755 2875075 - CallExpression 2874777 2874808 - Identifier 2874777 2874795 - PropertyAccessExpression 2874796 2874807 - Identifier 2874796 2874800 - Identifier 2874801 2874807 - Block 2874809 2875075 - VariableStatement 2874811 2874885 - VariableDeclarationList 2874811 2874884 - VariableDeclaration 2874838 2874884 - Identifier 2874838 2874843 - CallExpression 2874845 2874884 - Identifier 2874845 2874865 - PropertyAccessExpression 2874866 2874883 - PropertyAccessExpression 2874866 2874877 - Identifier 2874866 2874870 - Identifier 2874871 2874877 - Identifier 2874878 2874883 - VariableStatement 2874885 2874982 - VariableDeclarationList 2874885 2874981 - VariableDeclaration 2874912 2874981 - Identifier 2874912 2874934 - CallExpression 2874936 2874981 - Identifier 2874936 2874975 - Identifier 2874976 2874980 - ReturnStatement 2874982 2875056 - BinaryExpression 2875010 2875055 - PropertyAccessExpression 2875010 2875040 - Identifier 2875010 2875032 - QuestionDotToken 2875032 2875034 - Identifier 2875034 2875040 - QuestionQuestionToken 2875040 2875043 - PropertyAccessExpression 2875043 2875055 - Identifier 2875043 2875048 - Identifier 2875049 2875055 - ReturnStatement 2875075 2875110 - Identifier 2875099 2875109 - CaseClause 2875110 2875221 - PropertyAccessExpression 2875128 2875152 - Identifier 2875128 2875139 - Identifier 2875140 2875152 - ReturnStatement 2875153 2875221 - PropertyAccessExpression 2875177 2875220 - CallExpression 2875177 2875213 - Identifier 2875177 2875193 - AsExpression 2875194 2875212 - Identifier 2875194 2875198 - TypeReference 2875201 2875212 - Identifier 2875201 2875212 - Identifier 2875214 2875220 - CaseClause 2875221 2875534 - PropertyAccessExpression 2875239 2875268 - Identifier 2875239 2875250 - Identifier 2875251 2875268 - IfStatement 2875269 2875534 - BinaryExpression 2875291 2875340 - CallExpression 2875291 2875309 - Identifier 2875291 2875303 - Identifier 2875304 2875308 - AmpersandAmpersandToken 2875309 2875312 - CallExpression 2875312 2875340 - Identifier 2875312 2875334 - Identifier 2875335 2875339 - Block 2875341 2875534 - VariableStatement 2875343 2875440 - VariableDeclarationList 2875343 2875439 - VariableDeclaration 2875370 2875439 - Identifier 2875370 2875377 - CallExpression 2875379 2875439 - Identifier 2875379 2875401 - AsExpression 2875402 2875438 - PropertyAccessExpression 2875402 2875413 - Identifier 2875402 2875406 - Identifier 2875407 2875413 - TypeReference 2875416 2875438 - Identifier 2875416 2875438 - ReturnStatement 2875440 2875515 - ConditionalExpression 2875468 2875514 - BinaryExpression 2875468 2875493 - Identifier 2875468 2875475 - EqualsEqualsEqualsToken 2875475 2875479 - Identifier 2875479 2875493 - QuestionToken 2875493 2875495 - Identifier 2875495 2875505 - ColonToken 2875505 2875507 - Identifier 2875507 2875514 - DefaultClause 2875534 2875627 - ReturnStatement 2875592 2875627 - Identifier 2875616 2875626 - FunctionDeclaration 2875645 2876280 - Identifier 2875661 2875685 - Parameter 2875686 2875696 - Identifier 2875686 2875690 - TypeReference 2875691 2875696 - Identifier 2875691 2875696 - UnionType 2875698 2875731 - TypeOperator 2875698 2875719 - ArrayType 2875707 2875719 - TypeReference 2875707 2875717 - Identifier 2875707 2875717 - UndefinedKeyword 2875721 2875731 - Block 2875731 2876280 - IfStatement 2875733 2876246 - BinaryExpression 2875747 2875837 - BinaryExpression 2875747 2875808 - CallExpression 2875747 2875765 - Identifier 2875747 2875759 - Identifier 2875760 2875764 - AmpersandAmpersandToken 2875765 2875768 - CallExpression 2875768 2875808 - Identifier 2875768 2875795 - PropertyAccessExpression 2875796 2875807 - Identifier 2875796 2875800 - Identifier 2875801 2875807 - AmpersandAmpersandToken 2875808 2875811 - BinaryExpression 2875811 2875837 - PropertyAccessExpression 2875811 2875828 - PropertyAccessExpression 2875811 2875823 - Identifier 2875811 2875816 - Identifier 2875817 2875823 - Identifier 2875824 2875828 - EqualsEqualsEqualsToken 2875828 2875832 - Identifier 2875832 2875837 - Block 2875838 2876246 - VariableStatement 2875840 2875907 - VariableDeclarationList 2875840 2875906 - VariableDeclaration 2875859 2875906 - Identifier 2875859 2875867 - CallExpression 2875869 2875906 - Identifier 2875869 2875900 - Identifier 2875901 2875905 - VariableStatement 2875907 2875984 - VariableDeclarationList 2875907 2875983 - VariableDeclaration 2875926 2875983 - Identifier 2875926 2875937 - CallExpression 2875939 2875983 - Identifier 2875939 2875959 - PropertyAccessExpression 2875960 2875982 - PropertyAccessExpression 2875960 2875971 - Identifier 2875960 2875964 - Identifier 2875965 2875971 - Identifier 2875972 2875982 - VariableStatement 2875984 2876102 - VariableDeclarationList 2875984 2876101 - VariableDeclaration 2876003 2876101 - Identifier 2876003 2876015 - ConditionalExpression 2876017 2876101 - BinaryExpression 2876017 2876052 - PropertyAccessExpression 2876017 2876034 - Identifier 2876017 2876028 - Identifier 2876029 2876034 - AmpersandToken 2876034 2876036 - PropertyAccessExpression 2876036 2876052 - Identifier 2876036 2876046 - Identifier 2876047 2876052 - QuestionToken 2876052 2876054 - PropertyAccessExpression 2876054 2876086 - ParenthesizedExpression 2876054 2876080 - AsExpression 2876056 2876079 - Identifier 2876056 2876066 - TypeReference 2876069 2876079 - Identifier 2876069 2876079 - Identifier 2876081 2876086 - ColonToken 2876086 2876088 - ArrayLiteralExpression 2876088 2876101 - Identifier 2876090 2876100 - ReturnStatement 2876102 2876235 - CallExpression 2876122 2876234 - Identifier 2876122 2876130 - Identifier 2876131 2876142 - ArrowFunction 2876143 2876233 - Parameter 2876143 2876145 - Identifier 2876143 2876145 - EqualsGreaterThanToken 2876145 2876148 - CallExpression 2876148 2876233 - Identifier 2876148 2876155 - CallExpression 2876156 2876178 - Identifier 2876156 2876175 - Identifier 2876176 2876177 - ArrowFunction 2876179 2876232 - Parameter 2876179 2876184 - Identifier 2876179 2876184 - EqualsGreaterThanToken 2876184 2876187 - CallExpression 2876187 2876232 - Identifier 2876187 2876209 - Identifier 2876210 2876217 - PropertyAccessExpression 2876218 2876231 - Identifier 2876218 2876223 - Identifier 2876224 2876231 - ReturnStatement 2876246 2876273 - Identifier 2876262 2876272 - FunctionDeclaration 2876280 2876659 - Identifier 2876296 2876330 - Parameter 2876331 2876357 - Identifier 2876331 2876339 - UnionType 2876340 2876357 - TypeReference 2876340 2876345 - Identifier 2876340 2876345 - UndefinedKeyword 2876347 2876357 - UnionType 2876359 2876378 - TypeReference 2876359 2876366 - Identifier 2876359 2876366 - UndefinedKeyword 2876368 2876378 - Block 2876378 2876659 - IfStatement 2876380 2876625 - BinaryExpression 2876394 2876462 - Identifier 2876394 2876402 - AmpersandAmpersandToken 2876402 2876405 - BinaryExpression 2876405 2876462 - PropertyAccessExpression 2876405 2876419 - Identifier 2876405 2876414 - Identifier 2876415 2876419 - EqualsEqualsEqualsToken 2876419 2876423 - PropertyAccessExpression 2876423 2876462 - Identifier 2876423 2876434 - Identifier 2876435 2876462 - Block 2876463 2876625 - ReturnStatement 2876465 2876614 - CallExpression 2876485 2876613 - Identifier 2876485 2876503 - PropertyAccessExpression 2876504 2876550 - ParenthesizedExpression 2876504 2876545 - AsExpression 2876505 2876544 - Identifier 2876505 2876513 - TypeReference 2876516 2876544 - Identifier 2876516 2876544 - Identifier 2876546 2876550 - BinaryExpression 2876551 2876589 - PropertyAccessExpression 2876551 2876569 - Identifier 2876551 2876563 - Identifier 2876564 2876569 - BarToken 2876569 2876571 - PropertyAccessExpression 2876571 2876589 - Identifier 2876571 2876583 - Identifier 2876584 2876589 - TrueKeyword 2876590 2876612 - ReturnStatement 2876625 2876652 - Identifier 2876641 2876651 - FunctionDeclaration 2876659 2877538 - Identifier 2876755 2876791 - Parameter 2876792 2876826 - Identifier 2876792 2876796 - UnionType 2876797 2876826 - TypeReference 2876797 2876813 - Identifier 2876797 2876813 - TypeReference 2876815 2876826 - Identifier 2876815 2876826 - UnionType 2876828 2876847 - TypeReference 2876828 2876835 - Identifier 2876828 2876835 - UndefinedKeyword 2876837 2876847 - Block 2876847 2877538 - IfStatement 2876849 2877531 - CallExpression 2876863 2876886 - Identifier 2876863 2876880 - Identifier 2876881 2876885 - Block 2876887 2877354 - VariableStatement 2876889 2876947 - VariableDeclarationList 2876889 2876946 - VariableDeclaration 2876908 2876946 - Identifier 2876908 2876913 - BinaryExpression 2876915 2876946 - PropertyAccessExpression 2876915 2876933 - Identifier 2876915 2876920 - Identifier 2876921 2876933 - BarBarToken 2876933 2876936 - PropertyAccessExpression 2876936 2876946 - Identifier 2876936 2876941 - Identifier 2876942 2876946 - ReturnStatement 2876947 2877343 - ConditionalExpression 2876967 2877342 - PropertyAccessExpression 2876967 2877002 - PropertyAccessExpression 2876967 2876986 - PropertyAccessExpression 2876967 2876979 - Identifier 2876967 2876972 - Identifier 2876973 2876979 - Identifier 2876980 2876986 - Identifier 2876987 2877002 - QuestionToken 2877002 2877004 - CallExpression 2877004 2877071 - Identifier 2877004 2877045 - PropertyAccessExpression 2877046 2877064 - PropertyAccessExpression 2877046 2877057 - Identifier 2877046 2877050 - Identifier 2877051 2877057 - Identifier 2877058 2877064 - Identifier 2877065 2877070 - ColonToken 2877071 2877073 - ConditionalExpression 2877073 2877342 - BinaryExpression 2877073 2877129 - PropertyAccessExpression 2877073 2877100 - Identifier 2877073 2877095 - Identifier 2877096 2877100 - EqualsEqualsEqualsToken 2877100 2877104 - PropertyAccessExpression 2877104 2877129 - Identifier 2877104 2877115 - Identifier 2877116 2877129 - QuestionToken 2877129 2877131 - Identifier 2877131 2877141 - ColonToken 2877141 2877143 - CallExpression 2877143 2877342 - Identifier 2877143 2877231 - Identifier 2877232 2877236 - BinaryExpression 2877237 2877318 - BinaryExpression 2877237 2877298 - BinaryExpression 2877237 2877274 - PropertyAccessExpression 2877237 2877255 - Identifier 2877237 2877249 - Identifier 2877250 2877255 - BarToken 2877255 2877257 - PropertyAccessExpression 2877257 2877274 - Identifier 2877257 2877269 - Identifier 2877270 2877274 - BarToken 2877274 2877276 - PropertyAccessExpression 2877276 2877298 - Identifier 2877276 2877288 - Identifier 2877289 2877298 - BarToken 2877298 2877300 - PropertyAccessExpression 2877300 2877318 - Identifier 2877300 2877312 - Identifier 2877313 2877318 - TrueKeyword 2877319 2877341 - Block 2877368 2877531 - ReturnStatement 2877370 2877520 - CallExpression 2877390 2877519 - Identifier 2877390 2877408 - Identifier 2877409 2877413 - BinaryExpression 2877414 2877495 - BinaryExpression 2877414 2877475 - BinaryExpression 2877414 2877451 - PropertyAccessExpression 2877414 2877432 - Identifier 2877414 2877426 - Identifier 2877427 2877432 - BarToken 2877432 2877434 - PropertyAccessExpression 2877434 2877451 - Identifier 2877434 2877446 - Identifier 2877447 2877451 - BarToken 2877451 2877453 - PropertyAccessExpression 2877453 2877475 - Identifier 2877453 2877465 - Identifier 2877466 2877475 - BarToken 2877475 2877477 - PropertyAccessExpression 2877477 2877495 - Identifier 2877477 2877489 - Identifier 2877490 2877495 - TrueKeyword 2877496 2877518 - FunctionDeclaration 2877538 2880910 - Identifier 2877554 2877568 - Parameter 2877569 2877579 - Identifier 2877569 2877573 - TypeReference 2877574 2877579 - Identifier 2877574 2877579 - TypeReference 2877581 2877586 - Identifier 2877581 2877586 - Block 2877586 2880910 - IfStatement 2877588 2877692 - BinaryExpression 2877602 2877647 - CallExpression 2877602 2877620 - Identifier 2877602 2877614 - Identifier 2877615 2877619 - AmpersandAmpersandToken 2877620 2877623 - PrefixUnaryExpression 2877623 2877647 - CallExpression 2877625 2877647 - Identifier 2877625 2877641 - Identifier 2877642 2877646 - Block 2877648 2877692 - ReturnStatement 2877650 2877681 - Identifier 2877670 2877680 - IfStatement 2877692 2877891 - BinaryExpression 2877708 2877746 - PropertyAccessExpression 2877708 2877718 - Identifier 2877708 2877712 - Identifier 2877713 2877718 - AmpersandToken 2877718 2877720 - PropertyAccessExpression 2877720 2877746 - Identifier 2877720 2877730 - Identifier 2877731 2877746 - Block 2877747 2877891 - ReturnStatement 2877749 2877880 - Identifier 2877869 2877879 - VariableStatement 2877891 2877989 - VariableDeclarationList 2877891 2877988 - VariableDeclaration 2877908 2877988 - Identifier 2877908 2877918 - CallExpression 2877920 2877988 - Identifier 2877920 2877982 - Identifier 2877983 2877987 - VariableStatement 2877989 2878105 - VariableDeclarationList 2877989 2878104 - VariableDeclaration 2878004 2878104 - Identifier 2878004 2878014 - BinaryExpression 2878016 2878104 - Identifier 2878016 2878026 - AmpersandAmpersandToken 2878026 2878029 - CallExpression 2878029 2878104 - Identifier 2878029 2878063 - CallExpression 2878064 2878103 - Identifier 2878064 2878086 - PropertyAccessExpression 2878087 2878102 - Identifier 2878087 2878096 - Identifier 2878097 2878102 - IfStatement 2878105 2878346 - CallExpression 2878119 2878141 - Identifier 2878119 2878135 - Identifier 2878136 2878140 - Block 2878142 2878346 - VariableStatement 2878144 2878221 - VariableDeclarationList 2878144 2878220 - VariableDeclaration 2878163 2878220 - Identifier 2878163 2878180 - CallExpression 2878182 2878220 - Identifier 2878182 2878202 - AsExpression 2878203 2878219 - Identifier 2878203 2878207 - TypeReference 2878210 2878219 - Identifier 2878210 2878219 - ReturnStatement 2878221 2878335 - ConditionalExpression 2878241 2878334 - Identifier 2878241 2878251 - QuestionToken 2878251 2878253 - CallExpression 2878253 2878315 - Identifier 2878253 2878277 - Identifier 2878278 2878294 - PropertyAccessExpression 2878295 2878314 - Identifier 2878295 2878305 - Identifier 2878306 2878314 - ColonToken 2878315 2878317 - Identifier 2878317 2878334 - IfStatement 2878346 2878466 - CallExpression 2878362 2878384 - Identifier 2878362 2878378 - Identifier 2878379 2878383 - Block 2878385 2878466 - ReturnStatement 2878387 2878455 - CallExpression 2878407 2878454 - Identifier 2878407 2878434 - AsExpression 2878435 2878453 - Identifier 2878435 2878439 - TypeReference 2878442 2878453 - Identifier 2878442 2878453 - IfStatement 2878466 2878885 - BinaryExpression 2878482 2878518 - Identifier 2878482 2878491 - AmpersandAmpersandToken 2878491 2878494 - PrefixUnaryExpression 2878494 2878518 - PropertyAccessExpression 2878496 2878518 - Identifier 2878496 2878505 - Identifier 2878506 2878518 - Block 2878519 2878885 - VariableStatement 2878521 2878776 - VariableDeclarationList 2878521 2878775 - VariableDeclaration 2878722 2878775 - Identifier 2878722 2878731 - CallExpression 2878733 2878775 - Identifier 2878733 2878750 - CallExpression 2878751 2878774 - Identifier 2878751 2878763 - Identifier 2878764 2878773 - ReturnStatement 2878776 2878874 - ConditionalExpression 2878796 2878873 - Identifier 2878796 2878805 - QuestionToken 2878805 2878807 - CallExpression 2878807 2878861 - Identifier 2878807 2878831 - Identifier 2878832 2878840 - PropertyAccessExpression 2878841 2878860 - Identifier 2878841 2878851 - Identifier 2878852 2878860 - ColonToken 2878861 2878863 - Identifier 2878863 2878873 - IfStatement 2878885 2879162 - CallExpression 2878901 2878924 - Identifier 2878901 2878918 - Identifier 2878919 2878923 - Block 2878925 2879162 - VariableStatement 2878927 2879098 - VariableDeclarationList 2878927 2879097 - VariableDeclaration 2879059 2879097 - Identifier 2879059 2879066 - CallExpression 2879068 2879097 - Identifier 2879068 2879091 - Identifier 2879092 2879096 - ReturnStatement 2879098 2879151 - CallExpression 2879118 2879150 - Identifier 2879118 2879142 - Identifier 2879143 2879149 - IfStatement 2879162 2879348 - CallExpression 2879178 2879205 - Identifier 2879178 2879199 - Identifier 2879200 2879204 - Block 2879206 2879348 - VariableStatement 2879208 2879263 - VariableDeclarationList 2879208 2879262 - VariableDeclaration 2879227 2879262 - Identifier 2879227 2879234 - CallExpression 2879236 2879262 - Identifier 2879236 2879256 - Identifier 2879257 2879261 - ReturnStatement 2879263 2879337 - ConditionalExpression 2879283 2879336 - Identifier 2879283 2879290 - QuestionToken 2879290 2879292 - CallExpression 2879292 2879324 - Identifier 2879292 2879316 - Identifier 2879317 2879323 - ColonToken 2879324 2879326 - Identifier 2879326 2879336 - IfStatement 2879348 2879521 - CallExpression 2879364 2879386 - Identifier 2879364 2879380 - Identifier 2879381 2879385 - Block 2879387 2879521 - ReturnStatement 2879389 2879510 - BinaryExpression 2879409 2879509 - CallExpression 2879409 2879496 - Identifier 2879409 2879443 - Identifier 2879444 2879448 - TrueKeyword 2879449 2879477 - PropertyAccessExpression 2879478 2879495 - Identifier 2879478 2879488 - Identifier 2879489 2879495 - BarBarToken 2879496 2879499 - Identifier 2879499 2879509 - IfStatement 2879521 2879807 - CallExpression 2879537 2879556 - Identifier 2879537 2879550 - Identifier 2879551 2879555 - Block 2879557 2879807 - VariableStatement 2879559 2879730 - VariableDeclarationList 2879559 2879729 - VariableDeclaration 2879691 2879729 - Identifier 2879691 2879698 - CallExpression 2879700 2879729 - Identifier 2879700 2879723 - Identifier 2879724 2879728 - ReturnStatement 2879730 2879796 - ConditionalExpression 2879750 2879795 - Identifier 2879750 2879757 - QuestionToken 2879757 2879759 - CallExpression 2879759 2879783 - Identifier 2879759 2879775 - Identifier 2879776 2879782 - ColonToken 2879783 2879785 - Identifier 2879785 2879795 - IfStatement 2879807 2880057 - CallExpression 2879823 2879866 - Identifier 2879823 2879860 - Identifier 2879861 2879865 - Block 2879867 2880057 - VariableStatement 2879869 2879924 - VariableDeclarationList 2879869 2879923 - VariableDeclaration 2879888 2879923 - Identifier 2879888 2879895 - CallExpression 2879897 2879923 - Identifier 2879897 2879917 - Identifier 2879918 2879922 - IfStatement 2879924 2880015 - Identifier 2879942 2879948 - Block 2879949 2880015 - ReturnStatement 2879951 2880000 - CallExpression 2879975 2879999 - Identifier 2879975 2879991 - Identifier 2879992 2879998 - ReturnStatement 2880015 2880046 - Identifier 2880035 2880045 - IfStatement 2880057 2880237 - CallExpression 2880073 2880095 - Identifier 2880073 2880089 - Identifier 2880090 2880094 - Block 2880096 2880237 - ReturnStatement 2880098 2880226 - BinaryExpression 2880118 2880225 - CallExpression 2880118 2880212 - Identifier 2880118 2880152 - PropertyAccessExpression 2880153 2880164 - Identifier 2880153 2880157 - Identifier 2880158 2880164 - TrueKeyword 2880165 2880193 - PropertyAccessExpression 2880194 2880211 - Identifier 2880194 2880204 - Identifier 2880205 2880211 - BarBarToken 2880212 2880215 - Identifier 2880215 2880225 - IfStatement 2880237 2880587 - CallExpression 2880253 2880312 - Identifier 2880253 2880292 - AsExpression 2880293 2880311 - Identifier 2880293 2880297 - TypeReference 2880300 2880311 - Identifier 2880300 2880311 - Block 2880313 2880587 - VariableStatement 2880315 2880370 - VariableDeclarationList 2880315 2880369 - VariableDeclaration 2880334 2880369 - Identifier 2880334 2880341 - CallExpression 2880343 2880369 - Identifier 2880343 2880363 - Identifier 2880364 2880368 - IfStatement 2880370 2880576 - Identifier 2880388 2880394 - Block 2880395 2880576 - VariableStatement 2880397 2880468 - VariableDeclarationList 2880397 2880467 - VariableDeclaration 2880420 2880467 - Identifier 2880420 2880433 - CallExpression 2880435 2880467 - Identifier 2880435 2880459 - Identifier 2880460 2880466 - ReturnStatement 2880468 2880561 - ConditionalExpression 2880492 2880560 - PrefixUnaryExpression 2880492 2880519 - CallExpression 2880494 2880519 - Identifier 2880494 2880505 - Identifier 2880506 2880518 - QuestionToken 2880519 2880521 - Identifier 2880521 2880534 - ColonToken 2880534 2880536 - CallExpression 2880536 2880560 - Identifier 2880536 2880552 - Identifier 2880553 2880559 - IfStatement 2880587 2880745 - BinaryExpression 2880603 2880672 - CallExpression 2880603 2880630 - Identifier 2880603 2880617 - PropertyAccessExpression 2880618 2880629 - Identifier 2880618 2880622 - Identifier 2880623 2880629 - AmpersandAmpersandToken 2880630 2880633 - BinaryExpression 2880633 2880672 - PropertyAccessExpression 2880633 2880658 - PropertyAccessExpression 2880633 2880645 - Identifier 2880633 2880638 - Identifier 2880639 2880645 - Identifier 2880646 2880658 - EqualsEqualsEqualsToken 2880658 2880662 - PropertyAccessExpression 2880662 2880672 - Identifier 2880662 2880667 - Identifier 2880668 2880672 - Block 2880673 2880745 - ReturnStatement 2880675 2880734 - CallExpression 2880695 2880733 - Identifier 2880695 2880720 - PropertyAccessExpression 2880721 2880732 - Identifier 2880721 2880725 - Identifier 2880726 2880732 - IfStatement 2880745 2880874 - CallExpression 2880761 2880785 - Identifier 2880761 2880779 - Identifier 2880780 2880784 - Block 2880786 2880874 - ReturnStatement 2880788 2880863 - CallExpression 2880808 2880862 - Identifier 2880808 2880838 - FalseKeyword 2880839 2880861 - ReturnStatement 2880874 2880903 - Identifier 2880892 2880902 - FunctionDeclaration 2880910 2883184 - Identifier 2881136 2881163 - Parameter 2881164 2881187 - Identifier 2881164 2881168 - TypeReference 2881169 2881187 - Identifier 2881169 2881187 - UnionType 2881189 2881206 - TypeReference 2881189 2881194 - Identifier 2881189 2881194 - UndefinedKeyword 2881196 2881206 - Block 2881206 2883184 - ExpressionStatement 2881208 2881332 - CallExpression 2881208 2881331 - PropertyAccessExpression 2881208 2881230 - Identifier 2881208 2881223 - Identifier 2881224 2881230 - BinaryExpression 2881231 2881330 - BinaryExpression 2881231 2881279 - PropertyAccessExpression 2881231 2881240 - Identifier 2881231 2881235 - Identifier 2881236 2881240 - EqualsEqualsEqualsToken 2881240 2881244 - PropertyAccessExpression 2881244 2881279 - Identifier 2881244 2881255 - Identifier 2881256 2881279 - BarBarToken 2881279 2881282 - BinaryExpression 2881282 2881330 - PropertyAccessExpression 2881282 2881292 - Identifier 2881282 2881287 - Identifier 2881288 2881292 - EqualsEqualsEqualsToken 2881292 2881296 - PropertyAccessExpression 2881296 2881330 - Identifier 2881296 2881307 - Identifier 2881308 2881330 - IfStatement 2881332 2881676 - BinaryExpression 2881441 2881487 - PropertyAccessExpression 2881441 2881457 - PropertyAccessExpression 2881441 2881452 - Identifier 2881441 2881445 - Identifier 2881446 2881452 - Identifier 2881453 2881457 - EqualsEqualsEqualsToken 2881457 2881461 - PropertyAccessExpression 2881461 2881487 - Identifier 2881461 2881472 - Identifier 2881473 2881487 - Block 2881488 2881676 - VariableStatement 2881490 2881582 - VariableDeclarationList 2881490 2881581 - VariableDeclaration 2881509 2881581 - Identifier 2881509 2881522 - CallExpression 2881524 2881581 - Identifier 2881524 2881550 - AsExpression 2881551 2881580 - PropertyAccessExpression 2881551 2881562 - Identifier 2881551 2881555 - Identifier 2881556 2881562 - TypeReference 2881565 2881580 - Identifier 2881565 2881580 - ReturnStatement 2881582 2881665 - CallExpression 2881602 2881664 - Identifier 2881602 2881631 - Identifier 2881632 2881636 - BinaryExpression 2881637 2881663 - Identifier 2881637 2881650 - BarBarToken 2881650 2881653 - Identifier 2881653 2881663 - IfStatement 2881676 2882025 - BinaryExpression 2881784 2881832 - PropertyAccessExpression 2881784 2881800 - PropertyAccessExpression 2881784 2881795 - Identifier 2881784 2881788 - Identifier 2881789 2881795 - Identifier 2881796 2881800 - EqualsEqualsEqualsToken 2881800 2881804 - PropertyAccessExpression 2881804 2881832 - Identifier 2881804 2881815 - Identifier 2881816 2881832 - Block 2881833 2882025 - VariableStatement 2881835 2881931 - VariableDeclarationList 2881835 2881930 - VariableDeclaration 2881854 2881930 - Identifier 2881854 2881867 - CallExpression 2881869 2881930 - Identifier 2881869 2881889 - PropertyAccessExpression 2881890 2881929 - ParenthesizedExpression 2881890 2881923 - AsExpression 2881891 2881922 - PropertyAccessExpression 2881891 2881902 - Identifier 2881891 2881895 - Identifier 2881896 2881902 - TypeReference 2881905 2881922 - Identifier 2881905 2881922 - Identifier 2881924 2881929 - ReturnStatement 2881931 2882014 - CallExpression 2881951 2882013 - Identifier 2881951 2881980 - Identifier 2881981 2881985 - BinaryExpression 2881986 2882012 - Identifier 2881986 2881999 - BarBarToken 2881999 2882002 - Identifier 2882002 2882012 - IfStatement 2882025 2882622 - BinaryExpression 2882188 2882238 - PropertyAccessExpression 2882188 2882204 - PropertyAccessExpression 2882188 2882199 - Identifier 2882188 2882192 - Identifier 2882193 2882199 - Identifier 2882200 2882204 - EqualsEqualsEqualsToken 2882204 2882208 - PropertyAccessExpression 2882208 2882238 - Identifier 2882208 2882219 - Identifier 2882220 2882238 - Block 2882239 2882622 - VariableStatement 2882241 2882320 - VariableDeclarationList 2882241 2882319 - VariableDeclaration 2882260 2882319 - Identifier 2882260 2882265 - CallExpression 2882267 2882319 - Identifier 2882267 2882272 - PropertyAccessExpression 2882273 2882291 - PropertyAccessExpression 2882273 2882284 - Identifier 2882273 2882277 - Identifier 2882278 2882284 - Identifier 2882285 2882291 - Identifier 2882292 2882318 - VariableStatement 2882320 2882414 - VariableDeclarationList 2882320 2882413 - VariableDeclaration 2882339 2882413 - Identifier 2882339 2882365 - BinaryExpression 2882367 2882413 - CallExpression 2882367 2882400 - Identifier 2882367 2882394 - Identifier 2882395 2882399 - BarBarToken 2882400 2882403 - Identifier 2882403 2882413 - VariableStatement 2882414 2882492 - VariableDeclarationList 2882414 2882491 - VariableDeclaration 2882433 2882491 - Identifier 2882433 2882447 - CallExpression 2882449 2882491 - Identifier 2882449 2882461 - PropertyAccessExpression 2882462 2882477 - Identifier 2882462 2882466 - Identifier 2882467 2882477 - PropertyAccessExpression 2882478 2882490 - Identifier 2882478 2882483 - Identifier 2882484 2882490 - ReturnStatement 2882492 2882611 - CallExpression 2882512 2882610 - Identifier 2882512 2882562 - Identifier 2882563 2882567 - Identifier 2882568 2882594 - Identifier 2882595 2882609 - VariableStatement 2882622 2882756 - VariableDeclarationList 2882622 2882755 - VariableDeclaration 2882704 2882755 - Identifier 2882704 2882709 - CallExpression 2882711 2882755 - Identifier 2882711 2882716 - PropertyAccessExpression 2882717 2882728 - Identifier 2882717 2882721 - Identifier 2882722 2882728 - Identifier 2882729 2882754 - VariableStatement 2882756 2882894 - VariableDeclarationList 2882756 2882893 - VariableDeclaration 2882826 2882893 - Identifier 2882826 2882845 - BinaryExpression 2882847 2882893 - CallExpression 2882847 2882880 - Identifier 2882847 2882874 - Identifier 2882875 2882879 - BarBarToken 2882880 2882883 - Identifier 2882883 2882893 - VariableStatement 2882894 2883044 - VariableDeclarationList 2882894 2883043 - VariableDeclaration 2882909 2883043 - Identifier 2882909 2882921 - BinaryExpression 2882923 2883043 - CallExpression 2882923 2883030 - Identifier 2882923 2882954 - PropertyAccessExpression 2882955 2882981 - Identifier 2882955 2882967 - Identifier 2882968 2882981 - Identifier 2882982 2883001 - Identifier 2883002 2883016 - PropertyAccessExpression 2883017 2883029 - Identifier 2883017 2883022 - Identifier 2883023 2883029 - BarBarToken 2883030 2883033 - Identifier 2883033 2883043 - ReturnStatement 2883044 2883177 - CallExpression 2883060 2883176 - Identifier 2883060 2883108 - Identifier 2883109 2883113 - Identifier 2883114 2883133 - CallExpression 2883134 2883162 - PropertyAccessExpression 2883134 2883156 - PropertyAccessExpression 2883134 2883148 - Identifier 2883134 2883139 - Identifier 2883140 2883148 - Identifier 2883149 2883156 - Identifier 2883157 2883161 - Identifier 2883163 2883175 - FunctionDeclaration 2883184 2883862 - Identifier 2883462 2883505 - Parameter 2883506 2883526 - Identifier 2883506 2883514 - TypeReference 2883515 2883526 - Identifier 2883515 2883526 - Block 2883527 2883862 - VariableStatement 2883529 2883754 - VariableDeclarationList 2883529 2883753 - VariableDeclaration 2883653 2883753 - Identifier 2883653 2883673 - CallExpression 2883675 2883753 - Identifier 2883675 2883702 - CallExpression 2883703 2883752 - Identifier 2883703 2883707 - PropertyAccessExpression 2883708 2883730 - PropertyAccessExpression 2883708 2883723 - Identifier 2883708 2883716 - Identifier 2883717 2883723 - Identifier 2883724 2883730 - Identifier 2883731 2883751 - ReturnStatement 2883754 2883855 - BinaryExpression 2883770 2883854 - Identifier 2883770 2883790 - AmpersandAmpersandToken 2883790 2883793 - CallExpression 2883793 2883854 - Identifier 2883793 2883811 - Identifier 2883812 2883831 - PropertyAccessExpression 2883832 2883853 - Identifier 2883832 2883841 - Identifier 2883842 2883853 - FunctionDeclaration 2883862 2884133 - Identifier 2883878 2883905 - Parameter 2883906 2883922 - Identifier 2883906 2883910 - TypeReference 2883911 2883922 - Identifier 2883911 2883922 - TypeReference 2883924 2883929 - Identifier 2883924 2883929 - Block 2883929 2884133 - IfStatement 2883931 2884054 - CallExpression 2883945 2883993 - Identifier 2883945 2883987 - Identifier 2883988 2883992 - Block 2883994 2884054 - ExpressionStatement 2883996 2884043 - BinaryExpression 2883996 2884042 - Identifier 2883996 2884014 - EqualsToken 2884014 2884016 - AsExpression 2884016 2884042 - PropertyAccessExpression 2884016 2884028 - Identifier 2884016 2884021 - Identifier 2884022 2884028 - TypeReference 2884031 2884042 - Identifier 2884031 2884042 - ReturnStatement 2884054 2884126 - CallExpression 2884070 2884125 - Identifier 2884070 2884098 - CallExpression 2884099 2884124 - Identifier 2884099 2884118 - Identifier 2884119 2884123 - FunctionDeclaration 2884133 2884542 - Identifier 2884297 2884325 - Parameter 2884326 2884344 - Identifier 2884326 2884330 - TypeReference 2884331 2884344 - Identifier 2884331 2884344 - Block 2884345 2884542 - VariableStatement 2884347 2884407 - VariableDeclarationList 2884347 2884406 - VariableDeclaration 2884362 2884406 - Identifier 2884362 2884374 - NonNullExpression 2884376 2884406 - CallExpression 2884376 2884405 - Identifier 2884376 2884392 - PropertyAccessExpression 2884393 2884404 - Identifier 2884393 2884397 - Identifier 2884398 2884404 - ReturnStatement 2884407 2884535 - ConditionalExpression 2884423 2884534 - CallExpression 2884423 2884438 - Identifier 2884423 2884432 - Identifier 2884433 2884437 - QuestionToken 2884438 2884453 - CallExpression 2884453 2884482 - Identifier 2884453 2884469 - Identifier 2884470 2884481 - ColonToken 2884482 2884497 - CallExpression 2884497 2884534 - Identifier 2884497 2884521 - Identifier 2884522 2884533 - FunctionDeclaration 2884542 2885258 - Identifier 2884558 2884589 - Parameter 2884590 2884611 - Identifier 2884590 2884597 - TypeReference 2884598 2884611 - Identifier 2884598 2884611 - Block 2884612 2885258 - VariableStatement 2884614 2884651 - VariableDeclarationList 2884614 2884650 - VariableDeclaration 2884629 2884650 - Identifier 2884629 2884634 - NonNullExpression 2884636 2884650 - PropertyAccessExpression 2884636 2884649 - Identifier 2884636 2884644 - Identifier 2884645 2884649 - SwitchStatement 2884651 2885251 - PropertyAccessExpression 2884669 2884678 - Identifier 2884669 2884673 - Identifier 2884674 2884678 - CaseBlock 2884679 2885251 - CaseClause 2884681 2884782 - PropertyAccessExpression 2884699 2884721 - Identifier 2884699 2884710 - Identifier 2884711 2884721 - ReturnStatement 2884722 2884782 - CallExpression 2884746 2884781 - Identifier 2884746 2884767 - CallExpression 2884768 2884780 - Identifier 2884768 2884774 - Identifier 2884775 2884779 - CaseClause 2884782 2884827 - PropertyAccessExpression 2884800 2884826 - Identifier 2884800 2884811 - Identifier 2884812 2884826 - CaseClause 2884827 2884928 - PropertyAccessExpression 2884845 2884870 - Identifier 2884845 2884856 - Identifier 2884857 2884870 - ReturnStatement 2884871 2884928 - CallExpression 2884895 2884927 - Identifier 2884895 2884916 - PropertyAccessExpression 2884917 2884926 - Identifier 2884917 2884921 - Identifier 2884922 2884926 - CaseClause 2884928 2885152 - PropertyAccessExpression 2884946 2884978 - Identifier 2884946 2884957 - Identifier 2884958 2884978 - VariableStatement 2884979 2885046 - VariableDeclarationList 2884979 2885045 - VariableDeclaration 2885002 2885045 - Identifier 2885002 2885011 - CallExpression 2885013 2885045 - Identifier 2885013 2885039 - Identifier 2885040 2885044 - ReturnStatement 2885046 2885152 - ConditionalExpression 2885070 2885151 - CallExpression 2885070 2885127 - Identifier 2885070 2885093 - Identifier 2885094 2885102 - PropertyAccessExpression 2885103 2885126 - Identifier 2885103 2885113 - Identifier 2885114 2885126 - QuestionToken 2885127 2885129 - Identifier 2885129 2885138 - ColonToken 2885138 2885140 - Identifier 2885140 2885151 - DefaultClause 2885152 2885240 - ReturnStatement 2885174 2885240 - CallExpression 2885198 2885239 - PropertyAccessExpression 2885198 2885209 - Identifier 2885198 2885204 - Identifier 2885205 2885209 - StringLiteral 2885210 2885238 - FunctionDeclaration 2885258 2886134 - Identifier 2885424 2885453 - Parameter 2885454 2885464 - Identifier 2885454 2885458 - TypeReference 2885459 2885464 - Identifier 2885459 2885464 - ArrayType 2885466 2885475 - TypeReference 2885466 2885473 - Identifier 2885466 2885473 - Block 2885475 2886134 - ExpressionStatement 2885477 2885516 - BinaryExpression 2885477 2885515 - Identifier 2885477 2885491 - EqualsToken 2885491 2885493 - CallExpression 2885493 2885515 - Identifier 2885493 2885509 - Identifier 2885510 2885514 - VariableStatement 2885516 2885591 - VariableDeclarationList 2885516 2885590 - VariableDeclaration 2885531 2885590 - Identifier 2885531 2885543 - CallExpression 2885545 2885590 - Identifier 2885545 2885563 - CallExpression 2885564 2885589 - Identifier 2885564 2885583 - Identifier 2885584 2885588 - VariableStatement 2885591 2885830 - VariableDeclarationList 2885591 2885829 - VariableDeclaration 2885606 2885829 - Identifier 2885606 2885619 - ConditionalExpression 2885621 2885829 - PropertyAccessExpression 2885621 2885674 - CallExpression 2885621 2885667 - Identifier 2885621 2885641 - Identifier 2885642 2885646 - PropertyAccessExpression 2885647 2885666 - Identifier 2885647 2885661 - Identifier 2885662 2885666 - Identifier 2885668 2885674 - QuestionToken 2885674 2885676 - Identifier 2885676 2885703 - ColonToken 2885703 2885705 - ConditionalExpression 2885705 2885829 - PropertyAccessExpression 2885705 2885776 - CallExpression 2885705 2885769 - Identifier 2885705 2885738 - Identifier 2885739 2885743 - PropertyAccessExpression 2885744 2885768 - Identifier 2885744 2885758 - Identifier 2885759 2885768 - Identifier 2885770 2885776 - QuestionToken 2885776 2885778 - Identifier 2885778 2885804 - ColonToken 2885804 2885806 - Identifier 2885806 2885829 - IfStatement 2885830 2886081 - Identifier 2885844 2885856 - Block 2885857 2886081 - ExpressionStatement 2885859 2886070 - CallExpression 2885859 2886069 - Identifier 2885859 2885880 - CallExpression 2885881 2885914 - Identifier 2885881 2885900 - Identifier 2885901 2885913 - ArrowFunction 2885915 2886068 - Parameter 2885915 2885917 - Identifier 2885915 2885917 - EqualsGreaterThanToken 2885917 2885920 - Block 2885920 2886068 - IfStatement 2885922 2886053 - PrefixUnaryExpression 2885944 2885975 - CallExpression 2885945 2885975 - PropertyAccessExpression 2885945 2885960 - Identifier 2885945 2885956 - Identifier 2885957 2885960 - PropertyAccessExpression 2885961 2885974 - Identifier 2885961 2885962 - Identifier 2885963 2885974 - Block 2885976 2886053 - ExpressionStatement 2885978 2886034 - CallExpression 2885978 2886033 - PropertyAccessExpression 2885978 2886015 - Identifier 2885978 2886011 - Identifier 2886012 2886015 - PropertyAccessExpression 2886016 2886029 - Identifier 2886016 2886017 - Identifier 2886018 2886029 - Identifier 2886030 2886032 - ReturnStatement 2886081 2886127 - CallExpression 2886097 2886126 - Identifier 2886097 2886113 - Identifier 2886114 2886125 - FunctionDeclaration 2886134 2886356 - Identifier 2886150 2886183 - Parameter 2886184 2886194 - Identifier 2886184 2886188 - TypeReference 2886189 2886194 - Identifier 2886189 2886194 - BooleanKeyword 2886196 2886204 - Block 2886204 2886356 - ReturnStatement 2886206 2886349 - BinaryExpression 2886222 2886348 - BinaryExpression 2886222 2886281 - PropertyAccessExpression 2886222 2886275 - CallExpression 2886222 2886268 - Identifier 2886222 2886242 - Identifier 2886243 2886247 - PropertyAccessExpression 2886248 2886267 - Identifier 2886248 2886262 - Identifier 2886263 2886267 - Identifier 2886269 2886275 - ExclamationEqualsEqualsToken 2886275 2886279 - NumericLiteral 2886279 2886281 - BarBarToken 2886281 2886284 - BinaryExpression 2886284 2886348 - PropertyAccessExpression 2886284 2886342 - CallExpression 2886284 2886335 - Identifier 2886284 2886304 - Identifier 2886305 2886309 - PropertyAccessExpression 2886310 2886334 - Identifier 2886310 2886324 - Identifier 2886325 2886334 - Identifier 2886336 2886342 - ExclamationEqualsEqualsToken 2886342 2886346 - NumericLiteral 2886346 2886348 - FunctionDeclaration 2886356 2886554 - Identifier 2886372 2886387 - Parameter 2886388 2886402 - Identifier 2886388 2886394 - TypeReference 2886395 2886402 - Identifier 2886395 2886402 - TypeOperator 2886404 2886422 - ArrayType 2886413 2886422 - TypeReference 2886413 2886420 - Identifier 2886413 2886420 - Block 2886422 2886554 - VariableStatement 2886424 2886480 - VariableDeclarationList 2886424 2886479 - VariableDeclaration 2886439 2886479 - Identifier 2886439 2886445 - CallExpression 2886447 2886479 - Identifier 2886447 2886471 - Identifier 2886472 2886478 - ReturnStatement 2886480 2886547 - ConditionalExpression 2886496 2886546 - Identifier 2886496 2886502 - QuestionToken 2886502 2886504 - CallExpression 2886504 2886535 - Identifier 2886504 2886512 - Identifier 2886513 2886518 - Identifier 2886519 2886534 - ColonToken 2886535 2886537 - ArrayLiteralExpression 2886537 2886546 - Identifier 2886539 2886545 - FunctionDeclaration 2886554 2887227 - Identifier 2886568 2886592 - Parameter 2886593 2886607 - Identifier 2886593 2886599 - TypeReference 2886600 2886607 - Identifier 2886600 2886607 - UnionType 2886609 2886639 - TypeOperator 2886609 2886627 - ArrayType 2886618 2886627 - TypeReference 2886618 2886625 - Identifier 2886618 2886625 - UndefinedKeyword 2886629 2886639 - Block 2886639 2887227 - IfStatement 2886641 2887193 - BinaryExpression 2886655 2886699 - CallExpression 2886655 2886676 - Identifier 2886655 2886668 - Identifier 2886669 2886675 - AmpersandToken 2886676 2886678 - PropertyAccessExpression 2886678 2886699 - Identifier 2886678 2886689 - Identifier 2886690 2886699 - Block 2886700 2886844 - ReturnStatement 2886702 2886833 - CallExpression 2886722 2886832 - Identifier 2886722 2886733 - PropertyAccessExpression 2886734 2886778 - NonNullExpression 2886734 2886772 - PropertyAccessExpression 2886734 2886771 - CallExpression 2886734 2886756 - Identifier 2886734 2886748 - Identifier 2886749 2886755 - Identifier 2886757 2886771 - Identifier 2886773 2886778 - ArrowFunction 2886779 2886831 - Parameter 2886779 2886784 - Identifier 2886779 2886784 - EqualsGreaterThanToken 2886784 2886787 - CallExpression 2886787 2886831 - Identifier 2886787 2886805 - Identifier 2886806 2886810 - PropertyAccessExpression 2886811 2886830 - Identifier 2886811 2886818 - Identifier 2886819 2886830 - IfStatement 2886858 2887193 - BinaryExpression 2886863 2886899 - PropertyAccessExpression 2886863 2886875 - Identifier 2886863 2886869 - Identifier 2886870 2886875 - AmpersandToken 2886875 2886877 - PropertyAccessExpression 2886877 2886899 - Identifier 2886877 2886889 - Identifier 2886890 2886899 - Block 2886900 2887193 - VariableStatement 2886902 2887006 - VariableDeclarationList 2886902 2887005 - VariableDeclaration 2886921 2887005 - ObjectBindingPattern 2886921 2886977 - BindingElement 2886923 2886975 - Identifier 2886923 2886929 - ObjectBindingPattern 2886930 2886975 - BindingElement 2886932 2886943 - Identifier 2886932 2886943 - BindingElement 2886944 2886956 - Identifier 2886944 2886956 - BindingElement 2886957 2886973 - Identifier 2886957 2886973 - AsExpression 2886979 2887005 - Identifier 2886979 2886986 - TypeReference 2886989 2887005 - Identifier 2886989 2887005 - ReturnStatement 2887006 2887182 - ConditionalExpression 2887026 2887181 - Identifier 2887026 2887037 - QuestionToken 2887037 2887039 - ArrayLiteralExpression 2887039 2887066 - Identifier 2887041 2887051 - NonNullExpression 2887052 2887065 - Identifier 2887052 2887064 - ColonToken 2887066 2887085 - ConditionalExpression 2887085 2887181 - Identifier 2887085 2887101 - QuestionToken 2887101 2887103 - ArrayLiteralExpression 2887103 2887121 - Identifier 2887105 2887120 - ColonToken 2887121 2887140 - CallExpression 2887140 2887181 - Identifier 2887140 2887159 - CallExpression 2887160 2887180 - Identifier 2887160 2887172 - Identifier 2887173 2887179 - ReturnStatement 2887193 2887220 - Identifier 2887209 2887219 - FunctionDeclaration 2887227 2887505 - Identifier 2887241 2887254 - Parameter 2887255 2887269 - Identifier 2887255 2887261 - TypeReference 2887262 2887269 - Identifier 2887262 2887269 - UnionType 2887271 2887290 - TypeReference 2887271 2887278 - Identifier 2887271 2887278 - UndefinedKeyword 2887280 2887290 - Block 2887290 2887505 - VariableStatement 2887292 2887333 - VariableDeclarationList 2887292 2887332 - VariableDeclaration 2887305 2887332 - Identifier 2887305 2887312 - UnionType 2887313 2887332 - TypeReference 2887313 2887320 - Identifier 2887313 2887320 - UndefinedKeyword 2887322 2887332 - VariableStatement 2887333 2887381 - VariableDeclarationList 2887333 2887380 - VariableDeclaration 2887346 2887380 - Identifier 2887346 2887351 - UnionType 2887352 2887371 - TypeReference 2887352 2887359 - Identifier 2887352 2887359 - UndefinedKeyword 2887361 2887371 - Identifier 2887373 2887380 - WhileStatement 2887381 2887474 - BinaryExpression 2887398 2887432 - Identifier 2887398 2887402 - EqualsToken 2887402 2887404 - PropertyAccessExpression 2887404 2887432 - CallExpression 2887404 2887425 - Identifier 2887404 2887419 - Identifier 2887420 2887424 - Identifier 2887426 2887432 - Block 2887433 2887474 - ExpressionStatement 2887435 2887463 - BinaryExpression 2887435 2887462 - Identifier 2887435 2887455 - EqualsToken 2887455 2887457 - Identifier 2887457 2887462 - ReturnStatement 2887474 2887498 - Identifier 2887490 2887497 - FunctionDeclaration 2887505 2888165 - Identifier 2887547 2887571 - Parameter 2887572 2887590 - Identifier 2887572 2887578 - TypeReference 2887579 2887590 - Identifier 2887579 2887590 - BooleanKeyword 2887592 2887600 - Block 2887600 2888165 - IfStatement 2887602 2887750 - CallExpression 2887706 2887735 - Identifier 2887706 2887727 - Identifier 2887728 2887734 - ReturnStatement 2887736 2887750 - FalseKeyword 2887743 2887749 - VariableStatement 2887750 2887812 - VariableDeclarationList 2887750 2887811 - VariableDeclaration 2887765 2887811 - Identifier 2887765 2887770 - CallExpression 2887772 2887811 - Identifier 2887772 2887789 - Identifier 2887790 2887796 - Identifier 2887797 2887810 - IfStatement 2887812 2887846 - PrefixUnaryExpression 2887826 2887831 - Identifier 2887827 2887831 - ReturnStatement 2887832 2887846 - FalseKeyword 2887839 2887845 - VariableStatement 2887846 2887883 - VariableDeclarationList 2887846 2887882 - VariableDeclaration 2887861 2887882 - Identifier 2887861 2887868 - PropertyAccessExpression 2887870 2887882 - Identifier 2887870 2887875 - Identifier 2887876 2887882 - IfStatement 2887883 2887919 - PrefixUnaryExpression 2887897 2887904 - Identifier 2887898 2887904 - ReturnStatement 2887905 2887919 - FalseKeyword 2887912 2887918 - VariableStatement 2887919 2888071 - VariableDeclarationList 2887919 2888070 - VariableDeclaration 2887934 2888070 - Identifier 2887934 2887949 - BinaryExpression 2887951 2888070 - ParenthesizedExpression 2887951 2888033 - BinaryExpression 2887953 2888032 - CallExpression 2887953 2887987 - Identifier 2887953 2887979 - Identifier 2887980 2887986 - BarBarToken 2887987 2888003 - CallExpression 2888003 2888032 - Identifier 2888003 2888024 - Identifier 2888025 2888031 - AmpersandAmpersandToken 2888033 2888049 - BinaryExpression 2888049 2888070 - PropertyAccessExpression 2888049 2888061 - Identifier 2888049 2888056 - Identifier 2888057 2888061 - EqualsEqualsEqualsToken 2888061 2888065 - Identifier 2888065 2888070 - ReturnStatement 2888071 2888158 - BinaryExpression 2888087 2888157 - PrefixUnaryExpression 2888087 2888103 - Identifier 2888089 2888103 - AmpersandAmpersandToken 2888103 2888106 - BinaryExpression 2888106 2888157 - CallExpression 2888106 2888137 - Identifier 2888106 2888131 - Identifier 2888132 2888136 - EqualsEqualsEqualsToken 2888137 2888141 - Identifier 2888141 2888157 - FunctionDeclaration 2888165 2888325 - Identifier 2888181 2888213 - Parameter 2888214 2888230 - Identifier 2888214 2888218 - TypeReference 2888219 2888230 - Identifier 2888219 2888230 - Block 2888231 2888325 - ReturnStatement 2888233 2888318 - BinaryExpression 2888249 2888317 - CallExpression 2888249 2888288 - Identifier 2888249 2888275 - PropertyAccessExpression 2888276 2888287 - Identifier 2888276 2888280 - Identifier 2888281 2888287 - AmpersandAmpersandToken 2888288 2888291 - BinaryExpression 2888291 2888317 - Identifier 2888291 2888296 - EqualsEqualsEqualsToken 2888296 2888300 - PropertyAccessExpression 2888300 2888317 - PropertyAccessExpression 2888300 2888312 - Identifier 2888300 2888305 - Identifier 2888306 2888312 - Identifier 2888313 2888317 - FunctionDeclaration 2888325 2890913 - Identifier 2888542 2888571 - Parameter 2888572 2888590 - Identifier 2888572 2888578 - TypeReference 2888579 2888590 - Identifier 2888579 2888590 - Parameter 2888591 2888614 - Identifier 2888591 2888604 - QuestionToken 2888604 2888605 - BooleanKeyword 2888606 2888614 - UnionType 2888616 2888677 - TypeReference 2888616 2888627 - Identifier 2888616 2888627 - TypeReference 2888629 2888647 - Identifier 2888629 2888647 - TypeReference 2888649 2888665 - Identifier 2888649 2888665 - UndefinedKeyword 2888667 2888677 - Block 2888677 2890913 - VariableStatement 2888679 2888741 - VariableDeclarationList 2888679 2888740 - VariableDeclaration 2888694 2888740 - Identifier 2888694 2888699 - CallExpression 2888701 2888740 - Identifier 2888701 2888718 - Identifier 2888719 2888725 - Identifier 2888726 2888739 - IfStatement 2888741 2890906 - Identifier 2888755 2888759 - Block 2888760 2890906 - VariableStatement 2888762 2889231 - VariableDeclarationList 2888762 2889230 - VariableDeclaration 2889119 2889230 - Identifier 2889119 2889126 - CallExpression 2889128 2889230 - Identifier 2889128 2889153 - Identifier 2889154 2889158 - CallExpression 2889159 2889229 - Identifier 2889159 2889223 - Identifier 2889224 2889228 - IfStatement 2889231 2890895 - Identifier 2889249 2889255 - Block 2889256 2890895 - IfStatement 2889258 2889945 - BinaryExpression 2889280 2889318 - PropertyAccessExpression 2889280 2889292 - Identifier 2889280 2889286 - Identifier 2889287 2889292 - AmpersandToken 2889292 2889294 - PropertyAccessExpression 2889294 2889318 - Identifier 2889294 2889306 - Identifier 2889307 2889318 - Block 2889319 2889945 - VariableStatement 2889321 2889675 - VariableDeclarationList 2889321 2889674 - VariableDeclaration 2889621 2889674 - Identifier 2889621 2889634 - CallExpression 2889636 2889674 - Identifier 2889636 2889652 - NonNullExpression 2889653 2889673 - PropertyAccessExpression 2889653 2889672 - Identifier 2889653 2889659 - Identifier 2889660 2889672 - IfStatement 2889675 2889882 - BinaryExpression 2889701 2889813 - BinaryExpression 2889701 2889765 - PrefixUnaryExpression 2889701 2889714 - Identifier 2889702 2889714 - AmpersandAmpersandToken 2889714 2889717 - BinaryExpression 2889717 2889765 - PropertyAccessExpression 2889717 2889736 - Identifier 2889717 2889730 - Identifier 2889731 2889736 - AmpersandToken 2889736 2889738 - PropertyAccessExpression 2889738 2889765 - Identifier 2889738 2889750 - Identifier 2889751 2889765 - AmpersandAmpersandToken 2889765 2889768 - PrefixUnaryExpression 2889768 2889813 - ParenthesizedExpression 2889770 2889813 - BinaryExpression 2889771 2889812 - PropertyAccessExpression 2889771 2889789 - Identifier 2889771 2889783 - Identifier 2889784 2889789 - AmpersandToken 2889789 2889791 - PropertyAccessExpression 2889791 2889812 - Identifier 2889791 2889803 - Identifier 2889804 2889812 - Block 2889814 2889882 - ReturnStatement 2889816 2889859 - Identifier 2889848 2889858 - ExpressionStatement 2889882 2889926 - BinaryExpression 2889882 2889925 - Identifier 2889882 2889910 - EqualsToken 2889910 2889912 - Identifier 2889912 2889925 - VariableStatement 2889945 2890010 - VariableDeclarationList 2889945 2890009 - VariableDeclaration 2889968 2890009 - Identifier 2889968 2889981 - CallExpression 2889983 2890009 - Identifier 2889983 2890001 - Identifier 2890002 2890008 - IfStatement 2890010 2890880 - Identifier 2890032 2890044 - Block 2890045 2890880 - IfStatement 2890047 2890681 - BinaryExpression 2890073 2890182 - BinaryExpression 2890073 2890117 - PropertyAccessExpression 2890073 2890091 - Identifier 2890073 2890085 - Identifier 2890086 2890091 - AmpersandToken 2890091 2890093 - PropertyAccessExpression 2890093 2890117 - Identifier 2890093 2890105 - Identifier 2890106 2890117 - AmpersandAmpersandToken 2890117 2890120 - BinaryExpression 2890120 2890182 - PropertyAccessExpression 2890120 2890156 - PropertyAccessExpression 2890120 2890150 - Identifier 2890120 2890133 - Identifier 2890134 2890150 - QuestionDotToken 2890150 2890152 - Identifier 2890152 2890156 - EqualsEqualsEqualsToken 2890156 2890160 - PropertyAccessExpression 2890160 2890182 - Identifier 2890160 2890171 - Identifier 2890172 2890182 - Block 2890183 2890681 - VariableStatement 2890185 2890274 - VariableDeclarationList 2890185 2890273 - VariableDeclaration 2890216 2890273 - Identifier 2890216 2890227 - AsExpression 2890229 2890273 - PropertyAccessExpression 2890229 2890259 - Identifier 2890229 2890242 - Identifier 2890243 2890259 - TypeReference 2890262 2890273 - Identifier 2890262 2890273 - VariableStatement 2890274 2890348 - VariableDeclarationList 2890274 2890347 - VariableDeclaration 2890305 2890347 - Identifier 2890305 2890319 - CallExpression 2890321 2890347 - Identifier 2890321 2890341 - Identifier 2890342 2890346 - VariableStatement 2890348 2890582 - VariableDeclarationList 2890348 2890581 - VariableDeclaration 2890532 2890581 - Identifier 2890532 2890550 - BinaryExpression 2890552 2890581 - Identifier 2890552 2890563 - ExclamationEqualsEqualsToken 2890563 2890567 - Identifier 2890567 2890581 - ReturnStatement 2890582 2890658 - ConditionalExpression 2890614 2890657 - Identifier 2890614 2890632 - QuestionToken 2890632 2890634 - Identifier 2890634 2890644 - ColonToken 2890644 2890646 - Identifier 2890646 2890657 - ReturnStatement 2890681 2890861 - CallExpression 2890709 2890860 - Identifier 2890709 2890722 - PropertyAccessExpression 2890723 2890734 - Identifier 2890723 2890727 - Identifier 2890728 2890734 - ArrowFunction 2890735 2890859 - Parameter 2890737 2890738 - Identifier 2890737 2890738 - TypePredicate 2890740 2890781 - Identifier 2890740 2890742 - UnionType 2890745 2890781 - TypeReference 2890745 2890763 - Identifier 2890745 2890763 - TypeReference 2890765 2890781 - Identifier 2890765 2890781 - EqualsGreaterThanToken 2890781 2890784 - BinaryExpression 2890784 2890859 - CallExpression 2890784 2890813 - Identifier 2890784 2890810 - Identifier 2890811 2890812 - AmpersandAmpersandToken 2890813 2890816 - BinaryExpression 2890816 2890859 - CallExpression 2890816 2890842 - Identifier 2890816 2890839 - Identifier 2890840 2890841 - EqualsEqualsEqualsToken 2890842 2890846 - Identifier 2890846 2890859 - FunctionDeclaration 2890913 2891861 - Identifier 2891096 2891127 - Parameter 2891128 2891146 - Identifier 2891128 2891134 - TypeReference 2891135 2891146 - Identifier 2891135 2891146 - UnionType 2891148 2891172 - TypeReference 2891148 2891160 - Identifier 2891148 2891160 - UndefinedKeyword 2891162 2891172 - Block 2891172 2891861 - VariableStatement 2891174 2891248 - VariableDeclarationList 2891174 2891247 - VariableDeclaration 2891189 2891247 - Identifier 2891189 2891199 - CallExpression 2891201 2891247 - Identifier 2891201 2891239 - Identifier 2891240 2891246 - IfStatement 2891248 2891316 - Identifier 2891262 2891271 - Block 2891272 2891316 - ReturnStatement 2891274 2891305 - Identifier 2891294 2891304 - VariableStatement 2891316 2891378 - VariableDeclarationList 2891316 2891377 - VariableDeclaration 2891331 2891377 - Identifier 2891331 2891336 - CallExpression 2891338 2891377 - Identifier 2891338 2891355 - Identifier 2891356 2891362 - Identifier 2891363 2891376 - IfStatement 2891378 2891825 - Identifier 2891392 2891396 - Block 2891397 2891825 - VariableStatement 2891399 2891466 - VariableDeclarationList 2891399 2891465 - VariableDeclaration 2891418 2891465 - Identifier 2891418 2891425 - CallExpression 2891427 2891465 - Identifier 2891427 2891459 - Identifier 2891460 2891464 - IfStatement 2891466 2891814 - BinaryExpression 2891621 2891735 - CallExpression 2891621 2891676 - Identifier 2891621 2891636 - Identifier 2891637 2891643 - PropertyAccessExpression 2891644 2891675 - Identifier 2891644 2891669 - Identifier 2891670 2891675 - AmpersandAmpersandToken 2891676 2891679 - PrefixUnaryExpression 2891679 2891735 - CallExpression 2891681 2891735 - Identifier 2891681 2891708 - Identifier 2891709 2891715 - PropertyAccessExpression 2891716 2891734 - Identifier 2891716 2891728 - Identifier 2891729 2891734 - Block 2891736 2891814 - ReturnStatement 2891738 2891799 - CallExpression 2891762 2891798 - Identifier 2891762 2891790 - Identifier 2891791 2891797 - ReturnStatement 2891825 2891854 - Identifier 2891843 2891853 - FunctionDeclaration 2891861 2892158 - Identifier 2891877 2891921 - Parameter 2891922 2891936 - Identifier 2891922 2891928 - TypeReference 2891929 2891936 - Identifier 2891929 2891936 - Block 2891937 2892158 - ReturnStatement 2891939 2892151 - BinaryExpression 2891955 2892150 - BinaryExpression 2891955 2892037 - PropertyAccessExpression 2891955 2891979 - Identifier 2891955 2891962 - Identifier 2891963 2891979 - AmpersandAmpersandToken 2891979 2891995 - CallExpression 2891995 2892037 - Identifier 2891995 2892012 - PropertyAccessExpression 2892013 2892036 - Identifier 2892013 2892019 - Identifier 2892020 2892036 - AmpersandAmpersandToken 2892037 2892053 - BinaryExpression 2892053 2892150 - PropertyAccessExpression 2892053 2892123 - PropertyAccessExpression 2892053 2892118 - CallExpression 2892053 2892111 - Identifier 2892053 2892086 - PropertyAccessExpression 2892087 2892110 - Identifier 2892087 2892093 - Identifier 2892094 2892110 - Identifier 2892112 2892118 - Identifier 2892119 2892123 - EqualsEqualsEqualsToken 2892123 2892127 - PropertyAccessExpression 2892127 2892150 - Identifier 2892127 2892138 - Identifier 2892139 2892150 - FunctionDeclaration 2892158 2895211 - Identifier 2892174 2892213 - Parameter 2892214 2892228 - Identifier 2892214 2892220 - TypeReference 2892221 2892228 - Identifier 2892221 2892228 - BooleanKeyword 2892230 2892238 - Block 2892238 2895211 - IfStatement 2892240 2895181 - BinaryExpression 2892254 2892361 - BinaryExpression 2892254 2892319 - BinaryExpression 2892254 2892292 - PropertyAccessExpression 2892254 2892266 - Identifier 2892254 2892260 - Identifier 2892261 2892266 - AmpersandToken 2892266 2892268 - PropertyAccessExpression 2892268 2892292 - Identifier 2892268 2892280 - Identifier 2892281 2892292 - AmpersandAmpersandToken 2892292 2892295 - PropertyAccessExpression 2892295 2892319 - Identifier 2892295 2892302 - Identifier 2892303 2892319 - AmpersandAmpersandToken 2892319 2892322 - PrefixUnaryExpression 2892322 2892361 - CallExpression 2892324 2892361 - Identifier 2892324 2892336 - PropertyAccessExpression 2892337 2892360 - Identifier 2892337 2892343 - Identifier 2892344 2892360 - Block 2892362 2895181 - VariableStatement 2892364 2892415 - VariableDeclarationList 2892364 2892414 - VariableDeclaration 2892383 2892414 - Identifier 2892383 2892389 - CallExpression 2892391 2892414 - Identifier 2892391 2892406 - Identifier 2892407 2892413 - IfStatement 2892415 2895111 - BinaryExpression 2892433 2892483 - PropertyAccessExpression 2892433 2892469 - Identifier 2892433 2892438 - Identifier 2892439 2892469 - EqualsEqualsEqualsToken 2892469 2892473 - Identifier 2892473 2892483 - Block 2892484 2895111 - VariableStatement 2892486 2892579 - VariableDeclarationList 2892486 2892578 - VariableDeclaration 2892509 2892578 - Identifier 2892509 2892519 - CallExpression 2892521 2892578 - Identifier 2892521 2892553 - PropertyAccessExpression 2892554 2892577 - Identifier 2892554 2892560 - Identifier 2892561 2892577 - IfStatement 2892579 2895096 - BinaryExpression 2892601 2892688 - CallExpression 2892601 2892633 - Identifier 2892601 2892622 - Identifier 2892623 2892632 - BarBarToken 2892633 2892636 - CallExpression 2892636 2892688 - Identifier 2892636 2892680 - Identifier 2892681 2892687 - Block 2892689 2895096 - IfStatement 2892691 2895077 - CallExpression 2892717 2892837 - Identifier 2892717 2892728 - PropertyAccessExpression 2892729 2892745 - Identifier 2892729 2892738 - Identifier 2892739 2892745 - PropertyAccessExpression 2892746 2892765 - Identifier 2892746 2892753 - Identifier 2892754 2892765 - PropertyAccessExpression 2892766 2892784 - Identifier 2892766 2892778 - Identifier 2892779 2892784 - Identifier 2892785 2892819 - FalseKeyword 2892820 2892836 - Block 2892838 2893002 - ExpressionStatement 2892840 2892979 - BinaryExpression 2892840 2892978 - PropertyAccessExpression 2892840 2892971 - Identifier 2892840 2892940 - Identifier 2892941 2892971 - EqualsToken 2892971 2892973 - TrueKeyword 2892973 2892978 - IfStatement 2893028 2895077 - CallExpression 2893033 2893117 - Identifier 2893033 2893049 - PropertyAccessExpression 2893050 2893073 - Identifier 2893050 2893056 - Identifier 2893057 2893073 - PropertyAccessExpression 2893074 2893116 - Identifier 2893074 2893089 - Identifier 2893090 2893116 - Block 2893118 2894955 - VariableStatement 2893120 2894473 - VariableDeclarationList 2893120 2894472 - VariableDeclaration 2894370 2894472 - Identifier 2894370 2894387 - CallExpression 2894389 2894472 - Identifier 2894389 2894406 - PropertyAccessExpression 2894407 2894430 - Identifier 2894407 2894413 - Identifier 2894414 2894430 - PropertyAccessExpression 2894431 2894471 - Identifier 2894431 2894446 - Identifier 2894447 2894471 - VariableStatement 2894473 2894592 - VariableDeclarationList 2894473 2894591 - VariableDeclaration 2894504 2894591 - Identifier 2894504 2894522 - CallExpression 2894524 2894591 - Identifier 2894524 2894545 - Identifier 2894546 2894555 - FalseKeyword 2894556 2894590 - VariableStatement 2894592 2894755 - VariableDeclarationList 2894592 2894754 - VariableDeclaration 2894623 2894754 - Identifier 2894623 2894639 - BinaryExpression 2894641 2894754 - BinaryExpression 2894641 2894677 - PropertyAccessExpression 2894641 2894656 - Identifier 2894641 2894651 - Identifier 2894652 2894656 - EqualsEqualsEqualsToken 2894656 2894660 - PropertyAccessExpression 2894660 2894677 - Identifier 2894660 2894671 - Identifier 2894672 2894677 - AmpersandAmpersandToken 2894677 2894680 - CallExpression 2894680 2894754 - Identifier 2894680 2894701 - PropertyAccessExpression 2894702 2894718 - Identifier 2894702 2894711 - Identifier 2894712 2894718 - FalseKeyword 2894719 2894753 - ExpressionStatement 2894755 2894932 - BinaryExpression 2894755 2894931 - PropertyAccessExpression 2894755 2894819 - Identifier 2894755 2894788 - Identifier 2894789 2894819 - EqualsToken 2894819 2894821 - BinaryExpression 2894821 2894931 - PrefixUnaryExpression 2894821 2894864 - CallExpression 2894823 2894864 - Identifier 2894823 2894853 - Identifier 2894854 2894863 - AmpersandAmpersandToken 2894864 2894867 - ParenthesizedExpression 2894867 2894931 - BinaryExpression 2894869 2894930 - PrefixUnaryExpression 2894869 2894886 - Identifier 2894870 2894886 - BarBarToken 2894886 2894889 - ParenthesizedExpression 2894889 2894930 - BinaryExpression 2894891 2894929 - PrefixUnaryExpression 2894891 2894909 - Identifier 2894892 2894909 - AmpersandAmpersandToken 2894909 2894912 - PrefixUnaryExpression 2894912 2894929 - Identifier 2894914 2894929 - Block 2894981 2895077 - ExpressionStatement 2894983 2895054 - BinaryExpression 2894983 2895053 - PropertyAccessExpression 2894983 2895045 - Identifier 2894983 2895014 - Identifier 2895015 2895045 - EqualsToken 2895045 2895047 - FalseKeyword 2895047 2895053 - ReturnStatement 2895111 2895170 - NonNullExpression 2895131 2895169 - PropertyAccessExpression 2895131 2895168 - Identifier 2895131 2895137 - Identifier 2895138 2895168 - ReturnStatement 2895181 2895204 - FalseKeyword 2895197 2895203 - FunctionDeclaration 2895211 2896015 - Identifier 2895509 2895551 - Parameter 2895552 2895570 - Identifier 2895552 2895558 - TypeReference 2895559 2895570 - Identifier 2895559 2895570 - UnionType 2895572 2895596 - TypeReference 2895572 2895584 - Identifier 2895572 2895584 - UndefinedKeyword 2895586 2895596 - Block 2895596 2896015 - IfStatement 2895598 2895979 - PrefixUnaryExpression 2895612 2895642 - CallExpression 2895613 2895642 - Identifier 2895613 2895634 - Identifier 2895635 2895641 - Block 2895643 2895979 - VariableStatement 2895645 2895711 - VariableDeclarationList 2895645 2895710 - VariableDeclaration 2895664 2895710 - Identifier 2895664 2895669 - CallExpression 2895671 2895710 - Identifier 2895671 2895688 - Identifier 2895689 2895695 - Identifier 2895696 2895709 - IfStatement 2895711 2895968 - Identifier 2895729 2895733 - Block 2895734 2895968 - VariableStatement 2895736 2895800 - VariableDeclarationList 2895736 2895799 - VariableDeclaration 2895759 2895799 - Identifier 2895759 2895766 - CallExpression 2895768 2895799 - Identifier 2895768 2895793 - Identifier 2895794 2895798 - IfStatement 2895800 2895953 - BinaryExpression 2895822 2895878 - Identifier 2895822 2895828 - AmpersandAmpersandToken 2895828 2895831 - CallExpression 2895831 2895878 - Identifier 2895831 2895870 - Identifier 2895871 2895877 - Block 2895879 2895953 - ReturnStatement 2895881 2895934 - PropertyAccessExpression 2895909 2895933 - Identifier 2895909 2895916 - Identifier 2895917 2895933 - ReturnStatement 2895979 2896008 - Identifier 2895997 2896007 - FunctionDeclaration 2896015 2896580 - Identifier 2896218 2896249 - Parameter 2896250 2896269 - Identifier 2896250 2896256 - TypeReference 2896257 2896269 - Identifier 2896257 2896269 - BooleanKeyword 2896271 2896279 - Block 2896279 2896580 - VariableStatement 2896281 2896344 - VariableDeclarationList 2896281 2896343 - VariableDeclaration 2896296 2896343 - Identifier 2896296 2896301 - CallExpression 2896303 2896343 - Identifier 2896303 2896320 - Identifier 2896321 2896327 - Identifier 2896328 2896342 - IfStatement 2896344 2896548 - Identifier 2896358 2896362 - Block 2896363 2896548 - VariableStatement 2896365 2896423 - VariableDeclarationList 2896365 2896422 - VariableDeclaration 2896384 2896422 - Identifier 2896384 2896391 - CallExpression 2896393 2896422 - Identifier 2896393 2896416 - Identifier 2896417 2896421 - IfStatement 2896423 2896537 - Identifier 2896441 2896447 - Block 2896448 2896537 - ReturnStatement 2896450 2896522 - CallExpression 2896474 2896521 - Identifier 2896474 2896513 - Identifier 2896514 2896520 - ReturnStatement 2896548 2896573 - FalseKeyword 2896566 2896572 - FunctionDeclaration 2896580 2898009 - Identifier 2896596 2896620 - Parameter 2896621 2896631 - Identifier 2896621 2896625 - TypeReference 2896626 2896631 - Identifier 2896626 2896631 - BooleanKeyword 2896633 2896641 - Block 2896641 2898009 - ExpressionStatement 2896643 2896706 - CallExpression 2896643 2896705 - PropertyAccessExpression 2896643 2896665 - Identifier 2896643 2896658 - Identifier 2896659 2896665 - Identifier 2896666 2896704 - SwitchStatement 2896706 2897979 - PropertyAccessExpression 2896724 2896733 - Identifier 2896724 2896728 - Identifier 2896729 2896733 - CaseBlock 2896734 2897979 - CaseClause 2896736 2896895 - PropertyAccessExpression 2896754 2896789 - Identifier 2896754 2896765 - Identifier 2896766 2896789 - ReturnStatement 2896790 2896895 - CallExpression 2896814 2896894 - Identifier 2896814 2896837 - CallExpression 2896838 2896893 - Identifier 2896838 2896860 - AsExpression 2896861 2896892 - Identifier 2896861 2896865 - TypeReference 2896868 2896892 - Identifier 2896868 2896892 - CaseClause 2896895 2896938 - PropertyAccessExpression 2896913 2896937 - Identifier 2896913 2896924 - Identifier 2896925 2896937 - CaseClause 2896938 2896984 - PropertyAccessExpression 2896956 2896983 - Identifier 2896956 2896967 - Identifier 2896968 2896983 - CaseClause 2896984 2897030 - PropertyAccessExpression 2897002 2897029 - Identifier 2897002 2897013 - Identifier 2897014 2897029 - CaseClause 2897030 2897308 - PropertyAccessExpression 2897048 2897075 - Identifier 2897048 2897059 - Identifier 2897060 2897075 - VariableStatement 2897076 2897208 - VariableDeclarationList 2897076 2897207 - VariableDeclaration 2897099 2897207 - Identifier 2897099 2897106 - CallExpression 2897108 2897207 - Identifier 2897108 2897131 - AsExpression 2897132 2897206 - Identifier 2897132 2897136 - UnionType 2897139 2897206 - TypeReference 2897139 2897152 - Identifier 2897139 2897152 - TypeReference 2897154 2897170 - Identifier 2897154 2897170 - TypeReference 2897172 2897188 - Identifier 2897172 2897188 - TypeReference 2897190 2897206 - Identifier 2897190 2897206 - ReturnStatement 2897208 2897308 - BinaryExpression 2897232 2897307 - PrefixUnaryExpression 2897232 2897241 - PrefixUnaryExpression 2897234 2897241 - Identifier 2897235 2897241 - AmpersandAmpersandToken 2897241 2897244 - CallExpression 2897244 2897307 - Identifier 2897244 2897267 - Identifier 2897268 2897274 - TrueKeyword 2897275 2897306 - CaseClause 2897308 2897630 - PropertyAccessExpression 2897326 2897355 - Identifier 2897326 2897337 - Identifier 2897338 2897355 - VariableStatement 2897356 2897436 - VariableDeclarationList 2897356 2897435 - VariableDeclaration 2897379 2897435 - Identifier 2897379 2897392 - PropertyAccessExpression 2897394 2897435 - ParenthesizedExpression 2897394 2897422 - AsExpression 2897396 2897421 - Identifier 2897396 2897400 - TypeReference 2897403 2897421 - Identifier 2897403 2897421 - Identifier 2897423 2897435 - ReturnStatement 2897436 2897630 - BinaryExpression 2897460 2897629 - PrefixUnaryExpression 2897460 2897475 - PrefixUnaryExpression 2897462 2897475 - Identifier 2897463 2897475 - AmpersandAmpersandToken 2897475 2897478 - ParenthesizedExpression 2897478 2897629 - BinaryExpression 2897480 2897610 - CallExpression 2897480 2897533 - Identifier 2897480 2897519 - Identifier 2897520 2897532 - BarBarToken 2897533 2897536 - CallExpression 2897536 2897610 - Identifier 2897536 2897562 - PropertyAccessExpression 2897563 2897584 - Identifier 2897563 2897575 - Identifier 2897576 2897584 - Identifier 2897585 2897609 - CaseClause 2897630 2897968 - PropertyAccessExpression 2897648 2897676 - Identifier 2897648 2897659 - Identifier 2897660 2897676 - ReturnStatement 2897677 2897968 - ConditionalExpression 2897701 2897967 - BinaryExpression 2897701 2897811 - PropertyAccessExpression 2897701 2897739 - ParenthesizedExpression 2897701 2897728 - AsExpression 2897703 2897727 - Identifier 2897703 2897707 - TypeReference 2897710 2897727 - Identifier 2897710 2897727 - Identifier 2897729 2897739 - AmpersandAmpersandToken 2897739 2897742 - BinaryExpression 2897742 2897811 - PropertyAccessExpression 2897742 2897785 - PropertyAccessExpression 2897742 2897780 - ParenthesizedExpression 2897742 2897769 - AsExpression 2897744 2897768 - Identifier 2897744 2897748 - TypeReference 2897751 2897768 - Identifier 2897751 2897768 - Identifier 2897770 2897780 - Identifier 2897781 2897785 - EqualsEqualsEqualsToken 2897785 2897789 - PropertyAccessExpression 2897789 2897811 - Identifier 2897789 2897800 - Identifier 2897801 2897811 - QuestionToken 2897811 2897813 - CallExpression 2897813 2897939 - Identifier 2897813 2897857 - CallExpression 2897858 2897906 - Identifier 2897858 2897880 - AsExpression 2897881 2897905 - Identifier 2897881 2897885 - TypeReference 2897888 2897905 - Identifier 2897888 2897905 - TrueKeyword 2897907 2897938 - ColonToken 2897939 2897941 - TrueKeyword 2897941 2897967 - ReturnStatement 2897979 2898002 - FalseKeyword 2897995 2898001 - FunctionDeclaration 2898009 2898616 - Identifier 2898025 2898067 - Parameter 2898068 2898099 - Identifier 2898068 2898074 - TypeReference 2898075 2898099 - Identifier 2898075 2898099 - BooleanKeyword 2898101 2898109 - Block 2898109 2898616 - VariableStatement 2898111 2898186 - VariableDeclarationList 2898111 2898185 - VariableDeclaration 2898126 2898185 - Identifier 2898126 2898131 - CallExpression 2898133 2898185 - Identifier 2898133 2898150 - Identifier 2898151 2898157 - Identifier 2898158 2898184 - IfStatement 2898186 2898439 - BinaryExpression 2898200 2898314 - BinaryExpression 2898200 2898264 - BinaryExpression 2898200 2898218 - Identifier 2898200 2898204 - EqualsEqualsEqualsToken 2898204 2898208 - Identifier 2898208 2898218 - BarBarToken 2898218 2898221 - BinaryExpression 2898221 2898264 - PropertyAccessExpression 2898221 2898238 - PropertyAccessExpression 2898221 2898233 - Identifier 2898221 2898226 - Identifier 2898227 2898233 - Identifier 2898234 2898238 - ExclamationEqualsEqualsToken 2898238 2898242 - PropertyAccessExpression 2898242 2898264 - Identifier 2898242 2898253 - Identifier 2898254 2898264 - BarBarToken 2898264 2898267 - PrefixUnaryExpression 2898267 2898314 - CallExpression 2898269 2898314 - Identifier 2898269 2898308 - Identifier 2898309 2898313 - Block 2898315 2898439 - ReturnStatement 2898317 2898428 - FalseKeyword 2898421 2898427 - VariableStatement 2898439 2898520 - VariableDeclarationList 2898439 2898519 - VariableDeclaration 2898456 2898519 - Identifier 2898456 2898464 - CallExpression 2898466 2898519 - Identifier 2898466 2898489 - CallExpression 2898490 2898518 - Identifier 2898490 2898512 - Identifier 2898513 2898517 - ReturnStatement 2898520 2898609 - BinaryExpression 2898536 2898608 - BinaryExpression 2898536 2898568 - Identifier 2898536 2898544 - AmpersandAmpersandToken 2898544 2898547 - PropertyAccessExpression 2898547 2898568 - Identifier 2898547 2898552 - Identifier 2898553 2898568 - AmpersandAmpersandToken 2898568 2898571 - PrefixUnaryExpression 2898571 2898608 - CallExpression 2898573 2898608 - Identifier 2898573 2898586 - PropertyAccessExpression 2898587 2898607 - Identifier 2898587 2898591 - Identifier 2898592 2898607 - FunctionDeclaration 2898616 2899904 - Identifier 2898632 2898655 - Parameter 2898656 2898682 - Identifier 2898656 2898662 - UnionType 2898663 2898682 - TypeReference 2898663 2898670 - Identifier 2898663 2898670 - UndefinedKeyword 2898672 2898682 - Parameter 2898683 2898715 - Identifier 2898683 2898705 - QuestionToken 2898705 2898706 - BooleanKeyword 2898707 2898715 - BooleanKeyword 2898717 2898725 - Block 2898725 2899904 - IfStatement 2898727 2898789 - PrefixUnaryExpression 2898741 2898748 - Identifier 2898742 2898748 - Block 2898749 2898789 - ReturnStatement 2898751 2898778 - FalseKeyword 2898771 2898777 - VariableStatement 2898789 2898862 - VariableDeclarationList 2898789 2898861 - VariableDeclaration 2898804 2898861 - Identifier 2898804 2898814 - CallExpression 2898816 2898861 - Identifier 2898816 2898836 - PropertyAccessExpression 2898837 2898860 - Identifier 2898837 2898843 - Identifier 2898844 2898860 - VariableStatement 2898862 2898938 - VariableDeclarationList 2898862 2898937 - VariableDeclaration 2898877 2898937 - Identifier 2898877 2898888 - BinaryExpression 2898890 2898937 - Identifier 2898890 2898900 - AmpersandAmpersandToken 2898900 2898903 - CallExpression 2898903 2898937 - Identifier 2898903 2898926 - Identifier 2898927 2898936 - ExpressionStatement 2898938 2899272 - VoidExpression 2898938 2899271 - CallExpression 2899231 2899271 - Identifier 2899231 2899259 - Identifier 2899260 2899270 - VariableStatement 2899272 2899358 - VariableDeclarationList 2899272 2899357 - VariableDeclaration 2899287 2899357 - Identifier 2899287 2899294 - CallExpression 2899296 2899357 - Identifier 2899296 2899335 - CallExpression 2899336 2899356 - Identifier 2899336 2899348 - Identifier 2899349 2899355 - IfStatement 2899358 2899494 - BinaryExpression 2899372 2899396 - Identifier 2899372 2899378 - EqualsEqualsEqualsToken 2899378 2899382 - Identifier 2899382 2899396 - Block 2899397 2899494 - ReturnStatement 2899399 2899483 - BinaryExpression 2899419 2899482 - PrefixUnaryExpression 2899419 2899442 - Identifier 2899421 2899442 - BarBarToken 2899442 2899445 - PrefixUnaryExpression 2899445 2899482 - CallExpression 2899447 2899482 - Identifier 2899447 2899474 - Identifier 2899475 2899481 - ReturnStatement 2899494 2899897 - BinaryExpression 2899690 2899896 - PrefixUnaryExpression 2899690 2899791 - PrefixUnaryExpression 2899692 2899791 - ParenthesizedExpression 2899693 2899791 - BinaryExpression 2899694 2899790 - CallExpression 2899694 2899770 - Identifier 2899694 2899708 - Identifier 2899709 2899715 - Identifier 2899716 2899738 - TrueKeyword 2899739 2899769 - AmpersandToken 2899770 2899772 - PropertyAccessExpression 2899772 2899790 - Identifier 2899772 2899784 - Identifier 2899785 2899790 - AmpersandAmpersandToken 2899791 2899794 - ParenthesizedExpression 2899794 2899896 - BinaryExpression 2899809 2899895 - CallExpression 2899809 2899850 - Identifier 2899809 2899833 - Identifier 2899834 2899849 - BarBarToken 2899850 2899853 - PrefixUnaryExpression 2899853 2899895 - CallExpression 2899855 2899895 - Identifier 2899855 2899887 - Identifier 2899888 2899894 - FunctionDeclaration 2899904 2900047 - Identifier 2899920 2899953 - Parameter 2899954 2899963 - Identifier 2899954 2899955 - TypeReference 2899956 2899963 - Identifier 2899956 2899963 - BooleanKeyword 2899965 2899973 - Block 2899973 2900047 - ReturnStatement 2899975 2900040 - BinaryExpression 2899991 2900039 - CallExpression 2899991 2900012 - Identifier 2899991 2900009 - Identifier 2900010 2900011 - BarBarToken 2900012 2900015 - PrefixUnaryExpression 2900015 2900039 - PrefixUnaryExpression 2900017 2900039 - PropertyAccessExpression 2900018 2900039 - Identifier 2900018 2900019 - Identifier 2900020 2900039 - FunctionDeclaration 2900047 2901145 - Identifier 2900063 2900092 - Parameter 2900093 2900103 - Identifier 2900093 2900097 - TypeReference 2900098 2900103 - Identifier 2900098 2900103 - Parameter 2900104 2900128 - Identifier 2900104 2900118 - QuestionToken 2900118 2900119 - BooleanKeyword 2900120 2900128 - BooleanKeyword 2900130 2900138 - Block 2900138 2901145 - ExpressionStatement 2900140 2900203 - CallExpression 2900140 2900202 - PropertyAccessExpression 2900140 2900162 - Identifier 2900140 2900155 - Identifier 2900156 2900162 - Identifier 2900163 2900201 - IfStatement 2900203 2900971 - CallExpression 2900217 2900247 - Identifier 2900217 2900241 - Identifier 2900242 2900246 - Block 2900248 2900971 - VariableStatement 2900250 2900323 - VariableDeclarationList 2900250 2900322 - VariableDeclaration 2900269 2900322 - Identifier 2900269 2900276 - CallExpression 2900278 2900322 - Identifier 2900278 2900301 - AsExpression 2900302 2900321 - Identifier 2900302 2900306 - TypeReference 2900309 2900321 - Identifier 2900309 2900321 - VariableStatement 2900323 2900384 - VariableDeclarationList 2900323 2900383 - VariableDeclaration 2900342 2900383 - Identifier 2900342 2900348 - BinaryExpression 2900350 2900383 - Identifier 2900350 2900357 - AmpersandAmpersandToken 2900357 2900360 - CallExpression 2900360 2900383 - Identifier 2900360 2900375 - Identifier 2900376 2900382 - IfStatement 2900384 2900467 - PropertyAccessExpression 2900402 2900419 - Identifier 2900402 2900407 - QuestionDotToken 2900407 2900409 - Identifier 2900409 2900419 - Block 2900420 2900467 - ReturnStatement 2900422 2900452 - TrueKeyword 2900446 2900451 - VariableStatement 2900467 2900531 - VariableDeclarationList 2900467 2900530 - VariableDeclaration 2900486 2900530 - Identifier 2900486 2900493 - PropertyAccessExpression 2900495 2900530 - CallExpression 2900495 2900518 - Identifier 2900495 2900510 - Identifier 2900511 2900517 - Identifier 2900519 2900530 - IfStatement 2900531 2900960 - BinaryExpression 2900549 2900803 - BinaryExpression 2900549 2900694 - BinaryExpression 2900549 2900631 - Identifier 2900549 2900573 - AmpersandAmpersandToken 2900573 2900576 - BinaryExpression 2900576 2900631 - CallExpression 2900576 2900608 - Identifier 2900576 2900602 - Identifier 2900603 2900607 - AmpersandToken 2900608 2900610 - PropertyAccessExpression 2900610 2900631 - Identifier 2900610 2900624 - Identifier 2900625 2900631 - AmpersandAmpersandToken 2900631 2900634 - BinaryExpression 2900634 2900694 - CallExpression 2900634 2900674 - Identifier 2900634 2900666 - Identifier 2900667 2900673 - AmpersandToken 2900674 2900676 - PropertyAccessExpression 2900676 2900694 - Identifier 2900676 2900688 - Identifier 2900689 2900694 - AmpersandAmpersandToken 2900694 2900697 - ParenthesizedExpression 2900697 2900803 - BinaryExpression 2900716 2900802 - CallExpression 2900716 2900757 - Identifier 2900716 2900740 - Identifier 2900741 2900756 - BarBarToken 2900757 2900760 - PrefixUnaryExpression 2900760 2900802 - CallExpression 2900762 2900802 - Identifier 2900762 2900794 - Identifier 2900795 2900801 - Block 2900818 2900960 - ReturnStatement 2900820 2900945 - TrueKeyword 2900939 2900944 - IfStatement 2900971 2901115 - Identifier 2900987 2901000 - Block 2901001 2901115 - ReturnStatement 2901003 2901104 - PrefixUnaryExpression 2901023 2901103 - PrefixUnaryExpression 2901025 2901103 - CallExpression 2901026 2901103 - Identifier 2901026 2901038 - Identifier 2901039 2901043 - ArrowFunction 2901044 2901102 - Parameter 2901044 2901049 - Identifier 2901044 2901049 - EqualsGreaterThanToken 2901049 2901052 - CallExpression 2901052 2901102 - Identifier 2901052 2901081 - Identifier 2901082 2901086 - Identifier 2901087 2901101 - ReturnStatement 2901115 2901138 - FalseKeyword 2901131 2901137 - FunctionDeclaration 2901145 2902501 - Identifier 2901161 2901188 - Parameter 2901189 2901215 - Identifier 2901189 2901193 - TypeReference 2901194 2901215 - Identifier 2901194 2901215 - Block 2901216 2902501 - IfStatement 2901218 2902471 - CallExpression 2901232 2901285 - Identifier 2901232 2901245 - PropertyAccessExpression 2901246 2901284 - ParenthesizedExpression 2901246 2901279 - AsExpression 2901247 2901278 - Identifier 2901247 2901251 - TypeReference 2901254 2901278 - Identifier 2901254 2901278 - Identifier 2901280 2901284 - Block 2901286 2902471 - IfStatement 2901288 2901363 - BinaryExpression 2901306 2901348 - CallExpression 2901306 2901325 - Identifier 2901306 2901319 - Identifier 2901320 2901324 - BarBarToken 2901325 2901328 - CallExpression 2901328 2901348 - Identifier 2901328 2901342 - Identifier 2901343 2901347 - ReturnStatement 2901349 2901363 - FalseKeyword 2901356 2901362 - VariableStatement 2901363 2901516 - VariableDeclarationList 2901363 2901515 - VariableDeclaration 2901477 2901515 - Identifier 2901477 2901484 - CallExpression 2901486 2901515 - Identifier 2901486 2901509 - Identifier 2901510 2901514 - VariableStatement 2901516 2901587 - VariableDeclarationList 2901516 2901586 - VariableDeclaration 2901535 2901586 - Identifier 2901535 2901554 - CallExpression 2901556 2901586 - Identifier 2901556 2901578 - Identifier 2901579 2901585 - ReturnStatement 2901587 2902460 - BinaryExpression 2901985 2902459 - BinaryExpression 2901985 2902015 - PropertyAccessExpression 2901985 2902011 - Identifier 2901985 2902004 - Identifier 2902005 2902011 - GreaterThanToken 2902011 2902013 - NumericLiteral 2902013 2902015 - BarBarToken 2902015 2902018 - ParenthesizedExpression 2902018 2902459 - BinaryExpression 2902381 2902458 - BinaryExpression 2902381 2902412 - PropertyAccessExpression 2902381 2902406 - Identifier 2902381 2902399 - Identifier 2902400 2902406 - EqualsEqualsEqualsToken 2902406 2902410 - NumericLiteral 2902410 2902412 - AmpersandAmpersandToken 2902412 2902415 - BinaryExpression 2902415 2902458 - PropertyAccessExpression 2902415 2902449 - ElementAccessExpression 2902415 2902437 - Identifier 2902415 2902434 - NumericLiteral 2902435 2902436 - Identifier 2902438 2902449 - ExclamationEqualsEqualsToken 2902449 2902453 - Identifier 2902453 2902458 - ReturnStatement 2902471 2902494 - FalseKeyword 2902487 2902493 - FunctionDeclaration 2902501 2903070 - Identifier 2902517 2902556 - Parameter 2902557 2902608 - Identifier 2902557 2902566 - UnionType 2902567 2902608 - TypeReference 2902567 2902588 - Identifier 2902567 2902588 - TypeReference 2902590 2902608 - Identifier 2902590 2902608 - Block 2902609 2903070 - VariableStatement 2902611 2902688 - VariableDeclarationList 2902611 2902687 - VariableDeclaration 2902626 2902687 - Identifier 2902626 2902635 - CallExpression 2902637 2902687 - Identifier 2902637 2902676 - Identifier 2902677 2902686 - IfStatement 2902688 2902726 - PrefixUnaryExpression 2902702 2902711 - Identifier 2902703 2902711 - ReturnStatement 2902712 2902726 - FalseKeyword 2902719 2902725 - VariableStatement 2902726 2902779 - VariableDeclarationList 2902726 2902778 - VariableDeclaration 2902741 2902778 - Identifier 2902741 2902746 - CallExpression 2902748 2902778 - Identifier 2902748 2902768 - Identifier 2902769 2902777 - ReturnStatement 2902779 2903063 - BinaryExpression 2903013 2903062 - CallExpression 2903013 2903031 - Identifier 2903013 2903025 - Identifier 2903026 2903030 - BarBarToken 2903031 2903034 - CallExpression 2903034 2903062 - Identifier 2903034 2903056 - Identifier 2903057 2903061 - FunctionDeclaration 2903070 2903412 - Identifier 2903086 2903118 - Parameter 2903119 2903170 - Identifier 2903119 2903128 - UnionType 2903129 2903170 - TypeReference 2903129 2903150 - Identifier 2903129 2903150 - TypeReference 2903152 2903170 - Identifier 2903152 2903170 - Parameter 2903171 2903210 - Identifier 2903171 2903192 - UnionType 2903193 2903210 - TypeReference 2903193 2903198 - Identifier 2903193 2903198 - UndefinedKeyword 2903200 2903210 - Block 2903211 2903412 - ReturnStatement 2903213 2903405 - BinaryExpression 2903229 2903404 - ParenthesizedExpression 2903229 2903350 - BinaryExpression 2903231 2903349 - CallExpression 2903231 2903294 - Identifier 2903231 2903261 - Identifier 2903262 2903271 - Identifier 2903272 2903293 - BarBarToken 2903294 2903297 - CallExpression 2903297 2903349 - Identifier 2903297 2903338 - Identifier 2903339 2903348 - AmpersandAmpersandToken 2903350 2903353 - PrefixUnaryExpression 2903353 2903404 - CallExpression 2903355 2903404 - Identifier 2903355 2903393 - Identifier 2903394 2903403 - FunctionDeclaration 2903412 2903953 - Identifier 2903428 2903459 - Parameter 2903460 2903511 - Identifier 2903460 2903469 - UnionType 2903470 2903511 - TypeReference 2903470 2903491 - Identifier 2903470 2903491 - TypeReference 2903493 2903511 - Identifier 2903493 2903511 - Parameter 2903512 2903551 - Identifier 2903512 2903533 - UnionType 2903534 2903551 - TypeReference 2903534 2903539 - Identifier 2903534 2903539 - UndefinedKeyword 2903541 2903551 - BooleanKeyword 2903553 2903561 - Block 2903561 2903953 - IfStatement 2903563 2903729 - BinaryExpression 2903577 2903688 - BinaryExpression 2903577 2903662 - BinaryExpression 2903577 2903628 - PrefixUnaryExpression 2903577 2903594 - Identifier 2903578 2903594 - BarBarToken 2903594 2903597 - CallExpression 2903597 2903628 - Identifier 2903597 2903617 - Identifier 2903618 2903627 - BarBarToken 2903628 2903631 - CallExpression 2903631 2903662 - Identifier 2903631 2903651 - Identifier 2903652 2903661 - BarBarToken 2903662 2903665 - PrefixUnaryExpression 2903665 2903688 - PropertyAccessExpression 2903667 2903688 - Identifier 2903667 2903676 - Identifier 2903677 2903688 - Block 2903689 2903729 - ReturnStatement 2903691 2903718 - FalseKeyword 2903711 2903717 - IfStatement 2903729 2903924 - CallExpression 2903743 2903815 - Identifier 2903743 2903763 - Identifier 2903764 2903773 - PropertyAccessExpression 2903774 2903814 - Identifier 2903774 2903788 - Identifier 2903789 2903814 - Block 2903816 2903924 - ReturnStatement 2903818 2903913 - BinaryExpression 2903838 2903912 - PrefixUnaryExpression 2903838 2903861 - PrefixUnaryExpression 2903840 2903861 - Identifier 2903841 2903861 - AmpersandAmpersandToken 2903861 2903864 - CallExpression 2903864 2903912 - Identifier 2903864 2903890 - Identifier 2903891 2903911 - ReturnStatement 2903924 2903946 - TrueKeyword 2903940 2903945 - FunctionDeclaration 2903953 2904317 - Identifier 2903969 2904010 - Parameter 2904011 2904062 - Identifier 2904011 2904020 - UnionType 2904021 2904062 - TypeReference 2904021 2904042 - Identifier 2904021 2904042 - TypeReference 2904044 2904062 - Identifier 2904044 2904062 - Block 2904063 2904317 - ReturnStatement 2904065 2904310 - BinaryExpression 2904081 2904309 - BinaryExpression 2904081 2904220 - BinaryExpression 2904081 2904145 - Identifier 2904081 2904098 - AmpersandAmpersandToken 2904098 2904101 - CallExpression 2904101 2904145 - Identifier 2904101 2904134 - Identifier 2904135 2904144 - AmpersandAmpersandToken 2904145 2904148 - ParenthesizedExpression 2904148 2904220 - BinaryExpression 2904163 2904219 - CallExpression 2904163 2904193 - Identifier 2904163 2904182 - Identifier 2904183 2904192 - BarBarToken 2904193 2904196 - PrefixUnaryExpression 2904196 2904219 - PropertyAccessExpression 2904198 2904219 - Identifier 2904198 2904207 - Identifier 2904208 2904219 - AmpersandAmpersandToken 2904220 2904223 - CallExpression 2904223 2904309 - Identifier 2904223 2904257 - Identifier 2904258 2904267 - PropertyAccessExpression 2904268 2904308 - Identifier 2904268 2904282 - Identifier 2904283 2904308 - FunctionDeclaration 2904317 2905481 - Identifier 2904333 2904362 - Parameter 2904363 2904380 - Identifier 2904363 2904367 - TypeReference 2904368 2904380 - Identifier 2904368 2904380 - BooleanKeyword 2904382 2904390 - Block 2904390 2905481 - VariableStatement 2904392 2904554 - VariableDeclarationList 2904392 2904553 - VariableDeclaration 2904407 2904553 - Identifier 2904407 2904419 - CallExpression 2904421 2904553 - Identifier 2904421 2904438 - Identifier 2904439 2904443 - ArrowFunction 2904444 2904552 - Parameter 2904446 2904447 - Identifier 2904446 2904447 - TypePredicate 2904449 2904496 - Identifier 2904449 2904451 - UnionType 2904454 2904496 - TypeReference 2904454 2904474 - Identifier 2904454 2904474 - TypeReference 2904476 2904496 - Identifier 2904476 2904496 - EqualsGreaterThanToken 2904496 2904499 - BinaryExpression 2904499 2904552 - CallExpression 2904499 2904524 - Identifier 2904499 2904521 - Identifier 2904522 2904523 - BarBarToken 2904524 2904527 - CallExpression 2904527 2904552 - Identifier 2904527 2904549 - Identifier 2904550 2904551 - IfStatement 2904554 2904621 - PrefixUnaryExpression 2904568 2904580 - Identifier 2904569 2904580 - Block 2904581 2904621 - ReturnStatement 2904583 2904610 - FalseKeyword 2904603 2904609 - VariableStatement 2904621 2904662 - VariableDeclarationList 2904621 2904661 - VariableDeclaration 2904634 2904661 - Identifier 2904634 2904641 - UnionType 2904642 2904661 - TypeReference 2904642 2904649 - Identifier 2904642 2904649 - UndefinedKeyword 2904651 2904661 - IfStatement 2904662 2905201 - CallExpression 2904676 2904710 - Identifier 2904676 2904697 - Identifier 2904698 2904709 - Block 2904711 2905115 - IfStatement 2904713 2904858 - BinaryExpression 2904731 2904809 - PropertyAccessExpression 2904731 2904747 - Identifier 2904731 2904742 - Identifier 2904743 2904747 - BarBarToken 2904747 2904750 - ParenthesizedExpression 2904750 2904809 - BinaryExpression 2904752 2904808 - PrefixUnaryExpression 2904752 2904776 - CallExpression 2904753 2904776 - Identifier 2904753 2904763 - Identifier 2904764 2904775 - AmpersandAmpersandToken 2904776 2904779 - PrefixUnaryExpression 2904779 2904808 - CallExpression 2904781 2904808 - Identifier 2904781 2904795 - Identifier 2904796 2904807 - Block 2904810 2904858 - ReturnStatement 2904812 2904843 - FalseKeyword 2904836 2904842 - VariableStatement 2904858 2904935 - VariableDeclarationList 2904858 2904934 - VariableDeclaration 2904877 2904934 - Identifier 2904877 2904889 - CallExpression 2904891 2904934 - Identifier 2904891 2904921 - Identifier 2904922 2904933 - IfStatement 2904935 2905045 - BinaryExpression 2904953 2904996 - PrefixUnaryExpression 2904953 2904965 - Identifier 2904954 2904965 - BarBarToken 2904965 2904968 - PrefixUnaryExpression 2904968 2904996 - CallExpression 2904970 2904996 - Identifier 2904970 2904983 - Identifier 2904984 2904995 - Block 2904997 2905045 - ReturnStatement 2904999 2905030 - FalseKeyword 2905023 2905029 - ExpressionStatement 2905045 2905104 - BinaryExpression 2905045 2905103 - Identifier 2905045 2905065 - EqualsToken 2905065 2905067 - CallExpression 2905067 2905103 - Identifier 2905067 2905090 - Identifier 2905091 2905102 - Block 2905129 2905201 - ExpressionStatement 2905131 2905190 - BinaryExpression 2905131 2905189 - Identifier 2905131 2905151 - EqualsToken 2905151 2905153 - CallExpression 2905153 2905189 - Identifier 2905153 2905176 - Identifier 2905177 2905188 - IfStatement 2905201 2905328 - BinaryExpression 2905215 2905287 - PrefixUnaryExpression 2905215 2905222 - Identifier 2905216 2905222 - BarBarToken 2905222 2905225 - PrefixUnaryExpression 2905225 2905287 - ParenthesizedExpression 2905227 2905287 - BinaryExpression 2905228 2905286 - BinaryExpression 2905228 2905263 - PropertyAccessExpression 2905228 2905240 - Identifier 2905228 2905234 - Identifier 2905235 2905240 - AmpersandToken 2905240 2905242 - PropertyAccessExpression 2905242 2905263 - Identifier 2905242 2905254 - Identifier 2905255 2905263 - BarToken 2905263 2905265 - PropertyAccessExpression 2905265 2905286 - Identifier 2905265 2905277 - Identifier 2905278 2905286 - Block 2905288 2905328 - ReturnStatement 2905290 2905317 - FalseKeyword 2905310 2905316 - ReturnStatement 2905328 2905474 - PrefixUnaryExpression 2905344 2905473 - PrefixUnaryExpression 2905346 2905473 - CallExpression 2905347 2905473 - Identifier 2905347 2905359 - CallExpression 2905360 2905386 - Identifier 2905360 2905378 - Identifier 2905379 2905385 - ArrowFunction 2905387 2905472 - Parameter 2905387 2905389 - Identifier 2905387 2905389 - EqualsGreaterThanToken 2905389 2905392 - BinaryExpression 2905392 2905472 - BinaryExpression 2905392 2905420 - PropertyAccessExpression 2905392 2905400 - Identifier 2905392 2905394 - Identifier 2905395 2905400 - AmpersandToken 2905400 2905402 - PropertyAccessExpression 2905402 2905420 - Identifier 2905402 2905414 - Identifier 2905415 2905420 - AmpersandAmpersandToken 2905420 2905423 - CallExpression 2905423 2905472 - Identifier 2905423 2905452 - PropertyAccessExpression 2905453 2905471 - Identifier 2905453 2905454 - Identifier 2905455 2905471 - FunctionDeclaration 2905481 2905863 - Identifier 2905497 2905530 - Parameter 2905531 2905548 - Identifier 2905531 2905535 - TypeReference 2905536 2905548 - Identifier 2905536 2905548 - ArrayType 2905550 2905559 - TypeReference 2905550 2905557 - Identifier 2905550 2905557 - Block 2905559 2905863 - VariableStatement 2905561 2905637 - VariableDeclarationList 2905561 2905636 - VariableDeclaration 2905576 2905636 - Identifier 2905576 2905588 - CallExpression 2905590 2905636 - Identifier 2905590 2905607 - Identifier 2905608 2905612 - Identifier 2905613 2905635 - IfStatement 2905637 2905709 - PrefixUnaryExpression 2905651 2905663 - Identifier 2905652 2905663 - Block 2905664 2905709 - ReturnStatement 2905666 2905698 - Identifier 2905686 2905697 - VariableStatement 2905709 2905770 - VariableDeclarationList 2905709 2905769 - VariableDeclaration 2905724 2905769 - Identifier 2905724 2905731 - CallExpression 2905733 2905769 - Identifier 2905733 2905756 - Identifier 2905757 2905768 - ReturnStatement 2905770 2905856 - BinaryExpression 2905786 2905855 - BinaryExpression 2905786 2905841 - Identifier 2905786 2905793 - AmpersandAmpersandToken 2905793 2905796 - CallExpression 2905796 2905841 - Identifier 2905796 2905816 - CallExpression 2905817 2905840 - Identifier 2905817 2905832 - Identifier 2905833 2905839 - BarBarToken 2905841 2905844 - Identifier 2905844 2905855 - FunctionDeclaration 2905863 2906084 - Identifier 2905879 2905897 - Parameter 2905898 2905908 - Identifier 2905898 2905902 - TypeReference 2905903 2905908 - Identifier 2905903 2905908 - TypeReference 2905910 2905925 - Identifier 2905910 2905925 - Block 2905925 2906084 - VariableStatement 2905927 2905965 - VariableDeclarationList 2905927 2905964 - VariableDeclaration 2905942 2905964 - Identifier 2905942 2905949 - BinaryExpression 2905951 2905964 - PropertyAccessExpression 2905951 2905959 - Identifier 2905951 2905956 - Identifier 2905957 2905959 - BarBarToken 2905959 2905962 - NumericLiteral 2905962 2905964 - IfStatement 2905965 2906030 - BinaryExpression 2905979 2906019 - BinaryExpression 2905979 2905989 - Identifier 2905979 2905985 - LessThanToken 2905985 2905987 - NumericLiteral 2905987 2905989 - BarBarToken 2905989 2905992 - BinaryExpression 2905992 2906019 - Identifier 2905992 2905999 - GreaterThanEqualsToken 2905999 2906002 - PropertyAccessExpression 2906002 2906019 - Identifier 2906002 2906012 - Identifier 2906013 2906019 - ReturnStatement 2906020 2906030 - NumericLiteral 2906027 2906029 - ReturnStatement 2906030 2906077 - BinaryExpression 2906046 2906076 - PropertyAccessExpression 2906046 2906071 - ElementAccessExpression 2906046 2906064 - Identifier 2906046 2906056 - Identifier 2906057 2906063 - QuestionDotToken 2906064 2906066 - Identifier 2906066 2906071 - BarBarToken 2906071 2906074 - NumericLiteral 2906074 2906076 - FunctionDeclaration 2906084 2906267 - Identifier 2906100 2906117 - Parameter 2906118 2906128 - Identifier 2906118 2906122 - TypeReference 2906123 2906128 - Identifier 2906123 2906128 - Parameter 2906129 2906154 - Identifier 2906129 2906134 - TypeReference 2906135 2906154 - Identifier 2906135 2906154 - Block 2906155 2906267 - ExpressionStatement 2906157 2906208 - CallExpression 2906157 2906207 - Identifier 2906157 2906195 - Identifier 2906196 2906200 - Identifier 2906201 2906206 - ReturnStatement 2906208 2906260 - PrefixUnaryExpression 2906224 2906259 - PrefixUnaryExpression 2906226 2906259 - ParenthesizedExpression 2906227 2906259 - BinaryExpression 2906228 2906258 - CallExpression 2906228 2906251 - Identifier 2906228 2906245 - Identifier 2906246 2906250 - AmpersandToken 2906251 2906253 - Identifier 2906253 2906258 - FunctionDeclaration 2906267 2913784 - Identifier 2906283 2906312 - Parameter 2906313 2906323 - Identifier 2906313 2906317 - TypeReference 2906318 2906323 - Identifier 2906318 2906323 - Parameter 2906324 2906349 - Identifier 2906324 2906329 - TypeReference 2906330 2906349 - Identifier 2906330 2906349 - Block 2906350 2913784 - IfStatement 2906352 2907743 - BinaryExpression 2906366 2906471 - PrefixUnaryExpression 2906366 2906390 - PropertyAccessExpression 2906367 2906390 - Identifier 2906367 2906382 - Identifier 2906383 2906390 - AmpersandAmpersandToken 2906390 2906393 - CallExpression 2906393 2906471 - Identifier 2906393 2906427 - CallExpression 2906428 2906453 - Identifier 2906428 2906447 - Identifier 2906448 2906452 - Identifier 2906454 2906470 - Block 2906472 2907743 - ReturnStatement 2906474 2907732 - VariableStatement 2907743 2907786 - VariableDeclarationList 2907743 2907785 - VariableDeclaration 2907758 2907785 - Identifier 2907758 2907764 - CallExpression 2907766 2907785 - Identifier 2907766 2907779 - Identifier 2907780 2907784 - IfStatement 2907786 2907863 - BinaryExpression 2907800 2907828 - PropertyAccessExpression 2907800 2907821 - Identifier 2907800 2907805 - Identifier 2907806 2907821 - AmpersandToken 2907821 2907823 - Identifier 2907823 2907828 - Block 2907829 2907863 - ReturnStatement 2907831 2907852 - SwitchStatement 2907863 2909236 - Identifier 2907982 2907986 - CaseBlock 2907987 2909236 - CaseClause 2907989 2908037 - PropertyAccessExpression 2908007 2908036 - Identifier 2908007 2908022 - Identifier 2908023 2908036 - CaseClause 2908037 2908141 - PropertyAccessExpression 2908055 2908082 - Identifier 2908055 2908070 - Identifier 2908071 2908082 - ReturnStatement 2908083 2908141 - CallExpression 2908107 2908140 - Identifier 2908107 2908134 - Identifier 2908135 2908139 - CaseClause 2908141 2908212 - PropertyAccessExpression 2908159 2908211 - Identifier 2908159 2908174 - Identifier 2908175 2908211 - CaseClause 2908212 2908287 - PropertyAccessExpression 2908230 2908286 - Identifier 2908230 2908245 - Identifier 2908246 2908286 - CaseClause 2908287 2908420 - PropertyAccessExpression 2908305 2908361 - Identifier 2908305 2908320 - Identifier 2908321 2908361 - ReturnStatement 2908362 2908420 - CallExpression 2908386 2908419 - Identifier 2908386 2908413 - Identifier 2908414 2908418 - CaseClause 2908420 2908471 - PropertyAccessExpression 2908438 2908470 - Identifier 2908438 2908453 - Identifier 2908454 2908470 - CaseClause 2908471 2908539 - PropertyAccessExpression 2908489 2908538 - Identifier 2908489 2908504 - Identifier 2908505 2908538 - CaseClause 2908539 2908595 - PropertyAccessExpression 2908557 2908594 - Identifier 2908557 2908572 - Identifier 2908573 2908594 - CaseClause 2908595 2908711 - PropertyAccessExpression 2908613 2908657 - Identifier 2908613 2908628 - Identifier 2908629 2908657 - ReturnStatement 2908658 2908711 - CallExpression 2908682 2908710 - Identifier 2908682 2908704 - Identifier 2908705 2908709 - CaseClause 2908711 2908819 - PropertyAccessExpression 2908729 2908765 - Identifier 2908729 2908744 - Identifier 2908745 2908765 - ReturnStatement 2908766 2908819 - CallExpression 2908790 2908818 - Identifier 2908790 2908812 - Identifier 2908813 2908817 - CaseClause 2908819 2908888 - PropertyAccessExpression 2908837 2908887 - Identifier 2908837 2908852 - Identifier 2908853 2908887 - CaseClause 2908888 2908947 - PropertyAccessExpression 2908906 2908946 - Identifier 2908906 2908921 - Identifier 2908922 2908946 - CaseClause 2908947 2909076 - PropertyAccessExpression 2908965 2909007 - Identifier 2908965 2908980 - Identifier 2908981 2909007 - ReturnStatement 2909008 2909076 - CallExpression 2909032 2909075 - Identifier 2909032 2909069 - Identifier 2909070 2909074 - DefaultClause 2909076 2909225 - ReturnStatement 2909098 2909225 - CallExpression 2909122 2909224 - PropertyAccessExpression 2909122 2909140 - Identifier 2909122 2909128 - Identifier 2909129 2909140 - Identifier 2909141 2909145 - TemplateExpression 2909146 2909223 - TemplateHead 2909146 2909189 - TemplateSpan 2909189 2909223 - CallExpression 2909189 2909221 - PropertyAccessExpression 2909189 2909215 - Identifier 2909189 2909194 - Identifier 2909195 2909215 - Identifier 2909216 2909220 - TemplateTail 2909221 2909223 - FunctionDeclaration 2909236 2909596 - Identifier 2909256 2909279 - TypeParameter 2909280 2909281 - Identifier 2909280 2909281 - Parameter 2909283 2909293 - Identifier 2909283 2909287 - TypeReference 2909288 2909293 - Identifier 2909288 2909293 - Parameter 2909294 2909351 - Identifier 2909294 2909297 - FunctionType 2909298 2909351 - Parameter 2909300 2909310 - Identifier 2909300 2909304 - TypeReference 2909305 2909310 - Identifier 2909305 2909310 - Parameter 2909311 2909324 - Identifier 2909311 2909318 - TypeReference 2909319 2909324 - Identifier 2909319 2909324 - UnionType 2909328 2909351 - TypeReference 2909328 2909330 - Identifier 2909328 2909330 - LiteralType 2909332 2909339 - StringLiteral 2909332 2909339 - UndefinedKeyword 2909341 2909351 - UnionType 2909353 2909367 - TypeReference 2909353 2909355 - Identifier 2909353 2909355 - UndefinedKeyword 2909357 2909367 - Block 2909367 2909596 - VariableStatement 2909369 2909424 - VariableDeclarationList 2909369 2909423 - VariableDeclaration 2909388 2909423 - Identifier 2909388 2909399 - CallExpression 2909401 2909423 - Identifier 2909401 2909404 - Identifier 2909405 2909409 - PropertyAccessExpression 2909410 2909422 - Identifier 2909410 2909415 - Identifier 2909416 2909422 - IfStatement 2909424 2909482 - BinaryExpression 2909442 2909463 - Identifier 2909442 2909452 - EqualsEqualsEqualsToken 2909452 2909456 - StringLiteral 2909456 2909463 - ReturnStatement 2909464 2909482 - Identifier 2909471 2909481 - IfStatement 2909482 2909530 - Identifier 2909500 2909510 - ReturnStatement 2909511 2909530 - Identifier 2909518 2909529 - ReturnStatement 2909530 2909585 - CallExpression 2909550 2909584 - Identifier 2909550 2909574 - Identifier 2909575 2909579 - Identifier 2909580 2909583 - FunctionDeclaration 2909596 2910057 - Identifier 2909616 2909638 - Parameter 2909639 2909649 - Identifier 2909639 2909643 - TypeReference 2909644 2909649 - Identifier 2909644 2909649 - Block 2909650 2910057 - VariableStatement 2909652 2909699 - VariableDeclarationList 2909652 2909698 - VariableDeclaration 2909671 2909698 - Identifier 2909671 2909677 - CallExpression 2909679 2909698 - Identifier 2909679 2909692 - Identifier 2909693 2909697 - IfStatement 2909699 2909761 - BinaryExpression 2909717 2909745 - PropertyAccessExpression 2909717 2909738 - Identifier 2909717 2909722 - Identifier 2909723 2909738 - AmpersandToken 2909738 2909740 - Identifier 2909740 2909745 - ReturnStatement 2909746 2909761 - StringLiteral 2909753 2909760 - ExpressionStatement 2909761 2909968 - BinaryExpression 2909761 2909967 - PropertyAccessExpression 2909761 2909796 - Identifier 2909761 2909780 - Identifier 2909781 2909796 - BarEqualsToken 2909796 2909799 - BinaryExpression 2909799 2909967 - BinaryExpression 2909799 2909909 - PropertyAccessExpression 2909799 2909851 - Identifier 2909799 2909814 - Identifier 2909815 2909851 - BarToken 2909851 2909853 - PropertyAccessExpression 2909853 2909909 - Identifier 2909853 2909868 - Identifier 2909869 2909909 - BarToken 2909909 2909911 - PropertyAccessExpression 2909911 2909967 - Identifier 2909911 2909926 - Identifier 2909927 2909967 - ExpressionStatement 2909968 2910015 - CallExpression 2909968 2910014 - Identifier 2909968 2910008 - Identifier 2910009 2910013 - ReturnStatement 2910015 2910046 - Identifier 2910035 2910045 - FunctionDeclaration 2910057 2910195 - Identifier 2910077 2910104 - Parameter 2910105 2910115 - Identifier 2910105 2910109 - TypeReference 2910110 2910115 - Identifier 2910110 2910115 - Block 2910116 2910195 - ExpressionStatement 2910118 2910184 - CallExpression 2910118 2910183 - Identifier 2910118 2910154 - Identifier 2910155 2910159 - Identifier 2910160 2910182 - FunctionDeclaration 2910195 2910745 - Identifier 2910215 2910242 - Parameter 2910243 2910253 - Identifier 2910243 2910247 - TypeReference 2910248 2910253 - Identifier 2910248 2910253 - Block 2910254 2910745 - VariableStatement 2910256 2910307 - VariableDeclarationList 2910256 2910306 - VariableDeclaration 2910275 2910306 - Identifier 2910275 2910285 - CallExpression 2910287 2910306 - Identifier 2910287 2910300 - Identifier 2910301 2910305 - ExpressionStatement 2910307 2910517 - BinaryExpression 2910307 2910516 - PropertyAccessExpression 2910307 2910455 - Identifier 2910307 2910439 - Identifier 2910440 2910455 - BarEqualsToken 2910455 2910458 - BinaryExpression 2910458 2910516 - PropertyAccessExpression 2910458 2910487 - Identifier 2910458 2910473 - Identifier 2910474 2910487 - BarToken 2910487 2910489 - PropertyAccessExpression 2910489 2910516 - Identifier 2910489 2910504 - Identifier 2910505 2910516 - IfStatement 2910517 2910734 - BinaryExpression 2910634 2910671 - PropertyAccessExpression 2910634 2910643 - Identifier 2910634 2910638 - Identifier 2910639 2910643 - EqualsEqualsEqualsToken 2910643 2910647 - PropertyAccessExpression 2910647 2910671 - Identifier 2910647 2910658 - Identifier 2910659 2910671 - Block 2910672 2910734 - ExpressionStatement 2910674 2910719 - CallExpression 2910674 2910718 - Identifier 2910674 2910712 - Identifier 2910713 2910717 - FunctionDeclaration 2910745 2911196 - Identifier 2910765 2910782 - Parameter 2910783 2910793 - Identifier 2910783 2910787 - TypeReference 2910788 2910793 - Identifier 2910788 2910793 - Block 2910794 2911196 - VariableStatement 2910796 2910843 - VariableDeclarationList 2910796 2910842 - VariableDeclaration 2910815 2910842 - Identifier 2910815 2910821 - CallExpression 2910823 2910842 - Identifier 2910823 2910836 - Identifier 2910837 2910841 - IfStatement 2910843 2910905 - BinaryExpression 2910861 2910889 - PropertyAccessExpression 2910861 2910882 - Identifier 2910861 2910866 - Identifier 2910867 2910882 - AmpersandToken 2910882 2910884 - Identifier 2910884 2910889 - ReturnStatement 2910890 2910905 - StringLiteral 2910897 2910904 - ExpressionStatement 2910905 2911112 - BinaryExpression 2910905 2911111 - PropertyAccessExpression 2910905 2910940 - Identifier 2910905 2910924 - Identifier 2910925 2910940 - BarEqualsToken 2910940 2910943 - BinaryExpression 2910943 2911111 - BinaryExpression 2910943 2911065 - BinaryExpression 2910943 2911026 - PropertyAccessExpression 2910943 2910975 - Identifier 2910943 2910958 - Identifier 2910959 2910975 - BarToken 2910975 2910977 - PropertyAccessExpression 2910977 2911026 - Identifier 2910977 2910992 - Identifier 2910993 2911026 - BarToken 2911026 2911028 - PropertyAccessExpression 2911028 2911065 - Identifier 2911028 2911043 - Identifier 2911044 2911065 - BarToken 2911065 2911067 - PropertyAccessExpression 2911067 2911111 - Identifier 2911067 2911082 - Identifier 2911083 2911111 - ExpressionStatement 2911112 2911154 - CallExpression 2911112 2911153 - Identifier 2911112 2911147 - Identifier 2911148 2911152 - ReturnStatement 2911154 2911185 - Identifier 2911174 2911184 - FunctionDeclaration 2911196 2911324 - Identifier 2911216 2911238 - Parameter 2911239 2911249 - Identifier 2911239 2911243 - TypeReference 2911244 2911249 - Identifier 2911244 2911249 - Block 2911250 2911324 - ExpressionStatement 2911252 2911313 - CallExpression 2911252 2911312 - Identifier 2911252 2911288 - Identifier 2911289 2911293 - Identifier 2911294 2911311 - FunctionDeclaration 2911324 2911723 - Identifier 2911344 2911394 - Parameter 2911395 2911411 - Identifier 2911395 2911399 - TypeReference 2911400 2911411 - Identifier 2911400 2911411 - Block 2911412 2911723 - ReturnStatement 2911414 2911712 - BinaryExpression 2911551 2911711 - CallExpression 2911551 2911574 - Identifier 2911551 2911568 - Identifier 2911569 2911573 - BarBarToken 2911574 2911594 - BinaryExpression 2911594 2911711 - CallExpression 2911594 2911637 - Identifier 2911594 2911624 - PropertyAccessExpression 2911625 2911636 - Identifier 2911625 2911629 - Identifier 2911630 2911636 - AmpersandAmpersandToken 2911637 2911640 - BinaryExpression 2911640 2911711 - ParenthesizedExpression 2911640 2911702 - BinaryExpression 2911642 2911701 - PropertyAccessExpression 2911642 2911681 - PropertyAccessExpression 2911642 2911653 - Identifier 2911642 2911646 - Identifier 2911647 2911653 - Identifier 2911654 2911681 - QuestionQuestionToken 2911681 2911684 - PropertyAccessExpression 2911684 2911701 - PropertyAccessExpression 2911684 2911696 - Identifier 2911684 2911689 - Identifier 2911690 2911696 - Identifier 2911697 2911701 - EqualsEqualsEqualsToken 2911702 2911706 - Identifier 2911706 2911711 - FunctionDeclaration 2911723 2912593 - Identifier 2911743 2911765 - Parameter 2911766 2911776 - Identifier 2911766 2911770 - TypeReference 2911771 2911776 - Identifier 2911771 2911776 - Block 2911777 2912593 - VariableStatement 2911779 2911830 - VariableDeclarationList 2911779 2911829 - VariableDeclaration 2911798 2911829 - Identifier 2911798 2911808 - CallExpression 2911810 2911829 - Identifier 2911810 2911823 - Identifier 2911824 2911828 - ExpressionStatement 2911830 2911909 - BinaryExpression 2911830 2911908 - PropertyAccessExpression 2911830 2911869 - Identifier 2911830 2911853 - Identifier 2911854 2911869 - BarEqualsToken 2911869 2911872 - PropertyAccessExpression 2911872 2911908 - Identifier 2911872 2911887 - Identifier 2911888 2911908 - IfStatement 2911909 2912582 - CallExpression 2911927 2911945 - Identifier 2911927 2911939 - Identifier 2911940 2911944 - Block 2911946 2912582 - ExpressionStatement 2911948 2912079 - BinaryExpression 2911948 2912078 - PropertyAccessExpression 2911948 2911991 - Identifier 2911948 2911975 - Identifier 2911976 2911991 - BarEqualsToken 2911991 2911994 - BinaryExpression 2911994 2912078 - PropertyAccessExpression 2911994 2912034 - Identifier 2911994 2912009 - Identifier 2912010 2912034 - BarToken 2912034 2912036 - PropertyAccessExpression 2912036 2912078 - Identifier 2912036 2912051 - Identifier 2912052 2912078 - IfStatement 2912079 2912567 - BinaryExpression 2912209 2912339 - CallExpression 2912209 2912264 - Identifier 2912209 2912258 - Identifier 2912259 2912263 - AmpersandAmpersandToken 2912264 2912267 - PrefixUnaryExpression 2912267 2912339 - ParenthesizedExpression 2912269 2912339 - BinaryExpression 2912270 2912338 - CallExpression 2912270 2912309 - Identifier 2912270 2912296 - PropertyAccessExpression 2912297 2912308 - Identifier 2912297 2912301 - Identifier 2912302 2912308 - AmpersandAmpersandToken 2912309 2912312 - BinaryExpression 2912312 2912338 - PropertyAccessExpression 2912312 2912329 - PropertyAccessExpression 2912312 2912324 - Identifier 2912312 2912317 - Identifier 2912318 2912324 - Identifier 2912325 2912329 - EqualsEqualsEqualsToken 2912329 2912333 - Identifier 2912333 2912338 - Block 2912340 2912567 - VariableStatement 2912342 2912398 - VariableDeclarationList 2912342 2912397 - VariableDeclaration 2912369 2912397 - Identifier 2912369 2912371 - CallExpression 2912373 2912397 - Identifier 2912373 2912391 - Identifier 2912392 2912396 - IfStatement 2912398 2912548 - BinaryExpression 2912424 2912448 - Identifier 2912424 2912425 - AmpersandAmpersandToken 2912425 2912428 - BinaryExpression 2912428 2912448 - Identifier 2912428 2912430 - ExclamationEqualsEqualsToken 2912430 2912434 - Identifier 2912434 2912448 - Block 2912449 2912548 - ExpressionStatement 2912451 2912525 - CallExpression 2912451 2912524 - Identifier 2912451 2912515 - Identifier 2912516 2912520 - Identifier 2912521 2912523 - FunctionDeclaration 2912593 2913026 - Identifier 2912613 2912637 - Parameter 2912638 2912648 - Identifier 2912638 2912642 - TypeReference 2912643 2912648 - Identifier 2912643 2912648 - Block 2912649 2913026 - VariableStatement 2912651 2912698 - VariableDeclarationList 2912651 2912697 - VariableDeclaration 2912670 2912697 - Identifier 2912670 2912676 - CallExpression 2912678 2912697 - Identifier 2912678 2912691 - Identifier 2912692 2912696 - IfStatement 2912698 2912760 - BinaryExpression 2912716 2912744 - PropertyAccessExpression 2912716 2912737 - Identifier 2912716 2912721 - Identifier 2912722 2912737 - AmpersandToken 2912737 2912739 - Identifier 2912739 2912744 - ReturnStatement 2912745 2912760 - StringLiteral 2912752 2912759 - ExpressionStatement 2912760 2912935 - BinaryExpression 2912760 2912934 - PropertyAccessExpression 2912760 2912795 - Identifier 2912760 2912779 - Identifier 2912780 2912795 - BarEqualsToken 2912795 2912798 - BinaryExpression 2912798 2912934 - BinaryExpression 2912798 2912890 - PropertyAccessExpression 2912798 2912848 - Identifier 2912798 2912813 - Identifier 2912814 2912848 - BarToken 2912848 2912850 - PropertyAccessExpression 2912850 2912890 - Identifier 2912850 2912865 - Identifier 2912866 2912890 - BarToken 2912890 2912892 - PropertyAccessExpression 2912892 2912934 - Identifier 2912892 2912907 - Identifier 2912908 2912934 - ExpressionStatement 2912935 2912984 - CallExpression 2912935 2912983 - Identifier 2912935 2912977 - Identifier 2912978 2912982 - ReturnStatement 2912984 2913015 - Identifier 2913004 2913014 - FunctionDeclaration 2913026 2913283 - Identifier 2913046 2913083 - Parameter 2913084 2913094 - Identifier 2913084 2913088 - TypeReference 2913089 2913094 - Identifier 2913089 2913094 - Block 2913095 2913283 - VariableStatement 2913097 2913203 - VariableDeclarationList 2913097 2913202 - VariableDeclaration 2913116 2913202 - Identifier 2913116 2913122 - CallExpression 2913124 2913202 - Identifier 2913124 2913156 - ConditionalExpression 2913157 2913201 - CallExpression 2913157 2913180 - Identifier 2913157 2913174 - Identifier 2913175 2913179 - QuestionToken 2913180 2913182 - PropertyAccessExpression 2913182 2913194 - Identifier 2913182 2913187 - Identifier 2913188 2913194 - ColonToken 2913194 2913196 - Identifier 2913196 2913201 - ExpressionStatement 2913203 2913272 - CallExpression 2913203 2913271 - Identifier 2913203 2913239 - Identifier 2913240 2913245 - Identifier 2913246 2913270 - FunctionDeclaration 2913283 2913777 - Identifier 2913303 2913332 - Parameter 2913333 2913343 - Identifier 2913333 2913337 - TypeReference 2913338 2913343 - Identifier 2913338 2913343 - Block 2913344 2913777 - ExpressionStatement 2913346 2913388 - CallExpression 2913346 2913387 - Identifier 2913346 2913381 - Identifier 2913382 2913386 - IfStatement 2913388 2913502 - CallExpression 2913406 2913434 - Identifier 2913406 2913428 - Identifier 2913429 2913433 - Block 2913435 2913502 - ExpressionStatement 2913437 2913487 - CallExpression 2913437 2913486 - Identifier 2913437 2913480 - Identifier 2913481 2913485 - IfStatement 2913502 2913766 - BinaryExpression 2913520 2913576 - CallExpression 2913520 2913545 - Identifier 2913520 2913539 - Identifier 2913540 2913544 - AmpersandAmpersandToken 2913545 2913548 - CallExpression 2913548 2913576 - Identifier 2913548 2913563 - PropertyAccessExpression 2913564 2913575 - Identifier 2913564 2913568 - Identifier 2913569 2913575 - Block 2913577 2913766 - ExpressionStatement 2913579 2913751 - CallExpression 2913579 2913750 - Identifier 2913579 2913634 - AsExpression 2913635 2913749 - PropertyAccessExpression 2913635 2913646 - Identifier 2913635 2913639 - Identifier 2913640 2913646 - UnionType 2913649 2913749 - TypeReference 2913649 2913669 - Identifier 2913649 2913669 - TypeReference 2913671 2913689 - Identifier 2913671 2913689 - TypeReference 2913691 2913709 - Identifier 2913691 2913709 - TypeReference 2913711 2913727 - Identifier 2913711 2913727 - TypeReference 2913729 2913749 - Identifier 2913729 2913749 - FunctionDeclaration 2913784 2914002 - Identifier 2913800 2913819 - Parameter 2913820 2913836 - Identifier 2913820 2913824 - TypeReference 2913825 2913836 - Identifier 2913825 2913836 - TypeReference 2913838 2913854 - Identifier 2913838 2913854 - Block 2913854 2914002 - ExpressionStatement 2913856 2913903 - CallExpression 2913856 2913902 - Identifier 2913856 2913889 - PropertyAccessExpression 2913890 2913901 - Identifier 2913890 2913894 - Identifier 2913895 2913901 - ReturnStatement 2913903 2913995 - BinaryExpression 2913919 2913994 - PropertyAccessExpression 2913919 2913954 - CallExpression 2913919 2913938 - Identifier 2913919 2913932 - Identifier 2913933 2913937 - Identifier 2913939 2913954 - QuestionQuestionToken 2913954 2913957 - CallExpression 2913957 2913994 - Identifier 2913957 2913973 - Identifier 2913974 2913993 - FunctionDeclaration 2914002 2914343 - Identifier 2914018 2914039 - Parameter 2914040 2914050 - Identifier 2914040 2914044 - TypeReference 2914045 2914050 - Identifier 2914045 2914050 - TypePredicate 2914052 2914090 - Identifier 2914052 2914057 - UnionType 2914060 2914090 - TypeReference 2914060 2914071 - Identifier 2914060 2914071 - TypeReference 2914073 2914090 - Identifier 2914073 2914090 - Block 2914090 2914343 - SwitchStatement 2914092 2914313 - PropertyAccessExpression 2914110 2914119 - Identifier 2914110 2914114 - Identifier 2914115 2914119 - CaseBlock 2914120 2914313 - CaseClause 2914122 2914163 - PropertyAccessExpression 2914140 2914162 - Identifier 2914140 2914151 - Identifier 2914152 2914162 - CaseClause 2914163 2914218 - PropertyAccessExpression 2914181 2914217 - Identifier 2914181 2914192 - Identifier 2914193 2914217 - CaseClause 2914218 2914302 - PropertyAccessExpression 2914236 2914271 - Identifier 2914236 2914247 - Identifier 2914248 2914271 - ReturnStatement 2914272 2914302 - TrueKeyword 2914296 2914301 - ReturnStatement 2914313 2914336 - FalseKeyword 2914329 2914335 - FunctionDeclaration 2914343 2915251 - Identifier 2914359 2914376 - Parameter 2914377 2914412 - Identifier 2914377 2914381 - UnionType 2914382 2914412 - TypeReference 2914382 2914393 - Identifier 2914382 2914393 - TypeReference 2914395 2914412 - Identifier 2914395 2914412 - UnionType 2914414 2914442 - StringKeyword 2914414 2914421 - NumberKeyword 2914423 2914430 - UndefinedKeyword 2914432 2914442 - Block 2914442 2915251 - IfStatement 2914444 2914559 - BinaryExpression 2914458 2914493 - PropertyAccessExpression 2914458 2914467 - Identifier 2914458 2914462 - Identifier 2914463 2914467 - EqualsEqualsEqualsToken 2914467 2914471 - PropertyAccessExpression 2914471 2914493 - Identifier 2914471 2914482 - Identifier 2914483 2914493 - Block 2914494 2914559 - ReturnStatement 2914496 2914548 - PropertyAccessExpression 2914516 2914547 - CallExpression 2914516 2914541 - Identifier 2914516 2914535 - Identifier 2914536 2914540 - Identifier 2914542 2914547 - IfStatement 2914559 2914710 - PrefixUnaryExpression 2914575 2914609 - PropertyAccessExpression 2914576 2914609 - CallExpression 2914576 2914594 - Identifier 2914576 2914588 - Identifier 2914589 2914593 - Identifier 2914595 2914609 - Block 2914610 2914710 - ExpressionStatement 2914612 2914659 - VoidExpression 2914612 2914658 - CallExpression 2914630 2914658 - Identifier 2914630 2914652 - Identifier 2914653 2914657 - VariableStatement 2914710 2914883 - VariableDeclarationList 2914710 2914882 - VariableDeclaration 2914725 2914882 - Identifier 2914725 2914732 - BinaryExpression 2914734 2914882 - PropertyAccessExpression 2914734 2914768 - CallExpression 2914734 2914753 - Identifier 2914734 2914747 - Identifier 2914748 2914752 - Identifier 2914754 2914768 - BarBarToken 2914768 2914771 - ParenthesizedExpression 2914771 2914882 - ConditionalExpression 2914773 2914881 - CallExpression 2914773 2914801 - Identifier 2914773 2914795 - Identifier 2914796 2914800 - QuestionToken 2914801 2914803 - CallExpression 2914803 2914869 - Identifier 2914803 2914821 - Identifier 2914822 2914826 - PropertyAccessExpression 2914827 2914845 - Identifier 2914827 2914839 - Identifier 2914840 2914845 - TrueKeyword 2914846 2914868 - ColonToken 2914869 2914871 - Identifier 2914871 2914881 - IfStatement 2914883 2915215 - BinaryExpression 2914897 2914946 - Identifier 2914897 2914903 - AmpersandAmpersandToken 2914903 2914906 - ParenthesizedExpression 2914906 2914946 - BinaryExpression 2914908 2914945 - PropertyAccessExpression 2914908 2914920 - Identifier 2914908 2914914 - Identifier 2914915 2914920 - AmpersandToken 2914920 2914922 - PropertyAccessExpression 2914922 2914945 - Identifier 2914922 2914934 - Identifier 2914935 2914945 - Block 2914947 2915215 - VariableStatement 2914949 2915084 - VariableDeclarationList 2914949 2915083 - VariableDeclaration 2915036 2915083 - Identifier 2915036 2915043 - AsExpression 2915045 2915083 - PropertyAccessExpression 2915045 2915069 - Identifier 2915045 2915052 - Identifier 2915053 2915069 - TypeReference 2915072 2915083 - Identifier 2915072 2915083 - IfStatement 2915084 2915204 - CallExpression 2915102 2915128 - Identifier 2915102 2915113 - PropertyAccessExpression 2915114 2915127 - Identifier 2915114 2915120 - Identifier 2915121 2915127 - Block 2915129 2915204 - ReturnStatement 2915131 2915189 - PropertyAccessExpression 2915155 2915188 - CallExpression 2915155 2915182 - Identifier 2915155 2915174 - Identifier 2915175 2915181 - Identifier 2915183 2915188 - ReturnStatement 2915215 2915244 - Identifier 2915233 2915243 - FunctionDeclaration 2915251 2915423 - Identifier 2915267 2915282 - Parameter 2915283 2915293 - Identifier 2915283 2915287 - TypeReference 2915288 2915293 - Identifier 2915288 2915293 - BooleanKeyword 2915295 2915303 - Block 2915303 2915423 - ReturnStatement 2915305 2915416 - BinaryExpression 2915321 2915415 - PrefixUnaryExpression 2915321 2915355 - PrefixUnaryExpression 2915323 2915355 - ParenthesizedExpression 2915324 2915355 - BinaryExpression 2915325 2915354 - PropertyAccessExpression 2915325 2915335 - Identifier 2915325 2915329 - Identifier 2915330 2915335 - AmpersandToken 2915335 2915337 - PropertyAccessExpression 2915337 2915354 - Identifier 2915337 2915347 - Identifier 2915348 2915354 - AmpersandAmpersandToken 2915355 2915358 - BinaryExpression 2915358 2915415 - PropertyAccessExpression 2915358 2915411 - CallExpression 2915358 2915404 - Identifier 2915358 2915378 - Identifier 2915379 2915383 - PropertyAccessExpression 2915384 2915403 - Identifier 2915384 2915398 - Identifier 2915399 2915403 - Identifier 2915405 2915411 - GreaterThanToken 2915411 2915413 - NumericLiteral 2915413 2915415 - FunctionDeclaration 2915423 2920124 - Identifier 2915439 2915473 - Parameter 2915474 2915496 - Identifier 2915474 2915484 - TypeReference 2915485 2915496 - Identifier 2915485 2915496 - Parameter 2915497 2915513 - Identifier 2915497 2915506 - QuestionToken 2915506 2915507 - TypeReference 2915508 2915513 - Identifier 2915508 2915513 - TypeReference 2915515 2915546 - Identifier 2915515 2915546 - Block 2915546 2920124 - VariableStatement 2915548 2915690 - VariableDeclarationList 2915548 2915689 - VariableDeclaration 2915635 2915689 - Identifier 2915635 2915644 - CallExpression 2915646 2915689 - Identifier 2915646 2915663 - Identifier 2915664 2915674 - Identifier 2915675 2915688 - IfStatement 2915690 2915761 - PrefixUnaryExpression 2915704 2915713 - Identifier 2915705 2915713 - ReturnStatement 2915714 2915761 - PropertyAccessExpression 2915721 2915760 - Identifier 2915721 2915752 - Identifier 2915753 2915760 - IfStatement 2915761 2915926 - Identifier 2915777 2915785 - Block 2915786 2915926 - ExpressionStatement 2915788 2915840 - BinaryExpression 2915788 2915839 - Identifier 2915788 2915810 - EqualsToken 2915810 2915812 - CallExpression 2915812 2915839 - Identifier 2915812 2915829 - Identifier 2915830 2915838 - IfStatement 2915840 2915915 - PrefixUnaryExpression 2915858 2915867 - Identifier 2915859 2915867 - ReturnStatement 2915868 2915915 - PropertyAccessExpression 2915875 2915914 - Identifier 2915875 2915906 - Identifier 2915907 2915914 - VariableStatement 2915926 2916061 - VariableDeclarationList 2915926 2916060 - VariableDeclaration 2916041 2916060 - Identifier 2916041 2916052 - FalseKeyword 2916054 2916060 - IfStatement 2916061 2916382 - CallExpression 2916075 2916100 - Identifier 2916075 2916090 - Identifier 2916091 2916099 - Block 2916101 2916382 - VariableStatement 2916103 2916268 - VariableDeclarationList 2916103 2916267 - VariableDeclaration 2916122 2916267 - Identifier 2916122 2916138 - CallExpression 2916140 2916267 - Identifier 2916140 2916158 - CallExpression 2916159 2916187 - Identifier 2916159 2916177 - Identifier 2916178 2916186 - PropertyAccessExpression 2916188 2916206 - Identifier 2916188 2916200 - Identifier 2916201 2916206 - TrueKeyword 2916207 2916229 - TrueKeyword 2916230 2916256 - Identifier 2916257 2916266 - ExpressionStatement 2916268 2916371 - BinaryExpression 2916268 2916370 - Identifier 2916268 2916292 - EqualsToken 2916292 2916294 - PrefixUnaryExpression 2916294 2916370 - PrefixUnaryExpression 2916296 2916370 - CallExpression 2916297 2916370 - PropertyAccessExpression 2916297 2916333 - PropertyAccessExpression 2916297 2916326 - Identifier 2916297 2916312 - QuestionDotToken 2916312 2916314 - Identifier 2916314 2916326 - QuestionDotToken 2916326 2916328 - Identifier 2916328 2916333 - Identifier 2916334 2916369 - VariableStatement 2916382 2916519 - VariableDeclarationList 2916382 2916518 - VariableDeclaration 2916397 2916518 - Identifier 2916397 2916409 - CallExpression 2916411 2916518 - Identifier 2916411 2916429 - Identifier 2916430 2916438 - PropertyAccessExpression 2916439 2916457 - Identifier 2916439 2916451 - Identifier 2916452 2916457 - TrueKeyword 2916458 2916480 - TrueKeyword 2916481 2916507 - Identifier 2916508 2916517 - VariableStatement 2916519 2916652 - VariableDeclarationList 2916519 2916651 - VariableDeclaration 2916534 2916651 - Identifier 2916534 2916554 - ConditionalExpression 2916556 2916651 - BinaryExpression 2916556 2916609 - Identifier 2916556 2916568 - AmpersandAmpersandToken 2916568 2916571 - BinaryExpression 2916571 2916609 - PropertyAccessExpression 2916571 2916589 - Identifier 2916571 2916583 - Identifier 2916584 2916589 - AmpersandToken 2916589 2916591 - PropertyAccessExpression 2916591 2916609 - Identifier 2916591 2916603 - Identifier 2916604 2916609 - QuestionToken 2916609 2916611 - CallExpression 2916611 2916637 - Identifier 2916611 2916624 - Identifier 2916625 2916636 - ColonToken 2916637 2916639 - Identifier 2916639 2916651 - ExpressionStatement 2916652 2916756 - BinaryExpression 2916652 2916755 - Identifier 2916652 2916672 - BarBarEqualsToken 2916672 2916676 - PrefixUnaryExpression 2916676 2916755 - PrefixUnaryExpression 2916678 2916755 - ParenthesizedExpression 2916679 2916755 - BinaryExpression 2916680 2916754 - Identifier 2916680 2916691 - AmpersandAmpersandToken 2916691 2916694 - CallExpression 2916694 2916754 - Identifier 2916694 2916722 - Identifier 2916723 2916734 - PropertyAccessExpression 2916735 2916753 - Identifier 2916735 2916747 - Identifier 2916748 2916753 - VariableStatement 2916756 2917001 - VariableDeclarationList 2916756 2917000 - VariableDeclaration 2916881 2917000 - Identifier 2916881 2916892 - CallExpression 2916894 2917000 - Identifier 2916894 2916912 - Identifier 2916913 2916921 - PropertyAccessExpression 2916922 2916939 - Identifier 2916922 2916934 - Identifier 2916935 2916939 - TrueKeyword 2916940 2916962 - TrueKeyword 2916963 2916989 - Identifier 2916990 2916999 - VariableStatement 2917001 2917129 - VariableDeclarationList 2917001 2917128 - VariableDeclaration 2917016 2917128 - Identifier 2917016 2917035 - ConditionalExpression 2917037 2917128 - BinaryExpression 2917037 2917088 - Identifier 2917037 2917048 - AmpersandAmpersandToken 2917048 2917051 - BinaryExpression 2917051 2917088 - PropertyAccessExpression 2917051 2917068 - Identifier 2917051 2917062 - Identifier 2917063 2917068 - AmpersandToken 2917068 2917070 - PropertyAccessExpression 2917070 2917088 - Identifier 2917070 2917082 - Identifier 2917083 2917088 - QuestionToken 2917088 2917090 - CallExpression 2917090 2917115 - Identifier 2917090 2917103 - Identifier 2917104 2917114 - ColonToken 2917115 2917117 - Identifier 2917117 2917128 - IfStatement 2917129 2917411 - PrefixUnaryExpression 2917280 2917292 - Identifier 2917281 2917292 - Block 2917293 2917411 - ExpressionStatement 2917295 2917400 - BinaryExpression 2917295 2917399 - Identifier 2917295 2917319 - BarBarEqualsToken 2917319 2917323 - PrefixUnaryExpression 2917323 2917399 - PrefixUnaryExpression 2917325 2917399 - ParenthesizedExpression 2917326 2917399 - BinaryExpression 2917327 2917398 - Identifier 2917327 2917337 - AmpersandAmpersandToken 2917337 2917340 - CallExpression 2917340 2917398 - Identifier 2917340 2917368 - Identifier 2917369 2917379 - PropertyAccessExpression 2917380 2917397 - Identifier 2917380 2917392 - Identifier 2917393 2917397 - IfStatement 2917411 2918097 - BinaryExpression 2917427 2917492 - Identifier 2917427 2917446 - AmpersandAmpersandToken 2917446 2917449 - BinaryExpression 2917449 2917492 - Identifier 2917449 2917469 - EqualsEqualsEqualsToken 2917469 2917473 - Identifier 2917473 2917492 - Block 2917493 2918097 - VariableStatement 2917495 2917595 - VariableDeclarationList 2917495 2917594 - VariableDeclaration 2917514 2917594 - Identifier 2917514 2917534 - CallExpression 2917536 2917594 - Identifier 2917536 2917570 - FalseKeyword 2917571 2917593 - IfStatement 2917595 2917761 - BinaryExpression 2917613 2917679 - Identifier 2917613 2917632 - AmpersandAmpersandToken 2917632 2917635 - BinaryExpression 2917635 2917679 - Identifier 2917635 2917655 - EqualsEqualsEqualsToken 2917655 2917659 - Identifier 2917659 2917679 - Block 2917680 2917761 - ReturnStatement 2917682 2917746 - PropertyAccessExpression 2917706 2917745 - Identifier 2917706 2917737 - Identifier 2917738 2917745 - VariableStatement 2917761 2917838 - VariableDeclarationList 2917761 2917837 - VariableDeclaration 2917782 2917837 - Identifier 2917782 2917798 - CallExpression 2917800 2917837 - Identifier 2917800 2917816 - Identifier 2917817 2917836 - IfStatement 2917838 2918086 - BinaryExpression 2917856 2917909 - Identifier 2917856 2917871 - AmpersandAmpersandToken 2917871 2917874 - CallExpression 2917874 2917909 - Identifier 2917874 2917892 - Identifier 2917893 2917908 - Block 2917910 2918086 - ReturnStatement 2917912 2918071 - ConditionalExpression 2917936 2918070 - Identifier 2917936 2917947 - QuestionToken 2917947 2917949 - PropertyAccessExpression 2917949 2918002 - Identifier 2917949 2917980 - Identifier 2917981 2918002 - ColonToken 2918002 2918004 - PropertyAccessExpression 2918004 2918070 - Identifier 2918004 2918035 - Identifier 2918036 2918070 - IfStatement 2918097 2918368 - PrefixUnaryExpression 2918218 2918237 - Identifier 2918219 2918237 - Block 2918238 2918368 - ReturnStatement 2918240 2918357 - ConditionalExpression 2918260 2918356 - Identifier 2918260 2918271 - QuestionToken 2918271 2918273 - PropertyAccessExpression 2918273 2918315 - Identifier 2918273 2918304 - Identifier 2918305 2918315 - ColonToken 2918315 2918317 - PropertyAccessExpression 2918317 2918356 - Identifier 2918317 2918348 - Identifier 2918349 2918356 - VariableStatement 2918368 2918435 - VariableDeclarationList 2918368 2918434 - VariableDeclaration 2918383 2918434 - Identifier 2918383 2918388 - CallExpression 2918390 2918434 - Identifier 2918390 2918414 - Identifier 2918415 2918433 - IfStatement 2918435 2920117 - CallExpression 2918449 2918466 - Identifier 2918449 2918460 - Identifier 2918461 2918465 - Block 2918467 2918597 - ReturnStatement 2918469 2918586 - ConditionalExpression 2918489 2918585 - Identifier 2918489 2918500 - QuestionToken 2918500 2918502 - PropertyAccessExpression 2918502 2918544 - Identifier 2918502 2918533 - Identifier 2918534 2918544 - ColonToken 2918544 2918546 - PropertyAccessExpression 2918546 2918585 - Identifier 2918546 2918577 - Identifier 2918578 2918585 - IfStatement 2918611 2920117 - BinaryExpression 2918616 2918651 - PropertyAccessExpression 2918616 2918626 - Identifier 2918616 2918620 - Identifier 2918621 2918626 - AmpersandToken 2918626 2918628 - PropertyAccessExpression 2918628 2918651 - Identifier 2918628 2918638 - Identifier 2918639 2918651 - Block 2918652 2918728 - ReturnStatement 2918654 2918717 - PropertyAccessExpression 2918674 2918716 - Identifier 2918674 2918705 - Identifier 2918706 2918716 - IfStatement 2918742 2920117 - CallExpression 2918747 2918830 - Identifier 2918747 2918769 - Identifier 2918770 2918774 - BinaryExpression 2918775 2918829 - BinaryExpression 2918775 2918811 - PropertyAccessExpression 2918775 2918790 - Identifier 2918775 2918785 - Identifier 2918786 2918790 - BarToken 2918790 2918792 - PropertyAccessExpression 2918792 2918811 - Identifier 2918792 2918802 - Identifier 2918803 2918811 - BarToken 2918811 2918813 - PropertyAccessExpression 2918813 2918829 - Identifier 2918813 2918823 - Identifier 2918824 2918829 - Block 2918831 2918920 - ReturnStatement 2918833 2918909 - PropertyAccessExpression 2918853 2918908 - Identifier 2918853 2918884 - Identifier 2918885 2918908 - IfStatement 2918934 2920117 - CallExpression 2918939 2918990 - Identifier 2918939 2918961 - Identifier 2918962 2918966 - PropertyAccessExpression 2918967 2918989 - Identifier 2918967 2918977 - Identifier 2918978 2918989 - Block 2918991 2919068 - ReturnStatement 2918993 2919057 - PropertyAccessExpression 2919013 2919056 - Identifier 2919013 2919044 - Identifier 2919045 2919056 - IfStatement 2919082 2920117 - CallExpression 2919087 2919137 - Identifier 2919087 2919109 - Identifier 2919110 2919114 - PropertyAccessExpression 2919115 2919136 - Identifier 2919115 2919125 - Identifier 2919126 2919136 - Block 2919138 2919218 - ReturnStatement 2919140 2919207 - PropertyAccessExpression 2919160 2919206 - Identifier 2919160 2919191 - Identifier 2919192 2919206 - IfStatement 2919232 2920117 - CallExpression 2919237 2919287 - Identifier 2919237 2919259 - Identifier 2919260 2919264 - PropertyAccessExpression 2919265 2919286 - Identifier 2919265 2919275 - Identifier 2919276 2919286 - Block 2919288 2919368 - ReturnStatement 2919290 2919357 - PropertyAccessExpression 2919310 2919356 - Identifier 2919310 2919341 - Identifier 2919342 2919356 - IfStatement 2919382 2920117 - CallExpression 2919387 2919437 - Identifier 2919387 2919409 - Identifier 2919410 2919414 - PropertyAccessExpression 2919415 2919436 - Identifier 2919415 2919425 - Identifier 2919426 2919436 - Block 2919438 2919518 - ReturnStatement 2919440 2919507 - PropertyAccessExpression 2919460 2919506 - Identifier 2919460 2919491 - Identifier 2919492 2919506 - IfStatement 2919532 2920117 - CallExpression 2919537 2919554 - Identifier 2919537 2919548 - Identifier 2919549 2919553 - Block 2919555 2919634 - ReturnStatement 2919557 2919623 - PropertyAccessExpression 2919577 2919622 - Identifier 2919577 2919608 - Identifier 2919609 2919622 - IfStatement 2919648 2920117 - CallExpression 2919653 2919705 - Identifier 2919653 2919675 - Identifier 2919676 2919680 - PropertyAccessExpression 2919681 2919704 - Identifier 2919681 2919691 - Identifier 2919692 2919704 - Block 2919706 2919784 - ReturnStatement 2919708 2919773 - PropertyAccessExpression 2919728 2919772 - Identifier 2919728 2919759 - Identifier 2919760 2919772 - IfStatement 2919798 2920117 - CallExpression 2919803 2919823 - Identifier 2919803 2919817 - Identifier 2919818 2919822 - Block 2919824 2919911 - ReturnStatement 2919826 2919900 - PropertyAccessExpression 2919846 2919899 - Identifier 2919846 2919877 - Identifier 2919878 2919899 - IfStatement 2919925 2920117 - CallExpression 2919930 2919947 - Identifier 2919930 2919941 - Identifier 2919942 2919946 - Block 2919948 2920027 - ReturnStatement 2919950 2920016 - PropertyAccessExpression 2919970 2920015 - Identifier 2919970 2920001 - Identifier 2920002 2920015 - Block 2920041 2920117 - ReturnStatement 2920043 2920106 - PropertyAccessExpression 2920063 2920105 - Identifier 2920063 2920094 - Identifier 2920095 2920105 - FunctionDeclaration 2920124 2920854 - Identifier 2920140 2920164 - Parameter 2920165 2920195 - Identifier 2920165 2920178 - TypeReference 2920179 2920195 - Identifier 2920179 2920195 - Parameter 2920196 2920223 - Identifier 2920196 2920217 - TypeReference 2920218 2920223 - Identifier 2920218 2920223 - Parameter 2920224 2920248 - Identifier 2920224 2920230 - TypeReference 2920231 2920248 - Identifier 2920231 2920248 - Parameter 2920249 2920289 - Identifier 2920249 2920263 - TypeReference 2920264 2920289 - Identifier 2920264 2920289 - Parameter 2920290 2920313 - Identifier 2920290 2920298 - TypeReference 2920299 2920313 - Identifier 2920299 2920313 - Block 2920314 2920854 - VariableStatement 2920316 2920395 - VariableDeclarationList 2920316 2920394 - VariableDeclaration 2920331 2920394 - Identifier 2920331 2920343 - CallExpression 2920345 2920394 - Identifier 2920345 2920362 - Identifier 2920363 2920376 - Identifier 2920377 2920393 - IfStatement 2920395 2920518 - PrefixUnaryExpression 2920409 2920421 - Identifier 2920410 2920421 - Block 2920422 2920518 - ReturnStatement 2920424 2920507 - AsExpression 2920444 2920506 - CallExpression 2920444 2920487 - PropertyAccessExpression 2920444 2920464 - Identifier 2920444 2920452 - Identifier 2920453 2920464 - PropertyAccessExpression 2920465 2920486 - Identifier 2920465 2920475 - Identifier 2920476 2920486 - TypeReference 2920490 2920506 - Identifier 2920490 2920506 - VariableStatement 2920518 2920673 - VariableDeclarationList 2920518 2920672 - VariableDeclaration 2920627 2920672 - Identifier 2920627 2920634 - CallExpression 2920636 2920672 - Identifier 2920636 2920659 - Identifier 2920660 2920671 - ReturnStatement 2920673 2920847 - CallExpression 2920689 2920846 - PropertyAccessExpression 2920689 2920729 - Identifier 2920689 2920701 - Identifier 2920702 2920729 - Identifier 2920730 2920741 - Identifier 2920742 2920749 - Identifier 2920750 2920771 - BinaryExpression 2920772 2920821 - Identifier 2920772 2920778 - BarToken 2920778 2920780 - PropertyAccessExpression 2920780 2920821 - Identifier 2920780 2920797 - Identifier 2920798 2920821 - Identifier 2920822 2920836 - Identifier 2920837 2920845 - FunctionDeclaration 2920854 2921922 - Identifier 2920870 2920911 - Parameter 2920912 2920941 - Identifier 2920912 2920920 - TypeReference 2920921 2920941 - Identifier 2920921 2920941 - TypeReference 2920943 2920967 - Identifier 2920943 2920967 - Block 2920967 2921922 - ExpressionStatement 2920969 2921049 - BinaryExpression 2920969 2921048 - Identifier 2920969 2920987 - EqualsToken 2920987 2920989 - NonNullExpression 2920989 2921048 - CallExpression 2920989 2921047 - Identifier 2920989 2921006 - Identifier 2921007 2921015 - Identifier 2921016 2921046 - VariableStatement 2921049 2921186 - VariableDeclarationList 2921049 2921185 - VariableDeclaration 2921082 2921185 - Identifier 2921082 2921092 - ConditionalExpression 2921094 2921185 - BinaryExpression 2921094 2921135 - PropertyAccessExpression 2921094 2921108 - Identifier 2921094 2921103 - Identifier 2921104 2921108 - EqualsEqualsEqualsToken 2921108 2921112 - PropertyAccessExpression 2921112 2921135 - Identifier 2921112 2921123 - Identifier 2921124 2921135 - QuestionToken 2921135 2921137 - PropertyAccessExpression 2921137 2921160 - Identifier 2921137 2921148 - Identifier 2921149 2921160 - ColonToken 2921160 2921162 - PropertyAccessExpression 2921162 2921185 - Identifier 2921162 2921173 - Identifier 2921174 2921185 - VariableStatement 2921186 2921305 - VariableDeclarationList 2921186 2921304 - VariableDeclaration 2921201 2921304 - Identifier 2921201 2921215 - CallExpression 2921217 2921304 - Identifier 2921217 2921238 - TypeReference 2921239 2921258 - Identifier 2921239 2921258 - CallExpression 2921260 2921292 - Identifier 2921260 2921282 - Identifier 2921283 2921291 - Identifier 2921293 2921303 - VariableStatement 2921305 2921416 - VariableDeclarationList 2921305 2921415 - VariableDeclaration 2921320 2921415 - Identifier 2921320 2921334 - ConditionalExpression 2921336 2921415 - BinaryExpression 2921336 2921388 - Identifier 2921336 2921350 - AmpersandAmpersandToken 2921350 2921353 - ParenthesizedExpression 2921353 2921388 - BinaryExpression 2921355 2921387 - PropertyAccessExpression 2921355 2921372 - Identifier 2921355 2921368 - Identifier 2921369 2921372 - LessThanToken 2921372 2921374 - PropertyAccessExpression 2921374 2921387 - Identifier 2921374 2921383 - Identifier 2921384 2921387 - QuestionToken 2921388 2921390 - Identifier 2921390 2921404 - ColonToken 2921404 2921406 - Identifier 2921406 2921415 - VariableStatement 2921416 2921528 - VariableDeclarationList 2921416 2921527 - VariableDeclaration 2921431 2921527 - Identifier 2921431 2921446 - ConditionalExpression 2921448 2921527 - BinaryExpression 2921448 2921500 - Identifier 2921448 2921462 - AmpersandAmpersandToken 2921462 2921465 - ParenthesizedExpression 2921465 2921500 - BinaryExpression 2921467 2921499 - PropertyAccessExpression 2921467 2921484 - Identifier 2921467 2921480 - Identifier 2921481 2921484 - LessThanToken 2921484 2921486 - PropertyAccessExpression 2921486 2921499 - Identifier 2921486 2921495 - Identifier 2921496 2921499 - QuestionToken 2921500 2921502 - Identifier 2921502 2921511 - ColonToken 2921511 2921513 - Identifier 2921513 2921527 - VariableStatement 2921528 2921652 - VariableDeclarationList 2921528 2921651 - VariableDeclaration 2921543 2921651 - Identifier 2921543 2921555 - ConditionalExpression 2921557 2921651 - BinaryExpression 2921557 2921598 - PropertyAccessExpression 2921557 2921571 - Identifier 2921557 2921566 - Identifier 2921567 2921571 - EqualsEqualsEqualsToken 2921571 2921575 - PropertyAccessExpression 2921575 2921598 - Identifier 2921575 2921586 - Identifier 2921587 2921598 - QuestionToken 2921598 2921600 - Identifier 2921600 2921609 - ColonToken 2921609 2921611 - AsExpression 2921611 2921651 - Identifier 2921611 2921625 - TypeReference 2921628 2921651 - Identifier 2921628 2921651 - VariableStatement 2921652 2921776 - VariableDeclarationList 2921652 2921775 - VariableDeclaration 2921667 2921775 - Identifier 2921667 2921679 - ConditionalExpression 2921681 2921775 - BinaryExpression 2921681 2921722 - PropertyAccessExpression 2921681 2921695 - Identifier 2921681 2921690 - Identifier 2921691 2921695 - EqualsEqualsEqualsToken 2921695 2921699 - PropertyAccessExpression 2921699 2921722 - Identifier 2921699 2921710 - Identifier 2921711 2921722 - QuestionToken 2921722 2921724 - Identifier 2921724 2921733 - ColonToken 2921733 2921735 - AsExpression 2921735 2921775 - Identifier 2921735 2921749 - TypeReference 2921752 2921775 - Identifier 2921752 2921775 - ReturnStatement 2921776 2921915 - ObjectLiteralExpression 2921792 2921914 - ShorthandPropertyAssignment 2921794 2921821 - Identifier 2921794 2921821 - ShorthandPropertyAssignment 2921822 2921850 - Identifier 2921822 2921850 - ShorthandPropertyAssignment 2921851 2921876 - Identifier 2921851 2921876 - ShorthandPropertyAssignment 2921877 2921902 - Identifier 2921877 2921902 - FunctionDeclaration 2921922 2922555 - Identifier 2921936 2921975 - Parameter 2921976 2922020 - Identifier 2921976 2921998 - TypeReference 2921999 2922020 - Identifier 2921999 2922020 - Parameter 2922021 2922048 - Identifier 2922021 2922042 - TypeReference 2922043 2922048 - Identifier 2922043 2922048 - Parameter 2922049 2922073 - Identifier 2922049 2922055 - TypeReference 2922056 2922073 - Identifier 2922056 2922073 - Parameter 2922074 2922114 - Identifier 2922074 2922088 - TypeReference 2922089 2922114 - Identifier 2922089 2922114 - Parameter 2922115 2922138 - Identifier 2922115 2922123 - TypeReference 2922124 2922138 - Identifier 2922124 2922138 - Block 2922139 2922555 - VariableStatement 2922141 2922237 - VariableDeclarationList 2922141 2922236 - VariableDeclaration 2922156 2922236 - Identifier 2922156 2922177 - CallExpression 2922179 2922236 - Identifier 2922179 2922196 - Identifier 2922197 2922219 - Identifier 2922220 2922235 - IfStatement 2922237 2922369 - PrefixUnaryExpression 2922251 2922272 - Identifier 2922252 2922272 - Block 2922273 2922369 - ReturnStatement 2922275 2922358 - AsExpression 2922295 2922357 - CallExpression 2922295 2922338 - PropertyAccessExpression 2922295 2922315 - Identifier 2922295 2922303 - Identifier 2922304 2922315 - PropertyAccessExpression 2922316 2922337 - Identifier 2922316 2922326 - Identifier 2922327 2922337 - TypeReference 2922341 2922357 - Identifier 2922341 2922357 - ReturnStatement 2922369 2922548 - CallExpression 2922385 2922547 - PropertyAccessExpression 2922385 2922429 - Identifier 2922385 2922397 - Identifier 2922398 2922429 - Identifier 2922430 2922450 - Identifier 2922451 2922472 - BinaryExpression 2922473 2922522 - Identifier 2922473 2922479 - BarToken 2922479 2922481 - PropertyAccessExpression 2922481 2922522 - Identifier 2922481 2922498 - Identifier 2922499 2922522 - Identifier 2922523 2922537 - Identifier 2922538 2922546 - FunctionDeclaration 2922555 2923077 - Identifier 2922571 2922594 - Parameter 2922595 2922613 - Identifier 2922595 2922601 - TypeReference 2922602 2922613 - Identifier 2922602 2922613 - Parameter 2922614 2922641 - Identifier 2922614 2922635 - TypeReference 2922636 2922641 - Identifier 2922636 2922641 - Parameter 2922642 2922666 - Identifier 2922642 2922648 - TypeReference 2922649 2922666 - Identifier 2922649 2922666 - Parameter 2922667 2922707 - Identifier 2922667 2922681 - TypeReference 2922682 2922707 - Identifier 2922682 2922707 - Parameter 2922708 2922731 - Identifier 2922708 2922716 - TypeReference 2922717 2922731 - Identifier 2922717 2922731 - Block 2922732 2923077 - VariableStatement 2922734 2922796 - VariableDeclarationList 2922734 2922795 - VariableDeclaration 2922749 2922795 - Identifier 2922749 2922754 - CallExpression 2922756 2922795 - Identifier 2922756 2922773 - Identifier 2922774 2922780 - Identifier 2922781 2922794 - IfStatement 2922796 2922912 - PrefixUnaryExpression 2922810 2922815 - Identifier 2922811 2922815 - Block 2922816 2922912 - ReturnStatement 2922818 2922901 - AsExpression 2922838 2922900 - CallExpression 2922838 2922881 - PropertyAccessExpression 2922838 2922858 - Identifier 2922838 2922846 - Identifier 2922847 2922858 - PropertyAccessExpression 2922859 2922880 - Identifier 2922859 2922869 - Identifier 2922870 2922880 - TypeReference 2922884 2922900 - Identifier 2922884 2922900 - ReturnStatement 2922912 2923070 - CallExpression 2922928 2923069 - PropertyAccessExpression 2922928 2922967 - Identifier 2922928 2922940 - Identifier 2922941 2922967 - Identifier 2922968 2922972 - Identifier 2922973 2922994 - BinaryExpression 2922995 2923044 - Identifier 2922995 2923001 - BarToken 2923001 2923003 - PropertyAccessExpression 2923003 2923044 - Identifier 2923003 2923020 - Identifier 2923021 2923044 - Identifier 2923045 2923059 - Identifier 2923060 2923068 - FunctionDeclaration 2923077 2923200 - Identifier 2923093 2923107 - Parameter 2923108 2923120 - Identifier 2923108 2923112 - StringKeyword 2923113 2923120 - BooleanKeyword 2923122 2923130 - Block 2923130 2923200 - ReturnStatement 2923132 2923193 - CallExpression 2923148 2923192 - PropertyAccessExpression 2923148 2923160 - Identifier 2923148 2923156 - Identifier 2923157 2923160 - CallExpression 2923161 2923191 - Identifier 2923161 2923185 - Identifier 2923186 2923190 - FunctionDeclaration 2923200 2924105 - Identifier 2923216 2923241 - Parameter 2923242 2923263 - Identifier 2923242 2923251 - TypeReference 2923252 2923263 - Identifier 2923252 2923263 - Parameter 2923264 2923302 - Identifier 2923264 2923292 - QuestionToken 2923292 2923293 - BooleanKeyword 2923294 2923302 - UnionType 2923304 2923323 - TypeReference 2923304 2923311 - Identifier 2923304 2923311 - UndefinedKeyword 2923313 2923323 - Block 2923323 2924105 - VariableStatement 2923325 2923397 - VariableDeclarationList 2923325 2923396 - VariableDeclaration 2923340 2923396 - Identifier 2923340 2923355 - PropertyAccessExpression 2923357 2923396 - CallExpression 2923357 2923381 - Identifier 2923357 2923370 - Identifier 2923371 2923380 - Identifier 2923382 2923396 - IfStatement 2923397 2923475 - Identifier 2923411 2923425 - Block 2923426 2923475 - ReturnStatement 2923428 2923464 - Identifier 2923448 2923463 - VariableStatement 2923475 2923518 - VariableDeclarationList 2923475 2923517 - VariableDeclaration 2923490 2923517 - Identifier 2923490 2923499 - TypeReference 2923500 2923505 - Identifier 2923500 2923505 - Identifier 2923507 2923517 - IfStatement 2923518 2923918 - Identifier 2923532 2923559 - Block 2923560 2923918 - VariableStatement 2923562 2923760 - VariableDeclarationList 2923562 2923759 - VariableDeclaration 2923733 2923759 - Identifier 2923733 2923740 - PropertyAccessExpression 2923742 2923759 - Identifier 2923742 2923752 - Identifier 2923753 2923759 - IfStatement 2923760 2923907 - BinaryExpression 2923778 2923828 - CallExpression 2923778 2923799 - Identifier 2923778 2923791 - Identifier 2923792 2923798 - AmpersandAmpersandToken 2923799 2923802 - BinaryExpression 2923802 2923828 - Identifier 2923802 2923812 - EqualsEqualsEqualsToken 2923812 2923816 - PropertyAccessExpression 2923816 2923828 - Identifier 2923816 2923823 - Identifier 2923824 2923828 - Block 2923829 2923907 - ExpressionStatement 2923831 2923892 - BinaryExpression 2923831 2923891 - Identifier 2923831 2923857 - EqualsToken 2923857 2923859 - CallExpression 2923859 2923891 - Identifier 2923859 2923883 - Identifier 2923884 2923890 - ReturnStatement 2923918 2924098 - CallExpression 2923936 2924097 - Identifier 2923936 2923948 - Identifier 2923949 2923957 - PropertyAccessExpression 2923958 2923980 - Identifier 2923958 2923968 - Identifier 2923969 2923980 - BinaryExpression 2923981 2924045 - BinaryExpression 2923981 2924025 - PropertyAccessExpression 2923981 2923999 - Identifier 2923981 2923993 - Identifier 2923994 2923999 - BarToken 2923999 2924001 - PropertyAccessExpression 2924001 2924025 - Identifier 2924001 2924013 - Identifier 2924014 2924025 - BarToken 2924025 2924027 - PropertyAccessExpression 2924027 2924045 - Identifier 2924027 2924039 - Identifier 2924040 2924045 - Identifier 2924046 2924080 - TrueKeyword 2924081 2924096 - FunctionDeclaration 2924105 2925074 - Identifier 2924503 2924535 - Parameter 2924536 2924557 - Identifier 2924536 2924545 - TypeReference 2924546 2924557 - Identifier 2924546 2924557 - UnionType 2924559 2924578 - TypeReference 2924559 2924566 - Identifier 2924559 2924566 - UndefinedKeyword 2924568 2924578 - Block 2924578 2925074 - VariableStatement 2924580 2924652 - VariableDeclarationList 2924580 2924651 - VariableDeclaration 2924595 2924651 - Identifier 2924595 2924610 - PropertyAccessExpression 2924612 2924651 - CallExpression 2924612 2924636 - Identifier 2924612 2924625 - Identifier 2924626 2924635 - Identifier 2924637 2924651 - IfStatement 2924652 2924766 - BinaryExpression 2924666 2924716 - Identifier 2924666 2924680 - AmpersandAmpersandToken 2924680 2924683 - BinaryExpression 2924683 2924716 - Identifier 2924683 2924698 - ExclamationEqualsEqualsToken 2924698 2924702 - Identifier 2924702 2924716 - Block 2924717 2924766 - ReturnStatement 2924719 2924755 - Identifier 2924739 2924754 - ReturnStatement 2924766 2925067 - CallExpression 2924784 2925066 - Identifier 2924784 2924796 - Identifier 2924797 2924820 - PropertyAccessExpression 2924821 2924856 - Identifier 2924821 2924844 - Identifier 2924845 2924856 - BinaryExpression 2924857 2924934 - BinaryExpression 2924857 2924914 - PropertyAccessExpression 2924857 2924888 - Identifier 2924857 2924882 - Identifier 2924883 2924888 - BarToken 2924888 2924890 - PropertyAccessExpression 2924890 2924914 - Identifier 2924890 2924902 - Identifier 2924903 2924914 - BarToken 2924914 2924916 - PropertyAccessExpression 2924916 2924934 - Identifier 2924916 2924928 - Identifier 2924929 2924934 - Identifier 2924935 2924982 - TrueKeyword 2924983 2925011 - Identifier 2925012 2925054 - FunctionDeclaration 2925074 2925604 - Identifier 2925090 2925120 - Parameter 2925121 2925144 - Identifier 2925121 2925132 - TypeReference 2925133 2925144 - Identifier 2925133 2925144 - UnionType 2925146 2925170 - TypeReference 2925146 2925158 - Identifier 2925146 2925158 - UndefinedKeyword 2925160 2925170 - Block 2925170 2925604 - IfStatement 2925172 2925568 - PrefixUnaryExpression 2925186 2925221 - CallExpression 2925187 2925221 - Identifier 2925187 2925208 - Identifier 2925209 2925220 - Block 2925222 2925568 - VariableStatement 2925224 2925300 - VariableDeclarationList 2925224 2925299 - VariableDeclaration 2925243 2925299 - Identifier 2925243 2925253 - CallExpression 2925255 2925299 - Identifier 2925255 2925272 - Identifier 2925273 2925284 - Identifier 2925285 2925298 - IfStatement 2925300 2925557 - Identifier 2925318 2925327 - Block 2925328 2925557 - VariableStatement 2925330 2925399 - VariableDeclarationList 2925330 2925398 - VariableDeclaration 2925353 2925398 - Identifier 2925353 2925360 - CallExpression 2925362 2925398 - Identifier 2925362 2925387 - Identifier 2925388 2925397 - IfStatement 2925399 2925542 - Identifier 2925421 2925427 - Block 2925428 2925542 - ReturnStatement 2925430 2925523 - PropertyAccessExpression 2925458 2925522 - CallExpression 2925458 2925505 - Identifier 2925458 2925497 - Identifier 2925498 2925504 - Identifier 2925506 2925522 - ReturnStatement 2925568 2925597 - Identifier 2925586 2925596 - FunctionDeclaration 2925604 2927484 - Identifier 2925620 2925651 - Parameter 2925652 2925675 - Identifier 2925652 2925663 - TypeReference 2925664 2925675 - Identifier 2925664 2925675 - UnionType 2925677 2925703 - ArrayType 2925677 2925691 - TypeReference 2925677 2925689 - Identifier 2925677 2925689 - UndefinedKeyword 2925693 2925703 - Block 2925703 2927484 - IfStatement 2925705 2927448 - PrefixUnaryExpression 2925719 2925754 - CallExpression 2925720 2925754 - Identifier 2925720 2925741 - Identifier 2925742 2925753 - Block 2925755 2927448 - VariableStatement 2925757 2925833 - VariableDeclarationList 2925757 2925832 - VariableDeclaration 2925776 2925832 - Identifier 2925776 2925786 - CallExpression 2925788 2925832 - Identifier 2925788 2925805 - Identifier 2925806 2925817 - Identifier 2925818 2925831 - IfStatement 2925833 2927437 - Identifier 2925851 2925860 - Block 2925861 2927437 - VariableStatement 2925863 2925932 - VariableDeclarationList 2925863 2925931 - VariableDeclaration 2925886 2925931 - Identifier 2925886 2925893 - CallExpression 2925895 2925931 - Identifier 2925895 2925920 - Identifier 2925921 2925930 - IfStatement 2925932 2927422 - Identifier 2925954 2925960 - Block 2925961 2927422 - ReturnStatement 2925963 2927403 - CallExpression 2925991 2927402 - Identifier 2925991 2925998 - PropertyAccessExpression 2925999 2926058 - CallExpression 2925999 2926045 - Identifier 2925999 2926037 - Identifier 2926038 2926044 - Identifier 2926046 2926058 - ArrowFunction 2926059 2927401 - Parameter 2926059 2926071 - Identifier 2926059 2926071 - EqualsGreaterThanToken 2926071 2926074 - Block 2926074 2927401 - SwitchStatement 2926076 2927339 - PropertyAccessExpression 2926110 2926126 - Identifier 2926110 2926121 - Identifier 2926122 2926126 - CaseBlock 2926127 2927339 - CaseClause 2926129 2926195 - PropertyAccessExpression 2926163 2926194 - Identifier 2926163 2926174 - Identifier 2926175 2926194 - CaseClause 2926195 2926251 - PropertyAccessExpression 2926229 2926250 - Identifier 2926229 2926240 - Identifier 2926241 2926250 - CaseClause 2926251 2926312 - PropertyAccessExpression 2926285 2926311 - Identifier 2926285 2926296 - Identifier 2926297 2926311 - CaseClause 2926312 2926378 - PropertyAccessExpression 2926346 2926377 - Identifier 2926346 2926357 - Identifier 2926358 2926377 - CaseClause 2926378 2926443 - PropertyAccessExpression 2926412 2926442 - Identifier 2926412 2926423 - Identifier 2926424 2926442 - CaseClause 2926443 2926517 - PropertyAccessExpression 2926477 2926516 - Identifier 2926477 2926488 - Identifier 2926489 2926516 - CaseClause 2926517 2926574 - PropertyAccessExpression 2926551 2926573 - Identifier 2926551 2926562 - Identifier 2926563 2926573 - CaseClause 2926574 2926644 - PropertyAccessExpression 2926608 2926643 - Identifier 2926608 2926619 - Identifier 2926620 2926643 - CaseClause 2926644 2926710 - PropertyAccessExpression 2926678 2926709 - Identifier 2926678 2926689 - Identifier 2926690 2926709 - CaseClause 2926710 2926775 - PropertyAccessExpression 2926744 2926774 - Identifier 2926744 2926755 - Identifier 2926756 2926774 - CaseClause 2926775 2926835 - PropertyAccessExpression 2926809 2926834 - Identifier 2926809 2926820 - Identifier 2926821 2926834 - CaseClause 2926835 2926898 - PropertyAccessExpression 2926869 2926897 - Identifier 2926869 2926880 - Identifier 2926881 2926897 - CaseClause 2926898 2926960 - PropertyAccessExpression 2926932 2926959 - Identifier 2926932 2926943 - Identifier 2926944 2926959 - CaseClause 2926960 2927022 - PropertyAccessExpression 2926994 2927021 - Identifier 2926994 2927005 - Identifier 2927006 2927021 - CaseClause 2927022 2927086 - PropertyAccessExpression 2927056 2927085 - Identifier 2927056 2927067 - Identifier 2927068 2927085 - CaseClause 2927086 2927144 - PropertyAccessExpression 2927120 2927143 - Identifier 2927120 2927131 - Identifier 2927132 2927143 - CaseClause 2927144 2927202 - PropertyAccessExpression 2927178 2927201 - Identifier 2927178 2927189 - Identifier 2927190 2927201 - CaseClause 2927202 2927312 - PropertyAccessExpression 2927236 2927265 - Identifier 2927236 2927247 - Identifier 2927248 2927265 - ReturnStatement 2927266 2927312 - TrueKeyword 2927306 2927311 - ReturnStatement 2927339 2927378 - FalseKeyword 2927371 2927377 - ReturnStatement 2927448 2927477 - Identifier 2927466 2927476 - FunctionDeclaration 2927484 2927856 - Identifier 2927500 2927526 - Parameter 2927527 2927617 - Identifier 2927527 2927531 - UnionType 2927532 2927617 - TypeReference 2927532 2927552 - Identifier 2927532 2927552 - TypeReference 2927554 2927574 - Identifier 2927554 2927574 - TypeReference 2927576 2927594 - Identifier 2927576 2927594 - TypeReference 2927596 2927617 - Identifier 2927596 2927617 - BooleanKeyword 2927619 2927627 - Block 2927627 2927856 - IfStatement 2927629 2927826 - BinaryExpression 2927643 2927725 - CallExpression 2927643 2927670 - Identifier 2927643 2927664 - Identifier 2927665 2927669 - BarBarToken 2927670 2927673 - BinaryExpression 2927673 2927725 - CallExpression 2927673 2927701 - Identifier 2927673 2927695 - Identifier 2927696 2927700 - AmpersandAmpersandToken 2927701 2927704 - CallExpression 2927704 2927725 - Identifier 2927704 2927719 - Identifier 2927720 2927724 - Block 2927726 2927826 - ReturnStatement 2927728 2927815 - CallExpression 2927748 2927814 - Identifier 2927748 2927767 - CallExpression 2927768 2927813 - Identifier 2927768 2927783 - CallExpression 2927784 2927812 - Identifier 2927784 2927806 - Identifier 2927807 2927811 - ReturnStatement 2927826 2927849 - FalseKeyword 2927842 2927848 - FunctionDeclaration 2927856 2928756 - Identifier 2927872 2927890 - Parameter 2927891 2927910 - Identifier 2927891 2927895 - TypeReference 2927896 2927910 - Identifier 2927896 2927910 - Parameter 2927911 2927927 - Identifier 2927911 2927921 - TypeReference 2927922 2927927 - Identifier 2927922 2927927 - Parameter 2927928 2927951 - Identifier 2927928 2927936 - TypeReference 2927937 2927951 - Identifier 2927937 2927951 - TypeReference 2927953 2927964 - Identifier 2927953 2927964 - Block 2927964 2928756 - VariableStatement 2927966 2928264 - VariableDeclarationList 2927966 2928263 - VariableDeclaration 2927981 2928263 - Identifier 2927981 2927992 - ConditionalExpression 2927994 2928263 - BinaryExpression 2927994 2928026 - PropertyAccessExpression 2927994 2928005 - Identifier 2927994 2927999 - Identifier 2928000 2928005 - AmpersandToken 2928005 2928007 - PropertyAccessExpression 2928007 2928026 - Identifier 2928007 2928017 - Identifier 2928018 2928026 - QuestionToken 2928026 2928028 - CallExpression 2928028 2928161 - PropertyAccessExpression 2928028 2928059 - Identifier 2928028 2928040 - Identifier 2928041 2928059 - PropertyAccessExpression 2928060 2928071 - Identifier 2928060 2928064 - Identifier 2928065 2928071 - PropertyAccessExpression 2928072 2928090 - Identifier 2928072 2928084 - Identifier 2928085 2928090 - Identifier 2928091 2928101 - Identifier 2928102 2928122 - Identifier 2928123 2928151 - Identifier 2928152 2928160 - ColonToken 2928161 2928176 - ConditionalExpression 2928176 2928263 - BinaryExpression 2928176 2928194 - Identifier 2928176 2928181 - EqualsEqualsEqualsToken 2928181 2928185 - Identifier 2928185 2928194 - QuestionToken 2928194 2928196 - CallExpression 2928196 2928217 - PropertyAccessExpression 2928196 2928215 - Identifier 2928196 2928204 - Identifier 2928205 2928215 - ColonToken 2928217 2928219 - BinaryExpression 2928219 2928263 - BinaryExpression 2928219 2928238 - Identifier 2928219 2928224 - EqualsEqualsEqualsToken 2928224 2928228 - Identifier 2928228 2928238 - AmpersandAmpersandToken 2928238 2928241 - CallExpression 2928241 2928263 - PropertyAccessExpression 2928241 2928261 - Identifier 2928241 2928249 - Identifier 2928250 2928261 - IfStatement 2928264 2928308 - Identifier 2928278 2928288 - ReturnStatement 2928289 2928308 - Identifier 2928296 2928307 - VariableStatement 2928308 2928367 - VariableDeclarationList 2928308 2928366 - VariableDeclaration 2928323 2928366 - Identifier 2928323 2928336 - PropertyAccessExpression 2928338 2928366 - ParenthesizedExpression 2928338 2928360 - AsExpression 2928340 2928359 - Identifier 2928340 2928344 - TypeReference 2928347 2928359 - Identifier 2928347 2928359 - Identifier 2928361 2928366 - ReturnStatement 2928367 2928749 - ConditionalExpression 2928383 2928748 - BinaryExpression 2928383 2928416 - TypeOfExpression 2928383 2928403 - Identifier 2928390 2928403 - EqualsEqualsEqualsToken 2928403 2928407 - StringLiteral 2928407 2928416 - QuestionToken 2928416 2928418 - CallExpression 2928418 2928460 - PropertyAccessExpression 2928418 2928446 - Identifier 2928418 2928426 - Identifier 2928427 2928446 - Identifier 2928447 2928459 - ColonToken 2928460 2928462 - ConditionalExpression 2928462 2928748 - BinaryExpression 2928462 2928508 - TypeOfExpression 2928462 2928495 - Identifier 2928482 2928495 - EqualsEqualsEqualsToken 2928495 2928499 - StringLiteral 2928499 2928508 - QuestionToken 2928508 2928510 - CallExpression 2928510 2928552 - PropertyAccessExpression 2928510 2928538 - Identifier 2928510 2928518 - Identifier 2928519 2928538 - Identifier 2928539 2928551 - ColonToken 2928552 2928554 - ConditionalExpression 2928554 2928748 - BinaryExpression 2928554 2928584 - Identifier 2928554 2928580 - LessThanToken 2928580 2928582 - NumericLiteral 2928582 2928584 - QuestionToken 2928584 2928586 - CallExpression 2928586 2928690 - PropertyAccessExpression 2928586 2928622 - Identifier 2928586 2928594 - Identifier 2928595 2928622 - PropertyAccessExpression 2928623 2928644 - Identifier 2928623 2928633 - Identifier 2928634 2928644 - CallExpression 2928645 2928689 - PropertyAccessExpression 2928645 2928674 - Identifier 2928645 2928653 - Identifier 2928654 2928674 - PrefixUnaryExpression 2928675 2928688 - Identifier 2928676 2928688 - ColonToken 2928690 2928692 - CallExpression 2928692 2928748 - PropertyAccessExpression 2928692 2928734 - Identifier 2928692 2928713 - Identifier 2928714 2928734 - Identifier 2928735 2928747 - FunctionDeclaration 2928756 2929063 - Identifier 2928772 2928796 - Parameter 2928797 2928887 - Identifier 2928797 2928801 - UnionType 2928802 2928887 - TypeReference 2928802 2928822 - Identifier 2928802 2928822 - TypeReference 2928824 2928844 - Identifier 2928824 2928844 - TypeReference 2928846 2928864 - Identifier 2928846 2928864 - TypeReference 2928866 2928887 - Identifier 2928866 2928887 - Parameter 2928888 2928911 - Identifier 2928888 2928896 - TypeReference 2928897 2928911 - Identifier 2928897 2928911 - Block 2928912 2929063 - VariableStatement 2928914 2928983 - VariableDeclarationList 2928914 2928982 - VariableDeclaration 2928929 2928982 - Identifier 2928929 2928934 - CallExpression 2928936 2928982 - Identifier 2928936 2928952 - CallExpression 2928953 2928981 - Identifier 2928953 2928975 - Identifier 2928976 2928980 - ReturnStatement 2928983 2929056 - CallExpression 2928999 2929055 - Identifier 2928999 2929017 - AsExpression 2929018 2929039 - Identifier 2929018 2929022 - TypeReference 2929025 2929039 - Identifier 2929025 2929039 - Identifier 2929040 2929045 - Identifier 2929046 2929054 - FunctionDeclaration 2929063 2929294 - Identifier 2929079 2929099 - Parameter 2929100 2929114 - Identifier 2929100 2929108 - TypeReference 2929109 2929114 - Identifier 2929109 2929114 - UnionType 2929116 2929139 - TypeReference 2929116 2929127 - Identifier 2929116 2929127 - UndefinedKeyword 2929129 2929139 - Block 2929139 2929294 - ReturnStatement 2929141 2929287 - ConditionalExpression 2929157 2929286 - Identifier 2929157 2929166 - QuestionToken 2929166 2929168 - ParenthesizedExpression 2929168 2929266 - BinaryExpression 2929170 2929265 - CallExpression 2929170 2929195 - Identifier 2929170 2929185 - Identifier 2929186 2929194 - CommaToken 2929195 2929196 - ParenthesizedExpression 2929196 2929265 - BinaryExpression 2929198 2929264 - PropertyAccessExpression 2929198 2929243 - CallExpression 2929198 2929227 - Identifier 2929198 2929217 - Identifier 2929218 2929226 - Identifier 2929228 2929243 - BarBarToken 2929243 2929246 - Identifier 2929246 2929264 - ColonToken 2929266 2929268 - Identifier 2929268 2929286 - FunctionDeclaration 2929294 2930224 - Identifier 2929310 2929338 - Parameter 2929339 2929353 - Identifier 2929339 2929347 - TypeReference 2929348 2929353 - Identifier 2929348 2929353 - UnionType 2929355 2929378 - TypeReference 2929355 2929366 - Identifier 2929355 2929366 - UndefinedKeyword 2929368 2929378 - Block 2929378 2930224 - IfStatement 2929380 2930055 - Identifier 2929394 2929402 - Block 2929403 2930055 - VariableStatement 2929405 2929462 - VariableDeclarationList 2929405 2929461 - VariableDeclaration 2929424 2929461 - Identifier 2929424 2929429 - CallExpression 2929431 2929461 - Identifier 2929431 2929451 - Identifier 2929452 2929460 - IfStatement 2929462 2930044 - Identifier 2929480 2929484 - Block 2929485 2930044 - IfStatement 2929487 2929617 - PropertyAccessExpression 2929509 2929537 - Identifier 2929509 2929513 - Identifier 2929514 2929537 - Block 2929538 2929617 - ReturnStatement 2929540 2929598 - PropertyAccessExpression 2929568 2929597 - Identifier 2929568 2929573 - Identifier 2929574 2929597 - VariableStatement 2929617 2929686 - VariableDeclarationList 2929617 2929685 - VariableDeclaration 2929640 2929685 - Identifier 2929640 2929655 - CallExpression 2929657 2929685 - PropertyAccessExpression 2929657 2929674 - PropertyAccessExpression 2929657 2929670 - Identifier 2929657 2929662 - Identifier 2929663 2929670 - Identifier 2929671 2929674 - StringLiteral 2929675 2929684 - VariableStatement 2929686 2929787 - VariableDeclarationList 2929686 2929786 - VariableDeclaration 2929709 2929786 - Identifier 2929709 2929723 - ConditionalExpression 2929725 2929786 - CallExpression 2929725 2929749 - Identifier 2929725 2929733 - Identifier 2929734 2929748 - QuestionToken 2929749 2929751 - ElementAccessExpression 2929751 2929769 - Identifier 2929751 2929766 - NumericLiteral 2929767 2929768 - ColonToken 2929769 2929771 - Identifier 2929771 2929786 - IfStatement 2929787 2930029 - Identifier 2929809 2929822 - Block 2929823 2930029 - ExpressionStatement 2929825 2929952 - BinaryExpression 2929825 2929951 - PropertyAccessExpression 2929825 2929875 - Identifier 2929825 2929851 - Identifier 2929852 2929875 - EqualsToken 2929875 2929877 - CallExpression 2929877 2929951 - Identifier 2929877 2929901 - PropertyAccessExpression 2929902 2929933 - PropertyAccessExpression 2929902 2929925 - Identifier 2929902 2929915 - Identifier 2929916 2929925 - Identifier 2929926 2929933 - Identifier 2929934 2929950 - ReturnStatement 2929952 2930010 - PropertyAccessExpression 2929980 2930009 - Identifier 2929980 2929985 - Identifier 2929986 2930009 - IfStatement 2930055 2930217 - PropertyAccessExpression 2930071 2930105 - Identifier 2930071 2930086 - Identifier 2930087 2930105 - Block 2930106 2930217 - ReturnStatement 2930108 2930206 - CallExpression 2930128 2930205 - Identifier 2930128 2930152 - PropertyAccessExpression 2930153 2930187 - Identifier 2930153 2930168 - Identifier 2930169 2930187 - Identifier 2930188 2930204 - FunctionDeclaration 2930224 2930780 - Identifier 2930240 2930279 - Parameter 2930280 2930290 - Identifier 2930280 2930284 - TypeReference 2930285 2930290 - Identifier 2930285 2930290 - Block 2930291 2930780 - VariableStatement 2930293 2930355 - VariableDeclarationList 2930293 2930354 - VariableDeclaration 2930308 2930354 - Identifier 2930308 2930315 - CallExpression 2930317 2930354 - Identifier 2930317 2930348 - Identifier 2930349 2930353 - IfStatement 2930355 2930417 - Identifier 2930369 2930375 - Block 2930376 2930417 - ReturnStatement 2930378 2930406 - Identifier 2930398 2930405 - IfStatement 2930417 2930746 - BinaryExpression 2930431 2930512 - BinaryExpression 2930431 2930465 - PropertyAccessExpression 2930431 2930440 - Identifier 2930431 2930435 - Identifier 2930436 2930440 - EqualsEqualsEqualsToken 2930440 2930444 - PropertyAccessExpression 2930444 2930465 - Identifier 2930444 2930455 - Identifier 2930456 2930465 - AmpersandAmpersandToken 2930465 2930468 - BinaryExpression 2930468 2930512 - PropertyAccessExpression 2930468 2930485 - PropertyAccessExpression 2930468 2930480 - Identifier 2930468 2930473 - Identifier 2930474 2930480 - Identifier 2930481 2930485 - EqualsEqualsEqualsToken 2930485 2930489 - PropertyAccessExpression 2930489 2930512 - Identifier 2930489 2930500 - Identifier 2930501 2930512 - Block 2930513 2930746 - VariableStatement 2930515 2930635 - VariableDeclarationList 2930515 2930634 - VariableDeclaration 2930534 2930634 - Identifier 2930534 2930540 - PropertyAccessExpression 2930542 2930634 - CallExpression 2930542 2930622 - Identifier 2930542 2930583 - AsExpression 2930584 2930621 - PropertyAccessExpression 2930584 2930595 - Identifier 2930584 2930588 - Identifier 2930589 2930595 - TypeReference 2930598 2930621 - Identifier 2930598 2930621 - Identifier 2930623 2930634 - IfStatement 2930635 2930735 - Identifier 2930653 2930658 - Block 2930659 2930735 - ReturnStatement 2930661 2930720 - CallExpression 2930685 2930719 - Identifier 2930685 2930712 - Identifier 2930713 2930718 - ReturnStatement 2930746 2930773 - Identifier 2930762 2930772 - FunctionDeclaration 2930780 2940563 - Identifier 2930796 2930811 - TypeReference 2930814 2930827 - Identifier 2930814 2930827 - Block 2930827 2940563 - ReturnStatement 2930829 2939547 - ObjectLiteralExpression 2930845 2939546 - ShorthandPropertyAssignment 2930847 2930889 - Identifier 2930847 2930889 - ShorthandPropertyAssignment 2930890 2930934 - Identifier 2930890 2930934 - ShorthandPropertyAssignment 2930935 2930990 - Identifier 2930935 2930990 - ShorthandPropertyAssignment 2930991 2931035 - Identifier 2930991 2931035 - PropertyAssignment 2931036 2931338 - Identifier 2931036 2931073 - ArrowFunction 2931074 2931338 - Parameter 2931074 2931081 - Identifier 2931074 2931081 - EqualsGreaterThanToken 2931081 2931084 - Block 2931084 2931338 - VariableStatement 2931086 2931142 - VariableDeclarationList 2931086 2931141 - VariableDeclaration 2931109 2931141 - Identifier 2931109 2931114 - CallExpression 2931116 2931141 - Identifier 2931116 2931133 - Identifier 2931134 2931140 - ReturnStatement 2931142 2931323 - ConditionalExpression 2931236 2931322 - BinaryExpression 2931236 2931283 - Identifier 2931236 2931241 - AmpersandAmpersandToken 2931241 2931244 - Identifier 2931244 2931283 - QuestionToken 2931283 2931285 - CallExpression 2931285 2931315 - Identifier 2931285 2931309 - Identifier 2931310 2931314 - ColonToken 2931315 2931317 - TrueKeyword 2931317 2931322 - ShorthandPropertyAssignment 2931339 2931366 - Identifier 2931339 2931366 - PropertyAssignment 2931367 2931714 - Identifier 2931367 2931409 - ArrowFunction 2931410 2931714 - Parameter 2931412 2931418 - Identifier 2931412 2931418 - Parameter 2931419 2931434 - Identifier 2931419 2931433 - QuestionToken 2931433 2931434 - EqualsGreaterThanToken 2931435 2931438 - Block 2931438 2931714 - VariableStatement 2931440 2931496 - VariableDeclarationList 2931440 2931495 - VariableDeclaration 2931463 2931495 - Identifier 2931463 2931468 - CallExpression 2931470 2931495 - Identifier 2931470 2931487 - Identifier 2931488 2931494 - ReturnStatement 2931496 2931699 - ConditionalExpression 2931592 2931698 - BinaryExpression 2931592 2931639 - Identifier 2931592 2931597 - AmpersandAmpersandToken 2931597 2931600 - Identifier 2931600 2931639 - QuestionToken 2931639 2931641 - CallExpression 2931641 2931691 - Identifier 2931641 2931670 - Identifier 2931671 2931675 - Identifier 2931676 2931690 - ColonToken 2931691 2931693 - TrueKeyword 2931693 2931698 - PropertyAssignment 2931715 2931933 - Identifier 2931715 2931745 - ArrowFunction 2931746 2931933 - Parameter 2931748 2931754 - Identifier 2931748 2931754 - Parameter 2931755 2931760 - Identifier 2931755 2931760 - EqualsGreaterThanToken 2931761 2931764 - Block 2931764 2931933 - VariableStatement 2931766 2931822 - VariableDeclarationList 2931766 2931821 - VariableDeclaration 2931789 2931821 - Identifier 2931789 2931794 - CallExpression 2931796 2931821 - Identifier 2931796 2931813 - Identifier 2931814 2931820 - IfStatement 2931822 2931864 - PrefixUnaryExpression 2931844 2931849 - Identifier 2931845 2931849 - ReturnStatement 2931850 2931864 - FalseKeyword 2931857 2931863 - ReturnStatement 2931864 2931918 - CallExpression 2931888 2931917 - Identifier 2931888 2931905 - Identifier 2931906 2931910 - Identifier 2931911 2931916 - ShorthandPropertyAssignment 2931934 2931989 - Identifier 2931934 2931989 - ShorthandPropertyAssignment 2931990 2932024 - Identifier 2931990 2932024 - ShorthandPropertyAssignment 2932025 2932065 - Identifier 2932025 2932065 - ShorthandPropertyAssignment 2932066 2932111 - Identifier 2932066 2932111 - ShorthandPropertyAssignment 2932112 2932154 - Identifier 2932112 2932154 - ShorthandPropertyAssignment 2932155 2932201 - Identifier 2932155 2932201 - ShorthandPropertyAssignment 2932202 2932239 - Identifier 2932202 2932239 - ShorthandPropertyAssignment 2932240 2932292 - Identifier 2932240 2932292 - ShorthandPropertyAssignment 2932293 2932329 - Identifier 2932293 2932329 - ShorthandPropertyAssignment 2932330 2932367 - Identifier 2932330 2932367 - ShorthandPropertyAssignment 2932368 2932400 - Identifier 2932368 2932400 - ShorthandPropertyAssignment 2932401 2932434 - Identifier 2932401 2932434 - PropertyAssignment 2932435 2932638 - Identifier 2932435 2932465 - ArrowFunction 2932466 2932638 - Parameter 2932466 2932473 - Identifier 2932466 2932473 - EqualsGreaterThanToken 2932473 2932476 - Block 2932476 2932638 - VariableStatement 2932478 2932556 - VariableDeclarationList 2932478 2932555 - VariableDeclaration 2932501 2932555 - Identifier 2932501 2932506 - CallExpression 2932508 2932555 - Identifier 2932508 2932525 - Identifier 2932526 2932532 - Identifier 2932533 2932554 - ReturnStatement 2932556 2932623 - ConditionalExpression 2932580 2932622 - Identifier 2932580 2932585 - QuestionToken 2932585 2932587 - CallExpression 2932587 2932610 - Identifier 2932587 2932604 - Identifier 2932605 2932609 - ColonToken 2932610 2932612 - Identifier 2932612 2932622 - PropertyAssignment 2932639 2932838 - Identifier 2932639 2932671 - ArrowFunction 2932672 2932838 - Parameter 2932672 2932679 - Identifier 2932672 2932679 - EqualsGreaterThanToken 2932679 2932682 - Block 2932682 2932838 - VariableStatement 2932684 2932754 - VariableDeclarationList 2932684 2932753 - VariableDeclaration 2932707 2932753 - Identifier 2932707 2932712 - CallExpression 2932714 2932753 - Identifier 2932714 2932731 - Identifier 2932732 2932738 - Identifier 2932739 2932752 - ReturnStatement 2932754 2932823 - ConditionalExpression 2932778 2932822 - Identifier 2932778 2932783 - QuestionToken 2932783 2932785 - CallExpression 2932785 2932810 - Identifier 2932785 2932804 - Identifier 2932805 2932809 - ColonToken 2932810 2932812 - Identifier 2932812 2932822 - ShorthandPropertyAssignment 2932839 2932873 - Identifier 2932839 2932873 - PropertyAssignment 2932874 2933079 - Identifier 2932874 2932908 - ArrowFunction 2932909 2933079 - Parameter 2932909 2932916 - Identifier 2932909 2932916 - EqualsGreaterThanToken 2932916 2932919 - Block 2932919 2933079 - VariableStatement 2932921 2932977 - VariableDeclarationList 2932921 2932976 - VariableDeclaration 2932944 2932976 - Identifier 2932944 2932949 - CallExpression 2932951 2932976 - Identifier 2932951 2932968 - Identifier 2932969 2932975 - ReturnStatement 2932977 2933064 - BinaryExpression 2933001 2933063 - Identifier 2933001 2933006 - AmpersandAmpersandToken 2933006 2933009 - CallExpression 2933009 2933063 - Identifier 2933009 2933030 - Identifier 2933031 2933035 - PropertyAccessExpression 2933036 2933062 - Identifier 2933036 2933050 - Identifier 2933051 2933062 - ShorthandPropertyAssignment 2933080 2933123 - Identifier 2933080 2933123 - ShorthandPropertyAssignment 2933124 2933168 - Identifier 2933124 2933168 - ShorthandPropertyAssignment 2933169 2933216 - Identifier 2933169 2933216 - ShorthandPropertyAssignment 2933217 2933250 - Identifier 2933217 2933250 - ShorthandPropertyAssignment 2933251 2933288 - Identifier 2933251 2933288 - PropertyAssignment 2933289 2933535 - Identifier 2933289 2933339 - ArrowFunction 2933340 2933535 - Parameter 2933340 2933347 - Identifier 2933340 2933347 - EqualsGreaterThanToken 2933347 2933350 - Block 2933350 2933535 - VariableStatement 2933352 2933444 - VariableDeclarationList 2933352 2933443 - VariableDeclaration 2933375 2933443 - Identifier 2933375 2933380 - CallExpression 2933382 2933443 - Identifier 2933382 2933399 - Identifier 2933400 2933406 - Identifier 2933407 2933442 - ReturnStatement 2933444 2933520 - BinaryExpression 2933468 2933519 - Identifier 2933468 2933473 - AmpersandAmpersandToken 2933473 2933476 - CallExpression 2933476 2933519 - Identifier 2933476 2933513 - Identifier 2933514 2933518 - ShorthandPropertyAssignment 2933536 2933575 - Identifier 2933536 2933575 - PropertyAssignment 2933576 2933896 - Identifier 2933576 2933601 - ArrowFunction 2933602 2933896 - Parameter 2933604 2933623 - Identifier 2933604 2933610 - TypeReference 2933611 2933623 - Identifier 2933611 2933623 - TypePredicate 2933625 2933656 - Identifier 2933625 2933632 - TypeReference 2933635 2933656 - Identifier 2933635 2933656 - EqualsGreaterThanToken 2933656 2933659 - Block 2933659 2933896 - VariableStatement 2933661 2933732 - VariableDeclarationList 2933661 2933731 - VariableDeclaration 2933684 2933731 - Identifier 2933684 2933689 - CallExpression 2933691 2933731 - Identifier 2933691 2933708 - Identifier 2933709 2933715 - Identifier 2933716 2933730 - VariableStatement 2933732 2933802 - VariableDeclarationList 2933732 2933801 - VariableDeclaration 2933755 2933801 - Identifier 2933755 2933762 - BinaryExpression 2933764 2933801 - Identifier 2933764 2933769 - AmpersandAmpersandToken 2933769 2933772 - CallExpression 2933772 2933801 - Identifier 2933772 2933795 - Identifier 2933796 2933800 - ReturnStatement 2933802 2933881 - PrefixUnaryExpression 2933826 2933880 - PrefixUnaryExpression 2933828 2933880 - ParenthesizedExpression 2933829 2933880 - BinaryExpression 2933830 2933879 - Identifier 2933830 2933836 - AmpersandAmpersandToken 2933836 2933839 - BinaryExpression 2933839 2933879 - CallExpression 2933839 2933861 - Identifier 2933839 2933853 - Identifier 2933854 2933860 - AmpersandToken 2933861 2933863 - PropertyAccessExpression 2933863 2933879 - Identifier 2933863 2933874 - Identifier 2933875 2933879 - ShorthandPropertyAssignment 2933897 2933930 - Identifier 2933897 2933930 - ShorthandPropertyAssignment 2933931 2933972 - Identifier 2933931 2933972 - PropertyAssignment 2933973 2934332 - Identifier 2933973 2934010 - ArrowFunction 2934011 2934332 - Parameter 2934013 2934017 - Identifier 2934013 2934017 - Parameter 2934018 2934023 - Identifier 2934018 2934023 - EqualsGreaterThanToken 2934024 2934027 - Block 2934027 2934332 - VariableStatement 2934029 2934088 - VariableDeclarationList 2934029 2934087 - VariableDeclaration 2934052 2934087 - Identifier 2934052 2934062 - CallExpression 2934064 2934087 - Identifier 2934064 2934081 - Identifier 2934082 2934086 - VariableStatement 2934088 2934147 - VariableDeclarationList 2934088 2934146 - VariableDeclaration 2934111 2934146 - Identifier 2934111 2934121 - CallExpression 2934123 2934146 - Identifier 2934123 2934140 - Identifier 2934141 2934145 - ReturnStatement 2934147 2934317 - BinaryExpression 2934171 2934316 - BinaryExpression 2934171 2934267 - BinaryExpression 2934171 2934198 - PrefixUnaryExpression 2934171 2934183 - PrefixUnaryExpression 2934173 2934183 - Identifier 2934174 2934183 - AmpersandAmpersandToken 2934183 2934186 - PrefixUnaryExpression 2934186 2934198 - PrefixUnaryExpression 2934188 2934198 - Identifier 2934189 2934198 - AmpersandAmpersandToken 2934198 2934201 - ParenthesizedExpression 2934201 2934267 - BinaryExpression 2934203 2934266 - CallExpression 2934203 2934235 - Identifier 2934203 2934224 - Identifier 2934225 2934234 - BarBarToken 2934235 2934238 - CallExpression 2934238 2934266 - Identifier 2934238 2934255 - Identifier 2934256 2934265 - AmpersandAmpersandToken 2934267 2934270 - CallExpression 2934270 2934316 - Identifier 2934270 2934294 - Identifier 2934295 2934304 - Identifier 2934305 2934315 - PropertyAssignment 2934333 2935130 - Identifier 2934333 2934384 - ArrowFunction 2934385 2935130 - Parameter 2934387 2934391 - Identifier 2934387 2934391 - Parameter 2934392 2934398 - Identifier 2934392 2934398 - Parameter 2934399 2934413 - Identifier 2934399 2934413 - Parameter 2934414 2934422 - Identifier 2934414 2934422 - EqualsGreaterThanToken 2934423 2934426 - Block 2934426 2935130 - VariableStatement 2934428 2934493 - VariableDeclarationList 2934428 2934492 - VariableDeclaration 2934451 2934492 - Identifier 2934451 2934453 - AsExpression 2934455 2934492 - CallExpression 2934455 2934478 - Identifier 2934455 2934472 - Identifier 2934473 2934477 - TypeReference 2934481 2934492 - Identifier 2934481 2934492 - ExpressionStatement 2934493 2934627 - CallExpression 2934493 2934626 - PropertyAccessExpression 2934493 2934523 - Identifier 2934493 2934516 - Identifier 2934517 2934523 - BinaryExpression 2934524 2934561 - Identifier 2934524 2934525 - AmpersandAmpersandToken 2934525 2934528 - BinaryExpression 2934528 2934561 - PropertyAccessExpression 2934528 2934535 - Identifier 2934528 2934530 - Identifier 2934531 2934535 - EqualsEqualsEqualsToken 2934535 2934539 - PropertyAccessExpression 2934539 2934561 - Identifier 2934539 2934550 - Identifier 2934551 2934561 - StringLiteral 2934562 2934625 - VariableStatement 2934627 2934686 - VariableDeclarationList 2934627 2934685 - VariableDeclaration 2934650 2934685 - Identifier 2934650 2934654 - CallExpression 2934656 2934685 - Identifier 2934656 2934679 - Identifier 2934680 2934684 - IfStatement 2934686 2934880 - PrefixUnaryExpression 2934708 2934712 - Identifier 2934709 2934712 - Block 2934713 2934880 - ReturnStatement 2934715 2934861 - ConditionalExpression 2934743 2934860 - PrefixUnaryExpression 2934743 2934756 - PropertyAccessExpression 2934745 2934756 - Identifier 2934745 2934749 - Identifier 2934750 2934756 - QuestionToken 2934756 2934758 - ArrayLiteralExpression 2934758 2934761 - ColonToken 2934761 2934763 - CallExpression 2934763 2934860 - PropertyAccessExpression 2934763 2934810 - Identifier 2934763 2934775 - Identifier 2934776 2934810 - PropertyAccessExpression 2934811 2934822 - Identifier 2934811 2934815 - Identifier 2934816 2934822 - Identifier 2934823 2934828 - Identifier 2934829 2934835 - Identifier 2934836 2934850 - Identifier 2934851 2934859 - ExpressionStatement 2934880 2934931 - CallExpression 2934880 2934930 - Identifier 2934880 2934925 - Identifier 2934926 2934929 - ReturnStatement 2934931 2935115 - ConditionalExpression 2934997 2935114 - PrefixUnaryExpression 2934997 2935010 - PropertyAccessExpression 2934999 2935010 - Identifier 2934999 2935002 - Identifier 2935003 2935010 - QuestionToken 2935010 2935012 - ArrayLiteralExpression 2935012 2935015 - ColonToken 2935015 2935017 - CallExpression 2935017 2935114 - PropertyAccessExpression 2935017 2935064 - Identifier 2935017 2935029 - Identifier 2935030 2935064 - PropertyAccessExpression 2935065 2935076 - Identifier 2935065 2935068 - Identifier 2935069 2935076 - Identifier 2935077 2935082 - Identifier 2935083 2935089 - Identifier 2935090 2935104 - Identifier 2935105 2935113 - ShorthandPropertyAssignment 2935131 2935175 - Identifier 2935131 2935175 - ShorthandPropertyAssignment 2935176 2935231 - Identifier 2935176 2935231 - PropertyAssignment 2935232 2939534 - Identifier 2935232 2935276 - ArrowFunction 2935277 2939534 - Parameter 2935279 2935282 - Identifier 2935279 2935282 - Parameter 2935283 2935293 - Identifier 2935283 2935293 - Parameter 2935294 2935300 - Identifier 2935294 2935300 - Parameter 2935301 2935315 - Identifier 2935301 2935315 - Parameter 2935316 2935324 - Identifier 2935316 2935324 - EqualsGreaterThanToken 2935325 2935328 - Block 2935328 2939534 - VariableStatement 2935330 2935371 - VariableDeclarationList 2935330 2935370 - VariableDeclaration 2935353 2935370 - Identifier 2935353 2935357 - PropertyAccessExpression 2935359 2935370 - Identifier 2935359 2935363 - Identifier 2935364 2935370 - VariableStatement 2935371 2935451 - VariableDeclarationList 2935371 2935450 - VariableDeclaration 2935394 2935450 - Identifier 2935394 2935406 - CallExpression 2935408 2935450 - Identifier 2935408 2935428 - CallExpression 2935429 2935449 - Identifier 2935429 2935444 - Identifier 2935445 2935448 - VariableStatement 2935451 2935517 - VariableDeclarationList 2935451 2935516 - VariableDeclaration 2935474 2935516 - Identifier 2935474 2935494 - CallExpression 2935496 2935516 - Identifier 2935496 2935511 - Identifier 2935512 2935515 - VariableStatement 2935517 2935673 - VariableDeclarationList 2935517 2935672 - VariableDeclaration 2935540 2935672 - Identifier 2935540 2935554 - BinaryExpression 2935556 2935672 - Identifier 2935556 2935576 - AmpersandAmpersandToken 2935576 2935579 - CallExpression 2935579 2935672 - Identifier 2935579 2935606 - Identifier 2935607 2935626 - CallExpression 2935627 2935671 - Identifier 2935627 2935637 - CallExpression 2935638 2935670 - PropertyAccessExpression 2935638 2935668 - CallExpression 2935638 2935661 - Identifier 2935638 2935656 - Identifier 2935657 2935660 - Identifier 2935662 2935668 - VariableStatement 2935673 2935702 - VariableDeclarationList 2935673 2935701 - VariableDeclaration 2935694 2935701 - Identifier 2935694 2935701 - ForOfStatement 2935702 2938826 - VariableDeclarationList 2935725 2935739 - VariableDeclaration 2935730 2935739 - Identifier 2935730 2935739 - ArrayLiteralExpression 2935742 2935771 - Identifier 2935744 2935755 - Identifier 2935756 2935770 - Block 2935772 2938826 - IfStatement 2935774 2935828 - PrefixUnaryExpression 2935800 2935817 - CallExpression 2935801 2935817 - Identifier 2935801 2935807 - Identifier 2935808 2935816 - ContinueStatement 2935818 2935828 - ExpressionStatement 2935828 2935864 - BinaryExpression 2935828 2935863 - Identifier 2935828 2935856 - BarBarEqualsToken 2935856 2935860 - ArrayLiteralExpression 2935860 2935863 - ForOfStatement 2935864 2938807 - VariableDeclarationList 2935891 2935901 - VariableDeclaration 2935896 2935901 - Identifier 2935896 2935901 - NonNullExpression 2935904 2935914 - Identifier 2935904 2935913 - Block 2935915 2938807 - IfStatement 2935917 2935974 - PropertyAccessExpression 2935947 2935963 - Identifier 2935947 2935951 - Identifier 2935952 2935963 - ContinueStatement 2935964 2935974 - IfStatement 2935974 2936044 - BinaryExpression 2936004 2936033 - Identifier 2936004 2936008 - EqualsEqualsEqualsToken 2936008 2936012 - Identifier 2936012 2936033 - ContinueStatement 2936034 2936044 - IfStatement 2936044 2938251 - PropertyAccessExpression 2936157 2936172 - Identifier 2936157 2936161 - Identifier 2936162 2936172 - Block 2936173 2938251 - VariableStatement 2936175 2936603 - VariableDeclarationList 2936175 2936602 - VariableDeclaration 2936210 2936602 - Identifier 2936210 2936248 - CallExpression 2936250 2936602 - Identifier 2936250 2936256 - PropertyAccessExpression 2936257 2936272 - Identifier 2936257 2936261 - Identifier 2936262 2936272 - ArrowFunction 2936273 2936601 - Parameter 2936273 2936275 - Identifier 2936273 2936275 - EqualsGreaterThanToken 2936275 2936278 - Block 2936278 2936601 - ReturnStatement 2936280 2936570 - PrefixUnaryExpression 2936320 2936569 - PrefixUnaryExpression 2936322 2936569 - ParenthesizedExpression 2936323 2936569 - BinaryExpression 2936324 2936568 - BinaryExpression 2936324 2936422 - BinaryExpression 2936324 2936409 - BinaryExpression 2936324 2936364 - PropertyAccessExpression 2936324 2936330 - Identifier 2936324 2936325 - Identifier 2936326 2936330 - AmpersandAmpersandToken 2936330 2936333 - CallExpression 2936333 2936364 - Identifier 2936333 2936356 - PropertyAccessExpression 2936357 2936363 - Identifier 2936357 2936358 - Identifier 2936359 2936363 - AmpersandAmpersandToken 2936364 2936367 - CallExpression 2936367 2936409 - Identifier 2936367 2936390 - PropertyAccessExpression 2936391 2936408 - PropertyAccessExpression 2936391 2936397 - Identifier 2936391 2936392 - Identifier 2936393 2936397 - Identifier 2936398 2936408 - AmpersandAmpersandToken 2936409 2936412 - Identifier 2936412 2936422 - AmpersandAmpersandToken 2936422 2936425 - BinaryExpression 2936425 2936568 - PropertyAccessExpression 2936425 2936533 - CallExpression 2936425 2936518 - Identifier 2936425 2936445 - PropertyAccessExpression 2936446 2936463 - PropertyAccessExpression 2936446 2936452 - Identifier 2936446 2936447 - Identifier 2936448 2936452 - Identifier 2936453 2936463 - Identifier 2936464 2936474 - FalseKeyword 2936475 2936517 - QuestionDotToken 2936518 2936520 - Identifier 2936520 2936533 - EqualsEqualsEqualsToken 2936533 2936537 - PropertyAccessExpression 2936537 2936568 - Identifier 2936537 2936557 - Identifier 2936558 2936568 - IfStatement 2936603 2938224 - Identifier 2936637 2936674 - Block 2936675 2938224 - VariableStatement 2936677 2937009 - VariableDeclarationList 2936677 2937008 - VariableDeclaration 2936716 2937008 - Identifier 2936716 2936730 - CallExpression 2936732 2937008 - Identifier 2936732 2936739 - PropertyAccessExpression 2936740 2936755 - Identifier 2936740 2936744 - Identifier 2936745 2936755 - ArrowFunction 2936756 2937007 - Parameter 2936756 2936758 - Identifier 2936756 2936758 - EqualsGreaterThanToken 2936758 2936761 - Block 2936761 2937007 - ReturnStatement 2936763 2936972 - PrefixUnaryExpression 2936947 2936971 - CallExpression 2936949 2936971 - Identifier 2936949 2936968 - Identifier 2936969 2936970 - ExpressionStatement 2937009 2938150 - CallExpression 2937009 2938149 - PropertyAccessExpression 2937009 2937054 - Identifier 2937009 2937049 - Identifier 2937050 2937054 - SpreadElement 2937055 2938148 - CallExpression 2937058 2938148 - Identifier 2937058 2937061 - Identifier 2937062 2937075 - ArrowFunction 2937076 2938147 - Parameter 2937076 2937078 - Identifier 2937076 2937078 - EqualsGreaterThanToken 2937078 2937081 - Block 2937081 2938147 - ExpressionStatement 2937083 2937182 - CallExpression 2937083 2937181 - Identifier 2937083 2937138 - AsExpression 2937139 2937180 - PropertyAccessExpression 2937139 2937156 - PropertyAccessExpression 2937139 2937145 - Identifier 2937139 2937140 - Identifier 2937141 2937145 - Identifier 2937146 2937156 - TypeReference 2937159 2937180 - Identifier 2937159 2937180 - VariableStatement 2937182 2937337 - VariableDeclarationList 2937182 2937336 - VariableDeclaration 2937225 2937336 - Identifier 2937225 2937230 - ConditionalExpression 2937232 2937336 - BinaryExpression 2937232 2937257 - Identifier 2937232 2937241 - EqualsEqualsEqualsToken 2937241 2937245 - Identifier 2937245 2937257 - QuestionToken 2937257 2937259 - AsExpression 2937259 2937324 - ArrayLiteralExpression 2937259 2937310 - CallExpression 2937261 2937309 - PropertyAccessExpression 2937261 2937283 - Identifier 2937261 2937268 - Identifier 2937269 2937283 - PropertyAccessExpression 2937284 2937308 - Identifier 2937284 2937294 - Identifier 2937295 2937308 - ArrayType 2937313 2937324 - TypeReference 2937313 2937322 - Identifier 2937313 2937322 - ColonToken 2937324 2937326 - Identifier 2937326 2937336 - ReturnStatement 2937337 2938112 - CallExpression 2937381 2938111 - PropertyAccessExpression 2937381 2937415 - Identifier 2937381 2937389 - Identifier 2937390 2937415 - CallExpression 2937416 2937552 - Identifier 2937416 2937464 - Identifier 2937465 2937469 - ConditionalExpression 2937470 2937551 - PropertyAccessExpression 2937470 2937486 - Identifier 2937470 2937475 - Identifier 2937476 2937486 - QuestionToken 2937486 2937488 - CallExpression 2937488 2937539 - PropertyAccessExpression 2937488 2937511 - Identifier 2937488 2937496 - Identifier 2937497 2937511 - PropertyAccessExpression 2937512 2937538 - Identifier 2937512 2937522 - Identifier 2937523 2937538 - ColonToken 2937539 2937541 - Identifier 2937541 2937551 - PropertyAccessExpression 2937553 2937601 - Identifier 2937553 2937596 - Identifier 2937597 2937601 - ConditionalExpression 2937602 2937865 - BinaryExpression 2937602 2937805 - ParenthesizedExpression 2937602 2937786 - BinaryExpression 2937645 2937785 - BinaryExpression 2937645 2937765 - BinaryExpression 2937645 2937745 - BinaryExpression 2937645 2937719 - BinaryExpression 2937645 2937695 - CallExpression 2937645 2937667 - Identifier 2937645 2937664 - Identifier 2937665 2937666 - BarBarToken 2937667 2937670 - CallExpression 2937670 2937695 - Identifier 2937670 2937692 - Identifier 2937693 2937694 - BarBarToken 2937695 2937698 - CallExpression 2937698 2937719 - Identifier 2937698 2937716 - Identifier 2937717 2937718 - BarBarToken 2937719 2937722 - CallExpression 2937722 2937745 - Identifier 2937722 2937742 - Identifier 2937743 2937744 - BarBarToken 2937745 2937748 - CallExpression 2937748 2937765 - Identifier 2937748 2937762 - Identifier 2937763 2937764 - BarBarToken 2937765 2937768 - CallExpression 2937768 2937785 - Identifier 2937768 2937782 - Identifier 2937783 2937784 - AmpersandAmpersandToken 2937786 2937789 - PropertyAccessExpression 2937789 2937805 - Identifier 2937789 2937791 - Identifier 2937792 2937805 - QuestionToken 2937805 2937807 - CallExpression 2937807 2937853 - PropertyAccessExpression 2937807 2937827 - Identifier 2937807 2937815 - Identifier 2937816 2937827 - PropertyAccessExpression 2937828 2937852 - Identifier 2937828 2937838 - Identifier 2937839 2937852 - ColonToken 2937853 2937855 - Identifier 2937855 2937865 - CallExpression 2937866 2938003 - PropertyAccessExpression 2937866 2937934 - Identifier 2937866 2937919 - Identifier 2937920 2937934 - CallExpression 2937935 2937960 - Identifier 2937935 2937950 - PropertyAccessExpression 2937951 2937959 - Identifier 2937951 2937952 - Identifier 2937953 2937959 - Identifier 2937961 2937971 - Identifier 2937972 2937978 - Identifier 2937979 2937993 - Identifier 2937994 2938002 - Identifier 2938004 2938071 - ContinueStatement 2938150 2938193 - VariableStatement 2938251 2938387 - VariableDeclarationList 2938251 2938386 - VariableDeclaration 2938282 2938386 - Identifier 2938282 2938287 - CallExpression 2938289 2938386 - PropertyAccessExpression 2938289 2938338 - Identifier 2938289 2938301 - Identifier 2938302 2938338 - Identifier 2938339 2938343 - Identifier 2938344 2938354 - Identifier 2938355 2938361 - Identifier 2938362 2938376 - Identifier 2938377 2938385 - IfStatement 2938387 2938672 - BinaryExpression 2938417 2938449 - Identifier 2938417 2938421 - AmpersandAmpersandToken 2938421 2938424 - BinaryExpression 2938424 2938449 - Identifier 2938424 2938433 - EqualsEqualsEqualsToken 2938433 2938437 - Identifier 2938437 2938449 - Block 2938450 2938672 - ExpressionStatement 2938452 2938645 - CallExpression 2938452 2938644 - PropertyAccessExpression 2938452 2938594 - ParenthesizedExpression 2938452 2938586 - AsExpression 2938483 2938585 - ParenthesizedExpression 2938483 2938555 - BinaryExpression 2938484 2938554 - PropertyAccessExpression 2938484 2938524 - ParenthesizedExpression 2938484 2938514 - AsExpression 2938485 2938513 - Identifier 2938485 2938489 - TypeReference 2938492 2938513 - Identifier 2938492 2938500 - TypeQuery 2938501 2938512 - Identifier 2938507 2938512 - Identifier 2938515 2938524 - BarBarEqualsToken 2938524 2938528 - CallExpression 2938528 2938554 - PropertyAccessExpression 2938528 2938552 - Identifier 2938528 2938536 - Identifier 2938537 2938552 - TypeReference 2938558 2938585 - Identifier 2938558 2938575 - TypeReference 2938576 2938584 - Identifier 2938576 2938584 - Identifier 2938587 2938594 - CallExpression 2938595 2938643 - PropertyAccessExpression 2938595 2938617 - Identifier 2938595 2938602 - Identifier 2938603 2938617 - PropertyAccessExpression 2938618 2938642 - Identifier 2938618 2938628 - Identifier 2938629 2938642 - IfStatement 2938672 2938784 - Identifier 2938702 2938706 - Block 2938707 2938784 - ExpressionStatement 2938709 2938757 - CallExpression 2938709 2938756 - PropertyAccessExpression 2938709 2938750 - Identifier 2938709 2938745 - Identifier 2938746 2938750 - Identifier 2938751 2938755 - ReturnStatement 2938826 2938858 - Identifier 2938850 2938857 - FunctionDeclaration 2938858 2939519 - Identifier 2938886 2938904 - Parameter 2938905 2938955 - Identifier 2938905 2938921 - TypeReference 2938922 2938955 - Identifier 2938922 2938955 - Block 2938956 2939519 - IfStatement 2938958 2939013 - PrefixUnaryExpression 2938984 2939004 - PropertyAccessExpression 2938985 2939004 - Identifier 2938985 2938992 - Identifier 2938993 2939004 - ReturnStatement 2939005 2939013 - VariableStatement 2939013 2939173 - VariableDeclarationList 2939013 2939172 - VariableDeclaration 2939117 2939172 - Identifier 2939117 2939133 - CallExpression 2939135 2939172 - Identifier 2939135 2939154 - Identifier 2939155 2939171 - VariableStatement 2939173 2939362 - VariableDeclarationList 2939173 2939361 - VariableDeclaration 2939200 2939361 - Identifier 2939200 2939205 - CallExpression 2939207 2939361 - Identifier 2939207 2939219 - Identifier 2939220 2939235 - PropertyAccessExpression 2939236 2939264 - Identifier 2939236 2939252 - Identifier 2939253 2939264 - BinaryExpression 2939265 2939309 - PropertyAccessExpression 2939265 2939283 - Identifier 2939265 2939277 - Identifier 2939278 2939283 - BarToken 2939283 2939285 - PropertyAccessExpression 2939285 2939309 - Identifier 2939285 2939297 - Identifier 2939298 2939309 - Identifier 2939310 2939344 - TrueKeyword 2939345 2939360 - IfStatement 2939362 2939500 - Identifier 2939388 2939392 - Block 2939393 2939500 - ExpressionStatement 2939395 2939477 - CallExpression 2939395 2939476 - PropertyAccessExpression 2939395 2939440 - Identifier 2939395 2939428 - Identifier 2939429 2939440 - Identifier 2939441 2939445 - Identifier 2939446 2939456 - PropertyAccessExpression 2939457 2939475 - Identifier 2939457 2939469 - Identifier 2939470 2939475 - FunctionDeclaration 2939547 2940556 - Identifier 2939567 2939598 - Parameter 2939599 2939622 - Identifier 2939599 2939603 - TypeReference 2939604 2939622 - Identifier 2939604 2939622 - Block 2939623 2940556 - VariableStatement 2939625 2939678 - VariableDeclarationList 2939625 2939677 - VariableDeclaration 2939644 2939677 - Identifier 2939644 2939649 - CallExpression 2939651 2939677 - Identifier 2939651 2939671 - Identifier 2939672 2939676 - IfStatement 2939678 2939723 - PrefixUnaryExpression 2939696 2939708 - PropertyAccessExpression 2939697 2939708 - Identifier 2939697 2939701 - Identifier 2939702 2939708 - ReturnStatement 2939709 2939723 - FalseKeyword 2939716 2939722 - VariableStatement 2939723 2939801 - VariableDeclarationList 2939723 2939800 - VariableDeclaration 2939742 2939800 - Identifier 2939742 2939755 - CallExpression 2939757 2939800 - Identifier 2939757 2939794 - Identifier 2939795 2939799 - IfStatement 2939801 2939847 - PrefixUnaryExpression 2939819 2939832 - Identifier 2939820 2939832 - ReturnStatement 2939833 2939847 - FalseKeyword 2939840 2939846 - IfStatement 2939847 2939901 - BinaryExpression 2939865 2939886 - Identifier 2939865 2939877 - EqualsEqualsEqualsToken 2939877 2939881 - Identifier 2939881 2939886 - ReturnStatement 2939887 2939901 - FalseKeyword 2939894 2939900 - VariableStatement 2939901 2939963 - VariableDeclarationList 2939901 2939962 - VariableDeclaration 2939920 2939962 - Identifier 2939920 2939928 - CallExpression 2939930 2939962 - Identifier 2939930 2939949 - PropertyAccessExpression 2939950 2939961 - Identifier 2939950 2939954 - Identifier 2939955 2939961 - ForOfStatement 2939963 2940518 - VariableDeclarationList 2939982 2939989 - VariableDeclaration 2939987 2939989 - Identifier 2939987 2939989 - CallExpression 2939992 2940020 - Identifier 2939992 2940002 - CallExpression 2940003 2940019 - PropertyAccessExpression 2940003 2940017 - Identifier 2940003 2940010 - Identifier 2940011 2940017 - Block 2940021 2940518 - IfStatement 2940023 2940503 - PropertyAccessExpression 2940045 2940054 - Identifier 2940045 2940046 - Identifier 2940047 2940054 - Block 2940055 2940503 - VariableStatement 2940057 2940113 - VariableDeclarationList 2940057 2940112 - VariableDeclaration 2940084 2940112 - Identifier 2940084 2940091 - CallExpression 2940093 2940112 - Identifier 2940093 2940109 - Identifier 2940110 2940111 - IfStatement 2940113 2940484 - PropertyAccessExpression 2940139 2940158 - Identifier 2940139 2940145 - Identifier 2940146 2940158 - Block 2940159 2940484 - ForOfStatement 2940161 2940461 - VariableDeclarationList 2940192 2940199 - VariableDeclaration 2940197 2940199 - Identifier 2940197 2940199 - PropertyAccessExpression 2940202 2940222 - Identifier 2940202 2940209 - Identifier 2940210 2940222 - Block 2940223 2940461 - VariableStatement 2940225 2940295 - VariableDeclarationList 2940225 2940294 - VariableDeclaration 2940260 2940294 - Identifier 2940260 2940269 - CallExpression 2940271 2940294 - Identifier 2940271 2940291 - Identifier 2940292 2940293 - IfStatement 2940295 2940434 - BinaryExpression 2940329 2940354 - Identifier 2940329 2940337 - EqualsEqualsEqualsToken 2940337 2940341 - Identifier 2940341 2940354 - Block 2940355 2940434 - ReturnStatement 2940357 2940403 - TrueKeyword 2940397 2940402 - ReturnStatement 2940518 2940545 - FalseKeyword 2940538 2940544 - FunctionDeclaration 2940563 2941180 - Identifier 2940579 2940616 - Parameter 2940617 2940699 - Identifier 2940617 2940628 - UnionType 2940629 2940699 - TypeReference 2940629 2940649 - Identifier 2940629 2940649 - TypeReference 2940651 2940669 - Identifier 2940651 2940669 - TypeReference 2940671 2940686 - Identifier 2940671 2940686 - TypeReference 2940688 2940699 - Identifier 2940688 2940699 - UnionType 2940701 2940724 - TypeReference 2940701 2940712 - Identifier 2940701 2940712 - UndefinedKeyword 2940714 2940724 - Block 2940724 2941180 - VariableStatement 2940726 2940886 - VariableDeclarationList 2940726 2940885 - VariableDeclaration 2940741 2940885 - Identifier 2940741 2940751 - ConditionalExpression 2940753 2940885 - BinaryExpression 2940753 2940803 - PropertyAccessExpression 2940753 2940770 - Identifier 2940753 2940765 - Identifier 2940766 2940770 - EqualsEqualsEqualsToken 2940770 2940774 - PropertyAccessExpression 2940774 2940803 - Identifier 2940774 2940785 - Identifier 2940786 2940803 - QuestionToken 2940803 2940805 - CallExpression 2940805 2940848 - Identifier 2940805 2940813 - PropertyAccessExpression 2940814 2940830 - Identifier 2940814 2940825 - Identifier 2940826 2940830 - Identifier 2940831 2940847 - ColonToken 2940848 2940850 - CallExpression 2940850 2940885 - Identifier 2940850 2940872 - Identifier 2940873 2940884 - VariableStatement 2940886 2941008 - VariableDeclarationList 2940886 2941007 - VariableDeclaration 2940901 2941007 - Identifier 2940901 2940914 - CallExpression 2940916 2941007 - Identifier 2940916 2940948 - NonNullExpression 2940949 2940959 - Identifier 2940949 2940958 - NonNullExpression 2940960 2940971 - Identifier 2940960 2940970 - Identifier 2940972 2941006 - IfStatement 2941008 2941098 - PrefixUnaryExpression 2941040 2941053 - Identifier 2941041 2941053 - Block 2941054 2941098 - ReturnStatement 2941056 2941087 - Identifier 2941076 2941086 - ReturnStatement 2941098 2941173 - CallExpression 2941114 2941172 - Identifier 2941114 2941135 - Identifier 2941136 2941148 - PropertyAccessExpression 2941149 2941171 - Identifier 2941149 2941160 - Identifier 2941161 2941171 - FunctionDeclaration 2941180 2949182 - Identifier 2941196 2941218 - Block 2941220 2949182 - ForOfStatement 2941222 2941393 - VariableDeclarationList 2941292 2941302 - VariableDeclaration 2941297 2941302 - Identifier 2941297 2941302 - CallExpression 2941305 2941327 - PropertyAccessExpression 2941305 2941325 - Identifier 2941305 2941310 - Identifier 2941311 2941325 - Block 2941328 2941393 - ExpressionStatement 2941330 2941382 - CallExpression 2941330 2941381 - Identifier 2941330 2941358 - Identifier 2941359 2941363 - Identifier 2941364 2941380 - ExpressionStatement 2941393 2941439 - BinaryExpression 2941393 2941438 - Identifier 2941393 2941426 - EqualsToken 2941426 2941428 - NewExpression 2941428 2941438 - Identifier 2941432 2941436 - VariableStatement 2941439 2941569 - VariableDeclarationList 2941439 2941568 - VariableDeclaration 2941497 2941568 - Identifier 2941497 2941511 - UnionType 2941512 2941568 - ArrayType 2941512 2941556 - ParenthesizedType 2941512 2941554 - TypeOperator 2941514 2941553 - ArrayType 2941522 2941553 - ParenthesizedType 2941522 2941551 - UnionType 2941524 2941550 - TypeReference 2941524 2941537 - Identifier 2941524 2941537 - TypeReference 2941539 2941550 - Identifier 2941539 2941550 - UndefinedKeyword 2941558 2941568 - ForOfStatement 2941569 2943303 - VariableDeclarationList 2941584 2941594 - VariableDeclaration 2941589 2941594 - Identifier 2941589 2941594 - CallExpression 2941597 2941619 - PropertyAccessExpression 2941597 2941617 - Identifier 2941597 2941602 - Identifier 2941603 2941617 - Block 2941620 2943303 - IfStatement 2941622 2941702 - PropertyAccessExpression 2941640 2941657 - Identifier 2941640 2941644 - Identifier 2941645 2941657 - Block 2941658 2941702 - ContinueStatement 2941660 2941687 - IfStatement 2941702 2942380 - PrefixUnaryExpression 2941720 2941753 - CallExpression 2941721 2941753 - Identifier 2941721 2941747 - Identifier 2941748 2941752 - Block 2941754 2942380 - VariableStatement 2941756 2941954 - VariableDeclarationList 2941756 2941953 - VariableDeclaration 2941887 2941953 - Identifier 2941887 2941908 - CallExpression 2941910 2941953 - PropertyAccessExpression 2941910 2941927 - NonNullExpression 2941910 2941923 - PropertyAccessExpression 2941910 2941922 - Identifier 2941910 2941915 - Identifier 2941916 2941922 - Identifier 2941924 2941927 - AsExpression 2941928 2941952 - StringLiteral 2941928 2941940 - TypeReference 2941943 2941952 - Identifier 2941943 2941952 - IfStatement 2941954 2942307 - PropertyAccessExpression 2941976 2942010 - Identifier 2941976 2941996 - QuestionDotToken 2941996 2941998 - Identifier 2941998 2942010 - Block 2942011 2942307 - ForOfStatement 2942013 2942288 - VariableDeclarationList 2942040 2942057 - VariableDeclaration 2942045 2942057 - Identifier 2942045 2942057 - PropertyAccessExpression 2942060 2942094 - Identifier 2942060 2942081 - Identifier 2942082 2942094 - Block 2942095 2942288 - ExpressionStatement 2942097 2942265 - CallExpression 2942097 2942264 - PropertyAccessExpression 2942097 2942138 - Identifier 2942097 2942134 - Identifier 2942135 2942138 - CallExpression 2942139 2942263 - Identifier 2942139 2942162 - Identifier 2942163 2942174 - PropertyAccessExpression 2942175 2942248 - Identifier 2942175 2942187 - Identifier 2942188 2942248 - StringLiteral 2942249 2942262 - ExpressionStatement 2942307 2942365 - CallExpression 2942307 2942364 - Identifier 2942307 2942341 - Identifier 2942342 2942349 - NonNullExpression 2942350 2942363 - PropertyAccessExpression 2942350 2942362 - Identifier 2942350 2942355 - Identifier 2942356 2942362 - IfStatement 2942380 2942514 - PropertyAccessExpression 2942398 2942424 - Identifier 2942398 2942402 - Identifier 2942403 2942424 - Block 2942425 2942514 - ExpressionStatement 2942427 2942499 - CallExpression 2942427 2942498 - Identifier 2942427 2942461 - Identifier 2942462 2942469 - PropertyAccessExpression 2942470 2942497 - Identifier 2942470 2942475 - Identifier 2942476 2942497 - IfStatement 2942514 2942718 - BinaryExpression 2942532 2942595 - PropertyAccessExpression 2942532 2942558 - Identifier 2942532 2942536 - Identifier 2942537 2942558 - AmpersandAmpersandToken 2942558 2942561 - PropertyAccessExpression 2942561 2942595 - PropertyAccessExpression 2942561 2942588 - Identifier 2942561 2942566 - Identifier 2942567 2942588 - Identifier 2942589 2942595 - Block 2942596 2942718 - ExpressionStatement 2942598 2942703 - BinaryExpression 2942598 2942702 - Identifier 2942598 2942637 - EqualsToken 2942637 2942639 - CallExpression 2942639 2942702 - Identifier 2942639 2942651 - Identifier 2942652 2942673 - PropertyAccessExpression 2942674 2942701 - Identifier 2942674 2942679 - Identifier 2942680 2942701 - IfStatement 2942718 2942874 - PropertyAccessExpression 2942736 2942767 - PropertyAccessExpression 2942736 2942760 - Identifier 2942736 2942740 - Identifier 2942741 2942760 - Identifier 2942761 2942767 - Block 2942768 2942874 - ExpressionStatement 2942770 2942859 - CallExpression 2942770 2942858 - PropertyAccessExpression 2942770 2942832 - ParenthesizedExpression 2942770 2942827 - BinaryExpression 2942789 2942826 - Identifier 2942789 2942802 - BarBarToken 2942802 2942805 - ParenthesizedExpression 2942805 2942826 - BinaryExpression 2942807 2942825 - Identifier 2942807 2942820 - EqualsToken 2942820 2942822 - ArrayLiteralExpression 2942822 2942825 - Identifier 2942828 2942832 - PropertyAccessExpression 2942833 2942857 - Identifier 2942833 2942837 - Identifier 2942838 2942857 - IfStatement 2942874 2943292 - BinaryExpression 2942892 2942932 - PropertyAccessExpression 2942892 2942903 - Identifier 2942892 2942896 - Identifier 2942897 2942903 - AmpersandAmpersandToken 2942903 2942906 - PropertyAccessExpression 2942906 2942932 - PropertyAccessExpression 2942906 2942918 - Identifier 2942906 2942911 - Identifier 2942912 2942918 - Identifier 2942919 2942932 - Block 2942933 2943292 - VariableStatement 2942935 2943076 - VariableDeclarationList 2942935 2943075 - VariableDeclaration 2943040 2943075 - Identifier 2943040 2943047 - PropertyAccessExpression 2943049 2943075 - PropertyAccessExpression 2943049 2943061 - Identifier 2943049 2943054 - Identifier 2943055 2943061 - Identifier 2943062 2943075 - ExpressionStatement 2943076 2943277 - CallExpression 2943076 2943276 - PropertyAccessExpression 2943076 2943108 - Identifier 2943076 2943100 - Identifier 2943101 2943108 - ArrowFunction 2943109 2943275 - Parameter 2943110 2943122 - Identifier 2943110 2943122 - Parameter 2943123 2943126 - Identifier 2943123 2943126 - EqualsGreaterThanToken 2943127 2943130 - Block 2943130 2943275 - IfStatement 2943132 2943256 - PrefixUnaryExpression 2943158 2943174 - CallExpression 2943159 2943174 - PropertyAccessExpression 2943159 2943170 - Identifier 2943159 2943166 - Identifier 2943167 2943170 - Identifier 2943171 2943173 - Block 2943175 2943256 - ExpressionStatement 2943177 2943233 - CallExpression 2943177 2943232 - PropertyAccessExpression 2943177 2943214 - Identifier 2943177 2943210 - Identifier 2943211 2943214 - Identifier 2943215 2943217 - Identifier 2943218 2943231 - IfStatement 2943303 2944512 - Identifier 2944003 2944016 - Block 2944017 2944512 - ForOfStatement 2944019 2944501 - VariableDeclarationList 2944220 2944230 - VariableDeclaration 2944225 2944230 - Identifier 2944225 2944230 - Identifier 2944233 2944247 - Block 2944248 2944501 - ForOfStatement 2944250 2944486 - VariableDeclarationList 2944273 2944291 - VariableDeclaration 2944278 2944291 - Identifier 2944278 2944291 - Identifier 2944294 2944299 - Block 2944300 2944486 - IfStatement 2944302 2944407 - PrefixUnaryExpression 2944328 2944396 - CallExpression 2944329 2944396 - Identifier 2944329 2944354 - AsExpression 2944355 2944395 - PropertyAccessExpression 2944355 2944374 - Identifier 2944355 2944367 - Identifier 2944368 2944374 - TypeReference 2944377 2944395 - Identifier 2944377 2944395 - ContinueStatement 2944397 2944407 - ExpressionStatement 2944407 2944467 - CallExpression 2944407 2944466 - Identifier 2944407 2944452 - Identifier 2944453 2944465 - ExpressionStatement 2944512 2944570 - CallExpression 2944512 2944569 - Identifier 2944512 2944567 - ExpressionStatement 2944570 2944643 - BinaryExpression 2944570 2944642 - PropertyAccessExpression 2944570 2944618 - CallExpression 2944570 2944613 - Identifier 2944570 2944596 - Identifier 2944597 2944612 - Identifier 2944614 2944618 - EqualsToken 2944618 2944620 - Identifier 2944620 2944642 - ExpressionStatement 2944643 2944768 - BinaryExpression 2944643 2944767 - PropertyAccessExpression 2944643 2944689 - CallExpression 2944643 2944684 - Identifier 2944643 2944667 - Identifier 2944668 2944683 - Identifier 2944685 2944689 - EqualsToken 2944689 2944691 - CallExpression 2944691 2944767 - Identifier 2944691 2944705 - AsExpression 2944706 2944730 - StringLiteral 2944706 2944718 - TypeReference 2944721 2944730 - Identifier 2944721 2944730 - NumericLiteral 2944731 2944743 - TrueKeyword 2944744 2944766 - ExpressionStatement 2944768 2944825 - BinaryExpression 2944768 2944824 - PropertyAccessExpression 2944768 2944812 - CallExpression 2944768 2944807 - Identifier 2944768 2944792 - Identifier 2944793 2944806 - Identifier 2944808 2944812 - EqualsToken 2944812 2944814 - Identifier 2944814 2944824 - ExpressionStatement 2944825 2944933 - BinaryExpression 2944825 2944932 - PropertyAccessExpression 2944825 2944872 - CallExpression 2944825 2944867 - Identifier 2944825 2944849 - Identifier 2944850 2944866 - Identifier 2944868 2944872 - EqualsToken 2944872 2944874 - CallExpression 2944874 2944932 - Identifier 2944874 2944891 - PropertyAccessExpression 2944892 2944913 - Identifier 2944892 2944903 - Identifier 2944904 2944913 - Identifier 2944914 2944931 - ExpressionStatement 2944933 2945071 - BinaryExpression 2944933 2945070 - Identifier 2944933 2944997 - EqualsToken 2944997 2944999 - CallExpression 2944999 2945070 - Identifier 2944999 2945013 - AsExpression 2945014 2945033 - StringLiteral 2945014 2945021 - TypeReference 2945024 2945033 - Identifier 2945024 2945033 - NumericLiteral 2945034 2945046 - TrueKeyword 2945047 2945069 - ExpressionStatement 2945071 2945172 - BinaryExpression 2945071 2945171 - Identifier 2945071 2945097 - EqualsToken 2945097 2945099 - CallExpression 2945099 2945171 - Identifier 2945099 2945113 - AsExpression 2945114 2945134 - StringLiteral 2945114 2945122 - TypeReference 2945125 2945134 - Identifier 2945125 2945134 - NumericLiteral 2945135 2945147 - TrueKeyword 2945148 2945170 - ExpressionStatement 2945172 2945277 - BinaryExpression 2945172 2945276 - Identifier 2945172 2945200 - EqualsToken 2945200 2945202 - CallExpression 2945202 2945276 - Identifier 2945202 2945216 - AsExpression 2945217 2945239 - StringLiteral 2945217 2945227 - TypeReference 2945230 2945239 - Identifier 2945230 2945239 - NumericLiteral 2945240 2945252 - TrueKeyword 2945253 2945275 - ExpressionStatement 2945277 2945443 - BinaryExpression 2945277 2945442 - Identifier 2945277 2945313 - EqualsToken 2945313 2945315 - BinaryExpression 2945315 2945442 - BinaryExpression 2945315 2945420 - Identifier 2945315 2945335 - AmpersandAmpersandToken 2945335 2945338 - CallExpression 2945338 2945420 - Identifier 2945338 2945352 - AsExpression 2945353 2945383 - StringLiteral 2945353 2945371 - TypeReference 2945374 2945383 - Identifier 2945374 2945383 - NumericLiteral 2945384 2945396 - TrueKeyword 2945397 2945419 - BarBarToken 2945420 2945423 - Identifier 2945423 2945442 - ExpressionStatement 2945443 2945607 - BinaryExpression 2945443 2945606 - Identifier 2945443 2945478 - EqualsToken 2945478 2945480 - BinaryExpression 2945480 2945606 - BinaryExpression 2945480 2945584 - Identifier 2945480 2945500 - AmpersandAmpersandToken 2945500 2945503 - CallExpression 2945503 2945584 - Identifier 2945503 2945517 - AsExpression 2945518 2945547 - StringLiteral 2945518 2945535 - TypeReference 2945538 2945547 - Identifier 2945538 2945547 - NumericLiteral 2945548 2945560 - TrueKeyword 2945561 2945583 - BarBarToken 2945584 2945587 - Identifier 2945587 2945606 - ExpressionStatement 2945607 2945708 - BinaryExpression 2945607 2945707 - Identifier 2945607 2945633 - EqualsToken 2945633 2945635 - CallExpression 2945635 2945707 - Identifier 2945635 2945649 - AsExpression 2945650 2945670 - StringLiteral 2945650 2945658 - TypeReference 2945661 2945670 - Identifier 2945661 2945670 - NumericLiteral 2945671 2945683 - TrueKeyword 2945684 2945706 - ExpressionStatement 2945708 2945809 - BinaryExpression 2945708 2945808 - Identifier 2945708 2945734 - EqualsToken 2945734 2945736 - CallExpression 2945736 2945808 - Identifier 2945736 2945750 - AsExpression 2945751 2945771 - StringLiteral 2945751 2945759 - TypeReference 2945762 2945771 - Identifier 2945762 2945771 - NumericLiteral 2945772 2945784 - TrueKeyword 2945785 2945807 - ExpressionStatement 2945809 2945912 - BinaryExpression 2945809 2945911 - Identifier 2945809 2945836 - EqualsToken 2945836 2945838 - CallExpression 2945838 2945911 - Identifier 2945838 2945852 - AsExpression 2945853 2945874 - StringLiteral 2945853 2945862 - TypeReference 2945865 2945874 - Identifier 2945865 2945874 - NumericLiteral 2945875 2945887 - TrueKeyword 2945888 2945910 - ExpressionStatement 2945912 2946013 - BinaryExpression 2945912 2946012 - Identifier 2945912 2945938 - EqualsToken 2945938 2945940 - CallExpression 2945940 2946012 - Identifier 2945940 2945954 - AsExpression 2945955 2945975 - StringLiteral 2945955 2945963 - TypeReference 2945966 2945975 - Identifier 2945966 2945975 - NumericLiteral 2945976 2945988 - TrueKeyword 2945989 2946011 - ExpressionStatement 2946013 2946063 - BinaryExpression 2946013 2946062 - Identifier 2946013 2946035 - EqualsToken 2946035 2946037 - CallExpression 2946037 2946062 - Identifier 2946037 2946053 - Identifier 2946054 2946061 - ExpressionStatement 2946063 2946117 - BinaryExpression 2946063 2946116 - Identifier 2946063 2946088 - EqualsToken 2946088 2946090 - CallExpression 2946090 2946116 - Identifier 2946090 2946106 - Identifier 2946107 2946115 - IfStatement 2946117 2946425 - BinaryExpression 2946131 2946164 - Identifier 2946131 2946144 - EqualsEqualsEqualsToken 2946144 2946148 - Identifier 2946148 2946164 - Block 2946165 2946425 - ExpressionStatement 2946167 2946414 - BinaryExpression 2946167 2946413 - Identifier 2946167 2946319 - EqualsToken 2946319 2946321 - CallExpression 2946321 2946413 - Identifier 2946321 2946341 - Identifier 2946342 2946362 - Identifier 2946363 2946376 - Identifier 2946377 2946388 - Identifier 2946389 2946400 - Identifier 2946401 2946412 - ExpressionStatement 2946425 2946564 - BinaryExpression 2946425 2946563 - Identifier 2946425 2946460 - EqualsToken 2946460 2946462 - BinaryExpression 2946462 2946563 - AsExpression 2946462 2946544 - CallExpression 2946462 2946529 - Identifier 2946462 2946487 - AsExpression 2946488 2946515 - StringLiteral 2946488 2946503 - TypeReference 2946506 2946515 - Identifier 2946506 2946515 - NumericLiteral 2946516 2946528 - TypeReference 2946532 2946544 - Identifier 2946532 2946544 - BarBarToken 2946544 2946547 - Identifier 2946547 2946563 - ExpressionStatement 2946564 2946706 - BinaryExpression 2946564 2946705 - Identifier 2946564 2946594 - EqualsToken 2946594 2946596 - ConditionalExpression 2946596 2946705 - Identifier 2946596 2946620 - QuestionToken 2946620 2946622 - CallExpression 2946622 2946690 - Identifier 2946622 2946654 - Identifier 2946655 2946678 - ArrayLiteralExpression 2946679 2946689 - Identifier 2946681 2946688 - ColonToken 2946690 2946692 - Identifier 2946692 2946705 - ExpressionStatement 2946706 2946810 - BinaryExpression 2946706 2946809 - Identifier 2946706 2946730 - EqualsToken 2946730 2946732 - AsExpression 2946732 2946809 - CallExpression 2946732 2946794 - Identifier 2946732 2946757 - AsExpression 2946758 2946780 - StringLiteral 2946758 2946768 - TypeReference 2946771 2946780 - Identifier 2946771 2946780 - NumericLiteral 2946781 2946793 - TypeReference 2946797 2946809 - Identifier 2946797 2946809 - IfStatement 2946810 2947337 - Identifier 2946826 2946839 - Block 2946840 2947337 - ForOfStatement 2946842 2947326 - VariableDeclarationList 2947046 2947056 - VariableDeclaration 2947051 2947056 - Identifier 2947051 2947056 - Identifier 2947059 2947073 - Block 2947074 2947326 - ForOfStatement 2947076 2947311 - VariableDeclarationList 2947099 2947117 - VariableDeclaration 2947104 2947117 - Identifier 2947104 2947117 - Identifier 2947120 2947125 - Block 2947126 2947311 - IfStatement 2947128 2947232 - CallExpression 2947154 2947221 - Identifier 2947154 2947179 - AsExpression 2947180 2947220 - PropertyAccessExpression 2947180 2947199 - Identifier 2947180 2947192 - Identifier 2947193 2947199 - TypeReference 2947202 2947220 - Identifier 2947202 2947220 - ContinueStatement 2947222 2947232 - ExpressionStatement 2947232 2947292 - CallExpression 2947232 2947291 - Identifier 2947232 2947277 - Identifier 2947278 2947290 - ExpressionStatement 2947337 2949131 - CallExpression 2947337 2949130 - PropertyAccessExpression 2947337 2947378 - Identifier 2947337 2947370 - Identifier 2947371 2947378 - ArrowFunction 2947379 2949129 - Parameter 2947380 2947425 - ObjectBindingPattern 2947380 2947425 - BindingElement 2947381 2947391 - Identifier 2947381 2947391 - BindingElement 2947392 2947403 - Identifier 2947392 2947403 - BindingElement 2947404 2947423 - Identifier 2947404 2947423 - EqualsGreaterThanToken 2947426 2947429 - Block 2947429 2949129 - IfStatement 2947431 2949118 - BinaryExpression 2947518 2947545 - PropertyAccessExpression 2947518 2947541 - Identifier 2947518 2947536 - Identifier 2947537 2947541 - LessThanToken 2947541 2947543 - NumericLiteral 2947543 2947545 - Block 2947546 2948226 - ExpressionStatement 2947548 2948211 - CallExpression 2947548 2948210 - PropertyAccessExpression 2947548 2947592 - Identifier 2947548 2947584 - Identifier 2947585 2947592 - ArrowFunction 2947593 2948209 - Parameter 2947594 2947652 - ObjectBindingPattern 2947594 2947652 - BindingElement 2947595 2947609 - Identifier 2947595 2947609 - BindingElement 2947610 2947629 - Identifier 2947610 2947629 - BindingElement 2947630 2947650 - Identifier 2947630 2947650 - Parameter 2947653 2947664 - Identifier 2947653 2947664 - EqualsGreaterThanToken 2947665 2947668 - Block 2947668 2948209 - VariableStatement 2947670 2947814 - VariableDeclarationList 2947670 2947813 - VariableDeclaration 2947697 2947813 - Identifier 2947697 2947705 - ConditionalExpression 2947707 2947813 - Identifier 2947707 2947721 - QuestionToken 2947721 2947723 - PropertyAccessExpression 2947723 2947776 - Identifier 2947723 2947735 - Identifier 2947736 2947776 - ColonToken 2947776 2947778 - PropertyAccessExpression 2947778 2947813 - Identifier 2947778 2947790 - Identifier 2947791 2947813 - ForOfStatement 2947814 2948002 - VariableDeclarationList 2947841 2947851 - VariableDeclaration 2947846 2947851 - Identifier 2947846 2947851 - Identifier 2947854 2947873 - Block 2947874 2948002 - ExpressionStatement 2947876 2947979 - CallExpression 2947876 2947978 - Identifier 2947876 2947930 - Identifier 2947931 2947935 - Identifier 2947936 2947944 - Identifier 2947945 2947956 - Identifier 2947957 2947977 - ForOfStatement 2948002 2948190 - VariableDeclarationList 2948029 2948039 - VariableDeclaration 2948034 2948039 - Identifier 2948034 2948039 - Identifier 2948042 2948062 - Block 2948063 2948190 - ExpressionStatement 2948065 2948167 - CallExpression 2948065 2948166 - Identifier 2948065 2948119 - Identifier 2948120 2948124 - Identifier 2948125 2948133 - Identifier 2948134 2948145 - Identifier 2948146 2948165 - Block 2948244 2949118 - VariableStatement 2948246 2948445 - VariableDeclarationList 2948246 2948444 - VariableDeclaration 2948389 2948444 - Identifier 2948389 2948394 - CallExpression 2948396 2948444 - PropertyAccessExpression 2948396 2948438 - CallExpression 2948396 2948433 - Identifier 2948396 2948406 - CallExpression 2948407 2948432 - PropertyAccessExpression 2948407 2948430 - Identifier 2948407 2948425 - Identifier 2948426 2948430 - Identifier 2948434 2948438 - StringLiteral 2948439 2948443 - ExpressionStatement 2948445 2948774 - CallExpression 2948445 2948773 - PropertyAccessExpression 2948445 2948478 - Identifier 2948445 2948474 - Identifier 2948475 2948478 - CallExpression 2948479 2948772 - Identifier 2948479 2948493 - CallExpression 2948494 2948654 - Identifier 2948494 2948539 - Identifier 2948540 2948549 - PropertyAccessExpression 2948550 2948647 - Identifier 2948550 2948562 - Identifier 2948563 2948647 - Identifier 2948648 2948653 - CallExpression 2948655 2948752 - Identifier 2948655 2948700 - Identifier 2948701 2948711 - PropertyAccessExpression 2948712 2948751 - Identifier 2948712 2948724 - Identifier 2948725 2948751 - ExpressionStatement 2948774 2949103 - CallExpression 2948774 2949102 - PropertyAccessExpression 2948774 2948807 - Identifier 2948774 2948803 - Identifier 2948804 2948807 - CallExpression 2948808 2949101 - Identifier 2948808 2948822 - CallExpression 2948823 2948984 - Identifier 2948823 2948868 - Identifier 2948869 2948879 - PropertyAccessExpression 2948880 2948977 - Identifier 2948880 2948892 - Identifier 2948893 2948977 - Identifier 2948978 2948983 - CallExpression 2948985 2949081 - Identifier 2948985 2949030 - Identifier 2949031 2949040 - PropertyAccessExpression 2949041 2949080 - Identifier 2949041 2949053 - Identifier 2949054 2949080 - ExpressionStatement 2949131 2949175 - BinaryExpression 2949131 2949174 - Identifier 2949131 2949162 - EqualsToken 2949162 2949164 - Identifier 2949164 2949174 - FunctionDeclaration 2949182 2952673 - Identifier 2949198 2949223 - Parameter 2949224 2949238 - Identifier 2949224 2949232 - TypeReference 2949233 2949238 - Identifier 2949233 2949238 - Parameter 2949239 2949268 - Identifier 2949239 2949247 - TypeReference 2949248 2949268 - Identifier 2949248 2949268 - Block 2949269 2952673 - IfStatement 2949271 2952666 - PropertyAccessExpression 2949285 2949314 - Identifier 2949285 2949300 - Identifier 2949301 2949314 - Block 2949315 2952666 - VariableStatement 2949317 2949380 - VariableDeclarationList 2949317 2949379 - VariableDeclaration 2949336 2949379 - Identifier 2949336 2949347 - CallExpression 2949349 2949379 - Identifier 2949349 2949369 - Identifier 2949370 2949378 - IfStatement 2949380 2952655 - BinaryExpression 2949398 2949493 - CallExpression 2949398 2949452 - Identifier 2949398 2949423 - Identifier 2949424 2949434 - Identifier 2949435 2949451 - AmpersandAmpersandToken 2949452 2949455 - PrefixUnaryExpression 2949455 2949493 - ParenthesizedExpression 2949457 2949493 - BinaryExpression 2949458 2949492 - PropertyAccessExpression 2949458 2949472 - Identifier 2949458 2949466 - Identifier 2949467 2949472 - AmpersandToken 2949472 2949474 - PropertyAccessExpression 2949474 2949492 - Identifier 2949474 2949484 - Identifier 2949485 2949492 - Block 2949494 2952655 - VariableStatement 2949496 2949579 - VariableDeclarationList 2949496 2949578 - VariableDeclaration 2949519 2949578 - Identifier 2949519 2949533 - CallExpression 2949535 2949578 - Identifier 2949535 2949556 - Identifier 2949557 2949567 - Identifier 2949568 2949577 - IfStatement 2949579 2952640 - BinaryExpression 2949601 2949632 - Identifier 2949601 2949614 - ExclamationEqualsEqualsToken 2949614 2949618 - Identifier 2949618 2949632 - Block 2949633 2952640 - VariableStatement 2949635 2949701 - VariableDeclarationList 2949635 2949700 - VariableDeclaration 2949662 2949700 - Identifier 2949662 2949668 - CallExpression 2949670 2949700 - Identifier 2949670 2949685 - Identifier 2949686 2949699 - ExpressionStatement 2949701 2949787 - BinaryExpression 2949701 2949786 - PropertyAccessExpression 2949701 2949757 - Identifier 2949701 2949728 - Identifier 2949729 2949757 - QuestionQuestionEqualsToken 2949757 2949761 - AsExpression 2949761 2949786 - NumericLiteral 2949761 2949763 - TypeReference 2949766 2949786 - Identifier 2949766 2949786 - IfStatement 2949787 2952553 - BinaryExpression 2949813 2949871 - ParenthesizedExpression 2949813 2949859 - BinaryExpression 2949814 2949858 - PropertyAccessExpression 2949814 2949848 - Identifier 2949814 2949819 - Identifier 2949820 2949848 - AmpersandToken 2949848 2949850 - Identifier 2949850 2949858 - ExclamationEqualsEqualsToken 2949859 2949863 - Identifier 2949863 2949871 - Block 2949872 2952553 - VariableStatement 2949874 2949971 - VariableDeclarationList 2949874 2949970 - VariableDeclaration 2949905 2949970 - Identifier 2949905 2949922 - BinaryExpression 2949924 2949970 - Identifier 2949924 2949932 - AmpersandToken 2949932 2949934 - PrefixUnaryExpression 2949934 2949970 - PropertyAccessExpression 2949936 2949970 - Identifier 2949936 2949941 - Identifier 2949942 2949970 - ForStatement 2949971 2952530 - VariableDeclarationList 2950002 2950050 - VariableDeclaration 2950005 2950050 - Identifier 2950005 2950012 - PropertyAccessExpression 2950014 2950050 - Identifier 2950014 2950034 - Identifier 2950035 2950050 - BinaryExpression 2950051 2950096 - Identifier 2950051 2950058 - LessThanEqualsToken 2950058 2950061 - PropertyAccessExpression 2950061 2950096 - Identifier 2950061 2950081 - Identifier 2950082 2950096 - BinaryExpression 2950097 2950110 - Identifier 2950097 2950104 - LessThanLessThanEqualsToken 2950104 2950108 - NumericLiteral 2950108 2950110 - Block 2950111 2952530 - IfStatement 2950113 2952503 - BinaryExpression 2950147 2950172 - Identifier 2950147 2950163 - AmpersandToken 2950163 2950165 - Identifier 2950165 2950172 - Block 2950173 2952503 - ForOfStatement 2950175 2952472 - VariableDeclarationList 2950214 2950224 - VariableDeclaration 2950219 2950224 - Identifier 2950219 2950224 - CallExpression 2950227 2950250 - Identifier 2950227 2950242 - Identifier 2950243 2950249 - Block 2950251 2952472 - VariableStatement 2950253 2950417 - VariableDeclarationList 2950253 2950416 - VariableDeclaration 2950296 2950416 - Identifier 2950296 2950303 - CallExpression 2950305 2950416 - Identifier 2950305 2950319 - CallExpression 2950320 2950415 - Identifier 2950320 2950329 - CallExpression 2950330 2950363 - Identifier 2950330 2950348 - Identifier 2950349 2950362 - CallExpression 2950364 2950395 - Identifier 2950364 2950389 - Identifier 2950390 2950394 - PropertyAccessExpression 2950396 2950414 - Identifier 2950396 2950408 - Identifier 2950409 2950414 - IfStatement 2950417 2952437 - PrefixUnaryExpression 2950459 2950466 - Identifier 2950460 2950466 - Block 2950467 2950727 - ExpressionStatement 2950469 2950688 - CallExpression 2950469 2950687 - Identifier 2950469 2950516 - Identifier 2950517 2950525 - PropertyAccessExpression 2950526 2950649 - Identifier 2950526 2950538 - Identifier 2950539 2950649 - Identifier 2950650 2950680 - Identifier 2950681 2950686 - IfStatement 2950769 2952437 - BinaryExpression 2950774 2950823 - Identifier 2950774 2950780 - AmpersandToken 2950780 2950782 - PropertyAccessExpression 2950782 2950823 - Identifier 2950782 2950802 - Identifier 2950803 2950823 - Block 2950824 2951300 - IfStatement 2950826 2951261 - PrefixUnaryExpression 2950872 2950955 - CallExpression 2950873 2950955 - Identifier 2950873 2950877 - CallExpression 2950878 2950907 - Identifier 2950878 2950899 - Identifier 2950900 2950906 - ArrowFunction 2950908 2950954 - Parameter 2950908 2950918 - Identifier 2950908 2950918 - EqualsGreaterThanToken 2950918 2950921 - BinaryExpression 2950921 2950954 - CallExpression 2950921 2950950 - Identifier 2950921 2950939 - Identifier 2950940 2950949 - GreaterThanToken 2950950 2950952 - NumericLiteral 2950952 2950954 - Block 2950956 2951261 - ExpressionStatement 2950958 2951218 - CallExpression 2950958 2951217 - Identifier 2950958 2951009 - Identifier 2951010 2951018 - PropertyAccessExpression 2951019 2951176 - Identifier 2951019 2951031 - Identifier 2951032 2951176 - Identifier 2951177 2951207 - Identifier 2951208 2951213 - NumericLiteral 2951214 2951216 - IfStatement 2951342 2952437 - BinaryExpression 2951347 2951396 - Identifier 2951347 2951353 - AmpersandToken 2951353 2951355 - PropertyAccessExpression 2951355 2951396 - Identifier 2951355 2951375 - Identifier 2951376 2951396 - Block 2951397 2951873 - IfStatement 2951399 2951834 - PrefixUnaryExpression 2951445 2951528 - CallExpression 2951446 2951528 - Identifier 2951446 2951450 - CallExpression 2951451 2951480 - Identifier 2951451 2951472 - Identifier 2951473 2951479 - ArrowFunction 2951481 2951527 - Parameter 2951481 2951491 - Identifier 2951481 2951491 - EqualsGreaterThanToken 2951491 2951494 - BinaryExpression 2951494 2951527 - CallExpression 2951494 2951523 - Identifier 2951494 2951512 - Identifier 2951513 2951522 - GreaterThanToken 2951523 2951525 - NumericLiteral 2951525 2951527 - Block 2951529 2951834 - ExpressionStatement 2951531 2951791 - CallExpression 2951531 2951790 - Identifier 2951531 2951582 - Identifier 2951583 2951591 - PropertyAccessExpression 2951592 2951749 - Identifier 2951592 2951604 - Identifier 2951605 2951749 - Identifier 2951750 2951780 - Identifier 2951781 2951786 - NumericLiteral 2951787 2951789 - IfStatement 2951915 2952437 - BinaryExpression 2951920 2951960 - Identifier 2951920 2951926 - AmpersandToken 2951926 2951928 - PropertyAccessExpression 2951928 2951960 - Identifier 2951928 2951948 - Identifier 2951949 2951960 - Block 2951961 2952437 - IfStatement 2951963 2952398 - PrefixUnaryExpression 2952009 2952092 - CallExpression 2952010 2952092 - Identifier 2952010 2952014 - CallExpression 2952015 2952044 - Identifier 2952015 2952036 - Identifier 2952037 2952043 - ArrowFunction 2952045 2952091 - Parameter 2952045 2952055 - Identifier 2952045 2952055 - EqualsGreaterThanToken 2952055 2952058 - BinaryExpression 2952058 2952091 - CallExpression 2952058 2952087 - Identifier 2952058 2952076 - Identifier 2952077 2952086 - GreaterThanToken 2952087 2952089 - NumericLiteral 2952089 2952091 - Block 2952093 2952398 - ExpressionStatement 2952095 2952355 - CallExpression 2952095 2952354 - Identifier 2952095 2952146 - Identifier 2952147 2952155 - PropertyAccessExpression 2952156 2952313 - Identifier 2952156 2952168 - Identifier 2952169 2952313 - Identifier 2952314 2952344 - Identifier 2952345 2952350 - NumericLiteral 2952351 2952353 - ExpressionStatement 2952553 2952621 - BinaryExpression 2952553 2952620 - PropertyAccessExpression 2952553 2952609 - Identifier 2952553 2952580 - Identifier 2952581 2952609 - BarEqualsToken 2952609 2952612 - Identifier 2952612 2952620 - FunctionDeclaration 2952673 2955437 - Identifier 2952689 2952704 - Parameter 2952705 2952732 - Identifier 2952705 2952711 - TypeReference 2952712 2952732 - Identifier 2952712 2952732 - Block 2952733 2955437 - SwitchStatement 2952735 2955430 - Identifier 2952753 2952759 - CaseBlock 2952760 2955430 - CaseClause 2952762 2952848 - PropertyAccessExpression 2952780 2952808 - Identifier 2952780 2952800 - Identifier 2952801 2952808 - ReturnStatement 2952809 2952848 - ArrayLiteralExpression 2952833 2952847 - StringLiteral 2952835 2952846 - CaseClause 2952848 2952932 - PropertyAccessExpression 2952866 2952893 - Identifier 2952866 2952886 - Identifier 2952887 2952893 - ReturnStatement 2952894 2952932 - ArrayLiteralExpression 2952918 2952931 - StringLiteral 2952920 2952930 - CaseClause 2952932 2953012 - PropertyAccessExpression 2952950 2952975 - Identifier 2952950 2952970 - Identifier 2952971 2952975 - ReturnStatement 2952976 2953012 - ArrayLiteralExpression 2953000 2953011 - StringLiteral 2953002 2953010 - CaseClause 2953012 2953159 - PropertyAccessExpression 2953030 2953059 - Identifier 2953030 2953050 - Identifier 2953051 2953059 - ReturnStatement 2953060 2953159 - ConditionalExpression 2953084 2953158 - Identifier 2953084 2953101 - QuestionToken 2953101 2953103 - ArrayLiteralExpression 2953103 2953118 - StringLiteral 2953105 2953117 - ColonToken 2953118 2953120 - ArrayLiteralExpression 2953120 2953158 - StringLiteral 2953122 2953136 - StringLiteral 2953137 2953157 - CaseClause 2953159 2953247 - PropertyAccessExpression 2953177 2953206 - Identifier 2953177 2953197 - Identifier 2953198 2953206 - ReturnStatement 2953207 2953247 - ArrayLiteralExpression 2953231 2953246 - StringLiteral 2953233 2953245 - CaseClause 2953247 2953329 - PropertyAccessExpression 2953265 2953291 - Identifier 2953265 2953285 - Identifier 2953286 2953291 - ReturnStatement 2953292 2953329 - ArrayLiteralExpression 2953316 2953328 - StringLiteral 2953318 2953327 - CaseClause 2953329 2953415 - PropertyAccessExpression 2953347 2953375 - Identifier 2953347 2953367 - Identifier 2953368 2953375 - ReturnStatement 2953376 2953415 - ArrayLiteralExpression 2953400 2953414 - StringLiteral 2953402 2953413 - CaseClause 2953415 2953505 - PropertyAccessExpression 2953433 2953463 - Identifier 2953433 2953453 - Identifier 2953454 2953463 - ReturnStatement 2953464 2953505 - ArrayLiteralExpression 2953488 2953504 - StringLiteral 2953490 2953503 - CaseClause 2953505 2953589 - PropertyAccessExpression 2953523 2953550 - Identifier 2953523 2953543 - Identifier 2953544 2953550 - ReturnStatement 2953551 2953589 - ArrayLiteralExpression 2953575 2953588 - StringLiteral 2953577 2953587 - CaseClause 2953589 2953669 - PropertyAccessExpression 2953607 2953632 - Identifier 2953607 2953627 - Identifier 2953628 2953632 - ReturnStatement 2953633 2953669 - ArrayLiteralExpression 2953657 2953668 - StringLiteral 2953659 2953667 - CaseClause 2953669 2953763 - PropertyAccessExpression 2953687 2953719 - Identifier 2953687 2953707 - Identifier 2953708 2953719 - ReturnStatement 2953720 2953763 - ArrayLiteralExpression 2953744 2953762 - StringLiteral 2953746 2953761 - CaseClause 2953763 2953845 - PropertyAccessExpression 2953781 2953807 - Identifier 2953781 2953801 - Identifier 2953802 2953807 - ReturnStatement 2953808 2953845 - ArrayLiteralExpression 2953832 2953844 - StringLiteral 2953834 2953843 - CaseClause 2953845 2953945 - PropertyAccessExpression 2953863 2953898 - Identifier 2953863 2953883 - Identifier 2953884 2953898 - ReturnStatement 2953899 2953945 - ArrayLiteralExpression 2953923 2953944 - StringLiteral 2953925 2953943 - CaseClause 2953945 2954045 - PropertyAccessExpression 2953963 2953998 - Identifier 2953963 2953983 - Identifier 2953984 2953998 - ReturnStatement 2953999 2954045 - ArrayLiteralExpression 2954023 2954044 - StringLiteral 2954025 2954043 - CaseClause 2954045 2954139 - PropertyAccessExpression 2954063 2954095 - Identifier 2954063 2954083 - Identifier 2954084 2954095 - ReturnStatement 2954096 2954139 - ArrayLiteralExpression 2954120 2954138 - StringLiteral 2954122 2954137 - CaseClause 2954139 2954231 - PropertyAccessExpression 2954157 2954188 - Identifier 2954157 2954177 - Identifier 2954178 2954188 - ReturnStatement 2954189 2954231 - ArrayLiteralExpression 2954213 2954230 - StringLiteral 2954215 2954229 - CaseClause 2954231 2954323 - PropertyAccessExpression 2954249 2954280 - Identifier 2954249 2954269 - Identifier 2954270 2954280 - ReturnStatement 2954281 2954323 - ArrayLiteralExpression 2954305 2954322 - StringLiteral 2954307 2954321 - CaseClause 2954323 2954421 - PropertyAccessExpression 2954341 2954375 - Identifier 2954341 2954361 - Identifier 2954362 2954375 - ReturnStatement 2954376 2954421 - ArrayLiteralExpression 2954400 2954420 - StringLiteral 2954402 2954419 - CaseClause 2954421 2954529 - PropertyAccessExpression 2954439 2954478 - Identifier 2954439 2954459 - Identifier 2954460 2954478 - ReturnStatement 2954479 2954529 - ArrayLiteralExpression 2954503 2954528 - StringLiteral 2954505 2954527 - CaseClause 2954529 2954641 - PropertyAccessExpression 2954547 2954588 - Identifier 2954547 2954567 - Identifier 2954568 2954588 - ReturnStatement 2954589 2954641 - ArrayLiteralExpression 2954613 2954640 - StringLiteral 2954615 2954639 - CaseClause 2954641 2954753 - PropertyAccessExpression 2954659 2954700 - Identifier 2954659 2954679 - Identifier 2954680 2954700 - ReturnStatement 2954701 2954753 - ArrayLiteralExpression 2954725 2954752 - StringLiteral 2954727 2954751 - CaseClause 2954753 2954863 - PropertyAccessExpression 2954771 2954811 - Identifier 2954771 2954791 - Identifier 2954792 2954811 - ReturnStatement 2954812 2954863 - ArrayLiteralExpression 2954836 2954862 - StringLiteral 2954838 2954861 - CaseClause 2954863 2954965 - PropertyAccessExpression 2954881 2954917 - Identifier 2954881 2954901 - Identifier 2954902 2954917 - ReturnStatement 2954918 2954965 - ArrayLiteralExpression 2954942 2954964 - StringLiteral 2954944 2954963 - CaseClause 2954965 2955051 - PropertyAccessExpression 2954983 2955011 - Identifier 2954983 2955003 - Identifier 2955004 2955011 - ReturnStatement 2955012 2955051 - ArrayLiteralExpression 2955036 2955050 - StringLiteral 2955038 2955049 - CaseClause 2955051 2955206 - PropertyAccessExpression 2955069 2955130 - Identifier 2955069 2955089 - Identifier 2955090 2955130 - ReturnStatement 2955131 2955206 - ArrayLiteralExpression 2955155 2955205 - StringLiteral 2955157 2955182 - StringLiteral 2955183 2955204 - CaseClause 2955206 2955338 - PropertyAccessExpression 2955224 2955275 - Identifier 2955224 2955244 - Identifier 2955245 2955275 - ReturnStatement 2955276 2955338 - ArrayLiteralExpression 2955300 2955337 - StringLiteral 2955302 2955336 - DefaultClause 2955338 2955419 - ReturnStatement 2955360 2955419 - CallExpression 2955384 2955418 - PropertyAccessExpression 2955384 2955395 - Identifier 2955384 2955390 - Identifier 2955391 2955395 - StringLiteral 2955396 2955417 - FunctionDeclaration 2955437 2955908 - Identifier 2955453 2955474 - Parameter 2955475 2955491 - Identifier 2955475 2955479 - TypeReference 2955480 2955491 - Identifier 2955480 2955491 - Parameter 2955492 2955508 - Identifier 2955492 2955502 - TypeReference 2955503 2955508 - Identifier 2955503 2955508 - Block 2955509 2955908 - VariableStatement 2955511 2955554 - VariableDeclarationList 2955511 2955553 - VariableDeclaration 2955526 2955553 - Identifier 2955526 2955532 - CallExpression 2955534 2955553 - Identifier 2955534 2955547 - Identifier 2955548 2955552 - IfStatement 2955554 2955856 - PrefixUnaryExpression 2955568 2955596 - PropertyAccessExpression 2955569 2955596 - Identifier 2955569 2955574 - Identifier 2955575 2955596 - Block 2955597 2955856 - ExpressionStatement 2955599 2955845 - BinaryExpression 2955599 2955844 - PropertyAccessExpression 2955599 2955640 - Identifier 2955599 2955618 - Identifier 2955619 2955640 - EqualsToken 2955640 2955642 - BinaryExpression 2955642 2955844 - CallExpression 2955642 2955827 - Identifier 2955642 2955664 - CallExpression 2955665 2955702 - Identifier 2955665 2955696 - Identifier 2955697 2955701 - Identifier 2955703 2955733 - PropertyAccessExpression 2955734 2955815 - Identifier 2955734 2955746 - Identifier 2955747 2955815 - Identifier 2955816 2955826 - BarBarToken 2955827 2955830 - Identifier 2955830 2955844 - ReturnStatement 2955856 2955901 - PropertyAccessExpression 2955872 2955900 - Identifier 2955872 2955878 - Identifier 2955879 2955900 - FunctionDeclaration 2955908 2985468 - Identifier 2955951 2955973 - Parameter 2955974 2956053 - Identifier 2955974 2955978 - UnionType 2955979 2956053 - TypeReference 2955979 2955992 - Identifier 2955979 2955992 - TypeReference 2955994 2956008 - Identifier 2955994 2956008 - TypeReference 2956010 2956030 - Identifier 2956010 2956030 - TypeReference 2956032 2956053 - Identifier 2956032 2956053 - BooleanKeyword 2956055 2956063 - Block 2956063 2985468 - VariableStatement 2956065 2956167 - VariableDeclarationList 2956065 2956166 - VariableDeclaration 2956080 2956166 - Identifier 2956080 2956092 - BinaryExpression 2956094 2956166 - CallExpression 2956094 2956129 - Identifier 2956094 2956123 - Identifier 2956124 2956128 - BarBarToken 2956129 2956132 - CallExpression 2956132 2956166 - Identifier 2956132 2956160 - Identifier 2956161 2956165 - IfStatement 2956167 2956253 - BinaryExpression 2956181 2956206 - Identifier 2956181 2956192 - ExclamationEqualsEqualsToken 2956192 2956196 - Identifier 2956196 2956206 - Block 2956207 2956253 - ReturnStatement 2956209 2956242 - Identifier 2956229 2956241 - IfStatement 2956253 2956464 - BinaryExpression 2956269 2956318 - CallExpression 2956269 2956286 - Identifier 2956269 2956280 - Identifier 2956281 2956285 - AmpersandAmpersandToken 2956286 2956289 - CallExpression 2956289 2956318 - Identifier 2956289 2956312 - Identifier 2956313 2956317 - Block 2956319 2956464 - ReturnStatement 2956321 2956453 - CallExpression 2956341 2956452 - Identifier 2956341 2956366 - Identifier 2956367 2956371 - PropertyAccessExpression 2956372 2956451 - Identifier 2956372 2956384 - Identifier 2956385 2956451 - VariableStatement 2956464 2956595 - VariableDeclarationList 2956464 2956594 - VariableDeclaration 2956481 2956594 - Identifier 2956481 2956496 - ConditionalExpression 2956498 2956594 - CallExpression 2956498 2956524 - Identifier 2956498 2956518 - Identifier 2956519 2956523 - QuestionToken 2956524 2956526 - BinaryExpression 2956526 2956577 - PropertyAccessExpression 2956526 2956553 - PropertyAccessExpression 2956526 2956547 - Identifier 2956526 2956531 - Identifier 2956532 2956547 - Identifier 2956548 2956553 - AmpersandToken 2956553 2956555 - PropertyAccessExpression 2956555 2956577 - Identifier 2956555 2956565 - Identifier 2956566 2956577 - ColonToken 2956577 2956579 - PropertyAccessExpression 2956579 2956594 - Identifier 2956579 2956589 - Identifier 2956590 2956594 - VariableStatement 2956595 2956769 - VariableDeclarationList 2956595 2956768 - VariableDeclaration 2956608 2956637 - Identifier 2956608 2956619 - UnionType 2956620 2956637 - TypeReference 2956620 2956625 - Identifier 2956620 2956625 - UndefinedKeyword 2956627 2956637 - VariableDeclaration 2956638 2956668 - Identifier 2956638 2956650 - UnionType 2956651 2956668 - TypeReference 2956651 2956656 - Identifier 2956651 2956656 - UndefinedKeyword 2956658 2956668 - VariableDeclaration 2956669 2956697 - Identifier 2956669 2956679 - UnionType 2956680 2956697 - TypeReference 2956680 2956685 - Identifier 2956680 2956685 - UndefinedKeyword 2956687 2956697 - VariableDeclaration 2956698 2956729 - Identifier 2956698 2956711 - UnionType 2956712 2956729 - TypeReference 2956712 2956717 - Identifier 2956712 2956717 - UndefinedKeyword 2956719 2956729 - VariableDeclaration 2956730 2956768 - Identifier 2956730 2956745 - UnionType 2956746 2956768 - TypeReference 2956746 2956756 - Identifier 2956746 2956756 - UndefinedKeyword 2956758 2956768 - VariableStatement 2956769 2956810 - VariableDeclarationList 2956769 2956809 - VariableDeclaration 2956782 2956809 - Identifier 2956782 2956788 - PropertyAccessExpression 2956790 2956809 - Identifier 2956790 2956804 - Identifier 2956805 2956809 - VariableStatement 2956810 2956858 - VariableDeclarationList 2956810 2956857 - VariableDeclaration 2956823 2956857 - Identifier 2956823 2956849 - FalseKeyword 2956851 2956857 - VariableStatement 2956858 2957149 - VariableDeclarationList 2956858 2957148 - VariableDeclaration 2957119 2957148 - Identifier 2957119 2957140 - FalseKeyword 2957142 2957148 - ForOfStatement 2957149 2983772 - VariableDeclarationList 2957164 2957178 - VariableDeclaration 2957169 2957178 - Identifier 2957169 2957178 - NonNullExpression 2957181 2957215 - PropertyAccessExpression 2957181 2957214 - ParenthesizedExpression 2957181 2957204 - AsExpression 2957183 2957203 - Identifier 2957183 2957187 - TypeReference 2957190 2957203 - Identifier 2957190 2957203 - Identifier 2957205 2957214 - Block 2957216 2983772 - IfStatement 2957218 2983761 - CallExpression 2957236 2957257 - Identifier 2957236 2957247 - Identifier 2957248 2957256 - Block 2957258 2960020 - IfStatement 2957260 2958350 - PrefixUnaryExpression 2957282 2957358 - CallExpression 2957283 2957358 - Identifier 2957283 2957301 - Identifier 2957302 2957318 - Identifier 2957319 2957324 - PropertyAccessExpression 2957325 2957337 - Identifier 2957325 2957330 - Identifier 2957331 2957337 - PropertyAccessExpression 2957338 2957357 - PropertyAccessExpression 2957338 2957350 - Identifier 2957338 2957343 - Identifier 2957344 2957350 - Identifier 2957351 2957357 - Block 2957359 2957808 - IfStatement 2957361 2957789 - BinaryExpression 2957387 2957458 - BinaryExpression 2957387 2957429 - PropertyAccessExpression 2957387 2957396 - Identifier 2957387 2957391 - Identifier 2957392 2957396 - EqualsEqualsEqualsToken 2957396 2957400 - PropertyAccessExpression 2957400 2957429 - Identifier 2957400 2957411 - Identifier 2957412 2957429 - AmpersandAmpersandToken 2957429 2957432 - PrefixUnaryExpression 2957432 2957458 - CallExpression 2957434 2957458 - Identifier 2957434 2957447 - PropertyAccessExpression 2957448 2957457 - Identifier 2957448 2957452 - Identifier 2957453 2957457 - Block 2957459 2957631 - ReturnStatement 2957461 2957608 - CallExpression 2957493 2957607 - Identifier 2957493 2957518 - Identifier 2957519 2957523 - PropertyAccessExpression 2957524 2957606 - Identifier 2957524 2957536 - Identifier 2957537 2957606 - Block 2957657 2957789 - ReturnStatement 2957659 2957766 - CallExpression 2957691 2957765 - Identifier 2957691 2957716 - Identifier 2957717 2957721 - PropertyAccessExpression 2957722 2957764 - Identifier 2957722 2957734 - Identifier 2957735 2957764 - IfStatement 2957830 2958350 - BinaryExpression 2957835 2957933 - Identifier 2957835 2957851 - AmpersandAmpersandToken 2957851 2957854 - ParenthesizedExpression 2957854 2957933 - BinaryExpression 2957856 2957932 - BinaryExpression 2957856 2957892 - PropertyAccessExpression 2957856 2957865 - Identifier 2957856 2957860 - Identifier 2957861 2957865 - EqualsEqualsEqualsToken 2957865 2957869 - PropertyAccessExpression 2957869 2957892 - Identifier 2957869 2957880 - Identifier 2957881 2957892 - BarBarToken 2957892 2957895 - BinaryExpression 2957895 2957932 - PropertyAccessExpression 2957895 2957905 - Identifier 2957895 2957900 - Identifier 2957901 2957905 - EqualsEqualsEqualsToken 2957905 2957909 - PropertyAccessExpression 2957909 2957932 - Identifier 2957909 2957920 - Identifier 2957921 2957932 - Block 2957934 2958350 - VariableStatement 2957936 2958046 - VariableDeclarationList 2957936 2958045 - VariableDeclaration 2957963 2958045 - Identifier 2957963 2957973 - CallExpression 2957975 2958045 - Identifier 2957975 2958016 - AsExpression 2958017 2958044 - Identifier 2958017 2958021 - TypeReference 2958024 2958044 - Identifier 2958024 2958044 - IfStatement 2958046 2958331 - BinaryExpression 2958072 2958147 - CallExpression 2958072 2958110 - Identifier 2958072 2958085 - PropertyAccessExpression 2958086 2958109 - Identifier 2958086 2958095 - Identifier 2958096 2958109 - AmpersandAmpersandToken 2958110 2958113 - BinaryExpression 2958113 2958147 - Identifier 2958113 2958118 - EqualsEqualsEqualsToken 2958118 2958122 - PropertyAccessExpression 2958122 2958147 - Identifier 2958122 2958132 - Identifier 2958133 2958147 - Block 2958148 2958331 - ReturnStatement 2958150 2958308 - CallExpression 2958182 2958307 - Identifier 2958182 2958207 - Identifier 2958208 2958212 - PropertyAccessExpression 2958213 2958306 - Identifier 2958213 2958225 - Identifier 2958226 2958306 - IfStatement 2958350 2958696 - BinaryExpression 2958509 2958573 - Identifier 2958509 2958514 - AmpersandToken 2958514 2958516 - PrefixUnaryExpression 2958516 2958573 - ParenthesizedExpression 2958518 2958573 - BinaryExpression 2958519 2958572 - PropertyAccessExpression 2958519 2958546 - Identifier 2958519 2958532 - Identifier 2958533 2958546 - BarToken 2958546 2958548 - PropertyAccessExpression 2958548 2958572 - Identifier 2958548 2958562 - Identifier 2958563 2958572 - Block 2958574 2958696 - ReturnStatement 2958576 2958677 - CallExpression 2958604 2958676 - Identifier 2958604 2958623 - Identifier 2958624 2958632 - PropertyAccessExpression 2958633 2958675 - Identifier 2958633 2958645 - Identifier 2958646 2958675 - IfStatement 2958696 2959553 - BinaryExpression 2958853 2958907 - Identifier 2958853 2958873 - AmpersandAmpersandToken 2958873 2958876 - BinaryExpression 2958876 2958907 - Identifier 2958876 2958882 - AmpersandToken 2958882 2958884 - PropertyAccessExpression 2958884 2958907 - Identifier 2958884 2958898 - Identifier 2958899 2958907 - Block 2958908 2959553 - ExpressionStatement 2958910 2958970 - CallExpression 2958910 2958969 - PropertyAccessExpression 2958910 2958953 - Identifier 2958910 2958937 - Identifier 2958938 2958953 - Identifier 2958954 2958968 - VariableStatement 2958970 2959041 - VariableDeclarationList 2958970 2959040 - VariableDeclaration 2958997 2959040 - Identifier 2958997 2959008 - CallExpression 2959010 2959040 - Identifier 2959010 2959030 - Identifier 2959031 2959039 - IfStatement 2959041 2959499 - PrefixUnaryExpression 2959067 2959099 - CallExpression 2959068 2959099 - Identifier 2959068 2959087 - Identifier 2959088 2959098 - Block 2959100 2959499 - ExpressionStatement 2959102 2959438 - CallExpression 2959102 2959437 - Identifier 2959102 2959142 - CallExpression 2959143 2959292 - Identifier 2959143 2959178 - Identifier 2959179 2959187 - PropertyAccessExpression 2959188 2959291 - Identifier 2959188 2959200 - Identifier 2959201 2959291 - CallExpression 2959293 2959409 - Identifier 2959293 2959346 - Identifier 2959347 2959361 - PropertyAccessExpression 2959362 2959408 - Identifier 2959362 2959374 - Identifier 2959375 2959408 - ReturnStatement 2959438 2959476 - TrueKeyword 2959470 2959475 - ReturnStatement 2959499 2959534 - FalseKeyword 2959527 2959533 - ExpressionStatement 2959553 2959606 - BinaryExpression 2959553 2959605 - Identifier 2959553 2959578 - BarEqualsToken 2959578 2959581 - PropertyAccessExpression 2959581 2959605 - Identifier 2959581 2959595 - Identifier 2959596 2959605 - IfStatement 2959606 2959957 - PrefixUnaryExpression 2959720 2959753 - ParenthesizedExpression 2959721 2959753 - BinaryExpression 2959722 2959752 - Identifier 2959722 2959727 - AmpersandToken 2959727 2959729 - PropertyAccessExpression 2959729 2959752 - Identifier 2959729 2959743 - Identifier 2959744 2959752 - Block 2959754 2959825 - ExpressionStatement 2959756 2959806 - BinaryExpression 2959756 2959805 - Identifier 2959756 2959798 - EqualsToken 2959798 2959800 - TrueKeyword 2959800 2959805 - IfStatement 2959847 2959957 - BinaryExpression 2959852 2959880 - Identifier 2959852 2959857 - AmpersandToken 2959857 2959859 - PropertyAccessExpression 2959859 2959880 - Identifier 2959859 2959873 - Identifier 2959874 2959880 - Block 2959881 2959957 - ExpressionStatement 2959883 2959938 - BinaryExpression 2959883 2959937 - Identifier 2959883 2959930 - EqualsToken 2959930 2959932 - TrueKeyword 2959932 2959937 - ExpressionStatement 2959957 2960005 - BinaryExpression 2959957 2960004 - Identifier 2959957 2959991 - QuestionQuestionEqualsToken 2959991 2959995 - Identifier 2959995 2960004 - Block 2960038 2983761 - IfStatement 2960040 2960735 - BinaryExpression 2960062 2960106 - PropertyAccessExpression 2960062 2960075 - Identifier 2960062 2960070 - Identifier 2960071 2960075 - ExclamationEqualsEqualsToken 2960075 2960079 - PropertyAccessExpression 2960079 2960106 - Identifier 2960079 2960090 - Identifier 2960091 2960106 - Block 2960107 2960735 - IfStatement 2960109 2960395 - BinaryExpression 2960135 2960221 - BinaryExpression 2960135 2960177 - PropertyAccessExpression 2960135 2960144 - Identifier 2960135 2960139 - Identifier 2960140 2960144 - EqualsEqualsEqualsToken 2960144 2960148 - PropertyAccessExpression 2960148 2960177 - Identifier 2960148 2960159 - Identifier 2960160 2960177 - BarBarToken 2960177 2960180 - BinaryExpression 2960180 2960221 - PropertyAccessExpression 2960180 2960190 - Identifier 2960180 2960185 - Identifier 2960186 2960190 - EqualsEqualsEqualsToken 2960190 2960194 - PropertyAccessExpression 2960194 2960221 - Identifier 2960194 2960205 - Identifier 2960206 2960221 - Block 2960222 2960395 - ReturnStatement 2960224 2960372 - CallExpression 2960256 2960371 - Identifier 2960256 2960275 - Identifier 2960276 2960284 - PropertyAccessExpression 2960285 2960340 - Identifier 2960285 2960297 - Identifier 2960298 2960340 - CallExpression 2960341 2960370 - Identifier 2960341 2960355 - PropertyAccessExpression 2960356 2960369 - Identifier 2960356 2960364 - Identifier 2960365 2960369 - IfStatement 2960395 2960716 - BinaryExpression 2960421 2960537 - BinaryExpression 2960421 2960460 - PropertyAccessExpression 2960421 2960430 - Identifier 2960421 2960425 - Identifier 2960426 2960430 - EqualsEqualsEqualsToken 2960430 2960434 - PropertyAccessExpression 2960434 2960460 - Identifier 2960434 2960445 - Identifier 2960446 2960460 - AmpersandAmpersandToken 2960460 2960463 - ParenthesizedExpression 2960463 2960537 - BinaryExpression 2960465 2960536 - BinaryExpression 2960465 2960507 - PropertyAccessExpression 2960465 2960478 - Identifier 2960465 2960473 - Identifier 2960474 2960478 - ExclamationEqualsEqualsToken 2960478 2960482 - PropertyAccessExpression 2960482 2960507 - Identifier 2960482 2960493 - Identifier 2960494 2960507 - BarBarToken 2960507 2960510 - PrefixUnaryExpression 2960510 2960536 - CallExpression 2960512 2960536 - Identifier 2960512 2960523 - PropertyAccessExpression 2960524 2960535 - Identifier 2960524 2960528 - Identifier 2960529 2960535 - Block 2960538 2960716 - ReturnStatement 2960540 2960693 - CallExpression 2960572 2960692 - Identifier 2960572 2960591 - Identifier 2960592 2960600 - PropertyAccessExpression 2960601 2960661 - Identifier 2960601 2960613 - Identifier 2960614 2960661 - CallExpression 2960662 2960691 - Identifier 2960662 2960676 - PropertyAccessExpression 2960677 2960690 - Identifier 2960677 2960685 - Identifier 2960686 2960690 - IfStatement 2960735 2961146 - BinaryExpression 2960757 2960883 - BinaryExpression 2960757 2960838 - BinaryExpression 2960757 2960795 - PropertyAccessExpression 2960757 2960770 - Identifier 2960757 2960765 - Identifier 2960766 2960770 - ExclamationEqualsEqualsToken 2960770 2960774 - PropertyAccessExpression 2960774 2960795 - Identifier 2960774 2960785 - Identifier 2960786 2960795 - AmpersandAmpersandToken 2960795 2960798 - BinaryExpression 2960798 2960838 - PropertyAccessExpression 2960798 2960812 - Identifier 2960798 2960807 - Identifier 2960808 2960812 - ExclamationEqualsEqualsToken 2960812 2960816 - PropertyAccessExpression 2960816 2960838 - Identifier 2960816 2960827 - Identifier 2960828 2960838 - AmpersandAmpersandToken 2960838 2960841 - BinaryExpression 2960841 2960883 - PropertyAccessExpression 2960841 2960855 - Identifier 2960841 2960850 - Identifier 2960851 2960855 - ExclamationEqualsEqualsToken 2960855 2960859 - PropertyAccessExpression 2960859 2960883 - Identifier 2960859 2960870 - Identifier 2960871 2960883 - Block 2960884 2961146 - IfStatement 2960886 2961127 - BinaryExpression 2960912 2960950 - PropertyAccessExpression 2960912 2960921 - Identifier 2960912 2960916 - Identifier 2960917 2960921 - EqualsEqualsEqualsToken 2960921 2960925 - PropertyAccessExpression 2960925 2960950 - Identifier 2960925 2960936 - Identifier 2960937 2960950 - Block 2960951 2961127 - ReturnStatement 2960953 2961104 - CallExpression 2960985 2961103 - Identifier 2960985 2961004 - Identifier 2961005 2961013 - PropertyAccessExpression 2961014 2961072 - Identifier 2961014 2961026 - Identifier 2961027 2961072 - CallExpression 2961073 2961102 - Identifier 2961073 2961087 - PropertyAccessExpression 2961088 2961101 - Identifier 2961088 2961096 - Identifier 2961097 2961101 - SwitchStatement 2961146 2983746 - PropertyAccessExpression 2961172 2961185 - Identifier 2961172 2961180 - Identifier 2961181 2961185 - CaseBlock 2961186 2983746 - CaseClause 2961188 2962332 - PropertyAccessExpression 2961214 2961238 - Identifier 2961214 2961225 - Identifier 2961226 2961238 - Block 2961239 2962332 - IfStatement 2961241 2961539 - BinaryExpression 2961271 2961353 - BinaryExpression 2961271 2961311 - PropertyAccessExpression 2961271 2961280 - Identifier 2961271 2961275 - Identifier 2961276 2961280 - ExclamationEqualsEqualsToken 2961280 2961284 - PropertyAccessExpression 2961284 2961311 - Identifier 2961284 2961295 - Identifier 2961296 2961311 - AmpersandAmpersandToken 2961311 2961314 - BinaryExpression 2961314 2961353 - PropertyAccessExpression 2961314 2961324 - Identifier 2961314 2961319 - Identifier 2961320 2961324 - ExclamationEqualsEqualsToken 2961324 2961328 - PropertyAccessExpression 2961328 2961353 - Identifier 2961328 2961339 - Identifier 2961340 2961353 - Block 2961354 2961539 - ReturnStatement 2961356 2961512 - CallExpression 2961392 2961511 - Identifier 2961392 2961411 - Identifier 2961412 2961416 - PropertyAccessExpression 2961417 2961470 - Identifier 2961417 2961429 - Identifier 2961430 2961470 - CallExpression 2961471 2961510 - Identifier 2961471 2961485 - PropertyAccessExpression 2961486 2961509 - Identifier 2961486 2961496 - Identifier 2961497 2961509 - VariableStatement 2961539 2961667 - VariableDeclarationList 2961539 2961666 - VariableDeclaration 2961570 2961666 - Identifier 2961570 2961577 - BinaryExpression 2961579 2961666 - ParenthesizedExpression 2961579 2961651 - BinaryExpression 2961581 2961650 - CallExpression 2961581 2961612 - Identifier 2961581 2961599 - PropertyAccessExpression 2961600 2961611 - Identifier 2961600 2961604 - Identifier 2961605 2961611 - AmpersandAmpersandToken 2961612 2961615 - CallExpression 2961615 2961650 - Identifier 2961615 2961637 - PropertyAccessExpression 2961638 2961649 - Identifier 2961638 2961642 - Identifier 2961643 2961649 - BarBarToken 2961651 2961654 - PropertyAccessExpression 2961654 2961666 - Identifier 2961654 2961659 - Identifier 2961660 2961666 - IfStatement 2961667 2962277 - BinaryExpression 2961697 2962034 - BinaryExpression 2961697 2961765 - PropertyAccessExpression 2961697 2961736 - Identifier 2961697 2961731 - Identifier 2961732 2961736 - EqualsEqualsEqualsToken 2961736 2961740 - PropertyAccessExpression 2961740 2961765 - Identifier 2961740 2961751 - Identifier 2961752 2961765 - AmpersandAmpersandToken 2961765 2961768 - PrefixUnaryExpression 2961768 2962034 - ParenthesizedExpression 2961770 2962034 - BinaryExpression 2961771 2962033 - BinaryExpression 2961771 2962004 - BinaryExpression 2961771 2961961 - BinaryExpression 2961771 2961923 - BinaryExpression 2961771 2961857 - BinaryExpression 2961771 2961827 - CallExpression 2961771 2961804 - Identifier 2961771 2961796 - Identifier 2961797 2961803 - BarBarToken 2961804 2961807 - CallExpression 2961807 2961827 - Identifier 2961807 2961819 - Identifier 2961820 2961826 - BarBarToken 2961827 2961830 - CallExpression 2961830 2961857 - Identifier 2961830 2961849 - Identifier 2961850 2961856 - BarBarToken 2961857 2961860 - CallExpression 2961860 2961923 - Identifier 2961860 2961915 - Identifier 2961916 2961922 - BarBarToken 2961923 2961926 - CallExpression 2961926 2961961 - Identifier 2961926 2961953 - Identifier 2961954 2961960 - BarBarToken 2961961 2961964 - CallExpression 2961964 2962004 - Identifier 2961964 2961996 - Identifier 2961997 2962003 - BarBarToken 2962004 2962007 - CallExpression 2962007 2962033 - Identifier 2962007 2962025 - Identifier 2962026 2962032 - Block 2962061 2962277 - ReturnStatement 2962063 2962250 - CallExpression 2962099 2962249 - Identifier 2962099 2962118 - Identifier 2962119 2962127 - PropertyAccessExpression 2962128 2962218 - Identifier 2962128 2962140 - Identifier 2962141 2962218 - CallExpression 2962219 2962248 - Identifier 2962219 2962233 - PropertyAccessExpression 2962234 2962247 - Identifier 2962234 2962242 - Identifier 2962243 2962247 - BreakStatement 2962277 2962309 - CaseClause 2962332 2963800 - PropertyAccessExpression 2962358 2962385 - Identifier 2962358 2962369 - Identifier 2962370 2962385 - IfStatement 2962386 2963660 - BinaryExpression 2962549 2962579 - Identifier 2962549 2962554 - AmpersandToken 2962554 2962556 - PropertyAccessExpression 2962556 2962579 - Identifier 2962556 2962570 - Identifier 2962571 2962579 - Block 2962580 2962725 - ReturnStatement 2962582 2962698 - CallExpression 2962618 2962697 - Identifier 2962618 2962637 - Identifier 2962638 2962646 - PropertyAccessExpression 2962647 2962684 - Identifier 2962647 2962659 - Identifier 2962660 2962684 - StringLiteral 2962685 2962696 - IfStatement 2962755 2963660 - BinaryExpression 2962760 2962789 - Identifier 2962760 2962765 - AmpersandToken 2962765 2962767 - PropertyAccessExpression 2962767 2962789 - Identifier 2962767 2962781 - Identifier 2962782 2962789 - Block 2962790 2962964 - ReturnStatement 2962792 2962937 - CallExpression 2962828 2962936 - Identifier 2962828 2962847 - Identifier 2962848 2962856 - PropertyAccessExpression 2962857 2962912 - Identifier 2962857 2962869 - Identifier 2962870 2962912 - StringLiteral 2962913 2962924 - StringLiteral 2962925 2962935 - IfStatement 2962994 2963660 - BinaryExpression 2962999 2963029 - Identifier 2962999 2963004 - AmpersandToken 2963004 2963006 - PropertyAccessExpression 2963006 2963029 - Identifier 2963006 2963020 - Identifier 2963021 2963029 - Block 2963030 2963198 - ReturnStatement 2963032 2963171 - CallExpression 2963068 2963170 - Identifier 2963068 2963087 - Identifier 2963088 2963096 - PropertyAccessExpression 2963097 2963145 - Identifier 2963097 2963109 - Identifier 2963110 2963145 - StringLiteral 2963146 2963157 - StringLiteral 2963158 2963169 - IfStatement 2963228 2963660 - BinaryExpression 2963233 2963263 - Identifier 2963233 2963238 - AmpersandToken 2963238 2963240 - PropertyAccessExpression 2963240 2963263 - Identifier 2963240 2963254 - Identifier 2963255 2963263 - Block 2963264 2963432 - ReturnStatement 2963266 2963405 - CallExpression 2963302 2963404 - Identifier 2963302 2963321 - Identifier 2963322 2963330 - PropertyAccessExpression 2963331 2963379 - Identifier 2963331 2963343 - Identifier 2963344 2963379 - StringLiteral 2963380 2963391 - StringLiteral 2963392 2963403 - IfStatement 2963462 2963660 - BinaryExpression 2963467 2963494 - Identifier 2963467 2963472 - AmpersandToken 2963472 2963474 - PropertyAccessExpression 2963474 2963494 - Identifier 2963474 2963488 - Identifier 2963489 2963494 - Block 2963495 2963660 - ReturnStatement 2963497 2963633 - CallExpression 2963533 2963632 - Identifier 2963533 2963552 - Identifier 2963553 2963561 - PropertyAccessExpression 2963562 2963610 - Identifier 2963562 2963574 - Identifier 2963575 2963610 - StringLiteral 2963611 2963622 - StringLiteral 2963623 2963631 - ExpressionStatement 2963660 2963718 - BinaryExpression 2963660 2963717 - Identifier 2963660 2963691 - BarEqualsToken 2963691 2963694 - PropertyAccessExpression 2963694 2963717 - Identifier 2963694 2963708 - Identifier 2963709 2963717 - ExpressionStatement 2963718 2963768 - BinaryExpression 2963718 2963767 - Identifier 2963718 2963756 - EqualsToken 2963756 2963758 - Identifier 2963758 2963767 - BreakStatement 2963768 2963800 - CaseClause 2963800 2963854 - PropertyAccessExpression 2963828 2963853 - Identifier 2963828 2963839 - Identifier 2963840 2963853 - CaseClause 2963854 2963909 - PropertyAccessExpression 2963880 2963908 - Identifier 2963880 2963891 - Identifier 2963892 2963908 - CaseClause 2963909 2966609 - PropertyAccessExpression 2963935 2963961 - Identifier 2963935 2963946 - Identifier 2963947 2963961 - VariableStatement 2963962 2964051 - VariableDeclarationList 2963962 2964050 - VariableDeclaration 2963993 2964050 - Identifier 2963993 2963998 - CallExpression 2964000 2964050 - Identifier 2964000 2964019 - CallExpression 2964020 2964049 - Identifier 2964020 2964034 - PropertyAccessExpression 2964035 2964048 - Identifier 2964035 2964043 - Identifier 2964044 2964048 - IfStatement 2964051 2966512 - BinaryExpression 2964083 2964126 - Identifier 2964083 2964088 - AmpersandToken 2964088 2964090 - PropertyAccessExpression 2964090 2964126 - Identifier 2964090 2964104 - Identifier 2964105 2964126 - Block 2964127 2964271 - ReturnStatement 2964129 2964244 - CallExpression 2964165 2964243 - Identifier 2964165 2964184 - Identifier 2964185 2964193 - PropertyAccessExpression 2964194 2964242 - Identifier 2964194 2964206 - Identifier 2964207 2964242 - IfStatement 2964301 2966512 - BinaryExpression 2964306 2964336 - Identifier 2964306 2964311 - AmpersandToken 2964311 2964313 - PropertyAccessExpression 2964313 2964336 - Identifier 2964313 2964327 - Identifier 2964328 2964336 - Block 2964337 2964499 - ReturnStatement 2964339 2964472 - CallExpression 2964375 2964471 - Identifier 2964375 2964394 - Identifier 2964395 2964403 - PropertyAccessExpression 2964404 2964452 - Identifier 2964404 2964416 - Identifier 2964417 2964452 - Identifier 2964453 2964458 - StringLiteral 2964459 2964470 - IfStatement 2964529 2966512 - BinaryExpression 2964534 2964562 - Identifier 2964534 2964539 - AmpersandToken 2964539 2964541 - PropertyAccessExpression 2964541 2964562 - Identifier 2964541 2964555 - Identifier 2964556 2964562 - Block 2964563 2964723 - ReturnStatement 2964565 2964696 - CallExpression 2964601 2964695 - Identifier 2964601 2964620 - Identifier 2964621 2964629 - PropertyAccessExpression 2964630 2964678 - Identifier 2964630 2964642 - Identifier 2964643 2964678 - Identifier 2964679 2964684 - StringLiteral 2964685 2964694 - IfStatement 2964753 2966512 - BinaryExpression 2964758 2964788 - Identifier 2964758 2964763 - AmpersandToken 2964763 2964765 - PropertyAccessExpression 2964765 2964788 - Identifier 2964765 2964779 - Identifier 2964780 2964788 - Block 2964789 2964951 - ReturnStatement 2964791 2964924 - CallExpression 2964827 2964923 - Identifier 2964827 2964846 - Identifier 2964847 2964855 - PropertyAccessExpression 2964856 2964904 - Identifier 2964856 2964868 - Identifier 2964869 2964904 - Identifier 2964905 2964910 - StringLiteral 2964911 2964922 - IfStatement 2964981 2966512 - BinaryExpression 2964986 2965016 - Identifier 2964986 2964991 - AmpersandToken 2964991 2964993 - PropertyAccessExpression 2964993 2965016 - Identifier 2964993 2965007 - Identifier 2965008 2965016 - Block 2965017 2965179 - ReturnStatement 2965019 2965152 - CallExpression 2965055 2965151 - Identifier 2965055 2965074 - Identifier 2965075 2965083 - PropertyAccessExpression 2965084 2965132 - Identifier 2965084 2965096 - Identifier 2965097 2965132 - Identifier 2965133 2965138 - StringLiteral 2965139 2965150 - IfStatement 2965209 2966512 - BinaryExpression 2965214 2965241 - Identifier 2965214 2965219 - AmpersandToken 2965219 2965221 - PropertyAccessExpression 2965221 2965241 - Identifier 2965221 2965235 - Identifier 2965236 2965241 - Block 2965242 2965401 - ReturnStatement 2965244 2965374 - CallExpression 2965280 2965373 - Identifier 2965280 2965299 - Identifier 2965300 2965308 - PropertyAccessExpression 2965309 2965357 - Identifier 2965309 2965321 - Identifier 2965322 2965357 - Identifier 2965358 2965363 - StringLiteral 2965364 2965372 - IfStatement 2965431 2966512 - BinaryExpression 2965436 2965525 - BinaryExpression 2965436 2965479 - PropertyAccessExpression 2965436 2965452 - PropertyAccessExpression 2965436 2965447 - Identifier 2965436 2965440 - Identifier 2965441 2965447 - Identifier 2965448 2965452 - EqualsEqualsEqualsToken 2965452 2965456 - PropertyAccessExpression 2965456 2965479 - Identifier 2965456 2965467 - Identifier 2965468 2965479 - BarBarToken 2965479 2965482 - BinaryExpression 2965482 2965525 - PropertyAccessExpression 2965482 2965499 - PropertyAccessExpression 2965482 2965494 - Identifier 2965482 2965487 - Identifier 2965488 2965494 - Identifier 2965495 2965499 - EqualsEqualsEqualsToken 2965499 2965503 - PropertyAccessExpression 2965503 2965525 - Identifier 2965503 2965514 - Identifier 2965515 2965525 - Block 2965526 2965699 - ReturnStatement 2965528 2965672 - CallExpression 2965564 2965671 - Identifier 2965564 2965583 - Identifier 2965584 2965592 - PropertyAccessExpression 2965593 2965664 - Identifier 2965593 2965605 - Identifier 2965606 2965664 - Identifier 2965665 2965670 - IfStatement 2965729 2966512 - BinaryExpression 2965734 2965764 - Identifier 2965734 2965739 - AmpersandToken 2965739 2965741 - PropertyAccessExpression 2965741 2965764 - Identifier 2965741 2965755 - Identifier 2965756 2965764 - Block 2965765 2966253 - IfStatement 2965767 2966226 - BinaryExpression 2965801 2965844 - PropertyAccessExpression 2965801 2965814 - Identifier 2965801 2965809 - Identifier 2965810 2965814 - EqualsEqualsEqualsToken 2965814 2965818 - PropertyAccessExpression 2965818 2965844 - Identifier 2965818 2965829 - Identifier 2965830 2965844 - Block 2965845 2966022 - ReturnStatement 2965847 2965991 - CallExpression 2965887 2965990 - Identifier 2965887 2965906 - Identifier 2965907 2965915 - PropertyAccessExpression 2965916 2965971 - Identifier 2965916 2965928 - Identifier 2965929 2965971 - Identifier 2965972 2965977 - StringLiteral 2965978 2965989 - Block 2966056 2966226 - ReturnStatement 2966058 2966195 - CallExpression 2966098 2966194 - Identifier 2966098 2966117 - Identifier 2966118 2966126 - PropertyAccessExpression 2966127 2966175 - Identifier 2966127 2966139 - Identifier 2966140 2966175 - Identifier 2966176 2966181 - StringLiteral 2966182 2966193 - IfStatement 2966283 2966512 - CallExpression 2966288 2966336 - Identifier 2966288 2966330 - Identifier 2966331 2966335 - Block 2966337 2966512 - ReturnStatement 2966339 2966485 - CallExpression 2966375 2966484 - Identifier 2966375 2966394 - Identifier 2966395 2966403 - PropertyAccessExpression 2966404 2966483 - Identifier 2966404 2966416 - Identifier 2966417 2966483 - ExpressionStatement 2966512 2966577 - BinaryExpression 2966512 2966576 - Identifier 2966512 2966543 - BarEqualsToken 2966543 2966546 - CallExpression 2966546 2966576 - Identifier 2966546 2966561 - PropertyAccessExpression 2966562 2966575 - Identifier 2966562 2966570 - Identifier 2966571 2966575 - BreakStatement 2966577 2966609 - CaseClause 2966609 2968693 - PropertyAccessExpression 2966637 2966662 - Identifier 2966637 2966648 - Identifier 2966649 2966662 - IfStatement 2966663 2968557 - BinaryExpression 2966693 2966721 - Identifier 2966693 2966698 - AmpersandToken 2966698 2966700 - PropertyAccessExpression 2966700 2966721 - Identifier 2966700 2966714 - Identifier 2966715 2966721 - Block 2966722 2966865 - ReturnStatement 2966724 2966838 - CallExpression 2966760 2966837 - Identifier 2966760 2966779 - Identifier 2966780 2966788 - PropertyAccessExpression 2966789 2966826 - Identifier 2966789 2966801 - Identifier 2966802 2966826 - StringLiteral 2966827 2966836 - IfStatement 2966895 2968557 - BinaryExpression 2966900 2966930 - Identifier 2966900 2966905 - AmpersandToken 2966905 2966907 - PropertyAccessExpression 2966907 2966930 - Identifier 2966907 2966921 - Identifier 2966922 2966930 - Block 2966931 2967097 - ReturnStatement 2966933 2967070 - CallExpression 2966969 2967069 - Identifier 2966969 2966988 - Identifier 2966989 2966997 - PropertyAccessExpression 2966998 2967046 - Identifier 2966998 2967010 - Identifier 2967011 2967046 - StringLiteral 2967047 2967056 - StringLiteral 2967057 2967068 - IfStatement 2967127 2968557 - BinaryExpression 2967132 2967159 - Identifier 2967132 2967137 - AmpersandToken 2967137 2967139 - PropertyAccessExpression 2967139 2967159 - Identifier 2967139 2967153 - Identifier 2967154 2967159 - Block 2967160 2967323 - ReturnStatement 2967162 2967296 - CallExpression 2967198 2967295 - Identifier 2967198 2967217 - Identifier 2967218 2967226 - PropertyAccessExpression 2967227 2967275 - Identifier 2967227 2967239 - Identifier 2967240 2967275 - StringLiteral 2967276 2967285 - StringLiteral 2967286 2967294 - IfStatement 2967353 2968557 - BinaryExpression 2967358 2967388 - Identifier 2967358 2967363 - AmpersandToken 2967363 2967365 - PropertyAccessExpression 2967365 2967388 - Identifier 2967365 2967379 - Identifier 2967380 2967388 - Block 2967389 2967555 - ReturnStatement 2967391 2967528 - CallExpression 2967427 2967527 - Identifier 2967427 2967446 - Identifier 2967447 2967455 - PropertyAccessExpression 2967456 2967504 - Identifier 2967456 2967468 - Identifier 2967469 2967504 - StringLiteral 2967505 2967514 - StringLiteral 2967515 2967526 - IfStatement 2967585 2968557 - BinaryExpression 2967590 2967679 - BinaryExpression 2967590 2967633 - PropertyAccessExpression 2967590 2967606 - PropertyAccessExpression 2967590 2967601 - Identifier 2967590 2967594 - Identifier 2967595 2967601 - Identifier 2967602 2967606 - EqualsEqualsEqualsToken 2967606 2967610 - PropertyAccessExpression 2967610 2967633 - Identifier 2967610 2967621 - Identifier 2967622 2967633 - BarBarToken 2967633 2967636 - BinaryExpression 2967636 2967679 - PropertyAccessExpression 2967636 2967653 - PropertyAccessExpression 2967636 2967648 - Identifier 2967636 2967641 - Identifier 2967642 2967648 - Identifier 2967649 2967653 - EqualsEqualsEqualsToken 2967653 2967657 - PropertyAccessExpression 2967657 2967679 - Identifier 2967657 2967668 - Identifier 2967669 2967679 - Block 2967680 2967857 - ReturnStatement 2967682 2967830 - CallExpression 2967718 2967829 - Identifier 2967718 2967737 - Identifier 2967738 2967746 - PropertyAccessExpression 2967747 2967818 - Identifier 2967747 2967759 - Identifier 2967760 2967818 - StringLiteral 2967819 2967828 - IfStatement 2967887 2968557 - BinaryExpression 2967892 2967926 - PropertyAccessExpression 2967892 2967901 - Identifier 2967892 2967896 - Identifier 2967897 2967901 - EqualsEqualsEqualsToken 2967901 2967905 - PropertyAccessExpression 2967905 2967926 - Identifier 2967905 2967916 - Identifier 2967917 2967926 - Block 2967927 2968086 - ReturnStatement 2967929 2968059 - CallExpression 2967965 2968058 - Identifier 2967965 2967984 - Identifier 2967985 2967993 - PropertyAccessExpression 2967994 2968047 - Identifier 2967994 2968006 - Identifier 2968007 2968047 - StringLiteral 2968048 2968057 - IfStatement 2968116 2968557 - BinaryExpression 2968121 2968151 - Identifier 2968121 2968126 - AmpersandToken 2968126 2968128 - PropertyAccessExpression 2968128 2968151 - Identifier 2968128 2968142 - Identifier 2968143 2968151 - Block 2968152 2968325 - ReturnStatement 2968154 2968298 - CallExpression 2968190 2968297 - Identifier 2968190 2968209 - Identifier 2968210 2968218 - PropertyAccessExpression 2968219 2968274 - Identifier 2968219 2968231 - Identifier 2968232 2968274 - StringLiteral 2968275 2968284 - StringLiteral 2968285 2968296 - IfStatement 2968355 2968557 - BinaryExpression 2968360 2968390 - Identifier 2968360 2968365 - AmpersandToken 2968365 2968367 - PropertyAccessExpression 2968367 2968390 - Identifier 2968367 2968381 - Identifier 2968382 2968390 - Block 2968391 2968557 - ReturnStatement 2968393 2968530 - CallExpression 2968429 2968529 - Identifier 2968429 2968448 - Identifier 2968449 2968457 - PropertyAccessExpression 2968458 2968506 - Identifier 2968458 2968470 - Identifier 2968471 2968506 - StringLiteral 2968507 2968516 - StringLiteral 2968517 2968528 - ExpressionStatement 2968557 2968613 - BinaryExpression 2968557 2968612 - Identifier 2968557 2968588 - BarEqualsToken 2968588 2968591 - PropertyAccessExpression 2968591 2968612 - Identifier 2968591 2968605 - Identifier 2968606 2968612 - ExpressionStatement 2968613 2968661 - BinaryExpression 2968613 2968660 - Identifier 2968613 2968649 - EqualsToken 2968649 2968651 - Identifier 2968651 2968660 - BreakStatement 2968661 2968693 - CaseClause 2968693 2969775 - PropertyAccessExpression 2968721 2968748 - Identifier 2968721 2968732 - Identifier 2968733 2968748 - IfStatement 2968749 2969683 - BinaryExpression 2968779 2968809 - Identifier 2968779 2968784 - AmpersandToken 2968784 2968786 - PropertyAccessExpression 2968786 2968809 - Identifier 2968786 2968800 - Identifier 2968801 2968809 - Block 2968810 2968955 - ReturnStatement 2968812 2968928 - CallExpression 2968848 2968927 - Identifier 2968848 2968867 - Identifier 2968868 2968876 - PropertyAccessExpression 2968877 2968914 - Identifier 2968877 2968889 - Identifier 2968890 2968914 - StringLiteral 2968915 2968926 - IfStatement 2968985 2969683 - BinaryExpression 2968990 2969020 - Identifier 2968990 2968995 - AmpersandToken 2968995 2968997 - PropertyAccessExpression 2968997 2969020 - Identifier 2968997 2969011 - Identifier 2969012 2969020 - Block 2969021 2969196 - ReturnStatement 2969023 2969169 - CallExpression 2969059 2969168 - Identifier 2969059 2969078 - Identifier 2969079 2969087 - PropertyAccessExpression 2969088 2969143 - Identifier 2969088 2969100 - Identifier 2969101 2969143 - StringLiteral 2969144 2969155 - StringLiteral 2969156 2969167 - IfStatement 2969226 2969683 - BinaryExpression 2969231 2969260 - Identifier 2969231 2969236 - AmpersandToken 2969236 2969238 - PropertyAccessExpression 2969238 2969260 - Identifier 2969238 2969252 - Identifier 2969253 2969260 - Block 2969261 2969435 - ReturnStatement 2969263 2969408 - CallExpression 2969299 2969407 - Identifier 2969299 2969318 - Identifier 2969319 2969327 - PropertyAccessExpression 2969328 2969383 - Identifier 2969328 2969340 - Identifier 2969341 2969383 - StringLiteral 2969384 2969395 - StringLiteral 2969396 2969406 - IfStatement 2969465 2969683 - BinaryExpression 2969470 2969514 - PropertyAccessExpression 2969470 2969479 - Identifier 2969470 2969474 - Identifier 2969475 2969479 - ExclamationEqualsEqualsToken 2969479 2969483 - PropertyAccessExpression 2969483 2969514 - Identifier 2969483 2969494 - Identifier 2969495 2969514 - Block 2969515 2969683 - ReturnStatement 2969517 2969656 - CallExpression 2969553 2969655 - Identifier 2969553 2969572 - Identifier 2969573 2969581 - PropertyAccessExpression 2969582 2969654 - Identifier 2969582 2969594 - Identifier 2969595 2969654 - ExpressionStatement 2969683 2969743 - BinaryExpression 2969683 2969742 - Identifier 2969683 2969716 - BarEqualsToken 2969716 2969719 - PropertyAccessExpression 2969719 2969742 - Identifier 2969719 2969733 - Identifier 2969734 2969742 - BreakStatement 2969743 2969775 - CaseClause 2969775 2970899 - PropertyAccessExpression 2969803 2969830 - Identifier 2969803 2969814 - Identifier 2969815 2969830 - IfStatement 2969831 2970809 - BinaryExpression 2969861 2969891 - Identifier 2969861 2969866 - AmpersandToken 2969866 2969868 - PropertyAccessExpression 2969868 2969891 - Identifier 2969868 2969882 - Identifier 2969883 2969891 - Block 2969892 2970037 - ReturnStatement 2969894 2970010 - CallExpression 2969930 2970009 - Identifier 2969930 2969949 - Identifier 2969950 2969958 - PropertyAccessExpression 2969959 2969996 - Identifier 2969959 2969971 - Identifier 2969972 2969996 - StringLiteral 2969997 2970008 - IfStatement 2970067 2970809 - BinaryExpression 2970072 2970243 - BinaryExpression 2970072 2970205 - BinaryExpression 2970072 2970162 - BinaryExpression 2970072 2970116 - PropertyAccessExpression 2970072 2970081 - Identifier 2970072 2970076 - Identifier 2970077 2970081 - ExclamationEqualsEqualsToken 2970081 2970085 - PropertyAccessExpression 2970085 2970116 - Identifier 2970085 2970096 - Identifier 2970097 2970116 - AmpersandAmpersandToken 2970116 2970119 - BinaryExpression 2970119 2970162 - PropertyAccessExpression 2970119 2970129 - Identifier 2970119 2970124 - Identifier 2970125 2970129 - ExclamationEqualsEqualsToken 2970129 2970133 - PropertyAccessExpression 2970133 2970162 - Identifier 2970133 2970144 - Identifier 2970145 2970162 - AmpersandAmpersandToken 2970162 2970165 - BinaryExpression 2970165 2970205 - PropertyAccessExpression 2970165 2970175 - Identifier 2970165 2970170 - Identifier 2970171 2970175 - ExclamationEqualsEqualsToken 2970175 2970179 - PropertyAccessExpression 2970179 2970205 - Identifier 2970179 2970190 - Identifier 2970191 2970205 - AmpersandAmpersandToken 2970205 2970208 - BinaryExpression 2970208 2970243 - PropertyAccessExpression 2970208 2970218 - Identifier 2970208 2970213 - Identifier 2970214 2970218 - ExclamationEqualsEqualsToken 2970218 2970222 - PropertyAccessExpression 2970222 2970243 - Identifier 2970222 2970233 - Identifier 2970234 2970243 - Block 2970244 2970568 - ReturnStatement 2970246 2970541 - CallExpression 2970419 2970540 - Identifier 2970419 2970438 - Identifier 2970439 2970447 - PropertyAccessExpression 2970448 2970539 - Identifier 2970448 2970460 - Identifier 2970461 2970539 - IfStatement 2970598 2970809 - BinaryExpression 2970603 2970633 - Identifier 2970603 2970608 - AmpersandToken 2970608 2970610 - PropertyAccessExpression 2970610 2970633 - Identifier 2970610 2970624 - Identifier 2970625 2970633 - Block 2970634 2970809 - ReturnStatement 2970636 2970782 - CallExpression 2970672 2970781 - Identifier 2970672 2970691 - Identifier 2970692 2970700 - PropertyAccessExpression 2970701 2970756 - Identifier 2970701 2970713 - Identifier 2970714 2970756 - StringLiteral 2970757 2970768 - StringLiteral 2970769 2970780 - ExpressionStatement 2970809 2970867 - BinaryExpression 2970809 2970866 - Identifier 2970809 2970840 - BarEqualsToken 2970840 2970843 - PropertyAccessExpression 2970843 2970866 - Identifier 2970843 2970857 - Identifier 2970858 2970866 - BreakStatement 2970867 2970899 - CaseClause 2970899 2973823 - PropertyAccessExpression 2970927 2970952 - Identifier 2970927 2970938 - Identifier 2970939 2970952 - IfStatement 2970953 2971895 - BinaryExpression 2970983 2971637 - BinaryExpression 2970983 2971523 - BinaryExpression 2970983 2971448 - BinaryExpression 2970983 2971271 - BinaryExpression 2970983 2971193 - BinaryExpression 2970983 2971115 - PropertyAccessExpression 2970983 2971049 - Identifier 2970983 2971028 - Identifier 2971029 2971049 - AmpersandAmpersandToken 2971049 2971052 - PrefixUnaryExpression 2971052 2971115 - ParenthesizedExpression 2971083 2971115 - BinaryExpression 2971084 2971114 - PropertyAccessExpression 2971084 2971094 - Identifier 2971084 2971088 - Identifier 2971089 2971094 - AmpersandToken 2971094 2971096 - PropertyAccessExpression 2971096 2971114 - Identifier 2971096 2971106 - Identifier 2971107 2971114 - AmpersandAmpersandToken 2971115 2971118 - BinaryExpression 2971118 2971193 - PropertyAccessExpression 2971118 2971157 - Identifier 2971118 2971152 - Identifier 2971153 2971157 - ExclamationEqualsEqualsToken 2971157 2971161 - PropertyAccessExpression 2971161 2971193 - Identifier 2971161 2971172 - Identifier 2971173 2971193 - AmpersandAmpersandToken 2971193 2971196 - BinaryExpression 2971196 2971271 - PropertyAccessExpression 2971196 2971235 - Identifier 2971196 2971230 - Identifier 2971231 2971235 - ExclamationEqualsEqualsToken 2971235 2971239 - PropertyAccessExpression 2971239 2971271 - Identifier 2971239 2971250 - Identifier 2971251 2971271 - AmpersandAmpersandToken 2971271 2971274 - BinaryExpression 2971274 2971448 - PropertyAccessExpression 2971274 2971415 - Identifier 2971274 2971410 - Identifier 2971411 2971415 - ExclamationEqualsEqualsToken 2971415 2971419 - PropertyAccessExpression 2971419 2971448 - Identifier 2971419 2971430 - Identifier 2971431 2971448 - AmpersandAmpersandToken 2971448 2971451 - BinaryExpression 2971451 2971523 - PropertyAccessExpression 2971451 2971497 - PropertyAccessExpression 2971451 2971492 - Identifier 2971451 2971485 - Identifier 2971486 2971492 - Identifier 2971493 2971497 - EqualsEqualsEqualsToken 2971497 2971501 - PropertyAccessExpression 2971501 2971523 - Identifier 2971501 2971512 - Identifier 2971513 2971523 - AmpersandAmpersandToken 2971523 2971526 - BinaryExpression 2971526 2971637 - CallExpression 2971526 2971613 - PropertyAccessExpression 2971526 2971586 - Identifier 2971526 2971560 - Identifier 2971561 2971586 - CallExpression 2971587 2971612 - Identifier 2971587 2971606 - Identifier 2971607 2971611 - EqualsEqualsEqualsToken 2971613 2971617 - PropertyAccessExpression 2971617 2971637 - Identifier 2971617 2971628 - Identifier 2971629 2971637 - Block 2971664 2971895 - ReturnStatement 2971666 2971868 - CallExpression 2971702 2971867 - Identifier 2971702 2971721 - Identifier 2971722 2971730 - PropertyAccessExpression 2971731 2971866 - Identifier 2971731 2971743 - Identifier 2971744 2971866 - IfStatement 2971895 2973735 - BinaryExpression 2971925 2971953 - Identifier 2971925 2971930 - AmpersandToken 2971930 2971932 - PropertyAccessExpression 2971932 2971953 - Identifier 2971932 2971946 - Identifier 2971947 2971953 - Block 2971954 2972097 - ReturnStatement 2971956 2972070 - CallExpression 2971992 2972069 - Identifier 2971992 2972011 - Identifier 2972012 2972020 - PropertyAccessExpression 2972021 2972058 - Identifier 2972021 2972033 - Identifier 2972034 2972058 - StringLiteral 2972059 2972068 - IfStatement 2972127 2973735 - BinaryExpression 2972132 2972161 - Identifier 2972132 2972137 - AmpersandToken 2972137 2972139 - PropertyAccessExpression 2972139 2972161 - Identifier 2972139 2972153 - Identifier 2972154 2972161 - Block 2972162 2972327 - ReturnStatement 2972164 2972300 - CallExpression 2972200 2972299 - Identifier 2972200 2972219 - Identifier 2972220 2972228 - PropertyAccessExpression 2972229 2972277 - Identifier 2972229 2972241 - Identifier 2972242 2972277 - StringLiteral 2972278 2972287 - StringLiteral 2972288 2972298 - IfStatement 2972357 2973735 - BinaryExpression 2972362 2972392 - Identifier 2972362 2972367 - AmpersandToken 2972367 2972369 - PropertyAccessExpression 2972369 2972392 - Identifier 2972369 2972383 - Identifier 2972384 2972392 - Block 2972393 2972559 - ReturnStatement 2972395 2972532 - CallExpression 2972431 2972531 - Identifier 2972431 2972450 - Identifier 2972451 2972459 - PropertyAccessExpression 2972460 2972508 - Identifier 2972460 2972472 - Identifier 2972473 2972508 - StringLiteral 2972509 2972518 - StringLiteral 2972519 2972530 - IfStatement 2972589 2973735 - BinaryExpression 2972594 2972621 - Identifier 2972594 2972599 - AmpersandToken 2972599 2972601 - PropertyAccessExpression 2972601 2972621 - Identifier 2972601 2972615 - Identifier 2972616 2972621 - Block 2972622 2972785 - ReturnStatement 2972624 2972758 - CallExpression 2972660 2972757 - Identifier 2972660 2972679 - Identifier 2972680 2972688 - PropertyAccessExpression 2972689 2972737 - Identifier 2972689 2972701 - Identifier 2972702 2972737 - StringLiteral 2972738 2972747 - StringLiteral 2972748 2972756 - IfStatement 2972815 2973735 - CallExpression 2972820 2972844 - Identifier 2972820 2972831 - PropertyAccessExpression 2972832 2972843 - Identifier 2972832 2972836 - Identifier 2972837 2972843 - Block 2972845 2973020 - ReturnStatement 2972847 2972993 - CallExpression 2972883 2972992 - Identifier 2972883 2972902 - Identifier 2972903 2972911 - PropertyAccessExpression 2972912 2972981 - Identifier 2972912 2972924 - Identifier 2972925 2972981 - StringLiteral 2972982 2972991 - IfStatement 2973050 2973735 - BinaryExpression 2973055 2973089 - PropertyAccessExpression 2973055 2973064 - Identifier 2973055 2973059 - Identifier 2973060 2973064 - EqualsEqualsEqualsToken 2973064 2973068 - PropertyAccessExpression 2973068 2973089 - Identifier 2973068 2973079 - Identifier 2973080 2973089 - Block 2973090 2973249 - ReturnStatement 2973092 2973222 - CallExpression 2973128 2973221 - Identifier 2973128 2973147 - Identifier 2973148 2973156 - PropertyAccessExpression 2973157 2973210 - Identifier 2973157 2973169 - Identifier 2973170 2973210 - StringLiteral 2973211 2973220 - IfStatement 2973279 2973735 - BinaryExpression 2973284 2973318 - Identifier 2973284 2973298 - EqualsEqualsEqualsToken 2973298 2973302 - PropertyAccessExpression 2973302 2973318 - Identifier 2973302 2973312 - Identifier 2973313 2973318 - Block 2973319 2973486 - ReturnStatement 2973321 2973459 - CallExpression 2973357 2973458 - Identifier 2973357 2973376 - Identifier 2973377 2973385 - PropertyAccessExpression 2973386 2973447 - Identifier 2973386 2973398 - Identifier 2973399 2973447 - StringLiteral 2973448 2973457 - IfStatement 2973516 2973735 - BinaryExpression 2973521 2973560 - Identifier 2973521 2973535 - EqualsEqualsEqualsToken 2973535 2973539 - PropertyAccessExpression 2973539 2973560 - Identifier 2973539 2973549 - Identifier 2973550 2973560 - Block 2973561 2973735 - ReturnStatement 2973563 2973708 - CallExpression 2973599 2973707 - Identifier 2973599 2973618 - Identifier 2973619 2973627 - PropertyAccessExpression 2973628 2973696 - Identifier 2973628 2973640 - Identifier 2973641 2973696 - StringLiteral 2973697 2973706 - ExpressionStatement 2973735 2973791 - BinaryExpression 2973735 2973790 - Identifier 2973735 2973766 - BarEqualsToken 2973766 2973769 - PropertyAccessExpression 2973769 2973790 - Identifier 2973769 2973783 - Identifier 2973784 2973790 - BreakStatement 2973791 2973823 - CaseClause 2973823 2975296 - PropertyAccessExpression 2973849 2973875 - Identifier 2973849 2973860 - Identifier 2973861 2973875 - VariableStatement 2973876 2973998 - VariableDeclarationList 2973876 2973997 - VariableDeclaration 2973907 2973997 - Identifier 2973907 2973917 - ConditionalExpression 2973919 2973997 - BinaryExpression 2973919 2973962 - PropertyAccessExpression 2973919 2973936 - PropertyAccessExpression 2973919 2973931 - Identifier 2973919 2973924 - Identifier 2973925 2973931 - Identifier 2973932 2973936 - EqualsEqualsEqualsToken 2973936 2973940 - PropertyAccessExpression 2973940 2973962 - Identifier 2973940 2973951 - Identifier 2973952 2973962 - QuestionToken 2973962 2973964 - PropertyAccessExpression 2973964 2973976 - Identifier 2973964 2973969 - Identifier 2973970 2973976 - ColonToken 2973976 2973978 - PropertyAccessExpression 2973978 2973997 - PropertyAccessExpression 2973978 2973990 - Identifier 2973978 2973983 - Identifier 2973984 2973990 - Identifier 2973991 2973997 - IfStatement 2973998 2975205 - BinaryExpression 2974028 2974106 - BinaryExpression 2974028 2974075 - PropertyAccessExpression 2974028 2974042 - Identifier 2974028 2974037 - Identifier 2974038 2974042 - EqualsEqualsEqualsToken 2974042 2974046 - PropertyAccessExpression 2974046 2974075 - Identifier 2974046 2974057 - Identifier 2974058 2974075 - AmpersandAmpersandToken 2974075 2974078 - PrefixUnaryExpression 2974078 2974106 - CallExpression 2974080 2974106 - Identifier 2974080 2974095 - Identifier 2974096 2974105 - Block 2974107 2974279 - ReturnStatement 2974109 2974252 - CallExpression 2974145 2974251 - Identifier 2974145 2974164 - Identifier 2974165 2974173 - PropertyAccessExpression 2974174 2974250 - Identifier 2974174 2974186 - Identifier 2974187 2974250 - IfStatement 2974309 2975205 - BinaryExpression 2974314 2974348 - Identifier 2974314 2974328 - EqualsEqualsEqualsToken 2974328 2974332 - PropertyAccessExpression 2974332 2974348 - Identifier 2974332 2974342 - Identifier 2974343 2974348 - Block 2974349 2974517 - ReturnStatement 2974351 2974490 - CallExpression 2974387 2974489 - Identifier 2974387 2974406 - Identifier 2974407 2974415 - PropertyAccessExpression 2974416 2974477 - Identifier 2974416 2974428 - Identifier 2974429 2974477 - StringLiteral 2974478 2974488 - IfStatement 2974547 2975205 - BinaryExpression 2974552 2974591 - Identifier 2974552 2974566 - EqualsEqualsEqualsToken 2974566 2974570 - PropertyAccessExpression 2974570 2974591 - Identifier 2974570 2974580 - Identifier 2974581 2974591 - Block 2974592 2974767 - ReturnStatement 2974594 2974740 - CallExpression 2974630 2974739 - Identifier 2974630 2974649 - Identifier 2974650 2974658 - PropertyAccessExpression 2974659 2974727 - Identifier 2974659 2974671 - Identifier 2974672 2974727 - StringLiteral 2974728 2974738 - IfStatement 2974797 2975205 - PrefixUnaryExpression 2974802 2974833 - ParenthesizedExpression 2974803 2974833 - BinaryExpression 2974804 2974832 - Identifier 2974804 2974809 - AmpersandToken 2974809 2974811 - PropertyAccessExpression 2974811 2974832 - Identifier 2974811 2974825 - Identifier 2974826 2974832 - Block 2974834 2974999 - ReturnStatement 2974836 2974972 - CallExpression 2974872 2974971 - Identifier 2974872 2974891 - Identifier 2974892 2974900 - PropertyAccessExpression 2974901 2974949 - Identifier 2974901 2974913 - Identifier 2974914 2974949 - StringLiteral 2974950 2974959 - StringLiteral 2974960 2974970 - IfStatement 2975029 2975205 - Identifier 2975034 2975059 - Block 2975060 2975205 - ReturnStatement 2975062 2975178 - CallExpression 2975098 2975177 - Identifier 2975098 2975117 - NonNullExpression 2975118 2975133 - Identifier 2975118 2975132 - PropertyAccessExpression 2975134 2975176 - Identifier 2975134 2975146 - Identifier 2975147 2975176 - ExpressionStatement 2975205 2975264 - BinaryExpression 2975205 2975263 - Identifier 2975205 2975238 - BarEqualsToken 2975238 2975241 - PropertyAccessExpression 2975241 2975263 - Identifier 2975241 2975255 - Identifier 2975256 2975263 - BreakStatement 2975264 2975296 - CaseClause 2975296 2977931 - PropertyAccessExpression 2975322 2975348 - Identifier 2975322 2975333 - Identifier 2975334 2975348 - IfStatement 2975349 2977793 - BinaryExpression 2975379 2975408 - Identifier 2975379 2975384 - AmpersandToken 2975384 2975386 - PropertyAccessExpression 2975386 2975408 - Identifier 2975386 2975400 - Identifier 2975401 2975408 - Block 2975409 2975553 - ReturnStatement 2975411 2975526 - CallExpression 2975447 2975525 - Identifier 2975447 2975466 - Identifier 2975467 2975475 - PropertyAccessExpression 2975476 2975513 - Identifier 2975476 2975488 - Identifier 2975489 2975513 - StringLiteral 2975514 2975524 - IfStatement 2975583 2977793 - BinaryExpression 2975588 2975615 - Identifier 2975588 2975593 - AmpersandToken 2975593 2975595 - PropertyAccessExpression 2975595 2975615 - Identifier 2975595 2975609 - Identifier 2975610 2975615 - Block 2975616 2975782 - ReturnStatement 2975618 2975755 - CallExpression 2975654 2975754 - Identifier 2975654 2975673 - Identifier 2975674 2975682 - PropertyAccessExpression 2975683 2975744 - Identifier 2975683 2975695 - Identifier 2975696 2975744 - StringLiteral 2975745 2975753 - IfStatement 2975812 2977793 - BinaryExpression 2975817 2975847 - Identifier 2975817 2975822 - AmpersandToken 2975822 2975824 - PropertyAccessExpression 2975824 2975847 - Identifier 2975824 2975838 - Identifier 2975839 2975847 - Block 2975848 2976017 - ReturnStatement 2975850 2975990 - CallExpression 2975886 2975989 - Identifier 2975886 2975905 - Identifier 2975906 2975914 - PropertyAccessExpression 2975915 2975976 - Identifier 2975915 2975927 - Identifier 2975928 2975976 - StringLiteral 2975977 2975988 - IfStatement 2976047 2977793 - BinaryExpression 2976052 2976108 - CallExpression 2976052 2976076 - Identifier 2976052 2976063 - PropertyAccessExpression 2976064 2976075 - Identifier 2976064 2976068 - Identifier 2976069 2976075 - AmpersandAmpersandToken 2976076 2976079 - PrefixUnaryExpression 2976079 2976108 - CallExpression 2976081 2976108 - Identifier 2976081 2976102 - Identifier 2976103 2976107 - Block 2976109 2976285 - ReturnStatement 2976111 2976258 - CallExpression 2976147 2976257 - Identifier 2976147 2976166 - Identifier 2976167 2976175 - PropertyAccessExpression 2976176 2976245 - Identifier 2976176 2976188 - Identifier 2976189 2976245 - StringLiteral 2976246 2976256 - IfStatement 2976315 2977793 - BinaryExpression 2976320 2976354 - PropertyAccessExpression 2976320 2976329 - Identifier 2976320 2976324 - Identifier 2976325 2976329 - EqualsEqualsEqualsToken 2976329 2976333 - PropertyAccessExpression 2976333 2976354 - Identifier 2976333 2976344 - Identifier 2976345 2976354 - Block 2976355 2976515 - ReturnStatement 2976357 2976488 - CallExpression 2976393 2976487 - Identifier 2976393 2976412 - Identifier 2976413 2976421 - PropertyAccessExpression 2976422 2976475 - Identifier 2976422 2976434 - Identifier 2976435 2976475 - StringLiteral 2976476 2976486 - IfStatement 2976545 2977793 - BinaryExpression 2976550 2976584 - Identifier 2976550 2976564 - EqualsEqualsEqualsToken 2976564 2976568 - PropertyAccessExpression 2976568 2976584 - Identifier 2976568 2976578 - Identifier 2976579 2976584 - Block 2976585 2976753 - ReturnStatement 2976587 2976726 - CallExpression 2976623 2976725 - Identifier 2976623 2976642 - Identifier 2976643 2976651 - PropertyAccessExpression 2976652 2976713 - Identifier 2976652 2976664 - Identifier 2976665 2976713 - StringLiteral 2976714 2976724 - IfStatement 2976783 2977793 - BinaryExpression 2976788 2976827 - Identifier 2976788 2976802 - EqualsEqualsEqualsToken 2976802 2976806 - PropertyAccessExpression 2976806 2976827 - Identifier 2976806 2976816 - Identifier 2976817 2976827 - Block 2976828 2977003 - ReturnStatement 2976830 2976976 - CallExpression 2976866 2976975 - Identifier 2976866 2976885 - Identifier 2976886 2976894 - PropertyAccessExpression 2976895 2976963 - Identifier 2976895 2976907 - Identifier 2976908 2976963 - StringLiteral 2976964 2976974 - IfStatement 2977033 2977793 - BinaryExpression 2977038 2977124 - ParenthesizedExpression 2977038 2977077 - BinaryExpression 2977039 2977076 - PropertyAccessExpression 2977039 2977056 - PropertyAccessExpression 2977039 2977050 - Identifier 2977039 2977043 - Identifier 2977044 2977050 - Identifier 2977051 2977056 - AmpersandToken 2977056 2977058 - PropertyAccessExpression 2977058 2977076 - Identifier 2977058 2977068 - Identifier 2977069 2977076 - AmpersandAmpersandToken 2977077 2977080 - BinaryExpression 2977080 2977124 - PropertyAccessExpression 2977080 2977097 - PropertyAccessExpression 2977080 2977092 - Identifier 2977080 2977085 - Identifier 2977086 2977092 - Identifier 2977093 2977097 - EqualsEqualsEqualsToken 2977097 2977101 - PropertyAccessExpression 2977101 2977124 - Identifier 2977101 2977112 - Identifier 2977113 2977124 - Block 2977125 2977297 - ReturnStatement 2977127 2977270 - CallExpression 2977163 2977269 - Identifier 2977163 2977182 - Identifier 2977183 2977191 - PropertyAccessExpression 2977192 2977268 - Identifier 2977192 2977204 - Identifier 2977205 2977268 - IfStatement 2977327 2977793 - CallExpression 2977332 2977380 - Identifier 2977332 2977374 - Identifier 2977375 2977379 - Block 2977381 2977553 - ReturnStatement 2977383 2977526 - CallExpression 2977419 2977525 - Identifier 2977419 2977438 - Identifier 2977439 2977447 - PropertyAccessExpression 2977448 2977513 - Identifier 2977448 2977460 - Identifier 2977461 2977513 - StringLiteral 2977514 2977524 - IfStatement 2977583 2977793 - BinaryExpression 2977588 2977618 - Identifier 2977588 2977593 - AmpersandToken 2977593 2977595 - PropertyAccessExpression 2977595 2977618 - Identifier 2977595 2977609 - Identifier 2977610 2977618 - Block 2977619 2977793 - ReturnStatement 2977621 2977766 - CallExpression 2977657 2977765 - Identifier 2977657 2977676 - Identifier 2977677 2977685 - PropertyAccessExpression 2977686 2977741 - Identifier 2977686 2977698 - Identifier 2977699 2977741 - StringLiteral 2977742 2977752 - StringLiteral 2977753 2977764 - ExpressionStatement 2977793 2977850 - BinaryExpression 2977793 2977849 - Identifier 2977793 2977824 - BarEqualsToken 2977824 2977827 - PropertyAccessExpression 2977827 2977849 - Identifier 2977827 2977841 - Identifier 2977842 2977849 - ExpressionStatement 2977850 2977899 - BinaryExpression 2977850 2977898 - Identifier 2977850 2977887 - EqualsToken 2977887 2977889 - Identifier 2977889 2977898 - BreakStatement 2977899 2977931 - CaseClause 2977931 2981157 - PropertyAccessExpression 2977959 2977986 - Identifier 2977959 2977970 - Identifier 2977971 2977986 - IfStatement 2977987 2978193 - BinaryExpression 2978017 2978047 - Identifier 2978017 2978022 - AmpersandToken 2978022 2978024 - PropertyAccessExpression 2978024 2978047 - Identifier 2978024 2978038 - Identifier 2978039 2978047 - Block 2978048 2978193 - ReturnStatement 2978050 2978166 - CallExpression 2978086 2978165 - Identifier 2978086 2978105 - Identifier 2978106 2978114 - PropertyAccessExpression 2978115 2978152 - Identifier 2978115 2978127 - Identifier 2978128 2978152 - StringLiteral 2978153 2978164 - IfStatement 2978193 2980786 - BinaryExpression 2978223 2978367 - BinaryExpression 2978223 2978294 - PropertyAccessExpression 2978223 2978262 - Identifier 2978223 2978257 - Identifier 2978258 2978262 - ExclamationEqualsEqualsToken 2978262 2978266 - PropertyAccessExpression 2978266 2978294 - Identifier 2978266 2978277 - Identifier 2978278 2978294 - AmpersandAmpersandToken 2978294 2978297 - BinaryExpression 2978297 2978367 - PropertyAccessExpression 2978297 2978336 - Identifier 2978297 2978331 - Identifier 2978332 2978336 - ExclamationEqualsEqualsToken 2978336 2978340 - PropertyAccessExpression 2978340 2978367 - Identifier 2978340 2978351 - Identifier 2978352 2978367 - Block 2978394 2980786 - IfStatement 2978396 2978956 - BinaryExpression 2978430 2978733 - BinaryExpression 2978430 2978660 - BinaryExpression 2978430 2978587 - BinaryExpression 2978430 2978506 - PropertyAccessExpression 2978430 2978473 - Identifier 2978430 2978468 - Identifier 2978469 2978473 - ExclamationEqualsEqualsToken 2978473 2978477 - PropertyAccessExpression 2978477 2978506 - Identifier 2978477 2978488 - Identifier 2978489 2978506 - AmpersandAmpersandToken 2978506 2978509 - BinaryExpression 2978509 2978587 - PropertyAccessExpression 2978509 2978552 - Identifier 2978509 2978547 - Identifier 2978548 2978552 - ExclamationEqualsEqualsToken 2978552 2978556 - PropertyAccessExpression 2978556 2978587 - Identifier 2978556 2978567 - Identifier 2978568 2978587 - AmpersandAmpersandToken 2978587 2978590 - BinaryExpression 2978590 2978660 - PropertyAccessExpression 2978590 2978633 - Identifier 2978590 2978628 - Identifier 2978629 2978633 - ExclamationEqualsEqualsToken 2978633 2978637 - PropertyAccessExpression 2978637 2978660 - Identifier 2978637 2978648 - Identifier 2978649 2978660 - AmpersandAmpersandToken 2978660 2978663 - BinaryExpression 2978663 2978733 - PropertyAccessExpression 2978663 2978706 - Identifier 2978663 2978701 - Identifier 2978702 2978706 - ExclamationEqualsEqualsToken 2978706 2978710 - PropertyAccessExpression 2978710 2978733 - Identifier 2978710 2978721 - Identifier 2978722 2978733 - Block 2978764 2978956 - ReturnStatement 2978766 2978925 - CallExpression 2978806 2978924 - Identifier 2978806 2978825 - Identifier 2978826 2978834 - PropertyAccessExpression 2978835 2978923 - Identifier 2978835 2978847 - Identifier 2978848 2978923 - IfStatement 2978956 2979531 - PrefixUnaryExpression 2978990 2979102 - ParenthesizedExpression 2978991 2979102 - BinaryExpression 2978992 2979101 - BinaryExpression 2978992 2979040 - PropertyAccessExpression 2978992 2979008 - PropertyAccessExpression 2978992 2979003 - Identifier 2978992 2978996 - Identifier 2978997 2979003 - Identifier 2979004 2979008 - EqualsEqualsEqualsToken 2979008 2979012 - PropertyAccessExpression 2979012 2979040 - Identifier 2979012 2979023 - Identifier 2979024 2979040 - AmpersandAmpersandToken 2979040 2979043 - CallExpression 2979043 2979101 - Identifier 2979043 2979064 - PropertyAccessExpression 2979065 2979076 - Identifier 2979065 2979069 - Identifier 2979070 2979076 - PropertyAccessExpression 2979077 2979100 - Identifier 2979077 2979091 - Identifier 2979092 2979100 - Block 2979103 2979531 - VariableStatement 2979105 2979421 - VariableDeclarationList 2979105 2979420 - VariableDeclaration 2979144 2979420 - Identifier 2979144 2979152 - ConditionalExpression 2979154 2979420 - BinaryExpression 2979154 2979199 - PropertyAccessExpression 2979154 2979164 - Identifier 2979154 2979159 - Identifier 2979160 2979164 - EqualsEqualsEqualsToken 2979164 2979168 - PropertyAccessExpression 2979168 2979199 - Identifier 2979168 2979179 - Identifier 2979180 2979199 - QuestionToken 2979199 2979238 - PropertyAccessExpression 2979238 2979311 - Identifier 2979238 2979250 - Identifier 2979251 2979311 - ColonToken 2979311 2979350 - PropertyAccessExpression 2979350 2979420 - Identifier 2979350 2979362 - Identifier 2979363 2979420 - ReturnStatement 2979421 2979500 - CallExpression 2979461 2979499 - Identifier 2979461 2979480 - Identifier 2979481 2979489 - Identifier 2979490 2979498 - IfStatement 2979531 2979775 - BinaryExpression 2979565 2979593 - Identifier 2979565 2979570 - AmpersandToken 2979570 2979572 - PropertyAccessExpression 2979572 2979593 - Identifier 2979572 2979586 - Identifier 2979587 2979593 - Block 2979594 2979775 - ReturnStatement 2979596 2979744 - CallExpression 2979636 2979743 - Identifier 2979636 2979655 - Identifier 2979656 2979664 - PropertyAccessExpression 2979665 2979720 - Identifier 2979665 2979677 - Identifier 2979678 2979720 - StringLiteral 2979721 2979730 - StringLiteral 2979731 2979742 - IfStatement 2979775 2980021 - BinaryExpression 2979809 2979838 - Identifier 2979809 2979814 - AmpersandToken 2979814 2979816 - PropertyAccessExpression 2979816 2979838 - Identifier 2979816 2979830 - Identifier 2979831 2979838 - Block 2979839 2980021 - ReturnStatement 2979841 2979990 - CallExpression 2979881 2979989 - Identifier 2979881 2979900 - Identifier 2979901 2979909 - PropertyAccessExpression 2979910 2979965 - Identifier 2979910 2979922 - Identifier 2979923 2979965 - StringLiteral 2979966 2979976 - StringLiteral 2979977 2979988 - IfStatement 2980021 2980277 - BinaryExpression 2980055 2980095 - BinaryExpression 2980055 2980082 - Identifier 2980055 2980060 - AmpersandToken 2980060 2980062 - PropertyAccessExpression 2980062 2980082 - Identifier 2980062 2980076 - Identifier 2980077 2980082 - AmpersandAmpersandToken 2980082 2980085 - Identifier 2980085 2980095 - Block 2980096 2980277 - ReturnStatement 2980098 2980246 - CallExpression 2980138 2980245 - Identifier 2980138 2980157 - Identifier 2980158 2980167 - PropertyAccessExpression 2980168 2980223 - Identifier 2980168 2980180 - Identifier 2980181 2980223 - StringLiteral 2980224 2980232 - StringLiteral 2980233 2980244 - IfStatement 2980277 2980518 - BinaryExpression 2980311 2980341 - Identifier 2980311 2980316 - AmpersandToken 2980316 2980318 - PropertyAccessExpression 2980318 2980341 - Identifier 2980318 2980332 - Identifier 2980333 2980341 - Block 2980342 2980518 - ReturnStatement 2980344 2980487 - CallExpression 2980384 2980486 - Identifier 2980384 2980403 - Identifier 2980404 2980412 - PropertyAccessExpression 2980413 2980461 - Identifier 2980413 2980425 - Identifier 2980426 2980461 - StringLiteral 2980462 2980473 - StringLiteral 2980474 2980485 - IfStatement 2980518 2980759 - BinaryExpression 2980552 2980582 - Identifier 2980552 2980557 - AmpersandToken 2980557 2980559 - PropertyAccessExpression 2980559 2980582 - Identifier 2980559 2980573 - Identifier 2980574 2980582 - Block 2980583 2980759 - ReturnStatement 2980585 2980728 - CallExpression 2980625 2980727 - Identifier 2980625 2980644 - Identifier 2980645 2980653 - PropertyAccessExpression 2980654 2980702 - Identifier 2980654 2980666 - Identifier 2980667 2980702 - StringLiteral 2980703 2980714 - StringLiteral 2980715 2980726 - IfStatement 2980786 2981065 - BinaryExpression 2980816 2980891 - CallExpression 2980816 2980840 - Identifier 2980816 2980834 - Identifier 2980835 2980839 - AmpersandAmpersandToken 2980840 2980843 - BinaryExpression 2980843 2980891 - PropertyAccessExpression 2980843 2980858 - PropertyAccessExpression 2980843 2980853 - Identifier 2980843 2980848 - Identifier 2980849 2980853 - Identifier 2980854 2980858 - EqualsEqualsEqualsToken 2980858 2980862 - PropertyAccessExpression 2980862 2980891 - Identifier 2980862 2980873 - Identifier 2980874 2980891 - Block 2980892 2981065 - ReturnStatement 2980894 2981038 - CallExpression 2980930 2981037 - Identifier 2980930 2980949 - Identifier 2980950 2980958 - PropertyAccessExpression 2980959 2981024 - Identifier 2980959 2980971 - Identifier 2980972 2981024 - StringLiteral 2981025 2981036 - ExpressionStatement 2981065 2981125 - BinaryExpression 2981065 2981124 - Identifier 2981065 2981098 - BarEqualsToken 2981098 2981101 - PropertyAccessExpression 2981101 2981124 - Identifier 2981101 2981115 - Identifier 2981116 2981124 - BreakStatement 2981125 2981157 - CaseClause 2981157 2982277 - PropertyAccessExpression 2981185 2981209 - Identifier 2981185 2981196 - Identifier 2981197 2981209 - IfStatement 2981210 2981910 - BinaryExpression 2981240 2981267 - Identifier 2981240 2981245 - AmpersandToken 2981245 2981247 - PropertyAccessExpression 2981247 2981267 - Identifier 2981247 2981261 - Identifier 2981262 2981267 - Block 2981268 2981410 - ReturnStatement 2981270 2981383 - CallExpression 2981306 2981382 - Identifier 2981306 2981325 - Identifier 2981326 2981334 - PropertyAccessExpression 2981335 2981372 - Identifier 2981335 2981347 - Identifier 2981348 2981372 - StringLiteral 2981373 2981381 - IfStatement 2981440 2981910 - BinaryExpression 2981445 2981515 - BinaryExpression 2981445 2981474 - Identifier 2981445 2981450 - AmpersandToken 2981450 2981452 - PropertyAccessExpression 2981452 2981474 - Identifier 2981452 2981466 - Identifier 2981467 2981474 - BarBarToken 2981474 2981477 - BinaryExpression 2981477 2981515 - PropertyAccessExpression 2981477 2981495 - PropertyAccessExpression 2981477 2981489 - Identifier 2981477 2981482 - Identifier 2981483 2981489 - Identifier 2981490 2981495 - AmpersandToken 2981495 2981497 - PropertyAccessExpression 2981497 2981515 - Identifier 2981497 2981507 - Identifier 2981508 2981515 - Block 2981516 2981682 - ReturnStatement 2981518 2981655 - CallExpression 2981554 2981654 - Identifier 2981554 2981573 - Identifier 2981574 2981582 - PropertyAccessExpression 2981583 2981644 - Identifier 2981583 2981595 - Identifier 2981596 2981644 - StringLiteral 2981645 2981653 - IfStatement 2981712 2981910 - BinaryExpression 2981717 2981751 - PropertyAccessExpression 2981717 2981726 - Identifier 2981717 2981721 - Identifier 2981722 2981726 - EqualsEqualsEqualsToken 2981726 2981730 - PropertyAccessExpression 2981730 2981751 - Identifier 2981730 2981741 - Identifier 2981742 2981751 - Block 2981752 2981910 - ReturnStatement 2981754 2981883 - CallExpression 2981790 2981882 - Identifier 2981790 2981809 - Identifier 2981810 2981818 - PropertyAccessExpression 2981819 2981872 - Identifier 2981819 2981831 - Identifier 2981832 2981872 - StringLiteral 2981873 2981881 - IfStatement 2981910 2982143 - BinaryExpression 2981940 2981970 - Identifier 2981940 2981945 - AmpersandToken 2981945 2981947 - PropertyAccessExpression 2981947 2981970 - Identifier 2981947 2981961 - Identifier 2981962 2981970 - Block 2981971 2982143 - ReturnStatement 2981973 2982116 - CallExpression 2982009 2982115 - Identifier 2982009 2982028 - Identifier 2982029 2982037 - PropertyAccessExpression 2982038 2982093 - Identifier 2982038 2982050 - Identifier 2982051 2982093 - StringLiteral 2982094 2982102 - StringLiteral 2982103 2982114 - ExpressionStatement 2982143 2982198 - BinaryExpression 2982143 2982197 - Identifier 2982143 2982174 - BarEqualsToken 2982174 2982177 - PropertyAccessExpression 2982177 2982197 - Identifier 2982177 2982191 - Identifier 2982192 2982197 - ExpressionStatement 2982198 2982245 - BinaryExpression 2982198 2982244 - Identifier 2982198 2982233 - EqualsToken 2982233 2982235 - Identifier 2982235 2982244 - BreakStatement 2982245 2982277 - CaseClause 2982277 2982327 - PropertyAccessExpression 2982305 2982326 - Identifier 2982305 2982316 - Identifier 2982317 2982326 - CaseClause 2982327 2983727 - PropertyAccessExpression 2982353 2982375 - Identifier 2982353 2982364 - Identifier 2982365 2982375 - Block 2982376 2983727 - VariableStatement 2982378 2982500 - VariableDeclarationList 2982378 2982499 - VariableDeclaration 2982409 2982499 - Identifier 2982409 2982419 - ConditionalExpression 2982421 2982499 - BinaryExpression 2982421 2982460 - PropertyAccessExpression 2982421 2982435 - Identifier 2982421 2982430 - Identifier 2982431 2982435 - EqualsEqualsEqualsToken 2982435 2982439 - PropertyAccessExpression 2982439 2982460 - Identifier 2982439 2982450 - Identifier 2982451 2982460 - QuestionToken 2982460 2982462 - PropertyAccessExpression 2982462 2982479 - Identifier 2982462 2982476 - Identifier 2982477 2982479 - ColonToken 2982479 2982481 - PropertyAccessExpression 2982481 2982499 - Identifier 2982481 2982495 - Identifier 2982496 2982499 - VariableStatement 2982500 2982598 - VariableDeclarationList 2982500 2982597 - VariableDeclaration 2982531 2982597 - Identifier 2982531 2982541 - ConditionalExpression 2982543 2982597 - BinaryExpression 2982543 2982582 - PropertyAccessExpression 2982543 2982557 - Identifier 2982543 2982552 - Identifier 2982553 2982557 - EqualsEqualsEqualsToken 2982557 2982561 - PropertyAccessExpression 2982561 2982582 - Identifier 2982561 2982572 - Identifier 2982573 2982582 - QuestionToken 2982582 2982584 - StringLiteral 2982584 2982589 - ColonToken 2982589 2982591 - StringLiteral 2982591 2982597 - VariableStatement 2982598 2982786 - VariableDeclarationList 2982598 2982785 - VariableDeclaration 2982629 2982785 - Identifier 2982629 2982636 - BinaryExpression 2982638 2982785 - BinaryExpression 2982638 2982770 - CallExpression 2982638 2982670 - Identifier 2982638 2982657 - PropertyAccessExpression 2982658 2982669 - Identifier 2982658 2982662 - Identifier 2982663 2982669 - AmpersandAmpersandToken 2982670 2982673 - ParenthesizedExpression 2982673 2982770 - BinaryExpression 2982675 2982769 - CallExpression 2982675 2982709 - Identifier 2982675 2982696 - PropertyAccessExpression 2982697 2982708 - Identifier 2982697 2982701 - Identifier 2982702 2982708 - BarBarToken 2982709 2982712 - CallExpression 2982712 2982769 - Identifier 2982712 2982717 - PropertyAccessExpression 2982718 2982749 - CallExpression 2982718 2982743 - Identifier 2982718 2982730 - PropertyAccessExpression 2982731 2982742 - Identifier 2982731 2982735 - Identifier 2982736 2982742 - QuestionDotToken 2982743 2982745 - Identifier 2982745 2982749 - Identifier 2982750 2982768 - BarBarToken 2982770 2982773 - PropertyAccessExpression 2982773 2982785 - Identifier 2982773 2982778 - Identifier 2982779 2982785 - IfStatement 2982786 2983190 - BinaryExpression 2982816 2982987 - BinaryExpression 2982816 2982854 - PropertyAccessExpression 2982816 2982825 - Identifier 2982816 2982820 - Identifier 2982821 2982825 - ExclamationEqualsEqualsToken 2982825 2982829 - PropertyAccessExpression 2982829 2982854 - Identifier 2982829 2982840 - Identifier 2982841 2982854 - BarBarToken 2982854 2982857 - BinaryExpression 2982857 2982987 - Identifier 2982857 2982864 - AmpersandAmpersandToken 2982864 2982867 - PrefixUnaryExpression 2982867 2982987 - ParenthesizedExpression 2982869 2982987 - BinaryExpression 2982870 2982986 - BinaryExpression 2982870 2982957 - BinaryExpression 2982870 2982923 - CallExpression 2982870 2982900 - Identifier 2982870 2982892 - Identifier 2982893 2982899 - BarBarToken 2982900 2982903 - CallExpression 2982903 2982923 - Identifier 2982903 2982915 - Identifier 2982916 2982922 - BarBarToken 2982923 2982926 - CallExpression 2982926 2982957 - Identifier 2982926 2982949 - Identifier 2982950 2982956 - BarBarToken 2982957 2982960 - CallExpression 2982960 2982986 - Identifier 2982960 2982978 - Identifier 2982979 2982985 - Block 2982988 2983190 - ReturnStatement 2982990 2983163 - CallExpression 2983026 2983162 - Identifier 2983026 2983045 - Identifier 2983046 2983054 - PropertyAccessExpression 2983055 2983150 - Identifier 2983055 2983067 - Identifier 2983068 2983150 - Identifier 2983151 2983161 - IfStatement 2983190 2983382 - BinaryExpression 2983220 2983237 - Identifier 2983220 2983225 - AmpersandToken 2983225 2983227 - Identifier 2983227 2983237 - Block 2983238 2983382 - ReturnStatement 2983240 2983355 - CallExpression 2983276 2983354 - Identifier 2983276 2983295 - Identifier 2983296 2983304 - PropertyAccessExpression 2983305 2983342 - Identifier 2983305 2983317 - Identifier 2983318 2983342 - Identifier 2983343 2983353 - IfStatement 2983382 2983627 - BinaryExpression 2983412 2983469 - BinaryExpression 2983412 2983440 - Identifier 2983412 2983421 - AmpersandToken 2983421 2983423 - PropertyAccessExpression 2983423 2983440 - Identifier 2983423 2983437 - Identifier 2983438 2983440 - AmpersandAmpersandToken 2983440 2983443 - BinaryExpression 2983443 2983469 - Identifier 2983443 2983449 - AmpersandToken 2983449 2983451 - PropertyAccessExpression 2983451 2983469 - Identifier 2983451 2983465 - Identifier 2983466 2983469 - Block 2983470 2983627 - ReturnStatement 2983472 2983600 - CallExpression 2983508 2983599 - Identifier 2983508 2983527 - Identifier 2983528 2983536 - PropertyAccessExpression 2983537 2983585 - Identifier 2983537 2983549 - Identifier 2983550 2983585 - StringLiteral 2983586 2983591 - StringLiteral 2983592 2983598 - ExpressionStatement 2983627 2983672 - BinaryExpression 2983627 2983671 - Identifier 2983627 2983658 - BarEqualsToken 2983658 2983661 - Identifier 2983661 2983671 - BreakStatement 2983672 2983704 - IfStatement 2983772 2985318 - BinaryExpression 2983788 2983824 - PropertyAccessExpression 2983788 2983797 - Identifier 2983788 2983792 - Identifier 2983793 2983797 - EqualsEqualsEqualsToken 2983797 2983801 - PropertyAccessExpression 2983801 2983824 - Identifier 2983801 2983812 - Identifier 2983813 2983824 - Block 2983825 2984483 - IfStatement 2983827 2984026 - BinaryExpression 2983845 2983873 - Identifier 2983845 2983850 - AmpersandToken 2983850 2983852 - PropertyAccessExpression 2983852 2983873 - Identifier 2983852 2983866 - Identifier 2983867 2983873 - Block 2983874 2984026 - ReturnStatement 2983876 2984011 - CallExpression 2983900 2984010 - Identifier 2983900 2983919 - NonNullExpression 2983920 2983931 - Identifier 2983920 2983930 - PropertyAccessExpression 2983932 2983999 - Identifier 2983932 2983944 - Identifier 2983945 2983999 - StringLiteral 2984000 2984009 - IfStatement 2984026 2984249 - BinaryExpression 2984044 2984074 - Identifier 2984044 2984049 - AmpersandToken 2984049 2984051 - PropertyAccessExpression 2984051 2984074 - Identifier 2984051 2984065 - Identifier 2984066 2984074 - Block 2984075 2984249 - ReturnStatement 2984077 2984216 - CallExpression 2984101 2984215 - Identifier 2984101 2984120 - NonNullExpression 2984121 2984134 - Identifier 2984121 2984133 - PropertyAccessExpression 2984135 2984202 - Identifier 2984135 2984147 - Identifier 2984148 2984202 - StringLiteral 2984203 2984214 - IfStatement 2984249 2984445 - BinaryExpression 2984267 2984294 - Identifier 2984267 2984272 - AmpersandToken 2984272 2984274 - PropertyAccessExpression 2984274 2984294 - Identifier 2984274 2984288 - Identifier 2984289 2984294 - Block 2984295 2984445 - ReturnStatement 2984297 2984430 - CallExpression 2984321 2984429 - Identifier 2984321 2984340 - NonNullExpression 2984341 2984351 - Identifier 2984341 2984350 - PropertyAccessExpression 2984352 2984419 - Identifier 2984352 2984364 - Identifier 2984365 2984419 - StringLiteral 2984420 2984428 - ReturnStatement 2984445 2984472 - FalseKeyword 2984465 2984471 - IfStatement 2984497 2985318 - BinaryExpression 2984502 2984631 - ParenthesizedExpression 2984502 2984598 - BinaryExpression 2984503 2984597 - BinaryExpression 2984503 2984545 - PropertyAccessExpression 2984503 2984512 - Identifier 2984503 2984507 - Identifier 2984508 2984512 - EqualsEqualsEqualsToken 2984512 2984516 - PropertyAccessExpression 2984516 2984545 - Identifier 2984516 2984527 - Identifier 2984528 2984545 - BarBarToken 2984545 2984548 - BinaryExpression 2984548 2984597 - PropertyAccessExpression 2984548 2984558 - Identifier 2984548 2984553 - Identifier 2984554 2984558 - EqualsEqualsEqualsToken 2984558 2984562 - PropertyAccessExpression 2984562 2984597 - Identifier 2984562 2984573 - Identifier 2984574 2984597 - AmpersandAmpersandToken 2984598 2984601 - BinaryExpression 2984601 2984631 - Identifier 2984601 2984607 - AmpersandToken 2984607 2984609 - PropertyAccessExpression 2984609 2984631 - Identifier 2984609 2984623 - Identifier 2984624 2984631 - Block 2984632 2984778 - ReturnStatement 2984634 2984767 - CallExpression 2984654 2984766 - Identifier 2984654 2984673 - NonNullExpression 2984674 2984686 - Identifier 2984674 2984685 - PropertyAccessExpression 2984687 2984754 - Identifier 2984687 2984699 - Identifier 2984700 2984754 - StringLiteral 2984755 2984765 - IfStatement 2984792 2985318 - BinaryExpression 2984797 2984915 - BinaryExpression 2984797 2984884 - BinaryExpression 2984797 2984831 - PropertyAccessExpression 2984797 2984806 - Identifier 2984797 2984801 - Identifier 2984802 2984806 - EqualsEqualsEqualsToken 2984806 2984810 - PropertyAccessExpression 2984810 2984831 - Identifier 2984810 2984821 - Identifier 2984822 2984831 - AmpersandAmpersandToken 2984831 2984834 - ParenthesizedExpression 2984834 2984884 - BinaryExpression 2984836 2984883 - Identifier 2984836 2984841 - AmpersandToken 2984841 2984843 - PropertyAccessExpression 2984843 2984883 - Identifier 2984843 2984857 - Identifier 2984858 2984883 - AmpersandAmpersandToken 2984884 2984887 - CallExpression 2984887 2984915 - Identifier 2984887 2984904 - PropertyAccessExpression 2984905 2984914 - Identifier 2984905 2984909 - Identifier 2984910 2984914 - Block 2984916 2985053 - ReturnStatement 2984918 2985042 - CallExpression 2984938 2985041 - Identifier 2984938 2984957 - Identifier 2984958 2984962 - PropertyAccessExpression 2984963 2985040 - Identifier 2984963 2984975 - Identifier 2984976 2985040 - IfStatement 2985067 2985318 - BinaryExpression 2985072 2985182 - BinaryExpression 2985072 2985159 - BinaryExpression 2985072 2985106 - PropertyAccessExpression 2985072 2985081 - Identifier 2985072 2985076 - Identifier 2985077 2985081 - EqualsEqualsEqualsToken 2985081 2985085 - PropertyAccessExpression 2985085 2985106 - Identifier 2985085 2985096 - Identifier 2985097 2985106 - AmpersandAmpersandToken 2985106 2985109 - ParenthesizedExpression 2985109 2985159 - BinaryExpression 2985111 2985158 - Identifier 2985111 2985116 - AmpersandToken 2985116 2985118 - PropertyAccessExpression 2985118 2985158 - Identifier 2985118 2985132 - Identifier 2985133 2985158 - AmpersandAmpersandToken 2985159 2985162 - PropertyAccessExpression 2985162 2985182 - Identifier 2985162 2985167 - Identifier 2985168 2985182 - Block 2985183 2985318 - ReturnStatement 2985185 2985307 - CallExpression 2985205 2985306 - Identifier 2985205 2985224 - Identifier 2985225 2985229 - PropertyAccessExpression 2985230 2985305 - Identifier 2985230 2985242 - Identifier 2985243 2985305 - IfStatement 2985318 2985438 - BinaryExpression 2985332 2985359 - Identifier 2985332 2985337 - AmpersandToken 2985337 2985339 - PropertyAccessExpression 2985339 2985359 - Identifier 2985339 2985353 - Identifier 2985354 2985359 - Block 2985360 2985438 - ReturnStatement 2985362 2985427 - CallExpression 2985382 2985426 - Identifier 2985382 2985408 - Identifier 2985409 2985413 - NonNullExpression 2985414 2985425 - Identifier 2985414 2985424 - ReturnStatement 2985438 2985461 - FalseKeyword 2985454 2985460 - FunctionDeclaration 2985468 2985948 - Identifier 2985638 2985666 - Parameter 2985667 2985707 - Identifier 2985667 2985671 - UnionType 2985672 2985707 - TypeReference 2985672 2985685 - Identifier 2985672 2985685 - TypeReference 2985687 2985707 - Identifier 2985687 2985707 - UnionType 2985709 2985729 - BooleanKeyword 2985709 2985717 - UndefinedKeyword 2985719 2985729 - Block 2985729 2985948 - IfStatement 2985731 2985775 - PrefixUnaryExpression 2985745 2985760 - PropertyAccessExpression 2985746 2985760 - Identifier 2985746 2985750 - Identifier 2985751 2985760 - ReturnStatement 2985761 2985775 - FalseKeyword 2985768 2985774 - VariableStatement 2985775 2985835 - VariableDeclarationList 2985775 2985834 - VariableDeclaration 2985792 2985834 - Identifier 2985792 2985801 - CallExpression 2985803 2985834 - Identifier 2985803 2985828 - Identifier 2985829 2985833 - ReturnStatement 2985835 2985941 - BinaryExpression 2985851 2985940 - Identifier 2985851 2985860 - AmpersandAmpersandToken 2985860 2985863 - CallExpression 2985863 2985940 - Identifier 2985863 2985888 - Identifier 2985889 2985897 - PropertyAccessExpression 2985898 2985939 - Identifier 2985898 2985910 - Identifier 2985911 2985939 - FunctionDeclaration 2985948 2986214 - Identifier 2985964 2985988 - Parameter 2985989 2986007 - Identifier 2985989 2985993 - TypeReference 2985994 2986007 - Identifier 2985994 2986007 - Parameter 2986008 2986036 - Identifier 2986008 2986024 - TypeReference 2986025 2986036 - Identifier 2986025 2986036 - UnionType 2986038 2986059 - TypeReference 2986038 2986047 - Identifier 2986038 2986047 - UndefinedKeyword 2986049 2986059 - Block 2986059 2986214 - VariableStatement 2986061 2986121 - VariableDeclarationList 2986061 2986120 - VariableDeclaration 2986076 2986120 - Identifier 2986076 2986085 - CallExpression 2986087 2986120 - Identifier 2986087 2986092 - PropertyAccessExpression 2986093 2986107 - Identifier 2986093 2986097 - Identifier 2986098 2986107 - Identifier 2986108 2986119 - ReturnStatement 2986121 2986207 - ConditionalExpression 2986137 2986206 - BinaryExpression 2986137 2986183 - Identifier 2986137 2986146 - AmpersandAmpersandToken 2986146 2986149 - BinaryExpression 2986149 2986183 - PropertyAccessExpression 2986149 2986163 - Identifier 2986149 2986158 - Identifier 2986159 2986163 - ExclamationEqualsEqualsToken 2986163 2986167 - Identifier 2986167 2986183 - QuestionToken 2986183 2986185 - Identifier 2986185 2986194 - ColonToken 2986194 2986196 - Identifier 2986196 2986206 - FunctionDeclaration 2986214 2988859 - Identifier 2986230 2986255 - Parameter 2986256 2986296 - Identifier 2986256 2986260 - UnionType 2986261 2986296 - TypeReference 2986261 2986274 - Identifier 2986261 2986274 - TypeReference 2986276 2986296 - Identifier 2986276 2986296 - UnionType 2986298 2986319 - TypeReference 2986298 2986307 - Identifier 2986298 2986307 - UndefinedKeyword 2986309 2986319 - Block 2986319 2988859 - SwitchStatement 2986321 2988852 - PropertyAccessExpression 2986339 2986348 - Identifier 2986339 2986343 - Identifier 2986344 2986348 - CaseBlock 2986349 2988852 - CaseClause 2986351 2986393 - PropertyAccessExpression 2986369 2986392 - Identifier 2986369 2986380 - Identifier 2986381 2986392 - CaseClause 2986393 2986435 - PropertyAccessExpression 2986411 2986434 - Identifier 2986411 2986422 - Identifier 2986423 2986434 - CaseClause 2986435 2986477 - PropertyAccessExpression 2986453 2986476 - Identifier 2986453 2986464 - Identifier 2986465 2986476 - CaseClause 2986477 2986527 - PropertyAccessExpression 2986495 2986526 - Identifier 2986495 2986506 - Identifier 2986507 2986526 - CaseClause 2986527 2986575 - PropertyAccessExpression 2986545 2986574 - Identifier 2986545 2986556 - Identifier 2986557 2986574 - CaseClause 2986575 2986623 - PropertyAccessExpression 2986593 2986622 - Identifier 2986593 2986604 - Identifier 2986605 2986622 - CaseClause 2986623 2986669 - PropertyAccessExpression 2986641 2986668 - Identifier 2986641 2986652 - Identifier 2986653 2986668 - CaseClause 2986669 2986714 - PropertyAccessExpression 2986687 2986713 - Identifier 2986687 2986698 - Identifier 2986699 2986713 - CaseClause 2986714 2986762 - PropertyAccessExpression 2986732 2986761 - Identifier 2986732 2986743 - Identifier 2986744 2986761 - CaseClause 2986762 2986810 - PropertyAccessExpression 2986780 2986809 - Identifier 2986780 2986791 - Identifier 2986792 2986809 - CaseClause 2986810 2986864 - PropertyAccessExpression 2986828 2986863 - Identifier 2986828 2986839 - Identifier 2986840 2986863 - CaseClause 2986864 2986912 - PropertyAccessExpression 2986882 2986911 - Identifier 2986882 2986893 - Identifier 2986894 2986911 - CaseClause 2986912 2986959 - PropertyAccessExpression 2986930 2986958 - Identifier 2986930 2986941 - Identifier 2986942 2986958 - CaseClause 2986959 2987008 - PropertyAccessExpression 2986977 2987007 - Identifier 2986977 2986988 - Identifier 2986989 2987007 - CaseClause 2987008 2987052 - PropertyAccessExpression 2987026 2987051 - Identifier 2987026 2987037 - Identifier 2987038 2987051 - CaseClause 2987052 2987092 - PropertyAccessExpression 2987070 2987091 - Identifier 2987070 2987081 - Identifier 2987082 2987091 - CaseClause 2987092 2987171 - PropertyAccessExpression 2987110 2987135 - Identifier 2987110 2987121 - Identifier 2987122 2987135 - ReturnStatement 2987136 2987171 - Identifier 2987160 2987170 - CaseClause 2987171 2987229 - PropertyAccessExpression 2987189 2987228 - Identifier 2987189 2987200 - Identifier 2987201 2987228 - CaseClause 2987229 2987278 - PropertyAccessExpression 2987247 2987277 - Identifier 2987247 2987258 - Identifier 2987259 2987277 - CaseClause 2987278 2987336 - PropertyAccessExpression 2987296 2987335 - Identifier 2987296 2987307 - Identifier 2987308 2987335 - CaseClause 2987336 2987393 - PropertyAccessExpression 2987354 2987392 - Identifier 2987354 2987365 - Identifier 2987366 2987392 - CaseClause 2987393 2987500 - PropertyAccessExpression 2987411 2987441 - Identifier 2987411 2987422 - Identifier 2987423 2987441 - ReturnStatement 2987442 2987500 - CallExpression 2987466 2987499 - Identifier 2987466 2987471 - PropertyAccessExpression 2987472 2987486 - Identifier 2987472 2987476 - Identifier 2987477 2987486 - Identifier 2987487 2987498 - DefaultClause 2987500 2988841 - IfStatement 2987522 2987694 - BinaryExpression 2987544 2987633 - BinaryExpression 2987544 2987587 - PropertyAccessExpression 2987544 2987560 - PropertyAccessExpression 2987544 2987555 - Identifier 2987544 2987548 - Identifier 2987549 2987555 - Identifier 2987556 2987560 - EqualsEqualsEqualsToken 2987560 2987564 - PropertyAccessExpression 2987564 2987587 - Identifier 2987564 2987575 - Identifier 2987576 2987587 - BarBarToken 2987587 2987590 - BinaryExpression 2987590 2987633 - PropertyAccessExpression 2987590 2987607 - PropertyAccessExpression 2987590 2987602 - Identifier 2987590 2987595 - Identifier 2987596 2987602 - Identifier 2987603 2987607 - EqualsEqualsEqualsToken 2987607 2987611 - PropertyAccessExpression 2987611 2987633 - Identifier 2987611 2987622 - Identifier 2987623 2987633 - Block 2987634 2987694 - ReturnStatement 2987636 2987675 - Identifier 2987664 2987674 - SwitchStatement 2987694 2988841 - PropertyAccessExpression 2987720 2987729 - Identifier 2987720 2987724 - Identifier 2987725 2987729 - CaseBlock 2987730 2988841 - CaseClause 2987732 2987878 - PropertyAccessExpression 2987758 2987789 - Identifier 2987758 2987769 - Identifier 2987770 2987789 - ReturnStatement 2987790 2987878 - CallExpression 2987822 2987877 - Identifier 2987822 2987846 - Identifier 2987847 2987851 - PropertyAccessExpression 2987852 2987876 - Identifier 2987852 2987863 - Identifier 2987864 2987876 - CaseClause 2987878 2987933 - PropertyAccessExpression 2987904 2987932 - Identifier 2987904 2987915 - Identifier 2987916 2987932 - CaseClause 2987933 2988078 - PropertyAccessExpression 2987959 2987986 - Identifier 2987959 2987970 - Identifier 2987971 2987986 - ReturnStatement 2987987 2988078 - CallExpression 2988019 2988077 - Identifier 2988019 2988043 - Identifier 2988044 2988048 - PropertyAccessExpression 2988049 2988076 - Identifier 2988049 2988060 - Identifier 2988061 2988076 - CaseClause 2988078 2988132 - PropertyAccessExpression 2988104 2988131 - Identifier 2988104 2988115 - Identifier 2988116 2988131 - CaseClause 2988132 2988191 - PropertyAccessExpression 2988158 2988190 - Identifier 2988158 2988169 - Identifier 2988170 2988190 - CaseClause 2988191 2988316 - PropertyAccessExpression 2988217 2988249 - Identifier 2988217 2988228 - Identifier 2988229 2988249 - ReturnStatement 2988250 2988316 - CallExpression 2988282 2988315 - Identifier 2988282 2988287 - PropertyAccessExpression 2988288 2988302 - Identifier 2988288 2988292 - Identifier 2988293 2988302 - Identifier 2988303 2988314 - CaseClause 2988316 2988600 - PropertyAccessExpression 2988342 2988371 - Identifier 2988342 2988353 - Identifier 2988354 2988371 - ReturnStatement 2988372 2988600 - ConditionalExpression 2988404 2988599 - BinaryExpression 2988404 2988449 - PropertyAccessExpression 2988404 2988431 - PropertyAccessExpression 2988404 2988425 - Identifier 2988404 2988409 - Identifier 2988410 2988425 - Identifier 2988426 2988431 - AmpersandToken 2988431 2988433 - PropertyAccessExpression 2988433 2988449 - Identifier 2988433 2988443 - Identifier 2988444 2988449 - QuestionToken 2988449 2988451 - CallExpression 2988451 2988535 - Identifier 2988451 2988504 - Identifier 2988505 2988509 - PropertyAccessExpression 2988510 2988534 - Identifier 2988510 2988521 - Identifier 2988522 2988534 - ColonToken 2988535 2988537 - CallExpression 2988537 2988599 - Identifier 2988537 2988571 - PropertyAccessExpression 2988572 2988586 - Identifier 2988572 2988576 - Identifier 2988577 2988586 - Identifier 2988587 2988598 - CaseClause 2988600 2988742 - PropertyAccessExpression 2988626 2988653 - Identifier 2988626 2988637 - Identifier 2988638 2988653 - ReturnStatement 2988654 2988742 - CallExpression 2988686 2988741 - Identifier 2988686 2988710 - Identifier 2988711 2988715 - PropertyAccessExpression 2988716 2988740 - Identifier 2988716 2988727 - Identifier 2988728 2988740 - DefaultClause 2988742 2988822 - ExpressionStatement 2988772 2988822 - CallExpression 2988772 2988821 - PropertyAccessExpression 2988772 2988815 - Identifier 2988772 2988803 - Identifier 2988804 2988815 - Identifier 2988816 2988820 - FunctionDeclaration 2988859 2989163 - Identifier 2988875 2988904 - Parameter 2988905 2988984 - Identifier 2988905 2988909 - UnionType 2988910 2988984 - TypeReference 2988910 2988923 - Identifier 2988910 2988923 - TypeReference 2988925 2988939 - Identifier 2988925 2988939 - TypeReference 2988941 2988961 - Identifier 2988941 2988961 - TypeReference 2988963 2988984 - Identifier 2988963 2988984 - Block 2988985 2989163 - VariableStatement 2988987 2989047 - VariableDeclarationList 2988987 2989046 - VariableDeclaration 2989002 2989046 - Identifier 2989002 2989012 - CallExpression 2989014 2989046 - Identifier 2989014 2989040 - Identifier 2989041 2989045 - ReturnStatement 2989047 2989156 - BinaryExpression 2989063 2989155 - Identifier 2989063 2989073 - AmpersandAmpersandToken 2989073 2989076 - CallExpression 2989076 2989155 - Identifier 2989076 2989101 - Identifier 2989102 2989111 - PropertyAccessExpression 2989112 2989154 - Identifier 2989112 2989124 - Identifier 2989125 2989154 - FunctionDeclaration 2989163 2989414 - Identifier 2989179 2989205 - Parameter 2989206 2989285 - Identifier 2989206 2989210 - UnionType 2989211 2989285 - TypeReference 2989211 2989224 - Identifier 2989211 2989224 - TypeReference 2989226 2989240 - Identifier 2989226 2989240 - TypeReference 2989242 2989262 - Identifier 2989242 2989262 - TypeReference 2989264 2989285 - Identifier 2989264 2989285 - UnionType 2989287 2989309 - TypeReference 2989287 2989297 - Identifier 2989287 2989297 - UndefinedKeyword 2989299 2989309 - Block 2989309 2989414 - ReturnStatement 2989311 2989407 - ConditionalExpression 2989327 2989406 - CallExpression 2989327 2989358 - Identifier 2989327 2989352 - Identifier 2989353 2989357 - QuestionToken 2989358 2989360 - CallExpression 2989360 2989394 - Identifier 2989360 2989365 - PropertyAccessExpression 2989366 2989380 - Identifier 2989366 2989370 - Identifier 2989371 2989380 - Identifier 2989381 2989393 - ColonToken 2989394 2989396 - Identifier 2989396 2989406 - FunctionDeclaration 2989414 2989877 - Identifier 2989430 2989456 - Parameter 2989457 2989467 - Identifier 2989457 2989461 - TypeReference 2989462 2989467 - Identifier 2989462 2989467 - Parameter 2989468 2989488 - Identifier 2989468 2989482 - TypeReference 2989483 2989488 - Identifier 2989483 2989488 - BooleanKeyword 2989490 2989498 - Block 2989498 2989877 - SwitchStatement 2989500 2989763 - PropertyAccessExpression 2989518 2989527 - Identifier 2989518 2989522 - Identifier 2989523 2989527 - CaseBlock 2989528 2989763 - CaseClause 2989530 2989578 - PropertyAccessExpression 2989548 2989577 - Identifier 2989548 2989559 - Identifier 2989560 2989577 - CaseClause 2989578 2989628 - PropertyAccessExpression 2989596 2989627 - Identifier 2989596 2989607 - Identifier 2989608 2989627 - CaseClause 2989628 2989677 - PropertyAccessExpression 2989646 2989676 - Identifier 2989646 2989657 - Identifier 2989658 2989676 - CaseClause 2989677 2989752 - PropertyAccessExpression 2989695 2989720 - Identifier 2989695 2989706 - Identifier 2989707 2989720 - ReturnStatement 2989721 2989752 - FalseKeyword 2989745 2989751 - ReturnStatement 2989763 2989870 - CallExpression 2989781 2989869 - Identifier 2989781 2989800 - Identifier 2989801 2989814 - PropertyAccessExpression 2989815 2989859 - Identifier 2989815 2989827 - Identifier 2989828 2989859 - StringLiteral 2989860 2989868 - FunctionDeclaration 2989877 2990201 - Identifier 2989893 2989932 - Parameter 2989933 2989966 - Identifier 2989933 2989937 - UnionType 2989938 2989966 - TypeReference 2989938 2989954 - Identifier 2989938 2989948 - TypeReference 2989949 2989953 - Identifier 2989949 2989953 - UndefinedKeyword 2989956 2989966 - Parameter 2989967 2990013 - Identifier 2989967 2989972 - PropertyAccessExpression 2989974 2990013 - Identifier 2989974 2989986 - Identifier 2989987 2990013 - BooleanKeyword 2990015 2990023 - Block 2990023 2990201 - IfStatement 2990025 2990171 - BinaryExpression 2990039 2990068 - Identifier 2990039 2990043 - AmpersandAmpersandToken 2990043 2990046 - PropertyAccessExpression 2990046 2990068 - Identifier 2990046 2990051 - Identifier 2990052 2990068 - Block 2990069 2990171 - ReturnStatement 2990071 2990160 - CallExpression 2990091 2990159 - Identifier 2990091 2990109 - ElementAccessExpression 2990110 2990117 - Identifier 2990110 2990114 - NumericLiteral 2990115 2990116 - BinaryExpression 2990118 2990140 - PropertyAccessExpression 2990118 2990127 - Identifier 2990118 2990123 - Identifier 2990124 2990127 - MinusToken 2990127 2990129 - PropertyAccessExpression 2990129 2990140 - StringLiteral 2990129 2990133 - Identifier 2990134 2990140 - PropertyAccessExpression 2990141 2990152 - StringLiteral 2990141 2990145 - Identifier 2990146 2990152 - Identifier 2990153 2990158 - ReturnStatement 2990171 2990194 - FalseKeyword 2990187 2990193 - FunctionDeclaration 2990201 2990699 - Identifier 2990217 2990247 - Parameter 2990248 2990311 - Identifier 2990248 2990262 - UnionType 2990263 2990311 - TypeReference 2990263 2990299 - Identifier 2990263 2990273 - TypeReference 2990274 2990298 - Identifier 2990274 2990298 - UndefinedKeyword 2990301 2990311 - Parameter 2990312 2990329 - Identifier 2990312 2990317 - TypeReference 2990318 2990329 - Identifier 2990318 2990329 - BooleanKeyword 2990331 2990339 - Block 2990339 2990699 - IfStatement 2990341 2990669 - BinaryExpression 2990355 2990400 - Identifier 2990355 2990369 - AmpersandAmpersandToken 2990369 2990372 - BinaryExpression 2990372 2990400 - PropertyAccessExpression 2990372 2990394 - Identifier 2990372 2990387 - Identifier 2990388 2990394 - EqualsEqualsEqualsToken 2990394 2990398 - NumericLiteral 2990398 2990400 - Block 2990401 2990669 - VariableStatement 2990403 2990463 - VariableDeclarationList 2990403 2990462 - VariableDeclaration 2990422 2990462 - Identifier 2990422 2990428 - BinaryExpression 2990430 2990462 - PropertyAccessExpression 2990430 2990449 - Identifier 2990430 2990445 - Identifier 2990446 2990449 - MinusToken 2990449 2990451 - PropertyAccessExpression 2990451 2990462 - StringLiteral 2990451 2990455 - Identifier 2990456 2990462 - VariableStatement 2990463 2990544 - VariableDeclarationList 2990463 2990543 - VariableDeclaration 2990482 2990543 - Identifier 2990482 2990486 - BinaryExpression 2990488 2990543 - CallExpression 2990488 2990530 - Identifier 2990488 2990499 - PropertyAccessExpression 2990500 2990509 - Identifier 2990500 2990504 - Identifier 2990505 2990509 - PropertyAccessExpression 2990510 2990529 - Identifier 2990510 2990525 - Identifier 2990526 2990529 - PlusToken 2990530 2990532 - PropertyAccessExpression 2990532 2990543 - StringLiteral 2990532 2990536 - Identifier 2990537 2990543 - ReturnStatement 2990544 2990658 - CallExpression 2990564 2990657 - Identifier 2990564 2990582 - Identifier 2990583 2990587 - Identifier 2990588 2990594 - BinaryExpression 2990595 2990607 - Identifier 2990595 2990599 - MinusToken 2990599 2990601 - Identifier 2990601 2990607 - PropertyAccessExpression 2990608 2990656 - Identifier 2990608 2990620 - Identifier 2990621 2990656 - ReturnStatement 2990669 2990692 - FalseKeyword 2990685 2990691 - FunctionDeclaration 2990699 2992501 - Identifier 2990715 2990741 - Parameter 2990742 2990785 - Identifier 2990742 2990752 - TypeReference 2990753 2990785 - Identifier 2990753 2990763 - TypeReference 2990764 2990784 - Identifier 2990764 2990784 - Block 2990786 2992501 - VariableStatement 2990788 2990832 - VariableDeclarationList 2990788 2990831 - VariableDeclaration 2990801 2990831 - Identifier 2990801 2990823 - FalseKeyword 2990825 2990831 - VariableStatement 2990832 2990883 - VariableDeclarationList 2990832 2990882 - VariableDeclaration 2990847 2990882 - Identifier 2990847 2990862 - PropertyAccessExpression 2990864 2990882 - Identifier 2990864 2990875 - Identifier 2990876 2990882 - ForStatement 2990883 2992494 - VariableDeclarationList 2990900 2990909 - VariableDeclaration 2990903 2990909 - Identifier 2990903 2990905 - NumericLiteral 2990907 2990909 - BinaryExpression 2990910 2990929 - Identifier 2990910 2990912 - LessThanToken 2990912 2990914 - Identifier 2990914 2990929 - PostfixUnaryExpression 2990930 2990934 - Identifier 2990930 2990932 - Block 2990935 2992494 - VariableStatement 2990937 2990983 - VariableDeclarationList 2990937 2990982 - VariableDeclaration 2990956 2990982 - Identifier 2990956 2990966 - ElementAccessExpression 2990968 2990982 - Identifier 2990968 2990979 - Identifier 2990980 2990981 - IfStatement 2990983 2992483 - PropertyAccessExpression 2991001 2991025 - Identifier 2991001 2991010 - Identifier 2991011 2991025 - Block 2991026 2991920 - IfStatement 2991028 2991235 - BinaryExpression 2991050 2991076 - Identifier 2991050 2991051 - ExclamationEqualsEqualsToken 2991051 2991055 - ParenthesizedExpression 2991055 2991076 - BinaryExpression 2991057 2991075 - Identifier 2991057 2991071 - MinusToken 2991071 2991073 - NumericLiteral 2991073 2991075 - Block 2991077 2991235 - ReturnStatement 2991079 2991216 - CallExpression 2991107 2991215 - Identifier 2991107 2991126 - PropertyAccessExpression 2991127 2991151 - Identifier 2991127 2991136 - Identifier 2991137 2991151 - PropertyAccessExpression 2991152 2991214 - Identifier 2991152 2991164 - Identifier 2991165 2991214 - IfStatement 2991235 2991526 - PrefixUnaryExpression 2991257 2991295 - ParenthesizedExpression 2991258 2991295 - BinaryExpression 2991259 2991294 - PropertyAccessExpression 2991259 2991274 - Identifier 2991259 2991268 - Identifier 2991269 2991274 - AmpersandToken 2991274 2991276 - PropertyAccessExpression 2991276 2991294 - Identifier 2991276 2991286 - Identifier 2991287 2991294 - Block 2991296 2991526 - ExpressionStatement 2991298 2991507 - CallExpression 2991298 2991506 - Identifier 2991298 2991415 - Identifier 2991416 2991426 - PropertyAccessExpression 2991427 2991505 - Identifier 2991427 2991439 - Identifier 2991440 2991505 - IfStatement 2991526 2991717 - PropertyAccessExpression 2991550 2991573 - Identifier 2991550 2991559 - Identifier 2991560 2991573 - Block 2991574 2991717 - ReturnStatement 2991576 2991698 - CallExpression 2991604 2991697 - Identifier 2991604 2991623 - PropertyAccessExpression 2991624 2991647 - Identifier 2991624 2991633 - Identifier 2991634 2991647 - PropertyAccessExpression 2991648 2991696 - Identifier 2991648 2991660 - Identifier 2991661 2991696 - IfStatement 2991717 2991905 - PropertyAccessExpression 2991741 2991762 - Identifier 2991741 2991750 - Identifier 2991751 2991762 - Block 2991763 2991905 - ReturnStatement 2991765 2991886 - CallExpression 2991793 2991885 - Identifier 2991793 2991812 - PropertyAccessExpression 2991813 2991827 - Identifier 2991813 2991822 - Identifier 2991823 2991827 - PropertyAccessExpression 2991828 2991884 - Identifier 2991828 2991840 - Identifier 2991841 2991884 - IfStatement 2991938 2992483 - CallExpression 2991943 2991979 - Identifier 2991943 2991968 - Identifier 2991969 2991978 - Block 2991980 2992265 - ExpressionStatement 2991982 2992029 - BinaryExpression 2991982 2992028 - Identifier 2991982 2992021 - EqualsToken 2992021 2992023 - TrueKeyword 2992023 2992028 - IfStatement 2992029 2992250 - BinaryExpression 2992051 2992099 - PropertyAccessExpression 2992051 2992074 - Identifier 2992051 2992060 - Identifier 2992061 2992074 - AmpersandAmpersandToken 2992074 2992077 - PropertyAccessExpression 2992077 2992099 - Identifier 2992077 2992087 - Identifier 2992088 2992099 - Block 2992100 2992250 - ReturnStatement 2992102 2992231 - CallExpression 2992130 2992230 - Identifier 2992130 2992149 - PropertyAccessExpression 2992150 2992164 - Identifier 2992150 2992159 - Identifier 2992160 2992164 - PropertyAccessExpression 2992165 2992229 - Identifier 2992165 2992177 - Identifier 2992178 2992229 - IfStatement 2992283 2992483 - BinaryExpression 2992288 2992335 - Identifier 2992288 2992309 - AmpersandAmpersandToken 2992309 2992312 - PrefixUnaryExpression 2992312 2992335 - PropertyAccessExpression 2992314 2992335 - Identifier 2992314 2992323 - Identifier 2992324 2992335 - Block 2992336 2992483 - ReturnStatement 2992338 2992468 - CallExpression 2992362 2992467 - Identifier 2992362 2992381 - PropertyAccessExpression 2992382 2992396 - Identifier 2992382 2992391 - Identifier 2992392 2992396 - PropertyAccessExpression 2992397 2992466 - Identifier 2992397 2992409 - Identifier 2992410 2992466 - FunctionDeclaration 2992501 2992767 - Identifier 2992517 2992540 - Parameter 2992541 2992584 - Identifier 2992541 2992551 - TypeOperator 2992552 2992584 - ArrayType 2992561 2992584 - TypeReference 2992561 2992582 - Identifier 2992561 2992582 - TypeOperator 2992586 2992618 - ArrayType 2992595 2992618 - TypeReference 2992595 2992616 - Identifier 2992595 2992616 - Block 2992618 2992767 - ReturnStatement 2992620 2992760 - CallExpression 2992636 2992759 - Identifier 2992636 2992643 - Identifier 2992644 2992654 - ArrowFunction 2992655 2992758 - Parameter 2992655 2992665 - Identifier 2992655 2992665 - EqualsGreaterThanToken 2992665 2992668 - BinaryExpression 2992668 2992758 - BinaryExpression 2992668 2992728 - PrefixUnaryExpression 2992668 2992692 - PrefixUnaryExpression 2992670 2992692 - PropertyAccessExpression 2992671 2992692 - Identifier 2992671 2992680 - Identifier 2992681 2992692 - BarBarToken 2992692 2992695 - CallExpression 2992695 2992728 - Identifier 2992695 2992712 - PropertyAccessExpression 2992713 2992727 - Identifier 2992713 2992722 - Identifier 2992723 2992727 - BarBarToken 2992728 2992731 - CallExpression 2992731 2992758 - Identifier 2992731 2992747 - Identifier 2992748 2992757 - FunctionDeclaration 2992767 2994237 - Identifier 2992783 2992827 - Parameter 2992828 2992857 - Identifier 2992828 2992832 - TypeReference 2992833 2992857 - Identifier 2992833 2992857 - BooleanKeyword 2992859 2992867 - Block 2992867 2994237 - IfStatement 2992869 2994207 - BinaryExpression 2992883 2992921 - Identifier 2992883 2992898 - GreaterThanEqualsToken 2992898 2992901 - PropertyAccessExpression 2992901 2992921 - Identifier 2992901 2992914 - Identifier 2992915 2992921 - Block 2992922 2994207 - VariableStatement 2992924 2993044 - VariableDeclarationList 2992924 2993043 - VariableDeclaration 2992943 2993043 - Identifier 2992943 2992962 - BinaryExpression 2992964 2993043 - BinaryExpression 2992964 2992996 - PropertyAccessExpression 2992964 2992974 - Identifier 2992964 2992969 - Identifier 2992970 2992974 - AmpersandAmpersandToken 2992974 2992977 - CallExpression 2992977 2992996 - Identifier 2992977 2992985 - PropertyAccessExpression 2992986 2992995 - Identifier 2992986 2992990 - Identifier 2992991 2992995 - AmpersandAmpersandToken 2992996 2992999 - CallExpression 2992999 2993043 - Identifier 2992999 2993021 - PropertyAccessExpression 2993022 2993042 - PropertyAccessExpression 2993022 2993031 - Identifier 2993022 2993026 - Identifier 2993027 2993031 - Identifier 2993032 2993042 - IfStatement 2993044 2994196 - Identifier 2993062 2993080 - Block 2993081 2994196 - VariableStatement 2993083 2993169 - VariableDeclarationList 2993083 2993168 - VariableDeclaration 2993106 2993168 - Identifier 2993106 2993126 - CallExpression 2993128 2993168 - Identifier 2993128 2993151 - PropertyAccessExpression 2993152 2993167 - Identifier 2993152 2993156 - Identifier 2993157 2993167 - IfStatement 2993169 2994181 - CallExpression 2993191 2993218 - Identifier 2993191 2993197 - Identifier 2993198 2993217 - Block 2993219 2994181 - ExpressionStatement 2993221 2993614 - CallExpression 2993221 2993613 - Identifier 2993221 2993250 - Identifier 2993251 2993270 - ArrowFunction 2993271 2993612 - Parameter 2993271 2993281 - Identifier 2993271 2993281 - EqualsGreaterThanToken 2993281 2993284 - Block 2993284 2993612 - ExpressionStatement 2993286 2993589 - CallExpression 2993286 2993588 - Identifier 2993286 2993326 - CallExpression 2993327 2993442 - Identifier 2993327 2993362 - Identifier 2993363 2993372 - PropertyAccessExpression 2993373 2993441 - Identifier 2993373 2993385 - Identifier 2993386 2993441 - CallExpression 2993443 2993560 - Identifier 2993443 2993496 - Identifier 2993497 2993515 - PropertyAccessExpression 2993516 2993559 - Identifier 2993516 2993528 - Identifier 2993529 2993559 - VariableStatement 2993614 2993968 - VariableDeclarationList 2993614 2993967 - VariableDeclaration 2993643 2993967 - Identifier 2993643 2993655 - AsExpression 2993657 2993967 - CallExpression 2993657 2993910 - PropertyAccessExpression 2993657 2993681 - Identifier 2993657 2993677 - Identifier 2993678 2993681 - ArrowFunction 2993682 2993909 - Parameter 2993683 2993692 - Identifier 2993683 2993692 - Parameter 2993693 2993699 - Identifier 2993693 2993699 - EqualsGreaterThanToken 2993700 2993703 - ParenthesizedExpression 2993703 2993909 - ConditionalExpression 2993705 2993886 - BinaryExpression 2993705 2993742 - Identifier 2993705 2993736 - EqualsEqualsEqualsToken 2993736 2993740 - NumericLiteral 2993740 2993742 - QuestionToken 2993742 2993744 - CallExpression 2993744 2993827 - Identifier 2993744 2993768 - Identifier 2993769 2993778 - PropertyAccessExpression 2993779 2993826 - Identifier 2993779 2993791 - Identifier 2993792 2993826 - ColonToken 2993827 2993829 - CallExpression 2993829 2993886 - Identifier 2993829 2993853 - Identifier 2993854 2993863 - PropertyAccessExpression 2993864 2993885 - Identifier 2993864 2993876 - Identifier 2993877 2993885 - TupleType 2993913 2993967 - TypeReference 2993915 2993937 - Identifier 2993915 2993937 - RestType 2993938 2993966 - ArrayType 2993942 2993966 - TypeReference 2993942 2993964 - Identifier 2993942 2993964 - ExpressionStatement 2993968 2994128 - CallExpression 2993968 2994127 - Identifier 2993968 2994004 - CallExpression 2994005 2994110 - Identifier 2994005 2994010 - Identifier 2994011 2994029 - PropertyAccessExpression 2994030 2994109 - Identifier 2994030 2994042 - Identifier 2994043 2994109 - SpreadElement 2994111 2994126 - Identifier 2994115 2994126 - ReturnStatement 2994128 2994162 - TrueKeyword 2994156 2994161 - ReturnStatement 2994207 2994230 - FalseKeyword 2994223 2994229 - FunctionDeclaration 2994237 2994792 - Identifier 2994253 2994289 - Parameter 2994290 2994337 - Identifier 2994290 2994294 - UnionType 2994295 2994337 - TypeReference 2994295 2994319 - Identifier 2994295 2994319 - TypeReference 2994321 2994337 - Identifier 2994321 2994337 - BooleanKeyword 2994339 2994347 - Block 2994347 2994792 - VariableStatement 2994349 2994451 - VariableDeclarationList 2994349 2994450 - VariableDeclaration 2994417 2994450 - Identifier 2994417 2994422 - CallExpression 2994424 2994450 - Identifier 2994424 2994444 - Identifier 2994445 2994449 - ReturnStatement 2994451 2994785 - BinaryExpression 2994467 2994784 - BinaryExpression 2994467 2994681 - BinaryExpression 2994467 2994627 - BinaryExpression 2994467 2994568 - CallExpression 2994467 2994495 - Identifier 2994467 2994489 - Identifier 2994490 2994494 - BarBarToken 2994495 2994498 - CallExpression 2994498 2994568 - Identifier 2994498 2994541 - PropertyAccessExpression 2994542 2994561 - Identifier 2994542 2994546 - Identifier 2994547 2994561 - Identifier 2994562 2994567 - BarBarToken 2994568 2994571 - CallExpression 2994571 2994627 - Identifier 2994571 2994610 - PropertyAccessExpression 2994611 2994626 - Identifier 2994611 2994615 - Identifier 2994616 2994626 - BarBarToken 2994627 2994630 - CallExpression 2994630 2994681 - Identifier 2994630 2994669 - Identifier 2994670 2994674 - Identifier 2994675 2994680 - BarBarToken 2994681 2994684 - ParenthesizedExpression 2994684 2994784 - BinaryExpression 2994699 2994783 - CallExpression 2994699 2994730 - Identifier 2994699 2994724 - Identifier 2994725 2994729 - AmpersandAmpersandToken 2994730 2994733 - CallExpression 2994733 2994783 - Identifier 2994733 2994777 - Identifier 2994778 2994782 - FunctionDeclaration 2994792 2995076 - Identifier 2994808 2994841 - Parameter 2994842 2994868 - Identifier 2994842 2994846 - TypeReference 2994847 2994868 - Identifier 2994847 2994868 - BooleanKeyword 2994870 2994878 - Block 2994878 2995076 - VariableStatement 2994880 2994929 - VariableDeclarationList 2994880 2994928 - VariableDeclaration 2994895 2994928 - Identifier 2994895 2994900 - CallExpression 2994902 2994928 - Identifier 2994902 2994922 - Identifier 2994923 2994927 - ReturnStatement 2994929 2995069 - BinaryExpression 2994945 2995068 - CallExpression 2994945 2994995 - Identifier 2994945 2994989 - Identifier 2994990 2994994 - BarBarToken 2994995 2994998 - CallExpression 2994998 2995068 - Identifier 2994998 2995041 - PropertyAccessExpression 2995042 2995061 - Identifier 2995042 2995046 - Identifier 2995047 2995061 - Identifier 2995062 2995067 - FunctionDeclaration 2995076 2996084 - Identifier 2995092 2995118 - Parameter 2995119 2995129 - Identifier 2995119 2995123 - TypeReference 2995124 2995129 - Identifier 2995124 2995129 - Parameter 2995130 2995147 - Identifier 2995130 2995135 - TypeReference 2995136 2995147 - Identifier 2995136 2995147 - BooleanKeyword 2995149 2995157 - Block 2995157 2996084 - IfStatement 2995159 2995236 - PrefixUnaryExpression 2995173 2995195 - CallExpression 2995174 2995195 - Identifier 2995174 2995189 - Identifier 2995190 2995194 - Block 2995196 2995236 - ReturnStatement 2995198 2995225 - FalseKeyword 2995218 2995224 - IfStatement 2995236 2995692 - BinaryExpression 2995252 2995386 - PropertyAccessExpression 2995252 2995271 - Identifier 2995252 2995256 - Identifier 2995257 2995271 - AmpersandAmpersandToken 2995271 2995274 - PrefixUnaryExpression 2995274 2995386 - ParenthesizedExpression 2995276 2995386 - BinaryExpression 2995277 2995385 - BinaryExpression 2995277 2995348 - BinaryExpression 2995277 2995308 - CallExpression 2995277 2995304 - Identifier 2995277 2995283 - PropertyAccessExpression 2995284 2995303 - Identifier 2995284 2995288 - Identifier 2995289 2995303 - GreaterThanToken 2995304 2995306 - NumericLiteral 2995306 2995308 - BarBarToken 2995308 2995311 - PropertyAccessExpression 2995311 2995348 - PropertyAccessExpression 2995311 2995331 - Identifier 2995311 2995316 - Identifier 2995317 2995331 - Identifier 2995332 2995348 - BarBarToken 2995348 2995351 - PropertyAccessExpression 2995351 2995385 - ElementAccessExpression 2995351 2995374 - PropertyAccessExpression 2995351 2995371 - Identifier 2995351 2995356 - Identifier 2995357 2995371 - NumericLiteral 2995372 2995373 - Identifier 2995375 2995385 - Block 2995387 2995692 - IfStatement 2995389 2995681 - BinaryExpression 2995407 2995482 - Identifier 2995407 2995411 - AmpersandAmpersandToken 2995411 2995414 - CallExpression 2995414 2995482 - Identifier 2995414 2995435 - PropertyAccessExpression 2995436 2995449 - Identifier 2995436 2995440 - Identifier 2995441 2995449 - ArrayLiteralExpression 2995450 2995481 - PropertyAccessExpression 2995452 2995465 - Identifier 2995452 2995461 - Identifier 2995462 2995465 - PropertyAccessExpression 2995466 2995480 - Identifier 2995466 2995476 - Identifier 2995477 2995480 - Block 2995483 2995681 - ExpressionStatement 2995485 2995666 - CallExpression 2995485 2995665 - Identifier 2995485 2995521 - ElementAccessExpression 2995522 2995544 - PropertyAccessExpression 2995522 2995541 - Identifier 2995522 2995526 - Identifier 2995527 2995541 - NumericLiteral 2995542 2995543 - PropertyAccessExpression 2995545 2995664 - Identifier 2995545 2995557 - Identifier 2995558 2995664 - VariableStatement 2995692 2995744 - VariableDeclarationList 2995692 2995743 - VariableDeclaration 2995709 2995743 - ObjectBindingPattern 2995709 2995736 - BindingElement 2995711 2995734 - Identifier 2995711 2995734 - Identifier 2995738 2995743 - VariableStatement 2995744 2995841 - VariableDeclarationList 2995744 2995840 - VariableDeclaration 2995759 2995840 - Identifier 2995759 2995769 - PropertyAccessExpression 2995771 2995840 - CallExpression 2995771 2995835 - Identifier 2995771 2995801 - Identifier 2995802 2995806 - PropertyAccessExpression 2995807 2995834 - Identifier 2995807 2995830 - Identifier 2995831 2995834 - Identifier 2995836 2995840 - VariableStatement 2995841 2995936 - VariableDeclarationList 2995841 2995935 - VariableDeclaration 2995856 2995935 - Identifier 2995856 2995864 - PropertyAccessExpression 2995866 2995935 - CallExpression 2995866 2995930 - Identifier 2995866 2995896 - Identifier 2995897 2995901 - PropertyAccessExpression 2995902 2995929 - Identifier 2995902 2995925 - Identifier 2995926 2995929 - Identifier 2995931 2995935 - ReturnStatement 2995936 2996077 - BinaryExpression 2995952 2996076 - BinaryExpression 2995952 2995974 - Identifier 2995952 2995962 - ExclamationEqualsEqualsToken 2995962 2995966 - Identifier 2995966 2995974 - AmpersandAmpersandToken 2995974 2995977 - CallExpression 2995977 2996076 - Identifier 2995977 2995996 - Identifier 2995997 2996019 - PropertyAccessExpression 2996020 2996075 - Identifier 2996020 2996032 - Identifier 2996033 2996075 - FunctionDeclaration 2996084 2998398 - Identifier 2996100 2996137 - Parameter 2996138 2996164 - Identifier 2996138 2996142 - TypeReference 2996143 2996164 - Identifier 2996143 2996164 - BooleanKeyword 2996166 2996174 - Block 2996174 2998398 - VariableStatement 2996176 2996223 - VariableDeclarationList 2996176 2996222 - VariableDeclaration 2996191 2996222 - Identifier 2996191 2996201 - ElementAccessExpression 2996203 2996222 - PropertyAccessExpression 2996203 2996219 - Identifier 2996203 2996208 - Identifier 2996209 2996219 - NumericLiteral 2996220 2996221 - IfStatement 2996223 2996597 - BinaryExpression 2996237 2996265 - PropertyAccessExpression 2996237 2996259 - PropertyAccessExpression 2996237 2996252 - Identifier 2996237 2996241 - Identifier 2996242 2996252 - Identifier 2996253 2996259 - ExclamationEqualsEqualsToken 2996259 2996263 - NumericLiteral 2996263 2996265 - Block 2996266 2996597 - IfStatement 2996268 2996586 - Identifier 2996286 2996295 - Block 2996296 2996437 - ReturnStatement 2996298 2996422 - CallExpression 2996322 2996421 - Identifier 2996322 2996341 - PropertyAccessExpression 2996342 2996356 - Identifier 2996342 2996351 - Identifier 2996352 2996356 - PropertyAccessExpression 2996357 2996420 - Identifier 2996357 2996369 - Identifier 2996370 2996420 - Block 2996455 2996586 - ReturnStatement 2996457 2996571 - CallExpression 2996481 2996570 - Identifier 2996481 2996500 - Identifier 2996501 2996505 - PropertyAccessExpression 2996506 2996569 - Identifier 2996506 2996518 - Identifier 2996519 2996569 - ExpressionStatement 2996597 2996724 - CallExpression 2996597 2996723 - Identifier 2996597 2996645 - PropertyAccessExpression 2996646 2996661 - Identifier 2996646 2996650 - Identifier 2996651 2996661 - PropertyAccessExpression 2996662 2996722 - Identifier 2996662 2996674 - Identifier 2996675 2996722 - IfStatement 2996724 2996903 - PropertyAccessExpression 2996738 2996762 - Identifier 2996738 2996747 - Identifier 2996748 2996762 - Block 2996763 2996903 - ReturnStatement 2996765 2996892 - CallExpression 2996785 2996891 - Identifier 2996785 2996804 - PropertyAccessExpression 2996805 2996829 - Identifier 2996805 2996814 - Identifier 2996815 2996829 - PropertyAccessExpression 2996830 2996890 - Identifier 2996830 2996842 - Identifier 2996843 2996890 - IfStatement 2996903 2997099 - CallExpression 2996917 2996949 - Identifier 2996917 2996938 - Identifier 2996939 2996948 - Block 2996950 2997099 - ReturnStatement 2996952 2997088 - CallExpression 2996972 2997087 - Identifier 2996972 2996991 - PropertyAccessExpression 2996992 2997006 - Identifier 2996992 2997001 - Identifier 2997002 2997006 - PropertyAccessExpression 2997007 2997086 - Identifier 2997007 2997019 - Identifier 2997020 2997086 - IfStatement 2997099 2997285 - PropertyAccessExpression 2997113 2997136 - Identifier 2997113 2997122 - Identifier 2997123 2997136 - Block 2997137 2997285 - ReturnStatement 2997139 2997274 - CallExpression 2997159 2997273 - Identifier 2997159 2997178 - PropertyAccessExpression 2997179 2997202 - Identifier 2997179 2997188 - Identifier 2997189 2997202 - PropertyAccessExpression 2997203 2997272 - Identifier 2997203 2997215 - Identifier 2997216 2997272 - IfStatement 2997285 2997459 - PropertyAccessExpression 2997299 2997320 - Identifier 2997299 2997308 - Identifier 2997309 2997320 - Block 2997321 2997459 - ReturnStatement 2997323 2997448 - CallExpression 2997343 2997447 - Identifier 2997343 2997362 - PropertyAccessExpression 2997363 2997377 - Identifier 2997363 2997372 - Identifier 2997373 2997377 - PropertyAccessExpression 2997378 2997446 - Identifier 2997378 2997390 - Identifier 2997391 2997446 - IfStatement 2997459 2997628 - PrefixUnaryExpression 2997473 2997488 - PropertyAccessExpression 2997474 2997488 - Identifier 2997474 2997483 - Identifier 2997484 2997488 - Block 2997489 2997628 - ReturnStatement 2997491 2997617 - CallExpression 2997511 2997616 - Identifier 2997511 2997530 - PropertyAccessExpression 2997531 2997545 - Identifier 2997531 2997540 - Identifier 2997541 2997545 - PropertyAccessExpression 2997546 2997615 - Identifier 2997546 2997558 - Identifier 2997559 2997615 - VariableStatement 2997628 2997687 - VariableDeclarationList 2997628 2997686 - VariableDeclaration 2997643 2997686 - Identifier 2997643 2997648 - CallExpression 2997650 2997686 - Identifier 2997650 2997670 - PropertyAccessExpression 2997671 2997685 - Identifier 2997671 2997680 - Identifier 2997681 2997685 - IfStatement 2997687 2998000 - BinaryExpression 2997701 2997798 - CallExpression 2997701 2997775 - Identifier 2997701 2997709 - Identifier 2997710 2997714 - ArrowFunction 2997715 2997774 - Parameter 2997715 2997717 - Identifier 2997715 2997717 - EqualsGreaterThanToken 2997717 2997720 - PrefixUnaryExpression 2997720 2997774 - PrefixUnaryExpression 2997722 2997774 - ParenthesizedExpression 2997723 2997774 - BinaryExpression 2997724 2997773 - PropertyAccessExpression 2997724 2997731 - Identifier 2997724 2997725 - Identifier 2997726 2997731 - AmpersandToken 2997731 2997733 - PropertyAccessExpression 2997733 2997773 - Identifier 2997733 2997743 - Identifier 2997744 2997773 - BarBarToken 2997775 2997778 - CallExpression 2997778 2997798 - Identifier 2997778 2997792 - Identifier 2997793 2997797 - Block 2997799 2998000 - ReturnStatement 2997801 2997989 - CallExpression 2997821 2997988 - Identifier 2997821 2997840 - PropertyAccessExpression 2997841 2997855 - Identifier 2997841 2997850 - Identifier 2997851 2997855 - PropertyAccessExpression 2997856 2997987 - Identifier 2997856 2997868 - Identifier 2997869 2997987 - IfStatement 2998000 2998224 - PrefixUnaryExpression 2998014 2998051 - CallExpression 2998015 2998051 - Identifier 2998015 2998024 - Identifier 2998025 2998029 - Identifier 2998030 2998050 - Block 2998052 2998224 - ReturnStatement 2998054 2998213 - CallExpression 2998074 2998212 - Identifier 2998074 2998093 - PropertyAccessExpression 2998094 2998108 - Identifier 2998094 2998103 - Identifier 2998104 2998108 - PropertyAccessExpression 2998109 2998211 - Identifier 2998109 2998121 - Identifier 2998122 2998211 - IfStatement 2998224 2998368 - PrefixUnaryExpression 2998238 2998248 - PropertyAccessExpression 2998239 2998248 - Identifier 2998239 2998243 - Identifier 2998244 2998248 - Block 2998249 2998368 - ReturnStatement 2998251 2998357 - CallExpression 2998271 2998356 - Identifier 2998271 2998290 - Identifier 2998291 2998295 - PropertyAccessExpression 2998296 2998355 - Identifier 2998296 2998308 - Identifier 2998309 2998355 - ReturnStatement 2998368 2998391 - FalseKeyword 2998384 2998390 - FunctionDeclaration 2998398 2998627 - Identifier 2998414 2998441 - Parameter 2998442 2998473 - Identifier 2998442 2998446 - TypeReference 2998447 2998473 - Identifier 2998447 2998473 - Block 2998474 2998627 - ReturnStatement 2998476 2998620 - BinaryExpression 2998545 2998619 - CallExpression 2998545 2998573 - Identifier 2998545 2998567 - Identifier 2998568 2998572 - BarBarToken 2998573 2998576 - CallExpression 2998576 2998619 - Identifier 2998576 2998613 - Identifier 2998614 2998618 - FunctionDeclaration 2998627 2999176 - Identifier 2998643 2998681 - Parameter 2998682 2998692 - Identifier 2998682 2998686 - TypeReference 2998687 2998692 - Identifier 2998687 2998692 - Parameter 2998693 2998740 - Identifier 2998693 2998707 - UnionType 2998708 2998740 - TypeReference 2998708 2998728 - Identifier 2998708 2998718 - TypeReference 2998719 2998727 - Identifier 2998719 2998727 - UndefinedKeyword 2998730 2998740 - BooleanKeyword 2998742 2998750 - Block 2998750 2999176 - IfStatement 2998752 2999146 - BinaryExpression 2998766 2998809 - Identifier 2998766 2998779 - AmpersandAmpersandToken 2998779 2998782 - BinaryExpression 2998782 2998809 - PropertyAccessExpression 2998782 2998803 - Identifier 2998782 2998796 - Identifier 2998797 2998803 - EqualsEqualsEqualsToken 2998803 2998807 - NumericLiteral 2998807 2998809 - Block 2998810 2999146 - VariableStatement 2998812 2998871 - VariableDeclarationList 2998812 2998870 - VariableDeclaration 2998831 2998870 - Identifier 2998831 2998842 - CallExpression 2998844 2998870 - Identifier 2998844 2998864 - Identifier 2998865 2998869 - VariableStatement 2998871 2998930 - VariableDeclarationList 2998871 2998929 - VariableDeclaration 2998890 2998929 - Identifier 2998890 2998896 - BinaryExpression 2998898 2998929 - PropertyAccessExpression 2998898 2998916 - Identifier 2998898 2998912 - Identifier 2998913 2998916 - MinusToken 2998916 2998918 - PropertyAccessExpression 2998918 2998929 - StringLiteral 2998918 2998922 - Identifier 2998923 2998929 - VariableStatement 2998930 2999016 - VariableDeclarationList 2998930 2999015 - VariableDeclaration 2998949 2999015 - Identifier 2998949 2998953 - BinaryExpression 2998955 2999015 - CallExpression 2998955 2999002 - Identifier 2998955 2998966 - PropertyAccessExpression 2998967 2998982 - Identifier 2998967 2998977 - Identifier 2998978 2998982 - PropertyAccessExpression 2998983 2999001 - Identifier 2998983 2998997 - Identifier 2998998 2999001 - PlusToken 2999002 2999004 - PropertyAccessExpression 2999004 2999015 - StringLiteral 2999004 2999008 - Identifier 2999009 2999015 - ReturnStatement 2999016 2999135 - CallExpression 2999036 2999134 - Identifier 2999036 2999054 - Identifier 2999055 2999065 - Identifier 2999066 2999072 - BinaryExpression 2999073 2999085 - Identifier 2999073 2999077 - MinusToken 2999077 2999079 - Identifier 2999079 2999085 - PropertyAccessExpression 2999086 2999133 - Identifier 2999086 2999098 - Identifier 2999099 2999133 - ReturnStatement 2999146 2999169 - FalseKeyword 2999162 2999168 - FunctionDeclaration 2999176 2999442 - Identifier 2999192 2999218 - Parameter 2999219 2999229 - Identifier 2999219 2999223 - TypeReference 2999224 2999229 - Identifier 2999224 2999229 - Parameter 2999230 2999277 - Identifier 2999230 2999244 - UnionType 2999245 2999277 - TypeReference 2999245 2999265 - Identifier 2999245 2999255 - TypeReference 2999256 2999264 - Identifier 2999256 2999264 - UndefinedKeyword 2999267 2999277 - BooleanKeyword 2999279 2999287 - Block 2999287 2999442 - ReturnStatement 2999289 2999435 - BinaryExpression 2999305 2999434 - CallExpression 2999305 2999359 - Identifier 2999305 2999344 - Identifier 2999345 2999358 - BarBarToken 2999359 2999362 - CallExpression 2999362 2999434 - Identifier 2999362 2999413 - Identifier 2999414 2999418 - Identifier 2999419 2999433 - FunctionDeclaration 2999442 2999787 - Identifier 2999458 2999490 - Parameter 2999491 2999521 - Identifier 2999491 2999495 - TypeReference 2999496 2999521 - Identifier 2999496 2999521 - BooleanKeyword 2999523 2999531 - Block 2999531 2999787 - IfStatement 2999533 2999757 - BinaryExpression 2999547 2999608 - PropertyAccessExpression 2999547 2999568 - Identifier 2999547 2999551 - Identifier 2999552 2999568 - BarBarToken 2999568 2999571 - BinaryExpression 2999571 2999608 - PropertyAccessExpression 2999571 2999582 - Identifier 2999571 2999576 - Identifier 2999577 2999582 - AmpersandToken 2999582 2999584 - PropertyAccessExpression 2999584 2999608 - Identifier 2999584 2999594 - Identifier 2999595 2999608 - Block 2999609 2999757 - ReturnStatement 2999611 2999746 - CallExpression 2999631 2999745 - Identifier 2999631 2999650 - PropertyAccessExpression 2999651 2999664 - Identifier 2999651 2999655 - Identifier 2999656 2999664 - PropertyAccessExpression 2999665 2999744 - Identifier 2999665 2999677 - Identifier 2999678 2999744 - ReturnStatement 2999757 2999780 - FalseKeyword 2999773 2999779 - FunctionDeclaration 2999787 3000292 - Identifier 2999803 2999830 - Parameter 2999831 2999851 - Identifier 2999831 2999835 - TypeReference 2999836 2999851 - Identifier 2999836 2999851 - BooleanKeyword 2999853 2999861 - Block 2999861 3000292 - VariableStatement 2999863 2999898 - VariableDeclarationList 2999863 2999897 - VariableDeclaration 2999878 2999897 - Identifier 2999878 2999884 - PropertyAccessExpression 2999886 2999897 - Identifier 2999886 2999891 - Identifier 2999892 2999897 - IfStatement 2999898 2999997 - CallExpression 2999912 2999957 - Identifier 2999912 2999950 - Identifier 2999951 2999956 - Block 2999958 2999997 - ReturnStatement 2999960 2999986 - TrueKeyword 2999980 2999985 - IfStatement 2999997 3000215 - BinaryExpression 3000011 3000038 - Identifier 3000011 3000016 - AmpersandAmpersandToken 3000016 3000019 - BinaryExpression 3000019 3000038 - PropertyAccessExpression 3000019 3000032 - Identifier 3000019 3000025 - Identifier 3000026 3000032 - EqualsEqualsEqualsToken 3000032 3000036 - NumericLiteral 3000036 3000038 - Block 3000039 3000215 - VariableStatement 3000041 3000098 - VariableDeclarationList 3000041 3000097 - VariableDeclaration 3000060 3000097 - Identifier 3000060 3000069 - CallExpression 3000071 3000097 - Identifier 3000071 3000085 - PropertyAccessExpression 3000086 3000096 - Identifier 3000086 3000090 - Identifier 3000091 3000096 - ReturnStatement 3000098 3000204 - CallExpression 3000118 3000203 - Identifier 3000118 3000136 - Identifier 3000137 3000141 - PropertyAccessExpression 3000142 3000152 - Identifier 3000142 3000148 - Identifier 3000149 3000152 - NumericLiteral 3000153 3000155 - PropertyAccessExpression 3000156 3000192 - Identifier 3000156 3000168 - Identifier 3000169 3000192 - Identifier 3000193 3000202 - ReturnStatement 3000215 3000285 - CallExpression 3000231 3000284 - Identifier 3000231 3000236 - Identifier 3000237 3000242 - Identifier 3000243 3000283 - FunctionDeclaration 3000292 3000777 - Identifier 3000308 3000348 - Parameter 3000349 3000398 - Identifier 3000349 3000353 - UnionType 3000354 3000398 - TypeReference 3000354 3000382 - Identifier 3000354 3000382 - TypeReference 3000384 3000398 - Identifier 3000384 3000398 - Block 3000399 3000777 - IfStatement 3000401 3000701 - BinaryExpression 3000415 3000508 - BinaryExpression 3000415 3000486 - CallExpression 3000415 3000450 - Identifier 3000415 3000444 - Identifier 3000445 3000449 - AmpersandAmpersandToken 3000450 3000453 - CallExpression 3000453 3000486 - Identifier 3000453 3000469 - PropertyAccessExpression 3000470 3000485 - Identifier 3000470 3000474 - Identifier 3000475 3000485 - AmpersandAmpersandToken 3000486 3000489 - PropertyAccessExpression 3000489 3000508 - Identifier 3000489 3000494 - Identifier 3000495 3000508 - Block 3000509 3000701 - ReturnStatement 3000511 3000690 - CallExpression 3000531 3000689 - Identifier 3000531 3000550 - Identifier 3000551 3000555 - PropertyAccessExpression 3000556 3000688 - Identifier 3000556 3000568 - Identifier 3000569 3000688 - ReturnStatement 3000701 3000770 - CallExpression 3000717 3000769 - Identifier 3000717 3000743 - Identifier 3000744 3000748 - PropertyAccessExpression 3000749 3000768 - Identifier 3000749 3000754 - Identifier 3000755 3000768 - FunctionDeclaration 3000777 3002389 - Identifier 3000793 3000837 - Parameter 3000838 3000864 - Identifier 3000838 3000842 - TypeReference 3000843 3000864 - Identifier 3000843 3000864 - Block 3000865 3002389 - VariableStatement 3000867 3000907 - VariableDeclarationList 3000867 3000906 - VariableDeclaration 3000880 3000906 - Identifier 3000880 3000898 - FalseKeyword 3000900 3000906 - VariableStatement 3000907 3000950 - VariableDeclarationList 3000907 3000949 - VariableDeclaration 3000920 3000949 - Identifier 3000920 3000941 - FalseKeyword 3000943 3000949 - IfStatement 3000950 3002382 - BinaryExpression 3000966 3001018 - PrefixUnaryExpression 3000966 3000994 - CallExpression 3000967 3000994 - Identifier 3000967 3000988 - Identifier 3000989 3000993 - AmpersandAmpersandToken 3000994 3000997 - PropertyAccessExpression 3000997 3001018 - Identifier 3000997 3001002 - Identifier 3001003 3001018 - Block 3001019 3002382 - ForOfStatement 3001021 3002371 - VariableDeclarationList 3001040 3001060 - VariableDeclaration 3001045 3001060 - Identifier 3001045 3001060 - PropertyAccessExpression 3001063 3001084 - Identifier 3001063 3001068 - Identifier 3001069 3001084 - Block 3001085 3002371 - IfStatement 3001087 3002216 - BinaryExpression 3001109 3001159 - PropertyAccessExpression 3001109 3001129 - Identifier 3001109 3001123 - Identifier 3001124 3001129 - EqualsEqualsEqualsToken 3001129 3001133 - PropertyAccessExpression 3001133 3001159 - Identifier 3001133 3001144 - Identifier 3001145 3001159 - Block 3001160 3001841 - IfStatement 3001162 3001346 - Identifier 3001188 3001205 - Block 3001206 3001346 - ReturnStatement 3001208 3001323 - CallExpression 3001240 3001322 - Identifier 3001240 3001265 - Identifier 3001266 3001280 - PropertyAccessExpression 3001281 3001321 - Identifier 3001281 3001293 - Identifier 3001294 3001321 - IfStatement 3001346 3001553 - Identifier 3001374 3001394 - Block 3001395 3001553 - ReturnStatement 3001397 3001530 - CallExpression 3001429 3001529 - Identifier 3001429 3001454 - Identifier 3001455 3001469 - PropertyAccessExpression 3001470 3001528 - Identifier 3001470 3001482 - Identifier 3001483 3001528 - IfStatement 3001553 3001773 - BinaryExpression 3001581 3001612 - PropertyAccessExpression 3001581 3001608 - PropertyAccessExpression 3001581 3001601 - Identifier 3001581 3001595 - Identifier 3001596 3001601 - Identifier 3001602 3001608 - GreaterThanToken 3001608 3001610 - NumericLiteral 3001610 3001612 - Block 3001613 3001773 - ReturnStatement 3001615 3001750 - CallExpression 3001647 3001749 - Identifier 3001647 3001672 - ElementAccessExpression 3001673 3001696 - PropertyAccessExpression 3001673 3001693 - Identifier 3001673 3001687 - Identifier 3001688 3001693 - NumericLiteral 3001694 3001695 - PropertyAccessExpression 3001697 3001748 - Identifier 3001697 3001709 - Identifier 3001710 3001748 - ExpressionStatement 3001773 3001822 - BinaryExpression 3001773 3001821 - Identifier 3001773 3001814 - EqualsToken 3001814 3001816 - TrueKeyword 3001816 3001821 - Block 3001863 3002216 - ExpressionStatement 3001865 3001955 - CallExpression 3001865 3001954 - PropertyAccessExpression 3001865 3001899 - Identifier 3001865 3001892 - Identifier 3001893 3001899 - BinaryExpression 3001900 3001953 - PropertyAccessExpression 3001900 3001920 - Identifier 3001900 3001914 - Identifier 3001915 3001920 - EqualsEqualsEqualsToken 3001920 3001924 - PropertyAccessExpression 3001924 3001953 - Identifier 3001924 3001935 - Identifier 3001936 3001953 - IfStatement 3001955 3002145 - Identifier 3001981 3002001 - Block 3002002 3002145 - ReturnStatement 3002004 3002122 - CallExpression 3002036 3002121 - Identifier 3002036 3002061 - Identifier 3002062 3002076 - PropertyAccessExpression 3002077 3002120 - Identifier 3002077 3002089 - Identifier 3002090 3002120 - ExpressionStatement 3002145 3002197 - BinaryExpression 3002145 3002196 - Identifier 3002145 3002189 - EqualsToken 3002189 3002191 - TrueKeyword 3002191 3002196 - ExpressionStatement 3002216 3002356 - CallExpression 3002216 3002355 - Identifier 3002216 3002339 - Identifier 3002340 3002354 - FunctionDeclaration 3002389 3003404 - Identifier 3002405 3002438 - Parameter 3002439 3002465 - Identifier 3002439 3002443 - TypeReference 3002444 3002465 - Identifier 3002444 3002465 - Block 3002466 3003404 - VariableStatement 3002468 3002508 - VariableDeclarationList 3002468 3002507 - VariableDeclaration 3002481 3002507 - Identifier 3002481 3002499 - FalseKeyword 3002501 3002507 - IfStatement 3002508 3003374 - PropertyAccessExpression 3002524 3002544 - Identifier 3002524 3002528 - Identifier 3002529 3002544 - Block 3002545 3003374 - ForOfStatement 3002547 3003363 - VariableDeclarationList 3002566 3002586 - VariableDeclaration 3002571 3002586 - Identifier 3002571 3002586 - PropertyAccessExpression 3002589 3002610 - Identifier 3002589 3002594 - Identifier 3002595 3002610 - Block 3002611 3003363 - IfStatement 3002613 3003208 - BinaryExpression 3002635 3002685 - PropertyAccessExpression 3002635 3002655 - Identifier 3002635 3002649 - Identifier 3002650 3002655 - EqualsEqualsEqualsToken 3002655 3002659 - PropertyAccessExpression 3002659 3002685 - Identifier 3002659 3002670 - Identifier 3002671 3002685 - Block 3002686 3002940 - IfStatement 3002688 3002872 - Identifier 3002714 3002731 - Block 3002732 3002872 - ReturnStatement 3002734 3002849 - CallExpression 3002766 3002848 - Identifier 3002766 3002791 - Identifier 3002792 3002806 - PropertyAccessExpression 3002807 3002847 - Identifier 3002807 3002819 - Identifier 3002820 3002847 - ExpressionStatement 3002872 3002921 - BinaryExpression 3002872 3002920 - Identifier 3002872 3002913 - EqualsToken 3002913 3002915 - TrueKeyword 3002915 3002920 - Block 3002962 3003208 - ExpressionStatement 3002964 3003054 - CallExpression 3002964 3003053 - PropertyAccessExpression 3002964 3002998 - Identifier 3002964 3002991 - Identifier 3002992 3002998 - BinaryExpression 3002999 3003052 - PropertyAccessExpression 3002999 3003019 - Identifier 3002999 3003013 - Identifier 3003014 3003019 - EqualsEqualsEqualsToken 3003019 3003023 - PropertyAccessExpression 3003023 3003052 - Identifier 3003023 3003034 - Identifier 3003035 3003052 - ReturnStatement 3003054 3003189 - CallExpression 3003082 3003188 - Identifier 3003082 3003107 - Identifier 3003108 3003122 - PropertyAccessExpression 3003123 3003187 - Identifier 3003123 3003135 - Identifier 3003136 3003187 - ExpressionStatement 3003208 3003348 - CallExpression 3003208 3003347 - Identifier 3003208 3003331 - Identifier 3003332 3003346 - ReturnStatement 3003374 3003397 - FalseKeyword 3003390 3003396 - FunctionDeclaration 3003404 3004104 - Identifier 3003420 3003453 - Parameter 3003454 3003464 - Identifier 3003454 3003458 - TypeReference 3003459 3003464 - Identifier 3003459 3003464 - BooleanKeyword 3003466 3003474 - Block 3003474 3004104 - IfStatement 3003476 3003658 - BinaryExpression 3003572 3003617 - PropertyAccessExpression 3003572 3003581 - Identifier 3003572 3003576 - Identifier 3003577 3003581 - ExclamationEqualsEqualsToken 3003581 3003585 - PropertyAccessExpression 3003585 3003617 - Identifier 3003585 3003596 - Identifier 3003597 3003617 - Block 3003618 3003658 - ReturnStatement 3003620 3003647 - FalseKeyword 3003640 3003646 - VariableStatement 3003658 3003728 - VariableDeclarationList 3003658 3003727 - VariableDeclaration 3003675 3003727 - Identifier 3003675 3003696 - AsExpression 3003698 3003727 - Identifier 3003698 3003703 - TypeReference 3003706 3003727 - Identifier 3003706 3003727 - IfStatement 3003728 3004074 - BinaryExpression 3003742 3003912 - BinaryExpression 3003742 3003810 - PropertyAccessExpression 3003742 3003778 - PropertyAccessExpression 3003742 3003773 - Identifier 3003742 3003762 - Identifier 3003763 3003773 - Identifier 3003774 3003778 - EqualsEqualsEqualsToken 3003778 3003782 - PropertyAccessExpression 3003782 3003810 - Identifier 3003782 3003793 - Identifier 3003794 3003810 - AmpersandAmpersandToken 3003810 3003813 - BinaryExpression 3003813 3003912 - PropertyAccessExpression 3003813 3003886 - PropertyAccessExpression 3003813 3003881 - ParenthesizedExpression 3003813 3003867 - AsExpression 3003815 3003866 - PropertyAccessExpression 3003815 3003846 - Identifier 3003815 3003835 - Identifier 3003836 3003846 - TypeReference 3003849 3003866 - Identifier 3003849 3003866 - Identifier 3003868 3003881 - Identifier 3003882 3003886 - EqualsEqualsEqualsToken 3003886 3003890 - PropertyAccessExpression 3003890 3003912 - Identifier 3003890 3003901 - Identifier 3003902 3003912 - Block 3003913 3004074 - ReturnStatement 3003915 3004063 - CallExpression 3003935 3004062 - Identifier 3003935 3003954 - PropertyAccessExpression 3003955 3003986 - Identifier 3003955 3003975 - Identifier 3003976 3003986 - PropertyAccessExpression 3003987 3004061 - Identifier 3003987 3003999 - Identifier 3004000 3004061 - ReturnStatement 3004074 3004097 - FalseKeyword 3004090 3004096 - FunctionDeclaration 3004104 3004843 - Identifier 3004120 3004145 - Parameter 3004146 3004175 - Identifier 3004146 3004150 - TypeReference 3004151 3004175 - Identifier 3004151 3004175 - Block 3004176 3004843 - IfStatement 3004178 3004836 - PropertyAccessExpression 3004192 3004210 - Identifier 3004192 3004196 - Identifier 3004197 3004210 - Block 3004211 3004836 - ExpressionStatement 3004213 3004454 - CallExpression 3004213 3004453 - PropertyAccessExpression 3004213 3004239 - Identifier 3004213 3004232 - Identifier 3004233 3004239 - BinaryExpression 3004240 3004437 - BinaryExpression 3004240 3004370 - BinaryExpression 3004240 3004302 - PropertyAccessExpression 3004240 3004267 - Identifier 3004240 3004262 - Identifier 3004263 3004267 - EqualsEqualsEqualsToken 3004267 3004271 - PropertyAccessExpression 3004271 3004302 - Identifier 3004271 3004282 - Identifier 3004283 3004302 - BarBarToken 3004302 3004305 - BinaryExpression 3004305 3004370 - PropertyAccessExpression 3004305 3004336 - Identifier 3004305 3004331 - Identifier 3004332 3004336 - EqualsEqualsEqualsToken 3004336 3004340 - PropertyAccessExpression 3004340 3004370 - Identifier 3004340 3004351 - Identifier 3004352 3004370 - BarBarToken 3004370 3004373 - BinaryExpression 3004373 3004437 - PropertyAccessExpression 3004373 3004404 - Identifier 3004373 3004399 - Identifier 3004400 3004404 - EqualsEqualsEqualsToken 3004404 3004408 - PropertyAccessExpression 3004408 3004437 - Identifier 3004408 3004419 - Identifier 3004420 3004437 - IfStatement 3004454 3004646 - BinaryExpression 3004472 3004502 - PropertyAccessExpression 3004472 3004482 - Identifier 3004472 3004476 - Identifier 3004477 3004482 - AmpersandToken 3004482 3004484 - PropertyAccessExpression 3004484 3004502 - Identifier 3004484 3004494 - Identifier 3004495 3004502 - Block 3004503 3004646 - ReturnStatement 3004505 3004631 - CallExpression 3004529 3004630 - Identifier 3004529 3004548 - PropertyAccessExpression 3004549 3004567 - Identifier 3004549 3004553 - Identifier 3004554 3004567 - PropertyAccessExpression 3004568 3004629 - Identifier 3004568 3004580 - Identifier 3004581 3004629 - IfStatement 3004646 3004825 - PrefixUnaryExpression 3004664 3004674 - PropertyAccessExpression 3004665 3004674 - Identifier 3004665 3004669 - Identifier 3004670 3004674 - Block 3004675 3004825 - ReturnStatement 3004677 3004810 - CallExpression 3004701 3004809 - Identifier 3004701 3004720 - PropertyAccessExpression 3004721 3004739 - Identifier 3004721 3004725 - Identifier 3004726 3004739 - PropertyAccessExpression 3004740 3004808 - Identifier 3004740 3004752 - Identifier 3004753 3004808 - FunctionDeclaration 3004843 3005061 - Identifier 3004859 3004894 - Parameter 3004895 3004935 - Identifier 3004895 3004908 - UnionType 3004909 3004935 - TypeReference 3004909 3004923 - Identifier 3004909 3004923 - UndefinedKeyword 3004925 3004935 - Parameter 3004936 3004963 - Identifier 3004936 3004944 - TypeReference 3004945 3004963 - Identifier 3004945 3004963 - BooleanKeyword 3004965 3004973 - Block 3004973 3005061 - ReturnStatement 3004975 3005054 - BinaryExpression 3004991 3005053 - PrefixUnaryExpression 3004991 3005007 - PrefixUnaryExpression 3004993 3005007 - Identifier 3004994 3005007 - AmpersandAmpersandToken 3005007 3005010 - CallExpression 3005010 3005053 - Identifier 3005010 3005029 - Identifier 3005030 3005043 - Identifier 3005044 3005052 - FunctionDeclaration 3005061 3005295 - Identifier 3005077 3005116 - Parameter 3005117 3005163 - Identifier 3005117 3005133 - UnionType 3005134 3005163 - TypeReference 3005134 3005151 - Identifier 3005134 3005151 - UndefinedKeyword 3005153 3005163 - Parameter 3005164 3005191 - Identifier 3005164 3005172 - TypeReference 3005173 3005191 - Identifier 3005173 3005191 - BooleanKeyword 3005193 3005201 - Block 3005201 3005295 - ReturnStatement 3005203 3005288 - BinaryExpression 3005219 3005287 - PrefixUnaryExpression 3005219 3005238 - PrefixUnaryExpression 3005221 3005238 - Identifier 3005222 3005238 - AmpersandAmpersandToken 3005238 3005241 - CallExpression 3005241 3005287 - Identifier 3005241 3005260 - Identifier 3005261 3005277 - Identifier 3005278 3005286 - FunctionDeclaration 3005295 3012251 - Identifier 3005311 3005347 - Parameter 3005348 3005377 - Identifier 3005348 3005352 - TypeReference 3005353 3005377 - Identifier 3005353 3005377 - Parameter 3005378 3005403 - Identifier 3005378 3005394 - BooleanKeyword 3005395 3005403 - Block 3005404 3012251 - VariableStatement 3005406 3005469 - VariableDeclarationList 3005406 3005468 - VariableDeclaration 3005421 3005468 - Identifier 3005421 3005426 - NewExpression 3005428 3005468 - Identifier 3005432 3005436 - TypeReference 3005437 3005445 - Identifier 3005437 3005445 - TypeReference 3005446 3005465 - Identifier 3005446 3005465 - ForOfStatement 3005469 3012244 - VariableDeclarationList 3005486 3005496 - VariableDeclaration 3005491 3005496 - Identifier 3005491 3005496 - PropertyAccessExpression 3005499 3005515 - Identifier 3005499 3005504 - Identifier 3005505 3005515 - Block 3005516 3012244 - IfStatement 3005518 3006089 - BinaryExpression 3005536 3005577 - PropertyAccessExpression 3005536 3005545 - Identifier 3005536 3005540 - Identifier 3005541 3005545 - EqualsEqualsEqualsToken 3005545 3005549 - PropertyAccessExpression 3005549 3005577 - Identifier 3005549 3005560 - Identifier 3005561 3005577 - Block 3005578 3006089 - IfStatement 3005580 3006047 - Identifier 3005602 3005617 - Block 3005618 3006047 - VariableStatement 3005620 3005769 - VariableDeclarationList 3005620 3005768 - VariableDeclaration 3005722 3005768 - Identifier 3005722 3005733 - CallExpression 3005735 3005768 - Identifier 3005735 3005751 - PropertyAccessExpression 3005752 3005767 - Identifier 3005752 3005756 - Identifier 3005757 3005767 - IfStatement 3005769 3006028 - BinaryExpression 3005795 3005872 - CallExpression 3005795 3005831 - Identifier 3005795 3005819 - Identifier 3005820 3005830 - BarBarToken 3005831 3005834 - CallExpression 3005834 3005872 - Identifier 3005834 3005860 - Identifier 3005861 3005871 - Block 3005873 3006028 - ReturnStatement 3005875 3006005 - CallExpression 3005907 3006004 - Identifier 3005907 3005926 - PropertyAccessExpression 3005927 3005942 - Identifier 3005927 3005931 - Identifier 3005932 3005942 - PropertyAccessExpression 3005943 3006003 - Identifier 3005943 3005955 - Identifier 3005956 3006003 - ContinueStatement 3006047 3006074 - VariableStatement 3006089 3006126 - VariableDeclarationList 3006089 3006125 - VariableDeclaration 3006108 3006125 - Identifier 3006108 3006113 - PropertyAccessExpression 3006115 3006125 - Identifier 3006115 3006120 - Identifier 3006121 3006125 - IfStatement 3006126 3006361 - BinaryExpression 3006144 3006189 - PropertyAccessExpression 3006144 3006153 - Identifier 3006144 3006148 - Identifier 3006149 3006153 - EqualsEqualsEqualsToken 3006153 3006157 - PropertyAccessExpression 3006157 3006189 - Identifier 3006157 3006168 - Identifier 3006169 3006189 - Block 3006190 3006361 - ExpressionStatement 3006192 3006346 - CallExpression 3006192 3006345 - Identifier 3006192 3006339 - Identifier 3006340 3006344 - IfStatement 3006361 3006871 - BinaryExpression 3006381 3006489 - BinaryExpression 3006381 3006453 - BinaryExpression 3006381 3006433 - PropertyAccessExpression 3006381 3006390 - Identifier 3006381 3006385 - Identifier 3006386 3006390 - EqualsEqualsEqualsToken 3006390 3006394 - PropertyAccessExpression 3006394 3006433 - Identifier 3006394 3006405 - Identifier 3006406 3006433 - AmpersandAmpersandToken 3006433 3006436 - PrefixUnaryExpression 3006436 3006453 - Identifier 3006438 3006453 - AmpersandAmpersandToken 3006453 3006456 - PropertyAccessExpression 3006456 3006489 - Identifier 3006456 3006461 - Identifier 3006462 3006489 - Block 3006490 3006871 - ExpressionStatement 3006492 3006856 - CallExpression 3006492 3006855 - Identifier 3006492 3006690 - NonNullExpression 3006691 3006708 - PropertyAccessExpression 3006691 3006707 - Identifier 3006691 3006695 - Identifier 3006696 3006707 - PropertyAccessExpression 3006709 3006854 - Identifier 3006709 3006721 - Identifier 3006722 3006854 - IfStatement 3006871 3007064 - BinaryExpression 3006891 3006933 - PropertyAccessExpression 3006891 3006900 - Identifier 3006891 3006895 - Identifier 3006896 3006900 - EqualsEqualsEqualsToken 3006900 3006904 - PropertyAccessExpression 3006904 3006933 - Identifier 3006904 3006915 - Identifier 3006916 3006933 - Block 3006934 3007064 - ExpressionStatement 3006936 3007049 - CallExpression 3006936 3007048 - Identifier 3006936 3006972 - Identifier 3006973 3006977 - PropertyAccessExpression 3006978 3007047 - Identifier 3006978 3006990 - Identifier 3006991 3007047 - IfStatement 3007064 3007927 - BinaryExpression 3007185 3007225 - CallExpression 3007185 3007207 - Identifier 3007185 3007201 - Identifier 3007202 3007206 - AmpersandAmpersandToken 3007207 3007210 - PropertyAccessExpression 3007210 3007225 - Identifier 3007210 3007215 - Identifier 3007216 3007225 - Block 3007226 3007585 - ForOfStatement 3007228 3007570 - VariableDeclarationList 3007251 3007260 - VariableDeclaration 3007256 3007260 - Identifier 3007256 3007260 - PropertyAccessExpression 3007263 3007278 - Identifier 3007263 3007268 - Identifier 3007269 3007278 - Block 3007279 3007570 - IfStatement 3007281 3007551 - BinaryExpression 3007307 3007410 - CallExpression 3007307 3007322 - Identifier 3007307 3007317 - Identifier 3007318 3007321 - AmpersandAmpersandToken 3007322 3007325 - ParenthesizedExpression 3007325 3007410 - BinaryExpression 3007327 3007409 - BinaryExpression 3007327 3007363 - PropertyAccessExpression 3007327 3007335 - Identifier 3007327 3007330 - Identifier 3007331 3007335 - ExclamationEqualsEqualsToken 3007335 3007339 - PropertyAccessExpression 3007339 3007363 - Identifier 3007339 3007350 - Identifier 3007351 3007363 - BarBarToken 3007363 3007366 - BinaryExpression 3007366 3007409 - PropertyAccessExpression 3007366 3007376 - Identifier 3007366 3007371 - Identifier 3007372 3007376 - ExclamationEqualsEqualsToken 3007376 3007380 - PropertyAccessExpression 3007380 3007409 - Identifier 3007380 3007391 - Identifier 3007392 3007409 - Block 3007411 3007551 - ExpressionStatement 3007413 3007528 - CallExpression 3007413 3007527 - Identifier 3007413 3007457 - Identifier 3007458 3007461 - PropertyAccessExpression 3007462 3007506 - Identifier 3007462 3007474 - Identifier 3007475 3007506 - CallExpression 3007507 3007526 - Identifier 3007507 3007521 - Identifier 3007522 3007525 - IfStatement 3007603 3007927 - BinaryExpression 3007608 3007655 - CallExpression 3007608 3007637 - Identifier 3007608 3007631 - Identifier 3007632 3007636 - AmpersandAmpersandToken 3007637 3007640 - PropertyAccessExpression 3007640 3007655 - Identifier 3007640 3007645 - Identifier 3007646 3007655 - Block 3007656 3007927 - ForOfStatement 3007658 3007912 - VariableDeclarationList 3007681 3007690 - VariableDeclaration 3007686 3007690 - Identifier 3007686 3007690 - PropertyAccessExpression 3007693 3007708 - Identifier 3007693 3007698 - Identifier 3007699 3007708 - Block 3007709 3007912 - IfStatement 3007711 3007893 - CallExpression 3007737 3007752 - Identifier 3007737 3007747 - Identifier 3007748 3007751 - Block 3007753 3007893 - ExpressionStatement 3007755 3007870 - CallExpression 3007755 3007869 - Identifier 3007755 3007799 - Identifier 3007800 3007803 - PropertyAccessExpression 3007804 3007848 - Identifier 3007804 3007816 - Identifier 3007817 3007848 - CallExpression 3007849 3007868 - Identifier 3007849 3007863 - Identifier 3007864 3007867 - VariableStatement 3007927 3008790 - VariableDeclarationList 3007927 3008789 - VariableDeclaration 3008757 3008789 - Identifier 3008757 3008769 - TypeReference 3008770 3008789 - Identifier 3008770 3008789 - SwitchStatement 3008790 3010396 - PropertyAccessExpression 3008812 3008821 - Identifier 3008812 3008816 - Identifier 3008817 3008821 - CaseBlock 3008822 3010396 - CaseClause 3008824 3008886 - PropertyAccessExpression 3008846 3008885 - Identifier 3008846 3008857 - Identifier 3008858 3008885 - CaseClause 3008886 3009836 - PropertyAccessExpression 3008908 3008938 - Identifier 3008908 3008919 - Identifier 3008920 3008938 - ExpressionStatement 3008939 3009199 - CallExpression 3008939 3009198 - Identifier 3008939 3009097 - PropertyAccessExpression 3009098 3009119 - Identifier 3009098 3009102 - Identifier 3009103 3009119 - PropertyAccessExpression 3009120 3009197 - Identifier 3009120 3009132 - Identifier 3009133 3009197 - ExpressionStatement 3009199 3009334 - CallExpression 3009199 3009333 - Identifier 3009199 3009255 - PropertyAccessExpression 3009256 3009274 - Identifier 3009256 3009260 - Identifier 3009261 3009274 - PropertyAccessExpression 3009275 3009332 - Identifier 3009275 3009287 - Identifier 3009288 3009332 - IfStatement 3009334 3009484 - BinaryExpression 3009360 3009399 - PropertyAccessExpression 3009360 3009369 - Identifier 3009360 3009364 - Identifier 3009365 3009369 - EqualsEqualsEqualsToken 3009369 3009373 - PropertyAccessExpression 3009373 3009399 - Identifier 3009373 3009384 - Identifier 3009385 3009399 - Block 3009400 3009484 - ExpressionStatement 3009402 3009461 - CallExpression 3009402 3009460 - Identifier 3009402 3009454 - Identifier 3009455 3009459 - IfStatement 3009484 3009734 - BinaryExpression 3009510 3009548 - PropertyAccessExpression 3009510 3009519 - Identifier 3009510 3009514 - Identifier 3009515 3009519 - EqualsEqualsEqualsToken 3009519 3009523 - PropertyAccessExpression 3009523 3009548 - Identifier 3009523 3009534 - Identifier 3009535 3009548 - Block 3009549 3009734 - ExpressionStatement 3009551 3009711 - CallExpression 3009551 3009710 - Identifier 3009551 3009597 - TrueKeyword 3009598 3009614 - CallExpression 3009615 3009709 - Identifier 3009615 3009639 - Identifier 3009640 3009644 - PropertyAccessExpression 3009645 3009708 - Identifier 3009645 3009657 - Identifier 3009658 3009708 - ExpressionStatement 3009734 3009808 - BinaryExpression 3009734 3009807 - Identifier 3009734 3009767 - EqualsToken 3009767 3009769 - PropertyAccessExpression 3009769 3009807 - Identifier 3009769 3009788 - Identifier 3009789 3009807 - BreakStatement 3009808 3009836 - CaseClause 3009836 3009978 - PropertyAccessExpression 3009858 3009887 - Identifier 3009858 3009869 - Identifier 3009870 3009887 - ExpressionStatement 3009888 3009950 - BinaryExpression 3009888 3009949 - Identifier 3009888 3009921 - EqualsToken 3009921 3009923 - PropertyAccessExpression 3009923 3009949 - Identifier 3009923 3009942 - Identifier 3009943 3009949 - BreakStatement 3009950 3009978 - CaseClause 3009978 3010119 - PropertyAccessExpression 3010000 3010023 - Identifier 3010000 3010011 - Identifier 3010012 3010023 - ExpressionStatement 3010024 3010091 - BinaryExpression 3010024 3010090 - Identifier 3010024 3010057 - EqualsToken 3010057 3010059 - PropertyAccessExpression 3010059 3010090 - Identifier 3010059 3010078 - Identifier 3010079 3010090 - BreakStatement 3010091 3010119 - CaseClause 3010119 3010260 - PropertyAccessExpression 3010141 3010164 - Identifier 3010141 3010152 - Identifier 3010153 3010164 - ExpressionStatement 3010165 3010232 - BinaryExpression 3010165 3010231 - Identifier 3010165 3010198 - EqualsToken 3010198 3010200 - PropertyAccessExpression 3010200 3010231 - Identifier 3010200 3010219 - Identifier 3010220 3010231 - BreakStatement 3010232 3010260 - DefaultClause 3010260 3010381 - ExpressionStatement 3010286 3010381 - CallExpression 3010286 3010380 - PropertyAccessExpression 3010286 3010325 - Identifier 3010286 3010313 - Identifier 3010314 3010325 - Identifier 3010326 3010330 - BinaryExpression 3010331 3010379 - StringLiteral 3010331 3010357 - PlusToken 3010357 3010359 - PropertyAccessExpression 3010359 3010379 - ParenthesizedExpression 3010359 3010374 - AsExpression 3010361 3010373 - Identifier 3010361 3010365 - TypeReference 3010368 3010373 - Identifier 3010368 3010373 - Identifier 3010375 3010379 - IfStatement 3010396 3012233 - PrefixUnaryExpression 3010416 3010432 - Identifier 3010417 3010432 - Block 3010433 3012233 - VariableStatement 3010435 3010525 - VariableDeclarationList 3010435 3010524 - VariableDeclaration 3010458 3010524 - Identifier 3010458 3010472 - CallExpression 3010474 3010524 - Identifier 3010474 3010518 - Identifier 3010519 3010523 - IfStatement 3010525 3010627 - BinaryExpression 3010547 3010574 - Identifier 3010547 3010560 - EqualsEqualsEqualsToken 3010560 3010564 - Identifier 3010564 3010574 - Block 3010575 3010627 - ContinueStatement 3010577 3010608 - VariableStatement 3010627 3010692 - VariableDeclarationList 3010627 3010691 - VariableDeclaration 3010652 3010691 - Identifier 3010652 3010665 - CallExpression 3010667 3010691 - PropertyAccessExpression 3010667 3010676 - Identifier 3010667 3010672 - Identifier 3010673 3010676 - Identifier 3010677 3010690 - IfStatement 3010692 3012218 - PrefixUnaryExpression 3010714 3010727 - Identifier 3010715 3010727 - Block 3010728 3010808 - ExpressionStatement 3010730 3010789 - CallExpression 3010730 3010788 - PropertyAccessExpression 3010730 3010760 - Identifier 3010730 3010756 - Identifier 3010757 3010760 - Identifier 3010761 3010774 - Identifier 3010775 3010787 - Block 3010830 3012218 - IfStatement 3010832 3012199 - BinaryExpression 3010858 3010945 - ParenthesizedExpression 3010858 3010899 - BinaryExpression 3010859 3010898 - Identifier 3010859 3010870 - AmpersandToken 3010870 3010872 - PropertyAccessExpression 3010872 3010898 - Identifier 3010872 3010891 - Identifier 3010892 3010898 - AmpersandAmpersandToken 3010899 3010902 - ParenthesizedExpression 3010902 3010945 - BinaryExpression 3010904 3010944 - Identifier 3010904 3010916 - AmpersandToken 3010916 3010918 - PropertyAccessExpression 3010918 3010944 - Identifier 3010918 3010937 - Identifier 3010938 3010944 - Block 3010946 3011079 - ExpressionStatement 3010948 3011056 - CallExpression 3010948 3011055 - Identifier 3010948 3010992 - Identifier 3010993 3010997 - PropertyAccessExpression 3010998 3011033 - Identifier 3010998 3011010 - Identifier 3011011 3011033 - CallExpression 3011034 3011054 - Identifier 3011034 3011048 - Identifier 3011049 3011053 - IfStatement 3011105 3012199 - BinaryExpression 3011110 3011221 - ParenthesizedExpression 3011110 3011163 - BinaryExpression 3011111 3011162 - Identifier 3011111 3011122 - AmpersandToken 3011122 3011124 - PropertyAccessExpression 3011124 3011162 - Identifier 3011124 3011143 - Identifier 3011144 3011162 - AmpersandAmpersandToken 3011163 3011166 - ParenthesizedExpression 3011166 3011221 - BinaryExpression 3011168 3011220 - Identifier 3011168 3011180 - AmpersandToken 3011180 3011182 - PropertyAccessExpression 3011182 3011220 - Identifier 3011182 3011201 - Identifier 3011202 3011220 - Block 3011222 3011401 - ExpressionStatement 3011224 3011378 - CallExpression 3011224 3011377 - Identifier 3011224 3011268 - Identifier 3011269 3011273 - PropertyAccessExpression 3011274 3011355 - Identifier 3011274 3011286 - Identifier 3011287 3011355 - CallExpression 3011356 3011376 - Identifier 3011356 3011370 - Identifier 3011371 3011375 - IfStatement 3011427 3012199 - BinaryExpression 3011432 3011539 - ParenthesizedExpression 3011432 3011483 - BinaryExpression 3011433 3011482 - Identifier 3011433 3011444 - AmpersandToken 3011444 3011446 - PropertyAccessExpression 3011446 3011482 - Identifier 3011446 3011465 - Identifier 3011466 3011482 - AmpersandAmpersandToken 3011483 3011486 - ParenthesizedExpression 3011486 3011539 - BinaryExpression 3011488 3011538 - Identifier 3011488 3011500 - AmpersandToken 3011500 3011502 - PropertyAccessExpression 3011502 3011538 - Identifier 3011502 3011521 - Identifier 3011522 3011538 - Block 3011540 3012006 - IfStatement 3011542 3011983 - BinaryExpression 3011572 3011656 - BinaryExpression 3011572 3011624 - Identifier 3011572 3011584 - ExclamationEqualsEqualsToken 3011584 3011588 - PropertyAccessExpression 3011588 3011624 - Identifier 3011588 3011607 - Identifier 3011608 3011624 - AmpersandAmpersandToken 3011624 3011627 - BinaryExpression 3011627 3011656 - Identifier 3011627 3011639 - ExclamationEqualsEqualsToken 3011639 3011643 - Identifier 3011643 3011656 - Block 3011657 3011768 - ExpressionStatement 3011659 3011741 - CallExpression 3011659 3011740 - PropertyAccessExpression 3011659 3011697 - Identifier 3011659 3011693 - Identifier 3011694 3011697 - Identifier 3011698 3011711 - BinaryExpression 3011712 3011739 - Identifier 3011712 3011724 - BarToken 3011724 3011726 - Identifier 3011726 3011739 - Block 3011798 3011983 - ReturnStatement 3011800 3011956 - CallExpression 3011836 3011955 - Identifier 3011836 3011855 - Identifier 3011856 3011860 - PropertyAccessExpression 3011861 3011954 - Identifier 3011861 3011873 - Identifier 3011874 3011954 - Block 3012032 3012199 - ReturnStatement 3012034 3012176 - CallExpression 3012066 3012175 - Identifier 3012066 3012085 - Identifier 3012086 3012090 - PropertyAccessExpression 3012091 3012174 - Identifier 3012091 3012103 - Identifier 3012104 3012174 - FunctionDeclaration 3012251 3013308 - Identifier 3012267 3012290 - Parameter 3012291 3012318 - Identifier 3012291 3012295 - TypeReference 3012296 3012318 - Identifier 3012296 3012318 - Block 3012319 3013308 - ExpressionStatement 3012321 3012365 - CallExpression 3012321 3012364 - Identifier 3012321 3012350 - PropertyAccessExpression 3012351 3012363 - Identifier 3012351 3012355 - Identifier 3012356 3012363 - ExpressionStatement 3012365 3012427 - CallExpression 3012365 3012426 - Identifier 3012365 3012400 - Identifier 3012401 3012405 - PropertyAccessExpression 3012406 3012425 - Identifier 3012406 3012411 - Identifier 3012412 3012425 - VariableStatement 3012427 3012479 - VariableDeclarationList 3012427 3012478 - VariableDeclaration 3012442 3012478 - Identifier 3012442 3012447 - NewExpression 3012449 3012478 - Identifier 3012453 3012457 - TypeReference 3012458 3012466 - Identifier 3012458 3012466 - BooleanKeyword 3012467 3012475 - ForOfStatement 3012479 3013301 - VariableDeclarationList 3012496 3012506 - VariableDeclaration 3012501 3012506 - Identifier 3012501 3012506 - PropertyAccessExpression 3012509 3012536 - PropertyAccessExpression 3012509 3012525 - Identifier 3012509 3012514 - Identifier 3012515 3012525 - Identifier 3012526 3012536 - Block 3012537 3013301 - IfStatement 3012539 3012645 - BinaryExpression 3012557 3012600 - PropertyAccessExpression 3012557 3012566 - Identifier 3012557 3012561 - Identifier 3012562 3012566 - EqualsEqualsEqualsToken 3012566 3012570 - PropertyAccessExpression 3012570 3012600 - Identifier 3012570 3012581 - Identifier 3012582 3012600 - Block 3012601 3012645 - ContinueStatement 3012603 3012630 - VariableStatement 3012645 3012696 - VariableDeclarationList 3012645 3012695 - VariableDeclaration 3012666 3012695 - ObjectBindingPattern 3012666 3012688 - BindingElement 3012668 3012673 - Identifier 3012668 3012673 - BindingElement 3012674 3012686 - Identifier 3012674 3012686 - Identifier 3012690 3012695 - VariableStatement 3012696 3012769 - VariableDeclarationList 3012696 3012768 - VariableDeclaration 3012715 3012768 - Identifier 3012715 3012727 - CallExpression 3012729 3012768 - Identifier 3012729 3012762 - Identifier 3012763 3012767 - IfStatement 3012769 3013035 - PrefixUnaryExpression 3012787 3012809 - CallExpression 3012788 3012809 - PropertyAccessExpression 3012788 3012796 - Identifier 3012788 3012792 - Identifier 3012793 3012796 - Identifier 3012797 3012808 - Block 3012810 3012873 - ExpressionStatement 3012812 3012858 - CallExpression 3012812 3012857 - PropertyAccessExpression 3012812 3012838 - Identifier 3012812 3012834 - Identifier 3012835 3012838 - Identifier 3012839 3012850 - TrueKeyword 3012851 3012856 - Block 3012891 3013035 - ReturnStatement 3012893 3013020 - CallExpression 3012917 3013019 - Identifier 3012917 3012936 - Identifier 3012937 3012941 - PropertyAccessExpression 3012942 3013018 - Identifier 3012942 3012954 - Identifier 3012955 3013018 - IfStatement 3013035 3013290 - BinaryExpression 3013055 3013142 - BinaryExpression 3013055 3013115 - Identifier 3013055 3013066 - AmpersandAmpersandToken 3013066 3013069 - BinaryExpression 3013069 3013115 - PropertyAccessExpression 3013069 3013086 - Identifier 3013069 3013081 - Identifier 3013082 3013086 - EqualsEqualsEqualsToken 3013086 3013090 - PropertyAccessExpression 3013090 3013115 - Identifier 3013090 3013101 - Identifier 3013102 3013115 - AmpersandAmpersandToken 3013115 3013118 - PrefixUnaryExpression 3013118 3013142 - PropertyAccessExpression 3013120 3013142 - Identifier 3013120 3013131 - Identifier 3013132 3013142 - Block 3013143 3013290 - ReturnStatement 3013145 3013275 - CallExpression 3013169 3013274 - Identifier 3013169 3013188 - Identifier 3013189 3013200 - PropertyAccessExpression 3013201 3013273 - Identifier 3013201 3013213 - Identifier 3013214 3013273 - FunctionDeclaration 3013308 3013876 - Identifier 3013324 3013344 - Parameter 3013345 3013371 - Identifier 3013345 3013349 - TypeReference 3013350 3013371 - Identifier 3013350 3013371 - Block 3013372 3013876 - IfStatement 3013374 3013611 - BinaryExpression 3013388 3013460 - CallExpression 3013388 3013420 - Identifier 3013388 3013414 - Identifier 3013415 3013419 - AmpersandAmpersandToken 3013420 3013423 - CallExpression 3013423 3013460 - Identifier 3013423 3013443 - PropertyAccessExpression 3013444 3013459 - Identifier 3013444 3013448 - Identifier 3013449 3013459 - Block 3013461 3013611 - ReturnStatement 3013463 3013600 - CallExpression 3013483 3013599 - Identifier 3013483 3013502 - PropertyAccessExpression 3013503 3013518 - Identifier 3013503 3013507 - Identifier 3013508 3013518 - PropertyAccessExpression 3013519 3013598 - Identifier 3013519 3013531 - Identifier 3013532 3013598 - IfStatement 3013611 3013869 - BinaryExpression 3013625 3013744 - BinaryExpression 3013625 3013693 - CallExpression 3013625 3013650 - Identifier 3013625 3013644 - Identifier 3013645 3013649 - AmpersandAmpersandToken 3013650 3013653 - CallExpression 3013653 3013693 - Identifier 3013653 3013676 - Identifier 3013677 3013692 - AmpersandAmpersandToken 3013693 3013696 - PrefixUnaryExpression 3013696 3013744 - CallExpression 3013698 3013744 - Identifier 3013698 3013716 - PropertyAccessExpression 3013717 3013743 - PropertyAccessExpression 3013717 3013731 - Identifier 3013717 3013721 - Identifier 3013722 3013731 - Identifier 3013732 3013743 - Block 3013745 3013869 - ReturnStatement 3013747 3013858 - CallExpression 3013767 3013857 - Identifier 3013767 3013786 - Identifier 3013787 3013791 - PropertyAccessExpression 3013792 3013856 - Identifier 3013792 3013804 - Identifier 3013805 3013856 - FunctionDeclaration 3013876 3014175 - Identifier 3013892 3013918 - Parameter 3013919 3013938 - Identifier 3013919 3013923 - TypeReference 3013924 3013938 - Identifier 3013924 3013938 - Block 3013939 3014175 - IfStatement 3013941 3014168 - BinaryExpression 3013955 3014006 - PropertyAccessExpression 3013955 3013970 - Identifier 3013955 3013959 - Identifier 3013960 3013970 - AmpersandAmpersandToken 3013970 3013973 - CallExpression 3013973 3014006 - Identifier 3013973 3013989 - PropertyAccessExpression 3013990 3014005 - Identifier 3013990 3013994 - Identifier 3013995 3014005 - Block 3014007 3014168 - ReturnStatement 3014009 3014157 - CallExpression 3014029 3014156 - Identifier 3014029 3014048 - PropertyAccessExpression 3014049 3014064 - Identifier 3014049 3014053 - Identifier 3014054 3014064 - PropertyAccessExpression 3014065 3014155 - Identifier 3014065 3014077 - Identifier 3014078 3014155 - FunctionDeclaration 3014175 3020841 - Identifier 3014191 3014225 - Parameter 3014226 3014264 - Identifier 3014226 3014244 - TypeReference 3014245 3014264 - Identifier 3014245 3014264 - BooleanKeyword 3014266 3014274 - Block 3014274 3020841 - IfStatement 3014276 3014387 - CallExpression 3014290 3014347 - Identifier 3014290 3014327 - Identifier 3014328 3014346 - Block 3014348 3014387 - ReturnStatement 3014350 3014376 - TrueKeyword 3014370 3014375 - IfStatement 3014387 3017907 - BinaryExpression 3014403 3014492 - BinaryExpression 3014403 3014456 - PropertyAccessExpression 3014403 3014426 - Identifier 3014403 3014421 - Identifier 3014422 3014426 - EqualsEqualsEqualsToken 3014426 3014430 - PropertyAccessExpression 3014430 3014456 - Identifier 3014430 3014441 - Identifier 3014442 3014456 - AmpersandAmpersandToken 3014456 3014459 - PropertyAccessExpression 3014459 3014492 - Identifier 3014459 3014478 - Identifier 3014479 3014492 - Block 3014493 3017907 - IfStatement 3014495 3017896 - PrefixUnaryExpression 3014513 3014565 - ParenthesizedExpression 3014514 3014565 - BinaryExpression 3014515 3014564 - PropertyAccessExpression 3014515 3014539 - Identifier 3014515 3014533 - Identifier 3014534 3014539 - AmpersandToken 3014539 3014541 - PropertyAccessExpression 3014541 3014564 - Identifier 3014541 3014551 - Identifier 3014552 3014564 - Block 3014566 3017896 - VariableStatement 3014568 3014645 - VariableDeclarationList 3014568 3014644 - VariableDeclaration 3014591 3014644 - Identifier 3014591 3014602 - CallExpression 3014604 3014644 - Identifier 3014604 3014624 - Identifier 3014625 3014643 - IfStatement 3014645 3017881 - CallExpression 3014667 3014706 - Identifier 3014667 3014686 - Identifier 3014687 3014705 - Block 3014707 3016843 - IfStatement 3014709 3016824 - PrefixUnaryExpression 3014735 3014767 - CallExpression 3014736 3014767 - Identifier 3014736 3014755 - Identifier 3014756 3014766 - Block 3014768 3016824 - IfStatement 3014770 3015189 - PrefixUnaryExpression 3014800 3014855 - CallExpression 3014801 3014855 - Identifier 3014801 3014826 - Identifier 3014827 3014837 - Identifier 3014838 3014854 - Block 3014856 3015189 - ExpressionStatement 3014858 3015162 - CallExpression 3014858 3015161 - PropertyAccessExpression 3014858 3014903 - Identifier 3014858 3014899 - Identifier 3014900 3014903 - CallExpression 3014904 3015160 - Identifier 3014904 3014927 - PropertyAccessExpression 3014928 3014960 - Identifier 3014928 3014946 - Identifier 3014947 3014960 - PropertyAccessExpression 3014961 3015159 - Identifier 3014961 3014973 - Identifier 3014974 3015159 - SwitchStatement 3015189 3016801 - Identifier 3015223 3015233 - CaseBlock 3015234 3016801 - CaseClause 3015236 3015289 - PropertyAccessExpression 3015270 3015288 - Identifier 3015270 3015281 - Identifier 3015282 3015288 - CaseClause 3015289 3015342 - PropertyAccessExpression 3015323 3015341 - Identifier 3015323 3015334 - Identifier 3015335 3015341 - CaseClause 3015342 3015852 - PropertyAccessExpression 3015376 3015396 - Identifier 3015376 3015387 - Identifier 3015388 3015396 - IfStatement 3015397 3015852 - BinaryExpression 3015435 3015487 - PropertyAccessExpression 3015435 3015463 - Identifier 3015435 3015445 - Identifier 3015446 3015463 - EqualsEqualsEqualsToken 3015463 3015467 - PropertyAccessExpression 3015467 3015487 - Identifier 3015467 3015478 - Identifier 3015479 3015487 - Block 3015488 3015852 - ExpressionStatement 3015490 3015773 - CallExpression 3015490 3015772 - PropertyAccessExpression 3015490 3015543 - Identifier 3015490 3015539 - Identifier 3015540 3015543 - CallExpression 3015544 3015732 - Identifier 3015544 3015609 - PropertyAccessExpression 3015610 3015642 - Identifier 3015610 3015628 - Identifier 3015629 3015642 - PropertyAccessExpression 3015643 3015731 - Identifier 3015643 3015655 - Identifier 3015656 3015731 - BreakStatement 3015773 3015817 - CaseClause 3015852 3015953 - PropertyAccessExpression 3015934 3015952 - Identifier 3015934 3015945 - Identifier 3015946 3015952 - CaseClause 3015953 3016006 - PropertyAccessExpression 3015987 3016005 - Identifier 3015987 3015998 - Identifier 3015999 3016005 - CaseClause 3016006 3016061 - PropertyAccessExpression 3016040 3016060 - Identifier 3016040 3016051 - Identifier 3016052 3016060 - CaseClause 3016061 3016272 - PropertyAccessExpression 3016095 3016113 - Identifier 3016095 3016106 - Identifier 3016107 3016113 - IfStatement 3016114 3016272 - BinaryExpression 3016152 3016190 - Identifier 3016152 3016167 - GreaterThanEqualsToken 3016167 3016170 - PropertyAccessExpression 3016170 3016190 - Identifier 3016170 3016183 - Identifier 3016184 3016190 - Block 3016191 3016272 - BreakStatement 3016193 3016237 - DefaultClause 3016272 3016774 - ExpressionStatement 3016358 3016734 - CallExpression 3016358 3016733 - PropertyAccessExpression 3016358 3016407 - Identifier 3016358 3016403 - Identifier 3016404 3016407 - CallExpression 3016408 3016697 - Identifier 3016408 3016469 - PropertyAccessExpression 3016470 3016502 - Identifier 3016470 3016488 - Identifier 3016489 3016502 - PropertyAccessExpression 3016503 3016696 - Identifier 3016503 3016515 - Identifier 3016516 3016696 - BreakStatement 3016734 3016774 - Block 3016865 3017881 - IfStatement 3016867 3017862 - PrefixUnaryExpression 3016961 3016993 - CallExpression 3016962 3016993 - Identifier 3016962 3016981 - Identifier 3016982 3016992 - Block 3016994 3017862 - VariableStatement 3016996 3017201 - VariableDeclarationList 3016996 3017200 - VariableDeclaration 3017027 3017200 - Identifier 3017027 3017038 - CallExpression 3017040 3017200 - Identifier 3017040 3017064 - PropertyAccessExpression 3017065 3017097 - Identifier 3017065 3017083 - Identifier 3017084 3017097 - PropertyAccessExpression 3017098 3017199 - Identifier 3017098 3017110 - Identifier 3017111 3017199 - VariableStatement 3017201 3017282 - VariableDeclarationList 3017201 3017281 - VariableDeclaration 3017232 3017281 - Identifier 3017232 3017237 - CallExpression 3017239 3017281 - Identifier 3017239 3017261 - Identifier 3017262 3017280 - IfStatement 3017282 3017747 - BinaryExpression 3017312 3017356 - Identifier 3017312 3017316 - AmpersandAmpersandToken 3017316 3017319 - BinaryExpression 3017319 3017356 - PropertyAccessExpression 3017319 3017329 - Identifier 3017319 3017324 - Identifier 3017325 3017329 - ExclamationEqualsEqualsToken 3017329 3017333 - PropertyAccessExpression 3017333 3017356 - Identifier 3017333 3017344 - Identifier 3017345 3017356 - Block 3017357 3017747 - ExpressionStatement 3017359 3017513 - CallExpression 3017359 3017512 - PropertyAccessExpression 3017359 3017401 - Identifier 3017359 3017394 - Identifier 3017395 3017401 - BinaryExpression 3017402 3017454 - ParenthesizedExpression 3017402 3017448 - BinaryExpression 3017403 3017447 - CallExpression 3017403 3017425 - Identifier 3017403 3017419 - Identifier 3017420 3017424 - AmpersandToken 3017425 3017427 - PropertyAccessExpression 3017427 3017447 - Identifier 3017427 3017441 - Identifier 3017442 3017447 - EqualsEqualsEqualsToken 3017448 3017452 - NumericLiteral 3017452 3017454 - StringLiteral 3017455 3017511 - VariableStatement 3017513 3017650 - VariableDeclarationList 3017513 3017649 - VariableDeclaration 3017548 3017649 - Identifier 3017548 3017560 - CallExpression 3017562 3017649 - Identifier 3017562 3017586 - Identifier 3017587 3017591 - PropertyAccessExpression 3017592 3017648 - Identifier 3017592 3017604 - Identifier 3017605 3017648 - ExpressionStatement 3017650 3017720 - CallExpression 3017650 3017719 - Identifier 3017650 3017694 - Identifier 3017695 3017705 - Identifier 3017706 3017718 - ExpressionStatement 3017747 3017801 - CallExpression 3017747 3017800 - PropertyAccessExpression 3017747 3017788 - Identifier 3017747 3017784 - Identifier 3017785 3017788 - Identifier 3017789 3017799 - ReturnStatement 3017801 3017839 - TrueKeyword 3017833 3017838 - IfStatement 3017907 3018335 - BinaryExpression 3017923 3018148 - BinaryExpression 3017923 3018090 - BinaryExpression 3017923 3018029 - CallExpression 3017923 3017973 - Identifier 3017923 3017953 - Identifier 3017954 3017972 - AmpersandAmpersandToken 3017973 3017976 - PrefixUnaryExpression 3017976 3018029 - ParenthesizedExpression 3017978 3018029 - BinaryExpression 3017979 3018028 - PropertyAccessExpression 3017979 3018003 - Identifier 3017979 3017997 - Identifier 3017998 3018003 - AmpersandToken 3018003 3018005 - PropertyAccessExpression 3018005 3018028 - Identifier 3018005 3018015 - Identifier 3018016 3018028 - AmpersandAmpersandToken 3018029 3018032 - CallExpression 3018032 3018090 - Identifier 3018032 3018058 - PropertyAccessExpression 3018059 3018089 - Identifier 3018059 3018077 - Identifier 3018078 3018089 - AmpersandAmpersandToken 3018090 3018093 - BinaryExpression 3018093 3018148 - PropertyAccessExpression 3018093 3018136 - PropertyAccessExpression 3018093 3018124 - Identifier 3018093 3018112 - Identifier 3018113 3018124 - Identifier 3018125 3018136 - EqualsEqualsEqualsToken 3018136 3018140 - StringLiteral 3018140 3018148 - Block 3018159 3018335 - ExpressionStatement 3018161 3018297 - CallExpression 3018161 3018296 - Identifier 3018161 3018193 - PropertyAccessExpression 3018194 3018224 - Identifier 3018194 3018212 - Identifier 3018213 3018224 - PropertyAccessExpression 3018225 3018295 - Identifier 3018225 3018237 - Identifier 3018238 3018295 - ReturnStatement 3018297 3018324 - FalseKeyword 3018317 3018323 - IfStatement 3018335 3020809 - BinaryExpression 3018351 3018425 - PropertyAccessExpression 3018351 3018386 - PropertyAccessExpression 3018351 3018381 - Identifier 3018351 3018369 - Identifier 3018370 3018381 - Identifier 3018382 3018386 - EqualsEqualsEqualsToken 3018386 3018390 - PropertyAccessExpression 3018390 3018425 - Identifier 3018390 3018401 - Identifier 3018402 3018425 - Block 3018426 3020809 - VariableStatement 3018428 3018521 - VariableDeclarationList 3018428 3018520 - VariableDeclaration 3018447 3018520 - Identifier 3018447 3018460 - AsExpression 3018462 3018520 - PropertyAccessExpression 3018462 3018493 - Identifier 3018462 3018481 - Identifier 3018482 3018493 - TypeReference 3018496 3018520 - Identifier 3018496 3018520 - IfStatement 3018521 3020798 - PrefixUnaryExpression 3018539 3018589 - CallExpression 3018540 3018589 - Identifier 3018540 3018575 - Identifier 3018576 3018588 - Block 3018590 3020798 - VariableStatement 3018592 3018657 - VariableDeclarationList 3018592 3018656 - VariableDeclaration 3018615 3018656 - Identifier 3018615 3018628 - PropertyAccessExpression 3018630 3018656 - Identifier 3018630 3018643 - Identifier 3018644 3018656 - IfStatement 3018657 3019316 - PrefixUnaryExpression 3019239 3019259 - PropertyAccessExpression 3019240 3019259 - Identifier 3019240 3019252 - Identifier 3019253 3019259 - Block 3019260 3019316 - ReturnStatement 3019262 3019297 - FalseKeyword 3019290 3019296 - IfStatement 3019316 3019790 - BinaryExpression 3019340 3019363 - PropertyAccessExpression 3019340 3019359 - Identifier 3019340 3019352 - Identifier 3019353 3019359 - GreaterThanToken 3019359 3019361 - NumericLiteral 3019361 3019363 - Block 3019364 3019790 - VariableStatement 3019366 3019675 - VariableDeclarationList 3019366 3019674 - VariableDeclaration 3019393 3019674 - Identifier 3019393 3019404 - ConditionalExpression 3019406 3019674 - BinaryExpression 3019406 3019460 - PropertyAccessExpression 3019406 3019430 - Identifier 3019406 3019425 - Identifier 3019426 3019430 - EqualsEqualsEqualsToken 3019430 3019434 - PropertyAccessExpression 3019434 3019460 - Identifier 3019434 3019445 - Identifier 3019446 3019460 - QuestionToken 3019460 3019487 - PropertyAccessExpression 3019487 3019567 - Identifier 3019487 3019499 - Identifier 3019500 3019567 - ColonToken 3019567 3019594 - PropertyAccessExpression 3019594 3019674 - Identifier 3019594 3019606 - Identifier 3019607 3019674 - ReturnStatement 3019675 3019771 - CallExpression 3019703 3019770 - Identifier 3019703 3019728 - ElementAccessExpression 3019729 3019757 - PropertyAccessExpression 3019729 3019754 - Identifier 3019729 3019741 - Identifier 3019742 3019754 - NumericLiteral 3019755 3019756 - Identifier 3019758 3019769 - VariableStatement 3019790 3019849 - VariableDeclarationList 3019790 3019848 - VariableDeclaration 3019813 3019848 - Identifier 3019813 3019830 - ElementAccessExpression 3019832 3019848 - Identifier 3019832 3019845 - NumericLiteral 3019846 3019847 - IfStatement 3019849 3020327 - PropertyAccessExpression 3019873 3019901 - Identifier 3019873 3019889 - Identifier 3019890 3019901 - Block 3019902 3020327 - VariableStatement 3019904 3020225 - VariableDeclarationList 3019904 3020224 - VariableDeclaration 3019931 3020224 - Identifier 3019931 3019942 - ConditionalExpression 3019944 3020224 - BinaryExpression 3019944 3019998 - PropertyAccessExpression 3019944 3019968 - Identifier 3019944 3019963 - Identifier 3019964 3019968 - EqualsEqualsEqualsToken 3019968 3019972 - PropertyAccessExpression 3019972 3019998 - Identifier 3019972 3019983 - Identifier 3019984 3019998 - QuestionToken 3019998 3020025 - PropertyAccessExpression 3020025 3020111 - Identifier 3020025 3020037 - Identifier 3020038 3020111 - ColonToken 3020111 3020138 - PropertyAccessExpression 3020138 3020224 - Identifier 3020138 3020150 - Identifier 3020151 3020224 - ReturnStatement 3020225 3020308 - CallExpression 3020253 3020307 - Identifier 3020253 3020272 - PropertyAccessExpression 3020273 3020294 - Identifier 3020273 3020289 - Identifier 3020290 3020294 - Identifier 3020295 3020306 - IfStatement 3020327 3020783 - PropertyAccessExpression 3020349 3020370 - Identifier 3020349 3020365 - Identifier 3020366 3020370 - Block 3020371 3020783 - VariableStatement 3020373 3020686 - VariableDeclarationList 3020373 3020685 - VariableDeclaration 3020400 3020685 - Identifier 3020400 3020411 - ConditionalExpression 3020413 3020685 - BinaryExpression 3020413 3020467 - PropertyAccessExpression 3020413 3020437 - Identifier 3020413 3020432 - Identifier 3020433 3020437 - EqualsEqualsEqualsToken 3020437 3020441 - PropertyAccessExpression 3020441 3020467 - Identifier 3020441 3020452 - Identifier 3020453 3020467 - QuestionToken 3020467 3020494 - PropertyAccessExpression 3020494 3020576 - Identifier 3020494 3020506 - Identifier 3020507 3020576 - ColonToken 3020576 3020603 - PropertyAccessExpression 3020603 3020685 - Identifier 3020603 3020615 - Identifier 3020616 3020685 - ReturnStatement 3020686 3020764 - CallExpression 3020714 3020763 - Identifier 3020714 3020733 - Identifier 3020734 3020750 - Identifier 3020751 3020762 - ReturnStatement 3020809 3020834 - FalseKeyword 3020827 3020833 - FunctionDeclaration 3020841 3023633 - Identifier 3020857 3020878 - Parameter 3020879 3020908 - Identifier 3020879 3020887 - TypeReference 3020888 3020908 - Identifier 3020888 3020908 - BooleanKeyword 3020910 3020918 - Block 3020918 3023633 - IfStatement 3020920 3021599 - BinaryExpression 3020934 3021086 - BinaryExpression 3020934 3021024 - PrefixUnaryExpression 3020934 3020971 - ParenthesizedExpression 3020935 3020971 - BinaryExpression 3020936 3020970 - PropertyAccessExpression 3020936 3020950 - Identifier 3020936 3020944 - Identifier 3020945 3020950 - AmpersandToken 3020950 3020952 - PropertyAccessExpression 3020952 3020970 - Identifier 3020952 3020962 - Identifier 3020963 3020970 - AmpersandAmpersandToken 3020971 3020974 - ParenthesizedExpression 3020974 3021024 - BinaryExpression 3020976 3021023 - PropertyAccessExpression 3020976 3020996 - PropertyAccessExpression 3020976 3020991 - Identifier 3020976 3020984 - Identifier 3020985 3020991 - Identifier 3020992 3020996 - ExclamationEqualsEqualsToken 3020996 3021000 - PropertyAccessExpression 3021000 3021023 - Identifier 3021000 3021011 - Identifier 3021012 3021023 - AmpersandAmpersandToken 3021024 3021027 - ParenthesizedExpression 3021027 3021086 - BinaryExpression 3021029 3021085 - PropertyAccessExpression 3021029 3021049 - PropertyAccessExpression 3021029 3021044 - Identifier 3021029 3021037 - Identifier 3021038 3021044 - Identifier 3021045 3021049 - ExclamationEqualsEqualsToken 3021049 3021053 - PropertyAccessExpression 3021053 3021085 - Identifier 3021053 3021064 - Identifier 3021065 3021085 - Block 3021087 3021599 - IfStatement 3021089 3021353 - BinaryExpression 3021107 3021182 - BinaryExpression 3021107 3021144 - Identifier 3021107 3021122 - LessThanToken 3021122 3021124 - PropertyAccessExpression 3021124 3021144 - Identifier 3021124 3021137 - Identifier 3021138 3021144 - AmpersandAmpersandToken 3021144 3021147 - CallExpression 3021147 3021182 - Identifier 3021147 3021167 - PropertyAccessExpression 3021168 3021181 - Identifier 3021168 3021176 - Identifier 3021177 3021181 - Block 3021183 3021353 - ReturnStatement 3021185 3021338 - CallExpression 3021209 3021337 - Identifier 3021209 3021228 - PropertyAccessExpression 3021229 3021242 - Identifier 3021229 3021237 - Identifier 3021238 3021242 - PropertyAccessExpression 3021243 3021336 - Identifier 3021243 3021255 - Identifier 3021256 3021336 - IfStatement 3021353 3021588 - BinaryExpression 3021371 3021457 - BinaryExpression 3021371 3021398 - PropertyAccessExpression 3021371 3021384 - Identifier 3021371 3021379 - Identifier 3021380 3021384 - EqualsEqualsEqualsToken 3021384 3021388 - Identifier 3021388 3021398 - AmpersandAmpersandToken 3021398 3021401 - PrefixUnaryExpression 3021401 3021457 - CallExpression 3021403 3021457 - Identifier 3021403 3021423 - Identifier 3021424 3021432 - PropertyAccessExpression 3021433 3021456 - Identifier 3021433 3021447 - Identifier 3021448 3021456 - Block 3021458 3021588 - ReturnStatement 3021460 3021573 - CallExpression 3021484 3021572 - Identifier 3021484 3021502 - Identifier 3021503 3021511 - BinaryExpression 3021512 3021529 - PropertyAccessExpression 3021512 3021525 - Identifier 3021512 3021521 - Identifier 3021522 3021525 - MinusToken 3021525 3021527 - NumericLiteral 3021527 3021529 - PropertyAccessExpression 3021530 3021541 - StringLiteral 3021530 3021534 - Identifier 3021535 3021541 - PropertyAccessExpression 3021542 3021566 - Identifier 3021542 3021554 - Identifier 3021555 3021566 - StringLiteral 3021567 3021571 - IfStatement 3021599 3022120 - PropertyAccessExpression 3021613 3021626 - Identifier 3021613 3021621 - Identifier 3021622 3021626 - Block 3021627 3022120 - IfStatement 3021629 3021837 - CallExpression 3021647 3021701 - Identifier 3021647 3021667 - Identifier 3021668 3021676 - PropertyAccessExpression 3021677 3021700 - Identifier 3021677 3021691 - Identifier 3021692 3021700 - Block 3021702 3021837 - ReturnStatement 3021704 3021822 - CallExpression 3021728 3021821 - Identifier 3021728 3021747 - Identifier 3021748 3021756 - PropertyAccessExpression 3021757 3021820 - Identifier 3021757 3021769 - Identifier 3021770 3021820 - IfStatement 3021837 3022109 - BinaryExpression 3021855 3021962 - BinaryExpression 3021855 3021902 - PropertyAccessExpression 3021855 3021875 - PropertyAccessExpression 3021855 3021870 - Identifier 3021855 3021863 - Identifier 3021864 3021870 - Identifier 3021871 3021875 - EqualsEqualsEqualsToken 3021875 3021879 - PropertyAccessExpression 3021879 3021902 - Identifier 3021879 3021890 - Identifier 3021891 3021902 - BarBarToken 3021902 3021905 - BinaryExpression 3021905 3021962 - PropertyAccessExpression 3021905 3021926 - PropertyAccessExpression 3021905 3021921 - Identifier 3021905 3021914 - Identifier 3021915 3021921 - Identifier 3021922 3021926 - EqualsEqualsEqualsToken 3021926 3021930 - PropertyAccessExpression 3021930 3021962 - Identifier 3021930 3021941 - Identifier 3021942 3021962 - Block 3021963 3022109 - ReturnStatement 3021965 3022094 - CallExpression 3021989 3022093 - Identifier 3021989 3022008 - PropertyAccessExpression 3022009 3022022 - Identifier 3022009 3022017 - Identifier 3022018 3022022 - PropertyAccessExpression 3022023 3022092 - Identifier 3022023 3022035 - Identifier 3022036 3022092 - IfStatement 3022120 3022279 - PropertyAccessExpression 3022134 3022157 - Identifier 3022134 3022142 - Identifier 3022143 3022157 - Block 3022158 3022279 - ReturnStatement 3022160 3022268 - CallExpression 3022180 3022267 - Identifier 3022180 3022199 - PropertyAccessExpression 3022200 3022213 - Identifier 3022200 3022208 - Identifier 3022209 3022213 - PropertyAccessExpression 3022214 3022266 - Identifier 3022214 3022226 - Identifier 3022227 3022266 - IfStatement 3022279 3022657 - PrefixUnaryExpression 3022293 3022341 - CallExpression 3022294 3022341 - Identifier 3022294 3022331 - Identifier 3022332 3022340 - Block 3022342 3022657 - ReturnStatement 3022344 3022646 - CallExpression 3022364 3022645 - Identifier 3022364 3022383 - PropertyAccessExpression 3022384 3022415 - Identifier 3022384 3022410 - Identifier 3022411 3022415 - ConditionalExpression 3022416 3022629 - BinaryExpression 3022416 3022474 - PropertyAccessExpression 3022416 3022447 - Identifier 3022416 3022442 - Identifier 3022443 3022447 - EqualsEqualsEqualsToken 3022447 3022451 - PropertyAccessExpression 3022451 3022474 - Identifier 3022451 3022462 - Identifier 3022463 3022474 - QuestionToken 3022474 3022476 - PropertyAccessExpression 3022476 3022547 - Identifier 3022476 3022509 - Identifier 3022510 3022547 - ColonToken 3022547 3022549 - PropertyAccessExpression 3022549 3022629 - Identifier 3022549 3022582 - Identifier 3022583 3022629 - IfStatement 3022657 3023603 - BinaryExpression 3022671 3022711 - PropertyAccessExpression 3022671 3022684 - Identifier 3022671 3022679 - Identifier 3022680 3022684 - EqualsEqualsEqualsToken 3022684 3022688 - PropertyAccessExpression 3022688 3022711 - Identifier 3022688 3022699 - Identifier 3022700 3022711 - Block 3022712 3023603 - IfStatement 3022714 3022887 - PropertyAccessExpression 3022732 3022745 - Identifier 3022732 3022740 - Identifier 3022741 3022745 - Block 3022746 3022887 - ReturnStatement 3022748 3022872 - CallExpression 3022772 3022871 - Identifier 3022772 3022791 - PropertyAccessExpression 3022792 3022805 - Identifier 3022792 3022800 - Identifier 3022801 3022805 - PropertyAccessExpression 3022806 3022870 - Identifier 3022806 3022818 - Identifier 3022819 3022870 - VariableStatement 3022887 3023036 - VariableDeclarationList 3022887 3023035 - VariableDeclaration 3022906 3023035 - Identifier 3022906 3022916 - CallExpression 3022918 3023035 - PropertyAccessExpression 3022918 3022937 - Identifier 3022918 3022924 - Identifier 3022925 3022937 - CallExpression 3022938 3022976 - Identifier 3022938 3022966 - Identifier 3022967 3022975 - StringLiteral 3022977 3023034 - IfStatement 3023036 3023221 - PropertyAccessExpression 3023054 3023078 - Identifier 3023054 3023063 - Identifier 3023064 3023078 - Block 3023079 3023221 - ReturnStatement 3023081 3023206 - CallExpression 3023105 3023205 - Identifier 3023105 3023124 - PropertyAccessExpression 3023125 3023149 - Identifier 3023125 3023134 - Identifier 3023135 3023149 - PropertyAccessExpression 3023150 3023204 - Identifier 3023150 3023162 - Identifier 3023163 3023204 - IfStatement 3023221 3023411 - PropertyAccessExpression 3023239 3023262 - Identifier 3023239 3023248 - Identifier 3023249 3023262 - Block 3023263 3023411 - ReturnStatement 3023265 3023396 - CallExpression 3023289 3023395 - Identifier 3023289 3023308 - PropertyAccessExpression 3023309 3023332 - Identifier 3023309 3023318 - Identifier 3023319 3023332 - PropertyAccessExpression 3023333 3023394 - Identifier 3023333 3023345 - Identifier 3023346 3023394 - IfStatement 3023411 3023592 - PropertyAccessExpression 3023429 3023450 - Identifier 3023429 3023438 - Identifier 3023439 3023450 - Block 3023451 3023592 - ReturnStatement 3023453 3023577 - CallExpression 3023477 3023576 - Identifier 3023477 3023496 - PropertyAccessExpression 3023497 3023510 - Identifier 3023497 3023505 - Identifier 3023506 3023510 - PropertyAccessExpression 3023511 3023575 - Identifier 3023511 3023523 - Identifier 3023524 3023575 - ReturnStatement 3023603 3023626 - FalseKeyword 3023619 3023625 - FunctionDeclaration 3023633 3024095 - Identifier 3023880 3023918 - Parameter 3023919 3023948 - Identifier 3023919 3023927 - TypeReference 3023928 3023948 - Identifier 3023928 3023948 - Block 3023949 3024095 - ReturnStatement 3023951 3024088 - BinaryExpression 3023967 3024087 - CallExpression 3023967 3024002 - Identifier 3023967 3023992 - Identifier 3023993 3024001 - BarBarToken 3024002 3024005 - BinaryExpression 3024005 3024087 - PropertyAccessExpression 3024005 3024032 - PropertyAccessExpression 3024005 3024025 - Identifier 3024005 3024014 - Identifier 3024015 3024025 - Identifier 3024026 3024032 - EqualsEqualsEqualsToken 3024032 3024036 - ParenthesizedExpression 3024036 3024087 - ConditionalExpression 3024038 3024086 - BinaryExpression 3024038 3024078 - PropertyAccessExpression 3024038 3024051 - Identifier 3024038 3024046 - Identifier 3024047 3024051 - EqualsEqualsEqualsToken 3024051 3024055 - PropertyAccessExpression 3024055 3024078 - Identifier 3024055 3024066 - Identifier 3024067 3024078 - QuestionToken 3024078 3024080 - NumericLiteral 3024080 3024082 - ColonToken 3024082 3024084 - NumericLiteral 3024084 3024086 - FunctionDeclaration 3024095 3024367 - Identifier 3024111 3024136 - Parameter 3024137 3024166 - Identifier 3024137 3024145 - TypeReference 3024146 3024166 - Identifier 3024146 3024166 - UnionType 3024168 3024201 - TypeReference 3024168 3024189 - Identifier 3024168 3024189 - UndefinedKeyword 3024191 3024201 - Block 3024201 3024367 - IfStatement 3024203 3024360 - BinaryExpression 3024217 3024298 - PropertyAccessExpression 3024217 3024243 - PropertyAccessExpression 3024217 3024236 - Identifier 3024217 3024225 - Identifier 3024226 3024236 - Identifier 3024237 3024243 - EqualsEqualsEqualsToken 3024243 3024247 - ParenthesizedExpression 3024247 3024298 - ConditionalExpression 3024249 3024297 - BinaryExpression 3024249 3024289 - PropertyAccessExpression 3024249 3024262 - Identifier 3024249 3024257 - Identifier 3024258 3024262 - EqualsEqualsEqualsToken 3024262 3024266 - PropertyAccessExpression 3024266 3024289 - Identifier 3024266 3024277 - Identifier 3024278 3024289 - QuestionToken 3024289 3024291 - NumericLiteral 3024291 3024293 - ColonToken 3024293 3024295 - NumericLiteral 3024295 3024297 - Block 3024299 3024360 - ReturnStatement 3024301 3024349 - CallExpression 3024321 3024348 - Identifier 3024321 3024338 - Identifier 3024339 3024347 - FunctionDeclaration 3024367 3027347 - Identifier 3024383 3024412 - Parameter 3024413 3024435 - Identifier 3024413 3024417 - TypeReference 3024418 3024435 - Identifier 3024418 3024435 - Block 3024436 3027347 - IfStatement 3024438 3027340 - BinaryExpression 3024452 3024494 - PropertyAccessExpression 3024452 3024465 - Identifier 3024452 3024456 - Identifier 3024457 3024465 - EqualsEqualsEqualsToken 3024465 3024469 - PropertyAccessExpression 3024469 3024494 - Identifier 3024469 3024480 - Identifier 3024481 3024494 - Block 3024495 3026961 - IfStatement 3024497 3024697 - BinaryExpression 3024515 3024558 - PropertyAccessExpression 3024515 3024529 - PropertyAccessExpression 3024515 3024524 - Identifier 3024515 3024519 - Identifier 3024520 3024524 - Identifier 3024525 3024529 - ExclamationEqualsEqualsToken 3024529 3024533 - PropertyAccessExpression 3024533 3024558 - Identifier 3024533 3024544 - Identifier 3024545 3024558 - Block 3024559 3024697 - ReturnStatement 3024561 3024682 - CallExpression 3024585 3024681 - Identifier 3024585 3024604 - PropertyAccessExpression 3024605 3024614 - Identifier 3024605 3024609 - Identifier 3024610 3024614 - PropertyAccessExpression 3024615 3024639 - Identifier 3024615 3024627 - Identifier 3024628 3024639 - CallExpression 3024640 3024680 - Identifier 3024640 3024654 - PropertyAccessExpression 3024655 3024679 - Identifier 3024655 3024665 - Identifier 3024666 3024679 - VariableStatement 3024697 3024762 - VariableDeclarationList 3024697 3024761 - VariableDeclaration 3024714 3024761 - Identifier 3024714 3024721 - CallExpression 3024723 3024761 - Identifier 3024723 3024748 - PropertyAccessExpression 3024749 3024760 - Identifier 3024749 3024753 - Identifier 3024754 3024760 - IfStatement 3024762 3025031 - BinaryExpression 3024780 3024831 - CallExpression 3024780 3024798 - Identifier 3024780 3024790 - Identifier 3024791 3024797 - AmpersandAmpersandToken 3024798 3024801 - CallExpression 3024801 3024831 - Identifier 3024801 3024823 - Identifier 3024824 3024830 - Block 3024832 3025031 - VariableStatement 3024834 3024886 - VariableDeclarationList 3024834 3024885 - VariableDeclaration 3024857 3024885 - Identifier 3024857 3024862 - CallExpression 3024864 3024885 - Identifier 3024864 3024877 - Identifier 3024878 3024884 - IfStatement 3024886 3025016 - Identifier 3024908 3024912 - Block 3024913 3025016 - ExpressionStatement 3024915 3024997 - BinaryExpression 3024915 3024996 - Identifier 3024915 3024943 - EqualsToken 3024943 3024945 - BinaryExpression 3024945 3024996 - CallExpression 3024945 3024988 - Identifier 3024945 3024982 - Identifier 3024983 3024987 - BarBarToken 3024988 3024991 - Identifier 3024991 3024996 - SwitchStatement 3025031 3026950 - PropertyAccessExpression 3025053 3025064 - Identifier 3025053 3025059 - Identifier 3025060 3025064 - CaseBlock 3025065 3026950 - CaseClause 3025067 3025956 - PropertyAccessExpression 3025089 3025120 - Identifier 3025089 3025100 - Identifier 3025101 3025120 - VariableStatement 3025121 3025186 - VariableDeclarationList 3025121 3025185 - VariableDeclaration 3025148 3025185 - Identifier 3025148 3025153 - AsExpression 3025155 3025185 - Identifier 3025155 3025162 - TypeReference 3025165 3025185 - Identifier 3025165 3025185 - IfStatement 3025186 3025431 - BinaryExpression 3025212 3025252 - PropertyAccessExpression 3025212 3025226 - PropertyAccessExpression 3025212 3025221 - Identifier 3025212 3025216 - Identifier 3025217 3025221 - Identifier 3025222 3025226 - ExclamationEqualsEqualsToken 3025226 3025230 - PropertyAccessExpression 3025230 3025252 - Identifier 3025230 3025241 - Identifier 3025242 3025252 - Block 3025253 3025431 - ReturnStatement 3025255 3025408 - CallExpression 3025287 3025407 - Identifier 3025287 3025306 - Identifier 3025307 3025311 - PropertyAccessExpression 3025312 3025406 - Identifier 3025312 3025324 - Identifier 3025325 3025406 - IfStatement 3025431 3025675 - PrefixUnaryExpression 3025457 3025504 - CallExpression 3025458 3025504 - Identifier 3025458 3025498 - Identifier 3025499 3025503 - Block 3025505 3025675 - ReturnStatement 3025507 3025652 - CallExpression 3025539 3025651 - Identifier 3025539 3025558 - Identifier 3025559 3025563 - PropertyAccessExpression 3025564 3025650 - Identifier 3025564 3025576 - Identifier 3025577 3025650 - IfStatement 3025675 3025928 - PrefixUnaryExpression 3025701 3025739 - ParenthesizedExpression 3025702 3025739 - BinaryExpression 3025703 3025738 - PropertyAccessExpression 3025703 3025720 - PropertyAccessExpression 3025703 3025714 - Identifier 3025703 3025707 - Identifier 3025708 3025714 - Identifier 3025715 3025720 - AmpersandToken 3025720 3025722 - PropertyAccessExpression 3025722 3025738 - Identifier 3025722 3025732 - Identifier 3025733 3025738 - Block 3025740 3025928 - ReturnStatement 3025742 3025905 - CallExpression 3025774 3025904 - Identifier 3025774 3025793 - PropertyAccessExpression 3025794 3025830 - ParenthesizedExpression 3025794 3025825 - AsExpression 3025795 3025824 - Identifier 3025795 3025801 - TypeReference 3025804 3025824 - Identifier 3025804 3025824 - Identifier 3025826 3025830 - PropertyAccessExpression 3025831 3025903 - Identifier 3025831 3025843 - Identifier 3025844 3025903 - BreakStatement 3025928 3025956 - CaseClause 3025956 3026416 - PropertyAccessExpression 3025980 3026011 - Identifier 3025980 3025991 - Identifier 3025992 3026011 - IfStatement 3026012 3026388 - BinaryExpression 3026038 3026147 - PrefixUnaryExpression 3026038 3026081 - CallExpression 3026065 3026081 - Identifier 3026065 3026073 - Identifier 3026074 3026080 - BarBarToken 3026081 3026084 - PrefixUnaryExpression 3026084 3026147 - CallExpression 3026111 3026147 - Identifier 3026111 3026139 - Identifier 3026140 3026146 - Block 3026170 3026388 - ReturnStatement 3026172 3026365 - CallExpression 3026204 3026364 - Identifier 3026204 3026223 - PropertyAccessExpression 3026224 3026260 - ParenthesizedExpression 3026224 3026255 - AsExpression 3026225 3026254 - Identifier 3026225 3026231 - TypeReference 3026234 3026254 - Identifier 3026234 3026254 - Identifier 3026256 3026260 - PropertyAccessExpression 3026261 3026363 - Identifier 3026261 3026273 - Identifier 3026274 3026363 - BreakStatement 3026388 3026416 - CaseClause 3026416 3026799 - PropertyAccessExpression 3026440 3026469 - Identifier 3026440 3026451 - Identifier 3026452 3026469 - IfStatement 3026470 3026771 - PrefixUnaryExpression 3026496 3026549 - CallExpression 3026497 3026549 - Identifier 3026497 3026517 - Identifier 3026518 3026524 - PropertyAccessExpression 3026525 3026548 - Identifier 3026525 3026539 - Identifier 3026540 3026548 - Block 3026550 3026771 - ReturnStatement 3026552 3026748 - CallExpression 3026584 3026747 - Identifier 3026584 3026603 - PropertyAccessExpression 3026604 3026638 - ParenthesizedExpression 3026604 3026633 - AsExpression 3026605 3026632 - Identifier 3026605 3026611 - TypeReference 3026614 3026632 - Identifier 3026614 3026632 - Identifier 3026634 3026638 - PropertyAccessExpression 3026639 3026746 - Identifier 3026639 3026651 - Identifier 3026652 3026746 - BreakStatement 3026771 3026799 - DefaultClause 3026799 3026935 - ReturnStatement 3026827 3026935 - CallExpression 3026855 3026934 - Identifier 3026855 3026874 - Identifier 3026875 3026879 - PropertyAccessExpression 3026880 3026933 - Identifier 3026880 3026892 - Identifier 3026893 3026933 - IfStatement 3026975 3027340 - BinaryExpression 3026980 3027024 - PropertyAccessExpression 3026980 3026993 - Identifier 3026980 3026984 - Identifier 3026985 3026993 - EqualsEqualsEqualsToken 3026993 3026997 - PropertyAccessExpression 3026997 3027024 - Identifier 3026997 3027008 - Identifier 3027009 3027024 - Block 3027025 3027340 - IfStatement 3027027 3027329 - BinaryExpression 3027045 3027127 - BinaryExpression 3027045 3027084 - PropertyAccessExpression 3027045 3027059 - PropertyAccessExpression 3027045 3027054 - Identifier 3027045 3027049 - Identifier 3027050 3027054 - Identifier 3027055 3027059 - ExclamationEqualsEqualsToken 3027059 3027063 - PropertyAccessExpression 3027063 3027084 - Identifier 3027063 3027074 - Identifier 3027075 3027084 - AmpersandAmpersandToken 3027084 3027087 - BinaryExpression 3027087 3027127 - PropertyAccessExpression 3027087 3027102 - PropertyAccessExpression 3027087 3027097 - Identifier 3027087 3027092 - Identifier 3027093 3027097 - Identifier 3027098 3027102 - ExclamationEqualsEqualsToken 3027102 3027106 - PropertyAccessExpression 3027106 3027127 - Identifier 3027106 3027117 - Identifier 3027118 3027127 - Block 3027128 3027329 - ReturnStatement 3027130 3027314 - CallExpression 3027154 3027313 - Identifier 3027154 3027179 - Identifier 3027180 3027184 - PropertyAccessExpression 3027185 3027271 - Identifier 3027185 3027197 - Identifier 3027198 3027271 - CallExpression 3027272 3027312 - Identifier 3027272 3027286 - PropertyAccessExpression 3027287 3027311 - Identifier 3027287 3027297 - Identifier 3027298 3027311 - FunctionDeclaration 3027347 3027865 - Identifier 3027363 3027397 - Parameter 3027398 3027419 - Identifier 3027398 3027402 - TypeReference 3027403 3027419 - Identifier 3027403 3027419 - Parameter 3027420 3027447 - Identifier 3027420 3027428 - TypeReference 3027429 3027447 - Identifier 3027429 3027447 - Block 3027448 3027865 - IfStatement 3027450 3027858 - BinaryExpression 3027612 3027789 - CallExpression 3027612 3027642 - Identifier 3027612 3027636 - Identifier 3027637 3027641 - AmpersandAmpersandToken 3027642 3027645 - PrefixUnaryExpression 3027645 3027789 - CallExpression 3027647 3027789 - Identifier 3027647 3027669 - ConditionalExpression 3027670 3027788 - CallExpression 3027670 3027701 - Identifier 3027670 3027695 - Identifier 3027696 3027700 - QuestionToken 3027701 3027703 - CallExpression 3027703 3027744 - Identifier 3027703 3027719 - PropertyAccessExpression 3027720 3027743 - Identifier 3027720 3027724 - Identifier 3027725 3027743 - ColonToken 3027744 3027746 - PropertyAccessExpression 3027746 3027788 - ParenthesizedExpression 3027746 3027777 - AsExpression 3027748 3027776 - Identifier 3027748 3027752 - TypeReference 3027755 3027776 - Identifier 3027755 3027776 - Identifier 3027778 3027788 - Block 3027790 3027858 - ReturnStatement 3027792 3027847 - CallExpression 3027812 3027846 - Identifier 3027812 3027831 - Identifier 3027832 3027836 - Identifier 3027837 3027845 - FunctionDeclaration 3027865 3031120 - Identifier 3027881 3027900 - Parameter 3027901 3027942 - Identifier 3027901 3027905 - UnionType 3027906 3027942 - TypeReference 3027906 3027924 - Identifier 3027906 3027924 - TypeReference 3027926 3027942 - Identifier 3027926 3027942 - Block 3027943 3031120 - IfStatement 3027945 3028040 - CallExpression 3027959 3028000 - Identifier 3027959 3027994 - Identifier 3027995 3027999 - Block 3028001 3028040 - ReturnStatement 3028003 3028029 - TrueKeyword 3028023 3028028 - IfStatement 3028040 3029268 - BinaryExpression 3028056 3028098 - PropertyAccessExpression 3028056 3028065 - Identifier 3028056 3028060 - Identifier 3028061 3028065 - EqualsEqualsEqualsToken 3028065 3028069 - PropertyAccessExpression 3028069 3028098 - Identifier 3028069 3028080 - Identifier 3028081 3028098 - Block 3028099 3029268 - IfStatement 3028101 3029161 - BinaryExpression 3028119 3028174 - PropertyAccessExpression 3028119 3028135 - PropertyAccessExpression 3028119 3028130 - Identifier 3028119 3028123 - Identifier 3028124 3028130 - Identifier 3028131 3028135 - EqualsEqualsEqualsToken 3028135 3028139 - PropertyAccessExpression 3028139 3028174 - Identifier 3028139 3028150 - Identifier 3028151 3028174 - Block 3028175 3029161 - IfStatement 3028177 3029146 - BinaryExpression 3028318 3028424 - PropertyAccessExpression 3028318 3028332 - Identifier 3028318 3028322 - Identifier 3028323 3028332 - AmpersandAmpersandToken 3028332 3028335 - PrefixUnaryExpression 3028335 3028424 - ParenthesizedExpression 3028337 3028424 - BinaryExpression 3028338 3028423 - BinaryExpression 3028338 3028365 - PropertyAccessExpression 3028338 3028359 - PropertyAccessExpression 3028338 3028352 - Identifier 3028338 3028342 - Identifier 3028343 3028352 - Identifier 3028353 3028359 - EqualsEqualsEqualsToken 3028359 3028363 - NumericLiteral 3028363 3028365 - AmpersandAmpersandToken 3028365 3028368 - BinaryExpression 3028368 3028423 - PropertyAccessExpression 3028368 3028395 - CallExpression 3028368 3028390 - Identifier 3028368 3028374 - PropertyAccessExpression 3028375 3028389 - Identifier 3028375 3028379 - Identifier 3028380 3028389 - Identifier 3028391 3028395 - EqualsEqualsEqualsToken 3028395 3028399 - PropertyAccessExpression 3028399 3028423 - Identifier 3028399 3028410 - Identifier 3028411 3028423 - Block 3028425 3028548 - ReturnStatement 3028427 3028529 - CallExpression 3028455 3028528 - Identifier 3028455 3028480 - Identifier 3028481 3028485 - PropertyAccessExpression 3028486 3028527 - Identifier 3028486 3028498 - Identifier 3028499 3028527 - IfStatement 3028570 3029146 - CallExpression 3028575 3028687 - Identifier 3028575 3028609 - PropertyAccessExpression 3028610 3028628 - Identifier 3028610 3028614 - Identifier 3028615 3028628 - PropertyAccessExpression 3028629 3028686 - Identifier 3028629 3028641 - Identifier 3028642 3028686 - Block 3028688 3028743 - ReturnStatement 3028690 3028724 - TrueKeyword 3028718 3028723 - IfStatement 3028765 3029146 - CallExpression 3028770 3028909 - Identifier 3028770 3028808 - PropertyAccessExpression 3028809 3028830 - Identifier 3028809 3028813 - Identifier 3028814 3028830 - PropertyAccessExpression 3028831 3028908 - Identifier 3028831 3028843 - Identifier 3028844 3028908 - Block 3028910 3028965 - ReturnStatement 3028912 3028946 - TrueKeyword 3028940 3028945 - IfStatement 3028987 3029146 - BinaryExpression 3028992 3029015 - PropertyAccessExpression 3028992 3029001 - Identifier 3028992 3028996 - Identifier 3028997 3029001 - EqualsEqualsEqualsToken 3029001 3029005 - Identifier 3029005 3029015 - Block 3029016 3029146 - ReturnStatement 3029018 3029127 - CallExpression 3029046 3029126 - Identifier 3029046 3029064 - Identifier 3029065 3029069 - BinaryExpression 3029070 3029083 - PropertyAccessExpression 3029070 3029079 - Identifier 3029070 3029075 - Identifier 3029076 3029079 - MinusToken 3029079 3029081 - NumericLiteral 3029081 3029083 - PropertyAccessExpression 3029084 3029095 - StringLiteral 3029084 3029088 - Identifier 3029089 3029095 - PropertyAccessExpression 3029096 3029120 - Identifier 3029096 3029108 - Identifier 3029109 3029120 - StringLiteral 3029121 3029125 - IfStatement 3029161 3029257 - CallExpression 3029179 3029209 - Identifier 3029179 3029203 - Identifier 3029204 3029208 - Block 3029210 3029257 - ReturnStatement 3029212 3029242 - TrueKeyword 3029236 3029241 - IfStatement 3029268 3031113 - CallExpression 3029284 3029308 - Identifier 3029284 3029295 - PropertyAccessExpression 3029296 3029307 - Identifier 3029296 3029300 - Identifier 3029301 3029307 - Block 3029309 3030548 - IfStatement 3029311 3029567 - BinaryExpression 3029329 3029400 - BinaryExpression 3029329 3029366 - Identifier 3029329 3029344 - LessThanToken 3029344 3029346 - PropertyAccessExpression 3029346 3029366 - Identifier 3029346 3029359 - Identifier 3029360 3029366 - AmpersandAmpersandToken 3029366 3029369 - CallExpression 3029369 3029400 - Identifier 3029369 3029389 - PropertyAccessExpression 3029390 3029399 - Identifier 3029390 3029394 - Identifier 3029395 3029399 - Block 3029401 3029567 - ReturnStatement 3029403 3029552 - CallExpression 3029427 3029551 - Identifier 3029427 3029446 - PropertyAccessExpression 3029447 3029456 - Identifier 3029447 3029451 - Identifier 3029452 3029456 - PropertyAccessExpression 3029457 3029550 - Identifier 3029457 3029469 - Identifier 3029470 3029550 - IfStatement 3029567 3030537 - BinaryExpression 3029971 3030001 - PropertyAccessExpression 3029971 3029981 - Identifier 3029971 3029975 - Identifier 3029976 3029981 - AmpersandToken 3029981 3029983 - PropertyAccessExpression 3029983 3030001 - Identifier 3029983 3029993 - Identifier 3029994 3030001 - Block 3030002 3030230 - ReturnStatement 3030004 3030215 - CallExpression 3030028 3030214 - Identifier 3030028 3030062 - PropertyAccessExpression 3030063 3030072 - Identifier 3030063 3030067 - Identifier 3030068 3030072 - PropertyAccessExpression 3030073 3030213 - Identifier 3030073 3030085 - Identifier 3030086 3030213 - IfStatement 3030248 3030537 - BinaryExpression 3030253 3030309 - BinaryExpression 3030253 3030295 - PropertyAccessExpression 3030253 3030262 - Identifier 3030253 3030257 - Identifier 3030258 3030262 - EqualsEqualsEqualsToken 3030262 3030266 - PropertyAccessExpression 3030266 3030295 - Identifier 3030266 3030277 - Identifier 3030278 3030295 - AmpersandAmpersandToken 3030295 3030298 - PrefixUnaryExpression 3030298 3030309 - PropertyAccessExpression 3030300 3030309 - Identifier 3030300 3030304 - Identifier 3030305 3030309 - Block 3030310 3030537 - ReturnStatement 3030312 3030522 - CallExpression 3030336 3030521 - Identifier 3030336 3030370 - PropertyAccessExpression 3030371 3030380 - Identifier 3030371 3030375 - Identifier 3030376 3030380 - PropertyAccessExpression 3030381 3030520 - Identifier 3030381 3030393 - Identifier 3030394 3030520 - IfStatement 3030562 3031113 - BinaryExpression 3030567 3030619 - PropertyAccessExpression 3030567 3030583 - PropertyAccessExpression 3030567 3030578 - Identifier 3030567 3030571 - Identifier 3030572 3030578 - Identifier 3030579 3030583 - EqualsEqualsEqualsToken 3030583 3030587 - PropertyAccessExpression 3030587 3030619 - Identifier 3030587 3030598 - Identifier 3030599 3030619 - Block 3030620 3030834 - ReturnStatement 3030622 3030823 - CallExpression 3030642 3030822 - Identifier 3030642 3030676 - PropertyAccessExpression 3030677 3030686 - Identifier 3030677 3030681 - Identifier 3030682 3030686 - PropertyAccessExpression 3030687 3030821 - Identifier 3030687 3030699 - Identifier 3030700 3030821 - IfStatement 3030848 3031113 - BinaryExpression 3030853 3030896 - PropertyAccessExpression 3030853 3030869 - PropertyAccessExpression 3030853 3030864 - Identifier 3030853 3030857 - Identifier 3030858 3030864 - Identifier 3030865 3030869 - EqualsEqualsEqualsToken 3030869 3030873 - PropertyAccessExpression 3030873 3030896 - Identifier 3030873 3030884 - Identifier 3030885 3030896 - Block 3030897 3031113 - ReturnStatement 3030899 3031102 - CallExpression 3030919 3031101 - Identifier 3030919 3030953 - PropertyAccessExpression 3030954 3030963 - Identifier 3030954 3030958 - Identifier 3030959 3030963 - PropertyAccessExpression 3030964 3031100 - Identifier 3030964 3030976 - Identifier 3030977 3031100 - FunctionDeclaration 3031120 3033863 - Identifier 3031136 3031173 - Parameter 3031174 3031204 - Identifier 3031174 3031178 - TypeReference 3031179 3031204 - Identifier 3031179 3031204 - BooleanKeyword 3031206 3031214 - Block 3031214 3033863 - VariableStatement 3031216 3031251 - VariableDeclarationList 3031216 3031250 - VariableDeclaration 3031229 3031250 - Identifier 3031229 3031237 - TypeReference 3031238 3031243 - Identifier 3031238 3031243 - Identifier 3031245 3031250 - WhileStatement 3031251 3033099 - Identifier 3031268 3031275 - Block 3031276 3033099 - IfStatement 3031278 3031472 - CallExpression 3031296 3031348 - Identifier 3031296 3031339 - Identifier 3031340 3031347 - Block 3031349 3031472 - ReturnStatement 3031351 3031457 - CallExpression 3031375 3031456 - Identifier 3031375 3031394 - Identifier 3031395 3031399 - PropertyAccessExpression 3031400 3031455 - Identifier 3031400 3031412 - Identifier 3031413 3031455 - SwitchStatement 3031472 3033047 - PropertyAccessExpression 3031496 3031508 - Identifier 3031496 3031503 - Identifier 3031504 3031508 - CaseBlock 3031509 3033047 - CaseClause 3031511 3032424 - PropertyAccessExpression 3031533 3031561 - Identifier 3031533 3031544 - Identifier 3031545 3031561 - IfStatement 3031562 3032396 - BinaryExpression 3031588 3031676 - PropertyAccessExpression 3031588 3031598 - Identifier 3031588 3031592 - Identifier 3031593 3031598 - AmpersandAmpersandToken 3031598 3031601 - BinaryExpression 3031601 3031676 - PropertyAccessExpression 3031601 3031649 - PropertyAccessExpression 3031601 3031637 - ParenthesizedExpression 3031601 3031631 - AsExpression 3031603 3031630 - Identifier 3031603 3031610 - TypeReference 3031613 3031630 - Identifier 3031613 3031630 - Identifier 3031632 3031637 - Identifier 3031638 3031649 - EqualsEqualsEqualsToken 3031649 3031653 - PropertyAccessExpression 3031653 3031676 - PropertyAccessExpression 3031653 3031664 - Identifier 3031653 3031658 - Identifier 3031659 3031664 - Identifier 3031665 3031676 - Block 3031677 3032396 - VariableStatement 3031679 3032089 - VariableDeclarationList 3031679 3032088 - VariableDeclaration 3031889 3032088 - Identifier 3031889 3031914 - BinaryExpression 3031916 3032088 - BinaryExpression 3031916 3031959 - PropertyAccessExpression 3031916 3031926 - Identifier 3031916 3031921 - Identifier 3031922 3031926 - EqualsEqualsEqualsToken 3031926 3031930 - PropertyAccessExpression 3031930 3031959 - Identifier 3031930 3031941 - Identifier 3031942 3031959 - AmpersandAmpersandToken 3031959 3031991 - PrefixUnaryExpression 3031991 3032088 - CallExpression 3031993 3032088 - Identifier 3031993 3032013 - PropertyAccessExpression 3032014 3032053 - ParenthesizedExpression 3032014 3032043 - AsExpression 3032015 3032042 - Identifier 3032015 3032022 - TypeReference 3032025 3032042 - Identifier 3032025 3032042 - Identifier 3032044 3032053 - TrueKeyword 3032054 3032087 - IfStatement 3032089 3032332 - Identifier 3032121 3032145 - Block 3032146 3032332 - ReturnStatement 3032148 3032305 - CallExpression 3032184 3032304 - Identifier 3032184 3032203 - Identifier 3032204 3032208 - PropertyAccessExpression 3032209 3032303 - Identifier 3032209 3032221 - Identifier 3032222 3032303 - ReturnStatement 3032332 3032373 - FalseKeyword 3032366 3032372 - BreakStatement 3032396 3032424 - CaseClause 3032424 3032720 - PropertyAccessExpression 3032446 3032473 - Identifier 3032446 3032457 - Identifier 3032458 3032473 - IfStatement 3032474 3032692 - BinaryExpression 3032500 3032554 - BinaryExpression 3032500 3032539 - PropertyAccessExpression 3032500 3032509 - Identifier 3032500 3032504 - Identifier 3032505 3032509 - EqualsEqualsEqualsToken 3032509 3032513 - PropertyAccessExpression 3032513 3032539 - Identifier 3032513 3032524 - Identifier 3032525 3032539 - AmpersandAmpersandToken 3032539 3032542 - PrefixUnaryExpression 3032542 3032554 - PropertyAccessExpression 3032544 3032554 - Identifier 3032544 3032548 - Identifier 3032549 3032554 - Block 3032555 3032692 - ReturnStatement 3032557 3032669 - FalseKeyword 3032662 3032668 - BreakStatement 3032692 3032720 - DefaultClause 3032720 3033032 - IfStatement 3032746 3033004 - BinaryExpression 3032772 3032851 - CallExpression 3032772 3032836 - Identifier 3032772 3032792 - Identifier 3032793 3032800 - FalseKeyword 3032801 3032835 - AmpersandAmpersandToken 3032836 3032839 - PrefixUnaryExpression 3032839 3032851 - PropertyAccessExpression 3032841 3032851 - Identifier 3032841 3032845 - Identifier 3032846 3032851 - Block 3032852 3033004 - ReturnStatement 3032854 3032981 - FalseKeyword 3032974 3032980 - BreakStatement 3033004 3033032 - ExpressionStatement 3033047 3033088 - BinaryExpression 3033047 3033087 - Identifier 3033047 3033070 - EqualsToken 3033070 3033072 - PropertyAccessExpression 3033072 3033087 - Identifier 3033072 3033080 - Identifier 3033081 3033087 - IfStatement 3033099 3033856 - PropertyAccessExpression 3033115 3033125 - Identifier 3033115 3033119 - Identifier 3033120 3033125 - Block 3033126 3033479 - VariableStatement 3033128 3033411 - VariableDeclarationList 3033128 3033410 - VariableDeclaration 3033147 3033410 - Identifier 3033147 3033155 - ConditionalExpression 3033157 3033410 - BinaryExpression 3033157 3033197 - PropertyAccessExpression 3033157 3033167 - Identifier 3033157 3033162 - Identifier 3033163 3033167 - EqualsEqualsEqualsToken 3033167 3033171 - PropertyAccessExpression 3033171 3033197 - Identifier 3033171 3033182 - Identifier 3033183 3033197 - QuestionToken 3033197 3033216 - PropertyAccessExpression 3033216 3033297 - Identifier 3033216 3033228 - Identifier 3033229 3033297 - ColonToken 3033297 3033316 - PropertyAccessExpression 3033316 3033410 - Identifier 3033316 3033328 - Identifier 3033329 3033410 - ReturnStatement 3033411 3033468 - CallExpression 3033433 3033467 - Identifier 3033433 3033452 - Identifier 3033453 3033457 - Identifier 3033458 3033466 - Block 3033493 3033856 - VariableStatement 3033495 3033790 - VariableDeclarationList 3033495 3033789 - VariableDeclaration 3033514 3033789 - Identifier 3033514 3033522 - ConditionalExpression 3033524 3033789 - BinaryExpression 3033524 3033564 - PropertyAccessExpression 3033524 3033534 - Identifier 3033524 3033529 - Identifier 3033530 3033534 - EqualsEqualsEqualsToken 3033534 3033538 - PropertyAccessExpression 3033538 3033564 - Identifier 3033538 3033549 - Identifier 3033550 3033564 - QuestionToken 3033564 3033583 - PropertyAccessExpression 3033583 3033680 - Identifier 3033583 3033595 - Identifier 3033596 3033680 - ColonToken 3033680 3033699 - PropertyAccessExpression 3033699 3033789 - Identifier 3033699 3033711 - Identifier 3033712 3033789 - ReturnStatement 3033790 3033845 - CallExpression 3033810 3033844 - Identifier 3033810 3033829 - Identifier 3033830 3033834 - Identifier 3033835 3033843 - FunctionDeclaration 3033863 3034800 - Identifier 3033879 3033906 - Parameter 3033907 3033927 - Identifier 3033907 3033911 - TypeReference 3033912 3033927 - Identifier 3033912 3033927 - Block 3033928 3034800 - IfStatement 3033930 3034514 - PropertyAccessExpression 3033944 3033963 - Identifier 3033944 3033948 - Identifier 3033949 3033963 - Block 3033964 3034514 - VariableStatement 3033966 3034018 - VariableDeclarationList 3033966 3034017 - VariableDeclaration 3033985 3034017 - Identifier 3033985 3033994 - PropertyAccessExpression 3033996 3034017 - PropertyAccessExpression 3033996 3034008 - Identifier 3033996 3034001 - Identifier 3034002 3034008 - Identifier 3034009 3034017 - IfStatement 3034018 3034195 - BinaryExpression 3034036 3034059 - Identifier 3034036 3034040 - ExclamationEqualsEqualsToken 3034040 3034044 - CallExpression 3034044 3034059 - Identifier 3034044 3034049 - Identifier 3034050 3034058 - Block 3034060 3034195 - ReturnStatement 3034062 3034180 - CallExpression 3034086 3034179 - Identifier 3034086 3034105 - Identifier 3034106 3034110 - PropertyAccessExpression 3034111 3034178 - Identifier 3034111 3034123 - Identifier 3034124 3034178 - ExpressionStatement 3034195 3034337 - CallExpression 3034195 3034336 - Identifier 3034195 3034247 - Identifier 3034248 3034256 - PropertyAccessExpression 3034257 3034335 - Identifier 3034257 3034269 - Identifier 3034270 3034335 - IfStatement 3034337 3034503 - PropertyAccessExpression 3034357 3034374 - Identifier 3034357 3034361 - Identifier 3034362 3034374 - Block 3034375 3034503 - ReturnStatement 3034377 3034488 - CallExpression 3034401 3034487 - Identifier 3034401 3034420 - PropertyAccessExpression 3034421 3034430 - Identifier 3034421 3034425 - Identifier 3034426 3034430 - PropertyAccessExpression 3034431 3034486 - Identifier 3034431 3034443 - Identifier 3034444 3034486 - IfStatement 3034514 3034793 - BinaryExpression 3034530 3034569 - PropertyAccessExpression 3034530 3034549 - Identifier 3034530 3034534 - Identifier 3034535 3034549 - AmpersandAmpersandToken 3034549 3034552 - PropertyAccessExpression 3034552 3034569 - Identifier 3034552 3034557 - Identifier 3034558 3034569 - Block 3034570 3034793 - ReturnStatement 3034572 3034782 - CallExpression 3034673 3034781 - Identifier 3034673 3034691 - Identifier 3034692 3034696 - BinaryExpression 3034697 3034722 - PropertyAccessExpression 3034697 3034718 - PropertyAccessExpression 3034697 3034714 - Identifier 3034697 3034702 - Identifier 3034703 3034714 - Identifier 3034715 3034718 - MinusToken 3034718 3034720 - NumericLiteral 3034720 3034722 - NumericLiteral 3034723 3034725 - PropertyAccessExpression 3034726 3034780 - Identifier 3034726 3034738 - Identifier 3034739 3034780 - FunctionDeclaration 3034800 3035157 - Identifier 3034816 3034850 - Parameter 3034851 3034867 - Identifier 3034851 3034855 - TypeReference 3034856 3034867 - Identifier 3034856 3034867 - Block 3034868 3035157 - ReturnStatement 3034870 3035150 - BinaryExpression 3034886 3035149 - CallExpression 3034886 3034921 - Identifier 3034886 3034915 - Identifier 3034916 3034920 - BarBarToken 3034921 3034924 - BinaryExpression 3034924 3035149 - BinaryExpression 3034924 3035054 - BinaryExpression 3034924 3034984 - PropertyAccessExpression 3034924 3034947 - Identifier 3034924 3034942 - Identifier 3034943 3034947 - EqualsEqualsEqualsToken 3034947 3034951 - PropertyAccessExpression 3034951 3034984 - Identifier 3034951 3034962 - Identifier 3034963 3034984 - AmpersandAmpersandToken 3034984 3034987 - BinaryExpression 3034987 3035054 - PropertyAccessExpression 3034987 3035028 - ParenthesizedExpression 3034987 3035019 - AsExpression 3034989 3035018 - Identifier 3034989 3034993 - TypeReference 3034996 3035018 - Identifier 3034996 3035018 - Identifier 3035020 3035028 - EqualsEqualsEqualsToken 3035028 3035032 - PropertyAccessExpression 3035032 3035054 - Identifier 3035032 3035043 - Identifier 3035044 3035054 - AmpersandAmpersandToken 3035054 3035057 - BinaryExpression 3035057 3035149 - PropertyAccessExpression 3035057 3035119 - PropertyAccessExpression 3035057 3035114 - ParenthesizedExpression 3035057 3035106 - AsExpression 3035076 3035105 - Identifier 3035076 3035080 - TypeReference 3035083 3035105 - Identifier 3035083 3035105 - Identifier 3035107 3035114 - Identifier 3035115 3035119 - EqualsEqualsEqualsToken 3035119 3035123 - PropertyAccessExpression 3035123 3035149 - Identifier 3035123 3035134 - Identifier 3035135 3035149 - FunctionDeclaration 3035157 3035509 - Identifier 3035173 3035199 - Parameter 3035200 3035216 - Identifier 3035200 3035204 - TypeReference 3035205 3035216 - Identifier 3035205 3035216 - Block 3035217 3035509 - ReturnStatement 3035219 3035502 - BinaryExpression 3035235 3035501 - BinaryExpression 3035235 3035274 - PropertyAccessExpression 3035235 3035245 - Identifier 3035235 3035240 - Identifier 3035241 3035245 - EqualsEqualsEqualsToken 3035245 3035249 - PropertyAccessExpression 3035249 3035274 - Identifier 3035249 3035260 - Identifier 3035261 3035274 - BarBarToken 3035274 3035277 - BinaryExpression 3035277 3035501 - BinaryExpression 3035277 3035407 - BinaryExpression 3035277 3035337 - PropertyAccessExpression 3035277 3035300 - Identifier 3035277 3035295 - Identifier 3035296 3035300 - EqualsEqualsEqualsToken 3035300 3035304 - PropertyAccessExpression 3035304 3035337 - Identifier 3035304 3035315 - Identifier 3035316 3035337 - AmpersandAmpersandToken 3035337 3035340 - BinaryExpression 3035340 3035407 - PropertyAccessExpression 3035340 3035381 - ParenthesizedExpression 3035340 3035372 - AsExpression 3035342 3035371 - Identifier 3035342 3035346 - TypeReference 3035349 3035371 - Identifier 3035349 3035371 - Identifier 3035373 3035381 - EqualsEqualsEqualsToken 3035381 3035385 - PropertyAccessExpression 3035385 3035407 - Identifier 3035385 3035396 - Identifier 3035397 3035407 - AmpersandAmpersandToken 3035407 3035410 - BinaryExpression 3035410 3035501 - PropertyAccessExpression 3035410 3035472 - PropertyAccessExpression 3035410 3035467 - ParenthesizedExpression 3035410 3035459 - AsExpression 3035429 3035458 - Identifier 3035429 3035433 - TypeReference 3035436 3035458 - Identifier 3035436 3035458 - Identifier 3035460 3035467 - Identifier 3035468 3035472 - EqualsEqualsEqualsToken 3035472 3035476 - PropertyAccessExpression 3035476 3035501 - Identifier 3035476 3035487 - Identifier 3035488 3035501 - FunctionDeclaration 3035509 3035902 - Identifier 3035525 3035554 - Parameter 3035555 3035571 - Identifier 3035555 3035559 - TypeReference 3035560 3035571 - Identifier 3035560 3035571 - Block 3035572 3035902 - IfStatement 3035574 3035895 - BinaryExpression 3035588 3035791 - ParenthesizedExpression 3035588 3035735 - BinaryExpression 3035603 3035734 - CallExpression 3035603 3035635 - Identifier 3035603 3035629 - Identifier 3035630 3035634 - BarBarToken 3035635 3035638 - ParenthesizedExpression 3035638 3035734 - BinaryExpression 3035640 3035733 - CallExpression 3035640 3035671 - Identifier 3035640 3035665 - Identifier 3035666 3035670 - AmpersandAmpersandToken 3035671 3035674 - CallExpression 3035674 3035733 - Identifier 3035674 3035708 - PropertyAccessExpression 3035709 3035732 - Identifier 3035709 3035713 - Identifier 3035714 3035732 - AmpersandAmpersandToken 3035735 3035738 - CallExpression 3035738 3035791 - Identifier 3035738 3035774 - PropertyAccessExpression 3035775 3035790 - Identifier 3035775 3035779 - Identifier 3035780 3035790 - Block 3035802 3035895 - ReturnStatement 3035804 3035884 - PrefixUnaryExpression 3035824 3035883 - PrefixUnaryExpression 3035826 3035883 - ParenthesizedExpression 3035827 3035883 - BinaryExpression 3035828 3035882 - PropertyAccessExpression 3035828 3035861 - CallExpression 3035828 3035855 - Identifier 3035828 3035849 - Identifier 3035850 3035854 - Identifier 3035856 3035861 - AmpersandToken 3035861 3035863 - PropertyAccessExpression 3035863 3035882 - Identifier 3035863 3035873 - Identifier 3035874 3035882 - FunctionDeclaration 3035902 3037052 - Identifier 3035918 3035942 - Parameter 3035943 3036010 - Identifier 3035943 3035947 - UnionType 3035948 3036010 - TypeReference 3035948 3035968 - Identifier 3035948 3035968 - TypeReference 3035970 3035990 - Identifier 3035970 3035990 - TypeReference 3035992 3036010 - Identifier 3035992 3036010 - Block 3036011 3037052 - VariableStatement 3036013 3036060 - VariableDeclarationList 3036013 3036059 - VariableDeclaration 3036028 3036059 - Identifier 3036028 3036040 - PropertyAccessExpression 3036042 3036059 - Identifier 3036042 3036047 - Identifier 3036048 3036059 - IfStatement 3036060 3037045 - Identifier 3036074 3036085 - Block 3036086 3037045 - VariableStatement 3036088 3036446 - VariableDeclarationList 3036088 3036445 - VariableDeclaration 3036107 3036445 - Identifier 3036107 3036128 - PrefixUnaryExpression 3036130 3036445 - ParenthesizedExpression 3036132 3036445 - BinaryExpression 3036133 3036430 - BinaryExpression 3036133 3036371 - BinaryExpression 3036133 3036323 - BinaryExpression 3036133 3036259 - CallExpression 3036133 3036197 - Identifier 3036133 3036184 - Identifier 3036185 3036196 - BarBarToken 3036197 3036200 - CallExpression 3036200 3036259 - Identifier 3036200 3036246 - Identifier 3036247 3036258 - BarBarToken 3036259 3036262 - BinaryExpression 3036262 3036323 - PropertyAccessExpression 3036262 3036296 - Identifier 3036262 3036291 - Identifier 3036292 3036296 - EqualsEqualsEqualsToken 3036296 3036300 - PropertyAccessExpression 3036300 3036323 - Identifier 3036300 3036311 - Identifier 3036312 3036323 - BarBarToken 3036323 3036326 - BinaryExpression 3036326 3036371 - PropertyAccessExpression 3036326 3036343 - Identifier 3036326 3036338 - Identifier 3036339 3036343 - EqualsEqualsEqualsToken 3036343 3036347 - PropertyAccessExpression 3036347 3036371 - Identifier 3036347 3036358 - Identifier 3036359 3036371 - BarBarToken 3036371 3036374 - CallExpression 3036374 3036430 - Identifier 3036374 3036417 - Identifier 3036418 3036429 - VariableStatement 3036446 3036571 - VariableDeclarationList 3036446 3036570 - VariableDeclaration 3036465 3036570 - Identifier 3036465 3036483 - BinaryExpression 3036485 3036570 - CallExpression 3036485 3036513 - Identifier 3036485 3036507 - Identifier 3036508 3036512 - BarBarToken 3036513 3036516 - BinaryExpression 3036516 3036570 - CallExpression 3036516 3036544 - Identifier 3036516 3036538 - Identifier 3036539 3036543 - AmpersandAmpersandToken 3036544 3036547 - ParenthesizedExpression 3036547 3036570 - CallExpression 3036549 3036569 - Identifier 3036549 3036563 - Identifier 3036564 3036568 - IfStatement 3036571 3037034 - BinaryExpression 3036589 3036620 - Identifier 3036589 3036606 - AmpersandAmpersandToken 3036606 3036609 - PrefixUnaryExpression 3036609 3036620 - PropertyAccessExpression 3036611 3036620 - Identifier 3036611 3036615 - Identifier 3036616 3036620 - Block 3036621 3036880 - IfStatement 3036623 3036865 - Identifier 3036645 3036665 - Block 3036666 3036865 - ReturnStatement 3036668 3036846 - CallExpression 3036696 3036845 - Identifier 3036696 3036715 - Identifier 3036716 3036727 - PropertyAccessExpression 3036728 3036844 - Identifier 3036728 3036740 - Identifier 3036741 3036844 - Block 3036898 3037034 - ReturnStatement 3036900 3037019 - CallExpression 3036924 3037018 - Identifier 3036924 3036943 - Identifier 3036944 3036955 - PropertyAccessExpression 3036956 3037017 - Identifier 3036956 3036968 - Identifier 3036969 3037017 - FunctionDeclaration 3037052 3040298 - Identifier 3037068 3037100 - Parameter 3037101 3037126 - Identifier 3037101 3037105 - TypeReference 3037106 3037126 - Identifier 3037106 3037126 - Block 3037127 3040298 - VariableStatement 3037129 3037190 - VariableDeclarationList 3037129 3037189 - VariableDeclaration 3037144 3037189 - Identifier 3037144 3037154 - CallExpression 3037156 3037189 - Identifier 3037156 3037183 - Identifier 3037184 3037188 - VariableStatement 3037190 3037257 - VariableDeclarationList 3037190 3037256 - VariableDeclaration 3037205 3037256 - Identifier 3037205 3037220 - BinaryExpression 3037222 3037256 - Identifier 3037222 3037232 - AmpersandToken 3037232 3037234 - PropertyAccessExpression 3037234 3037256 - Identifier 3037234 3037244 - Identifier 3037245 3037256 - IfStatement 3037257 3037699 - CallExpression 3037271 3037298 - Identifier 3037271 3037287 - PropertyAccessExpression 3037288 3037297 - Identifier 3037288 3037292 - Identifier 3037293 3037297 - Block 3037299 3037699 - SwitchStatement 3037301 3037688 - Identifier 3037323 3037337 - CaseBlock 3037338 3037688 - CaseClause 3037340 3037512 - PropertyAccessExpression 3037362 3037383 - Identifier 3037362 3037372 - Identifier 3037373 3037383 - ReturnStatement 3037384 3037512 - CallExpression 3037412 3037511 - Identifier 3037412 3037431 - Identifier 3037432 3037436 - PropertyAccessExpression 3037437 3037495 - Identifier 3037437 3037449 - Identifier 3037450 3037495 - StringLiteral 3037496 3037510 - CaseClause 3037512 3037673 - PropertyAccessExpression 3037534 3037550 - Identifier 3037534 3037544 - Identifier 3037545 3037550 - ReturnStatement 3037551 3037673 - CallExpression 3037579 3037672 - Identifier 3037579 3037598 - Identifier 3037599 3037603 - PropertyAccessExpression 3037604 3037662 - Identifier 3037604 3037616 - Identifier 3037617 3037662 - StringLiteral 3037663 3037671 - IfStatement 3037699 3038785 - BinaryExpression 3037715 3037825 - BinaryExpression 3037715 3037768 - PropertyAccessExpression 3037715 3037738 - PropertyAccessExpression 3037715 3037733 - PropertyAccessExpression 3037715 3037726 - Identifier 3037715 3037719 - Identifier 3037720 3037726 - Identifier 3037727 3037733 - Identifier 3037734 3037738 - ExclamationEqualsEqualsToken 3037738 3037742 - PropertyAccessExpression 3037742 3037768 - Identifier 3037742 3037753 - Identifier 3037754 3037768 - AmpersandAmpersandToken 3037768 3037771 - BinaryExpression 3037771 3037825 - PropertyAccessExpression 3037771 3037795 - PropertyAccessExpression 3037771 3037790 - PropertyAccessExpression 3037771 3037783 - Identifier 3037771 3037776 - Identifier 3037777 3037783 - Identifier 3037784 3037790 - Identifier 3037791 3037795 - ExclamationEqualsEqualsToken 3037795 3037799 - PropertyAccessExpression 3037799 3037825 - Identifier 3037799 3037810 - Identifier 3037811 3037825 - Block 3037826 3038785 - IfStatement 3037828 3038774 - BinaryExpression 3037846 3037875 - Identifier 3037846 3037855 - AmpersandToken 3037855 3037857 - PropertyAccessExpression 3037857 3037875 - Identifier 3037857 3037867 - Identifier 3037868 3037875 - Block 3037876 3037941 - ExpressionStatement 3037878 3037926 - CallExpression 3037878 3037925 - Identifier 3037878 3037919 - Identifier 3037920 3037924 - IfStatement 3037959 3038774 - PrefixUnaryExpression 3037964 3037981 - PropertyAccessExpression 3037965 3037981 - Identifier 3037965 3037969 - Identifier 3037970 3037981 - Block 3037982 3038774 - IfStatement 3037984 3038209 - BinaryExpression 3038006 3038067 - CallExpression 3038006 3038033 - Identifier 3038006 3038022 - PropertyAccessExpression 3038023 3038032 - Identifier 3038023 3038027 - Identifier 3038028 3038032 - AmpersandAmpersandToken 3038033 3038036 - PrefixUnaryExpression 3038036 3038067 - CallExpression 3038038 3038067 - Identifier 3038038 3038054 - PropertyAccessExpression 3038055 3038066 - Identifier 3038055 3038059 - Identifier 3038060 3038066 - Block 3038068 3038209 - ReturnStatement 3038070 3038190 - CallExpression 3038098 3038189 - Identifier 3038098 3038117 - Identifier 3038118 3038122 - PropertyAccessExpression 3038123 3038188 - Identifier 3038123 3038135 - Identifier 3038136 3038188 - SwitchStatement 3038209 3038759 - Identifier 3038235 3038249 - CaseBlock 3038250 3038759 - CaseClause 3038252 3038422 - PropertyAccessExpression 3038278 3038299 - Identifier 3038278 3038288 - Identifier 3038289 3038299 - ReturnStatement 3038300 3038422 - CallExpression 3038332 3038421 - Identifier 3038332 3038351 - Identifier 3038352 3038356 - PropertyAccessExpression 3038357 3038405 - Identifier 3038357 3038369 - Identifier 3038370 3038405 - StringLiteral 3038406 3038420 - CaseClause 3038422 3038581 - PropertyAccessExpression 3038448 3038464 - Identifier 3038448 3038458 - Identifier 3038459 3038464 - ReturnStatement 3038465 3038581 - CallExpression 3038497 3038580 - Identifier 3038497 3038516 - Identifier 3038517 3038521 - PropertyAccessExpression 3038522 3038570 - Identifier 3038522 3038534 - Identifier 3038535 3038570 - StringLiteral 3038571 3038579 - CaseClause 3038581 3038740 - PropertyAccessExpression 3038607 3038623 - Identifier 3038607 3038617 - Identifier 3038618 3038623 - ReturnStatement 3038624 3038740 - CallExpression 3038656 3038739 - Identifier 3038656 3038675 - Identifier 3038676 3038680 - PropertyAccessExpression 3038681 3038729 - Identifier 3038681 3038693 - Identifier 3038694 3038729 - StringLiteral 3038730 3038738 - IfStatement 3038785 3039432 - BinaryExpression 3038801 3038951 - PropertyAccessExpression 3038801 3038822 - Identifier 3038801 3038805 - Identifier 3038806 3038822 - AmpersandAmpersandToken 3038822 3038825 - ParenthesizedExpression 3038825 3038951 - BinaryExpression 3038827 3038950 - BinaryExpression 3038827 3038917 - BinaryExpression 3038827 3038897 - BinaryExpression 3038827 3038883 - PropertyAccessExpression 3038827 3038850 - PropertyAccessExpression 3038827 3038845 - PropertyAccessExpression 3038827 3038838 - Identifier 3038827 3038831 - Identifier 3038832 3038838 - Identifier 3038839 3038845 - Identifier 3038846 3038850 - ExclamationEqualsEqualsToken 3038850 3038854 - PropertyAccessExpression 3038854 3038883 - Identifier 3038854 3038865 - Identifier 3038866 3038883 - BarBarToken 3038883 3038886 - PrefixUnaryExpression 3038886 3038897 - PropertyAccessExpression 3038888 3038897 - Identifier 3038888 3038892 - Identifier 3038893 3038897 - BarBarToken 3038897 3038900 - PropertyAccessExpression 3038900 3038917 - Identifier 3038900 3038905 - Identifier 3038906 3038917 - BarBarToken 3038917 3038920 - BinaryExpression 3038920 3038950 - Identifier 3038920 3038930 - AmpersandToken 3038930 3038932 - PropertyAccessExpression 3038932 3038950 - Identifier 3038932 3038942 - Identifier 3038943 3038950 - Block 3038952 3039432 - VariableStatement 3038954 3039349 - VariableDeclarationList 3038954 3039348 - VariableDeclaration 3038973 3039348 - Identifier 3038973 3038981 - ConditionalExpression 3038983 3039348 - PropertyAccessExpression 3038983 3039000 - Identifier 3038983 3038988 - Identifier 3038989 3039000 - QuestionToken 3039000 3039019 - PropertyAccessExpression 3039019 3039110 - Identifier 3039019 3039031 - Identifier 3039032 3039110 - ColonToken 3039110 3039129 - ConditionalExpression 3039129 3039348 - PrefixUnaryExpression 3039129 3039140 - PropertyAccessExpression 3039131 3039140 - Identifier 3039131 3039135 - Identifier 3039136 3039140 - QuestionToken 3039140 3039159 - PropertyAccessExpression 3039159 3039252 - Identifier 3039159 3039171 - Identifier 3039172 3039252 - ColonToken 3039252 3039271 - PropertyAccessExpression 3039271 3039348 - Identifier 3039271 3039283 - Identifier 3039284 3039348 - ReturnStatement 3039349 3039421 - CallExpression 3039369 3039420 - Identifier 3039369 3039388 - PropertyAccessExpression 3039389 3039410 - Identifier 3039389 3039393 - Identifier 3039394 3039410 - Identifier 3039411 3039419 - IfStatement 3039432 3039738 - BinaryExpression 3039448 3039669 - BinaryExpression 3039448 3039603 - BinaryExpression 3039448 3039539 - CallExpression 3039448 3039519 - PropertyAccessExpression 3039448 3039492 - Identifier 3039448 3039466 - Identifier 3039467 3039492 - CallExpression 3039493 3039518 - Identifier 3039493 3039512 - Identifier 3039513 3039517 - LessThanToken 3039519 3039521 - PropertyAccessExpression 3039521 3039539 - Identifier 3039521 3039532 - Identifier 3039533 3039539 - AmpersandAmpersandToken 3039539 3039542 - PrefixUnaryExpression 3039542 3039603 - ParenthesizedExpression 3039557 3039603 - BinaryExpression 3039558 3039602 - PropertyAccessExpression 3039558 3039582 - PropertyAccessExpression 3039558 3039576 - PropertyAccessExpression 3039558 3039569 - Identifier 3039558 3039562 - Identifier 3039563 3039569 - Identifier 3039570 3039576 - Identifier 3039577 3039582 - AmpersandToken 3039582 3039584 - PropertyAccessExpression 3039584 3039602 - Identifier 3039584 3039594 - Identifier 3039595 3039602 - AmpersandAmpersandToken 3039603 3039606 - CallExpression 3039606 3039669 - Identifier 3039606 3039627 - PropertyAccessExpression 3039628 3039646 - PropertyAccessExpression 3039628 3039639 - Identifier 3039628 3039632 - Identifier 3039633 3039639 - Identifier 3039640 3039646 - PropertyAccessExpression 3039647 3039668 - Identifier 3039647 3039661 - Identifier 3039662 3039668 - Block 3039680 3039738 - ExpressionStatement 3039682 3039727 - CallExpression 3039682 3039726 - Identifier 3039682 3039715 - PropertyAccessExpression 3039716 3039725 - Identifier 3039716 3039720 - Identifier 3039721 3039725 - ReturnStatement 3039738 3040291 - BinaryExpression 3040218 3040290 - PrefixUnaryExpression 3040218 3040235 - PrefixUnaryExpression 3040220 3040235 - Identifier 3040221 3040235 - AmpersandAmpersandToken 3040235 3040238 - CallExpression 3040238 3040290 - Identifier 3040238 3040279 - PropertyAccessExpression 3040280 3040289 - Identifier 3040280 3040284 - Identifier 3040285 3040289 - FunctionDeclaration 3040298 3040990 - Identifier 3040314 3040334 - Parameter 3040335 3040368 - Identifier 3040335 3040339 - UnionType 3040340 3040368 - TypeReference 3040340 3040351 - Identifier 3040340 3040351 - TypeReference 3040353 3040368 - Identifier 3040353 3040368 - BooleanKeyword 3040370 3040378 - Block 3040378 3040990 - IfStatement 3040380 3040960 - BinaryExpression 3040394 3040429 - PropertyAccessExpression 3040394 3040403 - Identifier 3040394 3040398 - Identifier 3040399 3040403 - EqualsEqualsEqualsToken 3040403 3040407 - PropertyAccessExpression 3040407 3040429 - Identifier 3040407 3040418 - Identifier 3040419 3040429 - Block 3040430 3040690 - IfStatement 3040432 3040679 - BinaryExpression 3040450 3040479 - CallExpression 3040450 3040462 - Identifier 3040450 3040456 - Identifier 3040457 3040461 - EqualsEqualsEqualsToken 3040462 3040466 - StringLiteral 3040466 3040479 - Block 3040480 3040679 - ReturnStatement 3040482 3040664 - CallExpression 3040506 3040663 - Identifier 3040506 3040534 - StringLiteral 3040535 3040543 - Identifier 3040544 3040549 - PropertyAccessExpression 3040550 3040662 - Identifier 3040550 3040562 - Identifier 3040563 3040662 - Block 3040704 3040960 - VariableStatement 3040706 3040751 - VariableDeclarationList 3040706 3040750 - VariableDeclaration 3040725 3040750 - Identifier 3040725 3040734 - PropertyAccessExpression 3040736 3040750 - Identifier 3040736 3040741 - Identifier 3040742 3040750 - ForOfStatement 3040751 3040949 - VariableDeclarationList 3040770 3040783 - VariableDeclaration 3040775 3040783 - Identifier 3040775 3040783 - Identifier 3040786 3040795 - Block 3040796 3040949 - IfStatement 3040798 3040934 - PrefixUnaryExpression 3040820 3040849 - CallExpression 3040821 3040849 - Identifier 3040821 3040840 - Identifier 3040841 3040848 - Block 3040850 3040934 - ReturnStatement 3040852 3040915 - CallExpression 3040880 3040914 - Identifier 3040880 3040900 - PropertyAccessExpression 3040901 3040913 - Identifier 3040901 3040908 - Identifier 3040909 3040913 - ReturnStatement 3040960 3040983 - FalseKeyword 3040976 3040982 - FunctionDeclaration 3040990 3041664 - Identifier 3041006 3041047 - Parameter 3041048 3041081 - Identifier 3041048 3041052 - UnionType 3041053 3041081 - TypeReference 3041053 3041064 - Identifier 3041053 3041064 - TypeReference 3041066 3041081 - Identifier 3041066 3041081 - BooleanKeyword 3041083 3041091 - Block 3041091 3041664 - IfStatement 3041093 3041634 - BinaryExpression 3041107 3041142 - PropertyAccessExpression 3041107 3041116 - Identifier 3041107 3041111 - Identifier 3041112 3041116 - EqualsEqualsEqualsToken 3041116 3041120 - PropertyAccessExpression 3041120 3041142 - Identifier 3041120 3041131 - Identifier 3041132 3041142 - Block 3041143 3041350 - IfStatement 3041145 3041339 - BinaryExpression 3041163 3041189 - PropertyAccessExpression 3041163 3041179 - Identifier 3041163 3041167 - Identifier 3041168 3041179 - EqualsEqualsEqualsToken 3041179 3041183 - StringLiteral 3041183 3041189 - Block 3041190 3041339 - ReturnStatement 3041192 3041324 - CallExpression 3041216 3041323 - Identifier 3041216 3041235 - Identifier 3041236 3041240 - PropertyAccessExpression 3041241 3041322 - Identifier 3041241 3041253 - Identifier 3041254 3041322 - Block 3041364 3041634 - VariableStatement 3041366 3041411 - VariableDeclarationList 3041366 3041410 - VariableDeclaration 3041385 3041410 - Identifier 3041385 3041394 - PropertyAccessExpression 3041396 3041410 - Identifier 3041396 3041401 - Identifier 3041402 3041410 - ForOfStatement 3041411 3041623 - VariableDeclarationList 3041430 3041443 - VariableDeclaration 3041435 3041443 - Identifier 3041435 3041443 - Identifier 3041446 3041455 - Block 3041456 3041623 - IfStatement 3041458 3041608 - PrefixUnaryExpression 3041480 3041509 - CallExpression 3041481 3041509 - Identifier 3041481 3041500 - Identifier 3041501 3041508 - Block 3041510 3041608 - ExpressionStatement 3041512 3041589 - CallExpression 3041512 3041588 - Identifier 3041512 3041574 - PropertyAccessExpression 3041575 3041587 - Identifier 3041575 3041582 - Identifier 3041583 3041587 - ReturnStatement 3041634 3041657 - FalseKeyword 3041650 3041656 - FunctionDeclaration 3041664 3042939 - Identifier 3041680 3041716 - Parameter 3041717 3041757 - Identifier 3041717 3041732 - TypeReference 3041733 3041757 - Identifier 3041733 3041757 - BooleanKeyword 3041759 3041767 - Block 3041767 3042939 - VariableStatement 3041769 3041829 - VariableDeclarationList 3041769 3041828 - VariableDeclaration 3041784 3041828 - Identifier 3041784 3041797 - PropertyAccessExpression 3041799 3041828 - Identifier 3041799 3041815 - Identifier 3041816 3041828 - IfStatement 3041829 3041951 - CallExpression 3041843 3041911 - Identifier 3041843 3041881 - PropertyAccessExpression 3041882 3041910 - Identifier 3041882 3041897 - Identifier 3041898 3041910 - Block 3041912 3041951 - ReturnStatement 3041914 3041940 - TrueKeyword 3041934 3041939 - IfStatement 3041951 3042183 - PrefixUnaryExpression 3041967 3042003 - PropertyAccessExpression 3041968 3042003 - PropertyAccessExpression 3041968 3041996 - Identifier 3041968 3041983 - Identifier 3041984 3041996 - Identifier 3041997 3042003 - Block 3042004 3042183 - ReturnStatement 3042006 3042172 - CallExpression 3042026 3042171 - Identifier 3042026 3042044 - Identifier 3042045 3042060 - PropertyAccessExpression 3042061 3042078 - Identifier 3042061 3042074 - Identifier 3042075 3042078 - BinaryExpression 3042079 3042115 - PropertyAccessExpression 3042079 3042096 - Identifier 3042079 3042092 - Identifier 3042093 3042096 - MinusToken 3042096 3042098 - PropertyAccessExpression 3042098 3042115 - Identifier 3042098 3042111 - Identifier 3042112 3042115 - PropertyAccessExpression 3042116 3042170 - Identifier 3042116 3042128 - Identifier 3042129 3042170 - VariableStatement 3042183 3042265 - VariableDeclarationList 3042183 3042264 - VariableDeclaration 3042200 3042264 - Identifier 3042200 3042216 - BinaryExpression 3042218 3042264 - PropertyAccessExpression 3042218 3042240 - Identifier 3042218 3042234 - Identifier 3042235 3042240 - AmpersandToken 3042240 3042242 - PropertyAccessExpression 3042242 3042264 - Identifier 3042242 3042252 - Identifier 3042253 3042264 - IfStatement 3042265 3042781 - BinaryExpression 3042279 3042404 - ParenthesizedExpression 3042279 3042360 - BinaryExpression 3042280 3042359 - BinaryExpression 3042280 3042315 - Identifier 3042280 3042295 - EqualsEqualsEqualsToken 3042295 3042299 - PropertyAccessExpression 3042299 3042315 - Identifier 3042299 3042309 - Identifier 3042310 3042315 - BarBarToken 3042315 3042318 - BinaryExpression 3042318 3042359 - Identifier 3042318 3042334 - EqualsEqualsEqualsToken 3042334 3042338 - PropertyAccessExpression 3042338 3042359 - Identifier 3042338 3042348 - Identifier 3042349 3042359 - AmpersandAmpersandToken 3042360 3042363 - CallExpression 3042363 3042404 - Identifier 3042363 3042380 - PropertyAccessExpression 3042381 3042403 - Identifier 3042381 3042396 - Identifier 3042397 3042403 - Block 3042405 3042781 - ReturnStatement 3042407 3042770 - CallExpression 3042427 3042769 - Identifier 3042427 3042446 - Identifier 3042447 3042480 - ConditionalExpression 3042481 3042753 - BinaryExpression 3042481 3042534 - Identifier 3042481 3042514 - EqualsEqualsEqualsToken 3042514 3042518 - PropertyAccessExpression 3042518 3042534 - Identifier 3042518 3042528 - Identifier 3042529 3042534 - QuestionToken 3042534 3042536 - PropertyAccessExpression 3042536 3042640 - Identifier 3042536 3042569 - Identifier 3042570 3042640 - ColonToken 3042640 3042642 - PropertyAccessExpression 3042642 3042753 - Identifier 3042642 3042675 - Identifier 3042676 3042753 - IfStatement 3042781 3042907 - BinaryExpression 3042797 3042837 - Identifier 3042797 3042812 - EqualsEqualsEqualsToken 3042812 3042816 - PropertyAccessExpression 3042816 3042837 - Identifier 3042816 3042826 - Identifier 3042827 3042837 - Block 3042838 3042907 - ReturnStatement 3042840 3042896 - CallExpression 3042860 3042895 - Identifier 3042860 3042878 - Identifier 3042879 3042894 - ReturnStatement 3042907 3042932 - FalseKeyword 3042925 3042931 - FunctionDeclaration 3042939 3043524 - Identifier 3042955 3042978 - Parameter 3042979 3042991 - Identifier 3042979 3042985 - TypeReference 3042986 3042991 - Identifier 3042986 3042991 - BooleanKeyword 3042993 3043001 - Block 3043001 3043524 - SwitchStatement 3043003 3043493 - PropertyAccessExpression 3043021 3043032 - Identifier 3043021 3043027 - Identifier 3043028 3043032 - CaseBlock 3043033 3043493 - CaseClause 3043035 3043077 - PropertyAccessExpression 3043053 3043076 - Identifier 3043053 3043064 - Identifier 3043065 3043076 - CaseClause 3043077 3043119 - PropertyAccessExpression 3043095 3043118 - Identifier 3043095 3043106 - Identifier 3043107 3043118 - CaseClause 3043119 3043164 - PropertyAccessExpression 3043137 3043163 - Identifier 3043137 3043148 - Identifier 3043149 3043163 - CaseClause 3043164 3043208 - PropertyAccessExpression 3043182 3043207 - Identifier 3043182 3043193 - Identifier 3043194 3043207 - CaseClause 3043208 3043251 - PropertyAccessExpression 3043226 3043250 - Identifier 3043226 3043237 - Identifier 3043238 3043250 - CaseClause 3043251 3043296 - PropertyAccessExpression 3043269 3043295 - Identifier 3043269 3043280 - Identifier 3043281 3043295 - CaseClause 3043296 3043372 - PropertyAccessExpression 3043314 3043340 - Identifier 3043314 3043325 - Identifier 3043326 3043340 - ReturnStatement 3043341 3043372 - FalseKeyword 3043365 3043371 - CaseClause 3043372 3043482 - PropertyAccessExpression 3043390 3043418 - Identifier 3043390 3043401 - Identifier 3043402 3043418 - ReturnStatement 3043419 3043482 - CallExpression 3043443 3043481 - Identifier 3043443 3043466 - PropertyAccessExpression 3043467 3043480 - Identifier 3043467 3043473 - Identifier 3043474 3043480 - ReturnStatement 3043493 3043517 - TrueKeyword 3043511 3043516 - FunctionDeclaration 3043524 3044327 - Identifier 3043540 3043594 - Parameter 3043595 3043618 - Identifier 3043595 3043599 - TypeReference 3043600 3043618 - Identifier 3043600 3043618 - Block 3043619 3044327 - IfStatement 3043621 3044320 - PrefixUnaryExpression 3043635 3043671 - CallExpression 3043636 3043671 - Identifier 3043636 3043658 - PropertyAccessExpression 3043659 3043670 - Identifier 3043659 3043663 - Identifier 3043664 3043670 - Block 3043672 3044320 - VariableStatement 3043674 3043784 - VariableDeclarationList 3043674 3043783 - VariableDeclaration 3043693 3043783 - Identifier 3043693 3043708 - BinaryExpression 3043710 3043783 - CallExpression 3043710 3043759 - Identifier 3043710 3043737 - PropertyAccessExpression 3043738 3043758 - Identifier 3043738 3043742 - Identifier 3043743 3043758 - AmpersandToken 3043759 3043761 - PropertyAccessExpression 3043761 3043783 - Identifier 3043761 3043771 - Identifier 3043772 3043783 - IfStatement 3043784 3044309 - Identifier 3043802 3043816 - Block 3043817 3044309 - VariableStatement 3043819 3044170 - VariableDeclarationList 3043819 3044169 - VariableDeclaration 3043842 3044169 - Identifier 3043842 3043850 - ConditionalExpression 3043852 3044169 - BinaryExpression 3043852 3043885 - Identifier 3043852 3043867 - EqualsEqualsEqualsToken 3043867 3043871 - PropertyAccessExpression 3043871 3043885 - Identifier 3043871 3043881 - Identifier 3043882 3043885 - QuestionToken 3043885 3043887 - StringLiteral 3043887 3043893 - ColonToken 3043893 3043895 - ConditionalExpression 3043895 3044169 - BinaryExpression 3043895 3043951 - Identifier 3043895 3043931 - EqualsEqualsEqualsToken 3043931 3043935 - PropertyAccessExpression 3043935 3043951 - Identifier 3043935 3043945 - Identifier 3043946 3043951 - QuestionToken 3043951 3043953 - StringLiteral 3043953 3043961 - ColonToken 3043961 3043963 - ConditionalExpression 3043963 3044169 - BinaryExpression 3043963 3044019 - Identifier 3043963 3043999 - EqualsEqualsEqualsToken 3043999 3044003 - PropertyAccessExpression 3044003 3044019 - Identifier 3044003 3044013 - Identifier 3044014 3044019 - QuestionToken 3044019 3044021 - StringLiteral 3044021 3044029 - ColonToken 3044029 3044031 - ConditionalExpression 3044031 3044169 - BinaryExpression 3044031 3044092 - Identifier 3044031 3044067 - EqualsEqualsEqualsToken 3044067 3044071 - PropertyAccessExpression 3044071 3044092 - Identifier 3044071 3044081 - Identifier 3044082 3044092 - QuestionToken 3044092 3044094 - StringLiteral 3044094 3044108 - ColonToken 3044108 3044110 - CallExpression 3044110 3044169 - PropertyAccessExpression 3044110 3044142 - Identifier 3044110 3044137 - Identifier 3044138 3044142 - StringLiteral 3044143 3044168 - ReturnStatement 3044170 3044294 - CallExpression 3044194 3044293 - Identifier 3044194 3044213 - Identifier 3044214 3044218 - PropertyAccessExpression 3044219 3044283 - Identifier 3044219 3044231 - Identifier 3044232 3044283 - Identifier 3044284 3044292 - FunctionDeclaration 3044327 3045219 - Identifier 3044343 3044368 - Parameter 3044369 3044387 - Identifier 3044369 3044373 - TypeReference 3044374 3044387 - Identifier 3044374 3044387 - Block 3044388 3045219 - VariableStatement 3044390 3044442 - VariableDeclarationList 3044390 3044441 - VariableDeclaration 3044405 3044441 - Identifier 3044405 3044417 - PropertyAccessExpression 3044419 3044441 - PropertyAccessExpression 3044419 3044429 - Identifier 3044419 3044424 - Identifier 3044425 3044429 - Identifier 3044430 3044441 - SwitchStatement 3044442 3045212 - PropertyAccessExpression 3044460 3044477 - Identifier 3044460 3044464 - Identifier 3044465 3044477 - CaseBlock 3044478 3045212 - CaseClause 3044480 3044841 - PropertyAccessExpression 3044498 3044520 - Identifier 3044498 3044509 - Identifier 3044510 3044520 - IfStatement 3044521 3044817 - BinaryExpression 3044543 3044567 - Identifier 3044543 3044554 - ExclamationEqualsEqualsToken 3044554 3044558 - StringLiteral 3044558 3044567 - Block 3044568 3044817 - ReturnStatement 3044570 3044798 - CallExpression 3044598 3044797 - Identifier 3044598 3044617 - PropertyAccessExpression 3044618 3044627 - Identifier 3044618 3044622 - Identifier 3044623 3044627 - PropertyAccessExpression 3044628 3044701 - Identifier 3044628 3044640 - Identifier 3044641 3044701 - CallExpression 3044702 3044752 - Identifier 3044702 3044729 - PropertyAccessExpression 3044730 3044751 - PropertyAccessExpression 3044730 3044739 - Identifier 3044730 3044734 - Identifier 3044735 3044739 - Identifier 3044740 3044751 - CallExpression 3044753 3044786 - Identifier 3044753 3044767 - PropertyAccessExpression 3044768 3044785 - Identifier 3044768 3044772 - Identifier 3044773 3044785 - StringLiteral 3044787 3044796 - BreakStatement 3044817 3044841 - CaseClause 3044841 3045201 - PropertyAccessExpression 3044859 3044884 - Identifier 3044859 3044870 - Identifier 3044871 3044884 - IfStatement 3044885 3045177 - BinaryExpression 3044907 3044929 - Identifier 3044907 3044918 - ExclamationEqualsEqualsToken 3044918 3044922 - StringLiteral 3044922 3044929 - Block 3044930 3045177 - ReturnStatement 3044932 3045158 - CallExpression 3044960 3045157 - Identifier 3044960 3044979 - PropertyAccessExpression 3044980 3044989 - Identifier 3044980 3044984 - Identifier 3044985 3044989 - PropertyAccessExpression 3044990 3045063 - Identifier 3044990 3045002 - Identifier 3045003 3045063 - CallExpression 3045064 3045114 - Identifier 3045064 3045091 - PropertyAccessExpression 3045092 3045113 - PropertyAccessExpression 3045092 3045101 - Identifier 3045092 3045096 - Identifier 3045097 3045101 - Identifier 3045102 3045113 - CallExpression 3045115 3045148 - Identifier 3045115 3045129 - PropertyAccessExpression 3045130 3045147 - Identifier 3045130 3045134 - Identifier 3045135 3045147 - StringLiteral 3045149 3045156 - BreakStatement 3045177 3045201 - FunctionDeclaration 3045219 3045353 - Identifier 3045235 3045255 - Parameter 3045256 3045278 - Identifier 3045256 3045266 - TypeReference 3045267 3045278 - Identifier 3045267 3045278 - BooleanKeyword 3045280 3045288 - Block 3045288 3045353 - ReturnStatement 3045290 3045346 - BinaryExpression 3045306 3045345 - PropertyAccessExpression 3045306 3045341 - PropertyAccessExpression 3045306 3045334 - Identifier 3045306 3045317 - Identifier 3045318 3045334 - Identifier 3045335 3045341 - GreaterThanToken 3045341 3045343 - NumericLiteral 3045343 3045345 - FunctionDeclaration 3045353 3045827 - Identifier 3045369 3045394 - Parameter 3045395 3045405 - Identifier 3045395 3045399 - TypeReference 3045400 3045405 - Identifier 3045400 3045405 - Parameter 3045406 3045433 - Identifier 3045406 3045414 - TypeReference 3045415 3045433 - Identifier 3045415 3045433 - Parameter 3045434 3045463 - DotDotDotToken 3045434 3045438 - Identifier 3045438 3045442 - TypeReference 3045443 3045463 - Identifier 3045443 3045463 - BooleanKeyword 3045465 3045473 - Block 3045473 3045827 - VariableStatement 3045475 3045530 - VariableDeclarationList 3045475 3045529 - VariableDeclaration 3045490 3045529 - Identifier 3045490 3045501 - CallExpression 3045503 3045529 - Identifier 3045503 3045523 - Identifier 3045524 3045528 - IfStatement 3045530 3045797 - PrefixUnaryExpression 3045544 3045576 - CallExpression 3045545 3045576 - Identifier 3045545 3045564 - Identifier 3045565 3045575 - Block 3045577 3045797 - VariableStatement 3045579 3045653 - VariableDeclarationList 3045579 3045652 - VariableDeclaration 3045598 3045652 - Identifier 3045598 3045603 - CallExpression 3045605 3045652 - Identifier 3045605 3045630 - Identifier 3045631 3045641 - PropertyAccessExpression 3045642 3045651 - Identifier 3045642 3045647 - Identifier 3045648 3045651 - ExpressionStatement 3045653 3045760 - CallExpression 3045653 3045759 - PropertyAccessExpression 3045653 3045682 - Identifier 3045653 3045678 - Identifier 3045679 3045682 - CallExpression 3045683 3045758 - Identifier 3045683 3045703 - Identifier 3045704 3045714 - PropertyAccessExpression 3045715 3045726 - Identifier 3045715 3045720 - Identifier 3045721 3045726 - PropertyAccessExpression 3045727 3045739 - Identifier 3045727 3045732 - Identifier 3045733 3045739 - Identifier 3045740 3045748 - SpreadElement 3045749 3045757 - Identifier 3045753 3045757 - ReturnStatement 3045760 3045786 - TrueKeyword 3045780 3045785 - ReturnStatement 3045797 3045820 - FalseKeyword 3045813 3045819 - FunctionDeclaration 3045827 3046267 - Identifier 3045843 3045861 - Parameter 3045862 3045885 - Identifier 3045862 3045879 - TypeReference 3045880 3045885 - Identifier 3045880 3045885 - Parameter 3045886 3045900 - Identifier 3045886 3045892 - NumberKeyword 3045893 3045900 - Parameter 3045901 3045916 - Identifier 3045901 3045908 - NumberKeyword 3045909 3045916 - Parameter 3045917 3045944 - Identifier 3045917 3045925 - TypeReference 3045926 3045944 - Identifier 3045926 3045944 - Parameter 3045945 3045974 - DotDotDotToken 3045945 3045949 - Identifier 3045949 3045953 - TypeReference 3045954 3045974 - Identifier 3045954 3045974 - BooleanKeyword 3045976 3045984 - Block 3045984 3046267 - VariableStatement 3045986 3046054 - VariableDeclarationList 3045986 3046053 - VariableDeclaration 3046001 3046053 - Identifier 3046001 3046012 - CallExpression 3046014 3046053 - Identifier 3046014 3046034 - Identifier 3046035 3046052 - IfStatement 3046054 3046237 - PrefixUnaryExpression 3046068 3046100 - CallExpression 3046069 3046100 - Identifier 3046069 3046088 - Identifier 3046089 3046099 - Block 3046101 3046237 - ExpressionStatement 3046103 3046200 - CallExpression 3046103 3046199 - PropertyAccessExpression 3046103 3046132 - Identifier 3046103 3046128 - Identifier 3046129 3046132 - CallExpression 3046133 3046198 - Identifier 3046133 3046153 - Identifier 3046154 3046164 - Identifier 3046165 3046171 - Identifier 3046172 3046179 - Identifier 3046180 3046188 - SpreadElement 3046189 3046197 - Identifier 3046193 3046197 - ReturnStatement 3046200 3046226 - TrueKeyword 3046220 3046225 - ReturnStatement 3046237 3046260 - FalseKeyword 3046253 3046259 - FunctionDeclaration 3046267 3046649 - Identifier 3046283 3046311 - Parameter 3046312 3046338 - Identifier 3046312 3046315 - TypeOperator 3046316 3046338 - TypeReference 3046322 3046338 - Identifier 3046322 3046338 - Parameter 3046339 3046350 - Identifier 3046339 3046344 - TypeReference 3046345 3046350 - Identifier 3046345 3046350 - Parameter 3046351 3046378 - Identifier 3046351 3046359 - TypeReference 3046360 3046378 - Identifier 3046360 3046378 - Parameter 3046379 3046408 - DotDotDotToken 3046379 3046383 - Identifier 3046383 3046387 - TypeReference 3046388 3046408 - Identifier 3046388 3046408 - BooleanKeyword 3046410 3046418 - Block 3046418 3046649 - VariableStatement 3046420 3046475 - VariableDeclarationList 3046420 3046474 - VariableDeclaration 3046435 3046474 - Identifier 3046435 3046446 - CallExpression 3046448 3046474 - Identifier 3046448 3046468 - Identifier 3046469 3046473 - IfStatement 3046475 3046619 - PrefixUnaryExpression 3046489 3046521 - CallExpression 3046490 3046521 - Identifier 3046490 3046509 - Identifier 3046510 3046520 - Block 3046522 3046619 - ExpressionStatement 3046524 3046582 - CallExpression 3046524 3046581 - Identifier 3046524 3046552 - Identifier 3046553 3046556 - Identifier 3046557 3046562 - Identifier 3046563 3046571 - SpreadElement 3046572 3046580 - Identifier 3046576 3046580 - ReturnStatement 3046582 3046608 - TrueKeyword 3046602 3046607 - ReturnStatement 3046619 3046642 - FalseKeyword 3046635 3046641 - FunctionDeclaration 3046649 3047015 - Identifier 3046665 3046684 - Parameter 3046685 3046695 - Identifier 3046685 3046689 - TypeReference 3046690 3046695 - Identifier 3046690 3046695 - Parameter 3046696 3046723 - Identifier 3046696 3046704 - TypeReference 3046705 3046723 - Identifier 3046705 3046723 - Parameter 3046724 3046753 - DotDotDotToken 3046724 3046728 - Identifier 3046728 3046732 - TypeReference 3046733 3046753 - Identifier 3046733 3046753 - BooleanKeyword 3046755 3046763 - Block 3046763 3047015 - VariableStatement 3046765 3046820 - VariableDeclarationList 3046765 3046819 - VariableDeclaration 3046780 3046819 - Identifier 3046780 3046791 - CallExpression 3046793 3046819 - Identifier 3046793 3046813 - Identifier 3046814 3046818 - IfStatement 3046820 3046985 - PrefixUnaryExpression 3046834 3046866 - CallExpression 3046835 3046866 - Identifier 3046835 3046854 - Identifier 3046855 3046865 - Block 3046867 3046985 - ExpressionStatement 3046869 3046948 - CallExpression 3046869 3046947 - PropertyAccessExpression 3046869 3046898 - Identifier 3046869 3046894 - Identifier 3046895 3046898 - CallExpression 3046899 3046946 - Identifier 3046899 3046922 - Identifier 3046923 3046927 - Identifier 3046928 3046936 - SpreadElement 3046937 3046945 - Identifier 3046941 3046945 - ReturnStatement 3046948 3046974 - TrueKeyword 3046968 3046973 - ReturnStatement 3046985 3047008 - FalseKeyword 3047001 3047007 - FunctionDeclaration 3047015 3047615 - Identifier 3047031 3047069 - Parameter 3047070 3047098 - Identifier 3047070 3047074 - TypeReference 3047075 3047098 - Identifier 3047075 3047098 - Block 3047099 3047615 - VariableStatement 3047101 3047210 - VariableDeclarationList 3047101 3047209 - VariableDeclaration 3047116 3047209 - Identifier 3047116 3047136 - ConditionalExpression 3047138 3047209 - CallExpression 3047138 3047155 - Identifier 3047138 3047149 - Identifier 3047150 3047154 - QuestionToken 3047155 3047157 - CallExpression 3047157 3047197 - Identifier 3047157 3047191 - Identifier 3047192 3047196 - ColonToken 3047197 3047199 - Identifier 3047199 3047209 - VariableStatement 3047210 3047318 - VariableDeclarationList 3047210 3047317 - VariableDeclaration 3047225 3047317 - Identifier 3047225 3047231 - BinaryExpression 3047233 3047317 - PropertyAccessExpression 3047233 3047253 - Identifier 3047233 3047238 - Identifier 3047239 3047253 - BarBarToken 3047253 3047256 - BinaryExpression 3047256 3047317 - Identifier 3047256 3047276 - AmpersandAmpersandToken 3047276 3047279 - CallExpression 3047279 3047317 - Identifier 3047279 3047296 - Identifier 3047297 3047316 - IfStatement 3047318 3047608 - Identifier 3047332 3047337 - Block 3047338 3047608 - VariableStatement 3047340 3047458 - VariableDeclarationList 3047340 3047457 - VariableDeclaration 3047359 3047457 - Identifier 3047359 3047363 - ConditionalExpression 3047365 3047457 - BinaryExpression 3047365 3047389 - PropertyAccessExpression 3047365 3047375 - Identifier 3047365 3047371 - Identifier 3047372 3047375 - EqualsEqualsEqualsToken 3047375 3047379 - PropertyAccessExpression 3047379 3047389 - Identifier 3047379 3047385 - Identifier 3047386 3047389 - QuestionToken 3047389 3047391 - PropertyAccessExpression 3047391 3047401 - Identifier 3047391 3047397 - Identifier 3047398 3047401 - ColonToken 3047401 3047403 - CallExpression 3047403 3047457 - Identifier 3047403 3047414 - PropertyAccessExpression 3047415 3047445 - CallExpression 3047415 3047440 - Identifier 3047415 3047434 - Identifier 3047435 3047439 - Identifier 3047441 3047445 - PropertyAccessExpression 3047446 3047456 - Identifier 3047446 3047452 - Identifier 3047453 3047456 - ReturnStatement 3047458 3047597 - CallExpression 3047478 3047596 - Identifier 3047478 3047496 - Identifier 3047497 3047501 - Identifier 3047502 3047506 - BinaryExpression 3047507 3047523 - PropertyAccessExpression 3047507 3047517 - Identifier 3047507 3047513 - Identifier 3047514 3047517 - MinusToken 3047517 3047519 - Identifier 3047519 3047523 - PropertyAccessExpression 3047524 3047595 - Identifier 3047524 3047536 - Identifier 3047537 3047595 - FunctionDeclaration 3047615 3047927 - Identifier 3047631 3047669 - Parameter 3047670 3047698 - Identifier 3047670 3047674 - TypeReference 3047675 3047698 - Identifier 3047675 3047698 - Block 3047699 3047927 - VariableStatement 3047701 3047770 - VariableDeclarationList 3047701 3047769 - VariableDeclaration 3047716 3047769 - Identifier 3047716 3047721 - BinaryExpression 3047723 3047769 - PropertyAccessExpression 3047723 3047733 - Identifier 3047723 3047728 - Identifier 3047729 3047733 - BarBarToken 3047733 3047736 - CallExpression 3047736 3047769 - Identifier 3047736 3047763 - Identifier 3047764 3047768 - IfStatement 3047770 3047920 - Identifier 3047784 3047788 - Block 3047789 3047920 - ReturnStatement 3047791 3047909 - CallExpression 3047811 3047908 - Identifier 3047811 3047830 - Identifier 3047831 3047835 - PropertyAccessExpression 3047836 3047907 - Identifier 3047836 3047848 - Identifier 3047849 3047907 - FunctionDeclaration 3047927 3051670 - Identifier 3047943 3047964 - Parameter 3047965 3048010 - Identifier 3047965 3047969 - UnionType 3047970 3048010 - TypeReference 3047970 3047990 - Identifier 3047970 3047990 - TypeReference 3047992 3048010 - Identifier 3047992 3048010 - Block 3048011 3051670 - IfStatement 3048013 3048315 - BinaryExpression 3048027 3048172 - BinaryExpression 3048027 3048104 - CallExpression 3048027 3048060 - Identifier 3048027 3048049 - PropertyAccessExpression 3048050 3048059 - Identifier 3048050 3048054 - Identifier 3048055 3048059 - AmpersandAmpersandToken 3048060 3048063 - CallExpression 3048063 3048104 - Identifier 3048063 3048082 - PropertyAccessExpression 3048083 3048103 - PropertyAccessExpression 3048083 3048092 - Identifier 3048083 3048087 - Identifier 3048088 3048092 - Identifier 3048093 3048103 - AmpersandAmpersandToken 3048104 3048107 - BinaryExpression 3048107 3048172 - PropertyAccessExpression 3048107 3048147 - PropertyAccessExpression 3048107 3048142 - PropertyAccessExpression 3048107 3048128 - PropertyAccessExpression 3048107 3048117 - Identifier 3048107 3048112 - Identifier 3048113 3048117 - Identifier 3048118 3048128 - Identifier 3048129 3048142 - Identifier 3048143 3048147 - EqualsEqualsEqualsToken 3048147 3048151 - PropertyAccessExpression 3048151 3048172 - Identifier 3048151 3048162 - Identifier 3048163 3048172 - Block 3048173 3048315 - ReturnStatement 3048175 3048304 - CallExpression 3048195 3048303 - Identifier 3048195 3048214 - ElementAccessExpression 3048215 3048237 - PropertyAccessExpression 3048215 3048234 - PropertyAccessExpression 3048215 3048226 - Identifier 3048215 3048219 - Identifier 3048220 3048226 - Identifier 3048227 3048234 - NumericLiteral 3048235 3048236 - PropertyAccessExpression 3048238 3048302 - Identifier 3048238 3048250 - Identifier 3048251 3048302 - IfStatement 3048315 3050823 - CallExpression 3048329 3048353 - Identifier 3048329 3048340 - PropertyAccessExpression 3048341 3048352 - Identifier 3048341 3048345 - Identifier 3048346 3048352 - Block 3048354 3049580 - IfStatement 3048356 3048569 - BinaryExpression 3048374 3048436 - CallExpression 3048374 3048400 - Identifier 3048374 3048389 - PropertyAccessExpression 3048390 3048399 - Identifier 3048390 3048394 - Identifier 3048395 3048399 - AmpersandAmpersandToken 3048400 3048403 - BinaryExpression 3048403 3048436 - PropertyAccessExpression 3048403 3048418 - PropertyAccessExpression 3048403 3048413 - Identifier 3048403 3048408 - Identifier 3048409 3048413 - Identifier 3048414 3048418 - EqualsEqualsEqualsToken 3048418 3048422 - StringLiteral 3048422 3048436 - Block 3048437 3048569 - ReturnStatement 3048439 3048554 - CallExpression 3048463 3048553 - Identifier 3048463 3048482 - PropertyAccessExpression 3048483 3048492 - Identifier 3048483 3048487 - Identifier 3048488 3048492 - PropertyAccessExpression 3048493 3048552 - Identifier 3048493 3048505 - Identifier 3048506 3048552 - IfStatement 3048569 3048805 - CallExpression 3048587 3048757 - Identifier 3048587 3048620 - PropertyAccessExpression 3048621 3048630 - Identifier 3048621 3048625 - Identifier 3048626 3048630 - PropertyAccessExpression 3048631 3048756 - Identifier 3048631 3048643 - Identifier 3048644 3048756 - Block 3048758 3048805 - ReturnStatement 3048760 3048790 - TrueKeyword 3048784 3048789 - IfStatement 3048805 3049061 - BinaryExpression 3048823 3048894 - BinaryExpression 3048823 3048860 - Identifier 3048823 3048838 - LessThanToken 3048838 3048840 - PropertyAccessExpression 3048840 3048860 - Identifier 3048840 3048853 - Identifier 3048854 3048860 - AmpersandAmpersandToken 3048860 3048863 - CallExpression 3048863 3048894 - Identifier 3048863 3048883 - PropertyAccessExpression 3048884 3048893 - Identifier 3048884 3048888 - Identifier 3048889 3048893 - Block 3048895 3049061 - ReturnStatement 3048897 3049046 - CallExpression 3048921 3049045 - Identifier 3048921 3048940 - PropertyAccessExpression 3048941 3048950 - Identifier 3048941 3048945 - Identifier 3048946 3048950 - PropertyAccessExpression 3048951 3049044 - Identifier 3048951 3048963 - Identifier 3048964 3049044 - IfStatement 3049061 3049344 - BinaryExpression 3049079 3049159 - BinaryExpression 3049079 3049116 - Identifier 3049079 3049094 - LessThanToken 3049094 3049096 - PropertyAccessExpression 3049096 3049116 - Identifier 3049096 3049109 - Identifier 3049110 3049116 - AmpersandAmpersandToken 3049116 3049119 - CallExpression 3049119 3049159 - Identifier 3049119 3049153 - Identifier 3049154 3049158 - Block 3049160 3049344 - ReturnStatement 3049162 3049329 - CallExpression 3049186 3049328 - Identifier 3049186 3049205 - PropertyAccessExpression 3049206 3049215 - Identifier 3049206 3049210 - Identifier 3049211 3049215 - PropertyAccessExpression 3049216 3049327 - Identifier 3049216 3049228 - Identifier 3049229 3049327 - IfStatement 3049344 3049569 - BinaryExpression 3049362 3049521 - CallExpression 3049362 3049401 - Identifier 3049362 3049395 - Identifier 3049396 3049400 - AmpersandAmpersandToken 3049401 3049404 - CallExpression 3049404 3049521 - Identifier 3049404 3049439 - PropertyAccessExpression 3049440 3049458 - Identifier 3049440 3049444 - Identifier 3049445 3049458 - PropertyAccessExpression 3049459 3049520 - Identifier 3049459 3049471 - Identifier 3049472 3049520 - Block 3049522 3049569 - ReturnStatement 3049524 3049554 - TrueKeyword 3049548 3049553 - IfStatement 3049594 3050823 - BinaryExpression 3049599 3049651 - PropertyAccessExpression 3049599 3049615 - PropertyAccessExpression 3049599 3049610 - Identifier 3049599 3049603 - Identifier 3049604 3049610 - Identifier 3049611 3049615 - EqualsEqualsEqualsToken 3049615 3049619 - PropertyAccessExpression 3049619 3049651 - Identifier 3049619 3049630 - Identifier 3049631 3049651 - Block 3049652 3050210 - IfStatement 3049654 3049899 - CallExpression 3049672 3049851 - Identifier 3049672 3049705 - PropertyAccessExpression 3049706 3049715 - Identifier 3049706 3049710 - Identifier 3049711 3049715 - PropertyAccessExpression 3049716 3049850 - Identifier 3049716 3049728 - Identifier 3049729 3049850 - Block 3049852 3049899 - ReturnStatement 3049854 3049884 - TrueKeyword 3049878 3049883 - ExpressionStatement 3049899 3050023 - CallExpression 3049899 3050022 - PropertyAccessExpression 3049899 3049995 - Identifier 3049899 3049984 - Identifier 3049985 3049995 - Identifier 3049996 3050000 - Identifier 3050001 3050021 - IfStatement 3050023 3050199 - PropertyAccessExpression 3050041 3050057 - Identifier 3050041 3050045 - Identifier 3050046 3050057 - Block 3050058 3050199 - ReturnStatement 3050060 3050184 - CallExpression 3050084 3050183 - Identifier 3050084 3050103 - PropertyAccessExpression 3050104 3050120 - Identifier 3050104 3050108 - Identifier 3050109 3050120 - PropertyAccessExpression 3050121 3050182 - Identifier 3050121 3050133 - Identifier 3050134 3050182 - IfStatement 3050224 3050823 - CallExpression 3050229 3050259 - Identifier 3050229 3050246 - PropertyAccessExpression 3050247 3050258 - Identifier 3050247 3050251 - Identifier 3050252 3050258 - Block 3050260 3050823 - IfStatement 3050262 3050509 - CallExpression 3050280 3050461 - Identifier 3050280 3050313 - PropertyAccessExpression 3050314 3050323 - Identifier 3050314 3050318 - Identifier 3050319 3050323 - PropertyAccessExpression 3050324 3050460 - Identifier 3050324 3050336 - Identifier 3050337 3050460 - Block 3050462 3050509 - ReturnStatement 3050464 3050494 - TrueKeyword 3050488 3050493 - ExpressionStatement 3050509 3050634 - CallExpression 3050509 3050633 - PropertyAccessExpression 3050509 3050606 - Identifier 3050509 3050595 - Identifier 3050596 3050606 - Identifier 3050607 3050611 - Identifier 3050612 3050632 - IfStatement 3050634 3050812 - PropertyAccessExpression 3050652 3050668 - Identifier 3050652 3050656 - Identifier 3050657 3050668 - Block 3050669 3050812 - ReturnStatement 3050671 3050797 - CallExpression 3050695 3050796 - Identifier 3050695 3050714 - PropertyAccessExpression 3050715 3050731 - Identifier 3050715 3050719 - Identifier 3050720 3050731 - PropertyAccessExpression 3050732 3050795 - Identifier 3050732 3050744 - Identifier 3050745 3050795 - IfStatement 3050823 3050927 - BinaryExpression 3050839 3050869 - PropertyAccessExpression 3050839 3050849 - Identifier 3050839 3050843 - Identifier 3050844 3050849 - AmpersandToken 3050849 3050851 - PropertyAccessExpression 3050851 3050869 - Identifier 3050851 3050861 - Identifier 3050862 3050869 - Block 3050870 3050927 - ExpressionStatement 3050872 3050916 - CallExpression 3050872 3050915 - Identifier 3050872 3050909 - Identifier 3050910 3050914 - IfStatement 3050927 3051663 - BinaryExpression 3050943 3051172 - BinaryExpression 3050943 3051009 - CallExpression 3050943 3050984 - Identifier 3050943 3050978 - Identifier 3050979 3050983 - AmpersandAmpersandToken 3050984 3050987 - PropertyAccessExpression 3050987 3051009 - Identifier 3050987 3050992 - Identifier 3050993 3051009 - AmpersandAmpersandToken 3051009 3051012 - ParenthesizedExpression 3051012 3051172 - BinaryExpression 3051014 3051171 - BinaryExpression 3051014 3051142 - BinaryExpression 3051014 3051124 - BinaryExpression 3051014 3051073 - BinaryExpression 3051014 3051053 - PrefixUnaryExpression 3051014 3051039 - CallExpression 3051015 3051039 - Identifier 3051015 3051026 - PropertyAccessExpression 3051027 3051038 - Identifier 3051027 3051031 - Identifier 3051032 3051038 - BarBarToken 3051039 3051042 - PrefixUnaryExpression 3051042 3051053 - PropertyAccessExpression 3051044 3051053 - Identifier 3051044 3051048 - Identifier 3051049 3051053 - BarBarToken 3051053 3051056 - PropertyAccessExpression 3051056 3051073 - Identifier 3051056 3051061 - Identifier 3051062 3051073 - BarBarToken 3051073 3051076 - BinaryExpression 3051076 3051124 - PropertyAccessExpression 3051076 3051104 - Identifier 3051076 3051098 - Identifier 3051099 3051104 - AmpersandToken 3051104 3051106 - PropertyAccessExpression 3051106 3051124 - Identifier 3051106 3051116 - Identifier 3051117 3051124 - BarBarToken 3051124 3051127 - CallExpression 3051127 3051142 - Identifier 3051127 3051136 - Identifier 3051137 3051141 - BarBarToken 3051142 3051145 - CallExpression 3051145 3051171 - Identifier 3051145 3051165 - Identifier 3051166 3051170 - Block 3051183 3051663 - VariableStatement 3051185 3051580 - VariableDeclarationList 3051185 3051579 - VariableDeclaration 3051204 3051579 - Identifier 3051204 3051212 - ConditionalExpression 3051214 3051579 - PropertyAccessExpression 3051214 3051231 - Identifier 3051214 3051219 - Identifier 3051220 3051231 - QuestionToken 3051231 3051250 - PropertyAccessExpression 3051250 3051341 - Identifier 3051250 3051262 - Identifier 3051263 3051341 - ColonToken 3051341 3051360 - ConditionalExpression 3051360 3051579 - PrefixUnaryExpression 3051360 3051371 - PropertyAccessExpression 3051362 3051371 - Identifier 3051362 3051366 - Identifier 3051367 3051371 - QuestionToken 3051371 3051390 - PropertyAccessExpression 3051390 3051483 - Identifier 3051390 3051402 - Identifier 3051403 3051483 - ColonToken 3051483 3051502 - PropertyAccessExpression 3051502 3051579 - Identifier 3051502 3051514 - Identifier 3051515 3051579 - ReturnStatement 3051580 3051652 - CallExpression 3051600 3051651 - Identifier 3051600 3051619 - PropertyAccessExpression 3051620 3051641 - Identifier 3051620 3051624 - Identifier 3051625 3051641 - Identifier 3051642 3051650 - FunctionDeclaration 3051670 3053120 - Identifier 3051686 3051740 - Parameter 3051741 3051751 - Identifier 3051741 3051745 - TypeReference 3051746 3051751 - Identifier 3051746 3051751 - BooleanKeyword 3051753 3051761 - Block 3051761 3053120 - IfStatement 3051763 3052961 - BinaryExpression 3052367 3052910 - BinaryExpression 3052367 3052797 - BinaryExpression 3052367 3052729 - BinaryExpression 3052367 3052671 - BinaryExpression 3052367 3052612 - BinaryExpression 3052367 3052547 - BinaryExpression 3052367 3052488 - BinaryExpression 3052367 3052426 - PropertyAccessExpression 3052367 3052390 - Identifier 3052367 3052385 - Identifier 3052386 3052390 - EqualsEqualsEqualsToken 3052390 3052394 - PropertyAccessExpression 3052394 3052426 - Identifier 3052394 3052405 - Identifier 3052406 3052426 - BarBarToken 3052426 3052429 - BinaryExpression 3052429 3052488 - PropertyAccessExpression 3052429 3052452 - Identifier 3052429 3052447 - Identifier 3052448 3052452 - EqualsEqualsEqualsToken 3052452 3052456 - PropertyAccessExpression 3052456 3052488 - Identifier 3052456 3052467 - Identifier 3052468 3052488 - BarBarToken 3052488 3052491 - BinaryExpression 3052491 3052547 - PropertyAccessExpression 3052491 3052514 - Identifier 3052491 3052509 - Identifier 3052510 3052514 - EqualsEqualsEqualsToken 3052514 3052518 - PropertyAccessExpression 3052518 3052547 - Identifier 3052518 3052529 - Identifier 3052530 3052547 - BarBarToken 3052547 3052550 - BinaryExpression 3052550 3052612 - PropertyAccessExpression 3052550 3052573 - Identifier 3052550 3052568 - Identifier 3052569 3052573 - EqualsEqualsEqualsToken 3052573 3052577 - PropertyAccessExpression 3052577 3052612 - Identifier 3052577 3052588 - Identifier 3052589 3052612 - BarBarToken 3052612 3052615 - BinaryExpression 3052615 3052671 - PropertyAccessExpression 3052615 3052638 - Identifier 3052615 3052633 - Identifier 3052634 3052638 - EqualsEqualsEqualsToken 3052638 3052642 - PropertyAccessExpression 3052642 3052671 - Identifier 3052642 3052653 - Identifier 3052654 3052671 - BarBarToken 3052671 3052674 - BinaryExpression 3052674 3052729 - PropertyAccessExpression 3052674 3052697 - Identifier 3052674 3052692 - Identifier 3052693 3052697 - EqualsEqualsEqualsToken 3052697 3052701 - PropertyAccessExpression 3052701 3052729 - Identifier 3052701 3052712 - Identifier 3052713 3052729 - BarBarToken 3052729 3052732 - BinaryExpression 3052732 3052797 - PropertyAccessExpression 3052732 3052755 - Identifier 3052732 3052750 - Identifier 3052751 3052755 - EqualsEqualsEqualsToken 3052755 3052759 - PropertyAccessExpression 3052759 3052797 - Identifier 3052759 3052770 - Identifier 3052771 3052797 - BarBarToken 3052797 3052800 - CallExpression 3052800 3052910 - Identifier 3052800 3052834 - Identifier 3052835 3052839 - BinaryExpression 3052840 3052909 - BinaryExpression 3052840 3052885 - PropertyAccessExpression 3052840 3052862 - Identifier 3052840 3052854 - Identifier 3052855 3052862 - BarToken 3052862 3052864 - PropertyAccessExpression 3052864 3052885 - Identifier 3052864 3052878 - Identifier 3052879 3052885 - BarToken 3052885 3052887 - PropertyAccessExpression 3052887 3052909 - Identifier 3052887 3052901 - Identifier 3052902 3052909 - Block 3052921 3052961 - ReturnStatement 3052923 3052950 - FalseKeyword 3052943 3052949 - ReturnStatement 3052961 3053113 - CallExpression 3052979 3053112 - Identifier 3052979 3053004 - Identifier 3053005 3053009 - PropertyAccessExpression 3053010 3053111 - Identifier 3053010 3053022 - Identifier 3053023 3053111 - FunctionDeclaration 3053120 3053546 - Identifier 3053136 3053191 - Parameter 3053192 3053208 - Identifier 3053192 3053196 - TypeReference 3053197 3053208 - Identifier 3053197 3053208 - BooleanKeyword 3053210 3053218 - Block 3053218 3053546 - ForOfStatement 3053220 3053516 - VariableDeclarationList 3053235 3053245 - VariableDeclaration 3053240 3053245 - Identifier 3053240 3053245 - PropertyAccessExpression 3053248 3053264 - Identifier 3053248 3053253 - Identifier 3053254 3053264 - Block 3053265 3053516 - IfStatement 3053267 3053505 - BinaryExpression 3053285 3053350 - CallExpression 3053285 3053304 - Identifier 3053285 3053298 - Identifier 3053299 3053303 - BarBarToken 3053304 3053307 - BinaryExpression 3053307 3053350 - PropertyAccessExpression 3053307 3053317 - Identifier 3053307 3053312 - Identifier 3053313 3053317 - EqualsEqualsEqualsToken 3053317 3053321 - PropertyAccessExpression 3053321 3053350 - Identifier 3053321 3053332 - Identifier 3053333 3053350 - Block 3053351 3053505 - IfStatement 3053353 3053490 - CallExpression 3053375 3053434 - Identifier 3053375 3053428 - Identifier 3053429 3053433 - Block 3053435 3053490 - ReturnStatement 3053437 3053471 - TrueKeyword 3053465 3053470 - ReturnStatement 3053516 3053539 - FalseKeyword 3053532 3053538 - FunctionDeclaration 3053546 3053737 - Identifier 3053562 3053585 - Parameter 3053586 3053602 - Identifier 3053586 3053590 - TypeReference 3053591 3053602 - Identifier 3053591 3053602 - BooleanKeyword 3053604 3053612 - Block 3053612 3053737 - ReturnStatement 3053614 3053730 - BinaryExpression 3053630 3053729 - PrefixUnaryExpression 3053630 3053665 - PrefixUnaryExpression 3053632 3053665 - ParenthesizedExpression 3053633 3053665 - BinaryExpression 3053634 3053664 - PropertyAccessExpression 3053634 3053644 - Identifier 3053634 3053638 - Identifier 3053639 3053644 - AmpersandToken 3053644 3053646 - PropertyAccessExpression 3053646 3053664 - Identifier 3053646 3053656 - Identifier 3053657 3053664 - AmpersandAmpersandToken 3053665 3053668 - CallExpression 3053668 3053729 - Identifier 3053668 3053723 - Identifier 3053724 3053728 - FunctionDeclaration 3053737 3055501 - Identifier 3053753 3053791 - Parameter 3053792 3053802 - Identifier 3053792 3053796 - TypeReference 3053797 3053802 - Identifier 3053797 3053802 - BooleanKeyword 3053804 3053812 - Block 3053812 3055501 - IfStatement 3053814 3055471 - BinaryExpression 3053828 3053858 - PropertyAccessExpression 3053828 3053838 - Identifier 3053828 3053832 - Identifier 3053833 3053838 - AmpersandToken 3053838 3053840 - PropertyAccessExpression 3053840 3053858 - Identifier 3053840 3053850 - Identifier 3053851 3053858 - Block 3053859 3055471 - VariableStatement 3053861 3053993 - VariableDeclarationList 3053861 3053992 - VariableDeclaration 3053965 3053992 - Identifier 3053965 3053971 - CallExpression 3053973 3053992 - Identifier 3053973 3053986 - Identifier 3053987 3053991 - IfStatement 3053993 3054316 - BinaryExpression 3054011 3054114 - PrefixUnaryExpression 3054011 3054054 - PropertyAccessExpression 3054012 3054054 - Identifier 3054012 3054017 - Identifier 3054018 3054054 - AmpersandAmpersandToken 3054054 3054057 - ParenthesizedExpression 3054057 3054114 - BinaryExpression 3054059 3054113 - CallExpression 3054059 3054086 - Identifier 3054059 3054073 - PropertyAccessExpression 3054074 3054085 - Identifier 3054074 3054078 - Identifier 3054079 3054085 - BarBarToken 3054086 3054089 - CallExpression 3054089 3054113 - Identifier 3054089 3054100 - PropertyAccessExpression 3054101 3054112 - Identifier 3054101 3054105 - Identifier 3054106 3054112 - Block 3054115 3054316 - ReturnStatement 3054117 3054301 - BinaryExpression 3054141 3054300 - PropertyAccessExpression 3054141 3054197 - CallExpression 3054141 3054160 - Identifier 3054141 3054154 - Identifier 3054155 3054159 - Identifier 3054161 3054197 - EqualsToken 3054197 3054199 - CallExpression 3054199 3054300 - Identifier 3054199 3054224 - Identifier 3054225 3054229 - PropertyAccessExpression 3054230 3054299 - Identifier 3054230 3054242 - Identifier 3054243 3054299 - IfStatement 3054316 3055460 - BinaryExpression 3054673 3054803 - BinaryExpression 3054673 3054757 - BinaryExpression 3054673 3054710 - PropertyAccessExpression 3054673 3054689 - PropertyAccessExpression 3054673 3054684 - Identifier 3054673 3054677 - Identifier 3054678 3054684 - Identifier 3054685 3054689 - EqualsEqualsEqualsToken 3054689 3054693 - PropertyAccessExpression 3054693 3054710 - Identifier 3054693 3054704 - Identifier 3054705 3054710 - BarBarToken 3054710 3054713 - BinaryExpression 3054713 3054757 - PropertyAccessExpression 3054713 3054730 - PropertyAccessExpression 3054713 3054725 - Identifier 3054713 3054718 - Identifier 3054719 3054725 - Identifier 3054726 3054730 - EqualsEqualsEqualsToken 3054730 3054734 - PropertyAccessExpression 3054734 3054757 - Identifier 3054734 3054745 - Identifier 3054746 3054757 - BarBarToken 3054757 3054760 - BinaryExpression 3054760 3054803 - PropertyAccessExpression 3054760 3054777 - PropertyAccessExpression 3054760 3054772 - Identifier 3054760 3054765 - Identifier 3054766 3054772 - Identifier 3054773 3054777 - EqualsEqualsEqualsToken 3054777 3054781 - PropertyAccessExpression 3054781 3054803 - Identifier 3054781 3054792 - Identifier 3054793 3054803 - Block 3054804 3055204 - VariableStatement 3054806 3054864 - VariableDeclarationList 3054806 3054863 - VariableDeclaration 3054829 3054863 - Identifier 3054829 3054835 - CallExpression 3054837 3054863 - Identifier 3054837 3054850 - PropertyAccessExpression 3054851 3054862 - Identifier 3054851 3054855 - Identifier 3054856 3054862 - IfStatement 3054864 3055189 - PrefixUnaryExpression 3054959 3055002 - PropertyAccessExpression 3054960 3055002 - Identifier 3054960 3054965 - Identifier 3054966 3055002 - Block 3055003 3055189 - ReturnStatement 3055005 3055170 - BinaryExpression 3055033 3055169 - PropertyAccessExpression 3055033 3055076 - Identifier 3055033 3055039 - Identifier 3055040 3055076 - EqualsToken 3055076 3055078 - CallExpression 3055078 3055169 - Identifier 3055078 3055103 - Identifier 3055104 3055108 - PropertyAccessExpression 3055109 3055168 - Identifier 3055109 3055121 - Identifier 3055122 3055168 - Block 3055222 3055460 - ReturnStatement 3055471 3055494 - FalseKeyword 3055487 3055493 - FunctionDeclaration 3055501 3057209 - Identifier 3055517 3055544 - Parameter 3055545 3055565 - Identifier 3055545 3055549 - TypeReference 3055550 3055565 - Identifier 3055550 3055565 - Block 3055566 3057209 - VariableStatement 3055568 3055901 - VariableDeclarationList 3055568 3055900 - VariableDeclaration 3055851 3055900 - Identifier 3055851 3055864 - CallExpression 3055866 3055900 - PropertyAccessExpression 3055866 3055895 - CallExpression 3055866 3055886 - Identifier 3055866 3055880 - Identifier 3055881 3055885 - Identifier 3055887 3055895 - StringLiteral 3055896 3055899 - VariableStatement 3055901 3055981 - VariableDeclarationList 3055901 3055980 - VariableDeclaration 3055916 3055980 - Identifier 3055916 3055929 - BinaryExpression 3055931 3055980 - PropertyAccessExpression 3055931 3055956 - Identifier 3055931 3055936 - Identifier 3055937 3055956 - AmpersandToken 3055956 3055958 - PropertyAccessExpression 3055958 3055980 - Identifier 3055958 3055969 - Identifier 3055970 3055980 - IfStatement 3055981 3056242 - BinaryExpression 3056179 3056207 - Identifier 3056179 3056191 - BarBarToken 3056191 3056194 - Identifier 3056194 3056207 - Block 3056208 3056242 - ReturnStatement 3056210 3056231 - VariableStatement 3056242 3056919 - VariableDeclarationList 3056242 3056918 - VariableDeclaration 3056899 3056918 - Identifier 3056899 3056905 - PrefixUnaryExpression 3056907 3056918 - PropertyAccessExpression 3056909 3056918 - Identifier 3056909 3056913 - Identifier 3056914 3056918 - IfStatement 3056919 3056988 - BinaryExpression 3056933 3056953 - Identifier 3056933 3056938 - LessThanEqualsToken 3056938 3056941 - BinaryExpression 3056941 3056953 - BinaryExpression 3056941 3056949 - NumericLiteral 3056941 3056943 - AsteriskAsteriskToken 3056943 3056946 - NumericLiteral 3056946 3056949 - MinusToken 3056949 3056951 - NumericLiteral 3056951 3056953 - Block 3056954 3056988 - ReturnStatement 3056956 3056977 - ExpressionStatement 3056988 3057202 - CallExpression 3056988 3057201 - Identifier 3056988 3057020 - FalseKeyword 3057021 3057038 - CallExpression 3057039 3057200 - Identifier 3057039 3057063 - Identifier 3057064 3057068 - PropertyAccessExpression 3057069 3057199 - Identifier 3057069 3057081 - Identifier 3057082 3057199 - FunctionDeclaration 3057209 3057763 - Identifier 3057225 3057251 - Parameter 3057252 3057271 - Identifier 3057252 3057256 - TypeReference 3057257 3057271 - Identifier 3057257 3057271 - BooleanKeyword 3057273 3057281 - Block 3057281 3057763 - VariableStatement 3057283 3057438 - VariableDeclarationList 3057283 3057437 - VariableDeclaration 3057298 3057437 - Identifier 3057298 3057310 - BinaryExpression 3057312 3057437 - CallExpression 3057312 3057343 - Identifier 3057312 3057330 - PropertyAccessExpression 3057331 3057342 - Identifier 3057331 3057335 - Identifier 3057336 3057342 - BarBarToken 3057343 3057346 - BinaryExpression 3057346 3057437 - CallExpression 3057346 3057396 - Identifier 3057346 3057383 - PropertyAccessExpression 3057384 3057395 - Identifier 3057384 3057388 - Identifier 3057389 3057395 - AmpersandAmpersandToken 3057396 3057399 - CallExpression 3057399 3057437 - Identifier 3057399 3057417 - PropertyAccessExpression 3057418 3057436 - PropertyAccessExpression 3057418 3057429 - Identifier 3057418 3057422 - Identifier 3057423 3057429 - Identifier 3057430 3057436 - IfStatement 3057438 3057733 - PrefixUnaryExpression 3057452 3057464 - Identifier 3057453 3057464 - Block 3057465 3057733 - IfStatement 3057467 3057722 - BinaryExpression 3057485 3057522 - Identifier 3057485 3057500 - LessThanToken 3057500 3057502 - PropertyAccessExpression 3057502 3057522 - Identifier 3057502 3057515 - Identifier 3057516 3057522 - Block 3057523 3057722 - IfStatement 3057525 3057707 - CallExpression 3057547 3057651 - Identifier 3057547 3057565 - Identifier 3057566 3057570 - PropertyAccessExpression 3057571 3057650 - Identifier 3057571 3057583 - Identifier 3057584 3057650 - Block 3057652 3057707 - ReturnStatement 3057654 3057688 - TrueKeyword 3057682 3057687 - ReturnStatement 3057733 3057756 - FalseKeyword 3057749 3057755 - FunctionDeclaration 3057763 3058248 - Identifier 3057779 3057807 - Parameter 3057808 3057818 - Identifier 3057808 3057812 - TypeReference 3057813 3057818 - Identifier 3057813 3057818 - Parameter 3057819 3057846 - Identifier 3057819 3057827 - TypeReference 3057828 3057846 - Identifier 3057828 3057846 - Parameter 3057847 3057876 - DotDotDotToken 3057847 3057851 - Identifier 3057851 3057855 - TypeReference 3057856 3057876 - Identifier 3057856 3057876 - BooleanKeyword 3057878 3057886 - Block 3057886 3058248 - VariableStatement 3057888 3057943 - VariableDeclarationList 3057888 3057942 - VariableDeclaration 3057903 3057942 - Identifier 3057903 3057914 - CallExpression 3057916 3057942 - Identifier 3057916 3057936 - Identifier 3057937 3057941 - IfStatement 3057943 3058218 - PrefixUnaryExpression 3057957 3057989 - CallExpression 3057958 3057989 - Identifier 3057958 3057977 - Identifier 3057978 3057988 - Block 3057990 3058218 - VariableStatement 3057992 3058066 - VariableDeclarationList 3057992 3058065 - VariableDeclaration 3058011 3058065 - Identifier 3058011 3058016 - CallExpression 3058018 3058065 - Identifier 3058018 3058043 - Identifier 3058044 3058054 - PropertyAccessExpression 3058055 3058064 - Identifier 3058055 3058060 - Identifier 3058061 3058064 - ExpressionStatement 3058066 3058181 - CallExpression 3058066 3058180 - PropertyAccessExpression 3058066 3058095 - Identifier 3058066 3058091 - Identifier 3058092 3058095 - CallExpression 3058096 3058179 - Identifier 3058096 3058116 - Identifier 3058117 3058127 - CallExpression 3058128 3058146 - Identifier 3058128 3058140 - Identifier 3058141 3058145 - NumericLiteral 3058147 3058160 - Identifier 3058161 3058169 - SpreadElement 3058170 3058178 - Identifier 3058174 3058178 - ReturnStatement 3058181 3058207 - TrueKeyword 3058201 3058206 - ReturnStatement 3058218 3058241 - FalseKeyword 3058234 3058240 - FunctionDeclaration 3058248 3058743 - Identifier 3058264 3058282 - ArrayType 3058285 3058294 - TypeReference 3058285 3058292 - Identifier 3058285 3058292 - Block 3058294 3058743 - IfStatement 3058296 3058699 - PrefixUnaryExpression 3058310 3058330 - Identifier 3058311 3058330 - Block 3058331 3058699 - ExpressionStatement 3058333 3058372 - BinaryExpression 3058333 3058371 - Identifier 3058333 3058366 - EqualsToken 3058366 3058368 - ArrayLiteralExpression 3058368 3058371 - ExpressionStatement 3058372 3058688 - CallExpression 3058372 3058687 - PropertyAccessExpression 3058372 3058401 - Identifier 3058372 3058393 - Identifier 3058394 3058401 - ArrowFunction 3058402 3058686 - Parameter 3058403 3058409 - Identifier 3058403 3058409 - Parameter 3058410 3058414 - Identifier 3058410 3058414 - EqualsGreaterThanToken 3058415 3058418 - Block 3058418 3058686 - IfStatement 3058420 3058671 - CallExpression 3058549 3058593 - PropertyAccessExpression 3058549 3058578 - Identifier 3058549 3058573 - Identifier 3058574 3058578 - AsExpression 3058579 3058592 - Identifier 3058579 3058582 - StringKeyword 3058585 3058592 - Block 3058594 3058671 - ExpressionStatement 3058596 3058652 - CallExpression 3058596 3058651 - PropertyAccessExpression 3058596 3058643 - NonNullExpression 3058596 3058638 - Identifier 3058596 3058637 - Identifier 3058639 3058643 - Identifier 3058644 3058650 - ReturnStatement 3058699 3058736 - Identifier 3058715 3058735 - FunctionDeclaration 3058743 3059235 - Identifier 3058759 3058784 - Parameter 3058785 3058803 - Identifier 3058785 3058789 - TypeReference 3058790 3058803 - Identifier 3058790 3058803 - BooleanKeyword 3058805 3058813 - Block 3058813 3059235 - IfStatement 3058815 3059031 - BinaryExpression 3058829 3058879 - BinaryExpression 3058829 3058857 - PropertyAccessExpression 3058829 3058844 - Identifier 3058829 3058833 - Identifier 3058834 3058844 - AmpersandAmpersandToken 3058844 3058847 - PropertyAccessExpression 3058847 3058857 - Identifier 3058847 3058852 - Identifier 3058853 3058857 - AmpersandAmpersandToken 3058857 3058860 - PropertyAccessExpression 3058860 3058879 - Identifier 3058860 3058865 - Identifier 3058866 3058879 - Block 3058880 3059031 - ReturnStatement 3058882 3059020 - CallExpression 3058902 3059019 - Identifier 3058902 3058921 - Identifier 3058922 3058926 - PropertyAccessExpression 3058927 3059018 - Identifier 3058927 3058939 - Identifier 3058940 3059018 - IfStatement 3059031 3059205 - BinaryExpression 3059045 3059116 - PropertyAccessExpression 3059045 3059060 - Identifier 3059045 3059049 - Identifier 3059050 3059060 - AmpersandAmpersandToken 3059060 3059063 - BinaryExpression 3059063 3059116 - PropertyAccessExpression 3059063 3059088 - PropertyAccessExpression 3059063 3059082 - Identifier 3059063 3059068 - Identifier 3059069 3059082 - QuestionDotToken 3059082 3059084 - Identifier 3059084 3059088 - EqualsEqualsEqualsToken 3059088 3059092 - PropertyAccessExpression 3059092 3059116 - Identifier 3059092 3059103 - Identifier 3059104 3059116 - Block 3059117 3059205 - ReturnStatement 3059119 3059194 - CallExpression 3059139 3059193 - Identifier 3059139 3059173 - PropertyAccessExpression 3059174 3059192 - Identifier 3059174 3059178 - Identifier 3059179 3059192 - ReturnStatement 3059205 3059228 - FalseKeyword 3059221 3059227 - FunctionDeclaration 3059235 3059967 - Identifier 3059251 3059285 - Parameter 3059286 3059322 - Identifier 3059286 3059299 - TypeReference 3059300 3059322 - Identifier 3059300 3059322 - BooleanKeyword 3059324 3059332 - Block 3059332 3059967 - ReturnStatement 3059334 3059960 - PrefixUnaryExpression 3059350 3059959 - PrefixUnaryExpression 3059352 3059959 - CallExpression 3059353 3059959 - Identifier 3059353 3059360 - UnionType 3059361 3059394 - TypeReference 3059361 3059376 - Identifier 3059361 3059376 - TypeReference 3059378 3059394 - Identifier 3059378 3059394 - BooleanKeyword 3059395 3059403 - PropertyAccessExpression 3059405 3059427 - Identifier 3059405 3059418 - Identifier 3059419 3059427 - ArrowFunction 3059428 3059958 - Parameter 3059428 3059438 - Identifier 3059428 3059438 - EqualsGreaterThanToken 3059438 3059441 - Block 3059441 3059958 - IfStatement 3059443 3059947 - PropertyAccessExpression 3059461 3059481 - Identifier 3059461 3059470 - Identifier 3059471 3059481 - Block 3059482 3059947 - ReturnStatement 3059484 3059932 - CallExpression 3059508 3059931 - Identifier 3059508 3059533 - Identifier 3059534 3059565 - ConditionalExpression 3059566 3059911 - BinaryExpression 3059566 3059633 - PropertyAccessExpression 3059566 3059602 - Identifier 3059566 3059597 - Identifier 3059598 3059602 - EqualsEqualsEqualsToken 3059602 3059606 - PropertyAccessExpression 3059606 3059633 - Identifier 3059606 3059617 - Identifier 3059618 3059633 - QuestionToken 3059633 3059660 - PropertyAccessExpression 3059660 3059772 - Identifier 3059660 3059672 - Identifier 3059673 3059772 - ColonToken 3059772 3059799 - PropertyAccessExpression 3059799 3059911 - Identifier 3059799 3059811 - Identifier 3059812 3059911 - FunctionDeclaration 3059967 3062285 - Identifier 3059983 3060016 - Parameter 3060017 3060033 - Identifier 3060017 3060021 - TypeReference 3060022 3060033 - Identifier 3060022 3060033 - BooleanKeyword 3060035 3060043 - Block 3060043 3062285 - IfStatement 3060045 3060290 - BinaryExpression 3060059 3060133 - PropertyAccessExpression 3060059 3060095 - Identifier 3060059 3060074 - Identifier 3060075 3060095 - AmpersandAmpersandToken 3060095 3060098 - BinaryExpression 3060098 3060133 - Identifier 3060098 3060109 - EqualsEqualsEqualsToken 3060109 3060113 - PropertyAccessExpression 3060113 3060133 - Identifier 3060113 3060124 - Identifier 3060125 3060133 - Block 3060134 3060290 - ReturnStatement 3060136 3060279 - CallExpression 3060156 3060278 - Identifier 3060156 3060175 - Identifier 3060176 3060180 - PropertyAccessExpression 3060181 3060277 - Identifier 3060181 3060193 - Identifier 3060194 3060277 - IfStatement 3060290 3060548 - BinaryExpression 3060306 3060338 - Identifier 3060306 3060316 - EqualsEqualsEqualsToken 3060316 3060320 - PropertyAccessExpression 3060320 3060338 - Identifier 3060320 3060331 - Identifier 3060332 3060338 - Block 3060339 3060548 - ReturnStatement 3060341 3060537 - CallExpression 3060361 3060536 - Identifier 3060361 3060380 - Identifier 3060381 3060385 - PropertyAccessExpression 3060386 3060535 - Identifier 3060386 3060398 - Identifier 3060399 3060535 - IfStatement 3060548 3060775 - PropertyAccessExpression 3060564 3060582 - Identifier 3060564 3060568 - Identifier 3060569 3060582 - Block 3060583 3060775 - ReturnStatement 3060585 3060764 - CallExpression 3060605 3060763 - Identifier 3060605 3060624 - Identifier 3060625 3060629 - PropertyAccessExpression 3060630 3060762 - Identifier 3060630 3060642 - Identifier 3060643 3060762 - VariableStatement 3060775 3060824 - VariableDeclarationList 3060775 3060823 - VariableDeclaration 3060792 3060823 - Identifier 3060792 3060806 - PropertyAccessExpression 3060808 3060823 - Identifier 3060808 3060813 - Identifier 3060814 3060823 - IfStatement 3060824 3061480 - BinaryExpression 3060838 3060983 - BinaryExpression 3060838 3060945 - PrefixUnaryExpression 3060838 3060909 - ParenthesizedExpression 3060839 3060909 - BinaryExpression 3060840 3060908 - BinaryExpression 3060840 3060871 - PropertyAccessExpression 3060840 3060857 - Identifier 3060840 3060850 - Identifier 3060851 3060857 - LessThanEqualsToken 3060857 3060860 - Identifier 3060860 3060871 - AmpersandAmpersandToken 3060871 3060874 - BinaryExpression 3060874 3060908 - Identifier 3060874 3060885 - LessThanEqualsToken 3060885 3060888 - PropertyAccessExpression 3060888 3060908 - Identifier 3060888 3060899 - Identifier 3060900 3060908 - AmpersandAmpersandToken 3060909 3060912 - BinaryExpression 3060912 3060945 - Identifier 3060912 3060923 - ExclamationEqualsEqualsToken 3060923 3060927 - PropertyAccessExpression 3060927 3060945 - Identifier 3060927 3060938 - Identifier 3060939 3060945 - AmpersandAmpersandToken 3060945 3060948 - BinaryExpression 3060948 3060983 - Identifier 3060948 3060959 - ExclamationEqualsEqualsToken 3060959 3060963 - PropertyAccessExpression 3060963 3060983 - Identifier 3060963 3060974 - Identifier 3060975 3060983 - Block 3060984 3061480 - ExpressionStatement 3060986 3061134 - CallExpression 3060986 3061133 - Identifier 3060986 3061118 - Identifier 3061119 3061132 - IfStatement 3061134 3061469 - BinaryExpression 3061154 3061178 - PropertyAccessExpression 3061154 3061174 - Identifier 3061154 3061167 - Identifier 3061168 3061174 - GreaterThanToken 3061174 3061176 - NumericLiteral 3061176 3061178 - Block 3061179 3061469 - VariableStatement 3061181 3061249 - VariableDeclarationList 3061181 3061248 - VariableDeclaration 3061204 3061248 - Identifier 3061204 3061229 - ElementAccessExpression 3061231 3061248 - Identifier 3061231 3061245 - NumericLiteral 3061246 3061247 - ReturnStatement 3061249 3061454 - CallExpression 3061273 3061453 - Identifier 3061273 3061292 - Identifier 3061293 3061317 - PropertyAccessExpression 3061318 3061452 - Identifier 3061318 3061330 - Identifier 3061331 3061452 - IfStatement 3061480 3061721 - BinaryExpression 3061496 3061550 - BinaryExpression 3061496 3061522 - PropertyAccessExpression 3061496 3061516 - Identifier 3061496 3061509 - Identifier 3061510 3061516 - EqualsEqualsEqualsToken 3061516 3061520 - NumericLiteral 3061520 3061522 - BarBarToken 3061522 3061525 - BinaryExpression 3061525 3061550 - PropertyAccessExpression 3061525 3061546 - Identifier 3061525 3061539 - Identifier 3061540 3061546 - GreaterThanToken 3061546 3061548 - NumericLiteral 3061548 3061550 - Block 3061551 3061721 - ReturnStatement 3061553 3061710 - CallExpression 3061573 3061709 - Identifier 3061573 3061592 - Identifier 3061593 3061597 - PropertyAccessExpression 3061598 3061708 - Identifier 3061598 3061610 - Identifier 3061611 3061708 - VariableStatement 3061721 3062094 - VariableDeclarationList 3061721 3062093 - VariableDeclaration 3062040 3062093 - Identifier 3062040 3062054 - CallExpression 3062056 3062093 - Identifier 3062056 3062061 - Identifier 3062062 3062075 - Identifier 3062076 3062092 - IfStatement 3062094 3062255 - Identifier 3062108 3062121 - Block 3062122 3062255 - ReturnStatement 3062124 3062244 - CallExpression 3062144 3062243 - Identifier 3062144 3062163 - Identifier 3062164 3062177 - PropertyAccessExpression 3062178 3062242 - Identifier 3062178 3062190 - Identifier 3062191 3062242 - ReturnStatement 3062255 3062278 - FalseKeyword 3062271 3062277 - FunctionDeclaration 3062285 3063310 - Identifier 3062301 3062347 - Parameter 3062348 3062360 - Identifier 3062348 3062354 - TypeReference 3062355 3062360 - Identifier 3062355 3062360 - Parameter 3062361 3062398 - Identifier 3062361 3062373 - TypeReference 3062374 3062398 - Identifier 3062374 3062398 - Block 3062399 3063310 - VariableStatement 3062401 3062460 - VariableDeclarationList 3062401 3062459 - VariableDeclaration 3062416 3062459 - Identifier 3062416 3062434 - CallExpression 3062436 3062459 - Identifier 3062436 3062451 - Identifier 3062452 3062458 - IfStatement 3062460 3063303 - BinaryExpression 3062474 3062580 - BinaryExpression 3062474 3062541 - Identifier 3062474 3062491 - AmpersandToken 3062491 3062493 - ParenthesizedExpression 3062493 3062541 - BinaryExpression 3062495 3062540 - PropertyAccessExpression 3062495 3062516 - Identifier 3062495 3062506 - Identifier 3062507 3062516 - BarToken 3062516 3062518 - PropertyAccessExpression 3062518 3062540 - Identifier 3062518 3062530 - Identifier 3062531 3062540 - AmpersandAmpersandToken 3062541 3062544 - BinaryExpression 3062544 3062580 - PropertyAccessExpression 3062544 3062562 - Identifier 3062544 3062556 - Identifier 3062557 3062562 - AmpersandToken 3062562 3062564 - PropertyAccessExpression 3062564 3062580 - Identifier 3062564 3062574 - Identifier 3062575 3062580 - Block 3062581 3063303 - ReturnStatement 3062583 3063292 - CallExpression 3062603 3063291 - Identifier 3062603 3062608 - PropertyAccessExpression 3062609 3062626 - Identifier 3062609 3062620 - Identifier 3062621 3062626 - ArrowFunction 3062627 3063290 - Parameter 3062627 3062634 - Identifier 3062627 3062634 - EqualsGreaterThanToken 3062634 3062637 - Block 3062637 3063290 - IfStatement 3062639 3063244 - BinaryExpression 3062661 3062692 - PropertyAccessExpression 3062661 3062673 - Identifier 3062661 3062667 - Identifier 3062668 3062673 - AmpersandToken 3062673 3062675 - PropertyAccessExpression 3062675 3062692 - Identifier 3062675 3062685 - Identifier 3062686 3062692 - Block 3062693 3063244 - VariableStatement 3062695 3062784 - VariableDeclarationList 3062695 3062783 - VariableDeclaration 3062722 3062783 - Identifier 3062722 3062738 - BinaryExpression 3062740 3062783 - Identifier 3062740 3062758 - AmpersandToken 3062758 3062760 - CallExpression 3062760 3062783 - Identifier 3062760 3062775 - Identifier 3062776 3062782 - IfStatement 3062784 3062978 - BinaryExpression 3062810 3062849 - Identifier 3062810 3062825 - AmpersandToken 3062825 3062827 - PropertyAccessExpression 3062827 3062849 - Identifier 3062827 3062839 - Identifier 3062840 3062849 - Block 3062850 3062978 - ReturnStatement 3062852 3062955 - BinaryExpression 3062884 3062954 - PropertyAccessExpression 3062884 3062917 - ParenthesizedExpression 3062884 3062910 - AsExpression 3062886 3062909 - Identifier 3062886 3062892 - TypeReference 3062895 3062909 - Identifier 3062895 3062909 - Identifier 3062911 3062917 - EqualsEqualsEqualsToken 3062917 3062921 - PropertyAccessExpression 3062921 3062954 - ParenthesizedExpression 3062921 3062947 - AsExpression 3062923 3062946 - Identifier 3062923 3062929 - TypeReference 3062932 3062946 - Identifier 3062932 3062946 - Identifier 3062948 3062954 - IfStatement 3062978 3063225 - BinaryExpression 3063004 3063043 - Identifier 3063004 3063019 - AmpersandToken 3063019 3063021 - PropertyAccessExpression 3063021 3063043 - Identifier 3063021 3063033 - Identifier 3063034 3063043 - Block 3063044 3063225 - ReturnStatement 3063046 3063202 - BinaryExpression 3063078 3063201 - PrefixUnaryExpression 3063078 3063118 - PrefixUnaryExpression 3063080 3063118 - PropertyAccessExpression 3063081 3063118 - ParenthesizedExpression 3063081 3063106 - AsExpression 3063082 3063105 - Identifier 3063082 3063088 - TypeReference 3063091 3063105 - Identifier 3063091 3063105 - Identifier 3063107 3063118 - AmpersandAmpersandToken 3063118 3063121 - BinaryExpression 3063121 3063201 - PropertyAccessExpression 3063121 3063159 - ParenthesizedExpression 3063121 3063147 - AsExpression 3063123 3063146 - Identifier 3063123 3063129 - TypeReference 3063132 3063146 - Identifier 3063132 3063146 - Identifier 3063148 3063159 - EqualsEqualsEqualsToken 3063159 3063163 - PropertyAccessExpression 3063163 3063201 - ParenthesizedExpression 3063163 3063189 - AsExpression 3063165 3063188 - Identifier 3063165 3063171 - TypeReference 3063174 3063188 - Identifier 3063174 3063188 - Identifier 3063190 3063201 - ReturnStatement 3063244 3063275 - FalseKeyword 3063268 3063274 - FunctionDeclaration 3063310 3063607 - Identifier 3063326 3063355 - Parameter 3063356 3063368 - Identifier 3063356 3063362 - TypeReference 3063363 3063368 - Identifier 3063363 3063368 - Parameter 3063369 3063406 - Identifier 3063369 3063381 - TypeReference 3063382 3063406 - Identifier 3063382 3063406 - Block 3063407 3063607 - IfStatement 3063409 3063600 - BinaryExpression 3063423 3063515 - BinaryExpression 3063423 3063473 - CallExpression 3063423 3063445 - Identifier 3063423 3063437 - Identifier 3063438 3063444 - AmpersandToken 3063445 3063447 - PropertyAccessExpression 3063447 3063473 - Identifier 3063447 3063459 - Identifier 3063460 3063473 - AmpersandAmpersandToken 3063473 3063476 - CallExpression 3063476 3063515 - Identifier 3063476 3063485 - Identifier 3063486 3063497 - Identifier 3063498 3063514 - Block 3063516 3063600 - ReturnStatement 3063518 3063589 - CallExpression 3063538 3063588 - Identifier 3063538 3063543 - PropertyAccessExpression 3063544 3063561 - Identifier 3063544 3063555 - Identifier 3063556 3063561 - ArrowFunction 3063562 3063587 - Parameter 3063562 3063564 - Identifier 3063562 3063564 - EqualsGreaterThanToken 3063564 3063567 - PrefixUnaryExpression 3063567 3063587 - CallExpression 3063569 3063587 - Identifier 3063569 3063584 - Identifier 3063585 3063586 - FunctionDeclaration 3063607 3064098 - Identifier 3063623 3063648 - Parameter 3063649 3063661 - Identifier 3063649 3063655 - TypeReference 3063656 3063661 - Identifier 3063656 3063661 - Parameter 3063662 3063699 - Identifier 3063662 3063674 - TypeReference 3063675 3063699 - Identifier 3063675 3063699 - Block 3063700 3064098 - VariableStatement 3063702 3063751 - VariableDeclarationList 3063702 3063750 - VariableDeclaration 3063715 3063750 - Identifier 3063715 3063729 - PropertyAccessExpression 3063731 3063750 - Identifier 3063731 3063745 - Identifier 3063746 3063750 - VariableStatement 3063751 3063950 - VariableDeclarationList 3063751 3063949 - VariableDeclaration 3063766 3063949 - Identifier 3063766 3063780 - BinaryExpression 3063782 3063949 - BinaryExpression 3063782 3063836 - PropertyAccessExpression 3063782 3063832 - CallExpression 3063782 3063825 - Identifier 3063782 3063802 - Identifier 3063803 3063809 - Identifier 3063810 3063824 - Identifier 3063826 3063832 - GreaterThanToken 3063832 3063834 - NumericLiteral 3063834 3063836 - BarBarToken 3063836 3063839 - ParenthesizedExpression 3063839 3063949 - BinaryExpression 3063854 3063948 - BinaryExpression 3063854 3063893 - Identifier 3063854 3063867 - EqualsToken 3063867 3063869 - PropertyAccessExpression 3063869 3063893 - Identifier 3063869 3063883 - Identifier 3063884 3063893 - CommaToken 3063893 3063894 - BinaryExpression 3063894 3063948 - PropertyAccessExpression 3063894 3063944 - CallExpression 3063894 3063937 - Identifier 3063894 3063914 - Identifier 3063915 3063921 - Identifier 3063922 3063936 - Identifier 3063938 3063944 - GreaterThanToken 3063944 3063946 - NumericLiteral 3063946 3063948 - IfStatement 3063950 3064091 - Identifier 3063964 3063977 - Block 3063978 3064091 - ReturnStatement 3063980 3064080 - CallExpression 3064000 3064079 - Identifier 3064000 3064005 - PropertyAccessExpression 3064006 3064023 - Identifier 3064006 3064017 - Identifier 3064018 3064023 - ArrowFunction 3064024 3064078 - Parameter 3064024 3064026 - Identifier 3064024 3064026 - EqualsGreaterThanToken 3064026 3064029 - BinaryExpression 3064029 3064078 - PropertyAccessExpression 3064029 3064074 - CallExpression 3064029 3064067 - Identifier 3064029 3064049 - Identifier 3064050 3064051 - Identifier 3064052 3064066 - Identifier 3064068 3064074 - GreaterThanToken 3064074 3064076 - NumericLiteral 3064076 3064078 - FunctionDeclaration 3064098 3065545 - Identifier 3064114 3064136 - Parameter 3064137 3064149 - Identifier 3064137 3064143 - TypeReference 3064144 3064149 - Identifier 3064144 3064149 - Parameter 3064150 3064187 - Identifier 3064150 3064162 - TypeReference 3064163 3064187 - Identifier 3064163 3064187 - Block 3064188 3065545 - VariableStatement 3064190 3064232 - VariableDeclarationList 3064190 3064231 - VariableDeclaration 3064203 3064231 - Identifier 3064203 3064213 - UnionType 3064214 3064231 - TypeReference 3064214 3064219 - Identifier 3064214 3064219 - UndefinedKeyword 3064221 3064231 - IfStatement 3064232 3065511 - PrefixUnaryExpression 3064246 3064319 - ParenthesizedExpression 3064247 3064319 - BinaryExpression 3064248 3064318 - PropertyAccessExpression 3064248 3064260 - Identifier 3064248 3064254 - Identifier 3064255 3064260 - AmpersandToken 3064260 3064262 - ParenthesizedExpression 3064262 3064318 - BinaryExpression 3064264 3064317 - PropertyAccessExpression 3064264 3064283 - Identifier 3064264 3064273 - Identifier 3064274 3064283 - BarToken 3064283 3064285 - PropertyAccessExpression 3064285 3064317 - Identifier 3064285 3064295 - Identifier 3064296 3064317 - Block 3064320 3065511 - VariableStatement 3064322 3064358 - VariableDeclarationList 3064322 3064357 - VariableDeclaration 3064339 3064357 - Identifier 3064339 3064353 - NumericLiteral 3064355 3064357 - ForOfStatement 3064358 3065500 - VariableDeclarationList 3064377 3064389 - VariableDeclaration 3064382 3064389 - Identifier 3064382 3064389 - PropertyAccessExpression 3064392 3064410 - Identifier 3064392 3064404 - Identifier 3064405 3064410 - Block 3064411 3065500 - IfStatement 3064413 3065485 - PrefixUnaryExpression 3064435 3064508 - ParenthesizedExpression 3064436 3064508 - BinaryExpression 3064437 3064507 - PropertyAccessExpression 3064437 3064449 - Identifier 3064437 3064443 - Identifier 3064444 3064449 - AmpersandToken 3064449 3064451 - ParenthesizedExpression 3064451 3064507 - BinaryExpression 3064453 3064506 - PropertyAccessExpression 3064453 3064472 - Identifier 3064453 3064462 - Identifier 3064463 3064472 - BarToken 3064472 3064474 - PropertyAccessExpression 3064474 3064506 - Identifier 3064474 3064484 - Identifier 3064485 3064506 - Block 3064509 3065485 - VariableStatement 3064511 3064615 - VariableDeclarationList 3064511 3064614 - VariableDeclaration 3064538 3064614 - Identifier 3064538 3064546 - CallExpression 3064548 3064614 - Identifier 3064548 3064568 - ArrayLiteralExpression 3064569 3064613 - CallExpression 3064570 3064590 - Identifier 3064570 3064582 - Identifier 3064583 3064589 - CallExpression 3064591 3064612 - Identifier 3064591 3064604 - Identifier 3064605 3064611 - IfStatement 3064615 3065466 - BinaryExpression 3064641 3064672 - PropertyAccessExpression 3064641 3064654 - Identifier 3064641 3064648 - Identifier 3064649 3064654 - AmpersandToken 3064654 3064656 - PropertyAccessExpression 3064656 3064672 - Identifier 3064656 3064666 - Identifier 3064667 3064672 - Block 3064673 3064790 - ReturnStatement 3064675 3064767 - Identifier 3064759 3064766 - IfStatement 3064816 3065466 - BinaryExpression 3064821 3064875 - CallExpression 3064821 3064840 - Identifier 3064821 3064831 - Identifier 3064832 3064839 - BarBarToken 3064840 3064843 - BinaryExpression 3064843 3064875 - PropertyAccessExpression 3064843 3064857 - Identifier 3064843 3064851 - Identifier 3064852 3064857 - AmpersandToken 3064857 3064859 - PropertyAccessExpression 3064859 3064875 - Identifier 3064859 3064869 - Identifier 3064870 3064875 - Block 3064876 3065466 - VariableStatement 3064878 3065264 - VariableDeclarationList 3064878 3065263 - VariableDeclaration 3065166 3065263 - Identifier 3065166 3065170 - ConditionalExpression 3065172 3065263 - BinaryExpression 3065172 3065204 - PropertyAccessExpression 3065172 3065186 - Identifier 3065172 3065180 - Identifier 3065181 3065186 - AmpersandToken 3065186 3065188 - PropertyAccessExpression 3065188 3065204 - Identifier 3065188 3065198 - Identifier 3065199 3065204 - QuestionToken 3065204 3065206 - CallExpression 3065206 3065259 - Identifier 3065206 3065217 - PropertyAccessExpression 3065218 3065246 - ParenthesizedExpression 3065218 3065240 - AsExpression 3065219 3065239 - Identifier 3065219 3065226 - TypeReference 3065229 3065239 - Identifier 3065229 3065239 - Identifier 3065241 3065246 - Identifier 3065247 3065258 - ColonToken 3065259 3065261 - NumericLiteral 3065261 3065263 - IfStatement 3065264 3065443 - BinaryExpression 3065294 3065314 - Identifier 3065294 3065297 - GreaterThanEqualsToken 3065297 3065300 - Identifier 3065300 3065314 - Block 3065315 3065443 - ExpressionStatement 3065317 3065366 - BinaryExpression 3065317 3065365 - Identifier 3065317 3065356 - EqualsToken 3065356 3065358 - Identifier 3065358 3065365 - ExpressionStatement 3065366 3065416 - BinaryExpression 3065366 3065415 - Identifier 3065366 3065409 - EqualsToken 3065409 3065411 - Identifier 3065411 3065415 - ReturnStatement 3065511 3065538 - Identifier 3065527 3065537 - FunctionDeclaration 3065545 3065907 - Identifier 3065561 3065600 - Parameter 3065601 3065616 - Identifier 3065601 3065605 - TypeReference 3065606 3065616 - Identifier 3065606 3065616 - Block 3065617 3065907 - IfStatement 3065619 3065878 - CallExpression 3065633 3065678 - Identifier 3065633 3065648 - Identifier 3065649 3065653 - PropertyAccessExpression 3065654 3065677 - Identifier 3065654 3065664 - Identifier 3065665 3065677 - Block 3065679 3065878 - VariableStatement 3065681 3065766 - VariableDeclarationList 3065681 3065765 - VariableDeclaration 3065700 3065765 - Identifier 3065700 3065707 - CallExpression 3065709 3065765 - Identifier 3065709 3065720 - Identifier 3065721 3065725 - ArrowFunction 3065726 3065764 - Parameter 3065726 3065728 - Identifier 3065726 3065728 - EqualsGreaterThanToken 3065728 3065731 - PrefixUnaryExpression 3065731 3065764 - ParenthesizedExpression 3065733 3065764 - BinaryExpression 3065734 3065763 - PropertyAccessExpression 3065734 3065741 - Identifier 3065734 3065735 - Identifier 3065736 3065741 - AmpersandToken 3065741 3065743 - PropertyAccessExpression 3065743 3065763 - Identifier 3065743 3065753 - Identifier 3065754 3065763 - IfStatement 3065766 3065867 - PrefixUnaryExpression 3065784 3065817 - ParenthesizedExpression 3065785 3065817 - BinaryExpression 3065786 3065816 - PropertyAccessExpression 3065786 3065798 - Identifier 3065786 3065792 - Identifier 3065793 3065798 - AmpersandToken 3065798 3065800 - PropertyAccessExpression 3065800 3065816 - Identifier 3065800 3065810 - Identifier 3065811 3065816 - Block 3065818 3065867 - ReturnStatement 3065820 3065852 - Identifier 3065844 3065851 - ReturnStatement 3065878 3065900 - Identifier 3065894 3065899 - FunctionDeclaration 3065907 3067116 - Identifier 3066049 3066078 - Parameter 3066079 3066091 - Identifier 3066079 3066085 - TypeReference 3066086 3066091 - Identifier 3066086 3066091 - Parameter 3066092 3066105 - Identifier 3066092 3066099 - TypeReference 3066100 3066105 - Identifier 3066100 3066105 - Parameter 3066106 3066159 - Identifier 3066106 3066118 - FunctionType 3066119 3066159 - Parameter 3066121 3066133 - Identifier 3066121 3066127 - TypeReference 3066128 3066133 - Identifier 3066128 3066133 - Parameter 3066134 3066147 - Identifier 3066134 3066141 - TypeReference 3066142 3066147 - Identifier 3066142 3066147 - TypeReference 3066151 3066159 - Identifier 3066151 3066159 - Block 3066160 3067116 - IfStatement 3066162 3067082 - BinaryExpression 3066176 3066268 - BinaryExpression 3066176 3066206 - PropertyAccessExpression 3066176 3066188 - Identifier 3066176 3066182 - Identifier 3066183 3066188 - AmpersandToken 3066188 3066190 - PropertyAccessExpression 3066190 3066206 - Identifier 3066190 3066200 - Identifier 3066201 3066206 - AmpersandAmpersandToken 3066206 3066209 - BinaryExpression 3066209 3066268 - PropertyAccessExpression 3066209 3066222 - Identifier 3066209 3066216 - Identifier 3066217 3066222 - AmpersandToken 3066222 3066224 - ParenthesizedExpression 3066224 3066268 - BinaryExpression 3066226 3066267 - PropertyAccessExpression 3066226 3066248 - Identifier 3066226 3066235 - Identifier 3066236 3066248 - BarToken 3066248 3066250 - PropertyAccessExpression 3066250 3066267 - Identifier 3066250 3066260 - Identifier 3066261 3066267 - Block 3066269 3067082 - VariableStatement 3066271 3066363 - VariableDeclarationList 3066271 3066362 - VariableDeclaration 3066290 3066362 - Identifier 3066290 3066296 - CallExpression 3066298 3066362 - Identifier 3066298 3066333 - AsExpression 3066334 3066353 - Identifier 3066334 3066340 - TypeReference 3066343 3066353 - Identifier 3066343 3066353 - Identifier 3066354 3066361 - IfStatement 3066363 3066435 - Identifier 3066381 3066386 - Block 3066387 3066435 - ReturnStatement 3066389 3066420 - Identifier 3066413 3066419 - VariableStatement 3066435 3066502 - VariableDeclarationList 3066435 3066501 - VariableDeclaration 3066454 3066501 - Identifier 3066454 3066471 - CallExpression 3066473 3066501 - Identifier 3066473 3066493 - Identifier 3066494 3066500 - IfStatement 3066502 3067071 - Identifier 3066520 3066536 - Block 3066537 3067071 - VariableStatement 3066539 3066643 - VariableDeclarationList 3066539 3066642 - VariableDeclaration 3066562 3066642 - Identifier 3066562 3066587 - CallExpression 3066589 3066642 - Identifier 3066589 3066616 - Identifier 3066617 3066633 - Identifier 3066634 3066641 - IfStatement 3066643 3067056 - Identifier 3066665 3066689 - Block 3066690 3067056 - VariableStatement 3066692 3066914 - VariableDeclarationList 3066692 3066913 - VariableDeclaration 3066719 3066913 - Identifier 3066719 3066733 - CallExpression 3066735 3066913 - Identifier 3066735 3066772 - AsExpression 3066773 3066792 - Identifier 3066773 3066779 - TypeReference 3066782 3066792 - Identifier 3066782 3066792 - CallExpression 3066793 3066899 - Identifier 3066793 3066797 - Identifier 3066798 3066822 - ArrowFunction 3066823 3066898 - Parameter 3066823 3066825 - Identifier 3066823 3066825 - EqualsGreaterThanToken 3066825 3066828 - ParenthesizedExpression 3066828 3066898 - AsExpression 3066830 3066897 - ArrayLiteralExpression 3066830 3066871 - ArrowFunction 3066831 3066855 - EqualsGreaterThanToken 3066833 3066836 - CallExpression 3066836 3066855 - Identifier 3066836 3066852 - Identifier 3066853 3066854 - PropertyAccessExpression 3066856 3066870 - Identifier 3066856 3066858 - Identifier 3066859 3066870 - TupleType 3066874 3066897 - FunctionType 3066876 3066886 - TypeReference 3066881 3066886 - Identifier 3066881 3066886 - TypeReference 3066887 3066896 - Identifier 3066887 3066896 - Identifier 3066900 3066912 - IfStatement 3066914 3067037 - BinaryExpression 3066940 3066964 - Identifier 3066940 3066953 - ExclamationEqualsEqualsToken 3066953 3066957 - Identifier 3066957 3066964 - Block 3066965 3067037 - ReturnStatement 3066967 3067014 - Identifier 3066999 3067013 - ReturnStatement 3067082 3067109 - Identifier 3067098 3067108 - FunctionDeclaration 3067116 3067413 - Identifier 3067132 3067176 - Parameter 3067177 3067195 - Identifier 3067177 3067181 - TypeReference 3067182 3067195 - Identifier 3067182 3067195 - Block 3067196 3067413 - VariableStatement 3067198 3067262 - VariableDeclarationList 3067198 3067261 - VariableDeclaration 3067213 3067261 - Identifier 3067213 3067218 - CallExpression 3067220 3067261 - Identifier 3067220 3067255 - Identifier 3067256 3067260 - ReturnStatement 3067262 3067406 - ConditionalExpression 3067278 3067405 - Identifier 3067278 3067283 - QuestionToken 3067283 3067285 - Identifier 3067285 3067290 - ColonToken 3067290 3067292 - ConditionalExpression 3067292 3067405 - CallExpression 3067292 3067334 - Identifier 3067292 3067328 - Identifier 3067329 3067333 - QuestionToken 3067334 3067336 - CallExpression 3067336 3067393 - Identifier 3067336 3067355 - CallExpression 3067356 3067392 - Identifier 3067356 3067375 - PropertyAccessExpression 3067376 3067391 - Identifier 3067376 3067380 - Identifier 3067381 3067391 - ColonToken 3067393 3067395 - Identifier 3067395 3067405 - FunctionDeclaration 3067413 3067897 - Identifier 3067429 3067460 - Parameter 3067461 3067478 - Identifier 3067461 3067465 - TypeReference 3067466 3067478 - Identifier 3067466 3067478 - Block 3067479 3067897 - IfStatement 3067481 3067708 - BinaryExpression 3067597 3067638 - Identifier 3067597 3067629 - EqualsEqualsEqualsToken 3067629 3067633 - Identifier 3067633 3067638 - Block 3067639 3067708 - ReturnStatement 3067641 3067697 - Identifier 3067661 3067696 - ExpressionStatement 3067708 3067760 - BinaryExpression 3067708 3067759 - Identifier 3067708 3067752 - EqualsToken 3067752 3067754 - Identifier 3067754 3067759 - ExpressionStatement 3067760 3067838 - BinaryExpression 3067760 3067837 - Identifier 3067760 3067804 - EqualsToken 3067804 3067806 - CallExpression 3067806 3067837 - Identifier 3067806 3067831 - Identifier 3067832 3067836 - ReturnStatement 3067838 3067890 - Identifier 3067854 3067889 - FunctionDeclaration 3067897 3068344 - Identifier 3067913 3067940 - Parameter 3067941 3067951 - Identifier 3067941 3067945 - TypeReference 3067946 3067951 - Identifier 3067946 3067951 - Block 3067952 3068344 - IfStatement 3067954 3068173 - BinaryExpression 3068070 3068107 - Identifier 3068070 3068098 - EqualsEqualsEqualsToken 3068098 3068102 - Identifier 3068102 3068107 - Block 3068108 3068173 - ReturnStatement 3068110 3068162 - Identifier 3068130 3068161 - ExpressionStatement 3068173 3068219 - BinaryExpression 3068173 3068218 - Identifier 3068173 3068211 - EqualsToken 3068211 3068213 - Identifier 3068213 3068218 - ExpressionStatement 3068219 3068289 - BinaryExpression 3068219 3068288 - Identifier 3068219 3068259 - EqualsToken 3068259 3068261 - CallExpression 3068261 3068288 - Identifier 3068261 3068282 - Identifier 3068283 3068287 - ReturnStatement 3068289 3068337 - Identifier 3068305 3068336 - FunctionDeclaration 3068344 3068686 - Identifier 3068360 3068375 - Parameter 3068376 3068427 - Identifier 3068376 3068380 - UnionType 3068381 3068427 - TypeReference 3068381 3068401 - Identifier 3068381 3068401 - TypeReference 3068403 3068427 - Identifier 3068403 3068427 - Block 3068428 3068686 - VariableStatement 3068430 3068520 - VariableDeclarationList 3068430 3068519 - VariableDeclaration 3068445 3068519 - Identifier 3068445 3068460 - BinaryExpression 3068462 3068519 - CallExpression 3068462 3068495 - Identifier 3068462 3068489 - Identifier 3068490 3068494 - AmpersandToken 3068495 3068497 - PropertyAccessExpression 3068497 3068519 - Identifier 3068497 3068507 - Identifier 3068508 3068519 - ReturnStatement 3068520 3068679 - BinaryExpression 3068536 3068678 - BinaryExpression 3068536 3068622 - BinaryExpression 3068536 3068571 - Identifier 3068536 3068551 - EqualsEqualsEqualsToken 3068551 3068555 - PropertyAccessExpression 3068555 3068571 - Identifier 3068555 3068565 - Identifier 3068566 3068571 - BarBarToken 3068571 3068574 - BinaryExpression 3068574 3068622 - Identifier 3068574 3068602 - EqualsEqualsEqualsToken 3068602 3068606 - PropertyAccessExpression 3068606 3068622 - Identifier 3068606 3068616 - Identifier 3068617 3068622 - BarBarToken 3068622 3068625 - BinaryExpression 3068625 3068678 - Identifier 3068625 3068653 - EqualsEqualsEqualsToken 3068653 3068657 - PropertyAccessExpression 3068657 3068678 - Identifier 3068657 3068667 - Identifier 3068668 3068678 - FunctionDeclaration 3068686 3069236 - Identifier 3068702 3068731 - Parameter 3068732 3068760 - Identifier 3068732 3068736 - UnionType 3068737 3068760 - TypeReference 3068737 3068748 - Identifier 3068737 3068748 - UndefinedKeyword 3068750 3068760 - Parameter 3068761 3068783 - Identifier 3068761 3068775 - StringKeyword 3068776 3068783 - Block 3068784 3069236 - VariableStatement 3068786 3068923 - VariableDeclarationList 3068786 3068922 - VariableDeclaration 3068867 3068922 - Identifier 3068867 3068882 - ConditionalExpression 3068884 3068922 - PropertyAccessExpression 3068884 3068914 - Identifier 3068884 3068900 - Identifier 3068901 3068914 - QuestionToken 3068914 3068916 - NumericLiteral 3068916 3068918 - ColonToken 3068918 3068920 - NumericLiteral 3068920 3068922 - VariableStatement 3068923 3068981 - VariableDeclarationList 3068923 3068980 - VariableDeclaration 3068938 3068980 - Identifier 3068938 3068948 - ElementAccessExpression 3068950 3068980 - PropertyAccessExpression 3068950 3068964 - Identifier 3068950 3068955 - QuestionDotToken 3068955 3068957 - Identifier 3068957 3068964 - Identifier 3068965 3068979 - IfStatement 3068981 3069202 - Identifier 3068995 3069004 - Block 3069005 3069202 - ExpressionStatement 3069007 3069191 - CallExpression 3069007 3069190 - PropertyAccessExpression 3069007 3069033 - Identifier 3069007 3069026 - Identifier 3069027 3069033 - BinaryExpression 3069034 3069098 - CallExpression 3069034 3069062 - Identifier 3069034 3069051 - Identifier 3069052 3069061 - AmpersandAmpersandToken 3069062 3069065 - BinaryExpression 3069065 3069098 - PropertyAccessExpression 3069065 3069080 - Identifier 3069065 3069075 - Identifier 3069076 3069080 - EqualsEqualsEqualsToken 3069080 3069084 - Identifier 3069084 3069098 - TemplateExpression 3069099 3069189 - TemplateHead 3069099 3069131 - TemplateSpan 3069131 3069189 - Identifier 3069131 3069145 - TemplateTail 3069145 3069189 - ReturnStatement 3069202 3069229 - Identifier 3069218 3069228 - FunctionDeclaration 3069236 3069641 - Identifier 3069252 3069284 - Parameter 3069285 3069301 - Identifier 3069285 3069289 - TypeReference 3069290 3069301 - Identifier 3069290 3069301 - Block 3069302 3069641 - ExpressionStatement 3069304 3069398 - CallExpression 3069304 3069397 - PropertyAccessExpression 3069304 3069326 - Identifier 3069304 3069319 - Identifier 3069320 3069326 - PropertyAccessExpression 3069327 3069356 - Identifier 3069327 3069342 - Identifier 3069343 3069356 - StringLiteral 3069357 3069396 - VariableStatement 3069398 3069442 - VariableDeclarationList 3069398 3069441 - VariableDeclaration 3069413 3069441 - Identifier 3069413 3069423 - ElementAccessExpression 3069425 3069441 - PropertyAccessExpression 3069425 3069438 - Identifier 3069425 3069430 - Identifier 3069431 3069438 - NumericLiteral 3069439 3069440 - ExpressionStatement 3069442 3069607 - CallExpression 3069442 3069606 - PropertyAccessExpression 3069442 3069464 - Identifier 3069442 3069457 - Identifier 3069458 3069464 - BinaryExpression 3069465 3069536 - BinaryExpression 3069465 3069506 - Identifier 3069465 3069474 - AmpersandAmpersandToken 3069474 3069477 - CallExpression 3069477 3069506 - Identifier 3069477 3069495 - Identifier 3069496 3069505 - AmpersandAmpersandToken 3069506 3069509 - BinaryExpression 3069509 3069536 - PropertyAccessExpression 3069509 3069524 - Identifier 3069509 3069519 - Identifier 3069520 3069524 - EqualsEqualsEqualsToken 3069524 3069528 - StringLiteral 3069528 3069536 - NoSubstitutionTemplateLiteral 3069537 3069605 - ReturnStatement 3069607 3069634 - Identifier 3069623 3069633 - FunctionDeclaration 3069644 3069891 - Identifier 3069656 3069670 - Parameter 3069671 3069695 - Identifier 3069671 3069682 - TypeReference 3069683 3069695 - Identifier 3069683 3069695 - BooleanKeyword 3069697 3069705 - Block 3069705 3069891 - ReturnStatement 3069707 3069888 - PrefixUnaryExpression 3069862 3069887 - CallExpression 3069864 3069887 - Identifier 3069864 3069874 - Identifier 3069875 3069886 - FunctionDeclaration 3069891 3070133 - Identifier 3069903 3069917 - Parameter 3069918 3069942 - Identifier 3069918 3069929 - TypeReference 3069930 3069942 - Identifier 3069930 3069942 - BooleanKeyword 3069944 3069952 - Block 3069952 3070133 - ReturnStatement 3069954 3070130 - BinaryExpression 3069966 3070129 - ParenthesizedExpression 3069966 3070073 - BinaryExpression 3069968 3070072 - BinaryExpression 3069968 3070019 - PropertyAccessExpression 3069968 3069984 - Identifier 3069968 3069979 - Identifier 3069980 3069984 - ExclamationEqualsEqualsToken 3069984 3069988 - PropertyAccessExpression 3069988 3070019 - Identifier 3069988 3069999 - Identifier 3070000 3070019 - AmpersandAmpersandToken 3070019 3070022 - BinaryExpression 3070022 3070072 - PropertyAccessExpression 3070022 3070039 - Identifier 3070022 3070034 - Identifier 3070035 3070039 - ExclamationEqualsEqualsToken 3070039 3070043 - PropertyAccessExpression 3070043 3070072 - Identifier 3070043 3070054 - Identifier 3070055 3070072 - BarBarToken 3070073 3070076 - PrefixUnaryExpression 3070076 3070129 - PrefixUnaryExpression 3070087 3070129 - PropertyAccessExpression 3070088 3070129 - ParenthesizedExpression 3070088 3070124 - AsExpression 3070089 3070123 - Identifier 3070089 3070100 - TypeReference 3070103 3070123 - Identifier 3070103 3070123 - Identifier 3070125 3070129 - FunctionDeclaration 3070133 3070584 - Identifier 3070251 3070289 - Parameter 3070290 3070300 - Identifier 3070290 3070294 - TypeReference 3070295 3070300 - Identifier 3070295 3070300 - BooleanKeyword 3070302 3070310 - Block 3070310 3070584 - SwitchStatement 3070312 3070581 - PropertyAccessExpression 3070326 3070342 - PropertyAccessExpression 3070326 3070337 - Identifier 3070326 3070330 - Identifier 3070331 3070337 - Identifier 3070338 3070342 - CaseBlock 3070343 3070581 - CaseClause 3070345 3070387 - PropertyAccessExpression 3070359 3070386 - Identifier 3070359 3070370 - Identifier 3070371 3070386 - CaseClause 3070387 3070511 - PropertyAccessExpression 3070401 3070428 - Identifier 3070401 3070412 - Identifier 3070413 3070428 - ReturnStatement 3070429 3070511 - BinaryExpression 3070449 3070510 - CallExpression 3070449 3070468 - Identifier 3070449 3070462 - Identifier 3070463 3070467 - BarBarToken 3070468 3070471 - BinaryExpression 3070471 3070510 - PropertyAccessExpression 3070471 3070481 - Identifier 3070471 3070476 - Identifier 3070477 3070481 - EqualsEqualsEqualsToken 3070481 3070485 - PropertyAccessExpression 3070485 3070510 - Identifier 3070485 3070496 - Identifier 3070497 3070510 - DefaultClause 3070511 3070574 - ReturnStatement 3070529 3070574 - CallExpression 3070549 3070573 - Identifier 3070549 3070567 - Identifier 3070568 3070572 - ModuleDeclaration 3070584 3071377 - Identifier 3070597 3070606 - ModuleBlock 3070606 3071377 - VariableStatement 3070608 3070651 - ExportKeyword 3070608 3070620 - VariableDeclarationList 3070620 3070650 - VariableDeclaration 3070626 3070650 - Identifier 3070626 3070630 - AsExpression 3070632 3070650 - StringLiteral 3070632 3070638 - TypeReference 3070641 3070650 - Identifier 3070641 3070650 - VariableStatement 3070651 3070722 - ExportKeyword 3070651 3070663 - VariableDeclarationList 3070663 3070721 - VariableDeclaration 3070669 3070721 - Identifier 3070669 3070687 - AsExpression 3070689 3070721 - StringLiteral 3070689 3070709 - TypeReference 3070712 3070721 - Identifier 3070712 3070721 - VariableStatement 3070722 3070783 - ExportKeyword 3070722 3070734 - VariableDeclarationList 3070734 3070782 - VariableDeclaration 3070740 3070782 - Identifier 3070740 3070753 - AsExpression 3070755 3070782 - StringLiteral 3070755 3070770 - TypeReference 3070773 3070782 - Identifier 3070773 3070782 - VariableStatement 3070783 3070883 - ExportKeyword 3070783 3070795 - VariableDeclarationList 3070795 3070882 - VariableDeclaration 3070801 3070882 - Identifier 3070801 3070840 - AsExpression 3070842 3070882 - StringLiteral 3070842 3070870 - TypeReference 3070873 3070882 - Identifier 3070873 3070882 - VariableStatement 3070883 3071019 - ExportKeyword 3070883 3070933 - VariableDeclarationList 3070933 3071018 - VariableDeclaration 3070939 3071018 - Identifier 3070939 3070977 - AsExpression 3070979 3071018 - StringLiteral 3070979 3071006 - TypeReference 3071009 3071018 - Identifier 3071009 3071018 - VariableStatement 3071019 3071070 - ExportKeyword 3071019 3071031 - VariableDeclarationList 3071031 3071069 - VariableDeclaration 3071037 3071069 - Identifier 3071037 3071045 - AsExpression 3071047 3071069 - StringLiteral 3071047 3071057 - TypeReference 3071060 3071069 - Identifier 3071060 3071069 - VariableStatement 3071070 3071129 - ExportKeyword 3071070 3071082 - VariableDeclarationList 3071082 3071128 - VariableDeclaration 3071088 3071128 - Identifier 3071088 3071100 - AsExpression 3071102 3071128 - StringLiteral 3071102 3071116 - TypeReference 3071119 3071128 - Identifier 3071119 3071128 - VariableStatement 3071129 3071204 - ExportKeyword 3071129 3071141 - VariableDeclarationList 3071141 3071203 - VariableDeclaration 3071147 3071203 - Identifier 3071147 3071167 - AsExpression 3071169 3071203 - StringLiteral 3071169 3071191 - TypeReference 3071194 3071203 - Identifier 3071194 3071203 - VariableStatement 3071204 3071289 - ExportKeyword 3071204 3071216 - VariableDeclarationList 3071216 3071288 - VariableDeclaration 3071222 3071288 - Identifier 3071222 3071247 - AsExpression 3071249 3071288 - StringLiteral 3071249 3071276 - TypeReference 3071279 3071288 - Identifier 3071279 3071288 - VariableStatement 3071289 3071374 - ExportKeyword 3071289 3071301 - VariableDeclarationList 3071301 3071373 - VariableDeclaration 3071307 3071373 - Identifier 3071307 3071332 - AsExpression 3071334 3071373 - StringLiteral 3071334 3071361 - TypeReference 3071364 3071373 - Identifier 3071364 3071373 - ModuleDeclaration 3071377 3071459 - Identifier 3071390 3071401 - ModuleBlock 3071401 3071459 - VariableStatement 3071403 3071456 - ExportKeyword 3071403 3071415 - VariableDeclarationList 3071415 3071455 - VariableDeclaration 3071421 3071455 - Identifier 3071421 3071430 - AsExpression 3071432 3071455 - StringLiteral 3071432 3071443 - TypeReference 3071446 3071455 - Identifier 3071446 3071455 - FunctionDeclaration 3071459 3071795 - Identifier 3071471 3071513 - Parameter 3071514 3071541 - Identifier 3071514 3071522 - TypeReference 3071523 3071541 - Identifier 3071523 3071541 - Block 3071542 3071795 - SwitchStatement 3071544 3071792 - Identifier 3071558 3071566 - CaseBlock 3071567 3071792 - CaseClause 3071569 3071641 - PropertyAccessExpression 3071583 3071607 - Identifier 3071583 3071601 - Identifier 3071602 3071607 - ReturnStatement 3071608 3071641 - StringLiteral 3071628 3071640 - CaseClause 3071641 3071715 - PropertyAccessExpression 3071655 3071680 - Identifier 3071655 3071673 - Identifier 3071674 3071680 - ReturnStatement 3071681 3071715 - StringLiteral 3071701 3071714 - CaseClause 3071715 3071785 - PropertyAccessExpression 3071729 3071752 - Identifier 3071729 3071747 - Identifier 3071748 3071752 - ReturnStatement 3071753 3071785 - StringLiteral 3071773 3071784 - FunctionDeclaration 3071795 3071945 - ExportKeyword 3071795 3071823 - Identifier 3071832 3071858 - Parameter 3071859 3071871 - Identifier 3071859 3071860 - TypeReference 3071861 3071871 - Identifier 3071861 3071871 - BooleanKeyword 3071873 3071881 - Block 3071881 3071945 - ReturnStatement 3071883 3071942 - PrefixUnaryExpression 3071895 3071941 - PrefixUnaryExpression 3071897 3071941 - ParenthesizedExpression 3071898 3071941 - BinaryExpression 3071899 3071940 - PropertyAccessExpression 3071899 3071906 - Identifier 3071899 3071900 - Identifier 3071901 3071906 - AmpersandToken 3071906 3071908 - PropertyAccessExpression 3071908 3071940 - Identifier 3071908 3071923 - Identifier 3071924 3071940 - FunctionDeclaration 3071945 3072059 - Identifier 3071957 3071982 - Parameter 3071983 3071995 - Identifier 3071983 3071984 - TypeReference 3071985 3071995 - Identifier 3071985 3071995 - Block 3071996 3072059 - ReturnStatement 3071998 3072056 - PrefixUnaryExpression 3072010 3072055 - PrefixUnaryExpression 3072012 3072055 - ParenthesizedExpression 3072013 3072055 - BinaryExpression 3072014 3072054 - PropertyAccessExpression 3072014 3072021 - Identifier 3072014 3072015 - Identifier 3072016 3072021 - AmpersandToken 3072021 3072023 - PropertyAccessExpression 3072023 3072054 - Identifier 3072023 3072038 - Identifier 3072039 3072054 - FunctionDeclaration 3072059 3073388 - Identifier 3072071 3072123 - Parameter 3072124 3072145 - Identifier 3072124 3072128 - TypeReference 3072129 3072145 - Identifier 3072129 3072145 - TypeReference 3072147 3072177 - Identifier 3072147 3072177 - Block 3072177 3073388 - ReturnStatement 3072179 3073385 - ObjectLiteralExpression 3072191 3073384 - PropertyAssignment 3072193 3072337 - Identifier 3072193 3072227 - ConditionalExpression 3072228 3072337 - PrefixUnaryExpression 3072228 3072273 - PrefixUnaryExpression 3072230 3072273 - PropertyAccessExpression 3072231 3072273 - ParenthesizedExpression 3072231 3072248 - AsExpression 3072232 3072247 - Identifier 3072232 3072236 - TypeReference 3072239 3072247 - Identifier 3072239 3072247 - Identifier 3072249 3072273 - QuestionToken 3072273 3072275 - ArrowFunction 3072275 3072326 - EqualsGreaterThanToken 3072278 3072281 - CallExpression 3072281 3072326 - PropertyAccessExpression 3072281 3072324 - ParenthesizedExpression 3072281 3072299 - AsExpression 3072283 3072298 - Identifier 3072283 3072287 - TypeReference 3072290 3072298 - Identifier 3072290 3072298 - Identifier 3072300 3072324 - ColonToken 3072326 3072328 - ArrowFunction 3072328 3072337 - EqualsGreaterThanToken 3072331 3072334 - StringLiteral 3072334 3072337 - PropertyAssignment 3072338 3072401 - Identifier 3072338 3072367 - ArrowFunction 3072368 3072401 - EqualsGreaterThanToken 3072371 3072374 - CallExpression 3072374 3072401 - PropertyAccessExpression 3072374 3072399 - Identifier 3072374 3072379 - Identifier 3072380 3072399 - PropertyAssignment 3072402 3072466 - Identifier 3072402 3072427 - CallExpression 3072428 3072466 - Identifier 3072428 3072438 - Identifier 3072439 3072443 - PropertyAccessExpression 3072444 3072465 - Identifier 3072444 3072449 - Identifier 3072450 3072465 - PropertyAssignment 3072467 3072540 - Identifier 3072467 3072500 - ArrowFunction 3072501 3072540 - EqualsGreaterThanToken 3072504 3072507 - CallExpression 3072507 3072540 - PropertyAccessExpression 3072507 3072536 - Identifier 3072507 3072512 - Identifier 3072513 3072536 - QuestionDotToken 3072536 3072538 - PropertyAssignment 3072541 3072616 - Identifier 3072541 3072576 - ArrowFunction 3072577 3072616 - EqualsGreaterThanToken 3072580 3072583 - CallExpression 3072583 3072616 - PropertyAccessExpression 3072583 3072614 - Identifier 3072583 3072588 - Identifier 3072589 3072614 - PropertyAssignment 3072617 3072670 - Identifier 3072617 3072645 - PropertyAccessExpression 3072646 3072670 - Identifier 3072646 3072651 - Identifier 3072652 3072670 - PropertyAssignment 3072671 3072764 - Identifier 3072671 3072708 - ArrowFunction 3072709 3072764 - Parameter 3072709 3072718 - Identifier 3072709 3072718 - EqualsGreaterThanToken 3072718 3072721 - CallExpression 3072721 3072764 - PropertyAccessExpression 3072721 3072754 - Identifier 3072721 3072726 - Identifier 3072727 3072754 - Identifier 3072755 3072763 - PropertyAssignment 3072765 3072872 - Identifier 3072765 3072809 - ArrowFunction 3072810 3072872 - Parameter 3072810 3072819 - Identifier 3072810 3072819 - EqualsGreaterThanToken 3072819 3072822 - CallExpression 3072822 3072872 - PropertyAccessExpression 3072822 3072862 - Identifier 3072822 3072827 - Identifier 3072828 3072862 - Identifier 3072863 3072871 - PropertyAssignment 3072873 3072932 - Identifier 3072873 3072893 - ArrowFunction 3072894 3072932 - Parameter 3072894 3072903 - Identifier 3072894 3072903 - EqualsGreaterThanToken 3072903 3072906 - CallExpression 3072906 3072932 - PropertyAccessExpression 3072906 3072922 - Identifier 3072906 3072911 - Identifier 3072912 3072922 - Identifier 3072923 3072931 - PropertyAssignment 3072933 3073000 - Identifier 3072933 3072964 - ArrowFunction 3072965 3073000 - EqualsGreaterThanToken 3072968 3072971 - CallExpression 3072971 3073000 - PropertyAccessExpression 3072971 3072998 - Identifier 3072971 3072976 - Identifier 3072977 3072998 - PropertyAssignment 3073001 3073087 - Identifier 3073001 3073019 - ConditionalExpression 3073020 3073087 - PropertyAccessExpression 3073020 3073034 - Identifier 3073020 3073025 - Identifier 3073026 3073034 - QuestionToken 3073034 3073036 - ParenthesizedExpression 3073036 3073075 - ArrowFunction 3073038 3073074 - Parameter 3073038 3073046 - Identifier 3073038 3073046 - EqualsGreaterThanToken 3073046 3073049 - CallExpression 3073049 3073074 - NonNullExpression 3073049 3073064 - PropertyAccessExpression 3073049 3073063 - Identifier 3073049 3073054 - Identifier 3073055 3073063 - Identifier 3073065 3073073 - ColonToken 3073075 3073077 - Identifier 3073077 3073087 - PropertyAssignment 3073088 3073181 - Identifier 3073088 3073129 - ArrowFunction 3073130 3073181 - Parameter 3073130 3073135 - Identifier 3073130 3073135 - EqualsGreaterThanToken 3073135 3073138 - CallExpression 3073138 3073181 - PropertyAccessExpression 3073138 3073175 - Identifier 3073138 3073143 - Identifier 3073144 3073175 - Identifier 3073176 3073180 - PropertyAssignment 3073182 3073283 - Identifier 3073182 3073219 - ArrowFunction 3073220 3073283 - Parameter 3073222 3073226 - Identifier 3073222 3073226 - Parameter 3073227 3073233 - Identifier 3073227 3073233 - EqualsGreaterThanToken 3073234 3073237 - CallExpression 3073237 3073283 - PropertyAccessExpression 3073237 3073270 - Identifier 3073237 3073242 - Identifier 3073243 3073270 - Identifier 3073271 3073275 - Identifier 3073276 3073282 - PropertyAssignment 3073284 3073376 - Identifier 3073284 3073323 - CallExpression 3073324 3073376 - Identifier 3073324 3073334 - Identifier 3073335 3073339 - PropertyAccessExpression 3073340 3073375 - Identifier 3073340 3073345 - Identifier 3073346 3073375 - InterfaceDeclaration 3073388 3075342 - Identifier 3073401 3073420 - HeritageClause 3073420 3073460 - ExpressionWithTypeArguments 3073428 3073460 - Identifier 3073428 3073460 - PropertySignature 3073462 3073507 - Identifier 3073462 3073488 - UnionType 3073489 3073506 - TypeReference 3073489 3073494 - Identifier 3073489 3073494 - UndefinedKeyword 3073496 3073506 - PropertySignature 3073507 3074150 - Identifier 3073507 3074125 - UnionType 3074126 3074149 - TypeReference 3074126 3074137 - Identifier 3074126 3074137 - UndefinedKeyword 3074139 3074149 - PropertySignature 3074150 3074180 - Identifier 3074150 3074161 - TypeReference 3074162 3074179 - Identifier 3074162 3074179 - PropertySignature 3074180 3074226 - Identifier 3074180 3074199 - TypeReference 3074200 3074225 - Identifier 3074200 3074225 - PropertySignature 3074226 3074259 - Identifier 3074226 3074239 - TypeReference 3074240 3074258 - Identifier 3074240 3074258 - PropertySignature 3074259 3074307 - Identifier 3074259 3074297 - BooleanKeyword 3074298 3074306 - PropertySignature 3074307 3074341 - Identifier 3074307 3074331 - BooleanKeyword 3074332 3074340 - PropertySignature 3074341 3074391 - Identifier 3074341 3074361 - UnionType 3074362 3074390 - ArrayType 3074362 3074378 - TypeReference 3074362 3074376 - Identifier 3074362 3074376 - UndefinedKeyword 3074380 3074390 - PropertySignature 3074391 3074435 - Identifier 3074391 3074409 - UnionType 3074410 3074434 - TypeReference 3074410 3074422 - Identifier 3074410 3074414 - NumberKeyword 3074415 3074421 - UndefinedKeyword 3074424 3074434 - PropertySignature 3074435 3074486 - Identifier 3074435 3074452 - UnionType 3074453 3074485 - TypeReference 3074453 3074473 - Identifier 3074453 3074457 - StringKeyword 3074458 3074464 - NumberKeyword 3074465 3074472 - UndefinedKeyword 3074475 3074485 - PropertySignature 3074486 3074541 - Identifier 3074486 3074511 - UnionType 3074512 3074540 - ArrayType 3074512 3074528 - TypeReference 3074512 3074526 - Identifier 3074512 3074526 - UndefinedKeyword 3074530 3074540 - PropertySignature 3074541 3074573 - Identifier 3074541 3074564 - NumberKeyword 3074565 3074572 - PropertySignature 3074573 3074599 - Identifier 3074573 3074589 - BooleanKeyword 3074590 3074598 - PropertySignature 3074599 3074648 - Identifier 3074599 3074638 - BooleanKeyword 3074639 3074647 - PropertySignature 3074648 3074703 - Identifier 3074648 3074677 - UnionType 3074678 3074702 - TypeReference 3074678 3074690 - Identifier 3074678 3074682 - NumberKeyword 3074683 3074689 - UndefinedKeyword 3074692 3074702 - PropertySignature 3074703 3074755 - Identifier 3074703 3074745 - BooleanKeyword 3074746 3074754 - PropertySignature 3074755 3074817 - Identifier 3074755 3074779 - UnionType 3074780 3074816 - TypeReference 3074780 3074804 - Identifier 3074780 3074784 - TypeReference 3074785 3074791 - Identifier 3074785 3074791 - TypeReference 3074792 3074803 - Identifier 3074792 3074803 - UndefinedKeyword 3074806 3074816 - PropertySignature 3074817 3074873 - Identifier 3074817 3074847 - UnionType 3074848 3074872 - TypeReference 3074848 3074860 - Identifier 3074848 3074852 - StringKeyword 3074853 3074859 - UndefinedKeyword 3074862 3074872 - PropertySignature 3074873 3074950 - Identifier 3074873 3074916 - UnionType 3074917 3074949 - TypeReference 3074917 3074937 - Identifier 3074917 3074921 - StringKeyword 3074922 3074928 - NumberKeyword 3074929 3074936 - UndefinedKeyword 3074939 3074949 - PropertySignature 3074950 3074997 - Identifier 3074950 3074971 - UnionType 3074972 3074996 - TypeReference 3074972 3074984 - Identifier 3074972 3074976 - StringKeyword 3074977 3074983 - UndefinedKeyword 3074986 3074996 - PropertySignature 3074997 3075058 - Identifier 3074997 3075022 - UnionType 3075023 3075057 - TypeReference 3075023 3075045 - Identifier 3075023 3075027 - TypeReference 3075028 3075036 - Identifier 3075028 3075036 - StringKeyword 3075037 3075044 - UndefinedKeyword 3075047 3075057 - PropertySignature 3075058 3075124 - Identifier 3075058 3075088 - UnionType 3075089 3075123 - TypeReference 3075089 3075111 - Identifier 3075089 3075093 - TypeReference 3075094 3075102 - Identifier 3075094 3075102 - TypeReference 3075103 3075110 - Identifier 3075103 3075110 - UndefinedKeyword 3075113 3075123 - PropertySignature 3075124 3075172 - Identifier 3075124 3075150 - TypeReference 3075151 3075171 - Identifier 3075151 3075155 - TypeReference 3075156 3075164 - Identifier 3075156 3075164 - TypeReference 3075165 3075170 - Identifier 3075165 3075170 - PropertySignature 3075172 3075232 - Identifier 3075172 3075196 - UnionType 3075197 3075231 - ArrayType 3075197 3075219 - TypeReference 3075197 3075217 - Identifier 3075197 3075217 - UndefinedKeyword 3075221 3075231 - PropertySignature 3075232 3075255 - Identifier 3075232 3075245 - BooleanKeyword 3075246 3075254 - PropertySignature 3075255 3075292 - Identifier 3075255 3075267 - UnionType 3075268 3075291 - TypeReference 3075268 3075279 - Identifier 3075268 3075279 - UndefinedKeyword 3075281 3075291 - PropertySignature 3075292 3075339 - Identifier 3075292 3075329 - BooleanKeyword 3075330 3075338 - ClassDeclaration 3075342 3079402 - Identifier 3075351 3075369 - HeritageClause 3075369 3075394 - ExpressionWithTypeArguments 3075380 3075394 - Identifier 3075380 3075394 - PropertyDeclaration 3075396 3075518 - Identifier 3075396 3075420 - UnionType 3075421 3075505 - IntersectionType 3075421 3075493 - TypeReference 3075421 3075451 - Identifier 3075421 3075451 - TypeLiteral 3075453 3075493 - MethodSignature 3075455 3075491 - Identifier 3075455 3075480 - StringKeyword 3075483 3075490 - UndefinedKeyword 3075495 3075505 - Identifier 3075507 3075517 - PropertyDeclaration 3075518 3075552 - Identifier 3075518 3075531 - TypeReference 3075532 3075551 - Identifier 3075532 3075551 - PropertyDeclaration 3075552 3075614 - ReadonlyKeyword 3075552 3075568 - Identifier 3075568 3075574 - UnionType 3075575 3075601 - TypeReference 3075575 3075589 - Identifier 3075575 3075589 - UndefinedKeyword 3075591 3075601 - Identifier 3075603 3075613 - PropertyDeclaration 3075614 3075653 - ReadonlyKeyword 3075614 3075628 - Identifier 3075628 3075643 - BooleanKeyword 3075644 3075652 - PropertyDeclaration 3075653 3075686 - Identifier 3075653 3075677 - FalseKeyword 3075679 3075685 - Constructor 3075686 3076168 - Parameter 3075706 3075733 - Identifier 3075706 3075713 - TypeReference 3075714 3075733 - Identifier 3075714 3075733 - Parameter 3075734 3075769 - Identifier 3075734 3075742 - UnionType 3075743 3075769 - TypeReference 3075743 3075757 - Identifier 3075743 3075757 - UndefinedKeyword 3075759 3075769 - Parameter 3075770 3075874 - Identifier 3075770 3075789 - UnionType 3075790 3075874 - IntersectionType 3075790 3075862 - TypeReference 3075790 3075820 - Identifier 3075790 3075820 - TypeLiteral 3075822 3075862 - MethodSignature 3075824 3075860 - Identifier 3075824 3075849 - StringKeyword 3075852 3075859 - UndefinedKeyword 3075864 3075874 - Block 3075875 3076168 - WhileStatement 3075877 3075982 - BinaryExpression 3075894 3075930 - Identifier 3075894 3075901 - InstanceOfKeyword 3075901 3075912 - Identifier 3075912 3075930 - Block 3075931 3075982 - ExpressionStatement 3075933 3075971 - BinaryExpression 3075933 3075970 - Identifier 3075933 3075954 - EqualsToken 3075954 3075956 - PropertyAccessExpression 3075956 3075970 - Identifier 3075956 3075964 - Identifier 3075965 3075970 - ExpressionStatement 3075982 3076015 - BinaryExpression 3075982 3076014 - PropertyAccessExpression 3075982 3076004 - ThisKeyword 3075982 3075998 - Identifier 3075999 3076004 - EqualsToken 3076004 3076006 - Identifier 3076006 3076014 - ExpressionStatement 3076015 3076070 - BinaryExpression 3076015 3076069 - PropertyAccessExpression 3076015 3076048 - ThisKeyword 3076015 3076029 - Identifier 3076030 3076048 - EqualsToken 3076048 3076050 - Identifier 3076050 3076069 - ExpressionStatement 3076070 3076103 - BinaryExpression 3076070 3076102 - PropertyAccessExpression 3076070 3076092 - ThisKeyword 3076070 3076084 - Identifier 3076085 3076092 - EqualsToken 3076092 3076094 - Identifier 3076094 3076102 - ExpressionStatement 3076103 3076161 - BinaryExpression 3076103 3076160 - PropertyAccessExpression 3076103 3076132 - ThisKeyword 3076103 3076117 - Identifier 3076118 3076132 - EqualsToken 3076132 3076134 - PrefixUnaryExpression 3076134 3076160 - PrefixUnaryExpression 3076136 3076160 - PropertyAccessExpression 3076137 3076160 - PropertyAccessExpression 3076137 3076147 - ThisKeyword 3076137 3076141 - Identifier 3076142 3076147 - QuestionDotToken 3076147 3076149 - Identifier 3076149 3076160 - MethodDeclaration 3076168 3076802 - Identifier 3076168 3076187 - Parameter 3076188 3076202 - Identifier 3076188 3076194 - TypeReference 3076195 3076202 - Identifier 3076195 3076202 - Parameter 3076203 3076242 - Identifier 3076203 3076224 - UnionType 3076225 3076242 - TypeReference 3076225 3076230 - Identifier 3076225 3076230 - UndefinedKeyword 3076232 3076242 - Parameter 3076243 3076264 - Identifier 3076243 3076251 - TypeReference 3076252 3076264 - Identifier 3076252 3076264 - BooleanKeyword 3076266 3076274 - Block 3076274 3076802 - IfStatement 3076276 3076772 - BinaryExpression 3076290 3076341 - PropertyAccessExpression 3076290 3076313 - PropertyAccessExpression 3076290 3076300 - ThisKeyword 3076290 3076294 - Identifier 3076295 3076300 - QuestionDotToken 3076300 3076302 - Identifier 3076302 3076313 - AmpersandAmpersandToken 3076313 3076316 - PrefixUnaryExpression 3076316 3076341 - PropertyAccessExpression 3076318 3076341 - ThisKeyword 3076318 3076322 - Identifier 3076323 3076341 - Block 3076342 3076772 - IfStatement 3076344 3076517 - CallExpression 3076362 3076423 - PropertyAccessExpression 3076362 3076384 - PropertyAccessExpression 3076362 3076372 - ThisKeyword 3076362 3076366 - Identifier 3076367 3076372 - Identifier 3076373 3076384 - Identifier 3076385 3076391 - Identifier 3076392 3076413 - Identifier 3076414 3076422 - Block 3076424 3076517 - ExpressionStatement 3076426 3076472 - CallExpression 3076426 3076471 - PropertyAccessExpression 3076426 3076469 - ThisKeyword 3076426 3076448 - Identifier 3076449 3076469 - ReturnStatement 3076472 3076502 - TrueKeyword 3076496 3076501 - IfStatement 3076517 3076761 - PrefixUnaryExpression 3076633 3076676 - ParenthesizedExpression 3076634 3076676 - BinaryExpression 3076635 3076675 - PropertyAccessExpression 3076635 3076647 - Identifier 3076635 3076641 - Identifier 3076642 3076647 - AmpersandToken 3076647 3076649 - PropertyAccessExpression 3076649 3076675 - Identifier 3076649 3076661 - Identifier 3076662 3076675 - ExpressionStatement 3076677 3076761 - CallExpression 3076677 3076760 - PropertyAccessExpression 3076677 3076719 - ParenthesizedExpression 3076677 3076714 - BinaryExpression 3076679 3076713 - PropertyAccessExpression 3076679 3076706 - PropertyAccessExpression 3076679 3076691 - ThisKeyword 3076679 3076683 - Identifier 3076684 3076691 - Identifier 3076692 3076706 - QuestionQuestionEqualsToken 3076706 3076710 - ArrayLiteralExpression 3076710 3076713 - Identifier 3076715 3076719 - ArrayLiteralExpression 3076720 3076759 - Identifier 3076721 3076727 - Identifier 3076728 3076749 - Identifier 3076750 3076758 - ReturnStatement 3076772 3076795 - FalseKeyword 3076788 3076794 - MethodDeclaration 3076802 3077018 - Identifier 3076802 3076837 - VoidKeyword 3076840 3076845 - Block 3076845 3077018 - IfStatement 3076847 3077011 - PropertyAccessExpression 3076861 3076900 - PropertyAccessExpression 3076861 3076871 - ThisKeyword 3076861 3076865 - Identifier 3076866 3076871 - QuestionDotToken 3076871 3076873 - Identifier 3076873 3076900 - Block 3076901 3077011 - ExpressionStatement 3076903 3076945 - CallExpression 3076903 3076944 - PropertyAccessExpression 3076903 3076942 - ThisKeyword 3076903 3076921 - Identifier 3076922 3076942 - ExpressionStatement 3076945 3077000 - CallExpression 3076945 3076999 - PropertyAccessExpression 3076945 3076997 - PropertyAccessExpression 3076945 3076969 - ThisKeyword 3076945 3076963 - Identifier 3076964 3076969 - Identifier 3076970 3076997 - MethodDeclaration 3077018 3077293 - Identifier 3077018 3077062 - Parameter 3077063 3077083 - Identifier 3077063 3077075 - StringKeyword 3077076 3077083 - VoidKeyword 3077085 3077090 - Block 3077090 3077293 - IfStatement 3077092 3077286 - PropertyAccessExpression 3077106 3077154 - PropertyAccessExpression 3077106 3077116 - ThisKeyword 3077106 3077110 - Identifier 3077111 3077116 - QuestionDotToken 3077116 3077118 - Identifier 3077118 3077154 - Block 3077155 3077286 - ExpressionStatement 3077157 3077199 - CallExpression 3077157 3077198 - PropertyAccessExpression 3077157 3077196 - ThisKeyword 3077157 3077175 - Identifier 3077176 3077196 - ExpressionStatement 3077199 3077275 - CallExpression 3077199 3077274 - PropertyAccessExpression 3077199 3077260 - PropertyAccessExpression 3077199 3077223 - ThisKeyword 3077199 3077217 - Identifier 3077218 3077223 - Identifier 3077224 3077260 - Identifier 3077261 3077273 - MethodDeclaration 3077293 3077533 - Identifier 3077293 3077336 - VoidKeyword 3077339 3077344 - Block 3077344 3077533 - IfStatement 3077346 3077526 - PropertyAccessExpression 3077360 3077407 - PropertyAccessExpression 3077360 3077370 - ThisKeyword 3077360 3077364 - Identifier 3077365 3077370 - QuestionDotToken 3077370 3077372 - Identifier 3077372 3077407 - Block 3077408 3077526 - ExpressionStatement 3077410 3077452 - CallExpression 3077410 3077451 - PropertyAccessExpression 3077410 3077449 - ThisKeyword 3077410 3077428 - Identifier 3077429 3077449 - ExpressionStatement 3077452 3077515 - CallExpression 3077452 3077514 - PropertyAccessExpression 3077452 3077512 - PropertyAccessExpression 3077452 3077476 - ThisKeyword 3077452 3077470 - Identifier 3077471 3077476 - Identifier 3077477 3077512 - MethodDeclaration 3077533 3077746 - Identifier 3077533 3077567 - VoidKeyword 3077570 3077575 - Block 3077575 3077746 - IfStatement 3077577 3077739 - PropertyAccessExpression 3077591 3077629 - PropertyAccessExpression 3077591 3077601 - ThisKeyword 3077591 3077595 - Identifier 3077596 3077601 - QuestionDotToken 3077601 3077603 - Identifier 3077603 3077629 - Block 3077630 3077739 - ExpressionStatement 3077632 3077674 - CallExpression 3077632 3077673 - PropertyAccessExpression 3077632 3077671 - ThisKeyword 3077632 3077650 - Identifier 3077651 3077671 - ExpressionStatement 3077674 3077728 - CallExpression 3077674 3077727 - PropertyAccessExpression 3077674 3077725 - PropertyAccessExpression 3077674 3077698 - ThisKeyword 3077674 3077692 - Identifier 3077693 3077698 - Identifier 3077699 3077725 - MethodDeclaration 3077746 3078018 - Identifier 3077746 3077791 - Parameter 3077792 3077809 - Identifier 3077792 3077801 - StringKeyword 3077802 3077809 - VoidKeyword 3077811 3077816 - Block 3077816 3078018 - IfStatement 3077818 3078011 - PropertyAccessExpression 3077832 3077881 - PropertyAccessExpression 3077832 3077842 - ThisKeyword 3077832 3077836 - Identifier 3077837 3077842 - QuestionDotToken 3077842 3077844 - Identifier 3077844 3077881 - Block 3077882 3078011 - ExpressionStatement 3077884 3077926 - CallExpression 3077884 3077925 - PropertyAccessExpression 3077884 3077923 - ThisKeyword 3077884 3077902 - Identifier 3077903 3077923 - ExpressionStatement 3077926 3078000 - CallExpression 3077926 3077999 - PropertyAccessExpression 3077926 3077988 - PropertyAccessExpression 3077926 3077950 - ThisKeyword 3077926 3077944 - Identifier 3077945 3077950 - Identifier 3077951 3077988 - Identifier 3077989 3077998 - MethodDeclaration 3078018 3078216 - Identifier 3078018 3078047 - VoidKeyword 3078050 3078055 - Block 3078055 3078216 - IfStatement 3078057 3078209 - PropertyAccessExpression 3078071 3078104 - PropertyAccessExpression 3078071 3078081 - ThisKeyword 3078071 3078075 - Identifier 3078076 3078081 - QuestionDotToken 3078081 3078083 - Identifier 3078083 3078104 - Block 3078105 3078209 - ExpressionStatement 3078107 3078149 - CallExpression 3078107 3078148 - PropertyAccessExpression 3078107 3078146 - ThisKeyword 3078107 3078125 - Identifier 3078126 3078146 - ExpressionStatement 3078149 3078198 - CallExpression 3078149 3078197 - PropertyAccessExpression 3078149 3078195 - PropertyAccessExpression 3078149 3078173 - ThisKeyword 3078149 3078167 - Identifier 3078168 3078173 - Identifier 3078174 3078195 - MethodDeclaration 3078216 3078549 - Identifier 3078216 3078250 - Parameter 3078251 3078277 - Identifier 3078251 3078265 - TypeReference 3078266 3078277 - Identifier 3078266 3078277 - Parameter 3078278 3078299 - Identifier 3078278 3078291 - TypeReference 3078292 3078299 - Identifier 3078292 3078299 - Parameter 3078300 3078325 - Identifier 3078300 3078317 - TypeReference 3078318 3078325 - Identifier 3078318 3078325 - VoidKeyword 3078327 3078332 - Block 3078332 3078549 - IfStatement 3078334 3078542 - PropertyAccessExpression 3078348 3078386 - PropertyAccessExpression 3078348 3078358 - ThisKeyword 3078348 3078352 - Identifier 3078353 3078358 - QuestionDotToken 3078358 3078360 - Identifier 3078360 3078386 - Block 3078387 3078542 - ExpressionStatement 3078389 3078431 - CallExpression 3078389 3078430 - PropertyAccessExpression 3078389 3078428 - ThisKeyword 3078389 3078407 - Identifier 3078408 3078428 - ExpressionStatement 3078431 3078531 - CallExpression 3078431 3078530 - PropertyAccessExpression 3078431 3078482 - PropertyAccessExpression 3078431 3078455 - ThisKeyword 3078431 3078449 - Identifier 3078450 3078455 - Identifier 3078456 3078482 - Identifier 3078483 3078497 - Identifier 3078498 3078511 - Identifier 3078512 3078529 - MethodDeclaration 3078549 3078803 - Identifier 3078549 3078586 - Parameter 3078587 3078607 - Identifier 3078587 3078599 - StringKeyword 3078600 3078607 - VoidKeyword 3078609 3078614 - Block 3078614 3078803 - IfStatement 3078616 3078796 - PropertyAccessExpression 3078630 3078671 - PropertyAccessExpression 3078630 3078640 - ThisKeyword 3078630 3078634 - Identifier 3078635 3078640 - QuestionDotToken 3078640 3078642 - Identifier 3078642 3078671 - Block 3078672 3078796 - ExpressionStatement 3078674 3078716 - CallExpression 3078674 3078715 - PropertyAccessExpression 3078674 3078713 - ThisKeyword 3078674 3078692 - Identifier 3078693 3078713 - ExpressionStatement 3078716 3078785 - CallExpression 3078716 3078784 - PropertyAccessExpression 3078716 3078770 - PropertyAccessExpression 3078716 3078740 - ThisKeyword 3078716 3078734 - Identifier 3078735 3078740 - Identifier 3078741 3078770 - Identifier 3078771 3078783 - MethodDeclaration 3078803 3078899 - PrivateKeyword 3078803 3078818 - Identifier 3078818 3078839 - Block 3078841 3078899 - ExpressionStatement 3078843 3078892 - BinaryExpression 3078843 3078891 - PropertyAccessExpression 3078843 3078884 - PropertyAccessExpression 3078843 3078865 - ThisKeyword 3078843 3078857 - Identifier 3078858 3078865 - Identifier 3078866 3078884 - EqualsToken 3078884 3078886 - TrueKeyword 3078886 3078891 - MethodDeclaration 3078899 3079166 - Identifier 3078899 3078930 - Parameter 3078931 3078941 - Identifier 3078931 3078935 - TypeReference 3078936 3078941 - Identifier 3078936 3078941 - VoidKeyword 3078943 3078948 - Block 3078948 3079166 - IfStatement 3078950 3079159 - BinaryExpression 3078964 3079048 - PropertyAccessExpression 3078964 3078999 - PropertyAccessExpression 3078964 3078974 - ThisKeyword 3078964 3078968 - Identifier 3078969 3078974 - QuestionDotToken 3078974 3078976 - Identifier 3078976 3078999 - AmpersandAmpersandToken 3078999 3079002 - PrefixUnaryExpression 3079002 3079048 - PropertyAccessExpression 3079004 3079048 - PropertyAccessExpression 3079004 3079016 - ThisKeyword 3079004 3079008 - Identifier 3079009 3079016 - Identifier 3079017 3079048 - Block 3079049 3079159 - ExpressionStatement 3079051 3079093 - CallExpression 3079051 3079092 - PropertyAccessExpression 3079051 3079090 - ThisKeyword 3079051 3079069 - Identifier 3079070 3079090 - ExpressionStatement 3079093 3079148 - CallExpression 3079093 3079147 - PropertyAccessExpression 3079093 3079141 - PropertyAccessExpression 3079093 3079117 - ThisKeyword 3079093 3079111 - Identifier 3079112 3079117 - Identifier 3079118 3079141 - Identifier 3079142 3079146 - MethodDeclaration 3079166 3079300 - Identifier 3079166 3079195 - Parameter 3079196 3079225 - Identifier 3079196 3079200 - UnionType 3079201 3079225 - TypeReference 3079201 3079213 - Identifier 3079201 3079213 - UndefinedKeyword 3079215 3079225 - VoidKeyword 3079227 3079232 - Block 3079232 3079300 - ReturnStatement 3079234 3079293 - CallExpression 3079250 3079292 - PropertyAccessExpression 3079250 3079284 - PropertyAccessExpression 3079250 3079261 - ThisKeyword 3079250 3079255 - Identifier 3079256 3079261 - QuestionDotToken 3079261 3079263 - Identifier 3079263 3079284 - QuestionDotToken 3079284 3079286 - Identifier 3079287 3079291 - MethodDeclaration 3079300 3079399 - Identifier 3079300 3079328 - VoidKeyword 3079331 3079336 - Block 3079336 3079399 - ReturnStatement 3079338 3079392 - CallExpression 3079354 3079391 - PropertyAccessExpression 3079354 3079387 - PropertyAccessExpression 3079354 3079365 - ThisKeyword 3079354 3079359 - Identifier 3079360 3079365 - QuestionDotToken 3079365 3079367 - Identifier 3079367 3079387 - QuestionDotToken 3079387 3079389 diff --git a/program.ast b/program.ast deleted file mode 100644 index e69de29bb2..0000000000 From e65d5d5ea0d3a346cfc45d1650dd7258fe60d988 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Fri, 14 Mar 2025 15:49:45 -0700 Subject: [PATCH 13/63] Clean up --- internal/api/api.go | 13 +- internal/api/{ => encoder}/encoder.go | 156 +++++++++++---------- internal/api/{ => encoder}/encoder_test.go | 8 +- internal/api/proto.go | 18 +-- internal/api/server.go | 14 +- 5 files changed, 107 insertions(+), 102 deletions(-) rename internal/api/{ => encoder}/encoder.go (88%) rename internal/api/{ => encoder}/encoder_test.go (88%) diff --git a/internal/api/api.go b/internal/api/api.go index 9ac3e6583f..f34bead251 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -6,6 +6,7 @@ import ( "sync" "time" + "github.com/microsoft/typescript-go/internal/api/encoder" "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/project" @@ -108,7 +109,7 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([ if err != nil { return nil, err } - return EncodeSourceFile(sourceFile) + return encoder.EncodeSourceFile(sourceFile) case MethodParseConfigFile: return encodeJSON(api.ParseConfigFile(params.(*ParseConfigFileParams).FileName)) case MethodLoadProject: @@ -150,7 +151,7 @@ func (api *API) ParseConfigFile(configFileName string) (*tsoptions.ParsedCommand return nil, fmt.Errorf("could not read file %q", configFileName) } -func (api *API) LoadProject(configFileName string) (*ProjectData, error) { +func (api *API) LoadProject(configFileName string) (*ProjectResponse, error) { configFileName = api.toAbsoluteFileName(configFileName) configFilePath := api.toPath(configFileName) project := project.NewConfiguredProject(configFileName, configFilePath, api) @@ -160,10 +161,10 @@ func (api *API) LoadProject(configFileName string) (*ProjectData, error) { project.GetProgram() id := len(api.projects) api.projects = append(api.projects, project) - return NewProjectData(project, id), nil + return NewProjectResponse(project, id), nil } -func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) (*SymbolData, error) { +func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) (*SymbolResponse, error) { if projectId >= len(api.projects) { return nil, fmt.Errorf("project not found") } @@ -172,14 +173,14 @@ func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int if err != nil || symbol == nil { return nil, err } - data := NewSymbolData(symbol, project.Version()) + data := NewSymbolResponse(symbol, project.Version()) api.symbolsMu.Lock() defer api.symbolsMu.Unlock() api.symbols[data.Id] = symbol return data, nil } -func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) (*TypeData, error) { +func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) (*TypeResponse, error) { if projectId >= len(api.projects) { return nil, fmt.Errorf("project not found") } diff --git a/internal/api/encoder.go b/internal/api/encoder/encoder.go similarity index 88% rename from internal/api/encoder.go rename to internal/api/encoder/encoder.go index 4af88f8b9b..be61705405 100644 --- a/internal/api/encoder.go +++ b/internal/api/encoder/encoder.go @@ -1,4 +1,4 @@ -package api +package encoder import ( "encoding/binary" @@ -9,30 +9,34 @@ import ( "github.com/microsoft/typescript-go/internal/ast" ) -// EncodedNodeLength is the number of int32 values that represent a single node in the encoded format. const ( - EncodedKind = iota - EncodedPos - EncodedEnd - EncodedNext - EncodedParent - EncodedData - EncodedNodeLength + offsetKind = iota + offsetPos + offsetEnd + offsetNext + offsetParent + offsetData + // encodedNodeLength is the number of int32 values that represent a single node in the encoded format. + encodedNodeLength ) const ( - NodeDataTypeChildren int32 = iota - NodeDataTypeStringIndex - NodeDataTypeExtendedDataIndex + nodeDataTypeChildren uint32 = iota + nodeDataTypeStringIndex + nodeDataTypeExtendedDataIndex ) const ( - EncodedHeaderLength = 6 * 4 + syntaxKindNodeList uint32 = 1<<32 - 1 +) + +const ( + encodedHeaderLength = 6 * 4 ) type stringTable struct { data *strings.Builder - offsets []int32 + offsets []uint32 } func newStringTable(stringLength int, stringCount int) *stringTable { @@ -40,20 +44,20 @@ func newStringTable(stringLength int, stringCount int) *stringTable { builder.Grow(stringLength) return &stringTable{ data: builder, - offsets: make([]int32, 0, stringCount), + offsets: make([]uint32, 0, stringCount), } } -func (t *stringTable) add(s string) int32 { - offset := int32(t.data.Len()) +func (t *stringTable) add(s string) uint32 { + offset := uint32(t.data.Len()) t.offsets = append(t.offsets, offset) t.data.WriteString(s) - return int32(len(t.offsets) - 1) + return uint32(len(t.offsets) - 1) } func (t *stringTable) encode() (result []byte, err error) { result = make([]byte, 0, len(t.offsets)*4+t.data.Len()) - if result, err = appendInt32s(result, t.offsets...); err != nil { + if result, err = appendUint32s(result, t.offsets...); err != nil { return nil, err } result = append(result, t.data.String()...) @@ -70,10 +74,10 @@ func (t *stringTable) encode() (result []byte, err error) { // The first encoded node is a zero element that is not part of the source file. func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { var err error - var parentIndex, nodeCount, prevIndex int32 + var parentIndex, nodeCount, prevIndex uint32 strs := newStringTable(sourceFile.TextLength, sourceFile.TextCount) - nodes := make([]byte, 0, (sourceFile.NodeCount+1)*EncodedNodeLength*4) + nodes := make([]byte, 0, (sourceFile.NodeCount+1)*encodedNodeLength*4) visitor := &ast.NodeVisitor{ Hooks: ast.NodeVisitorHooks{ @@ -86,13 +90,13 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { if prevIndex != 0 { // this is the next sibling of `prevNode` b0, b1, b2, b3 := uint8(nodeCount), uint8(nodeCount>>8), uint8(nodeCount>>16), uint8(nodeCount>>24) - nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4] = b0 - nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+1] = b1 - nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+2] = b2 - nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+3] = b3 + nodes[prevIndex*encodedNodeLength*4+offsetNext*4] = b0 + nodes[prevIndex*encodedNodeLength*4+offsetNext*4+1] = b1 + nodes[prevIndex*encodedNodeLength*4+offsetNext*4+2] = b2 + nodes[prevIndex*encodedNodeLength*4+offsetNext*4+3] = b3 } - if nodes, err = appendInt32s(nodes, int32(-1), int32(nodeList.Pos()), int32(nodeList.End()), 0, parentIndex, int32(len(nodeList.Nodes))); err != nil { + if nodes, err = appendUint32s(nodes, syntaxKindNodeList, uint32(nodeList.Pos()), uint32(nodeList.End()), 0, parentIndex, uint32(len(nodeList.Nodes))); err != nil { return nil } @@ -120,13 +124,13 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { if prevIndex != 0 { // this is the next sibling of `prevNode` b0, b1, b2, b3 := uint8(nodeCount), uint8(nodeCount>>8), uint8(nodeCount>>16), uint8(nodeCount>>24) - nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4] = b0 - nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+1] = b1 - nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+2] = b2 - nodes[prevIndex*EncodedNodeLength*4+EncodedNext*4+3] = b3 + nodes[prevIndex*encodedNodeLength*4+offsetNext*4] = b0 + nodes[prevIndex*encodedNodeLength*4+offsetNext*4+1] = b1 + nodes[prevIndex*encodedNodeLength*4+offsetNext*4+2] = b2 + nodes[prevIndex*encodedNodeLength*4+offsetNext*4+3] = b3 } - if nodes, err = appendInt32s(nodes, int32(node.Kind), int32(node.Pos()), int32(node.End()), 0, parentIndex, getNodeData(node, strs)); err != nil { + if nodes, err = appendUint32s(nodes, uint32(node.Kind), uint32(node.Pos()), uint32(node.End()), 0, parentIndex, getNodeData(node, strs)); err != nil { visitor.Visit = nil return nil } @@ -143,13 +147,13 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { } // kind, pos, end, next, parent - if nodes, err = appendInt32s(nodes, 0, 0, 0, 0, 0, 0); err != nil { + if nodes, err = appendUint32s(nodes, 0, 0, 0, 0, 0, 0); err != nil { return nil, err } nodeCount++ parentIndex++ - if nodes, err = appendInt32s(nodes, int32(sourceFile.Kind), int32(sourceFile.Pos()), int32(sourceFile.End()), 0, 0, 0); err != nil { + if nodes, err = appendUint32s(nodes, uint32(sourceFile.Kind), uint32(sourceFile.Pos()), uint32(sourceFile.End()), 0, 0, 0); err != nil { return nil, err } @@ -158,24 +162,24 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { return nil, err } - headerLength := EncodedHeaderLength + headerLength := encodedHeaderLength offsetStringTableOffsets := headerLength offsetStringTableData := headerLength + len(strs.offsets)*4 offsetNodes := offsetStringTableData + strs.data.Len() offsetExtendedDataOffsets := 0 offsetExtendedDataData := 0 - header := []int32{ + header := []uint32{ 0, - int32(offsetStringTableOffsets), - int32(offsetStringTableData), - int32(offsetExtendedDataOffsets), - int32(offsetExtendedDataData), - int32(offsetNodes), + uint32(offsetStringTableOffsets), + uint32(offsetStringTableData), + uint32(offsetExtendedDataOffsets), + uint32(offsetExtendedDataData), + uint32(offsetNodes), } var headerBytes, strsBytes []byte - if headerBytes, err = appendInt32s(nil, header...); err != nil { + if headerBytes, err = appendUint32s(nil, header...); err != nil { return nil, err } if strsBytes, err = strs.encode(); err != nil { @@ -189,7 +193,7 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { ), nil } -func appendInt32s(buf []byte, values ...int32) ([]byte, error) { +func appendUint32s(buf []byte, values ...uint32) ([]byte, error) { for _, value := range values { var err error if buf, err = binary.Append(buf, binary.LittleEndian, value); err != nil { @@ -211,42 +215,42 @@ func FormatEncodedSourceFile(encoded []byte) string { if parentIndex == 0 { return "" } - return " " + getIndent(readInt32(encoded, int(offsetNodes)+int(parentIndex)*EncodedNodeLength*4+EncodedParent*4)) + return " " + getIndent(readInt32(encoded, int(offsetNodes)+int(parentIndex)*encodedNodeLength*4+offsetParent*4)) } j := 1 - for i := int(offsetNodes) + EncodedNodeLength*4; i < len(encoded); i += EncodedNodeLength * 4 { - kind := readInt32(encoded, i+EncodedKind*4) - pos := readInt32(encoded, i+EncodedPos*4) - end := readInt32(encoded, i+EncodedEnd*4) - parentIndex := readInt32(encoded, i+EncodedParent*4) + for i := int(offsetNodes) + encodedNodeLength*4; i < len(encoded); i += encodedNodeLength * 4 { + kind := readInt32(encoded, i+offsetKind*4) + pos := readInt32(encoded, i+offsetPos*4) + end := readInt32(encoded, i+offsetEnd*4) + parentIndex := readInt32(encoded, i+offsetParent*4) result.WriteString(getIndent(parentIndex)) if kind == -1 { result.WriteString("NodeList") } else { result.WriteString(ast.Kind(kind).String()) } - fmt.Fprintf(&result, " [%d, %d), i=%d, next=%d", pos, end, j, encoded[i+EncodedNext*4]) + fmt.Fprintf(&result, " [%d, %d), i=%d, next=%d", pos, end, j, encoded[i+offsetNext*4]) result.WriteString("\n") j++ } return result.String() } -func getNodeData(node *ast.Node, strs *stringTable) int32 { +func getNodeData(node *ast.Node, strs *stringTable) uint32 { t := getNodeDataType(node) switch t { - case NodeDataTypeChildren: - return t | getNodeDefinedData(node) | int32(getChildrenPropertyMask(node)) - case NodeDataTypeStringIndex: + case nodeDataTypeChildren: + return t | getNodeDefinedData(node) | uint32(getChildrenPropertyMask(node)) + case nodeDataTypeStringIndex: return t | getNodeDefinedData(node) | recordNodeStrings(node, strs) - case NodeDataTypeExtendedDataIndex: + case nodeDataTypeExtendedDataIndex: return t | getNodeDefinedData(node) /* | TODO */ default: panic("unreachable") } } -func getNodeDataType(node *ast.Node) int32 { +func getNodeDataType(node *ast.Node) uint32 { switch node.Kind { case ast.KindJsxText, ast.KindIdentifier, @@ -257,13 +261,13 @@ func getNodeDataType(node *ast.Node) int32 { ast.KindRegularExpressionLiteral, ast.KindNoSubstitutionTemplateLiteral, ast.KindJSDocText: - return NodeDataTypeStringIndex + return nodeDataTypeStringIndex case ast.KindTemplateHead, ast.KindTemplateMiddle, ast.KindTemplateTail: - return NodeDataTypeExtendedDataIndex + return nodeDataTypeExtendedDataIndex default: - return NodeDataTypeChildren + return nodeDataTypeChildren } } @@ -598,61 +602,61 @@ func getChildrenPropertyMask(node *ast.Node) uint8 { } } -func getNodeDefinedData(node *ast.Node) int32 { +func getNodeDefinedData(node *ast.Node) uint32 { switch node.Kind { case ast.KindJSDocTypeLiteral: n := node.AsJSDocTypeLiteral() - return int32(boolToByte(n.IsArrayType)) << 24 + return uint32(boolToByte(n.IsArrayType)) << 24 case ast.KindImportSpecifier: n := node.AsImportSpecifier() - return int32(boolToByte(n.IsTypeOnly)) << 24 + return uint32(boolToByte(n.IsTypeOnly)) << 24 case ast.KindImportClause: n := node.AsImportClause() - return int32(boolToByte(n.IsTypeOnly)) << 24 + return uint32(boolToByte(n.IsTypeOnly)) << 24 case ast.KindExportSpecifier: n := node.AsExportSpecifier() - return int32(boolToByte(n.IsTypeOnly)) << 24 + return uint32(boolToByte(n.IsTypeOnly)) << 24 case ast.KindImportType: n := node.AsImportTypeNode() - return int32(boolToByte(n.IsTypeOf)) << 24 + return uint32(boolToByte(n.IsTypeOf)) << 24 case ast.KindBlock: n := node.AsBlock() - return int32(boolToByte(n.Multiline)) << 24 + return uint32(boolToByte(n.Multiline)) << 24 case ast.KindImportEqualsDeclaration: n := node.AsImportEqualsDeclaration() - return int32(boolToByte(n.IsTypeOnly)) << 24 + return uint32(boolToByte(n.IsTypeOnly)) << 24 case ast.KindExportAssignment: n := node.AsExportAssignment() - return int32(boolToByte(n.IsExportEquals)) << 24 + return uint32(boolToByte(n.IsExportEquals)) << 24 case ast.KindExportDeclaration: n := node.AsExportDeclaration() - return int32(boolToByte(n.IsTypeOnly)) << 24 + return uint32(boolToByte(n.IsTypeOnly)) << 24 case ast.KindArrayLiteralExpression: n := node.AsArrayLiteralExpression() - return int32(boolToByte(n.MultiLine)) << 24 + return uint32(boolToByte(n.MultiLine)) << 24 case ast.KindObjectLiteralExpression: n := node.AsObjectLiteralExpression() - return int32(boolToByte(n.MultiLine)) << 24 + return uint32(boolToByte(n.MultiLine)) << 24 case ast.KindJSDocPropertyTag: n := node.AsJSDocPropertyTag() - return int32(boolToByte(n.IsBracketed))<<24 | int32(boolToByte(n.IsNameFirst))<<25 + return uint32(boolToByte(n.IsBracketed))<<24 | uint32(boolToByte(n.IsNameFirst))<<25 case ast.KindJSDocParameterTag: n := node.AsJSDocParameterTag() - return int32(boolToByte(n.IsBracketed))<<24 | int32(boolToByte(n.IsNameFirst))<<25 + return uint32(boolToByte(n.IsBracketed))<<24 | uint32(boolToByte(n.IsNameFirst))<<25 case ast.KindJsxText: n := node.AsJsxText() - return int32(boolToByte(n.ContainsOnlyTriviaWhiteSpaces)) << 24 + return uint32(boolToByte(n.ContainsOnlyTriviaWhiteSpaces)) << 24 case ast.KindVariableDeclarationList: n := node.AsVariableDeclarationList() - return int32(n.Flags & (ast.NodeFlagsLet | ast.NodeFlagsConst) << 24) + return uint32(n.Flags & (ast.NodeFlagsLet | ast.NodeFlagsConst) << 24) case ast.KindImportAttributes: n := node.AsImportAttributes() - return int32(boolToByte(n.MultiLine))<<24 | int32(boolToByte(n.Token == ast.KindAssertKeyword))<<25 + return uint32(boolToByte(n.MultiLine))<<24 | uint32(boolToByte(n.Token == ast.KindAssertKeyword))<<25 } return 0 } -func recordNodeStrings(node *ast.Node, strs *stringTable) int32 { +func recordNodeStrings(node *ast.Node, strs *stringTable) uint32 { switch node.Kind { case ast.KindJsxText: return strs.add(node.AsJsxText().Text) diff --git a/internal/api/encoder_test.go b/internal/api/encoder/encoder_test.go similarity index 88% rename from internal/api/encoder_test.go rename to internal/api/encoder/encoder_test.go index 2ae18ffa0b..7c15c77276 100644 --- a/internal/api/encoder_test.go +++ b/internal/api/encoder/encoder_test.go @@ -1,11 +1,11 @@ -package api_test +package encoder_test import ( "os" "path/filepath" "testing" - "github.com/microsoft/typescript-go/internal/api" + "github.com/microsoft/typescript-go/internal/api/encoder" "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/parser" @@ -22,10 +22,10 @@ func TestEncodeSourceFile(t *testing.T) { t.Run("baseline", func(t *testing.T) { t.Parallel() - buf, err := api.EncodeSourceFile(sourceFile) + buf, err := encoder.EncodeSourceFile(sourceFile) assert.NilError(t, err) - str := api.FormatEncodedSourceFile(buf) + str := encoder.FormatEncodedSourceFile(buf) baseline.Run(t, "encodeSourceFile.txt", str, baseline.Options{ Subfolder: "api", }) diff --git a/internal/api/proto.go b/internal/api/proto.go index ede3ff64bd..32aaa45b8e 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -55,15 +55,15 @@ type LoadProjectParams struct { ConfigFileName string `json:"configFileName"` } -type ProjectData struct { +type ProjectResponse struct { Id int `json:"id"` ConfigFileName string `json:"configFileName"` RootFiles []string `json:"rootFiles"` CompilerOptions *core.CompilerOptions `json:"compilerOptions"` } -func NewProjectData(project *project.Project, id int) *ProjectData { - return &ProjectData{ +func NewProjectResponse(project *project.Project, id int) *ProjectResponse { + return &ProjectResponse{ Id: id, ConfigFileName: project.Name(), RootFiles: project.GetRootFileNames(), @@ -77,15 +77,15 @@ type GetSymbolAtPositionParams struct { Position uint32 `json:"position"` } -type SymbolData struct { +type SymbolResponse struct { Id Handle[ast.Symbol] `json:"id"` Name string `json:"name"` Flags uint32 `json:"flags"` CheckFlags uint32 `json:"checkFlags"` } -func NewSymbolData(symbol *ast.Symbol, projectVersion int) *SymbolData { - return &SymbolData{ +func NewSymbolResponse(symbol *ast.Symbol, projectVersion int) *SymbolResponse { + return &SymbolResponse{ Id: NewHandle(symbol), Name: symbol.Name, Flags: uint32(symbol.Flags), @@ -98,13 +98,13 @@ type GetTypeOfSymbolParams struct { Symbol Handle[ast.Symbol] `json:"symbol"` } -type TypeData struct { +type TypeResponse struct { Id Handle[checker.Type] `json:"id"` Flags uint32 `json:"flags"` } -func NewTypeData(t *checker.Type) *TypeData { - return &TypeData{ +func NewTypeData(t *checker.Type) *TypeResponse { + return &TypeResponse{ Id: NewHandle(t), Flags: uint32(t.Flags()), } diff --git a/internal/api/server.go b/internal/api/server.go index 4626d4cd60..3f51ec16b4 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -173,10 +173,14 @@ func (s *Server) enableCallback(callback string) error { func (s *Server) handleRequest(method string, payload []byte) ([]byte, error) { s.requestId++ - if method == "configure" { + switch method { + case "configure": return nil, s.handleConfigure(payload) + case "echo": + return payload, nil + default: + return s.api.HandleRequest(s.requestId, method, payload) } - return s.api.HandleRequest(s.requestId, method, payload) } func (s *Server) handleConfigure(payload []byte) error { @@ -189,11 +193,7 @@ func (s *Server) handleConfigure(payload []byte) error { return err } } - if params.LogFile != "" { - s.logger.SetFile(params.LogFile) - } else { - s.logger.SetFile("") - } + s.logger.SetFile(params.LogFile) return nil } From 5819b1ab65616c1c2757e95743a7b4e1cc32047b Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 17 Mar 2025 10:13:31 -0700 Subject: [PATCH 14/63] Add client benchmarks --- _packages/api/bench/sync.ts | 93 +++++++++++++++++ _packages/api/bench/tsconfig.json | 12 +++ _packages/api/package.json | 6 +- _packages/api/src/base/api.ts | 2 +- _packages/api/src/base/node.ts | 26 ++--- _packages/api/src/sync/api.ts | 28 +++++- _packages/api/src/sync/client.ts | 8 ++ internal/api/api.go | 7 +- internal/api/encoder/encoder_test.go | 2 +- internal/api/server.go | 144 ++++++++++++--------------- pnpm-lock.yaml | 10 ++ 11 files changed, 232 insertions(+), 106 deletions(-) create mode 100644 _packages/api/bench/sync.ts create mode 100644 _packages/api/bench/tsconfig.json diff --git a/_packages/api/bench/sync.ts b/_packages/api/bench/sync.ts new file mode 100644 index 0000000000..e029ea9341 --- /dev/null +++ b/_packages/api/bench/sync.ts @@ -0,0 +1,93 @@ +import { + API, + type Project, + type SourceFile, +} from "@typescript/api/sync"; +import { Bench } from "tinybench"; + +const bench = new Bench({ + name: "Sync API", + teardown: () => { + api.close(); + api = undefined!; + project = undefined!; + file = undefined!; + }, +}); + +let api: API; +let project: Project; +let file: SourceFile; + +const SMALL_STRING = "ping"; +const LARGE_STRING = "a".repeat(1_000_000); +const SMALL_UINT8_ARRAY = new Uint8Array([1, 2, 3, 4, 5]); +const LARGE_UINT8_ARRAY = new Uint8Array(1_000_000); + +bench + .add("spawn API", () => { + spawnAPI(); + }) + .add("echo (small string)", () => { + api.echo(SMALL_STRING); + }, { beforeAll: spawnAPI }) + .add("echo (large string)", () => { + api.echo(LARGE_STRING); + }, { beforeAll: spawnAPI }) + .add("echo (small Uint8Array)", () => { + api.echoBinary(SMALL_UINT8_ARRAY); + }, { beforeAll: spawnAPI }) + .add("echo (large Uint8Array)", () => { + api.echoBinary(LARGE_UINT8_ARRAY); + }, { beforeAll: spawnAPI }) + .add("load project", () => { + loadProject(); + }, { beforeAll: spawnAPI }) + .add("transfer debug.ts", () => { + getDebugTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("transfer program.ts", () => { + getProgramTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("transfer checker.ts", () => { + getCheckerTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("materialize checker.ts", () => { + file.forEachChild(function visit(node) { + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, getCheckerTS) }); + +await bench.run(); +console.table(bench.table()); + +function spawnAPI() { + api = new API({ + cwd: new URL("../../../", import.meta.url).pathname, + tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + }); +} + +function loadProject() { + project = api.loadProject("_submodules/TypeScript/src/compiler/tsconfig.json"); +} + +function getDebugTS() { + file = project.getSourceFile("debug.ts")!; +} + +function getProgramTS() { + file = project.getSourceFile("program.ts")!; +} + +function getCheckerTS() { + file = project.getSourceFile("checker.ts")!; +} + +function all(...fns: (() => void)[]) { + return () => { + for (const fn of fns) { + fn(); + } + }; +} diff --git a/_packages/api/bench/tsconfig.json b/_packages/api/bench/tsconfig.json new file mode 100644 index 0000000000..ba00b05d15 --- /dev/null +++ b/_packages/api/bench/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "nodenext", + "strict": true, + "noEmit": true, + "verbatimModuleSyntax": true, + "allowImportingTsExtensions": true + }, + "references": [ + { "path": ".." } + ] +} diff --git a/_packages/api/package.json b/_packages/api/package.json index 546c5b2253..0bcaac7e0f 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -33,6 +33,10 @@ "libsyncrpc": "link:../../../libsyncrpc" }, "scripts": { - "build": "tsc -b" + "build": "tsc -b", + "bench": "node --no-warnings --conditions @typescript/source bench/sync.ts" + }, + "devDependencies": { + "tinybench": "^3.1.1" } } \ No newline at end of file diff --git a/_packages/api/src/base/api.ts b/_packages/api/src/base/api.ts index 24ba4ee3b6..d5522ab99d 100644 --- a/_packages/api/src/base/api.ts +++ b/_packages/api/src/base/api.ts @@ -43,7 +43,7 @@ export abstract class Project { abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync | undefined>; } -export abstract class SourceFile extends RemoteNode { +export abstract class RemoteSourceFile extends RemoteNode { constructor(data: Uint8Array) { const view = new DataView(data.buffer, data.byteOffset, data.byteLength); super(view, 1, undefined!); diff --git a/_packages/api/src/base/node.ts b/_packages/api/src/base/node.ts index 48543e5573..c82ac7065b 100644 --- a/_packages/api/src/base/node.ts +++ b/_packages/api/src/base/node.ts @@ -1,9 +1,19 @@ -import { SyntaxKind } from "@typescript/ast"; -import type { - Node as BaseNode, - NodeArray as BaseNodeArray, +import { + type Node, + type NodeArray, + SyntaxKind, } from "@typescript/ast"; +declare module "@typescript/ast" { + export interface Node { + forEachChild(visitor: (node: Node) => T): T | undefined; + } + + export interface NodeArray { + at(index: number): T; + } +} + const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8]; type NodeDataType = typeof NodeDataTypeChildren | typeof NodeDataTypeString | typeof NodeDataTypeExtended; @@ -134,14 +144,6 @@ const OFFSET_DATA = 5; const NODE_LEN = 6; const KIND_NODE_LIST = 2 ** 32 - 1; -export interface Node extends BaseNode { - forEachChild(visitor: (node: Node) => T): T | undefined; -} - -export interface NodeArray extends BaseNodeArray { - at(index: number): T; -} - export class RemoteNodeBase { parent: RemoteNode; protected view: DataView; diff --git a/_packages/api/src/sync/api.ts b/_packages/api/src/sync/api.ts index 420f6af83a..682fecef42 100644 --- a/_packages/api/src/sync/api.ts +++ b/_packages/api/src/sync/api.ts @@ -1,9 +1,14 @@ -import type { SourceFile as SourceFileNode } from "@typescript/ast"; +import type { + Node, + NodeArray, + Statement, + SyntaxKind, +} from "@typescript/ast"; import { type API as BaseAPI, type APIOptions as BaseAPIOptions, Project as BaseProject, - SourceFile as BaseSourceFile, + RemoteSourceFile as BaseRemoteSourceFile, Symbol as BaseSymbol, Type as BaseType, } from "../base/api.ts"; @@ -33,6 +38,14 @@ export class API implements BaseAPI { return new Project(this.client, data); } + echo(message: string): string { + return this.client.echo(message); + } + + echoBinary(message: Uint8Array): Uint8Array { + return this.client.echoBinary(message); + } + close(): void { this.client.close(); } @@ -50,9 +63,9 @@ export class Project extends BaseProject { this.loadData(this.client.request("loadProject", { configFileName: this.configFileName })); } - getSourceFile(fileName: string): SourceFileNode | undefined { + getSourceFile(fileName: string): SourceFile | undefined { const data = this.client.requestBinary("getSourceFile", { project: this.id, fileName }); - return data ? new SourceFile(this.client, this, data) as unknown as SourceFileNode : undefined; + return data ? new RemoteSourceFile(this.client, this, data) as unknown as SourceFile : undefined; } getSymbolAtPosition(requests: readonly { fileName: string; position: number; }[]): (Symbol | undefined)[]; @@ -69,7 +82,12 @@ export class Project extends BaseProject { } } -export class SourceFile extends BaseSourceFile { +export interface SourceFile extends Node { + kind: SyntaxKind.SourceFile; + statements: NodeArray; +} + +class RemoteSourceFile extends BaseRemoteSourceFile { private client: Client; private project: Project; constructor(client: Client, project: Project, data: Uint8Array) { diff --git a/_packages/api/src/sync/client.ts b/_packages/api/src/sync/client.ts index 9c87f22fc6..04d7484b77 100644 --- a/_packages/api/src/sync/client.ts +++ b/_packages/api/src/sync/client.ts @@ -48,6 +48,14 @@ export class Client { return this.channel.requestBinarySync(method, this.encoder.encode(JSON.stringify(payload))); } + echo(payload: string): string { + return this.channel.requestSync("echo", payload); + } + + echoBinary(payload: Uint8Array): Uint8Array { + return this.channel.requestBinarySync("echo", payload); + } + close(): void { this.channel.murderInColdBlood(); } diff --git a/internal/api/api.go b/internal/api/api.go index f34bead251..d374d4793e 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -2,6 +2,7 @@ package api import ( "encoding/json" + "errors" "fmt" "sync" "time" @@ -166,7 +167,7 @@ func (api *API) LoadProject(configFileName string) (*ProjectResponse, error) { func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) (*SymbolResponse, error) { if projectId >= len(api.projects) { - return nil, fmt.Errorf("project not found") + return nil, errors.New("project not found") } project := api.projects[projectId] symbol, err := project.LanguageService().GetSymbolAtPosition(fileName, position) @@ -182,7 +183,7 @@ func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) (*TypeResponse, error) { if projectId >= len(api.projects) { - return nil, fmt.Errorf("project not found") + return nil, errors.New("project not found") } project := api.projects[projectId] symbol, ok := api.symbols[symbolHandle] @@ -198,7 +199,7 @@ func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) func (api *API) GetSourceFile(projectId int, fileName string) (*ast.SourceFile, error) { if projectId >= len(api.projects) { - return nil, fmt.Errorf("project not found") + return nil, errors.New("project not found") } project := api.projects[projectId] sourceFile := project.GetProgram().GetSourceFile(fileName) diff --git a/internal/api/encoder/encoder_test.go b/internal/api/encoder/encoder_test.go index 7c15c77276..3c84735ad1 100644 --- a/internal/api/encoder/encoder_test.go +++ b/internal/api/encoder/encoder_test.go @@ -46,7 +46,7 @@ func BenchmarkEncodeSourceFile(b *testing.B) { ) for b.Loop() { - _, err := api.EncodeSourceFile(sourceFile) + _, err := encoder.EncodeSourceFile(sourceFile) assert.NilError(b, err) } } diff --git a/internal/api/server.go b/internal/api/server.go index 3f51ec16b4..fdfeeb1ee8 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -2,10 +2,8 @@ package api import ( "bufio" - "bytes" "encoding/binary" "encoding/json" - "errors" "fmt" "io" "sync" @@ -102,47 +100,24 @@ func (s *Server) NewLine() string { func (s *Server) Run() error { for { - messageType, err := s.r.ReadBytes('\t') - if err != nil { - if errors.Is(err, io.EOF) { - return nil - } - return err - } - method, err := s.r.ReadBytes('\t') + messageType, method, payload, err := s.readRequest("") if err != nil { return err } - var size uint32 - if err = binary.Read(s.r, binary.LittleEndian, &size); err != nil { - return fmt.Errorf("%w: expected payload size: %w", ErrInvalidRequest, err) - } - messageType = messageType[:len(messageType)-1] - method = method[:len(method)-1] - - payload := make([]byte, size) - bytesRead, err := io.ReadFull(s.r, payload) - if err != nil { - return err - } - if bytesRead != int(size) { - return fmt.Errorf("%w: expected %d bytes, read %d", ErrInvalidRequest, size, bytesRead) - } - - switch string(messageType) { + switch messageType { case "request": now := time.Now() - result, err := s.handleRequest(string(method), payload) + result, err := s.handleRequest(method, payload) s.logger.PerfTrace(fmt.Sprintf("%s handled - %s", method, time.Since(now))) now = time.Now() if err != nil { - if err := s.sendError(string(method), err); err != nil { + if err := s.sendError(method, err); err != nil { return err } } else { - if err := s.sendResponse(string(method), result); err != nil { + if err := s.sendResponse(method, result); err != nil { return err } s.logger.PerfTrace(fmt.Sprintf("%s sent - %s", method, time.Since(now))) @@ -153,6 +128,35 @@ func (s *Server) Run() error { } } +func (s *Server) readRequest(expectedMethod string) (messageType string, method string, payload []byte, err error) { + messageType, err = s.r.ReadString('\t') + if err != nil { + return "", "", nil, err + } + messageType = messageType[:len(messageType)-1] + method, err = s.r.ReadString('\t') + if err != nil { + return "", "", nil, err + } + method = method[:len(method)-1] + if expectedMethod != "" && method != expectedMethod { + return "", "", nil, fmt.Errorf("%w: expected method %q, recieved %q", ErrInvalidRequest, expectedMethod, method) + } + var size uint32 + if err = binary.Read(s.r, binary.LittleEndian, &size); err != nil { + return "", "", nil, fmt.Errorf("%w: expected payload size: %w", ErrInvalidRequest, err) + } + payload = make([]byte, size) + bytesRead, err := io.ReadFull(s.r, payload) + if err != nil { + return "", "", nil, err + } + if bytesRead != int(size) { + return "", "", nil, fmt.Errorf("%w: expected %d bytes, read %d", ErrInvalidRequest, size, bytesRead) + } + return messageType, method, payload, nil +} + func (s *Server) enableCallback(callback string) error { switch callback { case "directoryExists": @@ -193,27 +197,16 @@ func (s *Server) handleConfigure(payload []byte) error { return err } } - s.logger.SetFile(params.LogFile) + if params.LogFile != "" { + s.logger.SetFile(params.LogFile) + } else { + s.logger.SetFile("") + } return nil } func (s *Server) sendResponse(method string, result []byte) error { - if _, err := s.w.WriteString("response\t"); err != nil { - return err - } - if _, err := s.w.WriteString(method); err != nil { - return err - } - if err := s.w.WriteByte('\t'); err != nil { - return err - } - if err := binary.Write(s.w, binary.LittleEndian, uint32(len(result))); err != nil { - return err - } - if _, err := s.w.Write(result); err != nil { - return err - } - return s.w.Flush() + return s.write("response", method, result) } func (s *Server) sendError(method string, err error) error { @@ -221,19 +214,26 @@ func (s *Server) sendError(method string, err error) error { if err != nil { return err } - if _, err = s.w.Write([]byte("error\t")); err != nil { + return s.write("error", method, payload) +} + +func (s *Server) write(messageType, method string, payload []byte) error { + if _, err := s.w.WriteString(messageType); err != nil { return err } - if _, err = s.w.Write([]byte(method)); err != nil { + if _, err := s.w.WriteString("\t"); err != nil { return err } - if _, err = s.w.Write([]byte("\t")); err != nil { + if _, err := s.w.WriteString(method); err != nil { return err } - if _, err = s.w.Write(payload); err != nil { + if err := s.w.WriteByte('\t'); err != nil { return err } - if _, err = s.w.Write([]byte("\n")); err != nil { + if err := binary.Write(s.w, binary.LittleEndian, uint32(len(payload))); err != nil { + return err + } + if _, err := s.w.Write(payload); err != nil { return err } return s.w.Flush() @@ -242,50 +242,28 @@ func (s *Server) sendError(method string, err error) error { func (s *Server) call(method string, payload any) ([]byte, error) { s.callbackMu.Lock() defer s.callbackMu.Unlock() - if _, err := s.w.WriteString("call\t"); err != nil { - return nil, err - } - if _, err := s.w.WriteString(method); err != nil { - return nil, err - } - if err := s.w.WriteByte('\t'); err != nil { - return nil, err - } - if err := json.NewEncoder(s.w).Encode(payload); err != nil { + jsonPayload, err := json.Marshal(payload) + if err != nil { return nil, err } - if err := s.w.Flush(); err != nil { + if err = s.write("call", method, jsonPayload); err != nil { return nil, err } - line, err := s.r.ReadBytes('\n') + + messageType, _, responsePayload, err := s.readRequest(method) if err != nil { return nil, err } - index := bytes.IndexByte(line, '\t') - if index == -1 { - return nil, fmt.Errorf("%w: missing message type or method: %q", ErrInvalidRequest, line) - } - - messageType := string(line[:index]) - if messageType != "call-response" && messageType != "call-error" { + if string(messageType) != "call-response" && string(messageType) != "call-error" { return nil, fmt.Errorf("%w: expected call-response or call-error, recieved: %s", ErrInvalidRequest, messageType) } - offset := index + 1 - index = bytes.IndexByte(line[offset:], '\t') - if index == -1 { - return nil, fmt.Errorf("%w: missing method or payload: %q", ErrInvalidRequest, line) - } - if string(line[offset:offset+index]) != method { - return nil, fmt.Errorf("%w: expected method %q, recieved %q", ErrInvalidRequest, method, line[offset:offset+index]) - } - - if messageType == "call-error" { - return nil, fmt.Errorf("%w: %s", ErrClientError, line[offset+index+1:]) + if string(messageType) == "call-error" { + return nil, fmt.Errorf("%w: %s", ErrClientError, responsePayload) } - return line[offset+index+1 : len(line)-1], nil + return responsePayload, nil } // DirectoryExists implements vfs.FS. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d617e2ffbf..82f602b0df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -66,6 +66,10 @@ importers: libsyncrpc: specifier: link:../../../libsyncrpc version: link:../../../libsyncrpc + devDependencies: + tinybench: + specifier: ^3.1.1 + version: 3.1.1 _packages/ast: {} @@ -418,6 +422,10 @@ packages: resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} engines: {node: '>=8.0.0'} + tinybench@3.1.1: + resolution: {integrity: sha512-74pmf47HY/bHqamcCMGris+1AtGGsqTZ3Hc/UK4QvSmRuf/9PIF9753+c8XBh7JfX2r9KeZtVjOYjd6vFpc0qQ==} + engines: {node: '>=18.0.0'} + typescript@5.7.3: resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} engines: {node: '>=14.17'} @@ -792,6 +800,8 @@ snapshots: typical: 5.2.0 wordwrapjs: 4.0.1 + tinybench@3.1.1: {} + typescript@5.7.3: {} typical@5.2.0: {} From 8257e8ef46c28ae200f30bad0bf8a952e1418a57 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 17 Mar 2025 12:05:57 -0700 Subject: [PATCH 15/63] Batch symbol requests more efficiently --- _packages/api/bench/sync.ts | 40 ++++++++++++++++++++++++++++++++- _packages/api/package.json | 4 ++-- _packages/api/src/base/proto.ts | 5 +++++ _packages/api/src/sync/api.ts | 19 +++++++++------- internal/api/api.go | 5 +++++ internal/api/proto.go | 30 ++++++++++++++++--------- 6 files changed, 81 insertions(+), 22 deletions(-) diff --git a/_packages/api/bench/sync.ts b/_packages/api/bench/sync.ts index e029ea9341..6bdc132999 100644 --- a/_packages/api/bench/sync.ts +++ b/_packages/api/bench/sync.ts @@ -1,8 +1,10 @@ +import type { GetSymbolAtPositionParams } from "@typescript/api/base/proto"; import { API, type Project, type SourceFile, } from "@typescript/api/sync"; +import { SyntaxKind } from "@typescript/ast"; import { Bench } from "tinybench"; const bench = new Bench({ @@ -52,11 +54,47 @@ bench .add("transfer checker.ts", () => { getCheckerTS(); }, { beforeAll: all(spawnAPI, loadProject) }) + .add("materialize program.ts", () => { + file.forEachChild(function visit(node) { + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) .add("materialize checker.ts", () => { file.forEachChild(function visit(node) { node.forEachChild(visit); }); - }, { beforeAll: all(spawnAPI, loadProject, getCheckerTS) }); + }, { beforeAll: all(spawnAPI, loadProject, getCheckerTS) }) + .add("getSymbolAtPosition - one location", () => { + project.getSymbolAtPosition("program.ts", 8895); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("getSymbolAtPosition - all identifiers", () => { + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + project.getSymbolAtPosition("program.ts", node.pos); + } + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) + .add("getSymbolAtPosition - all identifiers (batched)", () => { + const positions: GetSymbolAtPositionParams[] = []; + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + positions.push({ fileName: "program.ts", position: node.pos }); + } + node.forEachChild(visit); + }); + project.getSymbolAtPosition(positions); + }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) + .add("getSymbolAtPosition - all identifiers (batched 2)", () => { + const positions: number[] = []; + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + positions.push(node.pos); + } + node.forEachChild(visit); + }); + project.getSymbolAtPosition("program.ts", positions); + }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }); await bench.run(); console.table(bench.table()); diff --git a/_packages/api/package.json b/_packages/api/package.json index 0bcaac7e0f..18f360de95 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -23,8 +23,8 @@ "default": "./dist/sync/api.js" }, "./base/*": { - "@typescript/source": "./src/base/*", - "default": "./dist/base/*" + "@typescript/source": "./src/base/*.ts", + "default": "./dist/base/*.js" } }, "dependencies": { diff --git a/_packages/api/src/base/proto.ts b/_packages/api/src/base/proto.ts index 3dd5955735..1a45078bbb 100644 --- a/_packages/api/src/base/proto.ts +++ b/_packages/api/src/base/proto.ts @@ -10,6 +10,11 @@ export interface ProjectResponse { rootFiles: string[]; } +export interface GetSymbolAtPositionParams { + fileName: string; + position: number; +} + export interface SymbolResponse { id: number; name: string; diff --git a/_packages/api/src/sync/api.ts b/_packages/api/src/sync/api.ts index 682fecef42..a9a1a91d5b 100644 --- a/_packages/api/src/sync/api.ts +++ b/_packages/api/src/sync/api.ts @@ -14,6 +14,7 @@ import { } from "../base/api.ts"; import type { ConfigResponse, + GetSymbolAtPositionParams, ProjectResponse, SymbolResponse, TypeResponse, @@ -68,17 +69,19 @@ export class Project extends BaseProject { return data ? new RemoteSourceFile(this.client, this, data) as unknown as SourceFile : undefined; } - getSymbolAtPosition(requests: readonly { fileName: string; position: number; }[]): (Symbol | undefined)[]; - getSymbolAtPosition(fileName: string, position: number): Symbol | undefined; - getSymbolAtPosition(...params: [fileName: string, position: number] | [readonly { fileName: string; position: number; }[]]): Symbol | undefined | (Symbol | undefined)[] { + getSymbolAtPosition(requests: readonly GetSymbolAtPositionParams[]): (Symbol | undefined)[]; + getSymbolAtPosition(fileName: string, position: number | number[]): Symbol | undefined; + getSymbolAtPosition(...params: [fileName: string, position: number | number[]] | [readonly GetSymbolAtPositionParams[]]): Symbol | undefined | (Symbol | undefined)[] { if (params.length === 2) { - const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); - return data ? new Symbol(this.client, this, data) : undefined; - } - else { - const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); + if (typeof params[1] === "number") { + const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); + return data ? new Symbol(this.client, this, data) : undefined; + } + const data = this.client.request("getSymbolAtPositions", { project: this.id, fileName: params[0], positions: params[1] }); return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, this, d) : undefined); } + const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); + return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, this, d) : undefined); } } diff --git a/internal/api/api.go b/internal/api/api.go index d374d4793e..a9537283ca 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -119,6 +119,11 @@ func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([ return encodeJSON(handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { return api.GetSymbolAtPosition(params.Project, params.FileName, int(params.Position)) })) + case MethodGetSymbolAtPositions: + params := params.(*GetSymbolAtPositionsParams) + return encodeJSON(handleBatchableRequest(¶ms.Positions, func(position uint32) (any, error) { + return api.GetSymbolAtPosition(params.Project, params.FileName, int(position)) + })) case MethodGetTypeOfSymbol: return encodeJSON(handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { return api.GetTypeOfSymbol(params.Project, params.Symbol) diff --git a/internal/api/proto.go b/internal/api/proto.go index 32aaa45b8e..aecf5d3491 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -26,20 +26,22 @@ func NewHandle[T any](v *T) Handle[T] { } const ( - MethodConfigure Method = "configure" - MethodParseConfigFile Method = "parseConfigFile" - MethodLoadProject Method = "loadProject" - MethodGetSymbolAtPosition Method = "getSymbolAtPosition" - MethodGetTypeOfSymbol Method = "getTypeOfSymbol" - MethodGetSourceFile Method = "getSourceFile" + MethodConfigure Method = "configure" + MethodParseConfigFile Method = "parseConfigFile" + MethodLoadProject Method = "loadProject" + MethodGetSymbolAtPosition Method = "getSymbolAtPosition" + MethodGetSymbolAtPositions Method = "getSymbolAtPositions" + MethodGetTypeOfSymbol Method = "getTypeOfSymbol" + MethodGetSourceFile Method = "getSourceFile" ) var unmarshalers = map[Method]func([]byte) (any, error){ - MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], - MethodLoadProject: unmarshallerFor[LoadProjectParams], - MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], - MethodGetSymbolAtPosition: batchEnabledUnmarshallerFor[GetSymbolAtPositionParams], - MethodGetTypeOfSymbol: batchEnabledUnmarshallerFor[GetTypeOfSymbolParams], + MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], + MethodLoadProject: unmarshallerFor[LoadProjectParams], + MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], + MethodGetSymbolAtPosition: batchEnabledUnmarshallerFor[GetSymbolAtPositionParams], + MethodGetSymbolAtPositions: unmarshallerFor[GetSymbolAtPositionsParams], + MethodGetTypeOfSymbol: batchEnabledUnmarshallerFor[GetTypeOfSymbolParams], } type ConfigureParams struct { @@ -77,6 +79,12 @@ type GetSymbolAtPositionParams struct { Position uint32 `json:"position"` } +type GetSymbolAtPositionsParams struct { + Project int `json:"project"` + FileName string `json:"fileName"` + Positions []uint32 `json:"positions"` +} + type SymbolResponse struct { Id Handle[ast.Symbol] `json:"id"` Name string `json:"name"` From db7ce0f529e5ce00c124539d68c67be41e39b775 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 18 Mar 2025 11:13:55 -0700 Subject: [PATCH 16/63] Switch to byte indexes in encoder --- internal/api/api.go | 19 ++--- internal/api/encoder/encoder.go | 109 +++++++++++---------------- internal/api/encoder/encoder_test.go | 50 +++++++++++- internal/project/logger.go | 16 +++- 4 files changed, 109 insertions(+), 85 deletions(-) diff --git a/internal/api/api.go b/internal/api/api.go index a9537283ca..6d297e4a05 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -246,23 +246,14 @@ func handleBatchableRequest[T any](params any, executeRequest func(T) (any, erro if batchParams, ok := params.(*[]T); !ok { return executeRequest(params.(T)) } else { - var err error batchParams := *batchParams results := make([]any, len(batchParams)) - wg := core.NewWorkGroup(true /*singleThreaded*/) // !!! TODO: make GetSymbolAtLocation et al. concurrency-safe for i, params := range batchParams { - wg.Queue(func() { - var result any - if err != nil { - return - } - result, err = executeRequest(params) - results[i] = result - }) - } - wg.RunAndWait() - if err != nil { - return nil, err + result, err := executeRequest(params) + if err != nil { + return nil, err + } + results[i] = result } return results, nil } diff --git a/internal/api/encoder/encoder.go b/internal/api/encoder/encoder.go index be61705405..8ce8d49ab8 100644 --- a/internal/api/encoder/encoder.go +++ b/internal/api/encoder/encoder.go @@ -10,28 +10,40 @@ import ( ) const ( - offsetKind = iota - offsetPos - offsetEnd - offsetNext - offsetParent - offsetData - // encodedNodeLength is the number of int32 values that represent a single node in the encoded format. - encodedNodeLength + NodeOffsetKind = iota * 4 + NodeOffsetPos + NodeOffsetEnd + NodeOffsetNext + NodeOffsetParent + NodeOffsetData + // NodeSize is the number of bytes that represents a single node in the encoded format. + NodeSize ) const ( - nodeDataTypeChildren uint32 = iota - nodeDataTypeStringIndex - nodeDataTypeExtendedDataIndex + NodeDataTypeChildren uint32 = iota << 30 + NodeDataTypeStringIndex + NodeDataTypeExtendedDataIndex ) const ( - syntaxKindNodeList uint32 = 1<<32 - 1 + NodeDataTypeMask uint32 = 0xc0_00_00_00 + NodeDataChildMask uint32 = 0x00_00_00_ff + NodeDataStringIndexMask uint32 = 0x00_ff_ff_ff ) const ( - encodedHeaderLength = 6 * 4 + SyntaxKindNodeList uint32 = 1<<32 - 1 +) + +const ( + HeaderOffsetReserved = iota * 4 + HeaderOffsetStringTableOffsets + HeaderOffsetStringTable + HeaderOffsetExtendedDataOffsets + HeaderOffsetExtendedData + HeaderOffsetNodes + HeaderSize ) type stringTable struct { @@ -77,7 +89,7 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { var parentIndex, nodeCount, prevIndex uint32 strs := newStringTable(sourceFile.TextLength, sourceFile.TextCount) - nodes := make([]byte, 0, (sourceFile.NodeCount+1)*encodedNodeLength*4) + nodes := make([]byte, 0, (sourceFile.NodeCount+1)*NodeSize) visitor := &ast.NodeVisitor{ Hooks: ast.NodeVisitorHooks{ @@ -90,13 +102,13 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { if prevIndex != 0 { // this is the next sibling of `prevNode` b0, b1, b2, b3 := uint8(nodeCount), uint8(nodeCount>>8), uint8(nodeCount>>16), uint8(nodeCount>>24) - nodes[prevIndex*encodedNodeLength*4+offsetNext*4] = b0 - nodes[prevIndex*encodedNodeLength*4+offsetNext*4+1] = b1 - nodes[prevIndex*encodedNodeLength*4+offsetNext*4+2] = b2 - nodes[prevIndex*encodedNodeLength*4+offsetNext*4+3] = b3 + nodes[prevIndex*NodeSize+NodeOffsetNext+0] = b0 + nodes[prevIndex*NodeSize+NodeOffsetNext+1] = b1 + nodes[prevIndex*NodeSize+NodeOffsetNext+2] = b2 + nodes[prevIndex*NodeSize+NodeOffsetNext+3] = b3 } - if nodes, err = appendUint32s(nodes, syntaxKindNodeList, uint32(nodeList.Pos()), uint32(nodeList.End()), 0, parentIndex, uint32(len(nodeList.Nodes))); err != nil { + if nodes, err = appendUint32s(nodes, SyntaxKindNodeList, uint32(nodeList.Pos()), uint32(nodeList.End()), 0, parentIndex, uint32(len(nodeList.Nodes))); err != nil { return nil } @@ -124,10 +136,10 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { if prevIndex != 0 { // this is the next sibling of `prevNode` b0, b1, b2, b3 := uint8(nodeCount), uint8(nodeCount>>8), uint8(nodeCount>>16), uint8(nodeCount>>24) - nodes[prevIndex*encodedNodeLength*4+offsetNext*4] = b0 - nodes[prevIndex*encodedNodeLength*4+offsetNext*4+1] = b1 - nodes[prevIndex*encodedNodeLength*4+offsetNext*4+2] = b2 - nodes[prevIndex*encodedNodeLength*4+offsetNext*4+3] = b3 + nodes[prevIndex*NodeSize+NodeOffsetNext+0] = b0 + nodes[prevIndex*NodeSize+NodeOffsetNext+1] = b1 + nodes[prevIndex*NodeSize+NodeOffsetNext+2] = b2 + nodes[prevIndex*NodeSize+NodeOffsetNext+3] = b3 } if nodes, err = appendUint32s(nodes, uint32(node.Kind), uint32(node.Pos()), uint32(node.End()), 0, parentIndex, getNodeData(node, strs)); err != nil { @@ -146,7 +158,6 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { return node } - // kind, pos, end, next, parent if nodes, err = appendUint32s(nodes, 0, 0, 0, 0, 0, 0); err != nil { return nil, err } @@ -162,9 +173,8 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { return nil, err } - headerLength := encodedHeaderLength - offsetStringTableOffsets := headerLength - offsetStringTableData := headerLength + len(strs.offsets)*4 + offsetStringTableOffsets := HeaderSize + offsetStringTableData := HeaderSize + len(strs.offsets)*4 offsetNodes := offsetStringTableData + strs.data.Len() offsetExtendedDataOffsets := 0 offsetExtendedDataData := 0 @@ -203,47 +213,14 @@ func appendUint32s(buf []byte, values ...uint32) ([]byte, error) { return buf, nil } -func readInt32(buf []byte, offset int) int32 { - return int32(binary.LittleEndian.Uint32(buf[offset : offset+4])) -} - -func FormatEncodedSourceFile(encoded []byte) string { - var result strings.Builder - var getIndent func(parentIndex int32) string - offsetNodes := readInt32(encoded, 5*4) - getIndent = func(parentIndex int32) string { - if parentIndex == 0 { - return "" - } - return " " + getIndent(readInt32(encoded, int(offsetNodes)+int(parentIndex)*encodedNodeLength*4+offsetParent*4)) - } - j := 1 - for i := int(offsetNodes) + encodedNodeLength*4; i < len(encoded); i += encodedNodeLength * 4 { - kind := readInt32(encoded, i+offsetKind*4) - pos := readInt32(encoded, i+offsetPos*4) - end := readInt32(encoded, i+offsetEnd*4) - parentIndex := readInt32(encoded, i+offsetParent*4) - result.WriteString(getIndent(parentIndex)) - if kind == -1 { - result.WriteString("NodeList") - } else { - result.WriteString(ast.Kind(kind).String()) - } - fmt.Fprintf(&result, " [%d, %d), i=%d, next=%d", pos, end, j, encoded[i+offsetNext*4]) - result.WriteString("\n") - j++ - } - return result.String() -} - func getNodeData(node *ast.Node, strs *stringTable) uint32 { t := getNodeDataType(node) switch t { - case nodeDataTypeChildren: + case NodeDataTypeChildren: return t | getNodeDefinedData(node) | uint32(getChildrenPropertyMask(node)) - case nodeDataTypeStringIndex: + case NodeDataTypeStringIndex: return t | getNodeDefinedData(node) | recordNodeStrings(node, strs) - case nodeDataTypeExtendedDataIndex: + case NodeDataTypeExtendedDataIndex: return t | getNodeDefinedData(node) /* | TODO */ default: panic("unreachable") @@ -261,13 +238,13 @@ func getNodeDataType(node *ast.Node) uint32 { ast.KindRegularExpressionLiteral, ast.KindNoSubstitutionTemplateLiteral, ast.KindJSDocText: - return nodeDataTypeStringIndex + return NodeDataTypeStringIndex case ast.KindTemplateHead, ast.KindTemplateMiddle, ast.KindTemplateTail: - return nodeDataTypeExtendedDataIndex + return NodeDataTypeExtendedDataIndex default: - return nodeDataTypeChildren + return NodeDataTypeChildren } } diff --git a/internal/api/encoder/encoder_test.go b/internal/api/encoder/encoder_test.go index 3c84735ad1..f0c28a2ccd 100644 --- a/internal/api/encoder/encoder_test.go +++ b/internal/api/encoder/encoder_test.go @@ -1,8 +1,11 @@ package encoder_test import ( + "encoding/binary" + "fmt" "os" "path/filepath" + "strings" "testing" "github.com/microsoft/typescript-go/internal/api/encoder" @@ -18,14 +21,12 @@ import ( func TestEncodeSourceFile(t *testing.T) { t.Parallel() sourceFile := parser.ParseSourceFile("/test.ts", "/test.ts", "export function foo(a: string, b: string): any {}\nfoo();", core.ScriptTargetESNext, scanner.JSDocParsingModeParseAll) - ast.SetParentInChildren(sourceFile.AsNode()) - t.Run("baseline", func(t *testing.T) { t.Parallel() buf, err := encoder.EncodeSourceFile(sourceFile) assert.NilError(t, err) - str := encoder.FormatEncodedSourceFile(buf) + str := formatEncodedSourceFile(buf) baseline.Run(t, "encodeSourceFile.txt", str, baseline.Options{ Subfolder: "api", }) @@ -50,3 +51,46 @@ func BenchmarkEncodeSourceFile(b *testing.B) { assert.NilError(b, err) } } + +func readUint32(buf []byte, offset int) uint32 { + return binary.LittleEndian.Uint32(buf[offset : offset+4]) +} + +func formatEncodedSourceFile(encoded []byte) string { + var result strings.Builder + var getIndent func(parentIndex uint32) string + offsetNodes := readUint32(encoded, encoder.HeaderOffsetNodes) + offsetStringOffsets := readUint32(encoded, encoder.HeaderOffsetStringTableOffsets) + offsetStrings := readUint32(encoded, encoder.HeaderOffsetStringTable) + getIndent = func(parentIndex uint32) string { + if parentIndex == 0 { + return "" + } + return " " + getIndent(readUint32(encoded, int(offsetNodes)+int(parentIndex)*encoder.NodeSize+encoder.NodeOffsetParent)) + } + j := 1 + for i := int(offsetNodes) + encoder.NodeSize; i < len(encoded); i += encoder.NodeSize { + kind := readUint32(encoded, i+encoder.NodeOffsetKind) + pos := readUint32(encoded, i+encoder.NodeOffsetPos) + end := readUint32(encoded, i+encoder.NodeOffsetEnd) + parentIndex := readUint32(encoded, i+encoder.NodeOffsetParent) + result.WriteString(getIndent(parentIndex)) + if kind == encoder.SyntaxKindNodeList { + result.WriteString("NodeList") + } else { + result.WriteString(ast.Kind(kind).String()) + } + if ast.Kind(kind) == ast.KindIdentifier || ast.Kind(kind) == ast.KindStringLiteral { + stringIndex := readUint32(encoded, i+encoder.NodeOffsetData) & encoder.NodeDataStringIndexMask + strStart := readUint32(encoded, int(offsetStringOffsets+stringIndex*4)) + nextIndex := int(offsetStringOffsets + (stringIndex+1)*4) + strEnd := core.IfElse(nextIndex == int(offsetStrings), offsetNodes-offsetStrings, readUint32(encoded, nextIndex)) + str := string(encoded[offsetStrings+strStart : offsetStrings+strEnd]) + result.WriteString(fmt.Sprintf(" \"%s\"", str)) + } + fmt.Fprintf(&result, " [%d, %d), i=%d, next=%d", pos, end, j, encoded[i+encoder.NodeOffsetNext]) + result.WriteString("\n") + j++ + } + return result.String() +} diff --git a/internal/project/logger.go b/internal/project/logger.go index 42ef0fb785..c00754aef9 100644 --- a/internal/project/logger.go +++ b/internal/project/logger.go @@ -66,22 +66,31 @@ func (l *Logger) Error(s string) { } func (l *Logger) StartGroup() { + if l == nil { + return + } l.inGroup = true } func (l *Logger) EndGroup() { + if l == nil { + return + } l.inGroup = false } func (l *Logger) LoggingEnabled() bool { - return len(l.outputs) > 0 + return l != nil && len(l.outputs) > 0 } func (l *Logger) HasLevel(level LogLevel) bool { - return l.LoggingEnabled() && l.level >= level + return l != nil && l.LoggingEnabled() && l.level >= level } func (l *Logger) Close() { + if l == nil { + return + } for _, output := range l.outputs { _ = output.Flush() } @@ -91,6 +100,9 @@ func (l *Logger) Close() { } func (l *Logger) msg(s string, messageType string) { + if l == nil { + return + } for _, output := range l.outputs { header := fmt.Sprintf("%s %d", messageType, l.seq) output.WriteString(header) //nolint: errcheck From 8131c9ba18ba57ec856561476e47b6b209b0713b Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 18 Mar 2025 17:07:23 -0700 Subject: [PATCH 17/63] Transfer source file text --- _packages/api/package.json | 3 +- _packages/api/src/base/api.ts | 8 +- _packages/api/src/base/fs.ts | 137 +++++++++++++++++++++++++++ _packages/api/src/base/node.ts | 117 +++++++++++++---------- _packages/api/src/sync/api.ts | 10 +- _packages/api/src/sync/client.ts | 15 +-- _packages/api/test/api.test.ts | 28 ++++++ _packages/api/test/tsconfig.json | 12 +++ internal/api/api.go | 2 +- internal/api/encoder/encoder.go | 60 +++--------- internal/api/encoder/encoder_test.go | 3 +- internal/api/encoder/stringtable.go | 65 +++++++++++++ 12 files changed, 345 insertions(+), 115 deletions(-) create mode 100644 _packages/api/test/api.test.ts create mode 100644 _packages/api/test/tsconfig.json create mode 100644 internal/api/encoder/stringtable.go diff --git a/_packages/api/package.json b/_packages/api/package.json index 18f360de95..98b6682dbe 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -34,7 +34,8 @@ }, "scripts": { "build": "tsc -b", - "bench": "node --no-warnings --conditions @typescript/source bench/sync.ts" + "bench": "node --no-warnings --conditions @typescript/source bench/sync.ts", + "test": "node --test --no-warnings --conditions @typescript/source ./test/**/*.test.ts" }, "devDependencies": { "tinybench": "^3.1.1" diff --git a/_packages/api/src/base/api.ts b/_packages/api/src/base/api.ts index d5522ab99d..f6f278a5a4 100644 --- a/_packages/api/src/base/api.ts +++ b/_packages/api/src/base/api.ts @@ -44,9 +44,13 @@ export abstract class Project { } export abstract class RemoteSourceFile extends RemoteNode { - constructor(data: Uint8Array) { + constructor(data: Uint8Array, decoder: TextDecoder) { const view = new DataView(data.buffer, data.byteOffset, data.byteLength); - super(view, 1, undefined!); + super(view, decoder, 1, undefined!); + } + + get text(): string { + return this.getFileText(0, this.end); } } diff --git a/_packages/api/src/base/fs.ts b/_packages/api/src/base/fs.ts index 63e63299ea..4fe96de25c 100644 --- a/_packages/api/src/base/fs.ts +++ b/_packages/api/src/base/fs.ts @@ -10,3 +10,140 @@ export interface FileSystem { readFile?: (fileName: string) => string | null | undefined; realpath?: (path: string) => string | undefined; } + +export function createVirtualFileSystem(files: Record): FileSystem { + interface VDirectory { + type: "directory"; + children: Record; + } + + interface VFile { + type: "file"; + content: string; + } + + type VNode = VDirectory | VFile; + + // The root directory + const root: VDirectory = { + type: "directory", + children: {}, + }; + + for (const [filePath, fileContent] of Object.entries(files)) { + createFile(filePath, fileContent); + } + + // Return the FileSystem object (with closures capturing our state) + return { + directoryExists, + fileExists, + getAccessibleEntries, + readFile, + }; + + function getPathSegments(path: string): string[] { + return path + .replace(/^\/+|\/+$/g, "") + .split("/") + .filter(Boolean); + } + + /** + * Traverse the tree from the root according to path segments. + * Returns the node if found, or null if any segment doesn't exist. + */ + function getNodeFromPath(path: string): VNode | undefined { + if (!path || path === "/") { + return root; + } + const segments = getPathSegments(path); + let current: VNode = root; + + for (const segment of segments) { + if (current.type !== "directory") { + // Trying to descend into a file => invalid path + return undefined; + } + const child: VNode = current.children[segment]; + if (!child) { + return undefined; // segment not found + } + current = child; + } + + return current; + } + + /** + * Ensure that the directory path (given by `segments`) exists, + * creating subdirectories as needed. Returns the final directory node. + */ + function ensureDirectory(segments: string[]): VDirectory { + let current: VDirectory = root; + for (const segment of segments) { + if (!current.children[segment]) { + // Create a new directory node + current.children[segment] = { type: "directory", children: {} }; + } + else if (current.children[segment].type !== "directory") { + // A file with the same name already exists + throw new Error(`Cannot create directory: a file already exists at "/${segments.join("/")}"`); + } + current = current.children[segment] as VDirectory; + } + return current; + } + + /** + * Create (or overwrite) a file at the given path with provided content. + * Automatically creates parent directories if needed. + */ + function createFile(path: string, content: string) { + const segments = getPathSegments(path); + if (segments.length === 0) { + throw new Error(`Invalid file path: "${path}"`); + } + const filename = segments.pop()!; + const directorySegments = segments; + const dirNode = ensureDirectory(directorySegments); + dirNode.children[filename] = { type: "file", content }; + } + + function directoryExists(directoryName: string): boolean { + const node = getNodeFromPath(directoryName); + return !!node && node.type === "directory"; + } + + function fileExists(fileName: string): boolean { + const node = getNodeFromPath(fileName); + return !!node && node.type === "file"; + } + + function getAccessibleEntries(directoryName: string): FileSystemEntries | undefined { + const node = getNodeFromPath(directoryName); + if (!node || node.type !== "directory") { + // Not found or not a directory + return undefined; + } + const files: string[] = []; + const directories: string[] = []; + for (const [name, child] of Object.entries(node.children)) { + if (child.type === "file") { + files.push(name); + } + else { + directories.push(name); + } + } + return { files, directories }; + } + + function readFile(fileName: string): string | undefined { + const node = getNodeFromPath(fileName); + if (!node || node.type !== "file") { + return undefined; // doesn't exist or is not a file + } + return node.content; + } +} diff --git a/_packages/api/src/base/node.ts b/_packages/api/src/base/node.ts index c82ac7065b..a15708a1e8 100644 --- a/_packages/api/src/base/node.ts +++ b/_packages/api/src/base/node.ts @@ -16,14 +16,6 @@ declare module "@typescript/ast" { const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8]; -type NodeDataType = typeof NodeDataTypeChildren | typeof NodeDataTypeString | typeof NodeDataTypeExtended; -const NodeDataTypeChildren = 0x00000000; -const NodeDataTypeString = 0x40000000; -const NodeDataTypeExtended = 0x80000000; -const NodeDataTypeMask = 0xc0_00_00_00; -const NodeChildMask = 0x00_00_00_ff; -const NodeStringIndexMask = 0x00_ff_ff_ff; - const childProperties: Readonly>> = { [SyntaxKind.QualifiedName]: ["left", "right"], [SyntaxKind.TypeParameter]: ["modifiers", "name", "constraint", "defaultType"], @@ -135,109 +127,133 @@ const childProperties: Readonly>> [SyntaxKind.JSDocParameterTag]: ["tagName", undefined!, undefined!, "comment"], }; -const OFFSET_KIND = 0; -const OFFSET_POS = 1; -const OFFSET_END = 2; -const OFFSET_NEXT = 3; -const OFFSET_PARENT = 4; -const OFFSET_DATA = 5; -const NODE_LEN = 6; +const HEADER_OFFSET_RESERVED = 0; +const HEADER_OFFSET_STRING_TABLE_OFFSETS = 4; +const HEADER_OFFSET_STRING_TABLE = 8; +const HEADER_OFFSET_EXTENDED_DATA_OFFSETS = 12; +const HEADER_OFFSET_EXTENDED_DATA = 16; +const HEADER_OFFSET_NODES = 20; +const HEADER_SIZE = 24; + +type NodeDataType = typeof NODE_DATA_TYPE_CHILDREN | typeof NODE_DATA_TYPE_STRING | typeof NODE_DATA_TYPE_EXTENDED; +const NODE_DATA_TYPE_CHILDREN = 0x00000000; +const NODE_DATA_TYPE_STRING = 0x40000000; +const NODE_DATA_TYPE_EXTENDED = 0x80000000; +const NODE_DATA_TYPE_MASK = 0xc0_00_00_00; +const NODE_CHILD_MASK = 0x00_00_00_ff; +const NODE_STRING_INDEX_MASK = 0x00_ff_ff_ff; + +const NODE_OFFSET_KIND = 0; +const NODE_OFFSET_POS = 4; +const NODE_OFFSET_END = 8; +const NODE_OFFSET_NEXT = 12; +const NODE_OFFSET_PARENT = 16; +const NODE_OFFSET_DATA = 20; +const NODE_LEN = 24; + const KIND_NODE_LIST = 2 ** 32 - 1; export class RemoteNodeBase { parent: RemoteNode; protected view: DataView; + protected decoder: TextDecoder; protected index: number; /** Keys are positions */ protected _children: Map | undefined; - constructor(view: DataView, index: number, parent: RemoteNode) { + constructor(view: DataView, decoder: TextDecoder, index: number, parent: RemoteNode) { this.view = view; + this.decoder = decoder; this.index = index; this.parent = parent; } get kind(): SyntaxKind { - return this.view.getUint32(this.byteIndex + OFFSET_KIND * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_KIND, true); } get pos(): number { - return this.view.getUint32(this.byteIndex + OFFSET_POS * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_POS, true); } get end(): number { - return this.view.getUint32(this.byteIndex + OFFSET_END * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_END, true); } get next(): number { - return this.view.getUint32(this.byteIndex + OFFSET_NEXT * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_NEXT, true); } protected get byteIndex(): number { - return this.offsetNodes + this.index * NODE_LEN * 4; + return this.offsetNodes + this.index * NODE_LEN; } protected get offsetStringTableOffsets(): number { - return this.view.getUint32(4, true); + return this.view.getUint32(HEADER_OFFSET_STRING_TABLE_OFFSETS, true); } protected get offsetStringTable(): number { - return this.view.getUint32(8, true); + return this.view.getUint32(HEADER_OFFSET_STRING_TABLE, true); } protected get offsetExtendedDataOffsets(): number { - return this.view.getUint32(12, true); + return this.view.getUint32(HEADER_OFFSET_EXTENDED_DATA_OFFSETS, true); } protected get offsetExtendedData(): number { - return this.view.getUint32(16, true); + return this.view.getUint32(HEADER_OFFSET_EXTENDED_DATA, true); } protected get offsetNodes(): number { - return this.view.getUint32(20, true); + return this.view.getUint32(HEADER_OFFSET_NODES, true); } protected get parentIndex(): number { - return this.view.getUint32(this.byteIndex + OFFSET_PARENT * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_PARENT, true); } protected get data(): number { - return this.view.getUint32(this.byteIndex + OFFSET_DATA * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_DATA, true); } protected get dataType(): NodeDataType { - return (this.data & NodeDataTypeMask) as NodeDataType; + return (this.data & NODE_DATA_TYPE_MASK) as NodeDataType; } protected get childMask(): number { - if (this.dataType !== NodeDataTypeChildren) { + if (this.dataType !== NODE_DATA_TYPE_CHILDREN) { return 0; } - return this.data & NodeChildMask; + return this.data & NODE_CHILD_MASK; + } + + protected getFileText(start: number, end: number): string { + return this.decoder.decode(new Uint8Array(this.view.buffer, this.offsetStringTable + start, end - start)); } } export class RemoteNodeList extends Array implements NodeArray { parent: RemoteNode; protected view: DataView; + protected decoder: TextDecoder; protected index: number; /** Keys are positions */ protected _children: Map | undefined; get pos(): number { - return this.view.getUint32(this.byteIndex + OFFSET_POS * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_POS, true); } get end(): number { - return this.view.getUint32(this.byteIndex + OFFSET_END * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_END, true); } get next(): number { - return this.view.getUint32(this.byteIndex + OFFSET_NEXT * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_NEXT, true); } private get data(): number { - return this.view.getUint32(this.byteIndex + OFFSET_DATA * 4, true); + return this.view.getUint32(this.byteIndex + NODE_OFFSET_DATA, true); } private get offsetNodes(): number { @@ -245,12 +261,13 @@ export class RemoteNodeList extends Array implements NodeArray implements NodeArray= this.view.byteLength - (NODE_LEN * 4)) { + if (this.byteIndex >= this.view.byteLength - NODE_LEN) { return false; } - const nextNodeParent = this.view.getUint32(this.offsetNodes + (this.index + 1) * NODE_LEN * 4 + OFFSET_PARENT * 4, true); + const nextNodeParent = this.view.getUint32(this.offsetNodes + (this.index + 1) * NODE_LEN + NODE_OFFSET_PARENT, true); return nextNodeParent === this.index; } @@ -749,7 +766,7 @@ export class RemoteNode extends RemoteNodeBase implements Node { case SyntaxKind.RegularExpressionLiteral: case SyntaxKind.NoSubstitutionTemplateLiteral: case SyntaxKind.JSDocText: - const stringIndex = this.data & NodeStringIndexMask; + const stringIndex = this.data & NODE_STRING_INDEX_MASK; return this.getString(stringIndex); } } diff --git a/_packages/api/src/sync/api.ts b/_packages/api/src/sync/api.ts index a9a1a91d5b..0ac3aab019 100644 --- a/_packages/api/src/sync/api.ts +++ b/_packages/api/src/sync/api.ts @@ -12,6 +12,7 @@ import { Symbol as BaseSymbol, Type as BaseType, } from "../base/api.ts"; +import type { FileSystem } from "../base/fs.ts"; import type { ConfigResponse, GetSymbolAtPositionParams, @@ -22,6 +23,7 @@ import type { import { Client } from "./client.ts"; export interface APIOptions extends BaseAPIOptions { + fs?: FileSystem; } export class API implements BaseAPI { @@ -53,6 +55,7 @@ export class API implements BaseAPI { } export class Project extends BaseProject { + private decoder = new TextDecoder(); private client: Client; constructor(client: Client, data: ProjectResponse) { @@ -66,7 +69,7 @@ export class Project extends BaseProject { getSourceFile(fileName: string): SourceFile | undefined { const data = this.client.requestBinary("getSourceFile", { project: this.id, fileName }); - return data ? new RemoteSourceFile(this.client, this, data) as unknown as SourceFile : undefined; + return data ? new RemoteSourceFile(this.client, this, data, this.decoder) as unknown as SourceFile : undefined; } getSymbolAtPosition(requests: readonly GetSymbolAtPositionParams[]): (Symbol | undefined)[]; @@ -88,13 +91,14 @@ export class Project extends BaseProject { export interface SourceFile extends Node { kind: SyntaxKind.SourceFile; statements: NodeArray; + get text(): string; } class RemoteSourceFile extends BaseRemoteSourceFile { private client: Client; private project: Project; - constructor(client: Client, project: Project, data: Uint8Array) { - super(data); + constructor(client: Client, project: Project, data: Uint8Array, decoder: TextDecoder) { + super(data, decoder); this.client = client; this.project = project; } diff --git a/_packages/api/src/sync/client.ts b/_packages/api/src/sync/client.ts index 04d7484b77..c0e1e57f96 100644 --- a/_packages/api/src/sync/client.ts +++ b/_packages/api/src/sync/client.ts @@ -27,14 +27,15 @@ export class Client { callbacks: Object.keys(options.fs ?? {}), }), ); - } - registerCallback(method: string, callback: (payload: any) => any): void { - this.channel.registerCallback(method, (_, arg) => { - const result = callback(JSON.parse(this.decoder.decode(arg))); - return JSON.stringify(result) ?? ""; - }); - this.channel.requestSync("registerCallback", method); + if (options.fs) { + for (const [key, callback] of Object.entries(options.fs)) { + this.channel.registerCallback(key, (_, arg) => { + const result = callback(JSON.parse(this.decoder.decode(arg))); + return this.encoder.encode(JSON.stringify(result)); + }); + } + } } request(method: string, payload: any): any { diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts new file mode 100644 index 0000000000..cd22a27c05 --- /dev/null +++ b/_packages/api/test/api.test.ts @@ -0,0 +1,28 @@ +import { createVirtualFileSystem } from "@typescript/api/base/fs"; +import { API } from "@typescript/api/sync"; +import assert from "node:assert"; +import { + describe, + test, +} from "node:test"; + +describe("SourceFile", () => { + test("file text", () => { + const files = { + "/tsconfig.json": "{}", + "/src/index.ts": `import { foo } from './foo';`, + }; + + const api = new API({ + cwd: new URL("../../../", import.meta.url).pathname, + tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + fs: createVirtualFileSystem(files), + }); + + const project = api.loadProject("/tsconfig.json"); + const sourceFile = project.getSourceFile("/src/index.ts"); + + assert.ok(sourceFile); + assert.equal(sourceFile.text, files["/src/index.ts"]); + }); +}); diff --git a/_packages/api/test/tsconfig.json b/_packages/api/test/tsconfig.json new file mode 100644 index 0000000000..ba00b05d15 --- /dev/null +++ b/_packages/api/test/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "module": "nodenext", + "strict": true, + "noEmit": true, + "verbatimModuleSyntax": true, + "allowImportingTsExtensions": true + }, + "references": [ + { "path": ".." } + ] +} diff --git a/internal/api/api.go b/internal/api/api.go index 6d297e4a05..fb6489ab90 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -95,7 +95,7 @@ func (api *API) NewLine() string { return api.host.NewLine() } -func (api *API) HandleRequest(id int, method string, payload json.RawMessage) ([]byte, error) { +func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, error) { now := time.Now() params, err := unmarshalPayload(method, payload) if err != nil { diff --git a/internal/api/encoder/encoder.go b/internal/api/encoder/encoder.go index 8ce8d49ab8..4251608b7d 100644 --- a/internal/api/encoder/encoder.go +++ b/internal/api/encoder/encoder.go @@ -4,7 +4,6 @@ import ( "encoding/binary" "fmt" "slices" - "strings" "github.com/microsoft/typescript-go/internal/ast" ) @@ -46,49 +45,12 @@ const ( HeaderSize ) -type stringTable struct { - data *strings.Builder - offsets []uint32 -} - -func newStringTable(stringLength int, stringCount int) *stringTable { - builder := &strings.Builder{} - builder.Grow(stringLength) - return &stringTable{ - data: builder, - offsets: make([]uint32, 0, stringCount), - } -} - -func (t *stringTable) add(s string) uint32 { - offset := uint32(t.data.Len()) - t.offsets = append(t.offsets, offset) - t.data.WriteString(s) - return uint32(len(t.offsets) - 1) -} - -func (t *stringTable) encode() (result []byte, err error) { - result = make([]byte, 0, len(t.offsets)*4+t.data.Len()) - if result, err = appendUint32s(result, t.offsets...); err != nil { - return nil, err - } - result = append(result, t.data.String()...) - return result, nil -} - // EncodeSourceFile encodes a source file into a byte slice. -// The encoded format is a sequence of int32 values, where each node is represented by 5 values: -// - kind: the node kind -// - pos: the start position of the node -// - end: the end position of the node -// - next: the index of the next sibling node (0 if there is no next sibling) -// - parent: the index of the parent node (0 if there is no parent) -// The first encoded node is a zero element that is not part of the source file. func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { var err error var parentIndex, nodeCount, prevIndex uint32 - strs := newStringTable(sourceFile.TextLength, sourceFile.TextCount) + strs := newStringTable(sourceFile.Text, sourceFile.TextCount) nodes := make([]byte, 0, (sourceFile.NodeCount+1)*NodeSize) visitor := &ast.NodeVisitor{ @@ -175,7 +137,7 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { offsetStringTableOffsets := HeaderSize offsetStringTableData := HeaderSize + len(strs.offsets)*4 - offsetNodes := offsetStringTableData + strs.data.Len() + offsetNodes := offsetStringTableData + strs.stringLength() offsetExtendedDataOffsets := 0 offsetExtendedDataData := 0 @@ -636,23 +598,23 @@ func getNodeDefinedData(node *ast.Node) uint32 { func recordNodeStrings(node *ast.Node, strs *stringTable) uint32 { switch node.Kind { case ast.KindJsxText: - return strs.add(node.AsJsxText().Text) + return strs.add(node.AsJsxText().Text, node.Kind, node.Pos(), node.End()) case ast.KindIdentifier: - return strs.add(node.AsIdentifier().Text) + return strs.add(node.AsIdentifier().Text, node.Kind, node.Pos(), node.End()) case ast.KindPrivateIdentifier: - return strs.add(node.AsPrivateIdentifier().Text) + return strs.add(node.AsPrivateIdentifier().Text, node.Kind, node.Pos(), node.End()) case ast.KindStringLiteral: - return strs.add(node.AsStringLiteral().Text) + return strs.add(node.AsStringLiteral().Text, node.Kind, node.Pos(), node.End()) case ast.KindNumericLiteral: - return strs.add(node.AsNumericLiteral().Text) + return strs.add(node.AsNumericLiteral().Text, node.Kind, node.Pos(), node.End()) case ast.KindBigIntLiteral: - return strs.add(node.AsBigIntLiteral().Text) + return strs.add(node.AsBigIntLiteral().Text, node.Kind, node.Pos(), node.End()) case ast.KindRegularExpressionLiteral: - return strs.add(node.AsRegularExpressionLiteral().Text) + return strs.add(node.AsRegularExpressionLiteral().Text, node.Kind, node.Pos(), node.End()) case ast.KindNoSubstitutionTemplateLiteral: - return strs.add(node.AsNoSubstitutionTemplateLiteral().Text) + return strs.add(node.AsNoSubstitutionTemplateLiteral().Text, node.Kind, node.Pos(), node.End()) case ast.KindJSDocText: - return strs.add(node.AsJSDocText().Text) + return strs.add(node.AsJSDocText().Text, node.Kind, node.Pos(), node.End()) default: panic(fmt.Sprintf("Unexpected node kind %v", node.Kind)) } diff --git a/internal/api/encoder/encoder_test.go b/internal/api/encoder/encoder_test.go index f0c28a2ccd..849092fa4a 100644 --- a/internal/api/encoder/encoder_test.go +++ b/internal/api/encoder/encoder_test.go @@ -83,8 +83,7 @@ func formatEncodedSourceFile(encoded []byte) string { if ast.Kind(kind) == ast.KindIdentifier || ast.Kind(kind) == ast.KindStringLiteral { stringIndex := readUint32(encoded, i+encoder.NodeOffsetData) & encoder.NodeDataStringIndexMask strStart := readUint32(encoded, int(offsetStringOffsets+stringIndex*4)) - nextIndex := int(offsetStringOffsets + (stringIndex+1)*4) - strEnd := core.IfElse(nextIndex == int(offsetStrings), offsetNodes-offsetStrings, readUint32(encoded, nextIndex)) + strEnd := readUint32(encoded, int(offsetStringOffsets+stringIndex*4)+4) str := string(encoded[offsetStrings+strStart : offsetStrings+strEnd]) result.WriteString(fmt.Sprintf(" \"%s\"", str)) } diff --git a/internal/api/encoder/stringtable.go b/internal/api/encoder/stringtable.go new file mode 100644 index 0000000000..9873fae36d --- /dev/null +++ b/internal/api/encoder/stringtable.go @@ -0,0 +1,65 @@ +package encoder + +import ( + "strings" + + "github.com/microsoft/typescript-go/internal/ast" +) + +type stringTable struct { + fileText string + otherStrings *strings.Builder + // offsets are pos/end pairs + offsets []uint32 +} + +func newStringTable(fileText string, stringCount int) *stringTable { + builder := &strings.Builder{} + return &stringTable{ + fileText: fileText, + otherStrings: builder, + offsets: make([]uint32, 0, stringCount*2), + } +} + +func (t *stringTable) add(text string, kind ast.Kind, pos int, end int) uint32 { + length := len(text) + // pos includes leading trivia, but we can usually infer the actual start of the + // string from the kind and end + endOffset := 0 + if kind == ast.KindStringLiteral || kind == ast.KindTemplateTail || kind == ast.KindNoSubstitutionTemplateLiteral { + endOffset = 1 + } + end = end - endOffset + start := end - length + fileSlice := t.fileText[start:end] + if fileSlice == text { + index := len(t.offsets) + t.offsets = append(t.offsets, uint32(start), uint32(end)) + return uint32(index) + } + // no exact match, so we need to add it to the string table + offset := len(t.fileText) + t.otherStrings.Len() + t.otherStrings.WriteString(text) + index := len(t.offsets) + t.offsets = append(t.offsets, uint32(offset), uint32(offset+length)) + return uint32(index) +} + +func (t *stringTable) encode() (result []byte, err error) { + result = make([]byte, 0, t.encodedLength()) + if result, err = appendUint32s(result, t.offsets...); err != nil { + return nil, err + } + result = append(result, t.fileText...) + result = append(result, t.otherStrings.String()...) + return result, nil +} + +func (t *stringTable) stringLength() int { + return len(t.fileText) + t.otherStrings.Len() +} + +func (t *stringTable) encodedLength() int { + return len(t.offsets)*4 + len(t.fileText) + t.otherStrings.Len() +} From 518a5b0883c7af477d701d10a5017eed9bd962cd Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 19 Mar 2025 10:35:19 -0700 Subject: [PATCH 18/63] Delete async API for now --- _packages/api/bench/{sync.ts => api.bench.ts} | 4 +- _packages/api/package.json | 29 +++-- _packages/api/src/.DS_Store | Bin 6148 -> 6148 bytes _packages/api/src/{sync => }/api.ts | 89 +++++++++------ _packages/api/src/async/api.ts | 103 ------------------ _packages/api/src/async/client.ts | 82 -------------- _packages/api/src/async/errors.ts | 27 ----- _packages/api/src/async/lsp.ts | 103 ------------------ _packages/api/src/base/api.ts | 83 -------------- _packages/api/src/{sync => }/client.ts | 0 _packages/api/src/{base => }/fs.ts | 0 _packages/api/src/{base => }/node.ts | 0 _packages/api/src/{base => }/proto.ts | 0 .../api/src/{base => }/symbolFlags.enum.ts | 0 _packages/api/src/{base => }/symbolFlags.ts | 0 cmd/tsgo/api.go | 45 ++------ internal/api/server.go | 10 +- internal/lsp/server.go | 81 ++++---------- pnpm-lock.yaml | 8 -- 19 files changed, 108 insertions(+), 556 deletions(-) rename _packages/api/bench/{sync.ts => api.bench.ts} (98%) rename _packages/api/src/{sync => }/api.ts (62%) delete mode 100644 _packages/api/src/async/api.ts delete mode 100644 _packages/api/src/async/client.ts delete mode 100644 _packages/api/src/async/errors.ts delete mode 100644 _packages/api/src/async/lsp.ts delete mode 100644 _packages/api/src/base/api.ts rename _packages/api/src/{sync => }/client.ts (100%) rename _packages/api/src/{base => }/fs.ts (100%) rename _packages/api/src/{base => }/node.ts (100%) rename _packages/api/src/{base => }/proto.ts (100%) rename _packages/api/src/{base => }/symbolFlags.enum.ts (100%) rename _packages/api/src/{base => }/symbolFlags.ts (100%) diff --git a/_packages/api/bench/sync.ts b/_packages/api/bench/api.bench.ts similarity index 98% rename from _packages/api/bench/sync.ts rename to _packages/api/bench/api.bench.ts index 6bdc132999..4fe3275d52 100644 --- a/_packages/api/bench/sync.ts +++ b/_packages/api/bench/api.bench.ts @@ -1,9 +1,9 @@ -import type { GetSymbolAtPositionParams } from "@typescript/api/base/proto"; import { API, type Project, type SourceFile, -} from "@typescript/api/sync"; +} from "@typescript/api"; +import type { GetSymbolAtPositionParams } from "@typescript/api/proto"; import { SyntaxKind } from "@typescript/ast"; import { Bench } from "tinybench"; diff --git a/_packages/api/package.json b/_packages/api/package.json index 98b6682dbe..ee3f0ffb58 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -6,35 +6,34 @@ "imports": { "#symbolFlags": { "@typescript/source": { - "types": "./src/base/symbolFlags.enum.ts", - "default": "./src/base/symbolFlags.ts" + "types": "./src/symbolFlags.enum.ts", + "default": "./src/symbolFlags.ts" }, - "types": "./dist/base/symbolFlags.enum.d.ts", - "default": "./dist/base/symbolFlags.js" + "types": "./dist/symbolFlags.enum.d.ts", + "default": "./dist/symbolFlags.js" } }, "exports": { - "./async": { - "@typescript/source": "./src/async/api.ts", - "default": "./dist/async/api.js" + ".": { + "@typescript/source": "./src/api.ts", + "default": "./dist/api.js" }, - "./sync": { - "@typescript/source": "./src/sync/api.ts", - "default": "./dist/sync/api.js" + "./fs": { + "@typescript/source": "./src/fs.ts", + "default": "./dist/fs.js" }, - "./base/*": { - "@typescript/source": "./src/base/*.ts", - "default": "./dist/base/*.js" + "./proto": { + "@typescript/source": "./src/proto.ts", + "default": "./dist/proto.js" } }, "dependencies": { "@typescript/ast": "workspace:*", - "json-rpc-2.0": "^1.7.0", "libsyncrpc": "link:../../../libsyncrpc" }, "scripts": { "build": "tsc -b", - "bench": "node --no-warnings --conditions @typescript/source bench/sync.ts", + "bench": "node --no-warnings --conditions @typescript/source bench/api.bench.ts", "test": "node --test --no-warnings --conditions @typescript/source ./test/**/*.test.ts" }, "devDependencies": { diff --git a/_packages/api/src/.DS_Store b/_packages/api/src/.DS_Store index 3a71a782d5d6b1e9ed4a0b8859134072731eeb85..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 100644 GIT binary patch delta 70 zcmZoMXfc=|#>AjHu~2NHo+1YW5HK<@2yDK{XvVhr0b>>8W_AvK4xj>{$am(+{342+ UKzW7)kiy9(Jj$D6L{=~Z06T*Zn*aa+ delta 272 zcmZXPJr06E5QQK36A}tdB-DBUU97D%78b_N+N}5!qXL0dV`bw3B%H#M(0VUh-_jUk zvAZ+xdow$8_wL@qH4Q73Zrba#OaKPZ1pG)Xr>8{4seInFT!Tb{D}pbgI>emn8ZmD{ zM}QUMH7?A?e9t@wgosLyz!5w6bcFPW*g(;z*j4kSBs<0mU2Mq(7R=;`V9(~;(xktM u*ha7*CJ}$b&Gg*AYAy%$%yX)RZP^z0&E>n2HJnaOuh!1`POF$WugV7q?>UPA diff --git a/_packages/api/src/sync/api.ts b/_packages/api/src/api.ts similarity index 62% rename from _packages/api/src/sync/api.ts rename to _packages/api/src/api.ts index 0ac3aab019..e5ca9f8dc0 100644 --- a/_packages/api/src/sync/api.ts +++ b/_packages/api/src/api.ts @@ -4,29 +4,28 @@ import type { Statement, SyntaxKind, } from "@typescript/ast"; -import { - type API as BaseAPI, - type APIOptions as BaseAPIOptions, - Project as BaseProject, - RemoteSourceFile as BaseRemoteSourceFile, - Symbol as BaseSymbol, - Type as BaseType, -} from "../base/api.ts"; -import type { FileSystem } from "../base/fs.ts"; +import { Client } from "./client.ts"; +import type { FileSystem } from "./fs.ts"; +import { RemoteNode } from "./node.ts"; import type { ConfigResponse, GetSymbolAtPositionParams, ProjectResponse, SymbolResponse, TypeResponse, -} from "../base/proto.ts"; -import { Client } from "./client.ts"; +} from "./proto.ts"; +import { SymbolFlags } from "./symbolFlags.enum.ts"; + +export { SymbolFlags }; -export interface APIOptions extends BaseAPIOptions { +export interface APIOptions { + tsserverPath: string; + cwd?: string; + logFile?: string; fs?: FileSystem; } -export class API implements BaseAPI { +export class API { private client: Client; constructor(options: APIOptions) { this.client = new Client(options); @@ -54,13 +53,25 @@ export class API implements BaseAPI { } } -export class Project extends BaseProject { +export class Project { private decoder = new TextDecoder(); private client: Client; + id: number; + configFileName!: string; + compilerOptions!: Record; + rootFiles!: readonly string[]; + constructor(client: Client, data: ProjectResponse) { - super(data); + this.id = data.id; this.client = client; + this.loadData(data); + } + + loadData(data: ProjectResponse): void { + this.configFileName = data.configFileName; + this.compilerOptions = data.compilerOptions; + this.rootFiles = data.rootFiles; } reload(): void { @@ -69,7 +80,7 @@ export class Project extends BaseProject { getSourceFile(fileName: string): SourceFile | undefined { const data = this.client.requestBinary("getSourceFile", { project: this.id, fileName }); - return data ? new RemoteSourceFile(this.client, this, data, this.decoder) as unknown as SourceFile : undefined; + return data ? new RemoteSourceFile(this.client, data, this.decoder) as unknown as SourceFile : undefined; } getSymbolAtPosition(requests: readonly GetSymbolAtPositionParams[]): (Symbol | undefined)[]; @@ -78,13 +89,13 @@ export class Project extends BaseProject { if (params.length === 2) { if (typeof params[1] === "number") { const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); - return data ? new Symbol(this.client, this, data) : undefined; + return data ? new Symbol(this.client, data) : undefined; } const data = this.client.request("getSymbolAtPositions", { project: this.id, fileName: params[0], positions: params[1] }); - return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, this, d) : undefined); + return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, d) : undefined); } const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); - return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, this, d) : undefined); + return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, d) : undefined); } } @@ -94,36 +105,42 @@ export interface SourceFile extends Node { get text(): string; } -class RemoteSourceFile extends BaseRemoteSourceFile { +class RemoteSourceFile extends RemoteNode { private client: Client; - private project: Project; - constructor(client: Client, project: Project, data: Uint8Array, decoder: TextDecoder) { - super(data, decoder); + constructor(client: Client, data: Uint8Array, decoder: TextDecoder) { + const view = new DataView(data.buffer, data.byteOffset, data.byteLength); + super(view, decoder, 1, undefined!); this.client = client; - this.project = project; + } + + get text(): string { + return this.getFileText(0, this.end); } } -export class Symbol extends BaseSymbol { +export class Symbol { private client: Client; - private project: Project; + private id: number; + name: string; + flags: SymbolFlags; + checkFlags: number; - constructor(client: Client, project: Project, data: SymbolResponse) { - super(data); + constructor(client: Client, data: SymbolResponse) { this.client = client; - this.project = project; - } - - getType(): Type | undefined { - const data = this.client.request("getTypeOfSymbol", { project: this.project.id, symbol: this.id }); - return data ? new Type(this.client, data) : undefined; + this.id = data.id; + this.name = data.name; + this.flags = data.flags; + this.checkFlags = data.checkFlags; } } -export class Type extends BaseType { +export class Type { private client: Client; + private id: number; + flags: number; constructor(client: Client, data: TypeResponse) { - super(data); this.client = client; + this.id = data.id; + this.flags = data.flags; } } diff --git a/_packages/api/src/async/api.ts b/_packages/api/src/async/api.ts deleted file mode 100644 index 6a1c59fb23..0000000000 --- a/_packages/api/src/async/api.ts +++ /dev/null @@ -1,103 +0,0 @@ -import type { SourceFile as SourceFileNode } from "@typescript/ast"; -import type { - ChildProcess, - ChildProcessWithoutNullStreams, -} from "child_process"; -import { - type API as BaseAPI, - type APIOptions, - Project as BaseProject, - Symbol as BaseSymbol, - Type as BaseType, -} from "../base/api.ts"; -import type { - ConfigResponse, - ProjectResponse, - SymbolResponse, - TypeResponse, -} from "../base/proto.ts"; -import { Client } from "./client.ts"; -import { startLSPServer } from "./lsp.ts"; - -interface Killable { - kill(): void; -} - -export class API implements BaseAPI { - private server: Killable; - private client: Client; - - constructor(options: APIOptions) { - this.client = new Client(this.server = startLSPServer(options.tsserverPath, options.cwd ?? process.cwd())); - } - - async parseConfigFile(fileName: string): Promise { - await this.ensureInitialized(); - return this.client.request("parseConfigFile", { fileName }); - } - - async loadProject(configFileName: string): Promise { - await this.ensureInitialized(); - const data = await this.client.loadProject(configFileName); - return new Project(this.client, data); - } - - async ensureInitialized(): Promise { - if (!this.client.initialized) { - await this.client.initialize(); - } - } - - async close(): Promise { - await this.client.shutdown(); - this.client.exit(); - this.server.kill(); - } -} - -export class Project extends BaseProject { - private client: Client; - - constructor(client: Client, data: ProjectResponse) { - super(data); - this.client = client; - } - - async reload(): Promise { - this.loadData(await this.client.request("loadProject", { configFileName: this.configFileName })); - } - - async getSymbolAtPosition(fileName: string, position: number): Promise { - const data = await this.client.request("getSymbolAtPosition", { project: this.configFileName, fileName, position }); - return data ? new Symbol(this.client, this, data) : undefined; - } - - async getSourceFile(fileName: string): Promise { - throw new Error("Not implemented"); - } -} - -export class Symbol extends BaseSymbol { - private client: Client; - private project: Project; - - constructor(client: Client, project: Project, data: SymbolResponse) { - super(data); - this.client = client; - this.project = project; - } - - async getType(): Promise { - const data = await this.client.request("getTypeOfSymbol", { project: this.project.configFileName, symbol: this.id }); - return data ? new Type(this.client, data) : undefined; - } -} - -export class Type extends BaseType { - private client: Client; - - constructor(client: Client, data: TypeResponse) { - super(data); - this.client = client; - } -} diff --git a/_packages/api/src/async/client.ts b/_packages/api/src/async/client.ts deleted file mode 100644 index d9f4fd8943..0000000000 --- a/_packages/api/src/async/client.ts +++ /dev/null @@ -1,82 +0,0 @@ -import type { JSONRPCClient } from "json-rpc-2.0"; -import type { ChildProcessByStdio } from "node:child_process"; -import type { - Readable, - Writable, -} from "node:stream"; -import type { - ConfigResponse, - ProjectResponse, - SymbolResponse, -} from "../base/proto.ts"; -import { - LSPError, - LSPErrorCollection, -} from "./errors.ts"; -import { createJSONRPCClient } from "./lsp.ts"; - -export class Client { - initialized = false; - jsonRPCClient: JSONRPCClient; - errorStack: LSPError[] = []; - - constructor(serverProcess: ChildProcessByStdio) { - this.jsonRPCClient = createJSONRPCClient(serverProcess, error => { - this.errorStack.push(error); - }); - } - - async initialize(): Promise { - await this.jsonRPCClient.request("initialize", { - rootUri: null, - capabilities: {}, - }); - this.initialized = true; - this.jsonRPCClient.notify("initialized", {}); - this.flushErrors(); - } - - async parseConfigFile(configFileName: string): Promise { - return this.request("parseConfigFile", { - configFileName, - }); - } - - async loadProject(configFileName: string): Promise { - return this.request("loadProject", { - configFileName, - }); - } - - async getSymbolAtPosition(fileName: string, position: number): Promise { - return this.request("getSymbolAtPosition", { - fileName, - position, - }); - } - - async shutdown(): Promise { - await this.jsonRPCClient.request("shutdown", {}); - this.jsonRPCClient.notify("exit", {}); - this.flushErrors(); - } - - exit(): void { - this.jsonRPCClient.notify("exit", {}); - } - - async request(method: string, params: any): Promise { - const result = await this.jsonRPCClient.request(`@ts/${method}`, params); - this.flushErrors(); - return result; - } - - private flushErrors() { - if (this.errorStack.length > 1) { - throw new LSPErrorCollection(this.errorStack); - } - if (this.errorStack.length === 1) { - throw this.errorStack[0]; - } - } -} diff --git a/_packages/api/src/async/errors.ts b/_packages/api/src/async/errors.ts deleted file mode 100644 index 05ad1ece22..0000000000 --- a/_packages/api/src/async/errors.ts +++ /dev/null @@ -1,27 +0,0 @@ -export type LSPErrorType = "MessageFormat" | "Parse" | "Server"; - -export class LSPError extends Error { - code?: number; - raw?: string; - constructor( - message: string, - type: LSPErrorType, - details?: { code?: number; raw?: string; }, - ) { - super(message); - this.name = `LSP${type}Error`; - this.code = details?.code; - this.raw = details?.raw; - } -} - -export class LSPErrorCollection extends Error { - errors: LSPError[]; - constructor( - errors: LSPError[], - ) { - super("LSP Errors:\n" + errors.map(e => e.message).join("\n")); - this.name = "LSPErrorCollection"; - this.errors = errors; - } -} diff --git a/_packages/api/src/async/lsp.ts b/_packages/api/src/async/lsp.ts deleted file mode 100644 index c8ffc26e97..0000000000 --- a/_packages/api/src/async/lsp.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { JSONRPCClient } from "json-rpc-2.0"; -import { - type ChildProcessByStdio, - spawn, -} from "node:child_process"; -import type { - Readable, - Writable, -} from "node:stream"; -import { LSPError } from "./errors.ts"; - -export function startLSPServer(executable: string, cwd: string): ChildProcessByStdio { - const server = spawn(executable, ["api", "-lsp", "-cwd", cwd], { - detached: true, - stdio: ["pipe", "pipe", "ignore"], - }); - - server.unref(); - - server.on("error", error => { - throw new LSPError(`Server process error: ${error.message}`, "Server"); - }); - - server.once("exit", code => { - if (code !== 0 && code !== null) { - throw new LSPError(`Server exited with code ${code}`, "Server", { code }); - } - }); - - return server; -} - -export function createJSONRPCClient(serverProcess: ChildProcessByStdio, onError: (error: LSPError) => void): JSONRPCClient { - const client = new JSONRPCClient(jsonRPCRequest => { - const content = JSON.stringify(jsonRPCRequest); - const contentLength = Buffer.byteLength(content, "utf8"); - const header = `Content-Length: ${contentLength}\r\n\r\n`; - serverProcess.stdin.write(header + content, "utf8"); - }); - - // Buffer for incoming data - let buffer = ""; - let contentLength: number | null = null; - - serverProcess.stdout.on("data", (data: Buffer) => { - buffer += data.toString(); - - // Process all complete messages in the buffer - while (true) { - // If we don't have a content length yet, try to parse the header - if (contentLength === null) { - const headerEnd = buffer.indexOf("\r\n\r\n"); - if (headerEnd === -1) { - // Not enough data to read the header - break; - } - - const header = buffer.substring(0, headerEnd); - const match = header.match(/Content-Length:\s*(\d+)/i); - if (!match) { - onError( - new LSPError( - "Invalid message header: Content-Length not found", - "MessageFormat", - ), - ); - buffer = ""; - return; - } - - contentLength = parseInt(match[1], 10); - buffer = buffer.substring(headerEnd + 4); // Remove the header - } - - // If we have a content length and enough data, process the message - if (contentLength !== null && buffer.length >= contentLength) { - const message = buffer.substring(0, contentLength); - buffer = buffer.substring(contentLength); // Remove the processed message - contentLength = null; - - try { - const json = JSON.parse(message); - client.receive(json); - } - catch (error) { - onError( - new LSPError( - `Error parsing message: ${error instanceof Error ? error.message : error}`, - "Parse", - { raw: message }, - ), - ); - } - } - else { - // Not enough data to process a message - break; - } - } - }); - - return client; -} diff --git a/_packages/api/src/base/api.ts b/_packages/api/src/base/api.ts deleted file mode 100644 index f6f278a5a4..0000000000 --- a/_packages/api/src/base/api.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { SymbolFlags } from "#symbolFlags"; -import type { SourceFile as SourceFileNode } from "@typescript/ast"; -import { RemoteNode } from "./node.ts"; -import type { - ConfigResponse, - ProjectResponse, - SymbolResponse, - TypeResponse, -} from "./proto.ts"; - -export type MaybeAsync = Async extends true ? Promise : T; - -export interface APIOptions { - tsserverPath: string; - cwd?: string; - logFile?: string; -} - -export interface API { - parseConfigFile(fileName: string): MaybeAsync; - loadProject(configFileName: string): MaybeAsync>; -} - -export abstract class Project { - id: number; - configFileName!: string; - compilerOptions!: Record; - rootFiles!: readonly string[]; - - constructor(data: ProjectResponse) { - this.id = data.id; - this.loadData(data); - } - - loadData(data: ProjectResponse): void { - this.configFileName = data.configFileName; - this.compilerOptions = data.compilerOptions; - this.rootFiles = data.rootFiles; - } - - abstract reload(): MaybeAsync; - abstract getSourceFile(fileName: string): MaybeAsync; - abstract getSymbolAtPosition(fileName: string, position: number): MaybeAsync | undefined>; -} - -export abstract class RemoteSourceFile extends RemoteNode { - constructor(data: Uint8Array, decoder: TextDecoder) { - const view = new DataView(data.buffer, data.byteOffset, data.byteLength); - super(view, decoder, 1, undefined!); - } - - get text(): string { - return this.getFileText(0, this.end); - } -} - -export { SymbolFlags }; - -export abstract class Symbol { - protected id: number; - name: string; - flags: SymbolFlags; - checkFlags: number; - - constructor(data: SymbolResponse) { - this.id = data.id; - this.name = data.name; - this.flags = data.flags; - this.checkFlags = data.checkFlags; - } - - abstract getType(): MaybeAsync | undefined>; -} - -export abstract class Type { - protected id: number; - flags: number; - - constructor(data: TypeResponse) { - this.id = data.id; - this.flags = data.flags; - } -} diff --git a/_packages/api/src/sync/client.ts b/_packages/api/src/client.ts similarity index 100% rename from _packages/api/src/sync/client.ts rename to _packages/api/src/client.ts diff --git a/_packages/api/src/base/fs.ts b/_packages/api/src/fs.ts similarity index 100% rename from _packages/api/src/base/fs.ts rename to _packages/api/src/fs.ts diff --git a/_packages/api/src/base/node.ts b/_packages/api/src/node.ts similarity index 100% rename from _packages/api/src/base/node.ts rename to _packages/api/src/node.ts diff --git a/_packages/api/src/base/proto.ts b/_packages/api/src/proto.ts similarity index 100% rename from _packages/api/src/base/proto.ts rename to _packages/api/src/proto.ts diff --git a/_packages/api/src/base/symbolFlags.enum.ts b/_packages/api/src/symbolFlags.enum.ts similarity index 100% rename from _packages/api/src/base/symbolFlags.enum.ts rename to _packages/api/src/symbolFlags.enum.ts diff --git a/_packages/api/src/base/symbolFlags.ts b/_packages/api/src/symbolFlags.ts similarity index 100% rename from _packages/api/src/base/symbolFlags.ts rename to _packages/api/src/symbolFlags.ts diff --git a/cmd/tsgo/api.go b/cmd/tsgo/api.go index 096ebd3e5c..702ce143a2 100644 --- a/cmd/tsgo/api.go +++ b/cmd/tsgo/api.go @@ -10,50 +10,29 @@ import ( "github.com/microsoft/typescript-go/internal/api" "github.com/microsoft/typescript-go/internal/bundled" "github.com/microsoft/typescript-go/internal/core" - "github.com/microsoft/typescript-go/internal/lsp" - "github.com/microsoft/typescript-go/internal/vfs/osvfs" ) func runAPI(args []string) int { flag := flag.NewFlagSet("api", flag.ContinueOnError) - useLSP := flag.Bool("lsp", false, "use API over LSP server") cwd := flag.String("cwd", core.Must(os.Getwd()), "current working directory") if err := flag.Parse(args); err != nil { return 2 } - fs := bundled.WrapFS(osvfs.FS()) defaultLibraryPath := bundled.LibPath() - if *useLSP { - s := lsp.NewServer(&lsp.ServerOptions{ - In: os.Stdin, - Out: os.Stdout, - Err: os.Stderr, - API: true, - Cwd: *cwd, - FS: fs, - DefaultLibraryPath: defaultLibraryPath, - }) + s := api.NewServer(&api.ServerOptions{ + In: os.Stdin, + Out: os.Stdout, + Err: os.Stderr, + Cwd: *cwd, + NewLine: "\n", + DefaultLibraryPath: defaultLibraryPath, + }) - if err := s.Run(); err != nil && !errors.Is(err, io.EOF) { - return 1 - } - return 0 - } else { - s := api.NewServer(&api.ServerOptions{ - In: os.Stdin, - Out: os.Stdout, - Err: os.Stderr, - Cwd: *cwd, - NewLine: "\n", - DefaultLibraryPath: defaultLibraryPath, - }) - - if err := s.Run(); err != nil && !errors.Is(err, io.EOF) { - fmt.Println(err) - return 1 - } - return 0 + if err := s.Run(); err != nil && !errors.Is(err, io.EOF) { + fmt.Println(err) + return 1 } + return 0 } diff --git a/internal/api/server.go b/internal/api/server.go index fdfeeb1ee8..8cfefd3876 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -123,7 +123,7 @@ func (s *Server) Run() error { s.logger.PerfTrace(fmt.Sprintf("%s sent - %s", method, time.Since(now))) } default: - return fmt.Errorf("%w: expected request, recieved: %s", ErrInvalidRequest, messageType) + return fmt.Errorf("%w: expected request, received: %s", ErrInvalidRequest, messageType) } } } @@ -140,7 +140,7 @@ func (s *Server) readRequest(expectedMethod string) (messageType string, method } method = method[:len(method)-1] if expectedMethod != "" && method != expectedMethod { - return "", "", nil, fmt.Errorf("%w: expected method %q, recieved %q", ErrInvalidRequest, expectedMethod, method) + return "", "", nil, fmt.Errorf("%w: expected method %q, received %q", ErrInvalidRequest, expectedMethod, method) } var size uint32 if err = binary.Read(s.r, binary.LittleEndian, &size); err != nil { @@ -255,11 +255,11 @@ func (s *Server) call(method string, payload any) ([]byte, error) { return nil, err } - if string(messageType) != "call-response" && string(messageType) != "call-error" { - return nil, fmt.Errorf("%w: expected call-response or call-error, recieved: %s", ErrInvalidRequest, messageType) + if messageType != "call-response" && messageType != "call-error" { + return nil, fmt.Errorf("%w: expected call-response or call-error, received: %s", ErrInvalidRequest, messageType) } - if string(messageType) == "call-error" { + if messageType == "call-error" { return nil, fmt.Errorf("%w: %s", ErrClientError, responsePayload) } diff --git a/internal/lsp/server.go b/internal/lsp/server.go index d938fbe0ed..54bbd75fa2 100644 --- a/internal/lsp/server.go +++ b/internal/lsp/server.go @@ -9,7 +9,6 @@ import ( "strings" "time" - "github.com/microsoft/typescript-go/internal/api" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/ls" "github.com/microsoft/typescript-go/internal/lsp/lsproto" @@ -22,7 +21,6 @@ type ServerOptions struct { Out io.Writer Err io.Writer - API bool Cwd string NewLine core.NewLineKind FS vfs.FS @@ -37,7 +35,6 @@ func NewServer(opts *ServerOptions) *Server { r: lsproto.NewBaseReader(opts.In), w: lsproto.NewBaseWriter(opts.Out), stderr: opts.Err, - useAPI: opts.API, cwd: opts.Cwd, newLine: opts.NewLine, fs: opts.FS, @@ -56,7 +53,6 @@ type Server struct { requestMethod string requestTime time.Time - useAPI bool cwd string newLine core.NewLineKind fs vfs.FS @@ -66,7 +62,6 @@ type Server struct { positionEncoding lsproto.PositionEncodingKind logger *project.Logger - api *api.API projectService *project.Service converters *converters } @@ -100,8 +95,6 @@ func (s *Server) Run() error { for { req, err := s.read() if err != nil { - s.requestMethod = "" - s.requestTime = time.Time{} if errors.Is(err, lsproto.ErrInvalidRequest) { if err := s.sendError(nil, err); err != nil { return err @@ -180,38 +173,13 @@ func (s *Server) sendResponse(resp *lsproto.ResponseMessage) error { func (s *Server) handleMessage(req *lsproto.RequestMessage) error { s.requestTime = time.Now() s.requestMethod = string(req.Method) - if s.useAPI && strings.HasPrefix(string(req.Method), "@ts/") { - if result, err := s.api.HandleRequest(int(req.ID.MustInt()), strings.TrimPrefix(string(req.Method), "@ts/"), req.Params.(json.RawMessage)); err != nil { - return s.sendError(req.ID, err) - } else { - return s.sendResult(req.ID, result) - } - } - switch req.Params.(type) { + params := req.Params + switch params.(type) { case *lsproto.InitializeParams: return s.sendError(req.ID, lsproto.ErrInvalidRequest) case *lsproto.InitializedParams: return s.handleInitialized(req) - default: - switch req.Method { - case lsproto.MethodShutdown: - if s.useAPI { - s.api.Close() - } else { - s.projectService.Close() - } - return s.sendResult(req.ID, nil) - case lsproto.MethodExit: - return nil - } - } - - if s.useAPI { - return s.sendError(req.ID, lsproto.ErrInvalidRequest) - } - - switch req.Params.(type) { case *lsproto.DidOpenTextDocumentParams: return s.handleDidOpen(req) case *lsproto.DidChangeTextDocumentParams: @@ -227,26 +195,24 @@ func (s *Server) handleMessage(req *lsproto.RequestMessage) error { case *lsproto.DefinitionParams: return s.handleDefinition(req) default: - s.Log("unknown method", req.Method) - if req.ID != nil { - return s.sendError(req.ID, lsproto.ErrInvalidRequest) + switch req.Method { + case lsproto.MethodShutdown: + s.projectService.Close() + return s.sendResult(req.ID, nil) + case lsproto.MethodExit: + return nil + default: + s.Log("unknown method", req.Method) + if req.ID != nil { + return s.sendError(req.ID, lsproto.ErrInvalidRequest) + } + return nil } - return nil } } func (s *Server) handleInitialize(req *lsproto.RequestMessage) error { s.initializeParams = req.Params.(*lsproto.InitializeParams) - serverInfo := &lsproto.ServerInfo{ - Name: "typescript-go", - Version: ptrTo(core.Version), - } - if s.useAPI { - return s.sendResult(req.ID, &lsproto.InitializeResult{ - ServerInfo: serverInfo, - Capabilities: lsproto.ServerCapabilities{}, - }) - } s.positionEncoding = lsproto.PositionEncodingKindUTF16 if genCapabilities := s.initializeParams.Capabilities.General; genCapabilities != nil && genCapabilities.PositionEncodings != nil { @@ -256,7 +222,10 @@ func (s *Server) handleInitialize(req *lsproto.RequestMessage) error { } return s.sendResult(req.ID, &lsproto.InitializeResult{ - ServerInfo: serverInfo, + ServerInfo: &lsproto.ServerInfo{ + Name: "typescript-go", + Version: ptrTo(core.Version), + }, Capabilities: lsproto.ServerCapabilities{ PositionEncoding: ptrTo(s.positionEncoding), TextDocumentSync: &lsproto.TextDocumentSyncOptionsOrTextDocumentSyncKind{ @@ -286,16 +255,10 @@ func (s *Server) handleInitialize(req *lsproto.RequestMessage) error { } func (s *Server) handleInitialized(req *lsproto.RequestMessage) error { - s.logger = project.NewLogger([]io.Writer{s.stderr}, "", project.LogLevelVerbose) - if s.useAPI { - s.api = api.NewAPI(s, api.APIOptions{ - Logger: s.logger, - }) - } else { - s.projectService = project.NewService(s, project.ServiceOptions{ - Logger: s.logger, - }) - } + s.logger = project.NewLogger([]io.Writer{s.stderr}, "" /*file*/, project.LogLevelVerbose) + s.projectService = project.NewService(s, project.ServiceOptions{ + Logger: s.logger, + }) s.converters = &converters{projectService: s.projectService, positionEncoding: s.positionEncoding} return nil } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82f602b0df..a1b89c8cb5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,9 +60,6 @@ importers: '@typescript/ast': specifier: workspace:* version: link:../ast - json-rpc-2.0: - specifier: ^1.7.0 - version: 1.7.0 libsyncrpc: specifier: link:../../../libsyncrpc version: link:../../../libsyncrpc @@ -304,9 +301,6 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - json-rpc-2.0@1.7.0: - resolution: {integrity: sha512-asnLgC1qD5ytP+fvBP8uL0rvj+l8P6iYICbzZ8dVxCpESffVjzA7KkYkbKCIbavs7cllwH1ZUaNtJwphdeRqpg==} - json-schema-to-typescript-lite@14.1.0: resolution: {integrity: sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==} @@ -700,8 +694,6 @@ snapshots: dependencies: argparse: 2.0.1 - json-rpc-2.0@1.7.0: {} - json-schema-to-typescript-lite@14.1.0: dependencies: '@apidevtools/json-schema-ref-parser': 11.9.0 From 56d7e67fb6361beb6f04d806bd4ff37b89b17d93 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 19 Mar 2025 10:38:58 -0700 Subject: [PATCH 19/63] More pnpm things after merge --- .github/workflows/ci.yml | 7 ++++--- .github/workflows/merge-queue.yml | 4 ++-- README.md | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 00c63a2151..5f80980d84 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,10 +37,11 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 + - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - - run: npm ci + - run: pnpm install - - run: npm run extension:build + - run: pnpm extension:build test: strategy: @@ -204,7 +205,7 @@ jobs: - run: pnpm hereby build --race - - run: npm ci && npx hereby generate-diagnostics + - run: pnpm install && pnpm hereby generate-diagnostics working-directory: ./_submodules/TypeScript - run: ./built/local/tsgo -p ./_submodules/TypeScript/src/compiler --singleThreaded diff --git a/.github/workflows/merge-queue.yml b/.github/workflows/merge-queue.yml index 22b64b7e4c..ed64c96d13 100644 --- a/.github/workflows/merge-queue.yml +++ b/.github/workflows/merge-queue.yml @@ -26,8 +26,8 @@ jobs: with: cache-name: merge-queue-test - - run: npm ci - - run: npx hereby test:all + - run: pnpm install + - run: pnpm hereby test:all required: runs-on: ubuntu-latest diff --git a/README.md b/README.md index 65bf58fef1..7d49d359a0 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Interested developers can clone and run locally to try out things as they become ## How to Build and Run -This repo uses [Go 1.24 or higher](https://go.dev/dl/), [Node.js with npm](https://nodejs.org/), and [`hereby`](https://www.npmjs.com/package/hereby). +This repo uses [Go 1.24 or higher](https://go.dev/dl/), [Node.js](https://nodejs.org/), [pnpm](https://pnpm.io), and [`hereby`](https://www.npmjs.com/package/hereby). For tests and code generation, this repo contains a git submodule to the main TypeScript repo pointing to the commit being ported. When cloning, you'll want to clone with submodules: @@ -22,7 +22,7 @@ If you have already cloned the repo, you can initialize the submodule with: git submodule update --init --recursive ``` -With the submodule in place and `npm ci`, you can run tasks via `hereby`, similar to the TypeScript repo: +With the submodule in place and `pnpm install`, you can run tasks via `hereby`, similar to the TypeScript repo: ```sh hereby build # Verify that the project builds From bd92afaef3b5cd89c77935254ff62ef16344b4df Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 19 Mar 2025 14:03:20 -0700 Subject: [PATCH 20/63] Benchmark client-hosted file system --- _packages/api/bench/api.bench.ts | 83 +++++++++++++++++++++++++++++++- _packages/api/src/api.ts | 32 ++---------- _packages/api/src/node.ts | 11 +++++ _packages/api/test/api.test.ts | 4 +- _packages/ast/src/nodes.ts | 1 + 5 files changed, 99 insertions(+), 32 deletions(-) diff --git a/_packages/api/bench/api.bench.ts b/_packages/api/bench/api.bench.ts index 4fe3275d52..44826f2575 100644 --- a/_packages/api/bench/api.bench.ts +++ b/_packages/api/bench/api.bench.ts @@ -1,10 +1,18 @@ import { API, type Project, - type SourceFile, } from "@typescript/api"; +import { + type FileSystem, + type FileSystemEntries, +} from "@typescript/api/fs"; import type { GetSymbolAtPositionParams } from "@typescript/api/proto"; -import { SyntaxKind } from "@typescript/ast"; +import { + type SourceFile, + SyntaxKind, +} from "@typescript/ast"; +import fs from "node:fs"; +import path from "node:path"; import { Bench } from "tinybench"; const bench = new Bench({ @@ -45,6 +53,9 @@ bench .add("load project", () => { loadProject(); }, { beforeAll: spawnAPI }) + .add("load project (client FS)", () => { + loadProject(); + }, { beforeAll: spawnAPIHosted }) .add("transfer debug.ts", () => { getDebugTS(); }, { beforeAll: all(spawnAPI, loadProject) }) @@ -106,6 +117,14 @@ function spawnAPI() { }); } +function spawnAPIHosted() { + api = new API({ + cwd: new URL("../../../", import.meta.url).pathname, + tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + fs: createNodeFileSystem(), + }); +} + function loadProject() { project = api.loadProject("_submodules/TypeScript/src/compiler/tsconfig.json"); } @@ -129,3 +148,63 @@ function all(...fns: (() => void)[]) { } }; } + +function createNodeFileSystem(): FileSystem { + return { + directoryExists: directoryName => { + try { + return fs.statSync(directoryName).isDirectory(); + } + catch { + return false; + } + }, + fileExists: fileName => { + try { + return fs.statSync(fileName).isFile(); + } + catch { + return false; + } + }, + readFile: fileName => { + try { + return fs.readFileSync(fileName, "utf8"); + } + catch { + return undefined; + } + }, + getAccessibleEntries: dirName => { + const entries: FileSystemEntries = { + files: [], + directories: [], + }; + for (const entry of fs.readdirSync(dirName, { withFileTypes: true })) { + if (entry.isFile()) { + entries.files.push(entry.name); + } + else if (entry.isDirectory()) { + entries.directories.push(entry.name); + } + else if (entry.isSymbolicLink()) { + const fullName = path.join(dirName, entry.name); + try { + const stat = fs.statSync(fullName); + if (stat.isFile()) { + entries.files.push(entry.name); + } + else if (stat.isDirectory()) { + entries.directories.push(entry.name); + } + } + catch { + // Ignore errors + } + } + } + return entries; + }, + realpath: fs.realpathSync, + }; +} diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index e5ca9f8dc0..c49ddb8350 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -1,12 +1,8 @@ -import type { - Node, - NodeArray, - Statement, - SyntaxKind, -} from "@typescript/ast"; +import { SymbolFlags } from "#symbolFlags"; +import type { SourceFile } from "@typescript/ast"; import { Client } from "./client.ts"; import type { FileSystem } from "./fs.ts"; -import { RemoteNode } from "./node.ts"; +import { RemoteSourceFile } from "./node.ts"; import type { ConfigResponse, GetSymbolAtPositionParams, @@ -14,7 +10,6 @@ import type { SymbolResponse, TypeResponse, } from "./proto.ts"; -import { SymbolFlags } from "./symbolFlags.enum.ts"; export { SymbolFlags }; @@ -80,7 +75,7 @@ export class Project { getSourceFile(fileName: string): SourceFile | undefined { const data = this.client.requestBinary("getSourceFile", { project: this.id, fileName }); - return data ? new RemoteSourceFile(this.client, data, this.decoder) as unknown as SourceFile : undefined; + return data ? new RemoteSourceFile(data, this.decoder) as unknown as SourceFile : undefined; } getSymbolAtPosition(requests: readonly GetSymbolAtPositionParams[]): (Symbol | undefined)[]; @@ -99,25 +94,6 @@ export class Project { } } -export interface SourceFile extends Node { - kind: SyntaxKind.SourceFile; - statements: NodeArray; - get text(): string; -} - -class RemoteSourceFile extends RemoteNode { - private client: Client; - constructor(client: Client, data: Uint8Array, decoder: TextDecoder) { - const view = new DataView(data.buffer, data.byteOffset, data.byteLength); - super(view, decoder, 1, undefined!); - this.client = client; - } - - get text(): string { - return this.getFileText(0, this.end); - } -} - export class Symbol { private client: Client; private id: number; diff --git a/_packages/api/src/node.ts b/_packages/api/src/node.ts index a15708a1e8..a8c563dabe 100644 --- a/_packages/api/src/node.ts +++ b/_packages/api/src/node.ts @@ -791,3 +791,14 @@ export class RemoteNode extends RemoteNodeBase implements Node { } } } + +export class RemoteSourceFile extends RemoteNode { + constructor(data: Uint8Array, decoder: TextDecoder) { + const view = new DataView(data.buffer, data.byteOffset, data.byteLength); + super(view, decoder, 1, undefined!); + } + + get text(): string { + return this.getFileText(0, this.end); + } +} diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index cd22a27c05..482f970178 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -1,5 +1,5 @@ -import { createVirtualFileSystem } from "@typescript/api/base/fs"; -import { API } from "@typescript/api/sync"; +import { API } from "@typescript/api"; +import { createVirtualFileSystem } from "@typescript/api/fs"; import assert from "node:assert"; import { describe, diff --git a/_packages/ast/src/nodes.ts b/_packages/ast/src/nodes.ts index d70f0d53c9..9b23f52cd3 100644 --- a/_packages/ast/src/nodes.ts +++ b/_packages/ast/src/nodes.ts @@ -14,6 +14,7 @@ export interface Node extends ReadonlyTextRange { export interface SourceFile extends Node { readonly kind: SyntaxKind.SourceFile; readonly statements: NodeArray; + readonly text: string; } export type TriviaSyntaxKind = From 7a07c5c27c91c469f91763d17a3c98abc9dbfefc Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 20 Mar 2025 16:47:09 -0700 Subject: [PATCH 21/63] Implement extended data table --- _packages/api/src/node.ts | 45 ++++++++--- _packages/api/test/api.test.ts | 44 +++++++++++ _packages/ast/src/nodes.ts | 6 +- internal/api/encoder/encoder.go | 113 +++++++++++++++------------ internal/api/encoder/encoder_test.go | 4 +- internal/api/encoder/stringtable.go | 10 +-- 6 files changed, 152 insertions(+), 70 deletions(-) diff --git a/_packages/api/src/node.ts b/_packages/api/src/node.ts index a8c563dabe..b151241b1b 100644 --- a/_packages/api/src/node.ts +++ b/_packages/api/src/node.ts @@ -130,10 +130,9 @@ const childProperties: Readonly>> const HEADER_OFFSET_RESERVED = 0; const HEADER_OFFSET_STRING_TABLE_OFFSETS = 4; const HEADER_OFFSET_STRING_TABLE = 8; -const HEADER_OFFSET_EXTENDED_DATA_OFFSETS = 12; -const HEADER_OFFSET_EXTENDED_DATA = 16; -const HEADER_OFFSET_NODES = 20; -const HEADER_SIZE = 24; +const HEADER_OFFSET_EXTENDED_DATA = 12; +const HEADER_OFFSET_NODES = 16; +const HEADER_SIZE = 20; type NodeDataType = typeof NODE_DATA_TYPE_CHILDREN | typeof NODE_DATA_TYPE_STRING | typeof NODE_DATA_TYPE_EXTENDED; const NODE_DATA_TYPE_CHILDREN = 0x00000000; @@ -142,6 +141,7 @@ const NODE_DATA_TYPE_EXTENDED = 0x80000000; const NODE_DATA_TYPE_MASK = 0xc0_00_00_00; const NODE_CHILD_MASK = 0x00_00_00_ff; const NODE_STRING_INDEX_MASK = 0x00_ff_ff_ff; +const NODE_EXTENDED_DATA_MASK = 0x00_ff_ff_ff; const NODE_OFFSET_KIND = 0; const NODE_OFFSET_POS = 4; @@ -196,10 +196,6 @@ export class RemoteNodeBase { return this.view.getUint32(HEADER_OFFSET_STRING_TABLE, true); } - protected get offsetExtendedDataOffsets(): number { - return this.view.getUint32(HEADER_OFFSET_EXTENDED_DATA_OFFSETS, true); - } - protected get offsetExtendedData(): number { return this.view.getUint32(HEADER_OFFSET_EXTENDED_DATA, true); } @@ -257,7 +253,7 @@ export class RemoteNodeList extends Array implements NodeArray { assert.ok(sourceFile); assert.equal(sourceFile.text, files["/src/index.ts"]); }); + + test("extended data", () => { + const files = { + "/tsconfig.json": "{}", + "/src/index.ts": "`head ${middle} tail`", + }; + + const api = new API({ + cwd: new URL("../../../", import.meta.url).pathname, + tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + fs: createVirtualFileSystem(files), + }); + + const project = api.loadProject("/tsconfig.json"); + const sourceFile = project.getSourceFile("/src/index.ts"); + + assert.ok(sourceFile); + let nodeCount = 1; + sourceFile.forEachChild(function visit(node) { + if (isTemplateHead(node)) { + assert.equal(node.text, "head "); + assert.equal(node.rawText, "head "); + assert.equal(node.templateFlags, 0); + } + else if (isTemplateMiddle(node)) { + assert.equal(node.text, "middle"); + assert.equal(node.rawText, "middle"); + assert.equal(node.templateFlags, 0); + } + else if (isTemplateTail(node)) { + assert.equal(node.text, " tail"); + assert.equal(node.rawText, " tail"); + assert.equal(node.templateFlags, 0); + } + nodeCount++; + node.forEachChild(visit); + }); + assert.equal(nodeCount, 7); + }); }); diff --git a/_packages/ast/src/nodes.ts b/_packages/ast/src/nodes.ts index 9b23f52cd3..0633cfcf55 100644 --- a/_packages/ast/src/nodes.ts +++ b/_packages/ast/src/nodes.ts @@ -1287,19 +1287,19 @@ export type LiteralToken = export interface TemplateHead extends TemplateLiteralLikeNode { readonly kind: SyntaxKind.TemplateHead; readonly parent: TemplateExpression | TemplateLiteralTypeNode; - templateFlags?: TokenFlags; + templateFlags: TokenFlags; } export interface TemplateMiddle extends TemplateLiteralLikeNode { readonly kind: SyntaxKind.TemplateMiddle; readonly parent: TemplateSpan | TemplateLiteralTypeSpan; - templateFlags?: TokenFlags; + templateFlags: TokenFlags; } export interface TemplateTail extends TemplateLiteralLikeNode { readonly kind: SyntaxKind.TemplateTail; readonly parent: TemplateSpan | TemplateLiteralTypeSpan; - templateFlags?: TokenFlags; + templateFlags: TokenFlags; } export type PseudoLiteralToken = diff --git a/internal/api/encoder/encoder.go b/internal/api/encoder/encoder.go index 4251608b7d..43025ceb12 100644 --- a/internal/api/encoder/encoder.go +++ b/internal/api/encoder/encoder.go @@ -21,8 +21,8 @@ const ( const ( NodeDataTypeChildren uint32 = iota << 30 - NodeDataTypeStringIndex - NodeDataTypeExtendedDataIndex + NodeDataTypeString + NodeDataTypeExtendedData ) const ( @@ -36,20 +36,22 @@ const ( ) const ( - HeaderOffsetReserved = iota * 4 - HeaderOffsetStringTableOffsets - HeaderOffsetStringTable - HeaderOffsetExtendedDataOffsets + HeaderOffsetMetadata = iota * 4 + HeaderOffsetStringOffsets + HeaderOffsetStringData HeaderOffsetExtendedData HeaderOffsetNodes HeaderSize ) -// EncodeSourceFile encodes a source file into a byte slice. +const ( + ProtocolVersion uint8 = 1 +) + +// EncodeSourceFile encodes a source file into a byte slice. The protocol func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { - var err error var parentIndex, nodeCount, prevIndex uint32 - + var extendedData []byte strs := newStringTable(sourceFile.Text, sourceFile.TextCount) nodes := make([]byte, 0, (sourceFile.NodeCount+1)*NodeSize) @@ -70,9 +72,7 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { nodes[prevIndex*NodeSize+NodeOffsetNext+3] = b3 } - if nodes, err = appendUint32s(nodes, SyntaxKindNodeList, uint32(nodeList.Pos()), uint32(nodeList.End()), 0, parentIndex, uint32(len(nodeList.Nodes))); err != nil { - return nil - } + nodes = appendUint32s(nodes, SyntaxKindNodeList, uint32(nodeList.Pos()), uint32(nodeList.End()), 0, parentIndex, uint32(len(nodeList.Nodes))) saveParentIndex := parentIndex @@ -104,10 +104,7 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { nodes[prevIndex*NodeSize+NodeOffsetNext+3] = b3 } - if nodes, err = appendUint32s(nodes, uint32(node.Kind), uint32(node.Pos()), uint32(node.End()), 0, parentIndex, getNodeData(node, strs)); err != nil { - visitor.Visit = nil - return nil - } + nodes = appendUint32s(nodes, uint32(node.Kind), uint32(node.Pos()), uint32(node.End()), 0, parentIndex, getNodeData(node, strs, &extendedData)) saveParentIndex := parentIndex @@ -120,70 +117,61 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { return node } - if nodes, err = appendUint32s(nodes, 0, 0, 0, 0, 0, 0); err != nil { - return nil, err - } + nodes = appendUint32s(nodes, 0, 0, 0, 0, 0, 0) nodeCount++ parentIndex++ - if nodes, err = appendUint32s(nodes, uint32(sourceFile.Kind), uint32(sourceFile.Pos()), uint32(sourceFile.End()), 0, 0, 0); err != nil { - return nil, err - } + nodes = appendUint32s(nodes, uint32(sourceFile.Kind), uint32(sourceFile.Pos()), uint32(sourceFile.End()), 0, 0, 0) visitor.VisitEachChild(sourceFile.AsNode()) - if err != nil { - return nil, err - } + metadata := uint32(ProtocolVersion) << 24 offsetStringTableOffsets := HeaderSize offsetStringTableData := HeaderSize + len(strs.offsets)*4 - offsetNodes := offsetStringTableData + strs.stringLength() - offsetExtendedDataOffsets := 0 - offsetExtendedDataData := 0 + offsetExtendedData := offsetStringTableData + strs.stringLength() + offsetNodes := offsetExtendedData + len(extendedData) header := []uint32{ - 0, + metadata, uint32(offsetStringTableOffsets), uint32(offsetStringTableData), - uint32(offsetExtendedDataOffsets), - uint32(offsetExtendedDataData), + uint32(offsetExtendedData), uint32(offsetNodes), } var headerBytes, strsBytes []byte - if headerBytes, err = appendUint32s(nil, header...); err != nil { - return nil, err - } - if strsBytes, err = strs.encode(); err != nil { - return nil, err - } + headerBytes = appendUint32s(nil, header...) + strsBytes = strs.encode() return slices.Concat( headerBytes, strsBytes, + extendedData, nodes, ), nil } -func appendUint32s(buf []byte, values ...uint32) ([]byte, error) { +func appendUint32s(buf []byte, values ...uint32) []byte { for _, value := range values { var err error if buf, err = binary.Append(buf, binary.LittleEndian, value); err != nil { - return nil, err + // The only error binary.Append can return is for values that are not fixed-size. + // This can never happen here, since we are always appending uint32. + panic(fmt.Sprintf("failed to append uint32: %v", err)) } } - return buf, nil + return buf } -func getNodeData(node *ast.Node, strs *stringTable) uint32 { +func getNodeData(node *ast.Node, strs *stringTable, extendedData *[]byte) uint32 { t := getNodeDataType(node) switch t { case NodeDataTypeChildren: return t | getNodeDefinedData(node) | uint32(getChildrenPropertyMask(node)) - case NodeDataTypeStringIndex: + case NodeDataTypeString: return t | getNodeDefinedData(node) | recordNodeStrings(node, strs) - case NodeDataTypeExtendedDataIndex: - return t | getNodeDefinedData(node) /* | TODO */ + case NodeDataTypeExtendedData: + return t | getNodeDefinedData(node) | recordExtendedData(node, strs, extendedData) default: panic("unreachable") } @@ -200,11 +188,11 @@ func getNodeDataType(node *ast.Node) uint32 { ast.KindRegularExpressionLiteral, ast.KindNoSubstitutionTemplateLiteral, ast.KindJSDocText: - return NodeDataTypeStringIndex + return NodeDataTypeString case ast.KindTemplateHead, ast.KindTemplateMiddle, ast.KindTemplateTail: - return NodeDataTypeExtendedDataIndex + return NodeDataTypeExtendedData default: return NodeDataTypeChildren } @@ -558,9 +546,6 @@ func getNodeDefinedData(node *ast.Node) uint32 { case ast.KindImportType: n := node.AsImportTypeNode() return uint32(boolToByte(n.IsTypeOf)) << 24 - case ast.KindBlock: - n := node.AsBlock() - return uint32(boolToByte(n.Multiline)) << 24 case ast.KindImportEqualsDeclaration: n := node.AsImportEqualsDeclaration() return uint32(boolToByte(n.IsTypeOnly)) << 24 @@ -570,6 +555,9 @@ func getNodeDefinedData(node *ast.Node) uint32 { case ast.KindExportDeclaration: n := node.AsExportDeclaration() return uint32(boolToByte(n.IsTypeOnly)) << 24 + case ast.KindBlock: + n := node.AsBlock() + return uint32(boolToByte(n.Multiline)) << 24 case ast.KindArrayLiteralExpression: n := node.AsArrayLiteralExpression() return uint32(boolToByte(n.MultiLine)) << 24 @@ -620,6 +608,33 @@ func recordNodeStrings(node *ast.Node, strs *stringTable) uint32 { } } +func recordExtendedData(node *ast.Node, strs *stringTable, extendedData *[]byte) uint32 { + offset := uint32(len(*extendedData)) + var text, rawText string + var templateFlags uint32 + switch node.Kind { + case ast.KindTemplateTail: + n := node.AsTemplateTail() + text = n.Text + rawText = n.RawText + templateFlags = uint32(n.TemplateFlags) + case ast.KindTemplateMiddle: + n := node.AsTemplateMiddle() + text = n.Text + rawText = n.RawText + templateFlags = uint32(n.TemplateFlags) + case ast.KindTemplateHead: + n := node.AsTemplateHead() + text = n.Text + rawText = n.RawText + templateFlags = uint32(n.TemplateFlags) + } + textIndex := strs.add(text, node.Kind, node.Pos(), node.End()) + rawTextIndex := strs.add(rawText, node.Kind, node.Pos(), node.End()) + *extendedData = appendUint32s(*extendedData, textIndex, rawTextIndex, templateFlags) + return offset +} + func boolToByte(b bool) byte { if b { return 1 diff --git a/internal/api/encoder/encoder_test.go b/internal/api/encoder/encoder_test.go index 849092fa4a..d2955bd526 100644 --- a/internal/api/encoder/encoder_test.go +++ b/internal/api/encoder/encoder_test.go @@ -60,8 +60,8 @@ func formatEncodedSourceFile(encoded []byte) string { var result strings.Builder var getIndent func(parentIndex uint32) string offsetNodes := readUint32(encoded, encoder.HeaderOffsetNodes) - offsetStringOffsets := readUint32(encoded, encoder.HeaderOffsetStringTableOffsets) - offsetStrings := readUint32(encoded, encoder.HeaderOffsetStringTable) + offsetStringOffsets := readUint32(encoded, encoder.HeaderOffsetStringOffsets) + offsetStrings := readUint32(encoded, encoder.HeaderOffsetStringData) getIndent = func(parentIndex uint32) string { if parentIndex == 0 { return "" diff --git a/internal/api/encoder/stringtable.go b/internal/api/encoder/stringtable.go index 9873fae36d..8c9bc126b5 100644 --- a/internal/api/encoder/stringtable.go +++ b/internal/api/encoder/stringtable.go @@ -46,14 +46,12 @@ func (t *stringTable) add(text string, kind ast.Kind, pos int, end int) uint32 { return uint32(index) } -func (t *stringTable) encode() (result []byte, err error) { - result = make([]byte, 0, t.encodedLength()) - if result, err = appendUint32s(result, t.offsets...); err != nil { - return nil, err - } +func (t *stringTable) encode() []byte { + result := make([]byte, 0, t.encodedLength()) + result = appendUint32s(result, t.offsets...) result = append(result, t.fileText...) result = append(result, t.otherStrings.String()...) - return result, nil + return result } func (t *stringTable) stringLength() int { From e454aeb113611c49d3066246cca1f2d726fb305d Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 20 Mar 2025 16:56:00 -0700 Subject: [PATCH 22/63] Document binary encoding --- internal/api/encoder/encoder.go | 164 +++++++++++++++++++++++++++++++- 1 file changed, 163 insertions(+), 1 deletion(-) diff --git a/internal/api/encoder/encoder.go b/internal/api/encoder/encoder.go index 43025ceb12..754289972d 100644 --- a/internal/api/encoder/encoder.go +++ b/internal/api/encoder/encoder.go @@ -48,7 +48,169 @@ const ( ProtocolVersion uint8 = 1 ) -// EncodeSourceFile encodes a source file into a byte slice. The protocol +// Source File Binary Format +// ========================= +// +// The following defines a protocol for serializing TypeScript SourceFile objects to a compact binary format. All integer +// values are little-endian. +// +// Overview +// -------- +// +// The format comprises six sections: +// +// | Section | Length | Description | +// | ------------------ | ------------------ | ---------------------------------------------------------------------------------------- | +// | Header | 20 bytes | Contains byte offsets to the start of each section. | +// | String offsets | 8 bytes per string | Pairs of starting byte offsets and ending byte offsets into the **string data** section. | +// | String data | variable | UTF-8 encoded string data. | +// | Extended node data | variable | Extra data for some kinds of nodes. | +// | Nodes | 24 bytes per node | Defines the AST structure of the file, with references to strings and extended data. | +// +// Header (20 bytes) +// ----------------- +// +// The header contains the following fields: +// +// | Byte offset | Type | Field | +// | ----------- | ------ | ----------------------------------------- | +// | 0 | uint8 | Protocol version | +// | 1-4 | | Reserved | +// | 4-8 | uint32 | Byte offset to string offsets section | +// | 8-12 | uint32 | Byte offset to string data section | +// | 12-16 | uint32 | Byte offset to extended node data section | +// | 16-20 | uint32 | Byte offset to nodes section | +// +// String offsets (8 bytes per string) +// ----------------------------------- +// +// Each string offset entry consists of two 4-byte unsigned integers, representing the start and end byte offsets into the +// **string data** section. +// +// String data (variable) +// ---------------------- +// +// The string data section contains UTF-8 encoded string data. In typical cases, the entirety of the string data is the +// source file text, and individual nodes with string properties reference their positional slice of the file text. In +// cases where a node's string property is not equal to the slice of file text at its position, the unique string is +// appended to the string data section after the file text. +// +// Extended node data (variable) +// ----------------------------- +// +// The extended node data section contains additional data for specific node types. The length and meaning of each entry +// is defined by the node type. +// +// Currently, the only node types that use this section are `TemplateHead`, `TemplateMiddle`, and `TemplateTail`. The +// extended data format for these nodes is: +// +// | Byte offset | Type | Field | +// | ----------- | ------ | ------------------------------------------------ | +// | 0-4 | uint32 | Index of `text` in the string offsets section | +// | 4-8 | uint32 | Index of `rawText` in the string offsets section | +// | 8-12 | uint32 | Value of `templateFlags` | +// +// Nodes (24 bytes per node) +// ------------------------- +// +// The nodes section contains the AST structure of the file. Nodes are represented in a flat array in source order, +// heavily inspired by https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-11/. Each node has the following +// structure: +// +// | Byte offset | Type | Field | +// | ----------- | ------ | -------------------------- | +// | 0-4 | uint32 | Kind | +// | 4-8 | uint32 | Pos | +// | 8-12 | uint32 | End | +// | 12-16 | uint32 | Node index of next sibling | +// | 16-20 | uint32 | Node index of parent | +// | 20-24 | | Node data | +// +// The first 24 bytes of the nodes section are zeros representing a nil node, such that nodes without a parent or next +// sibling can unambiuously use `0` for those indices. +// +// NodeLists are represented as normal nodes with the special `kind` value `0xff_ff_ff_ff`. They are considered the parent +// of their contents in the encoded format. A client reconstructing an AST similar to TypeScript's internal representation +// should instead set the `parent` pointers of a NodeList's children to the NodeList's parent. A NodeList's `data` field +// is the uint32 length of the list, and does not use one of the data types described below. +// +// For node types other than NodeList, the node data field encodes one of the following, determined by the first 2 bits of +// the field: +// +// | Value | Data type | Description | +// | ----- | --------- | ------------------------------------------------------------------------------------ | +// | 0b00 | Children | Disambiguates which named properties of the node its children should be assigned to. | +// | 0b01 | String | The index of the node's string property in the **string offsets** section. | +// | 0b10 | Extended | The byte offset of the node's extended data into the **extended node data** section. | +// | 0b11 | Reserved | Reserved for future use. | +// +// In all node data types, the remaining 6 bits of the first byte are used to encode booleans specific to the node type: +// +// | Node type | Bit 1 | Bit 0 | +// | ------------------------- | ------------- | ------------------------------- | +// | `ImportSpecifier` | | `isTypeOnly` | +// | `ImportClause` | | `isTypeOnly` | +// | `ExportSpecifier` | | `isTypeOnly` | +// | `ImportEqualsDeclaration` | | `isTypeOnly` | +// | `ExportDeclaration` | | `isTypeOnly` | +// | `ImportTypeNode` | | `isTypeOf` | +// | `ExportAssignment` | | `isExportEquals` | +// | `Block` | | `multiline` | +// | `ArrayLiteralExpression` | | `multiline` | +// | `ObjectLiteralExpression` | | `multiline` | +// | `JsxText` | | `containsOnlyTriviaWhiteSpaces` | +// | `JSDocTypeLiteral` | | `isArrayType` | +// | `JsDocPropertyTag` | `isNameFirst` | `isBracketed` | +// | `JsDocParameterTag` | `isNameFirst` | `isBracketed` | +// | `VariableDeclarationList` | is `const` | is `let` | +// | `ImportAttributes` | is `assert` | `multiline` | +// +// The remaining 3 bytes of the node data field vary by data type: +// +// ### Children (0b00) +// +// If a node has fewer children than its type allows, additional data is needed to determine which properties the children +// correspond to. The last byte of the 4-byte data field is a bitmask representing the child properties of the node type, +// in visitor order, where `1` indicates that the child at that property is present and `0` indicates that the property is +// nil. For example, a `MethodDeclaration` has the following child properties: +// +// | Property name | Bit position | +// | -------------- | ------------ | +// | modifiers | 0 | +// | asteriskToken | 1 | +// | name | 2 | +// | postfixToken | 3 | +// | typeParameters | 4 | +// | parameters | 5 | +// | returnType | 6 | +// | body | 7 | +// +// A bitmask with value `0b01100101` would indicate that the next four direct descendants (i.e., node records that have a +// `parent` set to the node index of the `MethodDeclaration`) of the node are its `modifiers`, `name`, `parameters`, and +// `body` properties, in that order. The remaining properties are nil. (To reconstruct the node with named properties, the +// client must consult a static table of each node type's child property names.) +// +// The bitmask may be zero for node types that can only have a single child, since no disambiguation is needed. +// Additionally, the children data type may be used for nodes that can never have children, but do not require other +// data types. +// +// ### String (0b01) +// +// The string data type is used for nodes with a single string property. (Currently, the name of that property is always +// `text`.) The last three bytes of the 4-byte data field form a single 24-bit unsigned integer (i.e., +// `uint32(0x00_ff_ff_ff & node.data)`) _N_ that is an index into the **string offsets** section. The *N*th 32-bit +// unsigned integer in the **string offsets** section is the byte offset of the start of the string in the **string data** +// section, and the *N+1*th 32-bit unsigned integer is the byte offset of the end of the string in the +// **string data** section. +// +// ### Extended (0b10) +// +// The extended data type is used for nodes with properties that don't fit into either the children or string data types. +// The last three bytes of the 4-byte data field form a single 24-bit unsigned integer (i.e., +// `uint32(0x00_ff_ff_ff & node.data)`) _N_ that is a byte offset into the **extended node data** section. The length and +// meaning of the data at that offset is defined by the node type. See the **Extended node data** section for details on +// the format of the extended data for specific node types. + func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { var parentIndex, nodeCount, prevIndex uint32 var extendedData []byte From 9602b079cc3a43df3cf79aeed2354ef4f9eb3736 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Fri, 21 Mar 2025 13:58:40 -0700 Subject: [PATCH 23/63] Include Strada for comparison in benchmarks --- _packages/api/bench/api.bench.ts | 59 +++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 5 deletions(-) diff --git a/_packages/api/bench/api.bench.ts b/_packages/api/bench/api.bench.ts index 44826f2575..58821021b9 100644 --- a/_packages/api/bench/api.bench.ts +++ b/_packages/api/bench/api.bench.ts @@ -14,20 +14,25 @@ import { import fs from "node:fs"; import path from "node:path"; import { Bench } from "tinybench"; +import ts from "typescript"; const bench = new Bench({ name: "Sync API", teardown: () => { - api.close(); + api?.close(); api = undefined!; project = undefined!; file = undefined!; + tsProgram = undefined!; + tsFile = undefined!; }, }); let api: API; let project: Project; +let tsProgram: ts.Program; let file: SourceFile; +let tsFile: ts.SourceFile; const SMALL_STRING = "ping"; const LARGE_STRING = "a".repeat(1_000_000); @@ -56,6 +61,9 @@ bench .add("load project (client FS)", () => { loadProject(); }, { beforeAll: spawnAPIHosted }) + .add("TS - load project", () => { + tsCreateProgram(); + }) .add("transfer debug.ts", () => { getDebugTS(); }, { beforeAll: all(spawnAPI, loadProject) }) @@ -77,7 +85,13 @@ bench }, { beforeAll: all(spawnAPI, loadProject, getCheckerTS) }) .add("getSymbolAtPosition - one location", () => { project.getSymbolAtPosition("program.ts", 8895); - }, { beforeAll: all(spawnAPI, loadProject) }) + }, { beforeAll: all(spawnAPI, loadProject, createChecker) }) + .add("TS - getSymbolAtPosition - one location", () => { + tsProgram.getTypeChecker().getSymbolAtLocation( + // @ts-ignore internal API + ts.getTokenAtPosition(tsFile, 8895), + ); + }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }) .add("getSymbolAtPosition - all identifiers", () => { file.forEachChild(function visit(node) { if (node.kind === SyntaxKind.Identifier) { @@ -85,7 +99,7 @@ bench } node.forEachChild(visit); }); - }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) .add("getSymbolAtPosition - all identifiers (batched)", () => { const positions: GetSymbolAtPositionParams[] = []; file.forEachChild(function visit(node) { @@ -95,7 +109,7 @@ bench node.forEachChild(visit); }); project.getSymbolAtPosition(positions); - }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) .add("getSymbolAtPosition - all identifiers (batched 2)", () => { const positions: number[] = []; file.forEachChild(function visit(node) { @@ -105,7 +119,16 @@ bench node.forEachChild(visit); }); project.getSymbolAtPosition("program.ts", positions); - }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add("TS - getSymbolAtPosition - all identifiers", () => { + const checker = tsProgram.getTypeChecker(); + tsFile.forEachChild(function visit(node) { + if (node.kind === ts.SyntaxKind.Identifier) { + checker.getSymbolAtLocation(node); + } + node.forEachChild(visit); + }); + }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }); await bench.run(); console.table(bench.table()); @@ -129,6 +152,28 @@ function loadProject() { project = api.loadProject("_submodules/TypeScript/src/compiler/tsconfig.json"); } +function tsCreateProgram() { + const configFileName = new URL("../../../_submodules/TypeScript/src/compiler/tsconfig.json", import.meta.url).pathname; + const configFile = ts.readConfigFile(configFileName, ts.sys.readFile); + const parsedCommandLine = ts.parseJsonConfigFileContent(configFile.config, ts.sys, path.dirname(configFileName)); + const host = ts.createCompilerHost(parsedCommandLine.options); + tsProgram = ts.createProgram({ + rootNames: parsedCommandLine.fileNames, + options: parsedCommandLine.options, + host, + }); +} + +function createChecker() { + // checker is created lazily, for measuring symbol time in a loop + // we need to create it first. + project.getSymbolAtPosition("core.ts", 0); +} + +function tsCreateChecker() { + tsProgram.getTypeChecker(); +} + function getDebugTS() { file = project.getSourceFile("debug.ts")!; } @@ -137,6 +182,10 @@ function getProgramTS() { file = project.getSourceFile("program.ts")!; } +function tsGetProgramTS() { + tsFile = tsProgram.getSourceFile(new URL("../../../_submodules/TypeScript/src/compiler/program.ts", import.meta.url).pathname)!; +} + function getCheckerTS() { file = project.getSourceFile("checker.ts")!; } From 9c9c255c4dc3d16ca8984e4a0b8c21f80518bf55 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 24 Mar 2025 10:49:49 -0700 Subject: [PATCH 24/63] Support client-side object equality --- _packages/api/src/api.ts | 26 +++++-- _packages/api/src/objectRegistry.ts | 110 ++++++++++++++++++++++++++++ _packages/api/src/proto.ts | 6 +- _packages/api/test/api.test.ts | 50 +++++++------ internal/api/api.go | 35 +++++---- internal/api/proto.go | 55 ++++++++------ internal/ast/symbol.go | 2 +- internal/ast/utilities.go | 6 +- internal/checker/types.go | 4 + 9 files changed, 218 insertions(+), 76 deletions(-) create mode 100644 _packages/api/src/objectRegistry.ts diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index c49ddb8350..76ff91ea3a 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -3,6 +3,7 @@ import type { SourceFile } from "@typescript/ast"; import { Client } from "./client.ts"; import type { FileSystem } from "./fs.ts"; import { RemoteSourceFile } from "./node.ts"; +import { ObjectRegistry } from "./objectRegistry.ts"; import type { ConfigResponse, GetSymbolAtPositionParams, @@ -22,8 +23,10 @@ export interface APIOptions { export class API { private client: Client; + private objectRegistry: ObjectRegistry; constructor(options: APIOptions) { this.client = new Client(options); + this.objectRegistry = new ObjectRegistry(this.client); } parseConfigFile(fileName: string): ConfigResponse { @@ -32,7 +35,7 @@ export class API { loadProject(configFileName: string): Project { const data = this.client.request("loadProject", { configFileName }); - return new Project(this.client, data); + return this.objectRegistry.getProject(data); } echo(message: string): string { @@ -51,15 +54,17 @@ export class API { export class Project { private decoder = new TextDecoder(); private client: Client; + private objectRegistry: ObjectRegistry; - id: number; + id: string; configFileName!: string; compilerOptions!: Record; rootFiles!: readonly string[]; - constructor(client: Client, data: ProjectResponse) { + constructor(client: Client, objectRegistry: ObjectRegistry, data: ProjectResponse) { this.id = data.id; this.client = client; + this.objectRegistry = objectRegistry; this.loadData(data); } @@ -84,19 +89,24 @@ export class Project { if (params.length === 2) { if (typeof params[1] === "number") { const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); - return data ? new Symbol(this.client, data) : undefined; + return data ? this.objectRegistry.getSymbol(data) : undefined; } const data = this.client.request("getSymbolAtPositions", { project: this.id, fileName: params[0], positions: params[1] }); - return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, d) : undefined); + return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); } const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); - return data.map((d: SymbolResponse | null) => d ? new Symbol(this.client, d) : undefined); + return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); + } + + getTypeOfSymbol(symbol: Symbol): Type | undefined { + const data = this.client.request("getTypeOfSymbol", { project: this.id, symbolId: symbol.id }); + return data ? this.objectRegistry.getType(data) : undefined; } } export class Symbol { private client: Client; - private id: number; + id: string; name: string; flags: SymbolFlags; checkFlags: number; @@ -112,7 +122,7 @@ export class Symbol { export class Type { private client: Client; - private id: number; + id: string; flags: number; constructor(client: Client, data: TypeResponse) { this.client = client; diff --git a/_packages/api/src/objectRegistry.ts b/_packages/api/src/objectRegistry.ts new file mode 100644 index 0000000000..d236b1688a --- /dev/null +++ b/_packages/api/src/objectRegistry.ts @@ -0,0 +1,110 @@ +import { + Project, + Symbol, + Type, +} from "./api.ts"; +import type { Client } from "./client.ts"; +import type { + ProjectResponse, + SymbolResponse, + TypeResponse, +} from "./proto.ts"; + +export class ObjectRegistry { + private client: Client; + private projects: Map> = new Map(); + private symbols: Map> = new Map(); + private types: Map> = new Map(); + + private pendingReleases: Set = new Set(); + + private finalizationRegistry = new FinalizationRegistry((handle: string) => { + this.pendingReleases.add(handle); + queueMicrotask(() => { + this.releaseObjects(); + }); + + switch (handle[0]) { + case "p": + this.projects.delete(handle); + break; + case "s": + this.symbols.delete(handle); + break; + case "t": + this.types.delete(handle); + break; + default: + throw new Error(`Unknown handle type: ${handle[0]}`); + } + }); + + constructor(client: Client) { + this.client = client; + } + + private releaseObjects() { + this.client.request("release", Array.from(this.pendingReleases)); + this.pendingReleases.clear(); + } + + getProject(data: ProjectResponse): Project { + const projectRef = this.projects.get(data.id); + let project = projectRef?.deref(); + if (project) { + return project; + } + + project = new Project(this.client, this, data); + this.projects.set(data.id, new WeakRef(project)); + this.finalizationRegistry.register(project, data.id, project); + return project; + } + + getSymbol(data: SymbolResponse): Symbol { + const symbolRef = this.symbols.get(data.id); + let symbol = symbolRef?.deref(); + if (symbol) { + return symbol; + } + + symbol = new Symbol(this.client, data); + this.symbols.set(data.id, new WeakRef(symbol)); + this.finalizationRegistry.register(symbol, data.id, symbol); + return symbol; + } + + getType(data: TypeResponse): Type { + const typeRef = this.types.get(data.id); + let type = typeRef?.deref(); + if (type) { + return type; + } + + type = new Type(this.client, data); + this.types.set(data.id, new WeakRef(type)); + this.finalizationRegistry.register(type, data.id, type); + return type; + } + + releaseProject(project: Project): void { + this.finalizationRegistry.unregister(project); + this.pendingReleases.delete(project.id); + this.projects.delete(project.id); + this.client.request("release", project.id); + } + + releaseSymbol(symbol: Symbol): void { + this.finalizationRegistry.unregister(symbol); + this.pendingReleases.delete(symbol.id); + this.symbols.delete(symbol.id); + this.client.request("release", symbol.id); + } + + releaseType(type: Type): void { + this.finalizationRegistry.unregister(type); + this.pendingReleases.delete(type.id); + this.types.delete(type.id); + this.client.request("release", type.id); + } +} diff --git a/_packages/api/src/proto.ts b/_packages/api/src/proto.ts index 1a45078bbb..5879f916cb 100644 --- a/_packages/api/src/proto.ts +++ b/_packages/api/src/proto.ts @@ -4,7 +4,7 @@ export interface ConfigResponse { } export interface ProjectResponse { - id: number; + id: string; configFileName: string; compilerOptions: Record; rootFiles: string[]; @@ -16,13 +16,13 @@ export interface GetSymbolAtPositionParams { } export interface SymbolResponse { - id: number; + id: string; name: string; flags: number; checkFlags: number; } export interface TypeResponse { - id: number; + id: string; flags: number; } diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index 59e305f5de..ff7868710e 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -11,38 +11,24 @@ import { test, } from "node:test"; +const defaultFiles = { + "/tsconfig.json": "{}", + "/src/index.ts": `import { foo } from './foo';`, + "/src/foo.ts": `export const foo = 42;`, +}; + describe("SourceFile", () => { test("file text", () => { - const files = { - "/tsconfig.json": "{}", - "/src/index.ts": `import { foo } from './foo';`, - }; - - const api = new API({ - cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, - fs: createVirtualFileSystem(files), - }); - + const api = spawnAPI(); const project = api.loadProject("/tsconfig.json"); const sourceFile = project.getSourceFile("/src/index.ts"); assert.ok(sourceFile); - assert.equal(sourceFile.text, files["/src/index.ts"]); + assert.equal(sourceFile.text, defaultFiles["/src/index.ts"]); }); test("extended data", () => { - const files = { - "/tsconfig.json": "{}", - "/src/index.ts": "`head ${middle} tail`", - }; - - const api = new API({ - cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, - fs: createVirtualFileSystem(files), - }); - + const api = spawnAPI(); const project = api.loadProject("/tsconfig.json"); const sourceFile = project.getSourceFile("/src/index.ts"); @@ -70,3 +56,21 @@ describe("SourceFile", () => { assert.equal(nodeCount, 7); }); }); + +test("Object equality", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + assert.strictEqual(project, api.loadProject("/tsconfig.json")); + assert.strictEqual( + project.getSymbolAtPosition("/src/index.ts", 9), + project.getSymbolAtPosition("/src/index.ts", 10), + ); +}); + +function spawnAPI(files: Record = defaultFiles) { + return new API({ + cwd: new URL("../../../", import.meta.url).pathname, + tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + fs: createVirtualFileSystem(files), + }); +} diff --git a/internal/api/api.go b/internal/api/api.go index fb6489ab90..2f6cdaa8a0 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -28,7 +28,7 @@ type API struct { scriptInfosMu sync.RWMutex scriptInfos map[tspath.Path]*project.ScriptInfo - projects []*project.Project + projects map[Handle[project.Project]]*project.Project symbolsMu sync.Mutex symbols map[Handle[ast.Symbol]]*ast.Symbol } @@ -44,6 +44,7 @@ func NewAPI(host APIHost, options APIOptions) *API { CurrentDirectory: host.GetCurrentDirectory(), }), scriptInfos: make(map[tspath.Path]*project.ScriptInfo), + projects: make(map[Handle[project.Project]]*project.Project), symbols: make(map[Handle[ast.Symbol]]*ast.Symbol), } } @@ -160,21 +161,21 @@ func (api *API) ParseConfigFile(configFileName string) (*tsoptions.ParsedCommand func (api *API) LoadProject(configFileName string) (*ProjectResponse, error) { configFileName = api.toAbsoluteFileName(configFileName) configFilePath := api.toPath(configFileName) - project := project.NewConfiguredProject(configFileName, configFilePath, api) - if err := project.LoadConfig(); err != nil { + p := project.NewConfiguredProject(configFileName, configFilePath, api) + if err := p.LoadConfig(); err != nil { return nil, err } - project.GetProgram() - id := len(api.projects) - api.projects = append(api.projects, project) - return NewProjectResponse(project, id), nil + p.GetProgram() + data := NewProjectResponse(p) + api.projects[data.Id] = p + return data, nil } -func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int) (*SymbolResponse, error) { - if projectId >= len(api.projects) { +func (api *API) GetSymbolAtPosition(projectId Handle[project.Project], fileName string, position int) (*SymbolResponse, error) { + project, ok := api.projects[projectId] + if !ok { return nil, errors.New("project not found") } - project := api.projects[projectId] symbol, err := project.LanguageService().GetSymbolAtPosition(fileName, position) if err != nil || symbol == nil { return nil, err @@ -186,11 +187,13 @@ func (api *API) GetSymbolAtPosition(projectId int, fileName string, position int return data, nil } -func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) (*TypeResponse, error) { - if projectId >= len(api.projects) { +func (api *API) GetTypeOfSymbol(projectId Handle[project.Project], symbolHandle Handle[ast.Symbol]) (*TypeResponse, error) { + project, ok := api.projects[projectId] + if !ok { return nil, errors.New("project not found") } - project := api.projects[projectId] + api.symbolsMu.Lock() + defer api.symbolsMu.Unlock() symbol, ok := api.symbols[symbolHandle] if !ok { return nil, fmt.Errorf("symbol %q not found", symbolHandle) @@ -202,11 +205,11 @@ func (api *API) GetTypeOfSymbol(projectId int, symbolHandle Handle[ast.Symbol]) return NewTypeData(t), nil } -func (api *API) GetSourceFile(projectId int, fileName string) (*ast.SourceFile, error) { - if projectId >= len(api.projects) { +func (api *API) GetSourceFile(projectId Handle[project.Project], fileName string) (*ast.SourceFile, error) { + project, ok := api.projects[projectId] + if !ok { return nil, errors.New("project not found") } - project := api.projects[projectId] sourceFile := project.GetProgram().GetSourceFile(fileName) if sourceFile == nil { return nil, fmt.Errorf("source file %q not found", fileName) diff --git a/internal/api/proto.go b/internal/api/proto.go index aecf5d3491..dcf7a13a94 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -4,7 +4,6 @@ import ( "encoding/json" "errors" "fmt" - "unsafe" "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/checker" @@ -19,10 +18,22 @@ var ( type Method string -type Handle[T any] uint32 +type Handle[T any] string -func NewHandle[T any](v *T) Handle[T] { - return Handle[T](uintptr(unsafe.Pointer(v))) +func ProjectHandle(p *project.Project) Handle[project.Project] { + return createHandle[project.Project]("p", p.Name()) +} + +func SymbolHandle(symbol *ast.Symbol) Handle[ast.Symbol] { + return createHandle[ast.Symbol]("s", symbol.Id.Load()) +} + +func TypeHandle(t *checker.Type) Handle[checker.Type] { + return createHandle[checker.Type]("t", t.Id()) +} + +func createHandle[T any](prefix string, id any) Handle[T] { + return Handle[T](fmt.Sprintf("%s%016x", prefix, id)) } const ( @@ -58,15 +69,15 @@ type LoadProjectParams struct { } type ProjectResponse struct { - Id int `json:"id"` - ConfigFileName string `json:"configFileName"` - RootFiles []string `json:"rootFiles"` - CompilerOptions *core.CompilerOptions `json:"compilerOptions"` + Id Handle[project.Project] `json:"id"` + ConfigFileName string `json:"configFileName"` + RootFiles []string `json:"rootFiles"` + CompilerOptions *core.CompilerOptions `json:"compilerOptions"` } -func NewProjectResponse(project *project.Project, id int) *ProjectResponse { +func NewProjectResponse(project *project.Project) *ProjectResponse { return &ProjectResponse{ - Id: id, + Id: ProjectHandle(project), ConfigFileName: project.Name(), RootFiles: project.GetRootFileNames(), CompilerOptions: project.GetCompilerOptions(), @@ -74,15 +85,15 @@ func NewProjectResponse(project *project.Project, id int) *ProjectResponse { } type GetSymbolAtPositionParams struct { - Project int `json:"project"` - FileName string `json:"fileName"` - Position uint32 `json:"position"` + Project Handle[project.Project] `json:"project"` + FileName string `json:"fileName"` + Position uint32 `json:"position"` } type GetSymbolAtPositionsParams struct { - Project int `json:"project"` - FileName string `json:"fileName"` - Positions []uint32 `json:"positions"` + Project Handle[project.Project] `json:"project"` + FileName string `json:"fileName"` + Positions []uint32 `json:"positions"` } type SymbolResponse struct { @@ -94,7 +105,7 @@ type SymbolResponse struct { func NewSymbolResponse(symbol *ast.Symbol, projectVersion int) *SymbolResponse { return &SymbolResponse{ - Id: NewHandle(symbol), + Id: SymbolHandle(symbol), Name: symbol.Name, Flags: uint32(symbol.Flags), CheckFlags: uint32(symbol.CheckFlags), @@ -102,8 +113,8 @@ func NewSymbolResponse(symbol *ast.Symbol, projectVersion int) *SymbolResponse { } type GetTypeOfSymbolParams struct { - Project int `json:"project"` - Symbol Handle[ast.Symbol] `json:"symbol"` + Project Handle[project.Project] `json:"project"` + Symbol Handle[ast.Symbol] `json:"symbol"` } type TypeResponse struct { @@ -113,14 +124,14 @@ type TypeResponse struct { func NewTypeData(t *checker.Type) *TypeResponse { return &TypeResponse{ - Id: NewHandle(t), + Id: TypeHandle(t), Flags: uint32(t.Flags()), } } type GetSourceFileParams struct { - Project int `json:"project"` - FileName string `json:"fileName"` + Project Handle[project.Project] `json:"project"` + FileName string `json:"fileName"` } func unmarshalPayload(method string, payload json.RawMessage) (any, error) { diff --git a/internal/ast/symbol.go b/internal/ast/symbol.go index 92e9412cd9..ca4872d4d7 100644 --- a/internal/ast/symbol.go +++ b/internal/ast/symbol.go @@ -16,7 +16,7 @@ type Symbol struct { ValueDeclaration *Node Members SymbolTable Exports SymbolTable - id atomic.Uint64 + Id atomic.Uint64 Parent *Symbol ExportSymbol *Symbol AssignmentDeclarationMembers core.Set[*Node] // Set of detected assignment declarations diff --git a/internal/ast/utilities.go b/internal/ast/utilities.go index 73aa3a25c4..cde42acbd8 100644 --- a/internal/ast/utilities.go +++ b/internal/ast/utilities.go @@ -30,12 +30,12 @@ func GetNodeId(node *Node) NodeId { } func GetSymbolId(symbol *Symbol) SymbolId { - id := symbol.id.Load() + id := symbol.Id.Load() if id == 0 { // Worst case, we burn a few ids if we have to CAS. id = nextSymbolId.Add(1) - if !symbol.id.CompareAndSwap(0, id) { - id = symbol.id.Load() + if !symbol.Id.CompareAndSwap(0, id) { + id = symbol.Id.Load() } } return SymbolId(id) diff --git a/internal/checker/types.go b/internal/checker/types.go index b122a0340c..9c84e16ef0 100644 --- a/internal/checker/types.go +++ b/internal/checker/types.go @@ -531,6 +531,10 @@ type Type struct { data TypeData // Type specific data } +func (t *Type) Id() TypeId { + return t.id +} + func (t *Type) Flags() TypeFlags { return t.flags } From e60c60f0545fe72ce8cbfb0082a72f3c684aef90 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 24 Mar 2025 11:56:34 -0700 Subject: [PATCH 25/63] Add tests to hereby/CI --- Herebyfile.mjs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Herebyfile.mjs b/Herebyfile.mjs index 4f2d7a098e..926ad2557b 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -245,11 +245,21 @@ async function runTestTools() { await $test({ cwd: path.join(__dirname, "_tools") })`${gotestsum()} ./...`; } +async function runTestJS() { + await $`pnpm --filter ./_packages/* test`; +} + export const testTools = task({ name: "test:tools", run: runTestTools, }); +export const testJS = task({ + name: "test:js", + dependencies: [tsgo], + run: runTestJS, +}); + export const testAll = task({ name: "test:all", run: async () => { @@ -257,6 +267,7 @@ export const testAll = task({ await runTests(); await runTestBenchmarks(); await runTestTools(); + await runTestJS(); }, }); From 7a8005ce962e35d75e51024976e1831a633f803b Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 24 Mar 2025 13:19:30 -0700 Subject: [PATCH 26/63] Delete unused TextLength tracking --- internal/ast/ast.go | 24 ++---------------------- internal/parser/parser.go | 1 - 2 files changed, 2 insertions(+), 23 deletions(-) diff --git a/internal/ast/ast.go b/internal/ast/ast.go index a7e165824a..78af57ca7f 100644 --- a/internal/ast/ast.go +++ b/internal/ast/ast.go @@ -73,9 +73,8 @@ type NodeFactory struct { variableDeclarationPool core.Pool[VariableDeclaration] variableStatementPool core.Pool[VariableStatement] - nodeCount int - textLength int - textCount int + nodeCount int + textCount int } type NodeFactoryHooks struct { @@ -108,10 +107,6 @@ func (f *NodeFactory) NodeCount() int { return f.nodeCount } -func (f *NodeFactory) TextLength() int { - return f.textLength -} - func (f *NodeFactory) TextCount() int { return f.textCount } @@ -1796,7 +1791,6 @@ func (f *NodeFactory) NewIdentifier(text string) *Node { data := f.identifierPool.New() data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindIdentifier, data) } @@ -1819,7 +1813,6 @@ func (f *NodeFactory) NewPrivateIdentifier(text string) *Node { data := &PrivateIdentifier{} data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindPrivateIdentifier, data) } @@ -4620,7 +4613,6 @@ func (f *NodeFactory) NewStringLiteral(text string) *Node { data := f.stringLiteralPool.New() data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindStringLiteral, data) } @@ -4643,7 +4635,6 @@ func (f *NodeFactory) NewNumericLiteral(text string) *Node { data := &NumericLiteral{} data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindNumericLiteral, data) } @@ -4666,7 +4657,6 @@ func (f *NodeFactory) NewBigIntLiteral(text string) *Node { data := &BigIntLiteral{} data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindBigIntLiteral, data) } @@ -4689,7 +4679,6 @@ func (f *NodeFactory) NewRegularExpressionLiteral(text string) *Node { data := &RegularExpressionLiteral{} data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindRegularExpressionLiteral, data) } @@ -4708,7 +4697,6 @@ func (f *NodeFactory) NewNoSubstitutionTemplateLiteral(text string) *Node { data := &NoSubstitutionTemplateLiteral{} data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindNoSubstitutionTemplateLiteral, data) } @@ -6881,7 +6869,6 @@ func (f *NodeFactory) NewTemplateHead(text string, rawText string, templateFlags data.RawText = rawText data.TemplateFlags = templateFlags f.textCount++ - f.textLength += len(text) + len(rawText) return f.newNode(KindTemplateHead, data) } @@ -6902,7 +6889,6 @@ func (f *NodeFactory) NewTemplateMiddle(text string, rawText string, templateFla data.RawText = rawText data.TemplateFlags = templateFlags f.textCount++ - f.textLength += len(text) + len(rawText) return f.newNode(KindTemplateMiddle, data) } @@ -6923,7 +6909,6 @@ func (f *NodeFactory) NewTemplateTail(text string, rawText string, templateFlags data.RawText = rawText data.TemplateFlags = templateFlags f.textCount++ - f.textLength += len(text) + len(rawText) return f.newNode(KindTemplateTail, data) } @@ -7484,7 +7469,6 @@ func (f *NodeFactory) NewJsxText(text string, containsOnlyTriviaWhiteSpace bool) data.Text = text data.ContainsOnlyTriviaWhiteSpaces = containsOnlyTriviaWhiteSpace f.textCount++ - f.textLength += len(text) return f.newNode(KindJsxText, data) } @@ -7567,7 +7551,6 @@ func (f *NodeFactory) NewJSDocText(text string) *Node { data := f.jsdocTextPool.New() data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindJSDocText, data) } @@ -7585,7 +7568,6 @@ func (f *NodeFactory) NewJSDocLink(name *Node, text string) *Node { data.name = name data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindJSDocLink, data) } @@ -7622,7 +7604,6 @@ func (f *NodeFactory) NewJSDocLinkPlain(name *Node, text string) *Node { data.name = name data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindJSDocLinkPlain, data) } @@ -7659,7 +7640,6 @@ func (f *NodeFactory) NewJSDocLinkCode(name *Node, text string) *Node { data.name = name data.Text = text f.textCount++ - f.textLength += len(text) return f.newNode(KindJSDocLinkCode, data) } diff --git a/internal/parser/parser.go b/internal/parser/parser.go index d1b6d4db6e..731d7a132e 100644 --- a/internal/parser/parser.go +++ b/internal/parser/parser.go @@ -328,7 +328,6 @@ func (p *Parser) finishSourceFile(result *ast.SourceFile, isDeclarationFile bool result.Flags |= p.sourceFlags result.Identifiers = p.identifiers result.NodeCount = p.factory.NodeCount() - result.TextLength = p.factory.TextLength() result.TextCount = p.factory.TextCount() result.IdentifierCount = p.identifierCount result.SetJSDocCache(p.jsdocCache) From 15776e40ad946519d1de4a8cc587ec781473162b Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 24 Mar 2025 13:32:12 -0700 Subject: [PATCH 27/63] Delete DS_Store --- _packages/api/src/.DS_Store | Bin 6148 -> 0 bytes _packages/api/src/fs.ts | 4 +--- 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 _packages/api/src/.DS_Store diff --git a/_packages/api/src/.DS_Store b/_packages/api/src/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0): FileSyst type VNode = VDirectory | VFile; - // The root directory const root: VDirectory = { type: "directory", children: {}, @@ -34,12 +33,12 @@ export function createVirtualFileSystem(files: Record): FileSyst createFile(filePath, fileContent); } - // Return the FileSystem object (with closures capturing our state) return { directoryExists, fileExists, getAccessibleEntries, readFile, + realpath: path => path, }; function getPathSegments(path: string): string[] { @@ -62,7 +61,6 @@ export function createVirtualFileSystem(files: Record): FileSyst for (const segment of segments) { if (current.type !== "directory") { - // Trying to descend into a file => invalid path return undefined; } const child: VNode = current.children[segment]; From df0968d74de1d75ebde6607ee41c3ae4d1159b56 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 25 Mar 2025 13:59:23 -0700 Subject: [PATCH 28/63] Fix parseConfigFile and update libsyncrpc --- _packages/api/bench/api.bench.ts | 2 +- _packages/api/src/client.ts | 8 +++---- _packages/api/test/api.test.ts | 9 ++++++++ internal/api/api.go | 36 ++++++++++++++++++-------------- internal/api/proto.go | 5 +++++ 5 files changed, 39 insertions(+), 21 deletions(-) diff --git a/_packages/api/bench/api.bench.ts b/_packages/api/bench/api.bench.ts index 58821021b9..45a5ef2e5b 100644 --- a/_packages/api/bench/api.bench.ts +++ b/_packages/api/bench/api.bench.ts @@ -36,7 +36,7 @@ let tsFile: ts.SourceFile; const SMALL_STRING = "ping"; const LARGE_STRING = "a".repeat(1_000_000); -const SMALL_UINT8_ARRAY = new Uint8Array([1, 2, 3, 4, 5]); +const SMALL_UINT8_ARRAY = new Uint8Array([1, 2, 3, 4]); const LARGE_UINT8_ARRAY = new Uint8Array(1_000_000); bench diff --git a/_packages/api/src/client.ts b/_packages/api/src/client.ts index c0e1e57f96..921be3e0e2 100644 --- a/_packages/api/src/client.ts +++ b/_packages/api/src/client.ts @@ -1,5 +1,5 @@ import { SyncRpcChannel } from "libsyncrpc"; -import type { FileSystem } from "../base/fs.ts"; +import type { FileSystem } from "./fs.ts"; export interface ClientOptions { tsserverPath: string; @@ -31,8 +31,8 @@ export class Client { if (options.fs) { for (const [key, callback] of Object.entries(options.fs)) { this.channel.registerCallback(key, (_, arg) => { - const result = callback(JSON.parse(this.decoder.decode(arg))); - return this.encoder.encode(JSON.stringify(result)); + const result = callback(JSON.parse(arg)); + return JSON.stringify(result) ?? ""; }); } } @@ -58,6 +58,6 @@ export class Client { } close(): void { - this.channel.murderInColdBlood(); + this.channel.close(); } } diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index ff7868710e..f8d74da6f6 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -17,6 +17,15 @@ const defaultFiles = { "/src/foo.ts": `export const foo = 42;`, }; +describe("API", () => { + test("parseConfigFile", () => { + const api = spawnAPI(); + const config = api.parseConfigFile("/tsconfig.json"); + assert.deepEqual(config.fileNames, ["/src/index.ts", "/src/foo.ts"]); + assert.deepEqual(config.options, { configFilePath: "/tsconfig.json" }); + }); +}); + describe("SourceFile", () => { test("file text", () => { const api = spawnAPI(); diff --git a/internal/api/api.go b/internal/api/api.go index 2f6cdaa8a0..21bd146bcb 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -138,24 +138,28 @@ func (api *API) Close() { api.options.Logger.Close() } -func (api *API) ParseConfigFile(configFileName string) (*tsoptions.ParsedCommandLine, error) { +func (api *API) ParseConfigFile(configFileName string) (*ConfigFileResponse, error) { configFileName = api.toAbsoluteFileName(configFileName) - if configFileContent, ok := api.host.FS().ReadFile(configFileName); ok { - configDir := tspath.GetDirectoryPath(configFileName) - tsConfigSourceFile := tsoptions.NewTsconfigSourceFileFromFilePath(configFileName, api.toPath(configFileName), configFileContent) - parsedCommandLine := tsoptions.ParseJsonSourceFileConfigFileContent( - tsConfigSourceFile, - api.host, - configDir, - nil, /*existingOptions*/ - configFileName, - nil, /*resolutionStack*/ - nil, /*extraFileExtensions*/ - nil, /*extendedConfigCache*/ - ) - return parsedCommandLine, nil + configFileContent, ok := api.host.FS().ReadFile(configFileName) + if !ok { + return nil, fmt.Errorf("could not read file %q", configFileName) } - return nil, fmt.Errorf("could not read file %q", configFileName) + configDir := tspath.GetDirectoryPath(configFileName) + tsConfigSourceFile := tsoptions.NewTsconfigSourceFileFromFilePath(configFileName, api.toPath(configFileName), configFileContent) + parsedCommandLine := tsoptions.ParseJsonSourceFileConfigFileContent( + tsConfigSourceFile, + api.host, + configDir, + nil, /*existingOptions*/ + configFileName, + nil, /*resolutionStack*/ + nil, /*extraFileExtensions*/ + nil, /*extendedConfigCache*/ + ) + return &ConfigFileResponse{ + FileNames: parsedCommandLine.FileNames(), + Options: parsedCommandLine.CompilerOptions(), + }, nil } func (api *API) LoadProject(configFileName string) (*ProjectResponse, error) { diff --git a/internal/api/proto.go b/internal/api/proto.go index dcf7a13a94..6b81a864d0 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -64,6 +64,11 @@ type ParseConfigFileParams struct { FileName string `json:"fileName"` } +type ConfigFileResponse struct { + FileNames []string `json:"fileNames"` + Options *core.CompilerOptions `json:"options"` +} + type LoadProjectParams struct { ConfigFileName string `json:"configFileName"` } From c88088525c032583d59d472681ee834b06e42977 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 26 Mar 2025 09:51:28 -0700 Subject: [PATCH 29/63] Add tests for getting symbols and types --- _packages/api/package.json | 8 ++ _packages/api/src/api.ts | 7 +- _packages/api/src/fs.ts | 13 +-- _packages/api/src/path.ts | 136 ++++++++++++++++++++++++++++ _packages/api/src/typeFlags.enum.ts | 32 +++++++ _packages/api/src/typeFlags.ts | 33 +++++++ _packages/api/test/api.test.ts | 27 +++++- 7 files changed, 243 insertions(+), 13 deletions(-) create mode 100644 _packages/api/src/path.ts create mode 100644 _packages/api/src/typeFlags.enum.ts create mode 100644 _packages/api/src/typeFlags.ts diff --git a/_packages/api/package.json b/_packages/api/package.json index ee3f0ffb58..758ccdf979 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -11,6 +11,14 @@ }, "types": "./dist/symbolFlags.enum.d.ts", "default": "./dist/symbolFlags.js" + }, + "#typeFlags": { + "@typescript/source": { + "types": "./src/typeFlags.enum.ts", + "default": "./src/typeFlags.ts" + }, + "types": "./dist/typeFlags.enum.d.ts", + "default": "./dist/typeFlags.js" } }, "exports": { diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index 76ff91ea3a..ea076e3477 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -1,4 +1,5 @@ import { SymbolFlags } from "#symbolFlags"; +import { TypeFlags } from "#typeFlags"; import type { SourceFile } from "@typescript/ast"; import { Client } from "./client.ts"; import type { FileSystem } from "./fs.ts"; @@ -12,7 +13,7 @@ import type { TypeResponse, } from "./proto.ts"; -export { SymbolFlags }; +export { SymbolFlags, TypeFlags }; export interface APIOptions { tsserverPath: string; @@ -99,7 +100,7 @@ export class Project { } getTypeOfSymbol(symbol: Symbol): Type | undefined { - const data = this.client.request("getTypeOfSymbol", { project: this.id, symbolId: symbol.id }); + const data = this.client.request("getTypeOfSymbol", { project: this.id, symbol: symbol.id }); return data ? this.objectRegistry.getType(data) : undefined; } } @@ -123,7 +124,7 @@ export class Symbol { export class Type { private client: Client; id: string; - flags: number; + flags: TypeFlags; constructor(client: Client, data: TypeResponse) { this.client = client; this.id = data.id; diff --git a/_packages/api/src/fs.ts b/_packages/api/src/fs.ts index a485511984..290dc8ee57 100644 --- a/_packages/api/src/fs.ts +++ b/_packages/api/src/fs.ts @@ -1,3 +1,5 @@ +import { getPathComponents } from "./path.ts"; + export interface FileSystemEntries { files: string[]; directories: string[]; @@ -41,13 +43,6 @@ export function createVirtualFileSystem(files: Record): FileSyst realpath: path => path, }; - function getPathSegments(path: string): string[] { - return path - .replace(/^\/+|\/+$/g, "") - .split("/") - .filter(Boolean); - } - /** * Traverse the tree from the root according to path segments. * Returns the node if found, or null if any segment doesn't exist. @@ -56,7 +51,7 @@ export function createVirtualFileSystem(files: Record): FileSyst if (!path || path === "/") { return root; } - const segments = getPathSegments(path); + const segments = getPathComponents(path); let current: VNode = root; for (const segment of segments) { @@ -98,7 +93,7 @@ export function createVirtualFileSystem(files: Record): FileSyst * Automatically creates parent directories if needed. */ function createFile(path: string, content: string) { - const segments = getPathSegments(path); + const segments = getPathComponents(path); if (segments.length === 0) { throw new Error(`Invalid file path: "${path}"`); } diff --git a/_packages/api/src/path.ts b/_packages/api/src/path.ts new file mode 100644 index 0000000000..168bf6d551 --- /dev/null +++ b/_packages/api/src/path.ts @@ -0,0 +1,136 @@ +const CharacterCodesSlash = "/".charCodeAt(0); +const CharacterCodesBackslash = "\\".charCodeAt(0); +const CharacterCodesColon = ":".charCodeAt(0); +const CharacterCodesPercent = "%".charCodeAt(0); +const CharacterCodes3 = "3".charCodeAt(0); +const CharacterCodesa = "a".charCodeAt(0); +const CharacterCodesz = "z".charCodeAt(0); +const CharacterCodesA = "A".charCodeAt(0); +const CharacterCodesZ = "Z".charCodeAt(0); +const directorySeparator = "/"; +const altDirectorySeparator = "\\"; +const urlSchemeSeparator = "://"; + +function isVolumeCharacter(charCode: number) { + return (charCode >= CharacterCodesa && charCode <= CharacterCodesz) || + (charCode >= CharacterCodesA && charCode <= CharacterCodesZ); +} + +function getFileUrlVolumeSeparatorEnd(url: string, start: number) { + const ch0 = url.charCodeAt(start); + if (ch0 === CharacterCodesColon) return start + 1; + if (ch0 === CharacterCodesPercent && url.charCodeAt(start + 1) === CharacterCodes3) { + const ch2 = url.charCodeAt(start + 2); + if (ch2 === CharacterCodesa || ch2 === CharacterCodesA) return start + 3; + } + return -1; +} + +/** + * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). + * + * For example: + * ```ts + * getRootLength("a") === 0 // "" + * getRootLength("/") === 1 // "/" + * getRootLength("c:") === 2 // "c:" + * getRootLength("c:d") === 0 // "" + * getRootLength("c:/") === 3 // "c:/" + * getRootLength("c:\\") === 3 // "c:\\" + * getRootLength("//server") === 7 // "//server" + * getRootLength("//server/share") === 8 // "//server/" + * getRootLength("\\\\server") === 7 // "\\\\server" + * getRootLength("\\\\server\\share") === 8 // "\\\\server\\" + * getRootLength("file:///path") === 8 // "file:///" + * getRootLength("file:///c:") === 10 // "file:///c:" + * getRootLength("file:///c:d") === 8 // "file:///" + * getRootLength("file:///c:/path") === 11 // "file:///c:/" + * getRootLength("file://server") === 13 // "file://server" + * getRootLength("file://server/path") === 14 // "file://server/" + * getRootLength("http://server") === 13 // "http://server" + * getRootLength("http://server/path") === 14 // "http://server/" + * ``` + * + * @internal + */ +export function getRootLength(path: string): number { + const rootLength = getEncodedRootLength(path); + return rootLength < 0 ? ~rootLength : rootLength; +} + +/** + * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). + * If the root is part of a URL, the twos-complement of the root length is returned. + */ +function getEncodedRootLength(path: string): number { + if (!path) return 0; + const ch0 = path.charCodeAt(0); + + // POSIX or UNC + if (ch0 === CharacterCodesSlash || ch0 === CharacterCodesBackslash) { + if (path.charCodeAt(1) !== ch0) return 1; // POSIX: "/" (or non-normalized "\") + + const p1 = path.indexOf(ch0 === CharacterCodesSlash ? directorySeparator : altDirectorySeparator, 2); + if (p1 < 0) return path.length; // UNC: "//server" or "\\server" + + return p1 + 1; // UNC: "//server/" or "\\server\" + } + + // DOS + if (isVolumeCharacter(ch0) && path.charCodeAt(1) === CharacterCodesColon) { + const ch2 = path.charCodeAt(2); + if (ch2 === CharacterCodesSlash || ch2 === CharacterCodesBackslash) return 3; // DOS: "c:/" or "c:\" + if (path.length === 2) return 2; // DOS: "c:" (but not "c:d") + } + + // URL + const schemeEnd = path.indexOf(urlSchemeSeparator); + if (schemeEnd !== -1) { + const authorityStart = schemeEnd + urlSchemeSeparator.length; + const authorityEnd = path.indexOf(directorySeparator, authorityStart); + if (authorityEnd !== -1) { // URL: "file:///", "file://server/", "file://server/path" + // For local "file" URLs, include the leading DOS volume (if present). + // Per https://www.ietf.org/rfc/rfc1738.txt, a host of "" or "localhost" is a + // special case interpreted as "the machine from which the URL is being interpreted". + const scheme = path.slice(0, schemeEnd); + const authority = path.slice(authorityStart, authorityEnd); + if ( + scheme === "file" && (authority === "" || authority === "localhost") && + isVolumeCharacter(path.charCodeAt(authorityEnd + 1)) + ) { + const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); + if (volumeSeparatorEnd !== -1) { + if (path.charCodeAt(volumeSeparatorEnd) === CharacterCodesSlash) { + // URL: "file:///c:/", "file://localhost/c:/", "file:///c%3a/", "file://localhost/c%3a/" + return ~(volumeSeparatorEnd + 1); + } + if (volumeSeparatorEnd === path.length) { + // URL: "file:///c:", "file://localhost/c:", "file:///c$3a", "file://localhost/c%3a" + // but not "file:///c:d" or "file:///c%3ad" + return ~volumeSeparatorEnd; + } + } + } + return ~(authorityEnd + 1); // URL: "file://server/", "http://server/" + } + return ~path.length; // URL: "file://server", "http://server" + } + + // relative + return 0; +} + +export function getPathComponents(path: string): string[] { + return pathComponents(path, getRootLength(path)); +} + +function pathComponents(path: string, rootLength: number) { + const root = path.substring(0, rootLength); + const rest = path.substring(rootLength).split("/"); + if (rest.length && !lastOrUndefined(rest)) rest.pop(); + return [root, ...rest]; +} + +function lastOrUndefined(array: T[]): T | undefined { + return array.length ? array[array.length - 1] : undefined; +} diff --git a/_packages/api/src/typeFlags.enum.ts b/_packages/api/src/typeFlags.enum.ts new file mode 100644 index 0000000000..f6a5429364 --- /dev/null +++ b/_packages/api/src/typeFlags.enum.ts @@ -0,0 +1,32 @@ +export enum TypeFlags { + None = 0, + Any = 1 << 0, + Unknown = 1 << 1, + Undefined = 1 << 2, + Null = 1 << 3, + Void = 1 << 4, + String = 1 << 5, + Number = 1 << 6, + BigInt = 1 << 7, + Boolean = 1 << 8, + ESSymbol = 1 << 9, + StringLiteral = 1 << 10, + NumberLiteral = 1 << 11, + BigIntLiteral = 1 << 12, + BooleanLiteral = 1 << 13, + UniqueESSymbol = 1 << 14, + EnumLiteral = 1 << 15, + Enum = 1 << 16, + Never = 1 << 17, + TypeParameter = 1 << 18, + Object = 1 << 19, + Union = 1 << 20, + Intersection = 1 << 21, + Index = 1 << 22, + IndexedAccess = 1 << 23, + Conditional = 1 << 24, + Substitution = 1 << 25, + NonPrimitive = 1 << 26, + TemplateLiteral = 1 << 27, + StringMapping = 1 << 28, +} diff --git a/_packages/api/src/typeFlags.ts b/_packages/api/src/typeFlags.ts new file mode 100644 index 0000000000..867e8f09dd --- /dev/null +++ b/_packages/api/src/typeFlags.ts @@ -0,0 +1,33 @@ +export var TypeFlags: any; +(function (TypeFlags) { + TypeFlags[TypeFlags["None"] = 0] = "None"; + TypeFlags[TypeFlags["Any"] = 1] = "Any"; + TypeFlags[TypeFlags["Unknown"] = 2] = "Unknown"; + TypeFlags[TypeFlags["Undefined"] = 4] = "Undefined"; + TypeFlags[TypeFlags["Null"] = 8] = "Null"; + TypeFlags[TypeFlags["Void"] = 16] = "Void"; + TypeFlags[TypeFlags["String"] = 32] = "String"; + TypeFlags[TypeFlags["Number"] = 64] = "Number"; + TypeFlags[TypeFlags["BigInt"] = 128] = "BigInt"; + TypeFlags[TypeFlags["Boolean"] = 256] = "Boolean"; + TypeFlags[TypeFlags["ESSymbol"] = 512] = "ESSymbol"; + TypeFlags[TypeFlags["StringLiteral"] = 1024] = "StringLiteral"; + TypeFlags[TypeFlags["NumberLiteral"] = 2048] = "NumberLiteral"; + TypeFlags[TypeFlags["BigIntLiteral"] = 4096] = "BigIntLiteral"; + TypeFlags[TypeFlags["BooleanLiteral"] = 8192] = "BooleanLiteral"; + TypeFlags[TypeFlags["UniqueESSymbol"] = 16384] = "UniqueESSymbol"; + TypeFlags[TypeFlags["EnumLiteral"] = 32768] = "EnumLiteral"; + TypeFlags[TypeFlags["Enum"] = 65536] = "Enum"; + TypeFlags[TypeFlags["Never"] = 131072] = "Never"; + TypeFlags[TypeFlags["TypeParameter"] = 262144] = "TypeParameter"; + TypeFlags[TypeFlags["Object"] = 524288] = "Object"; + TypeFlags[TypeFlags["Union"] = 1048576] = "Union"; + TypeFlags[TypeFlags["Intersection"] = 2097152] = "Intersection"; + TypeFlags[TypeFlags["Index"] = 4194304] = "Index"; + TypeFlags[TypeFlags["IndexedAccess"] = 8388608] = "IndexedAccess"; + TypeFlags[TypeFlags["Conditional"] = 16777216] = "Conditional"; + TypeFlags[TypeFlags["Substitution"] = 33554432] = "Substitution"; + TypeFlags[TypeFlags["NonPrimitive"] = 67108864] = "NonPrimitive"; + TypeFlags[TypeFlags["TemplateLiteral"] = 134217728] = "TemplateLiteral"; + TypeFlags[TypeFlags["StringMapping"] = 268435456] = "StringMapping"; +})(TypeFlags || (TypeFlags = {})); diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index f8d74da6f6..05510b10a2 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -1,4 +1,8 @@ -import { API } from "@typescript/api"; +import { + API, + SymbolFlags, + TypeFlags, +} from "@typescript/api"; import { createVirtualFileSystem } from "@typescript/api/fs"; import { isTemplateHead, @@ -26,6 +30,27 @@ describe("API", () => { }); }); +describe("Project", () => { + test("getSymbolAtPosition", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const symbol = project.getSymbolAtPosition("/src/index.ts", 9); + assert.ok(symbol); + assert.equal(symbol.name, "foo"); + assert.ok(symbol.flags & SymbolFlags.Alias); + }); + + test("getTypeOfSymbol", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const symbol = project.getSymbolAtPosition("/src/index.ts", 9); + assert.ok(symbol); + const type = project.getTypeOfSymbol(symbol); + assert.ok(type); + assert.ok(type.flags & TypeFlags.NumberLiteral); + }); +}); + describe("SourceFile", () => { test("file text", () => { const api = spawnAPI(); From de52e4500befee2633eacfbc84e3a77c5c98c063 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 26 Mar 2025 14:56:05 -0700 Subject: [PATCH 30/63] Wrap protocol in MessagePack --- _packages/api/src/fs.ts | 4 +- internal/api/server.go | 163 +++++++++++++++++++++++------ internal/api/stringer_generated.go | 29 +++++ 3 files changed, 162 insertions(+), 34 deletions(-) create mode 100644 internal/api/stringer_generated.go diff --git a/_packages/api/src/fs.ts b/_packages/api/src/fs.ts index 290dc8ee57..aa12acd210 100644 --- a/_packages/api/src/fs.ts +++ b/_packages/api/src/fs.ts @@ -51,7 +51,7 @@ export function createVirtualFileSystem(files: Record): FileSyst if (!path || path === "/") { return root; } - const segments = getPathComponents(path); + const segments = getPathComponents(path).slice(1); let current: VNode = root; for (const segment of segments) { @@ -93,7 +93,7 @@ export function createVirtualFileSystem(files: Record): FileSyst * Automatically creates parent directories if needed. */ function createFile(path: string, content: string) { - const segments = getPathComponents(path); + const segments = getPathComponents(path).slice(1); if (segments.length === 0) { throw new Error(`Invalid file path: "${path}"`); } diff --git a/internal/api/server.go b/internal/api/server.go index 8cfefd3876..58822b671c 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -15,6 +15,34 @@ import ( "github.com/microsoft/typescript-go/internal/vfs/osvfs" ) +//go:generate go tool golang.org/x/tools/cmd/stringer -type=MessageType -output=stringer_generated.go + +type MessageType uint8 + +const ( + MessageTypeUnknown MessageType = iota + MessageTypeRequest + MessageTypeCallResponse + MessageTypeCallError + MessageTypeResponse + MessageTypeError + MessageTypeCall +) + +func (m MessageType) IsValid() bool { + return m >= MessageTypeRequest && m <= MessageTypeCall +} + +type MessagePackType uint8 + +const ( + MessagePackTypeFixedArray3 MessagePackType = 0x93 + MessagePackTypeBin8 MessagePackType = 0xC4 + MessagePackTypeBin16 MessagePackType = 0xC5 + MessagePackTypeBin32 MessagePackType = 0xC6 + MessagePackTypeU8 MessagePackType = 0xCC +) + type Callback int const ( @@ -106,7 +134,7 @@ func (s *Server) Run() error { } switch messageType { - case "request": + case MessageTypeRequest: now := time.Now() result, err := s.handleRequest(method, payload) @@ -123,38 +151,84 @@ func (s *Server) Run() error { s.logger.PerfTrace(fmt.Sprintf("%s sent - %s", method, time.Since(now))) } default: - return fmt.Errorf("%w: expected request, received: %s", ErrInvalidRequest, messageType) + return fmt.Errorf("%w: expected request, received: %s", ErrInvalidRequest, messageType.String()) } } } -func (s *Server) readRequest(expectedMethod string) (messageType string, method string, payload []byte, err error) { - messageType, err = s.r.ReadString('\t') +func (s *Server) readRequest(expectedMethod string) (messageType MessageType, method string, payload []byte, err error) { + t, err := s.r.ReadByte() if err != nil { - return "", "", nil, err + return messageType, method, payload, err + } + if MessagePackType(t) != MessagePackTypeFixedArray3 { + return messageType, method, payload, fmt.Errorf("%w: expected message to be encoded as fixed 3-element array (0x93), received: 0x%2x", ErrInvalidRequest, t) } - messageType = messageType[:len(messageType)-1] - method, err = s.r.ReadString('\t') + t, err = s.r.ReadByte() if err != nil { - return "", "", nil, err + return messageType, method, payload, err } - method = method[:len(method)-1] + if MessagePackType(t) != MessagePackTypeU8 { + return messageType, method, payload, fmt.Errorf("%w: expected first element of message tuple to be encoded as unsigned 8-bit int (0xcc), received: 0x%2x", ErrInvalidRequest, t) + } + rawMessageType, err := s.r.ReadByte() + if err != nil { + return messageType, method, payload, err + } + messageType = MessageType(rawMessageType) + if !messageType.IsValid() { + return messageType, method, payload, fmt.Errorf("%w: unknown message type: %d", ErrInvalidRequest, messageType) + } + rawMethod, err := s.readBin() + if err != nil { + return messageType, method, payload, err + } + method = string(rawMethod) if expectedMethod != "" && method != expectedMethod { - return "", "", nil, fmt.Errorf("%w: expected method %q, received %q", ErrInvalidRequest, expectedMethod, method) + return messageType, method, payload, fmt.Errorf("%w: expected method %q, received %q", ErrInvalidRequest, expectedMethod, method) + } + payload, err = s.readBin() + return messageType, method, payload, err +} + +func (s *Server) readBin() ([]byte, error) { + // https://github.com/msgpack/msgpack/blob/master/spec.md#bin-format-family + t, err := s.r.ReadByte() + if err != nil { + return nil, err } - var size uint32 - if err = binary.Read(s.r, binary.LittleEndian, &size); err != nil { - return "", "", nil, fmt.Errorf("%w: expected payload size: %w", ErrInvalidRequest, err) + var size uint + switch MessagePackType(t) { + case MessagePackTypeBin8: + var size8 uint8 + if err = binary.Read(s.r, binary.BigEndian, &size8); err != nil { + return nil, err + } + size = uint(size8) + case MessagePackTypeBin16: + var size16 uint16 + if err = binary.Read(s.r, binary.BigEndian, &size16); err != nil { + return nil, err + } + size = uint(size16) + case MessagePackTypeBin32: + var size32 uint32 + if err = binary.Read(s.r, binary.BigEndian, &size32); err != nil { + return nil, err + } + size = uint(size32) + default: + return nil, fmt.Errorf("%w: expected binary data length (0xc4-0xc6), received: 0x%2x", ErrInvalidRequest, t) } - payload = make([]byte, size) + payload := make([]byte, size) bytesRead, err := io.ReadFull(s.r, payload) if err != nil { - return "", "", nil, err + return nil, err } if bytesRead != int(size) { - return "", "", nil, fmt.Errorf("%w: expected %d bytes, read %d", ErrInvalidRequest, size, bytesRead) + return nil, fmt.Errorf("%w: expected %d bytes, read %d", ErrInvalidRequest, size, bytesRead) } - return messageType, method, payload, nil + return payload, nil } func (s *Server) enableCallback(callback string) error { @@ -206,7 +280,7 @@ func (s *Server) handleConfigure(payload []byte) error { } func (s *Server) sendResponse(method string, result []byte) error { - return s.write("response", method, result) + return s.writeMessage(MessageTypeResponse, method, result) } func (s *Server) sendError(method string, err error) error { @@ -214,31 +288,56 @@ func (s *Server) sendError(method string, err error) error { if err != nil { return err } - return s.write("error", method, payload) + return s.writeMessage(MessageTypeError, method, payload) } -func (s *Server) write(messageType, method string, payload []byte) error { - if _, err := s.w.WriteString(messageType); err != nil { - return err - } - if _, err := s.w.WriteString("\t"); err != nil { +func (s *Server) writeMessage(messageType MessageType, method string, payload []byte) error { + if err := s.w.WriteByte(byte(MessagePackTypeFixedArray3)); err != nil { return err } - if _, err := s.w.WriteString(method); err != nil { + if err := s.w.WriteByte(byte(MessagePackTypeU8)); err != nil { return err } - if err := s.w.WriteByte('\t'); err != nil { + if err := s.w.WriteByte(byte(messageType)); err != nil { return err } - if err := binary.Write(s.w, binary.LittleEndian, uint32(len(payload))); err != nil { + if err := s.writeBin([]byte(method)); err != nil { return err } - if _, err := s.w.Write(payload); err != nil { + if err := s.writeBin(payload); err != nil { return err } return s.w.Flush() } +func (s *Server) writeBin(payload []byte) error { + length := len(payload) + if length < 256 { + if err := s.w.WriteByte(byte(MessagePackTypeBin8)); err != nil { + return err + } + if err := s.w.WriteByte(byte(length)); err != nil { + return err + } + } else if length < 1<<16 { + if err := s.w.WriteByte(byte(MessagePackTypeBin16)); err != nil { + return err + } + if err := binary.Write(s.w, binary.BigEndian, uint16(length)); err != nil { + return err + } + } else { + if err := s.w.WriteByte(byte(MessagePackTypeBin32)); err != nil { + return err + } + if err := binary.Write(s.w, binary.BigEndian, uint32(length)); err != nil { + return err + } + } + _, err := s.w.Write(payload) + return err +} + func (s *Server) call(method string, payload any) ([]byte, error) { s.callbackMu.Lock() defer s.callbackMu.Unlock() @@ -246,7 +345,7 @@ func (s *Server) call(method string, payload any) ([]byte, error) { if err != nil { return nil, err } - if err = s.write("call", method, jsonPayload); err != nil { + if err = s.writeMessage(MessageTypeCall, method, jsonPayload); err != nil { return nil, err } @@ -255,11 +354,11 @@ func (s *Server) call(method string, payload any) ([]byte, error) { return nil, err } - if messageType != "call-response" && messageType != "call-error" { - return nil, fmt.Errorf("%w: expected call-response or call-error, received: %s", ErrInvalidRequest, messageType) + if messageType != MessageTypeCallResponse && messageType != MessageTypeCallError { + return nil, fmt.Errorf("%w: expected call-response or call-error, received: %s", ErrInvalidRequest, messageType.String()) } - if messageType == "call-error" { + if messageType == MessageTypeCallError { return nil, fmt.Errorf("%w: %s", ErrClientError, responsePayload) } diff --git a/internal/api/stringer_generated.go b/internal/api/stringer_generated.go new file mode 100644 index 0000000000..0a740d353b --- /dev/null +++ b/internal/api/stringer_generated.go @@ -0,0 +1,29 @@ +// Code generated by "stringer -type=MessageType -output=stringer_generated.go"; DO NOT EDIT. + +package api + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[MessageTypeUnknown-0] + _ = x[MessageTypeRequest-1] + _ = x[MessageTypeCallResponse-2] + _ = x[MessageTypeCallError-3] + _ = x[MessageTypeResponse-4] + _ = x[MessageTypeError-5] + _ = x[MessageTypeCall-6] +} + +const _MessageType_name = "MessageTypeUnknownMessageTypeRequestMessageTypeCallResponseMessageTypeCallErrorMessageTypeResponseMessageTypeErrorMessageTypeCall" + +var _MessageType_index = [...]uint8{0, 18, 36, 59, 79, 98, 114, 129} + +func (i MessageType) String() string { + if i >= MessageType(len(_MessageType_index)-1) { + return "MessageType(" + strconv.FormatInt(int64(i), 10) + ")" + } + return _MessageType_name[_MessageType_index[i]:_MessageType_index[i+1]] +} From 81300581e83c17b99ac906e8f4e178d0dbb0d2f5 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 26 Mar 2025 15:21:59 -0700 Subject: [PATCH 31/63] Switch back to npm --- .github/workflows/ci.yml | 43 +- .github/workflows/merge-queue.yml | 4 +- Herebyfile.mjs | 2 +- README.md | 4 +- _packages/api/package.json | 8 +- package-lock.json | 2244 +++++++++++++++++++++++++++++ package.json | 17 +- pnpm-lock.yaml | 845 ----------- pnpm-workspace.yaml | 3 - 9 files changed, 2281 insertions(+), 889 deletions(-) create mode 100644 package-lock.json delete mode 100644 pnpm-lock.yaml delete mode 100644 pnpm-workspace.yaml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b53089c065..9c649f261b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,25 +23,23 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: build - - run: pnpm install + - run: npm ci - - run: pnpm hereby build + - run: npx hereby build extension: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - - run: pnpm install + - run: npm ci - - run: pnpm extension:build + - run: npm run extension:build test: strategy: @@ -78,12 +76,11 @@ jobs: - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 with: node-version: 'lts/*' - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: test - - run: pnpm install + - run: npm ci - run: go install gotest.tools/gotestsum@latest # Installing gotestsum is super slow on Windows. @@ -92,7 +89,7 @@ jobs: - name: Tests id: test - run: pnpm hereby test:all ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} + run: npx hereby test:all ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} env: RACE_FLAG: ${{ (matrix.race && '--race') || '' }} NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} @@ -104,7 +101,7 @@ jobs: - name: Print baseline diff on failure if: ${{ failure() && steps.test.conclusion == 'failure' }} run: | - pnpm hereby baseline-accept + npx hereby baseline-accept git add testdata/baselines/reference git diff --staged --exit-code - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 @@ -132,15 +129,14 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: lint${{ (matrix.noembed && '-noembed') || ''}} - - run: pnpm install + - run: npm ci - - run: pnpm hereby install-tools - - run: pnpm hereby lint ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} + - run: npx hereby install-tools + - run: npx hereby lint ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} env: NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} @@ -149,15 +145,14 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: format - - run: pnpm install + - run: npm ci - - run: pnpm hereby install-tools - - run: pnpm hereby check:format + - run: npx hereby install-tools + - run: npx hereby check:format generate: runs-on: ubuntu-latest @@ -166,14 +161,13 @@ jobs: with: submodules: true - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: generate - - run: pnpm install + - run: npm ci - - run: pnpm hereby generate + - run: npx hereby generate - run: git add . - run: git diff --staged --exit-code --stat @@ -196,16 +190,15 @@ jobs: with: submodules: true - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 - uses: ./.github/actions/setup-go with: cache-name: smoke - - run: pnpm install + - run: npm ci - - run: pnpm hereby build --race + - run: npx hereby build --race - - run: pnpm install && pnpm hereby generate-diagnostics + - run: npm ci && npx hereby generate-diagnostics working-directory: ./_submodules/TypeScript - run: ./built/local/tsgo -p ./_submodules/TypeScript/src/compiler --singleThreaded diff --git a/.github/workflows/merge-queue.yml b/.github/workflows/merge-queue.yml index ed64c96d13..22b64b7e4c 100644 --- a/.github/workflows/merge-queue.yml +++ b/.github/workflows/merge-queue.yml @@ -26,8 +26,8 @@ jobs: with: cache-name: merge-queue-test - - run: pnpm install - - run: pnpm hereby test:all + - run: npm ci + - run: npx hereby test:all required: runs-on: ubuntu-latest diff --git a/Herebyfile.mjs b/Herebyfile.mjs index b7f1db11dc..385a1245f6 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -268,7 +268,7 @@ async function runTestTools() { } async function runTestJS() { - await $`pnpm --filter ./_packages/* test`; + await $`npm run -w @typescript/api test`; } export const testTools = task({ diff --git a/README.md b/README.md index 7d49d359a0..65bf58fef1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Interested developers can clone and run locally to try out things as they become ## How to Build and Run -This repo uses [Go 1.24 or higher](https://go.dev/dl/), [Node.js](https://nodejs.org/), [pnpm](https://pnpm.io), and [`hereby`](https://www.npmjs.com/package/hereby). +This repo uses [Go 1.24 or higher](https://go.dev/dl/), [Node.js with npm](https://nodejs.org/), and [`hereby`](https://www.npmjs.com/package/hereby). For tests and code generation, this repo contains a git submodule to the main TypeScript repo pointing to the commit being ported. When cloning, you'll want to clone with submodules: @@ -22,7 +22,7 @@ If you have already cloned the repo, you can initialize the submodule with: git submodule update --init --recursive ``` -With the submodule in place and `pnpm install`, you can run tasks via `hereby`, similar to the TypeScript repo: +With the submodule in place and `npm ci`, you can run tasks via `hereby`, similar to the TypeScript repo: ```sh hereby build # Verify that the project builds diff --git a/_packages/api/package.json b/_packages/api/package.json index 758ccdf979..ff49a665bc 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -35,10 +35,6 @@ "default": "./dist/proto.js" } }, - "dependencies": { - "@typescript/ast": "workspace:*", - "libsyncrpc": "link:../../../libsyncrpc" - }, "scripts": { "build": "tsc -b", "bench": "node --no-warnings --conditions @typescript/source bench/api.bench.ts", @@ -46,5 +42,9 @@ }, "devDependencies": { "tinybench": "^3.1.1" + }, + "dependencies": { + "@typescript/ast": "1.0.0", + "libsyncrpc": "file:../../../libsyncrpc" } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000..b24a33041e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2244 @@ +{ + "name": "typescript-go", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "typescript-go", + "version": "0.0.0", + "hasInstallScript": true, + "license": "Apache-2.0", + "workspaces": [ + "./_extension", + "./_packages/*" + ], + "devDependencies": { + "@types/node": "latest", + "@types/which": "^3.0.4", + "chokidar": "^4.0.3", + "dprint": "^0.47.6", + "execa": "^9.5.1", + "glob": "^10.4.5", + "hereby": "^1.10.0", + "json-schema-to-typescript-lite": "^14.1.0", + "picocolors": "^1.1.1", + "typescript": "^5.7.3", + "which": "^5.0.0" + } + }, + "_extension": { + "name": "typescript-lsp", + "version": "0.0.0", + "dependencies": { + "vscode-languageclient": "^9.0.1" + }, + "devDependencies": { + "@types/vscode": "^1.96.0" + }, + "engines": { + "vscode": "^1.91.0" + } + }, + "_packages/api": { + "name": "@typescript/api", + "version": "1.0.0", + "dependencies": { + "@typescript/ast": "1.0.0", + "libsyncrpc": "file:../../../libsyncrpc" + }, + "devDependencies": { + "tinybench": "^3.1.1" + } + }, + "_packages/ast": { + "name": "@typescript/ast", + "version": "1.0.0" + }, + "../libsyncrpc": { + "version": "0.0.0", + "license": "MIT", + "devDependencies": { + "@napi-rs/cli": "^2.18.4", + "@suchipi/dtsmd": "^1.1.0", + "ava": "^6.0.1", + "tinybench": "^2.9.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.0.tgz", + "integrity": "sha512-8Q/r5mXLa8Rfyh6r4SgEEFJgISVN5cDNFlcfSWLgFn3odzQhTfHAqzI3hMGdcROViL+8NrDNVVFQtEUrYOksDg==", + "dev": true, + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, + "node_modules/@dprint/darwin-arm64": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.47.6.tgz", + "integrity": "sha512-DrtKVOH7Ue6QYsqsUfUwBlTkSZNF2j35xqyI6KimUT1ulgUPocLG53JC/Aej9KuSCPmt4M3J40xxPKRgIM4jPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@dprint/darwin-x64": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.47.6.tgz", + "integrity": "sha512-p16a4lMbAo4RngbNTAmtREnIRI/cOcZFy5wHPIzbCDnnHI+4UyHiAypTrpF8U8EYx1tw3hgih2MyAuupa9Gfag==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@dprint/linux-arm64-glibc": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.47.6.tgz", + "integrity": "sha512-WHphnk0oXpNzwJ9cjbddOL+hEZkXTvHxcA2pM1h1kWCBa5m+4qh0fg8YCktckMfHx1qdQuZYWRoT4l7yQbzWYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@dprint/linux-arm64-musl": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.47.6.tgz", + "integrity": "sha512-/2cSPudajg8J0U69ldNZkJx5QiKZNh+ohNVM9leWZ8v6GXN6sJDHX3T6hzS3ohIb03YOCiLOrJZDy9j3+fSgdQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@dprint/linux-riscv64-glibc": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-riscv64-glibc/-/linux-riscv64-glibc-0.47.6.tgz", + "integrity": "sha512-RMHJ3Zuzpls426upHlAveVwlGMi8oBLzhiCauyC/yWQl3CkGTAYdyhEpGnux0+RxacysfIL2bd8ourx4K0Sx3w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@dprint/linux-x64-glibc": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.47.6.tgz", + "integrity": "sha512-4zbVsx/a8lHkRyAjfW0PNlN5IMwOJfFapgXNYJowWNO7X3j3m1jYJWovjmdZls+d6pDeOHoanMWtq95wd7zTeQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@dprint/linux-x64-musl": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.47.6.tgz", + "integrity": "sha512-0C13t4OVzomgQjvUyD5IrRyjLDhGuOtqMo00uJlwn3QHucfgOBqkjyQ5fq7T6+grBse0m14/EWblvSbYkZpyDw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@dprint/win32-arm64": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/win32-arm64/-/win32-arm64-0.47.6.tgz", + "integrity": "sha512-UOkeFMBdGIuGNwfkrJdVM9eNiRMdbZRRGVy0Cdo2AXn/FCDVqZ74KJkvYVcoUE27GCytHi4Sp1s4at7659WCOw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@dprint/win32-x64": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.47.6.tgz", + "integrity": "sha512-i9xwXR8V8Jk/wU1gsYKx15eb0ypBRbRZFkHsnHfC0ZBimcfEOibGnGcfv+UCUcumXtnV46TnBqaJW7H70J1J+A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "22.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", + "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", + "dev": true, + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/vscode": { + "version": "1.96.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.96.0.tgz", + "integrity": "sha512-qvZbSZo+K4ZYmmDuaodMbAa67Pl6VDQzLKFka6rq+3WUTY4Kro7Bwoi0CuZLO/wema0ygcmpwow7zZfPJTs5jg==", + "dev": true + }, + "node_modules/@types/which": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/which/-/which-3.0.4.tgz", + "integrity": "sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==", + "dev": true + }, + "node_modules/@typescript/api": { + "resolved": "_packages/api", + "link": true + }, + "node_modules/@typescript/ast": { + "resolved": "_packages/ast", + "link": true + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/command-line-usage": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", + "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "dev": true, + "dependencies": { + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/dprint": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.47.6.tgz", + "integrity": "sha512-vCQC+IMHVZbISA5pxEj+yshQbozmQoVFA4lzcLlqJ8rzIAH8U+1DKvesN/2Uv3Bqz6rMW6W4WY7pYJQljmiZ8w==", + "dev": true, + "hasInstallScript": true, + "bin": { + "dprint": "bin.js" + }, + "optionalDependencies": { + "@dprint/darwin-arm64": "0.47.6", + "@dprint/darwin-x64": "0.47.6", + "@dprint/linux-arm64-glibc": "0.47.6", + "@dprint/linux-arm64-musl": "0.47.6", + "@dprint/linux-riscv64-glibc": "0.47.6", + "@dprint/linux-x64-glibc": "0.47.6", + "@dprint/linux-x64-musl": "0.47.6", + "@dprint/win32-arm64": "0.47.6", + "@dprint/win32-x64": "0.47.6" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/execa": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.1.tgz", + "integrity": "sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hereby": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/hereby/-/hereby-1.10.0.tgz", + "integrity": "sha512-TyOJ58DFqzCi6PU4/7bDeb2kNIVCPLfJ+RLGdDZxAGIbPRLQ61nupPUtX9QudYHt+dnRpfIHAwclq7SlDc1cDw==", + "dev": true, + "dependencies": { + "command-line-usage": "^6.1.3", + "fastest-levenshtein": "^1.0.16", + "minimist": "^1.2.8", + "picocolors": "^1.0.1", + "pretty-ms": "^8.0.0" + }, + "bin": { + "hereby": "bin/hereby.js" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/hereby/node_modules/parse-ms": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-3.0.0.tgz", + "integrity": "sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hereby/node_modules/pretty-ms": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-8.0.0.tgz", + "integrity": "sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==", + "dev": true, + "dependencies": { + "parse-ms": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/human-signals": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-to-typescript-lite": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/json-schema-to-typescript-lite/-/json-schema-to-typescript-lite-14.1.0.tgz", + "integrity": "sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==", + "dev": true, + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^11.7.0", + "@types/json-schema": "^7.0.15" + } + }, + "node_modules/libsyncrpc": { + "resolved": "../libsyncrpc", + "link": true + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readdirp": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", + "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", + "dev": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/semver": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dev": true, + "dependencies": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/tinybench": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-3.1.1.tgz", + "integrity": "sha512-74pmf47HY/bHqamcCMGris+1AtGGsqTZ3Hc/UK4QvSmRuf/9PIF9753+c8XBh7JfX2r9KeZtVjOYjd6vFpc0qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-lsp": { + "resolved": "_extension", + "link": true + }, + "node_modules/typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageclient": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz", + "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==", + "dependencies": { + "minimatch": "^5.1.0", + "semver": "^7.3.7", + "vscode-languageserver-protocol": "3.17.5" + }, + "engines": { + "vscode": "^1.82.0" + } + }, + "node_modules/vscode-languageclient/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + }, + "node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "dev": true, + "dependencies": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@apidevtools/json-schema-ref-parser": { + "version": "11.9.0", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.0.tgz", + "integrity": "sha512-8Q/r5mXLa8Rfyh6r4SgEEFJgISVN5cDNFlcfSWLgFn3odzQhTfHAqzI3hMGdcROViL+8NrDNVVFQtEUrYOksDg==", + "dev": true, + "requires": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + } + }, + "@dprint/darwin-arm64": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.47.6.tgz", + "integrity": "sha512-DrtKVOH7Ue6QYsqsUfUwBlTkSZNF2j35xqyI6KimUT1ulgUPocLG53JC/Aej9KuSCPmt4M3J40xxPKRgIM4jPA==", + "dev": true, + "optional": true + }, + "@dprint/darwin-x64": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.47.6.tgz", + "integrity": "sha512-p16a4lMbAo4RngbNTAmtREnIRI/cOcZFy5wHPIzbCDnnHI+4UyHiAypTrpF8U8EYx1tw3hgih2MyAuupa9Gfag==", + "dev": true, + "optional": true + }, + "@dprint/linux-arm64-glibc": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.47.6.tgz", + "integrity": "sha512-WHphnk0oXpNzwJ9cjbddOL+hEZkXTvHxcA2pM1h1kWCBa5m+4qh0fg8YCktckMfHx1qdQuZYWRoT4l7yQbzWYA==", + "dev": true, + "optional": true + }, + "@dprint/linux-arm64-musl": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.47.6.tgz", + "integrity": "sha512-/2cSPudajg8J0U69ldNZkJx5QiKZNh+ohNVM9leWZ8v6GXN6sJDHX3T6hzS3ohIb03YOCiLOrJZDy9j3+fSgdQ==", + "dev": true, + "optional": true + }, + "@dprint/linux-riscv64-glibc": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-riscv64-glibc/-/linux-riscv64-glibc-0.47.6.tgz", + "integrity": "sha512-RMHJ3Zuzpls426upHlAveVwlGMi8oBLzhiCauyC/yWQl3CkGTAYdyhEpGnux0+RxacysfIL2bd8ourx4K0Sx3w==", + "dev": true, + "optional": true + }, + "@dprint/linux-x64-glibc": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.47.6.tgz", + "integrity": "sha512-4zbVsx/a8lHkRyAjfW0PNlN5IMwOJfFapgXNYJowWNO7X3j3m1jYJWovjmdZls+d6pDeOHoanMWtq95wd7zTeQ==", + "dev": true, + "optional": true + }, + "@dprint/linux-x64-musl": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.47.6.tgz", + "integrity": "sha512-0C13t4OVzomgQjvUyD5IrRyjLDhGuOtqMo00uJlwn3QHucfgOBqkjyQ5fq7T6+grBse0m14/EWblvSbYkZpyDw==", + "dev": true, + "optional": true + }, + "@dprint/win32-arm64": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/win32-arm64/-/win32-arm64-0.47.6.tgz", + "integrity": "sha512-UOkeFMBdGIuGNwfkrJdVM9eNiRMdbZRRGVy0Cdo2AXn/FCDVqZ74KJkvYVcoUE27GCytHi4Sp1s4at7659WCOw==", + "dev": true, + "optional": true + }, + "@dprint/win32-x64": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.47.6.tgz", + "integrity": "sha512-i9xwXR8V8Jk/wU1gsYKx15eb0ypBRbRZFkHsnHfC0ZBimcfEOibGnGcfv+UCUcumXtnV46TnBqaJW7H70J1J+A==", + "dev": true, + "optional": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + } + }, + "@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, + "@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/node": { + "version": "22.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", + "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", + "dev": true, + "requires": { + "undici-types": "~6.20.0" + } + }, + "@types/vscode": { + "version": "1.96.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.96.0.tgz", + "integrity": "sha512-qvZbSZo+K4ZYmmDuaodMbAa67Pl6VDQzLKFka6rq+3WUTY4Kro7Bwoi0CuZLO/wema0ygcmpwow7zZfPJTs5jg==", + "dev": true + }, + "@types/which": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/which/-/which-3.0.4.tgz", + "integrity": "sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==", + "dev": true + }, + "@typescript/api": { + "version": "file:_packages/api", + "requires": { + "@typescript/ast": "1.0.0", + "libsyncrpc": "file:../../../libsyncrpc", + "tinybench": "^3.1.1" + } + }, + "@typescript/ast": { + "version": "file:_packages/ast" + }, + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "requires": { + "readdirp": "^4.0.1" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "command-line-usage": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", + "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "dev": true, + "requires": { + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" + } + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "dprint": { + "version": "0.47.6", + "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.47.6.tgz", + "integrity": "sha512-vCQC+IMHVZbISA5pxEj+yshQbozmQoVFA4lzcLlqJ8rzIAH8U+1DKvesN/2Uv3Bqz6rMW6W4WY7pYJQljmiZ8w==", + "dev": true, + "requires": { + "@dprint/darwin-arm64": "0.47.6", + "@dprint/darwin-x64": "0.47.6", + "@dprint/linux-arm64-glibc": "0.47.6", + "@dprint/linux-arm64-musl": "0.47.6", + "@dprint/linux-riscv64-glibc": "0.47.6", + "@dprint/linux-x64-glibc": "0.47.6", + "@dprint/linux-x64-musl": "0.47.6", + "@dprint/win32-arm64": "0.47.6", + "@dprint/win32-x64": "0.47.6" + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "execa": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.1.tgz", + "integrity": "sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==", + "dev": true, + "requires": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + } + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "requires": { + "is-unicode-supported": "^2.0.0" + } + }, + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "requires": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + } + }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "hereby": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/hereby/-/hereby-1.10.0.tgz", + "integrity": "sha512-TyOJ58DFqzCi6PU4/7bDeb2kNIVCPLfJ+RLGdDZxAGIbPRLQ61nupPUtX9QudYHt+dnRpfIHAwclq7SlDc1cDw==", + "dev": true, + "requires": { + "command-line-usage": "^6.1.3", + "fastest-levenshtein": "^1.0.16", + "minimist": "^1.2.8", + "picocolors": "^1.0.1", + "pretty-ms": "^8.0.0" + }, + "dependencies": { + "parse-ms": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-3.0.0.tgz", + "integrity": "sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==", + "dev": true + }, + "pretty-ms": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-8.0.0.tgz", + "integrity": "sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==", + "dev": true, + "requires": { + "parse-ms": "^3.0.0" + } + } + } + }, + "human-signals": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true + }, + "is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true + }, + "is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true + }, + "isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true + }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-to-typescript-lite": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/json-schema-to-typescript-lite/-/json-schema-to-typescript-lite-14.1.0.tgz", + "integrity": "sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==", + "dev": true, + "requires": { + "@apidevtools/json-schema-ref-parser": "^11.7.0", + "@types/json-schema": "^7.0.15" + } + }, + "libsyncrpc": { + "version": "file:../libsyncrpc", + "requires": { + "@napi-rs/cli": "^2.18.4", + "@suchipi/dtsmd": "^1.1.0", + "ava": "^6.0.1", + "tinybench": "^2.9.0" + } + }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, + "npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "requires": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + } + } + }, + "package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, + "parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + } + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "requires": { + "parse-ms": "^4.0.0" + } + }, + "readdirp": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", + "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", + "dev": true + }, + "reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "dev": true + }, + "semver": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } + } + }, + "strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "table-layout": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "dev": true, + "requires": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + } + }, + "tinybench": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-3.1.1.tgz", + "integrity": "sha512-74pmf47HY/bHqamcCMGris+1AtGGsqTZ3Hc/UK4QvSmRuf/9PIF9753+c8XBh7JfX2r9KeZtVjOYjd6vFpc0qQ==", + "dev": true + }, + "typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true + }, + "typescript-lsp": { + "version": "file:_extension", + "requires": { + "@types/vscode": "^1.96.0", + "vscode-languageclient": "^9.0.1" + } + }, + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true + }, + "undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true + }, + "unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true + }, + "vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==" + }, + "vscode-languageclient": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-9.0.1.tgz", + "integrity": "sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==", + "requires": { + "minimatch": "^5.1.0", + "semver": "^7.3.7", + "vscode-languageserver-protocol": "3.17.5" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "requires": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==" + }, + "which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "requires": { + "isexe": "^3.1.1" + } + }, + "wordwrapjs": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "dev": true, + "requires": { + "reduce-flatten": "^2.0.0", + "typical": "^5.2.0" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true + } + } +} diff --git a/package.json b/package.json index f1d889652f..5cd212c942 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "glob": "^10.4.5", "hereby": "^1.10.0", "json-schema-to-typescript-lite": "^14.1.0", - "mitata": "^1.0.34", "picocolors": "^1.1.1", "typescript": "^5.7.3", "which": "^5.0.0" @@ -38,14 +37,18 @@ "build": "hereby build", "build:watch": "hereby build:watch", "test": "hereby test", - "api:build": "pnpm --filter ./_packages/api run build", - "extension:build": "pnpm --filter ./_extension build", - "extension:watch": "pnpm --filter ./_extension watch", + "api:build": "npm run -w @typescript/api build", + "extension:build": "npm run -w typescript-lsp build", + "extension:watch": "npm run -w typescript-lsp watch", "node": "node --no-warnings --conditions @typescript/source" }, - "packageManager": "pnpm@9.15.5", + "workspaces": [ + "./_extension", + "./_packages/*" + ], + "packageManager": "npm@8.19.4", "volta": { "node": "20.5.1", - "pnpm": "*" + "npm": "8.19.4" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index a1b89c8cb5..0000000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,845 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - devDependencies: - '@types/node': - specifier: latest - version: 22.13.10 - '@types/which': - specifier: ^3.0.4 - version: 3.0.4 - chokidar: - specifier: ^4.0.3 - version: 4.0.3 - dprint: - specifier: ^0.47.6 - version: 0.47.6 - execa: - specifier: ^9.5.1 - version: 9.5.1 - glob: - specifier: ^10.4.5 - version: 10.4.5 - hereby: - specifier: ^1.10.0 - version: 1.10.0 - json-schema-to-typescript-lite: - specifier: ^14.1.0 - version: 14.1.0 - mitata: - specifier: ^1.0.34 - version: 1.0.34 - picocolors: - specifier: ^1.1.1 - version: 1.1.1 - typescript: - specifier: ^5.7.3 - version: 5.7.3 - which: - specifier: ^5.0.0 - version: 5.0.0 - - _extension: - dependencies: - vscode-languageclient: - specifier: ^9.0.1 - version: 9.0.1 - devDependencies: - '@types/vscode': - specifier: ^1.96.0 - version: 1.96.0 - - _packages/api: - dependencies: - '@typescript/ast': - specifier: workspace:* - version: link:../ast - libsyncrpc: - specifier: link:../../../libsyncrpc - version: link:../../../libsyncrpc - devDependencies: - tinybench: - specifier: ^3.1.1 - version: 3.1.1 - - _packages/ast: {} - -packages: - - '@apidevtools/json-schema-ref-parser@11.9.0': - resolution: {integrity: sha512-8Q/r5mXLa8Rfyh6r4SgEEFJgISVN5cDNFlcfSWLgFn3odzQhTfHAqzI3hMGdcROViL+8NrDNVVFQtEUrYOksDg==} - engines: {node: '>= 16'} - - '@dprint/darwin-arm64@0.47.6': - resolution: {integrity: sha512-DrtKVOH7Ue6QYsqsUfUwBlTkSZNF2j35xqyI6KimUT1ulgUPocLG53JC/Aej9KuSCPmt4M3J40xxPKRgIM4jPA==} - cpu: [arm64] - os: [darwin] - - '@dprint/darwin-x64@0.47.6': - resolution: {integrity: sha512-p16a4lMbAo4RngbNTAmtREnIRI/cOcZFy5wHPIzbCDnnHI+4UyHiAypTrpF8U8EYx1tw3hgih2MyAuupa9Gfag==} - cpu: [x64] - os: [darwin] - - '@dprint/linux-arm64-glibc@0.47.6': - resolution: {integrity: sha512-WHphnk0oXpNzwJ9cjbddOL+hEZkXTvHxcA2pM1h1kWCBa5m+4qh0fg8YCktckMfHx1qdQuZYWRoT4l7yQbzWYA==} - cpu: [arm64] - os: [linux] - - '@dprint/linux-arm64-musl@0.47.6': - resolution: {integrity: sha512-/2cSPudajg8J0U69ldNZkJx5QiKZNh+ohNVM9leWZ8v6GXN6sJDHX3T6hzS3ohIb03YOCiLOrJZDy9j3+fSgdQ==} - cpu: [arm64] - os: [linux] - - '@dprint/linux-riscv64-glibc@0.47.6': - resolution: {integrity: sha512-RMHJ3Zuzpls426upHlAveVwlGMi8oBLzhiCauyC/yWQl3CkGTAYdyhEpGnux0+RxacysfIL2bd8ourx4K0Sx3w==} - cpu: [riscv64] - os: [linux] - - '@dprint/linux-x64-glibc@0.47.6': - resolution: {integrity: sha512-4zbVsx/a8lHkRyAjfW0PNlN5IMwOJfFapgXNYJowWNO7X3j3m1jYJWovjmdZls+d6pDeOHoanMWtq95wd7zTeQ==} - cpu: [x64] - os: [linux] - - '@dprint/linux-x64-musl@0.47.6': - resolution: {integrity: sha512-0C13t4OVzomgQjvUyD5IrRyjLDhGuOtqMo00uJlwn3QHucfgOBqkjyQ5fq7T6+grBse0m14/EWblvSbYkZpyDw==} - cpu: [x64] - os: [linux] - - '@dprint/win32-arm64@0.47.6': - resolution: {integrity: sha512-UOkeFMBdGIuGNwfkrJdVM9eNiRMdbZRRGVy0Cdo2AXn/FCDVqZ74KJkvYVcoUE27GCytHi4Sp1s4at7659WCOw==} - cpu: [arm64] - os: [win32] - - '@dprint/win32-x64@0.47.6': - resolution: {integrity: sha512-i9xwXR8V8Jk/wU1gsYKx15eb0ypBRbRZFkHsnHfC0ZBimcfEOibGnGcfv+UCUcumXtnV46TnBqaJW7H70J1J+A==} - cpu: [x64] - os: [win32] - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@jsdevtools/ono@7.1.3': - resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@sec-ant/readable-stream@0.4.1': - resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - - '@sindresorhus/merge-streams@4.0.0': - resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} - engines: {node: '>=18'} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/node@22.13.10': - resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==} - - '@types/vscode@1.96.0': - resolution: {integrity: sha512-qvZbSZo+K4ZYmmDuaodMbAa67Pl6VDQzLKFka6rq+3WUTY4Kro7Bwoi0CuZLO/wema0ygcmpwow7zZfPJTs5jg==} - - '@types/which@3.0.4': - resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - array-back@4.0.2: - resolution: {integrity: sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==} - engines: {node: '>=8'} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - command-line-usage@6.1.3: - resolution: {integrity: sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==} - engines: {node: '>=8.0.0'} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - dprint@0.47.6: - resolution: {integrity: sha512-vCQC+IMHVZbISA5pxEj+yshQbozmQoVFA4lzcLlqJ8rzIAH8U+1DKvesN/2Uv3Bqz6rMW6W4WY7pYJQljmiZ8w==} - hasBin: true - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - execa@9.5.1: - resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==} - engines: {node: ^18.19.0 || >=20.5.0} - - fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} - - figures@6.1.0: - resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} - engines: {node: '>=18'} - - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} - engines: {node: '>=14'} - - get-stream@9.0.1: - resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} - engines: {node: '>=18'} - - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - hereby@1.10.0: - resolution: {integrity: sha512-TyOJ58DFqzCi6PU4/7bDeb2kNIVCPLfJ+RLGdDZxAGIbPRLQ61nupPUtX9QudYHt+dnRpfIHAwclq7SlDc1cDw==} - engines: {node: '>= 12.20'} - hasBin: true - - human-signals@8.0.0: - resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} - engines: {node: '>=18.18.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - is-stream@4.0.1: - resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} - engines: {node: '>=18'} - - is-unicode-supported@2.1.0: - resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} - engines: {node: '>=18'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} - - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - json-schema-to-typescript-lite@14.1.0: - resolution: {integrity: sha512-b8K6P3aiLgiYKYcHacgZKrwPXPyjekqRPV5vkNfBt0EoohcOSXEbcuGzgi6KQmsAhuy5Mh2KMxofXodRhMxURA==} - - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} - - mitata@1.0.34: - resolution: {integrity: sha512-Mc3zrtNBKIMeHSCQ0XqRLo1vbdIx1wvFV9c8NJAiyho6AjNfMY8bVhbS12bwciUdd1t4rj8099CH3N3NFahaUA==} - - npm-run-path@6.0.0: - resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} - engines: {node: '>=18'} - - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - parse-ms@3.0.0: - resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} - engines: {node: '>=12'} - - parse-ms@4.0.0: - resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} - engines: {node: '>=18'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - pretty-ms@8.0.0: - resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} - engines: {node: '>=14.16'} - - pretty-ms@9.2.0: - resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} - engines: {node: '>=18'} - - readdirp@4.1.1: - resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} - engines: {node: '>= 14.18.0'} - - reduce-flatten@2.0.0: - resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} - engines: {node: '>=6'} - - semver@7.7.0: - resolution: {integrity: sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==} - engines: {node: '>=10'} - hasBin: true - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-final-newline@4.0.0: - resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} - engines: {node: '>=18'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - table-layout@1.0.2: - resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} - engines: {node: '>=8.0.0'} - - tinybench@3.1.1: - resolution: {integrity: sha512-74pmf47HY/bHqamcCMGris+1AtGGsqTZ3Hc/UK4QvSmRuf/9PIF9753+c8XBh7JfX2r9KeZtVjOYjd6vFpc0qQ==} - engines: {node: '>=18.0.0'} - - typescript@5.7.3: - resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} - engines: {node: '>=14.17'} - hasBin: true - - typical@5.2.0: - resolution: {integrity: sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==} - engines: {node: '>=8'} - - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - - unicorn-magic@0.3.0: - resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} - engines: {node: '>=18'} - - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} - engines: {node: '>=14.0.0'} - - vscode-languageclient@9.0.1: - resolution: {integrity: sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==} - engines: {vscode: ^1.82.0} - - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} - - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - which@5.0.0: - resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} - engines: {node: ^18.17.0 || >=20.5.0} - hasBin: true - - wordwrapjs@4.0.1: - resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} - engines: {node: '>=8.0.0'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - yoctocolors@2.1.1: - resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} - engines: {node: '>=18'} - -snapshots: - - '@apidevtools/json-schema-ref-parser@11.9.0': - dependencies: - '@jsdevtools/ono': 7.1.3 - '@types/json-schema': 7.0.15 - js-yaml: 4.1.0 - - '@dprint/darwin-arm64@0.47.6': - optional: true - - '@dprint/darwin-x64@0.47.6': - optional: true - - '@dprint/linux-arm64-glibc@0.47.6': - optional: true - - '@dprint/linux-arm64-musl@0.47.6': - optional: true - - '@dprint/linux-riscv64-glibc@0.47.6': - optional: true - - '@dprint/linux-x64-glibc@0.47.6': - optional: true - - '@dprint/linux-x64-musl@0.47.6': - optional: true - - '@dprint/win32-arm64@0.47.6': - optional: true - - '@dprint/win32-x64@0.47.6': - optional: true - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@jsdevtools/ono@7.1.3': {} - - '@pkgjs/parseargs@0.11.0': - optional: true - - '@sec-ant/readable-stream@0.4.1': {} - - '@sindresorhus/merge-streams@4.0.0': {} - - '@types/json-schema@7.0.15': {} - - '@types/node@22.13.10': - dependencies: - undici-types: 6.20.0 - - '@types/vscode@1.96.0': {} - - '@types/which@3.0.4': {} - - ansi-regex@5.0.1: {} - - ansi-regex@6.1.0: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@6.2.1: {} - - argparse@2.0.1: {} - - array-back@4.0.2: {} - - balanced-match@1.0.2: {} - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chokidar@4.0.3: - dependencies: - readdirp: 4.1.1 - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} - - command-line-usage@6.1.3: - dependencies: - array-back: 4.0.2 - chalk: 2.4.2 - table-layout: 1.0.2 - typical: 5.2.0 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - deep-extend@0.6.0: {} - - dprint@0.47.6: - optionalDependencies: - '@dprint/darwin-arm64': 0.47.6 - '@dprint/darwin-x64': 0.47.6 - '@dprint/linux-arm64-glibc': 0.47.6 - '@dprint/linux-arm64-musl': 0.47.6 - '@dprint/linux-riscv64-glibc': 0.47.6 - '@dprint/linux-x64-glibc': 0.47.6 - '@dprint/linux-x64-musl': 0.47.6 - '@dprint/win32-arm64': 0.47.6 - '@dprint/win32-x64': 0.47.6 - - eastasianwidth@0.2.0: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} - - escape-string-regexp@1.0.5: {} - - execa@9.5.1: - dependencies: - '@sindresorhus/merge-streams': 4.0.0 - cross-spawn: 7.0.6 - figures: 6.1.0 - get-stream: 9.0.1 - human-signals: 8.0.0 - is-plain-obj: 4.1.0 - is-stream: 4.0.1 - npm-run-path: 6.0.0 - pretty-ms: 9.2.0 - signal-exit: 4.1.0 - strip-final-newline: 4.0.0 - yoctocolors: 2.1.1 - - fastest-levenshtein@1.0.16: {} - - figures@6.1.0: - dependencies: - is-unicode-supported: 2.1.0 - - foreground-child@3.3.0: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - - get-stream@9.0.1: - dependencies: - '@sec-ant/readable-stream': 0.4.1 - is-stream: 4.0.1 - - glob@10.4.5: - dependencies: - foreground-child: 3.3.0 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - - has-flag@3.0.0: {} - - hereby@1.10.0: - dependencies: - command-line-usage: 6.1.3 - fastest-levenshtein: 1.0.16 - minimist: 1.2.8 - picocolors: 1.1.1 - pretty-ms: 8.0.0 - - human-signals@8.0.0: {} - - is-fullwidth-code-point@3.0.0: {} - - is-plain-obj@4.1.0: {} - - is-stream@4.0.1: {} - - is-unicode-supported@2.1.0: {} - - isexe@2.0.0: {} - - isexe@3.1.1: {} - - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - - json-schema-to-typescript-lite@14.1.0: - dependencies: - '@apidevtools/json-schema-ref-parser': 11.9.0 - '@types/json-schema': 7.0.15 - - lru-cache@10.4.3: {} - - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - - minimatch@9.0.5: - dependencies: - brace-expansion: 2.0.1 - - minimist@1.2.8: {} - - minipass@7.1.2: {} - - mitata@1.0.34: {} - - npm-run-path@6.0.0: - dependencies: - path-key: 4.0.0 - unicorn-magic: 0.3.0 - - package-json-from-dist@1.0.1: {} - - parse-ms@3.0.0: {} - - parse-ms@4.0.0: {} - - path-key@3.1.1: {} - - path-key@4.0.0: {} - - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 - - picocolors@1.1.1: {} - - pretty-ms@8.0.0: - dependencies: - parse-ms: 3.0.0 - - pretty-ms@9.2.0: - dependencies: - parse-ms: 4.0.0 - - readdirp@4.1.1: {} - - reduce-flatten@2.0.0: {} - - semver@7.7.0: {} - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - signal-exit@4.1.0: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - - strip-final-newline@4.0.0: {} - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - - table-layout@1.0.2: - dependencies: - array-back: 4.0.2 - deep-extend: 0.6.0 - typical: 5.2.0 - wordwrapjs: 4.0.1 - - tinybench@3.1.1: {} - - typescript@5.7.3: {} - - typical@5.2.0: {} - - undici-types@6.20.0: {} - - unicorn-magic@0.3.0: {} - - vscode-jsonrpc@8.2.0: {} - - vscode-languageclient@9.0.1: - dependencies: - minimatch: 5.1.6 - semver: 7.7.0 - vscode-languageserver-protocol: 3.17.5 - - vscode-languageserver-protocol@3.17.5: - dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 - - vscode-languageserver-types@3.17.5: {} - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - which@5.0.0: - dependencies: - isexe: 3.1.1 - - wordwrapjs@4.0.1: - dependencies: - reduce-flatten: 2.0.0 - typical: 5.2.0 - - wrap-ansi@7.0.0: - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - yoctocolors@2.1.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index 0192882609..0000000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,3 +0,0 @@ -packages: - - '_extension' - - '_packages/*' \ No newline at end of file From 44328e75405547dbc32ff5d8eddb953e50ea79bb Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 26 Mar 2025 16:40:39 -0700 Subject: [PATCH 32/63] Use extended node data for SourceFile, include fileName property --- _packages/api/src/node.ts | 14 ++++++++---- _packages/api/test/api.test.ts | 3 ++- _packages/ast/src/nodes.ts | 1 + internal/api/encoder/encoder.go | 24 ++++++++++++++++---- internal/api/encoder/stringtable.go | 35 ++++++++++++++++------------- 5 files changed, 53 insertions(+), 24 deletions(-) diff --git a/_packages/api/src/node.ts b/_packages/api/src/node.ts index b151241b1b..855fd45e88 100644 --- a/_packages/api/src/node.ts +++ b/_packages/api/src/node.ts @@ -765,6 +765,7 @@ export class RemoteNode extends RemoteNodeBase implements Node { const stringIndex = this.data & NODE_STRING_INDEX_MASK; return this.getString(stringIndex); } + case SyntaxKind.SourceFile: case SyntaxKind.TemplateHead: case SyntaxKind.TemplateMiddle: case SyntaxKind.TemplateTail: { @@ -786,6 +787,15 @@ export class RemoteNode extends RemoteNodeBase implements Node { } } + get fileName(): string | undefined { + switch (this.kind) { + case SyntaxKind.SourceFile: + const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); + const stringIndex = this.view.getUint32(extendedDataOffset + 4, true); + return this.getString(stringIndex); + } + } + // Other properties get flags(): number { switch (this.kind) { @@ -822,8 +832,4 @@ export class RemoteSourceFile extends RemoteNode { const view = new DataView(data.buffer, data.byteOffset, data.byteLength); super(view, decoder, 1, undefined!); } - - get text(): string { - return this.getFileText(0, this.end); - } } diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index 05510b10a2..809cd8364c 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -52,13 +52,14 @@ describe("Project", () => { }); describe("SourceFile", () => { - test("file text", () => { + test("file properties", () => { const api = spawnAPI(); const project = api.loadProject("/tsconfig.json"); const sourceFile = project.getSourceFile("/src/index.ts"); assert.ok(sourceFile); assert.equal(sourceFile.text, defaultFiles["/src/index.ts"]); + assert.equal(sourceFile.fileName, "/src/index.ts"); }); test("extended data", () => { diff --git a/_packages/ast/src/nodes.ts b/_packages/ast/src/nodes.ts index 0633cfcf55..2ade6d2dc3 100644 --- a/_packages/ast/src/nodes.ts +++ b/_packages/ast/src/nodes.ts @@ -15,6 +15,7 @@ export interface SourceFile extends Node { readonly kind: SyntaxKind.SourceFile; readonly statements: NodeArray; readonly text: string; + readonly fileName: string; } export type TriviaSyntaxKind = diff --git a/internal/api/encoder/encoder.go b/internal/api/encoder/encoder.go index 754289972d..df47cb2499 100644 --- a/internal/api/encoder/encoder.go +++ b/internal/api/encoder/encoder.go @@ -101,8 +101,8 @@ const ( // The extended node data section contains additional data for specific node types. The length and meaning of each entry // is defined by the node type. // -// Currently, the only node types that use this section are `TemplateHead`, `TemplateMiddle`, and `TemplateTail`. The -// extended data format for these nodes is: +// Currently, the only node types that use this section are `TemplateHead`, `TemplateMiddle`, `TemplateTail`, and +// `SourceFile`. The extended data format for the first three is: // // | Byte offset | Type | Field | // | ----------- | ------ | ------------------------------------------------ | @@ -110,6 +110,13 @@ const ( // | 4-8 | uint32 | Index of `rawText` in the string offsets section | // | 8-12 | uint32 | Value of `templateFlags` | // +// and for `SourceFile` is: +// +// | Byte offset | Type | Field | +// | ----------- | ------ | ------------------------------------------------- | +// | 0-4 | uint32 | Index of `text` in the string offsets section | +// | 4-8 | uint32 | Index of `fileName` in the string offsets section | +// // Nodes (24 bytes per node) // ------------------------- // @@ -283,7 +290,7 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { nodeCount++ parentIndex++ - nodes = appendUint32s(nodes, uint32(sourceFile.Kind), uint32(sourceFile.Pos()), uint32(sourceFile.End()), 0, 0, 0) + nodes = appendUint32s(nodes, uint32(sourceFile.Kind), uint32(sourceFile.Pos()), uint32(sourceFile.End()), 0, 0, getNodeData(sourceFile.AsNode(), strs, &extendedData)) visitor.VisitEachChild(sourceFile.AsNode()) @@ -353,7 +360,8 @@ func getNodeDataType(node *ast.Node) uint32 { return NodeDataTypeString case ast.KindTemplateHead, ast.KindTemplateMiddle, - ast.KindTemplateTail: + ast.KindTemplateTail, + ast.KindSourceFile: return NodeDataTypeExtendedData default: return NodeDataTypeChildren @@ -772,6 +780,14 @@ func recordNodeStrings(node *ast.Node, strs *stringTable) uint32 { func recordExtendedData(node *ast.Node, strs *stringTable, extendedData *[]byte) uint32 { offset := uint32(len(*extendedData)) + if node.Kind == ast.KindSourceFile { + n := node.AsSourceFile() + textIndex := strs.add(n.Text, node.Kind, node.Pos(), node.End()) + fileNameIndex := strs.add(n.FileName(), 0, 0, 0) + *extendedData = appendUint32s(*extendedData, textIndex, fileNameIndex) + return offset + } + var text, rawText string var templateFlags uint32 switch node.Kind { diff --git a/internal/api/encoder/stringtable.go b/internal/api/encoder/stringtable.go index 8c9bc126b5..098015d87a 100644 --- a/internal/api/encoder/stringtable.go +++ b/internal/api/encoder/stringtable.go @@ -23,27 +23,32 @@ func newStringTable(fileText string, stringCount int) *stringTable { } func (t *stringTable) add(text string, kind ast.Kind, pos int, end int) uint32 { - length := len(text) - // pos includes leading trivia, but we can usually infer the actual start of the - // string from the kind and end - endOffset := 0 - if kind == ast.KindStringLiteral || kind == ast.KindTemplateTail || kind == ast.KindNoSubstitutionTemplateLiteral { - endOffset = 1 + index := uint32(len(t.offsets)) + if kind == ast.KindSourceFile { + t.offsets = append(t.offsets, uint32(pos), uint32(end)) + return index } - end = end - endOffset - start := end - length - fileSlice := t.fileText[start:end] - if fileSlice == text { - index := len(t.offsets) - t.offsets = append(t.offsets, uint32(start), uint32(end)) - return uint32(index) + length := len(text) + if end-pos > 0 { + // pos includes leading trivia, but we can usually infer the actual start of the + // string from the kind and end + endOffset := 0 + if kind == ast.KindStringLiteral || kind == ast.KindTemplateTail || kind == ast.KindNoSubstitutionTemplateLiteral { + endOffset = 1 + } + end = end - endOffset + start := end - length + fileSlice := t.fileText[start:end] + if fileSlice == text { + t.offsets = append(t.offsets, uint32(start), uint32(end)) + return index + } } // no exact match, so we need to add it to the string table offset := len(t.fileText) + t.otherStrings.Len() t.otherStrings.WriteString(text) - index := len(t.offsets) t.offsets = append(t.offsets, uint32(offset), uint32(offset+length)) - return uint32(index) + return index } func (t *stringTable) encode() []byte { From 5ce3cb7747738aa33a92c367d6ca9d638f797423 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 27 Mar 2025 14:48:44 -0700 Subject: [PATCH 33/63] Switch to explicit-only resource management --- _packages/api/src/api.ts | 43 +++++++++++++--- _packages/api/src/objectRegistry.ts | 77 ++++++++++------------------- _packages/api/test/api.test.ts | 28 +++++++++++ internal/api/api.go | 42 ++++++++++++++++ internal/api/encoder/encoder.go | 36 +++++++------- internal/api/proto.go | 5 +- internal/api/server.go | 6 +-- internal/project/project.go | 4 ++ 8 files changed, 159 insertions(+), 82 deletions(-) diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index ea076e3477..4b7bf0a402 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -52,10 +52,32 @@ export class API { } } -export class Project { +export class DisposableObject { + private disposed: boolean = false; + protected objectRegistry: ObjectRegistry; + constructor(objectRegistry: ObjectRegistry) { + this.objectRegistry = objectRegistry; + } + [globalThis.Symbol.dispose](): void { + this.objectRegistry.release(this); + this.disposed = true; + } + dispose(): void { + this[globalThis.Symbol.dispose](); + } + isDisposed(): boolean { + return this.disposed; + } + ensureNotDisposed(): void { + if (this.disposed) { + throw new Error(`${this.constructor.name} is disposed`); + } + } +} + +export class Project extends DisposableObject { private decoder = new TextDecoder(); private client: Client; - private objectRegistry: ObjectRegistry; id: string; configFileName!: string; @@ -63,9 +85,9 @@ export class Project { rootFiles!: readonly string[]; constructor(client: Client, objectRegistry: ObjectRegistry, data: ProjectResponse) { + super(objectRegistry); this.id = data.id; this.client = client; - this.objectRegistry = objectRegistry; this.loadData(data); } @@ -76,10 +98,12 @@ export class Project { } reload(): void { + this.ensureNotDisposed(); this.loadData(this.client.request("loadProject", { configFileName: this.configFileName })); } getSourceFile(fileName: string): SourceFile | undefined { + this.ensureNotDisposed(); const data = this.client.requestBinary("getSourceFile", { project: this.id, fileName }); return data ? new RemoteSourceFile(data, this.decoder) as unknown as SourceFile : undefined; } @@ -87,6 +111,7 @@ export class Project { getSymbolAtPosition(requests: readonly GetSymbolAtPositionParams[]): (Symbol | undefined)[]; getSymbolAtPosition(fileName: string, position: number | number[]): Symbol | undefined; getSymbolAtPosition(...params: [fileName: string, position: number | number[]] | [readonly GetSymbolAtPositionParams[]]): Symbol | undefined | (Symbol | undefined)[] { + this.ensureNotDisposed(); if (params.length === 2) { if (typeof params[1] === "number") { const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); @@ -100,19 +125,22 @@ export class Project { } getTypeOfSymbol(symbol: Symbol): Type | undefined { + this.ensureNotDisposed(); + symbol.ensureNotDisposed(); const data = this.client.request("getTypeOfSymbol", { project: this.id, symbol: symbol.id }); return data ? this.objectRegistry.getType(data) : undefined; } } -export class Symbol { +export class Symbol extends DisposableObject { private client: Client; id: string; name: string; flags: SymbolFlags; checkFlags: number; - constructor(client: Client, data: SymbolResponse) { + constructor(client: Client, objectRegistry: ObjectRegistry, data: SymbolResponse) { + super(objectRegistry); this.client = client; this.id = data.id; this.name = data.name; @@ -121,11 +149,12 @@ export class Symbol { } } -export class Type { +export class Type extends DisposableObject { private client: Client; id: string; flags: TypeFlags; - constructor(client: Client, data: TypeResponse) { + constructor(client: Client, objectRegistry: ObjectRegistry, data: TypeResponse) { + super(objectRegistry); this.client = client; this.id = data.id; this.flags = data.flags; diff --git a/_packages/api/src/objectRegistry.ts b/_packages/api/src/objectRegistry.ts index d236b1688a..4d1ab4156d 100644 --- a/_packages/api/src/objectRegistry.ts +++ b/_packages/api/src/objectRegistry.ts @@ -12,98 +12,73 @@ import type { export class ObjectRegistry { private client: Client; - private projects: Map> = new Map(); - private symbols: Map> = new Map(); - private types: Map> = new Map(); - - private pendingReleases: Set = new Set(); - - private finalizationRegistry = new FinalizationRegistry((handle: string) => { - this.pendingReleases.add(handle); - queueMicrotask(() => { - this.releaseObjects(); - }); - - switch (handle[0]) { - case "p": - this.projects.delete(handle); - break; - case "s": - this.symbols.delete(handle); - break; - case "t": - this.types.delete(handle); - break; - default: - throw new Error(`Unknown handle type: ${handle[0]}`); - } - }); + private projects: Map = new Map(); + private symbols: Map = new Map(); + private types: Map = new Map(); constructor(client: Client) { this.client = client; } - private releaseObjects() { - this.client.request("release", Array.from(this.pendingReleases)); - this.pendingReleases.clear(); - } - getProject(data: ProjectResponse): Project { - const projectRef = this.projects.get(data.id); - let project = projectRef?.deref(); + let project = this.projects.get(data.id); if (project) { return project; } project = new Project(this.client, this, data); - this.projects.set(data.id, new WeakRef(project)); - this.finalizationRegistry.register(project, data.id, project); + this.projects.set(data.id, project); return project; } getSymbol(data: SymbolResponse): Symbol { - const symbolRef = this.symbols.get(data.id); - let symbol = symbolRef?.deref(); + let symbol = this.symbols.get(data.id); if (symbol) { return symbol; } - symbol = new Symbol(this.client, data); - this.symbols.set(data.id, new WeakRef(symbol)); - this.finalizationRegistry.register(symbol, data.id, symbol); + symbol = new Symbol(this.client, this, data); + this.symbols.set(data.id, symbol); return symbol; } getType(data: TypeResponse): Type { - const typeRef = this.types.get(data.id); - let type = typeRef?.deref(); + let type = this.types.get(data.id); if (type) { return type; } - type = new Type(this.client, data); - this.types.set(data.id, new WeakRef(type)); - this.finalizationRegistry.register(type, data.id, type); + type = new Type(this.client, this, data); + this.types.set(data.id, type); return type; } + release(object: object): void { + if (object instanceof Project) { + this.releaseProject(object); + } + else if (object instanceof Symbol) { + this.releaseSymbol(object); + } + else if (object instanceof Type) { + this.releaseType(object); + } + else { + throw new Error("Unknown object type"); + } + } + releaseProject(project: Project): void { - this.finalizationRegistry.unregister(project); - this.pendingReleases.delete(project.id); this.projects.delete(project.id); this.client.request("release", project.id); } releaseSymbol(symbol: Symbol): void { - this.finalizationRegistry.unregister(symbol); - this.pendingReleases.delete(symbol.id); this.symbols.delete(symbol.id); this.client.request("release", symbol.id); } releaseType(type: Type): void { - this.finalizationRegistry.unregister(type); - this.pendingReleases.delete(type.id); this.types.delete(type.id); this.client.request("release", type.id); } diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index 809cd8364c..1990bc2f19 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -102,6 +102,34 @@ test("Object equality", () => { ); }); +test("Dispose", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const symbol = project.getSymbolAtPosition("/src/index.ts", 9); + assert.ok(symbol); + assert.ok(symbol.isDisposed() === false); + symbol.dispose(); + assert.ok(symbol.isDisposed() === true); + assert.throws(() => { + project.getTypeOfSymbol(symbol); + }, { + name: "Error", + message: "Symbol is disposed", + }); + + const symbol2 = project.getSymbolAtPosition("/src/index.ts", 9); + assert.ok(symbol2); + assert.notStrictEqual(symbol, symbol2); + // @ts-ignore private API + api.client.request("release", symbol2.id); + assert.throws(() => { + project.getTypeOfSymbol(symbol2); + }, { + name: "Error", + message: `symbol "${symbol.id}" not found`, + }); +}); + function spawnAPI(files: Record = defaultFiles) { return new API({ cwd: new URL("../../../", import.meta.url).pathname, diff --git a/internal/api/api.go b/internal/api/api.go index 21bd146bcb..f17062aed0 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -9,6 +9,7 @@ import ( "github.com/microsoft/typescript-go/internal/api/encoder" "github.com/microsoft/typescript-go/internal/ast" + "github.com/microsoft/typescript-go/internal/checker" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/project" "github.com/microsoft/typescript-go/internal/tsoptions" @@ -31,6 +32,8 @@ type API struct { projects map[Handle[project.Project]]*project.Project symbolsMu sync.Mutex symbols map[Handle[ast.Symbol]]*ast.Symbol + typesMu sync.Mutex + types map[Handle[checker.Type]]*checker.Type } var _ project.ProjectHost = (*API)(nil) @@ -46,6 +49,7 @@ func NewAPI(host APIHost, options APIOptions) *API { scriptInfos: make(map[tspath.Path]*project.ScriptInfo), projects: make(map[Handle[project.Project]]*project.Project), symbols: make(map[Handle[ast.Symbol]]*ast.Symbol), + types: make(map[Handle[checker.Type]]*checker.Type), } } @@ -105,6 +109,10 @@ func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, er api.options.Logger.PerfTrace(fmt.Sprintf("%s unmarshal - %s", method, time.Since(now))) switch Method(method) { + case MethodRelease: + return encodeJSON(handleBatchableRequest(params, func(id *string) (any, error) { + return nil, api.releaseHandle(*id) + })) case MethodGetSourceFile: params := params.(*GetSourceFileParams) sourceFile, err := api.GetSourceFile(params.Project, params.FileName) @@ -221,6 +229,40 @@ func (api *API) GetSourceFile(projectId Handle[project.Project], fileName string return sourceFile, nil } +func (api *API) releaseHandle(handle string) error { + switch handle[0] { + case 'p': + projectId := Handle[project.Project](handle) + project, ok := api.projects[projectId] + if !ok { + return fmt.Errorf("project %q not found", handle) + } + delete(api.projects, projectId) + project.Close() + case 's': + symbolId := Handle[ast.Symbol](handle) + api.symbolsMu.Lock() + defer api.symbolsMu.Unlock() + _, ok := api.symbols[symbolId] + if !ok { + return fmt.Errorf("symbol %q not found", handle) + } + delete(api.symbols, symbolId) + case 't': + typeId := Handle[checker.Type](handle) + api.typesMu.Lock() + defer api.typesMu.Unlock() + _, ok := api.types[typeId] + if !ok { + return fmt.Errorf("type %q not found", handle) + } + delete(api.types, typeId) + default: + return fmt.Errorf("unhandled handle type %q", handle[0]) + } + return nil +} + func (api *API) getOrCreateScriptInfo(fileName string, path tspath.Path, scriptKind core.ScriptKind) *project.ScriptInfo { api.scriptInfosMu.RLock() info, ok := api.scriptInfos[path] diff --git a/internal/api/encoder/encoder.go b/internal/api/encoder/encoder.go index df47cb2499..14b8f11da3 100644 --- a/internal/api/encoder/encoder.go +++ b/internal/api/encoder/encoder.go @@ -153,24 +153,24 @@ const ( // // In all node data types, the remaining 6 bits of the first byte are used to encode booleans specific to the node type: // -// | Node type | Bit 1 | Bit 0 | -// | ------------------------- | ------------- | ------------------------------- | -// | `ImportSpecifier` | | `isTypeOnly` | -// | `ImportClause` | | `isTypeOnly` | -// | `ExportSpecifier` | | `isTypeOnly` | -// | `ImportEqualsDeclaration` | | `isTypeOnly` | -// | `ExportDeclaration` | | `isTypeOnly` | -// | `ImportTypeNode` | | `isTypeOf` | -// | `ExportAssignment` | | `isExportEquals` | -// | `Block` | | `multiline` | -// | `ArrayLiteralExpression` | | `multiline` | -// | `ObjectLiteralExpression` | | `multiline` | -// | `JsxText` | | `containsOnlyTriviaWhiteSpaces` | -// | `JSDocTypeLiteral` | | `isArrayType` | -// | `JsDocPropertyTag` | `isNameFirst` | `isBracketed` | -// | `JsDocParameterTag` | `isNameFirst` | `isBracketed` | -// | `VariableDeclarationList` | is `const` | is `let` | -// | `ImportAttributes` | is `assert` | `multiline` | +// | Node type | Bits 2-5 | Bit 1 | Bit 0 | +// | ------------------------- | -------- | ------------- | ------------------------------- | +// | `ImportSpecifier` | | | `isTypeOnly` | +// | `ImportClause` | | | `isTypeOnly` | +// | `ExportSpecifier` | | | `isTypeOnly` | +// | `ImportEqualsDeclaration` | | | `isTypeOnly` | +// | `ExportDeclaration` | | | `isTypeOnly` | +// | `ImportTypeNode` | | | `isTypeOf` | +// | `ExportAssignment` | | | `isExportEquals` | +// | `Block` | | | `multiline` | +// | `ArrayLiteralExpression` | | | `multiline` | +// | `ObjectLiteralExpression` | | | `multiline` | +// | `JsxText` | | | `containsOnlyTriviaWhiteSpaces` | +// | `JSDocTypeLiteral` | | | `isArrayType` | +// | `JsDocPropertyTag` | | `isNameFirst` | `isBracketed` | +// | `JsDocParameterTag` | | `isNameFirst` | `isBracketed` | +// | `VariableDeclarationList` | | is `const` | is `let` | +// | `ImportAttributes` | | is `assert` | `multiline` | // // The remaining 3 bytes of the node data field vary by data type: // diff --git a/internal/api/proto.go b/internal/api/proto.go index 6b81a864d0..548e868da7 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -37,7 +37,9 @@ func createHandle[T any](prefix string, id any) Handle[T] { } const ( - MethodConfigure Method = "configure" + MethodConfigure Method = "configure" + MethodRelease Method = "release" + MethodParseConfigFile Method = "parseConfigFile" MethodLoadProject Method = "loadProject" MethodGetSymbolAtPosition Method = "getSymbolAtPosition" @@ -48,6 +50,7 @@ const ( var unmarshalers = map[Method]func([]byte) (any, error){ MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], + MethodRelease: batchEnabledUnmarshallerFor[string], MethodLoadProject: unmarshallerFor[LoadProjectParams], MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], MethodGetSymbolAtPosition: batchEnabledUnmarshallerFor[GetSymbolAtPositionParams], diff --git a/internal/api/server.go b/internal/api/server.go index 58822b671c..beda9c75d9 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -284,11 +284,7 @@ func (s *Server) sendResponse(method string, result []byte) error { } func (s *Server) sendError(method string, err error) error { - payload, err := json.Marshal(err.Error()) - if err != nil { - return err - } - return s.writeMessage(MessageTypeError, method, payload) + return s.writeMessage(MessageTypeError, method, []byte(err.Error())) } func (s *Server) writeMessage(messageType MessageType, method string, payload []byte) error { diff --git a/internal/project/project.go b/internal/project/project.go index a47b4289f6..1c915938f5 100644 --- a/internal/project/project.go +++ b/internal/project/project.go @@ -450,3 +450,7 @@ func (p *Project) log(s string) { func (p *Project) logf(format string, args ...interface{}) { p.log(fmt.Sprintf(format, args...)) } + +func (p *Project) Close() { + // !!! +} From f01b3e1f260e3b603c0e10d1d80b543abfef5f38 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 27 Mar 2025 16:33:37 -0700 Subject: [PATCH 34/63] Change batching, add node id handling --- _packages/api/src/api.ts | 48 ++++++---- _packages/api/src/client.ts | 6 +- _packages/api/src/node.ts | 22 +++++ _packages/api/src/proto.ts | 5 - internal/api/api.go | 136 +++++++++++++++++++-------- internal/api/proto.go | 91 +++++++++++++----- internal/ast/ast.go | 2 +- internal/ast/utilities.go | 17 +++- internal/core/core.go | 15 +++ internal/ls/api.go | 6 ++ internal/project/documentregistry.go | 16 ++-- internal/project/service.go | 10 +- 12 files changed, 270 insertions(+), 104 deletions(-) diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index 4b7bf0a402..ae5fcab478 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -1,13 +1,15 @@ import { SymbolFlags } from "#symbolFlags"; import { TypeFlags } from "#typeFlags"; -import type { SourceFile } from "@typescript/ast"; +import type { + Node, + SourceFile, +} from "@typescript/ast"; import { Client } from "./client.ts"; import type { FileSystem } from "./fs.ts"; import { RemoteSourceFile } from "./node.ts"; import { ObjectRegistry } from "./objectRegistry.ts"; import type { ConfigResponse, - GetSymbolAtPositionParams, ProjectResponse, SymbolResponse, TypeResponse, @@ -68,10 +70,11 @@ export class DisposableObject { isDisposed(): boolean { return this.disposed; } - ensureNotDisposed(): void { + ensureNotDisposed(): this { if (this.disposed) { throw new Error(`${this.constructor.name} is disposed`); } + return this; } } @@ -108,26 +111,39 @@ export class Project extends DisposableObject { return data ? new RemoteSourceFile(data, this.decoder) as unknown as SourceFile : undefined; } - getSymbolAtPosition(requests: readonly GetSymbolAtPositionParams[]): (Symbol | undefined)[]; - getSymbolAtPosition(fileName: string, position: number | number[]): Symbol | undefined; - getSymbolAtPosition(...params: [fileName: string, position: number | number[]] | [readonly GetSymbolAtPositionParams[]]): Symbol | undefined | (Symbol | undefined)[] { + getSymbolAtLocation(node: Node): Symbol | undefined; + getSymbolAtLocation(nodes: readonly Node[]): Symbol | undefined; + getSymbolAtLocation(nodeOrNodes: Node | readonly Node[]): Symbol | undefined { this.ensureNotDisposed(); - if (params.length === 2) { - if (typeof params[1] === "number") { - const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName: params[0], position: params[1] }); - return data ? this.objectRegistry.getSymbol(data) : undefined; - } - const data = this.client.request("getSymbolAtPositions", { project: this.id, fileName: params[0], positions: params[1] }); + if (Array.isArray(nodeOrNodes)) { + const data = this.client.request("getSymbolsAtLocations", { project: this.id, nodes: nodeOrNodes.map(node => node.id) }); return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); } - const data = this.client.request("getSymbolAtPosition", params[0].map(({ fileName, position }) => ({ project: this.id, fileName, position }))); + const data = this.client.request("getSymbolAtLocation", { project: this.id, node: (nodeOrNodes as Node).id }); + return data ? this.objectRegistry.getSymbol(data) : undefined; + } + + getSymbolAtPosition(fileName: string, position: number): Symbol | undefined; + getSymbolAtPosition(fileName: string, positions: readonly number[]): (Symbol | undefined)[]; + getSymbolAtPosition(fileName: string, positionOrPositions: number | readonly number[]): Symbol | (Symbol | undefined)[] | undefined { + this.ensureNotDisposed(); + if (typeof positionOrPositions === "number") { + const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName, position: positionOrPositions }); + return data ? this.objectRegistry.getSymbol(data) : undefined; + } + const data = this.client.request("getSymbolsAtPositions", { project: this.id, fileName, positions: positionOrPositions }); return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); } - getTypeOfSymbol(symbol: Symbol): Type | undefined { + getTypeOfSymbol(symbol: Symbol): Type | undefined; + getTypeOfSymbol(symbols: readonly Symbol[]): (Type | undefined)[]; + getTypeOfSymbol(symbolOrSymbols: Symbol | readonly Symbol[]): Type | (Type | undefined)[] | undefined { this.ensureNotDisposed(); - symbol.ensureNotDisposed(); - const data = this.client.request("getTypeOfSymbol", { project: this.id, symbol: symbol.id }); + if (Array.isArray(symbolOrSymbols)) { + const data = this.client.request("getTypesOfSymbols", { project: this.id, symbols: symbolOrSymbols.map(symbol => symbol.ensureNotDisposed().id) }); + return data.map((d: TypeResponse | null) => d ? this.objectRegistry.getType(d) : undefined); + } + const data = this.client.request("getTypeOfSymbol", { project: this.id, symbol: (symbolOrSymbols as Symbol).ensureNotDisposed().id }); return data ? this.objectRegistry.getType(data) : undefined; } } diff --git a/_packages/api/src/client.ts b/_packages/api/src/client.ts index 921be3e0e2..2a8b9e0daf 100644 --- a/_packages/api/src/client.ts +++ b/_packages/api/src/client.ts @@ -41,8 +41,10 @@ export class Client { request(method: string, payload: any): any { const encodedPayload = JSON.stringify(payload); const result = this.channel.requestSync(method, encodedPayload); - const decodedResult = JSON.parse(result); - return decodedResult; + if (result.length) { + const decodedResult = JSON.parse(result); + return decodedResult; + } } requestBinary(method: string, payload: any): Uint8Array { diff --git a/_packages/api/src/node.ts b/_packages/api/src/node.ts index 855fd45e88..efb7e5061e 100644 --- a/_packages/api/src/node.ts +++ b/_packages/api/src/node.ts @@ -1,12 +1,15 @@ import { type Node, type NodeArray, + type SourceFile, SyntaxKind, } from "@typescript/ast"; declare module "@typescript/ast" { export interface Node { + readonly id: string; forEachChild(visitor: (node: Node) => T): T | undefined; + getSourceFile(): SourceFile; } export interface NodeArray { @@ -319,6 +322,21 @@ export class RemoteNodeList extends Array implements NodeArray(visitor: (node: Node) => T): T | undefined { if (this.hasChildren()) { @@ -345,6 +363,10 @@ export class RemoteNode extends RemoteNodeBase implements Node { } } + getSourceFile(): SourceFile { + return this.sourceFile; + } + private getString(index: number): string { const start = this.view.getUint32(this.offsetStringTableOffsets + index * 4, true); const end = this.view.getUint32(this.offsetStringTableOffsets + (index + 1) * 4, true); diff --git a/_packages/api/src/proto.ts b/_packages/api/src/proto.ts index 5879f916cb..985fe342aa 100644 --- a/_packages/api/src/proto.ts +++ b/_packages/api/src/proto.ts @@ -10,11 +10,6 @@ export interface ProjectResponse { rootFiles: string[]; } -export interface GetSymbolAtPositionParams { - fileName: string; - position: number; -} - export interface SymbolResponse { id: string; name: string; diff --git a/internal/api/api.go b/internal/api/api.go index f17062aed0..6a2feeea10 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -9,6 +9,7 @@ import ( "github.com/microsoft/typescript-go/internal/api/encoder" "github.com/microsoft/typescript-go/internal/ast" + "github.com/microsoft/typescript-go/internal/astnav" "github.com/microsoft/typescript-go/internal/checker" "github.com/microsoft/typescript-go/internal/core" "github.com/microsoft/typescript-go/internal/project" @@ -17,6 +18,8 @@ import ( "github.com/microsoft/typescript-go/internal/vfs" ) +type handleMap[T any] map[Handle[T]]*T + type APIOptions struct { Logger *project.Logger } @@ -29,28 +32,39 @@ type API struct { scriptInfosMu sync.RWMutex scriptInfos map[tspath.Path]*project.ScriptInfo - projects map[Handle[project.Project]]*project.Project + projects handleMap[project.Project] + filesMu sync.Mutex + files handleMap[ast.SourceFile] symbolsMu sync.Mutex - symbols map[Handle[ast.Symbol]]*ast.Symbol + symbols handleMap[ast.Symbol] typesMu sync.Mutex - types map[Handle[checker.Type]]*checker.Type + types handleMap[checker.Type] } var _ project.ProjectHost = (*API)(nil) func NewAPI(host APIHost, options APIOptions) *API { - return &API{ - host: host, - options: options, - documentRegistry: project.NewDocumentRegistry(tspath.ComparePathsOptions{ + api := &API{ + host: host, + options: options, + scriptInfos: make(map[tspath.Path]*project.ScriptInfo), + projects: make(handleMap[project.Project]), + files: make(handleMap[ast.SourceFile]), + symbols: make(handleMap[ast.Symbol]), + types: make(handleMap[checker.Type]), + } + api.documentRegistry = &project.DocumentRegistry{ + Options: tspath.ComparePathsOptions{ UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), CurrentDirectory: host.GetCurrentDirectory(), - }), - scriptInfos: make(map[tspath.Path]*project.ScriptInfo), - projects: make(map[Handle[project.Project]]*project.Project), - symbols: make(map[Handle[ast.Symbol]]*ast.Symbol), - types: make(map[Handle[checker.Type]]*checker.Type), + }, + Hooks: project.DocumentRegistryHooks{ + OnReleaseDocument: func(file *ast.SourceFile) { + api.releaseHandle(string(FileHandle(file))) + }, + }, } + return api } // DefaultLibraryPath implements ProjectHost. @@ -110,9 +124,11 @@ func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, er switch Method(method) { case MethodRelease: - return encodeJSON(handleBatchableRequest(params, func(id *string) (any, error) { + if id, ok := params.(*string); ok { return nil, api.releaseHandle(*id) - })) + } else { + return nil, fmt.Errorf("expected string for release handle, got %T", params) + } case MethodGetSourceFile: params := params.(*GetSourceFileParams) sourceFile, err := api.GetSourceFile(params.Project, params.FileName) @@ -125,17 +141,28 @@ func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, er case MethodLoadProject: return encodeJSON(api.LoadProject(params.(*LoadProjectParams).ConfigFileName)) case MethodGetSymbolAtPosition: - return encodeJSON(handleBatchableRequest(params, func(params *GetSymbolAtPositionParams) (any, error) { - return api.GetSymbolAtPosition(params.Project, params.FileName, int(params.Position)) - })) - case MethodGetSymbolAtPositions: - params := params.(*GetSymbolAtPositionsParams) - return encodeJSON(handleBatchableRequest(¶ms.Positions, func(position uint32) (any, error) { + params := params.(*GetSymbolAtPositionParams) + return encodeJSON(api.GetSymbolAtPosition(params.Project, params.FileName, int(params.Position))) + case MethodGetSymbolsAtPositions: + params := params.(*GetSymbolsAtPositionsParams) + return encodeJSON(core.TryMap(params.Positions, func(position uint32) (any, error) { return api.GetSymbolAtPosition(params.Project, params.FileName, int(position)) })) + case MethodGetSymbolAtLocation: + params := params.(*GetSymbolAtLocationParams) + return encodeJSON(api.GetSymbolAtLocation(params.Project, params.Location)) + case MethodGetSymbolsAtLocations: + params := params.(*GetSymbolsAtLocationsParams) + return encodeJSON(core.TryMap(params.Locations, func(location Handle[ast.Node]) (any, error) { + return api.GetSymbolAtLocation(params.Project, location) + })) case MethodGetTypeOfSymbol: - return encodeJSON(handleBatchableRequest(params, func(params *GetTypeOfSymbolParams) (any, error) { - return api.GetTypeOfSymbol(params.Project, params.Symbol) + params := params.(*GetTypeOfSymbolParams) + return encodeJSON(api.GetTypeOfSymbol(params.Project, params.Symbol)) + case MethodGetTypesOfSymbols: + params := params.(*GetTypesOfSymbolsParams) + return encodeJSON(core.TryMap(params.Symbols, func(symbol Handle[ast.Symbol]) (any, error) { + return api.GetTypeOfSymbol(params.Project, Handle[ast.Symbol](symbol)) })) default: return nil, fmt.Errorf("unhandled API method %q", method) @@ -192,7 +219,41 @@ func (api *API) GetSymbolAtPosition(projectId Handle[project.Project], fileName if err != nil || symbol == nil { return nil, err } - data := NewSymbolResponse(symbol, project.Version()) + data := NewSymbolResponse(symbol) + api.symbolsMu.Lock() + defer api.symbolsMu.Unlock() + api.symbols[data.Id] = symbol + return data, nil +} + +func (api *API) GetSymbolAtLocation(projectId Handle[project.Project], location Handle[ast.Node]) (*SymbolResponse, error) { + project, ok := api.projects[projectId] + if !ok { + return nil, errors.New("project not found") + } + fileHandle, pos, kind, err := parseNodeHandle(location) + if err != nil { + return nil, err + } + api.filesMu.Lock() + defer api.filesMu.Unlock() + sourceFile, ok := api.files[fileHandle] + if !ok { + return nil, fmt.Errorf("file %q not found", fileHandle) + } + token := astnav.GetTokenAtPosition(sourceFile, pos) + if token == nil { + return nil, fmt.Errorf("token not found at position %d in file %q", pos, sourceFile.FileName()) + } + node := ast.FindAncestorKind(token, kind) + if node == nil { + return nil, fmt.Errorf("node of kind %s not found at position %d in file %q", kind.String(), pos, sourceFile.FileName()) + } + symbol := project.LanguageService().GetSymbolAtLocation(node) + if symbol == nil { + return nil, nil + } + data := NewSymbolResponse(symbol) api.symbolsMu.Lock() defer api.symbolsMu.Unlock() api.symbols[data.Id] = symbol @@ -226,6 +287,9 @@ func (api *API) GetSourceFile(projectId Handle[project.Project], fileName string if sourceFile == nil { return nil, fmt.Errorf("source file %q not found", fileName) } + api.filesMu.Lock() + defer api.filesMu.Unlock() + api.files[FileHandle(sourceFile)] = sourceFile return sourceFile, nil } @@ -239,6 +303,15 @@ func (api *API) releaseHandle(handle string) error { } delete(api.projects, projectId) project.Close() + case 'f': + fileId := Handle[ast.SourceFile](handle) + api.filesMu.Lock() + defer api.filesMu.Unlock() + _, ok := api.files[fileId] + if !ok { + return fmt.Errorf("file %q not found", handle) + } + delete(api.files, fileId) case 's': symbolId := Handle[ast.Symbol](handle) api.symbolsMu.Lock() @@ -291,23 +364,6 @@ func (api *API) toPath(fileName string) tspath.Path { return tspath.ToPath(fileName, api.host.GetCurrentDirectory(), api.host.FS().UseCaseSensitiveFileNames()) } -func handleBatchableRequest[T any](params any, executeRequest func(T) (any, error)) (any, error) { - if batchParams, ok := params.(*[]T); !ok { - return executeRequest(params.(T)) - } else { - batchParams := *batchParams - results := make([]any, len(batchParams)) - for i, params := range batchParams { - result, err := executeRequest(params) - if err != nil { - return nil, err - } - results[i] = result - } - return results, nil - } -} - func encodeJSON(v any, err error) ([]byte, error) { if err != nil { return nil, err diff --git a/internal/api/proto.go b/internal/api/proto.go index 548e868da7..58b5884e34 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -4,6 +4,8 @@ import ( "encoding/json" "errors" "fmt" + "strconv" + "strings" "github.com/microsoft/typescript-go/internal/ast" "github.com/microsoft/typescript-go/internal/checker" @@ -32,6 +34,33 @@ func TypeHandle(t *checker.Type) Handle[checker.Type] { return createHandle[checker.Type]("t", t.Id()) } +func FileHandle(file *ast.SourceFile) Handle[ast.SourceFile] { + return createHandle[ast.SourceFile]("f", file.AsNode().Id.Load()) +} + +func NodeHandle(node *ast.Node) Handle[ast.Node] { + fileHandle := FileHandle(ast.GetSourceFileOfNode(node)) + return Handle[ast.Node](fmt.Sprintf("%s.%d.%d", fileHandle, node.Pos(), node.Kind)) +} + +func parseNodeHandle(handle Handle[ast.Node]) (Handle[ast.SourceFile], int, ast.Kind, error) { + parts := strings.SplitN(string(handle), ".", 3) + if len(parts) != 3 { + return "", 0, 0, fmt.Errorf("invalid node handle %q", handle) + } + + fileHandle := Handle[ast.SourceFile](parts[0]) + pos, err := strconv.ParseInt(parts[1], 10, 32) + if err != nil { + return "", 0, 0, fmt.Errorf("invalid node handle %q: %w", handle, err) + } + kind, err := strconv.ParseInt(parts[2], 10, 32) + if err != nil { + return "", 0, 0, fmt.Errorf("invalid node handle %q: %w", handle, err) + } + return fileHandle, int(pos), ast.Kind(kind), nil +} + func createHandle[T any](prefix string, id any) Handle[T] { return Handle[T](fmt.Sprintf("%s%016x", prefix, id)) } @@ -40,22 +69,28 @@ const ( MethodConfigure Method = "configure" MethodRelease Method = "release" - MethodParseConfigFile Method = "parseConfigFile" - MethodLoadProject Method = "loadProject" - MethodGetSymbolAtPosition Method = "getSymbolAtPosition" - MethodGetSymbolAtPositions Method = "getSymbolAtPositions" - MethodGetTypeOfSymbol Method = "getTypeOfSymbol" - MethodGetSourceFile Method = "getSourceFile" + MethodParseConfigFile Method = "parseConfigFile" + MethodLoadProject Method = "loadProject" + MethodGetSymbolAtPosition Method = "getSymbolAtPosition" + MethodGetSymbolsAtPositions Method = "getSymbolsAtPositions" + MethodGetSymbolAtLocation Method = "getSymbolAtLocation" + MethodGetSymbolsAtLocations Method = "getSymbolsAtLocations" + MethodGetTypeOfSymbol Method = "getTypeOfSymbol" + MethodGetTypesOfSymbols Method = "getTypesOfSymbols" + MethodGetSourceFile Method = "getSourceFile" ) var unmarshalers = map[Method]func([]byte) (any, error){ - MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], - MethodRelease: batchEnabledUnmarshallerFor[string], - MethodLoadProject: unmarshallerFor[LoadProjectParams], - MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], - MethodGetSymbolAtPosition: batchEnabledUnmarshallerFor[GetSymbolAtPositionParams], - MethodGetSymbolAtPositions: unmarshallerFor[GetSymbolAtPositionsParams], - MethodGetTypeOfSymbol: batchEnabledUnmarshallerFor[GetTypeOfSymbolParams], + MethodRelease: unmarshallerFor[string], + MethodParseConfigFile: unmarshallerFor[ParseConfigFileParams], + MethodLoadProject: unmarshallerFor[LoadProjectParams], + MethodGetSourceFile: unmarshallerFor[GetSourceFileParams], + MethodGetSymbolAtPosition: unmarshallerFor[GetSymbolAtPositionParams], + MethodGetSymbolsAtPositions: unmarshallerFor[GetSymbolsAtPositionsParams], + MethodGetSymbolAtLocation: unmarshallerFor[GetSymbolAtLocationParams], + MethodGetSymbolsAtLocations: unmarshallerFor[GetSymbolsAtLocationsParams], + MethodGetTypeOfSymbol: unmarshallerFor[GetTypeOfSymbolParams], + MethodGetTypesOfSymbols: unmarshallerFor[GetTypesOfSymbolsParams], } type ConfigureParams struct { @@ -98,12 +133,22 @@ type GetSymbolAtPositionParams struct { Position uint32 `json:"position"` } -type GetSymbolAtPositionsParams struct { +type GetSymbolsAtPositionsParams struct { Project Handle[project.Project] `json:"project"` FileName string `json:"fileName"` Positions []uint32 `json:"positions"` } +type GetSymbolAtLocationParams struct { + Project Handle[project.Project] `json:"project"` + Location Handle[ast.Node] `json:"location"` +} + +type GetSymbolsAtLocationsParams struct { + Project Handle[project.Project] `json:"project"` + Locations []Handle[ast.Node] `json:"locations"` +} + type SymbolResponse struct { Id Handle[ast.Symbol] `json:"id"` Name string `json:"name"` @@ -111,7 +156,7 @@ type SymbolResponse struct { CheckFlags uint32 `json:"checkFlags"` } -func NewSymbolResponse(symbol *ast.Symbol, projectVersion int) *SymbolResponse { +func NewSymbolResponse(symbol *ast.Symbol) *SymbolResponse { return &SymbolResponse{ Id: SymbolHandle(symbol), Name: symbol.Name, @@ -125,6 +170,11 @@ type GetTypeOfSymbolParams struct { Symbol Handle[ast.Symbol] `json:"symbol"` } +type GetTypesOfSymbolsParams struct { + Project Handle[project.Project] `json:"project"` + Symbols []Handle[ast.Symbol] `json:"symbols"` +} + type TypeResponse struct { Id Handle[checker.Type] `json:"id"` Flags uint32 `json:"flags"` @@ -150,17 +200,6 @@ func unmarshalPayload(method string, payload json.RawMessage) (any, error) { return unmarshaler(payload) } -func batchEnabledUnmarshallerFor[T any](data []byte) (any, error) { - if data[0] != '[' { - return unmarshallerFor[T](data) - } - var v []*T - if err := json.Unmarshal(data, &v); err != nil { - return nil, fmt.Errorf("failed to unmarshal %T: %w", (*T)(nil), err) - } - return &v, nil -} - func unmarshallerFor[T any](data []byte) (any, error) { var v T if err := json.Unmarshal(data, &v); err != nil { diff --git a/internal/ast/ast.go b/internal/ast/ast.go index 78af57ca7f..faea28d470 100644 --- a/internal/ast/ast.go +++ b/internal/ast/ast.go @@ -191,7 +191,7 @@ type Node struct { Kind Kind Flags NodeFlags Loc core.TextRange - id atomic.Uint64 + Id atomic.Uint64 Parent *Node data nodeData } diff --git a/internal/ast/utilities.go b/internal/ast/utilities.go index 6b17a6717d..deb1ce3c15 100644 --- a/internal/ast/utilities.go +++ b/internal/ast/utilities.go @@ -18,12 +18,12 @@ var ( ) func GetNodeId(node *Node) NodeId { - id := node.id.Load() + id := node.Id.Load() if id == 0 { // Worst case, we burn a few ids if we have to CAS. id = nextNodeId.Add(1) - if !node.id.CompareAndSwap(0, id) { - id = node.id.Load() + if !node.Id.CompareAndSwap(0, id) { + id = node.Id.Load() } } return NodeId(id) @@ -903,6 +903,17 @@ func FindAncestor(node *Node, callback func(*Node) bool) *Node { return nil } +// Walks up the parents of a node to find the ancestor that matches the kind +func FindAncestorKind(node *Node, kind Kind) *Node { + for node != nil { + if node.Kind == kind { + return node + } + node = node.Parent + } + return nil +} + type FindAncestorResult int32 const ( diff --git a/internal/core/core.go b/internal/core/core.go index 0b4154d6b5..cfa27d241e 100644 --- a/internal/core/core.go +++ b/internal/core/core.go @@ -58,6 +58,21 @@ func Map[T, U any](slice []T, f func(T) U) []U { return result } +func TryMap[T, U any](slice []T, f func(T) (U, error)) ([]U, error) { + if len(slice) == 0 { + return nil, nil + } + result := make([]U, len(slice)) + for i, value := range slice { + mapped, err := f(value) + if err != nil { + return nil, err + } + result[i] = mapped + } + return result, nil +} + func MapIndex[T, U any](slice []T, f func(T, int) U) []U { if len(slice) == 0 { return nil diff --git a/internal/ls/api.go b/internal/ls/api.go index df4cdb25b9..62fd233a6f 100644 --- a/internal/ls/api.go +++ b/internal/ls/api.go @@ -27,6 +27,12 @@ func (l *LanguageService) GetSymbolAtPosition(fileName string, position int) (*a return checker.GetSymbolAtLocation(node), nil } +func (l *LanguageService) GetSymbolAtLocation(node *ast.Node) *ast.Symbol { + program := l.GetProgram() + checker := program.GetTypeChecker() + return checker.GetSymbolAtLocation(node) +} + func (l *LanguageService) GetTypeOfSymbol(symbol *ast.Symbol) *checker.Type { checker := l.GetProgram().GetTypeChecker() return checker.GetTypeOfSymbolAtLocation(symbol, nil) diff --git a/internal/project/documentregistry.go b/internal/project/documentregistry.go index d973b66c0f..a98513c9be 100644 --- a/internal/project/documentregistry.go +++ b/internal/project/documentregistry.go @@ -30,19 +30,18 @@ type registryEntry struct { mu sync.Mutex } +type DocumentRegistryHooks struct { + OnReleaseDocument func(file *ast.SourceFile) +} + // The document registry represents a store of SourceFile objects that can be shared between // multiple LanguageService instances. type DocumentRegistry struct { - options tspath.ComparePathsOptions + Options tspath.ComparePathsOptions + Hooks DocumentRegistryHooks documents sync.Map } -func NewDocumentRegistry(options tspath.ComparePathsOptions) *DocumentRegistry { - return &DocumentRegistry{ - options: options, - } -} - // AcquireDocument gets a SourceFile from the registry if it exists as the same version tracked // by the ScriptInfo. If it does not exist, or is out of date, it creates a new SourceFile and // stores it, tracking that the caller has referenced it. If an oldSourceFile is passed, the registry @@ -77,6 +76,9 @@ func (r *DocumentRegistry) releaseDocumentWithKey(key registryKey) { entry.refCount-- if entry.refCount == 0 { r.documents.Delete(key) + if r.Hooks.OnReleaseDocument != nil { + r.Hooks.OnReleaseDocument(entry.sourceFile) + } } } } diff --git a/internal/project/service.go b/internal/project/service.go index 9058987a89..52eaf9ee5c 100644 --- a/internal/project/service.go +++ b/internal/project/service.go @@ -69,10 +69,12 @@ func NewService(host ServiceHost, options ServiceOptions) *Service { configuredProjects: make(map[tspath.Path]*Project), - documentRegistry: NewDocumentRegistry(tspath.ComparePathsOptions{ - UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), - CurrentDirectory: host.GetCurrentDirectory(), - }), + documentRegistry: &DocumentRegistry{ + Options: tspath.ComparePathsOptions{ + UseCaseSensitiveFileNames: host.FS().UseCaseSensitiveFileNames(), + CurrentDirectory: host.GetCurrentDirectory(), + }, + }, scriptInfos: make(map[tspath.Path]*ScriptInfo), openFiles: make(map[tspath.Path]string), filenameToScriptInfoVersion: make(map[tspath.Path]int), From 39121ea85f2f8527dd4dc8408f16438ab0412131 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 31 Mar 2025 12:17:03 -0700 Subject: [PATCH 35/63] Fix getSymbolAtLocation, materializing children, etc --- _packages/api/src/api.ts | 4 +- _packages/api/src/node.ts | 100 +++++++++++++++++++++++++-- _packages/api/test/api.test.ts | 19 +++++ internal/api/api.go | 2 +- internal/api/encoder/encoder.go | 23 +++--- internal/api/encoder/encoder_test.go | 6 +- 6 files changed, 133 insertions(+), 21 deletions(-) diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index ae5fcab478..766afb7904 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -116,10 +116,10 @@ export class Project extends DisposableObject { getSymbolAtLocation(nodeOrNodes: Node | readonly Node[]): Symbol | undefined { this.ensureNotDisposed(); if (Array.isArray(nodeOrNodes)) { - const data = this.client.request("getSymbolsAtLocations", { project: this.id, nodes: nodeOrNodes.map(node => node.id) }); + const data = this.client.request("getSymbolsAtLocations", { project: this.id, locations: nodeOrNodes.map(node => node.id) }); return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); } - const data = this.client.request("getSymbolAtLocation", { project: this.id, node: (nodeOrNodes as Node).id }); + const data = this.client.request("getSymbolAtLocation", { project: this.id, location: (nodeOrNodes as Node).id }); return data ? this.objectRegistry.getSymbol(data) : undefined; } diff --git a/_packages/api/src/node.ts b/_packages/api/src/node.ts index efb7e5061e..2da78988b8 100644 --- a/_packages/api/src/node.ts +++ b/_packages/api/src/node.ts @@ -318,6 +318,15 @@ export class RemoteNodeList extends Array implements NodeArray(visitor: (node: Node) => T): T | undefined { + forEachChild(visitNode: (node: Node) => T, visitList?: (list: NodeArray) => T): T | undefined { if (this.hasChildren()) { let next = this.index + 1; do { const child = this.getOrCreateChildAtNodeIndex(next); if (child instanceof RemoteNodeList) { + if (visitList) { + const result = visitList(child); + if (result) { + return result; + } + } for (const node of child) { - const result = visitor(node); + const result = visitNode(node); if (result) { return result; } } } else { - const result = visitor(child); + const result = visitNode(child); if (result) { return result; } @@ -367,7 +382,7 @@ export class RemoteNode extends RemoteNodeBase implements Node { return this.sourceFile; } - private getString(index: number): string { + protected getString(index: number): string { const start = this.view.getUint32(this.offsetStringTableOffsets + index * 4, true); const end = this.view.getUint32(this.offsetStringTableOffsets + (index + 1) * 4, true); const text = new Uint8Array(this.view.buffer, this.offsetStringTable + start, end - start); @@ -442,10 +457,81 @@ export class RemoteNode extends RemoteNodeBase implements Node { return undefined; } - const propertyIndex = order - popcount8[mask & ((1 << order) - 1)]; + // The property index is `order`, minus the number of zeros in the mask that are in bit positions less + // than the `order`th bit. Example: + // + // This is a MethodDeclaration with mask 0b01110101. The possible properties are + // ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"] + // (it has modifiers, name, typeParameters, parameters, and type). + // + // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | + // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | + // | Value | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | + // | Name | body | type | parameters | typeParameters | postfixToken | name | asteriskToken | modifiers | + // + // We are trying to get the index of "parameters" (bit = 5). + // First, set all the more significant bits to 1: + // + // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | + // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | + // | Value | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | + // + // Then, flip the bits: + // + // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | + // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | + // | Value | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | + // + // Counting the 1s gives us the number of *missing properties* before the `order`th property. If every property + // were present, we would have `parameters = children[5]`, but since `postfixToken` and `astersiskToken` are + // missing, we have `parameters = children[5 - 2]`. + const propertyIndex = order - popcount8[~(mask | ((0xff << order) & 0xff)) & 0xff]; return this.getOrCreateChildAtNodeIndex(this.index + 1 + propertyIndex); } + __print(): string { + const result = []; + result.push(`index: ${this.index}`); + result.push(`byteIndex: ${this.byteIndex}`); + result.push(`kind: ${SyntaxKind[this.kind]}`); + result.push(`pos: ${this.pos}`); + result.push(`end: ${this.end}`); + result.push(`next: ${this.next}`); + result.push(`parent: ${this.parentIndex}`); + result.push(`data: ${this.data.toString(2).padStart(32, "0")}`); + const dataType = this.dataType === NODE_DATA_TYPE_CHILDREN ? "children" : + this.dataType === NODE_DATA_TYPE_STRING ? "string" : + "extended"; + result.push(`dataType: ${dataType}`); + if (this.dataType === NODE_DATA_TYPE_CHILDREN) { + result.push(`childMask: ${this.childMask.toString(2).padStart(8, "0")}`); + result.push(`childProperties: ${childProperties[this.kind]?.join(", ")}`); + } + return result.join("\n"); + } + + __printChildren(): string { + const result = []; + let next = this.index + 1; + while (next) { + const child = this.getOrCreateChildAtNodeIndex(next); + next = child.next; + result.push(child.__print()); + } + return result.join("\n\n"); + } + + __printSubtree(): string { + const result = [this.__print()]; + this.forEachChild(function visitNode(node) { + result.push((node as RemoteNode).__print()); + node.forEachChild(visitNode); + }, visitList => { + result.push((visitList as RemoteNodeList).__print()); + }); + return result.join("\n\n"); + } + // Boolean properties get isArrayType(): boolean | undefined { switch (this.kind) { @@ -582,6 +668,9 @@ export class RemoteNode extends RemoteNodeBase implements Node { get dotDotDotToken(): RemoteNode | undefined { return this.getNamedChild("dotDotDotToken") as RemoteNode; } + get elements(): RemoteNodeList | undefined { + return this.getNamedChild("elements") as RemoteNodeList; + } get elseStatement(): RemoteNode | undefined { return this.getNamedChild("elseStatement") as RemoteNode; } @@ -853,5 +942,6 @@ export class RemoteSourceFile extends RemoteNode { constructor(data: Uint8Array, decoder: TextDecoder) { const view = new DataView(data.buffer, data.byteOffset, data.byteLength); super(view, decoder, 1, undefined!); + this.id = this.getString(this.view.getUint32(this.offsetExtendedData + 8, true)); } } diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index 1990bc2f19..4ee079aa21 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -5,6 +5,9 @@ import { } from "@typescript/api"; import { createVirtualFileSystem } from "@typescript/api/fs"; import { + cast, + isImportDeclaration, + isNamedImports, isTemplateHead, isTemplateMiddle, isTemplateTail, @@ -40,6 +43,22 @@ describe("Project", () => { assert.ok(symbol.flags & SymbolFlags.Alias); }); + test("getSymbolAtLocation", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const sourceFile = project.getSourceFile("/src/index.ts"); + assert.ok(sourceFile); + const node = cast( + cast(sourceFile.statements[0], isImportDeclaration).importClause?.namedBindings, + isNamedImports, + ).elements[0].name; + assert.ok(node); + const symbol = project.getSymbolAtLocation(node); + assert.ok(symbol); + assert.equal(symbol.name, "foo"); + assert.ok(symbol.flags & SymbolFlags.Alias); + }); + test("getTypeOfSymbol", () => { const api = spawnAPI(); const project = api.loadProject("/tsconfig.json"); diff --git a/internal/api/api.go b/internal/api/api.go index 6a2feeea10..220ec0ec51 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -135,7 +135,7 @@ func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, er if err != nil { return nil, err } - return encoder.EncodeSourceFile(sourceFile) + return encoder.EncodeSourceFile(sourceFile, string(FileHandle(sourceFile))) case MethodParseConfigFile: return encodeJSON(api.ParseConfigFile(params.(*ParseConfigFileParams).FileName)) case MethodLoadProject: diff --git a/internal/api/encoder/encoder.go b/internal/api/encoder/encoder.go index 14b8f11da3..d8edb1c43d 100644 --- a/internal/api/encoder/encoder.go +++ b/internal/api/encoder/encoder.go @@ -116,6 +116,7 @@ const ( // | ----------- | ------ | ------------------------------------------------- | // | 0-4 | uint32 | Index of `text` in the string offsets section | // | 4-8 | uint32 | Index of `fileName` in the string offsets section | +// | 8-12 | uint32 | Index of `id` in the string offsets section | // // Nodes (24 bytes per node) // ------------------------- @@ -218,7 +219,7 @@ const ( // meaning of the data at that offset is defined by the node type. See the **Extended node data** section for details on // the format of the extended data for specific node types. -func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { +func EncodeSourceFile(sourceFile *ast.SourceFile, id string) ([]byte, error) { var parentIndex, nodeCount, prevIndex uint32 var extendedData []byte strs := newStringTable(sourceFile.Text, sourceFile.TextCount) @@ -290,7 +291,7 @@ func EncodeSourceFile(sourceFile *ast.SourceFile) ([]byte, error) { nodeCount++ parentIndex++ - nodes = appendUint32s(nodes, uint32(sourceFile.Kind), uint32(sourceFile.Pos()), uint32(sourceFile.End()), 0, 0, getNodeData(sourceFile.AsNode(), strs, &extendedData)) + nodes = appendUint32s(nodes, uint32(sourceFile.Kind), uint32(sourceFile.Pos()), uint32(sourceFile.End()), 0, 0, getSourceFileData(sourceFile, id, strs, &extendedData)) visitor.VisitEachChild(sourceFile.AsNode()) @@ -332,6 +333,16 @@ func appendUint32s(buf []byte, values ...uint32) []byte { return buf } +func getSourceFileData(sourceFile *ast.SourceFile, id string, strs *stringTable, extendedData *[]byte) uint32 { + t := NodeDataTypeExtendedData + extendedDataOffset := len(*extendedData) + textIndex := strs.add(sourceFile.Text, sourceFile.Kind, sourceFile.Pos(), sourceFile.End()) + fileNameIndex := strs.add(sourceFile.FileName(), 0, 0, 0) + idIndex := strs.add(id, 0, 0, 0) + *extendedData = appendUint32s(*extendedData, textIndex, fileNameIndex, idIndex) + return t | uint32(extendedDataOffset) +} + func getNodeData(node *ast.Node, strs *stringTable, extendedData *[]byte) uint32 { t := getNodeDataType(node) switch t { @@ -780,14 +791,6 @@ func recordNodeStrings(node *ast.Node, strs *stringTable) uint32 { func recordExtendedData(node *ast.Node, strs *stringTable, extendedData *[]byte) uint32 { offset := uint32(len(*extendedData)) - if node.Kind == ast.KindSourceFile { - n := node.AsSourceFile() - textIndex := strs.add(n.Text, node.Kind, node.Pos(), node.End()) - fileNameIndex := strs.add(n.FileName(), 0, 0, 0) - *extendedData = appendUint32s(*extendedData, textIndex, fileNameIndex) - return offset - } - var text, rawText string var templateFlags uint32 switch node.Kind { diff --git a/internal/api/encoder/encoder_test.go b/internal/api/encoder/encoder_test.go index d2955bd526..ce616dfc26 100644 --- a/internal/api/encoder/encoder_test.go +++ b/internal/api/encoder/encoder_test.go @@ -20,10 +20,10 @@ import ( func TestEncodeSourceFile(t *testing.T) { t.Parallel() - sourceFile := parser.ParseSourceFile("/test.ts", "/test.ts", "export function foo(a: string, b: string): any {}\nfoo();", core.ScriptTargetESNext, scanner.JSDocParsingModeParseAll) + sourceFile := parser.ParseSourceFile("/test.ts", "/test.ts", "import { bar } from \"bar\";\nexport function foo(a: string, b: string): any {}\nfoo();", core.ScriptTargetESNext, scanner.JSDocParsingModeParseAll) t.Run("baseline", func(t *testing.T) { t.Parallel() - buf, err := encoder.EncodeSourceFile(sourceFile) + buf, err := encoder.EncodeSourceFile(sourceFile, "") assert.NilError(t, err) str := formatEncodedSourceFile(buf) @@ -47,7 +47,7 @@ func BenchmarkEncodeSourceFile(b *testing.B) { ) for b.Loop() { - _, err := encoder.EncodeSourceFile(sourceFile) + _, err := encoder.EncodeSourceFile(sourceFile, "") assert.NilError(b, err) } } From 17c625b7d51c3a493f85099e55fe292a72ff89b1 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 09:36:07 -0700 Subject: [PATCH 36/63] Format --- _packages/api/bench/api.bench.ts | 518 +-- _packages/api/package.json | 90 +- _packages/api/src/api.ts | 356 +- _packages/api/src/client.ts | 130 +- _packages/api/src/fs.ts | 284 +- _packages/api/src/node.ts | 1894 +++++----- _packages/api/src/objectRegistry.ts | 170 +- _packages/api/src/path.ts | 272 +- _packages/api/src/proto.ts | 46 +- _packages/api/src/symbolFlags.enum.ts | 150 +- _packages/api/src/symbolFlags.ts | 142 +- _packages/api/src/typeFlags.enum.ts | 64 +- _packages/api/src/typeFlags.ts | 66 +- _packages/api/test/api.test.ts | 316 +- _packages/ast/package.json | 72 +- _packages/ast/src/index.ts | 8 +- _packages/ast/src/is.ts | 2230 ++++++------ _packages/ast/src/nodes.ts | 4828 ++++++++++++------------- _packages/ast/src/syntaxKind.enum.ts | 704 ++-- _packages/ast/src/syntaxKind.ts | 710 ++-- _packages/ast/src/tokenFlags.enum.ts | 52 +- _packages/ast/src/tokenFlags.ts | 54 +- _packages/ast/src/utils.ts | 18 +- internal/api/server.go | 6 +- internal/project/logger.go | 2 +- 25 files changed, 6592 insertions(+), 6590 deletions(-) diff --git a/_packages/api/bench/api.bench.ts b/_packages/api/bench/api.bench.ts index 45a5ef2e5b..1b9af2b186 100644 --- a/_packages/api/bench/api.bench.ts +++ b/_packages/api/bench/api.bench.ts @@ -1,259 +1,259 @@ -import { - API, - type Project, -} from "@typescript/api"; -import { - type FileSystem, - type FileSystemEntries, -} from "@typescript/api/fs"; -import type { GetSymbolAtPositionParams } from "@typescript/api/proto"; -import { - type SourceFile, - SyntaxKind, -} from "@typescript/ast"; -import fs from "node:fs"; -import path from "node:path"; -import { Bench } from "tinybench"; -import ts from "typescript"; - -const bench = new Bench({ - name: "Sync API", - teardown: () => { - api?.close(); - api = undefined!; - project = undefined!; - file = undefined!; - tsProgram = undefined!; - tsFile = undefined!; - }, -}); - -let api: API; -let project: Project; -let tsProgram: ts.Program; -let file: SourceFile; -let tsFile: ts.SourceFile; - -const SMALL_STRING = "ping"; -const LARGE_STRING = "a".repeat(1_000_000); -const SMALL_UINT8_ARRAY = new Uint8Array([1, 2, 3, 4]); -const LARGE_UINT8_ARRAY = new Uint8Array(1_000_000); - -bench - .add("spawn API", () => { - spawnAPI(); - }) - .add("echo (small string)", () => { - api.echo(SMALL_STRING); - }, { beforeAll: spawnAPI }) - .add("echo (large string)", () => { - api.echo(LARGE_STRING); - }, { beforeAll: spawnAPI }) - .add("echo (small Uint8Array)", () => { - api.echoBinary(SMALL_UINT8_ARRAY); - }, { beforeAll: spawnAPI }) - .add("echo (large Uint8Array)", () => { - api.echoBinary(LARGE_UINT8_ARRAY); - }, { beforeAll: spawnAPI }) - .add("load project", () => { - loadProject(); - }, { beforeAll: spawnAPI }) - .add("load project (client FS)", () => { - loadProject(); - }, { beforeAll: spawnAPIHosted }) - .add("TS - load project", () => { - tsCreateProgram(); - }) - .add("transfer debug.ts", () => { - getDebugTS(); - }, { beforeAll: all(spawnAPI, loadProject) }) - .add("transfer program.ts", () => { - getProgramTS(); - }, { beforeAll: all(spawnAPI, loadProject) }) - .add("transfer checker.ts", () => { - getCheckerTS(); - }, { beforeAll: all(spawnAPI, loadProject) }) - .add("materialize program.ts", () => { - file.forEachChild(function visit(node) { - node.forEachChild(visit); - }); - }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) - .add("materialize checker.ts", () => { - file.forEachChild(function visit(node) { - node.forEachChild(visit); - }); - }, { beforeAll: all(spawnAPI, loadProject, getCheckerTS) }) - .add("getSymbolAtPosition - one location", () => { - project.getSymbolAtPosition("program.ts", 8895); - }, { beforeAll: all(spawnAPI, loadProject, createChecker) }) - .add("TS - getSymbolAtPosition - one location", () => { - tsProgram.getTypeChecker().getSymbolAtLocation( - // @ts-ignore internal API - ts.getTokenAtPosition(tsFile, 8895), - ); - }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }) - .add("getSymbolAtPosition - all identifiers", () => { - file.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - project.getSymbolAtPosition("program.ts", node.pos); - } - node.forEachChild(visit); - }); - }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add("getSymbolAtPosition - all identifiers (batched)", () => { - const positions: GetSymbolAtPositionParams[] = []; - file.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - positions.push({ fileName: "program.ts", position: node.pos }); - } - node.forEachChild(visit); - }); - project.getSymbolAtPosition(positions); - }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add("getSymbolAtPosition - all identifiers (batched 2)", () => { - const positions: number[] = []; - file.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - positions.push(node.pos); - } - node.forEachChild(visit); - }); - project.getSymbolAtPosition("program.ts", positions); - }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add("TS - getSymbolAtPosition - all identifiers", () => { - const checker = tsProgram.getTypeChecker(); - tsFile.forEachChild(function visit(node) { - if (node.kind === ts.SyntaxKind.Identifier) { - checker.getSymbolAtLocation(node); - } - node.forEachChild(visit); - }); - }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }); - -await bench.run(); -console.table(bench.table()); - -function spawnAPI() { - api = new API({ - cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, - }); -} - -function spawnAPIHosted() { - api = new API({ - cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, - fs: createNodeFileSystem(), - }); -} - -function loadProject() { - project = api.loadProject("_submodules/TypeScript/src/compiler/tsconfig.json"); -} - -function tsCreateProgram() { - const configFileName = new URL("../../../_submodules/TypeScript/src/compiler/tsconfig.json", import.meta.url).pathname; - const configFile = ts.readConfigFile(configFileName, ts.sys.readFile); - const parsedCommandLine = ts.parseJsonConfigFileContent(configFile.config, ts.sys, path.dirname(configFileName)); - const host = ts.createCompilerHost(parsedCommandLine.options); - tsProgram = ts.createProgram({ - rootNames: parsedCommandLine.fileNames, - options: parsedCommandLine.options, - host, - }); -} - -function createChecker() { - // checker is created lazily, for measuring symbol time in a loop - // we need to create it first. - project.getSymbolAtPosition("core.ts", 0); -} - -function tsCreateChecker() { - tsProgram.getTypeChecker(); -} - -function getDebugTS() { - file = project.getSourceFile("debug.ts")!; -} - -function getProgramTS() { - file = project.getSourceFile("program.ts")!; -} - -function tsGetProgramTS() { - tsFile = tsProgram.getSourceFile(new URL("../../../_submodules/TypeScript/src/compiler/program.ts", import.meta.url).pathname)!; -} - -function getCheckerTS() { - file = project.getSourceFile("checker.ts")!; -} - -function all(...fns: (() => void)[]) { - return () => { - for (const fn of fns) { - fn(); - } - }; -} - -function createNodeFileSystem(): FileSystem { - return { - directoryExists: directoryName => { - try { - return fs.statSync(directoryName).isDirectory(); - } - catch { - return false; - } - }, - fileExists: fileName => { - try { - return fs.statSync(fileName).isFile(); - } - catch { - return false; - } - }, - readFile: fileName => { - try { - return fs.readFileSync(fileName, "utf8"); - } - catch { - return undefined; - } - }, - getAccessibleEntries: dirName => { - const entries: FileSystemEntries = { - files: [], - directories: [], - }; - for (const entry of fs.readdirSync(dirName, { withFileTypes: true })) { - if (entry.isFile()) { - entries.files.push(entry.name); - } - else if (entry.isDirectory()) { - entries.directories.push(entry.name); - } - else if (entry.isSymbolicLink()) { - const fullName = path.join(dirName, entry.name); - try { - const stat = fs.statSync(fullName); - if (stat.isFile()) { - entries.files.push(entry.name); - } - else if (stat.isDirectory()) { - entries.directories.push(entry.name); - } - } - catch { - // Ignore errors - } - } - } - return entries; - }, - realpath: fs.realpathSync, - }; -} +import { + API, + type Project, +} from "@typescript/api"; +import { + type FileSystem, + type FileSystemEntries, +} from "@typescript/api/fs"; +import type { GetSymbolAtPositionParams } from "@typescript/api/proto"; +import { + type SourceFile, + SyntaxKind, +} from "@typescript/ast"; +import fs from "node:fs"; +import path from "node:path"; +import { Bench } from "tinybench"; +import ts from "typescript"; + +const bench = new Bench({ + name: "Sync API", + teardown: () => { + api?.close(); + api = undefined!; + project = undefined!; + file = undefined!; + tsProgram = undefined!; + tsFile = undefined!; + }, +}); + +let api: API; +let project: Project; +let tsProgram: ts.Program; +let file: SourceFile; +let tsFile: ts.SourceFile; + +const SMALL_STRING = "ping"; +const LARGE_STRING = "a".repeat(1_000_000); +const SMALL_UINT8_ARRAY = new Uint8Array([1, 2, 3, 4]); +const LARGE_UINT8_ARRAY = new Uint8Array(1_000_000); + +bench + .add("spawn API", () => { + spawnAPI(); + }) + .add("echo (small string)", () => { + api.echo(SMALL_STRING); + }, { beforeAll: spawnAPI }) + .add("echo (large string)", () => { + api.echo(LARGE_STRING); + }, { beforeAll: spawnAPI }) + .add("echo (small Uint8Array)", () => { + api.echoBinary(SMALL_UINT8_ARRAY); + }, { beforeAll: spawnAPI }) + .add("echo (large Uint8Array)", () => { + api.echoBinary(LARGE_UINT8_ARRAY); + }, { beforeAll: spawnAPI }) + .add("load project", () => { + loadProject(); + }, { beforeAll: spawnAPI }) + .add("load project (client FS)", () => { + loadProject(); + }, { beforeAll: spawnAPIHosted }) + .add("TS - load project", () => { + tsCreateProgram(); + }) + .add("transfer debug.ts", () => { + getDebugTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("transfer program.ts", () => { + getProgramTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("transfer checker.ts", () => { + getCheckerTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("materialize program.ts", () => { + file.forEachChild(function visit(node) { + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) + .add("materialize checker.ts", () => { + file.forEachChild(function visit(node) { + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, getCheckerTS) }) + .add("getSymbolAtPosition - one location", () => { + project.getSymbolAtPosition("program.ts", 8895); + }, { beforeAll: all(spawnAPI, loadProject, createChecker) }) + .add("TS - getSymbolAtPosition - one location", () => { + tsProgram.getTypeChecker().getSymbolAtLocation( + // @ts-ignore internal API + ts.getTokenAtPosition(tsFile, 8895), + ); + }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }) + .add("getSymbolAtPosition - all identifiers", () => { + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + project.getSymbolAtPosition("program.ts", node.pos); + } + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add("getSymbolAtPosition - all identifiers (batched)", () => { + const positions: GetSymbolAtPositionParams[] = []; + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + positions.push({ fileName: "program.ts", position: node.pos }); + } + node.forEachChild(visit); + }); + project.getSymbolAtPosition(positions); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add("getSymbolAtPosition - all identifiers (batched 2)", () => { + const positions: number[] = []; + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + positions.push(node.pos); + } + node.forEachChild(visit); + }); + project.getSymbolAtPosition("program.ts", positions); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add("TS - getSymbolAtPosition - all identifiers", () => { + const checker = tsProgram.getTypeChecker(); + tsFile.forEachChild(function visit(node) { + if (node.kind === ts.SyntaxKind.Identifier) { + checker.getSymbolAtLocation(node); + } + node.forEachChild(visit); + }); + }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }); + +await bench.run(); +console.table(bench.table()); + +function spawnAPI() { + api = new API({ + cwd: new URL("../../../", import.meta.url).pathname, + tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + }); +} + +function spawnAPIHosted() { + api = new API({ + cwd: new URL("../../../", import.meta.url).pathname, + tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + fs: createNodeFileSystem(), + }); +} + +function loadProject() { + project = api.loadProject("_submodules/TypeScript/src/compiler/tsconfig.json"); +} + +function tsCreateProgram() { + const configFileName = new URL("../../../_submodules/TypeScript/src/compiler/tsconfig.json", import.meta.url).pathname; + const configFile = ts.readConfigFile(configFileName, ts.sys.readFile); + const parsedCommandLine = ts.parseJsonConfigFileContent(configFile.config, ts.sys, path.dirname(configFileName)); + const host = ts.createCompilerHost(parsedCommandLine.options); + tsProgram = ts.createProgram({ + rootNames: parsedCommandLine.fileNames, + options: parsedCommandLine.options, + host, + }); +} + +function createChecker() { + // checker is created lazily, for measuring symbol time in a loop + // we need to create it first. + project.getSymbolAtPosition("core.ts", 0); +} + +function tsCreateChecker() { + tsProgram.getTypeChecker(); +} + +function getDebugTS() { + file = project.getSourceFile("debug.ts")!; +} + +function getProgramTS() { + file = project.getSourceFile("program.ts")!; +} + +function tsGetProgramTS() { + tsFile = tsProgram.getSourceFile(new URL("../../../_submodules/TypeScript/src/compiler/program.ts", import.meta.url).pathname)!; +} + +function getCheckerTS() { + file = project.getSourceFile("checker.ts")!; +} + +function all(...fns: (() => void)[]) { + return () => { + for (const fn of fns) { + fn(); + } + }; +} + +function createNodeFileSystem(): FileSystem { + return { + directoryExists: directoryName => { + try { + return fs.statSync(directoryName).isDirectory(); + } + catch { + return false; + } + }, + fileExists: fileName => { + try { + return fs.statSync(fileName).isFile(); + } + catch { + return false; + } + }, + readFile: fileName => { + try { + return fs.readFileSync(fileName, "utf8"); + } + catch { + return undefined; + } + }, + getAccessibleEntries: dirName => { + const entries: FileSystemEntries = { + files: [], + directories: [], + }; + for (const entry of fs.readdirSync(dirName, { withFileTypes: true })) { + if (entry.isFile()) { + entries.files.push(entry.name); + } + else if (entry.isDirectory()) { + entries.directories.push(entry.name); + } + else if (entry.isSymbolicLink()) { + const fullName = path.join(dirName, entry.name); + try { + const stat = fs.statSync(fullName); + if (stat.isFile()) { + entries.files.push(entry.name); + } + else if (stat.isDirectory()) { + entries.directories.push(entry.name); + } + } + catch { + // Ignore errors + } + } + } + return entries; + }, + realpath: fs.realpathSync, + }; +} diff --git a/_packages/api/package.json b/_packages/api/package.json index ff49a665bc..1b0bcccc32 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -1,50 +1,50 @@ { - "private": true, - "name": "@typescript/api", - "version": "1.0.0", - "type": "module", - "imports": { - "#symbolFlags": { - "@typescript/source": { - "types": "./src/symbolFlags.enum.ts", - "default": "./src/symbolFlags.ts" - }, - "types": "./dist/symbolFlags.enum.d.ts", - "default": "./dist/symbolFlags.js" + "private": true, + "name": "@typescript/api", + "version": "1.0.0", + "type": "module", + "imports": { + "#symbolFlags": { + "@typescript/source": { + "types": "./src/symbolFlags.enum.ts", + "default": "./src/symbolFlags.ts" + }, + "types": "./dist/symbolFlags.enum.d.ts", + "default": "./dist/symbolFlags.js" + }, + "#typeFlags": { + "@typescript/source": { + "types": "./src/typeFlags.enum.ts", + "default": "./src/typeFlags.ts" + }, + "types": "./dist/typeFlags.enum.d.ts", + "default": "./dist/typeFlags.js" + } }, - "#typeFlags": { - "@typescript/source": { - "types": "./src/typeFlags.enum.ts", - "default": "./src/typeFlags.ts" - }, - "types": "./dist/typeFlags.enum.d.ts", - "default": "./dist/typeFlags.js" - } - }, - "exports": { - ".": { - "@typescript/source": "./src/api.ts", - "default": "./dist/api.js" + "exports": { + ".": { + "@typescript/source": "./src/api.ts", + "default": "./dist/api.js" + }, + "./fs": { + "@typescript/source": "./src/fs.ts", + "default": "./dist/fs.js" + }, + "./proto": { + "@typescript/source": "./src/proto.ts", + "default": "./dist/proto.js" + } + }, + "scripts": { + "build": "tsc -b", + "bench": "node --no-warnings --conditions @typescript/source bench/api.bench.ts", + "test": "node --test --no-warnings --conditions @typescript/source ./test/**/*.test.ts" }, - "./fs": { - "@typescript/source": "./src/fs.ts", - "default": "./dist/fs.js" + "devDependencies": { + "tinybench": "^3.1.1" }, - "./proto": { - "@typescript/source": "./src/proto.ts", - "default": "./dist/proto.js" + "dependencies": { + "@typescript/ast": "1.0.0", + "libsyncrpc": "git://github.com/microsoft/libsyncrpc.git#5d081d80a469ca0cf3157c3ea51a37a14c5ef50c" } - }, - "scripts": { - "build": "tsc -b", - "bench": "node --no-warnings --conditions @typescript/source bench/api.bench.ts", - "test": "node --test --no-warnings --conditions @typescript/source ./test/**/*.test.ts" - }, - "devDependencies": { - "tinybench": "^3.1.1" - }, - "dependencies": { - "@typescript/ast": "1.0.0", - "libsyncrpc": "file:../../../libsyncrpc" - } -} \ No newline at end of file +} diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index 766afb7904..7480d55f0a 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -1,178 +1,178 @@ -import { SymbolFlags } from "#symbolFlags"; -import { TypeFlags } from "#typeFlags"; -import type { - Node, - SourceFile, -} from "@typescript/ast"; -import { Client } from "./client.ts"; -import type { FileSystem } from "./fs.ts"; -import { RemoteSourceFile } from "./node.ts"; -import { ObjectRegistry } from "./objectRegistry.ts"; -import type { - ConfigResponse, - ProjectResponse, - SymbolResponse, - TypeResponse, -} from "./proto.ts"; - -export { SymbolFlags, TypeFlags }; - -export interface APIOptions { - tsserverPath: string; - cwd?: string; - logFile?: string; - fs?: FileSystem; -} - -export class API { - private client: Client; - private objectRegistry: ObjectRegistry; - constructor(options: APIOptions) { - this.client = new Client(options); - this.objectRegistry = new ObjectRegistry(this.client); - } - - parseConfigFile(fileName: string): ConfigResponse { - return this.client.request("parseConfigFile", { fileName }); - } - - loadProject(configFileName: string): Project { - const data = this.client.request("loadProject", { configFileName }); - return this.objectRegistry.getProject(data); - } - - echo(message: string): string { - return this.client.echo(message); - } - - echoBinary(message: Uint8Array): Uint8Array { - return this.client.echoBinary(message); - } - - close(): void { - this.client.close(); - } -} - -export class DisposableObject { - private disposed: boolean = false; - protected objectRegistry: ObjectRegistry; - constructor(objectRegistry: ObjectRegistry) { - this.objectRegistry = objectRegistry; - } - [globalThis.Symbol.dispose](): void { - this.objectRegistry.release(this); - this.disposed = true; - } - dispose(): void { - this[globalThis.Symbol.dispose](); - } - isDisposed(): boolean { - return this.disposed; - } - ensureNotDisposed(): this { - if (this.disposed) { - throw new Error(`${this.constructor.name} is disposed`); - } - return this; - } -} - -export class Project extends DisposableObject { - private decoder = new TextDecoder(); - private client: Client; - - id: string; - configFileName!: string; - compilerOptions!: Record; - rootFiles!: readonly string[]; - - constructor(client: Client, objectRegistry: ObjectRegistry, data: ProjectResponse) { - super(objectRegistry); - this.id = data.id; - this.client = client; - this.loadData(data); - } - - loadData(data: ProjectResponse): void { - this.configFileName = data.configFileName; - this.compilerOptions = data.compilerOptions; - this.rootFiles = data.rootFiles; - } - - reload(): void { - this.ensureNotDisposed(); - this.loadData(this.client.request("loadProject", { configFileName: this.configFileName })); - } - - getSourceFile(fileName: string): SourceFile | undefined { - this.ensureNotDisposed(); - const data = this.client.requestBinary("getSourceFile", { project: this.id, fileName }); - return data ? new RemoteSourceFile(data, this.decoder) as unknown as SourceFile : undefined; - } - - getSymbolAtLocation(node: Node): Symbol | undefined; - getSymbolAtLocation(nodes: readonly Node[]): Symbol | undefined; - getSymbolAtLocation(nodeOrNodes: Node | readonly Node[]): Symbol | undefined { - this.ensureNotDisposed(); - if (Array.isArray(nodeOrNodes)) { - const data = this.client.request("getSymbolsAtLocations", { project: this.id, locations: nodeOrNodes.map(node => node.id) }); - return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); - } - const data = this.client.request("getSymbolAtLocation", { project: this.id, location: (nodeOrNodes as Node).id }); - return data ? this.objectRegistry.getSymbol(data) : undefined; - } - - getSymbolAtPosition(fileName: string, position: number): Symbol | undefined; - getSymbolAtPosition(fileName: string, positions: readonly number[]): (Symbol | undefined)[]; - getSymbolAtPosition(fileName: string, positionOrPositions: number | readonly number[]): Symbol | (Symbol | undefined)[] | undefined { - this.ensureNotDisposed(); - if (typeof positionOrPositions === "number") { - const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName, position: positionOrPositions }); - return data ? this.objectRegistry.getSymbol(data) : undefined; - } - const data = this.client.request("getSymbolsAtPositions", { project: this.id, fileName, positions: positionOrPositions }); - return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); - } - - getTypeOfSymbol(symbol: Symbol): Type | undefined; - getTypeOfSymbol(symbols: readonly Symbol[]): (Type | undefined)[]; - getTypeOfSymbol(symbolOrSymbols: Symbol | readonly Symbol[]): Type | (Type | undefined)[] | undefined { - this.ensureNotDisposed(); - if (Array.isArray(symbolOrSymbols)) { - const data = this.client.request("getTypesOfSymbols", { project: this.id, symbols: symbolOrSymbols.map(symbol => symbol.ensureNotDisposed().id) }); - return data.map((d: TypeResponse | null) => d ? this.objectRegistry.getType(d) : undefined); - } - const data = this.client.request("getTypeOfSymbol", { project: this.id, symbol: (symbolOrSymbols as Symbol).ensureNotDisposed().id }); - return data ? this.objectRegistry.getType(data) : undefined; - } -} - -export class Symbol extends DisposableObject { - private client: Client; - id: string; - name: string; - flags: SymbolFlags; - checkFlags: number; - - constructor(client: Client, objectRegistry: ObjectRegistry, data: SymbolResponse) { - super(objectRegistry); - this.client = client; - this.id = data.id; - this.name = data.name; - this.flags = data.flags; - this.checkFlags = data.checkFlags; - } -} - -export class Type extends DisposableObject { - private client: Client; - id: string; - flags: TypeFlags; - constructor(client: Client, objectRegistry: ObjectRegistry, data: TypeResponse) { - super(objectRegistry); - this.client = client; - this.id = data.id; - this.flags = data.flags; - } -} +import { SymbolFlags } from "#symbolFlags"; +import { TypeFlags } from "#typeFlags"; +import type { + Node, + SourceFile, +} from "@typescript/ast"; +import { Client } from "./client.ts"; +import type { FileSystem } from "./fs.ts"; +import { RemoteSourceFile } from "./node.ts"; +import { ObjectRegistry } from "./objectRegistry.ts"; +import type { + ConfigResponse, + ProjectResponse, + SymbolResponse, + TypeResponse, +} from "./proto.ts"; + +export { SymbolFlags, TypeFlags }; + +export interface APIOptions { + tsserverPath: string; + cwd?: string; + logFile?: string; + fs?: FileSystem; +} + +export class API { + private client: Client; + private objectRegistry: ObjectRegistry; + constructor(options: APIOptions) { + this.client = new Client(options); + this.objectRegistry = new ObjectRegistry(this.client); + } + + parseConfigFile(fileName: string): ConfigResponse { + return this.client.request("parseConfigFile", { fileName }); + } + + loadProject(configFileName: string): Project { + const data = this.client.request("loadProject", { configFileName }); + return this.objectRegistry.getProject(data); + } + + echo(message: string): string { + return this.client.echo(message); + } + + echoBinary(message: Uint8Array): Uint8Array { + return this.client.echoBinary(message); + } + + close(): void { + this.client.close(); + } +} + +export class DisposableObject { + private disposed: boolean = false; + protected objectRegistry: ObjectRegistry; + constructor(objectRegistry: ObjectRegistry) { + this.objectRegistry = objectRegistry; + } + [globalThis.Symbol.dispose](): void { + this.objectRegistry.release(this); + this.disposed = true; + } + dispose(): void { + this[globalThis.Symbol.dispose](); + } + isDisposed(): boolean { + return this.disposed; + } + ensureNotDisposed(): this { + if (this.disposed) { + throw new Error(`${this.constructor.name} is disposed`); + } + return this; + } +} + +export class Project extends DisposableObject { + private decoder = new TextDecoder(); + private client: Client; + + id: string; + configFileName!: string; + compilerOptions!: Record; + rootFiles!: readonly string[]; + + constructor(client: Client, objectRegistry: ObjectRegistry, data: ProjectResponse) { + super(objectRegistry); + this.id = data.id; + this.client = client; + this.loadData(data); + } + + loadData(data: ProjectResponse): void { + this.configFileName = data.configFileName; + this.compilerOptions = data.compilerOptions; + this.rootFiles = data.rootFiles; + } + + reload(): void { + this.ensureNotDisposed(); + this.loadData(this.client.request("loadProject", { configFileName: this.configFileName })); + } + + getSourceFile(fileName: string): SourceFile | undefined { + this.ensureNotDisposed(); + const data = this.client.requestBinary("getSourceFile", { project: this.id, fileName }); + return data ? new RemoteSourceFile(data, this.decoder) as unknown as SourceFile : undefined; + } + + getSymbolAtLocation(node: Node): Symbol | undefined; + getSymbolAtLocation(nodes: readonly Node[]): Symbol | undefined; + getSymbolAtLocation(nodeOrNodes: Node | readonly Node[]): Symbol | undefined { + this.ensureNotDisposed(); + if (Array.isArray(nodeOrNodes)) { + const data = this.client.request("getSymbolsAtLocations", { project: this.id, locations: nodeOrNodes.map(node => node.id) }); + return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); + } + const data = this.client.request("getSymbolAtLocation", { project: this.id, location: (nodeOrNodes as Node).id }); + return data ? this.objectRegistry.getSymbol(data) : undefined; + } + + getSymbolAtPosition(fileName: string, position: number): Symbol | undefined; + getSymbolAtPosition(fileName: string, positions: readonly number[]): (Symbol | undefined)[]; + getSymbolAtPosition(fileName: string, positionOrPositions: number | readonly number[]): Symbol | (Symbol | undefined)[] | undefined { + this.ensureNotDisposed(); + if (typeof positionOrPositions === "number") { + const data = this.client.request("getSymbolAtPosition", { project: this.id, fileName, position: positionOrPositions }); + return data ? this.objectRegistry.getSymbol(data) : undefined; + } + const data = this.client.request("getSymbolsAtPositions", { project: this.id, fileName, positions: positionOrPositions }); + return data.map((d: SymbolResponse | null) => d ? this.objectRegistry.getSymbol(d) : undefined); + } + + getTypeOfSymbol(symbol: Symbol): Type | undefined; + getTypeOfSymbol(symbols: readonly Symbol[]): (Type | undefined)[]; + getTypeOfSymbol(symbolOrSymbols: Symbol | readonly Symbol[]): Type | (Type | undefined)[] | undefined { + this.ensureNotDisposed(); + if (Array.isArray(symbolOrSymbols)) { + const data = this.client.request("getTypesOfSymbols", { project: this.id, symbols: symbolOrSymbols.map(symbol => symbol.ensureNotDisposed().id) }); + return data.map((d: TypeResponse | null) => d ? this.objectRegistry.getType(d) : undefined); + } + const data = this.client.request("getTypeOfSymbol", { project: this.id, symbol: (symbolOrSymbols as Symbol).ensureNotDisposed().id }); + return data ? this.objectRegistry.getType(data) : undefined; + } +} + +export class Symbol extends DisposableObject { + private client: Client; + id: string; + name: string; + flags: SymbolFlags; + checkFlags: number; + + constructor(client: Client, objectRegistry: ObjectRegistry, data: SymbolResponse) { + super(objectRegistry); + this.client = client; + this.id = data.id; + this.name = data.name; + this.flags = data.flags; + this.checkFlags = data.checkFlags; + } +} + +export class Type extends DisposableObject { + private client: Client; + id: string; + flags: TypeFlags; + constructor(client: Client, objectRegistry: ObjectRegistry, data: TypeResponse) { + super(objectRegistry); + this.client = client; + this.id = data.id; + this.flags = data.flags; + } +} diff --git a/_packages/api/src/client.ts b/_packages/api/src/client.ts index 2a8b9e0daf..c99d0945f4 100644 --- a/_packages/api/src/client.ts +++ b/_packages/api/src/client.ts @@ -1,65 +1,65 @@ -import { SyncRpcChannel } from "libsyncrpc"; -import type { FileSystem } from "./fs.ts"; - -export interface ClientOptions { - tsserverPath: string; - cwd?: string; - logFile?: string; - fs?: FileSystem; -} - -export class Client { - private channel: SyncRpcChannel; - private decoder = new TextDecoder(); - private encoder = new TextEncoder(); - - constructor(options: ClientOptions) { - this.channel = new SyncRpcChannel(options.tsserverPath, [ - "api", - "-cwd", - options.cwd ?? process.cwd(), - ]); - - this.channel.requestSync( - "configure", - JSON.stringify({ - logFile: options.logFile, - callbacks: Object.keys(options.fs ?? {}), - }), - ); - - if (options.fs) { - for (const [key, callback] of Object.entries(options.fs)) { - this.channel.registerCallback(key, (_, arg) => { - const result = callback(JSON.parse(arg)); - return JSON.stringify(result) ?? ""; - }); - } - } - } - - request(method: string, payload: any): any { - const encodedPayload = JSON.stringify(payload); - const result = this.channel.requestSync(method, encodedPayload); - if (result.length) { - const decodedResult = JSON.parse(result); - return decodedResult; - } - } - - requestBinary(method: string, payload: any): Uint8Array { - return this.channel.requestBinarySync(method, this.encoder.encode(JSON.stringify(payload))); - } - - echo(payload: string): string { - return this.channel.requestSync("echo", payload); - } - - echoBinary(payload: Uint8Array): Uint8Array { - return this.channel.requestBinarySync("echo", payload); - } - - close(): void { - this.channel.close(); - } -} +import { SyncRpcChannel } from "libsyncrpc"; +import type { FileSystem } from "./fs.ts"; + +export interface ClientOptions { + tsserverPath: string; + cwd?: string; + logFile?: string; + fs?: FileSystem; +} + +export class Client { + private channel: SyncRpcChannel; + private decoder = new TextDecoder(); + private encoder = new TextEncoder(); + + constructor(options: ClientOptions) { + this.channel = new SyncRpcChannel(options.tsserverPath, [ + "api", + "-cwd", + options.cwd ?? process.cwd(), + ]); + + this.channel.requestSync( + "configure", + JSON.stringify({ + logFile: options.logFile, + callbacks: Object.keys(options.fs ?? {}), + }), + ); + + if (options.fs) { + for (const [key, callback] of Object.entries(options.fs)) { + this.channel.registerCallback(key, (_, arg) => { + const result = callback(JSON.parse(arg)); + return JSON.stringify(result) ?? ""; + }); + } + } + } + + request(method: string, payload: any): any { + const encodedPayload = JSON.stringify(payload); + const result = this.channel.requestSync(method, encodedPayload); + if (result.length) { + const decodedResult = JSON.parse(result); + return decodedResult; + } + } + + requestBinary(method: string, payload: any): Uint8Array { + return this.channel.requestBinarySync(method, this.encoder.encode(JSON.stringify(payload))); + } + + echo(payload: string): string { + return this.channel.requestSync("echo", payload); + } + + echoBinary(payload: Uint8Array): Uint8Array { + return this.channel.requestBinarySync("echo", payload); + } + + close(): void { + this.channel.close(); + } +} diff --git a/_packages/api/src/fs.ts b/_packages/api/src/fs.ts index aa12acd210..f84d35da82 100644 --- a/_packages/api/src/fs.ts +++ b/_packages/api/src/fs.ts @@ -1,142 +1,142 @@ -import { getPathComponents } from "./path.ts"; - -export interface FileSystemEntries { - files: string[]; - directories: string[]; -} - -export interface FileSystem { - directoryExists?: (directoryName: string) => boolean | undefined; - fileExists?: (fileName: string) => boolean | undefined; - getAccessibleEntries?: (directoryName: string) => FileSystemEntries | undefined; - readFile?: (fileName: string) => string | null | undefined; - realpath?: (path: string) => string | undefined; -} - -export function createVirtualFileSystem(files: Record): FileSystem { - interface VDirectory { - type: "directory"; - children: Record; - } - - interface VFile { - type: "file"; - content: string; - } - - type VNode = VDirectory | VFile; - - const root: VDirectory = { - type: "directory", - children: {}, - }; - - for (const [filePath, fileContent] of Object.entries(files)) { - createFile(filePath, fileContent); - } - - return { - directoryExists, - fileExists, - getAccessibleEntries, - readFile, - realpath: path => path, - }; - - /** - * Traverse the tree from the root according to path segments. - * Returns the node if found, or null if any segment doesn't exist. - */ - function getNodeFromPath(path: string): VNode | undefined { - if (!path || path === "/") { - return root; - } - const segments = getPathComponents(path).slice(1); - let current: VNode = root; - - for (const segment of segments) { - if (current.type !== "directory") { - return undefined; - } - const child: VNode = current.children[segment]; - if (!child) { - return undefined; // segment not found - } - current = child; - } - - return current; - } - - /** - * Ensure that the directory path (given by `segments`) exists, - * creating subdirectories as needed. Returns the final directory node. - */ - function ensureDirectory(segments: string[]): VDirectory { - let current: VDirectory = root; - for (const segment of segments) { - if (!current.children[segment]) { - // Create a new directory node - current.children[segment] = { type: "directory", children: {} }; - } - else if (current.children[segment].type !== "directory") { - // A file with the same name already exists - throw new Error(`Cannot create directory: a file already exists at "/${segments.join("/")}"`); - } - current = current.children[segment] as VDirectory; - } - return current; - } - - /** - * Create (or overwrite) a file at the given path with provided content. - * Automatically creates parent directories if needed. - */ - function createFile(path: string, content: string) { - const segments = getPathComponents(path).slice(1); - if (segments.length === 0) { - throw new Error(`Invalid file path: "${path}"`); - } - const filename = segments.pop()!; - const directorySegments = segments; - const dirNode = ensureDirectory(directorySegments); - dirNode.children[filename] = { type: "file", content }; - } - - function directoryExists(directoryName: string): boolean { - const node = getNodeFromPath(directoryName); - return !!node && node.type === "directory"; - } - - function fileExists(fileName: string): boolean { - const node = getNodeFromPath(fileName); - return !!node && node.type === "file"; - } - - function getAccessibleEntries(directoryName: string): FileSystemEntries | undefined { - const node = getNodeFromPath(directoryName); - if (!node || node.type !== "directory") { - // Not found or not a directory - return undefined; - } - const files: string[] = []; - const directories: string[] = []; - for (const [name, child] of Object.entries(node.children)) { - if (child.type === "file") { - files.push(name); - } - else { - directories.push(name); - } - } - return { files, directories }; - } - - function readFile(fileName: string): string | undefined { - const node = getNodeFromPath(fileName); - if (!node || node.type !== "file") { - return undefined; // doesn't exist or is not a file - } - return node.content; - } -} +import { getPathComponents } from "./path.ts"; + +export interface FileSystemEntries { + files: string[]; + directories: string[]; +} + +export interface FileSystem { + directoryExists?: (directoryName: string) => boolean | undefined; + fileExists?: (fileName: string) => boolean | undefined; + getAccessibleEntries?: (directoryName: string) => FileSystemEntries | undefined; + readFile?: (fileName: string) => string | null | undefined; + realpath?: (path: string) => string | undefined; +} + +export function createVirtualFileSystem(files: Record): FileSystem { + interface VDirectory { + type: "directory"; + children: Record; + } + + interface VFile { + type: "file"; + content: string; + } + + type VNode = VDirectory | VFile; + + const root: VDirectory = { + type: "directory", + children: {}, + }; + + for (const [filePath, fileContent] of Object.entries(files)) { + createFile(filePath, fileContent); + } + + return { + directoryExists, + fileExists, + getAccessibleEntries, + readFile, + realpath: path => path, + }; + + /** + * Traverse the tree from the root according to path segments. + * Returns the node if found, or null if any segment doesn't exist. + */ + function getNodeFromPath(path: string): VNode | undefined { + if (!path || path === "/") { + return root; + } + const segments = getPathComponents(path).slice(1); + let current: VNode = root; + + for (const segment of segments) { + if (current.type !== "directory") { + return undefined; + } + const child: VNode = current.children[segment]; + if (!child) { + return undefined; // segment not found + } + current = child; + } + + return current; + } + + /** + * Ensure that the directory path (given by `segments`) exists, + * creating subdirectories as needed. Returns the final directory node. + */ + function ensureDirectory(segments: string[]): VDirectory { + let current: VDirectory = root; + for (const segment of segments) { + if (!current.children[segment]) { + // Create a new directory node + current.children[segment] = { type: "directory", children: {} }; + } + else if (current.children[segment].type !== "directory") { + // A file with the same name already exists + throw new Error(`Cannot create directory: a file already exists at "/${segments.join("/")}"`); + } + current = current.children[segment] as VDirectory; + } + return current; + } + + /** + * Create (or overwrite) a file at the given path with provided content. + * Automatically creates parent directories if needed. + */ + function createFile(path: string, content: string) { + const segments = getPathComponents(path).slice(1); + if (segments.length === 0) { + throw new Error(`Invalid file path: "${path}"`); + } + const filename = segments.pop()!; + const directorySegments = segments; + const dirNode = ensureDirectory(directorySegments); + dirNode.children[filename] = { type: "file", content }; + } + + function directoryExists(directoryName: string): boolean { + const node = getNodeFromPath(directoryName); + return !!node && node.type === "directory"; + } + + function fileExists(fileName: string): boolean { + const node = getNodeFromPath(fileName); + return !!node && node.type === "file"; + } + + function getAccessibleEntries(directoryName: string): FileSystemEntries | undefined { + const node = getNodeFromPath(directoryName); + if (!node || node.type !== "directory") { + // Not found or not a directory + return undefined; + } + const files: string[] = []; + const directories: string[] = []; + for (const [name, child] of Object.entries(node.children)) { + if (child.type === "file") { + files.push(name); + } + else { + directories.push(name); + } + } + return { files, directories }; + } + + function readFile(fileName: string): string | undefined { + const node = getNodeFromPath(fileName); + if (!node || node.type !== "file") { + return undefined; // doesn't exist or is not a file + } + return node.content; + } +} diff --git a/_packages/api/src/node.ts b/_packages/api/src/node.ts index 2da78988b8..d0d74ffb5c 100644 --- a/_packages/api/src/node.ts +++ b/_packages/api/src/node.ts @@ -1,947 +1,947 @@ -import { - type Node, - type NodeArray, - type SourceFile, - SyntaxKind, -} from "@typescript/ast"; - -declare module "@typescript/ast" { - export interface Node { - readonly id: string; - forEachChild(visitor: (node: Node) => T): T | undefined; - getSourceFile(): SourceFile; - } - - export interface NodeArray { - at(index: number): T; - } -} - -const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8]; - -const childProperties: Readonly>> = { - [SyntaxKind.QualifiedName]: ["left", "right"], - [SyntaxKind.TypeParameter]: ["modifiers", "name", "constraint", "defaultType"], - [SyntaxKind.IfStatement]: ["expression", "thenStatement", "elseStatement"], - [SyntaxKind.DoStatement]: ["statement", "expression"], - [SyntaxKind.WhileStatement]: ["expression", "statement"], - [SyntaxKind.ForStatement]: ["initializer", "condition", "incrementor", "statement"], - [SyntaxKind.ForInStatement]: ["awaitModifier", "initializer", "expression", "statement"], - [SyntaxKind.ForOfStatement]: ["awaitModifier", "initializer", "expression", "statement"], - [SyntaxKind.WithStatement]: ["expression", "statement"], - [SyntaxKind.SwitchStatement]: ["expression", "caseBlock"], - [SyntaxKind.CaseClause]: ["expression", "statements"], - [SyntaxKind.DefaultClause]: ["expression", "statements"], - [SyntaxKind.TryStatement]: ["tryBlock", "catchClause", "finallyBlock"], - [SyntaxKind.CatchClause]: ["variableDeclaration", "block"], - [SyntaxKind.LabeledStatement]: ["label", "statement"], - [SyntaxKind.VariableStatement]: ["modifiers", "declarationList"], - [SyntaxKind.VariableDeclaration]: ["name", "exclamationToken", "type", "initializer"], - [SyntaxKind.Parameter]: ["modifiers", "dotDotDotToken", "name", "questionToken", "type", "initializer"], - [SyntaxKind.BindingElement]: ["dotDotDotToken", "propertyName", "name", "initializer"], - [SyntaxKind.FunctionDeclaration]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.InterfaceDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], - [SyntaxKind.TypeAliasDeclaration]: ["modifiers", "name", "typeParameters", "type"], - [SyntaxKind.EnumMember]: ["name", "initializer"], - [SyntaxKind.EnumDeclaration]: ["modifiers", "name", "members"], - [SyntaxKind.ModuleDeclaration]: ["modifiers", "name", "body"], - [SyntaxKind.ImportEqualsDeclaration]: ["modifiers", "name", "moduleReference"], - [SyntaxKind.ImportDeclaration]: ["modifiers", "importClause", "moduleSpecifier", "attributes"], - [SyntaxKind.ImportSpecifier]: ["propertyName", "name"], - [SyntaxKind.ImportClause]: ["name", "namedBindings"], - [SyntaxKind.ExportAssignment]: ["modifiers", "expression"], - [SyntaxKind.NamespaceExportDeclaration]: ["modifiers", "name"], - [SyntaxKind.ExportDeclaration]: ["modifiers", "exportClause", "moduleSpecifier", "attributes"], - [SyntaxKind.ExportSpecifier]: ["propertyName", "name"], - [SyntaxKind.CallSignature]: ["typeParameters", "parameters", "type"], - [SyntaxKind.ConstructSignature]: ["typeParameters", "parameters", "type"], - [SyntaxKind.Constructor]: ["modifiers", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.GetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.SetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.IndexSignature]: ["modifiers", "parameters", "type"], - [SyntaxKind.MethodSignature]: ["modifiers", "name", "postfixToken", "typeParameters", "parameters", "type"], - [SyntaxKind.MethodDeclaration]: ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.PropertySignature]: ["modifiers", "name", "postfixToken", "type", "initializer"], - [SyntaxKind.PropertyDeclaration]: ["modifiers", "name", "postfixToken", "type", "initializer"], - [SyntaxKind.BinaryExpression]: ["left", "operatorToken", "right"], - [SyntaxKind.YieldExpression]: ["asteriskToken", "expression"], - [SyntaxKind.ArrowFunction]: ["modifiers", "typeParameters", "parameters", "type", "equalsGreaterThanToken", "body"], - [SyntaxKind.FunctionExpression]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], - [SyntaxKind.AsExpression]: ["expression", "type"], - [SyntaxKind.SatisfiesExpression]: ["expression", "type"], - [SyntaxKind.ConditionalExpression]: ["condition", "questionToken", "whenTrue", "colonToken", "whenFalse"], - [SyntaxKind.PropertyAccessExpression]: ["expression", "questionDotToken", "name"], - [SyntaxKind.ElementAccessExpression]: ["expression", "questionDotToken", "argumentExpression"], - [SyntaxKind.CallExpression]: ["expression", "questionDotToken", "typeArguments", "arguments"], - [SyntaxKind.NewExpression]: ["expression", "typeArguments", "arguments"], - [SyntaxKind.TemplateExpression]: ["head", "templateSpans"], - [SyntaxKind.TemplateSpan]: ["expression", "literal"], - [SyntaxKind.TaggedTemplateExpression]: ["tag", "questionDotToken", "typeArguments", "template"], - [SyntaxKind.PropertyAssignment]: ["modifiers", "name", "postfixToken", "initializer"], - [SyntaxKind.ShorthandPropertyAssignment]: ["modifiers", "name", "postfixToken", "equalsToken", "objectAssignmentInitializer"], - [SyntaxKind.TypeAssertionExpression]: ["type", "expression"], - [SyntaxKind.ConditionalType]: ["checkType", "extendsType", "trueType", "falseType"], - [SyntaxKind.IndexedAccessType]: ["objectType", "indexType"], - [SyntaxKind.TypeReference]: ["typeName", "typeArguments"], - [SyntaxKind.ExpressionWithTypeArguments]: ["expression", "typeArguments"], - [SyntaxKind.TypePredicate]: ["assertsModifier", "parameterName", "type"], - [SyntaxKind.ImportType]: ["argument", "attributes", "qualifier", "typeArguments"], - [SyntaxKind.ImportAttribute]: ["name", "value"], - [SyntaxKind.TypeQuery]: ["exprName", "typeArguments"], - [SyntaxKind.MappedType]: ["readonlyToken", "typeParameter", "nameType", "questionToken", "type", "members"], - [SyntaxKind.NamedTupleMember]: ["dotDotDotToken", "name", "questionToken", "type"], - [SyntaxKind.FunctionType]: ["typeParameters", "parameters", "type"], - [SyntaxKind.ConstructorType]: ["modifiers", "typeParameters", "parameters", "type"], - [SyntaxKind.TemplateLiteralType]: ["head", "templateSpans"], - [SyntaxKind.TemplateLiteralTypeSpan]: ["type", "literal"], - [SyntaxKind.JsxElement]: ["openingElement", "children", "closingElement"], - [SyntaxKind.JsxNamespacedName]: ["name", "namespace"], - [SyntaxKind.JsxOpeningElement]: ["tagName", "typeArguments", "attributes"], - [SyntaxKind.JsxSelfClosingElement]: ["tagName", "typeArguments", "attributes"], - [SyntaxKind.JsxFragment]: ["openingFragment", "children", "closingFragment"], - [SyntaxKind.JsxAttribute]: ["name", "initializer"], - [SyntaxKind.JsxExpression]: ["dotDotDotToken", "expression"], - [SyntaxKind.JSDoc]: ["comment", "tags"], - [SyntaxKind.JSDocTypeTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocTag]: ["tagName", "comment"], - [SyntaxKind.JSDocTemplateTag]: ["tagName", "constraint", "typeParameters", "comment"], - [SyntaxKind.JSDocReturnTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocPublicTag]: ["tagName", "comment"], - [SyntaxKind.JSDocPrivateTag]: ["tagName", "comment"], - [SyntaxKind.JSDocProtectedTag]: ["tagName", "comment"], - [SyntaxKind.JSDocReadonlyTag]: ["tagName", "comment"], - [SyntaxKind.JSDocOverrideTag]: ["tagName", "comment"], - [SyntaxKind.JSDocDeprecatedTag]: ["tagName", "comment"], - [SyntaxKind.JSDocSeeTag]: ["tagName", "nameExpression", "comment"], - [SyntaxKind.JSDocImplementsTag]: ["tagName", "className", "comment"], - [SyntaxKind.JSDocAugmentsTag]: ["tagName", "className", "comment"], - [SyntaxKind.JSDocSatisfiesTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocThisTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocImportTag]: ["tagName", "importClause", "moduleSpecifier", "attributes", "comment"], - [SyntaxKind.JSDocCallbackTag]: ["tagName", "typeExpression", "fullName", "comment"], - [SyntaxKind.JSDocOverloadTag]: ["tagName", "typeExpression", "comment"], - [SyntaxKind.JSDocTypedefTag]: ["tagName", "typeExpression", "fullName", "comment"], - [SyntaxKind.JSDocSignature]: ["typeParameters", "parameters", "type"], - [SyntaxKind.ClassStaticBlockDeclaration]: ["modifiers", "body"], - [SyntaxKind.ClassDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], - - // Later properties are in variable order, needs special handling - [SyntaxKind.JSDocPropertyTag]: [undefined!, undefined!], - [SyntaxKind.JSDocParameterTag]: ["tagName", undefined!, undefined!, "comment"], -}; - -const HEADER_OFFSET_RESERVED = 0; -const HEADER_OFFSET_STRING_TABLE_OFFSETS = 4; -const HEADER_OFFSET_STRING_TABLE = 8; -const HEADER_OFFSET_EXTENDED_DATA = 12; -const HEADER_OFFSET_NODES = 16; -const HEADER_SIZE = 20; - -type NodeDataType = typeof NODE_DATA_TYPE_CHILDREN | typeof NODE_DATA_TYPE_STRING | typeof NODE_DATA_TYPE_EXTENDED; -const NODE_DATA_TYPE_CHILDREN = 0x00000000; -const NODE_DATA_TYPE_STRING = 0x40000000; -const NODE_DATA_TYPE_EXTENDED = 0x80000000; -const NODE_DATA_TYPE_MASK = 0xc0_00_00_00; -const NODE_CHILD_MASK = 0x00_00_00_ff; -const NODE_STRING_INDEX_MASK = 0x00_ff_ff_ff; -const NODE_EXTENDED_DATA_MASK = 0x00_ff_ff_ff; - -const NODE_OFFSET_KIND = 0; -const NODE_OFFSET_POS = 4; -const NODE_OFFSET_END = 8; -const NODE_OFFSET_NEXT = 12; -const NODE_OFFSET_PARENT = 16; -const NODE_OFFSET_DATA = 20; -const NODE_LEN = 24; - -const KIND_NODE_LIST = 2 ** 32 - 1; - -export class RemoteNodeBase { - parent: RemoteNode; - protected view: DataView; - protected decoder: TextDecoder; - protected index: number; - /** Keys are positions */ - protected _children: Map | undefined; - - constructor(view: DataView, decoder: TextDecoder, index: number, parent: RemoteNode) { - this.view = view; - this.decoder = decoder; - this.index = index; - this.parent = parent; - } - - get kind(): SyntaxKind { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_KIND, true); - } - - get pos(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_POS, true); - } - - get end(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_END, true); - } - - get next(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_NEXT, true); - } - - protected get byteIndex(): number { - return this.offsetNodes + this.index * NODE_LEN; - } - - protected get offsetStringTableOffsets(): number { - return this.view.getUint32(HEADER_OFFSET_STRING_TABLE_OFFSETS, true); - } - - protected get offsetStringTable(): number { - return this.view.getUint32(HEADER_OFFSET_STRING_TABLE, true); - } - - protected get offsetExtendedData(): number { - return this.view.getUint32(HEADER_OFFSET_EXTENDED_DATA, true); - } - - protected get offsetNodes(): number { - return this.view.getUint32(HEADER_OFFSET_NODES, true); - } - - protected get parentIndex(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_PARENT, true); - } - - protected get data(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_DATA, true); - } - - protected get dataType(): NodeDataType { - return (this.data & NODE_DATA_TYPE_MASK) as NodeDataType; - } - - protected get childMask(): number { - if (this.dataType !== NODE_DATA_TYPE_CHILDREN) { - return 0; - } - return this.data & NODE_CHILD_MASK; - } - - protected getFileText(start: number, end: number): string { - return this.decoder.decode(new Uint8Array(this.view.buffer, this.offsetStringTable + start, end - start)); - } -} - -export class RemoteNodeList extends Array implements NodeArray { - parent: RemoteNode; - protected view: DataView; - protected decoder: TextDecoder; - protected index: number; - /** Keys are positions */ - protected _children: Map | undefined; - - get pos(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_POS, true); - } - - get end(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_END, true); - } - - get next(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_NEXT, true); - } - - private get data(): number { - return this.view.getUint32(this.byteIndex + NODE_OFFSET_DATA, true); - } - - private get offsetNodes(): number { - return this.view.getUint32(HEADER_OFFSET_NODES, true); - } - - private get byteIndex(): number { - return this.offsetNodes + this.index * NODE_LEN; - } - - constructor(view: DataView, decoder: TextDecoder, index: number, parent: RemoteNode) { - super(); - this.view = view; - this.decoder = decoder; - this.index = index; - this.parent = parent; - this.length = this.data; - - const length = this.length; - for (let i = 0; i < length; i++) { - Object.defineProperty(this, i, { - get() { - return this.at(i); - }, - }); - } - } - - *[Symbol.iterator](): IterableIterator { - let next = this.index + 1; - while (next) { - const child = this.getOrCreateChildAtNodeIndex(next); - next = child.next; - yield child as RemoteNode; - } - } - - at(index: number): RemoteNode { - if (!Number.isInteger(index)) { - return undefined!; - } - if (index < 0) { - index = this.length - index; - } - let next = this.index + 1; - for (let i = 0; i < index; i++) { - const child = this.getOrCreateChildAtNodeIndex(next); - next = child.next; - } - return this.getOrCreateChildAtNodeIndex(next) as RemoteNode; - } - - private getOrCreateChildAtNodeIndex(index: number): RemoteNode | RemoteNodeList { - const pos = this.view.getUint32(this.offsetNodes + index * NODE_LEN + NODE_OFFSET_POS, true); - let child = (this._children ??= new Map()).get(pos); - if (!child) { - const kind = this.view.getUint32(this.offsetNodes + index * NODE_LEN + NODE_OFFSET_KIND, true); - if (kind === KIND_NODE_LIST) { - throw new Error("NodeList cannot directly contain another NodeList"); - } - child = new RemoteNode(this.view, this.decoder, index, this.parent); - this._children.set(pos, child); - } - return child; - } - - __print(): string { - const result = []; - result.push(`kind: NodeList`); - result.push(`index: ${this.index}`); - result.push(`byteIndex: ${this.byteIndex}`); - result.push(`length: ${this.length}`); - return result.join("\n"); - } -} - -export class RemoteNode extends RemoteNodeBase implements Node { - protected static NODE_LEN: number = NODE_LEN; - private sourceFile: SourceFile; - id: string; - - constructor(view: DataView, decoder: TextDecoder, index: number, parent: RemoteNode) { - super(view, decoder, index, parent); - let sourceFile: RemoteNode = this; - while (sourceFile && sourceFile.kind !== SyntaxKind.SourceFile) { - sourceFile = sourceFile.parent; - } - if (!sourceFile) { - throw new Error("SourceFile not found"); - } - this.sourceFile = sourceFile as unknown as SourceFile; - this.id = `${sourceFile.id}.${this.pos}.${this.kind}`; - } - - forEachChild(visitNode: (node: Node) => T, visitList?: (list: NodeArray) => T): T | undefined { - if (this.hasChildren()) { - let next = this.index + 1; - do { - const child = this.getOrCreateChildAtNodeIndex(next); - if (child instanceof RemoteNodeList) { - if (visitList) { - const result = visitList(child); - if (result) { - return result; - } - } - for (const node of child) { - const result = visitNode(node); - if (result) { - return result; - } - } - } - else { - const result = visitNode(child); - if (result) { - return result; - } - } - next = child.next; - } - while (next); - } - } - - getSourceFile(): SourceFile { - return this.sourceFile; - } - - protected getString(index: number): string { - const start = this.view.getUint32(this.offsetStringTableOffsets + index * 4, true); - const end = this.view.getUint32(this.offsetStringTableOffsets + (index + 1) * 4, true); - const text = new Uint8Array(this.view.buffer, this.offsetStringTable + start, end - start); - return this.decoder.decode(text); - } - - private getOrCreateChildAtNodeIndex(index: number): RemoteNode | RemoteNodeList { - const pos = this.view.getUint32(this.offsetNodes + index * NODE_LEN + NODE_OFFSET_POS, true); - let child = (this._children ??= new Map()).get(pos); - if (!child) { - const kind = this.view.getUint32(this.offsetNodes + index * NODE_LEN + NODE_OFFSET_KIND, true); - child = kind === KIND_NODE_LIST - ? new RemoteNodeList(this.view, this.decoder, index, this) - : new RemoteNode(this.view, this.decoder, index, this); - this._children.set(pos, child); - } - return child; - } - - private hasChildren(): boolean { - if (this._children) { - return true; - } - if (this.byteIndex >= this.view.byteLength - NODE_LEN) { - return false; - } - const nextNodeParent = this.view.getUint32(this.offsetNodes + (this.index + 1) * NODE_LEN + NODE_OFFSET_PARENT, true); - return nextNodeParent === this.index; - } - - private getNamedChild(propertyName: string): RemoteNode | RemoteNodeList | undefined { - const propertyNames = childProperties[this.kind]; - if (!propertyNames) { - // `childProperties` is only defined for nodes with more than one child property. - // Get the only child if it exists. - const child = this.getOrCreateChildAtNodeIndex(this.index + 1); - if (child.next !== 0) { - throw new Error("Expected only one child"); - } - return child; - } - - let order = propertyNames.indexOf(propertyName); - if (order === -1) { - // JSDocPropertyTag and JSDocParameterTag need special handling - // because they have a conditional property order - const kind = this.kind; - if (kind === SyntaxKind.JSDocPropertyTag) { - switch (propertyName) { - case "name": - order = this.isNameFirst ? 0 : 1; - break; - case "typeExpression": - order = this.isNameFirst ? 1 : 0; - break; - } - } - else if (kind === SyntaxKind.JSDocParameterTag) { - switch (propertyName) { - case "name": - order = this.isNameFirst ? 1 : 2; - case "typeExpression": - order = this.isNameFirst ? 2 : 1; - } - } - // Node kind does not have this property - return undefined; - } - const mask = this.childMask; - if (!(mask & (1 << order))) { - // Property is not present - return undefined; - } - - // The property index is `order`, minus the number of zeros in the mask that are in bit positions less - // than the `order`th bit. Example: - // - // This is a MethodDeclaration with mask 0b01110101. The possible properties are - // ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"] - // (it has modifiers, name, typeParameters, parameters, and type). - // - // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | - // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | - // | Value | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | - // | Name | body | type | parameters | typeParameters | postfixToken | name | asteriskToken | modifiers | - // - // We are trying to get the index of "parameters" (bit = 5). - // First, set all the more significant bits to 1: - // - // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | - // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | - // | Value | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | - // - // Then, flip the bits: - // - // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | - // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | - // | Value | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | - // - // Counting the 1s gives us the number of *missing properties* before the `order`th property. If every property - // were present, we would have `parameters = children[5]`, but since `postfixToken` and `astersiskToken` are - // missing, we have `parameters = children[5 - 2]`. - const propertyIndex = order - popcount8[~(mask | ((0xff << order) & 0xff)) & 0xff]; - return this.getOrCreateChildAtNodeIndex(this.index + 1 + propertyIndex); - } - - __print(): string { - const result = []; - result.push(`index: ${this.index}`); - result.push(`byteIndex: ${this.byteIndex}`); - result.push(`kind: ${SyntaxKind[this.kind]}`); - result.push(`pos: ${this.pos}`); - result.push(`end: ${this.end}`); - result.push(`next: ${this.next}`); - result.push(`parent: ${this.parentIndex}`); - result.push(`data: ${this.data.toString(2).padStart(32, "0")}`); - const dataType = this.dataType === NODE_DATA_TYPE_CHILDREN ? "children" : - this.dataType === NODE_DATA_TYPE_STRING ? "string" : - "extended"; - result.push(`dataType: ${dataType}`); - if (this.dataType === NODE_DATA_TYPE_CHILDREN) { - result.push(`childMask: ${this.childMask.toString(2).padStart(8, "0")}`); - result.push(`childProperties: ${childProperties[this.kind]?.join(", ")}`); - } - return result.join("\n"); - } - - __printChildren(): string { - const result = []; - let next = this.index + 1; - while (next) { - const child = this.getOrCreateChildAtNodeIndex(next); - next = child.next; - result.push(child.__print()); - } - return result.join("\n\n"); - } - - __printSubtree(): string { - const result = [this.__print()]; - this.forEachChild(function visitNode(node) { - result.push((node as RemoteNode).__print()); - node.forEachChild(visitNode); - }, visitList => { - result.push((visitList as RemoteNodeList).__print()); - }); - return result.join("\n\n"); - } - - // Boolean properties - get isArrayType(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.JSDocTypeLiteral: - return (this.data & 1 << 24) !== 0; - } - } - - get isTypeOnly(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.ImportSpecifier: - case SyntaxKind.ImportClause: - case SyntaxKind.ExportSpecifier: - case SyntaxKind.ImportEqualsDeclaration: - case SyntaxKind.ExportDeclaration: - return (this.data & 1 << 24) !== 0; - } - } - - get isTypeOf(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.ImportType: - return (this.data & 1 << 24) !== 0; - } - } - - get multiline(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.Block: - case SyntaxKind.ArrayLiteralExpression: - case SyntaxKind.ObjectLiteralExpression: - case SyntaxKind.ImportAttributes: - return (this.data & 1 << 24) !== 0; - } - } - - get isExportEquals(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.ExportAssignment: - return (this.data & 1 << 24) !== 0; - } - } - - get isBracketed(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.JSDocPropertyTag: - case SyntaxKind.JSDocParameterTag: - return (this.data & 1 << 24) !== 0; - } - } - - get containsOnlyTriviaWhiteSpaces(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.JsxText: - return (this.data & 1 << 24) !== 0; - } - } - - get isNameFirst(): boolean | undefined { - switch (this.kind) { - case SyntaxKind.JSDocPropertyTag: - case SyntaxKind.JSDocParameterTag: - return (this.data & 1 << 25) !== 0; - } - } - - // Children properties - get argument(): RemoteNode | undefined { - return this.getNamedChild("argument") as RemoteNode; - } - get argumentExpression(): RemoteNode | undefined { - return this.getNamedChild("argumentExpression") as RemoteNode; - } - get arguments(): RemoteNodeList | undefined { - return this.getNamedChild("arguments") as RemoteNodeList; - } - get assertsModifier(): RemoteNode | undefined { - return this.getNamedChild("assertsModifier") as RemoteNode; - } - get asteriskToken(): RemoteNode | undefined { - return this.getNamedChild("asteriskToken") as RemoteNode; - } - get attributes(): RemoteNode | undefined { - return this.getNamedChild("attributes") as RemoteNode; - } - get awaitModifier(): RemoteNode | undefined { - return this.getNamedChild("awaitModifier") as RemoteNode; - } - get block(): RemoteNode | undefined { - return this.getNamedChild("block") as RemoteNode; - } - get body(): RemoteNode | undefined { - return this.getNamedChild("body") as RemoteNode; - } - get caseBlock(): RemoteNode | undefined { - return this.getNamedChild("caseBlock") as RemoteNode; - } - get catchClause(): RemoteNode | undefined { - return this.getNamedChild("catchClause") as RemoteNode; - } - get checkType(): RemoteNode | undefined { - return this.getNamedChild("checkType") as RemoteNode; - } - get children(): RemoteNodeList | undefined { - return this.getNamedChild("children") as RemoteNodeList; - } - get className(): RemoteNode | undefined { - return this.getNamedChild("className") as RemoteNode; - } - get closingElement(): RemoteNode | undefined { - return this.getNamedChild("closingElement") as RemoteNode; - } - get closingFragment(): RemoteNode | undefined { - return this.getNamedChild("closingFragment") as RemoteNode; - } - get colonToken(): RemoteNode | undefined { - return this.getNamedChild("colonToken") as RemoteNode; - } - get comment(): RemoteNode | undefined { - return this.getNamedChild("comment") as RemoteNode; - } - get condition(): RemoteNode | undefined { - return this.getNamedChild("condition") as RemoteNode; - } - get constraint(): RemoteNode | undefined { - return this.getNamedChild("constraint") as RemoteNode; - } - get declarationList(): RemoteNode | undefined { - return this.getNamedChild("declarationList") as RemoteNode; - } - get defaultType(): RemoteNode | undefined { - return this.getNamedChild("defaultType") as RemoteNode; - } - get dotDotDotToken(): RemoteNode | undefined { - return this.getNamedChild("dotDotDotToken") as RemoteNode; - } - get elements(): RemoteNodeList | undefined { - return this.getNamedChild("elements") as RemoteNodeList; - } - get elseStatement(): RemoteNode | undefined { - return this.getNamedChild("elseStatement") as RemoteNode; - } - get equalsGreaterThanToken(): RemoteNode | undefined { - return this.getNamedChild("equalsGreaterThanToken") as RemoteNode; - } - get equalsToken(): RemoteNode | undefined { - return this.getNamedChild("equalsToken") as RemoteNode; - } - get exclamationToken(): RemoteNode | undefined { - return this.getNamedChild("exclamationToken") as RemoteNode; - } - get exportClause(): RemoteNode | undefined { - return this.getNamedChild("exportClause") as RemoteNode; - } - get expression(): RemoteNode | undefined { - return this.getNamedChild("expression") as RemoteNode; - } - get exprName(): RemoteNode | undefined { - return this.getNamedChild("exprName") as RemoteNode; - } - get extendsType(): RemoteNode | undefined { - return this.getNamedChild("extendsType") as RemoteNode; - } - get falseType(): RemoteNode | undefined { - return this.getNamedChild("falseType") as RemoteNode; - } - get finallyBlock(): RemoteNode | undefined { - return this.getNamedChild("finallyBlock") as RemoteNode; - } - get fullName(): RemoteNode | undefined { - return this.getNamedChild("fullName") as RemoteNode; - } - get head(): RemoteNode | undefined { - return this.getNamedChild("head") as RemoteNode; - } - get heritageClauses(): RemoteNodeList | undefined { - return this.getNamedChild("heritageClauses") as RemoteNodeList; - } - get importClause(): RemoteNode | undefined { - return this.getNamedChild("importClause") as RemoteNode; - } - get incrementor(): RemoteNode | undefined { - return this.getNamedChild("incrementor") as RemoteNode; - } - get indexType(): RemoteNode | undefined { - return this.getNamedChild("indexType") as RemoteNode; - } - get initializer(): RemoteNode | undefined { - return this.getNamedChild("initializer") as RemoteNode; - } - get label(): RemoteNode | undefined { - return this.getNamedChild("label") as RemoteNode; - } - get left(): RemoteNode | undefined { - return this.getNamedChild("left") as RemoteNode; - } - get literal(): RemoteNode | undefined { - return this.getNamedChild("literal") as RemoteNode; - } - get members(): RemoteNodeList | undefined { - return this.getNamedChild("members") as RemoteNodeList; - } - get modifiers(): RemoteNodeList | undefined { - return this.getNamedChild("modifiers") as RemoteNodeList; - } - get moduleReference(): RemoteNode | undefined { - return this.getNamedChild("moduleReference") as RemoteNode; - } - get moduleSpecifier(): RemoteNode | undefined { - return this.getNamedChild("moduleSpecifier") as RemoteNode; - } - get name(): RemoteNode | undefined { - return this.getNamedChild("name") as RemoteNode; - } - get namedBindings(): RemoteNode | undefined { - return this.getNamedChild("namedBindings") as RemoteNode; - } - get nameExpression(): RemoteNode | undefined { - return this.getNamedChild("nameExpression") as RemoteNode; - } - get namespace(): RemoteNode | undefined { - return this.getNamedChild("namespace") as RemoteNode; - } - get nameType(): RemoteNode | undefined { - return this.getNamedChild("nameType") as RemoteNode; - } - get objectAssignmentInitializer(): RemoteNode | undefined { - return this.getNamedChild("objectAssignmentInitializer") as RemoteNode; - } - get objectType(): RemoteNode | undefined { - return this.getNamedChild("objectType") as RemoteNode; - } - get openingElement(): RemoteNode | undefined { - return this.getNamedChild("openingElement") as RemoteNode; - } - get openingFragment(): RemoteNode | undefined { - return this.getNamedChild("openingFragment") as RemoteNode; - } - get operatorToken(): RemoteNode | undefined { - return this.getNamedChild("operatorToken") as RemoteNode; - } - get parameterName(): RemoteNode | undefined { - return this.getNamedChild("parameterName") as RemoteNode; - } - get parameters(): RemoteNodeList | undefined { - return this.getNamedChild("parameters") as RemoteNodeList; - } - get postfixToken(): RemoteNode | undefined { - return this.getNamedChild("postfixToken") as RemoteNode; - } - get propertyName(): RemoteNode | undefined { - return this.getNamedChild("propertyName") as RemoteNode; - } - get qualifier(): RemoteNode | undefined { - return this.getNamedChild("qualifier") as RemoteNode; - } - get questionDotToken(): RemoteNode | undefined { - return this.getNamedChild("questionDotToken") as RemoteNode; - } - get questionToken(): RemoteNode | undefined { - return this.getNamedChild("questionToken") as RemoteNode; - } - get readonlyToken(): RemoteNode | undefined { - return this.getNamedChild("readonlyToken") as RemoteNode; - } - get right(): RemoteNode | undefined { - return this.getNamedChild("right") as RemoteNode; - } - get statement(): RemoteNode | undefined { - return this.getNamedChild("statement") as RemoteNode; - } - get statements(): RemoteNodeList | undefined { - return this.getNamedChild("statements") as RemoteNodeList; - } - get tag(): RemoteNode | undefined { - return this.getNamedChild("tag") as RemoteNode; - } - get tagName(): RemoteNode | undefined { - return this.getNamedChild("tagName") as RemoteNode; - } - get tags(): RemoteNodeList | undefined { - return this.getNamedChild("tags") as RemoteNodeList; - } - get template(): RemoteNode | undefined { - return this.getNamedChild("template") as RemoteNode; - } - get templateSpans(): RemoteNodeList | undefined { - return this.getNamedChild("templateSpans") as RemoteNodeList; - } - get thenStatement(): RemoteNode | undefined { - return this.getNamedChild("thenStatement") as RemoteNode; - } - get trueType(): RemoteNode | undefined { - return this.getNamedChild("trueType") as RemoteNode; - } - get tryBlock(): RemoteNode | undefined { - return this.getNamedChild("tryBlock") as RemoteNode; - } - get type(): RemoteNode | undefined { - return this.getNamedChild("type") as RemoteNode; - } - get typeArguments(): RemoteNode | undefined { - return this.getNamedChild("typeArguments") as RemoteNode; - } - get typeExpression(): RemoteNode | undefined { - return this.getNamedChild("typeExpression") as RemoteNode; - } - get typeName(): RemoteNode | undefined { - return this.getNamedChild("typeName") as RemoteNode; - } - get typeParameter(): RemoteNode | undefined { - return this.getNamedChild("typeParameter") as RemoteNode; - } - get typeParameters(): RemoteNodeList | undefined { - return this.getNamedChild("typeParameters") as RemoteNodeList; - } - get value(): RemoteNode | undefined { - return this.getNamedChild("value") as RemoteNode; - } - get variableDeclaration(): RemoteNode | undefined { - return this.getNamedChild("variableDeclaration") as RemoteNode; - } - get whenFalse(): RemoteNode | undefined { - return this.getNamedChild("whenFalse") as RemoteNode; - } - get whenTrue(): RemoteNode | undefined { - return this.getNamedChild("whenTrue") as RemoteNode; - } - - // String properties - get text(): string | undefined { - switch (this.kind) { - case SyntaxKind.JsxText: - case SyntaxKind.Identifier: - case SyntaxKind.PrivateIdentifier: - case SyntaxKind.StringLiteral: - case SyntaxKind.NumericLiteral: - case SyntaxKind.BigIntLiteral: - case SyntaxKind.RegularExpressionLiteral: - case SyntaxKind.NoSubstitutionTemplateLiteral: - case SyntaxKind.JSDocText: { - const stringIndex = this.data & NODE_STRING_INDEX_MASK; - return this.getString(stringIndex); - } - case SyntaxKind.SourceFile: - case SyntaxKind.TemplateHead: - case SyntaxKind.TemplateMiddle: - case SyntaxKind.TemplateTail: { - const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); - const stringIndex = this.view.getUint32(extendedDataOffset, true); - return this.getString(stringIndex); - } - } - } - - get rawText(): string | undefined { - switch (this.kind) { - case SyntaxKind.TemplateHead: - case SyntaxKind.TemplateMiddle: - case SyntaxKind.TemplateTail: - const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); - const stringIndex = this.view.getUint32(extendedDataOffset + 4, true); - return this.getString(stringIndex); - } - } - - get fileName(): string | undefined { - switch (this.kind) { - case SyntaxKind.SourceFile: - const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); - const stringIndex = this.view.getUint32(extendedDataOffset + 4, true); - return this.getString(stringIndex); - } - } - - // Other properties - get flags(): number { - switch (this.kind) { - case SyntaxKind.VariableDeclarationList: - return this.data & (1 << 24 | 1 << 25) >> 24; - default: - return 0; - } - } - - get token(): SyntaxKind | undefined { - switch (this.kind) { - case SyntaxKind.ImportAttributes: - if ((this.data & 1 << 25) !== 0) { - return SyntaxKind.AssertKeyword; - } - return SyntaxKind.WithKeyword; - } - } - - get templateFlags(): number | undefined { - switch (this.kind) { - case SyntaxKind.TemplateHead: - case SyntaxKind.TemplateMiddle: - case SyntaxKind.TemplateTail: - const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); - return this.view.getUint32(extendedDataOffset + 8, true); - } - } -} - -export class RemoteSourceFile extends RemoteNode { - constructor(data: Uint8Array, decoder: TextDecoder) { - const view = new DataView(data.buffer, data.byteOffset, data.byteLength); - super(view, decoder, 1, undefined!); - this.id = this.getString(this.view.getUint32(this.offsetExtendedData + 8, true)); - } -} +import { + type Node, + type NodeArray, + type SourceFile, + SyntaxKind, +} from "@typescript/ast"; + +declare module "@typescript/ast" { + export interface Node { + readonly id: string; + forEachChild(visitor: (node: Node) => T): T | undefined; + getSourceFile(): SourceFile; + } + + export interface NodeArray { + at(index: number): T; + } +} + +const popcount8 = [0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8]; + +const childProperties: Readonly>> = { + [SyntaxKind.QualifiedName]: ["left", "right"], + [SyntaxKind.TypeParameter]: ["modifiers", "name", "constraint", "defaultType"], + [SyntaxKind.IfStatement]: ["expression", "thenStatement", "elseStatement"], + [SyntaxKind.DoStatement]: ["statement", "expression"], + [SyntaxKind.WhileStatement]: ["expression", "statement"], + [SyntaxKind.ForStatement]: ["initializer", "condition", "incrementor", "statement"], + [SyntaxKind.ForInStatement]: ["awaitModifier", "initializer", "expression", "statement"], + [SyntaxKind.ForOfStatement]: ["awaitModifier", "initializer", "expression", "statement"], + [SyntaxKind.WithStatement]: ["expression", "statement"], + [SyntaxKind.SwitchStatement]: ["expression", "caseBlock"], + [SyntaxKind.CaseClause]: ["expression", "statements"], + [SyntaxKind.DefaultClause]: ["expression", "statements"], + [SyntaxKind.TryStatement]: ["tryBlock", "catchClause", "finallyBlock"], + [SyntaxKind.CatchClause]: ["variableDeclaration", "block"], + [SyntaxKind.LabeledStatement]: ["label", "statement"], + [SyntaxKind.VariableStatement]: ["modifiers", "declarationList"], + [SyntaxKind.VariableDeclaration]: ["name", "exclamationToken", "type", "initializer"], + [SyntaxKind.Parameter]: ["modifiers", "dotDotDotToken", "name", "questionToken", "type", "initializer"], + [SyntaxKind.BindingElement]: ["dotDotDotToken", "propertyName", "name", "initializer"], + [SyntaxKind.FunctionDeclaration]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.InterfaceDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], + [SyntaxKind.TypeAliasDeclaration]: ["modifiers", "name", "typeParameters", "type"], + [SyntaxKind.EnumMember]: ["name", "initializer"], + [SyntaxKind.EnumDeclaration]: ["modifiers", "name", "members"], + [SyntaxKind.ModuleDeclaration]: ["modifiers", "name", "body"], + [SyntaxKind.ImportEqualsDeclaration]: ["modifiers", "name", "moduleReference"], + [SyntaxKind.ImportDeclaration]: ["modifiers", "importClause", "moduleSpecifier", "attributes"], + [SyntaxKind.ImportSpecifier]: ["propertyName", "name"], + [SyntaxKind.ImportClause]: ["name", "namedBindings"], + [SyntaxKind.ExportAssignment]: ["modifiers", "expression"], + [SyntaxKind.NamespaceExportDeclaration]: ["modifiers", "name"], + [SyntaxKind.ExportDeclaration]: ["modifiers", "exportClause", "moduleSpecifier", "attributes"], + [SyntaxKind.ExportSpecifier]: ["propertyName", "name"], + [SyntaxKind.CallSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ConstructSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.Constructor]: ["modifiers", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.GetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.SetAccessor]: ["modifiers", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.IndexSignature]: ["modifiers", "parameters", "type"], + [SyntaxKind.MethodSignature]: ["modifiers", "name", "postfixToken", "typeParameters", "parameters", "type"], + [SyntaxKind.MethodDeclaration]: ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.PropertySignature]: ["modifiers", "name", "postfixToken", "type", "initializer"], + [SyntaxKind.PropertyDeclaration]: ["modifiers", "name", "postfixToken", "type", "initializer"], + [SyntaxKind.BinaryExpression]: ["left", "operatorToken", "right"], + [SyntaxKind.YieldExpression]: ["asteriskToken", "expression"], + [SyntaxKind.ArrowFunction]: ["modifiers", "typeParameters", "parameters", "type", "equalsGreaterThanToken", "body"], + [SyntaxKind.FunctionExpression]: ["modifiers", "asteriskToken", "name", "typeParameters", "parameters", "type", "body"], + [SyntaxKind.AsExpression]: ["expression", "type"], + [SyntaxKind.SatisfiesExpression]: ["expression", "type"], + [SyntaxKind.ConditionalExpression]: ["condition", "questionToken", "whenTrue", "colonToken", "whenFalse"], + [SyntaxKind.PropertyAccessExpression]: ["expression", "questionDotToken", "name"], + [SyntaxKind.ElementAccessExpression]: ["expression", "questionDotToken", "argumentExpression"], + [SyntaxKind.CallExpression]: ["expression", "questionDotToken", "typeArguments", "arguments"], + [SyntaxKind.NewExpression]: ["expression", "typeArguments", "arguments"], + [SyntaxKind.TemplateExpression]: ["head", "templateSpans"], + [SyntaxKind.TemplateSpan]: ["expression", "literal"], + [SyntaxKind.TaggedTemplateExpression]: ["tag", "questionDotToken", "typeArguments", "template"], + [SyntaxKind.PropertyAssignment]: ["modifiers", "name", "postfixToken", "initializer"], + [SyntaxKind.ShorthandPropertyAssignment]: ["modifiers", "name", "postfixToken", "equalsToken", "objectAssignmentInitializer"], + [SyntaxKind.TypeAssertionExpression]: ["type", "expression"], + [SyntaxKind.ConditionalType]: ["checkType", "extendsType", "trueType", "falseType"], + [SyntaxKind.IndexedAccessType]: ["objectType", "indexType"], + [SyntaxKind.TypeReference]: ["typeName", "typeArguments"], + [SyntaxKind.ExpressionWithTypeArguments]: ["expression", "typeArguments"], + [SyntaxKind.TypePredicate]: ["assertsModifier", "parameterName", "type"], + [SyntaxKind.ImportType]: ["argument", "attributes", "qualifier", "typeArguments"], + [SyntaxKind.ImportAttribute]: ["name", "value"], + [SyntaxKind.TypeQuery]: ["exprName", "typeArguments"], + [SyntaxKind.MappedType]: ["readonlyToken", "typeParameter", "nameType", "questionToken", "type", "members"], + [SyntaxKind.NamedTupleMember]: ["dotDotDotToken", "name", "questionToken", "type"], + [SyntaxKind.FunctionType]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ConstructorType]: ["modifiers", "typeParameters", "parameters", "type"], + [SyntaxKind.TemplateLiteralType]: ["head", "templateSpans"], + [SyntaxKind.TemplateLiteralTypeSpan]: ["type", "literal"], + [SyntaxKind.JsxElement]: ["openingElement", "children", "closingElement"], + [SyntaxKind.JsxNamespacedName]: ["name", "namespace"], + [SyntaxKind.JsxOpeningElement]: ["tagName", "typeArguments", "attributes"], + [SyntaxKind.JsxSelfClosingElement]: ["tagName", "typeArguments", "attributes"], + [SyntaxKind.JsxFragment]: ["openingFragment", "children", "closingFragment"], + [SyntaxKind.JsxAttribute]: ["name", "initializer"], + [SyntaxKind.JsxExpression]: ["dotDotDotToken", "expression"], + [SyntaxKind.JSDoc]: ["comment", "tags"], + [SyntaxKind.JSDocTypeTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocTag]: ["tagName", "comment"], + [SyntaxKind.JSDocTemplateTag]: ["tagName", "constraint", "typeParameters", "comment"], + [SyntaxKind.JSDocReturnTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocPublicTag]: ["tagName", "comment"], + [SyntaxKind.JSDocPrivateTag]: ["tagName", "comment"], + [SyntaxKind.JSDocProtectedTag]: ["tagName", "comment"], + [SyntaxKind.JSDocReadonlyTag]: ["tagName", "comment"], + [SyntaxKind.JSDocOverrideTag]: ["tagName", "comment"], + [SyntaxKind.JSDocDeprecatedTag]: ["tagName", "comment"], + [SyntaxKind.JSDocSeeTag]: ["tagName", "nameExpression", "comment"], + [SyntaxKind.JSDocImplementsTag]: ["tagName", "className", "comment"], + [SyntaxKind.JSDocAugmentsTag]: ["tagName", "className", "comment"], + [SyntaxKind.JSDocSatisfiesTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocThisTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocImportTag]: ["tagName", "importClause", "moduleSpecifier", "attributes", "comment"], + [SyntaxKind.JSDocCallbackTag]: ["tagName", "typeExpression", "fullName", "comment"], + [SyntaxKind.JSDocOverloadTag]: ["tagName", "typeExpression", "comment"], + [SyntaxKind.JSDocTypedefTag]: ["tagName", "typeExpression", "fullName", "comment"], + [SyntaxKind.JSDocSignature]: ["typeParameters", "parameters", "type"], + [SyntaxKind.ClassStaticBlockDeclaration]: ["modifiers", "body"], + [SyntaxKind.ClassDeclaration]: ["modifiers", "name", "typeParameters", "heritageClauses", "members"], + + // Later properties are in variable order, needs special handling + [SyntaxKind.JSDocPropertyTag]: [undefined!, undefined!], + [SyntaxKind.JSDocParameterTag]: ["tagName", undefined!, undefined!, "comment"], +}; + +const HEADER_OFFSET_RESERVED = 0; +const HEADER_OFFSET_STRING_TABLE_OFFSETS = 4; +const HEADER_OFFSET_STRING_TABLE = 8; +const HEADER_OFFSET_EXTENDED_DATA = 12; +const HEADER_OFFSET_NODES = 16; +const HEADER_SIZE = 20; + +type NodeDataType = typeof NODE_DATA_TYPE_CHILDREN | typeof NODE_DATA_TYPE_STRING | typeof NODE_DATA_TYPE_EXTENDED; +const NODE_DATA_TYPE_CHILDREN = 0x00000000; +const NODE_DATA_TYPE_STRING = 0x40000000; +const NODE_DATA_TYPE_EXTENDED = 0x80000000; +const NODE_DATA_TYPE_MASK = 0xc0_00_00_00; +const NODE_CHILD_MASK = 0x00_00_00_ff; +const NODE_STRING_INDEX_MASK = 0x00_ff_ff_ff; +const NODE_EXTENDED_DATA_MASK = 0x00_ff_ff_ff; + +const NODE_OFFSET_KIND = 0; +const NODE_OFFSET_POS = 4; +const NODE_OFFSET_END = 8; +const NODE_OFFSET_NEXT = 12; +const NODE_OFFSET_PARENT = 16; +const NODE_OFFSET_DATA = 20; +const NODE_LEN = 24; + +const KIND_NODE_LIST = 2 ** 32 - 1; + +export class RemoteNodeBase { + parent: RemoteNode; + protected view: DataView; + protected decoder: TextDecoder; + protected index: number; + /** Keys are positions */ + protected _children: Map | undefined; + + constructor(view: DataView, decoder: TextDecoder, index: number, parent: RemoteNode) { + this.view = view; + this.decoder = decoder; + this.index = index; + this.parent = parent; + } + + get kind(): SyntaxKind { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_KIND, true); + } + + get pos(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_POS, true); + } + + get end(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_END, true); + } + + get next(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_NEXT, true); + } + + protected get byteIndex(): number { + return this.offsetNodes + this.index * NODE_LEN; + } + + protected get offsetStringTableOffsets(): number { + return this.view.getUint32(HEADER_OFFSET_STRING_TABLE_OFFSETS, true); + } + + protected get offsetStringTable(): number { + return this.view.getUint32(HEADER_OFFSET_STRING_TABLE, true); + } + + protected get offsetExtendedData(): number { + return this.view.getUint32(HEADER_OFFSET_EXTENDED_DATA, true); + } + + protected get offsetNodes(): number { + return this.view.getUint32(HEADER_OFFSET_NODES, true); + } + + protected get parentIndex(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_PARENT, true); + } + + protected get data(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_DATA, true); + } + + protected get dataType(): NodeDataType { + return (this.data & NODE_DATA_TYPE_MASK) as NodeDataType; + } + + protected get childMask(): number { + if (this.dataType !== NODE_DATA_TYPE_CHILDREN) { + return 0; + } + return this.data & NODE_CHILD_MASK; + } + + protected getFileText(start: number, end: number): string { + return this.decoder.decode(new Uint8Array(this.view.buffer, this.offsetStringTable + start, end - start)); + } +} + +export class RemoteNodeList extends Array implements NodeArray { + parent: RemoteNode; + protected view: DataView; + protected decoder: TextDecoder; + protected index: number; + /** Keys are positions */ + protected _children: Map | undefined; + + get pos(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_POS, true); + } + + get end(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_END, true); + } + + get next(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_NEXT, true); + } + + private get data(): number { + return this.view.getUint32(this.byteIndex + NODE_OFFSET_DATA, true); + } + + private get offsetNodes(): number { + return this.view.getUint32(HEADER_OFFSET_NODES, true); + } + + private get byteIndex(): number { + return this.offsetNodes + this.index * NODE_LEN; + } + + constructor(view: DataView, decoder: TextDecoder, index: number, parent: RemoteNode) { + super(); + this.view = view; + this.decoder = decoder; + this.index = index; + this.parent = parent; + this.length = this.data; + + const length = this.length; + for (let i = 0; i < length; i++) { + Object.defineProperty(this, i, { + get() { + return this.at(i); + }, + }); + } + } + + *[Symbol.iterator](): IterableIterator { + let next = this.index + 1; + while (next) { + const child = this.getOrCreateChildAtNodeIndex(next); + next = child.next; + yield child as RemoteNode; + } + } + + at(index: number): RemoteNode { + if (!Number.isInteger(index)) { + return undefined!; + } + if (index < 0) { + index = this.length - index; + } + let next = this.index + 1; + for (let i = 0; i < index; i++) { + const child = this.getOrCreateChildAtNodeIndex(next); + next = child.next; + } + return this.getOrCreateChildAtNodeIndex(next) as RemoteNode; + } + + private getOrCreateChildAtNodeIndex(index: number): RemoteNode | RemoteNodeList { + const pos = this.view.getUint32(this.offsetNodes + index * NODE_LEN + NODE_OFFSET_POS, true); + let child = (this._children ??= new Map()).get(pos); + if (!child) { + const kind = this.view.getUint32(this.offsetNodes + index * NODE_LEN + NODE_OFFSET_KIND, true); + if (kind === KIND_NODE_LIST) { + throw new Error("NodeList cannot directly contain another NodeList"); + } + child = new RemoteNode(this.view, this.decoder, index, this.parent); + this._children.set(pos, child); + } + return child; + } + + __print(): string { + const result = []; + result.push(`kind: NodeList`); + result.push(`index: ${this.index}`); + result.push(`byteIndex: ${this.byteIndex}`); + result.push(`length: ${this.length}`); + return result.join("\n"); + } +} + +export class RemoteNode extends RemoteNodeBase implements Node { + protected static NODE_LEN: number = NODE_LEN; + private sourceFile: SourceFile; + id: string; + + constructor(view: DataView, decoder: TextDecoder, index: number, parent: RemoteNode) { + super(view, decoder, index, parent); + let sourceFile: RemoteNode = this; + while (sourceFile && sourceFile.kind !== SyntaxKind.SourceFile) { + sourceFile = sourceFile.parent; + } + if (!sourceFile) { + throw new Error("SourceFile not found"); + } + this.sourceFile = sourceFile as unknown as SourceFile; + this.id = `${sourceFile.id}.${this.pos}.${this.kind}`; + } + + forEachChild(visitNode: (node: Node) => T, visitList?: (list: NodeArray) => T): T | undefined { + if (this.hasChildren()) { + let next = this.index + 1; + do { + const child = this.getOrCreateChildAtNodeIndex(next); + if (child instanceof RemoteNodeList) { + if (visitList) { + const result = visitList(child); + if (result) { + return result; + } + } + for (const node of child) { + const result = visitNode(node); + if (result) { + return result; + } + } + } + else { + const result = visitNode(child); + if (result) { + return result; + } + } + next = child.next; + } + while (next); + } + } + + getSourceFile(): SourceFile { + return this.sourceFile; + } + + protected getString(index: number): string { + const start = this.view.getUint32(this.offsetStringTableOffsets + index * 4, true); + const end = this.view.getUint32(this.offsetStringTableOffsets + (index + 1) * 4, true); + const text = new Uint8Array(this.view.buffer, this.offsetStringTable + start, end - start); + return this.decoder.decode(text); + } + + private getOrCreateChildAtNodeIndex(index: number): RemoteNode | RemoteNodeList { + const pos = this.view.getUint32(this.offsetNodes + index * NODE_LEN + NODE_OFFSET_POS, true); + let child = (this._children ??= new Map()).get(pos); + if (!child) { + const kind = this.view.getUint32(this.offsetNodes + index * NODE_LEN + NODE_OFFSET_KIND, true); + child = kind === KIND_NODE_LIST + ? new RemoteNodeList(this.view, this.decoder, index, this) + : new RemoteNode(this.view, this.decoder, index, this); + this._children.set(pos, child); + } + return child; + } + + private hasChildren(): boolean { + if (this._children) { + return true; + } + if (this.byteIndex >= this.view.byteLength - NODE_LEN) { + return false; + } + const nextNodeParent = this.view.getUint32(this.offsetNodes + (this.index + 1) * NODE_LEN + NODE_OFFSET_PARENT, true); + return nextNodeParent === this.index; + } + + private getNamedChild(propertyName: string): RemoteNode | RemoteNodeList | undefined { + const propertyNames = childProperties[this.kind]; + if (!propertyNames) { + // `childProperties` is only defined for nodes with more than one child property. + // Get the only child if it exists. + const child = this.getOrCreateChildAtNodeIndex(this.index + 1); + if (child.next !== 0) { + throw new Error("Expected only one child"); + } + return child; + } + + let order = propertyNames.indexOf(propertyName); + if (order === -1) { + // JSDocPropertyTag and JSDocParameterTag need special handling + // because they have a conditional property order + const kind = this.kind; + if (kind === SyntaxKind.JSDocPropertyTag) { + switch (propertyName) { + case "name": + order = this.isNameFirst ? 0 : 1; + break; + case "typeExpression": + order = this.isNameFirst ? 1 : 0; + break; + } + } + else if (kind === SyntaxKind.JSDocParameterTag) { + switch (propertyName) { + case "name": + order = this.isNameFirst ? 1 : 2; + case "typeExpression": + order = this.isNameFirst ? 2 : 1; + } + } + // Node kind does not have this property + return undefined; + } + const mask = this.childMask; + if (!(mask & (1 << order))) { + // Property is not present + return undefined; + } + + // The property index is `order`, minus the number of zeros in the mask that are in bit positions less + // than the `order`th bit. Example: + // + // This is a MethodDeclaration with mask 0b01110101. The possible properties are + // ["modifiers", "asteriskToken", "name", "postfixToken", "typeParameters", "parameters", "type", "body"] + // (it has modifiers, name, typeParameters, parameters, and type). + // + // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | + // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | + // | Value | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | + // | Name | body | type | parameters | typeParameters | postfixToken | name | asteriskToken | modifiers | + // + // We are trying to get the index of "parameters" (bit = 5). + // First, set all the more significant bits to 1: + // + // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | + // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | + // | Value | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | + // + // Then, flip the bits: + // + // | Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | + // | ----- | ---- | ---- | ---------- | -------------- | ------------ | ---- | ------------- | --------- | + // | Value | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | + // + // Counting the 1s gives us the number of *missing properties* before the `order`th property. If every property + // were present, we would have `parameters = children[5]`, but since `postfixToken` and `astersiskToken` are + // missing, we have `parameters = children[5 - 2]`. + const propertyIndex = order - popcount8[~(mask | ((0xff << order) & 0xff)) & 0xff]; + return this.getOrCreateChildAtNodeIndex(this.index + 1 + propertyIndex); + } + + __print(): string { + const result = []; + result.push(`index: ${this.index}`); + result.push(`byteIndex: ${this.byteIndex}`); + result.push(`kind: ${SyntaxKind[this.kind]}`); + result.push(`pos: ${this.pos}`); + result.push(`end: ${this.end}`); + result.push(`next: ${this.next}`); + result.push(`parent: ${this.parentIndex}`); + result.push(`data: ${this.data.toString(2).padStart(32, "0")}`); + const dataType = this.dataType === NODE_DATA_TYPE_CHILDREN ? "children" : + this.dataType === NODE_DATA_TYPE_STRING ? "string" : + "extended"; + result.push(`dataType: ${dataType}`); + if (this.dataType === NODE_DATA_TYPE_CHILDREN) { + result.push(`childMask: ${this.childMask.toString(2).padStart(8, "0")}`); + result.push(`childProperties: ${childProperties[this.kind]?.join(", ")}`); + } + return result.join("\n"); + } + + __printChildren(): string { + const result = []; + let next = this.index + 1; + while (next) { + const child = this.getOrCreateChildAtNodeIndex(next); + next = child.next; + result.push(child.__print()); + } + return result.join("\n\n"); + } + + __printSubtree(): string { + const result = [this.__print()]; + this.forEachChild(function visitNode(node) { + result.push((node as RemoteNode).__print()); + node.forEachChild(visitNode); + }, visitList => { + result.push((visitList as RemoteNodeList).__print()); + }); + return result.join("\n\n"); + } + + // Boolean properties + get isArrayType(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocTypeLiteral: + return (this.data & 1 << 24) !== 0; + } + } + + get isTypeOnly(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ImportSpecifier: + case SyntaxKind.ImportClause: + case SyntaxKind.ExportSpecifier: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ExportDeclaration: + return (this.data & 1 << 24) !== 0; + } + } + + get isTypeOf(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ImportType: + return (this.data & 1 << 24) !== 0; + } + } + + get multiline(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.Block: + case SyntaxKind.ArrayLiteralExpression: + case SyntaxKind.ObjectLiteralExpression: + case SyntaxKind.ImportAttributes: + return (this.data & 1 << 24) !== 0; + } + } + + get isExportEquals(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.ExportAssignment: + return (this.data & 1 << 24) !== 0; + } + } + + get isBracketed(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocPropertyTag: + case SyntaxKind.JSDocParameterTag: + return (this.data & 1 << 24) !== 0; + } + } + + get containsOnlyTriviaWhiteSpaces(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JsxText: + return (this.data & 1 << 24) !== 0; + } + } + + get isNameFirst(): boolean | undefined { + switch (this.kind) { + case SyntaxKind.JSDocPropertyTag: + case SyntaxKind.JSDocParameterTag: + return (this.data & 1 << 25) !== 0; + } + } + + // Children properties + get argument(): RemoteNode | undefined { + return this.getNamedChild("argument") as RemoteNode; + } + get argumentExpression(): RemoteNode | undefined { + return this.getNamedChild("argumentExpression") as RemoteNode; + } + get arguments(): RemoteNodeList | undefined { + return this.getNamedChild("arguments") as RemoteNodeList; + } + get assertsModifier(): RemoteNode | undefined { + return this.getNamedChild("assertsModifier") as RemoteNode; + } + get asteriskToken(): RemoteNode | undefined { + return this.getNamedChild("asteriskToken") as RemoteNode; + } + get attributes(): RemoteNode | undefined { + return this.getNamedChild("attributes") as RemoteNode; + } + get awaitModifier(): RemoteNode | undefined { + return this.getNamedChild("awaitModifier") as RemoteNode; + } + get block(): RemoteNode | undefined { + return this.getNamedChild("block") as RemoteNode; + } + get body(): RemoteNode | undefined { + return this.getNamedChild("body") as RemoteNode; + } + get caseBlock(): RemoteNode | undefined { + return this.getNamedChild("caseBlock") as RemoteNode; + } + get catchClause(): RemoteNode | undefined { + return this.getNamedChild("catchClause") as RemoteNode; + } + get checkType(): RemoteNode | undefined { + return this.getNamedChild("checkType") as RemoteNode; + } + get children(): RemoteNodeList | undefined { + return this.getNamedChild("children") as RemoteNodeList; + } + get className(): RemoteNode | undefined { + return this.getNamedChild("className") as RemoteNode; + } + get closingElement(): RemoteNode | undefined { + return this.getNamedChild("closingElement") as RemoteNode; + } + get closingFragment(): RemoteNode | undefined { + return this.getNamedChild("closingFragment") as RemoteNode; + } + get colonToken(): RemoteNode | undefined { + return this.getNamedChild("colonToken") as RemoteNode; + } + get comment(): RemoteNode | undefined { + return this.getNamedChild("comment") as RemoteNode; + } + get condition(): RemoteNode | undefined { + return this.getNamedChild("condition") as RemoteNode; + } + get constraint(): RemoteNode | undefined { + return this.getNamedChild("constraint") as RemoteNode; + } + get declarationList(): RemoteNode | undefined { + return this.getNamedChild("declarationList") as RemoteNode; + } + get defaultType(): RemoteNode | undefined { + return this.getNamedChild("defaultType") as RemoteNode; + } + get dotDotDotToken(): RemoteNode | undefined { + return this.getNamedChild("dotDotDotToken") as RemoteNode; + } + get elements(): RemoteNodeList | undefined { + return this.getNamedChild("elements") as RemoteNodeList; + } + get elseStatement(): RemoteNode | undefined { + return this.getNamedChild("elseStatement") as RemoteNode; + } + get equalsGreaterThanToken(): RemoteNode | undefined { + return this.getNamedChild("equalsGreaterThanToken") as RemoteNode; + } + get equalsToken(): RemoteNode | undefined { + return this.getNamedChild("equalsToken") as RemoteNode; + } + get exclamationToken(): RemoteNode | undefined { + return this.getNamedChild("exclamationToken") as RemoteNode; + } + get exportClause(): RemoteNode | undefined { + return this.getNamedChild("exportClause") as RemoteNode; + } + get expression(): RemoteNode | undefined { + return this.getNamedChild("expression") as RemoteNode; + } + get exprName(): RemoteNode | undefined { + return this.getNamedChild("exprName") as RemoteNode; + } + get extendsType(): RemoteNode | undefined { + return this.getNamedChild("extendsType") as RemoteNode; + } + get falseType(): RemoteNode | undefined { + return this.getNamedChild("falseType") as RemoteNode; + } + get finallyBlock(): RemoteNode | undefined { + return this.getNamedChild("finallyBlock") as RemoteNode; + } + get fullName(): RemoteNode | undefined { + return this.getNamedChild("fullName") as RemoteNode; + } + get head(): RemoteNode | undefined { + return this.getNamedChild("head") as RemoteNode; + } + get heritageClauses(): RemoteNodeList | undefined { + return this.getNamedChild("heritageClauses") as RemoteNodeList; + } + get importClause(): RemoteNode | undefined { + return this.getNamedChild("importClause") as RemoteNode; + } + get incrementor(): RemoteNode | undefined { + return this.getNamedChild("incrementor") as RemoteNode; + } + get indexType(): RemoteNode | undefined { + return this.getNamedChild("indexType") as RemoteNode; + } + get initializer(): RemoteNode | undefined { + return this.getNamedChild("initializer") as RemoteNode; + } + get label(): RemoteNode | undefined { + return this.getNamedChild("label") as RemoteNode; + } + get left(): RemoteNode | undefined { + return this.getNamedChild("left") as RemoteNode; + } + get literal(): RemoteNode | undefined { + return this.getNamedChild("literal") as RemoteNode; + } + get members(): RemoteNodeList | undefined { + return this.getNamedChild("members") as RemoteNodeList; + } + get modifiers(): RemoteNodeList | undefined { + return this.getNamedChild("modifiers") as RemoteNodeList; + } + get moduleReference(): RemoteNode | undefined { + return this.getNamedChild("moduleReference") as RemoteNode; + } + get moduleSpecifier(): RemoteNode | undefined { + return this.getNamedChild("moduleSpecifier") as RemoteNode; + } + get name(): RemoteNode | undefined { + return this.getNamedChild("name") as RemoteNode; + } + get namedBindings(): RemoteNode | undefined { + return this.getNamedChild("namedBindings") as RemoteNode; + } + get nameExpression(): RemoteNode | undefined { + return this.getNamedChild("nameExpression") as RemoteNode; + } + get namespace(): RemoteNode | undefined { + return this.getNamedChild("namespace") as RemoteNode; + } + get nameType(): RemoteNode | undefined { + return this.getNamedChild("nameType") as RemoteNode; + } + get objectAssignmentInitializer(): RemoteNode | undefined { + return this.getNamedChild("objectAssignmentInitializer") as RemoteNode; + } + get objectType(): RemoteNode | undefined { + return this.getNamedChild("objectType") as RemoteNode; + } + get openingElement(): RemoteNode | undefined { + return this.getNamedChild("openingElement") as RemoteNode; + } + get openingFragment(): RemoteNode | undefined { + return this.getNamedChild("openingFragment") as RemoteNode; + } + get operatorToken(): RemoteNode | undefined { + return this.getNamedChild("operatorToken") as RemoteNode; + } + get parameterName(): RemoteNode | undefined { + return this.getNamedChild("parameterName") as RemoteNode; + } + get parameters(): RemoteNodeList | undefined { + return this.getNamedChild("parameters") as RemoteNodeList; + } + get postfixToken(): RemoteNode | undefined { + return this.getNamedChild("postfixToken") as RemoteNode; + } + get propertyName(): RemoteNode | undefined { + return this.getNamedChild("propertyName") as RemoteNode; + } + get qualifier(): RemoteNode | undefined { + return this.getNamedChild("qualifier") as RemoteNode; + } + get questionDotToken(): RemoteNode | undefined { + return this.getNamedChild("questionDotToken") as RemoteNode; + } + get questionToken(): RemoteNode | undefined { + return this.getNamedChild("questionToken") as RemoteNode; + } + get readonlyToken(): RemoteNode | undefined { + return this.getNamedChild("readonlyToken") as RemoteNode; + } + get right(): RemoteNode | undefined { + return this.getNamedChild("right") as RemoteNode; + } + get statement(): RemoteNode | undefined { + return this.getNamedChild("statement") as RemoteNode; + } + get statements(): RemoteNodeList | undefined { + return this.getNamedChild("statements") as RemoteNodeList; + } + get tag(): RemoteNode | undefined { + return this.getNamedChild("tag") as RemoteNode; + } + get tagName(): RemoteNode | undefined { + return this.getNamedChild("tagName") as RemoteNode; + } + get tags(): RemoteNodeList | undefined { + return this.getNamedChild("tags") as RemoteNodeList; + } + get template(): RemoteNode | undefined { + return this.getNamedChild("template") as RemoteNode; + } + get templateSpans(): RemoteNodeList | undefined { + return this.getNamedChild("templateSpans") as RemoteNodeList; + } + get thenStatement(): RemoteNode | undefined { + return this.getNamedChild("thenStatement") as RemoteNode; + } + get trueType(): RemoteNode | undefined { + return this.getNamedChild("trueType") as RemoteNode; + } + get tryBlock(): RemoteNode | undefined { + return this.getNamedChild("tryBlock") as RemoteNode; + } + get type(): RemoteNode | undefined { + return this.getNamedChild("type") as RemoteNode; + } + get typeArguments(): RemoteNode | undefined { + return this.getNamedChild("typeArguments") as RemoteNode; + } + get typeExpression(): RemoteNode | undefined { + return this.getNamedChild("typeExpression") as RemoteNode; + } + get typeName(): RemoteNode | undefined { + return this.getNamedChild("typeName") as RemoteNode; + } + get typeParameter(): RemoteNode | undefined { + return this.getNamedChild("typeParameter") as RemoteNode; + } + get typeParameters(): RemoteNodeList | undefined { + return this.getNamedChild("typeParameters") as RemoteNodeList; + } + get value(): RemoteNode | undefined { + return this.getNamedChild("value") as RemoteNode; + } + get variableDeclaration(): RemoteNode | undefined { + return this.getNamedChild("variableDeclaration") as RemoteNode; + } + get whenFalse(): RemoteNode | undefined { + return this.getNamedChild("whenFalse") as RemoteNode; + } + get whenTrue(): RemoteNode | undefined { + return this.getNamedChild("whenTrue") as RemoteNode; + } + + // String properties + get text(): string | undefined { + switch (this.kind) { + case SyntaxKind.JsxText: + case SyntaxKind.Identifier: + case SyntaxKind.PrivateIdentifier: + case SyntaxKind.StringLiteral: + case SyntaxKind.NumericLiteral: + case SyntaxKind.BigIntLiteral: + case SyntaxKind.RegularExpressionLiteral: + case SyntaxKind.NoSubstitutionTemplateLiteral: + case SyntaxKind.JSDocText: { + const stringIndex = this.data & NODE_STRING_INDEX_MASK; + return this.getString(stringIndex); + } + case SyntaxKind.SourceFile: + case SyntaxKind.TemplateHead: + case SyntaxKind.TemplateMiddle: + case SyntaxKind.TemplateTail: { + const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); + const stringIndex = this.view.getUint32(extendedDataOffset, true); + return this.getString(stringIndex); + } + } + } + + get rawText(): string | undefined { + switch (this.kind) { + case SyntaxKind.TemplateHead: + case SyntaxKind.TemplateMiddle: + case SyntaxKind.TemplateTail: + const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); + const stringIndex = this.view.getUint32(extendedDataOffset + 4, true); + return this.getString(stringIndex); + } + } + + get fileName(): string | undefined { + switch (this.kind) { + case SyntaxKind.SourceFile: + const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); + const stringIndex = this.view.getUint32(extendedDataOffset + 4, true); + return this.getString(stringIndex); + } + } + + // Other properties + get flags(): number { + switch (this.kind) { + case SyntaxKind.VariableDeclarationList: + return this.data & (1 << 24 | 1 << 25) >> 24; + default: + return 0; + } + } + + get token(): SyntaxKind | undefined { + switch (this.kind) { + case SyntaxKind.ImportAttributes: + if ((this.data & 1 << 25) !== 0) { + return SyntaxKind.AssertKeyword; + } + return SyntaxKind.WithKeyword; + } + } + + get templateFlags(): number | undefined { + switch (this.kind) { + case SyntaxKind.TemplateHead: + case SyntaxKind.TemplateMiddle: + case SyntaxKind.TemplateTail: + const extendedDataOffset = this.offsetExtendedData + (this.data & NODE_EXTENDED_DATA_MASK); + return this.view.getUint32(extendedDataOffset + 8, true); + } + } +} + +export class RemoteSourceFile extends RemoteNode { + constructor(data: Uint8Array, decoder: TextDecoder) { + const view = new DataView(data.buffer, data.byteOffset, data.byteLength); + super(view, decoder, 1, undefined!); + this.id = this.getString(this.view.getUint32(this.offsetExtendedData + 8, true)); + } +} diff --git a/_packages/api/src/objectRegistry.ts b/_packages/api/src/objectRegistry.ts index 4d1ab4156d..7a36ecb9c6 100644 --- a/_packages/api/src/objectRegistry.ts +++ b/_packages/api/src/objectRegistry.ts @@ -1,85 +1,85 @@ -import { - Project, - Symbol, - Type, -} from "./api.ts"; -import type { Client } from "./client.ts"; -import type { - ProjectResponse, - SymbolResponse, - TypeResponse, -} from "./proto.ts"; - -export class ObjectRegistry { - private client: Client; - private projects: Map = new Map(); - private symbols: Map = new Map(); - private types: Map = new Map(); - - constructor(client: Client) { - this.client = client; - } - - getProject(data: ProjectResponse): Project { - let project = this.projects.get(data.id); - if (project) { - return project; - } - - project = new Project(this.client, this, data); - this.projects.set(data.id, project); - return project; - } - - getSymbol(data: SymbolResponse): Symbol { - let symbol = this.symbols.get(data.id); - if (symbol) { - return symbol; - } - - symbol = new Symbol(this.client, this, data); - this.symbols.set(data.id, symbol); - return symbol; - } - - getType(data: TypeResponse): Type { - let type = this.types.get(data.id); - if (type) { - return type; - } - - type = new Type(this.client, this, data); - this.types.set(data.id, type); - return type; - } - - release(object: object): void { - if (object instanceof Project) { - this.releaseProject(object); - } - else if (object instanceof Symbol) { - this.releaseSymbol(object); - } - else if (object instanceof Type) { - this.releaseType(object); - } - else { - throw new Error("Unknown object type"); - } - } - - releaseProject(project: Project): void { - this.projects.delete(project.id); - this.client.request("release", project.id); - } - - releaseSymbol(symbol: Symbol): void { - this.symbols.delete(symbol.id); - this.client.request("release", symbol.id); - } - - releaseType(type: Type): void { - this.types.delete(type.id); - this.client.request("release", type.id); - } -} +import { + Project, + Symbol, + Type, +} from "./api.ts"; +import type { Client } from "./client.ts"; +import type { + ProjectResponse, + SymbolResponse, + TypeResponse, +} from "./proto.ts"; + +export class ObjectRegistry { + private client: Client; + private projects: Map = new Map(); + private symbols: Map = new Map(); + private types: Map = new Map(); + + constructor(client: Client) { + this.client = client; + } + + getProject(data: ProjectResponse): Project { + let project = this.projects.get(data.id); + if (project) { + return project; + } + + project = new Project(this.client, this, data); + this.projects.set(data.id, project); + return project; + } + + getSymbol(data: SymbolResponse): Symbol { + let symbol = this.symbols.get(data.id); + if (symbol) { + return symbol; + } + + symbol = new Symbol(this.client, this, data); + this.symbols.set(data.id, symbol); + return symbol; + } + + getType(data: TypeResponse): Type { + let type = this.types.get(data.id); + if (type) { + return type; + } + + type = new Type(this.client, this, data); + this.types.set(data.id, type); + return type; + } + + release(object: object): void { + if (object instanceof Project) { + this.releaseProject(object); + } + else if (object instanceof Symbol) { + this.releaseSymbol(object); + } + else if (object instanceof Type) { + this.releaseType(object); + } + else { + throw new Error("Unknown object type"); + } + } + + releaseProject(project: Project): void { + this.projects.delete(project.id); + this.client.request("release", project.id); + } + + releaseSymbol(symbol: Symbol): void { + this.symbols.delete(symbol.id); + this.client.request("release", symbol.id); + } + + releaseType(type: Type): void { + this.types.delete(type.id); + this.client.request("release", type.id); + } +} diff --git a/_packages/api/src/path.ts b/_packages/api/src/path.ts index 168bf6d551..487432f057 100644 --- a/_packages/api/src/path.ts +++ b/_packages/api/src/path.ts @@ -1,136 +1,136 @@ -const CharacterCodesSlash = "/".charCodeAt(0); -const CharacterCodesBackslash = "\\".charCodeAt(0); -const CharacterCodesColon = ":".charCodeAt(0); -const CharacterCodesPercent = "%".charCodeAt(0); -const CharacterCodes3 = "3".charCodeAt(0); -const CharacterCodesa = "a".charCodeAt(0); -const CharacterCodesz = "z".charCodeAt(0); -const CharacterCodesA = "A".charCodeAt(0); -const CharacterCodesZ = "Z".charCodeAt(0); -const directorySeparator = "/"; -const altDirectorySeparator = "\\"; -const urlSchemeSeparator = "://"; - -function isVolumeCharacter(charCode: number) { - return (charCode >= CharacterCodesa && charCode <= CharacterCodesz) || - (charCode >= CharacterCodesA && charCode <= CharacterCodesZ); -} - -function getFileUrlVolumeSeparatorEnd(url: string, start: number) { - const ch0 = url.charCodeAt(start); - if (ch0 === CharacterCodesColon) return start + 1; - if (ch0 === CharacterCodesPercent && url.charCodeAt(start + 1) === CharacterCodes3) { - const ch2 = url.charCodeAt(start + 2); - if (ch2 === CharacterCodesa || ch2 === CharacterCodesA) return start + 3; - } - return -1; -} - -/** - * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). - * - * For example: - * ```ts - * getRootLength("a") === 0 // "" - * getRootLength("/") === 1 // "/" - * getRootLength("c:") === 2 // "c:" - * getRootLength("c:d") === 0 // "" - * getRootLength("c:/") === 3 // "c:/" - * getRootLength("c:\\") === 3 // "c:\\" - * getRootLength("//server") === 7 // "//server" - * getRootLength("//server/share") === 8 // "//server/" - * getRootLength("\\\\server") === 7 // "\\\\server" - * getRootLength("\\\\server\\share") === 8 // "\\\\server\\" - * getRootLength("file:///path") === 8 // "file:///" - * getRootLength("file:///c:") === 10 // "file:///c:" - * getRootLength("file:///c:d") === 8 // "file:///" - * getRootLength("file:///c:/path") === 11 // "file:///c:/" - * getRootLength("file://server") === 13 // "file://server" - * getRootLength("file://server/path") === 14 // "file://server/" - * getRootLength("http://server") === 13 // "http://server" - * getRootLength("http://server/path") === 14 // "http://server/" - * ``` - * - * @internal - */ -export function getRootLength(path: string): number { - const rootLength = getEncodedRootLength(path); - return rootLength < 0 ? ~rootLength : rootLength; -} - -/** - * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). - * If the root is part of a URL, the twos-complement of the root length is returned. - */ -function getEncodedRootLength(path: string): number { - if (!path) return 0; - const ch0 = path.charCodeAt(0); - - // POSIX or UNC - if (ch0 === CharacterCodesSlash || ch0 === CharacterCodesBackslash) { - if (path.charCodeAt(1) !== ch0) return 1; // POSIX: "/" (or non-normalized "\") - - const p1 = path.indexOf(ch0 === CharacterCodesSlash ? directorySeparator : altDirectorySeparator, 2); - if (p1 < 0) return path.length; // UNC: "//server" or "\\server" - - return p1 + 1; // UNC: "//server/" or "\\server\" - } - - // DOS - if (isVolumeCharacter(ch0) && path.charCodeAt(1) === CharacterCodesColon) { - const ch2 = path.charCodeAt(2); - if (ch2 === CharacterCodesSlash || ch2 === CharacterCodesBackslash) return 3; // DOS: "c:/" or "c:\" - if (path.length === 2) return 2; // DOS: "c:" (but not "c:d") - } - - // URL - const schemeEnd = path.indexOf(urlSchemeSeparator); - if (schemeEnd !== -1) { - const authorityStart = schemeEnd + urlSchemeSeparator.length; - const authorityEnd = path.indexOf(directorySeparator, authorityStart); - if (authorityEnd !== -1) { // URL: "file:///", "file://server/", "file://server/path" - // For local "file" URLs, include the leading DOS volume (if present). - // Per https://www.ietf.org/rfc/rfc1738.txt, a host of "" or "localhost" is a - // special case interpreted as "the machine from which the URL is being interpreted". - const scheme = path.slice(0, schemeEnd); - const authority = path.slice(authorityStart, authorityEnd); - if ( - scheme === "file" && (authority === "" || authority === "localhost") && - isVolumeCharacter(path.charCodeAt(authorityEnd + 1)) - ) { - const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); - if (volumeSeparatorEnd !== -1) { - if (path.charCodeAt(volumeSeparatorEnd) === CharacterCodesSlash) { - // URL: "file:///c:/", "file://localhost/c:/", "file:///c%3a/", "file://localhost/c%3a/" - return ~(volumeSeparatorEnd + 1); - } - if (volumeSeparatorEnd === path.length) { - // URL: "file:///c:", "file://localhost/c:", "file:///c$3a", "file://localhost/c%3a" - // but not "file:///c:d" or "file:///c%3ad" - return ~volumeSeparatorEnd; - } - } - } - return ~(authorityEnd + 1); // URL: "file://server/", "http://server/" - } - return ~path.length; // URL: "file://server", "http://server" - } - - // relative - return 0; -} - -export function getPathComponents(path: string): string[] { - return pathComponents(path, getRootLength(path)); -} - -function pathComponents(path: string, rootLength: number) { - const root = path.substring(0, rootLength); - const rest = path.substring(rootLength).split("/"); - if (rest.length && !lastOrUndefined(rest)) rest.pop(); - return [root, ...rest]; -} - -function lastOrUndefined(array: T[]): T | undefined { - return array.length ? array[array.length - 1] : undefined; -} +const CharacterCodesSlash = "/".charCodeAt(0); +const CharacterCodesBackslash = "\\".charCodeAt(0); +const CharacterCodesColon = ":".charCodeAt(0); +const CharacterCodesPercent = "%".charCodeAt(0); +const CharacterCodes3 = "3".charCodeAt(0); +const CharacterCodesa = "a".charCodeAt(0); +const CharacterCodesz = "z".charCodeAt(0); +const CharacterCodesA = "A".charCodeAt(0); +const CharacterCodesZ = "Z".charCodeAt(0); +const directorySeparator = "/"; +const altDirectorySeparator = "\\"; +const urlSchemeSeparator = "://"; + +function isVolumeCharacter(charCode: number) { + return (charCode >= CharacterCodesa && charCode <= CharacterCodesz) || + (charCode >= CharacterCodesA && charCode <= CharacterCodesZ); +} + +function getFileUrlVolumeSeparatorEnd(url: string, start: number) { + const ch0 = url.charCodeAt(start); + if (ch0 === CharacterCodesColon) return start + 1; + if (ch0 === CharacterCodesPercent && url.charCodeAt(start + 1) === CharacterCodes3) { + const ch2 = url.charCodeAt(start + 2); + if (ch2 === CharacterCodesa || ch2 === CharacterCodesA) return start + 3; + } + return -1; +} + +/** + * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). + * + * For example: + * ```ts + * getRootLength("a") === 0 // "" + * getRootLength("/") === 1 // "/" + * getRootLength("c:") === 2 // "c:" + * getRootLength("c:d") === 0 // "" + * getRootLength("c:/") === 3 // "c:/" + * getRootLength("c:\\") === 3 // "c:\\" + * getRootLength("//server") === 7 // "//server" + * getRootLength("//server/share") === 8 // "//server/" + * getRootLength("\\\\server") === 7 // "\\\\server" + * getRootLength("\\\\server\\share") === 8 // "\\\\server\\" + * getRootLength("file:///path") === 8 // "file:///" + * getRootLength("file:///c:") === 10 // "file:///c:" + * getRootLength("file:///c:d") === 8 // "file:///" + * getRootLength("file:///c:/path") === 11 // "file:///c:/" + * getRootLength("file://server") === 13 // "file://server" + * getRootLength("file://server/path") === 14 // "file://server/" + * getRootLength("http://server") === 13 // "http://server" + * getRootLength("http://server/path") === 14 // "http://server/" + * ``` + * + * @internal + */ +export function getRootLength(path: string): number { + const rootLength = getEncodedRootLength(path); + return rootLength < 0 ? ~rootLength : rootLength; +} + +/** + * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/share/, file:///user/files"). + * If the root is part of a URL, the twos-complement of the root length is returned. + */ +function getEncodedRootLength(path: string): number { + if (!path) return 0; + const ch0 = path.charCodeAt(0); + + // POSIX or UNC + if (ch0 === CharacterCodesSlash || ch0 === CharacterCodesBackslash) { + if (path.charCodeAt(1) !== ch0) return 1; // POSIX: "/" (or non-normalized "\") + + const p1 = path.indexOf(ch0 === CharacterCodesSlash ? directorySeparator : altDirectorySeparator, 2); + if (p1 < 0) return path.length; // UNC: "//server" or "\\server" + + return p1 + 1; // UNC: "//server/" or "\\server\" + } + + // DOS + if (isVolumeCharacter(ch0) && path.charCodeAt(1) === CharacterCodesColon) { + const ch2 = path.charCodeAt(2); + if (ch2 === CharacterCodesSlash || ch2 === CharacterCodesBackslash) return 3; // DOS: "c:/" or "c:\" + if (path.length === 2) return 2; // DOS: "c:" (but not "c:d") + } + + // URL + const schemeEnd = path.indexOf(urlSchemeSeparator); + if (schemeEnd !== -1) { + const authorityStart = schemeEnd + urlSchemeSeparator.length; + const authorityEnd = path.indexOf(directorySeparator, authorityStart); + if (authorityEnd !== -1) { // URL: "file:///", "file://server/", "file://server/path" + // For local "file" URLs, include the leading DOS volume (if present). + // Per https://www.ietf.org/rfc/rfc1738.txt, a host of "" or "localhost" is a + // special case interpreted as "the machine from which the URL is being interpreted". + const scheme = path.slice(0, schemeEnd); + const authority = path.slice(authorityStart, authorityEnd); + if ( + scheme === "file" && (authority === "" || authority === "localhost") && + isVolumeCharacter(path.charCodeAt(authorityEnd + 1)) + ) { + const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2); + if (volumeSeparatorEnd !== -1) { + if (path.charCodeAt(volumeSeparatorEnd) === CharacterCodesSlash) { + // URL: "file:///c:/", "file://localhost/c:/", "file:///c%3a/", "file://localhost/c%3a/" + return ~(volumeSeparatorEnd + 1); + } + if (volumeSeparatorEnd === path.length) { + // URL: "file:///c:", "file://localhost/c:", "file:///c$3a", "file://localhost/c%3a" + // but not "file:///c:d" or "file:///c%3ad" + return ~volumeSeparatorEnd; + } + } + } + return ~(authorityEnd + 1); // URL: "file://server/", "http://server/" + } + return ~path.length; // URL: "file://server", "http://server" + } + + // relative + return 0; +} + +export function getPathComponents(path: string): string[] { + return pathComponents(path, getRootLength(path)); +} + +function pathComponents(path: string, rootLength: number) { + const root = path.substring(0, rootLength); + const rest = path.substring(rootLength).split("/"); + if (rest.length && !lastOrUndefined(rest)) rest.pop(); + return [root, ...rest]; +} + +function lastOrUndefined(array: T[]): T | undefined { + return array.length ? array[array.length - 1] : undefined; +} diff --git a/_packages/api/src/proto.ts b/_packages/api/src/proto.ts index 985fe342aa..d47eceab7e 100644 --- a/_packages/api/src/proto.ts +++ b/_packages/api/src/proto.ts @@ -1,23 +1,23 @@ -export interface ConfigResponse { - options: Record; - fileNames: string[]; -} - -export interface ProjectResponse { - id: string; - configFileName: string; - compilerOptions: Record; - rootFiles: string[]; -} - -export interface SymbolResponse { - id: string; - name: string; - flags: number; - checkFlags: number; -} - -export interface TypeResponse { - id: string; - flags: number; -} +export interface ConfigResponse { + options: Record; + fileNames: string[]; +} + +export interface ProjectResponse { + id: string; + configFileName: string; + compilerOptions: Record; + rootFiles: string[]; +} + +export interface SymbolResponse { + id: string; + name: string; + flags: number; + checkFlags: number; +} + +export interface TypeResponse { + id: string; + flags: number; +} diff --git a/_packages/api/src/symbolFlags.enum.ts b/_packages/api/src/symbolFlags.enum.ts index 4cd7262f2c..8032b9fa45 100644 --- a/_packages/api/src/symbolFlags.enum.ts +++ b/_packages/api/src/symbolFlags.enum.ts @@ -1,75 +1,75 @@ -export enum SymbolFlags { - None = 0, - FunctionScopedVariable = 1 << 0, - BlockScopedVariable = 1 << 1, - Property = 1 << 2, - EnumMember = 1 << 3, - Function = 1 << 4, - Class = 1 << 5, - Interface = 1 << 6, - ConstEnum = 1 << 7, - RegularEnum = 1 << 8, - ValueModule = 1 << 9, - NamespaceModule = 1 << 10, - TypeLiteral = 1 << 11, - ObjectLiteral = 1 << 12, - Method = 1 << 13, - Constructor = 1 << 14, - GetAccessor = 1 << 15, - SetAccessor = 1 << 16, - Signature = 1 << 17, - TypeParameter = 1 << 18, - TypeAlias = 1 << 19, - ExportValue = 1 << 20, - Alias = 1 << 21, - Prototype = 1 << 22, - ExportStar = 1 << 23, - Optional = 1 << 24, - Transient = 1 << 25, - Assignment = 1 << 26, - ModuleExports = 1 << 27, - ConstEnumOnlyModule = 1 << 28, - ReplaceableByMethod = 1 << 29, - GlobalLookup = 1 << 30, - All = 1 << 30 - 1, - - Enum = RegularEnum | ConstEnum, - Variable = FunctionScopedVariable | BlockScopedVariable, - Value = Variable | Property | EnumMember | ObjectLiteral | Function | Class | Enum | ValueModule | Method | GetAccessor | SetAccessor, - Type = Class | Interface | Enum | EnumMember | TypeLiteral | TypeParameter | TypeAlias, - Namespace = ValueModule | NamespaceModule | Enum, - Module = ValueModule | NamespaceModule, - Accessor = GetAccessor | SetAccessor, - - FunctionScopedVariableExcludes = Value & ~FunctionScopedVariable, - - BlockScopedVariableExcludes = Value, - - ParameterExcludes = Value, - PropertyExcludes = Value & ~Property, - EnumMemberExcludes = Value | Type, - FunctionExcludes = Value & ~(Function | ValueModule | Class), - ClassExcludes = (Value | Type) & ~(ValueModule | Interface | Function), - InterfaceExcludes = Type & ~(Interface | Class), - RegularEnumExcludes = (Value | Type) & ~(RegularEnum | ValueModule), - ConstEnumExcludes = (Value | Type) & ~ConstEnum, - ValueModuleExcludes = Value & ~(Function | Class | RegularEnum | ValueModule), - NamespaceModuleExcludes = None, - MethodExcludes = Value & ~Method, - GetAccessorExcludes = Value & ~SetAccessor, - SetAccessorExcludes = Value & ~GetAccessor, - AccessorExcludes = Value & ~Accessor, - TypeParameterExcludes = Type & ~TypeParameter, - TypeAliasExcludes = Type, - AliasExcludes = Alias, - ModuleMember = Variable | Function | Class | Interface | Enum | Module | TypeAlias | Alias, - ExportHasLocal = Function | Class | Enum | ValueModule, - BlockScoped = BlockScopedVariable | Class | Enum, - PropertyOrAccessor = Property | Accessor, - ClassMember = Method | Accessor | Property, - ExportSupportsDefaultModifier = Class | Function | Interface, - ExportDoesNotSupportDefaultModifier = ~ExportSupportsDefaultModifier, - - Classifiable = Class | Enum | TypeAlias | Interface | TypeParameter | Module | Alias, - LateBindingContainer = Class | Interface | TypeLiteral | ObjectLiteral | Function, -} +export enum SymbolFlags { + None = 0, + FunctionScopedVariable = 1 << 0, + BlockScopedVariable = 1 << 1, + Property = 1 << 2, + EnumMember = 1 << 3, + Function = 1 << 4, + Class = 1 << 5, + Interface = 1 << 6, + ConstEnum = 1 << 7, + RegularEnum = 1 << 8, + ValueModule = 1 << 9, + NamespaceModule = 1 << 10, + TypeLiteral = 1 << 11, + ObjectLiteral = 1 << 12, + Method = 1 << 13, + Constructor = 1 << 14, + GetAccessor = 1 << 15, + SetAccessor = 1 << 16, + Signature = 1 << 17, + TypeParameter = 1 << 18, + TypeAlias = 1 << 19, + ExportValue = 1 << 20, + Alias = 1 << 21, + Prototype = 1 << 22, + ExportStar = 1 << 23, + Optional = 1 << 24, + Transient = 1 << 25, + Assignment = 1 << 26, + ModuleExports = 1 << 27, + ConstEnumOnlyModule = 1 << 28, + ReplaceableByMethod = 1 << 29, + GlobalLookup = 1 << 30, + All = 1 << 30 - 1, + + Enum = RegularEnum | ConstEnum, + Variable = FunctionScopedVariable | BlockScopedVariable, + Value = Variable | Property | EnumMember | ObjectLiteral | Function | Class | Enum | ValueModule | Method | GetAccessor | SetAccessor, + Type = Class | Interface | Enum | EnumMember | TypeLiteral | TypeParameter | TypeAlias, + Namespace = ValueModule | NamespaceModule | Enum, + Module = ValueModule | NamespaceModule, + Accessor = GetAccessor | SetAccessor, + + FunctionScopedVariableExcludes = Value & ~FunctionScopedVariable, + + BlockScopedVariableExcludes = Value, + + ParameterExcludes = Value, + PropertyExcludes = Value & ~Property, + EnumMemberExcludes = Value | Type, + FunctionExcludes = Value & ~(Function | ValueModule | Class), + ClassExcludes = (Value | Type) & ~(ValueModule | Interface | Function), + InterfaceExcludes = Type & ~(Interface | Class), + RegularEnumExcludes = (Value | Type) & ~(RegularEnum | ValueModule), + ConstEnumExcludes = (Value | Type) & ~ConstEnum, + ValueModuleExcludes = Value & ~(Function | Class | RegularEnum | ValueModule), + NamespaceModuleExcludes = None, + MethodExcludes = Value & ~Method, + GetAccessorExcludes = Value & ~SetAccessor, + SetAccessorExcludes = Value & ~GetAccessor, + AccessorExcludes = Value & ~Accessor, + TypeParameterExcludes = Type & ~TypeParameter, + TypeAliasExcludes = Type, + AliasExcludes = Alias, + ModuleMember = Variable | Function | Class | Interface | Enum | Module | TypeAlias | Alias, + ExportHasLocal = Function | Class | Enum | ValueModule, + BlockScoped = BlockScopedVariable | Class | Enum, + PropertyOrAccessor = Property | Accessor, + ClassMember = Method | Accessor | Property, + ExportSupportsDefaultModifier = Class | Function | Interface, + ExportDoesNotSupportDefaultModifier = ~ExportSupportsDefaultModifier, + + Classifiable = Class | Enum | TypeAlias | Interface | TypeParameter | Module | Alias, + LateBindingContainer = Class | Interface | TypeLiteral | ObjectLiteral | Function, +} diff --git a/_packages/api/src/symbolFlags.ts b/_packages/api/src/symbolFlags.ts index 83ea9eadd3..896335fb8f 100644 --- a/_packages/api/src/symbolFlags.ts +++ b/_packages/api/src/symbolFlags.ts @@ -1,71 +1,71 @@ -export var SymbolFlags: any; -(function (SymbolFlags) { - SymbolFlags[SymbolFlags["None"] = 0] = "None"; - SymbolFlags[SymbolFlags["FunctionScopedVariable"] = 1] = "FunctionScopedVariable"; - SymbolFlags[SymbolFlags["BlockScopedVariable"] = 2] = "BlockScopedVariable"; - SymbolFlags[SymbolFlags["Property"] = 4] = "Property"; - SymbolFlags[SymbolFlags["EnumMember"] = 8] = "EnumMember"; - SymbolFlags[SymbolFlags["Function"] = 16] = "Function"; - SymbolFlags[SymbolFlags["Class"] = 32] = "Class"; - SymbolFlags[SymbolFlags["Interface"] = 64] = "Interface"; - SymbolFlags[SymbolFlags["ConstEnum"] = 128] = "ConstEnum"; - SymbolFlags[SymbolFlags["RegularEnum"] = 256] = "RegularEnum"; - SymbolFlags[SymbolFlags["ValueModule"] = 512] = "ValueModule"; - SymbolFlags[SymbolFlags["NamespaceModule"] = 1024] = "NamespaceModule"; - SymbolFlags[SymbolFlags["TypeLiteral"] = 2048] = "TypeLiteral"; - SymbolFlags[SymbolFlags["ObjectLiteral"] = 4096] = "ObjectLiteral"; - SymbolFlags[SymbolFlags["Method"] = 8192] = "Method"; - SymbolFlags[SymbolFlags["Constructor"] = 16384] = "Constructor"; - SymbolFlags[SymbolFlags["GetAccessor"] = 32768] = "GetAccessor"; - SymbolFlags[SymbolFlags["SetAccessor"] = 65536] = "SetAccessor"; - SymbolFlags[SymbolFlags["Signature"] = 131072] = "Signature"; - SymbolFlags[SymbolFlags["TypeParameter"] = 262144] = "TypeParameter"; - SymbolFlags[SymbolFlags["TypeAlias"] = 524288] = "TypeAlias"; - SymbolFlags[SymbolFlags["ExportValue"] = 1048576] = "ExportValue"; - SymbolFlags[SymbolFlags["Alias"] = 2097152] = "Alias"; - SymbolFlags[SymbolFlags["Prototype"] = 4194304] = "Prototype"; - SymbolFlags[SymbolFlags["ExportStar"] = 8388608] = "ExportStar"; - SymbolFlags[SymbolFlags["Optional"] = 16777216] = "Optional"; - SymbolFlags[SymbolFlags["Transient"] = 33554432] = "Transient"; - SymbolFlags[SymbolFlags["Assignment"] = 67108864] = "Assignment"; - SymbolFlags[SymbolFlags["ModuleExports"] = 134217728] = "ModuleExports"; - SymbolFlags[SymbolFlags["ConstEnumOnlyModule"] = 268435456] = "ConstEnumOnlyModule"; - SymbolFlags[SymbolFlags["ReplaceableByMethod"] = 536870912] = "ReplaceableByMethod"; - SymbolFlags[SymbolFlags["GlobalLookup"] = 1073741824] = "GlobalLookup"; - SymbolFlags[SymbolFlags["All"] = 536870912] = "All"; - SymbolFlags[SymbolFlags["Enum"] = 384] = "Enum"; - SymbolFlags[SymbolFlags["Variable"] = 3] = "Variable"; - SymbolFlags[SymbolFlags["Value"] = 111551] = "Value"; - SymbolFlags[SymbolFlags["Type"] = 788968] = "Type"; - SymbolFlags[SymbolFlags["Namespace"] = 1920] = "Namespace"; - SymbolFlags[SymbolFlags["Module"] = 1536] = "Module"; - SymbolFlags[SymbolFlags["Accessor"] = 98304] = "Accessor"; - SymbolFlags[SymbolFlags["FunctionScopedVariableExcludes"] = 111550] = "FunctionScopedVariableExcludes"; - SymbolFlags[SymbolFlags["BlockScopedVariableExcludes"] = 111551] = "BlockScopedVariableExcludes"; - SymbolFlags[SymbolFlags["ParameterExcludes"] = 111551] = "ParameterExcludes"; - SymbolFlags[SymbolFlags["PropertyExcludes"] = 111547] = "PropertyExcludes"; - SymbolFlags[SymbolFlags["EnumMemberExcludes"] = 900095] = "EnumMemberExcludes"; - SymbolFlags[SymbolFlags["FunctionExcludes"] = 110991] = "FunctionExcludes"; - SymbolFlags[SymbolFlags["ClassExcludes"] = 899503] = "ClassExcludes"; - SymbolFlags[SymbolFlags["InterfaceExcludes"] = 788872] = "InterfaceExcludes"; - SymbolFlags[SymbolFlags["RegularEnumExcludes"] = 899327] = "RegularEnumExcludes"; - SymbolFlags[SymbolFlags["ConstEnumExcludes"] = 899967] = "ConstEnumExcludes"; - SymbolFlags[SymbolFlags["ValueModuleExcludes"] = 110735] = "ValueModuleExcludes"; - SymbolFlags[SymbolFlags["NamespaceModuleExcludes"] = 0] = "NamespaceModuleExcludes"; - SymbolFlags[SymbolFlags["MethodExcludes"] = 103359] = "MethodExcludes"; - SymbolFlags[SymbolFlags["GetAccessorExcludes"] = 46015] = "GetAccessorExcludes"; - SymbolFlags[SymbolFlags["SetAccessorExcludes"] = 78783] = "SetAccessorExcludes"; - SymbolFlags[SymbolFlags["AccessorExcludes"] = 13247] = "AccessorExcludes"; - SymbolFlags[SymbolFlags["TypeParameterExcludes"] = 526824] = "TypeParameterExcludes"; - SymbolFlags[SymbolFlags["TypeAliasExcludes"] = 788968] = "TypeAliasExcludes"; - SymbolFlags[SymbolFlags["AliasExcludes"] = 2097152] = "AliasExcludes"; - SymbolFlags[SymbolFlags["ModuleMember"] = 2623475] = "ModuleMember"; - SymbolFlags[SymbolFlags["ExportHasLocal"] = 944] = "ExportHasLocal"; - SymbolFlags[SymbolFlags["BlockScoped"] = 418] = "BlockScoped"; - SymbolFlags[SymbolFlags["PropertyOrAccessor"] = 98308] = "PropertyOrAccessor"; - SymbolFlags[SymbolFlags["ClassMember"] = 106500] = "ClassMember"; - SymbolFlags[SymbolFlags["ExportSupportsDefaultModifier"] = 112] = "ExportSupportsDefaultModifier"; - SymbolFlags[SymbolFlags["ExportDoesNotSupportDefaultModifier"] = -113] = "ExportDoesNotSupportDefaultModifier"; - SymbolFlags[SymbolFlags["Classifiable"] = 2885600] = "Classifiable"; - SymbolFlags[SymbolFlags["LateBindingContainer"] = 6256] = "LateBindingContainer"; -})(SymbolFlags || (SymbolFlags = {})); +export var SymbolFlags: any; +(function (SymbolFlags) { + SymbolFlags[SymbolFlags["None"] = 0] = "None"; + SymbolFlags[SymbolFlags["FunctionScopedVariable"] = 1] = "FunctionScopedVariable"; + SymbolFlags[SymbolFlags["BlockScopedVariable"] = 2] = "BlockScopedVariable"; + SymbolFlags[SymbolFlags["Property"] = 4] = "Property"; + SymbolFlags[SymbolFlags["EnumMember"] = 8] = "EnumMember"; + SymbolFlags[SymbolFlags["Function"] = 16] = "Function"; + SymbolFlags[SymbolFlags["Class"] = 32] = "Class"; + SymbolFlags[SymbolFlags["Interface"] = 64] = "Interface"; + SymbolFlags[SymbolFlags["ConstEnum"] = 128] = "ConstEnum"; + SymbolFlags[SymbolFlags["RegularEnum"] = 256] = "RegularEnum"; + SymbolFlags[SymbolFlags["ValueModule"] = 512] = "ValueModule"; + SymbolFlags[SymbolFlags["NamespaceModule"] = 1024] = "NamespaceModule"; + SymbolFlags[SymbolFlags["TypeLiteral"] = 2048] = "TypeLiteral"; + SymbolFlags[SymbolFlags["ObjectLiteral"] = 4096] = "ObjectLiteral"; + SymbolFlags[SymbolFlags["Method"] = 8192] = "Method"; + SymbolFlags[SymbolFlags["Constructor"] = 16384] = "Constructor"; + SymbolFlags[SymbolFlags["GetAccessor"] = 32768] = "GetAccessor"; + SymbolFlags[SymbolFlags["SetAccessor"] = 65536] = "SetAccessor"; + SymbolFlags[SymbolFlags["Signature"] = 131072] = "Signature"; + SymbolFlags[SymbolFlags["TypeParameter"] = 262144] = "TypeParameter"; + SymbolFlags[SymbolFlags["TypeAlias"] = 524288] = "TypeAlias"; + SymbolFlags[SymbolFlags["ExportValue"] = 1048576] = "ExportValue"; + SymbolFlags[SymbolFlags["Alias"] = 2097152] = "Alias"; + SymbolFlags[SymbolFlags["Prototype"] = 4194304] = "Prototype"; + SymbolFlags[SymbolFlags["ExportStar"] = 8388608] = "ExportStar"; + SymbolFlags[SymbolFlags["Optional"] = 16777216] = "Optional"; + SymbolFlags[SymbolFlags["Transient"] = 33554432] = "Transient"; + SymbolFlags[SymbolFlags["Assignment"] = 67108864] = "Assignment"; + SymbolFlags[SymbolFlags["ModuleExports"] = 134217728] = "ModuleExports"; + SymbolFlags[SymbolFlags["ConstEnumOnlyModule"] = 268435456] = "ConstEnumOnlyModule"; + SymbolFlags[SymbolFlags["ReplaceableByMethod"] = 536870912] = "ReplaceableByMethod"; + SymbolFlags[SymbolFlags["GlobalLookup"] = 1073741824] = "GlobalLookup"; + SymbolFlags[SymbolFlags["All"] = 536870912] = "All"; + SymbolFlags[SymbolFlags["Enum"] = 384] = "Enum"; + SymbolFlags[SymbolFlags["Variable"] = 3] = "Variable"; + SymbolFlags[SymbolFlags["Value"] = 111551] = "Value"; + SymbolFlags[SymbolFlags["Type"] = 788968] = "Type"; + SymbolFlags[SymbolFlags["Namespace"] = 1920] = "Namespace"; + SymbolFlags[SymbolFlags["Module"] = 1536] = "Module"; + SymbolFlags[SymbolFlags["Accessor"] = 98304] = "Accessor"; + SymbolFlags[SymbolFlags["FunctionScopedVariableExcludes"] = 111550] = "FunctionScopedVariableExcludes"; + SymbolFlags[SymbolFlags["BlockScopedVariableExcludes"] = 111551] = "BlockScopedVariableExcludes"; + SymbolFlags[SymbolFlags["ParameterExcludes"] = 111551] = "ParameterExcludes"; + SymbolFlags[SymbolFlags["PropertyExcludes"] = 111547] = "PropertyExcludes"; + SymbolFlags[SymbolFlags["EnumMemberExcludes"] = 900095] = "EnumMemberExcludes"; + SymbolFlags[SymbolFlags["FunctionExcludes"] = 110991] = "FunctionExcludes"; + SymbolFlags[SymbolFlags["ClassExcludes"] = 899503] = "ClassExcludes"; + SymbolFlags[SymbolFlags["InterfaceExcludes"] = 788872] = "InterfaceExcludes"; + SymbolFlags[SymbolFlags["RegularEnumExcludes"] = 899327] = "RegularEnumExcludes"; + SymbolFlags[SymbolFlags["ConstEnumExcludes"] = 899967] = "ConstEnumExcludes"; + SymbolFlags[SymbolFlags["ValueModuleExcludes"] = 110735] = "ValueModuleExcludes"; + SymbolFlags[SymbolFlags["NamespaceModuleExcludes"] = 0] = "NamespaceModuleExcludes"; + SymbolFlags[SymbolFlags["MethodExcludes"] = 103359] = "MethodExcludes"; + SymbolFlags[SymbolFlags["GetAccessorExcludes"] = 46015] = "GetAccessorExcludes"; + SymbolFlags[SymbolFlags["SetAccessorExcludes"] = 78783] = "SetAccessorExcludes"; + SymbolFlags[SymbolFlags["AccessorExcludes"] = 13247] = "AccessorExcludes"; + SymbolFlags[SymbolFlags["TypeParameterExcludes"] = 526824] = "TypeParameterExcludes"; + SymbolFlags[SymbolFlags["TypeAliasExcludes"] = 788968] = "TypeAliasExcludes"; + SymbolFlags[SymbolFlags["AliasExcludes"] = 2097152] = "AliasExcludes"; + SymbolFlags[SymbolFlags["ModuleMember"] = 2623475] = "ModuleMember"; + SymbolFlags[SymbolFlags["ExportHasLocal"] = 944] = "ExportHasLocal"; + SymbolFlags[SymbolFlags["BlockScoped"] = 418] = "BlockScoped"; + SymbolFlags[SymbolFlags["PropertyOrAccessor"] = 98308] = "PropertyOrAccessor"; + SymbolFlags[SymbolFlags["ClassMember"] = 106500] = "ClassMember"; + SymbolFlags[SymbolFlags["ExportSupportsDefaultModifier"] = 112] = "ExportSupportsDefaultModifier"; + SymbolFlags[SymbolFlags["ExportDoesNotSupportDefaultModifier"] = -113] = "ExportDoesNotSupportDefaultModifier"; + SymbolFlags[SymbolFlags["Classifiable"] = 2885600] = "Classifiable"; + SymbolFlags[SymbolFlags["LateBindingContainer"] = 6256] = "LateBindingContainer"; +})(SymbolFlags || (SymbolFlags = {})); diff --git a/_packages/api/src/typeFlags.enum.ts b/_packages/api/src/typeFlags.enum.ts index f6a5429364..1c57bd0c31 100644 --- a/_packages/api/src/typeFlags.enum.ts +++ b/_packages/api/src/typeFlags.enum.ts @@ -1,32 +1,32 @@ -export enum TypeFlags { - None = 0, - Any = 1 << 0, - Unknown = 1 << 1, - Undefined = 1 << 2, - Null = 1 << 3, - Void = 1 << 4, - String = 1 << 5, - Number = 1 << 6, - BigInt = 1 << 7, - Boolean = 1 << 8, - ESSymbol = 1 << 9, - StringLiteral = 1 << 10, - NumberLiteral = 1 << 11, - BigIntLiteral = 1 << 12, - BooleanLiteral = 1 << 13, - UniqueESSymbol = 1 << 14, - EnumLiteral = 1 << 15, - Enum = 1 << 16, - Never = 1 << 17, - TypeParameter = 1 << 18, - Object = 1 << 19, - Union = 1 << 20, - Intersection = 1 << 21, - Index = 1 << 22, - IndexedAccess = 1 << 23, - Conditional = 1 << 24, - Substitution = 1 << 25, - NonPrimitive = 1 << 26, - TemplateLiteral = 1 << 27, - StringMapping = 1 << 28, -} +export enum TypeFlags { + None = 0, + Any = 1 << 0, + Unknown = 1 << 1, + Undefined = 1 << 2, + Null = 1 << 3, + Void = 1 << 4, + String = 1 << 5, + Number = 1 << 6, + BigInt = 1 << 7, + Boolean = 1 << 8, + ESSymbol = 1 << 9, + StringLiteral = 1 << 10, + NumberLiteral = 1 << 11, + BigIntLiteral = 1 << 12, + BooleanLiteral = 1 << 13, + UniqueESSymbol = 1 << 14, + EnumLiteral = 1 << 15, + Enum = 1 << 16, + Never = 1 << 17, + TypeParameter = 1 << 18, + Object = 1 << 19, + Union = 1 << 20, + Intersection = 1 << 21, + Index = 1 << 22, + IndexedAccess = 1 << 23, + Conditional = 1 << 24, + Substitution = 1 << 25, + NonPrimitive = 1 << 26, + TemplateLiteral = 1 << 27, + StringMapping = 1 << 28, +} diff --git a/_packages/api/src/typeFlags.ts b/_packages/api/src/typeFlags.ts index 867e8f09dd..a581948cb0 100644 --- a/_packages/api/src/typeFlags.ts +++ b/_packages/api/src/typeFlags.ts @@ -1,33 +1,33 @@ -export var TypeFlags: any; -(function (TypeFlags) { - TypeFlags[TypeFlags["None"] = 0] = "None"; - TypeFlags[TypeFlags["Any"] = 1] = "Any"; - TypeFlags[TypeFlags["Unknown"] = 2] = "Unknown"; - TypeFlags[TypeFlags["Undefined"] = 4] = "Undefined"; - TypeFlags[TypeFlags["Null"] = 8] = "Null"; - TypeFlags[TypeFlags["Void"] = 16] = "Void"; - TypeFlags[TypeFlags["String"] = 32] = "String"; - TypeFlags[TypeFlags["Number"] = 64] = "Number"; - TypeFlags[TypeFlags["BigInt"] = 128] = "BigInt"; - TypeFlags[TypeFlags["Boolean"] = 256] = "Boolean"; - TypeFlags[TypeFlags["ESSymbol"] = 512] = "ESSymbol"; - TypeFlags[TypeFlags["StringLiteral"] = 1024] = "StringLiteral"; - TypeFlags[TypeFlags["NumberLiteral"] = 2048] = "NumberLiteral"; - TypeFlags[TypeFlags["BigIntLiteral"] = 4096] = "BigIntLiteral"; - TypeFlags[TypeFlags["BooleanLiteral"] = 8192] = "BooleanLiteral"; - TypeFlags[TypeFlags["UniqueESSymbol"] = 16384] = "UniqueESSymbol"; - TypeFlags[TypeFlags["EnumLiteral"] = 32768] = "EnumLiteral"; - TypeFlags[TypeFlags["Enum"] = 65536] = "Enum"; - TypeFlags[TypeFlags["Never"] = 131072] = "Never"; - TypeFlags[TypeFlags["TypeParameter"] = 262144] = "TypeParameter"; - TypeFlags[TypeFlags["Object"] = 524288] = "Object"; - TypeFlags[TypeFlags["Union"] = 1048576] = "Union"; - TypeFlags[TypeFlags["Intersection"] = 2097152] = "Intersection"; - TypeFlags[TypeFlags["Index"] = 4194304] = "Index"; - TypeFlags[TypeFlags["IndexedAccess"] = 8388608] = "IndexedAccess"; - TypeFlags[TypeFlags["Conditional"] = 16777216] = "Conditional"; - TypeFlags[TypeFlags["Substitution"] = 33554432] = "Substitution"; - TypeFlags[TypeFlags["NonPrimitive"] = 67108864] = "NonPrimitive"; - TypeFlags[TypeFlags["TemplateLiteral"] = 134217728] = "TemplateLiteral"; - TypeFlags[TypeFlags["StringMapping"] = 268435456] = "StringMapping"; -})(TypeFlags || (TypeFlags = {})); +export var TypeFlags: any; +(function (TypeFlags) { + TypeFlags[TypeFlags["None"] = 0] = "None"; + TypeFlags[TypeFlags["Any"] = 1] = "Any"; + TypeFlags[TypeFlags["Unknown"] = 2] = "Unknown"; + TypeFlags[TypeFlags["Undefined"] = 4] = "Undefined"; + TypeFlags[TypeFlags["Null"] = 8] = "Null"; + TypeFlags[TypeFlags["Void"] = 16] = "Void"; + TypeFlags[TypeFlags["String"] = 32] = "String"; + TypeFlags[TypeFlags["Number"] = 64] = "Number"; + TypeFlags[TypeFlags["BigInt"] = 128] = "BigInt"; + TypeFlags[TypeFlags["Boolean"] = 256] = "Boolean"; + TypeFlags[TypeFlags["ESSymbol"] = 512] = "ESSymbol"; + TypeFlags[TypeFlags["StringLiteral"] = 1024] = "StringLiteral"; + TypeFlags[TypeFlags["NumberLiteral"] = 2048] = "NumberLiteral"; + TypeFlags[TypeFlags["BigIntLiteral"] = 4096] = "BigIntLiteral"; + TypeFlags[TypeFlags["BooleanLiteral"] = 8192] = "BooleanLiteral"; + TypeFlags[TypeFlags["UniqueESSymbol"] = 16384] = "UniqueESSymbol"; + TypeFlags[TypeFlags["EnumLiteral"] = 32768] = "EnumLiteral"; + TypeFlags[TypeFlags["Enum"] = 65536] = "Enum"; + TypeFlags[TypeFlags["Never"] = 131072] = "Never"; + TypeFlags[TypeFlags["TypeParameter"] = 262144] = "TypeParameter"; + TypeFlags[TypeFlags["Object"] = 524288] = "Object"; + TypeFlags[TypeFlags["Union"] = 1048576] = "Union"; + TypeFlags[TypeFlags["Intersection"] = 2097152] = "Intersection"; + TypeFlags[TypeFlags["Index"] = 4194304] = "Index"; + TypeFlags[TypeFlags["IndexedAccess"] = 8388608] = "IndexedAccess"; + TypeFlags[TypeFlags["Conditional"] = 16777216] = "Conditional"; + TypeFlags[TypeFlags["Substitution"] = 33554432] = "Substitution"; + TypeFlags[TypeFlags["NonPrimitive"] = 67108864] = "NonPrimitive"; + TypeFlags[TypeFlags["TemplateLiteral"] = 134217728] = "TemplateLiteral"; + TypeFlags[TypeFlags["StringMapping"] = 268435456] = "StringMapping"; +})(TypeFlags || (TypeFlags = {})); diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index 4ee079aa21..ce7b0ace7b 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -1,158 +1,158 @@ -import { - API, - SymbolFlags, - TypeFlags, -} from "@typescript/api"; -import { createVirtualFileSystem } from "@typescript/api/fs"; -import { - cast, - isImportDeclaration, - isNamedImports, - isTemplateHead, - isTemplateMiddle, - isTemplateTail, -} from "@typescript/ast"; -import assert from "node:assert"; -import { - describe, - test, -} from "node:test"; - -const defaultFiles = { - "/tsconfig.json": "{}", - "/src/index.ts": `import { foo } from './foo';`, - "/src/foo.ts": `export const foo = 42;`, -}; - -describe("API", () => { - test("parseConfigFile", () => { - const api = spawnAPI(); - const config = api.parseConfigFile("/tsconfig.json"); - assert.deepEqual(config.fileNames, ["/src/index.ts", "/src/foo.ts"]); - assert.deepEqual(config.options, { configFilePath: "/tsconfig.json" }); - }); -}); - -describe("Project", () => { - test("getSymbolAtPosition", () => { - const api = spawnAPI(); - const project = api.loadProject("/tsconfig.json"); - const symbol = project.getSymbolAtPosition("/src/index.ts", 9); - assert.ok(symbol); - assert.equal(symbol.name, "foo"); - assert.ok(symbol.flags & SymbolFlags.Alias); - }); - - test("getSymbolAtLocation", () => { - const api = spawnAPI(); - const project = api.loadProject("/tsconfig.json"); - const sourceFile = project.getSourceFile("/src/index.ts"); - assert.ok(sourceFile); - const node = cast( - cast(sourceFile.statements[0], isImportDeclaration).importClause?.namedBindings, - isNamedImports, - ).elements[0].name; - assert.ok(node); - const symbol = project.getSymbolAtLocation(node); - assert.ok(symbol); - assert.equal(symbol.name, "foo"); - assert.ok(symbol.flags & SymbolFlags.Alias); - }); - - test("getTypeOfSymbol", () => { - const api = spawnAPI(); - const project = api.loadProject("/tsconfig.json"); - const symbol = project.getSymbolAtPosition("/src/index.ts", 9); - assert.ok(symbol); - const type = project.getTypeOfSymbol(symbol); - assert.ok(type); - assert.ok(type.flags & TypeFlags.NumberLiteral); - }); -}); - -describe("SourceFile", () => { - test("file properties", () => { - const api = spawnAPI(); - const project = api.loadProject("/tsconfig.json"); - const sourceFile = project.getSourceFile("/src/index.ts"); - - assert.ok(sourceFile); - assert.equal(sourceFile.text, defaultFiles["/src/index.ts"]); - assert.equal(sourceFile.fileName, "/src/index.ts"); - }); - - test("extended data", () => { - const api = spawnAPI(); - const project = api.loadProject("/tsconfig.json"); - const sourceFile = project.getSourceFile("/src/index.ts"); - - assert.ok(sourceFile); - let nodeCount = 1; - sourceFile.forEachChild(function visit(node) { - if (isTemplateHead(node)) { - assert.equal(node.text, "head "); - assert.equal(node.rawText, "head "); - assert.equal(node.templateFlags, 0); - } - else if (isTemplateMiddle(node)) { - assert.equal(node.text, "middle"); - assert.equal(node.rawText, "middle"); - assert.equal(node.templateFlags, 0); - } - else if (isTemplateTail(node)) { - assert.equal(node.text, " tail"); - assert.equal(node.rawText, " tail"); - assert.equal(node.templateFlags, 0); - } - nodeCount++; - node.forEachChild(visit); - }); - assert.equal(nodeCount, 7); - }); -}); - -test("Object equality", () => { - const api = spawnAPI(); - const project = api.loadProject("/tsconfig.json"); - assert.strictEqual(project, api.loadProject("/tsconfig.json")); - assert.strictEqual( - project.getSymbolAtPosition("/src/index.ts", 9), - project.getSymbolAtPosition("/src/index.ts", 10), - ); -}); - -test("Dispose", () => { - const api = spawnAPI(); - const project = api.loadProject("/tsconfig.json"); - const symbol = project.getSymbolAtPosition("/src/index.ts", 9); - assert.ok(symbol); - assert.ok(symbol.isDisposed() === false); - symbol.dispose(); - assert.ok(symbol.isDisposed() === true); - assert.throws(() => { - project.getTypeOfSymbol(symbol); - }, { - name: "Error", - message: "Symbol is disposed", - }); - - const symbol2 = project.getSymbolAtPosition("/src/index.ts", 9); - assert.ok(symbol2); - assert.notStrictEqual(symbol, symbol2); - // @ts-ignore private API - api.client.request("release", symbol2.id); - assert.throws(() => { - project.getTypeOfSymbol(symbol2); - }, { - name: "Error", - message: `symbol "${symbol.id}" not found`, - }); -}); - -function spawnAPI(files: Record = defaultFiles) { - return new API({ - cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, - fs: createVirtualFileSystem(files), - }); -} +import { + API, + SymbolFlags, + TypeFlags, +} from "@typescript/api"; +import { createVirtualFileSystem } from "@typescript/api/fs"; +import { + cast, + isImportDeclaration, + isNamedImports, + isTemplateHead, + isTemplateMiddle, + isTemplateTail, +} from "@typescript/ast"; +import assert from "node:assert"; +import { + describe, + test, +} from "node:test"; + +const defaultFiles = { + "/tsconfig.json": "{}", + "/src/index.ts": `import { foo } from './foo';`, + "/src/foo.ts": `export const foo = 42;`, +}; + +describe("API", () => { + test("parseConfigFile", () => { + const api = spawnAPI(); + const config = api.parseConfigFile("/tsconfig.json"); + assert.deepEqual(config.fileNames, ["/src/index.ts", "/src/foo.ts"]); + assert.deepEqual(config.options, { configFilePath: "/tsconfig.json" }); + }); +}); + +describe("Project", () => { + test("getSymbolAtPosition", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const symbol = project.getSymbolAtPosition("/src/index.ts", 9); + assert.ok(symbol); + assert.equal(symbol.name, "foo"); + assert.ok(symbol.flags & SymbolFlags.Alias); + }); + + test("getSymbolAtLocation", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const sourceFile = project.getSourceFile("/src/index.ts"); + assert.ok(sourceFile); + const node = cast( + cast(sourceFile.statements[0], isImportDeclaration).importClause?.namedBindings, + isNamedImports, + ).elements[0].name; + assert.ok(node); + const symbol = project.getSymbolAtLocation(node); + assert.ok(symbol); + assert.equal(symbol.name, "foo"); + assert.ok(symbol.flags & SymbolFlags.Alias); + }); + + test("getTypeOfSymbol", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const symbol = project.getSymbolAtPosition("/src/index.ts", 9); + assert.ok(symbol); + const type = project.getTypeOfSymbol(symbol); + assert.ok(type); + assert.ok(type.flags & TypeFlags.NumberLiteral); + }); +}); + +describe("SourceFile", () => { + test("file properties", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const sourceFile = project.getSourceFile("/src/index.ts"); + + assert.ok(sourceFile); + assert.equal(sourceFile.text, defaultFiles["/src/index.ts"]); + assert.equal(sourceFile.fileName, "/src/index.ts"); + }); + + test("extended data", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const sourceFile = project.getSourceFile("/src/index.ts"); + + assert.ok(sourceFile); + let nodeCount = 1; + sourceFile.forEachChild(function visit(node) { + if (isTemplateHead(node)) { + assert.equal(node.text, "head "); + assert.equal(node.rawText, "head "); + assert.equal(node.templateFlags, 0); + } + else if (isTemplateMiddle(node)) { + assert.equal(node.text, "middle"); + assert.equal(node.rawText, "middle"); + assert.equal(node.templateFlags, 0); + } + else if (isTemplateTail(node)) { + assert.equal(node.text, " tail"); + assert.equal(node.rawText, " tail"); + assert.equal(node.templateFlags, 0); + } + nodeCount++; + node.forEachChild(visit); + }); + assert.equal(nodeCount, 7); + }); +}); + +test("Object equality", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + assert.strictEqual(project, api.loadProject("/tsconfig.json")); + assert.strictEqual( + project.getSymbolAtPosition("/src/index.ts", 9), + project.getSymbolAtPosition("/src/index.ts", 10), + ); +}); + +test("Dispose", () => { + const api = spawnAPI(); + const project = api.loadProject("/tsconfig.json"); + const symbol = project.getSymbolAtPosition("/src/index.ts", 9); + assert.ok(symbol); + assert.ok(symbol.isDisposed() === false); + symbol.dispose(); + assert.ok(symbol.isDisposed() === true); + assert.throws(() => { + project.getTypeOfSymbol(symbol); + }, { + name: "Error", + message: "Symbol is disposed", + }); + + const symbol2 = project.getSymbolAtPosition("/src/index.ts", 9); + assert.ok(symbol2); + assert.notStrictEqual(symbol, symbol2); + // @ts-ignore private API + api.client.request("release", symbol2.id); + assert.throws(() => { + project.getTypeOfSymbol(symbol2); + }, { + name: "Error", + message: `symbol "${symbol.id}" not found`, + }); +}); + +function spawnAPI(files: Record = defaultFiles) { + return new API({ + cwd: new URL("../../../", import.meta.url).pathname, + tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + fs: createVirtualFileSystem(files), + }); +} diff --git a/_packages/ast/package.json b/_packages/ast/package.json index bbc3099e70..6bf5210d12 100644 --- a/_packages/ast/package.json +++ b/_packages/ast/package.json @@ -1,39 +1,39 @@ { - "private": true, - "name": "@typescript/ast", - "version": "1.0.0", - "description": "TypeScript AST definitions", - "type": "module", - "imports": { - "#syntaxKind": { - "@typescript/source": { - "types": "./src/syntaxKind.enum.ts", - "default": "./src/syntaxKind.ts" - }, - "types": "./dist/kind.enum.d.ts", - "default": "./dist/kind.js" + "private": true, + "name": "@typescript/ast", + "version": "1.0.0", + "description": "TypeScript AST definitions", + "type": "module", + "imports": { + "#syntaxKind": { + "@typescript/source": { + "types": "./src/syntaxKind.enum.ts", + "default": "./src/syntaxKind.ts" + }, + "types": "./dist/kind.enum.d.ts", + "default": "./dist/kind.js" + }, + "#tokenFlags": { + "@typescript/source": { + "types": "./src/tokenFlags.enum.ts", + "default": "./src/tokenFlags.ts" + }, + "types": "./dist/tokenFlags.enum.d.ts", + "default": "./dist/tokenFlags.js" + } }, - "#tokenFlags": { - "@typescript/source": { - "types": "./src/tokenFlags.enum.ts", - "default": "./src/tokenFlags.ts" - }, - "types": "./dist/tokenFlags.enum.d.ts", - "default": "./dist/tokenFlags.js" + "exports": { + ".": { + "@typescript/source": "./src/index.ts", + "default": "./dist/index.js" + }, + "./is": { + "@typescript/source": "./src/is.ts", + "default": "./dist/is.js" + }, + "./utils": { + "@typescript/source": "./src/utils.ts", + "default": "./dist/utils.js" + } } - }, - "exports": { - ".": { - "@typescript/source": "./src/index.ts", - "default": "./dist/index.js" - }, - "./is": { - "@typescript/source": "./src/is.ts", - "default": "./dist/is.js" - }, - "./utils": { - "@typescript/source": "./src/utils.ts", - "default": "./dist/utils.js" - } - } -} \ No newline at end of file +} diff --git a/_packages/ast/src/index.ts b/_packages/ast/src/index.ts index 712a160804..74af64f5dd 100644 --- a/_packages/ast/src/index.ts +++ b/_packages/ast/src/index.ts @@ -1,4 +1,4 @@ -export { SyntaxKind } from "#syntaxKind"; -export * from "./is.ts"; -export * from "./nodes.ts"; -export * from "./utils.ts"; +export { SyntaxKind } from "#syntaxKind"; +export * from "./is.ts"; +export * from "./nodes.ts"; +export * from "./utils.ts"; diff --git a/_packages/ast/src/is.ts b/_packages/ast/src/is.ts index 0db6239e5c..d9563838f5 100644 --- a/_packages/ast/src/is.ts +++ b/_packages/ast/src/is.ts @@ -1,1115 +1,1115 @@ -import { SyntaxKind } from "#syntaxKind"; -import type { - AbstractKeyword, - AccessorKeyword, - ArrayBindingPattern, - ArrayLiteralExpression, - ArrayTypeNode, - ArrowFunction, - AsExpression, - AssertsKeyword, - AsteriskToken, - AsyncKeyword, - AwaitExpression, - AwaitKeyword, - BigIntLiteral, - BinaryExpression, - BindingElement, - Block, - BreakStatement, - CallExpression, - CallSignatureDeclaration, - CaseBlock, - CaseClause, - CaseKeyword, - CatchClause, - ClassDeclaration, - ClassExpression, - ClassStaticBlockDeclaration, - ColonToken, - CommaListExpression, - ComputedPropertyName, - ConditionalExpression, - ConditionalTypeNode, - ConstructorDeclaration, - ConstructorTypeNode, - ConstructSignatureDeclaration, - ContinueStatement, - DebuggerStatement, - Decorator, - DefaultClause, - DefaultKeyword, - DeleteExpression, - DoStatement, - DotDotDotToken, - ElementAccessExpression, - EmptyStatement, - EnumDeclaration, - EnumMember, - EqualsGreaterThanToken, - ExclamationToken, - ExportAssignment, - ExportDeclaration, - ExportKeyword, - ExportSpecifier, - ExpressionStatement, - ExpressionWithTypeArguments, - ExternalModuleReference, - ForInStatement, - ForOfStatement, - ForStatement, - FunctionDeclaration, - FunctionExpression, - FunctionTypeNode, - GetAccessorDeclaration, - HeritageClause, - Identifier, - IfStatement, - ImportAttribute, - ImportAttributes, - ImportClause, - ImportDeclaration, - ImportEqualsDeclaration, - ImportExpression, - ImportSpecifier, - ImportTypeNode, - IndexedAccessTypeNode, - IndexSignatureDeclaration, - InferTypeNode, - InterfaceDeclaration, - IntersectionTypeNode, - JSDoc, - JSDocAllType, - JSDocAugmentsTag, - JSDocCallbackTag, - JSDocDeprecatedTag, - JSDocImplementsTag, - JSDocImportTag, - JSDocLink, - JSDocLinkCode, - JSDocLinkPlain, - JSDocMemberName, - JSDocNameReference, - JSDocNonNullableType, - JSDocNullableType, - JSDocOptionalType, - JSDocOverloadTag, - JSDocOverrideTag, - JSDocParameterTag, - JSDocPrivateTag, - JSDocPropertyTag, - JSDocProtectedTag, - JSDocPublicTag, - JSDocReadonlyTag, - JSDocReturnTag, - JSDocSatisfiesTag, - JSDocSeeTag, - JSDocSignature, - JSDocTemplateTag, - JSDocThisTag, - JSDocTypedefTag, - JSDocTypeExpression, - JSDocTypeLiteral, - JSDocTypeTag, - JSDocUnknownTag, - JSDocVariadicType, - JsxAttribute, - JsxAttributes, - JsxClosingElement, - JsxClosingFragment, - JsxElement, - JsxExpression, - JsxFragment, - JsxNamespacedName, - JsxOpeningElement, - JsxOpeningFragment, - JsxSelfClosingElement, - JsxSpreadAttribute, - JsxText, - LabeledStatement, - LiteralTypeNode, - MappedTypeNode, - MetaProperty, - MethodDeclaration, - MethodSignature, - MinusToken, - ModuleBlock, - ModuleDeclaration, - ModuleExportName, - NamedExports, - NamedImports, - NamedTupleMember, - NamespaceExport, - NamespaceExportDeclaration, - NamespaceImport, - NewExpression, - Node, - NonNullExpression, - NoSubstitutionTemplateLiteral, - NumericLiteral, - ObjectBindingPattern, - ObjectLiteralExpression, - OmittedExpression, - OptionalTypeNode, - OverrideKeyword, - ParameterDeclaration, - ParenthesizedExpression, - ParenthesizedTypeNode, - PartiallyEmittedExpression, - PlusToken, - PostfixUnaryExpression, - PrefixUnaryExpression, - PrivateIdentifier, - PropertyAccessExpression, - PropertyAssignment, - PropertyDeclaration, - PropertySignature, - QualifiedName, - QuestionDotToken, - QuestionToken, - ReadonlyKeyword, - RegularExpressionLiteral, - RestTypeNode, - ReturnStatement, - SatisfiesExpression, - SemicolonClassElement, - SetAccessorDeclaration, - ShorthandPropertyAssignment, - SourceFile, - SpreadAssignment, - SpreadElement, - StaticKeyword, - StringLiteral, - SuperExpression, - SwitchStatement, - TaggedTemplateExpression, - TemplateExpression, - TemplateHead, - TemplateLiteralTypeNode, - TemplateLiteralTypeSpan, - TemplateMiddle, - TemplateSpan, - TemplateTail, - ThisTypeNode, - ThrowStatement, - Token, - TryStatement, - TupleTypeNode, - TypeAliasDeclaration, - TypeAssertion, - TypeLiteralNode, - TypeOfExpression, - TypeOperatorNode, - TypeParameterDeclaration, - TypePredicateNode, - TypeQueryNode, - TypeReferenceNode, - UnionTypeNode, - VariableDeclaration, - VariableDeclarationList, - VariableStatement, - VoidExpression, - WhileStatement, - WithStatement, - YieldExpression, -} from "./nodes.ts"; - -// Literals - -export function isNumericLiteral(node: Node): node is NumericLiteral { - return node.kind === SyntaxKind.NumericLiteral; -} - -export function isBigIntLiteral(node: Node): node is BigIntLiteral { - return node.kind === SyntaxKind.BigIntLiteral; -} - -export function isStringLiteral(node: Node): node is StringLiteral { - return node.kind === SyntaxKind.StringLiteral; -} - -export function isJsxText(node: Node): node is JsxText { - return node.kind === SyntaxKind.JsxText; -} - -export function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral { - return node.kind === SyntaxKind.RegularExpressionLiteral; -} - -export function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral { - return node.kind === SyntaxKind.NoSubstitutionTemplateLiteral; -} - -// Pseudo-literals - -export function isTemplateHead(node: Node): node is TemplateHead { - return node.kind === SyntaxKind.TemplateHead; -} - -export function isTemplateMiddle(node: Node): node is TemplateMiddle { - return node.kind === SyntaxKind.TemplateMiddle; -} - -export function isTemplateTail(node: Node): node is TemplateTail { - return node.kind === SyntaxKind.TemplateTail; -} - -// Punctuation - -export function isDotDotDotToken(node: Node): node is DotDotDotToken { - return node.kind === SyntaxKind.DotDotDotToken; -} - -/** @internal */ -export function isCommaToken(node: Node): node is Token { - return node.kind === SyntaxKind.CommaToken; -} - -export function isPlusToken(node: Node): node is PlusToken { - return node.kind === SyntaxKind.PlusToken; -} - -export function isMinusToken(node: Node): node is MinusToken { - return node.kind === SyntaxKind.MinusToken; -} - -export function isAsteriskToken(node: Node): node is AsteriskToken { - return node.kind === SyntaxKind.AsteriskToken; -} - -export function isExclamationToken(node: Node): node is ExclamationToken { - return node.kind === SyntaxKind.ExclamationToken; -} - -export function isQuestionToken(node: Node): node is QuestionToken { - return node.kind === SyntaxKind.QuestionToken; -} - -export function isColonToken(node: Node): node is ColonToken { - return node.kind === SyntaxKind.ColonToken; -} - -export function isQuestionDotToken(node: Node): node is QuestionDotToken { - return node.kind === SyntaxKind.QuestionDotToken; -} - -export function isEqualsGreaterThanToken(node: Node): node is EqualsGreaterThanToken { - return node.kind === SyntaxKind.EqualsGreaterThanToken; -} - -// Identifiers - -export function isIdentifier(node: Node): node is Identifier { - return node.kind === SyntaxKind.Identifier; -} - -export function isPrivateIdentifier(node: Node): node is PrivateIdentifier { - return node.kind === SyntaxKind.PrivateIdentifier; -} - -// Reserved Words - -/** @internal */ -export function isExportModifier(node: Node): node is ExportKeyword { - return node.kind === SyntaxKind.ExportKeyword; -} - -/** @internal */ -export function isDefaultModifier(node: Node): node is DefaultKeyword { - return node.kind === SyntaxKind.DefaultKeyword; -} - -/** @internal */ -export function isAsyncModifier(node: Node): node is AsyncKeyword { - return node.kind === SyntaxKind.AsyncKeyword; -} - -export function isAssertsKeyword(node: Node): node is AssertsKeyword { - return node.kind === SyntaxKind.AssertsKeyword; -} - -export function isAwaitKeyword(node: Node): node is AwaitKeyword { - return node.kind === SyntaxKind.AwaitKeyword; -} - -/** @internal */ -export function isReadonlyKeyword(node: Node): node is ReadonlyKeyword { - return node.kind === SyntaxKind.ReadonlyKeyword; -} - -/** @internal */ -export function isStaticModifier(node: Node): node is StaticKeyword { - return node.kind === SyntaxKind.StaticKeyword; -} - -/** @internal */ -export function isAbstractModifier(node: Node): node is AbstractKeyword { - return node.kind === SyntaxKind.AbstractKeyword; -} - -/** @internal */ -export function isOverrideModifier(node: Node): node is OverrideKeyword { - return node.kind === SyntaxKind.OverrideKeyword; -} - -/** @internal */ -export function isAccessorModifier(node: Node): node is AccessorKeyword { - return node.kind === SyntaxKind.AccessorKeyword; -} - -/** @internal */ -export function isSuperKeyword(node: Node): node is SuperExpression { - return node.kind === SyntaxKind.SuperKeyword; -} - -/** @internal */ -export function isImportKeyword(node: Node): node is ImportExpression { - return node.kind === SyntaxKind.ImportKeyword; -} - -/** @internal */ -export function isCaseKeyword(node: Node): node is CaseKeyword { - return node.kind === SyntaxKind.CaseKeyword; -} - -// Names - -export function isQualifiedName(node: Node): node is QualifiedName { - return node.kind === SyntaxKind.QualifiedName; -} - -export function isComputedPropertyName(node: Node): node is ComputedPropertyName { - return node.kind === SyntaxKind.ComputedPropertyName; -} - -// Signature elements - -export function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration { - return node.kind === SyntaxKind.TypeParameter; -} - -// TODO(rbuckton): Rename to 'isParameterDeclaration' -export function isParameter(node: Node): node is ParameterDeclaration { - return node.kind === SyntaxKind.Parameter; -} - -export function isDecorator(node: Node): node is Decorator { - return node.kind === SyntaxKind.Decorator; -} - -// TypeMember - -export function isPropertySignature(node: Node): node is PropertySignature { - return node.kind === SyntaxKind.PropertySignature; -} - -export function isPropertyDeclaration(node: Node): node is PropertyDeclaration { - return node.kind === SyntaxKind.PropertyDeclaration; -} - -export function isMethodSignature(node: Node): node is MethodSignature { - return node.kind === SyntaxKind.MethodSignature; -} - -export function isMethodDeclaration(node: Node): node is MethodDeclaration { - return node.kind === SyntaxKind.MethodDeclaration; -} - -export function isClassStaticBlockDeclaration(node: Node): node is ClassStaticBlockDeclaration { - return node.kind === SyntaxKind.ClassStaticBlockDeclaration; -} - -export function isConstructorDeclaration(node: Node): node is ConstructorDeclaration { - return node.kind === SyntaxKind.Constructor; -} - -export function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration { - return node.kind === SyntaxKind.GetAccessor; -} - -export function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration { - return node.kind === SyntaxKind.SetAccessor; -} - -export function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration { - return node.kind === SyntaxKind.CallSignature; -} - -export function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration { - return node.kind === SyntaxKind.ConstructSignature; -} - -export function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration { - return node.kind === SyntaxKind.IndexSignature; -} - -// Type - -export function isTypePredicateNode(node: Node): node is TypePredicateNode { - return node.kind === SyntaxKind.TypePredicate; -} - -export function isTypeReferenceNode(node: Node): node is TypeReferenceNode { - return node.kind === SyntaxKind.TypeReference; -} - -export function isFunctionTypeNode(node: Node): node is FunctionTypeNode { - return node.kind === SyntaxKind.FunctionType; -} - -export function isConstructorTypeNode(node: Node): node is ConstructorTypeNode { - return node.kind === SyntaxKind.ConstructorType; -} - -export function isTypeQueryNode(node: Node): node is TypeQueryNode { - return node.kind === SyntaxKind.TypeQuery; -} - -export function isTypeLiteralNode(node: Node): node is TypeLiteralNode { - return node.kind === SyntaxKind.TypeLiteral; -} - -export function isArrayTypeNode(node: Node): node is ArrayTypeNode { - return node.kind === SyntaxKind.ArrayType; -} - -export function isTupleTypeNode(node: Node): node is TupleTypeNode { - return node.kind === SyntaxKind.TupleType; -} - -export function isNamedTupleMember(node: Node): node is NamedTupleMember { - return node.kind === SyntaxKind.NamedTupleMember; -} - -export function isOptionalTypeNode(node: Node): node is OptionalTypeNode { - return node.kind === SyntaxKind.OptionalType; -} - -export function isRestTypeNode(node: Node): node is RestTypeNode { - return node.kind === SyntaxKind.RestType; -} - -export function isUnionTypeNode(node: Node): node is UnionTypeNode { - return node.kind === SyntaxKind.UnionType; -} - -export function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode { - return node.kind === SyntaxKind.IntersectionType; -} - -export function isConditionalTypeNode(node: Node): node is ConditionalTypeNode { - return node.kind === SyntaxKind.ConditionalType; -} - -export function isInferTypeNode(node: Node): node is InferTypeNode { - return node.kind === SyntaxKind.InferType; -} - -export function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode { - return node.kind === SyntaxKind.ParenthesizedType; -} - -export function isThisTypeNode(node: Node): node is ThisTypeNode { - return node.kind === SyntaxKind.ThisType; -} - -export function isTypeOperatorNode(node: Node): node is TypeOperatorNode { - return node.kind === SyntaxKind.TypeOperator; -} - -export function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode { - return node.kind === SyntaxKind.IndexedAccessType; -} - -export function isMappedTypeNode(node: Node): node is MappedTypeNode { - return node.kind === SyntaxKind.MappedType; -} - -export function isLiteralTypeNode(node: Node): node is LiteralTypeNode { - return node.kind === SyntaxKind.LiteralType; -} - -export function isImportTypeNode(node: Node): node is ImportTypeNode { - return node.kind === SyntaxKind.ImportType; -} - -export function isTemplateLiteralTypeSpan(node: Node): node is TemplateLiteralTypeSpan { - return node.kind === SyntaxKind.TemplateLiteralTypeSpan; -} - -export function isTemplateLiteralTypeNode(node: Node): node is TemplateLiteralTypeNode { - return node.kind === SyntaxKind.TemplateLiteralType; -} - -// Binding patterns - -export function isObjectBindingPattern(node: Node): node is ObjectBindingPattern { - return node.kind === SyntaxKind.ObjectBindingPattern; -} - -export function isArrayBindingPattern(node: Node): node is ArrayBindingPattern { - return node.kind === SyntaxKind.ArrayBindingPattern; -} - -export function isBindingElement(node: Node): node is BindingElement { - return node.kind === SyntaxKind.BindingElement; -} - -// Expression - -export function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression { - return node.kind === SyntaxKind.ArrayLiteralExpression; -} - -export function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression { - return node.kind === SyntaxKind.ObjectLiteralExpression; -} - -export function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression { - return node.kind === SyntaxKind.PropertyAccessExpression; -} - -export function isElementAccessExpression(node: Node): node is ElementAccessExpression { - return node.kind === SyntaxKind.ElementAccessExpression; -} - -export function isCallExpression(node: Node): node is CallExpression { - return node.kind === SyntaxKind.CallExpression; -} - -export function isNewExpression(node: Node): node is NewExpression { - return node.kind === SyntaxKind.NewExpression; -} - -export function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression { - return node.kind === SyntaxKind.TaggedTemplateExpression; -} - -export function isTypeAssertionExpression(node: Node): node is TypeAssertion { - return node.kind === SyntaxKind.TypeAssertionExpression; -} - -export function isParenthesizedExpression(node: Node): node is ParenthesizedExpression { - return node.kind === SyntaxKind.ParenthesizedExpression; -} - -export function isFunctionExpression(node: Node): node is FunctionExpression { - return node.kind === SyntaxKind.FunctionExpression; -} - -export function isArrowFunction(node: Node): node is ArrowFunction { - return node.kind === SyntaxKind.ArrowFunction; -} - -export function isDeleteExpression(node: Node): node is DeleteExpression { - return node.kind === SyntaxKind.DeleteExpression; -} - -export function isTypeOfExpression(node: Node): node is TypeOfExpression { - return node.kind === SyntaxKind.TypeOfExpression; -} - -export function isVoidExpression(node: Node): node is VoidExpression { - return node.kind === SyntaxKind.VoidExpression; -} - -export function isAwaitExpression(node: Node): node is AwaitExpression { - return node.kind === SyntaxKind.AwaitExpression; -} - -export function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression { - return node.kind === SyntaxKind.PrefixUnaryExpression; -} - -export function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression { - return node.kind === SyntaxKind.PostfixUnaryExpression; -} - -export function isBinaryExpression(node: Node): node is BinaryExpression { - return node.kind === SyntaxKind.BinaryExpression; -} - -export function isConditionalExpression(node: Node): node is ConditionalExpression { - return node.kind === SyntaxKind.ConditionalExpression; -} - -export function isTemplateExpression(node: Node): node is TemplateExpression { - return node.kind === SyntaxKind.TemplateExpression; -} - -export function isYieldExpression(node: Node): node is YieldExpression { - return node.kind === SyntaxKind.YieldExpression; -} - -export function isSpreadElement(node: Node): node is SpreadElement { - return node.kind === SyntaxKind.SpreadElement; -} - -export function isClassExpression(node: Node): node is ClassExpression { - return node.kind === SyntaxKind.ClassExpression; -} - -export function isOmittedExpression(node: Node): node is OmittedExpression { - return node.kind === SyntaxKind.OmittedExpression; -} - -export function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments { - return node.kind === SyntaxKind.ExpressionWithTypeArguments; -} - -export function isAsExpression(node: Node): node is AsExpression { - return node.kind === SyntaxKind.AsExpression; -} - -export function isSatisfiesExpression(node: Node): node is SatisfiesExpression { - return node.kind === SyntaxKind.SatisfiesExpression; -} - -export function isNonNullExpression(node: Node): node is NonNullExpression { - return node.kind === SyntaxKind.NonNullExpression; -} - -export function isMetaProperty(node: Node): node is MetaProperty { - return node.kind === SyntaxKind.MetaProperty; -} - -export function isPartiallyEmittedExpression(node: Node): node is PartiallyEmittedExpression { - return node.kind === SyntaxKind.PartiallyEmittedExpression; -} - -export function isCommaListExpression(node: Node): node is CommaListExpression { - return node.kind === SyntaxKind.CommaListExpression; -} - -// Misc - -export function isTemplateSpan(node: Node): node is TemplateSpan { - return node.kind === SyntaxKind.TemplateSpan; -} - -export function isSemicolonClassElement(node: Node): node is SemicolonClassElement { - return node.kind === SyntaxKind.SemicolonClassElement; -} - -// Elements - -export function isBlock(node: Node): node is Block { - return node.kind === SyntaxKind.Block; -} - -export function isVariableStatement(node: Node): node is VariableStatement { - return node.kind === SyntaxKind.VariableStatement; -} - -export function isEmptyStatement(node: Node): node is EmptyStatement { - return node.kind === SyntaxKind.EmptyStatement; -} - -export function isExpressionStatement(node: Node): node is ExpressionStatement { - return node.kind === SyntaxKind.ExpressionStatement; -} - -export function isIfStatement(node: Node): node is IfStatement { - return node.kind === SyntaxKind.IfStatement; -} - -export function isDoStatement(node: Node): node is DoStatement { - return node.kind === SyntaxKind.DoStatement; -} - -export function isWhileStatement(node: Node): node is WhileStatement { - return node.kind === SyntaxKind.WhileStatement; -} - -export function isForStatement(node: Node): node is ForStatement { - return node.kind === SyntaxKind.ForStatement; -} - -export function isForInStatement(node: Node): node is ForInStatement { - return node.kind === SyntaxKind.ForInStatement; -} - -export function isForOfStatement(node: Node): node is ForOfStatement { - return node.kind === SyntaxKind.ForOfStatement; -} - -export function isContinueStatement(node: Node): node is ContinueStatement { - return node.kind === SyntaxKind.ContinueStatement; -} - -export function isBreakStatement(node: Node): node is BreakStatement { - return node.kind === SyntaxKind.BreakStatement; -} - -export function isReturnStatement(node: Node): node is ReturnStatement { - return node.kind === SyntaxKind.ReturnStatement; -} - -export function isWithStatement(node: Node): node is WithStatement { - return node.kind === SyntaxKind.WithStatement; -} - -export function isSwitchStatement(node: Node): node is SwitchStatement { - return node.kind === SyntaxKind.SwitchStatement; -} - -export function isLabeledStatement(node: Node): node is LabeledStatement { - return node.kind === SyntaxKind.LabeledStatement; -} - -export function isThrowStatement(node: Node): node is ThrowStatement { - return node.kind === SyntaxKind.ThrowStatement; -} - -export function isTryStatement(node: Node): node is TryStatement { - return node.kind === SyntaxKind.TryStatement; -} - -export function isDebuggerStatement(node: Node): node is DebuggerStatement { - return node.kind === SyntaxKind.DebuggerStatement; -} - -export function isVariableDeclaration(node: Node): node is VariableDeclaration { - return node.kind === SyntaxKind.VariableDeclaration; -} - -export function isVariableDeclarationList(node: Node): node is VariableDeclarationList { - return node.kind === SyntaxKind.VariableDeclarationList; -} - -export function isFunctionDeclaration(node: Node): node is FunctionDeclaration { - return node.kind === SyntaxKind.FunctionDeclaration; -} - -export function isClassDeclaration(node: Node): node is ClassDeclaration { - return node.kind === SyntaxKind.ClassDeclaration; -} - -export function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration { - return node.kind === SyntaxKind.InterfaceDeclaration; -} - -export function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration { - return node.kind === SyntaxKind.TypeAliasDeclaration; -} - -export function isEnumDeclaration(node: Node): node is EnumDeclaration { - return node.kind === SyntaxKind.EnumDeclaration; -} - -export function isModuleDeclaration(node: Node): node is ModuleDeclaration { - return node.kind === SyntaxKind.ModuleDeclaration; -} - -export function isModuleBlock(node: Node): node is ModuleBlock { - return node.kind === SyntaxKind.ModuleBlock; -} - -export function isCaseBlock(node: Node): node is CaseBlock { - return node.kind === SyntaxKind.CaseBlock; -} - -export function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration { - return node.kind === SyntaxKind.NamespaceExportDeclaration; -} - -export function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration { - return node.kind === SyntaxKind.ImportEqualsDeclaration; -} - -export function isImportDeclaration(node: Node): node is ImportDeclaration { - return node.kind === SyntaxKind.ImportDeclaration; -} - -export function isImportClause(node: Node): node is ImportClause { - return node.kind === SyntaxKind.ImportClause; -} - -export function isImportAttributes(node: Node): node is ImportAttributes { - return node.kind === SyntaxKind.ImportAttributes; -} - -export function isImportAttribute(node: Node): node is ImportAttribute { - return node.kind === SyntaxKind.ImportAttribute; -} - -export function isNamespaceImport(node: Node): node is NamespaceImport { - return node.kind === SyntaxKind.NamespaceImport; -} - -export function isNamespaceExport(node: Node): node is NamespaceExport { - return node.kind === SyntaxKind.NamespaceExport; -} - -export function isNamedImports(node: Node): node is NamedImports { - return node.kind === SyntaxKind.NamedImports; -} - -export function isImportSpecifier(node: Node): node is ImportSpecifier { - return node.kind === SyntaxKind.ImportSpecifier; -} - -export function isExportAssignment(node: Node): node is ExportAssignment { - return node.kind === SyntaxKind.ExportAssignment; -} - -export function isExportDeclaration(node: Node): node is ExportDeclaration { - return node.kind === SyntaxKind.ExportDeclaration; -} - -export function isNamedExports(node: Node): node is NamedExports { - return node.kind === SyntaxKind.NamedExports; -} - -export function isExportSpecifier(node: Node): node is ExportSpecifier { - return node.kind === SyntaxKind.ExportSpecifier; -} - -export function isModuleExportName(node: Node): node is ModuleExportName { - return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral; -} - -// Module References - -export function isExternalModuleReference(node: Node): node is ExternalModuleReference { - return node.kind === SyntaxKind.ExternalModuleReference; -} - -// JSX - -export function isJsxElement(node: Node): node is JsxElement { - return node.kind === SyntaxKind.JsxElement; -} - -export function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement { - return node.kind === SyntaxKind.JsxSelfClosingElement; -} - -export function isJsxOpeningElement(node: Node): node is JsxOpeningElement { - return node.kind === SyntaxKind.JsxOpeningElement; -} - -export function isJsxClosingElement(node: Node): node is JsxClosingElement { - return node.kind === SyntaxKind.JsxClosingElement; -} - -export function isJsxFragment(node: Node): node is JsxFragment { - return node.kind === SyntaxKind.JsxFragment; -} - -export function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment { - return node.kind === SyntaxKind.JsxOpeningFragment; -} - -export function isJsxClosingFragment(node: Node): node is JsxClosingFragment { - return node.kind === SyntaxKind.JsxClosingFragment; -} - -export function isJsxAttribute(node: Node): node is JsxAttribute { - return node.kind === SyntaxKind.JsxAttribute; -} - -export function isJsxAttributes(node: Node): node is JsxAttributes { - return node.kind === SyntaxKind.JsxAttributes; -} - -export function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute { - return node.kind === SyntaxKind.JsxSpreadAttribute; -} - -export function isJsxExpression(node: Node): node is JsxExpression { - return node.kind === SyntaxKind.JsxExpression; -} - -export function isJsxNamespacedName(node: Node): node is JsxNamespacedName { - return node.kind === SyntaxKind.JsxNamespacedName; -} - -// Clauses - -export function isCaseClause(node: Node): node is CaseClause { - return node.kind === SyntaxKind.CaseClause; -} - -export function isDefaultClause(node: Node): node is DefaultClause { - return node.kind === SyntaxKind.DefaultClause; -} - -export function isHeritageClause(node: Node): node is HeritageClause { - return node.kind === SyntaxKind.HeritageClause; -} - -export function isCatchClause(node: Node): node is CatchClause { - return node.kind === SyntaxKind.CatchClause; -} - -// Property assignments - -export function isPropertyAssignment(node: Node): node is PropertyAssignment { - return node.kind === SyntaxKind.PropertyAssignment; -} - -export function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment { - return node.kind === SyntaxKind.ShorthandPropertyAssignment; -} - -export function isSpreadAssignment(node: Node): node is SpreadAssignment { - return node.kind === SyntaxKind.SpreadAssignment; -} - -// Enum - -export function isEnumMember(node: Node): node is EnumMember { - return node.kind === SyntaxKind.EnumMember; -} - -// Top-level nodes -export function isSourceFile(node: Node): node is SourceFile { - return node.kind === SyntaxKind.SourceFile; -} - -// TODO(rbuckton): isInputFiles - -// JSDoc Elements - -export function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression { - return node.kind === SyntaxKind.JSDocTypeExpression; -} - -export function isJSDocNameReference(node: Node): node is JSDocNameReference { - return node.kind === SyntaxKind.JSDocNameReference; -} - -export function isJSDocMemberName(node: Node): node is JSDocMemberName { - return node.kind === SyntaxKind.JSDocMemberName; -} - -export function isJSDocLink(node: Node): node is JSDocLink { - return node.kind === SyntaxKind.JSDocLink; -} - -export function isJSDocLinkCode(node: Node): node is JSDocLinkCode { - return node.kind === SyntaxKind.JSDocLinkCode; -} - -export function isJSDocLinkPlain(node: Node): node is JSDocLinkPlain { - return node.kind === SyntaxKind.JSDocLinkPlain; -} - -export function isJSDocAllType(node: Node): node is JSDocAllType { - return node.kind === SyntaxKind.JSDocAllType; -} - -export function isJSDocNullableType(node: Node): node is JSDocNullableType { - return node.kind === SyntaxKind.JSDocNullableType; -} - -export function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType { - return node.kind === SyntaxKind.JSDocNonNullableType; -} - -export function isJSDocOptionalType(node: Node): node is JSDocOptionalType { - return node.kind === SyntaxKind.JSDocOptionalType; -} - -export function isJSDocVariadicType(node: Node): node is JSDocVariadicType { - return node.kind === SyntaxKind.JSDocVariadicType; -} - -export function isJSDoc(node: Node): node is JSDoc { - return node.kind === SyntaxKind.JSDoc; -} - -export function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral { - return node.kind === SyntaxKind.JSDocTypeLiteral; -} - -export function isJSDocSignature(node: Node): node is JSDocSignature { - return node.kind === SyntaxKind.JSDocSignature; -} - -// JSDoc Tags - -export function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag { - return node.kind === SyntaxKind.JSDocAugmentsTag; -} - -export function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag { - return node.kind === SyntaxKind.JSDocCallbackTag; -} - -export function isJSDocPublicTag(node: Node): node is JSDocPublicTag { - return node.kind === SyntaxKind.JSDocPublicTag; -} - -export function isJSDocPrivateTag(node: Node): node is JSDocPrivateTag { - return node.kind === SyntaxKind.JSDocPrivateTag; -} - -export function isJSDocProtectedTag(node: Node): node is JSDocProtectedTag { - return node.kind === SyntaxKind.JSDocProtectedTag; -} - -export function isJSDocReadonlyTag(node: Node): node is JSDocReadonlyTag { - return node.kind === SyntaxKind.JSDocReadonlyTag; -} - -export function isJSDocOverrideTag(node: Node): node is JSDocOverrideTag { - return node.kind === SyntaxKind.JSDocOverrideTag; -} - -export function isJSDocOverloadTag(node: Node): node is JSDocOverloadTag { - return node.kind === SyntaxKind.JSDocOverloadTag; -} - -export function isJSDocDeprecatedTag(node: Node): node is JSDocDeprecatedTag { - return node.kind === SyntaxKind.JSDocDeprecatedTag; -} - -export function isJSDocSeeTag(node: Node): node is JSDocSeeTag { - return node.kind === SyntaxKind.JSDocSeeTag; -} - -export function isJSDocParameterTag(node: Node): node is JSDocParameterTag { - return node.kind === SyntaxKind.JSDocParameterTag; -} - -export function isJSDocReturnTag(node: Node): node is JSDocReturnTag { - return node.kind === SyntaxKind.JSDocReturnTag; -} - -export function isJSDocThisTag(node: Node): node is JSDocThisTag { - return node.kind === SyntaxKind.JSDocThisTag; -} - -export function isJSDocTypeTag(node: Node): node is JSDocTypeTag { - return node.kind === SyntaxKind.JSDocTypeTag; -} - -export function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag { - return node.kind === SyntaxKind.JSDocTemplateTag; -} - -export function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag { - return node.kind === SyntaxKind.JSDocTypedefTag; -} - -export function isJSDocUnknownTag(node: Node): node is JSDocUnknownTag { - return node.kind === SyntaxKind.JSDocTag; -} - -export function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag { - return node.kind === SyntaxKind.JSDocPropertyTag; -} - -export function isJSDocImplementsTag(node: Node): node is JSDocImplementsTag { - return node.kind === SyntaxKind.JSDocImplementsTag; -} - -export function isJSDocSatisfiesTag(node: Node): node is JSDocSatisfiesTag { - return node.kind === SyntaxKind.JSDocSatisfiesTag; -} - -export function isJSDocImportTag(node: Node): node is JSDocImportTag { - return node.kind === SyntaxKind.JSDocImportTag; -} +import { SyntaxKind } from "#syntaxKind"; +import type { + AbstractKeyword, + AccessorKeyword, + ArrayBindingPattern, + ArrayLiteralExpression, + ArrayTypeNode, + ArrowFunction, + AsExpression, + AssertsKeyword, + AsteriskToken, + AsyncKeyword, + AwaitExpression, + AwaitKeyword, + BigIntLiteral, + BinaryExpression, + BindingElement, + Block, + BreakStatement, + CallExpression, + CallSignatureDeclaration, + CaseBlock, + CaseClause, + CaseKeyword, + CatchClause, + ClassDeclaration, + ClassExpression, + ClassStaticBlockDeclaration, + ColonToken, + CommaListExpression, + ComputedPropertyName, + ConditionalExpression, + ConditionalTypeNode, + ConstructorDeclaration, + ConstructorTypeNode, + ConstructSignatureDeclaration, + ContinueStatement, + DebuggerStatement, + Decorator, + DefaultClause, + DefaultKeyword, + DeleteExpression, + DoStatement, + DotDotDotToken, + ElementAccessExpression, + EmptyStatement, + EnumDeclaration, + EnumMember, + EqualsGreaterThanToken, + ExclamationToken, + ExportAssignment, + ExportDeclaration, + ExportKeyword, + ExportSpecifier, + ExpressionStatement, + ExpressionWithTypeArguments, + ExternalModuleReference, + ForInStatement, + ForOfStatement, + ForStatement, + FunctionDeclaration, + FunctionExpression, + FunctionTypeNode, + GetAccessorDeclaration, + HeritageClause, + Identifier, + IfStatement, + ImportAttribute, + ImportAttributes, + ImportClause, + ImportDeclaration, + ImportEqualsDeclaration, + ImportExpression, + ImportSpecifier, + ImportTypeNode, + IndexedAccessTypeNode, + IndexSignatureDeclaration, + InferTypeNode, + InterfaceDeclaration, + IntersectionTypeNode, + JSDoc, + JSDocAllType, + JSDocAugmentsTag, + JSDocCallbackTag, + JSDocDeprecatedTag, + JSDocImplementsTag, + JSDocImportTag, + JSDocLink, + JSDocLinkCode, + JSDocLinkPlain, + JSDocMemberName, + JSDocNameReference, + JSDocNonNullableType, + JSDocNullableType, + JSDocOptionalType, + JSDocOverloadTag, + JSDocOverrideTag, + JSDocParameterTag, + JSDocPrivateTag, + JSDocPropertyTag, + JSDocProtectedTag, + JSDocPublicTag, + JSDocReadonlyTag, + JSDocReturnTag, + JSDocSatisfiesTag, + JSDocSeeTag, + JSDocSignature, + JSDocTemplateTag, + JSDocThisTag, + JSDocTypedefTag, + JSDocTypeExpression, + JSDocTypeLiteral, + JSDocTypeTag, + JSDocUnknownTag, + JSDocVariadicType, + JsxAttribute, + JsxAttributes, + JsxClosingElement, + JsxClosingFragment, + JsxElement, + JsxExpression, + JsxFragment, + JsxNamespacedName, + JsxOpeningElement, + JsxOpeningFragment, + JsxSelfClosingElement, + JsxSpreadAttribute, + JsxText, + LabeledStatement, + LiteralTypeNode, + MappedTypeNode, + MetaProperty, + MethodDeclaration, + MethodSignature, + MinusToken, + ModuleBlock, + ModuleDeclaration, + ModuleExportName, + NamedExports, + NamedImports, + NamedTupleMember, + NamespaceExport, + NamespaceExportDeclaration, + NamespaceImport, + NewExpression, + Node, + NonNullExpression, + NoSubstitutionTemplateLiteral, + NumericLiteral, + ObjectBindingPattern, + ObjectLiteralExpression, + OmittedExpression, + OptionalTypeNode, + OverrideKeyword, + ParameterDeclaration, + ParenthesizedExpression, + ParenthesizedTypeNode, + PartiallyEmittedExpression, + PlusToken, + PostfixUnaryExpression, + PrefixUnaryExpression, + PrivateIdentifier, + PropertyAccessExpression, + PropertyAssignment, + PropertyDeclaration, + PropertySignature, + QualifiedName, + QuestionDotToken, + QuestionToken, + ReadonlyKeyword, + RegularExpressionLiteral, + RestTypeNode, + ReturnStatement, + SatisfiesExpression, + SemicolonClassElement, + SetAccessorDeclaration, + ShorthandPropertyAssignment, + SourceFile, + SpreadAssignment, + SpreadElement, + StaticKeyword, + StringLiteral, + SuperExpression, + SwitchStatement, + TaggedTemplateExpression, + TemplateExpression, + TemplateHead, + TemplateLiteralTypeNode, + TemplateLiteralTypeSpan, + TemplateMiddle, + TemplateSpan, + TemplateTail, + ThisTypeNode, + ThrowStatement, + Token, + TryStatement, + TupleTypeNode, + TypeAliasDeclaration, + TypeAssertion, + TypeLiteralNode, + TypeOfExpression, + TypeOperatorNode, + TypeParameterDeclaration, + TypePredicateNode, + TypeQueryNode, + TypeReferenceNode, + UnionTypeNode, + VariableDeclaration, + VariableDeclarationList, + VariableStatement, + VoidExpression, + WhileStatement, + WithStatement, + YieldExpression, +} from "./nodes.ts"; + +// Literals + +export function isNumericLiteral(node: Node): node is NumericLiteral { + return node.kind === SyntaxKind.NumericLiteral; +} + +export function isBigIntLiteral(node: Node): node is BigIntLiteral { + return node.kind === SyntaxKind.BigIntLiteral; +} + +export function isStringLiteral(node: Node): node is StringLiteral { + return node.kind === SyntaxKind.StringLiteral; +} + +export function isJsxText(node: Node): node is JsxText { + return node.kind === SyntaxKind.JsxText; +} + +export function isRegularExpressionLiteral(node: Node): node is RegularExpressionLiteral { + return node.kind === SyntaxKind.RegularExpressionLiteral; +} + +export function isNoSubstitutionTemplateLiteral(node: Node): node is NoSubstitutionTemplateLiteral { + return node.kind === SyntaxKind.NoSubstitutionTemplateLiteral; +} + +// Pseudo-literals + +export function isTemplateHead(node: Node): node is TemplateHead { + return node.kind === SyntaxKind.TemplateHead; +} + +export function isTemplateMiddle(node: Node): node is TemplateMiddle { + return node.kind === SyntaxKind.TemplateMiddle; +} + +export function isTemplateTail(node: Node): node is TemplateTail { + return node.kind === SyntaxKind.TemplateTail; +} + +// Punctuation + +export function isDotDotDotToken(node: Node): node is DotDotDotToken { + return node.kind === SyntaxKind.DotDotDotToken; +} + +/** @internal */ +export function isCommaToken(node: Node): node is Token { + return node.kind === SyntaxKind.CommaToken; +} + +export function isPlusToken(node: Node): node is PlusToken { + return node.kind === SyntaxKind.PlusToken; +} + +export function isMinusToken(node: Node): node is MinusToken { + return node.kind === SyntaxKind.MinusToken; +} + +export function isAsteriskToken(node: Node): node is AsteriskToken { + return node.kind === SyntaxKind.AsteriskToken; +} + +export function isExclamationToken(node: Node): node is ExclamationToken { + return node.kind === SyntaxKind.ExclamationToken; +} + +export function isQuestionToken(node: Node): node is QuestionToken { + return node.kind === SyntaxKind.QuestionToken; +} + +export function isColonToken(node: Node): node is ColonToken { + return node.kind === SyntaxKind.ColonToken; +} + +export function isQuestionDotToken(node: Node): node is QuestionDotToken { + return node.kind === SyntaxKind.QuestionDotToken; +} + +export function isEqualsGreaterThanToken(node: Node): node is EqualsGreaterThanToken { + return node.kind === SyntaxKind.EqualsGreaterThanToken; +} + +// Identifiers + +export function isIdentifier(node: Node): node is Identifier { + return node.kind === SyntaxKind.Identifier; +} + +export function isPrivateIdentifier(node: Node): node is PrivateIdentifier { + return node.kind === SyntaxKind.PrivateIdentifier; +} + +// Reserved Words + +/** @internal */ +export function isExportModifier(node: Node): node is ExportKeyword { + return node.kind === SyntaxKind.ExportKeyword; +} + +/** @internal */ +export function isDefaultModifier(node: Node): node is DefaultKeyword { + return node.kind === SyntaxKind.DefaultKeyword; +} + +/** @internal */ +export function isAsyncModifier(node: Node): node is AsyncKeyword { + return node.kind === SyntaxKind.AsyncKeyword; +} + +export function isAssertsKeyword(node: Node): node is AssertsKeyword { + return node.kind === SyntaxKind.AssertsKeyword; +} + +export function isAwaitKeyword(node: Node): node is AwaitKeyword { + return node.kind === SyntaxKind.AwaitKeyword; +} + +/** @internal */ +export function isReadonlyKeyword(node: Node): node is ReadonlyKeyword { + return node.kind === SyntaxKind.ReadonlyKeyword; +} + +/** @internal */ +export function isStaticModifier(node: Node): node is StaticKeyword { + return node.kind === SyntaxKind.StaticKeyword; +} + +/** @internal */ +export function isAbstractModifier(node: Node): node is AbstractKeyword { + return node.kind === SyntaxKind.AbstractKeyword; +} + +/** @internal */ +export function isOverrideModifier(node: Node): node is OverrideKeyword { + return node.kind === SyntaxKind.OverrideKeyword; +} + +/** @internal */ +export function isAccessorModifier(node: Node): node is AccessorKeyword { + return node.kind === SyntaxKind.AccessorKeyword; +} + +/** @internal */ +export function isSuperKeyword(node: Node): node is SuperExpression { + return node.kind === SyntaxKind.SuperKeyword; +} + +/** @internal */ +export function isImportKeyword(node: Node): node is ImportExpression { + return node.kind === SyntaxKind.ImportKeyword; +} + +/** @internal */ +export function isCaseKeyword(node: Node): node is CaseKeyword { + return node.kind === SyntaxKind.CaseKeyword; +} + +// Names + +export function isQualifiedName(node: Node): node is QualifiedName { + return node.kind === SyntaxKind.QualifiedName; +} + +export function isComputedPropertyName(node: Node): node is ComputedPropertyName { + return node.kind === SyntaxKind.ComputedPropertyName; +} + +// Signature elements + +export function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration { + return node.kind === SyntaxKind.TypeParameter; +} + +// TODO(rbuckton): Rename to 'isParameterDeclaration' +export function isParameter(node: Node): node is ParameterDeclaration { + return node.kind === SyntaxKind.Parameter; +} + +export function isDecorator(node: Node): node is Decorator { + return node.kind === SyntaxKind.Decorator; +} + +// TypeMember + +export function isPropertySignature(node: Node): node is PropertySignature { + return node.kind === SyntaxKind.PropertySignature; +} + +export function isPropertyDeclaration(node: Node): node is PropertyDeclaration { + return node.kind === SyntaxKind.PropertyDeclaration; +} + +export function isMethodSignature(node: Node): node is MethodSignature { + return node.kind === SyntaxKind.MethodSignature; +} + +export function isMethodDeclaration(node: Node): node is MethodDeclaration { + return node.kind === SyntaxKind.MethodDeclaration; +} + +export function isClassStaticBlockDeclaration(node: Node): node is ClassStaticBlockDeclaration { + return node.kind === SyntaxKind.ClassStaticBlockDeclaration; +} + +export function isConstructorDeclaration(node: Node): node is ConstructorDeclaration { + return node.kind === SyntaxKind.Constructor; +} + +export function isGetAccessorDeclaration(node: Node): node is GetAccessorDeclaration { + return node.kind === SyntaxKind.GetAccessor; +} + +export function isSetAccessorDeclaration(node: Node): node is SetAccessorDeclaration { + return node.kind === SyntaxKind.SetAccessor; +} + +export function isCallSignatureDeclaration(node: Node): node is CallSignatureDeclaration { + return node.kind === SyntaxKind.CallSignature; +} + +export function isConstructSignatureDeclaration(node: Node): node is ConstructSignatureDeclaration { + return node.kind === SyntaxKind.ConstructSignature; +} + +export function isIndexSignatureDeclaration(node: Node): node is IndexSignatureDeclaration { + return node.kind === SyntaxKind.IndexSignature; +} + +// Type + +export function isTypePredicateNode(node: Node): node is TypePredicateNode { + return node.kind === SyntaxKind.TypePredicate; +} + +export function isTypeReferenceNode(node: Node): node is TypeReferenceNode { + return node.kind === SyntaxKind.TypeReference; +} + +export function isFunctionTypeNode(node: Node): node is FunctionTypeNode { + return node.kind === SyntaxKind.FunctionType; +} + +export function isConstructorTypeNode(node: Node): node is ConstructorTypeNode { + return node.kind === SyntaxKind.ConstructorType; +} + +export function isTypeQueryNode(node: Node): node is TypeQueryNode { + return node.kind === SyntaxKind.TypeQuery; +} + +export function isTypeLiteralNode(node: Node): node is TypeLiteralNode { + return node.kind === SyntaxKind.TypeLiteral; +} + +export function isArrayTypeNode(node: Node): node is ArrayTypeNode { + return node.kind === SyntaxKind.ArrayType; +} + +export function isTupleTypeNode(node: Node): node is TupleTypeNode { + return node.kind === SyntaxKind.TupleType; +} + +export function isNamedTupleMember(node: Node): node is NamedTupleMember { + return node.kind === SyntaxKind.NamedTupleMember; +} + +export function isOptionalTypeNode(node: Node): node is OptionalTypeNode { + return node.kind === SyntaxKind.OptionalType; +} + +export function isRestTypeNode(node: Node): node is RestTypeNode { + return node.kind === SyntaxKind.RestType; +} + +export function isUnionTypeNode(node: Node): node is UnionTypeNode { + return node.kind === SyntaxKind.UnionType; +} + +export function isIntersectionTypeNode(node: Node): node is IntersectionTypeNode { + return node.kind === SyntaxKind.IntersectionType; +} + +export function isConditionalTypeNode(node: Node): node is ConditionalTypeNode { + return node.kind === SyntaxKind.ConditionalType; +} + +export function isInferTypeNode(node: Node): node is InferTypeNode { + return node.kind === SyntaxKind.InferType; +} + +export function isParenthesizedTypeNode(node: Node): node is ParenthesizedTypeNode { + return node.kind === SyntaxKind.ParenthesizedType; +} + +export function isThisTypeNode(node: Node): node is ThisTypeNode { + return node.kind === SyntaxKind.ThisType; +} + +export function isTypeOperatorNode(node: Node): node is TypeOperatorNode { + return node.kind === SyntaxKind.TypeOperator; +} + +export function isIndexedAccessTypeNode(node: Node): node is IndexedAccessTypeNode { + return node.kind === SyntaxKind.IndexedAccessType; +} + +export function isMappedTypeNode(node: Node): node is MappedTypeNode { + return node.kind === SyntaxKind.MappedType; +} + +export function isLiteralTypeNode(node: Node): node is LiteralTypeNode { + return node.kind === SyntaxKind.LiteralType; +} + +export function isImportTypeNode(node: Node): node is ImportTypeNode { + return node.kind === SyntaxKind.ImportType; +} + +export function isTemplateLiteralTypeSpan(node: Node): node is TemplateLiteralTypeSpan { + return node.kind === SyntaxKind.TemplateLiteralTypeSpan; +} + +export function isTemplateLiteralTypeNode(node: Node): node is TemplateLiteralTypeNode { + return node.kind === SyntaxKind.TemplateLiteralType; +} + +// Binding patterns + +export function isObjectBindingPattern(node: Node): node is ObjectBindingPattern { + return node.kind === SyntaxKind.ObjectBindingPattern; +} + +export function isArrayBindingPattern(node: Node): node is ArrayBindingPattern { + return node.kind === SyntaxKind.ArrayBindingPattern; +} + +export function isBindingElement(node: Node): node is BindingElement { + return node.kind === SyntaxKind.BindingElement; +} + +// Expression + +export function isArrayLiteralExpression(node: Node): node is ArrayLiteralExpression { + return node.kind === SyntaxKind.ArrayLiteralExpression; +} + +export function isObjectLiteralExpression(node: Node): node is ObjectLiteralExpression { + return node.kind === SyntaxKind.ObjectLiteralExpression; +} + +export function isPropertyAccessExpression(node: Node): node is PropertyAccessExpression { + return node.kind === SyntaxKind.PropertyAccessExpression; +} + +export function isElementAccessExpression(node: Node): node is ElementAccessExpression { + return node.kind === SyntaxKind.ElementAccessExpression; +} + +export function isCallExpression(node: Node): node is CallExpression { + return node.kind === SyntaxKind.CallExpression; +} + +export function isNewExpression(node: Node): node is NewExpression { + return node.kind === SyntaxKind.NewExpression; +} + +export function isTaggedTemplateExpression(node: Node): node is TaggedTemplateExpression { + return node.kind === SyntaxKind.TaggedTemplateExpression; +} + +export function isTypeAssertionExpression(node: Node): node is TypeAssertion { + return node.kind === SyntaxKind.TypeAssertionExpression; +} + +export function isParenthesizedExpression(node: Node): node is ParenthesizedExpression { + return node.kind === SyntaxKind.ParenthesizedExpression; +} + +export function isFunctionExpression(node: Node): node is FunctionExpression { + return node.kind === SyntaxKind.FunctionExpression; +} + +export function isArrowFunction(node: Node): node is ArrowFunction { + return node.kind === SyntaxKind.ArrowFunction; +} + +export function isDeleteExpression(node: Node): node is DeleteExpression { + return node.kind === SyntaxKind.DeleteExpression; +} + +export function isTypeOfExpression(node: Node): node is TypeOfExpression { + return node.kind === SyntaxKind.TypeOfExpression; +} + +export function isVoidExpression(node: Node): node is VoidExpression { + return node.kind === SyntaxKind.VoidExpression; +} + +export function isAwaitExpression(node: Node): node is AwaitExpression { + return node.kind === SyntaxKind.AwaitExpression; +} + +export function isPrefixUnaryExpression(node: Node): node is PrefixUnaryExpression { + return node.kind === SyntaxKind.PrefixUnaryExpression; +} + +export function isPostfixUnaryExpression(node: Node): node is PostfixUnaryExpression { + return node.kind === SyntaxKind.PostfixUnaryExpression; +} + +export function isBinaryExpression(node: Node): node is BinaryExpression { + return node.kind === SyntaxKind.BinaryExpression; +} + +export function isConditionalExpression(node: Node): node is ConditionalExpression { + return node.kind === SyntaxKind.ConditionalExpression; +} + +export function isTemplateExpression(node: Node): node is TemplateExpression { + return node.kind === SyntaxKind.TemplateExpression; +} + +export function isYieldExpression(node: Node): node is YieldExpression { + return node.kind === SyntaxKind.YieldExpression; +} + +export function isSpreadElement(node: Node): node is SpreadElement { + return node.kind === SyntaxKind.SpreadElement; +} + +export function isClassExpression(node: Node): node is ClassExpression { + return node.kind === SyntaxKind.ClassExpression; +} + +export function isOmittedExpression(node: Node): node is OmittedExpression { + return node.kind === SyntaxKind.OmittedExpression; +} + +export function isExpressionWithTypeArguments(node: Node): node is ExpressionWithTypeArguments { + return node.kind === SyntaxKind.ExpressionWithTypeArguments; +} + +export function isAsExpression(node: Node): node is AsExpression { + return node.kind === SyntaxKind.AsExpression; +} + +export function isSatisfiesExpression(node: Node): node is SatisfiesExpression { + return node.kind === SyntaxKind.SatisfiesExpression; +} + +export function isNonNullExpression(node: Node): node is NonNullExpression { + return node.kind === SyntaxKind.NonNullExpression; +} + +export function isMetaProperty(node: Node): node is MetaProperty { + return node.kind === SyntaxKind.MetaProperty; +} + +export function isPartiallyEmittedExpression(node: Node): node is PartiallyEmittedExpression { + return node.kind === SyntaxKind.PartiallyEmittedExpression; +} + +export function isCommaListExpression(node: Node): node is CommaListExpression { + return node.kind === SyntaxKind.CommaListExpression; +} + +// Misc + +export function isTemplateSpan(node: Node): node is TemplateSpan { + return node.kind === SyntaxKind.TemplateSpan; +} + +export function isSemicolonClassElement(node: Node): node is SemicolonClassElement { + return node.kind === SyntaxKind.SemicolonClassElement; +} + +// Elements + +export function isBlock(node: Node): node is Block { + return node.kind === SyntaxKind.Block; +} + +export function isVariableStatement(node: Node): node is VariableStatement { + return node.kind === SyntaxKind.VariableStatement; +} + +export function isEmptyStatement(node: Node): node is EmptyStatement { + return node.kind === SyntaxKind.EmptyStatement; +} + +export function isExpressionStatement(node: Node): node is ExpressionStatement { + return node.kind === SyntaxKind.ExpressionStatement; +} + +export function isIfStatement(node: Node): node is IfStatement { + return node.kind === SyntaxKind.IfStatement; +} + +export function isDoStatement(node: Node): node is DoStatement { + return node.kind === SyntaxKind.DoStatement; +} + +export function isWhileStatement(node: Node): node is WhileStatement { + return node.kind === SyntaxKind.WhileStatement; +} + +export function isForStatement(node: Node): node is ForStatement { + return node.kind === SyntaxKind.ForStatement; +} + +export function isForInStatement(node: Node): node is ForInStatement { + return node.kind === SyntaxKind.ForInStatement; +} + +export function isForOfStatement(node: Node): node is ForOfStatement { + return node.kind === SyntaxKind.ForOfStatement; +} + +export function isContinueStatement(node: Node): node is ContinueStatement { + return node.kind === SyntaxKind.ContinueStatement; +} + +export function isBreakStatement(node: Node): node is BreakStatement { + return node.kind === SyntaxKind.BreakStatement; +} + +export function isReturnStatement(node: Node): node is ReturnStatement { + return node.kind === SyntaxKind.ReturnStatement; +} + +export function isWithStatement(node: Node): node is WithStatement { + return node.kind === SyntaxKind.WithStatement; +} + +export function isSwitchStatement(node: Node): node is SwitchStatement { + return node.kind === SyntaxKind.SwitchStatement; +} + +export function isLabeledStatement(node: Node): node is LabeledStatement { + return node.kind === SyntaxKind.LabeledStatement; +} + +export function isThrowStatement(node: Node): node is ThrowStatement { + return node.kind === SyntaxKind.ThrowStatement; +} + +export function isTryStatement(node: Node): node is TryStatement { + return node.kind === SyntaxKind.TryStatement; +} + +export function isDebuggerStatement(node: Node): node is DebuggerStatement { + return node.kind === SyntaxKind.DebuggerStatement; +} + +export function isVariableDeclaration(node: Node): node is VariableDeclaration { + return node.kind === SyntaxKind.VariableDeclaration; +} + +export function isVariableDeclarationList(node: Node): node is VariableDeclarationList { + return node.kind === SyntaxKind.VariableDeclarationList; +} + +export function isFunctionDeclaration(node: Node): node is FunctionDeclaration { + return node.kind === SyntaxKind.FunctionDeclaration; +} + +export function isClassDeclaration(node: Node): node is ClassDeclaration { + return node.kind === SyntaxKind.ClassDeclaration; +} + +export function isInterfaceDeclaration(node: Node): node is InterfaceDeclaration { + return node.kind === SyntaxKind.InterfaceDeclaration; +} + +export function isTypeAliasDeclaration(node: Node): node is TypeAliasDeclaration { + return node.kind === SyntaxKind.TypeAliasDeclaration; +} + +export function isEnumDeclaration(node: Node): node is EnumDeclaration { + return node.kind === SyntaxKind.EnumDeclaration; +} + +export function isModuleDeclaration(node: Node): node is ModuleDeclaration { + return node.kind === SyntaxKind.ModuleDeclaration; +} + +export function isModuleBlock(node: Node): node is ModuleBlock { + return node.kind === SyntaxKind.ModuleBlock; +} + +export function isCaseBlock(node: Node): node is CaseBlock { + return node.kind === SyntaxKind.CaseBlock; +} + +export function isNamespaceExportDeclaration(node: Node): node is NamespaceExportDeclaration { + return node.kind === SyntaxKind.NamespaceExportDeclaration; +} + +export function isImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration { + return node.kind === SyntaxKind.ImportEqualsDeclaration; +} + +export function isImportDeclaration(node: Node): node is ImportDeclaration { + return node.kind === SyntaxKind.ImportDeclaration; +} + +export function isImportClause(node: Node): node is ImportClause { + return node.kind === SyntaxKind.ImportClause; +} + +export function isImportAttributes(node: Node): node is ImportAttributes { + return node.kind === SyntaxKind.ImportAttributes; +} + +export function isImportAttribute(node: Node): node is ImportAttribute { + return node.kind === SyntaxKind.ImportAttribute; +} + +export function isNamespaceImport(node: Node): node is NamespaceImport { + return node.kind === SyntaxKind.NamespaceImport; +} + +export function isNamespaceExport(node: Node): node is NamespaceExport { + return node.kind === SyntaxKind.NamespaceExport; +} + +export function isNamedImports(node: Node): node is NamedImports { + return node.kind === SyntaxKind.NamedImports; +} + +export function isImportSpecifier(node: Node): node is ImportSpecifier { + return node.kind === SyntaxKind.ImportSpecifier; +} + +export function isExportAssignment(node: Node): node is ExportAssignment { + return node.kind === SyntaxKind.ExportAssignment; +} + +export function isExportDeclaration(node: Node): node is ExportDeclaration { + return node.kind === SyntaxKind.ExportDeclaration; +} + +export function isNamedExports(node: Node): node is NamedExports { + return node.kind === SyntaxKind.NamedExports; +} + +export function isExportSpecifier(node: Node): node is ExportSpecifier { + return node.kind === SyntaxKind.ExportSpecifier; +} + +export function isModuleExportName(node: Node): node is ModuleExportName { + return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral; +} + +// Module References + +export function isExternalModuleReference(node: Node): node is ExternalModuleReference { + return node.kind === SyntaxKind.ExternalModuleReference; +} + +// JSX + +export function isJsxElement(node: Node): node is JsxElement { + return node.kind === SyntaxKind.JsxElement; +} + +export function isJsxSelfClosingElement(node: Node): node is JsxSelfClosingElement { + return node.kind === SyntaxKind.JsxSelfClosingElement; +} + +export function isJsxOpeningElement(node: Node): node is JsxOpeningElement { + return node.kind === SyntaxKind.JsxOpeningElement; +} + +export function isJsxClosingElement(node: Node): node is JsxClosingElement { + return node.kind === SyntaxKind.JsxClosingElement; +} + +export function isJsxFragment(node: Node): node is JsxFragment { + return node.kind === SyntaxKind.JsxFragment; +} + +export function isJsxOpeningFragment(node: Node): node is JsxOpeningFragment { + return node.kind === SyntaxKind.JsxOpeningFragment; +} + +export function isJsxClosingFragment(node: Node): node is JsxClosingFragment { + return node.kind === SyntaxKind.JsxClosingFragment; +} + +export function isJsxAttribute(node: Node): node is JsxAttribute { + return node.kind === SyntaxKind.JsxAttribute; +} + +export function isJsxAttributes(node: Node): node is JsxAttributes { + return node.kind === SyntaxKind.JsxAttributes; +} + +export function isJsxSpreadAttribute(node: Node): node is JsxSpreadAttribute { + return node.kind === SyntaxKind.JsxSpreadAttribute; +} + +export function isJsxExpression(node: Node): node is JsxExpression { + return node.kind === SyntaxKind.JsxExpression; +} + +export function isJsxNamespacedName(node: Node): node is JsxNamespacedName { + return node.kind === SyntaxKind.JsxNamespacedName; +} + +// Clauses + +export function isCaseClause(node: Node): node is CaseClause { + return node.kind === SyntaxKind.CaseClause; +} + +export function isDefaultClause(node: Node): node is DefaultClause { + return node.kind === SyntaxKind.DefaultClause; +} + +export function isHeritageClause(node: Node): node is HeritageClause { + return node.kind === SyntaxKind.HeritageClause; +} + +export function isCatchClause(node: Node): node is CatchClause { + return node.kind === SyntaxKind.CatchClause; +} + +// Property assignments + +export function isPropertyAssignment(node: Node): node is PropertyAssignment { + return node.kind === SyntaxKind.PropertyAssignment; +} + +export function isShorthandPropertyAssignment(node: Node): node is ShorthandPropertyAssignment { + return node.kind === SyntaxKind.ShorthandPropertyAssignment; +} + +export function isSpreadAssignment(node: Node): node is SpreadAssignment { + return node.kind === SyntaxKind.SpreadAssignment; +} + +// Enum + +export function isEnumMember(node: Node): node is EnumMember { + return node.kind === SyntaxKind.EnumMember; +} + +// Top-level nodes +export function isSourceFile(node: Node): node is SourceFile { + return node.kind === SyntaxKind.SourceFile; +} + +// TODO(rbuckton): isInputFiles + +// JSDoc Elements + +export function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression { + return node.kind === SyntaxKind.JSDocTypeExpression; +} + +export function isJSDocNameReference(node: Node): node is JSDocNameReference { + return node.kind === SyntaxKind.JSDocNameReference; +} + +export function isJSDocMemberName(node: Node): node is JSDocMemberName { + return node.kind === SyntaxKind.JSDocMemberName; +} + +export function isJSDocLink(node: Node): node is JSDocLink { + return node.kind === SyntaxKind.JSDocLink; +} + +export function isJSDocLinkCode(node: Node): node is JSDocLinkCode { + return node.kind === SyntaxKind.JSDocLinkCode; +} + +export function isJSDocLinkPlain(node: Node): node is JSDocLinkPlain { + return node.kind === SyntaxKind.JSDocLinkPlain; +} + +export function isJSDocAllType(node: Node): node is JSDocAllType { + return node.kind === SyntaxKind.JSDocAllType; +} + +export function isJSDocNullableType(node: Node): node is JSDocNullableType { + return node.kind === SyntaxKind.JSDocNullableType; +} + +export function isJSDocNonNullableType(node: Node): node is JSDocNonNullableType { + return node.kind === SyntaxKind.JSDocNonNullableType; +} + +export function isJSDocOptionalType(node: Node): node is JSDocOptionalType { + return node.kind === SyntaxKind.JSDocOptionalType; +} + +export function isJSDocVariadicType(node: Node): node is JSDocVariadicType { + return node.kind === SyntaxKind.JSDocVariadicType; +} + +export function isJSDoc(node: Node): node is JSDoc { + return node.kind === SyntaxKind.JSDoc; +} + +export function isJSDocTypeLiteral(node: Node): node is JSDocTypeLiteral { + return node.kind === SyntaxKind.JSDocTypeLiteral; +} + +export function isJSDocSignature(node: Node): node is JSDocSignature { + return node.kind === SyntaxKind.JSDocSignature; +} + +// JSDoc Tags + +export function isJSDocAugmentsTag(node: Node): node is JSDocAugmentsTag { + return node.kind === SyntaxKind.JSDocAugmentsTag; +} + +export function isJSDocCallbackTag(node: Node): node is JSDocCallbackTag { + return node.kind === SyntaxKind.JSDocCallbackTag; +} + +export function isJSDocPublicTag(node: Node): node is JSDocPublicTag { + return node.kind === SyntaxKind.JSDocPublicTag; +} + +export function isJSDocPrivateTag(node: Node): node is JSDocPrivateTag { + return node.kind === SyntaxKind.JSDocPrivateTag; +} + +export function isJSDocProtectedTag(node: Node): node is JSDocProtectedTag { + return node.kind === SyntaxKind.JSDocProtectedTag; +} + +export function isJSDocReadonlyTag(node: Node): node is JSDocReadonlyTag { + return node.kind === SyntaxKind.JSDocReadonlyTag; +} + +export function isJSDocOverrideTag(node: Node): node is JSDocOverrideTag { + return node.kind === SyntaxKind.JSDocOverrideTag; +} + +export function isJSDocOverloadTag(node: Node): node is JSDocOverloadTag { + return node.kind === SyntaxKind.JSDocOverloadTag; +} + +export function isJSDocDeprecatedTag(node: Node): node is JSDocDeprecatedTag { + return node.kind === SyntaxKind.JSDocDeprecatedTag; +} + +export function isJSDocSeeTag(node: Node): node is JSDocSeeTag { + return node.kind === SyntaxKind.JSDocSeeTag; +} + +export function isJSDocParameterTag(node: Node): node is JSDocParameterTag { + return node.kind === SyntaxKind.JSDocParameterTag; +} + +export function isJSDocReturnTag(node: Node): node is JSDocReturnTag { + return node.kind === SyntaxKind.JSDocReturnTag; +} + +export function isJSDocThisTag(node: Node): node is JSDocThisTag { + return node.kind === SyntaxKind.JSDocThisTag; +} + +export function isJSDocTypeTag(node: Node): node is JSDocTypeTag { + return node.kind === SyntaxKind.JSDocTypeTag; +} + +export function isJSDocTemplateTag(node: Node): node is JSDocTemplateTag { + return node.kind === SyntaxKind.JSDocTemplateTag; +} + +export function isJSDocTypedefTag(node: Node): node is JSDocTypedefTag { + return node.kind === SyntaxKind.JSDocTypedefTag; +} + +export function isJSDocUnknownTag(node: Node): node is JSDocUnknownTag { + return node.kind === SyntaxKind.JSDocTag; +} + +export function isJSDocPropertyTag(node: Node): node is JSDocPropertyTag { + return node.kind === SyntaxKind.JSDocPropertyTag; +} + +export function isJSDocImplementsTag(node: Node): node is JSDocImplementsTag { + return node.kind === SyntaxKind.JSDocImplementsTag; +} + +export function isJSDocSatisfiesTag(node: Node): node is JSDocSatisfiesTag { + return node.kind === SyntaxKind.JSDocSatisfiesTag; +} + +export function isJSDocImportTag(node: Node): node is JSDocImportTag { + return node.kind === SyntaxKind.JSDocImportTag; +} diff --git a/_packages/ast/src/nodes.ts b/_packages/ast/src/nodes.ts index 2ade6d2dc3..a265f5545e 100644 --- a/_packages/ast/src/nodes.ts +++ b/_packages/ast/src/nodes.ts @@ -1,2414 +1,2414 @@ -import { SyntaxKind } from "#syntaxKind"; -import { TokenFlags } from "#tokenFlags"; - -export interface TextRange { - pos: number; - end: number; -} - -export interface Node extends ReadonlyTextRange { - readonly kind: SyntaxKind; - readonly parent: Node; -} - -export interface SourceFile extends Node { - readonly kind: SyntaxKind.SourceFile; - readonly statements: NodeArray; - readonly text: string; - readonly fileName: string; -} - -export type TriviaSyntaxKind = - | SyntaxKind.SingleLineCommentTrivia - | SyntaxKind.MultiLineCommentTrivia - | SyntaxKind.NewLineTrivia - | SyntaxKind.WhitespaceTrivia - | SyntaxKind.ConflictMarkerTrivia; - -export type LiteralSyntaxKind = - | SyntaxKind.NumericLiteral - | SyntaxKind.BigIntLiteral - | SyntaxKind.StringLiteral - | SyntaxKind.JsxText - | SyntaxKind.JsxTextAllWhiteSpaces - | SyntaxKind.RegularExpressionLiteral - | SyntaxKind.NoSubstitutionTemplateLiteral; - -export type PseudoLiteralSyntaxKind = - | SyntaxKind.TemplateHead - | SyntaxKind.TemplateMiddle - | SyntaxKind.TemplateTail; - -export type PunctuationSyntaxKind = - | SyntaxKind.OpenBraceToken - | SyntaxKind.CloseBraceToken - | SyntaxKind.OpenParenToken - | SyntaxKind.CloseParenToken - | SyntaxKind.OpenBracketToken - | SyntaxKind.CloseBracketToken - | SyntaxKind.DotToken - | SyntaxKind.DotDotDotToken - | SyntaxKind.SemicolonToken - | SyntaxKind.CommaToken - | SyntaxKind.QuestionDotToken - | SyntaxKind.LessThanToken - | SyntaxKind.LessThanSlashToken - | SyntaxKind.GreaterThanToken - | SyntaxKind.LessThanEqualsToken - | SyntaxKind.GreaterThanEqualsToken - | SyntaxKind.EqualsEqualsToken - | SyntaxKind.ExclamationEqualsToken - | SyntaxKind.EqualsEqualsEqualsToken - | SyntaxKind.ExclamationEqualsEqualsToken - | SyntaxKind.EqualsGreaterThanToken - | SyntaxKind.PlusToken - | SyntaxKind.MinusToken - | SyntaxKind.AsteriskToken - | SyntaxKind.AsteriskAsteriskToken - | SyntaxKind.SlashToken - | SyntaxKind.PercentToken - | SyntaxKind.PlusPlusToken - | SyntaxKind.MinusMinusToken - | SyntaxKind.LessThanLessThanToken - | SyntaxKind.GreaterThanGreaterThanToken - | SyntaxKind.GreaterThanGreaterThanGreaterThanToken - | SyntaxKind.AmpersandToken - | SyntaxKind.BarToken - | SyntaxKind.CaretToken - | SyntaxKind.ExclamationToken - | SyntaxKind.TildeToken - | SyntaxKind.AmpersandAmpersandToken - | SyntaxKind.AmpersandAmpersandEqualsToken - | SyntaxKind.BarBarToken - | SyntaxKind.BarBarEqualsToken - | SyntaxKind.QuestionQuestionToken - | SyntaxKind.QuestionQuestionEqualsToken - | SyntaxKind.QuestionToken - | SyntaxKind.ColonToken - | SyntaxKind.AtToken - | SyntaxKind.BacktickToken - | SyntaxKind.HashToken - | SyntaxKind.EqualsToken - | SyntaxKind.PlusEqualsToken - | SyntaxKind.MinusEqualsToken - | SyntaxKind.AsteriskEqualsToken - | SyntaxKind.AsteriskAsteriskEqualsToken - | SyntaxKind.SlashEqualsToken - | SyntaxKind.PercentEqualsToken - | SyntaxKind.LessThanLessThanEqualsToken - | SyntaxKind.GreaterThanGreaterThanEqualsToken - | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken - | SyntaxKind.AmpersandEqualsToken - | SyntaxKind.BarEqualsToken - | SyntaxKind.CaretEqualsToken; - -export type KeywordSyntaxKind = - | SyntaxKind.AbstractKeyword - | SyntaxKind.AccessorKeyword - | SyntaxKind.AnyKeyword - | SyntaxKind.AsKeyword - | SyntaxKind.AssertsKeyword - | SyntaxKind.AssertKeyword - | SyntaxKind.AsyncKeyword - | SyntaxKind.AwaitKeyword - | SyntaxKind.BigIntKeyword - | SyntaxKind.BooleanKeyword - | SyntaxKind.BreakKeyword - | SyntaxKind.CaseKeyword - | SyntaxKind.CatchKeyword - | SyntaxKind.ClassKeyword - | SyntaxKind.ConstKeyword - | SyntaxKind.ConstructorKeyword - | SyntaxKind.ContinueKeyword - | SyntaxKind.DebuggerKeyword - | SyntaxKind.DeclareKeyword - | SyntaxKind.DefaultKeyword - | SyntaxKind.DeleteKeyword - | SyntaxKind.DoKeyword - | SyntaxKind.ElseKeyword - | SyntaxKind.EnumKeyword - | SyntaxKind.ExportKeyword - | SyntaxKind.ExtendsKeyword - | SyntaxKind.FalseKeyword - | SyntaxKind.FinallyKeyword - | SyntaxKind.ForKeyword - | SyntaxKind.FromKeyword - | SyntaxKind.FunctionKeyword - | SyntaxKind.GetKeyword - | SyntaxKind.GlobalKeyword - | SyntaxKind.IfKeyword - | SyntaxKind.ImplementsKeyword - | SyntaxKind.ImportKeyword - | SyntaxKind.InferKeyword - | SyntaxKind.InKeyword - | SyntaxKind.InstanceOfKeyword - | SyntaxKind.InterfaceKeyword - | SyntaxKind.IntrinsicKeyword - | SyntaxKind.IsKeyword - | SyntaxKind.KeyOfKeyword - | SyntaxKind.LetKeyword - | SyntaxKind.ModuleKeyword - | SyntaxKind.NamespaceKeyword - | SyntaxKind.NeverKeyword - | SyntaxKind.NewKeyword - | SyntaxKind.NullKeyword - | SyntaxKind.NumberKeyword - | SyntaxKind.ObjectKeyword - | SyntaxKind.OfKeyword - | SyntaxKind.PackageKeyword - | SyntaxKind.PrivateKeyword - | SyntaxKind.ProtectedKeyword - | SyntaxKind.PublicKeyword - | SyntaxKind.ReadonlyKeyword - | SyntaxKind.OutKeyword - | SyntaxKind.OverrideKeyword - | SyntaxKind.RequireKeyword - | SyntaxKind.ReturnKeyword - | SyntaxKind.SatisfiesKeyword - | SyntaxKind.SetKeyword - | SyntaxKind.StaticKeyword - | SyntaxKind.StringKeyword - | SyntaxKind.SuperKeyword - | SyntaxKind.SwitchKeyword - | SyntaxKind.SymbolKeyword - | SyntaxKind.ThisKeyword - | SyntaxKind.ThrowKeyword - | SyntaxKind.TrueKeyword - | SyntaxKind.TryKeyword - | SyntaxKind.TypeKeyword - | SyntaxKind.TypeOfKeyword - | SyntaxKind.UndefinedKeyword - | SyntaxKind.UniqueKeyword - | SyntaxKind.UnknownKeyword - | SyntaxKind.UsingKeyword - | SyntaxKind.VarKeyword - | SyntaxKind.VoidKeyword - | SyntaxKind.WhileKeyword - | SyntaxKind.WithKeyword - | SyntaxKind.YieldKeyword; - -export type ModifierSyntaxKind = - | SyntaxKind.AbstractKeyword - | SyntaxKind.AccessorKeyword - | SyntaxKind.AsyncKeyword - | SyntaxKind.ConstKeyword - | SyntaxKind.DeclareKeyword - | SyntaxKind.DefaultKeyword - | SyntaxKind.ExportKeyword - | SyntaxKind.InKeyword - | SyntaxKind.PrivateKeyword - | SyntaxKind.ProtectedKeyword - | SyntaxKind.PublicKeyword - | SyntaxKind.ReadonlyKeyword - | SyntaxKind.OutKeyword - | SyntaxKind.OverrideKeyword - | SyntaxKind.StaticKeyword; - -export type KeywordTypeSyntaxKind = - | SyntaxKind.AnyKeyword - | SyntaxKind.BigIntKeyword - | SyntaxKind.BooleanKeyword - | SyntaxKind.IntrinsicKeyword - | SyntaxKind.NeverKeyword - | SyntaxKind.NumberKeyword - | SyntaxKind.ObjectKeyword - | SyntaxKind.StringKeyword - | SyntaxKind.SymbolKeyword - | SyntaxKind.UndefinedKeyword - | SyntaxKind.UnknownKeyword - | SyntaxKind.VoidKeyword; - -export type TokenSyntaxKind = - | SyntaxKind.Unknown - | SyntaxKind.EndOfFile - | TriviaSyntaxKind - | LiteralSyntaxKind - | PseudoLiteralSyntaxKind - | PunctuationSyntaxKind - | SyntaxKind.Identifier - | KeywordSyntaxKind; - -export type JsxTokenSyntaxKind = - | SyntaxKind.LessThanSlashToken - | SyntaxKind.EndOfFile - | SyntaxKind.ConflictMarkerTrivia - | SyntaxKind.JsxText - | SyntaxKind.JsxTextAllWhiteSpaces - | SyntaxKind.OpenBraceToken - | SyntaxKind.LessThanToken; - -export type JSDocSyntaxKind = - | SyntaxKind.EndOfFile - | SyntaxKind.WhitespaceTrivia - | SyntaxKind.AtToken - | SyntaxKind.NewLineTrivia - | SyntaxKind.AsteriskToken - | SyntaxKind.OpenBraceToken - | SyntaxKind.CloseBraceToken - | SyntaxKind.LessThanToken - | SyntaxKind.GreaterThanToken - | SyntaxKind.OpenBracketToken - | SyntaxKind.CloseBracketToken - | SyntaxKind.OpenParenToken - | SyntaxKind.CloseParenToken - | SyntaxKind.EqualsToken - | SyntaxKind.CommaToken - | SyntaxKind.DotToken - | SyntaxKind.Identifier - | SyntaxKind.BacktickToken - | SyntaxKind.HashToken - | SyntaxKind.Unknown - | KeywordSyntaxKind; - -export interface ReadonlyTextRange { - readonly pos: number; - readonly end: number; -} - -export interface NodeArray extends ReadonlyTextRange, ReadonlyArray { - readonly length: number; - readonly pos: number; - readonly end: number; -} - -// TODO(rbuckton): Constraint 'TKind' to 'TokenSyntaxKind' -export interface Token extends Node { - readonly kind: TKind; -} - -export type EndOfFile = Token; - -// Punctuation -export interface PunctuationToken extends Token { -} - -export type DotToken = PunctuationToken; -export type DotDotDotToken = PunctuationToken; -export type QuestionToken = PunctuationToken; -export type ExclamationToken = PunctuationToken; -export type ColonToken = PunctuationToken; -export type EqualsToken = PunctuationToken; -export type AmpersandAmpersandEqualsToken = PunctuationToken; -export type BarBarEqualsToken = PunctuationToken; -export type QuestionQuestionEqualsToken = PunctuationToken; -export type AsteriskToken = PunctuationToken; -export type EqualsGreaterThanToken = PunctuationToken; -export type PlusToken = PunctuationToken; -export type MinusToken = PunctuationToken; -export type QuestionDotToken = PunctuationToken; - -// Keywords -export interface KeywordToken extends Token { -} - -export type AssertsKeyword = KeywordToken; -export type AssertKeyword = KeywordToken; -export type AwaitKeyword = KeywordToken; -export type CaseKeyword = KeywordToken; - -export interface ModifierToken extends KeywordToken { -} - -export type AbstractKeyword = ModifierToken; -export type AccessorKeyword = ModifierToken; -export type AsyncKeyword = ModifierToken; -export type ConstKeyword = ModifierToken; -export type DeclareKeyword = ModifierToken; -export type DefaultKeyword = ModifierToken; -export type ExportKeyword = ModifierToken; -export type InKeyword = ModifierToken; -export type PrivateKeyword = ModifierToken; -export type ProtectedKeyword = ModifierToken; -export type PublicKeyword = ModifierToken; -export type ReadonlyKeyword = ModifierToken; -export type OutKeyword = ModifierToken; -export type OverrideKeyword = ModifierToken; -export type StaticKeyword = ModifierToken; - -export type Modifier = - | AbstractKeyword - | AccessorKeyword - | AsyncKeyword - | ConstKeyword - | DeclareKeyword - | DefaultKeyword - | ExportKeyword - | InKeyword - | PrivateKeyword - | ProtectedKeyword - | PublicKeyword - | OutKeyword - | OverrideKeyword - | ReadonlyKeyword - | StaticKeyword; - -export type ModifierLike = Modifier | Decorator; - -export type AccessibilityModifier = - | PublicKeyword - | PrivateKeyword - | ProtectedKeyword; - -export type ParameterPropertyModifier = - | AccessibilityModifier - | ReadonlyKeyword; - -export type ClassMemberModifier = - | AccessibilityModifier - | ReadonlyKeyword - | StaticKeyword - | AccessorKeyword; - -export type ModifiersArray = NodeArray; - -export interface Identifier extends PrimaryExpression, Declaration { - readonly kind: SyntaxKind.Identifier; - /** - * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) - * Text of identifier, but if the identifier begins with two underscores, this will begin with three. - */ - readonly text: string; -} - -export interface QualifiedName extends Node { - readonly kind: SyntaxKind.QualifiedName; - readonly left: EntityName; - readonly right: Identifier; -} - -export type EntityName = Identifier | QualifiedName; - -export type PropertyName = - | Identifier - | StringLiteral - | NoSubstitutionTemplateLiteral - | NumericLiteral - | ComputedPropertyName - | PrivateIdentifier - | BigIntLiteral; - -export type MemberName = Identifier | PrivateIdentifier; - -export type DeclarationName = - | PropertyName - | JsxAttributeName - | StringLiteralLike - | ElementAccessExpression - | BindingPattern - | EntityNameExpression; - -export interface Declaration extends Node { -} - -export interface NamedDeclaration extends Declaration { - readonly name?: DeclarationName; -} - -export interface DeclarationStatement extends NamedDeclaration, Statement { - readonly name?: Identifier | StringLiteral | NumericLiteral; -} - -export interface ComputedPropertyName extends Node { - readonly kind: SyntaxKind.ComputedPropertyName; - readonly parent: Declaration; - readonly expression: Expression; -} - -// Typed as a PrimaryExpression due to its presence in BinaryExpressions (#field in expr) -export interface PrivateIdentifier extends PrimaryExpression { - readonly kind: SyntaxKind.PrivateIdentifier; - // escaping not strictly necessary - // avoids gotchas in transforms and utils - readonly escapedText: string; -} - -export interface Decorator extends Node { - readonly kind: SyntaxKind.Decorator; - readonly parent: NamedDeclaration; - readonly expression: LeftHandSideExpression; -} - -export interface TypeParameterDeclaration extends NamedDeclaration { - readonly kind: SyntaxKind.TypeParameter; - readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode; - readonly modifiers?: NodeArray; - readonly name: Identifier; - /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ - readonly constraint?: TypeNode; - readonly default?: TypeNode; - - // For error recovery purposes (see `isGrammarError` in utilities.ts). - expression?: Expression; -} - -export interface SignatureDeclarationBase extends NamedDeclaration { - readonly kind: SignatureDeclaration["kind"]; - readonly name?: PropertyName; - readonly typeParameters?: NodeArray | undefined; - readonly parameters: NodeArray; - readonly type?: TypeNode | undefined; -} - -export type SignatureDeclaration = - | CallSignatureDeclaration - | ConstructSignatureDeclaration - | MethodSignature - | IndexSignatureDeclaration - | FunctionTypeNode - | ConstructorTypeNode - | FunctionDeclaration - | MethodDeclaration - | ConstructorDeclaration - | AccessorDeclaration - | FunctionExpression - | ArrowFunction; - -export interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { - readonly kind: SyntaxKind.CallSignature; -} - -export interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { - readonly kind: SyntaxKind.ConstructSignature; -} - -export type BindingName = Identifier | BindingPattern; - -// dprint-ignore -export interface VariableDeclaration extends NamedDeclaration { - readonly kind: SyntaxKind.VariableDeclaration; - readonly parent: VariableDeclarationList | CatchClause; - readonly name: BindingName; // Declared variable name - readonly exclamationToken?: ExclamationToken; // Optional definite assignment assertion - readonly type?: TypeNode; // Optional type annotation - readonly initializer?: Expression; // Optional initializer -} - -export interface VariableDeclarationList extends Node { - readonly kind: SyntaxKind.VariableDeclarationList; - readonly parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; - readonly declarations: NodeArray; -} - -// dprint-ignore -export interface ParameterDeclaration extends NamedDeclaration { - readonly kind: SyntaxKind.Parameter; - readonly parent: SignatureDeclaration; - readonly modifiers?: NodeArray; - readonly dotDotDotToken?: DotDotDotToken; // Present on rest parameter - readonly name: BindingName; // Declared parameter name. - readonly questionToken?: QuestionToken; // Present on optional parameter - readonly type?: TypeNode; // Optional type annotation - readonly initializer?: Expression; // Optional initializer -} - -// dprint-ignore -export interface BindingElement extends NamedDeclaration { - readonly kind: SyntaxKind.BindingElement; - readonly parent: BindingPattern; - readonly propertyName?: PropertyName; // Binding property name (in object binding pattern) - readonly dotDotDotToken?: DotDotDotToken; // Present on rest element (in object binding pattern) - readonly name: BindingName; // Declared binding element name - readonly initializer?: Expression; // Optional initializer -} - -// dprint-ignore -export interface PropertySignature extends TypeElement { - readonly kind: SyntaxKind.PropertySignature; - readonly parent: TypeLiteralNode | InterfaceDeclaration; - readonly modifiers?: NodeArray; - readonly name: PropertyName; // Declared property name - readonly questionToken?: QuestionToken; // Present on optional property - readonly type?: TypeNode; // Optional type annotation -} - -// dprint-ignore -export interface PropertyDeclaration extends ClassElement { - readonly kind: SyntaxKind.PropertyDeclaration; - readonly parent: ClassLikeDeclaration; - readonly modifiers?: NodeArray; - readonly name: PropertyName; - readonly questionToken?: QuestionToken; // Present for use with reporting a grammar error for auto-accessors (see `isGrammarError` in utilities.ts) - readonly exclamationToken?: ExclamationToken; - readonly type?: TypeNode; - readonly initializer?: Expression; // Optional initializer -} - -export interface AutoAccessorPropertyDeclaration extends PropertyDeclaration { - _autoAccessorBrand: any; -} - -export interface ObjectLiteralElement extends NamedDeclaration { - _objectLiteralBrand: any; - readonly name?: PropertyName; -} - -/** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ -export type ObjectLiteralElementLike = - | PropertyAssignment - | ShorthandPropertyAssignment - | SpreadAssignment - | MethodDeclaration - | AccessorDeclaration; - -export interface PropertyAssignment extends ObjectLiteralElement { - readonly kind: SyntaxKind.PropertyAssignment; - readonly parent: ObjectLiteralExpression; - readonly name: PropertyName; - readonly initializer: Expression; -} - -export interface ShorthandPropertyAssignment extends ObjectLiteralElement { - readonly kind: SyntaxKind.ShorthandPropertyAssignment; - readonly parent: ObjectLiteralExpression; - readonly name: Identifier; - // used when ObjectLiteralExpression is used in ObjectAssignmentPattern - // it is a grammar error to appear in actual object initializer (see `isGrammarError` in utilities.ts): - readonly equalsToken?: EqualsToken; - readonly objectAssignmentInitializer?: Expression; -} - -export interface SpreadAssignment extends ObjectLiteralElement { - readonly kind: SyntaxKind.SpreadAssignment; - readonly parent: ObjectLiteralExpression; - readonly expression: Expression; -} - -export type VariableLikeDeclaration = - | VariableDeclaration - | ParameterDeclaration - | BindingElement - | PropertyDeclaration - | PropertyAssignment - | PropertySignature - | JsxAttribute - | ShorthandPropertyAssignment - | EnumMember - | JSDocPropertyTag - | JSDocParameterTag; - -export interface ObjectBindingPattern extends Node { - readonly kind: SyntaxKind.ObjectBindingPattern; - readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement; - readonly elements: NodeArray; -} - -export interface ArrayBindingPattern extends Node { - readonly kind: SyntaxKind.ArrayBindingPattern; - readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement; - readonly elements: NodeArray; -} - -export type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; - -export type ArrayBindingElement = BindingElement | OmittedExpression; - -/** - * Several node kinds share function-like features such as a signature, - * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. - * Examples: - * - FunctionDeclaration - * - MethodDeclaration - * - AccessorDeclaration - */ -export interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { - _functionLikeDeclarationBrand: any; - - readonly asteriskToken?: AsteriskToken | undefined; - readonly questionToken?: QuestionToken | undefined; - readonly exclamationToken?: ExclamationToken | undefined; - readonly body?: Block | Expression | undefined; -} - -export type FunctionLikeDeclaration = - | FunctionDeclaration - | MethodDeclaration - | GetAccessorDeclaration - | SetAccessorDeclaration - | ConstructorDeclaration - | FunctionExpression - | ArrowFunction; -/** @deprecated Use SignatureDeclaration */ -export type FunctionLike = SignatureDeclaration; - -export interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { - readonly kind: SyntaxKind.FunctionDeclaration; - readonly modifiers?: NodeArray; - readonly name?: Identifier; - readonly body?: FunctionBody; -} - -export interface MethodSignature extends SignatureDeclarationBase, TypeElement { - readonly kind: SyntaxKind.MethodSignature; - readonly parent: TypeLiteralNode | InterfaceDeclaration; - readonly modifiers?: NodeArray; - readonly name: PropertyName; -} - -// Note that a MethodDeclaration is considered both a ClassElement and an ObjectLiteralElement. -// Both the grammars for ClassDeclaration and ObjectLiteralExpression allow for MethodDeclarations -// as child elements, and so a MethodDeclaration satisfies both interfaces. This avoids the -// alternative where we would need separate kinds/types for ClassMethodDeclaration and -// ObjectLiteralMethodDeclaration, which would look identical. -// -// Because of this, it may be necessary to determine what sort of MethodDeclaration you have -// at later stages of the compiler pipeline. In that case, you can either check the parent kind -// of the method, or use helpers like isObjectLiteralMethodDeclaration -export interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement { - readonly kind: SyntaxKind.MethodDeclaration; - readonly parent: ClassLikeDeclaration | ObjectLiteralExpression; - readonly modifiers?: NodeArray | undefined; - readonly name: PropertyName; - readonly body?: FunctionBody | undefined; -} - -export interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement { - readonly kind: SyntaxKind.Constructor; - readonly parent: ClassLikeDeclaration; - readonly modifiers?: NodeArray | undefined; - readonly body?: FunctionBody | undefined; -} - -/** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ -export interface SemicolonClassElement extends ClassElement { - readonly kind: SyntaxKind.SemicolonClassElement; - readonly parent: ClassLikeDeclaration; -} - -// See the comment on MethodDeclaration for the intuition behind GetAccessorDeclaration being a -// ClassElement and an ObjectLiteralElement. -export interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement { - readonly kind: SyntaxKind.GetAccessor; - readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration; - readonly modifiers?: NodeArray; - readonly name: PropertyName; - readonly body?: FunctionBody; -} - -// See the comment on MethodDeclaration for the intuition behind SetAccessorDeclaration being a -// ClassElement and an ObjectLiteralElement. -export interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement { - readonly kind: SyntaxKind.SetAccessor; - readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration; - readonly modifiers?: NodeArray; - readonly name: PropertyName; - readonly body?: FunctionBody; -} - -export type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; - -export interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { - readonly kind: SyntaxKind.IndexSignature; - readonly parent: ObjectTypeDeclaration; - readonly modifiers?: NodeArray; - readonly type: TypeNode; -} - -export interface ClassStaticBlockDeclaration extends ClassElement { - readonly kind: SyntaxKind.ClassStaticBlockDeclaration; - readonly parent: ClassDeclaration | ClassExpression; - readonly body: Block; -} - -export interface TypeNode extends Node { - _typeNodeBrand: any; -} - -export interface KeywordTypeNode extends KeywordToken, TypeNode { - readonly kind: TKind; -} - -export interface ImportTypeNode extends NodeWithTypeArguments { - readonly kind: SyntaxKind.ImportType; - readonly isTypeOf: boolean; - readonly argument: TypeNode; - readonly attributes?: ImportAttributes; - readonly qualifier?: EntityName; -} - -export interface ThisTypeNode extends TypeNode { - readonly kind: SyntaxKind.ThisType; -} - -export type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; - -export interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { - readonly kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; - readonly type: TypeNode; -} - -export interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { - readonly kind: SyntaxKind.FunctionType; -} - -export interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { - readonly kind: SyntaxKind.ConstructorType; - readonly modifiers?: NodeArray; -} - -export interface NodeWithTypeArguments extends TypeNode { - readonly typeArguments?: NodeArray; -} - -export type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; - -export interface TypeReferenceNode extends NodeWithTypeArguments { - readonly kind: SyntaxKind.TypeReference; - readonly typeName: EntityName; -} - -export interface TypePredicateNode extends TypeNode { - readonly kind: SyntaxKind.TypePredicate; - readonly parent: SignatureDeclaration | JSDocTypeExpression; - readonly assertsModifier?: AssertsKeyword; - readonly parameterName: Identifier | ThisTypeNode; - readonly type?: TypeNode; -} - -export interface TypeQueryNode extends NodeWithTypeArguments { - readonly kind: SyntaxKind.TypeQuery; - readonly exprName: EntityName; -} - -// A TypeLiteral is the declaration node for an anonymous symbol. -export interface TypeLiteralNode extends TypeNode, Declaration { - readonly kind: SyntaxKind.TypeLiteral; - readonly members: NodeArray; -} - -export interface ArrayTypeNode extends TypeNode { - readonly kind: SyntaxKind.ArrayType; - readonly elementType: TypeNode; -} - -export interface TupleTypeNode extends TypeNode { - readonly kind: SyntaxKind.TupleType; - readonly elements: NodeArray; -} - -export interface NamedTupleMember extends TypeNode, Declaration { - readonly kind: SyntaxKind.NamedTupleMember; - readonly dotDotDotToken?: Token; - readonly name: Identifier; - readonly questionToken?: Token; - readonly type: TypeNode; -} - -export interface OptionalTypeNode extends TypeNode { - readonly kind: SyntaxKind.OptionalType; - readonly type: TypeNode; -} - -export interface RestTypeNode extends TypeNode { - readonly kind: SyntaxKind.RestType; - readonly type: TypeNode; -} - -export type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; - -export interface UnionTypeNode extends TypeNode { - readonly kind: SyntaxKind.UnionType; - readonly types: NodeArray; -} - -export interface IntersectionTypeNode extends TypeNode { - readonly kind: SyntaxKind.IntersectionType; - readonly types: NodeArray; -} - -export interface ConditionalTypeNode extends TypeNode { - readonly kind: SyntaxKind.ConditionalType; - readonly checkType: TypeNode; - readonly extendsType: TypeNode; - readonly trueType: TypeNode; - readonly falseType: TypeNode; -} - -export interface InferTypeNode extends TypeNode { - readonly kind: SyntaxKind.InferType; - readonly typeParameter: TypeParameterDeclaration; -} - -export interface ParenthesizedTypeNode extends TypeNode { - readonly kind: SyntaxKind.ParenthesizedType; - readonly type: TypeNode; -} - -export interface TypeOperatorNode extends TypeNode { - readonly kind: SyntaxKind.TypeOperator; - readonly operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.ReadonlyKeyword; - readonly type: TypeNode; -} - -export interface IndexedAccessTypeNode extends TypeNode { - readonly kind: SyntaxKind.IndexedAccessType; - readonly objectType: TypeNode; - readonly indexType: TypeNode; -} - -export interface MappedTypeNode extends TypeNode, Declaration { - readonly kind: SyntaxKind.MappedType; - readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken; - readonly typeParameter: TypeParameterDeclaration; - readonly nameType?: TypeNode; - readonly questionToken?: QuestionToken | PlusToken | MinusToken; - readonly type?: TypeNode; - /** Used only to produce grammar errors */ - readonly members?: NodeArray; -} - -export interface LiteralTypeNode extends TypeNode { - readonly kind: SyntaxKind.LiteralType; - readonly literal: NullLiteral | BooleanLiteral | LiteralExpression | PrefixUnaryExpression; -} - -export interface StringLiteral extends LiteralExpression, Declaration { - readonly kind: SyntaxKind.StringLiteral; -} - -export type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; -export type PropertyNameLiteral = Identifier | StringLiteralLike | NumericLiteral | JsxNamespacedName | BigIntLiteral; - -export interface TemplateLiteralTypeNode extends TypeNode { - kind: SyntaxKind.TemplateLiteralType; - readonly head: TemplateHead; - readonly templateSpans: NodeArray; -} - -export interface TemplateLiteralTypeSpan extends TypeNode { - readonly kind: SyntaxKind.TemplateLiteralTypeSpan; - readonly parent: TemplateLiteralTypeNode; - readonly type: TypeNode; - readonly literal: TemplateMiddle | TemplateTail; -} - -// Note: 'brands' in our syntax nodes serve to give us a small amount of nominal typing. -// Consider 'Expression'. Without the brand, 'Expression' is actually no different -// (structurally) than 'Node'. Because of this you can pass any Node to a function that -// takes an Expression without any error. By using the 'brands' we ensure that the type -// checker actually thinks you have something of the right type. Note: the brands are -// never actually given values. At runtime they have zero cost. - -export interface Expression extends Node { - _expressionBrand: any; -} - -export interface OmittedExpression extends Expression { - readonly kind: SyntaxKind.OmittedExpression; -} - -// Represents an expression that is elided as part of a transformation to emit comments on a -// not-emitted node. The 'expression' property of a PartiallyEmittedExpression should be emitted. -export interface PartiallyEmittedExpression extends LeftHandSideExpression { - readonly kind: SyntaxKind.PartiallyEmittedExpression; - readonly expression: Expression; -} - -export interface UnaryExpression extends Expression { - _unaryExpressionBrand: any; -} - -/** Deprecated, please use UpdateExpression */ -export type IncrementExpression = UpdateExpression; -export interface UpdateExpression extends UnaryExpression { - _updateExpressionBrand: any; -} - -// see: https://tc39.github.io/ecma262/#prod-UpdateExpression -// see: https://tc39.github.io/ecma262/#prod-UnaryExpression -export type PrefixUnaryOperator = - | SyntaxKind.PlusPlusToken - | SyntaxKind.MinusMinusToken - | SyntaxKind.PlusToken - | SyntaxKind.MinusToken - | SyntaxKind.TildeToken - | SyntaxKind.ExclamationToken; - -export interface PrefixUnaryExpression extends UpdateExpression { - readonly kind: SyntaxKind.PrefixUnaryExpression; - readonly operator: PrefixUnaryOperator; - readonly operand: UnaryExpression; -} - -// see: https://tc39.github.io/ecma262/#prod-UpdateExpression -export type PostfixUnaryOperator = - | SyntaxKind.PlusPlusToken - | SyntaxKind.MinusMinusToken; - -export interface PostfixUnaryExpression extends UpdateExpression { - readonly kind: SyntaxKind.PostfixUnaryExpression; - readonly operand: LeftHandSideExpression; - readonly operator: PostfixUnaryOperator; -} - -export interface LeftHandSideExpression extends UpdateExpression { - _leftHandSideExpressionBrand: any; -} - -export interface MemberExpression extends LeftHandSideExpression { - _memberExpressionBrand: any; -} - -export interface PrimaryExpression extends MemberExpression { - _primaryExpressionBrand: any; -} - -export interface NullLiteral extends PrimaryExpression { - readonly kind: SyntaxKind.NullKeyword; -} - -export interface TrueLiteral extends PrimaryExpression { - readonly kind: SyntaxKind.TrueKeyword; -} - -export interface FalseLiteral extends PrimaryExpression { - readonly kind: SyntaxKind.FalseKeyword; -} - -export type BooleanLiteral = TrueLiteral | FalseLiteral; - -export interface ThisExpression extends PrimaryExpression { - readonly kind: SyntaxKind.ThisKeyword; -} - -export interface SuperExpression extends PrimaryExpression { - readonly kind: SyntaxKind.SuperKeyword; -} - -export interface ImportExpression extends PrimaryExpression { - readonly kind: SyntaxKind.ImportKeyword; -} - -export interface DeleteExpression extends UnaryExpression { - readonly kind: SyntaxKind.DeleteExpression; - readonly expression: UnaryExpression; -} - -export interface TypeOfExpression extends UnaryExpression { - readonly kind: SyntaxKind.TypeOfExpression; - readonly expression: UnaryExpression; -} - -export interface VoidExpression extends UnaryExpression { - readonly kind: SyntaxKind.VoidExpression; - readonly expression: UnaryExpression; -} - -export interface AwaitExpression extends UnaryExpression { - readonly kind: SyntaxKind.AwaitExpression; - readonly expression: UnaryExpression; -} - -export interface YieldExpression extends Expression { - readonly kind: SyntaxKind.YieldExpression; - readonly asteriskToken?: AsteriskToken; - readonly expression?: Expression; -} - -// see: https://tc39.github.io/ecma262/#prod-ExponentiationExpression -export type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; - -// see: https://tc39.github.io/ecma262/#prod-MultiplicativeOperator -export type MultiplicativeOperator = - | SyntaxKind.AsteriskToken - | SyntaxKind.SlashToken - | SyntaxKind.PercentToken; - -// see: https://tc39.github.io/ecma262/#prod-MultiplicativeExpression -export type MultiplicativeOperatorOrHigher = - | ExponentiationOperator - | MultiplicativeOperator; - -// see: https://tc39.github.io/ecma262/#prod-AdditiveExpression -export type AdditiveOperator = - | SyntaxKind.PlusToken - | SyntaxKind.MinusToken; - -// see: https://tc39.github.io/ecma262/#prod-AdditiveExpression -export type AdditiveOperatorOrHigher = - | MultiplicativeOperatorOrHigher - | AdditiveOperator; - -// see: https://tc39.github.io/ecma262/#prod-ShiftExpression -export type ShiftOperator = - | SyntaxKind.LessThanLessThanToken - | SyntaxKind.GreaterThanGreaterThanToken - | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; - -// see: https://tc39.github.io/ecma262/#prod-ShiftExpression -export type ShiftOperatorOrHigher = - | AdditiveOperatorOrHigher - | ShiftOperator; - -// see: https://tc39.github.io/ecma262/#prod-RelationalExpression -export type RelationalOperator = - | SyntaxKind.LessThanToken - | SyntaxKind.LessThanEqualsToken - | SyntaxKind.GreaterThanToken - | SyntaxKind.GreaterThanEqualsToken - | SyntaxKind.InstanceOfKeyword - | SyntaxKind.InKeyword; - -// see: https://tc39.github.io/ecma262/#prod-RelationalExpression -export type RelationalOperatorOrHigher = - | ShiftOperatorOrHigher - | RelationalOperator; - -// see: https://tc39.github.io/ecma262/#prod-EqualityExpression -export type EqualityOperator = - | SyntaxKind.EqualsEqualsToken - | SyntaxKind.EqualsEqualsEqualsToken - | SyntaxKind.ExclamationEqualsEqualsToken - | SyntaxKind.ExclamationEqualsToken; - -// see: https://tc39.github.io/ecma262/#prod-EqualityExpression -export type EqualityOperatorOrHigher = - | RelationalOperatorOrHigher - | EqualityOperator; - -// see: https://tc39.github.io/ecma262/#prod-BitwiseANDExpression -// see: https://tc39.github.io/ecma262/#prod-BitwiseXORExpression -// see: https://tc39.github.io/ecma262/#prod-BitwiseORExpression -export type BitwiseOperator = - | SyntaxKind.AmpersandToken - | SyntaxKind.BarToken - | SyntaxKind.CaretToken; - -// see: https://tc39.github.io/ecma262/#prod-BitwiseANDExpression -// see: https://tc39.github.io/ecma262/#prod-BitwiseXORExpression -// see: https://tc39.github.io/ecma262/#prod-BitwiseORExpression -export type BitwiseOperatorOrHigher = - | EqualityOperatorOrHigher - | BitwiseOperator; - -// see: https://tc39.github.io/ecma262/#prod-LogicalANDExpression -// see: https://tc39.github.io/ecma262/#prod-LogicalORExpression -export type LogicalOperator = - | SyntaxKind.AmpersandAmpersandToken - | SyntaxKind.BarBarToken; - -// see: https://tc39.github.io/ecma262/#prod-LogicalANDExpression -// see: https://tc39.github.io/ecma262/#prod-LogicalORExpression -export type LogicalOperatorOrHigher = - | BitwiseOperatorOrHigher - | LogicalOperator; - -// see: https://tc39.github.io/ecma262/#prod-AssignmentOperator -export type CompoundAssignmentOperator = - | SyntaxKind.PlusEqualsToken - | SyntaxKind.MinusEqualsToken - | SyntaxKind.AsteriskAsteriskEqualsToken - | SyntaxKind.AsteriskEqualsToken - | SyntaxKind.SlashEqualsToken - | SyntaxKind.PercentEqualsToken - | SyntaxKind.AmpersandEqualsToken - | SyntaxKind.BarEqualsToken - | SyntaxKind.CaretEqualsToken - | SyntaxKind.LessThanLessThanEqualsToken - | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken - | SyntaxKind.GreaterThanGreaterThanEqualsToken - | SyntaxKind.BarBarEqualsToken - | SyntaxKind.AmpersandAmpersandEqualsToken - | SyntaxKind.QuestionQuestionEqualsToken; - -// see: https://tc39.github.io/ecma262/#prod-AssignmentExpression -export type AssignmentOperator = - | SyntaxKind.EqualsToken - | CompoundAssignmentOperator; - -// see: https://tc39.github.io/ecma262/#prod-AssignmentExpression -export type AssignmentOperatorOrHigher = - | SyntaxKind.QuestionQuestionToken - | LogicalOperatorOrHigher - | AssignmentOperator; - -// see: https://tc39.github.io/ecma262/#prod-Expression -export type BinaryOperator = - | AssignmentOperatorOrHigher - | SyntaxKind.CommaToken; - -export type LogicalOrCoalescingAssignmentOperator = - | SyntaxKind.AmpersandAmpersandEqualsToken - | SyntaxKind.BarBarEqualsToken - | SyntaxKind.QuestionQuestionEqualsToken; - -export type BinaryOperatorToken = Token; - -export interface BinaryExpression extends Expression, Declaration { - readonly kind: SyntaxKind.BinaryExpression; - readonly left: Expression; - readonly operatorToken: BinaryOperatorToken; - readonly right: Expression; -} - -export type AssignmentOperatorToken = Token; - -export interface AssignmentExpression extends BinaryExpression { - readonly left: LeftHandSideExpression; - readonly operatorToken: TOperator; -} - -export interface ObjectDestructuringAssignment extends AssignmentExpression { - readonly left: ObjectLiteralExpression; -} - -export interface ArrayDestructuringAssignment extends AssignmentExpression { - readonly left: ArrayLiteralExpression; -} - -export type DestructuringAssignment = - | ObjectDestructuringAssignment - | ArrayDestructuringAssignment; - -export type BindingOrAssignmentElement = - | VariableDeclaration - | ParameterDeclaration - | ObjectBindingOrAssignmentElement - | ArrayBindingOrAssignmentElement; - -export type ObjectBindingOrAssignmentElement = - | BindingElement - | PropertyAssignment // AssignmentProperty - | ShorthandPropertyAssignment // AssignmentProperty - | SpreadAssignment // AssignmentRestProperty -; - -export type ArrayBindingOrAssignmentElement = - | BindingElement - | OmittedExpression // Elision - | SpreadElement // AssignmentRestElement - | ArrayLiteralExpression // ArrayAssignmentPattern - | ObjectLiteralExpression // ObjectAssignmentPattern - | AssignmentExpression // AssignmentElement - | Identifier // DestructuringAssignmentTarget - | PropertyAccessExpression // DestructuringAssignmentTarget - | ElementAccessExpression // DestructuringAssignmentTarget -; - -export type BindingOrAssignmentElementRestIndicator = - | DotDotDotToken // from BindingElement - | SpreadElement // AssignmentRestElement - | SpreadAssignment // AssignmentRestProperty -; - -export type BindingOrAssignmentElementTarget = - | BindingOrAssignmentPattern - | Identifier - | PropertyAccessExpression - | ElementAccessExpression - | OmittedExpression; - -export type ObjectBindingOrAssignmentPattern = - | ObjectBindingPattern - | ObjectLiteralExpression // ObjectAssignmentPattern -; - -export type ArrayBindingOrAssignmentPattern = - | ArrayBindingPattern - | ArrayLiteralExpression // ArrayAssignmentPattern -; - -export type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; - -export type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; - -export interface ConditionalExpression extends Expression { - readonly kind: SyntaxKind.ConditionalExpression; - readonly condition: Expression; - readonly questionToken: QuestionToken; - readonly whenTrue: Expression; - readonly colonToken: ColonToken; - readonly whenFalse: Expression; -} - -export type FunctionBody = Block; -export type ConciseBody = FunctionBody | Expression; - -export interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase { - readonly kind: SyntaxKind.FunctionExpression; - readonly modifiers?: NodeArray; - readonly name?: Identifier; - readonly body: FunctionBody; // Required, whereas the member inherited from FunctionDeclaration is optional -} - -export interface ArrowFunction extends Expression, FunctionLikeDeclarationBase { - readonly kind: SyntaxKind.ArrowFunction; - readonly modifiers?: NodeArray; - readonly equalsGreaterThanToken: EqualsGreaterThanToken; - readonly body: ConciseBody; - readonly name: never; -} - -// The text property of a LiteralExpression stores the interpreted value of the literal in text form. For a StringLiteral, -// or any literal of a template, this means quotes have been removed and escapes have been converted to actual characters. -// For a NumericLiteral, the stored value is the toString() representation of the number. For example 1, 1.00, and 1e0 are all stored as just "1". -export interface LiteralLikeNode extends Node { - text: string; - isUnterminated?: boolean; - hasExtendedUnicodeEscape?: boolean; -} - -export interface TemplateLiteralLikeNode extends LiteralLikeNode { - rawText?: string; - templateFlags?: TokenFlags; -} - -// The text property of a LiteralExpression stores the interpreted value of the literal in text form. For a StringLiteral, -// or any literal of a template, this means quotes have been removed and escapes have been converted to actual characters. -// For a NumericLiteral, the stored value is the toString() representation of the number. For example 1, 1.00, and 1e0 are all stored as just "1". -export interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { - _literalExpressionBrand: any; -} - -export interface RegularExpressionLiteral extends LiteralExpression { - readonly kind: SyntaxKind.RegularExpressionLiteral; -} - -// dprint-ignore -export interface NoSubstitutionTemplateLiteral extends LiteralExpression, TemplateLiteralLikeNode, Declaration { - readonly kind: SyntaxKind.NoSubstitutionTemplateLiteral; -} - -export interface NumericLiteral extends LiteralExpression, Declaration { - readonly kind: SyntaxKind.NumericLiteral; - readonly numericLiteralFlags: TokenFlags; -} - -export interface BigIntLiteral extends LiteralExpression { - readonly kind: SyntaxKind.BigIntLiteral; -} - -export type LiteralToken = - | NumericLiteral - | BigIntLiteral - | StringLiteral - | JsxText - | RegularExpressionLiteral - | NoSubstitutionTemplateLiteral; - -export interface TemplateHead extends TemplateLiteralLikeNode { - readonly kind: SyntaxKind.TemplateHead; - readonly parent: TemplateExpression | TemplateLiteralTypeNode; - templateFlags: TokenFlags; -} - -export interface TemplateMiddle extends TemplateLiteralLikeNode { - readonly kind: SyntaxKind.TemplateMiddle; - readonly parent: TemplateSpan | TemplateLiteralTypeSpan; - templateFlags: TokenFlags; -} - -export interface TemplateTail extends TemplateLiteralLikeNode { - readonly kind: SyntaxKind.TemplateTail; - readonly parent: TemplateSpan | TemplateLiteralTypeSpan; - templateFlags: TokenFlags; -} - -export type PseudoLiteralToken = - | TemplateHead - | TemplateMiddle - | TemplateTail; - -export type TemplateLiteralToken = - | NoSubstitutionTemplateLiteral - | PseudoLiteralToken; - -export interface TemplateExpression extends PrimaryExpression { - readonly kind: SyntaxKind.TemplateExpression; - readonly head: TemplateHead; - readonly templateSpans: NodeArray; -} - -export type TemplateLiteral = - | TemplateExpression - | NoSubstitutionTemplateLiteral; - -// Each of these corresponds to a substitution expression and a template literal, in that order. -// The template literal must have kind TemplateMiddleLiteral or TemplateTailLiteral. -export interface TemplateSpan extends Node { - readonly kind: SyntaxKind.TemplateSpan; - readonly parent: TemplateExpression; - readonly expression: Expression; - readonly literal: TemplateMiddle | TemplateTail; -} - -export interface ParenthesizedExpression extends PrimaryExpression { - readonly kind: SyntaxKind.ParenthesizedExpression; - readonly expression: Expression; -} - -export interface ArrayLiteralExpression extends PrimaryExpression { - readonly kind: SyntaxKind.ArrayLiteralExpression; - readonly elements: NodeArray; - multiLine?: boolean; -} - -export interface SpreadElement extends Expression { - readonly kind: SyntaxKind.SpreadElement; - readonly parent: ArrayLiteralExpression | CallExpression | NewExpression; - readonly expression: Expression; -} - -/** - * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to - * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be - * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type - * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) - */ -export interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { - readonly properties: NodeArray; -} - -// An ObjectLiteralExpression is the declaration node for an anonymous symbol. -export interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { - readonly kind: SyntaxKind.ObjectLiteralExpression; - multiLine?: boolean; -} - -export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; -export type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; -export type AccessExpression = PropertyAccessExpression | ElementAccessExpression; - -export interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { - readonly kind: SyntaxKind.PropertyAccessExpression; - readonly expression: LeftHandSideExpression; - readonly questionDotToken?: QuestionDotToken; - readonly name: MemberName; -} - -export interface PropertyAccessChain extends PropertyAccessExpression { - _optionalChainBrand: any; - readonly name: MemberName; -} - -export interface SuperPropertyAccessExpression extends PropertyAccessExpression { - readonly expression: SuperExpression; -} - -/** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ -export interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { - _propertyAccessExpressionLikeQualifiedNameBrand?: any; - readonly expression: EntityNameExpression; - readonly name: Identifier; -} - -export interface ElementAccessExpression extends MemberExpression, Declaration { - readonly kind: SyntaxKind.ElementAccessExpression; - readonly expression: LeftHandSideExpression; - readonly questionDotToken?: QuestionDotToken; - readonly argumentExpression: Expression; -} - -export interface ElementAccessChain extends ElementAccessExpression { - _optionalChainBrand: any; -} - -export interface SuperElementAccessExpression extends ElementAccessExpression { - readonly expression: SuperExpression; -} - -// see: https://tc39.github.io/ecma262/#prod-SuperProperty -export type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; - -export interface CallExpression extends LeftHandSideExpression, Declaration { - readonly kind: SyntaxKind.CallExpression; - readonly expression: LeftHandSideExpression; - readonly questionDotToken?: QuestionDotToken; - readonly typeArguments?: NodeArray; - readonly arguments: NodeArray; -} - -export interface CallChain extends CallExpression { - _optionalChainBrand: any; -} - -export type OptionalChain = - | PropertyAccessChain - | ElementAccessChain - | CallChain - | NonNullChain; - -// see: https://tc39.github.io/ecma262/#prod-SuperCall -export interface SuperCall extends CallExpression { - readonly expression: SuperExpression; -} - -export interface ImportCall extends CallExpression { - readonly expression: ImportExpression; -} - -export interface ExpressionWithTypeArguments extends MemberExpression, NodeWithTypeArguments { - readonly kind: SyntaxKind.ExpressionWithTypeArguments; - readonly expression: LeftHandSideExpression; -} - -export interface NewExpression extends PrimaryExpression, Declaration { - readonly kind: SyntaxKind.NewExpression; - readonly expression: LeftHandSideExpression; - readonly typeArguments?: NodeArray; - readonly arguments?: NodeArray; -} - -export interface TaggedTemplateExpression extends MemberExpression { - readonly kind: SyntaxKind.TaggedTemplateExpression; - readonly tag: LeftHandSideExpression; - readonly typeArguments?: NodeArray; - readonly template: TemplateLiteral; -} - -export interface InstanceofExpression extends BinaryExpression { - readonly operatorToken: Token; -} - -export type CallLikeExpression = - | CallExpression - | NewExpression - | TaggedTemplateExpression - | Decorator - | JsxOpeningLikeElement - | InstanceofExpression; - -export interface AsExpression extends Expression { - readonly kind: SyntaxKind.AsExpression; - readonly expression: Expression; - readonly type: TypeNode; -} - -export interface TypeAssertion extends UnaryExpression { - readonly kind: SyntaxKind.TypeAssertionExpression; - readonly type: TypeNode; - readonly expression: UnaryExpression; -} - -export interface SatisfiesExpression extends Expression { - readonly kind: SyntaxKind.SatisfiesExpression; - readonly expression: Expression; - readonly type: TypeNode; -} - -export type AssertionExpression = - | TypeAssertion - | AsExpression; - -export interface NonNullExpression extends LeftHandSideExpression { - readonly kind: SyntaxKind.NonNullExpression; - readonly expression: Expression; -} - -export interface NonNullChain extends NonNullExpression { - _optionalChainBrand: any; -} - -// NOTE: MetaProperty is really a MemberExpression, but we consider it a PrimaryExpression -// for the same reasons we treat NewExpression as a PrimaryExpression. -export interface MetaProperty extends PrimaryExpression { - readonly kind: SyntaxKind.MetaProperty; - readonly keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; - readonly name: Identifier; -} - -/// A JSX expression of the form ... -export interface JsxElement extends PrimaryExpression { - readonly kind: SyntaxKind.JsxElement; - readonly openingElement: JsxOpeningElement; - readonly children: NodeArray; - readonly closingElement: JsxClosingElement; -} - -/// Either the opening tag in a ... pair or the lone in a self-closing form -export type JsxOpeningLikeElement = - | JsxSelfClosingElement - | JsxOpeningElement; - -export type JsxAttributeLike = - | JsxAttribute - | JsxSpreadAttribute; - -export type JsxAttributeName = - | Identifier - | JsxNamespacedName; - -export type JsxTagNameExpression = - | Identifier - | ThisExpression - | JsxTagNamePropertyAccess - | JsxNamespacedName; - -export interface JsxTagNamePropertyAccess extends PropertyAccessExpression { - readonly expression: Identifier | ThisExpression | JsxTagNamePropertyAccess; -} - -export interface JsxAttributes extends PrimaryExpression, Declaration { - readonly properties: NodeArray; - readonly kind: SyntaxKind.JsxAttributes; - readonly parent: JsxOpeningLikeElement; -} - -export interface JsxNamespacedName extends Node { - readonly kind: SyntaxKind.JsxNamespacedName; - readonly name: Identifier; - readonly namespace: Identifier; -} - -/// The opening element of a ... JsxElement -export interface JsxOpeningElement extends Expression { - readonly kind: SyntaxKind.JsxOpeningElement; - readonly parent: JsxElement; - readonly tagName: JsxTagNameExpression; - readonly typeArguments?: NodeArray; - readonly attributes: JsxAttributes; -} - -/// A JSX expression of the form -export interface JsxSelfClosingElement extends PrimaryExpression { - readonly kind: SyntaxKind.JsxSelfClosingElement; - readonly tagName: JsxTagNameExpression; - readonly typeArguments?: NodeArray; - readonly attributes: JsxAttributes; -} - -/// A JSX expression of the form <>... -export interface JsxFragment extends PrimaryExpression { - readonly kind: SyntaxKind.JsxFragment; - readonly openingFragment: JsxOpeningFragment; - readonly children: NodeArray; - readonly closingFragment: JsxClosingFragment; -} - -/// The opening element of a <>... JsxFragment -export interface JsxOpeningFragment extends Expression { - readonly kind: SyntaxKind.JsxOpeningFragment; - readonly parent: JsxFragment; -} - -/// The closing element of a <>... JsxFragment -export interface JsxClosingFragment extends Expression { - readonly kind: SyntaxKind.JsxClosingFragment; - readonly parent: JsxFragment; -} - -export interface JsxAttribute extends Declaration { - readonly kind: SyntaxKind.JsxAttribute; - readonly parent: JsxAttributes; - readonly name: JsxAttributeName; - /// JSX attribute initializers are optional; is sugar for - readonly initializer?: JsxAttributeValue; -} - -export type JsxAttributeValue = - | StringLiteral - | JsxExpression - | JsxElement - | JsxSelfClosingElement - | JsxFragment; - -export interface JsxSpreadAttribute extends ObjectLiteralElement { - readonly kind: SyntaxKind.JsxSpreadAttribute; - readonly parent: JsxAttributes; - readonly expression: Expression; -} - -export interface JsxClosingElement extends Node { - readonly kind: SyntaxKind.JsxClosingElement; - readonly parent: JsxElement; - readonly tagName: JsxTagNameExpression; -} - -export interface JsxExpression extends Expression { - readonly kind: SyntaxKind.JsxExpression; - readonly parent: JsxElement | JsxFragment | JsxAttributeLike; - readonly dotDotDotToken?: Token; - readonly expression?: Expression; -} - -export interface JsxText extends LiteralLikeNode { - readonly kind: SyntaxKind.JsxText; - readonly parent: JsxElement | JsxFragment; - readonly containsOnlyTriviaWhiteSpaces: boolean; -} - -export type JsxChild = - | JsxText - | JsxExpression - | JsxElement - | JsxSelfClosingElement - | JsxFragment; - -export interface Statement extends Node { - _statementBrand: any; -} - -/** - * A list of comma-separated expressions. This node is only created by transformations. - */ -export interface CommaListExpression extends Expression { - readonly kind: SyntaxKind.CommaListExpression; - readonly elements: NodeArray; -} - -export interface EmptyStatement extends Statement { - readonly kind: SyntaxKind.EmptyStatement; -} - -export interface DebuggerStatement extends Statement { - readonly kind: SyntaxKind.DebuggerStatement; -} - -export interface Block extends Statement { - readonly kind: SyntaxKind.Block; - readonly statements: NodeArray; - multiLine?: boolean; -} - -export interface VariableStatement extends Statement { - readonly kind: SyntaxKind.VariableStatement; - readonly modifiers?: NodeArray; - readonly declarationList: VariableDeclarationList; -} - -export interface ExpressionStatement extends Statement { - readonly kind: SyntaxKind.ExpressionStatement; - readonly expression: Expression; -} - -export interface IfStatement extends Statement { - readonly kind: SyntaxKind.IfStatement; - readonly expression: Expression; - readonly thenStatement: Statement; - readonly elseStatement?: Statement; -} - -export interface IterationStatement extends Statement { - readonly statement: Statement; -} - -export interface DoStatement extends IterationStatement { - readonly kind: SyntaxKind.DoStatement; - readonly expression: Expression; -} - -export interface WhileStatement extends IterationStatement { - readonly kind: SyntaxKind.WhileStatement; - readonly expression: Expression; -} - -export type ForInitializer = - | VariableDeclarationList - | Expression; - -export interface ForStatement extends IterationStatement { - readonly kind: SyntaxKind.ForStatement; - readonly initializer?: ForInitializer; - readonly condition?: Expression; - readonly incrementor?: Expression; -} - -export type ForInOrOfStatement = - | ForInStatement - | ForOfStatement; - -export interface ForInStatement extends IterationStatement { - readonly kind: SyntaxKind.ForInStatement; - readonly initializer: ForInitializer; - readonly expression: Expression; -} - -export interface ForOfStatement extends IterationStatement { - readonly kind: SyntaxKind.ForOfStatement; - readonly awaitModifier?: AwaitKeyword; - readonly initializer: ForInitializer; - readonly expression: Expression; -} - -export interface BreakStatement extends Statement { - readonly kind: SyntaxKind.BreakStatement; - readonly label?: Identifier; -} - -export interface ContinueStatement extends Statement { - readonly kind: SyntaxKind.ContinueStatement; - readonly label?: Identifier; -} - -export type BreakOrContinueStatement = - | BreakStatement - | ContinueStatement; - -export interface ReturnStatement extends Statement { - readonly kind: SyntaxKind.ReturnStatement; - readonly expression?: Expression; -} - -export interface WithStatement extends Statement { - readonly kind: SyntaxKind.WithStatement; - readonly expression: Expression; - readonly statement: Statement; -} - -export interface SwitchStatement extends Statement { - readonly kind: SyntaxKind.SwitchStatement; - readonly expression: Expression; - readonly caseBlock: CaseBlock; - possiblyExhaustive?: boolean; // initialized by binding -} - -export interface CaseBlock extends Node { - readonly kind: SyntaxKind.CaseBlock; - readonly parent: SwitchStatement; - readonly clauses: NodeArray; -} - -export interface CaseClause extends Node { - readonly kind: SyntaxKind.CaseClause; - readonly parent: CaseBlock; - readonly expression: Expression; - readonly statements: NodeArray; -} - -export interface DefaultClause extends Node { - readonly kind: SyntaxKind.DefaultClause; - readonly parent: CaseBlock; - readonly statements: NodeArray; -} - -export type CaseOrDefaultClause = - | CaseClause - | DefaultClause; - -export interface LabeledStatement extends Statement { - readonly kind: SyntaxKind.LabeledStatement; - readonly label: Identifier; - readonly statement: Statement; -} - -export interface ThrowStatement extends Statement { - readonly kind: SyntaxKind.ThrowStatement; - readonly expression: Expression; -} - -export interface TryStatement extends Statement { - readonly kind: SyntaxKind.TryStatement; - readonly tryBlock: Block; - readonly catchClause?: CatchClause; - readonly finallyBlock?: Block; -} - -export interface CatchClause extends Node { - readonly kind: SyntaxKind.CatchClause; - readonly parent: TryStatement; - readonly variableDeclaration?: VariableDeclaration; - readonly block: Block; -} - -export type ObjectTypeDeclaration = - | ClassLikeDeclaration - | InterfaceDeclaration - | TypeLiteralNode; - -export type DeclarationWithTypeParameters = - | DeclarationWithTypeParameterChildren - | JSDocTypedefTag - | JSDocCallbackTag - | JSDocSignature; - -export type DeclarationWithTypeParameterChildren = - | SignatureDeclaration - | ClassLikeDeclaration - | InterfaceDeclaration - | TypeAliasDeclaration - | JSDocTemplateTag; - -export interface ClassLikeDeclarationBase extends NamedDeclaration { - readonly kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; - readonly name?: Identifier; - readonly typeParameters?: NodeArray; - readonly heritageClauses?: NodeArray; - readonly members: NodeArray; -} - -export interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { - readonly kind: SyntaxKind.ClassDeclaration; - readonly modifiers?: NodeArray; - /** May be undefined in `export default class { ... }`. */ - readonly name?: Identifier; -} - -export interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { - readonly kind: SyntaxKind.ClassExpression; - readonly modifiers?: NodeArray; -} - -export type ClassLikeDeclaration = - | ClassDeclaration - | ClassExpression; - -export interface ClassElement extends NamedDeclaration { - _classElementBrand: any; - readonly name?: PropertyName; -} - -export interface TypeElement extends NamedDeclaration { - _typeElementBrand: any; - readonly name?: PropertyName; - readonly questionToken?: QuestionToken | undefined; -} - -export interface InterfaceDeclaration extends DeclarationStatement { - readonly kind: SyntaxKind.InterfaceDeclaration; - readonly modifiers?: NodeArray; - readonly name: Identifier; - readonly typeParameters?: NodeArray; - readonly heritageClauses?: NodeArray; - readonly members: NodeArray; -} - -export interface HeritageClause extends Node { - readonly kind: SyntaxKind.HeritageClause; - readonly parent: InterfaceDeclaration | ClassLikeDeclaration; - readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; - readonly types: NodeArray; -} - -export interface TypeAliasDeclaration extends DeclarationStatement { - readonly kind: SyntaxKind.TypeAliasDeclaration; - readonly modifiers?: NodeArray; - readonly name: Identifier; - readonly typeParameters?: NodeArray; - readonly type: TypeNode; -} - -export interface EnumMember extends NamedDeclaration { - readonly kind: SyntaxKind.EnumMember; - readonly parent: EnumDeclaration; - // This does include ComputedPropertyName, but the parser will give an error - // if it parses a ComputedPropertyName in an EnumMember - readonly name: PropertyName; - readonly initializer?: Expression; -} - -export interface EnumDeclaration extends DeclarationStatement { - readonly kind: SyntaxKind.EnumDeclaration; - readonly modifiers?: NodeArray; - readonly name: Identifier; - readonly members: NodeArray; -} - -export type ModuleName = - | Identifier - | StringLiteral; - -export type ModuleBody = - | NamespaceBody - | JSDocNamespaceBody; - -export interface ModuleDeclaration extends DeclarationStatement { - readonly kind: SyntaxKind.ModuleDeclaration; - readonly parent: ModuleBody | SourceFile; - readonly modifiers?: NodeArray; - readonly name: ModuleName; - readonly body?: ModuleBody | JSDocNamespaceDeclaration; -} - -export type NamespaceBody = - | ModuleBlock - | NamespaceDeclaration; - -export interface NamespaceDeclaration extends ModuleDeclaration { - readonly name: Identifier; - readonly body: NamespaceBody; -} - -export type JSDocNamespaceBody = - | Identifier - | JSDocNamespaceDeclaration; - -export interface JSDocNamespaceDeclaration extends ModuleDeclaration { - readonly name: Identifier; - readonly body?: JSDocNamespaceBody; -} - -export interface ModuleBlock extends Node, Statement { - readonly kind: SyntaxKind.ModuleBlock; - readonly parent: ModuleDeclaration; - readonly statements: NodeArray; -} - -export type ModuleReference = - | EntityName - | ExternalModuleReference; - -/** - * One of: - * - import x = require("mod"); - * - import x = M.x; - */ -export interface ImportEqualsDeclaration extends DeclarationStatement { - readonly kind: SyntaxKind.ImportEqualsDeclaration; - readonly parent: SourceFile | ModuleBlock; - readonly modifiers?: NodeArray; - readonly name: Identifier; - readonly isTypeOnly: boolean; - - // 'EntityName' for an internal module reference, 'ExternalModuleReference' for an external - // module reference. - readonly moduleReference: ModuleReference; -} - -export interface ExternalModuleReference extends Node { - readonly kind: SyntaxKind.ExternalModuleReference; - readonly parent: ImportEqualsDeclaration; - readonly expression: Expression; -} - -// In case of: -// import "mod" => importClause = undefined, moduleSpecifier = "mod" -// In rest of the cases, module specifier is string literal corresponding to module -// ImportClause information is shown at its declaration below. -export interface ImportDeclaration extends Statement { - readonly kind: SyntaxKind.ImportDeclaration; - readonly parent: SourceFile | ModuleBlock; - readonly modifiers?: NodeArray; - readonly importClause?: ImportClause; - /** If this is not a StringLiteral it will be a grammar error. */ - readonly moduleSpecifier: Expression; - /** @deprecated */ readonly assertClause?: AssertClause; - readonly attributes?: ImportAttributes; -} - -export type NamedImportBindings = - | NamespaceImport - | NamedImports; - -export type NamedExportBindings = - | NamespaceExport - | NamedExports; - -// In case of: -// import d from "mod" => name = d, namedBinding = undefined -// import * as ns from "mod" => name = undefined, namedBinding: NamespaceImport = { name: ns } -// import d, * as ns from "mod" => name = d, namedBinding: NamespaceImport = { name: ns } -// import { a, b as x } from "mod" => name = undefined, namedBinding: NamedImports = { elements: [{ name: a }, { name: x, propertyName: b}]} -// import d, { a, b as x } from "mod" => name = d, namedBinding: NamedImports = { elements: [{ name: a }, { name: x, propertyName: b}]} -export interface ImportClause extends NamedDeclaration { - readonly kind: SyntaxKind.ImportClause; - readonly parent: ImportDeclaration | JSDocImportTag; - readonly isTypeOnly: boolean; - readonly name?: Identifier; // Default binding - readonly namedBindings?: NamedImportBindings; -} - -/** @deprecated */ -export type AssertionKey = ImportAttributeName; - -/** @deprecated */ -export interface AssertEntry extends ImportAttribute {} - -/** @deprecated */ -export interface AssertClause extends ImportAttributes {} - -export type ImportAttributeName = Identifier | StringLiteral; - -export interface ImportAttribute extends Node { - readonly kind: SyntaxKind.ImportAttribute; - readonly parent: ImportAttributes; - readonly name: ImportAttributeName; - readonly value: Expression; -} - -export interface ImportAttributes extends Node { - readonly token: SyntaxKind.WithKeyword | SyntaxKind.AssertKeyword; - readonly kind: SyntaxKind.ImportAttributes; - readonly parent: ImportDeclaration | ExportDeclaration; - readonly elements: NodeArray; - readonly multiLine?: boolean; -} - -export interface NamespaceImport extends NamedDeclaration { - readonly kind: SyntaxKind.NamespaceImport; - readonly parent: ImportClause; - readonly name: Identifier; -} - -export interface NamespaceExport extends NamedDeclaration { - readonly kind: SyntaxKind.NamespaceExport; - readonly parent: ExportDeclaration; - readonly name: ModuleExportName; -} - -export interface NamespaceExportDeclaration extends DeclarationStatement { - readonly kind: SyntaxKind.NamespaceExportDeclaration; - readonly name: Identifier; -} - -export interface ExportDeclaration extends DeclarationStatement { - readonly kind: SyntaxKind.ExportDeclaration; - readonly parent: SourceFile | ModuleBlock; - readonly modifiers?: NodeArray; - readonly isTypeOnly: boolean; - /** Will not be assigned in the case of `export * from "foo";` */ - readonly exportClause?: NamedExportBindings; - /** If this is not a StringLiteral it will be a grammar error. */ - readonly moduleSpecifier?: Expression; - /** @deprecated */ readonly assertClause?: AssertClause; - readonly attributes?: ImportAttributes; -} - -export interface NamedImports extends Node { - readonly kind: SyntaxKind.NamedImports; - readonly parent: ImportClause; - readonly elements: NodeArray; -} - -export interface NamedExports extends Node { - readonly kind: SyntaxKind.NamedExports; - readonly parent: ExportDeclaration; - readonly elements: NodeArray; -} - -export type NamedImportsOrExports = NamedImports | NamedExports; - -export interface ImportSpecifier extends NamedDeclaration { - readonly kind: SyntaxKind.ImportSpecifier; - readonly parent: NamedImports; - readonly propertyName?: ModuleExportName; // Name preceding "as" keyword (or undefined when "as" is absent) - readonly name: Identifier; // Declared name - readonly isTypeOnly: boolean; -} - -export interface ExportSpecifier extends NamedDeclaration { - readonly kind: SyntaxKind.ExportSpecifier; - readonly parent: NamedExports; - readonly isTypeOnly: boolean; - readonly propertyName?: ModuleExportName; // Name preceding "as" keyword (or undefined when "as" is absent) - readonly name: ModuleExportName; // Declared name -} - -export type ModuleExportName = Identifier | StringLiteral; - -export type ImportOrExportSpecifier = - | ImportSpecifier - | ExportSpecifier; - -export type TypeOnlyCompatibleAliasDeclaration = - | ImportClause - | ImportEqualsDeclaration - | NamespaceImport - | ImportOrExportSpecifier - | ExportDeclaration - | NamespaceExport; - -export type TypeOnlyImportDeclaration = - | ImportClause & { readonly isTypeOnly: true; readonly name: Identifier; } - | ImportEqualsDeclaration & { readonly isTypeOnly: true; } - | NamespaceImport & { readonly parent: ImportClause & { readonly isTypeOnly: true; }; } - | ImportSpecifier & ({ readonly isTypeOnly: true; } | { readonly parent: NamedImports & { readonly parent: ImportClause & { readonly isTypeOnly: true; }; }; }); - -export type TypeOnlyExportDeclaration = - | ExportSpecifier & ({ readonly isTypeOnly: true; } | { readonly parent: NamedExports & { readonly parent: ExportDeclaration & { readonly isTypeOnly: true; }; }; }) - | ExportDeclaration & { readonly isTypeOnly: true; readonly moduleSpecifier: Expression; } // export * from "mod" - | NamespaceExport & { readonly parent: ExportDeclaration & { readonly isTypeOnly: true; readonly moduleSpecifier: Expression; }; } // export * as ns from "mod" -; - -export type TypeOnlyAliasDeclaration = TypeOnlyImportDeclaration | TypeOnlyExportDeclaration; - -/** - * This is either an `export =` or an `export default` declaration. - * Unless `isExportEquals` is set, this node was parsed as an `export default`. - */ -export interface ExportAssignment extends DeclarationStatement { - readonly kind: SyntaxKind.ExportAssignment; - readonly parent: SourceFile; - readonly modifiers?: NodeArray; - readonly isExportEquals?: boolean; - readonly expression: Expression; -} - -// represents a top level: { type } expression in a JSDoc comment. -export interface JSDocTypeExpression extends TypeNode { - readonly kind: SyntaxKind.JSDocTypeExpression; - readonly type: TypeNode; -} - -export interface JSDocNameReference extends Node { - readonly kind: SyntaxKind.JSDocNameReference; - readonly name: EntityName | JSDocMemberName; -} - -/** Class#method reference in JSDoc */ -export interface JSDocMemberName extends Node { - readonly kind: SyntaxKind.JSDocMemberName; - readonly left: EntityName | JSDocMemberName; - readonly right: Identifier; -} - -export interface JSDocType extends TypeNode { - _jsDocTypeBrand: any; -} - -export interface JSDocAllType extends JSDocType { - readonly kind: SyntaxKind.JSDocAllType; -} - -export interface JSDocNonNullableType extends JSDocType { - readonly kind: SyntaxKind.JSDocNonNullableType; - readonly type: TypeNode; - readonly postfix: boolean; -} - -export interface JSDocNullableType extends JSDocType { - readonly kind: SyntaxKind.JSDocNullableType; - readonly type: TypeNode; - readonly postfix: boolean; -} - -export interface JSDocOptionalType extends JSDocType { - readonly kind: SyntaxKind.JSDocOptionalType; - readonly type: TypeNode; -} - -export interface JSDocVariadicType extends JSDocType { - readonly kind: SyntaxKind.JSDocVariadicType; - readonly type: TypeNode; -} - -export type JSDocTypeReferencingNode = - | JSDocVariadicType - | JSDocOptionalType - | JSDocNullableType - | JSDocNonNullableType; - -export interface JSDoc extends Node { - readonly kind: SyntaxKind.JSDoc; - readonly parent: HasJSDoc; - readonly tags?: NodeArray; - readonly comment?: string | NodeArray; -} - -export interface JSDocTag extends Node { - readonly parent: JSDoc | JSDocTypeLiteral; - readonly tagName: Identifier; - readonly comment?: string | NodeArray; -} - -export interface JSDocLink extends Node { - readonly kind: SyntaxKind.JSDocLink; - readonly name?: EntityName | JSDocMemberName; - text: string; -} - -export interface JSDocLinkCode extends Node { - readonly kind: SyntaxKind.JSDocLinkCode; - readonly name?: EntityName | JSDocMemberName; - text: string; -} - -export interface JSDocLinkPlain extends Node { - readonly kind: SyntaxKind.JSDocLinkPlain; - readonly name?: EntityName | JSDocMemberName; - text: string; -} - -export type JSDocComment = JSDocText | JSDocLink | JSDocLinkCode | JSDocLinkPlain; - -export interface JSDocText extends Node { - readonly kind: SyntaxKind.JSDocText; - text: string; -} - -export interface JSDocUnknownTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocTag; -} - -/** - * Note that `@extends` is a synonym of `@augments`. - * Both tags are represented by this interface. - */ -export interface JSDocAugmentsTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocAugmentsTag; - readonly class: ExpressionWithTypeArguments & { readonly expression: Identifier | PropertyAccessEntityNameExpression; }; -} - -export interface JSDocImplementsTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocImplementsTag; - readonly class: ExpressionWithTypeArguments & { readonly expression: Identifier | PropertyAccessEntityNameExpression; }; -} - -export interface JSDocDeprecatedTag extends JSDocTag { - kind: SyntaxKind.JSDocDeprecatedTag; -} - -export interface JSDocPublicTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocPublicTag; -} - -export interface JSDocPrivateTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocPrivateTag; -} - -export interface JSDocProtectedTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocProtectedTag; -} - -export interface JSDocReadonlyTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocReadonlyTag; -} - -export interface JSDocOverrideTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocOverrideTag; -} - -export interface JSDocThisTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocThisTag; - readonly typeExpression: JSDocTypeExpression; -} - -export interface JSDocTemplateTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocTemplateTag; - readonly constraint: JSDocTypeExpression | undefined; - readonly typeParameters: NodeArray; -} - -export interface JSDocSeeTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocSeeTag; - readonly name?: JSDocNameReference; -} - -export interface JSDocReturnTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocReturnTag; - readonly typeExpression?: JSDocTypeExpression; -} - -export interface JSDocTypeTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocTypeTag; - readonly typeExpression: JSDocTypeExpression; -} - -export interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { - readonly kind: SyntaxKind.JSDocTypedefTag; - readonly parent: JSDoc; - readonly fullName?: JSDocNamespaceDeclaration | Identifier; - readonly name?: Identifier; - readonly typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; -} - -export interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { - readonly kind: SyntaxKind.JSDocCallbackTag; - readonly parent: JSDoc; - readonly fullName?: JSDocNamespaceDeclaration | Identifier; - readonly name?: Identifier; - readonly typeExpression: JSDocSignature; -} - -export interface JSDocOverloadTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocOverloadTag; - readonly parent: JSDoc; - readonly typeExpression: JSDocSignature; -} - -export interface JSDocSignature extends JSDocType, Declaration { - readonly kind: SyntaxKind.JSDocSignature; - readonly typeParameters?: readonly JSDocTemplateTag[]; - readonly parameters: readonly JSDocParameterTag[]; - readonly type: JSDocReturnTag | undefined; -} - -export interface JSDocPropertyLikeTag extends JSDocTag, Declaration { - readonly parent: JSDoc; - readonly name: EntityName; - readonly typeExpression?: JSDocTypeExpression; - /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ - readonly isNameFirst: boolean; - readonly isBracketed: boolean; -} - -export interface JSDocPropertyTag extends JSDocPropertyLikeTag { - readonly kind: SyntaxKind.JSDocPropertyTag; -} - -export interface JSDocParameterTag extends JSDocPropertyLikeTag { - readonly kind: SyntaxKind.JSDocParameterTag; -} - -export interface JSDocTypeLiteral extends JSDocType, Declaration { - readonly kind: SyntaxKind.JSDocTypeLiteral; - readonly jsDocPropertyTags?: readonly JSDocPropertyLikeTag[]; - /** If true, then this type literal represents an *array* of its type. */ - readonly isArrayType: boolean; -} - -export interface JSDocSatisfiesTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocSatisfiesTag; - readonly typeExpression: JSDocTypeExpression; -} - -export interface JSDocImportTag extends JSDocTag { - readonly kind: SyntaxKind.JSDocImportTag; - readonly parent: JSDoc; - readonly importClause?: ImportClause; - readonly moduleSpecifier: Expression; - readonly attributes?: ImportAttributes; -} - -export type HasJSDoc = - | AccessorDeclaration - | ArrowFunction - | BinaryExpression - | Block - | BreakStatement - | CallSignatureDeclaration - | CaseClause - | ClassLikeDeclaration - | ClassStaticBlockDeclaration - | ConstructorDeclaration - | ConstructorTypeNode - | ConstructSignatureDeclaration - | ContinueStatement - | DebuggerStatement - | DoStatement - | ElementAccessExpression - | EmptyStatement - | EndOfFile - | EnumDeclaration - | EnumMember - | ExportAssignment - | ExportDeclaration - | ExportSpecifier - | ExpressionStatement - | ForInStatement - | ForOfStatement - | ForStatement - | FunctionDeclaration - | FunctionExpression - | FunctionTypeNode - | Identifier - | IfStatement - | ImportDeclaration - | ImportEqualsDeclaration - | IndexSignatureDeclaration - | InterfaceDeclaration - | JSDocSignature - | LabeledStatement - | MethodDeclaration - | MethodSignature - | ModuleDeclaration - | NamedTupleMember - | NamespaceExportDeclaration - | ObjectLiteralExpression - | ParameterDeclaration - | ParenthesizedExpression - | PropertyAccessExpression - | PropertyAssignment - | PropertyDeclaration - | PropertySignature - | ReturnStatement - | SemicolonClassElement - | ShorthandPropertyAssignment - | SpreadAssignment - | SwitchStatement - | ThrowStatement - | TryStatement - | TypeAliasDeclaration - | TypeParameterDeclaration - | VariableDeclaration - | VariableStatement - | WhileStatement - | WithStatement; +import { SyntaxKind } from "#syntaxKind"; +import { TokenFlags } from "#tokenFlags"; + +export interface TextRange { + pos: number; + end: number; +} + +export interface Node extends ReadonlyTextRange { + readonly kind: SyntaxKind; + readonly parent: Node; +} + +export interface SourceFile extends Node { + readonly kind: SyntaxKind.SourceFile; + readonly statements: NodeArray; + readonly text: string; + readonly fileName: string; +} + +export type TriviaSyntaxKind = + | SyntaxKind.SingleLineCommentTrivia + | SyntaxKind.MultiLineCommentTrivia + | SyntaxKind.NewLineTrivia + | SyntaxKind.WhitespaceTrivia + | SyntaxKind.ConflictMarkerTrivia; + +export type LiteralSyntaxKind = + | SyntaxKind.NumericLiteral + | SyntaxKind.BigIntLiteral + | SyntaxKind.StringLiteral + | SyntaxKind.JsxText + | SyntaxKind.JsxTextAllWhiteSpaces + | SyntaxKind.RegularExpressionLiteral + | SyntaxKind.NoSubstitutionTemplateLiteral; + +export type PseudoLiteralSyntaxKind = + | SyntaxKind.TemplateHead + | SyntaxKind.TemplateMiddle + | SyntaxKind.TemplateTail; + +export type PunctuationSyntaxKind = + | SyntaxKind.OpenBraceToken + | SyntaxKind.CloseBraceToken + | SyntaxKind.OpenParenToken + | SyntaxKind.CloseParenToken + | SyntaxKind.OpenBracketToken + | SyntaxKind.CloseBracketToken + | SyntaxKind.DotToken + | SyntaxKind.DotDotDotToken + | SyntaxKind.SemicolonToken + | SyntaxKind.CommaToken + | SyntaxKind.QuestionDotToken + | SyntaxKind.LessThanToken + | SyntaxKind.LessThanSlashToken + | SyntaxKind.GreaterThanToken + | SyntaxKind.LessThanEqualsToken + | SyntaxKind.GreaterThanEqualsToken + | SyntaxKind.EqualsEqualsToken + | SyntaxKind.ExclamationEqualsToken + | SyntaxKind.EqualsEqualsEqualsToken + | SyntaxKind.ExclamationEqualsEqualsToken + | SyntaxKind.EqualsGreaterThanToken + | SyntaxKind.PlusToken + | SyntaxKind.MinusToken + | SyntaxKind.AsteriskToken + | SyntaxKind.AsteriskAsteriskToken + | SyntaxKind.SlashToken + | SyntaxKind.PercentToken + | SyntaxKind.PlusPlusToken + | SyntaxKind.MinusMinusToken + | SyntaxKind.LessThanLessThanToken + | SyntaxKind.GreaterThanGreaterThanToken + | SyntaxKind.GreaterThanGreaterThanGreaterThanToken + | SyntaxKind.AmpersandToken + | SyntaxKind.BarToken + | SyntaxKind.CaretToken + | SyntaxKind.ExclamationToken + | SyntaxKind.TildeToken + | SyntaxKind.AmpersandAmpersandToken + | SyntaxKind.AmpersandAmpersandEqualsToken + | SyntaxKind.BarBarToken + | SyntaxKind.BarBarEqualsToken + | SyntaxKind.QuestionQuestionToken + | SyntaxKind.QuestionQuestionEqualsToken + | SyntaxKind.QuestionToken + | SyntaxKind.ColonToken + | SyntaxKind.AtToken + | SyntaxKind.BacktickToken + | SyntaxKind.HashToken + | SyntaxKind.EqualsToken + | SyntaxKind.PlusEqualsToken + | SyntaxKind.MinusEqualsToken + | SyntaxKind.AsteriskEqualsToken + | SyntaxKind.AsteriskAsteriskEqualsToken + | SyntaxKind.SlashEqualsToken + | SyntaxKind.PercentEqualsToken + | SyntaxKind.LessThanLessThanEqualsToken + | SyntaxKind.GreaterThanGreaterThanEqualsToken + | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken + | SyntaxKind.AmpersandEqualsToken + | SyntaxKind.BarEqualsToken + | SyntaxKind.CaretEqualsToken; + +export type KeywordSyntaxKind = + | SyntaxKind.AbstractKeyword + | SyntaxKind.AccessorKeyword + | SyntaxKind.AnyKeyword + | SyntaxKind.AsKeyword + | SyntaxKind.AssertsKeyword + | SyntaxKind.AssertKeyword + | SyntaxKind.AsyncKeyword + | SyntaxKind.AwaitKeyword + | SyntaxKind.BigIntKeyword + | SyntaxKind.BooleanKeyword + | SyntaxKind.BreakKeyword + | SyntaxKind.CaseKeyword + | SyntaxKind.CatchKeyword + | SyntaxKind.ClassKeyword + | SyntaxKind.ConstKeyword + | SyntaxKind.ConstructorKeyword + | SyntaxKind.ContinueKeyword + | SyntaxKind.DebuggerKeyword + | SyntaxKind.DeclareKeyword + | SyntaxKind.DefaultKeyword + | SyntaxKind.DeleteKeyword + | SyntaxKind.DoKeyword + | SyntaxKind.ElseKeyword + | SyntaxKind.EnumKeyword + | SyntaxKind.ExportKeyword + | SyntaxKind.ExtendsKeyword + | SyntaxKind.FalseKeyword + | SyntaxKind.FinallyKeyword + | SyntaxKind.ForKeyword + | SyntaxKind.FromKeyword + | SyntaxKind.FunctionKeyword + | SyntaxKind.GetKeyword + | SyntaxKind.GlobalKeyword + | SyntaxKind.IfKeyword + | SyntaxKind.ImplementsKeyword + | SyntaxKind.ImportKeyword + | SyntaxKind.InferKeyword + | SyntaxKind.InKeyword + | SyntaxKind.InstanceOfKeyword + | SyntaxKind.InterfaceKeyword + | SyntaxKind.IntrinsicKeyword + | SyntaxKind.IsKeyword + | SyntaxKind.KeyOfKeyword + | SyntaxKind.LetKeyword + | SyntaxKind.ModuleKeyword + | SyntaxKind.NamespaceKeyword + | SyntaxKind.NeverKeyword + | SyntaxKind.NewKeyword + | SyntaxKind.NullKeyword + | SyntaxKind.NumberKeyword + | SyntaxKind.ObjectKeyword + | SyntaxKind.OfKeyword + | SyntaxKind.PackageKeyword + | SyntaxKind.PrivateKeyword + | SyntaxKind.ProtectedKeyword + | SyntaxKind.PublicKeyword + | SyntaxKind.ReadonlyKeyword + | SyntaxKind.OutKeyword + | SyntaxKind.OverrideKeyword + | SyntaxKind.RequireKeyword + | SyntaxKind.ReturnKeyword + | SyntaxKind.SatisfiesKeyword + | SyntaxKind.SetKeyword + | SyntaxKind.StaticKeyword + | SyntaxKind.StringKeyword + | SyntaxKind.SuperKeyword + | SyntaxKind.SwitchKeyword + | SyntaxKind.SymbolKeyword + | SyntaxKind.ThisKeyword + | SyntaxKind.ThrowKeyword + | SyntaxKind.TrueKeyword + | SyntaxKind.TryKeyword + | SyntaxKind.TypeKeyword + | SyntaxKind.TypeOfKeyword + | SyntaxKind.UndefinedKeyword + | SyntaxKind.UniqueKeyword + | SyntaxKind.UnknownKeyword + | SyntaxKind.UsingKeyword + | SyntaxKind.VarKeyword + | SyntaxKind.VoidKeyword + | SyntaxKind.WhileKeyword + | SyntaxKind.WithKeyword + | SyntaxKind.YieldKeyword; + +export type ModifierSyntaxKind = + | SyntaxKind.AbstractKeyword + | SyntaxKind.AccessorKeyword + | SyntaxKind.AsyncKeyword + | SyntaxKind.ConstKeyword + | SyntaxKind.DeclareKeyword + | SyntaxKind.DefaultKeyword + | SyntaxKind.ExportKeyword + | SyntaxKind.InKeyword + | SyntaxKind.PrivateKeyword + | SyntaxKind.ProtectedKeyword + | SyntaxKind.PublicKeyword + | SyntaxKind.ReadonlyKeyword + | SyntaxKind.OutKeyword + | SyntaxKind.OverrideKeyword + | SyntaxKind.StaticKeyword; + +export type KeywordTypeSyntaxKind = + | SyntaxKind.AnyKeyword + | SyntaxKind.BigIntKeyword + | SyntaxKind.BooleanKeyword + | SyntaxKind.IntrinsicKeyword + | SyntaxKind.NeverKeyword + | SyntaxKind.NumberKeyword + | SyntaxKind.ObjectKeyword + | SyntaxKind.StringKeyword + | SyntaxKind.SymbolKeyword + | SyntaxKind.UndefinedKeyword + | SyntaxKind.UnknownKeyword + | SyntaxKind.VoidKeyword; + +export type TokenSyntaxKind = + | SyntaxKind.Unknown + | SyntaxKind.EndOfFile + | TriviaSyntaxKind + | LiteralSyntaxKind + | PseudoLiteralSyntaxKind + | PunctuationSyntaxKind + | SyntaxKind.Identifier + | KeywordSyntaxKind; + +export type JsxTokenSyntaxKind = + | SyntaxKind.LessThanSlashToken + | SyntaxKind.EndOfFile + | SyntaxKind.ConflictMarkerTrivia + | SyntaxKind.JsxText + | SyntaxKind.JsxTextAllWhiteSpaces + | SyntaxKind.OpenBraceToken + | SyntaxKind.LessThanToken; + +export type JSDocSyntaxKind = + | SyntaxKind.EndOfFile + | SyntaxKind.WhitespaceTrivia + | SyntaxKind.AtToken + | SyntaxKind.NewLineTrivia + | SyntaxKind.AsteriskToken + | SyntaxKind.OpenBraceToken + | SyntaxKind.CloseBraceToken + | SyntaxKind.LessThanToken + | SyntaxKind.GreaterThanToken + | SyntaxKind.OpenBracketToken + | SyntaxKind.CloseBracketToken + | SyntaxKind.OpenParenToken + | SyntaxKind.CloseParenToken + | SyntaxKind.EqualsToken + | SyntaxKind.CommaToken + | SyntaxKind.DotToken + | SyntaxKind.Identifier + | SyntaxKind.BacktickToken + | SyntaxKind.HashToken + | SyntaxKind.Unknown + | KeywordSyntaxKind; + +export interface ReadonlyTextRange { + readonly pos: number; + readonly end: number; +} + +export interface NodeArray extends ReadonlyTextRange, ReadonlyArray { + readonly length: number; + readonly pos: number; + readonly end: number; +} + +// TODO(rbuckton): Constraint 'TKind' to 'TokenSyntaxKind' +export interface Token extends Node { + readonly kind: TKind; +} + +export type EndOfFile = Token; + +// Punctuation +export interface PunctuationToken extends Token { +} + +export type DotToken = PunctuationToken; +export type DotDotDotToken = PunctuationToken; +export type QuestionToken = PunctuationToken; +export type ExclamationToken = PunctuationToken; +export type ColonToken = PunctuationToken; +export type EqualsToken = PunctuationToken; +export type AmpersandAmpersandEqualsToken = PunctuationToken; +export type BarBarEqualsToken = PunctuationToken; +export type QuestionQuestionEqualsToken = PunctuationToken; +export type AsteriskToken = PunctuationToken; +export type EqualsGreaterThanToken = PunctuationToken; +export type PlusToken = PunctuationToken; +export type MinusToken = PunctuationToken; +export type QuestionDotToken = PunctuationToken; + +// Keywords +export interface KeywordToken extends Token { +} + +export type AssertsKeyword = KeywordToken; +export type AssertKeyword = KeywordToken; +export type AwaitKeyword = KeywordToken; +export type CaseKeyword = KeywordToken; + +export interface ModifierToken extends KeywordToken { +} + +export type AbstractKeyword = ModifierToken; +export type AccessorKeyword = ModifierToken; +export type AsyncKeyword = ModifierToken; +export type ConstKeyword = ModifierToken; +export type DeclareKeyword = ModifierToken; +export type DefaultKeyword = ModifierToken; +export type ExportKeyword = ModifierToken; +export type InKeyword = ModifierToken; +export type PrivateKeyword = ModifierToken; +export type ProtectedKeyword = ModifierToken; +export type PublicKeyword = ModifierToken; +export type ReadonlyKeyword = ModifierToken; +export type OutKeyword = ModifierToken; +export type OverrideKeyword = ModifierToken; +export type StaticKeyword = ModifierToken; + +export type Modifier = + | AbstractKeyword + | AccessorKeyword + | AsyncKeyword + | ConstKeyword + | DeclareKeyword + | DefaultKeyword + | ExportKeyword + | InKeyword + | PrivateKeyword + | ProtectedKeyword + | PublicKeyword + | OutKeyword + | OverrideKeyword + | ReadonlyKeyword + | StaticKeyword; + +export type ModifierLike = Modifier | Decorator; + +export type AccessibilityModifier = + | PublicKeyword + | PrivateKeyword + | ProtectedKeyword; + +export type ParameterPropertyModifier = + | AccessibilityModifier + | ReadonlyKeyword; + +export type ClassMemberModifier = + | AccessibilityModifier + | ReadonlyKeyword + | StaticKeyword + | AccessorKeyword; + +export type ModifiersArray = NodeArray; + +export interface Identifier extends PrimaryExpression, Declaration { + readonly kind: SyntaxKind.Identifier; + /** + * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.) + * Text of identifier, but if the identifier begins with two underscores, this will begin with three. + */ + readonly text: string; +} + +export interface QualifiedName extends Node { + readonly kind: SyntaxKind.QualifiedName; + readonly left: EntityName; + readonly right: Identifier; +} + +export type EntityName = Identifier | QualifiedName; + +export type PropertyName = + | Identifier + | StringLiteral + | NoSubstitutionTemplateLiteral + | NumericLiteral + | ComputedPropertyName + | PrivateIdentifier + | BigIntLiteral; + +export type MemberName = Identifier | PrivateIdentifier; + +export type DeclarationName = + | PropertyName + | JsxAttributeName + | StringLiteralLike + | ElementAccessExpression + | BindingPattern + | EntityNameExpression; + +export interface Declaration extends Node { +} + +export interface NamedDeclaration extends Declaration { + readonly name?: DeclarationName; +} + +export interface DeclarationStatement extends NamedDeclaration, Statement { + readonly name?: Identifier | StringLiteral | NumericLiteral; +} + +export interface ComputedPropertyName extends Node { + readonly kind: SyntaxKind.ComputedPropertyName; + readonly parent: Declaration; + readonly expression: Expression; +} + +// Typed as a PrimaryExpression due to its presence in BinaryExpressions (#field in expr) +export interface PrivateIdentifier extends PrimaryExpression { + readonly kind: SyntaxKind.PrivateIdentifier; + // escaping not strictly necessary + // avoids gotchas in transforms and utils + readonly escapedText: string; +} + +export interface Decorator extends Node { + readonly kind: SyntaxKind.Decorator; + readonly parent: NamedDeclaration; + readonly expression: LeftHandSideExpression; +} + +export interface TypeParameterDeclaration extends NamedDeclaration { + readonly kind: SyntaxKind.TypeParameter; + readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode; + readonly modifiers?: NodeArray; + readonly name: Identifier; + /** Note: Consider calling `getEffectiveConstraintOfTypeParameter` */ + readonly constraint?: TypeNode; + readonly default?: TypeNode; + + // For error recovery purposes (see `isGrammarError` in utilities.ts). + expression?: Expression; +} + +export interface SignatureDeclarationBase extends NamedDeclaration { + readonly kind: SignatureDeclaration["kind"]; + readonly name?: PropertyName; + readonly typeParameters?: NodeArray | undefined; + readonly parameters: NodeArray; + readonly type?: TypeNode | undefined; +} + +export type SignatureDeclaration = + | CallSignatureDeclaration + | ConstructSignatureDeclaration + | MethodSignature + | IndexSignatureDeclaration + | FunctionTypeNode + | ConstructorTypeNode + | FunctionDeclaration + | MethodDeclaration + | ConstructorDeclaration + | AccessorDeclaration + | FunctionExpression + | ArrowFunction; + +export interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + readonly kind: SyntaxKind.CallSignature; +} + +export interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement { + readonly kind: SyntaxKind.ConstructSignature; +} + +export type BindingName = Identifier | BindingPattern; + +// dprint-ignore +export interface VariableDeclaration extends NamedDeclaration { + readonly kind: SyntaxKind.VariableDeclaration; + readonly parent: VariableDeclarationList | CatchClause; + readonly name: BindingName; // Declared variable name + readonly exclamationToken?: ExclamationToken; // Optional definite assignment assertion + readonly type?: TypeNode; // Optional type annotation + readonly initializer?: Expression; // Optional initializer +} + +export interface VariableDeclarationList extends Node { + readonly kind: SyntaxKind.VariableDeclarationList; + readonly parent: VariableStatement | ForStatement | ForOfStatement | ForInStatement; + readonly declarations: NodeArray; +} + +// dprint-ignore +export interface ParameterDeclaration extends NamedDeclaration { + readonly kind: SyntaxKind.Parameter; + readonly parent: SignatureDeclaration; + readonly modifiers?: NodeArray; + readonly dotDotDotToken?: DotDotDotToken; // Present on rest parameter + readonly name: BindingName; // Declared parameter name. + readonly questionToken?: QuestionToken; // Present on optional parameter + readonly type?: TypeNode; // Optional type annotation + readonly initializer?: Expression; // Optional initializer +} + +// dprint-ignore +export interface BindingElement extends NamedDeclaration { + readonly kind: SyntaxKind.BindingElement; + readonly parent: BindingPattern; + readonly propertyName?: PropertyName; // Binding property name (in object binding pattern) + readonly dotDotDotToken?: DotDotDotToken; // Present on rest element (in object binding pattern) + readonly name: BindingName; // Declared binding element name + readonly initializer?: Expression; // Optional initializer +} + +// dprint-ignore +export interface PropertySignature extends TypeElement { + readonly kind: SyntaxKind.PropertySignature; + readonly parent: TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; // Declared property name + readonly questionToken?: QuestionToken; // Present on optional property + readonly type?: TypeNode; // Optional type annotation +} + +// dprint-ignore +export interface PropertyDeclaration extends ClassElement { + readonly kind: SyntaxKind.PropertyDeclaration; + readonly parent: ClassLikeDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; + readonly questionToken?: QuestionToken; // Present for use with reporting a grammar error for auto-accessors (see `isGrammarError` in utilities.ts) + readonly exclamationToken?: ExclamationToken; + readonly type?: TypeNode; + readonly initializer?: Expression; // Optional initializer +} + +export interface AutoAccessorPropertyDeclaration extends PropertyDeclaration { + _autoAccessorBrand: any; +} + +export interface ObjectLiteralElement extends NamedDeclaration { + _objectLiteralBrand: any; + readonly name?: PropertyName; +} + +/** Unlike ObjectLiteralElement, excludes JSXAttribute and JSXSpreadAttribute. */ +export type ObjectLiteralElementLike = + | PropertyAssignment + | ShorthandPropertyAssignment + | SpreadAssignment + | MethodDeclaration + | AccessorDeclaration; + +export interface PropertyAssignment extends ObjectLiteralElement { + readonly kind: SyntaxKind.PropertyAssignment; + readonly parent: ObjectLiteralExpression; + readonly name: PropertyName; + readonly initializer: Expression; +} + +export interface ShorthandPropertyAssignment extends ObjectLiteralElement { + readonly kind: SyntaxKind.ShorthandPropertyAssignment; + readonly parent: ObjectLiteralExpression; + readonly name: Identifier; + // used when ObjectLiteralExpression is used in ObjectAssignmentPattern + // it is a grammar error to appear in actual object initializer (see `isGrammarError` in utilities.ts): + readonly equalsToken?: EqualsToken; + readonly objectAssignmentInitializer?: Expression; +} + +export interface SpreadAssignment extends ObjectLiteralElement { + readonly kind: SyntaxKind.SpreadAssignment; + readonly parent: ObjectLiteralExpression; + readonly expression: Expression; +} + +export type VariableLikeDeclaration = + | VariableDeclaration + | ParameterDeclaration + | BindingElement + | PropertyDeclaration + | PropertyAssignment + | PropertySignature + | JsxAttribute + | ShorthandPropertyAssignment + | EnumMember + | JSDocPropertyTag + | JSDocParameterTag; + +export interface ObjectBindingPattern extends Node { + readonly kind: SyntaxKind.ObjectBindingPattern; + readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement; + readonly elements: NodeArray; +} + +export interface ArrayBindingPattern extends Node { + readonly kind: SyntaxKind.ArrayBindingPattern; + readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement; + readonly elements: NodeArray; +} + +export type BindingPattern = ObjectBindingPattern | ArrayBindingPattern; + +export type ArrayBindingElement = BindingElement | OmittedExpression; + +/** + * Several node kinds share function-like features such as a signature, + * a name, and a body. These nodes should extend FunctionLikeDeclarationBase. + * Examples: + * - FunctionDeclaration + * - MethodDeclaration + * - AccessorDeclaration + */ +export interface FunctionLikeDeclarationBase extends SignatureDeclarationBase { + _functionLikeDeclarationBrand: any; + + readonly asteriskToken?: AsteriskToken | undefined; + readonly questionToken?: QuestionToken | undefined; + readonly exclamationToken?: ExclamationToken | undefined; + readonly body?: Block | Expression | undefined; +} + +export type FunctionLikeDeclaration = + | FunctionDeclaration + | MethodDeclaration + | GetAccessorDeclaration + | SetAccessorDeclaration + | ConstructorDeclaration + | FunctionExpression + | ArrowFunction; +/** @deprecated Use SignatureDeclaration */ +export type FunctionLike = SignatureDeclaration; + +export interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement { + readonly kind: SyntaxKind.FunctionDeclaration; + readonly modifiers?: NodeArray; + readonly name?: Identifier; + readonly body?: FunctionBody; +} + +export interface MethodSignature extends SignatureDeclarationBase, TypeElement { + readonly kind: SyntaxKind.MethodSignature; + readonly parent: TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; +} + +// Note that a MethodDeclaration is considered both a ClassElement and an ObjectLiteralElement. +// Both the grammars for ClassDeclaration and ObjectLiteralExpression allow for MethodDeclarations +// as child elements, and so a MethodDeclaration satisfies both interfaces. This avoids the +// alternative where we would need separate kinds/types for ClassMethodDeclaration and +// ObjectLiteralMethodDeclaration, which would look identical. +// +// Because of this, it may be necessary to determine what sort of MethodDeclaration you have +// at later stages of the compiler pipeline. In that case, you can either check the parent kind +// of the method, or use helpers like isObjectLiteralMethodDeclaration +export interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement { + readonly kind: SyntaxKind.MethodDeclaration; + readonly parent: ClassLikeDeclaration | ObjectLiteralExpression; + readonly modifiers?: NodeArray | undefined; + readonly name: PropertyName; + readonly body?: FunctionBody | undefined; +} + +export interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement { + readonly kind: SyntaxKind.Constructor; + readonly parent: ClassLikeDeclaration; + readonly modifiers?: NodeArray | undefined; + readonly body?: FunctionBody | undefined; +} + +/** For when we encounter a semicolon in a class declaration. ES6 allows these as class elements. */ +export interface SemicolonClassElement extends ClassElement { + readonly kind: SyntaxKind.SemicolonClassElement; + readonly parent: ClassLikeDeclaration; +} + +// See the comment on MethodDeclaration for the intuition behind GetAccessorDeclaration being a +// ClassElement and an ObjectLiteralElement. +export interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement { + readonly kind: SyntaxKind.GetAccessor; + readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; + readonly body?: FunctionBody; +} + +// See the comment on MethodDeclaration for the intuition behind SetAccessorDeclaration being a +// ClassElement and an ObjectLiteralElement. +export interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement { + readonly kind: SyntaxKind.SetAccessor; + readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: PropertyName; + readonly body?: FunctionBody; +} + +export type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration; + +export interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement { + readonly kind: SyntaxKind.IndexSignature; + readonly parent: ObjectTypeDeclaration; + readonly modifiers?: NodeArray; + readonly type: TypeNode; +} + +export interface ClassStaticBlockDeclaration extends ClassElement { + readonly kind: SyntaxKind.ClassStaticBlockDeclaration; + readonly parent: ClassDeclaration | ClassExpression; + readonly body: Block; +} + +export interface TypeNode extends Node { + _typeNodeBrand: any; +} + +export interface KeywordTypeNode extends KeywordToken, TypeNode { + readonly kind: TKind; +} + +export interface ImportTypeNode extends NodeWithTypeArguments { + readonly kind: SyntaxKind.ImportType; + readonly isTypeOf: boolean; + readonly argument: TypeNode; + readonly attributes?: ImportAttributes; + readonly qualifier?: EntityName; +} + +export interface ThisTypeNode extends TypeNode { + readonly kind: SyntaxKind.ThisType; +} + +export type FunctionOrConstructorTypeNode = FunctionTypeNode | ConstructorTypeNode; + +export interface FunctionOrConstructorTypeNodeBase extends TypeNode, SignatureDeclarationBase { + readonly kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType; + readonly type: TypeNode; +} + +export interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase { + readonly kind: SyntaxKind.FunctionType; +} + +export interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase { + readonly kind: SyntaxKind.ConstructorType; + readonly modifiers?: NodeArray; +} + +export interface NodeWithTypeArguments extends TypeNode { + readonly typeArguments?: NodeArray; +} + +export type TypeReferenceType = TypeReferenceNode | ExpressionWithTypeArguments; + +export interface TypeReferenceNode extends NodeWithTypeArguments { + readonly kind: SyntaxKind.TypeReference; + readonly typeName: EntityName; +} + +export interface TypePredicateNode extends TypeNode { + readonly kind: SyntaxKind.TypePredicate; + readonly parent: SignatureDeclaration | JSDocTypeExpression; + readonly assertsModifier?: AssertsKeyword; + readonly parameterName: Identifier | ThisTypeNode; + readonly type?: TypeNode; +} + +export interface TypeQueryNode extends NodeWithTypeArguments { + readonly kind: SyntaxKind.TypeQuery; + readonly exprName: EntityName; +} + +// A TypeLiteral is the declaration node for an anonymous symbol. +export interface TypeLiteralNode extends TypeNode, Declaration { + readonly kind: SyntaxKind.TypeLiteral; + readonly members: NodeArray; +} + +export interface ArrayTypeNode extends TypeNode { + readonly kind: SyntaxKind.ArrayType; + readonly elementType: TypeNode; +} + +export interface TupleTypeNode extends TypeNode { + readonly kind: SyntaxKind.TupleType; + readonly elements: NodeArray; +} + +export interface NamedTupleMember extends TypeNode, Declaration { + readonly kind: SyntaxKind.NamedTupleMember; + readonly dotDotDotToken?: Token; + readonly name: Identifier; + readonly questionToken?: Token; + readonly type: TypeNode; +} + +export interface OptionalTypeNode extends TypeNode { + readonly kind: SyntaxKind.OptionalType; + readonly type: TypeNode; +} + +export interface RestTypeNode extends TypeNode { + readonly kind: SyntaxKind.RestType; + readonly type: TypeNode; +} + +export type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode; + +export interface UnionTypeNode extends TypeNode { + readonly kind: SyntaxKind.UnionType; + readonly types: NodeArray; +} + +export interface IntersectionTypeNode extends TypeNode { + readonly kind: SyntaxKind.IntersectionType; + readonly types: NodeArray; +} + +export interface ConditionalTypeNode extends TypeNode { + readonly kind: SyntaxKind.ConditionalType; + readonly checkType: TypeNode; + readonly extendsType: TypeNode; + readonly trueType: TypeNode; + readonly falseType: TypeNode; +} + +export interface InferTypeNode extends TypeNode { + readonly kind: SyntaxKind.InferType; + readonly typeParameter: TypeParameterDeclaration; +} + +export interface ParenthesizedTypeNode extends TypeNode { + readonly kind: SyntaxKind.ParenthesizedType; + readonly type: TypeNode; +} + +export interface TypeOperatorNode extends TypeNode { + readonly kind: SyntaxKind.TypeOperator; + readonly operator: SyntaxKind.KeyOfKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.ReadonlyKeyword; + readonly type: TypeNode; +} + +export interface IndexedAccessTypeNode extends TypeNode { + readonly kind: SyntaxKind.IndexedAccessType; + readonly objectType: TypeNode; + readonly indexType: TypeNode; +} + +export interface MappedTypeNode extends TypeNode, Declaration { + readonly kind: SyntaxKind.MappedType; + readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken; + readonly typeParameter: TypeParameterDeclaration; + readonly nameType?: TypeNode; + readonly questionToken?: QuestionToken | PlusToken | MinusToken; + readonly type?: TypeNode; + /** Used only to produce grammar errors */ + readonly members?: NodeArray; +} + +export interface LiteralTypeNode extends TypeNode { + readonly kind: SyntaxKind.LiteralType; + readonly literal: NullLiteral | BooleanLiteral | LiteralExpression | PrefixUnaryExpression; +} + +export interface StringLiteral extends LiteralExpression, Declaration { + readonly kind: SyntaxKind.StringLiteral; +} + +export type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; +export type PropertyNameLiteral = Identifier | StringLiteralLike | NumericLiteral | JsxNamespacedName | BigIntLiteral; + +export interface TemplateLiteralTypeNode extends TypeNode { + kind: SyntaxKind.TemplateLiteralType; + readonly head: TemplateHead; + readonly templateSpans: NodeArray; +} + +export interface TemplateLiteralTypeSpan extends TypeNode { + readonly kind: SyntaxKind.TemplateLiteralTypeSpan; + readonly parent: TemplateLiteralTypeNode; + readonly type: TypeNode; + readonly literal: TemplateMiddle | TemplateTail; +} + +// Note: 'brands' in our syntax nodes serve to give us a small amount of nominal typing. +// Consider 'Expression'. Without the brand, 'Expression' is actually no different +// (structurally) than 'Node'. Because of this you can pass any Node to a function that +// takes an Expression without any error. By using the 'brands' we ensure that the type +// checker actually thinks you have something of the right type. Note: the brands are +// never actually given values. At runtime they have zero cost. + +export interface Expression extends Node { + _expressionBrand: any; +} + +export interface OmittedExpression extends Expression { + readonly kind: SyntaxKind.OmittedExpression; +} + +// Represents an expression that is elided as part of a transformation to emit comments on a +// not-emitted node. The 'expression' property of a PartiallyEmittedExpression should be emitted. +export interface PartiallyEmittedExpression extends LeftHandSideExpression { + readonly kind: SyntaxKind.PartiallyEmittedExpression; + readonly expression: Expression; +} + +export interface UnaryExpression extends Expression { + _unaryExpressionBrand: any; +} + +/** Deprecated, please use UpdateExpression */ +export type IncrementExpression = UpdateExpression; +export interface UpdateExpression extends UnaryExpression { + _updateExpressionBrand: any; +} + +// see: https://tc39.github.io/ecma262/#prod-UpdateExpression +// see: https://tc39.github.io/ecma262/#prod-UnaryExpression +export type PrefixUnaryOperator = + | SyntaxKind.PlusPlusToken + | SyntaxKind.MinusMinusToken + | SyntaxKind.PlusToken + | SyntaxKind.MinusToken + | SyntaxKind.TildeToken + | SyntaxKind.ExclamationToken; + +export interface PrefixUnaryExpression extends UpdateExpression { + readonly kind: SyntaxKind.PrefixUnaryExpression; + readonly operator: PrefixUnaryOperator; + readonly operand: UnaryExpression; +} + +// see: https://tc39.github.io/ecma262/#prod-UpdateExpression +export type PostfixUnaryOperator = + | SyntaxKind.PlusPlusToken + | SyntaxKind.MinusMinusToken; + +export interface PostfixUnaryExpression extends UpdateExpression { + readonly kind: SyntaxKind.PostfixUnaryExpression; + readonly operand: LeftHandSideExpression; + readonly operator: PostfixUnaryOperator; +} + +export interface LeftHandSideExpression extends UpdateExpression { + _leftHandSideExpressionBrand: any; +} + +export interface MemberExpression extends LeftHandSideExpression { + _memberExpressionBrand: any; +} + +export interface PrimaryExpression extends MemberExpression { + _primaryExpressionBrand: any; +} + +export interface NullLiteral extends PrimaryExpression { + readonly kind: SyntaxKind.NullKeyword; +} + +export interface TrueLiteral extends PrimaryExpression { + readonly kind: SyntaxKind.TrueKeyword; +} + +export interface FalseLiteral extends PrimaryExpression { + readonly kind: SyntaxKind.FalseKeyword; +} + +export type BooleanLiteral = TrueLiteral | FalseLiteral; + +export interface ThisExpression extends PrimaryExpression { + readonly kind: SyntaxKind.ThisKeyword; +} + +export interface SuperExpression extends PrimaryExpression { + readonly kind: SyntaxKind.SuperKeyword; +} + +export interface ImportExpression extends PrimaryExpression { + readonly kind: SyntaxKind.ImportKeyword; +} + +export interface DeleteExpression extends UnaryExpression { + readonly kind: SyntaxKind.DeleteExpression; + readonly expression: UnaryExpression; +} + +export interface TypeOfExpression extends UnaryExpression { + readonly kind: SyntaxKind.TypeOfExpression; + readonly expression: UnaryExpression; +} + +export interface VoidExpression extends UnaryExpression { + readonly kind: SyntaxKind.VoidExpression; + readonly expression: UnaryExpression; +} + +export interface AwaitExpression extends UnaryExpression { + readonly kind: SyntaxKind.AwaitExpression; + readonly expression: UnaryExpression; +} + +export interface YieldExpression extends Expression { + readonly kind: SyntaxKind.YieldExpression; + readonly asteriskToken?: AsteriskToken; + readonly expression?: Expression; +} + +// see: https://tc39.github.io/ecma262/#prod-ExponentiationExpression +export type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken; + +// see: https://tc39.github.io/ecma262/#prod-MultiplicativeOperator +export type MultiplicativeOperator = + | SyntaxKind.AsteriskToken + | SyntaxKind.SlashToken + | SyntaxKind.PercentToken; + +// see: https://tc39.github.io/ecma262/#prod-MultiplicativeExpression +export type MultiplicativeOperatorOrHigher = + | ExponentiationOperator + | MultiplicativeOperator; + +// see: https://tc39.github.io/ecma262/#prod-AdditiveExpression +export type AdditiveOperator = + | SyntaxKind.PlusToken + | SyntaxKind.MinusToken; + +// see: https://tc39.github.io/ecma262/#prod-AdditiveExpression +export type AdditiveOperatorOrHigher = + | MultiplicativeOperatorOrHigher + | AdditiveOperator; + +// see: https://tc39.github.io/ecma262/#prod-ShiftExpression +export type ShiftOperator = + | SyntaxKind.LessThanLessThanToken + | SyntaxKind.GreaterThanGreaterThanToken + | SyntaxKind.GreaterThanGreaterThanGreaterThanToken; + +// see: https://tc39.github.io/ecma262/#prod-ShiftExpression +export type ShiftOperatorOrHigher = + | AdditiveOperatorOrHigher + | ShiftOperator; + +// see: https://tc39.github.io/ecma262/#prod-RelationalExpression +export type RelationalOperator = + | SyntaxKind.LessThanToken + | SyntaxKind.LessThanEqualsToken + | SyntaxKind.GreaterThanToken + | SyntaxKind.GreaterThanEqualsToken + | SyntaxKind.InstanceOfKeyword + | SyntaxKind.InKeyword; + +// see: https://tc39.github.io/ecma262/#prod-RelationalExpression +export type RelationalOperatorOrHigher = + | ShiftOperatorOrHigher + | RelationalOperator; + +// see: https://tc39.github.io/ecma262/#prod-EqualityExpression +export type EqualityOperator = + | SyntaxKind.EqualsEqualsToken + | SyntaxKind.EqualsEqualsEqualsToken + | SyntaxKind.ExclamationEqualsEqualsToken + | SyntaxKind.ExclamationEqualsToken; + +// see: https://tc39.github.io/ecma262/#prod-EqualityExpression +export type EqualityOperatorOrHigher = + | RelationalOperatorOrHigher + | EqualityOperator; + +// see: https://tc39.github.io/ecma262/#prod-BitwiseANDExpression +// see: https://tc39.github.io/ecma262/#prod-BitwiseXORExpression +// see: https://tc39.github.io/ecma262/#prod-BitwiseORExpression +export type BitwiseOperator = + | SyntaxKind.AmpersandToken + | SyntaxKind.BarToken + | SyntaxKind.CaretToken; + +// see: https://tc39.github.io/ecma262/#prod-BitwiseANDExpression +// see: https://tc39.github.io/ecma262/#prod-BitwiseXORExpression +// see: https://tc39.github.io/ecma262/#prod-BitwiseORExpression +export type BitwiseOperatorOrHigher = + | EqualityOperatorOrHigher + | BitwiseOperator; + +// see: https://tc39.github.io/ecma262/#prod-LogicalANDExpression +// see: https://tc39.github.io/ecma262/#prod-LogicalORExpression +export type LogicalOperator = + | SyntaxKind.AmpersandAmpersandToken + | SyntaxKind.BarBarToken; + +// see: https://tc39.github.io/ecma262/#prod-LogicalANDExpression +// see: https://tc39.github.io/ecma262/#prod-LogicalORExpression +export type LogicalOperatorOrHigher = + | BitwiseOperatorOrHigher + | LogicalOperator; + +// see: https://tc39.github.io/ecma262/#prod-AssignmentOperator +export type CompoundAssignmentOperator = + | SyntaxKind.PlusEqualsToken + | SyntaxKind.MinusEqualsToken + | SyntaxKind.AsteriskAsteriskEqualsToken + | SyntaxKind.AsteriskEqualsToken + | SyntaxKind.SlashEqualsToken + | SyntaxKind.PercentEqualsToken + | SyntaxKind.AmpersandEqualsToken + | SyntaxKind.BarEqualsToken + | SyntaxKind.CaretEqualsToken + | SyntaxKind.LessThanLessThanEqualsToken + | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken + | SyntaxKind.GreaterThanGreaterThanEqualsToken + | SyntaxKind.BarBarEqualsToken + | SyntaxKind.AmpersandAmpersandEqualsToken + | SyntaxKind.QuestionQuestionEqualsToken; + +// see: https://tc39.github.io/ecma262/#prod-AssignmentExpression +export type AssignmentOperator = + | SyntaxKind.EqualsToken + | CompoundAssignmentOperator; + +// see: https://tc39.github.io/ecma262/#prod-AssignmentExpression +export type AssignmentOperatorOrHigher = + | SyntaxKind.QuestionQuestionToken + | LogicalOperatorOrHigher + | AssignmentOperator; + +// see: https://tc39.github.io/ecma262/#prod-Expression +export type BinaryOperator = + | AssignmentOperatorOrHigher + | SyntaxKind.CommaToken; + +export type LogicalOrCoalescingAssignmentOperator = + | SyntaxKind.AmpersandAmpersandEqualsToken + | SyntaxKind.BarBarEqualsToken + | SyntaxKind.QuestionQuestionEqualsToken; + +export type BinaryOperatorToken = Token; + +export interface BinaryExpression extends Expression, Declaration { + readonly kind: SyntaxKind.BinaryExpression; + readonly left: Expression; + readonly operatorToken: BinaryOperatorToken; + readonly right: Expression; +} + +export type AssignmentOperatorToken = Token; + +export interface AssignmentExpression extends BinaryExpression { + readonly left: LeftHandSideExpression; + readonly operatorToken: TOperator; +} + +export interface ObjectDestructuringAssignment extends AssignmentExpression { + readonly left: ObjectLiteralExpression; +} + +export interface ArrayDestructuringAssignment extends AssignmentExpression { + readonly left: ArrayLiteralExpression; +} + +export type DestructuringAssignment = + | ObjectDestructuringAssignment + | ArrayDestructuringAssignment; + +export type BindingOrAssignmentElement = + | VariableDeclaration + | ParameterDeclaration + | ObjectBindingOrAssignmentElement + | ArrayBindingOrAssignmentElement; + +export type ObjectBindingOrAssignmentElement = + | BindingElement + | PropertyAssignment // AssignmentProperty + | ShorthandPropertyAssignment // AssignmentProperty + | SpreadAssignment // AssignmentRestProperty +; + +export type ArrayBindingOrAssignmentElement = + | BindingElement + | OmittedExpression // Elision + | SpreadElement // AssignmentRestElement + | ArrayLiteralExpression // ArrayAssignmentPattern + | ObjectLiteralExpression // ObjectAssignmentPattern + | AssignmentExpression // AssignmentElement + | Identifier // DestructuringAssignmentTarget + | PropertyAccessExpression // DestructuringAssignmentTarget + | ElementAccessExpression // DestructuringAssignmentTarget +; + +export type BindingOrAssignmentElementRestIndicator = + | DotDotDotToken // from BindingElement + | SpreadElement // AssignmentRestElement + | SpreadAssignment // AssignmentRestProperty +; + +export type BindingOrAssignmentElementTarget = + | BindingOrAssignmentPattern + | Identifier + | PropertyAccessExpression + | ElementAccessExpression + | OmittedExpression; + +export type ObjectBindingOrAssignmentPattern = + | ObjectBindingPattern + | ObjectLiteralExpression // ObjectAssignmentPattern +; + +export type ArrayBindingOrAssignmentPattern = + | ArrayBindingPattern + | ArrayLiteralExpression // ArrayAssignmentPattern +; + +export type AssignmentPattern = ObjectLiteralExpression | ArrayLiteralExpression; + +export type BindingOrAssignmentPattern = ObjectBindingOrAssignmentPattern | ArrayBindingOrAssignmentPattern; + +export interface ConditionalExpression extends Expression { + readonly kind: SyntaxKind.ConditionalExpression; + readonly condition: Expression; + readonly questionToken: QuestionToken; + readonly whenTrue: Expression; + readonly colonToken: ColonToken; + readonly whenFalse: Expression; +} + +export type FunctionBody = Block; +export type ConciseBody = FunctionBody | Expression; + +export interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase { + readonly kind: SyntaxKind.FunctionExpression; + readonly modifiers?: NodeArray; + readonly name?: Identifier; + readonly body: FunctionBody; // Required, whereas the member inherited from FunctionDeclaration is optional +} + +export interface ArrowFunction extends Expression, FunctionLikeDeclarationBase { + readonly kind: SyntaxKind.ArrowFunction; + readonly modifiers?: NodeArray; + readonly equalsGreaterThanToken: EqualsGreaterThanToken; + readonly body: ConciseBody; + readonly name: never; +} + +// The text property of a LiteralExpression stores the interpreted value of the literal in text form. For a StringLiteral, +// or any literal of a template, this means quotes have been removed and escapes have been converted to actual characters. +// For a NumericLiteral, the stored value is the toString() representation of the number. For example 1, 1.00, and 1e0 are all stored as just "1". +export interface LiteralLikeNode extends Node { + text: string; + isUnterminated?: boolean; + hasExtendedUnicodeEscape?: boolean; +} + +export interface TemplateLiteralLikeNode extends LiteralLikeNode { + rawText?: string; + templateFlags?: TokenFlags; +} + +// The text property of a LiteralExpression stores the interpreted value of the literal in text form. For a StringLiteral, +// or any literal of a template, this means quotes have been removed and escapes have been converted to actual characters. +// For a NumericLiteral, the stored value is the toString() representation of the number. For example 1, 1.00, and 1e0 are all stored as just "1". +export interface LiteralExpression extends LiteralLikeNode, PrimaryExpression { + _literalExpressionBrand: any; +} + +export interface RegularExpressionLiteral extends LiteralExpression { + readonly kind: SyntaxKind.RegularExpressionLiteral; +} + +// dprint-ignore +export interface NoSubstitutionTemplateLiteral extends LiteralExpression, TemplateLiteralLikeNode, Declaration { + readonly kind: SyntaxKind.NoSubstitutionTemplateLiteral; +} + +export interface NumericLiteral extends LiteralExpression, Declaration { + readonly kind: SyntaxKind.NumericLiteral; + readonly numericLiteralFlags: TokenFlags; +} + +export interface BigIntLiteral extends LiteralExpression { + readonly kind: SyntaxKind.BigIntLiteral; +} + +export type LiteralToken = + | NumericLiteral + | BigIntLiteral + | StringLiteral + | JsxText + | RegularExpressionLiteral + | NoSubstitutionTemplateLiteral; + +export interface TemplateHead extends TemplateLiteralLikeNode { + readonly kind: SyntaxKind.TemplateHead; + readonly parent: TemplateExpression | TemplateLiteralTypeNode; + templateFlags: TokenFlags; +} + +export interface TemplateMiddle extends TemplateLiteralLikeNode { + readonly kind: SyntaxKind.TemplateMiddle; + readonly parent: TemplateSpan | TemplateLiteralTypeSpan; + templateFlags: TokenFlags; +} + +export interface TemplateTail extends TemplateLiteralLikeNode { + readonly kind: SyntaxKind.TemplateTail; + readonly parent: TemplateSpan | TemplateLiteralTypeSpan; + templateFlags: TokenFlags; +} + +export type PseudoLiteralToken = + | TemplateHead + | TemplateMiddle + | TemplateTail; + +export type TemplateLiteralToken = + | NoSubstitutionTemplateLiteral + | PseudoLiteralToken; + +export interface TemplateExpression extends PrimaryExpression { + readonly kind: SyntaxKind.TemplateExpression; + readonly head: TemplateHead; + readonly templateSpans: NodeArray; +} + +export type TemplateLiteral = + | TemplateExpression + | NoSubstitutionTemplateLiteral; + +// Each of these corresponds to a substitution expression and a template literal, in that order. +// The template literal must have kind TemplateMiddleLiteral or TemplateTailLiteral. +export interface TemplateSpan extends Node { + readonly kind: SyntaxKind.TemplateSpan; + readonly parent: TemplateExpression; + readonly expression: Expression; + readonly literal: TemplateMiddle | TemplateTail; +} + +export interface ParenthesizedExpression extends PrimaryExpression { + readonly kind: SyntaxKind.ParenthesizedExpression; + readonly expression: Expression; +} + +export interface ArrayLiteralExpression extends PrimaryExpression { + readonly kind: SyntaxKind.ArrayLiteralExpression; + readonly elements: NodeArray; + multiLine?: boolean; +} + +export interface SpreadElement extends Expression { + readonly kind: SyntaxKind.SpreadElement; + readonly parent: ArrayLiteralExpression | CallExpression | NewExpression; + readonly expression: Expression; +} + +/** + * This interface is a base interface for ObjectLiteralExpression and JSXAttributes to extend from. JSXAttributes is similar to + * ObjectLiteralExpression in that it contains array of properties; however, JSXAttributes' properties can only be + * JSXAttribute or JSXSpreadAttribute. ObjectLiteralExpression, on the other hand, can only have properties of type + * ObjectLiteralElement (e.g. PropertyAssignment, ShorthandPropertyAssignment etc.) + */ +export interface ObjectLiteralExpressionBase extends PrimaryExpression, Declaration { + readonly properties: NodeArray; +} + +// An ObjectLiteralExpression is the declaration node for an anonymous symbol. +export interface ObjectLiteralExpression extends ObjectLiteralExpressionBase { + readonly kind: SyntaxKind.ObjectLiteralExpression; + multiLine?: boolean; +} + +export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; +export type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; +export type AccessExpression = PropertyAccessExpression | ElementAccessExpression; + +export interface PropertyAccessExpression extends MemberExpression, NamedDeclaration { + readonly kind: SyntaxKind.PropertyAccessExpression; + readonly expression: LeftHandSideExpression; + readonly questionDotToken?: QuestionDotToken; + readonly name: MemberName; +} + +export interface PropertyAccessChain extends PropertyAccessExpression { + _optionalChainBrand: any; + readonly name: MemberName; +} + +export interface SuperPropertyAccessExpression extends PropertyAccessExpression { + readonly expression: SuperExpression; +} + +/** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ +export interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + readonly expression: EntityNameExpression; + readonly name: Identifier; +} + +export interface ElementAccessExpression extends MemberExpression, Declaration { + readonly kind: SyntaxKind.ElementAccessExpression; + readonly expression: LeftHandSideExpression; + readonly questionDotToken?: QuestionDotToken; + readonly argumentExpression: Expression; +} + +export interface ElementAccessChain extends ElementAccessExpression { + _optionalChainBrand: any; +} + +export interface SuperElementAccessExpression extends ElementAccessExpression { + readonly expression: SuperExpression; +} + +// see: https://tc39.github.io/ecma262/#prod-SuperProperty +export type SuperProperty = SuperPropertyAccessExpression | SuperElementAccessExpression; + +export interface CallExpression extends LeftHandSideExpression, Declaration { + readonly kind: SyntaxKind.CallExpression; + readonly expression: LeftHandSideExpression; + readonly questionDotToken?: QuestionDotToken; + readonly typeArguments?: NodeArray; + readonly arguments: NodeArray; +} + +export interface CallChain extends CallExpression { + _optionalChainBrand: any; +} + +export type OptionalChain = + | PropertyAccessChain + | ElementAccessChain + | CallChain + | NonNullChain; + +// see: https://tc39.github.io/ecma262/#prod-SuperCall +export interface SuperCall extends CallExpression { + readonly expression: SuperExpression; +} + +export interface ImportCall extends CallExpression { + readonly expression: ImportExpression; +} + +export interface ExpressionWithTypeArguments extends MemberExpression, NodeWithTypeArguments { + readonly kind: SyntaxKind.ExpressionWithTypeArguments; + readonly expression: LeftHandSideExpression; +} + +export interface NewExpression extends PrimaryExpression, Declaration { + readonly kind: SyntaxKind.NewExpression; + readonly expression: LeftHandSideExpression; + readonly typeArguments?: NodeArray; + readonly arguments?: NodeArray; +} + +export interface TaggedTemplateExpression extends MemberExpression { + readonly kind: SyntaxKind.TaggedTemplateExpression; + readonly tag: LeftHandSideExpression; + readonly typeArguments?: NodeArray; + readonly template: TemplateLiteral; +} + +export interface InstanceofExpression extends BinaryExpression { + readonly operatorToken: Token; +} + +export type CallLikeExpression = + | CallExpression + | NewExpression + | TaggedTemplateExpression + | Decorator + | JsxOpeningLikeElement + | InstanceofExpression; + +export interface AsExpression extends Expression { + readonly kind: SyntaxKind.AsExpression; + readonly expression: Expression; + readonly type: TypeNode; +} + +export interface TypeAssertion extends UnaryExpression { + readonly kind: SyntaxKind.TypeAssertionExpression; + readonly type: TypeNode; + readonly expression: UnaryExpression; +} + +export interface SatisfiesExpression extends Expression { + readonly kind: SyntaxKind.SatisfiesExpression; + readonly expression: Expression; + readonly type: TypeNode; +} + +export type AssertionExpression = + | TypeAssertion + | AsExpression; + +export interface NonNullExpression extends LeftHandSideExpression { + readonly kind: SyntaxKind.NonNullExpression; + readonly expression: Expression; +} + +export interface NonNullChain extends NonNullExpression { + _optionalChainBrand: any; +} + +// NOTE: MetaProperty is really a MemberExpression, but we consider it a PrimaryExpression +// for the same reasons we treat NewExpression as a PrimaryExpression. +export interface MetaProperty extends PrimaryExpression { + readonly kind: SyntaxKind.MetaProperty; + readonly keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword; + readonly name: Identifier; +} + +/// A JSX expression of the form ... +export interface JsxElement extends PrimaryExpression { + readonly kind: SyntaxKind.JsxElement; + readonly openingElement: JsxOpeningElement; + readonly children: NodeArray; + readonly closingElement: JsxClosingElement; +} + +/// Either the opening tag in a ... pair or the lone in a self-closing form +export type JsxOpeningLikeElement = + | JsxSelfClosingElement + | JsxOpeningElement; + +export type JsxAttributeLike = + | JsxAttribute + | JsxSpreadAttribute; + +export type JsxAttributeName = + | Identifier + | JsxNamespacedName; + +export type JsxTagNameExpression = + | Identifier + | ThisExpression + | JsxTagNamePropertyAccess + | JsxNamespacedName; + +export interface JsxTagNamePropertyAccess extends PropertyAccessExpression { + readonly expression: Identifier | ThisExpression | JsxTagNamePropertyAccess; +} + +export interface JsxAttributes extends PrimaryExpression, Declaration { + readonly properties: NodeArray; + readonly kind: SyntaxKind.JsxAttributes; + readonly parent: JsxOpeningLikeElement; +} + +export interface JsxNamespacedName extends Node { + readonly kind: SyntaxKind.JsxNamespacedName; + readonly name: Identifier; + readonly namespace: Identifier; +} + +/// The opening element of a ... JsxElement +export interface JsxOpeningElement extends Expression { + readonly kind: SyntaxKind.JsxOpeningElement; + readonly parent: JsxElement; + readonly tagName: JsxTagNameExpression; + readonly typeArguments?: NodeArray; + readonly attributes: JsxAttributes; +} + +/// A JSX expression of the form +export interface JsxSelfClosingElement extends PrimaryExpression { + readonly kind: SyntaxKind.JsxSelfClosingElement; + readonly tagName: JsxTagNameExpression; + readonly typeArguments?: NodeArray; + readonly attributes: JsxAttributes; +} + +/// A JSX expression of the form <>... +export interface JsxFragment extends PrimaryExpression { + readonly kind: SyntaxKind.JsxFragment; + readonly openingFragment: JsxOpeningFragment; + readonly children: NodeArray; + readonly closingFragment: JsxClosingFragment; +} + +/// The opening element of a <>... JsxFragment +export interface JsxOpeningFragment extends Expression { + readonly kind: SyntaxKind.JsxOpeningFragment; + readonly parent: JsxFragment; +} + +/// The closing element of a <>... JsxFragment +export interface JsxClosingFragment extends Expression { + readonly kind: SyntaxKind.JsxClosingFragment; + readonly parent: JsxFragment; +} + +export interface JsxAttribute extends Declaration { + readonly kind: SyntaxKind.JsxAttribute; + readonly parent: JsxAttributes; + readonly name: JsxAttributeName; + /// JSX attribute initializers are optional; is sugar for + readonly initializer?: JsxAttributeValue; +} + +export type JsxAttributeValue = + | StringLiteral + | JsxExpression + | JsxElement + | JsxSelfClosingElement + | JsxFragment; + +export interface JsxSpreadAttribute extends ObjectLiteralElement { + readonly kind: SyntaxKind.JsxSpreadAttribute; + readonly parent: JsxAttributes; + readonly expression: Expression; +} + +export interface JsxClosingElement extends Node { + readonly kind: SyntaxKind.JsxClosingElement; + readonly parent: JsxElement; + readonly tagName: JsxTagNameExpression; +} + +export interface JsxExpression extends Expression { + readonly kind: SyntaxKind.JsxExpression; + readonly parent: JsxElement | JsxFragment | JsxAttributeLike; + readonly dotDotDotToken?: Token; + readonly expression?: Expression; +} + +export interface JsxText extends LiteralLikeNode { + readonly kind: SyntaxKind.JsxText; + readonly parent: JsxElement | JsxFragment; + readonly containsOnlyTriviaWhiteSpaces: boolean; +} + +export type JsxChild = + | JsxText + | JsxExpression + | JsxElement + | JsxSelfClosingElement + | JsxFragment; + +export interface Statement extends Node { + _statementBrand: any; +} + +/** + * A list of comma-separated expressions. This node is only created by transformations. + */ +export interface CommaListExpression extends Expression { + readonly kind: SyntaxKind.CommaListExpression; + readonly elements: NodeArray; +} + +export interface EmptyStatement extends Statement { + readonly kind: SyntaxKind.EmptyStatement; +} + +export interface DebuggerStatement extends Statement { + readonly kind: SyntaxKind.DebuggerStatement; +} + +export interface Block extends Statement { + readonly kind: SyntaxKind.Block; + readonly statements: NodeArray; + multiLine?: boolean; +} + +export interface VariableStatement extends Statement { + readonly kind: SyntaxKind.VariableStatement; + readonly modifiers?: NodeArray; + readonly declarationList: VariableDeclarationList; +} + +export interface ExpressionStatement extends Statement { + readonly kind: SyntaxKind.ExpressionStatement; + readonly expression: Expression; +} + +export interface IfStatement extends Statement { + readonly kind: SyntaxKind.IfStatement; + readonly expression: Expression; + readonly thenStatement: Statement; + readonly elseStatement?: Statement; +} + +export interface IterationStatement extends Statement { + readonly statement: Statement; +} + +export interface DoStatement extends IterationStatement { + readonly kind: SyntaxKind.DoStatement; + readonly expression: Expression; +} + +export interface WhileStatement extends IterationStatement { + readonly kind: SyntaxKind.WhileStatement; + readonly expression: Expression; +} + +export type ForInitializer = + | VariableDeclarationList + | Expression; + +export interface ForStatement extends IterationStatement { + readonly kind: SyntaxKind.ForStatement; + readonly initializer?: ForInitializer; + readonly condition?: Expression; + readonly incrementor?: Expression; +} + +export type ForInOrOfStatement = + | ForInStatement + | ForOfStatement; + +export interface ForInStatement extends IterationStatement { + readonly kind: SyntaxKind.ForInStatement; + readonly initializer: ForInitializer; + readonly expression: Expression; +} + +export interface ForOfStatement extends IterationStatement { + readonly kind: SyntaxKind.ForOfStatement; + readonly awaitModifier?: AwaitKeyword; + readonly initializer: ForInitializer; + readonly expression: Expression; +} + +export interface BreakStatement extends Statement { + readonly kind: SyntaxKind.BreakStatement; + readonly label?: Identifier; +} + +export interface ContinueStatement extends Statement { + readonly kind: SyntaxKind.ContinueStatement; + readonly label?: Identifier; +} + +export type BreakOrContinueStatement = + | BreakStatement + | ContinueStatement; + +export interface ReturnStatement extends Statement { + readonly kind: SyntaxKind.ReturnStatement; + readonly expression?: Expression; +} + +export interface WithStatement extends Statement { + readonly kind: SyntaxKind.WithStatement; + readonly expression: Expression; + readonly statement: Statement; +} + +export interface SwitchStatement extends Statement { + readonly kind: SyntaxKind.SwitchStatement; + readonly expression: Expression; + readonly caseBlock: CaseBlock; + possiblyExhaustive?: boolean; // initialized by binding +} + +export interface CaseBlock extends Node { + readonly kind: SyntaxKind.CaseBlock; + readonly parent: SwitchStatement; + readonly clauses: NodeArray; +} + +export interface CaseClause extends Node { + readonly kind: SyntaxKind.CaseClause; + readonly parent: CaseBlock; + readonly expression: Expression; + readonly statements: NodeArray; +} + +export interface DefaultClause extends Node { + readonly kind: SyntaxKind.DefaultClause; + readonly parent: CaseBlock; + readonly statements: NodeArray; +} + +export type CaseOrDefaultClause = + | CaseClause + | DefaultClause; + +export interface LabeledStatement extends Statement { + readonly kind: SyntaxKind.LabeledStatement; + readonly label: Identifier; + readonly statement: Statement; +} + +export interface ThrowStatement extends Statement { + readonly kind: SyntaxKind.ThrowStatement; + readonly expression: Expression; +} + +export interface TryStatement extends Statement { + readonly kind: SyntaxKind.TryStatement; + readonly tryBlock: Block; + readonly catchClause?: CatchClause; + readonly finallyBlock?: Block; +} + +export interface CatchClause extends Node { + readonly kind: SyntaxKind.CatchClause; + readonly parent: TryStatement; + readonly variableDeclaration?: VariableDeclaration; + readonly block: Block; +} + +export type ObjectTypeDeclaration = + | ClassLikeDeclaration + | InterfaceDeclaration + | TypeLiteralNode; + +export type DeclarationWithTypeParameters = + | DeclarationWithTypeParameterChildren + | JSDocTypedefTag + | JSDocCallbackTag + | JSDocSignature; + +export type DeclarationWithTypeParameterChildren = + | SignatureDeclaration + | ClassLikeDeclaration + | InterfaceDeclaration + | TypeAliasDeclaration + | JSDocTemplateTag; + +export interface ClassLikeDeclarationBase extends NamedDeclaration { + readonly kind: SyntaxKind.ClassDeclaration | SyntaxKind.ClassExpression; + readonly name?: Identifier; + readonly typeParameters?: NodeArray; + readonly heritageClauses?: NodeArray; + readonly members: NodeArray; +} + +export interface ClassDeclaration extends ClassLikeDeclarationBase, DeclarationStatement { + readonly kind: SyntaxKind.ClassDeclaration; + readonly modifiers?: NodeArray; + /** May be undefined in `export default class { ... }`. */ + readonly name?: Identifier; +} + +export interface ClassExpression extends ClassLikeDeclarationBase, PrimaryExpression { + readonly kind: SyntaxKind.ClassExpression; + readonly modifiers?: NodeArray; +} + +export type ClassLikeDeclaration = + | ClassDeclaration + | ClassExpression; + +export interface ClassElement extends NamedDeclaration { + _classElementBrand: any; + readonly name?: PropertyName; +} + +export interface TypeElement extends NamedDeclaration { + _typeElementBrand: any; + readonly name?: PropertyName; + readonly questionToken?: QuestionToken | undefined; +} + +export interface InterfaceDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.InterfaceDeclaration; + readonly modifiers?: NodeArray; + readonly name: Identifier; + readonly typeParameters?: NodeArray; + readonly heritageClauses?: NodeArray; + readonly members: NodeArray; +} + +export interface HeritageClause extends Node { + readonly kind: SyntaxKind.HeritageClause; + readonly parent: InterfaceDeclaration | ClassLikeDeclaration; + readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword; + readonly types: NodeArray; +} + +export interface TypeAliasDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.TypeAliasDeclaration; + readonly modifiers?: NodeArray; + readonly name: Identifier; + readonly typeParameters?: NodeArray; + readonly type: TypeNode; +} + +export interface EnumMember extends NamedDeclaration { + readonly kind: SyntaxKind.EnumMember; + readonly parent: EnumDeclaration; + // This does include ComputedPropertyName, but the parser will give an error + // if it parses a ComputedPropertyName in an EnumMember + readonly name: PropertyName; + readonly initializer?: Expression; +} + +export interface EnumDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.EnumDeclaration; + readonly modifiers?: NodeArray; + readonly name: Identifier; + readonly members: NodeArray; +} + +export type ModuleName = + | Identifier + | StringLiteral; + +export type ModuleBody = + | NamespaceBody + | JSDocNamespaceBody; + +export interface ModuleDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.ModuleDeclaration; + readonly parent: ModuleBody | SourceFile; + readonly modifiers?: NodeArray; + readonly name: ModuleName; + readonly body?: ModuleBody | JSDocNamespaceDeclaration; +} + +export type NamespaceBody = + | ModuleBlock + | NamespaceDeclaration; + +export interface NamespaceDeclaration extends ModuleDeclaration { + readonly name: Identifier; + readonly body: NamespaceBody; +} + +export type JSDocNamespaceBody = + | Identifier + | JSDocNamespaceDeclaration; + +export interface JSDocNamespaceDeclaration extends ModuleDeclaration { + readonly name: Identifier; + readonly body?: JSDocNamespaceBody; +} + +export interface ModuleBlock extends Node, Statement { + readonly kind: SyntaxKind.ModuleBlock; + readonly parent: ModuleDeclaration; + readonly statements: NodeArray; +} + +export type ModuleReference = + | EntityName + | ExternalModuleReference; + +/** + * One of: + * - import x = require("mod"); + * - import x = M.x; + */ +export interface ImportEqualsDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.ImportEqualsDeclaration; + readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; + readonly name: Identifier; + readonly isTypeOnly: boolean; + + // 'EntityName' for an internal module reference, 'ExternalModuleReference' for an external + // module reference. + readonly moduleReference: ModuleReference; +} + +export interface ExternalModuleReference extends Node { + readonly kind: SyntaxKind.ExternalModuleReference; + readonly parent: ImportEqualsDeclaration; + readonly expression: Expression; +} + +// In case of: +// import "mod" => importClause = undefined, moduleSpecifier = "mod" +// In rest of the cases, module specifier is string literal corresponding to module +// ImportClause information is shown at its declaration below. +export interface ImportDeclaration extends Statement { + readonly kind: SyntaxKind.ImportDeclaration; + readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; + readonly importClause?: ImportClause; + /** If this is not a StringLiteral it will be a grammar error. */ + readonly moduleSpecifier: Expression; + /** @deprecated */ readonly assertClause?: AssertClause; + readonly attributes?: ImportAttributes; +} + +export type NamedImportBindings = + | NamespaceImport + | NamedImports; + +export type NamedExportBindings = + | NamespaceExport + | NamedExports; + +// In case of: +// import d from "mod" => name = d, namedBinding = undefined +// import * as ns from "mod" => name = undefined, namedBinding: NamespaceImport = { name: ns } +// import d, * as ns from "mod" => name = d, namedBinding: NamespaceImport = { name: ns } +// import { a, b as x } from "mod" => name = undefined, namedBinding: NamedImports = { elements: [{ name: a }, { name: x, propertyName: b}]} +// import d, { a, b as x } from "mod" => name = d, namedBinding: NamedImports = { elements: [{ name: a }, { name: x, propertyName: b}]} +export interface ImportClause extends NamedDeclaration { + readonly kind: SyntaxKind.ImportClause; + readonly parent: ImportDeclaration | JSDocImportTag; + readonly isTypeOnly: boolean; + readonly name?: Identifier; // Default binding + readonly namedBindings?: NamedImportBindings; +} + +/** @deprecated */ +export type AssertionKey = ImportAttributeName; + +/** @deprecated */ +export interface AssertEntry extends ImportAttribute {} + +/** @deprecated */ +export interface AssertClause extends ImportAttributes {} + +export type ImportAttributeName = Identifier | StringLiteral; + +export interface ImportAttribute extends Node { + readonly kind: SyntaxKind.ImportAttribute; + readonly parent: ImportAttributes; + readonly name: ImportAttributeName; + readonly value: Expression; +} + +export interface ImportAttributes extends Node { + readonly token: SyntaxKind.WithKeyword | SyntaxKind.AssertKeyword; + readonly kind: SyntaxKind.ImportAttributes; + readonly parent: ImportDeclaration | ExportDeclaration; + readonly elements: NodeArray; + readonly multiLine?: boolean; +} + +export interface NamespaceImport extends NamedDeclaration { + readonly kind: SyntaxKind.NamespaceImport; + readonly parent: ImportClause; + readonly name: Identifier; +} + +export interface NamespaceExport extends NamedDeclaration { + readonly kind: SyntaxKind.NamespaceExport; + readonly parent: ExportDeclaration; + readonly name: ModuleExportName; +} + +export interface NamespaceExportDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.NamespaceExportDeclaration; + readonly name: Identifier; +} + +export interface ExportDeclaration extends DeclarationStatement { + readonly kind: SyntaxKind.ExportDeclaration; + readonly parent: SourceFile | ModuleBlock; + readonly modifiers?: NodeArray; + readonly isTypeOnly: boolean; + /** Will not be assigned in the case of `export * from "foo";` */ + readonly exportClause?: NamedExportBindings; + /** If this is not a StringLiteral it will be a grammar error. */ + readonly moduleSpecifier?: Expression; + /** @deprecated */ readonly assertClause?: AssertClause; + readonly attributes?: ImportAttributes; +} + +export interface NamedImports extends Node { + readonly kind: SyntaxKind.NamedImports; + readonly parent: ImportClause; + readonly elements: NodeArray; +} + +export interface NamedExports extends Node { + readonly kind: SyntaxKind.NamedExports; + readonly parent: ExportDeclaration; + readonly elements: NodeArray; +} + +export type NamedImportsOrExports = NamedImports | NamedExports; + +export interface ImportSpecifier extends NamedDeclaration { + readonly kind: SyntaxKind.ImportSpecifier; + readonly parent: NamedImports; + readonly propertyName?: ModuleExportName; // Name preceding "as" keyword (or undefined when "as" is absent) + readonly name: Identifier; // Declared name + readonly isTypeOnly: boolean; +} + +export interface ExportSpecifier extends NamedDeclaration { + readonly kind: SyntaxKind.ExportSpecifier; + readonly parent: NamedExports; + readonly isTypeOnly: boolean; + readonly propertyName?: ModuleExportName; // Name preceding "as" keyword (or undefined when "as" is absent) + readonly name: ModuleExportName; // Declared name +} + +export type ModuleExportName = Identifier | StringLiteral; + +export type ImportOrExportSpecifier = + | ImportSpecifier + | ExportSpecifier; + +export type TypeOnlyCompatibleAliasDeclaration = + | ImportClause + | ImportEqualsDeclaration + | NamespaceImport + | ImportOrExportSpecifier + | ExportDeclaration + | NamespaceExport; + +export type TypeOnlyImportDeclaration = + | ImportClause & { readonly isTypeOnly: true; readonly name: Identifier; } + | ImportEqualsDeclaration & { readonly isTypeOnly: true; } + | NamespaceImport & { readonly parent: ImportClause & { readonly isTypeOnly: true; }; } + | ImportSpecifier & ({ readonly isTypeOnly: true; } | { readonly parent: NamedImports & { readonly parent: ImportClause & { readonly isTypeOnly: true; }; }; }); + +export type TypeOnlyExportDeclaration = + | ExportSpecifier & ({ readonly isTypeOnly: true; } | { readonly parent: NamedExports & { readonly parent: ExportDeclaration & { readonly isTypeOnly: true; }; }; }) + | ExportDeclaration & { readonly isTypeOnly: true; readonly moduleSpecifier: Expression; } // export * from "mod" + | NamespaceExport & { readonly parent: ExportDeclaration & { readonly isTypeOnly: true; readonly moduleSpecifier: Expression; }; } // export * as ns from "mod" +; + +export type TypeOnlyAliasDeclaration = TypeOnlyImportDeclaration | TypeOnlyExportDeclaration; + +/** + * This is either an `export =` or an `export default` declaration. + * Unless `isExportEquals` is set, this node was parsed as an `export default`. + */ +export interface ExportAssignment extends DeclarationStatement { + readonly kind: SyntaxKind.ExportAssignment; + readonly parent: SourceFile; + readonly modifiers?: NodeArray; + readonly isExportEquals?: boolean; + readonly expression: Expression; +} + +// represents a top level: { type } expression in a JSDoc comment. +export interface JSDocTypeExpression extends TypeNode { + readonly kind: SyntaxKind.JSDocTypeExpression; + readonly type: TypeNode; +} + +export interface JSDocNameReference extends Node { + readonly kind: SyntaxKind.JSDocNameReference; + readonly name: EntityName | JSDocMemberName; +} + +/** Class#method reference in JSDoc */ +export interface JSDocMemberName extends Node { + readonly kind: SyntaxKind.JSDocMemberName; + readonly left: EntityName | JSDocMemberName; + readonly right: Identifier; +} + +export interface JSDocType extends TypeNode { + _jsDocTypeBrand: any; +} + +export interface JSDocAllType extends JSDocType { + readonly kind: SyntaxKind.JSDocAllType; +} + +export interface JSDocNonNullableType extends JSDocType { + readonly kind: SyntaxKind.JSDocNonNullableType; + readonly type: TypeNode; + readonly postfix: boolean; +} + +export interface JSDocNullableType extends JSDocType { + readonly kind: SyntaxKind.JSDocNullableType; + readonly type: TypeNode; + readonly postfix: boolean; +} + +export interface JSDocOptionalType extends JSDocType { + readonly kind: SyntaxKind.JSDocOptionalType; + readonly type: TypeNode; +} + +export interface JSDocVariadicType extends JSDocType { + readonly kind: SyntaxKind.JSDocVariadicType; + readonly type: TypeNode; +} + +export type JSDocTypeReferencingNode = + | JSDocVariadicType + | JSDocOptionalType + | JSDocNullableType + | JSDocNonNullableType; + +export interface JSDoc extends Node { + readonly kind: SyntaxKind.JSDoc; + readonly parent: HasJSDoc; + readonly tags?: NodeArray; + readonly comment?: string | NodeArray; +} + +export interface JSDocTag extends Node { + readonly parent: JSDoc | JSDocTypeLiteral; + readonly tagName: Identifier; + readonly comment?: string | NodeArray; +} + +export interface JSDocLink extends Node { + readonly kind: SyntaxKind.JSDocLink; + readonly name?: EntityName | JSDocMemberName; + text: string; +} + +export interface JSDocLinkCode extends Node { + readonly kind: SyntaxKind.JSDocLinkCode; + readonly name?: EntityName | JSDocMemberName; + text: string; +} + +export interface JSDocLinkPlain extends Node { + readonly kind: SyntaxKind.JSDocLinkPlain; + readonly name?: EntityName | JSDocMemberName; + text: string; +} + +export type JSDocComment = JSDocText | JSDocLink | JSDocLinkCode | JSDocLinkPlain; + +export interface JSDocText extends Node { + readonly kind: SyntaxKind.JSDocText; + text: string; +} + +export interface JSDocUnknownTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocTag; +} + +/** + * Note that `@extends` is a synonym of `@augments`. + * Both tags are represented by this interface. + */ +export interface JSDocAugmentsTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocAugmentsTag; + readonly class: ExpressionWithTypeArguments & { readonly expression: Identifier | PropertyAccessEntityNameExpression; }; +} + +export interface JSDocImplementsTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocImplementsTag; + readonly class: ExpressionWithTypeArguments & { readonly expression: Identifier | PropertyAccessEntityNameExpression; }; +} + +export interface JSDocDeprecatedTag extends JSDocTag { + kind: SyntaxKind.JSDocDeprecatedTag; +} + +export interface JSDocPublicTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocPublicTag; +} + +export interface JSDocPrivateTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocPrivateTag; +} + +export interface JSDocProtectedTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocProtectedTag; +} + +export interface JSDocReadonlyTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocReadonlyTag; +} + +export interface JSDocOverrideTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocOverrideTag; +} + +export interface JSDocThisTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocThisTag; + readonly typeExpression: JSDocTypeExpression; +} + +export interface JSDocTemplateTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocTemplateTag; + readonly constraint: JSDocTypeExpression | undefined; + readonly typeParameters: NodeArray; +} + +export interface JSDocSeeTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocSeeTag; + readonly name?: JSDocNameReference; +} + +export interface JSDocReturnTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocReturnTag; + readonly typeExpression?: JSDocTypeExpression; +} + +export interface JSDocTypeTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocTypeTag; + readonly typeExpression: JSDocTypeExpression; +} + +export interface JSDocTypedefTag extends JSDocTag, NamedDeclaration { + readonly kind: SyntaxKind.JSDocTypedefTag; + readonly parent: JSDoc; + readonly fullName?: JSDocNamespaceDeclaration | Identifier; + readonly name?: Identifier; + readonly typeExpression?: JSDocTypeExpression | JSDocTypeLiteral; +} + +export interface JSDocCallbackTag extends JSDocTag, NamedDeclaration { + readonly kind: SyntaxKind.JSDocCallbackTag; + readonly parent: JSDoc; + readonly fullName?: JSDocNamespaceDeclaration | Identifier; + readonly name?: Identifier; + readonly typeExpression: JSDocSignature; +} + +export interface JSDocOverloadTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocOverloadTag; + readonly parent: JSDoc; + readonly typeExpression: JSDocSignature; +} + +export interface JSDocSignature extends JSDocType, Declaration { + readonly kind: SyntaxKind.JSDocSignature; + readonly typeParameters?: readonly JSDocTemplateTag[]; + readonly parameters: readonly JSDocParameterTag[]; + readonly type: JSDocReturnTag | undefined; +} + +export interface JSDocPropertyLikeTag extends JSDocTag, Declaration { + readonly parent: JSDoc; + readonly name: EntityName; + readonly typeExpression?: JSDocTypeExpression; + /** Whether the property name came before the type -- non-standard for JSDoc, but Typescript-like */ + readonly isNameFirst: boolean; + readonly isBracketed: boolean; +} + +export interface JSDocPropertyTag extends JSDocPropertyLikeTag { + readonly kind: SyntaxKind.JSDocPropertyTag; +} + +export interface JSDocParameterTag extends JSDocPropertyLikeTag { + readonly kind: SyntaxKind.JSDocParameterTag; +} + +export interface JSDocTypeLiteral extends JSDocType, Declaration { + readonly kind: SyntaxKind.JSDocTypeLiteral; + readonly jsDocPropertyTags?: readonly JSDocPropertyLikeTag[]; + /** If true, then this type literal represents an *array* of its type. */ + readonly isArrayType: boolean; +} + +export interface JSDocSatisfiesTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocSatisfiesTag; + readonly typeExpression: JSDocTypeExpression; +} + +export interface JSDocImportTag extends JSDocTag { + readonly kind: SyntaxKind.JSDocImportTag; + readonly parent: JSDoc; + readonly importClause?: ImportClause; + readonly moduleSpecifier: Expression; + readonly attributes?: ImportAttributes; +} + +export type HasJSDoc = + | AccessorDeclaration + | ArrowFunction + | BinaryExpression + | Block + | BreakStatement + | CallSignatureDeclaration + | CaseClause + | ClassLikeDeclaration + | ClassStaticBlockDeclaration + | ConstructorDeclaration + | ConstructorTypeNode + | ConstructSignatureDeclaration + | ContinueStatement + | DebuggerStatement + | DoStatement + | ElementAccessExpression + | EmptyStatement + | EndOfFile + | EnumDeclaration + | EnumMember + | ExportAssignment + | ExportDeclaration + | ExportSpecifier + | ExpressionStatement + | ForInStatement + | ForOfStatement + | ForStatement + | FunctionDeclaration + | FunctionExpression + | FunctionTypeNode + | Identifier + | IfStatement + | ImportDeclaration + | ImportEqualsDeclaration + | IndexSignatureDeclaration + | InterfaceDeclaration + | JSDocSignature + | LabeledStatement + | MethodDeclaration + | MethodSignature + | ModuleDeclaration + | NamedTupleMember + | NamespaceExportDeclaration + | ObjectLiteralExpression + | ParameterDeclaration + | ParenthesizedExpression + | PropertyAccessExpression + | PropertyAssignment + | PropertyDeclaration + | PropertySignature + | ReturnStatement + | SemicolonClassElement + | ShorthandPropertyAssignment + | SpreadAssignment + | SwitchStatement + | ThrowStatement + | TryStatement + | TypeAliasDeclaration + | TypeParameterDeclaration + | VariableDeclaration + | VariableStatement + | WhileStatement + | WithStatement; diff --git a/_packages/ast/src/syntaxKind.enum.ts b/_packages/ast/src/syntaxKind.enum.ts index 88376a8aa7..31fdf059d7 100644 --- a/_packages/ast/src/syntaxKind.enum.ts +++ b/_packages/ast/src/syntaxKind.enum.ts @@ -1,352 +1,352 @@ -export enum SyntaxKind { - Unknown, - EndOfFile, - SingleLineCommentTrivia, - MultiLineCommentTrivia, - NewLineTrivia, - WhitespaceTrivia, - ConflictMarkerTrivia, - NonTextFileMarkerTrivia, - NumericLiteral, - BigIntLiteral, - StringLiteral, - JsxText, - JsxTextAllWhiteSpaces, - RegularExpressionLiteral, - NoSubstitutionTemplateLiteral, - TemplateHead, - TemplateMiddle, - TemplateTail, - OpenBraceToken, - CloseBraceToken, - OpenParenToken, - CloseParenToken, - OpenBracketToken, - CloseBracketToken, - DotToken, - DotDotDotToken, - SemicolonToken, - CommaToken, - QuestionDotToken, - LessThanToken, - LessThanSlashToken, - GreaterThanToken, - LessThanEqualsToken, - GreaterThanEqualsToken, - EqualsEqualsToken, - ExclamationEqualsToken, - EqualsEqualsEqualsToken, - ExclamationEqualsEqualsToken, - EqualsGreaterThanToken, - PlusToken, - MinusToken, - AsteriskToken, - AsteriskAsteriskToken, - SlashToken, - PercentToken, - PlusPlusToken, - MinusMinusToken, - LessThanLessThanToken, - GreaterThanGreaterThanToken, - GreaterThanGreaterThanGreaterThanToken, - AmpersandToken, - BarToken, - CaretToken, - ExclamationToken, - TildeToken, - AmpersandAmpersandToken, - BarBarToken, - QuestionToken, - ColonToken, - AtToken, - QuestionQuestionToken, - BacktickToken, - HashToken, - EqualsToken, - PlusEqualsToken, - MinusEqualsToken, - AsteriskEqualsToken, - AsteriskAsteriskEqualsToken, - SlashEqualsToken, - PercentEqualsToken, - LessThanLessThanEqualsToken, - GreaterThanGreaterThanEqualsToken, - GreaterThanGreaterThanGreaterThanEqualsToken, - AmpersandEqualsToken, - BarEqualsToken, - BarBarEqualsToken, - AmpersandAmpersandEqualsToken, - QuestionQuestionEqualsToken, - CaretEqualsToken, - Identifier, - PrivateIdentifier, - JSDocCommentTextToken, - BreakKeyword, - CaseKeyword, - CatchKeyword, - ClassKeyword, - ConstKeyword, - ContinueKeyword, - DebuggerKeyword, - DefaultKeyword, - DeleteKeyword, - DoKeyword, - ElseKeyword, - EnumKeyword, - ExportKeyword, - ExtendsKeyword, - FalseKeyword, - FinallyKeyword, - ForKeyword, - FunctionKeyword, - IfKeyword, - ImportKeyword, - InKeyword, - InstanceOfKeyword, - NewKeyword, - NullKeyword, - ReturnKeyword, - SuperKeyword, - SwitchKeyword, - ThisKeyword, - ThrowKeyword, - TrueKeyword, - TryKeyword, - TypeOfKeyword, - VarKeyword, - VoidKeyword, - WhileKeyword, - WithKeyword, - ImplementsKeyword, - InterfaceKeyword, - LetKeyword, - PackageKeyword, - PrivateKeyword, - ProtectedKeyword, - PublicKeyword, - StaticKeyword, - YieldKeyword, - AbstractKeyword, - AccessorKeyword, - AsKeyword, - AssertsKeyword, - AssertKeyword, - AnyKeyword, - AsyncKeyword, - AwaitKeyword, - BooleanKeyword, - ConstructorKeyword, - DeclareKeyword, - GetKeyword, - ImmediateKeyword, - InferKeyword, - IntrinsicKeyword, - IsKeyword, - KeyOfKeyword, - ModuleKeyword, - NamespaceKeyword, - NeverKeyword, - OutKeyword, - ReadonlyKeyword, - RequireKeyword, - NumberKeyword, - ObjectKeyword, - SatisfiesKeyword, - SetKeyword, - StringKeyword, - SymbolKeyword, - TypeKeyword, - UndefinedKeyword, - UniqueKeyword, - UnknownKeyword, - UsingKeyword, - FromKeyword, - GlobalKeyword, - BigIntKeyword, - OverrideKeyword, - OfKeyword, - QualifiedName, - ComputedPropertyName, - TypeParameter, - Parameter, - Decorator, - PropertySignature, - PropertyDeclaration, - MethodSignature, - MethodDeclaration, - ClassStaticBlockDeclaration, - Constructor, - GetAccessor, - SetAccessor, - CallSignature, - ConstructSignature, - IndexSignature, - TypePredicate, - TypeReference, - FunctionType, - ConstructorType, - TypeQuery, - TypeLiteral, - ArrayType, - TupleType, - OptionalType, - RestType, - UnionType, - IntersectionType, - ConditionalType, - InferType, - ParenthesizedType, - ThisType, - TypeOperator, - IndexedAccessType, - MappedType, - LiteralType, - NamedTupleMember, - TemplateLiteralType, - TemplateLiteralTypeSpan, - ImportType, - ObjectBindingPattern, - ArrayBindingPattern, - BindingElement, - ArrayLiteralExpression, - ObjectLiteralExpression, - PropertyAccessExpression, - ElementAccessExpression, - CallExpression, - NewExpression, - TaggedTemplateExpression, - TypeAssertionExpression, - ParenthesizedExpression, - FunctionExpression, - ArrowFunction, - DeleteExpression, - TypeOfExpression, - VoidExpression, - AwaitExpression, - PrefixUnaryExpression, - PostfixUnaryExpression, - BinaryExpression, - ConditionalExpression, - TemplateExpression, - YieldExpression, - SpreadElement, - ClassExpression, - OmittedExpression, - ExpressionWithTypeArguments, - AsExpression, - NonNullExpression, - MetaProperty, - SyntheticExpression, - SatisfiesExpression, - TemplateSpan, - SemicolonClassElement, - Block, - EmptyStatement, - VariableStatement, - ExpressionStatement, - IfStatement, - DoStatement, - WhileStatement, - ForStatement, - ForInStatement, - ForOfStatement, - ContinueStatement, - BreakStatement, - ReturnStatement, - WithStatement, - SwitchStatement, - LabeledStatement, - ThrowStatement, - TryStatement, - DebuggerStatement, - VariableDeclaration, - VariableDeclarationList, - FunctionDeclaration, - ClassDeclaration, - InterfaceDeclaration, - TypeAliasDeclaration, - EnumDeclaration, - ModuleDeclaration, - ModuleBlock, - CaseBlock, - NamespaceExportDeclaration, - ImportEqualsDeclaration, - ImportDeclaration, - ImportClause, - NamespaceImport, - NamedImports, - ImportSpecifier, - ExportAssignment, - ExportDeclaration, - NamedExports, - NamespaceExport, - ExportSpecifier, - MissingDeclaration, - ExternalModuleReference, - JsxElement, - JsxSelfClosingElement, - JsxOpeningElement, - JsxClosingElement, - JsxFragment, - JsxOpeningFragment, - JsxClosingFragment, - JsxAttribute, - JsxAttributes, - JsxSpreadAttribute, - JsxExpression, - JsxNamespacedName, - CaseClause, - DefaultClause, - HeritageClause, - CatchClause, - ImportAttributes, - ImportAttribute, - PropertyAssignment, - ShorthandPropertyAssignment, - SpreadAssignment, - EnumMember, - SourceFile, - Bundle, - JSDocTypeExpression, - JSDocNameReference, - JSDocMemberName, - JSDocAllType, - JSDocNullableType, - JSDocNonNullableType, - JSDocOptionalType, - JSDocVariadicType, - JSDoc, - JSDocText, - JSDocTypeLiteral, - JSDocSignature, - JSDocLink, - JSDocLinkCode, - JSDocLinkPlain, - JSDocTag, - JSDocAugmentsTag, - JSDocImplementsTag, - JSDocDeprecatedTag, - JSDocPublicTag, - JSDocPrivateTag, - JSDocProtectedTag, - JSDocReadonlyTag, - JSDocOverrideTag, - JSDocCallbackTag, - JSDocOverloadTag, - JSDocParameterTag, - JSDocReturnTag, - JSDocThisTag, - JSDocTypeTag, - JSDocTemplateTag, - JSDocTypedefTag, - JSDocSeeTag, - JSDocPropertyTag, - JSDocSatisfiesTag, - JSDocImportTag, - SyntaxList, - NotEmittedStatement, - PartiallyEmittedExpression, - CommaListExpression, - SyntheticReferenceExpression, - Count, -} +export enum SyntaxKind { + Unknown, + EndOfFile, + SingleLineCommentTrivia, + MultiLineCommentTrivia, + NewLineTrivia, + WhitespaceTrivia, + ConflictMarkerTrivia, + NonTextFileMarkerTrivia, + NumericLiteral, + BigIntLiteral, + StringLiteral, + JsxText, + JsxTextAllWhiteSpaces, + RegularExpressionLiteral, + NoSubstitutionTemplateLiteral, + TemplateHead, + TemplateMiddle, + TemplateTail, + OpenBraceToken, + CloseBraceToken, + OpenParenToken, + CloseParenToken, + OpenBracketToken, + CloseBracketToken, + DotToken, + DotDotDotToken, + SemicolonToken, + CommaToken, + QuestionDotToken, + LessThanToken, + LessThanSlashToken, + GreaterThanToken, + LessThanEqualsToken, + GreaterThanEqualsToken, + EqualsEqualsToken, + ExclamationEqualsToken, + EqualsEqualsEqualsToken, + ExclamationEqualsEqualsToken, + EqualsGreaterThanToken, + PlusToken, + MinusToken, + AsteriskToken, + AsteriskAsteriskToken, + SlashToken, + PercentToken, + PlusPlusToken, + MinusMinusToken, + LessThanLessThanToken, + GreaterThanGreaterThanToken, + GreaterThanGreaterThanGreaterThanToken, + AmpersandToken, + BarToken, + CaretToken, + ExclamationToken, + TildeToken, + AmpersandAmpersandToken, + BarBarToken, + QuestionToken, + ColonToken, + AtToken, + QuestionQuestionToken, + BacktickToken, + HashToken, + EqualsToken, + PlusEqualsToken, + MinusEqualsToken, + AsteriskEqualsToken, + AsteriskAsteriskEqualsToken, + SlashEqualsToken, + PercentEqualsToken, + LessThanLessThanEqualsToken, + GreaterThanGreaterThanEqualsToken, + GreaterThanGreaterThanGreaterThanEqualsToken, + AmpersandEqualsToken, + BarEqualsToken, + BarBarEqualsToken, + AmpersandAmpersandEqualsToken, + QuestionQuestionEqualsToken, + CaretEqualsToken, + Identifier, + PrivateIdentifier, + JSDocCommentTextToken, + BreakKeyword, + CaseKeyword, + CatchKeyword, + ClassKeyword, + ConstKeyword, + ContinueKeyword, + DebuggerKeyword, + DefaultKeyword, + DeleteKeyword, + DoKeyword, + ElseKeyword, + EnumKeyword, + ExportKeyword, + ExtendsKeyword, + FalseKeyword, + FinallyKeyword, + ForKeyword, + FunctionKeyword, + IfKeyword, + ImportKeyword, + InKeyword, + InstanceOfKeyword, + NewKeyword, + NullKeyword, + ReturnKeyword, + SuperKeyword, + SwitchKeyword, + ThisKeyword, + ThrowKeyword, + TrueKeyword, + TryKeyword, + TypeOfKeyword, + VarKeyword, + VoidKeyword, + WhileKeyword, + WithKeyword, + ImplementsKeyword, + InterfaceKeyword, + LetKeyword, + PackageKeyword, + PrivateKeyword, + ProtectedKeyword, + PublicKeyword, + StaticKeyword, + YieldKeyword, + AbstractKeyword, + AccessorKeyword, + AsKeyword, + AssertsKeyword, + AssertKeyword, + AnyKeyword, + AsyncKeyword, + AwaitKeyword, + BooleanKeyword, + ConstructorKeyword, + DeclareKeyword, + GetKeyword, + ImmediateKeyword, + InferKeyword, + IntrinsicKeyword, + IsKeyword, + KeyOfKeyword, + ModuleKeyword, + NamespaceKeyword, + NeverKeyword, + OutKeyword, + ReadonlyKeyword, + RequireKeyword, + NumberKeyword, + ObjectKeyword, + SatisfiesKeyword, + SetKeyword, + StringKeyword, + SymbolKeyword, + TypeKeyword, + UndefinedKeyword, + UniqueKeyword, + UnknownKeyword, + UsingKeyword, + FromKeyword, + GlobalKeyword, + BigIntKeyword, + OverrideKeyword, + OfKeyword, + QualifiedName, + ComputedPropertyName, + TypeParameter, + Parameter, + Decorator, + PropertySignature, + PropertyDeclaration, + MethodSignature, + MethodDeclaration, + ClassStaticBlockDeclaration, + Constructor, + GetAccessor, + SetAccessor, + CallSignature, + ConstructSignature, + IndexSignature, + TypePredicate, + TypeReference, + FunctionType, + ConstructorType, + TypeQuery, + TypeLiteral, + ArrayType, + TupleType, + OptionalType, + RestType, + UnionType, + IntersectionType, + ConditionalType, + InferType, + ParenthesizedType, + ThisType, + TypeOperator, + IndexedAccessType, + MappedType, + LiteralType, + NamedTupleMember, + TemplateLiteralType, + TemplateLiteralTypeSpan, + ImportType, + ObjectBindingPattern, + ArrayBindingPattern, + BindingElement, + ArrayLiteralExpression, + ObjectLiteralExpression, + PropertyAccessExpression, + ElementAccessExpression, + CallExpression, + NewExpression, + TaggedTemplateExpression, + TypeAssertionExpression, + ParenthesizedExpression, + FunctionExpression, + ArrowFunction, + DeleteExpression, + TypeOfExpression, + VoidExpression, + AwaitExpression, + PrefixUnaryExpression, + PostfixUnaryExpression, + BinaryExpression, + ConditionalExpression, + TemplateExpression, + YieldExpression, + SpreadElement, + ClassExpression, + OmittedExpression, + ExpressionWithTypeArguments, + AsExpression, + NonNullExpression, + MetaProperty, + SyntheticExpression, + SatisfiesExpression, + TemplateSpan, + SemicolonClassElement, + Block, + EmptyStatement, + VariableStatement, + ExpressionStatement, + IfStatement, + DoStatement, + WhileStatement, + ForStatement, + ForInStatement, + ForOfStatement, + ContinueStatement, + BreakStatement, + ReturnStatement, + WithStatement, + SwitchStatement, + LabeledStatement, + ThrowStatement, + TryStatement, + DebuggerStatement, + VariableDeclaration, + VariableDeclarationList, + FunctionDeclaration, + ClassDeclaration, + InterfaceDeclaration, + TypeAliasDeclaration, + EnumDeclaration, + ModuleDeclaration, + ModuleBlock, + CaseBlock, + NamespaceExportDeclaration, + ImportEqualsDeclaration, + ImportDeclaration, + ImportClause, + NamespaceImport, + NamedImports, + ImportSpecifier, + ExportAssignment, + ExportDeclaration, + NamedExports, + NamespaceExport, + ExportSpecifier, + MissingDeclaration, + ExternalModuleReference, + JsxElement, + JsxSelfClosingElement, + JsxOpeningElement, + JsxClosingElement, + JsxFragment, + JsxOpeningFragment, + JsxClosingFragment, + JsxAttribute, + JsxAttributes, + JsxSpreadAttribute, + JsxExpression, + JsxNamespacedName, + CaseClause, + DefaultClause, + HeritageClause, + CatchClause, + ImportAttributes, + ImportAttribute, + PropertyAssignment, + ShorthandPropertyAssignment, + SpreadAssignment, + EnumMember, + SourceFile, + Bundle, + JSDocTypeExpression, + JSDocNameReference, + JSDocMemberName, + JSDocAllType, + JSDocNullableType, + JSDocNonNullableType, + JSDocOptionalType, + JSDocVariadicType, + JSDoc, + JSDocText, + JSDocTypeLiteral, + JSDocSignature, + JSDocLink, + JSDocLinkCode, + JSDocLinkPlain, + JSDocTag, + JSDocAugmentsTag, + JSDocImplementsTag, + JSDocDeprecatedTag, + JSDocPublicTag, + JSDocPrivateTag, + JSDocProtectedTag, + JSDocReadonlyTag, + JSDocOverrideTag, + JSDocCallbackTag, + JSDocOverloadTag, + JSDocParameterTag, + JSDocReturnTag, + JSDocThisTag, + JSDocTypeTag, + JSDocTemplateTag, + JSDocTypedefTag, + JSDocSeeTag, + JSDocPropertyTag, + JSDocSatisfiesTag, + JSDocImportTag, + SyntaxList, + NotEmittedStatement, + PartiallyEmittedExpression, + CommaListExpression, + SyntheticReferenceExpression, + Count, +} diff --git a/_packages/ast/src/syntaxKind.ts b/_packages/ast/src/syntaxKind.ts index 0da76b594f..4d86197027 100644 --- a/_packages/ast/src/syntaxKind.ts +++ b/_packages/ast/src/syntaxKind.ts @@ -1,355 +1,355 @@ -export var SyntaxKind: any; -(function (SyntaxKind) { - SyntaxKind[SyntaxKind["Unknown"] = 0] = "Unknown"; - SyntaxKind[SyntaxKind["EndOfFile"] = 1] = "EndOfFile"; - SyntaxKind[SyntaxKind["SingleLineCommentTrivia"] = 2] = "SingleLineCommentTrivia"; - SyntaxKind[SyntaxKind["MultiLineCommentTrivia"] = 3] = "MultiLineCommentTrivia"; - SyntaxKind[SyntaxKind["NewLineTrivia"] = 4] = "NewLineTrivia"; - SyntaxKind[SyntaxKind["WhitespaceTrivia"] = 5] = "WhitespaceTrivia"; - SyntaxKind[SyntaxKind["ConflictMarkerTrivia"] = 6] = "ConflictMarkerTrivia"; - SyntaxKind[SyntaxKind["NonTextFileMarkerTrivia"] = 7] = "NonTextFileMarkerTrivia"; - SyntaxKind[SyntaxKind["NumericLiteral"] = 8] = "NumericLiteral"; - SyntaxKind[SyntaxKind["BigIntLiteral"] = 9] = "BigIntLiteral"; - SyntaxKind[SyntaxKind["StringLiteral"] = 10] = "StringLiteral"; - SyntaxKind[SyntaxKind["JsxText"] = 11] = "JsxText"; - SyntaxKind[SyntaxKind["JsxTextAllWhiteSpaces"] = 12] = "JsxTextAllWhiteSpaces"; - SyntaxKind[SyntaxKind["RegularExpressionLiteral"] = 13] = "RegularExpressionLiteral"; - SyntaxKind[SyntaxKind["NoSubstitutionTemplateLiteral"] = 14] = "NoSubstitutionTemplateLiteral"; - SyntaxKind[SyntaxKind["TemplateHead"] = 15] = "TemplateHead"; - SyntaxKind[SyntaxKind["TemplateMiddle"] = 16] = "TemplateMiddle"; - SyntaxKind[SyntaxKind["TemplateTail"] = 17] = "TemplateTail"; - SyntaxKind[SyntaxKind["OpenBraceToken"] = 18] = "OpenBraceToken"; - SyntaxKind[SyntaxKind["CloseBraceToken"] = 19] = "CloseBraceToken"; - SyntaxKind[SyntaxKind["OpenParenToken"] = 20] = "OpenParenToken"; - SyntaxKind[SyntaxKind["CloseParenToken"] = 21] = "CloseParenToken"; - SyntaxKind[SyntaxKind["OpenBracketToken"] = 22] = "OpenBracketToken"; - SyntaxKind[SyntaxKind["CloseBracketToken"] = 23] = "CloseBracketToken"; - SyntaxKind[SyntaxKind["DotToken"] = 24] = "DotToken"; - SyntaxKind[SyntaxKind["DotDotDotToken"] = 25] = "DotDotDotToken"; - SyntaxKind[SyntaxKind["SemicolonToken"] = 26] = "SemicolonToken"; - SyntaxKind[SyntaxKind["CommaToken"] = 27] = "CommaToken"; - SyntaxKind[SyntaxKind["QuestionDotToken"] = 28] = "QuestionDotToken"; - SyntaxKind[SyntaxKind["LessThanToken"] = 29] = "LessThanToken"; - SyntaxKind[SyntaxKind["LessThanSlashToken"] = 30] = "LessThanSlashToken"; - SyntaxKind[SyntaxKind["GreaterThanToken"] = 31] = "GreaterThanToken"; - SyntaxKind[SyntaxKind["LessThanEqualsToken"] = 32] = "LessThanEqualsToken"; - SyntaxKind[SyntaxKind["GreaterThanEqualsToken"] = 33] = "GreaterThanEqualsToken"; - SyntaxKind[SyntaxKind["EqualsEqualsToken"] = 34] = "EqualsEqualsToken"; - SyntaxKind[SyntaxKind["ExclamationEqualsToken"] = 35] = "ExclamationEqualsToken"; - SyntaxKind[SyntaxKind["EqualsEqualsEqualsToken"] = 36] = "EqualsEqualsEqualsToken"; - SyntaxKind[SyntaxKind["ExclamationEqualsEqualsToken"] = 37] = "ExclamationEqualsEqualsToken"; - SyntaxKind[SyntaxKind["EqualsGreaterThanToken"] = 38] = "EqualsGreaterThanToken"; - SyntaxKind[SyntaxKind["PlusToken"] = 39] = "PlusToken"; - SyntaxKind[SyntaxKind["MinusToken"] = 40] = "MinusToken"; - SyntaxKind[SyntaxKind["AsteriskToken"] = 41] = "AsteriskToken"; - SyntaxKind[SyntaxKind["AsteriskAsteriskToken"] = 42] = "AsteriskAsteriskToken"; - SyntaxKind[SyntaxKind["SlashToken"] = 43] = "SlashToken"; - SyntaxKind[SyntaxKind["PercentToken"] = 44] = "PercentToken"; - SyntaxKind[SyntaxKind["PlusPlusToken"] = 45] = "PlusPlusToken"; - SyntaxKind[SyntaxKind["MinusMinusToken"] = 46] = "MinusMinusToken"; - SyntaxKind[SyntaxKind["LessThanLessThanToken"] = 47] = "LessThanLessThanToken"; - SyntaxKind[SyntaxKind["GreaterThanGreaterThanToken"] = 48] = "GreaterThanGreaterThanToken"; - SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 49] = "GreaterThanGreaterThanGreaterThanToken"; - SyntaxKind[SyntaxKind["AmpersandToken"] = 50] = "AmpersandToken"; - SyntaxKind[SyntaxKind["BarToken"] = 51] = "BarToken"; - SyntaxKind[SyntaxKind["CaretToken"] = 52] = "CaretToken"; - SyntaxKind[SyntaxKind["ExclamationToken"] = 53] = "ExclamationToken"; - SyntaxKind[SyntaxKind["TildeToken"] = 54] = "TildeToken"; - SyntaxKind[SyntaxKind["AmpersandAmpersandToken"] = 55] = "AmpersandAmpersandToken"; - SyntaxKind[SyntaxKind["BarBarToken"] = 56] = "BarBarToken"; - SyntaxKind[SyntaxKind["QuestionToken"] = 57] = "QuestionToken"; - SyntaxKind[SyntaxKind["ColonToken"] = 58] = "ColonToken"; - SyntaxKind[SyntaxKind["AtToken"] = 59] = "AtToken"; - SyntaxKind[SyntaxKind["QuestionQuestionToken"] = 60] = "QuestionQuestionToken"; - SyntaxKind[SyntaxKind["BacktickToken"] = 61] = "BacktickToken"; - SyntaxKind[SyntaxKind["HashToken"] = 62] = "HashToken"; - SyntaxKind[SyntaxKind["EqualsToken"] = 63] = "EqualsToken"; - SyntaxKind[SyntaxKind["PlusEqualsToken"] = 64] = "PlusEqualsToken"; - SyntaxKind[SyntaxKind["MinusEqualsToken"] = 65] = "MinusEqualsToken"; - SyntaxKind[SyntaxKind["AsteriskEqualsToken"] = 66] = "AsteriskEqualsToken"; - SyntaxKind[SyntaxKind["AsteriskAsteriskEqualsToken"] = 67] = "AsteriskAsteriskEqualsToken"; - SyntaxKind[SyntaxKind["SlashEqualsToken"] = 68] = "SlashEqualsToken"; - SyntaxKind[SyntaxKind["PercentEqualsToken"] = 69] = "PercentEqualsToken"; - SyntaxKind[SyntaxKind["LessThanLessThanEqualsToken"] = 70] = "LessThanLessThanEqualsToken"; - SyntaxKind[SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 71] = "GreaterThanGreaterThanEqualsToken"; - SyntaxKind[ - SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 72 - ] = "GreaterThanGreaterThanGreaterThanEqualsToken"; - SyntaxKind[SyntaxKind["AmpersandEqualsToken"] = 73] = "AmpersandEqualsToken"; - SyntaxKind[SyntaxKind["BarEqualsToken"] = 74] = "BarEqualsToken"; - SyntaxKind[SyntaxKind["BarBarEqualsToken"] = 75] = "BarBarEqualsToken"; - SyntaxKind[SyntaxKind["AmpersandAmpersandEqualsToken"] = 76] = "AmpersandAmpersandEqualsToken"; - SyntaxKind[SyntaxKind["QuestionQuestionEqualsToken"] = 77] = "QuestionQuestionEqualsToken"; - SyntaxKind[SyntaxKind["CaretEqualsToken"] = 78] = "CaretEqualsToken"; - SyntaxKind[SyntaxKind["Identifier"] = 79] = "Identifier"; - SyntaxKind[SyntaxKind["PrivateIdentifier"] = 80] = "PrivateIdentifier"; - SyntaxKind[SyntaxKind["JSDocCommentTextToken"] = 81] = "JSDocCommentTextToken"; - SyntaxKind[SyntaxKind["BreakKeyword"] = 82] = "BreakKeyword"; - SyntaxKind[SyntaxKind["CaseKeyword"] = 83] = "CaseKeyword"; - SyntaxKind[SyntaxKind["CatchKeyword"] = 84] = "CatchKeyword"; - SyntaxKind[SyntaxKind["ClassKeyword"] = 85] = "ClassKeyword"; - SyntaxKind[SyntaxKind["ConstKeyword"] = 86] = "ConstKeyword"; - SyntaxKind[SyntaxKind["ContinueKeyword"] = 87] = "ContinueKeyword"; - SyntaxKind[SyntaxKind["DebuggerKeyword"] = 88] = "DebuggerKeyword"; - SyntaxKind[SyntaxKind["DefaultKeyword"] = 89] = "DefaultKeyword"; - SyntaxKind[SyntaxKind["DeleteKeyword"] = 90] = "DeleteKeyword"; - SyntaxKind[SyntaxKind["DoKeyword"] = 91] = "DoKeyword"; - SyntaxKind[SyntaxKind["ElseKeyword"] = 92] = "ElseKeyword"; - SyntaxKind[SyntaxKind["EnumKeyword"] = 93] = "EnumKeyword"; - SyntaxKind[SyntaxKind["ExportKeyword"] = 94] = "ExportKeyword"; - SyntaxKind[SyntaxKind["ExtendsKeyword"] = 95] = "ExtendsKeyword"; - SyntaxKind[SyntaxKind["FalseKeyword"] = 96] = "FalseKeyword"; - SyntaxKind[SyntaxKind["FinallyKeyword"] = 97] = "FinallyKeyword"; - SyntaxKind[SyntaxKind["ForKeyword"] = 98] = "ForKeyword"; - SyntaxKind[SyntaxKind["FunctionKeyword"] = 99] = "FunctionKeyword"; - SyntaxKind[SyntaxKind["IfKeyword"] = 100] = "IfKeyword"; - SyntaxKind[SyntaxKind["ImportKeyword"] = 101] = "ImportKeyword"; - SyntaxKind[SyntaxKind["InKeyword"] = 102] = "InKeyword"; - SyntaxKind[SyntaxKind["InstanceOfKeyword"] = 103] = "InstanceOfKeyword"; - SyntaxKind[SyntaxKind["NewKeyword"] = 104] = "NewKeyword"; - SyntaxKind[SyntaxKind["NullKeyword"] = 105] = "NullKeyword"; - SyntaxKind[SyntaxKind["ReturnKeyword"] = 106] = "ReturnKeyword"; - SyntaxKind[SyntaxKind["SuperKeyword"] = 107] = "SuperKeyword"; - SyntaxKind[SyntaxKind["SwitchKeyword"] = 108] = "SwitchKeyword"; - SyntaxKind[SyntaxKind["ThisKeyword"] = 109] = "ThisKeyword"; - SyntaxKind[SyntaxKind["ThrowKeyword"] = 110] = "ThrowKeyword"; - SyntaxKind[SyntaxKind["TrueKeyword"] = 111] = "TrueKeyword"; - SyntaxKind[SyntaxKind["TryKeyword"] = 112] = "TryKeyword"; - SyntaxKind[SyntaxKind["TypeOfKeyword"] = 113] = "TypeOfKeyword"; - SyntaxKind[SyntaxKind["VarKeyword"] = 114] = "VarKeyword"; - SyntaxKind[SyntaxKind["VoidKeyword"] = 115] = "VoidKeyword"; - SyntaxKind[SyntaxKind["WhileKeyword"] = 116] = "WhileKeyword"; - SyntaxKind[SyntaxKind["WithKeyword"] = 117] = "WithKeyword"; - SyntaxKind[SyntaxKind["ImplementsKeyword"] = 118] = "ImplementsKeyword"; - SyntaxKind[SyntaxKind["InterfaceKeyword"] = 119] = "InterfaceKeyword"; - SyntaxKind[SyntaxKind["LetKeyword"] = 120] = "LetKeyword"; - SyntaxKind[SyntaxKind["PackageKeyword"] = 121] = "PackageKeyword"; - SyntaxKind[SyntaxKind["PrivateKeyword"] = 122] = "PrivateKeyword"; - SyntaxKind[SyntaxKind["ProtectedKeyword"] = 123] = "ProtectedKeyword"; - SyntaxKind[SyntaxKind["PublicKeyword"] = 124] = "PublicKeyword"; - SyntaxKind[SyntaxKind["StaticKeyword"] = 125] = "StaticKeyword"; - SyntaxKind[SyntaxKind["YieldKeyword"] = 126] = "YieldKeyword"; - SyntaxKind[SyntaxKind["AbstractKeyword"] = 127] = "AbstractKeyword"; - SyntaxKind[SyntaxKind["AccessorKeyword"] = 128] = "AccessorKeyword"; - SyntaxKind[SyntaxKind["AsKeyword"] = 129] = "AsKeyword"; - SyntaxKind[SyntaxKind["AssertsKeyword"] = 130] = "AssertsKeyword"; - SyntaxKind[SyntaxKind["AssertKeyword"] = 131] = "AssertKeyword"; - SyntaxKind[SyntaxKind["AnyKeyword"] = 132] = "AnyKeyword"; - SyntaxKind[SyntaxKind["AsyncKeyword"] = 133] = "AsyncKeyword"; - SyntaxKind[SyntaxKind["AwaitKeyword"] = 134] = "AwaitKeyword"; - SyntaxKind[SyntaxKind["BooleanKeyword"] = 135] = "BooleanKeyword"; - SyntaxKind[SyntaxKind["ConstructorKeyword"] = 136] = "ConstructorKeyword"; - SyntaxKind[SyntaxKind["DeclareKeyword"] = 137] = "DeclareKeyword"; - SyntaxKind[SyntaxKind["GetKeyword"] = 138] = "GetKeyword"; - SyntaxKind[SyntaxKind["ImmediateKeyword"] = 139] = "ImmediateKeyword"; - SyntaxKind[SyntaxKind["InferKeyword"] = 140] = "InferKeyword"; - SyntaxKind[SyntaxKind["IntrinsicKeyword"] = 141] = "IntrinsicKeyword"; - SyntaxKind[SyntaxKind["IsKeyword"] = 142] = "IsKeyword"; - SyntaxKind[SyntaxKind["KeyOfKeyword"] = 143] = "KeyOfKeyword"; - SyntaxKind[SyntaxKind["ModuleKeyword"] = 144] = "ModuleKeyword"; - SyntaxKind[SyntaxKind["NamespaceKeyword"] = 145] = "NamespaceKeyword"; - SyntaxKind[SyntaxKind["NeverKeyword"] = 146] = "NeverKeyword"; - SyntaxKind[SyntaxKind["OutKeyword"] = 147] = "OutKeyword"; - SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 148] = "ReadonlyKeyword"; - SyntaxKind[SyntaxKind["RequireKeyword"] = 149] = "RequireKeyword"; - SyntaxKind[SyntaxKind["NumberKeyword"] = 150] = "NumberKeyword"; - SyntaxKind[SyntaxKind["ObjectKeyword"] = 151] = "ObjectKeyword"; - SyntaxKind[SyntaxKind["SatisfiesKeyword"] = 152] = "SatisfiesKeyword"; - SyntaxKind[SyntaxKind["SetKeyword"] = 153] = "SetKeyword"; - SyntaxKind[SyntaxKind["StringKeyword"] = 154] = "StringKeyword"; - SyntaxKind[SyntaxKind["SymbolKeyword"] = 155] = "SymbolKeyword"; - SyntaxKind[SyntaxKind["TypeKeyword"] = 156] = "TypeKeyword"; - SyntaxKind[SyntaxKind["UndefinedKeyword"] = 157] = "UndefinedKeyword"; - SyntaxKind[SyntaxKind["UniqueKeyword"] = 158] = "UniqueKeyword"; - SyntaxKind[SyntaxKind["UnknownKeyword"] = 159] = "UnknownKeyword"; - SyntaxKind[SyntaxKind["UsingKeyword"] = 160] = "UsingKeyword"; - SyntaxKind[SyntaxKind["FromKeyword"] = 161] = "FromKeyword"; - SyntaxKind[SyntaxKind["GlobalKeyword"] = 162] = "GlobalKeyword"; - SyntaxKind[SyntaxKind["BigIntKeyword"] = 163] = "BigIntKeyword"; - SyntaxKind[SyntaxKind["OverrideKeyword"] = 164] = "OverrideKeyword"; - SyntaxKind[SyntaxKind["OfKeyword"] = 165] = "OfKeyword"; - SyntaxKind[SyntaxKind["QualifiedName"] = 166] = "QualifiedName"; - SyntaxKind[SyntaxKind["ComputedPropertyName"] = 167] = "ComputedPropertyName"; - SyntaxKind[SyntaxKind["TypeParameter"] = 168] = "TypeParameter"; - SyntaxKind[SyntaxKind["Parameter"] = 169] = "Parameter"; - SyntaxKind[SyntaxKind["Decorator"] = 170] = "Decorator"; - SyntaxKind[SyntaxKind["PropertySignature"] = 171] = "PropertySignature"; - SyntaxKind[SyntaxKind["PropertyDeclaration"] = 172] = "PropertyDeclaration"; - SyntaxKind[SyntaxKind["MethodSignature"] = 173] = "MethodSignature"; - SyntaxKind[SyntaxKind["MethodDeclaration"] = 174] = "MethodDeclaration"; - SyntaxKind[SyntaxKind["ClassStaticBlockDeclaration"] = 175] = "ClassStaticBlockDeclaration"; - SyntaxKind[SyntaxKind["Constructor"] = 176] = "Constructor"; - SyntaxKind[SyntaxKind["GetAccessor"] = 177] = "GetAccessor"; - SyntaxKind[SyntaxKind["SetAccessor"] = 178] = "SetAccessor"; - SyntaxKind[SyntaxKind["CallSignature"] = 179] = "CallSignature"; - SyntaxKind[SyntaxKind["ConstructSignature"] = 180] = "ConstructSignature"; - SyntaxKind[SyntaxKind["IndexSignature"] = 181] = "IndexSignature"; - SyntaxKind[SyntaxKind["TypePredicate"] = 182] = "TypePredicate"; - SyntaxKind[SyntaxKind["TypeReference"] = 183] = "TypeReference"; - SyntaxKind[SyntaxKind["FunctionType"] = 184] = "FunctionType"; - SyntaxKind[SyntaxKind["ConstructorType"] = 185] = "ConstructorType"; - SyntaxKind[SyntaxKind["TypeQuery"] = 186] = "TypeQuery"; - SyntaxKind[SyntaxKind["TypeLiteral"] = 187] = "TypeLiteral"; - SyntaxKind[SyntaxKind["ArrayType"] = 188] = "ArrayType"; - SyntaxKind[SyntaxKind["TupleType"] = 189] = "TupleType"; - SyntaxKind[SyntaxKind["OptionalType"] = 190] = "OptionalType"; - SyntaxKind[SyntaxKind["RestType"] = 191] = "RestType"; - SyntaxKind[SyntaxKind["UnionType"] = 192] = "UnionType"; - SyntaxKind[SyntaxKind["IntersectionType"] = 193] = "IntersectionType"; - SyntaxKind[SyntaxKind["ConditionalType"] = 194] = "ConditionalType"; - SyntaxKind[SyntaxKind["InferType"] = 195] = "InferType"; - SyntaxKind[SyntaxKind["ParenthesizedType"] = 196] = "ParenthesizedType"; - SyntaxKind[SyntaxKind["ThisType"] = 197] = "ThisType"; - SyntaxKind[SyntaxKind["TypeOperator"] = 198] = "TypeOperator"; - SyntaxKind[SyntaxKind["IndexedAccessType"] = 199] = "IndexedAccessType"; - SyntaxKind[SyntaxKind["MappedType"] = 200] = "MappedType"; - SyntaxKind[SyntaxKind["LiteralType"] = 201] = "LiteralType"; - SyntaxKind[SyntaxKind["NamedTupleMember"] = 202] = "NamedTupleMember"; - SyntaxKind[SyntaxKind["TemplateLiteralType"] = 203] = "TemplateLiteralType"; - SyntaxKind[SyntaxKind["TemplateLiteralTypeSpan"] = 204] = "TemplateLiteralTypeSpan"; - SyntaxKind[SyntaxKind["ImportType"] = 205] = "ImportType"; - SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 206] = "ObjectBindingPattern"; - SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 207] = "ArrayBindingPattern"; - SyntaxKind[SyntaxKind["BindingElement"] = 208] = "BindingElement"; - SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 209] = "ArrayLiteralExpression"; - SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 210] = "ObjectLiteralExpression"; - SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 211] = "PropertyAccessExpression"; - SyntaxKind[SyntaxKind["ElementAccessExpression"] = 212] = "ElementAccessExpression"; - SyntaxKind[SyntaxKind["CallExpression"] = 213] = "CallExpression"; - SyntaxKind[SyntaxKind["NewExpression"] = 214] = "NewExpression"; - SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 215] = "TaggedTemplateExpression"; - SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 216] = "TypeAssertionExpression"; - SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 217] = "ParenthesizedExpression"; - SyntaxKind[SyntaxKind["FunctionExpression"] = 218] = "FunctionExpression"; - SyntaxKind[SyntaxKind["ArrowFunction"] = 219] = "ArrowFunction"; - SyntaxKind[SyntaxKind["DeleteExpression"] = 220] = "DeleteExpression"; - SyntaxKind[SyntaxKind["TypeOfExpression"] = 221] = "TypeOfExpression"; - SyntaxKind[SyntaxKind["VoidExpression"] = 222] = "VoidExpression"; - SyntaxKind[SyntaxKind["AwaitExpression"] = 223] = "AwaitExpression"; - SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 224] = "PrefixUnaryExpression"; - SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 225] = "PostfixUnaryExpression"; - SyntaxKind[SyntaxKind["BinaryExpression"] = 226] = "BinaryExpression"; - SyntaxKind[SyntaxKind["ConditionalExpression"] = 227] = "ConditionalExpression"; - SyntaxKind[SyntaxKind["TemplateExpression"] = 228] = "TemplateExpression"; - SyntaxKind[SyntaxKind["YieldExpression"] = 229] = "YieldExpression"; - SyntaxKind[SyntaxKind["SpreadElement"] = 230] = "SpreadElement"; - SyntaxKind[SyntaxKind["ClassExpression"] = 231] = "ClassExpression"; - SyntaxKind[SyntaxKind["OmittedExpression"] = 232] = "OmittedExpression"; - SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 233] = "ExpressionWithTypeArguments"; - SyntaxKind[SyntaxKind["AsExpression"] = 234] = "AsExpression"; - SyntaxKind[SyntaxKind["NonNullExpression"] = 235] = "NonNullExpression"; - SyntaxKind[SyntaxKind["MetaProperty"] = 236] = "MetaProperty"; - SyntaxKind[SyntaxKind["SyntheticExpression"] = 237] = "SyntheticExpression"; - SyntaxKind[SyntaxKind["SatisfiesExpression"] = 238] = "SatisfiesExpression"; - SyntaxKind[SyntaxKind["TemplateSpan"] = 239] = "TemplateSpan"; - SyntaxKind[SyntaxKind["SemicolonClassElement"] = 240] = "SemicolonClassElement"; - SyntaxKind[SyntaxKind["Block"] = 241] = "Block"; - SyntaxKind[SyntaxKind["EmptyStatement"] = 242] = "EmptyStatement"; - SyntaxKind[SyntaxKind["VariableStatement"] = 243] = "VariableStatement"; - SyntaxKind[SyntaxKind["ExpressionStatement"] = 244] = "ExpressionStatement"; - SyntaxKind[SyntaxKind["IfStatement"] = 245] = "IfStatement"; - SyntaxKind[SyntaxKind["DoStatement"] = 246] = "DoStatement"; - SyntaxKind[SyntaxKind["WhileStatement"] = 247] = "WhileStatement"; - SyntaxKind[SyntaxKind["ForStatement"] = 248] = "ForStatement"; - SyntaxKind[SyntaxKind["ForInStatement"] = 249] = "ForInStatement"; - SyntaxKind[SyntaxKind["ForOfStatement"] = 250] = "ForOfStatement"; - SyntaxKind[SyntaxKind["ContinueStatement"] = 251] = "ContinueStatement"; - SyntaxKind[SyntaxKind["BreakStatement"] = 252] = "BreakStatement"; - SyntaxKind[SyntaxKind["ReturnStatement"] = 253] = "ReturnStatement"; - SyntaxKind[SyntaxKind["WithStatement"] = 254] = "WithStatement"; - SyntaxKind[SyntaxKind["SwitchStatement"] = 255] = "SwitchStatement"; - SyntaxKind[SyntaxKind["LabeledStatement"] = 256] = "LabeledStatement"; - SyntaxKind[SyntaxKind["ThrowStatement"] = 257] = "ThrowStatement"; - SyntaxKind[SyntaxKind["TryStatement"] = 258] = "TryStatement"; - SyntaxKind[SyntaxKind["DebuggerStatement"] = 259] = "DebuggerStatement"; - SyntaxKind[SyntaxKind["VariableDeclaration"] = 260] = "VariableDeclaration"; - SyntaxKind[SyntaxKind["VariableDeclarationList"] = 261] = "VariableDeclarationList"; - SyntaxKind[SyntaxKind["FunctionDeclaration"] = 262] = "FunctionDeclaration"; - SyntaxKind[SyntaxKind["ClassDeclaration"] = 263] = "ClassDeclaration"; - SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 264] = "InterfaceDeclaration"; - SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 265] = "TypeAliasDeclaration"; - SyntaxKind[SyntaxKind["EnumDeclaration"] = 266] = "EnumDeclaration"; - SyntaxKind[SyntaxKind["ModuleDeclaration"] = 267] = "ModuleDeclaration"; - SyntaxKind[SyntaxKind["ModuleBlock"] = 268] = "ModuleBlock"; - SyntaxKind[SyntaxKind["CaseBlock"] = 269] = "CaseBlock"; - SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 270] = "NamespaceExportDeclaration"; - SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 271] = "ImportEqualsDeclaration"; - SyntaxKind[SyntaxKind["ImportDeclaration"] = 272] = "ImportDeclaration"; - SyntaxKind[SyntaxKind["ImportClause"] = 273] = "ImportClause"; - SyntaxKind[SyntaxKind["NamespaceImport"] = 274] = "NamespaceImport"; - SyntaxKind[SyntaxKind["NamedImports"] = 275] = "NamedImports"; - SyntaxKind[SyntaxKind["ImportSpecifier"] = 276] = "ImportSpecifier"; - SyntaxKind[SyntaxKind["ExportAssignment"] = 277] = "ExportAssignment"; - SyntaxKind[SyntaxKind["ExportDeclaration"] = 278] = "ExportDeclaration"; - SyntaxKind[SyntaxKind["NamedExports"] = 279] = "NamedExports"; - SyntaxKind[SyntaxKind["NamespaceExport"] = 280] = "NamespaceExport"; - SyntaxKind[SyntaxKind["ExportSpecifier"] = 281] = "ExportSpecifier"; - SyntaxKind[SyntaxKind["MissingDeclaration"] = 282] = "MissingDeclaration"; - SyntaxKind[SyntaxKind["ExternalModuleReference"] = 283] = "ExternalModuleReference"; - SyntaxKind[SyntaxKind["JsxElement"] = 284] = "JsxElement"; - SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 285] = "JsxSelfClosingElement"; - SyntaxKind[SyntaxKind["JsxOpeningElement"] = 286] = "JsxOpeningElement"; - SyntaxKind[SyntaxKind["JsxClosingElement"] = 287] = "JsxClosingElement"; - SyntaxKind[SyntaxKind["JsxFragment"] = 288] = "JsxFragment"; - SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 289] = "JsxOpeningFragment"; - SyntaxKind[SyntaxKind["JsxClosingFragment"] = 290] = "JsxClosingFragment"; - SyntaxKind[SyntaxKind["JsxAttribute"] = 291] = "JsxAttribute"; - SyntaxKind[SyntaxKind["JsxAttributes"] = 292] = "JsxAttributes"; - SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 293] = "JsxSpreadAttribute"; - SyntaxKind[SyntaxKind["JsxExpression"] = 294] = "JsxExpression"; - SyntaxKind[SyntaxKind["JsxNamespacedName"] = 295] = "JsxNamespacedName"; - SyntaxKind[SyntaxKind["CaseClause"] = 296] = "CaseClause"; - SyntaxKind[SyntaxKind["DefaultClause"] = 297] = "DefaultClause"; - SyntaxKind[SyntaxKind["HeritageClause"] = 298] = "HeritageClause"; - SyntaxKind[SyntaxKind["CatchClause"] = 299] = "CatchClause"; - SyntaxKind[SyntaxKind["ImportAttributes"] = 300] = "ImportAttributes"; - SyntaxKind[SyntaxKind["ImportAttribute"] = 301] = "ImportAttribute"; - SyntaxKind[SyntaxKind["PropertyAssignment"] = 302] = "PropertyAssignment"; - SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 303] = "ShorthandPropertyAssignment"; - SyntaxKind[SyntaxKind["SpreadAssignment"] = 304] = "SpreadAssignment"; - SyntaxKind[SyntaxKind["EnumMember"] = 305] = "EnumMember"; - SyntaxKind[SyntaxKind["SourceFile"] = 306] = "SourceFile"; - SyntaxKind[SyntaxKind["Bundle"] = 307] = "Bundle"; - SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 308] = "JSDocTypeExpression"; - SyntaxKind[SyntaxKind["JSDocNameReference"] = 309] = "JSDocNameReference"; - SyntaxKind[SyntaxKind["JSDocMemberName"] = 310] = "JSDocMemberName"; - SyntaxKind[SyntaxKind["JSDocAllType"] = 311] = "JSDocAllType"; - SyntaxKind[SyntaxKind["JSDocNullableType"] = 312] = "JSDocNullableType"; - SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 313] = "JSDocNonNullableType"; - SyntaxKind[SyntaxKind["JSDocOptionalType"] = 314] = "JSDocOptionalType"; - SyntaxKind[SyntaxKind["JSDocVariadicType"] = 315] = "JSDocVariadicType"; - SyntaxKind[SyntaxKind["JSDoc"] = 316] = "JSDoc"; - SyntaxKind[SyntaxKind["JSDocText"] = 317] = "JSDocText"; - SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 318] = "JSDocTypeLiteral"; - SyntaxKind[SyntaxKind["JSDocSignature"] = 319] = "JSDocSignature"; - SyntaxKind[SyntaxKind["JSDocLink"] = 320] = "JSDocLink"; - SyntaxKind[SyntaxKind["JSDocLinkCode"] = 321] = "JSDocLinkCode"; - SyntaxKind[SyntaxKind["JSDocLinkPlain"] = 322] = "JSDocLinkPlain"; - SyntaxKind[SyntaxKind["JSDocTag"] = 323] = "JSDocTag"; - SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 324] = "JSDocAugmentsTag"; - SyntaxKind[SyntaxKind["JSDocImplementsTag"] = 325] = "JSDocImplementsTag"; - SyntaxKind[SyntaxKind["JSDocDeprecatedTag"] = 326] = "JSDocDeprecatedTag"; - SyntaxKind[SyntaxKind["JSDocPublicTag"] = 327] = "JSDocPublicTag"; - SyntaxKind[SyntaxKind["JSDocPrivateTag"] = 328] = "JSDocPrivateTag"; - SyntaxKind[SyntaxKind["JSDocProtectedTag"] = 329] = "JSDocProtectedTag"; - SyntaxKind[SyntaxKind["JSDocReadonlyTag"] = 330] = "JSDocReadonlyTag"; - SyntaxKind[SyntaxKind["JSDocOverrideTag"] = 331] = "JSDocOverrideTag"; - SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 332] = "JSDocCallbackTag"; - SyntaxKind[SyntaxKind["JSDocOverloadTag"] = 333] = "JSDocOverloadTag"; - SyntaxKind[SyntaxKind["JSDocParameterTag"] = 334] = "JSDocParameterTag"; - SyntaxKind[SyntaxKind["JSDocReturnTag"] = 335] = "JSDocReturnTag"; - SyntaxKind[SyntaxKind["JSDocThisTag"] = 336] = "JSDocThisTag"; - SyntaxKind[SyntaxKind["JSDocTypeTag"] = 337] = "JSDocTypeTag"; - SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 338] = "JSDocTemplateTag"; - SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 339] = "JSDocTypedefTag"; - SyntaxKind[SyntaxKind["JSDocSeeTag"] = 340] = "JSDocSeeTag"; - SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 341] = "JSDocPropertyTag"; - SyntaxKind[SyntaxKind["JSDocSatisfiesTag"] = 342] = "JSDocSatisfiesTag"; - SyntaxKind[SyntaxKind["JSDocImportTag"] = 343] = "JSDocImportTag"; - SyntaxKind[SyntaxKind["SyntaxList"] = 344] = "SyntaxList"; - SyntaxKind[SyntaxKind["NotEmittedStatement"] = 345] = "NotEmittedStatement"; - SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 346] = "PartiallyEmittedExpression"; - SyntaxKind[SyntaxKind["CommaListExpression"] = 347] = "CommaListExpression"; - SyntaxKind[SyntaxKind["SyntheticReferenceExpression"] = 348] = "SyntheticReferenceExpression"; - SyntaxKind[SyntaxKind["Count"] = 349] = "Count"; -})(SyntaxKind || (SyntaxKind = {})); +export var SyntaxKind: any; +(function (SyntaxKind) { + SyntaxKind[SyntaxKind["Unknown"] = 0] = "Unknown"; + SyntaxKind[SyntaxKind["EndOfFile"] = 1] = "EndOfFile"; + SyntaxKind[SyntaxKind["SingleLineCommentTrivia"] = 2] = "SingleLineCommentTrivia"; + SyntaxKind[SyntaxKind["MultiLineCommentTrivia"] = 3] = "MultiLineCommentTrivia"; + SyntaxKind[SyntaxKind["NewLineTrivia"] = 4] = "NewLineTrivia"; + SyntaxKind[SyntaxKind["WhitespaceTrivia"] = 5] = "WhitespaceTrivia"; + SyntaxKind[SyntaxKind["ConflictMarkerTrivia"] = 6] = "ConflictMarkerTrivia"; + SyntaxKind[SyntaxKind["NonTextFileMarkerTrivia"] = 7] = "NonTextFileMarkerTrivia"; + SyntaxKind[SyntaxKind["NumericLiteral"] = 8] = "NumericLiteral"; + SyntaxKind[SyntaxKind["BigIntLiteral"] = 9] = "BigIntLiteral"; + SyntaxKind[SyntaxKind["StringLiteral"] = 10] = "StringLiteral"; + SyntaxKind[SyntaxKind["JsxText"] = 11] = "JsxText"; + SyntaxKind[SyntaxKind["JsxTextAllWhiteSpaces"] = 12] = "JsxTextAllWhiteSpaces"; + SyntaxKind[SyntaxKind["RegularExpressionLiteral"] = 13] = "RegularExpressionLiteral"; + SyntaxKind[SyntaxKind["NoSubstitutionTemplateLiteral"] = 14] = "NoSubstitutionTemplateLiteral"; + SyntaxKind[SyntaxKind["TemplateHead"] = 15] = "TemplateHead"; + SyntaxKind[SyntaxKind["TemplateMiddle"] = 16] = "TemplateMiddle"; + SyntaxKind[SyntaxKind["TemplateTail"] = 17] = "TemplateTail"; + SyntaxKind[SyntaxKind["OpenBraceToken"] = 18] = "OpenBraceToken"; + SyntaxKind[SyntaxKind["CloseBraceToken"] = 19] = "CloseBraceToken"; + SyntaxKind[SyntaxKind["OpenParenToken"] = 20] = "OpenParenToken"; + SyntaxKind[SyntaxKind["CloseParenToken"] = 21] = "CloseParenToken"; + SyntaxKind[SyntaxKind["OpenBracketToken"] = 22] = "OpenBracketToken"; + SyntaxKind[SyntaxKind["CloseBracketToken"] = 23] = "CloseBracketToken"; + SyntaxKind[SyntaxKind["DotToken"] = 24] = "DotToken"; + SyntaxKind[SyntaxKind["DotDotDotToken"] = 25] = "DotDotDotToken"; + SyntaxKind[SyntaxKind["SemicolonToken"] = 26] = "SemicolonToken"; + SyntaxKind[SyntaxKind["CommaToken"] = 27] = "CommaToken"; + SyntaxKind[SyntaxKind["QuestionDotToken"] = 28] = "QuestionDotToken"; + SyntaxKind[SyntaxKind["LessThanToken"] = 29] = "LessThanToken"; + SyntaxKind[SyntaxKind["LessThanSlashToken"] = 30] = "LessThanSlashToken"; + SyntaxKind[SyntaxKind["GreaterThanToken"] = 31] = "GreaterThanToken"; + SyntaxKind[SyntaxKind["LessThanEqualsToken"] = 32] = "LessThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanEqualsToken"] = 33] = "GreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["EqualsEqualsToken"] = 34] = "EqualsEqualsToken"; + SyntaxKind[SyntaxKind["ExclamationEqualsToken"] = 35] = "ExclamationEqualsToken"; + SyntaxKind[SyntaxKind["EqualsEqualsEqualsToken"] = 36] = "EqualsEqualsEqualsToken"; + SyntaxKind[SyntaxKind["ExclamationEqualsEqualsToken"] = 37] = "ExclamationEqualsEqualsToken"; + SyntaxKind[SyntaxKind["EqualsGreaterThanToken"] = 38] = "EqualsGreaterThanToken"; + SyntaxKind[SyntaxKind["PlusToken"] = 39] = "PlusToken"; + SyntaxKind[SyntaxKind["MinusToken"] = 40] = "MinusToken"; + SyntaxKind[SyntaxKind["AsteriskToken"] = 41] = "AsteriskToken"; + SyntaxKind[SyntaxKind["AsteriskAsteriskToken"] = 42] = "AsteriskAsteriskToken"; + SyntaxKind[SyntaxKind["SlashToken"] = 43] = "SlashToken"; + SyntaxKind[SyntaxKind["PercentToken"] = 44] = "PercentToken"; + SyntaxKind[SyntaxKind["PlusPlusToken"] = 45] = "PlusPlusToken"; + SyntaxKind[SyntaxKind["MinusMinusToken"] = 46] = "MinusMinusToken"; + SyntaxKind[SyntaxKind["LessThanLessThanToken"] = 47] = "LessThanLessThanToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanToken"] = 48] = "GreaterThanGreaterThanToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 49] = "GreaterThanGreaterThanGreaterThanToken"; + SyntaxKind[SyntaxKind["AmpersandToken"] = 50] = "AmpersandToken"; + SyntaxKind[SyntaxKind["BarToken"] = 51] = "BarToken"; + SyntaxKind[SyntaxKind["CaretToken"] = 52] = "CaretToken"; + SyntaxKind[SyntaxKind["ExclamationToken"] = 53] = "ExclamationToken"; + SyntaxKind[SyntaxKind["TildeToken"] = 54] = "TildeToken"; + SyntaxKind[SyntaxKind["AmpersandAmpersandToken"] = 55] = "AmpersandAmpersandToken"; + SyntaxKind[SyntaxKind["BarBarToken"] = 56] = "BarBarToken"; + SyntaxKind[SyntaxKind["QuestionToken"] = 57] = "QuestionToken"; + SyntaxKind[SyntaxKind["ColonToken"] = 58] = "ColonToken"; + SyntaxKind[SyntaxKind["AtToken"] = 59] = "AtToken"; + SyntaxKind[SyntaxKind["QuestionQuestionToken"] = 60] = "QuestionQuestionToken"; + SyntaxKind[SyntaxKind["BacktickToken"] = 61] = "BacktickToken"; + SyntaxKind[SyntaxKind["HashToken"] = 62] = "HashToken"; + SyntaxKind[SyntaxKind["EqualsToken"] = 63] = "EqualsToken"; + SyntaxKind[SyntaxKind["PlusEqualsToken"] = 64] = "PlusEqualsToken"; + SyntaxKind[SyntaxKind["MinusEqualsToken"] = 65] = "MinusEqualsToken"; + SyntaxKind[SyntaxKind["AsteriskEqualsToken"] = 66] = "AsteriskEqualsToken"; + SyntaxKind[SyntaxKind["AsteriskAsteriskEqualsToken"] = 67] = "AsteriskAsteriskEqualsToken"; + SyntaxKind[SyntaxKind["SlashEqualsToken"] = 68] = "SlashEqualsToken"; + SyntaxKind[SyntaxKind["PercentEqualsToken"] = 69] = "PercentEqualsToken"; + SyntaxKind[SyntaxKind["LessThanLessThanEqualsToken"] = 70] = "LessThanLessThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 71] = "GreaterThanGreaterThanEqualsToken"; + SyntaxKind[ + SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 72 + ] = "GreaterThanGreaterThanGreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["AmpersandEqualsToken"] = 73] = "AmpersandEqualsToken"; + SyntaxKind[SyntaxKind["BarEqualsToken"] = 74] = "BarEqualsToken"; + SyntaxKind[SyntaxKind["BarBarEqualsToken"] = 75] = "BarBarEqualsToken"; + SyntaxKind[SyntaxKind["AmpersandAmpersandEqualsToken"] = 76] = "AmpersandAmpersandEqualsToken"; + SyntaxKind[SyntaxKind["QuestionQuestionEqualsToken"] = 77] = "QuestionQuestionEqualsToken"; + SyntaxKind[SyntaxKind["CaretEqualsToken"] = 78] = "CaretEqualsToken"; + SyntaxKind[SyntaxKind["Identifier"] = 79] = "Identifier"; + SyntaxKind[SyntaxKind["PrivateIdentifier"] = 80] = "PrivateIdentifier"; + SyntaxKind[SyntaxKind["JSDocCommentTextToken"] = 81] = "JSDocCommentTextToken"; + SyntaxKind[SyntaxKind["BreakKeyword"] = 82] = "BreakKeyword"; + SyntaxKind[SyntaxKind["CaseKeyword"] = 83] = "CaseKeyword"; + SyntaxKind[SyntaxKind["CatchKeyword"] = 84] = "CatchKeyword"; + SyntaxKind[SyntaxKind["ClassKeyword"] = 85] = "ClassKeyword"; + SyntaxKind[SyntaxKind["ConstKeyword"] = 86] = "ConstKeyword"; + SyntaxKind[SyntaxKind["ContinueKeyword"] = 87] = "ContinueKeyword"; + SyntaxKind[SyntaxKind["DebuggerKeyword"] = 88] = "DebuggerKeyword"; + SyntaxKind[SyntaxKind["DefaultKeyword"] = 89] = "DefaultKeyword"; + SyntaxKind[SyntaxKind["DeleteKeyword"] = 90] = "DeleteKeyword"; + SyntaxKind[SyntaxKind["DoKeyword"] = 91] = "DoKeyword"; + SyntaxKind[SyntaxKind["ElseKeyword"] = 92] = "ElseKeyword"; + SyntaxKind[SyntaxKind["EnumKeyword"] = 93] = "EnumKeyword"; + SyntaxKind[SyntaxKind["ExportKeyword"] = 94] = "ExportKeyword"; + SyntaxKind[SyntaxKind["ExtendsKeyword"] = 95] = "ExtendsKeyword"; + SyntaxKind[SyntaxKind["FalseKeyword"] = 96] = "FalseKeyword"; + SyntaxKind[SyntaxKind["FinallyKeyword"] = 97] = "FinallyKeyword"; + SyntaxKind[SyntaxKind["ForKeyword"] = 98] = "ForKeyword"; + SyntaxKind[SyntaxKind["FunctionKeyword"] = 99] = "FunctionKeyword"; + SyntaxKind[SyntaxKind["IfKeyword"] = 100] = "IfKeyword"; + SyntaxKind[SyntaxKind["ImportKeyword"] = 101] = "ImportKeyword"; + SyntaxKind[SyntaxKind["InKeyword"] = 102] = "InKeyword"; + SyntaxKind[SyntaxKind["InstanceOfKeyword"] = 103] = "InstanceOfKeyword"; + SyntaxKind[SyntaxKind["NewKeyword"] = 104] = "NewKeyword"; + SyntaxKind[SyntaxKind["NullKeyword"] = 105] = "NullKeyword"; + SyntaxKind[SyntaxKind["ReturnKeyword"] = 106] = "ReturnKeyword"; + SyntaxKind[SyntaxKind["SuperKeyword"] = 107] = "SuperKeyword"; + SyntaxKind[SyntaxKind["SwitchKeyword"] = 108] = "SwitchKeyword"; + SyntaxKind[SyntaxKind["ThisKeyword"] = 109] = "ThisKeyword"; + SyntaxKind[SyntaxKind["ThrowKeyword"] = 110] = "ThrowKeyword"; + SyntaxKind[SyntaxKind["TrueKeyword"] = 111] = "TrueKeyword"; + SyntaxKind[SyntaxKind["TryKeyword"] = 112] = "TryKeyword"; + SyntaxKind[SyntaxKind["TypeOfKeyword"] = 113] = "TypeOfKeyword"; + SyntaxKind[SyntaxKind["VarKeyword"] = 114] = "VarKeyword"; + SyntaxKind[SyntaxKind["VoidKeyword"] = 115] = "VoidKeyword"; + SyntaxKind[SyntaxKind["WhileKeyword"] = 116] = "WhileKeyword"; + SyntaxKind[SyntaxKind["WithKeyword"] = 117] = "WithKeyword"; + SyntaxKind[SyntaxKind["ImplementsKeyword"] = 118] = "ImplementsKeyword"; + SyntaxKind[SyntaxKind["InterfaceKeyword"] = 119] = "InterfaceKeyword"; + SyntaxKind[SyntaxKind["LetKeyword"] = 120] = "LetKeyword"; + SyntaxKind[SyntaxKind["PackageKeyword"] = 121] = "PackageKeyword"; + SyntaxKind[SyntaxKind["PrivateKeyword"] = 122] = "PrivateKeyword"; + SyntaxKind[SyntaxKind["ProtectedKeyword"] = 123] = "ProtectedKeyword"; + SyntaxKind[SyntaxKind["PublicKeyword"] = 124] = "PublicKeyword"; + SyntaxKind[SyntaxKind["StaticKeyword"] = 125] = "StaticKeyword"; + SyntaxKind[SyntaxKind["YieldKeyword"] = 126] = "YieldKeyword"; + SyntaxKind[SyntaxKind["AbstractKeyword"] = 127] = "AbstractKeyword"; + SyntaxKind[SyntaxKind["AccessorKeyword"] = 128] = "AccessorKeyword"; + SyntaxKind[SyntaxKind["AsKeyword"] = 129] = "AsKeyword"; + SyntaxKind[SyntaxKind["AssertsKeyword"] = 130] = "AssertsKeyword"; + SyntaxKind[SyntaxKind["AssertKeyword"] = 131] = "AssertKeyword"; + SyntaxKind[SyntaxKind["AnyKeyword"] = 132] = "AnyKeyword"; + SyntaxKind[SyntaxKind["AsyncKeyword"] = 133] = "AsyncKeyword"; + SyntaxKind[SyntaxKind["AwaitKeyword"] = 134] = "AwaitKeyword"; + SyntaxKind[SyntaxKind["BooleanKeyword"] = 135] = "BooleanKeyword"; + SyntaxKind[SyntaxKind["ConstructorKeyword"] = 136] = "ConstructorKeyword"; + SyntaxKind[SyntaxKind["DeclareKeyword"] = 137] = "DeclareKeyword"; + SyntaxKind[SyntaxKind["GetKeyword"] = 138] = "GetKeyword"; + SyntaxKind[SyntaxKind["ImmediateKeyword"] = 139] = "ImmediateKeyword"; + SyntaxKind[SyntaxKind["InferKeyword"] = 140] = "InferKeyword"; + SyntaxKind[SyntaxKind["IntrinsicKeyword"] = 141] = "IntrinsicKeyword"; + SyntaxKind[SyntaxKind["IsKeyword"] = 142] = "IsKeyword"; + SyntaxKind[SyntaxKind["KeyOfKeyword"] = 143] = "KeyOfKeyword"; + SyntaxKind[SyntaxKind["ModuleKeyword"] = 144] = "ModuleKeyword"; + SyntaxKind[SyntaxKind["NamespaceKeyword"] = 145] = "NamespaceKeyword"; + SyntaxKind[SyntaxKind["NeverKeyword"] = 146] = "NeverKeyword"; + SyntaxKind[SyntaxKind["OutKeyword"] = 147] = "OutKeyword"; + SyntaxKind[SyntaxKind["ReadonlyKeyword"] = 148] = "ReadonlyKeyword"; + SyntaxKind[SyntaxKind["RequireKeyword"] = 149] = "RequireKeyword"; + SyntaxKind[SyntaxKind["NumberKeyword"] = 150] = "NumberKeyword"; + SyntaxKind[SyntaxKind["ObjectKeyword"] = 151] = "ObjectKeyword"; + SyntaxKind[SyntaxKind["SatisfiesKeyword"] = 152] = "SatisfiesKeyword"; + SyntaxKind[SyntaxKind["SetKeyword"] = 153] = "SetKeyword"; + SyntaxKind[SyntaxKind["StringKeyword"] = 154] = "StringKeyword"; + SyntaxKind[SyntaxKind["SymbolKeyword"] = 155] = "SymbolKeyword"; + SyntaxKind[SyntaxKind["TypeKeyword"] = 156] = "TypeKeyword"; + SyntaxKind[SyntaxKind["UndefinedKeyword"] = 157] = "UndefinedKeyword"; + SyntaxKind[SyntaxKind["UniqueKeyword"] = 158] = "UniqueKeyword"; + SyntaxKind[SyntaxKind["UnknownKeyword"] = 159] = "UnknownKeyword"; + SyntaxKind[SyntaxKind["UsingKeyword"] = 160] = "UsingKeyword"; + SyntaxKind[SyntaxKind["FromKeyword"] = 161] = "FromKeyword"; + SyntaxKind[SyntaxKind["GlobalKeyword"] = 162] = "GlobalKeyword"; + SyntaxKind[SyntaxKind["BigIntKeyword"] = 163] = "BigIntKeyword"; + SyntaxKind[SyntaxKind["OverrideKeyword"] = 164] = "OverrideKeyword"; + SyntaxKind[SyntaxKind["OfKeyword"] = 165] = "OfKeyword"; + SyntaxKind[SyntaxKind["QualifiedName"] = 166] = "QualifiedName"; + SyntaxKind[SyntaxKind["ComputedPropertyName"] = 167] = "ComputedPropertyName"; + SyntaxKind[SyntaxKind["TypeParameter"] = 168] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 169] = "Parameter"; + SyntaxKind[SyntaxKind["Decorator"] = 170] = "Decorator"; + SyntaxKind[SyntaxKind["PropertySignature"] = 171] = "PropertySignature"; + SyntaxKind[SyntaxKind["PropertyDeclaration"] = 172] = "PropertyDeclaration"; + SyntaxKind[SyntaxKind["MethodSignature"] = 173] = "MethodSignature"; + SyntaxKind[SyntaxKind["MethodDeclaration"] = 174] = "MethodDeclaration"; + SyntaxKind[SyntaxKind["ClassStaticBlockDeclaration"] = 175] = "ClassStaticBlockDeclaration"; + SyntaxKind[SyntaxKind["Constructor"] = 176] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 177] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 178] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 179] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 180] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 181] = "IndexSignature"; + SyntaxKind[SyntaxKind["TypePredicate"] = 182] = "TypePredicate"; + SyntaxKind[SyntaxKind["TypeReference"] = 183] = "TypeReference"; + SyntaxKind[SyntaxKind["FunctionType"] = 184] = "FunctionType"; + SyntaxKind[SyntaxKind["ConstructorType"] = 185] = "ConstructorType"; + SyntaxKind[SyntaxKind["TypeQuery"] = 186] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 187] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 188] = "ArrayType"; + SyntaxKind[SyntaxKind["TupleType"] = 189] = "TupleType"; + SyntaxKind[SyntaxKind["OptionalType"] = 190] = "OptionalType"; + SyntaxKind[SyntaxKind["RestType"] = 191] = "RestType"; + SyntaxKind[SyntaxKind["UnionType"] = 192] = "UnionType"; + SyntaxKind[SyntaxKind["IntersectionType"] = 193] = "IntersectionType"; + SyntaxKind[SyntaxKind["ConditionalType"] = 194] = "ConditionalType"; + SyntaxKind[SyntaxKind["InferType"] = 195] = "InferType"; + SyntaxKind[SyntaxKind["ParenthesizedType"] = 196] = "ParenthesizedType"; + SyntaxKind[SyntaxKind["ThisType"] = 197] = "ThisType"; + SyntaxKind[SyntaxKind["TypeOperator"] = 198] = "TypeOperator"; + SyntaxKind[SyntaxKind["IndexedAccessType"] = 199] = "IndexedAccessType"; + SyntaxKind[SyntaxKind["MappedType"] = 200] = "MappedType"; + SyntaxKind[SyntaxKind["LiteralType"] = 201] = "LiteralType"; + SyntaxKind[SyntaxKind["NamedTupleMember"] = 202] = "NamedTupleMember"; + SyntaxKind[SyntaxKind["TemplateLiteralType"] = 203] = "TemplateLiteralType"; + SyntaxKind[SyntaxKind["TemplateLiteralTypeSpan"] = 204] = "TemplateLiteralTypeSpan"; + SyntaxKind[SyntaxKind["ImportType"] = 205] = "ImportType"; + SyntaxKind[SyntaxKind["ObjectBindingPattern"] = 206] = "ObjectBindingPattern"; + SyntaxKind[SyntaxKind["ArrayBindingPattern"] = 207] = "ArrayBindingPattern"; + SyntaxKind[SyntaxKind["BindingElement"] = 208] = "BindingElement"; + SyntaxKind[SyntaxKind["ArrayLiteralExpression"] = 209] = "ArrayLiteralExpression"; + SyntaxKind[SyntaxKind["ObjectLiteralExpression"] = 210] = "ObjectLiteralExpression"; + SyntaxKind[SyntaxKind["PropertyAccessExpression"] = 211] = "PropertyAccessExpression"; + SyntaxKind[SyntaxKind["ElementAccessExpression"] = 212] = "ElementAccessExpression"; + SyntaxKind[SyntaxKind["CallExpression"] = 213] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 214] = "NewExpression"; + SyntaxKind[SyntaxKind["TaggedTemplateExpression"] = 215] = "TaggedTemplateExpression"; + SyntaxKind[SyntaxKind["TypeAssertionExpression"] = 216] = "TypeAssertionExpression"; + SyntaxKind[SyntaxKind["ParenthesizedExpression"] = 217] = "ParenthesizedExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 218] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 219] = "ArrowFunction"; + SyntaxKind[SyntaxKind["DeleteExpression"] = 220] = "DeleteExpression"; + SyntaxKind[SyntaxKind["TypeOfExpression"] = 221] = "TypeOfExpression"; + SyntaxKind[SyntaxKind["VoidExpression"] = 222] = "VoidExpression"; + SyntaxKind[SyntaxKind["AwaitExpression"] = 223] = "AwaitExpression"; + SyntaxKind[SyntaxKind["PrefixUnaryExpression"] = 224] = "PrefixUnaryExpression"; + SyntaxKind[SyntaxKind["PostfixUnaryExpression"] = 225] = "PostfixUnaryExpression"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 226] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 227] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["TemplateExpression"] = 228] = "TemplateExpression"; + SyntaxKind[SyntaxKind["YieldExpression"] = 229] = "YieldExpression"; + SyntaxKind[SyntaxKind["SpreadElement"] = 230] = "SpreadElement"; + SyntaxKind[SyntaxKind["ClassExpression"] = 231] = "ClassExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 232] = "OmittedExpression"; + SyntaxKind[SyntaxKind["ExpressionWithTypeArguments"] = 233] = "ExpressionWithTypeArguments"; + SyntaxKind[SyntaxKind["AsExpression"] = 234] = "AsExpression"; + SyntaxKind[SyntaxKind["NonNullExpression"] = 235] = "NonNullExpression"; + SyntaxKind[SyntaxKind["MetaProperty"] = 236] = "MetaProperty"; + SyntaxKind[SyntaxKind["SyntheticExpression"] = 237] = "SyntheticExpression"; + SyntaxKind[SyntaxKind["SatisfiesExpression"] = 238] = "SatisfiesExpression"; + SyntaxKind[SyntaxKind["TemplateSpan"] = 239] = "TemplateSpan"; + SyntaxKind[SyntaxKind["SemicolonClassElement"] = 240] = "SemicolonClassElement"; + SyntaxKind[SyntaxKind["Block"] = 241] = "Block"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 242] = "EmptyStatement"; + SyntaxKind[SyntaxKind["VariableStatement"] = 243] = "VariableStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 244] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 245] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 246] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 247] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 248] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 249] = "ForInStatement"; + SyntaxKind[SyntaxKind["ForOfStatement"] = 250] = "ForOfStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 251] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 252] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 253] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 254] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 255] = "SwitchStatement"; + SyntaxKind[SyntaxKind["LabeledStatement"] = 256] = "LabeledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 257] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 258] = "TryStatement"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 259] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 260] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["VariableDeclarationList"] = 261] = "VariableDeclarationList"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 262] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 263] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 264] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["TypeAliasDeclaration"] = 265] = "TypeAliasDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 266] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 267] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 268] = "ModuleBlock"; + SyntaxKind[SyntaxKind["CaseBlock"] = 269] = "CaseBlock"; + SyntaxKind[SyntaxKind["NamespaceExportDeclaration"] = 270] = "NamespaceExportDeclaration"; + SyntaxKind[SyntaxKind["ImportEqualsDeclaration"] = 271] = "ImportEqualsDeclaration"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 272] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ImportClause"] = 273] = "ImportClause"; + SyntaxKind[SyntaxKind["NamespaceImport"] = 274] = "NamespaceImport"; + SyntaxKind[SyntaxKind["NamedImports"] = 275] = "NamedImports"; + SyntaxKind[SyntaxKind["ImportSpecifier"] = 276] = "ImportSpecifier"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 277] = "ExportAssignment"; + SyntaxKind[SyntaxKind["ExportDeclaration"] = 278] = "ExportDeclaration"; + SyntaxKind[SyntaxKind["NamedExports"] = 279] = "NamedExports"; + SyntaxKind[SyntaxKind["NamespaceExport"] = 280] = "NamespaceExport"; + SyntaxKind[SyntaxKind["ExportSpecifier"] = 281] = "ExportSpecifier"; + SyntaxKind[SyntaxKind["MissingDeclaration"] = 282] = "MissingDeclaration"; + SyntaxKind[SyntaxKind["ExternalModuleReference"] = 283] = "ExternalModuleReference"; + SyntaxKind[SyntaxKind["JsxElement"] = 284] = "JsxElement"; + SyntaxKind[SyntaxKind["JsxSelfClosingElement"] = 285] = "JsxSelfClosingElement"; + SyntaxKind[SyntaxKind["JsxOpeningElement"] = 286] = "JsxOpeningElement"; + SyntaxKind[SyntaxKind["JsxClosingElement"] = 287] = "JsxClosingElement"; + SyntaxKind[SyntaxKind["JsxFragment"] = 288] = "JsxFragment"; + SyntaxKind[SyntaxKind["JsxOpeningFragment"] = 289] = "JsxOpeningFragment"; + SyntaxKind[SyntaxKind["JsxClosingFragment"] = 290] = "JsxClosingFragment"; + SyntaxKind[SyntaxKind["JsxAttribute"] = 291] = "JsxAttribute"; + SyntaxKind[SyntaxKind["JsxAttributes"] = 292] = "JsxAttributes"; + SyntaxKind[SyntaxKind["JsxSpreadAttribute"] = 293] = "JsxSpreadAttribute"; + SyntaxKind[SyntaxKind["JsxExpression"] = 294] = "JsxExpression"; + SyntaxKind[SyntaxKind["JsxNamespacedName"] = 295] = "JsxNamespacedName"; + SyntaxKind[SyntaxKind["CaseClause"] = 296] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 297] = "DefaultClause"; + SyntaxKind[SyntaxKind["HeritageClause"] = 298] = "HeritageClause"; + SyntaxKind[SyntaxKind["CatchClause"] = 299] = "CatchClause"; + SyntaxKind[SyntaxKind["ImportAttributes"] = 300] = "ImportAttributes"; + SyntaxKind[SyntaxKind["ImportAttribute"] = 301] = "ImportAttribute"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 302] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["ShorthandPropertyAssignment"] = 303] = "ShorthandPropertyAssignment"; + SyntaxKind[SyntaxKind["SpreadAssignment"] = 304] = "SpreadAssignment"; + SyntaxKind[SyntaxKind["EnumMember"] = 305] = "EnumMember"; + SyntaxKind[SyntaxKind["SourceFile"] = 306] = "SourceFile"; + SyntaxKind[SyntaxKind["Bundle"] = 307] = "Bundle"; + SyntaxKind[SyntaxKind["JSDocTypeExpression"] = 308] = "JSDocTypeExpression"; + SyntaxKind[SyntaxKind["JSDocNameReference"] = 309] = "JSDocNameReference"; + SyntaxKind[SyntaxKind["JSDocMemberName"] = 310] = "JSDocMemberName"; + SyntaxKind[SyntaxKind["JSDocAllType"] = 311] = "JSDocAllType"; + SyntaxKind[SyntaxKind["JSDocNullableType"] = 312] = "JSDocNullableType"; + SyntaxKind[SyntaxKind["JSDocNonNullableType"] = 313] = "JSDocNonNullableType"; + SyntaxKind[SyntaxKind["JSDocOptionalType"] = 314] = "JSDocOptionalType"; + SyntaxKind[SyntaxKind["JSDocVariadicType"] = 315] = "JSDocVariadicType"; + SyntaxKind[SyntaxKind["JSDoc"] = 316] = "JSDoc"; + SyntaxKind[SyntaxKind["JSDocText"] = 317] = "JSDocText"; + SyntaxKind[SyntaxKind["JSDocTypeLiteral"] = 318] = "JSDocTypeLiteral"; + SyntaxKind[SyntaxKind["JSDocSignature"] = 319] = "JSDocSignature"; + SyntaxKind[SyntaxKind["JSDocLink"] = 320] = "JSDocLink"; + SyntaxKind[SyntaxKind["JSDocLinkCode"] = 321] = "JSDocLinkCode"; + SyntaxKind[SyntaxKind["JSDocLinkPlain"] = 322] = "JSDocLinkPlain"; + SyntaxKind[SyntaxKind["JSDocTag"] = 323] = "JSDocTag"; + SyntaxKind[SyntaxKind["JSDocAugmentsTag"] = 324] = "JSDocAugmentsTag"; + SyntaxKind[SyntaxKind["JSDocImplementsTag"] = 325] = "JSDocImplementsTag"; + SyntaxKind[SyntaxKind["JSDocDeprecatedTag"] = 326] = "JSDocDeprecatedTag"; + SyntaxKind[SyntaxKind["JSDocPublicTag"] = 327] = "JSDocPublicTag"; + SyntaxKind[SyntaxKind["JSDocPrivateTag"] = 328] = "JSDocPrivateTag"; + SyntaxKind[SyntaxKind["JSDocProtectedTag"] = 329] = "JSDocProtectedTag"; + SyntaxKind[SyntaxKind["JSDocReadonlyTag"] = 330] = "JSDocReadonlyTag"; + SyntaxKind[SyntaxKind["JSDocOverrideTag"] = 331] = "JSDocOverrideTag"; + SyntaxKind[SyntaxKind["JSDocCallbackTag"] = 332] = "JSDocCallbackTag"; + SyntaxKind[SyntaxKind["JSDocOverloadTag"] = 333] = "JSDocOverloadTag"; + SyntaxKind[SyntaxKind["JSDocParameterTag"] = 334] = "JSDocParameterTag"; + SyntaxKind[SyntaxKind["JSDocReturnTag"] = 335] = "JSDocReturnTag"; + SyntaxKind[SyntaxKind["JSDocThisTag"] = 336] = "JSDocThisTag"; + SyntaxKind[SyntaxKind["JSDocTypeTag"] = 337] = "JSDocTypeTag"; + SyntaxKind[SyntaxKind["JSDocTemplateTag"] = 338] = "JSDocTemplateTag"; + SyntaxKind[SyntaxKind["JSDocTypedefTag"] = 339] = "JSDocTypedefTag"; + SyntaxKind[SyntaxKind["JSDocSeeTag"] = 340] = "JSDocSeeTag"; + SyntaxKind[SyntaxKind["JSDocPropertyTag"] = 341] = "JSDocPropertyTag"; + SyntaxKind[SyntaxKind["JSDocSatisfiesTag"] = 342] = "JSDocSatisfiesTag"; + SyntaxKind[SyntaxKind["JSDocImportTag"] = 343] = "JSDocImportTag"; + SyntaxKind[SyntaxKind["SyntaxList"] = 344] = "SyntaxList"; + SyntaxKind[SyntaxKind["NotEmittedStatement"] = 345] = "NotEmittedStatement"; + SyntaxKind[SyntaxKind["PartiallyEmittedExpression"] = 346] = "PartiallyEmittedExpression"; + SyntaxKind[SyntaxKind["CommaListExpression"] = 347] = "CommaListExpression"; + SyntaxKind[SyntaxKind["SyntheticReferenceExpression"] = 348] = "SyntheticReferenceExpression"; + SyntaxKind[SyntaxKind["Count"] = 349] = "Count"; +})(SyntaxKind || (SyntaxKind = {})); diff --git a/_packages/ast/src/tokenFlags.enum.ts b/_packages/ast/src/tokenFlags.enum.ts index 5b95aa670d..1e5160421c 100644 --- a/_packages/ast/src/tokenFlags.enum.ts +++ b/_packages/ast/src/tokenFlags.enum.ts @@ -1,26 +1,26 @@ -// dprint-ignore -export const enum TokenFlags { - None = 0, - PrecedingLineBreak = 1 << 0, - PrecedingJSDocComment = 1 << 1, - Unterminated = 1 << 2, - ExtendedUnicodeEscape = 1 << 3, // e.g. `\u{10ffff}` - Scientific = 1 << 4, // e.g. `10e2` - Octal = 1 << 5, // e.g. `0777` - HexSpecifier = 1 << 6, // e.g. `0x00000000` - BinarySpecifier = 1 << 7, // e.g. `0b0110010000000000` - OctalSpecifier = 1 << 8, // e.g. `0o777` - ContainsSeparator = 1 << 9, // e.g. `0b1100_0101` - UnicodeEscape = 1 << 10, // e.g. `\u00a0` - ContainsInvalidEscape = 1 << 11, // e.g. `\uhello` - HexEscape = 1 << 12, // e.g. `\xa0` - ContainsLeadingZero = 1 << 13, // e.g. `0888` - ContainsInvalidSeparator = 1 << 14, // e.g. `0_1` - PrecedingJSDocLeadingAsterisks = 1 << 15, - BinaryOrOctalSpecifier = BinarySpecifier | OctalSpecifier, - WithSpecifier = HexSpecifier | BinaryOrOctalSpecifier, - StringLiteralFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, - NumericLiteralFlags = Scientific | Octal | ContainsLeadingZero | WithSpecifier | ContainsSeparator | ContainsInvalidSeparator, - TemplateLiteralLikeFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, - IsInvalid = Octal | ContainsLeadingZero | ContainsInvalidSeparator | ContainsInvalidEscape, -} +// dprint-ignore +export const enum TokenFlags { + None = 0, + PrecedingLineBreak = 1 << 0, + PrecedingJSDocComment = 1 << 1, + Unterminated = 1 << 2, + ExtendedUnicodeEscape = 1 << 3, // e.g. `\u{10ffff}` + Scientific = 1 << 4, // e.g. `10e2` + Octal = 1 << 5, // e.g. `0777` + HexSpecifier = 1 << 6, // e.g. `0x00000000` + BinarySpecifier = 1 << 7, // e.g. `0b0110010000000000` + OctalSpecifier = 1 << 8, // e.g. `0o777` + ContainsSeparator = 1 << 9, // e.g. `0b1100_0101` + UnicodeEscape = 1 << 10, // e.g. `\u00a0` + ContainsInvalidEscape = 1 << 11, // e.g. `\uhello` + HexEscape = 1 << 12, // e.g. `\xa0` + ContainsLeadingZero = 1 << 13, // e.g. `0888` + ContainsInvalidSeparator = 1 << 14, // e.g. `0_1` + PrecedingJSDocLeadingAsterisks = 1 << 15, + BinaryOrOctalSpecifier = BinarySpecifier | OctalSpecifier, + WithSpecifier = HexSpecifier | BinaryOrOctalSpecifier, + StringLiteralFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, + NumericLiteralFlags = Scientific | Octal | ContainsLeadingZero | WithSpecifier | ContainsSeparator | ContainsInvalidSeparator, + TemplateLiteralLikeFlags = HexEscape | UnicodeEscape | ExtendedUnicodeEscape | ContainsInvalidEscape, + IsInvalid = Octal | ContainsLeadingZero | ContainsInvalidSeparator | ContainsInvalidEscape, +} diff --git a/_packages/ast/src/tokenFlags.ts b/_packages/ast/src/tokenFlags.ts index a7ea109498..4b0a8cd272 100644 --- a/_packages/ast/src/tokenFlags.ts +++ b/_packages/ast/src/tokenFlags.ts @@ -1,27 +1,27 @@ -// dprint-ignore -export var TokenFlags: any; -(function (TokenFlags) { - TokenFlags[TokenFlags["None"] = 0] = "None"; - TokenFlags[TokenFlags["PrecedingLineBreak"] = 1] = "PrecedingLineBreak"; - TokenFlags[TokenFlags["PrecedingJSDocComment"] = 2] = "PrecedingJSDocComment"; - TokenFlags[TokenFlags["Unterminated"] = 4] = "Unterminated"; - TokenFlags[TokenFlags["ExtendedUnicodeEscape"] = 8] = "ExtendedUnicodeEscape"; - TokenFlags[TokenFlags["Scientific"] = 16] = "Scientific"; - TokenFlags[TokenFlags["Octal"] = 32] = "Octal"; - TokenFlags[TokenFlags["HexSpecifier"] = 64] = "HexSpecifier"; - TokenFlags[TokenFlags["BinarySpecifier"] = 128] = "BinarySpecifier"; - TokenFlags[TokenFlags["OctalSpecifier"] = 256] = "OctalSpecifier"; - TokenFlags[TokenFlags["ContainsSeparator"] = 512] = "ContainsSeparator"; - TokenFlags[TokenFlags["UnicodeEscape"] = 1024] = "UnicodeEscape"; - TokenFlags[TokenFlags["ContainsInvalidEscape"] = 2048] = "ContainsInvalidEscape"; - TokenFlags[TokenFlags["HexEscape"] = 4096] = "HexEscape"; - TokenFlags[TokenFlags["ContainsLeadingZero"] = 8192] = "ContainsLeadingZero"; - TokenFlags[TokenFlags["ContainsInvalidSeparator"] = 16384] = "ContainsInvalidSeparator"; - TokenFlags[TokenFlags["PrecedingJSDocLeadingAsterisks"] = 32768] = "PrecedingJSDocLeadingAsterisks"; - TokenFlags[TokenFlags["BinaryOrOctalSpecifier"] = 384] = "BinaryOrOctalSpecifier"; - TokenFlags[TokenFlags["WithSpecifier"] = 448] = "WithSpecifier"; - TokenFlags[TokenFlags["StringLiteralFlags"] = 7176] = "StringLiteralFlags"; - TokenFlags[TokenFlags["NumericLiteralFlags"] = 25584] = "NumericLiteralFlags"; - TokenFlags[TokenFlags["TemplateLiteralLikeFlags"] = 7176] = "TemplateLiteralLikeFlags"; - TokenFlags[TokenFlags["IsInvalid"] = 26656] = "IsInvalid"; -})(TokenFlags || (TokenFlags = {})); +// dprint-ignore +export var TokenFlags: any; +(function (TokenFlags) { + TokenFlags[TokenFlags["None"] = 0] = "None"; + TokenFlags[TokenFlags["PrecedingLineBreak"] = 1] = "PrecedingLineBreak"; + TokenFlags[TokenFlags["PrecedingJSDocComment"] = 2] = "PrecedingJSDocComment"; + TokenFlags[TokenFlags["Unterminated"] = 4] = "Unterminated"; + TokenFlags[TokenFlags["ExtendedUnicodeEscape"] = 8] = "ExtendedUnicodeEscape"; + TokenFlags[TokenFlags["Scientific"] = 16] = "Scientific"; + TokenFlags[TokenFlags["Octal"] = 32] = "Octal"; + TokenFlags[TokenFlags["HexSpecifier"] = 64] = "HexSpecifier"; + TokenFlags[TokenFlags["BinarySpecifier"] = 128] = "BinarySpecifier"; + TokenFlags[TokenFlags["OctalSpecifier"] = 256] = "OctalSpecifier"; + TokenFlags[TokenFlags["ContainsSeparator"] = 512] = "ContainsSeparator"; + TokenFlags[TokenFlags["UnicodeEscape"] = 1024] = "UnicodeEscape"; + TokenFlags[TokenFlags["ContainsInvalidEscape"] = 2048] = "ContainsInvalidEscape"; + TokenFlags[TokenFlags["HexEscape"] = 4096] = "HexEscape"; + TokenFlags[TokenFlags["ContainsLeadingZero"] = 8192] = "ContainsLeadingZero"; + TokenFlags[TokenFlags["ContainsInvalidSeparator"] = 16384] = "ContainsInvalidSeparator"; + TokenFlags[TokenFlags["PrecedingJSDocLeadingAsterisks"] = 32768] = "PrecedingJSDocLeadingAsterisks"; + TokenFlags[TokenFlags["BinaryOrOctalSpecifier"] = 384] = "BinaryOrOctalSpecifier"; + TokenFlags[TokenFlags["WithSpecifier"] = 448] = "WithSpecifier"; + TokenFlags[TokenFlags["StringLiteralFlags"] = 7176] = "StringLiteralFlags"; + TokenFlags[TokenFlags["NumericLiteralFlags"] = 25584] = "NumericLiteralFlags"; + TokenFlags[TokenFlags["TemplateLiteralLikeFlags"] = 7176] = "TemplateLiteralLikeFlags"; + TokenFlags[TokenFlags["IsInvalid"] = 26656] = "IsInvalid"; +})(TokenFlags || (TokenFlags = {})); diff --git a/_packages/ast/src/utils.ts b/_packages/ast/src/utils.ts index 2f95d12e0a..0b77d02fb6 100644 --- a/_packages/ast/src/utils.ts +++ b/_packages/ast/src/utils.ts @@ -1,9 +1,9 @@ -export function tryCast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut | undefined { - return value !== undefined && test(value) ? value : undefined; -} - -export function cast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut { - if (value !== undefined && test(value)) return value; - - throw new Error(`Invalid cast. The supplied value ${value} did not pass the test '${test.name}'.`); -} +export function tryCast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut | undefined { + return value !== undefined && test(value) ? value : undefined; +} + +export function cast(value: TIn | undefined, test: (value: TIn) => value is TOut): TOut { + if (value !== undefined && test(value)) return value; + + throw new Error(`Invalid cast. The supplied value ${value} did not pass the test '${test.name}'.`); +} diff --git a/internal/api/server.go b/internal/api/server.go index beda9c75d9..e298aeba2c 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -62,8 +62,10 @@ type ServerOptions struct { DefaultLibraryPath string } -var _ APIHost = (*Server)(nil) -var _ vfs.FS = (*Server)(nil) +var ( + _ APIHost = (*Server)(nil) + _ vfs.FS = (*Server)(nil) +) type Server struct { r *bufio.Reader diff --git a/internal/project/logger.go b/internal/project/logger.go index c00754aef9..cc2db1c8bd 100644 --- a/internal/project/logger.go +++ b/internal/project/logger.go @@ -44,7 +44,7 @@ func (l *Logger) SetFile(file string) { l.fileHandle.Close() } if file != "" { - f, err := os.OpenFile(file, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) + f, err := os.OpenFile(file, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0o666) if err != nil { panic(err) } From 66fe030d83fb5c428ff2cdac7056404d4e0e206e Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 11:20:26 -0700 Subject: [PATCH 37/63] Add vfs.FS.Remove to api.Server --- internal/api/server.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/api/server.go b/internal/api/server.go index e298aeba2c..7d17421ffb 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -475,3 +475,8 @@ func (s *Server) WalkDir(root string, walkFn vfs.WalkDirFunc) error { func (s *Server) Stat(path string) vfs.FileInfo { panic("unimplemented") } + +// Remove implements vfs.FS. +func (s *Server) Remove(path string) error { + panic("unimplemented") +} From 8c785bdd907ea9af04fa4b80dcc0e933a8ab0582 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 11:20:51 -0700 Subject: [PATCH 38/63] Add libsyncrpc as a git dependency --- _packages/api/package.json | 2 +- package-lock.json | 34 ++++++++++------------------------ 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/_packages/api/package.json b/_packages/api/package.json index 1b0bcccc32..2a04dfb583 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -45,6 +45,6 @@ }, "dependencies": { "@typescript/ast": "1.0.0", - "libsyncrpc": "git://github.com/microsoft/libsyncrpc.git#5d081d80a469ca0cf3157c3ea51a37a14c5ef50c" + "libsyncrpc": "github:microsoft/libsyncrpc#bb02d84" } } diff --git a/package-lock.json b/package-lock.json index b24a33041e..cbb54a532b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,7 +45,7 @@ "version": "1.0.0", "dependencies": { "@typescript/ast": "1.0.0", - "libsyncrpc": "file:../../../libsyncrpc" + "libsyncrpc": "github:microsoft/libsyncrpc#bb02d84" }, "devDependencies": { "tinybench": "^3.1.1" @@ -55,19 +55,6 @@ "name": "@typescript/ast", "version": "1.0.0" }, - "../libsyncrpc": { - "version": "0.0.0", - "license": "MIT", - "devDependencies": { - "@napi-rs/cli": "^2.18.4", - "@suchipi/dtsmd": "^1.1.0", - "ava": "^6.0.1", - "tinybench": "^2.9.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/@apidevtools/json-schema-ref-parser": { "version": "11.9.0", "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.0.tgz", @@ -743,8 +730,12 @@ } }, "node_modules/libsyncrpc": { - "resolved": "../libsyncrpc", - "link": true + "version": "0.0.0", + "resolved": "git+ssh://git@github.com/microsoft/libsyncrpc.git#bb02d8458da5b6dda1507b3390ea7cca80b99ca3", + "license": "MIT", + "engines": { + "node": ">= 10.16.0 < 11 || >= 11.8.0 < 12 || >= 12.0.0" + } }, "node_modules/lru-cache": { "version": "10.4.3", @@ -1485,7 +1476,7 @@ "version": "file:_packages/api", "requires": { "@typescript/ast": "1.0.0", - "libsyncrpc": "file:../../../libsyncrpc", + "libsyncrpc": "github:microsoft/libsyncrpc#bb02d84", "tinybench": "^3.1.1" } }, @@ -1819,13 +1810,8 @@ } }, "libsyncrpc": { - "version": "file:../libsyncrpc", - "requires": { - "@napi-rs/cli": "^2.18.4", - "@suchipi/dtsmd": "^1.1.0", - "ava": "^6.0.1", - "tinybench": "^2.9.0" - } + "version": "git+ssh://git@github.com/microsoft/libsyncrpc.git#bb02d8458da5b6dda1507b3390ea7cca80b99ca3", + "from": "libsyncrpc@github:microsoft/libsyncrpc#bb02d84" }, "lru-cache": { "version": "10.4.3", From f9655abab1eaab93319584077c054f9e5e8fc27e Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 11:42:17 -0700 Subject: [PATCH 39/63] Add encoder baseline --- .../reference/api/encodeSourceFile.txt | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 testdata/baselines/reference/api/encodeSourceFile.txt diff --git a/testdata/baselines/reference/api/encodeSourceFile.txt b/testdata/baselines/reference/api/encodeSourceFile.txt new file mode 100644 index 0000000000..88eb7adb80 --- /dev/null +++ b/testdata/baselines/reference/api/encodeSourceFile.txt @@ -0,0 +1,30 @@ +KindSourceFile [0, 89), i=1, next=0 + NodeList [0, 89), i=2, next=0 + KindImportDeclaration [0, 26), i=3, next=10 + KindImportClause [6, 14), i=4, next=9 + KindNamedImports [6, 14), i=5, next=0 + NodeList [8, 12), i=6, next=0 + KindImportSpecifier [8, 12), i=7, next=0 + KindIdentifier "bar" [8, 12), i=8, next=0 + KindStringLiteral "bar" [19, 25), i=9, next=0 + KindFunctionDeclaration [26, 82), i=10, next=28 + NodeList [26, 33), i=11, next=13 + KindExportKeyword [26, 33), i=12, next=0 + KindIdentifier "foo" [42, 46), i=13, next=14 + NodeList [47, 51), i=14, next=19 + KindTypeParameter [47, 48), i=15, next=17 + KindIdentifier "T" [47, 48), i=16, next=0 + KindTypeParameter [49, 51), i=17, next=0 + KindIdentifier "U" [49, 51), i=18, next=0 + NodeList [53, 73), i=19, next=26 + KindParameter [53, 62), i=20, next=23 + KindIdentifier "a" [53, 54), i=21, next=22 + KindStringKeyword [55, 62), i=22, next=0 + KindParameter [63, 73), i=23, next=0 + KindIdentifier "b" [63, 65), i=24, next=25 + KindStringKeyword [66, 73), i=25, next=0 + KindAnyKeyword [75, 79), i=26, next=27 + KindBlock [79, 82), i=27, next=0 + KindExpressionStatement [82, 89), i=28, next=0 + KindCallExpression [82, 88), i=29, next=0 + KindIdentifier "foo" [82, 86), i=30, next=0 From d985ac2da0d1ce9fa66b4bc102ea7459b4d6962c Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 14:32:07 -0700 Subject: [PATCH 40/63] Type check JS before testing, use --experimental-strip-types --- Herebyfile.mjs | 9 ++++++++- _packages/api/package.json | 5 +++-- _packages/api/src/api.ts | 1 + _packages/api/src/node.ts | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Herebyfile.mjs b/Herebyfile.mjs index d988100879..cdc00fa53d 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -276,9 +276,16 @@ export const testTools = task({ run: runTestTools, }); +export const buildJSTest = task({ + name: "build:js:test", + run: async () => { + await $`npm run -w @typescript/api build:test`; + }, +}); + export const testJS = task({ name: "test:js", - dependencies: [tsgo], + dependencies: [tsgo, buildJSTest], run: runTestJS, }); diff --git a/_packages/api/package.json b/_packages/api/package.json index 2a04dfb583..11fc3157de 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -37,8 +37,9 @@ }, "scripts": { "build": "tsc -b", - "bench": "node --no-warnings --conditions @typescript/source bench/api.bench.ts", - "test": "node --test --no-warnings --conditions @typescript/source ./test/**/*.test.ts" + "build:test": "tsc -b test", + "bench": "node --experimental-strip-types --no-warnings --conditions @typescript/source bench/api.bench.ts", + "test": "node --test --experimental-strip-types --no-warnings --conditions @typescript/source ./test/**/*.test.ts" }, "devDependencies": { "tinybench": "^3.1.1" diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index 7480d55f0a..14da18488d 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -1,3 +1,4 @@ +/// import { SymbolFlags } from "#symbolFlags"; import { TypeFlags } from "#typeFlags"; import type { diff --git a/_packages/api/src/node.ts b/_packages/api/src/node.ts index d0d74ffb5c..d906b3310b 100644 --- a/_packages/api/src/node.ts +++ b/_packages/api/src/node.ts @@ -281,7 +281,7 @@ export class RemoteNodeList extends Array implements NodeArray { + *[Symbol.iterator](): ArrayIterator { let next = this.index + 1; while (next) { const child = this.getOrCreateChildAtNodeIndex(next); From d76c2f68280945ec2a4f9a4bd90e961b7571c930 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 14:34:41 -0700 Subject: [PATCH 41/63] Kind is 16-bit --- internal/api/proto.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/api/proto.go b/internal/api/proto.go index 58b5884e34..543d66ad1a 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -54,7 +54,7 @@ func parseNodeHandle(handle Handle[ast.Node]) (Handle[ast.SourceFile], int, ast. if err != nil { return "", 0, 0, fmt.Errorf("invalid node handle %q: %w", handle, err) } - kind, err := strconv.ParseInt(parts[2], 10, 32) + kind, err := strconv.ParseInt(parts[2], 10, 16) if err != nil { return "", 0, 0, fmt.Errorf("invalid node handle %q: %w", handle, err) } From ef3fe0ff23973811d7d64d5b142e039834b2bee2 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 14:40:08 -0700 Subject: [PATCH 42/63] lint --- internal/api/api.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/api/api.go b/internal/api/api.go index 220ec0ec51..4df61fb484 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -60,7 +60,7 @@ func NewAPI(host APIHost, options APIOptions) *API { }, Hooks: project.DocumentRegistryHooks{ OnReleaseDocument: func(file *ast.SourceFile) { - api.releaseHandle(string(FileHandle(file))) + _ = api.releaseHandle(string(FileHandle(file))) }, }, } @@ -162,7 +162,7 @@ func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, er case MethodGetTypesOfSymbols: params := params.(*GetTypesOfSymbolsParams) return encodeJSON(core.TryMap(params.Symbols, func(symbol Handle[ast.Symbol]) (any, error) { - return api.GetTypeOfSymbol(params.Project, Handle[ast.Symbol](symbol)) + return api.GetTypeOfSymbol(params.Project, symbol) })) default: return nil, fmt.Errorf("unhandled API method %q", method) From 3630c83635450b9276d990cd11c970572eec37c6 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 14:49:34 -0700 Subject: [PATCH 43/63] Add dependencies to test:all --- Herebyfile.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/Herebyfile.mjs b/Herebyfile.mjs index cdc00fa53d..4e2b47729a 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -291,6 +291,7 @@ export const testJS = task({ export const testAll = task({ name: "test:all", + dependencies: [tsgo, buildJSTest], run: async () => { // Prevent interleaving by running these directly instead of in parallel. await runTests(); From 866518c78b909054376bebe88bc8a5ce71b84dc3 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 15:12:54 -0700 Subject: [PATCH 44/63] Fix @typescript/ast exports --- _packages/ast/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_packages/ast/package.json b/_packages/ast/package.json index 6bf5210d12..0bddc1cdba 100644 --- a/_packages/ast/package.json +++ b/_packages/ast/package.json @@ -10,8 +10,8 @@ "types": "./src/syntaxKind.enum.ts", "default": "./src/syntaxKind.ts" }, - "types": "./dist/kind.enum.d.ts", - "default": "./dist/kind.js" + "types": "./dist/syntaxKind.enum.d.ts", + "default": "./dist/syntaxKind.js" }, "#tokenFlags": { "@typescript/source": { From 7fd8f5f73c305d0f563a4d93af6429a2b4c2a771 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 15:36:50 -0700 Subject: [PATCH 45/63] Explicitly install rust toolchain on runners --- .github/workflows/ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 538fac596e..726de322e8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - uses: ./.github/actions/setup-go with: cache-name: build @@ -36,6 +37,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - run: npm ci @@ -76,6 +78,7 @@ jobs: - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 with: node-version: 'lts/*' + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - uses: ./.github/actions/setup-go with: cache-name: test @@ -129,6 +132,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - uses: ./.github/actions/setup-go with: cache-name: lint${{ (matrix.noembed && '-noembed') || ''}} @@ -145,6 +149,7 @@ jobs: steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - uses: ./.github/actions/setup-go with: cache-name: format @@ -161,6 +166,7 @@ jobs: with: submodules: true - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - uses: ./.github/actions/setup-go with: cache-name: generate @@ -190,6 +196,7 @@ jobs: with: submodules: true - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - uses: ./.github/actions/setup-go with: cache-name: smoke @@ -221,6 +228,7 @@ jobs: with: submodules: true - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - uses: ./.github/actions/setup-go with: cache-name: baselines From b4a48fe646e48733d10f789c7f5db8c459a319ce Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 15:43:33 -0700 Subject: [PATCH 46/63] Add .exe to tsserverPath on Windows --- _packages/api/bench/api.bench.ts | 13 +------------ _packages/api/test/api.test.ts | 2 +- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/_packages/api/bench/api.bench.ts b/_packages/api/bench/api.bench.ts index 1b9af2b186..9a2f81293f 100644 --- a/_packages/api/bench/api.bench.ts +++ b/_packages/api/bench/api.bench.ts @@ -6,7 +6,6 @@ import { type FileSystem, type FileSystemEntries, } from "@typescript/api/fs"; -import type { GetSymbolAtPositionParams } from "@typescript/api/proto"; import { type SourceFile, SyntaxKind, @@ -101,16 +100,6 @@ bench }); }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) .add("getSymbolAtPosition - all identifiers (batched)", () => { - const positions: GetSymbolAtPositionParams[] = []; - file.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - positions.push({ fileName: "program.ts", position: node.pos }); - } - node.forEachChild(visit); - }); - project.getSymbolAtPosition(positions); - }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add("getSymbolAtPosition - all identifiers (batched 2)", () => { const positions: number[] = []; file.forEachChild(function visit(node) { if (node.kind === SyntaxKind.Identifier) { @@ -136,7 +125,7 @@ console.table(bench.table()); function spawnAPI() { api = new API({ cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + tsserverPath: new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).pathname, }); } diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index ce7b0ace7b..86cd615dcf 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -152,7 +152,7 @@ test("Dispose", () => { function spawnAPI(files: Record = defaultFiles) { return new API({ cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + tsserverPath: new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).pathname, fs: createVirtualFileSystem(files), }); } From e9099b5efe1abbf4bac8d5c542670c8e03fc4cdb Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 1 Apr 2025 17:25:40 -0700 Subject: [PATCH 47/63] Fix windows paths --- _packages/api/bench/api.bench.ts | 13 +++++++------ _packages/api/test/api.test.ts | 5 +++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/_packages/api/bench/api.bench.ts b/_packages/api/bench/api.bench.ts index 9a2f81293f..9dd8756e54 100644 --- a/_packages/api/bench/api.bench.ts +++ b/_packages/api/bench/api.bench.ts @@ -12,6 +12,7 @@ import { } from "@typescript/ast"; import fs from "node:fs"; import path from "node:path"; +import { fileURLToPath } from "node:url"; import { Bench } from "tinybench"; import ts from "typescript"; @@ -124,15 +125,15 @@ console.table(bench.table()); function spawnAPI() { api = new API({ - cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).pathname, + cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), + tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), }); } function spawnAPIHosted() { api = new API({ - cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL("../../../built/local/tsgo", import.meta.url).pathname, + cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), + tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), fs: createNodeFileSystem(), }); } @@ -142,7 +143,7 @@ function loadProject() { } function tsCreateProgram() { - const configFileName = new URL("../../../_submodules/TypeScript/src/compiler/tsconfig.json", import.meta.url).pathname; + const configFileName = fileURLToPath(new URL("../../../_submodules/TypeScript/src/compiler/tsconfig.json", import.meta.url).toString()); const configFile = ts.readConfigFile(configFileName, ts.sys.readFile); const parsedCommandLine = ts.parseJsonConfigFileContent(configFile.config, ts.sys, path.dirname(configFileName)); const host = ts.createCompilerHost(parsedCommandLine.options); @@ -172,7 +173,7 @@ function getProgramTS() { } function tsGetProgramTS() { - tsFile = tsProgram.getSourceFile(new URL("../../../_submodules/TypeScript/src/compiler/program.ts", import.meta.url).pathname)!; + tsFile = tsProgram.getSourceFile(fileURLToPath(new URL("../../../_submodules/TypeScript/src/compiler/program.ts", import.meta.url).toString()))!; } function getCheckerTS() { diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index 86cd615dcf..c195157f02 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -17,6 +17,7 @@ import { describe, test, } from "node:test"; +import { fileURLToPath } from "node:url"; const defaultFiles = { "/tsconfig.json": "{}", @@ -151,8 +152,8 @@ test("Dispose", () => { function spawnAPI(files: Record = defaultFiles) { return new API({ - cwd: new URL("../../../", import.meta.url).pathname, - tsserverPath: new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).pathname, + cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), + tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), fs: createVirtualFileSystem(files), }); } From 5bcf558f49216eac94c288affde929cd6d15780f Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 2 Apr 2025 10:57:47 -0700 Subject: [PATCH 48/63] Update benchmarks --- _packages/api/bench/api.bench.ts | 58 ++++++++++++++++++++++++++------ internal/api/api.go | 3 -- internal/api/server.go | 5 --- 3 files changed, 47 insertions(+), 19 deletions(-) diff --git a/_packages/api/bench/api.bench.ts b/_packages/api/bench/api.bench.ts index 9dd8756e54..5e0cfabab4 100644 --- a/_packages/api/bench/api.bench.ts +++ b/_packages/api/bench/api.bench.ts @@ -7,6 +7,7 @@ import { type FileSystemEntries, } from "@typescript/api/fs"; import { + type Node, type SourceFile, SyntaxKind, } from "@typescript/ast"; @@ -18,14 +19,7 @@ import ts from "typescript"; const bench = new Bench({ name: "Sync API", - teardown: () => { - api?.close(); - api = undefined!; - project = undefined!; - file = undefined!; - tsProgram = undefined!; - tsFile = undefined!; - }, + teardown, }); let api: API; @@ -34,6 +28,21 @@ let tsProgram: ts.Program; let file: SourceFile; let tsFile: ts.SourceFile; +const programIdentifierCount = (() => { + spawnAPI(); + loadProject(); + getProgramTS(); + let count = 0; + file!.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + count++; + } + node.forEachChild(visit); + }); + teardown(); + return count; +})(); + const SMALL_STRING = "ping"; const LARGE_STRING = "a".repeat(1_000_000); const SMALL_UINT8_ARRAY = new Uint8Array([1, 2, 3, 4]); @@ -92,7 +101,7 @@ bench ts.getTokenAtPosition(tsFile, 8895), ); }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }) - .add("getSymbolAtPosition - all identifiers", () => { + .add(`getSymbolAtPosition - ${programIdentifierCount} identifiers`, () => { file.forEachChild(function visit(node) { if (node.kind === SyntaxKind.Identifier) { project.getSymbolAtPosition("program.ts", node.pos); @@ -100,7 +109,7 @@ bench node.forEachChild(visit); }); }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add("getSymbolAtPosition - all identifiers (batched)", () => { + .add(`getSymbolAtPosition - ${programIdentifierCount} identifiers (batched)`, () => { const positions: number[] = []; file.forEachChild(function visit(node) { if (node.kind === SyntaxKind.Identifier) { @@ -110,7 +119,25 @@ bench }); project.getSymbolAtPosition("program.ts", positions); }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add("TS - getSymbolAtPosition - all identifiers", () => { + .add(`getSymbolAtLocation - ${programIdentifierCount} identifiers`, () => { + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + project.getSymbolAtLocation(node); + } + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add(`getSymbolAtLocation - ${programIdentifierCount} identifiers (batched)`, () => { + const nodes: Node[] = []; + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + nodes.push(node); + } + node.forEachChild(visit); + }); + project.getSymbolAtLocation(nodes); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add(`TS - getSymbolAtLocation - ${programIdentifierCount} identifiers`, () => { const checker = tsProgram.getTypeChecker(); tsFile.forEachChild(function visit(node) { if (node.kind === ts.SyntaxKind.Identifier) { @@ -180,6 +207,15 @@ function getCheckerTS() { file = project.getSourceFile("checker.ts")!; } +function teardown() { + api?.close(); + api = undefined!; + project = undefined!; + file = undefined!; + tsProgram = undefined!; + tsFile = undefined!; +} + function all(...fns: (() => void)[]) { return () => { for (const fn of fns) { diff --git a/internal/api/api.go b/internal/api/api.go index 4df61fb484..f10091cbc8 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -5,7 +5,6 @@ import ( "errors" "fmt" "sync" - "time" "github.com/microsoft/typescript-go/internal/api/encoder" "github.com/microsoft/typescript-go/internal/ast" @@ -115,12 +114,10 @@ func (api *API) NewLine() string { } func (api *API) HandleRequest(id int, method string, payload []byte) ([]byte, error) { - now := time.Now() params, err := unmarshalPayload(method, payload) if err != nil { return nil, err } - api.options.Logger.PerfTrace(fmt.Sprintf("%s unmarshal - %s", method, time.Since(now))) switch Method(method) { case MethodRelease: diff --git a/internal/api/server.go b/internal/api/server.go index 7d17421ffb..2b60dd855a 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -7,7 +7,6 @@ import ( "fmt" "io" "sync" - "time" "github.com/microsoft/typescript-go/internal/bundled" "github.com/microsoft/typescript-go/internal/project" @@ -137,11 +136,8 @@ func (s *Server) Run() error { switch messageType { case MessageTypeRequest: - now := time.Now() result, err := s.handleRequest(method, payload) - s.logger.PerfTrace(fmt.Sprintf("%s handled - %s", method, time.Since(now))) - now = time.Now() if err != nil { if err := s.sendError(method, err); err != nil { return err @@ -150,7 +146,6 @@ func (s *Server) Run() error { if err := s.sendResponse(method, result); err != nil { return err } - s.logger.PerfTrace(fmt.Sprintf("%s sent - %s", method, time.Since(now))) } default: return fmt.Errorf("%w: expected request, received: %s", ErrInvalidRequest, messageType.String()) From 4f8799846b77fec7dc5d3b8c521d0c7ccb28bed6 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 2 Apr 2025 13:59:33 -0700 Subject: [PATCH 49/63] Split hereby test:all --- .github/workflows/ci.yml | 16 +++++++++++++++- Herebyfile.mjs | 26 +++++++------------------- _packages/api/package.json | 1 + 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 726de322e8..62caa9a0dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,7 +92,21 @@ jobs: - name: Tests id: test - run: npx hereby test:all ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} + run: npx hereby test ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} + env: + RACE_FLAG: ${{ (matrix.race && '--race') || '' }} + NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} + CONCURRENTTESTPROGRAM_FLAG: ${{ (matrix.concurrent-test-program && '--concurrentTestPrograms') || '' }} + + - name: API Tests + run: npx hereby test:api ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} + env: + RACE_FLAG: ${{ (matrix.race && '--race') || '' }} + NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} + CONCURRENTTESTPROGRAM_FLAG: ${{ (matrix.concurrent-test-program && '--concurrentTestPrograms') || '' }} + + - name: Benchmarks + run: npx hereby test:benchmarks ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} env: RACE_FLAG: ${{ (matrix.race && '--race') || '' }} NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} diff --git a/Herebyfile.mjs b/Herebyfile.mjs index 4e2b47729a..a83b02caf4 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -267,7 +267,7 @@ async function runTestTools() { await $test({ cwd: path.join(__dirname, "_tools") })`${gotestsum()} ./...`; } -async function runTestJS() { +async function runTestAPI() { await $`npm run -w @typescript/api test`; } @@ -276,29 +276,17 @@ export const testTools = task({ run: runTestTools, }); -export const buildJSTest = task({ - name: "build:js:test", +export const buildAPITests = task({ + name: "build:api:test", run: async () => { await $`npm run -w @typescript/api build:test`; }, }); -export const testJS = task({ - name: "test:js", - dependencies: [tsgo, buildJSTest], - run: runTestJS, -}); - -export const testAll = task({ - name: "test:all", - dependencies: [tsgo, buildJSTest], - run: async () => { - // Prevent interleaving by running these directly instead of in parallel. - await runTests(); - await runTestBenchmarks(); - await runTestTools(); - await runTestJS(); - }, +export const testAPI = task({ + name: "test:api", + dependencies: [tsgo, buildAPITests], + run: runTestAPI, }); const customLinterPath = "./_tools/custom-gcl"; diff --git a/_packages/api/package.json b/_packages/api/package.json index 11fc3157de..74bee56fbd 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -38,6 +38,7 @@ "scripts": { "build": "tsc -b", "build:test": "tsc -b test", + "build:bench": "tsc -b bench", "bench": "node --experimental-strip-types --no-warnings --conditions @typescript/source bench/api.bench.ts", "test": "node --test --experimental-strip-types --no-warnings --conditions @typescript/source ./test/**/*.test.ts" }, From 8f36dc09addca5ea5048e263fd7539582293b72f Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 2 Apr 2025 14:13:59 -0700 Subject: [PATCH 50/63] Add Rust toolchain to README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 65bf58fef1..9eef5472d4 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Interested developers can clone and run locally to try out things as they become ## How to Build and Run -This repo uses [Go 1.24 or higher](https://go.dev/dl/), [Node.js with npm](https://nodejs.org/), and [`hereby`](https://www.npmjs.com/package/hereby). +This repo uses [Go 1.24 or higher](https://go.dev/dl/), [Rust 1.85 or higher](https://www.rust-lang.org/tools/install), [Node.js with npm](https://nodejs.org/), and [`hereby`](https://www.npmjs.com/package/hereby). For tests and code generation, this repo contains a git submodule to the main TypeScript repo pointing to the commit being ported. When cloning, you'll want to clone with submodules: From 8c3104661ffb46c6de64f49c7cb45051d1308215 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 2 Apr 2025 14:27:45 -0700 Subject: [PATCH 51/63] Delete DS_Store --- _packages/api/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 _packages/api/.DS_Store diff --git a/_packages/api/.DS_Store b/_packages/api/.DS_Store deleted file mode 100644 index 5172429f264de2441865cb4700216d4256da9242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~J!%6%427R!7lt%jx}3%b$PET#pTHLgIFQEJ;E>dF^gR7ES*H$5cmnB-G%I%Z zD|S`@Z2$T80!#olbXV*=%*>dt@PRwdU#I)^a=X5>;#J@&VrHyNnC;iLL0pQvfVyTmjO&;ssLc!1UOG})p;=82 zR;?Ceh}WZ?+UmMqI#RP8R>OzYoz15hnq@nzF`-!xQ4j$Um=RcIKKc27r2jVm&svm< zfC&6E0=7P!4tu^-ovjbA=k?dB`g+i*aXG_}p8zI)6mRKa+;6_1_R^8c3Qa!(fk8n8 H{*=HsM+*^= From 5580a3ab704f7f402094c13cb05dd56a3ea6f13f Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 2 Apr 2025 14:38:16 -0700 Subject: [PATCH 52/63] Move env to job level --- .github/workflows/ci.yml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 62caa9a0dd..87b611f681 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,6 +68,11 @@ jobs: runs-on: ${{ matrix.os }} + env: + RACE_FLAG: ${{ (matrix.race && '--race') || '' }} + NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} + CONCURRENTTESTPROGRAM_FLAG: ${{ (matrix.concurrent-test-program && '--concurrentTestPrograms') || '' }} + steps: - run: git config --system core.longpaths true if: ${{ matrix.os == 'windows-latest' }} @@ -93,24 +98,15 @@ jobs: - name: Tests id: test run: npx hereby test ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} - env: - RACE_FLAG: ${{ (matrix.race && '--race') || '' }} - NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} - CONCURRENTTESTPROGRAM_FLAG: ${{ (matrix.concurrent-test-program && '--concurrentTestPrograms') || '' }} - name: API Tests run: npx hereby test:api ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} - env: - RACE_FLAG: ${{ (matrix.race && '--race') || '' }} - NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} - CONCURRENTTESTPROGRAM_FLAG: ${{ (matrix.concurrent-test-program && '--concurrentTestPrograms') || '' }} - name: Benchmarks run: npx hereby test:benchmarks ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} - env: - RACE_FLAG: ${{ (matrix.race && '--race') || '' }} - NOEMBED_FLAG: ${{ (matrix.noembed && '--noembed') || '' }} - CONCURRENTTESTPROGRAM_FLAG: ${{ (matrix.concurrent-test-program && '--concurrentTestPrograms') || '' }} + + - name: Tools Tests + run: npx hereby test:tools ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} - run: git add . - run: git diff --staged --exit-code --stat From 81d1574ef3a2d47267db525b6594cbccf4c56e01 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 2 Apr 2025 14:51:24 -0700 Subject: [PATCH 53/63] Preserve same CI testing order --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 87b611f681..b35bd7a060 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -99,15 +99,15 @@ jobs: id: test run: npx hereby test ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} - - name: API Tests - run: npx hereby test:api ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} - - name: Benchmarks run: npx hereby test:benchmarks ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} - name: Tools Tests run: npx hereby test:tools ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} + - name: API Tests + run: npx hereby test:api ${RACE_FLAG:+"$RACE_FLAG"} ${NOEMBED_FLAG:+"$NOEMBED_FLAG"} ${CONCURRENTTESTPROGRAM_FLAG:+"$CONCURRENTTESTPROGRAM_FLAG"} + - run: git add . - run: git diff --staged --exit-code --stat From 4fbc66a51167ac8bee4667a9cc87313db66a6f76 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 2 Apr 2025 15:08:07 -0700 Subject: [PATCH 54/63] Update _packages/api/src/api.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- _packages/api/src/api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index 14da18488d..c860554035 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -113,7 +113,7 @@ export class Project extends DisposableObject { } getSymbolAtLocation(node: Node): Symbol | undefined; - getSymbolAtLocation(nodes: readonly Node[]): Symbol | undefined; + getSymbolAtLocation(nodes: readonly Node[]): (Symbol | undefined)[]; getSymbolAtLocation(nodeOrNodes: Node | readonly Node[]): Symbol | undefined { this.ensureNotDisposed(); if (Array.isArray(nodeOrNodes)) { From 9c252631973bbf820cb732b4e3f2ba5d191a7f52 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 2 Apr 2025 15:46:58 -0700 Subject: [PATCH 55/63] Fix overload implementation signature --- _packages/api/src/api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_packages/api/src/api.ts b/_packages/api/src/api.ts index c860554035..fbfc323917 100644 --- a/_packages/api/src/api.ts +++ b/_packages/api/src/api.ts @@ -114,7 +114,7 @@ export class Project extends DisposableObject { getSymbolAtLocation(node: Node): Symbol | undefined; getSymbolAtLocation(nodes: readonly Node[]): (Symbol | undefined)[]; - getSymbolAtLocation(nodeOrNodes: Node | readonly Node[]): Symbol | undefined { + getSymbolAtLocation(nodeOrNodes: Node | readonly Node[]): Symbol | (Symbol | undefined)[] | undefined { this.ensureNotDisposed(); if (Array.isArray(nodeOrNodes)) { const data = this.client.request("getSymbolsAtLocations", { project: this.id, locations: nodeOrNodes.map(node => node.id) }); From efc981f40396867f18a530480a700cb32b15aaae Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 3 Apr 2025 15:02:34 -0700 Subject: [PATCH 56/63] Use atomic id getter functions --- internal/api/proto.go | 4 ++-- internal/ast/ast.go | 2 +- internal/ast/symbol.go | 2 +- internal/ast/utilities.go | 12 ++++++------ 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/internal/api/proto.go b/internal/api/proto.go index 543d66ad1a..09615ecd4c 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -27,7 +27,7 @@ func ProjectHandle(p *project.Project) Handle[project.Project] { } func SymbolHandle(symbol *ast.Symbol) Handle[ast.Symbol] { - return createHandle[ast.Symbol]("s", symbol.Id.Load()) + return createHandle[ast.Symbol]("s", ast.GetSymbolId(symbol)) } func TypeHandle(t *checker.Type) Handle[checker.Type] { @@ -35,7 +35,7 @@ func TypeHandle(t *checker.Type) Handle[checker.Type] { } func FileHandle(file *ast.SourceFile) Handle[ast.SourceFile] { - return createHandle[ast.SourceFile]("f", file.AsNode().Id.Load()) + return createHandle[ast.SourceFile]("f", ast.GetNodeId(file.AsNode())) } func NodeHandle(node *ast.Node) Handle[ast.Node] { diff --git a/internal/ast/ast.go b/internal/ast/ast.go index 30c4942399..32a41257b2 100644 --- a/internal/ast/ast.go +++ b/internal/ast/ast.go @@ -191,7 +191,7 @@ type Node struct { Kind Kind Flags NodeFlags Loc core.TextRange - Id atomic.Uint64 + id atomic.Uint64 Parent *Node data nodeData } diff --git a/internal/ast/symbol.go b/internal/ast/symbol.go index ca4872d4d7..92e9412cd9 100644 --- a/internal/ast/symbol.go +++ b/internal/ast/symbol.go @@ -16,7 +16,7 @@ type Symbol struct { ValueDeclaration *Node Members SymbolTable Exports SymbolTable - Id atomic.Uint64 + id atomic.Uint64 Parent *Symbol ExportSymbol *Symbol AssignmentDeclarationMembers core.Set[*Node] // Set of detected assignment declarations diff --git a/internal/ast/utilities.go b/internal/ast/utilities.go index 918f2a41eb..bea1b5f21b 100644 --- a/internal/ast/utilities.go +++ b/internal/ast/utilities.go @@ -18,24 +18,24 @@ var ( ) func GetNodeId(node *Node) NodeId { - id := node.Id.Load() + id := node.id.Load() if id == 0 { // Worst case, we burn a few ids if we have to CAS. id = nextNodeId.Add(1) - if !node.Id.CompareAndSwap(0, id) { - id = node.Id.Load() + if !node.id.CompareAndSwap(0, id) { + id = node.id.Load() } } return NodeId(id) } func GetSymbolId(symbol *Symbol) SymbolId { - id := symbol.Id.Load() + id := symbol.id.Load() if id == 0 { // Worst case, we burn a few ids if we have to CAS. id = nextSymbolId.Add(1) - if !symbol.Id.CompareAndSwap(0, id) { - id = symbol.Id.Load() + if !symbol.id.CompareAndSwap(0, id) { + id = symbol.id.Load() } } return SymbolId(id) From 9f8dffc3e2fb52a9cf2c8b1841b6683533d0e192 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 3 Apr 2025 15:08:20 -0700 Subject: [PATCH 57/63] tsconfig hierarchy --- _packages/api/bench/tsconfig.json | 8 +------- _packages/api/test/tsconfig.json | 8 +------- _packages/api/tsconfig.base.json | 9 +++++++++ _packages/api/tsconfig.dev.json | 10 ++++++++++ _packages/api/tsconfig.json | 6 +----- 5 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 _packages/api/tsconfig.base.json create mode 100644 _packages/api/tsconfig.dev.json diff --git a/_packages/api/bench/tsconfig.json b/_packages/api/bench/tsconfig.json index ba00b05d15..b1a688b3b8 100644 --- a/_packages/api/bench/tsconfig.json +++ b/_packages/api/bench/tsconfig.json @@ -1,11 +1,5 @@ { - "compilerOptions": { - "module": "nodenext", - "strict": true, - "noEmit": true, - "verbatimModuleSyntax": true, - "allowImportingTsExtensions": true - }, + "extends": "../tsconfig.dev.json", "references": [ { "path": ".." } ] diff --git a/_packages/api/test/tsconfig.json b/_packages/api/test/tsconfig.json index ba00b05d15..b1a688b3b8 100644 --- a/_packages/api/test/tsconfig.json +++ b/_packages/api/test/tsconfig.json @@ -1,11 +1,5 @@ { - "compilerOptions": { - "module": "nodenext", - "strict": true, - "noEmit": true, - "verbatimModuleSyntax": true, - "allowImportingTsExtensions": true - }, + "extends": "../tsconfig.dev.json", "references": [ { "path": ".." } ] diff --git a/_packages/api/tsconfig.base.json b/_packages/api/tsconfig.base.json new file mode 100644 index 0000000000..c99f883b56 --- /dev/null +++ b/_packages/api/tsconfig.base.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "strict": true, + "composite": true, + "forceConsistentCasingInFileNames": true, + "rewriteRelativeImportExtensions": true, + "verbatimModuleSyntax": true + } +} diff --git a/_packages/api/tsconfig.dev.json b/_packages/api/tsconfig.dev.json new file mode 100644 index 0000000000..d3b396340e --- /dev/null +++ b/_packages/api/tsconfig.dev.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "module": "nodenext", + "strict": true, + "noEmit": true, + "verbatimModuleSyntax": true, + "allowImportingTsExtensions": true + } +} diff --git a/_packages/api/tsconfig.json b/_packages/api/tsconfig.json index 928d457d02..b3b68a0719 100644 --- a/_packages/api/tsconfig.json +++ b/_packages/api/tsconfig.json @@ -1,11 +1,7 @@ { + "extends": "./tsconfig.base.json", "compilerOptions": { "module": "node16", - "strict": true, - "composite": true, - "forceConsistentCasingInFileNames": true, - "rewriteRelativeImportExtensions": true, - "verbatimModuleSyntax": true, "isolatedDeclarations": true, "sourceMap": true, "declaration": true, From f5d829f119a205816acd62f64cf6048cc092db89 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 3 Apr 2025 15:10:47 -0700 Subject: [PATCH 58/63] Bring back hereby test:all --- Herebyfile.mjs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Herebyfile.mjs b/Herebyfile.mjs index 68673190d3..4441a0882c 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -316,6 +316,18 @@ export const testAPI = task({ run: runTestAPI, }); +export const testAll = task({ + name: "test:all", + dependencies: [buildAPITests], + run: async () => { + // Prevent interleaving by running these directly instead of in parallel. + await runTests(); + await runTestBenchmarks(); + await runTestTools(); + await runTestAPI(); + }, +}); + const customLinterPath = "./_tools/custom-gcl"; const customLinterHashPath = customLinterPath + ".hash"; From 072d69670402db219a6c4fd970868fa8393c545e Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 3 Apr 2025 15:25:14 -0700 Subject: [PATCH 59/63] Use constants for handle prefixes --- internal/api/api.go | 8 ++++---- internal/api/proto.go | 20 ++++++++++++++------ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/internal/api/api.go b/internal/api/api.go index f10091cbc8..ebf7f6615b 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -292,7 +292,7 @@ func (api *API) GetSourceFile(projectId Handle[project.Project], fileName string func (api *API) releaseHandle(handle string) error { switch handle[0] { - case 'p': + case handlePrefixProject: projectId := Handle[project.Project](handle) project, ok := api.projects[projectId] if !ok { @@ -300,7 +300,7 @@ func (api *API) releaseHandle(handle string) error { } delete(api.projects, projectId) project.Close() - case 'f': + case handlePrefixFile: fileId := Handle[ast.SourceFile](handle) api.filesMu.Lock() defer api.filesMu.Unlock() @@ -309,7 +309,7 @@ func (api *API) releaseHandle(handle string) error { return fmt.Errorf("file %q not found", handle) } delete(api.files, fileId) - case 's': + case handlePrefixSymbol: symbolId := Handle[ast.Symbol](handle) api.symbolsMu.Lock() defer api.symbolsMu.Unlock() @@ -318,7 +318,7 @@ func (api *API) releaseHandle(handle string) error { return fmt.Errorf("symbol %q not found", handle) } delete(api.symbols, symbolId) - case 't': + case handlePrefixType: typeId := Handle[checker.Type](handle) api.typesMu.Lock() defer api.typesMu.Unlock() diff --git a/internal/api/proto.go b/internal/api/proto.go index 09615ecd4c..e50684783f 100644 --- a/internal/api/proto.go +++ b/internal/api/proto.go @@ -22,20 +22,28 @@ type Method string type Handle[T any] string +const ( + handlePrefixProject = 'p' + handlePrefixSymbol = 's' + handlePrefixType = 't' + handlePrefixFile = 'f' + handlePrefixNode = 'n' +) + func ProjectHandle(p *project.Project) Handle[project.Project] { - return createHandle[project.Project]("p", p.Name()) + return createHandle[project.Project](handlePrefixProject, p.Name()) } func SymbolHandle(symbol *ast.Symbol) Handle[ast.Symbol] { - return createHandle[ast.Symbol]("s", ast.GetSymbolId(symbol)) + return createHandle[ast.Symbol](handlePrefixSymbol, ast.GetSymbolId(symbol)) } func TypeHandle(t *checker.Type) Handle[checker.Type] { - return createHandle[checker.Type]("t", t.Id()) + return createHandle[checker.Type](handlePrefixType, t.Id()) } func FileHandle(file *ast.SourceFile) Handle[ast.SourceFile] { - return createHandle[ast.SourceFile]("f", ast.GetNodeId(file.AsNode())) + return createHandle[ast.SourceFile](handlePrefixFile, ast.GetNodeId(file.AsNode())) } func NodeHandle(node *ast.Node) Handle[ast.Node] { @@ -61,8 +69,8 @@ func parseNodeHandle(handle Handle[ast.Node]) (Handle[ast.SourceFile], int, ast. return fileHandle, int(pos), ast.Kind(kind), nil } -func createHandle[T any](prefix string, id any) Handle[T] { - return Handle[T](fmt.Sprintf("%s%016x", prefix, id)) +func createHandle[T any](prefix rune, id any) Handle[T] { + return Handle[T](fmt.Sprintf("%c%016x", prefix, id)) } const ( From 15600c8679c1b54962ef0c3ac1d2429ecbfeceed Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 3 Apr 2025 15:53:50 -0700 Subject: [PATCH 60/63] Move benchmarks into tests, run single iteration as part of tests --- _packages/api/bench/api.bench.ts | 285 ---------------------------- _packages/api/bench/tsconfig.json | 6 - _packages/api/package.json | 3 +- _packages/api/test/api.bench.ts | 297 ++++++++++++++++++++++++++++++ _packages/api/test/api.test.ts | 5 + 5 files changed, 303 insertions(+), 293 deletions(-) delete mode 100644 _packages/api/bench/api.bench.ts delete mode 100644 _packages/api/bench/tsconfig.json create mode 100644 _packages/api/test/api.bench.ts diff --git a/_packages/api/bench/api.bench.ts b/_packages/api/bench/api.bench.ts deleted file mode 100644 index 5e0cfabab4..0000000000 --- a/_packages/api/bench/api.bench.ts +++ /dev/null @@ -1,285 +0,0 @@ -import { - API, - type Project, -} from "@typescript/api"; -import { - type FileSystem, - type FileSystemEntries, -} from "@typescript/api/fs"; -import { - type Node, - type SourceFile, - SyntaxKind, -} from "@typescript/ast"; -import fs from "node:fs"; -import path from "node:path"; -import { fileURLToPath } from "node:url"; -import { Bench } from "tinybench"; -import ts from "typescript"; - -const bench = new Bench({ - name: "Sync API", - teardown, -}); - -let api: API; -let project: Project; -let tsProgram: ts.Program; -let file: SourceFile; -let tsFile: ts.SourceFile; - -const programIdentifierCount = (() => { - spawnAPI(); - loadProject(); - getProgramTS(); - let count = 0; - file!.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - count++; - } - node.forEachChild(visit); - }); - teardown(); - return count; -})(); - -const SMALL_STRING = "ping"; -const LARGE_STRING = "a".repeat(1_000_000); -const SMALL_UINT8_ARRAY = new Uint8Array([1, 2, 3, 4]); -const LARGE_UINT8_ARRAY = new Uint8Array(1_000_000); - -bench - .add("spawn API", () => { - spawnAPI(); - }) - .add("echo (small string)", () => { - api.echo(SMALL_STRING); - }, { beforeAll: spawnAPI }) - .add("echo (large string)", () => { - api.echo(LARGE_STRING); - }, { beforeAll: spawnAPI }) - .add("echo (small Uint8Array)", () => { - api.echoBinary(SMALL_UINT8_ARRAY); - }, { beforeAll: spawnAPI }) - .add("echo (large Uint8Array)", () => { - api.echoBinary(LARGE_UINT8_ARRAY); - }, { beforeAll: spawnAPI }) - .add("load project", () => { - loadProject(); - }, { beforeAll: spawnAPI }) - .add("load project (client FS)", () => { - loadProject(); - }, { beforeAll: spawnAPIHosted }) - .add("TS - load project", () => { - tsCreateProgram(); - }) - .add("transfer debug.ts", () => { - getDebugTS(); - }, { beforeAll: all(spawnAPI, loadProject) }) - .add("transfer program.ts", () => { - getProgramTS(); - }, { beforeAll: all(spawnAPI, loadProject) }) - .add("transfer checker.ts", () => { - getCheckerTS(); - }, { beforeAll: all(spawnAPI, loadProject) }) - .add("materialize program.ts", () => { - file.forEachChild(function visit(node) { - node.forEachChild(visit); - }); - }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) - .add("materialize checker.ts", () => { - file.forEachChild(function visit(node) { - node.forEachChild(visit); - }); - }, { beforeAll: all(spawnAPI, loadProject, getCheckerTS) }) - .add("getSymbolAtPosition - one location", () => { - project.getSymbolAtPosition("program.ts", 8895); - }, { beforeAll: all(spawnAPI, loadProject, createChecker) }) - .add("TS - getSymbolAtPosition - one location", () => { - tsProgram.getTypeChecker().getSymbolAtLocation( - // @ts-ignore internal API - ts.getTokenAtPosition(tsFile, 8895), - ); - }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }) - .add(`getSymbolAtPosition - ${programIdentifierCount} identifiers`, () => { - file.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - project.getSymbolAtPosition("program.ts", node.pos); - } - node.forEachChild(visit); - }); - }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add(`getSymbolAtPosition - ${programIdentifierCount} identifiers (batched)`, () => { - const positions: number[] = []; - file.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - positions.push(node.pos); - } - node.forEachChild(visit); - }); - project.getSymbolAtPosition("program.ts", positions); - }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add(`getSymbolAtLocation - ${programIdentifierCount} identifiers`, () => { - file.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - project.getSymbolAtLocation(node); - } - node.forEachChild(visit); - }); - }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add(`getSymbolAtLocation - ${programIdentifierCount} identifiers (batched)`, () => { - const nodes: Node[] = []; - file.forEachChild(function visit(node) { - if (node.kind === SyntaxKind.Identifier) { - nodes.push(node); - } - node.forEachChild(visit); - }); - project.getSymbolAtLocation(nodes); - }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) - .add(`TS - getSymbolAtLocation - ${programIdentifierCount} identifiers`, () => { - const checker = tsProgram.getTypeChecker(); - tsFile.forEachChild(function visit(node) { - if (node.kind === ts.SyntaxKind.Identifier) { - checker.getSymbolAtLocation(node); - } - node.forEachChild(visit); - }); - }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }); - -await bench.run(); -console.table(bench.table()); - -function spawnAPI() { - api = new API({ - cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), - tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), - }); -} - -function spawnAPIHosted() { - api = new API({ - cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), - tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), - fs: createNodeFileSystem(), - }); -} - -function loadProject() { - project = api.loadProject("_submodules/TypeScript/src/compiler/tsconfig.json"); -} - -function tsCreateProgram() { - const configFileName = fileURLToPath(new URL("../../../_submodules/TypeScript/src/compiler/tsconfig.json", import.meta.url).toString()); - const configFile = ts.readConfigFile(configFileName, ts.sys.readFile); - const parsedCommandLine = ts.parseJsonConfigFileContent(configFile.config, ts.sys, path.dirname(configFileName)); - const host = ts.createCompilerHost(parsedCommandLine.options); - tsProgram = ts.createProgram({ - rootNames: parsedCommandLine.fileNames, - options: parsedCommandLine.options, - host, - }); -} - -function createChecker() { - // checker is created lazily, for measuring symbol time in a loop - // we need to create it first. - project.getSymbolAtPosition("core.ts", 0); -} - -function tsCreateChecker() { - tsProgram.getTypeChecker(); -} - -function getDebugTS() { - file = project.getSourceFile("debug.ts")!; -} - -function getProgramTS() { - file = project.getSourceFile("program.ts")!; -} - -function tsGetProgramTS() { - tsFile = tsProgram.getSourceFile(fileURLToPath(new URL("../../../_submodules/TypeScript/src/compiler/program.ts", import.meta.url).toString()))!; -} - -function getCheckerTS() { - file = project.getSourceFile("checker.ts")!; -} - -function teardown() { - api?.close(); - api = undefined!; - project = undefined!; - file = undefined!; - tsProgram = undefined!; - tsFile = undefined!; -} - -function all(...fns: (() => void)[]) { - return () => { - for (const fn of fns) { - fn(); - } - }; -} - -function createNodeFileSystem(): FileSystem { - return { - directoryExists: directoryName => { - try { - return fs.statSync(directoryName).isDirectory(); - } - catch { - return false; - } - }, - fileExists: fileName => { - try { - return fs.statSync(fileName).isFile(); - } - catch { - return false; - } - }, - readFile: fileName => { - try { - return fs.readFileSync(fileName, "utf8"); - } - catch { - return undefined; - } - }, - getAccessibleEntries: dirName => { - const entries: FileSystemEntries = { - files: [], - directories: [], - }; - for (const entry of fs.readdirSync(dirName, { withFileTypes: true })) { - if (entry.isFile()) { - entries.files.push(entry.name); - } - else if (entry.isDirectory()) { - entries.directories.push(entry.name); - } - else if (entry.isSymbolicLink()) { - const fullName = path.join(dirName, entry.name); - try { - const stat = fs.statSync(fullName); - if (stat.isFile()) { - entries.files.push(entry.name); - } - else if (stat.isDirectory()) { - entries.directories.push(entry.name); - } - } - catch { - // Ignore errors - } - } - } - return entries; - }, - realpath: fs.realpathSync, - }; -} diff --git a/_packages/api/bench/tsconfig.json b/_packages/api/bench/tsconfig.json deleted file mode 100644 index b1a688b3b8..0000000000 --- a/_packages/api/bench/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "../tsconfig.dev.json", - "references": [ - { "path": ".." } - ] -} diff --git a/_packages/api/package.json b/_packages/api/package.json index 74bee56fbd..1b8e2f2c80 100644 --- a/_packages/api/package.json +++ b/_packages/api/package.json @@ -38,8 +38,7 @@ "scripts": { "build": "tsc -b", "build:test": "tsc -b test", - "build:bench": "tsc -b bench", - "bench": "node --experimental-strip-types --no-warnings --conditions @typescript/source bench/api.bench.ts", + "bench": "node --experimental-strip-types --no-warnings --conditions @typescript/source test/api.bench.ts", "test": "node --test --experimental-strip-types --no-warnings --conditions @typescript/source ./test/**/*.test.ts" }, "devDependencies": { diff --git a/_packages/api/test/api.bench.ts b/_packages/api/test/api.bench.ts new file mode 100644 index 0000000000..1c5f9028f9 --- /dev/null +++ b/_packages/api/test/api.bench.ts @@ -0,0 +1,297 @@ +import { + API, + type Project, +} from "@typescript/api"; +import { + type FileSystem, + type FileSystemEntries, +} from "@typescript/api/fs"; +import { + type Node, + type SourceFile, + SyntaxKind, +} from "@typescript/ast"; +import fs from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import { Bench } from "tinybench"; +import ts from "typescript"; + +const isMain = process.argv[1] === fileURLToPath(import.meta.url); +if (isMain) { + await runBenchmarks(); +} + +export async function runBenchmarks(singleIteration?: boolean) { + const bench = new Bench({ + name: "Sync API", + teardown, + ...singleIteration ? { + iterations: 1, + warmup: false, + time: 0, + } : undefined, + }); + + let api: API; + let project: Project; + let tsProgram: ts.Program; + let file: SourceFile; + let tsFile: ts.SourceFile; + + const programIdentifierCount = (() => { + spawnAPI(); + loadProject(); + getProgramTS(); + let count = 0; + file!.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + count++; + } + node.forEachChild(visit); + }); + teardown(); + return count; + })(); + + const SMALL_STRING = "ping"; + const LARGE_STRING = "a".repeat(1_000_000); + const SMALL_UINT8_ARRAY = new Uint8Array([1, 2, 3, 4]); + const LARGE_UINT8_ARRAY = new Uint8Array(1_000_000); + + bench + .add("spawn API", () => { + spawnAPI(); + }) + .add("echo (small string)", () => { + api.echo(SMALL_STRING); + }, { beforeAll: spawnAPI }) + .add("echo (large string)", () => { + api.echo(LARGE_STRING); + }, { beforeAll: spawnAPI }) + .add("echo (small Uint8Array)", () => { + api.echoBinary(SMALL_UINT8_ARRAY); + }, { beforeAll: spawnAPI }) + .add("echo (large Uint8Array)", () => { + api.echoBinary(LARGE_UINT8_ARRAY); + }, { beforeAll: spawnAPI }) + .add("load project", () => { + loadProject(); + }, { beforeAll: spawnAPI }) + .add("load project (client FS)", () => { + loadProject(); + }, { beforeAll: spawnAPIHosted }) + .add("TS - load project", () => { + tsCreateProgram(); + }) + .add("transfer debug.ts", () => { + getDebugTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("transfer program.ts", () => { + getProgramTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("transfer checker.ts", () => { + getCheckerTS(); + }, { beforeAll: all(spawnAPI, loadProject) }) + .add("materialize program.ts", () => { + file.forEachChild(function visit(node) { + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, getProgramTS) }) + .add("materialize checker.ts", () => { + file.forEachChild(function visit(node) { + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, getCheckerTS) }) + .add("getSymbolAtPosition - one location", () => { + project.getSymbolAtPosition("program.ts", 8895); + }, { beforeAll: all(spawnAPI, loadProject, createChecker) }) + .add("TS - getSymbolAtPosition - one location", () => { + tsProgram.getTypeChecker().getSymbolAtLocation( + // @ts-ignore internal API + ts.getTokenAtPosition(tsFile, 8895), + ); + }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }) + .add(`getSymbolAtPosition - ${programIdentifierCount} identifiers`, () => { + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + project.getSymbolAtPosition("program.ts", node.pos); + } + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add(`getSymbolAtPosition - ${programIdentifierCount} identifiers (batched)`, () => { + const positions: number[] = []; + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + positions.push(node.pos); + } + node.forEachChild(visit); + }); + project.getSymbolAtPosition("program.ts", positions); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add(`getSymbolAtLocation - ${programIdentifierCount} identifiers`, () => { + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + project.getSymbolAtLocation(node); + } + node.forEachChild(visit); + }); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add(`getSymbolAtLocation - ${programIdentifierCount} identifiers (batched)`, () => { + const nodes: Node[] = []; + file.forEachChild(function visit(node) { + if (node.kind === SyntaxKind.Identifier) { + nodes.push(node); + } + node.forEachChild(visit); + }); + project.getSymbolAtLocation(nodes); + }, { beforeAll: all(spawnAPI, loadProject, createChecker, getProgramTS) }) + .add(`TS - getSymbolAtLocation - ${programIdentifierCount} identifiers`, () => { + const checker = tsProgram.getTypeChecker(); + tsFile.forEachChild(function visit(node) { + if (node.kind === ts.SyntaxKind.Identifier) { + checker.getSymbolAtLocation(node); + } + node.forEachChild(visit); + }); + }, { beforeAll: all(tsCreateProgram, tsCreateChecker, tsGetProgramTS) }); + + await bench.run(); + console.table(bench.table()); + + function spawnAPI() { + api = new API({ + cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), + tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), + }); + } + + function spawnAPIHosted() { + api = new API({ + cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), + tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), + fs: createNodeFileSystem(), + }); + } + + function loadProject() { + project = api.loadProject("_submodules/TypeScript/src/compiler/tsconfig.json"); + } + + function tsCreateProgram() { + const configFileName = fileURLToPath(new URL("../../../_submodules/TypeScript/src/compiler/tsconfig.json", import.meta.url).toString()); + const configFile = ts.readConfigFile(configFileName, ts.sys.readFile); + const parsedCommandLine = ts.parseJsonConfigFileContent(configFile.config, ts.sys, path.dirname(configFileName)); + const host = ts.createCompilerHost(parsedCommandLine.options); + tsProgram = ts.createProgram({ + rootNames: parsedCommandLine.fileNames, + options: parsedCommandLine.options, + host, + }); + } + + function createChecker() { + // checker is created lazily, for measuring symbol time in a loop + // we need to create it first. + project.getSymbolAtPosition("core.ts", 0); + } + + function tsCreateChecker() { + tsProgram.getTypeChecker(); + } + + function getDebugTS() { + file = project.getSourceFile("debug.ts")!; + } + + function getProgramTS() { + file = project.getSourceFile("program.ts")!; + } + + function tsGetProgramTS() { + tsFile = tsProgram.getSourceFile(fileURLToPath(new URL("../../../_submodules/TypeScript/src/compiler/program.ts", import.meta.url).toString()))!; + } + + function getCheckerTS() { + file = project.getSourceFile("checker.ts")!; + } + + function teardown() { + api?.close(); + api = undefined!; + project = undefined!; + file = undefined!; + tsProgram = undefined!; + tsFile = undefined!; + } + + function all(...fns: (() => void)[]) { + return () => { + for (const fn of fns) { + fn(); + } + }; + } + + function createNodeFileSystem(): FileSystem { + return { + directoryExists: directoryName => { + try { + return fs.statSync(directoryName).isDirectory(); + } + catch { + return false; + } + }, + fileExists: fileName => { + try { + return fs.statSync(fileName).isFile(); + } + catch { + return false; + } + }, + readFile: fileName => { + try { + return fs.readFileSync(fileName, "utf8"); + } + catch { + return undefined; + } + }, + getAccessibleEntries: dirName => { + const entries: FileSystemEntries = { + files: [], + directories: [], + }; + for (const entry of fs.readdirSync(dirName, { withFileTypes: true })) { + if (entry.isFile()) { + entries.files.push(entry.name); + } + else if (entry.isDirectory()) { + entries.directories.push(entry.name); + } + else if (entry.isSymbolicLink()) { + const fullName = path.join(dirName, entry.name); + try { + const stat = fs.statSync(fullName); + if (stat.isFile()) { + entries.files.push(entry.name); + } + else if (stat.isDirectory()) { + entries.directories.push(entry.name); + } + } + catch { + // Ignore errors + } + } + } + return entries; + }, + realpath: fs.realpathSync, + }; + } +} diff --git a/_packages/api/test/api.test.ts b/_packages/api/test/api.test.ts index c195157f02..846b44d604 100644 --- a/_packages/api/test/api.test.ts +++ b/_packages/api/test/api.test.ts @@ -18,6 +18,7 @@ import { test, } from "node:test"; import { fileURLToPath } from "node:url"; +import { runBenchmarks } from "./api.bench.ts"; const defaultFiles = { "/tsconfig.json": "{}", @@ -150,6 +151,10 @@ test("Dispose", () => { }); }); +test("Benchmarks", async () => { + await runBenchmarks(/*singleIteration*/ true); +}); + function spawnAPI(files: Record = defaultFiles) { return new API({ cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), From 5efde45dcab720a756f07902da8991cf3ed5a8c1 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 3 Apr 2025 16:04:22 -0700 Subject: [PATCH 61/63] =?UTF-8?q?Skip=20benchmarks=20when=20submodule=20is?= =?UTF-8?q?n=E2=80=99t=20cloned?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _packages/api/test/api.bench.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/_packages/api/test/api.bench.ts b/_packages/api/test/api.bench.ts index 1c5f9028f9..11da280dee 100644 --- a/_packages/api/test/api.bench.ts +++ b/_packages/api/test/api.bench.ts @@ -11,7 +11,7 @@ import { type SourceFile, SyntaxKind, } from "@typescript/ast"; -import fs from "node:fs"; +import fs, { existsSync } from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; import { Bench } from "tinybench"; @@ -23,6 +23,12 @@ if (isMain) { } export async function runBenchmarks(singleIteration?: boolean) { + const repoRoot = fileURLToPath(new URL("../../../", import.meta.url).toString()); + if (!existsSync(path.join(repoRoot, "_submodules/TypeScript/src/compiler"))) { + console.warn("Warning: TypeScript submodule is not cloned; skipping benchmarks."); + return; + } + const bench = new Bench({ name: "Sync API", teardown, @@ -163,14 +169,14 @@ export async function runBenchmarks(singleIteration?: boolean) { function spawnAPI() { api = new API({ - cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), + cwd: repoRoot, tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), }); } function spawnAPIHosted() { api = new API({ - cwd: fileURLToPath(new URL("../../../", import.meta.url).toString()), + cwd: repoRoot, tsserverPath: fileURLToPath(new URL(`../../../built/local/tsgo${process.platform === "win32" ? ".exe" : ""}`, import.meta.url).toString()), fs: createNodeFileSystem(), }); From c93f782199bc0de03326945333018203582f9cf1 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 10 Apr 2025 16:10:50 -0700 Subject: [PATCH 62/63] Install rust on merge-queue workflow --- .github/workflows/merge-queue.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/merge-queue.yml b/.github/workflows/merge-queue.yml index 22b64b7e4c..0e83867847 100644 --- a/.github/workflows/merge-queue.yml +++ b/.github/workflows/merge-queue.yml @@ -22,6 +22,7 @@ jobs: - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0 with: node-version: 'lts/*' + - uses: dtolnay/rust-toolchain@fcf085fcb4b4b8f63f96906cd713eb52181b5ea4 # stable - uses: ./.github/actions/setup-go with: cache-name: merge-queue-test From ae749fb85b18c638fea4a198ee903871fd829df8 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Thu, 10 Apr 2025 16:32:22 -0700 Subject: [PATCH 63/63] Fix test:all dependencies --- Herebyfile.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Herebyfile.mjs b/Herebyfile.mjs index 21329919d1..1be19e0c07 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -338,7 +338,7 @@ export const testAPI = task({ export const testAll = task({ name: "test:all", - dependencies: [buildAPITests], + dependencies: [tsgo, buildAPITests], run: async () => { // Prevent interleaving by running these directly instead of in parallel. await runTests();